Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Bolsee <benoit.bolsee@online.be>2011-09-07 19:34:04 +0400
committerBenoit Bolsee <benoit.bolsee@online.be>2011-09-07 19:34:04 +0400
commitdbd6658d737b1592a633ddf6397be14e50e434d9 (patch)
tree57081721d70622a3c3141909b258f9bce8a5b1e3
parentb5bd86e5907c3fa98546dabeda9703dfb15862f4 (diff)
parent884fc84793be1c5fdd6643ad267331381f8e1c6b (diff)
svn merge -r 37306:39975 https://svn.blender.org/svnroot/bf-blender/trunk/blender
-rw-r--r--CMakeLists.txt815
-rw-r--r--GNUmakefile96
-rw-r--r--SConstruct70
-rw-r--r--build_files/buildbot/config/user-config-i686.py6
-rw-r--r--build_files/buildbot/config/user-config-player-i686.py19
-rw-r--r--build_files/buildbot/config/user-config-player-x86_64.py19
-rw-r--r--build_files/buildbot/config/user-config-x86_64.py6
-rw-r--r--build_files/buildbot/master.cfg2
-rw-r--r--build_files/buildbot/master_unpack.py3
-rw-r--r--build_files/buildbot/slave_compile.py8
-rw-r--r--build_files/buildbot/slave_pack.py10
-rw-r--r--build_files/cmake/FindPythonLibsUnix.cmake72
-rw-r--r--build_files/cmake/Modules/FindFftw3.cmake70
-rw-r--r--build_files/cmake/Modules/FindJack.cmake70
-rw-r--r--build_files/cmake/Modules/FindJeMalloc.cmake70
-rw-r--r--build_files/cmake/Modules/FindOpenCOLLADA.cmake118
-rw-r--r--build_files/cmake/Modules/FindOpenEXR.cmake92
-rw-r--r--build_files/cmake/Modules/FindOpenJPEG.cmake70
-rw-r--r--build_files/cmake/Modules/FindPythonLibsUnix.cmake121
-rw-r--r--build_files/cmake/Modules/FindSamplerate.cmake70
-rw-r--r--build_files/cmake/Modules/FindSndFile.cmake68
-rw-r--r--build_files/cmake/Modules/FindSpacenav.cmake70
-rw-r--r--build_files/cmake/buildinfo.cmake6
-rwxr-xr-xbuild_files/cmake/cmake_consistency_check.py184
-rw-r--r--build_files/cmake/cmake_consistency_check_config.py48
-rwxr-xr-xbuild_files/cmake/cmake_netbeans_project.py13
-rwxr-xr-xbuild_files/cmake/cmake_qtcreator_project.py12
-rw-r--r--build_files/cmake/config/blender_headless.cmake24
-rw-r--r--build_files/cmake/config/blender_lite.cmake43
-rw-r--r--build_files/cmake/config/bpy_module.cmake34
-rwxr-xr-xbuild_files/cmake/example_scripts/cmake_linux_install.sh2
-rw-r--r--build_files/cmake/macros.cmake207
-rw-r--r--build_files/cmake/packaging.cmake6
-rw-r--r--build_files/package_spec/rpm/blender.spec.in1
-rw-r--r--build_files/scons/config/aix4-config.py5
-rw-r--r--build_files/scons/config/darwin-config.py107
-rw-r--r--build_files/scons/config/linux-config.py (renamed from build_files/scons/config/linux2-config.py)16
-rw-r--r--build_files/scons/config/linuxcross-config.py3
-rw-r--r--build_files/scons/config/win32-mingw-config.py5
-rw-r--r--build_files/scons/config/win32-vc-config.py15
-rw-r--r--build_files/scons/config/win64-vc-config.py15
-rw-r--r--build_files/scons/tools/Blender.py111
-rw-r--r--build_files/scons/tools/btools.py26
-rwxr-xr-xdoc/blender_file_format/BlendFileDnaExporter_25.py477
-rw-r--r--doc/blender_file_format/BlendFileReader.py446
-rw-r--r--doc/blender_file_format/README29
-rw-r--r--doc/blender_file_format/mystery_of_the_blend.css204
-rw-r--r--doc/blender_file_format/mystery_of_the_blend.html835
-rw-r--r--doc/build_systems/cmake.txt156
-rw-r--r--doc/build_systems/scons-dev.txt194
-rw-r--r--doc/build_systems/scons.txt231
-rw-r--r--doc/doxygen/Doxyfile2
-rw-r--r--doc/python_api/blender-org/layout.html201
-rw-r--r--doc/python_api/blender-org/page.html4
-rw-r--r--doc/python_api/blender-org/static/bg.pngbin0 -> 55840 bytes
-rw-r--r--doc/python_api/blender-org/static/default.css_t654
-rw-r--r--doc/python_api/blender-org/static/favicon.icobin0 -> 1150 bytes
-rw-r--r--doc/python_api/blender-org/static/jquery.sidebar.js26
-rw-r--r--doc/python_api/blender-org/static/pygments.css61
-rw-r--r--doc/python_api/blender-org/static/rnd.pngbin0 -> 173 bytes
-rw-r--r--doc/python_api/blender-org/static/rndbl.pngbin0 -> 190 bytes
-rw-r--r--doc/python_api/blender-org/static/rndbr.pngbin0 -> 188 bytes
-rw-r--r--doc/python_api/blender-org/theme.conf30
-rw-r--r--doc/python_api/epy/IDProp.py132
-rw-r--r--doc/python_api/epy/testbgl.py45
-rw-r--r--doc/python_api/examples/aud.py21
-rw-r--r--doc/python_api/examples/bge.constraints.py37
-rw-r--r--doc/python_api/examples/bge.texture.1.py39
-rw-r--r--doc/python_api/examples/bge.texture.py32
-rw-r--r--doc/python_api/examples/blf.py44
-rw-r--r--doc/python_api/examples/bpy.data.py27
-rw-r--r--doc/python_api/examples/bpy.ops.1.py22
-rw-r--r--doc/python_api/examples/bpy.ops.py30
-rw-r--r--doc/python_api/examples/bpy.props.1.py31
-rw-r--r--doc/python_api/examples/bpy.props.2.py27
-rw-r--r--doc/python_api/examples/bpy.props.3.py34
-rw-r--r--doc/python_api/examples/bpy.props.4.py21
-rw-r--r--doc/python_api/examples/bpy.props.py18
-rw-r--r--doc/python_api/examples/bpy.types.BlendDataLibraries.load.py34
-rw-r--r--doc/python_api/examples/bpy.types.ID.user_clear.1.py19
-rw-r--r--doc/python_api/examples/bpy.types.Menu.1.py37
-rw-r--r--doc/python_api/examples/bpy.types.Menu.2.py17
-rw-r--r--doc/python_api/examples/bpy.types.Menu.py38
-rw-r--r--doc/python_api/examples/bpy.types.Operator.1.py52
-rw-r--r--doc/python_api/examples/bpy.types.Operator.2.py51
-rw-r--r--doc/python_api/examples/bpy.types.Operator.3.py31
-rw-r--r--doc/python_api/examples/bpy.types.Operator.4.py46
-rw-r--r--doc/python_api/examples/bpy.types.Operator.5.py57
-rw-r--r--doc/python_api/examples/bpy.types.Operator.py27
-rw-r--r--doc/python_api/examples/bpy.types.Panel.1.py43
-rw-r--r--doc/python_api/examples/bpy.types.Panel.2.py36
-rw-r--r--doc/python_api/examples/bpy.types.Panel.py28
-rw-r--r--doc/python_api/examples/bpy.types.PropertyGroup.py40
-rw-r--r--doc/python_api/examples/bpy.types.RenderEngine.py70
-rw-r--r--doc/python_api/examples/bpy.types.bpy_struct.keyframe_insert.1.py28
-rw-r--r--doc/python_api/examples/bpy.types.bpy_struct.keyframe_insert.py11
-rw-r--r--doc/python_api/examples/mathutils.Euler.py3
-rw-r--r--doc/python_api/examples/mathutils.Matrix.py3
-rw-r--r--doc/python_api/examples/mathutils.Quaternion.py3
-rw-r--r--doc/python_api/examples/mathutils.Vector.py56
-rw-r--r--doc/python_api/examples/mathutils.py18
-rw-r--r--doc/python_api/rst/bge.constraints.rst357
-rw-r--r--doc/python_api/rst/bge.events.rst250
-rw-r--r--doc/python_api/rst/bge.logic.rst949
-rw-r--r--doc/python_api/rst/bge.render.rst254
-rw-r--r--doc/python_api/rst/bge.texture.rst549
-rw-r--r--doc/python_api/rst/bge.types.rst5285
-rw-r--r--doc/python_api/rst/bgl.rst1891
-rw-r--r--doc/python_api/rst/change_log.rst911
-rw-r--r--doc/python_api/rst/info_gotcha.rst405
-rw-r--r--doc/python_api/rst/info_overview.rst373
-rw-r--r--doc/python_api/rst/info_quickstart.rst468
-rw-r--r--doc/python_api/rst/info_tips_and_tricks.rst133
-rw-r--r--doc/python_api/sphinx_changelog_gen.py364
-rw-r--r--doc/python_api/sphinx_doc_gen.py1317
-rwxr-xr-xdoc/python_api/sphinx_doc_gen.sh89
-rw-r--r--extern/binreloc/CMakeLists.txt2
-rw-r--r--extern/bullet2/CMakeLists.txt23
-rw-r--r--extern/bullet2/src/SConscript4
-rw-r--r--extern/glew/CMakeLists.txt6
-rw-r--r--extern/libopenjpeg/CMakeLists.txt4
-rw-r--r--extern/lzo/CMakeLists.txt2
-rw-r--r--intern/CMakeLists.txt10
-rw-r--r--intern/audaspace/CMakeLists.txt94
-rw-r--r--intern/audaspace/FX/AUD_AccumulatorFactory.cpp8
-rw-r--r--intern/audaspace/FX/AUD_AccumulatorFactory.h12
-rw-r--r--intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp89
-rw-r--r--intern/audaspace/FX/AUD_BaseIIRFilterReader.h43
-rw-r--r--intern/audaspace/FX/AUD_ButterworthFactory.cpp16
-rw-r--r--intern/audaspace/FX/AUD_ButterworthFactory.h12
-rw-r--r--intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp2
-rw-r--r--intern/audaspace/FX/AUD_CallbackIIRFilterReader.h2
-rw-r--r--intern/audaspace/FX/AUD_DelayFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_DelayFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_DelayReader.cpp36
-rw-r--r--intern/audaspace/FX/AUD_DelayReader.h16
-rw-r--r--intern/audaspace/FX/AUD_DoubleFactory.cpp18
-rw-r--r--intern/audaspace/FX/AUD_DoubleFactory.h9
-rw-r--r--intern/audaspace/FX/AUD_DoubleReader.cpp58
-rw-r--r--intern/audaspace/FX/AUD_DoubleReader.h19
-rw-r--r--intern/audaspace/FX/AUD_DynamicIIRFilterFactory.cpp42
-rw-r--r--intern/audaspace/FX/AUD_DynamicIIRFilterFactory.h65
-rw-r--r--intern/audaspace/FX/AUD_DynamicIIRFilterReader.cpp45
-rw-r--r--intern/audaspace/FX/AUD_DynamicIIRFilterReader.h56
-rw-r--r--intern/audaspace/FX/AUD_EffectFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_EffectFactory.h8
-rw-r--r--intern/audaspace/FX/AUD_EffectReader.cpp7
-rw-r--r--intern/audaspace/FX/AUD_EffectReader.h7
-rw-r--r--intern/audaspace/FX/AUD_EnvelopeFactory.cpp14
-rw-r--r--intern/audaspace/FX/AUD_EnvelopeFactory.h9
-rw-r--r--intern/audaspace/FX/AUD_FaderFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_FaderFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_FaderReader.cpp46
-rw-r--r--intern/audaspace/FX/AUD_FaderReader.h14
-rw-r--r--intern/audaspace/FX/AUD_HighpassFactory.cpp16
-rw-r--r--intern/audaspace/FX/AUD_HighpassFactory.h10
-rw-r--r--intern/audaspace/FX/AUD_IIRFilterFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_IIRFilterFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_IIRFilterReader.cpp14
-rw-r--r--intern/audaspace/FX/AUD_IIRFilterReader.h7
-rw-r--r--intern/audaspace/FX/AUD_LimiterFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_LimiterFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_LimiterReader.cpp92
-rw-r--r--intern/audaspace/FX/AUD_LimiterReader.h16
-rw-r--r--intern/audaspace/FX/AUD_LoopFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_LoopFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_LoopReader.cpp32
-rw-r--r--intern/audaspace/FX/AUD_LoopReader.h9
-rw-r--r--intern/audaspace/FX/AUD_LowpassFactory.cpp16
-rw-r--r--intern/audaspace/FX/AUD_LowpassFactory.h10
-rw-r--r--intern/audaspace/FX/AUD_PingPongFactory.cpp18
-rw-r--r--intern/audaspace/FX/AUD_PingPongFactory.h6
-rw-r--r--intern/audaspace/FX/AUD_PitchFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_PitchFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_PitchReader.cpp14
-rw-r--r--intern/audaspace/FX/AUD_PitchReader.h18
-rw-r--r--intern/audaspace/FX/AUD_RectifyFactory.cpp6
-rw-r--r--intern/audaspace/FX/AUD_RectifyFactory.h7
-rw-r--r--intern/audaspace/FX/AUD_ReverseFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_ReverseFactory.h6
-rw-r--r--intern/audaspace/FX/AUD_ReverseReader.cpp36
-rw-r--r--intern/audaspace/FX/AUD_ReverseReader.h11
-rw-r--r--intern/audaspace/FX/AUD_SquareFactory.cpp8
-rw-r--r--intern/audaspace/FX/AUD_SquareFactory.h8
-rw-r--r--intern/audaspace/FX/AUD_SumFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_SumFactory.h4
-rw-r--r--intern/audaspace/FX/AUD_SuperposeFactory.cpp17
-rw-r--r--intern/audaspace/FX/AUD_SuperposeFactory.h13
-rw-r--r--intern/audaspace/FX/AUD_SuperposeReader.cpp38
-rw-r--r--intern/audaspace/FX/AUD_SuperposeReader.h13
-rw-r--r--intern/audaspace/FX/AUD_VolumeFactory.cpp4
-rw-r--r--intern/audaspace/FX/AUD_VolumeFactory.h5
-rw-r--r--intern/audaspace/OpenAL/AUD_OpenALDevice.cpp1659
-rw-r--r--intern/audaspace/OpenAL/AUD_OpenALDevice.h176
-rw-r--r--intern/audaspace/Python/AUD_PyAPI.cpp394
-rw-r--r--intern/audaspace/Python/AUD_PyAPI.h19
-rw-r--r--intern/audaspace/SRC/AUD_SRCResampleFactory.cpp13
-rw-r--r--intern/audaspace/SRC/AUD_SRCResampleFactory.h15
-rw-r--r--intern/audaspace/SRC/AUD_SRCResampleReader.cpp74
-rw-r--r--intern/audaspace/SRC/AUD_SRCResampleReader.h27
-rw-r--r--intern/audaspace/ffmpeg/AUD_FFMPEGFactory.cpp11
-rw-r--r--intern/audaspace/ffmpeg/AUD_FFMPEGFactory.h4
-rw-r--r--intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp67
-rw-r--r--intern/audaspace/ffmpeg/AUD_FFMPEGReader.h13
-rw-r--r--intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp305
-rw-r--r--intern/audaspace/ffmpeg/AUD_FFMPEGWriter.h140
-rw-r--r--intern/audaspace/fftw/AUD_BandPassReader.cpp3
-rw-r--r--intern/audaspace/intern/AUD_3DMath.h211
-rw-r--r--intern/audaspace/intern/AUD_AnimateableProperty.cpp159
-rw-r--r--intern/audaspace/intern/AUD_AnimateableProperty.h108
-rw-r--r--intern/audaspace/intern/AUD_Buffer.cpp6
-rw-r--r--intern/audaspace/intern/AUD_Buffer.h10
-rw-r--r--intern/audaspace/intern/AUD_BufferReader.cpp22
-rw-r--r--intern/audaspace/intern/AUD_BufferReader.h2
-rw-r--r--intern/audaspace/intern/AUD_C-API.cpp824
-rw-r--r--intern/audaspace/intern/AUD_C-API.h365
-rw-r--r--intern/audaspace/intern/AUD_ChannelMapperFactory.cpp73
-rw-r--r--intern/audaspace/intern/AUD_ChannelMapperFactory.h24
-rw-r--r--intern/audaspace/intern/AUD_ChannelMapperReader.cpp343
-rw-r--r--intern/audaspace/intern/AUD_ChannelMapperReader.h64
-rw-r--r--intern/audaspace/intern/AUD_ConverterFactory.cpp6
-rw-r--r--intern/audaspace/intern/AUD_ConverterFactory.h11
-rw-r--r--intern/audaspace/intern/AUD_ConverterFunctions.cpp72
-rw-r--r--intern/audaspace/intern/AUD_ConverterReader.cpp32
-rw-r--r--intern/audaspace/intern/AUD_ConverterReader.h7
-rw-r--r--intern/audaspace/intern/AUD_DefaultMixer.cpp77
-rw-r--r--intern/audaspace/intern/AUD_FileFactory.cpp17
-rw-r--r--intern/audaspace/intern/AUD_FileFactory.h4
-rw-r--r--intern/audaspace/intern/AUD_FileWriter.cpp97
-rw-r--r--intern/audaspace/intern/AUD_FileWriter.h75
-rw-r--r--intern/audaspace/intern/AUD_I3DDevice.h196
-rw-r--r--intern/audaspace/intern/AUD_I3DHandle.h218
-rw-r--r--intern/audaspace/intern/AUD_IDevice.h159
-rw-r--r--intern/audaspace/intern/AUD_IFactory.h5
-rw-r--r--intern/audaspace/intern/AUD_IHandle.h181
-rw-r--r--intern/audaspace/intern/AUD_IReader.h21
-rw-r--r--intern/audaspace/intern/AUD_IWriter.h69
-rw-r--r--intern/audaspace/intern/AUD_JOSResampleFactory.cpp44
-rw-r--r--intern/audaspace/intern/AUD_JOSResampleFactory.h58
-rw-r--r--intern/audaspace/intern/AUD_JOSResampleReader.cpp420
-rw-r--r--intern/audaspace/intern/AUD_JOSResampleReader.h137
-rw-r--r--intern/audaspace/intern/AUD_JOSResampleReaderCoeff.cpp32547
-rw-r--r--intern/audaspace/intern/AUD_LinearResampleFactory.cpp13
-rw-r--r--intern/audaspace/intern/AUD_LinearResampleFactory.h15
-rw-r--r--intern/audaspace/intern/AUD_LinearResampleReader.cpp165
-rw-r--r--intern/audaspace/intern/AUD_LinearResampleReader.h38
-rw-r--r--intern/audaspace/intern/AUD_Mixer.cpp46
-rw-r--r--intern/audaspace/intern/AUD_Mixer.h44
-rw-r--r--intern/audaspace/intern/AUD_MixerFactory.cpp6
-rw-r--r--intern/audaspace/intern/AUD_MixerFactory.h8
-rw-r--r--intern/audaspace/intern/AUD_NULLDevice.cpp96
-rw-r--r--intern/audaspace/intern/AUD_NULLDevice.h48
-rw-r--r--intern/audaspace/intern/AUD_ReadDevice.cpp16
-rw-r--r--intern/audaspace/intern/AUD_ReadDevice.h12
-rw-r--r--intern/audaspace/intern/AUD_Reference.h188
-rw-r--r--intern/audaspace/intern/AUD_ReferenceHandler.cpp33
-rw-r--r--intern/audaspace/intern/AUD_ResampleReader.cpp (renamed from intern/audaspace/intern/AUD_DefaultMixer.h)38
-rw-r--r--intern/audaspace/intern/AUD_ResampleReader.h68
-rw-r--r--intern/audaspace/intern/AUD_SequencerEntry.cpp344
-rw-r--r--intern/audaspace/intern/AUD_SequencerEntry.h320
-rw-r--r--intern/audaspace/intern/AUD_SequencerFactory.cpp176
-rw-r--r--intern/audaspace/intern/AUD_SequencerFactory.h181
-rw-r--r--intern/audaspace/intern/AUD_SequencerHandle.cpp166
-rw-r--r--intern/audaspace/intern/AUD_SequencerHandle.h107
-rw-r--r--intern/audaspace/intern/AUD_SequencerReader.cpp278
-rw-r--r--intern/audaspace/intern/AUD_SequencerReader.h45
-rw-r--r--intern/audaspace/intern/AUD_SilenceFactory.cpp2
-rw-r--r--intern/audaspace/intern/AUD_SilenceFactory.h4
-rw-r--r--intern/audaspace/intern/AUD_SilenceReader.cpp12
-rw-r--r--intern/audaspace/intern/AUD_SilenceReader.h15
-rw-r--r--intern/audaspace/intern/AUD_SinusFactory.cpp2
-rw-r--r--intern/audaspace/intern/AUD_SinusFactory.h2
-rw-r--r--intern/audaspace/intern/AUD_SinusReader.cpp11
-rw-r--r--intern/audaspace/intern/AUD_SinusReader.h13
-rw-r--r--intern/audaspace/intern/AUD_SoftwareDevice.cpp1047
-rw-r--r--intern/audaspace/intern/AUD_SoftwareDevice.h260
-rw-r--r--intern/audaspace/intern/AUD_Space.h69
-rw-r--r--intern/audaspace/intern/AUD_StreamBufferFactory.cpp25
-rw-r--r--intern/audaspace/intern/AUD_StreamBufferFactory.h6
-rw-r--r--intern/audaspace/jack/AUD_JackDevice.cpp2
-rw-r--r--intern/audaspace/jack/AUD_JackDevice.h42
-rw-r--r--intern/audaspace/sndfile/AUD_SndFileFactory.cpp11
-rw-r--r--intern/audaspace/sndfile/AUD_SndFileFactory.h4
-rw-r--r--intern/audaspace/sndfile/AUD_SndFileReader.cpp22
-rw-r--r--intern/audaspace/sndfile/AUD_SndFileReader.h7
-rw-r--r--intern/audaspace/sndfile/AUD_SndFileWriter.cpp141
-rw-r--r--intern/audaspace/sndfile/AUD_SndFileWriter.h88
-rw-r--r--intern/boolop/CMakeLists.txt6
-rw-r--r--intern/bsp/CMakeLists.txt4
-rw-r--r--intern/elbeem/extern/elbeem.h8
-rw-r--r--intern/elbeem/intern/simulation_object.cpp3
-rw-r--r--intern/elbeem/intern/solver_class.h3
-rw-r--r--intern/elbeem/intern/solver_init.cpp9
-rw-r--r--intern/elbeem/intern/solver_interface.h3
-rw-r--r--intern/ffmpeg/ffmpeg_compat.h18
-rw-r--r--intern/ghost/CMakeLists.txt118
-rw-r--r--intern/ghost/GHOST_C-api.h15
-rw-r--r--intern/ghost/GHOST_ISystem.h16
-rw-r--r--intern/ghost/GHOST_Types.h62
-rw-r--r--intern/ghost/SConscript43
-rw-r--r--intern/ghost/intern/GHOST_C-api.cpp17
-rw-r--r--intern/ghost/intern/GHOST_Debug.h4
-rw-r--r--intern/ghost/intern/GHOST_DisplayManagerCocoa.mm2
-rw-r--r--intern/ghost/intern/GHOST_DisplayManagerSDL.cpp93
-rw-r--r--intern/ghost/intern/GHOST_DisplayManagerSDL.h73
-rw-r--r--intern/ghost/intern/GHOST_DisplayManagerWin32.cpp5
-rw-r--r--intern/ghost/intern/GHOST_DropTargetWin32.cpp1
-rw-r--r--intern/ghost/intern/GHOST_DropTargetWin32.h1
-rw-r--r--intern/ghost/intern/GHOST_EventManager.cpp2
-rw-r--r--intern/ghost/intern/GHOST_EventNDOF.h56
-rw-r--r--intern/ghost/intern/GHOST_EventPrinter.cpp121
-rw-r--r--intern/ghost/intern/GHOST_EventPrinter.h2
-rw-r--r--intern/ghost/intern/GHOST_ISystem.cpp4
-rw-r--r--intern/ghost/intern/GHOST_ISystemPaths.cpp2
-rw-r--r--intern/ghost/intern/GHOST_NDOFManager.cpp504
-rw-r--r--intern/ghost/intern/GHOST_NDOFManager.h145
-rw-r--r--intern/ghost/intern/GHOST_NDOFManagerCocoa.h54
-rw-r--r--intern/ghost/intern/GHOST_NDOFManagerCocoa.mm189
-rw-r--r--intern/ghost/intern/GHOST_NDOFManagerWin32.cpp45
-rw-r--r--intern/ghost/intern/GHOST_NDOFManagerWin32.h44
-rw-r--r--intern/ghost/intern/GHOST_NDOFManagerX11.cpp105
-rw-r--r--intern/ghost/intern/GHOST_NDOFManagerX11.h50
-rw-r--r--intern/ghost/intern/GHOST_Path-api.cpp2
-rw-r--r--intern/ghost/intern/GHOST_System.cpp43
-rw-r--r--intern/ghost/intern/GHOST_System.h29
-rw-r--r--intern/ghost/intern/GHOST_SystemCarbon.cpp6
-rw-r--r--intern/ghost/intern/GHOST_SystemCocoa.h15
-rw-r--r--intern/ghost/intern/GHOST_SystemCocoa.mm93
-rw-r--r--intern/ghost/intern/GHOST_SystemPathsWin32.cpp7
-rw-r--r--intern/ghost/intern/GHOST_SystemPathsWin32.h2
-rw-r--r--intern/ghost/intern/GHOST_SystemPathsX11.cpp19
-rw-r--r--intern/ghost/intern/GHOST_SystemSDL.cpp617
-rw-r--r--intern/ghost/intern/GHOST_SystemSDL.h126
-rw-r--r--intern/ghost/intern/GHOST_SystemWin32.cpp443
-rw-r--r--intern/ghost/intern/GHOST_SystemWin32.h135
-rw-r--r--intern/ghost/intern/GHOST_SystemX11.cpp217
-rw-r--r--intern/ghost/intern/GHOST_SystemX11.h11
-rw-r--r--intern/ghost/intern/GHOST_TaskbarWin32.h10
-rw-r--r--intern/ghost/intern/GHOST_Window.cpp3
-rw-r--r--intern/ghost/intern/GHOST_Window.h6
-rw-r--r--intern/ghost/intern/GHOST_WindowCarbon.cpp2
-rw-r--r--intern/ghost/intern/GHOST_WindowCocoa.h25
-rw-r--r--intern/ghost/intern/GHOST_WindowCocoa.mm51
-rw-r--r--intern/ghost/intern/GHOST_WindowNULL.h2
-rw-r--r--intern/ghost/intern/GHOST_WindowSDL.cpp628
-rw-r--r--intern/ghost/intern/GHOST_WindowSDL.h167
-rw-r--r--intern/ghost/intern/GHOST_WindowWin32.cpp9
-rw-r--r--intern/ghost/intern/GHOST_WindowWin32.h14
-rw-r--r--intern/ghost/intern/GHOST_WindowX11.cpp2
-rw-r--r--intern/ghost/test/CMakeLists.txt155
-rw-r--r--intern/ghost/test/gears/GHOST_C-Test.c2
-rw-r--r--intern/ghost/test/gears/GHOST_Test.cpp4
-rw-r--r--intern/ghost/test/multitest/MultiTest.c49
-rw-r--r--intern/guardedalloc/MEM_sys_types.h7
-rw-r--r--intern/guardedalloc/intern/mallocn.c2
-rw-r--r--intern/iksolver/intern/IK_QJacobian.cpp7
-rw-r--r--intern/iksolver/intern/IK_QJacobian.h3
-rw-r--r--intern/iksolver/intern/IK_QSegment.cpp5
-rw-r--r--intern/iksolver/intern/IK_QTask.cpp12
-rw-r--r--intern/itasc/ConstraintSet.cpp1
-rw-r--r--intern/itasc/kdl/frames_io.cpp6
-rw-r--r--intern/mikktspace/mikktspace.c4
-rw-r--r--intern/opennl/CMakeLists.txt7
-rw-r--r--intern/opennl/superlu/superlu_sys_types.h2
-rw-r--r--intern/smoke/CMakeLists.txt8
-rw-r--r--intern/smoke/SConscript2
-rw-r--r--intern/smoke/intern/FFT_NOISE.h2
-rw-r--r--intern/smoke/intern/WAVELET_NOISE.h19
-rw-r--r--intern/smoke/intern/WTURBULENCE.cpp2
-rw-r--r--release/datafiles/blenderbuttonsbin210335 -> 215334 bytes
-rw-r--r--release/datafiles/splash.pngbin268962 -> 204738 bytes
-rw-r--r--release/scripts/modules/addon_utils.py89
-rw-r--r--release/scripts/modules/bpy/__init__.py41
-rw-r--r--release/scripts/modules/bpy/ops.py20
-rw-r--r--release/scripts/modules/bpy/path.py97
-rw-r--r--release/scripts/modules/bpy/utils.py90
-rw-r--r--release/scripts/modules/bpy_extras/__init__.py4
-rw-r--r--release/scripts/modules/bpy_extras/image_utils.py28
-rw-r--r--release/scripts/modules/bpy_extras/io_utils.py258
-rw-r--r--release/scripts/modules/bpy_extras/mesh_utils.py131
-rw-r--r--release/scripts/modules/bpy_extras/object_utils.py53
-rw-r--r--release/scripts/modules/bpy_extras/view3d_utils.py52
-rw-r--r--release/scripts/modules/bpy_types.py34
-rw-r--r--release/scripts/modules/bpyml.py2
-rw-r--r--release/scripts/modules/bpyml_ui.py7
-rw-r--r--release/scripts/modules/console/complete_namespace.py7
-rw-r--r--release/scripts/modules/console/intellisense.py23
-rw-r--r--release/scripts/modules/console_python.py4
-rw-r--r--release/scripts/modules/keyingsets_utils.py9
-rw-r--r--release/scripts/modules/rna_info.py8
-rw-r--r--release/scripts/modules/rna_prop_ui.py18
-rw-r--r--release/scripts/presets/ffmpeg/DV.py1
-rw-r--r--release/scripts/presets/ffmpeg/DVD.py1
-rw-r--r--release/scripts/presets/ffmpeg/SVCD.py1
-rw-r--r--release/scripts/presets/ffmpeg/VCD.py1
-rw-r--r--release/scripts/presets/ffmpeg/xvid.py3
-rw-r--r--release/scripts/startup/bl_operators/add_mesh_torus.py86
-rw-r--r--release/scripts/startup/bl_operators/animsys_update.py3
-rw-r--r--release/scripts/startup/bl_operators/image.py52
-rw-r--r--release/scripts/startup/bl_operators/mesh.py45
-rw-r--r--release/scripts/startup/bl_operators/nla.py191
-rw-r--r--release/scripts/startup/bl_operators/object.py305
-rw-r--r--release/scripts/startup/bl_operators/object_align.py272
-rw-r--r--release/scripts/startup/bl_operators/object_quick_effects.py365
-rw-r--r--release/scripts/startup/bl_operators/object_randomize_transform.py105
-rw-r--r--release/scripts/startup/bl_operators/presets.py78
-rw-r--r--release/scripts/startup/bl_operators/screen_play_rendered_anim.py99
-rw-r--r--release/scripts/startup/bl_operators/sequencer.py15
-rw-r--r--release/scripts/startup/bl_operators/uvcalc_follow_active.py4
-rw-r--r--release/scripts/startup/bl_operators/uvcalc_lightmap.py81
-rw-r--r--release/scripts/startup/bl_operators/uvcalc_smart_project.py117
-rw-r--r--release/scripts/startup/bl_operators/vertexpaint_dirt.py37
-rw-r--r--release/scripts/startup/bl_operators/wm.py570
-rw-r--r--release/scripts/startup/bl_ui/__init__.py6
-rw-r--r--release/scripts/startup/bl_ui/properties_animviz.py1
-rw-r--r--release/scripts/startup/bl_ui/properties_data_armature.py62
-rw-r--r--release/scripts/startup/bl_ui/properties_data_bone.py17
-rw-r--r--release/scripts/startup/bl_ui/properties_data_camera.py11
-rw-r--r--release/scripts/startup/bl_ui/properties_data_curve.py44
-rw-r--r--release/scripts/startup/bl_ui/properties_data_empty.py7
-rw-r--r--release/scripts/startup/bl_ui/properties_data_lamp.py23
-rw-r--r--release/scripts/startup/bl_ui/properties_data_lattice.py7
-rw-r--r--release/scripts/startup/bl_ui/properties_data_mesh.py29
-rw-r--r--release/scripts/startup/bl_ui/properties_data_metaball.py28
-rw-r--r--release/scripts/startup/bl_ui/properties_data_modifier.py14
-rw-r--r--release/scripts/startup/bl_ui/properties_data_speaker.py125
-rw-r--r--release/scripts/startup/bl_ui/properties_game.py45
-rw-r--r--release/scripts/startup/bl_ui/properties_material.py71
-rw-r--r--release/scripts/startup/bl_ui/properties_object.py26
-rw-r--r--release/scripts/startup/bl_ui/properties_object_constraint.py18
-rw-r--r--release/scripts/startup/bl_ui/properties_particle.py52
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_cloth.py15
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_common.py3
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_field.py5
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_fluid.py10
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_smoke.py11
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_softbody.py15
-rw-r--r--release/scripts/startup/bl_ui/properties_render.py51
-rw-r--r--release/scripts/startup/bl_ui/properties_scene.py45
-rw-r--r--release/scripts/startup/bl_ui/properties_texture.py75
-rw-r--r--release/scripts/startup/bl_ui/properties_world.py27
-rw-r--r--release/scripts/startup/bl_ui/space_console.py34
-rw-r--r--release/scripts/startup/bl_ui/space_dopesheet.py121
-rw-r--r--release/scripts/startup/bl_ui/space_filebrowser.py3
-rw-r--r--release/scripts/startup/bl_ui/space_graph.py38
-rw-r--r--release/scripts/startup/bl_ui/space_image.py122
-rw-r--r--release/scripts/startup/bl_ui/space_info.py48
-rw-r--r--release/scripts/startup/bl_ui/space_logic.py21
-rw-r--r--release/scripts/startup/bl_ui/space_nla.py39
-rw-r--r--release/scripts/startup/bl_ui/space_node.py42
-rw-r--r--release/scripts/startup/bl_ui/space_outliner.py38
-rw-r--r--release/scripts/startup/bl_ui/space_sequencer.py132
-rw-r--r--release/scripts/startup/bl_ui/space_text.py93
-rw-r--r--release/scripts/startup/bl_ui/space_time.py20
-rw-r--r--release/scripts/startup/bl_ui/space_userpref.py254
-rw-r--r--release/scripts/startup/bl_ui/space_userpref_keymap.py189
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py300
-rw-r--r--release/scripts/startup/bl_ui/space_view3d_toolbar.py97
-rw-r--r--release/scripts/startup/keyingsets_builtins.py35
-rw-r--r--release/scripts/templates/addon_add_object.py12
-rw-r--r--release/scripts/templates/batch_export.py33
-rw-r--r--release/scripts/templates/operator_export.py28
-rw-r--r--release/scripts/templates/operator_mesh_add.py41
-rw-r--r--release/scripts/templates/operator_modal.py4
-rw-r--r--release/scripts/templates/operator_modal_draw.py2
-rw-r--r--release/scripts/templates/operator_modal_timer.py2
-rw-r--r--release/scripts/templates/operator_modal_view3d.py7
-rw-r--r--release/scripts/templates/operator_simple.py2
-rw-r--r--release/scripts/templates/ui_menu.py49
-rw-r--r--release/scripts/templates/ui_menu_simple.py26
-rw-r--r--release/scripts/templates/ui_panel_simple.py (renamed from release/scripts/templates/panel_simple.py)7
-rw-r--r--release/text/GPL-license.txt2
-rw-r--r--release/text/readme.html12
-rw-r--r--source/blender/CMakeLists.txt1
-rw-r--r--source/blender/avi/AVI_avi.h9
-rw-r--r--source/blender/avi/CMakeLists.txt1
-rw-r--r--source/blender/avi/SConscript2
-rw-r--r--source/blender/avi/intern/avi.c24
-rw-r--r--source/blender/avi/intern/options.c2
-rw-r--r--source/blender/blenfont/CMakeLists.txt8
-rw-r--r--source/blender/blenfont/intern/blf.c30
-rw-r--r--source/blender/blenfont/intern/blf_font.c9
-rw-r--r--source/blender/blenkernel/BKE_DerivedMesh.h7
-rw-r--r--source/blender/blenkernel/BKE_action.h4
-rw-r--r--source/blender/blenkernel/BKE_anim.h2
-rw-r--r--source/blender/blenkernel/BKE_animsys.h10
-rw-r--r--source/blender/blenkernel/BKE_armature.h2
-rw-r--r--source/blender/blenkernel/BKE_blender.h8
-rw-r--r--source/blender/blenkernel/BKE_constraint.h3
-rw-r--r--source/blender/blenkernel/BKE_curve.h1
-rw-r--r--source/blender/blenkernel/BKE_depsgraph.h19
-rw-r--r--source/blender/blenkernel/BKE_displist.h5
-rw-r--r--source/blender/blenkernel/BKE_effect.h1
-rw-r--r--source/blender/blenkernel/BKE_fcurve.h2
-rw-r--r--source/blender/blenkernel/BKE_global.h7
-rw-r--r--source/blender/blenkernel/BKE_image.h2
-rw-r--r--source/blender/blenkernel/BKE_library.h3
-rw-r--r--source/blender/blenkernel/BKE_main.h1
-rw-r--r--source/blender/blenkernel/BKE_material.h2
-rw-r--r--source/blender/blenkernel/BKE_modifier.h15
-rw-r--r--source/blender/blenkernel/BKE_nla.h5
-rw-r--r--source/blender/blenkernel/BKE_node.h352
-rw-r--r--source/blender/blenkernel/BKE_particle.h5
-rw-r--r--source/blender/blenkernel/BKE_sequencer.h13
-rw-r--r--source/blender/blenkernel/BKE_sound.h51
-rw-r--r--source/blender/blenkernel/BKE_speaker.h (renamed from source/blender/blenlib/intern/BLI_callbacks.h)25
-rw-r--r--source/blender/blenkernel/CMakeLists.txt69
-rw-r--r--source/blender/blenkernel/SConscript3
-rw-r--r--source/blender/blenkernel/depsgraph_private.h3
-rw-r--r--source/blender/blenkernel/intern/BME_tools.c2
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c13
-rw-r--r--source/blender/blenkernel/intern/action.c99
-rw-r--r--source/blender/blenkernel/intern/anim.c43
-rw-r--r--source/blender/blenkernel/intern/anim_sys.c112
-rw-r--r--source/blender/blenkernel/intern/armature.c10
-rw-r--r--source/blender/blenkernel/intern/blender.c53
-rw-r--r--source/blender/blenkernel/intern/boids.c6
-rw-r--r--source/blender/blenkernel/intern/brush.c2
-rw-r--r--source/blender/blenkernel/intern/bvhutils.c4
-rw-r--r--source/blender/blenkernel/intern/cdderivedmesh.c153
-rw-r--r--source/blender/blenkernel/intern/cloth.c2
-rw-r--r--source/blender/blenkernel/intern/collision.c6
-rw-r--r--source/blender/blenkernel/intern/constraint.c93
-rw-r--r--source/blender/blenkernel/intern/curve.c131
-rw-r--r--source/blender/blenkernel/intern/customdata.c30
-rw-r--r--source/blender/blenkernel/intern/depsgraph.c45
-rw-r--r--source/blender/blenkernel/intern/displist.c501
-rw-r--r--source/blender/blenkernel/intern/effect.c23
-rw-r--r--source/blender/blenkernel/intern/fcurve.c142
-rw-r--r--source/blender/blenkernel/intern/fmodifier.c94
-rw-r--r--source/blender/blenkernel/intern/gpencil.c2
-rw-r--r--source/blender/blenkernel/intern/idcode.c3
-rw-r--r--source/blender/blenkernel/intern/image.c23
-rw-r--r--source/blender/blenkernel/intern/ipo.c26
-rw-r--r--source/blender/blenkernel/intern/key.c33
-rw-r--r--source/blender/blenkernel/intern/library.c51
-rw-r--r--source/blender/blenkernel/intern/material.c102
-rw-r--r--source/blender/blenkernel/intern/mesh.c4
-rw-r--r--source/blender/blenkernel/intern/mesh_validate.c52
-rw-r--r--source/blender/blenkernel/intern/modifier.c12
-rw-r--r--source/blender/blenkernel/intern/multires.c21
-rw-r--r--source/blender/blenkernel/intern/nla.c88
-rw-r--r--source/blender/blenkernel/intern/node.c3317
-rw-r--r--source/blender/blenkernel/intern/object.c17
-rw-r--r--source/blender/blenkernel/intern/paint.c14
-rw-r--r--source/blender/blenkernel/intern/particle.c86
-rw-r--r--source/blender/blenkernel/intern/particle_system.c146
-rw-r--r--source/blender/blenkernel/intern/pointcache.c38
-rw-r--r--source/blender/blenkernel/intern/report.c6
-rw-r--r--source/blender/blenkernel/intern/sca.c1
-rw-r--r--source/blender/blenkernel/intern/scene.c26
-rw-r--r--source/blender/blenkernel/intern/seqeffects.c15
-rw-r--r--source/blender/blenkernel/intern/sequencer.c418
-rw-r--r--source/blender/blenkernel/intern/smoke.c17
-rw-r--r--source/blender/blenkernel/intern/softbody.c82
-rw-r--r--source/blender/blenkernel/intern/sound.c514
-rw-r--r--source/blender/blenkernel/intern/speaker.c139
-rw-r--r--source/blender/blenkernel/intern/subsurf_ccg.c16
-rw-r--r--source/blender/blenkernel/intern/text.c10
-rw-r--r--source/blender/blenkernel/intern/texture.c40
-rw-r--r--source/blender/blenkernel/intern/unit.c13
-rw-r--r--source/blender/blenkernel/intern/writeavi.c7
-rw-r--r--source/blender/blenkernel/intern/writeffmpeg.c55
-rw-r--r--source/blender/blenkernel/intern/writeframeserver.c2
-rw-r--r--source/blender/blenlib/BLI_callbacks.h73
-rw-r--r--source/blender/blenlib/BLI_ghash.h141
-rw-r--r--source/blender/blenlib/BLI_math_base.h4
-rw-r--r--source/blender/blenlib/BLI_math_color.h1
-rw-r--r--source/blender/blenlib/BLI_math_geom.h5
-rw-r--r--source/blender/blenlib/BLI_math_inline.h2
-rw-r--r--source/blender/blenlib/BLI_math_matrix.h3
-rw-r--r--source/blender/blenlib/BLI_math_rotation.h3
-rw-r--r--source/blender/blenlib/BLI_math_vector.h5
-rw-r--r--source/blender/blenlib/BLI_string.h2
-rw-r--r--source/blender/blenlib/BLI_utildefines.h10
-rw-r--r--source/blender/blenlib/BLI_winstuff.h9
-rw-r--r--source/blender/blenlib/CMakeLists.txt9
-rw-r--r--source/blender/blenlib/intern/BLI_args.c6
-rw-r--r--source/blender/blenlib/intern/BLI_ghash.c94
-rw-r--r--source/blender/blenlib/intern/BLI_kdopbvh.c8
-rw-r--r--source/blender/blenlib/intern/BLI_kdtree.c4
-rw-r--r--source/blender/blenlib/intern/callbacks.c70
-rw-r--r--source/blender/blenlib/intern/fileops.c6
-rw-r--r--source/blender/blenlib/intern/graph.c2
-rw-r--r--source/blender/blenlib/intern/jitter.c74
-rw-r--r--source/blender/blenlib/intern/math_base_inline.c2
-rw-r--r--source/blender/blenlib/intern/math_color.c5
-rw-r--r--source/blender/blenlib/intern/math_geom.c145
-rw-r--r--source/blender/blenlib/intern/math_matrix.c20
-rw-r--r--source/blender/blenlib/intern/math_rotation.c28
-rw-r--r--source/blender/blenlib/intern/math_vector.c8
-rw-r--r--source/blender/blenlib/intern/math_vector_inline.c56
-rw-r--r--source/blender/blenlib/intern/noise.c150
-rw-r--r--source/blender/blenlib/intern/path_util.c37
-rw-r--r--source/blender/blenlib/intern/pbvh.c88
-rw-r--r--source/blender/blenlib/intern/rct.c8
-rw-r--r--source/blender/blenlib/intern/scanfill.c16
-rw-r--r--source/blender/blenlib/intern/storage.c4
-rw-r--r--source/blender/blenlib/intern/string.c45
-rw-r--r--source/blender/blenlib/intern/uvproject.c12
-rw-r--r--source/blender/blenloader/BLO_readfile.h16
-rw-r--r--source/blender/blenloader/BLO_sys_types.h11
-rw-r--r--source/blender/blenloader/CMakeLists.txt5
-rw-r--r--source/blender/blenloader/SConscript2
-rw-r--r--source/blender/blenloader/intern/readblenentry.c2
-rw-r--r--source/blender/blenloader/intern/readfile.c738
-rw-r--r--source/blender/blenloader/intern/writefile.c95
-rw-r--r--source/blender/blenpluginapi/CMakeLists.txt6
-rw-r--r--source/blender/blenpluginapi/SConscript2
-rw-r--r--source/blender/blenpluginapi/iff.h5
-rw-r--r--source/blender/collada/AnimationExporter.cpp1300
-rw-r--r--source/blender/collada/AnimationExporter.h163
-rw-r--r--source/blender/collada/AnimationImporter.cpp930
-rw-r--r--source/blender/collada/AnimationImporter.h84
-rw-r--r--source/blender/collada/ArmatureExporter.cpp32
-rw-r--r--source/blender/collada/ArmatureExporter.h4
-rw-r--r--source/blender/collada/ArmatureImporter.cpp253
-rw-r--r--source/blender/collada/ArmatureImporter.h22
-rw-r--r--source/blender/collada/CMakeLists.txt32
-rw-r--r--source/blender/collada/CameraExporter.cpp25
-rw-r--r--source/blender/collada/CameraExporter.h2
-rw-r--r--source/blender/collada/DocumentExporter.cpp673
-rw-r--r--source/blender/collada/DocumentExporter.h2
-rw-r--r--source/blender/collada/DocumentImporter.cpp104
-rw-r--r--source/blender/collada/DocumentImporter.h9
-rw-r--r--source/blender/collada/EffectExporter.cpp36
-rw-r--r--source/blender/collada/EffectExporter.h2
-rw-r--r--source/blender/collada/ErrorHandler.cpp90
-rw-r--r--source/blender/collada/ErrorHandler.h58
-rw-r--r--source/blender/collada/ExtraHandler.cpp6
-rw-r--r--source/blender/collada/ExtraHandler.h5
-rw-r--r--source/blender/collada/ExtraTags.cpp12
-rw-r--r--source/blender/collada/GeometryExporter.cpp4
-rw-r--r--source/blender/collada/GeometryExporter.h8
-rw-r--r--source/blender/collada/ImageExporter.cpp4
-rw-r--r--source/blender/collada/ImageExporter.h2
-rw-r--r--source/blender/collada/LightExporter.cpp56
-rw-r--r--source/blender/collada/LightExporter.h2
-rw-r--r--source/blender/collada/MaterialExporter.cpp34
-rw-r--r--source/blender/collada/MaterialExporter.h9
-rw-r--r--source/blender/collada/MeshImporter.cpp85
-rw-r--r--source/blender/collada/MeshImporter.h2
-rw-r--r--source/blender/collada/SConscript2
-rw-r--r--source/blender/collada/SkinInfo.cpp16
-rw-r--r--source/blender/collada/TransformReader.cpp36
-rw-r--r--source/blender/collada/TransformWriter.cpp18
-rw-r--r--source/blender/collada/collada.cpp8
-rw-r--r--source/blender/collada/collada.h2
-rw-r--r--source/blender/collada/collada_internal.cpp2
-rw-r--r--source/blender/editors/CMakeLists.txt73
-rw-r--r--source/blender/editors/animation/CMakeLists.txt2
-rw-r--r--source/blender/editors/animation/anim_channels_defines.c612
-rw-r--r--source/blender/editors/animation/anim_channels_edit.c349
-rw-r--r--source/blender/editors/animation/anim_deps.c4
-rw-r--r--source/blender/editors/animation/anim_draw.c20
-rw-r--r--source/blender/editors/animation/anim_filter.c1998
-rw-r--r--source/blender/editors/animation/anim_intern.h2
-rw-r--r--source/blender/editors/animation/anim_ipo_utils.c12
-rw-r--r--source/blender/editors/animation/anim_markers.c25
-rw-r--r--source/blender/editors/animation/anim_ops.c10
-rw-r--r--source/blender/editors/animation/drivers.c11
-rw-r--r--source/blender/editors/animation/fmodifier_ui.c48
-rw-r--r--source/blender/editors/animation/keyframes_draw.c194
-rw-r--r--source/blender/editors/animation/keyframes_edit.c297
-rw-r--r--source/blender/editors/animation/keyframes_general.c6
-rw-r--r--source/blender/editors/animation/keyframing.c100
-rw-r--r--source/blender/editors/animation/keyingsets.c80
-rw-r--r--source/blender/editors/armature/CMakeLists.txt2
-rw-r--r--source/blender/editors/armature/SConscript2
-rw-r--r--source/blender/editors/armature/armature_intern.h11
-rw-r--r--source/blender/editors/armature/armature_ops.c33
-rw-r--r--source/blender/editors/armature/editarmature.c207
-rw-r--r--source/blender/editors/armature/poseSlide.c47
-rw-r--r--source/blender/editors/armature/poseUtils.c13
-rw-r--r--source/blender/editors/armature/poselib.c63
-rw-r--r--source/blender/editors/armature/poseobject.c687
-rw-r--r--source/blender/editors/curve/CMakeLists.txt2
-rw-r--r--source/blender/editors/curve/editcurve.c21
-rw-r--r--source/blender/editors/curve/editfont.c6
-rw-r--r--source/blender/editors/datafiles/CMakeLists.txt85
-rw-r--r--source/blender/editors/datafiles/blenderbuttons.c13308
-rw-r--r--source/blender/editors/datafiles/preview.blend.c28554
-rw-r--r--source/blender/editors/datafiles/splash.png.c14806
-rw-r--r--source/blender/editors/datafiles/startup.blend.c13311
-rw-r--r--source/blender/editors/gpencil/CMakeLists.txt3
-rw-r--r--source/blender/editors/gpencil/drawgpencil.c4
-rw-r--r--source/blender/editors/gpencil/editaction_gpencil.c89
-rw-r--r--source/blender/editors/gpencil/gpencil_buttons.c2
-rw-r--r--source/blender/editors/gpencil/gpencil_edit.c6
-rw-r--r--source/blender/editors/gpencil/gpencil_intern.h9
-rw-r--r--source/blender/editors/gpencil/gpencil_ops.c5
-rw-r--r--source/blender/editors/gpencil/gpencil_paint.c265
-rw-r--r--source/blender/editors/gpencil/gpencil_undo.c168
-rw-r--r--source/blender/editors/include/BIF_glutil.h2
-rw-r--r--source/blender/editors/include/ED_anim_api.h120
-rw-r--r--source/blender/editors/include/ED_curve.h1
-rw-r--r--source/blender/editors/include/ED_gpencil.h6
-rw-r--r--source/blender/editors/include/ED_keyframes_draw.h2
-rw-r--r--source/blender/editors/include/ED_keyframes_edit.h7
-rw-r--r--source/blender/editors/include/ED_keyframing.h12
-rw-r--r--source/blender/editors/include/ED_markers.h6
-rw-r--r--source/blender/editors/include/ED_node.h12
-rw-r--r--source/blender/editors/include/ED_object.h2
-rw-r--r--source/blender/editors/include/ED_sequencer.h4
-rw-r--r--source/blender/editors/include/ED_transform.h1
-rw-r--r--source/blender/editors/include/ED_view3d.h5
-rw-r--r--source/blender/editors/include/UI_icons.h21
-rw-r--r--source/blender/editors/include/UI_interface.h10
-rw-r--r--source/blender/editors/include/UI_resources.h8
-rw-r--r--source/blender/editors/interface/CMakeLists.txt2
-rw-r--r--source/blender/editors/interface/interface.c611
-rw-r--r--source/blender/editors/interface/interface_anim.c101
-rw-r--r--source/blender/editors/interface/interface_draw.c90
-rw-r--r--source/blender/editors/interface/interface_handlers.c87
-rw-r--r--source/blender/editors/interface/interface_icons.c6
-rw-r--r--source/blender/editors/interface/interface_intern.h10
-rw-r--r--source/blender/editors/interface/interface_layout.c149
-rw-r--r--source/blender/editors/interface/interface_panel.c4
-rw-r--r--source/blender/editors/interface/interface_regions.c69
-rw-r--r--source/blender/editors/interface/interface_style.c12
-rw-r--r--source/blender/editors/interface/interface_templates.c175
-rw-r--r--source/blender/editors/interface/interface_utils.c45
-rw-r--r--source/blender/editors/interface/interface_widgets.c88
-rw-r--r--source/blender/editors/interface/resources.c74
-rw-r--r--source/blender/editors/interface/view2d.c2
-rw-r--r--source/blender/editors/mesh/CMakeLists.txt4
-rw-r--r--source/blender/editors/mesh/SConscript2
-rw-r--r--source/blender/editors/mesh/editmesh.c7
-rw-r--r--source/blender/editors/mesh/editmesh_lib.c9
-rw-r--r--source/blender/editors/mesh/editmesh_loop.c9
-rw-r--r--source/blender/editors/mesh/editmesh_mods.c6
-rw-r--r--source/blender/editors/mesh/editmesh_tools.c4
-rw-r--r--source/blender/editors/mesh/mesh_data.c5
-rw-r--r--source/blender/editors/metaball/CMakeLists.txt2
-rw-r--r--source/blender/editors/object/CMakeLists.txt4
-rw-r--r--source/blender/editors/object/SConscript2
-rw-r--r--source/blender/editors/object/object_add.c109
-rw-r--r--source/blender/editors/object/object_bake.c46
-rw-r--r--source/blender/editors/object/object_constraint.c12
-rw-r--r--source/blender/editors/object/object_edit.c137
-rw-r--r--source/blender/editors/object/object_hook.c30
-rw-r--r--source/blender/editors/object/object_intern.h1
-rw-r--r--source/blender/editors/object/object_modifier.c48
-rw-r--r--source/blender/editors/object/object_ops.c1
-rw-r--r--source/blender/editors/object/object_relations.c43
-rw-r--r--source/blender/editors/object/object_select.c40
-rw-r--r--source/blender/editors/object/object_transform.c15
-rw-r--r--source/blender/editors/physics/CMakeLists.txt2
-rw-r--r--source/blender/editors/physics/SConscript2
-rw-r--r--source/blender/editors/physics/particle_edit.c240
-rw-r--r--source/blender/editors/physics/physics_fluid.c87
-rw-r--r--source/blender/editors/physics/physics_pointcache.c1
-rw-r--r--source/blender/editors/render/CMakeLists.txt12
-rw-r--r--source/blender/editors/render/SConscript2
-rw-r--r--source/blender/editors/render/render_internal.c26
-rw-r--r--source/blender/editors/render/render_opengl.c26
-rw-r--r--source/blender/editors/render/render_preview.c3
-rw-r--r--source/blender/editors/render/render_shading.c81
-rw-r--r--source/blender/editors/render/render_update.c15
-rw-r--r--source/blender/editors/screen/CMakeLists.txt2
-rw-r--r--source/blender/editors/screen/SConscript2
-rw-r--r--source/blender/editors/screen/area.c226
-rw-r--r--source/blender/editors/screen/glutil.c38
-rw-r--r--source/blender/editors/screen/screen_edit.c5
-rw-r--r--source/blender/editors/screen/screen_ops.c60
-rw-r--r--source/blender/editors/sculpt_paint/CMakeLists.txt6
-rw-r--r--source/blender/editors/sculpt_paint/SConscript2
-rw-r--r--source/blender/editors/sculpt_paint/paint_image.c58
-rw-r--r--source/blender/editors/sculpt_paint/paint_stroke.c7
-rw-r--r--source/blender/editors/sculpt_paint/sculpt.c20
-rw-r--r--source/blender/editors/sound/CMakeLists.txt18
-rw-r--r--source/blender/editors/sound/sound_ops.c467
-rw-r--r--source/blender/editors/space_action/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_action/action_draw.c18
-rw-r--r--source/blender/editors/space_action/action_edit.c98
-rw-r--r--source/blender/editors/space_action/action_intern.h2
-rw-r--r--source/blender/editors/space_action/action_ops.c8
-rw-r--r--source/blender/editors/space_action/action_select.c51
-rw-r--r--source/blender/editors/space_action/space_action.c11
-rw-r--r--source/blender/editors/space_api/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_buttons/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_buttons/buttons_context.c18
-rw-r--r--source/blender/editors/space_buttons/buttons_header.c52
-rw-r--r--source/blender/editors/space_buttons/buttons_intern.h1
-rw-r--r--source/blender/editors/space_buttons/buttons_ops.c24
-rw-r--r--source/blender/editors/space_buttons/space_buttons.c2
-rw-r--r--source/blender/editors/space_console/console_draw.c2
-rw-r--r--source/blender/editors/space_console/console_ops.c9
-rw-r--r--source/blender/editors/space_console/space_console.c7
-rw-r--r--source/blender/editors/space_file/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_file/SConscript2
-rw-r--r--source/blender/editors/space_file/file_draw.c24
-rw-r--r--source/blender/editors/space_file/file_ops.c83
-rw-r--r--source/blender/editors/space_file/filelist.c27
-rw-r--r--source/blender/editors/space_file/filesel.c22
-rw-r--r--source/blender/editors/space_file/fsmenu.c2
-rw-r--r--source/blender/editors/space_graph/CMakeLists.txt10
-rw-r--r--source/blender/editors/space_graph/graph_buttons.c100
-rw-r--r--source/blender/editors/space_graph/graph_draw.c39
-rw-r--r--source/blender/editors/space_graph/graph_edit.c127
-rw-r--r--source/blender/editors/space_graph/graph_ops.c10
-rw-r--r--source/blender/editors/space_graph/graph_select.c32
-rw-r--r--source/blender/editors/space_graph/graph_utils.c27
-rw-r--r--source/blender/editors/space_graph/space_graph.c18
-rw-r--r--source/blender/editors/space_image/CMakeLists.txt4
-rw-r--r--source/blender/editors/space_image/image_buttons.c35
-rw-r--r--source/blender/editors/space_image/image_intern.h1
-rw-r--r--source/blender/editors/space_image/image_ops.c309
-rw-r--r--source/blender/editors/space_image/space_image.c4
-rw-r--r--source/blender/editors/space_info/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_info/info_ops.c2
-rw-r--r--source/blender/editors/space_info/info_stats.c5
-rw-r--r--source/blender/editors/space_logic/CMakeLists.txt4
-rw-r--r--source/blender/editors/space_logic/logic_ops.c6
-rw-r--r--source/blender/editors/space_logic/logic_window.c60
-rw-r--r--source/blender/editors/space_nla/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_nla/nla_buttons.c86
-rw-r--r--source/blender/editors/space_nla/nla_channels.c18
-rw-r--r--source/blender/editors/space_nla/nla_draw.c287
-rw-r--r--source/blender/editors/space_nla/nla_edit.c289
-rw-r--r--source/blender/editors/space_nla/nla_intern.h6
-rw-r--r--source/blender/editors/space_nla/nla_ops.c17
-rw-r--r--source/blender/editors/space_nla/nla_select.c19
-rw-r--r--source/blender/editors/space_nla/space_nla.c2
-rw-r--r--source/blender/editors/space_node/CMakeLists.txt4
-rw-r--r--source/blender/editors/space_node/SConscript2
-rw-r--r--source/blender/editors/space_node/drawnode.c803
-rw-r--r--source/blender/editors/space_node/node_buttons.c6
-rw-r--r--source/blender/editors/space_node/node_draw.c692
-rw-r--r--source/blender/editors/space_node/node_edit.c1117
-rw-r--r--source/blender/editors/space_node/node_header.c196
-rw-r--r--source/blender/editors/space_node/node_intern.h22
-rw-r--r--source/blender/editors/space_node/node_ops.c19
-rw-r--r--source/blender/editors/space_node/node_select.c33
-rw-r--r--source/blender/editors/space_node/node_state.c34
-rw-r--r--source/blender/editors/space_node/space_node.c32
-rw-r--r--source/blender/editors/space_outliner/CMakeLists.txt8
-rw-r--r--source/blender/editors/space_outliner/outliner.c5787
-rw-r--r--source/blender/editors/space_outliner/outliner_draw.c1651
-rw-r--r--source/blender/editors/space_outliner/outliner_edit.c1426
-rw-r--r--source/blender/editors/space_outliner/outliner_intern.h94
-rw-r--r--source/blender/editors/space_outliner/outliner_ops.c8
-rw-r--r--source/blender/editors/space_outliner/outliner_select.c873
-rw-r--r--source/blender/editors/space_outliner/outliner_tools.c1227
-rw-r--r--source/blender/editors/space_outliner/outliner_tree.c1577
-rw-r--r--source/blender/editors/space_outliner/space_outliner.c9
-rw-r--r--source/blender/editors/space_script/CMakeLists.txt10
-rw-r--r--source/blender/editors/space_sequencer/CMakeLists.txt10
-rw-r--r--source/blender/editors/space_sequencer/SConscript3
-rw-r--r--source/blender/editors/space_sequencer/sequencer_add.c97
-rw-r--r--source/blender/editors/space_sequencer/sequencer_draw.c110
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c692
-rw-r--r--source/blender/editors/space_sequencer/sequencer_intern.h9
-rw-r--r--source/blender/editors/space_sequencer/sequencer_ops.c10
-rw-r--r--source/blender/editors/space_sequencer/sequencer_select.c4
-rw-r--r--source/blender/editors/space_sequencer/space_sequencer.c140
-rw-r--r--source/blender/editors/space_sound/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_text/CMakeLists.txt10
-rw-r--r--source/blender/editors/space_text/space_text.c7
-rw-r--r--source/blender/editors/space_text/text_draw.c28
-rw-r--r--source/blender/editors/space_text/text_intern.h1
-rw-r--r--source/blender/editors/space_text/text_ops.c24
-rw-r--r--source/blender/editors/space_text/text_python.c5
-rw-r--r--source/blender/editors/space_time/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_time/space_time.c43
-rw-r--r--source/blender/editors/space_time/time_intern.h2
-rw-r--r--source/blender/editors/space_time/time_ops.c2
-rw-r--r--source/blender/editors/space_userpref/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_view3d/CMakeLists.txt8
-rw-r--r--source/blender/editors/space_view3d/drawanimviz.c14
-rw-r--r--source/blender/editors/space_view3d/drawarmature.c149
-rw-r--r--source/blender/editors/space_view3d/drawmesh.c143
-rw-r--r--source/blender/editors/space_view3d/drawobject.c289
-rw-r--r--source/blender/editors/space_view3d/space_view3d.c11
-rw-r--r--source/blender/editors/space_view3d/view3d_buttons.c8
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c149
-rw-r--r--source/blender/editors/space_view3d/view3d_edit.c672
-rw-r--r--source/blender/editors/space_view3d/view3d_fly.c480
-rw-r--r--source/blender/editors/space_view3d/view3d_header.c66
-rw-r--r--source/blender/editors/space_view3d/view3d_intern.h17
-rw-r--r--source/blender/editors/space_view3d/view3d_ops.c34
-rw-r--r--source/blender/editors/space_view3d/view3d_select.c67
-rw-r--r--source/blender/editors/space_view3d/view3d_toolbar.c11
-rw-r--r--source/blender/editors/space_view3d/view3d_view.c31
-rw-r--r--source/blender/editors/transform/CMakeLists.txt3
-rw-r--r--source/blender/editors/transform/transform.c199
-rw-r--r--source/blender/editors/transform/transform.h29
-rw-r--r--source/blender/editors/transform/transform_constraints.c8
-rw-r--r--source/blender/editors/transform/transform_conversions.c122
-rw-r--r--source/blender/editors/transform/transform_generics.c932
-rw-r--r--source/blender/editors/transform/transform_manipulator.c63
-rw-r--r--source/blender/editors/transform/transform_ndofinput.c162
-rw-r--r--source/blender/editors/transform/transform_ops.c20
-rw-r--r--source/blender/editors/transform/transform_snap.c32
-rw-r--r--source/blender/editors/util/CMakeLists.txt2
-rw-r--r--source/blender/editors/util/ed_util.c25
-rw-r--r--source/blender/editors/util/undo.c18
-rw-r--r--source/blender/editors/uvedit/CMakeLists.txt2
-rw-r--r--source/blender/editors/uvedit/uvedit_draw.c2
-rw-r--r--source/blender/editors/uvedit/uvedit_ops.c133
-rw-r--r--source/blender/editors/uvedit/uvedit_unwrap_ops.c101
-rw-r--r--source/blender/gpu/CMakeLists.txt6
-rw-r--r--source/blender/gpu/GPU_buffers.h141
-rw-r--r--source/blender/gpu/GPU_draw.h5
-rw-r--r--source/blender/gpu/GPU_extensions.h1
-rw-r--r--source/blender/gpu/SConscript4
-rw-r--r--source/blender/gpu/intern/gpu_buffers.c2215
-rw-r--r--source/blender/gpu/intern/gpu_codegen.c119
-rw-r--r--source/blender/gpu/intern/gpu_draw.c31
-rw-r--r--source/blender/gpu/intern/gpu_extensions.c2
-rw-r--r--source/blender/gpu/intern/gpu_material.c45
-rw-r--r--source/blender/gpu/intern/gpu_shader_material.glsl16
-rw-r--r--source/blender/gpu/intern/gpu_shader_material.glsl.c1650
-rw-r--r--source/blender/ikplugin/CMakeLists.txt4
-rw-r--r--source/blender/imbuf/CMakeLists.txt35
-rw-r--r--source/blender/imbuf/IMB_imbuf.h77
-rw-r--r--source/blender/imbuf/intern/IMB_anim.h24
-rw-r--r--source/blender/imbuf/intern/IMB_indexer.h133
-rw-r--r--source/blender/imbuf/intern/allocimbuf.c13
-rw-r--r--source/blender/imbuf/intern/anim_movie.c568
-rw-r--r--source/blender/imbuf/intern/cineon/CMakeLists.txt2
-rw-r--r--source/blender/imbuf/intern/cineon/cineonlib.c5
-rw-r--r--source/blender/imbuf/intern/cineon/logImageCore.h4
-rw-r--r--source/blender/imbuf/intern/dds/CMakeLists.txt3
-rw-r--r--source/blender/imbuf/intern/dds/DirectDrawSurface.cpp16
-rw-r--r--source/blender/imbuf/intern/divers.c20
-rw-r--r--source/blender/imbuf/intern/filter.c225
-rw-r--r--source/blender/imbuf/intern/indexer.c1142
-rw-r--r--source/blender/imbuf/intern/indexer_dv.c392
-rw-r--r--source/blender/imbuf/intern/openexr/CMakeLists.txt7
-rw-r--r--source/blender/imbuf/intern/openexr/openexr_api.cpp39
-rw-r--r--source/blender/imbuf/intern/openexr/openexr_multi.h4
-rw-r--r--source/blender/imbuf/intern/rectop.c27
-rw-r--r--source/blender/imbuf/intern/thumbs.c4
-rw-r--r--source/blender/imbuf/intern/tiff.c2
-rw-r--r--source/blender/imbuf/intern/util.c11
-rw-r--r--source/blender/imbuf/intern/writeimage.c1
-rw-r--r--source/blender/makesdna/DNA_ID.h1
-rw-r--r--source/blender/makesdna/DNA_action_types.h13
-rw-r--r--source/blender/makesdna/DNA_actuator_types.h6
-rw-r--r--source/blender/makesdna/DNA_anim_types.h34
-rw-r--r--source/blender/makesdna/DNA_armature_types.h15
-rw-r--r--source/blender/makesdna/DNA_constraint_types.h7
-rw-r--r--source/blender/makesdna/DNA_curve_types.h2
-rw-r--r--source/blender/makesdna/DNA_gpencil_types.h2
-rw-r--r--source/blender/makesdna/DNA_image_types.h6
-rw-r--r--source/blender/makesdna/DNA_ipo_types.h2
-rw-r--r--source/blender/makesdna/DNA_material_types.h2
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h5
-rw-r--r--source/blender/makesdna/DNA_nla_types.h2
-rw-r--r--source/blender/makesdna/DNA_node_types.h171
-rw-r--r--source/blender/makesdna/DNA_object_fluidsim.h5
-rw-r--r--source/blender/makesdna/DNA_object_force.h2
-rw-r--r--source/blender/makesdna/DNA_object_types.h11
-rw-r--r--source/blender/makesdna/DNA_particle_types.h5
-rw-r--r--source/blender/makesdna/DNA_scene_types.h44
-rw-r--r--source/blender/makesdna/DNA_sdna_types.h5
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h48
-rw-r--r--source/blender/makesdna/DNA_sound_types.h9
-rw-r--r--source/blender/makesdna/DNA_space_types.h30
-rw-r--r--source/blender/makesdna/DNA_speaker_types.h69
-rw-r--r--source/blender/makesdna/DNA_texture_types.h1
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h51
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h14
-rw-r--r--source/blender/makesdna/DNA_windowmanager_types.h42
-rw-r--r--source/blender/makesdna/intern/CMakeLists.txt26
-rw-r--r--source/blender/makesdna/intern/SConscript1
-rw-r--r--source/blender/makesdna/intern/dna_genfile.c42
-rw-r--r--source/blender/makesdna/intern/makesdna.c48
-rw-r--r--source/blender/makesrna/RNA_access.h18
-rw-r--r--source/blender/makesrna/RNA_enum_types.h6
-rw-r--r--source/blender/makesrna/RNA_types.h7
-rw-r--r--source/blender/makesrna/SConscript3
-rw-r--r--source/blender/makesrna/intern/CMakeLists.txt21
-rw-r--r--source/blender/makesrna/intern/SConscript8
-rw-r--r--source/blender/makesrna/intern/makesrna.c79
-rw-r--r--source/blender/makesrna/intern/rna_ID.c13
-rw-r--r--source/blender/makesrna/intern/rna_access.c278
-rw-r--r--source/blender/makesrna/intern/rna_action.c21
-rw-r--r--source/blender/makesrna/intern/rna_actuator.c149
-rw-r--r--source/blender/makesrna/intern/rna_animation.c35
-rw-r--r--source/blender/makesrna/intern/rna_animation_api.c35
-rw-r--r--source/blender/makesrna/intern/rna_animviz.c2
-rw-r--r--source/blender/makesrna/intern/rna_armature.c16
-rw-r--r--source/blender/makesrna/intern/rna_camera.c2
-rw-r--r--source/blender/makesrna/intern/rna_cloth.c2
-rw-r--r--source/blender/makesrna/intern/rna_constraint.c37
-rw-r--r--source/blender/makesrna/intern/rna_controller.c15
-rw-r--r--source/blender/makesrna/intern/rna_curve.c24
-rw-r--r--source/blender/makesrna/intern/rna_define.c2
-rw-r--r--source/blender/makesrna/intern/rna_fcurve.c115
-rw-r--r--source/blender/makesrna/intern/rna_fluidsim.c14
-rw-r--r--source/blender/makesrna/intern/rna_gpencil.c2
-rw-r--r--source/blender/makesrna/intern/rna_group.c2
-rw-r--r--source/blender/makesrna/intern/rna_image.c5
-rw-r--r--source/blender/makesrna/intern/rna_internal.h7
-rw-r--r--source/blender/makesrna/intern/rna_internal_types.h3
-rw-r--r--source/blender/makesrna/intern/rna_main.c7
-rw-r--r--source/blender/makesrna/intern/rna_main_api.c58
-rw-r--r--source/blender/makesrna/intern/rna_material.c7
-rw-r--r--source/blender/makesrna/intern/rna_mesh.c24
-rw-r--r--source/blender/makesrna/intern/rna_modifier.c61
-rw-r--r--source/blender/makesrna/intern/rna_nla.c27
-rw-r--r--source/blender/makesrna/intern/rna_nodetree.c444
-rw-r--r--source/blender/makesrna/intern/rna_nodetree_types.h10
-rw-r--r--source/blender/makesrna/intern/rna_object.c55
-rw-r--r--source/blender/makesrna/intern/rna_object_api.c61
-rw-r--r--source/blender/makesrna/intern/rna_object_force.c25
-rw-r--r--source/blender/makesrna/intern/rna_particle.c30
-rw-r--r--source/blender/makesrna/intern/rna_pose.c56
-rw-r--r--source/blender/makesrna/intern/rna_render.c8
-rw-r--r--source/blender/makesrna/intern/rna_rna.c38
-rw-r--r--source/blender/makesrna/intern/rna_scene.c147
-rw-r--r--source/blender/makesrna/intern/rna_scene_api.c7
-rw-r--r--source/blender/makesrna/intern/rna_screen.c5
-rw-r--r--source/blender/makesrna/intern/rna_sensor.c2
-rw-r--r--source/blender/makesrna/intern/rna_sequencer.c178
-rw-r--r--source/blender/makesrna/intern/rna_smoke.c11
-rw-r--r--source/blender/makesrna/intern/rna_sound.c20
-rw-r--r--source/blender/makesrna/intern/rna_space.c82
-rw-r--r--source/blender/makesrna/intern/rna_speaker.c172
-rw-r--r--source/blender/makesrna/intern/rna_texture.c17
-rw-r--r--source/blender/makesrna/intern/rna_texture_api.c126
-rw-r--r--source/blender/makesrna/intern/rna_userdef.c135
-rw-r--r--source/blender/makesrna/intern/rna_wm.c357
-rw-r--r--source/blender/makesrna/intern/rna_wm_api.c185
-rw-r--r--source/blender/makesrna/intern/rna_world.c2
-rw-r--r--source/blender/modifiers/CMakeLists.txt14
-rw-r--r--source/blender/modifiers/SConscript2
-rw-r--r--source/blender/modifiers/intern/MOD_armature.c1
-rw-r--r--source/blender/modifiers/intern/MOD_array.c1
-rw-r--r--source/blender/modifiers/intern/MOD_bevel.c1
-rw-r--r--source/blender/modifiers/intern/MOD_boolean.c1
-rw-r--r--source/blender/modifiers/intern/MOD_build.c3
-rw-r--r--source/blender/modifiers/intern/MOD_cast.c11
-rw-r--r--source/blender/modifiers/intern/MOD_cloth.c16
-rw-r--r--source/blender/modifiers/intern/MOD_collision.c1
-rw-r--r--source/blender/modifiers/intern/MOD_curve.c1
-rw-r--r--source/blender/modifiers/intern/MOD_decimate.c1
-rw-r--r--source/blender/modifiers/intern/MOD_displace.c28
-rw-r--r--source/blender/modifiers/intern/MOD_edgesplit.c1
-rw-r--r--source/blender/modifiers/intern/MOD_explode.c27
-rw-r--r--source/blender/modifiers/intern/MOD_fluidsim.c1
-rw-r--r--source/blender/modifiers/intern/MOD_fluidsim_util.c10
-rw-r--r--source/blender/modifiers/intern/MOD_hook.c23
-rw-r--r--source/blender/modifiers/intern/MOD_lattice.c1
-rw-r--r--source/blender/modifiers/intern/MOD_mask.c93
-rw-r--r--source/blender/modifiers/intern/MOD_meshdeform.c8
-rw-r--r--source/blender/modifiers/intern/MOD_mirror.c1
-rw-r--r--source/blender/modifiers/intern/MOD_multires.c1
-rw-r--r--source/blender/modifiers/intern/MOD_none.c1
-rw-r--r--source/blender/modifiers/intern/MOD_particleinstance.c1
-rw-r--r--source/blender/modifiers/intern/MOD_particlesystem.c1
-rw-r--r--source/blender/modifiers/intern/MOD_screw.c5
-rw-r--r--source/blender/modifiers/intern/MOD_shapekey.c3
-rw-r--r--source/blender/modifiers/intern/MOD_shrinkwrap.c1
-rw-r--r--source/blender/modifiers/intern/MOD_simpledeform.c17
-rw-r--r--source/blender/modifiers/intern/MOD_smoke.c6
-rw-r--r--source/blender/modifiers/intern/MOD_smooth.c6
-rw-r--r--source/blender/modifiers/intern/MOD_softbody.c1
-rw-r--r--source/blender/modifiers/intern/MOD_solidify.c37
-rw-r--r--source/blender/modifiers/intern/MOD_subsurf.c2
-rw-r--r--source/blender/modifiers/intern/MOD_surface.c1
-rw-r--r--source/blender/modifiers/intern/MOD_util.c16
-rw-r--r--source/blender/modifiers/intern/MOD_util.h10
-rw-r--r--source/blender/modifiers/intern/MOD_uvproject.c3
-rw-r--r--source/blender/modifiers/intern/MOD_warp.c20
-rw-r--r--source/blender/modifiers/intern/MOD_wave.c15
-rw-r--r--source/blender/nodes/CMakeLists.txt238
-rw-r--r--source/blender/nodes/NOD_composite.h (renamed from source/blender/nodes/CMP_node.h)12
-rw-r--r--source/blender/nodes/NOD_shader.h (renamed from source/blender/nodes/SHD_node.h)12
-rw-r--r--source/blender/nodes/NOD_socket.h90
-rw-r--r--source/blender/nodes/NOD_texture.h (renamed from source/blender/nodes/TEX_node.h)12
-rw-r--r--source/blender/nodes/SConscript10
-rw-r--r--source/blender/nodes/composite/node_composite_tree.c828
-rw-r--r--source/blender/nodes/composite/node_composite_util.c (renamed from source/blender/nodes/intern/CMP_util.c)16
-rw-r--r--source/blender/nodes/composite/node_composite_util.h (renamed from source/blender/nodes/intern/CMP_util.h)7
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_alphaOver.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_bilateralblur.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_bilateralblur.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_blur.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_blur.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_brightness.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_brightness.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_channelMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c)21
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_chromaMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorSpill.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorbalance.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_colorbalance.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_common.c373
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_composite.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_composite.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_crop.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_crop.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_curves.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_curves.c)48
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_defocus.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_defocus.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_diffMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_diffMatte.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_dilate.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_dilate.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_directionalblur.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_directionalblur.c)19
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_displace.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_displace.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_distanceMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_distanceMatte.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_filter.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_filter.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_flip.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_flip.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_gamma.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_gamma.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_glare.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_glare.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_hueSatVal.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_huecorrect.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_huecorrect.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_idMask.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_idMask.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_image.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_image.c)33
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_invert.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_invert.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_lensdist.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_lensdist.c)23
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_levels.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_levels.c)35
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_lummaMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mapUV.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_mapUV.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mapValue.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_mapValue.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_math.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_math.c)21
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mixrgb.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_mixrgb.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_normal.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_normal.c)34
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_normalize.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_normalize.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_outputFile.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_outputFile.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_premulkey.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_premulkey.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_rgb.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_rgb.c)27
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_rotate.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_rotate.c)21
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_scale.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_scale.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c)40
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c)40
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c)40
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c)40
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_setalpha.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_setalpha.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_splitViewer.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_splitViewer.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_texture.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_texture.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_tonemap.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_tonemap.c)19
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_translate.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_translate.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_valToRgb.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_valToRgb.c)30
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_value.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_value.c)24
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_vecBlur.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_vecBlur.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_viewer.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_viewer.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_zcombine.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_zcombine.c)24
-rw-r--r--source/blender/nodes/intern/SHD_util.c214
-rw-r--r--source/blender/nodes/intern/node_common.c983
-rw-r--r--source/blender/nodes/intern/node_common.h66
-rw-r--r--source/blender/nodes/intern/node_exec.c309
-rw-r--r--source/blender/nodes/intern/node_exec.h90
-rw-r--r--source/blender/nodes/intern/node_socket.c433
-rw-r--r--source/blender/nodes/intern/node_util.c18
-rw-r--r--source/blender/nodes/intern/node_util.h13
-rw-r--r--source/blender/nodes/shader/node_shader_tree.c226
-rw-r--r--source/blender/nodes/shader/node_shader_util.c287
-rw-r--r--source/blender/nodes/shader/node_shader_util.h (renamed from source/blender/nodes/intern/SHD_util.h)13
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_camera.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_camera.c)16
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_common.c327
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_curves.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_curves.c)36
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_dynamic.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c)8
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_geom.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_geom.c)28
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_hueSatVal.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c)26
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_invert.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_invert.c)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_mapping.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_mapping.c)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_material.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_material.c)113
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_math.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_math.c)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_mixRgb.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c)22
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_normal.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_normal.c)34
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_output.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_output.c)16
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_rgb.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_rgb.c)30
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c)38
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_squeeze.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c)26
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_texture.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_texture.c)20
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_valToRgb.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c)32
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_value.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_value.c)27
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_vectMath.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c)20
-rw-r--r--source/blender/nodes/texture/node_texture_tree.c251
-rw-r--r--source/blender/nodes/texture/node_texture_util.c (renamed from source/blender/nodes/intern/TEX_util.c)53
-rw-r--r--source/blender/nodes/texture/node_texture_util.h (renamed from source/blender/nodes/intern/TEX_util.h)10
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_at.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_at.c)21
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_bricks.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_bricks.c)34
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_checker.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_checker.c)23
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_common.c271
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_compose.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_compose.c)25
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_coord.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_coord.c)15
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_curves.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_curves.c)31
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_decompose.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_decompose.c)25
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_distance.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_distance.c)21
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_hueSatVal.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c)27
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_image.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_image.c)16
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_invert.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_invert.c)19
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_math.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_math.c)21
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_mixRgb.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c)23
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_output.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_output.c)19
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_proc.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_proc.c)88
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_rotate.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_rotate.c)23
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_scale.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_scale.c)19
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_texture.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_texture.c)35
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_translate.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_translate.c)21
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_valToNor.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c)21
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_valToRgb.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c)30
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_viewer.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_viewer.c)17
-rw-r--r--source/blender/python/BPY_extern.h2
-rw-r--r--source/blender/python/CMakeLists.txt1
-rw-r--r--source/blender/python/SConscript11
-rw-r--r--source/blender/python/generic/CMakeLists.txt18
-rw-r--r--source/blender/python/generic/IDProp.c327
-rw-r--r--source/blender/python/generic/IDProp.h5
-rw-r--r--source/blender/python/generic/bgl.c521
-rw-r--r--source/blender/python/generic/noise_py_api.c20
-rw-r--r--source/blender/python/generic/py_capi_utils.c149
-rw-r--r--source/blender/python/generic/py_capi_utils.h4
-rw-r--r--source/blender/python/intern/CMakeLists.txt15
-rw-r--r--source/blender/python/intern/bpy.c6
-rw-r--r--source/blender/python/intern/bpy_app.c6
-rw-r--r--source/blender/python/intern/bpy_app_handlers.c171
-rw-r--r--source/blender/python/intern/bpy_app_handlers.h35
-rw-r--r--source/blender/python/intern/bpy_driver.c22
-rw-r--r--source/blender/python/intern/bpy_interface.c61
-rw-r--r--source/blender/python/intern/bpy_intern_string.c58
-rw-r--r--source/blender/python/intern/bpy_intern_string.h37
-rw-r--r--source/blender/python/intern/bpy_library.c3
-rw-r--r--source/blender/python/intern/bpy_operator.c40
-rw-r--r--source/blender/python/intern/bpy_props.c36
-rw-r--r--source/blender/python/intern/bpy_rna.c728
-rw-r--r--source/blender/python/intern/bpy_rna.h18
-rw-r--r--source/blender/python/intern/bpy_rna_anim.c2
-rw-r--r--source/blender/python/intern/bpy_rna_array.c160
-rw-r--r--source/blender/python/intern/bpy_traceback.c11
-rw-r--r--source/blender/python/intern/bpy_util.c60
-rw-r--r--source/blender/python/intern/bpy_util.h1
-rw-r--r--source/blender/python/mathutils/CMakeLists.txt52
-rw-r--r--source/blender/python/mathutils/mathutils.c (renamed from source/blender/python/generic/mathutils.c)69
-rw-r--r--source/blender/python/mathutils/mathutils.h (renamed from source/blender/python/generic/mathutils.h)4
-rw-r--r--source/blender/python/mathutils/mathutils_Color.c (renamed from source/blender/python/generic/mathutils_Color.c)87
-rw-r--r--source/blender/python/mathutils/mathutils_Color.h (renamed from source/blender/python/generic/mathutils_Color.h)0
-rw-r--r--source/blender/python/mathutils/mathutils_Euler.c (renamed from source/blender/python/generic/mathutils_Euler.c)54
-rw-r--r--source/blender/python/mathutils/mathutils_Euler.h (renamed from source/blender/python/generic/mathutils_Euler.h)0
-rw-r--r--source/blender/python/mathutils/mathutils_Matrix.c (renamed from source/blender/python/generic/mathutils_Matrix.c)316
-rw-r--r--source/blender/python/mathutils/mathutils_Matrix.h (renamed from source/blender/python/generic/mathutils_Matrix.h)0
-rw-r--r--source/blender/python/mathutils/mathutils_Quaternion.c (renamed from source/blender/python/generic/mathutils_Quaternion.c)87
-rw-r--r--source/blender/python/mathutils/mathutils_Quaternion.h (renamed from source/blender/python/generic/mathutils_Quaternion.h)0
-rw-r--r--source/blender/python/mathutils/mathutils_Vector.c (renamed from source/blender/python/generic/mathutils_Vector.c)292
-rw-r--r--source/blender/python/mathutils/mathutils_Vector.h (renamed from source/blender/python/generic/mathutils_Vector.h)0
-rw-r--r--source/blender/python/mathutils/mathutils_geometry.c (renamed from source/blender/python/generic/mathutils_geometry.c)763
-rw-r--r--source/blender/python/mathutils/mathutils_geometry.h (renamed from source/blender/python/generic/mathutils_geometry.h)2
-rw-r--r--source/blender/quicktime/CMakeLists.txt22
-rw-r--r--source/blender/quicktime/apple/qtkit_export.m4
-rw-r--r--source/blender/render/CMakeLists.txt24
-rw-r--r--source/blender/render/SConscript4
-rw-r--r--source/blender/render/extern/include/RE_pipeline.h21
-rw-r--r--source/blender/render/extern/include/RE_shader_ext.h5
-rw-r--r--source/blender/render/intern/include/rayobject.h2
-rw-r--r--source/blender/render/intern/include/render_types.h8
-rw-r--r--source/blender/render/intern/source/convertblender.c177
-rw-r--r--source/blender/render/intern/source/envmap.c25
-rw-r--r--source/blender/render/intern/source/gammaCorrectionTables.c2
-rw-r--r--source/blender/render/intern/source/imagetexture.c37
-rw-r--r--source/blender/render/intern/source/initrender.c52
-rw-r--r--source/blender/render/intern/source/occlusion.c2
-rw-r--r--source/blender/render/intern/source/pipeline.c344
-rw-r--r--source/blender/render/intern/source/pixelblending.c24
-rw-r--r--source/blender/render/intern/source/pixelshading.c97
-rw-r--r--source/blender/render/intern/source/pointdensity.c2
-rw-r--r--source/blender/render/intern/source/rayshade.c122
-rw-r--r--source/blender/render/intern/source/render_texture.c415
-rw-r--r--source/blender/render/intern/source/rendercore.c150
-rw-r--r--source/blender/render/intern/source/renderdatabase.c74
-rw-r--r--source/blender/render/intern/source/shadbuf.c49
-rw-r--r--source/blender/render/intern/source/shadeinput.c22
-rw-r--r--source/blender/render/intern/source/shadeoutput.c32
-rw-r--r--source/blender/render/intern/source/sss.c52
-rw-r--r--source/blender/render/intern/source/strand.c14
-rw-r--r--source/blender/render/intern/source/sunsky.c116
-rw-r--r--source/blender/render/intern/source/volume_precache.c5
-rw-r--r--source/blender/render/intern/source/volumetric.c19
-rw-r--r--source/blender/render/intern/source/voxeldata.c15
-rw-r--r--source/blender/render/intern/source/zbuf.c101
-rw-r--r--source/blender/windowmanager/CMakeLists.txt38
-rw-r--r--source/blender/windowmanager/SConscript4
-rw-r--r--source/blender/windowmanager/WM_api.h51
-rw-r--r--source/blender/windowmanager/WM_keymap.h104
-rw-r--r--source/blender/windowmanager/WM_types.h28
-rw-r--r--source/blender/windowmanager/intern/wm.c68
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c150
-rw-r--r--source/blender/windowmanager/intern/wm_files.c47
-rw-r--r--source/blender/windowmanager/intern/wm_init_exit.c22
-rw-r--r--source/blender/windowmanager/intern/wm_jobs.c14
-rw-r--r--source/blender/windowmanager/intern/wm_keymap.c725
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c304
-rw-r--r--source/blender/windowmanager/intern/wm_subwindow.c3
-rw-r--r--source/blender/windowmanager/intern/wm_window.c25
-rw-r--r--source/blender/windowmanager/wm_event_types.h56
-rw-r--r--source/blenderplayer/CMakeLists.txt11
-rw-r--r--source/blenderplayer/bad_level_call_stubs/CMakeLists.txt21
-rw-r--r--source/blenderplayer/bad_level_call_stubs/stubs.c15
-rw-r--r--source/creator/CMakeLists.txt67
-rw-r--r--source/creator/SConscript47
-rw-r--r--source/creator/buildinfo.c24
-rw-r--r--source/creator/creator.c63
-rw-r--r--source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp27
-rw-r--r--source/gameengine/BlenderRoutines/CMakeLists.txt56
-rw-r--r--source/gameengine/BlenderRoutines/KX_BlenderInputDevice.h334
-rw-r--r--source/gameengine/Converter/BL_ActionActuator.cpp585
-rw-r--r--source/gameengine/Converter/BL_ActionActuator.h71
-rw-r--r--source/gameengine/Converter/BL_ArmatureObject.cpp5
-rw-r--r--source/gameengine/Converter/BL_ArmatureObject.h6
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp41
-rw-r--r--source/gameengine/Converter/BL_DeformableGameObject.cpp9
-rw-r--r--source/gameengine/Converter/BL_DeformableGameObject.h17
-rw-r--r--source/gameengine/Converter/BL_MeshDeformer.h2
-rw-r--r--source/gameengine/Converter/BL_ShapeActionActuator.cpp55
-rw-r--r--source/gameengine/Converter/BL_ShapeActionActuator.h23
-rw-r--r--source/gameengine/Converter/BL_ShapeDeformer.cpp87
-rw-r--r--source/gameengine/Converter/BL_ShapeDeformer.h26
-rw-r--r--source/gameengine/Converter/BL_SkinDeformer.cpp165
-rw-r--r--source/gameengine/Converter/BL_SkinDeformer.h5
-rw-r--r--source/gameengine/Converter/BlenderWorldInfo.cpp6
-rw-r--r--source/gameengine/Converter/CMakeLists.txt64
-rw-r--r--source/gameengine/Converter/KX_BlenderScalarInterpolator.cpp6
-rw-r--r--source/gameengine/Converter/KX_BlenderScalarInterpolator.h2
-rw-r--r--source/gameengine/Converter/KX_BlenderSceneConverter.cpp38
-rw-r--r--source/gameengine/Converter/KX_BlenderSceneConverter.h4
-rw-r--r--source/gameengine/Converter/KX_ConvertActuators.cpp95
-rw-r--r--source/gameengine/Converter/KX_ConvertControllers.cpp6
-rw-r--r--source/gameengine/Converter/KX_ConvertSensors.cpp2
-rw-r--r--source/gameengine/Converter/KX_IpoConvert.cpp341
-rw-r--r--source/gameengine/Converter/KX_IpoConvert.h12
-rw-r--r--source/gameengine/Converter/SConscript1
-rw-r--r--source/gameengine/Expressions/CMakeLists.txt6
-rw-r--r--source/gameengine/Expressions/InputParser.cpp210
-rw-r--r--source/gameengine/Expressions/PyObjectPlus.cpp40
-rw-r--r--source/gameengine/Expressions/PyObjectPlus.h8
-rw-r--r--source/gameengine/GameLogic/CMakeLists.txt24
-rw-r--r--source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp4
-rw-r--r--source/gameengine/GameLogic/SCA_2DFilterActuator.cpp38
-rw-r--r--source/gameengine/GameLogic/SCA_2DFilterActuator.h23
-rw-r--r--source/gameengine/GameLogic/SCA_ISensor.cpp4
-rw-r--r--source/gameengine/GameLogic/SCA_ISensor.h2
-rw-r--r--source/gameengine/GameLogic/SCA_KeyboardSensor.cpp4
-rw-r--r--source/gameengine/GameLogic/SCA_MouseSensor.cpp12
-rw-r--r--source/gameengine/GameLogic/SCA_PythonController.h2
-rw-r--r--source/gameengine/GameLogic/SCA_RandomActuator.cpp6
-rw-r--r--source/gameengine/GameLogic/SCA_RandomNumberGenerator.cpp78
-rw-r--r--source/gameengine/GameLogic/SCA_RandomSensor.cpp30
-rw-r--r--source/gameengine/GameLogic/SCA_XORController.cpp8
-rw-r--r--source/gameengine/GamePlayer/common/CMakeLists.txt46
-rw-r--r--source/gameengine/GamePlayer/common/bmfont.cpp2
-rw-r--r--source/gameengine/GamePlayer/ghost/CMakeLists.txt48
-rw-r--r--source/gameengine/GamePlayer/ghost/GPG_Application.cpp8
-rw-r--r--source/gameengine/GamePlayer/ghost/GPG_ghost.cpp29
-rw-r--r--source/gameengine/GamePlayer/ghost/SConscript2
-rw-r--r--source/gameengine/Ketsji/BL_Action.cpp453
-rw-r--r--source/gameengine/Ketsji/BL_Action.h144
-rw-r--r--source/gameengine/Ketsji/BL_ActionManager.cpp110
-rw-r--r--source/gameengine/Ketsji/BL_ActionManager.h106
-rw-r--r--source/gameengine/Ketsji/BL_BlenderShader.cpp2
-rw-r--r--source/gameengine/Ketsji/BL_Material.h3
-rw-r--r--source/gameengine/Ketsji/BL_Shader.cpp2
-rw-r--r--source/gameengine/Ketsji/BL_Texture.cpp6
-rw-r--r--source/gameengine/Ketsji/CMakeLists.txt76
-rw-r--r--source/gameengine/Ketsji/KXNetwork/CMakeLists.txt12
-rw-r--r--source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.cpp4
-rw-r--r--source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.h4
-rw-r--r--source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp3
-rw-r--r--source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp12
-rw-r--r--source/gameengine/Ketsji/KX_BlenderMaterial.cpp38
-rw-r--r--source/gameengine/Ketsji/KX_BulletPhysicsController.cpp18
-rw-r--r--source/gameengine/Ketsji/KX_Camera.cpp32
-rw-r--r--source/gameengine/Ketsji/KX_CameraActuator.cpp9
-rw-r--r--source/gameengine/Ketsji/KX_CameraActuator.h6
-rw-r--r--source/gameengine/Ketsji/KX_Dome.cpp60
-rw-r--r--source/gameengine/Ketsji/KX_GameObject.cpp235
-rw-r--r--source/gameengine/Ketsji/KX_GameObject.h76
-rw-r--r--source/gameengine/Ketsji/KX_KetsjiEngine.cpp86
-rw-r--r--source/gameengine/Ketsji/KX_KetsjiEngine.h16
-rw-r--r--source/gameengine/Ketsji/KX_Light.cpp14
-rw-r--r--source/gameengine/Ketsji/KX_MeshProxy.cpp14
-rw-r--r--source/gameengine/Ketsji/KX_MouseFocusSensor.cpp8
-rw-r--r--source/gameengine/Ketsji/KX_ObjectActuator.cpp6
-rw-r--r--source/gameengine/Ketsji/KX_OrientationInterpolator.cpp4
-rw-r--r--source/gameengine/Ketsji/KX_PolygonMaterial.cpp2
-rw-r--r--source/gameengine/Ketsji/KX_PyConstraintBinding.cpp285
-rw-r--r--source/gameengine/Ketsji/KX_PyMath.h2
-rw-r--r--source/gameengine/Ketsji/KX_PythonInit.cpp122
-rw-r--r--source/gameengine/Ketsji/KX_RaySensor.cpp20
-rw-r--r--source/gameengine/Ketsji/KX_SCA_EndObjectActuator.cpp8
-rw-r--r--source/gameengine/Ketsji/KX_Scene.cpp24
-rw-r--r--source/gameengine/Ketsji/KX_Scene.h8
-rw-r--r--source/gameengine/Ketsji/KX_SoundActuator.cpp221
-rw-r--r--source/gameengine/Ketsji/KX_SoundActuator.h20
-rw-r--r--source/gameengine/Ketsji/KX_TrackToActuator.cpp18
-rw-r--r--source/gameengine/Ketsji/KX_TrackToActuator.h2
-rw-r--r--source/gameengine/Ketsji/SConscript9
-rw-r--r--source/gameengine/Network/CMakeLists.txt2
-rw-r--r--source/gameengine/Network/LoopBackNetwork/CMakeLists.txt4
-rw-r--r--source/gameengine/Network/LoopBackNetwork/NG_LoopBackNetworkDeviceInterface.h4
-rw-r--r--source/gameengine/Network/NG_NetworkDeviceInterface.h2
-rw-r--r--source/gameengine/Physics/Bullet/CMakeLists.txt20
-rw-r--r--source/gameengine/Physics/Bullet/CcdPhysicsController.cpp1
-rw-r--r--source/gameengine/Physics/Bullet/CcdPhysicsController.h70
-rw-r--r--source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp6
-rw-r--r--source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h4
-rw-r--r--source/gameengine/Rasterizer/CMakeLists.txt12
-rw-r--r--source/gameengine/Rasterizer/RAS_2DFilterManager.cpp7
-rw-r--r--source/gameengine/Rasterizer/RAS_CameraData.h26
-rw-r--r--source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp5
-rw-r--r--source/gameengine/Rasterizer/RAS_IPolygonMaterial.h4
-rw-r--r--source/gameengine/Rasterizer/RAS_IRasterizer.h3
-rw-r--r--source/gameengine/Rasterizer/RAS_MaterialBucket.cpp3
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h18
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h18
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h22
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h20
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h26
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h20
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h26
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt20
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp13
-rw-r--r--source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h5
-rw-r--r--source/gameengine/SceneGraph/SG_BBox.cpp4
-rw-r--r--source/gameengine/SceneGraph/SG_DList.h130
-rw-r--r--source/gameengine/SceneGraph/SG_IObject.cpp12
-rw-r--r--source/gameengine/SceneGraph/SG_IObject.h13
-rw-r--r--source/gameengine/SceneGraph/SG_QList.h100
-rw-r--r--source/gameengine/SceneGraph/SG_Spatial.cpp17
-rw-r--r--source/gameengine/VideoTexture/CMakeLists.txt41
-rw-r--r--source/gameengine/VideoTexture/Exception.cpp32
-rw-r--r--source/gameengine/VideoTexture/Exception.h10
-rw-r--r--source/gameengine/VideoTexture/FilterColor.h2
-rw-r--r--source/gameengine/VideoTexture/ImageBase.cpp28
-rw-r--r--source/gameengine/VideoTexture/ImageMix.cpp2
-rw-r--r--source/gameengine/VideoTexture/ImageRender.cpp594
-rw-r--r--source/gameengine/VideoTexture/ImageViewport.cpp42
-rw-r--r--source/gameengine/VideoTexture/VideoFFmpeg.cpp6
-rw-r--r--source/gameengine/VideoTexture/blendVideoTex.cpp4
-rw-r--r--source/tests/CMakeLists.txt22
-rw-r--r--source/tests/bl_load_py_modules.py11
-rw-r--r--source/tests/bl_run_operators.py2
-rw-r--r--source/tests/check_deprecated.py149
1428 files changed, 152243 insertions, 74697 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4f99136097c..8b5693fb1aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,13 +49,36 @@ endif()
cmake_minimum_required(VERSION 2.8)
+if(NOT EXECUTABLE_OUTPUT_PATH)
+ set(FIRST_RUN "TRUE")
+endif()
+
# this starts out unset
-set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build_files/cmake/Modules/")
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build_files/cmake/Modules")
+
+# avoid having empty buildtype
+set(CMAKE_BUILD_TYPE_INIT "Release")
# quiet output for Makefiles, 'make -s' helps too
# set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
#-----------------------------------------------------------------------------
+# Set policy
+
+# see "cmake --help-policy CMP0003"
+# So library linking is more sane
+cmake_policy(SET CMP0003 NEW)
+
+# So BUILDINFO and BLENDERPATH strings are automatically quoted
+cmake_policy(SET CMP0005 NEW)
+
+# So syntax problems are errors
+cmake_policy(SET CMP0010 NEW)
+
+# Input directories must have CMakeLists.txt
+cmake_policy(SET CMP0014 NEW)
+
+#-----------------------------------------------------------------------------
# Load some macros.
include(build_files/cmake/macros.cmake)
@@ -83,6 +106,9 @@ set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE INTERNAL "" FORCE )
get_blender_version()
# Blender internal features
+option(WITH_BLENDER "Build blender (disable to build only the blender player)" ON)
+mark_as_advanced(WITH_BLENDER)
+
option(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON)
option(WITH_PYTHON "Enable Embedded Python API (only disable for development)" ON)
@@ -99,9 +125,21 @@ option(WITH_BULLET "Enable Bullet (Physics Engine)" ON)
option(WITH_GAMEENGINE "Enable Game Engine" ON)
option(WITH_PLAYER "Build Player" OFF)
+# GHOST Windowing Library Options
+option(WITH_GHOST_DEBUG "Enable debugging output for the GHOST library" OFF)
+mark_as_advanced(WITH_GHOST_DEBUG)
+
+option(WITH_GHOST_SDL "Enable building blender against SDL for windowing rather then the native APIs" OFF)
+mark_as_advanced(WITH_GHOST_SDL)
+
+# Misc...
option(WITH_HEADLESS "Build without graphical support (renderfarm, server mode only)" OFF)
mark_as_advanced(WITH_HEADLESS)
+option(WITH_AUDASPACE "Build with blenders audio library (only disable if you know what you're doing!)" ON)
+mark_as_advanced(WITH_AUDASPACE)
+
+
# (unix defaults to OpenMP On)
if(UNIX AND NOT APPLE)
option(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" ON)
@@ -119,6 +157,7 @@ endif()
# Modifiers
option(WITH_MOD_FLUID "Enable Elbeem Modifier (Fluid Simulation)" ON)
+option(WITH_MOD_SMOKE "Enable Smoke Modifier (Smoke Simulation)" ON)
option(WITH_MOD_DECIMATE "Enable Decimate Modifier" ON)
option(WITH_MOD_BOOLEAN "Enable Boolean Modifier" ON)
option(WITH_MOD_CLOTH_ELTOPO "Enable Experemental cloth solver" OFF)
@@ -132,9 +171,10 @@ option(WITH_IMAGE_DDS "Enable DDS Image Support" ON)
option(WITH_IMAGE_CINEON "Enable CINEON and DPX Image Support" ON)
option(WITH_IMAGE_HDR "Enable HDR Image Support" ON)
option(WITH_IMAGE_REDCODE "Enable RedCode Image Support" OFF)
+option(WITH_IMAGE_FRAMESERVER "Enable image FrameServer Support for rendering" ON)
# Audio/Video format support
-option(WITH_CODEC_FFMPEG "Enable FFMPeg Support (http://ffmpeg.mplayerhq.hu)" OFF)
+option(WITH_CODEC_FFMPEG "Enable FFMPeg Support (http://ffmpeg.org)" OFF)
option(WITH_CODEC_SNDFILE "Enable libsndfile Support (http://www.mega-nerd.com/libsndfile)" OFF)
if(APPLE OR (WIN32 AND NOT UNIX))
option(WITH_CODEC_QUICKTIME "Enable Quicktime Support" OFF)
@@ -155,6 +195,7 @@ option(WITH_LZO "Enable fast LZO compression (used for pointcache)" ON
option(WITH_LZMA "Enable best LZMA compression, (used for pointcache)" ON)
# Misc
+option(WITH_INPUT_NDOF "Enable NDOF input devices (SpaceNavigator and friends)" ON)
option(WITH_RAYOPTIMIZATION "Enable use of SIMD (SSE) optimizations for the raytracer" ON)
if(UNIX AND NOT APPLE)
option(WITH_INSTALL_PORTABLE "Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX" ON)
@@ -188,12 +229,23 @@ if(APPLE)
option(WITH_LIBS10.5 "Use 10.5 libs (needed for 64bit builds)" OFF)
endif()
+#-----------------------------------------------------------------------------
+# Check for conflicting/unsupported configurations
+
+if(NOT WITH_BLENDER AND NOT WITH_PLAYER)
+ message(FATAL_ERROR "At least one of WITH_BLENDER or WITH_PLAYER must be enabled, nothing to do!")
+endif()
+
if(NOT WITH_GAMEENGINE AND WITH_PLAYER)
message(FATAL_ERROR "WITH_PLAYER requires WITH_GAMEENGINE")
endif()
-if(NOT WITH_SAMPLERATE AND (WITH_OPENAL OR WITH_SDL OR WITH_JACK))
- message(FATAL_ERROR "WITH_OPENAL/WITH_SDL/WITH_JACK require WITH_SAMPLERATE")
+if(NOT WITH_AUDASPACE AND (WITH_OPENAL OR WITH_SDL OR WITH_JACK))
+ message(FATAL_ERROR "WITH_OPENAL/WITH_SDL/WITH_JACK/WITH_CODEC_FFMPEG require WITH_AUDASPACE")
+endif()
+
+if(NOT WITH_SDL AND WITH_GHOST_SDL)
+ message(FATAL_ERROR "WITH_GHOST_SDL requires WITH_SDL to be ON")
endif()
if(NOT WITH_IMAGE_OPENJPEG AND WITH_IMAGE_REDCODE)
@@ -209,25 +261,49 @@ if(WITH_PYTHON_MODULE AND WITH_PYTHON_INSTALL)
message(FATAL_ERROR "WITH_PYTHON_MODULE requires WITH_PYTHON_INSTALL to be OFF")
endif()
+if(WITH_CODEC_QUICKTIME AND MINGW)
+ message(FATAL_ERROR "MINGW requires WITH_CODEC_QUICKTIME to be OFF "
+ "because it is currently unsupported, remove this "
+ "line if youre a developer who wants to add support.")
+endif()
+
# may as well build python module without a UI
if(WITH_PYTHON_MODULE)
set(WITH_HEADLESS ON)
endif()
-# remove old vars
-unset(WITH_INSTALL CACHE)
-
TEST_SSE_SUPPORT()
+# don't store paths to libs for portable distrobution
+if(WITH_INSTALL_PORTABLE)
+ set(CMAKE_SKIP_BUILD_RPATH TRUE)
+endif()
+
#-----------------------------------------------------------------------------
# Initialize un-cached vars, avoid unused warning
# linux only, not cached
set(WITH_BINRELOC OFF)
+# MAXOSX only, set to avoid uninitialized
+set(EXETYPE)
+
+# C/C++ flags
+set(PLATFORM_CFLAGS)
+
# these are added to later on.
-set(C_WARNINGS "")
-set(CXX_WARNINGS "")
+set(C_WARNINGS)
+set(CXX_WARNINGS)
+
+# libraries to link the binary with passed to target_link_libraries()
+# known as LLIBS to scons
+set(PLATFORM_LINKLIBS)
+
+# Added to linker flags in setup_liblinks
+# - CMAKE_EXE_LINKER_FLAGS
+# - CMAKE_EXE_LINKER_FLAGS_DEBUG
+set(PLATFORM_LINKFLAGS)
+set(PLATFORM_LINKFLAGS_DEBUG)
# disabled for now, not supported
@@ -237,13 +313,12 @@ set(CXX_WARNINGS "")
# On Unix:
# cmake ../blender \
# -D PYTHON_VERSION=3.2 \
-# -D PYTHON_INCLUDE_DIRS=/opt/py32/include/python3.2d \
-# -D PYTHON_LIBPATH=/opt/py32/lib \
-# -D PYTHON_LIBRARY=python3.2d
+# -D PYTHON_INCLUDE_DIR=/opt/py32/include/python3.2d \
+# -D PYTHON_LIBRARY=/opt/py32/lib/libpython3.2d.so
#
# On Macs:
# cmake ../blender \
-# -D PYTHON_INCLUDE_DIRS=/System/Library/Frameworks/Python.framework/Versions/3.2/include/python3.2 \
+# -D PYTHON_INCLUDE_DIR=/System/Library/Frameworks/Python.framework/Versions/3.2/include/python3.2 \
# -D PYTHON_LIBPATH=/System/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/config \
# -G Xcode
#
@@ -259,65 +334,48 @@ if(UNIX AND NOT APPLE)
set(CMAKE_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu;${CMAKE_LIBRARY_PATH}")
endif()
- if(WITH_OPENAL)
- find_package(OpenAL)
- if(NOT OPENAL_FOUND)
- set(WITH_OPENAL OFF)
- endif()
- endif()
+ find_package(JPEG REQUIRED)
+ find_package(PNG REQUIRED)
+ find_package(ZLIB REQUIRED)
+ find_package(Freetype REQUIRED)
- if(WITH_JACK)
- set(JACK /usr)
- set(JACK_INC ${JACK}/include/jack)
- set(JACK_LIB jack)
- set(JACK_LIBPATH ${JACK}/lib)
- endif()
+ if(WITH_PYTHON)
+ # No way to set py32. remove for now.
+ # find_package(PythonLibs)
- if(WITH_CODEC_SNDFILE)
- set(SNDFILE /usr)
- set(SNDFILE_INC ${SNDFILE}/include)
- set(SNDFILE_LIB sndfile)
- set(SNDFILE_LIBPATH ${SNDFILE}/lib)
+ # Use our own instead, since wothout py is such a rare case,
+ # require this package
+ find_package(PythonLibsUnix REQUIRED)
endif()
- if(WITH_INTERNATIONAL)
- find_library(INTL_LIBRARY
- NAMES intl
- PATHS
- /sw/lib
- )
-
- find_library(ICONV_LIBRARY
- NAMES iconv
- PATHS
- /sw/lib
- )
- mark_as_advanced(ICONV_LIBRARY)
- mark_as_advanced(INTL_LIBRARY)
- if(INTL_LIBRARY AND ICONV_LIBRARY)
- set(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY})
+ if(WITH_IMAGE_OPENEXR)
+ find_package(OpenEXR) # our own module
+ if(NOT OPENEXR_FOUND)
+ set(WITH_IMAGE_OPENEXR OFF)
endif()
endif()
- find_package(Freetype)
- # unset(FREETYPE_INCLUDE_DIRS CACHE) # cant use
-
-
- if(WITH_PYTHON)
- # No way to set py32. remove for now.
- # find_package(PythonLibs)
-
- # defines...
-
- # PYTHON_VERSION
- # PYTHON_INCLUDE_DIRS
- # PYTHON_LIBRARY
- # PYTHON_LIBPATH
- # PYTHON_LINKFLAGS
+ if(WITH_IMAGE_OPENJPEG)
+ find_package(OpenJPEG)
+ if(NOT OPENJPEG_FOUND)
+ set(WITH_IMAGE_OPENJPEG OFF)
+ endif()
+ endif()
- include(build_files/cmake/FindPythonLibsUnix.cmake)
+ if(WITH_IMAGE_TIFF)
+ find_package(TIFF)
+ if(NOT TIFF_FOUND)
+ set(WITH_IMAGE_TIFF OFF)
+ endif()
+ endif()
+ # Audio IO
+ if(WITH_OPENAL)
+ find_package(OpenAL)
+ if(NOT OPENAL_FOUND)
+ set(WITH_OPENAL OFF)
+ endif()
endif()
if(WITH_SDL)
@@ -332,115 +390,123 @@ if(UNIX AND NOT APPLE)
endif()
endif()
- if(WITH_IMAGE_OPENEXR)
- set(OPENEXR /usr CACHE FILEPATH "OPENEXR Directory")
- mark_as_advanced(OPENEXR)
- find_path(OPENEXR_INC
- ImfXdr.h
- PATHS
- ${OPENEXR}/include/OpenEXR
- /usr/local/include/OpenEXR
- /sw/include/OpenEXR
- /opt/local/include/OpenEXR
- /opt/csw/include/OpenEXR
- /opt/include/OpenEXR
- )
- mark_as_advanced(OPENEXR_INC)
-
- set(OPENEXR_LIB Half IlmImf Iex Imath)
-
- if(NOT OPENEXR_INC)
- set(WITH_IMAGE_OPENEXR OFF)
+ if(WITH_JACK)
+ find_package(Jack)
+ if(NOT JACK_FOUND)
+ set(WITH_JACK OFF)
endif()
endif()
- if(WITH_IMAGE_TIFF)
- find_package(TIFF)
- if(NOT TIFF_FOUND)
- set(WITH_IMAGE_TIFF OFF)
+ # Codecs
+ if(WITH_CODEC_SNDFILE)
+ find_package(SndFile)
+ if(NOT SNDFILE_FOUND)
+ set(WITH_CODEC_SNDFILE OFF)
endif()
endif()
- find_package(JPEG REQUIRED)
-
- find_package(PNG REQUIRED)
-
- find_package(ZLIB REQUIRED)
-
if(WITH_CODEC_FFMPEG)
- set(FFMPEG /usr CACHE FILEPATH "FFMPEG Directory")
+ set(FFMPEG /usr CACHE PATH "FFMPEG Directory")
mark_as_advanced(FFMPEG)
- set(FFMPEG_INC ${FFMPEG}/include)
- set(FFMPEG_LIB avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries")
- mark_as_advanced(FFMPEG_LIB)
+ set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include)
+ set(FFMPEG_LIBRARIES avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries")
+ mark_as_advanced(FFMPEG_LIBRARIES)
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
endif()
+ if(WITH_INTERNATIONAL)
+ find_library(INTL_LIBRARY
+ NAMES intl
+ PATHS
+ /sw/lib
+ )
+
+ find_library(ICONV_LIBRARY
+ NAMES iconv
+ PATHS
+ /sw/lib
+ )
+ mark_as_advanced(ICONV_LIBRARY)
+ mark_as_advanced(INTL_LIBRARY)
+
+ if(INTL_LIBRARY AND ICONV_LIBRARY)
+ set(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY})
+ endif()
+ endif()
+
if(WITH_FFTW3)
- set(FFTW3 /usr)
- set(FFTW3_INC ${FFTW3}/include)
- set(FFTW3_LIB fftw3)
- set(FFTW3_LIBPATH ${FFTW3}/lib)
+ find_package(Fftw3)
+ if(NOT FFTW3_FOUND)
+ set(WITH_FFTW3 OFF)
+ endif()
endif()
if(WITH_SAMPLERATE)
- set(LIBSAMPLERATE /usr)
- set(LIBSAMPLERATE_INC ${LIBSAMPLERATE}/include)
- set(LIBSAMPLERATE_LIB samplerate)
- set(LIBSAMPLERATE_LIBPATH ${LIBSAMPLERATE}/lib)
+ find_package(Samplerate)
+ if(NOT SAMPLERATE_FOUND)
+ set(WITH_SAMPLERATE OFF)
+ endif()
endif()
if(WITH_OPENCOLLADA)
- set(OPENCOLLADA /usr/local/opencollada CACHE FILEPATH "OpenCollada Directory")
- mark_as_advanced(OPENCOLLADA)
- set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
- set(OPENCOLLADA_LIB OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre ftoa buffer xml2)
- set(OPENCOLLADA_INC ${OPENCOLLADA})
-
- set(PCRE /usr CACHE FILEPATH "PCRE Directory")
- mark_as_advanced(PCRE)
- set(PCRE_LIBPATH ${PCRE}/lib)
- set(PCRE_LIB pcre)
+ find_package(OpenCOLLADA)
+ if(OPENCOLLADA_FOUND)
+ set(PCRE /usr CACHE PATH "PCRE Directory")
+ mark_as_advanced(PCRE)
+ set(PCRE_LIBPATH ${PCRE}/lib)
+ set(PCRE_LIB pcre)
- set(EXPAT /usr CACHE FILEPATH "Expat Directory")
- mark_as_advanced(EXPAT)
- set(EXPAT_LIBPATH ${EXPAT}/lib)
- set(EXPAT_LIB expat)
+ set(EXPAT /usr CACHE PATH "Expat Directory")
+ mark_as_advanced(EXPAT)
+ set(EXPAT_LIBPATH ${EXPAT}/lib)
+ set(EXPAT_LIB expat)
+ else()
+ set(WITH_OPENCOLLADA OFF)
+ endif()
endif()
if(WITH_MEM_JEMALLOC)
- set(JEMALLOC /usr)
- set(JEMALLOC_LIBRARY jemalloc CACHE STRING "JeMalloc library")
- set(JEMALLOC_LIBPATH ${JEMALLOC}/lib CACHE FILEPATH "JeMalloc library path")
- # no use for this yet.
- # set(JEMALLOC_INCLUDE_DIR ${JEMALLOC}/include CACHE FILEPATH "JeMalloc include path")
- unset(JEMALLOC)
+ find_package(JeMalloc)
+ if(NOT JEMALLOC_FOUND)
+ set(WITH_MEM_JEMALLOC OFF)
+ endif()
+ endif()
+
+ if (WITH_INPUT_NDOF)
+ find_package(Spacenav)
+ if(NOT SPACENAV_FOUND)
+ set(WITH_INPUT_NDOF OFF)
+ endif()
+
+ # use generic names within blenders buildsystem.
+ if(SPACENAV_FOUND)
+ set(NDOF_INCLUDE_DIRS ${SPACENAV_INCLUDE_DIRS})
+ set(NDOF_LIBRARIES ${SPACENAV_LIBRARIES})
+ endif()
endif()
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
- set(LLIBS "-lutil -lc -lm -lpthread -lstdc++")
+ set(PLATFORM_LINKLIBS "-lutil -lc -lm -lpthread -lstdc++")
- if(NOT WITH_HEADLESS)
+ if((NOT WITH_HEADLESS) AND (NOT WITH_GHOST_SDL))
find_package(X11 REQUIRED)
find_path(X11_XF86keysym_INCLUDE_PATH X11/XF86keysym.h ${X11_INC_SEARCH_PATH})
mark_as_advanced(X11_XF86keysym_INCLUDE_PATH)
- list(APPEND LLIBS ${X11_X11_LIB})
+ list(APPEND PLATFORM_LINKLIBS ${X11_X11_LIB})
if(WITH_X11_XINPUT)
- list(APPEND LLIBS ${X11_Xinput_LIB})
+ list(APPEND PLATFORM_LINKLIBS ${X11_Xinput_LIB})
endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
if(NOT WITH_PYTHON_MODULE)
# BSD's dont use libdl.so
- list(APPEND LLIBS -ldl)
-
+ list(APPEND PLATFORM_LINKLIBS -ldl)
# binreloc is linux only
- set(BINRELOC ${CMAKE_SOURCE_DIR}/extern/binreloc)
- set(BINRELOC_INC ${BINRELOC}/include)
+ set(BINRELOC_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/extern/binreloc/include)
set(WITH_BINRELOC ON)
endif()
endif()
@@ -453,6 +519,9 @@ if(UNIX AND NOT APPLE)
# GNU Compiler
if(CMAKE_COMPILER_IS_GNUCC)
set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing")
+ # CLang is the same as GCC for now.
+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+ set(PLATFORM_CFLAGS "-pipe -fPIC -funsigned-char -fno-strict-aliasing")
# Intel C++ Compiler
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
# think these next two are broken
@@ -493,16 +562,16 @@ elseif(WIN32)
if(WITH_INTERNATIONAL)
set(ICONV ${LIBDIR}/iconv)
- set(ICONV_INC ${ICONV}/include)
- set(ICONV_LIB iconv)
+ set(ICONV_INCLUDE_DIRS ${ICONV}/include)
+ set(ICONV_LIBRARIES iconv)
set(ICONV_LIBPATH ${ICONV}/lib)
endif()
if(WITH_SAMPLERATE)
- set(LIBSAMPLERATE ${LIBDIR}/samplerate)
- set(LIBSAMPLERATE_INC ${LIBSAMPLERATE}/include)
- set(LIBSAMPLERATE_LIB libsamplerate)
- set(LIBSAMPLERATE_LIBPATH ${LIBSAMPLERATE}/lib)
+ set(SAMPLERATE ${LIBDIR}/samplerate)
+ set(SAMPLERATE_INCLUDE_DIRS ${SAMPLERATE}/include)
+ set(SAMPLERATE_LIBRARIES libsamplerate)
+ set(SAMPLERATE_LIBPATH ${SAMPLERATE}/lib)
endif()
set(PNG "${LIBDIR}/png")
@@ -524,9 +593,9 @@ elseif(WIN32)
if(WITH_CODEC_SNDFILE)
set(SNDFILE ${LIBDIR}/sndfile)
- set(SNDFILE_INC ${SNDFILE}/include)
- set(SNDFILE_LIB libsndfile-1)
- set(SNDFILE_LIBPATH ${SNDFILE}/lib)
+ set(SNDFILE_INCLUDE_DIRS ${SNDFILE}/include)
+ set(SNDFILE_LIBRARIES libsndfile-1)
+ set(SNDFILE_LIBPATH ${SNDFILE}/lib) # TODO, deprecate
endif()
if(WITH_SDL)
@@ -538,8 +607,8 @@ elseif(WIN32)
if(WITH_CODEC_QUICKTIME)
set(QUICKTIME ${LIBDIR}/QTDevWin)
- set(QUICKTIME_INC ${QUICKTIME}/CIncludes)
- set(QUICKTIME_LIB qtmlClient)
+ set(QUICKTIME_INCLUDE_DIRS ${QUICKTIME}/CIncludes)
+ set(QUICKTIME_LIBRARIES qtmlClient)
set(QUICKTIME_LIBPATH ${QUICKTIME}/Libraries)
endif()
@@ -549,13 +618,15 @@ elseif(WIN32)
if(MSVC)
if(CMAKE_CL_64)
- set(LLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid )
+ set(PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid)
else()
- set(LLIBS kernel32 user32 gdi32 comdlg32 advapi32 shell32 ole32 oleaut32 uuid ws2_32 vfw32 winmm)
+ set(PLATFORM_LINKLIBS ws2_32 vfw32 winmm kernel32 user32 gdi32 comdlg32 advapi32 shfolder shell32 ole32 oleaut32 uuid)
endif()
-
- set(CMAKE_CXX_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4018 /wd4800 /wd4244 /wd4305 /wd4065 /wd4267" CACHE STRING "MSVC MT C++ flags " FORCE)
- set(CMAKE_C_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4018 /wd4800 /wd4244 /wd4305 /wd4065 /wd4267" CACHE STRING "MSVC MT C++ flags " FORCE)
+
+ add_definitions(/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_CONSOLE /D_LIB)
+
+ set(CMAKE_CXX_FLAGS "/nologo /J /W0 /Gd /wd4018 /wd4244 /wd4305 /wd4800 /wd4065 /wd4267 /we4013" CACHE STRING "MSVC MT C++ flags " FORCE)
+ set(CMAKE_C_FLAGS "/nologo /J /W0 /Gd /wd4018 /wd4244 /wd4305 /wd4800 /wd4065 /wd4267 /we4013 /EHsc" CACHE STRING "MSVC MT C++ flags " FORCE)
if(CMAKE_CL_64)
set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE)
@@ -592,52 +663,73 @@ elseif(WIN32)
endif()
set(JPEG_LIBRARIES libjpeg)
- set(ZLIB ${LIBDIR}/zlib)
- set(ZLIB_INCLUDE_DIRS ${ZLIB}/include)
- set(ZLIB_LIBPATH ${ZLIB}/lib)
+ set(ZLIB_INCLUDE_DIRS ${LIBDIR}/zlib/include)
if(CMAKE_CL_64)
- set(ZLIB_LIBRARIES libz)
+ set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/libz.lib)
else()
- set(ZLIB_LIBRARIES zlib)
+ set(ZLIB_LIBRARIES ${LIBDIR}/zlib/lib/zlib.lib)
endif()
- set(PTHREADS ${LIBDIR}/pthreads)
- set(PTHREADS_INC ${PTHREADS}/include)
- set(PTHREADS_LIBPATH ${PTHREADS}/lib)
- set(PTHREADS_LIB pthreadVC2)
-
+ set(PTHREADS_INCLUDE_DIRS ${LIBDIR}/pthreads/include)
+ set(PTHREADS_LIBRARIES ${LIBDIR}/pthreads/lib/pthreadVC2.lib)
+
set(FREETYPE ${LIBDIR}/freetype)
- set(FREETYPE_INCLUDE_DIRS ${FREETYPE}/include ${FREETYPE}/include/freetype2)
- set(FREETYPE_LIBPATH ${FREETYPE}/lib)
- set(FREETYPE_LIBRARY freetype2ST)
+ set(FREETYPE_INCLUDE_DIRS
+ ${LIBDIR}/freetype/include
+ ${LIBDIR}/freetype/include/freetype2
+ )
+ set(FREETYPE_LIBRARY ${LIBDIR}/freetype/lib/freetype2ST.lib)
if(WITH_FFTW3)
set(FFTW3 ${LIBDIR}/fftw3)
- set(FFTW3_LIB libfftw)
- set(FFTW3_INC ${FFTW3}/include)
+ set(FFTW3_LIBRARIES libfftw)
+ set(FFTW3_INCLUDE_DIRS ${FFTW3}/include)
set(FFTW3_LIBPATH ${FFTW3}/lib)
endif()
if(WITH_OPENCOLLADA)
- set(OPENCOLLADA ${LIBDIR}/opencollada)
- set(OPENCOLLADA_INC ${OPENCOLLADA}/include)
- set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
- set(OPENCOLLADA_LIB OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils OpenCOLLADAStreamWriter MathMLSolver GeneratedSaxParser xml2 buffer ftoa UTF)
- set(PCRE_LIB pcre)
+
+ set(OPENCOLLADA_INCLUDE_DIRS
+ ${LIBDIR}/opencollada/include/COLLADAStreamWriter/include
+ ${LIBDIR}/opencollada/include/COLLADABaseUtils/include
+ ${LIBDIR}/opencollada/include/COLLADAFramework/include
+ ${LIBDIR}/opencollada/include/COLLADASaxFrameworkLoader/include
+ ${LIBDIR}/opencollada/include/GeneratedSaxParser/include
+ )
+
+ set(OPENCOLLADA_LIBRARIES
+ ${LIBDIR}/opencollada/lib/OpenCOLLADASaxFrameworkLoader.lib
+ ${LIBDIR}/opencollada/lib/OpenCOLLADAFramework.lib
+ ${LIBDIR}/opencollada/lib/OpenCOLLADABaseUtils.lib
+ ${LIBDIR}/opencollada/lib/OpenCOLLADAStreamWriter.lib
+ ${LIBDIR}/opencollada/lib/MathMLSolver.lib
+ ${LIBDIR}/opencollada/lib/GeneratedSaxParser.lib
+ ${LIBDIR}/opencollada/lib/xml2.lib
+ ${LIBDIR}/opencollada/lib/buffer.lib
+ ${LIBDIR}/opencollada/lib/ftoa.lib
+ ${LIBDIR}/opencollada/lib/UTF.lib
+ )
+ set(PCRE_LIB
+ ${LIBDIR}/opencollada/lib/pcre.lib
+ )
endif()
-
+
if(WITH_CODEC_FFMPEG)
- set(FFMPEG ${LIBDIR}/ffmpeg)
- set(FFMPEG_INC ${FFMPEG}/include ${FFMPEG}/include/msvc)
- set(FFMPEG_LIB avcodec-52 avformat-52 avdevice-52 avutil-50 swscale-0)
- set(FFMPEG_LIBPATH ${FFMPEG}/lib)
+ set(FFMPEG_INCLUDE_DIRS
+ ${LIBDIR}/ffmpeg/include
+ ${LIBDIR}/ffmpeg/include/msvc
+ )
+ set(FFMPEG_LIBRARIES
+ ${LIBDIR}/ffmpeg/lib/avcodec-53.lib
+ ${LIBDIR}/ffmpeg/lib/avformat-53.lib
+ ${LIBDIR}/ffmpeg/lib/avdevice-53.lib
+ ${LIBDIR}/ffmpeg/lib/avutil-51.lib
+ ${LIBDIR}/ffmpeg/lib/swscale-2.lib
+ )
endif()
if(WITH_IMAGE_OPENEXR)
- if(MSVC80)
- set(MSVC_LIB _vs2005)
- set(MSVC_INC)
- elseif(MSVC90)
+ if(MSVC90)
set(MSVC_LIB _vs2008)
set(MSVC_INC)
elseif(MSVC10)
@@ -647,53 +739,68 @@ elseif(WIN32)
set(MSVC_LIB msvc)
set(MSVC_INC)
endif()
- set(OPENEXR ${LIBDIR}/openexr)
- set(OPENEXR_LIB Iex Half IlmImf Imath IlmThread)
+ set(OPENEXR ${LIBDIR}/openexr)
set(OPENEXR_LIBPATH ${OPENEXR}/lib${MSVC_LIB})
+ set(OPENEXR_LIBRARIES
+ ${OPENEXR_LIBPATH}/Iex.lib
+ ${OPENEXR_LIBPATH}/Half.lib
+ ${OPENEXR_LIBPATH}/IlmImf.lib
+ ${OPENEXR_LIBPATH}/Imath.lib
+ ${OPENEXR_LIBPATH}/IlmThread.lib
+ )
set(OPENEXR_INCUDE ${OPENEXR}/include${MSVC_INC})
- set(OPENEXR_INC ${OPENEXR_INCUDE}/ ${OPENEXR_INCUDE}/IlmImf ${OPENEXR_INCUDE}/Iex ${OPENEXR_INCUDE}/Imath)
+ set(OPENEXR_INCLUDE_DIRS
+ ${OPENEXR_INCUDE}
+ ${OPENEXR_INCUDE}/IlmImf
+ ${OPENEXR_INCUDE}/Iex
+ ${OPENEXR_INCUDE}/Imath
+ )
+ unset(OPENEXR_INCUDE)
+ unset(OPENEXR_LIBPATH)
endif()
if(WITH_IMAGE_TIFF)
- set(TIFF ${LIBDIR}/tiff)
- set(TIFF_LIBRARY libtiff)
- set(TIFF_INCLUDE_DIR ${TIFF}/include)
- set(TIFF_LIBPATH ${TIFF}/lib)
+ set(TIFF_LIBRARY ${LIBDIR}/tiff/lib/libtiff.lib)
+ set(TIFF_INCLUDE_DIR ${LIBDIR}/tiff/include)
endif()
if(WITH_JACK)
- set(JACK ${LIBDIR}/jack)
- set(JACK_INC ${JACK}/include/jack ${JACK}/include)
- set(JACK_LIB libjack)
- set(JACK_LIBPATH ${JACK}/lib)
+ set(JACK_INCLUDE_DIRS
+ ${LIBDIR}/jack/include/jack
+ ${LIBDIR}/jack/include
+ )
+ set(JACK_LIBRARIES ${LIBDIR}/jack/lib/libjack.lib)
endif()
if(WITH_PYTHON)
- set(PYTHON ${LIBDIR}/python)
- set(PYTHON_VERSION 3.2)
- set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}")
- # set(PYTHON_BINARY python) # not used yet
- set(PYTHON_LIBRARY python32)
- set(PYTHON_LIBPATH ${PYTHON}/lib)
+ # normally cached but not since we include them with blender
+ set(PYTHON_VERSION 3.2) # CACHE STRING)
+ set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}") # CACHE PATH)
+ set(PYTHON_LIBRARY "${LIBDIR}/python/lib/python32.lib") #CACHE FILEPATH)
+
+ # uncached vars
+ set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
+ set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
endif()
+ set(PLATFORM_LINKFLAGS "/SUBSYSTEM:CONSOLE /STACK:2097152 /INCREMENTAL:NO /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcmrt.lib /NODEFAULTLIB:msvcurt.lib /NODEFAULTLIB:msvcrtd.lib")
+
# MSVC only, Mingw doesnt need
if(CMAKE_CL_64)
- set(PLATFORM_LINKFLAGS "/MACHINE:X64 /NODEFAULTLIB:libc.lib /STACK:2097152 ")
+ set(PLATFORM_LINKFLAGS "/MACHINE:X64 /OPT:NOREF ${PLATFORM_LINKFLAGS}")
else()
- set(PLATFORM_LINKFLAGS "/NODEFAULTLIB:libc.lib /STACK:2097152 ")
+ set(PLATFORM_LINKFLAGS "/MACHINE:IX86 /LARGEADDRESSAWARE ${PLATFORM_LINKFLAGS}")
endif()
- set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:libcmt.lib;libc.lib ")
+ set(PLATFORM_LINKFLAGS_DEBUG "/NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libc.lib")
else()
# keep GCC spesific stuff here
if(CMAKE_COMPILER_IS_GNUCC)
- set(LLIBS "-lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid")
+ set(PLATFORM_LINKLIBS "-lshell32 -lshfolder -lgdi32 -lmsvcrt -lwinmm -lmingw32 -lm -lws2_32 -lz -lstdc++ -lole32 -luuid -lwsock32")
set(PLATFORM_CFLAGS "-pipe -funsigned-char -fno-strict-aliasing")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE")
+ add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE)
endif()
add_definitions(-DFREE_WINDOWS)
@@ -717,9 +824,9 @@ elseif(WIN32)
set(ZLIB_LIBRARIES z)
set(PTHREADS ${LIBDIR}/pthreads)
- set(PTHREADS_INC ${PTHREADS}/include)
+ set(PTHREADS_INCLUDE_DIRS ${PTHREADS}/include)
set(PTHREADS_LIBPATH ${PTHREADS}/lib)
- set(PTHREADS_LIB pthreadGC2)
+ set(PTHREADS_LIBRARIES pthreadGC2)
set(FREETYPE ${LIBDIR}/gcc/freetype)
set(FREETYPE_INCLUDE_DIRS ${FREETYPE}/include ${FREETYPE}/include/freetype2)
@@ -728,34 +835,37 @@ elseif(WIN32)
if(WITH_FFTW3)
set(FFTW3 ${LIBDIR}/gcc/fftw3)
- set(FFTW3_LIB fftw3)
- set(FFTW3_INC ${FFTW3}/include)
+ set(FFTW3_LIBRARIES fftw3)
+ set(FFTW3_INCLUDE_DIRS ${FFTW3}/include)
set(FFTW3_LIBPATH ${FFTW3}/lib)
endif()
if(WITH_OPENCOLLADA)
set(OPENCOLLADA ${LIBDIR}/gcc/opencollada)
- set(OPENCOLLADA_INC ${OPENCOLLADA}/include)
+ set(OPENCOLLADA_INCLUDE_DIRS
+ ${LIBDIR}/gcc/opencollada/include/COLLADAStreamWriter/include
+ ${LIBDIR}/gcc/opencollada/include/COLLADABaseUtils/include
+ ${LIBDIR}/gcc/opencollada/include/COLLADAFramework/include
+ ${LIBDIR}/gcc/opencollada/include/COLLADASaxFrameworkLoader/include
+ ${LIBDIR}/gcc/opencollada/include/GeneratedSaxParser/include
+ )
set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib ${OPENCOLLADA}/lib)
- set(OPENCOLLADA_LIB OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa)
+ set(OPENCOLLADA_LIBRARIES OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver expat pcre buffer ftoa)
set(PCRE_LIB pcre)
endif()
if(WITH_CODEC_FFMPEG)
set(FFMPEG ${LIBDIR}/ffmpeg)
- set(FFMPEG_INC ${FFMPEG}/include ${FFMPEG}/include)
- set(FFMPEG_LIB avcodec-52 avformat-52 avdevice-52 avutil-50 swscale-0)
+ set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include ${FFMPEG}/include)
+ set(FFMPEG_LIBRARIES avcodec-53 avformat-53 avdevice-53 avutil-51 swscale-2)
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
endif()
if(WITH_IMAGE_OPENEXR)
set(OPENEXR ${LIBDIR}/gcc/openexr)
- set(OPENEXR_INC ${OPENEXR}/include ${OPENEXR}/include/OpenEXR)
- set(OPENEXR_LIB Half IlmImf Imath IlmThread)
+ set(OPENEXR_INCLUDE_DIRS ${OPENEXR}/include/OpenEXR)
+ set(OPENEXR_LIBRARIES Half IlmImf Imath IlmThread Iex)
set(OPENEXR_LIBPATH ${OPENEXR}/lib)
-
- # TODO, gives linking errors, force off
- set(WITH_IMAGE_OPENEXR OFF)
endif()
if(WITH_IMAGE_TIFF)
@@ -767,8 +877,8 @@ elseif(WIN32)
if(WITH_JACK)
set(JACK ${LIBDIR}/jack)
- set(JACK_INC ${JACK}/include/jack ${JACK}/include)
- set(JACK_LIB jack)
+ set(JACK_INCLUDE_DIRS ${JACK}/include/jack ${JACK}/include)
+ set(JACK_LIBRARIES jack)
set(JACK_LIBPATH ${JACK}/lib)
# TODO, gives linking errors, force off
@@ -776,12 +886,14 @@ elseif(WIN32)
endif()
if(WITH_PYTHON)
- set(PYTHON ${LIBDIR}/python)
- set(PYTHON_VERSION 3.2)
- set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}")
- # set(PYTHON_BINARY python) # not used yet
- set(PYTHON_LIBRARY python32mw)
- set(PYTHON_LIBPATH ${PYTHON}/lib)
+ # normally cached but not since we include them with blender
+ set(PYTHON_VERSION 3.2) # CACHE STRING)
+ set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}") # CACHE PATH)
+ set(PYTHON_LIBRARY "${LIBDIR}/python/lib/python32mw.lib") # CACHE FILEPATH)
+
+ # uncached vars
+ set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
+ set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
endif()
set(PLATFORM_LINKFLAGS "--stack,2097152")
@@ -789,7 +901,7 @@ elseif(WIN32)
endif()
# used in many places so include globally, like OpenGL
- blender_include_dirs("${PTHREADS_INC}")
+ blender_include_dirs("${PTHREADS_INCLUDE_DIRS}")
elseif(APPLE)
@@ -820,39 +932,32 @@ elseif(APPLE)
if(WITH_JACK)
set(JACK /usr)
- set(JACK_INC ${JACK}/include/jack)
- set(JACK_LIB jack)
+ set(JACK_INCLUDE_DIRS ${JACK}/include/jack)
+ set(JACK_LIBRARIES jack)
set(JACK_LIBPATH ${JACK}/lib)
endif()
if(WITH_CODEC_SNDFILE)
set(SNDFILE ${LIBDIR}/sndfile)
- set(SNDFILE_INC ${SNDFILE}/include)
- set(SNDFILE_LIB sndfile FLAC ogg vorbis vorbisenc)
- set(SNDFILE_LIBPATH ${SNDFILE}/lib ${FFMPEG}/lib)
+ set(SNDFILE_INCLUDE_DIRS ${SNDFILE}/include)
+ set(SNDFILE_LIBRARIES sndfile FLAC ogg vorbis vorbisenc)
+ set(SNDFILE_LIBPATH ${SNDFILE}/lib ${FFMPEG}/lib) # TODO, deprecate
endif()
- set(PYTHON_VERSION 3.2)
-
- if(PYTHON_VERSION MATCHES 3.2)
+ if(WITH_PYTHON)
# we use precompiled libraries for py 3.2 and up by default
- set(PYTHON ${LIBDIR}/python)
- set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}")
- # set(PYTHON_BINARY "${PYTHON}/bin/python${PYTHON_VERSION}") # not used yet
+ # normally cached but not since we include them with blender
+ set(PYTHON_VERSION 3.2)
+ set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}")
+ # set(PYTHON_BINARY "${LIBDIR}/python/bin/python${PYTHON_VERSION}") # not used yet
set(PYTHON_LIBRARY python${PYTHON_VERSION})
- set(PYTHON_LIBPATH "${PYTHON}/lib/python${PYTHON_VERSION}")
+ set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}")
# set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled
- else()
- # otherwise, use custom system framework
- set(PYTHON /System/Library/Frameworks/Python.framework/Versions/)
- set(PYTHON_VERSION 3.2)
- set(PYTHON_INCLUDE_DIRS "${PYTHON}${PYTHON_VERSION}/include/python${PYTHON_VERSION}")
- # set(PYTHON_BINARY ${PYTHON}${PYTHON_VERSION}/bin/python${PYTHON_VERSION}) # not used yet
- set(PYTHON_LIBRARY "")
- set(PYTHON_LIBPATH ${PYTHON}${PYTHON_VERSION}/lib/python${PYTHON_VERSION}/config)
- set(PYTHON_LINKFLAGS "-u _PyMac_Error -framework System -framework Python")
+ # uncached vars
+ set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
+ set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
endif()
if(WITH_INTERNATIONAL)
@@ -864,8 +969,8 @@ elseif(APPLE)
if(WITH_FFTW3)
set(FFTW3 ${LIBDIR}/fftw3)
- set(FFTW3_INC ${FFTW3}/include)
- set(FFTW3_LIB fftw3)
+ set(FFTW3_INCLUDE_DIRS ${FFTW3}/include)
+ set(FFTW3_LIBRARIES fftw3)
set(FFTW3_LIBPATH ${FFTW3}/lib)
endif()
@@ -883,27 +988,37 @@ elseif(APPLE)
if(WITH_IMAGE_OPENEXR)
set(OPENEXR ${LIBDIR}/openexr)
- set(OPENEXR_INC ${OPENEXR}/include/OpenEXR ${OPENEXR}/include)
- set(OPENEXR_LIB Iex Half IlmImf Imath IlmThread)
+ set(OPENEXR_INCLUDE_DIRS ${OPENEXR}/include/OpenEXR)
+ set(OPENEXR_LIBRARIES Iex Half IlmImf Imath IlmThread)
set(OPENEXR_LIBPATH ${OPENEXR}/lib)
endif()
if(WITH_CODEC_FFMPEG)
set(FFMPEG ${LIBDIR}/ffmpeg)
- set(FFMPEG_INC ${FFMPEG}/include)
- set(FFMPEG_LIB avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg)
+ set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include)
+ set(FFMPEG_LIBRARIES avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg)
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
endif()
if(WITH_SAMPLERATE)
- set(LIBSAMPLERATE ${LIBDIR}/samplerate)
- set(LIBSAMPLERATE_INC ${LIBSAMPLERATE}/include)
- set(LIBSAMPLERATE_LIB samplerate)
- set(LIBSAMPLERATE_LIBPATH ${LIBSAMPLERATE}/lib)
+ set(SAMPLERATE ${LIBDIR}/samplerate)
+ set(SAMPLERATE_INCLUDE_DIRS ${SAMPLERATE}/include)
+ set(SAMPLERATE_LIBRARIES samplerate)
+ set(SAMPLERATE_LIBPATH ${SAMPLERATE}/lib)
endif()
- set(LLIBS stdc++ SystemStubs)
+ find_library(SYSTEMSTUBS_LIBRARY
+ NAMES
+ SystemStubs
+ PATHS
+ )
+ mark_as_advanced(SYSTEMSTUBS_LIBRARY)
+ if(SYSTEMSTUBS_LIBRARY)
+ set(PLATFORM_LINKLIBS stdc++ SystemStubs)
+ else()
+ set(PLATFORM_LINKLIBS stdc++)
+ endif()
if(WITH_COCOA)
set(PLATFORM_CFLAGS "-pipe -funsigned-char -DGHOST_COCOA")
@@ -918,16 +1033,43 @@ elseif(APPLE)
elseif(WITH_CODEC_QUICKTIME)
set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -framework QuickTime")
endif()
+
+ # XXX - SOME MAC DEV PLEASE TEST WITH THE SDK INSTALLED!
+ # ALSO SHOULD BE MOVED INTO OWN MODULE WHEN FUNCTIONAL
+ if(WITH_INPUT_NDOF)
+ # This thread it *should* work and check the framework - campbell
+ # http://www.cmake.org/pipermail/cmake/2005-December/007740.html
+ find_library(3D_CONNEXION_CLIENT_LIBRARY
+ NAMES 3DconnexionClient
+ )
+ if(NOT 3D_CONNEXION_CLIENT_LIBRARY)
+ set(WITH_INPUT_NDOF OFF)
+ endif()
+
+ if(WITH_INPUT_NDOF)
+ set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -weak_framework 3DconnexionClient")
+ endif()
+ endif()
+
else()
set(PLATFORM_CFLAGS "-pipe -funsigned-char")
set(PLATFORM_LINKFLAGS "-fexceptions -framework CoreServices -framework Foundation -framework IOKit -framework AppKit -framework Carbon -framework AGL -framework AudioUnit -framework AudioToolbox -framework CoreAudio -framework QuickTime")
+ set(WITH_INPUT_NDOF OFF) # unsupported
endif()
if(WITH_OPENCOLLADA)
set(OPENCOLLADA ${LIBDIR}/opencollada)
- set(OPENCOLLADA_INC ${OPENCOLLADA}/include)
+
+ set(OPENCOLLADA_INCLUDE_DIRS
+ ${LIBDIR}/opencollada/include/COLLADAStreamWriter
+ ${LIBDIR}/opencollada/include/COLLADABaseUtils
+ ${LIBDIR}/opencollada/include/COLLADAFramework
+ ${LIBDIR}/opencollada/include/COLLADASaxFrameworkLoader
+ ${LIBDIR}/opencollada/include/GeneratedSaxParser
+ )
+
set(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
- set(OPENCOLLADA_LIB "OpenCOLLADASaxFrameworkLoader -lOpenCOLLADAFramework -lOpenCOLLADABaseUtils -lOpenCOLLADAStreamWriter -lMathMLSolver -lGeneratedSaxParser -lUTF -lxml2 -lbuffer -lftoa" )
+ set(OPENCOLLADA_LIBRARIES "OpenCOLLADASaxFrameworkLoader -lOpenCOLLADAFramework -lOpenCOLLADABaseUtils -lOpenCOLLADAStreamWriter -lMathMLSolver -lGeneratedSaxParser -lUTF -lxml2 -lbuffer -lftoa" )
#pcre is bundled with openCollada
#set(PCRE ${LIBDIR}/pcre)
#set(PCRE_LIBPATH ${PCRE}/lib)
@@ -960,6 +1102,10 @@ elseif(APPLE)
set(TIFF_LIBPATH ${TIFF}/lib)
endif()
+ if (WITH_INPUT_NDOF)
+ # linker needs "-weak_framework 3DconnexionClient"
+ endif()
+
set(EXETYPE MACOSX_BUNDLE)
set(CMAKE_C_FLAGS_DEBUG "-fno-strict-aliasing -g")
@@ -980,36 +1126,46 @@ endif()
# Common.
if(APPLE OR WIN32)
- if(NOT IS_DIRECTORY "${LIBDIR}")
+ if(NOT EXISTS "${LIBDIR}/")
message(FATAL_ERROR "Apple and Windows require pre-compiled libs at: '${LIBDIR}'")
endif()
endif()
+# See TEST_SSE_SUPPORT() for how this is defined.
+
if(WITH_RAYOPTIMIZATION)
if(CMAKE_COMPILER_IS_GNUCC)
- if(SUPPORT_SSE_BUILD)
- set(PLATFORM_CFLAGS " -msse ${PLATFORM_CFLAGS}")
- add_definitions(-D__SSE__ -D__MMX__)
- endif()
- if(SUPPORT_SSE2_BUILD)
- set(PLATFORM_CFLAGS " -msse2 ${PLATFORM_CFLAGS}")
- add_definitions(-D__SSE2__)
- if(NOT SUPPORT_SSE_BUILD) # dont double up
- add_definitions(-D__MMX__)
- endif()
+ set(_sse "-msse")
+ set(_sse2 "-msse2")
+ elseif(MSVC)
+ set(_sse "/arch:SSE")
+ set(_sse2 "/arch:SSE2")
+ else()
+ message(WARNING "SSE flags for this compiler not known")
+ set(_sse)
+ set(_sse2)
+ endif()
+
+ if(SUPPORT_SSE_BUILD)
+ set(PLATFORM_CFLAGS " ${_sse} ${PLATFORM_CFLAGS}")
+ add_definitions(-D__SSE__ -D__MMX__)
+ endif()
+ if(SUPPORT_SSE2_BUILD)
+ set(PLATFORM_CFLAGS " ${_sse2} ${PLATFORM_CFLAGS}")
+ add_definitions(-D__SSE2__)
+ if(NOT SUPPORT_SSE_BUILD) # dont double up
+ add_definitions(-D__MMX__)
endif()
endif()
+ unset(_sse)
+ unset(_sse2)
endif()
if(WITH_IMAGE_OPENJPEG)
if(UNIX AND NOT APPLE)
- set(OPENJPEG /usr)
- set(OPENJPEG_INC ${OPENJPEG}/include)
- set(OPENJPEG_LIB openjpeg)
- set(OPENJPEG_LIBPATH ${OPENJPEG}/lib)
+ # dealt with above
else()
- set(OPENJPEG ${CMAKE_SOURCE_DIR}/extern/libopenjpeg)
- set(OPENJPEG_INC ${OPENJPEG})
+ set(OPENJPEG_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/extern/libopenjpeg")
endif()
endif()
@@ -1032,7 +1188,7 @@ endif()
#-----------------------------------------------------------------------------
# Configure OpenGL.
find_package(OpenGL)
-blender_include_dirs("${OPENGL_INCLUDE_DIR}")
+blender_include_dirs_sys("${OPENGL_INCLUDE_DIR}")
# unset(OPENGL_LIBRARIES CACHE) # not compat with older cmake
# unset(OPENGL_xmesa_INCLUDE_DIR CACHE) # not compat with older cmake
@@ -1111,6 +1267,7 @@ if(CMAKE_COMPILER_IS_GNUCC)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_POINTER_ARITH -Wpointer-arith)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNUSED_PARAMETER -Wunused-parameter)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_WRITE_STRINGS -Wwrite-strings)
+ ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_UNDEFINED -Wundef)
# disable because it gives warnings for printf() & friends.
# ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_DOUBLE_PROMOTION -Wdouble-promotion -Wno-error=double-promotion)
ADD_CHECK_C_COMPILER_FLAG(C_WARNINGS C_WARN_NO_ERROR_UNUSED_BUT_SET_VARIABLE -Wno-error=unused-but-set-variable)
@@ -1118,6 +1275,7 @@ if(CMAKE_COMPILER_IS_GNUCC)
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_ALL -Wall)
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_INVALID_OFFSETOF -Wno-invalid-offsetof)
ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_NO_SIGN_COMPARE -Wno-sign-compare)
+ ADD_CHECK_CXX_COMPILER_FLAG(CXX_WARNINGS CXX_WARN_UNDEFINED -Wundef)
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
@@ -1131,6 +1289,18 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Intel")
endif()
+# MSVC2010 fails to links C++ libs right
+if(MSVC10)
+ if(WITH_IMAGE_OPENEXR)
+ message(WARNING "MSVC 2010 does not support OpenEXR, disabling WITH_IMAGE_OPENEXR. To enable support use Use MSVC 2008")
+ set(WITH_IMAGE_OPENEXR OFF)
+ endif()
+ if(WITH_OPENCOLLADA)
+ message(WARNING "MSVC 2010 does not support OpenCollada, disabling WITH_OPENCOLLADA. To enable support use Use MSVC 2008")
+ set(WITH_OPENCOLLADA OFF)
+ endif()
+endif()
+
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
if(WITH_IK_ITASC OR WITH_MOD_FLUID)
message(WARNING "Using Clang as CXX compiler: disabling WITH_IK_ITASC and WITH_MOD_FLUID, these features will be missing.")
@@ -1139,6 +1309,20 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
endif()
endif()
+
+# ensure python header is found since detection can fail, this could happen
+# with _any_ library but since we used a fixed python version this tends to
+# be most problematic.
+if(WITH_PYTHON)
+ if(NOT EXISTS "${PYTHON_INCLUDE_DIR}/Python.h")
+ message(FATAL_ERROR "Missing: \"${PYTHON_INCLUDE_DIR}/Python.h\",\n"
+ "Set the cache entry 'PYTHON_INCLUDE_DIR' to point "
+ "to a valid python include path. Containing "
+ "Python.h for python version \"${PYTHON_VERSION}\"")
+ endif()
+endif()
+
+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PLATFORM_CFLAGS} ${C_WARNINGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PLATFORM_CFLAGS} ${CXX_WARNINGS}")
@@ -1167,7 +1351,9 @@ add_subdirectory(extern)
#-----------------------------------------------------------------------------
# Blender Application
-add_subdirectory(source/creator)
+if(WITH_BLENDER)
+ add_subdirectory(source/creator)
+endif()
#-----------------------------------------------------------------------------
@@ -1179,3 +1365,84 @@ endif()
#-----------------------------------------------------------------------------
# CPack for generating packages
include(build_files/cmake/packaging.cmake)
+
+
+#-----------------------------------------------------------------------------
+# Print Final Configuration
+
+if(FIRST_RUN)
+ set(_config_msg "\n* Blender Configuration *")
+ macro(info_cfg_option
+ _setting)
+ set(_msg " * ${_setting}")
+ string(LENGTH "${_msg}" _len)
+ while("28" GREATER "${_len}")
+ set(_msg "${_msg} ")
+ math(EXPR _len "${_len} + 1")
+ endwhile()
+
+ set(_config_msg "${_config_msg}\n${_msg}${${_setting}}")
+ endmacro()
+
+ macro(info_cfg_text
+ _text)
+ set(_config_msg "${_config_msg}\n\n ${_text}")
+
+
+ endmacro()
+
+ info_cfg_text("Build Options:")
+ info_cfg_option(WITH_GAMEENGINE)
+ info_cfg_option(WITH_PLAYER)
+ info_cfg_option(WITH_BULLET)
+ info_cfg_option(WITH_IK_ITASC)
+ info_cfg_option(WITH_OPENCOLLADA)
+ info_cfg_option(WITH_FFTW3)
+ info_cfg_option(WITH_INTERNATIONAL)
+ info_cfg_option(WITH_INPUT_NDOF)
+
+ info_cfg_text("Compiler Options:")
+ info_cfg_option(WITH_BUILDINFO)
+ info_cfg_option(WITH_OPENMP)
+ info_cfg_option(WITH_RAYOPTIMIZATION)
+
+ info_cfg_text("System Options:")
+ info_cfg_option(WITH_INSTALL_PORTABLE)
+ info_cfg_option(WITH_X11_XINPUT)
+ info_cfg_option(WITH_BUILTIN_GLEW)
+
+ info_cfg_text("Image Formats:")
+ info_cfg_option(WITH_IMAGE_CINEON)
+ info_cfg_option(WITH_IMAGE_DDS)
+ info_cfg_option(WITH_IMAGE_HDR)
+ info_cfg_option(WITH_IMAGE_OPENEXR)
+ info_cfg_option(WITH_IMAGE_OPENJPEG)
+ info_cfg_option(WITH_IMAGE_REDCODE)
+ info_cfg_option(WITH_IMAGE_TIFF)
+
+ info_cfg_text("Audio:")
+ info_cfg_option(WITH_OPENAL)
+ info_cfg_option(WITH_SDL)
+ info_cfg_option(WITH_JACK)
+ info_cfg_option(WITH_CODEC_FFMPEG)
+ info_cfg_option(WITH_CODEC_SNDFILE)
+ info_cfg_option(WITH_SAMPLERATE)
+
+ info_cfg_text("Compression:")
+ info_cfg_option(WITH_LZMA)
+ info_cfg_option(WITH_LZO)
+
+ info_cfg_text("Python:")
+ info_cfg_option(WITH_PYTHON_INSTALL)
+ info_cfg_option(WITH_PYTHON_MODULE)
+ info_cfg_option(WITH_PYTHON_SAFETY)
+
+ info_cfg_text("Modifiers:")
+ info_cfg_option(WITH_MOD_BOOLEAN)
+ info_cfg_option(WITH_MOD_DECIMATE)
+ info_cfg_option(WITH_MOD_FLUID)
+
+ info_cfg_text("")
+
+ message("${_config_msg}")
+endif()
diff --git a/GNUmakefile b/GNUmakefile
index 47073bf5734..8446541cfae 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -35,17 +35,33 @@ OS_NCASE:=$(shell uname -s | tr '[A-Z]' '[a-z]')
# Source and Build DIR's
BLENDER_DIR:=$(shell pwd -P)
BUILD_DIR:=$(shell dirname $(BLENDER_DIR))/build/$(OS_NCASE)
+BUILD_TYPE:=Release
+BUILD_CMAKE_ARGS:=""
+# -----------------------------------------------------------------------------
+# additional targets for the build configuration
+
# support 'make debug'
ifneq "$(findstring debug, $(MAKECMDGOALS))" ""
BUILD_DIR:=$(BUILD_DIR)_debug
BUILD_TYPE:=Debug
-else
- BUILD_TYPE:=Release
+endif
+ifneq "$(findstring lite, $(MAKECMDGOALS))" ""
+ BUILD_DIR:=$(BUILD_DIR)_lite
+ BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/blender_lite.cmake
+endif
+ifneq "$(findstring headless, $(MAKECMDGOALS))" ""
+ BUILD_DIR:=$(BUILD_DIR)_bpy
+ BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/blender_headless.cmake
+endif
+ifneq "$(findstring bpy, $(MAKECMDGOALS))" ""
+ BUILD_DIR:=$(BUILD_DIR)_bpy
+ BUILD_CMAKE_ARGS:=$(BUILD_CMAKE_ARGS) -C$(BLENDER_DIR)/build_files/cmake/config/bpy_module.cmake
endif
+# -----------------------------------------------------------------------------
# Get the number of cores for threaded build
NPROCS:=1
ifeq ($(OS), Linux)
@@ -61,27 +77,59 @@ ifeq ($(OS), NetBSD)
NPROCS:=$(shell sysctl -a | grep "hw.ncpu " | cut -d" " -f3 )
endif
-
+# -----------------------------------------------------------------------------
# Build Blender
all:
@echo
@echo Configuring Blender ...
if test ! -f $(BUILD_DIR)/CMakeCache.txt ; then \
- cmake -H$(BLENDER_DIR) -B$(BUILD_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE) ; \
+ cmake $(BUILD_CMAKE_ARGS) -H$(BLENDER_DIR) -B$(BUILD_DIR) -DCMAKE_BUILD_TYPE:STRING=$(BUILD_TYPE); \
fi
@echo
@echo Building Blender ...
- make -C $(BUILD_DIR) -s -j $(NPROCS) install
+ $(MAKE) -C $(BUILD_DIR) -s -j $(NPROCS) install
@echo
- @echo run blender from "$(BUILD_DIR)/bin/blender"
+ @echo edit build configuration with: "$(BUILD_DIR)/CMakeCache.txt" run make again to rebuild.
+ @echo blender installed, run from: "$(BUILD_DIR)/bin/blender"
@echo
debug: all
- # pass
-
-# package types
+lite: all
+headless: all
+bpy: all
+
+# -----------------------------------------------------------------------------
+# Helo for build targets
+help:
+ @echo ""
+ @echo "Convenience targets provided for building blender, (multiple at once can be used)"
+ @echo " * debug - build a debug binary"
+ @echo " * lite - disable non essential features for a smaller binary and faster build"
+ @echo " * headless - build without an interface (renderfarm or server automation)"
+ @echo " * bpy - build as a python module which can be loaded from python directly"
+ @echo ""
+ @echo "Project Files for IDE's"
+ @echo " * project_qtcreator - QtCreator Project Files"
+ @echo " * project_netbeans - NetBeans Project Files"
+ @echo " * project_eclipse - Eclipse CDT4 Project Files"
+ @echo ""
+ @echo "Package Targets"
+ @echo " * package_debian - build a debian package"
+ @echo " * package_pacman - build an arch linux pacmanpackage"
+ @echo " * package_archive - build an archive package"
+ @echo ""
+ @echo "Testing Targets (not assosiated with building blender)"
+ @echo " * test - run ctest, currently tests import/export, operator execution and that python modules load"
+ @echo " * test_cmake - runs our own cmake file checker which detects errors in the cmake file list definitions"
+ @echo " * test_pep8 - checks all python script are pep8 which are tagged to use the stricter formatting"
+ @echo " * test_deprecated - checks for deprecation tags in our code which may need to be removed"
+ @echo ""
+
+# -----------------------------------------------------------------------------
+# Packages
+#
package_debian:
cd build_files/package_spec ; DEB_BUILD_OPTIONS="parallel=$(NPROCS)" sh ./build_debian.sh
@@ -92,21 +140,43 @@ package_archive:
make -C $(BUILD_DIR) -s package_archive
@echo archive in "$(BUILD_DIR)/release"
-# forward build targets
+
+# -----------------------------------------------------------------------------
+# Tests
+#
test:
cd $(BUILD_DIR) ; ctest . --output-on-failure
# run pep8 check check on scripts we distribute.
test_pep8:
- python source/tests/pep8.py > test_pep8.log 2>&1
+ python3 source/tests/pep8.py > test_pep8.log 2>&1
@echo "written: test_pep8.log"
# run some checks on our cmakefiles.
test_cmake:
- python build_files/cmake/cmake_consistency_check.py > test_cmake_consistency.log 2>&1
+ python3 build_files/cmake/cmake_consistency_check.py > test_cmake_consistency.log 2>&1
@echo "written: test_cmake_consistency.log"
+# run deprecation tests, see if we have anything to remove.
+test_deprecated:
+ python3 source/tests/check_deprecated.py
+
+
+# -----------------------------------------------------------------------------
+# Project Files
+#
+
+project_qtcreator:
+ python3 build_files/cmake/cmake_qtcreator_project.py $(BUILD_DIR)
+
+project_netbeans:
+ python3 build_files/cmake/cmake_netbeans_project.py $(BUILD_DIR)
+
+project_eclipse:
+ cmake -G"Eclipse CDT4 - Unix Makefiles" -H$(BLENDER_DIR) -B$(BUILD_DIR)
+
+
clean:
- make -C $(BUILD_DIR) clean
+ $(MAKE) -C $(BUILD_DIR) clean
.PHONY: all
diff --git a/SConstruct b/SConstruct
index e928970f6b8..2531872af6c 100644
--- a/SConstruct
+++ b/SConstruct
@@ -111,6 +111,11 @@ btools.print_targets(B.targets, B.bc)
# handling cmd line arguments & config file
+# bitness stuff
+tempbitness = int(B.arguments.get('BF_BITNESS', bitness)) # default to bitness found as per starting python
+if tempbitness in (32, 64): # only set if 32 or 64 has been given
+ bitness = int(tempbitness)
+
# first check cmdline for toolset and we create env to work on
quickie = B.arguments.get('BF_QUICK', None)
quickdebug = B.arguments.get('BF_QUICKDEBUG', None)
@@ -161,6 +166,13 @@ if sys.platform=='win32':
env.SConscriptChdir(0)
+# Remove major kernel version from linux platform.
+# After Linus switched kernel to new version model this major version
+# shouldn't take much sense for building rules.
+
+if re.match('linux[0-9]+', platform):
+ platform = 'linux'
+
crossbuild = B.arguments.get('BF_CROSS', None)
if crossbuild and platform not in ('win32-vc', 'win64-vc'):
platform = 'linuxcross'
@@ -241,12 +253,31 @@ if 'blenderlite' in B.targets:
target_env_defs['BF_BUILDINFO'] = False
target_env_defs['BF_NO_ELBEEM'] = True
target_env_defs['WITH_BF_PYTHON'] = False
+ target_env_defs['WITH_BF_3DMOUSE'] = False
# Merge blenderlite, let command line to override
for k,v in target_env_defs.iteritems():
if k not in B.arguments:
env[k] = v
+# Extended OSX_SDK and 3D_CONNEXION_CLIENT_LIBRARY detection for OSX
+if env['OURPLATFORM']=='darwin':
+ print B.bc.OKGREEN + "Detected Xcode version: -- " + B.bc.ENDC + env['XCODE_CUR_VER'][:9] + " --"
+ print "Available " + env['MACOSX_SDK_CHECK']
+ if not 'Mac OS X 10.5' in env['MACOSX_SDK_CHECK']:
+ print B.bc.OKGREEN + "MacOSX10.5.sdk not available:" + B.bc.ENDC + " using MacOSX10.6.sdk"
+ else:
+ print B.bc.OKGREEN + "Found recommended sdk :" + B.bc.ENDC + " using MacOSX10.5.sdk"
+
+ # for now, Mac builders must download and install the 3DxWare 10 Beta 4 driver framework from 3Dconnexion
+ # necessary header file lives here when installed:
+ # /Library/Frameworks/3DconnexionClient.framework/Versions/Current/Headers/ConnexionClientAPI.h
+ if env['WITH_BF_3DMOUSE'] == 1:
+ if not os.path.exists('/Library/Frameworks/3DconnexionClient.framework'):
+ print "3D_CONNEXION_CLIENT_LIBRARY not found, disabling WITH_BF_3DMOUSE" # avoid build errors !
+ env['WITH_BF_3DMOUSE'] = 0
+ else:
+ env.Append(LINKFLAGS=['-weak_framework','3DconnexionClient'])
if env['WITH_BF_OPENMP'] == 1:
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
@@ -306,9 +337,10 @@ if env['BF_NO_ELBEEM'] == 1:
env['CXXFLAGS'].append('-DDISABLE_ELBEEM')
env['CCFLAGS'].append('-DDISABLE_ELBEEM')
-if env['WITH_BF_SDL'] == False and env['OURPLATFORM'] in ('win32-vc', 'win32-ming', 'win64-vc'):
- env['PLATFORM_LINKFLAGS'].remove('/ENTRY:mainCRTStartup')
- env['PLATFORM_LINKFLAGS'].append('/ENTRY:main')
+# TODO, make optional
+env['CPPFLAGS'].append('-DWITH_AUDASPACE')
+env['CXXFLAGS'].append('-DWITH_AUDASPACE')
+env['CCFLAGS'].append('-DWITH_AUDASPACE')
# lastly we check for root_build_dir ( we should not do before, otherwise we might do wrong builddir
B.root_build_dir = env['BF_BUILDDIR']
@@ -360,6 +392,23 @@ if not quickie and do_clean:
print B.bc.HEADER+'Already Clean, nothing to do.'+B.bc.ENDC
Exit()
+
+# ensure python header is found since detection can fail, this could happen
+# with _any_ library but since we used a fixed python version this tends to
+# be most problematic.
+if env['WITH_BF_PYTHON']:
+ py_h = os.path.join(Dir(env.subst('${BF_PYTHON_INC}')).abspath, "Python.h")
+
+ if not os.path.exists(py_h):
+ print("\nMissing: \"" + env.subst('${BF_PYTHON_INC}') + os.sep + "Python.h\",\n"
+ " Set 'BF_PYTHON_INC' to point "
+ "to a valid python include path.\n Containing "
+ "Python.h for python version \"" + env.subst('${BF_PYTHON_VERSION}') + "\"")
+
+ Exit()
+ del py_h
+
+
if not os.path.isdir ( B.root_build_dir):
os.makedirs ( B.root_build_dir )
os.makedirs ( B.root_build_dir + 'source' )
@@ -409,17 +458,18 @@ if B.arguments.get('BF_PRIORITYLIST', '0')=='1':
B.propose_priorities()
dobj = B.buildinfo(env, "dynamic") + B.resources
+creob = B.creator(env)
thestatlibs, thelibincs = B.setup_staticlibs(env)
thesyslibs = B.setup_syslibs(env)
if 'blender' in B.targets or not env['WITH_BF_NOBLENDER']:
- env.BlenderProg(B.root_build_dir, "blender", mainlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
+ env.BlenderProg(B.root_build_dir, "blender", creob + mainlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blender')
if env['WITH_BF_PLAYER']:
playerlist = B.create_blender_liblist(env, 'player')
playerlist += B.create_blender_liblist(env, 'player2')
playerlist += B.create_blender_liblist(env, 'intern')
playerlist += B.create_blender_liblist(env, 'extern')
- env.BlenderProg(B.root_build_dir, "blenderplayer", playerlist + thestatlibs + dobj, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
+ env.BlenderProg(B.root_build_dir, "blenderplayer", dobj + playerlist + thestatlibs, thesyslibs, [B.root_build_dir+'/lib'] + thelibincs, 'blenderplayer')
##### Now define some targets
@@ -508,7 +558,7 @@ if env['OURPLATFORM']!='darwin':
scriptinstall.append(env.Install(dir=dir,source=source))
#-- icons
-if env['OURPLATFORM']=='linux2':
+if env['OURPLATFORM']=='linux':
iconlist = []
icontargetlist = []
@@ -587,7 +637,7 @@ textinstall = env.Install(dir=env['BF_INSTALLDIR'], source=textlist)
if env['OURPLATFORM']=='darwin':
allinstall = [blenderinstall, plugininstall, textinstall]
-elif env['OURPLATFORM']=='linux2':
+elif env['OURPLATFORM']=='linux':
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall, iconinstall]
else:
allinstall = [blenderinstall, dotblenderinstall, scriptinstall, plugininstall, textinstall]
@@ -639,11 +689,7 @@ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'):
dllsources.append('${LCGDIR}/sndfile/lib/libsndfile-1.dll')
if env['WITH_BF_FFMPEG']:
- dllsources += ['${BF_FFMPEG_LIBPATH}/avcodec-52.dll',
- '${BF_FFMPEG_LIBPATH}/avformat-52.dll',
- '${BF_FFMPEG_LIBPATH}/avdevice-52.dll',
- '${BF_FFMPEG_LIBPATH}/avutil-50.dll',
- '${BF_FFMPEG_LIBPATH}/swscale-0.dll']
+ dllsources += env['BF_FFMPEG_DLL'].split()
# Since the thumb handler is loaded by Explorer, architecture is
# strict: the x86 build fails on x64 Windows. We need to ship
diff --git a/build_files/buildbot/config/user-config-i686.py b/build_files/buildbot/config/user-config-i686.py
index 1ad6c5d22fe..07dc4a9d831 100644
--- a/build_files/buildbot/config/user-config-i686.py
+++ b/build_files/buildbot/config/user-config-i686.py
@@ -81,6 +81,12 @@ WITH_BF_STATICJEMALLOC = True
BF_JEMALLOC = '/home/sources/staticlibs/jemalloc'
BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib32'
+# Use 3d mouse library
+WITH_BF_3DMOUSE = True
+WITH_BF_STATIC3DMOUSE = True
+BF_3DMOUSE = '/home/sources/staticlibs/spnav'
+BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib32'
+
# Compilation and optimization
BF_DEBUG = False
REL_CFLAGS = ['-O2']
diff --git a/build_files/buildbot/config/user-config-player-i686.py b/build_files/buildbot/config/user-config-player-i686.py
index 241f5a79983..54e66e847df 100644
--- a/build_files/buildbot/config/user-config-player-i686.py
+++ b/build_files/buildbot/config/user-config-player-i686.py
@@ -13,7 +13,18 @@ WITH_BF_STATICPYTHON = True
WITH_BF_COLLADA = False
# FFMPEG configuration
-WITH_BF_FFMPEG = False
+WITH_BF_FFMPEG = True
+WITH_BF_STATICFFMPEG = True
+
+BF_FFMPEG = '/home/sources/staticlibs/ffmpeg'
+BF_FFMPEG_LIBPATH = '${BF_FFMPEG}/lib32'
+BF_FFMPEG_LIB_STATIC = '${BF_FFMPEG_LIBPATH}/libavformat.a ${BF_FFMPEG_LIBPATH}/libswscale.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libavcodec.a ${BF_FFMPEG_LIBPATH}/libavdevice.a ${BF_FFMPEG_LIBPATH}/libavutil.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libxvidcore.a ${BF_FFMPEG_LIBPATH}/libx264.a ${BF_FFMPEG_LIBPATH}/libmp3lame.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libvpx.a ${BF_FFMPEG_LIBPATH}/libvorbis.a ${BF_FFMPEG_LIBPATH}/libogg.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libvorbisenc.a ${BF_FFMPEG_LIBPATH}/libtheora.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libschroedinger-1.0.a ${BF_FFMPEG_LIBPATH}/liborc-0.4.a ${BF_FFMPEG_LIBPATH}/libdirac_encoder.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libfaad.a'
# Don't depend on system's libstdc++
WITH_BF_STATICCXX = True
@@ -65,6 +76,12 @@ WITH_BF_STATICJEMALLOC = True
BF_JEMALLOC = '/home/sources/staticlibs/jemalloc'
BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib32'
+# Use 3d mouse library
+WITH_BF_3DMOUSE = True
+WITH_BF_STATIC3DMOUSE = True
+BF_3DMOUSE = '/home/sources/staticlibs/spnav'
+BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib32'
+
# Compilation and optimization
BF_DEBUG = False
REL_CFLAGS = ['-O2']
diff --git a/build_files/buildbot/config/user-config-player-x86_64.py b/build_files/buildbot/config/user-config-player-x86_64.py
index d51894b26cf..5d594229d3e 100644
--- a/build_files/buildbot/config/user-config-player-x86_64.py
+++ b/build_files/buildbot/config/user-config-player-x86_64.py
@@ -13,7 +13,18 @@ WITH_BF_STATICPYTHON = True
WITH_BF_COLLADA = False
# FFMPEG configuration
-WITH_BF_FFMPEG = False
+WITH_BF_FFMPEG = True
+WITH_BF_STATICFFMPEG = True
+
+BF_FFMPEG = '/home/sources/staticlibs/ffmpeg'
+BF_FFMPEG_LIBPATH = '${BF_FFMPEG}/lib64'
+BF_FFMPEG_LIB_STATIC = '${BF_FFMPEG_LIBPATH}/libavformat.a ${BF_FFMPEG_LIBPATH}/libswscale.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libavcodec.a ${BF_FFMPEG_LIBPATH}/libavdevice.a ${BF_FFMPEG_LIBPATH}/libavutil.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libxvidcore.a ${BF_FFMPEG_LIBPATH}/libx264.a ${BF_FFMPEG_LIBPATH}/libmp3lame.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libvpx.a ${BF_FFMPEG_LIBPATH}/libvorbis.a ${BF_FFMPEG_LIBPATH}/libogg.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libvorbisenc.a ${BF_FFMPEG_LIBPATH}/libtheora.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libschroedinger-1.0.a ${BF_FFMPEG_LIBPATH}/liborc-0.4.a ${BF_FFMPEG_LIBPATH}/libdirac_encoder.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libfaad.a'
# Don't depend on system's libstdc++
WITH_BF_STATICCXX = True
@@ -65,6 +76,12 @@ WITH_BF_STATICJEMALLOC = True
BF_JEMALLOC = '/home/sources/staticlibs/jemalloc'
BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib64'
+# Use 3d mouse library
+WITH_BF_3DMOUSE = True
+WITH_BF_STATIC3DMOUSE = True
+BF_3DMOUSE = '/home/sources/staticlibs/spnav'
+BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib64'
+
# Compilation and optimization
BF_DEBUG = False
REL_CFLAGS = ['-O2']
diff --git a/build_files/buildbot/config/user-config-x86_64.py b/build_files/buildbot/config/user-config-x86_64.py
index 3eaadd99d45..9c569ff4458 100644
--- a/build_files/buildbot/config/user-config-x86_64.py
+++ b/build_files/buildbot/config/user-config-x86_64.py
@@ -81,6 +81,12 @@ WITH_BF_STATICJEMALLOC = True
BF_JEMALLOC = '/home/sources/staticlibs/jemalloc'
BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib64'
+# Use 3d mouse library
+WITH_BF_3DMOUSE = True
+WITH_BF_STATIC3DMOUSE = True
+BF_3DMOUSE = '/home/sources/staticlibs/spnav'
+BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib64'
+
# Compilation and optimization
BF_DEBUG = False
REL_CFLAGS = ['-O2']
diff --git a/build_files/buildbot/master.cfg b/build_files/buildbot/master.cfg
index b4d69a289ee..5aa5a43abf7 100644
--- a/build_files/buildbot/master.cfg
+++ b/build_files/buildbot/master.cfg
@@ -74,6 +74,7 @@ def svn_step(branch=''):
else:
return SVN(baseURL='https://svn.blender.org/svnroot/bf-blender/%%BRANCH%%/blender', mode='update', defaultBranch='trunk', workdir='blender')
+
def lib_svn_step(dir):
return SVN(name='lib svn', baseURL='https://svn.blender.org/svnroot/bf-blender/%%BRANCH%%/lib/' + dir, mode='update', defaultBranch='trunk', workdir='lib/' + dir)
@@ -115,6 +116,7 @@ add_builder(c, 'linux_x86_64_scons', '', generic_builder)
add_builder(c, 'salad_linux_x86_64_scons', '', generic_builder, 'soc-2011-salad')
add_builder(c, 'win32_scons', 'windows', generic_builder)
add_builder(c, 'salad_win32_scons', 'windows', generic_builder, 'soc-2011-salad')
+add_builder(c, 'win64_scons', 'win64', generic_builder)
#add_builder(c, 'freebsd_i386_cmake', '', generic_builder)
#add_builder(c, 'freebsd_x86_64_cmake', '', generic_builder)
diff --git a/build_files/buildbot/master_unpack.py b/build_files/buildbot/master_unpack.py
index 3e1dec726e5..ad7c09933c6 100644
--- a/build_files/buildbot/master_unpack.py
+++ b/build_files/buildbot/master_unpack.py
@@ -64,10 +64,11 @@ def get_platform(filename):
return '-'.join(platform_tokens)
+
def get_branch(filename):
tokens = filename.split("-")
branch = ""
-
+
for token in tokens:
if branch == "":
branch = token
diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py
index e74d889c243..415f95a516f 100644
--- a/build_files/buildbot/slave_compile.py
+++ b/build_files/buildbot/slave_compile.py
@@ -108,5 +108,13 @@ else:
sys.exit(0)
else:
+ if builder.find('win') != -1:
+ bitness = '32'
+
+ if builder.find('win64') != -1:
+ bitness = '64'
+
+ scons_options.append('BF_BITNESS=' + bitness)
+
retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options)
sys.exit(retcode)
diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py
index cdc7cff3275..af8d99893b4 100644
--- a/build_files/buildbot/slave_pack.py
+++ b/build_files/buildbot/slave_pack.py
@@ -36,7 +36,7 @@ builder = sys.argv[1]
branch = ''
if len(sys.argv) >= 3:
- branch = sys.argv[2]
+ branch = sys.argv[2]
# scons does own packaging
if builder.find('scons') != -1:
@@ -72,6 +72,14 @@ if builder.find('scons') != -1:
retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options)
sys.exit(retcode)
else:
+ if builder.find('win') != -1:
+ bitness = '32'
+
+ if builder.find('win64') != -1:
+ bitness = '64'
+
+ scons_options.append('BF_BITNESS=' + bitness)
+
retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options)
sys.exit(retcode)
diff --git a/build_files/cmake/FindPythonLibsUnix.cmake b/build_files/cmake/FindPythonLibsUnix.cmake
deleted file mode 100644
index 0752de4ce3c..00000000000
--- a/build_files/cmake/FindPythonLibsUnix.cmake
+++ /dev/null
@@ -1,72 +0,0 @@
-# - Find python libraries
-#
-# PYTHON_VERSION
-# PYTHON_INCLUDE_DIRS
-# PYTHON_LIBRARY
-# PYTHON_LIBPATH
-# PYTHON_LINKFLAGS
-
-#=============================================================================
-
-set(PYTHON_VERSION 3.2 CACHE STRING "")
-mark_as_advanced(PYTHON_VERSION)
-
-set(PYTHON_LINKFLAGS "-Xlinker -export-dynamic")
-mark_as_advanced(PYTHON_LINKFLAGS)
-
-set(_Python_ABI_FLAGS
- "m;mu;u; ")
-
-string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
-set(_Python_PATHS
- "$ENV{HOME}/py${_PYTHON_VERSION_NO_DOTS}" "/opt/py${_PYTHON_VERSION_NO_DOTS}" "/usr" "/usr/local")
-
-if(NOT DEFINED PYTHON_INCLUDE_DIRS)
- message(STATUS "Looking for include Python.h")
- set(_Found_PYTHON_H OFF)
-
- foreach(_CURRENT_PATH ${_Python_PATHS})
- foreach(_CURRENT_ABI_FLAGS ${_Python_ABI_FLAGS})
- if(CMAKE_BUILD_TYPE STREQUAL Debug)
- set(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
- endif()
- string(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
-
- set(_Python_HEADER "${_CURRENT_PATH}/include/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}/Python.h")
-
- if(EXISTS ${_Python_HEADER})
- message(STATUS "Checking for header: ${_Python_HEADER} - found")
- set(_Found_PYTHON_H ON)
- set(PYTHON ${_CURRENT_PATH})
- set(PYTHON_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
- break()
- else()
- message(STATUS "Checking for header: ${_Python_HEADER}")
- endif()
- endforeach()
-
- if(_Found_PYTHON_H)
- break()
- endif()
- endforeach()
-
- if(NOT _Found_PYTHON_H)
- message(FATAL_ERROR "Python.h not found")
- endif()
-endif()
-
-#=============================================================================
-# now the python versions are found
-
-
-set(PYTHON_INCLUDE_DIRS "${PYTHON}/include/python${PYTHON_VERSION}${PYTHON_ABI_FLAGS}" CACHE STRING "")
-mark_as_advanced(PYTHON_INCLUDE_DIRS)
-set(PYTHON_LIBRARY "python${PYTHON_VERSION}${PYTHON_ABI_FLAGS}" CACHE STRING "")
-mark_as_advanced(PYTHON_LIBRARY)
-set(PYTHON_LIBPATH ${PYTHON}/lib CACHE STRING "")
-mark_as_advanced(PYTHON_LIBPATH)
-# set(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "")
-
-if(NOT EXISTS "${PYTHON_INCLUDE_DIRS}/Python.h")
- message(FATAL_ERROR " Missing python header: ${PYTHON_INCLUDE_DIRS}/Python.h")
-endif()
diff --git a/build_files/cmake/Modules/FindFftw3.cmake b/build_files/cmake/Modules/FindFftw3.cmake
new file mode 100644
index 00000000000..197d4aab7b6
--- /dev/null
+++ b/build_files/cmake/Modules/FindFftw3.cmake
@@ -0,0 +1,70 @@
+# - Find Fftw3 library
+# Find the native Fftw3 includes and library
+# This module defines
+# FFTW3_INCLUDE_DIRS, where to find fftw3.h, Set when
+# FFTW3_INCLUDE_DIR is found.
+# FFTW3_LIBRARIES, libraries to link against to use Fftw3.
+# FFTW3_ROOT_DIR, The base directory to search for Fftw3.
+# This can also be an environment variable.
+# FFTW3_FOUND, If false, do not try to use Fftw3.
+#
+# also defined, but not for general use are
+# FFTW3_LIBRARY, where to find the Fftw3 library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If FFTW3_ROOT_DIR was defined in the environment, use it.
+IF(NOT FFTW3_ROOT_DIR AND NOT $ENV{FFTW3_ROOT_DIR} STREQUAL "")
+ SET(FFTW3_ROOT_DIR $ENV{FFTW3_ROOT_DIR})
+ENDIF()
+
+SET(_fftw3_SEARCH_DIRS
+ ${FFTW3_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(FFTW3_INCLUDE_DIR
+ NAMES
+ fftw3.h
+ HINTS
+ ${_fftw3_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+FIND_LIBRARY(FFTW3_LIBRARY
+ NAMES
+ fftw3
+ HINTS
+ ${_fftw3_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Fftw3 DEFAULT_MSG
+ FFTW3_LIBRARY FFTW3_INCLUDE_DIR)
+
+IF(FFTW3_FOUND)
+ SET(FFTW3_LIBRARIES ${FFTW3_LIBRARY})
+ SET(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR})
+ENDIF(FFTW3_FOUND)
+
+MARK_AS_ADVANCED(
+ FFTW3_INCLUDE_DIR
+ FFTW3_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindJack.cmake b/build_files/cmake/Modules/FindJack.cmake
new file mode 100644
index 00000000000..9a847fabf70
--- /dev/null
+++ b/build_files/cmake/Modules/FindJack.cmake
@@ -0,0 +1,70 @@
+# - Find Jack library
+# Find the native Jack includes and library
+# This module defines
+# JACK_INCLUDE_DIRS, where to find jack.h, Set when
+# JACK_INCLUDE_DIR is found.
+# JACK_LIBRARIES, libraries to link against to use Jack.
+# JACK_ROOT_DIR, The base directory to search for Jack.
+# This can also be an environment variable.
+# JACK_FOUND, If false, do not try to use Jack.
+#
+# also defined, but not for general use are
+# JACK_LIBRARY, where to find the Jack library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If JACK_ROOT_DIR was defined in the environment, use it.
+IF(NOT JACK_ROOT_DIR AND NOT $ENV{JACK_ROOT_DIR} STREQUAL "")
+ SET(JACK_ROOT_DIR $ENV{JACK_ROOT_DIR})
+ENDIF()
+
+SET(_jack_SEARCH_DIRS
+ ${JACK_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(JACK_INCLUDE_DIR
+ NAMES
+ jack.h
+ HINTS
+ ${_jack_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include/jack
+)
+
+FIND_LIBRARY(JACK_LIBRARY
+ NAMES
+ jack
+ HINTS
+ ${_jack_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set JACK_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Jack DEFAULT_MSG
+ JACK_LIBRARY JACK_INCLUDE_DIR)
+
+IF(JACK_FOUND)
+ SET(JACK_LIBRARIES ${JACK_LIBRARY})
+ SET(JACK_INCLUDE_DIRS ${JACK_INCLUDE_DIR})
+ENDIF(JACK_FOUND)
+
+MARK_AS_ADVANCED(
+ JACK_INCLUDE_DIR
+ JACK_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindJeMalloc.cmake b/build_files/cmake/Modules/FindJeMalloc.cmake
new file mode 100644
index 00000000000..5c7aa2cf1e1
--- /dev/null
+++ b/build_files/cmake/Modules/FindJeMalloc.cmake
@@ -0,0 +1,70 @@
+# - Find JeMalloc library
+# Find the native JeMalloc includes and library
+# This module defines
+# JEMALLOC_INCLUDE_DIRS, where to find jemalloc.h, Set when
+# JEMALLOC_INCLUDE_DIR is found.
+# JEMALLOC_LIBRARIES, libraries to link against to use JeMalloc.
+# JEMALLOC_ROOT_DIR, The base directory to search for JeMalloc.
+# This can also be an environment variable.
+# JEMALLOC_FOUND, If false, do not try to use JeMalloc.
+#
+# also defined, but not for general use are
+# JEMALLOC_LIBRARY, where to find the JeMalloc library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If JEMALLOC_ROOT_DIR was defined in the environment, use it.
+IF(NOT JEMALLOC_ROOT_DIR AND NOT $ENV{JEMALLOC_ROOT_DIR} STREQUAL "")
+ SET(JEMALLOC_ROOT_DIR $ENV{JEMALLOC_ROOT_DIR})
+ENDIF()
+
+SET(_jemalloc_SEARCH_DIRS
+ ${JEMALLOC_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(JEMALLOC_INCLUDE_DIR
+ NAMES
+ jemalloc.h
+ HINTS
+ ${_jemalloc_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include/jemalloc
+)
+
+FIND_LIBRARY(JEMALLOC_LIBRARY
+ NAMES
+ jemalloc
+ HINTS
+ ${_jemalloc_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set JEMALLOC_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(JeMalloc DEFAULT_MSG
+ JEMALLOC_LIBRARY JEMALLOC_INCLUDE_DIR)
+
+IF(JEMALLOC_FOUND)
+ SET(JEMALLOC_LIBRARIES ${JEMALLOC_LIBRARY})
+ SET(JEMALLOC_INCLUDE_DIRS ${JEMALLOC_INCLUDE_DIR})
+ENDIF(JEMALLOC_FOUND)
+
+MARK_AS_ADVANCED(
+ JEMALLOC_INCLUDE_DIR
+ JEMALLOC_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindOpenCOLLADA.cmake b/build_files/cmake/Modules/FindOpenCOLLADA.cmake
new file mode 100644
index 00000000000..c7637283514
--- /dev/null
+++ b/build_files/cmake/Modules/FindOpenCOLLADA.cmake
@@ -0,0 +1,118 @@
+# - Find OpenCOLLADA library
+# Find the native OpenCOLLADA includes and library
+# This module defines
+# OPENCOLLADA_INCLUDE_DIRS, where to find COLLADABaseUtils/ and
+# COLLADAFramework/, Set when OPENCOLLADA_INCLUDE_DIR is found.
+# OPENCOLLADA_LIBRARIES, libraries to link against to use OpenCOLLADA.
+# OPENCOLLADA_ROOT_DIR, The base directory to search for OpenCOLLADA.
+# This can also be an environment variable.
+# OPENCOLLADA_FOUND, If false, do not try to use OpenCOLLADA.
+#
+# also defined, but not for general use are
+# OPENCOLLADA_LIBRARY, where to find the OpenCOLLADA library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# note about include paths, there are 2 ways includes are set
+#
+# Where '/usr/include/opencollada' is the root dir:
+# /usr/include/opencollada/COLLADABaseUtils/COLLADABUPlatform.h
+#
+# Where '/opt/opencollada' is the base dir:
+# /opt/opencollada/COLLADABaseUtils/include/COLLADABUPlatform.h
+
+# If OPENCOLLADA_ROOT_DIR was defined in the environment, use it.
+IF(NOT OPENCOLLADA_ROOT_DIR AND NOT $ENV{OPENCOLLADA_ROOT_DIR} STREQUAL "")
+ SET(OPENCOLLADA_ROOT_DIR $ENV{OPENCOLLADA_ROOT_DIR})
+ENDIF()
+
+SET(_opencollada_FIND_INCLUDES
+ COLLADAStreamWriter
+ COLLADABaseUtils
+ COLLADAFramework
+ COLLADASaxFrameworkLoader
+ GeneratedSaxParser
+)
+
+SET(_opencollada_FIND_COMPONENTS
+ OpenCOLLADAStreamWriter
+ OpenCOLLADASaxFrameworkLoader
+ OpenCOLLADAFramework
+ OpenCOLLADABaseUtils
+ GeneratedSaxParser
+ UTF
+ MathMLSolver
+ pcre
+ ftoa
+ buffer
+ xml2
+)
+
+SET(_opencollada_SEARCH_DIRS
+ ${OPENCOLLADA_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+SET(_opencollada_INCLUDES)
+FOREACH(COMPONENT ${_opencollada_FIND_INCLUDES})
+ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+
+ # need to use this even thouh we are looking for a dir
+ FIND_FILE(OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR
+ NAMES
+ ${COMPONENT}/include
+ ${COMPONENT}
+ # Ubuntu ppa needs this.
+ # Alternative would be to suffix all members of search path
+ # but this is less trouble, just looks strange.
+ include/opencollada/${COMPONENT}
+ HINTS
+ ${_opencollada_SEARCH_DIRS}
+ )
+ MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR)
+ LIST(APPEND _opencollada_INCLUDES "${OPENCOLLADA_${UPPERCOMPONENT}_INCLUDE_DIR}")
+ENDFOREACH()
+
+
+SET(_opencollada_LIBRARIES)
+FOREACH(COMPONENT ${_opencollada_FIND_COMPONENTS})
+ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+
+ FIND_LIBRARY(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY
+ NAMES
+ ${COMPONENT}
+ HINTS
+ ${_opencollada_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ # Ubuntu ppa needs this.
+ lib64/opencollada lib/opencollada
+ )
+ MARK_AS_ADVANCED(OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY)
+ LIST(APPEND _opencollada_LIBRARIES "${OPENCOLLADA_${UPPERCOMPONENT}_LIBRARY}")
+ENDFOREACH()
+
+
+# handle the QUIETLY and REQUIRED arguments and set OPENCOLLADA_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenCOLLADA DEFAULT_MSG
+ _opencollada_LIBRARIES _opencollada_INCLUDES)
+
+
+IF(OPENCOLLADA_FOUND)
+ SET(OPENCOLLADA_LIBRARIES ${_opencollada_LIBRARIES})
+ SET(OPENCOLLADA_INCLUDE_DIRS ${_opencollada_INCLUDES})
+ENDIF(OPENCOLLADA_FOUND)
diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake
new file mode 100644
index 00000000000..546f690dbf6
--- /dev/null
+++ b/build_files/cmake/Modules/FindOpenEXR.cmake
@@ -0,0 +1,92 @@
+# - Find OpenEXR library
+# Find the native OpenEXR includes and library
+# This module defines
+# OPENEXR_INCLUDE_DIRS, where to find ImfXdr.h, etc. Set when
+# OPENEXR_INCLUDE_DIR is found.
+# OPENEXR_LIBRARIES, libraries to link against to use OpenEXR.
+# OPENEXR_ROOT_DIR, The base directory to search for OpenEXR.
+# This can also be an environment variable.
+# OPENEXR_FOUND, If false, do not try to use OpenEXR.
+#
+# For indervidual library access these advanced settings are available
+# OPENEXR_HALF_LIBRARY, Path to Half library
+# OPENEXR_IEX_LIBRARY, Path to Half library
+# OPENEXR_ILMIMF_LIBRARY, Path to Ilmimf library
+# OPENEXR_ILMTHREAD_LIBRARY, Path to IlmThread library
+# OPENEXR_IMATH_LIBRARY, Path to Imath library
+#
+# also defined, but not for general use are
+# OPENEXR_LIBRARY, where to find the OpenEXR library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If OPENEXR_ROOT_DIR was defined in the environment, use it.
+IF(NOT OPENEXR_ROOT_DIR AND NOT $ENV{OPENEXR_ROOT_DIR} STREQUAL "")
+ SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR})
+ENDIF()
+
+SET(_openexr_FIND_COMPONENTS
+ Half
+ Iex
+ IlmImf
+ IlmThread
+ Imath
+)
+
+SET(_openexr_SEARCH_DIRS
+ ${OPENEXR_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(OPENEXR_INCLUDE_DIR
+ NAMES
+ ImfXdr.h
+ HINTS
+ ${_openexr_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include/OpenEXR
+)
+
+SET(_openexr_LIBRARIES)
+FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
+ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+
+ FIND_LIBRARY(OPENEXR_${UPPERCOMPONENT}_LIBRARY
+ NAMES
+ ${COMPONENT}
+ HINTS
+ ${_openexr_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+ LIST(APPEND _openexr_LIBRARIES "${OPENEXR_${UPPERCOMPONENT}_LIBRARY}")
+ENDFOREACH()
+
+# handle the QUIETLY and REQUIRED arguments and set OPENEXR_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG
+ _openexr_LIBRARIES OPENEXR_INCLUDE_DIR)
+
+IF(OPENEXR_FOUND)
+ SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES})
+ SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR})
+ENDIF()
+
+MARK_AS_ADVANCED(OPENEXR_INCLUDE_DIR)
+FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS})
+ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+ MARK_AS_ADVANCED(OPENEXR_${UPPERCOMPONENT}_LIBRARY)
+ENDFOREACH()
diff --git a/build_files/cmake/Modules/FindOpenJPEG.cmake b/build_files/cmake/Modules/FindOpenJPEG.cmake
new file mode 100644
index 00000000000..8d901ed633c
--- /dev/null
+++ b/build_files/cmake/Modules/FindOpenJPEG.cmake
@@ -0,0 +1,70 @@
+# - Find OpenJPEG library
+# Find the native OpenJPEG includes and library
+# This module defines
+# OPENJPEG_INCLUDE_DIRS, where to find openjpeg.h, Set when
+# OPENJPEG_INCLUDE_DIR is found.
+# OPENJPEG_LIBRARIES, libraries to link against to use OpenJPEG.
+# OPENJPEG_ROOT_DIR, The base directory to search for OpenJPEG.
+# This can also be an environment variable.
+# OPENJPEG_FOUND, If false, do not try to use OpenJPEG.
+#
+# also defined, but not for general use are
+# OPENJPEG_LIBRARY, where to find the OpenJPEG library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If OPENJPEG_ROOT_DIR was defined in the environment, use it.
+IF(NOT OPENJPEG_ROOT_DIR AND NOT $ENV{OPENJPEG_ROOT_DIR} STREQUAL "")
+ SET(OPENJPEG_ROOT_DIR $ENV{OPENJPEG_ROOT_DIR})
+ENDIF()
+
+SET(_openjpeg_SEARCH_DIRS
+ ${OPENJPEG_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(OPENJPEG_INCLUDE_DIR
+ NAMES
+ openjpeg.h
+ HINTS
+ ${_openjpeg_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+FIND_LIBRARY(OPENJPEG_LIBRARY
+ NAMES
+ openjpeg
+ HINTS
+ ${_openjpeg_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set OPENJPEG_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenJPEG DEFAULT_MSG
+ OPENJPEG_LIBRARY OPENJPEG_INCLUDE_DIR)
+
+IF(OPENJPEG_FOUND)
+ SET(OPENJPEG_LIBRARIES ${OPENJPEG_LIBRARY})
+ SET(OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIR})
+ENDIF(OPENJPEG_FOUND)
+
+MARK_AS_ADVANCED(
+ OPENJPEG_INCLUDE_DIR
+ OPENJPEG_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindPythonLibsUnix.cmake b/build_files/cmake/Modules/FindPythonLibsUnix.cmake
new file mode 100644
index 00000000000..882f1e2ea77
--- /dev/null
+++ b/build_files/cmake/Modules/FindPythonLibsUnix.cmake
@@ -0,0 +1,121 @@
+# - Find Python libraries
+# Find the native Python includes and library
+#
+# Note:, This is not _yet_ intended to be a general python module for other
+# projects to use since its hard coded to python 3.2 as blender only supports
+# a single python version.
+# This is for blender/unix python only.
+#
+# This module defines
+# PYTHON_VERSION
+# PYTHON_INCLUDE_DIRS
+# PYTHON_LIBRARIES
+# PYTHON_LIBPATH, Used for installation
+# PYTHON_LINKFLAGS
+# PYTHON_ROOT_DIR, The base directory to search for Python.
+# This can also be an environment variable.
+#
+# also defined, but not for general use are
+# PYTHON_LIBRARY, where to find the python library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If PYTHON_ROOT_DIR was defined in the environment, use it.
+IF(NOT PYTHON_ROOT_DIR AND NOT $ENV{PYTHON_ROOT_DIR} STREQUAL "")
+ SET(PYTHON_ROOT_DIR $ENV{PYTHON_ROOT_DIR})
+ENDIF()
+
+IF(DEFINED PYTHON_VERSION)
+ SET(PYTHON_VERSION "${PYTHON_VERSION}" CACHE STRING "")
+ELSE()
+ SET(PYTHON_VERSION 3.2 CACHE STRING "")
+ENDIF()
+MARK_AS_ADVANCED(PYTHON_VERSION)
+
+SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic")
+MARK_AS_ADVANCED(PYTHON_LINKFLAGS)
+
+SET(_python_ABI_FLAGS
+ "m;mu;u; " # release
+ "md;mud;ud;d" # debug
+)
+
+STRING(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
+
+SET(_python_SEARCH_DIRS
+ ${PYTHON_ROOT_DIR}
+ "$ENV{HOME}/py${_PYTHON_VERSION_NO_DOTS}"
+ "/opt/py${_PYTHON_VERSION_NO_DOTS}"
+)
+
+FOREACH(_CURRENT_ABI_FLAGS ${_python_ABI_FLAGS})
+ #IF(CMAKE_BUILD_TYPE STREQUAL Debug)
+ # SET(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
+ #ENDIF()
+ STRING(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
+
+ FIND_PATH(PYTHON_INCLUDE_DIR
+ NAMES
+ Python.h
+ HINTS
+ ${_python_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include/python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}
+ )
+
+ FIND_LIBRARY(PYTHON_LIBRARY
+ NAMES
+ "python${PYTHON_VERSION}${_CURRENT_ABI_FLAGS}"
+ HINTS
+ ${_python_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+ IF(PYTHON_LIBRARY AND PYTHON_INCLUDE_DIR)
+ break()
+ ELSE()
+ # ensure we dont find values from 2 different ABI versions
+ UNSET(PYTHON_INCLUDE_DIR CACHE)
+ UNSET(PYTHON_LIBRARY CACHE)
+ ENDIF()
+ENDFOREACH()
+
+UNSET(_CURRENT_ABI_FLAGS)
+UNSET(_CURRENT_PATH)
+
+UNSET(_python_ABI_FLAGS)
+UNSET(_python_SEARCH_DIRS)
+
+# handle the QUIETLY and REQUIRED arguments and SET PYTHONLIBSUNIX_FOUND to TRUE IF
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibsUnix DEFAULT_MSG
+ PYTHON_LIBRARY PYTHON_INCLUDE_DIR)
+
+
+IF(PYTHONLIBSUNIX_FOUND)
+ # Assign cache items
+ SET(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR})
+ SET(PYTHON_LIBRARIES ${PYTHON_LIBRARY})
+
+ # we need this for installation
+ GET_FILENAME_COMPONENT(PYTHON_LIBPATH ${PYTHON_LIBRARY} PATH)
+
+ # not used
+ # SET(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "")
+
+ MARK_AS_ADVANCED(
+ PYTHON_INCLUDE_DIR
+ PYTHON_LIBRARY
+ )
+ENDIF()
diff --git a/build_files/cmake/Modules/FindSamplerate.cmake b/build_files/cmake/Modules/FindSamplerate.cmake
new file mode 100644
index 00000000000..ea7a0d7a18c
--- /dev/null
+++ b/build_files/cmake/Modules/FindSamplerate.cmake
@@ -0,0 +1,70 @@
+# - Find Samplerate library
+# Find the native Samplerate includes and library
+# This module defines
+# SAMPLERATE_INCLUDE_DIRS, where to find samplerate.h, Set when
+# SAMPLERATE_INCLUDE_DIR is found.
+# SAMPLERATE_LIBRARIES, libraries to link against to use Samplerate.
+# SAMPLERATE_ROOT_DIR, The base directory to search for Samplerate.
+# This can also be an environment variable.
+# SAMPLERATE_FOUND, If false, do not try to use Samplerate.
+#
+# also defined, but not for general use are
+# SAMPLERATE_LIBRARY, where to find the Samplerate library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If SAMPLERATE_ROOT_DIR was defined in the environment, use it.
+IF(NOT SAMPLERATE_ROOT_DIR AND NOT $ENV{SAMPLERATE_ROOT_DIR} STREQUAL "")
+ SET(SAMPLERATE_ROOT_DIR $ENV{SAMPLERATE_ROOT_DIR})
+ENDIF()
+
+SET(_samplerate_SEARCH_DIRS
+ ${SAMPLERATE_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(SAMPLERATE_INCLUDE_DIR
+ NAMES
+ samplerate.h
+ HINTS
+ ${_samplerate_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+FIND_LIBRARY(SAMPLERATE_LIBRARY
+ NAMES
+ samplerate
+ HINTS
+ ${_samplerate_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set SAMPLERATE_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Samplerate DEFAULT_MSG
+ SAMPLERATE_LIBRARY SAMPLERATE_INCLUDE_DIR)
+
+IF(SAMPLERATE_FOUND)
+ SET(SAMPLERATE_LIBRARIES ${SAMPLERATE_LIBRARY})
+ SET(SAMPLERATE_INCLUDE_DIRS ${SAMPLERATE_INCLUDE_DIR})
+ENDIF(SAMPLERATE_FOUND)
+
+MARK_AS_ADVANCED(
+ SAMPLERATE_INCLUDE_DIR
+ SAMPLERATE_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindSndFile.cmake b/build_files/cmake/Modules/FindSndFile.cmake
new file mode 100644
index 00000000000..1b685eacfbd
--- /dev/null
+++ b/build_files/cmake/Modules/FindSndFile.cmake
@@ -0,0 +1,68 @@
+# - Find SndFile library
+# Find the native SndFile includes and library
+# This module defines
+# SNDFILE_INCLUDE_DIRS, where to find sndfile.h, Set when
+# SNDFILE_INCLUDE_DIR is found.
+# SNDFILE_LIBRARIES, libraries to link against to use SndFile.
+# SNDFILE_ROOT_DIR, The base directory to search for SndFile.
+# This can also be an environment variable.
+# SNDFILE_FOUND, If false, do not try to use SndFile.
+#
+# also defined, but not for general use are
+# SNDFILE_LIBRARY, where to find the SndFile library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If SNDFILE_ROOT_DIR was defined in the environment, use it.
+IF(NOT SNDFILE_ROOT_DIR AND NOT $ENV{SNDFILE_ROOT_DIR} STREQUAL "")
+ SET(SNDFILE_ROOT_DIR $ENV{SNDFILE_ROOT_DIR})
+ENDIF()
+
+SET(_sndfile_SEARCH_DIRS
+ ${SNDFILE_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(SNDFILE_INCLUDE_DIR sndfile.h
+ HINTS
+ ${_sndfile_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+FIND_LIBRARY(SNDFILE_LIBRARY
+ NAMES
+ sndfile
+ HINTS
+ ${_sndfile_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set SNDFILE_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SndFile DEFAULT_MSG
+ SNDFILE_LIBRARY SNDFILE_INCLUDE_DIR)
+
+IF(SNDFILE_FOUND)
+ SET(SNDFILE_LIBRARIES ${SNDFILE_LIBRARY})
+ SET(SNDFILE_INCLUDE_DIRS ${SNDFILE_INCLUDE_DIR})
+ENDIF(SNDFILE_FOUND)
+
+MARK_AS_ADVANCED(
+ SNDFILE_INCLUDE_DIR
+ SNDFILE_LIBRARY
+)
diff --git a/build_files/cmake/Modules/FindSpacenav.cmake b/build_files/cmake/Modules/FindSpacenav.cmake
new file mode 100644
index 00000000000..206f3611ed6
--- /dev/null
+++ b/build_files/cmake/Modules/FindSpacenav.cmake
@@ -0,0 +1,70 @@
+# - Find Spacenav library
+# Find the native Spacenav includes and library
+# This module defines
+# SPACENAV_INCLUDE_DIRS, where to find spnav.h, Set when
+# SPACENAV_INCLUDE_DIR is found.
+# SPACENAV_LIBRARIES, libraries to link against to use Spacenav.
+# SPACENAV_ROOT_DIR, The base directory to search for Spacenav.
+# This can also be an environment variable.
+# SPACENAV_FOUND, If false, do not try to use Spacenav.
+#
+# also defined, but not for general use are
+# SPACENAV_LIBRARY, where to find the Spacenav library.
+
+#=============================================================================
+# Copyright 2011 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If SPACENAV_ROOT_DIR was defined in the environment, use it.
+IF(NOT SPACENAV_ROOT_DIR AND NOT $ENV{SPACENAV_ROOT_DIR} STREQUAL "")
+ SET(SPACENAV_ROOT_DIR $ENV{SPACENAV_ROOT_DIR})
+ENDIF()
+
+SET(_spacenav_SEARCH_DIRS
+ ${SPACENAV_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+)
+
+FIND_PATH(SPACENAV_INCLUDE_DIR
+ NAMES
+ spnav.h
+ HINTS
+ ${_spacenav_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+FIND_LIBRARY(SPACENAV_LIBRARY
+ NAMES
+ spnav
+ HINTS
+ ${_spacenav_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set SPACENAV_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Spacenav DEFAULT_MSG
+ SPACENAV_LIBRARY SPACENAV_INCLUDE_DIR)
+
+IF(SPACENAV_FOUND)
+ SET(SPACENAV_LIBRARIES ${SPACENAV_LIBRARY})
+ SET(SPACENAV_INCLUDE_DIRS ${SPACENAV_INCLUDE_DIR})
+ENDIF(SPACENAV_FOUND)
+
+MARK_AS_ADVANCED(
+ SPACENAV_INCLUDE_DIR
+ SPACENAV_LIBRARY
+)
diff --git a/build_files/cmake/buildinfo.cmake b/build_files/cmake/buildinfo.cmake
index bfc17ae2cfe..e68015e36d3 100644
--- a/build_files/cmake/buildinfo.cmake
+++ b/build_files/cmake/buildinfo.cmake
@@ -27,9 +27,9 @@ endif()
# Write a file with the SVNVERSION define
file(WRITE buildinfo.h.txt
- "#define BUILD_REV ${MY_WC_REVISION}\n"
- "#define BUILD_DATE ${BUILD_DATE}\n"
- "#define BUILD_TIME ${BUILD_TIME}\n"
+ "#define BUILD_REV \"${MY_WC_REVISION}\"\n"
+ "#define BUILD_DATE \"${BUILD_DATE}\"\n"
+ "#define BUILD_TIME \"${BUILD_TIME}\"\n"
)
# Copy the file to the final header only if the version changes
diff --git a/build_files/cmake/cmake_consistency_check.py b/build_files/cmake/cmake_consistency_check.py
index f55b2e95d5e..880cb582f1e 100755
--- a/build_files/cmake/cmake_consistency_check.py
+++ b/build_files/cmake/cmake_consistency_check.py
@@ -23,27 +23,31 @@
# <pep8 compliant>
-IGNORE = \
- "/test/",\
- "/decimate_glut_test/",\
- "/BSP_GhostTest/",\
- "/release/",\
- "/xembed/",\
- "/decimation/intern/future/",\
- "/TerraplayNetwork/",\
- "/ik_glut_test/"
+from cmake_consistency_check_config import IGNORE, UTF8_CHECK, SOURCE_DIR
import os
-from os.path import join, dirname, normpath, abspath, splitext
+from os.path import join, dirname, normpath, splitext
-base = join(os.path.dirname(__file__), "..", "..")
-base = normpath(base)
-base = abspath(base)
-
-print("Scanning:", base)
+print("Scanning:", SOURCE_DIR)
global_h = set()
global_c = set()
+global_refs = {}
+
+
+def replace_line(f, i, text, keep_indent=True):
+ file_handle = open(f, 'r')
+ data = file_handle.readlines()
+ file_handle.close()
+
+ l = data[i]
+ ws = l[:len(l) - len(l.lstrip())]
+
+ data[i] = "%s%s\n" % (ws, text)
+
+ file_handle = open(f, 'w')
+ file_handle.writelines(data)
+ file_handle.close()
def source_list(path, filename_check=None):
@@ -88,7 +92,20 @@ def cmake_get_src(f):
found = False
i = 0
# print(f)
+
+ def is_definition(l, f, i, name):
+ if ('set(%s' % name) in l or ('set(' in l and l.endswith(name)):
+ if len(l.split()) > 1:
+ raise Exception("strict formatting not kept 'set(%s*' %s:%d" % (name, f, i))
+ return True
+
+ if ("list(APPEND %s" % name) in l or ('list(APPEND ' in l and l.endswith(name)):
+ if l.endswith(")"):
+ raise Exception("strict formatting not kept 'list(APPEND %s...)' on 1 line %s:%d" % (name, f, i))
+ return True
+
while it is not None:
+ context_name = ""
while it is not None:
i += 1
try:
@@ -98,16 +115,13 @@ def cmake_get_src(f):
break
l = l.strip()
if not l.startswith("#"):
- if 'set(SRC' in l or ('set(' in l and l.endswith("SRC")):
- if len(l.split()) > 1:
- raise Exception("strict formatting not kept 'set(SRC*' %s:%d" % (f, i))
- found = True
+ found = is_definition(l, f, i, "SRC")
+ if found:
+ context_name = "SRC"
break
-
- if "list(APPEND SRC" in l:
- if l.endswith(")"):
- raise Exception("strict formatting not kept 'list(APPEND SRC...)' on 1 line %s:%d" % (f, i))
- found = True
+ found = is_definition(l, f, i, "INC")
+ if found:
+ context_name = "INC"
break
if found:
@@ -136,21 +150,44 @@ def cmake_get_src(f):
if not l:
pass
elif l.startswith("$"):
- print("Cant use var '%s' %s:%d" % (l, f, i))
+ if context_name == "SRC":
+ # assume if it ends with context_name we know about it
+ if not l.split("}")[0].endswith(context_name):
+ print("Can't use var '%s' %s:%d" % (l, f, i))
elif len(l.split()) > 1:
raise Exception("Multi-line define '%s' %s:%d" % (l, f, i))
else:
new_file = normpath(join(cmake_base, l))
- if is_c_header(new_file):
- sources_h.append(new_file)
- elif is_c(new_file):
- sources_c.append(new_file)
- elif l in ("PARENT_SCOPE", ):
- # cmake var, ignore
- pass
- else:
- raise Exception("unknown file type - not c or h %s -> %s" % (f, new_file))
+ if context_name == "SRC":
+ if is_c_header(new_file):
+ sources_h.append(new_file)
+ global_refs.setdefault(new_file, []).append((f, i))
+ elif is_c(new_file):
+ sources_c.append(new_file)
+ global_refs.setdefault(new_file, []).append((f, i))
+ elif l in ("PARENT_SCOPE", ):
+ # cmake var, ignore
+ pass
+ elif new_file.endswith(".list"):
+ pass
+ elif new_file.endswith(".def"):
+ pass
+ else:
+ raise Exception("unknown file type - not c or h %s -> %s" % (f, new_file))
+
+ elif context_name == "INC":
+ if os.path.isdir(new_file):
+ new_path_rel = os.path.relpath(new_file, cmake_base)
+
+ if new_path_rel != l:
+ print("overly relative path:\n %s:%d\n %s\n %s" % (f, i, l, new_path_rel))
+
+ ## Save time. just replace the line
+ # replace_line(f, i - 1, new_path_rel)
+
+ else:
+ raise Exception("non existant include %s:%d -> %s" % (f, i, new_file))
# print(new_file)
@@ -170,10 +207,14 @@ def cmake_get_src(f):
print(" missing: " + ff)
'''
+ # reset
+ sources_h[:] = []
+ sources_c[:] = []
+
filen.close()
-for cmake in source_list(base, is_cmake):
+for cmake in source_list(SOURCE_DIR, is_cmake):
cmake_get_src(cmake)
@@ -183,39 +224,74 @@ def is_ignore(f):
return True
return False
+
# First do stupid check, do these files exist?
+print("\nChecking for missing references:")
+is_err = False
+errs = []
for f in (global_h | global_c):
if f.endswith("dna.c"):
continue
if not os.path.exists(f):
- raise Exception("CMake referenced file missing: " + f)
-
+ refs = global_refs[f]
+ if refs:
+ for cf, i in refs:
+ errs.append((cf, i))
+ else:
+ raise Exception("CMake referenecs missing, internal error, aborting!")
+ is_err = True
+
+errs.sort()
+errs.reverse()
+for cf, i in errs:
+ print("%s:%d" % (cf, i))
+ # Write a 'sed' script, useful if we get a lot of these
+ # print("sed '%dd' '%s' > '%s.tmp' ; mv '%s.tmp' '%s'" % (i, cf, cf, cf, cf))
+
+
+if is_err:
+ raise Exception("CMake referenecs missing files, aborting!")
+del is_err
+del errs
# now check on files not accounted for.
print("\nC/C++ Files CMake doesnt know about...")
-for cf in sorted(source_list(base, is_c)):
+for cf in sorted(source_list(SOURCE_DIR, is_c)):
if not is_ignore(cf):
if cf not in global_c:
print("missing_c: ", cf)
+
+ # check if automake builds a corrasponding .o file.
+ '''
+ if cf in global_c:
+ out1 = os.path.splitext(cf)[0] + ".o"
+ out2 = os.path.splitext(cf)[0] + ".Po"
+ out2_dir, out2_file = out2 = os.path.split(out2)
+ out2 = os.path.join(out2_dir, ".deps", out2_file)
+ if not os.path.exists(out1) and not os.path.exists(out2):
+ print("bad_c: ", cf)
+ '''
+
print("\nC/C++ Headers CMake doesnt know about...")
-for hf in sorted(source_list(base, is_c_header)):
+for hf in sorted(source_list(SOURCE_DIR, is_c_header)):
if not is_ignore(hf):
if hf not in global_h:
print("missing_h: ", hf)
-# test encoding
-import traceback
-for files in (global_c, global_h):
- for f in sorted(files):
- if os.path.exists(f):
- # ignore outside of our source tree
- if "extern" not in f:
- i = 1
- try:
- for l in open(f, "r", encoding="utf8"):
- i += 1
- except:
- print("Non utf8: %s:%d" % (f, i))
- if i > 1:
- traceback.print_exc()
+if UTF8_CHECK:
+ # test encoding
+ import traceback
+ for files in (global_c, global_h):
+ for f in sorted(files):
+ if os.path.exists(f):
+ # ignore outside of our source tree
+ if "extern" not in f:
+ i = 1
+ try:
+ for l in open(f, "r", encoding="utf8"):
+ i += 1
+ except:
+ print("Non utf8: %s:%d" % (f, i))
+ if i > 1:
+ traceback.print_exc()
diff --git a/build_files/cmake/cmake_consistency_check_config.py b/build_files/cmake/cmake_consistency_check_config.py
new file mode 100644
index 00000000000..60a46d3a1dd
--- /dev/null
+++ b/build_files/cmake/cmake_consistency_check_config.py
@@ -0,0 +1,48 @@
+import os
+
+IGNORE = (
+ "/test/",
+ "/decimate_glut_test/",
+ "/BSP_GhostTest/",
+ "/release/",
+ "/xembed/",
+ "/decimation/intern/future/",
+ "/TerraplayNetwork/",
+ "/ik_glut_test/",
+
+ # specific source files
+ "extern/Eigen2/Eigen/src/Cholesky/CholeskyInstantiations.cpp",
+ "extern/Eigen2/Eigen/src/Core/CoreInstantiations.cpp",
+ "extern/Eigen2/Eigen/src/QR/QrInstantiations.cpp",
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp",
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp",
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp",
+ "extern/bullet2/src/BulletCollision/CollisionShapes/btBox2dShape.cpp",
+ "extern/bullet2/src/BulletCollision/CollisionShapes/btConvex2dShape.cpp",
+ "extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.cpp",
+ "extern/bullet2/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp",
+ "extern/bullet2/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp",
+ "extern/eltopo/common/meshes/ObjLoader.cpp",
+ "extern/eltopo/common/meshes/meshloader.cpp",
+ "extern/eltopo/common/openglutils.cpp",
+ "extern/eltopo/eltopo3d/broadphase_blenderbvh.cpp",
+ "source/blender/imbuf/intern/imbuf_cocoa.m",
+
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h",
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h",
+ "extern/bullet2/src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h",
+ "extern/bullet2/src/BulletCollision/CollisionShapes/btBox2dShape.h",
+ "extern/bullet2/src/BulletCollision/CollisionShapes/btConvex2dShape.h",
+ "extern/bullet2/src/BulletDynamics/Character/btKinematicCharacterController.h",
+ "extern/bullet2/src/BulletDynamics/ConstraintSolver/btHinge2Constraint.h",
+ "extern/bullet2/src/BulletDynamics/ConstraintSolver/btUniversalConstraint.h",
+ "extern/eltopo/common/meshes/Edge.hpp",
+ "extern/eltopo/common/meshes/ObjLoader.hpp",
+ "extern/eltopo/common/meshes/TriangleIndex.hpp",
+ "extern/eltopo/common/meshes/meshloader.h",
+ "extern/eltopo/eltopo3d/broadphase_blenderbvh.h"
+ )
+
+UTF8_CHECK = True
+
+SOURCE_DIR = os.path.normpath(os.path.abspath(os.path.normpath(os.path.join(os.path.dirname(__file__), "..", ".."))))
diff --git a/build_files/cmake/cmake_netbeans_project.py b/build_files/cmake/cmake_netbeans_project.py
index 6afca8f3b6a..02dfec06c0b 100755
--- a/build_files/cmake/cmake_netbeans_project.py
+++ b/build_files/cmake/cmake_netbeans_project.py
@@ -30,7 +30,18 @@ Example linux usage
Windows not supported so far
"""
-from project_info import *
+from project_info import (SIMPLE_PROJECTFILE,
+ SOURCE_DIR,
+ CMAKE_DIR,
+ PROJECT_DIR,
+ source_list,
+ is_project_file,
+ is_c_header,
+ # is_py,
+ cmake_advanced_info,
+ cmake_compiler_defines,
+ )
+
import os
from os.path import join, dirname, normpath, relpath, exists
diff --git a/build_files/cmake/cmake_qtcreator_project.py b/build_files/cmake/cmake_qtcreator_project.py
index 3de15567727..2a2774c9944 100755
--- a/build_files/cmake/cmake_qtcreator_project.py
+++ b/build_files/cmake/cmake_qtcreator_project.py
@@ -31,7 +31,17 @@ example linux usage
python .~/blenderSVN/blender/build_files/cmake/cmake_qtcreator_project.py ~/blenderSVN/cmake
"""
-from project_info import *
+from project_info import (SIMPLE_PROJECTFILE,
+ SOURCE_DIR,
+ # CMAKE_DIR,
+ PROJECT_DIR,
+ source_list,
+ is_project_file,
+ is_c_header,
+ is_py,
+ cmake_advanced_info,
+ cmake_compiler_defines,
+ )
import os
import sys
diff --git a/build_files/cmake/config/blender_headless.cmake b/build_files/cmake/config/blender_headless.cmake
new file mode 100644
index 00000000000..bd69eed30dd
--- /dev/null
+++ b/build_files/cmake/config/blender_headless.cmake
@@ -0,0 +1,24 @@
+# headless configuration, useful in for servers or renderfarms
+# builds without a windowing system (X11/Windows/Cocoa).
+#
+# Example usage:
+# cmake -C../blender/build_files/cmake/config/blender_headless.cmake ../blender
+#
+
+set(WITH_HEADLESS ON CACHE FORCE BOOL)
+set(WITH_GAMEENGINE OFF CACHE FORCE BOOL)
+
+# disable audio, its possible some devs may want this but for now disable
+# so the python module doesnt hold the audio device and loads quickly.
+set(WITH_AUDASPACE OFF CACHE FORCE BOOL)
+set(WITH_SAMPLERATE OFF CACHE FORCE BOOL)
+set(WITH_FFTW3 OFF CACHE FORCE BOOL)
+set(WITH_JACK OFF CACHE FORCE BOOL)
+set(WITH_SDL OFF CACHE FORCE BOOL)
+set(WITH_OPENAL OFF CACHE FORCE BOOL)
+set(WITH_CODEC_FFMPEG OFF CACHE FORCE BOOL)
+set(WITH_CODEC_SNDFILE OFF CACHE FORCE BOOL)
+
+# other features which are not especially useful as a python module
+set(WITH_X11_XINPUT OFF CACHE FORCE BOOL)
+set(WITH_INPUT_NDOF OFF CACHE FORCE BOOL)
diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake
new file mode 100644
index 00000000000..f09a8058f14
--- /dev/null
+++ b/build_files/cmake/config/blender_lite.cmake
@@ -0,0 +1,43 @@
+# turn everything OFF except for python which defaults to ON
+# and is needed for the UI
+#
+# Example usage:
+# cmake -C../blender/build_files/cmake/config/blender_lite.cmake ../blender
+#
+
+set(WITH_INSTALL_PORTABLE ON CACHE FORCE BOOL)
+
+set(WITH_BUILDINFO OFF CACHE FORCE BOOL)
+set(WITH_BUILTIN_GLEW OFF CACHE FORCE BOOL)
+set(WITH_BULLET OFF CACHE FORCE BOOL)
+set(WITH_CODEC_FFMPEG OFF CACHE FORCE BOOL)
+set(WITH_CODEC_SNDFILE OFF CACHE FORCE BOOL)
+set(WITH_FFTW3 OFF CACHE FORCE BOOL)
+set(WITH_GAMEENGINE OFF CACHE FORCE BOOL)
+set(WITH_IK_ITASC OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_CINEON OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_DDS OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_FRAMESERVER OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_HDR OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_OPENEXR OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_OPENJPEG OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_REDCODE OFF CACHE FORCE BOOL)
+set(WITH_IMAGE_TIFF OFF CACHE FORCE BOOL)
+set(WITH_INPUT_NDOF OFF CACHE FORCE BOOL)
+set(WITH_INTERNATIONAL OFF CACHE FORCE BOOL)
+set(WITH_JACK OFF CACHE FORCE BOOL)
+set(WITH_LZMA OFF CACHE FORCE BOOL)
+set(WITH_LZO OFF CACHE FORCE BOOL)
+set(WITH_MOD_BOOLEAN OFF CACHE FORCE BOOL)
+set(WITH_MOD_DECIMATE OFF CACHE FORCE BOOL)
+set(WITH_MOD_FLUID OFF CACHE FORCE BOOL)
+set(WITH_MOD_SMOKE OFF CACHE FORCE BOOL)
+set(WITH_AUDASPACE OFF CACHE FORCE BOOL)
+set(WITH_OPENAL OFF CACHE FORCE BOOL)
+set(WITH_OPENCOLLADA OFF CACHE FORCE BOOL)
+set(WITH_OPENMP OFF CACHE FORCE BOOL)
+set(WITH_PYTHON_INSTALL OFF CACHE FORCE BOOL)
+set(WITH_RAYOPTIMIZATION OFF CACHE FORCE BOOL)
+set(WITH_SAMPLERATE OFF CACHE FORCE BOOL)
+set(WITH_SDL OFF CACHE FORCE BOOL)
+set(WITH_X11_XINPUT OFF CACHE FORCE BOOL)
diff --git a/build_files/cmake/config/bpy_module.cmake b/build_files/cmake/config/bpy_module.cmake
new file mode 100644
index 00000000000..5392705f0dc
--- /dev/null
+++ b/build_files/cmake/config/bpy_module.cmake
@@ -0,0 +1,34 @@
+# defaults for building blender as a python module 'bpy'
+#
+# Example usage:
+# cmake -C../blender/build_files/cmake/config/bpy_module.cmake ../blender
+#
+
+set(WITH_PYTHON_MODULE ON CACHE FORCE BOOL)
+
+# install into the systems python dir
+set(WITH_INSTALL_PORTABLE OFF CACHE FORCE BOOL)
+
+# no point int copying python into python
+set(WITH_PYTHON_INSTALL OFF CACHE FORCE BOOL)
+
+# dont build the game engine
+set(WITH_GAMEENGINE OFF CACHE FORCE BOOL)
+
+# disable audio, its possible some devs may want this but for now disable
+# so the python module doesnt hold the audio device and loads quickly.
+set(WITH_AUDASPACE OFF CACHE FORCE BOOL)
+set(WITH_SAMPLERATE OFF CACHE FORCE BOOL)
+set(WITH_FFTW3 OFF CACHE FORCE BOOL)
+set(WITH_JACK OFF CACHE FORCE BOOL)
+set(WITH_SDL OFF CACHE FORCE BOOL)
+set(WITH_OPENAL OFF CACHE FORCE BOOL)
+set(WITH_CODEC_FFMPEG OFF CACHE FORCE BOOL)
+set(WITH_CODEC_SNDFILE OFF CACHE FORCE BOOL)
+
+# other features which are not especially useful as a python module
+set(WITH_X11_XINPUT OFF CACHE FORCE BOOL)
+set(WITH_INPUT_NDOF OFF CACHE FORCE BOOL)
+set(WITH_OPENCOLLADA OFF CACHE FORCE BOOL)
+set(WITH_INTERNATIONAL OFF CACHE FORCE BOOL)
+set(WITH_BULLET OFF CACHE FORCE BOOL)
diff --git a/build_files/cmake/example_scripts/cmake_linux_install.sh b/build_files/cmake/example_scripts/cmake_linux_install.sh
index 7770efcf392..504218f91a6 100755
--- a/build_files/cmake/example_scripts/cmake_linux_install.sh
+++ b/build_files/cmake/example_scripts/cmake_linux_install.sh
@@ -17,7 +17,7 @@ cd ~/blender-svn/build-cmake
# cmake without copying files for fast rebuilds
# the files from svn will be used in place
-cmake ../blender -DWITH_INSTALL:BOOL=FALSE
+cmake ../blender
# make blender, will take some time
make
diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake
index 265d5072205..d09215d040d 100644
--- a/build_files/cmake/macros.cmake
+++ b/build_files/cmake/macros.cmake
@@ -1,26 +1,92 @@
# -*- mode: cmake; indent-tabs-mode: t; -*-
# $Id$
+
+# foo_bar.spam --> foo_barMySuffix.spam
+macro(file_suffix
+ file_name_new file_name file_suffix
+ )
+
+ get_filename_component(_file_name_PATH ${file_name} PATH)
+ get_filename_component(_file_name_NAME_WE ${file_name} NAME_WE)
+ get_filename_component(_file_name_EXT ${file_name} EXT)
+ set(${file_name_new} "${_file_name_PATH}/${_file_name_NAME_WE}${file_suffix}${_file_name_EXT}")
+
+ unset(_file_name_PATH)
+ unset(_file_name_NAME_WE)
+ unset(_file_name_EXT)
+endmacro()
+
+# usefil for adding debug suffix to library lists:
+# /somepath/foo.lib --> /somepath/foo_d.lib
+macro(file_list_suffix
+ fp_list_new fp_list fn_suffix
+ )
+
+ # incase of empty list
+ set(_fp)
+ set(_fp_suffixed)
+
+ set(fp_list_new)
+
+ foreach(_fp ${fp_list})
+ file_suffix(_fp_suffixed "${_fp}" "${fn_suffix}")
+ list(APPEND "${fp_list_new}" "${_fp_suffixed}")
+ endforeach()
+
+ unset(_fp)
+ unset(_fp_suffixed)
+
+endmacro()
+
+
+macro(target_link_libraries_optimized TARGET LIBS)
+ foreach(_LIB ${LIBS})
+ target_link_libraries(${TARGET} optimized "${_LIB}")
+ endforeach()
+ unset(_LIB)
+endmacro()
+
+macro(target_link_libraries_debug TARGET LIBS)
+ foreach(_LIB ${LIBS})
+ target_link_libraries(${TARGET} debug "${_LIB}")
+ endforeach()
+ unset(_LIB)
+endmacro()
+
# Nicer makefiles with -I/1/foo/ instead of -I/1/2/3/../../foo/
# use it instead of include_directories()
macro(blender_include_dirs
includes)
-
- foreach(inc ${ARGV})
- get_filename_component(abs_inc ${inc} ABSOLUTE)
- list(APPEND all_incs ${abs_inc})
+ set(_ALL_INCS "")
+ foreach(_INC ${ARGV})
+ get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
+ list(APPEND _ALL_INCS ${_ABS_INC})
+ # for checking for invalid includes, disable for regular use
+ ##if(NOT EXISTS "${_ABS_INC}/")
+ ## message(FATAL_ERROR "Include not found: ${_ABS_INC}/")
+ ##endif()
endforeach()
- include_directories(${all_incs})
+ include_directories(${_ALL_INCS})
+ unset(_INC)
+ unset(_ABS_INC)
+ unset(_ALL_INCS)
endmacro()
macro(blender_include_dirs_sys
includes)
-
- foreach(inc ${ARGV})
- get_filename_component(abs_inc ${inc} ABSOLUTE)
- list(APPEND all_incs ${abs_inc})
+ set(_ALL_INCS "")
+ foreach(_INC ${ARGV})
+ get_filename_component(_ABS_INC ${_INC} ABSOLUTE)
+ list(APPEND _ALL_INCS ${_ABS_INC})
+ ##if(NOT EXISTS "${_ABS_INC}/")
+ ## message(FATAL_ERROR "Include not found: ${_ABS_INC}/")
+ ##endif()
endforeach()
- include_directories(SYSTEM ${all_incs})
+ include_directories(SYSTEM ${_ALL_INCS})
+ unset(_INC)
+ unset(_ABS_INC)
+ unset(_ALL_INCS)
endmacro()
macro(blender_source_group
@@ -29,14 +95,17 @@ macro(blender_source_group
# Group by location on disk
source_group("Source Files" FILES CMakeLists.txt)
- foreach(SRC ${sources})
- get_filename_component(SRC_EXT ${SRC} EXT)
- if(${SRC_EXT} MATCHES ".h" OR ${SRC_EXT} MATCHES ".hpp")
- source_group("Header Files" FILES ${SRC})
+ foreach(_SRC ${sources})
+ get_filename_component(_SRC_EXT ${_SRC} EXT)
+ if((${_SRC_EXT} MATCHES ".h") OR (${_SRC_EXT} MATCHES ".hpp"))
+ source_group("Header Files" FILES ${_SRC})
else()
- source_group("Source Files" FILES ${SRC})
+ source_group("Source Files" FILES ${_SRC})
endif()
endforeach()
+
+ unset(_SRC)
+ unset(_SRC_EXT)
endmacro()
@@ -76,11 +145,6 @@ endmacro()
macro(SETUP_LIBDIRS)
- # see "cmake --help-policy CMP0003"
- if(COMMAND cmake_policy)
- cmake_policy(SET CMP0003 NEW)
- endif()
-
link_directories(${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${FREETYPE_LIBPATH})
if(WITH_PYTHON) # AND NOT WITH_PYTHON_MODULE # WIN32 needs
@@ -118,7 +182,7 @@ macro(SETUP_LIBDIRS)
link_directories(${SNDFILE_LIBPATH})
endif()
if(WITH_SAMPLERATE)
- link_directories(${LIBSAMPLERATE_LIBPATH})
+ link_directories(${SAMPLERATE_LIBPATH})
endif()
if(WITH_FFTW3)
link_directories(${FFTW3_LIBPATH})
@@ -139,19 +203,29 @@ endmacro()
macro(setup_liblinks
target)
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ")
- target_link_libraries(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${LLIBS})
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS}")
+ set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} ${PLATFORM_LINKFLAGS_DEBUG}")
+
+ target_link_libraries(${target}
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${JPEG_LIBRARIES}
+ ${PNG_LIBRARIES}
+ ${ZLIB_LIBRARIES}
+ ${PLATFORM_LINKLIBS})
# since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
if(WITH_PYTHON) # AND NOT WITH_PYTHON_MODULE # WIN32 needs
target_link_libraries(${target} ${PYTHON_LINKFLAGS})
if(WIN32 AND NOT UNIX)
- target_link_libraries(${target} debug ${PYTHON_LIBRARY}_d)
- target_link_libraries(${target} optimized ${PYTHON_LIBRARY})
+ file_list_suffix(PYTHON_LIBRARIES_DEBUG "${PYTHON_LIBRARIES}" "_d")
+ target_link_libraries_debug(${target} "${PYTHON_LIBRARIES_DEBUG}")
+ target_link_libraries_optimized(${target} "${PYTHON_LIBRARIES}")
+ unset(PYTHON_LIBRARIES_DEBUG)
else()
- target_link_libraries(${target} ${PYTHON_LIBRARY})
+ target_link_libraries(${target} ${PYTHON_LIBRARIES})
endif()
endif()
@@ -159,14 +233,18 @@ macro(setup_liblinks
target_link_libraries(${target} ${GLEW_LIBRARY})
endif()
- target_link_libraries(${target} ${OPENGL_glu_LIBRARY} ${JPEG_LIBRARIES} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES})
- target_link_libraries(${target} ${FREETYPE_LIBRARY})
+ target_link_libraries(${target}
+ ${OPENGL_glu_LIBRARY}
+ ${JPEG_LIBRARIES}
+ ${PNG_LIBRARIES}
+ ${ZLIB_LIBRARIES}
+ ${FREETYPE_LIBRARY})
if(WITH_INTERNATIONAL)
target_link_libraries(${target} ${GETTEXT_LIB})
if(WIN32 AND NOT UNIX)
- target_link_libraries(${target} ${ICONV_LIB})
+ target_link_libraries(${target} ${ICONV_LIBRARIES})
endif()
endif()
@@ -174,65 +252,76 @@ macro(setup_liblinks
target_link_libraries(${target} ${OPENAL_LIBRARY})
endif()
if(WITH_FFTW3)
- target_link_libraries(${target} ${FFTW3_LIB})
+ target_link_libraries(${target} ${FFTW3_LIBRARIES})
endif()
if(WITH_JACK)
- target_link_libraries(${target} ${JACK_LIB})
+ target_link_libraries(${target} ${JACK_LIBRARIES})
endif()
if(WITH_CODEC_SNDFILE)
- target_link_libraries(${target} ${SNDFILE_LIB})
+ target_link_libraries(${target} ${SNDFILE_LIBRARIES})
endif()
if(WITH_SAMPLERATE)
- target_link_libraries(${target} ${LIBSAMPLERATE_LIB})
+ target_link_libraries(${target} ${SAMPLERATE_LIBRARIES})
endif()
if(WITH_SDL)
target_link_libraries(${target} ${SDL_LIBRARY})
endif()
if(WITH_CODEC_QUICKTIME)
- target_link_libraries(${target} ${QUICKTIME_LIB})
+ target_link_libraries(${target} ${QUICKTIME_LIBRARIES})
endif()
if(WITH_IMAGE_TIFF)
target_link_libraries(${target} ${TIFF_LIBRARY})
endif()
if(WITH_IMAGE_OPENEXR)
if(WIN32 AND NOT UNIX)
- foreach(loop_var ${OPENEXR_LIB})
- target_link_libraries(${target} debug ${loop_var}_d)
- target_link_libraries(${target} optimized ${loop_var})
- endforeach()
+ file_list_suffix(OPENEXR_LIBRARIES_DEBUG "${OPENEXR_LIBRARIES}" "_d")
+ target_link_libraries_debug(${target} "${OPENEXR_LIBRARIES_DEBUG}")
+ target_link_libraries_optimized(${target} "${OPENEXR_LIBRARIES}")
+ unset(OPENEXR_LIBRARIES_DEBUG)
else()
- target_link_libraries(${target} ${OPENEXR_LIB})
+ target_link_libraries(${target} ${OPENEXR_LIBRARIES})
endif()
endif()
if(WITH_IMAGE_OPENJPEG AND UNIX AND NOT APPLE)
- target_link_libraries(${target} ${OPENJPEG_LIB})
+ target_link_libraries(${target} ${OPENJPEG_LIBRARIES})
endif()
if(WITH_CODEC_FFMPEG)
- target_link_libraries(${target} ${FFMPEG_LIB})
+ target_link_libraries(${target} ${FFMPEG_LIBRARIES})
endif()
if(WITH_OPENCOLLADA)
if(WIN32 AND NOT UNIX)
- foreach(loop_var ${OPENCOLLADA_LIB})
- target_link_libraries(${target} debug ${loop_var}_d)
- target_link_libraries(${target} optimized ${loop_var})
- endforeach()
- target_link_libraries(${target} debug ${PCRE_LIB}_d)
- target_link_libraries(${target} optimized ${PCRE_LIB})
+ file_list_suffix(OPENCOLLADA_LIBRARIES_DEBUG "${OPENCOLLADA_LIBRARIES}" "_d")
+ target_link_libraries_debug(${target} "${OPENCOLLADA_LIBRARIES_DEBUG}")
+ target_link_libraries_optimized(${target} "${OPENCOLLADA_LIBRARIES}")
+ unset(OPENCOLLADA_LIBRARIES_DEBUG)
+
+ file_list_suffix(PCRE_LIB_DEBUG "${PCRE_LIB}" "_d")
+ target_link_libraries_debug(${target} "${PCRE_LIB_DEBUG}")
+ target_link_libraries_optimized(${target} "${PCRE_LIB}")
+ unset(PCRE_LIB_DEBUG)
+
if(EXPAT_LIB)
- target_link_libraries(${target} debug ${EXPAT_LIB}_d)
- target_link_libraries(${target} optimized ${EXPAT_LIB})
+ file_list_suffix(EXPAT_LIB_DEBUG "${EXPAT_LIB}" "_d")
+ target_link_libraries_debug(${target} "${EXPAT_LIB_DEBUG}")
+ target_link_libraries_optimized(${target} "${EXPAT_LIB}")
+ unset(EXPAT_LIB_DEBUG)
endif()
else()
- target_link_libraries(${target} ${OPENCOLLADA_LIB})
- target_link_libraries(${target} ${PCRE_LIB})
- target_link_libraries(${target} ${EXPAT_LIB})
+ target_link_libraries(${target}
+ ${OPENCOLLADA_LIBRARIES}
+ ${PCRE_LIB}
+ ${EXPAT_LIB})
endif()
endif()
if(WITH_MEM_JEMALLOC)
- target_link_libraries(${target} ${JEMALLOC_LIBRARY})
+ target_link_libraries(${target} ${JEMALLOC_LIBRARIES})
+ endif()
+ if(WITH_INPUT_NDOF)
+ target_link_libraries(${target} ${NDOF_LIBRARIES})
endif()
+
if(WIN32 AND NOT UNIX)
- target_link_libraries(${target} ${PTHREADS_LIB})
+ target_link_libraries(${target} ${PTHREADS_LIBRARIES})
endif()
endmacro()
@@ -303,6 +392,7 @@ macro(remove_strict_flags)
remove_flag("-Wstrict-prototypes")
remove_flag("-Wunused-parameter")
remove_flag("-Wwrite-strings")
+ remove_flag("-Wundef")
remove_flag("-Wshadow")
remove_flag("-Werror=[^ ]+")
remove_flag("-Werror")
@@ -472,4 +562,13 @@ macro(blender_project_hack_post)
unset(_reset_standard_cflags_rel)
unset(_reset_standard_cxxflags_rel)
+
+ # ------------------------------------------------------------------
+ # workaround for omission in cmake 2.8.4's GNU.cmake, fixed in 2.8.5
+ if(CMAKE_COMPILER_IS_GNUCC)
+ if(NOT DARWIN)
+ set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-isystem ")
+ endif()
+ endif()
+
endmacro()
diff --git a/build_files/cmake/packaging.cmake b/build_files/cmake/packaging.cmake
index 6cda62b487f..c0124fe8199 100644
--- a/build_files/cmake/packaging.cmake
+++ b/build_files/cmake/packaging.cmake
@@ -43,7 +43,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PROJECT_DESCRIPTION}")
set(CPACK_PACKAGE_RELOCATABLE "false")
set(CPACK_RPM_PACKAGE_LICENSE "GPLv2")
- set(CPACK_RPM_PACKAGE_GROUP "Amusements/Graphics")
+ set(CPACK_RPM_PACKAGE_GROUP "Amusements/Multimedia")
set(CPACK_RPM_USER_BINARY_SPECFILE "${CMAKE_SOURCE_DIR}/build_files/package_spec/rpm/blender.spec.in")
endif()
endif()
@@ -75,14 +75,14 @@ endmacro()
if(APPLE)
add_package_archive(
- "blender-${BLENDER_VERSION}-r${BUILD_REV}-OSX-${CMAKE_OSX_ARCHITECTURES}"
+ "${PROJECT_NAME}-${BLENDER_VERSION}-r${BUILD_REV}-OSX-${CMAKE_OSX_ARCHITECTURES}"
"zip")
elseif(UNIX)
# platform name could be tweaked, to include glibc, and ensure processor is correct (i386 vs i686)
string(TOLOWER ${CMAKE_SYSTEM_NAME} PACKAGE_SYSTEM_NAME)
add_package_archive(
- "blender-${BLENDER_VERSION}-r${BUILD_REV}-${PACKAGE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}"
+ "${PROJECT_NAME}-${BLENDER_VERSION}-r${BUILD_REV}-${PACKAGE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}"
"tar.bz2")
endif()
diff --git a/build_files/package_spec/rpm/blender.spec.in b/build_files/package_spec/rpm/blender.spec.in
index 502e9f36251..25ad5344721 100644
--- a/build_files/package_spec/rpm/blender.spec.in
+++ b/build_files/package_spec/rpm/blender.spec.in
@@ -9,6 +9,7 @@ Release: @CPACK_RPM_PACKAGE_RELEASE@%{?dist}
License: @CPACK_RPM_PACKAGE_LICENSE@
Group: @CPACK_RPM_PACKAGE_GROUP@
Vendor: @CPACK_RPM_PACKAGE_VENDOR@
+Epoch: 1
%define _rpmdir @CPACK_RPM_DIRECTORY@
%define _rpmfilename @CPACK_RPM_FILE_NAME@
diff --git a/build_files/scons/config/aix4-config.py b/build_files/scons/config/aix4-config.py
index e8004338271..f8b3e750e74 100644
--- a/build_files/scons/config/aix4-config.py
+++ b/build_files/scons/config/aix4-config.py
@@ -76,11 +76,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'gettextpo intl'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
-WITH_BF_FTGL = 'false'
-BF_FTGL = '#extern/bFTGL'
-BF_FTGL_INC = '${BF_FTGL}/include'
-BF_FTGL_LIB = 'extern_ftgl'
-
WITH_BF_GAMEENGINE='false'
WITH_BF_BULLET = 'true'
diff --git a/build_files/scons/config/darwin-config.py b/build_files/scons/config/darwin-config.py
index 0c51476a6d0..102ec73a4e3 100644
--- a/build_files/scons/config/darwin-config.py
+++ b/build_files/scons/config/darwin-config.py
@@ -14,21 +14,30 @@ USE_SDK=True
################### Cocoa & architecture settings ##################
#############################################################################
WITH_GHOST_COCOA=True
-MACOSX_ARCHITECTURE = 'i386' # valid archs: ppc, i386, ppc64, x86_64
+MACOSX_ARCHITECTURE = 'x86_64' # valid archs: ppc, i386, ppc64, x86_64
cmd = 'uname -p'
MAC_PROC=commands.getoutput(cmd)
cmd = 'uname -r'
cmd_res=commands.getoutput(cmd)
-if cmd_res[0]=='7':
+
+if cmd_res[:1]=='7':
MAC_CUR_VER='10.3'
-elif cmd_res[0]=='8':
+elif cmd_res[:1]=='8':
MAC_CUR_VER='10.4'
-elif cmd_res[0]=='9':
+elif cmd_res[:1]=='9':
MAC_CUR_VER='10.5'
-elif cmd_res[0]=='10':
+elif cmd_res[:2]=='10':
MAC_CUR_VER='10.6'
+elif cmd_res[:2]=='11':
+ MAC_CUR_VER='10.7'
+cmd = 'xcodebuild -version'
+cmd_xcode=commands.getoutput(cmd)
+XCODE_CUR_VER=cmd_xcode
+cmd = 'xcodebuild -showsdks'
+cmd_sdk=commands.getoutput(cmd)
+MACOSX_SDK_CHECK=cmd_sdk
if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64':
USE_QTKIT=True # Carbon quicktime is not available for 64bit
@@ -37,8 +46,8 @@ if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64':
# Default target OSX settings per architecture
# Can be customized
-if MACOSX_ARCHITECTURE == 'ppc':
-# ppc release are now made for 10.4
+if MACOSX_ARCHITECTURE == 'ppc' and MAC_CUR_VER == '10.4':
+# all releases are now made for 10.5 !
# MAC_MIN_VERS = '10.3'
# MACOSX_SDK='/Developer/SDKs/MacOSX10.3.9.sdk'
# LCGDIR = '#../lib/darwin-6.1-powerpc'
@@ -50,7 +59,7 @@ if MACOSX_ARCHITECTURE == 'ppc':
LCGDIR = '#../lib/darwin-8.0.0-powerpc'
CC = 'gcc-4.0'
CXX = 'g++-4.0'
-elif MACOSX_ARCHITECTURE == 'i386':
+elif MACOSX_ARCHITECTURE == 'i386' and MAC_CUR_VER == '10.4':
MAC_MIN_VERS = '10.4'
MACOSX_DEPLOYMENT_TARGET = '10.4'
MACOSX_SDK='/Developer/SDKs/MacOSX10.4u.sdk'
@@ -58,12 +67,22 @@ elif MACOSX_ARCHITECTURE == 'i386':
CC = 'gcc-4.0'
CXX = 'g++-4.0'
else :
- MAC_MIN_VERS = '10.5'
- MACOSX_DEPLOYMENT_TARGET = '10.5'
- MACOSX_SDK='/Developer/SDKs/MacOSX10.5.sdk'
- LCGDIR = '#../lib/darwin-9.x.universal'
- CC = 'gcc-4.2'
- CXX = 'g++-4.2'
+ if 'Mac OS X 10.5' in MACOSX_SDK_CHECK:
+ # OSX 10.5/6 with Xcode 3.x
+ MAC_MIN_VERS = '10.5'
+ MACOSX_DEPLOYMENT_TARGET = '10.5'
+ MACOSX_SDK='/Developer/SDKs/MacOSX10.5.sdk'
+ LCGDIR = '#../lib/darwin-9.x.universal'
+ CC = 'gcc-4.2'
+ CXX = 'g++-4.2'
+ else:
+ # OSX 10.6/7 with Xcode 4.x
+ MAC_MIN_VERS = '10.6'
+ MACOSX_DEPLOYMENT_TARGET = '10.6'
+ MACOSX_SDK='/Developer/SDKs/MacOSX10.6.sdk'
+ LCGDIR = '#../lib/darwin-9.x.universal'
+ CC = 'gcc-4.2'
+ CXX = 'g++-4.2'
LIBDIR = '${LCGDIR}'
@@ -71,8 +90,8 @@ LIBDIR = '${LCGDIR}'
################### Dependency settings ##################
#############################################################################
-#Defaults openMP to true if compiler (currently only gcc 4.2) handles it
-if CC == 'gcc-4.2':
+#Defaults openMP to true if compiler handles it
+if CC == 'gcc-4.2' or CC == 'llvm-gcc-4.2':
WITH_BF_OPENMP = True # multithreading for fluids, cloth and smoke
else:
WITH_BF_OPENMP = False
@@ -85,14 +104,26 @@ BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
BF_FFMPEG_LIB = 'avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg bz2'
#bz2 is a standard osx dynlib
-# python 3.1 uses precompiled libraries in bf svn /lib by default
BF_PYTHON_VERSION = '3.2'
-BF_PYTHON = LIBDIR + '/python'
-BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
-# BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
-BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
-BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}'
-# BF_PYTHON_LINKFLAGS = ['-u', '_PyMac_Error', '-framework', 'System']
+WITH_OSX_STATICPYTHON = True
+
+if WITH_OSX_STATICPYTHON:
+ # python 3.2 uses precompiled libraries in bf svn /lib by default
+
+ BF_PYTHON = LIBDIR + '/python'
+ BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
+ # BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
+ BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}'
+ BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}'
+ # BF_PYTHON_LINKFLAGS = ['-u', '_PyMac_Error', '-framework', 'System']
+else:
+ # python 3.2 uses Python-framework additionally installed in /Library/Frameworks
+
+ BF_PYTHON = '/Library/Frameworks/Python.framework/Versions/'
+ BF_PYTHON_INC = '${BF_PYTHON}${BF_PYTHON_VERSION}/include/python${BF_PYTHON_VERSION}m'
+ BF_PYTHON_BINARY = '${BF_PYTHON}${BF_PYTHON_VERSION}/bin/python${BF_PYTHON_VERSION}'
+ #BF_PYTHON_LIB = ''
+ BF_PYTHON_LIBPATH = '${BF_PYTHON}${BF_PYTHON_VERSION}/lib/python${BF_PYTHON_VERSION}/config-3.2m'
WITH_BF_OPENAL = True
#different lib must be used following version of gcc
@@ -188,8 +219,8 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
BF_GETTEXT_LIB = 'intl'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
-WITH_BF_GAMEENGINE=True
-WITH_BF_PLAYER = False
+WITH_BF_GAMEENGINE = True
+WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
@@ -240,7 +271,7 @@ BF_OPENGL_LIBPATH = '/System/Library/Frameworks/OpenGL.framework/Libraries'
BF_OPENGL_LINKFLAGS = ['-framework', 'OpenGL']
#OpenCollada flags
-WITH_BF_COLLADA = False
+WITH_BF_COLLADA = True
BF_COLLADA = '#source/blender/collada'
BF_COLLADA_INC = '${BF_COLLADA}'
BF_COLLADA_LIB = 'bf_collada'
@@ -264,7 +295,9 @@ if MACOSX_ARCHITECTURE == 'i386':
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse']
elif MACOSX_ARCHITECTURE == 'x86_64':
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-msse2']
-
+
+# SpaceNavigator and related 3D mice, driver must be 3DxWare 10 Beta 4 (Mac OS X) or later !
+WITH_BF_3DMOUSE = True
#############################################################################
################### various compile settings and flags ##################
@@ -283,28 +316,36 @@ CPPFLAGS = []+ARCH_FLAGS
CCFLAGS = ['-pipe','-funsigned-char']+ARCH_FLAGS
CXXFLAGS = ['-pipe','-funsigned-char']+ARCH_FLAGS
-if WITH_GHOST_COCOA==True:
+if WITH_GHOST_COCOA:
PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Cocoa','-framework','Carbon','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS
else:
PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Carbon','-framework','AGL','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS
-if WITH_BF_QUICKTIME == True:
- if USE_QTKIT == True:
+if WITH_BF_QUICKTIME:
+ if USE_QTKIT:
PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QTKit']
else:
PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QuickTime']
+if not WITH_OSX_STATICPYTHON:
+ PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','Python']
+
+
#note to build succesfully on 10.3.9 SDK you need to patch 10.3.9 by adding the SystemStubs.a lib from 10.4
-LLIBS = ['stdc++', 'SystemStubs']
+#for 10.7.sdk, SystemStubs needs to be excluded (lib doesn't exist anymore)
+if MACOSX_DEPLOYMENT_TARGET == '10.7':
+ LLIBS = ['stdc++']
+else:
+ LLIBS = ['stdc++', 'SystemStubs']
-# some flags shuffling for different Os versions
+# some flags shuffling for different OS versions
if MAC_MIN_VERS == '10.3':
CFLAGS = ['-fuse-cxa-atexit']+CFLAGS
CXXFLAGS = ['-fuse-cxa-atexit']+CXXFLAGS
PLATFORM_LINKFLAGS = ['-fuse-cxa-atexit']+PLATFORM_LINKFLAGS
LLIBS.append('crt3.o')
-if USE_SDK==True:
+if USE_SDK:
SDK_FLAGS=['-isysroot', MACOSX_SDK,'-mmacosx-version-min='+MAC_MIN_VERS,'-arch',MACOSX_ARCHITECTURE]
PLATFORM_LINKFLAGS = ['-mmacosx-version-min='+MAC_MIN_VERS,'-Wl','-isysroot',MACOSX_SDK,'-arch',MACOSX_ARCHITECTURE]+PLATFORM_LINKFLAGS
CCFLAGS=SDK_FLAGS+CCFLAGS
diff --git a/build_files/scons/config/linux2-config.py b/build_files/scons/config/linux-config.py
index bc2917055fb..c6613ec0ac1 100644
--- a/build_files/scons/config/linux2-config.py
+++ b/build_files/scons/config/linux-config.py
@@ -1,4 +1,4 @@
-LCGDIR = '../lib/linux2'
+LCGDIR = '../lib/linux'
LIBDIR = "${LCGDIR}"
BF_PYTHON_ABI_FLAGS = 'm' # Most common for linux distros
@@ -93,7 +93,7 @@ BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
#BF_GETTEXT_LIB_STATIC = '${BF_GETTEXT}/lib/libgettextlib.a'
WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = False
+WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
@@ -192,6 +192,14 @@ WITH_BF_OPENMP = True
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-pthread']
+#SpaceNavigator and friends
+WITH_BF_3DMOUSE = True
+BF_3DMOUSE = '/usr'
+BF_3DMOUSE_INC = '${BF_3DMOUSE}/include'
+BF_3DMOUSE_LIBPATH = '${BF_3DMOUSE}/lib'
+BF_3DMOUSE_LIB = 'spnav'
+BF_3DMOUSE_LIB_STATIC = '${BF_3DMOUSE_LIBPATH}/libspnav.a'
+
##
CC = 'gcc'
CXX = 'g++'
@@ -233,8 +241,8 @@ BF_PROFILE_LINKFLAGS = ['-pg']
BF_DEBUG = False
BF_DEBUG_CCFLAGS = ['-g', '-D_DEBUG']
-BF_BUILDDIR = '../build/linux2'
-BF_INSTALLDIR='../install/linux2'
+BF_BUILDDIR = '../build/linux'
+BF_INSTALLDIR='../install/linux'
#Link against pthread
PLATFORM_LINKFLAGS = ['-pthread']
diff --git a/build_files/scons/config/linuxcross-config.py b/build_files/scons/config/linuxcross-config.py
index 62474527825..1bdf735f458 100644
--- a/build_files/scons/config/linuxcross-config.py
+++ b/build_files/scons/config/linuxcross-config.py
@@ -126,9 +126,10 @@ WITH_BF_BINRELOC = False
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = LIBDIR + '/ffmpeg'
-BF_FFMPEG_LIB = 'avformat-52 avcodec-52 avdevice-52 avutil-50 swscale-0'
+BF_FFMPEG_LIB = 'avformat-53 avcodec-53 avdevice-53 avutil-51 swscale-2'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH = '${BF_FFMPEG}/lib'
+BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-53.dll ${BF_FFMPEG_LIBPATH}/avcodec-53.dll ${BF_FFMPEG_LIBPATH}/avdevice-53.dll ${BF_FFMPEG_LIBPATH}/avutil-51.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
WITH_BF_OPENJPEG = True
BF_OPENJPEG = '#extern/libopenjpeg'
diff --git a/build_files/scons/config/win32-mingw-config.py b/build_files/scons/config/win32-mingw-config.py
index 6dac29b37f7..37d693db560 100644
--- a/build_files/scons/config/win32-mingw-config.py
+++ b/build_files/scons/config/win32-mingw-config.py
@@ -18,9 +18,10 @@ BF_OPENAL_LIB = 'wrap_oal'
BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib'
WITH_BF_FFMPEG = False
-BF_FFMPEG_LIB = 'avformat-52 avcodec-52 avdevice-52 avutil-50 swscale-0'
+BF_FFMPEG_LIB = 'avformat-53 avcodec-53 avdevice-53 avutil-51 swscale-2'
BF_FFMPEG_LIBPATH = LIBDIR + '/ffmpeg/lib'
BF_FFMPEG_INC = LIBDIR + '/ffmpeg/include'
+BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-53.dll ${BF_FFMPEG_LIBPATH}/avcodec-53.dll ${BF_FFMPEG_LIBPATH}/avdevice-53.dll ${BF_FFMPEG_LIBPATH}/avutil-51.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
BF_LIBSAMPLERATE = LIBDIR + '/samplerate'
BF_LIBSAMPLERATE_INC = '${BF_LIBSAMPLERATE}/include'
@@ -173,7 +174,7 @@ C_WARN = ['-Wno-char-subscripts', '-Wdeclaration-after-statement', '-Wstrict-pro
CC_WARN = [ '-Wall' ]
-LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid']
+LLIBS = ['-lshell32', '-lshfolder', '-lgdi32', '-lmsvcrt', '-lwinmm', '-lmingw32', '-lm', '-lws2_32', '-lz', '-lstdc++','-lole32','-luuid', '-lwsock32']
PLATFORM_LINKFLAGS = ['--stack,2097152']
diff --git a/build_files/scons/config/win32-vc-config.py b/build_files/scons/config/win32-vc-config.py
index a0dade8bdf6..2950ca9380f 100644
--- a/build_files/scons/config/win32-vc-config.py
+++ b/build_files/scons/config/win32-vc-config.py
@@ -6,7 +6,8 @@ WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = LIBDIR +'/ffmpeg'
BF_FFMPEG_INC = '${BF_FFMPEG}/include ${BF_FFMPEG}/include/msvc'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
-BF_FFMPEG_LIB = 'avformat-52.lib avcodec-52.lib avdevice-52.lib avutil-50.lib swscale-0.lib'
+BF_FFMPEG_LIB = 'avformat-53.lib avcodec-53.lib avdevice-53.lib avutil-51.lib swscale-2.lib'
+BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-53.dll ${BF_FFMPEG_LIBPATH}/avcodec-53.dll ${BF_FFMPEG_LIBPATH}/avdevice-53.dll ${BF_FFMPEG_LIBPATH}/avutil-51.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
BF_PYTHON = LIBDIR + '/python'
BF_PYTHON_VERSION = '3.2'
@@ -39,7 +40,7 @@ BF_JACK_INC = '${BF_JACK}/include ${BF_FFMPEG}/include/msvc'
BF_JACK_LIB = 'libjack'
BF_JACK_LIBPATH = '${BF_JACK}/lib'
-WITH_BF_SNDFILE = False
+WITH_BF_SNDFILE = True
BF_SNDFILE = LIBDIR + '/sndfile'
BF_SNDFILE_INC = '${BF_SNDFILE}/include'
BF_SNDFILE_LIB = 'libsndfile-1'
@@ -99,7 +100,7 @@ BF_GETTEXT_LIB = 'gnu_gettext'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = False
+WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
@@ -118,7 +119,7 @@ BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2'
BF_FREETYPE_LIB = 'freetype2ST'
BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib'
-WITH_BF_QUICKTIME = True # -DWITH_QUICKTIME
+WITH_BF_QUICKTIME = False # -DWITH_QUICKTIME
BF_QUICKTIME = LIBDIR + '/QTDevWin'
BF_QUICKTIME_INC = '${BF_QUICKTIME}/CIncludes'
BF_QUICKTIME_LIB = 'qtmlClient'
@@ -149,6 +150,8 @@ BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa UTF'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
+WITH_BF_3DMOUSE = True
+
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE']
@@ -170,7 +173,7 @@ BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast', '/arch:SSE']
BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
-CPPFLAGS = ['-DWIN32','-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE']
+CPPFLAGS = ['-DWIN32','-D_CONSOLE', '-D_LIB', '-D_CRT_SECURE_NO_DEPRECATE']
REL_CFLAGS = ['-O2', '-DNDEBUG']
REL_CCFLAGS = ['-O2', '-DNDEBUG']
REL_CXXFLAGS = ['-O2', '-DNDEBUG']
@@ -181,7 +184,7 @@ CXX_WARN = []
LLIBS = ['ws2_32', 'vfw32', 'winmm', 'kernel32', 'user32', 'gdi32', 'comdlg32', 'advapi32', 'shfolder', 'shell32', 'ole32', 'oleaut32', 'uuid']
-PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/STACK:2097152','/INCREMENTAL:NO', '/LARGEADDRESSAWARE']
+PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:IX86','/STACK:2097152','/INCREMENTAL:NO', '/LARGEADDRESSAWARE', '/NODEFAULTLIB:msvcrt.lib', '/NODEFAULTLIB:msvcmrt.lib', '/NODEFAULTLIB:msvcurt.lib', '/NODEFAULTLIB:msvcrtd.lib']
# # Todo
# BF_PROFILE_CCFLAGS = ['-pg', '-g ']
diff --git a/build_files/scons/config/win64-vc-config.py b/build_files/scons/config/win64-vc-config.py
index 2c990941764..ba9633a6b4c 100644
--- a/build_files/scons/config/win64-vc-config.py
+++ b/build_files/scons/config/win64-vc-config.py
@@ -6,7 +6,8 @@ WITH_BF_FFMPEG = True # -DWITH_FFMPEG
BF_FFMPEG = LIBDIR +'/ffmpeg'
BF_FFMPEG_INC = '${BF_FFMPEG}/include ${BF_FFMPEG}/include/msvc '
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
-BF_FFMPEG_LIB = 'avformat-52.lib avcodec-52.lib avdevice-52.lib avutil-50.lib swscale-0.lib'
+BF_FFMPEG_LIB = 'avformat-53.lib avcodec-53.lib avdevice-53.lib avutil-51.lib swscale-2.lib'
+BF_FFMPEG_DLL = '${BF_FFMPEG_LIBPATH}/avformat-53.dll ${BF_FFMPEG_LIBPATH}/avcodec-53.dll ${BF_FFMPEG_LIBPATH}/avdevice-53.dll ${BF_FFMPEG_LIBPATH}/avutil-51.dll ${BF_FFMPEG_LIBPATH}/swscale-2.dll'
BF_PYTHON = LIBDIR + '/python'
BF_PYTHON_VERSION = '3.2'
@@ -50,6 +51,8 @@ BF_SDL_INC = '${BF_SDL}/include'
BF_SDL_LIB = 'SDL.lib'
BF_SDL_LIBPATH = '${BF_SDL}/lib'
+WITH_BF_JACK = False
+
BF_PTHREADS = LIBDIR + '/pthreads'
BF_PTHREADS_INC = '${BF_PTHREADS}/include'
BF_PTHREADS_LIB = 'pthreadVC2'
@@ -101,7 +104,7 @@ BF_GETTEXT_LIB = 'gettext'
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
WITH_BF_GAMEENGINE = True
-WITH_BF_PLAYER = False
+WITH_BF_PLAYER = True
WITH_BF_BULLET = True
BF_BULLET = '#extern/bullet2/src'
@@ -151,6 +154,8 @@ BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include'
BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa UTF'
BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
+WITH_BF_3DMOUSE = True
+
#Ray trace optimization
WITH_BF_RAYOPTIMIZATION = True
BF_RAYOPTIMIZATION_SSE_FLAGS = ['/arch:SSE','/arch:SSE2']
@@ -170,9 +175,9 @@ CCFLAGS = ['/nologo', '/Ob1', '/J', '/W0', '/Gd', '/we4013', '/wd4018', '/wd4244
CXXFLAGS = ['/EHsc']
BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast']
-BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr']
+BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr', '/Od']
-CPPFLAGS = ['-DWIN32', '-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE']
+CPPFLAGS = ['-DWIN32', '-D_CONSOLE', '-D_LIB', '-D_CRT_SECURE_NO_DEPRECATE']
REL_CFLAGS = ['-O2', '-DNDEBUG']
REL_CCFLAGS = ['-O2', '-DNDEBUG']
REL_CXXFLAGS = ['-O2', '-DNDEBUG']
@@ -188,7 +193,7 @@ if BF_DEBUG:
else:
BF_NUMJOBS=6
-PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:X64','/STACK:2097152','/OPT:NOREF','/INCREMENTAL:NO']
+PLATFORM_LINKFLAGS = ['/SUBSYSTEM:CONSOLE','/MACHINE:X64','/STACK:2097152','/OPT:NOREF','/INCREMENTAL:NO', '/NODEFAULTLIB:msvcrt.lib', '/NODEFAULTLIB:msvcmrt.lib', '/NODEFAULTLIB:msvcurt.lib', '/NODEFAULTLIB:msvcrtd.lib']
BF_BUILDDIR = '..\\build\\blender25-win64-vc'
BF_INSTALLDIR='..\\install\\blender25-win64-vc'
diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py
index 8dbed82ed84..c537e435de8 100644
--- a/build_files/scons/tools/Blender.py
+++ b/build_files/scons/tools/Blender.py
@@ -206,6 +206,12 @@ def setup_staticlibs(lenv):
if lenv['WITH_BF_STATICJEMALLOC']:
statlibs += Split(lenv['BF_JEMALLOC_LIB_STATIC'])
+ if lenv['OURPLATFORM']=='linux':
+ if lenv['WITH_BF_3DMOUSE']:
+ libincs += Split(lenv['BF_3DMOUSE_LIBPATH'])
+ if lenv['WITH_BF_STATIC3DMOUSE']:
+ statlibs += Split(lenv['BF_3DMOUSE_LIB_STATIC'])
+
return statlibs, libincs
def setup_syslibs(lenv):
@@ -258,7 +264,10 @@ def setup_syslibs(lenv):
syslibs += Split(lenv['BF_PTHREADS_LIB'])
if lenv['WITH_BF_COLLADA']:
syslibs.append(lenv['BF_PCRE_LIB'])
- syslibs += Split(lenv['BF_OPENCOLLADA_LIB'])
+ if lenv['BF_DEBUG']:
+ syslibs += [colladalib+'_d' for colladalib in Split(lenv['BF_OPENCOLLADA_LIB'])]
+ else:
+ syslibs += Split(lenv['BF_OPENCOLLADA_LIB'])
syslibs.append(lenv['BF_EXPAT_LIB'])
if not lenv['WITH_BF_STATICLIBSAMPLERATE']:
@@ -268,6 +277,11 @@ def setup_syslibs(lenv):
if not lenv['WITH_BF_STATICJEMALLOC']:
syslibs += Split(lenv['BF_JEMALLOC_LIB'])
+ if lenv['OURPLATFORM']=='linux':
+ if lenv['WITH_BF_3DMOUSE']:
+ if not lenv['WITH_BF_STATIC3DMOUSE']:
+ syslibs += Split(lenv['BF_3DMOUSE_LIB'])
+
syslibs += lenv['LLIBS']
return syslibs
@@ -287,6 +301,46 @@ def propose_priorities():
print "\t\t",new_priority, v
new_priority += 5
+# emits the necessary file objects for creator.c, to be used in creating
+# the final blender executable
+def creator(env):
+ sources = ['creator.c']# + Blender.buildinfo(env, "dynamic") + Blender.resources
+
+ incs = ['#/intern/guardedalloc', '#/source/blender/blenlib', '#/source/blender/blenkernel', '#/source/blender/editors/include', '#/source/blender/blenloader', '#/source/blender/imbuf', '#/source/blender/renderconverter', '#/source/blender/render/extern/include', '#/source/blender/windowmanager', '#/source/blender/makesdna', '#/source/blender/makesrna', '#/source/gameengine/BlenderRoutines', '#/extern/glew/include', '#/source/blender/gpu', env['BF_OPENGL_INC']]
+
+ defs = []
+ if env['WITH_BF_QUICKTIME']:
+ incs.append(env['BF_QUICKTIME_INC'])
+ defs.append('WITH_QUICKTIME')
+
+ if env['WITH_BF_BINRELOC']:
+ incs.append('#/extern/binreloc/include')
+ defs.append('WITH_BINRELOC')
+
+ if env['WITH_BF_OPENEXR']:
+ defs.append('WITH_OPENEXR')
+
+ if env['WITH_BF_TIFF']:
+ defs.append('WITH_TIFF')
+
+ if not env['WITH_BF_SDL']:
+ defs.append('DISABLE_SDL')
+
+ if env['WITH_BF_PYTHON']:
+ incs.append('#/source/blender/python')
+ defs.append('WITH_PYTHON')
+ if env['BF_DEBUG']:
+ defs.append('_DEBUG')
+
+ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
+ incs.append(env['BF_PTHREADS_INC'])
+
+ env.Append(CPPDEFINES=defs)
+ env.Append(CPPPATH=incs)
+ obj = [env.Object(root_build_dir+'source/creator/creator/creator', ['#source/creator/creator.c'])]
+
+ return obj
+
## TODO: see if this can be made in an emitter
def buildinfo(lenv, build_type):
"""
@@ -310,21 +364,21 @@ def buildinfo(lenv, build_type):
obj = []
if lenv['BF_BUILDINFO']:
- lenv.Append (CPPDEFINES = ['BUILD_TIME="%s"'%(build_time),
- 'BUILD_DATE="%s"'%(build_date),
- 'BUILD_TYPE="%s"'%(build_type),
- 'BUILD_REV="%s"'%(build_rev),
- 'NAN_BUILDINFO',
- 'BUILD_PLATFORM="%s:%s"'%(platform.system(), platform.architecture()[0]),
+ lenv.Append (CPPDEFINES = ['BUILD_TIME=\\"%s\\"'%(build_time),
+ 'BUILD_DATE=\\"%s\\"'%(build_date),
+ 'BUILD_TYPE=\\"%s\\"'%(build_type),
+ 'BUILD_REV=\\"%s\\"'%(build_rev),
+ 'WITH_BUILDINFO',
+ 'BUILD_PLATFORM=\\"%s:%s\\"'%(platform.system(), platform.architecture()[0]),
'BUILD_CFLAGS=\\"%s\\"'%(build_cflags),
'BUILD_CXXFLAGS=\\"%s\\"'%(build_cxxflags),
'BUILD_LINKFLAGS=\\"%s\\"'%(build_linkflags),
- 'BUILD_SYSTEM="SCons"'
+ 'BUILD_SYSTEM=\\"SCons\\"'
])
lenv.Append (CPPPATH = [root_build_dir+'source/blender/blenkernel'])
- obj = [lenv.Object (root_build_dir+'source/creator/%s_buildinfo'%build_type, [root_build_dir+'source/creator/buildinfo.c'])]
+ obj = [lenv.Object (root_build_dir+'source/creator/%s_buildinfo'%build_type, ['#source/creator/buildinfo.c'])]
return obj
@@ -482,7 +536,10 @@ def AppIt(target=None, source=None, env=None):
print("Installing to %s"%(installdir))
# TODO, use tar.
python_zip = 'python_' + osxarch + '.zip' # set specific python_arch.zip
- print("unzipping to app-bundle: %s"%(python_zip))
+ if env['WITH_OSX_STATICPYTHON']:
+ print("unzipping to app-bundle: %s"%(python_zip))
+ else:
+ print("dynamic build - make sure to have python3.x-framework installed")
bldroot = env.Dir('.').abspath
binary = env['BINARYKIND']
@@ -515,16 +572,20 @@ def AppIt(target=None, source=None, env=None):
commands.getoutput(cmd)
cmd = 'cp %s/release/bin/%s/.Blanguages %s/%s.app/Contents/Resources/'%(bldroot,VERSION,installdir,binary)
commands.getoutput(cmd)
- cmd = 'mkdir %s/%s.app/Contents/MacOS/%s/python/'%(installdir,binary, VERSION)
- commands.getoutput(cmd)
- cmd = 'unzip -q %s/release/%s -d %s/%s.app/Contents/MacOS/%s/python/'%(libdir,python_zip,installdir,binary,VERSION)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/release/scripts %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/release/ui %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
- commands.getoutput(cmd)
- cmd = 'cp -R %s/release/io %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
- commands.getoutput(cmd)
+ if env['WITH_OSX_STATICPYTHON']:
+ cmd = 'mkdir %s/%s.app/Contents/MacOS/%s/python/'%(installdir,binary, VERSION)
+ commands.getoutput(cmd)
+ cmd = 'unzip -q %s/release/%s -d %s/%s.app/Contents/MacOS/%s/python/'%(libdir,python_zip,installdir,binary,VERSION)
+ commands.getoutput(cmd)
+
+ if binary == 'blender':#not copy everything for blenderplayer
+ cmd = 'cp -R %s/release/scripts %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
+ commands.getoutput(cmd)
+ cmd = 'cp -R %s/release/ui %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
+ commands.getoutput(cmd)
+ cmd = 'cp -R %s/release/io %s/%s.app/Contents/MacOS/%s/'%(bldroot,installdir,binary,VERSION)
+ commands.getoutput(cmd)
+
cmd = 'chmod +x %s/%s.app/Contents/MacOS/%s'%(installdir,binary, binary)
commands.getoutput(cmd)
cmd = 'find %s/%s.app -name .svn -prune -exec rm -rf {} \;'%(installdir, binary)
@@ -714,23 +775,19 @@ class BlenderEnvironment(SConsEnvironment):
global vcp
print bc.HEADER+'Configuring program '+bc.ENDC+bc.OKGREEN+progname+bc.ENDC
lenv = self.Clone()
+ lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
if lenv['OURPLATFORM'] in ('win32-vc', 'cygwin', 'win64-vc'):
- lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
- lenv.Append(LINKFLAGS = ['/FORCE:MULTIPLE'])
if lenv['BF_DEBUG']:
- lenv.Prepend(LINKFLAGS = ['/DEBUG','/PDB:'+progname+'.pdb'])
- if lenv['OURPLATFORM']=='linux2':
- lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
+ lenv.Prepend(LINKFLAGS = ['/DEBUG','/PDB:'+progname+'.pdb','/NODEFAULTLIB:libcmt'])
+ if lenv['OURPLATFORM']=='linux':
if lenv['WITH_BF_PYTHON']:
lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
if lenv['OURPLATFORM']=='sunos5':
- lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
if lenv['WITH_BF_PYTHON']:
lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
if lenv['CXX'].endswith('CC'):
lenv.Replace(LINK = '$CXX')
if lenv['OURPLATFORM']=='darwin':
- lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS'])
if lenv['WITH_BF_PYTHON']:
lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS'])
lenv.Append(LINKFLAGS = lenv['BF_OPENGL_LINKFLAGS'])
diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py
index a8bee920a9b..be059241727 100644
--- a/build_files/scons/tools/btools.py
+++ b/build_files/scons/tools/btools.py
@@ -78,7 +78,7 @@ def print_arguments(args, bc):
def validate_arguments(args, bc):
opts_list = [
- 'WITH_BF_PYTHON', 'WITH_BF_PYTHON_SAFETY', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', 'BF_PYTHON_DLL', 'BF_PYTHON_ABI_FLAGS',
+ 'WITH_BF_PYTHON', 'WITH_BF_PYTHON_SAFETY', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'WITH_BF_STATICPYTHON', 'WITH_OSX_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', 'BF_PYTHON_DLL', 'BF_PYTHON_ABI_FLAGS',
'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC',
'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH',
'BF_LIBSAMPLERATE', 'BF_LIBSAMPLERATE_INC', 'BF_LIBSAMPLERATE_LIB', 'BF_LIBSAMPLERATE_LIBPATH', 'WITH_BF_STATICLIBSAMPLERATE', 'BF_LIBSAMPLERATE_LIB_STATIC',
@@ -87,7 +87,7 @@ def validate_arguments(args, bc):
'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH',
'WITH_BF_OPENEXR', 'BF_OPENEXR', 'BF_OPENEXR_INC', 'BF_OPENEXR_LIB', 'BF_OPENEXR_LIBPATH', 'WITH_BF_STATICOPENEXR', 'BF_OPENEXR_LIB_STATIC',
'WITH_BF_DDS', 'WITH_BF_CINEON', 'WITH_BF_HDR',
- 'WITH_BF_FFMPEG', 'BF_FFMPEG_LIB','BF_FFMPEG_EXTRA', 'BF_FFMPEG', 'BF_FFMPEG_INC',
+ 'WITH_BF_FFMPEG', 'BF_FFMPEG_LIB','BF_FFMPEG_EXTRA', 'BF_FFMPEG', 'BF_FFMPEG_INC', 'BF_FFMPEG_DLL',
'WITH_BF_STATICFFMPEG', 'BF_FFMPEG_LIB_STATIC',
'WITH_BF_OGG', 'BF_OGG', 'BF_OGG_LIB',
'WITH_BF_JPEG', 'BF_JPEG', 'BF_JPEG_INC', 'BF_JPEG_LIB', 'BF_JPEG_LIBPATH',
@@ -121,6 +121,7 @@ def validate_arguments(args, bc):
'BF_OPENMP_INC',
'BF_OPENMP_LIBPATH',
'WITH_GHOST_COCOA',
+ 'WITH_GHOST_SDL',
'USE_QTKIT',
'BF_FANCY', 'BF_QUIET', 'BF_LINE_OVERWRITE',
'BF_X264_CONFIG',
@@ -135,7 +136,7 @@ def validate_arguments(args, bc):
'BF_NO_ELBEEM',
'WITH_BF_CXX_GUARDEDALLOC',
'WITH_BF_JEMALLOC', 'WITH_BF_STATICJEMALLOC', 'BF_JEMALLOC', 'BF_JEMALLOC_INC', 'BF_JEMALLOC_LIBPATH', 'BF_JEMALLOC_LIB', 'BF_JEMALLOC_LIB_STATIC',
- 'BUILDBOT_BRANCH'
+ 'BUILDBOT_BRANCH', 'WITH_BF_3DMOUSE', 'WITH_BF_STATIC3DMOUSE', 'BF_3DMOUSE', 'BF_3DMOUSE_INC', 'BF_3DMOUSE_LIB', 'BF_3DMOUSE_LIBPATH', 'BF_3DMOUSE_LIB_STATIC'
]
# Have options here that scons expects to be lists
@@ -148,7 +149,7 @@ def validate_arguments(args, bc):
'BF_PROFILE_CFLAGS', 'BF_PROFILE_CCFLAGS', 'BF_PROFILE_CXXFLAGS', 'BF_PROFILE_LINKFLAGS',
'BF_DEBUG_CFLAGS', 'BF_DEBUG_CCFLAGS', 'BF_DEBUG_CXXFLAGS',
'C_WARN', 'CC_WARN', 'CXX_WARN',
- 'LLIBS', 'PLATFORM_LINKFLAGS','MACOSX_ARCHITECTURE',
+ 'LLIBS', 'PLATFORM_LINKFLAGS','MACOSX_ARCHITECTURE', 'MACOSX_SDK_CHECK', 'XCODE_CUR_VER',
]
@@ -158,7 +159,7 @@ def validate_arguments(args, bc):
'BF_BSC', 'BF_CONFIG',
'BF_PRIORITYLIST', 'BF_BUILDINFO','CC', 'CXX', 'BF_QUICKDEBUG',
'BF_LISTDEBUG', 'LCGDIR', 'BF_X264_CONFIG', 'BF_XVIDCORE_CONFIG',
- 'BF_UNIT_TEST']
+ 'BF_UNIT_TEST', 'BF_BITNESS']
okdict = {}
@@ -229,6 +230,7 @@ def read_opts(env, cfg, args):
('BF_PYTHON_LIBPATH', 'Library path', ''),
('BF_PYTHON_LINKFLAGS', 'Python link flags', ''),
(BoolVariable('WITH_BF_STATICPYTHON', 'Staticly link to python', False)),
+ (BoolVariable('WITH_OSX_STATICPYTHON', 'Staticly link to python', True)),
('BF_PYTHON_ABI_FLAGS', 'Python ABI flags (suffix in library version: m, mu, etc)', ''),
(BoolVariable('BF_NO_ELBEEM', 'Disable Fluid Sim', False)),
@@ -290,6 +292,7 @@ def read_opts(env, cfg, args):
(BoolVariable('WITH_BF_FFMPEG', 'Use FFMPEG if true', False)),
('BF_FFMPEG', 'FFMPEG base path', ''),
('BF_FFMPEG_LIB', 'FFMPEG library', ''),
+ ('BF_FFMPEG_DLL', 'FFMPEG dll libraries to be installed', ''),
('BF_FFMPEG_EXTRA', 'FFMPEG flags that must be preserved', ''),
('BF_FFMPEG_INC', 'FFMPEG includes', ''),
@@ -385,6 +388,7 @@ def read_opts(env, cfg, args):
('BF_OPENMP_INC', 'Path to OpenMP includes (used when cross-compiling with older versions of WinGW)', ''),
('BF_OPENMP_LIBPATH', 'Path to OpenMP libraries (used when cross-compiling with older versions of WinGW)', ''),
(BoolVariable('WITH_GHOST_COCOA', 'Use Cocoa-framework if true', False)),
+ (BoolVariable('WITH_GHOST_SDL', 'Enable building blender against SDL for windowing rather then the native APIs', False)),
(BoolVariable('USE_QTKIT', 'Use QTKIT if true', False)),
(BoolVariable('WITH_BF_QUICKTIME', 'Use QuickTime if true', False)),
@@ -435,6 +439,14 @@ def read_opts(env, cfg, args):
(BoolVariable('WITH_BF_PLAYER', 'Build blenderplayer if true', False)),
(BoolVariable('WITH_BF_NOBLENDER', 'Do not build blender if true', False)),
+ (BoolVariable('WITH_BF_3DMOUSE', 'Build blender with support of 3D mouses', False)),
+ (BoolVariable('WITH_BF_STATIC3DMOUSE', 'Staticly link to 3d mouse library', False)),
+ ('BF_3DMOUSE', '3d mouse library base path', ''),
+ ('BF_3DMOUSE_INC', '3d mouse library include path', ''),
+ ('BF_3DMOUSE_LIB', '3d mouse library', ''),
+ ('BF_3DMOUSE_LIBPATH', '3d mouse library path', ''),
+ ('BF_3DMOUSE_LIB_STATIC', '3d mouse static library', ''),
+
('CFLAGS', 'C only flags', []),
('CCFLAGS', 'Generic C and C++ flags', []),
('CXXFLAGS', 'C++ only flags', []),
@@ -451,6 +463,8 @@ def read_opts(env, cfg, args):
('LLIBS', 'Platform libs', []),
('PLATFORM_LINKFLAGS', 'Platform linkflags', []),
('MACOSX_ARCHITECTURE', 'python_arch.zip select', ''),
+ ('MACOSX_SDK_CHECK', 'detect available OSX sdk`s', ''),
+ ('XCODE_CUR_VER', 'detect XCode version', ''),
(BoolVariable('BF_PROFILE', 'Add profiling information if true', False)),
('BF_PROFILE_CFLAGS', 'C only profiling flags', []),
@@ -555,7 +569,7 @@ def buildslave(target=None, source=None, env=None):
extension = '.tar.bz2'
platform = env['OURPLATFORM'].split('-')[0]
- if platform == 'linux2':
+ if platform == 'linux':
import platform
bitness = platform.architecture()[0]
diff --git a/doc/blender_file_format/BlendFileDnaExporter_25.py b/doc/blender_file_format/BlendFileDnaExporter_25.py
new file mode 100755
index 00000000000..988c992fd78
--- /dev/null
+++ b/doc/blender_file_format/BlendFileDnaExporter_25.py
@@ -0,0 +1,477 @@
+#! /usr/bin/env python3
+
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ***** END GPL LICENCE BLOCK *****
+
+######################################################
+#
+# Name:
+# dna.py
+#
+# Description:
+# Creates a browsable DNA output to HTML.
+#
+# Author:
+# Jeroen Bakker
+#
+# Version:
+# v0.1 (12-05-2009) - migration of original source code to python.
+# Added code to support blender 2.5 branch
+# v0.2 (25-05-2009) - integrated with BlendFileReader.py
+#
+# Input:
+# blender build executable
+#
+# Output:
+# dna.html
+# dna.css (will only be created when not existing)
+#
+# Startup:
+# ./blender -P BlendFileDnaExporter.py
+#
+# Process:
+# 1: write blend file with SDNA info
+# 2: read blend header from blend file
+# 3: seek DNA1 file-block
+# 4: read dna record from blend file
+# 5: close and eventually delete temp blend file
+# 6: export dna to html and css
+# 7: quit blender
+#
+######################################################
+
+import struct
+import sys
+import getopt # command line arguments handling
+from string import Template # strings completion
+
+
+# logs
+import logging
+log = logging.getLogger("BlendFileDnaExporter")
+
+if '--dna-debug' in sys.argv:
+ logging.basicConfig(level=logging.DEBUG)
+else:
+ logging.basicConfig(level=logging.INFO)
+
+
+class DNACatalogHTML:
+ '''
+ DNACatalog is a catalog of all information in the DNA1 file-block
+ '''
+
+ def __init__(self, catalog, bpy_module = None):
+ self.Catalog = catalog
+ self.bpy = bpy_module
+
+ def WriteToHTML(self, handle):
+
+ dna_html_template = """
+ <!DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd>
+ <html>
+ <head>
+ <link rel="stylesheet" type="text/css" href="dna.css" media="screen, print" />
+ <meta http-equiv="Content-Type" content="text/html"; charset="ISO-8859-1" />
+ <title>The mystery of the blend</title>
+ </head>
+ <body>
+ <div class=title>
+ Blender ${version}<br/>
+ Internal SDNA structures
+ </div>
+ Architecture: ${bitness} ${endianness}<br/>
+ Build revision: <a href="https://svn.blender.org/svnroot/bf-blender/!svn/bc/${revision}/trunk/">${revision}</a><br/>
+ File format reference: <a href="mystery_of_the_blend.html">The mystery of the blend</a> by Jeroen Bakker<br/>
+ <h1>Index of blender structures</h1>
+ <ul class=multicolumn>
+ ${structs_list}
+ </ul>
+ ${structs_content}
+ </body>
+ </html>"""
+
+ header = self.Catalog.Header
+ bpy = self.bpy
+
+ # ${version} and ${revision}
+ if bpy:
+ version = '.'.join(map(str, bpy.app.version))
+ revision = bpy.app.build_revision[:-1]
+ else:
+ version = str(header.Version)
+ revision = 'Unknown'
+
+ # ${bitness}
+ if header.PointerSize == 8:
+ bitness = '64 bit'
+ else:
+ bitness = '32 bit'
+
+ # ${endianness}
+ if header.LittleEndianness:
+ endianess= 'Little endianness'
+ else:
+ endianess= 'Big endianness'
+
+ # ${structs_list}
+ log.debug("Creating structs index")
+ structs_list = ''
+ list_item = '<li class="multicolumn">({0}) <a href="#{1}">{1}</a></li>\n'
+ structureIndex = 0
+ for structure in self.Catalog.Structs:
+ structs_list += list_item.format(structureIndex, structure.Type.Name)
+ structureIndex+=1
+
+ # ${structs_content}
+ log.debug("Creating structs content")
+ structs_content = ''
+ for structure in self.Catalog.Structs:
+ log.debug(structure.Type.Name)
+ structs_content += self.Structure(structure)
+
+ d = dict(
+ version = version,
+ revision = revision,
+ bitness = bitness,
+ endianness = endianess,
+ structs_list = structs_list,
+ structs_content = structs_content
+ )
+
+ dna_html = Template(dna_html_template).substitute(d)
+ dna_html = self.format(dna_html)
+ handle.write(dna_html)
+
+ def Structure(self, structure):
+ struct_table_template = """
+ <table><a name="${struct_name}"></a>
+ <caption><a href="#${struct_name}">${struct_name}</a></caption>
+ <thead>
+ <tr>
+ <th>reference</th>
+ <th>structure</th>
+ <th>type</th>
+ <th>name</th>
+ <th>offset</th>
+ <th>size</th>
+ </tr>
+ </thead>
+ <tbody>
+ ${fields}
+ </tbody>
+ </table>
+ <label>Total size: ${size} bytes</label><br/>
+ <label>(<a href="#top">top</a>)</label><br/>"""
+
+ d = dict(
+ struct_name = structure.Type.Name,
+ fields = self.StructureFields(structure, None, 0),
+ size = str(structure.Type.Size)
+ )
+
+ struct_table = Template(struct_table_template).substitute(d)
+ return struct_table
+
+ def StructureFields(self, structure, parentReference, offset):
+ fields = ''
+ for field in structure.Fields:
+ fields += self.StructureField(field, structure, parentReference, offset)
+ offset += field.Size(self.Catalog.Header)
+ return fields
+
+ def StructureField(self, field, structure, parentReference, offset):
+ structure_field_template = """
+ <tr>
+ <td>${reference}</td>
+ <td>${struct}</td>
+ <td>${type}</td>
+ <td>${name}</td>
+ <td>${offset}</td>
+ <td>${size}</td>
+ </tr>"""
+
+ if field.Type.Structure == None or field.Name.IsPointer():
+
+ # ${reference}
+ reference = field.Name.AsReference(parentReference)
+
+ # ${struct}
+ if parentReference != None:
+ struct = '<a href="#{0}">{0}</a>'.format(structure.Type.Name)
+ else:
+ struct = structure.Type.Name
+
+ # ${type}
+ type = field.Type.Name
+
+ # ${name}
+ name = field.Name.Name
+
+ # ${offset}
+ # offset already set
+
+ # ${size}
+ size = field.Size(self.Catalog.Header)
+
+ d = dict(
+ reference = reference,
+ struct = struct,
+ type = type,
+ name = name,
+ offset = offset,
+ size = size
+ )
+
+ structure_field = Template(structure_field_template).substitute(d)
+
+ elif field.Type.Structure != None:
+ reference = field.Name.AsReference(parentReference)
+ structure_field = self.StructureFields(field.Type.Structure, reference, offset)
+
+ return structure_field
+
+ def indent(self, input, dent, startswith = ''):
+ output = ''
+ if dent < 0:
+ for line in input.split('\n'):
+ dent = abs(dent)
+ output += line[dent:] + '\n' # unindent of a desired amount
+ elif dent == 0:
+ for line in input.split('\n'):
+ output += line.lstrip() + '\n' # remove indentation completely
+ elif dent > 0:
+ for line in input.split('\n'):
+ output += ' '* dent + line + '\n'
+ return output
+
+ def format(self, input):
+ diff = {
+ '\n<!DOCTYPE':'<!DOCTYPE',
+ '\n</ul>' :'</ul>',
+ '<a name' :'\n<a name',
+ '<tr>\n' :'<tr>',
+ '<tr>' :' <tr>',
+ '</th>\n' :'</th>',
+ '</td>\n' :'</td>',
+ '<tbody>\n' :'<tbody>'
+ }
+ output = self.indent(input, 0)
+ for key, value in diff.items():
+ output = output.replace(key, value)
+ return output
+
+ def WriteToCSS(self, handle):
+ '''
+ Write the Cascading stylesheet template to the handle
+ It is expected that the handle is a Filehandle
+ '''
+ css = """
+ @CHARSET "ISO-8859-1";
+
+ body {
+ font-family: verdana;
+ font-size: small;
+ }
+
+ div.title {
+ font-size: large;
+ text-align: center;
+ }
+
+ h1 {
+ page-break-before: always;
+ }
+
+ h1, h2 {
+ background-color: #D3D3D3;
+ color:#404040;
+ margin-right: 3%;
+ padding-left: 40px;
+ }
+
+ h1:hover{
+ background-color: #EBEBEB;
+ }
+
+ h3 {
+ padding-left: 40px;
+ }
+
+ table {
+ border-width: 1px;
+ border-style: solid;
+ border-color: #000000;
+ border-collapse: collapse;
+ width: 94%;
+ margin: 20px 3% 10px;
+ }
+
+ caption {
+ margin-bottom: 5px;
+ }
+
+ th {
+ background-color: #000000;
+ color:#ffffff;
+ padding-left:5px;
+ padding-right:5px;
+ }
+
+ tr {
+ }
+
+ td {
+ border-width: 1px;
+ border-style: solid;
+ border-color: #a0a0a0;
+ padding-left:5px;
+ padding-right:5px;
+ }
+
+ label {
+ float:right;
+ margin-right: 3%;
+ }
+
+ ul.multicolumn {
+ list-style:none;
+ float:left;
+ padding-right:0px;
+ margin-right:0px;
+ }
+
+ li.multicolumn {
+ float:left;
+ width:200px;
+ margin-right:0px;
+ }
+
+ a {
+ color:#a000a0;
+ text-decoration:none;
+ }
+
+ a:hover {
+ color:#a000a0;
+ text-decoration:underline;
+ }
+ """
+
+ css = self.indent(css, 0)
+
+ handle.write(css)
+
+
+def usage():
+ print("\nUsage: \n\tblender2.5 -b -P BlendFileDnaExporter_25.py [-- [options]]")
+ print("Options:")
+ print("\t--dna-keep-blend: doesn't delete the produced blend file DNA export to html")
+ print("\t--dna-debug: sets the logging level to DEBUG (lots of additional info)")
+ print("\t--dna-versioned saves version informations in the html and blend filenames")
+ print("\t--dna-overwrite-css overwrite dna.css, useful when modifying css in the script")
+ print("Examples:")
+ print("\tdefault: % blender2.5 -b -P BlendFileDnaExporter_25.py")
+ print("\twith options: % blender2.5 -b -P BlendFileDnaExporter_25.py -- --dna-keep-blend --dna-debug\n")
+
+
+######################################################
+# Main
+######################################################
+
+def main():
+
+ import os, os.path
+
+ try:
+ bpy = __import__('bpy')
+
+ # Files
+ if '--dna-versioned' in sys.argv:
+ blender_version = '_'.join(map(str, bpy.app.version))
+ filename = 'dna-{0}-{1}_endian-{2}-r{3}'.format(sys.arch, sys.byteorder, blender_version, bpy.app.build_revision[2:-1])
+ else:
+ filename = 'dna'
+ dir = os.path.dirname(__file__)
+ Path_Blend = os.path.join(dir, filename + '.blend') # temporary blend file
+ Path_HTML = os.path.join(dir, filename + '.html') # output html file
+ Path_CSS = os.path.join(dir, 'dna.css') # output css file
+
+ # create a blend file for dna parsing
+ if not os.path.exists(Path_Blend):
+ log.info("1: write temp blend file with SDNA info")
+ log.info(" saving to: " + Path_Blend)
+ try:
+ bpy.ops.wm.save_as_mainfile(filepath = Path_Blend, copy = True, compress = False)
+ except:
+ log.error("Filename {0} does not exist and can't be created... quitting".format(Path_Blend))
+ return
+ else:
+ log.info("1: found blend file with SDNA info")
+ log.info(" " + Path_Blend)
+
+ # read blend header from blend file
+ log.info("2: read file:")
+
+ if not dir in sys.path:
+ sys.path.append(dir)
+ import BlendFileReader
+
+ handle = BlendFileReader.openBlendFile(Path_Blend)
+ blendfile = BlendFileReader.BlendFile(handle)
+ catalog = DNACatalogHTML(blendfile.Catalog, bpy)
+
+ # close temp file
+ handle.close()
+
+ # deleting or not?
+ if '--dna-keep-blend' in sys.argv:
+ # keep the blend, useful for studying hexdumps
+ log.info("5: closing blend file:")
+ log.info(" {0}".format(Path_Blend))
+ else:
+ # delete the blend
+ log.info("5: close and delete temp blend:")
+ log.info(" {0}".format(Path_Blend))
+ os.remove(Path_Blend)
+
+ # export dna to xhtml
+ log.info("6: export sdna to xhtml file")
+ handleHTML = open(Path_HTML, "w")
+ catalog.WriteToHTML(handleHTML)
+ handleHTML.close()
+
+ # only write the css when doesn't exist or at explicit request
+ if not os.path.exists(Path_CSS) or '--dna-overwrite-css' in sys.argv:
+ handleCSS = open(Path_CSS, "w")
+ catalog.WriteToCSS(handleCSS)
+ handleCSS.close()
+
+ # quit blender
+ if not bpy.app.background:
+ log.info("7: quit blender")
+ bpy.ops.wm.exit_blender()
+
+ except ImportError:
+ log.warning(" skipping, not running in Blender")
+ usage()
+ sys.exit(2)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/doc/blender_file_format/BlendFileReader.py b/doc/blender_file_format/BlendFileReader.py
new file mode 100644
index 00000000000..313c8c7ff5d
--- /dev/null
+++ b/doc/blender_file_format/BlendFileReader.py
@@ -0,0 +1,446 @@
+#! /usr/bin/env python3
+
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ***** END GPL LICENCE BLOCK *****
+
+######################################################
+# Importing modules
+######################################################
+
+import os
+import struct
+import gzip
+import tempfile
+
+import logging
+log = logging.getLogger("BlendFileReader")
+
+######################################################
+# module global routines
+######################################################
+
+def ReadString(handle, length):
+ '''
+ ReadString reads a String of given length or a zero terminating String
+ from a file handle
+ '''
+ if length != 0:
+ return handle.read(length).decode()
+ else:
+ # length == 0 means we want a zero terminating string
+ result = ""
+ s = ReadString(handle, 1)
+ while s!="\0":
+ result += s
+ s = ReadString(handle, 1)
+ return result
+
+
+def Read(type, handle, fileheader):
+ '''
+ Reads the chosen type from a file handle
+ '''
+ def unpacked_bytes(type_char, size):
+ return struct.unpack(fileheader.StructPre + type_char, handle.read(size))[0]
+
+ if type == 'ushort':
+ return unpacked_bytes("H", 2) # unsigned short
+ elif type == 'short':
+ return unpacked_bytes("h", 2) # short
+ elif type == 'uint':
+ return unpacked_bytes("I", 4) # unsigned int
+ elif type == 'int':
+ return unpacked_bytes("i", 4) # int
+ elif type == 'float':
+ return unpacked_bytes("f", 4) # float
+ elif type == 'ulong':
+ return unpacked_bytes("Q", 8) # unsigned long
+ elif type == 'pointer':
+ # The pointersize is given by the header (BlendFileHeader).
+ if fileheader.PointerSize == 4:
+ return Read('uint', handle, fileheader)
+ if fileheader.PointerSize == 8:
+ return Read('ulong', handle, fileheader)
+
+
+def openBlendFile(filename):
+ '''
+ Open a filename, determine if the file is compressed and returns a handle
+ '''
+ handle = open(filename, 'rb')
+ magic = ReadString(handle, 7)
+ if magic in ("BLENDER", "BULLETf"):
+ log.debug("normal blendfile detected")
+ handle.seek(0, os.SEEK_SET)
+ return handle
+ else:
+ log.debug("gzip blendfile detected?")
+ handle.close()
+ log.debug("decompressing started")
+ fs = gzip.open(filename, "rb")
+ handle = tempfile.TemporaryFile()
+ data = fs.read(1024*1024)
+ while data:
+ handle.write(data)
+ data = fs.read(1024*1024)
+ log.debug("decompressing finished")
+ fs.close()
+ log.debug("resetting decompressed file")
+ handle.seek(0, os.SEEK_SET)
+ return handle
+
+
+def Align(handle):
+ '''
+ Aligns the filehandle on 4 bytes
+ '''
+ offset = handle.tell()
+ trim = offset % 4
+ if trim != 0:
+ handle.seek(4-trim, os.SEEK_CUR)
+
+
+######################################################
+# module classes
+######################################################
+
+class BlendFile:
+ '''
+ Reads a blendfile and store the header, all the fileblocks, and catalogue
+ structs foound in the DNA fileblock
+
+ - BlendFile.Header (BlendFileHeader instance)
+ - BlendFile.Blocks (list of BlendFileBlock instances)
+ - BlendFile.Catalog (DNACatalog instance)
+ '''
+
+ def __init__(self, handle):
+ log.debug("initializing reading blend-file")
+ self.Header = BlendFileHeader(handle)
+ self.Blocks = []
+ fileblock = BlendFileBlock(handle, self)
+ found_dna_block = False
+ while not found_dna_block:
+ if fileblock.Header.Code in ("DNA1", "SDNA"):
+ self.Catalog = DNACatalog(self.Header, handle)
+ found_dna_block = True
+ else:
+ fileblock.Header.skip(handle)
+
+ self.Blocks.append(fileblock)
+ fileblock = BlendFileBlock(handle, self)
+
+ # appending last fileblock, "ENDB"
+ self.Blocks.append(fileblock)
+
+ # seems unused?
+ """
+ def FindBlendFileBlocksWithCode(self, code):
+ #result = []
+ #for block in self.Blocks:
+ #if block.Header.Code.startswith(code) or block.Header.Code.endswith(code):
+ #result.append(block)
+ #return result
+ """
+
+
+class BlendFileHeader:
+ '''
+ BlendFileHeader allocates the first 12 bytes of a blend file.
+ It contains information about the hardware architecture.
+ Header example: BLENDER_v254
+
+ BlendFileHeader.Magic (str)
+ BlendFileHeader.PointerSize (int)
+ BlendFileHeader.LittleEndianness (bool)
+ BlendFileHeader.StructPre (str) see http://docs.python.org/py3k/library/struct.html#byte-order-size-and-alignment
+ BlendFileHeader.Version (int)
+ '''
+
+ def __init__(self, handle):
+ log.debug("reading blend-file-header")
+
+ self.Magic = ReadString(handle, 7)
+ log.debug(self.Magic)
+
+ pointersize = ReadString(handle, 1)
+ log.debug(pointersize)
+ if pointersize == "-":
+ self.PointerSize = 8
+ if pointersize == "_":
+ self.PointerSize = 4
+
+ endianness = ReadString(handle, 1)
+ log.debug(endianness)
+ if endianness == "v":
+ self.LittleEndianness = True
+ self.StructPre = "<"
+ if endianness == "V":
+ self.LittleEndianness = False
+ self.StructPre = ">"
+
+ version = ReadString(handle, 3)
+ log.debug(version)
+ self.Version = int(version)
+
+ log.debug("{0} {1} {2} {3}".format(self.Magic, self.PointerSize, self.LittleEndianness, version))
+
+
+class BlendFileBlock:
+ '''
+ BlendFileBlock.File (BlendFile)
+ BlendFileBlock.Header (FileBlockHeader)
+ '''
+
+ def __init__(self, handle, blendfile):
+ self.File = blendfile
+ self.Header = FileBlockHeader(handle, blendfile.Header)
+
+ def Get(self, handle, path):
+ log.debug("find dna structure")
+ dnaIndex = self.Header.SDNAIndex
+ dnaStruct = self.File.Catalog.Structs[dnaIndex]
+ log.debug("found " + dnaStruct.Type.Name)
+ handle.seek(self.Header.FileOffset, os.SEEK_SET)
+ return dnaStruct.GetField(self.File.Header, handle, path)
+
+
+class FileBlockHeader:
+ '''
+ FileBlockHeader contains the information in a file-block-header.
+ The class is needed for searching to the correct file-block (containing Code: DNA1)
+
+ Code (str)
+ Size (int)
+ OldAddress (pointer)
+ SDNAIndex (int)
+ Count (int)
+ FileOffset (= file pointer of datablock)
+ '''
+
+ def __init__(self, handle, fileheader):
+ self.Code = ReadString(handle, 4).strip()
+ if self.Code != "ENDB":
+ self.Size = Read('uint', handle, fileheader)
+ self.OldAddress = Read('pointer', handle, fileheader)
+ self.SDNAIndex = Read('uint', handle, fileheader)
+ self.Count = Read('uint', handle, fileheader)
+ self.FileOffset = handle.tell()
+ else:
+ self.Size = Read('uint', handle, fileheader)
+ self.OldAddress = 0
+ self.SDNAIndex = 0
+ self.Count = 0
+ self.FileOffset = handle.tell()
+ #self.Code += ' ' * (4 - len(self.Code))
+ log.debug("found blend-file-block-fileheader {0} {1}".format(self.Code, self.FileOffset))
+
+ def skip(self, handle):
+ handle.read(self.Size)
+
+
+class DNACatalog:
+ '''
+ DNACatalog is a catalog of all information in the DNA1 file-block
+
+ Header = None
+ Names = None
+ Types = None
+ Structs = None
+ '''
+
+ def __init__(self, fileheader, handle):
+ log.debug("building DNA catalog")
+ self.Names=[]
+ self.Types=[]
+ self.Structs=[]
+ self.Header = fileheader
+
+ SDNA = ReadString(handle, 4)
+
+ # names
+ NAME = ReadString(handle, 4)
+ numberOfNames = Read('uint', handle, fileheader)
+ log.debug("building #{0} names".format(numberOfNames))
+ for i in range(numberOfNames):
+ name = ReadString(handle,0)
+ self.Names.append(DNAName(name))
+ Align(handle)
+
+ # types
+ TYPE = ReadString(handle, 4)
+ numberOfTypes = Read('uint', handle, fileheader)
+ log.debug("building #{0} types".format(numberOfTypes))
+ for i in range(numberOfTypes):
+ type = ReadString(handle,0)
+ self.Types.append(DNAType(type))
+ Align(handle)
+
+ # type lengths
+ TLEN = ReadString(handle, 4)
+ log.debug("building #{0} type-lengths".format(numberOfTypes))
+ for i in range(numberOfTypes):
+ length = Read('ushort', handle, fileheader)
+ self.Types[i].Size = length
+ Align(handle)
+
+ # structs
+ STRC = ReadString(handle, 4)
+ numberOfStructures = Read('uint', handle, fileheader)
+ log.debug("building #{0} structures".format(numberOfStructures))
+ for structureIndex in range(numberOfStructures):
+ type = Read('ushort', handle, fileheader)
+ Type = self.Types[type]
+ structure = DNAStructure(Type)
+ self.Structs.append(structure)
+
+ numberOfFields = Read('ushort', handle, fileheader)
+ for fieldIndex in range(numberOfFields):
+ fTypeIndex = Read('ushort', handle, fileheader)
+ fNameIndex = Read('ushort', handle, fileheader)
+ fType = self.Types[fTypeIndex]
+ fName = self.Names[fNameIndex]
+ structure.Fields.append(DNAField(fType, fName))
+
+
+class DNAName:
+ '''
+ DNAName is a C-type name stored in the DNA.
+
+ Name = str
+ '''
+
+ def __init__(self, name):
+ self.Name = name
+
+ def AsReference(self, parent):
+ if parent == None:
+ result = ""
+ else:
+ result = parent+"."
+
+ result = result + self.ShortName()
+ return result
+
+ def ShortName(self):
+ result = self.Name;
+ result = result.replace("*", "")
+ result = result.replace("(", "")
+ result = result.replace(")", "")
+ Index = result.find("[")
+ if Index != -1:
+ result = result[0:Index]
+ return result
+
+ def IsPointer(self):
+ return self.Name.find("*")>-1
+
+ def IsMethodPointer(self):
+ return self.Name.find("(*")>-1
+
+ def ArraySize(self):
+ result = 1
+ Temp = self.Name
+ Index = Temp.find("[")
+
+ while Index != -1:
+ Index2 = Temp.find("]")
+ result*=int(Temp[Index+1:Index2])
+ Temp = Temp[Index2+1:]
+ Index = Temp.find("[")
+
+ return result
+
+
+class DNAType:
+ '''
+ DNAType is a C-type stored in the DNA
+
+ Name = str
+ Size = int
+ Structure = DNAStructure
+ '''
+
+ def __init__(self, aName):
+ self.Name = aName
+ self.Structure=None
+
+
+class DNAStructure:
+ '''
+ DNAType is a C-type structure stored in the DNA
+
+ Type = DNAType
+ Fields = [DNAField]
+ '''
+
+ def __init__(self, aType):
+ self.Type = aType
+ self.Type.Structure = self
+ self.Fields=[]
+
+ def GetField(self, header, handle, path):
+ splitted = path.partition(".")
+ name = splitted[0]
+ rest = splitted[2]
+ offset = 0;
+ for field in self.Fields:
+ if field.Name.ShortName() == name:
+ log.debug("found "+name+"@"+str(offset))
+ handle.seek(offset, os.SEEK_CUR)
+ return field.DecodeField(header, handle, rest)
+ else:
+ offset += field.Size(header)
+
+ log.debug("error did not find "+path)
+ return None
+
+
+class DNAField:
+ '''
+ DNAField is a coupled DNAType and DNAName.
+
+ Type = DNAType
+ Name = DNAName
+ '''
+
+ def __init__(self, aType, aName):
+ self.Type = aType
+ self.Name = aName
+
+ def Size(self, header):
+ if self.Name.IsPointer() or self.Name.IsMethodPointer():
+ return header.PointerSize*self.Name.ArraySize()
+ else:
+ return self.Type.Size*self.Name.ArraySize()
+
+ def DecodeField(self, header, handle, path):
+ if path == "":
+ if self.Name.IsPointer():
+ return Read('pointer', handle, header)
+ if self.Type.Name=="int":
+ return Read('int', handle, header)
+ if self.Type.Name=="short":
+ return Read('short', handle, header)
+ if self.Type.Name=="float":
+ return Read('float', handle, header)
+ if self.Type.Name=="char":
+ return ReadString(handle, self.Name.ArraySize())
+ else:
+ return self.Type.Structure.GetField(header, handle, path)
+
diff --git a/doc/blender_file_format/README b/doc/blender_file_format/README
new file mode 100644
index 00000000000..55dc3b83e49
--- /dev/null
+++ b/doc/blender_file_format/README
@@ -0,0 +1,29 @@
+To inspect the blend-file-format used by a certain version of blender 2.5x,
+navigate to this folder and run this command:
+
+blender2.5 -b -P BlendFileDnaExporter_25.py
+
+where "blender2.5" is your blender executable or a symlink to it.
+
+This creates a temporary dna.blend to be inspected and it produces two new files:
+
+* dna.html: the list of all the structures saved in a blend file with the blender2.5
+ executable you have used. If you enable build informations when you build blender,
+ the dna.html file will also show which svn revision the html refers to.
+* dna.css: the css for the html above
+
+Below you have the help message with a list of options you can use.
+
+
+Usage:
+ blender2.5 -b -P BlendFileDnaExporter_25.py [-- [options]]
+Options:
+ --dna-keep-blend: doesn't delete the produced blend file DNA export to html
+ --dna-debug: sets the logging level to DEBUG (lots of additional info)
+ --dna-versioned saves version informations in the html and blend filenames
+ --dna-overwrite-css overwrite dna.css, useful when modifying css in the script
+Examples:
+ default: % blender2.5 -b -P BlendFileDnaExporter_25.py
+ with options: % blender2.5 -b -P BlendFileDnaExporter_25.py -- --dna-keep-blend --dna-debug
+
+
diff --git a/doc/blender_file_format/mystery_of_the_blend.css b/doc/blender_file_format/mystery_of_the_blend.css
new file mode 100644
index 00000000000..df287b54a06
--- /dev/null
+++ b/doc/blender_file_format/mystery_of_the_blend.css
@@ -0,0 +1,204 @@
+@CHARSET "ISO-8859-1";
+
+table {
+ border-width: 1px;
+ border-style: solid;
+ border-color: #000000;
+ border-collapse: collapse;
+ width: 94%;
+ margin: 10px 3%;
+}
+
+DIV.title {
+ font-size: 30px;
+ font-weight: bold;
+ text-align: center
+}
+
+DIV.subtitle {
+ font-size: large;
+ text-align: center
+}
+
+DIV.contact {
+ margin:30px 3%;
+}
+
+@media print {
+ DIV.contact {
+ margin-top: 300px;
+ }
+ DIV.title {
+ margin-top: 400px;
+ }
+}
+
+label {
+ font-weight: bold;
+ width: 100px;
+ float: left;
+}
+
+label:after {
+ content: ":";
+}
+
+TH {
+ background-color: #000000;
+ color: #ffffff;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+TR {
+}
+
+TD {
+ border-width: 1px;
+ border-style: solid;
+ border-color: #a0a0a0;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+BODY {
+ font-family: verdana;
+ font-size: small;
+}
+
+H1 {
+ page-break-before: always;
+}
+
+H1, H2, H3, H4 {
+ margin-top: 30px;
+ margin-right: 3%;
+ padding: 3px 3%;
+ color: #404040;
+ cursor: pointer;
+}
+
+H1, H2 {
+ background-color: #D3D3D3;
+}
+
+H3, H4 {
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+H1:hover, H2:hover, H3:hover, H4:hover {
+ background-color: #EBEBEB;
+}
+
+CODE.evidence {
+ font-size:larger
+}
+
+CODE.block {
+ color: #000000;
+ background-color: #DDDC75;
+ margin: 10px 0;
+ padding: 5px;
+ border-width: 1px;
+ border-style: dotted;
+ border-color: #000000;
+ white-space: pre;
+ display: block;
+ font-size: 2 em;
+}
+
+ul {
+ margin: 10px 3%;
+}
+
+li {
+ margin: 0 -15px;
+}
+
+ul.multicolumn {
+ list-style: none;
+ float: left;
+ padding-right: 0px;
+ margin-right: 0px;
+}
+
+li.multicolumn {
+ float: left;
+ width: 200px;
+ margin-right: 0px;
+}
+
+@media screen {
+ p {
+ margin: 10px 3%;
+ line-height: 130%;
+ }
+}
+
+span.fade {
+ color: gray;
+}
+
+span.header {
+ color: green;
+}
+
+span.header-greyed {
+ color: #4CBE4B;
+}
+
+span.data {
+ color: blue;
+}
+
+span.data-greyed {
+ color: #5D99C4;
+}
+
+span.descr {
+ color: red;
+}
+
+div.box {
+ margin: 15px 3%;
+ border-style: dotted;
+ border-width: 1px;
+}
+
+div.box-solid {
+ margin: 15px 3%;
+ border-style: solid;
+ border-width: 1px;
+}
+
+p.box-title {
+ font-style: italic;
+ font-size: 110%;
+ cursor: pointer;
+}
+
+p.box-title:hover {
+ background-color: #EBEBEB;
+}
+
+p.code {
+ font-family: "Courier New", Courier, monospace;
+}
+
+a {
+ color: #a000a0;
+ text-decoration: none;
+}
+
+a:hover {
+ color: #a000a0;
+ text-decoration: underline;
+}
+
+td.skip {
+ color: #808080;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ text-align: center;
+}
diff --git a/doc/blender_file_format/mystery_of_the_blend.html b/doc/blender_file_format/mystery_of_the_blend.html
new file mode 100644
index 00000000000..b34493ffa3e
--- /dev/null
+++ b/doc/blender_file_format/mystery_of_the_blend.html
@@ -0,0 +1,835 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+ <link rel="stylesheet" type="text/css" href="mystery_of_the_blend.css" media="screen, print">
+ <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+ <title>The mystery of the blend</title>
+</head>
+
+<body>
+<div class="title">The mystery of the blend</div>
+<div class="subtitle">The blender file-format explained</div>
+<div class="contact">
+<label>Author</label> Jeroen Bakker<br>
+<label>Email</label> <a href="mailto:j.bakker@atmind.nl">j.bakker@atmind.nl</a><br>
+<label>Website</label> <a href="http://www.atmind.nl/blender/">http://www.atmind.nl/blender</a><br>
+<label>Version</label> 06-10-2010<br>
+</div>
+
+<a name="introduction" href="#introduction" ><h2>Introduction</h2></a>
+</a>
+
+<p>In this article I will describe the
+ blend-file-format with a request to tool-makers to support blend-file.
+
+</p>
+<p>First I'll describe how Blender works with blend-files. You'll notice
+ why the blend-file-format is not that well documented, as from
+Blender's perspective this is not needed.
+We look at the global file-structure of a blend-file (the file-header
+and file-blocks).
+After this is explained, we go deeper to the core of the blend-file, the
+ DNA-structures. They hold the blue-prints of the blend-file and the key
+ asset of understanding blend-files.
+When that's done we can use these DNA-structures to read information
+from elsewhere in the blend-file.
+
+</p>
+<p>
+In this article we'll be using the default blend-file from Blender 2.54,
+ with the goal to read the output resolution from the Scene.
+The article is written to be programming language independent and I've
+setup a web-site for support.
+</p>
+
+<a name="loading-and-saving-in-blender" href="#loading-and-saving-in-blender">
+<h2>Loading and saving in Blender</h2>
+</a>
+
+<p>
+Loading and saving in Blender is very fast and Blender is known to
+have excellent downward and upward compatibility. Ton Roosendaal
+demonstrated that in December 2008 by loading a 1.0 blend-file using
+Blender 2.48a [ref: <a href="http://www.blendernation.com/2008/12/01/blender-dna-rna-and-backward-compatibility/">http://www.blendernation.com/2008/12/01/blender-dna-rna-and-backward-compatibility/</a>].
+</p>
+
+<p>
+Saving complex scenes in Blender is done within seconds. Blender
+achieves this by saving data in memory to disk without any
+transformations or translations. Blender only adds file-block-headers to
+ this data. A file-block-header contains clues on how to interpret the
+data. After the data, all internally Blender structures are stored.
+These structures will act as blue-prints when Blender loads the file.
+Blend-files can be different when stored on different hardware platforms
+ or Blender releases. There is no effort taken to make blend-files
+binary the same. Blender creates the blend-files in this manner since
+release 1.0. Backward and upwards compatibility is not implemented when
+saving the file, this is done during loading.
+</p>
+
+<p>
+When Blender loads a blend-file, the DNA-structures are read first.
+Blender creates a catalog of these DNA-structures. Blender uses this
+catalog together with the data in the file, the internal Blender
+structures of the Blender release you're using and a lot of
+transformation and translation logic to implement the backward and
+upward compatibility. In the source code of blender there is actually
+logic which can transform and translate every structure used by a
+Blender release to the one of the release you're using [ref: <a href="http://download.blender.org/source/blender-2.48a.tar.gz">http://download.blender.org/source/blender-2.48a.tar.gz</a>
+ <a href="https://svn.blender.org/svnroot/bf-blender/tags/blender-2.48-release/source/blender/blenloader/intern/readfile.c">blender/blenloader/intern/readfile.c</a> lines
+4946-7960]. The more difference between releases the more logic is
+executed.
+</p>
+
+<p>
+The blend-file-format is not well documented, as it does not differ from
+ internally used structures and the file can really explain itself.
+</p>
+
+<a name="global-file-structure" href="#global-file-structure">
+<h2>Global file-structure</h2>
+</a>
+
+<p>
+This section explains how the global file-structure can be read.
+</p>
+
+<ul>
+<li>A blend-file always start with the <b>file-header</b></li>
+<li>After the file-header, follows a list of <b>file-blocks</b> (the default blend file of Blender 2.48 contains more than 400 of these file-blocks).</li>
+<li>Each file-block has a <b>file-block header</b> and <b>file-block data</b></li>
+<li>At the end of the blend-file there is a section called "<a href="#structure-DNA" style="font-weight:bold">Structure DNA</a>", which lists all the internal structures of the Blender release the file was created in</li>
+<li>The blend-file ends with a file-block called 'ENDB'</li>
+</ul>
+
+<!-- file scheme -->
+<div class="box-solid" style="width:20%; margin-left:35%; font-size:0.8em;">
+
+ <p class="code"><b>File.blend</b></p>
+
+ <div class="box"><p class="code">File-header</p></div>
+
+ <div class="box-solid"><p class="code">File-block</p>
+ <div class="box"><p class="code">Header</p></div>
+ <div class="box"><p class="code">Data</p></div>
+ </div>
+
+ <div class="box" style="border-style:dashed"><p class="code">File-block</p></div>
+ <div class="box" style="border-style:dashed"><p class="code">File-block</p></div>
+
+ <div class="box-solid"><p class="code">File-block 'Structure DNA'</p>
+ <div class="box"><p class="code">Header ('DNA1')</p></div>
+ <div class="box-solid">
+ <p class="code">Data ('SDNA')</p>
+ <div class="box">
+ <p class="code">Names ('NAME')</p>
+ </div>
+ <div class="box">
+ <p class="code">Types ('TYPE')</p>
+ </div>
+ <div class="box">
+ <p class="code">Lengths ('TLEN')</p>
+ </div>
+ <div class="box">
+ <p class="code">Structures ('STRC')</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="box-solid"><p class="code">File-Block 'ENDB'</p></div>
+
+</div><!-- end of file scheme -->
+
+<a name="file-header" href="#file-header">
+<h3>File-Header</h3>
+</a>
+
+<p>
+The first 12 bytes of every blend-file is the file-header. The
+file-header has information on Blender (version-number) and the PC the
+blend-file was saved on (pointer-size and endianness). This is required
+as all data inside the blend-file is ordered in that way, because no
+translation or transformation is done during saving.
+The next table describes the information in the file-header.
+</p>
+
+<table>
+<caption>File-header</caption>
+<thead>
+<tr><th>reference</th>
+ <th>structure</th>
+ <th>type</th>
+ <th>offset</th>
+ <th>size</th></tr>
+</thead>
+<tbody>
+<tr><td>identifier</td>
+ <td>char[7]</td>
+ <td>File identifier (always 'BLENDER')</td>
+ <td>0</td>
+ <td>7</td></tr>
+<tr><td>pointer-size</td>
+ <td>char</td>
+ <td>Size of a pointer; all pointers in the file are stored in this format. '_' means 4 bytes or 32 bit and '-' means 8 bytes or 64 bits.</td>
+ <td>7</td>
+ <td>1</td></tr>
+<tr><td>endianness</td>
+ <td>char</td>
+ <td>Type of byte ordering used; 'v' means little endian and 'V' means big endian.</td>
+ <td>8</td>
+ <td>1</td></tr>
+<tr><td>version-number</td>
+ <td>char[3]</td>
+ <td>Version of Blender the file was created in; '254' means version 2.54</td>
+ <td>9</td>
+ <td>3</td></tr>
+</tbody>
+</table>
+
+<p>
+<a href="http://en.wikipedia.org/wiki/Endianness">Endianness</a> addresses the way values are ordered in a sequence of bytes(see the <a href="#example-endianess">example</a> below):
+</p>
+
+<ul>
+ <li>in a big endian ordering, the largest part of the value is placed on the first byte and
+ the lowest part of the value is placed on the last byte,</li>
+ <li>in a little endian ordering, largest part of the value is placed on the last byte
+ and the smallest part of the value is placed on the first byte.</li>
+</ul>
+
+<p>
+Nowadays, little-endian is the most commonly used.
+</p>
+
+<a name="example-endianess"></a>
+<div class="box">
+<p onclick="location.href='#example-endianess'" class="box-title">
+Endianess Example
+</p>
+<p>
+Writing the integer <code class="evidence">0x4A3B2C1Dh</code>, will be ordered:
+<ul>
+<li>in big endian as <code class="evidence">0x4Ah</code>, <code class="evidence">0x3Bh</code>, <code class="evidence">0x2Ch</code>, <code class="evidence">0x1Dh</code></li>
+<li>in little endian as <code class="evidence">0x1Dh</code>, <code class="evidence">0x2Ch</code>, <code class="evidence">0x3Bh</code>, <code class="evidence">0x4Ah</code></li>
+</ul>
+</p>
+</div>
+
+<p>
+Blender supports little-endian and big-endian.<br>
+This means that when the endianness
+is different between the blend-file and the PC your using, Blender changes it to the byte ordering
+of your PC.
+</p>
+
+<a name="example-file-header"></a>
+<div class="box">
+<p onclick="location.href='#example-file-header'" class="box-title">
+File-header Example
+</p>
+
+<p>
+This hex-dump describes a file-header created with <code>blender</code> <code>2.54.0</code> on <code>little-endian</code> hardware with a <code>32 bits</code> pointer length.
+<code class="block"> <span class="descr">pointer-size version-number
+ | |</span>
+0000 0000: [42 4C 45 4E 44 45 52] [5F] [76] [32 35 34] BLENDER_v254 <span class="descr">
+ | |
+ identifier endianness</span></code>
+</p>
+</div>
+
+<a name="file-blocks" href="#file-blocks"><h3>File-blocks</h3></a>
+
+<p>
+File-blocks contain a "<a href="#file-block-header">file-block header</a>" and "file-block data".
+</p>
+
+<a name="file-block-header" href="#file-block-header"><h3>File-block headers</h3></a>
+
+<p>
+The file-block-header describes:
+</p>
+
+<ul>
+<li>the type of information stored in the
+file-block</li>
+<li>the total length of the data</li>
+<li>the old memory
+pointer at the moment the data was written to disk</li>
+<li>the number of items of this information</li>
+</ul>
+
+<p>
+As we can see below, depending on the pointer-size stored in the file-header, a file-block-header
+can be 20 or 24 bytes long, hence it is always aligned at 4 bytes.
+</p>
+
+<table>
+<caption>File-block-header</caption>
+<thead>
+<tr>
+<th>reference</th>
+ <th>structure</th>
+ <th>type</th>
+ <th>offset</th>
+ <th>size</th></tr></thead>
+<tbody>
+<tr><td>code</td>
+ <td>char[4]</td>
+ <td>File-block identifier</td>
+ <td>0</td>
+ <td>4</td></tr>
+<tr><td>size</td>
+ <td>integer</td>
+ <td>Total length of the data after the file-block-header</td>
+ <td>4</td>
+ <td>4</td></tr>
+<tr><td>old memory address</td>
+ <td>void*</td>
+ <td>Memory address the structure was located when written to disk</td>
+ <td>8</td>
+ <td>pointer-size (4/8)</td></tr>
+<tr><td>SDNA index</td>
+ <td>integer</td>
+ <td>Index of the SDNA structure</td>
+ <td>8+pointer-size</td>
+ <td>4</td></tr>
+<tr><td>count</td>
+ <td>integer</td>
+ <td>Number of structure located in this file-block</td>
+ <td>12+pointer-size</td>
+ <td>4</td></tr>
+</tbody>
+</table>
+
+<p>
+The above table describes how a file-block-header is structured:
+</p>
+
+<ul>
+<li><code>Code</code> describes different types of file-blocks. The code determines with what logic the data must be read. <br>
+These codes also allows fast finding of data like Library, Scenes, Object or Materials as they all have a specific code. </li>
+<li><code>Size</code> contains the total length of data after the file-block-header.
+After the data a new file-block starts. The last file-block in the file
+has code 'ENDB'.</li>
+<li><code>Old memory address</code> contains the memory address when the structure
+was last stored. When loading the file the structures can be placed on
+different memory addresses. Blender updates pointers to these structures
+ to the new memory addresses.</li>
+<li><code>SDNA index</code> contains the index in the DNA structures to be used when
+reading this file-block-data. <br>
+More information about this subject will be explained in the <a href="#reading-scene-information">Reading scene information section</a>.</li>
+<li><code>Count</code> tells how many elements of the specific SDNA structure can be found in the data.</li>
+</ul>
+
+<a name="example-file-block-header"></a>
+<div class="box">
+<p onclick="location.href='#example-file-block-header'" class="box-title">
+Example
+</p>
+<p>
+This hex-dump describes a File-block (= <span class="header">File-block header</span> + <span class="data">File-block data</span>) created with <code>blender</code> <code>2.54</code> on <code>little-endian</code> hardware with a <code>32 bits</code> pointer length.<br>
+<code class="block"><span class="descr"> file-block
+ identifier='SC' data size=1404 old pointer SDNA index=150
+ | | | |</span>
+0000 4420: <span class="header">[53 43 00 00] [7C 05 00 00] [68 34 FB 0B] [96 00 00 00]</span> SC.. `... ./.. ....
+0000 4430: <span class="header">[01 00 00 00]</span> <span class="data">[xx xx xx xx xx xx xx xx xx xx xx xx</span> .... xxxx xxxx xxxx<span class="descr">
+ | |
+ count=1 file-block data (next 1404 bytes)</span>
+</code>
+</p>
+
+<ul>
+<li>The code <code>'SC'+0x00h</code> identifies that it is a Scene. </li>
+<li>Size of the data is 1404 bytes (0x0000057Ch = 0x7Ch + 0x05h * 256 = 124 + 1280)</li>
+<li>The old pointer is 0x0BFB3468h</li>
+<li>The SDNA index is 150 (0x00000096h = 6 + 9 * 16 = 6 + 144)</li>
+<li>The section contains a single scene (count = 1).</li>
+</ul>
+
+<p>
+Before we can interpret the data of this file-block we first have to read the DNA structures in the file.
+The section "<a href="#structure-DNA">Structure DNA</a>" will show how to do that.
+</p>
+</div>
+
+<a name="structure-DNA" href="#structure-DNA"><h2>Structure DNA</h2></a>
+
+<a name="DNA1-file-block" href="#DNA1-file-block"><h3>The DNA1 file-block</h3></a>
+
+<p>
+Structure DNA is stored in a file-block with code 'DNA1'. It can be just before the 'ENDB' file-block.
+</p>
+
+<p>
+The 'DNA1' file-block contains all internal structures of the Blender release the
+file was created in. <br>
+These structure can be described as C-structures: they can hold fields, arrays and
+pointers to other structures, just like a normal C-structure.
+
+<p>
+<code class="block">struct SceneRenderLayer {
+ struct SceneRenderLayer *next, *prev;
+ char name[32];
+ struct Material *mat_override;
+ struct Group *light_override;
+ unsigned int lay;
+ unsigned int lay_zmask;
+ int layflag;
+ int pad;
+ int passflag;
+ int pass_xor;
+};
+</code>
+</p>
+
+<p>
+For example,a blend-file created with Blender 2.54 the 'DNA1' file-block is 57796 bytes long and contains 398 structures.
+</p>
+
+<a name="DNA1-file-block-header" href="#DNA1-file-block-header"><h3>DNA1 file-block-header</h3></a>
+
+<p>
+The DNA1 file-block header follows the same rules of any other file-block, see the example below.
+</p>
+
+<a name="example-DNA1-file-block-header"></a>
+<div class="box">
+<p onclick="location.href='#example-DNA1-file-block-header'" class="box-title">
+Example
+</p>
+<p>
+This hex-dump describes the file-block 'DNA1' header created with <code>blender</code> <code>2.54.0</code> on <code>little-endian</code> hardware with a <code>32 bits</code> pointer length.<br>
+<code class="block"><span class="descr"> (file-block
+ identifier='DNA1') data size=57796 old pointer SDNA index=0
+ | | | |</span>
+0004 B060 <span class="header">[44 4E 41 31] [C4 E1 00 00] [C8 00 84 0B] [00 00 00 00]</span> DNA1............
+0004 B070 <span class="header">[01 00 00 00]</span> <span class="fade">[53 44 4E 41 4E 41 4D 45 CB 0B 00 00</span> ....<span class="fade">SDNANAME....</span><span class="descr">
+ | |
+ count=1 'DNA1' file-block data (next 57796 bytes)</span>
+</code>
+</p>
+</div>
+
+<a name="DNA1-file-block-data" href="#DNA1-file-block-data"><h3>DNA1 file-block data</h3></a>
+<p>
+The next section describes how this information is ordered in the <b>data</b> of the 'DNA1' file-block.
+</p>
+
+<table>
+<caption>Structure of the DNA file-block-data</caption>
+<thead>
+ <tr><th colspan="2">repeat condition</th>
+ <th>name</th>
+ <th>type</th>
+ <th>length</th>
+ <th>description</th></tr>
+</thead>
+<tbody>
+<tr><td></td>
+ <td></td>
+ <td>identifier</td>
+ <td>char[4]</td>
+ <td>4</td>
+ <td>'SDNA'</td></tr>
+<tr><td></td>
+ <td></td>
+ <td>name identifier</td>
+ <td>char[4]</td>
+ <td>4</td>
+ <td>'NAME'</td></tr>
+<tr><td></td>
+ <td></td>
+ <td>#names</td>
+ <td>integer</td>
+ <td>4</td>
+ <td>Number of names follows</td></tr>
+<tr><td>for(#names)</td>
+ <td></td>
+ <td>name</td>
+ <td>char[]</td>
+ <td>?</td>
+ <td>Zero terminating string of name, also contains pointer and simple array definitions (e.g. '*vertex[3]\0')</td></tr>
+<tr><td></td>
+ <td></td>
+ <td>type identifier</td>
+ <td>char[4]</td>
+ <td>4</td>
+ <td>'TYPE' this field is aligned at 4 bytes</td></tr>
+<tr><td></td>
+ <td></td>
+ <td>#types</td>
+ <td>integer</td>
+ <td>4</td>
+ <td>Number of types follows</td></tr>
+<tr><td>for(#types)</td>
+ <td></td>
+ <td>type</td>
+ <td>char[]</td>
+ <td>?</td>
+ <td>Zero terminating string of type (e.g. 'int\0')</td></tr>
+<tr><td></td>
+ <td></td>
+ <td>length identifier</td>
+ <td>char[4]</td>
+ <td>4</td>
+ <td>'TLEN' this field is aligned at 4 bytes</td></tr>
+<tr><td>for(#types)</td>
+ <td></td>
+ <td>length</td>
+ <td>short</td>
+ <td>2</td>
+ <td>Length in bytes of type (e.g. 4)</td></tr>
+<tr><td></td>
+ <td></td>
+ <td>structure identifier</td>
+ <td>char[4]</td>
+ <td>4</td>
+ <td>'STRC' this field is aligned at 4 bytes</td></tr>
+<tr><td></td>
+ <td></td>
+ <td>#structures</td>
+ <td>integer</td>
+ <td>4</td>
+ <td>Number of structures follows</td></tr>
+<tr><td>for(#structures)</td>
+ <td></td>
+ <td>structure type</td>
+ <td>short</td>
+ <td>2</td>
+ <td>Index in types containing the name of the structure</td></tr>
+<tr><td>..</td>
+ <td></td>
+ <td>#fields</td>
+ <td>short</td>
+ <td>2</td>
+ <td>Number of fields in this structure</td></tr>
+<tr><td>..</td>
+ <td>for(#field)</td>
+ <td>field type</td>
+ <td>short</td>
+ <td>2</td>
+ <td>Index in type</td></tr>
+<tr><td>for end</td>
+ <td>for end</td>
+ <td>field name</td>
+ <td>short</td>
+ <td>2</td>
+ <td>Index in name</td></tr>
+</tbody>
+</table>
+
+<p>
+As you can see, the structures are stored in 4 arrays: names, types,
+lengths and structures. Every structure also contains an array of
+fields. A field is the combination of a type and a name. From this
+information a catalog of all structures can be constructed.
+The names are stored as how a C-developer defines them. This means that
+the name also defines pointers and arrays.
+(When a name starts with '*' it is used as a pointer. when the name
+contains for example '[3]' it is used as a array of 3 long.)
+In the types you'll find simple-types (like: 'integer', 'char',
+'float'), but also complex-types like 'Scene' and 'MetaBall'.
+'TLEN' part describes the length of the types. A 'char' is 1 byte, an
+'integer' is 4 bytes and a 'Scene' is 1376 bytes long.
+</p>
+
+<div class="box">
+<p class="box-title">
+Note
+</p>
+<p>
+All identifiers, are arrays of 4 chars, hence they are all aligned at 4 bytes.
+</p>
+</div>
+
+<a name="example-DNA1-file-block-data"></a>
+<div class="box">
+<p onclick="location.href='#example-DNA1-file-block-data'" class="box-title">
+Example
+</p>
+<p>
+Created with <code>blender</code> <code>2.54.0</code> on <code>little-endian</code> hardware with a <code>32 bits</code> pointer length.
+</p>
+
+<a name="DNA1-data-array-names" href="#DNA1-data-array-names"><h4>The names array</h4></a>
+<p>
+The first names are: *next, *prev, *data, *first, *last, x, y, xmin, xmax, ymin, ymax, *pointer, group, val, val2, type, subtype, flag, name[32], ...
+<code class="block"><span class="descr"> file-block-data identifier='SDNA' array-id='NAME' number of names=3019
+ | | |</span>
+0004 B070 <span class="fade">01 00 00 00 [53 44 4E 41]</span><span class="data">[4E 41 4D 45] [CB 0B 00 00]</span> <span class="fade">....SDNA</span>NAME....
+0004 B080 <span class="data">[2A 6E 65 78 74 00][2A 70 72 65 76 00] [2A 64 61 74</span> *next.*prev.*dat<span class="descr">
+ | | |
+ '*next\0' '*prev\0' '*dat'</span><span class="fade">
+ ....
+ .... (3019 names)</span>
+</code>
+</p>
+
+<div class="box">
+<p class="box-title">
+Note
+</p>
+<p>
+While reading the DNA you'll will come across some strange
+names like '(*doit)()'. These are method pointers and Blender updates
+them to the correct methods.
+</p>
+</div>
+
+<a name="DNA1-data-array-types" href="#DNA1-data-array-types"><h4>The types array</h4></a>
+<p>
+The first types are: char, uchar, short, ushort, int, long, ulong, float, double, void, Link, LinkData, ListBase, vec2s, vec2f, ...
+<code class="block"><span class="descr"> array-id='TYPE'
+ |</span>
+0005 2440 <span class="fade">6F 6C 64 5B 34 5D 5B 34 5D 00 00 00</span> [54 59 50 45] <span class="fade">old[4][4]...</span>TYPE
+0005 2450 [C9 01 00 00] [63 68 61 72 00] [75 63 68 61 72 00][73 ....char.uchar.s<span class="descr">
+ | | | |
+ number of types=457 'char\0' 'uchar\0' 's'</span><span class="fade">
+ ....
+ .... (457 types)</span>
+</code>
+</p>
+
+<a name="DNA1-data-array-lengths" href="#DNA1-data-array-lengths"><h4>The lengths array</h4></a>
+<p>
+<code class="block"><span class="descr"> char uchar ushort short
+ array-id length length length length
+ 'TLEN' 1 1 2 2</span>
+0005 3AA0 <span class="fade">45 00 00 00</span> [54 4C 45 4E] [01 00] [01 00] [02 00] [02 00] <span class="fade">E...</span>TLEN........
+ <span class="fade">....</span>
+0005 3AC0 [08 00] [04 00] [08 00] [10 00] [10 00] [14 00] [4C 00] [34 00] ............L.4.<span class="descr">
+ 8 4 8
+ ListBase vec2s vec2f ... etc
+ length len length </span><span class="fade">
+ ....
+ .... (457 lengths, same as number of types)</span>
+</code>
+</p>
+
+<a name="DNA1-data-array-structures" href="#DNA1-data-array-structures"><h4>The structures array</h4></a>
+<p>
+<code class="block"><span class="descr"> array-id='STRC'
+ |</span>
+0005 3E30 <span class="fade">40 00 38 00 60 00 00 00 00 00 00 00</span> [53 54 52 43] <span class="fade">@.8.`.......</span>STRC
+0005 3E40 [8E 01 00 00] [0A 00] [02 00] [0A 00] [00 00] [0A 00] [01 00] ................<span class="descr">
+ 398 10 2 10 0 10 0
+ number of index fields index index index index
+ structures in <a href="#DNA1-data-array-types">types</a> in <a href="#DNA1-data-array-types">types</a> in <a href="#DNA1-data-array-names">names</a> in <a href="#DNA1-data-array-types">types</a> in <a href="#DNA1-data-array-names">names</a></span><span class="fade">
+ ' '----------------' '-----------------' '
+ ' field 0 field 1 '
+ '--------------------------------------------------------'
+ structure 0
+ ....
+ .... (398 structures, each one describeing own type, and type/name for each field)</span>
+</code>
+</p>
+</div>
+
+<p>
+The DNA structures inside a Blender 2.48 blend-file can be found at <a href="http://www.atmind.nl/blender/blender-sdna.html">http://www.atmind.nl/blender/blender-sdna.html</a>.
+
+If we understand the DNA part of the file it is now possible to read
+information from other parts file-blocks. The next section will tell us
+how.
+</p>
+
+<a name="reading-scene-information" href="#reading-scene-information"><h2>Reading scene information</h2></a>
+
+<p>
+Let us look at <a href="#example-file-block-header">the file-block header we have seen earlier</a>:<br>
+</p>
+<ul>
+<li>the file-block identifier is <code>'SC'+0x00h</code></li>
+<li>the SDNA index is 150</li>
+<li>the file-block size is 1404 bytes</li>
+</ul>
+<p>
+Now note that:
+<ul>
+<li>the structure at index 150 in the DNA is a structure of type 'Scene' (counting from 0).</li>
+<li>the associated type ('Scene') in the DNA has the length of 1404 bytes.</li>
+</ul>
+</p>
+
+<p>
+We can map the Scene structure on the data of the file-blocks.
+But before we can do that, we have to flatten the Scene-structure.
+
+<code class="block">struct Scene {
+ ID id; <span class="descr">// 52 bytes long (ID is different a structure)</span>
+ AnimData *adt; <span class="descr">// 4 bytes long (pointer to an AnimData structure)</span>
+ Object *camera; <span class="descr">// 4 bytes long (pointer to an Object structure)</span>
+ World *world; <span class="descr">// 4 bytes long (pointer to an Object structure)</span>
+ ...
+ float cursor[3]; <span class="descr">// 12 bytes long (array of 3 floats)</span>
+ ...
+};
+</code>
+
+The first field in the Scene-structure is of type 'ID' with the name 'id'.
+Inside the list of DNA structures there is a structure defined for type 'ID' (structure index 17).
+
+<code class="block">struct ID {
+ void *next, *prev;
+ struct ID *newid;
+ struct Library *lib;
+ char name[24];
+ short us;
+ short flag;
+ int icon_id;
+ IDProperty *properties;
+};
+</code>
+
+The first field in this structure has type 'void' and name '*next'. <br>
+Looking in the structure list there is no structure defined for type 'void': it is a simple type and therefore the data should be read.
+The name '*next' describes a pointer.
+As we see, the first 4 bytes of the data can be mapped to 'id.next'.
+</p>
+
+<p>
+Using this method we'll map a structure to its data. If we want to
+read a specific field we know at which offset in the data it is located
+and how much space it takes.<br>
+The next table shows the output of this flattening process for some
+parts of the Scene-structure. Not all rows are described in the table as
+ there is a lot of information in a Scene-structure.
+</p>
+
+<table>
+<caption>Flattened SDNA structure 150: Scene</caption>
+<thead>
+<tr><th>reference</th>
+ <th>structure</th>
+ <th>type</th><th>name</th>
+ <th>offset</th><th>size</th>
+ <th>description</th></tr>
+</thead>
+<tbody>
+<tr><td>id.next</td><td><a href="#struct:ID">ID</a></td>
+ <td>void</td><td>*next</td>
+ <td>0</td>
+ <td>4</td>
+ <td>Refers to the next scene</td></tr>
+<tr><td>id.prev</td><td><a href="#struct:ID">ID</a></td>
+ <td>void</td><td>*prev</td>
+ <td>4</td>
+ <td>4</td>
+ <td>Refers to the previous scene</td></tr>
+<tr><td>id.newid</td><td><a href="#struct:ID">ID</a></td>
+ <td>ID</td><td>*newid</td>
+ <td>8</td>
+ <td>4</td>
+ <td></td></tr>
+<tr><td>id.lib</td><td><a href="#struct:ID">ID</a></td>
+ <td>Library</td><td>*lib</td>
+ <td>12</td>
+ <td>4</td>
+ <td></td></tr>
+<tr><td>id.name</td><td><a href="#struct:ID">ID</a></td>
+ <td>char</td><td>name[24]</td>
+ <td>16</td>
+ <td>24</td>
+ <td>'SC'+the name of the scene as displayed in Blender</td></tr>
+<tr><td>id.us</td><td><a href="#struct:ID">ID</a></td>
+ <td>short</td><td>us</td>
+ <td>40</td>
+ <td>2</td>
+ <td></td></tr>
+<tr><td>id.flag</td><td><a href="#struct:ID">ID</a></td>
+ <td>short</td><td>flag</td><td>42</td><td>2</td>
+ <td></td></tr>
+<tr><td>id.icon_id</td><td><a href="#struct:ID">ID</a></td>
+ <td>int</td><td>icon_id</td><td>44</td>
+ <td>4</td>
+ <td></td></tr>
+<tr><td>id.properties</td><td><a href="#struct:ID">ID</a></td>
+ <td>IDProperty</td><td>*properties</td>
+ <td>48</td>
+ <td>4</td>
+ <td></td></tr>
+<tr><td>adt</td><td>Scene</td><td>AnimData</td>
+ <td>*adt</td>
+ <td>52</td>
+ <td>4</td>
+ <td></td></tr>
+<tr><td>camera</td><td>Scene</td>
+ <td>Object</td>
+ <td>*camera</td>
+ <td>56</td>
+ <td>4</td>
+ <td>Pointer to the current camera</td></tr>
+<tr><td>world</td><td>Scene</td>
+ <td>World</td>
+ <td>*world</td>
+ <td>60</td>
+ <td>4</td>
+ <td>Pointer to the current world</td></tr>
+
+<tr><td class="skip" colspan="7">Skipped rows</td></tr>
+
+<tr><td>r.xsch</td><td><a href="#struct:RenderData">RenderData</a>
+ </td><td>short</td><td>xsch</td><td>382</td><td>2</td>
+ <td>X-resolution of the output when rendered at 100%</td></tr>
+<tr><td>r.ysch</td><td><a href="#struct:RenderData">RenderData</a>
+ </td><td>short</td><td>ysch</td><td>384</td><td>2</td>
+ <td>Y-resolution of the output when rendered at 100%</td></tr>
+<tr><td>r.xparts</td><td><a href="#struct:RenderData">RenderData</a>
+ </td><td>short</td><td>xparts</td><td>386</td><td>2</td>
+ <td>Number of x-part used by the renderer</td></tr>
+<tr><td>r.yparts</td><td><a href="#struct:RenderData">RenderData</a>
+ </td><td>short</td><td>yparts</td><td>388</td><td>2</td>
+ <td>Number of x-part used by the renderer</td></tr>
+
+<tr><td class="skip" colspan="7">Skipped rows</td></tr>
+
+<tr><td>gpd</td><td>Scene</td><td>bGPdata</td><td>*gpd</td><td>1376</td><td>4</td>
+ <td></td></tr>
+<tr><td>physics_settings.gravity</td><td><a href="#struct:PhysicsSettings">PhysicsSettings</a>
+ </td><td>float</td><td>gravity[3]</td><td>1380</td><td>12</td>
+ <td></td></tr>
+<tr><td>physics_settings.flag</td><td><a href="#struct:PhysicsSettings">PhysicsSettings</a>
+ </td><td>int</td><td>flag</td><td>1392</td><td>4</td>
+ <td></td></tr>
+<tr><td>physics_settings.quick_cache_step</td><td><a href="#struct:PhysicsSettings">PhysicsSettings</a>
+ </td><td>int</td><td>quick_cache_step</td><td>1396</td><td>4</td>
+ <td></td></tr>
+<tr><td>physics_settings.rt</td><td><a href="#struct:PhysicsSettings">PhysicsSettings</a>
+ </td><td>int</td><td>rt</td><td>1400</td><td>4</td>
+ <td></td></tr>
+</tbody>
+</table>
+
+<p>
+We can now read the X and Y resolution of the Scene:
+<ul>
+<li>the X-resolution is located on offset 382 of the file-block-data and must be read as a
+short.</li>
+<li>the Y-resolution is located on offset 384 and is also a short</li>
+</ul>
+</p>
+
+<div class="box">
+<p class="box-title">
+Note
+</p>
+<p>
+An array of chars can mean 2 things. The field contains readable
+text or it contains an array of flags (not humanly readable).
+</p>
+</div>
+
+<div class="box">
+<p class="box-title">
+Note
+</p>
+<p>
+A file-block containing a list refers to the DNA structure and has a count larger
+than 1. For example Vertexes and Faces are stored in this way.
+</p>
+</div>
+
+</body>
+</html>
+
diff --git a/doc/build_systems/cmake.txt b/doc/build_systems/cmake.txt
new file mode 100644
index 00000000000..1ff621c6e96
--- /dev/null
+++ b/doc/build_systems/cmake.txt
@@ -0,0 +1,156 @@
+$Id$
+
+ Blender CMake build system
+ ============================
+
+ Contents
+ ---------------
+
+ 1. Introduction
+ 2. Obtaining CMake
+ 3. Obtaining Dependencies
+ 4. Deciding on a Build Environment
+ 5. Configuring the build for the first time
+ 6. Configuring the build after CVS updates
+ 7. Specify alternate Python library versions and locations
+
+
+ 1. Introduction
+ ---------------
+
+ This document describes general usage of the new CMake scripts. The
+ inner workings will be described in blender-cmake-dev.txt (TODO).
+
+ 2. Obtaining CMake
+ ------------------
+
+ CMake for can either be downloaded using your favorite package manager
+ or is also available from the CMake website at http://www.cmake.org
+ The website also contains some documentation on CMake usage but I found
+ the man page alone pretty helpful.
+
+ 3. Obtaining Dependencies
+ -------------------------
+
+ Check from the page
+ http://www.blender.org/cms/Getting_Dependencies.135.0.html that you
+ have all dependencies needed for building Blender. Note that for
+ windows many of these dependencies already come in the lib/windows
+ module from CVS.
+
+ 4. Deciding on a Build Environment
+ ----------------------------------
+
+ To build Blender with the CMake scripts you first need to decide which
+ build environment you feel comfortable with. This decision will also be
+ influenced by the platform you are developing on. The current implementation
+ have been successfully used to generate build files for the following
+ environments:
+
+ 1. Microsoft Visual Studio 2005. There is a free version available
+ at http://msdn.microsoft.com/vstudio/express/visualc/.
+
+ 2. Xcode on Mac OSX
+
+ 3. Unix Makefiles (On Linux and Mac OSX): CMake actually creates make
+ files which generates nicely color coded output and a percentage
+ progress indicator.
+
+
+ 5. Configuring the build for the first time
+ -------------------------------------------
+
+ CMake allows one to generate the build project files and binary objects
+ outside the source tree which can be pretty handy in working and experimenting
+ with different Blender configurations (Audio/NoAudio, GameEngine/NoGameEngine etc.)
+ while maintaining a clean source tree. It also makes it possible to generate files
+ for different build systems on the same source tree. This also has benefits for
+ general CVS management for the developer as patches and submit logs are much cleaner.
+
+ Create a directory outside the blender source tree where you would like to build
+ Blender (from now on called $BLENDERBUILD). On the commandline you can then run
+ the cmake command to generate your initial build files. First just run 'cmake' which
+ will inform you what the available generators are. Thn you can run
+ 'cmake -G generator $BLENDERSOURCE' to generate the build files. Here is an example
+ of all this for Xcode:
+
+ % mkdir $BLENDERBUILD
+ % cd $BLENDERBUILD
+ % cmake
+
+ ...
+ ...
+ --version [file] = Show program name/version banner and exit.
+
+ Generators
+
+ The following generators are available on this platform:
+ KDevelop3 = Generates KDevelop 3 project files.
+ Unix Makefiles = Generates standard UNIX makefiles.
+ Xcode = Generate XCode project files.
+
+
+
+ % cmake -G Xcode $BLENDERSOURCE
+ ...
+ ...
+ -- Configuring blender
+ -- Configuring blenderplayer
+ -- Configuring done
+ -- Generating done
+ -- Build files have been written to: $BLENDERBUILD
+
+ This will generate the build files with default values. Specific features can
+ be enabled or disabled by running the ccmake "GUI" from $BLENDERBUILD as follows:
+
+ % ccmake $BLENDERSOURCE
+
+ A number of options appear which can be changed depending on your needs and
+ available dependencies (e.g. setting WITH_OPENEXR to OFF will disable support
+ for OpenEXR). It will also allow you to override default and detected paths
+ (e.g. Python directories) and compile and link flags. When you are satisfied
+ used ccmake to re-configure the build files and exit.
+
+ It is also possible to use the commandline of 'cmake' to override certain
+ of these settings.
+
+ 6. Configuring the build after CVS updates
+ ------------------------------------------
+
+ The $BLENDERBUILD directory maintains a file called CMakeCache.txt which
+ remembers the initial run's settings for subsequent generation runs. After
+ every CVS update it may be a good idea to rerun the generation before building
+ Blender again. Just rerun the original 'cmake' run to do this, the settings
+ will be remembered. For the example above the following will do after every
+ 'cvs up':
+
+ % cmake -G Xcode $BLENDERSOURCE
+
+ 7. Specify alternate Python library versions and locations
+ ----------------------------------------------------------
+
+ The commandline can be used to override detected/default settings, e.g:
+
+ On Unix:
+ cmake -D PYTHON_LIBRARY=/usr/local/lib/python3.1/config/libpython3.1.so -D PYTHON_INCLUDE_DIRS=/usr/local/include/python3.1 -G "Unix Makefiles" ../blender
+ On Macs:
+ cmake -D PYTHON_INCLUDE_DIRS=/System/Library/Frameworks/Python.framework/Versions/3.1/include/python3.1 -G Xcode ../blender
+
+ Mote that this should only be needed once per build directory generation because it will keep the overrides in CMakeCache.txt for subsequent runs.
+
+
+
+ To be continued...
+
+ TODO's
+ ------
+
+ 1. Get CMake to create proper distribution directories for the various platforms
+ like scons does.
+ 2. Investigate the viability of using CPack to package installs automatically.
+ 3. Refine this document and write detailed developer's document.
+ 4. Make sure all options (ffmpeg, openexr, quicktime) has proper CMake support
+ on the various platforms.
+
+ /Jacques Beaurain (jbinto)
+
diff --git a/doc/build_systems/scons-dev.txt b/doc/build_systems/scons-dev.txt
new file mode 100644
index 00000000000..ca1b3924804
--- /dev/null
+++ b/doc/build_systems/scons-dev.txt
@@ -0,0 +1,194 @@
+$Id$
+
+
+ Internals of Blenders SCons scripts
+ ===================================
+
+ Scope
+ ------
+ This document describes the architecture of the SCons scripts for
+ Blender. An overview of available functionality and how to modify,
+ extend and maintain the system.
+
+ Audience
+ --------
+ This document is for developers who need to modify the system,
+ ie. add or remove new libraries, add new arguments for SCons, etc.
+
+ Files and their meaning
+ -----------------------
+
+ The main entry point for the build system is the SConstruct-file in
+ $BLENDERHOME. This file creates the first BlenderEnvironment to work
+ with, reads in options, and sets up some directory structures. Further
+ it defines some targets.
+
+ Platform-specific configurations are in $BLENDERHOME/config. The
+ filenames have the form (platform)-config.py, where platform one of:
+
+ * darwin
+ * linux
+ * win32-mingw
+ * win32-vc
+
+ The user can override options by creating a file
+ $BLENDERHOME/user-config.py. It can have any option from
+ (platform)-config.py. Options in this file will override the platform
+ defaults.
+
+ Much of the actual functionality can be found in the python scripts
+ in the directory $BLENDERHOME/tools, with Blender.py defining the
+ bulk of the functionality. btools.py has some helper functions, and
+ bcolors.py is for the terminal colours. mstoolkit.py and crossmingw.py
+ are modules which set up SCons for the MS VC++ 2003 toolkit and
+ the cross-compile toolset for compiling Windows binaries on Linux
+ respectively. Note: the cross-compile doesn't work yet for Blender,
+ but is added in preparation for having it work in the distant future.
+
+ BlenderEnvironment
+ ------------------
+
+ The module Blender.py implements a BlenderEnvironment class, derived
+ from the SConsEnvironment of SCons. This is done to wrap some often
+ used functionality. The BlenderEnvironment offers two important
+ wrappers: BlenderProg() and BlenderLib(). The first one is used to
+ specify a binary to be built, the second one is used to specify what
+ static library is built from given sources.
+
+ Build a static library called "somelib". The system handles library
+ pre- and suffixes automatically, you don't need to bother yourself
+ with these details:
+
+ env = BlenderEnvironment(ENV = os.environ) # create an environment
+ env.BlenderLib(libname="somelib", sources=['list.c','with.c','sources.c'],
+ includes=['/list/with/include/paths', '.', '..'],
+ defines=['LIST_WITH', 'CPP_DEFINES', 'TO_USE'],
+ libtype=['blender', 'common'] # this is a list with libtypes. Normally you don't
+ # need to specify this, but if you encounter linking
+ # problems you may need this
+ priority=[10, 20] # Priorities, list as long as libtype, priority per type
+ compileflags=['/O2'] # List of compile flags needed for this particular library.
+ # used only in rare cases, like SOLID, qhull and Bullet
+ )
+
+ There should be no need to ever add an extra BlenderProg to the
+ existing ones in SConstruct, see that file for its use, and Blender.py
+ for its implementation.
+
+ The new system works so that using these wrappers, has all libraries
+ (and programs) register with a central repository. This means that
+ adding a new library is as easy as just creating the new SConscript
+ and making sure that it gets called properly. Linking and such will
+ then be handled automatically.
+
+ If you want that adding new source files for a certain library
+ is handled automatically, you can use the Glob() function from
+ the BlenderEnvironment to create lists of needed files. See
+ $BLENDERHOME/source/blender/src/SConscript for an example. Keep in
+ mind that this will add any new file that complies to the rule given
+ to the Glob() function. There are a few (external) libraries with
+ which this can't be used, because it'd take files that shouldn't be
+ compiled, and create subsequentially problems during the linking stage
+ (like SOLID, qhull, Bullet).
+
+ Linking order and priorities
+ ----------------------------
+
+ As shown above, you can give a library a priority in a certain
+ group. If you need to make sure that a Blender library is linked
+ before or after another one, you can give it a priority. To debug
+ the priorities us BF_PRIORITYLIST=1 on the command-line while running
+ a build.
+
+ % scons BF_PRIORITYLIST=1
+
+ This will give a list with values suggested by the system. Make
+ changes to all SConscripts in question to reflect or change the
+ values given by this command. ALWAYS check this after adding a new
+ internal, external library or core library, and make sure there are
+ sane values. You can use large and negative numbers to test with,
+ but after you've got a working linking order, do change the system
+ to reflect BF_PRIORITYLIST values.
+
+ Also, if you find that a library needs to be given multiple times to
+ the linker, you can do that by giving a python list with the names
+ of the available library types. They are currently:
+
+ B.possible_types = ['core', 'common', 'blender', 'intern',
+ 'international', 'game', 'game2',
+ 'player', 'player2', 'system']
+
+ More groups can be added, but that should be carefully considered,
+ as it may lead to large-scale changes. The current amount of libraries
+ should suffice.
+
+ The central repository is utilised in the SConstruct in two
+ ways. Firstly, it is used to determine the order of all static
+ libraries to link into the main Blender executable. Secondly, it
+ is used to keep track of all built binaries and their location,
+ so that they can be properly copied to BF_INSTALLDIR.
+
+ The libraries can be fetched in their priority order with
+ create_blender_liblist from Blender.py, see the SConstruct on how
+ it is used.
+
+ The program repository is the global list program_list from
+ Blender.py. See SConstruct for its usage.
+
+
+ Adding a new option and libraries
+ ---------------------------------
+
+ Lets say we want to add WITH_BF_NEWLIB, which will
+ enable or disable a new feature library with sources in
+ $BLENDERHOME/source/blender/newlib. This 'newlib' needs external
+ headers from a 3rd party library '3rdparty'. For this we want to
+ add a set of options BF_3RDPARTY, BF_3RDPARTY_INC, BF_3RDPARTY_LIB,
+ BF_3RDPARTY_LIBPATH:
+
+ 1) Add all mentiond options to all (platform)-config.py
+ files. WITH_BF_NEWLIB is a boolean option ('true', 'false'),
+ the rest are strings with paths and library names. See the
+ OpenEXR options for example.
+
+ 2) Add all options to the argument checking function
+ validate_arguments() in btools.py. See again OpenEXR options
+ for example.
+
+ 3) Add all options to the option reading function read_opts()
+ in btools.py. See again OpenEXR options for example. All default
+ values can be empty, as the actual default values are in the
+ (platform)-config.py files.
+
+ 4) Add BF_3RDPARTY_LIB to the function setup_syslibs()
+ and BF_3RDPARTY_LIBPATH to the function setup_staticlibs()
+ in Blender.py
+
+ At this stage we have prepared all option setting and linking needs,
+ but we still need to add in the compiling of the 'newlib'.
+
+ 5) Create a SConscript in $BLENDERHOME/source/blender/newlib. Look
+ at ie. $BLENDERHOME/source/blender/src/SConscript for
+ template. The new SConscript will register the new library
+ like so:
+
+ env.BlenderLib(libname='newlib', sources=sourcefiles, includes=incs) # the rest of the arguments get defaults = empty lists and values
+
+ 6) Edit $BLENDERHOME/source/blender/SConscript with the following
+ addition:
+
+ if env['WITH_BF_NEWLIB'] == 1:
+ SConscript(['newlib/SConscript'])
+
+ After this you can see if this works by trying to build:
+
+ % scons WITH_BF_NEWLIB=1 # build with newlib
+ % scons WITH_BF_NEWLIB=0 # disable newlib
+
+ This is all what should be needed. Changing the library name doesn't
+ need changes elsewhere in the system, as it is handled automatically
+ with the central library repository.
+
+ Enjoy the new system!
+
+ /Nathan Letwory (jesterKing)
diff --git a/doc/build_systems/scons.txt b/doc/build_systems/scons.txt
new file mode 100644
index 00000000000..9d018bcc790
--- /dev/null
+++ b/doc/build_systems/scons.txt
@@ -0,0 +1,231 @@
+$Id$
+
+ Blenders SCons build scripts
+ ============================
+
+ Introduction
+ ------------
+
+ Since the beginning of 2004 Blender has had the SCons system as a
+ build option. SCons is a Python-based, accurate build system. The
+ scripts that were implemented in the first iteration worked, but
+ the system grew quickly into such a state that maintaining it became
+ a nightmare, and adding new features was just horrible, leading to
+ many hacks without much sense in the overall structure.
+
+ The rewrite has been waiting for a long time. Jonathan Jacobs provided
+ a first overhaul of the scripts, which I used in the first phase of
+ the rewrite. To make the system as maintainable as possible I made
+ some radical changes, but thanks go to Jonathan for providing me
+ with the patch to get started.
+
+ This document describes the usage of the new SCons scripts. The
+ inner workings are described in scons-dev.txt.
+
+ Building Blender
+ ----------------
+
+ To build Blender with the SCons scripts you need a full Python
+ install, version 2.4 or later (http://www.python.org). We already provide
+ a scons-local installation, which can be found in the scons/ subdirectory.
+ This document uses the scons-local installation for its examples.
+
+ Check from the page
+ http://www.blender.org/development/building-blender/getting-dependencies/
+ that you have all dependencies needed for building Blender. Note that for
+ windows many of these dependencies already come in the lib/windows module
+ from CVS.
+
+ In the base directory of the sources (from now on called $BLENDERHOME)
+ you'll see a file named SConstruct. This is the entry point for the
+ SCons build system. In a terminal, change to this directory. To just
+ build, start the SCons entry script on Windows (will be used for the remainder
+ of this document):
+
+ % python scons\scons.py
+
+ On a Unix-compatible system it would be
+
+ % python ./scons/scons.py
+
+ This will start the build process with default values. Depending
+ on your platform you may see colour in your output (non-Windows
+ machines). In the the beginning an overview of targets and arguments
+ from the command-line is given, then all libraries and binaries to
+ build are configured.
+
+ The build uses BF_BUILDDIR to build into and BF_INSTALLDIR to
+ finally copy all needed files to get a proper setup. The BF_DOCDIR is
+ used to generate Blender Python documentation files to. These
+ variables have default values for every platform in
+ $BLENDERHOME/config/(platform)-config.py. After the build successfully
+ completes, you can find everything you need in BF_INSTALLDIR.
+
+ If you want to create the installer package of Blender on Windows you'll
+ need to install nullsoft scriptable install system from http://nsis.sf.net.
+ As an extra dependency, you need the MoreInfo plugin too. The creation of
+ the installer is tied into the build process and can be triggered with:
+
+ % python scons\scons.py nsis
+
+
+ Configuring the build
+ ---------------------
+
+ The default values for your platform can be found in the directory
+ $BLENDERHOME/config. Your platform specific defaults are in
+ (platform)-config.py, where platform is one of:
+
+ - linux, for machines running Linux
+ - win32-vc, for Windows machines, compiling with a Microsoft compiler
+ - win32-mingw, for Windows machines, compiling with the MingW compiler
+ - darwin, for OS X machines
+ (TBD: add cygwin, solaris and freebsd support)
+
+ These files you will normally not change. If you need to override
+ a default value, make a file called $BLENDERHOME/user-config.py, and copy
+ settings from the config/(platform)-config.py that you want to change. Don't
+ copy the entire file (unless explicitely stated in the configuration file),
+ because you may not get updated options you don't change yourself, which may
+ result in build errors.
+
+ You can use BF_CONFIG argument to override the default user-config.py
+ check. This is just like the user-config.py, but just with another name:
+
+ % python scons\scons.py BF_CONFIG=myownsettings
+
+ If you want to quickly test a new setting, you can give the option
+ also on the command-line:
+
+ % python scons\scons.py BF_BUILDDIR=../mybuilddir WITH_BF_OPENEXR=0
+
+ This command sets the build directory to BF_BUILDDIR and disables
+ OpenEXR support.
+
+ If you need to know what can be set through the command-line, run
+ scons with -h:
+
+ % python scons\scons.py -h
+
+ This command will print a long list with settable options and what
+ every option means. Many of the default values will be empty, and
+ from a fresh checkout without a user-config.py the actual values
+ are the defaults as per $BLENDERHOME/config/(platform)-config.py
+ (unless you have overridden any of them in your
+ $BLENDERHOME/user-config.py).
+
+ NOTE: The best way to avoid confusion is the
+ copy $BLENDERHOME/config/(platform)-config.py to
+ $BLENDERHOME/user-config.py. You should NEVER have to modify
+ $BLENDERHOME/config/(platform)-config.py
+
+ Configuring the output
+ ----------------------
+
+ This rewrite features a cleaner output during the build process. If
+ you need to see the full command-line for compiles, then you can
+ change that behaviour. Also the use of colours can be changed:
+
+ % python scons\scons.py BF_FANCY=0
+
+ This will disable the use of colours.
+
+ % python scons\scons.py BF_QUIET=0
+
+ This will give the old, noisy output. Every command-line per
+ compile is printed out in its full glory. This is very useful when
+ debugging problems with compiling, because you can see what the
+ included paths are, what defines are given on the command-line,
+ what compiler switches are used, etc.
+
+ Compiling Only Some Libraries
+ -----------------------------
+
+ Our implementation now has support for specifying a list of libraries that are
+ exclusively compiled, ignoring all other libraries. This is invoked
+ with the BF_QUICK arguments; for example:
+
+ % python scons\scons.py BF_QUICK=src,bf_blenkernel
+
+ Note that this not the same as passing a list of folders as in the
+ makefile's "quicky" command. In Scons, all of Blender's code modules
+ are in their own static library; this corresponds to one-lib-per-folder
+ in some cases (especially in blender/source/blender).
+
+ To obtain a list of the libraries, simple fire up scons and CTRL-C out once
+ it finishes configuring (and printing to the console) the library list.
+
+ Compiling Libraries With Debug Profiling
+ ----------------------------------------
+
+ Scons has support for specifying a list of libraries that are compiled
+ with debug profiling enabled. This is implemented in two commands:
+ BF_QUICKDEBUG which is a command-line argument and BF_DEBUG_LIBS, which goes
+ in your user-config.py
+
+ BF_QUICKDEBUG is similar to BF_QUICK:
+
+ % python scons\scons.py BF_QUICKDEBUG=src,bf_blenkernel,some-other-lib
+
+ To use BF_DEBUG_LIBS, put something like the following in you user-config.py:
+
+ BF_DEBUG_LIBS = ['bf_blenlib', 'src', 'some_lib']
+
+ For instructions on how to find the names of the libraries (folders) you
+ wish to use, see the above section. Note that the command BF_DEBUG
+ (see below) will override these settings and compile ALL of Blender with
+ debug symbols. Also note that BF_QUICKDEBUG and BF_DEBUG_LIBS are combined;
+ for example, setting BF_QUICKDEBUG won't overwrite the contents of BF_DEBUG_LIBS.
+
+ Supported toolset
+ -----------------
+
+ WINDOWS
+
+ * msvc, this is a full install of Microsoft Visual C++. You'll
+ likely have the .NET Framework SDK, Platform SDK and DX9 SDK
+ installed * mstoolkit, this is the free MS VC++ 2003 Toolkit. You
+ need to verify you have also the SDKs installed as mentioned
+ for msvc. * mingw, this is a minimal MingW install. TBD: write
+ proper instructions on getting needed packages.
+
+ On Windows with all of the three toolset installed you need to
+ specify what toolset to use
+
+ % python scons\scons.py BF_TOOLSET=msvc
+ % python scons\scons.py BF_TOOLSET=mingw
+
+ LINUX and OS X
+
+ Currently only the default toolsets are supported for these platforms,
+ so nothing special needs to be told to SCons when building. The
+ defaults should work fine in most cases.
+
+ Examples
+ --------
+
+ Build Blender with the defaults:
+
+ % python scons\scons.py
+
+ Build Blender, but disable OpenEXR support:
+
+ % python scons\scons.py WITH_BF_OPENEXR=0
+
+ Build Blender, enable debug symbols:
+
+ % python scons\scons.py BF_DEBUG=1
+
+ Build Blender, install to different directory:
+
+ % python scons\scons.py BF_INSTALLDIR=../myown/installdir
+
+ Build Blender in ../myown/builddir and install to ../myown/installdir:
+
+ % python scons\scons.py BF_BUILDDIR=../myown/builddir BF_INSTALLDIR=../myown/installdir
+
+ Clean BF_BUILDDIR:
+
+ % python scons\scons.py clean
+
+ /Nathan Letwory (jesterKing)
diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile
index 89dcf834227..b4d3b14b9dd 100644
--- a/doc/doxygen/Doxyfile
+++ b/doc/doxygen/Doxyfile
@@ -31,7 +31,7 @@ PROJECT_NAME = Blender
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = "V2.57"
+PROJECT_NUMBER = "V2.59"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer
diff --git a/doc/python_api/blender-org/layout.html b/doc/python_api/blender-org/layout.html
new file mode 100644
index 00000000000..88db31e1586
--- /dev/null
+++ b/doc/python_api/blender-org/layout.html
@@ -0,0 +1,201 @@
+{%- block doctype -%}
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+{%- endblock %}
+{%- set script_files = script_files + [pathto("_static/jquery.sidebar.js", 1)] %}
+{%- set reldelim1 = reldelim1 is not defined and ' &raquo;' or reldelim1 %}
+{%- set reldelim2 = reldelim2 is not defined and ' •' or reldelim2 %}
+
+{%- macro relbar() %}
+ <div class="subnav boxheader">
+ <ul class="noprint"><li><a href="http://wiki.blender.org/index.php/Dev:Contents">Documentation</a></li><li>•</li><li><a href="http://www.blender.org/development/report-a-bug/">Report a Bug</a></li><li>•</li><li><a href="http://wiki.blender.org/index.php/Dev:Doc/Process/Patches">Submit a Patch</a></li><li>•</li><li><a href="http://www.blender.org/development/release-logs/">Release Logs</a></li><li>•</li><li><a href="http://www.blender.org/development/building-blender/">Building Blender</a></li><li>•</li><li><a href="http://wiki.blender.org/index.php/Dev:Doc/Projects">Current Projects</a></li><li>•</li><li><a href="http://wiki.blender.org/index.php/Dev:Source/Architecture">Architecture</a></li><li>•</li><li><a href="http://www.blender.org/documentation/250PythonDoc/contents.html">Python API</a></li><li>•</li><li><a href="http://wiki.blender.org">Wiki</a></li></ul>
+ </div>
+ <div class="related subnav">
+ <h3>{{ _('Navigation') }}</h3>
+ <ul>
+ {%- for rellink in rellinks %}
+ <li class="right">
+ <a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags }}"
+ {{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a>
+ {%- if not loop.first %}{{ reldelim2 }}{% endif %}</li>
+ {%- endfor %}
+ {%- block rootrellink %}
+ <li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li>
+ {%- endblock %}
+ {%- for parent in parents %}
+ <li><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a>{{ reldelim1 }}</li>
+ {%- endfor %}
+ {%- block relbaritems %} {% endblock %}
+ </ul>
+ </div>
+{%- endmacro %}
+
+{%- macro sidebar() %}
+ {%- if not embedded %}{% if not theme_nosidebar|tobool %}
+ <div class="sphinxsidebar">
+ <div class="sphinxsidebarwrapper">
+ {%- block sidebarlogo %}
+ {%- if logo %}
+ <p class="logo"><a href="{{ pathto(master_doc) }}">
+ <img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
+ </a></p>
+ {%- endif %}
+ {%- endblock %}
+ {%- block sidebartoc %}
+ {%- if display_toc %}
+ <h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3>
+ {{ toc }}
+ {%- endif %}
+ {%- endblock %}
+ {%- block sidebarrel %}
+ {%- if prev %}
+ <h4>{{ _('Previous topic') }}</h4>
+ <p class="topless"><a href="{{ prev.link|e }}"
+ title="{{ _('previous chapter') }}">{{ prev.title }}</a></p>
+ {%- endif %}
+ {%- if next %}
+ <h4>{{ _('Next topic') }}</h4>
+ <p class="topless"><a href="{{ next.link|e }}"
+ title="{{ _('next chapter') }}">{{ next.title }}</a></p>
+ {%- endif %}
+ {%- endblock %}
+ {%- block sidebarsourcelink %}
+ {%- if show_source and has_source and sourcename %}
+ <h3>{{ _('This Page') }}</h3>
+ <ul class="this-page-menu">
+ <li><a href="{{ pathto('_sources/' + sourcename, true)|e }}"
+ rel="nofollow">{{ _('Show Source') }}</a></li>
+ </ul>
+ {%- endif %}
+ {%- endblock %}
+ {%- if customsidebar %}
+ {% include customsidebar %}
+ {%- endif %}
+ {%- block sidebarsearch %}
+ {%- if pagename != "search" %}
+ <div id="searchbox" style="display: none">
+ <h3>{{ _('Quick search') }}</h3>
+ <form class="search" action="{{ pathto('search') }}" method="get">
+ <input type="text" name="q" size="18" />
+ <input type="submit" value="{{ _('Go') }}" />
+ <input type="hidden" name="check_keywords" value="yes" />
+ <input type="hidden" name="area" value="default" />
+ </form>
+ <p class="searchtip">
+ {{ _('Enter search terms or a module, class or function name.') }}
+ </p>
+ </div>
+ <script type="text/javascript">$('#searchbox').show(0);</script>
+ {%- endif %}
+ {%- endblock %}
+ </div>
+ </div>
+ {%- endif %}{% endif %}
+{%- endmacro %}
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ {{ metatags }}
+ {%- if not embedded and docstitle %}
+ {%- set titlesuffix = " &mdash; "|safe + docstitle|e %}
+ {%- else %}
+ {%- set titlesuffix = "" %}
+ {%- endif %}
+ <title>{{ title|striptags }}{{ titlesuffix }}</title>
+ <link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
+ <link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
+ {%- if not embedded %}
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '{{ pathto("", 1) }}',
+ VERSION: '{{ release|e }}',
+ COLLAPSE_MODINDEX: false,
+ FILE_SUFFIX: '{{ file_suffix }}',
+ HAS_SOURCE: {{ has_source|lower }}
+ };
+ </script>
+ {%- for scriptfile in script_files %}
+ <script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
+ {%- endfor %}
+ {%- if use_opensearch %}
+ <link rel="search" type="application/opensearchdescription+xml"
+ title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
+ href="{{ pathto('_static/opensearch.xml', 1) }}"/>
+ {%- endif %}
+ {%- if favicon %}
+ <link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
+ {%- endif %}
+ {%- endif %}
+{%- block linktags %}
+ {%- if hasdoc('about') %}
+ <link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
+ {%- endif %}
+ {%- if hasdoc('genindex') %}
+ <link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
+ {%- endif %}
+ {%- if hasdoc('search') %}
+ <link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
+ {%- endif %}
+ {%- if hasdoc('copyright') %}
+ <link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
+ {%- endif %}
+ <link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" />
+ {%- if parents %}
+ <link rel="up" title="{{ parents[-1].title|striptags }}" href="{{ parents[-1].link|e }}" />
+ {%- endif %}
+ {%- if next %}
+ <link rel="next" title="{{ next.title|striptags }}" href="{{ next.link|e }}" />
+ {%- endif %}
+ {%- if prev %}
+ <link rel="prev" title="{{ prev.title|striptags }}" href="{{ prev.link|e }}" />
+ {%- endif %}
+{%- endblock %}
+{%- block extrahead %} {% endblock %}
+ </head>
+ <body>
+{%- block header %}
+<div class="noprint" id="navcontainer"><a href="http://www.blender.org/"><img width="140" height="50" title="blender.org home page" alt="blender.org home page" src="http://www.blender.org/fileadmin/site/_gfx/nav-home.png"></a><a href="http://www.blender.org/features-gallery/"><img width="140" height="50" title="Features &amp; Gallery" alt="Features &amp; Gallery" src="http://www.blender.org/fileadmin/site/_gfx/nav-features.png"></a><a href="http://www.blender.org/download/get-blender/"><img width="140" height="50" title="Download" alt="Download" src="http://www.blender.org/fileadmin/site/_gfx/nav-download.png"></a><a href="http://www.blender.org/education-help/"><img width="140" height="50" title="Tutorials &amp; Help" alt="Tutorials &amp; Help" src="http://www.blender.org/fileadmin/site/_gfx/nav-help.png"></a><a href="http://www.blender.org/community/user-community/"><img width="140" height="50" title="Community" alt="Community" src="http://www.blender.org/fileadmin/site/_gfx/nav-community.png"></a><a href="http://www.blender.org/development/"><img width="140" height="50" title="Development" alt="Development" src="http://www.blender.org/fileadmin/site/_gfx/nav-development-on.png"></a><a href="http://www.blender.org/e-shop/"><img width="140" height="50" title="e-Shop" alt="e-Shop" src="http://www.blender.org/fileadmin/site/_gfx/nav-eshop.png"></a></div>
+{% endblock %}
+
+ <div class="document">
+ <div id="pageheader"></div>
+{%- block relbar1 %}{{ relbar() }}{% endblock %}
+
+{%- block sidebar1 %} {# possible location for sidebar #} {% endblock %}
+
+{%- block document %}
+ <div class="documentwrapper">
+ {%- if not embedded %}{% if not theme_nosidebar|tobool %}
+ <div class="bodywrapper">
+ {%- endif %}{% endif %}
+ <div class="body">
+ {% block body %} {% endblock %}
+ </div>
+ {%- if not embedded %}{% if not theme_nosidebar|tobool %}
+ </div>
+ {%- endif %}{% endif %}
+ </div>
+{%- endblock %}
+
+{%- block sidebar2 %}{{ sidebar() }}{% endblock %}
+ <div class="clearer"></div>
+
+{%- block footer %}
+ <div class="footer">
+ {%- if hasdoc('copyright') %}
+ {% trans path=pathto('copyright'), copyright=copyright|e %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
+ {%- else %}
+ {% trans copyright=copyright|e %}&copy; Copyright {{ copyright }}.{% endtrans %}
+ {%- endif %}
+ {%- if last_updated %}
+ {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
+ {%- endif %}
+ {%- if show_sphinx %}
+ {% trans sphinx_version=sphinx_version|e %}Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> {{ sphinx_version }}.{% endtrans %}
+ {%- endif %}
+ </div><b class="round"><b id="r1"></b><b id="r2"></b><b id="r3"></b><b id="r4"></b></b>
+{%- endblock %}
+ </div>
+ </body>
+</html>
diff --git a/doc/python_api/blender-org/page.html b/doc/python_api/blender-org/page.html
new file mode 100644
index 00000000000..17a93016533
--- /dev/null
+++ b/doc/python_api/blender-org/page.html
@@ -0,0 +1,4 @@
+{% extends "layout.html" %}
+{% block body %}
+ {{ body }}
+{% endblock %}
diff --git a/doc/python_api/blender-org/static/bg.png b/doc/python_api/blender-org/static/bg.png
new file mode 100644
index 00000000000..5393d4aa58f
--- /dev/null
+++ b/doc/python_api/blender-org/static/bg.png
Binary files differ
diff --git a/doc/python_api/blender-org/static/default.css_t b/doc/python_api/blender-org/static/default.css_t
new file mode 100644
index 00000000000..e6fe922e3af
--- /dev/null
+++ b/doc/python_api/blender-org/static/default.css_t
@@ -0,0 +1,654 @@
+/**
+ * Sphinx stylesheet -- default theme
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+#navcontainer {
+ height: 50px;
+ margin: 0 auto;
+ position: relative;
+ width: 980px;
+}
+
+#navcontainer img {
+ width: 140px;
+ height: 50px;
+}
+
+#pageheader {
+ background-image:url("bg.png");
+ height:80px;
+ position:relative;
+}
+
+body {
+ font-family: {{ theme_bodyfont }};
+ font-size: 12px;
+ line-height: 145%;
+ background-color: {{ theme_footerbgcolor }};
+ color: {{ theme_textcolor }};
+ min-width: 980px;
+ margin: 0;
+ padding: 0;
+}
+
+div.document {
+ margin:20px auto 0;
+ position:relative;
+ text-align:left;
+ width:980px;
+/* background-color: {{ theme_sidebarbgcolor }};*/
+}
+
+div.documentwrapper {
+ float: left;
+ width: 100%;
+ background-color: {{ theme_bgcolor }};
+ border-color: {{ theme_bordercolor }};
+ border-style:solid;
+ border-width:0 1px;
+ margin:0 auto;
+ min-height:30em;
+ padding:35px;
+/* position:relative;*/
+ text-align:left;
+ width:908px;
+
+}
+
+div.bodywrapper {
+ margin: 0 0 0 230px;
+}
+
+div.body {
+ background-color: {{ theme_bgcolor }};
+ color: {{ theme_textcolor }};
+ padding: 0;
+ width: 640px;
+}
+
+{%- if theme_rightsidebar|tobool %}
+div.bodywrapper {
+ margin: 0 230px 0 0;
+}
+{%- endif %}
+
+div.footer {
+ background: #292929;
+ border-left: 1px solid #363636;
+ border-right: 1px solid #363636;
+ color: #ffffff;
+/* width: 100%;*/
+ margin: 0 auto;
+ padding: 20px 20px 15px 35px;
+ text-align: center;
+ font-size: 75%;
+}
+
+div.footer+.round b {
+ display: block;
+ background: #292929;
+ width: auto;
+}
+
+div.footer+.round #r1 {
+ border-left: 1px solid #363636;
+ border-right: 1px solid #363636;
+ height: 2px;
+ margin: 0 1px;
+}
+
+div.footer+.round #r2 {
+ border-left: 1px solid #363636;
+ border-right: 1px solid #363636;
+ height: 1px;
+ margin: 0 2px;
+}
+
+div.footer+.round #r3 {
+ border-left: 1px solid #363636;
+ border-right: 1px solid #363636;
+ height: 1px;
+ margin: 0 3px;
+}
+
+div.footer+.round #r4 {
+ border-bottom: 1px solid #363636;
+ height: 0px;
+ margin: 0 5px;
+}
+
+div.footer a {
+ color: {{ theme_footertextcolor }};
+ text-decoration: underline;
+}
+
+.boxheader {
+ background-color:#3E4D5E;
+}
+
+.subnav {
+ height:auto !important;
+ min-height:15px;
+ padding:9px 0px 9px 37px;
+ position:relative;
+}
+
+div.related {
+ width:auto;
+ font-size:100%;
+ font-weight:400;
+ background-color: {{ theme_relbarbgcolor }};
+ line-height: 145%;
+ color: {{ theme_relbartextcolor }};
+}
+
+div.related li {
+ font-size:0.9em;
+}
+
+div.related li.right {
+ margin: 0;
+ word-spacing: 3px;
+}
+
+div.subnav li {
+ display:inline;
+ list-style-type:none;
+ margin:0;
+ padding:0 7px 0 0;
+}
+
+div.subnav ul {
+ display:inline;
+ margin:0;
+ padding:0;
+}
+
+.subnav a {
+ font-weight: bold;
+ color: #fff;
+}
+
+.subnav li.subnav-active a {
+ color:#F39410;
+}
+
+div.related a {
+ color: {{ theme_relbarlinkcolor }};
+}
+
+div.related a:active {
+ color: {{ theme_relbaractlinkcolor }};
+}
+
+div.sphinxsidebar {
+ width: 280px;
+ font-size: 100%;
+ {%- if theme_stickysidebar|tobool %}
+/* top: 30px;*/
+ margin: 0;
+ position: absolute;
+ overflow: auto;
+ height: 100%;
+ {%- endif %}
+ {%- if theme_rightsidebar|tobool %}
+ float: right;
+ {%- if theme_stickysidebar|tobool %}
+ right: 0;
+ {%- endif %}
+ {%- endif %}
+}
+
+div.sphinxsidebarwrapper {
+ width: inherit;
+ padding: 0;
+ position: absolute;
+ margin-top: 35px;
+ font-size: 8pt;
+}
+
+div.sphinxsidebarwrapper.fixed {
+ position:fixed;
+ top:10px;
+ margin-top: 0;
+}
+
+{%- if theme_stickysidebar|tobool %}
+/* this is nice, but it leads to hidden headings when jumping
+ to an anchor */
+/*
+div.related {
+ position: fixed;
+}
+
+div.documentwrapper {
+ margin-top: 30px;
+}
+*/
+{%- endif %}
+
+div.sphinxsidebar h3 {
+ font-family: {{ theme_headfont }};
+ color: {{ theme_sidebartextcolor }};
+ font-size: 12px;
+ font-weight: bold;
+ background: #3E4D5E url("rnd.png") no-repeat top left;
+ height: 16px;
+ margin: 0;
+ padding: 10px 5px 10px 18px;
+}
+
+div.sphinxsidebar h3 a {
+ color: {{ theme_sidebartextcolor }};
+}
+
+div.sphinxsidebar h4 {
+ font-family: {{ theme_headfont }};
+ color: {{ theme_sidebartextcolor }};
+ background: #3E4D5E url("rnd.png") no-repeat top left;
+ height: 16px;
+ font-size: 12px;
+ font-weight: bold;
+ margin: 0;
+ padding: 10px 5px 10px 18px;
+}
+
+div.sphinxsidebar form {
+ margin: 0;
+ padding: 10px;
+ background-color: #292929;
+ {%- if theme_rightsidebar|tobool %}
+ border-right: 1px solid {{ theme_bordercolor }};
+ {%- endif %}
+}
+
+div.sphinxsidebar p {
+ background-color: #292929;
+ padding: 5px 10px 10px 10px;
+ color: {{ theme_sidebartextcolor }};
+ {%- if theme_rightsidebar|tobool %}
+ border-right: 1px solid {{ theme_bordercolor }};
+ {%- endif %}
+ margin-top: 0;
+}
+
+div.sphinxsidebar p.topless {
+ margin-bottom: 25px;
+}
+
+div.sphinxsidebar ul {
+ background-color: #292929;
+ margin: 0;
+ padding: 0;
+ color: {{ theme_sidebartextcolor }};
+}
+
+div.sphinxsidebar > div > ul {
+ margin-bottom: 25px;
+ padding:10px;
+}
+
+div.sphinxsidebar a {
+ color: {{ theme_sidebarlinkcolor }};
+}
+
+div.sphinxsidebar input {
+ border: 1px solid {{ theme_sidebarlinkcolor }};
+ font-family: sans-serif;
+ font-size: 1em;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+a {
+ color: {{ theme_linkcolor }};
+ text-decoration: none;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+/*div.body h1,*/
+div.body h2,
+div.body h3,
+div.body h4,
+div.body h5,
+div.body h6 {
+ font-family: {{ theme_headfont }};
+ background-color: {{ theme_headbgcolor }};
+ font-weight: bold;
+ color: {{ theme_headtextcolor }};
+/* border-bottom: 1px solid #ccc;*/
+ margin: 20px -20px 10px -20px;
+ padding: 3px 0 3px 10px;
+}
+
+div.body h1 { margin-top: 0; font-size: 200%;
+ color:#FFFAE0;
+ font-family:"Helvetica","Arial",sans-serif;
+ font-size:34px;
+ font-weight:normal;
+ left:32px;
+ line-height:26px;
+ margin-top:0;
+ position:absolute;
+ top:36px;
+}
+div.body h2 { font-size: 160%; }
+div.body h3 { font-size: 140%; }
+div.body h4 { font-size: 120%; }
+div.body h5 { font-size: 110%; }
+div.body h6 { font-size: 100%; }
+
+a.headerlink {
+ color: {{ theme_headlinkcolor }};
+ font-size: 0.8em;
+ padding: 0 4px 0 4px;
+ text-decoration: none;
+}
+
+h1:hover > a.headerlink {
+ display:none;
+}
+
+a.headerlink:hover {
+ background-color: {{ theme_headlinkcolor }};
+ color: white;
+}
+
+div.body p, div.body dd, div.body li {
+ text-align: justify;
+ line-height: 130%;
+}
+
+div.note, div.seealso, div.topic, div.warning {
+ color:white;
+}
+
+div.admonition p.admonition-title + p {
+ display: inline;
+}
+
+div.note {
+ background-color: #555;
+ border: 1px solid #ddd;
+}
+
+div.seealso {
+ background-color: #525241;
+ border: 1px solid #ff6;
+}
+
+div.topic {
+ background-color: #eee;
+}
+
+div.warning {
+ background-color: #B64444;
+ border: 1px solid #990606;
+}
+
+p.admonition-title {
+ display: inline;
+}
+
+p.admonition-title:after {
+ content: ":";
+}
+
+dl div.admonition {
+ border:medium none;
+ margin:0;
+ padding:2px 5px 2px 0;
+}
+
+dl.class > dd > div.warning p.admonition-title,
+dl.class > dd > div.note p.admonition-title {
+ display:none;
+}
+
+dl.class > dd > div.admonition.warning p,
+dl.class > dd > div.admonition.note p {
+ margin:0;
+}
+
+dl.class > dd > div.admonition.warning,
+dl.class > dd > div.admonition.note {
+ margin-bottom:12px;
+}
+
+dl div.admonition.note p.admonition-title, dl div.admonition.warning p.admonition-title {
+ color:inherit;
+}
+
+dl div.admonition.warning p {
+ font-weight:bold;
+ line-height:150%;
+}
+
+dl div.admonition.warning p * {
+ font-weight:normal;
+}
+
+dl div.admonition p.admonition-title {
+ color:#555555;
+ display:block;
+ float:left;
+ margin:0;
+ padding-right:12px;
+ text-align:right;
+ width:90px;
+}
+
+dl div.admonition p.admonition-title+p, dl div.admonition p {
+ display:block;
+ margin:0 0 0 102px;
+}
+
+dl div.note {
+ background:none;
+ color:#E8E481;
+}
+
+dl div.warning {
+ background:none;
+ color:#FC3030;
+}
+
+dl div.seealso {
+ background:none;
+}
+
+dl div.admonition.seealso p+p {
+ color:#222;
+}
+
+dl div.seealso a {
+ margin-left:-1.3ex;
+}
+
+div.admonition.warning pre {
+ background: #0F0704;
+ color: #fc3030;
+}
+
+div.admonition pre {
+ margin: 6px 0;
+ overflow: visible;
+ white-space: pre-wrap;
+}
+
+pre {
+ padding: 10px;
+ background-color: #000;
+ color: #fff;
+ line-height: normal;
+ border: 0 solid white;
+}
+
+dl.function>dt, dl.method>dt {
+ text-indent:-118px;
+ padding-left: 118px;
+}
+
+dl.function>dt em, dl.method>dt em {
+ color: #97b9cf;
+}
+
+dl.function>dd em, dl.method>dd em {
+ color: #97b9cf;
+ font-weight:bold;
+}
+
+dl.function table.field-list tr:first-child td.field-body, dl.method table.field-list tr:first-child td.field-body {
+ color: #728c96;
+}
+
+dl.function>dt em:before, dl.method>dt em:before {
+ content: " ";
+ display: block;
+}
+
+dl.function>dd>p,dl.method>dd>p,dl.attribute>dd>p,
+dl[class]>dd>ol,dl[class]>dd>ul {
+ color: #999;
+}
+
+dl.data>dt {
+ color:#08C659;
+}
+
+dl.data>dd>p {
+ color:#069643;
+}
+
+dl.class>dt {
+ color: #82a3c7;
+}
+
+dl.class>dd>p,dl.class>dd>ol,dl.class>dd>ul {
+ color: #637b96;
+}
+
+dl.function>dt,dl.method>dt,dl.attribute>dt {
+ color: #fcb100;
+}
+
+dl.function>dd>p,dl.method>dd>p,dl.attribute>dd>p,
+dl.function>dd>p+ol,dl.method>dd>p+ol,dl.attribute>dd>p+ol,
+dl.function>dd>p+ul,dl.method>dd>p+ul,dl.attribute>dd>p+ul {
+ color: #cb8f00;
+}
+
+dl.function>dd>p, dl.method>dd>p, dl.attribute>dd>p {
+ margin: 0 0 3px 102px;
+}
+
+dl.function>dd>p:first-child:before, dl.method>dd>p:first-child:before, dl.attribute>dd>p:first-child:before {
+ content:"Description:";
+ color:#555;
+ font-weight:bold;
+ font-style:normal;
+ width:90px;
+ display:inline-block;
+ margin-left:-102px;
+ text-align:right;
+ padding-right:12px;
+}
+
+dt:target, .highlight {
+ color: #444;
+ background: #333;
+}
+
+.highlight {
+ background: #E2C788;
+}
+
+h1 .highlight {
+ color:inherit;
+ background:inherit;
+}
+
+dl {
+ margin-bottom: 25px;
+}
+
+dd {
+ margin: 3px 0 10px 15px;
+}
+
+.field-body tt.literal {
+ font-weight: normal;
+}
+
+tt {
+ background-color: #444;
+ padding: 0 1px 0 1px;
+ font-size: 0.95em;
+}
+
+.warning tt {
+ background: #cc6262;
+}
+
+.note tt {
+ background: #444;
+}
+
+dl .warning tt {
+ background:#0F0704;
+ display:block;
+}
+
+dl .note tt {
+ background:#2C2A1B;
+}
+
+table.indextable tr.cap {
+ background-color: transparent;
+}
+
+col.field-name {
+ width:90px;
+}
+
+dd table {
+ margin-bottom: 0;
+}
+
+table.field-list th {
+ color:#555;
+ padding:0;
+ text-align:right;
+}
+
+table.field-list td.field-body {
+ color:#999999;
+ padding-left:12px;
+}
+
+table.field-list td.field-body ul.first {
+ padding-left:0;
+ list-style:none;
+ margin-left:0;
+}
+
+dl.function>dd>ol, dl.method>dd>ol, dl.attribute>dd>ol,
+dl.function>dd>ul, dl.method>dd>ul, dl.attribute>dd>ul,
+dl.function>dd>div[class|="highlight"], dl.method>dd>div[class|="highlight"],
+dl.attribute>dd>div[class|="highlight"] {
+ margin-left:102px;
+}
+
+dl.function>dd>ol, dl.method>dd>ol, dl.attribute>dd>ol,
+dl.function>dd>ul, dl.method>dd>ul, dl.attribute>dd>ul,
+dl.class>dd>ol, dl.class>dd>ul {
+ padding-left:20px;
+}
diff --git a/doc/python_api/blender-org/static/favicon.ico b/doc/python_api/blender-org/static/favicon.ico
new file mode 100644
index 00000000000..f125d24dcb6
--- /dev/null
+++ b/doc/python_api/blender-org/static/favicon.ico
Binary files differ
diff --git a/doc/python_api/blender-org/static/jquery.sidebar.js b/doc/python_api/blender-org/static/jquery.sidebar.js
new file mode 100644
index 00000000000..c22c61f2409
--- /dev/null
+++ b/doc/python_api/blender-org/static/jquery.sidebar.js
@@ -0,0 +1,26 @@
+$(document).ready(function () {
+ var top = $('.sphinxsidebarwrapper').offset().top - parseFloat($('.sphinxsidebarwrapper').css ('marginTop').replace(/auto/, 0));
+ var colheight = parseFloat($('.sphinxsidebarwrapper').css('height').replace(/auto/, 0));
+
+
+$(window).scroll(function (event) {
+ // what the y position of the scroll is
+ var y = $(this).scrollTop();
+
+ // whether that's below the form
+ if (y >= top) {
+ //colheight is checked and according to its vaule the scrolling
+ //is triggered or not
+ if (colheight <= window.innerHeight) {
+ // if so, ad the fixed class
+ $('.sphinxsidebarwrapper').addClass('fixed');
+ } else {
+ // otherwise remove it
+ $('.sphinxsidebarwrapper').removeClass('fixed');
+ }
+ } else {
+ // otherwise remove it
+ $('.sphinxsidebarwrapper').removeClass('fixed');
+ }
+});
+});
diff --git a/doc/python_api/blender-org/static/pygments.css b/doc/python_api/blender-org/static/pygments.css
new file mode 100644
index 00000000000..d67231e84ab
--- /dev/null
+++ b/doc/python_api/blender-org/static/pygments.css
@@ -0,0 +1,61 @@
+.hll { background-color: #ffffcc }
+.c { color: #7f7f7f; font-style: italic } /* Comment */
+.err { border: 1px solid #FF0000 } /* Error */
+.k { color: #0088ff; font-weight: bold } /* Keyword */
+.o { color: #993399 } /* Operator */
+.cm { color: #7f7f7f; font-style: italic } /* Comment.Multiline */
+.cp { color: #007020 } /* Comment.Preproc */
+.c1 { color: #408090; font-style: italic } /* Comment.Single */
+.cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
+.gd { color: #A00000 } /* Generic.Deleted */
+.ge { font-style: italic } /* Generic.Emph */
+.gr { color: #FF0000 } /* Generic.Error */
+.gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.gi { color: #00A000 } /* Generic.Inserted */
+.go { color: #303030 } /* Generic.Output */
+.gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.gs { font-weight: bold } /* Generic.Strong */
+.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.gt { color: #0040D0 } /* Generic.Traceback */
+.kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.kn { color: #FFFF32; font-weight: bold } /* Keyword.Namespace */
+.kp { color: #007020 } /* Keyword.Pseudo */
+.kr { color: #FFFF32; font-weight: bold } /* Keyword.Reserved */
+.kt { color: #902000 } /* Keyword.Type */
+.m { color: #00BAFF } /* Literal.Number */
+.s { color: #B7C274 } /* Literal.String */
+.na { color: #4070a0 } /* Name.Attribute */
+.nb { color: #007020 } /* Name.Builtin */
+.nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.no { color: #60add5 } /* Name.Constant */
+.nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.ne { color: #007020 } /* Name.Exception */
+.nf { color: #06287e } /* Name.Function */
+.nl { color: #002070; font-weight: bold } /* Name.Label */
+.nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.nt { color: #062873; font-weight: bold } /* Name.Tag */
+.nv { color: #bb60d5 } /* Name.Variable */
+.ow { color: #007020; font-weight: bold } /* Operator.Word */
+.w { color: #bbbbbb } /* Text.Whitespace */
+.mf { color: #00BAFF } /* Literal.Number.Float */
+.mh { color: #00BAFF } /* Literal.Number.Hex */
+.mi { color: #00BAFF } /* Literal.Number.Integer */
+.mo { color: #00BAFF } /* Literal.Number.Oct */
+.sb { color: #B7C274 } /* Literal.String.Backtick */
+.sc { color: #B7C274 } /* Literal.String.Char */
+.sd { color: #B7C274; font-style: italic } /* Literal.String.Doc */
+.s2 { color: #B7C274 } /* Literal.String.Double */
+.se { color: #B7C274; font-weight: bold } /* Literal.String.Escape */
+.sh { color: #B7C274 } /* Literal.String.Heredoc */
+.si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
+.sx { color: #c65d09 } /* Literal.String.Other */
+.sr { color: #235388 } /* Literal.String.Regex */
+.s1 { color: #4070a0 } /* Literal.String.Single */
+.ss { color: #517918 } /* Literal.String.Symbol */
+.bp { color: #007020 } /* Name.Builtin.Pseudo */
+.vc { color: #bb60d5 } /* Name.Variable.Class */
+.vg { color: #bb60d5 } /* Name.Variable.Global */
+.vi { color: #bb60d5 } /* Name.Variable.Instance */
+.il { color: #00BAFF } /* Literal.Number.Integer.Long */
diff --git a/doc/python_api/blender-org/static/rnd.png b/doc/python_api/blender-org/static/rnd.png
new file mode 100644
index 00000000000..95bc613c731
--- /dev/null
+++ b/doc/python_api/blender-org/static/rnd.png
Binary files differ
diff --git a/doc/python_api/blender-org/static/rndbl.png b/doc/python_api/blender-org/static/rndbl.png
new file mode 100644
index 00000000000..976161642fd
--- /dev/null
+++ b/doc/python_api/blender-org/static/rndbl.png
Binary files differ
diff --git a/doc/python_api/blender-org/static/rndbr.png b/doc/python_api/blender-org/static/rndbr.png
new file mode 100644
index 00000000000..de94512ccc6
--- /dev/null
+++ b/doc/python_api/blender-org/static/rndbr.png
Binary files differ
diff --git a/doc/python_api/blender-org/theme.conf b/doc/python_api/blender-org/theme.conf
new file mode 100644
index 00000000000..a4356fd2690
--- /dev/null
+++ b/doc/python_api/blender-org/theme.conf
@@ -0,0 +1,30 @@
+[theme]
+inherit = basic
+stylesheet = default.css
+pygments_style = sphinx
+
+[options]
+rightsidebar = true
+stickysidebar = true
+
+footerbgcolor = #000000
+footertextcolor = #ffffff
+sidebarbgcolor = #1c4e63
+sidebartextcolor = #ffffff
+sidebarlinkcolor = #97b9cf
+relbarbgcolor = #2C3845
+relbartextcolor = #D3E0E9
+relbarlinkcolor = #D3E0E9
+relbaractlinkcolor = #f39410
+bgcolor = #232323
+bordercolor = #363636
+textcolor = #ffffff
+headbgcolor = #232323
+headtextcolor = #ffffff
+headlinkcolor = #97b9cf
+linkcolor = #97b9cf
+codebgcolor = #eeffcc
+codetextcolor = #333333
+
+bodyfont = "Lucida Grande","Lucida Sans Unicode","Lucida Sans","Lucida",Verdana,sans-serif
+headfont = "Lucida Grande","Lucida Sans Unicode","Lucida Sans","Lucida",Verdana,sans-serif
diff --git a/doc/python_api/epy/IDProp.py b/doc/python_api/epy/IDProp.py
new file mode 100644
index 00000000000..1fc26d7f65b
--- /dev/null
+++ b/doc/python_api/epy/IDProp.py
@@ -0,0 +1,132 @@
+class IDGroup:
+ """
+ The IDGroup Type
+ ================
+ This type supports both iteration and the []
+ operator to get child ID properties.
+
+ You can also add new properties using the [] operator.
+ For example::
+
+ group['a float!'] = 0.0
+ group['an int!'] = 0
+ group['a string!'] = "hi!"
+ group['an array!'] = [0, 0, 1.0, 0]
+
+ group['a subgroup!] = {"float": 0.0, "an int": 1.0, "an array": [1, 2],
+ "another subgroup": {"a": 0.0, "str": "bleh"}}
+
+ Note that for arrays, the array type defaults to int unless a float is found
+ while scanning the template list; if any floats are found, then the whole
+ array is float. Note that double-precision floating point numbers are used for
+ python-created float ID properties and arrays (though the internal C api does
+ support single-precision floats, and the python code will read them).
+
+ You can also delete properties with the del operator. For example:
+
+ del group['property']
+
+ To get the type of a property, use the type() operator, for example::
+
+ if type(group['bleh']) == str: pass
+
+ To tell if the property is a group or array type, import the Blender.Types module and test
+ against IDGroupType and IDArrayType, like so::
+
+ from Blender.Types import IDGroupType, IDArrayType.
+
+ if type(group['bleghr']) == IDGroupType:
+ (do something)
+
+ @ivar name: The name of the property
+ @type name: string
+ """
+
+ def pop(item):
+ """
+ Pop an item from the group property.
+ @type item: string
+ @param item: The item name.
+ @rtype: can be dict, list, int, float or string.
+ @return: The removed property.
+ """
+
+ def update(updatedict):
+ """
+ Updates items in the dict, similar to normal python
+ dictionary method .update().
+ @type updatedict: dict
+ @param updatedict: A dict of simple types to derive updated/new IDProperties from.
+ @rtype: None
+ @return: None
+ """
+
+ def keys():
+ """
+ Returns a list of the keys in this property group.
+ @rtype: list of strings.
+ @return: a list of the keys in this property group.
+ """
+
+ def values():
+ """
+ Returns a list of the values in this property group.
+
+ Note that unless a value is itself a property group or an array, you
+ cannot change it by changing the values in this list, you must change them
+ in the parent property group.
+
+ For example,
+
+ group['some_property'] = new_value
+
+ . . .is correct, while,
+
+ values = group.values()
+ values[0] = new_value
+
+ . . .is wrong.
+
+ @rtype: list of strings.
+ @return: a list of the values in this property group.
+ """
+
+ def iteritems():
+ """
+ Implements the python dictionary iteritmes method.
+
+ For example::
+
+ for k, v in group.iteritems():
+ print "Property name: " + k
+ print "Property value: " + str(v)
+
+ @rtype: an iterator that spits out items of the form [key, value]
+ @return: an iterator.
+ """
+
+ def convert_to_pyobject():
+ """
+ Converts the entire property group to a purely python form.
+
+ @rtype: dict
+ @return: A python dictionary representing the property group
+ """
+
+class IDArray:
+ """
+ The IDArray Type
+ ================
+
+ @ivar type: returns the type of the array, can be either IDP_Int or IDP_Float
+ """
+
+ def __getitem__(index):
+ pass
+
+ def __setitem__(index, value):
+ pass
+
+ def __len__():
+ pass
+
diff --git a/doc/python_api/epy/testbgl.py b/doc/python_api/epy/testbgl.py
new file mode 100644
index 00000000000..e895d01df69
--- /dev/null
+++ b/doc/python_api/epy/testbgl.py
@@ -0,0 +1,45 @@
+# Testing the BGL module
+
+import Blender
+from Blender.BGL import *
+from Blender import Draw
+
+R = G = B = 0
+A = 1
+
+instructions = "Hold mouse buttons to change the background color."
+quitting = " Press ESC or q to quit."
+
+def show_win():
+ glClearColor(R,G,B,A) # define color used to clear buffers
+ glClear(GL_COLOR_BUFFER_BIT) # use it to clear the color buffer
+ glColor3f(1,1,1) # change default color
+ glRasterPos2i(50,100) # move cursor to x = 50, y = 100
+ Draw.Text("Testing BGL + Draw") # draw this text there
+ glRasterPos2i(350,20) # move cursor again
+ Draw.Text(instructions + quitting) # draw another msg
+ glBegin(GL_LINE_LOOP) # begin a vertex-data list
+ glVertex2i(46,92)
+ glVertex2i(120,92)
+ glVertex2i(120,115)
+ glVertex2i(46,115)
+ glEnd() # close this list
+ glColor3f(0.35,0.18,0.92) # change default color again
+ glBegin(GL_POLYGON) # another list, for a polygon
+ glVertex2i(315, 292)
+ glVertex2i(412, 200)
+ glVertex2i(264, 256)
+ glEnd()
+ Draw.Redraw(1) # make changes visible.
+
+def ev(evt, val): # this is a callback for Draw.Register()
+ global R,G,B,A # it handles input events
+ if evt == Draw.ESCKEY or evt == Draw.QKEY:
+ Draw.Exit() # this quits the script
+ elif evt == Draw.LEFTMOUSE: R = 1 - R
+ elif evt == Draw.MIDDLEMOUSE: G = 1 - G
+ elif evt == Draw.RIGHTMOUSE: B = 1 - B
+ else:
+ Draw.Register(show_win, ev, None)
+
+Draw.Register(show_win, ev, None) # start the main loop
diff --git a/doc/python_api/examples/aud.py b/doc/python_api/examples/aud.py
new file mode 100644
index 00000000000..e41e8214cc0
--- /dev/null
+++ b/doc/python_api/examples/aud.py
@@ -0,0 +1,21 @@
+"""
+Basic Sound Playback
+++++++++++++++++++++
+This script shows how to use the classes: :class:`Device`, :class:`Factory` and
+:class:`Handle`.
+"""
+import aud
+
+device = aud.device()
+# load sound file (it can be a video file with audio)
+factory = aud.Factory('music.ogg')
+
+# play the audio, this return a handle to control play/pause
+handle = device.play(sound)
+# if the audio is not too big and will be used often you can buffer it
+factory_buffered = aud.Factory.buffer(sound)
+handle_buffered = device.play(buffered)
+
+# stop the sounds (otherwise they play until their ends)
+handle.stop()
+handle_buffered.stop()
diff --git a/doc/python_api/examples/bge.constraints.py b/doc/python_api/examples/bge.constraints.py
new file mode 100644
index 00000000000..de2f7e0a39d
--- /dev/null
+++ b/doc/python_api/examples/bge.constraints.py
@@ -0,0 +1,37 @@
+"""
+Basic Physics Constraint
+++++++++++++++++++++++
+Example of how to create a hinge Physics Constraint between two objects.
+"""
+from bge import logic
+from bge import constraints
+
+# get object list
+objects = logic.getCurrentScene().objects
+
+# get object named Object1 and Object 2
+object_1 = objects["Object1"]
+object_2 = objects["Object2"]
+
+# want to use Edge constraint type
+constraint_type = 2
+
+# get Object1 and Object2 physics IDs
+physics_id_1 = object_1.getPhysicsId()
+physics_id_2 = object_2.getPhysicsId()
+
+# Use bottom right edge of Object1 for hinge position
+edge_position_x = 1.0
+edge_position_y = 0.0
+edge_position_z = -1.0
+
+# use Object1 y axis for angle to point hinge
+edge_angle_x = 0.0
+edge_angle_y = 1.0
+edge_angle_z = 0.0
+
+# create an edge constraint
+constraints.createConstraint(physics_id_1, physics_id_2,
+ constraint_type,
+ edge_position_x, edge_position_y, edge_position_z,
+ edge_angle_x, edge_angle_y, edge_angle_z)
diff --git a/doc/python_api/examples/bge.texture.1.py b/doc/python_api/examples/bge.texture.1.py
new file mode 100644
index 00000000000..faa0ae736e8
--- /dev/null
+++ b/doc/python_api/examples/bge.texture.1.py
@@ -0,0 +1,39 @@
+"""
+Texture replacement
+++++++++++++++++++++++
+Example of how to replace a texture in game with an external image.
+createTexture() and removeTexture() are to be called from a module Python
+Controller.
+"""
+from bge import logic
+from bge import texture
+
+
+def createTexture(cont):
+ """Create a new Dynamic Texture"""
+ object = cont.owner
+
+ # get the reference pointer (ID) of the internal texture
+ ID = texture.materialID(obj, 'IMoriginal.png')
+
+ # create a texture object
+ object_texture = texture.Texture(object, ID)
+
+ # create a new source with an external image
+ url = logic.expandPath("//newtexture.jpg")
+ new_source = texture.ImageFFmpeg(url)
+
+ # the texture has to be stored in a permanent Python object
+ logic.texture = object_texture
+
+ # update/replace the texture
+ logic.texture.source = new_source
+ logic.texture.refresh(False)
+
+
+def removeTexture(cont):
+ """Delete the Dynamic Texture, reversing back the final to its original state."""
+ try:
+ del logic.texture
+ except:
+ pass
diff --git a/doc/python_api/examples/bge.texture.py b/doc/python_api/examples/bge.texture.py
new file mode 100644
index 00000000000..70e4d6d9377
--- /dev/null
+++ b/doc/python_api/examples/bge.texture.py
@@ -0,0 +1,32 @@
+"""
+Basic Video Playback
+++++++++++++++++++++++
+Example of how to replace a texture in game with a video. It needs to run everyframe
+"""
+import bge
+from bge import texture
+from bge import logic
+
+cont = logic.getCurrentController()
+obj = cont.owner
+
+# the creation of the texture must be done once: save the
+# texture object in an attribute of bge.logic module makes it persistent
+if not hasattr(logic, 'video'):
+
+ # identify a static texture by name
+ matID = texture.materialID(obj, 'IMvideo.png')
+
+ # create a dynamic texture that will replace the static texture
+ logic.video = texture.Texture(obj, matID)
+
+ # define a source of image for the texture, here a movie
+ movie = logic.expandPath('//trailer_400p.ogg')
+ logic.video.source = texture.VideoFFmpeg(movie)
+ logic.video.source.scale = True
+
+ # quick off the movie, but it wont play in the background
+ logic.video.source.play()
+
+# you need to call this function every frame to ensure update of the texture.
+logic.video.refresh(True)
diff --git a/doc/python_api/examples/blf.py b/doc/python_api/examples/blf.py
new file mode 100644
index 00000000000..f6e87cf488d
--- /dev/null
+++ b/doc/python_api/examples/blf.py
@@ -0,0 +1,44 @@
+"""
+Hello World Text Example
+++++++++++++++++++++++++
+
+Blender Game Engine example of using the blf module. For this module to work we
+need to use the OpenGL wrapper :class:`~bgl` as well.
+"""
+# import game engine modules
+from bge import render
+from bge import logic
+# import stand alone modules
+import bgl
+import blf
+
+
+def init():
+ """init function - runs once"""
+ # create a new font object, use external ttf file
+ font_path = logic.expandPath('//Zeyada.ttf')
+ # store the font indice - to use later
+ logic.font_id = blf.load(font_path)
+
+ # set the font drawing routine to run every frame
+ scene = logic.getCurrentScene()
+ scene.post_draw = [write]
+
+
+def write():
+ """write on screen"""
+ width = render.getWindowWidth()
+ height = render.getWindowHeight()
+
+ # OpenGL setup
+ bgl.glMatrixMode(bgl.GL_PROJECTION)
+ bgl.glLoadIdentity()
+ bgl.gluOrtho2D(0, width, 0, height)
+ bgl.glMatrixMode(bgl.GL_MODELVIEW)
+ bgl.glLoadIdentity()
+
+ # BLF drawing routine
+ font_id = logic.font_id
+ blf.position(font_id, (width * 0.2), (height * 0.3), 0)
+ blf.size(font_id, 50, 72)
+ blf.draw(font_id, "Hello World")
diff --git a/doc/python_api/examples/bpy.data.py b/doc/python_api/examples/bpy.data.py
new file mode 100644
index 00000000000..7d6bf94532b
--- /dev/null
+++ b/doc/python_api/examples/bpy.data.py
@@ -0,0 +1,27 @@
+import bpy
+
+
+# print all objects
+for obj in bpy.data.objects:
+ print(obj.name)
+
+
+# print all scene names in a list
+print(bpy.data.scenes.keys())
+
+
+# remove mesh Cube
+if "Cube" in bpy.data.meshes:
+ mesh = bpy.data.meshes["Cube"]
+ print("removing mesh", mesh)
+ bpy.data.meshes.remove(mesh)
+
+
+# write images into a file next to the blend
+import os
+file = open(os.path.splitext(bpy.data.filepath)[0] + ".txt", 'w')
+
+for image in bpy.data.images:
+ file.write("%s %d x %d\n" % (image.filepath, image.size[0], image.size[1]))
+
+file.close()
diff --git a/doc/python_api/examples/bpy.ops.1.py b/doc/python_api/examples/bpy.ops.1.py
new file mode 100644
index 00000000000..f43be2b0f63
--- /dev/null
+++ b/doc/python_api/examples/bpy.ops.1.py
@@ -0,0 +1,22 @@
+"""
+Execution Context
++++++++++++++++++
+
+When calling an operator you may want to pass the execution context.
+
+This determines the context thats given to the operator to run in, and weather
+invoke() is called or execute().
+
+'EXEC_DEFAULT' is used by default but you may want the operator to take user
+interaction with 'INVOKE_DEFAULT'.
+
+The execution context is as a non keyword, string argument in:
+('INVOKE_DEFAULT', 'INVOKE_REGION_WIN', 'INVOKE_REGION_CHANNELS',
+'INVOKE_REGION_PREVIEW', 'INVOKE_AREA', 'INVOKE_SCREEN', 'EXEC_DEFAULT',
+'EXEC_REGION_WIN', 'EXEC_REGION_CHANNELS', 'EXEC_REGION_PREVIEW', 'EXEC_AREA',
+'EXEC_SCREEN')
+"""
+
+# group add popup
+import bpy
+bpy.ops.object.group_instance_add('INVOKE_DEFAULT')
diff --git a/doc/python_api/examples/bpy.ops.py b/doc/python_api/examples/bpy.ops.py
new file mode 100644
index 00000000000..20e8773652d
--- /dev/null
+++ b/doc/python_api/examples/bpy.ops.py
@@ -0,0 +1,30 @@
+"""
+Calling Operators
++++++++++++++++++
+
+Provides python access to calling operators, this includes operators written in
+C, Python or Macros.
+
+Only keyword arguments can be used to pass operator properties.
+
+Operators don't have return values as you might expect, instead they return a
+set() which is made up of: {'RUNNING_MODAL', 'CANCELLED', 'FINISHED',
+'PASS_THROUGH'}.
+Common return values are {'FINISHED'} and {'CANCELLED'}.
+
+
+Calling an operator in the wrong context will raise a RuntimeError,
+there is a poll() method to avoid this problem.
+
+Note that the operator ID (bl_idname) in this example is 'mesh.subdivide',
+'bpy.ops' is just the access path for python.
+"""
+import bpy
+
+# calling an operator
+bpy.ops.mesh.subdivide(number_cuts=3, smoothness=0.5)
+
+
+# check poll() to avoid exception.
+if bpy.ops.object.mode_set.poll():
+ bpy.ops.object.mode_set(mode='EDIT')
diff --git a/doc/python_api/examples/bpy.props.1.py b/doc/python_api/examples/bpy.props.1.py
new file mode 100644
index 00000000000..51534628930
--- /dev/null
+++ b/doc/python_api/examples/bpy.props.1.py
@@ -0,0 +1,31 @@
+"""
+Operator Example
+++++++++++++++++
+
+A common use of custom properties is for python based :class:`Operator` classes.
+"""
+
+import bpy
+
+
+class DialogOperator(bpy.types.Operator):
+ bl_idname = "object.dialog_operator"
+ bl_label = "Property Example"
+
+ my_float = bpy.props.FloatProperty(name="Some Floating Point")
+ my_bool = bpy.props.BoolProperty(name="Toggle Option")
+ my_string = bpy.props.StringProperty(name="String Value")
+
+ def execute(self, context):
+ print("Dialog Runs")
+ return {'FINISHED'}
+
+ def invoke(self, context, event):
+ wm = context.window_manager
+ return wm.invoke_props_dialog(self)
+
+
+bpy.utils.register_class(DialogOperator)
+
+# test call
+bpy.ops.object.dialog_operator('INVOKE_DEFAULT')
diff --git a/doc/python_api/examples/bpy.props.2.py b/doc/python_api/examples/bpy.props.2.py
new file mode 100644
index 00000000000..22fef5dc13a
--- /dev/null
+++ b/doc/python_api/examples/bpy.props.2.py
@@ -0,0 +1,27 @@
+"""
+PropertyGroup Example
++++++++++++++++++++++
+
+PropertyGroups can be used for collecting custom settings into one value
+to avoid many indervidual settings mixed in together.
+"""
+
+import bpy
+
+
+class MaterialSettings(bpy.types.PropertyGroup):
+ my_int = bpy.props.IntProperty()
+ my_float = bpy.props.FloatProperty()
+ my_string = bpy.props.StringProperty()
+
+bpy.utils.register_class(MaterialSettings)
+
+bpy.types.Material.my_settings = \
+ bpy.props.PointerProperty(type=MaterialSettings)
+
+# test the new settings work
+material = bpy.data.materials[0]
+
+material.my_settings.my_int = 5
+material.my_settings.my_float = 3.0
+material.my_settings.my_string = "Foo"
diff --git a/doc/python_api/examples/bpy.props.3.py b/doc/python_api/examples/bpy.props.3.py
new file mode 100644
index 00000000000..e0b2cf419d2
--- /dev/null
+++ b/doc/python_api/examples/bpy.props.3.py
@@ -0,0 +1,34 @@
+"""
+Collection Example
+++++++++++++++++++
+
+Custom properties can be added to any subclass of an :class:`ID`,
+:class:`Bone` and :class:`PoseBone`.
+"""
+
+import bpy
+
+
+# Assign a collection
+class SceneSettingItem(bpy.types.PropertyGroup):
+ name = bpy.props.StringProperty(name="Test Prop", default="Unknown")
+ value = bpy.props.IntProperty(name="Test Prop", default=22)
+
+bpy.utils.register_class(SceneSettingItem)
+
+bpy.types.Scene.my_settings = \
+ bpy.props.CollectionProperty(type=SceneSettingItem)
+
+# Assume an armature object selected
+print("Adding 3 values!")
+
+my_item = bpy.context.scene.my_settings.add()
+my_item.name = "Spam"
+my_item.value = 1000
+
+my_item = bpy.context.scene.my_settings.add()
+my_item.name = "Eggs"
+my_item.value = 30
+
+for my_item in bpy.context.scene.my_settings:
+ print(my_item.name, my_item.value)
diff --git a/doc/python_api/examples/bpy.props.4.py b/doc/python_api/examples/bpy.props.4.py
new file mode 100644
index 00000000000..2b44d94f72a
--- /dev/null
+++ b/doc/python_api/examples/bpy.props.4.py
@@ -0,0 +1,21 @@
+"""
+Update Example
+++++++++++++++
+
+It can be useful to perform an action when a property is changed and can be
+used to update other properties or synchronize with external data.
+
+All properties define update functions except for CollectionProperty.
+"""
+
+import bpy
+
+
+def update_func(self, context):
+ print("my test function", self)
+
+bpy.types.Scene.testprop = bpy.props.FloatProperty(update=update_func)
+
+bpy.context.scene.testprop = 11.0
+
+# >>> my test function <bpy_struct, Scene("Scene")>
diff --git a/doc/python_api/examples/bpy.props.py b/doc/python_api/examples/bpy.props.py
new file mode 100644
index 00000000000..f6bc55d6824
--- /dev/null
+++ b/doc/python_api/examples/bpy.props.py
@@ -0,0 +1,18 @@
+"""
+Assigning to Existing Classes
++++++++++++++++++++++++++++++
+
+Custom properties can be added to any subclass of an :class:`ID`,
+:class:`Bone` and :class:`PoseBone`.
+
+These properties can be animated, accessed by the user interface and python
+like blenders existing properties.
+"""
+
+import bpy
+
+# Assign a custom property to an existing type.
+bpy.types.Material.custom_float = bpy.props.FloatProperty(name="Test Prob")
+
+# Test the property is there.
+bpy.data.materials[0].custom_float = 5.0
diff --git a/doc/python_api/examples/bpy.types.BlendDataLibraries.load.py b/doc/python_api/examples/bpy.types.BlendDataLibraries.load.py
new file mode 100644
index 00000000000..5e7022c88b4
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.BlendDataLibraries.load.py
@@ -0,0 +1,34 @@
+import bpy
+
+filepath = "//link_library.blend"
+
+# load a single scene we know the name of.
+with bpy.data.libraries.load(filepath) as (data_from, data_to):
+ data_to.scenes = ["Scene"]
+
+
+# load all meshes
+with bpy.data.libraries.load(filepath) as (data_from, data_to):
+ data_to.meshes = data_from.meshes
+
+
+# link all objects starting with 'A'
+with bpy.data.libraries.load(filepath, link=True) as (data_from, data_to):
+ data_to.objects = [name for name in data_from.objects if name.startswith("A")]
+
+
+# append everything
+with bpy.data.libraries.load(filepath) as (data_from, data_to):
+ for attr in dir(data_to):
+ setattr(data_to, attr, getattr(data_from, attr))
+
+
+# the loaded objects can be accessed from 'data_to' outside of the context
+# since loading the data replaces the strings for the datablocks or None
+# if the datablock could not be loaded.
+with bpy.data.libraries.load(filepath) as (data_from, data_to):
+ data_to.meshes = data_from.meshes
+# now operate directly on the loaded data
+for mesh in data_to.meshes:
+ if mesh is not None:
+ print(mesh.name)
diff --git a/doc/python_api/examples/bpy.types.ID.user_clear.1.py b/doc/python_api/examples/bpy.types.ID.user_clear.1.py
new file mode 100644
index 00000000000..68c35caa7d4
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.ID.user_clear.1.py
@@ -0,0 +1,19 @@
+"""
+User Clear
+++++++++++
+This function is for advanced use only, misuse can crash blender since the user
+count is used to prevent data being removed when it is used.
+"""
+
+# This example shows what _not_ to do, and will crash blender.
+import bpy
+
+# object which is in the scene.
+obj = bpy.data.objects["Cube"]
+
+# without this, removal would raise an error.
+obj.user_clear()
+
+# runs without an exception
+# but will crash on redraw.
+bpy.data.objects.remove(obj)
diff --git a/doc/python_api/examples/bpy.types.Menu.1.py b/doc/python_api/examples/bpy.types.Menu.1.py
new file mode 100644
index 00000000000..92c961e93d2
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Menu.1.py
@@ -0,0 +1,37 @@
+"""
+Submenus
+++++++++
+This menu demonstrates some different functions.
+"""
+import bpy
+
+
+class SubMenu(bpy.types.Menu):
+ bl_idname = "OBJECT_MT_select_submenu"
+ bl_label = "Select"
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.operator("object.select_all", text="Select/Deselect All")
+ layout.operator("object.select_inverse", text="Inverse")
+ layout.operator("object.select_random", text="Random")
+
+ # access this operator as a submenu
+ layout.operator_menu_enum("object.select_by_type", "type", text="Select All by Type...")
+
+ layout.separator()
+
+ # expand each operator option into this menu
+ layout.operator_enum("object.lamp_add", "type")
+
+ layout.separator()
+
+ # use existing memu
+ layout.menu("VIEW3D_MT_transform")
+
+
+bpy.utils.register_class(SubMenu)
+
+# test call to display immediately.
+bpy.ops.wm.call_menu(name="OBJECT_MT_select_submenu")
diff --git a/doc/python_api/examples/bpy.types.Menu.2.py b/doc/python_api/examples/bpy.types.Menu.2.py
new file mode 100644
index 00000000000..c87b10cb6e7
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Menu.2.py
@@ -0,0 +1,17 @@
+"""
+Extending Menus
++++++++++++++++
+When creating menus for addons you can't reference menus in blenders default
+scripts.
+
+Instead the addon can add menu items to existing menus.
+
+The function menu_draw acts like Menu.draw
+"""
+import bpy
+
+
+def menu_draw(self, context):
+ self.layout.operator("wm.save_homefile")
+
+bpy.types.INFO_MT_file.append(menu_draw)
diff --git a/doc/python_api/examples/bpy.types.Menu.py b/doc/python_api/examples/bpy.types.Menu.py
new file mode 100644
index 00000000000..e8c4a2aa072
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Menu.py
@@ -0,0 +1,38 @@
+"""
+Basic Menu Example
+++++++++++++++++++
+This script is a simple menu, menus differ from panels in that they must
+reference from a header, panel or another menu.
+
+Notice the 'CATEGORY_MT_name' :class:`Menu.bl_idname`, this is a naming
+convention for menus.
+
+.. note::
+
+ Menu subclasses must be registered before referencing them from blender.
+
+.. note::
+ Menu's have their :class:`Layout.operator_context` initialized as
+ 'EXEC_REGION_WIN' rather then 'INVOKE_DEFAULT', so if the operator context
+ needs to initialize inputs from the :class:`Operator.invoke` function
+ then this needs to be explicitly set.
+"""
+import bpy
+
+
+class BasicMenu(bpy.types.Menu):
+ bl_idname = "OBJECT_MT_select_test"
+ bl_label = "Select"
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.operator("object.select_all", text="Select/Deselect All")
+ layout.operator("object.select_inverse", text="Inverse")
+ layout.operator("object.select_random", text="Random")
+
+
+bpy.utils.register_class(BasicMenu)
+
+# test call to display immediately.
+bpy.ops.wm.call_menu(name="OBJECT_MT_select_test")
diff --git a/doc/python_api/examples/bpy.types.Operator.1.py b/doc/python_api/examples/bpy.types.Operator.1.py
new file mode 100644
index 00000000000..fc016508d39
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Operator.1.py
@@ -0,0 +1,52 @@
+"""
+Invoke Function
++++++++++++++++
+:class:`Operator.invoke` is used to initialize the operator from the context
+at the moment the operator is called.
+invoke() is typically used to assign properties which are then used by
+execute().
+Some operators don't have an execute() function, removing the ability to be
+repeated from a script or macro.
+
+This example shows how to define an operator which gets mouse input to
+execute a function and that this operator can be invoked or executed from
+the python api.
+
+Also notice this operator defines its own properties, these are different
+to typical class properties because blender registers them with the
+operator, to use as arguments when called, saved for operator undo/redo and
+automatically added into the user interface.
+"""
+import bpy
+
+
+class SimpleMouseOperator(bpy.types.Operator):
+ """ This operator shows the mouse location,
+ this string is used for the tooltip and API docs
+ """
+ bl_idname = "wm.mouse_position"
+ bl_label = "Invoke Mouse Operator"
+
+ x = bpy.props.IntProperty()
+ y = bpy.props.IntProperty()
+
+ def execute(self, context):
+ # rather then printing, use the report function,
+ # this way the message appears in the header,
+ self.report({'INFO'}, "Mouse coords are %d %d" % (self.x, self.y))
+ return {'FINISHED'}
+
+ def invoke(self, context, event):
+ self.x = event.mouse_x
+ self.y = event.mouse_y
+ return self.execute(context)
+
+bpy.utils.register_class(SimpleMouseOperator)
+
+# Test call to the newly defined operator.
+# Here we call the operator and invoke it, meaning that the settings are taken
+# from the mouse.
+bpy.ops.wm.mouse_position('INVOKE_DEFAULT')
+
+# Another test call, this time call execute() directly with pre-defined settings.
+bpy.ops.wm.mouse_position('EXEC_DEFAULT', x=20, y=66)
diff --git a/doc/python_api/examples/bpy.types.Operator.2.py b/doc/python_api/examples/bpy.types.Operator.2.py
new file mode 100644
index 00000000000..39ff5caae8a
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Operator.2.py
@@ -0,0 +1,51 @@
+"""
+Calling a File Selector
++++++++++++++++++++++++
+This example shows how an operator can use the file selector.
+
+Notice the invoke function calls a window manager method and returns
+RUNNING_MODAL, this means the file selector stays open and the operator does not
+exit immediately after invoke finishes.
+
+The file selector runs the operator, calling :class:`Operator.execute` when the
+user confirms.
+
+The :class:`Operator.poll` function is optional, used to check if the operator
+can run.
+"""
+import bpy
+
+
+class ExportSomeData(bpy.types.Operator):
+ """Test exporter which just writes hello world"""
+ bl_idname = "export.some_data"
+ bl_label = "Export Some Data"
+
+ filepath = bpy.props.StringProperty(subtype="FILE_PATH")
+
+ @classmethod
+ def poll(cls, context):
+ return context.object is not None
+
+ def execute(self, context):
+ file = open(self.filepath, 'w')
+ file.write("Hello World " + context.object.name)
+ return {'FINISHED'}
+
+ def invoke(self, context, event):
+ context.window_manager.fileselect_add(self)
+ return {'RUNNING_MODAL'}
+
+
+# Only needed if you want to add into a dynamic menu
+def menu_func(self, context):
+ self.layout.operator_context = 'INVOKE_DEFAULT'
+ self.layout.operator(ExportSomeData.bl_idname, text="Text Export Operator")
+
+# Register and add to the file selector
+bpy.utils.register_class(ExportSomeData)
+bpy.types.INFO_MT_file_export.append(menu_func)
+
+
+# test call
+bpy.ops.export.some_data('INVOKE_DEFAULT')
diff --git a/doc/python_api/examples/bpy.types.Operator.3.py b/doc/python_api/examples/bpy.types.Operator.3.py
new file mode 100644
index 00000000000..7fdccd81379
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Operator.3.py
@@ -0,0 +1,31 @@
+"""
+Dialog Box
+++++++++++
+This operator uses its :class:`Operator.invoke` function to call a popup.
+"""
+import bpy
+
+
+class DialogOperator(bpy.types.Operator):
+ bl_idname = "object.dialog_operator"
+ bl_label = "Simple Dialog Operator"
+
+ my_float = bpy.props.FloatProperty(name="Some Floating Point")
+ my_bool = bpy.props.BoolProperty(name="Toggle Option")
+ my_string = bpy.props.StringProperty(name="String Value")
+
+ def execute(self, context):
+ message = "Popup Values: %f, %d, '%s'" % \
+ (self.my_float, self.my_bool, self.my_string)
+ self.report({'INFO'}, message)
+ return {'FINISHED'}
+
+ def invoke(self, context, event):
+ wm = context.window_manager
+ return wm.invoke_props_dialog(self)
+
+
+bpy.utils.register_class(DialogOperator)
+
+# test call
+bpy.ops.object.dialog_operator('INVOKE_DEFAULT')
diff --git a/doc/python_api/examples/bpy.types.Operator.4.py b/doc/python_api/examples/bpy.types.Operator.4.py
new file mode 100644
index 00000000000..4cb7b02fdc6
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Operator.4.py
@@ -0,0 +1,46 @@
+"""
+Custom Drawing
+++++++++++++++
+By default operator properties use an automatic user interface layout.
+If you need more control you can create your own layout with a
+:class:`Operator.draw` function.
+
+This works like the :class:`Panel` and :class:`Menu` draw functions, its used
+for dialogs and file selectors.
+"""
+import bpy
+
+
+class CustomDrawOperator(bpy.types.Operator):
+ bl_idname = "object.custom_draw"
+ bl_label = "Simple Modal Operator"
+
+ filepath = bpy.props.StringProperty(subtype="FILE_PATH")
+
+ my_float = bpy.props.FloatProperty(name="Float")
+ my_bool = bpy.props.BoolProperty(name="Toggle Option")
+ my_string = bpy.props.StringProperty(name="String Value")
+
+ def execute(self, context):
+ print()
+ return {'FINISHED'}
+
+ def invoke(self, context, event):
+ context.window_manager.fileselect_add(self)
+ return {'RUNNING_MODAL'}
+
+ def draw(self, context):
+ layout = self.layout
+ col = layout.column()
+ col.label(text="Custom Interface!")
+
+ row = col.row()
+ row.prop(self, "my_float")
+ row.prop(self, "my_bool")
+
+ col.prop(self, "my_string")
+
+bpy.utils.register_class(CustomDrawOperator)
+
+# test call
+bpy.ops.object.custom_draw('INVOKE_DEFAULT')
diff --git a/doc/python_api/examples/bpy.types.Operator.5.py b/doc/python_api/examples/bpy.types.Operator.5.py
new file mode 100644
index 00000000000..7d1a98d4c34
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Operator.5.py
@@ -0,0 +1,57 @@
+"""
+Modal Execution
++++++++++++++++
+This operator defines a :class:`Operator.modal` function which running,
+handling events until it returns {'FINISHED'} or {'CANCELLED'}.
+
+Grab, Rotate, Scale and Fly-Mode are examples of modal operators.
+They are especially useful for interactive tools,
+your operator can have its own state where keys toggle options as the operator
+runs.
+
+:class:`Operator.invoke` is used to initialize the operator as being by
+returning {'RUNNING_MODAL'}, initializing the modal loop.
+
+Notice __init__() and __del__() are declared.
+For other operator types they are not useful but for modal operators they will
+be called before the :class:`Operator.invoke` and after the operator finishes.
+"""
+import bpy
+
+
+class ModalOperator(bpy.types.Operator):
+ bl_idname = "object.modal_operator"
+ bl_label = "Simple Modal Operator"
+
+ def __init__(self):
+ print("Start")
+
+ def __del__(self):
+ print("End")
+
+ def execute(self, context):
+ context.object.location.x = self.value / 100.0
+
+ def modal(self, context, event):
+ if event.type == 'MOUSEMOVE': # Apply
+ self.value = event.mouse_x
+ self.execute(context)
+ elif event.type == 'LEFTMOUSE': # Confirm
+ return {'FINISHED'}
+ elif event.type in ('RIGHTMOUSE', 'ESC'): # Cancel
+ return {'CANCELLED'}
+
+ return {'RUNNING_MODAL'}
+
+ def invoke(self, context, event):
+ self.value = event.mouse_x
+ self.execute(context)
+
+ print(context.window_manager.modal_handler_add(self))
+ return {'RUNNING_MODAL'}
+
+
+bpy.utils.register_class(ModalOperator)
+
+# test call
+bpy.ops.object.modal_operator('INVOKE_DEFAULT')
diff --git a/doc/python_api/examples/bpy.types.Operator.py b/doc/python_api/examples/bpy.types.Operator.py
new file mode 100644
index 00000000000..52edfa0a61b
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Operator.py
@@ -0,0 +1,27 @@
+"""
+Basic Operator Example
+++++++++++++++++++++++
+This script shows simple operator which prints a message.
+
+Since the operator only has an :class:`Operator.execute` function it takes no
+user input.
+
+.. note::
+
+ Operator subclasses must be registered before accessing them from blender.
+"""
+import bpy
+
+
+class HelloWorldOperator(bpy.types.Operator):
+ bl_idname = "wm.hello_world"
+ bl_label = "Minimal Operator"
+
+ def execute(self, context):
+ print("Hello World")
+ return {'FINISHED'}
+
+bpy.utils.register_class(SimpleOperator)
+
+# test call to the newly defined operator
+bpy.ops.wm.hello_world()
diff --git a/doc/python_api/examples/bpy.types.Panel.1.py b/doc/python_api/examples/bpy.types.Panel.1.py
new file mode 100644
index 00000000000..ab32a043706
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Panel.1.py
@@ -0,0 +1,43 @@
+"""
+Simple Object Panel
++++++++++++++++++++
+This panel has a :class:`Panel.poll` and :class:`Panel.draw_header` function,
+even though the contents is basic this closely resemples blenders panels.
+"""
+import bpy
+
+
+class ObjectSelectPanel(bpy.types.Panel):
+ bl_idname = "OBJECT_PT_select"
+ bl_label = "Select"
+ bl_space_type = 'PROPERTIES'
+ bl_region_type = 'WINDOW'
+ bl_context = "object"
+ bl_options = {'DEFAULT_CLOSED'}
+
+ @classmethod
+ def poll(cls, context):
+ return (context.object is not None)
+
+ def draw_header(self, context):
+ layout = self.layout
+ obj = context.object
+ layout.prop(obj, "select", text="")
+
+ def draw(self, context):
+ layout = self.layout
+
+ obj = context.object
+ row = layout.row()
+ row.prop(obj, "hide_select")
+ row.prop(obj, "hide_render")
+
+ box = layout.box()
+ box.label("Selection Tools")
+ box.operator("object.select_all")
+ row = box.row()
+ row.operator("object.select_inverse")
+ row.operator("object.select_random")
+
+
+bpy.utils.register_class(ObjectSelectPanel)
diff --git a/doc/python_api/examples/bpy.types.Panel.2.py b/doc/python_api/examples/bpy.types.Panel.2.py
new file mode 100644
index 00000000000..a4b2f1fd338
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Panel.2.py
@@ -0,0 +1,36 @@
+"""
+Mix-in Classes
+++++++++++++++
+A mix-in parent class can be used to share common properties and
+:class:`Menu.poll` function.
+"""
+import bpy
+
+
+class View3DPanel():
+ bl_space_type = 'VIEW_3D'
+ bl_region_type = 'TOOLS'
+
+ @classmethod
+ def poll(cls, context):
+ return (context.object is not None)
+
+
+class PanelOne(View3DPanel, bpy.types.Panel):
+ bl_idname = "VIEW3D_PT_test_1"
+ bl_label = "Panel One"
+
+ def draw(self, context):
+ self.layout.label("Small Class")
+
+
+class PanelTwo(View3DPanel, bpy.types.Panel):
+ bl_idname = "VIEW3D_PT_test_2"
+ bl_label = "Panel Two"
+
+ def draw(self, context):
+ self.layout.label("Also Small Class")
+
+
+bpy.utils.register_class(PanelOne)
+bpy.utils.register_class(PanelTwo)
diff --git a/doc/python_api/examples/bpy.types.Panel.py b/doc/python_api/examples/bpy.types.Panel.py
new file mode 100644
index 00000000000..1f64b953786
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.Panel.py
@@ -0,0 +1,28 @@
+"""
+Basic Panel Example
++++++++++++++++++++
+This script is a simple panel which will draw into the object properties
+section.
+
+Notice the 'CATEGORY_PT_name' :class:`Panel.bl_idname`, this is a naming
+convention for panels.
+
+.. note::
+
+ Panel subclasses must be registered for blender to use them.
+"""
+import bpy
+
+
+class HelloWorldPanel(bpy.types.Panel):
+ bl_idname = "OBJECT_PT_hello_world"
+ bl_label = "Hello World"
+ bl_space_type = 'PROPERTIES'
+ bl_region_type = 'WINDOW'
+ bl_context = "object"
+
+ def draw(self, context):
+ self.layout.label(text="Hello World")
+
+
+bpy.utils.register_class(HelloWorldPanel)
diff --git a/doc/python_api/examples/bpy.types.PropertyGroup.py b/doc/python_api/examples/bpy.types.PropertyGroup.py
new file mode 100644
index 00000000000..d5260bf94bb
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.PropertyGroup.py
@@ -0,0 +1,40 @@
+"""
+Custom Properties
++++++++++++++++++
+
+PropertyGroups are the base class for dynamically defined sets of properties.
+
+They can be used to extend existing blender data with your own types which can
+be animated, accessed from the user interface and from python.
+
+.. note::
+
+ The values assigned to blender data are saved to disk but the class
+ definitions are not, this means whenever you load blender the class needs
+ to be registered too.
+
+ This is best done by creating an addon which loads on startup and registers
+ your properties.
+
+.. note::
+
+ PropertyGroups must be registered before assigning them to blender data.
+
+.. seealso::
+
+ Property types used in class declarations are all in :mod:`bpy.props`
+"""
+import bpy
+
+
+class MyPropertyGroup(bpy.types.PropertyGroup):
+ custom_1 = bpy.props.FloatProperty(name="My Float")
+ custom_2 = bpy.props.IntProperty(name="My Int")
+
+bpy.utils.register_class(MyPropertyGroup)
+
+bpy.types.Object.my_prop_grp = bpy.props.PointerProperty(type=MyPropertyGroup)
+
+
+# test this worked
+bpy.data.objects[0].my_prop_grp.custom_1 = 22.0
diff --git a/doc/python_api/examples/bpy.types.RenderEngine.py b/doc/python_api/examples/bpy.types.RenderEngine.py
new file mode 100644
index 00000000000..7af7de1068c
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.RenderEngine.py
@@ -0,0 +1,70 @@
+"""
+Simple Render Engine
+++++++++++++++++++++
+"""
+
+import bpy
+
+
+class CustomRenderEngine(bpy.types.RenderEngine):
+ # These three members are used by blender to set up the
+ # RenderEngine; define its internal name, visible name and capabilities.
+ bl_idname = 'custom_renderer'
+ bl_label = 'Flat Color Renderer'
+ bl_use_preview = True
+
+ # This is the only method called by blender, in this example
+ # we use it to detect preview rendering and call the implementation
+ # in another method.
+ def render(self, scene):
+ scale = scene.render.resolution_percentage / 100.0
+ self.size_x = int(scene.render.resolution_x * scale)
+ self.size_y = int(scene.render.resolution_y * scale)
+
+ if scene.name == 'preview':
+ self.render_preview(scene)
+ else:
+ self.render_scene(scene)
+
+ # In this example, we fill the preview renders with a flat green color.
+ def render_preview(self, scene):
+ pixel_count = self.size_x * self.size_y
+
+ # The framebuffer is defined as a list of pixels, each pixel
+ # itself being a list of R,G,B,A values
+ green_rect = [[0.0, 1.0, 0.0, 1.0]] * pixel_count
+
+ # Here we write the pixel values to the RenderResult
+ result = self.begin_result(0, 0, self.size_x, self.size_y)
+ layer = result.layers[0]
+ layer.rect = green_rect
+ self.end_result(result)
+
+ # In this example, we fill the full renders with a flat blue color.
+ def render_scene(self, scene):
+ pixel_count = self.size_x * self.size_y
+
+ # The framebuffer is defined as a list of pixels, each pixel
+ # itself being a list of R,G,B,A values
+ blue_rect = [[0.0, 0.0, 1.0, 1.0]] * pixel_count
+
+ # Here we write the pixel values to the RenderResult
+ result = self.begin_result(0, 0, self.size_x, self.size_y)
+ layer = result.layers[0]
+ layer.rect = blue_rect
+ self.end_result(result)
+
+# Register the RenderEngine
+bpy.utils.register_class(CustomRenderEngine)
+
+# RenderEngines also need to tell UI Panels that they are compatible
+# Otherwise most of the UI will be empty when the engine is selected.
+# In this example, we need to see the main render image button and
+# the material preview panel.
+from bl_ui import properties_render
+properties_render.RENDER_PT_render.COMPAT_ENGINES.add('custom_renderer')
+del properties_render
+
+from bl_ui import properties_material
+properties_material.MATERIAL_PT_preview.COMPAT_ENGINES.add('custom_renderer')
+del properties_material
diff --git a/doc/python_api/examples/bpy.types.bpy_struct.keyframe_insert.1.py b/doc/python_api/examples/bpy.types.bpy_struct.keyframe_insert.1.py
new file mode 100644
index 00000000000..faf3b121ec6
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.bpy_struct.keyframe_insert.1.py
@@ -0,0 +1,28 @@
+"""
+Note that when keying data paths which contain nested properties this must be
+done from the :class:`ID` subclass, in this case the :class:`Armature` rather
+then the bone.
+"""
+
+import bpy
+from bpy.props import PointerProperty
+
+
+# define a nested property
+class MyPropGroup(bpy.types.PropertyGroup):
+ nested = bpy.props.FloatProperty(name="Nested", default=0.0)
+
+# register it so its available for all bones
+bpy.utils.register_class(MyPropGroup)
+bpy.types.Bone.my_prop = PointerProperty(type=MyPropGroup,
+ name="MyProp")
+
+# get a bone
+obj = bpy.data.objects["Armature"]
+arm = obj.data
+
+# set the keyframe at frame 1
+arm.bones["Bone"].my_prop_group.nested = 10
+arm.keyframe_insert(data_path='bones["Bone"].my_prop.nested',
+ frame=1,
+ group="Nested Group")
diff --git a/doc/python_api/examples/bpy.types.bpy_struct.keyframe_insert.py b/doc/python_api/examples/bpy.types.bpy_struct.keyframe_insert.py
new file mode 100644
index 00000000000..f1f4b98b32f
--- /dev/null
+++ b/doc/python_api/examples/bpy.types.bpy_struct.keyframe_insert.py
@@ -0,0 +1,11 @@
+"""
+This is the most simple example of inserting a keyframe from python.
+"""
+
+import bpy
+
+obj = bpy.context.object
+
+# set the keyframe at frame 1
+obj.location = 3.0, 4.0, 10.0
+obj.keyframe_insert(data_path="location", frame=1)
diff --git a/doc/python_api/examples/mathutils.Euler.py b/doc/python_api/examples/mathutils.Euler.py
new file mode 100644
index 00000000000..bc7702c1d53
--- /dev/null
+++ b/doc/python_api/examples/mathutils.Euler.py
@@ -0,0 +1,3 @@
+import mathutils
+
+# todo
diff --git a/doc/python_api/examples/mathutils.Matrix.py b/doc/python_api/examples/mathutils.Matrix.py
new file mode 100644
index 00000000000..bc7702c1d53
--- /dev/null
+++ b/doc/python_api/examples/mathutils.Matrix.py
@@ -0,0 +1,3 @@
+import mathutils
+
+# todo
diff --git a/doc/python_api/examples/mathutils.Quaternion.py b/doc/python_api/examples/mathutils.Quaternion.py
new file mode 100644
index 00000000000..bc7702c1d53
--- /dev/null
+++ b/doc/python_api/examples/mathutils.Quaternion.py
@@ -0,0 +1,3 @@
+import mathutils
+
+# todo
diff --git a/doc/python_api/examples/mathutils.Vector.py b/doc/python_api/examples/mathutils.Vector.py
new file mode 100644
index 00000000000..bf1fc70353f
--- /dev/null
+++ b/doc/python_api/examples/mathutils.Vector.py
@@ -0,0 +1,56 @@
+import mathutils
+
+# zero length vector
+vec = mathutils.Vector((0.0, 0.0, 1.0))
+
+# unit length vector
+vec_a = vec.copy().normalize()
+
+vec_b = mathutils.Vector((0.0, 1.0, 2.0))
+
+vec2d = mathutils.Vector((1.0, 2.0))
+vec3d = mathutils.Vector((1.0, 0.0, 0.0))
+vec4d = vec_a.to_4d()
+
+# other mathutuls types
+quat = mathutils.Quaternion()
+matrix = mathutils.Matrix()
+
+# Comparison operators can be done on Vector classes:
+
+# greater and less then test vector length.
+vec_a > vec_b
+vec_a >= vec_b
+vec_a < vec_b
+vec_a <= vec_b
+
+# ==, != test vector values e.g. 1,2,3 != 3,2,1 even if they are the same length
+vec_a == vec_b
+vec_a != vec_b
+
+
+# Math can be performed on Vector classes
+vec_a + vec_b
+vec_a - vec_b
+vec_a * vec_b
+vec_a * 10.0
+matrix * vec_a
+quat * vec_a
+vec_a * vec_b
+-vec_a
+
+
+# You can access a vector object like a sequence
+x = vec_a[0]
+len(vec)
+vec_a[:] = vec_b
+vec_a[:] = 1.0, 2.0, 3.0
+vec2d[:] = vec3d[:2]
+
+
+# Vectors support 'swizzle' operations
+# See http://en.wikipedia.org/wiki/Swizzling_(computer_graphics)
+vec.xyz = vec.zyx
+vec.xy = vec4d.zw
+vec.xyz = vec4d.wzz
+vec4d.wxyz = vec.yxyx
diff --git a/doc/python_api/examples/mathutils.py b/doc/python_api/examples/mathutils.py
new file mode 100644
index 00000000000..b65e61a1044
--- /dev/null
+++ b/doc/python_api/examples/mathutils.py
@@ -0,0 +1,18 @@
+import mathutils
+from math import radians
+
+vec = mathutils.Vector((1.0, 2.0, 3.0))
+
+mat_rot = mathutils.Matrix.Rotation(radians(90.0), 4, 'X')
+mat_trans = mathutils.Matrix.Translation(vec)
+
+mat = mat_trans * mat_rot
+mat.invert()
+
+mat3 = mat.to_3x3()
+quat1 = mat.to_quaternion()
+quat2 = mat3.to_quaternion()
+
+quat_diff = quat1.rotation_difference(quat2)
+
+print(quat_diff.angle)
diff --git a/doc/python_api/rst/bge.constraints.rst b/doc/python_api/rst/bge.constraints.rst
new file mode 100644
index 00000000000..da0a358dfed
--- /dev/null
+++ b/doc/python_api/rst/bge.constraints.rst
@@ -0,0 +1,357 @@
+
+Physics Constraints (bge.constraints)
+=====================================
+
+.. module:: bge.constraints
+
+.. literalinclude:: ../examples/bge.constraints.py
+
+.. function:: createConstraint(physicsid, physicsid2, constrainttype, [pivotX, pivotY, pivotZ, [axisX, axisY, axisZ, [flag]]]])
+
+ Creates a constraint.
+
+ :arg physicsid: the physics id of the first object in constraint
+ :type physicsid: int
+
+ :arg physicsid2: the physics id of the second object in constraint
+ :type physicsid2: int
+
+ :arg constrainttype: the type of the constraint. The constraint types are:
+
+ - :class:`POINTTOPOINT_CONSTRAINT`
+ - :class:`LINEHINGE_CONSTRAINT`
+ - :class:`ANGULAR_CONSTRAINT`
+ - :class:`CONETWIST_CONSTRAINT`
+ - :class:`VEHICLE_CONSTRAINT`
+
+ :type constrainttype: int
+
+ :arg pivotX: pivot X position
+ :type pivotX: float
+
+ :arg pivotY: pivot Y position
+ :type pivotY: float
+
+ :arg pivotZ: pivot Z position
+ :type pivotZ: float
+
+ :arg axisX: X axis
+ :type axisX: float
+
+ :arg axisY: Y axis
+ :type axisY: float
+
+ :arg axisZ: Z axis
+ :type axisZ: float
+
+ :arg flag: .. to do
+ :type flag: int
+
+.. attribute:: error
+
+ Simbolic constant string that indicates error.
+
+.. function:: exportBulletFile(filename)
+
+ export a .bullet file
+
+ :arg filename: File name
+ :type filename: string
+
+.. function:: getAppliedImpulse(constraintId)
+
+ :arg constraintId: The id of the constraint.
+ :type constraintId: int
+
+ :return: the most recent applied impulse.
+ :rtype: float
+
+.. function:: getVehicleConstraint(constraintId)
+
+ :arg constraintId: The id of the vehicle constraint.
+ :type constraintId: int
+
+ :return: a vehicle constraint object.
+ :rtype: :class:`bge.types.KX_VehicleWrapper`
+
+.. function:: removeConstraint(constraintId)
+
+ Removes a constraint.
+
+ :arg constraintId: The id of the constraint to be removed.
+ :type constraintId: int
+
+.. function:: setCcdMode(ccdMode)
+
+ .. note::
+ Very experimental, not recommended
+
+ Sets the CCD (Continous Colision Detection) mode in the Physics Environment.
+
+ :arg ccdMode: The new CCD mode.
+ :type ccdMode: int
+
+.. function:: setContactBreakingTreshold(breakingTreshold)
+
+ .. note::
+ Reasonable default is 0.02 (if units are meters)
+
+ Sets tresholds to do with contact point management.
+
+ :arg breakingTreshold: The new contact breaking treshold.
+ :type breakingTreshold: float
+
+.. function:: setDeactivationAngularTreshold(angularTreshold)
+
+ Sets the angular velocity treshold.
+
+ :arg angularTreshold: New deactivation angular treshold.
+ :type angularTreshold: float
+
+.. function:: setDeactivationLinearTreshold(linearTreshold)
+
+ Sets the linear velocity treshold.
+
+ :arg linearTreshold: New deactivation linear treshold.
+ :type linearTreshold: float
+
+.. function:: setDeactivationTime(time)
+
+ Sets the time after which a resting rigidbody gets deactived.
+
+ :arg time: The deactivation time.
+ :type time: float
+
+.. function:: setDebugMode(mode)
+
+ Sets the debug mode.
+
+ Debug modes:
+ - :class:`DBG_NODEBUG`
+ - :class:`DBG_DRAWWIREFRAME`
+ - :class:`DBG_DRAWAABB`
+ - :class:`DBG_DRAWFREATURESTEXT`
+ - :class:`DBG_DRAWCONTACTPOINTS`
+ - :class:`DBG_NOHELPTEXT`
+ - :class:`DBG_DRAWTEXT`
+ - :class:`DBG_PROFILETIMINGS`
+ - :class:`DBG_ENABLESATCOMPARISION`
+ - :class:`DBG_DISABLEBULLETLCP`
+ - :class:`DBG_ENABLECCD`
+ - :class:`DBG_DRAWCONSTRAINTS`
+ - :class:`DBG_DRAWCONSTRAINTLIMITS`
+ - :class:`DBG_FASTWIREFRAME`
+
+ :arg mode: The new debug mode.
+ :type mode: int
+
+.. function:: setGravity(x, y, z)
+
+ Sets the gravity force.
+
+ :arg x: Gravity X force.
+ :type x: float
+
+ :arg y: Gravity Y force.
+ :type y: float
+
+ :arg z: Gravity Z force.
+ :type z: float
+
+.. function:: setLinearAirDamping(damping)
+
+ .. note::
+ Not implemented.
+
+ Sets the linear air damping for rigidbodies.
+
+.. function:: setNumIterations(numiter)
+
+ Sets the number of iterations for an iterative constraint solver.
+
+ :arg numiter: New number of iterations.
+ :type numiter: int
+
+.. function:: setNumTimeSubSteps(numsubstep)
+
+ Sets the number of substeps for each physics proceed. Tradeoff quality for performance.
+
+ :arg numsubstep: New number of substeps.
+ :type numsubstep: int
+
+.. function:: setSolverDamping(damping)
+
+ .. note::
+ Very experimental, not recommended
+
+ Sets the damper constant of a penalty based solver.
+
+ :arg damping: New damping for the solver.
+ :type damping: float
+
+.. function:: setSolverTau(tau)
+
+ .. note::
+ Very experimental, not recommended
+
+ Sets the spring constant of a penalty based solver.
+
+ :arg tau: New tau for the solver.
+ :type tau: float
+
+.. function:: setSolverType(solverType)
+
+ .. note::
+ Very experimental, not recommended
+
+ Sets the solver type.
+
+ :arg solverType: The new type of the solver.
+ :type solverType: int
+
+.. function:: setSorConstant(sor)
+
+ .. note::
+ Very experimental, not recommended
+
+ Sets the successive overrelaxation constant.
+
+ :arg sor: New sor value.
+ :type sor: float
+
+.. function:: setUseEpa(epa)
+
+ Not implemented.
+
+.. data:: DBG_NODEBUG
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ No debug.
+
+.. data:: DBG_DRAWWIREFRAME
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw wireframe in debug.
+
+.. data:: DBG_DRAWAABB
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw Axis Aligned Bounding Box in debug.
+
+.. data:: DBG_DRAWFREATURESTEXT
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw freatures text in debug.
+
+.. data:: DBG_DRAWCONTACTPOINTS
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw contact points in debug.
+
+.. data:: DBG_NOHELPTEXT
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Debug without help text.
+
+.. data:: DBG_DRAWTEXT
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw text in debug.
+
+.. data:: DBG_PROFILETIMINGS
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw profile timings in debug.
+
+.. data:: DBG_ENABLESATCOMPARISION
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Enable sat comparision in debug.
+
+.. data:: DBG_DISABLEBULLETLCP
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Disable Bullet LCP.
+
+.. data:: DBG_ENABLECCD
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Enable Continous Colision Detection in debug.
+
+.. data:: DBG_DRAWCONSTRAINTS
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw constraints in debug.
+
+.. data:: DBG_DRAWCONSTRAINTLIMITS
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw constraint limits in debug.
+
+.. data:: DBG_FASTWIREFRAME
+
+ .. note::
+ Debug mode to be used with function :class:`setDebugMode`
+
+ Draw a fast wireframe in debug.
+
+.. data:: POINTTOPOINT_CONSTRAINT
+
+ .. note::
+ Constraint type to be used with function :class:`createConstraint`
+
+ .. to do
+
+.. data:: LINEHINGE_CONSTRAINT
+
+ .. note::
+ Constraint type to be used with function :class:`createConstraint`
+
+ .. to do
+
+.. data:: ANGULAR_CONSTRAINT
+
+ .. note::
+ Constraint type to be used with function :class:`createConstraint`
+
+ .. to do
+
+.. data:: CONETWIST_CONSTRAINT
+
+ .. note::
+ Constraint type to be used with function :class:`createConstraint`
+
+ .. to do
+
+.. data:: VEHICLE_CONSTRAINT
+
+ .. note::
+ Constraint type to be used with function :class:`createConstraint`
+
+ .. to do
diff --git a/doc/python_api/rst/bge.events.rst b/doc/python_api/rst/bge.events.rst
new file mode 100644
index 00000000000..074e928f0d8
--- /dev/null
+++ b/doc/python_api/rst/bge.events.rst
@@ -0,0 +1,250 @@
+
+Game Keys (bge.events)
+======================
+
+*****
+Intro
+*****
+
+This module holds key constants for the SCA_KeyboardSensor.
+
+.. module:: bge.events
+
+.. code-block:: python
+
+ # Set a connected keyboard sensor to accept F1
+ import bge
+
+ co = bge.logic.getCurrentController()
+ # 'Keyboard' is a keyboard sensor
+ sensor = co.sensors["Keyboard"]
+ sensor.key = bge.events.F1KEY
+
+.. code-block:: python
+
+ # Do the all keys thing
+ import bge
+
+ co = bge.logic.getCurrentController()
+ # 'Keyboard' is a keyboard sensor
+ sensor = co.sensors["Keyboard"]
+
+ for key,status in sensor.events:
+ # key[0] == bge.events.keycode, key[1] = status
+ if status == bge.logic.KX_INPUT_JUST_ACTIVATED:
+ if key == bge.events.WKEY:
+ # Activate Forward!
+ if key == bge.events.SKEY:
+ # Activate Backward!
+ if key == bge.events.AKEY:
+ # Activate Left!
+ if key == bge.events.DKEY:
+ # Activate Right!
+
+.. code-block:: python
+
+ # The all keys thing without a keyboard sensor (but you will
+ # need an always sensor with pulse mode on)
+ import bge
+
+ # Just shortening names here
+ keyboard = bge.logic.keyboard
+ JUST_ACTIVATED = bge.logic.KX_INPUT_JUST_ACTIVATED
+
+ if keyboard.events[bge.events.WKEY] == JUST_ACTIVATED:
+ print("Activate Forward!")
+ if keyboard.events[bge.events.SKEY] == JUST_ACTIVATED:
+ print("Activate Backward!")
+ if keyboard.events[bge.events.AKEY] == JUST_ACTIVATED:
+ print("Activate Left!")
+ if keyboard.events[bge.events.DKEY] == JUST_ACTIVATED:
+ print("Activate Right!")
+
+
+*********
+Functions
+*********
+
+.. function:: EventToString(event)
+
+ Return the string name of a key event. Will raise a ValueError error if its invalid.
+
+ :arg event: key event from bge.keys or the keyboard sensor.
+ :type event: int
+ :rtype: string
+
+.. function:: EventToCharacter(event, shift)
+
+ Return the string name of a key event. Returns an empty string if the event cant be represented as a character.
+
+ :type event: int
+ :arg event: key event from :mod:`bge.keys` or the keyboard sensor.
+ :type shift: bool
+ :arg shift: set to true if shift is held.
+ :rtype: string
+
+****************
+Keys (Constants)
+****************
+
+.. _mouse-keys:
+
+==========
+Mouse Keys
+==========
+
+.. data:: LEFTMOUSE
+.. data:: MIDDLEMOUSE
+.. data:: RIGHTMOUSE
+.. data:: WHEELUPMOUSE
+.. data:: WHEELDOWNMOUSE
+.. data:: MOUSEX
+.. data:: MOUSEY
+
+.. _keyboard-keys:
+
+=============
+Keyboard Keys
+=============
+
+-------------
+Alphabet keys
+-------------
+
+.. data:: AKEY
+.. data:: BKEY
+.. data:: CKEY
+.. data:: DKEY
+.. data:: EKEY
+.. data:: FKEY
+.. data:: GKEY
+.. data:: HKEY
+.. data:: IKEY
+.. data:: JKEY
+.. data:: KKEY
+.. data:: LKEY
+.. data:: MKEY
+.. data:: NKEY
+.. data:: OKEY
+.. data:: PKEY
+.. data:: QKEY
+.. data:: RKEY
+.. data:: SKEY
+.. data:: TKEY
+.. data:: UKEY
+.. data:: VKEY
+.. data:: WKEY
+.. data:: XKEY
+.. data:: YKEY
+.. data:: ZKEY
+
+-----------
+Number keys
+-----------
+
+.. data:: ZEROKEY
+.. data:: ONEKEY
+.. data:: TWOKEY
+.. data:: THREEKEY
+.. data:: FOURKEY
+.. data:: FIVEKEY
+.. data:: SIXKEY
+.. data:: SEVENKEY
+.. data:: EIGHTKEY
+.. data:: NINEKEY
+
+--------------
+Modifiers Keys
+--------------
+
+.. data:: CAPSLOCKKEY
+.. data:: LEFTCTRLKEY
+.. data:: LEFTALTKEY
+.. data:: RIGHTALTKEY
+.. data:: RIGHTCTRLKEY
+.. data:: RIGHTSHIFTKEY
+.. data:: LEFTSHIFTKEY
+
+----------
+Arrow Keys
+----------
+
+.. data:: LEFTARROWKEY
+.. data:: DOWNARROWKEY
+.. data:: RIGHTARROWKEY
+.. data:: UPARROWKEY
+
+--------------
+Numberpad Keys
+--------------
+
+.. data:: PAD0
+.. data:: PAD1
+.. data:: PAD2
+.. data:: PAD3
+.. data:: PAD4
+.. data:: PAD5
+.. data:: PAD6
+.. data:: PAD7
+.. data:: PAD8
+.. data:: PAD9
+.. data:: PADPERIOD
+.. data:: PADSLASHKEY
+.. data:: PADASTERKEY
+.. data:: PADMINUS
+.. data:: PADENTER
+.. data:: PADPLUSKEY
+
+-------------
+Function Keys
+-------------
+
+.. data:: F1KEY
+.. data:: F2KEY
+.. data:: F3KEY
+.. data:: F4KEY
+.. data:: F5KEY
+.. data:: F6KEY
+.. data:: F7KEY
+.. data:: F8KEY
+.. data:: F9KEY
+.. data:: F10KEY
+.. data:: F11KEY
+.. data:: F12KEY
+.. data:: F13KEY
+.. data:: F14KEY
+.. data:: F15KEY
+.. data:: F16KEY
+.. data:: F17KEY
+.. data:: F18KEY
+.. data:: F19KEY
+
+----------
+Other Keys
+----------
+
+.. data:: ACCENTGRAVEKEY
+.. data:: BACKSLASHKEY
+.. data:: BACKSPACEKEY
+.. data:: COMMAKEY
+.. data:: DELKEY
+.. data:: ENDKEY
+.. data:: EQUALKEY
+.. data:: ESCKEY
+.. data:: HOMEKEY
+.. data:: INSERTKEY
+.. data:: LEFTBRACKETKEY
+.. data:: LINEFEEDKEY
+.. data:: MINUSKEY
+.. data:: PAGEDOWNKEY
+.. data:: PAGEUPKEY
+.. data:: PAUSEKEY
+.. data:: PERIODKEY
+.. data:: QUOTEKEY
+.. data:: RIGHTBRACKETKEY
+.. data:: RETKEY (Deprecated: use bge.events.ENTERKEY)
+.. data:: ENTERKEY
+.. data:: SEMICOLONKEY
+.. data:: SLASHKEY
+.. data:: SPACEKEY
+.. data:: TABKEY
diff --git a/doc/python_api/rst/bge.logic.rst b/doc/python_api/rst/bge.logic.rst
new file mode 100644
index 00000000000..798491b4710
--- /dev/null
+++ b/doc/python_api/rst/bge.logic.rst
@@ -0,0 +1,949 @@
+
+Game Logic (bge.logic)
+======================
+
+*****
+Intro
+*****
+
+Module to access logic functions, imported automatically into the python controllers namespace.
+
+.. module:: bge.logic
+
+.. code-block:: python
+
+ # To get the controller thats running this python script:
+ cont = bge.logic.getCurrentController() # bge.logic is automatically imported
+
+ # To get the game object this controller is on:
+ obj = cont.owner
+
+:class:`~bge.types.KX_GameObject` and :class:`~bge.types.KX_Camera` or :class:`~bge.types.KX_LightObject` methods are available depending on the type of object
+
+.. code-block:: python
+
+ # To get a sensor linked to this controller.
+ # "sensorname" is the name of the sensor as defined in the Blender interface.
+ # +---------------------+ +--------+
+ # | Sensor "sensorname" +--+ Python +
+ # +---------------------+ +--------+
+ sens = cont.sensors["sensorname"]
+
+ # To get a sequence of all sensors:
+ sensors = co.sensors
+
+See the sensor's reference for available methods:
+
+.. hlist::
+ :columns: 3
+
+ * :class:`~bge.types.KX_MouseFocusSensor`
+ * :class:`~bge.types.KX_NearSensor`
+ * :class:`~bge.types.KX_NetworkMessageSensor`
+ * :class:`~bge.types.KX_RadarSensor`
+ * :class:`~bge.types.KX_RaySensor`
+ * :class:`~bge.types.KX_TouchSensor`
+ * :class:`~bge.types.SCA_DelaySensor`
+ * :class:`~bge.types.SCA_JoystickSensor`
+ * :class:`~bge.types.SCA_KeyboardSensor`
+ * :class:`~bge.types.SCA_MouseSensor`
+ * :class:`~bge.types.SCA_PropertySensor`
+ * :class:`~bge.types.SCA_RandomSensor`
+
+You can also access actuators linked to the controller
+
+.. code-block:: python
+
+ # To get an actuator attached to the controller:
+ # +--------+ +-------------------------+
+ # + Python +--+ Actuator "actuatorname" |
+ # +--------+ +-------------------------+
+ actuator = co.actuators["actuatorname"]
+
+ # Activate an actuator
+ controller.activate(actuator)
+
+See the actuator's reference for available methods
+
+.. hlist::
+ :columns: 3
+
+ * :class:`~bge.types.BL_ActionActuator`
+ * :class:`~bge.types.BL_ShapeActionActuator`
+ * :class:`~bge.types.KX_CameraActuator`
+ * :class:`~bge.types.KX_ConstraintActuator`
+ * :class:`~bge.types.KX_GameActuator`
+ * :class:`~bge.types.KX_IpoActuator`
+ * :class:`~bge.types.KX_NetworkMessageActuator`
+ * :class:`~bge.types.KX_ObjectActuator`
+ * :class:`~bge.types.KX_ParentActuator`
+ * :class:`~bge.types.KX_SCA_AddObjectActuator`
+ * :class:`~bge.types.KX_SCA_DynamicActuator`
+ * :class:`~bge.types.KX_SCA_EndObjectActuator`
+ * :class:`~bge.types.KX_SCA_ReplaceMeshActuator`
+ * :class:`~bge.types.KX_SceneActuator`
+ * :class:`~bge.types.KX_SoundActuator`
+ * :class:`~bge.types.KX_StateActuator`
+ * :class:`~bge.types.KX_TrackToActuator`
+ * :class:`~bge.types.KX_VisibilityActuator`
+ * :class:`~bge.types.SCA_2DFilterActuator`
+ * :class:`~bge.types.SCA_PropertyActuator`
+ * :class:`~bge.types.SCA_RandomActuator`
+
+Most logic brick's methods are accessors for the properties available in the logic buttons.
+Consult the logic bricks documentation for more information on how each logic brick works.
+
+There are also methods to access the current :class:`bge.types.KX_Scene`
+
+.. code-block:: python
+
+ # Get the current scene
+ scene = bge.logic.getCurrentScene()
+
+ # Get the current camera
+ cam = scene.active_camera
+
+Matricies as used by the game engine are **row major**
+``matrix[row][col] = float``
+
+:class:`bge.types.KX_Camera` has some examples using matricies.
+
+*********
+Variables
+*********
+
+.. data:: globalDict
+
+ A dictionary that is saved between loading blend files so you can use it to store inventory and other variables you want to store between scenes and blend files.
+ It can also be written to a file and loaded later on with the game load/save actuators.
+
+ .. note:: only python built in types such as int/string/bool/float/tuples/lists can be saved, GameObjects, Actuators etc will not work as expected.
+
+.. data:: keyboard
+
+ The current keyboard wrapped in an :class:`~bge.types.SCA_PythonKeyboard` object.
+
+.. data:: mouse
+
+ The current mouse wrapped in an :class:`~bge.types.SCA_PythonMouse` object.
+
+*****************
+General functions
+*****************
+
+.. function:: getCurrentController()
+
+ Gets the Python controller associated with this Python script.
+
+ :rtype: :class:`bge.types.SCA_PythonController`
+
+.. function:: getCurrentScene()
+
+ Gets the current Scene.
+
+ :rtype: :class:`bge.types.KX_Scene`
+
+.. function:: getSceneList()
+
+ Gets a list of the current scenes loaded in the game engine.
+
+ :rtype: list of :class:`bge.types.KX_Scene`
+
+ .. note:: Scenes in your blend file that have not been converted wont be in this list. This list will only contain scenes such as overlays scenes.
+
+.. function:: loadGlobalDict()
+
+ Loads bge.logic.globalDict from a file.
+
+.. function:: saveGlobalDict()
+
+ Saves bge.logic.globalDict to a file.
+
+.. function:: startGame(blend)
+
+ Loads the blend file.
+
+ :arg blend: The name of the blend file
+ :type blend: string
+
+.. function:: endGame()
+
+ Ends the current game.
+
+.. function:: restartGame()
+
+ Restarts the current game by reloading the .blend file (the last saved version, not what is currently running).
+
+.. function:: LibLoad(blend, type, data, load_actions=False, verbose=False)
+
+ Converts the all of the datablocks of the given type from the given blend.
+
+ :arg blend: The path to the blend file (or the name to use for the library if data is supplied)
+ :type blend: string
+ :arg type: The datablock type (currently only "Action", "Mesh" and "Scene" are supported)
+ :type type: string
+ :arg data: Binary data from a blend file (optional)
+ :type data: bytes
+ :arg load_actions: Search for and load all actions in a given Scene and not just the "active" actions (Scene type only)
+ :type load_actions: bool
+ :arg verbose: Whether or not to print debugging information (e.g., "SceneName: Scene")
+ :type verbose: bool
+
+.. function:: LibNew(name, type, data)
+
+ Uses existing datablock data and loads in as a new library.
+
+ :arg name: A unique library name used for removal later
+ :type name: string
+ :arg type: The datablock type (currently only "Mesh" is supported)
+ :type type: string
+ :arg data: A list of names of the datablocks to load
+ :type data: list of strings
+
+.. function:: LibFree(name)
+
+ Frees a library, removing all objects and meshes from the currently active scenes.
+
+ :arg name: The name of the library to free (the name used in LibNew)
+ :type name: string
+
+.. function:: LibList()
+
+ Returns a list of currently loaded libraries.
+
+ :rtype: list [str]
+
+.. function:: addScene(name, overlay=1)
+
+ Loads a scene into the game engine.
+
+ .. note::
+
+ This function is not effective immediately, the scene is queued
+ and added on the next logic cycle where it will be available
+ from `getSceneList`
+
+ :arg name: The name of the scene
+ :type name: string
+ :arg overlay: Overlay or underlay (optional)
+ :type overlay: integer
+
+.. function:: sendMessage(subject, body="", to="", message_from="")
+
+ Sends a message to sensors in any active scene.
+
+ :arg subject: The subject of the message
+ :type subject: string
+ :arg body: The body of the message (optional)
+ :type body: string
+ :arg to: The name of the object to send the message to (optional)
+ :type to: string
+ :arg message_from: The name of the object that the message is coming from (optional)
+ :type message_from: string
+
+.. function:: setGravity(gravity)
+
+ Sets the world gravity.
+
+ :type gravity: list [fx, fy, fz]
+
+.. function:: getSpectrum()
+
+ Returns a 512 point list from the sound card.
+ This only works if the fmod sound driver is being used.
+
+ :rtype: list [float], len(getSpectrum()) == 512
+
+.. function:: stopDSP()
+
+ Stops the sound driver using DSP effects.
+
+ Only the fmod sound driver supports this.
+ DSP can be computationally expensive.
+
+.. function:: getMaxLogicFrame()
+
+ Gets the maximum number of logic frames per render frame.
+
+ :return: The maximum number of logic frames per render frame
+ :rtype: integer
+
+.. function:: setMaxLogicFrame(maxlogic)
+
+ Sets the maximum number of logic frames that are executed per render frame.
+ This does not affect the physic system that still runs at full frame rate.
+
+ :arg maxlogic: The new maximum number of logic frames per render frame. Valid values: 1..5
+ :type maxlogic: integer
+
+.. function:: getMaxPhysicsFrame()
+
+ Gets the maximum number of physics frames per render frame.
+
+ :return: The maximum number of physics frames per render frame
+ :rtype: integer
+
+.. function:: setMaxPhysicsFrame(maxphysics)
+
+ Sets the maximum number of physics timestep that are executed per render frame.
+ Higher value allows physics to keep up with realtime even if graphics slows down the game.
+ Physics timestep is fixed and equal to 1/tickrate (see setLogicTicRate)
+ maxphysics/ticrate is the maximum delay of the renderer that physics can compensate.
+
+ :arg maxphysics: The new maximum number of physics timestep per render frame. Valid values: 1..5.
+ :type maxphysics: integer
+
+.. function:: getLogicTicRate()
+
+ Gets the logic update frequency.
+
+ :return: The logic frequency in Hz
+ :rtype: float
+
+.. function:: setLogicTicRate(ticrate)
+
+ Sets the logic update frequency.
+
+ The logic update frequency is the number of times logic bricks are executed every second.
+ The default is 60 Hz.
+
+ :arg ticrate: The new logic update frequency (in Hz).
+ :type ticrate: float
+
+.. function:: getPhysicsTicRate()
+
+ Gets the physics update frequency
+
+ :return: The physics update frequency in Hz
+ :rtype: float
+
+ .. warning: Not implimented yet
+
+.. function:: setPhysicsTicRate(ticrate)
+
+ Sets the physics update frequency
+
+ The physics update frequency is the number of times the physics system is executed every second.
+ The default is 60 Hz.
+
+ :arg ticrate: The new update frequency (in Hz).
+ :type ticrate: float
+
+ .. warning: Not implimented yet
+
+*****************
+Utility functions
+*****************
+
+.. function:: expandPath(path)
+
+ Converts a blender internal path into a proper file system path.
+
+ Use / as directory separator in path
+ You can use '//' at the start of the string to define a relative path;
+ Blender replaces that string by the directory of the startup .blend or runtime file
+ to make a full path name (doesn't change during the game, even if you load other .blend).
+ The function also converts the directory separator to the local file system format.
+
+ :arg path: The path string to be converted/expanded.
+ :type path: string
+ :return: The converted string
+ :rtype: string
+
+.. function:: getAverageFrameRate()
+
+ Gets the estimated/average framerate for all the active scenes, not only the current scene.
+
+ :return: The estimated average framerate in frames per second
+ :rtype: float
+
+.. function:: getBlendFileList(path = "//")
+
+ Returns a list of blend files in the same directory as the open blend file, or from using the option argument.
+
+ :arg path: Optional directory argument, will be expanded (like expandPath) into the full path.
+ :type path: string
+ :return: A list of filenames, with no directory prefix
+ :rtype: list
+
+.. function:: getRandomFloat()
+
+ Returns a random floating point value in the range [0 - 1)
+
+.. function:: PrintGLInfo()
+
+ Prints GL Extension Info into the console
+
+*********
+Constants
+*********
+
+.. data:: KX_TRUE
+
+ True value used by some modules.
+
+.. data:: KX_FALSE
+
+ False value used by some modules.
+
+=======
+Sensors
+=======
+
+.. _sensor-status:
+
+-------------
+Sensor Status
+-------------
+
+.. data:: KX_SENSOR_INACTIVE
+.. data:: KX_SENSOR_JUST_ACTIVATED
+.. data:: KX_SENSOR_ACTIVE
+.. data:: KX_SENSOR_JUST_DEACTIVATED
+
+.. _logic-property-sensor:
+
+---------------
+Property Sensor
+---------------
+
+.. data:: KX_PROPSENSOR_EQUAL
+
+ Activate when the property is equal to the sensor value.
+
+ :value: 1
+
+.. data:: KX_PROPSENSOR_NOTEQUAL
+
+ Activate when the property is not equal to the sensor value.
+
+ :value: 2
+
+.. data:: KX_PROPSENSOR_INTERVAL
+
+ Activate when the property is between the specified limits.
+
+ :value: 3
+
+.. data:: KX_PROPSENSOR_CHANGED
+
+ Activate when the property changes
+
+ :value: 4
+
+.. data:: KX_PROPSENSOR_EXPRESSION
+
+ Activate when the expression matches
+
+ :value: 5
+
+------------
+Radar Sensor
+------------
+
+See :class:`bge.types.KX_RadarSensor`
+
+.. data:: KX_RADAR_AXIS_POS_X
+.. data:: KX_RADAR_AXIS_POS_Y
+.. data:: KX_RADAR_AXIS_POS_Z
+.. data:: KX_RADAR_AXIS_NEG_X
+.. data:: KX_RADAR_AXIS_NEG_Y
+.. data:: KX_RADAR_AXIS_NEG_Z
+
+----------
+Ray Sensor
+----------
+
+See :class:`bge.types.KX_RaySensor`
+
+.. data:: KX_RAY_AXIS_POS_X
+.. data:: KX_RAY_AXIS_POS_Y
+.. data:: KX_RAY_AXIS_POS_Z
+.. data:: KX_RAY_AXIS_NEG_X
+.. data:: KX_RAY_AXIS_NEG_Y
+.. data:: KX_RAY_AXIS_NEG_Z
+
+
+=========
+Actuators
+=========
+
+.. _action-actuator:
+
+---------------
+Action Actuator
+---------------
+
+See :class:`bge.types.BL_ActionActuator`
+
+.. data:: KX_ACTIONACT_PLAY
+.. data:: KX_ACTIONACT_FLIPPER
+.. data:: KX_ACTIONACT_LOOPSTOP
+.. data:: KX_ACTIONACT_LOOPEND
+.. data:: KX_ACTIONACT_PROPERTY
+
+-------------------
+Constraint Actuator
+-------------------
+
+.. _constraint-actuator-option:
+
+See :class:`bge.types.KX_ConstraintActuator.option`
+
+* Applicable to Distance constraint:
+
+ .. data:: KX_ACT_CONSTRAINT_NORMAL
+
+ Activate alignment to surface
+
+ .. data:: KX_ACT_CONSTRAINT_DISTANCE
+
+ Activate distance control
+
+ .. data:: KX_ACT_CONSTRAINT_LOCAL
+
+ Direction of the ray is along the local axis
+
+* Applicable to Force field constraint:
+
+ .. data:: KX_ACT_CONSTRAINT_DOROTFH
+
+ Force field act on rotation as well
+
+* Applicable to both:
+
+ .. data:: KX_ACT_CONSTRAINT_MATERIAL
+
+ Detect material rather than property
+
+ .. data:: KX_ACT_CONSTRAINT_PERMANENT
+
+ No deactivation if ray does not hit target
+
+.. _constraint-actuator-limit:
+
+See :class:`bge.types.KX_ConstraintActuator.limit`
+
+.. data:: KX_CONSTRAINTACT_LOCX
+
+ Limit X coord.
+
+.. data:: KX_CONSTRAINTACT_LOCY
+
+ Limit Y coord
+
+.. data:: KX_CONSTRAINTACT_LOCZ
+
+ Limit Z coord
+
+.. data:: KX_CONSTRAINTACT_ROTX
+
+ Limit X rotation
+
+.. data:: KX_CONSTRAINTACT_ROTY
+
+ Limit Y rotation
+
+.. data:: KX_CONSTRAINTACT_ROTZ
+
+ Limit Z rotation
+
+.. data:: KX_CONSTRAINTACT_DIRNX
+
+ Set distance along negative X axis
+
+.. data:: KX_CONSTRAINTACT_DIRNY
+
+ Set distance along negative Y axis
+
+.. data:: KX_CONSTRAINTACT_DIRNZ
+
+ Set distance along negative Z axis
+
+.. data:: KX_CONSTRAINTACT_DIRPX
+
+ Set distance along positive X axis
+
+.. data:: KX_CONSTRAINTACT_DIRPY
+
+ Set distance along positive Y axis
+
+.. data:: KX_CONSTRAINTACT_DIRPZ
+
+ Set distance along positive Z axis
+
+.. data:: KX_CONSTRAINTACT_ORIX
+
+ Set orientation of X axis
+
+.. data:: KX_CONSTRAINTACT_ORIY
+
+ Set orientation of Y axis
+
+.. data:: KX_CONSTRAINTACT_ORIZ
+
+ Set orientation of Z axis
+
+.. data:: KX_ACT_CONSTRAINT_FHNX
+
+ Set force field along negative X axis
+
+.. data:: KX_ACT_CONSTRAINT_FHNY
+
+ Set force field along negative Y axis
+
+.. data:: KX_ACT_CONSTRAINT_FHNZ
+
+ Set force field along negative Z axis
+
+.. data:: KX_ACT_CONSTRAINT_FHPX
+
+ Set force field along positive X axis
+
+.. data:: KX_ACT_CONSTRAINT_FHPY
+
+ Set force field along positive Y axis
+
+.. data:: KX_ACT_CONSTRAINT_FHPZ
+
+ Set force field along positive Z axis
+
+----------------
+Dynamic Actuator
+----------------
+
+See :class:`bge.types.KX_SCA_DynamicActuator`
+
+.. data:: KX_DYN_RESTORE_DYNAMICS
+.. data:: KX_DYN_DISABLE_DYNAMICS
+.. data:: KX_DYN_ENABLE_RIGID_BODY
+.. data:: KX_DYN_DISABLE_RIGID_BODY
+.. data:: KX_DYN_SET_MASS
+
+.. _game-actuator:
+
+-------------
+Game Actuator
+-------------
+
+See :class:`bge.types.KX_GameActuator`
+
+.. data:: KX_GAME_LOAD
+.. data:: KX_GAME_START
+.. data:: KX_GAME_RESTART
+.. data:: KX_GAME_QUIT
+.. data:: KX_GAME_SAVECFG
+.. data:: KX_GAME_LOADCFG
+
+.. _ipo-actuator:
+
+------------
+IPO Actuator
+------------
+
+See :class:`bge.types.KX_IpoActuator`
+
+.. data:: KX_IPOACT_PLAY
+.. data:: KX_IPOACT_PINGPONG
+.. data:: KX_IPOACT_FLIPPER
+.. data:: KX_IPOACT_LOOPSTOP
+.. data:: KX_IPOACT_LOOPEND
+.. data:: KX_IPOACT_FROM_PROP
+
+---------------
+Parent Actuator
+---------------
+
+.. data:: KX_PARENT_REMOVE
+.. data:: KX_PARENT_SET
+
+.. _logic-random-distributions:
+
+--------------------
+Random Distributions
+--------------------
+
+See :class:`bge.types.SCA_RandomActuator`
+
+.. data:: KX_RANDOMACT_BOOL_CONST
+.. data:: KX_RANDOMACT_BOOL_UNIFORM
+.. data:: KX_RANDOMACT_BOOL_BERNOUILLI
+.. data:: KX_RANDOMACT_INT_CONST
+.. data:: KX_RANDOMACT_INT_UNIFORM
+.. data:: KX_RANDOMACT_INT_POISSON
+.. data:: KX_RANDOMACT_FLOAT_CONST
+.. data:: KX_RANDOMACT_FLOAT_UNIFORM
+.. data:: KX_RANDOMACT_FLOAT_NORMAL
+.. data:: KX_RANDOMACT_FLOAT_NEGATIVE_EXPONENTIAL
+
+--------------
+Scene Actuator
+--------------
+
+See :class:`bge.types.KX_SceneActuator`
+
+.. data:: KX_SCENE_RESTART
+.. data:: KX_SCENE_SET_SCENE
+.. data:: KX_SCENE_SET_CAMERA
+.. data:: KX_SCENE_ADD_FRONT_SCENE
+.. data:: KX_SCENE_ADD_BACK_SCENE
+.. data:: KX_SCENE_REMOVE_SCENE
+.. data:: KX_SCENE_SUSPEND
+.. data:: KX_SCENE_RESUME
+
+.. _shape-action-actuator:
+
+---------------------
+Shape Action Actuator
+---------------------
+
+See :class:`bge.types.BL_ActionActuator`
+
+.. data:: KX_ACTIONACT_PLAY
+.. data:: KX_ACTIONACT_FLIPPER
+.. data:: KX_ACTIONACT_LOOPSTOP
+.. data:: KX_ACTIONACT_LOOPEND
+.. data:: KX_ACTIONACT_PROPERTY
+
+.. _logic-sound-actuator:
+
+--------------
+Sound Actuator
+--------------
+
+See :class:`bge.types.KX_SoundActuator`
+
+.. data:: KX_SOUNDACT_PLAYSTOP
+
+ :value: 1
+
+.. data:: KX_SOUNDACT_PLAYEND
+
+ :value: 2
+
+.. data:: KX_SOUNDACT_LOOPSTOP
+
+ :value: 3
+
+.. data:: KX_SOUNDACT_LOOPEND
+
+ :value: 4
+
+.. data:: KX_SOUNDACT_LOOPBIDIRECTIONAL
+
+ :value: 5
+
+.. data:: KX_SOUNDACT_LOOPBIDIRECTIONAL_STOP
+
+ :value: 6
+
+
+=======
+Various
+=======
+
+.. _input-status:
+
+------------
+Input Status
+------------
+
+See :class:`bge.types.SCA_PythonKeyboard`, :class:`bge.types.SCA_PythonMouse`, :class:`bge.types.SCA_MouseSensor`, :class:`bge.types.SCA_KeyboardSensor`
+
+.. data:: KX_INPUT_NONE
+.. data:: KX_INPUT_JUST_ACTIVATED
+.. data:: KX_INPUT_ACTIVE
+.. data:: KX_INPUT_JUST_RELEASED
+
+-------------
+Mouse Buttons
+-------------
+
+See :class:`bge.types.SCA_MouseSensor`
+
+.. data:: KX_MOUSE_BUT_LEFT
+.. data:: KX_MOUSE_BUT_MIDDLE
+.. data:: KX_MOUSE_BUT_RIGHT
+
+------
+States
+------
+
+See :class:`bge.types.KX_StateActuator`
+
+.. data:: KX_STATE1
+.. data:: KX_STATE2
+.. data:: KX_STATE3
+.. data:: KX_STATE4
+.. data:: KX_STATE5
+.. data:: KX_STATE6
+.. data:: KX_STATE7
+.. data:: KX_STATE8
+.. data:: KX_STATE9
+.. data:: KX_STATE10
+.. data:: KX_STATE11
+.. data:: KX_STATE12
+.. data:: KX_STATE13
+.. data:: KX_STATE14
+.. data:: KX_STATE15
+.. data:: KX_STATE16
+.. data:: KX_STATE17
+.. data:: KX_STATE18
+.. data:: KX_STATE19
+.. data:: KX_STATE20
+.. data:: KX_STATE21
+.. data:: KX_STATE22
+.. data:: KX_STATE23
+.. data:: KX_STATE24
+.. data:: KX_STATE25
+.. data:: KX_STATE26
+.. data:: KX_STATE27
+.. data:: KX_STATE28
+.. data:: KX_STATE29
+.. data:: KX_STATE30
+
+.. _state-actuator-operation:
+
+See :class:`bge.types.KX_StateActuator.operation`
+
+.. data:: KX_STATE_OP_CLR
+
+ Substract bits to state mask
+
+ :value: 0
+
+.. data:: KX_STATE_OP_CPY
+
+ Copy state mask
+
+ :value: 1
+
+.. data:: KX_STATE_OP_NEG
+
+ Invert bits to state mask
+
+ :value: 2
+
+.. data:: KX_STATE_OP_SET
+
+ Add bits to state mask
+
+ :value: 3
+
+.. _Two-D-FilterActuator-mode:
+
+---------
+2D Filter
+---------
+
+.. data:: RAS_2DFILTER_BLUR
+
+ :value: 2
+
+.. data:: RAS_2DFILTER_CUSTOMFILTER
+
+ Customer filter, the code code is set via shaderText property.
+
+ :value: 12
+
+.. data:: RAS_2DFILTER_DILATION
+
+ :value: 4
+
+.. data:: RAS_2DFILTER_DISABLED
+
+ Disable the filter that is currently active
+
+ :value: -1
+
+.. data:: RAS_2DFILTER_ENABLED
+
+ Enable the filter that was previously disabled
+
+ :value: -2
+
+.. data:: RAS_2DFILTER_EROSION
+
+ :value: 5
+
+.. data:: RAS_2DFILTER_GRAYSCALE
+
+ :value: 9
+
+.. data:: RAS_2DFILTER_INVERT
+
+ :value: 11
+
+.. data:: RAS_2DFILTER_LAPLACIAN
+
+ :value: 6
+
+.. data:: RAS_2DFILTER_MOTIONBLUR
+
+ Create and enable preset filters
+
+ :value: 1
+
+.. data:: RAS_2DFILTER_NOFILTER
+
+ Disable and destroy the filter that is currently active
+
+ :value: 0
+
+.. data:: RAS_2DFILTER_PREWITT
+
+ :value: 8
+
+.. data:: RAS_2DFILTER_SEPIA
+
+ :value: 10
+
+.. data:: RAS_2DFILTER_SHARPEN
+
+ :value: 3
+
+.. data:: RAS_2DFILTER_SOBEL
+
+ :value: 7
+
+------
+Shader
+------
+
+.. data:: VIEWMATRIX
+.. data:: VIEWMATRIX_INVERSE
+.. data:: VIEWMATRIX_INVERSETRANSPOSE
+.. data:: VIEWMATRIX_TRANSPOSE
+.. data:: MODELMATRIX
+.. data:: MODELMATRIX_INVERSE
+.. data:: MODELMATRIX_INVERSETRANSPOSE
+.. data:: MODELMATRIX_TRANSPOSE
+.. data:: MODELVIEWMATRIX
+.. data:: MODELVIEWMATRIX_INVERSE
+.. data:: MODELVIEWMATRIX_INVERSETRANSPOSE
+.. data:: MODELVIEWMATRIX_TRANSPOSE
+.. data:: CAM_POS
+
+ Current camera position
+
+.. data:: CONSTANT_TIMER
+
+ User a timer for the uniform value.
+
+.. data:: SHD_TANGENT
+
+----------------
+Blender Material
+----------------
+
+.. data:: BL_DST_ALPHA
+.. data:: BL_DST_COLOR
+.. data:: BL_ONE
+.. data:: BL_ONE_MINUS_DST_ALPHA
+.. data:: BL_ONE_MINUS_DST_COLOR
+.. data:: BL_ONE_MINUS_SRC_ALPHA
+.. data:: BL_ONE_MINUS_SRC_COLOR
+.. data:: BL_SRC_ALPHA
+.. data:: BL_SRC_ALPHA_SATURATE
+.. data:: BL_SRC_COLOR
+.. data:: BL_ZERO
diff --git a/doc/python_api/rst/bge.render.rst b/doc/python_api/rst/bge.render.rst
new file mode 100644
index 00000000000..eeb50a833ff
--- /dev/null
+++ b/doc/python_api/rst/bge.render.rst
@@ -0,0 +1,254 @@
+
+Rasterizer (bge.render)
+=======================
+
+*****
+Intro
+*****
+
+.. module:: bge.render
+
+.. code-block:: python
+
+ # Example Uses an L{SCA_MouseSensor}, and two L{KX_ObjectActuator}s to implement MouseLook::
+ # To use a mouse movement sensor "Mouse" and a
+ # motion actuator to mouse look:
+ import bge.render
+ import bge.logic
+
+ # scale sets the speed of motion
+ scale = 1.0, 0.5
+
+ co = bge.logic.getCurrentController()
+ obj = co.getOwner()
+ mouse = co.getSensor("Mouse")
+ lmotion = co.getActuator("LMove")
+ wmotion = co.getActuator("WMove")
+
+ # Transform the mouse coordinates to see how far the mouse has moved.
+ def mousePos():
+ x = (bge.render.getWindowWidth() / 2 - mouse.getXPosition()) * scale[0]
+ y = (bge.render.getWindowHeight() / 2 - mouse.getYPosition()) * scale[1]
+ return (x, y)
+
+ pos = mousePos()
+
+ # Set the amount of motion: X is applied in world coordinates...
+ lmotion.setTorque(0.0, 0.0, pos[0], False)
+ # ...Y is applied in local coordinates
+ wmotion.setTorque(-pos[1], 0.0, 0.0, True)
+
+ # Activate both actuators
+ bge.logic.addActiveActuator(lmotion, True)
+ bge.logic.addActiveActuator(wmotion, True)
+
+ # Centre the mouse
+ bge.render.setMousePosition(bge.render.getWindowWidth() / 2, bge.render.getWindowHeight() / 2)
+
+*********
+Constants
+*********
+
+.. data:: KX_TEXFACE_MATERIAL
+
+ Materials as defined by the texture face settings.
+
+.. data:: KX_BLENDER_MULTITEX_MATERIAL
+
+ Materials approximating blender materials with multitexturing.
+
+.. data:: KX_BLENDER_GLSL_MATERIAL
+
+ Materials approximating blender materials with GLSL.
+
+*********
+Functions
+*********
+
+.. function:: getWindowWidth()
+
+ Gets the width of the window (in pixels)
+
+ :rtype: integer
+
+.. function:: getWindowHeight()
+
+ Gets the height of the window (in pixels)
+
+ :rtype: integer
+
+.. function:: makeScreenshot(filename)
+
+ Writes a screenshot to the given filename.
+
+ If filename starts with // the image will be saved relative to the current directory.
+ If the filename contains # it will be replaced with the frame number.
+
+ The standalone player saves .png files. It does not support colour space conversion
+ or gamma correction.
+
+ When run from Blender, makeScreenshot supports Iris, IrisZ, TGA, Raw TGA, PNG, HamX, and Jpeg.
+ Gamma, Colourspace conversion and Jpeg compression are taken from the Render settings panels.
+
+ :type filename: string
+
+
+.. function:: enableVisibility(visible)
+
+ Doesn't really do anything...
+
+
+.. function:: showMouse(visible)
+
+ Enables or disables the operating system mouse cursor.
+
+ :type visible: boolean
+
+
+.. function:: setMousePosition(x, y)
+
+ Sets the mouse cursor position.
+
+ :type x: integer
+ :type y: integer
+
+
+.. function:: setBackgroundColor(rgba)
+
+ Sets the window background colour.
+
+ :type rgba: list [r, g, b, a]
+
+
+.. function:: setMistColor(rgb)
+
+ Sets the mist colour.
+
+ :type rgb: list [r, g, b]
+
+
+.. function:: setAmbientColor(rgb)
+
+ Sets the color of ambient light.
+
+ :type rgb: list [r, g, b]
+
+
+.. function:: setMistStart(start)
+
+ Sets the mist start value. Objects further away than start will have mist applied to them.
+
+ :type start: float
+
+
+.. function:: setMistEnd(end)
+
+ Sets the mist end value. Objects further away from this will be coloured solid with
+ the colour set by setMistColor().
+
+ :type end: float
+
+
+.. function:: disableMist()
+
+ Disables mist.
+
+ .. note:: Set any of the mist properties to enable mist.
+
+
+.. function:: setEyeSeparation(eyesep)
+
+ Sets the eye separation for stereo mode. Usually Focal Length/30 provides a confortable value.
+
+ :arg eyesep: The distance between the left and right eye.
+ :type eyesep: float
+
+
+.. function:: getEyeSeparation()
+
+ Gets the current eye separation for stereo mode.
+
+ :rtype: float
+
+
+.. function:: setFocalLength(focallength)
+
+ Sets the focal length for stereo mode. It uses the current camera focal length as initial value.
+
+ :arg focallength: The focal length.
+ :type focallength: float
+
+.. function:: getFocalLength()
+
+ Gets the current focal length for stereo mode.
+
+ :rtype: float
+
+.. function:: setMaterialMode(mode)
+
+ Set the material mode to use for OpenGL rendering.
+
+ :type mode: KX_TEXFACE_MATERIAL, KX_BLENDER_MULTITEX_MATERIAL, KX_BLENDER_GLSL_MATERIAL
+
+ .. note:: Changes will only affect newly created scenes.
+
+
+.. function:: getMaterialMode(mode)
+
+ Get the material mode to use for OpenGL rendering.
+
+ :rtype: KX_TEXFACE_MATERIAL, KX_BLENDER_MULTITEX_MATERIAL, KX_BLENDER_GLSL_MATERIAL
+
+
+.. function:: setGLSLMaterialSetting(setting, enable)
+
+ Enables or disables a GLSL material setting.
+
+ :type setting: string (lights, shaders, shadows, ramps, nodes, extra_textures)
+ :type enable: boolean
+
+
+.. function:: getGLSLMaterialSetting(setting, enable)
+
+ Get the state of a GLSL material setting.
+
+ :type setting: string (lights, shaders, shadows, ramps, nodes, extra_textures)
+ :rtype: boolean
+
+.. function:: setAnisotropicFiltering(level)
+
+ Set the anisotropic filtering level for textures.
+
+ :arg level: The new anisotropic filtering level to use
+ :type level: integer (must be one of 1, 2, 4, 8, 16)
+
+.. function:: getAnisotropicFiltering()
+
+ Get the anisotropic filtering level used for textures.
+
+ :rtype: integer (one of 1, 2, 4, 8, 16)
+
+.. function:: drawLine(fromVec,toVec,color)
+
+ Draw a line in the 3D scene.
+
+ :arg fromVec: the origin of the line
+ :type fromVec: list [x, y, z]
+ :arg toVec: the end of the line
+ :type toVec: list [x, y, z]
+ :arg color: the color of the line
+ :type color: list [r, g, b]
+
+
+.. function:: enableMotionBlur(factor)
+
+ Enable the motion blur effect.
+
+ :arg factor: the ammount of motion blur to display.
+ :type factor: float [0.0 - 1.0]
+
+
+.. function:: disableMotionBlur()
+
+ Disable the motion blur effect.
+
diff --git a/doc/python_api/rst/bge.texture.rst b/doc/python_api/rst/bge.texture.rst
new file mode 100644
index 00000000000..0b32c7a393b
--- /dev/null
+++ b/doc/python_api/rst/bge.texture.rst
@@ -0,0 +1,549 @@
+
+Video Texture (bge.texture)
+===========================
+
+*****
+Intro
+*****
+
+The bge.texture module allows you to manipulate textures during the game.
+
+Several sources for texture are possible: video files, image files, video capture, memory buffer, camera render or a mix of that.
+
+The video and image files can be loaded from the internet using an URL instead of a file name.
+
+In addition, you can apply filters on the images before sending them to the GPU, allowing video effect: blue screen, color band, gray, normal map.
+
+bge.texture uses FFmpeg to load images and videos. All the formats and codecs that FFmpeg supports are supported by this module, including but not limited to::
+
+* AVI
+* Ogg
+* Xvid
+* Theora
+* dv1394 camera
+* video4linux capture card (this includes many webcams)
+* videoForWindows capture card (this includes many webcams)
+* JPG
+
+The principle is simple: first you identify a texture on an existing object using
+the :materialID: function, then you create a new texture with dynamic content
+and swap the two textures in the GPU.
+
+The GE is not aware of the substitution and continues to display the object as always,
+except that you are now in control of the texture.
+
+When the texture object is deleted, the new texture is deleted and the old texture restored.
+
+.. module:: bge.texture
+
+.. literalinclude:: ../examples/bge.texture.py
+
+.. literalinclude:: ../examples/bge.texture.1.py
+
+.. class:: VideoFFmpeg(file [, capture=-1, rate=25.0, width=0, height=0])
+
+ FFmpeg video source
+
+ .. attribute:: status
+
+ video status
+
+ .. attribute:: range
+
+ replay range
+
+ .. attribute:: repeat
+
+ repeat count, -1 for infinite repeat
+
+ :type: int
+
+ .. attribute:: framerate
+
+ frame rate
+
+ :type: float
+
+ .. attribute:: valid
+
+ Tells if an image is available
+
+ :type: bool
+
+ .. attribute:: image
+
+ image data
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: preseek
+
+ number of frames of preseek
+
+ :type: int
+
+ .. attribute:: deinterlace
+
+ deinterlace image
+
+ :type: bool
+
+ .. method:: play()
+
+ Play (restart) video
+
+ .. method:: pause()
+
+ pause video
+
+ .. method:: stop()
+
+ stop video (play will replay it from start)
+
+ .. method:: refresh()
+
+ Refresh video - get its status
+
+.. class:: ImageFFmpeg(file)
+
+ FFmpeg image source
+
+ .. attribute:: status
+
+ video status
+
+ .. attribute:: valid
+
+ Tells if an image is available
+
+ :type: bool
+
+ .. attribute:: image
+
+ image data
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. method:: refresh()
+
+ Refresh image, i.e. load it
+
+ .. method:: reload([newname])
+
+ Reload image, i.e. reopen it
+
+.. class:: ImageBuff()
+
+ Image source from image buffer
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: image
+
+ image data
+
+ .. method:: load(imageBuffer, width, height)
+
+ Load image from buffer
+
+ .. method:: plot(imageBuffer, width, height, positionX, positionY)
+
+ update image buffer
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: valid
+
+ bool to tell if an image is available
+
+.. class:: ImageMirror(scene)
+
+ Image source from mirror
+
+ .. attribute:: alpha
+
+ use alpha in texture
+
+ .. attribute:: background
+
+ background color
+
+ .. attribute:: capsize
+
+ size of render area
+
+ .. attribute:: clip
+
+ clipping distance
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: image
+
+ image data
+
+ .. method:: refresh(imageMirror)
+
+ Refresh image - invalidate its current content
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: valid
+
+ bool to tell if an image is available
+
+ .. attribute:: whole
+
+ use whole viewport to render
+
+.. class:: ImageMix()
+
+ Image mixer
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. method:: getSource(imageMix)
+
+ get image source
+
+ .. method:: getWeight(imageMix)
+
+ get image source weight
+
+
+ .. attribute:: image
+
+ image data
+
+ .. method:: refresh(imageMix)
+
+ Refresh image - invalidate its current content
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. method:: setSource(imageMix)
+
+ set image source
+
+ .. method:: setWeight(imageMix)
+
+ set image source weight
+
+ .. attribute:: valid
+
+ bool to tell if an image is available
+
+.. class:: ImageRender(scene, camera)
+
+ Image source from render
+
+ .. attribute:: alpha
+
+ use alpha in texture
+
+ .. attribute:: background
+
+ background color
+
+ .. attribute:: capsize
+
+ size of render area
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: image
+
+ image data
+
+ .. method:: refresh(imageRender)
+
+ Refresh image - invalidate its current content
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: valid
+
+ bool to tell if an image is available
+
+ .. attribute:: whole
+
+ use whole viewport to render
+
+.. class:: ImageViewport()
+
+ Image source from viewport
+
+ .. attribute:: alpha
+
+ use alpha in texture
+
+ .. attribute:: capsize
+
+ size of viewport area being captured
+
+ .. attribute:: filter
+
+ pixel filter
+
+ .. attribute:: flip
+
+ flip image vertically
+
+ .. attribute:: image
+
+ image data
+
+ .. attribute:: position
+
+ upper left corner of captured area
+
+ .. method:: refresh(imageViewport)
+
+ Refresh image - invalidate its current content
+
+ .. attribute:: scale
+
+ fast scale of image (near neighbour)
+
+ .. attribute:: size
+
+ image size
+
+ .. attribute:: valid
+
+ bool to tell if an image is available
+
+ .. attribute:: whole
+
+ use whole viewport to capture
+
+.. class:: Texture(gameObj)
+
+ Texture objects
+
+ .. attribute:: bindId
+
+ OpenGL Bind Name
+
+ .. method:: close(texture)
+
+ Close dynamic texture and restore original
+
+ .. attribute:: mipmap
+
+ mipmap texture
+
+ .. method:: refresh(texture)
+
+ Refresh texture from source
+
+ .. attribute:: source
+
+ source of texture
+
+.. class:: FilterBGR24()
+
+ Source filter BGR24 objects
+
+.. class:: FilterBlueScreen()
+
+ Filter for Blue Screen objects
+
+ .. attribute:: color
+
+ blue screen color
+
+ .. attribute:: limits
+
+ blue screen color limits
+
+ .. attribute:: previous
+
+ previous pixel filter
+
+.. class:: FilterColor()
+
+ Filter for color calculations
+
+ .. attribute:: matrix
+
+ matrix [4][5] for color calculation
+
+ .. attribute:: previous
+
+ previous pixel filter
+
+.. class:: FilterGray()
+
+ Filter for gray scale effect
+
+ .. attribute:: previous
+
+ previous pixel filter
+
+.. class:: FilterLevel()
+
+ Filter for levels calculations
+
+ .. attribute:: levels
+
+ levels matrix [4] (min, max)
+
+ .. attribute:: previous
+
+ previous pixel filter
+
+.. class:: FilterNormal()
+
+ Filter for Blue Screen objects
+
+ .. attribute:: colorIdx
+
+ index of color used to calculate normal (0 - red, 1 - green, 2 - blue)
+
+ .. attribute:: depth
+
+ depth of relief
+
+ .. attribute:: previous
+
+ previous pixel filter
+
+.. class:: FilterRGB24()
+
+ Returns a new input filter object to be used with :class:`ImageBuff` object when the image passed
+ to the ImageBuff.load() function has the 3-bytes pixel format BGR.
+
+.. class:: FilterRGBA32()
+
+ Source filter RGBA32 objects
+
+.. function:: getLastError()
+
+ Last error that occurred in a bge.texture function.
+
+ :return: the description of the last error occurred in a bge.texture function.
+ :rtype: string
+
+.. function:: imageToArray(image,mode)
+
+ Returns a :class:`~bgl.buffer` corresponding to the current image stored in a texture source object.
+
+ :arg image: Image source object.
+ :type image: object of type :class:`VideoFFmpeg`, :class:`ImageFFmpeg`, :class:`ImageBuff`, :class:`ImageMix`, :class:`ImageRender`, :class:`ImageMirror` or :class:`ImageViewport`
+ :arg mode: optional argument representing the pixel format.
+ You can use the characters R, G, B for the 3 color channels, A for the alpha channel,
+ 0 to force a fixed 0 color channel and 1 to force a fixed 255 color channel.
+ Example: "BGR" will return 3 bytes per pixel with the Blue, Green and Red channels in that order.
+ "RGB1" will return 4 bytes per pixel with the Red, Green, Blue channels in that order and the alpha channel forced to 255.
+ The default mode is "RGBA".
+
+ :type mode: string
+ :rtype: :class:`~bgl.buffer`
+ :return: A object representing the image as one dimensional array of bytes of size (pixel_size*width*height),
+ line by line starting from the bottom of the image. The pixel size and format is determined by the mode
+ parameter.
+
+.. function materialID(object,name)
+
+ Returns a numeric value that can be used in :class:`Texture` to create a dynamic texture.
+
+ The value corresponds to an internal material number that uses the texture identified
+ by name. name is a string representing a texture name with IM prefix if you want to
+ identify the texture directly. This method works for basic tex face and for material,
+ provided the material has a texture channel using that particular texture in first
+ position of the texture stack. name can also have MA prefix if you want to identify
+ the texture by material. In that case the material must have a texture channel in first
+ position.
+
+ If the object has no material that matches name, it generates a runtime error. Use try/except to catch the exception.
+
+ Ex: bge.texture.materialID(obj, 'IMvideo.png')
+
+ :arg object: the game object that uses the texture you want to make dynamic
+ :type object: game object
+ :arg name: name of the texture/material you want to make dynamic.
+ :type name: string
+ :rtype: integer
+
+.. function setLogFile(filename)
+
+ Sets the name of a text file in which runtime error messages will be written, in addition to the printing
+ of the messages on the Python console. Only the runtime errors specific to the VideoTexture module
+ are written in that file, ordinary runtime time errors are not written.
+
+ :arg filename: name of error log file
+ :type filename: string
+ :rtype: integer
diff --git a/doc/python_api/rst/bge.types.rst b/doc/python_api/rst/bge.types.rst
new file mode 100644
index 00000000000..b1277df4c90
--- /dev/null
+++ b/doc/python_api/rst/bge.types.rst
@@ -0,0 +1,5285 @@
+
+Game Types (bge.types)
+======================
+
+.. module:: bge.types
+
+.. class:: PyObjectPlus
+
+ PyObjectPlus base class of most other types in the Game Engine.
+
+ .. attribute:: invalid
+
+ Test if the object has been freed by the game engine and is no longer valid.
+
+ Normally this is not a problem but when storing game engine data in the GameLogic module,
+ KX_Scenes or other KX_GameObjects its possible to hold a reference to invalid data.
+ Calling an attribute or method on an invalid object will raise a SystemError.
+
+ The invalid attribute allows testing for this case without exception handling.
+
+ :type: boolean
+
+.. class:: CValue(PyObjectPlus)
+
+ This class is a basis for other classes.
+
+ .. attribute:: name
+
+ The name of this CValue derived object (read-only).
+
+ :type: string
+
+.. class:: CPropValue(CValue)
+
+ This class has no python functions
+
+.. class:: SCA_ILogicBrick(CValue)
+
+ Base class for all logic bricks.
+
+ .. attribute:: executePriority
+
+ This determines the order controllers are evaluated, and actuators are activated (lower priority is executed first).
+
+ :type: executePriority: int
+
+ .. attribute:: owner
+
+ The game object this logic brick is attached to (read-only).
+
+ :type: :class:`KX_GameObject` or None in exceptional cases.
+
+ .. attribute:: name
+
+ The name of this logic brick (read-only).
+
+ :type: string
+
+.. class:: SCA_PythonKeyboard(PyObjectPlus)
+
+ The current keyboard.
+
+ .. attribute:: events
+
+ A dictionary containing the status of each keyboard event or key. (read-only).
+
+ :type: dictionary {:ref:`keycode<keyboard-keys>`::ref:`status<input-status>`, ...}
+
+.. class:: SCA_PythonMouse(PyObjectPlus)
+
+ The current mouse.
+
+ .. attribute:: events
+
+ a dictionary containing the status of each mouse event. (read-only).
+
+ :type: dictionary {:ref:`keycode<mouse-keys>`::ref:`status<input-status>`, ...}
+
+ .. attribute:: position
+
+ The normalized x and y position of the mouse cursor.
+
+ :type: list [x, y]
+
+ .. attribute:: visible
+
+ The visibility of the mouse cursor.
+
+ :type: boolean
+
+.. class:: SCA_IObject(CValue)
+
+ This class has no python functions
+
+.. class:: SCA_ISensor(SCA_ILogicBrick)
+
+ Base class for all sensor logic bricks.
+
+ .. attribute:: usePosPulseMode
+
+ Flag to turn positive pulse mode on and off.
+
+ :type: boolean
+
+ .. attribute:: useNegPulseMode
+
+ Flag to turn negative pulse mode on and off.
+
+ :type: boolean
+
+ .. attribute:: frequency
+
+ The frequency for pulse mode sensors.
+
+ :type: integer
+
+ .. attribute:: level
+
+ level Option whether to detect level or edge transition when entering a state.
+ It makes a difference only in case of logic state transition (state actuator).
+ A level detector will immediately generate a pulse, negative or positive
+ depending on the sensor condition, as soon as the state is activated.
+ A edge detector will wait for a state change before generating a pulse.
+ note: mutually exclusive with :data:`tap`, enabling will disable :data:`tap`.
+
+ :type: boolean
+
+ .. attribute:: tap
+
+ When enabled only sensors that are just activated will send a positive event,
+ after this they will be detected as negative by the controllers.
+ This will make a key thats held act as if its only tapped for an instant.
+ note: mutually exclusive with :data:`level`, enabling will disable :data:`level`.
+
+ :type: boolean
+
+ .. attribute:: invert
+
+ Flag to set if this sensor activates on positive or negative events.
+
+ :type: boolean
+
+ .. attribute:: triggered
+
+ True if this sensor brick is in a positive state. (read-only).
+
+ :type: boolean
+
+ .. attribute:: positive
+
+ True if this sensor brick is in a positive state. (read-only).
+
+ :type: boolean
+
+ .. attribute:: status
+
+ The status of the sensor (read-only): can be one of :ref:`these constants<sensor-status>`.
+
+ :type: int
+
+ .. note::
+
+ This convenient attribute combines the values of triggered and positive attributes.
+
+ .. method:: reset()
+
+ Reset sensor internal state, effect depends on the type of sensor and settings.
+
+ The sensor is put in its initial state as if it was just activated.
+
+.. class:: SCA_IController(SCA_ILogicBrick)
+
+ Base class for all controller logic bricks.
+
+ .. attribute:: state
+
+ The controllers state bitmask. This can be used with the GameObject's state to test if the controller is active.
+
+ :type: int bitmask
+
+ .. attribute:: sensors
+
+ A list of sensors linked to this controller.
+
+ :type: sequence supporting index/string lookups and iteration.
+
+ .. note::
+
+ The sensors are not necessarily owned by the same object.
+
+ .. note::
+
+ When objects are instanced in dupligroups links may be lost from objects outside the dupligroup.
+
+ .. attribute:: actuators
+
+ A list of actuators linked to this controller.
+
+ :type: sequence supporting index/string lookups and iteration.
+
+ .. note::
+
+ The sensors are not necessarily owned by the same object.
+
+ .. note::
+
+ When objects are instanced in dupligroups links may be lost from objects outside the dupligroup.
+
+ .. attribute:: useHighPriority
+
+ When set the controller executes always before all other controllers that dont have this set.
+
+ :type: boolen
+
+ .. note::
+
+ Order of execution between high priority controllers is not guaranteed.
+
+.. class:: SCA_IActuator(SCA_ILogicBrick)
+
+ Base class for all actuator logic bricks.
+
+.. class:: BL_ActionActuator(SCA_IActuator)
+
+ Action Actuators apply an action to an actor.
+
+ .. attribute:: action
+
+ The name of the action to set as the current action.
+
+ :type: string
+
+ .. attribute:: channelNames
+
+ A list of channel names that may be used with :data:`setChannel` and :data:`getChannel`.
+
+ :type: list of strings
+
+ .. attribute:: frameStart
+
+ Specifies the starting frame of the animation.
+
+ :type: float
+
+ .. attribute:: frameEnd
+
+ Specifies the ending frame of the animation.
+
+ :type: float
+
+ .. attribute:: blendIn
+
+ Specifies the number of frames of animation to generate when making transitions between actions.
+
+ :type: float
+
+ .. attribute:: priority
+
+ Sets the priority of this actuator. Actuators will lower priority numbers will override actuators with higher numbers.
+
+ :type: integer
+
+ .. attribute:: frame
+
+ Sets the current frame for the animation.
+
+ :type: float
+
+ .. attribute:: propName
+
+ Sets the property to be used in FromProp playback mode.
+
+ :type: string
+
+ .. attribute:: blendTime
+
+ Sets the internal frame timer. This property must be in the range from 0.0 to blendIn.
+
+ :type: float
+
+ .. attribute:: mode
+
+ The operation mode of the actuator. Can be one of :ref:`these constants<action-actuator>`.
+
+ :type: integer
+
+ .. attribute:: useContinue
+
+ The actions continue option, True or False. When True, the action will always play from where last left off, otherwise negative events to this actuator will reset it to its start frame.
+
+ :type: boolean
+
+ .. attribute:: framePropName
+
+ The name of the property that is set to the current frame number.
+
+ :type: string
+
+ .. method:: setChannel(channel, matrix)
+
+ Alternative to the 2 arguments, 4 arguments (channel, matrix, loc, size, quat) are also supported.
+
+ :arg channel: A string specifying the name of the bone channel, error raised if not in :data:`channelNames`.
+ :type channel: string
+ :arg matrix: A 4x4 matrix specifying the overriding transformation as an offset from the bone's rest position.
+ :arg matrix: list [[float]]
+
+ .. note::
+
+ These values are relative to the bones rest position, currently the api has no way to get this info (which is annoying), but can be worked around by using bones with a rest pose that has no translation.
+
+ .. method:: getChannel(channel)
+
+ :arg channel: A string specifying the name of the bone channel. error raised if not in :data:`channelNames`.
+ :type channel: string
+ :return: (loc, size, quat)
+ :rtype: tuple
+
+.. class:: BL_Shader(PyObjectPlus)
+
+ BL_Shader GLSL shaders.
+
+ TODO - Description
+
+ .. method:: setUniformfv(name, fList)
+
+ Set a uniform with a list of float values
+
+ :arg name: the uniform name
+ :type name: string
+ :arg fList: a list (2, 3 or 4 elements) of float values
+ :type fList: list[float]
+
+ .. method:: delSource()
+
+ Clear the shader. Use this method before the source is changed with :data:`setSource`.
+
+ .. method:: getFragmentProg()
+
+ Returns the fragment program.
+
+ :return: The fragment program.
+ :rtype: string
+
+ .. method:: getVertexProg()
+
+ Get the vertex program.
+
+ :return: The vertex program.
+ :rtype: string
+
+ .. method:: isValid()
+
+ Check if the shader is valid.
+
+ :return: True if the shader is valid
+ :rtype: boolean
+
+ .. method:: setAttrib(enum)
+
+ Set attribute location. (The parameter is ignored a.t.m. and the value of "tangent" is always used.)
+
+ :arg enum: attribute location value
+ :type enum: integer
+
+ .. method:: setNumberOfPasses( max_pass )
+
+ Set the maximum number of passes. Not used a.t.m.
+
+ :arg max_pass: the maximum number of passes
+ :type max_pass: integer
+
+ .. method:: setSampler(name, index)
+
+ Set uniform texture sample index.
+
+ :arg name: Uniform name
+ :type name: string
+ :arg index: Texture sample index.
+ :type index: integer
+
+ .. method:: setSource(vertexProgram, fragmentProgram)
+
+ Set the vertex and fragment programs
+
+ :arg vertexProgram: Vertex program
+ :type vertexProgram: string
+ :arg fragmentProgram: Fragment program
+ :type fragmentProgram: string
+
+ .. method:: setUniform1f(name, fx)
+
+ Set a uniform with 1 float value.
+
+ :arg name: the uniform name
+ :type name: string
+ :arg fx: Uniform value
+ :type fx: float
+
+ .. method:: setUniform1i(name, ix)
+
+ Set a uniform with an integer value.
+
+ :arg name: the uniform name
+ :type name: string
+ :arg ix: the uniform value
+ :type ix: integer
+
+ .. method:: setUniform2f(name, fx, fy)
+
+ Set a uniform with 2 float values
+
+ :arg name: the uniform name
+ :type name: string
+ :arg fx: first float value
+ :type fx: float
+
+ :arg fy: second float value
+ :type fy: float
+
+ .. method:: setUniform2i(name, ix, iy)
+
+ Set a uniform with 2 integer values
+
+ :arg name: the uniform name
+ :type name: string
+ :arg ix: first integer value
+ :type ix: integer
+ :arg iy: second integer value
+ :type iy: integer
+
+ .. method:: setUniform3f(name, fx, fy, fz)
+
+ Set a uniform with 3 float values.
+
+ :arg name: the uniform name
+ :type name: string
+ :arg fx: first float value
+ :type fx: float
+ :arg fy: second float value
+ :type fy: float
+ :arg fz: third float value
+ :type fz: float
+
+ .. method:: setUniform3i(name, ix, iy, iz)
+
+ Set a uniform with 3 integer values
+
+ :arg name: the uniform name
+ :type name: string
+ :arg ix: first integer value
+ :type ix: integer
+ :arg iy: second integer value
+ :type iy: integer
+ :arg iz: third integer value
+ :type iz: integer
+
+ .. method:: setUniform4f(name, fx, fy, fz, fw)
+
+ Set a uniform with 4 float values.
+
+ :arg name: the uniform name
+ :type name: string
+ :arg fx: first float value
+ :type fx: float
+ :arg fy: second float value
+ :type fy: float
+ :arg fz: third float value
+ :type fz: float
+ :arg fw: fourth float value
+ :type fw: float
+
+ .. method:: setUniform4i(name, ix, iy, iz, iw)
+
+ Set a uniform with 4 integer values
+
+ :arg name: the uniform name
+ :type name: string
+ :arg ix: first integer value
+ :type ix: integer
+ :arg iy: second integer value
+ :type iy: integer
+ :arg iz: third integer value
+ :type iz: integer
+ :arg iw: fourth integer value
+ :type iw: integer
+
+ .. method:: setUniformDef(name, type)
+
+ Define a new uniform
+
+ :arg name: the uniform name
+ :type name: string
+ :arg type: uniform type
+ :type type: UNI_NONE, UNI_INT, UNI_FLOAT, UNI_INT2, UNI_FLOAT2, UNI_INT3, UNI_FLOAT3, UNI_INT4, UNI_FLOAT4, UNI_MAT3, UNI_MAT4, UNI_MAX
+
+ .. method:: setUniformMatrix3(name, mat, transpose)
+
+ Set a uniform with a 3x3 matrix value
+
+ :arg name: the uniform name
+ :type name: string
+ :arg mat: A 3x3 matrix [[f, f, f], [f, f, f], [f, f, f]]
+ :type mat: 3x3 matrix
+ :arg transpose: set to True to transpose the matrix
+ :type transpose: boolean
+
+ .. method:: setUniformMatrix4(name, mat, transpose)
+
+ Set a uniform with a 4x4 matrix value
+
+ :arg name: the uniform name
+ :type name: string
+ :arg mat: A 4x4 matrix [[f, f, f, f], [f, f, f, f], [f, f, f, f], [f, f, f, f]]
+ :type mat: 4x4 matrix
+ :arg transpose: set to True to transpose the matrix
+ :type transpose: boolean
+
+ .. method:: setUniformiv(name, iList)
+
+ Set a uniform with a list of integer values
+
+ :arg name: the uniform name
+ :type name: string
+ :arg iList: a list (2, 3 or 4 elements) of integer values
+ :type iList: list[integer]
+
+ .. method:: validate()
+
+ Validate the shader object.
+
+.. class:: BL_ShapeActionActuator(SCA_IActuator)
+
+ ShapeAction Actuators apply an shape action to an mesh object.
+
+ .. attribute:: action
+
+ The name of the action to set as the current shape action.
+
+ :type: string
+
+ .. attribute:: frameStart
+
+ Specifies the starting frame of the shape animation.
+
+ :type: float
+
+ .. attribute:: frameEnd
+
+ Specifies the ending frame of the shape animation.
+
+ :type: float
+
+ .. attribute:: blendIn
+
+ Specifies the number of frames of animation to generate when making transitions between actions.
+
+ :type: float
+
+ .. attribute:: priority
+
+ Sets the priority of this actuator. Actuators will lower priority numbers will override actuators with higher numbers.
+
+ :type: integer
+
+ .. attribute:: frame
+
+ Sets the current frame for the animation.
+
+ :type: float
+
+ .. attribute:: propName
+
+ Sets the property to be used in FromProp playback mode.
+
+ :type: string
+
+ .. attribute:: blendTime
+
+ Sets the internal frame timer. This property must be in the range from 0.0 to blendin.
+
+ :type: float
+
+ .. attribute:: mode
+
+ The operation mode of the actuator. Can be one of :ref:`these constants<shape-action-actuator>`.
+
+ :type: integer
+
+ .. attribute:: framePropName
+
+ The name of the property that is set to the current frame number.
+
+ :type: string
+
+.. class:: CListValue(CPropValue)
+
+ This is a list like object used in the game engine internally that behaves similar to a python list in most ways.
+
+ As well as the normal index lookup (``val= clist[i]``), CListValue supports string lookups (``val= scene.objects["Cube"]``)
+
+ Other operations such as ``len(clist)``, ``list(clist)``, ``clist[0:10]`` are also supported.
+
+ .. method:: append(val)
+
+ Add an item to the list (like pythons append)
+
+ .. warning::
+
+ Appending values to the list can cause crashes when the list is used internally by the game engine.
+
+ .. method:: count(val)
+
+ Count the number of instances of a value in the list.
+
+ :return: number of instances
+ :rtype: integer
+
+ .. method:: index(val)
+
+ Return the index of a value in the list.
+
+ :return: The index of the value in the list.
+ :rtype: integer
+
+ .. method:: reverse()
+
+ Reverse the order of the list.
+
+ .. method:: get(key, default=None)
+
+ Return the value matching key, or the default value if its not found.
+
+ :return: The key value or a default.
+
+ .. method:: from_id(id)
+
+ This is a funtion especially for the game engine to return a value with a spesific id.
+
+ Since object names are not always unique, the id of an object can be used to get an object from the CValueList.
+
+ Example:
+
+ .. code-block:: python
+
+ myObID=id(gameObject)
+ ob= scene.objects.from_id(myObID)
+
+ Where ``myObID`` is an int or long from the id function.
+
+ This has the advantage that you can store the id in places you could not store a gameObject.
+
+ .. warning::
+
+ The id is derived from a memory location and will be different each time the game engine starts.
+
+.. class:: KX_BlenderMaterial(PyObjectPlus)
+
+ KX_BlenderMaterial
+
+ .. method:: getShader()
+
+ Returns the material's shader.
+
+ :return: the material's shader
+ :rtype: :class:`BL_Shader`
+
+ .. method:: setBlending(src, dest)
+
+ Set the pixel color arithmetic functions.
+
+ :arg src: Specifies how the red, green, blue, and alpha source blending factors are computed.
+ :type src: Value in...
+
+ * GL_ZERO,
+ * GL_ONE,
+ * GL_SRC_COLOR,
+ * GL_ONE_MINUS_SRC_COLOR,
+ * GL_DST_COLOR,
+ * GL_ONE_MINUS_DST_COLOR,
+ * GL_SRC_ALPHA,
+ * GL_ONE_MINUS_SRC_ALPHA,
+ * GL_DST_ALPHA,
+ * GL_ONE_MINUS_DST_ALPHA,
+ * GL_SRC_ALPHA_SATURATE
+
+ :arg dest: Specifies how the red, green, blue, and alpha destination blending factors are computed.
+ :type dest: Value in...
+
+ * GL_ZERO
+ * GL_ONE
+ * GL_SRC_COLOR
+ * GL_ONE_MINUS_SRC_COLOR
+ * GL_DST_COLOR
+ * GL_ONE_MINUS_DST_COLOR
+ * GL_SRC_ALPHA
+ * GL_ONE_MINUS_SRC_ALPHA
+ * GL_DST_ALPHA
+ * GL_ONE_MINUS_DST_ALPHA
+ * GL_SRC_ALPHA_SATURATE
+
+ .. method:: getMaterialIndex()
+
+ Returns the material's index.
+
+ :return: the material's index
+ :rtype: integer
+
+.. class:: KX_CameraActuator(SCA_IActuator)
+
+ Applies changes to a camera.
+
+ .. attribute:: damping
+
+ strength of of the camera following movement.
+
+ :type: float
+
+ .. attribute:: min
+
+ minimum distance to the target object maintained by the actuator.
+
+ :type: float
+
+ .. attribute:: max
+
+ maximum distance to stay from the target object.
+
+ :type: float
+
+ .. attribute:: height
+
+ height to stay above the target object.
+
+ :type: float
+
+ .. attribute:: useXY
+
+ axis this actuator is tracking, True=X, False=Y.
+
+ :type: boolean
+
+ .. attribute:: object
+
+ the object this actuator tracks.
+
+ :type: :class:`KX_GameObject` or None
+
+.. class:: KX_ConstraintActuator(SCA_IActuator)
+
+ A constraint actuator limits the position, rotation, distance or orientation of an object.
+
+ .. attribute:: damp
+
+ Time constant of the constraint expressed in frame (not use by Force field constraint).
+
+ :type: integer
+
+ .. attribute:: rotDamp
+
+ Time constant for the rotation expressed in frame (only for the distance constraint), 0 = use damp for rotation as well.
+
+ :type: integer
+
+ .. attribute:: direction
+
+ The reference direction in world coordinate for the orientation constraint.
+
+ :type: 3-tuple of float: (x, y, z)
+
+ .. attribute:: option
+
+ Binary combination of :ref:`these constants <constraint-actuator-option>`
+
+ :type: integer
+
+ .. attribute:: time
+
+ activation time of the actuator. The actuator disables itself after this many frame. If set to 0, the actuator is not limited in time.
+
+ :type: integer
+
+ .. attribute:: propName
+
+ the name of the property or material for the ray detection of the distance constraint.
+
+ :type: string
+
+ .. attribute:: min
+
+ The lower bound of the constraint. For the rotation and orientation constraint, it represents radiant.
+
+ :type: float
+
+ .. attribute:: distance
+
+ the target distance of the distance constraint.
+
+ :type: float
+
+ .. attribute:: max
+
+ the upper bound of the constraint. For rotation and orientation constraints, it represents radiant.
+
+ :type: float
+
+ .. attribute:: rayLength
+
+ the length of the ray of the distance constraint.
+
+ :type: float
+
+ .. attribute:: limit
+
+ type of constraint. Use one of the :ref:`these constants <constraint-actuator-limit>`
+
+ :type: integer.
+
+
+.. class:: KX_ConstraintWrapper(PyObjectPlus)
+
+ KX_ConstraintWrapper
+
+ .. method:: getConstraintId(val)
+
+ Returns the contraint's ID
+
+ :return: the constraint's ID
+ :rtype: integer
+
+.. class:: KX_GameActuator(SCA_IActuator)
+
+ The game actuator loads a new .blend file, restarts the current .blend file or quits the game.
+
+ .. attribute:: fileName
+
+ the new .blend file to load.
+
+ :type: string
+
+ .. attribute:: mode
+
+ The mode of this actuator. Can be on of :ref:`these constants <game-actuator>`
+
+ :type: Int
+
+.. class:: KX_GameObject(SCA_IObject)
+
+ All game objects are derived from this class.
+
+ Properties assigned to game objects are accessible as attributes of this class.
+
+ .. note::
+
+ Calling ANY method or attribute on an object that has been removed from a scene will raise a SystemError, if an object may have been removed since last accessing it use the :data:`invalid` attribute to check.
+
+ .. attribute:: name
+
+ The object's name. (read-only).
+
+ :type: string
+
+ .. attribute:: mass
+
+ The object's mass
+
+ :type: float
+
+ .. note::
+
+ The object must have a physics controller for the mass to be applied, otherwise the mass value will be returned as 0.0.
+
+ .. attribute:: linVelocityMin
+
+ Enforces the object keeps moving at a minimum velocity.
+
+ :type: float
+
+ .. note::
+
+ Applies to dynamic and rigid body objects only.
+
+ .. note::
+
+ A value of 0.0 disables this option.
+
+ .. note::
+
+ While objects are stationary the minimum velocity will not be applied.
+
+ .. attribute:: linVelocityMax
+
+ Clamp the maximum linear velocity to prevent objects moving beyond a set speed.
+
+ :type: float
+
+ .. note::
+
+ Applies to dynamic and rigid body objects only.
+
+ .. note::
+
+ A value of 0.0 disables this option (rather then setting it stationary).
+
+ .. attribute:: localInertia
+
+ the object's inertia vector in local coordinates. Read only.
+
+ :type: list [ix, iy, iz]
+
+ .. attribute:: parent
+
+ The object's parent object. (read-only).
+
+ :type: :class:`KX_GameObject` or None
+
+ .. attribute:: visible
+
+ visibility flag.
+
+ :type: boolean
+
+ .. note::
+
+ Game logic will still run for invisible objects.
+
+ .. attribute:: color
+
+ The object color of the object. [r, g, b, a]
+
+ :type: :class:`mathutils.Vector`
+
+ .. attribute:: occlusion
+
+ occlusion capability flag.
+
+ :type: boolean
+
+ .. attribute:: position
+
+ The object's position. [x, y, z] On write: local position, on read: world position
+
+ .. deprecated:: use :data:`localPosition` and :data:`worldPosition`.
+
+ :type: :class:`mathurils.Vector`
+
+ .. attribute:: orientation
+
+ The object's orientation. 3x3 Matrix. You can also write a Quaternion or Euler vector. On write: local orientation, on read: world orientation
+
+ .. deprecated:: use :data:`localOrientation` and :data:`worldOrientation`.
+
+ :type: :class:`mathutils.Matrix`
+
+ .. attribute:: scaling
+
+ The object's scaling factor. [sx, sy, sz] On write: local scaling, on read: world scaling
+
+ .. deprecated:: use :data:`localScale` and :data:`worldScale`.
+
+ :type: :class:`mathutils.Vector`
+
+ .. attribute:: localOrientation
+
+ The object's local orientation. 3x3 Matrix. You can also write a Quaternion or Euler vector.
+
+ :type: :class:`mathutils.Matrix`
+
+ .. attribute:: worldOrientation
+
+ The object's world orientation. 3x3 Matrix.
+
+ :type: :class:`mathutils.Matrix`
+
+ .. attribute:: localScale
+
+ The object's local scaling factor. [sx, sy, sz]
+
+ :type: :class:`mathutils.Vector`
+
+ .. attribute:: worldScale
+
+ The object's world scaling factor. Read-only. [sx, sy, sz]
+
+ :type: :class:`mathutils.Vector`
+
+ .. attribute:: localPosition
+
+ The object's local position. [x, y, z]
+
+ :type: :class:`mathutils.Vector`
+
+ .. attribute:: worldPosition
+
+ The object's world position. [x, y, z]
+
+ :type: :class:`mathutils.Vector`
+
+ .. attribute:: localLinearVelocity
+
+ The object's local linear velocity. [x, y, z]
+
+ :type: :class:`mathutils.Vector`
+
+ .. attribute:: worldLinearVelocity
+
+ The object's world linear velocity. [x, y, z]
+
+ :type: :class:`mathutils.Vector`
+
+ .. attribute:: localAngularVelocity
+
+ The object's local angular velocity. [x, y, z]
+
+ :type: :class:`mathutils.Vector`
+
+ .. attribute:: worldAngularVelocity
+
+ The object's world angular velocity. [x, y, z]
+
+ :type: :class:`mathutils.Vector`
+
+ .. attribute:: timeOffset
+
+ adjust the slowparent delay at runtime.
+
+ :type: float
+
+ .. attribute:: state
+
+ the game object's state bitmask, using the first 30 bits, one bit must always be set.
+
+ :type: int
+
+ .. attribute:: meshes
+
+ a list meshes for this object.
+
+ :type: list of :class:`KX_MeshProxy`
+
+ .. note::
+
+ Most objects use only 1 mesh.
+
+ .. note::
+
+ Changes to this list will not update the KX_GameObject.
+
+ .. attribute:: sensors
+
+ a sequence of :class:`SCA_ISensor` objects with string/index lookups and iterator support.
+
+ :type: list
+
+ .. note::
+
+ This attribute is experemental and may be removed (but probably wont be).
+
+ .. note::
+
+ Changes to this list will not update the KX_GameObject.
+
+ .. attribute:: controllers
+
+ a sequence of :class:`SCA_IController` objects with string/index lookups and iterator support.
+
+ :type: list of :class:`SCA_ISensor`
+
+ .. note::
+
+ This attribute is experemental and may be removed (but probably wont be).
+
+ .. note::
+
+ Changes to this list will not update the KX_GameObject.
+
+ .. attribute:: actuators
+
+ a list of :class:`SCA_IActuator` with string/index lookups and iterator support.
+
+ :type: list
+
+ .. note::
+
+ This attribute is experemental and may be removed (but probably wont be).
+
+ .. note::
+
+ Changes to this list will not update the KX_GameObject.
+
+ .. attribute:: attrDict
+
+ get the objects internal python attribute dictionary for direct (faster) access.
+
+ :type: dict
+
+ .. attribute:: children
+
+ direct children of this object, (read-only).
+
+ :type: :class:`CListValue` of :class:`KX_GameObject`'s
+
+ .. attribute:: childrenRecursive
+
+ all children of this object including childrens children, (read-only).
+
+ :type: :class:`CListValue` of :class:`KX_GameObject`'s
+
+ .. method:: endObject()
+
+ Delete this object, can be used in place of the EndObject Actuator.
+
+ The actual removal of the object from the scene is delayed.
+
+ .. method:: replaceMesh(mesh, useDisplayMesh=True, usePhysicsMesh=False)
+
+ Replace the mesh of this object with a new mesh. This works the same was as the actuator.
+
+ :arg mesh: mesh to replace or the meshes name.
+ :type mesh: :class:`MeshProxy` or string
+ :arg useDisplayMesh: when enabled the display mesh will be replaced (optional argument).
+ :type useDisplayMesh: boolean
+ :arg usePhysicsMesh: when enabled the physics mesh will be replaced (optional argument).
+ :type usePhysicsMesh: boolean
+
+ .. method:: setVisible(visible, recursive)
+
+ Sets the game object's visible flag.
+
+ :arg visible: the visible state to set.
+ :type visible: boolean
+ :arg recursive: optional argument to set all childrens visibility flag too.
+ :type recursive: boolean
+
+ .. method:: setOcclusion(occlusion, recursive)
+
+ Sets the game object's occlusion capability.
+
+ :arg occlusion: the state to set the occlusion to.
+ :type occlusion: boolean
+ :arg recursive: optional argument to set all childrens occlusion flag too.
+ :type recursive: boolean
+
+ .. method:: alignAxisToVect(vect, axis=2, factor=1.0)
+
+ Aligns any of the game object's axis along the given vector.
+
+
+ :arg vect: a vector to align the axis.
+ :type vect: 3D vector
+ :arg axis: The axis you want to align
+
+ * 0: X axis
+ * 1: Y axis
+ * 2: Z axis
+
+ :type axis: integer
+ :arg factor: Only rotate a feaction of the distance to the target vector (0.0 - 1.0)
+ :type factor: float
+
+ .. method:: getAxisVect(vect)
+
+ Returns the axis vector rotates by the objects worldspace orientation.
+ This is the equivalent of multiplying the vector by the orientation matrix.
+
+ :arg vect: a vector to align the axis.
+ :type vect: 3D Vector
+ :return: The vector in relation to the objects rotation.
+ :rtype: 3d vector.
+
+ .. method:: applyMovement(movement, local=False)
+
+ Sets the game object's movement.
+
+ :arg movement: movement vector.
+ :type movement: 3D Vector
+ :arg local:
+ * False: you get the "global" movement ie: relative to world orientation.
+ * True: you get the "local" movement ie: relative to object orientation.
+ :arg local: boolean
+
+ .. method:: applyRotation(rotation, local=False)
+
+ Sets the game object's rotation.
+
+ :arg rotation: rotation vector.
+ :type rotation: 3D Vector
+ :arg local:
+ * False: you get the "global" rotation ie: relative to world orientation.
+ * True: you get the "local" rotation ie: relative to object orientation.
+ :arg local: boolean
+
+ .. method:: applyForce(force, local=False)
+
+ Sets the game object's force.
+
+ This requires a dynamic object.
+
+ :arg force: force vector.
+ :type force: 3D Vector
+ :arg local:
+ * False: you get the "global" force ie: relative to world orientation.
+ * True: you get the "local" force ie: relative to object orientation.
+ :type local: boolean
+
+ .. method:: applyTorque(torque, local=False)
+
+ Sets the game object's torque.
+
+ This requires a dynamic object.
+
+ :arg torque: torque vector.
+ :type torque: 3D Vector
+ :arg local:
+ * False: you get the "global" torque ie: relative to world orientation.
+ * True: you get the "local" torque ie: relative to object orientation.
+ :type local: boolean
+
+ .. method:: getLinearVelocity(local=False)
+
+ Gets the game object's linear velocity.
+
+ This method returns the game object's velocity through it's centre of mass, ie no angular velocity component.
+
+ :arg local:
+ * False: you get the "global" velocity ie: relative to world orientation.
+ * True: you get the "local" velocity ie: relative to object orientation.
+ :type local: boolean
+ :return: the object's linear velocity.
+ :rtype: list [vx, vy, vz]
+
+ .. method:: setLinearVelocity(velocity, local=False)
+
+ Sets the game object's linear velocity.
+
+ This method sets game object's velocity through it's centre of mass,
+ ie no angular velocity component.
+
+ This requires a dynamic object.
+
+ :arg velocity: linear velocity vector.
+ :type velocity: 3D Vector
+ :arg local:
+ * False: you get the "global" velocity ie: relative to world orientation.
+ * True: you get the "local" velocity ie: relative to object orientation.
+ :type local: boolean
+
+ .. method:: getAngularVelocity(local=False)
+
+ Gets the game object's angular velocity.
+
+ :arg local:
+ * False: you get the "global" velocity ie: relative to world orientation.
+ * True: you get the "local" velocity ie: relative to object orientation.
+ :type local: boolean
+ :return: the object's angular velocity.
+ :rtype: list [vx, vy, vz]
+
+ .. method:: setAngularVelocity(velocity, local=False)
+
+ Sets the game object's angular velocity.
+
+ This requires a dynamic object.
+
+ :arg velocity: angular velocity vector.
+ :type velocity: boolean
+ :arg local:
+ * False: you get the "global" velocity ie: relative to world orientation.
+ * True: you get the "local" velocity ie: relative to object orientation.
+
+ .. method:: getVelocity(point=(0, 0, 0))
+
+ Gets the game object's velocity at the specified point.
+
+ Gets the game object's velocity at the specified point, including angular
+ components.
+
+ :arg point: optional point to return the velocity for, in local coordinates.
+ :type point: 3D Vector
+ :return: the velocity at the specified point.
+ :rtype: list [vx, vy, vz]
+
+ .. method:: getReactionForce()
+
+ Gets the game object's reaction force.
+
+ The reaction force is the force applied to this object over the last simulation timestep.
+ This also includes impulses, eg from collisions.
+
+ :return: the reaction force of this object.
+ :rtype: list [fx, fy, fz]
+
+ .. note::
+
+ This is not implimented at the moment.
+
+ .. method:: applyImpulse(point, impulse)
+
+ Applies an impulse to the game object.
+
+ This will apply the specified impulse to the game object at the specified point.
+ If point != position, applyImpulse will also change the object's angular momentum.
+ Otherwise, only linear momentum will change.
+
+ :arg point: the point to apply the impulse to (in world coordinates)
+ :type point: the point to apply the impulse to (in world coordinates)
+
+ .. method:: suspendDynamics()
+
+ Suspends physics for this object.
+
+ .. method:: restoreDynamics()
+
+ Resumes physics for this object.
+
+ .. note::
+
+ The objects linear velocity will be applied from when the dynamics were suspended.
+
+ .. method:: enableRigidBody()
+
+ Enables rigid body physics for this object.
+
+ Rigid body physics allows the object to roll on collisions.
+
+ .. note::
+
+ This is not working with bullet physics yet.
+
+ .. method:: disableRigidBody()
+
+ Disables rigid body physics for this object.
+
+ .. note::
+
+ This is not working with bullet physics yet. The angular is removed but rigid body physics can still rotate it later.
+
+ .. method:: setParent(parent, compound=True, ghost=True)
+
+ Sets this object's parent.
+ Control the shape status with the optional compound and ghost parameters:
+
+ In that case you can control if it should be ghost or not:
+
+ :arg parent: new parent object.
+ :type parent: :class:`KX_GameObject`
+ :arg compound: whether the shape should be added to the parent compound shape.
+
+ * True: the object shape should be added to the parent compound shape.
+ * False: the object should keep its individual shape.
+
+ :type compound: boolean
+ :arg ghost: whether the object should be ghost while parented.
+
+ * True: if the object should be made ghost while parented.
+ * False: if the object should be solid while parented.
+
+ :type ghost: boolean
+
+ .. note::
+
+ If the object type is sensor, it stays ghost regardless of ghost parameter
+
+ .. method:: removeParent()
+
+ Removes this objects parent.
+
+ .. method:: getPhysicsId()
+
+ Returns the user data object associated with this game object's physics controller.
+
+ .. method:: getPropertyNames()
+
+ Gets a list of all property names.
+
+ :return: All property names for this object.
+ :rtype: list
+
+ .. method:: getDistanceTo(other)
+
+ :arg other: a point or another :class:`KX_GameObject` to measure the distance to.
+ :type other: :class:`KX_GameObject` or list [x, y, z]
+ :return: distance to another object or point.
+ :rtype: float
+
+ .. method:: getVectTo(other)
+
+ Returns the vector and the distance to another object or point.
+ The vector is normalized unless the distance is 0, in which a zero length vector is returned.
+
+ :arg other: a point or another :class:`KX_GameObject` to get the vector and distance to.
+ :type other: :class:`KX_GameObject` or list [x, y, z]
+ :return: (distance, globalVector(3), localVector(3))
+ :rtype: 3-tuple (float, 3-tuple (x, y, z), 3-tuple (x, y, z))
+
+ .. method:: rayCastTo(other, dist, prop)
+
+ Look towards another point/object and find first object hit within dist that matches prop.
+
+ The ray is always casted from the center of the object, ignoring the object itself.
+ The ray is casted towards the center of another object or an explicit [x, y, z] point.
+ Use rayCast() if you need to retrieve the hit point
+
+ :arg other: [x, y, z] or object towards which the ray is casted
+ :type other: :class:`KX_GameObject` or 3-tuple
+ :arg dist: max distance to look (can be negative => look behind); 0 or omitted => detect up to other
+ :type dist: float
+ :arg prop: property name that object must have; can be omitted => detect any object
+ :type prop: string
+ :return: the first object hit or None if no object or object does not match prop
+ :rtype: :class:`KX_GameObject`
+
+ .. method:: rayCast(objto, objfrom, dist, prop, face, xray, poly)
+
+ Look from a point/object to another point/object and find first object hit within dist that matches prop.
+ if poly is 0, returns a 3-tuple with object reference, hit point and hit normal or (None, None, None) if no hit.
+ if poly is 1, returns a 4-tuple with in addition a :class:`KX_PolyProxy` as 4th element.
+ if poly is 2, returns a 5-tuple with in addition a 2D vector with the UV mapping of the hit point as 5th element.
+
+ .. code-block:: python
+
+ # shoot along the axis gun-gunAim (gunAim should be collision-free)
+ obj, point, normal = gun.rayCast(gunAim, None, 50)
+ if obj:
+ # do something
+ pass
+
+ The face paremeter determines the orientation of the normal.
+
+ * 0 => hit normal is always oriented towards the ray origin (as if you casted the ray from outside)
+ * 1 => hit normal is the real face normal (only for mesh object, otherwise face has no effect)
+
+ The ray has X-Ray capability if xray parameter is 1, otherwise the first object hit (other than self object) stops the ray.
+ The prop and xray parameters interact as follow.
+
+ * prop off, xray off: return closest hit or no hit if there is no object on the full extend of the ray.
+ * prop off, xray on : idem.
+ * prop on, xray off: return closest hit if it matches prop, no hit otherwise.
+ * prop on, xray on : return closest hit matching prop or no hit if there is no object matching prop on the full extend of the ray.
+
+ The :class:`KX_PolyProxy` 4th element of the return tuple when poly=1 allows to retrieve information on the polygon hit by the ray.
+ If there is no hit or the hit object is not a static mesh, None is returned as 4th element.
+
+ The ray ignores collision-free objects and faces that dont have the collision flag enabled, you can however use ghost objects.
+
+ :arg objto: [x, y, z] or object to which the ray is casted
+ :type objto: :class:`KX_GameObject` or 3-tuple
+ :arg objfrom: [x, y, z] or object from which the ray is casted; None or omitted => use self object center
+ :type objfrom: :class:`KX_GameObject` or 3-tuple or None
+ :arg dist: max distance to look (can be negative => look behind); 0 or omitted => detect up to to
+ :type dist: float
+ :arg prop: property name that object must have; can be omitted or "" => detect any object
+ :type prop: string
+ :arg face: normal option: 1=>return face normal; 0 or omitted => normal is oriented towards origin
+ :type face: integer
+ :arg xray: X-ray option: 1=>skip objects that don't match prop; 0 or omitted => stop on first object
+ :type xray: integer
+ :arg poly: polygon option: 0, 1 or 2 to return a 3-, 4- or 5-tuple with information on the face hit.
+
+ * 0 or omitted: return value is a 3-tuple (object, hitpoint, hitnormal) or (None, None, None) if no hit
+ * 1: return value is a 4-tuple and the 4th element is a :class:`KX_PolyProxy` or None if no hit or the object doesn't use a mesh collision shape.
+ * 2: return value is a 5-tuple and the 5th element is a 2-tuple (u, v) with the UV mapping of the hit point or None if no hit, or the object doesn't use a mesh collision shape, or doesn't have a UV mapping.
+
+ :type poly: integer
+ :return: (object, hitpoint, hitnormal) or (object, hitpoint, hitnormal, polygon) or (object, hitpoint, hitnormal, polygon, hituv).
+
+ * object, hitpoint and hitnormal are None if no hit.
+ * polygon is valid only if the object is valid and is a static object, a dynamic object using mesh collision shape or a soft body object, otherwise it is None
+ * hituv is valid only if polygon is valid and the object has a UV mapping, otherwise it is None
+
+ :rtype:
+
+ * 3-tuple (:class:`KX_GameObject`, 3-tuple (x, y, z), 3-tuple (nx, ny, nz))
+ * or 4-tuple (:class:`KX_GameObject`, 3-tuple (x, y, z), 3-tuple (nx, ny, nz), :class:`PolyProxy`)
+ * or 5-tuple (:class:`KX_GameObject`, 3-tuple (x, y, z), 3-tuple (nx, ny, nz), :class:`PolyProxy`, 2-tuple (u, v))
+
+ .. note::
+
+ The ray ignores the object on which the method is called. It is casted from/to object center or explicit [x, y, z] points.
+
+ .. method:: setCollisionMargin(margin)
+
+ Set the objects collision margin.
+
+ :arg margin: the collision margin distance in blender units.
+ :type margin: float
+
+ .. note::
+
+ If this object has no physics controller (a physics ID of zero), this function will raise RuntimeError.
+
+ .. method:: sendMessage(subject, body="", to="")
+
+ Sends a message.
+
+ :arg subject: The subject of the message
+ :type subject: string
+ :arg body: The body of the message (optional)
+ :type body: string
+ :arg to: The name of the object to send the message to (optional)
+ :type to: string
+
+ .. method:: reinstancePhysicsMesh(gameObject, meshObject)
+
+ Updates the physics system with the changed mesh.
+
+ If no arguments are given the physics mesh will be re-created from the first mesh assigned to the game object.
+
+ :arg gameObject: optional argument, set the physics shape from this gameObjets mesh.
+ :type gameObject: string, :class:`KX_GameObject` or None
+ :arg meshObject: optional argument, set the physics shape from this mesh.
+ :type meshObject: string, :class:`MeshProxy` or None
+
+ :return: True if reinstance succeeded, False if it failed.
+ :rtype: boolean
+
+ .. note::
+
+ If this object has instances the other instances will be updated too.
+
+ .. note::
+
+ The gameObject argument has an advantage that it can convert from a mesh with modifiers applied (such as subsurf).
+
+ .. warning::
+
+ Only triangle mesh type objects are supported currently (not convex hull)
+
+ .. warning::
+
+ If the object is a part of a combound object it will fail (parent or child)
+
+ .. warning::
+
+ Rebuilding the physics mesh can be slow, running many times per second will give a performance hit.
+
+ .. method:: get(key, default=None)
+
+ Return the value matching key, or the default value if its not found.
+ :return: The key value or a default.
+
+ .. method:: playAction(name, start_frame, end_frame, layer=0, priority=0, blendin=0, play_mode=ACT_MODE_PLAY, layer_weight=0.0, ipo_flags=0, speed=1.0)
+
+ Plays an action.
+
+ :arg name: the name of the action
+ :type name: string
+ :arg start: the start frame of the action
+ :type start: float
+ :arg end: the end frame of the action
+ :type end: float
+ :arg layer: the layer the action will play in (actions in different layers are added/blended together)
+ :type layer: integer
+ :arg priority: only play this action if there isn't an action currently playing in this layer with a higher (lower number) priority
+ :type priority: integer
+ :arg blendin: the amount of blending between this animation and the previous one on this layer
+ :type blendin: float
+ :arg play_mode: the play mode
+ :type play_mode: KX_ACTION_MODE_PLAY, KX_ACTION_MODE_LOOP, or KX_ACTION_MODE_PING_PONG
+ :arg layer_weight: how much of the previous layer to use for blending (0 = add)
+ :type layer_weight: float
+ :arg ipo_flags: flags for the old IPO behaviors (force, etc)
+ :type ipo_flags: int bitfield
+ :arg speed: the playback speed of the action as a factor (1.0 = normal speed, 2.0 = 2x speed, etc)
+ :type speed: float
+
+ .. method:: stopAction(layer=0)
+
+ Stop playing the action on the given layer.
+
+ :arg layer: The layer to stop playing.
+ :type layer: integer
+
+ .. method:: getActionFrame(layer=0)
+
+ Gets the current frame of the action playing in the supplied layer.
+
+ :arg layer: The layer that you want to get the frame from.
+ :type layer: integer
+
+ :return: The current frame of the action
+ :rtype: float
+
+ .. method:: setActionFrame(frame, layer=0)
+
+ Set the current frame of the action playing in the supplied layer.
+
+ :arg layer: The layer where you want to set the frame
+ :type layer: integer
+ :arg frame: The frame to set the action to
+ :type frame: float
+
+ .. method:: isPlayingAction(layer=0)
+
+ Checks to see if there is an action playing in the given layer.
+
+ :arg layer: The layer to check for a playing action.
+ :type layer: integer
+
+ :return: Whether or not the action is playing
+ :rtype: boolean
+
+.. class:: KX_IpoActuator(SCA_IActuator)
+
+ IPO actuator activates an animation.
+
+ .. attribute:: frameStart
+
+ Start frame.
+
+ :type: float
+
+ .. attribute:: frameEnd
+
+ End frame.
+
+ :type: float
+
+ .. attribute:: propName
+
+ Use this property to define the Ipo position.
+
+ :type: string
+
+ .. attribute:: framePropName
+
+ Assign this property this action current frame number.
+
+ :type: string
+
+ .. attribute:: mode
+
+ Play mode for the ipo. Can be on of :ref:`these constants <ipo-actuator>`
+
+ :type: integer
+
+ .. attribute:: useIpoAsForce
+
+ Apply Ipo as a global or local force depending on the local option (dynamic objects only).
+
+ :type: boolean
+
+ .. attribute:: useIpoAdd
+
+ Ipo is added to the current loc/rot/scale in global or local coordinate according to Local flag.
+
+ :type: boolean
+
+ .. attribute:: useIpoLocal
+
+ Let the ipo acts in local coordinates, used in Force and Add mode.
+
+ :type: boolean
+
+ .. attribute:: useChildren
+
+ Update IPO on all children Objects as well.
+
+ :type: boolean
+
+.. class:: KX_LightObject(KX_GameObject)
+
+ A Light object.
+
+ .. code-block:: python
+
+ # Turn on a red alert light.
+ import bge
+
+ co = bge.logic.getCurrentController()
+ light = co.owner
+
+ light.energy = 1.0
+ light.colour = [1.0, 0.0, 0.0]
+
+ .. data:: SPOT
+
+ A spot light source. See attribute :data:`type`
+
+ .. data:: SUN
+
+ A point light source with no attenuation. See attribute :data:`type`
+
+ .. data:: NORMAL
+
+ A point light source. See attribute :data:`type`
+
+ .. attribute:: type
+
+ The type of light - must be SPOT, SUN or NORMAL
+
+ .. attribute:: layer
+
+ The layer mask that this light affects object on.
+
+ :type: bitfield
+
+ .. attribute:: energy
+
+ The brightness of this light.
+
+ :type: float
+
+ .. attribute:: distance
+
+ The maximum distance this light can illuminate. (SPOT and NORMAL lights only).
+
+ :type: float
+
+ .. attribute:: colour
+
+ The colour of this light. Black = [0.0, 0.0, 0.0], White = [1.0, 1.0, 1.0].
+
+ :type: list [r, g, b]
+
+ .. attribute:: color
+
+ Synonym for colour.
+
+ .. attribute:: lin_attenuation
+
+ The linear component of this light's attenuation. (SPOT and NORMAL lights only).
+
+ :type: float
+
+ .. attribute:: quad_attenuation
+
+ The quadratic component of this light's attenuation (SPOT and NORMAL lights only).
+
+ :type: float
+
+ .. attribute:: spotsize
+
+ The cone angle of the spot light, in degrees (SPOT lights only).
+
+ :type: float in [0 - 180].
+
+ .. attribute:: spotblend
+
+ Specifies the intensity distribution of the spot light (SPOT lights only).
+
+ :type: float in [0 - 1]
+
+ .. note::
+
+ Higher values result in a more focused light source.
+
+.. class:: KX_MeshProxy(SCA_IObject)
+
+ A mesh object.
+
+ You can only change the vertex properties of a mesh object, not the mesh topology.
+
+ To use mesh objects effectively, you should know a bit about how the game engine handles them.
+
+ #. Mesh Objects are converted from Blender at scene load.
+ #. The Converter groups polygons by Material. This means they can be sent to the renderer efficiently. A material holds:
+
+ #. The texture.
+ #. The Blender material.
+ #. The Tile properties
+ #. The face properties - (From the "Texture Face" panel)
+ #. Transparency & z sorting
+ #. Light layer
+ #. Polygon shape (triangle/quad)
+ #. Game Object
+
+ #. Verticies will be split by face if necessary. Verticies can only be shared between faces if:
+
+ #. They are at the same position
+ #. UV coordinates are the same
+ #. Their normals are the same (both polygons are "Set Smooth")
+ #. They are the same colour, for example: a cube has 24 verticies: 6 faces with 4 verticies per face.
+
+ The correct method of iterating over every :class:`KX_VertexProxy` in a game object
+
+ .. code-block:: python
+
+ import GameLogic
+
+ co = GameLogic.getCurrentController()
+ obj = co.owner
+
+ m_i = 0
+ mesh = obj.getMesh(m_i) # There can be more than one mesh...
+ while mesh != None:
+ for mat in range(mesh.getNumMaterials()):
+ for v_index in range(mesh.getVertexArrayLength(mat)):
+ vertex = mesh.getVertex(mat, v_index)
+ # Do something with vertex here...
+ # ... eg: colour the vertex red.
+ vertex.colour = [1.0, 0.0, 0.0, 1.0]
+ m_i += 1
+ mesh = obj.getMesh(m_i)
+
+ .. attribute:: materials
+
+ :type: list of :class:`KX_BlenderMaterial` or :class:`KX_PolygonMaterial` types
+
+ .. attribute:: numPolygons
+
+ :type: integer
+
+ .. attribute:: numMaterials
+
+ :type: integer
+
+ .. method:: getNumMaterials()
+
+ :return: number of materials associated with this object
+ :rtype: integer
+
+ .. method:: getMaterialName(matid)
+
+ Gets the name of the specified material.
+
+ :arg matid: the specified material.
+ :type matid: integer
+ :return: the attached material name.
+ :rtype: string
+
+ .. method:: getTextureName(matid)
+
+ Gets the name of the specified material's texture.
+
+ :arg matid: the specified material
+ :type matid: integer
+ :return: the attached material's texture name.
+ :rtype: string
+
+ .. method:: getVertexArrayLength(matid)
+
+ Gets the length of the vertex array associated with the specified material.
+
+ There is one vertex array for each material.
+
+ :arg matid: the specified material
+ :type matid: integer
+ :return: the number of verticies in the vertex array.
+ :rtype: integer
+
+ .. method:: getVertex(matid, index)
+
+ Gets the specified vertex from the mesh object.
+
+ :arg matid: the specified material
+ :type matid: integer
+ :arg index: the index into the vertex array.
+ :type index: integer
+ :return: a vertex object.
+ :rtype: :class:`KX_VertexProxy`
+
+ .. method:: getNumPolygons()
+
+ :return: The number of polygon in the mesh.
+ :rtype: integer
+
+ .. method:: getPolygon(index)
+
+ Gets the specified polygon from the mesh.
+
+ :arg index: polygon number
+ :type index: integer
+ :return: a polygon object.
+ :rtype: :class:`PolyProxy`
+
+.. class:: SCA_MouseSensor(SCA_ISensor)
+
+ Mouse Sensor logic brick.
+
+ .. attribute:: position
+
+ current [x, y] coordinates of the mouse, in frame coordinates (pixels).
+
+ :type: [integer, interger]
+
+ .. attribute:: mode
+
+ sensor mode.
+
+ :type: integer
+
+ * KX_MOUSESENSORMODE_LEFTBUTTON(1)
+ * KX_MOUSESENSORMODE_MIDDLEBUTTON(2)
+ * KX_MOUSESENSORMODE_RIGHTBUTTON(3)
+ * KX_MOUSESENSORMODE_WHEELUP(4)
+ * KX_MOUSESENSORMODE_WHEELDOWN(5)
+ * KX_MOUSESENSORMODE_MOVEMENT(6)
+
+ .. method:: getButtonStatus(button)
+
+ Get the mouse button status.
+
+ :arg button: The code that represents the key you want to get the state of, use one of :ref:`these constants<mouse-keys>`
+ :type button: int
+ :return: The state of the given key, can be one of :ref:`these constants<input-status>`
+ :rtype: int
+
+.. class:: KX_MouseFocusSensor(SCA_MouseSensor)
+
+ The mouse focus sensor detects when the mouse is over the current game object.
+
+ The mouse focus sensor works by transforming the mouse coordinates from 2d device
+ space to 3d space then raycasting away from the camera.
+
+ .. attribute:: raySource
+
+ The worldspace source of the ray (the view position).
+
+ :type: list (vector of 3 floats)
+
+ .. attribute:: rayTarget
+
+ The worldspace target of the ray.
+
+ :type: list (vector of 3 floats)
+
+ .. attribute:: rayDirection
+
+ The :data:`rayTarget` - :class:`raySource` normalized.
+
+ :type: list (normalized vector of 3 floats)
+
+ .. attribute:: hitObject
+
+ the last object the mouse was over.
+
+ :type: :class:`KX_GameObject` or None
+
+ .. attribute:: hitPosition
+
+ The worldspace position of the ray intersecton.
+
+ :type: list (vector of 3 floats)
+
+ .. attribute:: hitNormal
+
+ the worldspace normal from the face at point of intersection.
+
+ :type: list (normalized vector of 3 floats)
+
+ .. attribute:: hitUV
+
+ the UV coordinates at the point of intersection.
+
+ :type: list (vector of 2 floats)
+
+ If the object has no UV mapping, it returns [0, 0].
+
+ The UV coordinates are not normalized, they can be < 0 or > 1 depending on the UV mapping.
+
+ .. attribute:: usePulseFocus
+
+ When enabled, moving the mouse over a different object generates a pulse. (only used when the 'Mouse Over Any' sensor option is set).
+
+ :type: boolean
+
+.. class:: KX_TouchSensor(SCA_ISensor)
+
+ Touch sensor detects collisions between objects.
+
+ .. attribute:: propName
+
+ The property or material to collide with.
+
+ :type: string
+
+ .. attribute:: useMaterial
+
+ Determines if the sensor is looking for a property or material. KX_True = Find material; KX_False = Find property.
+
+ :type: boolean
+
+ .. attribute:: usePulseCollision
+
+ When enabled, changes to the set of colliding objects generate a pulse.
+
+ :type: boolean
+
+ .. attribute:: hitObject
+
+ The last collided object. (read-only).
+
+ :type: :class:`KX_GameObject` or None
+
+ .. attribute:: hitObjectList
+
+ A list of colliding objects. (read-only).
+
+ :type: :class:`CListValue` of :class:`KX_GameObject`
+
+.. class:: KX_NearSensor(KX_TouchSensor)
+
+ A near sensor is a specialised form of touch sensor.
+
+ .. attribute:: distance
+
+ The near sensor activates when an object is within this distance.
+
+ :type: float
+
+ .. attribute:: resetDistance
+
+ The near sensor deactivates when the object exceeds this distance.
+
+ :type: float
+
+.. class:: KX_NetworkMessageActuator(SCA_IActuator)
+
+ Message Actuator
+
+ .. attribute:: propName
+
+ Messages will only be sent to objects with the given property name.
+
+ :type: string
+
+ .. attribute:: subject
+
+ The subject field of the message.
+
+ :type: string
+
+ .. attribute:: body
+
+ The body of the message.
+
+ :type: string
+
+ .. attribute:: usePropBody
+
+ Send a property instead of a regular body message.
+
+ :type: boolean
+
+.. class:: KX_NetworkMessageSensor(SCA_ISensor)
+
+ The Message Sensor logic brick.
+
+ Currently only loopback (local) networks are supported.
+
+ .. attribute:: subject
+
+ The subject the sensor is looking for.
+
+ :type: string
+
+ .. attribute:: frameMessageCount
+
+ The number of messages received since the last frame. (read-only).
+
+ :type: integer
+
+ .. attribute:: subjects
+
+ The list of message subjects received. (read-only).
+
+ :type: list of strings
+
+ .. attribute:: bodies
+
+ The list of message bodies received. (read-only).
+
+ :type: list of strings
+
+.. class:: KX_ObjectActuator(SCA_IActuator)
+
+ The object actuator ("Motion Actuator") applies force, torque, displacement, angular displacement,
+ velocity, or angular velocity to an object.
+ Servo control allows to regulate force to achieve a certain speed target.
+
+ .. attribute:: force
+
+ The force applied by the actuator.
+
+ :type: list [x, y, z]
+
+ .. attribute:: useLocalForce
+
+ A flag specifying if the force is local.
+
+ :type: boolean
+
+ .. attribute:: torque
+
+ The torque applied by the actuator.
+
+ :type: list [x, y, z]
+
+ .. attribute:: useLocalTorque
+
+ A flag specifying if the torque is local.
+
+ :type: boolean
+
+ .. attribute:: dLoc
+
+ The displacement vector applied by the actuator.
+
+ :type: list [x, y, z]
+
+ .. attribute:: useLocalDLoc
+
+ A flag specifying if the dLoc is local.
+
+ :type: boolean
+
+ .. attribute:: dRot
+
+ The angular displacement vector applied by the actuator
+
+ :type: list [x, y, z]
+
+ .. note::
+
+ Since the displacement is applied every frame, you must adjust the displacement based on the frame rate, or you game experience will depend on the player's computer speed.
+
+ .. attribute:: useLocalDRot
+
+ A flag specifying if the dRot is local.
+
+ :type: boolean
+
+ .. attribute:: linV
+
+ The linear velocity applied by the actuator.
+
+ :type: list [x, y, z]
+
+ .. attribute:: useLocalLinV
+
+ A flag specifying if the linear velocity is local.
+
+ :type: boolean
+
+ .. note::
+
+ This is the target speed for servo controllers.
+
+ .. attribute:: angV
+
+ The angular velocity applied by the actuator.
+
+ :type: list [x, y, z]
+
+ .. attribute:: useLocalAngV
+
+ A flag specifying if the angular velocity is local.
+
+ :type: boolean
+
+ .. attribute:: damping
+
+ The damping parameter of the servo controller.
+
+ :type: short
+
+ .. attribute:: forceLimitX
+
+ The min/max force limit along the X axis and activates or deactivates the limits in the servo controller.
+
+ :type: list [min(float), max(float), bool]
+
+ .. attribute:: forceLimitY
+
+ The min/max force limit along the Y axis and activates or deactivates the limits in the servo controller.
+
+ :type: list [min(float), max(float), bool]
+
+ .. attribute:: forceLimitZ
+
+ The min/max force limit along the Z axis and activates or deactivates the limits in the servo controller.
+
+ :type: list [min(float), max(float), bool]
+
+ .. attribute:: pid
+
+ The PID coefficients of the servo controller.
+
+ :type: list of floats [proportional, integral, derivate]
+
+ .. attribute:: reference
+
+ The object that is used as reference to compute the velocity for the servo controller.
+
+ :type: :class:`KX_GameObject` or None
+
+.. class:: KX_ParentActuator(SCA_IActuator)
+
+ The parent actuator can set or remove an objects parent object.
+
+ .. attribute:: object
+
+ the object this actuator sets the parent too.
+
+ :type: :class:`KX_GameObject` or None
+
+ .. attribute:: mode
+
+ The mode of this actuator.
+
+ :type: integer from 0 to 1.
+
+ .. attribute:: compound
+
+ Whether the object shape should be added to the parent compound shape when parenting.
+
+ Effective only if the parent is already a compound shape.
+
+ :type: boolean
+
+ .. attribute:: ghost
+
+ Whether the object should be made ghost when parenting
+ Effective only if the shape is not added to the parent compound shape.
+
+ :type: boolean
+
+.. class:: KX_PhysicsObjectWrapper(PyObjectPlus)
+
+ KX_PhysicsObjectWrapper
+
+ .. method:: setActive(active)
+
+ Set the object to be active.
+
+ :arg active: set to True to be active
+ :type active: boolean
+
+ .. method:: setAngularVelocity(x, y, z, local)
+
+ Set the angular velocity of the object.
+
+ :arg x: angular velocity for the x-axis
+ :type x: float
+
+ :arg y: angular velocity for the y-axis
+ :type y: float
+
+ :arg z: angular velocity for the z-axis
+ :type z: float
+
+ :arg local: set to True for local axis
+ :type local: boolean
+
+ .. method:: setLinearVelocity(x, y, z, local)
+
+ Set the linear velocity of the object.
+
+ :arg x: linear velocity for the x-axis
+ :type x: float
+
+ :arg y: linear velocity for the y-axis
+ :type y: float
+
+ :arg z: linear velocity for the z-axis
+ :type z: float
+
+ :arg local: set to True for local axis
+ :type local: boolean
+
+.. class:: KX_PolyProxy(SCA_IObject)
+
+ A polygon holds the index of the vertex forming the poylgon.
+
+ Note:
+ The polygon attributes are read-only, you need to retrieve the vertex proxy if you want
+ to change the vertex settings.
+
+ .. attribute:: matname
+
+ The name of polygon material, empty if no material.
+
+ :type: string
+
+ .. attribute:: material
+
+ The material of the polygon.
+
+ :type: :class:`KX_PolygonMaterial` or :class:`KX_BlenderMaterial`
+
+ .. attribute:: texture
+
+ The texture name of the polygon.
+
+ :type: string
+
+ .. attribute:: matid
+
+ The material index of the polygon, use this to retrieve vertex proxy from mesh proxy.
+
+ :type: integer
+
+ .. attribute:: v1
+
+ vertex index of the first vertex of the polygon, use this to retrieve vertex proxy from mesh proxy.
+
+ :type: integer
+
+ .. attribute:: v2
+
+ vertex index of the second vertex of the polygon, use this to retrieve vertex proxy from mesh proxy.
+
+ :type: integer
+
+ .. attribute:: v3
+
+ vertex index of the third vertex of the polygon, use this to retrieve vertex proxy from mesh proxy.
+
+ :type: integer
+
+ .. attribute:: v4
+
+ Vertex index of the fourth vertex of the polygon, 0 if polygon has only 3 vertex
+ Use this to retrieve vertex proxy from mesh proxy.
+
+ :type: integer
+
+ .. attribute:: visible
+
+ visible state of the polygon: 1=visible, 0=invisible.
+
+ :type: integer
+
+ .. attribute:: collide
+
+ collide state of the polygon: 1=receives collision, 0=collision free.
+
+ :type: integer
+
+ .. method:: getMaterialName()
+
+ Returns the polygon material name with MA prefix
+
+ :return: material name
+ :rtype: string
+
+ .. method:: getMaterial()
+
+ :return: The polygon material
+ :rtype: :class:`KX_PolygonMaterial` or :class:`KX_BlenderMaterial`
+
+ .. method:: getTextureName()
+
+ :return: The texture name
+ :rtype: string
+
+ .. method:: getMaterialIndex()
+
+ Returns the material bucket index of the polygon.
+ This index and the ones returned by getVertexIndex() are needed to retrieve the vertex proxy from :class:`MeshProxy`.
+
+ :return: the material index in the mesh
+ :rtype: integer
+
+ .. method:: getNumVertex()
+
+ Returns the number of vertex of the polygon.
+
+ :return: number of vertex, 3 or 4.
+ :rtype: integer
+
+ .. method:: isVisible()
+
+ Returns whether the polygon is visible or not
+
+ :return: 0=invisible, 1=visible
+ :rtype: boolean
+
+ .. method:: isCollider()
+
+ Returns whether the polygon is receives collision or not
+
+ :return: 0=collision free, 1=receives collision
+ :rtype: integer
+
+ .. method:: getVertexIndex(vertex)
+
+ Returns the mesh vertex index of a polygon vertex
+ This index and the one returned by getMaterialIndex() are needed to retrieve the vertex proxy from :class:`MeshProxy`.
+
+ :arg vertex: index of the vertex in the polygon: 0->3
+ :arg vertex: integer
+ :return: mesh vertex index
+ :rtype: integer
+
+ .. method:: getMesh()
+
+ Returns a mesh proxy
+
+ :return: mesh proxy
+ :rtype: :class:`MeshProxy`
+
+.. class:: KX_PolygonMaterial(PyObjectPlus)
+
+ This is the interface to materials in the game engine.
+
+ Materials define the render state to be applied to mesh objects.
+
+ .. warning::
+
+ Some of the methods/variables are CObjects. If you mix these up, you will crash blender.
+
+ This example requires `PyOpenGL <http://pyopengl.sourceforge.net>`_ and `GLEWPy <http://glewpy.sourceforge.net>`_
+
+ .. code-block:: python
+
+ import GameLogic
+ import OpenGL
+ from OpenGL.GL import *
+ from OpenGL.GLU import *
+ import glew
+ from glew import *
+
+ glewInit()
+
+ vertex_shader = """
+
+ void main(void)
+ {
+ gl_Position = ftransform();
+ }
+ """
+
+ fragment_shader ="""
+
+ void main(void)
+ {
+ gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
+ }
+ """
+
+ class MyMaterial:
+ def __init__(self):
+ self.pass_no = 0
+ # Create a shader
+ self.m_program = glCreateProgramObjectARB()
+ # Compile the vertex shader
+ self.shader(GL_VERTEX_SHADER_ARB, (vertex_shader))
+ # Compile the fragment shader
+ self.shader(GL_FRAGMENT_SHADER_ARB, (fragment_shader))
+ # Link the shaders together
+ self.link()
+
+ def PrintInfoLog(self, tag, object):
+ """
+ PrintInfoLog prints the GLSL compiler log
+ """
+ print "Tag: def PrintGLError(self, tag = ""):
+
+ def PrintGLError(self, tag = ""):
+ """
+ Prints the current GL error status
+ """
+ if len(tag):
+ print tag
+ err = glGetError()
+ if err != GL_NO_ERROR:
+ print "GL Error: %s\\n"%(gluErrorString(err))
+
+ def shader(self, type, shaders):
+ """
+ shader compiles a GLSL shader and attaches it to the current
+ program.
+
+ type should be either GL_VERTEX_SHADER_ARB or GL_FRAGMENT_SHADER_ARB
+ shaders should be a sequence of shader source to compile.
+ """
+ # Create a shader object
+ shader_object = glCreateShaderObjectARB(type)
+
+ # Add the source code
+ glShaderSourceARB(shader_object, len(shaders), shaders)
+
+ # Compile the shader
+ glCompileShaderARB(shader_object)
+
+ # Print the compiler log
+ self.PrintInfoLog("vertex shader", shader_object)
+
+ # Check if compiled, and attach if it did
+ compiled = glGetObjectParameterivARB(shader_object, GL_OBJECT_COMPILE_STATUS_ARB)
+ if compiled:
+ glAttachObjectARB(self.m_program, shader_object)
+
+ # Delete the object (glAttachObjectARB makes a copy)
+ glDeleteObjectARB(shader_object)
+
+ # print the gl error log
+ self.PrintGLError()
+
+ def link(self):
+ """
+ Links the shaders together.
+ """
+ # clear error indicator
+ glGetError()
+
+ glLinkProgramARB(self.m_program)
+
+ self.PrintInfoLog("link", self.m_program)
+
+ linked = glGetObjectParameterivARB(self.m_program, GL_OBJECT_LINK_STATUS_ARB)
+ if not linked:
+ print "Shader failed to link"
+ return
+
+ glValidateProgramARB(self.m_program)
+ valid = glGetObjectParameterivARB(self.m_program, GL_OBJECT_VALIDATE_STATUS_ARB)
+ if not valid:
+ print "Shader failed to validate"
+ return
+
+ def activate(self, rasty, cachingInfo, mat):
+ self.pass_no+=1
+ if (self.pass_no == 1):
+ glDisable(GL_COLOR_MATERIAL)
+ glUseProgramObjectARB(self.m_program)
+ return True
+
+ glEnable(GL_COLOR_MATERIAL)
+ glUseProgramObjectARB(0)
+ self.pass_no = 0
+ return False
+
+ obj = GameLogic.getCurrentController().owner
+
+ mesh = obj.meshes[0]
+
+ for mat in mesh.materials:
+ mat.setCustomMaterial(MyMaterial())
+ print mat.texture
+
+ .. attribute:: texture
+
+ Texture name.
+
+ :type: string (read-only)
+
+ .. attribute:: gl_texture
+
+ OpenGL texture handle (eg for glBindTexture(GL_TEXTURE_2D, gl_texture).
+
+ :type: integer (read-only)
+
+ .. attribute:: material
+
+ Material name.
+
+ :type: string (read-only)
+
+ .. attribute:: tface
+
+ Texture face properties.
+
+ :type: CObject (read-only)
+
+ .. attribute:: tile
+
+ Texture is tiling.
+
+ :type: boolean
+
+ .. attribute:: tilexrep
+
+ Number of tile repetitions in x direction.
+
+ :type: integer
+
+ .. attribute:: tileyrep
+
+ Number of tile repetitions in y direction.
+
+ :type: integer
+
+ .. attribute:: drawingmode
+
+ Drawing mode for the material.
+ - 2 (drawingmode & 4) Textured
+ - 4 (drawingmode & 16) Light
+ - 14 (drawingmode & 16384) 3d Polygon Text.
+
+ :type: bitfield
+
+ .. attribute:: transparent
+
+ This material is transparent. All meshes with this
+ material will be rendered after non transparent meshes from back
+ to front.
+
+ :type: boolean
+
+ .. attribute:: zsort
+
+ Transparent polygons in meshes with this material will be sorted back to
+ front before rendering.
+ Non-Transparent polygons will be sorted front to back before rendering.
+
+ :type: boolean
+
+ .. attribute:: lightlayer
+
+ Light layers this material affects.
+
+ :type: bitfield.
+
+ .. attribute:: triangle
+
+ Mesh data with this material is triangles. It's probably not safe to change this.
+
+ :type: boolean
+
+ .. attribute:: diffuse
+
+ The diffuse colour of the material. black = [0.0, 0.0, 0.0] white = [1.0, 1.0, 1.0].
+
+ :type: list [r, g, b]
+
+ .. attribute:: specular
+
+ The specular colour of the material. black = [0.0, 0.0, 0.0] white = [1.0, 1.0, 1.0].
+
+ :type: list [r, g, b]
+
+ .. attribute:: shininess
+
+ The shininess (specular exponent) of the material. 0.0 <= shininess <= 128.0.
+
+ :type: float
+
+ .. attribute:: specularity
+
+ The amount of specular of the material. 0.0 <= specularity <= 1.0.
+
+ :type: float
+
+ .. method:: updateTexture(tface, rasty)
+
+ Updates a realtime animation.
+
+ :arg tface: Texture face (eg mat.tface)
+ :type tface: CObject
+ :arg rasty: Rasterizer
+ :type rasty: CObject
+
+ .. method:: setTexture(tface)
+
+ Sets texture render state.
+
+ :arg tface: Texture face
+ :type tface: CObject
+
+ .. code-block:: python
+
+ mat.setTexture(mat.tface)
+
+ .. method:: activate(rasty, cachingInfo)
+
+ Sets material parameters for this object for rendering.
+
+ Material Parameters set:
+
+ #. Texture
+ #. Backface culling
+ #. Line drawing
+ #. Specular Colour
+ #. Shininess
+ #. Diffuse Colour
+ #. Polygon Offset.
+
+ :arg rasty: Rasterizer instance.
+ :type rasty: CObject
+ :arg cachingInfo: Material cache instance.
+ :type cachingInfo: CObject
+
+ .. method:: setCustomMaterial(material)
+
+ Sets the material state setup object.
+
+ Using this method, you can extend or completely replace the gameengine material
+ to do your own advanced multipass effects.
+
+ Use this method to register your material class. Instead of the normal material,
+ your class's activate method will be called just before rendering the mesh.
+ This should setup the texture, material, and any other state you would like.
+ It should return True to render the mesh, or False if you are finished. You should
+ clean up any state Blender does not set before returning False.
+
+ Activate Method Definition:
+
+ .. code-block:: python
+
+ def activate(self, rasty, cachingInfo, material):
+
+ :arg material: The material object.
+ :type material: instance
+
+ .. code-block:: python
+
+ class PyMaterial:
+ def __init__(self):
+ self.pass_no = -1
+
+ def activate(self, rasty, cachingInfo, material):
+ # Activate the material here.
+ #
+ # The activate method will be called until it returns False.
+ # Every time the activate method returns True the mesh will
+ # be rendered.
+ #
+ # rasty is a CObject for passing to material.updateTexture()
+ # and material.activate()
+ # cachingInfo is a CObject for passing to material.activate()
+ # material is the KX_PolygonMaterial instance this material
+ # was added to
+
+ # default material properties:
+ self.pass_no += 1
+ if self.pass_no == 0:
+ material.activate(rasty, cachingInfo)
+ # Return True to do this pass
+ return True
+
+ # clean up and return False to finish.
+ self.pass_no = -1
+ return False
+
+ # Create a new Python Material and pass it to the renderer.
+ mat.setCustomMaterial(PyMaterial())
+
+.. class:: KX_RadarSensor(KX_NearSensor)
+
+ Radar sensor is a near sensor with a conical sensor object.
+
+ .. attribute:: coneOrigin
+
+ The origin of the cone with which to test. The origin is in the middle of the cone. (read-only).
+
+ :type: list of floats [x, y, z]
+
+ .. attribute:: coneTarget
+
+ The center of the bottom face of the cone with which to test. (read-only).
+
+ :type: list of floats [x, y, z]
+
+ .. attribute:: distance
+
+ The height of the cone with which to test.
+
+ :type: float
+
+ .. attribute:: angle
+
+ The angle of the cone (in degrees) with which to test.
+
+ :type: float from 0 to 360
+
+ .. attribute:: axis
+
+ The axis on which the radar cone is cast.
+
+ :type: integer from 0 to 5
+
+ KX_RADAR_AXIS_POS_X, KX_RADAR_AXIS_POS_Y, KX_RADAR_AXIS_POS_Z,
+ KX_RADAR_AXIS_NEG_X, KX_RADAR_AXIS_NEG_Y, KX_RADAR_AXIS_NEG_Z
+
+ .. method:: getConeHeight()
+
+ :return: The height of the cone with which to test.
+ :rtype: float
+
+.. class:: KX_RaySensor(SCA_ISensor)
+
+ A ray sensor detects the first object in a given direction.
+
+ .. attribute:: propName
+
+ The property the ray is looking for.
+
+ :type: string
+
+ .. attribute:: range
+
+ The distance of the ray.
+
+ :type: float
+
+ .. attribute:: useMaterial
+
+ Whether or not to look for a material (false = property).
+
+ :type: boolean
+
+ .. attribute:: useXRay
+
+ Whether or not to use XRay.
+
+ :type: boolean
+
+ .. attribute:: hitObject
+
+ The game object that was hit by the ray. (read-only).
+
+ :type: :class:`KX_GameObject`
+
+ .. attribute:: hitPosition
+
+ The position (in worldcoordinates) where the object was hit by the ray. (read-only).
+
+ :type: list [x, y, z]
+
+ .. attribute:: hitNormal
+
+ The normal (in worldcoordinates) of the object at the location where the object was hit by the ray. (read-only).
+
+ :type: list [x, y, z]
+
+ .. attribute:: rayDirection
+
+ The direction from the ray (in worldcoordinates). (read-only).
+
+ :type: list [x, y, z]
+
+ .. attribute:: axis
+
+ The axis the ray is pointing on.
+
+ :type: integer from 0 to 5
+
+ * KX_RAY_AXIS_POS_X
+ * KX_RAY_AXIS_POS_Y
+ * KX_RAY_AXIS_POS_Z
+ * KX_RAY_AXIS_NEG_X
+ * KX_RAY_AXIS_NEG_Y
+ * KX_RAY_AXIS_NEG_Z
+
+.. class:: KX_SCA_AddObjectActuator(SCA_IActuator)
+
+ Edit Object Actuator (in Add Object Mode)
+
+ .. warning::
+
+ An Add Object actuator will be ignored if at game start, the linked object doesn't exist (or is empty) or the linked object is in an active layer.
+
+ .. code-block:: none
+
+ Error: GameObject 'Name' has a AddObjectActuator 'ActuatorName' without object (in 'nonactive' layer)
+
+ .. attribute:: object
+
+ the object this actuator adds.
+
+ :type: :class:`KX_GameObject` or None
+
+ .. attribute:: objectLastCreated
+
+ the last added object from this actuator (read-only).
+
+ :type: :class:`KX_GameObject` or None
+
+ .. attribute:: time
+
+ the lifetime of added objects, in frames. Set to 0 to disable automatic deletion.
+
+ :type: integer
+
+ .. attribute:: linearVelocity
+
+ the initial linear velocity of added objects.
+
+ :type: list [vx, vy, vz]
+
+ .. attribute:: angularVelocity
+
+ the initial angular velocity of added objects.
+
+ :type: list [vx, vy, vz]
+
+ .. method:: instantAddObject()
+
+ adds the object without needing to calling SCA_PythonController.activate()
+
+ .. note:: Use objectLastCreated to get the newly created object.
+
+.. class:: KX_SCA_DynamicActuator(SCA_IActuator)
+
+ Dynamic Actuator.
+
+ .. attribute:: mode
+
+ :type: integer
+
+ the type of operation of the actuator, 0-4
+
+ * KX_DYN_RESTORE_DYNAMICS(0)
+ * KX_DYN_DISABLE_DYNAMICS(1)
+ * KX_DYN_ENABLE_RIGID_BODY(2)
+ * KX_DYN_DISABLE_RIGID_BODY(3)
+ * KX_DYN_SET_MASS(4)
+
+ .. attribute:: mass
+
+ the mass value for the KX_DYN_SET_MASS operation.
+
+ :type: float
+
+.. class:: KX_SCA_EndObjectActuator(SCA_IActuator)
+
+ Edit Object Actuator (in End Object mode)
+
+ This actuator has no python methods.
+
+.. class:: KX_SCA_ReplaceMeshActuator(SCA_IActuator)
+
+ Edit Object actuator, in Replace Mesh mode.
+
+ .. warning::
+
+ Replace mesh actuators will be ignored if at game start, the named mesh doesn't exist.
+
+ This will generate a warning in the console
+
+ .. code-block:: none
+
+ Error: GameObject 'Name' ReplaceMeshActuator 'ActuatorName' without object
+
+ .. code-block:: python
+
+ # Level-of-detail
+ # Switch a game object's mesh based on its depth in the camera view.
+ # +----------+ +-----------+ +-------------------------------------+
+ # | Always +-----+ Python +-----+ Edit Object (Replace Mesh) LOD.Mesh |
+ # +----------+ +-----------+ +-------------------------------------+
+ import GameLogic
+
+ # List detail meshes here
+ # Mesh (name, near, far)
+ # Meshes overlap so that they don't 'pop' when on the edge of the distance.
+ meshes = ((".Hi", 0.0, -20.0),
+ (".Med", -15.0, -50.0),
+ (".Lo", -40.0, -100.0)
+ )
+
+ co = GameLogic.getCurrentController()
+ obj = co.owner
+ act = co.actuators["LOD." + obj.name]
+ cam = GameLogic.getCurrentScene().active_camera
+
+ def Depth(pos, plane):
+ return pos[0]*plane[0] + pos[1]*plane[1] + pos[2]*plane[2] + plane[3]
+
+ # Depth is negative and decreasing further from the camera
+ depth = Depth(obj.position, cam.world_to_camera[2])
+
+ newmesh = None
+ curmesh = None
+ # Find the lowest detail mesh for depth
+ for mesh in meshes:
+ if depth < mesh[1] and depth > mesh[2]:
+ newmesh = mesh
+ if "ME" + obj.name + mesh[0] == act.getMesh():
+ curmesh = mesh
+
+ if newmesh != None and "ME" + obj.name + newmesh[0] != act.getMesh():
+ # The mesh is a different mesh - switch it.
+ # Check the current mesh is not a better fit.
+ if curmesh == None or curmesh[1] < depth or curmesh[2] > depth:
+ act.mesh = obj.getName() + newmesh[0]
+ GameLogic.addActiveActuator(act, True)
+
+ .. attribute:: mesh
+
+ :class:`MeshProxy` or the name of the mesh that will replace the current one.
+
+ Set to None to disable actuator.
+
+ :type: :class:`MeshProxy` or None if no mesh is set
+
+ .. attribute:: useDisplayMesh
+
+ when true the displayed mesh is replaced.
+
+ :type: boolean
+
+ .. attribute:: usePhysicsMesh
+
+ when true the physics mesh is replaced.
+
+ :type: boolean
+
+ .. method:: instantReplaceMesh()
+
+ Immediately replace mesh without delay.
+
+.. class:: KX_Scene(PyObjectPlus)
+
+ An active scene that gives access to objects, cameras, lights and scene attributes.
+
+ The activity culling stuff is supposed to disable logic bricks when their owner gets too far
+ from the active camera. It was taken from some code lurking at the back of KX_Scene - who knows
+ what it does!
+
+ .. code-block:: python
+
+ import GameLogic
+
+ # get the scene
+ scene = GameLogic.getCurrentScene()
+
+ # print all the objects in the scene
+ for obj in scene.objects:
+ print obj.name
+
+ # get an object named 'Cube'
+ obj = scene.objects["Cube"]
+
+ # get the first object in the scene.
+ obj = scene.objects[0]
+
+ .. code-block:: python
+
+ # Get the depth of an object in the camera view.
+ import GameLogic
+
+ obj = GameLogic.getCurrentController().owner
+ cam = GameLogic.getCurrentScene().active_camera
+
+ # Depth is negative and decreasing further from the camera
+ depth = obj.position[0]*cam.world_to_camera[2][0] + obj.position[1]*cam.world_to_camera[2][1] + obj.position[2]*cam.world_to_camera[2][2] + cam.world_to_camera[2][3]
+
+ @bug: All attributes are read only at the moment.
+
+ .. attribute:: name
+
+ The scene's name, (read-only).
+
+ :type: string
+
+ .. attribute:: objects
+
+ A list of objects in the scene, (read-only).
+
+ :type: :class:`CListValue` of :class:`KX_GameObject`
+
+ .. attribute:: objectsInactive
+
+ A list of objects on background layers (used for the addObject actuator), (read-only).
+
+ :type: :class:`CListValue` of :class:`KX_GameObject`
+
+ .. attribute:: lights
+
+ A list of lights in the scene, (read-only).
+
+ :type: :class:`CListValue` of :class:`KX_LightObject`
+
+ .. attribute:: cameras
+
+ A list of cameras in the scene, (read-only).
+
+ :type: :class:`CListValue` of :class:`KX_Camera`
+
+ .. attribute:: active_camera
+
+ The current active camera.
+
+ :type: :class:`KX_Camera`
+
+ .. note::
+
+ This can be set directly from python to avoid using the :class:`KX_SceneActuator`.
+
+ .. attribute:: suspended
+
+ True if the scene is suspended, (read-only).
+
+ :type: boolean
+
+ .. attribute:: activity_culling
+
+ True if the scene is activity culling.
+
+ :type: boolean
+
+ .. attribute:: activity_culling_radius
+
+ The distance outside which to do activity culling. Measured in manhattan distance.
+
+ :type: float
+
+ .. attribute:: dbvt_culling
+
+ True when Dynamic Bounding box Volume Tree is set (read-only).
+
+ :type: boolean
+
+ .. attribute:: pre_draw
+
+ A list of callables to be run before the render step.
+
+ :type: list
+
+ .. attribute:: post_draw
+
+ A list of callables to be run after the render step.
+
+ :type: list
+
+ .. method:: addObject(object, other, time=0)
+
+ Adds an object to the scene like the Add Object Actuator would.
+
+ :arg object: The object to add
+ :type object: :class:`KX_GameObject` or string
+ :arg other: The object's center to use when adding the object
+ :type other: :class:`KX_GameObject` or string
+ :arg time: The lifetime of the added object, in frames. A time of 0 means the object will last forever.
+ :type time: integer
+ :return: The newly added object.
+ :rtype: :class:`KX_GameObject`
+
+ .. method:: end()
+
+ Removes the scene from the game.
+
+ .. method:: restart()
+
+ Restarts the scene.
+
+ .. method:: replace(scene)
+
+ Replaces this scene with another one.
+
+ :arg scene: The name of the scene to replace this scene with.
+ :type scene: string
+
+ .. method:: suspend()
+
+ Suspends this scene.
+
+ .. method:: resume()
+
+ Resume this scene.
+
+ .. method:: get(key, default=None)
+
+ Return the value matching key, or the default value if its not found.
+ :return: The key value or a default.
+
+.. class:: KX_SceneActuator(SCA_IActuator)
+
+ Scene Actuator logic brick.
+
+ .. warning::
+
+ Scene actuators that use a scene name will be ignored if at game start, the named scene doesn't exist or is empty
+
+ This will generate a warning in the console:
+
+ .. code-block:: none
+
+ Error: GameObject 'Name' has a SceneActuator 'ActuatorName' (SetScene) without scene
+
+ .. attribute:: scene
+
+ the name of the scene to change to/overlay/underlay/remove/suspend/resume.
+
+ :type: string
+
+ .. attribute:: camera
+
+ the camera to change to.
+
+ :type: :class:`KX_Camera` on read, string or :class:`KX_Camera` on write
+
+ .. note::
+
+ When setting the attribute, you can use either a :class:`KX_Camera` or the name of the camera.
+
+ .. attribute:: useRestart
+
+ Set flag to True to restart the sene.
+
+ :type: boolean
+
+ .. attribute:: mode
+
+ The mode of the actuator.
+
+ :type: integer from 0 to 5.
+
+.. class:: KX_SoundActuator(SCA_IActuator)
+
+ Sound Actuator.
+
+ The :data:`startSound`, :data:`pauseSound` and :data:`stopSound` do not requirethe actuator to be activated - they act instantly provided that the actuator has been activated once at least.
+
+ .. attribute:: fileName
+
+ The filename of the sound this actuator plays.
+
+ :type: string
+
+ .. attribute:: volume
+
+ The volume (gain) of the sound.
+
+ :type: float
+
+ .. attribute:: pitch
+
+ The pitch of the sound.
+
+ :type: float
+
+ .. attribute:: rollOffFactor
+
+ The roll off factor. Rolloff defines the rate of attenuation as the sound gets further away.
+
+ :type: float
+
+ .. attribute:: looping
+
+ The loop mode of the actuator.
+
+ :type: integer
+
+ .. attribute:: position
+
+ The position of the sound as a list: [x, y, z].
+
+ :type: float array
+
+ .. attribute:: velocity
+
+ The velocity of the emitter as a list: [x, y, z]. The relative velocity to the observer determines the pitch. List of 3 floats: [x, y, z].
+
+ :type: float array
+
+ .. attribute:: orientation
+
+ The orientation of the sound. When setting the orientation you can also use quaternion [float, float, float, float] or euler angles [float, float, float].
+
+ :type: 3x3 matrix [[float]]
+
+ .. attribute:: mode
+
+ The operation mode of the actuator. Can be one of :ref:`these constants<logic-sound-actuator>`
+
+ :type: integer
+
+.. class:: KX_StateActuator(SCA_IActuator)
+
+ State actuator changes the state mask of parent object.
+
+ .. attribute:: operation
+
+ Type of bit operation to be applied on object state mask.
+
+ You can use one of :ref:`these constants <state-actuator-operation>`
+
+ :type: integer
+
+ .. attribute:: mask
+
+ Value that defines the bits that will be modified by the operation.
+
+ The bits that are 1 in the mask will be updated in the object state.
+
+ The bits that are 0 are will be left unmodified expect for the Copy operation which copies the mask to the object state.
+
+ :type: integer
+
+.. class:: KX_TrackToActuator(SCA_IActuator)
+
+ Edit Object actuator in Track To mode.
+
+ .. warning::
+
+ Track To Actuators will be ignored if at game start, the object to track to is invalid.
+
+ This will generate a warning in the console:
+
+ .. code-block:: none
+
+ GameObject 'Name' no object in EditObjectActuator 'ActuatorName'
+
+ .. attribute:: object
+
+ the object this actuator tracks.
+
+ :type: :class:`KX_GameObject` or None
+
+ .. attribute:: time
+
+ the time in frames with which to delay the tracking motion.
+
+ :type: integer
+
+ .. attribute:: use3D
+
+ the tracking motion to use 3D.
+
+ :type: boolean
+
+.. class:: KX_VehicleWrapper(PyObjectPlus)
+
+ KX_VehicleWrapper
+
+ TODO - description
+
+ .. method:: addWheel(wheel, attachPos, attachDir, axleDir, suspensionRestLength, wheelRadius, hasSteering)
+
+ Add a wheel to the vehicle
+
+ :arg wheel: The object to use as a wheel.
+ :type wheel: :class:`KX_GameObject` or a KX_GameObject name
+ :arg attachPos: The position that this wheel will attach to.
+ :type attachPos: vector of 3 floats
+ :arg attachDir: The direction this wheel points.
+ :type attachDir: vector of 3 floats
+ :arg axleDir: The direction of this wheels axle.
+ :type axleDir: vector of 3 floats
+ :arg suspensionRestLength: TODO - Description
+ :type suspensionRestLength: float
+ :arg wheelRadius: The size of the wheel.
+ :type wheelRadius: float
+
+ .. method:: applyBraking(force, wheelIndex)
+
+ Apply a braking force to the specified wheel
+
+ :arg force: the brake force
+ :type force: float
+
+ :arg wheelIndex: index of the wheel where the force needs to be applied
+ :type wheelIndex: integer
+
+ .. method:: applyEngineForce(force, wheelIndex)
+
+ Apply an engine force to the specified wheel
+
+ :arg force: the engine force
+ :type force: float
+
+ :arg wheelIndex: index of the wheel where the force needs to be applied
+ :type wheelIndex: integer
+
+ .. method:: getConstraintId()
+
+ Get the constraint ID
+
+ :return: the constraint id
+ :rtype: integer
+
+ .. method:: getConstraintType()
+
+ Returns the constraint type.
+
+ :return: constraint type
+ :rtype: integer
+
+ .. method:: getNumWheels()
+
+ Returns the number of wheels.
+
+ :return: the number of wheels for this vehicle
+ :rtype: integer
+
+ .. method:: getWheelOrientationQuaternion(wheelIndex)
+
+ Returns the wheel orientation as a quaternion.
+
+ :arg wheelIndex: the wheel index
+ :type wheelIndex: integer
+
+ :return: TODO Description
+ :rtype: TODO - type should be quat as per method name but from the code it looks like a matrix
+
+ .. method:: getWheelPosition(wheelIndex)
+
+ Returns the position of the specified wheel
+
+ :arg wheelIndex: the wheel index
+ :type wheelIndex: integer
+ :return: position vector
+ :rtype: list[x, y, z]
+
+ .. method:: getWheelRotation(wheelIndex)
+
+ Returns the rotation of the specified wheel
+
+ :arg wheelIndex: the wheel index
+ :type wheelIndex: integer
+
+ :return: the wheel rotation
+ :rtype: float
+
+ .. method:: setRollInfluence(rollInfluece, wheelIndex)
+
+ Set the specified wheel's roll influence.
+ The higher the roll influence the more the vehicle will tend to roll over in corners.
+
+ :arg rollInfluece: the wheel roll influence
+ :type rollInfluece: float
+
+ :arg wheelIndex: the wheel index
+ :type wheelIndex: integer
+
+ .. method:: setSteeringValue(steering, wheelIndex)
+
+ Set the specified wheel's steering
+
+ :arg steering: the wheel steering
+ :type steering: float
+
+ :arg wheelIndex: the wheel index
+ :type wheelIndex: integer
+
+ .. method:: setSuspensionCompression(compression, wheelIndex)
+
+ Set the specified wheel's compression
+
+ :arg compression: the wheel compression
+ :type compression: float
+
+ :arg wheelIndex: the wheel index
+ :type wheelIndex: integer
+
+ .. method:: setSuspensionDamping(damping, wheelIndex)
+
+ Set the specified wheel's damping
+
+ :arg damping: the wheel damping
+ :type damping: float
+
+ :arg wheelIndex: the wheel index
+ :type wheelIndex: integer
+
+ .. method:: setSuspensionStiffness(stiffness, wheelIndex)
+
+ Set the specified wheel's stiffness
+
+ :arg stiffness: the wheel stiffness
+ :type stiffness: float
+
+ :arg wheelIndex: the wheel index
+ :type wheelIndex: integer
+
+ .. method:: setTyreFriction(friction, wheelIndex)
+
+ Set the specified wheel's tyre friction
+
+ :arg friction: the tyre friction
+ :type friction: float
+
+ :arg wheelIndex: the wheel index
+ :type wheelIndex: integer
+
+.. class:: KX_VertexProxy(SCA_IObject)
+
+ A vertex holds position, UV, colour and normal information.
+
+ Note:
+ The physics simulation is NOT currently updated - physics will not respond
+ to changes in the vertex position.
+
+ .. attribute:: XYZ
+
+ The position of the vertex.
+
+ :type: list [x, y, z]
+
+ .. attribute:: UV
+
+ The texture coordinates of the vertex.
+
+ :type: list [u, v]
+
+ .. attribute:: normal
+
+ The normal of the vertex.
+
+ :type: list [nx, ny, nz]
+
+ .. attribute:: colour
+
+ The colour of the vertex.
+
+ :type: list [r, g, b, a]
+
+ Black = [0.0, 0.0, 0.0, 1.0], White = [1.0, 1.0, 1.0, 1.0]
+
+ .. attribute:: color
+
+ Synonym for colour.
+
+ .. attribute:: x
+
+ The x coordinate of the vertex.
+
+ :type: float
+
+ .. attribute:: y
+
+ The y coordinate of the vertex.
+
+ :type: float
+
+ .. attribute:: z
+
+ The z coordinate of the vertex.
+
+ :type: float
+
+ .. attribute:: u
+
+ The u texture coordinate of the vertex.
+
+ :type: float
+
+ .. attribute:: v
+
+ The v texture coordinate of the vertex.
+
+ :type: float
+
+ .. attribute:: u2
+
+ The second u texture coordinate of the vertex.
+
+ :type: float
+
+ .. attribute:: v2
+
+ The second v texture coordinate of the vertex.
+
+ :type: float
+
+ .. attribute:: r
+
+ The red component of the vertex colour. 0.0 <= r <= 1.0.
+
+ :type: float
+
+ .. attribute:: g
+
+ The green component of the vertex colour. 0.0 <= g <= 1.0.
+
+ :type: float
+
+ .. attribute:: b
+
+ The blue component of the vertex colour. 0.0 <= b <= 1.0.
+
+ :type: float
+
+ .. attribute:: a
+
+ The alpha component of the vertex colour. 0.0 <= a <= 1.0.
+
+ :type: float
+
+ .. method:: getXYZ()
+
+ Gets the position of this vertex.
+
+ :return: this vertexes position in local coordinates.
+ :rtype: list [x, y, z]
+
+ .. method:: setXYZ(pos)
+
+ Sets the position of this vertex.
+
+ :type: list [x, y, z]
+
+ :arg pos: the new position for this vertex in local coordinates.
+
+ .. method:: getUV()
+
+ Gets the UV (texture) coordinates of this vertex.
+
+ :return: this vertexes UV (texture) coordinates.
+ :rtype: list [u, v]
+
+ .. method:: setUV(uv)
+
+ Sets the UV (texture) coordinates of this vertex.
+
+ :type: list [u, v]
+
+ .. method:: getUV2()
+
+ Gets the 2nd UV (texture) coordinates of this vertex.
+
+ :return: this vertexes UV (texture) coordinates.
+ :rtype: list [u, v]
+
+ .. method:: setUV2(uv, unit)
+
+ Sets the 2nd UV (texture) coordinates of this vertex.
+
+ :type: list [u, v]
+
+ :arg unit: optional argument, FLAT==1, SECOND_UV==2, defaults to SECOND_UV
+ :arg unit: integer
+
+ .. method:: getRGBA()
+
+ Gets the colour of this vertex.
+
+ The colour is represented as four bytes packed into an integer value. The colour is
+ packed as RGBA.
+
+ Since Python offers no way to get each byte without shifting, you must use the struct module to
+ access colour in an machine independent way.
+
+ Because of this, it is suggested you use the r, g, b and a attributes or the colour attribute instead.
+
+ .. code-block:: python
+
+ import struct;
+ col = struct.unpack('4B', struct.pack('I', v.getRGBA()))
+ # col = (r, g, b, a)
+ # black = ( 0, 0, 0, 255)
+ # white = (255, 255, 255, 255)
+
+ :return: packed colour. 4 byte integer with one byte per colour channel in RGBA format.
+ :rtype: integer
+
+ .. method:: setRGBA(col)
+
+ Sets the colour of this vertex.
+
+ See getRGBA() for the format of col, and its relevant problems. Use the r, g, b and a attributes
+ or the colour attribute instead.
+
+ setRGBA() also accepts a four component list as argument col. The list represents the colour as [r, g, b, a]
+ with black = [0.0, 0.0, 0.0, 1.0] and white = [1.0, 1.0, 1.0, 1.0]
+
+ .. code-block:: python
+
+ v.setRGBA(0xff0000ff) # Red
+ v.setRGBA(0xff00ff00) # Green on little endian, transparent purple on big endian
+ v.setRGBA([1.0, 0.0, 0.0, 1.0]) # Red
+ v.setRGBA([0.0, 1.0, 0.0, 1.0]) # Green on all platforms.
+
+ :arg col: the new colour of this vertex in packed RGBA format.
+ :type col: integer or list [r, g, b, a]
+
+ .. method:: getNormal()
+
+ Gets the normal vector of this vertex.
+
+ :return: normalised normal vector.
+ :rtype: list [nx, ny, nz]
+
+ .. method:: setNormal(normal)
+
+ Sets the normal vector of this vertex.
+
+ :type: sequence of floats [r, g, b]
+
+ :arg normal: the new normal of this vertex.
+
+.. class:: KX_VisibilityActuator(SCA_IActuator)
+
+ Visibility Actuator.
+
+ .. attribute:: visibility
+
+ whether the actuator makes its parent object visible or invisible.
+
+ :type: boolean
+
+ .. attribute:: useOcclusion
+
+ whether the actuator makes its parent object an occluder or not.
+
+ :type: boolean
+
+ .. attribute:: useRecursion
+
+ whether the visibility/occlusion should be propagated to all children of the object.
+
+ :type: boolean
+
+.. class:: SCA_2DFilterActuator(SCA_IActuator)
+
+ Create, enable and disable 2D filters
+
+ The following properties don't have an immediate effect.
+ You must active the actuator to get the result.
+ The actuator is not persistent: it automatically stops itself after setting up the filter
+ but the filter remains active. To stop a filter you must activate the actuator with 'type'
+ set to :data:`~bge.logic.RAS_2DFILTER_DISABLED` or :data:`~bge.logic.RAS_2DFILTER_NOFILTER`.
+
+ .. attribute:: shaderText
+
+ shader source code for custom shader.
+
+ :type: string
+
+ .. attribute:: disableMotionBlur
+
+ action on motion blur: 0=enable, 1=disable.
+
+ :type: integer
+
+ .. attribute:: mode
+
+ Type of 2D filter, use one of :ref:`these constants <Two-D-FilterActuator-mode>`
+
+ :type: integer
+
+ .. attribute:: passNumber
+
+ order number of filter in the stack of 2D filters. Filters are executed in increasing order of passNb.
+
+ Only be one filter can be defined per passNb.
+
+ :type: integer (0-100)
+
+ .. attribute:: value
+
+ argument for motion blur filter.
+
+ :type: float (0.0-100.0)
+
+.. class:: SCA_ANDController(SCA_IController)
+
+ An AND controller activates only when all linked sensors are activated.
+
+ There are no special python methods for this controller.
+
+.. class:: SCA_ActuatorSensor(SCA_ISensor)
+
+ Actuator sensor detect change in actuator state of the parent object.
+ It generates a positive pulse if the corresponding actuator is activated
+ and a negative pulse if the actuator is deactivated.
+
+ .. attribute:: actuator
+
+ the name of the actuator that the sensor is monitoring.
+
+ :type: string
+
+.. class:: SCA_AlwaysSensor(SCA_ISensor)
+
+ This sensor is always activated.
+
+.. class:: SCA_DelaySensor(SCA_ISensor)
+
+ The Delay sensor generates positive and negative triggers at precise time,
+ expressed in number of frames. The delay parameter defines the length of the initial OFF period. A positive trigger is generated at the end of this period.
+
+ The duration parameter defines the length of the ON period following the OFF period.
+ There is a negative trigger at the end of the ON period. If duration is 0, the sensor stays ON and there is no negative trigger.
+
+ The sensor runs the OFF-ON cycle once unless the repeat option is set: the OFF-ON cycle repeats indefinately (or the OFF cycle if duration is 0).
+
+ Use :class:`SCA_ISensor.reset` at any time to restart sensor.
+
+ .. attribute:: delay
+
+ length of the initial OFF period as number of frame, 0 for immediate trigger.
+
+ :type: integer.
+
+ .. attribute:: duration
+
+ length of the ON period in number of frame after the initial OFF period.
+
+ If duration is greater than 0, a negative trigger is sent at the end of the ON pulse.
+
+ :type: integer
+
+ .. attribute:: repeat
+
+ 1 if the OFF-ON cycle should be repeated indefinately, 0 if it should run once.
+
+ :type: integer
+
+.. class:: SCA_JoystickSensor(SCA_ISensor)
+
+ This sensor detects player joystick events.
+
+ .. attribute:: axisValues
+
+ The state of the joysticks axis as a list of values :data:`numAxis` long. (read-only).
+
+ :type: list of ints.
+
+ Each spesifying the value of an axis between -32767 and 32767 depending on how far the axis is pushed, 0 for nothing.
+ The first 2 values are used by most joysticks and gamepads for directional control. 3rd and 4th values are only on some joysticks and can be used for arbitary controls.
+
+ * left:[-32767, 0, ...]
+ * right:[32767, 0, ...]
+ * up:[0, -32767, ...]
+ * down:[0, 32767, ...]
+
+ .. attribute:: axisSingle
+
+ like :data:`axisValues` but returns a single axis value that is set by the sensor. (read-only).
+
+ :type: integer
+
+ .. note::
+
+ Only use this for "Single Axis" type sensors otherwise it will raise an error.
+
+ .. attribute:: hatValues
+
+ The state of the joysticks hats as a list of values :data:`numHats` long. (read-only).
+
+ :type: list of ints
+
+ Each spesifying the direction of the hat from 1 to 12, 0 when inactive.
+
+ Hat directions are as follows...
+
+ * 0:None
+ * 1:Up
+ * 2:Right
+ * 4:Down
+ * 8:Left
+ * 3:Up - Right
+ * 6:Down - Right
+ * 12:Down - Left
+ * 9:Up - Left
+
+ .. attribute:: hatSingle
+
+ Like :data:`hatValues` but returns a single hat direction value that is set by the sensor. (read-only).
+
+ :type: integer
+
+ .. attribute:: numAxis
+
+ The number of axes for the joystick at this index. (read-only).
+
+ :type: integer
+
+ .. attribute:: numButtons
+
+ The number of buttons for the joystick at this index. (read-only).
+
+ :type: integer
+
+ .. attribute:: numHats
+
+ The number of hats for the joystick at this index. (read-only).
+
+ :type: integer
+
+ .. attribute:: connected
+
+ True if a joystick is connected at this joysticks index. (read-only).
+
+ :type: boolean
+
+ .. attribute:: index
+
+ The joystick index to use (from 0 to 7). The first joystick is always 0.
+
+ :type: integer
+
+ .. attribute:: threshold
+
+ Axis threshold. Joystick axis motion below this threshold wont trigger an event. Use values between (0 and 32767), lower values are more sensitive.
+
+ :type: integer
+
+ .. attribute:: button
+
+ The button index the sensor reacts to (first button = 0). When the "All Events" toggle is set, this option has no effect.
+
+ :type: integer
+
+ .. attribute:: axis
+
+ The axis this sensor reacts to, as a list of two values [axisIndex, axisDirection]
+
+ * axisIndex: the axis index to use when detecting axis movement, 1=primary directional control, 2=secondary directional control.
+ * axisDirection: 0=right, 1=up, 2=left, 3=down.
+
+ :type: [integer, integer]
+
+ .. attribute:: hat
+
+ The hat the sensor reacts to, as a list of two values: [hatIndex, hatDirection]
+
+ * hatIndex: the hat index to use when detecting hat movement, 1=primary hat, 2=secondary hat (4 max).
+ * hatDirection: 1-12.
+
+ :type: [integer, integer]
+
+ .. method:: getButtonActiveList()
+
+ :return: A list containing the indicies of the currently pressed buttons.
+ :rtype: list
+
+ .. method:: getButtonStatus(buttonIndex)
+
+ :arg buttonIndex: the button index, 0=first button
+ :type buttonIndex: integer
+ :return: The current pressed state of the specified button.
+ :rtype: boolean
+
+.. class:: SCA_KeyboardSensor(SCA_ISensor)
+
+ A keyboard sensor detects player key presses.
+
+ See module :mod:`bge.keys` for keycode values.
+
+ .. attribute:: key
+
+ The key code this sensor is looking for.
+
+ :type: keycode from :mod:`bge.keys` module
+
+ .. attribute:: hold1
+
+ The key code for the first modifier this sensor is looking for.
+
+ :type: keycode from :mod:`bge.keys` module
+
+ .. attribute:: hold2
+
+ The key code for the second modifier this sensor is looking for.
+
+ :type: keycode from :mod:`bge.keys` module
+
+ .. attribute:: toggleProperty
+
+ The name of the property that indicates whether or not to log keystrokes as a string.
+
+ :type: string
+
+ .. attribute:: targetProperty
+
+ The name of the property that receives keystrokes in case in case a string is logged.
+
+ :type: string
+
+ .. attribute:: useAllKeys
+
+ Flag to determine whether or not to accept all keys.
+
+ :type: boolean
+
+ .. attribute:: events
+
+ a list of pressed keys that have either been pressed, or just released, or are active this frame. (read-only).
+
+ :type: list [[:ref:`keycode<keyboard-keys>`, :ref:`status<input-status>`], ...]
+
+ .. method:: getKeyStatus(keycode)
+
+ Get the status of a key.
+
+ :arg keycode: The code that represents the key you want to get the state of, use one of :ref:`these constants<keyboard-keys>`
+ :type keycode: integer
+ :return: The state of the given key, can be one of :ref:`these constants<input-status>`
+ :rtype: int
+
+.. class:: SCA_NANDController(SCA_IController)
+
+ An NAND controller activates when all linked sensors are not active.
+
+ There are no special python methods for this controller.
+
+.. class:: SCA_NORController(SCA_IController)
+
+ An NOR controller activates only when all linked sensors are de-activated.
+
+ There are no special python methods for this controller.
+
+.. class:: SCA_ORController(SCA_IController)
+
+ An OR controller activates when any connected sensor activates.
+
+ There are no special python methods for this controller.
+
+.. class:: SCA_PropertyActuator(SCA_IActuator)
+
+ Property Actuator
+
+ .. attribute:: propName
+
+ the property on which to operate.
+
+ :type: string
+
+ .. attribute:: value
+
+ the value with which the actuator operates.
+
+ :type: string
+
+ .. attribute:: mode
+
+ TODO - add constants to game logic dict!.
+
+ :type: integer
+
+.. class:: SCA_PropertySensor(SCA_ISensor)
+
+ Activates when the game object property matches.
+
+ .. attribute:: mode
+
+ Type of check on the property. Can be one of :ref:`these constants <logic-property-sensor>`
+
+ :type: integer.
+
+ .. attribute:: propName
+
+ the property the sensor operates.
+
+ :type: string
+
+ .. attribute:: value
+
+ the value with which the sensor compares to the value of the property.
+
+ :type: string
+
+ .. attribute:: min
+
+ the minimum value of the range used to evaluate the property when in interval mode.
+
+ :type: string
+
+ .. attribute:: max
+
+ the maximum value of the range used to evaluate the property when in interval mode.
+
+ :type: string
+
+.. class:: SCA_PythonController(SCA_IController)
+
+ A Python controller uses a Python script to activate it's actuators,
+ based on it's sensors.
+
+ .. attribute:: script
+
+ The value of this variable depends on the execution methid.
+
+ * When 'Script' execution mode is set this value contains the entire python script as a single string (not the script name as you might expect) which can be modified to run different scripts.
+ * When 'Module' execution mode is set this value will contain a single line string - module name and function "module.func" or "package.modile.func" where the module names are python textblocks or external scripts.
+
+ :type: string
+
+ .. note::
+
+ Once this is set the script name given for warnings will remain unchanged.
+
+ .. attribute:: mode
+
+ the execution mode for this controller (read-only).
+
+ * Script: 0, Execite the :data:`script` as a python code.
+ * Module: 1, Execite the :data:`script` as a module and function.
+
+ :type: integer
+
+ .. method:: activate(actuator)
+
+ Activates an actuator attached to this controller.
+
+ :arg actuator: The actuator to operate on.
+ :type actuator: actuator or the actuator name as a string
+
+ .. method:: deactivate(actuator)
+
+ Deactivates an actuator attached to this controller.
+
+ :arg actuator: The actuator to operate on.
+ :type actuator: actuator or the actuator name as a string
+
+.. class:: SCA_RandomActuator(SCA_IActuator)
+
+ Random Actuator
+
+ .. attribute:: seed
+
+ Seed of the random number generator.
+
+ :type: integer.
+
+ Equal seeds produce equal series. If the seed is 0, the generator will produce the same value on every call.
+
+ .. attribute:: para1
+
+ the first parameter of the active distribution.
+
+ :type: float, read-only.
+
+ Refer to the documentation of the generator types for the meaning of this value.
+
+ .. attribute:: para2
+
+ the second parameter of the active distribution.
+
+ :type: float, read-only
+
+ Refer to the documentation of the generator types for the meaning of this value.
+
+ .. attribute:: distribution
+
+ Distribution type. (read-only). Can be one of :ref:`these constants <logic-random-distributions>`
+
+ :type: integer
+
+ .. attribute:: propName
+
+ the name of the property to set with the random value.
+
+ :type: string
+
+ If the generator and property types do not match, the assignment is ignored.
+
+ .. method:: setBoolConst(value)
+
+ Sets this generator to produce a constant boolean value.
+
+ :arg value: The value to return.
+ :type value: boolean
+
+ .. method:: setBoolUniform()
+
+ Sets this generator to produce a uniform boolean distribution.
+
+ The generator will generate True or False with 50% chance.
+
+ .. method:: setBoolBernouilli(value)
+
+ Sets this generator to produce a Bernouilli distribution.
+
+ :arg value: Specifies the proportion of False values to produce.
+
+ * 0.0: Always generate True
+ * 1.0: Always generate False
+ :type value: float
+
+ .. method:: setIntConst(value)
+
+ Sets this generator to always produce the given value.
+
+ :arg value: the value this generator produces.
+ :type value: integer
+
+ .. method:: setIntUniform(lower_bound, upper_bound)
+
+ Sets this generator to produce a random value between the given lower and
+ upper bounds (inclusive).
+
+ :type lower_bound: integer
+ :type upper_bound: integer
+
+ .. method:: setIntPoisson(value)
+
+ Generate a Poisson-distributed number.
+
+ This performs a series of Bernouilli tests with parameter value.
+ It returns the number of tries needed to achieve succes.
+
+ :type value: float
+
+ .. method:: setFloatConst(value)
+
+ Always generate the given value.
+
+ :type value: float
+
+ .. method:: setFloatUniform(lower_bound, upper_bound)
+
+ Generates a random float between lower_bound and upper_bound with a
+ uniform distribution.
+
+ :type lower_bound: float
+ :type upper_bound: float
+
+ .. method:: setFloatNormal(mean, standard_deviation)
+
+ Generates a random float from the given normal distribution.
+
+ :arg mean: The mean (average) value of the generated numbers
+ :type mean: float
+ :arg standard_deviation: The standard deviation of the generated numbers.
+ :type standard_deviation: float
+
+ .. method:: setFloatNegativeExponential(half_life)
+
+ Generate negative-exponentially distributed numbers.
+
+ The half-life 'time' is characterized by half_life.
+
+ :type half_life: float
+
+.. class:: SCA_RandomSensor(SCA_ISensor)
+
+ This sensor activates randomly.
+
+ .. attribute:: lastDraw
+
+ The seed of the random number generator.
+
+ :type: integer
+
+ .. attribute:: seed
+
+ The seed of the random number generator.
+
+ :type: integer
+
+ .. method:: setSeed(seed)
+
+ Sets the seed of the random number generator.
+
+ If the seed is 0, the generator will produce the same value on every call.
+
+ :type seed: integer
+
+ .. method:: getSeed()
+
+ :return: The initial seed of the generator. Equal seeds produce equal random series.
+ :rtype: integer
+
+ .. method:: getLastDraw()
+
+ :return: The last random number generated.
+ :rtype: integer
+
+.. class:: SCA_XNORController(SCA_IController)
+
+ An XNOR controller activates when all linked sensors are the same (activated or inative).
+
+ There are no special python methods for this controller.
+
+.. class:: SCA_XORController(SCA_IController)
+
+ An XOR controller activates when there is the input is mixed, but not when all are on or off.
+
+ There are no special python methods for this controller.
+
+.. class:: KX_Camera(KX_GameObject)
+
+ A Camera object.
+
+ .. data:: INSIDE
+
+ See :data:`sphereInsideFrustum` and :data:`boxInsideFrustum`
+
+ .. data:: INTERSECT
+
+ See :data:`sphereInsideFrustum` and :data:`boxInsideFrustum`
+
+ .. data:: OUTSIDE
+
+ See :data:`sphereInsideFrustum` and :data:`boxInsideFrustum`
+
+ .. attribute:: lens
+
+ The camera's lens value.
+
+ :type: float
+
+ .. attribute:: ortho_scale
+
+ The camera's view scale when in orthographic mode.
+
+ :type: float
+
+ .. attribute:: near
+
+ The camera's near clip distance.
+
+ :type: float
+
+ .. attribute:: far
+
+ The camera's far clip distance.
+
+ :type: float
+
+ .. attribute:: perspective
+
+ True if this camera has a perspective transform, False for an orthographic projection.
+
+ :type: boolean
+
+ .. attribute:: frustum_culling
+
+ True if this camera is frustum culling.
+
+ :type: boolean
+
+ .. attribute:: projection_matrix
+
+ This camera's 4x4 projection matrix.
+
+ :type: 4x4 Matrix [[float]]
+
+ .. attribute:: modelview_matrix
+
+ This camera's 4x4 model view matrix. (read-only).
+
+ :type: 4x4 Matrix [[float]]
+
+ .. note::
+
+ This matrix is regenerated every frame from the camera's position and orientation.
+
+ .. attribute:: camera_to_world
+
+ This camera's camera to world transform. (read-only).
+
+ :type: 4x4 Matrix [[float]]
+
+ .. note::
+
+ This matrix is regenerated every frame from the camera's position and orientation.
+
+ .. attribute:: world_to_camera
+
+ This camera's world to camera transform. (read-only).
+
+ :type: 4x4 Matrix [[float]]
+
+ .. note::
+
+ Regenerated every frame from the camera's position and orientation.
+
+ .. note::
+
+ This is camera_to_world inverted.
+
+ .. attribute:: useViewport
+
+ True when the camera is used as a viewport, set True to enable a viewport for this camera.
+
+ :type: boolean
+
+ .. method:: sphereInsideFrustum(centre, radius)
+
+ Tests the given sphere against the view frustum.
+
+ :arg centre: The centre of the sphere (in world coordinates.)
+ :type centre: list [x, y, z]
+ :arg radius: the radius of the sphere
+ :type radius: float
+ :return: :data:`~bge.types.KX_Camera.INSIDE`, :data:`~bge.types.KX_Camera.OUTSIDE` or :data:`~bge.types.KX_Camera.INTERSECT`
+ :rtype: integer
+
+ .. note::
+
+ When the camera is first initialized the result will be invalid because the projection matrix has not been set.
+
+ .. code-block:: python
+
+ import GameLogic
+ co = GameLogic.getCurrentController()
+ cam = co.owner
+
+ # A sphere of radius 4.0 located at [x, y, z] = [1.0, 1.0, 1.0]
+ if (cam.sphereInsideFrustum([1.0, 1.0, 1.0], 4) != cam.OUTSIDE):
+ # Sphere is inside frustum !
+ # Do something useful !
+ else:
+ # Sphere is outside frustum
+
+ .. method:: boxInsideFrustum(box)
+
+ Tests the given box against the view frustum.
+
+ :arg box: Eight (8) corner points of the box (in world coordinates.)
+ :type box: list of lists
+ :return: :data:`~bge.types.KX_Camera.INSIDE`, :data:`~bge.types.KX_Camera.OUTSIDE` or :data:`~bge.types.KX_Camera.INTERSECT`
+
+ .. note::
+
+ When the camera is first initialized the result will be invalid because the projection matrix has not been set.
+
+ .. code-block:: python
+
+ import GameLogic
+ co = GameLogic.getCurrentController()
+ cam = co.owner
+
+ # Box to test...
+ box = []
+ box.append([-1.0, -1.0, -1.0])
+ box.append([-1.0, -1.0, 1.0])
+ box.append([-1.0, 1.0, -1.0])
+ box.append([-1.0, 1.0, 1.0])
+ box.append([ 1.0, -1.0, -1.0])
+ box.append([ 1.0, -1.0, 1.0])
+ box.append([ 1.0, 1.0, -1.0])
+ box.append([ 1.0, 1.0, 1.0])
+
+ if (cam.boxInsideFrustum(box) != cam.OUTSIDE):
+ # Box is inside/intersects frustum !
+ # Do something useful !
+ else:
+ # Box is outside the frustum !
+
+ .. method:: pointInsideFrustum(point)
+
+ Tests the given point against the view frustum.
+
+ :arg point: The point to test (in world coordinates.)
+ :type point: 3D Vector
+ :return: True if the given point is inside this camera's viewing frustum.
+ :rtype: boolean
+
+ .. note::
+
+ When the camera is first initialized the result will be invalid because the projection matrix has not been set.
+
+ .. code-block:: python
+
+ import GameLogic
+ co = GameLogic.getCurrentController()
+ cam = co.owner
+
+ # Test point [0.0, 0.0, 0.0]
+ if (cam.pointInsideFrustum([0.0, 0.0, 0.0])):
+ # Point is inside frustum !
+ # Do something useful !
+ else:
+ # Box is outside the frustum !
+
+ .. method:: getCameraToWorld()
+
+ Returns the camera-to-world transform.
+
+ :return: the camera-to-world transform matrix.
+ :rtype: matrix (4x4 list)
+
+ .. method:: getWorldToCamera()
+
+ Returns the world-to-camera transform.
+
+ This returns the inverse matrix of getCameraToWorld().
+
+ :return: the world-to-camera transform matrix.
+ :rtype: matrix (4x4 list)
+
+ .. method:: setOnTop()
+
+ Set this cameras viewport ontop of all other viewport.
+
+ .. method:: setViewport(left, bottom, right, top)
+
+ Sets the region of this viewport on the screen in pixels.
+
+ Use :data:`bge.render.getWindowHeight` and :data:`bge.render.getWindowWidth` to calculate values relative to the entire display.
+
+ :arg left: left pixel coordinate of this viewport
+ :type left: integer
+ :arg bottom: bottom pixel coordinate of this viewport
+ :type bottom: integer
+ :arg right: right pixel coordinate of this viewport
+ :type right: integer
+ :arg top: top pixel coordinate of this viewport
+ :type top: integer
+
+ .. method:: getScreenPosition(object)
+
+ Gets the position of an object projected on screen space.
+
+ .. code-block:: python
+
+ # For an object in the middle of the screen, coord = [0.5, 0.5]
+ coord = camera.getScreenPosition(object)
+
+ :arg object: object name or list [x, y, z]
+ :type object: :class:`KX_GameObject` or 3D Vector
+ :return: the object's position in screen coordinates.
+ :rtype: list [x, y]
+
+ .. method:: getScreenVect(x, y)
+
+ Gets the vector from the camera position in the screen coordinate direction.
+
+ :arg x: X Axis
+ :type x: float
+ :arg y: Y Axis
+ :type y: float
+ :rtype: 3D Vector
+ :return: The vector from screen coordinate.
+
+ .. code-block:: python
+
+ # Gets the vector of the camera front direction:
+ m_vect = camera.getScreenVect(0.5, 0.5)
+
+ .. method:: getScreenRay(x, y, dist=inf, property=None)
+
+ Look towards a screen coordinate (x, y) and find first object hit within dist that matches prop.
+ The ray is similar to KX_GameObject->rayCastTo.
+
+ :arg x: X Axis
+ :type x: float
+ :arg y: Y Axis
+ :type y: float
+ :arg dist: max distance to look (can be negative => look behind); 0 or omitted => detect up to other
+ :type dist: float
+ :arg property: property name that object must have; can be omitted => detect any object
+ :type property: string
+ :rtype: :class:`KX_GameObject`
+ :return: the first object hit or None if no object or object does not match prop
+
+ .. code-block:: python
+
+ # Gets an object with a property "wall" in front of the camera within a distance of 100:
+ target = camera.getScreenRay(0.5, 0.5, 100, "wall")
+
+.. class:: BL_ArmatureObject(KX_GameObject)
+
+ An armature object.
+
+ .. attribute:: constraints
+
+ The list of armature constraint defined on this armature.
+ Elements of the list can be accessed by index or string.
+ The key format for string access is '<bone_name>:<constraint_name>'.
+
+ :type: list of :class:`BL_ArmatureConstraint`
+
+ .. attribute:: channels
+
+ The list of armature channels.
+ Elements of the list can be accessed by index or name the bone.
+
+ :type: list of :class:`BL_ArmatureChannel`
+
+ .. method:: update()
+
+ Ensures that the armature will be updated on next graphic frame.
+
+ This action is unecessary if a KX_ArmatureActuator with mode run is active
+ or if an action is playing. Use this function in other cases. It must be called
+ on each frame to ensure that the armature is updated continously.
+
+.. class:: BL_ArmatureActuator(SCA_IActuator)
+
+ Armature Actuators change constraint condition on armatures.
+
+ .. _armatureactuator-constants-type:
+
+ Constants related to :data:`~bge.types.BL_ArmatureActuator.type`
+
+ .. data:: KX_ACT_ARMATURE_RUN
+
+ Just make sure the armature will be updated on the next graphic frame. This is the only persistent mode of the actuator: it executes automatically once per frame until stopped by a controller
+
+ :value: 0
+
+ .. data:: KX_ACT_ARMATURE_ENABLE
+
+ Enable the constraint.
+
+ :value: 1
+
+ .. data:: KX_ACT_ARMATURE_DISABLE
+
+ Disable the constraint (runtime constraint values are not updated).
+
+ :value: 2
+
+ .. data:: KX_ACT_ARMATURE_SETTARGET
+
+ Change target and subtarget of constraint.
+
+ :value: 3
+
+ .. data:: KX_ACT_ARMATURE_SETWEIGHT
+
+ Change weight of (only for IK constraint).
+
+ :value: 4
+
+ .. attribute:: type
+
+ The type of action that the actuator executes when it is active.
+
+ Can be one of :ref:`these constants <armatureactuator-constants-type>`
+
+ :type: integer
+
+ .. attribute:: constraint
+
+ The constraint object this actuator is controlling.
+
+ :type: :class:`BL_ArmatureConstraint`
+
+ .. attribute:: target
+
+ The object that this actuator will set as primary target to the constraint it controls.
+
+ :type: :class:`KX_GameObject`
+
+ .. attribute:: subtarget
+
+ The object that this actuator will set as secondary target to the constraint it controls.
+
+ :type: :class:`KX_GameObject`.
+
+ .. note::
+
+ Currently, the only secondary target is the pole target for IK constraint.
+
+ .. attribute:: weight
+
+ The weight this actuator will set on the constraint it controls.
+
+ :type: float.
+
+ .. note::
+
+ Currently only the IK constraint has a weight. It must be a value between 0 and 1.
+
+ .. note::
+
+ A weight of 0 disables a constraint while still updating constraint runtime values (see :class:`BL_ArmatureConstraint`)
+
+.. class:: KX_ArmatureSensor(SCA_ISensor)
+
+ Armature sensor detect conditions on armatures.
+
+ .. _armaturesensor-type:
+
+ Constants related to :data:`type`
+
+ .. data:: KX_ARMSENSOR_STATE_CHANGED
+
+ Detect that the constraint is changing state (active/inactive)
+
+ :value: 0
+
+ .. data:: KX_ARMSENSOR_LIN_ERROR_BELOW
+
+ Detect that the constraint linear error is above a threshold
+
+ :value: 1
+
+ .. data:: KX_ARMSENSOR_LIN_ERROR_ABOVE
+
+ Detect that the constraint linear error is below a threshold
+
+ :value: 2
+
+ .. data:: KX_ARMSENSOR_ROT_ERROR_BELOW
+
+ Detect that the constraint rotation error is above a threshold
+
+ :value: 3
+
+ .. data:: KX_ARMSENSOR_ROT_ERROR_ABOVE
+
+ Detect that the constraint rotation error is below a threshold
+
+ :value: 4
+
+ .. attribute:: type
+
+ The type of measurement that the sensor make when it is active.
+
+ Can be one of :ref:`these constants <armaturesensor-type>`
+
+ :type: integer.
+
+ .. attribute:: constraint
+
+ The constraint object this sensor is watching.
+
+ :type: :class:`BL_ArmatureConstraint`
+
+ .. attribute:: value
+
+ The threshold used in the comparison with the constraint error
+ The linear error is only updated on CopyPose/Distance IK constraint with iTaSC solver
+ The rotation error is only updated on CopyPose+rotation IK constraint with iTaSC solver
+ The linear error on CopyPose is always >= 0: it is the norm of the distance between the target and the bone
+ The rotation error on CopyPose is always >= 0: it is the norm of the equivalent rotation vector between the bone and the target orientations
+ The linear error on Distance can be positive if the distance between the bone and the target is greater than the desired distance, and negative if the distance is smaller.
+
+ :type: float
+
+.. class:: BL_ArmatureConstraint(PyObjectPlus)
+
+ Proxy to Armature Constraint. Allows to change constraint on the fly.
+ Obtained through :class:`BL_ArmatureObject`.constraints.
+
+ .. note::
+
+ Not all armature constraints are supported in the GE.
+
+ .. _armatureconstraint-constants-type:
+
+ Constants related to :data:`type`
+
+ .. data:: CONSTRAINT_TYPE_TRACKTO
+ .. data:: CONSTRAINT_TYPE_KINEMATIC
+ .. data:: CONSTRAINT_TYPE_ROTLIKE
+ .. data:: CONSTRAINT_TYPE_LOCLIKE
+ .. data:: CONSTRAINT_TYPE_MINMAX
+ .. data:: CONSTRAINT_TYPE_SIZELIKE
+ .. data:: CONSTRAINT_TYPE_LOCKTRACK
+ .. data:: CONSTRAINT_TYPE_STRETCHTO
+ .. data:: CONSTRAINT_TYPE_CLAMPTO
+ .. data:: CONSTRAINT_TYPE_TRANSFORM
+ .. data:: CONSTRAINT_TYPE_DISTLIMIT
+
+ .. _armatureconstraint-constants-ik-type:
+
+ Constants related to :data:`ik_type`
+
+ .. data:: CONSTRAINT_IK_COPYPOSE
+
+ constraint is trying to match the position and eventually the rotation of the target.
+
+ :value: 0
+
+ .. data:: CONSTRAINT_IK_DISTANCE
+
+ Constraint is maintaining a certain distance to target subject to ik_mode
+
+ :value: 1
+
+ .. _armatureconstraint-constants-ik-flag:
+
+ Constants related to :data:`ik_flag`
+
+ .. data:: CONSTRAINT_IK_FLAG_TIP
+
+ Set when the constraint operates on the head of the bone and not the tail
+
+ :value: 1
+
+ .. data:: CONSTRAINT_IK_FLAG_ROT
+
+ Set when the constraint tries to match the orientation of the target
+
+ :value: 2
+
+ .. data:: CONSTRAINT_IK_FLAG_STRETCH
+
+ Set when the armature is allowed to stretch (only the bones with stretch factor > 0.0)
+
+ :value: 16
+
+ .. data:: CONSTRAINT_IK_FLAG_POS
+
+ Set when the constraint tries to match the position of the target.
+
+ :value: 32
+
+ .. _armatureconstraint-constants-ik-mode:
+
+ Constants related to :data:`ik_mode`
+
+ .. data:: CONSTRAINT_IK_MODE_INSIDE
+
+ The constraint tries to keep the bone within ik_dist of target
+
+ :value: 0
+
+ .. data:: CONSTRAINT_IK_MODE_OUTSIDE
+
+ The constraint tries to keep the bone outside ik_dist of the target
+
+ :value: 1
+
+ .. data:: CONSTRAINT_IK_MODE_ONSURFACE
+
+ The constraint tries to keep the bone exactly at ik_dist of the target.
+
+ :value: 2
+
+ .. attribute:: type
+
+ Type of constraint, (read-only).
+
+ Use one of :ref:`these constants<armatureconstraint-constants-type>`.
+
+ :type: integer, one of CONSTRAINT_TYPE_* constants
+
+ .. attribute:: name
+
+ Name of constraint constructed as <bone_name>:<constraint_name>. constraints list.
+
+ :type: string
+
+ This name is also the key subscript on :class:`BL_ArmatureObject`.
+
+ .. attribute:: enforce
+
+ fraction of constraint effect that is enforced. Between 0 and 1.
+
+ :type: float
+
+ .. attribute:: headtail
+
+ Position of target between head and tail of the target bone: 0=head, 1=tail.
+
+ :type: float.
+
+ .. note::
+
+ Only used if the target is a bone (i.e target object is an armature.
+
+ .. attribute:: lin_error
+
+ runtime linear error (in Blender units) on constraint at the current frame.
+
+ This is a runtime value updated on each frame by the IK solver. Only available on IK constraint and iTaSC solver.
+
+ :type: float
+
+ .. attribute:: rot_error
+
+ Runtime rotation error (in radiant) on constraint at the current frame.
+
+ :type: float.
+
+ This is a runtime value updated on each frame by the IK solver. Only available on IK constraint and iTaSC solver.
+
+ It is only set if the constraint has a rotation part, for example, a CopyPose+Rotation IK constraint.
+
+ .. attribute:: target
+
+ Primary target object for the constraint. The position of this object in the GE will be used as target for the constraint.
+
+ :type: :class:`KX_GameObject`.
+
+ .. attribute:: subtarget
+
+ Secondary target object for the constraint. The position of this object in the GE will be used as secondary target for the constraint.
+
+ :type: :class:`KX_GameObject`.
+
+ Currently this is only used for pole target on IK constraint.
+
+ .. attribute:: active
+
+ True if the constraint is active.
+
+ :type: boolean
+
+ .. note::
+
+ An inactive constraint does not update lin_error and rot_error.
+
+ .. attribute:: ik_weight
+
+ Weight of the IK constraint between 0 and 1.
+
+ Only defined for IK constraint.
+
+ :type: float
+
+ .. attribute:: ik_type
+
+ Type of IK constraint, (read-only).
+
+ Use one of :ref:`these constants<armatureconstraint-constants-ik-type>`.
+
+ :type: integer.
+
+ .. attribute:: ik_flag
+
+ Combination of IK constraint option flags, read-only.
+
+ Use one of :ref:`these constants<armatureconstraint-constants-ik-flag>`.
+
+ :type: integer
+
+ .. attribute:: ik_dist
+
+ Distance the constraint is trying to maintain with target, only used when ik_type=CONSTRAINT_IK_DISTANCE.
+
+ :type: float
+
+ .. attribute:: ik_mode
+
+ Use one of :ref:`these constants<armatureconstraint-constants-ik-mode>`.
+
+ Additional mode for IK constraint. Currently only used for Distance constraint:
+
+ :type: integer
+
+.. class:: BL_ArmatureChannel(PyObjectPlus)
+
+ Proxy to armature pose channel. Allows to read and set armature pose.
+ The attributes are identical to RNA attributes, but mostly in read-only mode.
+
+ See :data:`rotation_mode`
+
+ .. data:: PCHAN_ROT_QUAT
+ .. data:: PCHAN_ROT_XYZ
+ .. data:: PCHAN_ROT_XZY
+ .. data:: PCHAN_ROT_YXZ
+ .. data:: PCHAN_ROT_YZX
+ .. data:: PCHAN_ROT_ZXY
+ .. data:: PCHAN_ROT_ZYX
+
+ .. attribute:: name
+
+ channel name (=bone name), read-only.
+
+ :type: string
+
+ .. attribute:: bone
+
+ return the bone object corresponding to this pose channel, read-only.
+
+ :type: :class:`BL_ArmatureBone`
+
+ .. attribute:: parent
+
+ return the parent channel object, None if root channel, read-only.
+
+ :type: :class:`BL_ArmatureChannel`
+
+ .. attribute:: has_ik
+
+ true if the bone is part of an active IK chain, read-only.
+ This flag is not set when an IK constraint is defined but not enabled (miss target information for example).
+
+ :type: boolean
+
+ .. attribute:: ik_dof_x
+
+ true if the bone is free to rotation in the X axis, read-only.
+
+ :type: boolean
+
+ .. attribute:: ik_dof_y
+
+ true if the bone is free to rotation in the Y axis, read-only.
+
+ :type: boolean
+
+ .. attribute:: ik_dof_z
+
+ true if the bone is free to rotation in the Z axis, read-only.
+
+ :type: boolean
+
+ .. attribute:: ik_limit_x
+
+ true if a limit is imposed on X rotation, read-only.
+
+ :type: boolean
+
+ .. attribute:: ik_limit_y
+
+ true if a limit is imposed on Y rotation, read-only.
+
+ :type: boolean
+
+ .. attribute:: ik_limit_z
+
+ true if a limit is imposed on Z rotation, read-only.
+
+ :type: boolean
+
+ .. attribute:: ik_rot_control
+
+ true if channel rotation should applied as IK constraint, read-only.
+
+ :type: boolean
+
+ .. attribute:: ik_lin_control
+
+ true if channel size should applied as IK constraint, read-only.
+
+ :type: boolean
+
+ .. attribute:: location
+
+ displacement of the bone head in armature local space, read-write.
+
+ :type: vector [X, Y, Z].
+
+ .. note::
+
+ You can only move a bone if it is unconnected to its parent. An action playing on the armature may change the value. An IK chain does not update this value, see joint_rotation.
+
+ .. note::
+
+ Changing this field has no immediate effect, the pose is updated when the armature is updated during the graphic render (see :data:`BL_ArmatureObject.update`).
+
+ .. attribute:: scale
+
+ scale of the bone relative to its parent, read-write.
+
+ :type: vector [sizeX, sizeY, sizeZ].
+
+ .. note::
+
+ An action playing on the armature may change the value. An IK chain does not update this value, see joint_rotation.
+
+ .. note::
+
+ Changing this field has no immediate effect, the pose is updated when the armature is updated during the graphic render (see :data:`BL_ArmatureObject.update`)
+
+ .. attribute:: rotation_quaternion
+
+ rotation of the bone relative to its parent expressed as a quaternion, read-write.
+
+ :type: vector [qr, qi, qj, qk].
+
+ .. note::
+
+ This field is only used if rotation_mode is 0. An action playing on the armature may change the value. An IK chain does not update this value, see joint_rotation.
+
+ .. note::
+
+ Changing this field has no immediate effect, the pose is updated when the armature is updated during the graphic render (see :data:`BL_ArmatureObject.update`)
+
+ .. attribute:: rotation_euler
+
+ rotation of the bone relative to its parent expressed as a set of euler angles, read-write.
+
+ :type: vector [X, Y, Z].
+
+ .. note::
+
+ This field is only used if rotation_mode is > 0. You must always pass the angles in [X, Y, Z] order; the order of applying the angles to the bone depends on rotation_mode. An action playing on the armature may change this field. An IK chain does not update this value, see joint_rotation.
+
+ .. note::
+
+ Changing this field has no immediate effect, the pose is updated when the armature is updated during the graphic render (see :data:`BL_ArmatureObject.update`)
+
+ .. attribute:: rotation_mode
+
+ Method of updating the bone rotation, read-write.
+
+ :type: integer
+
+ Use the following constants (euler mode are named as in Blender UI but the actual axis order is reversed).
+
+ * PCHAN_ROT_QUAT(0) : use quaternioin in rotation attribute to update bone rotation
+ * PCHAN_ROT_XYZ(1) : use euler_rotation and apply angles on bone's Z, Y, X axis successively
+ * PCHAN_ROT_XZY(2) : use euler_rotation and apply angles on bone's Y, Z, X axis successively
+ * PCHAN_ROT_YXZ(3) : use euler_rotation and apply angles on bone's Z, X, Y axis successively
+ * PCHAN_ROT_YZX(4) : use euler_rotation and apply angles on bone's X, Z, Y axis successively
+ * PCHAN_ROT_ZXY(5) : use euler_rotation and apply angles on bone's Y, X, Z axis successively
+ * PCHAN_ROT_ZYX(6) : use euler_rotation and apply angles on bone's X, Y, Z axis successively
+
+ .. attribute:: channel_matrix
+
+ pose matrix in bone space (deformation of the bone due to action, constraint, etc), Read-only.
+ This field is updated after the graphic render, it represents the current pose.
+
+ :type: matrix [4][4]
+
+ .. attribute:: pose_matrix
+
+ pose matrix in armature space, read-only,
+ This field is updated after the graphic render, it represents the current pose.
+
+ :type: matrix [4][4]
+
+ .. attribute:: pose_head
+
+ position of bone head in armature space, read-only.
+
+ :type: vector [x, y, z]
+
+ .. attribute:: pose_tail
+
+ position of bone tail in armature space, read-only.
+
+ :type: vector [x, y, z]
+
+ .. attribute:: ik_min_x
+
+ minimum value of X rotation in degree (<= 0) when X rotation is limited (see ik_limit_x), read-only.
+
+ :type: float
+
+ .. attribute:: ik_max_x
+
+ maximum value of X rotation in degree (>= 0) when X rotation is limited (see ik_limit_x), read-only.
+
+ :type: float
+
+ .. attribute:: ik_min_y
+
+ minimum value of Y rotation in degree (<= 0) when Y rotation is limited (see ik_limit_y), read-only.
+
+ :type: float
+
+ .. attribute:: ik_max_y
+
+ maximum value of Y rotation in degree (>= 0) when Y rotation is limited (see ik_limit_y), read-only.
+
+ :type: float
+
+ .. attribute:: ik_min_z
+
+ minimum value of Z rotation in degree (<= 0) when Z rotation is limited (see ik_limit_z), read-only.
+
+ :type: float
+
+ .. attribute:: ik_max_z
+
+ maximum value of Z rotation in degree (>= 0) when Z rotation is limited (see ik_limit_z), read-only.
+
+ :type: float
+
+ .. attribute:: ik_stiffness_x
+
+ bone rotation stiffness in X axis, read-only.
+
+ :type: float between 0 and 1
+
+ .. attribute:: ik_stiffness_y
+
+ bone rotation stiffness in Y axis, read-only.
+
+ :type: float between 0 and 1
+
+ .. attribute:: ik_stiffness_z
+
+ bone rotation stiffness in Z axis, read-only.
+
+ :type: float between 0 and 1
+
+ .. attribute:: ik_stretch
+
+ ratio of scale change that is allowed, 0=bone can't change size, read-only.
+
+ :type: float
+
+ .. attribute:: ik_rot_weight
+
+ weight of rotation constraint when ik_rot_control is set, read-write.
+
+ :type: float between 0 and 1
+
+ .. attribute:: ik_lin_weight
+
+ weight of size constraint when ik_lin_control is set, read-write.
+
+ :type: float between 0 and 1
+
+ .. attribute:: joint_rotation
+
+ Control bone rotation in term of joint angle (for robotic applications), read-write.
+
+ When writing to this attribute, you pass a [x, y, z] vector and an appropriate set of euler angles or quaternion is calculated according to the rotation_mode.
+
+ When you read this attribute, the current pose matrix is converted into a [x, y, z] vector representing the joint angles.
+
+ The value and the meaning of the x, y, z depends on the ik_dof_x/ik_dof_y/ik_dof_z attributes:
+
+ * 1DoF joint X, Y or Z: the corresponding x, y, or z value is used an a joint angle in radiant
+ * 2DoF joint X+Y or Z+Y: treated as 2 successive 1DoF joints: first X or Z, then Y. The x or z value is used as a joint angle in radiant along the X or Z axis, followed by a rotation along the new Y axis of y radiants.
+ * 2DoF joint X+Z: treated as a 2DoF joint with rotation axis on the X/Z plane. The x and z values are used as the coordinates of the rotation vector in the X/Z plane.
+ * 3DoF joint X+Y+Z: treated as a revolute joint. The [x, y, z] vector represents the equivalent rotation vector to bring the joint from the rest pose to the new pose.
+
+ :type: vector [x, y, z]
+
+ .. note::
+
+ The bone must be part of an IK chain if you want to set the ik_dof_x/ik_dof_y/ik_dof_z attributes via the UI, but this will interfere with this attribute since the IK solver will overwrite the pose. You can stay in control of the armature if you create an IK constraint but do not finalize it (e.g. don't set a target) the IK solver will not run but the IK panel will show up on the UI for each bone in the chain.
+
+ .. note::
+
+ [0, 0, 0] always corresponds to the rest pose.
+
+ .. note::
+
+ You must request the armature pose to update and wait for the next graphic frame to see the effect of setting this attribute (see :data:`BL_ArmatureObject.update`).
+
+ .. note::
+
+ You can read the result of the calculation in rotation or euler_rotation attributes after setting this attribute.
+
+.. class:: BL_ArmatureBone(PyObjectPlus)
+
+ Proxy to Blender bone structure. All fields are read-only and comply to RNA names.
+ All space attribute correspond to the rest pose.
+
+ .. attribute:: name
+
+ bone name.
+
+ :type: string
+
+ .. attribute:: connected
+
+ true when the bone head is struck to the parent's tail.
+
+ :type: boolean
+
+ .. attribute:: hinge
+
+ true when bone doesn't inherit rotation or scale from parent bone.
+
+ :type: boolean
+
+ .. attribute:: inherit_scale
+
+ true when bone inherits scaling from parent bone.
+
+ :type: boolean
+
+ .. attribute:: bbone_segments
+
+ number of B-bone segments.
+
+ :type: integer
+
+ .. attribute:: roll
+
+ bone rotation around head-tail axis.
+
+ :type: float
+
+ .. attribute:: head
+
+ location of head end of the bone in parent bone space.
+
+ :type: vector [x, y, z]
+
+ .. attribute:: tail
+
+ location of head end of the bone in parent bone space.
+
+ :type: vector [x, y, z]
+
+ .. attribute:: length
+
+ bone length.
+
+ :type: float
+
+ .. attribute:: arm_head
+
+ location of head end of the bone in armature space.
+
+ :type: vector [x, y, z]
+
+ .. attribute:: arm_tail
+
+ location of tail end of the bone in armature space.
+
+ :type: vector [x, y, z]
+
+ .. attribute:: arm_mat
+
+ matrix of the bone head in armature space.
+
+ :type: matrix [4][4]
+
+ .. note::
+
+ This matrix has no scale part.
+
+ .. attribute:: bone_mat
+
+ rotation matrix of the bone in parent bone space.
+
+ :type: matrix [3][3]
+
+ .. attribute:: parent
+
+ parent bone, or None for root bone.
+
+ :type: :class:`BL_ArmatureBone`
+
+ .. attribute:: children
+
+ list of bone's children.
+
+ :type: list of :class:`BL_ArmatureBone`
diff --git a/doc/python_api/rst/bgl.rst b/doc/python_api/rst/bgl.rst
new file mode 100644
index 00000000000..61400351d16
--- /dev/null
+++ b/doc/python_api/rst/bgl.rst
@@ -0,0 +1,1891 @@
+
+OpenGL Wrapper (bgl)
+====================
+
+.. module:: bgl
+
+This module wraps OpenGL constants and functions, making them available from
+within Blender Python.
+
+The complete list can be retrieved from the module itself, by listing its
+contents: dir(bgl). A simple search on the net can point to more
+than enough material to teach OpenGL programming, from books to many
+collections of tutorials.
+
+The "red book": "I{OpenGL Programming Guide: The Official Guide to Learning
+OpenGL}" and the online NeHe tutorials are two of the best resources.
+
+.. note::
+ You can use the :class:`Image` type to load and set textures.
+ See :class:`Image.gl_load` and :class:`Image.gl_load`,
+ for example.
+ `OpenGL.org <http://www.opengl.org>`_
+ `NeHe GameDev <nehe.gamedev.net>`_
+
+
+.. function:: glAccum(op, value):
+
+ Operate on the accumulation buffer.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/accum.html>`_
+
+ :type op: Enumerated constant
+ :arg op: The accumulation buffer operation.
+ :type value: float
+ :arg value: a value used in the accumulation buffer operation.
+
+
+.. function:: glAlphaFunc(func, ref):
+
+ Specify the alpha test function.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/alphafunc.html>`_
+
+ :type func: Enumerated constant
+ :arg func: Specifies the alpha comparison function.
+ :type ref: float
+ :arg ref: The reference value that incoming alpha values are compared to.
+ Clamped between 0 and 1.
+
+
+.. function:: glAreTexturesResident(n, textures, residences):
+
+ Determine if textures are loaded in texture memory
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/aretexturesresident.html>`_
+
+ :type n: int
+ :arg n: Specifies the number of textures to be queried.
+ :type textures: :class:`bgl.Buffer` object I{type GL_INT}
+ :arg textures: Specifies an array containing the names of the textures to be queried
+ :type residences: :class:`bgl.Buffer` object I{type GL_INT}(boolean)
+ :arg residences: An array in which the texture residence status in returned.
+ The residence status of a texture named by an element of textures is
+ returned in the corresponding element of residences.
+
+
+.. function:: glBegin(mode):
+
+ Delimit the vertices of a primitive or a group of like primatives
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/begin.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies the primitive that will be create from vertices between
+ glBegin and glEnd.
+
+
+.. function:: glBindTexture(target, texture):
+
+ Bind a named texture to a texturing target
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/bindtexture.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the target to which the texture is bound.
+ :type texture: unsigned int
+ :arg texture: Specifies the name of a texture.
+
+
+.. function:: glBitmap(width, height, xorig, yorig, xmove, ymove, bitmap):
+
+ Draw a bitmap
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/bitmap.html>`_
+
+ :type width, height: int
+ :arg width, height: Specify the pixel width and height of the bitmap image.
+ :type xorig, yorig: float
+ :arg xorig, yorig: Specify the location of the origin in the bitmap image. The origin is measured
+ from the lower left corner of the bitmap, with right and up being the positive axes.
+ :type xmove, ymove: float
+ :arg xmove, ymove: Specify the x and y offsets to be added to the current raster position after
+ the bitmap is drawn.
+ :type bitmap: :class:`bgl.Buffer` object I{type GL_BYTE}
+ :arg bitmap: Specifies the address of the bitmap image.
+
+
+.. function:: glBlendFunc(sfactor, dfactor):
+
+ Specify pixel arithmetic
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/blendfunc.html>`_
+
+ :type sfactor: Enumerated constant
+ :arg sfactor: Specifies how the red, green, blue, and alpha source blending factors are
+ computed.
+ :type dfactor: Enumerated constant
+ :arg dfactor: Specifies how the red, green, blue, and alpha destination
+ blending factors are computed.
+
+
+.. function:: glCallList(list):
+
+ Execute a display list
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/calllist.html>`_
+
+ :type list: unsigned int
+ :arg list: Specifies the integer name of the display list to be executed.
+
+
+.. function:: glCallLists(n, type, lists):
+
+ Execute a list of display lists
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/calllists.html>`_
+
+ :type n: int
+ :arg n: Specifies the number of display lists to be executed.
+ :type type: Enumerated constant
+ :arg type: Specifies the type of values in lists.
+ :type lists: :class:`bgl.Buffer` object
+ :arg lists: Specifies the address of an array of name offsets in the display list.
+ The pointer type is void because the offsets can be bytes, shorts, ints, or floats,
+ depending on the value of type.
+
+
+.. function:: glClear(mask):
+
+ Clear buffers to preset values
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clear.html>`_
+
+ :type mask: Enumerated constant(s)
+ :arg mask: Bitwise OR of masks that indicate the buffers to be cleared.
+
+
+.. function:: glClearAccum(red, green, blue, alpha):
+
+ Specify clear values for the accumulation buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearaccum.html>`_
+
+ :type red, green, blue, alpha: float
+ :arg red, green, blue, alpha: Specify the red, green, blue, and alpha values used when the
+ accumulation buffer is cleared. The initial values are all 0.
+
+
+.. function:: glClearColor(red, green, blue, alpha):
+
+ Specify clear values for the color buffers
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearcolor.html>`_
+
+ :type red, green, blue, alpha: float
+ :arg red, green, blue, alpha: Specify the red, green, blue, and alpha values used when the
+ color buffers are cleared. The initial values are all 0.
+
+
+.. function:: glClearDepth(depth):
+
+ Specify the clear value for the depth buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/cleardepth.html>`_
+
+ :type depth: int
+ :arg depth: Specifies the depth value used when the depth buffer is cleared.
+ The initial value is 1.
+
+
+.. function:: glClearIndex(c):
+
+ Specify the clear value for the color index buffers
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearindex.html>`_
+
+ :type c: float
+ :arg c: Specifies the index used when the color index buffers are cleared.
+ The initial value is 0.
+
+
+.. function:: glClearStencil(s):
+
+ Specify the clear value for the stencil buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clearstencil.html>`_
+
+ :type s: int
+ :arg s: Specifies the index used when the stencil buffer is cleared. The initial value is 0.
+
+
+.. function:: glClipPlane (plane, equation):
+
+ Specify a plane against which all geometry is clipped
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/clipplane.html>`_
+
+ :type plane: Enumerated constant
+ :arg plane: Specifies which clipping plane is being positioned.
+ :type equation: :class:`bgl.Buffer` object I{type GL_FLOAT}(double)
+ :arg equation: Specifies the address of an array of four double- precision
+ floating-point values. These values are interpreted as a plane equation.
+
+
+.. function:: glColor (red, green, blue, alpha):
+
+ B{glColor3b, glColor3d, glColor3f, glColor3i, glColor3s, glColor3ub, glColor3ui, glColor3us,
+ glColor4b, glColor4d, glColor4f, glColor4i, glColor4s, glColor4ub, glColor4ui, glColor4us,
+ glColor3bv, glColor3dv, glColor3fv, glColor3iv, glColor3sv, glColor3ubv, glColor3uiv,
+ glColor3usv, glColor4bv, glColor4dv, glColor4fv, glColor4iv, glColor4sv, glColor4ubv,
+ glColor4uiv, glColor4usv}
+
+ Set a new color.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/color.html>`_
+
+ :type red, green, blue, alpha: Depends on function prototype.
+ :arg red, green, blue: Specify new red, green, and blue values for the current color.
+ :arg alpha: Specifies a new alpha value for the current color. Included only in the
+ four-argument glColor4 commands. (With '4' colors only)
+
+
+.. function:: glColorMask(red, green, blue, alpha):
+
+ Enable and disable writing of frame buffer color components
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/colormask.html>`_
+
+ :type red, green, blue, alpha: int (boolean)
+ :arg red, green, blue, alpha: Specify whether red, green, blue, and alpha can or cannot be
+ written into the frame buffer. The initial values are all GL_TRUE, indicating that the
+ color components can be written.
+
+
+.. function:: glColorMaterial(face, mode):
+
+ Cause a material color to track the current color
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/colormaterial.html>`_
+
+ :type face: Enumerated constant
+ :arg face: Specifies whether front, back, or both front and back material parameters should
+ track the current color.
+ :type mode: Enumerated constant
+ :arg mode: Specifies which of several material parameters track the current color.
+
+
+.. function:: glCopyPixels(x, y, width, height, type):
+
+ Copy pixels in the frame buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/copypixels.html>`_
+
+ :type x, y: int
+ :arg x, y: Specify the window coordinates of the lower left corner of the rectangular
+ region of pixels to be copied.
+ :type width, height: int
+ :arg width,height: Specify the dimensions of the rectangular region of pixels to be copied.
+ Both must be non-negative.
+ :type type: Enumerated constant
+ :arg type: Specifies whether color values, depth values, or stencil values are to be copied.
+
+
+ def glCopyTexImage2D(target, level, internalformat, x, y, width, height, border):
+
+ Copy pixels into a 2D texture image
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage2D.xml>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the target texture.
+ :type level: int
+ :arg level: Specifies the level-of-detail number. Level 0 is the base image level.
+ Level n is the nth mipmap reduction image.
+ :type internalformat: int
+ :arg internalformat: Specifies the number of color components in the texture.
+ :type width: int
+ :type x, y: int
+ :arg x, y: Specify the window coordinates of the first pixel that is copied
+ from the frame buffer. This location is the lower left corner of a rectangular
+ block of pixels.
+ :arg width: Specifies the width of the texture image. Must be 2n+2(border) for
+ some integer n. All implementations support texture images that are at least 64
+ texels wide.
+ :type height: int
+ :arg height: Specifies the height of the texture image. Must be 2m+2(border) for
+ some integer m. All implementations support texture images that are at least 64
+ texels high.
+ :type border: int
+ :arg border: Specifies the width of the border. Must be either 0 or 1.
+
+
+.. function:: glCullFace(mode):
+
+ Specify whether front- or back-facing facets can be culled
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/cullface.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies whether front- or back-facing facets are candidates for culling.
+
+
+.. function:: glDeleteLists(list, range):
+
+ Delete a contiguous group of display lists
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/deletelists.html>`_
+
+ :type list: unsigned int
+ :arg list: Specifies the integer name of the first display list to delete
+ :type range: int
+ :arg range: Specifies the number of display lists to delete
+
+
+.. function:: glDeleteTextures(n, textures):
+
+ Delete named textures
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/deletetextures.html>`_
+
+ :type n: int
+ :arg n: Specifies the number of textures to be deleted
+ :type textures: :class:`bgl.Buffer` I{GL_INT}
+ :arg textures: Specifies an array of textures to be deleted
+
+
+.. function:: glDepthFunc(func):
+
+ Specify the value used for depth buffer comparisons
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/depthfunc.html>`_
+
+ :type func: Enumerated constant
+ :arg func: Specifies the depth comparison function.
+
+
+.. function:: glDepthMask(flag):
+
+ Enable or disable writing into the depth buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/depthmask.html>`_
+
+ :type flag: int (boolean)
+ :arg flag: Specifies whether the depth buffer is enabled for writing. If flag is GL_FALSE,
+ depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer
+ writing is enabled.
+
+
+.. function:: glDepthRange(zNear, zFar):
+
+ Specify mapping of depth values from normalized device coordinates to window coordinates
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/depthrange.html>`_
+
+ :type zNear: int
+ :arg zNear: Specifies the mapping of the near clipping plane to window coordinates.
+ The initial value is 0.
+ :type zFar: int
+ :arg zFar: Specifies the mapping of the far clipping plane to window coordinates.
+ The initial value is 1.
+
+
+.. function:: glDisable(cap):
+
+ Disable server-side GL capabilities
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/enable.html>`_
+
+ :type cap: Enumerated constant
+ :arg cap: Specifies a symbolic constant indicating a GL capability.
+
+
+.. function:: glDrawBuffer(mode):
+
+ Specify which color buffers are to be drawn into
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/drawbuffer.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies up to four color buffers to be drawn into.
+
+
+.. function:: glDrawPixels(width, height, format, type, pixels):
+
+ Write a block of pixels to the frame buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/drawpixels.html>`_
+
+ :type width, height: int
+ :arg width, height: Specify the dimensions of the pixel rectangle to be
+ written into the frame buffer.
+ :type format: Enumerated constant
+ :arg format: Specifies the format of the pixel data.
+ :type type: Enumerated constant
+ :arg type: Specifies the data type for pixels.
+ :type pixels: :class:`bgl.Buffer` object
+ :arg pixels: Specifies a pointer to the pixel data.
+
+
+.. function:: glEdgeFlag (flag):
+
+ B{glEdgeFlag, glEdgeFlagv}
+
+ Flag edges as either boundary or non-boundary
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/edgeflag.html>`_
+
+ :type flag: Depends of function prototype
+ :arg flag: Specifies the current edge flag value.The initial value is GL_TRUE.
+
+
+.. function:: glEnable(cap):
+
+ Enable server-side GL capabilities
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/enable.html>`_
+
+ :type cap: Enumerated constant
+ :arg cap: Specifies a symbolic constant indicating a GL capability.
+
+
+.. function:: glEnd():
+
+ Delimit the vertices of a primitive or group of like primitives
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/begin.html>`_
+
+
+.. function:: glEndList():
+
+ Create or replace a display list
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/newlist.html>`_
+
+
+.. function:: glEvalCoord (u,v):
+
+ B{glEvalCoord1d, glEvalCoord1f, glEvalCoord2d, glEvalCoord2f, glEvalCoord1dv, glEvalCoord1fv,
+ glEvalCoord2dv, glEvalCoord2fv}
+
+ Evaluate enabled one- and two-dimensional maps
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/evalcoord.html>`_
+
+ :type u: Depends on function prototype.
+ :arg u: Specifies a value that is the domain coordinate u to the basis function defined
+ in a previous glMap1 or glMap2 command. If the function prototype ends in 'v' then
+ u specifies a pointer to an array containing either one or two domain coordinates. The first
+ coordinate is u. The second coordinate is v, which is present only in glEvalCoord2 versions.
+ :type v: Depends on function prototype. (only with '2' prototypes)
+ :arg v: Specifies a value that is the domain coordinate v to the basis function defined
+ in a previous glMap2 command. This argument is not present in a glEvalCoord1 command.
+
+
+.. function:: glEvalMesh (mode, i1, i2):
+
+ B{glEvalMesh1 or glEvalMesh2}
+
+ Compute a one- or two-dimensional grid of points or lines
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/evalmesh.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: In glEvalMesh1, specifies whether to compute a one-dimensional
+ mesh of points or lines.
+ :type i1, i2: int
+ :arg i1, i2: Specify the first and last integer values for the grid domain variable i.
+
+
+.. function:: glEvalPoint (i, j):
+
+ B{glEvalPoint1 and glEvalPoint2}
+
+ Generate and evaluate a single point in a mesh
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/evalpoint.html>`_
+
+ :type i: int
+ :arg i: Specifies the integer value for grid domain variable i.
+ :type j: int (only with '2' prototypes)
+ :arg j: Specifies the integer value for grid domain variable j (glEvalPoint2 only).
+
+
+.. function:: glFeedbackBuffer (size, type, buffer):
+
+ Controls feedback mode
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/feedbackbuffer.html>`_
+
+ :type size: int
+ :arg size: Specifies the maximum number of values that can be written into buffer.
+ :type type: Enumerated constant
+ :arg type: Specifies a symbolic constant that describes the information that
+ will be returned for each vertex.
+ :type buffer: :class:`bgl.Buffer` object I{GL_FLOAT}
+ :arg buffer: Returns the feedback data.
+
+
+.. function:: glFinish():
+
+ Block until all GL execution is complete
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/finish.html>`_
+
+
+.. function:: glFlush():
+
+ Force Execution of GL commands in finite time
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/flush.html>`_
+
+
+.. function:: glFog (pname, param):
+
+ B{glFogf, glFogi, glFogfv, glFogiv}
+
+ Specify fog parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/fog.html>`_
+
+ :type pname: Enumerated constant
+ :arg pname: Specifies a single-valued fog parameter. If the function prototype
+ ends in 'v' specifies a fog parameter.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value or values to be assigned to pname. GL_FOG_COLOR
+ requires an array of four values. All other parameters accept an array containing
+ only a single value.
+
+
+.. function:: glFrontFace(mode):
+
+ Define front- and back-facing polygons
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/frontface.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies the orientation of front-facing polygons.
+
+
+.. function:: glFrustum(left, right, bottom, top, zNear, zFar):
+
+ Multiply the current matrix by a perspective matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/frustum.html>`_
+
+ :type left, right: double (float)
+ :arg left, right: Specify the coordinates for the left and right vertical
+ clipping planes.
+ :type top, bottom: double (float)
+ :arg top, bottom: Specify the coordinates for the bottom and top horizontal
+ clipping planes.
+ :type zNear, zFar: double (float)
+ :arg zNear, zFar: Specify the distances to the near and far depth clipping planes.
+ Both distances must be positive.
+
+
+.. function:: glGenLists(range):
+
+ Generate a contiguous set of empty display lists
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/genlists.html>`_
+
+ :type range: int
+ :arg range: Specifies the number of contiguous empty display lists to be generated.
+
+
+.. function:: glGenTextures(n, textures):
+
+ Generate texture names
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gentextures.html>`_
+
+ :type n: int
+ :arg n: Specifies the number of textures name to be generated.
+ :type textures: :class:`bgl.Buffer` object I{type GL_INT}
+ :arg textures: Specifies an array in which the generated textures names are stored.
+
+
+.. function:: glGet (pname, param):
+
+ B{glGetBooleanv, glGetfloatv, glGetFloatv, glGetIntegerv}
+
+ Return the value or values of a selected parameter
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/get.html>`_
+
+ :type pname: Enumerated constant
+ :arg pname: Specifies the parameter value to be returned.
+ :type param: Depends on function prototype.
+ :arg param: Returns the value or values of the specified parameter.
+
+
+.. function:: glGetClipPlane(plane, equation):
+
+ Return the coefficients of the specified clipping plane
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getclipplane.html>`_
+
+ :type plane: Enumerated constant
+ :arg plane: Specifies a clipping plane. The number of clipping planes depends on the
+ implementation, but at least six clipping planes are supported. They are identified by
+ symbolic names of the form GL_CLIP_PLANEi where 0 < i < GL_MAX_CLIP_PLANES.
+ :type equation: :class:`bgl.Buffer` object I{type GL_FLOAT}
+ :arg equation: Returns four float (double)-precision values that are the coefficients of the
+ plane equation of plane in eye coordinates. The initial value is (0, 0, 0, 0).
+
+
+.. function:: glGetError():
+
+ Return error information
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/geterror.html>`_
+
+
+.. function:: glGetLight (light, pname, params):
+
+ B{glGetLightfv and glGetLightiv}
+
+ Return light source parameter values
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getlight.html>`_
+
+ :type light: Enumerated constant
+ :arg light: Specifies a light source. The number of possible lights depends on the
+ implementation, but at least eight lights are supported. They are identified by symbolic
+ names of the form GL_LIGHTi where 0 < i < GL_MAX_LIGHTS.
+ :type pname: Enumerated constant
+ :arg pname: Specifies a light source parameter for light.
+ :type params: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg params: Returns the requested data.
+
+
+.. function:: glGetMap (target, query, v):
+
+ B{glGetMapdv, glGetMapfv, glGetMapiv}
+
+ Return evaluator parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getmap.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the symbolic name of a map.
+ :type query: Enumerated constant
+ :arg query: Specifies which parameter to return.
+ :type v: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg v: Returns the requested data.
+
+
+.. function:: glGetMaterial (face, pname, params):
+
+ B{glGetMaterialfv, glGetMaterialiv}
+
+ Return material parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getmaterial.html>`_
+
+ :type face: Enumerated constant
+ :arg face: Specifies which of the two materials is being queried.
+ representing the front and back materials, respectively.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the material parameter to return.
+ :type params: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg params: Returns the requested data.
+
+
+.. function:: glGetPixelMap (map, values):
+
+ B{glGetPixelMapfv, glGetPixelMapuiv, glGetPixelMapusv}
+
+ Return the specified pixel map
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getpixelmap.html>`_
+
+ :type map: Enumerated constant
+ :arg map: Specifies the name of the pixel map to return.
+ :type values: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg values: Returns the pixel map contents.
+
+
+.. function:: glGetPolygonStipple(mask):
+
+ Return the polygon stipple pattern
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getpolygonstipple.html>`_
+
+ :type mask: :class:`bgl.Buffer` object I{type GL_BYTE}
+ :arg mask: Returns the stipple pattern. The initial value is all 1's.
+
+
+.. function:: glGetString(name):
+
+ Return a string describing the current GL connection
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getstring.html>`_
+
+ :type name: Enumerated constant
+ :arg name: Specifies a symbolic constant.
+
+
+
+.. function:: glGetTexEnv (target, pname, params):
+
+ B{glGetTexEnvfv, glGetTexEnviv}
+
+ Return texture environment parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gettexenv.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies a texture environment. Must be GL_TEXTURE_ENV.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of a texture environment parameter.
+ :type params: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg params: Returns the requested data.
+
+
+.. function:: glGetTexGen (coord, pname, params):
+
+ B{glGetTexGendv, glGetTexGenfv, glGetTexGeniv}
+
+ Return texture coordinate generation parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gettexgen.html>`_
+
+ :type coord: Enumerated constant
+ :arg coord: Specifies a texture coordinate.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of the value(s) to be returned.
+ :type params: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg params: Returns the requested data.
+
+
+.. function:: glGetTexImage(target, level, format, type, pixels):
+
+ Return a texture image
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/getteximage.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies which texture is to be obtained.
+ :type level: int
+ :arg level: Specifies the level-of-detail number of the desired image.
+ Level 0 is the base image level. Level n is the nth mipmap reduction image.
+ :type format: Enumerated constant
+ :arg format: Specifies a pixel format for the returned data.
+ :type type: Enumerated constant
+ :arg type: Specifies a pixel type for the returned data.
+ :type pixels: :class:`bgl.Buffer` object.
+ :arg pixels: Returns the texture image. Should be a pointer to an array of the
+ type specified by type
+
+
+.. function:: glGetTexLevelParameter (target, level, pname, params):
+
+ B{glGetTexLevelParameterfv, glGetTexLevelParameteriv}
+
+ return texture parameter values for a specific level of detail
+
+ .. seealso:: U{opengl.org/developers/documentation/man_pages/hardcopy/GL/html/gl/gettexlevelparameter.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the symbolic name of the target texture.
+ :type level: int
+ :arg level: Specifies the level-of-detail number of the desired image.
+ Level 0 is the base image level. Level n is the nth mipmap reduction image.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of a texture parameter.
+ :type params: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg params: Returns the requested data.
+
+
+.. function:: glGetTexParameter (target, pname, params):
+
+ B{glGetTexParameterfv, glGetTexParameteriv}
+
+ Return texture parameter values
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/gettexparameter.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the symbolic name of the target texture.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name the target texture.
+ :type params: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg params: Returns the texture parameters.
+
+
+.. function:: glHint(target, mode):
+
+ Specify implementation-specific hints
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/hint.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies a symbolic constant indicating the behavior to be
+ controlled.
+ :type mode: Enumerated constant
+ :arg mode: Specifies a symbolic constant indicating the desired behavior.
+
+
+.. function:: glIndex(c):
+
+ B{glIndexd, glIndexf, glIndexi, glIndexs, glIndexdv, glIndexfv, glIndexiv, glIndexsv}
+
+ Set the current color index
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/index_.html>`_
+
+ :type c: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg c: Specifies a pointer to a one element array that contains the new value for
+ the current color index.
+
+
+.. function:: glInitNames():
+
+ Initialize the name stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/initnames.html>`_
+
+
+.. function:: glIsEnabled(cap):
+
+ Test whether a capability is enabled
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/isenabled.html>`_
+
+ :type cap: Enumerated constant
+ :arg cap: Specifies a constant representing a GL capability.
+
+
+.. function:: glIsList(list):
+
+ Determine if a name corresponds to a display-list
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/islist.html>`_
+
+ :type list: unsigned int
+ :arg list: Specifies a potential display-list name.
+
+
+.. function:: glIsTexture(texture):
+
+ Determine if a name corresponds to a texture
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/istexture.html>`_
+
+ :type texture: unsigned int
+ :arg texture: Specifies a value that may be the name of a texture.
+
+
+.. function:: glLight (light, pname, param):
+
+ B{glLightf,glLighti, glLightfv, glLightiv}
+
+ Set the light source parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/light.html>`_
+
+ :type light: Enumerated constant
+ :arg light: Specifies a light. The number of lights depends on the implementation,
+ but at least eight lights are supported. They are identified by symbolic names of the
+ form GL_LIGHTi where 0 < i < GL_MAX_LIGHTS.
+ :type pname: Enumerated constant
+ :arg pname: Specifies a single-valued light source parameter for light.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value that parameter pname of light source light will be set to.
+ If function prototype ends in 'v' specifies a pointer to the value or values that
+ parameter pname of light source light will be set to.
+
+
+.. function:: glLightModel (pname, param):
+
+ B{glLightModelf, glLightModeli, glLightModelfv, glLightModeliv}
+
+ Set the lighting model parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/lightmodel.html>`_
+
+ :type pname: Enumerated constant
+ :arg pname: Specifies a single-value light model parameter.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value that param will be set to. If function prototype ends in 'v'
+ specifies a pointer to the value or values that param will be set to.
+
+
+.. function:: glLineStipple(factor, pattern):
+
+ Specify the line stipple pattern
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/linestipple.html>`_
+
+ :type factor: int
+ :arg factor: Specifies a multiplier for each bit in the line stipple pattern.
+ If factor is 3, for example, each bit in the pattern is used three times before
+ the next bit in the pattern is used. factor is clamped to the range [1, 256] and
+ defaults to 1.
+ :type pattern: unsigned short int
+ :arg pattern: Specifies a 16-bit integer whose bit pattern determines which fragments
+ of a line will be drawn when the line is rasterized. Bit zero is used first; the default
+ pattern is all 1's.
+
+
+.. function:: glLineWidth(width):
+
+ Specify the width of rasterized lines.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/linewidth.html>`_
+
+ :type width: float
+ :arg width: Specifies the width of rasterized lines. The initial value is 1.
+
+
+.. function:: glListBase(base):
+
+ Set the display-list base for glCallLists
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/listbase.html>`_
+
+ :type base: unsigned int
+ :arg base: Specifies an integer offset that will be added to glCallLists
+ offsets to generate display-list names. The initial value is 0.
+
+
+.. function:: glLoadIdentity():
+
+ Replace the current matrix with the identity matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/loadidentity.html>`_
+
+
+.. function:: glLoadMatrix (m):
+
+ B{glLoadMatrixd, glLoadMatixf}
+
+ Replace the current matrix with the specified matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/loadmatrix.html>`_
+
+ :type m: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg m: Specifies a pointer to 16 consecutive values, which are used as the elements
+ of a 4x4 column-major matrix.
+
+
+.. function:: glLoadName(name):
+
+ Load a name onto the name stack.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/loadname.html>`_
+
+ :type name: unsigned int
+ :arg name: Specifies a name that will replace the top value on the name stack.
+
+
+.. function:: glLogicOp(opcode):
+
+ Specify a logical pixel operation for color index rendering
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/logicop.html>`_
+
+ :type opcode: Enumerated constant
+ :arg opcode: Specifies a symbolic constant that selects a logical operation.
+
+
+.. function:: glMap1 (target, u1, u2, stride, order, points):
+
+ B{glMap1d, glMap1f}
+
+ Define a one-dimensional evaluator
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/map1.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the kind of values that are generated by the evaluator.
+ :type u1, u2: Depends on function prototype.
+ :arg u1,u2: Specify a linear mapping of u, as presented to glEvalCoord1, to ^, t
+ he variable that is evaluated by the equations specified by this command.
+ :type stride: int
+ :arg stride: Specifies the number of floats or float (double)s between the beginning
+ of one control point and the beginning of the next one in the data structure
+ referenced in points. This allows control points to be embedded in arbitrary data
+ structures. The only constraint is that the values for a particular control point must
+ occupy contiguous memory locations.
+ :type order: int
+ :arg order: Specifies the number of control points. Must be positive.
+ :type points: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg points: Specifies a pointer to the array of control points.
+
+
+.. function:: glMap2 (target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points):
+
+ B{glMap2d, glMap2f}
+
+ Define a two-dimensional evaluator
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/map2.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the kind of values that are generated by the evaluator.
+ :type u1, u2: Depends on function prototype.
+ :arg u1,u2: Specify a linear mapping of u, as presented to glEvalCoord2, to ^, t
+ he variable that is evaluated by the equations specified by this command. Initially
+ u1 is 0 and u2 is 1.
+ :type ustride: int
+ :arg ustride: Specifies the number of floats or float (double)s between the beginning
+ of control point R and the beginning of control point R ij, where i and j are the u
+ and v control point indices, respectively. This allows control points to be embedded
+ in arbitrary data structures. The only constraint is that the values for a particular
+ control point must occupy contiguous memory locations. The initial value of ustride is 0.
+ :type uorder: int
+ :arg uorder: Specifies the dimension of the control point array in the u axis.
+ Must be positive. The initial value is 1.
+ :type v1, v2: Depends on function prototype.
+ :arg v1, v2: Specify a linear mapping of v, as presented to glEvalCoord2,
+ to ^, one of the two variables that are evaluated by the equations
+ specified by this command. Initially, v1 is 0 and v2 is 1.
+ :type vstride: int
+ :arg vstride: Specifies the number of floats or float (double)s between the
+ beginning of control point R and the beginning of control point R ij,
+ where i and j are the u and v control point(indices, respectively.
+ This allows control points to be embedded in arbitrary data structures.
+ The only constraint is that the values for a particular control point must
+ occupy contiguous memory locations. The initial value of vstride is 0.
+ :type vorder: int
+ :arg vorder: Specifies the dimension of the control point array in the v axis.
+ Must be positive. The initial value is 1.
+ :type points: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg points: Specifies a pointer to the array of control points.
+
+
+.. function:: glMapGrid (un, u1,u2 ,vn, v1, v2):
+
+ B{glMapGrid1d, glMapGrid1f, glMapGrid2d, glMapGrid2f}
+
+ Define a one- or two-dimensional mesh
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/mapgrid.html>`_
+
+ :type un: int
+ :arg un: Specifies the number of partitions in the grid range interval
+ [u1, u2]. Must be positive.
+ :type u1, u2: Depends on function prototype.
+ :arg u1, u2: Specify the mappings for integer grid domain values i=0 and i=un.
+ :type vn: int
+ :arg vn: Specifies the number of partitions in the grid range interval
+ [v1, v2] (glMapGrid2 only).
+ :type v1, v2: Depends on function prototype.
+ :arg v1, v2: Specify the mappings for integer grid domain values j=0 and j=vn
+ (glMapGrid2 only).
+
+
+.. function:: glMaterial (face, pname, params):
+
+ Specify material parameters for the lighting model.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/material.html>`_
+
+ :type face: Enumerated constant
+ :arg face: Specifies which face or faces are being updated. Must be one of:
+ :type pname: Enumerated constant
+ :arg pname: Specifies the single-valued material parameter of the face
+ or faces that is being updated. Must be GL_SHININESS.
+ :type params: int
+ :arg params: Specifies the value that parameter GL_SHININESS will be set to.
+ If function prototype ends in 'v' specifies a pointer to the value or values that
+ pname will be set to.
+
+
+.. function:: glMatrixMode(mode):
+
+ Specify which matrix is the current matrix.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/matrixmode.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies which matrix stack is the target for subsequent matrix operations.
+
+
+.. function:: glMultMatrix (m):
+
+ B{glMultMatrixd, glMultMatrixf}
+
+ Multiply the current matrix with the specified matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/multmatrix.html>`_
+
+ :type m: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg m: Points to 16 consecutive values that are used as the elements of a 4x4 column
+ major matrix.
+
+
+.. function:: glNewList(list, mode):
+
+ Create or replace a display list
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/newlist.html>`_
+
+ :type list: unsigned int
+ :arg list: Specifies the display list name
+ :type mode: Enumerated constant
+ :arg mode: Specifies the compilation mode.
+
+
+.. function:: glNormal3 (nx, ny, nz, v):
+
+ B{Normal3b, Normal3bv, Normal3d, Normal3dv, Normal3f, Normal3fv, Normal3i, Normal3iv,
+ Normal3s, Normal3sv}
+
+ Set the current normal vector
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/normal.html>`_
+
+ :type nx, ny, nz: Depends on function prototype. (non - 'v' prototypes only)
+ :arg nx, ny, nz: Specify the x, y, and z coordinates of the new current normal.
+ The initial value of the current normal is the unit vector, (0, 0, 1).
+ :type v: :class:`bgl.Buffer` object. Depends on function prototype. ('v' prototypes)
+ :arg v: Specifies a pointer to an array of three elements: the x, y, and z coordinates
+ of the new current normal.
+
+
+.. function:: glOrtho(left, right, bottom, top, zNear, zFar):
+
+ Multiply the current matrix with an orthographic matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/ortho.html>`_
+
+ :type left, right: double (float)
+ :arg left, right: Specify the coordinates for the left and
+ right vertical clipping planes.
+ :type bottom, top: double (float)
+ :arg bottom, top: Specify the coordinates for the bottom and top
+ horizontal clipping planes.
+ :type zNear, zFar: double (float)
+ :arg zNear, zFar: Specify the distances to the nearer and farther
+ depth clipping planes. These values are negative if the plane is to be behind the viewer.
+
+
+.. function:: glPassThrough(token):
+
+ Place a marker in the feedback buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/passthrough.html>`_
+
+ :type token: float
+ :arg token: Specifies a marker value to be placed in the feedback
+ buffer following a GL_PASS_THROUGH_TOKEN.
+
+
+.. function:: glPixelMap (map, mapsize, values):
+
+ B{glPixelMapfv, glPixelMapuiv, glPixelMapusv}
+
+ Set up pixel transfer maps
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixelmap.html>`_
+
+ :type map: Enumerated constant
+ :arg map: Specifies a symbolic map name.
+ :type mapsize: int
+ :arg mapsize: Specifies the size of the map being defined.
+ :type values: :class:`bgl.Buffer` object. Depends on function prototype.
+ :arg values: Specifies an array of mapsize values.
+
+
+.. function:: glPixelStore (pname, param):
+
+ B{glPixelStoref, glPixelStorei}
+
+ Set pixel storage modes
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixelstore.html>`_
+
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of the parameter to be set.
+ Six values affect the packing of pixel data into memory.
+ Six more affect the unpacking of pixel data from memory.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value that pname is set to.
+
+
+.. function:: glPixelTransfer (pname, param):
+
+ B{glPixelTransferf, glPixelTransferi}
+
+ Set pixel transfer modes
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixeltransfer.html>`_
+
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of the pixel transfer parameter to be set.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value that pname is set to.
+
+
+.. function:: glPixelZoom(xfactor, yfactor):
+
+ Specify the pixel zoom factors
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pixelzoom.html>`_
+
+ :type xfactor, yfactor: float
+ :arg xfactor, yfactor: Specify the x and y zoom factors for pixel write operations.
+
+
+.. function:: glPointSize(size):
+
+ Specify the diameter of rasterized points
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pointsize.html>`_
+
+ :type size: float
+ :arg size: Specifies the diameter of rasterized points. The initial value is 1.
+
+
+.. function:: glPolygonMode(face, mode):
+
+ Select a polygon rasterization mode
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/polygonmode.html>`_
+
+ :type face: Enumerated constant
+ :arg face: Specifies the polygons that mode applies to.
+ Must be GL_FRONT for front-facing polygons, GL_BACK for back- facing
+ polygons, or GL_FRONT_AND_BACK for front- and back-facing polygons.
+ :type mode: Enumerated constant
+ :arg mode: Specifies how polygons will be rasterized.
+ The initial value is GL_FILL for both front- and back- facing polygons.
+
+
+.. function:: glPolygonOffset(factor, units):
+
+ Set the scale and units used to calculate depth values
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/polygonoffset.html>`_
+
+ :type factor: float
+ :arg factor: Specifies a scale factor that is used to create a variable depth
+ offset for each polygon. The initial value is 0.
+ :type units: float
+ :arg units: Is multiplied by an implementation-specific value to create a
+ constant depth offset. The initial value is 0.
+
+
+.. function:: glPolygonStipple(mask):
+
+ Set the polygon stippling pattern
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/polygonstipple.html>`_
+
+ :type mask: :class:`bgl.Buffer` object I{type GL_BYTE}
+ :arg mask: Specifies a pointer to a 32x32 stipple pattern that will be unpacked
+ from memory in the same way that glDrawPixels unpacks pixels.
+
+
+.. function:: glPopAttrib():
+
+ Pop the server attribute stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushattrib.html>`_
+
+
+.. function:: glPopClientAttrib():
+
+ Pop the client attribute stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushclientattrib.html>`_
+
+
+.. function:: glPopMatrix():
+
+ Pop the current matrix stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushmatrix.html>`_
+
+
+.. function:: glPopName():
+
+ Pop the name stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushname.html>`_
+
+
+.. function:: glPrioritizeTextures(n, textures, priorities):
+
+ Set texture residence priority
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/prioritizetextures.html>`_
+
+ :type n: int
+ :arg n: Specifies the number of textures to be prioritized.
+ :type textures: :class:`bgl.Buffer` I{type GL_INT}
+ :arg textures: Specifies an array containing the names of the textures to be prioritized.
+ :type priorities: :class:`bgl.Buffer` I{type GL_FLOAT}
+ :arg priorities: Specifies an array containing the texture priorities.
+ A priority given in an element of priorities applies to the texture named
+ by the corresponding element of textures.
+
+
+.. function:: glPushAttrib(mask):
+
+ Push the server attribute stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushattrib.html>`_
+
+ :type mask: Enumerated constant(s)
+ :arg mask: Specifies a mask that indicates which attributes to save.
+
+
+.. function:: glPushClientAttrib(mask):
+
+ Push the client attribute stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushclientattrib.html>`_
+
+ :type mask: Enumerated constant(s)
+ :arg mask: Specifies a mask that indicates which attributes to save.
+
+
+.. function:: glPushMatrix():
+
+ Push the current matrix stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushmatrix.html>`_
+
+
+.. function:: glPushName(name):
+
+ Push the name stack
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/pushname.html>`_
+
+ :type name: unsigned int
+ :arg name: Specifies a name that will be pushed onto the name stack.
+
+
+.. function:: glRasterPos (x,y,z,w):
+
+ B{glRasterPos2d, glRasterPos2f, glRasterPos2i, glRasterPos2s, glRasterPos3d,
+ glRasterPos3f, glRasterPos3i, glRasterPos3s, glRasterPos4d, glRasterPos4f,
+ glRasterPos4i, glRasterPos4s, glRasterPos2dv, glRasterPos2fv, glRasterPos2iv,
+ glRasterPos2sv, glRasterPos3dv, glRasterPos3fv, glRasterPos3iv, glRasterPos3sv,
+ glRasterPos4dv, glRasterPos4fv, glRasterPos4iv, glRasterPos4sv}
+
+ Specify the raster position for pixel operations
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rasterpos.html>`_
+
+ :type x, y, z, w: Depends on function prototype. (z and w for '3' and '4' prototypes only)
+ :arg x, y, z, w: Specify the x,y,z, and w object coordinates (if present) for the
+ raster position. If function prototype ends in 'v' specifies a pointer to an array of two,
+ three, or four elements, specifying x, y, z, and w coordinates, respectively.
+
+ .. note::
+
+ If you are drawing to the 3d view with a Scriptlink of a space handler
+ the zoom level of the panels will scale the glRasterPos by the view matrix.
+ so a X of 10 will not always offset 10 pixels as you would expect.
+
+ To work around this get the scale value of the view matrix and use it to scale your pixel values.
+
+ .. code-block:: python
+
+ import bgl
+ xval, yval= 100, 40
+ # Get the scale of the view matrix
+ view_matrix = bgl.Buffer(bgl.GL_FLOAT, 16)
+ bgl.glGetFloatv(bgl.GL_MODELVIEW_MATRIX, view_matrix)
+ f = 1.0 / view_matrix[0]
+
+ # Instead of the usual glRasterPos2i(xval, yval)
+ bgl.glRasterPos2f(xval * f, yval * f)
+
+
+.. function:: glReadBuffer(mode):
+
+ Select a color buffer source for pixels.
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/readbuffer.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies a color buffer.
+
+
+.. function:: glReadPixels(x, y, width, height, format, type, pixels):
+
+ Read a block of pixels from the frame buffer
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/readpixels.html>`_
+
+ :type x, y: int
+ :arg x, y: Specify the window coordinates of the first pixel that is read
+ from the frame buffer. This location is the lower left corner of a rectangular
+ block of pixels.
+ :type width, height: int
+ :arg width, height: Specify the dimensions of the pixel rectangle. width and
+ height of one correspond to a single pixel.
+ :type format: Enumerated constant
+ :arg format: Specifies the format of the pixel data.
+ :type type: Enumerated constant
+ :arg type: Specifies the data type of the pixel data.
+ :type pixels: :class:`bgl.Buffer` object
+ :arg pixels: Returns the pixel data.
+
+
+.. function:: glRect (x1,y1,x2,y2,v1,v2):
+
+ B{glRectd, glRectf, glRecti, glRects, glRectdv, glRectfv, glRectiv, glRectsv}
+
+ Draw a rectangle
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rect.html>`_
+
+ :type x1, y1: Depends on function prototype. (for non 'v' prototypes only)
+ :arg x1, y1: Specify one vertex of a rectangle
+ :type x2, y2: Depends on function prototype. (for non 'v' prototypes only)
+ :arg x2, y2: Specify the opposite vertex of the rectangle
+ :type v1, v2: Depends on function prototype. (for 'v' prototypes only)
+ :arg v1, v2: Specifies a pointer to one vertex of a rectangle and the pointer
+ to the opposite vertex of the rectangle
+
+
+.. function:: glRenderMode(mode):
+
+ Set rasterization mode
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rendermode.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies the rasterization mode.
+
+
+.. function:: glRotate (angle, x, y, z):
+
+ B{glRotated, glRotatef}
+
+ Multiply the current matrix by a rotation matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/rotate.html>`_
+
+ :type angle: Depends on function prototype.
+ :arg angle: Specifies the angle of rotation in degrees.
+ :type x, y, z: Depends on function prototype.
+ :arg x, y, z: Specify the x, y, and z coordinates of a vector respectively.
+
+
+.. function:: glScale (x,y,z):
+
+ B{glScaled, glScalef}
+
+ Multiply the current matrix by a general scaling matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/scale.html>`_
+
+ :type x, y, z: Depends on function prototype.
+ :arg x, y, z: Specify scale factors along the x, y, and z axes, respectively.
+
+
+.. function:: glScissor(x,y,width,height):
+
+ Define the scissor box
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/scissor.html>`_
+
+ :type x, y: int
+ :arg x, y: Specify the lower left corner of the scissor box. Initially (0, 0).
+ :type width, height: int
+ :arg width height: Specify the width and height of the scissor box. When a
+ GL context is first attached to a window, width and height are set to the
+ dimensions of that window.
+
+
+.. function:: glSelectBuffer(size, buffer):
+
+ Establish a buffer for selection mode values
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/selectbuffer.html>`_
+
+ :type size: int
+ :arg size: Specifies the size of buffer
+ :type buffer: :class:`bgl.Buffer` I{type GL_INT}
+ :arg buffer: Returns the selection data
+
+
+.. function:: glShadeModel(mode):
+
+ Select flat or smooth shading
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/shademodel.html>`_
+
+ :type mode: Enumerated constant
+ :arg mode: Specifies a symbolic value representing a shading technique.
+
+
+.. function:: glStencilFuc(func, ref, mask):
+
+ Set function and reference value for stencil testing
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/stencilfunc.html>`_
+
+ :type func: Enumerated constant
+ :arg func: Specifies the test function.
+ :type ref: int
+ :arg ref: Specifies the reference value for the stencil test. ref is clamped
+ to the range [0,2n-1], where n is the number of bitplanes in the stencil
+ buffer. The initial value is 0.
+ :type mask: unsigned int
+ :arg mask: Specifies a mask that is ANDed with both the reference value and
+ the stored stencil value when the test is done. The initial value is all 1's.
+
+
+.. function:: glStencilMask(mask):
+
+ Control the writing of individual bits in the stencil planes
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/stencilmask.html>`_
+
+ :type mask: unsigned int
+ :arg mask: Specifies a bit mask to enable and disable writing of individual bits
+ in the stencil planes. Initially, the mask is all 1's.
+
+
+.. function:: glStencilOp(fail, zfail, zpass):
+
+ Set stencil test actions
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/stencilop.html>`_
+
+ :type fail: Enumerated constant
+ :arg fail: Specifies the action to take when the stencil test fails.
+ The initial value is GL_KEEP.
+ :type zfail: Enumerated constant
+ :arg zfail: Specifies the stencil action when the stencil test passes, but the
+ depth test fails. zfail accepts the same symbolic constants as fail.
+ The initial value is GL_KEEP.
+ :type zpass: Enumerated constant
+ :arg zpass: Specifies the stencil action when both the stencil test and the
+ depth test pass, or when the stencil test passes and either there is no
+ depth buffer or depth testing is not enabled. zpass accepts the same
+ symbolic constants
+ as fail. The initial value is GL_KEEP.
+
+
+.. function:: glTexCoord (s,t,r,q,v):
+
+ B{glTexCoord1d, glTexCoord1f, glTexCoord1i, glTexCoord1s, glTexCoord2d, glTexCoord2f,
+ glTexCoord2i, glTexCoord2s, glTexCoord3d, glTexCoord3f, glTexCoord3i, glTexCoord3s,
+ glTexCoord4d, glTexCoord4f, glTexCoord4i, glTexCoord4s, glTexCoord1dv, glTexCoord1fv,
+ glTexCoord1iv, glTexCoord1sv, glTexCoord2dv, glTexCoord2fv, glTexCoord2iv,
+ glTexCoord2sv, glTexCoord3dv, glTexCoord3fv, glTexCoord3iv, glTexCoord3sv,
+ glTexCoord4dv, glTexCoord4fv, glTexCoord4iv, glTexCoord4sv}
+
+ Set the current texture coordinates
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texcoord.html>`_
+
+ :type s, t, r, q: Depends on function prototype. (r and q for '3' and '4' prototypes only)
+ :arg s, t, r, q: Specify s, t, r, and q texture coordinates. Not all parameters are
+ present in all forms of the command.
+ :type v: :class:`bgl.Buffer` object. Depends on function prototype. (for 'v' prototypes only)
+ :arg v: Specifies a pointer to an array of one, two, three, or four elements,
+ which in turn specify the s, t, r, and q texture coordinates.
+
+
+.. function:: glTexEnv (target, pname, param):
+
+ B{glTextEnvf, glTextEnvi, glTextEnvfv, glTextEnviv}
+
+ Set texture environment parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texenv.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies a texture environment. Must be GL_TEXTURE_ENV.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of a single-valued texture environment
+ parameter. Must be GL_TEXTURE_ENV_MODE.
+ :type param: Depends on function prototype.
+ :arg param: Specifies a single symbolic constant. If function prototype ends in 'v'
+ specifies a pointer to a parameter array that contains either a single
+ symbolic constant or an RGBA color
+
+
+.. function:: glTexGen (coord, pname, param):
+
+ B{glTexGend, glTexGenf, glTexGeni, glTexGendv, glTexGenfv, glTexGeniv}
+
+ Control the generation of texture coordinates
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texgen.html>`_
+
+ :type coord: Enumerated constant
+ :arg coord: Specifies a texture coordinate.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of the texture- coordinate generation function.
+ :type param: Depends on function prototype.
+ :arg param: Specifies a single-valued texture generation parameter.
+ If function prototype ends in 'v' specifies a pointer to an array of texture
+ generation parameters. If pname is GL_TEXTURE_GEN_MODE, then the array must
+ contain a single symbolic constant. Otherwise, params holds the coefficients
+ for the texture-coordinate generation function specified by pname.
+
+
+.. function:: glTexImage1D(target, level, internalformat, width, border, format, type, pixels):
+
+ Specify a one-dimensional texture image
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/teximage1d.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the target texture.
+ :type level: int
+ :arg level: Specifies the level-of-detail number. Level 0 is the base image level.
+ Level n is the nth mipmap reduction image.
+ :type internalformat: int
+ :arg internalformat: Specifies the number of color components in the texture.
+ :type width: int
+ :arg width: Specifies the width of the texture image. Must be 2n+2(border)
+ for some integer n. All implementations support texture images that are
+ at least 64 texels wide. The height of the 1D texture image is 1.
+ :type border: int
+ :arg border: Specifies the width of the border. Must be either 0 or 1.
+ :type format: Enumerated constant
+ :arg format: Specifies the format of the pixel data.
+ :type type: Enumerated constant
+ :arg type: Specifies the data type of the pixel data.
+ :type pixels: :class:`bgl.Buffer` object.
+ :arg pixels: Specifies a pointer to the image data in memory.
+
+
+.. function:: glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels):
+
+ Specify a two-dimensional texture image
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/teximage2d.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the target texture.
+ :type level: int
+ :arg level: Specifies the level-of-detail number. Level 0 is the base image level.
+ Level n is the nth mipmap reduction image.
+ :type internalformat: int
+ :arg internalformat: Specifies the number of color components in the texture.
+ :type width: int
+ :arg width: Specifies the width of the texture image. Must be 2n+2(border)
+ for some integer n. All implementations support texture images that are at
+ least 64 texels wide.
+ :type height: int
+ :arg height: Specifies the height of the texture image. Must be 2m+2(border) for
+ some integer m. All implementations support texture images that are at
+ least 64 texels high.
+ :type border: int
+ :arg border: Specifies the width of the border. Must be either 0 or 1.
+ :type format: Enumerated constant
+ :arg format: Specifies the format of the pixel data.
+ :type type: Enumerated constant
+ :arg type: Specifies the data type of the pixel data.
+ :type pixels: :class:`bgl.Buffer` object.
+ :arg pixels: Specifies a pointer to the image data in memory.
+
+
+.. function:: glTexParameter (target, pname, param):
+
+ B{glTexParameterf, glTexParameteri, glTexParameterfv, glTexParameteriv}
+
+ Set texture parameters
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/texparameter.html>`_
+
+ :type target: Enumerated constant
+ :arg target: Specifies the target texture.
+ :type pname: Enumerated constant
+ :arg pname: Specifies the symbolic name of a single-valued texture parameter.
+ :type param: Depends on function prototype.
+ :arg param: Specifies the value of pname. If function prototype ends in 'v' specifies
+ a pointer to an array where the value or values of pname are stored.
+
+
+.. function:: glTranslate (x, y, z):
+
+ B{glTranslatef, glTranslated}
+
+ Multiply the current matrix by a translation matrix
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/translate.html>`_
+
+ :type x, y, z: Depends on function prototype.
+ :arg x, y, z: Specify the x, y, and z coordinates of a translation vector.
+
+
+.. function:: glVertex (x,y,z,w,v):
+
+ B{glVertex2d, glVertex2f, glVertex2i, glVertex2s, glVertex3d, glVertex3f, glVertex3i,
+ glVertex3s, glVertex4d, glVertex4f, glVertex4i, glVertex4s, glVertex2dv, glVertex2fv,
+ glVertex2iv, glVertex2sv, glVertex3dv, glVertex3fv, glVertex3iv, glVertex3sv, glVertex4dv,
+ glVertex4fv, glVertex4iv, glVertex4sv}
+
+ Specify a vertex
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/vertex.html>`_
+
+ :type x, y, z, w: Depends on function prototype (z and w for '3' and '4' prototypes only)
+ :arg x, y, z, w: Specify x, y, z, and w coordinates of a vertex. Not all parameters
+ are present in all forms of the command.
+ :type v: :class:`bgl.Buffer` object. Depends of function prototype (for 'v'
+ prototypes only)
+ :arg v: Specifies a pointer to an array of two, three, or four elements. The
+ elements of a two-element array are x and y; of a three-element array,
+ x, y, and z; and of a four-element array, x, y, z, and w.
+
+
+.. function:: glViewport(x,y,width,height):
+
+ Set the viewport
+
+ .. seealso:: `OpenGL Docs <http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/viewport.html>`_
+
+ :type x, y: int
+ :arg x, y: Specify the lower left corner of the viewport rectangle,
+ in pixels. The initial value is (0,0).
+ :type width, height: int
+ :arg width, height: Specify the width and height of the viewport. When a GL
+ context is first attached to a window, width and height are set to the
+ dimensions of that window.
+
+
+.. function:: gluPerspective(fovY, aspect, zNear, zFar):
+
+ Set up a perspective projection matrix.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5577288}
+
+ :type fovY: double
+ :arg fovY: Specifies the field of view angle, in degrees, in the y direction.
+ :type aspect: double
+ :arg aspect: Specifies the aspect ratio that determines the field of view in the x direction.
+ The aspect ratio is the ratio of x (width) to y (height).
+ :type zNear: double
+ :arg zNear: Specifies the distance from the viewer to the near clipping plane (always positive).
+ :type zFar: double
+ :arg zFar: Specifies the distance from the viewer to the far clipping plane (always positive).
+
+
+.. function:: gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, upx, upy, upz):
+
+ Define a viewing transformation.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5573042}
+
+ :type eyex, eyey, eyez: double
+ :arg eyex, eyey, eyez: Specifies the position of the eye point.
+ :type centerx, centery, centerz: double
+ :arg centerx, centery, centerz: Specifies the position of the reference point.
+ :type upx, upy, upz: double
+ :arg upx, upy, upz: Specifies the direction of the up vector.
+
+
+.. function:: gluOrtho2D(left, right, bottom, top):
+
+ Define a 2-D orthographic projection matrix.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5578074}
+
+ :type left, right: double
+ :arg left, right: Specify the coordinates for the left and right vertical clipping planes.
+ :type bottom, top: double
+ :arg bottom, top: Specify the coordinates for the bottom and top horizontal clipping planes.
+
+
+.. function:: gluPickMatrix(x, y, width, height, viewport):
+
+ Define a picking region.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5578074}
+
+ :type x, y: double
+ :arg x, y: Specify the center of a picking region in window coordinates.
+ :type width, height: double
+ :arg width, height: Specify the width and height, respectively, of the picking region in window coordinates.
+ :type viewport: :class:`bgl.Buffer` object. [int]
+ :arg viewport: Specifies the current viewport.
+
+
+.. function:: gluProject(objx, objy, objz, modelMatrix, projMatrix, viewport, winx, winy, winz):
+
+ Map object coordinates to window coordinates.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5578074}
+
+ :type objx, objy, objz: double
+ :arg objx, objy, objz: Specify the object coordinates.
+ :type modelMatrix: :class:`bgl.Buffer` object. [double]
+ :arg modelMatrix: Specifies the current modelview matrix (as from a glGetDoublev call).
+ :type projMatrix: :class:`bgl.Buffer` object. [double]
+ :arg projMatrix: Specifies the current projection matrix (as from a glGetDoublev call).
+ :type viewport: :class:`bgl.Buffer` object. [int]
+ :arg viewport: Specifies the current viewport (as from a glGetIntegerv call).
+ :type winx, winy, winz: :class:`bgl.Buffer` object. [double]
+ :arg winx, winy, winz: Return the computed window coordinates.
+
+
+.. function:: gluUnProject(winx, winy, winz, modelMatrix, projMatrix, viewport, objx, objy, objz):
+
+ Map object coordinates to window coordinates.
+
+ .. seealso:: U{http://biology.ncsa.uiuc.edu/cgi-bin/infosrch.cgi?cmd=getdoc&coll=0650&db=bks&fname=/SGI_Developer/OpenGL_RM/ch06.html#id5582204}
+
+ :type winx, winy, winz: double
+ :arg winx, winy, winz: Specify the window coordinates to be mapped.
+ :type modelMatrix: :class:`bgl.Buffer` object. [double]
+ :arg modelMatrix: Specifies the current modelview matrix (as from a glGetDoublev call).
+ :type projMatrix: :class:`bgl.Buffer` object. [double]
+ :arg projMatrix: Specifies the current projection matrix (as from a glGetDoublev call).
+ :type viewport: :class:`bgl.Buffer` object. [int]
+ :arg viewport: Specifies the current viewport (as from a glGetIntegerv call).
+ :type objx, objy, objz: :class:`bgl.Buffer` object. [double]
+ :arg objx, objy, objz: Return the computed object coordinates.
+
+
+class Buffer:
+
+ The Buffer object is simply a block of memory that is delineated and initialized by the
+ user. Many OpenGL functions return data to a C-style pointer, however, because this
+ is not possible in python the Buffer object can be used to this end. Wherever pointer
+ notation is used in the OpenGL functions the Buffer object can be used in it's bgl
+ wrapper. In some instances the Buffer object will need to be initialized with the template
+ parameter, while in other instances the user will want to create just a blank buffer
+ which will be zeroed by default.
+
+ .. code-block:: python
+
+ import bgl
+
+ myByteBuffer = bgl.Buffer(bgl.GL_BYTE, [32, 32])
+ bgl.glGetPolygonStipple(myByteBuffer)
+
+ print(myByteBuffer.dimensions)
+ print(myByteBuffer.to_list())
+
+ sliceBuffer = myByteBuffer[0:16]
+ print(sliceBuffer)
+
+ .. attribute:: dimensions
+
+ The number of dimensions of the Buffer.
+
+ .. method:: to_list()
+
+ The contents of the Buffer as a python list.
+
+ .. method:: __init__(type, dimensions, template = None):
+
+ This will create a new Buffer object for use with other bgl OpenGL commands.
+ Only the type of argument to store in the buffer and the dimensions of the buffer
+ are necessary. Buffers are zeroed by default unless a template is supplied, in
+ which case the buffer is initialized to the template.
+
+ :type type: int
+ :arg type: The format to store data in. The type should be one of
+ GL_BYTE, GL_SHORT, GL_INT, or GL_FLOAT.
+ :type dimensions: An int or sequence object specifying the dimensions of the buffer.
+ :arg dimensions: If the dimensions are specified as an int a linear array will
+ be created for the buffer. If a sequence is passed for the dimensions, the buffer
+ becomes n-Dimensional, where n is equal to the number of parameters passed in the
+ sequence. Example: [256,2] is a two- dimensional buffer while [256,256,4] creates
+ a three- dimensional buffer. You can think of each additional dimension as a sub-item
+ of the dimension to the left. i.e. [10,2] is a 10 element array each with 2 sub-items.
+ [(0,0), (0,1), (1,0), (1,1), (2,0), ...] etc.
+ :type template: A python sequence object (optional)
+ :arg template: A sequence of matching dimensions which will be used to initialize
+ the Buffer. If a template is not passed in all fields will be initialized to 0.
+ :rtype: Buffer object
+ :return: The newly created buffer as a PyObject.
diff --git a/doc/python_api/rst/change_log.rst b/doc/python_api/rst/change_log.rst
new file mode 100644
index 00000000000..e7db5df4a1f
--- /dev/null
+++ b/doc/python_api/rst/change_log.rst
@@ -0,0 +1,911 @@
+Blender API Change Log
+**********************
+
+.. note, this document is auto generated by sphinx_changelog_gen.py
+
+
+2.56 to 2.57
+============
+bpy.types.SplineBezierPoints
+----------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.SplineBezierPoints.friction` (count), *was (number)*
+
+bpy.types.RenderSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderSettings.use_stamp_lens`
+
+Removed
+^^^^^^^
+
+* **use_backbuf**
+
+bpy.types.ActionPoseMarkers
+---------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ActionPoseMarkers.active`
+* :class:`bpy.types.ActionPoseMarkers.active_index`
+
+bpy.types.SpaceImageEditor
+--------------------------
+
+Renamed
+^^^^^^^
+
+* **curves** -> :class:`bpy.types.SpaceImageEditor.curve`
+
+bpy.types.Scene
+---------------
+
+Removed
+^^^^^^^
+
+* **network_render**
+
+bpy.types.GameObjectSettings
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GameObjectSettings.use_material_physics_fh`
+
+Removed
+^^^^^^^
+
+* **use_material_physics**
+
+bpy.types.SplinePoints
+----------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.SplinePoints.use_material_physics` (count), *was (number)*
+
+bpy.types.Area
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Area.height`
+* :class:`bpy.types.Area.width`
+
+bpy.types.SolidifyModifier
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SolidifyModifier.material_offset`
+* :class:`bpy.types.SolidifyModifier.material_offset_rim`
+
+Removed
+^^^^^^^
+
+* **use_rim_material**
+
+bpy.types.UserPreferencesEdit
+-----------------------------
+
+Removed
+^^^^^^^
+
+* **use_keyframe_insert_keyingset**
+
+bpy.types.MaterialTextureSlot
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MaterialTextureSlot.bump_method`
+* :class:`bpy.types.MaterialTextureSlot.bump_objectspace`
+
+Removed
+^^^^^^^
+
+* **use_old_bump**
+
+bpy.types.ExplodeModifier
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ExplodeModifier.particle_uv`
+* :class:`bpy.types.ExplodeModifier.use_edge_cut`
+
+Removed
+^^^^^^^
+
+* **use_edge_split**
+
+bpy.types.Node
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Node.label`
+
+bpy.types.RigidBodyJointConstraint
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RigidBodyJointConstraint.limit_angle_max_x`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_angle_max_y`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_angle_max_z`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_angle_min_x`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_angle_min_y`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_angle_min_z`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_max_x`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_max_y`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_max_z`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_min_x`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_min_y`
+* :class:`bpy.types.RigidBodyJointConstraint.limit_min_z`
+
+Removed
+^^^^^^^
+
+* **limit_cone_max**
+* **limit_cone_min**
+* **limit_generic_max**
+* **limit_generic_min**
+
+bpy.types.KeyMap
+----------------
+
+Renamed
+^^^^^^^
+
+* **items** -> :class:`bpy.types.KeyMap.keymap_items`
+
+bpy.types.SpaceNodeEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceNodeEditor.backdrop_channels`
+* :class:`bpy.types.SpaceNodeEditor.backdrop_x`
+* :class:`bpy.types.SpaceNodeEditor.backdrop_y`
+* :class:`bpy.types.SpaceNodeEditor.backdrop_zoom`
+* :class:`bpy.types.SpaceNodeEditor.use_auto_render`
+
+bpy.types.SPHFluidSettings
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SPHFluidSettings.factor_density`
+* :class:`bpy.types.SPHFluidSettings.factor_radius`
+* :class:`bpy.types.SPHFluidSettings.factor_repulsion`
+* :class:`bpy.types.SPHFluidSettings.factor_rest_length`
+* :class:`bpy.types.SPHFluidSettings.factor_stiff_viscosity`
+* :class:`bpy.types.SPHFluidSettings.plasticity`
+* :class:`bpy.types.SPHFluidSettings.repulsion`
+* :class:`bpy.types.SPHFluidSettings.spring_frames`
+* :class:`bpy.types.SPHFluidSettings.stiff_viscosity`
+* :class:`bpy.types.SPHFluidSettings.use_initial_rest_length`
+* :class:`bpy.types.SPHFluidSettings.use_viscoelastic_springs`
+* :class:`bpy.types.SPHFluidSettings.yield_ratio`
+
+Removed
+^^^^^^^
+
+* **stiffness_near**
+* **viscosity_beta**
+
+Renamed
+^^^^^^^
+
+* **viscosity_omega** -> :class:`bpy.types.SPHFluidSettings.linear_viscosity`
+
+bpy.types.ConstraintActuator
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ConstraintActuator.direction_axis_pos`
+* :class:`bpy.types.ConstraintActuator.fh_force`
+
+Removed
+^^^^^^^
+
+* **spring**
+
+bpy.types.UILayout
+------------------
+
+Renamed
+^^^^^^^
+
+* **operator_enums** -> :class:`bpy.types.UILayout.operator_enum`
+
+bpy.types.SpaceDopeSheetEditor
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceDopeSheetEditor.show_pose_markers`
+
+bpy.types.ToolSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ToolSettings.edge_path_live_unwrap`
+* :class:`bpy.types.ToolSettings.proportional_size`
+* :class:`bpy.types.ToolSettings.use_keyframe_insert_keyingset`
+
+bpy.types.EditBone
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.EditBone.bbone_x`
+* :class:`bpy.types.EditBone.bbone_z`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.EditBone.bbone_z` (self, matrix, scale, roll), *was (self, matrix)*
+
+bpy.types.ID
+------------
+
+Renamed
+^^^^^^^
+
+* **update** -> :class:`bpy.types.ID.update_tag`
+
+bpy.types.SpaceGraphEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceGraphEditor.use_fancy_drawing`
+
+bpy.types.ParticleSystem
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ParticleSystem.child_seed`
+
+bpy.types.SpaceTimeline
+-----------------------
+
+Removed
+^^^^^^^
+
+* **use_play_3d_editors**
+* **use_play_animation_editors**
+* **use_play_image_editors**
+* **use_play_node_editors**
+* **use_play_properties_editors**
+* **use_play_sequence_editors**
+* **use_play_top_left_3d_editor**
+
+bpy.types.Mesh
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Mesh.validate`
+
+Renamed
+^^^^^^^
+
+* **show_extra_edge_angle** -> :class:`bpy.types.Mesh.show_extra_face_angle`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Mesh.show_extra_face_angle` (self, vertices, edges, faces), *was (self, verts, edges, faces)*
+
+bpy.types.EnumProperty
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.EnumProperty.default_flag`
+
+Renamed
+^^^^^^^
+
+* **items** -> :class:`bpy.types.EnumProperty.enum_items`
+
+bpy.types.Screen
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Screen.use_play_3d_editors`
+* :class:`bpy.types.Screen.use_play_animation_editors`
+* :class:`bpy.types.Screen.use_play_image_editors`
+* :class:`bpy.types.Screen.use_play_node_editors`
+* :class:`bpy.types.Screen.use_play_properties_editors`
+* :class:`bpy.types.Screen.use_play_sequence_editors`
+* :class:`bpy.types.Screen.use_play_top_left_3d_editor`
+
+bpy.types.MirrorModifier
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MirrorModifier.use_mirror_merge`
+
+bpy.types.Operator
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Operator.cancel`
+
+bpy.types.Brush
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Brush.height`
+* :class:`bpy.types.Brush.use_fixed_texture`
+
+Renamed
+^^^^^^^
+
+* **imagepaint_tool** -> :class:`bpy.types.Brush.image_tool`
+* **use_paint_texture** -> :class:`bpy.types.Brush.use_paint_image`
+* **vertexpaint_tool** -> :class:`bpy.types.Brush.vertex_tool`
+
+bpy.types.Key
+-------------
+
+Renamed
+^^^^^^^
+
+* **keys** -> :class:`bpy.types.Key.key_blocks`
+
+bpy.types.CompositorNodeBlur
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CompositorNodeBlur.aspect_correction`
+
+bpy.types.SpaceTextEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceTextEditor.margin_column`
+* :class:`bpy.types.SpaceTextEditor.show_margin`
+
+bpy.types.GPencilLayer
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilLayer.show_x_ray`
+
+Removed
+^^^^^^^
+
+* **active**
+
+bpy.types.MarbleTexture
+-----------------------
+
+Renamed
+^^^^^^^
+
+* **noisebasis_2** -> :class:`bpy.types.MarbleTexture.noise_basis_2`
+
+bpy.types.Particle
+------------------
+
+Removed
+^^^^^^^
+
+* **is_hair**
+
+Renamed
+^^^^^^^
+
+* **keys** -> :class:`bpy.types.Particle.hair_keys`
+* **keys** -> :class:`bpy.types.Particle.particle_keys`
+
+bpy.types.Modifier
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Modifier.use_apply_on_spline`
+
+bpy.types.Property
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Property.is_enum_flag`
+
+bpy.types.SpaceProperties
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceProperties.texture_context`
+
+Removed
+^^^^^^^
+
+* **show_brush_texture**
+
+bpy.types.VertexGroups
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.VertexGroups.remove`
+
+Removed
+^^^^^^^
+
+* **assign**
+
+bpy.types.Material
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Material.shadow_only_type`
+
+bpy.types.RenderLayer
+---------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.RenderLayer.shadow_only_type` (filename, x, y), *was (filename)*
+
+bpy.types.Object
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Object.is_modified`
+
+Renamed
+^^^^^^^
+
+* **create_dupli_list** -> :class:`bpy.types.Object.dupli_list_create`
+* **create_mesh** -> :class:`bpy.types.Object.to_mesh`
+* **free_dupli_list** -> :class:`bpy.types.Object.dupli_list_clear`
+
+bpy.types.NodeTree
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.NodeTree.inputs`
+* :class:`bpy.types.NodeTree.outputs`
+
+bpy.types.DopeSheet
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DopeSheet.filter_fcurve_name`
+* :class:`bpy.types.DopeSheet.show_lattices`
+* :class:`bpy.types.DopeSheet.show_only_matching_fcurves`
+
+bpy.types.ActionFCurves
+-----------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.ActionFCurves.show_only_matching_fcurves` (data_path, index, action_group), *was (data_path, array_index, action_group)*
+
+bpy.types.ShrinkwrapModifier
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShrinkwrapModifier.cull_face`
+
+Removed
+^^^^^^^
+
+* **use_cull_back_faces**
+* **use_cull_front_faces**
+
+bpy.types.WindowManager
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.WindowManager.addon_filter`
+* :class:`bpy.types.WindowManager.addon_search`
+* :class:`bpy.types.WindowManager.addon_support`
+* :class:`bpy.types.WindowManager.event_timer_add`
+* :class:`bpy.types.WindowManager.event_timer_remove`
+
+bpy.types.WoodTexture
+---------------------
+
+Renamed
+^^^^^^^
+
+* **noisebasis_2** -> :class:`bpy.types.WoodTexture.noise_basis_2`
+
+bpy.types.VertexGroup
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.VertexGroup.add`
+* :class:`bpy.types.VertexGroup.remove`
+* :class:`bpy.types.VertexGroup.weight`
+
+bpy.types.FCurveKeyframePoints
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FCurveKeyframePoints.insert`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.FCurveKeyframePoints.insert` (count), *was (frame, value, replace, needed, fast)*
+
+bpy.types.ThemeView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeView3D.outline_width`
+
+bpy.types.Image
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Image.pixels`
+
+bpy.types.Bone
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Bone.bbone_x`
+* :class:`bpy.types.Bone.bbone_z`
+
+bpy.types.InputKeyMapPanel
+--------------------------
+
+Removed
+^^^^^^^
+
+* **draw_entry**
+* **draw_filtered**
+* **draw_hierarchy**
+* **draw_keymaps**
+* **draw_km**
+* **draw_kmi**
+* **draw_kmi_properties**
+* **indented_layout**
+
+bpy.types.ParticleSettings
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ParticleSettings.active_texture`
+* :class:`bpy.types.ParticleSettings.active_texture_index`
+* :class:`bpy.types.ParticleSettings.child_parting_factor`
+* :class:`bpy.types.ParticleSettings.child_parting_max`
+* :class:`bpy.types.ParticleSettings.child_parting_min`
+* :class:`bpy.types.ParticleSettings.color_maximum`
+* :class:`bpy.types.ParticleSettings.create_long_hair_children`
+* :class:`bpy.types.ParticleSettings.draw_color`
+* :class:`bpy.types.ParticleSettings.effector_amount`
+* :class:`bpy.types.ParticleSettings.grid_random`
+* :class:`bpy.types.ParticleSettings.hair_length`
+* :class:`bpy.types.ParticleSettings.hexagonal_grid`
+* :class:`bpy.types.ParticleSettings.is_fluid`
+* :class:`bpy.types.ParticleSettings.kink_amplitude_clump`
+* :class:`bpy.types.ParticleSettings.kink_flat`
+* :class:`bpy.types.ParticleSettings.texture_slots`
+* :class:`bpy.types.ParticleSettings.timestep`
+* :class:`bpy.types.ParticleSettings.use_advanced_hair`
+
+Removed
+^^^^^^^
+
+* **reaction_shape**
+* **show_material_color**
+* **use_animate_branching**
+* **use_branching**
+* **use_symmetric_branching**
+
+bpy.types.SceneGameData
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneGameData.show_mouse`
+
+bpy.types.MaterialPhysics
+-------------------------
+
+Renamed
+^^^^^^^
+
+* **damping** -> :class:`bpy.types.MaterialPhysics.fh_damping`
+* **distance** -> :class:`bpy.types.MaterialPhysics.fh_distance`
+* **force** -> :class:`bpy.types.MaterialPhysics.fh_force`
+* **use_normal_align** -> :class:`bpy.types.MaterialPhysics.use_fh_normal`
+
+
+2.57 to 2.58
+============
+
+bpy_extras
+----------
+
+Added
+^^^^^
+
+* :mod:`bpy_extras`
+* :mod:`bpy_extras.view3d_utils`
+
+Moved
+^^^^^
+
+* io_utils -> :mod:`bpy_extras.io_utils`
+* image_utils -> :mod:`bpy_extras.image_utils`
+* mesh_utils -> :mod:`bpy_extras.mesh_utils`
+* object_utils -> :mod:`bpy_extras.object_utils`
+
+bpy.types.RenderSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderSettings.use_bake_lores_mesh`
+* :class:`bpy.types.RenderSettings.use_bake_multires`
+
+bpy.types.Camera
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Camera.show_guide`
+
+bpy.types.SpaceImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceImageEditor.zoom`
+
+bpy.types.SpaceView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceView3D.lock_camera`
+
+bpy.types.RegionView3D
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RegionView3D.is_perspective`
+
+bpy.types.Scene
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Scene.frame_subframe`
+
+bpy.types.Area
+--------------
+
+Removed
+^^^^^^^
+
+* **active_space**
+
+bpy.types.DisplaceModifier
+--------------------------
+
+Renamed
+^^^^^^^
+
+* **texture_coordinate_object** -> :class:`bpy.types.DisplaceModifier.texture_coords_object`
+
+bpy.types.UserPreferencesView
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesView.use_camera_lock_parent`
+
+bpy.types.DomainFluidSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DomainFluidSettings.fluid_mesh_vertices`
+* :class:`bpy.types.DomainFluidSettings.surface_noobs`
+
+bpy.types.Sculpt
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Sculpt.use_deform_only`
+
+bpy.types.ClothCollisionSettings
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ClothCollisionSettings.distance_repel`
+* :class:`bpy.types.ClothCollisionSettings.repel_force`
+
+bpy.types.UILayout
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UILayout.template_edit_mode_selection`
+
+bpy.types.ToolSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ToolSettings.use_snap_project_self`
+
+bpy.types.Mesh
+--------------
+
+Removed
+^^^^^^^
+
+* **edge_face_count**
+* **edge_face_count_dict**
+* **edge_loops_from_edges**
+* **edge_loops_from_faces**
+
+bpy.types.PointDensity
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PointDensity.falloff_curve`
+* :class:`bpy.types.PointDensity.falloff_speed_scale`
+* :class:`bpy.types.PointDensity.use_falloff_curve`
+
+bpy.types.SpaceTextEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceTextEditor.use_match_case`
+
+bpy.types.CameraActuator
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CameraActuator.damping`
+
+bpy.types.Property
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Property.is_skip_save`
+
+bpy.types.UserPreferencesSystem
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesSystem.anisotropic_filter`
+
+bpy.types.Object
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Object.empty_image_offset`
+
+bpy.types.Image
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Image.resolution`
+
+bpy.types.SceneGameData
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneGameData.use_glsl_color_management`
+
diff --git a/doc/python_api/rst/info_gotcha.rst b/doc/python_api/rst/info_gotcha.rst
new file mode 100644
index 00000000000..c97fc3ab427
--- /dev/null
+++ b/doc/python_api/rst/info_gotcha.rst
@@ -0,0 +1,405 @@
+********
+Gotcha's
+********
+
+This document attempts to help you work with the Blender API in areas that can be troublesome and avoid practices that are known to give instability.
+
+
+Using Operators
+===============
+
+Blender's operators are tools for users to access, that python can access them too is very useful nevertheless operators have limitations that can make them cumbersome to script.
+
+Main limits are...
+
+* Can't pass data such as objects, meshes or materials to operate on (operators use the context instead)
+
+* The return value from calling an operator gives the success (if it finished or was canceled),
+ in some cases it would be more logical from an API perspective to return the result of the operation.
+
+* Operators poll function can fail where an API function would raise an exception giving details on exactly why.
+
+
+Why does an operator's poll fail?
+---------------------------------
+
+When calling an operator gives an error like this:
+
+ >>> bpy.ops.action.clean(threshold=0.001)
+ RuntimeError: Operator bpy.ops.action.clean.poll() failed, context is incorrect
+
+Which raises the question as to what the correct context might be?
+
+Typically operators check for the active area type, a selection or active object they can operate on, but some operators are more picky about when they run.
+
+In most cases you can figure out what context an operator needs simply be seeing how its used in Blender and thinking about what it does.
+
+
+Unfortunately if you're still stuck - the only way to **really** know whats going on is to read the source code for the poll function and see what its checking.
+
+For python operators its not so hard to find the source since its included with with Blender and the source file/line is included in the operator reference docs.
+
+Downloading and searching the C code isn't so simple, especially if you're not familiar with the C language but by searching the operator name or description you should be able to find the poll function with no knowledge of C.
+
+.. note::
+
+ Blender does have the functionality for poll functions to describe why they fail, but its currently not used much, if you're interested to help improve our API feel free to add calls to ``CTX_wm_operator_poll_msg_set`` where its not obvious why poll fails.
+
+ >>> bpy.ops.gpencil.draw()
+ RuntimeError: Operator bpy.ops.gpencil.draw.poll() Failed to find Grease Pencil data to draw into
+
+
+The operator still doesn't work!
+--------------------------------
+
+Certain operators in Blender are only intended for use in a specific context, some operators for example are only called from the properties window where they check the current material, modifier or constraint.
+
+Examples of this are:
+
+* :mod:`bpy.ops.texture.slot_move`
+* :mod:`bpy.ops.constraint.limitdistance_reset`
+* :mod:`bpy.ops.object.modifier_copy`
+* :mod:`bpy.ops.buttons.file_browse`
+
+Another possibility is that you are the first person to attempt to use this operator in a script and some modifications need to be made to the operator to run in a different context, if the operator should logically be able to run but fails when accessed from a script it should be reported to the bug tracker.
+
+
+Stale Data
+==========
+
+No updates after setting values
+-------------------------------
+
+Sometimes you want to modify values from python and immediately access the updated values, eg:
+
+Once changing the objects :class:`bpy.types.Object.location` you may want to access its transformation right after from :class:`bpy.types.Object.matrix_world`, but this doesn't work as you might expect.
+
+Consider the calculations that might go into working out the objects final transformation, this includes:
+
+* animation function curves.
+* drivers and their pythons expressions.
+* constraints
+* parent objects and all of their f-curves, constraints etc.
+
+To avoid expensive recalculations every time a property is modified, Blender defers making the actual calculations until they are needed.
+
+However, while the script runs you may want to access the updated values.
+
+This can be done by calling :class:`bpy.types.Scene.update` after modifying values which recalculates all data that is tagged to be updated.
+
+
+Can I redraw during the script?
+-------------------------------
+
+The official answer to this is no, or... *"You don't want to do that"*.
+
+To give some background on the topic...
+
+While a script executes Blender waits for it to finish and is effectively locked until its done, while in this state Blender won't redraw or respond to user input.
+Normally this is not such a problem because scripts distributed with Blender tend not to run for an extended period of time, nevertheless scripts *can* take ages to execute and its nice to see whats going on in the view port.
+
+Tools that lock Blender in a loop and redraw are highly discouraged since they conflict with Blenders ability to run multiple operators at once and update different parts of the interface as the tool runs.
+
+So the solution here is to write a **modal** operator, that is - an operator which defines a modal() function, See the modal operator template in the text editor.
+
+Modal operators execute on user input or setup their own timers to run frequently, they can handle the events or pass through to be handled by the keymap or other modal operators.
+
+Transform, Painting, Fly-Mode and File-Select are example of a modal operators.
+
+Writing modal operators takes more effort then a simple ``for`` loop that happens to redraw but is more flexible and integrates better with Blenders design.
+
+
+**Ok, Ok! I still want to draw from python**
+
+If you insist - yes its possible, but scripts that use this hack wont be considered for inclusion in Blender and any issues with using it wont be considered bugs, this is also not guaranteed to work in future releases.
+
+.. code-block:: python
+
+ bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)
+
+
+Matrix multiplication is wrong
+==============================
+
+Every so often users complain that Blenders matrix math is wrong, the confusion comes from mathutils matrices being column-major to match OpenGL and the rest of Blenders matrix operations and stored matrix data.
+
+This is different to **numpy** which is row-major which matches what you would expect when using conventional matrix math notation.
+
+
+I can't edit the mesh in edit-mode!
+===================================
+
+Blenders EditMesh is an internal data structure (not saved and not exposed to python), this gives the main annoyance that you need to exit edit-mode to edit the mesh from python.
+
+The reason we have not made much attempt to fix this yet is because we
+will likely move to BMesh mesh API eventually, so any work on the API now will be wasted effort.
+
+With the BMesh API we may expose mesh data to python so we can
+write useful tools in python which are also fast to execute while in edit-mode.
+
+For the time being this limitation just has to be worked around but we're aware its frustrating needs to be addressed.
+
+
+EditBones, PoseBones, Bone... Bones
+===================================
+
+Armature Bones in Blender have three distinct data structures that contain them. If you are accessing the bones through one of them, you may not have access to the properties you really need.
+
+.. note::
+
+ In the following examples ``bpy.context.object`` is assumed to be an armature object.
+
+
+Edit Bones
+----------
+
+``bpy.context.object.data.edit_bones`` contains a editbones; to access them you must set the armature mode to edit mode first (editbones do not exist in object or pose mode). Use these to create new bones, set their head/tail or roll, change their parenting relationships to other bones, etc.
+
+Example using :class:`bpy.types.EditBone` in armature editmode:
+
+This is only possible in edit mode.
+
+ >>> bpy.context.object.data.edit_bones["Bone"].head = Vector((1.0, 2.0, 3.0))
+
+This will be empty outside of editmode.
+
+ >>> mybones = bpy.context.selected_editable_bones
+
+Returns an editbone only in edit mode.
+
+ >>> bpy.context.active_bone
+
+
+Bones (Object Mode)
+-------------------
+
+``bpy.context.object.data.bones`` contains bones. These *live* in object mode, and have various properties you can change, note that the head and tail properties are read-only.
+
+Example using :class:`bpy.types.Bone` in object or pose mode:
+
+Returns a bone (not an editbone) outside of edit mode
+
+ >>> bpy.context.active_bone
+
+This works, as with blender the setting can be edited in any mode
+
+ >>> bpy.context.object.data.bones["Bone"].use_deform = True
+
+Accessible but read-only
+
+ >>> tail = myobj.data.bones["Bone"].tail
+
+
+Pose Bones
+----------
+
+``bpy.context.object.pose.bones`` contains pose bones. This is where animation data resides, i.e. animatable transformations are applied to pose bones, as are constraints and ik-settings.
+
+Examples using :class:`bpy.types.PoseBone` in object or pose mode:
+
+.. code-block:: python
+
+ # Gets the name of the first constraint (if it exists)
+ bpy.context.object.pose.bones["Bone"].constraints[0].name
+
+ # Gets the last selected pose bone (pose mode only)
+ bpy.context.active_pose_bone
+
+
+.. note::
+
+ Notice the pose is accessed from the object rather than the object data, this is why blender can have 2 or more objects sharing the same armature in different poses.
+
+.. note::
+
+ Strictly speaking PoseBone's are not bones, they are just the state of the armature, stored in the :class:`bpy.types.Object` rather than the :class:`bpy.types.Armature`, the real bones are however accessible from the pose bones - :class:`bpy.types.PoseBone.bone`
+
+
+Armature Mode Switching
+-----------------------
+
+While writing scripts that deal with armatures you may find you have to switch between modes, when doing so take care when switching out of editmode not to keep references to the edit-bones or their head/tail vectors. Further access to these will crash blender so its important the script clearly separates sections of the code which operate in different modes.
+
+This is mainly an issue with editmode since pose data can be manipulated without having to be in pose mode, however for operator access you may still need to enter pose mode.
+
+
+Unicode Problems
+================
+
+Python supports many different encpdings so there is nothing stopping you from writing a script in latin1 or iso-8859-15.
+
+See `pep-0263 <http://www.python.org/dev/peps/pep-0263/>`_
+
+However this complicates things for the python api because blend files themselves dont have an encoding.
+
+To simplify the problem for python integration and script authors we have decieded all strings in blend files **must** be UTF-8 or ASCII compatible.
+
+This means assigning strings with different encodings to an object names for instance will raise an error.
+
+Paths are an exception to this rule since we cannot ignore the existane of non-utf-8 paths on peoples filesystems.
+
+This means seemingly harmless expressions can raise errors, eg.
+
+ >>> print(bpy.data.filepath)
+ UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-21: ordinal not in range(128)
+
+ >>> bpy.context.object.name = bpy.data.filepath
+ Traceback (most recent call last):
+ File "<blender_console>", line 1, in <module>
+ TypeError: bpy_struct: item.attr= val: Object.name expected a string type, not str
+
+
+Here are 2 ways around filesystem encoding issues:
+
+ >>> print(repr(bpy.data.filepath))
+
+ >>> import os
+ >>> filepath_bytes = os.fsencode(bpy.data.filepath)
+ >>> filepath_utf8 = filepath_bytes.decode('utf-8', "replace")
+ >>> bpy.context.object.name = filepath_utf8
+
+
+Unicode encoding/decoding is a big topic with comprehensive python documentation, to avoid getting stuck too deep in encoding problems - here are some suggestions:
+
+* Always use utf-8 encoiding or convert to utf-8 where the input is unknown.
+
+* Avoid manipulating filepaths as strings directly, use ``os.path`` functions instead.
+
+* Use ``os.fsencode()`` / ``os.fsdecode()`` rather then the built in string decoding functions when operating on paths.
+
+* To print paths or to include them in the user interface use ``repr(path)`` first or ``"%r" % path`` with string formatting.
+
+* **Possibly** - use bytes instead of python strings, when reading some input its less trouble to read it as binary data though you will still need to deciede how to treat any strings you want to use with Blender, some importers do this.
+
+
+Strange errors using 'threading' module
+=======================================
+
+Python threading with Blender only works properly when the threads finish up before the script does. By using ``threading.join()`` for example.
+
+Heres an example of threading supported by Blender:
+
+.. code-block:: python
+
+ import threading
+ import time
+
+ def prod():
+ print(threading.current_thread().name, "Starting")
+
+ # do something vaguely useful
+ import bpy
+ from mathutils import Vector
+ from random import random
+
+ prod_vec = Vector((random() - 0.5, random() - 0.5, random() - 0.5))
+ print("Prodding", prod_vec)
+ bpy.data.objects["Cube"].location += prod_vec
+ time.sleep(random() + 1.0)
+ # finish
+
+ print(threading.current_thread().name, "Exiting")
+
+ threads = [threading.Thread(name="Prod %d" % i, target=prod) for i in range(10)]
+
+
+ print("Starting threads...")
+
+ for t in threads:
+ t.start()
+
+ print("Waiting for threads to finish...")
+
+ for t in threads:
+ t.join()
+
+
+This an example of a timer which runs many times a second and moves the default cube continuously while Blender runs (Unsupported).
+
+.. code-block:: python
+
+ def func():
+ print("Running...")
+ import bpy
+ bpy.data.objects['Cube'].location.x += 0.05
+
+ def my_timer():
+ from threading import Timer
+ t = Timer(0.1, my_timer)
+ t.start()
+ func()
+
+ my_timer()
+
+Use cases like the one above which leave the thread running once the script finishes may seem to work for a while but end up causing random crashes or errors in Blenders own drawing code.
+
+So far no work has gone into making Blenders python integration thread safe, so until its properly supported, best not make use of this.
+
+.. note::
+
+ Pythons threads only allow co-currency and wont speed up you're scripts on multi-processor systems, the ``subprocess`` and ``multiprocess`` modules can be used with blender and make use of multiple CPU's too.
+
+
+Help! My script crashes Blender
+===============================
+
+Ideally it would be impossible to crash Blender from python however there are some problems with the API where it can be made to crash.
+
+Strictly speaking this is a bug in the API but fixing it would mean adding memory verification on every access since most crashes are caused by the python objects referencing Blenders memory directly, whenever the memory is freed, further python access to it can crash the script. But fixing this would make the scripts run very slow, or writing a very different kind of API which doesn't reference the memory directly.
+
+Here are some general hints to avoid running into these problems.
+
+* Be aware of memory limits, especially when working with large lists since Blender can crash simply by running out of memory.
+
+* Many hard to fix crashes end up being because of referencing freed data, when removing data be sure not to hold any references to it.
+
+* Modules or classes that remain active while Blender is used, should not hold references to data the user may remove, instead, fetch data from the context each time the script is activated.
+
+* Crashes may not happen every time, they may happen more on some configurations/operating-systems.
+
+
+Undo/Redo
+---------
+
+Undo invalidates all :class:`bpy.types.ID` instances (Object, Scene, Mesh etc).
+
+This example shows how you can tell undo changes the memory locations.
+
+ >>> hash(bpy.context.object)
+ -9223372036849950810
+ >>> hash(bpy.context.object)
+ -9223372036849950810
+
+ # ... move the active object, then undo
+
+ >>> hash(bpy.context.object)
+ -9223372036849951740
+
+As suggested above, simply not holding references to data when Blender is used interactively by the user is the only way to ensure the script doesn't become unstable.
+
+
+Array Re-Allocation
+-------------------
+
+When adding new points to a curve or vertices's/edges/faces to a mesh, internally the array which stores this data is re-allocated.
+
+.. code-block:: python
+
+ bpy.ops.curve.primitive_bezier_curve_add()
+ point = bpy.context.object.data.splines[0].bezier_points[0]
+ bpy.context.object.data.splines[0].bezier_points.add()
+
+ # this will crash!
+ point.co = 1.0, 2.0, 3.0
+
+This can be avoided by re-assigning the point variables after adding the new one or by storing indices's to the points rather then the points themselves.
+
+The best way is to sidestep the problem altogether add all the points to the curve at once. This means you don't have to worry about array re-allocation and its faster too since reallocating the entire array for every point added is inefficient.
+
+
+Removing Data
+-------------
+
+**Any** data that you remove shouldn't be modified or accessed afterwards, this includes f-curves, drivers, render layers, timeline markers, modifiers, constraints along with objects, scenes, groups, bones.. etc.
+
+This is a problem in the API at the moment that we should eventually solve.
diff --git a/doc/python_api/rst/info_overview.rst b/doc/python_api/rst/info_overview.rst
new file mode 100644
index 00000000000..fe730088c44
--- /dev/null
+++ b/doc/python_api/rst/info_overview.rst
@@ -0,0 +1,373 @@
+*******************
+Python API Overview
+*******************
+
+This document is to give an understanding of how python and blender fit together, covering some of the functionality that isn't obvious from reading the API reference and example scripts.
+
+
+Python in Blender
+=================
+
+Blender embeds a python interpreter which is started with blender and stays active. This interpreter runs scripts to draw the user interface and is used for some of Blender's internal tools too.
+
+This is a typical python environment so tutorials on how to write python scripts will work running the scripts in blender too. Blender provides the :mod:`bpy` module to the python interpreter. This module can be imported in a script and gives access to blender data, classes, and functions. Scripts that deal with blender data will need to import this module.
+
+Here is a simple example of moving a vertex of the object named **Cube**:
+
+.. code-block:: python
+
+ import bpy
+ bpy.data.objects["Cube"].data.vertices[0].co.x += 1.0
+
+This modifies Blender's internal data directly. When you run this in the interactive console you will see the 3D viewport update.
+
+
+The Default Environment
+=======================
+
+When developing your own scripts it may help to understand how blender sets up its python environment. Many python scripts come bundled with blender and can be used as a reference because they use the same API that script authors write tools in. Typical usage for scripts include: user interface, import/export, scene manipulation, automation, defining your own toolset and customization.
+
+On startup blender scans the ``scripts/startup/`` directory for python modules and imports them. The exact location of this directory depends on your installation. `See the directory layout docs <http://wiki.blender.org/index.php/Doc:2.5/Manual/Introduction/Installing_Blender/DirectoryLayout>`_
+
+
+Script Loading
+==============
+
+This may seem obvious but it's important to note the difference between executing a script directly or importing it as a module.
+
+Scripts that extend blender - define classes that exist beyond the scripts execution, this makes future access to these classes (to unregister for example) more difficult than importing as a module where class instance is kept in the module and can be accessed by importing that module later on.
+
+For this reason it's preferable to only use directly execute scripts that don't extend blender by registering classes.
+
+
+Here are some ways to run scripts directly in blender.
+
+* Loaded in the text editor and press **Run Script**.
+
+* Typed or pasted into the interactive console.
+
+* Execute a python file from the command line with blender, eg:
+
+ ``blender --python /home/me/my_script.py``
+
+
+To run as modules:
+
+* The obvious way, ``import some_module`` command from the text window or interactive console.
+
+* Open as a text block and tick "Register" option, this will load with the blend file.
+
+* copy into one of the directories ``scripts/startup``, where they will be automatically imported on startup.
+
+* define as an addon, enabling the addon will load it as a python module.
+
+
+Addons
+------
+
+Some of blenders functionality is best kept optional, alongside scripts loaded at startup we have addons which are kept in their own directory ``scripts/addons``, and only load on startup if selected from the user preferences.
+
+The only difference between addons and built-in python modules is that addons must contain a **bl_info** variable which blender uses to read metadata such as name, author, category and URL.
+
+The user preferences addon listing uses **bl_info** to display information about each addon.
+
+`See Addons <http://wiki.blender.org/index.php/Dev:2.5/Py/Scripts/Guidelines/Addons>`_ for details on the **bl_info** dictionary.
+
+
+Integration through Classes
+===========================
+
+Running python scripts in the text editor is useful for testing but you’ll want to extend blender to make tools accessible like other built-in functionality.
+
+The blender python api allows integration for:
+
+* :class:`bpy.types.Panel`
+
+* :class:`bpy.types.Menu`
+
+* :class:`bpy.types.Operator`
+
+* :class:`bpy.types.PropertyGroup`
+
+* :class:`bpy.types.KeyingSet`
+
+* :class:`bpy.types.RenderEngine`
+
+
+This is intentionally limited. Currently, for more advanced features such as mesh modifiers, object types, or shader nodes, C/C++ must be used.
+
+For python intergration Blender defines methods which are common to all types. This works by creating a python subclass of a Blender class which contains variables and functions specified by the parent class which are pre-defined to interface with Blender.
+
+For example:
+
+.. code-block:: python
+
+ import bpy
+ class SimpleOperator(bpy.types.Operator):
+ bl_idname = "object.simple_operator"
+ bl_label = "Tool Name"
+
+ def execute(self, context):
+ print("Hello World")
+ return {'FINISHED'}
+
+ bpy.utils.register_class(SimpleOperator)
+
+First note that we subclass a member of :mod:`bpy.types`, this is common for all classes which can be integrated with blender and used so we know if this is an Operator and not a Panel when registering.
+
+Both class properties start with a **bl_** prefix. This is a convention used to distinguish blender properties from those you add yourself.
+
+Next see the execute function, which takes an instance of the operator and the current context. A common prefix is not used for functions.
+
+Lastly the register function is called, this takes the class and loads it into blender. See `Class Registration`_.
+
+Regarding inheritance, blender doesn't impose restrictions on the kinds of class inheritance used, the registration checks will use attributes and functions defined in parent classes.
+
+class mix-in example:
+
+.. code-block:: python
+
+ import bpy
+ class BaseOperator:
+ def execute(self, context):
+ print("Hello World BaseClass")
+ return {'FINISHED'}
+
+ class SimpleOperator(bpy.types.Operator, BaseOperator):
+ bl_idname = "object.simple_operator"
+ bl_label = "Tool Name"
+
+ bpy.utils.register_class(SimpleOperator)
+
+Notice these classes don't define an ``__init__(self)`` function. While ``__init__()`` and ``__del__()`` will be called if defined, the class instances lifetime only spans the execution. So a panel for example will have a new instance for every redraw, for this reason there is rarely a cause to store variables in the panel instance. Instead, persistent variables should be stored in Blenders data so that the state can be restored when blender is restarted.
+
+.. note:: Modal operators are an exception, keeping their instance variable as blender runs, see modal operator template.
+
+So once the class is registered with blender, instancing the class and calling the functions is left up to blender. In fact you cannot instance these classes from the script as you would expect with most python API's.
+
+To run operators you can call them through the operator api, eg:
+
+.. code-block:: python
+
+ import bpy
+ bpy.ops.object.simple_operator()
+
+User interface classes are given a context in which to draw, buttons window, file header, toolbar etc, then they are drawn when that area is displayed so they are never called by python scripts directly.
+
+
+Registration
+============
+
+
+Module Registration
+-------------------
+
+Blender modules loaded at startup require ``register()`` and ``unregister()`` functions. These are the *only* functions that blender calls from your code, which is otherwise a regular python module.
+
+A simple blender/python module can look like this:
+
+.. code-block:: python
+
+ import bpy
+
+ class SimpleOperator(bpy.types.Operator):
+ """ See example above """
+
+ def register():
+ bpy.utils.register_class(SimpleOperator)
+
+ def unregister():
+ bpy.utils.unregister_class(SimpleOperator)
+
+ if __name__ == "__main__":
+ register()
+
+These functions usually appear at the bottom of the script containing class registration sometimes adding menu items. You can also use them for internal purposes setting up data for your own tools but take care since register won't re-run when a new blend file is loaded.
+
+The register/unregister calls are used so it's possible to toggle addons and reload scripts while blender runs.
+If the register calls were placed in the body of the script, registration would be called on import, meaning there would be no distinction between importing a module or loading its classes into blender.
+
+This becomes problematic when a script imports classes from another module making it difficult to manage which classes are being loaded and when.
+
+The last 2 lines are only for testing:
+
+.. code-block:: python
+
+ if __name__ == "__main__":
+ register()
+
+This allows the script to be run directly in the text editor to test changes.
+This ``register()`` call won't run when the script is imported as a module since ``__main__`` is reserved for direct execution.
+
+
+Class Registration
+------------------
+
+Registering a class with blender results in the class definition being loaded into blender, where it becomes available alongside existing functionality.
+
+Once this class is loaded you can access it from :mod:`bpy.types`, using the bl_idname rather than the classes original name.
+
+When loading a class, blender performs sanity checks making sure all required properties and functions are found, that properties have the correct type, and that functions have the right number of arguments.
+
+Mostly you will not need concern yourself with this but if there is a problem with the class definition it will be raised on registering:
+
+Using the function arguments ``def execute(self, context, spam)``, will raise an exception:
+
+``ValueError: expected Operator, SimpleOperator class "execute" function to have 2 args, found 3``
+
+Using ``bl_idname = 1`` will raise.
+
+``TypeError: validating class error: Operator.bl_idname expected a string type, not int``
+
+
+Multiple-Classes
+^^^^^^^^^^^^^^^^
+
+Loading classes into blender is described above, for simple cases calling :mod:`bpy.utils.register_class` (SomeClass) is sufficient, but when there are many classes or a packages submodule has its own classes it can be tedious to list them all for registration.
+
+For more convenient loading/unloading :mod:`bpy.utils.register_module` (module) and :mod:`bpy.utils.unregister_module` (module) functions exist.
+
+A script which defines many of its own operators, panels menus etc. you only need to write:
+
+.. code-block:: python
+
+ def register():
+ bpy.utils.register_module(__name__)
+
+ def unregister():
+ bpy.utils.unregister_module(__name__)
+
+Internally blender collects subclasses on registrable types, storing them by the module in which they are defined. By passing the module name to :mod:`bpy.utils.register_module` blender can register all classes created by this module and its submodules.
+
+
+Inter Classes Dependencies
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When customizing blender you may want to group your own settings together, after all, they will likely have to co-exist with other scripts. To group these properties classes need to be defined, for groups within groups or collections within groups you can find yourself having to deal with order of registration/unregistration.
+
+Custom properties groups are themselves classes which need to be registered.
+
+Say you want to store material settings for a custom engine.
+
+.. code-block:: python
+
+ # Create new property
+ # bpy.data.materials[0].my_custom_props.my_float
+ import bpy
+
+ class MyMaterialProps(bpy.types.PropertyGroup):
+ my_float = bpy.props.FloatProperty()
+
+ def register():
+ bpy.utils.register_class(MyMaterialProps)
+ bpy.types.Material.my_custom_props = bpy.props.PointerProperty(type=MyMaterialProps)
+
+ def unregister():
+ del bpy.types.Material.my_custom_props
+ bpy.utils.unregister_class(MyMaterialProps)
+
+ if __name__ == "__main__":
+ register()
+
+.. note::
+
+ *The class must be registered before being used in a property, failing to do so will raise an error:*
+
+ ``ValueError: bpy_struct "Material" registration error: my_custom_props could not register``
+
+
+.. code-block:: python
+
+ # Create new property group with a sub property
+ # bpy.data.materials[0].my_custom_props.sub_group.my_float
+ import bpy
+
+ class MyMaterialSubProps(bpy.types.PropertyGroup):
+ my_float = bpy.props.FloatProperty()
+
+ class MyMaterialGroupProps(bpy.types.PropertyGroup):
+ sub_group = bpy.props.PointerProperty(type=MyMaterialSubProps)
+
+ def register():
+ bpy.utils.register_class(MyMaterialSubProps)
+ bpy.utils.register_class(MyMaterialGroupProps)
+ bpy.types.Material.my_custom_props = bpy.props.PointerProperty(type=MyMaterialGroupProps)
+
+ def unregister():
+ del bpy.types.Material.my_custom_props
+ bpy.utils.unregister_class(MyMaterialGroupProps)
+ bpy.utils.unregister_class(MyMaterialSubProps)
+
+ if __name__ == "__main__":
+ register()
+
+.. note::
+
+ *The lower most class needs to be registered first and that unregister() is a mirror of register()*
+
+
+Manipulating Classes
+^^^^^^^^^^^^^^^^^^^^
+
+Properties can be added and removed as blender runs, normally happens on register or unregister but for some special cases it may be useful to modify types as the script runs.
+
+For example:
+
+.. code-block:: python
+
+ # add a new property to an existing type
+ bpy.types.Object.my_float = bpy.props.FloatProperty()
+ # remove
+ del bpy.types.Object.my_float
+
+This works just as well for PropertyGroup subclasses you define yourself.
+
+.. code-block:: python
+
+ class MyPropGroup(bpy.types.PropertyGroup):
+ pass
+ MyPropGroup.my_float = bpy.props.FloatProperty()
+
+...this is equivalent to:
+
+.. code-block:: python
+
+ class MyPropGroup(bpy.types.PropertyGroup):
+ my_float = bpy.props.FloatProperty()
+
+
+Dynamic Defined-Classes (Advanced)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In some cases the specifier for data may not be in blender, renderman shader definitions for example and it may be useful to define types and remove them on the fly.
+
+.. code-block:: python
+
+ for i in range(10):
+ idname = "object.operator_%d" % i
+
+ def func(self, context):
+ print("Hello World", self.bl_idname)
+ return {'FINISHED'}
+
+ opclass = type("DynOp%d" % i,
+ (bpy.types.Operator, ),
+ {"bl_idname": idname, "bl_label": "Test", "execute": func},
+ )
+ bpy.utils.register_class(opclass)
+
+.. note::
+
+ Notice ``type()`` is called to define the class. This is an alternative syntax for class creation in python, better suited to constructing classes dynamically.
+
+
+Calling these operators:
+
+ >>> bpy.ops.object.operator_1()
+ Hello World OBJECT_OT_operator_1
+ {'FINISHED'}
+
+ >>> bpy.ops.object.operator_2()
+ Hello World OBJECT_OT_operator_2
+ {'FINISHED'}
+
diff --git a/doc/python_api/rst/info_quickstart.rst b/doc/python_api/rst/info_quickstart.rst
new file mode 100644
index 00000000000..751e5e1ec61
--- /dev/null
+++ b/doc/python_api/rst/info_quickstart.rst
@@ -0,0 +1,468 @@
+***********************
+Quickstart Introduction
+***********************
+
+Intro
+=====
+
+This API is generally stable but some areas are still being added and improved.
+
+The Blender/Python API can do the following:
+
+* Edit any data the user interface can (Scenes, Meshes, Particles etc.)
+
+* Modify user preferences, keymaps and themes
+
+* Run tools with own settings
+
+* Create user interface elements such as menus, headers and panels
+
+* Create new tools
+
+* Create interactive tools
+
+* Create new rendering engines that integrate with Blender
+
+* Define new settings in existing Blender data
+
+* Draw in the 3D view using OpenGL commands from Python
+
+
+The Blender/Python API **can't** (yet)...
+
+* Create new space types.
+
+* Assign custom properties to every type.
+
+* Define callbacks or listeners to be notified when data is changed.
+
+
+Before Starting
+===============
+
+This document isn't intended to fully cover each topic. Rather, its purpose is to familiarize you with Blender 2.5's new Python API.
+
+
+A quick list of helpful things to know before starting:
+
+* Blender uses Python 3.x; some 3rd party extensions are not available yet.
+
+* The interactive console in Blender 2.5 has been improved; testing one-liners in the console is a good way to learn.
+
+* Button tool tips show Python attributes and operator names.
+
+* Right clicking on buttons and menu items directly links to API documentation.
+
+* For more examples, the text menu has a templates section where some example operators can be found.
+
+* To examine further scripts distributed with Blender, see ``~/.blender/scripts/startup/bl_ui`` for the user interface and ``~/.blender/scripts/startup/bl_op`` for operators.
+
+
+Key Concepts
+============
+
+Data Access
+-----------
+
+Accessing datablocks
+^^^^^^^^^^^^^^^^^^^^
+
+Python accesses Blender's data in the same way as the animation system and user interface, which means any setting that is changed via a button can also be changed from Python.
+
+Accessing data from the currently loaded blend file is done with the module :mod:`bpy.data`. This gives access to library data. For example:
+
+ >>> bpy.data.objects
+ <bpy_collection[3], BlendDataObjects>
+
+ >>> bpy.data.scenes
+ <bpy_collection[1], BlendDataScenes>
+
+ >>> bpy.data.materials
+ <bpy_collection[1], BlendDataMaterials>
+
+
+About Collections
+^^^^^^^^^^^^^^^^^
+
+You'll notice that an index as well as a string can be used to access members of the collection.
+
+Unlike Python's dictionaries, both methods are acceptable; however, the index of a member may change while running Blender.
+
+ >>> list(bpy.data.objects)
+ [bpy.data.objects["Cube"], bpy.data.objects["Plane"]]
+
+ >>> bpy.data.objects['Cube']
+ bpy.data.objects["Cube"]
+
+ >>> bpy.data.objects[0]
+ bpy.data.objects["Cube"]
+
+
+Accessing attributes
+^^^^^^^^^^^^^^^^^^^^
+
+Once you have a data block such as a material, object, groups etc. its attributes can be accessed just like changing a setting in the interface; in fact, the button tooltip also displays the Python attribute which can help in finding what settings to change in a script.
+
+ >>> bpy.data.objects[0].name
+ 'Camera'
+
+ >>> bpy.data.scenes["Scene"]
+ bpy.data.scenes['Scene']
+
+ >>> bpy.data.materials.new("MyMaterial")
+ bpy.data.materials['MyMaterial']
+
+
+For testing what data to access it's useful to use the "Console", which is its own space type in Blender 2.5. This supports auto-complete, giving you a fast way to dig into different data in your file.
+
+Example of a data path that can be quickly found via the console:
+
+ >>> bpy.data.scenes[0].render.resolution_percentage
+ 100
+ >>> bpy.data.scenes[0].objects["Torus"].data.vertices[0].co.x
+ 1.0
+
+
+Custom Properties
+^^^^^^^^^^^^^^^^^
+
+Python can access properties on any datablock that has an ID (data that can be linked in and accessed from :mod:`bpy.data`. When assigning a property, you can make up your own names, these will be created when needed or overwritten if they exist.
+
+This data is saved with the blend file and copied with objects.
+
+Example:
+
+.. code-block:: python
+
+ bpy.context.object["MyOwnProperty"] = 42
+
+ if "SomeProp" in bpy.context.object:
+ print("Property found")
+
+ # Use the get function like a python dictionary
+ # which can have a fallback value.
+ value = bpy.data.scenes["Scene"].get("test_prop", "fallback value")
+
+ # dictionaries can be assigned as long as they only use basic types.
+ group = bpy.data.groups.new("MyTestGroup")
+ group["GameSettings"] = {"foo": 10, "bar": "spam", "baz": {}}
+
+ del group["GameSettings"]
+
+
+Note that these properties can only be assigned basic Python types.
+
+* int, float, string
+
+* array of ints/floats
+
+* dictionary (only string keys are supported, values must be basic types too)
+
+These properties are valid outside of Python. They can be animated by curves or used in driver paths.
+
+
+Context
+-------
+
+While it's useful to be able to access data directly by name or as a list, it's more common to operate on the user's selection. The context is always available from '''bpy.context''' and can be used to get the active object, scene, tool settings along with many other attributes.
+
+Common-use cases:
+
+ >>> bpy.context.object
+ >>> bpy.context.selected_objects
+ >>> bpy.context.visible_bones
+
+Note that the context is read-only. These values cannot be modified directly, though they may be changed by running API functions or by using the data API.
+
+So ``bpy.context.object = obj`` will raise an error.
+
+But ``bpy.context.scene.objects.active = obj`` will work as expected.
+
+
+The context attributes change depending on where it is accessed. The 3D view has different context members to the Console, so take care when accessing context attributes that the user state is known.
+
+See :mod:`bpy.context` API reference
+
+
+Operators (Tools)
+-----------------
+
+Operators are tools generally accessed by the user from buttons, menu items or key shortcuts. From the user perspective they are a tool but Python can run these with its own settings through the :mod:`bpy.ops` module.
+
+Examples:
+
+ >>> bpy.ops.mesh.flip_normals()
+ {'FINISHED'}
+ >>> bpy.ops.mesh.hide(unselected=False)
+ {'FINISHED'}
+ >>> bpy.ops.object.scale_apply()
+ {'FINISHED'}
+
+.. note::
+
+ The menu item: Help -> Operator Cheat Sheet" gives a list of all operators and their default values in Python syntax, along with the generated docs. This is a good way to get an overview of all blender's operators.
+
+
+Operator Poll()
+^^^^^^^^^^^^^^^
+
+Many operators have a "poll" function which may check that the mouse is a valid area or that the object is in the correct mode (Edit Mode, Weight Paint etc). When an operator's poll function fails within python, an exception is raised.
+
+For example, calling bpy.ops.view3d.render_border() from the console raises the following error:
+
+.. code-block:: python
+
+ RuntimeError: Operator bpy.ops.view3d.render_border.poll() failed, context is incorrect
+
+In this case the context must be the 3d view with an active camera.
+
+To avoid using try/except clauses wherever operators are called you can call the operators own .poll() function to check if it can run in the current context.
+
+.. code-block:: python
+
+ if bpy.ops.view3d.render_border.poll():
+ bpy.ops.view3d.render_border()
+
+
+Integration
+===========
+
+Python scripts can integrate with Blender in the following ways:
+
+* By defining a rendering engine.
+
+* By defining operators.
+
+* By defining menus, headers and panels.
+
+* By inserting new buttons into existing menus, headers and panels
+
+
+In Python, this is done by defining a class, which is a subclass of an existing type.
+
+
+Example Operator
+----------------
+
+.. literalinclude:: ../../../release/scripts/templates/operator_simple.py
+
+Once this script runs, ``SimpleOperator`` is registered with Blender and can be called from the operator search popup or added to the toolbar.
+
+To run the script:
+
+#. Highlight the above code then press Ctrl+C to copy it.
+
+#. Start Blender
+
+#. Press Ctrl+Right twice to change to the Scripting layout.
+
+#. Press Ctrl+V to paste the code into the text panel (the upper left frame).
+
+#. Click on the button **Run Script**.
+
+#. Move you're mouse into the 3D view, press spacebar for the operator search
+ menu, and type "Simple".
+
+#. Click on the "Simple Operator" item found in search.
+
+
+.. seealso:: The class members with the **bl_** prefix are documented in the API
+ reference :class:`bpy.types.Operator`
+
+
+Example Panel
+-------------
+
+Panels register themselves as a class, like an operator. Notice the extra **bl_** variables used to set the context they display in.
+
+.. literalinclude:: ../../../release/scripts/templates/ui_panel_simple.py
+
+To run the script:
+
+#. Highlight the above code then press Ctrl+C to copy it
+
+#. Start Blender
+
+#. Press Ctrl+Right twice to change to the Scripting layout
+
+#. Press Ctrl+V to paste the code into the text panel (the upper left frame)
+
+#. Click on the button **Run Script**.
+
+
+To view the results:
+
+#. Select the the default cube.
+
+#. Click on the Object properties icon in the buttons panel (far right; appears as a tiny cube).
+
+#. Scroll down to see a panel named **Hello World Panel**.
+
+#. Changing the object name also updates **Hello World Panel's** Name: field.
+
+Note the row distribution and the label and properties that are available through the code.
+
+.. seealso:: :class:`bpy.types.Panel`
+
+
+Types
+=====
+
+Blender defines a number of Python types but also uses Python native types.
+
+Blender's Python API can be split up into 3 categories.
+
+
+Native Types
+------------
+
+In simple cases returning a number or a string as a custom type would be cumbersome, so these are accessed as normal python types.
+
+* blender float/int/boolean -> float/int/boolean
+
+* blender enumerator -> string
+
+ >>> C.object.rotation_mode = 'AXIS_ANGLE'
+
+
+* blender enumerator (multiple) -> set of strings
+
+ .. code-block:: python
+
+ # setting multiple camera overlay guides
+ bpy.context.scene.camera.data.show_guide = {'GOLDEN', 'CENTER'}
+
+ # passing as an operator argument for report types
+ self.report({'WARNING', 'INFO'}, "Some message!")
+
+
+Internal Types
+--------------
+
+Used for Blender datablocks and collections: :class:`bpy.types.bpy_struct`
+
+For data that contains its own attributes groups/meshes/bones/scenes... etc.
+
+There are 2 main types that wrap Blenders data, one for datablocks (known internally as bpy_struct), another for properties.
+
+ >>> bpy.context.object
+ bpy.data.objects['Cube']
+
+ >>> C.scene.objects
+ bpy.data.scenes['Scene'].objects
+
+Note that these types reference Blender's data so modifying them is immediately visible.
+
+
+Mathutils Types
+---------------
+
+Used for vectors, quaternion, eulers, matrix and color types, accessible from :mod:`mathutils`
+
+Some attributes such as :class:`bpy.types.Object.location`, :class:`bpy.types.PoseBone.rotation_euler` and :class:`bpy.types.Scene.cursor_location` can be accessed as special math types which can be used together and manipulated in various useful ways.
+
+Example of a matrix, vector multiplication:
+
+.. code-block:: python
+
+ bpy.context.object.matrix_world * bpy.context.object.data.verts[0].co
+
+.. note::
+
+ mathutils types keep a reference to Blender's internal data so changes can
+ be applied back.
+
+
+ Example:
+
+ .. code-block:: python
+
+ # modifies the Z axis in place.
+ bpy.context.object.location.z += 2.0
+
+ # location variable holds a reference to the object too.
+ location = bpy.context.object.location
+ location *= 2.0
+
+ # Copying the value drops the reference so the value can be passed to
+ # functions and modified without unwanted side effects.
+ location = bpy.context.object.location.copy()
+
+
+Animation
+=========
+
+There are 2 ways to add keyframes through Python.
+
+The first is through key properties directly, which is similar to inserting a keyframe from the button as a user. You can also manually create the curves and keyframe data, then set the path to the property. Here are examples of both methods.
+
+Both examples insert a keyframe on the active object's Z axis.
+
+Simple example:
+
+.. code-block:: python
+
+ obj = bpy.context.object
+ obj.location[2] = 0.0
+ obj.keyframe_insert(data_path="location", frame=10.0, index=2)
+ obj.location[2] = 1.0
+ obj.keyframe_insert(data_path="location", frame=20.0, index=2)
+
+Using Low-Level Functions:
+
+.. code-block:: python
+
+ obj = bpy.context.object
+ obj.animation_data_create()
+ obj.animation_data.action = bpy.data.actions.new(name="MyAction")
+ fcu_z = obj.animation_data.action.fcurves.new(data_path="location", index=2)
+ fcu_z.keyframe_points.add(2)
+ fcu_z.keyframe_points[0].co = 10.0, 0.0
+ fcu_z.keyframe_points[1].co = 20.0, 1.0
+
+
+Style Conventions
+=================
+
+For Blender 2.5 we have chosen to follow python suggested style guide to avoid mixing styles amongst our own scripts and make it easier to use python scripts from other projects.
+
+Using our style guide for your own scripts makes it easier if you eventually want to contribute them to blender.
+
+This style guide is known as pep8 and can be found `here <http://www.python.org/dev/peps/pep-0008>`_
+
+A brief listing of pep8 criteria.
+
+* camel caps for class names: MyClass
+
+* all lower case underscore separated module names: my_module
+
+* indentation of 4 spaces (no tabs)
+
+* spaces around operators. ``1 + 1``, not ``1+1``
+
+* only use explicit imports, (no importing '*')
+
+* don't use single line: ``if val: body``, separate onto 2 lines instead.
+
+
+As well as pep8 we have other conventions used for blender python scripts.
+
+* Use single quotes for enums, and double quotes for strings.
+
+ Both are of course strings but in our internal API enums are unique items from a limited set. eg.
+
+ .. code-block:: python
+
+ bpy.context.scene.render.file_format = 'PNG'
+ bpy.context.scene.render.filepath = "//render_out"
+
+* pep8 also defines that lines should not exceed 79 characters, we felt this is too restrictive so this is optional per script.
+
+Periodically we run checks for pep8 compliance on blender scripts, for scripts to be included in this check add this line as a comment at the top of the script.
+
+``# <pep8 compliant>``
+
+To enable line length checks use this instead.
+
+``# <pep8-80 compliant>``
+
diff --git a/doc/python_api/rst/info_tips_and_tricks.rst b/doc/python_api/rst/info_tips_and_tricks.rst
new file mode 100644
index 00000000000..f4e68a4516c
--- /dev/null
+++ b/doc/python_api/rst/info_tips_and_tricks.rst
@@ -0,0 +1,133 @@
+***************
+Tips and Tricks
+***************
+
+Some of these are just python features that scripters may not have thaught to use with blender.
+
+
+Use The Terminal
+================
+
+When writing python scripts, its useful to have a terminal open, this is not the built-in python console but a terminal application which is used to start blender.
+
+There are 3 main uses for the terminal, these are:
+
+* You can see the output of `print()` as you're script runs, which is useful to view debug info.
+
+* The error tracebacks are printed in full to the terminal which wont always generate an error popup in blenders user interface (depending on how the script is executed).
+
+* If the script runs for too long or you accidentally enter an infinate loop, Ctrl+C in the terminal (Ctrl+Break on Windows) will quit the script early.
+
+.. note::
+ For Linux and OSX users this means starting the terminal first, then running blender from within it. On Windows the terminal can be enabled from the help menu.
+
+
+Run External Scripts
+====================
+
+Blenders text editor is fine for edits and writing small tests but it is not a full featured editor so for larger projects you'll probably want to use an external editor.
+
+Editing a text file externally and having the same text open in blender does work but isn't that optimal so here are 2 ways you can easily use an external file from blender.
+
+
+Executing External Scripts
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+This is the equivilent to running the script directly, referencing a scripts path from a 2 line textblock.
+
+.. code-block::
+
+ filename = "/full/path/to/myscript.py"
+ exec(compile(open(filename).read(), filename, 'exec'))
+
+
+You might also want to reference the file relative to the blend file.
+
+.. code-block::
+
+ filename = "/full/path/to/script.py"
+ exec(compile(open(filename).read(), filename, 'exec'))
+
+
+You might want to reference a script thats at the same location as the blend file.
+
+.. code-block::
+
+ import bpy
+ import os
+
+ filename = os.path.join(os.path.basename(bpy.data.filepath), "myscript.py")
+ exec(compile(open(filename).read(), filename, 'exec'))
+
+
+Executing Modules
+^^^^^^^^^^^^^^^^^
+
+This example shows loading a script in as a module and executing a module function.
+
+.. code-block::
+
+ import myscript
+ import imp
+
+ imp.reload(myscript)
+ myscript.main()
+
+
+Notice that the script is reloaded every time, this forces an update, normally the module stays cached in `sys.modules`.
+
+The main difference between this and executing the script directly is it has to call a function in the module, in this case `main()` but it can be any function, an advantage with this is you can pass argumnents to the function from this small script which is often useful for testing differnt settings quickly.
+
+The other issue with this is the script has to be in pythons module search path.
+While this is not best practice - for testing you can extend the search path, this example adds the current blend files directory to the search path, then loads the script as a module.
+
+.. code-block::
+
+ import sys
+ import os
+ impory bpy
+
+ blend_dir = os.path.basename(bpy.data.filepath)
+ if blend_dir not in sys.path:
+ sys.path.append(blend_dir)
+
+ import myscript
+ import imp
+ imp.reload(myscript)
+ myscript.main()
+
+
+Don't Use Blender!
+==================
+
+
+Use External Tools
+==================
+
+
+Bundled Python
+==============
+
+Blender from blender.org includes a compleate python installation on all platforms, this has the disadvantage that any extensions you have installed in you're systems python wont be found by blender.
+
+There are 2 ways around this:
+
+* remove blender python subdirectory, blender will then look for the systems python and use that instead **python version must match the one that blender comes with**.
+
+* copy the extensions into blender's python subdirectry so blender can access them, you could also copy the entire python installation into blenders subdirectory, replacing the one blender comes with. This works as long as the python versions match and the paths are created in the same location relative locations. Doing this has the advantage that you can redistribute this bundle to others with blender and/or the game player, including any extensions you rely on.
+
+
+Advanced
+========
+
+
+Blender as a module
+-------------------
+
+
+Python Safety (Build Option)
+----------------------------
+
+
+CTypes in Blender
+-----------------
diff --git a/doc/python_api/sphinx_changelog_gen.py b/doc/python_api/sphinx_changelog_gen.py
new file mode 100644
index 00000000000..7a56e73b7ad
--- /dev/null
+++ b/doc/python_api/sphinx_changelog_gen.py
@@ -0,0 +1,364 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+
+"""
+Dump the python API into a text file so we can generate changelogs.
+
+output from this tool should be added into "doc/python_api/rst/change_log.rst"
+
+# dump api blender_version.py in CWD
+blender --background --python doc/python_api/sphinx_changelog_gen.py -- --dump
+
+# create changelog
+blender --background --python doc/python_api/sphinx_changelog_gen.py -- \
+ --api_from blender_2_56_1.py \
+ --api_to blender_2_57_0.py \
+ --api_out changes.rst
+
+
+# Api comparison can also run without blender
+python doc/python_api/sphinx_changelog_gen.py \
+ --api_from blender_api_2_56_6.py \
+ --api_to blender_api_2_57.py \
+ --api_out changes.rst
+
+"""
+
+# format
+'''
+{"module.name":
+ {"parent.class":
+ {"basic_type", "member_name": ("Name", type, range, length, default, descr, f_args, f_arg_types, f_ret_types)}, ...
+ }, ...
+}
+'''
+
+api_names = "basic_type" "name", "type", "range", "length", "default", "descr", "f_args", "f_arg_types", "f_ret_types"
+
+API_BASIC_TYPE = 0
+API_F_ARGS = 7
+
+
+def api_dunp_fname():
+ import bpy
+ return "blender_api_%s.py" % "_".join([str(i) for i in bpy.app.version])
+
+
+def api_dump():
+ dump = {}
+ dump_module = dump["bpy.types"] = {}
+
+ import rna_info
+ import inspect
+
+ struct = rna_info.BuildRNAInfo()[0]
+ for struct_id, strict_info in sorted(struct.items()):
+
+ struct_id_str = strict_info.identifier
+
+ if rna_info.rna_id_ignore(struct_id_str):
+ continue
+
+ for base in strict_info.get_bases():
+ struct_id_str = base.identifier + "." + struct_id_str
+
+ dump_class = dump_module[struct_id_str] = {}
+
+ props = [(prop.identifier, prop) for prop in strict_info.properties]
+ for prop_id, prop in sorted(props):
+ # if prop.type == 'boolean':
+ # continue
+ prop_type = prop.type
+ prop_length = prop.array_length
+ prop_range = round(prop.min, 4), round(prop.max, 4)
+ prop_default = prop.default
+ if type(prop_default) is float:
+ prop_default = round(prop_default, 4)
+
+ if prop_range[0] == -1 and prop_range[1] == -1:
+ prop_range = None
+
+ dump_class[prop_id] = (
+ "prop_rna", # basic_type
+ prop.name, # name
+ prop_type, # type
+ prop_range, # range
+ prop_length, # length
+ prop.default, # default
+ prop.description, # descr
+ Ellipsis, # f_args
+ Ellipsis, # f_arg_types
+ Ellipsis, # f_ret_types
+ )
+ del props
+
+ # python props, tricky since we dont know much about them.
+ for prop_id, attr in strict_info.get_py_properties():
+
+ dump_class[prop_id] = (
+ "prop_py", # basic_type
+ Ellipsis, # name
+ Ellipsis, # type
+ Ellipsis, # range
+ Ellipsis, # length
+ Ellipsis, # default
+ attr.__doc__, # descr
+ Ellipsis, # f_args
+ Ellipsis, # f_arg_types
+ Ellipsis, # f_ret_types
+ )
+
+ # kludge func -> props
+ funcs = [(func.identifier, func) for func in strict_info.functions]
+ for func_id, func in funcs:
+
+ func_ret_types = tuple([prop.type for prop in func.return_values])
+ func_args_ids = tuple([prop.identifier for prop in func.args])
+ func_args_type = tuple([prop.type for prop in func.args])
+
+ dump_class[func_id] = (
+ "func_rna", # basic_type
+ Ellipsis, # name
+ Ellipsis, # type
+ Ellipsis, # range
+ Ellipsis, # length
+ Ellipsis, # default
+ func.description, # descr
+ func_args_ids, # f_args
+ func_args_type, # f_arg_types
+ func_ret_types, # f_ret_types
+ )
+ del funcs
+
+ # kludge func -> props
+ funcs = strict_info.get_py_functions()
+ for func_id, attr in funcs:
+ # arg_str = inspect.formatargspec(*inspect.getargspec(py_func))
+
+ func_args_ids = tuple(inspect.getargspec(attr).args)
+
+ dump_class[func_id] = (
+ "func_py", # basic_type
+ Ellipsis, # name
+ Ellipsis, # type
+ Ellipsis, # range
+ Ellipsis, # length
+ Ellipsis, # default
+ attr.__doc__, # descr
+ func_args_ids, # f_args
+ Ellipsis, # f_arg_types
+ Ellipsis, # f_ret_types
+ )
+ del funcs
+
+ import pprint
+
+ filename = api_dunp_fname()
+ filehandle = open(filename, 'w')
+ tot = filehandle.write(pprint.pformat(dump, width=1))
+ filehandle.close()
+ print("%s, %d bytes written" % (filename, tot))
+
+
+def compare_props(a, b, fuzz=0.75):
+
+ # must be same basic_type, function != property
+ if a[0] != b[0]:
+ return False
+
+ tot = 0
+ totlen = 0
+ for i in range(1, len(a)):
+ if not (Ellipsis is a[i] is b[i]):
+ tot += (a[i] == b[i])
+ totlen += 1
+
+ return ((tot / totlen) >= fuzz)
+
+
+def api_changelog(api_from, api_to, api_out):
+
+ file_handle = open(api_from, 'r')
+ dict_from = eval(file_handle.read())
+ file_handle.close()
+
+ file_handle = open(api_to, 'r')
+ dict_to = eval(file_handle.read())
+ file_handle.close()
+
+ api_changes = []
+
+ # first work out what moved
+ for mod_id, mod_data in dict_to.items():
+ mod_data_other = dict_from[mod_id]
+ for class_id, class_data in mod_data.items():
+ class_data_other = mod_data_other.get(class_id)
+ if class_data_other is None:
+ # TODO, document new structs
+ continue
+
+ # find the props which are not in either
+ set_props_new = set(class_data.keys())
+ set_props_other = set(class_data_other.keys())
+ set_props_shared = set_props_new & set_props_other
+
+ props_moved = []
+ props_new = []
+ props_old = []
+ func_args = []
+
+ set_props_old = set_props_other - set_props_shared
+ set_props_new = set_props_new - set_props_shared
+
+ # first find settings which have been moved old -> new
+ for prop_id_old in set_props_old.copy():
+ prop_data_other = class_data_other[prop_id_old]
+ for prop_id_new in set_props_new.copy():
+ prop_data = class_data[prop_id_new]
+ if compare_props(prop_data_other, prop_data):
+ props_moved.append((prop_id_old, prop_id_new))
+
+ # remove
+ if prop_id_old in set_props_old:
+ set_props_old.remove(prop_id_old)
+ set_props_new.remove(prop_id_new)
+
+ # func args
+ for prop_id in set_props_shared:
+ prop_data = class_data[prop_id]
+ prop_data_other = class_data_other[prop_id]
+ if prop_data[API_BASIC_TYPE] == prop_data_other[API_BASIC_TYPE]:
+ if prop_data[API_BASIC_TYPE].startswith("func"):
+ args_new = prop_data[API_F_ARGS]
+ args_old = prop_data_other[API_F_ARGS]
+
+ if args_new != args_old:
+ func_args.append((prop_id, args_old, args_new))
+
+ if props_moved or set_props_new or set_props_old or func_args:
+ props_moved.sort()
+ props_new[:] = sorted(set_props_new)
+ props_old[:] = sorted(set_props_old)
+ func_args.sort()
+
+ api_changes.append((mod_id, class_id, props_moved, props_new, props_old, func_args))
+
+ # also document function argument changes
+
+ fout = open(api_out, 'w')
+ fw = fout.write
+ # print(api_changes)
+
+ # :class:`bpy_struct.id_data`
+
+ def write_title(title, title_char):
+ fw("%s\n%s\n\n" % (title, title_char * len(title)))
+
+ for mod_id, class_id, props_moved, props_new, props_old, func_args in api_changes:
+ class_name = class_id.split(".")[-1]
+ title = mod_id + "." + class_name
+ write_title(title, "-")
+
+ if props_new:
+ write_title("Added", "^")
+ for prop_id in props_new:
+ fw("* :class:`%s.%s.%s`\n" % (mod_id, class_name, prop_id))
+ fw("\n")
+
+ if props_old:
+ write_title("Removed", "^")
+ for prop_id in props_old:
+ fw("* **%s**\n" % prop_id) # cant link to remvoed docs
+ fw("\n")
+
+ if props_moved:
+ write_title("Renamed", "^")
+ for prop_id_old, prop_id in props_moved:
+ fw("* **%s** -> :class:`%s.%s.%s`\n" % (prop_id_old, mod_id, class_name, prop_id))
+ fw("\n")
+
+ if func_args:
+ write_title("Function Arguments", "^")
+ for func_id, args_old, args_new in func_args:
+ args_new = ", ".join(args_new)
+ args_old = ", ".join(args_old)
+ fw("* :class:`%s.%s.%s` (%s), *was (%s)*\n" % (mod_id, class_name, prop_id, args_new, args_old))
+ fw("\n")
+
+ fout.close()
+
+
+def main():
+ import sys
+ import os
+
+ try:
+ import argparse
+ except:
+ print("Old Blender, just dumping")
+ api_dump()
+ return
+
+ argv = sys.argv
+
+ if "--" not in argv:
+ argv = [] # as if no args are passed
+ else:
+ argv = argv[argv.index("--") + 1:] # get all args after "--"
+
+ # When --help or no args are given, print this help
+ usage_text = "Run blender in background mode with this script: "
+ "blender --background --python %s -- [options]" % os.path.basename(__file__)
+
+ epilog = "Run this before releases"
+
+ parser = argparse.ArgumentParser(description=usage_text, epilog=epilog)
+
+ parser.add_argument("--dump", dest="dump", action='store_true',
+ help="When set the api will be dumped into blender_version.py")
+
+ parser.add_argument("--api_from", dest="api_from", metavar='FILE',
+ help="File to compare from (previous version)")
+ parser.add_argument("--api_to", dest="api_to", metavar='FILE',
+ help="File to compare from (current)")
+ parser.add_argument("--api_out", dest="api_out", metavar='FILE',
+ help="Output sphinx changelog")
+
+ args = parser.parse_args(argv) # In this example we wont use the args
+
+ if not argv:
+ parser.print_help()
+ return
+
+ if args.dump:
+ api_dump()
+ else:
+ if args.api_from and args.api_to and args.api_out:
+ api_changelog(args.api_from, args.api_to, args.api_out)
+ else:
+ print("Error: --api_from/api_to/api_out args needed")
+ parser.print_help()
+ return
+
+ print("batch job finished, exiting")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/doc/python_api/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py
new file mode 100644
index 00000000000..661d41af4ef
--- /dev/null
+++ b/doc/python_api/sphinx_doc_gen.py
@@ -0,0 +1,1317 @@
+ # ***** BEGIN GPL LICENSE BLOCK *****
+ #
+ # This program is free software; you can redistribute it and/or
+ # modify it under the terms of the GNU General Public License
+ # as published by the Free Software Foundation; either version 2
+ # of the License, or (at your option) any later version.
+ #
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software Foundation,
+ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ #
+ # Contributor(s): Campbell Barton
+ #
+ # #**** END GPL LICENSE BLOCK #****
+
+# <pep8 compliant>
+
+script_help_msg = '''
+Usage:
+
+For HTML generation
+-------------------
+- Run this script from blenders root path once you have compiled blender
+
+ ./blender.bin --background --python doc/python_api/sphinx_doc_gen.py
+
+ This will generate python files in doc/python_api/sphinx-in/
+ providing ./blender.bin is or links to the blender executable
+
+- Generate html docs by running...
+
+ cd doc/python_api
+ sphinx-build sphinx-in sphinx-out
+
+ This requires sphinx 1.0.7 to be installed.
+
+For PDF generation
+------------------
+- After you have built doc/python_api/sphinx-in (see above), run:
+
+ sphinx-build -b latex doc/python_api/sphinx-in doc/python_api/sphinx-out
+ cd doc/python_api/sphinx-out
+ make
+'''
+
+# Check we're running in blender
+if __import__("sys").modules.get("bpy") is None:
+ print("\nError, this script must run from inside blender2.5")
+ print(script_help_msg)
+
+ import sys
+ sys.exit()
+
+
+# Switch for quick testing
+if 1:
+ # full build
+ EXCLUDE_INFO_DOCS = False
+ EXCLUDE_MODULES = ()
+ FILTER_BPY_TYPES = None
+ FILTER_BPY_OPS = None
+
+else:
+ EXCLUDE_INFO_DOCS = False
+ # for testing so doc-builds dont take so long.
+ EXCLUDE_MODULES = (
+ "bpy.context",
+ "bpy.app",
+ "bpy.path",
+ "bpy.data",
+ "bpy.props",
+ "bpy.utils",
+ "bpy.context",
+ "bpy.types", # supports filtering
+ "bpy.ops", # supports filtering
+ "bpy_extras",
+ "bge",
+ "aud",
+ "bgl",
+ "blf",
+ "mathutils",
+ "mathutils.geometry",
+ )
+
+ FILTER_BPY_TYPES = ("bpy_struct", "Panel", "ID") # allow
+ FILTER_BPY_OPS = ("import.scene", ) # allow
+
+ # for quick rebuilds
+ """
+rm -rf /b/doc/python_api/sphinx-* && \
+./blender.bin --background --factory-startup --python doc/python_api/sphinx_doc_gen.py && \
+sphinx-build doc/python_api/sphinx-in doc/python_api/sphinx-out
+
+ """
+
+# extra info, not api reference docs
+# stored in ./rst/info/
+INFO_DOCS = (
+ ("info_quickstart.rst", "Blender/Python Quickstart: new to blender/scripting and want to get you're feet wet?"),
+ ("info_overview.rst", "Blender/Python API Overview: a more complete explanation of python integration"),
+ ("info_gotcha.rst", "Gotcha's: some of the problems you may come up against when writing scripts"),
+ )
+
+# import rpdb2; rpdb2.start_embedded_debugger('test')
+
+import os
+import inspect
+import bpy
+import rna_info
+
+# lame, python wont give some access
+ClassMethodDescriptorType = type(dict.__dict__['fromkeys'])
+MethodDescriptorType = type(dict.get)
+GetSetDescriptorType = type(int.real)
+
+EXAMPLE_SET = set()
+EXAMPLE_SET_USED = set()
+
+_BPY_STRUCT_FAKE = "bpy_struct"
+_BPY_PROP_COLLECTION_FAKE = "bpy_prop_collection"
+_BPY_FULL_REBUILD = False
+
+if _BPY_PROP_COLLECTION_FAKE:
+ _BPY_PROP_COLLECTION_ID = ":class:`%s`" % _BPY_PROP_COLLECTION_FAKE
+else:
+ _BPY_PROP_COLLECTION_ID = "collection"
+
+
+def undocumented_message(module_name, type_name, identifier):
+ if str(type_name).startswith('<module'):
+ preloadtitle = '%s.%s' % (module_name, identifier)
+ else:
+ preloadtitle = '%s.%s.%s' % (module_name, type_name, identifier)
+ message = "Undocumented (`contribute "\
+ "<http://wiki.blender.org/index.php/Dev:2.5/Py/API/Documentation/Contribute"\
+ "?action=edit&section=new&preload=Dev:2.5/Py/API/Documentation/Contribute/Howto-message"\
+ "&preloadtitle=%s>`_)\n\n" % preloadtitle
+ return message
+
+
+def range_str(val):
+ '''
+ Converts values to strings for the range directive.
+ (unused function it seems)
+ '''
+ if val < -10000000:
+ return '-inf'
+ elif val > 10000000:
+ return 'inf'
+ elif type(val) == float:
+ return '%g' % val
+ else:
+ return str(val)
+
+
+def example_extract_docstring(filepath):
+ file = open(filepath, 'r')
+ line = file.readline()
+ line_no = 0
+ text = []
+ if line.startswith('"""'): # assume nothing here
+ line_no += 1
+ else:
+ file.close()
+ return "", 0
+
+ for line in file.readlines():
+ line_no += 1
+ if line.startswith('"""'):
+ break
+ else:
+ text.append(line.rstrip())
+
+ line_no += 1
+ file.close()
+ return "\n".join(text), line_no
+
+
+def write_title(fw, text, heading_char):
+ fw("%s\n%s\n\n" % (text, len(text) * heading_char))
+
+
+def write_example_ref(ident, fw, example_id, ext="py"):
+ if example_id in EXAMPLE_SET:
+
+ # extract the comment
+ filepath = "../examples/%s.%s" % (example_id, ext)
+ filepath_full = os.path.join(os.path.dirname(fw.__self__.name), filepath)
+
+ text, line_no = example_extract_docstring(filepath_full)
+
+ for line in text.split("\n"):
+ fw("%s\n" % (ident + line).rstrip())
+ fw("\n")
+
+ fw("%s.. literalinclude:: %s\n" % (ident, filepath))
+ if line_no > 0:
+ fw("%s :lines: %d-\n" % (ident, line_no))
+ fw("\n")
+ EXAMPLE_SET_USED.add(example_id)
+ else:
+ if bpy.app.debug:
+ print("\tskipping example:", example_id)
+
+ # Support for numbered files bpy.types.Operator -> bpy.types.Operator.1.py
+ i = 1
+ while True:
+ example_id_num = "%s.%d" % (example_id, i)
+ if example_id_num in EXAMPLE_SET:
+ write_example_ref(ident, fw, example_id_num, ext)
+ i += 1
+ else:
+ break
+
+
+def write_indented_lines(ident, fn, text, strip=True):
+ '''
+ Apply same indentation to all lines in a multilines text.
+ '''
+ if text is None:
+ return
+
+ lines = text.split("\n")
+
+ # strip empty lines from the start/end
+ while lines and not lines[0].strip():
+ del lines[0]
+ while lines and not lines[-1].strip():
+ del lines[-1]
+
+ if strip:
+ ident_strip = 1000
+ for l in lines:
+ if l.strip():
+ ident_strip = min(ident_strip, len(l) - len(l.lstrip()))
+ for l in lines:
+ fn(ident + l[ident_strip:] + "\n")
+ else:
+ for l in lines:
+ fn(ident + l + "\n")
+
+
+def pymethod2sphinx(ident, fw, identifier, py_func):
+ '''
+ class method to sphinx
+ '''
+ arg_str = inspect.formatargspec(*inspect.getargspec(py_func))
+ if arg_str.startswith("(self, "):
+ arg_str = "(" + arg_str[7:]
+ func_type = "method"
+ elif arg_str.startswith("(cls, "):
+ arg_str = "(" + arg_str[6:]
+ func_type = "classmethod"
+ else:
+ func_type = "staticmethod"
+
+ fw(ident + ".. %s:: %s%s\n\n" % (func_type, identifier, arg_str))
+ if py_func.__doc__:
+ write_indented_lines(ident + " ", fw, py_func.__doc__)
+ fw("\n")
+
+
+def pyfunc2sphinx(ident, fw, identifier, py_func, is_class=True):
+ '''
+ function or class method to sphinx
+ '''
+ arg_str = inspect.formatargspec(*inspect.getargspec(py_func))
+
+ if not is_class:
+ func_type = "function"
+
+ # ther rest are class methods
+ elif arg_str.startswith("(self, "):
+ arg_str = "(" + arg_str[7:]
+ func_type = "method"
+ elif arg_str.startswith("(cls, "):
+ arg_str = "(" + arg_str[6:]
+ func_type = "classmethod"
+ else:
+ func_type = "staticmethod"
+
+ fw(ident + ".. %s:: %s%s\n\n" % (func_type, identifier, arg_str))
+ if py_func.__doc__:
+ write_indented_lines(ident + " ", fw, py_func.__doc__)
+ fw("\n")
+
+
+def py_descr2sphinx(ident, fw, descr, module_name, type_name, identifier):
+ if identifier.startswith("_"):
+ return
+
+ doc = descr.__doc__
+ if not doc:
+ doc = undocumented_message(module_name, type_name, identifier)
+
+ if type(descr) == GetSetDescriptorType:
+ fw(ident + ".. attribute:: %s\n\n" % identifier)
+ write_indented_lines(ident + " ", fw, doc, False)
+ fw("\n")
+ elif type(descr) in (MethodDescriptorType, ClassMethodDescriptorType):
+ write_indented_lines(ident, fw, doc, False)
+ fw("\n")
+ else:
+ raise TypeError("type was not GetSetDescriptorType, MethodDescriptorType or ClassMethodDescriptorType")
+
+ write_example_ref(ident + " ", fw, module_name + "." + type_name + "." + identifier)
+ fw("\n")
+
+
+def py_c_func2sphinx(ident, fw, module_name, type_name, identifier, py_func, is_class=True):
+ '''
+ c defined function to sphinx.
+ '''
+
+ # dump the docstring, assume its formatted correctly
+ if py_func.__doc__:
+ write_indented_lines(ident, fw, py_func.__doc__, False)
+ fw("\n")
+ else:
+ fw(ident + ".. function:: %s()\n\n" % identifier)
+ fw(ident + " " + undocumented_message(module_name, type_name, identifier))
+
+ if is_class:
+ write_example_ref(ident + " ", fw, module_name + "." + type_name + "." + identifier)
+ else:
+ write_example_ref(ident + " ", fw, module_name + "." + identifier)
+
+ fw("\n")
+
+
+def pyprop2sphinx(ident, fw, identifier, py_prop):
+ '''
+ python property to sphinx
+ '''
+ # readonly properties use "data" directive, variables use "attribute" directive
+ if py_prop.fset is None:
+ fw(ident + ".. data:: %s\n\n" % identifier)
+ else:
+ fw(ident + ".. attribute:: %s\n\n" % identifier)
+ write_indented_lines(ident + " ", fw, py_prop.__doc__)
+ if py_prop.fset is None:
+ fw(ident + " (readonly)\n\n")
+
+
+def pymodule2sphinx(BASEPATH, module_name, module, title):
+ import types
+ attribute_set = set()
+ filepath = os.path.join(BASEPATH, module_name + ".rst")
+
+ module_all = getattr(module, "__all__", None)
+ module_dir = sorted(dir(module))
+
+ if module_all:
+ module_dir = module_all
+
+ file = open(filepath, "w")
+
+ fw = file.write
+
+ write_title(fw, "%s (%s)" % (title, module_name), "=")
+
+ fw(".. module:: %s\n\n" % module_name)
+
+ if module.__doc__:
+ # Note, may contain sphinx syntax, dont mangle!
+ fw(module.__doc__.strip())
+ fw("\n\n")
+
+ write_example_ref("", fw, module_name)
+
+ # write submodules
+ # we could also scan files but this ensures __all__ is used correctly
+ if module_all is not None:
+ submod_name = None
+ submod = None
+ submod_ls = []
+ for submod_name in module_all:
+ ns = {}
+ exec_str = "from %s import %s as submod" % (module.__name__, submod_name)
+ exec(exec_str, ns, ns)
+ submod = ns["submod"]
+ if type(submod) == types.ModuleType:
+ submod_ls.append((submod_name, submod))
+
+ del submod_name
+ del submod
+
+ if submod_ls:
+ fw(".. toctree::\n")
+ fw(" :maxdepth: 1\n\n")
+
+ for submod_name, submod in submod_ls:
+ submod_name_full = "%s.%s" % (module_name, submod_name)
+ fw(" %s.rst\n\n" % submod_name_full)
+
+ pymodule2sphinx(BASEPATH, submod_name_full, submod, "%s submodule" % module_name)
+ del submod_ls
+ # done writing submodules!
+
+ # write members of the module
+ # only tested with PyStructs which are not exactly modules
+ for key, descr in sorted(type(module).__dict__.items()):
+ if key.startswith("__"):
+ continue
+ # naughty, we also add getset's into PyStructs, this is not typical py but also not incorrect.
+ if type(descr) == types.GetSetDescriptorType: # 'bpy_app_type' name is only used for examples and messages
+ py_descr2sphinx("", fw, descr, module_name, "bpy_app_type", key)
+ attribute_set.add(key)
+ for key, descr in sorted(type(module).__dict__.items()):
+ if key.startswith("__"):
+ continue
+
+ if type(descr) == types.MemberDescriptorType:
+ if descr.__doc__:
+ fw(".. data:: %s\n\n" % key)
+ write_indented_lines(" ", fw, descr.__doc__, False)
+ fw("\n")
+ attribute_set.add(key)
+
+ del key, descr
+
+ classes = []
+ submodules = []
+
+ for attribute in module_dir:
+ if not attribute.startswith("_"):
+ if attribute in attribute_set:
+ continue
+
+ if attribute.startswith("n_"): # annoying exception, needed for bpy.app
+ continue
+
+ value = getattr(module, attribute)
+
+ value_type = type(value)
+
+ if value_type == types.FunctionType:
+ pyfunc2sphinx("", fw, attribute, value, is_class=False)
+ elif value_type in (types.BuiltinMethodType, types.BuiltinFunctionType): # both the same at the moment but to be future proof
+ # note: can't get args from these, so dump the string as is
+ # this means any module used like this must have fully formatted docstrings.
+ py_c_func2sphinx("", fw, module_name, None, attribute, value, is_class=False)
+ elif value_type == type:
+ classes.append((attribute, value))
+ elif issubclass(value_type, types.ModuleType):
+ submodules.append((attribute, value))
+ elif value_type in (bool, int, float, str, tuple):
+ # constant, not much fun we can do here except to list it.
+ # TODO, figure out some way to document these!
+ fw(".. data:: %s\n\n" % attribute)
+ write_indented_lines(" ", fw, "constant value %s" % repr(value), False)
+ fw("\n")
+ else:
+ print("\tnot documenting %s.%s of %r type" % (module_name, attribute, value_type.__name__))
+ continue
+
+ attribute_set.add(attribute)
+ # TODO, more types...
+
+ # TODO, bpy_extras does this already, mathutils not.
+ """
+ if submodules:
+ fw("\n"
+ "**********\n"
+ "Submodules\n"
+ "**********\n"
+ "\n"
+ )
+ for attribute, submod in submodules:
+ fw("* :mod:`%s.%s`\n" % (module_name, attribute))
+ fw("\n")
+ """
+
+ # write collected classes now
+ for (type_name, value) in classes:
+ # May need to be its own function
+ fw(".. class:: %s\n\n" % type_name)
+ if value.__doc__:
+ write_indented_lines(" ", fw, value.__doc__, False)
+ fw("\n")
+ write_example_ref(" ", fw, module_name + "." + type_name)
+
+ descr_items = [(key, descr) for key, descr in sorted(value.__dict__.items()) if not key.startswith("__")]
+
+ for key, descr in descr_items:
+ if type(descr) == ClassMethodDescriptorType:
+ py_descr2sphinx(" ", fw, descr, module_name, type_name, key)
+
+ for key, descr in descr_items:
+ if type(descr) == MethodDescriptorType:
+ py_descr2sphinx(" ", fw, descr, module_name, type_name, key)
+
+ for key, descr in descr_items:
+ if type(descr) == GetSetDescriptorType:
+ py_descr2sphinx(" ", fw, descr, module_name, type_name, key)
+
+ fw("\n\n")
+
+ file.close()
+
+
+def pycontext2sphinx(BASEPATH):
+ # Only use once. very irregular
+
+ filepath = os.path.join(BASEPATH, "bpy.context.rst")
+ file = open(filepath, "w")
+ fw = file.write
+ fw("Context Access (bpy.context)\n")
+ fw("============================\n\n")
+ fw(".. module:: bpy.context\n")
+ fw("\n")
+ fw("The context members available depend on the area of blender which is currently being accessed.\n")
+ fw("\n")
+ fw("Note that all context values are readonly, but may be modified through the data api or by running operators\n\n")
+
+ # nasty, get strings directly from blender because there is no other way to get it
+ import ctypes
+
+ context_strings = (
+ "screen_context_dir",
+ "view3d_context_dir",
+ "buttons_context_dir",
+ "image_context_dir",
+ "node_context_dir",
+ "text_context_dir",
+ )
+
+ # Changes in blender will force errors here
+ type_map = {
+ "active_base": ("ObjectBase", False),
+ "active_bone": ("Bone", False),
+ "active_object": ("Object", False),
+ "active_pose_bone": ("PoseBone", False),
+ "armature": ("Armature", False),
+ "bone": ("Bone", False),
+ "brush": ("Brush", False),
+ "camera": ("Camera", False),
+ "cloth": ("ClothModifier", False),
+ "collision": ("CollisionModifier", False),
+ "curve": ("Curve", False),
+ "edit_bone": ("EditBone", False),
+ "edit_image": ("Image", False),
+ "edit_object": ("Object", False),
+ "edit_text": ("Text", False),
+ "editable_bones": ("EditBone", True),
+ "fluid": ("FluidSimulationModifier", False),
+ "image_paint_object": ("Object", False),
+ "lamp": ("Lamp", False),
+ "lattice": ("Lattice", False),
+ "material": ("Material", False),
+ "material_slot": ("MaterialSlot", False),
+ "mesh": ("Mesh", False),
+ "meta_ball": ("MetaBall", False),
+ "object": ("Object", False),
+ "particle_edit_object": ("Object", False),
+ "particle_system": ("ParticleSystem", False),
+ "particle_system_editable": ("ParticleSystem", False),
+ "pose_bone": ("PoseBone", False),
+ "scene": ("Scene", False),
+ "sculpt_object": ("Object", False),
+ "selectable_bases": ("ObjectBase", True),
+ "selectable_objects": ("Object", True),
+ "selected_bases": ("ObjectBase", True),
+ "selected_bones": ("Bone", True),
+ "selected_editable_bases": ("ObjectBase", True),
+ "selected_editable_bones": ("Bone", True),
+ "selected_editable_objects": ("Object", True),
+ "selected_editable_sequences": ("Sequence", True),
+ "selected_nodes": ("Node", True),
+ "selected_objects": ("Object", True),
+ "selected_pose_bones": ("PoseBone", True),
+ "selected_sequences": ("Sequence", True),
+ "sequences": ("Sequence", True),
+ "smoke": ("SmokeModifier", False),
+ "soft_body": ("SoftBodyModifier", False),
+ "speaker": ("Speaker", False),
+ "texture": ("Texture", False),
+ "texture_slot": ("MaterialTextureSlot", False),
+ "vertex_paint_object": ("Object", False),
+ "visible_bases": ("ObjectBase", True),
+ "visible_bones": ("Object", True),
+ "visible_objects": ("Object", True),
+ "visible_pose_bones": ("PoseBone", True),
+ "weight_paint_object": ("Object", False),
+ "world": ("World", False),
+ }
+
+ unique = set()
+ blend_cdll = ctypes.CDLL("")
+ for ctx_str in context_strings:
+ subsection = "%s Context" % ctx_str.split("_")[0].title()
+ fw("\n%s\n%s\n\n" % (subsection, (len(subsection) * '-')))
+
+ attr = ctypes.addressof(getattr(blend_cdll, ctx_str))
+ c_char_p_p = ctypes.POINTER(ctypes.c_char_p)
+ char_array = c_char_p_p.from_address(attr)
+ i = 0
+ while char_array[i] is not None:
+ member = ctypes.string_at(char_array[i]).decode()
+ fw(".. data:: %s\n\n" % member)
+ member_type, is_seq = type_map[member]
+ fw(" :type: %s :class:`bpy.types.%s`\n\n" % ("sequence of " if is_seq else "", member_type))
+ unique.add(member)
+ i += 1
+
+ # generate typemap...
+ # for member in sorted(unique):
+ # print(' "%s": ("", False),' % member)
+ if len(type_map) > len(unique):
+ raise Exception("Some types are not used: %s" % str([member for member in type_map if member not in unique]))
+ else:
+ pass # will have raised an error above
+
+ file.close()
+
+
+def pyrna2sphinx(BASEPATH):
+ """ bpy.types and bpy.ops
+ """
+ structs, funcs, ops, props = rna_info.BuildRNAInfo()
+ if FILTER_BPY_TYPES is not None:
+ structs = {k: v for k, v in structs.items() if k[1] in FILTER_BPY_TYPES}
+
+ if FILTER_BPY_OPS is not None:
+ ops = {k: v for k, v in ops.items() if v.module_name in FILTER_BPY_OPS}
+
+ def write_param(ident, fw, prop, is_return=False):
+ if is_return:
+ id_name = "return"
+ id_type = "rtype"
+ kwargs = {"as_ret": True}
+ identifier = ""
+ else:
+ id_name = "arg"
+ id_type = "type"
+ kwargs = {"as_arg": True}
+ identifier = " %s" % prop.identifier
+
+ kwargs["class_fmt"] = ":class:`%s`"
+
+ kwargs["collection_id"] = _BPY_PROP_COLLECTION_ID
+
+ type_descr = prop.get_type_description(**kwargs)
+ if prop.name or prop.description:
+ fw(ident + ":%s%s: %s\n" % (id_name, identifier, ", ".join(val for val in (prop.name, prop.description) if val)))
+ fw(ident + ":%s%s: %s\n" % (id_type, identifier, type_descr))
+
+ def write_struct(struct):
+ #if not struct.identifier.startswith("Sc") and not struct.identifier.startswith("I"):
+ # return
+
+ #if not struct.identifier == "Object":
+ # return
+
+ filepath = os.path.join(BASEPATH, "bpy.types.%s.rst" % struct.identifier)
+ file = open(filepath, "w")
+ fw = file.write
+
+ base_id = getattr(struct.base, "identifier", "")
+
+ if _BPY_STRUCT_FAKE:
+ if not base_id:
+ base_id = _BPY_STRUCT_FAKE
+
+ if base_id:
+ title = "%s(%s)" % (struct.identifier, base_id)
+ else:
+ title = struct.identifier
+
+ write_title(fw, title, "=")
+
+ fw(".. module:: bpy.types\n\n")
+
+ # docs first?, ok
+ write_example_ref("", fw, "bpy.types.%s" % struct.identifier)
+
+ base_ids = [base.identifier for base in struct.get_bases()]
+
+ if _BPY_STRUCT_FAKE:
+ base_ids.append(_BPY_STRUCT_FAKE)
+
+ base_ids.reverse()
+
+ if base_ids:
+ if len(base_ids) > 1:
+ fw("base classes --- ")
+ else:
+ fw("base class --- ")
+
+ fw(", ".join((":class:`%s`" % base_id) for base_id in base_ids))
+ fw("\n\n")
+
+ subclass_ids = [s.identifier for s in structs.values() if s.base is struct if not rna_info.rna_id_ignore(s.identifier)]
+ if subclass_ids:
+ fw("subclasses --- \n" + ", ".join((":class:`%s`" % s) for s in subclass_ids) + "\n\n")
+
+ base_id = getattr(struct.base, "identifier", "")
+
+ if _BPY_STRUCT_FAKE:
+ if not base_id:
+ base_id = _BPY_STRUCT_FAKE
+
+ if base_id:
+ fw(".. class:: %s(%s)\n\n" % (struct.identifier, base_id))
+ else:
+ fw(".. class:: %s\n\n" % struct.identifier)
+
+ fw(" %s\n\n" % struct.description)
+
+ # properties sorted in alphabetical order
+ sorted_struct_properties = struct.properties[:]
+ sorted_struct_properties.sort(key=lambda prop: prop.identifier)
+
+ for prop in sorted_struct_properties:
+ type_descr = prop.get_type_description(class_fmt=":class:`%s`", collection_id=_BPY_PROP_COLLECTION_ID)
+ # readonly properties use "data" directive, variables properties use "attribute" directive
+ if 'readonly' in type_descr:
+ fw(" .. data:: %s\n\n" % prop.identifier)
+ else:
+ fw(" .. attribute:: %s\n\n" % prop.identifier)
+ if prop.description:
+ fw(" %s\n\n" % prop.description)
+ fw(" :type: %s\n\n" % type_descr)
+
+ # python attributes
+ py_properties = struct.get_py_properties()
+ py_prop = None
+ for identifier, py_prop in py_properties:
+ pyprop2sphinx(" ", fw, identifier, py_prop)
+ del py_properties, py_prop
+
+ for func in struct.functions:
+ args_str = ", ".join(prop.get_arg_default(force=False) for prop in func.args)
+
+ fw(" .. %s:: %s(%s)\n\n" % ("classmethod" if func.is_classmethod else "method", func.identifier, args_str))
+ fw(" %s\n\n" % func.description)
+
+ for prop in func.args:
+ write_param(" ", fw, prop)
+
+ if len(func.return_values) == 1:
+ write_param(" ", fw, func.return_values[0], is_return=True)
+ elif func.return_values: # multiple return values
+ fw(" :return (%s):\n" % ", ".join(prop.identifier for prop in func.return_values))
+ for prop in func.return_values:
+ type_descr = prop.get_type_description(as_ret=True, class_fmt=":class:`%s`", collection_id=_BPY_PROP_COLLECTION_ID)
+ descr = prop.description
+ if not descr:
+ descr = prop.name
+ fw(" `%s`, %s, %s\n\n" % (prop.identifier, descr, type_descr))
+
+ write_example_ref(" ", fw, "bpy.types." + struct.identifier + "." + func.identifier)
+
+ fw("\n")
+
+ # python methods
+ py_funcs = struct.get_py_functions()
+ py_func = None
+
+ for identifier, py_func in py_funcs:
+ pyfunc2sphinx(" ", fw, identifier, py_func, is_class=True)
+ del py_funcs, py_func
+
+ py_funcs = struct.get_py_c_functions()
+ py_func = None
+
+ for identifier, py_func in py_funcs:
+ py_c_func2sphinx(" ", fw, "bpy.types", struct.identifier, identifier, py_func, is_class=True)
+
+ lines = []
+
+ if struct.base or _BPY_STRUCT_FAKE:
+ bases = list(reversed(struct.get_bases()))
+
+ # props
+ lines[:] = []
+
+ if _BPY_STRUCT_FAKE:
+ descr_items = [(key, descr) for key, descr in sorted(bpy.types.Struct.__bases__[0].__dict__.items()) if not key.startswith("__")]
+
+ if _BPY_STRUCT_FAKE:
+ for key, descr in descr_items:
+ if type(descr) == GetSetDescriptorType:
+ lines.append(" * :class:`%s.%s`\n" % (_BPY_STRUCT_FAKE, key))
+
+ for base in bases:
+ for prop in base.properties:
+ lines.append(" * :class:`%s.%s`\n" % (base.identifier, prop.identifier))
+
+ for identifier, py_prop in base.get_py_properties():
+ lines.append(" * :class:`%s.%s`\n" % (base.identifier, identifier))
+
+ for identifier, py_prop in base.get_py_properties():
+ lines.append(" * :class:`%s.%s`\n" % (base.identifier, identifier))
+
+ if lines:
+ fw(".. rubric:: Inherited Properties\n\n")
+
+ fw(".. hlist::\n")
+ fw(" :columns: 2\n\n")
+
+ for line in lines:
+ fw(line)
+ fw("\n")
+
+ # funcs
+ lines[:] = []
+
+ if _BPY_STRUCT_FAKE:
+ for key, descr in descr_items:
+ if type(descr) == MethodDescriptorType:
+ lines.append(" * :class:`%s.%s`\n" % (_BPY_STRUCT_FAKE, key))
+
+ for base in bases:
+ for func in base.functions:
+ lines.append(" * :class:`%s.%s`\n" % (base.identifier, func.identifier))
+ for identifier, py_func in base.get_py_functions():
+ lines.append(" * :class:`%s.%s`\n" % (base.identifier, identifier))
+
+ if lines:
+ fw(".. rubric:: Inherited Functions\n\n")
+
+ fw(".. hlist::\n")
+ fw(" :columns: 2\n\n")
+
+ for line in lines:
+ fw(line)
+ fw("\n")
+
+ lines[:] = []
+
+ if struct.references:
+ # use this otherwise it gets in the index for a normal heading.
+ fw(".. rubric:: References\n\n")
+
+ fw(".. hlist::\n")
+ fw(" :columns: 2\n\n")
+
+ for ref in struct.references:
+ ref_split = ref.split(".")
+ if len(ref_split) > 2:
+ ref = ref_split[-2] + "." + ref_split[-1]
+ fw(" * :class:`%s`\n" % ref)
+ fw("\n")
+
+ # docs last?, disable for now
+ # write_example_ref("", fw, "bpy.types.%s" % struct.identifier)
+ file.close()
+
+ if "bpy.types" not in EXCLUDE_MODULES:
+ for struct in structs.values():
+ # TODO, rna_info should filter these out!
+ if "_OT_" in struct.identifier:
+ continue
+ write_struct(struct)
+
+ def fake_bpy_type(class_value, class_name, descr_str, use_subclasses=True):
+ filepath = os.path.join(BASEPATH, "bpy.types.%s.rst" % class_name)
+ file = open(filepath, "w")
+ fw = file.write
+
+ write_title(fw, class_name, "=")
+
+ fw(".. module:: bpy.types\n")
+ fw("\n")
+
+ if use_subclasses:
+ subclass_ids = [s.identifier for s in structs.values() if s.base is None if not rna_info.rna_id_ignore(s.identifier)]
+ if subclass_ids:
+ fw("subclasses --- \n" + ", ".join((":class:`%s`" % s) for s in sorted(subclass_ids)) + "\n\n")
+
+ fw(".. class:: %s\n\n" % class_name)
+ fw(" %s\n\n" % descr_str)
+ fw(" .. note::\n\n")
+ fw(" Note that bpy.types.%s is not actually available from within blender, it only exists for the purpose of documentation.\n\n" % class_name)
+
+ descr_items = [(key, descr) for key, descr in sorted(class_value.__dict__.items()) if not key.startswith("__")]
+
+ for key, descr in descr_items:
+ if type(descr) == MethodDescriptorType: # GetSetDescriptorType, GetSetDescriptorType's are not documented yet
+ py_descr2sphinx(" ", fw, descr, "bpy.types", class_name, key)
+
+ for key, descr in descr_items:
+ if type(descr) == GetSetDescriptorType:
+ py_descr2sphinx(" ", fw, descr, "bpy.types", class_name, key)
+ file.close()
+
+ # write fake classes
+ if _BPY_STRUCT_FAKE:
+ class_value = bpy.types.Struct.__bases__[0]
+ fake_bpy_type(class_value, _BPY_STRUCT_FAKE, "built-in base class for all classes in bpy.types.", use_subclasses=True)
+
+ if _BPY_PROP_COLLECTION_FAKE:
+ class_value = bpy.data.objects.__class__
+ fake_bpy_type(class_value, _BPY_PROP_COLLECTION_FAKE, "built-in class used for all collections.", use_subclasses=False)
+
+ # operators
+ def write_ops():
+ API_BASEURL = "http://svn.blender.org/svnroot/bf-blender/trunk/blender/release/scripts"
+ API_BASEURL_ADDON = "http://svn.blender.org/svnroot/bf-extensions/trunk/py/scripts"
+ API_BASEURL_ADDON_CONTRIB = "http://svn.blender.org/svnroot/bf-extensions/contrib/py/scripts"
+
+ op_modules = {}
+ for op in ops.values():
+ op_modules.setdefault(op.module_name, []).append(op)
+ del op
+
+ for op_module_name, ops_mod in op_modules.items():
+ filepath = os.path.join(BASEPATH, "bpy.ops.%s.rst" % op_module_name)
+ file = open(filepath, "w")
+ fw = file.write
+
+ title = "%s Operators" % op_module_name.replace("_", " ").title()
+
+ write_title(fw, title, "=")
+
+ fw(".. module:: bpy.ops.%s\n\n" % op_module_name)
+
+ ops_mod.sort(key=lambda op: op.func_name)
+
+ for op in ops_mod:
+ args_str = ", ".join(prop.get_arg_default(force=True) for prop in op.args)
+ fw(".. function:: %s(%s)\n\n" % (op.func_name, args_str))
+
+ # if the description isn't valid, we output the standard warning
+ # with a link to the wiki so that people can help
+ if not op.description or op.description == "(undocumented operator)":
+ operator_description = undocumented_message('bpy.ops', op.module_name, op.func_name)
+ else:
+ operator_description = op.description
+
+ fw(" %s\n\n" % operator_description)
+ for prop in op.args:
+ write_param(" ", fw, prop)
+ if op.args:
+ fw("\n")
+
+ location = op.get_location()
+ if location != (None, None):
+ if location[0].startswith("addons_contrib" + os.sep):
+ url_base = API_BASEURL_ADDON_CONTRIB
+ elif location[0].startswith("addons" + os.sep):
+ url_base = API_BASEURL_ADDON
+ else:
+ url_base = API_BASEURL
+
+ fw(" :file: `%s <%s/%s>`_:%d\n\n" % (location[0], url_base, location[0], location[1]))
+
+ file.close()
+
+ if "bpy.ops" not in EXCLUDE_MODULES:
+ write_ops()
+
+
+def rna2sphinx(BASEPATH):
+
+ try:
+ os.mkdir(BASEPATH)
+ except:
+ pass
+
+ # conf.py - empty for now
+ filepath = os.path.join(BASEPATH, "conf.py")
+ file = open(filepath, "w")
+ fw = file.write
+
+ version_string = ".".join(str(v) for v in bpy.app.version)
+ if bpy.app.build_revision != "Unknown":
+ version_string = version_string + " r" + bpy.app.build_revision
+
+ version_string_fp = "_".join(str(v) for v in bpy.app.version)
+
+ if bpy.app.version_cycle == "release":
+ version_string_pdf = "%s%s_release" % ("_".join(str(v) for v in bpy.app.version[:2]), bpy.app.version_char)
+ else:
+ version_string_pdf = version_string_fp
+
+ fw("project = 'Blender'\n")
+ # fw("master_doc = 'index'\n")
+ fw("copyright = u'Blender Foundation'\n")
+ fw("version = '%s - API'\n" % version_string)
+ fw("release = '%s - API'\n" % version_string)
+ fw("html_theme = 'blender-org'\n")
+ fw("html_theme_path = ['../']\n")
+ fw("html_favicon = 'favicon.ico'\n")
+ # not helpful since the source us generated, adds to upload size.
+ fw("html_copy_source = False\n")
+ fw("\n")
+ # needed for latex, pdf gen
+ fw("latex_documents = [ ('contents', 'contents.tex', 'Blender Index', 'Blender Foundation', 'manual'), ]\n")
+ fw("latex_paper_size = 'a4paper'\n")
+ file.close()
+
+ # main page needed for sphinx (index.html)
+ filepath = os.path.join(BASEPATH, "contents.rst")
+ file = open(filepath, "w")
+ fw = file.write
+
+ fw("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n")
+ fw(" Blender Documentation contents\n")
+ fw("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n")
+ fw("\n")
+ fw("Welcome, this document is an API reference for Blender %s. built %s.\n" % (version_string, bpy.app.build_date))
+ fw("\n")
+ fw("`A PDF version of this document is also available <blender_python_reference_%s.pdf>`_\n" % version_string_pdf)
+
+ fw("\n")
+
+ if not EXCLUDE_INFO_DOCS:
+ fw("============================\n")
+ fw("Blender/Python Documentation\n")
+ fw("============================\n")
+ fw("\n")
+ fw("\n")
+ fw(".. toctree::\n")
+ fw(" :maxdepth: 1\n\n")
+ for info, info_desc in INFO_DOCS:
+ fw(" %s <%s>\n\n" % (info_desc, info))
+ fw("\n")
+
+ fw("===================\n")
+ fw("Application Modules\n")
+ fw("===================\n")
+ fw("\n")
+ fw(".. toctree::\n")
+ fw(" :maxdepth: 1\n\n")
+ if "bpy.context" not in EXCLUDE_MODULES:
+ fw(" bpy.context.rst\n\n") # note: not actually a module
+ if "bpy.data" not in EXCLUDE_MODULES:
+ fw(" bpy.data.rst\n\n") # note: not actually a module
+ if "bpy.ops" not in EXCLUDE_MODULES:
+ fw(" bpy.ops.rst\n\n")
+ if "bpy.types" not in EXCLUDE_MODULES:
+ fw(" bpy.types.rst\n\n")
+
+ # py modules
+ if "bpy.utils" not in EXCLUDE_MODULES:
+ fw(" bpy.utils.rst\n\n")
+ if "bpy.path" not in EXCLUDE_MODULES:
+ fw(" bpy.path.rst\n\n")
+ if "bpy.app" not in EXCLUDE_MODULES:
+ fw(" bpy.app.rst\n\n")
+
+ # C modules
+ if "bpy.props" not in EXCLUDE_MODULES:
+ fw(" bpy.props.rst\n\n")
+
+ fw("==================\n")
+ fw("Standalone Modules\n")
+ fw("==================\n")
+ fw("\n")
+ fw(".. toctree::\n")
+ fw(" :maxdepth: 1\n\n")
+
+ if "mathutils" not in EXCLUDE_MODULES:
+ fw(" mathutils.rst\n\n")
+ if "mathutils.geometry" not in EXCLUDE_MODULES:
+ fw(" mathutils.geometry.rst\n\n")
+ if "bgl" not in EXCLUDE_MODULES:
+ fw(" bgl.rst\n\n")
+ if "blf" not in EXCLUDE_MODULES:
+ fw(" blf.rst\n\n")
+ if "aud" not in EXCLUDE_MODULES:
+ fw(" aud.rst\n\n")
+ if "bpy_extras" not in EXCLUDE_MODULES:
+ fw(" bpy_extras.rst\n\n")
+
+ # game engine
+ if "bge" not in EXCLUDE_MODULES:
+ fw("===================\n")
+ fw("Game Engine Modules\n")
+ fw("===================\n")
+ fw("\n")
+ fw(".. toctree::\n")
+ fw(" :maxdepth: 1\n\n")
+ fw(" bge.types.rst\n\n")
+ fw(" bge.logic.rst\n\n")
+ fw(" bge.render.rst\n\n")
+ fw(" bge.texture.rst\n\n")
+ fw(" bge.events.rst\n\n")
+ fw(" bge.constraints.rst\n\n")
+
+ # rna generated change log
+ fw("========\n")
+ fw("API Info\n")
+ fw("========\n")
+ fw("\n")
+ fw(".. toctree::\n")
+ fw(" :maxdepth: 1\n\n")
+ fw(" change_log.rst\n\n")
+
+ fw("\n")
+ fw("\n")
+ fw(".. note:: The Blender Python API has areas which are still in development.\n")
+ fw(" \n")
+ fw(" The following areas are subject to change.\n")
+ fw(" * operator behavior, names and arguments\n")
+ fw(" * mesh creation and editing functions\n")
+ fw(" \n")
+ fw(" These parts of the API are relatively stable and are unlikely to change significantly\n")
+ fw(" * data API, access to attributes of blender data such as mesh verts, material color, timeline frames and scene objects\n")
+ fw(" * user interface functions for defining buttons, creation of menus, headers, panels\n")
+ fw(" * render engine integration\n")
+ fw(" * modules: bgl, mathutils & game engine.\n")
+ fw("\n")
+
+ file.close()
+
+ # internal modules
+ if "bpy.ops" not in EXCLUDE_MODULES:
+ filepath = os.path.join(BASEPATH, "bpy.ops.rst")
+ file = open(filepath, "w")
+ fw = file.write
+ fw("Operators (bpy.ops)\n")
+ fw("===================\n\n")
+ write_example_ref("", fw, "bpy.ops")
+ fw(".. toctree::\n")
+ fw(" :glob:\n\n")
+ fw(" bpy.ops.*\n\n")
+ file.close()
+
+ if "bpy.types" not in EXCLUDE_MODULES:
+ filepath = os.path.join(BASEPATH, "bpy.types.rst")
+ file = open(filepath, "w")
+ fw = file.write
+ fw("Types (bpy.types)\n")
+ fw("=================\n\n")
+ fw(".. toctree::\n")
+ fw(" :glob:\n\n")
+ fw(" bpy.types.*\n\n")
+ file.close()
+
+ if "bpy.data" not in EXCLUDE_MODULES:
+ # not actually a module, only write this file so we
+ # can reference in the TOC
+ filepath = os.path.join(BASEPATH, "bpy.data.rst")
+ file = open(filepath, "w")
+ fw = file.write
+ fw("Data Access (bpy.data)\n")
+ fw("======================\n\n")
+ fw(".. module:: bpy\n")
+ fw("\n")
+ fw("This module is used for all blender/python access.\n")
+ fw("\n")
+ fw(".. data:: data\n")
+ fw("\n")
+ fw(" Access to blenders internal data\n")
+ fw("\n")
+ fw(" :type: :class:`bpy.types.BlendData`\n")
+ fw("\n")
+ fw(".. literalinclude:: ../examples/bpy.data.py\n")
+ file.close()
+
+ EXAMPLE_SET_USED.add("bpy.data")
+
+ module = None
+
+ if "bpy.context" not in EXCLUDE_MODULES:
+ # one of a kind, context doc (uses ctypes to extract info!)
+ pycontext2sphinx(BASEPATH)
+
+ # python modules
+ if "bpy.utils" not in EXCLUDE_MODULES:
+ from bpy import utils as module
+ pymodule2sphinx(BASEPATH, "bpy.utils", module, "Utilities")
+
+ if "bpy.path" not in EXCLUDE_MODULES:
+ from bpy import path as module
+ pymodule2sphinx(BASEPATH, "bpy.path", module, "Path Utilities")
+
+ if "bpy_extras" not in EXCLUDE_MODULES:
+ import bpy_extras as module
+ pymodule2sphinx(BASEPATH, "bpy_extras", module, "Extra Utilities")
+
+ # C modules
+ if "bpy.app" not in EXCLUDE_MODULES:
+ from bpy import app as module
+ pymodule2sphinx(BASEPATH, "bpy.app", module, "Application Data")
+
+ if "bpy.props" not in EXCLUDE_MODULES:
+ from bpy import props as module
+ pymodule2sphinx(BASEPATH, "bpy.props", module, "Property Definitions")
+
+ if "mathutils" not in EXCLUDE_MODULES:
+ import mathutils as module
+ pymodule2sphinx(BASEPATH, "mathutils", module, "Math Types & Utilities")
+
+ if "mathutils.geometry" not in EXCLUDE_MODULES:
+ import mathutils.geometry as module
+ pymodule2sphinx(BASEPATH, "mathutils.geometry", module, "Geometry Utilities")
+
+ if "blf" not in EXCLUDE_MODULES:
+ import blf as module
+ pymodule2sphinx(BASEPATH, "blf", module, "Font Drawing")
+
+ if "bgl" not in EXCLUDE_MODULES:
+ #import bgl as module
+ #pymodule2sphinx(BASEPATH, "bgl", module, "Blender OpenGl wrapper")
+ #del module
+ import shutil
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bgl.rst"), BASEPATH)
+
+ if "aud" not in EXCLUDE_MODULES:
+ import aud as module
+ pymodule2sphinx(BASEPATH, "aud", module, "Audio System")
+ del module
+
+ ## game engine
+ import shutil
+ # copy2 keeps time/date stamps
+ if "bge" not in EXCLUDE_MODULES:
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.types.rst"), BASEPATH)
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.logic.rst"), BASEPATH)
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.render.rst"), BASEPATH)
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.texture.rst"), BASEPATH)
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.events.rst"), BASEPATH)
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "bge.constraints.rst"), BASEPATH)
+
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", "change_log.rst"), BASEPATH)
+
+ if not EXCLUDE_INFO_DOCS:
+ for info, info_desc in INFO_DOCS:
+ shutil.copy2(os.path.join(BASEPATH, "..", "rst", info), BASEPATH)
+
+ if 0:
+ filepath = os.path.join(BASEPATH, "bpy.rst")
+ file = open(filepath, "w")
+ fw = file.write
+
+ fw("\n")
+
+ title = ":mod:`bpy` --- Blender Python Module"
+
+ write_title(fw, title, "=")
+
+ fw(".. module:: bpy.types\n\n")
+ file.close()
+
+ # bpy.types and bpy.ops
+ pyrna2sphinx(BASEPATH)
+
+ file.close()
+
+
+def main():
+ import shutil
+
+ script_dir = os.path.dirname(__file__)
+ path_in = os.path.join(script_dir, "sphinx-in")
+ path_out = os.path.join(script_dir, "sphinx-out")
+ path_examples = os.path.join(script_dir, "examples")
+ # only for partial updates
+ path_in_tmp = path_in + "-tmp"
+
+ if not os.path.exists(path_in):
+ os.mkdir(path_in)
+
+ for f in os.listdir(path_examples):
+ if f.endswith(".py"):
+ EXAMPLE_SET.add(os.path.splitext(f)[0])
+
+ # only for full updates
+ if _BPY_FULL_REBUILD:
+ shutil.rmtree(path_in, True)
+ shutil.rmtree(path_out, True)
+ else:
+ # write here, then move
+ shutil.rmtree(path_in_tmp, True)
+
+ rna2sphinx(path_in_tmp)
+
+ if not _BPY_FULL_REBUILD:
+ import filecmp
+
+ # now move changed files from 'path_in_tmp' --> 'path_in'
+ file_list_path_in = set(os.listdir(path_in))
+ file_list_path_in_tmp = set(os.listdir(path_in_tmp))
+
+ # remove deprecated files that have been removed.
+ for f in sorted(file_list_path_in):
+ if f not in file_list_path_in_tmp:
+ print("\tdeprecated: %s" % f)
+ os.remove(os.path.join(path_in, f))
+
+ # freshen with new files.
+ for f in sorted(file_list_path_in_tmp):
+ f_from = os.path.join(path_in_tmp, f)
+ f_to = os.path.join(path_in, f)
+
+ do_copy = True
+ if f in file_list_path_in:
+ if filecmp.cmp(f_from, f_to):
+ do_copy = False
+
+ if do_copy:
+ print("\tupdating: %s" % f)
+ shutil.copy(f_from, f_to)
+ '''else:
+ print("\tkeeping: %s" % f) # eh, not that useful'''
+
+ EXAMPLE_SET_UNUSED = EXAMPLE_SET - EXAMPLE_SET_USED
+ if EXAMPLE_SET_UNUSED:
+ print("\nUnused examples found in '%s'..." % path_examples)
+ for f in EXAMPLE_SET_UNUSED:
+ print(" %s.py" % f)
+ print(" %d total\n" % len(EXAMPLE_SET_UNUSED))
+
+ import sys
+ sys.exit()
+
+if __name__ == '__main__':
+ main()
diff --git a/doc/python_api/sphinx_doc_gen.sh b/doc/python_api/sphinx_doc_gen.sh
new file mode 100755
index 00000000000..ea55fbb3907
--- /dev/null
+++ b/doc/python_api/sphinx_doc_gen.sh
@@ -0,0 +1,89 @@
+#!/bin/sh
+# run from the blender source dir
+# bash source/blender/python/doc/sphinx_doc_gen.sh
+# ssh upload means you need an account on the server
+
+
+# ----------------------------------------------------------------------------
+# Upload vars
+
+# disable for testing
+DO_UPLOAD=true
+
+BLENDER="./blender.bin"
+SSH_USER="ideasman42"
+SSH_HOST=$SSH_USER"@emo.blender.org"
+SSH_UPLOAD="/data/www/vhosts/www.blender.org/documentation" # blender_python_api_VERSION, added after
+
+# ----------------------------------------------------------------------------
+# Blender Version & Info
+
+# 'Blender 2.53 (sub 1) Build' --> '2_53_1' as a shell script.
+# "_".join(str(v) for v in bpy.app.version)
+# custom blender vars
+blender_srcdir=$(dirname $0)/../../
+blender_version=$(grep "BLENDER_VERSION\s" $blender_srcdir/source/blender/blenkernel/BKE_blender.h | awk '{print $3}')
+blender_version_char=$(grep BLENDER_VERSION_CHAR $blender_srcdir/source/blender/blenkernel/BKE_blender.h | awk '{print $3}')
+blender_version_cycle=$(grep BLENDER_VERSION_CYCLE $blender_srcdir/source/blender/blenkernel/BKE_blender.h | awk '{print $3}')
+blender_subversion=$(grep BLENDER_SUBVERSION $blender_srcdir/source/blender/blenkernel/BKE_blender.h | awk '{print $3}')
+
+if [ "$blender_version_cycle" == "release" ]
+then
+ BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)$blender_version_char"_release"
+else
+ BLENDER_VERSION=$(expr $blender_version / 100)_$(expr $blender_version % 100)_$blender_subversion
+fi
+
+SSH_UPLOAD_FULL=$SSH_UPLOAD/"blender_python_api_"$BLENDER_VERSION
+
+SPHINXBASE=doc/python_api/
+
+
+# ----------------------------------------------------------------------------
+# Generate reStructuredText (blender/python only)
+
+# dont delete existing docs, now partial updates are used for quick builds.
+$BLENDER --background --factory-startup --python $SPHINXBASE/sphinx_doc_gen.py
+
+
+# ----------------------------------------------------------------------------
+# Generate HTML (sphinx)
+
+sphinx-build -n -b html $SPHINXBASE/sphinx-in $SPHINXBASE/sphinx-out
+
+
+# ----------------------------------------------------------------------------
+# Generate PDF (sphinx/laytex)
+
+sphinx-build -n -b latex $SPHINXBASE/sphinx-in $SPHINXBASE/sphinx-out
+make -C $SPHINXBASE/sphinx-out
+mv $SPHINXBASE/sphinx-out/contents.pdf $SPHINXBASE/sphinx-out/blender_python_reference_$BLENDER_VERSION.pdf
+
+# ----------------------------------------------------------------------------
+# Upload to blender servers, comment this section for testing
+
+if $DO_UPLOAD ; then
+
+ cp $SPHINXBASE/sphinx-out/contents.html $SPHINXBASE/sphinx-out/index.html
+ ssh $SSH_USER@emo.blender.org 'rm -rf '$SSH_UPLOAD_FULL'/*'
+ rsync --progress -avze "ssh -p 22" $SPHINXBASE/sphinx-out/* $SSH_HOST:$SSH_UPLOAD_FULL/
+
+ ## symlink the dir to a static URL
+ #ssh $SSH_USER@emo.blender.org 'rm '$SSH_UPLOAD'/250PythonDoc && ln -s '$SSH_UPLOAD_FULL' '$SSH_UPLOAD'/250PythonDoc'
+
+ # better redirect
+ ssh $SSH_USER@emo.blender.org 'echo "<html><head><title>Redirecting...</title><meta http-equiv=\"REFRESH\" content=\"0;url=../blender_python_api_'$BLENDER_VERSION'/\"></head><body>Redirecting...</body></html>" > '$SSH_UPLOAD'/250PythonDoc/index.html'
+
+ # rename so local PDF has matching name.
+ rsync --progress -avze "ssh -p 22" $SPHINXBASE/sphinx-out/blender_python_reference_$BLENDER_VERSION.pdf $SSH_HOST:$SSH_UPLOAD_FULL/blender_python_reference_$BLENDER_VERSION.pdf
+
+fi
+
+
+# ----------------------------------------------------------------------------
+# Print some useful text
+
+echo ""
+echo "Finished! view the docs from: "
+echo " html:" $SPHINXBASE/sphinx-out/contents.html
+echo " pdf:" $SPHINXBASE/sphinx-out/blender_python_reference_$BLENDER_VERSION.pdf
diff --git a/extern/binreloc/CMakeLists.txt b/extern/binreloc/CMakeLists.txt
index a4f85a2fdfd..753e28091d3 100644
--- a/extern/binreloc/CMakeLists.txt
+++ b/extern/binreloc/CMakeLists.txt
@@ -19,7 +19,7 @@
#
set(INC
- ./include
+ include
)
set(INC_SYS
diff --git a/extern/bullet2/CMakeLists.txt b/extern/bullet2/CMakeLists.txt
index bfc4b31689e..9cead6546b8 100644
--- a/extern/bullet2/CMakeLists.txt
+++ b/extern/bullet2/CMakeLists.txt
@@ -149,6 +149,15 @@ set(SRC
src/LinearMath/btGeometryUtil.cpp
src/LinearMath/btQuickprof.cpp
src/LinearMath/btSerializer.cpp
+ # UNUSED
+ # src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.cpp
+ # src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.cpp
+ # src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.cpp
+ # src/BulletCollision/CollisionShapes/btBox2dShape.cpp
+ # src/BulletCollision/CollisionShapes/btConvex2dShape.cpp
+ # src/BulletDynamics/Character/btKinematicCharacterController.cpp
+ # src/BulletDynamics/ConstraintSolver/btHinge2Constraint.cpp
+ # src/BulletDynamics/ConstraintSolver/btUniversalConstraint.cpp
src/Bullet-C-Api.h
src/BulletCollision/BroadphaseCollision/btAxisSweep3.h
@@ -217,6 +226,7 @@ set(SRC
src/BulletCollision/CollisionShapes/btTriangleCallback.h
src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.h
src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.h
+ src/BulletCollision/CollisionShapes/btTriangleInfoMap.h
src/BulletCollision/CollisionShapes/btTriangleMesh.h
src/BulletCollision/CollisionShapes/btTriangleMeshShape.h
src/BulletCollision/CollisionShapes/btTriangleShape.h
@@ -264,6 +274,7 @@ set(SRC
src/BulletCollision/NarrowPhaseCollision/btSimplexSolverInterface.h
src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.h
src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.h
+ src/BulletDynamics/Character/btCharacterControllerInterface.h
src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.h
src/BulletDynamics/ConstraintSolver/btConstraintSolver.h
src/BulletDynamics/ConstraintSolver/btContactConstraint.h
@@ -291,9 +302,12 @@ set(SRC
src/BulletSoftBody/btDefaultSoftBodySolver.h
src/BulletSoftBody/btSoftBody.h
src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.h
+ src/BulletSoftBody/btSoftBodyData.h
src/BulletSoftBody/btSoftBodyHelpers.h
src/BulletSoftBody/btSoftBodyInternals.h
src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.h
+ src/BulletSoftBody/btSoftBodySolverVertexBuffer.h
+ src/BulletSoftBody/btSoftBodySolvers.h
src/BulletSoftBody/btSoftRigidCollisionAlgorithm.h
src/BulletSoftBody/btSoftRigidDynamicsWorld.h
src/BulletSoftBody/btSoftSoftCollisionAlgorithm.h
@@ -323,9 +337,16 @@ set(SRC
src/LinearMath/btTransform.h
src/LinearMath/btTransformUtil.h
src/LinearMath/btVector3.h
-
src/btBulletCollisionCommon.h
src/btBulletDynamicsCommon.h
+ # src/BulletCollision/CollisionDispatch/btBox2dBox2dCollisionAlgorithm.h
+ # src/BulletCollision/CollisionDispatch/btConvex2dConvex2dAlgorithm.h
+ # src/BulletCollision/CollisionDispatch/btInternalEdgeUtility.h
+ # src/BulletCollision/CollisionShapes/btBox2dShape.h
+ # src/BulletCollision/CollisionShapes/btConvex2dShape.h
+ # src/BulletDynamics/Character/btKinematicCharacterController.h
+ # src/BulletDynamics/ConstraintSolver/btHinge2Constraint.h
+ # src/BulletDynamics/ConstraintSolver/btUniversalConstraint.h
)
if(CMAKE_COMPILER_IS_GNUCXX)
diff --git a/extern/bullet2/src/SConscript b/extern/bullet2/src/SConscript
index 5cb9185d6a1..fa00ad7bc2e 100644
--- a/extern/bullet2/src/SConscript
+++ b/extern/bullet2/src/SConscript
@@ -11,10 +11,10 @@ if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
defs += ' WIN32 NDEBUG _WINDOWS'
#cflags += ['/MT', '/W3', '/GX', '/O2', '/Op']
cflags += ['/MT', '/W3', '/GX', '/Og', '/Ot', '/Ob1', '/Op', '/G6', '/O3', '/EHcs']
-elif env['OURPLATFORM']=='win32-mingw':
+elif env['OURPLATFORM'] in ('win32-mingw', 'linuxcross'):
defs += ' NDEBUG'
cflags += ['-O2']
-elif sys.platform=='linux2' or sys.platform=='linux-i386' or sys.platform=='freebsd4' or sys.platform=='freebsd5':
+elif env['OURPLATFORM'] in ('linux', 'freebsd4', 'freebsd5'):
defs += ' NDEBUG'
cflags += ['-O2']
elif sys.platform=='darwin':
diff --git a/extern/glew/CMakeLists.txt b/extern/glew/CMakeLists.txt
index 35beacab6a3..87f8bb6e940 100644
--- a/extern/glew/CMakeLists.txt
+++ b/extern/glew/CMakeLists.txt
@@ -25,7 +25,7 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- ./include
+ include
)
set(INC_SYS
@@ -33,7 +33,9 @@ set(INC_SYS
)
if(UNIX)
- list(APPEND INC_SYS ${X11_X11_INCLUDE_PATH})
+ list(APPEND INC_SYS
+ ${X11_X11_INCLUDE_PATH}
+ )
endif()
set(SRC
diff --git a/extern/libopenjpeg/CMakeLists.txt b/extern/libopenjpeg/CMakeLists.txt
index fe03db83054..6f5056b341a 100644
--- a/extern/libopenjpeg/CMakeLists.txt
+++ b/extern/libopenjpeg/CMakeLists.txt
@@ -32,6 +32,10 @@ set(INC_SYS
)
+if(WIN32)
+ add_definitions(-DOPJ_STATIC)
+endif()
+
set(SRC
bio.c
cio.c
diff --git a/extern/lzo/CMakeLists.txt b/extern/lzo/CMakeLists.txt
index 10ea2c58f7c..11eb18520b6 100644
--- a/extern/lzo/CMakeLists.txt
+++ b/extern/lzo/CMakeLists.txt
@@ -25,7 +25,7 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- include
+
)
set(INC_SYS
diff --git a/intern/CMakeLists.txt b/intern/CMakeLists.txt
index 33bf9bb476c..fe30d6cfa0c 100644
--- a/intern/CMakeLists.txt
+++ b/intern/CMakeLists.txt
@@ -24,7 +24,6 @@
#
# ***** END GPL LICENSE BLOCK *****
-add_subdirectory(audaspace)
add_subdirectory(string)
add_subdirectory(ghost)
add_subdirectory(guardedalloc)
@@ -32,13 +31,20 @@ add_subdirectory(moto)
add_subdirectory(memutil)
add_subdirectory(iksolver)
add_subdirectory(opennl)
-add_subdirectory(smoke)
add_subdirectory(mikktspace)
+if(WITH_AUDASPACE)
+ add_subdirectory(audaspace)
+endif()
+
if(WITH_MOD_FLUID)
add_subdirectory(elbeem)
endif()
+if(WITH_MOD_SMOKE)
+ add_subdirectory(smoke)
+endif()
+
if(WITH_MOD_DECIMATE)
add_subdirectory(container)
add_subdirectory(decimation)
diff --git a/intern/audaspace/CMakeLists.txt b/intern/audaspace/CMakeLists.txt
index b7a0b06d491..25510ebd2a5 100644
--- a/intern/audaspace/CMakeLists.txt
+++ b/intern/audaspace/CMakeLists.txt
@@ -1,7 +1,7 @@
# $Id$
# ***** BEGIN LGPL LICENSE BLOCK *****
#
-# Copyright 2009 Jörg Hermann Müller
+# Copyright 2009 Jrg Hermann Mller
#
# This file is part of AudaSpace.
#
@@ -22,14 +22,14 @@
set(INC
.
- intern
FX
SRC
+ intern
../ffmpeg
)
set(INC_SYS
- ${PTHREADS_INC}
+ ${PTHREADS_INCLUDE_DIRS}
)
set(SRC
@@ -41,6 +41,8 @@ set(SRC
FX/AUD_DelayReader.cpp
FX/AUD_DoubleFactory.cpp
FX/AUD_DoubleReader.cpp
+ FX/AUD_DynamicIIRFilterFactory.cpp
+ FX/AUD_DynamicIIRFilterReader.cpp
FX/AUD_EffectFactory.cpp
FX/AUD_EffectReader.cpp
FX/AUD_EnvelopeFactory.cpp
@@ -66,6 +68,8 @@ set(SRC
FX/AUD_SuperposeReader.cpp
FX/AUD_VolumeFactory.cpp
intern/AUD_3DMath.h
+ intern/AUD_AnimateableProperty.cpp
+ intern/AUD_AnimateableProperty.h
intern/AUD_Buffer.cpp
intern/AUD_Buffer.h
intern/AUD_BufferReader.cpp
@@ -82,14 +86,21 @@ set(SRC
intern/AUD_ConverterFunctions.h
intern/AUD_ConverterReader.cpp
intern/AUD_ConverterReader.h
- intern/AUD_DefaultMixer.cpp
- intern/AUD_DefaultMixer.h
intern/AUD_FileFactory.cpp
intern/AUD_FileFactory.h
+ intern/AUD_FileWriter.cpp
+ intern/AUD_FileWriter.h
intern/AUD_I3DDevice.h
+ intern/AUD_I3DHandle.h
intern/AUD_IDevice.h
intern/AUD_IFactory.h
+ intern/AUD_IHandle.h
intern/AUD_IReader.h
+ intern/AUD_IWriter.h
+ intern/AUD_JOSResampleFactory.cpp
+ intern/AUD_JOSResampleFactory.h
+ intern/AUD_JOSResampleReader.cpp
+ intern/AUD_JOSResampleReader.h
intern/AUD_LinearResampleFactory.cpp
intern/AUD_LinearResampleFactory.h
intern/AUD_LinearResampleReader.cpp
@@ -104,9 +115,16 @@ set(SRC
intern/AUD_ReadDevice.cpp
intern/AUD_ReadDevice.h
intern/AUD_Reference.h
+ intern/AUD_ReferenceHandler.cpp
intern/AUD_ResampleFactory.h
+ intern/AUD_ResampleReader.cpp
+ intern/AUD_ResampleReader.h
+ intern/AUD_SequencerEntry.cpp
+ intern/AUD_SequencerEntry.h
intern/AUD_SequencerFactory.cpp
intern/AUD_SequencerFactory.h
+ intern/AUD_SequencerHandle.cpp
+ intern/AUD_SequencerHandle.h
intern/AUD_SequencerReader.cpp
intern/AUD_SequencerReader.h
intern/AUD_SilenceFactory.cpp
@@ -131,6 +149,8 @@ set(SRC
FX/AUD_DelayReader.h
FX/AUD_DoubleFactory.h
FX/AUD_DoubleReader.h
+ FX/AUD_DynamicIIRFilterFactory.h
+ FX/AUD_DynamicIIRFilterReader.h
FX/AUD_EffectFactory.h
FX/AUD_EffectReader.h
FX/AUD_EnvelopeFactory.h
@@ -159,21 +179,31 @@ set(SRC
if(WITH_CODEC_FFMPEG)
add_definitions(-DWITH_FFMPEG)
- list(APPEND INC ffmpeg)
- list(APPEND INC_SYS ${FFMPEG_INC})
+ list(APPEND INC
+ ffmpeg
+ )
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
list(APPEND SRC
ffmpeg/AUD_FFMPEGFactory.cpp
ffmpeg/AUD_FFMPEGReader.cpp
+ ffmpeg/AUD_FFMPEGWriter.cpp
ffmpeg/AUD_FFMPEGFactory.h
ffmpeg/AUD_FFMPEGReader.h
+ ffmpeg/AUD_FFMPEGWriter.h
)
endif()
if(WITH_SDL)
add_definitions(-DWITH_SDL)
- list(APPEND INC SDL)
- list(APPEND INC_SYS ${SDL_INCLUDE_DIR})
+ list(APPEND INC
+ SDL
+ )
+ list(APPEND INC_SYS
+ ${SDL_INCLUDE_DIR}
+ )
list(APPEND SRC
SDL/AUD_SDLDevice.cpp
@@ -183,8 +213,12 @@ endif()
if(WITH_OPENAL)
add_definitions(-DWITH_OPENAL)
- list(APPEND INC OpenAL)
- list(APPEND INC_SYS ${OPENAL_INCLUDE_DIR})
+ list(APPEND INC
+ OpenAL
+ )
+ list(APPEND INC_SYS
+ ${OPENAL_INCLUDE_DIR}
+ )
list(APPEND SRC
OpenAL/AUD_OpenALDevice.cpp
@@ -194,8 +228,12 @@ endif()
if(WITH_JACK)
add_definitions(-DWITH_JACK)
- list(APPEND INC jack)
- list(APPEND INC_SYS ${JACK_INC})
+ list(APPEND INC
+ jack
+ )
+ list(APPEND INC_SYS
+ ${JACK_INCLUDE_DIRS}
+ )
list(APPEND SRC
jack/AUD_JackDevice.cpp
@@ -205,20 +243,28 @@ endif()
if(WITH_CODEC_SNDFILE)
add_definitions(-DWITH_SNDFILE)
- list(APPEND INC sndfile)
- list(APPEND INC_SYS ${SNDFILE_INC})
+ list(APPEND INC
+ sndfile
+ )
+ list(APPEND INC_SYS
+ ${SNDFILE_INCLUDE_DIRS}
+ )
list(APPEND SRC
sndfile/AUD_SndFileFactory.cpp
sndfile/AUD_SndFileReader.cpp
+ sndfile/AUD_SndFileWriter.cpp
sndfile/AUD_SndFileFactory.h
sndfile/AUD_SndFileReader.h
+ sndfile/AUD_SndFileWriter.h
)
endif()
if(WITH_SAMPLERATE)
add_definitions(-DWITH_SAMPLERATE)
- list(APPEND INC_SYS ${LIBSAMPLERATE_INC})
+ list(APPEND INC_SYS
+ ${SAMPLERATE_INCLUDE_DIRS}
+ )
list(APPEND SRC
SRC/AUD_SRCResampleFactory.cpp
SRC/AUD_SRCResampleReader.cpp
@@ -230,8 +276,12 @@ endif()
if(WITH_FFTW3 AND FALSE)
add_definitions(-DWITH_FFTW3)
- list(APPEND INC fftw)
- list(APPEND INC_SYS ${FFTW3_INC})
+ list(APPEND INC
+ fftw
+ )
+ list(APPEND INC_SYS
+ ${FFTW3_INCLUDE_DIRS}
+ )
list(APPEND SRC
fftw/AUD_BandPassFactory.cpp
fftw/AUD_BandPassReader.cpp
@@ -242,8 +292,12 @@ if(WITH_FFTW3 AND FALSE)
endif()
if(WITH_PYTHON)
- list(APPEND INC Python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ Python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
list(APPEND SRC
Python/AUD_PyAPI.cpp
diff --git a/intern/audaspace/FX/AUD_AccumulatorFactory.cpp b/intern/audaspace/FX/AUD_AccumulatorFactory.cpp
index d60924958b1..0dffa7fc9ea 100644
--- a/intern/audaspace/FX/AUD_AccumulatorFactory.cpp
+++ b/intern/audaspace/FX/AUD_AccumulatorFactory.cpp
@@ -32,7 +32,7 @@
#include "AUD_AccumulatorFactory.h"
#include "AUD_CallbackIIRFilterReader.h"
-sample_t accumulatorFilterAdditive(AUD_CallbackIIRFilterReader* reader, void* useless)
+sample_t AUD_AccumulatorFactory::accumulatorFilterAdditive(AUD_CallbackIIRFilterReader* reader, void* useless)
{
float in = reader->x(0);
float lastin = reader->x(-1);
@@ -42,7 +42,7 @@ sample_t accumulatorFilterAdditive(AUD_CallbackIIRFilterReader* reader, void* us
return out;
}
-sample_t accumulatorFilter(AUD_CallbackIIRFilterReader* reader, void* useless)
+sample_t AUD_AccumulatorFactory::accumulatorFilter(AUD_CallbackIIRFilterReader* reader, void* useless)
{
float in = reader->x(0);
float lastin = reader->x(-1);
@@ -52,14 +52,14 @@ sample_t accumulatorFilter(AUD_CallbackIIRFilterReader* reader, void* useless)
return out;
}
-AUD_AccumulatorFactory::AUD_AccumulatorFactory(AUD_IFactory* factory,
+AUD_AccumulatorFactory::AUD_AccumulatorFactory(AUD_Reference<AUD_IFactory> factory,
bool additive) :
AUD_EffectFactory(factory),
m_additive(additive)
{
}
-AUD_IReader* AUD_AccumulatorFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_AccumulatorFactory::createReader()
{
return new AUD_CallbackIIRFilterReader(getReader(), 2, 2,
m_additive ? accumulatorFilterAdditive : accumulatorFilter);
diff --git a/intern/audaspace/FX/AUD_AccumulatorFactory.h b/intern/audaspace/FX/AUD_AccumulatorFactory.h
index 3c3b32ce071..95246ef5341 100644
--- a/intern/audaspace/FX/AUD_AccumulatorFactory.h
+++ b/intern/audaspace/FX/AUD_AccumulatorFactory.h
@@ -33,9 +33,14 @@
#define AUD_ACCUMULATORFACTORY
#include "AUD_EffectFactory.h"
+class AUD_CallbackIIRFilterReader;
/**
* This factory creates an accumulator reader.
+ *
+ * The accumulator adds the difference at the input to the last output in case
+ * it's positive. In additive mode it additionaly adds the difference always.
+ * So in case the difference is positive, it's added twice.
*/
class AUD_AccumulatorFactory : public AUD_EffectFactory
{
@@ -55,9 +60,12 @@ public:
* \param factory The input factory.
* \param additive Whether the accumulator is additive.
*/
- AUD_AccumulatorFactory(AUD_IFactory* factory, bool additive = false);
+ AUD_AccumulatorFactory(AUD_Reference<AUD_IFactory> factory, bool additive = false);
+
+ virtual AUD_Reference<AUD_IReader> createReader();
- virtual AUD_IReader* createReader() const;
+ static sample_t accumulatorFilterAdditive(AUD_CallbackIIRFilterReader* reader, void* useless);
+ static sample_t accumulatorFilter(AUD_CallbackIIRFilterReader* reader, void* useless);
};
#endif //AUD_ACCUMULATORFACTORY
diff --git a/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp b/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp
index 563722d9213..29ff6d90080 100644
--- a/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp
+++ b/intern/audaspace/FX/AUD_BaseIIRFilterReader.cpp
@@ -33,20 +33,20 @@
#include <cstring>
-#define CC m_channels + m_channel
+#define CC m_specs.channels + m_channel
-AUD_BaseIIRFilterReader::AUD_BaseIIRFilterReader(AUD_IReader* reader, int in,
+AUD_BaseIIRFilterReader::AUD_BaseIIRFilterReader(AUD_Reference<AUD_IReader> reader, int in,
int out) :
AUD_EffectReader(reader),
- m_channels(reader->getSpecs().channels),
+ m_specs(reader->getSpecs()),
m_xlen(in), m_ylen(out),
m_xpos(0), m_ypos(0), m_channel(0)
{
- m_x = new sample_t[in * m_channels];
- m_y = new sample_t[out * m_channels];
+ m_x = new sample_t[m_xlen * m_specs.channels];
+ m_y = new sample_t[m_ylen * m_specs.channels];
- memset(m_x, 0, sizeof(sample_t) * in * m_channels);
- memset(m_y, 0, sizeof(sample_t) * out * m_channels);
+ memset(m_x, 0, sizeof(sample_t) * m_xlen * m_specs.channels);
+ memset(m_y, 0, sizeof(sample_t) * m_ylen * m_specs.channels);
}
AUD_BaseIIRFilterReader::~AUD_BaseIIRFilterReader()
@@ -55,24 +55,77 @@ AUD_BaseIIRFilterReader::~AUD_BaseIIRFilterReader()
delete[] m_y;
}
-void AUD_BaseIIRFilterReader::read(int & length, sample_t* & buffer)
+void AUD_BaseIIRFilterReader::setLengths(int in, int out)
{
- sample_t* buf;
+ if(in != m_xlen)
+ {
+ sample_t* xn = new sample_t[in * m_specs.channels];
+ memset(xn, 0, sizeof(sample_t) * in * m_specs.channels);
+
+ for(m_channel = 0; m_channel < m_specs.channels; m_channel++)
+ {
+ for(int i = 1; i <= in && i <= m_xlen; i++)
+ {
+ xn[(in - i) * CC] = x(-i);
+ }
+ }
+
+ delete[] m_x;
+ m_x = xn;
+ m_xpos = 0;
+ m_xlen = in;
+ }
+
+ if(out != m_ylen)
+ {
+ sample_t* yn = new sample_t[out * m_specs.channels];
+ memset(yn, 0, sizeof(sample_t) * out * m_specs.channels);
+
+ for(m_channel = 0; m_channel < m_specs.channels; m_channel++)
+ {
+ for(int i = 1; i <= out && i <= m_ylen; i++)
+ {
+ yn[(out - i) * CC] = y(-i);
+ }
+ }
+
+ delete[] m_y;
+ m_y = yn;
+ m_ypos = 0;
+ m_ylen = out;
+ }
+}
+
+void AUD_BaseIIRFilterReader::read(int& length, bool& eos, sample_t* buffer)
+{
+ AUD_Specs specs = m_reader->getSpecs();
+ if(specs.channels != m_specs.channels)
+ {
+ m_specs.channels = specs.channels;
+
+ delete[] m_x;
+ delete[] m_y;
- int samplesize = AUD_SAMPLE_SIZE(m_reader->getSpecs());
+ m_x = new sample_t[m_xlen * m_specs.channels];
+ m_y = new sample_t[m_ylen * m_specs.channels];
- m_reader->read(length, buf);
+ memset(m_x, 0, sizeof(sample_t) * m_xlen * m_specs.channels);
+ memset(m_y, 0, sizeof(sample_t) * m_ylen * m_specs.channels);
+ }
- if(m_buffer.getSize() < length * samplesize)
- m_buffer.resize(length * samplesize);
+ if(specs.rate != m_specs.rate)
+ {
+ m_specs = specs;
+ sampleRateChanged(m_specs.rate);
+ }
- buffer = m_buffer.getBuffer();
+ m_reader->read(length, eos, buffer);
- for(m_channel = 0; m_channel < m_channels; m_channel++)
+ for(m_channel = 0; m_channel < m_specs.channels; m_channel++)
{
for(int i = 0; i < length; i++)
{
- m_x[m_xpos * CC] = buf[i * CC];
+ m_x[m_xpos * CC] = buffer[i * CC];
m_y[m_ypos * CC] = buffer[i * CC] = filter();
m_xpos = (m_xpos + 1) % m_xlen;
@@ -80,3 +133,7 @@ void AUD_BaseIIRFilterReader::read(int & length, sample_t* & buffer)
}
}
}
+
+void AUD_BaseIIRFilterReader::sampleRateChanged(AUD_SampleRate rate)
+{
+}
diff --git a/intern/audaspace/FX/AUD_BaseIIRFilterReader.h b/intern/audaspace/FX/AUD_BaseIIRFilterReader.h
index 436e6469a58..6bf877d66da 100644
--- a/intern/audaspace/FX/AUD_BaseIIRFilterReader.h
+++ b/intern/audaspace/FX/AUD_BaseIIRFilterReader.h
@@ -42,24 +42,19 @@ class AUD_BaseIIRFilterReader : public AUD_EffectReader
{
private:
/**
- * Channel count.
+ * Specs.
*/
- const int m_channels;
+ AUD_Specs m_specs;
/**
* Length of input samples needed.
*/
- const int m_xlen;
+ int m_xlen;
/**
* Length of output samples needed.
*/
- const int m_ylen;
-
- /**
- * The playback buffer.
- */
- AUD_Buffer m_buffer;
+ int m_ylen;
/**
* The last in samples array.
@@ -97,24 +92,46 @@ protected:
* \param in The count of past input samples needed.
* \param out The count of past output samples needed.
*/
- AUD_BaseIIRFilterReader(AUD_IReader* reader, int in, int out);
+ AUD_BaseIIRFilterReader(AUD_Reference<AUD_IReader> reader, int in, int out);
+
+ void setLengths(int in, int out);
public:
+ /**
+ * Retrieves the last input samples.
+ * \param pos The position, valid are 0 (current) or negative values.
+ * \return The sample value.
+ */
inline sample_t x(int pos)
{
- return m_x[(m_xpos + pos + m_xlen) % m_xlen * m_channels + m_channel];
+ return m_x[(m_xpos + pos + m_xlen) % m_xlen * m_specs.channels + m_channel];
}
+ /**
+ * Retrieves the last output samples.
+ * \param pos The position, valid are negative values.
+ * \return The sample value.
+ */
inline sample_t y(int pos)
{
- return m_y[(m_ypos + pos + m_ylen) % m_ylen * m_channels + m_channel];
+ return m_y[(m_ypos + pos + m_ylen) % m_ylen * m_specs.channels + m_channel];
}
virtual ~AUD_BaseIIRFilterReader();
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
+ /**
+ * Runs the filtering function.
+ * \return The current output sample value.
+ */
virtual sample_t filter()=0;
+
+ /**
+ * Notifies the filter about a sample rate change.
+ * \param rate The new sample rate.
+ */
+ virtual void sampleRateChanged(AUD_SampleRate rate);
};
#endif //AUD_BASEIIRFILTERREADER
diff --git a/intern/audaspace/FX/AUD_ButterworthFactory.cpp b/intern/audaspace/FX/AUD_ButterworthFactory.cpp
index ea957c81ed3..4b45512ffa6 100644
--- a/intern/audaspace/FX/AUD_ButterworthFactory.cpp
+++ b/intern/audaspace/FX/AUD_ButterworthFactory.cpp
@@ -41,19 +41,18 @@
#define BWPB41 0.76536686473
#define BWPB42 1.84775906502
-AUD_ButterworthFactory::AUD_ButterworthFactory(AUD_IFactory* factory,
+AUD_ButterworthFactory::AUD_ButterworthFactory(AUD_Reference<AUD_IFactory> factory,
float frequency) :
- AUD_EffectFactory(factory),
+ AUD_DynamicIIRFilterFactory(factory),
m_frequency(frequency)
{
}
-AUD_IReader* AUD_ButterworthFactory::createReader() const
+void AUD_ButterworthFactory::recalculateCoefficients(AUD_SampleRate rate,
+ std::vector<float> &b,
+ std::vector<float> &a)
{
- AUD_IReader* reader = getReader();
-
- // calculate coefficients
- float omega = 2 * tan(m_frequency * M_PI / reader->getSpecs().rate);
+ float omega = 2 * tan(m_frequency * M_PI / rate);
float o2 = omega * omega;
float o4 = o2 * o2;
float x1 = o2 + 2 * BWPB41 * omega + 4;
@@ -62,7 +61,6 @@ AUD_IReader* AUD_ButterworthFactory::createReader() const
float y2 = o2 - 2 * BWPB42 * omega + 4;
float o228 = 2 * o2 - 8;
float norm = x1 * x2;
- std::vector<float> a, b;
a.push_back(1);
a.push_back((x1 + x2) * o228 / norm);
a.push_back((x1 * y2 + x2 * y1 + o228 * o228) / norm);
@@ -73,6 +71,4 @@ AUD_IReader* AUD_ButterworthFactory::createReader() const
b.push_back(6 * o4 / norm);
b.push_back(b[1]);
b.push_back(b[0]);
-
- return new AUD_IIRFilterReader(reader, b, a);
}
diff --git a/intern/audaspace/FX/AUD_ButterworthFactory.h b/intern/audaspace/FX/AUD_ButterworthFactory.h
index c8b731449c4..12d28eb4038 100644
--- a/intern/audaspace/FX/AUD_ButterworthFactory.h
+++ b/intern/audaspace/FX/AUD_ButterworthFactory.h
@@ -32,12 +32,12 @@
#ifndef AUD_BUTTERWORTHFACTORY
#define AUD_BUTTERWORTHFACTORY
-#include "AUD_EffectFactory.h"
+#include "AUD_DynamicIIRFilterFactory.h"
/**
- * This factory creates a butterworth filter reader.
+ * This factory creates a butterworth lowpass filter reader.
*/
-class AUD_ButterworthFactory : public AUD_EffectFactory
+class AUD_ButterworthFactory : public AUD_DynamicIIRFilterFactory
{
private:
/**
@@ -55,9 +55,11 @@ public:
* \param factory The input factory.
* \param frequency The cutoff frequency.
*/
- AUD_ButterworthFactory(AUD_IFactory* factory, float frequency);
+ AUD_ButterworthFactory(AUD_Reference<AUD_IFactory> factory, float frequency);
- virtual AUD_IReader* createReader() const;
+ virtual void recalculateCoefficients(AUD_SampleRate rate,
+ std::vector<float>& b,
+ std::vector<float>& a);
};
#endif //AUD_BUTTERWORTHFACTORY
diff --git a/intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp b/intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp
index 2f9bb7762a0..e6c83322435 100644
--- a/intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp
+++ b/intern/audaspace/FX/AUD_CallbackIIRFilterReader.cpp
@@ -31,7 +31,7 @@
#include "AUD_CallbackIIRFilterReader.h"
-AUD_CallbackIIRFilterReader::AUD_CallbackIIRFilterReader(AUD_IReader* reader,
+AUD_CallbackIIRFilterReader::AUD_CallbackIIRFilterReader(AUD_Reference<AUD_IReader> reader,
int in, int out,
doFilterIIR doFilter,
endFilterIIR endFilter,
diff --git a/intern/audaspace/FX/AUD_CallbackIIRFilterReader.h b/intern/audaspace/FX/AUD_CallbackIIRFilterReader.h
index a969db7297e..6d53edeecc2 100644
--- a/intern/audaspace/FX/AUD_CallbackIIRFilterReader.h
+++ b/intern/audaspace/FX/AUD_CallbackIIRFilterReader.h
@@ -76,7 +76,7 @@ public:
* \param endFilter The finishing callback.
* \param data Data pointer for the callbacks.
*/
- AUD_CallbackIIRFilterReader(AUD_IReader* reader, int in, int out,
+ AUD_CallbackIIRFilterReader(AUD_Reference<AUD_IReader> reader, int in, int out,
doFilterIIR doFilter,
endFilterIIR endFilter = 0,
void* data = 0);
diff --git a/intern/audaspace/FX/AUD_DelayFactory.cpp b/intern/audaspace/FX/AUD_DelayFactory.cpp
index 1d2d99adc03..e452870281d 100644
--- a/intern/audaspace/FX/AUD_DelayFactory.cpp
+++ b/intern/audaspace/FX/AUD_DelayFactory.cpp
@@ -33,7 +33,7 @@
#include "AUD_DelayReader.h"
#include "AUD_Space.h"
-AUD_DelayFactory::AUD_DelayFactory(AUD_IFactory* factory, float delay) :
+AUD_DelayFactory::AUD_DelayFactory(AUD_Reference<AUD_IFactory> factory, float delay) :
AUD_EffectFactory(factory),
m_delay(delay)
{
@@ -44,7 +44,7 @@ float AUD_DelayFactory::getDelay() const
return m_delay;
}
-AUD_IReader* AUD_DelayFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_DelayFactory::createReader()
{
return new AUD_DelayReader(getReader(), m_delay);
}
diff --git a/intern/audaspace/FX/AUD_DelayFactory.h b/intern/audaspace/FX/AUD_DelayFactory.h
index 1e67cd68990..5ab7f850d2f 100644
--- a/intern/audaspace/FX/AUD_DelayFactory.h
+++ b/intern/audaspace/FX/AUD_DelayFactory.h
@@ -55,14 +55,14 @@ public:
* \param factory The input factory.
* \param delay The desired delay in seconds.
*/
- AUD_DelayFactory(AUD_IFactory* factory, float delay = 0);
+ AUD_DelayFactory(AUD_Reference<AUD_IFactory> factory, float delay = 0);
/**
* Returns the delay in seconds.
*/
float getDelay() const;
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_DELAYFACTORY
diff --git a/intern/audaspace/FX/AUD_DelayReader.cpp b/intern/audaspace/FX/AUD_DelayReader.cpp
index 374b876455d..7d58b3dae4f 100644
--- a/intern/audaspace/FX/AUD_DelayReader.cpp
+++ b/intern/audaspace/FX/AUD_DelayReader.cpp
@@ -33,11 +33,10 @@
#include <cstring>
-AUD_DelayReader::AUD_DelayReader(AUD_IReader* reader, float delay) :
+AUD_DelayReader::AUD_DelayReader(AUD_Reference<AUD_IReader> reader, float delay) :
AUD_EffectReader(reader),
m_delay(int(delay * reader->getSpecs().rate)),
- m_remdelay(int(delay * reader->getSpecs().rate)),
- m_empty(true)
+ m_remdelay(int(delay * reader->getSpecs().rate))
{
}
@@ -70,49 +69,30 @@ int AUD_DelayReader::getPosition() const
return m_reader->getPosition() + m_delay;
}
-void AUD_DelayReader::read(int & length, sample_t* & buffer)
+void AUD_DelayReader::read(int& length, bool& eos, sample_t* buffer)
{
if(m_remdelay > 0)
{
AUD_Specs specs = m_reader->getSpecs();
int samplesize = AUD_SAMPLE_SIZE(specs);
- if(m_buffer.getSize() < length * samplesize)
- {
- m_buffer.resize(length * samplesize);
- m_empty = false;
- }
-
- buffer = m_buffer.getBuffer();
-
if(length > m_remdelay)
{
- if(!m_empty)
- memset(buffer, 0, m_remdelay * samplesize);
+ memset(buffer, 0, m_remdelay * samplesize);
int len = length - m_remdelay;
- sample_t* buf;
- m_reader->read(len, buf);
-
- memcpy(buffer + m_remdelay * specs.channels,
- buf, len * samplesize);
+ m_reader->read(len, eos, buffer + m_remdelay * specs.channels);
- if(len < length-m_remdelay)
- length = m_remdelay + len;
+ length = m_remdelay + len;
m_remdelay = 0;
- m_empty = false;
}
else
{
- if(!m_empty)
- {
- memset(buffer, 0, length * samplesize);
- m_empty = true;
- }
+ memset(buffer, 0, length * samplesize);
m_remdelay -= length;
}
}
else
- m_reader->read(length, buffer);
+ m_reader->read(length, eos, buffer);
}
diff --git a/intern/audaspace/FX/AUD_DelayReader.h b/intern/audaspace/FX/AUD_DelayReader.h
index 5f0af660bdf..128e589eede 100644
--- a/intern/audaspace/FX/AUD_DelayReader.h
+++ b/intern/audaspace/FX/AUD_DelayReader.h
@@ -36,17 +36,12 @@
#include "AUD_Buffer.h"
/**
- * This class reads another reader and changes it's delay.
+ * This class reads another reader and delays it.
*/
class AUD_DelayReader : public AUD_EffectReader
{
private:
/**
- * The playback buffer.
- */
- AUD_Buffer m_buffer;
-
- /**
* The delay level.
*/
const int m_delay;
@@ -56,11 +51,6 @@ private:
*/
int m_remdelay;
- /**
- * Whether the buffer is currently filled with zeros.
- */
- bool m_empty;
-
// hide copy constructor and operator=
AUD_DelayReader(const AUD_DelayReader&);
AUD_DelayReader& operator=(const AUD_DelayReader&);
@@ -71,12 +61,12 @@ public:
* \param reader The reader to read from.
* \param delay The delay in seconds.
*/
- AUD_DelayReader(AUD_IReader* reader, float delay);
+ AUD_DelayReader(AUD_Reference<AUD_IReader> reader, float delay);
virtual void seek(int position);
virtual int getLength() const;
virtual int getPosition() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_DELAYREADER
diff --git a/intern/audaspace/FX/AUD_DoubleFactory.cpp b/intern/audaspace/FX/AUD_DoubleFactory.cpp
index 7a40f1f8c96..e1e6ba50435 100644
--- a/intern/audaspace/FX/AUD_DoubleFactory.cpp
+++ b/intern/audaspace/FX/AUD_DoubleFactory.cpp
@@ -32,25 +32,15 @@
#include "AUD_DoubleFactory.h"
#include "AUD_DoubleReader.h"
-AUD_DoubleFactory::AUD_DoubleFactory(AUD_IFactory* factory1, AUD_IFactory* factory2) :
+AUD_DoubleFactory::AUD_DoubleFactory(AUD_Reference<AUD_IFactory> factory1, AUD_Reference<AUD_IFactory> factory2) :
m_factory1(factory1), m_factory2(factory2)
{
}
-AUD_IReader* AUD_DoubleFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_DoubleFactory::createReader()
{
- AUD_IReader* reader1 = m_factory1->createReader();
- AUD_IReader* reader2;
-
- try
- {
- reader2 = m_factory2->createReader();
- }
- catch(AUD_Exception&)
- {
- delete reader1;
- throw;
- }
+ AUD_Reference<AUD_IReader> reader1 = m_factory1->createReader();
+ AUD_Reference<AUD_IReader> reader2 = m_factory2->createReader();
return new AUD_DoubleReader(reader1, reader2);
}
diff --git a/intern/audaspace/FX/AUD_DoubleFactory.h b/intern/audaspace/FX/AUD_DoubleFactory.h
index 52a299c7157..2db2257244c 100644
--- a/intern/audaspace/FX/AUD_DoubleFactory.h
+++ b/intern/audaspace/FX/AUD_DoubleFactory.h
@@ -36,7 +36,6 @@
/**
* This factory plays two other factories behind each other.
- * \note Readers from the underlying factories must have the same sample rate and channel count.
*/
class AUD_DoubleFactory : public AUD_IFactory
{
@@ -44,12 +43,12 @@ private:
/**
* First played factory.
*/
- AUD_IFactory* m_factory1;
+ AUD_Reference<AUD_IFactory> m_factory1;
/**
* Second played factory.
*/
- AUD_IFactory* m_factory2;
+ AUD_Reference<AUD_IFactory> m_factory2;
// hide copy constructor and operator=
AUD_DoubleFactory(const AUD_DoubleFactory&);
@@ -61,9 +60,9 @@ public:
* \param factory1 The first input factory.
* \param factory2 The second input factory.
*/
- AUD_DoubleFactory(AUD_IFactory* factory1, AUD_IFactory* factory2);
+ AUD_DoubleFactory(AUD_Reference<AUD_IFactory> factory1, AUD_Reference<AUD_IFactory> factory2);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_DOUBLEFACTORY
diff --git a/intern/audaspace/FX/AUD_DoubleReader.cpp b/intern/audaspace/FX/AUD_DoubleReader.cpp
index 113bed14ce3..3b1d105954c 100644
--- a/intern/audaspace/FX/AUD_DoubleReader.cpp
+++ b/intern/audaspace/FX/AUD_DoubleReader.cpp
@@ -33,28 +33,17 @@
#include <cstring>
-static const char* specs_error = "AUD_DoubleReader: Both readers have to have "
- "the same specs.";
-
-AUD_DoubleReader::AUD_DoubleReader(AUD_IReader* reader1,
- AUD_IReader* reader2) :
+AUD_DoubleReader::AUD_DoubleReader(AUD_Reference<AUD_IReader> reader1,
+ AUD_Reference<AUD_IReader> reader2) :
m_reader1(reader1), m_reader2(reader2), m_finished1(false)
{
AUD_Specs s1, s2;
s1 = reader1->getSpecs();
s2 = reader2->getSpecs();
- if(memcmp(&s1, &s2, sizeof(AUD_Specs)) != 0)
- {
- delete reader1;
- delete reader2;
- AUD_THROW(AUD_ERROR_SPECS, specs_error);
- }
}
AUD_DoubleReader::~AUD_DoubleReader()
{
- delete m_reader1;
- delete m_reader2;
}
bool AUD_DoubleReader::isSeekable() const
@@ -90,43 +79,36 @@ int AUD_DoubleReader::getPosition() const
AUD_Specs AUD_DoubleReader::getSpecs() const
{
- return m_reader1->getSpecs();
+ return m_finished1 ? m_reader1->getSpecs() : m_reader2->getSpecs();
}
-void AUD_DoubleReader::read(int & length, sample_t* & buffer)
+void AUD_DoubleReader::read(int& length, bool& eos, sample_t* buffer)
{
+ eos = false;
+
if(!m_finished1)
{
int len = length;
- m_reader1->read(len, buffer);
+
+ m_reader1->read(len, m_finished1, buffer);
if(len < length)
{
- AUD_Specs specs = m_reader1->getSpecs();
- int samplesize = AUD_SAMPLE_SIZE(specs);
-
- if(m_buffer.getSize() < length * samplesize)
- m_buffer.resize(length * samplesize);
-
- sample_t* buf = buffer;
- buffer = m_buffer.getBuffer();
-
- memcpy(buffer, buf, len * samplesize);
-
- len = length - len;
- length -= len;
- m_reader2->read(len, buf);
-
- memcpy(buffer + length * specs.channels, buf,
- len * samplesize);
-
- length += len;
-
- m_finished1 = true;
+ AUD_Specs specs1, specs2;
+ specs1 = m_reader1->getSpecs();
+ specs2 = m_reader2->getSpecs();
+ if(AUD_COMPARE_SPECS(specs1, specs2))
+ {
+ int len2 = length - len;
+ m_reader2->read(len2, eos, buffer + specs1.channels * len);
+ length = len + len2;
+ }
+ else
+ length = len;
}
}
else
{
- m_reader2->read(length, buffer);
+ m_reader2->read(length, eos, buffer);
}
}
diff --git a/intern/audaspace/FX/AUD_DoubleReader.h b/intern/audaspace/FX/AUD_DoubleReader.h
index 7b3b812ef80..750868a9400 100644
--- a/intern/audaspace/FX/AUD_DoubleReader.h
+++ b/intern/audaspace/FX/AUD_DoubleReader.h
@@ -34,9 +34,10 @@
#include "AUD_IReader.h"
#include "AUD_Buffer.h"
+#include "AUD_Reference.h"
/**
- * This reader plays two readers with the same specs sequently.
+ * This reader plays two readers sequently.
*/
class AUD_DoubleReader : public AUD_IReader
{
@@ -44,35 +45,29 @@ private:
/**
* The first reader.
*/
- AUD_IReader* m_reader1;
+ AUD_Reference<AUD_IReader> m_reader1;
/**
* The second reader.
*/
- AUD_IReader* m_reader2;
+ AUD_Reference<AUD_IReader> m_reader2;
/**
* Whether we've reached the end of the first reader.
*/
bool m_finished1;
- /**
- * The playback buffer for the intersecting part.
- */
- AUD_Buffer m_buffer;
-
// hide copy constructor and operator=
AUD_DoubleReader(const AUD_DoubleReader&);
AUD_DoubleReader& operator=(const AUD_DoubleReader&);
public:
/**
- * Creates a new ping pong reader.
+ * Creates a new double reader.
* \param reader1 The first reader to read from.
* \param reader2 The second reader to read from.
- * \exception AUD_Exception Thrown if the specs from the readers differ.
*/
- AUD_DoubleReader(AUD_IReader* reader1, AUD_IReader* reader2);
+ AUD_DoubleReader(AUD_Reference<AUD_IReader> reader1, AUD_Reference<AUD_IReader> reader2);
/**
* Destroys the reader.
@@ -84,7 +79,7 @@ public:
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_DOUBLEREADER
diff --git a/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.cpp b/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.cpp
new file mode 100644
index 00000000000..3018a2df571
--- /dev/null
+++ b/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.cpp
@@ -0,0 +1,42 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/FX/AUD_DynamicIIRFilterFactory.cpp
+ * \ingroup audfx
+ */
+
+#include "AUD_DynamicIIRFilterFactory.h"
+#include "AUD_DynamicIIRFilterReader.h"
+
+AUD_DynamicIIRFilterFactory::AUD_DynamicIIRFilterFactory(AUD_Reference<AUD_IFactory> factory) :
+ AUD_EffectFactory(factory)
+{
+}
+
+AUD_Reference<AUD_IReader> AUD_DynamicIIRFilterFactory::createReader()
+{
+ return new AUD_DynamicIIRFilterReader(getReader(), this);
+}
diff --git a/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.h b/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.h
new file mode 100644
index 00000000000..56d56a977d4
--- /dev/null
+++ b/intern/audaspace/FX/AUD_DynamicIIRFilterFactory.h
@@ -0,0 +1,65 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/FX/AUD_DynamicIIRFilterFactory.h
+ * \ingroup audfx
+ */
+
+#ifndef AUD_DYNAMICIIRFILTERFACTORY
+#define AUD_DYNAMICIIRFILTERFACTORY
+
+#include "AUD_EffectFactory.h"
+#include <vector>
+
+/**
+ * This factory creates a IIR filter reader.
+ *
+ * This means that on sample rate change the filter recalculates its
+ * coefficients.
+ */
+class AUD_DynamicIIRFilterFactory : public AUD_EffectFactory
+{
+public:
+ /**
+ * Creates a new Dynmic IIR filter factory.
+ * \param factory The input factory.
+ */
+ AUD_DynamicIIRFilterFactory(AUD_Reference<AUD_IFactory> factory);
+
+ virtual AUD_Reference<AUD_IReader> createReader();
+
+ /**
+ * Recalculates the filter coefficients.
+ * \param rate The sample rate of the audio data.
+ * \param[out] b The input filter coefficients.
+ * \param[out] a The output filter coefficients.
+ */
+ virtual void recalculateCoefficients(AUD_SampleRate rate,
+ std::vector<float>& b,
+ std::vector<float>& a)=0;
+};
+
+#endif // AUD_DYNAMICIIRFILTERFACTORY
diff --git a/intern/audaspace/FX/AUD_DynamicIIRFilterReader.cpp b/intern/audaspace/FX/AUD_DynamicIIRFilterReader.cpp
new file mode 100644
index 00000000000..ed9b2d3871d
--- /dev/null
+++ b/intern/audaspace/FX/AUD_DynamicIIRFilterReader.cpp
@@ -0,0 +1,45 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/FX/AUD_DynamicIIRFilterReader.cpp
+ * \ingroup audfx
+ */
+
+#include "AUD_DynamicIIRFilterReader.h"
+
+AUD_DynamicIIRFilterReader::AUD_DynamicIIRFilterReader(AUD_Reference<AUD_IReader> reader,
+ AUD_Reference<AUD_DynamicIIRFilterFactory> factory) :
+ AUD_IIRFilterReader(reader, std::vector<float>(), std::vector<float>())
+{
+ sampleRateChanged(reader->getSpecs().rate);
+}
+
+void AUD_DynamicIIRFilterReader::sampleRateChanged(AUD_SampleRate rate)
+{
+ std::vector<float> a, b;
+ m_factory->recalculateCoefficients(rate, b, a);
+ setCoefficients(b, a);
+}
diff --git a/intern/audaspace/FX/AUD_DynamicIIRFilterReader.h b/intern/audaspace/FX/AUD_DynamicIIRFilterReader.h
new file mode 100644
index 00000000000..42789726728
--- /dev/null
+++ b/intern/audaspace/FX/AUD_DynamicIIRFilterReader.h
@@ -0,0 +1,56 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/FX/AUD_DynamicIIRFilterReader.h
+ * \ingroup audfx
+ */
+
+#ifndef AUD_DYNAMICIIRFILTERREADER
+#define AUD_DYNAMICIIRFILTERREADER
+
+#include "AUD_IIRFilterReader.h"
+#include "AUD_DynamicIIRFilterFactory.h"
+
+/**
+ * This class is for dynamic infinite impulse response filters with simple
+ * coefficients that change depending on the sample rate.
+ */
+class AUD_DynamicIIRFilterReader : public AUD_IIRFilterReader
+{
+private:
+ /**
+ * The factory for dynamically recalculating filter coefficients.
+ */
+ AUD_Reference<AUD_DynamicIIRFilterFactory> m_factory;
+
+public:
+ AUD_DynamicIIRFilterReader(AUD_Reference<AUD_IReader> reader,
+ AUD_Reference<AUD_DynamicIIRFilterFactory> factory);
+
+ virtual void sampleRateChanged(AUD_SampleRate rate);
+};
+
+#endif // AUD_DYNAMICIIRFILTERREADER
diff --git a/intern/audaspace/FX/AUD_EffectFactory.cpp b/intern/audaspace/FX/AUD_EffectFactory.cpp
index a0d9256e691..6173ffb5a97 100644
--- a/intern/audaspace/FX/AUD_EffectFactory.cpp
+++ b/intern/audaspace/FX/AUD_EffectFactory.cpp
@@ -32,7 +32,7 @@
#include "AUD_EffectFactory.h"
#include "AUD_IReader.h"
-AUD_EffectFactory::AUD_EffectFactory(AUD_IFactory* factory)
+AUD_EffectFactory::AUD_EffectFactory(AUD_Reference<AUD_IFactory> factory)
{
m_factory = factory;
}
@@ -41,7 +41,7 @@ AUD_EffectFactory::~AUD_EffectFactory()
{
}
-AUD_IFactory* AUD_EffectFactory::getFactory() const
+AUD_Reference<AUD_IFactory> AUD_EffectFactory::getFactory() const
{
return m_factory;
}
diff --git a/intern/audaspace/FX/AUD_EffectFactory.h b/intern/audaspace/FX/AUD_EffectFactory.h
index a6a28eea577..72fdb3f0833 100644
--- a/intern/audaspace/FX/AUD_EffectFactory.h
+++ b/intern/audaspace/FX/AUD_EffectFactory.h
@@ -49,7 +49,7 @@ protected:
/**
* If there is no reader it is created out of this factory.
*/
- AUD_IFactory* m_factory;
+ AUD_Reference<AUD_IFactory> m_factory;
/**
* Returns the reader created out of the factory.
@@ -57,7 +57,7 @@ protected:
* classes.
* \return The reader created out of the factory.
*/
- inline AUD_IReader* getReader() const
+ inline AUD_Reference<AUD_IReader> getReader() const
{
return m_factory->createReader();
}
@@ -67,7 +67,7 @@ public:
* Creates a new factory.
* \param factory The input factory.
*/
- AUD_EffectFactory(AUD_IFactory* factory);
+ AUD_EffectFactory(AUD_Reference<AUD_IFactory> factory);
/**
* Destroys the factory.
@@ -78,7 +78,7 @@ public:
* Returns the saved factory.
* \return The factory or NULL if there has no factory been saved.
*/
- AUD_IFactory* getFactory() const;
+ AUD_Reference<AUD_IFactory> getFactory() const;
};
#endif //AUD_EFFECTFACTORY
diff --git a/intern/audaspace/FX/AUD_EffectReader.cpp b/intern/audaspace/FX/AUD_EffectReader.cpp
index 3ad9f67bfd6..4d14af76438 100644
--- a/intern/audaspace/FX/AUD_EffectReader.cpp
+++ b/intern/audaspace/FX/AUD_EffectReader.cpp
@@ -31,14 +31,13 @@
#include "AUD_EffectReader.h"
-AUD_EffectReader::AUD_EffectReader(AUD_IReader* reader)
+AUD_EffectReader::AUD_EffectReader(AUD_Reference<AUD_IReader> reader)
{
m_reader = reader;
}
AUD_EffectReader::~AUD_EffectReader()
{
- delete m_reader;
}
bool AUD_EffectReader::isSeekable() const
@@ -66,7 +65,7 @@ AUD_Specs AUD_EffectReader::getSpecs() const
return m_reader->getSpecs();
}
-void AUD_EffectReader::read(int & length, sample_t* & buffer)
+void AUD_EffectReader::read(int& length, bool& eos, sample_t* buffer)
{
- m_reader->read(length, buffer);
+ m_reader->read(length, eos, buffer);
}
diff --git a/intern/audaspace/FX/AUD_EffectReader.h b/intern/audaspace/FX/AUD_EffectReader.h
index fb8066f36d8..c03abd11828 100644
--- a/intern/audaspace/FX/AUD_EffectReader.h
+++ b/intern/audaspace/FX/AUD_EffectReader.h
@@ -33,6 +33,7 @@
#define AUD_EFFECTREADER
#include "AUD_IReader.h"
+#include "AUD_Reference.h"
/**
* This reader is a base class for all effect readers that take one other reader
@@ -49,14 +50,14 @@ protected:
/**
* The reader to read from.
*/
- AUD_IReader* m_reader;
+ AUD_Reference<AUD_IReader> m_reader;
public:
/**
* Creates a new effect reader.
* \param reader The reader to read from.
*/
- AUD_EffectReader(AUD_IReader* reader);
+ AUD_EffectReader(AUD_Reference<AUD_IReader> reader);
/**
* Destroys the reader.
@@ -68,7 +69,7 @@ public:
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_EFFECTREADER
diff --git a/intern/audaspace/FX/AUD_EnvelopeFactory.cpp b/intern/audaspace/FX/AUD_EnvelopeFactory.cpp
index 069317d1c8b..80df7e9f874 100644
--- a/intern/audaspace/FX/AUD_EnvelopeFactory.cpp
+++ b/intern/audaspace/FX/AUD_EnvelopeFactory.cpp
@@ -42,7 +42,7 @@ struct EnvelopeParameters
float arthreshold;
};
-sample_t envelopeFilter(AUD_CallbackIIRFilterReader* reader, EnvelopeParameters* param)
+sample_t AUD_EnvelopeFactory::envelopeFilter(AUD_CallbackIIRFilterReader* reader, EnvelopeParameters* param)
{
float in = fabs(reader->x(0));
float out = reader->y(-1);
@@ -51,12 +51,12 @@ sample_t envelopeFilter(AUD_CallbackIIRFilterReader* reader, EnvelopeParameters*
return (in > out ? param->attack : param->release) * (out - in) + in;
}
-void endEnvelopeFilter(EnvelopeParameters* param)
+void AUD_EnvelopeFactory::endEnvelopeFilter(EnvelopeParameters* param)
{
delete param;
}
-AUD_EnvelopeFactory::AUD_EnvelopeFactory(AUD_IFactory* factory, float attack,
+AUD_EnvelopeFactory::AUD_EnvelopeFactory(AUD_Reference<AUD_IFactory> factory, float attack,
float release, float threshold,
float arthreshold) :
AUD_EffectFactory(factory),
@@ -67,14 +67,14 @@ AUD_EnvelopeFactory::AUD_EnvelopeFactory(AUD_IFactory* factory, float attack,
{
}
-AUD_IReader* AUD_EnvelopeFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_EnvelopeFactory::createReader()
{
- AUD_IReader* reader = getReader();
+ AUD_Reference<AUD_IReader> reader = getReader();
EnvelopeParameters* param = new EnvelopeParameters();
param->arthreshold = m_arthreshold;
- param->attack = pow(m_arthreshold, 1.0f/(reader->getSpecs().rate * m_attack));
- param->release = pow(m_arthreshold, 1.0f/(reader->getSpecs().rate * m_release));
+ param->attack = pow(m_arthreshold, 1.0f/(static_cast<float>(reader->getSpecs().rate) * m_attack));
+ param->release = pow(m_arthreshold, 1.0f/(static_cast<float>(reader->getSpecs().rate) * m_release));
param->threshold = m_threshold;
return new AUD_CallbackIIRFilterReader(reader, 1, 2,
diff --git a/intern/audaspace/FX/AUD_EnvelopeFactory.h b/intern/audaspace/FX/AUD_EnvelopeFactory.h
index 45ee811b6e0..a480a05d478 100644
--- a/intern/audaspace/FX/AUD_EnvelopeFactory.h
+++ b/intern/audaspace/FX/AUD_EnvelopeFactory.h
@@ -33,6 +33,8 @@
#define AUD_ENVELOPEFACTORY
#include "AUD_EffectFactory.h"
+class AUD_CallbackIIRFilterReader;
+struct EnvelopeParameters;
/**
* This factory creates an envelope follower reader.
@@ -73,10 +75,13 @@ public:
* \param threshold The threshold value.
* \param arthreshold The attack/release threshold value.
*/
- AUD_EnvelopeFactory(AUD_IFactory* factory, float attack, float release,
+ AUD_EnvelopeFactory(AUD_Reference<AUD_IFactory> factory, float attack, float release,
float threshold, float arthreshold);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
+
+ static sample_t envelopeFilter(AUD_CallbackIIRFilterReader* reader, EnvelopeParameters* param);
+ static void endEnvelopeFilter(EnvelopeParameters* param);
};
#endif //AUD_ENVELOPEFACTORY
diff --git a/intern/audaspace/FX/AUD_FaderFactory.cpp b/intern/audaspace/FX/AUD_FaderFactory.cpp
index d887e9e68d9..635873e0ee5 100644
--- a/intern/audaspace/FX/AUD_FaderFactory.cpp
+++ b/intern/audaspace/FX/AUD_FaderFactory.cpp
@@ -32,7 +32,7 @@
#include "AUD_FaderFactory.h"
#include "AUD_FaderReader.h"
-AUD_FaderFactory::AUD_FaderFactory(AUD_IFactory* factory, AUD_FadeType type,
+AUD_FaderFactory::AUD_FaderFactory(AUD_Reference<AUD_IFactory> factory, AUD_FadeType type,
float start, float length) :
AUD_EffectFactory(factory),
m_type(type),
@@ -56,7 +56,7 @@ float AUD_FaderFactory::getLength() const
return m_length;
}
-AUD_IReader* AUD_FaderFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_FaderFactory::createReader()
{
return new AUD_FaderReader(getReader(), m_type, m_start, m_length);
}
diff --git a/intern/audaspace/FX/AUD_FaderFactory.h b/intern/audaspace/FX/AUD_FaderFactory.h
index b85475bc534..d8314c77ed4 100644
--- a/intern/audaspace/FX/AUD_FaderFactory.h
+++ b/intern/audaspace/FX/AUD_FaderFactory.h
@@ -69,7 +69,7 @@ public:
* \param start The time where fading should start in seconds.
* \param length How long fading should last in seconds.
*/
- AUD_FaderFactory(AUD_IFactory* factory,
+ AUD_FaderFactory(AUD_Reference<AUD_IFactory> factory,
AUD_FadeType type = AUD_FADE_IN,
float start = 0.0f, float length = 1.0f);
@@ -88,7 +88,7 @@ public:
*/
float getLength() const;
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_FADERFACTORY
diff --git a/intern/audaspace/FX/AUD_FaderReader.cpp b/intern/audaspace/FX/AUD_FaderReader.cpp
index 6114bb486fc..4a6050cf0f3 100644
--- a/intern/audaspace/FX/AUD_FaderReader.cpp
+++ b/intern/audaspace/FX/AUD_FaderReader.cpp
@@ -33,68 +33,39 @@
#include <cstring>
-AUD_FaderReader::AUD_FaderReader(AUD_IReader* reader, AUD_FadeType type,
+AUD_FaderReader::AUD_FaderReader(AUD_Reference<AUD_IReader> reader, AUD_FadeType type,
float start,float length) :
AUD_EffectReader(reader),
m_type(type),
m_start(start),
- m_length(length),
- m_empty(true)
+ m_length(length)
{
}
-void AUD_FaderReader::read(int & length, sample_t* & buffer)
+void AUD_FaderReader::read(int& length, bool& eos, sample_t* buffer)
{
int position = m_reader->getPosition();
AUD_Specs specs = m_reader->getSpecs();
int samplesize = AUD_SAMPLE_SIZE(specs);
- m_reader->read(length, buffer);
+ m_reader->read(length, eos, buffer);
if((position + length) / (float)specs.rate <= m_start)
{
if(m_type != AUD_FADE_OUT)
{
- if(m_buffer.getSize() < length * samplesize)
- {
- m_buffer.resize(length * samplesize);
- m_empty = false;
- }
-
- buffer = m_buffer.getBuffer();
-
- if(!m_empty)
- {
- memset(buffer, 0, length * samplesize);
- m_empty = true;
- }
+ memset(buffer, 0, length * samplesize);
}
}
else if(position / (float)specs.rate >= m_start+m_length)
{
if(m_type == AUD_FADE_OUT)
{
- if(m_buffer.getSize() < length * samplesize)
- {
- m_buffer.resize(length * samplesize);
- m_empty = false;
- }
-
- buffer = m_buffer.getBuffer();
-
- if(!m_empty)
- {
- memset(buffer, 0, length * samplesize);
- m_empty = true;
- }
+ memset(buffer, 0, length * samplesize);
}
}
else
{
- if(m_buffer.getSize() < length * samplesize)
- m_buffer.resize(length * samplesize);
-
- sample_t* buf = m_buffer.getBuffer();
float volume = 1.0f;
for(int i = 0; i < length * specs.channels; i++)
@@ -111,10 +82,7 @@ void AUD_FaderReader::read(int & length, sample_t* & buffer)
volume = 1.0f - volume;
}
- buf[i] = buffer[i] * volume;
+ buffer[i] = buffer[i] * volume;
}
-
- buffer = buf;
- m_empty = false;
}
}
diff --git a/intern/audaspace/FX/AUD_FaderReader.h b/intern/audaspace/FX/AUD_FaderReader.h
index fb927192b45..e702ac0ec19 100644
--- a/intern/audaspace/FX/AUD_FaderReader.h
+++ b/intern/audaspace/FX/AUD_FaderReader.h
@@ -58,16 +58,6 @@ private:
*/
const float m_length;
- /**
- * The playback buffer.
- */
- AUD_Buffer m_buffer;
-
- /**
- * Whether the buffer is empty.
- */
- bool m_empty;
-
// hide copy constructor and operator=
AUD_FaderReader(const AUD_FaderReader&);
AUD_FaderReader& operator=(const AUD_FaderReader&);
@@ -79,10 +69,10 @@ public:
* \param start The time where fading should start in seconds.
* \param length How long fading should last in seconds.
*/
- AUD_FaderReader(AUD_IReader* reader, AUD_FadeType type,
+ AUD_FaderReader(AUD_Reference<AUD_IReader> reader, AUD_FadeType type,
float start,float length);
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_FADERREADER
diff --git a/intern/audaspace/FX/AUD_HighpassFactory.cpp b/intern/audaspace/FX/AUD_HighpassFactory.cpp
index 61008eea44e..399ec5ca406 100644
--- a/intern/audaspace/FX/AUD_HighpassFactory.cpp
+++ b/intern/audaspace/FX/AUD_HighpassFactory.cpp
@@ -38,30 +38,26 @@
#define M_PI 3.14159265358979323846
#endif
-AUD_HighpassFactory::AUD_HighpassFactory(AUD_IFactory* factory, float frequency,
+AUD_HighpassFactory::AUD_HighpassFactory(AUD_Reference<AUD_IFactory> factory, float frequency,
float Q) :
- AUD_EffectFactory(factory),
+ AUD_DynamicIIRFilterFactory(factory),
m_frequency(frequency),
m_Q(Q)
{
}
-AUD_IReader* AUD_HighpassFactory::createReader() const
+void AUD_HighpassFactory::recalculateCoefficients(AUD_SampleRate rate,
+ std::vector<float> &b,
+ std::vector<float> &a)
{
- AUD_IReader* reader = getReader();
-
- // calculate coefficients
- float w0 = 2 * M_PI * m_frequency / reader->getSpecs().rate;
+ float w0 = 2 * M_PI * m_frequency / rate;
float alpha = sin(w0) / (2 * m_Q);
float norm = 1 + alpha;
float c = cos(w0);
- std::vector<float> a, b;
a.push_back(1);
a.push_back(-2 * c / norm);
a.push_back((1 - alpha) / norm);
b.push_back((1 + c) / (2 * norm));
b.push_back((-1 - c) / norm);
b.push_back(b[0]);
-
- return new AUD_IIRFilterReader(reader, b, a);
}
diff --git a/intern/audaspace/FX/AUD_HighpassFactory.h b/intern/audaspace/FX/AUD_HighpassFactory.h
index 48f4c1baefc..c135be27d77 100644
--- a/intern/audaspace/FX/AUD_HighpassFactory.h
+++ b/intern/audaspace/FX/AUD_HighpassFactory.h
@@ -32,16 +32,16 @@
#ifndef AUD_HIGHPASSFACTORY
#define AUD_HIGHPASSFACTORY
-#include "AUD_EffectFactory.h"
+#include "AUD_DynamicIIRFilterFactory.h"
/**
* This factory creates a highpass filter reader.
*/
-class AUD_HighpassFactory : public AUD_EffectFactory
+class AUD_HighpassFactory : public AUD_DynamicIIRFilterFactory
{
private:
/**
- * The attack value in seconds.
+ * The cutoff frequency.
*/
const float m_frequency;
@@ -61,9 +61,9 @@ public:
* \param frequency The cutoff frequency.
* \param Q The Q factor.
*/
- AUD_HighpassFactory(AUD_IFactory* factory, float frequency, float Q = 1.0f);
+ AUD_HighpassFactory(AUD_Reference<AUD_IFactory> factory, float frequency, float Q = 1.0f);
- virtual AUD_IReader* createReader() const;
+ virtual void recalculateCoefficients(AUD_SampleRate rate, std::vector<float> &b, std::vector<float> &a);
};
#endif //AUD_HIGHPASSFACTORY
diff --git a/intern/audaspace/FX/AUD_IIRFilterFactory.cpp b/intern/audaspace/FX/AUD_IIRFilterFactory.cpp
index ff90ce62739..f6ccda6f67e 100644
--- a/intern/audaspace/FX/AUD_IIRFilterFactory.cpp
+++ b/intern/audaspace/FX/AUD_IIRFilterFactory.cpp
@@ -32,14 +32,14 @@
#include "AUD_IIRFilterFactory.h"
#include "AUD_IIRFilterReader.h"
-AUD_IIRFilterFactory::AUD_IIRFilterFactory(AUD_IFactory* factory,
+AUD_IIRFilterFactory::AUD_IIRFilterFactory(AUD_Reference<AUD_IFactory> factory,
std::vector<float> b,
std::vector<float> a) :
AUD_EffectFactory(factory), m_a(a), m_b(b)
{
}
-AUD_IReader* AUD_IIRFilterFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_IIRFilterFactory::createReader()
{
return new AUD_IIRFilterReader(getReader(), m_b, m_a);
}
diff --git a/intern/audaspace/FX/AUD_IIRFilterFactory.h b/intern/audaspace/FX/AUD_IIRFilterFactory.h
index d48ad453ee4..0e92ab1a568 100644
--- a/intern/audaspace/FX/AUD_IIRFilterFactory.h
+++ b/intern/audaspace/FX/AUD_IIRFilterFactory.h
@@ -63,10 +63,10 @@ public:
* \param b The input filter coefficients.
* \param a The output filter coefficients.
*/
- AUD_IIRFilterFactory(AUD_IFactory* factory, std::vector<float> b,
+ AUD_IIRFilterFactory(AUD_Reference<AUD_IFactory> factory, std::vector<float> b,
std::vector<float> a);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_IIRFILTERFACTORY
diff --git a/intern/audaspace/FX/AUD_IIRFilterReader.cpp b/intern/audaspace/FX/AUD_IIRFilterReader.cpp
index 0d55421d2b4..1bfb9b97b62 100644
--- a/intern/audaspace/FX/AUD_IIRFilterReader.cpp
+++ b/intern/audaspace/FX/AUD_IIRFilterReader.cpp
@@ -31,9 +31,9 @@
#include "AUD_IIRFilterReader.h"
-AUD_IIRFilterReader::AUD_IIRFilterReader(AUD_IReader* reader,
- std::vector<float> b,
- std::vector<float> a) :
+AUD_IIRFilterReader::AUD_IIRFilterReader(AUD_Reference<AUD_IReader> reader,
+ const std::vector<float>& b,
+ const std::vector<float>& a) :
AUD_BaseIIRFilterReader(reader, b.size(), a.size()), m_a(a), m_b(b)
{
for(int i = 1; i < m_a.size(); i++)
@@ -54,3 +54,11 @@ sample_t AUD_IIRFilterReader::filter()
return out;
}
+
+void AUD_IIRFilterReader::setCoefficients(const std::vector<float>& b,
+ const std::vector<float>& a)
+{
+ setLengths(m_b.size(), m_a.size());
+ m_a = a;
+ m_b = b;
+}
diff --git a/intern/audaspace/FX/AUD_IIRFilterReader.h b/intern/audaspace/FX/AUD_IIRFilterReader.h
index af50b6f1cdc..41de67d4d27 100644
--- a/intern/audaspace/FX/AUD_IIRFilterReader.h
+++ b/intern/audaspace/FX/AUD_IIRFilterReader.h
@@ -63,10 +63,13 @@ public:
* \param b The input filter coefficients.
* \param a The output filter coefficients.
*/
- AUD_IIRFilterReader(AUD_IReader* reader, std::vector<float> b,
- std::vector<float> a);
+ AUD_IIRFilterReader(AUD_Reference<AUD_IReader> reader, const std::vector<float>& b,
+ const std::vector<float>& a);
virtual sample_t filter();
+
+ void setCoefficients(const std::vector<float>& b,
+ const std::vector<float>& a);
};
#endif //AUD_IIRFILTERREADER
diff --git a/intern/audaspace/FX/AUD_LimiterFactory.cpp b/intern/audaspace/FX/AUD_LimiterFactory.cpp
index 62ea01bb761..8d1dd14f3ae 100644
--- a/intern/audaspace/FX/AUD_LimiterFactory.cpp
+++ b/intern/audaspace/FX/AUD_LimiterFactory.cpp
@@ -33,7 +33,7 @@
#include "AUD_LimiterReader.h"
#include "AUD_Space.h"
-AUD_LimiterFactory::AUD_LimiterFactory(AUD_IFactory* factory,
+AUD_LimiterFactory::AUD_LimiterFactory(AUD_Reference<AUD_IFactory> factory,
float start, float end) :
AUD_EffectFactory(factory),
m_start(start),
@@ -51,7 +51,7 @@ float AUD_LimiterFactory::getEnd() const
return m_end;
}
-AUD_IReader* AUD_LimiterFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_LimiterFactory::createReader()
{
return new AUD_LimiterReader(getReader(), m_start, m_end);
}
diff --git a/intern/audaspace/FX/AUD_LimiterFactory.h b/intern/audaspace/FX/AUD_LimiterFactory.h
index f93f4b3276c..c04bfe861b2 100644
--- a/intern/audaspace/FX/AUD_LimiterFactory.h
+++ b/intern/audaspace/FX/AUD_LimiterFactory.h
@@ -62,7 +62,7 @@ public:
* \param end The desired end time, a negative value signals that it should
* play to the end.
*/
- AUD_LimiterFactory(AUD_IFactory* factory,
+ AUD_LimiterFactory(AUD_Reference<AUD_IFactory> factory,
float start = 0, float end = -1);
/**
@@ -75,7 +75,7 @@ public:
*/
float getEnd() const;
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_LIMITERFACTORY
diff --git a/intern/audaspace/FX/AUD_LimiterReader.cpp b/intern/audaspace/FX/AUD_LimiterReader.cpp
index d67fbb4d0e5..dc31477d2eb 100644
--- a/intern/audaspace/FX/AUD_LimiterReader.cpp
+++ b/intern/audaspace/FX/AUD_LimiterReader.cpp
@@ -32,30 +32,46 @@
#include "AUD_LimiterReader.h"
#include "AUD_Buffer.h"
-#include <iostream>
-
-AUD_LimiterReader::AUD_LimiterReader(AUD_IReader* reader,
+AUD_LimiterReader::AUD_LimiterReader(AUD_Reference<AUD_IReader> reader,
float start, float end) :
AUD_EffectReader(reader),
- m_start(int(start * reader->getSpecs().rate)),
- m_end(int(end * reader->getSpecs().rate))
+ m_start(start),
+ m_end(end)
{
if(m_start > 0)
{
+ AUD_Specs specs = m_reader->getSpecs();
+ AUD_Specs specs2;
+
if(m_reader->isSeekable())
- m_reader->seek(m_start);
+ m_reader->seek(m_start * specs.rate);
else
{
// skip first m_start samples by reading them
int length = AUD_DEFAULT_BUFFER_SIZE;
- sample_t* buffer;
- for(int len = m_start;
- length == AUD_DEFAULT_BUFFER_SIZE;
- len -= AUD_DEFAULT_BUFFER_SIZE)
+ AUD_Buffer buffer(AUD_DEFAULT_BUFFER_SIZE * AUD_SAMPLE_SIZE(specs));
+ bool eos = false;
+ for(int len = m_start * specs.rate;
+ length > 0 && !eos;
+ len -= length)
{
if(len < AUD_DEFAULT_BUFFER_SIZE)
length = len;
- m_reader->read(length, buffer);
+
+ m_reader->read(length, eos, buffer.getBuffer());
+
+ specs2 = m_reader->getSpecs();
+ if(specs2.rate != specs.rate)
+ {
+ len = len * specs2.rate / specs.rate;
+ specs.rate = specs2.rate;
+ }
+
+ if(specs2.channels != specs.channels)
+ {
+ specs = specs2;
+ buffer.assureSize(AUD_DEFAULT_BUFFER_SIZE * AUD_SAMPLE_SIZE(specs));
+ }
}
}
}
@@ -63,35 +79,71 @@ AUD_LimiterReader::AUD_LimiterReader(AUD_IReader* reader,
void AUD_LimiterReader::seek(int position)
{
- m_reader->seek(position + m_start);
+ m_reader->seek(position + m_start * m_reader->getSpecs().rate);
}
int AUD_LimiterReader::getLength() const
{
int len = m_reader->getLength();
- if(len < 0 || (len > m_end && m_end >= 0))
- len = m_end;
- return len - m_start;
+ AUD_SampleRate rate = m_reader->getSpecs().rate;
+ if(len < 0 || (len > m_end * rate && m_end >= 0))
+ len = m_end * rate;
+ return len - m_start * rate;
}
int AUD_LimiterReader::getPosition() const
{
int pos = m_reader->getPosition();
- return AUD_MIN(pos, m_end) - m_start;
+ AUD_SampleRate rate = m_reader->getSpecs().rate;
+ return AUD_MIN(pos, m_end * rate) - m_start * rate;
}
-void AUD_LimiterReader::read(int & length, sample_t* & buffer)
+void AUD_LimiterReader::read(int& length, bool& eos, sample_t* buffer)
{
+ eos = false;
if(m_end >= 0)
{
int position = m_reader->getPosition();
- if(position + length > m_end)
- length = m_end - position;
+ AUD_SampleRate rate = m_reader->getSpecs().rate;
+
+ if(position + length > m_end * rate)
+ {
+ length = m_end * rate - position;
+ eos = true;
+ }
+
+ if(position < m_start * rate)
+ {
+ int len2 = length;
+ for(int len = m_start * rate - position;
+ len2 == length && !eos;
+ len -= length)
+ {
+ if(len < length)
+ len2 = len;
+
+ m_reader->read(len2, eos, buffer);
+ position += len2;
+ }
+
+ if(position < m_start * rate)
+ {
+ length = 0;
+ return;
+ }
+ }
+
if(length < 0)
{
length = 0;
return;
}
}
- m_reader->read(length, buffer);
+ if(eos)
+ {
+ m_reader->read(length, eos, buffer);
+ eos = true;
+ }
+ else
+ m_reader->read(length, eos, buffer);
}
diff --git a/intern/audaspace/FX/AUD_LimiterReader.h b/intern/audaspace/FX/AUD_LimiterReader.h
index 4375ed9e10d..9cddd4d57ec 100644
--- a/intern/audaspace/FX/AUD_LimiterReader.h
+++ b/intern/audaspace/FX/AUD_LimiterReader.h
@@ -35,7 +35,7 @@
#include "AUD_EffectReader.h"
/**
- * This reader limits another reader in start and end sample.
+ * This reader limits another reader in start and end times.
*/
class AUD_LimiterReader : public AUD_EffectReader
{
@@ -43,12 +43,12 @@ private:
/**
* The start sample: inclusive.
*/
- const int m_start;
+ const float m_start;
/**
* The end sample: exlusive.
*/
- const int m_end;
+ const float m_end;
// hide copy constructor and operator=
AUD_LimiterReader(const AUD_LimiterReader&);
@@ -58,16 +58,16 @@ public:
/**
* Creates a new limiter reader.
* \param reader The reader to read from.
- * \param start The desired start sample (inclusive).
- * \param end The desired end sample (exklusive), a negative value signals
- * that it should play to the end.
+ * \param start The desired start time (inclusive).
+ * \param end The desired end time (sample exklusive), a negative value
+ * signals that it should play to the end.
*/
- AUD_LimiterReader(AUD_IReader* reader, float start = 0, float end = -1);
+ AUD_LimiterReader(AUD_Reference<AUD_IReader> reader, float start = 0, float end = -1);
virtual void seek(int position);
virtual int getLength() const;
virtual int getPosition() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_LIMITERREADER
diff --git a/intern/audaspace/FX/AUD_LoopFactory.cpp b/intern/audaspace/FX/AUD_LoopFactory.cpp
index 49d3481757f..fd39ac901c1 100644
--- a/intern/audaspace/FX/AUD_LoopFactory.cpp
+++ b/intern/audaspace/FX/AUD_LoopFactory.cpp
@@ -32,7 +32,7 @@
#include "AUD_LoopFactory.h"
#include "AUD_LoopReader.h"
-AUD_LoopFactory::AUD_LoopFactory(AUD_IFactory* factory, int loop) :
+AUD_LoopFactory::AUD_LoopFactory(AUD_Reference<AUD_IFactory> factory, int loop) :
AUD_EffectFactory(factory),
m_loop(loop)
{
@@ -43,7 +43,7 @@ int AUD_LoopFactory::getLoop() const
return m_loop;
}
-AUD_IReader* AUD_LoopFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_LoopFactory::createReader()
{
return new AUD_LoopReader(getReader(), m_loop);
}
diff --git a/intern/audaspace/FX/AUD_LoopFactory.h b/intern/audaspace/FX/AUD_LoopFactory.h
index dfbbbe4fd20..03c00dc40ce 100644
--- a/intern/audaspace/FX/AUD_LoopFactory.h
+++ b/intern/audaspace/FX/AUD_LoopFactory.h
@@ -57,14 +57,14 @@ public:
* \param loop The desired loop count, negative values result in endless
* looping.
*/
- AUD_LoopFactory(AUD_IFactory* factory, int loop = -1);
+ AUD_LoopFactory(AUD_Reference<AUD_IFactory> factory, int loop = -1);
/**
* Returns the loop count.
*/
int getLoop() const;
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_LOOPFACTORY
diff --git a/intern/audaspace/FX/AUD_LoopReader.cpp b/intern/audaspace/FX/AUD_LoopReader.cpp
index b2e8e97a602..de67a445ab2 100644
--- a/intern/audaspace/FX/AUD_LoopReader.cpp
+++ b/intern/audaspace/FX/AUD_LoopReader.cpp
@@ -34,7 +34,7 @@
#include <cstring>
-AUD_LoopReader::AUD_LoopReader(AUD_IReader* reader, int loop) :
+AUD_LoopReader::AUD_LoopReader(AUD_Reference<AUD_IReader> reader, int loop) :
AUD_EffectReader(reader), m_count(loop), m_left(loop)
{
}
@@ -68,29 +68,20 @@ int AUD_LoopReader::getPosition() const
return m_reader->getPosition() * (m_count < 0 ? 1 : m_count);
}
-void AUD_LoopReader::read(int & length, sample_t* & buffer)
+void AUD_LoopReader::read(int& length, bool& eos, sample_t* buffer)
{
- AUD_Specs specs = m_reader->getSpecs();
- int samplesize = AUD_SAMPLE_SIZE(specs);
+ const AUD_Specs specs = m_reader->getSpecs();
int len = length;
- m_reader->read(len, buffer);
+ m_reader->read(length, eos, buffer);
- if(len < length && m_left)
+ if(length < len && eos && m_left)
{
- int pos = 0;
-
- if(m_buffer.getSize() < length * samplesize)
- m_buffer.resize(length * samplesize);
-
- sample_t* buf = m_buffer.getBuffer();
-
- memcpy(buf + pos * specs.channels, buffer, len * samplesize);
-
- pos += len;
+ int pos = length;
+ length = len;
- while(pos < length && m_left)
+ while(pos < length && eos && m_left)
{
if(m_left > 0)
m_left--;
@@ -98,20 +89,15 @@ void AUD_LoopReader::read(int & length, sample_t* & buffer)
m_reader->seek(0);
len = length - pos;
- m_reader->read(len, buffer);
+ m_reader->read(len, eos, buffer + pos * specs.channels);
// prevent endless loop
if(!len)
break;
- memcpy(buf + pos * specs.channels, buffer, len * samplesize);
-
pos += len;
}
length = pos;
- buffer = buf;
}
- else
- length = len;
}
diff --git a/intern/audaspace/FX/AUD_LoopReader.h b/intern/audaspace/FX/AUD_LoopReader.h
index 45017901c56..5ccf7e543a0 100644
--- a/intern/audaspace/FX/AUD_LoopReader.h
+++ b/intern/audaspace/FX/AUD_LoopReader.h
@@ -43,11 +43,6 @@ class AUD_LoopReader : public AUD_EffectReader
{
private:
/**
- * The playback buffer.
- */
- AUD_Buffer m_buffer;
-
- /**
* The loop count.
*/
const int m_count;
@@ -68,12 +63,12 @@ public:
* \param loop The desired loop count, negative values result in endless
* looping.
*/
- AUD_LoopReader(AUD_IReader* reader, int loop);
+ AUD_LoopReader(AUD_Reference<AUD_IReader> reader, int loop);
virtual void seek(int position);
virtual int getLength() const;
virtual int getPosition() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_LOOPREADER
diff --git a/intern/audaspace/FX/AUD_LowpassFactory.cpp b/intern/audaspace/FX/AUD_LowpassFactory.cpp
index d24a04b5a94..3ef25c3c16e 100644
--- a/intern/audaspace/FX/AUD_LowpassFactory.cpp
+++ b/intern/audaspace/FX/AUD_LowpassFactory.cpp
@@ -38,30 +38,26 @@
#define M_PI 3.14159265358979323846
#endif
-AUD_LowpassFactory::AUD_LowpassFactory(AUD_IFactory* factory, float frequency,
+AUD_LowpassFactory::AUD_LowpassFactory(AUD_Reference<AUD_IFactory> factory, float frequency,
float Q) :
- AUD_EffectFactory(factory),
+ AUD_DynamicIIRFilterFactory(factory),
m_frequency(frequency),
m_Q(Q)
{
}
-AUD_IReader* AUD_LowpassFactory::createReader() const
+void AUD_LowpassFactory::recalculateCoefficients(AUD_SampleRate rate,
+ std::vector<float> &b,
+ std::vector<float> &a)
{
- AUD_IReader* reader = getReader();
-
- // calculate coefficients
- float w0 = 2 * M_PI * m_frequency / reader->getSpecs().rate;
+ float w0 = 2 * M_PI * m_frequency / rate;
float alpha = sin(w0) / (2 * m_Q);
float norm = 1 + alpha;
float c = cos(w0);
- std::vector<float> a, b;
a.push_back(1);
a.push_back(-2 * c / norm);
a.push_back((1 - alpha) / norm);
b.push_back((1 - c) / (2 * norm));
b.push_back((1 - c) / norm);
b.push_back(b[0]);
-
- return new AUD_IIRFilterReader(reader, b, a);
}
diff --git a/intern/audaspace/FX/AUD_LowpassFactory.h b/intern/audaspace/FX/AUD_LowpassFactory.h
index d60c0bd22d1..644d25ec73d 100644
--- a/intern/audaspace/FX/AUD_LowpassFactory.h
+++ b/intern/audaspace/FX/AUD_LowpassFactory.h
@@ -32,16 +32,16 @@
#ifndef AUD_LOWPASSFACTORY
#define AUD_LOWPASSFACTORY
-#include "AUD_EffectFactory.h"
+#include "AUD_DynamicIIRFilterFactory.h"
/**
* This factory creates a lowpass filter reader.
*/
-class AUD_LowpassFactory : public AUD_EffectFactory
+class AUD_LowpassFactory : public AUD_DynamicIIRFilterFactory
{
private:
/**
- * The attack value in seconds.
+ * The cutoff frequency.
*/
const float m_frequency;
@@ -61,9 +61,9 @@ public:
* \param frequency The cutoff frequency.
* \param Q The Q factor.
*/
- AUD_LowpassFactory(AUD_IFactory* factory, float frequency, float Q = 1.0f);
+ AUD_LowpassFactory(AUD_Reference<AUD_IFactory> factory, float frequency, float Q = 1.0f);
- virtual AUD_IReader* createReader() const;
+ virtual void recalculateCoefficients(AUD_SampleRate rate, std::vector<float> &b, std::vector<float> &a);
};
#endif //AUD_LOWPASSFACTORY
diff --git a/intern/audaspace/FX/AUD_PingPongFactory.cpp b/intern/audaspace/FX/AUD_PingPongFactory.cpp
index fa140555943..e5f2193ea56 100644
--- a/intern/audaspace/FX/AUD_PingPongFactory.cpp
+++ b/intern/audaspace/FX/AUD_PingPongFactory.cpp
@@ -33,26 +33,16 @@
#include "AUD_DoubleReader.h"
#include "AUD_ReverseFactory.h"
-AUD_PingPongFactory::AUD_PingPongFactory(AUD_IFactory* factory) :
+AUD_PingPongFactory::AUD_PingPongFactory(AUD_Reference<AUD_IFactory> factory) :
AUD_EffectFactory(factory)
{
}
-AUD_IReader* AUD_PingPongFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_PingPongFactory::createReader()
{
- AUD_IReader* reader = getReader();
- AUD_IReader* reader2;
+ AUD_Reference<AUD_IReader> reader = getReader();
AUD_ReverseFactory factory(m_factory);
-
- try
- {
- reader2 = factory.createReader();
- }
- catch(AUD_Exception&)
- {
- delete reader;
- throw;
- }
+ AUD_Reference<AUD_IReader> reader2 = factory.createReader();
return new AUD_DoubleReader(reader, reader2);
}
diff --git a/intern/audaspace/FX/AUD_PingPongFactory.h b/intern/audaspace/FX/AUD_PingPongFactory.h
index 4ae0c494eb7..b023501d45b 100644
--- a/intern/audaspace/FX/AUD_PingPongFactory.h
+++ b/intern/audaspace/FX/AUD_PingPongFactory.h
@@ -36,7 +36,7 @@
/**
* This factory plays another factory first normal, then reversed.
- * \note Readers from the underlying factory must be from the buffer type.
+ * \note Readers from the underlying factory must be reversable with seeking.
*/
class AUD_PingPongFactory : public AUD_EffectFactory
{
@@ -50,9 +50,9 @@ public:
* Creates a new ping pong factory.
* \param factory The input factory.
*/
- AUD_PingPongFactory(AUD_IFactory* factory);
+ AUD_PingPongFactory(AUD_Reference<AUD_IFactory> factory);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_PINGPONGFACTORY
diff --git a/intern/audaspace/FX/AUD_PitchFactory.cpp b/intern/audaspace/FX/AUD_PitchFactory.cpp
index b4ae8582caf..e52028754e9 100644
--- a/intern/audaspace/FX/AUD_PitchFactory.cpp
+++ b/intern/audaspace/FX/AUD_PitchFactory.cpp
@@ -33,13 +33,13 @@
#include "AUD_PitchReader.h"
#include "AUD_Space.h"
-AUD_PitchFactory::AUD_PitchFactory(AUD_IFactory* factory, float pitch) :
+AUD_PitchFactory::AUD_PitchFactory(AUD_Reference<AUD_IFactory> factory, float pitch) :
AUD_EffectFactory(factory),
m_pitch(pitch)
{
}
-AUD_IReader* AUD_PitchFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_PitchFactory::createReader()
{
return new AUD_PitchReader(getReader(), m_pitch);
}
diff --git a/intern/audaspace/FX/AUD_PitchFactory.h b/intern/audaspace/FX/AUD_PitchFactory.h
index 8fa5be9293f..2642d41af89 100644
--- a/intern/audaspace/FX/AUD_PitchFactory.h
+++ b/intern/audaspace/FX/AUD_PitchFactory.h
@@ -55,9 +55,9 @@ public:
* \param factory The input factory.
* \param pitch The desired pitch.
*/
- AUD_PitchFactory(AUD_IFactory* factory, float pitch);
+ AUD_PitchFactory(AUD_Reference<AUD_IFactory> factory, float pitch);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_PITCHFACTORY
diff --git a/intern/audaspace/FX/AUD_PitchReader.cpp b/intern/audaspace/FX/AUD_PitchReader.cpp
index e2e89e2c457..81dd6e4355c 100644
--- a/intern/audaspace/FX/AUD_PitchReader.cpp
+++ b/intern/audaspace/FX/AUD_PitchReader.cpp
@@ -31,7 +31,7 @@
#include "AUD_PitchReader.h"
-AUD_PitchReader::AUD_PitchReader(AUD_IReader* reader, float pitch) :
+AUD_PitchReader::AUD_PitchReader(AUD_Reference<AUD_IReader> reader, float pitch) :
AUD_EffectReader(reader), m_pitch(pitch)
{
}
@@ -39,6 +39,16 @@ AUD_PitchReader::AUD_PitchReader(AUD_IReader* reader, float pitch) :
AUD_Specs AUD_PitchReader::getSpecs() const
{
AUD_Specs specs = m_reader->getSpecs();
- specs.rate = (AUD_SampleRate)((int)(specs.rate * m_pitch));
+ specs.rate *= m_pitch;
return specs;
}
+
+float AUD_PitchReader::getPitch() const
+{
+ return m_pitch;
+}
+
+void AUD_PitchReader::setPitch(float pitch)
+{
+ m_pitch = pitch;
+}
diff --git a/intern/audaspace/FX/AUD_PitchReader.h b/intern/audaspace/FX/AUD_PitchReader.h
index 120cebc58be..ed6adbf02fb 100644
--- a/intern/audaspace/FX/AUD_PitchReader.h
+++ b/intern/audaspace/FX/AUD_PitchReader.h
@@ -43,7 +43,7 @@ private:
/**
* The pitch level.
*/
- const float m_pitch;
+ float m_pitch;
// hide copy constructor and operator=
AUD_PitchReader(const AUD_PitchReader&);
@@ -53,11 +53,23 @@ public:
/**
* Creates a new pitch reader.
* \param reader The reader to read from.
- * \param pitch The size of the buffer.
+ * \param pitch The pitch value.
*/
- AUD_PitchReader(AUD_IReader* reader, float pitch);
+ AUD_PitchReader(AUD_Reference<AUD_IReader> reader, float pitch);
virtual AUD_Specs getSpecs() const;
+
+ /**
+ * Retrieves the pitch.
+ * \return The current pitch value.
+ */
+ float getPitch() const;
+
+ /**
+ * Sets the pitch.
+ * \param pitch The new pitch value.
+ */
+ void setPitch(float pitch);
};
#endif //AUD_PITCHREADER
diff --git a/intern/audaspace/FX/AUD_RectifyFactory.cpp b/intern/audaspace/FX/AUD_RectifyFactory.cpp
index 609d827cce4..cbb676a9a32 100644
--- a/intern/audaspace/FX/AUD_RectifyFactory.cpp
+++ b/intern/audaspace/FX/AUD_RectifyFactory.cpp
@@ -34,17 +34,17 @@
#include <cmath>
-sample_t rectifyFilter(AUD_CallbackIIRFilterReader* reader, void* useless)
+sample_t AUD_RectifyFactory::rectifyFilter(AUD_CallbackIIRFilterReader* reader, void* useless)
{
return fabs(reader->x(0));
}
-AUD_RectifyFactory::AUD_RectifyFactory(AUD_IFactory* factory) :
+AUD_RectifyFactory::AUD_RectifyFactory(AUD_Reference<AUD_IFactory> factory) :
AUD_EffectFactory(factory)
{
}
-AUD_IReader* AUD_RectifyFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_RectifyFactory::createReader()
{
return new AUD_CallbackIIRFilterReader(getReader(), 1, 1, rectifyFilter);
}
diff --git a/intern/audaspace/FX/AUD_RectifyFactory.h b/intern/audaspace/FX/AUD_RectifyFactory.h
index c3529c7beef..16b44469c05 100644
--- a/intern/audaspace/FX/AUD_RectifyFactory.h
+++ b/intern/audaspace/FX/AUD_RectifyFactory.h
@@ -33,6 +33,7 @@
#define AUD_RECTIFYFACTORY
#include "AUD_EffectFactory.h"
+class AUD_CallbackIIRFilterReader;
/**
* This factory rectifies another factory.
@@ -49,9 +50,11 @@ public:
* Creates a new rectify factory.
* \param factory The input factory.
*/
- AUD_RectifyFactory(AUD_IFactory* factory);
+ AUD_RectifyFactory(AUD_Reference<AUD_IFactory> factory);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
+
+ static sample_t rectifyFilter(AUD_CallbackIIRFilterReader* reader, void* useless);
};
#endif //AUD_RECTIFYFACTORY
diff --git a/intern/audaspace/FX/AUD_ReverseFactory.cpp b/intern/audaspace/FX/AUD_ReverseFactory.cpp
index 22b12e31420..060a618dd68 100644
--- a/intern/audaspace/FX/AUD_ReverseFactory.cpp
+++ b/intern/audaspace/FX/AUD_ReverseFactory.cpp
@@ -33,12 +33,12 @@
#include "AUD_ReverseReader.h"
#include "AUD_Space.h"
-AUD_ReverseFactory::AUD_ReverseFactory(AUD_IFactory* factory) :
+AUD_ReverseFactory::AUD_ReverseFactory(AUD_Reference<AUD_IFactory> factory) :
AUD_EffectFactory(factory)
{
}
-AUD_IReader* AUD_ReverseFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_ReverseFactory::createReader()
{
return new AUD_ReverseReader(getReader());
}
diff --git a/intern/audaspace/FX/AUD_ReverseFactory.h b/intern/audaspace/FX/AUD_ReverseFactory.h
index 7b20546302e..f43d37d8f46 100644
--- a/intern/audaspace/FX/AUD_ReverseFactory.h
+++ b/intern/audaspace/FX/AUD_ReverseFactory.h
@@ -36,7 +36,7 @@
/**
* This factory reads another factory reverted.
- * \note Readers from the underlying factory must be from the buffer type.
+ * \note Readers from the underlying factory must be seekable.
*/
class AUD_ReverseFactory : public AUD_EffectFactory
{
@@ -50,9 +50,9 @@ public:
* Creates a new reverse factory.
* \param factory The input factory.
*/
- AUD_ReverseFactory(AUD_IFactory* factory);
+ AUD_ReverseFactory(AUD_Reference<AUD_IFactory> factory);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_REVERSEFACTORY
diff --git a/intern/audaspace/FX/AUD_ReverseReader.cpp b/intern/audaspace/FX/AUD_ReverseReader.cpp
index a4a03936c76..73f6830f3fa 100644
--- a/intern/audaspace/FX/AUD_ReverseReader.cpp
+++ b/intern/audaspace/FX/AUD_ReverseReader.cpp
@@ -36,7 +36,7 @@
static const char* props_error = "AUD_ReverseReader: The reader has to be "
"seekable and a finite length.";
-AUD_ReverseReader::AUD_ReverseReader(AUD_IReader* reader) :
+AUD_ReverseReader::AUD_ReverseReader(AUD_Reference<AUD_IReader> reader) :
AUD_EffectReader(reader),
m_length(reader->getLength()),
m_position(0)
@@ -60,7 +60,7 @@ int AUD_ReverseReader::getPosition() const
return m_position;
}
-void AUD_ReverseReader::read(int & length, sample_t* & buffer)
+void AUD_ReverseReader::read(int& length, bool& eos, sample_t* buffer)
{
// first correct the length
if(m_position + length > m_length)
@@ -69,39 +69,39 @@ void AUD_ReverseReader::read(int & length, sample_t* & buffer)
if(length <= 0)
{
length = 0;
+ eos = true;
return;
}
- AUD_Specs specs = getSpecs();
- int samplesize = AUD_SAMPLE_SIZE(specs);
+ const AUD_Specs specs = getSpecs();
+ const int samplesize = AUD_SAMPLE_SIZE(specs);
- // resize buffer if needed
- if(m_buffer.getSize() < length * samplesize)
- m_buffer.resize(length * samplesize);
+ sample_t temp[AUD_CHANNEL_MAX];
- buffer = m_buffer.getBuffer();
-
- sample_t* buf;
int len = length;
// read from reader
m_reader->seek(m_length - m_position - len);
- m_reader->read(len, buf);
+ m_reader->read(len, eos, buffer);
// set null if reader didn't give enough data
if(len < length)
- {
memset(buffer, 0, (length - len) * samplesize);
- buffer += (length - len) * specs.channels;
- }
// copy the samples reverted
- for(int i = 0; i < len; i++)
+ for(int i = 0; i < length / 2; i++)
+ {
+ memcpy(temp,
+ buffer + (len - 1 - i) * specs.channels,
+ samplesize);
+ memcpy(buffer + (len - 1 - i) * specs.channels,
+ buffer + i * specs.channels,
+ samplesize);
memcpy(buffer + i * specs.channels,
- buf + (len - 1 - i) * specs.channels,
+ temp,
samplesize);
+ }
m_position += length;
-
- buffer = m_buffer.getBuffer();
+ eos = false;
}
diff --git a/intern/audaspace/FX/AUD_ReverseReader.h b/intern/audaspace/FX/AUD_ReverseReader.h
index e12f2b21191..197d10dfe00 100644
--- a/intern/audaspace/FX/AUD_ReverseReader.h
+++ b/intern/audaspace/FX/AUD_ReverseReader.h
@@ -37,7 +37,7 @@
/**
* This class reads another reader from back to front.
- * \note The underlying reader must be a buffer.
+ * \note The underlying reader must be seekable.
*/
class AUD_ReverseReader : public AUD_EffectReader
{
@@ -52,11 +52,6 @@ private:
*/
int m_position;
- /**
- * The playback buffer.
- */
- AUD_Buffer m_buffer;
-
// hide copy constructor and operator=
AUD_ReverseReader(const AUD_ReverseReader&);
AUD_ReverseReader& operator=(const AUD_ReverseReader&);
@@ -68,12 +63,12 @@ public:
* \exception AUD_Exception Thrown if the reader specified has an
* undeterminable/infinite length or is not seekable.
*/
- AUD_ReverseReader(AUD_IReader* reader);
+ AUD_ReverseReader(AUD_Reference<AUD_IReader> reader);
virtual void seek(int position);
virtual int getLength() const;
virtual int getPosition() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_REVERSEREADER
diff --git a/intern/audaspace/FX/AUD_SquareFactory.cpp b/intern/audaspace/FX/AUD_SquareFactory.cpp
index a075773d2cb..226085a1814 100644
--- a/intern/audaspace/FX/AUD_SquareFactory.cpp
+++ b/intern/audaspace/FX/AUD_SquareFactory.cpp
@@ -32,7 +32,7 @@
#include "AUD_SquareFactory.h"
#include "AUD_CallbackIIRFilterReader.h"
-sample_t squareFilter(AUD_CallbackIIRFilterReader* reader, float* threshold)
+sample_t AUD_SquareFactory::squareFilter(AUD_CallbackIIRFilterReader* reader, float* threshold)
{
float in = reader->x(0);
if(in >= *threshold)
@@ -43,12 +43,12 @@ sample_t squareFilter(AUD_CallbackIIRFilterReader* reader, float* threshold)
return 0;
}
-void endSquareFilter(float* threshold)
+void AUD_SquareFactory::endSquareFilter(float* threshold)
{
delete threshold;
}
-AUD_SquareFactory::AUD_SquareFactory(AUD_IFactory* factory, float threshold) :
+AUD_SquareFactory::AUD_SquareFactory(AUD_Reference<AUD_IFactory> factory, float threshold) :
AUD_EffectFactory(factory),
m_threshold(threshold)
{
@@ -59,7 +59,7 @@ float AUD_SquareFactory::getThreshold() const
return m_threshold;
}
-AUD_IReader* AUD_SquareFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_SquareFactory::createReader()
{
return new AUD_CallbackIIRFilterReader(getReader(), 1, 1,
(doFilterIIR) squareFilter,
diff --git a/intern/audaspace/FX/AUD_SquareFactory.h b/intern/audaspace/FX/AUD_SquareFactory.h
index 8060e98e281..21284361cca 100644
--- a/intern/audaspace/FX/AUD_SquareFactory.h
+++ b/intern/audaspace/FX/AUD_SquareFactory.h
@@ -33,6 +33,7 @@
#define AUD_SQUAREFACTORY
#include "AUD_EffectFactory.h"
+class AUD_CallbackIIRFilterReader;
/**
* This factory Transforms any signal to a square signal.
@@ -55,14 +56,17 @@ public:
* \param factory The input factory.
* \param threshold The threshold.
*/
- AUD_SquareFactory(AUD_IFactory* factory, float threshold = 0.0f);
+ AUD_SquareFactory(AUD_Reference<AUD_IFactory> factory, float threshold = 0.0f);
/**
* Returns the threshold.
*/
float getThreshold() const;
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
+
+ static sample_t squareFilter(AUD_CallbackIIRFilterReader* reader, float* threshold);
+ static void endSquareFilter(float* threshold);
};
#endif //AUD_SQUAREFACTORY
diff --git a/intern/audaspace/FX/AUD_SumFactory.cpp b/intern/audaspace/FX/AUD_SumFactory.cpp
index 6d8368d6e35..befcc30360f 100644
--- a/intern/audaspace/FX/AUD_SumFactory.cpp
+++ b/intern/audaspace/FX/AUD_SumFactory.cpp
@@ -32,12 +32,12 @@
#include "AUD_SumFactory.h"
#include "AUD_IIRFilterReader.h"
-AUD_SumFactory::AUD_SumFactory(AUD_IFactory* factory) :
+AUD_SumFactory::AUD_SumFactory(AUD_Reference<AUD_IFactory> factory) :
AUD_EffectFactory(factory)
{
}
-AUD_IReader* AUD_SumFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_SumFactory::createReader()
{
std::vector<float> a, b;
a.push_back(1);
diff --git a/intern/audaspace/FX/AUD_SumFactory.h b/intern/audaspace/FX/AUD_SumFactory.h
index ed19a0f258a..cdb4caf6e49 100644
--- a/intern/audaspace/FX/AUD_SumFactory.h
+++ b/intern/audaspace/FX/AUD_SumFactory.h
@@ -49,9 +49,9 @@ public:
* Creates a new sum factory.
* \param factory The input factory.
*/
- AUD_SumFactory(AUD_IFactory* factory);
+ AUD_SumFactory(AUD_Reference<AUD_IFactory> factory);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_SUMFACTORY
diff --git a/intern/audaspace/FX/AUD_SuperposeFactory.cpp b/intern/audaspace/FX/AUD_SuperposeFactory.cpp
index c13a0d0dd95..d514bfd8fca 100644
--- a/intern/audaspace/FX/AUD_SuperposeFactory.cpp
+++ b/intern/audaspace/FX/AUD_SuperposeFactory.cpp
@@ -32,24 +32,15 @@
#include "AUD_SuperposeFactory.h"
#include "AUD_SuperposeReader.h"
-AUD_SuperposeFactory::AUD_SuperposeFactory(AUD_IFactory* factory1, AUD_IFactory* factory2) :
+AUD_SuperposeFactory::AUD_SuperposeFactory(AUD_Reference<AUD_IFactory> factory1, AUD_Reference<AUD_IFactory> factory2) :
m_factory1(factory1), m_factory2(factory2)
{
}
-AUD_IReader* AUD_SuperposeFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_SuperposeFactory::createReader()
{
- AUD_IReader* reader1 = m_factory1->createReader();
- AUD_IReader* reader2;
- try
- {
- reader2 = m_factory2->createReader();
- }
- catch(AUD_Exception&)
- {
- delete reader1;
- throw;
- }
+ AUD_Reference<AUD_IReader> reader1 = m_factory1->createReader();
+ AUD_Reference<AUD_IReader> reader2 = m_factory2->createReader();
return new AUD_SuperposeReader(reader1, reader2);
}
diff --git a/intern/audaspace/FX/AUD_SuperposeFactory.h b/intern/audaspace/FX/AUD_SuperposeFactory.h
index 32232012e4e..b12da62b497 100644
--- a/intern/audaspace/FX/AUD_SuperposeFactory.h
+++ b/intern/audaspace/FX/AUD_SuperposeFactory.h
@@ -35,8 +35,9 @@
#include "AUD_IFactory.h"
/**
- * This factory plays two other factories behind each other.
- * \note Readers from the underlying factories must have the same sample rate and channel count.
+ * This factory mixes two other factories, playing them the same time.
+ * \note Readers from the underlying factories must have the same sample rate
+ * and channel count.
*/
class AUD_SuperposeFactory : public AUD_IFactory
{
@@ -44,12 +45,12 @@ private:
/**
* First played factory.
*/
- AUD_IFactory* m_factory1;
+ AUD_Reference<AUD_IFactory> m_factory1;
/**
* Second played factory.
*/
- AUD_IFactory* m_factory2;
+ AUD_Reference<AUD_IFactory> m_factory2;
// hide copy constructor and operator=
AUD_SuperposeFactory(const AUD_SuperposeFactory&);
@@ -61,9 +62,9 @@ public:
* \param factory1 The first input factory.
* \param factory2 The second input factory.
*/
- AUD_SuperposeFactory(AUD_IFactory* factory1, AUD_IFactory* factory2);
+ AUD_SuperposeFactory(AUD_Reference<AUD_IFactory> factory1, AUD_Reference<AUD_IFactory> factory2);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_SUPERPOSEFACTORY
diff --git a/intern/audaspace/FX/AUD_SuperposeReader.cpp b/intern/audaspace/FX/AUD_SuperposeReader.cpp
index e64cf79188e..c07b7a9febf 100644
--- a/intern/audaspace/FX/AUD_SuperposeReader.cpp
+++ b/intern/audaspace/FX/AUD_SuperposeReader.cpp
@@ -36,30 +36,13 @@
static const char* specs_error = "AUD_SuperposeReader: Both readers have to "
"have the same specs.";
-AUD_SuperposeReader::AUD_SuperposeReader(AUD_IReader* reader1, AUD_IReader* reader2) :
+AUD_SuperposeReader::AUD_SuperposeReader(AUD_Reference<AUD_IReader> reader1, AUD_Reference<AUD_IReader> reader2) :
m_reader1(reader1), m_reader2(reader2)
{
- try
- {
- AUD_Specs s1, s2;
- s1 = reader1->getSpecs();
- s2 = reader2->getSpecs();
- if(memcmp(&s1, &s2, sizeof(AUD_Specs)))
- AUD_THROW(AUD_ERROR_SPECS, specs_error);
- }
- catch(AUD_Exception&)
- {
- delete reader1;
- delete reader2;
-
- throw;
- }
}
AUD_SuperposeReader::~AUD_SuperposeReader()
{
- delete m_reader1;
- delete m_reader2;
}
bool AUD_SuperposeReader::isSeekable() const
@@ -94,28 +77,31 @@ AUD_Specs AUD_SuperposeReader::getSpecs() const
return m_reader1->getSpecs();
}
-void AUD_SuperposeReader::read(int & length, sample_t* & buffer)
+void AUD_SuperposeReader::read(int& length, bool& eos, sample_t* buffer)
{
AUD_Specs specs = m_reader1->getSpecs();
+ AUD_Specs s2 = m_reader2->getSpecs();
+ if(!AUD_COMPARE_SPECS(specs, s2))
+ AUD_THROW(AUD_ERROR_SPECS, specs_error);
+
int samplesize = AUD_SAMPLE_SIZE(specs);
- if(m_buffer.getSize() < length * samplesize)
- m_buffer.resize(length * samplesize);
- buffer = m_buffer.getBuffer();
+ m_buffer.assureSize(length * samplesize);
int len1 = length;
- sample_t* buf;
- m_reader1->read(len1, buf);
- memcpy(buffer, buf, len1 * samplesize);
+ m_reader1->read(len1, eos, buffer);
if(len1 < length)
memset(buffer + len1 * specs.channels, 0, (length - len1) * samplesize);
int len2 = length;
- m_reader2->read(len2, buf);
+ bool eos2;
+ sample_t* buf = m_buffer.getBuffer();
+ m_reader2->read(len2, eos2, buf);
for(int i = 0; i < len2 * specs.channels; i++)
buffer[i] += buf[i];
length = AUD_MAX(len1, len2);
+ eos &= eos2;
}
diff --git a/intern/audaspace/FX/AUD_SuperposeReader.h b/intern/audaspace/FX/AUD_SuperposeReader.h
index b256aade7ba..07b4b105835 100644
--- a/intern/audaspace/FX/AUD_SuperposeReader.h
+++ b/intern/audaspace/FX/AUD_SuperposeReader.h
@@ -34,9 +34,10 @@
#include "AUD_IReader.h"
#include "AUD_Buffer.h"
+#include "AUD_Reference.h"
/**
- * This reader plays two readers with the same specs sequently.
+ * This reader plays two readers with the same specs in parallel.
*/
class AUD_SuperposeReader : public AUD_IReader
{
@@ -44,15 +45,15 @@ private:
/**
* The first reader.
*/
- AUD_IReader* m_reader1;
+ AUD_Reference<AUD_IReader> m_reader1;
/**
* The second reader.
*/
- AUD_IReader* m_reader2;
+ AUD_Reference<AUD_IReader> m_reader2;
/**
- * The playback buffer for the intersecting part.
+ * Buffer used for mixing.
*/
AUD_Buffer m_buffer;
@@ -67,7 +68,7 @@ public:
* \param reader2 The second reader to read from.
* \exception AUD_Exception Thrown if the specs from the readers differ.
*/
- AUD_SuperposeReader(AUD_IReader* reader1, AUD_IReader* reader2);
+ AUD_SuperposeReader(AUD_Reference<AUD_IReader> reader1, AUD_Reference<AUD_IReader> reader2);
/**
* Destroys the reader.
@@ -79,7 +80,7 @@ public:
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_SUPERPOSEREADER
diff --git a/intern/audaspace/FX/AUD_VolumeFactory.cpp b/intern/audaspace/FX/AUD_VolumeFactory.cpp
index 166fbf61512..17cefd4f3c3 100644
--- a/intern/audaspace/FX/AUD_VolumeFactory.cpp
+++ b/intern/audaspace/FX/AUD_VolumeFactory.cpp
@@ -32,7 +32,7 @@
#include "AUD_VolumeFactory.h"
#include "AUD_IIRFilterReader.h"
-AUD_VolumeFactory::AUD_VolumeFactory(AUD_IFactory* factory, float volume) :
+AUD_VolumeFactory::AUD_VolumeFactory(AUD_Reference<AUD_IFactory> factory, float volume) :
AUD_EffectFactory(factory),
m_volume(volume)
{
@@ -43,7 +43,7 @@ float AUD_VolumeFactory::getVolume() const
return m_volume;
}
-AUD_IReader* AUD_VolumeFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_VolumeFactory::createReader()
{
std::vector<float> a, b;
a.push_back(1);
diff --git a/intern/audaspace/FX/AUD_VolumeFactory.h b/intern/audaspace/FX/AUD_VolumeFactory.h
index fa40ca11082..0ca0102b790 100644
--- a/intern/audaspace/FX/AUD_VolumeFactory.h
+++ b/intern/audaspace/FX/AUD_VolumeFactory.h
@@ -57,14 +57,15 @@ public:
* \param factory The input factory.
* \param volume The desired volume.
*/
- AUD_VolumeFactory(AUD_IFactory* factory, float volume);
+ AUD_VolumeFactory(AUD_Reference<AUD_IFactory> factory, float volume);
/**
* Returns the volume.
+ * \return The current volume.
*/
float getVolume() const;
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_VOLUMEFACTORY
diff --git a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
index b9e30bbf62a..d5b365fa62f 100644
--- a/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
+++ b/intern/audaspace/OpenAL/AUD_OpenALDevice.cpp
@@ -43,56 +43,727 @@
#include <unistd.h>
#endif
-#define AUD_OPENAL_CYCLE_BUFFERS 3
+/*struct AUD_OpenALBufferedFactory
+{
+ /// The factory.
+ AUD_IFactory* factory;
+
+ /// The OpenAL buffer.
+ ALuint buffer;
+};*/
+
+//typedef std::list<AUD_OpenALBufferedFactory*>::iterator AUD_BFIterator;
+
+
+/******************************************************************************/
+/*********************** AUD_OpenALHandle Handle Code *************************/
+/******************************************************************************/
+
+static const char* genbuffer_error = "AUD_OpenALDevice: Buffer couldn't be "
+ "generated.";
+static const char* gensource_error = "AUD_OpenALDevice: Source couldn't be "
+ "generated.";
+static const char* queue_error = "AUD_OpenALDevice: Buffer couldn't be "
+ "queued to the source.";
+static const char* bufferdata_error = "AUD_OpenALDevice: Buffer couldn't be "
+ "filled with data.";
-/// Saves the data for playback.
-struct AUD_OpenALHandle : AUD_Handle
+AUD_OpenALDevice::AUD_OpenALHandle::AUD_OpenALHandle(AUD_OpenALDevice* device, ALenum format, AUD_Reference<AUD_IReader> reader, bool keep) :
+ m_isBuffered(false), m_reader(reader), m_keep(keep), m_format(format), m_current(0),
+ m_eos(false), m_loopcount(0), m_stop(NULL), m_stop_data(NULL), m_status(AUD_STATUS_PLAYING),
+ m_device(device)
{
- /// Whether it's a buffered or a streamed source.
- bool isBuffered;
+ AUD_DeviceSpecs specs = m_device->m_specs;
+ specs.specs = m_reader->getSpecs();
- /// The reader source.
- AUD_IReader* reader;
+ // OpenAL playback code
+ alGenBuffers(CYCLE_BUFFERS, m_buffers);
+ if(alGetError() != AL_NO_ERROR)
+ AUD_THROW(AUD_ERROR_OPENAL, genbuffer_error);
- /// Whether to keep the source if end of it is reached.
- bool keep;
+ try
+ {
+ m_device->m_buffer.assureSize(m_device->m_buffersize * AUD_DEVICE_SAMPLE_SIZE(specs));
+ int length;
+ bool eos;
- /// OpenAL sample format.
- ALenum format;
+ for(int i = 0; i < CYCLE_BUFFERS; i++)
+ {
+ length = m_device->m_buffersize;
+ reader->read(length, eos, m_device->m_buffer.getBuffer());
+ alBufferData(m_buffers[i], m_format, m_device->m_buffer.getBuffer(),
+ length * AUD_DEVICE_SAMPLE_SIZE(specs),
+ specs.rate);
+ if(alGetError() != AL_NO_ERROR)
+ AUD_THROW(AUD_ERROR_OPENAL, bufferdata_error);
+ }
- /// OpenAL source.
- ALuint source;
+ alGenSources(1, &m_source);
+ if(alGetError() != AL_NO_ERROR)
+ AUD_THROW(AUD_ERROR_OPENAL, gensource_error);
- /// OpenAL buffers.
- ALuint buffers[AUD_OPENAL_CYCLE_BUFFERS];
+ try
+ {
+ alSourceQueueBuffers(m_source, CYCLE_BUFFERS,
+ m_buffers);
+ if(alGetError() != AL_NO_ERROR)
+ AUD_THROW(AUD_ERROR_OPENAL, queue_error);
+ }
+ catch(AUD_Exception&)
+ {
+ alDeleteSources(1, &m_source);
+ throw;
+ }
+ }
+ catch(AUD_Exception&)
+ {
+ alDeleteBuffers(CYCLE_BUFFERS, m_buffers);
+ throw;
+ }
+ alSourcei(m_source, AL_SOURCE_RELATIVE, 1);
+}
- /// The first buffer to be read next.
- int current;
+bool AUD_OpenALDevice::AUD_OpenALHandle::pause()
+{
+ if(m_status)
+ {
+ m_device->lock();
- /// Whether the stream doesn't return any more data.
- bool data_end;
+ if(m_status == AUD_STATUS_PLAYING)
+ {
+ m_device->m_playingSounds.remove(this);
+ m_device->m_pausedSounds.push_back(this);
- /// The loop count of the source.
- int loopcount;
+ alSourcePause(m_source);
- /// The stop callback.
- stopCallback stop;
+ m_status = AUD_STATUS_PAUSED;
+ m_device->unlock();
- /// Stop callback data.
- void* stop_data;
-};
+ return true;
+ }
+
+ m_device->unlock();
+ }
-struct AUD_OpenALBufferedFactory
+ return false;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::resume()
{
- /// The factory.
- AUD_IFactory* factory;
+ if(m_status)
+ {
+ m_device->lock();
- /// The OpenAL buffer.
- ALuint buffer;
-};
+ if(m_status == AUD_STATUS_PAUSED)
+ {
+ m_device->m_pausedSounds.remove(this);
+ m_device->m_playingSounds.push_back(this);
+
+ m_device->start();
+ m_status = AUD_STATUS_PLAYING;
+ m_device->unlock();
+ return true;
+ }
+
+ m_device->unlock();
+ }
+
+ return false;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::stop()
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ // AUD_XXX Create a reference of our own object so that it doesn't get
+ // deleted before the end of this function
+ AUD_Reference<AUD_OpenALHandle> This = this;
+
+ if(m_status == AUD_STATUS_PLAYING)
+ m_device->m_playingSounds.remove(This);
+ else
+ m_device->m_pausedSounds.remove(This);
+
+ m_device->unlock();
+
+ alDeleteSources(1, &m_source);
+ if(!m_isBuffered)
+ alDeleteBuffers(CYCLE_BUFFERS, m_buffers);
+
+ m_status = AUD_STATUS_INVALID;
+ return true;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::getKeep()
+{
+ if(m_status)
+ return m_keep;
+
+ return false;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setKeep(bool keep)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ m_keep = keep;
+
+ m_device->unlock();
+
+ return true;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::seek(float position)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ if(m_isBuffered)
+ alSourcef(m_source, AL_SEC_OFFSET, position);
+ else
+ {
+ m_reader->seek((int)(position * m_reader->getSpecs().rate));
+ m_eos = false;
+
+ ALint info;
+
+ alGetSourcei(m_source, AL_SOURCE_STATE, &info);
+
+ if(info != AL_PLAYING)
+ {
+ if(info == AL_PAUSED)
+ alSourceStop(m_source);
+
+ alSourcei(m_source, AL_BUFFER, 0);
+ m_current = 0;
+
+ ALenum err;
+ if((err = alGetError()) == AL_NO_ERROR)
+ {
+ int length;
+ AUD_DeviceSpecs specs = m_device->m_specs;
+ specs.specs = m_reader->getSpecs();
+ m_device->m_buffer.assureSize(m_device->m_buffersize * AUD_DEVICE_SAMPLE_SIZE(specs));
+
+ for(int i = 0; i < CYCLE_BUFFERS; i++)
+ {
+ length = m_device->m_buffersize;
+ m_reader->read(length, m_eos, m_device->m_buffer.getBuffer());
+ alBufferData(m_buffers[i], m_format, m_device->m_buffer.getBuffer(),
+ length * AUD_DEVICE_SAMPLE_SIZE(specs), specs.rate);
+
+ if(alGetError() != AL_NO_ERROR)
+ break;
+ }
+
+ if(m_loopcount != 0)
+ m_eos = false;
+
+ alSourceQueueBuffers(m_source, CYCLE_BUFFERS, m_buffers);
+ }
+
+ alSourceRewind(m_source);
+ }
+ }
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getPosition()
+{
+ if(!m_status)
+ return 0.0f;
+
+ m_device->lock();
+
+ float position = 0.0f;
+
+ alGetSourcef(m_source, AL_SEC_OFFSET, &position);
+
+ if(!m_isBuffered)
+ {
+ AUD_Specs specs = m_reader->getSpecs();
+ position += (m_reader->getPosition() - m_device->m_buffersize *
+ CYCLE_BUFFERS) / (float)specs.rate;
+ }
+
+ m_device->unlock();
+
+ return position;
+}
+
+AUD_Status AUD_OpenALDevice::AUD_OpenALHandle::getStatus()
+{
+ return m_status;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getVolume()
+{
+ float result = std::numeric_limits<float>::quiet_NaN();
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ alGetSourcef(m_source, AL_GAIN, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setVolume(float volume)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcef(m_source, AL_GAIN, volume);
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getPitch()
+{
+ float result = std::numeric_limits<float>::quiet_NaN();
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ alGetSourcef(m_source, AL_PITCH, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setPitch(float pitch)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcef(m_source, AL_PITCH, pitch);
+
+ m_device->unlock();
+
+ return true;
+}
+
+int AUD_OpenALDevice::AUD_OpenALHandle::getLoopCount()
+{
+ if(!m_status)
+ return 0;
+ return m_loopcount;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setLoopCount(int count)
+{
+ if(!m_status)
+ return false;
+ m_loopcount = count;
+ return true;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setStopCallback(stopCallback callback, void* data)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ m_stop = callback;
+ m_stop_data = data;
+
+ m_device->unlock();
+
+ return true;
+}
+
+/******************************************************************************/
+/********************* AUD_OpenALHandle 3DHandle Code *************************/
+/******************************************************************************/
+
+AUD_Vector3 AUD_OpenALDevice::AUD_OpenALHandle::getSourceLocation()
+{
+ AUD_Vector3 result = AUD_Vector3(0, 0, 0);
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ ALfloat p[3];
+ alGetSourcefv(m_source, AL_POSITION, p);
+
+ m_device->unlock();
+
+ result = AUD_Vector3(p[0], p[1], p[2]);
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setSourceLocation(const AUD_Vector3& location)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcefv(m_source, AL_POSITION, (ALfloat*)location.get());
+
+ m_device->unlock();
+
+ return true;
+}
+
+AUD_Vector3 AUD_OpenALDevice::AUD_OpenALHandle::getSourceVelocity()
+{
+ AUD_Vector3 result = AUD_Vector3(0, 0, 0);
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ ALfloat v[3];
+ alGetSourcefv(m_source, AL_VELOCITY, v);
+
+ m_device->unlock();
+
+ result = AUD_Vector3(v[0], v[1], v[2]);
+
+ return result;
+}
-typedef std::list<AUD_OpenALHandle*>::iterator AUD_HandleIterator;
-typedef std::list<AUD_OpenALBufferedFactory*>::iterator AUD_BFIterator;
+bool AUD_OpenALDevice::AUD_OpenALHandle::setSourceVelocity(const AUD_Vector3& velocity)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcefv(m_source, AL_VELOCITY, (ALfloat*)velocity.get());
+
+ m_device->unlock();
+
+ return true;
+}
+
+AUD_Quaternion AUD_OpenALDevice::AUD_OpenALHandle::getSourceOrientation()
+{
+ return m_orientation;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setSourceOrientation(const AUD_Quaternion& orientation)
+{
+ if(!m_status)
+ return false;
+
+ ALfloat direction[3];
+ direction[0] = -2 * (orientation.w() * orientation.y() +
+ orientation.x() * orientation.z());
+ direction[1] = 2 * (orientation.x() * orientation.w() -
+ orientation.z() * orientation.y());
+ direction[2] = 2 * (orientation.x() * orientation.x() +
+ orientation.y() * orientation.y()) - 1;
+ m_device->lock();
+
+ alSourcefv(m_source, AL_DIRECTION, direction);
+
+ m_device->unlock();
+
+ m_orientation = orientation;
+
+ return true;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::isRelative()
+{
+ int result;
+
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alGetSourcei(m_source, AL_SOURCE_RELATIVE, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setRelative(bool relative)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcei(m_source, AL_SOURCE_RELATIVE, relative);
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getVolumeMaximum()
+{
+ float result = std::numeric_limits<float>::quiet_NaN();
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ alGetSourcef(m_source, AL_MAX_GAIN, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setVolumeMaximum(float volume)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcef(m_source, AL_MAX_GAIN, volume);
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getVolumeMinimum()
+{
+ float result = std::numeric_limits<float>::quiet_NaN();
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ alGetSourcef(m_source, AL_MIN_GAIN, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setVolumeMinimum(float volume)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcef(m_source, AL_MIN_GAIN, volume);
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getDistanceMaximum()
+{
+ float result = std::numeric_limits<float>::quiet_NaN();
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ alGetSourcef(m_source, AL_MAX_DISTANCE, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setDistanceMaximum(float distance)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcef(m_source, AL_MAX_DISTANCE, distance);
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getDistanceReference()
+{
+ float result = std::numeric_limits<float>::quiet_NaN();
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ alGetSourcef(m_source, AL_REFERENCE_DISTANCE, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setDistanceReference(float distance)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcef(m_source, AL_REFERENCE_DISTANCE, distance);
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getAttenuation()
+{
+ float result = std::numeric_limits<float>::quiet_NaN();
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ alGetSourcef(m_source, AL_ROLLOFF_FACTOR, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setAttenuation(float factor)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcef(m_source, AL_ROLLOFF_FACTOR, factor);
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getConeAngleOuter()
+{
+ float result = std::numeric_limits<float>::quiet_NaN();
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ alGetSourcef(m_source, AL_CONE_OUTER_ANGLE, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setConeAngleOuter(float angle)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcef(m_source, AL_CONE_OUTER_ANGLE, angle);
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getConeAngleInner()
+{
+ float result = std::numeric_limits<float>::quiet_NaN();
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ alGetSourcef(m_source, AL_CONE_INNER_ANGLE, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setConeAngleInner(float angle)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcef(m_source, AL_CONE_INNER_ANGLE, angle);
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_OpenALDevice::AUD_OpenALHandle::getConeVolumeOuter()
+{
+ float result = std::numeric_limits<float>::quiet_NaN();
+
+ if(!m_status)
+ return result;
+
+ m_device->lock();
+
+ alGetSourcef(m_source, AL_CONE_OUTER_GAIN, &result);
+
+ m_device->unlock();
+
+ return result;
+}
+
+bool AUD_OpenALDevice::AUD_OpenALHandle::setConeVolumeOuter(float volume)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ alSourcef(m_source, AL_CONE_OUTER_GAIN, volume);
+
+ m_device->unlock();
+
+ return true;
+}
/******************************************************************************/
/**************************** Threading Code **********************************/
@@ -105,12 +776,15 @@ void* AUD_openalRunThread(void* device)
return NULL;
}
-void AUD_OpenALDevice::start()
+void AUD_OpenALDevice::start(bool join)
{
lock();
if(!m_playing)
{
+ if(join)
+ pthread_join(m_thread, NULL);
+
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
@@ -127,16 +801,15 @@ void AUD_OpenALDevice::start()
void AUD_OpenALDevice::updateStreams()
{
- AUD_OpenALHandle* sound;
+ AUD_Reference<AUD_OpenALHandle> sound;
int length;
- sample_t* buffer;
ALint info;
AUD_DeviceSpecs specs = m_specs;
ALCenum cerr;
- std::list<AUD_OpenALHandle*> stopSounds;
- std::list<AUD_OpenALHandle*> pauseSounds;
+ std::list<AUD_Reference<AUD_OpenALHandle> > stopSounds;
+ std::list<AUD_Reference<AUD_OpenALHandle> > pauseSounds;
AUD_HandleIterator it;
while(1)
@@ -148,83 +821,86 @@ void AUD_OpenALDevice::updateStreams()
if(cerr == ALC_NO_ERROR)
{
// for all sounds
- for(it = m_playingSounds->begin(); it != m_playingSounds->end(); it++)
+ for(it = m_playingSounds.begin(); it != m_playingSounds.end(); it++)
{
sound = *it;
// is it a streamed sound?
- if(!sound->isBuffered)
+ if(!sound->m_isBuffered)
{
// check for buffer refilling
- alGetSourcei(sound->source, AL_BUFFERS_PROCESSED, &info);
+ alGetSourcei(sound->m_source, AL_BUFFERS_PROCESSED, &info);
if(info)
{
- specs.specs = sound->reader->getSpecs();
+ specs.specs = sound->m_reader->getSpecs();
+ m_buffer.assureSize(m_buffersize * AUD_DEVICE_SAMPLE_SIZE(specs));
// for all empty buffers
while(info--)
{
// if there's still data to play back
- if(!sound->data_end)
+ if(!sound->m_eos)
{
// read data
length = m_buffersize;
- sound->reader->read(length, buffer);
+ sound->m_reader->read(length, sound->m_eos, m_buffer.getBuffer());
// looping necessary?
- if(length == 0 && sound->loopcount)
+ if(length == 0 && sound->m_loopcount)
{
- if(sound->loopcount > 0)
- sound->loopcount--;
+ if(sound->m_loopcount > 0)
+ sound->m_loopcount--;
- sound->reader->seek(0);
+ sound->m_reader->seek(0);
length = m_buffersize;
- sound->reader->read(length, buffer);
+ sound->m_reader->read(length, sound->m_eos, m_buffer.getBuffer());
}
+ if(sound->m_loopcount != 0)
+ sound->m_eos = false;
+
// read nothing?
if(length == 0)
{
- sound->data_end = true;
break;
}
// unqueue buffer
- alSourceUnqueueBuffers(sound->source, 1,
- &sound->buffers[sound->current]);
+ alSourceUnqueueBuffers(sound->m_source, 1,
+ &sound->m_buffers[sound->m_current]);
ALenum err;
if((err = alGetError()) != AL_NO_ERROR)
{
- sound->data_end = true;
+ sound->m_eos = true;
break;
}
// fill with new data
- alBufferData(sound->buffers[sound->current],
- sound->format,
- buffer, length *
+ alBufferData(sound->m_buffers[sound->m_current],
+ sound->m_format,
+ m_buffer.getBuffer(), length *
AUD_DEVICE_SAMPLE_SIZE(specs),
specs.rate);
if((err = alGetError()) != AL_NO_ERROR)
{
- sound->data_end = true;
+ sound->m_eos = true;
break;
}
// and queue again
- alSourceQueueBuffers(sound->source, 1,
- &sound->buffers[sound->current]);
+ alSourceQueueBuffers(sound->m_source, 1,
+ &sound->m_buffers[sound->m_current]);
if(alGetError() != AL_NO_ERROR)
{
- sound->data_end = true;
+ sound->m_eos = true;
break;
}
- sound->current = (sound->current+1) %
- AUD_OPENAL_CYCLE_BUFFERS;
+ sound->m_current = (sound->m_current+1) %
+ AUD_OpenALHandle::CYCLE_BUFFERS;
}
else
break;
@@ -233,18 +909,18 @@ void AUD_OpenALDevice::updateStreams()
}
// check if the sound has been stopped
- alGetSourcei(sound->source, AL_SOURCE_STATE, &info);
+ alGetSourcei(sound->m_source, AL_SOURCE_STATE, &info);
if(info != AL_PLAYING)
{
// if it really stopped
- if(sound->data_end)
+ if(sound->m_eos)
{
- if(sound->stop)
- sound->stop(sound->stop_data);
+ if(sound->m_stop)
+ sound->m_stop(sound->m_stop_data);
// pause or
- if(sound->keep)
+ if(sound->m_keep)
pauseSounds.push_back(sound);
// stop
else
@@ -252,15 +928,15 @@ void AUD_OpenALDevice::updateStreams()
}
// continue playing
else
- alSourcePlay(sound->source);
+ alSourcePlay(sound->m_source);
}
}
for(it = pauseSounds.begin(); it != pauseSounds.end(); it++)
- pause(*it);
+ (*it)->pause();
for(it = stopSounds.begin(); it != stopSounds.end(); it++)
- stop(*it);
+ (*it)->stop();
pauseSounds.clear();
stopSounds.clear();
@@ -269,10 +945,10 @@ void AUD_OpenALDevice::updateStreams()
}
// stop thread
- if(m_playingSounds->empty() || (cerr != ALC_NO_ERROR))
+ if(m_playingSounds.empty() || (cerr != ALC_NO_ERROR))
{
- unlock();
m_playing = false;
+ unlock();
pthread_exit(NULL);
}
@@ -290,19 +966,6 @@ void AUD_OpenALDevice::updateStreams()
/**************************** IDevice Code ************************************/
/******************************************************************************/
-bool AUD_OpenALDevice::isValid(AUD_Handle* handle)
-{
- for(AUD_HandleIterator i = m_playingSounds->begin();
- i != m_playingSounds->end(); i++)
- if(*i == handle)
- return true;
- for(AUD_HandleIterator i = m_pausedSounds->begin();
- i != m_pausedSounds->end(); i++)
- if(*i == handle)
- return true;
- return false;
-}
-
static const char* open_error = "AUD_OpenALDevice: Device couldn't be opened.";
AUD_OpenALDevice::AUD_OpenALDevice(AUD_DeviceSpecs specs, int buffersize)
@@ -355,9 +1018,7 @@ AUD_OpenALDevice::AUD_OpenALDevice(AUD_DeviceSpecs specs, int buffersize)
m_buffersize = buffersize;
m_playing = false;
- m_playingSounds = new std::list<AUD_OpenALHandle*>();
- m_pausedSounds = new std::list<AUD_OpenALHandle*>();
- m_bufferedFactories = new std::list<AUD_OpenALBufferedFactory*>();
+// m_bufferedFactories = new std::list<AUD_OpenALBufferedFactory*>();
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
@@ -366,65 +1027,37 @@ AUD_OpenALDevice::AUD_OpenALDevice(AUD_DeviceSpecs specs, int buffersize)
pthread_mutex_init(&m_mutex, &attr);
pthread_mutexattr_destroy(&attr);
+
+ start(false);
}
AUD_OpenALDevice::~AUD_OpenALDevice()
{
- AUD_OpenALHandle* sound;
-
lock();
alcSuspendContext(m_context);
- // delete all playing sounds
- while(!m_playingSounds->empty())
- {
- sound = *(m_playingSounds->begin());
- alDeleteSources(1, &sound->source);
- if(!sound->isBuffered)
- {
- delete sound->reader;
- alDeleteBuffers(AUD_OPENAL_CYCLE_BUFFERS, sound->buffers);
- }
- delete sound;
- m_playingSounds->erase(m_playingSounds->begin());
- }
+ while(!m_playingSounds.empty())
+ m_playingSounds.front()->stop();
+
+ while(!m_pausedSounds.empty())
+ m_pausedSounds.front()->stop();
- // delete all paused sounds
- while(!m_pausedSounds->empty())
- {
- sound = *(m_pausedSounds->begin());
- alDeleteSources(1, &sound->source);
- if(!sound->isBuffered)
- {
- delete sound->reader;
- alDeleteBuffers(AUD_OPENAL_CYCLE_BUFFERS, sound->buffers);
- }
- delete sound;
- m_pausedSounds->erase(m_pausedSounds->begin());
- }
// delete all buffered factories
- while(!m_bufferedFactories->empty())
+ /*while(!m_bufferedFactories->empty())
{
alDeleteBuffers(1, &(*(m_bufferedFactories->begin()))->buffer);
delete *m_bufferedFactories->begin();
m_bufferedFactories->erase(m_bufferedFactories->begin());
- }
+ }*/
alcProcessContext(m_context);
// wait for the thread to stop
- if(m_playing)
- {
- unlock();
- pthread_join(m_thread, NULL);
- }
- else
- unlock();
+ unlock();
+ pthread_join(m_thread, NULL);
- delete m_playingSounds;
- delete m_pausedSounds;
- delete m_bufferedFactories;
+ //delete m_bufferedFactories;
// quit OpenAL
alcMakeContextCurrent(NULL);
@@ -530,120 +1163,54 @@ bool AUD_OpenALDevice::getFormat(ALenum &format, AUD_Specs specs)
return valid;
}
-static const char* genbuffer_error = "AUD_OpenALDevice: Buffer couldn't be "
- "generated.";
-static const char* gensource_error = "AUD_OpenALDevice: Source couldn't be "
- "generated.";
-static const char* queue_error = "AUD_OpenALDevice: Buffer couldn't be "
- "queued to the source.";
-static const char* bufferdata_error = "AUD_OpenALDevice: Buffer couldn't be "
- "filled with data.";
-
-AUD_Handle* AUD_OpenALDevice::play(AUD_IReader* reader, bool keep)
+AUD_Reference<AUD_IHandle> AUD_OpenALDevice::play(AUD_Reference<AUD_IReader> reader, bool keep)
{
- AUD_OpenALHandle* sound = NULL;
-
- AUD_DeviceSpecs specs = m_specs;
- specs.specs = reader->getSpecs();
+ AUD_Specs specs = reader->getSpecs();
// check format
- bool valid = specs.channels != AUD_CHANNELS_INVALID;
+ if(specs.channels == AUD_CHANNELS_INVALID)
+ return AUD_Reference<AUD_IHandle>();
if(m_specs.format != AUD_FORMAT_FLOAT32)
reader = new AUD_ConverterReader(reader, m_specs);
- // create the handle
- sound = new AUD_OpenALHandle;
- sound->keep = keep;
- sound->reader = reader;
- sound->current = 0;
- sound->isBuffered = false;
- sound->data_end = false;
- sound->loopcount = 0;
- sound->stop = NULL;
- sound->stop_data = NULL;
-
- valid &= getFormat(sound->format, specs.specs);
+ ALenum format;
- if(!valid)
- {
- delete sound;
- delete reader;
- return NULL;
- }
+ if(!getFormat(format, specs))
+ return AUD_Reference<AUD_IHandle>();
lock();
alcSuspendContext(m_context);
- // OpenAL playback code
+ AUD_Reference<AUD_OpenALDevice::AUD_OpenALHandle> sound;
+
try
{
- alGenBuffers(AUD_OPENAL_CYCLE_BUFFERS, sound->buffers);
- if(alGetError() != AL_NO_ERROR)
- AUD_THROW(AUD_ERROR_OPENAL, genbuffer_error);
-
- try
- {
- sample_t* buf;
- int length;
-
- for(int i = 0; i < AUD_OPENAL_CYCLE_BUFFERS; i++)
- {
- length = m_buffersize;
- reader->read(length, buf);
- alBufferData(sound->buffers[i], sound->format, buf,
- length * AUD_DEVICE_SAMPLE_SIZE(specs),
- specs.rate);
- if(alGetError() != AL_NO_ERROR)
- AUD_THROW(AUD_ERROR_OPENAL, bufferdata_error);
- }
-
- alGenSources(1, &sound->source);
- if(alGetError() != AL_NO_ERROR)
- AUD_THROW(AUD_ERROR_OPENAL, gensource_error);
-
- try
- {
- alSourceQueueBuffers(sound->source, AUD_OPENAL_CYCLE_BUFFERS,
- sound->buffers);
- if(alGetError() != AL_NO_ERROR)
- AUD_THROW(AUD_ERROR_OPENAL, queue_error);
- }
- catch(AUD_Exception&)
- {
- alDeleteSources(1, &sound->source);
- throw;
- }
- }
- catch(AUD_Exception&)
- {
- alDeleteBuffers(AUD_OPENAL_CYCLE_BUFFERS, sound->buffers);
- throw;
- }
+ // create the handle
+ sound = new AUD_OpenALDevice::AUD_OpenALHandle(this, format, reader, keep);
}
catch(AUD_Exception&)
{
- delete sound;
- delete reader;
alcProcessContext(m_context);
unlock();
throw;
}
+ alcProcessContext(m_context);
+
// play sound
- m_playingSounds->push_back(sound);
- alSourcei(sound->source, AL_SOURCE_RELATIVE, 1);
+ m_playingSounds.push_back(sound);
start();
- alcProcessContext(m_context);
unlock();
- return sound;
+ return AUD_Reference<AUD_IHandle>(sound);
}
-AUD_Handle* AUD_OpenALDevice::play(AUD_IFactory* factory, bool keep)
+AUD_Reference<AUD_IHandle> AUD_OpenALDevice::play(AUD_Reference<AUD_IFactory> factory, bool keep)
{
+ /* AUD_XXX disabled
AUD_OpenALHandle* sound = NULL;
lock();
@@ -661,7 +1228,7 @@ AUD_Handle* AUD_OpenALDevice::play(AUD_IFactory* factory, bool keep)
sound->keep = keep;
sound->current = -1;
sound->isBuffered = true;
- sound->data_end = true;
+ sound->eos = true;
sound->loopcount = 0;
sound->stop = NULL;
sound->stop_data = NULL;
@@ -713,264 +1280,24 @@ AUD_Handle* AUD_OpenALDevice::play(AUD_IFactory* factory, bool keep)
unlock();
if(sound)
- return sound;
+ return sound;*/
return play(factory->createReader(), keep);
}
-bool AUD_OpenALDevice::pause(AUD_Handle* handle)
-{
- bool result = false;
-
- lock();
-
- // only songs that are played can be paused
- for(AUD_HandleIterator i = m_playingSounds->begin();
- i != m_playingSounds->end(); i++)
- {
- if(*i == handle)
- {
- m_pausedSounds->push_back(*i);
- alSourcePause((*i)->source);
- m_playingSounds->erase(i);
- result = true;
- break;
- }
- }
-
- unlock();
-
- return result;
-}
-
-bool AUD_OpenALDevice::resume(AUD_Handle* handle)
-{
- bool result = false;
-
- lock();
-
- // only songs that are paused can be resumed
- for(AUD_HandleIterator i = m_pausedSounds->begin();
- i != m_pausedSounds->end(); i++)
- {
- if(*i == handle)
- {
- m_playingSounds->push_back(*i);
- start();
- m_pausedSounds->erase(i);
- result = true;
- break;
- }
- }
-
- unlock();
-
- return result;
-}
-
-bool AUD_OpenALDevice::stop(AUD_Handle* handle)
-{
- AUD_OpenALHandle* sound;
-
- bool result = false;
-
- lock();
-
- for(AUD_HandleIterator i = m_playingSounds->begin();
- i != m_playingSounds->end(); i++)
- {
- if(*i == handle)
- {
- sound = *i;
- alDeleteSources(1, &sound->source);
- if(!sound->isBuffered)
- {
- delete sound->reader;
- alDeleteBuffers(AUD_OPENAL_CYCLE_BUFFERS, sound->buffers);
- }
- delete *i;
- m_playingSounds->erase(i);
- result = true;
- break;
- }
- }
- if(!result)
- {
- for(AUD_HandleIterator i = m_pausedSounds->begin();
- i != m_pausedSounds->end(); i++)
- {
- if(*i == handle)
- {
- sound = *i;
- alDeleteSources(1, &sound->source);
- if(!sound->isBuffered)
- {
- delete sound->reader;
- alDeleteBuffers(AUD_OPENAL_CYCLE_BUFFERS, sound->buffers);
- }
- delete *i;
- m_pausedSounds->erase(i);
- result = true;
- break;
- }
- }
- }
-
- unlock();
-
- return result;
-}
-
-bool AUD_OpenALDevice::getKeep(AUD_Handle* handle)
-{
- bool result = false;
-
- lock();
-
- if(isValid(handle))
- result = ((AUD_OpenALHandle*)handle)->keep;
-
- unlock();
-
- return result;
-}
-
-bool AUD_OpenALDevice::setKeep(AUD_Handle* handle, bool keep)
-{
- bool result = false;
-
- lock();
-
- if(isValid(handle))
- {
- ((AUD_OpenALHandle*)handle)->keep = keep;
- result = true;
- }
-
- unlock();
-
- return result;
-}
-
-bool AUD_OpenALDevice::seek(AUD_Handle* handle, float position)
+void AUD_OpenALDevice::stopAll()
{
- bool result = false;
-
lock();
+ alcSuspendContext(m_context);
- if(isValid(handle))
- {
- AUD_OpenALHandle* alhandle = (AUD_OpenALHandle*)handle;
- if(alhandle->isBuffered)
- alSourcef(alhandle->source, AL_SEC_OFFSET, position);
- else
- {
- alhandle->reader->seek((int)(position *
- alhandle->reader->getSpecs().rate));
- alhandle->data_end = false;
-
- ALint info;
-
- alGetSourcei(alhandle->source, AL_SOURCE_STATE, &info);
-
- if(info != AL_PLAYING)
- {
- if(info == AL_PAUSED)
- alSourceStop(alhandle->source);
-
- alSourcei(alhandle->source, AL_BUFFER, 0);
- alhandle->current = 0;
-
- ALenum err;
- if((err = alGetError()) == AL_NO_ERROR)
- {
- sample_t* buf;
- int length;
- AUD_DeviceSpecs specs = m_specs;
- specs.specs = alhandle->reader->getSpecs();
-
- for(int i = 0; i < AUD_OPENAL_CYCLE_BUFFERS; i++)
- {
- length = m_buffersize;
- alhandle->reader->read(length, buf);
- alBufferData(alhandle->buffers[i], alhandle->format,
- buf,
- length * AUD_DEVICE_SAMPLE_SIZE(specs),
- specs.rate);
-
- if(alGetError() != AL_NO_ERROR)
- break;
- }
-
- alSourceQueueBuffers(alhandle->source,
- AUD_OPENAL_CYCLE_BUFFERS,
- alhandle->buffers);
- }
-
- alSourceRewind(alhandle->source);
- }
- }
- result = true;
- }
-
- unlock();
- return result;
-}
-
-float AUD_OpenALDevice::getPosition(AUD_Handle* handle)
-{
- float position = 0.0f;
-
- lock();
-
- if(isValid(handle))
- {
- AUD_OpenALHandle* h = (AUD_OpenALHandle*)handle;
- alGetSourcef(h->source, AL_SEC_OFFSET, &position);
- if(!h->isBuffered)
- {
- AUD_Specs specs = h->reader->getSpecs();
- position += (h->reader->getPosition() - m_buffersize *
- AUD_OPENAL_CYCLE_BUFFERS) /
- (float)specs.rate;
- }
- }
-
- unlock();
- return position;
-}
-
-AUD_Status AUD_OpenALDevice::getStatus(AUD_Handle* handle)
-{
- AUD_Status status = AUD_STATUS_INVALID;
-
- lock();
+ while(!m_playingSounds.empty())
+ m_playingSounds.front()->stop();
- for(AUD_HandleIterator i = m_playingSounds->begin();
- i != m_playingSounds->end(); i++)
- {
- if(*i == handle)
- {
- status = AUD_STATUS_PLAYING;
- break;
- }
- }
- if(status == AUD_STATUS_INVALID)
- {
- for(AUD_HandleIterator i = m_pausedSounds->begin();
- i != m_pausedSounds->end(); i++)
- {
- if(*i == handle)
- {
- status = AUD_STATUS_PAUSED;
- break;
- }
- }
- }
+ while(!m_pausedSounds.empty())
+ m_pausedSounds.front()->stop();
+ alcProcessContext(m_context);
unlock();
-
- return status;
}
void AUD_OpenALDevice::lock()
@@ -995,80 +1322,6 @@ void AUD_OpenALDevice::setVolume(float volume)
alListenerf(AL_GAIN, volume);
}
-float AUD_OpenALDevice::getVolume(AUD_Handle* handle)
-{
- lock();
- float result = std::numeric_limits<float>::quiet_NaN();
- if(isValid(handle))
- alGetSourcef(((AUD_OpenALHandle*)handle)->source,AL_GAIN, &result);
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setVolume(AUD_Handle* handle, float volume)
-{
- lock();
- bool result = isValid(handle);
- if(result)
- alSourcef(((AUD_OpenALHandle*)handle)->source, AL_GAIN, volume);
- unlock();
- return result;
-}
-
-float AUD_OpenALDevice::getPitch(AUD_Handle* handle)
-{
- lock();
- float result = std::numeric_limits<float>::quiet_NaN();
- if(isValid(handle))
- alGetSourcef(((AUD_OpenALHandle*)handle)->source,AL_PITCH, &result);
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setPitch(AUD_Handle* handle, float pitch)
-{
- lock();
- bool result = isValid(handle);
- if(result)
- alSourcef(((AUD_OpenALHandle*)handle)->source, AL_PITCH, pitch);
- unlock();
- return result;
-}
-
-int AUD_OpenALDevice::getLoopCount(AUD_Handle* handle)
-{
- lock();
- int result = 0;
- if(isValid(handle))
- result = ((AUD_OpenALHandle*)handle)->loopcount;
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setLoopCount(AUD_Handle* handle, int count)
-{
- lock();
- bool result = isValid(handle);
- if(result)
- ((AUD_OpenALHandle*)handle)->loopcount = count;
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setStopCallback(AUD_Handle* handle, stopCallback callback, void* data)
-{
- lock();
- bool result = isValid(handle);
- if(result)
- {
- AUD_OpenALHandle* h = (AUD_OpenALHandle*)handle;
- h->stop = callback;
- h->stop_data = data;
- }
- unlock();
- return result;
-}
-
/* AUD_XXX Temorary disabled
bool AUD_OpenALDevice::bufferFactory(void *value)
@@ -1109,7 +1362,6 @@ bool AUD_OpenALDevice::bufferFactory(void *value)
if(!getFormat(format, specs.specs))
{
- delete reader;
return false;
}
@@ -1147,7 +1399,6 @@ bool AUD_OpenALDevice::bufferFactory(void *value)
catch(AUD_Exception&)
{
delete bf;
- delete reader;
alcProcessContext(m_context);
unlock();
return false;
@@ -1219,8 +1470,7 @@ void AUD_OpenALDevice::setListenerVelocity(const AUD_Vector3& velocity)
AUD_Quaternion AUD_OpenALDevice::getListenerOrientation() const
{
- // AUD_XXX not implemented yet
- return AUD_Quaternion(0, 0, 0, 0);
+ return m_orientation;
}
void AUD_OpenALDevice::setListenerOrientation(const AUD_Quaternion& orientation)
@@ -1239,6 +1489,7 @@ void AUD_OpenALDevice::setListenerOrientation(const AUD_Quaternion& orientation)
direction[5] = 2 * (orientation.w() * orientation.x() +
orientation.y() * orientation.z());
alListenerfv(AL_ORIENTATION, direction);
+ m_orientation = orientation;
}
float AUD_OpenALDevice::getSpeedOfSound() const
@@ -1308,333 +1559,3 @@ void AUD_OpenALDevice::setDistanceModel(AUD_DistanceModel model)
alDistanceModel(AL_NONE);
}
}
-
-AUD_Vector3 AUD_OpenALDevice::getSourceLocation(AUD_Handle* handle)
-{
- AUD_Vector3 result = AUD_Vector3(0, 0, 0);
- ALfloat p[3];
- lock();
-
- if(isValid(handle))
- {
- alGetSourcefv(((AUD_OpenALHandle*)handle)->source, AL_POSITION, p);
- result = AUD_Vector3(p[0], p[1], p[2]);
- }
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setSourceLocation(AUD_Handle* handle, const AUD_Vector3& location)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- alSourcefv(((AUD_OpenALHandle*)handle)->source, AL_POSITION,
- (ALfloat*)location.get());
-
- unlock();
- return result;
-}
-
-AUD_Vector3 AUD_OpenALDevice::getSourceVelocity(AUD_Handle* handle)
-{
- AUD_Vector3 result = AUD_Vector3(0, 0, 0);
- ALfloat v[3];
- lock();
-
- if(isValid(handle))
- {
- alGetSourcefv(((AUD_OpenALHandle*)handle)->source, AL_VELOCITY, v);
- result = AUD_Vector3(v[0], v[1], v[2]);
- }
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setSourceVelocity(AUD_Handle* handle, const AUD_Vector3& velocity)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- alSourcefv(((AUD_OpenALHandle*)handle)->source, AL_VELOCITY,
- (ALfloat*)velocity.get());
-
- unlock();
- return result;
-}
-
-AUD_Quaternion AUD_OpenALDevice::getSourceOrientation(AUD_Handle* handle)
-{
- // AUD_XXX not implemented yet
- return AUD_Quaternion(0, 0, 0, 0);
-}
-
-bool AUD_OpenALDevice::setSourceOrientation(AUD_Handle* handle, const AUD_Quaternion& orientation)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- {
- ALfloat direction[3];
- direction[0] = -2 * (orientation.w() * orientation.y() +
- orientation.x() * orientation.z());
- direction[1] = 2 * (orientation.x() * orientation.w() -
- orientation.z() * orientation.y());
- direction[2] = 2 * (orientation.x() * orientation.x() +
- orientation.y() * orientation.y()) - 1;
- alSourcefv(((AUD_OpenALHandle*)handle)->source, AL_DIRECTION,
- direction);
- }
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::isRelative(AUD_Handle* handle)
-{
- int result = std::numeric_limits<float>::quiet_NaN();;
-
- lock();
-
- if(isValid(handle))
- alGetSourcei(((AUD_OpenALHandle*)handle)->source, AL_SOURCE_RELATIVE,
- &result);
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setRelative(AUD_Handle* handle, bool relative)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- alSourcei(((AUD_OpenALHandle*)handle)->source, AL_SOURCE_RELATIVE,
- relative);
-
- unlock();
- return result;
-}
-
-float AUD_OpenALDevice::getVolumeMaximum(AUD_Handle* handle)
-{
- float result = std::numeric_limits<float>::quiet_NaN();;
-
- lock();
-
- if(isValid(handle))
- alGetSourcef(((AUD_OpenALHandle*)handle)->source, AL_MAX_GAIN,
- &result);
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setVolumeMaximum(AUD_Handle* handle, float volume)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
-
- alSourcef(((AUD_OpenALHandle*)handle)->source, AL_MAX_GAIN,
- volume);
-
- unlock();
- return result;
-}
-
-float AUD_OpenALDevice::getVolumeMinimum(AUD_Handle* handle)
-{
- float result = std::numeric_limits<float>::quiet_NaN();;
-
- lock();
-
- if(isValid(handle))
- alGetSourcef(((AUD_OpenALHandle*)handle)->source, AL_MIN_GAIN,
- &result);
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setVolumeMinimum(AUD_Handle* handle, float volume)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- alSourcef(((AUD_OpenALHandle*)handle)->source, AL_MIN_GAIN,
- volume);
-
- unlock();
- return result;
-}
-
-float AUD_OpenALDevice::getDistanceMaximum(AUD_Handle* handle)
-{
- float result = std::numeric_limits<float>::quiet_NaN();;
-
- lock();
-
- if(isValid(handle))
- alGetSourcef(((AUD_OpenALHandle*)handle)->source, AL_MAX_DISTANCE,
- &result);
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setDistanceMaximum(AUD_Handle* handle, float distance)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- alSourcef(((AUD_OpenALHandle*)handle)->source, AL_MAX_DISTANCE,
- distance);
-
- unlock();
- return result;
-}
-
-float AUD_OpenALDevice::getDistanceReference(AUD_Handle* handle)
-{
- float result = std::numeric_limits<float>::quiet_NaN();;
-
- lock();
-
- if(isValid(handle))
- alGetSourcef(((AUD_OpenALHandle*)handle)->source, AL_REFERENCE_DISTANCE,
- &result);
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setDistanceReference(AUD_Handle* handle, float distance)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- alSourcef(((AUD_OpenALHandle*)handle)->source, AL_REFERENCE_DISTANCE,
- distance);
-
- unlock();
- return result;
-}
-
-float AUD_OpenALDevice::getAttenuation(AUD_Handle* handle)
-{
- float result = std::numeric_limits<float>::quiet_NaN();;
-
- lock();
-
- if(isValid(handle))
- alGetSourcef(((AUD_OpenALHandle*)handle)->source, AL_ROLLOFF_FACTOR,
- &result);
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setAttenuation(AUD_Handle* handle, float factor)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- alSourcef(((AUD_OpenALHandle*)handle)->source, AL_ROLLOFF_FACTOR,
- factor);
-
- unlock();
- return result;
-}
-
-float AUD_OpenALDevice::getConeAngleOuter(AUD_Handle* handle)
-{
- float result = std::numeric_limits<float>::quiet_NaN();;
-
- lock();
-
- if(isValid(handle))
- alGetSourcef(((AUD_OpenALHandle*)handle)->source, AL_CONE_OUTER_ANGLE,
- &result);
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setConeAngleOuter(AUD_Handle* handle, float angle)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- alSourcef(((AUD_OpenALHandle*)handle)->source, AL_CONE_OUTER_ANGLE,
- angle);
-
- unlock();
- return result;
-}
-
-float AUD_OpenALDevice::getConeAngleInner(AUD_Handle* handle)
-{
- float result = std::numeric_limits<float>::quiet_NaN();;
-
- lock();
-
- if(isValid(handle))
- alGetSourcef(((AUD_OpenALHandle*)handle)->source, AL_CONE_INNER_ANGLE,
- &result);
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setConeAngleInner(AUD_Handle* handle, float angle)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- alSourcef(((AUD_OpenALHandle*)handle)->source, AL_CONE_INNER_ANGLE,
- angle);
-
- unlock();
- return result;
-}
-
-float AUD_OpenALDevice::getConeVolumeOuter(AUD_Handle* handle)
-{
- float result = std::numeric_limits<float>::quiet_NaN();;
-
- lock();
-
- if(isValid(handle))
- alGetSourcef(((AUD_OpenALHandle*)handle)->source, AL_CONE_OUTER_GAIN,
- &result);
-
- unlock();
- return result;
-}
-
-bool AUD_OpenALDevice::setConeVolumeOuter(AUD_Handle* handle, float volume)
-{
- lock();
- bool result = isValid(handle);
-
- if(result)
- alSourcef(((AUD_OpenALHandle*)handle)->source, AL_CONE_OUTER_GAIN,
- volume);
-
- unlock();
- return result;
-}
diff --git a/intern/audaspace/OpenAL/AUD_OpenALDevice.h b/intern/audaspace/OpenAL/AUD_OpenALDevice.h
index 3bbbe85d7e6..a04b483132a 100644
--- a/intern/audaspace/OpenAL/AUD_OpenALDevice.h
+++ b/intern/audaspace/OpenAL/AUD_OpenALDevice.h
@@ -33,9 +33,11 @@
#define AUD_OPENALDEVICE
#include "AUD_IDevice.h"
+#include "AUD_IHandle.h"
#include "AUD_I3DDevice.h"
-struct AUD_OpenALHandle;
-struct AUD_OpenALBufferedFactory;
+#include "AUD_I3DHandle.h"
+#include "AUD_Buffer.h"
+//struct AUD_OpenALBufferedFactory;
#include <AL/al.h>
#include <AL/alc.h>
@@ -48,6 +50,110 @@ struct AUD_OpenALBufferedFactory;
class AUD_OpenALDevice : public AUD_IDevice, public AUD_I3DDevice
{
private:
+ /// Saves the data for playback.
+ class AUD_OpenALHandle : public AUD_IHandle, public AUD_I3DHandle
+ {
+ public:
+ static const int CYCLE_BUFFERS = 3;
+
+ /// Whether it's a buffered or a streamed source.
+ bool m_isBuffered;
+
+ /// The reader source.
+ AUD_Reference<AUD_IReader> m_reader;
+
+ /// Whether to keep the source if end of it is reached.
+ bool m_keep;
+
+ /// OpenAL sample format.
+ ALenum m_format;
+
+ /// OpenAL source.
+ ALuint m_source;
+
+ /// OpenAL buffers.
+ ALuint m_buffers[CYCLE_BUFFERS];
+
+ /// The first buffer to be read next.
+ int m_current;
+
+ /// Whether the stream doesn't return any more data.
+ bool m_eos;
+
+ /// The loop count of the source.
+ int m_loopcount;
+
+ /// The stop callback.
+ stopCallback m_stop;
+
+ /// Stop callback data.
+ void* m_stop_data;
+
+ /// Orientation.
+ AUD_Quaternion m_orientation;
+
+ /// Current status of the handle
+ AUD_Status m_status;
+
+ /// Own device.
+ AUD_OpenALDevice* m_device;
+
+ public:
+
+ /**
+ * Creates a new OpenAL handle.
+ * \param device The OpenAL device the handle belongs to.
+ * \param format The AL format.
+ * \param reader The reader this handle plays.
+ * \param keep Whether to keep the handle alive when the reader ends.
+ */
+ AUD_OpenALHandle(AUD_OpenALDevice* device, ALenum format, AUD_Reference<AUD_IReader> reader, bool keep);
+
+ virtual ~AUD_OpenALHandle() {}
+ virtual bool pause();
+ virtual bool resume();
+ virtual bool stop();
+ virtual bool getKeep();
+ virtual bool setKeep(bool keep);
+ virtual bool seek(float position);
+ virtual float getPosition();
+ virtual AUD_Status getStatus();
+ virtual float getVolume();
+ virtual bool setVolume(float volume);
+ virtual float getPitch();
+ virtual bool setPitch(float pitch);
+ virtual int getLoopCount();
+ virtual bool setLoopCount(int count);
+ virtual bool setStopCallback(stopCallback callback = 0, void* data = 0);
+
+ virtual AUD_Vector3 getSourceLocation();
+ virtual bool setSourceLocation(const AUD_Vector3& location);
+ virtual AUD_Vector3 getSourceVelocity();
+ virtual bool setSourceVelocity(const AUD_Vector3& velocity);
+ virtual AUD_Quaternion getSourceOrientation();
+ virtual bool setSourceOrientation(const AUD_Quaternion& orientation);
+ virtual bool isRelative();
+ virtual bool setRelative(bool relative);
+ virtual float getVolumeMaximum();
+ virtual bool setVolumeMaximum(float volume);
+ virtual float getVolumeMinimum();
+ virtual bool setVolumeMinimum(float volume);
+ virtual float getDistanceMaximum();
+ virtual bool setDistanceMaximum(float distance);
+ virtual float getDistanceReference();
+ virtual bool setDistanceReference(float distance);
+ virtual float getAttenuation();
+ virtual bool setAttenuation(float factor);
+ virtual float getConeAngleOuter();
+ virtual bool setConeAngleOuter(float angle);
+ virtual float getConeAngleInner();
+ virtual bool setConeAngleInner(float angle);
+ virtual float getConeVolumeOuter();
+ virtual bool setConeVolumeOuter(float volume);
+ };
+
+ typedef std::list<AUD_Reference<AUD_OpenALHandle> >::iterator AUD_HandleIterator;
+
/**
* The OpenAL device handle.
*/
@@ -71,17 +177,17 @@ private:
/**
* The list of sounds that are currently playing.
*/
- std::list<AUD_OpenALHandle*>* m_playingSounds;
+ std::list<AUD_Reference<AUD_OpenALHandle> > m_playingSounds;
/**
* The list of sounds that are currently paused.
*/
- std::list<AUD_OpenALHandle*>* m_pausedSounds;
+ std::list<AUD_Reference<AUD_OpenALHandle> > m_pausedSounds;
/**
* The list of buffered factories.
*/
- std::list<AUD_OpenALBufferedFactory*>* m_bufferedFactories;
+ //std::list<AUD_OpenALBufferedFactory*>* m_bufferedFactories;
/**
* The mutex for locking.
@@ -104,16 +210,20 @@ private:
int m_buffersize;
/**
- * Starts the streaming thread.
+ * Device buffer.
+ */
+ AUD_Buffer m_buffer;
+
+ /**
+ * Orientation.
*/
- void start();
+ AUD_Quaternion m_orientation;
/**
- * Checks if a handle is valid.
- * \param handle The handle to check.
- * \return Whether the handle is valid.
+ * Starts the streaming thread.
+ * \param Whether the previous thread should be joined.
*/
- bool isValid(AUD_Handle* handle);
+ void start(bool join = true);
/**
* Gets the format according to the specs.
@@ -147,27 +257,13 @@ public:
virtual ~AUD_OpenALDevice();
virtual AUD_DeviceSpecs getSpecs() const;
- virtual AUD_Handle* play(AUD_IReader* reader, bool keep = false);
- virtual AUD_Handle* play(AUD_IFactory* factory, bool keep = false);
- virtual bool pause(AUD_Handle* handle);
- virtual bool resume(AUD_Handle* handle);
- virtual bool stop(AUD_Handle* handle);
- virtual bool getKeep(AUD_Handle* handle);
- virtual bool setKeep(AUD_Handle* handle, bool keep);
- virtual bool seek(AUD_Handle* handle, float position);
- virtual float getPosition(AUD_Handle* handle);
- virtual AUD_Status getStatus(AUD_Handle* handle);
+ virtual AUD_Reference<AUD_IHandle> play(AUD_Reference<AUD_IReader> reader, bool keep = false);
+ virtual AUD_Reference<AUD_IHandle> play(AUD_Reference<AUD_IFactory> factory, bool keep = false);
+ virtual void stopAll();
virtual void lock();
virtual void unlock();
virtual float getVolume() const;
virtual void setVolume(float volume);
- virtual float getVolume(AUD_Handle* handle);
- virtual bool setVolume(AUD_Handle* handle, float volume);
- virtual float getPitch(AUD_Handle* handle);
- virtual bool setPitch(AUD_Handle* handle, float pitch);
- virtual int getLoopCount(AUD_Handle* handle);
- virtual bool setLoopCount(AUD_Handle* handle, int count);
- virtual bool setStopCallback(AUD_Handle* handle, stopCallback callback = NULL, void* data = NULL);
virtual AUD_Vector3 getListenerLocation() const;
virtual void setListenerLocation(const AUD_Vector3& location);
@@ -181,30 +277,6 @@ public:
virtual void setDopplerFactor(float factor);
virtual AUD_DistanceModel getDistanceModel() const;
virtual void setDistanceModel(AUD_DistanceModel model);
- virtual AUD_Vector3 getSourceLocation(AUD_Handle* handle);
- virtual bool setSourceLocation(AUD_Handle* handle, const AUD_Vector3& location);
- virtual AUD_Vector3 getSourceVelocity(AUD_Handle* handle);
- virtual bool setSourceVelocity(AUD_Handle* handle, const AUD_Vector3& velocity);
- virtual AUD_Quaternion getSourceOrientation(AUD_Handle* handle);
- virtual bool setSourceOrientation(AUD_Handle* handle, const AUD_Quaternion& orientation);
- virtual bool isRelative(AUD_Handle* handle);
- virtual bool setRelative(AUD_Handle* handle, bool relative);
- virtual float getVolumeMaximum(AUD_Handle* handle);
- virtual bool setVolumeMaximum(AUD_Handle* handle, float volume);
- virtual float getVolumeMinimum(AUD_Handle* handle);
- virtual bool setVolumeMinimum(AUD_Handle* handle, float volume);
- virtual float getDistanceMaximum(AUD_Handle* handle);
- virtual bool setDistanceMaximum(AUD_Handle* handle, float distance);
- virtual float getDistanceReference(AUD_Handle* handle);
- virtual bool setDistanceReference(AUD_Handle* handle, float distance);
- virtual float getAttenuation(AUD_Handle* handle);
- virtual bool setAttenuation(AUD_Handle* handle, float factor);
- virtual float getConeAngleOuter(AUD_Handle* handle);
- virtual bool setConeAngleOuter(AUD_Handle* handle, float angle);
- virtual float getConeAngleInner(AUD_Handle* handle);
- virtual bool setConeAngleInner(AUD_Handle* handle, float angle);
- virtual float getConeVolumeOuter(AUD_Handle* handle);
- virtual bool setConeVolumeOuter(AUD_Handle* handle, float volume);
};
#endif //AUD_OPENALDEVICE
diff --git a/intern/audaspace/Python/AUD_PyAPI.cpp b/intern/audaspace/Python/AUD_PyAPI.cpp
index 22376a2fcd1..928c67c5196 100644
--- a/intern/audaspace/Python/AUD_PyAPI.cpp
+++ b/intern/audaspace/Python/AUD_PyAPI.cpp
@@ -33,6 +33,7 @@
#include "structmember.h"
#include "AUD_I3DDevice.h"
+#include "AUD_I3DHandle.h"
#include "AUD_NULLDevice.h"
#include "AUD_DelayFactory.h"
#include "AUD_DoubleFactory.h"
@@ -91,7 +92,7 @@ static void
Factory_dealloc(Factory* self)
{
if(self->factory)
- delete self->factory;
+ delete reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory);
Py_XDECREF(self->child_list);
Py_TYPE(self)->tp_free((PyObject*)self);
}
@@ -115,7 +116,7 @@ Factory_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
try
{
- self->factory = new AUD_FileFactory(filename);
+ self->factory = new AUD_Reference<AUD_IFactory>(new AUD_FileFactory(filename));
}
catch(AUD_Exception& e)
{
@@ -143,9 +144,9 @@ static PyObject *
Factory_sine(PyTypeObject* type, PyObject* args)
{
float frequency;
- int rate = 44100;
+ double rate = 44100;
- if(!PyArg_ParseTuple(args, "f|i:sine", &frequency, &rate))
+ if(!PyArg_ParseTuple(args, "f|d:sine", &frequency, &rate))
return NULL;
Factory *self;
@@ -155,7 +156,7 @@ Factory_sine(PyTypeObject* type, PyObject* args)
{
try
{
- self->factory = new AUD_SinusFactory(frequency, (AUD_SampleRate)rate);
+ self->factory = new AUD_Reference<AUD_IFactory>(new AUD_SinusFactory(frequency, (AUD_SampleRate)rate));
}
catch(AUD_Exception& e)
{
@@ -194,7 +195,7 @@ Factory_file(PyTypeObject* type, PyObject* args)
{
try
{
- self->factory = new AUD_FileFactory(filename);
+ self->factory = new AUD_Reference<AUD_IFactory>(new AUD_FileFactory(filename));
}
catch(AUD_Exception& e)
{
@@ -237,7 +238,7 @@ Factory_lowpass(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_LowpassFactory(self->factory, frequency, Q);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_LowpassFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), frequency, Q));
}
catch(AUD_Exception& e)
{
@@ -278,7 +279,7 @@ Factory_delay(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_DelayFactory(self->factory, delay);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_DelayFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), delay));
}
catch(AUD_Exception& e)
{
@@ -322,7 +323,7 @@ Factory_join(Factory* self, PyObject* object)
try
{
- parent->factory = new AUD_DoubleFactory(self->factory, child->factory);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_DoubleFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), *reinterpret_cast<AUD_Reference<AUD_IFactory>*>(child->factory)));
}
catch(AUD_Exception& e)
{
@@ -365,7 +366,7 @@ Factory_highpass(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_HighpassFactory(self->factory, frequency, Q);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_HighpassFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), frequency, Q));
}
catch(AUD_Exception& e)
{
@@ -406,7 +407,7 @@ Factory_limit(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_LimiterFactory(self->factory, start, end);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_LimiterFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), start, end));
}
catch(AUD_Exception& e)
{
@@ -450,7 +451,7 @@ Factory_pitch(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_PitchFactory(self->factory, factor);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_PitchFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), factor));
}
catch(AUD_Exception& e)
{
@@ -492,7 +493,7 @@ Factory_volume(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_VolumeFactory(self->factory, volume);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_VolumeFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), volume));
}
catch(AUD_Exception& e)
{
@@ -535,7 +536,7 @@ Factory_fadein(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_FaderFactory(self->factory, AUD_FADE_IN, start, length);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_FaderFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), AUD_FADE_IN, start, length));
}
catch(AUD_Exception& e)
{
@@ -579,7 +580,7 @@ Factory_fadeout(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_FaderFactory(self->factory, AUD_FADE_OUT, start, length);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_FaderFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), AUD_FADE_OUT, start, length));
}
catch(AUD_Exception& e)
{
@@ -621,7 +622,7 @@ Factory_loop(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_LoopFactory(self->factory, loop);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_LoopFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), loop));
}
catch(AUD_Exception& e)
{
@@ -664,7 +665,7 @@ Factory_mix(Factory* self, PyObject* object)
try
{
- parent->factory = new AUD_SuperposeFactory(self->factory, child->factory);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_SuperposeFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), *reinterpret_cast<AUD_Reference<AUD_IFactory>*>(child->factory)));
}
catch(AUD_Exception& e)
{
@@ -697,7 +698,7 @@ Factory_pingpong(Factory* self)
try
{
- parent->factory = new AUD_PingPongFactory(self->factory);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_PingPongFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory)));
}
catch(AUD_Exception& e)
{
@@ -736,7 +737,7 @@ Factory_reverse(Factory* self)
try
{
- parent->factory = new AUD_ReverseFactory(self->factory);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_ReverseFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory)));
}
catch(AUD_Exception& e)
{
@@ -771,7 +772,7 @@ Factory_buffer(Factory* self)
{
try
{
- parent->factory = new AUD_StreamBufferFactory(self->factory);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_StreamBufferFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory)));
}
catch(AUD_Exception& e)
{
@@ -813,7 +814,7 @@ Factory_square(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_SquareFactory(self->factory, threshold);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_SquareFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), threshold));
}
catch(AUD_Exception& e)
{
@@ -910,7 +911,7 @@ Factory_filter(Factory* self, PyObject* args)
try
{
- parent->factory = new AUD_IIRFilterFactory(self->factory, b, a);
+ parent->factory = new AUD_Reference<AUD_IFactory>(new AUD_IIRFilterFactory(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(self->factory), b, a));
}
catch(AUD_Exception& e)
{
@@ -1033,7 +1034,8 @@ static PyTypeObject FactoryType = {
static void
Handle_dealloc(Handle* self)
{
- Py_XDECREF(self->device);
+ if(self->handle)
+ delete reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle);
Py_TYPE(self)->tp_free((PyObject*)self);
}
@@ -1046,11 +1048,9 @@ PyDoc_STRVAR(M_aud_Handle_pause_doc,
static PyObject *
Handle_pause(Handle *self)
{
- Device* device = (Device*)self->device;
-
try
{
- return PyBool_FromLong((long)device->device->pause(self->handle));
+ return PyBool_FromLong((long)(*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->pause());
}
catch(AUD_Exception& e)
{
@@ -1068,11 +1068,9 @@ PyDoc_STRVAR(M_aud_Handle_resume_doc,
static PyObject *
Handle_resume(Handle *self)
{
- Device* device = (Device*)self->device;
-
try
{
- return PyBool_FromLong((long)device->device->resume(self->handle));
+ return PyBool_FromLong((long)(*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->resume());
}
catch(AUD_Exception& e)
{
@@ -1091,11 +1089,9 @@ PyDoc_STRVAR(M_aud_Handle_stop_doc,
static PyObject *
Handle_stop(Handle *self)
{
- Device* device = (Device*)self->device;
-
try
{
- return PyBool_FromLong((long)device->device->stop(self->handle));
+ return PyBool_FromLong((long)(*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->stop());
}
catch(AUD_Exception& e)
{
@@ -1123,11 +1119,9 @@ PyDoc_STRVAR(M_aud_Handle_position_doc,
static PyObject *
Handle_get_position(Handle *self, void* nothing)
{
- Device* device = (Device*)self->device;
-
try
{
- return Py_BuildValue("f", device->device->getPosition(self->handle));
+ return Py_BuildValue("f", (*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->getPosition());
}
catch(AUD_Exception& e)
{
@@ -1144,11 +1138,9 @@ Handle_set_position(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:position", &position))
return -1;
- Device* device = (Device*)self->device;
-
try
{
- if(device->device->seek(self->handle, position))
+ if((*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->seek(position))
return 0;
PyErr_SetString(AUDError, "Couldn't seek the sound!");
}
@@ -1172,11 +1164,9 @@ PyDoc_STRVAR(M_aud_Handle_keep_doc,
static PyObject *
Handle_get_keep(Handle *self, void* nothing)
{
- Device* device = (Device*)self->device;
-
try
{
- return PyBool_FromLong((long)device->device->getKeep(self->handle));
+ return PyBool_FromLong((long)(*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->getKeep());
}
catch(AUD_Exception& e)
{
@@ -1195,11 +1185,10 @@ Handle_set_keep(Handle *self, PyObject* args, void* nothing)
}
bool keep = args == Py_True;
- Device* device = (Device*)self->device;
try
{
- if(device->device->setKeep(self->handle, keep))
+ if((*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->setKeep(keep))
return 0;
PyErr_SetString(AUDError, "Couldn't set keep of the sound!");
}
@@ -1217,11 +1206,9 @@ PyDoc_STRVAR(M_aud_Handle_status_doc,
static PyObject *
Handle_get_status(Handle *self, void* nothing)
{
- Device* device = (Device*)self->device;
-
try
{
- return PyBool_FromLong((long)device->device->getStatus(self->handle));
+ return PyBool_FromLong((long)(*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->getStatus());
}
catch(AUD_Exception& e)
{
@@ -1236,11 +1223,9 @@ PyDoc_STRVAR(M_aud_Handle_volume_doc,
static PyObject *
Handle_get_volume(Handle *self, void* nothing)
{
- Device* device = (Device*)self->device;
-
try
{
- return Py_BuildValue("f", device->device->getVolume(self->handle));
+ return Py_BuildValue("f", (*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->getVolume());
}
catch(AUD_Exception& e)
{
@@ -1257,11 +1242,9 @@ Handle_set_volume(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:volume", &volume))
return -1;
- Device* device = (Device*)self->device;
-
try
{
- if(device->device->setVolume(self->handle, volume))
+ if((*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->setVolume(volume))
return 0;
PyErr_SetString(AUDError, "Couldn't set the sound volume!");
}
@@ -1279,11 +1262,9 @@ PyDoc_STRVAR(M_aud_Handle_pitch_doc,
static PyObject *
Handle_get_pitch(Handle *self, void* nothing)
{
- Device* device = (Device*)self->device;
-
try
{
- return Py_BuildValue("f", device->device->getPitch(self->handle));
+ return Py_BuildValue("f", (*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->getPitch());
}
catch(AUD_Exception& e)
{
@@ -1300,11 +1281,9 @@ Handle_set_pitch(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:pitch", &pitch))
return -1;
- Device* device = (Device*)self->device;
-
try
{
- if(device->device->setPitch(self->handle, pitch))
+ if((*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->setPitch(pitch))
return 0;
PyErr_SetString(AUDError, "Couldn't set the sound pitch!");
}
@@ -1322,11 +1301,9 @@ PyDoc_STRVAR(M_aud_Handle_loop_count_doc,
static PyObject *
Handle_get_loop_count(Handle *self, void* nothing)
{
- Device* device = (Device*)self->device;
-
try
{
- return Py_BuildValue("i", device->device->getLoopCount(self->handle));
+ return Py_BuildValue("i", (*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->getLoopCount());
}
catch(AUD_Exception& e)
{
@@ -1343,11 +1320,9 @@ Handle_set_loop_count(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "i:loop_count", &loops))
return -1;
- Device* device = (Device*)self->device;
-
try
{
- if(device->device->setLoopCount(self->handle, loops))
+ if((*reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle))->setLoopCount(loops))
return 0;
PyErr_SetString(AUDError, "Couldn't set the loop count!");
}
@@ -1365,14 +1340,12 @@ PyDoc_STRVAR(M_aud_Handle_location_doc,
static PyObject *
Handle_get_location(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- AUD_Vector3 v = device->getSourceLocation(self->handle);
+ AUD_Vector3 v = handle->getSourceLocation();
return Py_BuildValue("(fff)", v.x(), v.y(), v.z());
}
else
@@ -1396,15 +1369,13 @@ Handle_set_location(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "(fff):location", &x, &y, &z))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
AUD_Vector3 location(x, y, z);
- if(device->setSourceLocation(self->handle, location))
+ if(handle->setSourceLocation(location))
return 0;
PyErr_SetString(AUDError, "Location couldn't be set!");
}
@@ -1425,14 +1396,12 @@ PyDoc_STRVAR(M_aud_Handle_velocity_doc,
static PyObject *
Handle_get_velocity(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- AUD_Vector3 v = device->getSourceVelocity(self->handle);
+ AUD_Vector3 v = handle->getSourceVelocity();
return Py_BuildValue("(fff)", v.x(), v.y(), v.z());
}
else
@@ -1456,15 +1425,13 @@ Handle_set_velocity(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "(fff):velocity", &x, &y, &z))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
AUD_Vector3 velocity(x, y, z);
- if(device->setSourceVelocity(self->handle, velocity))
+ if(handle->setSourceVelocity(velocity))
return 0;
PyErr_SetString(AUDError, "Couldn't set the velocity!");
}
@@ -1485,14 +1452,12 @@ PyDoc_STRVAR(M_aud_Handle_orientation_doc,
static PyObject *
Handle_get_orientation(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- AUD_Quaternion o = device->getSourceOrientation(self->handle);
+ AUD_Quaternion o = handle->getSourceOrientation();
return Py_BuildValue("(ffff)", o.w(), o.x(), o.y(), o.z());
}
else
@@ -1516,15 +1481,13 @@ Handle_set_orientation(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "(ffff):orientation", &w, &x, &y, &z))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
AUD_Quaternion orientation(w, x, y, z);
- if(device->setSourceOrientation(self->handle, orientation))
+ if(handle->setSourceOrientation(orientation))
return 0;
PyErr_SetString(AUDError, "Couldn't set the orientation!");
}
@@ -1545,14 +1508,12 @@ PyDoc_STRVAR(M_aud_Handle_relative_doc,
static PyObject *
Handle_get_relative(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- return PyBool_FromLong((long)device->isRelative(self->handle));
+ return PyBool_FromLong((long)handle->isRelative());
}
else
{
@@ -1577,14 +1538,13 @@ Handle_set_relative(Handle *self, PyObject* args, void* nothing)
}
bool relative = (args == Py_True);
- Device* dev = (Device*)self->device;
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- if(device->setRelative(self->handle, relative))
+ if(handle->setRelative(relative))
return 0;
PyErr_SetString(AUDError, "Couldn't set the relativeness!");
}
@@ -1606,14 +1566,12 @@ PyDoc_STRVAR(M_aud_Handle_volume_minimum_doc,
static PyObject *
Handle_get_volume_minimum(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- return Py_BuildValue("f", device->getVolumeMinimum(self->handle));
+ return Py_BuildValue("f", handle->getVolumeMinimum());
}
else
{
@@ -1636,14 +1594,12 @@ Handle_set_volume_minimum(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:volume_minimum", &volume))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- if(device->setVolumeMinimum(self->handle, volume))
+ if(handle->setVolumeMinimum(volume))
return 0;
PyErr_SetString(AUDError, "Couldn't set the minimum volume!");
}
@@ -1665,14 +1621,12 @@ PyDoc_STRVAR(M_aud_Handle_volume_maximum_doc,
static PyObject *
Handle_get_volume_maximum(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- return Py_BuildValue("f", device->getVolumeMaximum(self->handle));
+ return Py_BuildValue("f", handle->getVolumeMaximum());
}
else
{
@@ -1695,14 +1649,12 @@ Handle_set_volume_maximum(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:volume_maximum", &volume))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- if(device->setVolumeMaximum(self->handle, volume))
+ if(handle->setVolumeMaximum(volume))
return 0;
PyErr_SetString(AUDError, "Couldn't set the maximum volume!");
}
@@ -1725,14 +1677,12 @@ PyDoc_STRVAR(M_aud_Handle_distance_reference_doc,
static PyObject *
Handle_get_distance_reference(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- return Py_BuildValue("f", device->getDistanceReference(self->handle));
+ return Py_BuildValue("f", handle->getDistanceReference());
}
else
{
@@ -1755,14 +1705,12 @@ Handle_set_distance_reference(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:distance_reference", &distance))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- if(device->setDistanceReference(self->handle, distance))
+ if(handle->setDistanceReference(distance))
return 0;
PyErr_SetString(AUDError, "Couldn't set the reference distance!");
}
@@ -1785,14 +1733,12 @@ PyDoc_STRVAR(M_aud_Handle_distance_maximum_doc,
static PyObject *
Handle_get_distance_maximum(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- return Py_BuildValue("f", device->getDistanceMaximum(self->handle));
+ return Py_BuildValue("f", handle->getDistanceMaximum());
}
else
{
@@ -1815,14 +1761,12 @@ Handle_set_distance_maximum(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:distance_maximum", &distance))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- if(device->setDistanceMaximum(self->handle, distance))
+ if(handle->setDistanceMaximum(distance))
return 0;
PyErr_SetString(AUDError, "Couldn't set the maximum distance!");
}
@@ -1845,14 +1789,12 @@ PyDoc_STRVAR(M_aud_Handle_attenuation_doc,
static PyObject *
Handle_get_attenuation(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- return Py_BuildValue("f", device->getAttenuation(self->handle));
+ return Py_BuildValue("f", handle->getAttenuation());
}
else
{
@@ -1875,14 +1817,12 @@ Handle_set_attenuation(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:attenuation", &factor))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- if(device->setAttenuation(self->handle, factor))
+ if(handle->setAttenuation(factor))
return 0;
PyErr_SetString(AUDError, "Couldn't set the attenuation!");
}
@@ -1910,14 +1850,12 @@ PyDoc_STRVAR(M_aud_Handle_cone_angle_inner_doc,
static PyObject *
Handle_get_cone_angle_inner(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- return Py_BuildValue("f", device->getConeAngleInner(self->handle));
+ return Py_BuildValue("f", handle->getConeAngleInner());
}
else
{
@@ -1940,14 +1878,12 @@ Handle_set_cone_angle_inner(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:cone_angle_inner", &angle))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- if(device->setConeAngleInner(self->handle, angle))
+ if(handle->setConeAngleInner(angle))
return 0;
PyErr_SetString(AUDError, "Couldn't set the cone inner angle!");
}
@@ -1969,14 +1905,12 @@ PyDoc_STRVAR(M_aud_Handle_cone_angle_outer_doc,
static PyObject *
Handle_get_cone_angle_outer(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- return Py_BuildValue("f", device->getConeAngleOuter(self->handle));
+ return Py_BuildValue("f", handle->getConeAngleOuter());
}
else
{
@@ -1999,14 +1933,12 @@ Handle_set_cone_angle_outer(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:cone_angle_outer", &angle))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- if(device->setConeAngleOuter(self->handle, angle))
+ if(handle->setConeAngleOuter(angle))
return 0;
PyErr_SetString(AUDError, "Couldn't set the cone outer angle!");
}
@@ -2028,14 +1960,12 @@ PyDoc_STRVAR(M_aud_Handle_cone_volume_outer_doc,
static PyObject *
Handle_get_cone_volume_outer(Handle *self, void* nothing)
{
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- return Py_BuildValue("f", device->getConeVolumeOuter(self->handle));
+ return Py_BuildValue("f", handle->getConeVolumeOuter());
}
else
{
@@ -2058,14 +1988,12 @@ Handle_set_cone_volume_outer(Handle *self, PyObject* args, void* nothing)
if(!PyArg_Parse(args, "f:cone_volume_outer", &volume))
return -1;
- Device* dev = (Device*)self->device;
-
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(dev->device);
- if(device)
+ AUD_I3DHandle* handle = dynamic_cast<AUD_I3DHandle*>(reinterpret_cast<AUD_Reference<AUD_IHandle>*>(self->handle)->get());
+ if(handle)
{
- if(device->setConeVolumeOuter(self->handle, volume))
+ if(handle->setConeVolumeOuter(volume))
return 0;
PyErr_SetString(AUDError, "Couldn't set the cone outer volume!");
}
@@ -2172,7 +2100,7 @@ static void
Device_dealloc(Device* self)
{
if(self->device)
- delete self->device;
+ delete reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device);
Py_TYPE(self)->tp_free((PyObject*)self);
}
@@ -2183,13 +2111,13 @@ Device_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static const char *kwlist[] = {"type", "rate", "channels", "format", "buffer_size", "name", NULL};
int device;
- int rate = AUD_RATE_44100;
+ double rate = AUD_RATE_44100;
int channels = AUD_CHANNELS_STEREO;
int format = AUD_FORMAT_FLOAT32;
int buffersize = AUD_DEFAULT_BUFFER_SIZE;
const char* name = "Audaspace";
- if(!PyArg_ParseTupleAndKeywords(args, kwds, "i|iiiis:Device", const_cast<char**>(kwlist),
+ if(!PyArg_ParseTupleAndKeywords(args, kwds, "i|diiis:Device", const_cast<char**>(kwlist),
&device, &rate, &channels, &format, &buffersize, &name))
return NULL;
@@ -2215,21 +2143,21 @@ Device_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
case AUD_DEVICE_NULL:
(void)specs; /* quiet warning when others disabled */
- self->device = new AUD_NULLDevice();
+ self->device = new AUD_Reference<AUD_IDevice>(new AUD_NULLDevice());
break;
case AUD_DEVICE_OPENAL:
#ifdef WITH_OPENAL
- self->device = new AUD_OpenALDevice(specs, buffersize);
+ self->device = new AUD_Reference<AUD_IDevice>(new AUD_OpenALDevice(specs, buffersize));
#endif
break;
case AUD_DEVICE_SDL:
#ifdef WITH_SDL
- self->device = new AUD_SDLDevice(specs, buffersize);
+ self->device = new AUD_Reference<AUD_IDevice>(new AUD_SDLDevice(specs, buffersize));
#endif
break;
case AUD_DEVICE_JACK:
#ifdef WITH_JACK
- self->device = new AUD_JackDevice(name, specs, buffersize);
+ self->device = new AUD_Reference<AUD_IDevice>(new AUD_JackDevice(name, specs, buffersize));
#endif
break;
case AUD_DEVICE_READ:
@@ -2302,12 +2230,9 @@ Device_play(Device *self, PyObject *args, PyObject *kwds)
handle = (Handle*)HandleType.tp_alloc(&HandleType, 0);
if(handle != NULL)
{
- handle->device = (PyObject*)self;
- Py_INCREF(self);
-
try
{
- handle->handle = self->device->play(sound->factory, keep);
+ handle->handle = new AUD_Reference<AUD_IHandle>((*reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device))->play(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(sound->factory), keep));
}
catch(AUD_Exception& e)
{
@@ -2320,6 +2245,25 @@ Device_play(Device *self, PyObject *args, PyObject *kwds)
return (PyObject *)handle;
}
+PyDoc_STRVAR(M_aud_Device_stopAll_doc,
+ "stopAll()\n\n"
+ "Stops all playing and paused sounds.");
+
+static PyObject *
+Device_stopAll(Device *self)
+{
+ try
+ {
+ (*reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device))->stopAll();
+ Py_RETURN_NONE;
+ }
+ catch(AUD_Exception& e)
+ {
+ PyErr_SetString(AUDError, e.str);
+ return NULL;
+ }
+}
+
PyDoc_STRVAR(M_aud_Device_lock_doc,
"lock()\n\n"
"Locks the device so that it's guaranteed, that no samples are "
@@ -2336,7 +2280,7 @@ Device_lock(Device *self)
{
try
{
- self->device->lock();
+ (*reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device))->lock();
Py_RETURN_NONE;
}
catch(AUD_Exception& e)
@@ -2356,7 +2300,7 @@ Device_unlock(Device *self)
{
try
{
- self->device->unlock();
+ (*reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device))->unlock();
Py_RETURN_NONE;
}
catch(AUD_Exception& e)
@@ -2370,6 +2314,9 @@ static PyMethodDef Device_methods[] = {
{"play", (PyCFunction)Device_play, METH_VARARGS | METH_KEYWORDS,
M_aud_Device_play_doc
},
+ {"stopAll", (PyCFunction)Device_stopAll, METH_NOARGS,
+ M_aud_Device_stopAll_doc
+ },
{"lock", (PyCFunction)Device_lock, METH_NOARGS,
M_aud_Device_lock_doc
},
@@ -2387,8 +2334,8 @@ Device_get_rate(Device *self, void* nothing)
{
try
{
- AUD_DeviceSpecs specs = self->device->getSpecs();
- return Py_BuildValue("i", specs.rate);
+ AUD_DeviceSpecs specs = (*reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device))->getSpecs();
+ return Py_BuildValue("d", specs.rate);
}
catch(AUD_Exception& e)
{
@@ -2405,7 +2352,7 @@ Device_get_format(Device *self, void* nothing)
{
try
{
- AUD_DeviceSpecs specs = self->device->getSpecs();
+ AUD_DeviceSpecs specs = (*reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device))->getSpecs();
return Py_BuildValue("i", specs.format);
}
catch(AUD_Exception& e)
@@ -2423,7 +2370,7 @@ Device_get_channels(Device *self, void* nothing)
{
try
{
- AUD_DeviceSpecs specs = self->device->getSpecs();
+ AUD_DeviceSpecs specs = (*reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device))->getSpecs();
return Py_BuildValue("i", specs.channels);
}
catch(AUD_Exception& e)
@@ -2441,7 +2388,7 @@ Device_get_volume(Device *self, void* nothing)
{
try
{
- return Py_BuildValue("f", self->device->getVolume());
+ return Py_BuildValue("f", (*reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device))->getVolume());
}
catch(AUD_Exception& e)
{
@@ -2460,7 +2407,7 @@ Device_set_volume(Device *self, PyObject* args, void* nothing)
try
{
- self->device->setVolume(volume);
+ (*reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device))->setVolume(volume);
return 0;
}
catch(AUD_Exception& e)
@@ -2478,7 +2425,7 @@ Device_get_listener_location(Device *self, void* nothing)
{
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
AUD_Vector3 v = device->getListenerLocation();
@@ -2507,7 +2454,7 @@ Device_set_listener_location(Device *self, PyObject* args, void* nothing)
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
AUD_Vector3 location(x, y, z);
@@ -2533,7 +2480,7 @@ Device_get_listener_velocity(Device *self, void* nothing)
{
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
AUD_Vector3 v = device->getListenerVelocity();
@@ -2562,7 +2509,7 @@ Device_set_listener_velocity(Device *self, PyObject* args, void* nothing)
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
AUD_Vector3 velocity(x, y, z);
@@ -2588,7 +2535,7 @@ Device_get_listener_orientation(Device *self, void* nothing)
{
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
AUD_Quaternion o = device->getListenerOrientation();
@@ -2617,7 +2564,7 @@ Device_set_listener_orientation(Device *self, PyObject* args, void* nothing)
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
AUD_Quaternion orientation(w, x, y, z);
@@ -2644,7 +2591,7 @@ Device_get_speed_of_sound(Device *self, void* nothing)
{
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
return Py_BuildValue("f", device->getSpeedOfSound());
@@ -2672,7 +2619,7 @@ Device_set_speed_of_sound(Device *self, PyObject* args, void* nothing)
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
device->setSpeedOfSound(speed);
@@ -2700,7 +2647,7 @@ Device_get_doppler_factor(Device *self, void* nothing)
{
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
return Py_BuildValue("f", device->getDopplerFactor());
@@ -2728,7 +2675,7 @@ Device_set_doppler_factor(Device *self, PyObject* args, void* nothing)
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
device->setDopplerFactor(factor);
@@ -2754,7 +2701,7 @@ Device_get_distance_model(Device *self, void* nothing)
{
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
return Py_BuildValue("i", int(device->getDistanceModel()));
@@ -2782,7 +2729,7 @@ Device_set_distance_model(Device *self, PyObject* args, void* nothing)
try
{
- AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(self->device);
+ AUD_I3DDevice* device = dynamic_cast<AUD_I3DDevice*>(reinterpret_cast<AUD_Reference<AUD_IDevice>*>(self->device)->get());
if(device)
{
device->setDistanceModel(AUD_DistanceModel(model));
@@ -2875,6 +2822,25 @@ Device_empty()
return DeviceType.tp_alloc(&DeviceType, 0);
}
+PyObject *
+Factory_empty()
+{
+ return FactoryType.tp_alloc(&FactoryType, 0);
+}
+
+Factory*
+checkFactory(PyObject* factory)
+{
+ if(!PyObject_TypeCheck(factory, &FactoryType))
+ {
+ PyErr_SetString(PyExc_TypeError, "Object is not of type Factory!");
+ return NULL;
+ }
+
+ return (Factory*)factory;
+}
+
+
// ====================================================================
PyDoc_STRVAR(M_aud_doc,
diff --git a/intern/audaspace/Python/AUD_PyAPI.h b/intern/audaspace/Python/AUD_PyAPI.h
index 6e217b07213..e234ad4dded 100644
--- a/intern/audaspace/Python/AUD_PyAPI.h
+++ b/intern/audaspace/Python/AUD_PyAPI.h
@@ -36,35 +36,38 @@
#ifdef __cplusplus
extern "C" {
-#include "AUD_IDevice.h"
#else
typedef void AUD_IFactory;
typedef void AUD_IDevice;
-typedef void AUD_Handle;
+typedef void AUD_IHandle;
#endif
+typedef void AUD_Reference_AUD_IFactory;
+typedef void AUD_Reference_AUD_IDevice;
+typedef void AUD_Reference_AUD_IHandle;
+
typedef struct {
PyObject_HEAD
PyObject* child_list;
- AUD_IFactory* factory;
+ AUD_Reference_AUD_IFactory* factory;
} Factory;
typedef struct {
PyObject_HEAD
- AUD_Handle* handle;
- PyObject* device;
+ AUD_Reference_AUD_IHandle* handle;
} Handle;
typedef struct {
PyObject_HEAD
- AUD_IDevice* device;
+ AUD_Reference_AUD_IDevice* device;
} Device;
PyMODINIT_FUNC
PyInit_aud(void);
-extern PyObject *
-Device_empty();
+extern PyObject* Device_empty();
+extern PyObject* Factory_empty();
+extern Factory* checkFactory(PyObject* factory);
#ifdef __cplusplus
}
diff --git a/intern/audaspace/SRC/AUD_SRCResampleFactory.cpp b/intern/audaspace/SRC/AUD_SRCResampleFactory.cpp
index 17cf09efc1d..c4402e88c65 100644
--- a/intern/audaspace/SRC/AUD_SRCResampleFactory.cpp
+++ b/intern/audaspace/SRC/AUD_SRCResampleFactory.cpp
@@ -32,18 +32,13 @@
#include "AUD_SRCResampleFactory.h"
#include "AUD_SRCResampleReader.h"
-AUD_SRCResampleFactory::AUD_SRCResampleFactory(AUD_IFactory* factory,
+AUD_SRCResampleFactory::AUD_SRCResampleFactory(AUD_Reference<AUD_IFactory> factory,
AUD_DeviceSpecs specs) :
- AUD_ResampleFactory(factory, specs)
+ AUD_MixerFactory(factory, specs)
{
}
-AUD_IReader* AUD_SRCResampleFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_SRCResampleFactory::createReader()
{
- AUD_IReader* reader = getReader();
-
- if(reader->getSpecs().rate != m_specs.rate)
- reader = new AUD_SRCResampleReader(reader, m_specs.specs);
-
- return reader;
+ return new AUD_SRCResampleReader(getReader(), m_specs.specs);
}
diff --git a/intern/audaspace/SRC/AUD_SRCResampleFactory.h b/intern/audaspace/SRC/AUD_SRCResampleFactory.h
index 716def960fd..685dbc0b176 100644
--- a/intern/audaspace/SRC/AUD_SRCResampleFactory.h
+++ b/intern/audaspace/SRC/AUD_SRCResampleFactory.h
@@ -32,13 +32,13 @@
#ifndef AUD_SRCRESAMPLEFACTORY
#define AUD_SRCRESAMPLEFACTORY
-#include "AUD_ResampleFactory.h"
+#include "AUD_MixerFactory.h"
/**
* This factory creates a resampling reader that uses libsamplerate for
* resampling.
*/
-class AUD_SRCResampleFactory : public AUD_ResampleFactory
+class AUD_SRCResampleFactory : public AUD_MixerFactory
{
private:
// hide copy constructor and operator=
@@ -46,9 +46,14 @@ private:
AUD_SRCResampleFactory& operator=(const AUD_SRCResampleFactory&);
public:
- AUD_SRCResampleFactory(AUD_IFactory* factory, AUD_DeviceSpecs specs);
-
- virtual AUD_IReader* createReader() const;
+ /**
+ * Creates a new factory.
+ * \param factory The input factory.
+ * \param specs The target specifications.
+ */
+ AUD_SRCResampleFactory(AUD_Reference<AUD_IFactory> factory, AUD_DeviceSpecs specs);
+
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_SRCRESAMPLEFACTORY
diff --git a/intern/audaspace/SRC/AUD_SRCResampleReader.cpp b/intern/audaspace/SRC/AUD_SRCResampleReader.cpp
index 1026514a9b8..a72d8ba393b 100644
--- a/intern/audaspace/SRC/AUD_SRCResampleReader.cpp
+++ b/intern/audaspace/SRC/AUD_SRCResampleReader.cpp
@@ -43,20 +43,16 @@ static long src_callback(void *cb_data, float **data)
static const char* state_error = "AUD_SRCResampleReader: SRC State couldn't be "
"created.";
-AUD_SRCResampleReader::AUD_SRCResampleReader(AUD_IReader* reader,
+AUD_SRCResampleReader::AUD_SRCResampleReader(AUD_Reference<AUD_IReader> reader,
AUD_Specs specs) :
- AUD_EffectReader(reader),
- m_sspecs(reader->getSpecs()),
- m_factor(double(specs.rate) / double(m_sspecs.rate)),
- m_tspecs(specs),
+ AUD_ResampleReader(reader, specs.rate),
+ m_channels(reader->getSpecs().channels),
m_position(0)
{
- m_tspecs.channels = m_sspecs.channels;
-
int error;
m_src = src_callback_new(src_callback,
SRC_SINC_MEDIUM_QUALITY,
- m_sspecs.channels,
+ m_channels,
&error,
this);
@@ -74,25 +70,32 @@ AUD_SRCResampleReader::~AUD_SRCResampleReader()
long AUD_SRCResampleReader::doCallback(float** data)
{
- int length = m_buffer.getSize() / AUD_SAMPLE_SIZE(m_tspecs);
- sample_t* buffer;
+ AUD_Specs specs;
+ specs.channels = m_channels;
+ specs.rate = m_rate;
+
+ int length = m_buffer.getSize() / AUD_SAMPLE_SIZE(specs);
- m_reader->read(length, buffer);
+ *data = m_buffer.getBuffer();
+ m_reader->read(length, m_eos, *data);
- *data = buffer;
return length;
}
void AUD_SRCResampleReader::seek(int position)
{
- m_reader->seek(position / m_factor);
+ AUD_Specs specs = m_reader->getSpecs();
+ double factor = double(m_rate) / double(specs.rate);
+ m_reader->seek(position / factor);
src_reset(m_src);
m_position = position;
}
int AUD_SRCResampleReader::getLength() const
{
- return m_reader->getLength() * m_factor;
+ AUD_Specs specs = m_reader->getSpecs();
+ double factor = double(m_rate) / double(specs.rate);
+ return m_reader->getLength() * factor;
}
int AUD_SRCResampleReader::getPosition() const
@@ -102,19 +105,48 @@ int AUD_SRCResampleReader::getPosition() const
AUD_Specs AUD_SRCResampleReader::getSpecs() const
{
- return m_tspecs;
+ AUD_Specs specs = m_reader->getSpecs();
+ specs.rate = m_rate;
+ return specs;
}
-void AUD_SRCResampleReader::read(int & length, sample_t* & buffer)
+void AUD_SRCResampleReader::read(int& length, bool& eos, sample_t* buffer)
{
- int size = length * AUD_SAMPLE_SIZE(m_tspecs);
+ AUD_Specs specs = m_reader->getSpecs();
+
+ double factor = double(m_rate) / double(specs.rate);
- if(m_buffer.getSize() < size)
- m_buffer.resize(size);
+ specs.rate = m_rate;
- buffer = m_buffer.getBuffer();
+ int size = length;
- length = src_callback_read(m_src, m_factor, length, buffer);
+ m_buffer.assureSize(length * AUD_SAMPLE_SIZE(specs));
+
+ if(specs.channels != m_channels)
+ {
+ src_delete(m_src);
+
+ m_channels = specs.channels;
+
+ int error;
+ m_src = src_callback_new(src_callback,
+ SRC_SINC_MEDIUM_QUALITY,
+ m_channels,
+ &error,
+ this);
+
+ if(!m_src)
+ {
+ // XXX printf("%s\n", src_strerror(error));
+ AUD_THROW(AUD_ERROR_SRC, state_error);
+ }
+ }
+
+ m_eos = false;
+
+ length = src_callback_read(m_src, factor, length, buffer);
m_position += length;
+
+ eos = m_eos && (length < size);
}
diff --git a/intern/audaspace/SRC/AUD_SRCResampleReader.h b/intern/audaspace/SRC/AUD_SRCResampleReader.h
index 27019c0ed9f..dddfeb6a452 100644
--- a/intern/audaspace/SRC/AUD_SRCResampleReader.h
+++ b/intern/audaspace/SRC/AUD_SRCResampleReader.h
@@ -32,7 +32,7 @@
#ifndef AUD_SRCRESAMPLEREADER
#define AUD_SRCRESAMPLEREADER
-#include "AUD_EffectReader.h"
+#include "AUD_ResampleReader.h"
#include "AUD_Buffer.h"
#include <samplerate.h>
@@ -40,28 +40,18 @@
/**
* This resampling reader uses libsamplerate for resampling.
*/
-class AUD_SRCResampleReader : public AUD_EffectReader
+class AUD_SRCResampleReader : public AUD_ResampleReader
{
private:
/**
- * The sample specification of the source.
- */
- const AUD_Specs m_sspecs;
-
- /**
- * The resampling factor.
- */
- const double m_factor;
-
- /**
* The sound output buffer.
*/
AUD_Buffer m_buffer;
/**
- * The target specification.
+ * The reader channels.
*/
- AUD_Specs m_tspecs;
+ AUD_Channels m_channels;
/**
* The src state structure.
@@ -73,6 +63,11 @@ private:
*/
int m_position;
+ /**
+ * Whether reader reached end of stream.
+ */
+ bool m_eos;
+
// hide copy constructor and operator=
AUD_SRCResampleReader(const AUD_SRCResampleReader&);
AUD_SRCResampleReader& operator=(const AUD_SRCResampleReader&);
@@ -85,7 +80,7 @@ public:
* \exception AUD_Exception Thrown if the source specification cannot be
* resampled to the target specification.
*/
- AUD_SRCResampleReader(AUD_IReader* reader, AUD_Specs specs);
+ AUD_SRCResampleReader(AUD_Reference<AUD_IReader> reader, AUD_Specs specs);
/**
* Destroys the reader.
@@ -104,7 +99,7 @@ public:
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_SRCRESAMPLEREADER
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.cpp
index 38de3e8867a..e9d045bd303 100644
--- a/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.cpp
+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.cpp
@@ -36,7 +36,6 @@
#include "AUD_FFMPEGFactory.h"
#include "AUD_FFMPEGReader.h"
-#include "AUD_Buffer.h"
AUD_FFMPEGFactory::AUD_FFMPEGFactory(std::string filename) :
m_filename(filename)
@@ -46,13 +45,13 @@ AUD_FFMPEGFactory::AUD_FFMPEGFactory(std::string filename) :
AUD_FFMPEGFactory::AUD_FFMPEGFactory(const data_t* buffer, int size) :
m_buffer(new AUD_Buffer(size))
{
- memcpy(m_buffer.get()->getBuffer(), buffer, size);
+ memcpy(m_buffer->getBuffer(), buffer, size);
}
-AUD_IReader* AUD_FFMPEGFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_FFMPEGFactory::createReader()
{
- if(m_buffer.get())
- return new AUD_FFMPEGReader(m_buffer);
- else
+ if(m_buffer.isNull())
return new AUD_FFMPEGReader(m_filename);
+ else
+ return new AUD_FFMPEGReader(m_buffer);
}
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.h b/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.h
index 12687402fb6..18510d8db8b 100644
--- a/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.h
+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGFactory.h
@@ -34,7 +34,7 @@
#include "AUD_IFactory.h"
#include "AUD_Reference.h"
-class AUD_Buffer;
+#include "AUD_Buffer.h"
#include <string>
@@ -74,7 +74,7 @@ public:
*/
AUD_FFMPEGFactory(const data_t* buffer, int size);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_FFMPEGFACTORY
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
index 4597432e7d1..1683a9a61c0 100644
--- a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp
@@ -39,6 +39,7 @@
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
+#include <libavformat/avio.h>
#include "ffmpeg_compat.h"
}
@@ -176,11 +177,12 @@ static const char* fileopen_error = "AUD_FFMPEGReader: File couldn't be "
AUD_FFMPEGReader::AUD_FFMPEGReader(std::string filename) :
m_pkgbuf(AVCODEC_MAX_AUDIO_FRAME_SIZE<<1),
- m_byteiocontext(NULL),
+ m_formatCtx(NULL),
+ m_aviocontext(NULL),
m_membuf(NULL)
{
// open file
- if(av_open_input_file(&m_formatCtx, filename.c_str(), NULL, 0, NULL)!=0)
+ if(avformat_open_input(&m_formatCtx, filename.c_str(), NULL, NULL)!=0)
AUD_THROW(AUD_ERROR_FILE, fileopen_error);
try
@@ -204,25 +206,20 @@ AUD_FFMPEGReader::AUD_FFMPEGReader(AUD_Reference<AUD_Buffer> buffer) :
{
m_membuf = reinterpret_cast<data_t*>(av_malloc(FF_MIN_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE));
- m_byteiocontext = av_alloc_put_byte(m_membuf, FF_MIN_BUFFER_SIZE, 0, this,
- read_packet, NULL, seek_packet);
+ m_aviocontext = avio_alloc_context(m_membuf, FF_MIN_BUFFER_SIZE, 0, this,
+ read_packet, NULL, seek_packet);
- if(!m_byteiocontext)
+ if(!m_aviocontext)
{
- av_free(m_byteiocontext);
+ av_free(m_aviocontext);
AUD_THROW(AUD_ERROR_FILE, fileopen_error);
}
- AVProbeData probe_data;
- probe_data.filename = "";
- probe_data.buf = reinterpret_cast<data_t*>(buffer.get()->getBuffer());
- probe_data.buf_size = buffer.get()->getSize();
- AVInputFormat* fmt = av_probe_input_format(&probe_data, 1);
-
- // open stream
- if(av_open_input_stream(&m_formatCtx, m_byteiocontext, "", fmt, NULL)!=0)
+ m_formatCtx = avformat_alloc_context();
+ m_formatCtx->pb = m_aviocontext;
+ if(avformat_open_input(&m_formatCtx, "", NULL, NULL)!=0)
{
- av_free(m_byteiocontext);
+ av_free(m_aviocontext);
AUD_THROW(AUD_ERROR_FILE, streamopen_error);
}
@@ -233,7 +230,7 @@ AUD_FFMPEGReader::AUD_FFMPEGReader(AUD_Reference<AUD_Buffer> buffer) :
catch(AUD_Exception&)
{
av_close_input_stream(m_formatCtx);
- av_free(m_byteiocontext);
+ av_free(m_aviocontext);
throw;
}
}
@@ -242,10 +239,10 @@ AUD_FFMPEGReader::~AUD_FFMPEGReader()
{
avcodec_close(m_codecCtx);
- if(m_byteiocontext)
+ if(m_aviocontext)
{
av_close_input_stream(m_formatCtx);
- av_free(m_byteiocontext);
+ av_free(m_aviocontext);
}
else
av_close_input_file(m_formatCtx);
@@ -255,12 +252,12 @@ int AUD_FFMPEGReader::read_packet(void* opaque, uint8_t* buf, int buf_size)
{
AUD_FFMPEGReader* reader = reinterpret_cast<AUD_FFMPEGReader*>(opaque);
- int size = AUD_MIN(buf_size, reader->m_membuffer.get()->getSize() - reader->m_membufferpos);
+ int size = AUD_MIN(buf_size, reader->m_membuffer->getSize() - reader->m_membufferpos);
if(size < 0)
return -1;
- memcpy(buf, ((data_t*)reader->m_membuffer.get()->getBuffer()) + reader->m_membufferpos, size);
+ memcpy(buf, ((data_t*)reader->m_membuffer->getBuffer()) + reader->m_membufferpos, size);
reader->m_membufferpos += size;
return size;
@@ -276,10 +273,10 @@ int64_t AUD_FFMPEGReader::seek_packet(void* opaque, int64_t offset, int whence)
reader->m_membufferpos = 0;
break;
case SEEK_END:
- reader->m_membufferpos = reader->m_membuffer.get()->getSize();
+ reader->m_membufferpos = reader->m_membuffer->getSize();
break;
case AVSEEK_SIZE:
- return reader->m_membuffer.get()->getSize();
+ return reader->m_membuffer->getSize();
}
return (reader->m_membufferpos += offset);
@@ -341,14 +338,15 @@ void AUD_FFMPEGReader::seek(int position)
{
// read until we're at the right position
int length = AUD_DEFAULT_BUFFER_SIZE;
- sample_t* buffer;
+ AUD_Buffer buffer(length * AUD_SAMPLE_SIZE(m_specs));
+ bool eos;
for(int len = position - m_position;
length == AUD_DEFAULT_BUFFER_SIZE;
len -= AUD_DEFAULT_BUFFER_SIZE)
{
if(len < AUD_DEFAULT_BUFFER_SIZE)
length = len;
- read(length, buffer);
+ read(length, eos, buffer.getBuffer());
}
}
}
@@ -381,7 +379,7 @@ AUD_Specs AUD_FFMPEGReader::getSpecs() const
return m_specs.specs;
}
-void AUD_FFMPEGReader::read(int & length, sample_t* & buffer)
+void AUD_FFMPEGReader::read(int& length, bool& eos, sample_t* buffer)
{
// read packages and decode them
AVPacket packet;
@@ -390,11 +388,7 @@ void AUD_FFMPEGReader::read(int & length, sample_t* & buffer)
int left = length;
int sample_size = AUD_DEVICE_SAMPLE_SIZE(m_specs);
- // resize output buffer if necessary
- if(m_buffer.getSize() < length * AUD_SAMPLE_SIZE(m_specs))
- m_buffer.resize(length * AUD_SAMPLE_SIZE(m_specs));
-
- buffer = m_buffer.getBuffer();
+ sample_t* buf = buffer;
pkgbuf_pos = m_pkgbuf_left;
m_pkgbuf_left = 0;
@@ -402,9 +396,9 @@ void AUD_FFMPEGReader::read(int & length, sample_t* & buffer)
if(pkgbuf_pos > 0)
{
data_size = AUD_MIN(pkgbuf_pos, left * sample_size);
- m_convert((data_t*) buffer, (data_t*) m_pkgbuf.getBuffer(),
+ m_convert((data_t*) buf, (data_t*) m_pkgbuf.getBuffer(),
data_size / AUD_FORMAT_SIZE(m_specs.format));
- buffer += data_size / AUD_FORMAT_SIZE(m_specs.format);
+ buf += data_size / AUD_FORMAT_SIZE(m_specs.format);
left -= data_size/sample_size;
}
@@ -419,9 +413,9 @@ void AUD_FFMPEGReader::read(int & length, sample_t* & buffer)
// copy to output buffer
data_size = AUD_MIN(pkgbuf_pos, left * sample_size);
- m_convert((data_t*) buffer, (data_t*) m_pkgbuf.getBuffer(),
+ m_convert((data_t*) buf, (data_t*) m_pkgbuf.getBuffer(),
data_size / AUD_FORMAT_SIZE(m_specs.format));
- buffer += data_size / AUD_FORMAT_SIZE(m_specs.format);
+ buf += data_size / AUD_FORMAT_SIZE(m_specs.format);
left -= data_size/sample_size;
}
av_free_packet(&packet);
@@ -435,9 +429,8 @@ void AUD_FFMPEGReader::read(int & length, sample_t* & buffer)
pkgbuf_pos-data_size);
}
- buffer = m_buffer.getBuffer();
-
- if(left > 0)
+ if((eos = (left > 0)))
length -= left;
+
m_position += length;
}
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.h b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.h
index 26e66859451..a83477b50d6 100644
--- a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.h
+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.h
@@ -49,8 +49,6 @@ extern "C" {
* \warning Seeking may not be accurate! Moreover the position is updated after
* a buffer reading call. So calling getPosition right after seek
* normally results in a wrong value.
- * \warning Playback of an ogg with some outdated ffmpeg versions results in a
- * segfault on windows.
*/
class AUD_FFMPEGReader : public AUD_IReader
{
@@ -61,11 +59,6 @@ private:
int m_position;
/**
- * The playback buffer.
- */
- AUD_Buffer m_buffer;
-
- /**
* The specification of the audio data.
*/
AUD_DeviceSpecs m_specs;
@@ -91,9 +84,9 @@ private:
AVCodecContext* m_codecCtx;
/**
- * The ByteIOContext to read the data from.
+ * The AVIOContext to read the data from.
*/
- ByteIOContext* m_byteiocontext;
+ AVIOContext* m_aviocontext;
/**
* The stream ID in the file.
@@ -167,7 +160,7 @@ public:
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_FFMPEGREADER
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
new file mode 100644
index 00000000000..197671ee37a
--- /dev/null
+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
@@ -0,0 +1,305 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/ffmpeg/AUD_FFMPEGWriter.cpp
+ * \ingroup audffmpeg
+ */
+
+
+// needed for INT64_C
+#ifndef __STDC_CONSTANT_MACROS
+#define __STDC_CONSTANT_MACROS
+#endif
+
+#include "AUD_FFMPEGWriter.h"
+
+extern "C" {
+#include <libavcodec/avcodec.h>
+#include <libavformat/avformat.h>
+#include <libavformat/avio.h>
+#include "ffmpeg_compat.h"
+}
+
+static const char* context_error = "AUD_FFMPEGWriter: Couldn't allocate context.";
+static const char* codec_error = "AUD_FFMPEGWriter: Invalid codec or codec not found.";
+static const char* stream_error = "AUD_FFMPEGWriter: Couldn't allocate stream.";
+static const char* format_error = "AUD_FFMPEGWriter: Unsupported sample format.";
+static const char* file_error = "AUD_FFMPEGWriter: File couldn't be written.";
+static const char* write_error = "AUD_FFMPEGWriter: Error writing packet.";
+
+AUD_FFMPEGWriter::AUD_FFMPEGWriter(std::string filename, AUD_DeviceSpecs specs, AUD_Container format, AUD_Codec codec, unsigned int bitrate) :
+ m_position(0),
+ m_specs(specs),
+ m_input_samples(0)
+{
+ static const char* formats[] = { NULL, "ac3", "flac", "matroska", "mp2", "mp3", "ogg", "wav" };
+
+ if(avformat_alloc_output_context2(&m_formatCtx, NULL, formats[format], filename.c_str()))
+ AUD_THROW(AUD_ERROR_FFMPEG, context_error);
+
+ m_outputFmt = m_formatCtx->oformat;
+
+ switch(codec)
+ {
+ case AUD_CODEC_AAC:
+ m_outputFmt->audio_codec = CODEC_ID_AAC;
+ break;
+ case AUD_CODEC_AC3:
+ m_outputFmt->audio_codec = CODEC_ID_AC3;
+ break;
+ case AUD_CODEC_FLAC:
+ m_outputFmt->audio_codec = CODEC_ID_FLAC;
+ break;
+ case AUD_CODEC_MP2:
+ m_outputFmt->audio_codec = CODEC_ID_MP2;
+ break;
+ case AUD_CODEC_MP3:
+ m_outputFmt->audio_codec = CODEC_ID_MP3;
+ break;
+ case AUD_CODEC_PCM:
+ switch(specs.format)
+ {
+ case AUD_FORMAT_U8:
+ m_outputFmt->audio_codec = CODEC_ID_PCM_U8;
+ break;
+ case AUD_FORMAT_S16:
+ m_outputFmt->audio_codec = CODEC_ID_PCM_S16LE;
+ break;
+ case AUD_FORMAT_S24:
+ m_outputFmt->audio_codec = CODEC_ID_PCM_S24LE;
+ break;
+ case AUD_FORMAT_S32:
+ m_outputFmt->audio_codec = CODEC_ID_PCM_S32LE;
+ break;
+ case AUD_FORMAT_FLOAT32:
+ m_outputFmt->audio_codec = CODEC_ID_PCM_F32LE;
+ break;
+ case AUD_FORMAT_FLOAT64:
+ m_outputFmt->audio_codec = CODEC_ID_PCM_F64LE;
+ break;
+ default:
+ m_outputFmt->audio_codec = CODEC_ID_NONE;
+ break;
+ }
+ break;
+ case AUD_CODEC_VORBIS:
+ m_outputFmt->audio_codec = CODEC_ID_VORBIS;
+ break;
+ default:
+ m_outputFmt->audio_codec = CODEC_ID_NONE;
+ break;
+ }
+
+ try
+ {
+ if(m_outputFmt->audio_codec == CODEC_ID_NONE)
+ AUD_THROW(AUD_ERROR_SPECS, codec_error);
+
+ m_stream = av_new_stream(m_formatCtx, 0);
+ if(!m_stream)
+ AUD_THROW(AUD_ERROR_FFMPEG, stream_error);
+
+ m_codecCtx = m_stream->codec;
+ m_codecCtx->codec_id = m_outputFmt->audio_codec;
+ m_codecCtx->codec_type = AVMEDIA_TYPE_AUDIO;
+ m_codecCtx->bit_rate = bitrate;
+ m_codecCtx->sample_rate = int(m_specs.rate);
+ m_codecCtx->channels = m_specs.channels;
+ m_codecCtx->time_base.num = 1;
+ m_codecCtx->time_base.den = m_codecCtx->sample_rate;
+
+ switch(m_specs.format)
+ {
+ case AUD_FORMAT_U8:
+ m_convert = AUD_convert_float_u8;
+ m_codecCtx->sample_fmt = SAMPLE_FMT_U8;
+ break;
+ case AUD_FORMAT_S16:
+ m_convert = AUD_convert_float_s16;
+ m_codecCtx->sample_fmt = SAMPLE_FMT_S16;
+ break;
+ case AUD_FORMAT_S32:
+ m_convert = AUD_convert_float_s32;
+ m_codecCtx->sample_fmt = SAMPLE_FMT_S32;
+ break;
+ case AUD_FORMAT_FLOAT32:
+ m_convert = AUD_convert_copy<float>;
+ m_codecCtx->sample_fmt = SAMPLE_FMT_FLT;
+ break;
+ case AUD_FORMAT_FLOAT64:
+ m_convert = AUD_convert_float_double;
+ m_codecCtx->sample_fmt = SAMPLE_FMT_DBL;
+ break;
+ default:
+ AUD_THROW(AUD_ERROR_FFMPEG, format_error);
+ }
+
+ try
+ {
+ if(m_formatCtx->oformat->flags & AVFMT_GLOBALHEADER)
+ m_codecCtx->flags |= CODEC_FLAG_GLOBAL_HEADER;
+
+ AVCodec* codec = avcodec_find_encoder(m_codecCtx->codec_id);
+ if(!codec)
+ AUD_THROW(AUD_ERROR_FFMPEG, codec_error);
+
+ if(avcodec_open(m_codecCtx, codec))
+ AUD_THROW(AUD_ERROR_FFMPEG, codec_error);
+
+ m_output_buffer.resize(FF_MIN_BUFFER_SIZE);
+ int samplesize = AUD_MAX(AUD_SAMPLE_SIZE(m_specs), AUD_DEVICE_SAMPLE_SIZE(m_specs));
+
+ if(m_codecCtx->frame_size <= 1)
+ m_input_size = 0;
+ else
+ {
+ m_input_buffer.resize(m_codecCtx->frame_size * samplesize);
+ m_input_size = m_codecCtx->frame_size;
+ }
+
+ try
+ {
+ if(avio_open(&m_formatCtx->pb, filename.c_str(), AVIO_FLAG_WRITE))
+ AUD_THROW(AUD_ERROR_FILE, file_error);
+
+ avformat_write_header(m_formatCtx, NULL);
+ }
+ catch(AUD_Exception&)
+ {
+ avcodec_close(m_codecCtx);
+ av_freep(&m_formatCtx->streams[0]->codec);
+ throw;
+ }
+ }
+ catch(AUD_Exception&)
+ {
+ av_freep(&m_formatCtx->streams[0]);
+ throw;
+ }
+ }
+ catch(AUD_Exception&)
+ {
+ av_free(m_formatCtx);
+ throw;
+ }
+}
+
+AUD_FFMPEGWriter::~AUD_FFMPEGWriter()
+{
+ // writte missing data
+ if(m_input_samples)
+ {
+ sample_t* buf = m_input_buffer.getBuffer();
+ memset(buf + m_specs.channels * m_input_samples, 0,
+ (m_input_size - m_input_samples) * AUD_DEVICE_SAMPLE_SIZE(m_specs));
+
+ encode(buf);
+ }
+
+ av_write_trailer(m_formatCtx);
+
+ avcodec_close(m_codecCtx);
+
+ av_freep(&m_formatCtx->streams[0]->codec);
+ av_freep(&m_formatCtx->streams[0]);
+
+ avio_close(m_formatCtx->pb);
+ av_free(m_formatCtx);
+}
+
+int AUD_FFMPEGWriter::getPosition() const
+{
+ return m_position;
+}
+
+AUD_DeviceSpecs AUD_FFMPEGWriter::getSpecs() const
+{
+ return m_specs;
+}
+
+void AUD_FFMPEGWriter::encode(sample_t* data)
+{
+ sample_t* outbuf = m_output_buffer.getBuffer();
+
+ // convert first
+ if(m_input_size)
+ m_convert(reinterpret_cast<data_t*>(data), reinterpret_cast<data_t*>(data), m_input_size * m_specs.channels);
+
+ AVPacket packet;
+ av_init_packet(&packet);
+ packet.size = avcodec_encode_audio(m_codecCtx, reinterpret_cast<uint8_t*>(outbuf), m_output_buffer.getSize(), reinterpret_cast<short*>(data));
+ if(m_codecCtx->coded_frame && m_codecCtx->coded_frame->pts != AV_NOPTS_VALUE)
+ packet.pts = av_rescale_q(m_codecCtx->coded_frame->pts, m_codecCtx->time_base, m_stream->time_base);
+ packet.flags |= AV_PKT_FLAG_KEY;
+ packet.stream_index = m_stream->index;
+ packet.data = reinterpret_cast<uint8_t*>(outbuf);
+
+ if(av_interleaved_write_frame(m_formatCtx, &packet))
+ AUD_THROW(AUD_ERROR_FFMPEG, write_error);
+}
+
+void AUD_FFMPEGWriter::write(unsigned int length, sample_t* buffer)
+{
+ unsigned int samplesize = AUD_SAMPLE_SIZE(m_specs);
+
+ if(m_input_size)
+ {
+ sample_t* inbuf = m_input_buffer.getBuffer();
+
+ while(length)
+ {
+ unsigned int len = AUD_MIN(m_input_size - m_input_samples, length);
+
+ memcpy(inbuf + m_input_samples * m_specs.channels, buffer, len * samplesize);
+
+ buffer += len * m_specs.channels;
+ m_input_samples += len;
+ m_position += len;
+ length -= len;
+
+ if(m_input_samples == m_input_size)
+ {
+ encode(inbuf);
+
+ m_input_samples = 0;
+ }
+ }
+ }
+ else // PCM data, can write directly!
+ {
+ int samplesize = AUD_SAMPLE_SIZE(m_specs);
+ if(m_output_buffer.getSize() != length * m_specs.channels * m_codecCtx->bits_per_coded_sample / 8)
+ m_output_buffer.resize(length * m_specs.channels * m_codecCtx->bits_per_coded_sample / 8);
+ m_input_buffer.assureSize(length * AUD_MAX(AUD_DEVICE_SAMPLE_SIZE(m_specs), samplesize));
+
+ sample_t* buf = m_input_buffer.getBuffer();
+ m_convert(reinterpret_cast<data_t*>(buf), reinterpret_cast<data_t*>(buffer), length * m_specs.channels);
+
+ encode(buf);
+
+ m_position += length;
+ }
+}
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.h b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.h
new file mode 100644
index 00000000000..92460eed7ca
--- /dev/null
+++ b/intern/audaspace/ffmpeg/AUD_FFMPEGWriter.h
@@ -0,0 +1,140 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/ffmpeg/AUD_FFMPEGWriter.h
+ * \ingroup audffmpeg
+ */
+
+
+#ifndef AUD_FFMPEGWRITER
+#define AUD_FFMPEGWRITER
+
+#include "AUD_ConverterFunctions.h"
+#include "AUD_Buffer.h"
+#include "AUD_IWriter.h"
+
+#include <string>
+
+struct AVCodecContext;
+extern "C" {
+#include <libavformat/avformat.h>
+}
+
+/**
+ * This class writes a sound file via ffmpeg.
+ */
+class AUD_FFMPEGWriter : public AUD_IWriter
+{
+private:
+ /**
+ * The current position in samples.
+ */
+ int m_position;
+
+ /**
+ * The specification of the audio data.
+ */
+ AUD_DeviceSpecs m_specs;
+
+ /**
+ * The AVFormatContext structure for using ffmpeg.
+ */
+ AVFormatContext* m_formatCtx;
+
+ /**
+ * The AVCodecContext structure for using ffmpeg.
+ */
+ AVCodecContext* m_codecCtx;
+
+ /**
+ * The AVOutputFormat structure for using ffmpeg.
+ */
+ AVOutputFormat* m_outputFmt;
+
+ /**
+ * The AVStream structure for using ffmpeg.
+ */
+ AVStream* m_stream;
+
+ /**
+ * The input buffer for the format converted data before encoding.
+ */
+ AUD_Buffer m_input_buffer;
+
+ /**
+ * The output buffer for the encoded audio data.
+ */
+ AUD_Buffer m_output_buffer;
+
+ /**
+ * The count of input samples we have so far.
+ */
+ unsigned int m_input_samples;
+
+ /**
+ * The count of input samples necessary to encode a packet.
+ */
+ unsigned int m_input_size;
+
+ /**
+ * Converter function.
+ */
+ AUD_convert_f m_convert;
+
+ // hide copy constructor and operator=
+ AUD_FFMPEGWriter(const AUD_FFMPEGWriter&);
+ AUD_FFMPEGWriter& operator=(const AUD_FFMPEGWriter&);
+
+ /**
+ * Encodes to the output buffer.
+ * \param data Pointer to the data to encode.
+ */
+ void encode(sample_t* data);
+
+public:
+ /**
+ * Creates a new writer.
+ * \param filename The path to the file to be read.
+ * \param specs The file's audio specification.
+ * \param format The file's container format.
+ * \param codec The codec used for encoding the audio data.
+ * \param bitrate The bitrate for encoding.
+ * \exception AUD_Exception Thrown if the file specified does not exist or
+ * cannot be read with ffmpeg.
+ */
+ AUD_FFMPEGWriter(std::string filename, AUD_DeviceSpecs specs, AUD_Container format, AUD_Codec codec, unsigned int bitrate);
+
+ /**
+ * Destroys the writer and closes the file.
+ */
+ virtual ~AUD_FFMPEGWriter();
+
+ virtual int getPosition() const;
+ virtual AUD_DeviceSpecs getSpecs() const;
+ virtual void write(unsigned int length, sample_t* buffer);
+};
+
+#endif //AUD_FFMPEGWRITER
diff --git a/intern/audaspace/fftw/AUD_BandPassReader.cpp b/intern/audaspace/fftw/AUD_BandPassReader.cpp
index 06f0a2af0ad..22c65b18d76 100644
--- a/intern/audaspace/fftw/AUD_BandPassReader.cpp
+++ b/intern/audaspace/fftw/AUD_BandPassReader.cpp
@@ -71,8 +71,7 @@ void AUD_BandPassReader::read(int & length, sample_t* & buffer)
if(length > 0)
{
- if(length * AUD_SAMPLE_SIZE(specs) > m_buffer->getSize())
- m_buffer->resize(length * AUD_SAMPLE_SIZE(specs));
+ m_buffer->assureSize(length * AUD_SAMPLE_SIZE(specs));
if(length != m_length)
{
diff --git a/intern/audaspace/intern/AUD_3DMath.h b/intern/audaspace/intern/AUD_3DMath.h
index fc095ebaca7..eb16dcf2d50 100644
--- a/intern/audaspace/intern/AUD_3DMath.h
+++ b/intern/audaspace/intern/AUD_3DMath.h
@@ -32,15 +32,23 @@
#ifndef AUD_3DMATH
#define AUD_3DMATH
-class AUD_Quaternion
+#include <cmath>
+#include <cstring>
+
+/**
+ * This class represents a 3 dimensional vector.
+ */
+class AUD_Vector3
{
private:
+ /**
+ * The vector components.
+ */
union
{
- float m_v[4];
+ float m_v[3];
struct
{
- float m_w;
float m_x;
float m_y;
float m_z;
@@ -49,28 +57,18 @@ private:
public:
/**
- * Creates a new quaternion.
- * \param w The w component.
+ * Creates a new 3 dimensional vector.
* \param x The x component.
* \param y The y component.
* \param z The z component.
*/
- inline AUD_Quaternion(float w, float x, float y, float z) :
- m_w(w), m_x(x), m_y(y), m_z(z)
- {
- }
-
- /**
- * Retrieves the w component of the quarternion.
- * \return The w component.
- */
- inline const float& w() const
+ inline AUD_Vector3(float x = 0, float y = 0, float z = 0) :
+ m_x(x), m_y(y), m_z(z)
{
- return m_w;
}
/**
- * Retrieves the x component of the quarternion.
+ * Retrieves the x component of the vector.
* \return The x component.
*/
inline const float& x() const
@@ -79,7 +77,7 @@ public:
}
/**
- * Retrieves the y component of the quarternion.
+ * Retrieves the y component of the vector.
* \return The y component.
*/
inline const float& y() const
@@ -88,7 +86,7 @@ public:
}
/**
- * Retrieves the z component of the quarternion.
+ * Retrieves the z component of the vector.
* \return The z component.
*/
inline const float& z() const
@@ -98,34 +96,130 @@ public:
/**
* Retrieves the components of the vector.
- * \param destination Where the 4 float values should be saved to.
+ * \param destination Where the 3 float values should be saved to.
*/
inline void get(float* destination) const
{
- destination[0] = m_w;
- destination[1] = m_x;
- destination[2] = m_y;
- destination[3] = m_z;
+ memcpy(destination, m_v, sizeof(m_v));
}
/**
* Retrieves the components of the vector.
- * \return The components as float[4].
+ * \return The components as float[3].
+ */
+ inline float* get()
+ {
+ return m_v;
+ }
+
+ /**
+ * Retrieves the components of the vector.
+ * \return The components as float[3].
*/
inline const float* get() const
{
return m_v;
}
+
+ /**
+ * Retrieves the length of the vector.
+ * \return The length of the vector.
+ */
+ inline float length() const
+ {
+ return sqrt(m_x*m_x + m_y*m_y + m_z*m_z);
+ }
+
+ /**
+ * Retrieves the cross product.
+ * \param op The second operand.
+ * \return The cross product of the two vectors.
+ */
+ inline AUD_Vector3 cross(const AUD_Vector3& op) const
+ {
+ return AUD_Vector3(m_y * op.m_z - m_z * op.m_y,
+ m_z * op.m_x - m_x * op.m_z,
+ m_x * op.m_y - m_y * op.m_x);
+ }
+
+ /**
+ * Retrieves the dot product.
+ * \param op The second operand.
+ * \return The dot product of the two vectors.
+ */
+ inline float operator*(const AUD_Vector3& op) const
+ {
+ return m_x * op.m_x + m_y * op.m_y + m_z * op.m_z;
+ }
+
+ /**
+ * Retrieves the product with a scalar.
+ * \param op The second operand.
+ * \return The scaled vector.
+ */
+ inline AUD_Vector3 operator*(const float& op) const
+ {
+ return AUD_Vector3(m_x * op, m_y * op, m_z * op);
+ }
+
+ /**
+ * Adds two vectors.
+ * \param op The second operand.
+ * \return The sum vector.
+ */
+ inline AUD_Vector3 operator+(const AUD_Vector3& op) const
+ {
+ return AUD_Vector3(m_x + op.m_x, m_y + op.m_y, m_z + op.m_z);
+ }
+
+ /**
+ * Subtracts two vectors.
+ * \param op The second operand.
+ * \return The difference vector.
+ */
+ inline AUD_Vector3 operator-(const AUD_Vector3& op) const
+ {
+ return AUD_Vector3(m_x - op.m_x, m_y - op.m_y, m_z - op.m_z);
+ }
+
+ /**
+ * Negates the vector.
+ * \return The vector facing in the opposite direction.
+ */
+ inline AUD_Vector3 operator-() const
+ {
+ return AUD_Vector3(-m_x, -m_y, -m_z);
+ }
+
+ /**
+ * Subtracts the second vector.
+ * \param op The second operand.
+ * \return The difference vector.
+ */
+ inline AUD_Vector3& operator-=(const AUD_Vector3& op)
+ {
+ m_x -= op.m_x;
+ m_y -= op.m_y;
+ m_z -= op.m_z;
+ return *this;
+ }
};
-class AUD_Vector3
+/**
+ * This class represents a quaternion used for 3D rotations.
+ */
+class AUD_Quaternion
{
private:
+ /**
+ * The quaternion components.
+ */
union
{
- float m_v[3];
+ float m_v[4];
struct
{
+ float m_w;
float m_x;
float m_y;
float m_z;
@@ -134,18 +228,28 @@ private:
public:
/**
- * Creates a new 3 dimensional vector.
+ * Creates a new quaternion.
+ * \param w The w component.
* \param x The x component.
* \param y The y component.
* \param z The z component.
*/
- inline AUD_Vector3(float x, float y, float z) :
- m_x(x), m_y(y), m_z(z)
+ inline AUD_Quaternion(float w = 1, float x = 0, float y = 0, float z = 0) :
+ m_w(w), m_x(x), m_y(y), m_z(z)
{
}
/**
- * Retrieves the x component of the vector.
+ * Retrieves the w component of the quarternion.
+ * \return The w component.
+ */
+ inline const float& w() const
+ {
+ return m_w;
+ }
+
+ /**
+ * Retrieves the x component of the quarternion.
* \return The x component.
*/
inline const float& x() const
@@ -154,7 +258,7 @@ public:
}
/**
- * Retrieves the y component of the vector.
+ * Retrieves the y component of the quarternion.
* \return The y component.
*/
inline const float& y() const
@@ -163,7 +267,7 @@ public:
}
/**
- * Retrieves the z component of the vector.
+ * Retrieves the z component of the quarternion.
* \return The z component.
*/
inline const float& z() const
@@ -173,23 +277,54 @@ public:
/**
* Retrieves the components of the vector.
- * \param destination Where the 3 float values should be saved to.
+ * \param destination Where the 4 float values should be saved to.
*/
inline void get(float* destination) const
{
- destination[0] = m_x;
- destination[1] = m_y;
- destination[2] = m_z;
+ memcpy(destination, m_v, sizeof(m_v));
}
/**
* Retrieves the components of the vector.
- * \return The components as float[3].
+ * \return The components as float[4].
+ */
+ inline float* get()
+ {
+ return m_v;
+ }
+
+ /**
+ * Retrieves the components of the vector.
+ * \return The components as float[4].
*/
inline const float* get() const
{
return m_v;
}
+
+ /**
+ * When the quaternion represents an orientation, this returns the negative
+ * z axis vector.
+ * \return The negative z axis vector.
+ */
+ inline AUD_Vector3 getLookAt() const
+ {
+ return AUD_Vector3(-2 * (m_w * m_y + m_x * m_z),
+ 2 * (m_x * m_w - m_z * m_y),
+ 2 * (m_x * m_x + m_y * m_y) - 1);
+ }
+
+ /**
+ * When the quaternion represents an orientation, this returns the y axis
+ * vector.
+ * \return The y axis vector.
+ */
+ inline AUD_Vector3 getUp() const
+ {
+ return AUD_Vector3(2 * (m_x * m_y - m_w * m_z),
+ 1 - 2 * (m_x * m_x + m_z * m_z),
+ 2 * (m_w * m_x + m_y * m_z));
+ }
};
#endif //AUD_3DMATH
diff --git a/intern/audaspace/intern/AUD_AnimateableProperty.cpp b/intern/audaspace/intern/AUD_AnimateableProperty.cpp
new file mode 100644
index 00000000000..98d5b4cb6e1
--- /dev/null
+++ b/intern/audaspace/intern/AUD_AnimateableProperty.cpp
@@ -0,0 +1,159 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_AnimateableProperty.cpp
+ * \ingroup audaspaceintern
+ */
+
+
+#include "AUD_AnimateableProperty.h"
+
+#include <cstring>
+#include <cmath>
+
+AUD_AnimateableProperty::AUD_AnimateableProperty(int count) :
+ AUD_Buffer(count * sizeof(float)), m_count(count), m_isAnimated(false)
+{
+ memset(getBuffer(), 0, count * sizeof(float));
+
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_init(&attr);
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+
+ pthread_mutex_init(&m_mutex, &attr);
+
+ pthread_mutexattr_destroy(&attr);
+}
+
+AUD_AnimateableProperty::~AUD_AnimateableProperty()
+{
+ pthread_mutex_destroy(&m_mutex);
+}
+
+void AUD_AnimateableProperty::lock()
+{
+ pthread_mutex_lock(&m_mutex);
+}
+
+void AUD_AnimateableProperty::unlock()
+{
+ pthread_mutex_unlock(&m_mutex);
+}
+
+void AUD_AnimateableProperty::write(const float* data)
+{
+ lock();
+
+ m_isAnimated = false;
+ memcpy(getBuffer(), data, m_count * sizeof(float));
+
+ unlock();
+}
+
+void AUD_AnimateableProperty::write(const float* data, int position, int count)
+{
+ lock();
+
+ m_isAnimated = true;
+
+ int pos = getSize() / (sizeof(float) * m_count);
+
+ assureSize((count + position) * m_count * sizeof(float), true);
+
+ float* buf = getBuffer();
+
+ memcpy(buf + position * m_count, data, count * m_count * sizeof(float));
+
+ for(int i = pos; i < position; i++)
+ memcpy(buf + i * m_count, buf + (pos - 1) * m_count, m_count * sizeof(float));
+
+ unlock();
+}
+
+void AUD_AnimateableProperty::read(float position, float* out)
+{
+ lock();
+
+ if(!m_isAnimated)
+ {
+ memcpy(out, getBuffer(), m_count * sizeof(float));
+ unlock();
+ return;
+ }
+
+ int last = getSize() / (sizeof(float) * m_count) - 1;
+ float t = position - floor(position);
+
+ if(position >= last)
+ {
+ position = last;
+ t = 0;
+ }
+
+ if(t == 0)
+ {
+ memcpy(out, getBuffer() + int(floor(position)) * m_count, m_count * sizeof(float));
+ }
+ else
+ {
+ int pos = int(floor(position)) * m_count;
+ float t2 = t * t;
+ float t3 = t2 * t;
+ float m0, m1;
+ float* p0;
+ float* p1 = getBuffer() + pos;
+ float* p2;
+ float* p3;
+ last *= m_count;
+
+ if(pos == 0)
+ p0 = p1;
+ else
+ p0 = p1 - m_count;
+
+ p2 = p1 + m_count;
+ if(pos + m_count == last)
+ p3 = p2;
+ else
+ p3 = p2 + m_count;
+
+ for(int i = 0; i < m_count; i++)
+ {
+ m0 = (p2[i] - p0[i]) / 2.0f;
+ m1 = (p3[i] - p1[i]) / 2.0f;
+
+ out[i] = (2 * t3 - 3 * t2 + 1) * p0[i] + (-2 * t3 + 3 * t2) * p1[i] +
+ (t3 - 2 * t2 + t) * m0 + (t3 - t2) * m1;
+ }
+ }
+
+ unlock();
+}
+
+bool AUD_AnimateableProperty::isAnimated() const
+{
+ return m_isAnimated;
+}
diff --git a/intern/audaspace/intern/AUD_AnimateableProperty.h b/intern/audaspace/intern/AUD_AnimateableProperty.h
new file mode 100644
index 00000000000..dd6b585741e
--- /dev/null
+++ b/intern/audaspace/intern/AUD_AnimateableProperty.h
@@ -0,0 +1,108 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_AnimateableProperty.h
+ * \ingroup audaspaceintern
+ */
+
+
+#ifndef AUD_ANIMATEABLEPROPERTY
+#define AUD_ANIMATEABLEPROPERTY
+
+#include "AUD_Buffer.h"
+
+#include <pthread.h>
+
+/**
+ * This class saves animation data for float properties.
+ */
+class AUD_AnimateableProperty : private AUD_Buffer
+{
+private:
+ /// The count of floats for a single property.
+ const int m_count;
+
+ /// Whether the property is animated or not.
+ bool m_isAnimated;
+
+ /// The mutex for locking.
+ pthread_mutex_t m_mutex;
+
+ // hide copy constructor and operator=
+ AUD_AnimateableProperty(const AUD_AnimateableProperty&);
+ AUD_AnimateableProperty& operator=(const AUD_AnimateableProperty&);
+
+public:
+ /**
+ * Creates a new animateable property.
+ * \param count The count of floats for a single property.
+ */
+ AUD_AnimateableProperty(int count = 1);
+
+ /**
+ * Destroys the animateable property.
+ */
+ ~AUD_AnimateableProperty();
+
+ /**
+ * Locks the property.
+ */
+ void lock();
+
+ /**
+ * Unlocks the previously locked property.
+ */
+ void unlock();
+
+ /**
+ * Writes the properties value and marks it non-animated.
+ * \param data The new value.
+ */
+ void write(const float* data);
+
+ /**
+ * Writes the properties value and marks it animated.
+ * \param data The new value.
+ * \param position The position in the animation in frames.
+ * \param count The count of frames to write.
+ */
+ void write(const float* data, int position, int count);
+
+ /**
+ * Reads the properties value.
+ * \param position The position in the animation in frames.
+ * \param[out] out Where to write the value to.
+ */
+ void read(float position, float* out);
+
+ /**
+ * Returns whether the property is animated.
+ * \return Whether the property is animated.
+ */
+ bool isAnimated() const;
+};
+
+#endif //AUD_ANIMATEABLEPROPERTY
diff --git a/intern/audaspace/intern/AUD_Buffer.cpp b/intern/audaspace/intern/AUD_Buffer.cpp
index 37c05fd1cc0..43955b54988 100644
--- a/intern/audaspace/intern/AUD_Buffer.cpp
+++ b/intern/audaspace/intern/AUD_Buffer.cpp
@@ -74,3 +74,9 @@ void AUD_Buffer::resize(int size, bool keep)
m_size = size;
}
+
+void AUD_Buffer::assureSize(int size, bool keep)
+{
+ if(m_size < size)
+ resize(size, keep);
+}
diff --git a/intern/audaspace/intern/AUD_Buffer.h b/intern/audaspace/intern/AUD_Buffer.h
index 9b199d82fbb..4a37bc17464 100644
--- a/intern/audaspace/intern/AUD_Buffer.h
+++ b/intern/audaspace/intern/AUD_Buffer.h
@@ -80,6 +80,16 @@ public:
* the data at the end will be lost.
*/
void resize(int size, bool keep = false);
+
+ /**
+ * Makes sure the buffer has a minimum size.
+ * If size is >= current size, nothing will happen.
+ * Otherwise the buffer is resized with keep as parameter.
+ * \param size The new minimum size of the buffer, measured in bytes.
+ * \param keep Whether to keep the old data. If the new buffer is smaller,
+ * the data at the end will be lost.
+ */
+ void assureSize(int size, bool keep = false);
};
#endif //AUD_BUFFER
diff --git a/intern/audaspace/intern/AUD_BufferReader.cpp b/intern/audaspace/intern/AUD_BufferReader.cpp
index 78111ba104c..99a99069378 100644
--- a/intern/audaspace/intern/AUD_BufferReader.cpp
+++ b/intern/audaspace/intern/AUD_BufferReader.cpp
@@ -33,6 +33,8 @@
#include "AUD_Buffer.h"
#include "AUD_Space.h"
+#include <cstring>
+
AUD_BufferReader::AUD_BufferReader(AUD_Reference<AUD_Buffer> buffer,
AUD_Specs specs) :
m_position(0), m_buffer(buffer), m_specs(specs)
@@ -51,7 +53,7 @@ void AUD_BufferReader::seek(int position)
int AUD_BufferReader::getLength() const
{
- return m_buffer.get()->getSize() / AUD_SAMPLE_SIZE(m_specs);
+ return m_buffer->getSize() / AUD_SAMPLE_SIZE(m_specs);
}
int AUD_BufferReader::getPosition() const
@@ -64,17 +66,27 @@ AUD_Specs AUD_BufferReader::getSpecs() const
return m_specs;
}
-void AUD_BufferReader::read(int & length, sample_t* & buffer)
+void AUD_BufferReader::read(int& length, bool& eos, sample_t* buffer)
{
+ eos = false;
+
int sample_size = AUD_SAMPLE_SIZE(m_specs);
- buffer = m_buffer.get()->getBuffer() + m_position * m_specs.channels;
+ sample_t* buf = m_buffer->getBuffer() + m_position * m_specs.channels;
// in case the end of the buffer is reached
- if(m_buffer.get()->getSize() < (m_position + length) * sample_size)
- length = m_buffer.get()->getSize() / sample_size - m_position;
+ if(m_buffer->getSize() < (m_position + length) * sample_size)
+ {
+ length = m_buffer->getSize() / sample_size - m_position;
+ eos = true;
+ }
if(length < 0)
+ {
length = 0;
+ return;
+ }
+
m_position += length;
+ memcpy(buffer, buf, length * sample_size);
}
diff --git a/intern/audaspace/intern/AUD_BufferReader.h b/intern/audaspace/intern/AUD_BufferReader.h
index 3369672703c..5ba6c503855 100644
--- a/intern/audaspace/intern/AUD_BufferReader.h
+++ b/intern/audaspace/intern/AUD_BufferReader.h
@@ -76,7 +76,7 @@ public:
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_BUFFERREADER
diff --git a/intern/audaspace/intern/AUD_C-API.cpp b/intern/audaspace/intern/AUD_C-API.cpp
index 0119bb105d8..d5c3e368e28 100644
--- a/intern/audaspace/intern/AUD_C-API.cpp
+++ b/intern/audaspace/intern/AUD_C-API.cpp
@@ -37,18 +37,18 @@
#ifdef WITH_PYTHON
#include "AUD_PyInit.h"
#include "AUD_PyAPI.h"
-
-Device* g_device;
-bool g_pyinitialized = false;
#endif
+#include <set>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include "AUD_NULLDevice.h"
#include "AUD_I3DDevice.h"
+#include "AUD_I3DHandle.h"
#include "AUD_FileFactory.h"
+#include "AUD_FileWriter.h"
#include "AUD_StreamBufferFactory.h"
#include "AUD_DelayFactory.h"
#include "AUD_LimiterFactory.h"
@@ -67,6 +67,7 @@ bool g_pyinitialized = false;
#include "AUD_ReadDevice.h"
#include "AUD_IReader.h"
#include "AUD_SequencerFactory.h"
+#include "AUD_SequencerEntry.h"
#include "AUD_SilenceFactory.h"
#ifdef WITH_SDL
@@ -90,9 +91,10 @@ extern "C" {
#include <cassert>
-typedef AUD_IFactory AUD_Sound;
-typedef AUD_ReadDevice AUD_Device;
-typedef AUD_Handle AUD_Channel;
+typedef AUD_Reference<AUD_IFactory> AUD_Sound;
+typedef AUD_Reference<AUD_ReadDevice> AUD_Device;
+typedef AUD_Reference<AUD_IHandle> AUD_Handle;
+typedef AUD_Reference<AUD_SequencerEntry> AUD_SEntry;
#define AUD_CAPI_IMPLEMENTATION
#include "AUD_C-API.h"
@@ -101,8 +103,8 @@ typedef AUD_Handle AUD_Channel;
#define NULL 0
#endif
-static AUD_IDevice* AUD_device = NULL;
-static AUD_I3DDevice* AUD_3ddevice = NULL;
+static AUD_Reference<AUD_IDevice> AUD_device;
+static AUD_I3DDevice* AUD_3ddevice;
void AUD_initOnce()
{
@@ -113,9 +115,9 @@ void AUD_initOnce()
int AUD_init(AUD_DeviceType device, AUD_DeviceSpecs specs, int buffersize)
{
- AUD_IDevice* dev = NULL;
+ AUD_Reference<AUD_IDevice> dev;
- if(AUD_device)
+ if(!AUD_device.isNull())
AUD_exit();
try
@@ -145,18 +147,7 @@ int AUD_init(AUD_DeviceType device, AUD_DeviceSpecs specs, int buffersize)
}
AUD_device = dev;
- AUD_3ddevice = dynamic_cast<AUD_I3DDevice*>(AUD_device);
-
-#ifdef WITH_PYTHON
- if(g_pyinitialized)
- {
- g_device = (Device*)Device_empty();
- if(g_device != NULL)
- {
- g_device->device = dev;
- }
- }
-#endif
+ AUD_3ddevice = dynamic_cast<AUD_I3DDevice*>(AUD_device.get());
return true;
}
@@ -168,28 +159,23 @@ int AUD_init(AUD_DeviceType device, AUD_DeviceSpecs specs, int buffersize)
void AUD_exit()
{
-#ifdef WITH_PYTHON
- if(g_device)
- {
- Py_XDECREF(g_device);
- g_device = NULL;
- }
- else
-#endif
- if(AUD_device)
- delete AUD_device;
- AUD_device = NULL;
+ AUD_device = AUD_Reference<AUD_IDevice>();
AUD_3ddevice = NULL;
}
#ifdef WITH_PYTHON
static PyObject* AUD_getCDevice(PyObject* self)
{
- if(g_device)
+ if(!AUD_device.isNull())
{
- Py_INCREF(g_device);
- return (PyObject*)g_device;
+ Device* device = (Device*)Device_empty();
+ if(device != NULL)
+ {
+ device->device = new AUD_Reference<AUD_IDevice>(AUD_device);
+ return (PyObject*)device;
+ }
}
+
Py_RETURN_NONE;
}
@@ -199,34 +185,87 @@ static PyMethodDef meth_getcdevice[] = {{ "device", (PyCFunction)AUD_getCDevice,
":return: The application's :class:`Device`.\n"
":rtype: :class:`Device`"}};
+extern "C" {
+extern void* sound_get_factory(void* sound);
+}
+
+static PyObject* AUD_getSoundFromPointer(PyObject* self, PyObject* args)
+{
+ long int lptr;
+
+ if(PyArg_Parse(args, "l:_sound_from_pointer", &lptr))
+ {
+ if(lptr)
+ {
+ AUD_Reference<AUD_IFactory>* factory = (AUD_Reference<AUD_IFactory>*) sound_get_factory((void*) lptr);
+
+ if(factory)
+ {
+ Factory* obj = (Factory*) Factory_empty();
+ if(obj)
+ {
+ obj->factory = new AUD_Reference<AUD_IFactory>(*factory);
+ return (PyObject*) obj;
+ }
+ }
+ }
+ }
+
+ Py_RETURN_NONE;
+}
+
+static PyMethodDef meth_sound_from_pointer[] = {{ "_sound_from_pointer", (PyCFunction)AUD_getSoundFromPointer, METH_O,
+ "_sound_from_pointer(pointer)\n\n"
+ "Returns the corresponding :class:`Factory` object.\n\n"
+ ":arg pointer: The pointer to the bSound object as long.\n"
+ ":type pointer: long\n"
+ ":return: The corresponding :class:`Factory` object.\n"
+ ":rtype: :class:`Factory`"}};
+
PyObject* AUD_initPython()
{
PyObject* module = PyInit_aud();
- PyModule_AddObject(module, "device", (PyObject *)PyCFunction_New(meth_getcdevice, NULL));
+ PyModule_AddObject(module, "device", (PyObject*)PyCFunction_New(meth_getcdevice, NULL));
+ PyModule_AddObject(module, "_sound_from_pointer", (PyObject*)PyCFunction_New(meth_sound_from_pointer, NULL));
PyDict_SetItemString(PyImport_GetModuleDict(), "aud", module);
- if(AUD_device)
+
+ return module;
+}
+
+PyObject* AUD_getPythonFactory(AUD_Sound* sound)
+{
+ if(sound)
{
- g_device = (Device*)Device_empty();
- if(g_device != NULL)
+ Factory* obj = (Factory*) Factory_empty();
+ if(obj)
{
- g_device->device = AUD_device;
+ obj->factory = new AUD_Reference<AUD_IFactory>(*sound);
+ return (PyObject*) obj;
}
}
- g_pyinitialized = true;
- return module;
+ return NULL;
+}
+
+AUD_Sound* AUD_getPythonSound(PyObject* sound)
+{
+ Factory* factory = checkFactory(sound);
+
+ if(!factory)
+ return NULL;
+
+ return new AUD_Reference<AUD_IFactory>(*reinterpret_cast<AUD_Reference<AUD_IFactory>*>(factory->factory));
}
+
#endif
void AUD_lock()
{
- assert(AUD_device);
AUD_device->lock();
}
void AUD_unlock()
{
- assert(AUD_device);
AUD_device->unlock();
}
@@ -241,13 +280,12 @@ AUD_SoundInfo AUD_getInfo(AUD_Sound* sound)
try
{
- AUD_IReader* reader = sound->createReader();
+ AUD_Reference<AUD_IReader> reader = (*sound)->createReader();
- if(reader)
+ if(!reader.isNull())
{
info.specs = reader->getSpecs();
info.length = reader->getLength() / (float) info.specs.rate;
- delete reader;
}
}
catch(AUD_Exception&)
@@ -260,13 +298,13 @@ AUD_SoundInfo AUD_getInfo(AUD_Sound* sound)
AUD_Sound* AUD_load(const char* filename)
{
assert(filename);
- return new AUD_FileFactory(filename);
+ return new AUD_Sound(new AUD_FileFactory(filename));
}
AUD_Sound* AUD_loadBuffer(unsigned char* buffer, int size)
{
assert(buffer);
- return new AUD_FileFactory(buffer, size);
+ return new AUD_Sound(new AUD_FileFactory(buffer, size));
}
AUD_Sound* AUD_bufferSound(AUD_Sound* sound)
@@ -275,7 +313,25 @@ AUD_Sound* AUD_bufferSound(AUD_Sound* sound)
try
{
- return new AUD_StreamBufferFactory(sound);
+ return new AUD_Sound(new AUD_StreamBufferFactory(*sound));
+ }
+ catch(AUD_Exception&)
+ {
+ return NULL;
+ }
+}
+
+AUD_Sound* AUD_monoSound(AUD_Sound* sound)
+{
+ assert(sound);
+
+ try
+ {
+ AUD_DeviceSpecs specs;
+ specs.channels = AUD_CHANNELS_MONO;
+ specs.rate = AUD_RATE_INVALID;
+ specs.format = AUD_FORMAT_INVALID;
+ return new AUD_Sound(new AUD_ChannelMapperFactory(*sound, specs));
}
catch(AUD_Exception&)
{
@@ -289,7 +345,7 @@ AUD_Sound* AUD_delaySound(AUD_Sound* sound, float delay)
try
{
- return new AUD_DelayFactory(sound, delay);
+ return new AUD_Sound(new AUD_DelayFactory(*sound, delay));
}
catch(AUD_Exception&)
{
@@ -303,7 +359,7 @@ AUD_Sound* AUD_limitSound(AUD_Sound* sound, float start, float end)
try
{
- return new AUD_LimiterFactory(sound, start, end);
+ return new AUD_Sound(new AUD_LimiterFactory(*sound, start, end));
}
catch(AUD_Exception&)
{
@@ -317,7 +373,7 @@ AUD_Sound* AUD_pingpongSound(AUD_Sound* sound)
try
{
- return new AUD_PingPongFactory(sound);
+ return new AUD_Sound(new AUD_PingPongFactory(*sound));
}
catch(AUD_Exception&)
{
@@ -331,7 +387,7 @@ AUD_Sound* AUD_loopSound(AUD_Sound* sound)
try
{
- return new AUD_LoopFactory(sound);
+ return new AUD_Sound(new AUD_LoopFactory(*sound));
}
catch(AUD_Exception&)
{
@@ -339,18 +395,18 @@ AUD_Sound* AUD_loopSound(AUD_Sound* sound)
}
}
-int AUD_setLoop(AUD_Channel* handle, int loops)
+int AUD_setLoop(AUD_Handle* handle, int loops)
{
- if(handle)
+ assert(handle);
+
+ try
+ {
+ return (*handle)->setLoopCount(loops);
+ }
+ catch(AUD_Exception&)
{
- try
- {
- return AUD_device->setLoopCount(handle, loops);
- }
- catch(AUD_Exception&)
- {
- }
}
+
return false;
}
@@ -360,7 +416,7 @@ AUD_Sound* AUD_rectifySound(AUD_Sound* sound)
try
{
- return new AUD_RectifyFactory(sound);
+ return new AUD_Sound(new AUD_RectifyFactory(*sound));
}
catch(AUD_Exception&)
{
@@ -374,67 +430,67 @@ void AUD_unload(AUD_Sound* sound)
delete sound;
}
-AUD_Channel* AUD_play(AUD_Sound* sound, int keep)
+AUD_Handle* AUD_play(AUD_Sound* sound, int keep)
{
- assert(AUD_device);
assert(sound);
try
{
- return AUD_device->play(sound, keep);
+ AUD_Handle handle = AUD_device->play(*sound, keep);
+ if(!handle.isNull())
+ return new AUD_Handle(handle);
}
catch(AUD_Exception&)
{
- return NULL;
}
+ return NULL;
}
-int AUD_pause(AUD_Channel* handle)
+int AUD_pause(AUD_Handle* handle)
{
- assert(AUD_device);
- return AUD_device->pause(handle);
+ assert(handle);
+ return (*handle)->pause();
}
-int AUD_resume(AUD_Channel* handle)
+int AUD_resume(AUD_Handle* handle)
{
- assert(AUD_device);
- return AUD_device->resume(handle);
+ assert(handle);
+ return (*handle)->resume();
}
-int AUD_stop(AUD_Channel* handle)
+int AUD_stop(AUD_Handle* handle)
{
- if(AUD_device)
- return AUD_device->stop(handle);
- return false;
+ assert(handle);
+ int result = (*handle)->stop();
+ delete handle;
+ return result;
}
-int AUD_setKeep(AUD_Channel* handle, int keep)
+int AUD_setKeep(AUD_Handle* handle, int keep)
{
- assert(AUD_device);
- return AUD_device->setKeep(handle, keep);
+ assert(handle);
+ return (*handle)->setKeep(keep);
}
-int AUD_seek(AUD_Channel* handle, float seekTo)
+int AUD_seek(AUD_Handle* handle, float seekTo)
{
- assert(AUD_device);
- return AUD_device->seek(handle, seekTo);
+ assert(handle);
+ return (*handle)->seek(seekTo);
}
-float AUD_getPosition(AUD_Channel* handle)
+float AUD_getPosition(AUD_Handle* handle)
{
- assert(AUD_device);
- return AUD_device->getPosition(handle);
+ assert(handle);
+ return (*handle)->getPosition();
}
-AUD_Status AUD_getStatus(AUD_Channel* handle)
+AUD_Status AUD_getStatus(AUD_Handle* handle)
{
- assert(AUD_device);
- return AUD_device->getStatus(handle);
+ assert(handle);
+ return (*handle)->getStatus();
}
int AUD_setListenerLocation(const float* location)
{
- assert(AUD_device);
-
if(AUD_3ddevice)
{
AUD_Vector3 v(location[0], location[1], location[2]);
@@ -447,8 +503,6 @@ int AUD_setListenerLocation(const float* location)
int AUD_setListenerVelocity(const float* velocity)
{
- assert(AUD_device);
-
if(AUD_3ddevice)
{
AUD_Vector3 v(velocity[0], velocity[1], velocity[2]);
@@ -461,8 +515,6 @@ int AUD_setListenerVelocity(const float* velocity)
int AUD_setListenerOrientation(const float* orientation)
{
- assert(AUD_device);
-
if(AUD_3ddevice)
{
AUD_Quaternion q(orientation[3], orientation[0], orientation[1], orientation[2]);
@@ -475,8 +527,6 @@ int AUD_setListenerOrientation(const float* orientation)
int AUD_setSpeedOfSound(float speed)
{
- assert(AUD_device);
-
if(AUD_3ddevice)
{
AUD_3ddevice->setSpeedOfSound(speed);
@@ -488,8 +538,6 @@ int AUD_setSpeedOfSound(float speed)
int AUD_setDopplerFactor(float factor)
{
- assert(AUD_device);
-
if(AUD_3ddevice)
{
AUD_3ddevice->setDopplerFactor(factor);
@@ -501,8 +549,6 @@ int AUD_setDopplerFactor(float factor)
int AUD_setDistanceModel(AUD_DistanceModel model)
{
- assert(AUD_device);
-
if(AUD_3ddevice)
{
AUD_3ddevice->setDistanceModel(model);
@@ -512,180 +558,184 @@ int AUD_setDistanceModel(AUD_DistanceModel model)
return false;
}
-int AUD_setSourceLocation(AUD_Channel* handle, const float* location)
+int AUD_setSourceLocation(AUD_Handle* handle, const float* location)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
AUD_Vector3 v(location[0], location[1], location[2]);
- return AUD_3ddevice->setSourceLocation(handle, v);
+ return h->setSourceLocation(v);
}
return false;
}
-int AUD_setSourceVelocity(AUD_Channel* handle, const float* velocity)
+int AUD_setSourceVelocity(AUD_Handle* handle, const float* velocity)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
AUD_Vector3 v(velocity[0], velocity[1], velocity[2]);
- return AUD_3ddevice->setSourceVelocity(handle, v);
+ return h->setSourceVelocity(v);
}
return false;
}
-int AUD_setSourceOrientation(AUD_Channel* handle, const float* orientation)
+int AUD_setSourceOrientation(AUD_Handle* handle, const float* orientation)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
AUD_Quaternion q(orientation[3], orientation[0], orientation[1], orientation[2]);
- return AUD_3ddevice->setSourceOrientation(handle, q);
+ return h->setSourceOrientation(q);
}
return false;
}
-int AUD_setRelative(AUD_Channel* handle, int relative)
+int AUD_setRelative(AUD_Handle* handle, int relative)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
- return AUD_3ddevice->setRelative(handle, relative);
+ return h->setRelative(relative);
}
return false;
}
-int AUD_setVolumeMaximum(AUD_Channel* handle, float volume)
+int AUD_setVolumeMaximum(AUD_Handle* handle, float volume)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
- return AUD_3ddevice->setVolumeMaximum(handle, volume);
+ return h->setVolumeMaximum(volume);
}
return false;
}
-int AUD_setVolumeMinimum(AUD_Channel* handle, float volume)
+int AUD_setVolumeMinimum(AUD_Handle* handle, float volume)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
- return AUD_3ddevice->setVolumeMinimum(handle, volume);
+ return h->setVolumeMinimum(volume);
}
return false;
}
-int AUD_setDistanceMaximum(AUD_Channel* handle, float distance)
+int AUD_setDistanceMaximum(AUD_Handle* handle, float distance)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
- return AUD_3ddevice->setDistanceMaximum(handle, distance);
+ return h->setDistanceMaximum(distance);
}
return false;
}
-int AUD_setDistanceReference(AUD_Channel* handle, float distance)
+int AUD_setDistanceReference(AUD_Handle* handle, float distance)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
- return AUD_3ddevice->setDistanceReference(handle, distance);
+ return h->setDistanceReference(distance);
}
return false;
}
-int AUD_setAttenuation(AUD_Channel* handle, float factor)
+int AUD_setAttenuation(AUD_Handle* handle, float factor)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
- return AUD_3ddevice->setAttenuation(handle, factor);
+ return h->setAttenuation(factor);
}
return false;
}
-int AUD_setConeAngleOuter(AUD_Channel* handle, float angle)
+int AUD_setConeAngleOuter(AUD_Handle* handle, float angle)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
- return AUD_3ddevice->setConeAngleOuter(handle, angle);
+ return h->setConeAngleOuter(angle);
}
return false;
}
-int AUD_setConeAngleInner(AUD_Channel* handle, float angle)
+int AUD_setConeAngleInner(AUD_Handle* handle, float angle)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
- return AUD_3ddevice->setConeAngleInner(handle, angle);
+ return h->setConeAngleInner(angle);
}
return false;
}
-int AUD_setConeVolumeOuter(AUD_Channel* handle, float volume)
+int AUD_setConeVolumeOuter(AUD_Handle* handle, float volume)
{
- assert(AUD_device);
+ assert(handle);
+ AUD_Reference<AUD_I3DHandle> h(*handle);
- if(AUD_3ddevice)
+ if(!h.isNull())
{
- return AUD_3ddevice->setConeVolumeOuter(handle, volume);
+ return h->setConeVolumeOuter(volume);
}
return false;
}
-int AUD_setSoundVolume(AUD_Channel* handle, float volume)
+int AUD_setSoundVolume(AUD_Handle* handle, float volume)
{
- if(handle)
+ assert(handle);
+ try
{
- assert(AUD_device);
-
- try
- {
- return AUD_device->setVolume(handle, volume);
- }
- catch(AUD_Exception&) {}
+ return (*handle)->setVolume(volume);
}
+ catch(AUD_Exception&) {}
return false;
}
-int AUD_setSoundPitch(AUD_Channel* handle, float pitch)
+int AUD_setSoundPitch(AUD_Handle* handle, float pitch)
{
- if(handle)
+ assert(handle);
+ try
{
- assert(AUD_device);
-
- try
- {
- return AUD_device->setPitch(handle, pitch);
- }
- catch(AUD_Exception&) {}
+ return (*handle)->setPitch(pitch);
}
+ catch(AUD_Exception&) {}
return false;
}
@@ -693,7 +743,7 @@ AUD_Device* AUD_openReadDevice(AUD_DeviceSpecs specs)
{
try
{
- return new AUD_ReadDevice(specs);
+ return new AUD_Device(new AUD_ReadDevice(specs));
}
catch(AUD_Exception&)
{
@@ -701,21 +751,24 @@ AUD_Device* AUD_openReadDevice(AUD_DeviceSpecs specs)
}
}
-AUD_Channel* AUD_playDevice(AUD_Device* device, AUD_Sound* sound, float seek)
+AUD_Handle* AUD_playDevice(AUD_Device* device, AUD_Sound* sound, float seek)
{
assert(device);
assert(sound);
try
{
- AUD_Channel* handle = device->play(sound);
- device->seek(handle, seek);
- return handle;
+ AUD_Handle handle = (*device)->play(*sound);
+ if(!handle.isNull())
+ {
+ handle->seek(seek);
+ return new AUD_Handle(handle);
+ }
}
catch(AUD_Exception&)
{
- return NULL;
}
+ return NULL;
}
int AUD_setDeviceVolume(AUD_Device* device, float volume)
@@ -724,7 +777,7 @@ int AUD_setDeviceVolume(AUD_Device* device, float volume)
try
{
- device->setVolume(volume);
+ (*device)->setVolume(volume);
return true;
}
catch(AUD_Exception&) {}
@@ -732,22 +785,6 @@ int AUD_setDeviceVolume(AUD_Device* device, float volume)
return false;
}
-int AUD_setDeviceSoundVolume(AUD_Device* device, AUD_Channel* handle,
- float volume)
-{
- if(handle)
- {
- assert(device);
-
- try
- {
- return device->setVolume(handle, volume);
- }
- catch(AUD_Exception&) {}
- }
- return false;
-}
-
int AUD_readDevice(AUD_Device* device, data_t* buffer, int length)
{
assert(device);
@@ -755,7 +792,7 @@ int AUD_readDevice(AUD_Device* device, data_t* buffer, int length)
try
{
- return device->read(buffer, length);
+ return (*device)->read(buffer, length);
}
catch(AUD_Exception&)
{
@@ -779,58 +816,52 @@ void AUD_closeReadDevice(AUD_Device* device)
float* AUD_readSoundBuffer(const char* filename, float low, float high,
float attack, float release, float threshold,
int accumulate, int additive, int square,
- float sthreshold, int samplerate, int* length)
+ float sthreshold, double samplerate, int* length)
{
AUD_Buffer buffer;
AUD_DeviceSpecs specs;
specs.channels = AUD_CHANNELS_MONO;
specs.rate = (AUD_SampleRate)samplerate;
- AUD_Sound* sound;
+ AUD_Reference<AUD_IFactory> sound;
- AUD_FileFactory file(filename);
+ AUD_Reference<AUD_IFactory> file = new AUD_FileFactory(filename);
- AUD_IReader* reader = file.createReader();
+ AUD_Reference<AUD_IReader> reader = file->createReader();
AUD_SampleRate rate = reader->getSpecs().rate;
- delete reader;
- AUD_ChannelMapperFactory mapper(&file, specs);
- sound = &mapper;
- AUD_LowpassFactory lowpass(sound, high);
+ sound = new AUD_ChannelMapperFactory(file, specs);
+
if(high < rate)
- sound = &lowpass;
- AUD_HighpassFactory highpass(sound, low);
+ sound = new AUD_LowpassFactory(sound, high);
if(low > 0)
- sound = &highpass;
- AUD_EnvelopeFactory envelope(sound, attack, release, threshold, 0.1f);
- AUD_LinearResampleFactory resampler(&envelope, specs);
- sound = &resampler;
- AUD_SquareFactory squaref(sound, sthreshold);
+ sound = new AUD_HighpassFactory(sound, low);
+
+ sound = new AUD_EnvelopeFactory(sound, attack, release, threshold, 0.1f);
+ sound = new AUD_LinearResampleFactory(sound, specs);
+
if(square)
- sound = &squaref;
- AUD_AccumulatorFactory accumulator(sound, additive);
- AUD_SumFactory sum(sound);
+ sound = new AUD_SquareFactory(sound, sthreshold);
+
if(accumulate)
- sound = &accumulator;
+ sound = new AUD_AccumulatorFactory(sound, additive);
else if(additive)
- sound = &sum;
+ sound = new AUD_SumFactory(sound);
reader = sound->createReader();
- if(reader == NULL)
+ if(reader.isNull())
return NULL;
int len;
int position = 0;
- sample_t* readbuffer;
+ bool eos;
do
{
len = samplerate;
buffer.resize((position + len) * sizeof(float), true);
- reader->read(len, readbuffer);
- memcpy(buffer.getBuffer() + position, readbuffer, len * sizeof(float));
+ reader->read(len, eos, buffer.getBuffer() + position);
position += len;
- } while(len != 0);
- delete reader;
+ } while(!eos);
float* result = (float*)malloc(position * sizeof(float));
memcpy(result, buffer.getBuffer(), position * sizeof(float));
@@ -838,170 +869,201 @@ float* AUD_readSoundBuffer(const char* filename, float low, float high,
return result;
}
-static void pauseSound(AUD_Channel* handle)
+static void pauseSound(AUD_Handle* handle)
{
- assert(AUD_device);
-
- AUD_device->pause(handle);
+ assert(handle);
+ (*handle)->pause();
}
-AUD_Channel* AUD_pauseAfter(AUD_Channel* handle, float seconds)
+AUD_Handle* AUD_pauseAfter(AUD_Handle* handle, float seconds)
{
- assert(AUD_device);
+ AUD_Reference<AUD_IFactory> silence = new AUD_SilenceFactory;
+ AUD_Reference<AUD_IFactory> limiter = new AUD_LimiterFactory(silence, 0, seconds);
- AUD_SilenceFactory silence;
- AUD_LimiterFactory limiter(&silence, 0, seconds);
+ AUD_device->lock();
try
{
- AUD_Channel* channel = AUD_device->play(&limiter);
- AUD_device->setStopCallback(channel, (stopCallback)pauseSound, handle);
- return channel;
+ AUD_Handle handle2 = AUD_device->play(limiter);
+ if(!handle2.isNull())
+ {
+ handle2->setStopCallback((stopCallback)pauseSound, handle);
+ AUD_device->unlock();
+ return new AUD_Handle(handle2);
+ }
}
catch(AUD_Exception&)
{
- return NULL;
}
+
+ AUD_device->unlock();
+
+ return NULL;
}
-AUD_Sound* AUD_createSequencer(int muted, void* data, AUD_volumeFunction volume)
+AUD_Sound* AUD_createSequencer(float fps, int muted)
{
-/* AUD_XXX should be this: but AUD_createSequencer is called before the device
- * is initialized.
-
- return new AUD_SequencerFactory(AUD_device->getSpecs().specs, data, volume);
-*/
+ // specs are changed at a later point!
AUD_Specs specs;
specs.channels = AUD_CHANNELS_STEREO;
specs.rate = AUD_RATE_44100;
- return new AUD_SequencerFactory(specs, muted, data, volume);
+ AUD_Sound* sequencer = new AUD_Sound(AUD_Reference<AUD_SequencerFactory>(new AUD_SequencerFactory(specs, fps, muted)));
+ return sequencer;
}
void AUD_destroySequencer(AUD_Sound* sequencer)
{
- delete ((AUD_SequencerFactory*)sequencer);
+ delete sequencer;
}
void AUD_setSequencerMuted(AUD_Sound* sequencer, int muted)
{
- ((AUD_SequencerFactory*)sequencer)->mute(muted);
+ dynamic_cast<AUD_SequencerFactory*>(sequencer->get())->mute(muted);
}
-AUD_SequencerEntry* AUD_addSequencer(AUD_Sound** sequencer, AUD_Sound* sound,
- float begin, float end, float skip, void* data)
+void AUD_setSequencerFPS(AUD_Sound* sequencer, float fps)
{
- return ((AUD_SequencerFactory*)sequencer)->add((AUD_IFactory**) sound, begin, end, skip, data);
+ dynamic_cast<AUD_SequencerFactory*>(sequencer->get())->setFPS(fps);
}
-void AUD_removeSequencer(AUD_Sound* sequencer, AUD_SequencerEntry* entry)
+AUD_SEntry* AUD_addSequence(AUD_Sound* sequencer, AUD_Sound* sound,
+ float begin, float end, float skip)
{
- ((AUD_SequencerFactory*)sequencer)->remove(entry);
+ if(!sound)
+ return new AUD_SEntry(((AUD_SequencerFactory*)sequencer->get())->add(AUD_Sound(), begin, end, skip));
+ return new AUD_SEntry(((AUD_SequencerFactory*)sequencer->get())->add(*sound, begin, end, skip));
}
-void AUD_moveSequencer(AUD_Sound* sequencer, AUD_SequencerEntry* entry,
- float begin, float end, float skip)
+void AUD_removeSequence(AUD_Sound* sequencer, AUD_SEntry* entry)
{
- ((AUD_SequencerFactory*)sequencer)->move(entry, begin, end, skip);
+ dynamic_cast<AUD_SequencerFactory*>(sequencer->get())->remove(*entry);
+ delete entry;
}
-void AUD_muteSequencer(AUD_Sound* sequencer, AUD_SequencerEntry* entry, char mute)
+void AUD_moveSequence(AUD_SEntry* entry, float begin, float end, float skip)
{
- ((AUD_SequencerFactory*)sequencer)->mute(entry, mute);
+ (*entry)->move(begin, end, skip);
}
-int AUD_readSound(AUD_Sound* sound, sample_t* buffer, int length)
+void AUD_muteSequence(AUD_SEntry* entry, char mute)
{
- AUD_DeviceSpecs specs;
- sample_t* buf;
-
- specs.rate = AUD_RATE_INVALID;
- specs.channels = AUD_CHANNELS_MONO;
- specs.format = AUD_FORMAT_INVALID;
-
- AUD_ChannelMapperFactory mapper(sound, specs);
+ (*entry)->mute(mute);
+}
- AUD_IReader* reader = mapper.createReader();
+void AUD_setRelativeSequence(AUD_SEntry* entry, char relative)
+{
+ (*entry)->setRelative(relative);
+}
- int len = reader->getLength();
- float samplejump = (float)len / (float)length;
- float min, max;
+void AUD_updateSequenceSound(AUD_SEntry* entry, AUD_Sound* sound)
+{
+ if(sound)
+ (*entry)->setSound(*sound);
+ else
+ (*entry)->setSound(AUD_Sound());
+}
- for(int i = 0; i < length; i++)
+void AUD_setSequenceAnimData(AUD_SEntry* entry, AUD_AnimateablePropertyType type, int frame, float* data, char animated)
+{
+ AUD_AnimateableProperty* prop = (*entry)->getAnimProperty(type);
+ if(animated)
{
- len = floor(samplejump * (i+1)) - floor(samplejump * i);
- reader->read(len, buf);
-
- if(len < 1)
- {
- length = i;
- break;
- }
+ if(frame >= 0)
+ prop->write(data, frame, 1);
+ }
+ else
+ prop->write(data);
+}
- max = min = *buf;
- for(int j = 1; j < len; j++)
- {
- if(buf[j] < min)
- min = buf[j];
- if(buf[j] > max)
- max = buf[j];
- buffer[i * 2] = min;
- buffer[i * 2 + 1] = max;
- }
+void AUD_setSequencerAnimData(AUD_Sound* sequencer, AUD_AnimateablePropertyType type, int frame, float* data, char animated)
+{
+ AUD_AnimateableProperty* prop = dynamic_cast<AUD_SequencerFactory*>(sequencer->get())->getAnimProperty(type);
+ if(animated)
+ {
+ if(frame >= 0)
+ prop->write(data, frame, 1);
}
+ else
+ prop->write(data);
+}
- delete reader;
+void AUD_updateSequenceData(AUD_SEntry* entry, float volume_max, float volume_min,
+ float distance_max, float distance_reference, float attenuation,
+ float cone_angle_outer, float cone_angle_inner, float cone_volume_outer)
+{
+ (*entry)->updateAll(volume_max, volume_min, distance_max, distance_reference, attenuation,
+ cone_angle_outer, cone_angle_inner, cone_volume_outer);
+}
- return length;
+void AUD_updateSequencerData(AUD_Sound* sequencer, float speed_of_sound,
+ float factor, AUD_DistanceModel model)
+{
+ AUD_SequencerFactory* f = dynamic_cast<AUD_SequencerFactory*>(sequencer->get());
+ f->setSpeedOfSound(speed_of_sound);
+ f->setDopplerFactor(factor);
+ f->setDistanceModel(model);
}
-void AUD_startPlayback()
+void AUD_setSequencerDeviceSpecs(AUD_Sound* sequencer)
{
-#ifdef WITH_JACK
- AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device);
- if(device)
- device->startPlayback();
-#endif
+ dynamic_cast<AUD_SequencerFactory*>(sequencer->get())->setSpecs(AUD_device->getSpecs().specs);
}
-void AUD_stopPlayback()
+void AUD_setSequencerSpecs(AUD_Sound* sequencer, AUD_Specs specs)
{
-#ifdef WITH_JACK
- AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device);
- if(device)
- device->stopPlayback();
-#endif
+ dynamic_cast<AUD_SequencerFactory*>(sequencer->get())->setSpecs(specs);
}
-void AUD_seekSequencer(AUD_Channel* handle, float time)
+void AUD_seekSequencer(AUD_Handle* handle, float time)
{
#ifdef WITH_JACK
- AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device);
+ AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device.get());
if(device)
device->seekPlayback(time);
else
#endif
{
- AUD_device->seek(handle, time);
+ assert(handle);
+ (*handle)->seek(time);
}
}
-float AUD_getSequencerPosition(AUD_Channel* handle)
+float AUD_getSequencerPosition(AUD_Handle* handle)
{
#ifdef WITH_JACK
- AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device);
+ AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device.get());
if(device)
return device->getPlaybackPosition();
else
#endif
{
- return AUD_device->getPosition(handle);
+ assert(handle);
+ return (*handle)->getPosition();
}
}
+void AUD_startPlayback()
+{
+#ifdef WITH_JACK
+ AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device.get());
+ if(device)
+ device->startPlayback();
+#endif
+}
+
+void AUD_stopPlayback()
+{
+#ifdef WITH_JACK
+ AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device.get());
+ if(device)
+ device->stopPlayback();
+#endif
+}
+
#ifdef WITH_JACK
void AUD_setSyncCallback(AUD_syncFunction function, void* data)
{
- AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device);
+ AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device.get());
if(device)
device->setSyncCallback(function, data);
}
@@ -1010,9 +1072,163 @@ void AUD_setSyncCallback(AUD_syncFunction function, void* data)
int AUD_doesPlayback()
{
#ifdef WITH_JACK
- AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device);
+ AUD_JackDevice* device = dynamic_cast<AUD_JackDevice*>(AUD_device.get());
if(device)
return device->doesPlayback();
#endif
return -1;
}
+
+int AUD_readSound(AUD_Sound* sound, sample_t* buffer, int length, int samples_per_second)
+{
+ AUD_DeviceSpecs specs;
+ sample_t* buf;
+ AUD_Buffer aBuffer;
+
+ specs.rate = AUD_RATE_INVALID;
+ specs.channels = AUD_CHANNELS_MONO;
+ specs.format = AUD_FORMAT_INVALID;
+
+ AUD_Reference<AUD_IReader> reader = AUD_ChannelMapperFactory(*sound, specs).createReader();
+
+ specs.specs = reader->getSpecs();
+ int len;
+ float samplejump = specs.rate / samples_per_second;
+ float min, max, power;
+ bool eos;
+
+ for(int i = 0; i < length; i++)
+ {
+ len = floor(samplejump * (i+1)) - floor(samplejump * i);
+
+ aBuffer.assureSize(len * AUD_SAMPLE_SIZE(specs));
+ buf = aBuffer.getBuffer();
+
+ reader->read(len, eos, buf);
+
+ max = min = *buf;
+ power = *buf * *buf;
+ for(int j = 1; j < len; j++)
+ {
+ if(buf[j] < min)
+ min = buf[j];
+ if(buf[j] > max)
+ max = buf[j];
+ power += buf[j] * buf[j];
+ }
+
+ buffer[i * 3] = min;
+ buffer[i * 3 + 1] = max;
+ buffer[i * 3 + 2] = sqrt(power) / len;
+
+ if(eos)
+ {
+ length = i;
+ break;
+ }
+ }
+
+ return length;
+}
+
+AUD_Sound* AUD_copy(AUD_Sound* sound)
+{
+ return new AUD_Reference<AUD_IFactory>(*sound);
+}
+
+void AUD_freeHandle(AUD_Handle* handle)
+{
+ delete handle;
+}
+
+void* AUD_createSet()
+{
+ return new std::set<void*>();
+}
+
+void AUD_destroySet(void* set)
+{
+ delete reinterpret_cast<std::set<void*>*>(set);
+}
+
+char AUD_removeSet(void* set, void* entry)
+{
+ if(set)
+ return reinterpret_cast<std::set<void*>*>(set)->erase(entry);
+ return 0;
+}
+
+void AUD_addSet(void* set, void* entry)
+{
+ if(entry)
+ reinterpret_cast<std::set<void*>*>(set)->insert(entry);
+}
+
+void* AUD_getSet(void* set)
+{
+ if(set)
+ {
+ std::set<void*>* rset = reinterpret_cast<std::set<void*>*>(set);
+ if(!rset->empty())
+ {
+ std::set<void*>::iterator it = rset->begin();
+ void* result = *it;
+ rset->erase(it);
+ return result;
+ }
+ }
+
+ return NULL;
+}
+
+const char* AUD_mixdown(AUD_Sound* sound, unsigned int start, unsigned int length, unsigned int buffersize, const char* filename, AUD_DeviceSpecs specs, AUD_Container format, AUD_Codec codec, unsigned int bitrate)
+{
+ try
+ {
+ AUD_SequencerFactory* f = dynamic_cast<AUD_SequencerFactory*>(sound->get());
+
+ f->setSpecs(specs.specs);
+ AUD_Reference<AUD_IReader> reader = f->createQualityReader();
+ reader->seek(start);
+ AUD_Reference<AUD_IWriter> writer = AUD_FileWriter::createWriter(filename, specs, format, codec, bitrate);
+ AUD_FileWriter::writeReader(reader, writer, length, buffersize);
+
+ return NULL;
+ }
+ catch(AUD_Exception& e)
+ {
+ return e.str;
+ }
+}
+
+AUD_Device* AUD_openMixdownDevice(AUD_DeviceSpecs specs, AUD_Sound* sequencer, float volume, float start)
+{
+ try
+ {
+ AUD_ReadDevice* device = new AUD_ReadDevice(specs);
+ device->setQuality(true);
+ device->setVolume(volume);
+
+ dynamic_cast<AUD_SequencerFactory*>(sequencer->get())->setSpecs(specs.specs);
+
+ AUD_Handle handle = device->play(*sequencer);
+ if(!handle.isNull())
+ handle->seek(start);
+
+ return new AUD_Device(device);
+ }
+ catch(AUD_Exception&)
+ {
+ return NULL;
+ }
+}
+
+AUD_Reference<AUD_IDevice> AUD_getDevice()
+{
+ return AUD_device;
+}
+
+AUD_I3DDevice* AUD_get3DDevice()
+{
+ return AUD_3ddevice;
+}
diff --git a/intern/audaspace/intern/AUD_C-API.h b/intern/audaspace/intern/AUD_C-API.h
index b2242f09547..612f98a79c3 100644
--- a/intern/audaspace/intern/AUD_C-API.h
+++ b/intern/audaspace/intern/AUD_C-API.h
@@ -31,12 +31,17 @@
#ifndef AUD_CAPI
#define AUD_CAPI
+#ifdef WITH_PYTHON
+#include "Python.h"
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
#include "AUD_Space.h"
+/// Supported output devices.
typedef enum
{
AUD_NULL_DEVICE = 0,
@@ -45,6 +50,7 @@ typedef enum
AUD_JACK_DEVICE
} AUD_DeviceType;
+/// Sound information structure.
typedef struct
{
AUD_Specs specs;
@@ -53,9 +59,9 @@ typedef struct
#ifndef AUD_CAPI_IMPLEMENTATION
typedef void AUD_Sound;
- typedef void AUD_Channel;
+ typedef void AUD_Handle;
typedef void AUD_Device;
- typedef void AUD_SequencerEntry;
+ typedef void AUD_SEntry;
typedef float (*AUD_volumeFunction)(void*, void*, float);
typedef void (*AUD_syncFunction)(void*, int, float);
#endif
@@ -119,6 +125,13 @@ extern AUD_Sound* AUD_loadBuffer(unsigned char* buffer, int size);
extern AUD_Sound* AUD_bufferSound(AUD_Sound* sound);
/**
+ * Rechannels the sound to be mono.
+ * \param sound The sound to rechannel.
+ * \return The mono sound.
+ */
+extern AUD_Sound* AUD_monoSound(AUD_Sound* sound);
+
+/**
* Delays a sound.
* \param sound The sound to dealy.
* \param delay The delay in seconds.
@@ -155,7 +168,7 @@ extern AUD_Sound* AUD_loopSound(AUD_Sound* sound);
* \param loops The count of remaining loops, -1 for infinity.
* \return Whether the handle is valid.
*/
-extern int AUD_setLoop(AUD_Channel* handle, int loops);
+extern int AUD_setLoop(AUD_Handle* handle, int loops);
/**
* Rectifies a sound.
@@ -177,28 +190,28 @@ extern void AUD_unload(AUD_Sound* sound);
* paused when its end has been reached.
* \return A handle to the played back sound.
*/
-extern AUD_Channel* AUD_play(AUD_Sound* sound, int keep);
+extern AUD_Handle* AUD_play(AUD_Sound* sound, int keep);
/**
* Pauses a played back sound.
* \param handle The handle to the sound.
* \return Whether the handle has been playing or not.
*/
-extern int AUD_pause(AUD_Channel* handle);
+extern int AUD_pause(AUD_Handle* handle);
/**
* Resumes a paused sound.
* \param handle The handle to the sound.
* \return Whether the handle has been paused or not.
*/
-extern int AUD_resume(AUD_Channel* handle);
+extern int AUD_resume(AUD_Handle* handle);
/**
* Stops a playing or paused sound.
* \param handle The handle to the sound.
* \return Whether the handle has been valid or not.
*/
-extern int AUD_stop(AUD_Channel* handle);
+extern int AUD_stop(AUD_Handle* handle);
/**
* Sets the end behaviour of a playing or paused sound.
@@ -207,7 +220,7 @@ extern int AUD_stop(AUD_Channel* handle);
* paused when its end has been reached.
* \return Whether the handle has been valid or not.
*/
-extern int AUD_setKeep(AUD_Channel* handle, int keep);
+extern int AUD_setKeep(AUD_Handle* handle, int keep);
/**
* Seeks a playing or paused sound.
@@ -215,7 +228,7 @@ extern int AUD_setKeep(AUD_Channel* handle, int keep);
* \param seekTo From where the sound file should be played back in seconds.
* \return Whether the handle has been valid or not.
*/
-extern int AUD_seek(AUD_Channel* handle, float seekTo);
+extern int AUD_seek(AUD_Handle* handle, float seekTo);
/**
* Retrieves the playback position of a handle.
@@ -223,14 +236,14 @@ extern int AUD_seek(AUD_Channel* handle, float seekTo);
* \return The current playback position in seconds or 0.0 if the handle is
* invalid.
*/
-extern float AUD_getPosition(AUD_Channel* handle);
+extern float AUD_getPosition(AUD_Handle* handle);
/**
* Returns the status of a playing, paused or stopped sound.
* \param handle The handle to the sound.
* \return The status of the sound behind the handle.
*/
-extern AUD_Status AUD_getStatus(AUD_Channel* handle);
+extern AUD_Status AUD_getStatus(AUD_Handle* handle);
/**
* Sets the listener location.
@@ -277,7 +290,7 @@ extern int AUD_setDistanceModel(AUD_DistanceModel model);
* \param location The new location.
* \return Whether the action succeeded.
*/
-extern int AUD_setSourceLocation(AUD_Channel* handle, const float* location);
+extern int AUD_setSourceLocation(AUD_Handle* handle, const float* location);
/**
* Sets the velocity of a source.
@@ -285,7 +298,7 @@ extern int AUD_setSourceLocation(AUD_Channel* handle, const float* location);
* \param velocity The new velocity.
* \return Whether the action succeeded.
*/
-extern int AUD_setSourceVelocity(AUD_Channel* handle, const float* velocity);
+extern int AUD_setSourceVelocity(AUD_Handle* handle, const float* velocity);
/**
* Sets the orientation of a source.
@@ -293,7 +306,7 @@ extern int AUD_setSourceVelocity(AUD_Channel* handle, const float* velocity);
* \param orientation The new orientation as quaternion.
* \return Whether the action succeeded.
*/
-extern int AUD_setSourceOrientation(AUD_Channel* handle, const float* orientation);
+extern int AUD_setSourceOrientation(AUD_Handle* handle, const float* orientation);
/**
* Sets whether the source location, velocity and orientation are relative
@@ -302,7 +315,7 @@ extern int AUD_setSourceOrientation(AUD_Channel* handle, const float* orientatio
* \param relative Whether the source is relative.
* \return Whether the action succeeded.
*/
-extern int AUD_setRelative(AUD_Channel* handle, int relative);
+extern int AUD_setRelative(AUD_Handle* handle, int relative);
/**
* Sets the maximum volume of a source.
@@ -310,7 +323,7 @@ extern int AUD_setRelative(AUD_Channel* handle, int relative);
* \param volume The new maximum volume.
* \return Whether the action succeeded.
*/
-extern int AUD_setVolumeMaximum(AUD_Channel* handle, float volume);
+extern int AUD_setVolumeMaximum(AUD_Handle* handle, float volume);
/**
* Sets the minimum volume of a source.
@@ -318,7 +331,7 @@ extern int AUD_setVolumeMaximum(AUD_Channel* handle, float volume);
* \param volume The new minimum volume.
* \return Whether the action succeeded.
*/
-extern int AUD_setVolumeMinimum(AUD_Channel* handle, float volume);
+extern int AUD_setVolumeMinimum(AUD_Handle* handle, float volume);
/**
* Sets the maximum distance of a source.
@@ -328,7 +341,7 @@ extern int AUD_setVolumeMinimum(AUD_Channel* handle, float volume);
* \param distance The new maximum distance.
* \return Whether the action succeeded.
*/
-extern int AUD_setDistanceMaximum(AUD_Channel* handle, float distance);
+extern int AUD_setDistanceMaximum(AUD_Handle* handle, float distance);
/**
* Sets the reference distance of a source.
@@ -336,7 +349,7 @@ extern int AUD_setDistanceMaximum(AUD_Channel* handle, float distance);
* \param distance The new reference distance.
* \return Whether the action succeeded.
*/
-extern int AUD_setDistanceReference(AUD_Channel* handle, float distance);
+extern int AUD_setDistanceReference(AUD_Handle* handle, float distance);
/**
* Sets the attenuation of a source.
@@ -345,7 +358,7 @@ extern int AUD_setDistanceReference(AUD_Channel* handle, float distance);
* \param factor The new attenuation.
* \return Whether the action succeeded.
*/
-extern int AUD_setAttenuation(AUD_Channel* handle, float factor);
+extern int AUD_setAttenuation(AUD_Handle* handle, float factor);
/**
* Sets the outer angle of the cone of a source.
@@ -353,7 +366,7 @@ extern int AUD_setAttenuation(AUD_Channel* handle, float factor);
* \param angle The new outer angle of the cone.
* \return Whether the action succeeded.
*/
-extern int AUD_setConeAngleOuter(AUD_Channel* handle, float angle);
+extern int AUD_setConeAngleOuter(AUD_Handle* handle, float angle);
/**
* Sets the inner angle of the cone of a source.
@@ -361,7 +374,7 @@ extern int AUD_setConeAngleOuter(AUD_Channel* handle, float angle);
* \param angle The new inner angle of the cone.
* \return Whether the action succeeded.
*/
-extern int AUD_setConeAngleInner(AUD_Channel* handle, float angle);
+extern int AUD_setConeAngleInner(AUD_Handle* handle, float angle);
/**
* Sets the outer volume of the cone of a source.
@@ -371,7 +384,7 @@ extern int AUD_setConeAngleInner(AUD_Channel* handle, float angle);
* \param volume The new outer volume of the cone.
* \return Whether the action succeeded.
*/
-extern int AUD_setConeVolumeOuter(AUD_Channel* handle, float volume);
+extern int AUD_setConeVolumeOuter(AUD_Handle* handle, float volume);
/**
* Sets the volume of a played back sound.
@@ -379,7 +392,7 @@ extern int AUD_setConeVolumeOuter(AUD_Channel* handle, float volume);
* \param volume The new volume, must be between 0.0 and 1.0.
* \return Whether the action succeeded.
*/
-extern int AUD_setSoundVolume(AUD_Channel* handle, float volume);
+extern int AUD_setSoundVolume(AUD_Handle* handle, float volume);
/**
* Sets the pitch of a played back sound.
@@ -387,7 +400,7 @@ extern int AUD_setSoundVolume(AUD_Channel* handle, float volume);
* \param pitch The new pitch.
* \return Whether the action succeeded.
*/
-extern int AUD_setSoundPitch(AUD_Channel* handle, float pitch);
+extern int AUD_setSoundPitch(AUD_Handle* handle, float pitch);
/**
* Opens a read device, with which audio data can be read.
@@ -411,18 +424,7 @@ extern int AUD_setDeviceVolume(AUD_Device* device, float volume);
* \param seek The position where the sound should be seeked to.
* \return A handle to the played back sound.
*/
-extern AUD_Channel* AUD_playDevice(AUD_Device* device, AUD_Sound* sound, float seek);
-
-/**
- * Sets the volume of a played back sound of a read device.
- * \param device The read device.
- * \param handle The handle to the sound.
- * \param volume The new volume, must be between 0.0 and 1.0.
- * \return Whether the action succeeded.
- */
-extern int AUD_setDeviceSoundVolume(AUD_Device* device,
- AUD_Channel* handle,
- float volume);
+extern AUD_Handle* AUD_playDevice(AUD_Device* device, AUD_Sound* sound, float seek);
/**
* Reads the next samples into the supplied buffer.
@@ -448,7 +450,7 @@ extern void AUD_closeReadDevice(AUD_Device* device);
extern float* AUD_readSoundBuffer(const char* filename, float low, float high,
float attack, float release, float threshold,
int accumulate, int additive, int square,
- float sthreshold, int samplerate,
+ float sthreshold, double samplerate,
int* length);
/**
@@ -457,43 +459,302 @@ extern float* AUD_readSoundBuffer(const char* filename, float low, float high,
* \param time The time in seconds.
* \return The silence handle.
*/
-extern AUD_Channel* AUD_pauseAfter(AUD_Channel* handle, float seconds);
+extern AUD_Handle* AUD_pauseAfter(AUD_Handle* handle, float seconds);
-extern AUD_Sound* AUD_createSequencer(int muted, void* data, AUD_volumeFunction volume);
+/**
+ * Creates a new sequenced sound scene.
+ * \param fps The FPS of the scene.
+ * \param muted Whether the scene is muted.
+ * \return The new sound scene.
+ */
+extern AUD_Sound* AUD_createSequencer(float fps, int muted);
+/**
+ * Deletes a sound scene.
+ * \param sequencer The sound scene.
+ */
extern void AUD_destroySequencer(AUD_Sound* sequencer);
+/**
+ * Sets the muting state of the scene.
+ * \param sequencer The sound scene.
+ * \param muted Whether the scene is muted.
+ */
extern void AUD_setSequencerMuted(AUD_Sound* sequencer, int muted);
-extern AUD_SequencerEntry* AUD_addSequencer(AUD_Sound** sequencer, AUD_Sound* sound,
- float begin, float end, float skip, void* data);
+/**
+ * Sets the scene's FPS.
+ * \param sequencer The sound scene.
+ * \param fps The new FPS.
+ */
+extern void AUD_setSequencerFPS(AUD_Sound* sequencer, float fps);
-extern void AUD_removeSequencer(AUD_Sound* sequencer, AUD_SequencerEntry* entry);
+/**
+ * Adds a new entry to the scene.
+ * \param sequencer The sound scene.
+ * \param sound The sound this entry should play.
+ * \param begin The start time.
+ * \param end The end time or a negative value if determined by the sound.
+ * \param skip How much seconds should be skipped at the beginning.
+ * \return The entry added.
+ */
+extern AUD_SEntry* AUD_addSequence(AUD_Sound* sequencer, AUD_Sound* sound,
+ float begin, float end, float skip);
-extern void AUD_moveSequencer(AUD_Sound* sequencer, AUD_SequencerEntry* entry,
- float begin, float end, float skip);
+/**
+ * Removes an entry from the scene.
+ * \param sequencer The sound scene.
+ * \param entry The entry to remove.
+ */
+extern void AUD_removeSequence(AUD_Sound* sequencer, AUD_SEntry* entry);
-extern void AUD_muteSequencer(AUD_Sound* sequencer, AUD_SequencerEntry* entry,
- char mute);
+/**
+ * Moves the entry.
+ * \param entry The sequenced entry.
+ * \param begin The new start time.
+ * \param end The new end time or a negative value if unknown.
+ * \param skip How many seconds to skip at the beginning.
+ */
+extern void AUD_moveSequence(AUD_SEntry* entry, float begin, float end, float skip);
-extern int AUD_readSound(AUD_Sound* sound, sample_t* buffer, int length);
+/**
+ * Sets the muting state of the entry.
+ * \param entry The sequenced entry.
+ * \param mute Whether the entry should be muted or not.
+ */
+extern void AUD_muteSequence(AUD_SEntry* entry, char mute);
-extern void AUD_startPlayback(void);
+/**
+ * Sets whether the entrie's location, velocity and orientation are relative
+ * to the listener.
+ * \param entry The sequenced entry.
+ * \param relative Whether the source is relative.
+ * \return Whether the action succeeded.
+ */
+extern void AUD_setRelativeSequence(AUD_SEntry* entry, char relative);
-extern void AUD_stopPlayback(void);
+/**
+ * Sets the sound of the entry.
+ * \param entry The sequenced entry.
+ * \param sound The new sound.
+ */
+extern void AUD_updateSequenceSound(AUD_SEntry* entry, AUD_Sound* sound);
-extern void AUD_seekSequencer(AUD_Channel* handle, float time);
+/**
+ * Writes animation data to a sequenced entry.
+ * \param entry The sequenced entry.
+ * \param type The type of animation data.
+ * \param frame The frame this data is for.
+ * \param data The data to write.
+ * \param animated Whether the attribute is animated.
+ */
+extern void AUD_setSequenceAnimData(AUD_SEntry* entry, AUD_AnimateablePropertyType type, int frame, float* data, char animated);
-extern float AUD_getSequencerPosition(AUD_Channel* handle);
+/**
+ * Writes animation data to a sequenced entry.
+ * \param sequencer The sound scene.
+ * \param type The type of animation data.
+ * \param frame The frame this data is for.
+ * \param data The data to write.
+ * \param animated Whether the attribute is animated.
+ */
+extern void AUD_setSequencerAnimData(AUD_Sound* sequencer, AUD_AnimateablePropertyType type, int frame, float* data, char animated);
+
+/**
+ * Updates all non-animated parameters of the entry.
+ * \param entry The sequenced entry.
+ * \param volume_max The maximum volume.
+ * \param volume_min The minimum volume.
+ * \param distance_max The maximum distance.
+ * \param distance_reference The reference distance.
+ * \param attenuation The attenuation.
+ * \param cone_angle_outer The outer cone opening angle.
+ * \param cone_angle_inner The inner cone opening angle.
+ * \param cone_volume_outer The volume outside the outer cone.
+ */
+extern void AUD_updateSequenceData(AUD_SEntry* entry, float volume_max, float volume_min,
+ float distance_max, float distance_reference, float attenuation,
+ float cone_angle_outer, float cone_angle_inner, float cone_volume_outer);
+
+/**
+ * Updates all non-animated parameters of the entry.
+ * \param sequencer The sound scene.
+ * \param speed_of_sound The speed of sound for doppler calculation.
+ * \param factor The doppler factor to control the effect's strength.
+ * \param model The distance model for distance calculation.
+ */
+extern void AUD_updateSequencerData(AUD_Sound* sequencer, float speed_of_sound,
+ float factor, AUD_DistanceModel model);
+
+/**
+ * Sets the audio output specification of the sound scene to the specs of the
+ * current playback device.
+ * \param sequencer The sound scene.
+ */
+extern void AUD_setSequencerDeviceSpecs(AUD_Sound* sequencer);
+
+/**
+ * Sets the audio output specification of the sound scene.
+ * \param sequencer The sound scene.
+ * \param specs The new specification.
+ */
+extern void AUD_setSequencerSpecs(AUD_Sound* sequencer, AUD_Specs specs);
+
+/**
+ * Seeks sequenced sound scene playback.
+ * \param handle Playback handle.
+ * \param time Time in seconds to seek to.
+ */
+extern void AUD_seekSequencer(AUD_Handle* handle, float time);
+
+/**
+ * Returns the current sound scene playback time.
+ * \param handle Playback handle.
+ * \return The playback time in seconds.
+ */
+extern float AUD_getSequencerPosition(AUD_Handle* handle);
+
+/**
+ * Starts the playback of jack transport if possible.
+ */
+extern void AUD_startPlayback(void);
+
+/**
+ * Stops the playback of jack transport if possible.
+ */
+extern void AUD_stopPlayback(void);
#ifdef WITH_JACK
+/**
+ * Sets the sync callback for jack transport.
+ * \param function The callback function.
+ * \param data The data parameter for the callback.
+ */
extern void AUD_setSyncCallback(AUD_syncFunction function, void* data);
#endif
+/**
+ * Returns whether jack transport is currently playing.
+ * \return Whether jack transport is currently playing.
+ */
extern int AUD_doesPlayback(void);
+/**
+ * Reads a sound into a buffer for drawing at a specific sampling rate.
+ * \param sound The sound to read.
+ * \param buffer The buffer to write to. Must have a size of 3*4*length.
+ * \param length How many samples to read from the sound.
+ * \param samples_per_second How many samples to read per second of the sound.
+ * \return How many samples really have been read. Always <= length.
+ */
+extern int AUD_readSound(AUD_Sound* sound, sample_t* buffer, int length, int samples_per_second);
+
+/**
+ * Copies a sound.
+ * \param sound Sound to copy.
+ * \return Copied sound.
+ */
+extern AUD_Sound* AUD_copy(AUD_Sound* sound);
+
+/**
+ * Frees a handle.
+ * \param channel Handle to free.
+ */
+extern void AUD_freeHandle(AUD_Handle* channel);
+
+/**
+ * Creates a new set.
+ * \return The new set.
+ */
+extern void* AUD_createSet(void);
+
+/**
+ * Deletes a set.
+ * \param set The set to delete.
+ */
+extern void AUD_destroySet(void* set);
+
+/**
+ * Removes an entry from a set.
+ * \param set The set work on.
+ * \param entry The entry to remove.
+ * \return Whether the entry was in the set or not.
+ */
+extern char AUD_removeSet(void* set, void* entry);
+
+/**
+ * Adds a new entry to a set.
+ * \param set The set work on.
+ * \param entry The entry to add.
+ */
+extern void AUD_addSet(void* set, void* entry);
+
+/**
+ * Removes one entry from a set and returns it.
+ * \param set The set work on.
+ * \return The entry or NULL if the set is empty.
+ */
+extern void* AUD_getSet(void* set);
+
+/**
+ * Mixes a sound down into a file.
+ * \param sound The sound scene to mix down.
+ * \param start The start frame.
+ * \param length The count of frames to write.
+ * \param buffersize How many samples should be written at once.
+ * \param filename The file to write to.
+ * \param specs The file's audio specification.
+ * \param format The file's container format.
+ * \param codec The codec used for encoding the audio data.
+ * \param bitrate The bitrate for encoding.
+ * \return An error message or NULL in case of success.
+ */
+extern const char* AUD_mixdown(AUD_Sound* sound, unsigned int start, unsigned int length, unsigned int buffersize, const char* filename, AUD_DeviceSpecs specs, AUD_Container format, AUD_Codec codec, unsigned int bitrate);
+
+/**
+ * Opens a read device and prepares it for mixdown of the sound scene.
+ * \param specs Output audio specifications.
+ * \param sequencer The sound scene to mix down.
+ * \param volume The overall mixdown volume.
+ * \param start The start time of the mixdown in the sound scene.
+ * \return The read device for the mixdown.
+ */
+extern AUD_Device* AUD_openMixdownDevice(AUD_DeviceSpecs specs, AUD_Sound* sequencer, float volume, float start);
+
+#ifdef WITH_PYTHON
+/**
+ * Retrieves the python factory of a sound.
+ * \param sound The sound factory.
+ * \return The python factory.
+ */
+extern PyObject* AUD_getPythonFactory(AUD_Sound* sound);
+
+/**
+ * Retrieves the sound factory of a python factory.
+ * \param sound The python factory.
+ * \return The sound factory.
+ */
+extern AUD_Sound* AUD_getPythonSound(PyObject* sound);
+#endif
+
#ifdef __cplusplus
}
+
+#include "AUD_Reference.h"
+class AUD_IDevice;
+class AUD_I3DDevice;
+
+/**
+ * Returns the current playback device.
+ * \return The playback device.
+ */
+AUD_Reference<AUD_IDevice> AUD_getDevice();
+
+/**
+ * Returns the current playback 3D device.
+ * \return The playback 3D device.
+ */
+AUD_I3DDevice* AUD_get3DDevice();
#endif
#endif //AUD_CAPI
diff --git a/intern/audaspace/intern/AUD_ChannelMapperFactory.cpp b/intern/audaspace/intern/AUD_ChannelMapperFactory.cpp
index b474fbad444..ea6c738cb58 100644
--- a/intern/audaspace/intern/AUD_ChannelMapperFactory.cpp
+++ b/intern/audaspace/intern/AUD_ChannelMapperFactory.cpp
@@ -34,79 +34,14 @@
#include <cstring>
-AUD_ChannelMapperFactory::AUD_ChannelMapperFactory(AUD_IFactory* factory,
+AUD_ChannelMapperFactory::AUD_ChannelMapperFactory(AUD_Reference<AUD_IFactory> factory,
AUD_DeviceSpecs specs) :
AUD_MixerFactory(factory, specs)
{
- memset(m_mapping, 0, sizeof(m_mapping));
}
-AUD_ChannelMapperFactory::~AUD_ChannelMapperFactory()
+AUD_Reference<AUD_IReader> AUD_ChannelMapperFactory::createReader()
{
- for(int i = 1; i < 10; i++)
- deleteMapping(i);
-}
-
-float** AUD_ChannelMapperFactory::getMapping(int ic)
-{
- ic--;
- if(ic > 8 || ic < 0)
- return 0;
-
- if(m_mapping[ic])
- {
- int channels = -1;
- while(m_mapping[ic][++channels] != 0);
- if(channels != m_specs.channels)
- deleteMapping(ic+1);
- }
-
- if(!m_mapping[ic])
- {
- int channels = m_specs.channels;
-
- m_mapping[ic] = new float*[channels+1];
- m_mapping[ic][channels] = 0;
-
- for(int i = 0; i < channels; i++)
- {
- m_mapping[ic][i] = new float[ic+1];
- for(int j = 0; j <= ic; j++)
- m_mapping[ic][i][j] = ((i == j) || (channels == 1) ||
- (ic == 0)) ? 1.0f : 0.0f;
- }
- }
-
- return m_mapping[ic];
-}
-
-void AUD_ChannelMapperFactory::deleteMapping(int ic)
-{
- ic--;
- if(ic > 8 || ic < 0)
- return;
-
- if(m_mapping[ic])
- {
- for(int i = 0; 1; i++)
- {
- if(m_mapping[ic][i] != 0)
- {
- delete[] m_mapping[ic][i];
- }
- else
- break;
- }
- delete[] m_mapping[ic];
- m_mapping[ic] = 0;
- }
-}
-
-AUD_IReader* AUD_ChannelMapperFactory::createReader() const
-{
- AUD_IReader* reader = getReader();
- int ic = reader->getSpecs().channels;
-
- return new AUD_ChannelMapperReader(reader,
- const_cast<AUD_ChannelMapperFactory*>(this)->getMapping(ic));
+ AUD_Reference<AUD_IReader> reader = getReader();
+ return new AUD_ChannelMapperReader(reader, m_specs.channels);
}
diff --git a/intern/audaspace/intern/AUD_ChannelMapperFactory.h b/intern/audaspace/intern/AUD_ChannelMapperFactory.h
index 9d622f5e322..9e1adf09ca9 100644
--- a/intern/audaspace/intern/AUD_ChannelMapperFactory.h
+++ b/intern/audaspace/intern/AUD_ChannelMapperFactory.h
@@ -41,33 +41,19 @@
class AUD_ChannelMapperFactory : public AUD_MixerFactory
{
private:
- /**
- * The mapping specification.
- */
- float **m_mapping[9];
-
// hide copy constructor and operator=
AUD_ChannelMapperFactory(const AUD_ChannelMapperFactory&);
AUD_ChannelMapperFactory& operator=(const AUD_ChannelMapperFactory&);
public:
- AUD_ChannelMapperFactory(AUD_IFactory* factory, AUD_DeviceSpecs specs);
-
- virtual ~AUD_ChannelMapperFactory();
-
- /**
- * Returns the mapping array for editing.
- * \param ic The count of input channels the array should have.
- * \note The count of output channels is read of the desired output specs.
- */
- float** getMapping(int ic);
-
/**
- * Deletes the current channel mapping.
+ * Creates a new factory.
+ * \param factory The input factory.
+ * \param specs The target specifications.
*/
- void deleteMapping(int ic);
+ AUD_ChannelMapperFactory(AUD_Reference<AUD_IFactory> factory, AUD_DeviceSpecs specs);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_CHANNELMAPPERFACTORY
diff --git a/intern/audaspace/intern/AUD_ChannelMapperReader.cpp b/intern/audaspace/intern/AUD_ChannelMapperReader.cpp
index dec70aaecf6..27d10ce6dc8 100644
--- a/intern/audaspace/intern/AUD_ChannelMapperReader.cpp
+++ b/intern/audaspace/intern/AUD_ChannelMapperReader.cpp
@@ -28,74 +28,343 @@
* \ingroup audaspaceintern
*/
+#include <cmath>
+
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+#ifndef M_PI_2
+#define M_PI_2 1.57079632679489661923
+#endif
#include "AUD_ChannelMapperReader.h"
-AUD_ChannelMapperReader::AUD_ChannelMapperReader(AUD_IReader* reader,
- float **mapping) :
- AUD_EffectReader(reader)
+AUD_ChannelMapperReader::AUD_ChannelMapperReader(AUD_Reference<AUD_IReader> reader,
+ AUD_Channels channels) :
+ AUD_EffectReader(reader), m_target_channels(channels),
+ m_source_channels(AUD_CHANNELS_INVALID), m_mapping(0), m_map_size(0), m_mono_angle(0)
{
- m_specs = reader->getSpecs();
+}
- int channels = -1;
- m_rch = m_specs.channels;
- while(mapping[++channels] != 0);
+AUD_ChannelMapperReader::~AUD_ChannelMapperReader()
+{
+ delete[] m_mapping;
+}
- m_mapping = new float*[channels];
- m_specs.channels = (AUD_Channels)channels;
+void AUD_ChannelMapperReader::setChannels(AUD_Channels channels)
+{
+ m_target_channels = channels;
+ calculateMapping();
+}
- float sum;
- int i;
+void AUD_ChannelMapperReader::setMonoAngle(float angle)
+{
+ if(angle != angle)
+ angle = 0;
+ m_mono_angle = angle;
+ if(m_source_channels == AUD_CHANNELS_MONO)
+ calculateMapping();
+}
- while(channels--)
- {
- m_mapping[channels] = new float[m_rch];
- sum = 0.0f;
- for(i=0; i < m_rch; i++)
- sum += mapping[channels][i];
- for(i=0; i < m_rch; i++)
- m_mapping[channels][i] = sum > 0.0f ?
- mapping[channels][i]/sum : 0.0f;
- }
+float AUD_ChannelMapperReader::angleDistance(float alpha, float beta)
+{
+ alpha = fabs(alpha - beta);
+
+ if(alpha > M_PI)
+ alpha = fabs(alpha - 2 * M_PI);
+
+ return alpha;
}
-AUD_ChannelMapperReader::~AUD_ChannelMapperReader()
+void AUD_ChannelMapperReader::calculateMapping()
{
- int channels = m_specs.channels;
+ if(m_map_size < m_source_channels * m_target_channels)
+ {
+ delete[] m_mapping;
+ m_mapping = new float[m_source_channels * m_target_channels];
+ m_map_size = m_source_channels * m_target_channels;
+ }
+
+ for(int i = 0; i < m_source_channels * m_target_channels; i++)
+ m_mapping[i] = 0;
+
+ const AUD_Channel* source_channels = CHANNEL_MAPS[m_source_channels - 1];
+ const AUD_Channel* target_channels = CHANNEL_MAPS[m_target_channels - 1];
- while(channels--)
+ int lfe = -1;
+
+ for(int i = 0; i < m_target_channels; i++)
{
- delete[] m_mapping[channels];
+ if(target_channels[i] == AUD_CHANNEL_LFE)
+ {
+ lfe = i;
+ break;
+ }
}
- delete[] m_mapping;
+ const float* source_angles = CHANNEL_ANGLES[m_source_channels - 1];
+ const float* target_angles = CHANNEL_ANGLES[m_target_channels - 1];
+
+ if(m_source_channels == AUD_CHANNELS_MONO)
+ source_angles = &m_mono_angle;
+
+ int channel_min1, channel_min2;
+ float angle_min1, angle_min2, angle;
+
+ for(int i = 0; i < m_source_channels; i++)
+ {
+ if(source_channels[i] == AUD_CHANNEL_LFE)
+ {
+ if(lfe != -1)
+ m_mapping[lfe * m_source_channels + i] = 1;
+
+ continue;
+ }
+
+ channel_min1 = channel_min2 = -1;
+ angle_min1 = angle_min2 = 2 * M_PI;
+
+ for(int j = 0; j < m_target_channels; j++)
+ {
+ if(j == lfe)
+ continue;
+ angle = angleDistance(source_angles[i], target_angles[j]);
+ if(angle < angle_min1)
+ {
+ channel_min2 = channel_min1;
+ angle_min2 = angle_min1;
+
+ channel_min1 = j;
+ angle_min1 = angle;
+ }
+ else if(angle < angle_min2)
+ {
+ channel_min2 = j;
+ angle_min2 = angle;
+ }
+ }
+
+ angle = angle_min1 + angle_min2;
+ if(channel_min2 == -1 || angle == 0)
+ {
+ m_mapping[channel_min1 * m_source_channels + i] = 1;
+ }
+ else
+ {
+ m_mapping[channel_min1 * m_source_channels + i] = cos(M_PI_2 * angle_min1 / angle);
+ m_mapping[channel_min2 * m_source_channels + i] = cos(M_PI_2 * angle_min2 / angle);
+ }
+ }
+
+ /* AUD_XXX for(int i = 0; i < m_source_channels; i++)
+ {
+ for(int j = 0; j < m_target_channels; j++)
+ {
+ std::cout << m_mapping[i * m_source_channels + j] << " ";
+ }
+ std::cout << std::endl;
+ }*/
}
AUD_Specs AUD_ChannelMapperReader::getSpecs() const
{
- return m_specs;
+ AUD_Specs specs = m_reader->getSpecs();
+ specs.channels = m_target_channels;
+ return specs;
}
-void AUD_ChannelMapperReader::read(int & length, sample_t* & buffer)
+void AUD_ChannelMapperReader::read(int& length, bool& eos, sample_t* buffer)
{
- sample_t* in = buffer;
+ AUD_Channels channels = m_reader->getSpecs().channels;
+ if(channels != m_source_channels)
+ {
+ m_source_channels = channels;
+ calculateMapping();
+ }
- m_reader->read(length, in);
+ if(m_source_channels == m_target_channels)
+ {
+ m_reader->read(length, eos, buffer);
+ return;
+ }
- if(m_buffer.getSize() < length * AUD_SAMPLE_SIZE(m_specs))
- m_buffer.resize(length * AUD_SAMPLE_SIZE(m_specs));
+ m_buffer.assureSize(length * channels * sizeof(sample_t));
+
+ sample_t* in = m_buffer.getBuffer();
+
+ m_reader->read(length, eos, in);
- buffer = m_buffer.getBuffer();
sample_t sum;
for(int i = 0; i < length; i++)
{
- for(int j = 0; j < m_specs.channels; j++)
+ for(int j = 0; j < m_target_channels; j++)
{
sum = 0;
- for(int k = 0; k < m_rch; k++)
- sum += m_mapping[j][k] * in[i * m_rch + k];
- buffer[i * m_specs.channels + j] = sum;
+ for(int k = 0; k < m_source_channels; k++)
+ sum += m_mapping[j * m_source_channels + k] * in[i * m_source_channels + k];
+ buffer[i * m_target_channels + j] = sum;
}
}
}
+
+const AUD_Channel AUD_ChannelMapperReader::MONO_MAP[] =
+{
+ AUD_CHANNEL_FRONT_CENTER
+};
+
+const AUD_Channel AUD_ChannelMapperReader::STEREO_MAP[] =
+{
+ AUD_CHANNEL_FRONT_LEFT,
+ AUD_CHANNEL_FRONT_RIGHT
+};
+
+const AUD_Channel AUD_ChannelMapperReader::STEREO_LFE_MAP[] =
+{
+ AUD_CHANNEL_FRONT_LEFT,
+ AUD_CHANNEL_FRONT_RIGHT,
+ AUD_CHANNEL_LFE
+};
+
+const AUD_Channel AUD_ChannelMapperReader::SURROUND4_MAP[] =
+{
+ AUD_CHANNEL_FRONT_LEFT,
+ AUD_CHANNEL_FRONT_RIGHT,
+ AUD_CHANNEL_REAR_LEFT,
+ AUD_CHANNEL_REAR_RIGHT
+};
+
+const AUD_Channel AUD_ChannelMapperReader::SURROUND5_MAP[] =
+{
+ AUD_CHANNEL_FRONT_LEFT,
+ AUD_CHANNEL_FRONT_RIGHT,
+ AUD_CHANNEL_FRONT_CENTER,
+ AUD_CHANNEL_REAR_LEFT,
+ AUD_CHANNEL_REAR_RIGHT
+};
+
+const AUD_Channel AUD_ChannelMapperReader::SURROUND51_MAP[] =
+{
+ AUD_CHANNEL_FRONT_LEFT,
+ AUD_CHANNEL_FRONT_RIGHT,
+ AUD_CHANNEL_FRONT_CENTER,
+ AUD_CHANNEL_LFE,
+ AUD_CHANNEL_REAR_LEFT,
+ AUD_CHANNEL_REAR_RIGHT
+};
+
+const AUD_Channel AUD_ChannelMapperReader::SURROUND61_MAP[] =
+{
+ AUD_CHANNEL_FRONT_LEFT,
+ AUD_CHANNEL_FRONT_RIGHT,
+ AUD_CHANNEL_FRONT_CENTER,
+ AUD_CHANNEL_LFE,
+ AUD_CHANNEL_REAR_CENTER,
+ AUD_CHANNEL_REAR_LEFT,
+ AUD_CHANNEL_REAR_RIGHT
+};
+
+const AUD_Channel AUD_ChannelMapperReader::SURROUND71_MAP[] =
+{
+ AUD_CHANNEL_FRONT_LEFT,
+ AUD_CHANNEL_FRONT_RIGHT,
+ AUD_CHANNEL_FRONT_CENTER,
+ AUD_CHANNEL_LFE,
+ AUD_CHANNEL_REAR_LEFT,
+ AUD_CHANNEL_REAR_RIGHT,
+ AUD_CHANNEL_SIDE_LEFT,
+ AUD_CHANNEL_SIDE_RIGHT
+};
+
+const AUD_Channel* AUD_ChannelMapperReader::CHANNEL_MAPS[] =
+{
+ AUD_ChannelMapperReader::MONO_MAP,
+ AUD_ChannelMapperReader::STEREO_MAP,
+ AUD_ChannelMapperReader::STEREO_LFE_MAP,
+ AUD_ChannelMapperReader::SURROUND4_MAP,
+ AUD_ChannelMapperReader::SURROUND5_MAP,
+ AUD_ChannelMapperReader::SURROUND51_MAP,
+ AUD_ChannelMapperReader::SURROUND61_MAP,
+ AUD_ChannelMapperReader::SURROUND71_MAP
+};
+
+const float AUD_ChannelMapperReader::MONO_ANGLES[] =
+{
+ 0.0f * M_PI / 180.0f
+};
+
+const float AUD_ChannelMapperReader::STEREO_ANGLES[] =
+{
+ -90.0f * M_PI / 180.0f,
+ 90.0f * M_PI / 180.0f
+};
+
+const float AUD_ChannelMapperReader::STEREO_LFE_ANGLES[] =
+{
+ -90.0f * M_PI / 180.0f,
+ 90.0f * M_PI / 180.0f,
+ 0.0f * M_PI / 180.0f
+};
+
+const float AUD_ChannelMapperReader::SURROUND4_ANGLES[] =
+{
+ -45.0f * M_PI / 180.0f,
+ 45.0f * M_PI / 180.0f,
+ -135.0f * M_PI / 180.0f,
+ 135.0f * M_PI / 180.0f
+};
+
+const float AUD_ChannelMapperReader::SURROUND5_ANGLES[] =
+{
+ -30.0f * M_PI / 180.0f,
+ 30.0f * M_PI / 180.0f,
+ 0.0f * M_PI / 180.0f,
+ -110.0f * M_PI / 180.0f,
+ 110.0f * M_PI / 180.0f
+};
+
+const float AUD_ChannelMapperReader::SURROUND51_ANGLES[] =
+{
+ -30.0f * M_PI / 180.0f,
+ 30.0f * M_PI / 180.0f,
+ 0.0f * M_PI / 180.0f,
+ 0.0f * M_PI / 180.0f,
+ -110.0f * M_PI / 180.0f,
+ 110.0f * M_PI / 180.0f
+};
+
+const float AUD_ChannelMapperReader::SURROUND61_ANGLES[] =
+{
+ -30.0f * M_PI / 180.0f,
+ 30.0f * M_PI / 180.0f,
+ 0.0f * M_PI / 180.0f,
+ 0.0f * M_PI / 180.0f,
+ 180.0f * M_PI / 180.0f,
+ -110.0f * M_PI / 180.0f,
+ 110.0f * M_PI / 180.0f
+};
+
+const float AUD_ChannelMapperReader::SURROUND71_ANGLES[] =
+{
+ -30.0f * M_PI / 180.0f,
+ 30.0f * M_PI / 180.0f,
+ 0.0f * M_PI / 180.0f,
+ 0.0f * M_PI / 180.0f,
+ -110.0f * M_PI / 180.0f,
+ 110.0f * M_PI / 180.0f
+ -150.0f * M_PI / 180.0f,
+ 150.0f * M_PI / 180.0f
+};
+
+const float* AUD_ChannelMapperReader::CHANNEL_ANGLES[] =
+{
+ AUD_ChannelMapperReader::MONO_ANGLES,
+ AUD_ChannelMapperReader::STEREO_ANGLES,
+ AUD_ChannelMapperReader::STEREO_LFE_ANGLES,
+ AUD_ChannelMapperReader::SURROUND4_ANGLES,
+ AUD_ChannelMapperReader::SURROUND5_ANGLES,
+ AUD_ChannelMapperReader::SURROUND51_ANGLES,
+ AUD_ChannelMapperReader::SURROUND61_ANGLES,
+ AUD_ChannelMapperReader::SURROUND71_ANGLES
+};
diff --git a/intern/audaspace/intern/AUD_ChannelMapperReader.h b/intern/audaspace/intern/AUD_ChannelMapperReader.h
index 091ed06db15..af16f2ff49d 100644
--- a/intern/audaspace/intern/AUD_ChannelMapperReader.h
+++ b/intern/audaspace/intern/AUD_ChannelMapperReader.h
@@ -43,44 +43,96 @@ class AUD_ChannelMapperReader : public AUD_EffectReader
{
private:
/**
- * The sound output buffer.
+ * The sound reading buffer.
*/
AUD_Buffer m_buffer;
/**
* The output specification.
*/
- AUD_Specs m_specs;
+ AUD_Channels m_target_channels;
/**
* The channel count of the reader.
*/
- int m_rch;
+ AUD_Channels m_source_channels;
/**
* The mapping specification.
*/
- float **m_mapping;
+ float* m_mapping;
+
+ /**
+ * The size of the mapping.
+ */
+ int m_map_size;
+
+ /**
+ * The mono source angle.
+ */
+ float m_mono_angle;
+
+ static const AUD_Channel MONO_MAP[];
+ static const AUD_Channel STEREO_MAP[];
+ static const AUD_Channel STEREO_LFE_MAP[];
+ static const AUD_Channel SURROUND4_MAP[];
+ static const AUD_Channel SURROUND5_MAP[];
+ static const AUD_Channel SURROUND51_MAP[];
+ static const AUD_Channel SURROUND61_MAP[];
+ static const AUD_Channel SURROUND71_MAP[];
+ static const AUD_Channel* CHANNEL_MAPS[];
+
+ static const float MONO_ANGLES[];
+ static const float STEREO_ANGLES[];
+ static const float STEREO_LFE_ANGLES[];
+ static const float SURROUND4_ANGLES[];
+ static const float SURROUND5_ANGLES[];
+ static const float SURROUND51_ANGLES[];
+ static const float SURROUND61_ANGLES[];
+ static const float SURROUND71_ANGLES[];
+ static const float* CHANNEL_ANGLES[];
// hide copy constructor and operator=
AUD_ChannelMapperReader(const AUD_ChannelMapperReader&);
AUD_ChannelMapperReader& operator=(const AUD_ChannelMapperReader&);
+ /**
+ * Calculates the mapping matrix.
+ */
+ void calculateMapping();
+
+ /**
+ * Calculates the distance between two angles.
+ */
+ float angleDistance(float alpha, float beta);
+
public:
/**
* Creates a channel mapper reader.
* \param reader The reader to map.
* \param mapping The mapping specification as two dimensional float array.
*/
- AUD_ChannelMapperReader(AUD_IReader* reader, float **mapping);
+ AUD_ChannelMapperReader(AUD_Reference<AUD_IReader> reader, AUD_Channels channels);
/**
* Destroys the reader.
*/
~AUD_ChannelMapperReader();
+ /**
+ * Sets the requested channel output count.
+ * \param channels The channel output count.
+ */
+ void setChannels(AUD_Channels channels);
+
+ /**
+ * Sets the angle for mono sources.
+ * \param angle The angle for mono sources.
+ */
+ void setMonoAngle(float angle);
+
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_CHANNELMAPPERREADER
diff --git a/intern/audaspace/intern/AUD_ConverterFactory.cpp b/intern/audaspace/intern/AUD_ConverterFactory.cpp
index cce0f273616..bf9a3586616 100644
--- a/intern/audaspace/intern/AUD_ConverterFactory.cpp
+++ b/intern/audaspace/intern/AUD_ConverterFactory.cpp
@@ -32,15 +32,15 @@
#include "AUD_ConverterFactory.h"
#include "AUD_ConverterReader.h"
-AUD_ConverterFactory::AUD_ConverterFactory(AUD_IFactory* factory,
+AUD_ConverterFactory::AUD_ConverterFactory(AUD_Reference<AUD_IFactory> factory,
AUD_DeviceSpecs specs) :
AUD_MixerFactory(factory, specs)
{
}
-AUD_IReader* AUD_ConverterFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_ConverterFactory::createReader()
{
- AUD_IReader* reader = getReader();
+ AUD_Reference<AUD_IReader> reader = getReader();
if(m_specs.format != AUD_FORMAT_FLOAT32)
reader = new AUD_ConverterReader(reader, m_specs);
diff --git a/intern/audaspace/intern/AUD_ConverterFactory.h b/intern/audaspace/intern/AUD_ConverterFactory.h
index b9eac94de40..128653c5c54 100644
--- a/intern/audaspace/intern/AUD_ConverterFactory.h
+++ b/intern/audaspace/intern/AUD_ConverterFactory.h
@@ -46,9 +46,14 @@ private:
AUD_ConverterFactory& operator=(const AUD_ConverterFactory&);
public:
- AUD_ConverterFactory(AUD_IFactory* factory, AUD_DeviceSpecs specs);
-
- virtual AUD_IReader* createReader() const;
+ /**
+ * Creates a new factory.
+ * \param factory The input factory.
+ * \param specs The target specifications.
+ */
+ AUD_ConverterFactory(AUD_Reference<AUD_IFactory> factory, AUD_DeviceSpecs specs);
+
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_CONVERTERFACTORY
diff --git a/intern/audaspace/intern/AUD_ConverterFunctions.cpp b/intern/audaspace/intern/AUD_ConverterFunctions.cpp
index d3cc9fa8202..f7be2ca805f 100644
--- a/intern/audaspace/intern/AUD_ConverterFunctions.cpp
+++ b/intern/audaspace/intern/AUD_ConverterFunctions.cpp
@@ -35,23 +35,23 @@
#define AUD_U8_0 0x80
#define AUD_S16_MAX 0x7FFF
#define AUD_S16_MIN 0x8000
-#define AUD_S16_FLT 32768.0f
+#define AUD_S16_FLT 32767.0f
#define AUD_S32_MAX 0x7FFFFFFF
#define AUD_S32_MIN 0x80000000
-#define AUD_S32_FLT 2147483648.0f
+#define AUD_S32_FLT 2147483647.0f
#define AUD_FLT_MAX 1.0f
#define AUD_FLT_MIN -1.0f
void AUD_convert_u8_s16(data_t* target, data_t* source, int length)
{
int16_t* t = (int16_t*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = (((int16_t)source[i]) - AUD_U8_0) << 8;
}
void AUD_convert_u8_s24_be(data_t* target, data_t* source, int length)
{
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
{
target[i*3] = source[i] - AUD_U8_0;
target[i*3+1] = 0;
@@ -61,7 +61,7 @@ void AUD_convert_u8_s24_be(data_t* target, data_t* source, int length)
void AUD_convert_u8_s24_le(data_t* target, data_t* source, int length)
{
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
{
target[i*3+2] = source[i] - AUD_U8_0;
target[i*3+1] = 0;
@@ -72,21 +72,21 @@ void AUD_convert_u8_s24_le(data_t* target, data_t* source, int length)
void AUD_convert_u8_s32(data_t* target, data_t* source, int length)
{
int32_t* t = (int32_t*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = (((int32_t)source[i]) - AUD_U8_0) << 24;
}
void AUD_convert_u8_float(data_t* target, data_t* source, int length)
{
float* t = (float*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = (((int32_t)source[i]) - AUD_U8_0) / ((float)AUD_U8_0);
}
void AUD_convert_u8_double(data_t* target, data_t* source, int length)
{
double* t = (double*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = (((int32_t)source[i]) - AUD_U8_0) / ((double)AUD_U8_0);
}
@@ -100,10 +100,12 @@ void AUD_convert_s16_u8(data_t* target, data_t* source, int length)
void AUD_convert_s16_s24_be(data_t* target, data_t* source, int length)
{
int16_t* s = (int16_t*) source;
- for(int i = 0; i < length; i++)
+ int16_t t;
+ for(int i = length - 1; i >= 0; i--)
{
- target[i*3] = s[i] >> 8 & 0xFF;
- target[i*3+1] = s[i] & 0xFF;
+ t = s[i];
+ target[i*3] = t >> 8 & 0xFF;
+ target[i*3+1] = t & 0xFF;
target[i*3+2] = 0;
}
}
@@ -111,10 +113,12 @@ void AUD_convert_s16_s24_be(data_t* target, data_t* source, int length)
void AUD_convert_s16_s24_le(data_t* target, data_t* source, int length)
{
int16_t* s = (int16_t*) source;
- for(int i = 0; i < length; i++)
+ int16_t t;
+ for(int i = length - 1; i >= 0; i--)
{
- target[i*3+2] = s[i] >> 8 & 0xFF;
- target[i*3+1] = s[i] & 0xFF;
+ t = s[i];
+ target[i*3+2] = t >> 8 & 0xFF;
+ target[i*3+1] = t & 0xFF;
target[i*3] = 0;
}
}
@@ -123,7 +127,7 @@ void AUD_convert_s16_s32(data_t* target, data_t* source, int length)
{
int16_t* s = (int16_t*) source;
int32_t* t = (int32_t*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = ((int32_t)s[i]) << 16;
}
@@ -131,7 +135,7 @@ void AUD_convert_s16_float(data_t* target, data_t* source, int length)
{
int16_t* s = (int16_t*) source;
float* t = (float*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = s[i] / AUD_S16_FLT;
}
@@ -139,7 +143,7 @@ void AUD_convert_s16_double(data_t* target, data_t* source, int length)
{
int16_t* s = (int16_t*) source;
double* t = (double*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = s[i] / AUD_S16_FLT;
}
@@ -177,14 +181,14 @@ void AUD_convert_s24_s24(data_t* target, data_t* source, int length)
void AUD_convert_s24_s32_be(data_t* target, data_t* source, int length)
{
int32_t* t = (int32_t*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = source[i*3] << 24 | source[i*3+1] << 16 | source[i*3+2] << 8;
}
void AUD_convert_s24_s32_le(data_t* target, data_t* source, int length)
{
int32_t* t = (int32_t*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = source[i*3+2] << 24 | source[i*3+1] << 16 | source[i*3] << 8;
}
@@ -192,7 +196,7 @@ void AUD_convert_s24_float_be(data_t* target, data_t* source, int length)
{
float* t = (float*) target;
int32_t s;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
{
s = source[i*3] << 24 | source[i*3+1] << 16 | source[i*3+2] << 8;
t[i] = s / AUD_S32_FLT;
@@ -203,7 +207,7 @@ void AUD_convert_s24_float_le(data_t* target, data_t* source, int length)
{
float* t = (float*) target;
int32_t s;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
{
s = source[i*3+2] << 24 | source[i*3+1] << 16 | source[i*3] << 8;
t[i] = s / AUD_S32_FLT;
@@ -214,7 +218,7 @@ void AUD_convert_s24_double_be(data_t* target, data_t* source, int length)
{
double* t = (double*) target;
int32_t s;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
{
s = source[i*3] << 24 | source[i*3+1] << 16 | source[i*3+2] << 8;
t[i] = s / AUD_S32_FLT;
@@ -225,7 +229,7 @@ void AUD_convert_s24_double_le(data_t* target, data_t* source, int length)
{
double* t = (double*) target;
int32_t s;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
{
s = source[i*3+2] << 24 | source[i*3+1] << 16 | source[i*3] << 8;
t[i] = s / AUD_S32_FLT;
@@ -250,22 +254,26 @@ void AUD_convert_s32_s16(data_t* target, data_t* source, int length)
void AUD_convert_s32_s24_be(data_t* target, data_t* source, int length)
{
int32_t* s = (int32_t*) source;
+ int32_t t;
for(int i = 0; i < length; i++)
{
- target[i*3] = s[i] >> 24 & 0xFF;
- target[i*3+1] = s[i] >> 16 & 0xFF;
- target[i*3+2] = s[i] >> 8 & 0xFF;
+ t = s[i];
+ target[i*3] = t >> 24 & 0xFF;
+ target[i*3+1] = t >> 16 & 0xFF;
+ target[i*3+2] = t >> 8 & 0xFF;
}
}
void AUD_convert_s32_s24_le(data_t* target, data_t* source, int length)
{
- int16_t* s = (int16_t*) source;
+ int32_t* s = (int32_t*) source;
+ int32_t t;
for(int i = 0; i < length; i++)
{
- target[i*3+2] = s[i] >> 24 & 0xFF;
- target[i*3+1] = s[i] >> 16 & 0xFF;
- target[i*3] = s[i] >> 8 & 0xFF;
+ t = s[i];
+ target[i*3+2] = t >> 24 & 0xFF;
+ target[i*3+1] = t >> 16 & 0xFF;
+ target[i*3] = t >> 8 & 0xFF;
}
}
@@ -281,7 +289,7 @@ void AUD_convert_s32_double(data_t* target, data_t* source, int length)
{
int32_t* s = (int32_t*) source;
double* t = (double*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = s[i] / AUD_S32_FLT;
}
@@ -371,7 +379,7 @@ void AUD_convert_float_double(data_t* target, data_t* source, int length)
{
float* s = (float*) source;
double* t = (double*) target;
- for(int i = 0; i < length; i++)
+ for(int i = length - 1; i >= 0; i--)
t[i] = s[i];
}
diff --git a/intern/audaspace/intern/AUD_ConverterReader.cpp b/intern/audaspace/intern/AUD_ConverterReader.cpp
index 70297b8f5e8..b3d669379f8 100644
--- a/intern/audaspace/intern/AUD_ConverterReader.cpp
+++ b/intern/audaspace/intern/AUD_ConverterReader.cpp
@@ -31,16 +31,15 @@
#include "AUD_ConverterReader.h"
-AUD_ConverterReader::AUD_ConverterReader(AUD_IReader* reader,
+AUD_ConverterReader::AUD_ConverterReader(AUD_Reference<AUD_IReader> reader,
AUD_DeviceSpecs specs) :
- AUD_EffectReader(reader)
+ AUD_EffectReader(reader),
+ m_format(specs.format)
{
- m_specs.specs = reader->getSpecs();
-
int bigendian = 1;
bigendian = (((char*)&bigendian)[0]) ? 0: 1; // 1 if Big Endian
- switch(specs.format)
+ switch(m_format)
{
case AUD_FORMAT_U8:
m_convert = AUD_convert_float_u8;
@@ -66,26 +65,17 @@ AUD_ConverterReader::AUD_ConverterReader(AUD_IReader* reader,
default:
break;
}
-
- m_specs.format = specs.format;
-}
-
-AUD_Specs AUD_ConverterReader::getSpecs() const
-{
- return m_specs.specs;
}
-void AUD_ConverterReader::read(int & length, sample_t* & buffer)
+void AUD_ConverterReader::read(int& length, bool& eos, sample_t* buffer)
{
- m_reader->read(length, buffer);
-
- int samplesize = AUD_SAMPLE_SIZE(m_specs);
+ AUD_Specs specs = m_reader->getSpecs();
+ int samplesize = AUD_SAMPLE_SIZE(specs);
- if(m_buffer.getSize() < length * samplesize)
- m_buffer.resize(length * samplesize);
+ m_buffer.assureSize(length * samplesize);
- m_convert((data_t*)m_buffer.getBuffer(), (data_t*)buffer,
- length * m_specs.channels);
+ m_reader->read(length, eos, m_buffer.getBuffer());
- buffer = m_buffer.getBuffer();
+ m_convert((data_t*)buffer, (data_t*)m_buffer.getBuffer(),
+ length * specs.channels);
}
diff --git a/intern/audaspace/intern/AUD_ConverterReader.h b/intern/audaspace/intern/AUD_ConverterReader.h
index a7a425adc54..4a637becbb5 100644
--- a/intern/audaspace/intern/AUD_ConverterReader.h
+++ b/intern/audaspace/intern/AUD_ConverterReader.h
@@ -50,7 +50,7 @@ private:
/**
* The target specification.
*/
- AUD_DeviceSpecs m_specs;
+ AUD_SampleFormat m_format;
/**
* Converter function.
@@ -67,10 +67,9 @@ public:
* \param reader The reader to convert.
* \param specs The target specification.
*/
- AUD_ConverterReader(AUD_IReader* reader, AUD_DeviceSpecs specs);
+ AUD_ConverterReader(AUD_Reference<AUD_IReader> reader, AUD_DeviceSpecs specs);
- virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_CONVERTERREADER
diff --git a/intern/audaspace/intern/AUD_DefaultMixer.cpp b/intern/audaspace/intern/AUD_DefaultMixer.cpp
deleted file mode 100644
index 20471d6e874..00000000000
--- a/intern/audaspace/intern/AUD_DefaultMixer.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * Copyright 2009-2011 Jörg Hermann Müller
- *
- * This file is part of AudaSpace.
- *
- * Audaspace is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * AudaSpace is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Audaspace; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file audaspace/intern/AUD_DefaultMixer.cpp
- * \ingroup audaspaceintern
- */
-
-
-#include "AUD_DefaultMixer.h"
-#ifdef WITH_SAMPLERATE
-#include "AUD_SRCResampleReader.h"
-#else
-#include "AUD_LinearResampleReader.h"
-#endif
-#include "AUD_ChannelMapperReader.h"
-#include "AUD_ChannelMapperFactory.h"
-
-#include <cstring>
-
-AUD_DefaultMixer::AUD_DefaultMixer(AUD_DeviceSpecs specs) :
- AUD_Mixer(specs)
-{
-}
-
-AUD_IReader* AUD_DefaultMixer::prepare(AUD_IReader* reader)
-{
- // hacky for now, until a better channel mapper reader is available
- AUD_ChannelMapperFactory cmf(NULL, m_specs);
-
- AUD_Specs specs = reader->getSpecs();
-
- // if channel count is lower in output, rechannel before resampling
- if(specs.channels < m_specs.channels)
- {
- reader = new AUD_ChannelMapperReader(reader,
- cmf.getMapping(specs.channels));
- specs.channels = m_specs.channels;
- }
-
- // resample
- if(specs.rate != m_specs.rate)
-#ifdef WITH_SAMPLERATE
- reader = new AUD_SRCResampleReader(reader, m_specs.specs);
-#else
- reader = new AUD_LinearResampleReader(reader, m_specs.specs);
-#endif
-
- // rechannel
- if(specs.channels != m_specs.channels)
- reader = new AUD_ChannelMapperReader(reader,
- cmf.getMapping(specs.channels));
-
- return reader;
-}
diff --git a/intern/audaspace/intern/AUD_FileFactory.cpp b/intern/audaspace/intern/AUD_FileFactory.cpp
index 1c8bb03bc92..aeb49e10884 100644
--- a/intern/audaspace/intern/AUD_FileFactory.cpp
+++ b/intern/audaspace/intern/AUD_FileFactory.cpp
@@ -38,7 +38,6 @@
#endif
#include "AUD_FileFactory.h"
-#include "AUD_Buffer.h"
#include <cstring>
@@ -54,20 +53,20 @@ AUD_FileFactory::AUD_FileFactory(std::string filename) :
AUD_FileFactory::AUD_FileFactory(const data_t* buffer, int size) :
m_buffer(new AUD_Buffer(size))
{
- memcpy(m_buffer.get()->getBuffer(), buffer, size);
+ memcpy(m_buffer->getBuffer(), buffer, size);
}
static const char* read_error = "AUD_FileFactory: File couldn't be read.";
-AUD_IReader* AUD_FileFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_FileFactory::createReader()
{
#ifdef WITH_SNDFILE
try
{
- if(m_buffer.get())
- return new AUD_SndFileReader(m_buffer);
- else
+ if(m_buffer.isNull())
return new AUD_SndFileReader(m_filename);
+ else
+ return new AUD_SndFileReader(m_buffer);
}
catch(AUD_Exception&) {}
#endif
@@ -75,10 +74,10 @@ AUD_IReader* AUD_FileFactory::createReader() const
#ifdef WITH_FFMPEG
try
{
- if(m_buffer.get())
- return new AUD_FFMPEGReader(m_buffer);
- else
+ if(m_buffer.isNull())
return new AUD_FFMPEGReader(m_filename);
+ else
+ return new AUD_FFMPEGReader(m_buffer);
}
catch(AUD_Exception&) {}
#endif
diff --git a/intern/audaspace/intern/AUD_FileFactory.h b/intern/audaspace/intern/AUD_FileFactory.h
index a2ab94ae148..4bd6f1de61e 100644
--- a/intern/audaspace/intern/AUD_FileFactory.h
+++ b/intern/audaspace/intern/AUD_FileFactory.h
@@ -34,7 +34,7 @@
#include "AUD_IFactory.h"
#include "AUD_Reference.h"
-class AUD_Buffer;
+#include "AUD_Buffer.h"
#include <string>
@@ -72,7 +72,7 @@ public:
*/
AUD_FileFactory(const data_t* buffer, int size);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_FILEFACTORY
diff --git a/intern/audaspace/intern/AUD_FileWriter.cpp b/intern/audaspace/intern/AUD_FileWriter.cpp
new file mode 100644
index 00000000000..a5ef592ea17
--- /dev/null
+++ b/intern/audaspace/intern/AUD_FileWriter.cpp
@@ -0,0 +1,97 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_FileWriter.cpp
+ * \ingroup audaspaceintern
+ */
+
+#ifdef WITH_FFMPEG
+// needed for INT64_C
+#ifndef __STDC_CONSTANT_MACROS
+#define __STDC_CONSTANT_MACROS
+#endif
+#include "AUD_FFMPEGWriter.h"
+#endif
+
+#ifdef WITH_SNDFILE
+#include "AUD_SndFileWriter.h"
+#endif
+
+#include "AUD_FileWriter.h"
+#include "AUD_Buffer.h"
+
+static const char* write_error = "AUD_FileWriter: File couldn't be written.";
+
+AUD_Reference<AUD_IWriter> AUD_FileWriter::createWriter(std::string filename,AUD_DeviceSpecs specs,
+ AUD_Container format, AUD_Codec codec, unsigned int bitrate)
+{
+#ifdef WITH_SNDFILE
+ try
+ {
+ return new AUD_SndFileWriter(filename, specs, format, codec, bitrate);
+ }
+ catch(AUD_Exception&) {}
+#endif
+
+#ifdef WITH_FFMPEG
+ try
+ {
+ return new AUD_FFMPEGWriter(filename, specs, format, codec, bitrate);
+ }
+ catch(AUD_Exception&) {}
+#endif
+
+ AUD_THROW(AUD_ERROR_SPECS, write_error);
+}
+
+void AUD_FileWriter::writeReader(AUD_Reference<AUD_IReader> reader, AUD_Reference<AUD_IWriter> writer, unsigned int length, unsigned int buffersize)
+{
+ AUD_Buffer buffer(buffersize * AUD_SAMPLE_SIZE(writer->getSpecs()));
+ sample_t* buf = buffer.getBuffer();
+
+ int len;
+ bool eos = false;
+ int channels = writer->getSpecs().channels;
+
+ for(unsigned int pos = 0; ((pos < length) || (length <= 0)) && !eos; pos += len)
+ {
+ len = buffersize;
+ if((len > length - pos) && (length > 0))
+ len = length - pos;
+ reader->read(len, eos, buf);
+
+ for(int i = 0; i < len * channels; i++)
+ {
+ // clamping!
+ if(buf[i] > 1)
+ buf[i] = 1;
+ else if(buf[i] < -1)
+ buf[i] = -1;
+ }
+
+ writer->write(len, buf);
+ }
+}
diff --git a/intern/audaspace/intern/AUD_FileWriter.h b/intern/audaspace/intern/AUD_FileWriter.h
new file mode 100644
index 00000000000..341728ff836
--- /dev/null
+++ b/intern/audaspace/intern/AUD_FileWriter.h
@@ -0,0 +1,75 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_FileWriter.h
+ * \ingroup audaspaceintern
+ */
+
+
+#ifndef AUD_FILEWRITER
+#define AUD_FILEWRITER
+
+#include <string>
+
+#include "AUD_Reference.h"
+
+#include "AUD_IWriter.h"
+#include "AUD_IReader.h"
+
+/**
+ * This class is able to create IWriter classes as well as write reads to them.
+ */
+class AUD_FileWriter
+{
+private:
+ // hide default constructor, copy constructor and operator=
+ AUD_FileWriter();
+ AUD_FileWriter(const AUD_FileWriter&);
+ AUD_FileWriter& operator=(const AUD_FileWriter&);
+
+public:
+ /**
+ * Creates a new IWriter.
+ * \param filename The file to write to.
+ * \param specs The file's audio specification.
+ * \param format The file's container format.
+ * \param codec The codec used for encoding the audio data.
+ * \param bitrate The bitrate for encoding.
+ * \return The writer to write data to.
+ */
+ static AUD_Reference<AUD_IWriter> createWriter(std::string filename, AUD_DeviceSpecs specs, AUD_Container format, AUD_Codec codec, unsigned int bitrate);
+
+ /**
+ * Writes a reader to a writer.
+ * \param reader The reader to read from.
+ * \param writer The writer to write to.
+ * \param length How many samples should be transfered.
+ * \param buffersize How many samples should be transfered at once.
+ */
+ static void writeReader(AUD_Reference<AUD_IReader> reader, AUD_Reference<AUD_IWriter> writer, unsigned int length, unsigned int buffersize);
+};
+
+#endif //AUD_FILEWRITER
diff --git a/intern/audaspace/intern/AUD_I3DDevice.h b/intern/audaspace/intern/AUD_I3DDevice.h
index df341dbb319..036f7b1fa94 100644
--- a/intern/audaspace/intern/AUD_I3DDevice.h
+++ b/intern/audaspace/intern/AUD_I3DDevice.h
@@ -35,8 +35,6 @@
#include "AUD_Space.h"
#include "AUD_3DMath.h"
-struct AUD_Handle;
-
/**
* This class represents an output device for 3D sound.
*/
@@ -121,200 +119,6 @@ public:
* \param model distance model.
*/
virtual void setDistanceModel(AUD_DistanceModel model)=0;
-
-
-
- /**
- * Retrieves the location of a source.
- * \param handle The handle of the source.
- * \return The location.
- */
- virtual AUD_Vector3 getSourceLocation(AUD_Handle* handle)=0;
-
- /**
- * Sets the location of a source.
- * \param handle The handle of the source.
- * \param location The new location.
- * \return Whether the action succeeded.
- */
- virtual bool setSourceLocation(AUD_Handle* handle, const AUD_Vector3& location)=0;
-
- /**
- * Retrieves the velocity of a source.
- * \param handle The handle of the source.
- * \return The velocity.
- */
- virtual AUD_Vector3 getSourceVelocity(AUD_Handle* handle)=0;
-
- /**
- * Sets the velocity of a source.
- * \param handle The handle of the source.
- * \param velocity The new velocity.
- * \return Whether the action succeeded.
- */
- virtual bool setSourceVelocity(AUD_Handle* handle, const AUD_Vector3& velocity)=0;
-
- /**
- * Retrieves the orientation of a source.
- * \param handle The handle of the source.
- * \return The orientation as quaternion.
- */
- virtual AUD_Quaternion getSourceOrientation(AUD_Handle* handle)=0;
-
- /**
- * Sets the orientation of a source.
- * \param handle The handle of the source.
- * \param orientation The new orientation as quaternion.
- * \return Whether the action succeeded.
- */
- virtual bool setSourceOrientation(AUD_Handle* handle, const AUD_Quaternion& orientation)=0;
-
-
- /**
- * Checks whether the source location, velocity and orientation are relative
- * to the listener.
- * \param handle The handle of the source.
- * \return Whether the source is relative.
- */
- virtual bool isRelative(AUD_Handle* handle)=0;
-
- /**
- * Sets whether the source location, velocity and orientation are relative
- * to the listener.
- * \param handle The handle of the source.
- * \param relative Whether the source is relative.
- * \return Whether the action succeeded.
- */
- virtual bool setRelative(AUD_Handle* handle, bool relative)=0;
-
- /**
- * Retrieves the maximum volume of a source.
- * \param handle The handle of the source.
- * \return The maximum volume.
- */
- virtual float getVolumeMaximum(AUD_Handle* handle)=0;
-
- /**
- * Sets the maximum volume of a source.
- * \param handle The handle of the source.
- * \param volume The new maximum volume.
- * \return Whether the action succeeded.
- */
- virtual bool setVolumeMaximum(AUD_Handle* handle, float volume)=0;
-
- /**
- * Retrieves the minimum volume of a source.
- * \param handle The handle of the source.
- * \return The minimum volume.
- */
- virtual float getVolumeMinimum(AUD_Handle* handle)=0;
-
- /**
- * Sets the minimum volume of a source.
- * \param handle The handle of the source.
- * \param volume The new minimum volume.
- * \return Whether the action succeeded.
- */
- virtual bool setVolumeMinimum(AUD_Handle* handle, float volume)=0;
-
- /**
- * Retrieves the maximum distance of a source.
- * If a source is further away from the reader than this distance, the
- * volume will automatically be set to 0.
- * \param handle The handle of the source.
- * \return The maximum distance.
- */
- virtual float getDistanceMaximum(AUD_Handle* handle)=0;
-
- /**
- * Sets the maximum distance of a source.
- * If a source is further away from the reader than this distance, the
- * volume will automatically be set to 0.
- * \param handle The handle of the source.
- * \param distance The new maximum distance.
- * \return Whether the action succeeded.
- */
- virtual bool setDistanceMaximum(AUD_Handle* handle, float distance)=0;
-
- /**
- * Retrieves the reference distance of a source.
- * \param handle The handle of the source.
- * \return The reference distance.
- */
- virtual float getDistanceReference(AUD_Handle* handle)=0;
-
- /**
- * Sets the reference distance of a source.
- * \param handle The handle of the source.
- * \param distance The new reference distance.
- * \return Whether the action succeeded.
- */
- virtual bool setDistanceReference(AUD_Handle* handle, float distance)=0;
-
- /**
- * Retrieves the attenuation of a source.
- * \param handle The handle of the source.
- * \return The attenuation.
- */
- virtual float getAttenuation(AUD_Handle* handle)=0;
-
- /**
- * Sets the attenuation of a source.
- * This value is used for distance calculation.
- * \param handle The handle of the source.
- * \param factor The new attenuation.
- * \return Whether the action succeeded.
- */
- virtual bool setAttenuation(AUD_Handle* handle, float factor)=0;
-
- /**
- * Retrieves the outer angle of the cone of a source.
- * \param handle The handle of the source.
- * \return The outer angle of the cone.
- */
- virtual float getConeAngleOuter(AUD_Handle* handle)=0;
-
- /**
- * Sets the outer angle of the cone of a source.
- * \param handle The handle of the source.
- * \param angle The new outer angle of the cone.
- * \return Whether the action succeeded.
- */
- virtual bool setConeAngleOuter(AUD_Handle* handle, float angle)=0;
-
- /**
- * Retrieves the inner angle of the cone of a source.
- * \param handle The handle of the source.
- * \return The inner angle of the cone.
- */
- virtual float getConeAngleInner(AUD_Handle* handle)=0;
-
- /**
- * Sets the inner angle of the cone of a source.
- * \param handle The handle of the source.
- * \param angle The new inner angle of the cone.
- * \return Whether the action succeeded.
- */
- virtual bool setConeAngleInner(AUD_Handle* handle, float angle)=0;
-
- /**
- * Retrieves the outer volume of the cone of a source.
- * The volume between inner and outer angle is interpolated between inner
- * volume and this value.
- * \param handle The handle of the source.
- * \return The outer volume of the cone.
- */
- virtual float getConeVolumeOuter(AUD_Handle* handle)=0;
-
- /**
- * Sets the outer volume of the cone of a source.
- * The volume between inner and outer angle is interpolated between inner
- * volume and this value.
- * \param handle The handle of the source.
- * \param volume The new outer volume of the cone.
- * \return Whether the action succeeded.
- */
- virtual bool setConeVolumeOuter(AUD_Handle* handle, float volume)=0;
};
#endif //AUD_I3DDEVICE
diff --git a/intern/audaspace/intern/AUD_I3DHandle.h b/intern/audaspace/intern/AUD_I3DHandle.h
new file mode 100644
index 00000000000..8ef08b18f94
--- /dev/null
+++ b/intern/audaspace/intern/AUD_I3DHandle.h
@@ -0,0 +1,218 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_I3DHandle.h
+ * \ingroup audaspaceintern
+ */
+
+
+#ifndef AUD_I3DHANDLE
+#define AUD_I3DHANDLE
+
+#include "AUD_Space.h"
+#include "AUD_3DMath.h"
+
+/**
+ * This class represents a playback handle for 3D sources.
+ */
+class AUD_I3DHandle
+{
+public:
+ /**
+ * Destroys the handle.
+ */
+ virtual ~AUD_I3DHandle() {}
+
+ /**
+ * Retrieves the location of a source.
+ * \return The location.
+ */
+ virtual AUD_Vector3 getSourceLocation()=0;
+
+ /**
+ * Sets the location of a source.
+ * \param location The new location.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setSourceLocation(const AUD_Vector3& location)=0;
+
+ /**
+ * Retrieves the velocity of a source.
+ * \return The velocity.
+ */
+ virtual AUD_Vector3 getSourceVelocity()=0;
+
+ /**
+ * Sets the velocity of a source.
+ * \param velocity The new velocity.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setSourceVelocity(const AUD_Vector3& velocity)=0;
+
+ /**
+ * Retrieves the orientation of a source.
+ * \return The orientation as quaternion.
+ */
+ virtual AUD_Quaternion getSourceOrientation()=0;
+
+ /**
+ * Sets the orientation of a source.
+ * \param orientation The new orientation as quaternion.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setSourceOrientation(const AUD_Quaternion& orientation)=0;
+
+
+ /**
+ * Checks whether the source location, velocity and orientation are relative
+ * to the listener.
+ * \return Whether the source is relative.
+ */
+ virtual bool isRelative()=0;
+
+ /**
+ * Sets whether the source location, velocity and orientation are relative
+ * to the listener.
+ * \param relative Whether the source is relative.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setRelative(bool relative)=0;
+
+ /**
+ * Retrieves the maximum volume of a source.
+ * \return The maximum volume.
+ */
+ virtual float getVolumeMaximum()=0;
+
+ /**
+ * Sets the maximum volume of a source.
+ * \param volume The new maximum volume.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setVolumeMaximum(float volume)=0;
+
+ /**
+ * Retrieves the minimum volume of a source.
+ * \return The minimum volume.
+ */
+ virtual float getVolumeMinimum()=0;
+
+ /**
+ * Sets the minimum volume of a source.
+ * \param volume The new minimum volume.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setVolumeMinimum(float volume)=0;
+
+ /**
+ * Retrieves the maximum distance of a source.
+ * If a source is further away from the reader than this distance, the
+ * volume will automatically be set to 0.
+ * \return The maximum distance.
+ */
+ virtual float getDistanceMaximum()=0;
+
+ /**
+ * Sets the maximum distance of a source.
+ * If a source is further away from the reader than this distance, the
+ * volume will automatically be set to 0.
+ * \param distance The new maximum distance.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setDistanceMaximum(float distance)=0;
+
+ /**
+ * Retrieves the reference distance of a source.
+ * \return The reference distance.
+ */
+ virtual float getDistanceReference()=0;
+
+ /**
+ * Sets the reference distance of a source.
+ * \param distance The new reference distance.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setDistanceReference(float distance)=0;
+
+ /**
+ * Retrieves the attenuation of a source.
+ * \return The attenuation.
+ */
+ virtual float getAttenuation()=0;
+
+ /**
+ * Sets the attenuation of a source.
+ * This value is used for distance calculation.
+ * \param factor The new attenuation.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setAttenuation(float factor)=0;
+
+ /**
+ * Retrieves the outer angle of the cone of a source.
+ * \return The outer angle of the cone.
+ */
+ virtual float getConeAngleOuter()=0;
+
+ /**
+ * Sets the outer angle of the cone of a source.
+ * \param angle The new outer angle of the cone.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setConeAngleOuter(float angle)=0;
+
+ /**
+ * Retrieves the inner angle of the cone of a source.
+ * \return The inner angle of the cone.
+ */
+ virtual float getConeAngleInner()=0;
+
+ /**
+ * Sets the inner angle of the cone of a source.
+ * \param angle The new inner angle of the cone.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setConeAngleInner(float angle)=0;
+
+ /**
+ * Retrieves the outer volume of the cone of a source.
+ * The volume between inner and outer angle is interpolated between inner
+ * volume and this value.
+ * \return The outer volume of the cone.
+ */
+ virtual float getConeVolumeOuter()=0;
+
+ /**
+ * Sets the outer volume of the cone of a source.
+ * The volume between inner and outer angle is interpolated between inner
+ * volume and this value.
+ * \param volume The new outer volume of the cone.
+ * \return Whether the action succeeded.
+ */
+ virtual bool setConeVolumeOuter(float volume)=0;
+};
+
+#endif //AUD_I3DHANDLE
diff --git a/intern/audaspace/intern/AUD_IDevice.h b/intern/audaspace/intern/AUD_IDevice.h
index 4856b913b38..108e7505d84 100644
--- a/intern/audaspace/intern/AUD_IDevice.h
+++ b/intern/audaspace/intern/AUD_IDevice.h
@@ -33,15 +33,10 @@
#define AUD_IDEVICE
#include "AUD_Space.h"
-class AUD_IFactory;
-class AUD_IReader;
-
-/// Handle structure, for inherition.
-struct AUD_Handle
-{
-};
-
-typedef void (*stopCallback)(void*);
+#include "AUD_Reference.h"
+#include "AUD_IFactory.h"
+#include "AUD_IReader.h"
+#include "AUD_IHandle.h"
/**
* This class represents an output device for sound sources.
@@ -74,7 +69,7 @@ public:
* \exception AUD_Exception Thrown if there's an unexpected (from the
* device side) error during creation of the reader.
*/
- virtual AUD_Handle* play(AUD_IReader* reader, bool keep = false)=0;
+ virtual AUD_Reference<AUD_IHandle> play(AUD_Reference<AUD_IReader> reader, bool keep = false)=0;
/**
* Plays a sound source.
@@ -86,87 +81,12 @@ public:
* \exception AUD_Exception Thrown if there's an unexpected (from the
* device side) error during creation of the reader.
*/
- virtual AUD_Handle* play(AUD_IFactory* factory, bool keep = false)=0;
-
- /**
- * Pauses a played back sound.
- * \param handle The handle returned by the play function.
- * \return
- * - true if the sound has been paused.
- * - false if the sound isn't playing back or the handle is invalid.
- */
- virtual bool pause(AUD_Handle* handle)=0;
-
- /**
- * Resumes a paused sound.
- * \param handle The handle returned by the play function.
- * \return
- * - true if the sound has been resumed.
- * - false if the sound isn't paused or the handle is invalid.
- */
- virtual bool resume(AUD_Handle* handle)=0;
-
- /**
- * Stops a played back or paused sound. The handle is definitely invalid
- * afterwards.
- * \param handle The handle returned by the play function.
- * \return
- * - true if the sound has been stopped.
- * - false if the handle is invalid.
- */
- virtual bool stop(AUD_Handle* handle)=0;
+ virtual AUD_Reference<AUD_IHandle> play(AUD_Reference<AUD_IFactory> factory, bool keep = false)=0;
/**
- * Gets the behaviour of the device for a played back sound when the sound
- * doesn't return any more samples.
- * \param handle The handle returned by the play function.
- * \return
- * - true if the source will be paused when it's end is reached
- * - false if the handle won't kept or is invalid.
+ * Stops all playing sounds.
*/
- virtual bool getKeep(AUD_Handle* handle)=0;
-
- /**
- * Sets the behaviour of the device for a played back sound when the sound
- * doesn't return any more samples.
- * \param handle The handle returned by the play function.
- * \param keep True when the source should be paused and not deleted.
- * \return
- * - true if the behaviour has been changed.
- * - false if the handle is invalid.
- */
- virtual bool setKeep(AUD_Handle* handle, bool keep)=0;
-
- /**
- * Seeks in a played back sound.
- * \param handle The handle returned by the play function.
- * \param position The new position from where to play back, in seconds.
- * \return
- * - true if the handle is valid.
- * - false if the handle is invalid.
- * \warning Whether the seek works or not depends on the sound source.
- */
- virtual bool seek(AUD_Handle* handle, float position)=0;
-
- /**
- * Retrieves the current playback position of a sound.
- * \param handle The handle returned by the play function.
- * \return The playback position in seconds, or 0.0 if the handle is
- * invalid.
- */
- virtual float getPosition(AUD_Handle* handle)=0;
-
- /**
- * Returns the status of a played back sound.
- * \param handle The handle returned by the play function.
- * \return
- * - AUD_STATUS_INVALID if the sound has stopped or the handle is
- *. invalid
- * - AUD_STATUS_PLAYING if the sound is currently played back.
- * - AUD_STATUS_PAUSED if the sound is currently paused.
- * \see AUD_Status
- */
- virtual AUD_Status getStatus(AUD_Handle* handle)=0;
+ virtual void stopAll()=0;
/**
* Locks the device.
@@ -195,69 +115,6 @@ public:
* \param volume The overall device volume.
*/
virtual void setVolume(float volume)=0;
-
- /**
- * Retrieves the volume of a playing sound.
- * \param handle The sound handle.
- * \return The volume.
- */
- virtual float getVolume(AUD_Handle* handle)=0;
-
- /**
- * Sets the volume of a playing sound.
- * \param handle The sound handle.
- * \param volume The volume.
- * \return
- * - true if the handle is valid.
- * - false if the handle is invalid.
- */
- virtual bool setVolume(AUD_Handle* handle, float volume)=0;
-
- /**
- * Retrieves the pitch of a playing sound.
- * \return The pitch.
- */
- virtual float getPitch(AUD_Handle* handle)=0;
-
- /**
- * Sets the pitch of a playing sound.
- * \param handle The sound handle.
- * \param pitch The pitch.
- * \return
- * - true if the handle is valid.
- * - false if the handle is invalid.
- */
- virtual bool setPitch(AUD_Handle* handle, float pitch)=0;
-
- /**
- * Retrieves the loop count of a playing sound.
- * A negative value indicates infinity.
- * \return The remaining loop count.
- */
- virtual int getLoopCount(AUD_Handle* handle)=0;
-
- /**
- * Sets the loop count of a playing sound.
- * A negative value indicates infinity.
- * \param handle The sound handle.
- * \param count The new loop count.
- * \return
- * - true if the handle is valid.
- * - false if the handle is invalid.
- */
- virtual bool setLoopCount(AUD_Handle* handle, int count)=0;
-
- /**
- * Sets the callback function that's called when the end of a playing sound
- * is reached.
- * \param handle The sound handle.
- * \param callback The callback function.
- * \param data The data that should be passed to the callback function.
- * \return
- * - true if the handle is valid.
- * - false if the handle is invalid.
- */
- virtual bool setStopCallback(AUD_Handle* handle, stopCallback callback = 0, void* data = 0)=0;
};
#endif //AUD_IDevice
diff --git a/intern/audaspace/intern/AUD_IFactory.h b/intern/audaspace/intern/AUD_IFactory.h
index 40a61279a55..7d652268af3 100644
--- a/intern/audaspace/intern/AUD_IFactory.h
+++ b/intern/audaspace/intern/AUD_IFactory.h
@@ -33,7 +33,8 @@
#define AUD_IFACTORY
#include "AUD_Space.h"
-class AUD_IReader;
+#include "AUD_Reference.h"
+#include "AUD_IReader.h"
/**
* This class represents a type of sound source and saves the necessary values
@@ -55,7 +56,7 @@ public:
* \exception AUD_Exception An exception may be thrown if there has been
* a more unexpected error during reader creation.
*/
- virtual AUD_IReader* createReader() const=0;
+ virtual AUD_Reference<AUD_IReader> createReader()=0;
};
#endif //AUD_IFACTORY
diff --git a/intern/audaspace/intern/AUD_IHandle.h b/intern/audaspace/intern/AUD_IHandle.h
new file mode 100644
index 00000000000..5b8695131e4
--- /dev/null
+++ b/intern/audaspace/intern/AUD_IHandle.h
@@ -0,0 +1,181 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_IHandle.h
+ * \ingroup audaspaceintern
+ */
+
+#ifndef AUD_IHANDLE
+#define AUD_IHANDLE
+
+//#include "AUD_Space.h"
+//#include "AUD_Reference.h"
+
+typedef void (*stopCallback)(void*);
+
+/**
+ * This class represents a playback handles for specific devices.
+ */
+class AUD_IHandle
+{
+public:
+ /**
+ * Destroys the handle.
+ */
+ virtual ~AUD_IHandle() {}
+
+ /**
+ * Pauses a played back sound.
+ * \return
+ * - true if the sound has been paused.
+ * - false if the sound isn't playing back or the handle is invalid.
+ */
+ virtual bool pause()=0;
+
+ /**
+ * Resumes a paused sound.
+ * \return
+ * - true if the sound has been resumed.
+ * - false if the sound isn't paused or the handle is invalid.
+ */
+ virtual bool resume()=0;
+
+ /**
+ * Stops a played back or paused sound. The handle is definitely invalid
+ * afterwards.
+ * \return
+ * - true if the sound has been stopped.
+ * - false if the handle is invalid.
+ */
+ virtual bool stop()=0;
+
+ /**
+ * Gets the behaviour of the device for a played back sound when the sound
+ * doesn't return any more samples.
+ * \return
+ * - true if the source will be paused when it's end is reached
+ * - false if the handle won't kept or is invalid.
+ */
+ virtual bool getKeep()=0;
+
+ /**
+ * Sets the behaviour of the device for a played back sound when the sound
+ * doesn't return any more samples.
+ * \param keep True when the source should be paused and not deleted.
+ * \return
+ * - true if the behaviour has been changed.
+ * - false if the handle is invalid.
+ */
+ virtual bool setKeep(bool keep)=0;
+
+ /**
+ * Seeks in a played back sound.
+ * \param position The new position from where to play back, in seconds.
+ * \return
+ * - true if the handle is valid.
+ * - false if the handle is invalid.
+ * \warning Whether the seek works or not depends on the sound source.
+ */
+ virtual bool seek(float position)=0;
+
+ /**
+ * Retrieves the current playback position of a sound.
+ * \return The playback position in seconds, or 0.0 if the handle is
+ * invalid.
+ */
+ virtual float getPosition()=0;
+
+ /**
+ * Returns the status of a played back sound.
+ * \return
+ * - AUD_STATUS_INVALID if the sound has stopped or the handle is
+ *. invalid
+ * - AUD_STATUS_PLAYING if the sound is currently played back.
+ * - AUD_STATUS_PAUSED if the sound is currently paused.
+ * \see AUD_Status
+ */
+ virtual AUD_Status getStatus()=0;
+
+ /**
+ * Retrieves the volume of a playing sound.
+ * \return The volume.
+ */
+ virtual float getVolume()=0;
+
+ /**
+ * Sets the volume of a playing sound.
+ * \param volume The volume.
+ * \return
+ * - true if the handle is valid.
+ * - false if the handle is invalid.
+ */
+ virtual bool setVolume(float volume)=0;
+
+ /**
+ * Retrieves the pitch of a playing sound.
+ * \return The pitch.
+ */
+ virtual float getPitch()=0;
+
+ /**
+ * Sets the pitch of a playing sound.
+ * \param pitch The pitch.
+ * \return
+ * - true if the handle is valid.
+ * - false if the handle is invalid.
+ */
+ virtual bool setPitch(float pitch)=0;
+
+ /**
+ * Retrieves the loop count of a playing sound.
+ * A negative value indicates infinity.
+ * \return The remaining loop count.
+ */
+ virtual int getLoopCount()=0;
+
+ /**
+ * Sets the loop count of a playing sound.
+ * A negative value indicates infinity.
+ * \param count The new loop count.
+ * \return
+ * - true if the handle is valid.
+ * - false if the handle is invalid.
+ */
+ virtual bool setLoopCount(int count)=0;
+
+ /**
+ * Sets the callback function that's called when the end of a playing sound
+ * is reached.
+ * \param callback The callback function.
+ * \param data The data that should be passed to the callback function.
+ * \return
+ * - true if the handle is valid.
+ * - false if the handle is invalid.
+ */
+ virtual bool setStopCallback(stopCallback callback = 0, void* data = 0)=0;
+};
+
+#endif //AUD_IHandle
diff --git a/intern/audaspace/intern/AUD_IReader.h b/intern/audaspace/intern/AUD_IReader.h
index 7c31c593964..5fc2cd62fb2 100644
--- a/intern/audaspace/intern/AUD_IReader.h
+++ b/intern/audaspace/intern/AUD_IReader.h
@@ -49,27 +49,22 @@ public:
/**
* Tells whether the source provides seeking functionality or not.
* \warning This doesn't mean that the seeking always has to succeed.
- * \return Always returns true for readers of the buffer type.
- * \see getType
+ * \return Always returns true for readers of buffering types.
*/
virtual bool isSeekable() const=0;
/**
* Seeks to a specific position in the source.
- * This function must work for buffer type readers.
* \param position The position to seek for measured in samples. To get
* from a given time to the samples you simply have to multiply the
* time value in seconds with the sample rate of the reader.
* \warning This may work or not, depending on the actual reader.
- * \see getType
*/
virtual void seek(int position)=0;
/**
* Returns an approximated length of the source in samples.
- * For readers of the type buffer this has to return a correct value!
* \return The length as sample count. May be negative if unknown.
- * \see getType
*/
virtual int getLength() const=0;
@@ -77,10 +72,8 @@ public:
* Returns the position of the source as a sample count value.
* \return The current position in the source. A negative value indicates
* that the position is unknown.
- * \warning The value returned doesn't always have to be correct for readers
- * of the stream type, especially after seeking, it must though for
- * the buffer ones.
- * \see getType
+ * \warning The value returned doesn't always have to be correct for readers,
+ * especially after seeking.
*/
virtual int getPosition() const=0;
@@ -92,15 +85,15 @@ public:
/**
* Request to read the next length samples out of the source.
- * The buffer for reading has to stay valid until the next call of this
- * method or until the reader is deleted.
+ * The buffer supplied has the needed size.
* \param[in,out] length The count of samples that should be read. Shall
* contain the real count of samples after reading, in case
* there were only fewer samples available.
* A smaller value also indicates the end of the reader.
- * \param[out] buffer The pointer to the buffer with the samples.
+ * \param[out] eos End of stream, whether the end is reached or not.
+ * \param[in] buffer The pointer to the buffer to read into.
*/
- virtual void read(int & length, sample_t* & buffer)=0;
+ virtual void read(int& length, bool& eos, sample_t* buffer)=0;
};
#endif //AUD_IREADER
diff --git a/intern/audaspace/intern/AUD_IWriter.h b/intern/audaspace/intern/AUD_IWriter.h
new file mode 100644
index 00000000000..944bce961c3
--- /dev/null
+++ b/intern/audaspace/intern/AUD_IWriter.h
@@ -0,0 +1,69 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_IWriter.h
+ * \ingroup audaspaceintern
+ */
+
+
+#ifndef AUD_IWRITER
+#define AUD_IWRITER
+
+#include "AUD_Space.h"
+
+/**
+ * This class represents a sound sink where audio data can be written to.
+ */
+class AUD_IWriter
+{
+public:
+ /**
+ * Destroys the writer.
+ */
+ virtual ~AUD_IWriter(){}
+
+ /**
+ * Returns how many samples have been written so far.
+ * \return The writing position as sample count. May be negative if unknown.
+ */
+ virtual int getPosition() const=0;
+
+ /**
+ * Returns the specification of the audio data being written into the sink.
+ * \return The AUD_DeviceSpecs structure.
+ * \note Regardless of the format the input still has to be float!
+ */
+ virtual AUD_DeviceSpecs getSpecs() const=0;
+
+ /**
+ * Request to write the next length samples out into the sink.
+ * \param length The count of samples to write.
+ * \param buffer The pointer to the buffer containing the data.
+ */
+ virtual void write(unsigned int length, sample_t* buffer)=0;
+};
+
+#endif //AUD_IWRITER
diff --git a/intern/audaspace/intern/AUD_JOSResampleFactory.cpp b/intern/audaspace/intern/AUD_JOSResampleFactory.cpp
new file mode 100644
index 00000000000..a69b4ed0de8
--- /dev/null
+++ b/intern/audaspace/intern/AUD_JOSResampleFactory.cpp
@@ -0,0 +1,44 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_JOSResampleFactory.cpp
+ * \ingroup audaspaceintern
+ */
+
+
+#include "AUD_JOSResampleFactory.h"
+#include "AUD_JOSResampleReader.h"
+
+AUD_JOSResampleFactory::AUD_JOSResampleFactory(AUD_Reference<AUD_IFactory> factory,
+ AUD_DeviceSpecs specs) :
+ AUD_MixerFactory(factory, specs)
+{
+}
+
+AUD_Reference<AUD_IReader> AUD_JOSResampleFactory::createReader()
+{
+ return new AUD_JOSResampleReader(getReader(), m_specs.specs);
+}
diff --git a/intern/audaspace/intern/AUD_JOSResampleFactory.h b/intern/audaspace/intern/AUD_JOSResampleFactory.h
new file mode 100644
index 00000000000..90a5df5baf0
--- /dev/null
+++ b/intern/audaspace/intern/AUD_JOSResampleFactory.h
@@ -0,0 +1,58 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_JOSResampleFactory.h
+ * \ingroup audaspaceintern
+ */
+
+
+#ifndef AUD_JOSRESAMPLEFACTORY
+#define AUD_JOSRESAMPLEFACTORY
+
+#include "AUD_MixerFactory.h"
+
+/**
+ * This factory creates a resampling reader that does Julius O. Smith's resampling algorithm.
+ */
+class AUD_JOSResampleFactory : public AUD_MixerFactory
+{
+private:
+ // hide copy constructor and operator=
+ AUD_JOSResampleFactory(const AUD_JOSResampleFactory&);
+ AUD_JOSResampleFactory& operator=(const AUD_JOSResampleFactory&);
+
+public:
+ /**
+ * Creates a new factory.
+ * \param factory The input factory.
+ * \param specs The target specifications.
+ */
+ AUD_JOSResampleFactory(AUD_Reference<AUD_IFactory> factory, AUD_DeviceSpecs specs);
+
+ virtual AUD_Reference<AUD_IReader> createReader();
+};
+
+#endif //AUD_JOSRESAMPLEFACTORY
diff --git a/intern/audaspace/intern/AUD_JOSResampleReader.cpp b/intern/audaspace/intern/AUD_JOSResampleReader.cpp
new file mode 100644
index 00000000000..8da3d55acae
--- /dev/null
+++ b/intern/audaspace/intern/AUD_JOSResampleReader.cpp
@@ -0,0 +1,420 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_JOSResampleReader.cpp
+ * \ingroup audaspaceintern
+ */
+
+#include "AUD_JOSResampleReader.h"
+
+#include "AUD_JOSResampleReaderCoeff.cpp"
+
+#include <cmath>
+#include <cstring>
+#include <iostream>
+
+/* MSVC does not have lrint */
+#ifdef _MSC_VER
+#ifdef _M_X64
+#include <emmintrin.h>
+static inline int lrint(double d)
+{
+ return _mm_cvtsd_si32(_mm_load_sd(&d));
+}
+#else
+static inline int lrint(double d)
+{
+ int i;
+
+ _asm{
+ fld d
+ fistp i
+ };
+
+ return i;
+}
+#endif
+#endif
+
+#define CC m_channels + channel
+
+#define AUD_RATE_MAX 256
+#define SHIFT_BITS 12
+#define double_to_fp(x) (lrint(x * double(1 << SHIFT_BITS)))
+#define int_to_fp(x) (x << SHIFT_BITS)
+#define fp_to_int(x) (x >> SHIFT_BITS)
+#define fp_to_double(x) (x * 1.0/(1 << SHIFT_BITS))
+#define fp_rest(x) (x & ((1 << SHIFT_BITS) - 1))
+#define fp_rest_to_double(x) fp_to_double(fp_rest(x))
+
+AUD_JOSResampleReader::AUD_JOSResampleReader(AUD_Reference<AUD_IReader> reader, AUD_Specs specs) :
+ AUD_ResampleReader(reader, specs.rate),
+ m_channels(AUD_CHANNELS_INVALID),
+ m_n(0),
+ m_P(0),
+ m_cache_valid(0),
+ m_last_factor(0)
+{
+}
+
+void AUD_JOSResampleReader::reset()
+{
+ m_cache_valid = 0;
+ m_n = 0;
+ m_P = 0;
+ m_last_factor = 0;
+}
+
+void AUD_JOSResampleReader::updateBuffer(int size, double factor, int samplesize)
+{
+ unsigned int len;
+ double num_samples = double(m_len) / double(m_L);
+ // first calculate what length we need right now
+ if(factor >= 1)
+ len = ceil(num_samples);
+ else
+ len = (unsigned int)(ceil(num_samples / factor));
+
+ // then check if afterwards the length is enough for the maximum rate
+ if(len + size < num_samples * AUD_RATE_MAX)
+ len = num_samples * AUD_RATE_MAX - size;
+
+ if(m_n > len)
+ {
+ sample_t* buf = m_buffer.getBuffer();
+ len = m_n - len;
+ memmove(buf, buf + len * m_channels, (m_cache_valid - len) * samplesize);
+ m_n -= len;
+ m_cache_valid -= len;
+ }
+
+ m_buffer.assureSize((m_cache_valid + size) * samplesize, true);
+}
+
+#define RESAMPLE_METHOD(name, left, right) void AUD_JOSResampleReader::name(double target_factor, int length, sample_t* buffer)\
+{\
+ sample_t* buf = m_buffer.getBuffer();\
+\
+ int P, l, end, channel, i;\
+ double eta, v, f_increment, factor;\
+\
+ m_sums.assureSize(m_channels * sizeof(double));\
+ double* sums = reinterpret_cast<double*>(m_sums.getBuffer());\
+ sample_t* data;\
+ const float* coeff = m_coeff;\
+\
+ unsigned int P_increment;\
+\
+ for(unsigned int t = 0; t < length; t++)\
+ {\
+ factor = (m_last_factor * (length - t - 1) + target_factor * (t + 1)) / length;\
+\
+ memset(sums, 0, sizeof(double) * m_channels);\
+\
+ if(factor >= 1)\
+ {\
+ P = double_to_fp(m_P * m_L);\
+\
+ end = floor(m_len / double(m_L) - m_P) - 1;\
+ if(m_n < end)\
+ end = m_n;\
+\
+ data = buf + (m_n - end) * m_channels;\
+ l = fp_to_int(P);\
+ eta = fp_rest_to_double(P);\
+ l += m_L * end;\
+\
+ for(i = 0; i <= end; i++)\
+ {\
+ v = coeff[l] + eta * (coeff[l+1] - coeff[l]);\
+ l -= m_L;\
+ left\
+ }\
+\
+ P = int_to_fp(m_L) - P;\
+\
+ end = floor((m_len - 1) / double(m_L) + m_P) - 1;\
+ if(m_cache_valid - m_n - 2 < end)\
+ end = m_cache_valid - m_n - 2;\
+\
+ data = buf + (m_n + 2 + end) * m_channels - 1;\
+ l = fp_to_int(P);\
+ eta = fp_rest_to_double(P);\
+ l += m_L * end;\
+\
+ for(i = 0; i <= end; i++)\
+ {\
+ v = coeff[l] + eta * (coeff[l+1] - coeff[l]);\
+ l -= m_L;\
+ right\
+ }\
+\
+ for(channel = 0; channel < m_channels; channel++)\
+ {\
+ *buffer = sums[channel];\
+ buffer++;\
+ }\
+ }\
+ else\
+ {\
+ f_increment = factor * m_L;\
+ P_increment = double_to_fp(f_increment);\
+ P = double_to_fp(m_P * f_increment);\
+\
+ end = (int_to_fp(m_len) - P) / P_increment - 1;\
+ if(m_n < end)\
+ end = m_n;\
+\
+ P += P_increment * end;\
+ data = buf + (m_n - end) * m_channels;\
+ l = fp_to_int(P);\
+\
+ for(i = 0; i <= end; i++)\
+ {\
+ eta = fp_rest_to_double(P);\
+ v = coeff[l] + eta * (coeff[l+1] - coeff[l]);\
+ P -= P_increment;\
+ l = fp_to_int(P);\
+ left\
+ }\
+\
+ P = -P;\
+\
+ end = (int_to_fp(m_len) - P) / P_increment - 1;\
+ if(m_cache_valid - m_n - 2 < end)\
+ end = m_cache_valid - m_n - 2;\
+\
+ P += P_increment * end;\
+ data = buf + (m_n + 2 + end) * m_channels - 1;\
+ l = fp_to_int(P);\
+\
+ for(i = 0; i <= end; i++)\
+ {\
+ eta = fp_rest_to_double(P);\
+ v = coeff[l] + eta * (coeff[l+1] - coeff[l]);\
+ P -= P_increment;\
+ l = fp_to_int(P);\
+ right\
+ }\
+\
+ for(channel = 0; channel < m_channels; channel++)\
+ {\
+ *buffer = f_increment / m_L * sums[channel];\
+ buffer++;\
+ }\
+ }\
+\
+ m_P += fmod(1.0 / factor, 1.0);\
+ m_n += floor(1.0 / factor);\
+\
+ if(m_P >= 1.0)\
+ {\
+ m_P -= 1.0;\
+ m_n++;\
+ }\
+ }\
+}
+
+RESAMPLE_METHOD(resample, {
+ channel = 0;
+ do
+ {
+ sums[channel] += *data * v;
+ channel++;
+ data++;
+ }
+ while(channel < m_channels);
+}, {
+ channel = m_channels;
+ do
+ {
+ channel--;
+ sums[channel] += *data * v;
+ data--;
+ }
+ while(channel);
+})
+
+RESAMPLE_METHOD(resample_mono, {
+ *sums += *data * v;
+ data++;
+}, {
+ *sums += *data * v;
+ data--;
+})
+
+RESAMPLE_METHOD(resample_stereo, {
+ sums[0] += data[0] * v;
+ sums[1] += data[1] * v;
+ data+=2;
+}, {
+ data-=2;
+ sums[0] += data[1] * v;
+ sums[1] += data[2] * v;
+})
+
+void AUD_JOSResampleReader::seek(int position)
+{
+ position = floor(position * double(m_reader->getSpecs().rate) / double(m_rate));
+ m_reader->seek(position);
+ reset();
+}
+
+int AUD_JOSResampleReader::getLength() const
+{
+ return floor(m_reader->getLength() * double(m_rate) / double(m_reader->getSpecs().rate));
+}
+
+int AUD_JOSResampleReader::getPosition() const
+{
+ return floor((m_reader->getPosition() + double(m_P))
+ * m_rate / m_reader->getSpecs().rate);
+}
+
+AUD_Specs AUD_JOSResampleReader::getSpecs() const
+{
+ AUD_Specs specs = m_reader->getSpecs();
+ specs.rate = m_rate;
+ return specs;
+}
+
+void AUD_JOSResampleReader::read(int& length, bool& eos, sample_t* buffer)
+{
+ if(length == 0)
+ return;
+
+ AUD_Specs specs = m_reader->getSpecs();
+
+ int samplesize = AUD_SAMPLE_SIZE(specs);
+ double target_factor = double(m_rate) / double(specs.rate);
+ eos = false;
+ int len;
+ double num_samples = double(m_len) / double(m_L);
+
+ // check for channels changed
+ if(specs.channels != m_channels)
+ {
+ m_channels = specs.channels;
+ reset();
+
+ switch(m_channels)
+ {
+ case AUD_CHANNELS_MONO:
+ m_resample = &AUD_JOSResampleReader::resample_mono;
+ break;
+ case AUD_CHANNELS_STEREO:
+ m_resample = &AUD_JOSResampleReader::resample_stereo;
+ break;
+ default:
+ m_resample = &AUD_JOSResampleReader::resample;
+ break;
+ }
+ }
+
+ if(m_last_factor == 0)
+ m_last_factor = target_factor;
+
+ if(target_factor == 1 && m_last_factor == 1 && (m_P == 0))
+ {
+ // can read directly!
+
+ len = length - (m_cache_valid - m_n);
+
+ updateBuffer(len, target_factor, samplesize);
+ sample_t* buf = m_buffer.getBuffer();
+
+ m_reader->read(len, eos, buf + m_cache_valid * m_channels);
+ m_cache_valid += len;
+
+ length = m_cache_valid - m_n;
+
+ if(length > 0)
+ {
+ memcpy(buffer, buf + m_n * m_channels, length * samplesize);
+ m_n += length;
+ }
+
+ return;
+ }
+
+ // use minimum for the following calculations
+ double factor = AUD_MIN(target_factor, m_last_factor);
+
+ if(factor >= 1)
+ len = (m_n - m_cache_valid) + int(ceil(length / factor)) + ceil(num_samples);
+ else
+ len = (m_n - m_cache_valid) + int(ceil(length / factor) + ceil(num_samples / factor));
+
+ if(len > 0)
+ {
+ int should = len;
+
+ updateBuffer(len, factor, samplesize);
+
+ m_reader->read(len, eos, m_buffer.getBuffer() + m_cache_valid * m_channels);
+ m_cache_valid += len;
+
+ if(len < should)
+ {
+ if(len == 0 && eos)
+ length = 0;
+ else
+ {
+ // use maximum for the following calculations
+ factor = AUD_MAX(target_factor, m_last_factor);
+
+ if(eos)
+ {
+ // end of stream, let's check how many more samples we can produce
+ len = floor((m_cache_valid - m_n) * factor);
+ if(len < length)
+ length = len;
+ }
+ else
+ {
+ // not enough data available yet, so we recalculate how many samples we can calculate
+ if(factor >= 1)
+ len = floor((num_samples + m_cache_valid - m_n) * factor);
+ else
+ len = floor((num_samples * factor + m_cache_valid - m_n) * factor);
+ if(len < length)
+ length = len;
+ }
+ }
+ }
+ }
+
+ (this->*m_resample)(target_factor, length, buffer);
+
+ m_last_factor = target_factor;
+
+ if(m_n > m_cache_valid)
+ {
+ m_n = m_cache_valid;
+ }
+
+ eos = eos && ((m_n == m_cache_valid) || (length == 0));
+}
diff --git a/intern/audaspace/intern/AUD_JOSResampleReader.h b/intern/audaspace/intern/AUD_JOSResampleReader.h
new file mode 100644
index 00000000000..19620f2ee67
--- /dev/null
+++ b/intern/audaspace/intern/AUD_JOSResampleReader.h
@@ -0,0 +1,137 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_JOSResampleReader.h
+ * \ingroup audaspaceintern
+ */
+
+
+#ifndef AUD_JOSRESAMPLEREADER
+#define AUD_JOSRESAMPLEREADER
+
+#include "AUD_ResampleReader.h"
+#include "AUD_Buffer.h"
+
+/**
+ * This resampling reader uses Julius O. Smith's resampling algorithm.
+ */
+class AUD_JOSResampleReader : public AUD_ResampleReader
+{
+private:
+ typedef void (AUD_JOSResampleReader::*AUD_resample_f)(double target_factor, int length, sample_t* buffer);
+
+ /**
+ * The half filter length.
+ */
+ static const int m_len;
+
+ /**
+ * The sample step size for the filter.
+ */
+ static const int m_L;
+
+ /**
+ * The filter coefficients.
+ */
+ static const float m_coeff[];
+
+ /**
+ * The reader channels.
+ */
+ AUD_Channels m_channels;
+
+ /**
+ * The sample position in the cache.
+ */
+ unsigned int m_n;
+
+ /**
+ * The subsample position in the cache.
+ */
+ double m_P;
+
+ /**
+ * The input data buffer.
+ */
+ AUD_Buffer m_buffer;
+
+ /**
+ * Double buffer for the sums.
+ */
+ AUD_Buffer m_sums;
+
+ /**
+ * How many samples in the cache are valid.
+ */
+ int m_cache_valid;
+
+ /**
+ * Resample function.
+ */
+ AUD_resample_f m_resample;
+
+ /**
+ * Last resampling factor.
+ */
+ double m_last_factor;
+
+ // hide copy constructor and operator=
+ AUD_JOSResampleReader(const AUD_JOSResampleReader&);
+ AUD_JOSResampleReader& operator=(const AUD_JOSResampleReader&);
+
+ /**
+ * Resets the resampler to its initial state.
+ */
+ void reset();
+
+ /**
+ * Updates the buffer to be as small as possible for the coming reading.
+ * \param size The size of samples to be read.
+ * \param factor The next resampling factor.
+ * \param samplesize The size of a sample.
+ */
+ void updateBuffer(int size, double factor, int samplesize);
+
+ void resample(double target_factor, int length, sample_t* buffer);
+ void resample_mono(double target_factor, int length, sample_t* buffer);
+ void resample_stereo(double target_factor, int length, sample_t* buffer);
+
+public:
+ /**
+ * Creates a resampling reader.
+ * \param reader The reader to mix.
+ * \param specs The target specification.
+ */
+ AUD_JOSResampleReader(AUD_Reference<AUD_IReader> reader, AUD_Specs specs);
+
+ virtual void seek(int position);
+ virtual int getLength() const;
+ virtual int getPosition() const;
+ virtual AUD_Specs getSpecs() const;
+ virtual void read(int& length, bool& eos, sample_t* buffer);
+};
+
+#endif //AUD_JOSRESAMPLEREADER
diff --git a/intern/audaspace/intern/AUD_JOSResampleReaderCoeff.cpp b/intern/audaspace/intern/AUD_JOSResampleReaderCoeff.cpp
new file mode 100644
index 00000000000..59c69301a02
--- /dev/null
+++ b/intern/audaspace/intern/AUD_JOSResampleReaderCoeff.cpp
@@ -0,0 +1,32547 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_JOSResampleReaderCoeff.cpp
+ * \ingroup audaspaceintern
+ */
+
+#include "AUD_JOSResampleReader.h"
+
+// sinc filter coefficients, Nz = 136, L = 2304, freq = 0.963904, Kaiser Window B = 16
+
+const int AUD_JOSResampleReader::m_len = 325078;
+const int AUD_JOSResampleReader::m_L = 2304;
+
+const float AUD_JOSResampleReader::m_coeff[] = {
+9.639035268e-01f, 9.639032492e-01f, 9.639024165e-01f, 9.639010286e-01f, 9.638990855e-01f, 9.638965872e-01f, 9.638935338e-01f, 9.638899253e-01f, 9.638857615e-01f, 9.638810427e-01f,
+9.638757686e-01f, 9.638699395e-01f, 9.638635552e-01f, 9.638566158e-01f, 9.638491212e-01f, 9.638410716e-01f, 9.638324668e-01f, 9.638233070e-01f, 9.638135921e-01f, 9.638033220e-01f,
+9.637924970e-01f, 9.637811168e-01f, 9.637691817e-01f, 9.637566915e-01f, 9.637436463e-01f, 9.637300461e-01f, 9.637158908e-01f, 9.637011807e-01f, 9.636859155e-01f, 9.636700955e-01f,
+9.636537204e-01f, 9.636367905e-01f, 9.636193057e-01f, 9.636012660e-01f, 9.635826715e-01f, 9.635635221e-01f, 9.635438179e-01f, 9.635235590e-01f, 9.635027452e-01f, 9.634813767e-01f,
+9.634594535e-01f, 9.634369755e-01f, 9.634139429e-01f, 9.633903556e-01f, 9.633662137e-01f, 9.633415171e-01f, 9.633162660e-01f, 9.632904603e-01f, 9.632641001e-01f, 9.632371854e-01f,
+9.632097162e-01f, 9.631816925e-01f, 9.631531144e-01f, 9.631239820e-01f, 9.630942951e-01f, 9.630640540e-01f, 9.630332585e-01f, 9.630019088e-01f, 9.629700049e-01f, 9.629375467e-01f,
+9.629045344e-01f, 9.628709680e-01f, 9.628368474e-01f, 9.628021728e-01f, 9.627669442e-01f, 9.627311616e-01f, 9.626948250e-01f, 9.626579345e-01f, 9.626204901e-01f, 9.625824919e-01f,
+9.625439399e-01f, 9.625048342e-01f, 9.624651747e-01f, 9.624249615e-01f, 9.623841947e-01f, 9.623428743e-01f, 9.623010004e-01f, 9.622585730e-01f, 9.622155921e-01f, 9.621720577e-01f,
+9.621279700e-01f, 9.620833290e-01f, 9.620381347e-01f, 9.619923872e-01f, 9.619460865e-01f, 9.618992326e-01f, 9.618518256e-01f, 9.618038656e-01f, 9.617553527e-01f, 9.617062867e-01f,
+9.616566679e-01f, 9.616064963e-01f, 9.615557718e-01f, 9.615044946e-01f, 9.614526648e-01f, 9.614002823e-01f, 9.613473472e-01f, 9.612938597e-01f, 9.612398196e-01f, 9.611852272e-01f,
+9.611300824e-01f, 9.610743853e-01f, 9.610181360e-01f, 9.609613345e-01f, 9.609039809e-01f, 9.608460752e-01f, 9.607876175e-01f, 9.607286079e-01f, 9.606690464e-01f, 9.606089331e-01f,
+9.605482681e-01f, 9.604870514e-01f, 9.604252830e-01f, 9.603629631e-01f, 9.603000916e-01f, 9.602366688e-01f, 9.601726945e-01f, 9.601081690e-01f, 9.600430923e-01f, 9.599774643e-01f,
+9.599112853e-01f, 9.598445553e-01f, 9.597772742e-01f, 9.597094423e-01f, 9.596410596e-01f, 9.595721262e-01f, 9.595026420e-01f, 9.594326073e-01f, 9.593620220e-01f, 9.592908862e-01f,
+9.592192001e-01f, 9.591469636e-01f, 9.590741770e-01f, 9.590008401e-01f, 9.589269532e-01f, 9.588525163e-01f, 9.587775294e-01f, 9.587019927e-01f, 9.586259062e-01f, 9.585492700e-01f,
+9.584720842e-01f, 9.583943488e-01f, 9.583160640e-01f, 9.582372298e-01f, 9.581578463e-01f, 9.580779136e-01f, 9.579974318e-01f, 9.579164010e-01f, 9.578348211e-01f, 9.577526924e-01f,
+9.576700149e-01f, 9.575867887e-01f, 9.575030139e-01f, 9.574186906e-01f, 9.573338188e-01f, 9.572483986e-01f, 9.571624302e-01f, 9.570759136e-01f, 9.569888489e-01f, 9.569012362e-01f,
+9.568130756e-01f, 9.567243672e-01f, 9.566351110e-01f, 9.565453072e-01f, 9.564549559e-01f, 9.563640571e-01f, 9.562726110e-01f, 9.561806176e-01f, 9.560880771e-01f, 9.559949895e-01f,
+9.559013549e-01f, 9.558071734e-01f, 9.557124452e-01f, 9.556171703e-01f, 9.555213488e-01f, 9.554249808e-01f, 9.553280665e-01f, 9.552306058e-01f, 9.551325990e-01f, 9.550340461e-01f,
+9.549349473e-01f, 9.548353025e-01f, 9.547351120e-01f, 9.546343759e-01f, 9.545330941e-01f, 9.544312670e-01f, 9.543288944e-01f, 9.542259766e-01f, 9.541225137e-01f, 9.540185058e-01f,
+9.539139529e-01f, 9.538088552e-01f, 9.537032128e-01f, 9.535970258e-01f, 9.534902944e-01f, 9.533830185e-01f, 9.532751984e-01f, 9.531668341e-01f, 9.530579258e-01f, 9.529484736e-01f,
+9.528384775e-01f, 9.527279378e-01f, 9.526168545e-01f, 9.525052276e-01f, 9.523930575e-01f, 9.522803441e-01f, 9.521670875e-01f, 9.520532880e-01f, 9.519389456e-01f, 9.518240604e-01f,
+9.517086326e-01f, 9.515926622e-01f, 9.514761494e-01f, 9.513590944e-01f, 9.512414971e-01f, 9.511233578e-01f, 9.510046766e-01f, 9.508854536e-01f, 9.507656889e-01f, 9.506453827e-01f,
+9.505245350e-01f, 9.504031460e-01f, 9.502812159e-01f, 9.501587447e-01f, 9.500357325e-01f, 9.499121796e-01f, 9.497880860e-01f, 9.496634518e-01f, 9.495382773e-01f, 9.494125624e-01f,
+9.492863074e-01f, 9.491595124e-01f, 9.490321775e-01f, 9.489043028e-01f, 9.487758886e-01f, 9.486469348e-01f, 9.485174416e-01f, 9.483874092e-01f, 9.482568378e-01f, 9.481257273e-01f,
+9.479940781e-01f, 9.478618902e-01f, 9.477291637e-01f, 9.475958988e-01f, 9.474620956e-01f, 9.473277543e-01f, 9.471928750e-01f, 9.470574579e-01f, 9.469215030e-01f, 9.467850106e-01f,
+9.466479807e-01f, 9.465104136e-01f, 9.463723093e-01f, 9.462336679e-01f, 9.460944898e-01f, 9.459547749e-01f, 9.458145234e-01f, 9.456737355e-01f, 9.455324113e-01f, 9.453905510e-01f,
+9.452481547e-01f, 9.451052225e-01f, 9.449617546e-01f, 9.448177513e-01f, 9.446732125e-01f, 9.445281384e-01f, 9.443825293e-01f, 9.442363852e-01f, 9.440897063e-01f, 9.439424928e-01f,
+9.437947447e-01f, 9.436464624e-01f, 9.434976458e-01f, 9.433482953e-01f, 9.431984108e-01f, 9.430479926e-01f, 9.428970409e-01f, 9.427455557e-01f, 9.425935373e-01f, 9.424409858e-01f,
+9.422879014e-01f, 9.421342841e-01f, 9.419801343e-01f, 9.418254520e-01f, 9.416702374e-01f, 9.415144906e-01f, 9.413582119e-01f, 9.412014013e-01f, 9.410440591e-01f, 9.408861854e-01f,
+9.407277804e-01f, 9.405688442e-01f, 9.404093770e-01f, 9.402493790e-01f, 9.400888502e-01f, 9.399277910e-01f, 9.397662015e-01f, 9.396040817e-01f, 9.394414320e-01f, 9.392782524e-01f,
+9.391145432e-01f, 9.389503045e-01f, 9.387855364e-01f, 9.386202392e-01f, 9.384544130e-01f, 9.382880579e-01f, 9.381211743e-01f, 9.379537621e-01f, 9.377858217e-01f, 9.376173531e-01f,
+9.374483566e-01f, 9.372788323e-01f, 9.371087804e-01f, 9.369382011e-01f, 9.367670945e-01f, 9.365954609e-01f, 9.364233003e-01f, 9.362506131e-01f, 9.360773993e-01f, 9.359036592e-01f,
+9.357293928e-01f, 9.355546005e-01f, 9.353792824e-01f, 9.352034386e-01f, 9.350270693e-01f, 9.348501748e-01f, 9.346727552e-01f, 9.344948107e-01f, 9.343163415e-01f, 9.341373477e-01f,
+9.339578296e-01f, 9.337777873e-01f, 9.335972210e-01f, 9.334161310e-01f, 9.332345173e-01f, 9.330523802e-01f, 9.328697199e-01f, 9.326865365e-01f, 9.325028302e-01f, 9.323186014e-01f,
+9.321338500e-01f, 9.319485763e-01f, 9.317627806e-01f, 9.315764629e-01f, 9.313896236e-01f, 9.312022627e-01f, 9.310143805e-01f, 9.308259772e-01f, 9.306370529e-01f, 9.304476080e-01f,
+9.302576424e-01f, 9.300671565e-01f, 9.298761505e-01f, 9.296846245e-01f, 9.294925788e-01f, 9.293000135e-01f, 9.291069289e-01f, 9.289133251e-01f, 9.287192023e-01f, 9.285245608e-01f,
+9.283294007e-01f, 9.281337223e-01f, 9.279375257e-01f, 9.277408112e-01f, 9.275435789e-01f, 9.273458291e-01f, 9.271475619e-01f, 9.269487776e-01f, 9.267494764e-01f, 9.265496585e-01f,
+9.263493240e-01f, 9.261484732e-01f, 9.259471064e-01f, 9.257452236e-01f, 9.255428251e-01f, 9.253399112e-01f, 9.251364820e-01f, 9.249325378e-01f, 9.247280787e-01f, 9.245231049e-01f,
+9.243176167e-01f, 9.241116144e-01f, 9.239050980e-01f, 9.236980678e-01f, 9.234905241e-01f, 9.232824670e-01f, 9.230738967e-01f, 9.228648135e-01f, 9.226552177e-01f, 9.224451093e-01f,
+9.222344886e-01f, 9.220233559e-01f, 9.218117113e-01f, 9.215995551e-01f, 9.213868875e-01f, 9.211737087e-01f, 9.209600189e-01f, 9.207458184e-01f, 9.205311074e-01f, 9.203158860e-01f,
+9.201001546e-01f, 9.198839133e-01f, 9.196671624e-01f, 9.194499020e-01f, 9.192321325e-01f, 9.190138540e-01f, 9.187950667e-01f, 9.185757710e-01f, 9.183559669e-01f, 9.181356548e-01f,
+9.179148349e-01f, 9.176935073e-01f, 9.174716724e-01f, 9.172493303e-01f, 9.170264813e-01f, 9.168031256e-01f, 9.165792634e-01f, 9.163548950e-01f, 9.161300207e-01f, 9.159046405e-01f,
+9.156787548e-01f, 9.154523638e-01f, 9.152254678e-01f, 9.149980669e-01f, 9.147701614e-01f, 9.145417515e-01f, 9.143128376e-01f, 9.140834197e-01f, 9.138534981e-01f, 9.136230732e-01f,
+9.133921450e-01f, 9.131607140e-01f, 9.129287802e-01f, 9.126963439e-01f, 9.124634054e-01f, 9.122299649e-01f, 9.119960227e-01f, 9.117615790e-01f, 9.115266340e-01f, 9.112911880e-01f,
+9.110552412e-01f, 9.108187939e-01f, 9.105818463e-01f, 9.103443986e-01f, 9.101064511e-01f, 9.098680041e-01f, 9.096290577e-01f, 9.093896123e-01f, 9.091496681e-01f, 9.089092253e-01f,
+9.086682841e-01f, 9.084268449e-01f, 9.081849079e-01f, 9.079424733e-01f, 9.076995413e-01f, 9.074561123e-01f, 9.072121864e-01f, 9.069677640e-01f, 9.067228453e-01f, 9.064774304e-01f,
+9.062315198e-01f, 9.059851135e-01f, 9.057382120e-01f, 9.054908154e-01f, 9.052429240e-01f, 9.049945380e-01f, 9.047456578e-01f, 9.044962835e-01f, 9.042464154e-01f, 9.039960539e-01f,
+9.037451990e-01f, 9.034938511e-01f, 9.032420105e-01f, 9.029896774e-01f, 9.027368521e-01f, 9.024835348e-01f, 9.022297258e-01f, 9.019754253e-01f, 9.017206336e-01f, 9.014653511e-01f,
+9.012095778e-01f, 9.009533142e-01f, 9.006965604e-01f, 9.004393168e-01f, 9.001815836e-01f, 8.999233610e-01f, 8.996646493e-01f, 8.994054488e-01f, 8.991457598e-01f, 8.988855825e-01f,
+8.986249173e-01f, 8.983637642e-01f, 8.981021237e-01f, 8.978399960e-01f, 8.975773814e-01f, 8.973142801e-01f, 8.970506924e-01f, 8.967866186e-01f, 8.965220589e-01f, 8.962570137e-01f,
+8.959914832e-01f, 8.957254676e-01f, 8.954589673e-01f, 8.951919825e-01f, 8.949245135e-01f, 8.946565605e-01f, 8.943881239e-01f, 8.941192039e-01f, 8.938498008e-01f, 8.935799149e-01f,
+8.933095464e-01f, 8.930386957e-01f, 8.927673629e-01f, 8.924955485e-01f, 8.922232526e-01f, 8.919504756e-01f, 8.916772176e-01f, 8.914034791e-01f, 8.911292603e-01f, 8.908545614e-01f,
+8.905793828e-01f, 8.903037247e-01f, 8.900275875e-01f, 8.897509713e-01f, 8.894738765e-01f, 8.891963034e-01f, 8.889182522e-01f, 8.886397233e-01f, 8.883607169e-01f, 8.880812334e-01f,
+8.878012729e-01f, 8.875208358e-01f, 8.872399224e-01f, 8.869585329e-01f, 8.866766677e-01f, 8.863943271e-01f, 8.861115112e-01f, 8.858282205e-01f, 8.855444553e-01f, 8.852602157e-01f,
+8.849755021e-01f, 8.846903148e-01f, 8.844046541e-01f, 8.841185202e-01f, 8.838319136e-01f, 8.835448344e-01f, 8.832572829e-01f, 8.829692595e-01f, 8.826807645e-01f, 8.823917981e-01f,
+8.821023607e-01f, 8.818124525e-01f, 8.815220738e-01f, 8.812312249e-01f, 8.809399062e-01f, 8.806481180e-01f, 8.803558604e-01f, 8.800631339e-01f, 8.797699387e-01f, 8.794762752e-01f,
+8.791821436e-01f, 8.788875442e-01f, 8.785924774e-01f, 8.782969434e-01f, 8.780009425e-01f, 8.777044751e-01f, 8.774075415e-01f, 8.771101419e-01f, 8.768122767e-01f, 8.765139461e-01f,
+8.762151505e-01f, 8.759158902e-01f, 8.756161655e-01f, 8.753159767e-01f, 8.750153240e-01f, 8.747142079e-01f, 8.744126286e-01f, 8.741105865e-01f, 8.738080818e-01f, 8.735051148e-01f,
+8.732016859e-01f, 8.728977953e-01f, 8.725934435e-01f, 8.722886306e-01f, 8.719833570e-01f, 8.716776231e-01f, 8.713714291e-01f, 8.710647753e-01f, 8.707576621e-01f, 8.704500898e-01f,
+8.701420586e-01f, 8.698335690e-01f, 8.695246212e-01f, 8.692152155e-01f, 8.689053523e-01f, 8.685950319e-01f, 8.682842545e-01f, 8.679730206e-01f, 8.676613304e-01f, 8.673491842e-01f,
+8.670365825e-01f, 8.667235254e-01f, 8.664100133e-01f, 8.660960465e-01f, 8.657816254e-01f, 8.654667503e-01f, 8.651514214e-01f, 8.648356392e-01f, 8.645194039e-01f, 8.642027159e-01f,
+8.638855755e-01f, 8.635679830e-01f, 8.632499387e-01f, 8.629314431e-01f, 8.626124962e-01f, 8.622930987e-01f, 8.619732506e-01f, 8.616529525e-01f, 8.613322045e-01f, 8.610110071e-01f,
+8.606893605e-01f, 8.603672651e-01f, 8.600447213e-01f, 8.597217293e-01f, 8.593982894e-01f, 8.590744021e-01f, 8.587500676e-01f, 8.584252863e-01f, 8.581000585e-01f, 8.577743845e-01f,
+8.574482647e-01f, 8.571216994e-01f, 8.567946889e-01f, 8.564672336e-01f, 8.561393339e-01f, 8.558109899e-01f, 8.554822022e-01f, 8.551529709e-01f, 8.548232966e-01f, 8.544931794e-01f,
+8.541626197e-01f, 8.538316179e-01f, 8.535001743e-01f, 8.531682892e-01f, 8.528359631e-01f, 8.525031961e-01f, 8.521699887e-01f, 8.518363412e-01f, 8.515022540e-01f, 8.511677273e-01f,
+8.508327616e-01f, 8.504973571e-01f, 8.501615143e-01f, 8.498252334e-01f, 8.494885148e-01f, 8.491513588e-01f, 8.488137659e-01f, 8.484757362e-01f, 8.481372703e-01f, 8.477983683e-01f,
+8.474590308e-01f, 8.471192579e-01f, 8.467790502e-01f, 8.464384078e-01f, 8.460973312e-01f, 8.457558207e-01f, 8.454138767e-01f, 8.450714994e-01f, 8.447286893e-01f, 8.443854468e-01f,
+8.440417721e-01f, 8.436976656e-01f, 8.433531276e-01f, 8.430081586e-01f, 8.426627588e-01f, 8.423169286e-01f, 8.419706685e-01f, 8.416239786e-01f, 8.412768594e-01f, 8.409293112e-01f,
+8.405813345e-01f, 8.402329294e-01f, 8.398840965e-01f, 8.395348360e-01f, 8.391851483e-01f, 8.388350338e-01f, 8.384844928e-01f, 8.381335257e-01f, 8.377821328e-01f, 8.374303146e-01f,
+8.370780713e-01f, 8.367254032e-01f, 8.363723109e-01f, 8.360187946e-01f, 8.356648547e-01f, 8.353104916e-01f, 8.349557056e-01f, 8.346004970e-01f, 8.342448663e-01f, 8.338888138e-01f,
+8.335323399e-01f, 8.331754449e-01f, 8.328181292e-01f, 8.324603932e-01f, 8.321022372e-01f, 8.317436615e-01f, 8.313846667e-01f, 8.310252529e-01f, 8.306654207e-01f, 8.303051703e-01f,
+8.299445021e-01f, 8.295834165e-01f, 8.292219138e-01f, 8.288599945e-01f, 8.284976589e-01f, 8.281349074e-01f, 8.277717402e-01f, 8.274081579e-01f, 8.270441608e-01f, 8.266797492e-01f,
+8.263149235e-01f, 8.259496841e-01f, 8.255840313e-01f, 8.252179656e-01f, 8.248514873e-01f, 8.244845968e-01f, 8.241172944e-01f, 8.237495806e-01f, 8.233814556e-01f, 8.230129199e-01f,
+8.226439739e-01f, 8.222746179e-01f, 8.219048523e-01f, 8.215346775e-01f, 8.211640938e-01f, 8.207931017e-01f, 8.204217015e-01f, 8.200498935e-01f, 8.196776783e-01f, 8.193050560e-01f,
+8.189320272e-01f, 8.185585922e-01f, 8.181847514e-01f, 8.178105051e-01f, 8.174358538e-01f, 8.170607978e-01f, 8.166853376e-01f, 8.163094734e-01f, 8.159332057e-01f, 8.155565348e-01f,
+8.151794612e-01f, 8.148019852e-01f, 8.144241072e-01f, 8.140458276e-01f, 8.136671467e-01f, 8.132880650e-01f, 8.129085829e-01f, 8.125287007e-01f, 8.121484188e-01f, 8.117677376e-01f,
+8.113866575e-01f, 8.110051789e-01f, 8.106233021e-01f, 8.102410276e-01f, 8.098583558e-01f, 8.094752869e-01f, 8.090918215e-01f, 8.087079599e-01f, 8.083237025e-01f, 8.079390497e-01f,
+8.075540018e-01f, 8.071685594e-01f, 8.067827227e-01f, 8.063964921e-01f, 8.060098681e-01f, 8.056228510e-01f, 8.052354413e-01f, 8.048476393e-01f, 8.044594454e-01f, 8.040708600e-01f,
+8.036818836e-01f, 8.032925164e-01f, 8.029027589e-01f, 8.025126116e-01f, 8.021220747e-01f, 8.017311487e-01f, 8.013398340e-01f, 8.009481310e-01f, 8.005560400e-01f, 8.001635615e-01f,
+7.997706959e-01f, 7.993774436e-01f, 7.989838049e-01f, 7.985897804e-01f, 7.981953702e-01f, 7.978005750e-01f, 7.974053950e-01f, 7.970098307e-01f, 7.966138825e-01f, 7.962175508e-01f,
+7.958208359e-01f, 7.954237383e-01f, 7.950262584e-01f, 7.946283966e-01f, 7.942301532e-01f, 7.938315288e-01f, 7.934325236e-01f, 7.930331382e-01f, 7.926333728e-01f, 7.922332280e-01f,
+7.918327041e-01f, 7.914318015e-01f, 7.910305206e-01f, 7.906288619e-01f, 7.902268257e-01f, 7.898244125e-01f, 7.894216226e-01f, 7.890184565e-01f, 7.886149145e-01f, 7.882109972e-01f,
+7.878067048e-01f, 7.874020378e-01f, 7.869969967e-01f, 7.865915818e-01f, 7.861857935e-01f, 7.857796322e-01f, 7.853730984e-01f, 7.849661925e-01f, 7.845589148e-01f, 7.841512658e-01f,
+7.837432459e-01f, 7.833348556e-01f, 7.829260952e-01f, 7.825169651e-01f, 7.821074658e-01f, 7.816975976e-01f, 7.812873610e-01f, 7.808767565e-01f, 7.804657843e-01f, 7.800544450e-01f,
+7.796427389e-01f, 7.792306665e-01f, 7.788182282e-01f, 7.784054244e-01f, 7.779922554e-01f, 7.775787219e-01f, 7.771648240e-01f, 7.767505624e-01f, 7.763359373e-01f, 7.759209493e-01f,
+7.755055986e-01f, 7.750898858e-01f, 7.746738113e-01f, 7.742573755e-01f, 7.738405788e-01f, 7.734234216e-01f, 7.730059044e-01f, 7.725880275e-01f, 7.721697915e-01f, 7.717511966e-01f,
+7.713322434e-01f, 7.709129323e-01f, 7.704932637e-01f, 7.700732379e-01f, 7.696528555e-01f, 7.692321169e-01f, 7.688110225e-01f, 7.683895726e-01f, 7.679677678e-01f, 7.675456085e-01f,
+7.671230951e-01f, 7.667002279e-01f, 7.662770076e-01f, 7.658534344e-01f, 7.654295087e-01f, 7.650052312e-01f, 7.645806020e-01f, 7.641556218e-01f, 7.637302908e-01f, 7.633046096e-01f,
+7.628785786e-01f, 7.624521982e-01f, 7.620254688e-01f, 7.615983909e-01f, 7.611709648e-01f, 7.607431911e-01f, 7.603150701e-01f, 7.598866024e-01f, 7.594577882e-01f, 7.590286281e-01f,
+7.585991225e-01f, 7.581692718e-01f, 7.577390764e-01f, 7.573085368e-01f, 7.568776535e-01f, 7.564464267e-01f, 7.560148571e-01f, 7.555829450e-01f, 7.551506909e-01f, 7.547180951e-01f,
+7.542851582e-01f, 7.538518805e-01f, 7.534182626e-01f, 7.529843047e-01f, 7.525500075e-01f, 7.521153713e-01f, 7.516803965e-01f, 7.512450836e-01f, 7.508094330e-01f, 7.503734452e-01f,
+7.499371206e-01f, 7.495004596e-01f, 7.490634628e-01f, 7.486261304e-01f, 7.481884630e-01f, 7.477504610e-01f, 7.473121249e-01f, 7.468734550e-01f, 7.464344519e-01f, 7.459951159e-01f,
+7.455554476e-01f, 7.451154473e-01f, 7.446751155e-01f, 7.442344526e-01f, 7.437934591e-01f, 7.433521355e-01f, 7.429104821e-01f, 7.424684994e-01f, 7.420261879e-01f, 7.415835480e-01f,
+7.411405801e-01f, 7.406972848e-01f, 7.402536623e-01f, 7.398097133e-01f, 7.393654381e-01f, 7.389208372e-01f, 7.384759109e-01f, 7.380306599e-01f, 7.375850845e-01f, 7.371391851e-01f,
+7.366929623e-01f, 7.362464164e-01f, 7.357995480e-01f, 7.353523574e-01f, 7.349048451e-01f, 7.344570115e-01f, 7.340088572e-01f, 7.335603826e-01f, 7.331115880e-01f, 7.326624740e-01f,
+7.322130410e-01f, 7.317632895e-01f, 7.313132199e-01f, 7.308628327e-01f, 7.304121282e-01f, 7.299611071e-01f, 7.295097696e-01f, 7.290581164e-01f, 7.286061478e-01f, 7.281538642e-01f,
+7.277012662e-01f, 7.272483542e-01f, 7.267951286e-01f, 7.263415899e-01f, 7.258877386e-01f, 7.254335751e-01f, 7.249790999e-01f, 7.245243133e-01f, 7.240692160e-01f, 7.236138083e-01f,
+7.231580906e-01f, 7.227020635e-01f, 7.222457275e-01f, 7.217890828e-01f, 7.213321301e-01f, 7.208748698e-01f, 7.204173023e-01f, 7.199594281e-01f, 7.195012476e-01f, 7.190427614e-01f,
+7.185839698e-01f, 7.181248734e-01f, 7.176654725e-01f, 7.172057677e-01f, 7.167457594e-01f, 7.162854481e-01f, 7.158248342e-01f, 7.153639182e-01f, 7.149027005e-01f, 7.144411817e-01f,
+7.139793621e-01f, 7.135172423e-01f, 7.130548227e-01f, 7.125921037e-01f, 7.121290859e-01f, 7.116657696e-01f, 7.112021554e-01f, 7.107382438e-01f, 7.102740351e-01f, 7.098095298e-01f,
+7.093447285e-01f, 7.088796315e-01f, 7.084142394e-01f, 7.079485526e-01f, 7.074825716e-01f, 7.070162968e-01f, 7.065497287e-01f, 7.060828677e-01f, 7.056157144e-01f, 7.051482692e-01f,
+7.046805326e-01f, 7.042125050e-01f, 7.037441869e-01f, 7.032755788e-01f, 7.028066812e-01f, 7.023374944e-01f, 7.018680190e-01f, 7.013982555e-01f, 7.009282043e-01f, 7.004578659e-01f,
+6.999872407e-01f, 6.995163293e-01f, 6.990451320e-01f, 6.985736494e-01f, 6.981018820e-01f, 6.976298301e-01f, 6.971574944e-01f, 6.966848751e-01f, 6.962119729e-01f, 6.957387882e-01f,
+6.952653215e-01f, 6.947915732e-01f, 6.943175438e-01f, 6.938432338e-01f, 6.933686437e-01f, 6.928937738e-01f, 6.924186248e-01f, 6.919431971e-01f, 6.914674911e-01f, 6.909915073e-01f,
+6.905152463e-01f, 6.900387084e-01f, 6.895618941e-01f, 6.890848040e-01f, 6.886074385e-01f, 6.881297980e-01f, 6.876518831e-01f, 6.871736943e-01f, 6.866952319e-01f, 6.862164965e-01f,
+6.857374886e-01f, 6.852582086e-01f, 6.847786570e-01f, 6.842988343e-01f, 6.838187410e-01f, 6.833383775e-01f, 6.828577443e-01f, 6.823768420e-01f, 6.818956709e-01f, 6.814142315e-01f,
+6.809325245e-01f, 6.804505501e-01f, 6.799683089e-01f, 6.794858014e-01f, 6.790030281e-01f, 6.785199894e-01f, 6.780366858e-01f, 6.775531178e-01f, 6.770692859e-01f, 6.765851905e-01f,
+6.761008322e-01f, 6.756162114e-01f, 6.751313286e-01f, 6.746461843e-01f, 6.741607790e-01f, 6.736751131e-01f, 6.731891871e-01f, 6.727030016e-01f, 6.722165569e-01f, 6.717298537e-01f,
+6.712428923e-01f, 6.707556732e-01f, 6.702681970e-01f, 6.697804641e-01f, 6.692924750e-01f, 6.688042302e-01f, 6.683157302e-01f, 6.678269754e-01f, 6.673379664e-01f, 6.668487036e-01f,
+6.663591875e-01f, 6.658694186e-01f, 6.653793973e-01f, 6.648891243e-01f, 6.643985999e-01f, 6.639078246e-01f, 6.634167990e-01f, 6.629255235e-01f, 6.624339986e-01f, 6.619422248e-01f,
+6.614502026e-01f, 6.609579324e-01f, 6.604654148e-01f, 6.599726502e-01f, 6.594796392e-01f, 6.589863821e-01f, 6.584928796e-01f, 6.579991321e-01f, 6.575051401e-01f, 6.570109040e-01f,
+6.565164245e-01f, 6.560217018e-01f, 6.555267366e-01f, 6.550315294e-01f, 6.545360806e-01f, 6.540403907e-01f, 6.535444602e-01f, 6.530482896e-01f, 6.525518794e-01f, 6.520552300e-01f,
+6.515583421e-01f, 6.510612160e-01f, 6.505638522e-01f, 6.500662513e-01f, 6.495684138e-01f, 6.490703401e-01f, 6.485720307e-01f, 6.480734861e-01f, 6.475747069e-01f, 6.470756934e-01f,
+6.465764462e-01f, 6.460769659e-01f, 6.455772528e-01f, 6.450773075e-01f, 6.445771305e-01f, 6.440767222e-01f, 6.435760832e-01f, 6.430752140e-01f, 6.425741150e-01f, 6.420727867e-01f,
+6.415712297e-01f, 6.410694445e-01f, 6.405674314e-01f, 6.400651911e-01f, 6.395627240e-01f, 6.390600307e-01f, 6.385571115e-01f, 6.380539671e-01f, 6.375505979e-01f, 6.370470044e-01f,
+6.365431871e-01f, 6.360391465e-01f, 6.355348831e-01f, 6.350303974e-01f, 6.345256898e-01f, 6.340207610e-01f, 6.335156114e-01f, 6.330102414e-01f, 6.325046516e-01f, 6.319988426e-01f,
+6.314928147e-01f, 6.309865684e-01f, 6.304801044e-01f, 6.299734230e-01f, 6.294665249e-01f, 6.289594104e-01f, 6.284520800e-01f, 6.279445344e-01f, 6.274367739e-01f, 6.269287991e-01f,
+6.264206105e-01f, 6.259122086e-01f, 6.254035938e-01f, 6.248947667e-01f, 6.243857278e-01f, 6.238764776e-01f, 6.233670166e-01f, 6.228573452e-01f, 6.223474641e-01f, 6.218373736e-01f,
+6.213270743e-01f, 6.208165667e-01f, 6.203058513e-01f, 6.197949286e-01f, 6.192837991e-01f, 6.187724633e-01f, 6.182609217e-01f, 6.177491748e-01f, 6.172372231e-01f, 6.167250671e-01f,
+6.162127074e-01f, 6.157001444e-01f, 6.151873785e-01f, 6.146744105e-01f, 6.141612406e-01f, 6.136478695e-01f, 6.131342976e-01f, 6.126205255e-01f, 6.121065536e-01f, 6.115923824e-01f,
+6.110780126e-01f, 6.105634444e-01f, 6.100486786e-01f, 6.095337155e-01f, 6.090185557e-01f, 6.085031997e-01f, 6.079876480e-01f, 6.074719010e-01f, 6.069559594e-01f, 6.064398236e-01f,
+6.059234941e-01f, 6.054069714e-01f, 6.048902560e-01f, 6.043733485e-01f, 6.038562493e-01f, 6.033389590e-01f, 6.028214780e-01f, 6.023038069e-01f, 6.017859461e-01f, 6.012678962e-01f,
+6.007496577e-01f, 6.002312311e-01f, 5.997126169e-01f, 5.991938156e-01f, 5.986748277e-01f, 5.981556537e-01f, 5.976362942e-01f, 5.971167496e-01f, 5.965970204e-01f, 5.960771072e-01f,
+5.955570105e-01f, 5.950367307e-01f, 5.945162684e-01f, 5.939956242e-01f, 5.934747984e-01f, 5.929537916e-01f, 5.924326044e-01f, 5.919112371e-01f, 5.913896904e-01f, 5.908679648e-01f,
+5.903460607e-01f, 5.898239787e-01f, 5.893017193e-01f, 5.887792830e-01f, 5.882566702e-01f, 5.877338816e-01f, 5.872109176e-01f, 5.866877787e-01f, 5.861644655e-01f, 5.856409784e-01f,
+5.851173180e-01f, 5.845934848e-01f, 5.840694793e-01f, 5.835453019e-01f, 5.830209533e-01f, 5.824964339e-01f, 5.819717442e-01f, 5.814468848e-01f, 5.809218561e-01f, 5.803966587e-01f,
+5.798712931e-01f, 5.793457598e-01f, 5.788200593e-01f, 5.782941921e-01f, 5.777681588e-01f, 5.772419598e-01f, 5.767155956e-01f, 5.761890668e-01f, 5.756623739e-01f, 5.751355174e-01f,
+5.746084979e-01f, 5.740813157e-01f, 5.735539715e-01f, 5.730264657e-01f, 5.724987989e-01f, 5.719709716e-01f, 5.714429842e-01f, 5.709148374e-01f, 5.703865316e-01f, 5.698580673e-01f,
+5.693294451e-01f, 5.688006655e-01f, 5.682717289e-01f, 5.677426359e-01f, 5.672133870e-01f, 5.666839827e-01f, 5.661544236e-01f, 5.656247101e-01f, 5.650948428e-01f, 5.645648222e-01f,
+5.640346488e-01f, 5.635043230e-01f, 5.629738456e-01f, 5.624432168e-01f, 5.619124373e-01f, 5.613815076e-01f, 5.608504282e-01f, 5.603191995e-01f, 5.597878222e-01f, 5.592562967e-01f,
+5.587246236e-01f, 5.581928034e-01f, 5.576608365e-01f, 5.571287235e-01f, 5.565964650e-01f, 5.560640614e-01f, 5.555315132e-01f, 5.549988210e-01f, 5.544659853e-01f, 5.539330066e-01f,
+5.533998853e-01f, 5.528666222e-01f, 5.523332175e-01f, 5.517996720e-01f, 5.512659860e-01f, 5.507321601e-01f, 5.501981949e-01f, 5.496640908e-01f, 5.491298483e-01f, 5.485954680e-01f,
+5.480609504e-01f, 5.475262960e-01f, 5.469915053e-01f, 5.464565788e-01f, 5.459215172e-01f, 5.453863207e-01f, 5.448509901e-01f, 5.443155258e-01f, 5.437799283e-01f, 5.432441982e-01f,
+5.427083359e-01f, 5.421723421e-01f, 5.416362171e-01f, 5.410999615e-01f, 5.405635759e-01f, 5.400270607e-01f, 5.394904165e-01f, 5.389536438e-01f, 5.384167432e-01f, 5.378797150e-01f,
+5.373425599e-01f, 5.368052784e-01f, 5.362678709e-01f, 5.357303381e-01f, 5.351926804e-01f, 5.346548983e-01f, 5.341169924e-01f, 5.335789631e-01f, 5.330408111e-01f, 5.325025368e-01f,
+5.319641407e-01f, 5.314256234e-01f, 5.308869854e-01f, 5.303482272e-01f, 5.298093493e-01f, 5.292703522e-01f, 5.287312365e-01f, 5.281920026e-01f, 5.276526512e-01f, 5.271131826e-01f,
+5.265735975e-01f, 5.260338964e-01f, 5.254940797e-01f, 5.249541480e-01f, 5.244141019e-01f, 5.238739417e-01f, 5.233336681e-01f, 5.227932816e-01f, 5.222527827e-01f, 5.217121719e-01f,
+5.211714498e-01f, 5.206306168e-01f, 5.200896734e-01f, 5.195486203e-01f, 5.190074579e-01f, 5.184661867e-01f, 5.179248072e-01f, 5.173833201e-01f, 5.168417257e-01f, 5.163000247e-01f,
+5.157582175e-01f, 5.152163046e-01f, 5.146742867e-01f, 5.141321641e-01f, 5.135899374e-01f, 5.130476072e-01f, 5.125051740e-01f, 5.119626382e-01f, 5.114200004e-01f, 5.108772612e-01f,
+5.103344210e-01f, 5.097914803e-01f, 5.092484398e-01f, 5.087052998e-01f, 5.081620610e-01f, 5.076187238e-01f, 5.070752888e-01f, 5.065317565e-01f, 5.059881274e-01f, 5.054444020e-01f,
+5.049005809e-01f, 5.043566646e-01f, 5.038126535e-01f, 5.032685483e-01f, 5.027243494e-01f, 5.021800573e-01f, 5.016356727e-01f, 5.010911959e-01f, 5.005466275e-01f, 5.000019681e-01f,
+4.994572182e-01f, 4.989123782e-01f, 4.983674488e-01f, 4.978224304e-01f, 4.972773235e-01f, 4.967321287e-01f, 4.961868464e-01f, 4.956414773e-01f, 4.950960219e-01f, 4.945504805e-01f,
+4.940048539e-01f, 4.934591424e-01f, 4.929133467e-01f, 4.923674672e-01f, 4.918215045e-01f, 4.912754590e-01f, 4.907293314e-01f, 4.901831221e-01f, 4.896368316e-01f, 4.890904605e-01f,
+4.885440092e-01f, 4.879974784e-01f, 4.874508685e-01f, 4.869041801e-01f, 4.863574136e-01f, 4.858105697e-01f, 4.852636487e-01f, 4.847166513e-01f, 4.841695779e-01f, 4.836224291e-01f,
+4.830752055e-01f, 4.825279074e-01f, 4.819805355e-01f, 4.814330902e-01f, 4.808855722e-01f, 4.803379818e-01f, 4.797903197e-01f, 4.792425863e-01f, 4.786947822e-01f, 4.781469079e-01f,
+4.775989639e-01f, 4.770509507e-01f, 4.765028689e-01f, 4.759547190e-01f, 4.754065014e-01f, 4.748582168e-01f, 4.743098656e-01f, 4.737614484e-01f, 4.732129656e-01f, 4.726644179e-01f,
+4.721158057e-01f, 4.715671295e-01f, 4.710183899e-01f, 4.704695874e-01f, 4.699207225e-01f, 4.693717957e-01f, 4.688228076e-01f, 4.682737586e-01f, 4.677246493e-01f, 4.671754803e-01f,
+4.666262520e-01f, 4.660769649e-01f, 4.655276196e-01f, 4.649782166e-01f, 4.644287564e-01f, 4.638792396e-01f, 4.633296666e-01f, 4.627800380e-01f, 4.622303543e-01f, 4.616806160e-01f,
+4.611308236e-01f, 4.605809777e-01f, 4.600310788e-01f, 4.594811274e-01f, 4.589311240e-01f, 4.583810692e-01f, 4.578309634e-01f, 4.572808072e-01f, 4.567306011e-01f, 4.561803457e-01f,
+4.556300413e-01f, 4.550796887e-01f, 4.545292882e-01f, 4.539788404e-01f, 4.534283459e-01f, 4.528778051e-01f, 4.523272186e-01f, 4.517765868e-01f, 4.512259104e-01f, 4.506751897e-01f,
+4.501244255e-01f, 4.495736181e-01f, 4.490227680e-01f, 4.484718759e-01f, 4.479209422e-01f, 4.473699674e-01f, 4.468189522e-01f, 4.462678968e-01f, 4.457168020e-01f, 4.451656682e-01f,
+4.446144960e-01f, 4.440632858e-01f, 4.435120382e-01f, 4.429607537e-01f, 4.424094328e-01f, 4.418580760e-01f, 4.413066839e-01f, 4.407552570e-01f, 4.402037958e-01f, 4.396523008e-01f,
+4.391007725e-01f, 4.385492115e-01f, 4.379976182e-01f, 4.374459932e-01f, 4.368943371e-01f, 4.363426502e-01f, 4.357909332e-01f, 4.352391866e-01f, 4.346874108e-01f, 4.341356065e-01f,
+4.335837741e-01f, 4.330319141e-01f, 4.324800270e-01f, 4.319281134e-01f, 4.313761739e-01f, 4.308242088e-01f, 4.302722188e-01f, 4.297202043e-01f, 4.291681658e-01f, 4.286161040e-01f,
+4.280640192e-01f, 4.275119121e-01f, 4.269597831e-01f, 4.264076327e-01f, 4.258554615e-01f, 4.253032700e-01f, 4.247510587e-01f, 4.241988281e-01f, 4.236465788e-01f, 4.230943112e-01f,
+4.225420259e-01f, 4.219897233e-01f, 4.214374041e-01f, 4.208850687e-01f, 4.203327176e-01f, 4.197803514e-01f, 4.192279706e-01f, 4.186755757e-01f, 4.181231671e-01f, 4.175707455e-01f,
+4.170183113e-01f, 4.164658651e-01f, 4.159134073e-01f, 4.153609385e-01f, 4.148084593e-01f, 4.142559700e-01f, 4.137034713e-01f, 4.131509636e-01f, 4.125984475e-01f, 4.120459235e-01f,
+4.114933920e-01f, 4.109408537e-01f, 4.103883090e-01f, 4.098357585e-01f, 4.092832026e-01f, 4.087306418e-01f, 4.081780768e-01f, 4.076255080e-01f, 4.070729358e-01f, 4.065203609e-01f,
+4.059677838e-01f, 4.054152049e-01f, 4.048626248e-01f, 4.043100440e-01f, 4.037574630e-01f, 4.032048823e-01f, 4.026523024e-01f, 4.020997239e-01f, 4.015471472e-01f, 4.009945729e-01f,
+4.004420015e-01f, 3.998894335e-01f, 3.993368694e-01f, 3.987843097e-01f, 3.982317550e-01f, 3.976792057e-01f, 3.971266624e-01f, 3.965741256e-01f, 3.960215958e-01f, 3.954690734e-01f,
+3.949165591e-01f, 3.943640533e-01f, 3.938115566e-01f, 3.932590694e-01f, 3.927065923e-01f, 3.921541257e-01f, 3.916016703e-01f, 3.910492264e-01f, 3.904967947e-01f, 3.899443756e-01f,
+3.893919697e-01f, 3.888395773e-01f, 3.882871992e-01f, 3.877348357e-01f, 3.871824874e-01f, 3.866301548e-01f, 3.860778384e-01f, 3.855255387e-01f, 3.849732563e-01f, 3.844209916e-01f,
+3.838687451e-01f, 3.833165174e-01f, 3.827643090e-01f, 3.822121203e-01f, 3.816599519e-01f, 3.811078044e-01f, 3.805556781e-01f, 3.800035737e-01f, 3.794514916e-01f, 3.788994323e-01f,
+3.783473964e-01f, 3.777953843e-01f, 3.772433966e-01f, 3.766914338e-01f, 3.761394963e-01f, 3.755875848e-01f, 3.750356996e-01f, 3.744838414e-01f, 3.739320106e-01f, 3.733802077e-01f,
+3.728284332e-01f, 3.722766877e-01f, 3.717249716e-01f, 3.711732855e-01f, 3.706216299e-01f, 3.700700052e-01f, 3.695184120e-01f, 3.689668508e-01f, 3.684153221e-01f, 3.678638264e-01f,
+3.673123642e-01f, 3.667609360e-01f, 3.662095423e-01f, 3.656581837e-01f, 3.651068606e-01f, 3.645555735e-01f, 3.640043230e-01f, 3.634531095e-01f, 3.629019336e-01f, 3.623507958e-01f,
+3.617996965e-01f, 3.612486363e-01f, 3.606976157e-01f, 3.601466352e-01f, 3.595956952e-01f, 3.590447964e-01f, 3.584939392e-01f, 3.579431240e-01f, 3.573923515e-01f, 3.568416221e-01f,
+3.562909363e-01f, 3.557402946e-01f, 3.551896975e-01f, 3.546391456e-01f, 3.540886393e-01f, 3.535381791e-01f, 3.529877656e-01f, 3.524373992e-01f, 3.518870805e-01f, 3.513368099e-01f,
+3.507865880e-01f, 3.502364152e-01f, 3.496862920e-01f, 3.491362191e-01f, 3.485861967e-01f, 3.480362256e-01f, 3.474863061e-01f, 3.469364388e-01f, 3.463866241e-01f, 3.458368626e-01f,
+3.452871548e-01f, 3.447375011e-01f, 3.441879021e-01f, 3.436383583e-01f, 3.430888701e-01f, 3.425394382e-01f, 3.419900628e-01f, 3.414407447e-01f, 3.408914842e-01f, 3.403422820e-01f,
+3.397931383e-01f, 3.392440539e-01f, 3.386950291e-01f, 3.381460645e-01f, 3.375971605e-01f, 3.370483177e-01f, 3.364995366e-01f, 3.359508177e-01f, 3.354021614e-01f, 3.348535682e-01f,
+3.343050388e-01f, 3.337565734e-01f, 3.332081728e-01f, 3.326598372e-01f, 3.321115674e-01f, 3.315633636e-01f, 3.310152266e-01f, 3.304671566e-01f, 3.299191543e-01f, 3.293712201e-01f,
+3.288233546e-01f, 3.282755581e-01f, 3.277278313e-01f, 3.271801746e-01f, 3.266325885e-01f, 3.260850735e-01f, 3.255376301e-01f, 3.249902589e-01f, 3.244429602e-01f, 3.238957346e-01f,
+3.233485825e-01f, 3.228015046e-01f, 3.222545012e-01f, 3.217075729e-01f, 3.211607201e-01f, 3.206139434e-01f, 3.200672432e-01f, 3.195206201e-01f, 3.189740744e-01f, 3.184276069e-01f,
+3.178812178e-01f, 3.173349077e-01f, 3.167886772e-01f, 3.162425266e-01f, 3.156964565e-01f, 3.151504674e-01f, 3.146045597e-01f, 3.140587340e-01f, 3.135129908e-01f, 3.129673305e-01f,
+3.124217536e-01f, 3.118762607e-01f, 3.113308522e-01f, 3.107855285e-01f, 3.102402903e-01f, 3.096951380e-01f, 3.091500720e-01f, 3.086050929e-01f, 3.080602011e-01f, 3.075153972e-01f,
+3.069706816e-01f, 3.064260548e-01f, 3.058815174e-01f, 3.053370697e-01f, 3.047927123e-01f, 3.042484457e-01f, 3.037042703e-01f, 3.031601867e-01f, 3.026161953e-01f, 3.020722967e-01f,
+3.015284912e-01f, 3.009847795e-01f, 3.004411619e-01f, 2.998976390e-01f, 2.993542113e-01f, 2.988108792e-01f, 2.982676432e-01f, 2.977245038e-01f, 2.971814615e-01f, 2.966385168e-01f,
+2.960956702e-01f, 2.955529221e-01f, 2.950102731e-01f, 2.944677236e-01f, 2.939252741e-01f, 2.933829251e-01f, 2.928406770e-01f, 2.922985304e-01f, 2.917564857e-01f, 2.912145435e-01f,
+2.906727042e-01f, 2.901309682e-01f, 2.895893362e-01f, 2.890478084e-01f, 2.885063855e-01f, 2.879650680e-01f, 2.874238562e-01f, 2.868827507e-01f, 2.863417520e-01f, 2.858008605e-01f,
+2.852600767e-01f, 2.847194011e-01f, 2.841788342e-01f, 2.836383765e-01f, 2.830980284e-01f, 2.825577905e-01f, 2.820176631e-01f, 2.814776468e-01f, 2.809377421e-01f, 2.803979494e-01f,
+2.798582693e-01f, 2.793187021e-01f, 2.787792484e-01f, 2.782399087e-01f, 2.777006833e-01f, 2.771615729e-01f, 2.766225779e-01f, 2.760836987e-01f, 2.755449359e-01f, 2.750062899e-01f,
+2.744677612e-01f, 2.739293502e-01f, 2.733910575e-01f, 2.728528835e-01f, 2.723148287e-01f, 2.717768936e-01f, 2.712390786e-01f, 2.707013842e-01f, 2.701638109e-01f, 2.696263592e-01f,
+2.690890295e-01f, 2.685518224e-01f, 2.680147382e-01f, 2.674777775e-01f, 2.669409407e-01f, 2.664042284e-01f, 2.658676409e-01f, 2.653311787e-01f, 2.647948424e-01f, 2.642586324e-01f,
+2.637225492e-01f, 2.631865932e-01f, 2.626507649e-01f, 2.621150648e-01f, 2.615794933e-01f, 2.610440510e-01f, 2.605087382e-01f, 2.599735555e-01f, 2.594385034e-01f, 2.589035822e-01f,
+2.583687926e-01f, 2.578341348e-01f, 2.572996095e-01f, 2.567652170e-01f, 2.562309579e-01f, 2.556968326e-01f, 2.551628416e-01f, 2.546289854e-01f, 2.540952643e-01f, 2.535616790e-01f,
+2.530282298e-01f, 2.524949172e-01f, 2.519617417e-01f, 2.514287037e-01f, 2.508958038e-01f, 2.503630424e-01f, 2.498304198e-01f, 2.492979367e-01f, 2.487655935e-01f, 2.482333906e-01f,
+2.477013286e-01f, 2.471694078e-01f, 2.466376287e-01f, 2.461059918e-01f, 2.455744976e-01f, 2.450431465e-01f, 2.445119390e-01f, 2.439808755e-01f, 2.434499566e-01f, 2.429191826e-01f,
+2.423885541e-01f, 2.418580714e-01f, 2.413277351e-01f, 2.407975457e-01f, 2.402675035e-01f, 2.397376090e-01f, 2.392078628e-01f, 2.386782652e-01f, 2.381488167e-01f, 2.376195178e-01f,
+2.370903690e-01f, 2.365613706e-01f, 2.360325232e-01f, 2.355038272e-01f, 2.349752831e-01f, 2.344468913e-01f, 2.339186523e-01f, 2.333905666e-01f, 2.328626345e-01f, 2.323348566e-01f,
+2.318072333e-01f, 2.312797651e-01f, 2.307524524e-01f, 2.302252958e-01f, 2.296982955e-01f, 2.291714521e-01f, 2.286447661e-01f, 2.281182379e-01f, 2.275918679e-01f, 2.270656567e-01f,
+2.265396046e-01f, 2.260137121e-01f, 2.254879797e-01f, 2.249624079e-01f, 2.244369970e-01f, 2.239117475e-01f, 2.233866599e-01f, 2.228617347e-01f, 2.223369722e-01f, 2.218123730e-01f,
+2.212879375e-01f, 2.207636661e-01f, 2.202395593e-01f, 2.197156175e-01f, 2.191918412e-01f, 2.186682309e-01f, 2.181447870e-01f, 2.176215098e-01f, 2.170984000e-01f, 2.165754579e-01f,
+2.160526840e-01f, 2.155300787e-01f, 2.150076425e-01f, 2.144853759e-01f, 2.139632792e-01f, 2.134413529e-01f, 2.129195975e-01f, 2.123980134e-01f, 2.118766010e-01f, 2.113553609e-01f,
+2.108342934e-01f, 2.103133990e-01f, 2.097926782e-01f, 2.092721313e-01f, 2.087517588e-01f, 2.082315613e-01f, 2.077115390e-01f, 2.071916925e-01f, 2.066720222e-01f, 2.061525286e-01f,
+2.056332120e-01f, 2.051140730e-01f, 2.045951119e-01f, 2.040763293e-01f, 2.035577255e-01f, 2.030393010e-01f, 2.025210562e-01f, 2.020029917e-01f, 2.014851077e-01f, 2.009674048e-01f,
+2.004498834e-01f, 1.999325439e-01f, 1.994153868e-01f, 1.988984125e-01f, 1.983816214e-01f, 1.978650141e-01f, 1.973485909e-01f, 1.968323522e-01f, 1.963162985e-01f, 1.958004303e-01f,
+1.952847480e-01f, 1.947692519e-01f, 1.942539426e-01f, 1.937388205e-01f, 1.932238860e-01f, 1.927091396e-01f, 1.921945816e-01f, 1.916802126e-01f, 1.911660329e-01f, 1.906520431e-01f,
+1.901382434e-01f, 1.896246344e-01f, 1.891112165e-01f, 1.885979901e-01f, 1.880849557e-01f, 1.875721136e-01f, 1.870594644e-01f, 1.865470084e-01f, 1.860347461e-01f, 1.855226779e-01f,
+1.850108042e-01f, 1.844991255e-01f, 1.839876422e-01f, 1.834763548e-01f, 1.829652636e-01f, 1.824543691e-01f, 1.819436717e-01f, 1.814331719e-01f, 1.809228700e-01f, 1.804127665e-01f,
+1.799028619e-01f, 1.793931565e-01f, 1.788836508e-01f, 1.783743452e-01f, 1.778652401e-01f, 1.773563360e-01f, 1.768476332e-01f, 1.763391323e-01f, 1.758308336e-01f, 1.753227376e-01f,
+1.748148447e-01f, 1.743071552e-01f, 1.737996697e-01f, 1.732923886e-01f, 1.727853122e-01f, 1.722784410e-01f, 1.717717754e-01f, 1.712653159e-01f, 1.707590628e-01f, 1.702530167e-01f,
+1.697471778e-01f, 1.692415466e-01f, 1.687361236e-01f, 1.682309092e-01f, 1.677259038e-01f, 1.672211077e-01f, 1.667165215e-01f, 1.662121455e-01f, 1.657079802e-01f, 1.652040259e-01f,
+1.647002832e-01f, 1.641967523e-01f, 1.636934338e-01f, 1.631903281e-01f, 1.626874354e-01f, 1.621847564e-01f, 1.616822914e-01f, 1.611800408e-01f, 1.606780050e-01f, 1.601761844e-01f,
+1.596745795e-01f, 1.591731906e-01f, 1.586720183e-01f, 1.581710628e-01f, 1.576703246e-01f, 1.571698042e-01f, 1.566695019e-01f, 1.561694181e-01f, 1.556695532e-01f, 1.551699078e-01f,
+1.546704821e-01f, 1.541712766e-01f, 1.536722917e-01f, 1.531735278e-01f, 1.526749853e-01f, 1.521766647e-01f, 1.516785662e-01f, 1.511806904e-01f, 1.506830377e-01f, 1.501856084e-01f,
+1.496884030e-01f, 1.491914219e-01f, 1.486946654e-01f, 1.481981341e-01f, 1.477018282e-01f, 1.472057482e-01f, 1.467098945e-01f, 1.462142675e-01f, 1.457188677e-01f, 1.452236953e-01f,
+1.447287509e-01f, 1.442340348e-01f, 1.437395474e-01f, 1.432452892e-01f, 1.427512604e-01f, 1.422574617e-01f, 1.417638932e-01f, 1.412705555e-01f, 1.407774490e-01f, 1.402845739e-01f,
+1.397919308e-01f, 1.392995201e-01f, 1.388073421e-01f, 1.383153972e-01f, 1.378236859e-01f, 1.373322085e-01f, 1.368409655e-01f, 1.363499572e-01f, 1.358591840e-01f, 1.353686463e-01f,
+1.348783446e-01f, 1.343882792e-01f, 1.338984505e-01f, 1.334088589e-01f, 1.329195049e-01f, 1.324303887e-01f, 1.319415109e-01f, 1.314528717e-01f, 1.309644716e-01f, 1.304763110e-01f,
+1.299883903e-01f, 1.295007099e-01f, 1.290132701e-01f, 1.285260714e-01f, 1.280391141e-01f, 1.275523986e-01f, 1.270659254e-01f, 1.265796948e-01f, 1.260937072e-01f, 1.256079630e-01f,
+1.251224626e-01f, 1.246372064e-01f, 1.241521947e-01f, 1.236674280e-01f, 1.231829067e-01f, 1.226986310e-01f, 1.222146015e-01f, 1.217308185e-01f, 1.212472824e-01f, 1.207639936e-01f,
+1.202809524e-01f, 1.197981593e-01f, 1.193156147e-01f, 1.188333188e-01f, 1.183512722e-01f, 1.178694751e-01f, 1.173879280e-01f, 1.169066313e-01f, 1.164255854e-01f, 1.159447905e-01f,
+1.154642472e-01f, 1.149839557e-01f, 1.145039165e-01f, 1.140241300e-01f, 1.135445965e-01f, 1.130653164e-01f, 1.125862901e-01f, 1.121075179e-01f, 1.116290004e-01f, 1.111507377e-01f,
+1.106727304e-01f, 1.101949787e-01f, 1.097174832e-01f, 1.092402440e-01f, 1.087632617e-01f, 1.082865366e-01f, 1.078100690e-01f, 1.073338594e-01f, 1.068579081e-01f, 1.063822156e-01f,
+1.059067821e-01f, 1.054316080e-01f, 1.049566938e-01f, 1.044820397e-01f, 1.040076463e-01f, 1.035335138e-01f, 1.030596425e-01f, 1.025860330e-01f, 1.021126856e-01f, 1.016396005e-01f,
+1.011667783e-01f, 1.006942193e-01f, 1.002219237e-01f, 9.974989215e-02f, 9.927812483e-02f, 9.880662216e-02f, 9.833538451e-02f, 9.786441225e-02f, 9.739370575e-02f, 9.692326537e-02f,
+9.645309148e-02f, 9.598318444e-02f, 9.551354463e-02f, 9.504417241e-02f, 9.457506815e-02f, 9.410623220e-02f, 9.363766494e-02f, 9.316936673e-02f, 9.270133793e-02f, 9.223357891e-02f,
+9.176609003e-02f, 9.129887166e-02f, 9.083192415e-02f, 9.036524786e-02f, 8.989884317e-02f, 8.943271042e-02f, 8.896684999e-02f, 8.850126223e-02f, 8.803594750e-02f, 8.757090617e-02f,
+8.710613858e-02f, 8.664164511e-02f, 8.617742610e-02f, 8.571348192e-02f, 8.524981292e-02f, 8.478641947e-02f, 8.432330191e-02f, 8.386046061e-02f, 8.339789592e-02f, 8.293560819e-02f,
+8.247359779e-02f, 8.201186507e-02f, 8.155041037e-02f, 8.108923407e-02f, 8.062833650e-02f, 8.016771802e-02f, 7.970737899e-02f, 7.924731976e-02f, 7.878754068e-02f, 7.832804210e-02f,
+7.786882438e-02f, 7.740988785e-02f, 7.695123289e-02f, 7.649285983e-02f, 7.603476902e-02f, 7.557696082e-02f, 7.511943556e-02f, 7.466219362e-02f, 7.420523532e-02f, 7.374856101e-02f,
+7.329217105e-02f, 7.283606579e-02f, 7.238024556e-02f, 7.192471071e-02f, 7.146946159e-02f, 7.101449855e-02f, 7.055982192e-02f, 7.010543206e-02f, 6.965132931e-02f, 6.919751401e-02f,
+6.874398651e-02f, 6.829074714e-02f, 6.783779625e-02f, 6.738513418e-02f, 6.693276128e-02f, 6.648067787e-02f, 6.602888432e-02f, 6.557738095e-02f, 6.512616811e-02f, 6.467524613e-02f,
+6.422461535e-02f, 6.377427612e-02f, 6.332422876e-02f, 6.287447363e-02f, 6.242501105e-02f, 6.197584137e-02f, 6.152696491e-02f, 6.107838202e-02f, 6.063009303e-02f, 6.018209828e-02f,
+5.973439810e-02f, 5.928699283e-02f, 5.883988279e-02f, 5.839306833e-02f, 5.794654978e-02f, 5.750032747e-02f, 5.705440173e-02f, 5.660877290e-02f, 5.616344130e-02f, 5.571840727e-02f,
+5.527367114e-02f, 5.482923323e-02f, 5.438509389e-02f, 5.394125343e-02f, 5.349771219e-02f, 5.305447049e-02f, 5.261152867e-02f, 5.216888705e-02f, 5.172654596e-02f, 5.128450572e-02f,
+5.084276667e-02f, 5.040132912e-02f, 4.996019341e-02f, 4.951935986e-02f, 4.907882879e-02f, 4.863860054e-02f, 4.819867541e-02f, 4.775905374e-02f, 4.731973585e-02f, 4.688072206e-02f,
+4.644201270e-02f, 4.600360808e-02f, 4.556550853e-02f, 4.512771437e-02f, 4.469022592e-02f, 4.425304350e-02f, 4.381616743e-02f, 4.337959802e-02f, 4.294333561e-02f, 4.250738049e-02f,
+4.207173301e-02f, 4.163639346e-02f, 4.120136217e-02f, 4.076663946e-02f, 4.033222564e-02f, 3.989812103e-02f, 3.946432594e-02f, 3.903084069e-02f, 3.859766558e-02f, 3.816480095e-02f,
+3.773224710e-02f, 3.730000434e-02f, 3.686807298e-02f, 3.643645335e-02f, 3.600514574e-02f, 3.557415048e-02f, 3.514346787e-02f, 3.471309823e-02f, 3.428304186e-02f, 3.385329907e-02f,
+3.342387018e-02f, 3.299475549e-02f, 3.256595531e-02f, 3.213746995e-02f, 3.170929971e-02f, 3.128144491e-02f, 3.085390585e-02f, 3.042668284e-02f, 2.999977618e-02f, 2.957318618e-02f,
+2.914691314e-02f, 2.872095737e-02f, 2.829531916e-02f, 2.786999884e-02f, 2.744499669e-02f, 2.702031303e-02f, 2.659594815e-02f, 2.617190235e-02f, 2.574817595e-02f, 2.532476923e-02f,
+2.490168249e-02f, 2.447891605e-02f, 2.405647020e-02f, 2.363434523e-02f, 2.321254146e-02f, 2.279105916e-02f, 2.236989865e-02f, 2.194906023e-02f, 2.152854417e-02f, 2.110835080e-02f,
+2.068848039e-02f, 2.026893325e-02f, 1.984970967e-02f, 1.943080995e-02f, 1.901223438e-02f, 1.859398325e-02f, 1.817605686e-02f, 1.775845551e-02f, 1.734117947e-02f, 1.692422906e-02f,
+1.650760455e-02f, 1.609130624e-02f, 1.567533442e-02f, 1.525968938e-02f, 1.484437141e-02f, 1.442938080e-02f, 1.401471784e-02f, 1.360038282e-02f, 1.318637602e-02f, 1.277269773e-02f,
+1.235934825e-02f, 1.194632785e-02f, 1.153363683e-02f, 1.112127546e-02f, 1.070924405e-02f, 1.029754286e-02f, 9.886172181e-03f, 9.475132304e-03f, 9.064423510e-03f, 8.654046081e-03f,
+8.244000300e-03f, 7.834286450e-03f, 7.424904811e-03f, 7.015855667e-03f, 6.607139296e-03f, 6.198755981e-03f, 5.790706001e-03f, 5.382989635e-03f, 4.975607163e-03f, 4.568558863e-03f,
+4.161845013e-03f, 3.755465892e-03f, 3.349421777e-03f, 2.943712943e-03f, 2.538339669e-03f, 2.133302229e-03f, 1.728600899e-03f, 1.324235955e-03f, 9.202076702e-04f, 5.165163192e-04f,
+1.131621758e-04f, -2.898544871e-04f, -6.925333965e-04f, -1.094874280e-03f, -1.496876867e-03f, -1.898540884e-03f, -2.299866062e-03f, -2.700852130e-03f, -3.101498817e-03f, -3.501805855e-03f,
+-3.901772975e-03f, -4.301399907e-03f, -4.700686383e-03f, -5.099632136e-03f, -5.498236900e-03f, -5.896500405e-03f, -6.294422388e-03f, -6.692002581e-03f, -7.089240720e-03f, -7.486136539e-03f,
+-7.882689775e-03f, -8.278900162e-03f, -8.674767438e-03f, -9.070291339e-03f, -9.465471603e-03f, -9.860307968e-03f, -1.025480017e-02f, -1.064894795e-02f, -1.104275105e-02f, -1.143620921e-02f,
+-1.182932216e-02f, -1.222208965e-02f, -1.261451142e-02f, -1.300658721e-02f, -1.339831676e-02f, -1.378969982e-02f, -1.418073612e-02f, -1.457142542e-02f, -1.496176745e-02f, -1.535176196e-02f,
+-1.574140869e-02f, -1.613070739e-02f, -1.651965781e-02f, -1.690825969e-02f, -1.729651278e-02f, -1.768441683e-02f, -1.807197158e-02f, -1.845917678e-02f, -1.884603217e-02f, -1.923253752e-02f,
+-1.961869257e-02f, -2.000449706e-02f, -2.038995076e-02f, -2.077505340e-02f, -2.115980474e-02f, -2.154420454e-02f, -2.192825254e-02f, -2.231194850e-02f, -2.269529218e-02f, -2.307828331e-02f,
+-2.346092167e-02f, -2.384320700e-02f, -2.422513906e-02f, -2.460671760e-02f, -2.498794239e-02f, -2.536881317e-02f, -2.574932971e-02f, -2.612949175e-02f, -2.650929907e-02f, -2.688875142e-02f,
+-2.726784855e-02f, -2.764659023e-02f, -2.802497622e-02f, -2.840300628e-02f, -2.878068016e-02f, -2.915799763e-02f, -2.953495845e-02f, -2.991156238e-02f, -3.028780919e-02f, -3.066369864e-02f,
+-3.103923050e-02f, -3.141440451e-02f, -3.178922046e-02f, -3.216367811e-02f, -3.253777722e-02f, -3.291151756e-02f, -3.328489889e-02f, -3.365792098e-02f, -3.403058360e-02f, -3.440288652e-02f,
+-3.477482951e-02f, -3.514641232e-02f, -3.551763475e-02f, -3.588849654e-02f, -3.625899748e-02f, -3.662913734e-02f, -3.699891588e-02f, -3.736833287e-02f, -3.773738810e-02f, -3.810608133e-02f,
+-3.847441234e-02f, -3.884238089e-02f, -3.920998677e-02f, -3.957722975e-02f, -3.994410960e-02f, -4.031062611e-02f, -4.067677903e-02f, -4.104256816e-02f, -4.140799327e-02f, -4.177305413e-02f,
+-4.213775053e-02f, -4.250208224e-02f, -4.286604904e-02f, -4.322965071e-02f, -4.359288703e-02f, -4.395575779e-02f, -4.431826276e-02f, -4.468040172e-02f, -4.504217446e-02f, -4.540358075e-02f,
+-4.576462039e-02f, -4.612529315e-02f, -4.648559882e-02f, -4.684553718e-02f, -4.720510801e-02f, -4.756431111e-02f, -4.792314626e-02f, -4.828161324e-02f, -4.863971184e-02f, -4.899744185e-02f,
+-4.935480305e-02f, -4.971179524e-02f, -5.006841820e-02f, -5.042467172e-02f, -5.078055559e-02f, -5.113606961e-02f, -5.149121355e-02f, -5.184598722e-02f, -5.220039040e-02f, -5.255442289e-02f,
+-5.290808447e-02f, -5.326137495e-02f, -5.361429411e-02f, -5.396684175e-02f, -5.431901767e-02f, -5.467082165e-02f, -5.502225350e-02f, -5.537331300e-02f, -5.572399996e-02f, -5.607431418e-02f,
+-5.642425544e-02f, -5.677382356e-02f, -5.712301832e-02f, -5.747183952e-02f, -5.782028697e-02f, -5.816836046e-02f, -5.851605980e-02f, -5.886338479e-02f, -5.921033522e-02f, -5.955691089e-02f,
+-5.990311162e-02f, -6.024893720e-02f, -6.059438744e-02f, -6.093946214e-02f, -6.128416111e-02f, -6.162848414e-02f, -6.197243105e-02f, -6.231600163e-02f, -6.265919570e-02f, -6.300201307e-02f,
+-6.334445354e-02f, -6.368651691e-02f, -6.402820300e-02f, -6.436951161e-02f, -6.471044255e-02f, -6.505099564e-02f, -6.539117068e-02f, -6.573096749e-02f, -6.607038587e-02f, -6.640942563e-02f,
+-6.674808660e-02f, -6.708636857e-02f, -6.742427137e-02f, -6.776179481e-02f, -6.809893869e-02f, -6.843570284e-02f, -6.877208708e-02f, -6.910809121e-02f, -6.944371505e-02f, -6.977895842e-02f,
+-7.011382113e-02f, -7.044830301e-02f, -7.078240387e-02f, -7.111612353e-02f, -7.144946180e-02f, -7.178241852e-02f, -7.211499349e-02f, -7.244718654e-02f, -7.277899749e-02f, -7.311042616e-02f,
+-7.344147237e-02f, -7.377213594e-02f, -7.410241671e-02f, -7.443231448e-02f, -7.476182909e-02f, -7.509096036e-02f, -7.541970811e-02f, -7.574807217e-02f, -7.607605237e-02f, -7.640364853e-02f,
+-7.673086048e-02f, -7.705768804e-02f, -7.738413104e-02f, -7.771018932e-02f, -7.803586270e-02f, -7.836115101e-02f, -7.868605407e-02f, -7.901057173e-02f, -7.933470381e-02f, -7.965845014e-02f,
+-7.998181056e-02f, -8.030478489e-02f, -8.062737297e-02f, -8.094957463e-02f, -8.127138971e-02f, -8.159281804e-02f, -8.191385945e-02f, -8.223451379e-02f, -8.255478088e-02f, -8.287466056e-02f,
+-8.319415267e-02f, -8.351325705e-02f, -8.383197354e-02f, -8.415030196e-02f, -8.446824217e-02f, -8.478579399e-02f, -8.510295728e-02f, -8.541973187e-02f, -8.573611760e-02f, -8.605211431e-02f,
+-8.636772185e-02f, -8.668294005e-02f, -8.699776876e-02f, -8.731220782e-02f, -8.762625708e-02f, -8.793991638e-02f, -8.825318557e-02f, -8.856606448e-02f, -8.887855297e-02f, -8.919065089e-02f,
+-8.950235807e-02f, -8.981367437e-02f, -9.012459963e-02f, -9.043513370e-02f, -9.074527644e-02f, -9.105502769e-02f, -9.136438729e-02f, -9.167335511e-02f, -9.198193098e-02f, -9.229011477e-02f,
+-9.259790632e-02f, -9.290530549e-02f, -9.321231213e-02f, -9.351892608e-02f, -9.382514722e-02f, -9.413097538e-02f, -9.443641043e-02f, -9.474145222e-02f, -9.504610060e-02f, -9.535035544e-02f,
+-9.565421658e-02f, -9.595768389e-02f, -9.626075722e-02f, -9.656343643e-02f, -9.686572139e-02f, -9.716761194e-02f, -9.746910795e-02f, -9.777020929e-02f, -9.807091580e-02f, -9.837122735e-02f,
+-9.867114381e-02f, -9.897066503e-02f, -9.926979088e-02f, -9.956852123e-02f, -9.986685592e-02f, -1.001647948e-01f, -1.004623378e-01f, -1.007594848e-01f, -1.010562356e-01f, -1.013525900e-01f,
+-1.016485480e-01f, -1.019441094e-01f, -1.022392741e-01f, -1.025340419e-01f, -1.028284128e-01f, -1.031223866e-01f, -1.034159631e-01f, -1.037091422e-01f, -1.040019239e-01f, -1.042943079e-01f,
+-1.045862941e-01f, -1.048778825e-01f, -1.051690729e-01f, -1.054598651e-01f, -1.057502590e-01f, -1.060402546e-01f, -1.063298517e-01f, -1.066190501e-01f, -1.069078497e-01f, -1.071962505e-01f,
+-1.074842522e-01f, -1.077718548e-01f, -1.080590582e-01f, -1.083458622e-01f, -1.086322667e-01f, -1.089182715e-01f, -1.092038766e-01f, -1.094890819e-01f, -1.097738872e-01f, -1.100582924e-01f,
+-1.103422973e-01f, -1.106259020e-01f, -1.109091062e-01f, -1.111919098e-01f, -1.114743127e-01f, -1.117563149e-01f, -1.120379161e-01f, -1.123191163e-01f, -1.125999153e-01f, -1.128803131e-01f,
+-1.131603095e-01f, -1.134399045e-01f, -1.137190978e-01f, -1.139978895e-01f, -1.142762793e-01f, -1.145542672e-01f, -1.148318531e-01f, -1.151090368e-01f, -1.153858182e-01f, -1.156621973e-01f,
+-1.159381739e-01f, -1.162137480e-01f, -1.164889193e-01f, -1.167636879e-01f, -1.170380535e-01f, -1.173120162e-01f, -1.175855757e-01f, -1.178587320e-01f, -1.181314850e-01f, -1.184038346e-01f,
+-1.186757807e-01f, -1.189473231e-01f, -1.192184618e-01f, -1.194891966e-01f, -1.197595276e-01f, -1.200294545e-01f, -1.202989772e-01f, -1.205680958e-01f, -1.208368100e-01f, -1.211051197e-01f,
+-1.213730249e-01f, -1.216405256e-01f, -1.219076214e-01f, -1.221743125e-01f, -1.224405987e-01f, -1.227064798e-01f, -1.229719558e-01f, -1.232370267e-01f, -1.235016922e-01f, -1.237659523e-01f,
+-1.240298070e-01f, -1.242932561e-01f, -1.245562995e-01f, -1.248189372e-01f, -1.250811690e-01f, -1.253429949e-01f, -1.256044148e-01f, -1.258654285e-01f, -1.261260360e-01f, -1.263862373e-01f,
+-1.266460321e-01f, -1.269054205e-01f, -1.271644023e-01f, -1.274229775e-01f, -1.276811460e-01f, -1.279389076e-01f, -1.281962624e-01f, -1.284532101e-01f, -1.287097508e-01f, -1.289658843e-01f,
+-1.292216106e-01f, -1.294769296e-01f, -1.297318412e-01f, -1.299863453e-01f, -1.302404419e-01f, -1.304941308e-01f, -1.307474120e-01f, -1.310002854e-01f, -1.312527509e-01f, -1.315048084e-01f,
+-1.317564579e-01f, -1.320076993e-01f, -1.322585326e-01f, -1.325089575e-01f, -1.327589741e-01f, -1.330085823e-01f, -1.332577820e-01f, -1.335065732e-01f, -1.337549557e-01f, -1.340029294e-01f,
+-1.342504944e-01f, -1.344976506e-01f, -1.347443978e-01f, -1.349907360e-01f, -1.352366652e-01f, -1.354821852e-01f, -1.357272960e-01f, -1.359719975e-01f, -1.362162896e-01f, -1.364601724e-01f,
+-1.367036456e-01f, -1.369467093e-01f, -1.371893634e-01f, -1.374316078e-01f, -1.376734425e-01f, -1.379148673e-01f, -1.381558823e-01f, -1.383964873e-01f, -1.386366823e-01f, -1.388764672e-01f,
+-1.391158420e-01f, -1.393548066e-01f, -1.395933610e-01f, -1.398315050e-01f, -1.400692386e-01f, -1.403065618e-01f, -1.405434745e-01f, -1.407799767e-01f, -1.410160682e-01f, -1.412517490e-01f,
+-1.414870192e-01f, -1.417218785e-01f, -1.419563270e-01f, -1.421903645e-01f, -1.424239912e-01f, -1.426572068e-01f, -1.428900113e-01f, -1.431224047e-01f, -1.433543869e-01f, -1.435859579e-01f,
+-1.438171177e-01f, -1.440478661e-01f, -1.442782031e-01f, -1.445081286e-01f, -1.447376427e-01f, -1.449667453e-01f, -1.451954362e-01f, -1.454237155e-01f, -1.456515832e-01f, -1.458790391e-01f,
+-1.461060832e-01f, -1.463327155e-01f, -1.465589359e-01f, -1.467847444e-01f, -1.470101409e-01f, -1.472351255e-01f, -1.474596979e-01f, -1.476838583e-01f, -1.479076065e-01f, -1.481309426e-01f,
+-1.483538664e-01f, -1.485763779e-01f, -1.487984772e-01f, -1.490201640e-01f, -1.492414385e-01f, -1.494623006e-01f, -1.496827501e-01f, -1.499027872e-01f, -1.501224117e-01f, -1.503416236e-01f,
+-1.505604229e-01f, -1.507788096e-01f, -1.509967835e-01f, -1.512143447e-01f, -1.514314931e-01f, -1.516482288e-01f, -1.518645516e-01f, -1.520804615e-01f, -1.522959585e-01f, -1.525110425e-01f,
+-1.527257136e-01f, -1.529399717e-01f, -1.531538167e-01f, -1.533672487e-01f, -1.535802676e-01f, -1.537928733e-01f, -1.540050659e-01f, -1.542168453e-01f, -1.544282115e-01f, -1.546391644e-01f,
+-1.548497041e-01f, -1.550598304e-01f, -1.552695435e-01f, -1.554788432e-01f, -1.556877295e-01f, -1.558962024e-01f, -1.561042619e-01f, -1.563119079e-01f, -1.565191405e-01f, -1.567259596e-01f,
+-1.569323651e-01f, -1.571383571e-01f, -1.573439356e-01f, -1.575491004e-01f, -1.577538517e-01f, -1.579581893e-01f, -1.581621133e-01f, -1.583656237e-01f, -1.585687203e-01f, -1.587714033e-01f,
+-1.589736725e-01f, -1.591755280e-01f, -1.593769697e-01f, -1.595779977e-01f, -1.597786119e-01f, -1.599788123e-01f, -1.601785989e-01f, -1.603779717e-01f, -1.605769306e-01f, -1.607754757e-01f,
+-1.609736069e-01f, -1.611713242e-01f, -1.613686277e-01f, -1.615655172e-01f, -1.617619929e-01f, -1.619580546e-01f, -1.621537024e-01f, -1.623489362e-01f, -1.625437561e-01f, -1.627381621e-01f,
+-1.629321541e-01f, -1.631257321e-01f, -1.633188962e-01f, -1.635116462e-01f, -1.637039823e-01f, -1.638959044e-01f, -1.640874124e-01f, -1.642785065e-01f, -1.644691866e-01f, -1.646594527e-01f,
+-1.648493047e-01f, -1.650387428e-01f, -1.652277668e-01f, -1.654163768e-01f, -1.656045728e-01f, -1.657923548e-01f, -1.659797228e-01f, -1.661666767e-01f, -1.663532167e-01f, -1.665393426e-01f,
+-1.667250545e-01f, -1.669103524e-01f, -1.670952363e-01f, -1.672797062e-01f, -1.674637622e-01f, -1.676474041e-01f, -1.678306320e-01f, -1.680134460e-01f, -1.681958460e-01f, -1.683778320e-01f,
+-1.685594040e-01f, -1.687405621e-01f, -1.689213063e-01f, -1.691016365e-01f, -1.692815528e-01f, -1.694610552e-01f, -1.696401437e-01f, -1.698188183e-01f, -1.699970790e-01f, -1.701749259e-01f,
+-1.703523588e-01f, -1.705293780e-01f, -1.707059833e-01f, -1.708821748e-01f, -1.710579524e-01f, -1.712333163e-01f, -1.714082664e-01f, -1.715828028e-01f, -1.717569254e-01f, -1.719306343e-01f,
+-1.721039295e-01f, -1.722768109e-01f, -1.724492787e-01f, -1.726213329e-01f, -1.727929734e-01f, -1.729642003e-01f, -1.731350136e-01f, -1.733054133e-01f, -1.734753995e-01f, -1.736449721e-01f,
+-1.738141313e-01f, -1.739828769e-01f, -1.741512091e-01f, -1.743191278e-01f, -1.744866331e-01f, -1.746537250e-01f, -1.748204036e-01f, -1.749866688e-01f, -1.751525207e-01f, -1.753179592e-01f,
+-1.754829846e-01f, -1.756475967e-01f, -1.758117955e-01f, -1.759755813e-01f, -1.761389538e-01f, -1.763019132e-01f, -1.764644596e-01f, -1.766265928e-01f, -1.767883131e-01f, -1.769496203e-01f,
+-1.771105146e-01f, -1.772709959e-01f, -1.774310644e-01f, -1.775907199e-01f, -1.777499627e-01f, -1.779087926e-01f, -1.780672097e-01f, -1.782252142e-01f, -1.783828059e-01f, -1.785399850e-01f,
+-1.786967514e-01f, -1.788531053e-01f, -1.790090466e-01f, -1.791645754e-01f, -1.793196917e-01f, -1.794743956e-01f, -1.796286871e-01f, -1.797825663e-01f, -1.799360331e-01f, -1.800890876e-01f,
+-1.802417300e-01f, -1.803939601e-01f, -1.805457781e-01f, -1.806971840e-01f, -1.808481778e-01f, -1.809987597e-01f, -1.811489295e-01f, -1.812986874e-01f, -1.814480335e-01f, -1.815969677e-01f,
+-1.817454901e-01f, -1.818936007e-01f, -1.820412997e-01f, -1.821885870e-01f, -1.823354628e-01f, -1.824819269e-01f, -1.826279796e-01f, -1.827736208e-01f, -1.829188507e-01f, -1.830636691e-01f,
+-1.832080763e-01f, -1.833520722e-01f, -1.834956570e-01f, -1.836388305e-01f, -1.837815930e-01f, -1.839239445e-01f, -1.840658850e-01f, -1.842074145e-01f, -1.843485332e-01f, -1.844892410e-01f,
+-1.846295381e-01f, -1.847694245e-01f, -1.849089002e-01f, -1.850479654e-01f, -1.851866200e-01f, -1.853248641e-01f, -1.854626979e-01f, -1.856001212e-01f, -1.857371343e-01f, -1.858737371e-01f,
+-1.860099298e-01f, -1.861457123e-01f, -1.862810848e-01f, -1.864160473e-01f, -1.865505998e-01f, -1.866847425e-01f, -1.868184754e-01f, -1.869517985e-01f, -1.870847120e-01f, -1.872172159e-01f,
+-1.873493102e-01f, -1.874809951e-01f, -1.876122705e-01f, -1.877431366e-01f, -1.878735934e-01f, -1.880036410e-01f, -1.881332794e-01f, -1.882625088e-01f, -1.883913292e-01f, -1.885197407e-01f,
+-1.886477433e-01f, -1.887753371e-01f, -1.889025221e-01f, -1.890292985e-01f, -1.891556664e-01f, -1.892816257e-01f, -1.894071766e-01f, -1.895323192e-01f, -1.896570534e-01f, -1.897813795e-01f,
+-1.899052974e-01f, -1.900288073e-01f, -1.901519091e-01f, -1.902746031e-01f, -1.903968892e-01f, -1.905187676e-01f, -1.906402383e-01f, -1.907613014e-01f, -1.908819570e-01f, -1.910022051e-01f,
+-1.911220459e-01f, -1.912414794e-01f, -1.913605057e-01f, -1.914791248e-01f, -1.915973370e-01f, -1.917151422e-01f, -1.918325405e-01f, -1.919495320e-01f, -1.920661168e-01f, -1.921822950e-01f,
+-1.922980666e-01f, -1.924134318e-01f, -1.925283906e-01f, -1.926429431e-01f, -1.927570895e-01f, -1.928708297e-01f, -1.929841639e-01f, -1.930970922e-01f, -1.932096146e-01f, -1.933217312e-01f,
+-1.934334422e-01f, -1.935447476e-01f, -1.936556475e-01f, -1.937661420e-01f, -1.938762312e-01f, -1.939859152e-01f, -1.940951940e-01f, -1.942040678e-01f, -1.943125367e-01f, -1.944206007e-01f,
+-1.945282599e-01f, -1.946355145e-01f, -1.947423645e-01f, -1.948488101e-01f, -1.949548513e-01f, -1.950604881e-01f, -1.951657208e-01f, -1.952705494e-01f, -1.953749741e-01f, -1.954789948e-01f,
+-1.955826117e-01f, -1.956858249e-01f, -1.957886345e-01f, -1.958910407e-01f, -1.959930434e-01f, -1.960946428e-01f, -1.961958390e-01f, -1.962966322e-01f, -1.963970223e-01f, -1.964970096e-01f,
+-1.965965940e-01f, -1.966957758e-01f, -1.967945549e-01f, -1.968929316e-01f, -1.969909060e-01f, -1.970884780e-01f, -1.971856479e-01f, -1.972824158e-01f, -1.973787816e-01f, -1.974747457e-01f,
+-1.975703080e-01f, -1.976654686e-01f, -1.977602278e-01f, -1.978545855e-01f, -1.979485419e-01f, -1.980420972e-01f, -1.981352513e-01f, -1.982280045e-01f, -1.983203568e-01f, -1.984123083e-01f,
+-1.985038592e-01f, -1.985950096e-01f, -1.986857596e-01f, -1.987761093e-01f, -1.988660587e-01f, -1.989556081e-01f, -1.990447576e-01f, -1.991335072e-01f, -1.992218570e-01f, -1.993098073e-01f,
+-1.993973581e-01f, -1.994845094e-01f, -1.995712615e-01f, -1.996576145e-01f, -1.997435684e-01f, -1.998291235e-01f, -1.999142797e-01f, -1.999990373e-01f, -2.000833963e-01f, -2.001673569e-01f,
+-2.002509191e-01f, -2.003340832e-01f, -2.004168492e-01f, -2.004992173e-01f, -2.005811875e-01f, -2.006627601e-01f, -2.007439351e-01f, -2.008247126e-01f, -2.009050928e-01f, -2.009850758e-01f,
+-2.010646617e-01f, -2.011438506e-01f, -2.012226428e-01f, -2.013010382e-01f, -2.013790371e-01f, -2.014566395e-01f, -2.015338456e-01f, -2.016106555e-01f, -2.016870694e-01f, -2.017630873e-01f,
+-2.018387094e-01f, -2.019139358e-01f, -2.019887668e-01f, -2.020632023e-01f, -2.021372425e-01f, -2.022108876e-01f, -2.022841376e-01f, -2.023569928e-01f, -2.024294532e-01f, -2.025015191e-01f,
+-2.025731904e-01f, -2.026444674e-01f, -2.027153502e-01f, -2.027858389e-01f, -2.028559337e-01f, -2.029256346e-01f, -2.029949419e-01f, -2.030638557e-01f, -2.031323761e-01f, -2.032005032e-01f,
+-2.032682372e-01f, -2.033355783e-01f, -2.034025265e-01f, -2.034690820e-01f, -2.035352449e-01f, -2.036010154e-01f, -2.036663937e-01f, -2.037313798e-01f, -2.037959739e-01f, -2.038601762e-01f,
+-2.039239868e-01f, -2.039874058e-01f, -2.040504334e-01f, -2.041130697e-01f, -2.041753149e-01f, -2.042371691e-01f, -2.042986324e-01f, -2.043597051e-01f, -2.044203872e-01f, -2.044806789e-01f,
+-2.045405803e-01f, -2.046000917e-01f, -2.046592131e-01f, -2.047179446e-01f, -2.047762866e-01f, -2.048342390e-01f, -2.048918020e-01f, -2.049489758e-01f, -2.050057606e-01f, -2.050621564e-01f,
+-2.051181635e-01f, -2.051737820e-01f, -2.052290120e-01f, -2.052838537e-01f, -2.053383073e-01f, -2.053923729e-01f, -2.054460506e-01f, -2.054993406e-01f, -2.055522432e-01f, -2.056047583e-01f,
+-2.056568862e-01f, -2.057086270e-01f, -2.057599810e-01f, -2.058109481e-01f, -2.058615287e-01f, -2.059117229e-01f, -2.059615307e-01f, -2.060109525e-01f, -2.060599882e-01f, -2.061086382e-01f,
+-2.061569025e-01f, -2.062047814e-01f, -2.062522749e-01f, -2.062993833e-01f, -2.063461066e-01f, -2.063924452e-01f, -2.064383990e-01f, -2.064839684e-01f, -2.065291534e-01f, -2.065739542e-01f,
+-2.066183710e-01f, -2.066624039e-01f, -2.067060531e-01f, -2.067493188e-01f, -2.067922012e-01f, -2.068347004e-01f, -2.068768165e-01f, -2.069185498e-01f, -2.069599003e-01f, -2.070008684e-01f,
+-2.070414541e-01f, -2.070816576e-01f, -2.071214791e-01f, -2.071609187e-01f, -2.071999767e-01f, -2.072386531e-01f, -2.072769482e-01f, -2.073148621e-01f, -2.073523951e-01f, -2.073895472e-01f,
+-2.074263187e-01f, -2.074627096e-01f, -2.074987203e-01f, -2.075343509e-01f, -2.075696014e-01f, -2.076044723e-01f, -2.076389634e-01f, -2.076730752e-01f, -2.077068077e-01f, -2.077401611e-01f,
+-2.077731356e-01f, -2.078057314e-01f, -2.078379487e-01f, -2.078697875e-01f, -2.079012482e-01f, -2.079323308e-01f, -2.079630356e-01f, -2.079933628e-01f, -2.080233124e-01f, -2.080528848e-01f,
+-2.080820801e-01f, -2.081108984e-01f, -2.081393399e-01f, -2.081674049e-01f, -2.081950935e-01f, -2.082224059e-01f, -2.082493422e-01f, -2.082759027e-01f, -2.083020876e-01f, -2.083278970e-01f,
+-2.083533310e-01f, -2.083783900e-01f, -2.084030741e-01f, -2.084273834e-01f, -2.084513182e-01f, -2.084748786e-01f, -2.084980648e-01f, -2.085208771e-01f, -2.085433155e-01f, -2.085653804e-01f,
+-2.085870718e-01f, -2.086083899e-01f, -2.086293351e-01f, -2.086499074e-01f, -2.086701070e-01f, -2.086899341e-01f, -2.087093890e-01f, -2.087284717e-01f, -2.087471826e-01f, -2.087655218e-01f,
+-2.087834894e-01f, -2.088010857e-01f, -2.088183109e-01f, -2.088351652e-01f, -2.088516487e-01f, -2.088677616e-01f, -2.088835042e-01f, -2.088988767e-01f, -2.089138792e-01f, -2.089285119e-01f,
+-2.089427751e-01f, -2.089566689e-01f, -2.089701935e-01f, -2.089833491e-01f, -2.089961360e-01f, -2.090085543e-01f, -2.090206042e-01f, -2.090322859e-01f, -2.090435996e-01f, -2.090545456e-01f,
+-2.090651239e-01f, -2.090753349e-01f, -2.090851787e-01f, -2.090946556e-01f, -2.091037656e-01f, -2.091125091e-01f, -2.091208862e-01f, -2.091288971e-01f, -2.091365421e-01f, -2.091438213e-01f,
+-2.091507350e-01f, -2.091572833e-01f, -2.091634664e-01f, -2.091692846e-01f, -2.091747381e-01f, -2.091798271e-01f, -2.091845517e-01f, -2.091889122e-01f, -2.091929088e-01f, -2.091965417e-01f,
+-2.091998111e-01f, -2.092027172e-01f, -2.092052602e-01f, -2.092074404e-01f, -2.092092579e-01f, -2.092107130e-01f, -2.092118058e-01f, -2.092125366e-01f, -2.092129056e-01f, -2.092129130e-01f,
+-2.092125589e-01f, -2.092118438e-01f, -2.092107676e-01f, -2.092093307e-01f, -2.092075332e-01f, -2.092053754e-01f, -2.092028575e-01f, -2.091999797e-01f, -2.091967423e-01f, -2.091931453e-01f,
+-2.091891891e-01f, -2.091848739e-01f, -2.091801998e-01f, -2.091751672e-01f, -2.091697761e-01f, -2.091640269e-01f, -2.091579197e-01f, -2.091514548e-01f, -2.091446324e-01f, -2.091374527e-01f,
+-2.091299159e-01f, -2.091220222e-01f, -2.091137719e-01f, -2.091051652e-01f, -2.090962023e-01f, -2.090868834e-01f, -2.090772088e-01f, -2.090671787e-01f, -2.090567932e-01f, -2.090460526e-01f,
+-2.090349572e-01f, -2.090235072e-01f, -2.090117027e-01f, -2.089995440e-01f, -2.089870314e-01f, -2.089741650e-01f, -2.089609451e-01f, -2.089473719e-01f, -2.089334457e-01f, -2.089191666e-01f,
+-2.089045348e-01f, -2.088895507e-01f, -2.088742145e-01f, -2.088585263e-01f, -2.088424864e-01f, -2.088260951e-01f, -2.088093524e-01f, -2.087922588e-01f, -2.087748144e-01f, -2.087570194e-01f,
+-2.087388741e-01f, -2.087203787e-01f, -2.087015335e-01f, -2.086823386e-01f, -2.086627943e-01f, -2.086429008e-01f, -2.086226584e-01f, -2.086020673e-01f, -2.085811277e-01f, -2.085598398e-01f,
+-2.085382040e-01f, -2.085162204e-01f, -2.084938892e-01f, -2.084712108e-01f, -2.084481853e-01f, -2.084248129e-01f, -2.084010940e-01f, -2.083770287e-01f, -2.083526173e-01f, -2.083278600e-01f,
+-2.083027570e-01f, -2.082773086e-01f, -2.082515151e-01f, -2.082253766e-01f, -2.081988935e-01f, -2.081720658e-01f, -2.081448940e-01f, -2.081173782e-01f, -2.080895186e-01f, -2.080613156e-01f,
+-2.080327692e-01f, -2.080038799e-01f, -2.079746478e-01f, -2.079450732e-01f, -2.079151563e-01f, -2.078848973e-01f, -2.078542965e-01f, -2.078233542e-01f, -2.077920705e-01f, -2.077604458e-01f,
+-2.077284802e-01f, -2.076961741e-01f, -2.076635276e-01f, -2.076305410e-01f, -2.075972146e-01f, -2.075635486e-01f, -2.075295432e-01f, -2.074951987e-01f, -2.074605154e-01f, -2.074254934e-01f,
+-2.073901330e-01f, -2.073544346e-01f, -2.073183982e-01f, -2.072820243e-01f, -2.072453129e-01f, -2.072082645e-01f, -2.071708791e-01f, -2.071331572e-01f, -2.070950988e-01f, -2.070567044e-01f,
+-2.070179741e-01f, -2.069789081e-01f, -2.069395068e-01f, -2.068997703e-01f, -2.068596990e-01f, -2.068192931e-01f, -2.067785528e-01f, -2.067374784e-01f, -2.066960701e-01f, -2.066543283e-01f,
+-2.066122531e-01f, -2.065698448e-01f, -2.065271037e-01f, -2.064840300e-01f, -2.064406240e-01f, -2.063968859e-01f, -2.063528159e-01f, -2.063084145e-01f, -2.062636817e-01f, -2.062186179e-01f,
+-2.061732233e-01f, -2.061274982e-01f, -2.060814428e-01f, -2.060350574e-01f, -2.059883422e-01f, -2.059412976e-01f, -2.058939237e-01f, -2.058462209e-01f, -2.057981893e-01f, -2.057498293e-01f,
+-2.057011411e-01f, -2.056521250e-01f, -2.056027812e-01f, -2.055531100e-01f, -2.055031116e-01f, -2.054527864e-01f, -2.054021345e-01f, -2.053511563e-01f, -2.052998520e-01f, -2.052482219e-01f,
+-2.051962662e-01f, -2.051439852e-01f, -2.050913791e-01f, -2.050384483e-01f, -2.049851930e-01f, -2.049316135e-01f, -2.048777099e-01f, -2.048234827e-01f, -2.047689320e-01f, -2.047140582e-01f,
+-2.046588614e-01f, -2.046033420e-01f, -2.045475002e-01f, -2.044913363e-01f, -2.044348506e-01f, -2.043780433e-01f, -2.043209147e-01f, -2.042634651e-01f, -2.042056947e-01f, -2.041476039e-01f,
+-2.040891928e-01f, -2.040304618e-01f, -2.039714111e-01f, -2.039120409e-01f, -2.038523517e-01f, -2.037923436e-01f, -2.037320169e-01f, -2.036713718e-01f, -2.036104088e-01f, -2.035491279e-01f,
+-2.034875296e-01f, -2.034256140e-01f, -2.033633815e-01f, -2.033008323e-01f, -2.032379666e-01f, -2.031747849e-01f, -2.031112873e-01f, -2.030474741e-01f, -2.029833457e-01f, -2.029189022e-01f,
+-2.028541439e-01f, -2.027890712e-01f, -2.027236843e-01f, -2.026579834e-01f, -2.025919689e-01f, -2.025256411e-01f, -2.024590002e-01f, -2.023920464e-01f, -2.023247802e-01f, -2.022572016e-01f,
+-2.021893111e-01f, -2.021211090e-01f, -2.020525954e-01f, -2.019837706e-01f, -2.019146351e-01f, -2.018451889e-01f, -2.017754325e-01f, -2.017053660e-01f, -2.016349899e-01f, -2.015643043e-01f,
+-2.014933095e-01f, -2.014220058e-01f, -2.013503936e-01f, -2.012784730e-01f, -2.012062444e-01f, -2.011337081e-01f, -2.010608643e-01f, -2.009877133e-01f, -2.009142555e-01f, -2.008404910e-01f,
+-2.007664202e-01f, -2.006920433e-01f, -2.006173608e-01f, -2.005423727e-01f, -2.004670795e-01f, -2.003914813e-01f, -2.003155786e-01f, -2.002393715e-01f, -2.001628605e-01f, -2.000860456e-01f,
+-2.000089273e-01f, -1.999315059e-01f, -1.998537815e-01f, -1.997757546e-01f, -1.996974254e-01f, -1.996187941e-01f, -1.995398612e-01f, -1.994606268e-01f, -1.993810912e-01f, -1.993012548e-01f,
+-1.992211179e-01f, -1.991406807e-01f, -1.990599434e-01f, -1.989789066e-01f, -1.988975703e-01f, -1.988159349e-01f, -1.987340007e-01f, -1.986517680e-01f, -1.985692370e-01f, -1.984864081e-01f,
+-1.984032816e-01f, -1.983198577e-01f, -1.982361368e-01f, -1.981521192e-01f, -1.980678050e-01f, -1.979831947e-01f, -1.978982886e-01f, -1.978130868e-01f, -1.977275898e-01f, -1.976417978e-01f,
+-1.975557111e-01f, -1.974693300e-01f, -1.973826548e-01f, -1.972956858e-01f, -1.972084233e-01f, -1.971208676e-01f, -1.970330190e-01f, -1.969448778e-01f, -1.968564443e-01f, -1.967677187e-01f,
+-1.966787015e-01f, -1.965893928e-01f, -1.964997931e-01f, -1.964099025e-01f, -1.963197214e-01f, -1.962292501e-01f, -1.961384889e-01f, -1.960474380e-01f, -1.959560979e-01f, -1.958644687e-01f,
+-1.957725508e-01f, -1.956803446e-01f, -1.955878502e-01f, -1.954950680e-01f, -1.954019983e-01f, -1.953086414e-01f, -1.952149976e-01f, -1.951210673e-01f, -1.950268506e-01f, -1.949323480e-01f,
+-1.948375596e-01f, -1.947424859e-01f, -1.946471272e-01f, -1.945514836e-01f, -1.944555556e-01f, -1.943593435e-01f, -1.942628475e-01f, -1.941660679e-01f, -1.940690051e-01f, -1.939716594e-01f,
+-1.938740310e-01f, -1.937761204e-01f, -1.936779277e-01f, -1.935794533e-01f, -1.934806975e-01f, -1.933816606e-01f, -1.932823430e-01f, -1.931827449e-01f, -1.930828666e-01f, -1.929827084e-01f,
+-1.928822707e-01f, -1.927815538e-01f, -1.926805579e-01f, -1.925792834e-01f, -1.924777307e-01f, -1.923758999e-01f, -1.922737914e-01f, -1.921714055e-01f, -1.920687426e-01f, -1.919658029e-01f,
+-1.918625868e-01f, -1.917590946e-01f, -1.916553265e-01f, -1.915512829e-01f, -1.914469642e-01f, -1.913423705e-01f, -1.912375023e-01f, -1.911323598e-01f, -1.910269434e-01f, -1.909212533e-01f,
+-1.908152899e-01f, -1.907090536e-01f, -1.906025445e-01f, -1.904957631e-01f, -1.903887096e-01f, -1.902813844e-01f, -1.901737877e-01f, -1.900659199e-01f, -1.899577813e-01f, -1.898493723e-01f,
+-1.897406931e-01f, -1.896317440e-01f, -1.895225254e-01f, -1.894130376e-01f, -1.893032809e-01f, -1.891932556e-01f, -1.890829620e-01f, -1.889724005e-01f, -1.888615714e-01f, -1.887504750e-01f,
+-1.886391115e-01f, -1.885274814e-01f, -1.884155850e-01f, -1.883034225e-01f, -1.881909943e-01f, -1.880783007e-01f, -1.879653420e-01f, -1.878521186e-01f, -1.877386307e-01f, -1.876248788e-01f,
+-1.875108630e-01f, -1.873965837e-01f, -1.872820413e-01f, -1.871672361e-01f, -1.870521684e-01f, -1.869368384e-01f, -1.868212466e-01f, -1.867053933e-01f, -1.865892787e-01f, -1.864729033e-01f,
+-1.863562673e-01f, -1.862393710e-01f, -1.861222147e-01f, -1.860047989e-01f, -1.858871238e-01f, -1.857691898e-01f, -1.856509971e-01f, -1.855325461e-01f, -1.854138371e-01f, -1.852948704e-01f,
+-1.851756464e-01f, -1.850561654e-01f, -1.849364277e-01f, -1.848164337e-01f, -1.846961836e-01f, -1.845756778e-01f, -1.844549167e-01f, -1.843339005e-01f, -1.842126295e-01f, -1.840911042e-01f,
+-1.839693247e-01f, -1.838472916e-01f, -1.837250050e-01f, -1.836024653e-01f, -1.834796728e-01f, -1.833566280e-01f, -1.832333310e-01f, -1.831097822e-01f, -1.829859820e-01f, -1.828619306e-01f,
+-1.827376285e-01f, -1.826130759e-01f, -1.824882732e-01f, -1.823632206e-01f, -1.822379186e-01f, -1.821123675e-01f, -1.819865675e-01f, -1.818605190e-01f, -1.817342224e-01f, -1.816076780e-01f,
+-1.814808861e-01f, -1.813538470e-01f, -1.812265611e-01f, -1.810990287e-01f, -1.809712501e-01f, -1.808432257e-01f, -1.807149558e-01f, -1.805864408e-01f, -1.804576809e-01f, -1.803286765e-01f,
+-1.801994279e-01f, -1.800699355e-01f, -1.799401996e-01f, -1.798102205e-01f, -1.796799986e-01f, -1.795495342e-01f, -1.794188276e-01f, -1.792878792e-01f, -1.791566892e-01f, -1.790252582e-01f,
+-1.788935862e-01f, -1.787616738e-01f, -1.786295213e-01f, -1.784971289e-01f, -1.783644970e-01f, -1.782316260e-01f, -1.780985162e-01f, -1.779651679e-01f, -1.778315814e-01f, -1.776977571e-01f,
+-1.775636954e-01f, -1.774293965e-01f, -1.772948609e-01f, -1.771600887e-01f, -1.770250805e-01f, -1.768898365e-01f, -1.767543570e-01f, -1.766186424e-01f, -1.764826931e-01f, -1.763465093e-01f,
+-1.762100914e-01f, -1.760734398e-01f, -1.759365547e-01f, -1.757994366e-01f, -1.756620858e-01f, -1.755245025e-01f, -1.753866872e-01f, -1.752486402e-01f, -1.751103618e-01f, -1.749718524e-01f,
+-1.748331122e-01f, -1.746941417e-01f, -1.745549412e-01f, -1.744155110e-01f, -1.742758515e-01f, -1.741359630e-01f, -1.739958458e-01f, -1.738555003e-01f, -1.737149269e-01f, -1.735741258e-01f,
+-1.734330975e-01f, -1.732918422e-01f, -1.731503603e-01f, -1.730086521e-01f, -1.728667180e-01f, -1.727245584e-01f, -1.725821735e-01f, -1.724395637e-01f, -1.722967294e-01f, -1.721536709e-01f,
+-1.720103885e-01f, -1.718668826e-01f, -1.717231536e-01f, -1.715792017e-01f, -1.714350273e-01f, -1.712906308e-01f, -1.711460125e-01f, -1.710011728e-01f, -1.708561120e-01f, -1.707108304e-01f,
+-1.705653284e-01f, -1.704196063e-01f, -1.702736645e-01f, -1.701275033e-01f, -1.699811231e-01f, -1.698345242e-01f, -1.696877070e-01f, -1.695406718e-01f, -1.693934189e-01f, -1.692459488e-01f,
+-1.690982617e-01f, -1.689503579e-01f, -1.688022380e-01f, -1.686539021e-01f, -1.685053506e-01f, -1.683565840e-01f, -1.682076024e-01f, -1.680584064e-01f, -1.679089961e-01f, -1.677593721e-01f,
+-1.676095346e-01f, -1.674594839e-01f, -1.673092205e-01f, -1.671587446e-01f, -1.670080567e-01f, -1.668571570e-01f, -1.667060459e-01f, -1.665547238e-01f, -1.664031910e-01f, -1.662514479e-01f,
+-1.660994948e-01f, -1.659473320e-01f, -1.657949600e-01f, -1.656423790e-01f, -1.654895895e-01f, -1.653365917e-01f, -1.651833860e-01f, -1.650299728e-01f, -1.648763524e-01f, -1.647225251e-01f,
+-1.645684914e-01f, -1.644142516e-01f, -1.642598059e-01f, -1.641051549e-01f, -1.639502987e-01f, -1.637952379e-01f, -1.636399726e-01f, -1.634845034e-01f, -1.633288305e-01f, -1.631729542e-01f,
+-1.630168750e-01f, -1.628605932e-01f, -1.627041091e-01f, -1.625474231e-01f, -1.623905356e-01f, -1.622334468e-01f, -1.620761573e-01f, -1.619186672e-01f, -1.617609769e-01f, -1.616030869e-01f,
+-1.614449975e-01f, -1.612867089e-01f, -1.611282217e-01f, -1.609695361e-01f, -1.608106524e-01f, -1.606515711e-01f, -1.604922925e-01f, -1.603328169e-01f, -1.601731447e-01f, -1.600132763e-01f,
+-1.598532120e-01f, -1.596929521e-01f, -1.595324971e-01f, -1.593718472e-01f, -1.592110029e-01f, -1.590499645e-01f, -1.588887323e-01f, -1.587273066e-01f, -1.585656880e-01f, -1.584038766e-01f,
+-1.582418730e-01f, -1.580796773e-01f, -1.579172900e-01f, -1.577547115e-01f, -1.575919420e-01f, -1.574289820e-01f, -1.572658318e-01f, -1.571024917e-01f, -1.569389622e-01f, -1.567752435e-01f,
+-1.566113361e-01f, -1.564472402e-01f, -1.562829563e-01f, -1.561184847e-01f, -1.559538258e-01f, -1.557889799e-01f, -1.556239473e-01f, -1.554587285e-01f, -1.552933238e-01f, -1.551277336e-01f,
+-1.549619581e-01f, -1.547959978e-01f, -1.546298531e-01f, -1.544635242e-01f, -1.542970115e-01f, -1.541303155e-01f, -1.539634364e-01f, -1.537963747e-01f, -1.536291306e-01f, -1.534617046e-01f,
+-1.532940969e-01f, -1.531263081e-01f, -1.529583383e-01f, -1.527901880e-01f, -1.526218575e-01f, -1.524533473e-01f, -1.522846576e-01f, -1.521157888e-01f, -1.519467413e-01f, -1.517775154e-01f,
+-1.516081115e-01f, -1.514385300e-01f, -1.512687711e-01f, -1.510988354e-01f, -1.509287231e-01f, -1.507584346e-01f, -1.505879703e-01f, -1.504173304e-01f, -1.502465155e-01f, -1.500755258e-01f,
+-1.499043617e-01f, -1.497330236e-01f, -1.495615118e-01f, -1.493898266e-01f, -1.492179686e-01f, -1.490459379e-01f, -1.488737350e-01f, -1.487013603e-01f, -1.485288140e-01f, -1.483560966e-01f,
+-1.481832084e-01f, -1.480101498e-01f, -1.478369212e-01f, -1.476635228e-01f, -1.474899552e-01f, -1.473162185e-01f, -1.471423133e-01f, -1.469682398e-01f, -1.467939984e-01f, -1.466195895e-01f,
+-1.464450135e-01f, -1.462702706e-01f, -1.460953614e-01f, -1.459202860e-01f, -1.457450450e-01f, -1.455696386e-01f, -1.453940673e-01f, -1.452183313e-01f, -1.450424311e-01f, -1.448663670e-01f,
+-1.446901394e-01f, -1.445137486e-01f, -1.443371950e-01f, -1.441604790e-01f, -1.439836010e-01f, -1.438065612e-01f, -1.436293601e-01f, -1.434519980e-01f, -1.432744753e-01f, -1.430967924e-01f,
+-1.429189496e-01f, -1.427409473e-01f, -1.425627858e-01f, -1.423844655e-01f, -1.422059868e-01f, -1.420273501e-01f, -1.418485556e-01f, -1.416696038e-01f, -1.414904951e-01f, -1.413112298e-01f,
+-1.411318082e-01f, -1.409522308e-01f, -1.407724978e-01f, -1.405926098e-01f, -1.404125669e-01f, -1.402323697e-01f, -1.400520184e-01f, -1.398715134e-01f, -1.396908551e-01f, -1.395100439e-01f,
+-1.393290801e-01f, -1.391479640e-01f, -1.389666962e-01f, -1.387852768e-01f, -1.386037064e-01f, -1.384219851e-01f, -1.382401135e-01f, -1.380580919e-01f, -1.378759206e-01f, -1.376936001e-01f,
+-1.375111306e-01f, -1.373285126e-01f, -1.371457464e-01f, -1.369628323e-01f, -1.367797708e-01f, -1.365965623e-01f, -1.364132070e-01f, -1.362297053e-01f, -1.360460577e-01f, -1.358622644e-01f,
+-1.356783259e-01f, -1.354942425e-01f, -1.353100146e-01f, -1.351256425e-01f, -1.349411266e-01f, -1.347564673e-01f, -1.345716650e-01f, -1.343867200e-01f, -1.342016327e-01f, -1.340164034e-01f,
+-1.338310325e-01f, -1.336455204e-01f, -1.334598675e-01f, -1.332740740e-01f, -1.330881405e-01f, -1.329020672e-01f, -1.327158546e-01f, -1.325295029e-01f, -1.323430126e-01f, -1.321563840e-01f,
+-1.319696175e-01f, -1.317827134e-01f, -1.315956722e-01f, -1.314084942e-01f, -1.312211797e-01f, -1.310337291e-01f, -1.308461429e-01f, -1.306584213e-01f, -1.304705648e-01f, -1.302825736e-01f,
+-1.300944483e-01f, -1.299061890e-01f, -1.297177963e-01f, -1.295292704e-01f, -1.293406118e-01f, -1.291518208e-01f, -1.289628978e-01f, -1.287738431e-01f, -1.285846571e-01f, -1.283953403e-01f,
+-1.282058928e-01f, -1.280163152e-01f, -1.278266078e-01f, -1.276367709e-01f, -1.274468050e-01f, -1.272567103e-01f, -1.270664873e-01f, -1.268761363e-01f, -1.266856578e-01f, -1.264950520e-01f,
+-1.263043193e-01f, -1.261134601e-01f, -1.259224749e-01f, -1.257313638e-01f, -1.255401274e-01f, -1.253487659e-01f, -1.251572798e-01f, -1.249656694e-01f, -1.247739351e-01f, -1.245820772e-01f,
+-1.243900962e-01f, -1.241979924e-01f, -1.240057661e-01f, -1.238134177e-01f, -1.236209477e-01f, -1.234283563e-01f, -1.232356439e-01f, -1.230428110e-01f, -1.228498578e-01f, -1.226567847e-01f,
+-1.224635922e-01f, -1.222702806e-01f, -1.220768502e-01f, -1.218833014e-01f, -1.216896346e-01f, -1.214958502e-01f, -1.213019485e-01f, -1.211079298e-01f, -1.209137947e-01f, -1.207195434e-01f,
+-1.205251762e-01f, -1.203306937e-01f, -1.201360961e-01f, -1.199413838e-01f, -1.197465572e-01f, -1.195516166e-01f, -1.193565624e-01f, -1.191613950e-01f, -1.189661148e-01f, -1.187707221e-01f,
+-1.185752173e-01f, -1.183796007e-01f, -1.181838728e-01f, -1.179880339e-01f, -1.177920844e-01f, -1.175960245e-01f, -1.173998548e-01f, -1.172035756e-01f, -1.170071872e-01f, -1.168106900e-01f,
+-1.166140845e-01f, -1.164173708e-01f, -1.162205495e-01f, -1.160236209e-01f, -1.158265853e-01f, -1.156294432e-01f, -1.154321948e-01f, -1.152348407e-01f, -1.150373810e-01f, -1.148398163e-01f,
+-1.146421468e-01f, -1.144443730e-01f, -1.142464952e-01f, -1.140485138e-01f, -1.138504291e-01f, -1.136522416e-01f, -1.134539515e-01f, -1.132555593e-01f, -1.130570653e-01f, -1.128584700e-01f,
+-1.126597735e-01f, -1.124609765e-01f, -1.122620791e-01f, -1.120630818e-01f, -1.118639849e-01f, -1.116647888e-01f, -1.114654940e-01f, -1.112661006e-01f, -1.110666092e-01f, -1.108670201e-01f,
+-1.106673336e-01f, -1.104675501e-01f, -1.102676701e-01f, -1.100676937e-01f, -1.098676216e-01f, -1.096674539e-01f, -1.094671911e-01f, -1.092668335e-01f, -1.090663815e-01f, -1.088658355e-01f,
+-1.086651958e-01f, -1.084644629e-01f, -1.082636370e-01f, -1.080627186e-01f, -1.078617080e-01f, -1.076606055e-01f, -1.074594117e-01f, -1.072581267e-01f, -1.070567510e-01f, -1.068552850e-01f,
+-1.066537291e-01f, -1.064520835e-01f, -1.062503486e-01f, -1.060485249e-01f, -1.058466128e-01f, -1.056446124e-01f, -1.054425243e-01f, -1.052403489e-01f, -1.050380863e-01f, -1.048357372e-01f,
+-1.046333017e-01f, -1.044307803e-01f, -1.042281734e-01f, -1.040254812e-01f, -1.038227043e-01f, -1.036198429e-01f, -1.034168974e-01f, -1.032138682e-01f, -1.030107557e-01f, -1.028075601e-01f,
+-1.026042820e-01f, -1.024009216e-01f, -1.021974794e-01f, -1.019939556e-01f, -1.017903507e-01f, -1.015866650e-01f, -1.013828989e-01f, -1.011790528e-01f, -1.009751270e-01f, -1.007711219e-01f,
+-1.005670379e-01f, -1.003628753e-01f, -1.001586345e-01f, -9.995431581e-02f, -9.974991970e-02f, -9.954544649e-02f, -9.934089655e-02f, -9.913627025e-02f, -9.893156794e-02f, -9.872679000e-02f,
+-9.852193680e-02f, -9.831700870e-02f, -9.811200607e-02f, -9.790692927e-02f, -9.770177868e-02f, -9.749655465e-02f, -9.729125757e-02f, -9.708588778e-02f, -9.688044566e-02f, -9.667493158e-02f,
+-9.646934590e-02f, -9.626368899e-02f, -9.605796122e-02f, -9.585216294e-02f, -9.564629454e-02f, -9.544035636e-02f, -9.523434879e-02f, -9.502827218e-02f, -9.482212690e-02f, -9.461591333e-02f,
+-9.440963181e-02f, -9.420328273e-02f, -9.399686644e-02f, -9.379038331e-02f, -9.358383371e-02f, -9.337721800e-02f, -9.317053654e-02f, -9.296378972e-02f, -9.275697788e-02f, -9.255010139e-02f,
+-9.234316063e-02f, -9.213615595e-02f, -9.192908772e-02f, -9.172195630e-02f, -9.151476207e-02f, -9.130750538e-02f, -9.110018660e-02f, -9.089280610e-02f, -9.068536424e-02f, -9.047786138e-02f,
+-9.027029789e-02f, -9.006267414e-02f, -8.985499049e-02f, -8.964724729e-02f, -8.943944493e-02f, -8.923158376e-02f, -8.902366414e-02f, -8.881568645e-02f, -8.860765104e-02f, -8.839955828e-02f,
+-8.819140853e-02f, -8.798320216e-02f, -8.777493953e-02f, -8.756662100e-02f, -8.735824695e-02f, -8.714981772e-02f, -8.694133369e-02f, -8.673279522e-02f, -8.652420267e-02f, -8.631555641e-02f,
+-8.610685680e-02f, -8.589810419e-02f, -8.568929897e-02f, -8.548044148e-02f, -8.527153210e-02f, -8.506257117e-02f, -8.485355908e-02f, -8.464449618e-02f, -8.443538282e-02f, -8.422621939e-02f,
+-8.401700623e-02f, -8.380774371e-02f, -8.359843219e-02f, -8.338907204e-02f, -8.317966362e-02f, -8.297020728e-02f, -8.276070340e-02f, -8.255115233e-02f, -8.234155443e-02f, -8.213191007e-02f,
+-8.192221961e-02f, -8.171248341e-02f, -8.150270183e-02f, -8.129287523e-02f, -8.108300398e-02f, -8.087308843e-02f, -8.066312895e-02f, -8.045312590e-02f, -8.024307963e-02f, -8.003299052e-02f,
+-7.982285891e-02f, -7.961268518e-02f, -7.940246968e-02f, -7.919221277e-02f, -7.898191481e-02f, -7.877157617e-02f, -7.856119719e-02f, -7.835077826e-02f, -7.814031971e-02f, -7.792982192e-02f,
+-7.771928525e-02f, -7.750871004e-02f, -7.729809667e-02f, -7.708744549e-02f, -7.687675687e-02f, -7.666603115e-02f, -7.645526871e-02f, -7.624446990e-02f, -7.603363507e-02f, -7.582276459e-02f,
+-7.561185882e-02f, -7.540091812e-02f, -7.518994284e-02f, -7.497893334e-02f, -7.476788999e-02f, -7.455681314e-02f, -7.434570314e-02f, -7.413456036e-02f, -7.392338516e-02f, -7.371217788e-02f,
+-7.350093890e-02f, -7.328966857e-02f, -7.307836724e-02f, -7.286703528e-02f, -7.265567304e-02f, -7.244428088e-02f, -7.223285915e-02f, -7.202140822e-02f, -7.180992843e-02f, -7.159842015e-02f,
+-7.138688374e-02f, -7.117531955e-02f, -7.096372794e-02f, -7.075210925e-02f, -7.054046386e-02f, -7.032879212e-02f, -7.011709438e-02f, -6.990537099e-02f, -6.969362233e-02f, -6.948184873e-02f,
+-6.927005056e-02f, -6.905822817e-02f, -6.884638192e-02f, -6.863451216e-02f, -6.842261925e-02f, -6.821070354e-02f, -6.799876539e-02f, -6.778680516e-02f, -6.757482319e-02f, -6.736281984e-02f,
+-6.715079548e-02f, -6.693875044e-02f, -6.672668509e-02f, -6.651459978e-02f, -6.630249487e-02f, -6.609037070e-02f, -6.587822764e-02f, -6.566606603e-02f, -6.545388624e-02f, -6.524168860e-02f,
+-6.502947349e-02f, -6.481724124e-02f, -6.460499221e-02f, -6.439272677e-02f, -6.418044525e-02f, -6.396814801e-02f, -6.375583541e-02f, -6.354350779e-02f, -6.333116552e-02f, -6.311880893e-02f,
+-6.290643839e-02f, -6.269405424e-02f, -6.248165685e-02f, -6.226924655e-02f, -6.205682370e-02f, -6.184438866e-02f, -6.163194177e-02f, -6.141948338e-02f, -6.120701385e-02f, -6.099453353e-02f,
+-6.078204277e-02f, -6.056954191e-02f, -6.035703132e-02f, -6.014451133e-02f, -5.993198231e-02f, -5.971944459e-02f, -5.950689854e-02f, -5.929434449e-02f, -5.908178281e-02f, -5.886921383e-02f,
+-5.865663792e-02f, -5.844405541e-02f, -5.823146667e-02f, -5.801887203e-02f, -5.780627184e-02f, -5.759366646e-02f, -5.738105624e-02f, -5.716844151e-02f, -5.695582264e-02f, -5.674319996e-02f,
+-5.653057384e-02f, -5.631794460e-02f, -5.610531261e-02f, -5.589267822e-02f, -5.568004176e-02f, -5.546740358e-02f, -5.525476404e-02f, -5.504212348e-02f, -5.482948224e-02f, -5.461684068e-02f,
+-5.440419914e-02f, -5.419155797e-02f, -5.397891751e-02f, -5.376627811e-02f, -5.355364011e-02f, -5.334100387e-02f, -5.312836973e-02f, -5.291573803e-02f, -5.270310912e-02f, -5.249048334e-02f,
+-5.227786104e-02f, -5.206524257e-02f, -5.185262827e-02f, -5.164001848e-02f, -5.142741356e-02f, -5.121481383e-02f, -5.100221966e-02f, -5.078963137e-02f, -5.057704932e-02f, -5.036447386e-02f,
+-5.015190532e-02f, -4.993934404e-02f, -4.972679038e-02f, -4.951424467e-02f, -4.930170725e-02f, -4.908917848e-02f, -4.887665869e-02f, -4.866414823e-02f, -4.845164744e-02f, -4.823915665e-02f,
+-4.802667622e-02f, -4.781420649e-02f, -4.760174779e-02f, -4.738930047e-02f, -4.717686487e-02f, -4.696444133e-02f, -4.675203019e-02f, -4.653963180e-02f, -4.632724649e-02f, -4.611487461e-02f,
+-4.590251650e-02f, -4.569017249e-02f, -4.547784293e-02f, -4.526552815e-02f, -4.505322850e-02f, -4.484094432e-02f, -4.462867594e-02f, -4.441642371e-02f, -4.420418797e-02f, -4.399196905e-02f,
+-4.377976729e-02f, -4.356758303e-02f, -4.335541662e-02f, -4.314326838e-02f, -4.293113866e-02f, -4.271902780e-02f, -4.250693612e-02f, -4.229486398e-02f, -4.208281171e-02f, -4.187077965e-02f,
+-4.165876812e-02f, -4.144677748e-02f, -4.123480806e-02f, -4.102286019e-02f, -4.081093421e-02f, -4.059903045e-02f, -4.038714926e-02f, -4.017529097e-02f, -3.996345592e-02f, -3.975164444e-02f,
+-3.953985686e-02f, -3.932809352e-02f, -3.911635477e-02f, -3.890464092e-02f, -3.869295232e-02f, -3.848128930e-02f, -3.826965220e-02f, -3.805804135e-02f, -3.784645709e-02f, -3.763489974e-02f,
+-3.742336964e-02f, -3.721186713e-02f, -3.700039254e-02f, -3.678894621e-02f, -3.657752846e-02f, -3.636613962e-02f, -3.615478004e-02f, -3.594345004e-02f, -3.573214996e-02f, -3.552088013e-02f,
+-3.530964088e-02f, -3.509843254e-02f, -3.488725544e-02f, -3.467610992e-02f, -3.446499630e-02f, -3.425391492e-02f, -3.404286611e-02f, -3.383185020e-02f, -3.362086752e-02f, -3.340991840e-02f,
+-3.319900317e-02f, -3.298812215e-02f, -3.277727569e-02f, -3.256646411e-02f, -3.235568773e-02f, -3.214494690e-02f, -3.193424193e-02f, -3.172357315e-02f, -3.151294090e-02f, -3.130234550e-02f,
+-3.109178728e-02f, -3.088126658e-02f, -3.067078370e-02f, -3.046033900e-02f, -3.024993278e-02f, -3.003956538e-02f, -2.982923713e-02f, -2.961894836e-02f, -2.940869938e-02f, -2.919849053e-02f,
+-2.898832213e-02f, -2.877819451e-02f, -2.856810799e-02f, -2.835806291e-02f, -2.814805958e-02f, -2.793809833e-02f, -2.772817949e-02f, -2.751830338e-02f, -2.730847033e-02f, -2.709868065e-02f,
+-2.688893469e-02f, -2.667923275e-02f, -2.646957516e-02f, -2.625996225e-02f, -2.605039434e-02f, -2.584087176e-02f, -2.563139482e-02f, -2.542196385e-02f, -2.521257917e-02f, -2.500324111e-02f,
+-2.479394998e-02f, -2.458470612e-02f, -2.437550984e-02f, -2.416636146e-02f, -2.395726130e-02f, -2.374820969e-02f, -2.353920695e-02f, -2.333025339e-02f, -2.312134935e-02f, -2.291249513e-02f,
+-2.270369106e-02f, -2.249493746e-02f, -2.228623465e-02f, -2.207758295e-02f, -2.186898268e-02f, -2.166043416e-02f, -2.145193770e-02f, -2.124349363e-02f, -2.103510226e-02f, -2.082676392e-02f,
+-2.061847892e-02f, -2.041024757e-02f, -2.020207020e-02f, -1.999394713e-02f, -1.978587867e-02f, -1.957786513e-02f, -1.936990685e-02f, -1.916200412e-02f, -1.895415727e-02f, -1.874636662e-02f,
+-1.853863248e-02f, -1.833095517e-02f, -1.812333500e-02f, -1.791577229e-02f, -1.770826735e-02f, -1.750082050e-02f, -1.729343205e-02f, -1.708610232e-02f, -1.687883162e-02f, -1.667162027e-02f,
+-1.646446858e-02f, -1.625737686e-02f, -1.605034543e-02f, -1.584337460e-02f, -1.563646468e-02f, -1.542961599e-02f, -1.522282884e-02f, -1.501610354e-02f, -1.480944040e-02f, -1.460283974e-02f,
+-1.439630187e-02f, -1.418982709e-02f, -1.398341573e-02f, -1.377706808e-02f, -1.357078447e-02f, -1.336456520e-02f, -1.315841058e-02f, -1.295232093e-02f, -1.274629654e-02f, -1.254033775e-02f,
+-1.233444484e-02f, -1.212861813e-02f, -1.192285794e-02f, -1.171716456e-02f, -1.151153831e-02f, -1.130597950e-02f, -1.110048843e-02f, -1.089506541e-02f, -1.068971075e-02f, -1.048442476e-02f,
+-1.027920775e-02f, -1.007406001e-02f, -9.868981867e-03f, -9.663973615e-03f, -9.459035564e-03f, -9.254168019e-03f, -9.049371287e-03f, -8.844645674e-03f, -8.639991484e-03f, -8.435409022e-03f,
+-8.230898595e-03f, -8.026460505e-03f, -7.822095059e-03f, -7.617802559e-03f, -7.413583310e-03f, -7.209437616e-03f, -7.005365780e-03f, -6.801368105e-03f, -6.597444894e-03f, -6.393596451e-03f,
+-6.189823077e-03f, -5.986125075e-03f, -5.782502747e-03f, -5.578956395e-03f, -5.375486321e-03f, -5.172092825e-03f, -4.968776209e-03f, -4.765536774e-03f, -4.562374821e-03f, -4.359290649e-03f,
+-4.156284560e-03f, -3.953356852e-03f, -3.750507827e-03f, -3.547737782e-03f, -3.345047017e-03f, -3.142435832e-03f, -2.939904524e-03f, -2.737453394e-03f, -2.535082737e-03f, -2.332792854e-03f,
+-2.130584040e-03f, -1.928456595e-03f, -1.726410815e-03f, -1.524446997e-03f, -1.322565438e-03f, -1.120766434e-03f, -9.190502822e-04f, -7.174172781e-04f, -5.158677175e-04f, -3.144018961e-04f,
+-1.130201090e-04f, 8.827734866e-05f, 2.894901821e-04f, 4.906180967e-04f, 6.916607982e-04f, 8.926179926e-04f, 1.093489386e-03f, 1.294274685e-03f, 1.494973596e-03f, 1.695585826e-03f,
+1.896111083e-03f, 2.096549073e-03f, 2.296899505e-03f, 2.497162086e-03f, 2.697336525e-03f, 2.897422530e-03f, 3.097419810e-03f, 3.297328073e-03f, 3.497147029e-03f, 3.696876388e-03f,
+3.896515859e-03f, 4.096065151e-03f, 4.295523976e-03f, 4.494892044e-03f, 4.694169066e-03f, 4.893354751e-03f, 5.092448813e-03f, 5.291450961e-03f, 5.490360909e-03f, 5.689178368e-03f,
+5.887903049e-03f, 6.086534667e-03f, 6.285072933e-03f, 6.483517561e-03f, 6.681868263e-03f, 6.880124754e-03f, 7.078286747e-03f, 7.276353957e-03f, 7.474326097e-03f, 7.672202883e-03f,
+7.869984028e-03f, 8.067669249e-03f, 8.265258260e-03f, 8.462750778e-03f, 8.660146518e-03f, 8.857445196e-03f, 9.054646528e-03f, 9.251750232e-03f, 9.448756025e-03f, 9.645663623e-03f,
+9.842472744e-03f, 1.003918311e-02f, 1.023579443e-02f, 1.043230642e-02f, 1.062871882e-02f, 1.082503132e-02f, 1.102124366e-02f, 1.121735556e-02f, 1.141336672e-02f, 1.160927688e-02f,
+1.180508575e-02f, 1.200079305e-02f, 1.219639851e-02f, 1.239190184e-02f, 1.258730277e-02f, 1.278260101e-02f, 1.297779629e-02f, 1.317288833e-02f, 1.336787686e-02f, 1.356276159e-02f,
+1.375754225e-02f, 1.395221856e-02f, 1.414679024e-02f, 1.434125703e-02f, 1.453561863e-02f, 1.472987478e-02f, 1.492402521e-02f, 1.511806962e-02f, 1.531200776e-02f, 1.550583935e-02f,
+1.569956410e-02f, 1.589318175e-02f, 1.608669203e-02f, 1.628009465e-02f, 1.647338936e-02f, 1.666657586e-02f, 1.685965389e-02f, 1.705262318e-02f, 1.724548346e-02f, 1.743823445e-02f,
+1.763087588e-02f, 1.782340748e-02f, 1.801582898e-02f, 1.820814011e-02f, 1.840034060e-02f, 1.859243017e-02f, 1.878440856e-02f, 1.897627550e-02f, 1.916803071e-02f, 1.935967393e-02f,
+1.955120490e-02f, 1.974262333e-02f, 1.993392896e-02f, 2.012512153e-02f, 2.031620077e-02f, 2.050716640e-02f, 2.069801817e-02f, 2.088875580e-02f, 2.107937903e-02f, 2.126988759e-02f,
+2.146028121e-02f, 2.165055964e-02f, 2.184072259e-02f, 2.203076982e-02f, 2.222070105e-02f, 2.241051602e-02f, 2.260021446e-02f, 2.278979611e-02f, 2.297926071e-02f, 2.316860799e-02f,
+2.335783769e-02f, 2.354694955e-02f, 2.373594330e-02f, 2.392481868e-02f, 2.411357543e-02f, 2.430221329e-02f, 2.449073199e-02f, 2.467913128e-02f, 2.486741089e-02f, 2.505557056e-02f,
+2.524361003e-02f, 2.543152904e-02f, 2.561932734e-02f, 2.580700466e-02f, 2.599456074e-02f, 2.618199533e-02f, 2.636930816e-02f, 2.655649897e-02f, 2.674356752e-02f, 2.693051353e-02f,
+2.711733676e-02f, 2.730403695e-02f, 2.749061383e-02f, 2.767706715e-02f, 2.786339667e-02f, 2.804960211e-02f, 2.823568322e-02f, 2.842163975e-02f, 2.860747145e-02f, 2.879317805e-02f,
+2.897875931e-02f, 2.916421497e-02f, 2.934954477e-02f, 2.953474846e-02f, 2.971982579e-02f, 2.990477651e-02f, 3.008960035e-02f, 3.027429708e-02f, 3.045886643e-02f, 3.064330816e-02f,
+3.082762201e-02f, 3.101180773e-02f, 3.119586507e-02f, 3.137979379e-02f, 3.156359362e-02f, 3.174726432e-02f, 3.193080564e-02f, 3.211421733e-02f, 3.229749914e-02f, 3.248065082e-02f,
+3.266367213e-02f, 3.284656280e-02f, 3.302932261e-02f, 3.321195129e-02f, 3.339444860e-02f, 3.357681430e-02f, 3.375904813e-02f, 3.394114985e-02f, 3.412311922e-02f, 3.430495598e-02f,
+3.448665989e-02f, 3.466823072e-02f, 3.484966820e-02f, 3.503097210e-02f, 3.521214217e-02f, 3.539317816e-02f, 3.557407985e-02f, 3.575484697e-02f, 3.593547929e-02f, 3.611597656e-02f,
+3.629633854e-02f, 3.647656499e-02f, 3.665665567e-02f, 3.683661033e-02f, 3.701642874e-02f, 3.719611065e-02f, 3.737565582e-02f, 3.755506401e-02f, 3.773433498e-02f, 3.791346849e-02f,
+3.809246431e-02f, 3.827132218e-02f, 3.845004188e-02f, 3.862862316e-02f, 3.880706578e-02f, 3.898536951e-02f, 3.916353412e-02f, 3.934155935e-02f, 3.951944498e-02f, 3.969719076e-02f,
+3.987479647e-02f, 4.005226186e-02f, 4.022958671e-02f, 4.040677076e-02f, 4.058381379e-02f, 4.076071557e-02f, 4.093747585e-02f, 4.111409441e-02f, 4.129057101e-02f, 4.146690542e-02f,
+4.164309739e-02f, 4.181914671e-02f, 4.199505313e-02f, 4.217081643e-02f, 4.234643637e-02f, 4.252191272e-02f, 4.269724524e-02f, 4.287243372e-02f, 4.304747791e-02f, 4.322237758e-02f,
+4.339713251e-02f, 4.357174247e-02f, 4.374620722e-02f, 4.392052653e-02f, 4.409470019e-02f, 4.426872795e-02f, 4.444260959e-02f, 4.461634488e-02f, 4.478993360e-02f, 4.496337551e-02f,
+4.513667039e-02f, 4.530981801e-02f, 4.548281815e-02f, 4.565567058e-02f, 4.582837507e-02f, 4.600093140e-02f, 4.617333934e-02f, 4.634559867e-02f, 4.651770916e-02f, 4.668967059e-02f,
+4.686148273e-02f, 4.703314536e-02f, 4.720465827e-02f, 4.737602121e-02f, 4.754723398e-02f, 4.771829634e-02f, 4.788920809e-02f, 4.805996898e-02f, 4.823057882e-02f, 4.840103736e-02f,
+4.857134439e-02f, 4.874149970e-02f, 4.891150306e-02f, 4.908135425e-02f, 4.925105305e-02f, 4.942059924e-02f, 4.958999261e-02f, 4.975923293e-02f, 4.992831998e-02f, 5.009725356e-02f,
+5.026603343e-02f, 5.043465939e-02f, 5.060313122e-02f, 5.077144870e-02f, 5.093961161e-02f, 5.110761974e-02f, 5.127547287e-02f, 5.144317078e-02f, 5.161071327e-02f, 5.177810012e-02f,
+5.194533111e-02f, 5.211240602e-02f, 5.227932466e-02f, 5.244608679e-02f, 5.261269221e-02f, 5.277914071e-02f, 5.294543207e-02f, 5.311156608e-02f, 5.327754253e-02f, 5.344336121e-02f,
+5.360902190e-02f, 5.377452440e-02f, 5.393986850e-02f, 5.410505398e-02f, 5.427008064e-02f, 5.443494826e-02f, 5.459965664e-02f, 5.476420557e-02f, 5.492859484e-02f, 5.509282424e-02f,
+5.525689356e-02f, 5.542080260e-02f, 5.558455114e-02f, 5.574813899e-02f, 5.591156594e-02f, 5.607483177e-02f, 5.623793629e-02f, 5.640087928e-02f, 5.656366055e-02f, 5.672627989e-02f,
+5.688873708e-02f, 5.705103194e-02f, 5.721316425e-02f, 5.737513382e-02f, 5.753694043e-02f, 5.769858389e-02f, 5.786006399e-02f, 5.802138053e-02f, 5.818253331e-02f, 5.834352213e-02f,
+5.850434678e-02f, 5.866500707e-02f, 5.882550279e-02f, 5.898583375e-02f, 5.914599974e-02f, 5.930600057e-02f, 5.946583603e-02f, 5.962550593e-02f, 5.978501007e-02f, 5.994434824e-02f,
+6.010352026e-02f, 6.026252593e-02f, 6.042136504e-02f, 6.058003740e-02f, 6.073854281e-02f, 6.089688109e-02f, 6.105505202e-02f, 6.121305542e-02f, 6.137089109e-02f, 6.152855884e-02f,
+6.168605847e-02f, 6.184338979e-02f, 6.200055260e-02f, 6.215754671e-02f, 6.231437192e-02f, 6.247102806e-02f, 6.262751491e-02f, 6.278383229e-02f, 6.293998001e-02f, 6.309595787e-02f,
+6.325176569e-02f, 6.340740328e-02f, 6.356287043e-02f, 6.371816697e-02f, 6.387329271e-02f, 6.402824745e-02f, 6.418303100e-02f, 6.433764318e-02f, 6.449208380e-02f, 6.464635266e-02f,
+6.480044959e-02f, 6.495437439e-02f, 6.510812688e-02f, 6.526170687e-02f, 6.541511417e-02f, 6.556834861e-02f, 6.572140998e-02f, 6.587429811e-02f, 6.602701281e-02f, 6.617955391e-02f,
+6.633192120e-02f, 6.648411451e-02f, 6.663613366e-02f, 6.678797845e-02f, 6.693964872e-02f, 6.709114427e-02f, 6.724246493e-02f, 6.739361051e-02f, 6.754458083e-02f, 6.769537570e-02f,
+6.784599496e-02f, 6.799643841e-02f, 6.814670588e-02f, 6.829679719e-02f, 6.844671215e-02f, 6.859645060e-02f, 6.874601234e-02f, 6.889539720e-02f, 6.904460501e-02f, 6.919363558e-02f,
+6.934248873e-02f, 6.949116430e-02f, 6.963966210e-02f, 6.978798196e-02f, 6.993612370e-02f, 7.008408714e-02f, 7.023187212e-02f, 7.037947844e-02f, 7.052690595e-02f, 7.067415446e-02f,
+7.082122381e-02f, 7.096811381e-02f, 7.111482429e-02f, 7.126135509e-02f, 7.140770603e-02f, 7.155387693e-02f, 7.169986762e-02f, 7.184567794e-02f, 7.199130771e-02f, 7.213675676e-02f,
+7.228202492e-02f, 7.242711202e-02f, 7.257201789e-02f, 7.271674236e-02f, 7.286128526e-02f, 7.300564642e-02f, 7.314982568e-02f, 7.329382286e-02f, 7.343763780e-02f, 7.358127033e-02f,
+7.372472028e-02f, 7.386798749e-02f, 7.401107178e-02f, 7.415397301e-02f, 7.429669099e-02f, 7.443922556e-02f, 7.458157656e-02f, 7.472374382e-02f, 7.486572719e-02f, 7.500752648e-02f,
+7.514914155e-02f, 7.529057223e-02f, 7.543181835e-02f, 7.557287975e-02f, 7.571375628e-02f, 7.585444776e-02f, 7.599495404e-02f, 7.613527496e-02f, 7.627541035e-02f, 7.641536005e-02f,
+7.655512391e-02f, 7.669470177e-02f, 7.683409346e-02f, 7.697329882e-02f, 7.711231771e-02f, 7.725114995e-02f, 7.738979539e-02f, 7.752825388e-02f, 7.766652526e-02f, 7.780460936e-02f,
+7.794250604e-02f, 7.808021513e-02f, 7.821773648e-02f, 7.835506994e-02f, 7.849221535e-02f, 7.862917255e-02f, 7.876594140e-02f, 7.890252173e-02f, 7.903891339e-02f, 7.917511624e-02f,
+7.931113011e-02f, 7.944695485e-02f, 7.958259032e-02f, 7.971803635e-02f, 7.985329281e-02f, 7.998835952e-02f, 8.012323636e-02f, 8.025792316e-02f, 8.039241977e-02f, 8.052672605e-02f,
+8.066084185e-02f, 8.079476701e-02f, 8.092850139e-02f, 8.106204484e-02f, 8.119539721e-02f, 8.132855835e-02f, 8.146152812e-02f, 8.159430636e-02f, 8.172689294e-02f, 8.185928771e-02f,
+8.199149051e-02f, 8.212350121e-02f, 8.225531966e-02f, 8.238694571e-02f, 8.251837923e-02f, 8.264962006e-02f, 8.278066806e-02f, 8.291152308e-02f, 8.304218500e-02f, 8.317265365e-02f,
+8.330292891e-02f, 8.343301063e-02f, 8.356289866e-02f, 8.369259286e-02f, 8.382209310e-02f, 8.395139924e-02f, 8.408051112e-02f, 8.420942862e-02f, 8.433815160e-02f, 8.446667991e-02f,
+8.459501341e-02f, 8.472315198e-02f, 8.485109546e-02f, 8.497884372e-02f, 8.510639663e-02f, 8.523375404e-02f, 8.536091583e-02f, 8.548788185e-02f, 8.561465197e-02f, 8.574122605e-02f,
+8.586760396e-02f, 8.599378556e-02f, 8.611977072e-02f, 8.624555931e-02f, 8.637115118e-02f, 8.649654621e-02f, 8.662174427e-02f, 8.674674521e-02f, 8.687154892e-02f, 8.699615525e-02f,
+8.712056407e-02f, 8.724477526e-02f, 8.736878869e-02f, 8.749260421e-02f, 8.761622171e-02f, 8.773964105e-02f, 8.786286210e-02f, 8.798588474e-02f, 8.810870883e-02f, 8.823133425e-02f,
+8.835376087e-02f, 8.847598856e-02f, 8.859801719e-02f, 8.871984664e-02f, 8.884147677e-02f, 8.896290748e-02f, 8.908413862e-02f, 8.920517007e-02f, 8.932600171e-02f, 8.944663341e-02f,
+8.956706505e-02f, 8.968729651e-02f, 8.980732765e-02f, 8.992715836e-02f, 9.004678852e-02f, 9.016621800e-02f, 9.028544667e-02f, 9.040447443e-02f, 9.052330114e-02f, 9.064192668e-02f,
+9.076035094e-02f, 9.087857379e-02f, 9.099659512e-02f, 9.111441480e-02f, 9.123203271e-02f, 9.134944874e-02f, 9.146666276e-02f, 9.158367466e-02f, 9.170048433e-02f, 9.181709163e-02f,
+9.193349646e-02f, 9.204969870e-02f, 9.216569824e-02f, 9.228149494e-02f, 9.239708871e-02f, 9.251247943e-02f, 9.262766697e-02f, 9.274265123e-02f, 9.285743209e-02f, 9.297200944e-02f,
+9.308638316e-02f, 9.320055315e-02f, 9.331451928e-02f, 9.342828144e-02f, 9.354183953e-02f, 9.365519343e-02f, 9.376834303e-02f, 9.388128822e-02f, 9.399402889e-02f, 9.410656493e-02f,
+9.421889622e-02f, 9.433102266e-02f, 9.444294414e-02f, 9.455466056e-02f, 9.466617179e-02f, 9.477747774e-02f, 9.488857830e-02f, 9.499947335e-02f, 9.511016279e-02f, 9.522064652e-02f,
+9.533092443e-02f, 9.544099642e-02f, 9.555086237e-02f, 9.566052218e-02f, 9.576997575e-02f, 9.587922297e-02f, 9.598826374e-02f, 9.609709796e-02f, 9.620572552e-02f, 9.631414631e-02f,
+9.642236025e-02f, 9.653036721e-02f, 9.663816711e-02f, 9.674575984e-02f, 9.685314530e-02f, 9.696032339e-02f, 9.706729400e-02f, 9.717405704e-02f, 9.728061241e-02f, 9.738696001e-02f,
+9.749309974e-02f, 9.759903150e-02f, 9.770475519e-02f, 9.781027072e-02f, 9.791557798e-02f, 9.802067689e-02f, 9.812556734e-02f, 9.823024923e-02f, 9.833472248e-02f, 9.843898698e-02f,
+9.854304264e-02f, 9.864688936e-02f, 9.875052706e-02f, 9.885395563e-02f, 9.895717498e-02f, 9.906018503e-02f, 9.916298566e-02f, 9.926557680e-02f, 9.936795835e-02f, 9.947013022e-02f,
+9.957209232e-02f, 9.967384455e-02f, 9.977538682e-02f, 9.987671905e-02f, 9.997784114e-02f, 1.000787530e-01f, 1.001794545e-01f, 1.002799457e-01f, 1.003802263e-01f, 1.004802964e-01f,
+1.005801558e-01f, 1.006798044e-01f, 1.007792422e-01f, 1.008784691e-01f, 1.009774849e-01f, 1.010762897e-01f, 1.011748832e-01f, 1.012732655e-01f, 1.013714364e-01f, 1.014693958e-01f,
+1.015671438e-01f, 1.016646801e-01f, 1.017620047e-01f, 1.018591175e-01f, 1.019560185e-01f, 1.020527075e-01f, 1.021491845e-01f, 1.022454494e-01f, 1.023415021e-01f, 1.024373425e-01f,
+1.025329705e-01f, 1.026283862e-01f, 1.027235893e-01f, 1.028185798e-01f, 1.029133576e-01f, 1.030079227e-01f, 1.031022750e-01f, 1.031964143e-01f, 1.032903407e-01f, 1.033840540e-01f,
+1.034775541e-01f, 1.035708411e-01f, 1.036639147e-01f, 1.037567750e-01f, 1.038494218e-01f, 1.039418551e-01f, 1.040340748e-01f, 1.041260808e-01f, 1.042178731e-01f, 1.043094516e-01f,
+1.044008162e-01f, 1.044919668e-01f, 1.045829033e-01f, 1.046736258e-01f, 1.047641341e-01f, 1.048544281e-01f, 1.049445078e-01f, 1.050343731e-01f, 1.051240240e-01f, 1.052134603e-01f,
+1.053026819e-01f, 1.053916890e-01f, 1.054804812e-01f, 1.055690587e-01f, 1.056574213e-01f, 1.057455689e-01f, 1.058335015e-01f, 1.059212190e-01f, 1.060087214e-01f, 1.060960086e-01f,
+1.061830804e-01f, 1.062699370e-01f, 1.063565781e-01f, 1.064430037e-01f, 1.065292138e-01f, 1.066152083e-01f, 1.067009871e-01f, 1.067865501e-01f, 1.068718974e-01f, 1.069570288e-01f,
+1.070419443e-01f, 1.071266438e-01f, 1.072111272e-01f, 1.072953945e-01f, 1.073794457e-01f, 1.074632806e-01f, 1.075468993e-01f, 1.076303016e-01f, 1.077134874e-01f, 1.077964568e-01f,
+1.078792097e-01f, 1.079617460e-01f, 1.080440656e-01f, 1.081261686e-01f, 1.082080548e-01f, 1.082897241e-01f, 1.083711766e-01f, 1.084524121e-01f, 1.085334307e-01f, 1.086142322e-01f,
+1.086948167e-01f, 1.087751839e-01f, 1.088553340e-01f, 1.089352668e-01f, 1.090149823e-01f, 1.090944804e-01f, 1.091737611e-01f, 1.092528244e-01f, 1.093316701e-01f, 1.094102982e-01f,
+1.094887087e-01f, 1.095669015e-01f, 1.096448766e-01f, 1.097226339e-01f, 1.098001734e-01f, 1.098774950e-01f, 1.099545987e-01f, 1.100314844e-01f, 1.101081520e-01f, 1.101846016e-01f,
+1.102608331e-01f, 1.103368464e-01f, 1.104126415e-01f, 1.104882183e-01f, 1.105635768e-01f, 1.106387169e-01f, 1.107136386e-01f, 1.107883419e-01f, 1.108628267e-01f, 1.109370930e-01f,
+1.110111406e-01f, 1.110849697e-01f, 1.111585801e-01f, 1.112319717e-01f, 1.113051446e-01f, 1.113780987e-01f, 1.114508340e-01f, 1.115233504e-01f, 1.115956479e-01f, 1.116677264e-01f,
+1.117395859e-01f, 1.118112263e-01f, 1.118826477e-01f, 1.119538499e-01f, 1.120248330e-01f, 1.120955969e-01f, 1.121661415e-01f, 1.122364669e-01f, 1.123065729e-01f, 1.123764596e-01f,
+1.124461269e-01f, 1.125155748e-01f, 1.125848032e-01f, 1.126538121e-01f, 1.127226015e-01f, 1.127911713e-01f, 1.128595215e-01f, 1.129276520e-01f, 1.129955629e-01f, 1.130632541e-01f,
+1.131307256e-01f, 1.131979772e-01f, 1.132650091e-01f, 1.133318211e-01f, 1.133984133e-01f, 1.134647855e-01f, 1.135309378e-01f, 1.135968702e-01f, 1.136625826e-01f, 1.137280749e-01f,
+1.137933472e-01f, 1.138583994e-01f, 1.139232315e-01f, 1.139878434e-01f, 1.140522352e-01f, 1.141164068e-01f, 1.141803581e-01f, 1.142440892e-01f, 1.143076001e-01f, 1.143708906e-01f,
+1.144339608e-01f, 1.144968106e-01f, 1.145594401e-01f, 1.146218491e-01f, 1.146840377e-01f, 1.147460059e-01f, 1.148077536e-01f, 1.148692807e-01f, 1.149305874e-01f, 1.149916735e-01f,
+1.150525390e-01f, 1.151131839e-01f, 1.151736083e-01f, 1.152338119e-01f, 1.152937949e-01f, 1.153535573e-01f, 1.154130989e-01f, 1.154724198e-01f, 1.155315200e-01f, 1.155903994e-01f,
+1.156490581e-01f, 1.157074959e-01f, 1.157657129e-01f, 1.158237091e-01f, 1.158814845e-01f, 1.159390390e-01f, 1.159963726e-01f, 1.160534853e-01f, 1.161103770e-01f, 1.161670479e-01f,
+1.162234978e-01f, 1.162797267e-01f, 1.163357347e-01f, 1.163915217e-01f, 1.164470876e-01f, 1.165024326e-01f, 1.165575565e-01f, 1.166124593e-01f, 1.166671412e-01f, 1.167216019e-01f,
+1.167758416e-01f, 1.168298601e-01f, 1.168836576e-01f, 1.169372340e-01f, 1.169905892e-01f, 1.170437233e-01f, 1.170966362e-01f, 1.171493280e-01f, 1.172017987e-01f, 1.172540481e-01f,
+1.173060764e-01f, 1.173578835e-01f, 1.174094694e-01f, 1.174608341e-01f, 1.175119776e-01f, 1.175628999e-01f, 1.176136009e-01f, 1.176640808e-01f, 1.177143394e-01f, 1.177643767e-01f,
+1.178141929e-01f, 1.178637877e-01f, 1.179131614e-01f, 1.179623137e-01f, 1.180112449e-01f, 1.180599547e-01f, 1.181084433e-01f, 1.181567107e-01f, 1.182047567e-01f, 1.182525815e-01f,
+1.183001851e-01f, 1.183475673e-01f, 1.183947283e-01f, 1.184416680e-01f, 1.184883865e-01f, 1.185348837e-01f, 1.185811596e-01f, 1.186272143e-01f, 1.186730477e-01f, 1.187186598e-01f,
+1.187640507e-01f, 1.188092203e-01f, 1.188541686e-01f, 1.188988957e-01f, 1.189434016e-01f, 1.189876862e-01f, 1.190317496e-01f, 1.190755918e-01f, 1.191192127e-01f, 1.191626124e-01f,
+1.192057909e-01f, 1.192487482e-01f, 1.192914842e-01f, 1.193339991e-01f, 1.193762928e-01f, 1.194183653e-01f, 1.194602166e-01f, 1.195018468e-01f, 1.195432558e-01f, 1.195844437e-01f,
+1.196254105e-01f, 1.196661561e-01f, 1.197066806e-01f, 1.197469839e-01f, 1.197870662e-01f, 1.198269274e-01f, 1.198665676e-01f, 1.199059867e-01f, 1.199451847e-01f, 1.199841617e-01f,
+1.200229176e-01f, 1.200614526e-01f, 1.200997666e-01f, 1.201378595e-01f, 1.201757316e-01f, 1.202133826e-01f, 1.202508128e-01f, 1.202880220e-01f, 1.203250103e-01f, 1.203617777e-01f,
+1.203983242e-01f, 1.204346499e-01f, 1.204707547e-01f, 1.205066387e-01f, 1.205423019e-01f, 1.205777444e-01f, 1.206129660e-01f, 1.206479669e-01f, 1.206827471e-01f, 1.207173066e-01f,
+1.207516454e-01f, 1.207857635e-01f, 1.208196610e-01f, 1.208533378e-01f, 1.208867940e-01f, 1.209200297e-01f, 1.209530448e-01f, 1.209858393e-01f, 1.210184133e-01f, 1.210507669e-01f,
+1.210828999e-01f, 1.211148125e-01f, 1.211465047e-01f, 1.211779765e-01f, 1.212092279e-01f, 1.212402590e-01f, 1.212710698e-01f, 1.213016602e-01f, 1.213320304e-01f, 1.213621803e-01f,
+1.213921100e-01f, 1.214218195e-01f, 1.214513089e-01f, 1.214805781e-01f, 1.215096272e-01f, 1.215384563e-01f, 1.215670653e-01f, 1.215954542e-01f, 1.216236232e-01f, 1.216515722e-01f,
+1.216793013e-01f, 1.217068105e-01f, 1.217340998e-01f, 1.217611693e-01f, 1.217880190e-01f, 1.218146489e-01f, 1.218410590e-01f, 1.218672495e-01f, 1.218932202e-01f, 1.219189714e-01f,
+1.219445029e-01f, 1.219698148e-01f, 1.219949072e-01f, 1.220197801e-01f, 1.220444336e-01f, 1.220688676e-01f, 1.220930822e-01f, 1.221170774e-01f, 1.221408533e-01f, 1.221644099e-01f,
+1.221877473e-01f, 1.222108654e-01f, 1.222337644e-01f, 1.222564442e-01f, 1.222789049e-01f, 1.223011466e-01f, 1.223231692e-01f, 1.223449729e-01f, 1.223665576e-01f, 1.223879234e-01f,
+1.224090703e-01f, 1.224299984e-01f, 1.224507078e-01f, 1.224711984e-01f, 1.224914703e-01f, 1.225115235e-01f, 1.225313581e-01f, 1.225509742e-01f, 1.225703717e-01f, 1.225895508e-01f,
+1.226085114e-01f, 1.226272536e-01f, 1.226457774e-01f, 1.226640830e-01f, 1.226821703e-01f, 1.227000394e-01f, 1.227176903e-01f, 1.227351230e-01f, 1.227523377e-01f, 1.227693344e-01f,
+1.227861131e-01f, 1.228026739e-01f, 1.228190167e-01f, 1.228351418e-01f, 1.228510490e-01f, 1.228667385e-01f, 1.228822103e-01f, 1.228974644e-01f, 1.229125010e-01f, 1.229273200e-01f,
+1.229419215e-01f, 1.229563056e-01f, 1.229704723e-01f, 1.229844217e-01f, 1.229981537e-01f, 1.230116686e-01f, 1.230249662e-01f, 1.230380467e-01f, 1.230509102e-01f, 1.230635566e-01f,
+1.230759860e-01f, 1.230881986e-01f, 1.231001942e-01f, 1.231119731e-01f, 1.231235352e-01f, 1.231348807e-01f, 1.231460094e-01f, 1.231569216e-01f, 1.231676173e-01f, 1.231780965e-01f,
+1.231883593e-01f, 1.231984057e-01f, 1.232082359e-01f, 1.232178498e-01f, 1.232272475e-01f, 1.232364291e-01f, 1.232453946e-01f, 1.232541442e-01f, 1.232626777e-01f, 1.232709954e-01f,
+1.232790973e-01f, 1.232869834e-01f, 1.232946539e-01f, 1.233021086e-01f, 1.233093478e-01f, 1.233163715e-01f, 1.233231797e-01f, 1.233297726e-01f, 1.233361501e-01f, 1.233423123e-01f,
+1.233482594e-01f, 1.233539913e-01f, 1.233595081e-01f, 1.233648099e-01f, 1.233698968e-01f, 1.233747688e-01f, 1.233794260e-01f, 1.233838685e-01f, 1.233880962e-01f, 1.233921094e-01f,
+1.233959080e-01f, 1.233994921e-01f, 1.234028618e-01f, 1.234060172e-01f, 1.234089583e-01f, 1.234116852e-01f, 1.234141979e-01f, 1.234164966e-01f, 1.234185813e-01f, 1.234204521e-01f,
+1.234221090e-01f, 1.234235521e-01f, 1.234247815e-01f, 1.234257972e-01f, 1.234265994e-01f, 1.234271880e-01f, 1.234275633e-01f, 1.234277251e-01f, 1.234276737e-01f, 1.234274091e-01f,
+1.234269313e-01f, 1.234262405e-01f, 1.234253367e-01f, 1.234242199e-01f, 1.234228903e-01f, 1.234213480e-01f, 1.234195929e-01f, 1.234176252e-01f, 1.234154450e-01f, 1.234130523e-01f,
+1.234104473e-01f, 1.234076299e-01f, 1.234046003e-01f, 1.234013585e-01f, 1.233979046e-01f, 1.233942388e-01f, 1.233903610e-01f, 1.233862714e-01f, 1.233819700e-01f, 1.233774569e-01f,
+1.233727322e-01f, 1.233677960e-01f, 1.233626483e-01f, 1.233572893e-01f, 1.233517190e-01f, 1.233459375e-01f, 1.233399448e-01f, 1.233337412e-01f, 1.233273265e-01f, 1.233207010e-01f,
+1.233138647e-01f, 1.233068177e-01f, 1.232995600e-01f, 1.232920919e-01f, 1.232844132e-01f, 1.232765242e-01f, 1.232684249e-01f, 1.232601154e-01f, 1.232515957e-01f, 1.232428661e-01f,
+1.232339265e-01f, 1.232247770e-01f, 1.232154177e-01f, 1.232058488e-01f, 1.231960702e-01f, 1.231860822e-01f, 1.231758847e-01f, 1.231654779e-01f, 1.231548618e-01f, 1.231440366e-01f,
+1.231330023e-01f, 1.231217590e-01f, 1.231103068e-01f, 1.230986459e-01f, 1.230867762e-01f, 1.230746979e-01f, 1.230624110e-01f, 1.230499157e-01f, 1.230372121e-01f, 1.230243002e-01f,
+1.230111801e-01f, 1.229978520e-01f, 1.229843159e-01f, 1.229705719e-01f, 1.229566201e-01f, 1.229424606e-01f, 1.229280935e-01f, 1.229135189e-01f, 1.228987369e-01f, 1.228837476e-01f,
+1.228685510e-01f, 1.228531473e-01f, 1.228375366e-01f, 1.228217189e-01f, 1.228056943e-01f, 1.227894631e-01f, 1.227730251e-01f, 1.227563807e-01f, 1.227395297e-01f, 1.227224724e-01f,
+1.227052089e-01f, 1.226877392e-01f, 1.226700634e-01f, 1.226521817e-01f, 1.226340941e-01f, 1.226158007e-01f, 1.225973017e-01f, 1.225785971e-01f, 1.225596870e-01f, 1.225405716e-01f,
+1.225212509e-01f, 1.225017251e-01f, 1.224819941e-01f, 1.224620583e-01f, 1.224419176e-01f, 1.224215721e-01f, 1.224010220e-01f, 1.223802673e-01f, 1.223593082e-01f, 1.223381448e-01f,
+1.223167771e-01f, 1.222952053e-01f, 1.222734295e-01f, 1.222514497e-01f, 1.222292661e-01f, 1.222068788e-01f, 1.221842880e-01f, 1.221614936e-01f, 1.221384958e-01f, 1.221152948e-01f,
+1.220918905e-01f, 1.220682832e-01f, 1.220444730e-01f, 1.220204598e-01f, 1.219962440e-01f, 1.219718255e-01f, 1.219472044e-01f, 1.219223810e-01f, 1.218973552e-01f, 1.218721272e-01f,
+1.218466972e-01f, 1.218210651e-01f, 1.217952312e-01f, 1.217691956e-01f, 1.217429583e-01f, 1.217165194e-01f, 1.216898791e-01f, 1.216630375e-01f, 1.216359947e-01f, 1.216087509e-01f,
+1.215813060e-01f, 1.215536603e-01f, 1.215258138e-01f, 1.214977667e-01f, 1.214695191e-01f, 1.214410711e-01f, 1.214124227e-01f, 1.213835742e-01f, 1.213545257e-01f, 1.213252772e-01f,
+1.212958288e-01f, 1.212661808e-01f, 1.212363331e-01f, 1.212062860e-01f, 1.211760395e-01f, 1.211455937e-01f, 1.211149488e-01f, 1.210841049e-01f, 1.210530622e-01f, 1.210218206e-01f,
+1.209903804e-01f, 1.209587416e-01f, 1.209269044e-01f, 1.208948689e-01f, 1.208626352e-01f, 1.208302035e-01f, 1.207975738e-01f, 1.207647463e-01f, 1.207317211e-01f, 1.206984984e-01f,
+1.206650781e-01f, 1.206314606e-01f, 1.205976458e-01f, 1.205636339e-01f, 1.205294251e-01f, 1.204950194e-01f, 1.204604170e-01f, 1.204256179e-01f, 1.203906225e-01f, 1.203554306e-01f,
+1.203200425e-01f, 1.202844584e-01f, 1.202486782e-01f, 1.202127022e-01f, 1.201765305e-01f, 1.201401631e-01f, 1.201036003e-01f, 1.200668421e-01f, 1.200298887e-01f, 1.199927402e-01f,
+1.199553968e-01f, 1.199178584e-01f, 1.198801254e-01f, 1.198421978e-01f, 1.198040757e-01f, 1.197657593e-01f, 1.197272487e-01f, 1.196885440e-01f, 1.196496453e-01f, 1.196105529e-01f,
+1.195712667e-01f, 1.195317870e-01f, 1.194921139e-01f, 1.194522474e-01f, 1.194121878e-01f, 1.193719352e-01f, 1.193314897e-01f, 1.192908513e-01f, 1.192500204e-01f, 1.192089969e-01f,
+1.191677811e-01f, 1.191263730e-01f, 1.190847728e-01f, 1.190429806e-01f, 1.190009966e-01f, 1.189588209e-01f, 1.189164536e-01f, 1.188738948e-01f, 1.188311448e-01f, 1.187882035e-01f,
+1.187450713e-01f, 1.187017481e-01f, 1.186582342e-01f, 1.186145296e-01f, 1.185706345e-01f, 1.185265491e-01f, 1.184822734e-01f, 1.184378077e-01f, 1.183931520e-01f, 1.183483065e-01f,
+1.183032714e-01f, 1.182580466e-01f, 1.182126325e-01f, 1.181670292e-01f, 1.181212367e-01f, 1.180752552e-01f, 1.180290849e-01f, 1.179827259e-01f, 1.179361783e-01f, 1.178894423e-01f,
+1.178425181e-01f, 1.177954056e-01f, 1.177481052e-01f, 1.177006169e-01f, 1.176529409e-01f, 1.176050773e-01f, 1.175570263e-01f, 1.175087880e-01f, 1.174603625e-01f, 1.174117501e-01f,
+1.173629507e-01f, 1.173139647e-01f, 1.172647920e-01f, 1.172154329e-01f, 1.171658876e-01f, 1.171161561e-01f, 1.170662385e-01f, 1.170161352e-01f, 1.169658461e-01f, 1.169153714e-01f,
+1.168647113e-01f, 1.168138659e-01f, 1.167628355e-01f, 1.167116200e-01f, 1.166602197e-01f, 1.166086346e-01f, 1.165568651e-01f, 1.165049111e-01f, 1.164527729e-01f, 1.164004506e-01f,
+1.163479443e-01f, 1.162952543e-01f, 1.162423805e-01f, 1.161893233e-01f, 1.161360827e-01f, 1.160826589e-01f, 1.160290520e-01f, 1.159752622e-01f, 1.159212896e-01f, 1.158671345e-01f,
+1.158127968e-01f, 1.157582769e-01f, 1.157035748e-01f, 1.156486907e-01f, 1.155936247e-01f, 1.155383770e-01f, 1.154829478e-01f, 1.154273372e-01f, 1.153715453e-01f, 1.153155723e-01f,
+1.152594184e-01f, 1.152030837e-01f, 1.151465683e-01f, 1.150898725e-01f, 1.150329963e-01f, 1.149759400e-01f, 1.149187036e-01f, 1.148612874e-01f, 1.148036914e-01f, 1.147459159e-01f,
+1.146879610e-01f, 1.146298269e-01f, 1.145715136e-01f, 1.145130215e-01f, 1.144543505e-01f, 1.143955009e-01f, 1.143364729e-01f, 1.142772665e-01f, 1.142178820e-01f, 1.141583195e-01f,
+1.140985792e-01f, 1.140386612e-01f, 1.139785657e-01f, 1.139182928e-01f, 1.138578427e-01f, 1.137972156e-01f, 1.137364115e-01f, 1.136754308e-01f, 1.136142735e-01f, 1.135529398e-01f,
+1.134914298e-01f, 1.134297438e-01f, 1.133678818e-01f, 1.133058441e-01f, 1.132436307e-01f, 1.131812420e-01f, 1.131186779e-01f, 1.130559387e-01f, 1.129930246e-01f, 1.129299357e-01f,
+1.128666721e-01f, 1.128032341e-01f, 1.127396218e-01f, 1.126758353e-01f, 1.126118748e-01f, 1.125477406e-01f, 1.124834327e-01f, 1.124189513e-01f, 1.123542965e-01f, 1.122894686e-01f,
+1.122244677e-01f, 1.121592940e-01f, 1.120939477e-01f, 1.120284288e-01f, 1.119627376e-01f, 1.118968742e-01f, 1.118308388e-01f, 1.117646316e-01f, 1.116982527e-01f, 1.116317023e-01f,
+1.115649806e-01f, 1.114980877e-01f, 1.114310239e-01f, 1.113637891e-01f, 1.112963838e-01f, 1.112288079e-01f, 1.111610617e-01f, 1.110931453e-01f, 1.110250590e-01f, 1.109568028e-01f,
+1.108883770e-01f, 1.108197817e-01f, 1.107510170e-01f, 1.106820833e-01f, 1.106129805e-01f, 1.105437090e-01f, 1.104742688e-01f, 1.104046602e-01f, 1.103348833e-01f, 1.102649382e-01f,
+1.101948252e-01f, 1.101245445e-01f, 1.100540961e-01f, 1.099834803e-01f, 1.099126973e-01f, 1.098417471e-01f, 1.097706301e-01f, 1.096993463e-01f, 1.096278959e-01f, 1.095562791e-01f,
+1.094844961e-01f, 1.094125471e-01f, 1.093404322e-01f, 1.092681516e-01f, 1.091957055e-01f, 1.091230940e-01f, 1.090503174e-01f, 1.089773757e-01f, 1.089042693e-01f, 1.088309981e-01f,
+1.087575625e-01f, 1.086839627e-01f, 1.086101986e-01f, 1.085362707e-01f, 1.084621790e-01f, 1.083879237e-01f, 1.083135049e-01f, 1.082389230e-01f, 1.081641780e-01f, 1.080892701e-01f,
+1.080141995e-01f, 1.079389663e-01f, 1.078635708e-01f, 1.077880132e-01f, 1.077122936e-01f, 1.076364121e-01f, 1.075603690e-01f, 1.074841645e-01f, 1.074077987e-01f, 1.073312718e-01f,
+1.072545840e-01f, 1.071777355e-01f, 1.071007264e-01f, 1.070235569e-01f, 1.069462273e-01f, 1.068687376e-01f, 1.067910881e-01f, 1.067132790e-01f, 1.066353104e-01f, 1.065571825e-01f,
+1.064788955e-01f, 1.064004496e-01f, 1.063218449e-01f, 1.062430817e-01f, 1.061641601e-01f, 1.060850804e-01f, 1.060058426e-01f, 1.059264470e-01f, 1.058468938e-01f, 1.057671831e-01f,
+1.056873151e-01f, 1.056072901e-01f, 1.055271081e-01f, 1.054467694e-01f, 1.053662742e-01f, 1.052856227e-01f, 1.052048150e-01f, 1.051238513e-01f, 1.050427318e-01f, 1.049614567e-01f,
+1.048800262e-01f, 1.047984404e-01f, 1.047166996e-01f, 1.046348040e-01f, 1.045527537e-01f, 1.044705488e-01f, 1.043881897e-01f, 1.043056765e-01f, 1.042230093e-01f, 1.041401884e-01f,
+1.040572140e-01f, 1.039740862e-01f, 1.038908052e-01f, 1.038073712e-01f, 1.037237845e-01f, 1.036400451e-01f, 1.035561533e-01f, 1.034721093e-01f, 1.033879132e-01f, 1.033035653e-01f,
+1.032190657e-01f, 1.031344147e-01f, 1.030496124e-01f, 1.029646590e-01f, 1.028795547e-01f, 1.027942996e-01f, 1.027088941e-01f, 1.026233382e-01f, 1.025376322e-01f, 1.024517763e-01f,
+1.023657706e-01f, 1.022796153e-01f, 1.021933107e-01f, 1.021068569e-01f, 1.020202541e-01f, 1.019335025e-01f, 1.018466023e-01f, 1.017595538e-01f, 1.016723570e-01f, 1.015850121e-01f,
+1.014975195e-01f, 1.014098792e-01f, 1.013220915e-01f, 1.012341566e-01f, 1.011460746e-01f, 1.010578457e-01f, 1.009694702e-01f, 1.008809482e-01f, 1.007922799e-01f, 1.007034656e-01f,
+1.006145054e-01f, 1.005253995e-01f, 1.004361481e-01f, 1.003467514e-01f, 1.002572096e-01f, 1.001675229e-01f, 1.000776915e-01f, 9.998771561e-02f, 9.989759539e-02f, 9.980733106e-02f,
+9.971692281e-02f, 9.962637084e-02f, 9.953567535e-02f, 9.944483653e-02f, 9.935385458e-02f, 9.926272970e-02f, 9.917146209e-02f, 9.908005194e-02f, 9.898849946e-02f, 9.889680484e-02f,
+9.880496828e-02f, 9.871298998e-02f, 9.862087014e-02f, 9.852860896e-02f, 9.843620664e-02f, 9.834366337e-02f, 9.825097936e-02f, 9.815815481e-02f, 9.806518992e-02f, 9.797208489e-02f,
+9.787883991e-02f, 9.778545519e-02f, 9.769193093e-02f, 9.759826734e-02f, 9.750446460e-02f, 9.741052293e-02f, 9.731644252e-02f, 9.722222358e-02f, 9.712786630e-02f, 9.703337090e-02f,
+9.693873756e-02f, 9.684396650e-02f, 9.674905792e-02f, 9.665401202e-02f, 9.655882900e-02f, 9.646350906e-02f, 9.636805241e-02f, 9.627245925e-02f, 9.617672978e-02f, 9.608086422e-02f,
+9.598486275e-02f, 9.588872559e-02f, 9.579245294e-02f, 9.569604501e-02f, 9.559950199e-02f, 9.550282409e-02f, 9.540601152e-02f, 9.530906448e-02f, 9.521198318e-02f, 9.511476783e-02f,
+9.501741861e-02f, 9.491993576e-02f, 9.482231946e-02f, 9.472456992e-02f, 9.462668735e-02f, 9.452867196e-02f, 9.443052396e-02f, 9.433224354e-02f, 9.423383091e-02f, 9.413528629e-02f,
+9.403660988e-02f, 9.393780188e-02f, 9.383886250e-02f, 9.373979196e-02f, 9.364059045e-02f, 9.354125818e-02f, 9.344179537e-02f, 9.334220222e-02f, 9.324247894e-02f, 9.314262573e-02f,
+9.304264281e-02f, 9.294253039e-02f, 9.284228866e-02f, 9.274191785e-02f, 9.264141815e-02f, 9.254078979e-02f, 9.244003296e-02f, 9.233914788e-02f, 9.223813476e-02f, 9.213699380e-02f,
+9.203572522e-02f, 9.193432923e-02f, 9.183280603e-02f, 9.173115584e-02f, 9.162937886e-02f, 9.152747531e-02f, 9.142544540e-02f, 9.132328934e-02f, 9.122100734e-02f, 9.111859961e-02f,
+9.101606636e-02f, 9.091340781e-02f, 9.081062416e-02f, 9.070771562e-02f, 9.060468242e-02f, 9.050152475e-02f, 9.039824284e-02f, 9.029483689e-02f, 9.019130711e-02f, 9.008765373e-02f,
+8.998387695e-02f, 8.987997698e-02f, 8.977595404e-02f, 8.967180834e-02f, 8.956754009e-02f, 8.946314951e-02f, 8.935863681e-02f, 8.925400220e-02f, 8.914924591e-02f, 8.904436813e-02f,
+8.893936909e-02f, 8.883424899e-02f, 8.872900806e-02f, 8.862364651e-02f, 8.851816455e-02f, 8.841256240e-02f, 8.830684026e-02f, 8.820099837e-02f, 8.809503692e-02f, 8.798895615e-02f,
+8.788275625e-02f, 8.777643745e-02f, 8.766999997e-02f, 8.756344401e-02f, 8.745676980e-02f, 8.734997755e-02f, 8.724306747e-02f, 8.713603979e-02f, 8.702889471e-02f, 8.692163246e-02f,
+8.681425325e-02f, 8.670675730e-02f, 8.659914482e-02f, 8.649141604e-02f, 8.638357116e-02f, 8.627561042e-02f, 8.616753401e-02f, 8.605934217e-02f, 8.595103510e-02f, 8.584261303e-02f,
+8.573407617e-02f, 8.562542475e-02f, 8.551665897e-02f, 8.540777906e-02f, 8.529878524e-02f, 8.518967773e-02f, 8.508045673e-02f, 8.497112248e-02f, 8.486167519e-02f, 8.475211508e-02f,
+8.464244236e-02f, 8.453265726e-02f, 8.442276000e-02f, 8.431275080e-02f, 8.420262987e-02f, 8.409239743e-02f, 8.398205371e-02f, 8.387159893e-02f, 8.376103330e-02f, 8.365035704e-02f,
+8.353957038e-02f, 8.342867353e-02f, 8.331766672e-02f, 8.320655016e-02f, 8.309532408e-02f, 8.298398869e-02f, 8.287254422e-02f, 8.276099090e-02f, 8.264932893e-02f, 8.253755854e-02f,
+8.242567995e-02f, 8.231369339e-02f, 8.220159907e-02f, 8.208939722e-02f, 8.197708806e-02f, 8.186467181e-02f, 8.175214868e-02f, 8.163951892e-02f, 8.152678273e-02f, 8.141394033e-02f,
+8.130099196e-02f, 8.118793783e-02f, 8.107477817e-02f, 8.096151320e-02f, 8.084814313e-02f, 8.073466820e-02f, 8.062108863e-02f, 8.050740464e-02f, 8.039361645e-02f, 8.027972429e-02f,
+8.016572838e-02f, 8.005162894e-02f, 7.993742620e-02f, 7.982312038e-02f, 7.970871170e-02f, 7.959420039e-02f, 7.947958668e-02f, 7.936487078e-02f, 7.925005292e-02f, 7.913513333e-02f,
+7.902011223e-02f, 7.890498984e-02f, 7.878976639e-02f, 7.867444211e-02f, 7.855901721e-02f, 7.844349193e-02f, 7.832786648e-02f, 7.821214110e-02f, 7.809631600e-02f, 7.798039142e-02f,
+7.786436758e-02f, 7.774824471e-02f, 7.763202302e-02f, 7.751570275e-02f, 7.739928412e-02f, 7.728276736e-02f, 7.716615269e-02f, 7.704944034e-02f, 7.693263054e-02f, 7.681572351e-02f,
+7.669871947e-02f, 7.658161867e-02f, 7.646442131e-02f, 7.634712763e-02f, 7.622973785e-02f, 7.611225221e-02f, 7.599467092e-02f, 7.587699422e-02f, 7.575922233e-02f, 7.564135548e-02f,
+7.552339390e-02f, 7.540533780e-02f, 7.528718743e-02f, 7.516894301e-02f, 7.505060477e-02f, 7.493217293e-02f, 7.481364772e-02f, 7.469502936e-02f, 7.457631810e-02f, 7.445751415e-02f,
+7.433861774e-02f, 7.421962911e-02f, 7.410054847e-02f, 7.398137607e-02f, 7.386211212e-02f, 7.374275685e-02f, 7.362331050e-02f, 7.350377328e-02f, 7.338414544e-02f, 7.326442720e-02f,
+7.314461879e-02f, 7.302472043e-02f, 7.290473236e-02f, 7.278465481e-02f, 7.266448800e-02f, 7.254423216e-02f, 7.242388753e-02f, 7.230345433e-02f, 7.218293280e-02f, 7.206232315e-02f,
+7.194162563e-02f, 7.182084045e-02f, 7.169996786e-02f, 7.157900808e-02f, 7.145796134e-02f, 7.133682787e-02f, 7.121560791e-02f, 7.109430167e-02f, 7.097290940e-02f, 7.085143131e-02f,
+7.072986765e-02f, 7.060821864e-02f, 7.048648452e-02f, 7.036466551e-02f, 7.024276184e-02f, 7.012077375e-02f, 6.999870147e-02f, 6.987654522e-02f, 6.975430524e-02f, 6.963198176e-02f,
+6.950957501e-02f, 6.938708522e-02f, 6.926451262e-02f, 6.914185745e-02f, 6.901911993e-02f, 6.889630030e-02f, 6.877339879e-02f, 6.865041563e-02f, 6.852735105e-02f, 6.840420528e-02f,
+6.828097856e-02f, 6.815767111e-02f, 6.803428318e-02f, 6.791081498e-02f, 6.778726676e-02f, 6.766363874e-02f, 6.753993115e-02f, 6.741614424e-02f, 6.729227823e-02f, 6.716833335e-02f,
+6.704430984e-02f, 6.692020793e-02f, 6.679602785e-02f, 6.667176983e-02f, 6.654743410e-02f, 6.642302091e-02f, 6.629853048e-02f, 6.617396304e-02f, 6.604931883e-02f, 6.592459809e-02f,
+6.579980103e-02f, 6.567492790e-02f, 6.554997893e-02f, 6.542495436e-02f, 6.529985440e-02f, 6.517467931e-02f, 6.504942931e-02f, 6.492410464e-02f, 6.479870552e-02f, 6.467323220e-02f,
+6.454768491e-02f, 6.442206387e-02f, 6.429636933e-02f, 6.417060151e-02f, 6.404476066e-02f, 6.391884700e-02f, 6.379286077e-02f, 6.366680220e-02f, 6.354067153e-02f, 6.341446898e-02f,
+6.328819480e-02f, 6.316184922e-02f, 6.303543248e-02f, 6.290894480e-02f, 6.278238642e-02f, 6.265575757e-02f, 6.252905850e-02f, 6.240228943e-02f, 6.227545060e-02f, 6.214854224e-02f,
+6.202156459e-02f, 6.189451788e-02f, 6.176740234e-02f, 6.164021822e-02f, 6.151296574e-02f, 6.138564515e-02f, 6.125825667e-02f, 6.113080054e-02f, 6.100327699e-02f, 6.087568626e-02f,
+6.074802859e-02f, 6.062030421e-02f, 6.049251336e-02f, 6.036465626e-02f, 6.023673316e-02f, 6.010874429e-02f, 5.998068988e-02f, 5.985257018e-02f, 5.972438541e-02f, 5.959613581e-02f,
+5.946782162e-02f, 5.933944307e-02f, 5.921100039e-02f, 5.908249383e-02f, 5.895392362e-02f, 5.882528999e-02f, 5.869659319e-02f, 5.856783343e-02f, 5.843901097e-02f, 5.831012603e-02f,
+5.818117885e-02f, 5.805216968e-02f, 5.792309873e-02f, 5.779396625e-02f, 5.766477248e-02f, 5.753551765e-02f, 5.740620200e-02f, 5.727682576e-02f, 5.714738916e-02f, 5.701789245e-02f,
+5.688833587e-02f, 5.675871963e-02f, 5.662904400e-02f, 5.649930918e-02f, 5.636951544e-02f, 5.623966299e-02f, 5.610975209e-02f, 5.597978295e-02f, 5.584975583e-02f, 5.571967095e-02f,
+5.558952855e-02f, 5.545932887e-02f, 5.532907215e-02f, 5.519875861e-02f, 5.506838851e-02f, 5.493796206e-02f, 5.480747952e-02f, 5.467694112e-02f, 5.454634709e-02f, 5.441569766e-02f,
+5.428499309e-02f, 5.415423360e-02f, 5.402341942e-02f, 5.389255080e-02f, 5.376162798e-02f, 5.363065118e-02f, 5.349962065e-02f, 5.336853662e-02f, 5.323739933e-02f, 5.310620902e-02f,
+5.297496592e-02f, 5.284367027e-02f, 5.271232231e-02f, 5.258092226e-02f, 5.244947038e-02f, 5.231796690e-02f, 5.218641204e-02f, 5.205480606e-02f, 5.192314918e-02f, 5.179144165e-02f,
+5.165968370e-02f, 5.152787557e-02f, 5.139601749e-02f, 5.126410970e-02f, 5.113215244e-02f, 5.100014595e-02f, 5.086809046e-02f, 5.073598621e-02f, 5.060383343e-02f, 5.047163237e-02f,
+5.033938326e-02f, 5.020708633e-02f, 5.007474183e-02f, 4.994235000e-02f, 4.980991106e-02f, 4.967742525e-02f, 4.954489282e-02f, 4.941231400e-02f, 4.927968902e-02f, 4.914701813e-02f,
+4.901430156e-02f, 4.888153955e-02f, 4.874873233e-02f, 4.861588015e-02f, 4.848298323e-02f, 4.835004182e-02f, 4.821705616e-02f, 4.808402647e-02f, 4.795095300e-02f, 4.781783599e-02f,
+4.768467567e-02f, 4.755147228e-02f, 4.741822606e-02f, 4.728493724e-02f, 4.715160606e-02f, 4.701823276e-02f, 4.688481758e-02f, 4.675136074e-02f, 4.661786250e-02f, 4.648432308e-02f,
+4.635074273e-02f, 4.621712168e-02f, 4.608346016e-02f, 4.594975842e-02f, 4.581601670e-02f, 4.568223522e-02f, 4.554841423e-02f, 4.541455396e-02f, 4.528065466e-02f, 4.514671655e-02f,
+4.501273988e-02f, 4.487872488e-02f, 4.474467179e-02f, 4.461058084e-02f, 4.447645228e-02f, 4.434228634e-02f, 4.420808326e-02f, 4.407384328e-02f, 4.393956662e-02f, 4.380525354e-02f,
+4.367090426e-02f, 4.353651903e-02f, 4.340209807e-02f, 4.326764163e-02f, 4.313314995e-02f, 4.299862326e-02f, 4.286406180e-02f, 4.272946580e-02f, 4.259483550e-02f, 4.246017115e-02f,
+4.232547297e-02f, 4.219074120e-02f, 4.205597609e-02f, 4.192117786e-02f, 4.178634675e-02f, 4.165148301e-02f, 4.151658686e-02f, 4.138165855e-02f, 4.124669831e-02f, 4.111170638e-02f,
+4.097668300e-02f, 4.084162839e-02f, 4.070654281e-02f, 4.057142648e-02f, 4.043627964e-02f, 4.030110253e-02f, 4.016589539e-02f, 4.003065845e-02f, 3.989539195e-02f, 3.976009613e-02f,
+3.962477122e-02f, 3.948941745e-02f, 3.935403508e-02f, 3.921862432e-02f, 3.908318543e-02f, 3.894771863e-02f, 3.881222416e-02f, 3.867670226e-02f, 3.854115317e-02f, 3.840557711e-02f,
+3.826997434e-02f, 3.813434508e-02f, 3.799868957e-02f, 3.786300805e-02f, 3.772730075e-02f, 3.759156791e-02f, 3.745580976e-02f, 3.732002655e-02f, 3.718421851e-02f, 3.704838587e-02f,
+3.691252887e-02f, 3.677664775e-02f, 3.664074274e-02f, 3.650481408e-02f, 3.636886201e-02f, 3.623288676e-02f, 3.609688856e-02f, 3.596086766e-02f, 3.582482429e-02f, 3.568875868e-02f,
+3.555267107e-02f, 3.541656170e-02f, 3.528043081e-02f, 3.514427862e-02f, 3.500810538e-02f, 3.487191131e-02f, 3.473569666e-02f, 3.459946167e-02f, 3.446320656e-02f, 3.432693157e-02f,
+3.419063694e-02f, 3.405432291e-02f, 3.391798970e-02f, 3.378163756e-02f, 3.364526672e-02f, 3.350887742e-02f, 3.337246988e-02f, 3.323604435e-02f, 3.309960107e-02f, 3.296314025e-02f,
+3.282666216e-02f, 3.269016700e-02f, 3.255365504e-02f, 3.241712648e-02f, 3.228058158e-02f, 3.214402057e-02f, 3.200744368e-02f, 3.187085115e-02f, 3.173424321e-02f, 3.159762009e-02f,
+3.146098204e-02f, 3.132432929e-02f, 3.118766206e-02f, 3.105098060e-02f, 3.091428514e-02f, 3.077757592e-02f, 3.064085317e-02f, 3.050411712e-02f, 3.036736801e-02f, 3.023060607e-02f,
+3.009383154e-02f, 2.995704465e-02f, 2.982024564e-02f, 2.968343474e-02f, 2.954661218e-02f, 2.940977820e-02f, 2.927293303e-02f, 2.913607691e-02f, 2.899921007e-02f, 2.886233275e-02f,
+2.872544517e-02f, 2.858854758e-02f, 2.845164020e-02f, 2.831472327e-02f, 2.817779703e-02f, 2.804086170e-02f, 2.790391752e-02f, 2.776696473e-02f, 2.763000356e-02f, 2.749303423e-02f,
+2.735605699e-02f, 2.721907207e-02f, 2.708207970e-02f, 2.694508012e-02f, 2.680807355e-02f, 2.667106024e-02f, 2.653404040e-02f, 2.639701429e-02f, 2.625998212e-02f, 2.612294414e-02f,
+2.598590057e-02f, 2.584885166e-02f, 2.571179762e-02f, 2.557473869e-02f, 2.543767512e-02f, 2.530060712e-02f, 2.516353493e-02f, 2.502645879e-02f, 2.488937892e-02f, 2.475229556e-02f,
+2.461520894e-02f, 2.447811930e-02f, 2.434102686e-02f, 2.420393186e-02f, 2.406683452e-02f, 2.392973509e-02f, 2.379263379e-02f, 2.365553086e-02f, 2.351842652e-02f, 2.338132102e-02f,
+2.324421457e-02f, 2.310710741e-02f, 2.296999978e-02f, 2.283289190e-02f, 2.269578401e-02f, 2.255867633e-02f, 2.242156911e-02f, 2.228446256e-02f, 2.214735692e-02f, 2.201025243e-02f,
+2.187314931e-02f, 2.173604779e-02f, 2.159894811e-02f, 2.146185049e-02f, 2.132475517e-02f, 2.118766238e-02f, 2.105057235e-02f, 2.091348530e-02f, 2.077640147e-02f, 2.063932109e-02f,
+2.050224439e-02f, 2.036517160e-02f, 2.022810295e-02f, 2.009103866e-02f, 1.995397898e-02f, 1.981692413e-02f, 1.967987434e-02f, 1.954282984e-02f, 1.940579085e-02f, 1.926875762e-02f,
+1.913173036e-02f, 1.899470931e-02f, 1.885769470e-02f, 1.872068675e-02f, 1.858368570e-02f, 1.844669178e-02f, 1.830970521e-02f, 1.817272623e-02f, 1.803575505e-02f, 1.789879192e-02f,
+1.776183706e-02f, 1.762489070e-02f, 1.748795306e-02f, 1.735102438e-02f, 1.721410489e-02f, 1.707719480e-02f, 1.694029436e-02f, 1.680340379e-02f, 1.666652332e-02f, 1.652965318e-02f,
+1.639279358e-02f, 1.625594477e-02f, 1.611910697e-02f, 1.598228041e-02f, 1.584546532e-02f, 1.570866191e-02f, 1.557187043e-02f, 1.543509109e-02f, 1.529832414e-02f, 1.516156978e-02f,
+1.502482825e-02f, 1.488809978e-02f, 1.475138460e-02f, 1.461468293e-02f, 1.447799499e-02f, 1.434132102e-02f, 1.420466124e-02f, 1.406801588e-02f, 1.393138516e-02f, 1.379476932e-02f,
+1.365816857e-02f, 1.352158315e-02f, 1.338501327e-02f, 1.324845917e-02f, 1.311192108e-02f, 1.297539921e-02f, 1.283889380e-02f, 1.270240506e-02f, 1.256593323e-02f, 1.242947853e-02f,
+1.229304119e-02f, 1.215662143e-02f, 1.202021948e-02f, 1.188383555e-02f, 1.174746989e-02f, 1.161112271e-02f, 1.147479423e-02f, 1.133848469e-02f, 1.120219430e-02f, 1.106592329e-02f,
+1.092967189e-02f, 1.079344032e-02f, 1.065722880e-02f, 1.052103757e-02f, 1.038486683e-02f, 1.024871683e-02f, 1.011258777e-02f, 9.976479888e-03f, 9.840393405e-03f, 9.704328544e-03f,
+9.568285529e-03f, 9.432264583e-03f, 9.296265930e-03f, 9.160289793e-03f, 9.024336395e-03f, 8.888405959e-03f, 8.752498709e-03f, 8.616614866e-03f, 8.480754655e-03f, 8.344918297e-03f,
+8.209106015e-03f, 8.073318031e-03f, 7.937554569e-03f, 7.801815850e-03f, 7.666102096e-03f, 7.530413530e-03f, 7.394750373e-03f, 7.259112847e-03f, 7.123501175e-03f, 6.987915577e-03f,
+6.852356276e-03f, 6.716823492e-03f, 6.581317447e-03f, 6.445838363e-03f, 6.310386460e-03f, 6.174961960e-03f, 6.039565083e-03f, 5.904196050e-03f, 5.768855082e-03f, 5.633542399e-03f,
+5.498258223e-03f, 5.363002773e-03f, 5.227776270e-03f, 5.092578933e-03f, 4.957410983e-03f, 4.822272640e-03f, 4.687164124e-03f, 4.552085654e-03f, 4.417037451e-03f, 4.282019732e-03f,
+4.147032719e-03f, 4.012076630e-03f, 3.877151684e-03f, 3.742258101e-03f, 3.607396099e-03f, 3.472565897e-03f, 3.337767714e-03f, 3.203001769e-03f, 3.068268280e-03f, 2.933567466e-03f,
+2.798899544e-03f, 2.664264733e-03f, 2.529663251e-03f, 2.395095316e-03f, 2.260561146e-03f, 2.126060958e-03f, 1.991594970e-03f, 1.857163399e-03f, 1.722766463e-03f, 1.588404380e-03f,
+1.454077365e-03f, 1.319785637e-03f, 1.185529411e-03f, 1.051308906e-03f, 9.171243363e-04f, 7.829759199e-04f, 6.488638730e-04f, 5.147884117e-04f, 3.807497521e-04f, 2.467481105e-04f,
+1.127837026e-04f, -2.114325572e-05f, -1.550325488e-04f, -2.888839610e-04f, -4.226972769e-04f, -5.564722813e-04f, -6.902087588e-04f, -8.239064945e-04f, -9.575652734e-04f, -1.091184881e-03f,
+-1.224765101e-03f, -1.358305721e-03f, -1.491806526e-03f, -1.625267301e-03f, -1.758687832e-03f, -1.892067905e-03f, -2.025407306e-03f, -2.158705821e-03f, -2.291963236e-03f, -2.425179339e-03f,
+-2.558353915e-03f, -2.691486751e-03f, -2.824577634e-03f, -2.957626351e-03f, -3.090632689e-03f, -3.223596435e-03f, -3.356517376e-03f, -3.489395300e-03f, -3.622229995e-03f, -3.755021248e-03f,
+-3.887768846e-03f, -4.020472579e-03f, -4.153132234e-03f, -4.285747599e-03f, -4.418318462e-03f, -4.550844613e-03f, -4.683325839e-03f, -4.815761930e-03f, -4.948152674e-03f, -5.080497860e-03f,
+-5.212797278e-03f, -5.345050717e-03f, -5.477257965e-03f, -5.609418814e-03f, -5.741533052e-03f, -5.873600469e-03f, -6.005620855e-03f, -6.137594000e-03f, -6.269519695e-03f, -6.401397730e-03f,
+-6.533227895e-03f, -6.665009981e-03f, -6.796743778e-03f, -6.928429078e-03f, -7.060065672e-03f, -7.191653350e-03f, -7.323191905e-03f, -7.454681127e-03f, -7.586120808e-03f, -7.717510741e-03f,
+-7.848850715e-03f, -7.980140525e-03f, -8.111379961e-03f, -8.242568817e-03f, -8.373706884e-03f, -8.504793955e-03f, -8.635829823e-03f, -8.766814281e-03f, -8.897747122e-03f, -9.028628138e-03f,
+-9.159457123e-03f, -9.290233871e-03f, -9.420958175e-03f, -9.551629828e-03f, -9.682248625e-03f, -9.812814360e-03f, -9.943326826e-03f, -1.007378582e-02f, -1.020419113e-02f, -1.033454256e-02f,
+-1.046483990e-02f, -1.059508294e-02f, -1.072527148e-02f, -1.085540531e-02f, -1.098548424e-02f, -1.111550805e-02f, -1.124547654e-02f, -1.137538951e-02f, -1.150524675e-02f, -1.163504806e-02f,
+-1.176479324e-02f, -1.189448207e-02f, -1.202411436e-02f, -1.215368991e-02f, -1.228320851e-02f, -1.241266995e-02f, -1.254207404e-02f, -1.267142057e-02f, -1.280070935e-02f, -1.292994015e-02f,
+-1.305911280e-02f, -1.318822707e-02f, -1.331728278e-02f, -1.344627971e-02f, -1.357521767e-02f, -1.370409646e-02f, -1.383291587e-02f, -1.396167570e-02f, -1.409037575e-02f, -1.421901582e-02f,
+-1.434759572e-02f, -1.447611523e-02f, -1.460457416e-02f, -1.473297231e-02f, -1.486130947e-02f, -1.498958546e-02f, -1.511780006e-02f, -1.524595308e-02f, -1.537404431e-02f, -1.550207357e-02f,
+-1.563004065e-02f, -1.575794534e-02f, -1.588578746e-02f, -1.601356681e-02f, -1.614128317e-02f, -1.626893636e-02f, -1.639652618e-02f, -1.652405243e-02f, -1.665151491e-02f, -1.677891343e-02f,
+-1.690624778e-02f, -1.703351776e-02f, -1.716072319e-02f, -1.728786386e-02f, -1.741493958e-02f, -1.754195015e-02f, -1.766889537e-02f, -1.779577505e-02f, -1.792258899e-02f, -1.804933699e-02f,
+-1.817601886e-02f, -1.830263440e-02f, -1.842918342e-02f, -1.855566572e-02f, -1.868208110e-02f, -1.880842937e-02f, -1.893471034e-02f, -1.906092381e-02f, -1.918706958e-02f, -1.931314746e-02f,
+-1.943915726e-02f, -1.956509878e-02f, -1.969097182e-02f, -1.981677620e-02f, -1.994251172e-02f, -2.006817819e-02f, -2.019377541e-02f, -2.031930318e-02f, -2.044476133e-02f, -2.057014964e-02f,
+-2.069546794e-02f, -2.082071603e-02f, -2.094589371e-02f, -2.107100079e-02f, -2.119603708e-02f, -2.132100240e-02f, -2.144589654e-02f, -2.157071931e-02f, -2.169547053e-02f, -2.182015001e-02f,
+-2.194475754e-02f, -2.206929295e-02f, -2.219375603e-02f, -2.231814661e-02f, -2.244246448e-02f, -2.256670947e-02f, -2.269088137e-02f, -2.281498000e-02f, -2.293900517e-02f, -2.306295669e-02f,
+-2.318683437e-02f, -2.331063802e-02f, -2.343436745e-02f, -2.355802247e-02f, -2.368160290e-02f, -2.380510855e-02f, -2.392853922e-02f, -2.405189473e-02f, -2.417517490e-02f, -2.429837952e-02f,
+-2.442150843e-02f, -2.454456142e-02f, -2.466753831e-02f, -2.479043892e-02f, -2.491326305e-02f, -2.503601052e-02f, -2.515868115e-02f, -2.528127474e-02f, -2.540379112e-02f, -2.552623009e-02f,
+-2.564859147e-02f, -2.577087507e-02f, -2.589308071e-02f, -2.601520820e-02f, -2.613725736e-02f, -2.625922800e-02f, -2.638111994e-02f, -2.650293299e-02f, -2.662466697e-02f, -2.674632170e-02f,
+-2.686789698e-02f, -2.698939264e-02f, -2.711080850e-02f, -2.723214436e-02f, -2.735340005e-02f, -2.747457538e-02f, -2.759567016e-02f, -2.771668423e-02f, -2.783761739e-02f, -2.795846946e-02f,
+-2.807924026e-02f, -2.819992960e-02f, -2.832053732e-02f, -2.844106321e-02f, -2.856150711e-02f, -2.868186883e-02f, -2.880214818e-02f, -2.892234500e-02f, -2.904245909e-02f, -2.916249028e-02f,
+-2.928243838e-02f, -2.940230322e-02f, -2.952208462e-02f, -2.964178240e-02f, -2.976139637e-02f, -2.988092635e-02f, -3.000037218e-02f, -3.011973366e-02f, -3.023901063e-02f, -3.035820289e-02f,
+-3.047731028e-02f, -3.059633261e-02f, -3.071526971e-02f, -3.083412139e-02f, -3.095288749e-02f, -3.107156781e-02f, -3.119016219e-02f, -3.130867045e-02f, -3.142709241e-02f, -3.154542790e-02f,
+-3.166367673e-02f, -3.178183873e-02f, -3.189991372e-02f, -3.201790154e-02f, -3.213580199e-02f, -3.225361491e-02f, -3.237134013e-02f, -3.248897746e-02f, -3.260652672e-02f, -3.272398776e-02f,
+-3.284136039e-02f, -3.295864443e-02f, -3.307583971e-02f, -3.319294606e-02f, -3.330996331e-02f, -3.342689127e-02f, -3.354372978e-02f, -3.366047867e-02f, -3.377713775e-02f, -3.389370686e-02f,
+-3.401018582e-02f, -3.412657447e-02f, -3.424287262e-02f, -3.435908011e-02f, -3.447519677e-02f, -3.459122241e-02f, -3.470715688e-02f, -3.482300000e-02f, -3.493875159e-02f, -3.505441150e-02f,
+-3.516997954e-02f, -3.528545554e-02f, -3.540083934e-02f, -3.551613076e-02f, -3.563132964e-02f, -3.574643581e-02f, -3.586144909e-02f, -3.597636931e-02f, -3.609119631e-02f, -3.620592992e-02f,
+-3.632056997e-02f, -3.643511629e-02f, -3.654956870e-02f, -3.666392706e-02f, -3.677819117e-02f, -3.689236089e-02f, -3.700643603e-02f, -3.712041643e-02f, -3.723430193e-02f, -3.734809236e-02f,
+-3.746178755e-02f, -3.757538733e-02f, -3.768889154e-02f, -3.780230001e-02f, -3.791561257e-02f, -3.802882907e-02f, -3.814194932e-02f, -3.825497318e-02f, -3.836790047e-02f, -3.848073103e-02f,
+-3.859346469e-02f, -3.870610129e-02f, -3.881864066e-02f, -3.893108264e-02f, -3.904342707e-02f, -3.915567378e-02f, -3.926782260e-02f, -3.937987339e-02f, -3.949182596e-02f, -3.960368016e-02f,
+-3.971543583e-02f, -3.982709280e-02f, -3.993865091e-02f, -4.005011000e-02f, -4.016146991e-02f, -4.027273047e-02f, -4.038389153e-02f, -4.049495292e-02f, -4.060591447e-02f, -4.071677604e-02f,
+-4.082753746e-02f, -4.093819856e-02f, -4.104875920e-02f, -4.115921920e-02f, -4.126957841e-02f, -4.137983667e-02f, -4.148999381e-02f, -4.160004969e-02f, -4.171000414e-02f, -4.181985700e-02f,
+-4.192960811e-02f, -4.203925732e-02f, -4.214880446e-02f, -4.225824938e-02f, -4.236759193e-02f, -4.247683193e-02f, -4.258596924e-02f, -4.269500371e-02f, -4.280393516e-02f, -4.291276344e-02f,
+-4.302148841e-02f, -4.313010990e-02f, -4.323862775e-02f, -4.334704182e-02f, -4.345535193e-02f, -4.356355795e-02f, -4.367165971e-02f, -4.377965706e-02f, -4.388754984e-02f, -4.399533791e-02f,
+-4.410302109e-02f, -4.421059925e-02f, -4.431807222e-02f, -4.442543986e-02f, -4.453270201e-02f, -4.463985851e-02f, -4.474690921e-02f, -4.485385397e-02f, -4.496069262e-02f, -4.506742502e-02f,
+-4.517405101e-02f, -4.528057044e-02f, -4.538698316e-02f, -4.549328901e-02f, -4.559948785e-02f, -4.570557953e-02f, -4.581156389e-02f, -4.591744078e-02f, -4.602321006e-02f, -4.612887156e-02f,
+-4.623442515e-02f, -4.633987067e-02f, -4.644520798e-02f, -4.655043691e-02f, -4.665555733e-02f, -4.676056909e-02f, -4.686547203e-02f, -4.697026601e-02f, -4.707495088e-02f, -4.717952649e-02f,
+-4.728399269e-02f, -4.738834934e-02f, -4.749259628e-02f, -4.759673338e-02f, -4.770076048e-02f, -4.780467744e-02f, -4.790848411e-02f, -4.801218034e-02f, -4.811576599e-02f, -4.821924091e-02f,
+-4.832260496e-02f, -4.842585799e-02f, -4.852899985e-02f, -4.863203041e-02f, -4.873494951e-02f, -4.883775702e-02f, -4.894045278e-02f, -4.904303665e-02f, -4.914550849e-02f, -4.924786816e-02f,
+-4.935011551e-02f, -4.945225039e-02f, -4.955427268e-02f, -4.965618221e-02f, -4.975797886e-02f, -4.985966247e-02f, -4.996123291e-02f, -5.006269004e-02f, -5.016403370e-02f, -5.026526377e-02f,
+-5.036638009e-02f, -5.046738254e-02f, -5.056827096e-02f, -5.066904522e-02f, -5.076970518e-02f, -5.087025069e-02f, -5.097068162e-02f, -5.107099783e-02f, -5.117119917e-02f, -5.127128552e-02f,
+-5.137125672e-02f, -5.147111264e-02f, -5.157085315e-02f, -5.167047810e-02f, -5.176998736e-02f, -5.186938079e-02f, -5.196865825e-02f, -5.206781960e-02f, -5.216686470e-02f, -5.226579343e-02f,
+-5.236460564e-02f, -5.246330119e-02f, -5.256187996e-02f, -5.266034180e-02f, -5.275868658e-02f, -5.285691416e-02f, -5.295502441e-02f, -5.305301719e-02f, -5.315089237e-02f, -5.324864981e-02f,
+-5.334628938e-02f, -5.344381094e-02f, -5.354121437e-02f, -5.363849952e-02f, -5.373566626e-02f, -5.383271447e-02f, -5.392964400e-02f, -5.402645473e-02f, -5.412314651e-02f, -5.421971923e-02f,
+-5.431617275e-02f, -5.441250693e-02f, -5.450872164e-02f, -5.460481676e-02f, -5.470079215e-02f, -5.479664768e-02f, -5.489238322e-02f, -5.498799864e-02f, -5.508349380e-02f, -5.517886859e-02f,
+-5.527412287e-02f, -5.536925650e-02f, -5.546426937e-02f, -5.555916134e-02f, -5.565393228e-02f, -5.574858207e-02f, -5.584311057e-02f, -5.593751766e-02f, -5.603180321e-02f, -5.612596709e-02f,
+-5.622000917e-02f, -5.631392934e-02f, -5.640772745e-02f, -5.650140339e-02f, -5.659495703e-02f, -5.668838823e-02f, -5.678169689e-02f, -5.687488286e-02f, -5.696794603e-02f, -5.706088626e-02f,
+-5.715370344e-02f, -5.724639744e-02f, -5.733896813e-02f, -5.743141539e-02f, -5.752373910e-02f, -5.761593913e-02f, -5.770801536e-02f, -5.779996766e-02f, -5.789179592e-02f, -5.798350000e-02f,
+-5.807507979e-02f, -5.816653517e-02f, -5.825786600e-02f, -5.834907218e-02f, -5.844015357e-02f, -5.853111006e-02f, -5.862194153e-02f, -5.871264784e-02f, -5.880322890e-02f, -5.889368456e-02f,
+-5.898401472e-02f, -5.907421925e-02f, -5.916429803e-02f, -5.925425095e-02f, -5.934407788e-02f, -5.943377870e-02f, -5.952335330e-02f, -5.961280156e-02f, -5.970212335e-02f, -5.979131857e-02f,
+-5.988038709e-02f, -5.996932879e-02f, -6.005814356e-02f, -6.014683128e-02f, -6.023539184e-02f, -6.032382511e-02f, -6.041213099e-02f, -6.050030934e-02f, -6.058836007e-02f, -6.067628305e-02f,
+-6.076407816e-02f, -6.085174530e-02f, -6.093928434e-02f, -6.102669517e-02f, -6.111397769e-02f, -6.120113176e-02f, -6.128815729e-02f, -6.137505415e-02f, -6.146182223e-02f, -6.154846142e-02f,
+-6.163497161e-02f, -6.172135267e-02f, -6.180760451e-02f, -6.189372701e-02f, -6.197972005e-02f, -6.206558353e-02f, -6.215131732e-02f, -6.223692133e-02f, -6.232239544e-02f, -6.240773954e-02f,
+-6.249295351e-02f, -6.257803726e-02f, -6.266299066e-02f, -6.274781361e-02f, -6.283250599e-02f, -6.291706771e-02f, -6.300149864e-02f, -6.308579869e-02f, -6.316996773e-02f, -6.325400568e-02f,
+-6.333791240e-02f, -6.342168781e-02f, -6.350533178e-02f, -6.358884421e-02f, -6.367222501e-02f, -6.375547404e-02f, -6.383859122e-02f, -6.392157644e-02f, -6.400442958e-02f, -6.408715055e-02f,
+-6.416973924e-02f, -6.425219553e-02f, -6.433451933e-02f, -6.441671054e-02f, -6.449876904e-02f, -6.458069473e-02f, -6.466248751e-02f, -6.474414727e-02f, -6.482567392e-02f, -6.490706734e-02f,
+-6.498832744e-02f, -6.506945410e-02f, -6.515044723e-02f, -6.523130673e-02f, -6.531203249e-02f, -6.539262442e-02f, -6.547308240e-02f, -6.555340634e-02f, -6.563359613e-02f, -6.571365168e-02f,
+-6.579357289e-02f, -6.587335965e-02f, -6.595301186e-02f, -6.603252943e-02f, -6.611191225e-02f, -6.619116023e-02f, -6.627027326e-02f, -6.634925125e-02f, -6.642809410e-02f, -6.650680170e-02f,
+-6.658537397e-02f, -6.666381079e-02f, -6.674211209e-02f, -6.682027775e-02f, -6.689830768e-02f, -6.697620178e-02f, -6.705395996e-02f, -6.713158212e-02f, -6.720906816e-02f, -6.728641799e-02f,
+-6.736363151e-02f, -6.744070863e-02f, -6.751764925e-02f, -6.759445328e-02f, -6.767112061e-02f, -6.774765117e-02f, -6.782404484e-02f, -6.790030155e-02f, -6.797642119e-02f, -6.805240367e-02f,
+-6.812824889e-02f, -6.820395677e-02f, -6.827952722e-02f, -6.835496013e-02f, -6.843025542e-02f, -6.850541300e-02f, -6.858043277e-02f, -6.865531464e-02f, -6.873005853e-02f, -6.880466433e-02f,
+-6.887913196e-02f, -6.895346133e-02f, -6.902765235e-02f, -6.910170493e-02f, -6.917561897e-02f, -6.924939440e-02f, -6.932303111e-02f, -6.939652903e-02f, -6.946988806e-02f, -6.954310811e-02f,
+-6.961618910e-02f, -6.968913093e-02f, -6.976193353e-02f, -6.983459680e-02f, -6.990712065e-02f, -6.997950500e-02f, -7.005174976e-02f, -7.012385485e-02f, -7.019582018e-02f, -7.026764566e-02f,
+-7.033933121e-02f, -7.041087674e-02f, -7.048228217e-02f, -7.055354741e-02f, -7.062467237e-02f, -7.069565698e-02f, -7.076650115e-02f, -7.083720479e-02f, -7.090776783e-02f, -7.097819017e-02f,
+-7.104847174e-02f, -7.111861244e-02f, -7.118861221e-02f, -7.125847096e-02f, -7.132818860e-02f, -7.139776505e-02f, -7.146720023e-02f, -7.153649407e-02f, -7.160564647e-02f, -7.167465736e-02f,
+-7.174352666e-02f, -7.181225429e-02f, -7.188084016e-02f, -7.194928420e-02f, -7.201758633e-02f, -7.208574646e-02f, -7.215376453e-02f, -7.222164045e-02f, -7.228937413e-02f, -7.235696552e-02f,
+-7.242441452e-02f, -7.249172105e-02f, -7.255888505e-02f, -7.262590643e-02f, -7.269278512e-02f, -7.275952103e-02f, -7.282611410e-02f, -7.289256425e-02f, -7.295887140e-02f, -7.302503547e-02f,
+-7.309105639e-02f, -7.315693409e-02f, -7.322266849e-02f, -7.328825951e-02f, -7.335370708e-02f, -7.341901113e-02f, -7.348417158e-02f, -7.354918836e-02f, -7.361406140e-02f, -7.367879062e-02f,
+-7.374337594e-02f, -7.380781731e-02f, -7.387211464e-02f, -7.393626786e-02f, -7.400027690e-02f, -7.406414169e-02f, -7.412786216e-02f, -7.419143824e-02f, -7.425486985e-02f, -7.431815692e-02f,
+-7.438129939e-02f, -7.444429719e-02f, -7.450715024e-02f, -7.456985848e-02f, -7.463242183e-02f, -7.469484023e-02f, -7.475711361e-02f, -7.481924190e-02f, -7.488122503e-02f, -7.494306293e-02f,
+-7.500475554e-02f, -7.506630279e-02f, -7.512770461e-02f, -7.518896094e-02f, -7.525007170e-02f, -7.531103684e-02f, -7.537185628e-02f, -7.543252996e-02f, -7.549305781e-02f, -7.555343977e-02f,
+-7.561367577e-02f, -7.567376576e-02f, -7.573370965e-02f, -7.579350740e-02f, -7.585315893e-02f, -7.591266418e-02f, -7.597202309e-02f, -7.603123560e-02f, -7.609030164e-02f, -7.614922114e-02f,
+-7.620799405e-02f, -7.626662031e-02f, -7.632509985e-02f, -7.638343260e-02f, -7.644161852e-02f, -7.649965753e-02f, -7.655754958e-02f, -7.661529461e-02f, -7.667289255e-02f, -7.673034335e-02f,
+-7.678764694e-02f, -7.684480326e-02f, -7.690181227e-02f, -7.695867389e-02f, -7.701538806e-02f, -7.707195474e-02f, -7.712837386e-02f, -7.718464536e-02f, -7.724076919e-02f, -7.729674528e-02f,
+-7.735257358e-02f, -7.740825404e-02f, -7.746378659e-02f, -7.751917118e-02f, -7.757440776e-02f, -7.762949626e-02f, -7.768443663e-02f, -7.773922882e-02f, -7.779387277e-02f, -7.784836843e-02f,
+-7.790271574e-02f, -7.795691464e-02f, -7.801096509e-02f, -7.806486702e-02f, -7.811862039e-02f, -7.817222514e-02f, -7.822568122e-02f, -7.827898857e-02f, -7.833214715e-02f, -7.838515689e-02f,
+-7.843801776e-02f, -7.849072969e-02f, -7.854329263e-02f, -7.859570654e-02f, -7.864797136e-02f, -7.870008704e-02f, -7.875205353e-02f, -7.880387078e-02f, -7.885553874e-02f, -7.890705737e-02f,
+-7.895842660e-02f, -7.900964640e-02f, -7.906071670e-02f, -7.911163748e-02f, -7.916240866e-02f, -7.921303022e-02f, -7.926350209e-02f, -7.931382424e-02f, -7.936399661e-02f, -7.941401916e-02f,
+-7.946389183e-02f, -7.951361459e-02f, -7.956318739e-02f, -7.961261018e-02f, -7.966188292e-02f, -7.971100555e-02f, -7.975997804e-02f, -7.980880033e-02f, -7.985747239e-02f, -7.990599417e-02f,
+-7.995436563e-02f, -8.000258672e-02f, -8.005065739e-02f, -8.009857761e-02f, -8.014634733e-02f, -8.019396651e-02f, -8.024143510e-02f, -8.028875306e-02f, -8.033592036e-02f, -8.038293694e-02f,
+-8.042980277e-02f, -8.047651781e-02f, -8.052308201e-02f, -8.056949533e-02f, -8.061575774e-02f, -8.066186919e-02f, -8.070782964e-02f, -8.075363905e-02f, -8.079929738e-02f, -8.084480460e-02f,
+-8.089016066e-02f, -8.093536553e-02f, -8.098041917e-02f, -8.102532153e-02f, -8.107007258e-02f, -8.111467229e-02f, -8.115912061e-02f, -8.120341751e-02f, -8.124756295e-02f, -8.129155690e-02f,
+-8.133539931e-02f, -8.137909015e-02f, -8.142262939e-02f, -8.146601699e-02f, -8.150925292e-02f, -8.155233713e-02f, -8.159526960e-02f, -8.163805029e-02f, -8.168067916e-02f, -8.172315619e-02f,
+-8.176548133e-02f, -8.180765456e-02f, -8.184967584e-02f, -8.189154513e-02f, -8.193326241e-02f, -8.197482764e-02f, -8.201624080e-02f, -8.205750184e-02f, -8.209861073e-02f, -8.213956745e-02f,
+-8.218037197e-02f, -8.222102424e-02f, -8.226152425e-02f, -8.230187196e-02f, -8.234206734e-02f, -8.238211037e-02f, -8.242200100e-02f, -8.246173922e-02f, -8.250132498e-02f, -8.254075828e-02f,
+-8.258003906e-02f, -8.261916732e-02f, -8.265814301e-02f, -8.269696612e-02f, -8.273563661e-02f, -8.277415445e-02f, -8.281251962e-02f, -8.285073210e-02f, -8.288879185e-02f, -8.292669885e-02f,
+-8.296445308e-02f, -8.300205450e-02f, -8.303950310e-02f, -8.307679884e-02f, -8.311394170e-02f, -8.315093166e-02f, -8.318776870e-02f, -8.322445278e-02f, -8.326098389e-02f, -8.329736200e-02f,
+-8.333358708e-02f, -8.336965912e-02f, -8.340557809e-02f, -8.344134398e-02f, -8.347695674e-02f, -8.351241638e-02f, -8.354772285e-02f, -8.358287615e-02f, -8.361787624e-02f, -8.365272312e-02f,
+-8.368741675e-02f, -8.372195712e-02f, -8.375634420e-02f, -8.379057799e-02f, -8.382465845e-02f, -8.385858557e-02f, -8.389235932e-02f, -8.392597970e-02f, -8.395944668e-02f, -8.399276024e-02f,
+-8.402592036e-02f, -8.405892703e-02f, -8.409178023e-02f, -8.412447994e-02f, -8.415702614e-02f, -8.418941882e-02f, -8.422165796e-02f, -8.425374355e-02f, -8.428567556e-02f, -8.431745399e-02f,
+-8.434907881e-02f, -8.438055001e-02f, -8.441186758e-02f, -8.444303150e-02f, -8.447404175e-02f, -8.450489833e-02f, -8.453560122e-02f, -8.456615040e-02f, -8.459654586e-02f, -8.462678759e-02f,
+-8.465687557e-02f, -8.468680980e-02f, -8.471659025e-02f, -8.474621693e-02f, -8.477568980e-02f, -8.480500888e-02f, -8.483417413e-02f, -8.486318555e-02f, -8.489204314e-02f, -8.492074687e-02f,
+-8.494929674e-02f, -8.497769274e-02f, -8.500593486e-02f, -8.503402309e-02f, -8.506195742e-02f, -8.508973784e-02f, -8.511736434e-02f, -8.514483691e-02f, -8.517215555e-02f, -8.519932024e-02f,
+-8.522633099e-02f, -8.525318777e-02f, -8.527989059e-02f, -8.530643944e-02f, -8.533283431e-02f, -8.535907519e-02f, -8.538516207e-02f, -8.541109496e-02f, -8.543687385e-02f, -8.546249872e-02f,
+-8.548796958e-02f, -8.551328642e-02f, -8.553844923e-02f, -8.556345802e-02f, -8.558831277e-02f, -8.561301348e-02f, -8.563756015e-02f, -8.566195278e-02f, -8.568619136e-02f, -8.571027589e-02f,
+-8.573420636e-02f, -8.575798278e-02f, -8.578160514e-02f, -8.580507344e-02f, -8.582838768e-02f, -8.585154786e-02f, -8.587455397e-02f, -8.589740602e-02f, -8.592010400e-02f, -8.594264792e-02f,
+-8.596503777e-02f, -8.598727355e-02f, -8.600935527e-02f, -8.603128292e-02f, -8.605305651e-02f, -8.607467604e-02f, -8.609614150e-02f, -8.611745291e-02f, -8.613861026e-02f, -8.615961355e-02f,
+-8.618046279e-02f, -8.620115798e-02f, -8.622169913e-02f, -8.624208623e-02f, -8.626231928e-02f, -8.628239831e-02f, -8.630232330e-02f, -8.632209426e-02f, -8.634171119e-02f, -8.636117411e-02f,
+-8.638048301e-02f, -8.639963791e-02f, -8.641863880e-02f, -8.643748569e-02f, -8.645617859e-02f, -8.647471751e-02f, -8.649310245e-02f, -8.651133342e-02f, -8.652941042e-02f, -8.654733346e-02f,
+-8.656510256e-02f, -8.658271771e-02f, -8.660017893e-02f, -8.661748622e-02f, -8.663463960e-02f, -8.665163907e-02f, -8.666848463e-02f, -8.668517631e-02f, -8.670171411e-02f, -8.671809804e-02f,
+-8.673432811e-02f, -8.675040433e-02f, -8.676632671e-02f, -8.678209526e-02f, -8.679771000e-02f, -8.681317093e-02f, -8.682847806e-02f, -8.684363142e-02f, -8.685863100e-02f, -8.687347683e-02f,
+-8.688816891e-02f, -8.690270726e-02f, -8.691709189e-02f, -8.693132281e-02f, -8.694540005e-02f, -8.695932360e-02f, -8.697309350e-02f, -8.698670974e-02f, -8.700017235e-02f, -8.701348134e-02f,
+-8.702663672e-02f, -8.703963852e-02f, -8.705248674e-02f, -8.706518141e-02f, -8.707772253e-02f, -8.709011013e-02f, -8.710234423e-02f, -8.711442483e-02f, -8.712635196e-02f, -8.713812563e-02f,
+-8.714974586e-02f, -8.716121267e-02f, -8.717252609e-02f, -8.718368611e-02f, -8.719469277e-02f, -8.720554609e-02f, -8.721624608e-02f, -8.722679276e-02f, -8.723718615e-02f, -8.724742628e-02f,
+-8.725751316e-02f, -8.726744681e-02f, -8.727722725e-02f, -8.728685451e-02f, -8.729632861e-02f, -8.730564956e-02f, -8.731481739e-02f, -8.732383212e-02f, -8.733269378e-02f, -8.734140238e-02f,
+-8.734995795e-02f, -8.735836052e-02f, -8.736661009e-02f, -8.737470671e-02f, -8.738265038e-02f, -8.739044115e-02f, -8.739807902e-02f, -8.740556403e-02f, -8.741289619e-02f, -8.742007554e-02f,
+-8.742710211e-02f, -8.743397590e-02f, -8.744069696e-02f, -8.744726530e-02f, -8.745368096e-02f, -8.745994395e-02f, -8.746605431e-02f, -8.747201207e-02f, -8.747781724e-02f, -8.748346986e-02f,
+-8.748896996e-02f, -8.749431756e-02f, -8.749951270e-02f, -8.750455539e-02f, -8.750944567e-02f, -8.751418357e-02f, -8.751876912e-02f, -8.752320234e-02f, -8.752748327e-02f, -8.753161193e-02f,
+-8.753558836e-02f, -8.753941259e-02f, -8.754308464e-02f, -8.754660456e-02f, -8.754997236e-02f, -8.755318808e-02f, -8.755625176e-02f, -8.755916342e-02f, -8.756192309e-02f, -8.756453082e-02f,
+-8.756698662e-02f, -8.756929054e-02f, -8.757144261e-02f, -8.757344286e-02f, -8.757529132e-02f, -8.757698804e-02f, -8.757853303e-02f, -8.757992634e-02f, -8.758116800e-02f, -8.758225805e-02f,
+-8.758319652e-02f, -8.758398345e-02f, -8.758461887e-02f, -8.758510282e-02f, -8.758543533e-02f, -8.758561644e-02f, -8.758564619e-02f, -8.758552462e-02f, -8.758525175e-02f, -8.758482763e-02f,
+-8.758425230e-02f, -8.758352579e-02f, -8.758264815e-02f, -8.758161940e-02f, -8.758043959e-02f, -8.757910876e-02f, -8.757762695e-02f, -8.757599419e-02f, -8.757421053e-02f, -8.757227600e-02f,
+-8.757019064e-02f, -8.756795450e-02f, -8.756556762e-02f, -8.756303003e-02f, -8.756034178e-02f, -8.755750290e-02f, -8.755451345e-02f, -8.755137345e-02f, -8.754808296e-02f, -8.754464202e-02f,
+-8.754105066e-02f, -8.753730893e-02f, -8.753341688e-02f, -8.752937454e-02f, -8.752518196e-02f, -8.752083918e-02f, -8.751634625e-02f, -8.751170322e-02f, -8.750691011e-02f, -8.750196699e-02f,
+-8.749687389e-02f, -8.749163086e-02f, -8.748623795e-02f, -8.748069519e-02f, -8.747500265e-02f, -8.746916035e-02f, -8.746316835e-02f, -8.745702670e-02f, -8.745073544e-02f, -8.744429462e-02f,
+-8.743770428e-02f, -8.743096448e-02f, -8.742407525e-02f, -8.741703666e-02f, -8.740984874e-02f, -8.740251155e-02f, -8.739502513e-02f, -8.738738953e-02f, -8.737960481e-02f, -8.737167100e-02f,
+-8.736358817e-02f, -8.735535636e-02f, -8.734697561e-02f, -8.733844599e-02f, -8.732976754e-02f, -8.732094031e-02f, -8.731196435e-02f, -8.730283972e-02f, -8.729356646e-02f, -8.728414463e-02f,
+-8.727457428e-02f, -8.726485546e-02f, -8.725498822e-02f, -8.724497262e-02f, -8.723480871e-02f, -8.722449655e-02f, -8.721403617e-02f, -8.720342765e-02f, -8.719267103e-02f, -8.718176636e-02f,
+-8.717071371e-02f, -8.715951312e-02f, -8.714816466e-02f, -8.713666836e-02f, -8.712502430e-02f, -8.711323253e-02f, -8.710129310e-02f, -8.708920606e-02f, -8.707697148e-02f, -8.706458941e-02f,
+-8.705205990e-02f, -8.703938302e-02f, -8.702655882e-02f, -8.701358736e-02f, -8.700046869e-02f, -8.698720288e-02f, -8.697378998e-02f, -8.696023005e-02f, -8.694652314e-02f, -8.693266932e-02f,
+-8.691866865e-02f, -8.690452119e-02f, -8.689022698e-02f, -8.687578610e-02f, -8.686119861e-02f, -8.684646456e-02f, -8.683158401e-02f, -8.681655703e-02f, -8.680138367e-02f, -8.678606400e-02f,
+-8.677059807e-02f, -8.675498596e-02f, -8.673922772e-02f, -8.672332341e-02f, -8.670727309e-02f, -8.669107683e-02f, -8.667473469e-02f, -8.665824674e-02f, -8.664161303e-02f, -8.662483362e-02f,
+-8.660790860e-02f, -8.659083800e-02f, -8.657362191e-02f, -8.655626038e-02f, -8.653875349e-02f, -8.652110128e-02f, -8.650330384e-02f, -8.648536121e-02f, -8.646727348e-02f, -8.644904070e-02f,
+-8.643066294e-02f, -8.641214027e-02f, -8.639347275e-02f, -8.637466045e-02f, -8.635570344e-02f, -8.633660178e-02f, -8.631735554e-02f, -8.629796478e-02f, -8.627842959e-02f, -8.625875001e-02f,
+-8.623892613e-02f, -8.621895800e-02f, -8.619884570e-02f, -8.617858930e-02f, -8.615818887e-02f, -8.613764446e-02f, -8.611695617e-02f, -8.609612404e-02f, -8.607514816e-02f, -8.605402860e-02f,
+-8.603276541e-02f, -8.601135869e-02f, -8.598980848e-02f, -8.596811488e-02f, -8.594627794e-02f, -8.592429774e-02f, -8.590217435e-02f, -8.587990784e-02f, -8.585749828e-02f, -8.583494576e-02f,
+-8.581225033e-02f, -8.578941207e-02f, -8.576643106e-02f, -8.574330737e-02f, -8.572004107e-02f, -8.569663223e-02f, -8.567308094e-02f, -8.564938725e-02f, -8.562555126e-02f, -8.560157302e-02f,
+-8.557745263e-02f, -8.555319014e-02f, -8.552878564e-02f, -8.550423921e-02f, -8.547955091e-02f, -8.545472082e-02f, -8.542974903e-02f, -8.540463560e-02f, -8.537938062e-02f, -8.535398415e-02f,
+-8.532844628e-02f, -8.530276708e-02f, -8.527694663e-02f, -8.525098502e-02f, -8.522488231e-02f, -8.519863858e-02f, -8.517225391e-02f, -8.514572839e-02f, -8.511906208e-02f, -8.509225508e-02f,
+-8.506530745e-02f, -8.503821928e-02f, -8.501099064e-02f, -8.498362163e-02f, -8.495611230e-02f, -8.492846276e-02f, -8.490067307e-02f, -8.487274332e-02f, -8.484467358e-02f, -8.481646395e-02f,
+-8.478811449e-02f, -8.475962530e-02f, -8.473099646e-02f, -8.470222803e-02f, -8.467332012e-02f, -8.464427280e-02f, -8.461508614e-02f, -8.458576025e-02f, -8.455629519e-02f, -8.452669106e-02f,
+-8.449694793e-02f, -8.446706588e-02f, -8.443704501e-02f, -8.440688540e-02f, -8.437658713e-02f, -8.434615028e-02f, -8.431557495e-02f, -8.428486121e-02f, -8.425400914e-02f, -8.422301885e-02f,
+-8.419189040e-02f, -8.416062389e-02f, -8.412921941e-02f, -8.409767703e-02f, -8.406599685e-02f, -8.403417894e-02f, -8.400222341e-02f, -8.397013033e-02f, -8.393789980e-02f, -8.390553190e-02f,
+-8.387302671e-02f, -8.384038433e-02f, -8.380760484e-02f, -8.377468833e-02f, -8.374163490e-02f, -8.370844462e-02f, -8.367511759e-02f, -8.364165390e-02f, -8.360805364e-02f, -8.357431689e-02f,
+-8.354044374e-02f, -8.350643429e-02f, -8.347228863e-02f, -8.343800684e-02f, -8.340358902e-02f, -8.336903526e-02f, -8.333434564e-02f, -8.329952026e-02f, -8.326455922e-02f, -8.322946259e-02f,
+-8.319423048e-02f, -8.315886298e-02f, -8.312336017e-02f, -8.308772216e-02f, -8.305194903e-02f, -8.301604087e-02f, -8.297999778e-02f, -8.294381986e-02f, -8.290750719e-02f, -8.287105987e-02f,
+-8.283447799e-02f, -8.279776165e-02f, -8.276091094e-02f, -8.272392595e-02f, -8.268680679e-02f, -8.264955354e-02f, -8.261216630e-02f, -8.257464517e-02f, -8.253699024e-02f, -8.249920160e-02f,
+-8.246127936e-02f, -8.242322360e-02f, -8.238503443e-02f, -8.234671194e-02f, -8.230825623e-02f, -8.226966739e-02f, -8.223094553e-02f, -8.219209073e-02f, -8.215310310e-02f, -8.211398273e-02f,
+-8.207472973e-02f, -8.203534418e-02f, -8.199582620e-02f, -8.195617586e-02f, -8.191639329e-02f, -8.187647857e-02f, -8.183643180e-02f, -8.179625308e-02f, -8.175594252e-02f, -8.171550020e-02f,
+-8.167492624e-02f, -8.163422073e-02f, -8.159338377e-02f, -8.155241546e-02f, -8.151131591e-02f, -8.147008521e-02f, -8.142872346e-02f, -8.138723077e-02f, -8.134560723e-02f, -8.130385295e-02f,
+-8.126196803e-02f, -8.121995258e-02f, -8.117780669e-02f, -8.113553047e-02f, -8.109312401e-02f, -8.105058743e-02f, -8.100792082e-02f, -8.096512429e-02f, -8.092219794e-02f, -8.087914188e-02f,
+-8.083595621e-02f, -8.079264103e-02f, -8.074919644e-02f, -8.070562256e-02f, -8.066191948e-02f, -8.061808731e-02f, -8.057412616e-02f, -8.053003613e-02f, -8.048581732e-02f, -8.044146985e-02f,
+-8.039699381e-02f, -8.035238931e-02f, -8.030765647e-02f, -8.026279537e-02f, -8.021780614e-02f, -8.017268888e-02f, -8.012744369e-02f, -8.008207068e-02f, -8.003656996e-02f, -7.999094164e-02f,
+-7.994518582e-02f, -7.989930261e-02f, -7.985329213e-02f, -7.980715446e-02f, -7.976088974e-02f, -7.971449806e-02f, -7.966797953e-02f, -7.962133426e-02f, -7.957456237e-02f, -7.952766395e-02f,
+-7.948063912e-02f, -7.943348800e-02f, -7.938621068e-02f, -7.933880728e-02f, -7.929127791e-02f, -7.924362268e-02f, -7.919584169e-02f, -7.914793507e-02f, -7.909990292e-02f, -7.905174536e-02f,
+-7.900346248e-02f, -7.895505441e-02f, -7.890652126e-02f, -7.885786314e-02f, -7.880908016e-02f, -7.876017243e-02f, -7.871114007e-02f, -7.866198318e-02f, -7.861270189e-02f, -7.856329630e-02f,
+-7.851376652e-02f, -7.846411268e-02f, -7.841433488e-02f, -7.836443323e-02f, -7.831440786e-02f, -7.826425887e-02f, -7.821398638e-02f, -7.816359051e-02f, -7.811307136e-02f, -7.806242906e-02f,
+-7.801166371e-02f, -7.796077543e-02f, -7.790976435e-02f, -7.785863057e-02f, -7.780737420e-02f, -7.775599538e-02f, -7.770449420e-02f, -7.765287079e-02f, -7.760112526e-02f, -7.754925773e-02f,
+-7.749726832e-02f, -7.744515715e-02f, -7.739292432e-02f, -7.734056996e-02f, -7.728809419e-02f, -7.723549712e-02f, -7.718277887e-02f, -7.712993956e-02f, -7.707697931e-02f, -7.702389823e-02f,
+-7.697069644e-02f, -7.691737407e-02f, -7.686393123e-02f, -7.681036804e-02f, -7.675668461e-02f, -7.670288108e-02f, -7.664895755e-02f, -7.659491415e-02f, -7.654075100e-02f, -7.648646821e-02f,
+-7.643206591e-02f, -7.637754422e-02f, -7.632290326e-02f, -7.626814315e-02f, -7.621326401e-02f, -7.615826596e-02f, -7.610314912e-02f, -7.604791361e-02f, -7.599255957e-02f, -7.593708709e-02f,
+-7.588149632e-02f, -7.582578737e-02f, -7.576996036e-02f, -7.571401542e-02f, -7.565795267e-02f, -7.560177222e-02f, -7.554547421e-02f, -7.548905876e-02f, -7.543252599e-02f, -7.537587603e-02f,
+-7.531910899e-02f, -7.526222500e-02f, -7.520522419e-02f, -7.514810667e-02f, -7.509087258e-02f, -7.503352204e-02f, -7.497605517e-02f, -7.491847210e-02f, -7.486077295e-02f, -7.480295785e-02f,
+-7.474502692e-02f, -7.468698029e-02f, -7.462881808e-02f, -7.457054043e-02f, -7.451214745e-02f, -7.445363927e-02f, -7.439501602e-02f, -7.433627782e-02f, -7.427742480e-02f, -7.421845709e-02f,
+-7.415937482e-02f, -7.410017811e-02f, -7.404086708e-02f, -7.398144188e-02f, -7.392190261e-02f, -7.386224942e-02f, -7.380248243e-02f, -7.374260176e-02f, -7.368260756e-02f, -7.362249993e-02f,
+-7.356227902e-02f, -7.350194495e-02f, -7.344149785e-02f, -7.338093785e-02f, -7.332026507e-02f, -7.325947966e-02f, -7.319858173e-02f, -7.313757142e-02f, -7.307644886e-02f, -7.301521417e-02f,
+-7.295386749e-02f, -7.289240895e-02f, -7.283083867e-02f, -7.276915680e-02f, -7.270736345e-02f, -7.264545876e-02f, -7.258344286e-02f, -7.252131589e-02f, -7.245907796e-02f, -7.239672923e-02f,
+-7.233426981e-02f, -7.227169984e-02f, -7.220901944e-02f, -7.214622877e-02f, -7.208332793e-02f, -7.202031708e-02f, -7.195719633e-02f, -7.189396583e-02f, -7.183062571e-02f, -7.176717609e-02f,
+-7.170361711e-02f, -7.163994891e-02f, -7.157617162e-02f, -7.151228538e-02f, -7.144829031e-02f, -7.138418655e-02f, -7.131997423e-02f, -7.125565350e-02f, -7.119122448e-02f, -7.112668730e-02f,
+-7.106204211e-02f, -7.099728904e-02f, -7.093242822e-02f, -7.086745979e-02f, -7.080238388e-02f, -7.073720063e-02f, -7.067191018e-02f, -7.060651266e-02f, -7.054100820e-02f, -7.047539695e-02f,
+-7.040967903e-02f, -7.034385459e-02f, -7.027792376e-02f, -7.021188668e-02f, -7.014574349e-02f, -7.007949432e-02f, -7.001313931e-02f, -6.994667859e-02f, -6.988011231e-02f, -6.981344060e-02f,
+-6.974666360e-02f, -6.967978145e-02f, -6.961279428e-02f, -6.954570224e-02f, -6.947850545e-02f, -6.941120407e-02f, -6.934379823e-02f, -6.927628806e-02f, -6.920867372e-02f, -6.914095532e-02f,
+-6.907313302e-02f, -6.900520696e-02f, -6.893717727e-02f, -6.886904409e-02f, -6.880080756e-02f, -6.873246783e-02f, -6.866402503e-02f, -6.859547930e-02f, -6.852683079e-02f, -6.845807962e-02f,
+-6.838922596e-02f, -6.832026992e-02f, -6.825121167e-02f, -6.818205133e-02f, -6.811278904e-02f, -6.804342496e-02f, -6.797395922e-02f, -6.790439195e-02f, -6.783472332e-02f, -6.776495344e-02f,
+-6.769508248e-02f, -6.762511056e-02f, -6.755503784e-02f, -6.748486445e-02f, -6.741459054e-02f, -6.734421624e-02f, -6.727374171e-02f, -6.720316709e-02f, -6.713249251e-02f, -6.706171812e-02f,
+-6.699084407e-02f, -6.691987049e-02f, -6.684879754e-02f, -6.677762535e-02f, -6.670635407e-02f, -6.663498385e-02f, -6.656351482e-02f, -6.649194713e-02f, -6.642028093e-02f, -6.634851636e-02f,
+-6.627665357e-02f, -6.620469270e-02f, -6.613263389e-02f, -6.606047729e-02f, -6.598822304e-02f, -6.591587130e-02f, -6.584342220e-02f, -6.577087589e-02f, -6.569823252e-02f, -6.562549224e-02f,
+-6.555265518e-02f, -6.547972150e-02f, -6.540669134e-02f, -6.533356485e-02f, -6.526034217e-02f, -6.518702345e-02f, -6.511360884e-02f, -6.504009848e-02f, -6.496649253e-02f, -6.489279112e-02f,
+-6.481899441e-02f, -6.474510254e-02f, -6.467111567e-02f, -6.459703393e-02f, -6.452285748e-02f, -6.444858646e-02f, -6.437422102e-02f, -6.429976132e-02f, -6.422520749e-02f, -6.415055969e-02f,
+-6.407581806e-02f, -6.400098276e-02f, -6.392605393e-02f, -6.385103173e-02f, -6.377591629e-02f, -6.370070777e-02f, -6.362540632e-02f, -6.355001209e-02f, -6.347452523e-02f, -6.339894589e-02f,
+-6.332327421e-02f, -6.324751035e-02f, -6.317165445e-02f, -6.309570668e-02f, -6.301966717e-02f, -6.294353607e-02f, -6.286731355e-02f, -6.279099974e-02f, -6.271459481e-02f, -6.263809889e-02f,
+-6.256151215e-02f, -6.248483472e-02f, -6.240806677e-02f, -6.233120845e-02f, -6.225425990e-02f, -6.217722128e-02f, -6.210009273e-02f, -6.202287442e-02f, -6.194556649e-02f, -6.186816910e-02f,
+-6.179068239e-02f, -6.171310652e-02f, -6.163544165e-02f, -6.155768791e-02f, -6.147984548e-02f, -6.140191449e-02f, -6.132389511e-02f, -6.124578747e-02f, -6.116759175e-02f, -6.108930809e-02f,
+-6.101093664e-02f, -6.093247756e-02f, -6.085393101e-02f, -6.077529712e-02f, -6.069657607e-02f, -6.061776799e-02f, -6.053887306e-02f, -6.045989141e-02f, -6.038082321e-02f, -6.030166860e-02f,
+-6.022242775e-02f, -6.014310081e-02f, -6.006368793e-02f, -5.998418926e-02f, -5.990460497e-02f, -5.982493520e-02f, -5.974518012e-02f, -5.966533987e-02f, -5.958541461e-02f, -5.950540450e-02f,
+-5.942530969e-02f, -5.934513034e-02f, -5.926486661e-02f, -5.918451864e-02f, -5.910408660e-02f, -5.902357065e-02f, -5.894297093e-02f, -5.886228760e-02f, -5.878152082e-02f, -5.870067075e-02f,
+-5.861973755e-02f, -5.853872136e-02f, -5.845762235e-02f, -5.837644067e-02f, -5.829517649e-02f, -5.821382995e-02f, -5.813240121e-02f, -5.805089044e-02f, -5.796929778e-02f, -5.788762341e-02f,
+-5.780586746e-02f, -5.772403011e-02f, -5.764211151e-02f, -5.756011181e-02f, -5.747803118e-02f, -5.739586977e-02f, -5.731362775e-02f, -5.723130526e-02f, -5.714890248e-02f, -5.706641954e-02f,
+-5.698385663e-02f, -5.690121389e-02f, -5.681849148e-02f, -5.673568956e-02f, -5.665280829e-02f, -5.656984783e-02f, -5.648680834e-02f, -5.640368998e-02f, -5.632049291e-02f, -5.623721728e-02f,
+-5.615386326e-02f, -5.607043100e-02f, -5.598692067e-02f, -5.590333242e-02f, -5.581966642e-02f, -5.573592283e-02f, -5.565210180e-02f, -5.556820349e-02f, -5.548422807e-02f, -5.540017570e-02f,
+-5.531604653e-02f, -5.523184074e-02f, -5.514755847e-02f, -5.506319988e-02f, -5.497876515e-02f, -5.489425443e-02f, -5.480966788e-02f, -5.472500566e-02f, -5.464026794e-02f, -5.455545487e-02f,
+-5.447056662e-02f, -5.438560334e-02f, -5.430056521e-02f, -5.421545238e-02f, -5.413026501e-02f, -5.404500326e-02f, -5.395966731e-02f, -5.387425730e-02f, -5.378877340e-02f, -5.370321577e-02f,
+-5.361758459e-02f, -5.353188000e-02f, -5.344610216e-02f, -5.336025126e-02f, -5.327432744e-02f, -5.318833086e-02f, -5.310226170e-02f, -5.301612011e-02f, -5.292990626e-02f, -5.284362031e-02f,
+-5.275726242e-02f, -5.267083276e-02f, -5.258433149e-02f, -5.249775877e-02f, -5.241111477e-02f, -5.232439965e-02f, -5.223761357e-02f, -5.215075670e-02f, -5.206382921e-02f, -5.197683124e-02f,
+-5.188976298e-02f, -5.180262458e-02f, -5.171541621e-02f, -5.162813803e-02f, -5.154079021e-02f, -5.145337290e-02f, -5.136588629e-02f, -5.127833052e-02f, -5.119070576e-02f, -5.110301219e-02f,
+-5.101524996e-02f, -5.092741924e-02f, -5.083952019e-02f, -5.075155298e-02f, -5.066351777e-02f, -5.057541474e-02f, -5.048724403e-02f, -5.039900583e-02f, -5.031070029e-02f, -5.022232758e-02f,
+-5.013388787e-02f, -5.004538132e-02f, -4.995680810e-02f, -4.986816837e-02f, -4.977946230e-02f, -4.969069005e-02f, -4.960185180e-02f, -4.951294770e-02f, -4.942397793e-02f, -4.933494265e-02f,
+-4.924584202e-02f, -4.915667621e-02f, -4.906744539e-02f, -4.897814973e-02f, -4.888878939e-02f, -4.879936454e-02f, -4.870987534e-02f, -4.862032197e-02f, -4.853070459e-02f, -4.844102336e-02f,
+-4.835127845e-02f, -4.826147004e-02f, -4.817159828e-02f, -4.808166334e-02f, -4.799166540e-02f, -4.790160462e-02f, -4.781148116e-02f, -4.772129520e-02f, -4.763104690e-02f, -4.754073643e-02f,
+-4.745036396e-02f, -4.735992965e-02f, -4.726943367e-02f, -4.717887620e-02f, -4.708825739e-02f, -4.699757742e-02f, -4.690683646e-02f, -4.681603467e-02f, -4.672517222e-02f, -4.663424928e-02f,
+-4.654326602e-02f, -4.645222260e-02f, -4.636111920e-02f, -4.626995598e-02f, -4.617873312e-02f, -4.608745078e-02f, -4.599610912e-02f, -4.590470833e-02f, -4.581324856e-02f, -4.572172999e-02f,
+-4.563015278e-02f, -4.553851711e-02f, -4.544682314e-02f, -4.535507105e-02f, -4.526326099e-02f, -4.517139315e-02f, -4.507946769e-02f, -4.498748478e-02f, -4.489544459e-02f, -4.480334729e-02f,
+-4.471119305e-02f, -4.461898203e-02f, -4.452671442e-02f, -4.443439037e-02f, -4.434201006e-02f, -4.424957365e-02f, -4.415708133e-02f, -4.406453325e-02f, -4.397192959e-02f, -4.387927052e-02f,
+-4.378655621e-02f, -4.369378683e-02f, -4.360096254e-02f, -4.350808352e-02f, -4.341514995e-02f, -4.332216198e-02f, -4.322911979e-02f, -4.313602356e-02f, -4.304287344e-02f, -4.294966962e-02f,
+-4.285641226e-02f, -4.276310153e-02f, -4.266973761e-02f, -4.257632067e-02f, -4.248285087e-02f, -4.238932839e-02f, -4.229575340e-02f, -4.220212606e-02f, -4.210844656e-02f, -4.201471506e-02f,
+-4.192093173e-02f, -4.182709675e-02f, -4.173321028e-02f, -4.163927250e-02f, -4.154528358e-02f, -4.145124369e-02f, -4.135715300e-02f, -4.126301168e-02f, -4.116881991e-02f, -4.107457785e-02f,
+-4.098028569e-02f, -4.088594358e-02f, -4.079155170e-02f, -4.069711023e-02f, -4.060261934e-02f, -4.050807919e-02f, -4.041348996e-02f, -4.031885182e-02f, -4.022416495e-02f, -4.012942951e-02f,
+-4.003464568e-02f, -3.993981363e-02f, -3.984493353e-02f, -3.975000556e-02f, -3.965502988e-02f, -3.956000668e-02f, -3.946493611e-02f, -3.936981836e-02f, -3.927465360e-02f, -3.917944199e-02f,
+-3.908418372e-02f, -3.898887896e-02f, -3.889352787e-02f, -3.879813063e-02f, -3.870268741e-02f, -3.860719839e-02f, -3.851166374e-02f, -3.841608363e-02f, -3.832045823e-02f, -3.822478772e-02f,
+-3.812907227e-02f, -3.803331206e-02f, -3.793750725e-02f, -3.784165802e-02f, -3.774576454e-02f, -3.764982699e-02f, -3.755384554e-02f, -3.745782036e-02f, -3.736175163e-02f, -3.726563951e-02f,
+-3.716948419e-02f, -3.707328583e-02f, -3.697704461e-02f, -3.688076071e-02f, -3.678443429e-02f, -3.668806553e-02f, -3.659165460e-02f, -3.649520168e-02f, -3.639870694e-02f, -3.630217056e-02f,
+-3.620559270e-02f, -3.610897355e-02f, -3.601231326e-02f, -3.591561203e-02f, -3.581887002e-02f, -3.572208741e-02f, -3.562526437e-02f, -3.552840107e-02f, -3.543149770e-02f, -3.533455441e-02f,
+-3.523757139e-02f, -3.514054881e-02f, -3.504348685e-02f, -3.494638567e-02f, -3.484924546e-02f, -3.475206638e-02f, -3.465484862e-02f, -3.455759234e-02f, -3.446029772e-02f, -3.436296493e-02f,
+-3.426559415e-02f, -3.416818556e-02f, -3.407073932e-02f, -3.397325561e-02f, -3.387573461e-02f, -3.377817649e-02f, -3.368058142e-02f, -3.358294958e-02f, -3.348528114e-02f, -3.338757628e-02f,
+-3.328983518e-02f, -3.319205800e-02f, -3.309424492e-02f, -3.299639611e-02f, -3.289851176e-02f, -3.280059204e-02f, -3.270263711e-02f, -3.260464716e-02f, -3.250662236e-02f, -3.240856288e-02f,
+-3.231046890e-02f, -3.221234059e-02f, -3.211417813e-02f, -3.201598170e-02f, -3.191775146e-02f, -3.181948760e-02f, -3.172119028e-02f, -3.162285969e-02f, -3.152449599e-02f, -3.142609937e-02f,
+-3.132766999e-02f, -3.122920803e-02f, -3.113071368e-02f, -3.103218709e-02f, -3.093362845e-02f, -3.083503794e-02f, -3.073641572e-02f, -3.063776197e-02f, -3.053907688e-02f, -3.044036060e-02f,
+-3.034161332e-02f, -3.024283521e-02f, -3.014402646e-02f, -3.004518722e-02f, -2.994631768e-02f, -2.984741802e-02f, -2.974848841e-02f, -2.964952901e-02f, -2.955054002e-02f, -2.945152160e-02f,
+-2.935247393e-02f, -2.925339719e-02f, -2.915429154e-02f, -2.905515717e-02f, -2.895599425e-02f, -2.885680296e-02f, -2.875758347e-02f, -2.865833595e-02f, -2.855906058e-02f, -2.845975754e-02f,
+-2.836042701e-02f, -2.826106915e-02f, -2.816168414e-02f, -2.806227216e-02f, -2.796283339e-02f, -2.786336799e-02f, -2.776387615e-02f, -2.766435804e-02f, -2.756481383e-02f, -2.746524370e-02f,
+-2.736564783e-02f, -2.726602639e-02f, -2.716637956e-02f, -2.706670751e-02f, -2.696701041e-02f, -2.686728845e-02f, -2.676754180e-02f, -2.666777063e-02f, -2.656797512e-02f, -2.646815545e-02f,
+-2.636831178e-02f, -2.626844430e-02f, -2.616855318e-02f, -2.606863860e-02f, -2.596870073e-02f, -2.586873975e-02f, -2.576875583e-02f, -2.566874914e-02f, -2.556871987e-02f, -2.546866819e-02f,
+-2.536859428e-02f, -2.526849831e-02f, -2.516838045e-02f, -2.506824088e-02f, -2.496807977e-02f, -2.486789731e-02f, -2.476769367e-02f, -2.466746902e-02f, -2.456722354e-02f, -2.446695740e-02f,
+-2.436667078e-02f, -2.426636385e-02f, -2.416603680e-02f, -2.406568979e-02f, -2.396532300e-02f, -2.386493661e-02f, -2.376453079e-02f, -2.366410571e-02f, -2.356366156e-02f, -2.346319850e-02f,
+-2.336271672e-02f, -2.326221639e-02f, -2.316169768e-02f, -2.306116077e-02f, -2.296060584e-02f, -2.286003305e-02f, -2.275944259e-02f, -2.265883464e-02f, -2.255820935e-02f, -2.245756692e-02f,
+-2.235690752e-02f, -2.225623132e-02f, -2.215553849e-02f, -2.205482922e-02f, -2.195410368e-02f, -2.185336204e-02f, -2.175260447e-02f, -2.165183116e-02f, -2.155104229e-02f, -2.145023801e-02f,
+-2.134941851e-02f, -2.124858397e-02f, -2.114773456e-02f, -2.104687045e-02f, -2.094599183e-02f, -2.084509886e-02f, -2.074419172e-02f, -2.064327058e-02f, -2.054233563e-02f, -2.044138703e-02f,
+-2.034042496e-02f, -2.023944960e-02f, -2.013846112e-02f, -2.003745969e-02f, -1.993644550e-02f, -1.983541871e-02f, -1.973437950e-02f, -1.963332805e-02f, -1.953226453e-02f, -1.943118912e-02f,
+-1.933010199e-02f, -1.922900331e-02f, -1.912789326e-02f, -1.902677202e-02f, -1.892563976e-02f, -1.882449666e-02f, -1.872334288e-02f, -1.862217861e-02f, -1.852100402e-02f, -1.841981928e-02f,
+-1.831862458e-02f, -1.821742007e-02f, -1.811620595e-02f, -1.801498238e-02f, -1.791374953e-02f, -1.781250759e-02f, -1.771125673e-02f, -1.760999712e-02f, -1.750872893e-02f, -1.740745234e-02f,
+-1.730616753e-02f, -1.720487467e-02f, -1.710357394e-02f, -1.700226550e-02f, -1.690094953e-02f, -1.679962622e-02f, -1.669829572e-02f, -1.659695822e-02f, -1.649561390e-02f, -1.639426291e-02f,
+-1.629290545e-02f, -1.619154168e-02f, -1.609017178e-02f, -1.598879592e-02f, -1.588741427e-02f, -1.578602702e-02f, -1.568463432e-02f, -1.558323637e-02f, -1.548183333e-02f, -1.538042538e-02f,
+-1.527901269e-02f, -1.517759543e-02f, -1.507617378e-02f, -1.497474791e-02f, -1.487331800e-02f, -1.477188421e-02f, -1.467044673e-02f, -1.456900573e-02f, -1.446756138e-02f, -1.436611386e-02f,
+-1.426466333e-02f, -1.416320998e-02f, -1.406175397e-02f, -1.396029549e-02f, -1.385883469e-02f, -1.375737176e-02f, -1.365590688e-02f, -1.355444020e-02f, -1.345297192e-02f, -1.335150219e-02f,
+-1.325003120e-02f, -1.314855911e-02f, -1.304708611e-02f, -1.294561236e-02f, -1.284413803e-02f, -1.274266331e-02f, -1.264118836e-02f, -1.253971336e-02f, -1.243823847e-02f, -1.233676388e-02f,
+-1.223528976e-02f, -1.213381627e-02f, -1.203234359e-02f, -1.193087190e-02f, -1.182940137e-02f, -1.172793216e-02f, -1.162646446e-02f, -1.152499844e-02f, -1.142353426e-02f, -1.132207210e-02f,
+-1.122061214e-02f, -1.111915454e-02f, -1.101769948e-02f, -1.091624714e-02f, -1.081479767e-02f, -1.071335127e-02f, -1.061190809e-02f, -1.051046831e-02f, -1.040903211e-02f, -1.030759965e-02f,
+-1.020617110e-02f, -1.010474665e-02f, -1.000332646e-02f, -9.901910704e-03f, -9.800499553e-03f, -9.699093180e-03f, -9.597691756e-03f, -9.496295454e-03f, -9.394904446e-03f, -9.293518904e-03f,
+-9.192138998e-03f, -9.090764901e-03f, -8.989396785e-03f, -8.888034821e-03f, -8.786679180e-03f, -8.685330035e-03f, -8.583987557e-03f, -8.482651916e-03f, -8.381323286e-03f, -8.280001836e-03f,
+-8.178687738e-03f, -8.077381164e-03f, -7.976082284e-03f, -7.874791270e-03f, -7.773508293e-03f, -7.672233524e-03f, -7.570967134e-03f, -7.469709294e-03f, -7.368460174e-03f, -7.267219946e-03f,
+-7.165988780e-03f, -7.064766848e-03f, -6.963554319e-03f, -6.862351365e-03f, -6.761158156e-03f, -6.659974862e-03f, -6.558801654e-03f, -6.457638703e-03f, -6.356486179e-03f, -6.255344252e-03f,
+-6.154213092e-03f, -6.053092871e-03f, -5.951983757e-03f, -5.850885920e-03f, -5.749799532e-03f, -5.648724762e-03f, -5.547661780e-03f, -5.446610756e-03f, -5.345571859e-03f, -5.244545260e-03f,
+-5.143531128e-03f, -5.042529632e-03f, -4.941540944e-03f, -4.840565231e-03f, -4.739602663e-03f, -4.638653410e-03f, -4.537717642e-03f, -4.436795527e-03f, -4.335887235e-03f, -4.234992935e-03f,
+-4.134112796e-03f, -4.033246988e-03f, -3.932395679e-03f, -3.831559037e-03f, -3.730737233e-03f, -3.629930435e-03f, -3.529138812e-03f, -3.428362532e-03f, -3.327601764e-03f, -3.226856677e-03f,
+-3.126127439e-03f, -3.025414219e-03f, -2.924717185e-03f, -2.824036505e-03f, -2.723372349e-03f, -2.622724883e-03f, -2.522094276e-03f, -2.421480696e-03f, -2.320884312e-03f, -2.220305291e-03f,
+-2.119743801e-03f, -2.019200009e-03f, -1.918674085e-03f, -1.818166195e-03f, -1.717676507e-03f, -1.617205189e-03f, -1.516752407e-03f, -1.416318331e-03f, -1.315903126e-03f, -1.215506960e-03f,
+-1.115130001e-03f, -1.014772416e-03f, -9.144343714e-04f, -8.141160346e-04f, -7.138175726e-04f, -6.135391523e-04f, -5.132809405e-04f, -4.130431039e-04f, -3.128258093e-04f, -2.126292233e-04f,
+-1.124535124e-04f, -1.229884321e-05f, 8.783461798e-05f, 1.879467048e-04f, 2.880372509e-04f, 3.881060902e-04f, 4.881530565e-04f, 5.881779837e-04f, 6.881807059e-04f, 7.881610572e-04f,
+8.881188716e-04f, 9.880539835e-04f, 1.087966227e-03f, 1.187855437e-03f, 1.287721447e-03f, 1.387564092e-03f, 1.487383207e-03f, 1.587178627e-03f, 1.686950185e-03f, 1.786697718e-03f,
+1.886421059e-03f, 1.986120044e-03f, 2.085794508e-03f, 2.185444286e-03f, 2.285069213e-03f, 2.384669124e-03f, 2.484243855e-03f, 2.583793241e-03f, 2.683317118e-03f, 2.782815322e-03f,
+2.882287687e-03f, 2.981734050e-03f, 3.081154246e-03f, 3.180548112e-03f, 3.279915483e-03f, 3.379256196e-03f, 3.478570086e-03f, 3.577856990e-03f, 3.677116744e-03f, 3.776349184e-03f,
+3.875554147e-03f, 3.974731470e-03f, 4.073880989e-03f, 4.173002540e-03f, 4.272095961e-03f, 4.371161088e-03f, 4.470197758e-03f, 4.569205808e-03f, 4.668185076e-03f, 4.767135399e-03f,
+4.866056613e-03f, 4.964948557e-03f, 5.063811067e-03f, 5.162643981e-03f, 5.261447136e-03f, 5.360220372e-03f, 5.458963524e-03f, 5.557676431e-03f, 5.656358932e-03f, 5.755010863e-03f,
+5.853632063e-03f, 5.952222371e-03f, 6.050781624e-03f, 6.149309661e-03f, 6.247806320e-03f, 6.346271440e-03f, 6.444704860e-03f, 6.543106417e-03f, 6.641475952e-03f, 6.739813303e-03f,
+6.838118308e-03f, 6.936390808e-03f, 7.034630640e-03f, 7.132837645e-03f, 7.231011661e-03f, 7.329152529e-03f, 7.427260087e-03f, 7.525334175e-03f, 7.623374633e-03f, 7.721381300e-03f,
+7.819354017e-03f, 7.917292623e-03f, 8.015196959e-03f, 8.113066864e-03f, 8.210902179e-03f, 8.308702744e-03f, 8.406468400e-03f, 8.504198986e-03f, 8.601894344e-03f, 8.699554315e-03f,
+8.797178738e-03f, 8.894767456e-03f, 8.992320308e-03f, 9.089837136e-03f, 9.187317782e-03f, 9.284762086e-03f, 9.382169889e-03f, 9.479541034e-03f, 9.576875361e-03f, 9.674172712e-03f,
+9.771432930e-03f, 9.868655855e-03f, 9.965841330e-03f, 1.006298920e-02f, 1.016009930e-02f, 1.025717147e-02f, 1.035420557e-02f, 1.045120142e-02f, 1.054815888e-02f, 1.064507779e-02f,
+1.074195798e-02f, 1.083879930e-02f, 1.093560160e-02f, 1.103236472e-02f, 1.112908849e-02f, 1.122577277e-02f, 1.132241740e-02f, 1.141902221e-02f, 1.151558706e-02f, 1.161211179e-02f,
+1.170859623e-02f, 1.180504024e-02f, 1.190144366e-02f, 1.199780634e-02f, 1.209412810e-02f, 1.219040881e-02f, 1.228664830e-02f, 1.238284643e-02f, 1.247900302e-02f, 1.257511794e-02f,
+1.267119102e-02f, 1.276722210e-02f, 1.286321104e-02f, 1.295915767e-02f, 1.305506185e-02f, 1.315092342e-02f, 1.324674222e-02f, 1.334251810e-02f, 1.343825090e-02f, 1.353394047e-02f,
+1.362958666e-02f, 1.372518930e-02f, 1.382074826e-02f, 1.391626337e-02f, 1.401173448e-02f, 1.410716143e-02f, 1.420254408e-02f, 1.429788226e-02f, 1.439317583e-02f, 1.448842463e-02f,
+1.458362851e-02f, 1.467878732e-02f, 1.477390090e-02f, 1.486896909e-02f, 1.496399176e-02f, 1.505896873e-02f, 1.515389987e-02f, 1.524878502e-02f, 1.534362403e-02f, 1.543841673e-02f,
+1.553316300e-02f, 1.562786266e-02f, 1.572251557e-02f, 1.581712157e-02f, 1.591168052e-02f, 1.600619227e-02f, 1.610065665e-02f, 1.619507353e-02f, 1.628944275e-02f, 1.638376415e-02f,
+1.647803759e-02f, 1.657226292e-02f, 1.666643998e-02f, 1.676056862e-02f, 1.685464870e-02f, 1.694868007e-02f, 1.704266256e-02f, 1.713659604e-02f, 1.723048036e-02f, 1.732431535e-02f,
+1.741810088e-02f, 1.751183679e-02f, 1.760552294e-02f, 1.769915916e-02f, 1.779274533e-02f, 1.788628127e-02f, 1.797976686e-02f, 1.807320193e-02f, 1.816658634e-02f, 1.825991993e-02f,
+1.835320257e-02f, 1.844643410e-02f, 1.853961437e-02f, 1.863274324e-02f, 1.872582055e-02f, 1.881884616e-02f, 1.891181992e-02f, 1.900474169e-02f, 1.909761130e-02f, 1.919042863e-02f,
+1.928319351e-02f, 1.937590581e-02f, 1.946856537e-02f, 1.956117204e-02f, 1.965372569e-02f, 1.974622616e-02f, 1.983867331e-02f, 1.993106698e-02f, 2.002340704e-02f, 2.011569334e-02f,
+2.020792572e-02f, 2.030010405e-02f, 2.039222818e-02f, 2.048429795e-02f, 2.057631324e-02f, 2.066827388e-02f, 2.076017974e-02f, 2.085203067e-02f, 2.094382652e-02f, 2.103556714e-02f,
+2.112725240e-02f, 2.121888215e-02f, 2.131045625e-02f, 2.140197454e-02f, 2.149343688e-02f, 2.158484313e-02f, 2.167619315e-02f, 2.176748679e-02f, 2.185872390e-02f, 2.194990434e-02f,
+2.204102798e-02f, 2.213209466e-02f, 2.222310423e-02f, 2.231405657e-02f, 2.240495152e-02f, 2.249578894e-02f, 2.258656869e-02f, 2.267729062e-02f, 2.276795459e-02f, 2.285856046e-02f,
+2.294910809e-02f, 2.303959733e-02f, 2.313002804e-02f, 2.322040009e-02f, 2.331071331e-02f, 2.340096758e-02f, 2.349116276e-02f, 2.358129869e-02f, 2.367137525e-02f, 2.376139228e-02f,
+2.385134965e-02f, 2.394124721e-02f, 2.403108483e-02f, 2.412086236e-02f, 2.421057967e-02f, 2.430023660e-02f, 2.438983303e-02f, 2.447936880e-02f, 2.456884379e-02f, 2.465825785e-02f,
+2.474761083e-02f, 2.483690261e-02f, 2.492613304e-02f, 2.501530197e-02f, 2.510440928e-02f, 2.519345482e-02f, 2.528243845e-02f, 2.537136004e-02f, 2.546021943e-02f, 2.554901651e-02f,
+2.563775112e-02f, 2.572642313e-02f, 2.581503239e-02f, 2.590357878e-02f, 2.599206215e-02f, 2.608048237e-02f, 2.616883929e-02f, 2.625713279e-02f, 2.634536271e-02f, 2.643352893e-02f,
+2.652163130e-02f, 2.660966969e-02f, 2.669764397e-02f, 2.678555399e-02f, 2.687339962e-02f, 2.696118072e-02f, 2.704889715e-02f, 2.713654878e-02f, 2.722413548e-02f, 2.731165710e-02f,
+2.739911351e-02f, 2.748650458e-02f, 2.757383016e-02f, 2.766109013e-02f, 2.774828434e-02f, 2.783541267e-02f, 2.792247497e-02f, 2.800947111e-02f, 2.809640096e-02f, 2.818326439e-02f,
+2.827006125e-02f, 2.835679141e-02f, 2.844345474e-02f, 2.853005111e-02f, 2.861658037e-02f, 2.870304240e-02f, 2.878943707e-02f, 2.887576423e-02f, 2.896202376e-02f, 2.904821551e-02f,
+2.913433937e-02f, 2.922039520e-02f, 2.930638285e-02f, 2.939230221e-02f, 2.947815313e-02f, 2.956393549e-02f, 2.964964914e-02f, 2.973529397e-02f, 2.982086984e-02f, 2.990637661e-02f,
+2.999181416e-02f, 3.007718235e-02f, 3.016248105e-02f, 3.024771012e-02f, 3.033286945e-02f, 3.041795889e-02f, 3.050297832e-02f, 3.058792761e-02f, 3.067280662e-02f, 3.075761522e-02f,
+3.084235329e-02f, 3.092702069e-02f, 3.101161729e-02f, 3.109614297e-02f, 3.118059759e-02f, 3.126498103e-02f, 3.134929315e-02f, 3.143353382e-02f, 3.151770293e-02f, 3.160180032e-02f,
+3.168582589e-02f, 3.176977950e-02f, 3.185366101e-02f, 3.193747031e-02f, 3.202120726e-02f, 3.210487174e-02f, 3.218846362e-02f, 3.227198276e-02f, 3.235542905e-02f, 3.243880235e-02f,
+3.252210254e-02f, 3.260532949e-02f, 3.268848307e-02f, 3.277156316e-02f, 3.285456962e-02f, 3.293750234e-02f, 3.302036119e-02f, 3.310314603e-02f, 3.318585675e-02f, 3.326849321e-02f,
+3.335105529e-02f, 3.343354287e-02f, 3.351595582e-02f, 3.359829402e-02f, 3.368055733e-02f, 3.376274563e-02f, 3.384485881e-02f, 3.392689673e-02f, 3.400885926e-02f, 3.409074629e-02f,
+3.417255770e-02f, 3.425429334e-02f, 3.433595311e-02f, 3.441753688e-02f, 3.449904452e-02f, 3.458047591e-02f, 3.466183093e-02f, 3.474310945e-02f, 3.482431135e-02f, 3.490543651e-02f,
+3.498648481e-02f, 3.506745611e-02f, 3.514835030e-02f, 3.522916727e-02f, 3.530990687e-02f, 3.539056900e-02f, 3.547115353e-02f, 3.555166033e-02f, 3.563208930e-02f, 3.571244030e-02f,
+3.579271321e-02f, 3.587290792e-02f, 3.595302429e-02f, 3.603306222e-02f, 3.611302158e-02f, 3.619290225e-02f, 3.627270411e-02f, 3.635242704e-02f, 3.643207092e-02f, 3.651163563e-02f,
+3.659112104e-02f, 3.667052705e-02f, 3.674985353e-02f, 3.682910035e-02f, 3.690826742e-02f, 3.698735459e-02f, 3.706636176e-02f, 3.714528880e-02f, 3.722413560e-02f, 3.730290204e-02f,
+3.738158800e-02f, 3.746019336e-02f, 3.753871801e-02f, 3.761716183e-02f, 3.769552469e-02f, 3.777380649e-02f, 3.785200710e-02f, 3.793012641e-02f, 3.800816430e-02f, 3.808612066e-02f,
+3.816399536e-02f, 3.824178830e-02f, 3.831949935e-02f, 3.839712840e-02f, 3.847467533e-02f, 3.855214003e-02f, 3.862952238e-02f, 3.870682227e-02f, 3.878403958e-02f, 3.886117420e-02f,
+3.893822601e-02f, 3.901519489e-02f, 3.909208073e-02f, 3.916888343e-02f, 3.924560285e-02f, 3.932223890e-02f, 3.939879145e-02f, 3.947526039e-02f, 3.955164560e-02f, 3.962794699e-02f,
+3.970416442e-02f, 3.978029779e-02f, 3.985634698e-02f, 3.993231189e-02f, 4.000819239e-02f, 4.008398838e-02f, 4.015969975e-02f, 4.023532638e-02f, 4.031086816e-02f, 4.038632497e-02f,
+4.046169672e-02f, 4.053698328e-02f, 4.061218454e-02f, 4.068730039e-02f, 4.076233073e-02f, 4.083727544e-02f, 4.091213441e-02f, 4.098690752e-02f, 4.106159468e-02f, 4.113619577e-02f,
+4.121071067e-02f, 4.128513929e-02f, 4.135948150e-02f, 4.143373720e-02f, 4.150790629e-02f, 4.158198865e-02f, 4.165598417e-02f, 4.172989274e-02f, 4.180371426e-02f, 4.187744862e-02f,
+4.195109570e-02f, 4.202465541e-02f, 4.209812763e-02f, 4.217151225e-02f, 4.224480917e-02f, 4.231801828e-02f, 4.239113947e-02f, 4.246417264e-02f, 4.253711767e-02f, 4.260997447e-02f,
+4.268274292e-02f, 4.275542292e-02f, 4.282801436e-02f, 4.290051714e-02f, 4.297293115e-02f, 4.304525628e-02f, 4.311749243e-02f, 4.318963949e-02f, 4.326169737e-02f, 4.333366594e-02f,
+4.340554511e-02f, 4.347733478e-02f, 4.354903483e-02f, 4.362064517e-02f, 4.369216569e-02f, 4.376359629e-02f, 4.383493686e-02f, 4.390618729e-02f, 4.397734750e-02f, 4.404841736e-02f,
+4.411939678e-02f, 4.419028566e-02f, 4.426108389e-02f, 4.433179137e-02f, 4.440240800e-02f, 4.447293367e-02f, 4.454336829e-02f, 4.461371175e-02f, 4.468396394e-02f, 4.475412478e-02f,
+4.482419415e-02f, 4.489417195e-02f, 4.496405809e-02f, 4.503385247e-02f, 4.510355497e-02f, 4.517316551e-02f, 4.524268398e-02f, 4.531211028e-02f, 4.538144431e-02f, 4.545068597e-02f,
+4.551983516e-02f, 4.558889179e-02f, 4.565785575e-02f, 4.572672694e-02f, 4.579550527e-02f, 4.586419063e-02f, 4.593278293e-02f, 4.600128207e-02f, 4.606968794e-02f, 4.613800047e-02f,
+4.620621953e-02f, 4.627434504e-02f, 4.634237690e-02f, 4.641031502e-02f, 4.647815928e-02f, 4.654590961e-02f, 4.661356589e-02f, 4.668112804e-02f, 4.674859596e-02f, 4.681596955e-02f,
+4.688324871e-02f, 4.695043335e-02f, 4.701752338e-02f, 4.708451869e-02f, 4.715141920e-02f, 4.721822480e-02f, 4.728493540e-02f, 4.735155092e-02f, 4.741807124e-02f, 4.748449628e-02f,
+4.755082594e-02f, 4.761706014e-02f, 4.768319877e-02f, 4.774924174e-02f, 4.781518896e-02f, 4.788104033e-02f, 4.794679576e-02f, 4.801245517e-02f, 4.807801844e-02f, 4.814348550e-02f,
+4.820885625e-02f, 4.827413060e-02f, 4.833930845e-02f, 4.840438972e-02f, 4.846937430e-02f, 4.853426212e-02f, 4.859905307e-02f, 4.866374708e-02f, 4.872834403e-02f, 4.879284386e-02f,
+4.885724646e-02f, 4.892155174e-02f, 4.898575961e-02f, 4.904986999e-02f, 4.911388278e-02f, 4.917779790e-02f, 4.924161524e-02f, 4.930533474e-02f, 4.936895629e-02f, 4.943247980e-02f,
+4.949590519e-02f, 4.955923237e-02f, 4.962246125e-02f, 4.968559174e-02f, 4.974862375e-02f, 4.981155720e-02f, 4.987439200e-02f, 4.993712806e-02f, 4.999976528e-02f, 5.006230360e-02f,
+5.012474291e-02f, 5.018708314e-02f, 5.024932418e-02f, 5.031146597e-02f, 5.037350841e-02f, 5.043545141e-02f, 5.049729489e-02f, 5.055903877e-02f, 5.062068296e-02f, 5.068222736e-02f,
+5.074367191e-02f, 5.080501651e-02f, 5.086626108e-02f, 5.092740552e-02f, 5.098844977e-02f, 5.104939373e-02f, 5.111023733e-02f, 5.117098047e-02f, 5.123162307e-02f, 5.129216505e-02f,
+5.135260632e-02f, 5.141294681e-02f, 5.147318643e-02f, 5.153332510e-02f, 5.159336272e-02f, 5.165329924e-02f, 5.171313455e-02f, 5.177286857e-02f, 5.183250124e-02f, 5.189203245e-02f,
+5.195146214e-02f, 5.201079022e-02f, 5.207001661e-02f, 5.212914123e-02f, 5.218816400e-02f, 5.224708484e-02f, 5.230590366e-02f, 5.236462039e-02f, 5.242323495e-02f, 5.248174726e-02f,
+5.254015723e-02f, 5.259846479e-02f, 5.265666986e-02f, 5.271477236e-02f, 5.277277221e-02f, 5.283066934e-02f, 5.288846366e-02f, 5.294615509e-02f, 5.300374357e-02f, 5.306122900e-02f,
+5.311861132e-02f, 5.317589043e-02f, 5.323306628e-02f, 5.329013878e-02f, 5.334710785e-02f, 5.340397342e-02f, 5.346073540e-02f, 5.351739373e-02f, 5.357394833e-02f, 5.363039912e-02f,
+5.368674602e-02f, 5.374298897e-02f, 5.379912788e-02f, 5.385516268e-02f, 5.391109329e-02f, 5.396691964e-02f, 5.402264165e-02f, 5.407825926e-02f, 5.413377238e-02f, 5.418918094e-02f,
+5.424448488e-02f, 5.429968410e-02f, 5.435477855e-02f, 5.440976814e-02f, 5.446465281e-02f, 5.451943247e-02f, 5.457410707e-02f, 5.462867652e-02f, 5.468314076e-02f, 5.473749971e-02f,
+5.479175329e-02f, 5.484590145e-02f, 5.489994409e-02f, 5.495388117e-02f, 5.500771259e-02f, 5.506143830e-02f, 5.511505822e-02f, 5.516857229e-02f, 5.522198042e-02f, 5.527528255e-02f,
+5.532847861e-02f, 5.538156853e-02f, 5.543455224e-02f, 5.548742967e-02f, 5.554020076e-02f, 5.559286542e-02f, 5.564542360e-02f, 5.569787523e-02f, 5.575022023e-02f, 5.580245854e-02f,
+5.585459009e-02f, 5.590661481e-02f, 5.595853263e-02f, 5.601034350e-02f, 5.606204733e-02f, 5.611364406e-02f, 5.616513363e-02f, 5.621651596e-02f, 5.626779100e-02f, 5.631895867e-02f,
+5.637001892e-02f, 5.642097166e-02f, 5.647181685e-02f, 5.652255440e-02f, 5.657318426e-02f, 5.662370637e-02f, 5.667412064e-02f, 5.672442703e-02f, 5.677462547e-02f, 5.682471589e-02f,
+5.687469823e-02f, 5.692457242e-02f, 5.697433840e-02f, 5.702399611e-02f, 5.707354548e-02f, 5.712298645e-02f, 5.717231895e-02f, 5.722154293e-02f, 5.727065832e-02f, 5.731966506e-02f,
+5.736856309e-02f, 5.741735234e-02f, 5.746603275e-02f, 5.751460426e-02f, 5.756306682e-02f, 5.761142035e-02f, 5.765966479e-02f, 5.770780009e-02f, 5.775582619e-02f, 5.780374302e-02f,
+5.785155053e-02f, 5.789924865e-02f, 5.794683732e-02f, 5.799431649e-02f, 5.804168610e-02f, 5.808894607e-02f, 5.813609637e-02f, 5.818313692e-02f, 5.823006767e-02f, 5.827688856e-02f,
+5.832359954e-02f, 5.837020053e-02f, 5.841669150e-02f, 5.846307237e-02f, 5.850934309e-02f, 5.855550360e-02f, 5.860155385e-02f, 5.864749377e-02f, 5.869332332e-02f, 5.873904244e-02f,
+5.878465106e-02f, 5.883014914e-02f, 5.887553661e-02f, 5.892081343e-02f, 5.896597953e-02f, 5.901103486e-02f, 5.905597936e-02f, 5.910081298e-02f, 5.914553567e-02f, 5.919014737e-02f,
+5.923464803e-02f, 5.927903759e-02f, 5.932331599e-02f, 5.936748319e-02f, 5.941153913e-02f, 5.945548376e-02f, 5.949931702e-02f, 5.954303886e-02f, 5.958664923e-02f, 5.963014807e-02f,
+5.967353534e-02f, 5.971681098e-02f, 5.975997494e-02f, 5.980302716e-02f, 5.984596760e-02f, 5.988879620e-02f, 5.993151292e-02f, 5.997411769e-02f, 6.001661048e-02f, 6.005899123e-02f,
+6.010125989e-02f, 6.014341640e-02f, 6.018546073e-02f, 6.022739281e-02f, 6.026921261e-02f, 6.031092006e-02f, 6.035251513e-02f, 6.039399776e-02f, 6.043536790e-02f, 6.047662551e-02f,
+6.051777053e-02f, 6.055880292e-02f, 6.059972264e-02f, 6.064052962e-02f, 6.068122383e-02f, 6.072180521e-02f, 6.076227373e-02f, 6.080262933e-02f, 6.084287196e-02f, 6.088300159e-02f,
+6.092301815e-02f, 6.096292162e-02f, 6.100271193e-02f, 6.104238905e-02f, 6.108195293e-02f, 6.112140352e-02f, 6.116074078e-02f, 6.119996467e-02f, 6.123907513e-02f, 6.127807213e-02f,
+6.131695561e-02f, 6.135572554e-02f, 6.139438188e-02f, 6.143292457e-02f, 6.147135357e-02f, 6.150966885e-02f, 6.154787035e-02f, 6.158595804e-02f, 6.162393186e-02f, 6.166179179e-02f,
+6.169953777e-02f, 6.173716977e-02f, 6.177468774e-02f, 6.181209164e-02f, 6.184938143e-02f, 6.188655706e-02f, 6.192361851e-02f, 6.196056571e-02f, 6.199739864e-02f, 6.203411726e-02f,
+6.207072152e-02f, 6.210721138e-02f, 6.214358680e-02f, 6.217984774e-02f, 6.221599417e-02f, 6.225202605e-02f, 6.228794333e-02f, 6.232374597e-02f, 6.235943394e-02f, 6.239500720e-02f,
+6.243046571e-02f, 6.246580944e-02f, 6.250103833e-02f, 6.253615236e-02f, 6.257115149e-02f, 6.260603569e-02f, 6.264080490e-02f, 6.267545910e-02f, 6.270999826e-02f, 6.274442232e-02f,
+6.277873126e-02f, 6.281292505e-02f, 6.284700364e-02f, 6.288096700e-02f, 6.291481509e-02f, 6.294854788e-02f, 6.298216533e-02f, 6.301566741e-02f, 6.304905409e-02f, 6.308232532e-02f,
+6.311548108e-02f, 6.314852132e-02f, 6.318144603e-02f, 6.321425515e-02f, 6.324694867e-02f, 6.327952654e-02f, 6.331198873e-02f, 6.334433522e-02f, 6.337656595e-02f, 6.340868092e-02f,
+6.344068007e-02f, 6.347256339e-02f, 6.350433083e-02f, 6.353598237e-02f, 6.356751797e-02f, 6.359893761e-02f, 6.363024125e-02f, 6.366142885e-02f, 6.369250040e-02f, 6.372345586e-02f,
+6.375429520e-02f, 6.378501839e-02f, 6.381562539e-02f, 6.384611619e-02f, 6.387649075e-02f, 6.390674904e-02f, 6.393689102e-02f, 6.396691669e-02f, 6.399682599e-02f, 6.402661891e-02f,
+6.405629542e-02f, 6.408585549e-02f, 6.411529909e-02f, 6.414462619e-02f, 6.417383677e-02f, 6.420293080e-02f, 6.423190825e-02f, 6.426076909e-02f, 6.428951331e-02f, 6.431814086e-02f,
+6.434665173e-02f, 6.437504589e-02f, 6.440332331e-02f, 6.443148397e-02f, 6.445952784e-02f, 6.448745490e-02f, 6.451526512e-02f, 6.454295848e-02f, 6.457053495e-02f, 6.459799451e-02f,
+6.462533713e-02f, 6.465256279e-02f, 6.467967147e-02f, 6.470666314e-02f, 6.473353778e-02f, 6.476029536e-02f, 6.478693587e-02f, 6.481345927e-02f, 6.483986555e-02f, 6.486615469e-02f,
+6.489232666e-02f, 6.491838144e-02f, 6.494431901e-02f, 6.497013934e-02f, 6.499584242e-02f, 6.502142822e-02f, 6.504689673e-02f, 6.507224792e-02f, 6.509748177e-02f, 6.512259826e-02f,
+6.514759738e-02f, 6.517247909e-02f, 6.519724339e-02f, 6.522189025e-02f, 6.524641965e-02f, 6.527083157e-02f, 6.529512600e-02f, 6.531930291e-02f, 6.534336229e-02f, 6.536730411e-02f,
+6.539112837e-02f, 6.541483504e-02f, 6.543842410e-02f, 6.546189554e-02f, 6.548524934e-02f, 6.550848549e-02f, 6.553160395e-02f, 6.555460473e-02f, 6.557748780e-02f, 6.560025314e-02f,
+6.562290074e-02f, 6.564543059e-02f, 6.566784266e-02f, 6.569013695e-02f, 6.571231343e-02f, 6.573437210e-02f, 6.575631293e-02f, 6.577813591e-02f, 6.579984103e-02f, 6.582142828e-02f,
+6.584289763e-02f, 6.586424908e-02f, 6.588548261e-02f, 6.590659820e-02f, 6.592759585e-02f, 6.594847555e-02f, 6.596923727e-02f, 6.598988100e-02f, 6.601040674e-02f, 6.603081447e-02f,
+6.605110418e-02f, 6.607127586e-02f, 6.609132949e-02f, 6.611126506e-02f, 6.613108257e-02f, 6.615078200e-02f, 6.617036334e-02f, 6.618982657e-02f, 6.620917170e-02f, 6.622839871e-02f,
+6.624750758e-02f, 6.626649831e-02f, 6.628537089e-02f, 6.630412531e-02f, 6.632276157e-02f, 6.634127964e-02f, 6.635967952e-02f, 6.637796121e-02f, 6.639612469e-02f, 6.641416996e-02f,
+6.643209701e-02f, 6.644990583e-02f, 6.646759642e-02f, 6.648516875e-02f, 6.650262284e-02f, 6.651995867e-02f, 6.653717623e-02f, 6.655427552e-02f, 6.657125654e-02f, 6.658811926e-02f,
+6.660486370e-02f, 6.662148984e-02f, 6.663799767e-02f, 6.665438720e-02f, 6.667065842e-02f, 6.668681132e-02f, 6.670284589e-02f, 6.671876214e-02f, 6.673456005e-02f, 6.675023963e-02f,
+6.676580086e-02f, 6.678124375e-02f, 6.679656830e-02f, 6.681177449e-02f, 6.682686233e-02f, 6.684183181e-02f, 6.685668293e-02f, 6.687141568e-02f, 6.688603007e-02f, 6.690052609e-02f,
+6.691490375e-02f, 6.692916303e-02f, 6.694330393e-02f, 6.695732646e-02f, 6.697123062e-02f, 6.698501640e-02f, 6.699868380e-02f, 6.701223282e-02f, 6.702566346e-02f, 6.703897572e-02f,
+6.705216960e-02f, 6.706524510e-02f, 6.707820223e-02f, 6.709104097e-02f, 6.710376134e-02f, 6.711636333e-02f, 6.712884695e-02f, 6.714121219e-02f, 6.715345906e-02f, 6.716558756e-02f,
+6.717759769e-02f, 6.718948945e-02f, 6.720126284e-02f, 6.721291788e-02f, 6.722445456e-02f, 6.723587288e-02f, 6.724717285e-02f, 6.725835446e-02f, 6.726941774e-02f, 6.728036267e-02f,
+6.729118926e-02f, 6.730189751e-02f, 6.731248744e-02f, 6.732295904e-02f, 6.733331233e-02f, 6.734354729e-02f, 6.735366395e-02f, 6.736366230e-02f, 6.737354235e-02f, 6.738330411e-02f,
+6.739294758e-02f, 6.740247276e-02f, 6.741187968e-02f, 6.742116832e-02f, 6.743033870e-02f, 6.743939083e-02f, 6.744832471e-02f, 6.745714035e-02f, 6.746583775e-02f, 6.747441694e-02f,
+6.748287790e-02f, 6.749122065e-02f, 6.749944521e-02f, 6.750755157e-02f, 6.751553974e-02f, 6.752340975e-02f, 6.753116158e-02f, 6.753879526e-02f, 6.754631080e-02f, 6.755370820e-02f,
+6.756098747e-02f, 6.756814862e-02f, 6.757519167e-02f, 6.758211662e-02f, 6.758892348e-02f, 6.759561227e-02f, 6.760218300e-02f, 6.760863568e-02f, 6.761497031e-02f, 6.762118692e-02f,
+6.762728551e-02f, 6.763326609e-02f, 6.763912869e-02f, 6.764487330e-02f, 6.765049994e-02f, 6.765600864e-02f, 6.766139938e-02f, 6.766667221e-02f, 6.767182711e-02f, 6.767686412e-02f,
+6.768178324e-02f, 6.768658448e-02f, 6.769126787e-02f, 6.769583341e-02f, 6.770028113e-02f, 6.770461103e-02f, 6.770882313e-02f, 6.771291744e-02f, 6.771689399e-02f, 6.772075278e-02f,
+6.772449384e-02f, 6.772811717e-02f, 6.773162280e-02f, 6.773501074e-02f, 6.773828101e-02f, 6.774143362e-02f, 6.774446859e-02f, 6.774738595e-02f, 6.775018570e-02f, 6.775286786e-02f,
+6.775543245e-02f, 6.775787950e-02f, 6.776020901e-02f, 6.776242101e-02f, 6.776451552e-02f, 6.776649254e-02f, 6.776835211e-02f, 6.777009425e-02f, 6.777171896e-02f, 6.777322628e-02f,
+6.777461621e-02f, 6.777588879e-02f, 6.777704402e-02f, 6.777808194e-02f, 6.777900256e-02f, 6.777980590e-02f, 6.778049198e-02f, 6.778106083e-02f, 6.778151246e-02f, 6.778184691e-02f,
+6.778206418e-02f, 6.778216430e-02f, 6.778214729e-02f, 6.778201318e-02f, 6.778176198e-02f, 6.778139373e-02f, 6.778090844e-02f, 6.778030613e-02f, 6.777958684e-02f, 6.777875057e-02f,
+6.777779737e-02f, 6.777672724e-02f, 6.777554022e-02f, 6.777423633e-02f, 6.777281559e-02f, 6.777127803e-02f, 6.776962367e-02f, 6.776785253e-02f, 6.776596465e-02f, 6.776396005e-02f,
+6.776183875e-02f, 6.775960078e-02f, 6.775724617e-02f, 6.775477494e-02f, 6.775218711e-02f, 6.774948272e-02f, 6.774666179e-02f, 6.774372435e-02f, 6.774067042e-02f, 6.773750004e-02f,
+6.773421323e-02f, 6.773081001e-02f, 6.772729042e-02f, 6.772365448e-02f, 6.771990222e-02f, 6.771603368e-02f, 6.771204887e-02f, 6.770794783e-02f, 6.770373059e-02f, 6.769939717e-02f,
+6.769494761e-02f, 6.769038193e-02f, 6.768570017e-02f, 6.768090236e-02f, 6.767598851e-02f, 6.767095868e-02f, 6.766581288e-02f, 6.766055114e-02f, 6.765517351e-02f, 6.764968000e-02f,
+6.764407065e-02f, 6.763834549e-02f, 6.763250456e-02f, 6.762654788e-02f, 6.762047549e-02f, 6.761428742e-02f, 6.760798370e-02f, 6.760156437e-02f, 6.759502945e-02f, 6.758837898e-02f,
+6.758161300e-02f, 6.757473153e-02f, 6.756773462e-02f, 6.756062229e-02f, 6.755339458e-02f, 6.754605152e-02f, 6.753859314e-02f, 6.753101949e-02f, 6.752333060e-02f, 6.751552649e-02f,
+6.750760722e-02f, 6.749957280e-02f, 6.749142328e-02f, 6.748315869e-02f, 6.747477908e-02f, 6.746628446e-02f, 6.745767489e-02f, 6.744895040e-02f, 6.744011102e-02f, 6.743115679e-02f,
+6.742208774e-02f, 6.741290393e-02f, 6.740360537e-02f, 6.739419212e-02f, 6.738466420e-02f, 6.737502166e-02f, 6.736526453e-02f, 6.735539285e-02f, 6.734540666e-02f, 6.733530601e-02f,
+6.732509092e-02f, 6.731476144e-02f, 6.730431760e-02f, 6.729375945e-02f, 6.728308702e-02f, 6.727230036e-02f, 6.726139951e-02f, 6.725038450e-02f, 6.723925537e-02f, 6.722801218e-02f,
+6.721665494e-02f, 6.720518372e-02f, 6.719359855e-02f, 6.718189946e-02f, 6.717008651e-02f, 6.715815973e-02f, 6.714611916e-02f, 6.713396485e-02f, 6.712169685e-02f, 6.710931518e-02f,
+6.709681990e-02f, 6.708421104e-02f, 6.707148865e-02f, 6.705865278e-02f, 6.704570346e-02f, 6.703264075e-02f, 6.701946467e-02f, 6.700617529e-02f, 6.699277263e-02f, 6.697925675e-02f,
+6.696562769e-02f, 6.695188550e-02f, 6.693803022e-02f, 6.692406189e-02f, 6.690998056e-02f, 6.689578627e-02f, 6.688147907e-02f, 6.686705901e-02f, 6.685252614e-02f, 6.683788049e-02f,
+6.682312211e-02f, 6.680825106e-02f, 6.679326737e-02f, 6.677817110e-02f, 6.676296229e-02f, 6.674764098e-02f, 6.673220724e-02f, 6.671666109e-02f, 6.670100260e-02f, 6.668523180e-02f,
+6.666934875e-02f, 6.665335350e-02f, 6.663724609e-02f, 6.662102657e-02f, 6.660469499e-02f, 6.658825140e-02f, 6.657169586e-02f, 6.655502839e-02f, 6.653824907e-02f, 6.652135794e-02f,
+6.650435504e-02f, 6.648724043e-02f, 6.647001415e-02f, 6.645267627e-02f, 6.643522682e-02f, 6.641766586e-02f, 6.639999345e-02f, 6.638220962e-02f, 6.636431444e-02f, 6.634630795e-02f,
+6.632819020e-02f, 6.630996126e-02f, 6.629162116e-02f, 6.627316997e-02f, 6.625460773e-02f, 6.623593450e-02f, 6.621715032e-02f, 6.619825526e-02f, 6.617924937e-02f, 6.616013269e-02f,
+6.614090529e-02f, 6.612156721e-02f, 6.610211851e-02f, 6.608255925e-02f, 6.606288947e-02f, 6.604310924e-02f, 6.602321860e-02f, 6.600321761e-02f, 6.598310633e-02f, 6.596288481e-02f,
+6.594255311e-02f, 6.592211128e-02f, 6.590155938e-02f, 6.588089746e-02f, 6.586012558e-02f, 6.583924379e-02f, 6.581825216e-02f, 6.579715073e-02f, 6.577593957e-02f, 6.575461873e-02f,
+6.573318827e-02f, 6.571164825e-02f, 6.568999871e-02f, 6.566823973e-02f, 6.564637136e-02f, 6.562439365e-02f, 6.560230666e-02f, 6.558011046e-02f, 6.555780510e-02f, 6.553539064e-02f,
+6.551286713e-02f, 6.549023464e-02f, 6.546749323e-02f, 6.544464295e-02f, 6.542168387e-02f, 6.539861604e-02f, 6.537543953e-02f, 6.535215439e-02f, 6.532876068e-02f, 6.530525846e-02f,
+6.528164780e-02f, 6.525792876e-02f, 6.523410139e-02f, 6.521016576e-02f, 6.518612193e-02f, 6.516196996e-02f, 6.513770990e-02f, 6.511334183e-02f, 6.508886581e-02f, 6.506428189e-02f,
+6.503959014e-02f, 6.501479062e-02f, 6.498988339e-02f, 6.496486852e-02f, 6.493974607e-02f, 6.491451610e-02f, 6.488917868e-02f, 6.486373386e-02f, 6.483818172e-02f, 6.481252231e-02f,
+6.478675571e-02f, 6.476088196e-02f, 6.473490115e-02f, 6.470881332e-02f, 6.468261856e-02f, 6.465631691e-02f, 6.462990845e-02f, 6.460339325e-02f, 6.457677136e-02f, 6.455004285e-02f,
+6.452320779e-02f, 6.449626625e-02f, 6.446921828e-02f, 6.444206396e-02f, 6.441480335e-02f, 6.438743652e-02f, 6.435996354e-02f, 6.433238446e-02f, 6.430469937e-02f, 6.427690832e-02f,
+6.424901138e-02f, 6.422100863e-02f, 6.419290012e-02f, 6.416468592e-02f, 6.413636611e-02f, 6.410794076e-02f, 6.407940992e-02f, 6.405077367e-02f, 6.402203208e-02f, 6.399318521e-02f,
+6.396423314e-02f, 6.393517593e-02f, 6.390601365e-02f, 6.387674638e-02f, 6.384737418e-02f, 6.381789712e-02f, 6.378831527e-02f, 6.375862870e-02f, 6.372883749e-02f, 6.369894170e-02f,
+6.366894140e-02f, 6.363883666e-02f, 6.360862756e-02f, 6.357831416e-02f, 6.354789654e-02f, 6.351737477e-02f, 6.348674892e-02f, 6.345601906e-02f, 6.342518526e-02f, 6.339424760e-02f,
+6.336320615e-02f, 6.333206097e-02f, 6.330081215e-02f, 6.326945975e-02f, 6.323800386e-02f, 6.320644453e-02f, 6.317478184e-02f, 6.314301588e-02f, 6.311114670e-02f, 6.307917439e-02f,
+6.304709902e-02f, 6.301492066e-02f, 6.298263938e-02f, 6.295025527e-02f, 6.291776839e-02f, 6.288517883e-02f, 6.285248664e-02f, 6.281969192e-02f, 6.278679473e-02f, 6.275379516e-02f,
+6.272069326e-02f, 6.268748913e-02f, 6.265418284e-02f, 6.262077446e-02f, 6.258726406e-02f, 6.255365173e-02f, 6.251993755e-02f, 6.248612158e-02f, 6.245220390e-02f, 6.241818460e-02f,
+6.238406375e-02f, 6.234984142e-02f, 6.231551769e-02f, 6.228109265e-02f, 6.224656636e-02f, 6.221193891e-02f, 6.217721037e-02f, 6.214238083e-02f, 6.210745035e-02f, 6.207241903e-02f,
+6.203728693e-02f, 6.200205413e-02f, 6.196672073e-02f, 6.193128678e-02f, 6.189575238e-02f, 6.186011760e-02f, 6.182438253e-02f, 6.178854723e-02f, 6.175261180e-02f, 6.171657631e-02f,
+6.168044084e-02f, 6.164420547e-02f, 6.160787029e-02f, 6.157143537e-02f, 6.153490079e-02f, 6.149826664e-02f, 6.146153299e-02f, 6.142469993e-02f, 6.138776754e-02f, 6.135073590e-02f,
+6.131360509e-02f, 6.127637519e-02f, 6.123904629e-02f, 6.120161847e-02f, 6.116409181e-02f, 6.112646638e-02f, 6.108874229e-02f, 6.105091960e-02f, 6.101299840e-02f, 6.097497878e-02f,
+6.093686081e-02f, 6.089864459e-02f, 6.086033019e-02f, 6.082191769e-02f, 6.078340719e-02f, 6.074479876e-02f, 6.070609249e-02f, 6.066728847e-02f, 6.062838677e-02f, 6.058938748e-02f,
+6.055029070e-02f, 6.051109649e-02f, 6.047180495e-02f, 6.043241617e-02f, 6.039293022e-02f, 6.035334720e-02f, 6.031366718e-02f, 6.027389026e-02f, 6.023401652e-02f, 6.019404604e-02f,
+6.015397892e-02f, 6.011381524e-02f, 6.007355508e-02f, 6.003319854e-02f, 5.999274569e-02f, 5.995219664e-02f, 5.991155145e-02f, 5.987081022e-02f, 5.982997304e-02f, 5.978904000e-02f,
+5.974801118e-02f, 5.970688667e-02f, 5.966566656e-02f, 5.962435094e-02f, 5.958293989e-02f, 5.954143351e-02f, 5.949983187e-02f, 5.945813508e-02f, 5.941634322e-02f, 5.937445637e-02f,
+5.933247464e-02f, 5.929039810e-02f, 5.924822685e-02f, 5.920596097e-02f, 5.916360056e-02f, 5.912114571e-02f, 5.907859650e-02f, 5.903595302e-02f, 5.899321538e-02f, 5.895038365e-02f,
+5.890745792e-02f, 5.886443830e-02f, 5.882132486e-02f, 5.877811770e-02f, 5.873481692e-02f, 5.869142259e-02f, 5.864793482e-02f, 5.860435369e-02f, 5.856067931e-02f, 5.851691175e-02f,
+5.847305111e-02f, 5.842909748e-02f, 5.838505096e-02f, 5.834091163e-02f, 5.829667960e-02f, 5.825235495e-02f, 5.820793777e-02f, 5.816342817e-02f, 5.811882622e-02f, 5.807413203e-02f,
+5.802934569e-02f, 5.798446729e-02f, 5.793949693e-02f, 5.789443469e-02f, 5.784928068e-02f, 5.780403499e-02f, 5.775869771e-02f, 5.771326893e-02f, 5.766774876e-02f, 5.762213728e-02f,
+5.757643459e-02f, 5.753064078e-02f, 5.748475596e-02f, 5.743878021e-02f, 5.739271363e-02f, 5.734655632e-02f, 5.730030837e-02f, 5.725396987e-02f, 5.720754093e-02f, 5.716102164e-02f,
+5.711441210e-02f, 5.706771240e-02f, 5.702092263e-02f, 5.697404290e-02f, 5.692707330e-02f, 5.688001393e-02f, 5.683286488e-02f, 5.678562626e-02f, 5.673829816e-02f, 5.669088067e-02f,
+5.664337390e-02f, 5.659577794e-02f, 5.654809289e-02f, 5.650031884e-02f, 5.645245591e-02f, 5.640450417e-02f, 5.635646374e-02f, 5.630833471e-02f, 5.626011718e-02f, 5.621181125e-02f,
+5.616341701e-02f, 5.611493457e-02f, 5.606636402e-02f, 5.601770547e-02f, 5.596895901e-02f, 5.592012475e-02f, 5.587120278e-02f, 5.582219320e-02f, 5.577309611e-02f, 5.572391161e-02f,
+5.567463981e-02f, 5.562528079e-02f, 5.557583468e-02f, 5.552630155e-02f, 5.547668152e-02f, 5.542697468e-02f, 5.537718114e-02f, 5.532730100e-02f, 5.527733436e-02f, 5.522728131e-02f,
+5.517714197e-02f, 5.512691642e-02f, 5.507660478e-02f, 5.502620715e-02f, 5.497572363e-02f, 5.492515431e-02f, 5.487449931e-02f, 5.482375872e-02f, 5.477293265e-02f, 5.472202120e-02f,
+5.467102447e-02f, 5.461994256e-02f, 5.456877558e-02f, 5.451752364e-02f, 5.446618683e-02f, 5.441476525e-02f, 5.436325902e-02f, 5.431166823e-02f, 5.425999299e-02f, 5.420823340e-02f,
+5.415638957e-02f, 5.410446160e-02f, 5.405244959e-02f, 5.400035365e-02f, 5.394817388e-02f, 5.389591039e-02f, 5.384356329e-02f, 5.379113267e-02f, 5.373861864e-02f, 5.368602131e-02f,
+5.363334079e-02f, 5.358057717e-02f, 5.352773056e-02f, 5.347480108e-02f, 5.342178881e-02f, 5.336869388e-02f, 5.331551638e-02f, 5.326225643e-02f, 5.320891412e-02f, 5.315548957e-02f,
+5.310198288e-02f, 5.304839416e-02f, 5.299472351e-02f, 5.294097104e-02f, 5.288713686e-02f, 5.283322108e-02f, 5.277922379e-02f, 5.272514512e-02f, 5.267098516e-02f, 5.261674403e-02f,
+5.256242183e-02f, 5.250801866e-02f, 5.245353465e-02f, 5.239896989e-02f, 5.234432449e-02f, 5.228959857e-02f, 5.223479222e-02f, 5.217990556e-02f, 5.212493870e-02f, 5.206989174e-02f,
+5.201476480e-02f, 5.195955798e-02f, 5.190427139e-02f, 5.184890515e-02f, 5.179345935e-02f, 5.173793411e-02f, 5.168232955e-02f, 5.162664576e-02f, 5.157088286e-02f, 5.151504095e-02f,
+5.145912016e-02f, 5.140312058e-02f, 5.134704233e-02f, 5.129088552e-02f, 5.123465026e-02f, 5.117833666e-02f, 5.112194483e-02f, 5.106547488e-02f, 5.100892692e-02f, 5.095230106e-02f,
+5.089559741e-02f, 5.083881609e-02f, 5.078195721e-02f, 5.072502088e-02f, 5.066800720e-02f, 5.061091629e-02f, 5.055374827e-02f, 5.049650323e-02f, 5.043918131e-02f, 5.038178260e-02f,
+5.032430722e-02f, 5.026675529e-02f, 5.020912691e-02f, 5.015142220e-02f, 5.009364126e-02f, 5.003578422e-02f, 4.997785119e-02f, 4.991984227e-02f, 4.986175759e-02f, 4.980359725e-02f,
+4.974536136e-02f, 4.968705005e-02f, 4.962866342e-02f, 4.957020159e-02f, 4.951166468e-02f, 4.945305278e-02f, 4.939436603e-02f, 4.933560453e-02f, 4.927676840e-02f, 4.921785775e-02f,
+4.915887270e-02f, 4.909981336e-02f, 4.904067984e-02f, 4.898147226e-02f, 4.892219074e-02f, 4.886283538e-02f, 4.880340631e-02f, 4.874390364e-02f, 4.868432749e-02f, 4.862467796e-02f,
+4.856495518e-02f, 4.850515926e-02f, 4.844529031e-02f, 4.838534846e-02f, 4.832533382e-02f, 4.826524650e-02f, 4.820508662e-02f, 4.814485429e-02f, 4.808454964e-02f, 4.802417277e-02f,
+4.796372381e-02f, 4.790320287e-02f, 4.784261007e-02f, 4.778194552e-02f, 4.772120934e-02f, 4.766040165e-02f, 4.759952257e-02f, 4.753857221e-02f, 4.747755068e-02f, 4.741645812e-02f,
+4.735529462e-02f, 4.729406032e-02f, 4.723275533e-02f, 4.717137977e-02f, 4.710993375e-02f, 4.704841739e-02f, 4.698683082e-02f, 4.692517414e-02f, 4.686344748e-02f, 4.680165095e-02f,
+4.673978468e-02f, 4.667784878e-02f, 4.661584337e-02f, 4.655376857e-02f, 4.649162450e-02f, 4.642941127e-02f, 4.636712901e-02f, 4.630477784e-02f, 4.624235787e-02f, 4.617986922e-02f,
+4.611731201e-02f, 4.605468637e-02f, 4.599199241e-02f, 4.592923025e-02f, 4.586640001e-02f, 4.580350182e-02f, 4.574053578e-02f, 4.567750202e-02f, 4.561440067e-02f, 4.555123184e-02f,
+4.548799564e-02f, 4.542469221e-02f, 4.536132167e-02f, 4.529788412e-02f, 4.523437970e-02f, 4.517080852e-02f, 4.510717071e-02f, 4.504346638e-02f, 4.497969566e-02f, 4.491585867e-02f,
+4.485195553e-02f, 4.478798636e-02f, 4.472395128e-02f, 4.465985042e-02f, 4.459568389e-02f, 4.453145181e-02f, 4.446715432e-02f, 4.440279152e-02f, 4.433836355e-02f, 4.427387052e-02f,
+4.420931256e-02f, 4.414468979e-02f, 4.408000233e-02f, 4.401525030e-02f, 4.395043383e-02f, 4.388555303e-02f, 4.382060804e-02f, 4.375559897e-02f, 4.369052595e-02f, 4.362538909e-02f,
+4.356018853e-02f, 4.349492439e-02f, 4.342959678e-02f, 4.336420583e-02f, 4.329875167e-02f, 4.323323442e-02f, 4.316765420e-02f, 4.310201114e-02f, 4.303630536e-02f, 4.297053697e-02f,
+4.290470612e-02f, 4.283881292e-02f, 4.277285749e-02f, 4.270683996e-02f, 4.264076045e-02f, 4.257461909e-02f, 4.250841600e-02f, 4.244215131e-02f, 4.237582514e-02f, 4.230943761e-02f,
+4.224298886e-02f, 4.217647900e-02f, 4.210990816e-02f, 4.204327646e-02f, 4.197658403e-02f, 4.190983100e-02f, 4.184301748e-02f, 4.177614361e-02f, 4.170920951e-02f, 4.164221531e-02f,
+4.157516113e-02f, 4.150804709e-02f, 4.144087333e-02f, 4.137363996e-02f, 4.130634712e-02f, 4.123899492e-02f, 4.117158351e-02f, 4.110411299e-02f, 4.103658350e-02f, 4.096899517e-02f,
+4.090134811e-02f, 4.083364247e-02f, 4.076587835e-02f, 4.069805590e-02f, 4.063017523e-02f, 4.056223647e-02f, 4.049423975e-02f, 4.042618520e-02f, 4.035807294e-02f, 4.028990310e-02f,
+4.022167581e-02f, 4.015339119e-02f, 4.008504937e-02f, 4.001665048e-02f, 3.994819465e-02f, 3.987968200e-02f, 3.981111266e-02f, 3.974248676e-02f, 3.967380443e-02f, 3.960506578e-02f,
+3.953627096e-02f, 3.946742009e-02f, 3.939851330e-02f, 3.932955071e-02f, 3.926053245e-02f, 3.919145866e-02f, 3.912232945e-02f, 3.905314496e-02f, 3.898390532e-02f, 3.891461065e-02f,
+3.884526108e-02f, 3.877585675e-02f, 3.870639778e-02f, 3.863688429e-02f, 3.856731642e-02f, 3.849769430e-02f, 3.842801806e-02f, 3.835828781e-02f, 3.828850370e-02f, 3.821866586e-02f,
+3.814877440e-02f, 3.807882947e-02f, 3.800883118e-02f, 3.793877968e-02f, 3.786867508e-02f, 3.779851753e-02f, 3.772830714e-02f, 3.765804404e-02f, 3.758772838e-02f, 3.751736027e-02f,
+3.744693985e-02f, 3.737646725e-02f, 3.730594259e-02f, 3.723536601e-02f, 3.716473764e-02f, 3.709405760e-02f, 3.702332603e-02f, 3.695254306e-02f, 3.688170882e-02f, 3.681082344e-02f,
+3.673988704e-02f, 3.666889977e-02f, 3.659786174e-02f, 3.652677310e-02f, 3.645563397e-02f, 3.638444448e-02f, 3.631320476e-02f, 3.624191495e-02f, 3.617057517e-02f, 3.609918556e-02f,
+3.602774625e-02f, 3.595625737e-02f, 3.588471904e-02f, 3.581313141e-02f, 3.574149460e-02f, 3.566980874e-02f, 3.559807397e-02f, 3.552629042e-02f, 3.545445821e-02f, 3.538257749e-02f,
+3.531064837e-02f, 3.523867100e-02f, 3.516664551e-02f, 3.509457202e-02f, 3.502245068e-02f, 3.495028160e-02f, 3.487806493e-02f, 3.480580080e-02f, 3.473348933e-02f, 3.466113066e-02f,
+3.458872493e-02f, 3.451627226e-02f, 3.444377279e-02f, 3.437122664e-02f, 3.429863396e-02f, 3.422599488e-02f, 3.415330952e-02f, 3.408057802e-02f, 3.400780052e-02f, 3.393497714e-02f,
+3.386210802e-02f, 3.378919329e-02f, 3.371623309e-02f, 3.364322754e-02f, 3.357017679e-02f, 3.349708095e-02f, 3.342394018e-02f, 3.335075460e-02f, 3.327752433e-02f, 3.320424953e-02f,
+3.313093032e-02f, 3.305756683e-02f, 3.298415919e-02f, 3.291070755e-02f, 3.283721203e-02f, 3.276367277e-02f, 3.269008990e-02f, 3.261646356e-02f, 3.254279388e-02f, 3.246908099e-02f,
+3.239532502e-02f, 3.232152612e-02f, 3.224768441e-02f, 3.217380003e-02f, 3.209987312e-02f, 3.202590380e-02f, 3.195189221e-02f, 3.187783849e-02f, 3.180374277e-02f, 3.172960518e-02f,
+3.165542586e-02f, 3.158120495e-02f, 3.150694257e-02f, 3.143263887e-02f, 3.135829397e-02f, 3.128390801e-02f, 3.120948113e-02f, 3.113501346e-02f, 3.106050514e-02f, 3.098595629e-02f,
+3.091136707e-02f, 3.083673759e-02f, 3.076206799e-02f, 3.068735842e-02f, 3.061260900e-02f, 3.053781987e-02f, 3.046299117e-02f, 3.038812303e-02f, 3.031321558e-02f, 3.023826897e-02f,
+3.016328332e-02f, 3.008825877e-02f, 3.001319546e-02f, 2.993809352e-02f, 2.986295309e-02f, 2.978777430e-02f, 2.971255729e-02f, 2.963730220e-02f, 2.956200915e-02f, 2.948667829e-02f,
+2.941130976e-02f, 2.933590368e-02f, 2.926046019e-02f, 2.918497943e-02f, 2.910946154e-02f, 2.903390665e-02f, 2.895831489e-02f, 2.888268641e-02f, 2.880702133e-02f, 2.873131980e-02f,
+2.865558195e-02f, 2.857980792e-02f, 2.850399784e-02f, 2.842815185e-02f, 2.835227008e-02f, 2.827635268e-02f, 2.820039977e-02f, 2.812441150e-02f, 2.804838800e-02f, 2.797232941e-02f,
+2.789623586e-02f, 2.782010749e-02f, 2.774394444e-02f, 2.766774684e-02f, 2.759151483e-02f, 2.751524855e-02f, 2.743894813e-02f, 2.736261371e-02f, 2.728624543e-02f, 2.720984342e-02f,
+2.713340782e-02f, 2.705693877e-02f, 2.698043641e-02f, 2.690390086e-02f, 2.682733228e-02f, 2.675073078e-02f, 2.667409652e-02f, 2.659742963e-02f, 2.652073025e-02f, 2.644399850e-02f,
+2.636723454e-02f, 2.629043850e-02f, 2.621361051e-02f, 2.613675071e-02f, 2.605985924e-02f, 2.598293624e-02f, 2.590598184e-02f, 2.582899619e-02f, 2.575197941e-02f, 2.567493165e-02f,
+2.559785304e-02f, 2.552074372e-02f, 2.544360383e-02f, 2.536643350e-02f, 2.528923288e-02f, 2.521200210e-02f, 2.513474130e-02f, 2.505745062e-02f, 2.498013019e-02f, 2.490278015e-02f,
+2.482540064e-02f, 2.474799179e-02f, 2.467055376e-02f, 2.459308666e-02f, 2.451559064e-02f, 2.443806585e-02f, 2.436051240e-02f, 2.428293046e-02f, 2.420532014e-02f, 2.412768159e-02f,
+2.405001496e-02f, 2.397232036e-02f, 2.389459796e-02f, 2.381684787e-02f, 2.373907024e-02f, 2.366126521e-02f, 2.358343292e-02f, 2.350557350e-02f, 2.342768709e-02f, 2.334977384e-02f,
+2.327183387e-02f, 2.319386733e-02f, 2.311587435e-02f, 2.303785508e-02f, 2.295980965e-02f, 2.288173819e-02f, 2.280364086e-02f, 2.272551778e-02f, 2.264736910e-02f, 2.256919495e-02f,
+2.249099548e-02f, 2.241277081e-02f, 2.233452109e-02f, 2.225624646e-02f, 2.217794705e-02f, 2.209962301e-02f, 2.202127447e-02f, 2.194290157e-02f, 2.186450445e-02f, 2.178608325e-02f,
+2.170763810e-02f, 2.162916915e-02f, 2.155067653e-02f, 2.147216039e-02f, 2.139362086e-02f, 2.131505807e-02f, 2.123647218e-02f, 2.115786331e-02f, 2.107923161e-02f, 2.100057721e-02f,
+2.092190025e-02f, 2.084320088e-02f, 2.076447922e-02f, 2.068573543e-02f, 2.060696963e-02f, 2.052818198e-02f, 2.044937259e-02f, 2.037054162e-02f, 2.029168921e-02f, 2.021281549e-02f,
+2.013392060e-02f, 2.005500467e-02f, 1.997606786e-02f, 1.989711030e-02f, 1.981813212e-02f, 1.973913346e-02f, 1.966011448e-02f, 1.958107529e-02f, 1.950201605e-02f, 1.942293689e-02f,
+1.934383795e-02f, 1.926471937e-02f, 1.918558128e-02f, 1.910642384e-02f, 1.902724717e-02f, 1.894805141e-02f, 1.886883671e-02f, 1.878960320e-02f, 1.871035103e-02f, 1.863108033e-02f,
+1.855179123e-02f, 1.847248389e-02f, 1.839315844e-02f, 1.831381501e-02f, 1.823445375e-02f, 1.815507480e-02f, 1.807567829e-02f, 1.799626436e-02f, 1.791683316e-02f, 1.783738482e-02f,
+1.775791948e-02f, 1.767843728e-02f, 1.759893836e-02f, 1.751942286e-02f, 1.743989092e-02f, 1.736034268e-02f, 1.728077827e-02f, 1.720119784e-02f, 1.712160152e-02f, 1.704198945e-02f,
+1.696236178e-02f, 1.688271864e-02f, 1.680306017e-02f, 1.672338651e-02f, 1.664369780e-02f, 1.656399418e-02f, 1.648427578e-02f, 1.640454276e-02f, 1.632479524e-02f, 1.624503336e-02f,
+1.616525727e-02f, 1.608546710e-02f, 1.600566299e-02f, 1.592584509e-02f, 1.584601353e-02f, 1.576616845e-02f, 1.568630998e-02f, 1.560643828e-02f, 1.552655347e-02f, 1.544665570e-02f,
+1.536674511e-02f, 1.528682183e-02f, 1.520688601e-02f, 1.512693778e-02f, 1.504697728e-02f, 1.496700465e-02f, 1.488702004e-02f, 1.480702357e-02f, 1.472701539e-02f, 1.464699565e-02f,
+1.456696447e-02f, 1.448692199e-02f, 1.440686836e-02f, 1.432680372e-02f, 1.424672820e-02f, 1.416664194e-02f, 1.408654509e-02f, 1.400643778e-02f, 1.392632014e-02f, 1.384619233e-02f,
+1.376605447e-02f, 1.368590672e-02f, 1.360574920e-02f, 1.352558205e-02f, 1.344540542e-02f, 1.336521944e-02f, 1.328502426e-02f, 1.320482000e-02f, 1.312460682e-02f, 1.304438485e-02f,
+1.296415423e-02f, 1.288391509e-02f, 1.280366758e-02f, 1.272341184e-02f, 1.264314800e-02f, 1.256287620e-02f, 1.248259659e-02f, 1.240230930e-02f, 1.232201447e-02f, 1.224171224e-02f,
+1.216140274e-02f, 1.208108612e-02f, 1.200076252e-02f, 1.192043208e-02f, 1.184009492e-02f, 1.175975120e-02f, 1.167940105e-02f, 1.159904462e-02f, 1.151868202e-02f, 1.143831342e-02f,
+1.135793895e-02f, 1.127755873e-02f, 1.119717293e-02f, 1.111678166e-02f, 1.103638508e-02f, 1.095598331e-02f, 1.087557651e-02f, 1.079516480e-02f, 1.071474833e-02f, 1.063432723e-02f,
+1.055390165e-02f, 1.047347171e-02f, 1.039303757e-02f, 1.031259936e-02f, 1.023215721e-02f, 1.015171127e-02f, 1.007126168e-02f, 9.990808568e-03f, 9.910352077e-03f, 9.829892347e-03f,
+9.749429515e-03f, 9.668963720e-03f, 9.588495100e-03f, 9.508023794e-03f, 9.427549940e-03f, 9.347073677e-03f, 9.266595142e-03f, 9.186114474e-03f, 9.105631811e-03f, 9.025147292e-03f,
+8.944661055e-03f, 8.864173238e-03f, 8.783683979e-03f, 8.703193417e-03f, 8.622701689e-03f, 8.542208934e-03f, 8.461715290e-03f, 8.381220895e-03f, 8.300725887e-03f, 8.220230404e-03f,
+8.139734585e-03f, 8.059238566e-03f, 7.978742487e-03f, 7.898246485e-03f, 7.817750698e-03f, 7.737255264e-03f, 7.656760320e-03f, 7.576266006e-03f, 7.495772458e-03f, 7.415279815e-03f,
+7.334788214e-03f, 7.254297792e-03f, 7.173808689e-03f, 7.093321041e-03f, 7.012834986e-03f, 6.932350661e-03f, 6.851868206e-03f, 6.771387756e-03f, 6.690909450e-03f, 6.610433425e-03f,
+6.529959818e-03f, 6.449488768e-03f, 6.369020412e-03f, 6.288554887e-03f, 6.208092330e-03f, 6.127632879e-03f, 6.047176672e-03f, 5.966723845e-03f, 5.886274536e-03f, 5.805828882e-03f,
+5.725387021e-03f, 5.644949089e-03f, 5.564515225e-03f, 5.484085564e-03f, 5.403660244e-03f, 5.323239403e-03f, 5.242823176e-03f, 5.162411703e-03f, 5.082005118e-03f, 5.001603560e-03f,
+4.921207165e-03f, 4.840816070e-03f, 4.760430412e-03f, 4.680050327e-03f, 4.599675954e-03f, 4.519307428e-03f, 4.438944886e-03f, 4.358588464e-03f, 4.278238301e-03f, 4.197894531e-03f,
+4.117557292e-03f, 4.037226721e-03f, 3.956902953e-03f, 3.876586126e-03f, 3.796276376e-03f, 3.715973838e-03f, 3.635678651e-03f, 3.555390949e-03f, 3.475110870e-03f, 3.394838550e-03f,
+3.314574124e-03f, 3.234317729e-03f, 3.154069502e-03f, 3.073829578e-03f, 2.993598093e-03f, 2.913375185e-03f, 2.833160987e-03f, 2.752955638e-03f, 2.672759271e-03f, 2.592572025e-03f,
+2.512394033e-03f, 2.432225433e-03f, 2.352066360e-03f, 2.271916949e-03f, 2.191777337e-03f, 2.111647659e-03f, 2.031528051e-03f, 1.951418648e-03f, 1.871319586e-03f, 1.791231000e-03f,
+1.711153027e-03f, 1.631085800e-03f, 1.551029456e-03f, 1.470984131e-03f, 1.390949959e-03f, 1.310927075e-03f, 1.230915616e-03f, 1.150915715e-03f, 1.070927509e-03f, 9.909511317e-04f,
+9.109867191e-04f, 8.310344058e-04f, 7.510943269e-04f, 6.711666172e-04f, 5.912514117e-04f, 5.113488453e-04f, 4.314590526e-04f, 3.515821684e-04f, 2.717183275e-04f, 1.918676644e-04f,
+1.120303139e-04f, 3.220641052e-05f, -4.760391130e-05f, -1.274005170e-04f, -2.071832723e-04f, -2.869520426e-04f, -3.667066937e-04f, -4.464470913e-04f, -5.261731011e-04f, -6.058845889e-04f,
+-6.855814206e-04f, -7.652634621e-04f, -8.449305794e-04f, -9.245826383e-04f, -1.004219505e-03f, -1.083841046e-03f, -1.163447126e-03f, -1.243037613e-03f, -1.322612372e-03f, -1.402171270e-03f,
+-1.481714173e-03f, -1.561240947e-03f, -1.640751460e-03f, -1.720245576e-03f, -1.799723164e-03f, -1.879184089e-03f, -1.958628218e-03f, -2.038055418e-03f, -2.117465555e-03f, -2.196858497e-03f,
+-2.276234110e-03f, -2.355592261e-03f, -2.434932817e-03f, -2.514255646e-03f, -2.593560613e-03f, -2.672847586e-03f, -2.752116433e-03f, -2.831367021e-03f, -2.910599216e-03f, -2.989812886e-03f,
+-3.069007899e-03f, -3.148184122e-03f, -3.227341423e-03f, -3.306479668e-03f, -3.385598726e-03f, -3.464698464e-03f, -3.543778750e-03f, -3.622839452e-03f, -3.701880437e-03f, -3.780901574e-03f,
+-3.859902730e-03f, -3.938883773e-03f, -4.017844572e-03f, -4.096784993e-03f, -4.175704907e-03f, -4.254604180e-03f, -4.333482681e-03f, -4.412340279e-03f, -4.491176841e-03f, -4.569992237e-03f,
+-4.648786334e-03f, -4.727559001e-03f, -4.806310108e-03f, -4.885039522e-03f, -4.963747112e-03f, -5.042432747e-03f, -5.121096296e-03f, -5.199737627e-03f, -5.278356611e-03f, -5.356953115e-03f,
+-5.435527010e-03f, -5.514078163e-03f, -5.592606444e-03f, -5.671111723e-03f, -5.749593869e-03f, -5.828052752e-03f, -5.906488240e-03f, -5.984900203e-03f, -6.063288511e-03f, -6.141653033e-03f,
+-6.219993640e-03f, -6.298310200e-03f, -6.376602585e-03f, -6.454870663e-03f, -6.533114304e-03f, -6.611333380e-03f, -6.689527759e-03f, -6.767697311e-03f, -6.845841908e-03f, -6.923961420e-03f,
+-7.002055716e-03f, -7.080124667e-03f, -7.158168143e-03f, -7.236186016e-03f, -7.314178156e-03f, -7.392144433e-03f, -7.470084718e-03f, -7.547998882e-03f, -7.625886795e-03f, -7.703748330e-03f,
+-7.781583356e-03f, -7.859391745e-03f, -7.937173368e-03f, -8.014928096e-03f, -8.092655800e-03f, -8.170356352e-03f, -8.248029623e-03f, -8.325675485e-03f, -8.403293809e-03f, -8.480884466e-03f,
+-8.558447329e-03f, -8.635982269e-03f, -8.713489158e-03f, -8.790967868e-03f, -8.868418271e-03f, -8.945840238e-03f, -9.023233642e-03f, -9.100598356e-03f, -9.177934250e-03f, -9.255241198e-03f,
+-9.332519073e-03f, -9.409767745e-03f, -9.486987089e-03f, -9.564176976e-03f, -9.641337279e-03f, -9.718467871e-03f, -9.795568624e-03f, -9.872639413e-03f, -9.949680108e-03f, -1.002669058e-02f,
+-1.010367071e-02f, -1.018062037e-02f, -1.025753943e-02f, -1.033442776e-02f, -1.041128523e-02f, -1.048811173e-02f, -1.056490712e-02f, -1.064167128e-02f, -1.071840408e-02f, -1.079510539e-02f,
+-1.087177509e-02f, -1.094841306e-02f, -1.102501916e-02f, -1.110159327e-02f, -1.117813527e-02f, -1.125464502e-02f, -1.133112241e-02f, -1.140756731e-02f, -1.148397958e-02f, -1.156035912e-02f,
+-1.163670578e-02f, -1.171301945e-02f, -1.178930000e-02f, -1.186554731e-02f, -1.194176124e-02f, -1.201794169e-02f, -1.209408851e-02f, -1.217020158e-02f, -1.224628079e-02f, -1.232232600e-02f,
+-1.239833710e-02f, -1.247431395e-02f, -1.255025643e-02f, -1.262616442e-02f, -1.270203779e-02f, -1.277787643e-02f, -1.285368019e-02f, -1.292944897e-02f, -1.300518264e-02f, -1.308088107e-02f,
+-1.315654413e-02f, -1.323217172e-02f, -1.330776369e-02f, -1.338331993e-02f, -1.345884032e-02f, -1.353432473e-02f, -1.360977303e-02f, -1.368518512e-02f, -1.376056085e-02f, -1.383590011e-02f,
+-1.391120277e-02f, -1.398646872e-02f, -1.406169783e-02f, -1.413688997e-02f, -1.421204503e-02f, -1.428716288e-02f, -1.436224340e-02f, -1.443728646e-02f, -1.451229195e-02f, -1.458725974e-02f,
+-1.466218971e-02f, -1.473708174e-02f, -1.481193570e-02f, -1.488675148e-02f, -1.496152895e-02f, -1.503626798e-02f, -1.511096847e-02f, -1.518563028e-02f, -1.526025330e-02f, -1.533483740e-02f,
+-1.540938247e-02f, -1.548388837e-02f, -1.555835500e-02f, -1.563278222e-02f, -1.570716993e-02f, -1.578151799e-02f, -1.585582628e-02f, -1.593009470e-02f, -1.600432310e-02f, -1.607851138e-02f,
+-1.615265942e-02f, -1.622676709e-02f, -1.630083427e-02f, -1.637486085e-02f, -1.644884669e-02f, -1.652279170e-02f, -1.659669573e-02f, -1.667055868e-02f, -1.674438042e-02f, -1.681816084e-02f,
+-1.689189981e-02f, -1.696559721e-02f, -1.703925293e-02f, -1.711286685e-02f, -1.718643884e-02f, -1.725996879e-02f, -1.733345658e-02f, -1.740690209e-02f, -1.748030520e-02f, -1.755366580e-02f,
+-1.762698375e-02f, -1.770025896e-02f, -1.777349129e-02f, -1.784668063e-02f, -1.791982685e-02f, -1.799292985e-02f, -1.806598951e-02f, -1.813900570e-02f, -1.821197830e-02f, -1.828490721e-02f,
+-1.835779230e-02f, -1.843063346e-02f, -1.850343056e-02f, -1.857618349e-02f, -1.864889213e-02f, -1.872155637e-02f, -1.879417609e-02f, -1.886675117e-02f, -1.893928149e-02f, -1.901176694e-02f,
+-1.908420740e-02f, -1.915660276e-02f, -1.922895289e-02f, -1.930125768e-02f, -1.937351702e-02f, -1.944573078e-02f, -1.951789886e-02f, -1.959002113e-02f, -1.966209749e-02f, -1.973412780e-02f,
+-1.980611197e-02f, -1.987804986e-02f, -1.994994138e-02f, -2.002178639e-02f, -2.009358479e-02f, -2.016533646e-02f, -2.023704129e-02f, -2.030869916e-02f, -2.038030995e-02f, -2.045187355e-02f,
+-2.052338985e-02f, -2.059485873e-02f, -2.066628008e-02f, -2.073765377e-02f, -2.080897971e-02f, -2.088025776e-02f, -2.095148783e-02f, -2.102266979e-02f, -2.109380353e-02f, -2.116488894e-02f,
+-2.123592590e-02f, -2.130691430e-02f, -2.137785403e-02f, -2.144874496e-02f, -2.151958700e-02f, -2.159038002e-02f, -2.166112392e-02f, -2.173181857e-02f, -2.180246387e-02f, -2.187305970e-02f,
+-2.194360596e-02f, -2.201410252e-02f, -2.208454927e-02f, -2.215494611e-02f, -2.222529292e-02f, -2.229558959e-02f, -2.236583600e-02f, -2.243603205e-02f, -2.250617761e-02f, -2.257627259e-02f,
+-2.264631687e-02f, -2.271631033e-02f, -2.278625287e-02f, -2.285614437e-02f, -2.292598473e-02f, -2.299577382e-02f, -2.306551155e-02f, -2.313519779e-02f, -2.320483244e-02f, -2.327441539e-02f,
+-2.334394653e-02f, -2.341342574e-02f, -2.348285292e-02f, -2.355222795e-02f, -2.362155073e-02f, -2.369082114e-02f, -2.376003908e-02f, -2.382920443e-02f, -2.389831708e-02f, -2.396737693e-02f,
+-2.403638387e-02f, -2.410533778e-02f, -2.417423856e-02f, -2.424308610e-02f, -2.431188028e-02f, -2.438062101e-02f, -2.444930816e-02f, -2.451794163e-02f, -2.458652132e-02f, -2.465504711e-02f,
+-2.472351890e-02f, -2.479193657e-02f, -2.486030002e-02f, -2.492860914e-02f, -2.499686383e-02f, -2.506506396e-02f, -2.513320945e-02f, -2.520130017e-02f, -2.526933602e-02f, -2.533731690e-02f,
+-2.540524269e-02f, -2.547311330e-02f, -2.554092860e-02f, -2.560868850e-02f, -2.567639288e-02f, -2.574404165e-02f, -2.581163468e-02f, -2.587917189e-02f, -2.594665316e-02f, -2.601407838e-02f,
+-2.608144745e-02f, -2.614876026e-02f, -2.621601670e-02f, -2.628321668e-02f, -2.635036008e-02f, -2.641744679e-02f, -2.648447672e-02f, -2.655144976e-02f, -2.661836580e-02f, -2.668522473e-02f,
+-2.675202646e-02f, -2.681877087e-02f, -2.688545786e-02f, -2.695208733e-02f, -2.701865917e-02f, -2.708517328e-02f, -2.715162955e-02f, -2.721802787e-02f, -2.728436815e-02f, -2.735065028e-02f,
+-2.741687416e-02f, -2.748303968e-02f, -2.754914674e-02f, -2.761519523e-02f, -2.768118505e-02f, -2.774711610e-02f, -2.781298827e-02f, -2.787880146e-02f, -2.794455557e-02f, -2.801025050e-02f,
+-2.807588614e-02f, -2.814146239e-02f, -2.820697914e-02f, -2.827243630e-02f, -2.833783376e-02f, -2.840317142e-02f, -2.846844918e-02f, -2.853366693e-02f, -2.859882457e-02f, -2.866392201e-02f,
+-2.872895914e-02f, -2.879393586e-02f, -2.885885206e-02f, -2.892370765e-02f, -2.898850252e-02f, -2.905323658e-02f, -2.911790972e-02f, -2.918252184e-02f, -2.924707284e-02f, -2.931156262e-02f,
+-2.937599109e-02f, -2.944035813e-02f, -2.950466365e-02f, -2.956890755e-02f, -2.963308974e-02f, -2.969721010e-02f, -2.976126854e-02f, -2.982526496e-02f, -2.988919926e-02f, -2.995307134e-02f,
+-3.001688111e-02f, -3.008062846e-02f, -3.014431329e-02f, -3.020793550e-02f, -3.027149501e-02f, -3.033499170e-02f, -3.039842548e-02f, -3.046179625e-02f, -3.052510392e-02f, -3.058834837e-02f,
+-3.065152953e-02f, -3.071464728e-02f, -3.077770154e-02f, -3.084069219e-02f, -3.090361916e-02f, -3.096648233e-02f, -3.102928161e-02f, -3.109201691e-02f, -3.115468812e-02f, -3.121729515e-02f,
+-3.127983791e-02f, -3.134231629e-02f, -3.140473021e-02f, -3.146707955e-02f, -3.152936424e-02f, -3.159158416e-02f, -3.165373923e-02f, -3.171582935e-02f, -3.177785442e-02f, -3.183981435e-02f,
+-3.190170905e-02f, -3.196353841e-02f, -3.202530234e-02f, -3.208700075e-02f, -3.214863354e-02f, -3.221020061e-02f, -3.227170188e-02f, -3.233313725e-02f, -3.239450662e-02f, -3.245580990e-02f,
+-3.251704699e-02f, -3.257821780e-02f, -3.263932224e-02f, -3.270036021e-02f, -3.276133162e-02f, -3.282223638e-02f, -3.288307438e-02f, -3.294384555e-02f, -3.300454978e-02f, -3.306518698e-02f,
+-3.312575706e-02f, -3.318625992e-02f, -3.324669548e-02f, -3.330706365e-02f, -3.336736432e-02f, -3.342759740e-02f, -3.348776281e-02f, -3.354786045e-02f, -3.360789024e-02f, -3.366785207e-02f,
+-3.372774585e-02f, -3.378757150e-02f, -3.384732893e-02f, -3.390701804e-02f, -3.396663874e-02f, -3.402619094e-02f, -3.408567455e-02f, -3.414508948e-02f, -3.420443563e-02f, -3.426371293e-02f,
+-3.432292127e-02f, -3.438206057e-02f, -3.444113074e-02f, -3.450013168e-02f, -3.455906331e-02f, -3.461792554e-02f, -3.467671827e-02f, -3.473544143e-02f, -3.479409491e-02f, -3.485267864e-02f,
+-3.491119252e-02f, -3.496963646e-02f, -3.502801037e-02f, -3.508631417e-02f, -3.514454776e-02f, -3.520271106e-02f, -3.526080399e-02f, -3.531882644e-02f, -3.537677834e-02f, -3.543465960e-02f,
+-3.549247012e-02f, -3.555020983e-02f, -3.560787863e-02f, -3.566547643e-02f, -3.572300316e-02f, -3.578045871e-02f, -3.583784302e-02f, -3.589515598e-02f, -3.595239751e-02f, -3.600956753e-02f,
+-3.606666595e-02f, -3.612369268e-02f, -3.618064764e-02f, -3.623753074e-02f, -3.629434190e-02f, -3.635108102e-02f, -3.640774803e-02f, -3.646434284e-02f, -3.652086536e-02f, -3.657731551e-02f,
+-3.663369321e-02f, -3.668999836e-02f, -3.674623089e-02f, -3.680239071e-02f, -3.685847773e-02f, -3.691449188e-02f, -3.697043306e-02f, -3.702630120e-02f, -3.708209620e-02f, -3.713781799e-02f,
+-3.719346648e-02f, -3.724904159e-02f, -3.730454323e-02f, -3.735997133e-02f, -3.741532579e-02f, -3.747060655e-02f, -3.752581350e-02f, -3.758094658e-02f, -3.763600569e-02f, -3.769099076e-02f,
+-3.774590170e-02f, -3.780073844e-02f, -3.785550088e-02f, -3.791018896e-02f, -3.796480258e-02f, -3.801934166e-02f, -3.807380613e-02f, -3.812819590e-02f, -3.818251089e-02f, -3.823675102e-02f,
+-3.829091621e-02f, -3.834500638e-02f, -3.839902145e-02f, -3.845296134e-02f, -3.850682596e-02f, -3.856061525e-02f, -3.861432911e-02f, -3.866796747e-02f, -3.872153024e-02f, -3.877501736e-02f,
+-3.882842874e-02f, -3.888176429e-02f, -3.893502395e-02f, -3.898820763e-02f, -3.904131525e-02f, -3.909434674e-02f, -3.914730201e-02f, -3.920018100e-02f, -3.925298361e-02f, -3.930570977e-02f,
+-3.935835941e-02f, -3.941093244e-02f, -3.946342879e-02f, -3.951584838e-02f, -3.956819114e-02f, -3.962045698e-02f, -3.967264583e-02f, -3.972475761e-02f, -3.977679225e-02f, -3.982874967e-02f,
+-3.988062979e-02f, -3.993243253e-02f, -3.998415782e-02f, -4.003580559e-02f, -4.008737576e-02f, -4.013886824e-02f, -4.019028297e-02f, -4.024161988e-02f, -4.029287887e-02f, -4.034405989e-02f,
+-4.039516286e-02f, -4.044618769e-02f, -4.049713432e-02f, -4.054800267e-02f, -4.059879266e-02f, -4.064950423e-02f, -4.070013729e-02f, -4.075069178e-02f, -4.080116762e-02f, -4.085156473e-02f,
+-4.090188304e-02f, -4.095212249e-02f, -4.100228299e-02f, -4.105236447e-02f, -4.110236686e-02f, -4.115229009e-02f, -4.120213408e-02f, -4.125189876e-02f, -4.130158406e-02f, -4.135118991e-02f,
+-4.140071623e-02f, -4.145016295e-02f, -4.149953001e-02f, -4.154881732e-02f, -4.159802482e-02f, -4.164715243e-02f, -4.169620009e-02f, -4.174516773e-02f, -4.179405526e-02f, -4.184286263e-02f,
+-4.189158976e-02f, -4.194023657e-02f, -4.198880301e-02f, -4.203728900e-02f, -4.208569447e-02f, -4.213401934e-02f, -4.218226356e-02f, -4.223042704e-02f, -4.227850973e-02f, -4.232651155e-02f,
+-4.237443243e-02f, -4.242227231e-02f, -4.247003111e-02f, -4.251770876e-02f, -4.256530520e-02f, -4.261282036e-02f, -4.266025417e-02f, -4.270760656e-02f, -4.275487747e-02f, -4.280206682e-02f,
+-4.284917455e-02f, -4.289620060e-02f, -4.294314488e-02f, -4.299000734e-02f, -4.303678792e-02f, -4.308348653e-02f, -4.313010312e-02f, -4.317663762e-02f, -4.322308996e-02f, -4.326946008e-02f,
+-4.331574790e-02f, -4.336195338e-02f, -4.340807643e-02f, -4.345411699e-02f, -4.350007499e-02f, -4.354595038e-02f, -4.359174309e-02f, -4.363745305e-02f, -4.368308019e-02f, -4.372862445e-02f,
+-4.377408577e-02f, -4.381946408e-02f, -4.386475932e-02f, -4.390997142e-02f, -4.395510032e-02f, -4.400014596e-02f, -4.404510827e-02f, -4.408998719e-02f, -4.413478265e-02f, -4.417949459e-02f,
+-4.422412295e-02f, -4.426866766e-02f, -4.431312867e-02f, -4.435750590e-02f, -4.440179931e-02f, -4.444600881e-02f, -4.449013436e-02f, -4.453417589e-02f, -4.457813334e-02f, -4.462200664e-02f,
+-4.466579574e-02f, -4.470950057e-02f, -4.475312108e-02f, -4.479665719e-02f, -4.484010886e-02f, -4.488347601e-02f, -4.492675859e-02f, -4.496995654e-02f, -4.501306980e-02f, -4.505609830e-02f,
+-4.509904199e-02f, -4.514190081e-02f, -4.518467470e-02f, -4.522736359e-02f, -4.526996743e-02f, -4.531248616e-02f, -4.535491972e-02f, -4.539726805e-02f, -4.543953109e-02f, -4.548170879e-02f,
+-4.552380108e-02f, -4.556580790e-02f, -4.560772920e-02f, -4.564956493e-02f, -4.569131501e-02f, -4.573297940e-02f, -4.577455804e-02f, -4.581605086e-02f, -4.585745782e-02f, -4.589877885e-02f,
+-4.594001390e-02f, -4.598116291e-02f, -4.602222582e-02f, -4.606320258e-02f, -4.610409313e-02f, -4.614489742e-02f, -4.618561539e-02f, -4.622624698e-02f, -4.626679213e-02f, -4.630725080e-02f,
+-4.634762293e-02f, -4.638790845e-02f, -4.642810732e-02f, -4.646821948e-02f, -4.650824488e-02f, -4.654818346e-02f, -4.658803517e-02f, -4.662779994e-02f, -4.666747774e-02f, -4.670706850e-02f,
+-4.674657218e-02f, -4.678598870e-02f, -4.682531804e-02f, -4.686456012e-02f, -4.690371490e-02f, -4.694278232e-02f, -4.698176233e-02f, -4.702065488e-02f, -4.705945991e-02f, -4.709817738e-02f,
+-4.713680723e-02f, -4.717534941e-02f, -4.721380386e-02f, -4.725217054e-02f, -4.729044939e-02f, -4.732864036e-02f, -4.736674340e-02f, -4.740475846e-02f, -4.744268549e-02f, -4.748052443e-02f,
+-4.751827524e-02f, -4.755593787e-02f, -4.759351226e-02f, -4.763099837e-02f, -4.766839614e-02f, -4.770570553e-02f, -4.774292648e-02f, -4.778005895e-02f, -4.781710288e-02f, -4.785405823e-02f,
+-4.789092495e-02f, -4.792770298e-02f, -4.796439229e-02f, -4.800099282e-02f, -4.803750452e-02f, -4.807392734e-02f, -4.811026124e-02f, -4.814650617e-02f, -4.818266208e-02f, -4.821872892e-02f,
+-4.825470665e-02f, -4.829059522e-02f, -4.832639457e-02f, -4.836210467e-02f, -4.839772546e-02f, -4.843325691e-02f, -4.846869896e-02f, -4.850405156e-02f, -4.853931468e-02f, -4.857448826e-02f,
+-4.860957226e-02f, -4.864456663e-02f, -4.867947133e-02f, -4.871428631e-02f, -4.874901152e-02f, -4.878364693e-02f, -4.881819248e-02f, -4.885264814e-02f, -4.888701385e-02f, -4.892128957e-02f,
+-4.895547526e-02f, -4.898957088e-02f, -4.902357637e-02f, -4.905749170e-02f, -4.909131682e-02f, -4.912505169e-02f, -4.915869627e-02f, -4.919225051e-02f, -4.922571436e-02f, -4.925908779e-02f,
+-4.929237076e-02f, -4.932556322e-02f, -4.935866512e-02f, -4.939167643e-02f, -4.942459710e-02f, -4.945742710e-02f, -4.949016638e-02f, -4.952281489e-02f, -4.955537260e-02f, -4.958783947e-02f,
+-4.962021545e-02f, -4.965250051e-02f, -4.968469460e-02f, -4.971679768e-02f, -4.974880971e-02f, -4.978073066e-02f, -4.981256047e-02f, -4.984429912e-02f, -4.987594656e-02f, -4.990750275e-02f,
+-4.993896765e-02f, -4.997034123e-02f, -5.000162344e-02f, -5.003281424e-02f, -5.006391360e-02f, -5.009492148e-02f, -5.012583784e-02f, -5.015666263e-02f, -5.018739583e-02f, -5.021803740e-02f,
+-5.024858728e-02f, -5.027904546e-02f, -5.030941189e-02f, -5.033968653e-02f, -5.036986935e-02f, -5.039996030e-02f, -5.042995936e-02f, -5.045986649e-02f, -5.048968164e-02f, -5.051940479e-02f,
+-5.054903589e-02f, -5.057857491e-02f, -5.060802182e-02f, -5.063737657e-02f, -5.066663914e-02f, -5.069580948e-02f, -5.072488757e-02f, -5.075387336e-02f, -5.078276682e-02f, -5.081156793e-02f,
+-5.084027663e-02f, -5.086889290e-02f, -5.089741671e-02f, -5.092584802e-02f, -5.095418679e-02f, -5.098243299e-02f, -5.101058659e-02f, -5.103864756e-02f, -5.106661585e-02f, -5.109449145e-02f,
+-5.112227431e-02f, -5.114996440e-02f, -5.117756169e-02f, -5.120506615e-02f, -5.123247774e-02f, -5.125979643e-02f, -5.128702220e-02f, -5.131415500e-02f, -5.134119482e-02f, -5.136814160e-02f,
+-5.139499533e-02f, -5.142175598e-02f, -5.144842350e-02f, -5.147499788e-02f, -5.150147907e-02f, -5.152786706e-02f, -5.155416180e-02f, -5.158036327e-02f, -5.160647145e-02f, -5.163248629e-02f,
+-5.165840777e-02f, -5.168423586e-02f, -5.170997053e-02f, -5.173561175e-02f, -5.176115949e-02f, -5.178661372e-02f, -5.181197442e-02f, -5.183724156e-02f, -5.186241510e-02f, -5.188749502e-02f,
+-5.191248130e-02f, -5.193737389e-02f, -5.196217278e-02f, -5.198687794e-02f, -5.201148934e-02f, -5.203600695e-02f, -5.206043074e-02f, -5.208476070e-02f, -5.210899678e-02f, -5.213313898e-02f,
+-5.215718725e-02f, -5.218114157e-02f, -5.220500192e-02f, -5.222876827e-02f, -5.225244060e-02f, -5.227601887e-02f, -5.229950307e-02f, -5.232289317e-02f, -5.234618913e-02f, -5.236939095e-02f,
+-5.239249859e-02f, -5.241551203e-02f, -5.243843124e-02f, -5.246125621e-02f, -5.248398690e-02f, -5.250662329e-02f, -5.252916536e-02f, -5.255161308e-02f, -5.257396643e-02f, -5.259622539e-02f,
+-5.261838994e-02f, -5.264046004e-02f, -5.266243569e-02f, -5.268431685e-02f, -5.270610350e-02f, -5.272779563e-02f, -5.274939320e-02f, -5.277089620e-02f, -5.279230460e-02f, -5.281361839e-02f,
+-5.283483754e-02f, -5.285596203e-02f, -5.287699184e-02f, -5.289792694e-02f, -5.291876733e-02f, -5.293951297e-02f, -5.296016384e-02f, -5.298071993e-02f, -5.300118122e-02f, -5.302154768e-02f,
+-5.304181930e-02f, -5.306199605e-02f, -5.308207792e-02f, -5.310206489e-02f, -5.312195693e-02f, -5.314175403e-02f, -5.316145617e-02f, -5.318106333e-02f, -5.320057550e-02f, -5.321999265e-02f,
+-5.323931476e-02f, -5.325854182e-02f, -5.327767381e-02f, -5.329671072e-02f, -5.331565251e-02f, -5.333449919e-02f, -5.335325072e-02f, -5.337190710e-02f, -5.339046830e-02f, -5.340893431e-02f,
+-5.342730512e-02f, -5.344558070e-02f, -5.346376104e-02f, -5.348184612e-02f, -5.349983593e-02f, -5.351773046e-02f, -5.353552968e-02f, -5.355323358e-02f, -5.357084215e-02f, -5.358835536e-02f,
+-5.360577322e-02f, -5.362309569e-02f, -5.364032277e-02f, -5.365745444e-02f, -5.367449069e-02f, -5.369143151e-02f, -5.370827687e-02f, -5.372502677e-02f, -5.374168119e-02f, -5.375824012e-02f,
+-5.377470355e-02f, -5.379107145e-02f, -5.380734383e-02f, -5.382352066e-02f, -5.383960194e-02f, -5.385558765e-02f, -5.387147778e-02f, -5.388727232e-02f, -5.390297125e-02f, -5.391857456e-02f,
+-5.393408225e-02f, -5.394949429e-02f, -5.396481069e-02f, -5.398003142e-02f, -5.399515648e-02f, -5.401018585e-02f, -5.402511954e-02f, -5.403995751e-02f, -5.405469977e-02f, -5.406934631e-02f,
+-5.408389711e-02f, -5.409835216e-02f, -5.411271146e-02f, -5.412697499e-02f, -5.414114275e-02f, -5.415521473e-02f, -5.416919091e-02f, -5.418307130e-02f, -5.419685587e-02f, -5.421054463e-02f,
+-5.422413756e-02f, -5.423763466e-02f, -5.425103591e-02f, -5.426434131e-02f, -5.427755086e-02f, -5.429066453e-02f, -5.430368234e-02f, -5.431660427e-02f, -5.432943031e-02f, -5.434216045e-02f,
+-5.435479469e-02f, -5.436733303e-02f, -5.437977545e-02f, -5.439212196e-02f, -5.440437253e-02f, -5.441652718e-02f, -5.442858589e-02f, -5.444054865e-02f, -5.445241547e-02f, -5.446418633e-02f,
+-5.447586124e-02f, -5.448744018e-02f, -5.449892315e-02f, -5.451031015e-02f, -5.452160117e-02f, -5.453279621e-02f, -5.454389527e-02f, -5.455489834e-02f, -5.456580541e-02f, -5.457661649e-02f,
+-5.458733156e-02f, -5.459795063e-02f, -5.460847370e-02f, -5.461890076e-02f, -5.462923180e-02f, -5.463946683e-02f, -5.464960585e-02f, -5.465964884e-02f, -5.466959581e-02f, -5.467944676e-02f,
+-5.468920169e-02f, -5.469886058e-02f, -5.470842345e-02f, -5.471789029e-02f, -5.472726110e-02f, -5.473653588e-02f, -5.474571463e-02f, -5.475479734e-02f, -5.476378402e-02f, -5.477267466e-02f,
+-5.478146927e-02f, -5.479016785e-02f, -5.479877040e-02f, -5.480727691e-02f, -5.481568738e-02f, -5.482400183e-02f, -5.483222025e-02f, -5.484034263e-02f, -5.484836899e-02f, -5.485629932e-02f,
+-5.486413362e-02f, -5.487187190e-02f, -5.487951415e-02f, -5.488706039e-02f, -5.489451060e-02f, -5.490186480e-02f, -5.490912299e-02f, -5.491628516e-02f, -5.492335133e-02f, -5.493032149e-02f,
+-5.493719565e-02f, -5.494397382e-02f, -5.495065598e-02f, -5.495724216e-02f, -5.496373234e-02f, -5.497012655e-02f, -5.497642477e-02f, -5.498262702e-02f, -5.498873330e-02f, -5.499474361e-02f,
+-5.500065795e-02f, -5.500647635e-02f, -5.501219879e-02f, -5.501782528e-02f, -5.502335583e-02f, -5.502879045e-02f, -5.503412914e-02f, -5.503937190e-02f, -5.504451875e-02f, -5.504956969e-02f,
+-5.505452472e-02f, -5.505938385e-02f, -5.506414709e-02f, -5.506881444e-02f, -5.507338592e-02f, -5.507786153e-02f, -5.508224127e-02f, -5.508652516e-02f, -5.509071320e-02f, -5.509480540e-02f,
+-5.509880177e-02f, -5.510270232e-02f, -5.510650704e-02f, -5.511021597e-02f, -5.511382909e-02f, -5.511734642e-02f, -5.512076798e-02f, -5.512409376e-02f, -5.512732378e-02f, -5.513045804e-02f,
+-5.513349657e-02f, -5.513643936e-02f, -5.513928643e-02f, -5.514203778e-02f, -5.514469344e-02f, -5.514725339e-02f, -5.514971767e-02f, -5.515208628e-02f, -5.515435923e-02f, -5.515653653e-02f,
+-5.515861819e-02f, -5.516060422e-02f, -5.516249464e-02f, -5.516428946e-02f, -5.516598868e-02f, -5.516759233e-02f, -5.516910041e-02f, -5.517051293e-02f, -5.517182992e-02f, -5.517305137e-02f,
+-5.517417731e-02f, -5.517520775e-02f, -5.517614269e-02f, -5.517698216e-02f, -5.517772616e-02f, -5.517837472e-02f, -5.517892784e-02f, -5.517938554e-02f, -5.517974783e-02f, -5.518001473e-02f,
+-5.518018625e-02f, -5.518026240e-02f, -5.518024321e-02f, -5.518012868e-02f, -5.517991883e-02f, -5.517961368e-02f, -5.517921324e-02f, -5.517871752e-02f, -5.517812655e-02f, -5.517744034e-02f,
+-5.517665890e-02f, -5.517578226e-02f, -5.517481042e-02f, -5.517374340e-02f, -5.517258123e-02f, -5.517132391e-02f, -5.516997147e-02f, -5.516852392e-02f, -5.516698128e-02f, -5.516534357e-02f,
+-5.516361080e-02f, -5.516178299e-02f, -5.515986016e-02f, -5.515784233e-02f, -5.515572952e-02f, -5.515352174e-02f, -5.515121902e-02f, -5.514882137e-02f, -5.514632881e-02f, -5.514374136e-02f,
+-5.514105904e-02f, -5.513828187e-02f, -5.513540986e-02f, -5.513244305e-02f, -5.512938145e-02f, -5.512622507e-02f, -5.512297394e-02f, -5.511962808e-02f, -5.511618751e-02f, -5.511265225e-02f,
+-5.510902233e-02f, -5.510529775e-02f, -5.510147855e-02f, -5.509756474e-02f, -5.509355635e-02f, -5.508945340e-02f, -5.508525590e-02f, -5.508096389e-02f, -5.507657738e-02f, -5.507209640e-02f,
+-5.506752096e-02f, -5.506285110e-02f, -5.505808683e-02f, -5.505322817e-02f, -5.504827516e-02f, -5.504322780e-02f, -5.503808614e-02f, -5.503285018e-02f, -5.502751996e-02f, -5.502209549e-02f,
+-5.501657681e-02f, -5.501096393e-02f, -5.500525688e-02f, -5.499945568e-02f, -5.499356037e-02f, -5.498757095e-02f, -5.498148747e-02f, -5.497530994e-02f, -5.496903839e-02f, -5.496267284e-02f,
+-5.495621332e-02f, -5.494965986e-02f, -5.494301247e-02f, -5.493627120e-02f, -5.492943606e-02f, -5.492250708e-02f, -5.491548429e-02f, -5.490836770e-02f, -5.490115736e-02f, -5.489385329e-02f,
+-5.488645551e-02f, -5.487896405e-02f, -5.487137894e-02f, -5.486370020e-02f, -5.485592787e-02f, -5.484806198e-02f, -5.484010254e-02f, -5.483204959e-02f, -5.482390316e-02f, -5.481566327e-02f,
+-5.480732995e-02f, -5.479890324e-02f, -5.479038316e-02f, -5.478176974e-02f, -5.477306301e-02f, -5.476426300e-02f, -5.475536974e-02f, -5.474638326e-02f, -5.473730359e-02f, -5.472813075e-02f,
+-5.471886479e-02f, -5.470950572e-02f, -5.470005359e-02f, -5.469050841e-02f, -5.468087023e-02f, -5.467113907e-02f, -5.466131496e-02f, -5.465139794e-02f, -5.464138803e-02f, -5.463128527e-02f,
+-5.462108969e-02f, -5.461080133e-02f, -5.460042020e-02f, -5.458994636e-02f, -5.457937982e-02f, -5.456872062e-02f, -5.455796880e-02f, -5.454712438e-02f, -5.453618740e-02f, -5.452515789e-02f,
+-5.451403589e-02f, -5.450282143e-02f, -5.449151454e-02f, -5.448011526e-02f, -5.446862362e-02f, -5.445703965e-02f, -5.444536340e-02f, -5.443359488e-02f, -5.442173414e-02f, -5.440978122e-02f,
+-5.439773614e-02f, -5.438559894e-02f, -5.437336966e-02f, -5.436104834e-02f, -5.434863500e-02f, -5.433612968e-02f, -5.432353243e-02f, -5.431084327e-02f, -5.429806224e-02f, -5.428518937e-02f,
+-5.427222471e-02f, -5.425916829e-02f, -5.424602015e-02f, -5.423278032e-02f, -5.421944884e-02f, -5.420602575e-02f, -5.419251108e-02f, -5.417890488e-02f, -5.416520717e-02f, -5.415141801e-02f,
+-5.413753741e-02f, -5.412356543e-02f, -5.410950210e-02f, -5.409534746e-02f, -5.408110155e-02f, -5.406676441e-02f, -5.405233607e-02f, -5.403781657e-02f, -5.402320596e-02f, -5.400850427e-02f,
+-5.399371154e-02f, -5.397882782e-02f, -5.396385313e-02f, -5.394878752e-02f, -5.393363104e-02f, -5.391838371e-02f, -5.390304559e-02f, -5.388761671e-02f, -5.387209710e-02f, -5.385648683e-02f,
+-5.384078591e-02f, -5.382499440e-02f, -5.380911233e-02f, -5.379313975e-02f, -5.377707670e-02f, -5.376092322e-02f, -5.374467934e-02f, -5.372834513e-02f, -5.371192060e-02f, -5.369540582e-02f,
+-5.367880081e-02f, -5.366210562e-02f, -5.364532030e-02f, -5.362844489e-02f, -5.361147943e-02f, -5.359442396e-02f, -5.357727852e-02f, -5.356004317e-02f, -5.354271794e-02f, -5.352530287e-02f,
+-5.350779802e-02f, -5.349020342e-02f, -5.347251912e-02f, -5.345474516e-02f, -5.343688159e-02f, -5.341892845e-02f, -5.340088579e-02f, -5.338275365e-02f, -5.336453207e-02f, -5.334622111e-02f,
+-5.332782080e-02f, -5.330933119e-02f, -5.329075233e-02f, -5.327208426e-02f, -5.325332703e-02f, -5.323448069e-02f, -5.321554528e-02f, -5.319652084e-02f, -5.317740743e-02f, -5.315820508e-02f,
+-5.313891385e-02f, -5.311953379e-02f, -5.310006494e-02f, -5.308050734e-02f, -5.306086105e-02f, -5.304112611e-02f, -5.302130257e-02f, -5.300139048e-02f, -5.298138988e-02f, -5.296130082e-02f,
+-5.294112336e-02f, -5.292085753e-02f, -5.290050340e-02f, -5.288006100e-02f, -5.285953038e-02f, -5.283891160e-02f, -5.281820470e-02f, -5.279740974e-02f, -5.277652675e-02f, -5.275555580e-02f,
+-5.273449692e-02f, -5.271335018e-02f, -5.269211561e-02f, -5.267079328e-02f, -5.264938322e-02f, -5.262788550e-02f, -5.260630015e-02f, -5.258462724e-02f, -5.256286681e-02f, -5.254101891e-02f,
+-5.251908359e-02f, -5.249706091e-02f, -5.247495092e-02f, -5.245275366e-02f, -5.243046919e-02f, -5.240809756e-02f, -5.238563882e-02f, -5.236309303e-02f, -5.234046023e-02f, -5.231774049e-02f,
+-5.229493384e-02f, -5.227204034e-02f, -5.224906006e-02f, -5.222599303e-02f, -5.220283931e-02f, -5.217959896e-02f, -5.215627202e-02f, -5.213285856e-02f, -5.210935862e-02f, -5.208577226e-02f,
+-5.206209954e-02f, -5.203834049e-02f, -5.201449519e-02f, -5.199056369e-02f, -5.196654603e-02f, -5.194244228e-02f, -5.191825248e-02f, -5.189397669e-02f, -5.186961498e-02f, -5.184516738e-02f,
+-5.182063397e-02f, -5.179601478e-02f, -5.177130989e-02f, -5.174651934e-02f, -5.172164319e-02f, -5.169668149e-02f, -5.167163431e-02f, -5.164650169e-02f, -5.162128370e-02f, -5.159598038e-02f,
+-5.157059181e-02f, -5.154511802e-02f, -5.151955909e-02f, -5.149391507e-02f, -5.146818600e-02f, -5.144237196e-02f, -5.141647300e-02f, -5.139048918e-02f, -5.136442055e-02f, -5.133826717e-02f,
+-5.131202910e-02f, -5.128570640e-02f, -5.125929912e-02f, -5.123280733e-02f, -5.120623108e-02f, -5.117957043e-02f, -5.115282544e-02f, -5.112599618e-02f, -5.109908268e-02f, -5.107208503e-02f,
+-5.104500327e-02f, -5.101783746e-02f, -5.099058767e-02f, -5.096325396e-02f, -5.093583638e-02f, -5.090833499e-02f, -5.088074986e-02f, -5.085308104e-02f, -5.082532860e-02f, -5.079749259e-02f,
+-5.076957308e-02f, -5.074157012e-02f, -5.071348379e-02f, -5.068531413e-02f, -5.065706121e-02f, -5.062872509e-02f, -5.060030583e-02f, -5.057180350e-02f, -5.054321815e-02f, -5.051454985e-02f,
+-5.048579865e-02f, -5.045696463e-02f, -5.042804784e-02f, -5.039904835e-02f, -5.036996621e-02f, -5.034080150e-02f, -5.031155427e-02f, -5.028222458e-02f, -5.025281251e-02f, -5.022331810e-02f,
+-5.019374143e-02f, -5.016408256e-02f, -5.013434155e-02f, -5.010451847e-02f, -5.007461338e-02f, -5.004462634e-02f, -5.001455742e-02f, -4.998440668e-02f, -4.995417418e-02f, -4.992386000e-02f,
+-4.989346419e-02f, -4.986298682e-02f, -4.983242795e-02f, -4.980178765e-02f, -4.977106599e-02f, -4.974026302e-02f, -4.970937882e-02f, -4.967841346e-02f, -4.964736698e-02f, -4.961623947e-02f,
+-4.958503098e-02f, -4.955374159e-02f, -4.952237136e-02f, -4.949092035e-02f, -4.945938863e-02f, -4.942777628e-02f, -4.939608334e-02f, -4.936430990e-02f, -4.933245602e-02f, -4.930052176e-02f,
+-4.926850719e-02f, -4.923641238e-02f, -4.920423740e-02f, -4.917198232e-02f, -4.913964719e-02f, -4.910723210e-02f, -4.907473710e-02f, -4.904216227e-02f, -4.900950767e-02f, -4.897677338e-02f,
+-4.894395945e-02f, -4.891106596e-02f, -4.887809298e-02f, -4.884504058e-02f, -4.881190882e-02f, -4.877869777e-02f, -4.874540751e-02f, -4.871203810e-02f, -4.867858961e-02f, -4.864506211e-02f,
+-4.861145568e-02f, -4.857777037e-02f, -4.854400626e-02f, -4.851016343e-02f, -4.847624193e-02f, -4.844224184e-02f, -4.840816324e-02f, -4.837400618e-02f, -4.833977075e-02f, -4.830545701e-02f,
+-4.827106504e-02f, -4.823659489e-02f, -4.820204666e-02f, -4.816742040e-02f, -4.813271619e-02f, -4.809793409e-02f, -4.806307419e-02f, -4.802813655e-02f, -4.799312125e-02f, -4.795802835e-02f,
+-4.792285793e-02f, -4.788761006e-02f, -4.785228482e-02f, -4.781688227e-02f, -4.778140249e-02f, -4.774584555e-02f, -4.771021152e-02f, -4.767450048e-02f, -4.763871249e-02f, -4.760284764e-02f,
+-4.756690600e-02f, -4.753088764e-02f, -4.749479262e-02f, -4.745862104e-02f, -4.742237295e-02f, -4.738604844e-02f, -4.734964758e-02f, -4.731317043e-02f, -4.727661709e-02f, -4.723998761e-02f,
+-4.720328208e-02f, -4.716650057e-02f, -4.712964315e-02f, -4.709270991e-02f, -4.705570090e-02f, -4.701861622e-02f, -4.698145593e-02f, -4.694422011e-02f, -4.690690883e-02f, -4.686952218e-02f,
+-4.683206022e-02f, -4.679452303e-02f, -4.675691070e-02f, -4.671922328e-02f, -4.668146086e-02f, -4.664362353e-02f, -4.660571134e-02f, -4.656772438e-02f, -4.652966273e-02f, -4.649152646e-02f,
+-4.645331565e-02f, -4.641503037e-02f, -4.637667071e-02f, -4.633823673e-02f, -4.629972853e-02f, -4.626114617e-02f, -4.622248973e-02f, -4.618375929e-02f, -4.614495493e-02f, -4.610607672e-02f,
+-4.606712475e-02f, -4.602809909e-02f, -4.598899982e-02f, -4.594982701e-02f, -4.591058075e-02f, -4.587126112e-02f, -4.583186819e-02f, -4.579240204e-02f, -4.575286276e-02f, -4.571325041e-02f,
+-4.567356508e-02f, -4.563380685e-02f, -4.559397580e-02f, -4.555407201e-02f, -4.551409555e-02f, -4.547404651e-02f, -4.543392496e-02f, -4.539373099e-02f, -4.535346468e-02f, -4.531312610e-02f,
+-4.527271534e-02f, -4.523223247e-02f, -4.519167759e-02f, -4.515105075e-02f, -4.511035206e-02f, -4.506958159e-02f, -4.502873941e-02f, -4.498782562e-02f, -4.494684029e-02f, -4.490578350e-02f,
+-4.486465533e-02f, -4.482345587e-02f, -4.478218520e-02f, -4.474084340e-02f, -4.469943055e-02f, -4.465794673e-02f, -4.461639202e-02f, -4.457476651e-02f, -4.453307028e-02f, -4.449130341e-02f,
+-4.444946599e-02f, -4.440755809e-02f, -4.436557980e-02f, -4.432353120e-02f, -4.428141237e-02f, -4.423922340e-02f, -4.419696437e-02f, -4.415463537e-02f, -4.411223647e-02f, -4.406976776e-02f,
+-4.402722932e-02f, -4.398462124e-02f, -4.394194360e-02f, -4.389919649e-02f, -4.385637998e-02f, -4.381349417e-02f, -4.377053913e-02f, -4.372751496e-02f, -4.368442172e-02f, -4.364125952e-02f,
+-4.359802843e-02f, -4.355472854e-02f, -4.351135994e-02f, -4.346792270e-02f, -4.342441691e-02f, -4.338084267e-02f, -4.333720004e-02f, -4.329348913e-02f, -4.324971001e-02f, -4.320586276e-02f,
+-4.316194749e-02f, -4.311796426e-02f, -4.307391317e-02f, -4.302979430e-02f, -4.298560774e-02f, -4.294135358e-02f, -4.289703189e-02f, -4.285264277e-02f, -4.280818631e-02f, -4.276366258e-02f,
+-4.271907168e-02f, -4.267441370e-02f, -4.262968871e-02f, -4.258489681e-02f, -4.254003809e-02f, -4.249511262e-02f, -4.245012051e-02f, -4.240506183e-02f, -4.235993667e-02f, -4.231474512e-02f,
+-4.226948727e-02f, -4.222416321e-02f, -4.217877301e-02f, -4.213331678e-02f, -4.208779460e-02f, -4.204220656e-02f, -4.199655274e-02f, -4.195083324e-02f, -4.190504814e-02f, -4.185919753e-02f,
+-4.181328150e-02f, -4.176730013e-02f, -4.172125353e-02f, -4.167514177e-02f, -4.162896494e-02f, -4.158272314e-02f, -4.153641645e-02f, -4.149004496e-02f, -4.144360877e-02f, -4.139710796e-02f,
+-4.135054261e-02f, -4.130391283e-02f, -4.125721870e-02f, -4.121046031e-02f, -4.116363775e-02f, -4.111675111e-02f, -4.106980048e-02f, -4.102278594e-02f, -4.097570761e-02f, -4.092856555e-02f,
+-4.088135986e-02f, -4.083409064e-02f, -4.078675797e-02f, -4.073936194e-02f, -4.069190265e-02f, -4.064438018e-02f, -4.059679464e-02f, -4.054914609e-02f, -4.050143465e-02f, -4.045366040e-02f,
+-4.040582344e-02f, -4.035792384e-02f, -4.030996172e-02f, -4.026193715e-02f, -4.021385023e-02f, -4.016570105e-02f, -4.011748970e-02f, -4.006921628e-02f, -4.002088088e-02f, -3.997248359e-02f,
+-3.992402449e-02f, -3.987550370e-02f, -3.982692129e-02f, -3.977827736e-02f, -3.972957201e-02f, -3.968080532e-02f, -3.963197739e-02f, -3.958308831e-02f, -3.953413817e-02f, -3.948512708e-02f,
+-3.943605511e-02f, -3.938692237e-02f, -3.933772895e-02f, -3.928847494e-02f, -3.923916044e-02f, -3.918978553e-02f, -3.914035032e-02f, -3.909085490e-02f, -3.904129936e-02f, -3.899168379e-02f,
+-3.894200829e-02f, -3.889227296e-02f, -3.884247788e-02f, -3.879262316e-02f, -3.874270888e-02f, -3.869273515e-02f, -3.864270205e-02f, -3.859260968e-02f, -3.854245815e-02f, -3.849224753e-02f,
+-3.844197792e-02f, -3.839164943e-02f, -3.834126215e-02f, -3.829081617e-02f, -3.824031159e-02f, -3.818974850e-02f, -3.813912699e-02f, -3.808844718e-02f, -3.803770914e-02f, -3.798691298e-02f,
+-3.793605879e-02f, -3.788514667e-02f, -3.783417671e-02f, -3.778314902e-02f, -3.773206368e-02f, -3.768092079e-02f, -3.762972045e-02f, -3.757846276e-02f, -3.752714781e-02f, -3.747577570e-02f,
+-3.742434653e-02f, -3.737286038e-02f, -3.732131737e-02f, -3.726971759e-02f, -3.721806113e-02f, -3.716634809e-02f, -3.711457857e-02f, -3.706275266e-02f, -3.701087047e-02f, -3.695893209e-02f,
+-3.690693762e-02f, -3.685488715e-02f, -3.680278079e-02f, -3.675061863e-02f, -3.669840077e-02f, -3.664612730e-02f, -3.659379834e-02f, -3.654141396e-02f, -3.648897428e-02f, -3.643647939e-02f,
+-3.638392938e-02f, -3.633132437e-02f, -3.627866444e-02f, -3.622594969e-02f, -3.617318023e-02f, -3.612035615e-02f, -3.606747755e-02f, -3.601454453e-02f, -3.596155719e-02f, -3.590851563e-02f,
+-3.585541995e-02f, -3.580227024e-02f, -3.574906660e-02f, -3.569580915e-02f, -3.564249796e-02f, -3.558913316e-02f, -3.553571482e-02f, -3.548224306e-02f, -3.542871797e-02f, -3.537513966e-02f,
+-3.532150822e-02f, -3.526782375e-02f, -3.521408636e-02f, -3.516029614e-02f, -3.510645320e-02f, -3.505255763e-02f, -3.499860953e-02f, -3.494460901e-02f, -3.489055616e-02f, -3.483645110e-02f,
+-3.478229390e-02f, -3.472808469e-02f, -3.467382356e-02f, -3.461951060e-02f, -3.456514593e-02f, -3.451072963e-02f, -3.445626183e-02f, -3.440174260e-02f, -3.434717206e-02f, -3.429255031e-02f,
+-3.423787744e-02f, -3.418315357e-02f, -3.412837879e-02f, -3.407355320e-02f, -3.401867690e-02f, -3.396375000e-02f, -3.390877260e-02f, -3.385374480e-02f, -3.379866671e-02f, -3.374353841e-02f,
+-3.368836003e-02f, -3.363313165e-02f, -3.357785339e-02f, -3.352252534e-02f, -3.346714760e-02f, -3.341172028e-02f, -3.335624349e-02f, -3.330071731e-02f, -3.324514187e-02f, -3.318951725e-02f,
+-3.313384357e-02f, -3.307812092e-02f, -3.302234941e-02f, -3.296652914e-02f, -3.291066021e-02f, -3.285474273e-02f, -3.279877681e-02f, -3.274276253e-02f, -3.268670002e-02f, -3.263058936e-02f,
+-3.257443067e-02f, -3.251822405e-02f, -3.246196960e-02f, -3.240566742e-02f, -3.234931763e-02f, -3.229292031e-02f, -3.223647559e-02f, -3.217998355e-02f, -3.212344431e-02f, -3.206685797e-02f,
+-3.201022464e-02f, -3.195354441e-02f, -3.189681739e-02f, -3.184004369e-02f, -3.178322341e-02f, -3.172635665e-02f, -3.166944353e-02f, -3.161248414e-02f, -3.155547859e-02f, -3.149842698e-02f,
+-3.144132942e-02f, -3.138418602e-02f, -3.132699687e-02f, -3.126976209e-02f, -3.121248178e-02f, -3.115515604e-02f, -3.109778498e-02f, -3.104036870e-02f, -3.098290731e-02f, -3.092540092e-02f,
+-3.086784963e-02f, -3.081025355e-02f, -3.075261278e-02f, -3.069492742e-02f, -3.063719759e-02f, -3.057942338e-02f, -3.052160492e-02f, -3.046374229e-02f, -3.040583561e-02f, -3.034788498e-02f,
+-3.028989050e-02f, -3.023185230e-02f, -3.017377046e-02f, -3.011564510e-02f, -3.005747633e-02f, -2.999926424e-02f, -2.994100895e-02f, -2.988271056e-02f, -2.982436919e-02f, -2.976598492e-02f,
+-2.970755788e-02f, -2.964908817e-02f, -2.959057589e-02f, -2.953202116e-02f, -2.947342408e-02f, -2.941478475e-02f, -2.935610328e-02f, -2.929737979e-02f, -2.923861437e-02f, -2.917980714e-02f,
+-2.912095820e-02f, -2.906206766e-02f, -2.900313562e-02f, -2.894416220e-02f, -2.888514750e-02f, -2.882609163e-02f, -2.876699469e-02f, -2.870785680e-02f, -2.864867806e-02f, -2.858945858e-02f,
+-2.853019846e-02f, -2.847089782e-02f, -2.841155676e-02f, -2.835217540e-02f, -2.829275383e-02f, -2.823329216e-02f, -2.817379051e-02f, -2.811424899e-02f, -2.805466769e-02f, -2.799504674e-02f,
+-2.793538623e-02f, -2.787568627e-02f, -2.781594698e-02f, -2.775616847e-02f, -2.769635083e-02f, -2.763649418e-02f, -2.757659863e-02f, -2.751666429e-02f, -2.745669126e-02f, -2.739667966e-02f,
+-2.733662959e-02f, -2.727654116e-02f, -2.721641448e-02f, -2.715624966e-02f, -2.709604681e-02f, -2.703580603e-02f, -2.697552745e-02f, -2.691521116e-02f, -2.685485727e-02f, -2.679446590e-02f,
+-2.673403715e-02f, -2.667357113e-02f, -2.661306795e-02f, -2.655252773e-02f, -2.649195057e-02f, -2.643133658e-02f, -2.637068586e-02f, -2.630999854e-02f, -2.624927472e-02f, -2.618851450e-02f,
+-2.612771801e-02f, -2.606688534e-02f, -2.600601661e-02f, -2.594511193e-02f, -2.588417141e-02f, -2.582319515e-02f, -2.576218327e-02f, -2.570113588e-02f, -2.564005309e-02f, -2.557893501e-02f,
+-2.551778175e-02f, -2.545659341e-02f, -2.539537011e-02f, -2.533411197e-02f, -2.527281908e-02f, -2.521149156e-02f, -2.515012953e-02f, -2.508873308e-02f, -2.502730234e-02f, -2.496583740e-02f,
+-2.490433840e-02f, -2.484280542e-02f, -2.478123859e-02f, -2.471963801e-02f, -2.465800380e-02f, -2.459633607e-02f, -2.453463492e-02f, -2.447290047e-02f, -2.441113283e-02f, -2.434933211e-02f,
+-2.428749843e-02f, -2.422563188e-02f, -2.416373259e-02f, -2.410180066e-02f, -2.403983621e-02f, -2.397783935e-02f, -2.391581018e-02f, -2.385374883e-02f, -2.379165539e-02f, -2.372952999e-02f,
+-2.366737273e-02f, -2.360518373e-02f, -2.354296309e-02f, -2.348071093e-02f, -2.341842736e-02f, -2.335611249e-02f, -2.329376644e-02f, -2.323138931e-02f, -2.316898122e-02f, -2.310654227e-02f,
+-2.304407259e-02f, -2.298157228e-02f, -2.291904145e-02f, -2.285648021e-02f, -2.279388869e-02f, -2.273126698e-02f, -2.266861521e-02f, -2.260593348e-02f, -2.254322190e-02f, -2.248048060e-02f,
+-2.241770967e-02f, -2.235490924e-02f, -2.229207941e-02f, -2.222922029e-02f, -2.216633201e-02f, -2.210341467e-02f, -2.204046838e-02f, -2.197749325e-02f, -2.191448941e-02f, -2.185145695e-02f,
+-2.178839600e-02f, -2.172530667e-02f, -2.166218906e-02f, -2.159904330e-02f, -2.153586949e-02f, -2.147266774e-02f, -2.140943817e-02f, -2.134618090e-02f, -2.128289603e-02f, -2.121958367e-02f,
+-2.115624395e-02f, -2.109287697e-02f, -2.102948285e-02f, -2.096606169e-02f, -2.090261361e-02f, -2.083913873e-02f, -2.077563716e-02f, -2.071210901e-02f, -2.064855439e-02f, -2.058497341e-02f,
+-2.052136620e-02f, -2.045773286e-02f, -2.039407350e-02f, -2.033038825e-02f, -2.026667720e-02f, -2.020294048e-02f, -2.013917820e-02f, -2.007539048e-02f, -2.001157741e-02f, -1.994773913e-02f,
+-1.988387574e-02f, -1.981998735e-02f, -1.975607408e-02f, -1.969213605e-02f, -1.962817336e-02f, -1.956418612e-02f, -1.950017447e-02f, -1.943613849e-02f, -1.937207832e-02f, -1.930799406e-02f,
+-1.924388583e-02f, -1.917975374e-02f, -1.911559790e-02f, -1.905141843e-02f, -1.898721545e-02f, -1.892298905e-02f, -1.885873937e-02f, -1.879446651e-02f, -1.873017059e-02f, -1.866585172e-02f,
+-1.860151001e-02f, -1.853714558e-02f, -1.847275855e-02f, -1.840834901e-02f, -1.834391710e-02f, -1.827946293e-02f, -1.821498660e-02f, -1.815048823e-02f, -1.808596794e-02f, -1.802142585e-02f,
+-1.795686205e-02f, -1.789227667e-02f, -1.782766983e-02f, -1.776304163e-02f, -1.769839219e-02f, -1.763372163e-02f, -1.756903006e-02f, -1.750431759e-02f, -1.743958434e-02f, -1.737483042e-02f,
+-1.731005594e-02f, -1.724526103e-02f, -1.718044579e-02f, -1.711561034e-02f, -1.705075479e-02f, -1.698587926e-02f, -1.692098387e-02f, -1.685606871e-02f, -1.679113392e-02f, -1.672617961e-02f,
+-1.666120588e-02f, -1.659621286e-02f, -1.653120066e-02f, -1.646616939e-02f, -1.640111917e-02f, -1.633605011e-02f, -1.627096233e-02f, -1.620585594e-02f, -1.614073105e-02f, -1.607558779e-02f,
+-1.601042626e-02f, -1.594524658e-02f, -1.588004886e-02f, -1.581483322e-02f, -1.574959978e-02f, -1.568434864e-02f, -1.561907993e-02f, -1.555379376e-02f, -1.548849023e-02f, -1.542316948e-02f,
+-1.535783160e-02f, -1.529247673e-02f, -1.522710496e-02f, -1.516171642e-02f, -1.509631122e-02f, -1.503088948e-02f, -1.496545130e-02f, -1.489999682e-02f, -1.483452613e-02f, -1.476903935e-02f,
+-1.470353661e-02f, -1.463801801e-02f, -1.457248367e-02f, -1.450693371e-02f, -1.444136823e-02f, -1.437578736e-02f, -1.431019121e-02f, -1.424457989e-02f, -1.417895352e-02f, -1.411331222e-02f,
+-1.404765609e-02f, -1.398198526e-02f, -1.391629983e-02f, -1.385059993e-02f, -1.378488567e-02f, -1.371915716e-02f, -1.365341453e-02f, -1.358765787e-02f, -1.352188731e-02f, -1.345610297e-02f,
+-1.339030496e-02f, -1.332449339e-02f, -1.325866838e-02f, -1.319283004e-02f, -1.312697849e-02f, -1.306111385e-02f, -1.299523622e-02f, -1.292934573e-02f, -1.286344249e-02f, -1.279752661e-02f,
+-1.273159821e-02f, -1.266565741e-02f, -1.259970431e-02f, -1.253373904e-02f, -1.246776172e-02f, -1.240177244e-02f, -1.233577134e-02f, -1.226975852e-02f, -1.220373410e-02f, -1.213769819e-02f,
+-1.207165092e-02f, -1.200559239e-02f, -1.193952272e-02f, -1.187344203e-02f, -1.180735043e-02f, -1.174124804e-02f, -1.167513497e-02f, -1.160901133e-02f, -1.154287725e-02f, -1.147673283e-02f,
+-1.141057819e-02f, -1.134441345e-02f, -1.127823872e-02f, -1.121205413e-02f, -1.114585977e-02f, -1.107965577e-02f, -1.101344224e-02f, -1.094721930e-02f, -1.088098707e-02f, -1.081474565e-02f,
+-1.074849516e-02f, -1.068223573e-02f, -1.061596745e-02f, -1.054969046e-02f, -1.048340486e-02f, -1.041711077e-02f, -1.035080830e-02f, -1.028449757e-02f, -1.021817870e-02f, -1.015185180e-02f,
+-1.008551698e-02f, -1.001917436e-02f, -9.952824053e-03f, -9.886466179e-03f, -9.820100849e-03f, -9.753728180e-03f, -9.687348286e-03f, -9.620961282e-03f, -9.554567284e-03f, -9.488166406e-03f,
+-9.421758764e-03f, -9.355344473e-03f, -9.288923648e-03f, -9.222496403e-03f, -9.156062854e-03f, -9.089623117e-03f, -9.023177305e-03f, -8.956725535e-03f, -8.890267920e-03f, -8.823804577e-03f,
+-8.757335620e-03f, -8.690861164e-03f, -8.624381324e-03f, -8.557896216e-03f, -8.491405954e-03f, -8.424910653e-03f, -8.358410428e-03f, -8.291905394e-03f, -8.225395666e-03f, -8.158881359e-03f,
+-8.092362589e-03f, -8.025839469e-03f, -7.959312115e-03f, -7.892780642e-03f, -7.826245165e-03f, -7.759705798e-03f, -7.693162657e-03f, -7.626615856e-03f, -7.560065510e-03f, -7.493511734e-03f,
+-7.426954643e-03f, -7.360394352e-03f, -7.293830976e-03f, -7.227264629e-03f, -7.160695426e-03f, -7.094123482e-03f, -7.027548912e-03f, -6.960971831e-03f, -6.894392353e-03f, -6.827810592e-03f,
+-6.761226665e-03f, -6.694640685e-03f, -6.628052767e-03f, -6.561463026e-03f, -6.494871577e-03f, -6.428278534e-03f, -6.361684012e-03f, -6.295088125e-03f, -6.228490989e-03f, -6.161892717e-03f,
+-6.095293424e-03f, -6.028693226e-03f, -5.962092235e-03f, -5.895490568e-03f, -5.828888339e-03f, -5.762285661e-03f, -5.695682650e-03f, -5.629079420e-03f, -5.562476086e-03f, -5.495872762e-03f,
+-5.429269562e-03f, -5.362666601e-03f, -5.296063993e-03f, -5.229461853e-03f, -5.162860294e-03f, -5.096259433e-03f, -5.029659381e-03f, -4.963060255e-03f, -4.896462168e-03f, -4.829865235e-03f,
+-4.763269570e-03f, -4.696675286e-03f, -4.630082499e-03f, -4.563491323e-03f, -4.496901871e-03f, -4.430314258e-03f, -4.363728598e-03f, -4.297145005e-03f, -4.230563594e-03f, -4.163984477e-03f,
+-4.097407771e-03f, -4.030833587e-03f, -3.964262041e-03f, -3.897693247e-03f, -3.831127318e-03f, -3.764564369e-03f, -3.698004513e-03f, -3.631447864e-03f, -3.564894537e-03f, -3.498344644e-03f,
+-3.431798301e-03f, -3.365255620e-03f, -3.298716716e-03f, -3.232181702e-03f, -3.165650692e-03f, -3.099123800e-03f, -3.032601140e-03f, -2.966082825e-03f, -2.899568969e-03f, -2.833059686e-03f,
+-2.766555088e-03f, -2.700055291e-03f, -2.633560407e-03f, -2.567070550e-03f, -2.500585833e-03f, -2.434106371e-03f, -2.367632276e-03f, -2.301163661e-03f, -2.234700641e-03f, -2.168243329e-03f,
+-2.101791838e-03f, -2.035346281e-03f, -1.968906772e-03f, -1.902473423e-03f, -1.836046350e-03f, -1.769625663e-03f, -1.703211478e-03f, -1.636803906e-03f, -1.570403062e-03f, -1.504009057e-03f,
+-1.437622006e-03f, -1.371242022e-03f, -1.304869216e-03f, -1.238503703e-03f, -1.172145596e-03f, -1.105795007e-03f, -1.039452049e-03f, -9.731168359e-04f, -9.067894795e-04f, -8.404700930e-04f,
+-7.741587893e-04f, -7.078556810e-04f, -6.415608811e-04f, -5.752745021e-04f, -5.089966568e-04f, -4.427274579e-04f, -3.764670179e-04f, -3.102154495e-04f, -2.439728652e-04f, -1.777393776e-04f,
+-1.115150991e-04f, -4.530014231e-05f, 2.090538041e-05f, 8.710135665e-05f, 1.532876740e-04f, 2.194642202e-04f, 2.856308828e-04f, 3.517875497e-04f, 4.179341085e-04f, 4.840704471e-04f,
+5.501964532e-04f, 6.163120148e-04f, 6.824170197e-04f, 7.485113558e-04f, 8.145949112e-04f, 8.806675737e-04f, 9.467292315e-04f, 1.012779773e-03f, 1.078819085e-03f, 1.144847057e-03f,
+1.210863577e-03f, 1.276868532e-03f, 1.342861812e-03f, 1.408843304e-03f, 1.474812897e-03f, 1.540770479e-03f, 1.606715938e-03f, 1.672649163e-03f, 1.738570043e-03f, 1.804478465e-03f,
+1.870374319e-03f, 1.936257492e-03f, 2.002127874e-03f, 2.067985354e-03f, 2.133829819e-03f, 2.199661159e-03f, 2.265479262e-03f, 2.331284017e-03f, 2.397075313e-03f, 2.462853039e-03f,
+2.528617084e-03f, 2.594367336e-03f, 2.660103685e-03f, 2.725826020e-03f, 2.791534230e-03f, 2.857228204e-03f, 2.922907830e-03f, 2.988572999e-03f, 3.054223600e-03f, 3.119859521e-03f,
+3.185480652e-03f, 3.251086883e-03f, 3.316678103e-03f, 3.382254200e-03f, 3.447815066e-03f, 3.513360589e-03f, 3.578890659e-03f, 3.644405165e-03f, 3.709903997e-03f, 3.775387045e-03f,
+3.840854198e-03f, 3.906305347e-03f, 3.971740381e-03f, 4.037159190e-03f, 4.102561664e-03f, 4.167947692e-03f, 4.233317165e-03f, 4.298669974e-03f, 4.364006007e-03f, 4.429325155e-03f,
+4.494627308e-03f, 4.559912357e-03f, 4.625180192e-03f, 4.690430702e-03f, 4.755663779e-03f, 4.820879313e-03f, 4.886077193e-03f, 4.951257312e-03f, 5.016419558e-03f, 5.081563824e-03f,
+5.146689999e-03f, 5.211797974e-03f, 5.276887639e-03f, 5.341958887e-03f, 5.407011606e-03f, 5.472045689e-03f, 5.537061026e-03f, 5.602057508e-03f, 5.667035026e-03f, 5.731993471e-03f,
+5.796932735e-03f, 5.861852708e-03f, 5.926753281e-03f, 5.991634346e-03f, 6.056495795e-03f, 6.121337517e-03f, 6.186159406e-03f, 6.250961352e-03f, 6.315743247e-03f, 6.380504981e-03f,
+6.445246448e-03f, 6.509967539e-03f, 6.574668144e-03f, 6.639348156e-03f, 6.704007468e-03f, 6.768645969e-03f, 6.833263554e-03f, 6.897860112e-03f, 6.962435537e-03f, 7.026989721e-03f,
+7.091522555e-03f, 7.156033931e-03f, 7.220523743e-03f, 7.284991882e-03f, 7.349438240e-03f, 7.413862710e-03f, 7.478265184e-03f, 7.542645554e-03f, 7.607003714e-03f, 7.671339556e-03f,
+7.735652972e-03f, 7.799943855e-03f, 7.864212098e-03f, 7.928457594e-03f, 7.992680234e-03f, 8.056879913e-03f, 8.121056524e-03f, 8.185209958e-03f, 8.249340110e-03f, 8.313446872e-03f,
+8.377530138e-03f, 8.441589801e-03f, 8.505625753e-03f, 8.569637889e-03f, 8.633626102e-03f, 8.697590285e-03f, 8.761530332e-03f, 8.825446136e-03f, 8.889337591e-03f, 8.953204590e-03f,
+9.017047028e-03f, 9.080864798e-03f, 9.144657793e-03f, 9.208425909e-03f, 9.272169038e-03f, 9.335887075e-03f, 9.399579914e-03f, 9.463247448e-03f, 9.526889573e-03f, 9.590506182e-03f,
+9.654097170e-03f, 9.717662432e-03f, 9.781201860e-03f, 9.844715351e-03f, 9.908202798e-03f, 9.971664096e-03f, 1.003509914e-02f, 1.009850782e-02f, 1.016189004e-02f, 1.022524569e-02f,
+1.028857467e-02f, 1.035187686e-02f, 1.041515217e-02f, 1.047840049e-02f, 1.054162172e-02f, 1.060481574e-02f, 1.066798246e-02f, 1.073112177e-02f, 1.079423357e-02f, 1.085731775e-02f,
+1.092037421e-02f, 1.098340284e-02f, 1.104640354e-02f, 1.110937620e-02f, 1.117232073e-02f, 1.123523700e-02f, 1.129812494e-02f, 1.136098441e-02f, 1.142381534e-02f, 1.148661760e-02f,
+1.154939110e-02f, 1.161213573e-02f, 1.167485138e-02f, 1.173753797e-02f, 1.180019537e-02f, 1.186282349e-02f, 1.192542223e-02f, 1.198799147e-02f, 1.205053113e-02f, 1.211304108e-02f,
+1.217552124e-02f, 1.223797150e-02f, 1.230039175e-02f, 1.236278189e-02f, 1.242514182e-02f, 1.248747144e-02f, 1.254977064e-02f, 1.261203932e-02f, 1.267427738e-02f, 1.273648471e-02f,
+1.279866121e-02f, 1.286080679e-02f, 1.292292133e-02f, 1.298500474e-02f, 1.304705691e-02f, 1.310907774e-02f, 1.317106712e-02f, 1.323302497e-02f, 1.329495117e-02f, 1.335684562e-02f,
+1.341870822e-02f, 1.348053887e-02f, 1.354233747e-02f, 1.360410391e-02f, 1.366583810e-02f, 1.372753993e-02f, 1.378920930e-02f, 1.385084611e-02f, 1.391245026e-02f, 1.397402164e-02f,
+1.403556016e-02f, 1.409706572e-02f, 1.415853820e-02f, 1.421997752e-02f, 1.428138358e-02f, 1.434275626e-02f, 1.440409547e-02f, 1.446540111e-02f, 1.452667308e-02f, 1.458791128e-02f,
+1.464911561e-02f, 1.471028596e-02f, 1.477142225e-02f, 1.483252435e-02f, 1.489359219e-02f, 1.495462565e-02f, 1.501562464e-02f, 1.507658905e-02f, 1.513751879e-02f, 1.519841376e-02f,
+1.525927385e-02f, 1.532009898e-02f, 1.538088903e-02f, 1.544164390e-02f, 1.550236351e-02f, 1.556304775e-02f, 1.562369651e-02f, 1.568430971e-02f, 1.574488724e-02f, 1.580542900e-02f,
+1.586593490e-02f, 1.592640483e-02f, 1.598683870e-02f, 1.604723640e-02f, 1.610759784e-02f, 1.616792293e-02f, 1.622821155e-02f, 1.628846362e-02f, 1.634867903e-02f, 1.640885769e-02f,
+1.646899949e-02f, 1.652910435e-02f, 1.658917216e-02f, 1.664920282e-02f, 1.670919624e-02f, 1.676915231e-02f, 1.682907095e-02f, 1.688895204e-02f, 1.694879551e-02f, 1.700860124e-02f,
+1.706836914e-02f, 1.712809911e-02f, 1.718779106e-02f, 1.724744488e-02f, 1.730706049e-02f, 1.736663778e-02f, 1.742617666e-02f, 1.748567702e-02f, 1.754513878e-02f, 1.760456184e-02f,
+1.766394610e-02f, 1.772329145e-02f, 1.778259782e-02f, 1.784186510e-02f, 1.790109318e-02f, 1.796028199e-02f, 1.801943142e-02f, 1.807854137e-02f, 1.813761176e-02f, 1.819664247e-02f,
+1.825563343e-02f, 1.831458452e-02f, 1.837349566e-02f, 1.843236675e-02f, 1.849119770e-02f, 1.854998840e-02f, 1.860873877e-02f, 1.866744871e-02f, 1.872611812e-02f, 1.878474691e-02f,
+1.884333498e-02f, 1.890188224e-02f, 1.896038860e-02f, 1.901885395e-02f, 1.907727821e-02f, 1.913566127e-02f, 1.919400305e-02f, 1.925230345e-02f, 1.931056238e-02f, 1.936877974e-02f,
+1.942695543e-02f, 1.948508937e-02f, 1.954318146e-02f, 1.960123160e-02f, 1.965923971e-02f, 1.971720568e-02f, 1.977512943e-02f, 1.983301086e-02f, 1.989084987e-02f, 1.994864638e-02f,
+2.000640028e-02f, 2.006411150e-02f, 2.012177992e-02f, 2.017940547e-02f, 2.023698805e-02f, 2.029452756e-02f, 2.035202391e-02f, 2.040947701e-02f, 2.046688677e-02f, 2.052425309e-02f,
+2.058157588e-02f, 2.063885505e-02f, 2.069609050e-02f, 2.075328215e-02f, 2.081042991e-02f, 2.086753367e-02f, 2.092459335e-02f, 2.098160886e-02f, 2.103858010e-02f, 2.109550699e-02f,
+2.115238942e-02f, 2.120922732e-02f, 2.126602058e-02f, 2.132276912e-02f, 2.137947285e-02f, 2.143613167e-02f, 2.149274549e-02f, 2.154931423e-02f, 2.160583778e-02f, 2.166231607e-02f,
+2.171874900e-02f, 2.177513648e-02f, 2.183147841e-02f, 2.188777472e-02f, 2.194402530e-02f, 2.200023007e-02f, 2.205638894e-02f, 2.211250181e-02f, 2.216856861e-02f, 2.222458923e-02f,
+2.228056359e-02f, 2.233649159e-02f, 2.239237316e-02f, 2.244820819e-02f, 2.250399660e-02f, 2.255973831e-02f, 2.261543321e-02f, 2.267108122e-02f, 2.272668226e-02f, 2.278223623e-02f,
+2.283774305e-02f, 2.289320262e-02f, 2.294861486e-02f, 2.300397968e-02f, 2.305929699e-02f, 2.311456670e-02f, 2.316978872e-02f, 2.322496297e-02f, 2.328008936e-02f, 2.333516779e-02f,
+2.339019819e-02f, 2.344518046e-02f, 2.350011451e-02f, 2.355500027e-02f, 2.360983763e-02f, 2.366462651e-02f, 2.371936684e-02f, 2.377405850e-02f, 2.382870143e-02f, 2.388329554e-02f,
+2.393784073e-02f, 2.399233692e-02f, 2.404678402e-02f, 2.410118195e-02f, 2.415553062e-02f, 2.420982994e-02f, 2.426407983e-02f, 2.431828020e-02f, 2.437243097e-02f, 2.442653204e-02f,
+2.448058333e-02f, 2.453458476e-02f, 2.458853625e-02f, 2.464243769e-02f, 2.469628902e-02f, 2.475009013e-02f, 2.480384096e-02f, 2.485754141e-02f, 2.491119139e-02f, 2.496479083e-02f,
+2.501833964e-02f, 2.507183773e-02f, 2.512528501e-02f, 2.517868141e-02f, 2.523202683e-02f, 2.528532120e-02f, 2.533856443e-02f, 2.539175643e-02f, 2.544489712e-02f, 2.549798642e-02f,
+2.555102424e-02f, 2.560401050e-02f, 2.565694511e-02f, 2.570982799e-02f, 2.576265906e-02f, 2.581543824e-02f, 2.586816543e-02f, 2.592084056e-02f, 2.597346354e-02f, 2.602603429e-02f,
+2.607855273e-02f, 2.613101877e-02f, 2.618343233e-02f, 2.623579334e-02f, 2.628810169e-02f, 2.634035732e-02f, 2.639256014e-02f, 2.644471007e-02f, 2.649680703e-02f, 2.654885093e-02f,
+2.660084169e-02f, 2.665277923e-02f, 2.670466347e-02f, 2.675649432e-02f, 2.680827171e-02f, 2.685999555e-02f, 2.691166577e-02f, 2.696328227e-02f, 2.701484498e-02f, 2.706635383e-02f,
+2.711780871e-02f, 2.716920957e-02f, 2.722055631e-02f, 2.727184885e-02f, 2.732308712e-02f, 2.737427103e-02f, 2.742540050e-02f, 2.747647546e-02f, 2.752749582e-02f, 2.757846150e-02f,
+2.762937243e-02f, 2.768022851e-02f, 2.773102968e-02f, 2.778177585e-02f, 2.783246695e-02f, 2.788310289e-02f, 2.793368360e-02f, 2.798420899e-02f, 2.803467898e-02f, 2.808509351e-02f,
+2.813545248e-02f, 2.818575582e-02f, 2.823600346e-02f, 2.828619530e-02f, 2.833633128e-02f, 2.838641132e-02f, 2.843643533e-02f, 2.848640324e-02f, 2.853631497e-02f, 2.858617045e-02f,
+2.863596959e-02f, 2.868571231e-02f, 2.873539855e-02f, 2.878502822e-02f, 2.883460124e-02f, 2.888411754e-02f, 2.893357704e-02f, 2.898297966e-02f, 2.903232533e-02f, 2.908161397e-02f,
+2.913084550e-02f, 2.918001985e-02f, 2.922913693e-02f, 2.927819668e-02f, 2.932719902e-02f, 2.937614386e-02f, 2.942503114e-02f, 2.947386078e-02f, 2.952263269e-02f, 2.957134682e-02f,
+2.962000307e-02f, 2.966860138e-02f, 2.971714167e-02f, 2.976562386e-02f, 2.981404788e-02f, 2.986241366e-02f, 2.991072111e-02f, 2.995897017e-02f, 3.000716076e-02f, 3.005529280e-02f,
+3.010336621e-02f, 3.015138094e-02f, 3.019933689e-02f, 3.024723401e-02f, 3.029507220e-02f, 3.034285140e-02f, 3.039057154e-02f, 3.043823253e-02f, 3.048583432e-02f, 3.053337681e-02f,
+3.058085995e-02f, 3.062828365e-02f, 3.067564784e-02f, 3.072295246e-02f, 3.077019742e-02f, 3.081738266e-02f, 3.086450809e-02f, 3.091157366e-02f, 3.095857928e-02f, 3.100552488e-02f,
+3.105241040e-02f, 3.109923575e-02f, 3.114600087e-02f, 3.119270568e-02f, 3.123935012e-02f, 3.128593411e-02f, 3.133245757e-02f, 3.137892045e-02f, 3.142532266e-02f, 3.147166413e-02f,
+3.151794480e-02f, 3.156416459e-02f, 3.161032343e-02f, 3.165642126e-02f, 3.170245799e-02f, 3.174843356e-02f, 3.179434790e-02f, 3.184020093e-02f, 3.188599260e-02f, 3.193172282e-02f,
+3.197739153e-02f, 3.202299866e-02f, 3.206854413e-02f, 3.211402789e-02f, 3.215944985e-02f, 3.220480995e-02f, 3.225010812e-02f, 3.229534429e-02f, 3.234051839e-02f, 3.238563035e-02f,
+3.243068010e-02f, 3.247566758e-02f, 3.252059271e-02f, 3.256545543e-02f, 3.261025567e-02f, 3.265499336e-02f, 3.269966843e-02f, 3.274428082e-02f, 3.278883044e-02f, 3.283331725e-02f,
+3.287774117e-02f, 3.292210213e-02f, 3.296640006e-02f, 3.301063490e-02f, 3.305480658e-02f, 3.309891504e-02f, 3.314296019e-02f, 3.318694199e-02f, 3.323086036e-02f, 3.327471524e-02f,
+3.331850655e-02f, 3.336223424e-02f, 3.340589823e-02f, 3.344949846e-02f, 3.349303486e-02f, 3.353650737e-02f, 3.357991593e-02f, 3.362326046e-02f, 3.366654089e-02f, 3.370975718e-02f,
+3.375290924e-02f, 3.379599701e-02f, 3.383902044e-02f, 3.388197945e-02f, 3.392487397e-02f, 3.396770395e-02f, 3.401046932e-02f, 3.405317002e-02f, 3.409580597e-02f, 3.413837712e-02f,
+3.418088340e-02f, 3.422332475e-02f, 3.426570110e-02f, 3.430801239e-02f, 3.435025856e-02f, 3.439243954e-02f, 3.443455527e-02f, 3.447660568e-02f, 3.451859071e-02f, 3.456051031e-02f,
+3.460236440e-02f, 3.464415292e-02f, 3.468587581e-02f, 3.472753301e-02f, 3.476912446e-02f, 3.481065009e-02f, 3.485210983e-02f, 3.489350364e-02f, 3.493483144e-02f, 3.497609318e-02f,
+3.501728878e-02f, 3.505841820e-02f, 3.509948137e-02f, 3.514047823e-02f, 3.518140871e-02f, 3.522227275e-02f, 3.526307030e-02f, 3.530380130e-02f, 3.534446567e-02f, 3.538506337e-02f,
+3.542559433e-02f, 3.546605848e-02f, 3.550645578e-02f, 3.554678616e-02f, 3.558704956e-02f, 3.562724592e-02f, 3.566737517e-02f, 3.570743727e-02f, 3.574743215e-02f, 3.578735975e-02f,
+3.582722001e-02f, 3.586701287e-02f, 3.590673828e-02f, 3.594639617e-02f, 3.598598648e-02f, 3.602550916e-02f, 3.606496415e-02f, 3.610435140e-02f, 3.614367083e-02f, 3.618292239e-02f,
+3.622210603e-02f, 3.626122169e-02f, 3.630026930e-02f, 3.633924882e-02f, 3.637816018e-02f, 3.641700332e-02f, 3.645577820e-02f, 3.649448474e-02f, 3.653312291e-02f, 3.657169262e-02f,
+3.661019384e-02f, 3.664862650e-02f, 3.668699055e-02f, 3.672528593e-02f, 3.676351258e-02f, 3.680167046e-02f, 3.683975949e-02f, 3.687777963e-02f, 3.691573082e-02f, 3.695361300e-02f,
+3.699142612e-02f, 3.702917013e-02f, 3.706684496e-02f, 3.710445056e-02f, 3.714198688e-02f, 3.717945387e-02f, 3.721685146e-02f, 3.725417960e-02f, 3.729143825e-02f, 3.732862733e-02f,
+3.736574681e-02f, 3.740279662e-02f, 3.743977671e-02f, 3.747668702e-02f, 3.751352751e-02f, 3.755029812e-02f, 3.758699880e-02f, 3.762362948e-02f, 3.766019013e-02f, 3.769668068e-02f,
+3.773310109e-02f, 3.776945129e-02f, 3.780573124e-02f, 3.784194088e-02f, 3.787808017e-02f, 3.791414904e-02f, 3.795014745e-02f, 3.798607535e-02f, 3.802193268e-02f, 3.805771939e-02f,
+3.809343542e-02f, 3.812908073e-02f, 3.816465527e-02f, 3.820015898e-02f, 3.823559182e-02f, 3.827095373e-02f, 3.830624465e-02f, 3.834146455e-02f, 3.837661336e-02f, 3.841169104e-02f,
+3.844669754e-02f, 3.848163281e-02f, 3.851649679e-02f, 3.855128944e-02f, 3.858601071e-02f, 3.862066054e-02f, 3.865523889e-02f, 3.868974570e-02f, 3.872418094e-02f, 3.875854454e-02f,
+3.879283646e-02f, 3.882705665e-02f, 3.886120506e-02f, 3.889528165e-02f, 3.892928636e-02f, 3.896321914e-02f, 3.899707995e-02f, 3.903086873e-02f, 3.906458545e-02f, 3.909823005e-02f,
+3.913180248e-02f, 3.916530269e-02f, 3.919873065e-02f, 3.923208629e-02f, 3.926536958e-02f, 3.929858047e-02f, 3.933171890e-02f, 3.936478484e-02f, 3.939777823e-02f, 3.943069902e-02f,
+3.946354718e-02f, 3.949632266e-02f, 3.952902540e-02f, 3.956165536e-02f, 3.959421250e-02f, 3.962669677e-02f, 3.965910813e-02f, 3.969144652e-02f, 3.972371190e-02f, 3.975590424e-02f,
+3.978802347e-02f, 3.982006956e-02f, 3.985204247e-02f, 3.988394214e-02f, 3.991576853e-02f, 3.994752160e-02f, 3.997920130e-02f, 4.001080759e-02f, 4.004234042e-02f, 4.007379976e-02f,
+4.010518555e-02f, 4.013649775e-02f, 4.016773632e-02f, 4.019890121e-02f, 4.022999238e-02f, 4.026100980e-02f, 4.029195340e-02f, 4.032282316e-02f, 4.035361903e-02f, 4.038434096e-02f,
+4.041498892e-02f, 4.044556285e-02f, 4.047606272e-02f, 4.050648849e-02f, 4.053684011e-02f, 4.056711755e-02f, 4.059732075e-02f, 4.062744968e-02f, 4.065750429e-02f, 4.068748455e-02f,
+4.071739042e-02f, 4.074722184e-02f, 4.077697879e-02f, 4.080666121e-02f, 4.083626908e-02f, 4.086580234e-02f, 4.089526096e-02f, 4.092464489e-02f, 4.095395411e-02f, 4.098318856e-02f,
+4.101234820e-02f, 4.104143301e-02f, 4.107044293e-02f, 4.109937792e-02f, 4.112823796e-02f, 4.115702299e-02f, 4.118573298e-02f, 4.121436790e-02f, 4.124292769e-02f, 4.127141232e-02f,
+4.129982176e-02f, 4.132815597e-02f, 4.135641490e-02f, 4.138459851e-02f, 4.141270678e-02f, 4.144073966e-02f, 4.146869711e-02f, 4.149657910e-02f, 4.152438559e-02f, 4.155211654e-02f,
+4.157977191e-02f, 4.160735167e-02f, 4.163485578e-02f, 4.166228420e-02f, 4.168963690e-02f, 4.171691383e-02f, 4.174411497e-02f, 4.177124027e-02f, 4.179828971e-02f, 4.182526323e-02f,
+4.185216082e-02f, 4.187898242e-02f, 4.190572801e-02f, 4.193239755e-02f, 4.195899101e-02f, 4.198550834e-02f, 4.201194952e-02f, 4.203831451e-02f, 4.206460327e-02f, 4.209081577e-02f,
+4.211695198e-02f, 4.214301185e-02f, 4.216899536e-02f, 4.219490247e-02f, 4.222073315e-02f, 4.224648736e-02f, 4.227216508e-02f, 4.229776625e-02f, 4.232329086e-02f, 4.234873887e-02f,
+4.237411024e-02f, 4.239940495e-02f, 4.242462295e-02f, 4.244976422e-02f, 4.247482872e-02f, 4.249981643e-02f, 4.252472730e-02f, 4.254956131e-02f, 4.257431842e-02f, 4.259899860e-02f,
+4.262360182e-02f, 4.264812805e-02f, 4.267257726e-02f, 4.269694941e-02f, 4.272124447e-02f, 4.274546242e-02f, 4.276960321e-02f, 4.279366683e-02f, 4.281765323e-02f, 4.284156239e-02f,
+4.286539428e-02f, 4.288914887e-02f, 4.291282612e-02f, 4.293642601e-02f, 4.295994850e-02f, 4.298339357e-02f, 4.300676119e-02f, 4.303005132e-02f, 4.305326395e-02f, 4.307639903e-02f,
+4.309945653e-02f, 4.312243644e-02f, 4.314533872e-02f, 4.316816334e-02f, 4.319091028e-02f, 4.321357950e-02f, 4.323617097e-02f, 4.325868468e-02f, 4.328112058e-02f, 4.330347865e-02f,
+4.332575887e-02f, 4.334796121e-02f, 4.337008563e-02f, 4.339213212e-02f, 4.341410064e-02f, 4.343599116e-02f, 4.345780367e-02f, 4.347953813e-02f, 4.350119451e-02f, 4.352277279e-02f,
+4.354427295e-02f, 4.356569495e-02f, 4.358703878e-02f, 4.360830439e-02f, 4.362949178e-02f, 4.365060091e-02f, 4.367163175e-02f, 4.369258429e-02f, 4.371345849e-02f, 4.373425433e-02f,
+4.375497179e-02f, 4.377561083e-02f, 4.379617145e-02f, 4.381665360e-02f, 4.383705727e-02f, 4.385738244e-02f, 4.387762907e-02f, 4.389779714e-02f, 4.391788663e-02f, 4.393789752e-02f,
+4.395782978e-02f, 4.397768339e-02f, 4.399745832e-02f, 4.401715456e-02f, 4.403677207e-02f, 4.405631084e-02f, 4.407577084e-02f, 4.409515204e-02f, 4.411445444e-02f, 4.413367800e-02f,
+4.415282270e-02f, 4.417188852e-02f, 4.419087544e-02f, 4.420978344e-02f, 4.422861248e-02f, 4.424736257e-02f, 4.426603366e-02f, 4.428462574e-02f, 4.430313878e-02f, 4.432157278e-02f,
+4.433992770e-02f, 4.435820353e-02f, 4.437640023e-02f, 4.439451781e-02f, 4.441255622e-02f, 4.443051546e-02f, 4.444839551e-02f, 4.446619633e-02f, 4.448391792e-02f, 4.450156025e-02f,
+4.451912330e-02f, 4.453660706e-02f, 4.455401150e-02f, 4.457133661e-02f, 4.458858237e-02f, 4.460574875e-02f, 4.462283574e-02f, 4.463984332e-02f, 4.465677148e-02f, 4.467362018e-02f,
+4.469038942e-02f, 4.470707918e-02f, 4.472368944e-02f, 4.474022018e-02f, 4.475667138e-02f, 4.477304303e-02f, 4.478933510e-02f, 4.480554759e-02f, 4.482168047e-02f, 4.483773373e-02f,
+4.485370735e-02f, 4.486960131e-02f, 4.488541560e-02f, 4.490115021e-02f, 4.491680510e-02f, 4.493238027e-02f, 4.494787571e-02f, 4.496329139e-02f, 4.497862731e-02f, 4.499388344e-02f,
+4.500905976e-02f, 4.502415628e-02f, 4.503917296e-02f, 4.505410979e-02f, 4.506896677e-02f, 4.508374387e-02f, 4.509844108e-02f, 4.511305838e-02f, 4.512759577e-02f, 4.514205322e-02f,
+4.515643073e-02f, 4.517072827e-02f, 4.518494584e-02f, 4.519908342e-02f, 4.521314100e-02f, 4.522711856e-02f, 4.524101610e-02f, 4.525483359e-02f, 4.526857103e-02f, 4.528222840e-02f,
+4.529580569e-02f, 4.530930289e-02f, 4.532271998e-02f, 4.533605695e-02f, 4.534931380e-02f, 4.536249050e-02f, 4.537558705e-02f, 4.538860344e-02f, 4.540153964e-02f, 4.541439566e-02f,
+4.542717148e-02f, 4.543986709e-02f, 4.545248248e-02f, 4.546501764e-02f, 4.547747255e-02f, 4.548984721e-02f, 4.550214161e-02f, 4.551435573e-02f, 4.552648956e-02f, 4.553854310e-02f,
+4.555051634e-02f, 4.556240926e-02f, 4.557422186e-02f, 4.558595412e-02f, 4.559760604e-02f, 4.560917761e-02f, 4.562066882e-02f, 4.563207966e-02f, 4.564341012e-02f, 4.565466019e-02f,
+4.566582986e-02f, 4.567691914e-02f, 4.568792799e-02f, 4.569885643e-02f, 4.570970444e-02f, 4.572047201e-02f, 4.573115914e-02f, 4.574176581e-02f, 4.575229203e-02f, 4.576273778e-02f,
+4.577310306e-02f, 4.578338785e-02f, 4.579359216e-02f, 4.580371598e-02f, 4.581375929e-02f, 4.582372210e-02f, 4.583360439e-02f, 4.584340616e-02f, 4.585312741e-02f, 4.586276813e-02f,
+4.587232831e-02f, 4.588180794e-02f, 4.589120703e-02f, 4.590052556e-02f, 4.590976354e-02f, 4.591892095e-02f, 4.592799779e-02f, 4.593699406e-02f, 4.594590975e-02f, 4.595474486e-02f,
+4.596349938e-02f, 4.597217331e-02f, 4.598076664e-02f, 4.598927938e-02f, 4.599771151e-02f, 4.600606304e-02f, 4.601433395e-02f, 4.602252425e-02f, 4.603063394e-02f, 4.603866300e-02f,
+4.604661144e-02f, 4.605447926e-02f, 4.606226644e-02f, 4.606997300e-02f, 4.607759892e-02f, 4.608514421e-02f, 4.609260885e-02f, 4.609999286e-02f, 4.610729623e-02f, 4.611451895e-02f,
+4.612166103e-02f, 4.612872246e-02f, 4.613570324e-02f, 4.614260338e-02f, 4.614942286e-02f, 4.615616170e-02f, 4.616281988e-02f, 4.616939741e-02f, 4.617589428e-02f, 4.618231050e-02f,
+4.618864607e-02f, 4.619490099e-02f, 4.620107525e-02f, 4.620716886e-02f, 4.621318182e-02f, 4.621911412e-02f, 4.622496577e-02f, 4.623073678e-02f, 4.623642713e-02f, 4.624203683e-02f,
+4.624756588e-02f, 4.625301429e-02f, 4.625838205e-02f, 4.626366917e-02f, 4.626887565e-02f, 4.627400149e-02f, 4.627904668e-02f, 4.628401125e-02f, 4.628889518e-02f, 4.629369848e-02f,
+4.629842115e-02f, 4.630306319e-02f, 4.630762461e-02f, 4.631210541e-02f, 4.631650559e-02f, 4.632082516e-02f, 4.632506412e-02f, 4.632922248e-02f, 4.633330023e-02f, 4.633729738e-02f,
+4.634121393e-02f, 4.634504989e-02f, 4.634880527e-02f, 4.635248006e-02f, 4.635607427e-02f, 4.635958791e-02f, 4.636302099e-02f, 4.636637349e-02f, 4.636964544e-02f, 4.637283683e-02f,
+4.637594768e-02f, 4.637897798e-02f, 4.638192774e-02f, 4.638479698e-02f, 4.638758568e-02f, 4.639029387e-02f, 4.639292154e-02f, 4.639546870e-02f, 4.639793536e-02f, 4.640032153e-02f,
+4.640262721e-02f, 4.640485241e-02f, 4.640699713e-02f, 4.640906139e-02f, 4.641104518e-02f, 4.641294853e-02f, 4.641477142e-02f, 4.641651388e-02f, 4.641817591e-02f, 4.641975752e-02f,
+4.642125872e-02f, 4.642267950e-02f, 4.642401990e-02f, 4.642527990e-02f, 4.642645952e-02f, 4.642755877e-02f, 4.642857765e-02f, 4.642951619e-02f, 4.643037437e-02f, 4.643115223e-02f,
+4.643184975e-02f, 4.643246696e-02f, 4.643300386e-02f, 4.643346047e-02f, 4.643383679e-02f, 4.643413283e-02f, 4.643434860e-02f, 4.643448412e-02f, 4.643453939e-02f, 4.643451443e-02f,
+4.643440924e-02f, 4.643422384e-02f, 4.643395823e-02f, 4.643361244e-02f, 4.643318646e-02f, 4.643268032e-02f, 4.643209401e-02f, 4.643142756e-02f, 4.643068098e-02f, 4.642985428e-02f,
+4.642894747e-02f, 4.642796056e-02f, 4.642689356e-02f, 4.642574649e-02f, 4.642451937e-02f, 4.642321219e-02f, 4.642182498e-02f, 4.642035775e-02f, 4.641881052e-02f, 4.641718329e-02f,
+4.641547607e-02f, 4.641368889e-02f, 4.641182176e-02f, 4.640987469e-02f, 4.640784769e-02f, 4.640574078e-02f, 4.640355397e-02f, 4.640128728e-02f, 4.639894072e-02f, 4.639651431e-02f,
+4.639400806e-02f, 4.639142198e-02f, 4.638875610e-02f, 4.638601042e-02f, 4.638318497e-02f, 4.638027975e-02f, 4.637729479e-02f, 4.637423009e-02f, 4.637108568e-02f, 4.636786157e-02f,
+4.636455777e-02f, 4.636117431e-02f, 4.635771120e-02f, 4.635416846e-02f, 4.635054609e-02f, 4.634684413e-02f, 4.634306258e-02f, 4.633920147e-02f, 4.633526081e-02f, 4.633124062e-02f,
+4.632714091e-02f, 4.632296171e-02f, 4.631870302e-02f, 4.631436488e-02f, 4.630994729e-02f, 4.630545028e-02f, 4.630087387e-02f, 4.629621806e-02f, 4.629148289e-02f, 4.628666836e-02f,
+4.628177450e-02f, 4.627680134e-02f, 4.627174887e-02f, 4.626661714e-02f, 4.626140614e-02f, 4.625611591e-02f, 4.625074647e-02f, 4.624529783e-02f, 4.623977002e-02f, 4.623416304e-02f,
+4.622847693e-02f, 4.622271171e-02f, 4.621686739e-02f, 4.621094400e-02f, 4.620494155e-02f, 4.619886007e-02f, 4.619269958e-02f, 4.618646009e-02f, 4.618014164e-02f, 4.617374423e-02f,
+4.616726790e-02f, 4.616071267e-02f, 4.615407855e-02f, 4.614736557e-02f, 4.614057375e-02f, 4.613370311e-02f, 4.612675368e-02f, 4.611972548e-02f, 4.611261852e-02f, 4.610543284e-02f,
+4.609816845e-02f, 4.609082538e-02f, 4.608340365e-02f, 4.607590329e-02f, 4.606832431e-02f, 4.606066675e-02f, 4.605293062e-02f, 4.604511595e-02f, 4.603722276e-02f, 4.602925108e-02f,
+4.602120093e-02f, 4.601307233e-02f, 4.600486531e-02f, 4.599657990e-02f, 4.598821612e-02f, 4.597977399e-02f, 4.597125353e-02f, 4.596265478e-02f, 4.595397776e-02f, 4.594522250e-02f,
+4.593638901e-02f, 4.592747732e-02f, 4.591848747e-02f, 4.590941948e-02f, 4.590027336e-02f, 4.589104916e-02f, 4.588174689e-02f, 4.587236658e-02f, 4.586290825e-02f, 4.585337194e-02f,
+4.584375768e-02f, 4.583406548e-02f, 4.582429537e-02f, 4.581444739e-02f, 4.580452155e-02f, 4.579451790e-02f, 4.578443644e-02f, 4.577427722e-02f, 4.576404026e-02f, 4.575372558e-02f,
+4.574333322e-02f, 4.573286320e-02f, 4.572231556e-02f, 4.571169032e-02f, 4.570098750e-02f, 4.569020714e-02f, 4.567934927e-02f, 4.566841391e-02f, 4.565740110e-02f, 4.564631086e-02f,
+4.563514323e-02f, 4.562389822e-02f, 4.561257588e-02f, 4.560117623e-02f, 4.558969931e-02f, 4.557814513e-02f, 4.556651373e-02f, 4.555480515e-02f, 4.554301941e-02f, 4.553115654e-02f,
+4.551921658e-02f, 4.550719955e-02f, 4.549510548e-02f, 4.548293441e-02f, 4.547068637e-02f, 4.545836138e-02f, 4.544595949e-02f, 4.543348071e-02f, 4.542092509e-02f, 4.540829265e-02f,
+4.539558343e-02f, 4.538279746e-02f, 4.536993477e-02f, 4.535699539e-02f, 4.534397936e-02f, 4.533088670e-02f, 4.531771746e-02f, 4.530447165e-02f, 4.529114933e-02f, 4.527775051e-02f,
+4.526427524e-02f, 4.525072354e-02f, 4.523709545e-02f, 4.522339100e-02f, 4.520961023e-02f, 4.519575317e-02f, 4.518181985e-02f, 4.516781031e-02f, 4.515372459e-02f, 4.513956271e-02f,
+4.512532471e-02f, 4.511101062e-02f, 4.509662049e-02f, 4.508215434e-02f, 4.506761221e-02f, 4.505299414e-02f, 4.503830015e-02f, 4.502353029e-02f, 4.500868460e-02f, 4.499376309e-02f,
+4.497876582e-02f, 4.496369282e-02f, 4.494854412e-02f, 4.493331976e-02f, 4.491801978e-02f, 4.490264421e-02f, 4.488719309e-02f, 4.487166645e-02f, 4.485606434e-02f, 4.484038678e-02f,
+4.482463382e-02f, 4.480880549e-02f, 4.479290184e-02f, 4.477692289e-02f, 4.476086868e-02f, 4.474473925e-02f, 4.472853465e-02f, 4.471225490e-02f, 4.469590005e-02f, 4.467947013e-02f,
+4.466296519e-02f, 4.464638525e-02f, 4.462973036e-02f, 4.461300056e-02f, 4.459619589e-02f, 4.457931638e-02f, 4.456236207e-02f, 4.454533300e-02f, 4.452822922e-02f, 4.451105075e-02f,
+4.449379765e-02f, 4.447646995e-02f, 4.445906768e-02f, 4.444159089e-02f, 4.442403963e-02f, 4.440641392e-02f, 4.438871381e-02f, 4.437093934e-02f, 4.435309055e-02f, 4.433516748e-02f,
+4.431717017e-02f, 4.429909866e-02f, 4.428095299e-02f, 4.426273321e-02f, 4.424443935e-02f, 4.422607146e-02f, 4.420762958e-02f, 4.418911374e-02f, 4.417052399e-02f, 4.415186038e-02f,
+4.413312293e-02f, 4.411431171e-02f, 4.409542674e-02f, 4.407646807e-02f, 4.405743574e-02f, 4.403832980e-02f, 4.401915028e-02f, 4.399989724e-02f, 4.398057070e-02f, 4.396117073e-02f,
+4.394169735e-02f, 4.392215061e-02f, 4.390253055e-02f, 4.388283723e-02f, 4.386307068e-02f, 4.384323094e-02f, 4.382331806e-02f, 4.380333209e-02f, 4.378327306e-02f, 4.376314102e-02f,
+4.374293602e-02f, 4.372265810e-02f, 4.370230730e-02f, 4.368188367e-02f, 4.366138725e-02f, 4.364081810e-02f, 4.362017624e-02f, 4.359946174e-02f, 4.357867463e-02f, 4.355781495e-02f,
+4.353688276e-02f, 4.351587810e-02f, 4.349480102e-02f, 4.347365156e-02f, 4.345242976e-02f, 4.343113568e-02f, 4.340976936e-02f, 4.338833084e-02f, 4.336682017e-02f, 4.334523740e-02f,
+4.332358258e-02f, 4.330185575e-02f, 4.328005696e-02f, 4.325818625e-02f, 4.323624368e-02f, 4.321422928e-02f, 4.319214311e-02f, 4.316998522e-02f, 4.314775565e-02f, 4.312545444e-02f,
+4.310308166e-02f, 4.308063734e-02f, 4.305812153e-02f, 4.303553428e-02f, 4.301287565e-02f, 4.299014567e-02f, 4.296734440e-02f, 4.294447188e-02f, 4.292152817e-02f, 4.289851330e-02f,
+4.287542734e-02f, 4.285227033e-02f, 4.282904232e-02f, 4.280574336e-02f, 4.278237350e-02f, 4.275893278e-02f, 4.273542127e-02f, 4.271183899e-02f, 4.268818602e-02f, 4.266446239e-02f,
+4.264066816e-02f, 4.261680338e-02f, 4.259286809e-02f, 4.256886235e-02f, 4.254478621e-02f, 4.252063972e-02f, 4.249642293e-02f, 4.247213589e-02f, 4.244777865e-02f, 4.242335126e-02f,
+4.239885377e-02f, 4.237428625e-02f, 4.234964872e-02f, 4.232494126e-02f, 4.230016391e-02f, 4.227531672e-02f, 4.225039974e-02f, 4.222541302e-02f, 4.220035663e-02f, 4.217523060e-02f,
+4.215003500e-02f, 4.212476987e-02f, 4.209943527e-02f, 4.207403125e-02f, 4.204855786e-02f, 4.202301516e-02f, 4.199740319e-02f, 4.197172202e-02f, 4.194597169e-02f, 4.192015226e-02f,
+4.189426378e-02f, 4.186830631e-02f, 4.184227989e-02f, 4.181618459e-02f, 4.179002046e-02f, 4.176378754e-02f, 4.173748591e-02f, 4.171111560e-02f, 4.168467667e-02f, 4.165816918e-02f,
+4.163159318e-02f, 4.160494873e-02f, 4.157823589e-02f, 4.155145470e-02f, 4.152460522e-02f, 4.149768751e-02f, 4.147070162e-02f, 4.144364760e-02f, 4.141652552e-02f, 4.138933543e-02f,
+4.136207739e-02f, 4.133475144e-02f, 4.130735765e-02f, 4.127989607e-02f, 4.125236676e-02f, 4.122476977e-02f, 4.119710516e-02f, 4.116937299e-02f, 4.114157332e-02f, 4.111370619e-02f,
+4.108577167e-02f, 4.105776981e-02f, 4.102970068e-02f, 4.100156432e-02f, 4.097336079e-02f, 4.094509016e-02f, 4.091675248e-02f, 4.088834781e-02f, 4.085987619e-02f, 4.083133771e-02f,
+4.080273240e-02f, 4.077406033e-02f, 4.074532156e-02f, 4.071651614e-02f, 4.068764413e-02f, 4.065870559e-02f, 4.062970059e-02f, 4.060062917e-02f, 4.057149140e-02f, 4.054228733e-02f,
+4.051301703e-02f, 4.048368055e-02f, 4.045427795e-02f, 4.042480929e-02f, 4.039527464e-02f, 4.036567405e-02f, 4.033600757e-02f, 4.030627528e-02f, 4.027647722e-02f, 4.024661346e-02f,
+4.021668407e-02f, 4.018668909e-02f, 4.015662859e-02f, 4.012650263e-02f, 4.009631127e-02f, 4.006605457e-02f, 4.003573259e-02f, 4.000534539e-02f, 3.997489303e-02f, 3.994437558e-02f,
+3.991379309e-02f, 3.988314563e-02f, 3.985243325e-02f, 3.982165602e-02f, 3.979081400e-02f, 3.975990725e-02f, 3.972893584e-02f, 3.969789981e-02f, 3.966679924e-02f, 3.963563419e-02f,
+3.960440472e-02f, 3.957311089e-02f, 3.954175277e-02f, 3.951033041e-02f, 3.947884388e-02f, 3.944729324e-02f, 3.941567855e-02f, 3.938399988e-02f, 3.935225730e-02f, 3.932045085e-02f,
+3.928858061e-02f, 3.925664663e-02f, 3.922464899e-02f, 3.919258774e-02f, 3.916046296e-02f, 3.912827469e-02f, 3.909602301e-02f, 3.906370798e-02f, 3.903132966e-02f, 3.899888812e-02f,
+3.896638342e-02f, 3.893381562e-02f, 3.890118480e-02f, 3.886849101e-02f, 3.883573431e-02f, 3.880291478e-02f, 3.877003248e-02f, 3.873708747e-02f, 3.870407982e-02f, 3.867100958e-02f,
+3.863787684e-02f, 3.860468165e-02f, 3.857142407e-02f, 3.853810418e-02f, 3.850472203e-02f, 3.847127770e-02f, 3.843777125e-02f, 3.840420274e-02f, 3.837057225e-02f, 3.833687983e-02f,
+3.830312555e-02f, 3.826930948e-02f, 3.823543169e-02f, 3.820149223e-02f, 3.816749119e-02f, 3.813342862e-02f, 3.809930459e-02f, 3.806511917e-02f, 3.803087242e-02f, 3.799656441e-02f,
+3.796219521e-02f, 3.792776489e-02f, 3.789327351e-02f, 3.785872114e-02f, 3.782410784e-02f, 3.778943369e-02f, 3.775469875e-02f, 3.771990309e-02f, 3.768504678e-02f, 3.765012988e-02f,
+3.761515247e-02f, 3.758011461e-02f, 3.754501636e-02f, 3.750985781e-02f, 3.747463901e-02f, 3.743936003e-02f, 3.740402095e-02f, 3.736862182e-02f, 3.733316273e-02f, 3.729764374e-02f,
+3.726206491e-02f, 3.722642632e-02f, 3.719072804e-02f, 3.715497013e-02f, 3.711915267e-02f, 3.708327571e-02f, 3.704733935e-02f, 3.701134363e-02f, 3.697528864e-02f, 3.693917443e-02f,
+3.690300109e-02f, 3.686676868e-02f, 3.683047727e-02f, 3.679412694e-02f, 3.675771774e-02f, 3.672124976e-02f, 3.668472305e-02f, 3.664813771e-02f, 3.661149378e-02f, 3.657479135e-02f,
+3.653803048e-02f, 3.650121125e-02f, 3.646433372e-02f, 3.642739798e-02f, 3.639040408e-02f, 3.635335210e-02f, 3.631624211e-02f, 3.627907418e-02f, 3.624184839e-02f, 3.620456480e-02f,
+3.616722349e-02f, 3.612982452e-02f, 3.609236798e-02f, 3.605485393e-02f, 3.601728244e-02f, 3.597965359e-02f, 3.594196745e-02f, 3.590422409e-02f, 3.586642358e-02f, 3.582856600e-02f,
+3.579065141e-02f, 3.575267990e-02f, 3.571465152e-02f, 3.567656637e-02f, 3.563842450e-02f, 3.560022600e-02f, 3.556197093e-02f, 3.552365937e-02f, 3.548529139e-02f, 3.544686706e-02f,
+3.540838646e-02f, 3.536984966e-02f, 3.533125674e-02f, 3.529260777e-02f, 3.525390282e-02f, 3.521514196e-02f, 3.517632528e-02f, 3.513745284e-02f, 3.509852472e-02f, 3.505954099e-02f,
+3.502050172e-02f, 3.498140700e-02f, 3.494225689e-02f, 3.490305148e-02f, 3.486379082e-02f, 3.482447501e-02f, 3.478510411e-02f, 3.474567820e-02f, 3.470619735e-02f, 3.466666164e-02f,
+3.462707115e-02f, 3.458742594e-02f, 3.454772610e-02f, 3.450797170e-02f, 3.446816281e-02f, 3.442829952e-02f, 3.438838189e-02f, 3.434841000e-02f, 3.430838393e-02f, 3.426830375e-02f,
+3.422816954e-02f, 3.418798138e-02f, 3.414773934e-02f, 3.410744350e-02f, 3.406709393e-02f, 3.402669071e-02f, 3.398623392e-02f, 3.394572363e-02f, 3.390515993e-02f, 3.386454287e-02f,
+3.382387256e-02f, 3.378314905e-02f, 3.374237243e-02f, 3.370154277e-02f, 3.366066016e-02f, 3.361972466e-02f, 3.357873636e-02f, 3.353769533e-02f, 3.349660166e-02f, 3.345545541e-02f,
+3.341425666e-02f, 3.337300550e-02f, 3.333170200e-02f, 3.329034624e-02f, 3.324893829e-02f, 3.320747824e-02f, 3.316596617e-02f, 3.312440214e-02f, 3.308278624e-02f, 3.304111855e-02f,
+3.299939914e-02f, 3.295762810e-02f, 3.291580550e-02f, 3.287393142e-02f, 3.283200595e-02f, 3.279002915e-02f, 3.274800110e-02f, 3.270592190e-02f, 3.266379161e-02f, 3.262161031e-02f,
+3.257937809e-02f, 3.253709502e-02f, 3.249476118e-02f, 3.245237665e-02f, 3.240994151e-02f, 3.236745585e-02f, 3.232491973e-02f, 3.228233325e-02f, 3.223969647e-02f, 3.219700948e-02f,
+3.215427236e-02f, 3.211148519e-02f, 3.206864805e-02f, 3.202576102e-02f, 3.198282417e-02f, 3.193983760e-02f, 3.189680138e-02f, 3.185371559e-02f, 3.181058031e-02f, 3.176739562e-02f,
+3.172416160e-02f, 3.168087833e-02f, 3.163754590e-02f, 3.159416439e-02f, 3.155073387e-02f, 3.150725442e-02f, 3.146372614e-02f, 3.142014909e-02f, 3.137652336e-02f, 3.133284904e-02f,
+3.128912620e-02f, 3.124535492e-02f, 3.120153528e-02f, 3.115766738e-02f, 3.111375128e-02f, 3.106978708e-02f, 3.102577485e-02f, 3.098171467e-02f, 3.093760663e-02f, 3.089345080e-02f,
+3.084924728e-02f, 3.080499614e-02f, 3.076069747e-02f, 3.071635134e-02f, 3.067195785e-02f, 3.062751706e-02f, 3.058302907e-02f, 3.053849396e-02f, 3.049391181e-02f, 3.044928270e-02f,
+3.040460672e-02f, 3.035988394e-02f, 3.031511446e-02f, 3.027029835e-02f, 3.022543570e-02f, 3.018052659e-02f, 3.013557110e-02f, 3.009056932e-02f, 3.004552133e-02f, 3.000042722e-02f,
+2.995528706e-02f, 2.991010095e-02f, 2.986486896e-02f, 2.981959118e-02f, 2.977426769e-02f, 2.972889857e-02f, 2.968348392e-02f, 2.963802381e-02f, 2.959251833e-02f, 2.954696756e-02f,
+2.950137159e-02f, 2.945573050e-02f, 2.941004437e-02f, 2.936431329e-02f, 2.931853735e-02f, 2.927271662e-02f, 2.922685120e-02f, 2.918094117e-02f, 2.913498660e-02f, 2.908898760e-02f,
+2.904294424e-02f, 2.899685660e-02f, 2.895072477e-02f, 2.890454884e-02f, 2.885832890e-02f, 2.881206502e-02f, 2.876575729e-02f, 2.871940580e-02f, 2.867301063e-02f, 2.862657188e-02f,
+2.858008961e-02f, 2.853356393e-02f, 2.848699491e-02f, 2.844038264e-02f, 2.839372720e-02f, 2.834702869e-02f, 2.830028719e-02f, 2.825350278e-02f, 2.820667555e-02f, 2.815980559e-02f,
+2.811289298e-02f, 2.806593780e-02f, 2.801894015e-02f, 2.797190012e-02f, 2.792481778e-02f, 2.787769322e-02f, 2.783052653e-02f, 2.778331780e-02f, 2.773606712e-02f, 2.768877456e-02f,
+2.764144022e-02f, 2.759406418e-02f, 2.754664654e-02f, 2.749918737e-02f, 2.745168676e-02f, 2.740414481e-02f, 2.735656159e-02f, 2.730893720e-02f, 2.726127173e-02f, 2.721356525e-02f,
+2.716581786e-02f, 2.711802964e-02f, 2.707020069e-02f, 2.702233109e-02f, 2.697442092e-02f, 2.692647028e-02f, 2.687847925e-02f, 2.683044792e-02f, 2.678237638e-02f, 2.673426471e-02f,
+2.668611301e-02f, 2.663792136e-02f, 2.658968985e-02f, 2.654141856e-02f, 2.649310760e-02f, 2.644475703e-02f, 2.639636696e-02f, 2.634793747e-02f, 2.629946865e-02f, 2.625096059e-02f,
+2.620241337e-02f, 2.615382709e-02f, 2.610520183e-02f, 2.605653768e-02f, 2.600783473e-02f, 2.595909307e-02f, 2.591031279e-02f, 2.586149398e-02f, 2.581263672e-02f, 2.576374110e-02f,
+2.571480722e-02f, 2.566583517e-02f, 2.561682502e-02f, 2.556777688e-02f, 2.551869082e-02f, 2.546956695e-02f, 2.542040534e-02f, 2.537120609e-02f, 2.532196929e-02f, 2.527269503e-02f,
+2.522338340e-02f, 2.517403448e-02f, 2.512464837e-02f, 2.507522515e-02f, 2.502576492e-02f, 2.497626776e-02f, 2.492673377e-02f, 2.487716304e-02f, 2.482755565e-02f, 2.477791170e-02f,
+2.472823127e-02f, 2.467851446e-02f, 2.462876135e-02f, 2.457897204e-02f, 2.452914661e-02f, 2.447928516e-02f, 2.442938778e-02f, 2.437945456e-02f, 2.432948558e-02f, 2.427948094e-02f,
+2.422944073e-02f, 2.417936504e-02f, 2.412925397e-02f, 2.407910759e-02f, 2.402892600e-02f, 2.397870930e-02f, 2.392845757e-02f, 2.387817090e-02f, 2.382784939e-02f, 2.377749313e-02f,
+2.372710220e-02f, 2.367667670e-02f, 2.362621673e-02f, 2.357572236e-02f, 2.352519369e-02f, 2.347463082e-02f, 2.342403384e-02f, 2.337340283e-02f, 2.332273788e-02f, 2.327203910e-02f,
+2.322130657e-02f, 2.317054038e-02f, 2.311974062e-02f, 2.306890739e-02f, 2.301804078e-02f, 2.296714088e-02f, 2.291620778e-02f, 2.286524157e-02f, 2.281424234e-02f, 2.276321019e-02f,
+2.271214522e-02f, 2.266104750e-02f, 2.260991713e-02f, 2.255875421e-02f, 2.250755883e-02f, 2.245633107e-02f, 2.240507104e-02f, 2.235377882e-02f, 2.230245451e-02f, 2.225109820e-02f,
+2.219970998e-02f, 2.214828994e-02f, 2.209683818e-02f, 2.204535478e-02f, 2.199383985e-02f, 2.194229347e-02f, 2.189071574e-02f, 2.183910675e-02f, 2.178746659e-02f, 2.173579535e-02f,
+2.168409313e-02f, 2.163236003e-02f, 2.158059612e-02f, 2.152880152e-02f, 2.147697630e-02f, 2.142512056e-02f, 2.137323441e-02f, 2.132131792e-02f, 2.126937119e-02f, 2.121739432e-02f,
+2.116538739e-02f, 2.111335051e-02f, 2.106128377e-02f, 2.100918725e-02f, 2.095706105e-02f, 2.090490527e-02f, 2.085272000e-02f, 2.080050533e-02f, 2.074826136e-02f, 2.069598818e-02f,
+2.064368588e-02f, 2.059135456e-02f, 2.053899431e-02f, 2.048660522e-02f, 2.043418739e-02f, 2.038174092e-02f, 2.032926589e-02f, 2.027676240e-02f, 2.022423054e-02f, 2.017167041e-02f,
+2.011908211e-02f, 2.006646572e-02f, 2.001382134e-02f, 1.996114906e-02f, 1.990844899e-02f, 1.985572120e-02f, 1.980296580e-02f, 1.975018289e-02f, 1.969737255e-02f, 1.964453488e-02f,
+1.959166997e-02f, 1.953877792e-02f, 1.948585883e-02f, 1.943291278e-02f, 1.937993987e-02f, 1.932694021e-02f, 1.927391387e-02f, 1.922086096e-02f, 1.916778157e-02f, 1.911467579e-02f,
+1.906154372e-02f, 1.900838546e-02f, 1.895520110e-02f, 1.890199073e-02f, 1.884875446e-02f, 1.879549236e-02f, 1.874220455e-02f, 1.868889110e-02f, 1.863555213e-02f, 1.858218772e-02f,
+1.852879797e-02f, 1.847538298e-02f, 1.842194283e-02f, 1.836847763e-02f, 1.831498747e-02f, 1.826147244e-02f, 1.820793264e-02f, 1.815436816e-02f, 1.810077911e-02f, 1.804716557e-02f,
+1.799352765e-02f, 1.793986543e-02f, 1.788617901e-02f, 1.783246849e-02f, 1.777873396e-02f, 1.772497552e-02f, 1.767119327e-02f, 1.761738729e-02f, 1.756355769e-02f, 1.750970456e-02f,
+1.745582799e-02f, 1.740192809e-02f, 1.734800494e-02f, 1.729405865e-02f, 1.724008931e-02f, 1.718609701e-02f, 1.713208185e-02f, 1.707804393e-02f, 1.702398334e-02f, 1.696990018e-02f,
+1.691579455e-02f, 1.686166653e-02f, 1.680751623e-02f, 1.675334374e-02f, 1.669914916e-02f, 1.664493259e-02f, 1.659069411e-02f, 1.653643383e-02f, 1.648215184e-02f, 1.642784825e-02f,
+1.637352313e-02f, 1.631917660e-02f, 1.626480874e-02f, 1.621041966e-02f, 1.615600945e-02f, 1.610157820e-02f, 1.604712602e-02f, 1.599265299e-02f, 1.593815922e-02f, 1.588364480e-02f,
+1.582910983e-02f, 1.577455440e-02f, 1.571997861e-02f, 1.566538256e-02f, 1.561076635e-02f, 1.555613006e-02f, 1.550147380e-02f, 1.544679766e-02f, 1.539210175e-02f, 1.533738615e-02f,
+1.528265096e-02f, 1.522789628e-02f, 1.517312221e-02f, 1.511832885e-02f, 1.506351628e-02f, 1.500868461e-02f, 1.495383393e-02f, 1.489896434e-02f, 1.484407594e-02f, 1.478916883e-02f,
+1.473424309e-02f, 1.467929883e-02f, 1.462433615e-02f, 1.456935514e-02f, 1.451435589e-02f, 1.445933851e-02f, 1.440430309e-02f, 1.434924974e-02f, 1.429417853e-02f, 1.423908958e-02f,
+1.418398298e-02f, 1.412885883e-02f, 1.407371723e-02f, 1.401855826e-02f, 1.396338203e-02f, 1.390818864e-02f, 1.385297818e-02f, 1.379775075e-02f, 1.374250645e-02f, 1.368724537e-02f,
+1.363196761e-02f, 1.357667327e-02f, 1.352136245e-02f, 1.346603524e-02f, 1.341069174e-02f, 1.335533204e-02f, 1.329995626e-02f, 1.324456447e-02f, 1.318915679e-02f, 1.313373330e-02f,
+1.307829411e-02f, 1.302283930e-02f, 1.296736899e-02f, 1.291188326e-02f, 1.285638222e-02f, 1.280086596e-02f, 1.274533458e-02f, 1.268978817e-02f, 1.263422684e-02f, 1.257865067e-02f,
+1.252305978e-02f, 1.246745425e-02f, 1.241183419e-02f, 1.235619969e-02f, 1.230055085e-02f, 1.224488776e-02f, 1.218921053e-02f, 1.213351925e-02f, 1.207781401e-02f, 1.202209493e-02f,
+1.196636209e-02f, 1.191061559e-02f, 1.185485553e-02f, 1.179908201e-02f, 1.174329512e-02f, 1.168749496e-02f, 1.163168164e-02f, 1.157585524e-02f, 1.152001587e-02f, 1.146416363e-02f,
+1.140829860e-02f, 1.135242089e-02f, 1.129653060e-02f, 1.124062783e-02f, 1.118471266e-02f, 1.112878521e-02f, 1.107284556e-02f, 1.101689382e-02f, 1.096093009e-02f, 1.090495445e-02f,
+1.084896701e-02f, 1.079296787e-02f, 1.073695713e-02f, 1.068093488e-02f, 1.062490121e-02f, 1.056885624e-02f, 1.051280005e-02f, 1.045673274e-02f, 1.040065442e-02f, 1.034456518e-02f,
+1.028846511e-02f, 1.023235432e-02f, 1.017623291e-02f, 1.012010096e-02f, 1.006395858e-02f, 1.000780587e-02f, 9.951642930e-03f, 9.895469849e-03f, 9.839286728e-03f, 9.783093667e-03f,
+9.726890762e-03f, 9.670678111e-03f, 9.614455814e-03f, 9.558223967e-03f, 9.501982668e-03f, 9.445732016e-03f, 9.389472109e-03f, 9.333203044e-03f, 9.276924920e-03f, 9.220637834e-03f,
+9.164341884e-03f, 9.108037169e-03f, 9.051723786e-03f, 8.995401834e-03f, 8.939071410e-03f, 8.882732612e-03f, 8.826385539e-03f, 8.770030288e-03f, 8.713666958e-03f, 8.657295646e-03f,
+8.600916450e-03f, 8.544529469e-03f, 8.488134800e-03f, 8.431732542e-03f, 8.375322792e-03f, 8.318905648e-03f, 8.262481209e-03f, 8.206049572e-03f, 8.149610836e-03f, 8.093165099e-03f,
+8.036712457e-03f, 7.980253011e-03f, 7.923786856e-03f, 7.867314093e-03f, 7.810834817e-03f, 7.754349129e-03f, 7.697857124e-03f, 7.641358903e-03f, 7.584854562e-03f, 7.528344199e-03f,
+7.471827913e-03f, 7.415305802e-03f, 7.358777963e-03f, 7.302244494e-03f, 7.245705494e-03f, 7.189161061e-03f, 7.132611292e-03f, 7.076056285e-03f, 7.019496139e-03f, 6.962930951e-03f,
+6.906360820e-03f, 6.849785843e-03f, 6.793206119e-03f, 6.736621744e-03f, 6.680032818e-03f, 6.623439438e-03f, 6.566841702e-03f, 6.510239708e-03f, 6.453633554e-03f, 6.397023338e-03f,
+6.340409158e-03f, 6.283791112e-03f, 6.227169297e-03f, 6.170543812e-03f, 6.113914754e-03f, 6.057282222e-03f, 6.000646313e-03f, 5.944007126e-03f, 5.887364757e-03f, 5.830719305e-03f,
+5.774070868e-03f, 5.717419543e-03f, 5.660765429e-03f, 5.604108624e-03f, 5.547449224e-03f, 5.490787329e-03f, 5.434123035e-03f, 5.377456441e-03f, 5.320787644e-03f, 5.264116742e-03f,
+5.207443834e-03f, 5.150769016e-03f, 5.094092387e-03f, 5.037414044e-03f, 4.980734085e-03f, 4.924052608e-03f, 4.867369710e-03f, 4.810685490e-03f, 4.754000044e-03f, 4.697313471e-03f,
+4.640625869e-03f, 4.583937334e-03f, 4.527247965e-03f, 4.470557860e-03f, 4.413867115e-03f, 4.357175829e-03f, 4.300484099e-03f, 4.243792024e-03f, 4.187099699e-03f, 4.130407224e-03f,
+4.073714695e-03f, 4.017022211e-03f, 3.960329868e-03f, 3.903637765e-03f, 3.846945998e-03f, 3.790254666e-03f, 3.733563865e-03f, 3.676873694e-03f, 3.620184250e-03f, 3.563495630e-03f,
+3.506807932e-03f, 3.450121252e-03f, 3.393435690e-03f, 3.336751341e-03f, 3.280068304e-03f, 3.223386676e-03f, 3.166706554e-03f, 3.110028035e-03f, 3.053351217e-03f, 2.996676197e-03f,
+2.940003073e-03f, 2.883331941e-03f, 2.826662900e-03f, 2.769996045e-03f, 2.713331476e-03f, 2.656669288e-03f, 2.600009579e-03f, 2.543352446e-03f, 2.486697986e-03f, 2.430046297e-03f,
+2.373397476e-03f, 2.316751619e-03f, 2.260108825e-03f, 2.203469189e-03f, 2.146832809e-03f, 2.090199783e-03f, 2.033570207e-03f, 1.976944177e-03f, 1.920321792e-03f, 1.863703149e-03f,
+1.807088343e-03f, 1.750477472e-03f, 1.693870634e-03f, 1.637267924e-03f, 1.580669440e-03f, 1.524075279e-03f, 1.467485538e-03f, 1.410900313e-03f, 1.354319701e-03f, 1.297743799e-03f,
+1.241172704e-03f, 1.184606512e-03f, 1.128045321e-03f, 1.071489226e-03f, 1.014938326e-03f, 9.583927154e-04f, 9.018524920e-04f, 8.453177523e-04f, 7.887885928e-04f, 7.322651102e-04f,
+6.757474009e-04f, 6.192355616e-04f, 5.627296887e-04f, 5.062298788e-04f, 4.497362282e-04f, 3.932488336e-04f, 3.367677913e-04f, 2.802931977e-04f, 2.238251492e-04f, 1.673637422e-04f,
+1.109090730e-04f, 5.446123792e-05f, -1.979666749e-06f, -5.841354473e-05f, -1.148402998e-04f, -1.712598357e-04f, -2.276720563e-04f, -2.840768653e-04f, -3.404741667e-04f, -3.968638643e-04f,
+-4.532458620e-04f, -5.096200638e-04f, -5.659863735e-04f, -6.223446953e-04f, -6.786949330e-04f, -7.350369907e-04f, -7.913707726e-04f, -8.476961825e-04f, -9.040131247e-04f, -9.603215034e-04f,
+-1.016621223e-03f, -1.072912186e-03f, -1.129194299e-03f, -1.185467465e-03f, -1.241731589e-03f, -1.297986574e-03f, -1.354232326e-03f, -1.410468748e-03f, -1.466695744e-03f, -1.522913220e-03f,
+-1.579121080e-03f, -1.635319227e-03f, -1.691507568e-03f, -1.747686005e-03f, -1.803854444e-03f, -1.860012790e-03f, -1.916160946e-03f, -1.972298818e-03f, -2.028426310e-03f, -2.084543327e-03f,
+-2.140649773e-03f, -2.196745554e-03f, -2.252830574e-03f, -2.308904738e-03f, -2.364967951e-03f, -2.421020117e-03f, -2.477061142e-03f, -2.533090931e-03f, -2.589109388e-03f, -2.645116418e-03f,
+-2.701111928e-03f, -2.757095820e-03f, -2.813068002e-03f, -2.869028377e-03f, -2.924976851e-03f, -2.980913329e-03f, -3.036837717e-03f, -3.092749920e-03f, -3.148649842e-03f, -3.204537390e-03f,
+-3.260412468e-03f, -3.316274982e-03f, -3.372124838e-03f, -3.427961940e-03f, -3.483786195e-03f, -3.539597508e-03f, -3.595395784e-03f, -3.651180929e-03f, -3.706952849e-03f, -3.762711449e-03f,
+-3.818456636e-03f, -3.874188313e-03f, -3.929906389e-03f, -3.985610767e-03f, -4.041301355e-03f, -4.096978058e-03f, -4.152640782e-03f, -4.208289432e-03f, -4.263923915e-03f, -4.319544137e-03f,
+-4.375150004e-03f, -4.430741422e-03f, -4.486318297e-03f, -4.541880535e-03f, -4.597428043e-03f, -4.652960726e-03f, -4.708478491e-03f, -4.763981244e-03f, -4.819468892e-03f, -4.874941340e-03f,
+-4.930398496e-03f, -4.985840266e-03f, -5.041266556e-03f, -5.096677272e-03f, -5.152072322e-03f, -5.207451612e-03f, -5.262815049e-03f, -5.318162539e-03f, -5.373493989e-03f, -5.428809306e-03f,
+-5.484108396e-03f, -5.539391167e-03f, -5.594657524e-03f, -5.649907377e-03f, -5.705140630e-03f, -5.760357191e-03f, -5.815556968e-03f, -5.870739867e-03f, -5.925905795e-03f, -5.981054660e-03f,
+-6.036186368e-03f, -6.091300828e-03f, -6.146397946e-03f, -6.201477629e-03f, -6.256539785e-03f, -6.311584322e-03f, -6.366611146e-03f, -6.421620166e-03f, -6.476611288e-03f, -6.531584421e-03f,
+-6.586539472e-03f, -6.641476349e-03f, -6.696394959e-03f, -6.751295210e-03f, -6.806177010e-03f, -6.861040266e-03f, -6.915884887e-03f, -6.970710781e-03f, -7.025517855e-03f, -7.080306018e-03f,
+-7.135075177e-03f, -7.189825240e-03f, -7.244556117e-03f, -7.299267714e-03f, -7.353959940e-03f, -7.408632704e-03f, -7.463285913e-03f, -7.517919477e-03f, -7.572533303e-03f, -7.627127300e-03f,
+-7.681701376e-03f, -7.736255440e-03f, -7.790789400e-03f, -7.845303166e-03f, -7.899796646e-03f, -7.954269748e-03f, -8.008722381e-03f, -8.063154455e-03f, -8.117565877e-03f, -8.171956557e-03f,
+-8.226326404e-03f, -8.280675327e-03f, -8.335003235e-03f, -8.389310036e-03f, -8.443595641e-03f, -8.497859958e-03f, -8.552102897e-03f, -8.606324366e-03f, -8.660524275e-03f, -8.714702534e-03f,
+-8.768859052e-03f, -8.822993738e-03f, -8.877106503e-03f, -8.931197254e-03f, -8.985265903e-03f, -9.039312359e-03f, -9.093336531e-03f, -9.147338329e-03f, -9.201317664e-03f, -9.255274444e-03f,
+-9.309208580e-03f, -9.363119983e-03f, -9.417008561e-03f, -9.470874225e-03f, -9.524716885e-03f, -9.578536451e-03f, -9.632332834e-03f, -9.686105943e-03f, -9.739855690e-03f, -9.793581983e-03f,
+-9.847284735e-03f, -9.900963855e-03f, -9.954619254e-03f, -1.000825084e-02f, -1.006185853e-02f, -1.011544223e-02f, -1.016900185e-02f, -1.022253730e-02f, -1.027604850e-02f, -1.032953535e-02f,
+-1.038299776e-02f, -1.043643565e-02f, -1.048984893e-02f, -1.054323751e-02f, -1.059660129e-02f, -1.064994020e-02f, -1.070325413e-02f, -1.075654301e-02f, -1.080980675e-02f, -1.086304525e-02f,
+-1.091625843e-02f, -1.096944619e-02f, -1.102260846e-02f, -1.107574514e-02f, -1.112885614e-02f, -1.118194138e-02f, -1.123500076e-02f, -1.128803421e-02f, -1.134104162e-02f, -1.139402292e-02f,
+-1.144697801e-02f, -1.149990681e-02f, -1.155280923e-02f, -1.160568519e-02f, -1.165853458e-02f, -1.171135733e-02f, -1.176415335e-02f, -1.181692255e-02f, -1.186966484e-02f, -1.192238014e-02f,
+-1.197506836e-02f, -1.202772941e-02f, -1.208036320e-02f, -1.213296965e-02f, -1.218554867e-02f, -1.223810017e-02f, -1.229062407e-02f, -1.234312027e-02f, -1.239558870e-02f, -1.244802926e-02f,
+-1.250044187e-02f, -1.255282643e-02f, -1.260518288e-02f, -1.265751111e-02f, -1.270981104e-02f, -1.276208258e-02f, -1.281432565e-02f, -1.286654017e-02f, -1.291872603e-02f, -1.297088317e-02f,
+-1.302301149e-02f, -1.307511091e-02f, -1.312718133e-02f, -1.317922268e-02f, -1.323123487e-02f, -1.328321781e-02f, -1.333517142e-02f, -1.338709560e-02f, -1.343899029e-02f, -1.349085538e-02f,
+-1.354269079e-02f, -1.359449644e-02f, -1.364627225e-02f, -1.369801812e-02f, -1.374973397e-02f, -1.380141972e-02f, -1.385307528e-02f, -1.390470056e-02f, -1.395629549e-02f, -1.400785997e-02f,
+-1.405939392e-02f, -1.411089725e-02f, -1.416236989e-02f, -1.421381174e-02f, -1.426522273e-02f, -1.431660276e-02f, -1.436795175e-02f, -1.441926962e-02f, -1.447055628e-02f, -1.452181165e-02f,
+-1.457303564e-02f, -1.462422818e-02f, -1.467538916e-02f, -1.472651852e-02f, -1.477761617e-02f, -1.482868202e-02f, -1.487971598e-02f, -1.493071799e-02f, -1.498168794e-02f, -1.503262576e-02f,
+-1.508353136e-02f, -1.513440467e-02f, -1.518524559e-02f, -1.523605404e-02f, -1.528682994e-02f, -1.533757321e-02f, -1.538828376e-02f, -1.543896151e-02f, -1.548960638e-02f, -1.554021827e-02f,
+-1.559079712e-02f, -1.564134284e-02f, -1.569185534e-02f, -1.574233454e-02f, -1.579278035e-02f, -1.584319271e-02f, -1.589357151e-02f, -1.594391669e-02f, -1.599422815e-02f, -1.604450582e-02f,
+-1.609474961e-02f, -1.614495944e-02f, -1.619513523e-02f, -1.624527690e-02f, -1.629538436e-02f, -1.634545753e-02f, -1.639549633e-02f, -1.644550068e-02f, -1.649547050e-02f, -1.654540570e-02f,
+-1.659530620e-02f, -1.664517192e-02f, -1.669500279e-02f, -1.674479871e-02f, -1.679455960e-02f, -1.684428539e-02f, -1.689397600e-02f, -1.694363134e-02f, -1.699325133e-02f, -1.704283588e-02f,
+-1.709238493e-02f, -1.714189839e-02f, -1.719137617e-02f, -1.724081821e-02f, -1.729022440e-02f, -1.733959468e-02f, -1.738892897e-02f, -1.743822718e-02f, -1.748748924e-02f, -1.753671506e-02f,
+-1.758590456e-02f, -1.763505766e-02f, -1.768417429e-02f, -1.773325436e-02f, -1.778229779e-02f, -1.783130450e-02f, -1.788027442e-02f, -1.792920746e-02f, -1.797810354e-02f, -1.802696259e-02f,
+-1.807578452e-02f, -1.812456926e-02f, -1.817331672e-02f, -1.822202683e-02f, -1.827069950e-02f, -1.831933466e-02f, -1.836793223e-02f, -1.841649213e-02f, -1.846501427e-02f, -1.851349859e-02f,
+-1.856194500e-02f, -1.861035343e-02f, -1.865872379e-02f, -1.870705601e-02f, -1.875535000e-02f, -1.880360569e-02f, -1.885182301e-02f, -1.890000187e-02f, -1.894814219e-02f, -1.899624390e-02f,
+-1.904430691e-02f, -1.909233116e-02f, -1.914031656e-02f, -1.918826303e-02f, -1.923617050e-02f, -1.928403889e-02f, -1.933186812e-02f, -1.937965811e-02f, -1.942740879e-02f, -1.947512008e-02f,
+-1.952279190e-02f, -1.957042418e-02f, -1.961801683e-02f, -1.966556978e-02f, -1.971308296e-02f, -1.976055628e-02f, -1.980798967e-02f, -1.985538305e-02f, -1.990273635e-02f, -1.995004949e-02f,
+-1.999732239e-02f, -2.004455498e-02f, -2.009174717e-02f, -2.013889891e-02f, -2.018601009e-02f, -2.023308066e-02f, -2.028011054e-02f, -2.032709964e-02f, -2.037404789e-02f, -2.042095523e-02f,
+-2.046782156e-02f, -2.051464682e-02f, -2.056143094e-02f, -2.060817382e-02f, -2.065487541e-02f, -2.070153562e-02f, -2.074815437e-02f, -2.079473161e-02f, -2.084126724e-02f, -2.088776119e-02f,
+-2.093421339e-02f, -2.098062377e-02f, -2.102699224e-02f, -2.107331874e-02f, -2.111960319e-02f, -2.116584551e-02f, -2.121204563e-02f, -2.125820348e-02f, -2.130431898e-02f, -2.135039206e-02f,
+-2.139642264e-02f, -2.144241066e-02f, -2.148835602e-02f, -2.153425867e-02f, -2.158011853e-02f, -2.162593552e-02f, -2.167170957e-02f, -2.171744060e-02f, -2.176312855e-02f, -2.180877334e-02f,
+-2.185437490e-02f, -2.189993315e-02f, -2.194544802e-02f, -2.199091943e-02f, -2.203634732e-02f, -2.208173162e-02f, -2.212707224e-02f, -2.217236911e-02f, -2.221762217e-02f, -2.226283134e-02f,
+-2.230799655e-02f, -2.235311772e-02f, -2.239819478e-02f, -2.244322767e-02f, -2.248821631e-02f, -2.253316062e-02f, -2.257806054e-02f, -2.262291599e-02f, -2.266772690e-02f, -2.271249320e-02f,
+-2.275721481e-02f, -2.280189168e-02f, -2.284652372e-02f, -2.289111086e-02f, -2.293565304e-02f, -2.298015017e-02f, -2.302460220e-02f, -2.306900904e-02f, -2.311337063e-02f, -2.315768690e-02f,
+-2.320195778e-02f, -2.324618319e-02f, -2.329036306e-02f, -2.333449733e-02f, -2.337858592e-02f, -2.342262877e-02f, -2.346662580e-02f, -2.351057694e-02f, -2.355448213e-02f, -2.359834129e-02f,
+-2.364215435e-02f, -2.368592125e-02f, -2.372964191e-02f, -2.377331626e-02f, -2.381694424e-02f, -2.386052577e-02f, -2.390406079e-02f, -2.394754922e-02f, -2.399099100e-02f, -2.403438606e-02f,
+-2.407773433e-02f, -2.412103574e-02f, -2.416429022e-02f, -2.420749770e-02f, -2.425065811e-02f, -2.429377139e-02f, -2.433683747e-02f, -2.437985627e-02f, -2.442282774e-02f, -2.446575180e-02f,
+-2.450862838e-02f, -2.455145741e-02f, -2.459423883e-02f, -2.463697258e-02f, -2.467965857e-02f, -2.472229675e-02f, -2.476488704e-02f, -2.480742939e-02f, -2.484992371e-02f, -2.489236995e-02f,
+-2.493476804e-02f, -2.497711791e-02f, -2.501941949e-02f, -2.506167271e-02f, -2.510387752e-02f, -2.514603383e-02f, -2.518814160e-02f, -2.523020074e-02f, -2.527221119e-02f, -2.531417289e-02f,
+-2.535608577e-02f, -2.539794977e-02f, -2.543976481e-02f, -2.548153083e-02f, -2.552324777e-02f, -2.556491555e-02f, -2.560653412e-02f, -2.564810341e-02f, -2.568962335e-02f, -2.573109388e-02f,
+-2.577251493e-02f, -2.581388644e-02f, -2.585520833e-02f, -2.589648056e-02f, -2.593770304e-02f, -2.597887572e-02f, -2.601999853e-02f, -2.606107141e-02f, -2.610209428e-02f, -2.614306710e-02f,
+-2.618398979e-02f, -2.622486229e-02f, -2.626568453e-02f, -2.630645645e-02f, -2.634717798e-02f, -2.638784907e-02f, -2.642846964e-02f, -2.646903964e-02f, -2.650955900e-02f, -2.655002766e-02f,
+-2.659044555e-02f, -2.663081261e-02f, -2.667112877e-02f, -2.671139398e-02f, -2.675160817e-02f, -2.679177128e-02f, -2.683188324e-02f, -2.687194399e-02f, -2.691195346e-02f, -2.695191161e-02f,
+-2.699181836e-02f, -2.703167364e-02f, -2.707147741e-02f, -2.711122959e-02f, -2.715093013e-02f, -2.719057895e-02f, -2.723017601e-02f, -2.726972123e-02f, -2.730921456e-02f, -2.734865594e-02f,
+-2.738804530e-02f, -2.742738257e-02f, -2.746666771e-02f, -2.750590065e-02f, -2.754508132e-02f, -2.758420967e-02f, -2.762328563e-02f, -2.766230915e-02f, -2.770128016e-02f, -2.774019860e-02f,
+-2.777906442e-02f, -2.781787754e-02f, -2.785663792e-02f, -2.789534549e-02f, -2.793400019e-02f, -2.797260195e-02f, -2.801115073e-02f, -2.804964646e-02f, -2.808808907e-02f, -2.812647852e-02f,
+-2.816481474e-02f, -2.820309767e-02f, -2.824132725e-02f, -2.827950342e-02f, -2.831762613e-02f, -2.835569531e-02f, -2.839371090e-02f, -2.843167285e-02f, -2.846958110e-02f, -2.850743558e-02f,
+-2.854523625e-02f, -2.858298303e-02f, -2.862067588e-02f, -2.865831473e-02f, -2.869589953e-02f, -2.873343021e-02f, -2.877090672e-02f, -2.880832901e-02f, -2.884569701e-02f, -2.888301066e-02f,
+-2.892026992e-02f, -2.895747471e-02f, -2.899462499e-02f, -2.903172069e-02f, -2.906876176e-02f, -2.910574814e-02f, -2.914267978e-02f, -2.917955661e-02f, -2.921637858e-02f, -2.925314564e-02f,
+-2.928985772e-02f, -2.932651478e-02f, -2.936311674e-02f, -2.939966357e-02f, -2.943615520e-02f, -2.947259157e-02f, -2.950897263e-02f, -2.954529832e-02f, -2.958156859e-02f, -2.961778338e-02f,
+-2.965394264e-02f, -2.969004630e-02f, -2.972609433e-02f, -2.976208665e-02f, -2.979802321e-02f, -2.983390397e-02f, -2.986972885e-02f, -2.990549782e-02f, -2.994121081e-02f, -2.997686777e-02f,
+-3.001246865e-02f, -3.004801338e-02f, -3.008350192e-02f, -3.011893422e-02f, -3.015431020e-02f, -3.018962984e-02f, -3.022489306e-02f, -3.026009981e-02f, -3.029525005e-02f, -3.033034372e-02f,
+-3.036538076e-02f, -3.040036112e-02f, -3.043528474e-02f, -3.047015158e-02f, -3.050496159e-02f, -3.053971469e-02f, -3.057441086e-02f, -3.060905002e-02f, -3.064363214e-02f, -3.067815715e-02f,
+-3.071262500e-02f, -3.074703564e-02f, -3.078138903e-02f, -3.081568510e-02f, -3.084992380e-02f, -3.088410509e-02f, -3.091822891e-02f, -3.095229520e-02f, -3.098630393e-02f, -3.102025502e-02f,
+-3.105414845e-02f, -3.108798414e-02f, -3.112176206e-02f, -3.115548214e-02f, -3.118914434e-02f, -3.122274862e-02f, -3.125629490e-02f, -3.128978316e-02f, -3.132321333e-02f, -3.135658536e-02f,
+-3.138989921e-02f, -3.142315482e-02f, -3.145635215e-02f, -3.148949114e-02f, -3.152257174e-02f, -3.155559391e-02f, -3.158855759e-02f, -3.162146274e-02f, -3.165430929e-02f, -3.168709722e-02f,
+-3.171982646e-02f, -3.175249696e-02f, -3.178510869e-02f, -3.181766158e-02f, -3.185015559e-02f, -3.188259067e-02f, -3.191496677e-02f, -3.194728384e-02f, -3.197954184e-02f, -3.201174071e-02f,
+-3.204388041e-02f, -3.207596089e-02f, -3.210798210e-02f, -3.213994400e-02f, -3.217184652e-02f, -3.220368964e-02f, -3.223547330e-02f, -3.226719744e-02f, -3.229886204e-02f, -3.233046703e-02f,
+-3.236201236e-02f, -3.239349801e-02f, -3.242492390e-02f, -3.245629001e-02f, -3.248759628e-02f, -3.251884266e-02f, -3.255002911e-02f, -3.258115559e-02f, -3.261222204e-02f, -3.264322842e-02f,
+-3.267417468e-02f, -3.270506078e-02f, -3.273588667e-02f, -3.276665231e-02f, -3.279735764e-02f, -3.282800263e-02f, -3.285858723e-02f, -3.288911139e-02f, -3.291957507e-02f, -3.294997822e-02f,
+-3.298032080e-02f, -3.301060276e-02f, -3.304082406e-02f, -3.307098465e-02f, -3.310108449e-02f, -3.313112354e-02f, -3.316110174e-02f, -3.319101906e-02f, -3.322087545e-02f, -3.325067086e-02f,
+-3.328040526e-02f, -3.331007860e-02f, -3.333969083e-02f, -3.336924191e-02f, -3.339873180e-02f, -3.342816046e-02f, -3.345752783e-02f, -3.348683388e-02f, -3.351607857e-02f, -3.354526185e-02f,
+-3.357438368e-02f, -3.360344401e-02f, -3.363244281e-02f, -3.366138003e-02f, -3.369025563e-02f, -3.371906956e-02f, -3.374782179e-02f, -3.377651226e-02f, -3.380514095e-02f, -3.383370781e-02f,
+-3.386221279e-02f, -3.389065585e-02f, -3.391903696e-02f, -3.394735607e-02f, -3.397561314e-02f, -3.400380813e-02f, -3.403194099e-02f, -3.406001170e-02f, -3.408802019e-02f, -3.411596645e-02f,
+-3.414385041e-02f, -3.417167205e-02f, -3.419943133e-02f, -3.422712819e-02f, -3.425476261e-02f, -3.428233454e-02f, -3.430984395e-02f, -3.433729078e-02f, -3.436467501e-02f, -3.439199660e-02f,
+-3.441925549e-02f, -3.444645166e-02f, -3.447358507e-02f, -3.450065567e-02f, -3.452766343e-02f, -3.455460830e-02f, -3.458149026e-02f, -3.460830925e-02f, -3.463506525e-02f, -3.466175821e-02f,
+-3.468838809e-02f, -3.471495486e-02f, -3.474145848e-02f, -3.476789890e-02f, -3.479427610e-02f, -3.482059003e-02f, -3.484684066e-02f, -3.487302795e-02f, -3.489915186e-02f, -3.492521235e-02f,
+-3.495120939e-02f, -3.497714293e-02f, -3.500301295e-02f, -3.502881941e-02f, -3.505456226e-02f, -3.508024147e-02f, -3.510585701e-02f, -3.513140884e-02f, -3.515689692e-02f, -3.518232121e-02f,
+-3.520768169e-02f, -3.523297831e-02f, -3.525821103e-02f, -3.528337983e-02f, -3.530848467e-02f, -3.533352550e-02f, -3.535850230e-02f, -3.538341503e-02f, -3.540826365e-02f, -3.543304814e-02f,
+-3.545776844e-02f, -3.548242454e-02f, -3.550701639e-02f, -3.553154396e-02f, -3.555600722e-02f, -3.558040613e-02f, -3.560474065e-02f, -3.562901076e-02f, -3.565321641e-02f, -3.567735758e-02f,
+-3.570143423e-02f, -3.572544632e-02f, -3.574939383e-02f, -3.577327672e-02f, -3.579709496e-02f, -3.582084850e-02f, -3.584453733e-02f, -3.586816140e-02f, -3.589172069e-02f, -3.591521515e-02f,
+-3.593864477e-02f, -3.596200950e-02f, -3.598530931e-02f, -3.600854418e-02f, -3.603171406e-02f, -3.605481893e-02f, -3.607785875e-02f, -3.610083349e-02f, -3.612374313e-02f, -3.614658762e-02f,
+-3.616936694e-02f, -3.619208105e-02f, -3.621472993e-02f, -3.623731354e-02f, -3.625983186e-02f, -3.628228484e-02f, -3.630467247e-02f, -3.632699470e-02f, -3.634925152e-02f, -3.637144288e-02f,
+-3.639356876e-02f, -3.641562912e-02f, -3.643762394e-02f, -3.645955319e-02f, -3.648141684e-02f, -3.650321486e-02f, -3.652494721e-02f, -3.654661387e-02f, -3.656821481e-02f, -3.658974999e-02f,
+-3.661121940e-02f, -3.663262300e-02f, -3.665396076e-02f, -3.667523265e-02f, -3.669643865e-02f, -3.671757872e-02f, -3.673865284e-02f, -3.675966098e-02f, -3.678060310e-02f, -3.680147919e-02f,
+-3.682228921e-02f, -3.684303314e-02f, -3.686371095e-02f, -3.688432260e-02f, -3.690486808e-02f, -3.692534736e-02f, -3.694576040e-02f, -3.696610718e-02f, -3.698638767e-02f, -3.700660185e-02f,
+-3.702674969e-02f, -3.704683117e-02f, -3.706684624e-02f, -3.708679490e-02f, -3.710667711e-02f, -3.712649285e-02f, -3.714624208e-02f, -3.716592480e-02f, -3.718554095e-02f, -3.720509053e-02f,
+-3.722457351e-02f, -3.724398986e-02f, -3.726333955e-02f, -3.728262257e-02f, -3.730183887e-02f, -3.732098845e-02f, -3.734007127e-02f, -3.735908731e-02f, -3.737803655e-02f, -3.739691895e-02f,
+-3.741573451e-02f, -3.743448318e-02f, -3.745316495e-02f, -3.747177979e-02f, -3.749032768e-02f, -3.750880859e-02f, -3.752722250e-02f, -3.754556939e-02f, -3.756384924e-02f, -3.758206201e-02f,
+-3.760020769e-02f, -3.761828625e-02f, -3.763629767e-02f, -3.765424193e-02f, -3.767211900e-02f, -3.768992886e-02f, -3.770767149e-02f, -3.772534687e-02f, -3.774295497e-02f, -3.776049577e-02f,
+-3.777796924e-02f, -3.779537538e-02f, -3.781271415e-02f, -3.782998553e-02f, -3.784718950e-02f, -3.786432604e-02f, -3.788139513e-02f, -3.789839675e-02f, -3.791533087e-02f, -3.793219748e-02f,
+-3.794899654e-02f, -3.796572805e-02f, -3.798239198e-02f, -3.799898832e-02f, -3.801551703e-02f, -3.803197810e-02f, -3.804837151e-02f, -3.806469724e-02f, -3.808095526e-02f, -3.809714557e-02f,
+-3.811326813e-02f, -3.812932294e-02f, -3.814530996e-02f, -3.816122919e-02f, -3.817708059e-02f, -3.819286416e-02f, -3.820857987e-02f, -3.822422770e-02f, -3.823980764e-02f, -3.825531966e-02f,
+-3.827076375e-02f, -3.828613989e-02f, -3.830144805e-02f, -3.831668823e-02f, -3.833186041e-02f, -3.834696456e-02f, -3.836200066e-02f, -3.837696871e-02f, -3.839186867e-02f, -3.840670055e-02f,
+-3.842146430e-02f, -3.843615993e-02f, -3.845078741e-02f, -3.846534673e-02f, -3.847983786e-02f, -3.849426080e-02f, -3.850861551e-02f, -3.852290200e-02f, -3.853712024e-02f, -3.855127021e-02f,
+-3.856535191e-02f, -3.857936530e-02f, -3.859331038e-02f, -3.860718713e-02f, -3.862099554e-02f, -3.863473558e-02f, -3.864840725e-02f, -3.866201052e-02f, -3.867554539e-02f, -3.868901184e-02f,
+-3.870240985e-02f, -3.871573940e-02f, -3.872900049e-02f, -3.874219309e-02f, -3.875531720e-02f, -3.876837280e-02f, -3.878135987e-02f, -3.879427840e-02f, -3.880712838e-02f, -3.881990979e-02f,
+-3.883262261e-02f, -3.884526684e-02f, -3.885784246e-02f, -3.887034946e-02f, -3.888278782e-02f, -3.889515753e-02f, -3.890745858e-02f, -3.891969095e-02f, -3.893185464e-02f, -3.894394962e-02f,
+-3.895597588e-02f, -3.896793342e-02f, -3.897982222e-02f, -3.899164227e-02f, -3.900339355e-02f, -3.901507606e-02f, -3.902668977e-02f, -3.903823469e-02f, -3.904971080e-02f, -3.906111808e-02f,
+-3.907245653e-02f, -3.908372613e-02f, -3.909492687e-02f, -3.910605874e-02f, -3.911712173e-02f, -3.912811584e-02f, -3.913904104e-02f, -3.914989732e-02f, -3.916068469e-02f, -3.917140312e-02f,
+-3.918205261e-02f, -3.919263314e-02f, -3.920314471e-02f, -3.921358730e-02f, -3.922396091e-02f, -3.923426553e-02f, -3.924450114e-02f, -3.925466775e-02f, -3.926476532e-02f, -3.927479387e-02f,
+-3.928475338e-02f, -3.929464384e-02f, -3.930446524e-02f, -3.931421757e-02f, -3.932390082e-02f, -3.933351500e-02f, -3.934306008e-02f, -3.935253605e-02f, -3.936194292e-02f, -3.937128068e-02f,
+-3.938054930e-02f, -3.938974880e-02f, -3.939887915e-02f, -3.940794035e-02f, -3.941693240e-02f, -3.942585529e-02f, -3.943470900e-02f, -3.944349354e-02f, -3.945220889e-02f, -3.946085506e-02f,
+-3.946943202e-02f, -3.947793978e-02f, -3.948637833e-02f, -3.949474766e-02f, -3.950304777e-02f, -3.951127865e-02f, -3.951944029e-02f, -3.952753269e-02f, -3.953555584e-02f, -3.954350974e-02f,
+-3.955139438e-02f, -3.955920976e-02f, -3.956695586e-02f, -3.957463270e-02f, -3.958224025e-02f, -3.958977852e-02f, -3.959724750e-02f, -3.960464718e-02f, -3.961197756e-02f, -3.961923865e-02f,
+-3.962643042e-02f, -3.963355288e-02f, -3.964060603e-02f, -3.964758986e-02f, -3.965450436e-02f, -3.966134953e-02f, -3.966812538e-02f, -3.967483189e-02f, -3.968146906e-02f, -3.968803689e-02f,
+-3.969453537e-02f, -3.970096451e-02f, -3.970732430e-02f, -3.971361473e-02f, -3.971983581e-02f, -3.972598753e-02f, -3.973206989e-02f, -3.973808288e-02f, -3.974402651e-02f, -3.974990077e-02f,
+-3.975570567e-02f, -3.976144119e-02f, -3.976710734e-02f, -3.977270411e-02f, -3.977823151e-02f, -3.978368953e-02f, -3.978907817e-02f, -3.979439743e-02f, -3.979964731e-02f, -3.980482781e-02f,
+-3.980993892e-02f, -3.981498065e-02f, -3.981995300e-02f, -3.982485597e-02f, -3.982968955e-02f, -3.983445374e-02f, -3.983914855e-02f, -3.984377398e-02f, -3.984833002e-02f, -3.985281668e-02f,
+-3.985723395e-02f, -3.986158184e-02f, -3.986586035e-02f, -3.987006948e-02f, -3.987420922e-02f, -3.987827959e-02f, -3.988228057e-02f, -3.988621218e-02f, -3.989007442e-02f, -3.989386727e-02f,
+-3.989759076e-02f, -3.990124487e-02f, -3.990482962e-02f, -3.990834500e-02f, -3.991179101e-02f, -3.991516766e-02f, -3.991847495e-02f, -3.992171288e-02f, -3.992488145e-02f, -3.992798067e-02f,
+-3.993101054e-02f, -3.993397106e-02f, -3.993686224e-02f, -3.993968408e-02f, -3.994243658e-02f, -3.994511975e-02f, -3.994773358e-02f, -3.995027809e-02f, -3.995275327e-02f, -3.995515913e-02f,
+-3.995749568e-02f, -3.995976291e-02f, -3.996196084e-02f, -3.996408947e-02f, -3.996614879e-02f, -3.996813882e-02f, -3.997005957e-02f, -3.997191102e-02f, -3.997369320e-02f, -3.997540611e-02f,
+-3.997704974e-02f, -3.997862411e-02f, -3.998012922e-02f, -3.998156508e-02f, -3.998293169e-02f, -3.998422906e-02f, -3.998545719e-02f, -3.998661609e-02f, -3.998770577e-02f, -3.998872623e-02f,
+-3.998967748e-02f, -3.999055952e-02f, -3.999137237e-02f, -3.999211602e-02f, -3.999279049e-02f, -3.999339579e-02f, -3.999393191e-02f, -3.999439887e-02f, -3.999479667e-02f, -3.999512532e-02f,
+-3.999538483e-02f, -3.999557521e-02f, -3.999569646e-02f, -3.999574859e-02f, -3.999573162e-02f, -3.999564554e-02f, -3.999549037e-02f, -3.999526611e-02f, -3.999497278e-02f, -3.999461037e-02f,
+-3.999417891e-02f, -3.999367840e-02f, -3.999310884e-02f, -3.999247026e-02f, -3.999176265e-02f, -3.999098602e-02f, -3.999014039e-02f, -3.998922576e-02f, -3.998824215e-02f, -3.998718957e-02f,
+-3.998606801e-02f, -3.998487750e-02f, -3.998361805e-02f, -3.998228966e-02f, -3.998089234e-02f, -3.997942611e-02f, -3.997789097e-02f, -3.997628694e-02f, -3.997461403e-02f, -3.997287225e-02f,
+-3.997106160e-02f, -3.996918211e-02f, -3.996723377e-02f, -3.996521661e-02f, -3.996313064e-02f, -3.996097586e-02f, -3.995875228e-02f, -3.995645993e-02f, -3.995409881e-02f, -3.995166894e-02f,
+-3.994917031e-02f, -3.994660296e-02f, -3.994396689e-02f, -3.994126211e-02f, -3.993848864e-02f, -3.993564649e-02f, -3.993273567e-02f, -3.992975619e-02f, -3.992670807e-02f, -3.992359132e-02f,
+-3.992040596e-02f, -3.991715200e-02f, -3.991382944e-02f, -3.991043832e-02f, -3.990697863e-02f, -3.990345039e-02f, -3.989985363e-02f, -3.989618834e-02f, -3.989245455e-02f, -3.988865227e-02f,
+-3.988478151e-02f, -3.988084230e-02f, -3.987683464e-02f, -3.987275854e-02f, -3.986861403e-02f, -3.986440113e-02f, -3.986011983e-02f, -3.985577017e-02f, -3.985135215e-02f, -3.984686579e-02f,
+-3.984231110e-02f, -3.983768811e-02f, -3.983299683e-02f, -3.982823727e-02f, -3.982340946e-02f, -3.981851340e-02f, -3.981354911e-02f, -3.980851661e-02f, -3.980341592e-02f, -3.979824705e-02f,
+-3.979301002e-02f, -3.978770485e-02f, -3.978233155e-02f, -3.977689015e-02f, -3.977138065e-02f, -3.976580307e-02f, -3.976015744e-02f, -3.975444378e-02f, -3.974866209e-02f, -3.974281239e-02f,
+-3.973689471e-02f, -3.973090907e-02f, -3.972485547e-02f, -3.971873395e-02f, -3.971254451e-02f, -3.970628718e-02f, -3.969996197e-02f, -3.969356891e-02f, -3.968710801e-02f, -3.968057929e-02f,
+-3.967398277e-02f, -3.966731848e-02f, -3.966058642e-02f, -3.965378662e-02f, -3.964691910e-02f, -3.963998388e-02f, -3.963298097e-02f, -3.962591041e-02f, -3.961877220e-02f, -3.961156637e-02f,
+-3.960429294e-02f, -3.959695193e-02f, -3.958954335e-02f, -3.958206724e-02f, -3.957452361e-02f, -3.956691248e-02f, -3.955923387e-02f, -3.955148781e-02f, -3.954367431e-02f, -3.953579340e-02f,
+-3.952784509e-02f, -3.951982942e-02f, -3.951174639e-02f, -3.950359604e-02f, -3.949537838e-02f, -3.948709344e-02f, -3.947874123e-02f, -3.947032179e-02f, -3.946183513e-02f, -3.945328127e-02f,
+-3.944466025e-02f, -3.943597207e-02f, -3.942721677e-02f, -3.941839436e-02f, -3.940950487e-02f, -3.940054833e-02f, -3.939152475e-02f, -3.938243416e-02f, -3.937327658e-02f, -3.936405204e-02f,
+-3.935476055e-02f, -3.934540215e-02f, -3.933597686e-02f, -3.932648470e-02f, -3.931692569e-02f, -3.930729987e-02f, -3.929760724e-02f, -3.928784785e-02f, -3.927802171e-02f, -3.926812884e-02f,
+-3.925816928e-02f, -3.924814305e-02f, -3.923805017e-02f, -3.922789066e-02f, -3.921766456e-02f, -3.920737188e-02f, -3.919701266e-02f, -3.918658692e-02f, -3.917609468e-02f, -3.916553598e-02f,
+-3.915491083e-02f, -3.914421926e-02f, -3.913346130e-02f, -3.912263697e-02f, -3.911174631e-02f, -3.910078933e-02f, -3.908976607e-02f, -3.907867655e-02f, -3.906752080e-02f, -3.905629884e-02f,
+-3.904501070e-02f, -3.903365641e-02f, -3.902223600e-02f, -3.901074948e-02f, -3.899919690e-02f, -3.898757828e-02f, -3.897589365e-02f, -3.896414302e-02f, -3.895232644e-02f, -3.894044393e-02f,
+-3.892849552e-02f, -3.891648123e-02f, -3.890440109e-02f, -3.889225514e-02f, -3.888004340e-02f, -3.886776590e-02f, -3.885542267e-02f, -3.884301373e-02f, -3.883053912e-02f, -3.881799887e-02f,
+-3.880539300e-02f, -3.879272155e-02f, -3.877998453e-02f, -3.876718200e-02f, -3.875431396e-02f, -3.874138046e-02f, -3.872838151e-02f, -3.871531717e-02f, -3.870218744e-02f, -3.868899236e-02f,
+-3.867573197e-02f, -3.866240629e-02f, -3.864901536e-02f, -3.863555920e-02f, -3.862203784e-02f, -3.860845132e-02f, -3.859479967e-02f, -3.858108291e-02f, -3.856730109e-02f, -3.855345422e-02f,
+-3.853954234e-02f, -3.852556549e-02f, -3.851152370e-02f, -3.849741698e-02f, -3.848324539e-02f, -3.846900895e-02f, -3.845470769e-02f, -3.844034164e-02f, -3.842591084e-02f, -3.841141532e-02f,
+-3.839685511e-02f, -3.838223025e-02f, -3.836754076e-02f, -3.835278668e-02f, -3.833796804e-02f, -3.832308488e-02f, -3.830813722e-02f, -3.829312511e-02f, -3.827804857e-02f, -3.826290764e-02f,
+-3.824770236e-02f, -3.823243274e-02f, -3.821709884e-02f, -3.820170068e-02f, -3.818623829e-02f, -3.817071172e-02f, -3.815512099e-02f, -3.813946615e-02f, -3.812374721e-02f, -3.810796422e-02f,
+-3.809211722e-02f, -3.807620623e-02f, -3.806023130e-02f, -3.804419245e-02f, -3.802808973e-02f, -3.801192316e-02f, -3.799569278e-02f, -3.797939864e-02f, -3.796304075e-02f, -3.794661917e-02f,
+-3.793013392e-02f, -3.791358504e-02f, -3.789697256e-02f, -3.788029653e-02f, -3.786355698e-02f, -3.784675394e-02f, -3.782988745e-02f, -3.781295754e-02f, -3.779596426e-02f, -3.777890764e-02f,
+-3.776178772e-02f, -3.774460453e-02f, -3.772735811e-02f, -3.771004850e-02f, -3.769267573e-02f, -3.767523985e-02f, -3.765774088e-02f, -3.764017887e-02f, -3.762255385e-02f, -3.760486587e-02f,
+-3.758711495e-02f, -3.756930114e-02f, -3.755142448e-02f, -3.753348500e-02f, -3.751548274e-02f, -3.749741774e-02f, -3.747929004e-02f, -3.746109967e-02f, -3.744284668e-02f, -3.742453110e-02f,
+-3.740615298e-02f, -3.738771234e-02f, -3.736920924e-02f, -3.735064370e-02f, -3.733201578e-02f, -3.731332550e-02f, -3.729457290e-02f, -3.727575804e-02f, -3.725688094e-02f, -3.723794164e-02f,
+-3.721894019e-02f, -3.719987663e-02f, -3.718075099e-02f, -3.716156332e-02f, -3.714231365e-02f, -3.712300203e-02f, -3.710362850e-02f, -3.708419309e-02f, -3.706469585e-02f, -3.704513682e-02f,
+-3.702551603e-02f, -3.700583354e-02f, -3.698608938e-02f, -3.696628359e-02f, -3.694641621e-02f, -3.692648729e-02f, -3.690649686e-02f, -3.688644497e-02f, -3.686633166e-02f, -3.684615697e-02f,
+-3.682592095e-02f, -3.680562363e-02f, -3.678526505e-02f, -3.676484526e-02f, -3.674436431e-02f, -3.672382222e-02f, -3.670321906e-02f, -3.668255485e-02f, -3.666182964e-02f, -3.664104347e-02f,
+-3.662019639e-02f, -3.659928844e-02f, -3.657831967e-02f, -3.655729011e-02f, -3.653619980e-02f, -3.651504880e-02f, -3.649383714e-02f, -3.647256488e-02f, -3.645123204e-02f, -3.642983868e-02f,
+-3.640838484e-02f, -3.638687056e-02f, -3.636529590e-02f, -3.634366088e-02f, -3.632196556e-02f, -3.630020998e-02f, -3.627839419e-02f, -3.625651822e-02f, -3.623458213e-02f, -3.621258596e-02f,
+-3.619052975e-02f, -3.616841354e-02f, -3.614623740e-02f, -3.612400135e-02f, -3.610170544e-02f, -3.607934972e-02f, -3.605693424e-02f, -3.603445904e-02f, -3.601192416e-02f, -3.598932965e-02f,
+-3.596667556e-02f, -3.594396193e-02f, -3.592118881e-02f, -3.589835624e-02f, -3.587546428e-02f, -3.585251296e-02f, -3.582950234e-02f, -3.580643245e-02f, -3.578330335e-02f, -3.576011509e-02f,
+-3.573686770e-02f, -3.571356124e-02f, -3.569019576e-02f, -3.566677129e-02f, -3.564328789e-02f, -3.561974561e-02f, -3.559614449e-02f, -3.557248458e-02f, -3.554876592e-02f, -3.552498857e-02f,
+-3.550115258e-02f, -3.547725798e-02f, -3.545330483e-02f, -3.542929317e-02f, -3.540522306e-02f, -3.538109455e-02f, -3.535690767e-02f, -3.533266248e-02f, -3.530835903e-02f, -3.528399736e-02f,
+-3.525957753e-02f, -3.523509958e-02f, -3.521056357e-02f, -3.518596953e-02f, -3.516131753e-02f, -3.513660760e-02f, -3.511183980e-02f, -3.508701418e-02f, -3.506213079e-02f, -3.503718967e-02f,
+-3.501219088e-02f, -3.498713446e-02f, -3.496202047e-02f, -3.493684895e-02f, -3.491161996e-02f, -3.488633355e-02f, -3.486098976e-02f, -3.483558864e-02f, -3.481013026e-02f, -3.478461464e-02f,
+-3.475904186e-02f, -3.473341195e-02f, -3.470772497e-02f, -3.468198097e-02f, -3.465618000e-02f, -3.463032211e-02f, -3.460440735e-02f, -3.457843577e-02f, -3.455240743e-02f, -3.452632237e-02f,
+-3.450018066e-02f, -3.447398232e-02f, -3.444772743e-02f, -3.442141603e-02f, -3.439504818e-02f, -3.436862392e-02f, -3.434214331e-02f, -3.431560639e-02f, -3.428901323e-02f, -3.426236387e-02f,
+-3.423565837e-02f, -3.420889678e-02f, -3.418207915e-02f, -3.415520553e-02f, -3.412827598e-02f, -3.410129054e-02f, -3.407424928e-02f, -3.404715225e-02f, -3.401999949e-02f, -3.399279107e-02f,
+-3.396552702e-02f, -3.393820742e-02f, -3.391083231e-02f, -3.388340174e-02f, -3.385591577e-02f, -3.382837445e-02f, -3.380077784e-02f, -3.377312599e-02f, -3.374541895e-02f, -3.371765678e-02f,
+-3.368983953e-02f, -3.366196725e-02f, -3.363404001e-02f, -3.360605785e-02f, -3.357802083e-02f, -3.354992901e-02f, -3.352178243e-02f, -3.349358115e-02f, -3.346532524e-02f, -3.343701473e-02f,
+-3.340864970e-02f, -3.338023018e-02f, -3.335175625e-02f, -3.332322795e-02f, -3.329464533e-02f, -3.326600846e-02f, -3.323731739e-02f, -3.320857218e-02f, -3.317977287e-02f, -3.315091954e-02f,
+-3.312201222e-02f, -3.309305099e-02f, -3.306403589e-02f, -3.303496697e-02f, -3.300584431e-02f, -3.297666795e-02f, -3.294743795e-02f, -3.291815436e-02f, -3.288881725e-02f, -3.285942667e-02f,
+-3.282998267e-02f, -3.280048532e-02f, -3.277093466e-02f, -3.274133076e-02f, -3.271167368e-02f, -3.268196347e-02f, -3.265220018e-02f, -3.262238388e-02f, -3.259251463e-02f, -3.256259247e-02f,
+-3.253261747e-02f, -3.250258969e-02f, -3.247250918e-02f, -3.244237600e-02f, -3.241219021e-02f, -3.238195187e-02f, -3.235166103e-02f, -3.232131776e-02f, -3.229092211e-02f, -3.226047413e-02f,
+-3.222997390e-02f, -3.219942146e-02f, -3.216881688e-02f, -3.213816021e-02f, -3.210745152e-02f, -3.207669085e-02f, -3.204587828e-02f, -3.201501386e-02f, -3.198409764e-02f, -3.195312970e-02f,
+-3.192211008e-02f, -3.189103884e-02f, -3.185991605e-02f, -3.182874177e-02f, -3.179751605e-02f, -3.176623896e-02f, -3.173491055e-02f, -3.170353088e-02f, -3.167210002e-02f, -3.164061802e-02f,
+-3.160908495e-02f, -3.157750086e-02f, -3.154586581e-02f, -3.151417987e-02f, -3.148244310e-02f, -3.145065554e-02f, -3.141881728e-02f, -3.138692836e-02f, -3.135498885e-02f, -3.132299880e-02f,
+-3.129095829e-02f, -3.125886736e-02f, -3.122672609e-02f, -3.119453452e-02f, -3.116229273e-02f, -3.113000078e-02f, -3.109765872e-02f, -3.106526661e-02f, -3.103282453e-02f, -3.100033253e-02f,
+-3.096779066e-02f, -3.093519900e-02f, -3.090255761e-02f, -3.086986654e-02f, -3.083712586e-02f, -3.080433564e-02f, -3.077149592e-02f, -3.073860678e-02f, -3.070566828e-02f, -3.067268048e-02f,
+-3.063964344e-02f, -3.060655723e-02f, -3.057342191e-02f, -3.054023753e-02f, -3.050700417e-02f, -3.047372188e-02f, -3.044039073e-02f, -3.040701079e-02f, -3.037358211e-02f, -3.034010475e-02f,
+-3.030657879e-02f, -3.027300428e-02f, -3.023938129e-02f, -3.020570988e-02f, -3.017199012e-02f, -3.013822206e-02f, -3.010440577e-02f, -3.007054132e-02f, -3.003662877e-02f, -3.000266819e-02f,
+-2.996865963e-02f, -2.993460316e-02f, -2.990049884e-02f, -2.986634675e-02f, -2.983214694e-02f, -2.979789948e-02f, -2.976360443e-02f, -2.972926185e-02f, -2.969487182e-02f, -2.966043440e-02f,
+-2.962594964e-02f, -2.959141762e-02f, -2.955683840e-02f, -2.952221205e-02f, -2.948753863e-02f, -2.945281820e-02f, -2.941805083e-02f, -2.938323659e-02f, -2.934837554e-02f, -2.931346775e-02f,
+-2.927851328e-02f, -2.924351219e-02f, -2.920846456e-02f, -2.917337045e-02f, -2.913822992e-02f, -2.910304304e-02f, -2.906780988e-02f, -2.903253050e-02f, -2.899720496e-02f, -2.896183335e-02f,
+-2.892641571e-02f, -2.889095211e-02f, -2.885544264e-02f, -2.881988733e-02f, -2.878428628e-02f, -2.874863954e-02f, -2.871294717e-02f, -2.867720925e-02f, -2.864142585e-02f, -2.860559702e-02f,
+-2.856972284e-02f, -2.853380337e-02f, -2.849783868e-02f, -2.846182883e-02f, -2.842577390e-02f, -2.838967395e-02f, -2.835352905e-02f, -2.831733927e-02f, -2.828110467e-02f, -2.824482532e-02f,
+-2.820850128e-02f, -2.817213263e-02f, -2.813571944e-02f, -2.809926177e-02f, -2.806275968e-02f, -2.802621326e-02f, -2.798962256e-02f, -2.795298765e-02f, -2.791630860e-02f, -2.787958548e-02f,
+-2.784281836e-02f, -2.780600731e-02f, -2.776915239e-02f, -2.773225367e-02f, -2.769531122e-02f, -2.765832512e-02f, -2.762129542e-02f, -2.758422220e-02f, -2.754710552e-02f, -2.750994546e-02f,
+-2.747274208e-02f, -2.743549546e-02f, -2.739820566e-02f, -2.736087275e-02f, -2.732349679e-02f, -2.728607787e-02f, -2.724861605e-02f, -2.721111139e-02f, -2.717356398e-02f, -2.713597387e-02f,
+-2.709834113e-02f, -2.706066584e-02f, -2.702294807e-02f, -2.698518788e-02f, -2.694738535e-02f, -2.690954055e-02f, -2.687165354e-02f, -2.683372439e-02f, -2.679575319e-02f, -2.675773998e-02f,
+-2.671968485e-02f, -2.668158787e-02f, -2.664344911e-02f, -2.660526863e-02f, -2.656704651e-02f, -2.652878282e-02f, -2.649047763e-02f, -2.645213100e-02f, -2.641374302e-02f, -2.637531375e-02f,
+-2.633684325e-02f, -2.629833162e-02f, -2.625977890e-02f, -2.622118518e-02f, -2.618255053e-02f, -2.614387501e-02f, -2.610515870e-02f, -2.606640167e-02f, -2.602760399e-02f, -2.598876573e-02f,
+-2.594988697e-02f, -2.591096777e-02f, -2.587200821e-02f, -2.583300836e-02f, -2.579396829e-02f, -2.575488807e-02f, -2.571576777e-02f, -2.567660747e-02f, -2.563740724e-02f, -2.559816715e-02f,
+-2.555888727e-02f, -2.551956767e-02f, -2.548020843e-02f, -2.544080962e-02f, -2.540137131e-02f, -2.536189357e-02f, -2.532237648e-02f, -2.528282011e-02f, -2.524322453e-02f, -2.520358981e-02f,
+-2.516391603e-02f, -2.512420325e-02f, -2.508445156e-02f, -2.504466102e-02f, -2.500483172e-02f, -2.496496371e-02f, -2.492505707e-02f, -2.488511188e-02f, -2.484512821e-02f, -2.480510614e-02f,
+-2.476504573e-02f, -2.472494706e-02f, -2.468481020e-02f, -2.464463523e-02f, -2.460442222e-02f, -2.456417124e-02f, -2.452388237e-02f, -2.448355568e-02f, -2.444319125e-02f, -2.440278914e-02f,
+-2.436234944e-02f, -2.432187221e-02f, -2.428135753e-02f, -2.424080548e-02f, -2.420021612e-02f, -2.415958954e-02f, -2.411892580e-02f, -2.407822498e-02f, -2.403748716e-02f, -2.399671241e-02f,
+-2.395590080e-02f, -2.391505241e-02f, -2.387416731e-02f, -2.383324558e-02f, -2.379228729e-02f, -2.375129252e-02f, -2.371026133e-02f, -2.366919382e-02f, -2.362809004e-02f, -2.358695008e-02f,
+-2.354577401e-02f, -2.350456191e-02f, -2.346331385e-02f, -2.342202990e-02f, -2.338071014e-02f, -2.333935465e-02f, -2.329796351e-02f, -2.325653677e-02f, -2.321507453e-02f, -2.317357686e-02f,
+-2.313204383e-02f, -2.309047552e-02f, -2.304887200e-02f, -2.300723336e-02f, -2.296555965e-02f, -2.292385097e-02f, -2.288210739e-02f, -2.284032898e-02f, -2.279851581e-02f, -2.275666798e-02f,
+-2.271478554e-02f, -2.267286858e-02f, -2.263091717e-02f, -2.258893139e-02f, -2.254691131e-02f, -2.250485702e-02f, -2.246276858e-02f, -2.242064608e-02f, -2.237848959e-02f, -2.233629918e-02f,
+-2.229407494e-02f, -2.225181693e-02f, -2.220952525e-02f, -2.216719995e-02f, -2.212484113e-02f, -2.208244885e-02f, -2.204002319e-02f, -2.199756424e-02f, -2.195507206e-02f, -2.191254673e-02f,
+-2.186998834e-02f, -2.182739695e-02f, -2.178477265e-02f, -2.174211551e-02f, -2.169942561e-02f, -2.165670303e-02f, -2.161394784e-02f, -2.157116012e-02f, -2.152833995e-02f, -2.148548740e-02f,
+-2.144260256e-02f, -2.139968549e-02f, -2.135673629e-02f, -2.131375502e-02f, -2.127074177e-02f, -2.122769660e-02f, -2.118461961e-02f, -2.114151086e-02f, -2.109837043e-02f, -2.105519841e-02f,
+-2.101199487e-02f, -2.096875989e-02f, -2.092549354e-02f, -2.088219590e-02f, -2.083886706e-02f, -2.079550709e-02f, -2.075211607e-02f, -2.070869407e-02f, -2.066524118e-02f, -2.062175748e-02f,
+-2.057824303e-02f, -2.053469793e-02f, -2.049112224e-02f, -2.044751605e-02f, -2.040387944e-02f, -2.036021248e-02f, -2.031651525e-02f, -2.027278784e-02f, -2.022903031e-02f, -2.018524276e-02f,
+-2.014142525e-02f, -2.009757787e-02f, -2.005370069e-02f, -2.000979380e-02f, -1.996585727e-02f, -1.992189119e-02f, -1.987789562e-02f, -1.983387066e-02f, -1.978981637e-02f, -1.974573285e-02f,
+-1.970162016e-02f, -1.965747839e-02f, -1.961330762e-02f, -1.956910792e-02f, -1.952487938e-02f, -1.948062207e-02f, -1.943633608e-02f, -1.939202148e-02f, -1.934767835e-02f, -1.930330678e-02f,
+-1.925890684e-02f, -1.921447861e-02f, -1.917002218e-02f, -1.912553761e-02f, -1.908102500e-02f, -1.903648441e-02f, -1.899191594e-02f, -1.894731966e-02f, -1.890269565e-02f, -1.885804399e-02f,
+-1.881336476e-02f, -1.876865804e-02f, -1.872392392e-02f, -1.867916246e-02f, -1.863437376e-02f, -1.858955788e-02f, -1.854471492e-02f, -1.849984495e-02f, -1.845494806e-02f, -1.841002431e-02f,
+-1.836507380e-02f, -1.832009660e-02f, -1.827509280e-02f, -1.823006247e-02f, -1.818500569e-02f, -1.813992255e-02f, -1.809481313e-02f, -1.804967750e-02f, -1.800451575e-02f, -1.795932796e-02f,
+-1.791411421e-02f, -1.786887458e-02f, -1.782360915e-02f, -1.777831800e-02f, -1.773300121e-02f, -1.768765886e-02f, -1.764229104e-02f, -1.759689783e-02f, -1.755147930e-02f, -1.750603553e-02f,
+-1.746056662e-02f, -1.741507264e-02f, -1.736955366e-02f, -1.732400978e-02f, -1.727844107e-02f, -1.723284762e-02f, -1.718722950e-02f, -1.714158680e-02f, -1.709591959e-02f, -1.705022797e-02f,
+-1.700451201e-02f, -1.695877179e-02f, -1.691300739e-02f, -1.686721890e-02f, -1.682140640e-02f, -1.677556997e-02f, -1.672970968e-02f, -1.668382563e-02f, -1.663791790e-02f, -1.659198656e-02f,
+-1.654603169e-02f, -1.650005339e-02f, -1.645405172e-02f, -1.640802678e-02f, -1.636197865e-02f, -1.631590740e-02f, -1.626981312e-02f, -1.622369589e-02f, -1.617755579e-02f, -1.613139290e-02f,
+-1.608520732e-02f, -1.603899911e-02f, -1.599276836e-02f, -1.594651516e-02f, -1.590023958e-02f, -1.585394171e-02f, -1.580762163e-02f, -1.576127942e-02f, -1.571491516e-02f, -1.566852894e-02f,
+-1.562212084e-02f, -1.557569094e-02f, -1.552923932e-02f, -1.548276607e-02f, -1.543627127e-02f, -1.538975500e-02f, -1.534321735e-02f, -1.529665839e-02f, -1.525007821e-02f, -1.520347689e-02f,
+-1.515685451e-02f, -1.511021116e-02f, -1.506354692e-02f, -1.501686187e-02f, -1.497015610e-02f, -1.492342968e-02f, -1.487668271e-02f, -1.482991525e-02f, -1.478312741e-02f, -1.473631925e-02f,
+-1.468949086e-02f, -1.464264233e-02f, -1.459577374e-02f, -1.454888516e-02f, -1.450197670e-02f, -1.445504841e-02f, -1.440810040e-02f, -1.436113274e-02f, -1.431414551e-02f, -1.426713881e-02f,
+-1.422011270e-02f, -1.417306728e-02f, -1.412600263e-02f, -1.407891883e-02f, -1.403181597e-02f, -1.398469413e-02f, -1.393755338e-02f, -1.389039382e-02f, -1.384321553e-02f, -1.379601859e-02f,
+-1.374880308e-02f, -1.370156910e-02f, -1.365431671e-02f, -1.360704601e-02f, -1.355975708e-02f, -1.351245000e-02f, -1.346512485e-02f, -1.341778173e-02f, -1.337042071e-02f, -1.332304187e-02f,
+-1.327564530e-02f, -1.322823109e-02f, -1.318079931e-02f, -1.313335006e-02f, -1.308588341e-02f, -1.303839944e-02f, -1.299089825e-02f, -1.294337992e-02f, -1.289584452e-02f, -1.284829214e-02f,
+-1.280072288e-02f, -1.275313680e-02f, -1.270553400e-02f, -1.265791456e-02f, -1.261027856e-02f, -1.256262608e-02f, -1.251495722e-02f, -1.246727205e-02f, -1.241957065e-02f, -1.237185312e-02f,
+-1.232411954e-02f, -1.227636999e-02f, -1.222860454e-02f, -1.218082330e-02f, -1.213302634e-02f, -1.208521375e-02f, -1.203738560e-02f, -1.198954199e-02f, -1.194168300e-02f, -1.189380871e-02f,
+-1.184591921e-02f, -1.179801458e-02f, -1.175009491e-02f, -1.170216027e-02f, -1.165421076e-02f, -1.160624645e-02f, -1.155826744e-02f, -1.151027381e-02f, -1.146226563e-02f, -1.141424300e-02f,
+-1.136620600e-02f, -1.131815472e-02f, -1.127008923e-02f, -1.122200962e-02f, -1.117391598e-02f, -1.112580839e-02f, -1.107768694e-02f, -1.102955171e-02f, -1.098140278e-02f, -1.093324024e-02f,
+-1.088506418e-02f, -1.083687467e-02f, -1.078867181e-02f, -1.074045567e-02f, -1.069222635e-02f, -1.064398392e-02f, -1.059572847e-02f, -1.054746008e-02f, -1.049917885e-02f, -1.045088485e-02f,
+-1.040257817e-02f, -1.035425889e-02f, -1.030592711e-02f, -1.025758289e-02f, -1.020922633e-02f, -1.016085752e-02f, -1.011247653e-02f, -1.006408345e-02f, -1.001567837e-02f, -9.967261369e-03f,
+-9.918832535e-03f, -9.870391951e-03f, -9.821939702e-03f, -9.773475874e-03f, -9.725000550e-03f, -9.676513816e-03f, -9.628015755e-03f, -9.579506455e-03f, -9.530985998e-03f, -9.482454469e-03f,
+-9.433911955e-03f, -9.385358538e-03f, -9.336794305e-03f, -9.288219340e-03f, -9.239633728e-03f, -9.191037554e-03f, -9.142430902e-03f, -9.093813858e-03f, -9.045186507e-03f, -8.996548933e-03f,
+-8.947901221e-03f, -8.899243457e-03f, -8.850575725e-03f, -8.801898110e-03f, -8.753210696e-03f, -8.704513570e-03f, -8.655806816e-03f, -8.607090519e-03f, -8.558364764e-03f, -8.509629636e-03f,
+-8.460885219e-03f, -8.412131600e-03f, -8.363368862e-03f, -8.314597091e-03f, -8.265816372e-03f, -8.217026790e-03f, -8.168228430e-03f, -8.119421377e-03f, -8.070605716e-03f, -8.021781532e-03f,
+-7.972948910e-03f, -7.924107935e-03f, -7.875258693e-03f, -7.826401268e-03f, -7.777535745e-03f, -7.728662209e-03f, -7.679780746e-03f, -7.630891441e-03f, -7.581994378e-03f, -7.533089643e-03f,
+-7.484177321e-03f, -7.435257497e-03f, -7.386330255e-03f, -7.337395682e-03f, -7.288453862e-03f, -7.239504881e-03f, -7.190548823e-03f, -7.141585773e-03f, -7.092615817e-03f, -7.043639040e-03f,
+-6.994655527e-03f, -6.945665363e-03f, -6.896668633e-03f, -6.847665422e-03f, -6.798655816e-03f, -6.749639899e-03f, -6.700617757e-03f, -6.651589475e-03f, -6.602555138e-03f, -6.553514831e-03f,
+-6.504468639e-03f, -6.455416647e-03f, -6.406358941e-03f, -6.357295605e-03f, -6.308226726e-03f, -6.259152387e-03f, -6.210072674e-03f, -6.160987673e-03f, -6.111897467e-03f, -6.062802144e-03f,
+-6.013701786e-03f, -5.964596481e-03f, -5.915486312e-03f, -5.866371366e-03f, -5.817251726e-03f, -5.768127479e-03f, -5.718998709e-03f, -5.669865502e-03f, -5.620727942e-03f, -5.571586115e-03f,
+-5.522440106e-03f, -5.473290000e-03f, -5.424135882e-03f, -5.374977837e-03f, -5.325815951e-03f, -5.276650308e-03f, -5.227480994e-03f, -5.178308093e-03f, -5.129131691e-03f, -5.079951873e-03f,
+-5.030768724e-03f, -4.981582329e-03f, -4.932392774e-03f, -4.883200142e-03f, -4.834004520e-03f, -4.784805992e-03f, -4.735604643e-03f, -4.686400559e-03f, -4.637193825e-03f, -4.587984525e-03f,
+-4.538772745e-03f, -4.489558569e-03f, -4.440342083e-03f, -4.391123372e-03f, -4.341902521e-03f, -4.292679615e-03f, -4.243454739e-03f, -4.194227977e-03f, -4.144999415e-03f, -4.095769139e-03f,
+-4.046537232e-03f, -3.997303779e-03f, -3.948068867e-03f, -3.898832580e-03f, -3.849595002e-03f, -3.800356219e-03f, -3.751116315e-03f, -3.701875377e-03f, -3.652633487e-03f, -3.603390733e-03f,
+-3.554147197e-03f, -3.504902966e-03f, -3.455658125e-03f, -3.406412757e-03f, -3.357166948e-03f, -3.307920783e-03f, -3.258674347e-03f, -3.209427725e-03f, -3.160181001e-03f, -3.110934260e-03f,
+-3.061687587e-03f, -3.012441068e-03f, -2.963194786e-03f, -2.913948826e-03f, -2.864703274e-03f, -2.815458215e-03f, -2.766213732e-03f, -2.716969911e-03f, -2.667726836e-03f, -2.618484592e-03f,
+-2.569243265e-03f, -2.520002938e-03f, -2.470763696e-03f, -2.421525624e-03f, -2.372288807e-03f, -2.323053330e-03f, -2.273819277e-03f, -2.224586732e-03f, -2.175355781e-03f, -2.126126507e-03f,
+-2.076898997e-03f, -2.027673333e-03f, -1.978449602e-03f, -1.929227886e-03f, -1.880008272e-03f, -1.830790843e-03f, -1.781575684e-03f, -1.732362880e-03f, -1.683152515e-03f, -1.633944674e-03f,
+-1.584739440e-03f, -1.535536899e-03f, -1.486337135e-03f, -1.437140233e-03f, -1.387946276e-03f, -1.338755350e-03f, -1.289567539e-03f, -1.240382926e-03f, -1.191201597e-03f, -1.142023636e-03f,
+-1.092849127e-03f, -1.043678155e-03f, -9.945108030e-04f, -9.453471563e-04f, -8.961872991e-04f, -8.470313155e-04f, -7.978792898e-04f, -7.487313063e-04f, -6.995874491e-04f, -6.504478024e-04f,
+-6.013124504e-04f, -5.521814774e-04f, -5.030549673e-04f, -4.539330045e-04f, -4.048156730e-04f, -3.557030568e-04f, -3.065952401e-04f, -2.574923070e-04f, -2.083943415e-04f, -1.593014275e-04f,
+-1.102136492e-04f, -6.113109056e-05f, -1.205383548e-05f, 3.701803204e-05f, 8.608442808e-05f, 1.351452687e-04f, 1.842004700e-04f, 2.332499481e-04f, 2.822936192e-04f, 3.313313994e-04f,
+3.803632048e-04f, 4.293889517e-04f, 4.784085563e-04f, 5.274219348e-04f, 5.764290035e-04f, 6.254296786e-04f, 6.744238765e-04f, 7.234115134e-04f, 7.723925057e-04f, 8.213667698e-04f,
+8.703342220e-04f, 9.192947787e-04f, 9.682483564e-04f, 1.017194871e-03f, 1.066134240e-03f, 1.115066380e-03f, 1.163991206e-03f, 1.212908635e-03f, 1.261818584e-03f, 1.310720970e-03f,
+1.359615709e-03f, 1.408502717e-03f, 1.457381912e-03f, 1.506253210e-03f, 1.555116527e-03f, 1.603971781e-03f, 1.652818888e-03f, 1.701657765e-03f, 1.750488328e-03f, 1.799310495e-03f,
+1.848124182e-03f, 1.896929306e-03f, 1.945725784e-03f, 1.994513533e-03f, 2.043292469e-03f, 2.092062511e-03f, 2.140823573e-03f, 2.189575575e-03f, 2.238318432e-03f, 2.287052062e-03f,
+2.335776382e-03f, 2.384491308e-03f, 2.433196759e-03f, 2.481892651e-03f, 2.530578901e-03f, 2.579255426e-03f, 2.627922144e-03f, 2.676578972e-03f, 2.725225827e-03f, 2.773862627e-03f,
+2.822489288e-03f, 2.871105729e-03f, 2.919711866e-03f, 2.968307617e-03f, 3.016892900e-03f, 3.065467631e-03f, 3.114031728e-03f, 3.162585110e-03f, 3.211127692e-03f, 3.259659394e-03f,
+3.308180132e-03f, 3.356689824e-03f, 3.405188388e-03f, 3.453675742e-03f, 3.502151802e-03f, 3.550616488e-03f, 3.599069716e-03f, 3.647511404e-03f, 3.695941471e-03f, 3.744359834e-03f,
+3.792766411e-03f, 3.841161119e-03f, 3.889543878e-03f, 3.937914604e-03f, 3.986273216e-03f, 4.034619632e-03f, 4.082953770e-03f, 4.131275548e-03f, 4.179584883e-03f, 4.227881695e-03f,
+4.276165902e-03f, 4.324437421e-03f, 4.372696170e-03f, 4.420942069e-03f, 4.469175035e-03f, 4.517394987e-03f, 4.565601843e-03f, 4.613795522e-03f, 4.661975941e-03f, 4.710143019e-03f,
+4.758296676e-03f, 4.806436829e-03f, 4.854563397e-03f, 4.902676298e-03f, 4.950775451e-03f, 4.998860775e-03f, 5.046932189e-03f, 5.094989610e-03f, 5.143032959e-03f, 5.191062153e-03f,
+5.239077112e-03f, 5.287077754e-03f, 5.335063998e-03f, 5.383035764e-03f, 5.430992969e-03f, 5.478935534e-03f, 5.526863376e-03f, 5.574776416e-03f, 5.622674572e-03f, 5.670557763e-03f,
+5.718425909e-03f, 5.766278928e-03f, 5.814116741e-03f, 5.861939265e-03f, 5.909746421e-03f, 5.957538128e-03f, 6.005314304e-03f, 6.053074871e-03f, 6.100819746e-03f, 6.148548850e-03f,
+6.196262101e-03f, 6.243959420e-03f, 6.291640727e-03f, 6.339305939e-03f, 6.386954979e-03f, 6.434587764e-03f, 6.482204215e-03f, 6.529804251e-03f, 6.577387793e-03f, 6.624954759e-03f,
+6.672505071e-03f, 6.720038648e-03f, 6.767555409e-03f, 6.815055275e-03f, 6.862538167e-03f, 6.910004003e-03f, 6.957452704e-03f, 7.004884190e-03f, 7.052298382e-03f, 7.099695199e-03f,
+7.147074562e-03f, 7.194436391e-03f, 7.241780606e-03f, 7.289107128e-03f, 7.336415877e-03f, 7.383706774e-03f, 7.430979739e-03f, 7.478234693e-03f, 7.525471556e-03f, 7.572690249e-03f,
+7.619890692e-03f, 7.667072806e-03f, 7.714236512e-03f, 7.761381731e-03f, 7.808508383e-03f, 7.855616390e-03f, 7.902705671e-03f, 7.949776149e-03f, 7.996827743e-03f, 8.043860376e-03f,
+8.090873968e-03f, 8.137868440e-03f, 8.184843714e-03f, 8.231799709e-03f, 8.278736349e-03f, 8.325653554e-03f, 8.372551245e-03f, 8.419429343e-03f, 8.466287771e-03f, 8.513126449e-03f,
+8.559945298e-03f, 8.606744242e-03f, 8.653523200e-03f, 8.700282095e-03f, 8.747020848e-03f, 8.793739381e-03f, 8.840437615e-03f, 8.887115473e-03f, 8.933772876e-03f, 8.980409746e-03f,
+9.027026005e-03f, 9.073621575e-03f, 9.120196378e-03f, 9.166750336e-03f, 9.213283371e-03f, 9.259795404e-03f, 9.306286360e-03f, 9.352756158e-03f, 9.399204723e-03f, 9.445631975e-03f,
+9.492037838e-03f, 9.538422234e-03f, 9.584785085e-03f, 9.631126313e-03f, 9.677445842e-03f, 9.723743594e-03f, 9.770019491e-03f, 9.816273456e-03f, 9.862505412e-03f, 9.908715281e-03f,
+9.954902987e-03f, 1.000106845e-02f, 1.004721160e-02f, 1.009333235e-02f, 1.013943063e-02f, 1.018550636e-02f, 1.023155947e-02f, 1.027758987e-02f, 1.032359750e-02f, 1.036958226e-02f,
+1.041554410e-02f, 1.046148292e-02f, 1.050739866e-02f, 1.055329123e-02f, 1.059916057e-02f, 1.064500659e-02f, 1.069082922e-02f, 1.073662837e-02f, 1.078240399e-02f, 1.082815598e-02f,
+1.087388427e-02f, 1.091958879e-02f, 1.096526946e-02f, 1.101092621e-02f, 1.105655895e-02f, 1.110216762e-02f, 1.114775213e-02f, 1.119331241e-02f, 1.123884838e-02f, 1.128435997e-02f,
+1.132984711e-02f, 1.137530971e-02f, 1.142074770e-02f, 1.146616101e-02f, 1.151154956e-02f, 1.155691328e-02f, 1.160225208e-02f, 1.164756590e-02f, 1.169285465e-02f, 1.173811827e-02f,
+1.178335668e-02f, 1.182856980e-02f, 1.187375756e-02f, 1.191891988e-02f, 1.196405668e-02f, 1.200916790e-02f, 1.205425346e-02f, 1.209931328e-02f, 1.214434729e-02f, 1.218935541e-02f,
+1.223433757e-02f, 1.227929369e-02f, 1.232422370e-02f, 1.236912753e-02f, 1.241400510e-02f, 1.245885633e-02f, 1.250368115e-02f, 1.254847949e-02f, 1.259325128e-02f, 1.263799643e-02f,
+1.268271487e-02f, 1.272740654e-02f, 1.277207135e-02f, 1.281670923e-02f, 1.286132012e-02f, 1.290590392e-02f, 1.295046058e-02f, 1.299499001e-02f, 1.303949214e-02f, 1.308396691e-02f,
+1.312841422e-02f, 1.317283402e-02f, 1.321722623e-02f, 1.326159078e-02f, 1.330592758e-02f, 1.335023657e-02f, 1.339451768e-02f, 1.343877083e-02f, 1.348299594e-02f, 1.352719295e-02f,
+1.357136179e-02f, 1.361550237e-02f, 1.365961463e-02f, 1.370369849e-02f, 1.374775388e-02f, 1.379178073e-02f, 1.383577896e-02f, 1.387974850e-02f, 1.392368929e-02f, 1.396760124e-02f,
+1.401148428e-02f, 1.405533835e-02f, 1.409916336e-02f, 1.414295925e-02f, 1.418672595e-02f, 1.423046338e-02f, 1.427417147e-02f, 1.431785015e-02f, 1.436149934e-02f, 1.440511898e-02f,
+1.444870899e-02f, 1.449226930e-02f, 1.453579984e-02f, 1.457930053e-02f, 1.462277132e-02f, 1.466621211e-02f, 1.470962284e-02f, 1.475300345e-02f, 1.479635386e-02f, 1.483967399e-02f,
+1.488296378e-02f, 1.492622315e-02f, 1.496945204e-02f, 1.501265036e-02f, 1.505581806e-02f, 1.509895506e-02f, 1.514206129e-02f, 1.518513668e-02f, 1.522818116e-02f, 1.527119465e-02f,
+1.531417709e-02f, 1.535712840e-02f, 1.540004852e-02f, 1.544293737e-02f, 1.548579488e-02f, 1.552862099e-02f, 1.557141562e-02f, 1.561417871e-02f, 1.565691017e-02f, 1.569960995e-02f,
+1.574227797e-02f, 1.578491416e-02f, 1.582751846e-02f, 1.587009078e-02f, 1.591263107e-02f, 1.595513925e-02f, 1.599761525e-02f, 1.604005900e-02f, 1.608247044e-02f, 1.612484949e-02f,
+1.616719609e-02f, 1.620951016e-02f, 1.625179163e-02f, 1.629404044e-02f, 1.633625652e-02f, 1.637843980e-02f, 1.642059020e-02f, 1.646270766e-02f, 1.650479212e-02f, 1.654684349e-02f,
+1.658886172e-02f, 1.663084673e-02f, 1.667279846e-02f, 1.671471683e-02f, 1.675660178e-02f, 1.679845324e-02f, 1.684027114e-02f, 1.688205541e-02f, 1.692380599e-02f, 1.696552280e-02f,
+1.700720578e-02f, 1.704885486e-02f, 1.709046997e-02f, 1.713205105e-02f, 1.717359801e-02f, 1.721511081e-02f, 1.725658937e-02f, 1.729803362e-02f, 1.733944349e-02f, 1.738081892e-02f,
+1.742215983e-02f, 1.746346617e-02f, 1.750473787e-02f, 1.754597485e-02f, 1.758717705e-02f, 1.762834440e-02f, 1.766947684e-02f, 1.771057429e-02f, 1.775163670e-02f, 1.779266399e-02f,
+1.783365609e-02f, 1.787461295e-02f, 1.791553449e-02f, 1.795642065e-02f, 1.799727136e-02f, 1.803808655e-02f, 1.807886616e-02f, 1.811961012e-02f, 1.816031837e-02f, 1.820099083e-02f,
+1.824162744e-02f, 1.828222814e-02f, 1.832279287e-02f, 1.836332154e-02f, 1.840381410e-02f, 1.844427049e-02f, 1.848469063e-02f, 1.852507446e-02f, 1.856542192e-02f, 1.860573294e-02f,
+1.864600745e-02f, 1.868624538e-02f, 1.872644669e-02f, 1.876661128e-02f, 1.880673912e-02f, 1.884683012e-02f, 1.888688422e-02f, 1.892690136e-02f, 1.896688147e-02f, 1.900682449e-02f,
+1.904673035e-02f, 1.908659899e-02f, 1.912643034e-02f, 1.916622434e-02f, 1.920598093e-02f, 1.924570003e-02f, 1.928538159e-02f, 1.932502554e-02f, 1.936463182e-02f, 1.940420036e-02f,
+1.944373110e-02f, 1.948322397e-02f, 1.952267892e-02f, 1.956209587e-02f, 1.960147476e-02f, 1.964081553e-02f, 1.968011812e-02f, 1.971938246e-02f, 1.975860849e-02f, 1.979779614e-02f,
+1.983694535e-02f, 1.987605607e-02f, 1.991512822e-02f, 1.995416173e-02f, 1.999315656e-02f, 2.003211264e-02f, 2.007102989e-02f, 2.010990827e-02f, 2.014874771e-02f, 2.018754813e-02f,
+2.022630949e-02f, 2.026503172e-02f, 2.030371476e-02f, 2.034235854e-02f, 2.038096300e-02f, 2.041952809e-02f, 2.045805373e-02f, 2.049653986e-02f, 2.053498643e-02f, 2.057339337e-02f,
+2.061176062e-02f, 2.065008812e-02f, 2.068837580e-02f, 2.072662361e-02f, 2.076483148e-02f, 2.080299935e-02f, 2.084112717e-02f, 2.087921486e-02f, 2.091726236e-02f, 2.095526963e-02f,
+2.099323658e-02f, 2.103116318e-02f, 2.106904934e-02f, 2.110689502e-02f, 2.114470014e-02f, 2.118246466e-02f, 2.122018851e-02f, 2.125787162e-02f, 2.129551394e-02f, 2.133311542e-02f,
+2.137067598e-02f, 2.140819556e-02f, 2.144567411e-02f, 2.148311157e-02f, 2.152050788e-02f, 2.155786298e-02f, 2.159517680e-02f, 2.163244928e-02f, 2.166968038e-02f, 2.170687002e-02f,
+2.174401815e-02f, 2.178112471e-02f, 2.181818964e-02f, 2.185521287e-02f, 2.189219436e-02f, 2.192913404e-02f, 2.196603185e-02f, 2.200288773e-02f, 2.203970163e-02f, 2.207647348e-02f,
+2.211320323e-02f, 2.214989082e-02f, 2.218653618e-02f, 2.222313927e-02f, 2.225970001e-02f, 2.229621836e-02f, 2.233269426e-02f, 2.236912764e-02f, 2.240551845e-02f, 2.244186663e-02f,
+2.247817212e-02f, 2.251443487e-02f, 2.255065481e-02f, 2.258683189e-02f, 2.262296605e-02f, 2.265905724e-02f, 2.269510539e-02f, 2.273111045e-02f, 2.276707236e-02f, 2.280299107e-02f,
+2.283886651e-02f, 2.287469863e-02f, 2.291048737e-02f, 2.294623267e-02f, 2.298193449e-02f, 2.301759275e-02f, 2.305320742e-02f, 2.308877841e-02f, 2.312430569e-02f, 2.315978920e-02f,
+2.319522887e-02f, 2.323062466e-02f, 2.326597650e-02f, 2.330128434e-02f, 2.333654812e-02f, 2.337176779e-02f, 2.340694330e-02f, 2.344207458e-02f, 2.347716157e-02f, 2.351220424e-02f,
+2.354720251e-02f, 2.358215633e-02f, 2.361706566e-02f, 2.365193042e-02f, 2.368675057e-02f, 2.372152606e-02f, 2.375625682e-02f, 2.379094280e-02f, 2.382558395e-02f, 2.386018021e-02f,
+2.389473152e-02f, 2.392923784e-02f, 2.396369911e-02f, 2.399811527e-02f, 2.403248627e-02f, 2.406681205e-02f, 2.410109257e-02f, 2.413532776e-02f, 2.416951757e-02f, 2.420366195e-02f,
+2.423776084e-02f, 2.427181419e-02f, 2.430582195e-02f, 2.433978406e-02f, 2.437370047e-02f, 2.440757113e-02f, 2.444139598e-02f, 2.447517496e-02f, 2.450890804e-02f, 2.454259514e-02f,
+2.457623622e-02f, 2.460983123e-02f, 2.464338011e-02f, 2.467688281e-02f, 2.471033928e-02f, 2.474374946e-02f, 2.477711331e-02f, 2.481043077e-02f, 2.484370178e-02f, 2.487692630e-02f,
+2.491010427e-02f, 2.494323564e-02f, 2.497632035e-02f, 2.500935837e-02f, 2.504234963e-02f, 2.507529408e-02f, 2.510819167e-02f, 2.514104236e-02f, 2.517384607e-02f, 2.520660278e-02f,
+2.523931242e-02f, 2.527197495e-02f, 2.530459030e-02f, 2.533715844e-02f, 2.536967931e-02f, 2.540215285e-02f, 2.543457903e-02f, 2.546695778e-02f, 2.549928906e-02f, 2.553157281e-02f,
+2.556380899e-02f, 2.559599755e-02f, 2.562813843e-02f, 2.566023158e-02f, 2.569227696e-02f, 2.572427452e-02f, 2.575622419e-02f, 2.578812594e-02f, 2.581997972e-02f, 2.585178547e-02f,
+2.588354315e-02f, 2.591525270e-02f, 2.594691408e-02f, 2.597852723e-02f, 2.601009211e-02f, 2.604160867e-02f, 2.607307686e-02f, 2.610449663e-02f, 2.613586793e-02f, 2.616719071e-02f,
+2.619846493e-02f, 2.622969053e-02f, 2.626086747e-02f, 2.629199569e-02f, 2.632307515e-02f, 2.635410581e-02f, 2.638508760e-02f, 2.641602049e-02f, 2.644690443e-02f, 2.647773937e-02f,
+2.650852526e-02f, 2.653926204e-02f, 2.656994969e-02f, 2.660058814e-02f, 2.663117735e-02f, 2.666171728e-02f, 2.669220787e-02f, 2.672264908e-02f, 2.675304085e-02f, 2.678338316e-02f,
+2.681367593e-02f, 2.684391914e-02f, 2.687411274e-02f, 2.690425666e-02f, 2.693435088e-02f, 2.696439534e-02f, 2.699439000e-02f, 2.702433481e-02f, 2.705422972e-02f, 2.708407469e-02f,
+2.711386967e-02f, 2.714361462e-02f, 2.717330949e-02f, 2.720295423e-02f, 2.723254880e-02f, 2.726209315e-02f, 2.729158724e-02f, 2.732103102e-02f, 2.735042445e-02f, 2.737976748e-02f,
+2.740906007e-02f, 2.743830216e-02f, 2.746749372e-02f, 2.749663471e-02f, 2.752572507e-02f, 2.755476476e-02f, 2.758375374e-02f, 2.761269196e-02f, 2.764157938e-02f, 2.767041595e-02f,
+2.769920163e-02f, 2.772793638e-02f, 2.775662015e-02f, 2.778525289e-02f, 2.781383457e-02f, 2.784236514e-02f, 2.787084456e-02f, 2.789927277e-02f, 2.792764975e-02f, 2.795597544e-02f,
+2.798424980e-02f, 2.801247279e-02f, 2.804064437e-02f, 2.806876449e-02f, 2.809683311e-02f, 2.812485018e-02f, 2.815281567e-02f, 2.818072953e-02f, 2.820859172e-02f, 2.823640220e-02f,
+2.826416092e-02f, 2.829186784e-02f, 2.831952292e-02f, 2.834712612e-02f, 2.837467739e-02f, 2.840217670e-02f, 2.842962400e-02f, 2.845701924e-02f, 2.848436240e-02f, 2.851165342e-02f,
+2.853889227e-02f, 2.856607890e-02f, 2.859321327e-02f, 2.862029535e-02f, 2.864732508e-02f, 2.867430243e-02f, 2.870122737e-02f, 2.872809984e-02f, 2.875491980e-02f, 2.878168722e-02f,
+2.880840206e-02f, 2.883506427e-02f, 2.886167382e-02f, 2.888823066e-02f, 2.891473476e-02f, 2.894118607e-02f, 2.896758456e-02f, 2.899393018e-02f, 2.902022290e-02f, 2.904646267e-02f,
+2.907264945e-02f, 2.909878322e-02f, 2.912486392e-02f, 2.915089151e-02f, 2.917686597e-02f, 2.920278724e-02f, 2.922865530e-02f, 2.925447010e-02f, 2.928023159e-02f, 2.930593976e-02f,
+2.933159455e-02f, 2.935719592e-02f, 2.938274384e-02f, 2.940823828e-02f, 2.943367918e-02f, 2.945906652e-02f, 2.948440026e-02f, 2.950968035e-02f, 2.953490676e-02f, 2.956007946e-02f,
+2.958519839e-02f, 2.961026354e-02f, 2.963527486e-02f, 2.966023230e-02f, 2.968513585e-02f, 2.970998544e-02f, 2.973478107e-02f, 2.975952267e-02f, 2.978421022e-02f, 2.980884368e-02f,
+2.983342301e-02f, 2.985794819e-02f, 2.988241916e-02f, 2.990683589e-02f, 2.993119835e-02f, 2.995550651e-02f, 2.997976031e-02f, 3.000395974e-02f, 3.002810475e-02f, 3.005219531e-02f,
+3.007623138e-02f, 3.010021293e-02f, 3.012413992e-02f, 3.014801231e-02f, 3.017183007e-02f, 3.019559317e-02f, 3.021930156e-02f, 3.024295523e-02f, 3.026655412e-02f, 3.029009820e-02f,
+3.031358745e-02f, 3.033702182e-02f, 3.036040128e-02f, 3.038372580e-02f, 3.040699534e-02f, 3.043020986e-02f, 3.045336935e-02f, 3.047647375e-02f, 3.049952303e-02f, 3.052251717e-02f,
+3.054545613e-02f, 3.056833987e-02f, 3.059116836e-02f, 3.061394157e-02f, 3.063665946e-02f, 3.065932201e-02f, 3.068192917e-02f, 3.070448091e-02f, 3.072697721e-02f, 3.074941803e-02f,
+3.077180333e-02f, 3.079413309e-02f, 3.081640726e-02f, 3.083862583e-02f, 3.086078875e-02f, 3.088289599e-02f, 3.090494753e-02f, 3.092694332e-02f, 3.094888334e-02f, 3.097076756e-02f,
+3.099259594e-02f, 3.101436845e-02f, 3.103608507e-02f, 3.105774575e-02f, 3.107935047e-02f, 3.110089919e-02f, 3.112239189e-02f, 3.114382854e-02f, 3.116520910e-02f, 3.118653354e-02f,
+3.120780183e-02f, 3.122901394e-02f, 3.125016984e-02f, 3.127126951e-02f, 3.129231290e-02f, 3.131329999e-02f, 3.133423075e-02f, 3.135510514e-02f, 3.137592315e-02f, 3.139668473e-02f,
+3.141738987e-02f, 3.143803852e-02f, 3.145863066e-02f, 3.147916627e-02f, 3.149964530e-02f, 3.152006774e-02f, 3.154043355e-02f, 3.156074270e-02f, 3.158099516e-02f, 3.160119092e-02f,
+3.162132992e-02f, 3.164141216e-02f, 3.166143760e-02f, 3.168140620e-02f, 3.170131795e-02f, 3.172117282e-02f, 3.174097077e-02f, 3.176071177e-02f, 3.178039581e-02f, 3.180002285e-02f,
+3.181959287e-02f, 3.183910583e-02f, 3.185856171e-02f, 3.187796048e-02f, 3.189730212e-02f, 3.191658659e-02f, 3.193581387e-02f, 3.195498394e-02f, 3.197409676e-02f, 3.199315231e-02f,
+3.201215057e-02f, 3.203109149e-02f, 3.204997507e-02f, 3.206880127e-02f, 3.208757007e-02f, 3.210628144e-02f, 3.212493535e-02f, 3.214353178e-02f, 3.216207070e-02f, 3.218055208e-02f,
+3.219897591e-02f, 3.221734215e-02f, 3.223565078e-02f, 3.225390177e-02f, 3.227209510e-02f, 3.229023075e-02f, 3.230830868e-02f, 3.232632888e-02f, 3.234429131e-02f, 3.236219596e-02f,
+3.238004279e-02f, 3.239783179e-02f, 3.241556293e-02f, 3.243323618e-02f, 3.245085152e-02f, 3.246840893e-02f, 3.248590838e-02f, 3.250334985e-02f, 3.252073331e-02f, 3.253805875e-02f,
+3.255532613e-02f, 3.257253543e-02f, 3.258968663e-02f, 3.260677971e-02f, 3.262381464e-02f, 3.264079140e-02f, 3.265770997e-02f, 3.267457032e-02f, 3.269137244e-02f, 3.270811629e-02f,
+3.272480185e-02f, 3.274142911e-02f, 3.275799804e-02f, 3.277450861e-02f, 3.279096081e-02f, 3.280735462e-02f, 3.282369000e-02f, 3.283996695e-02f, 3.285618543e-02f, 3.287234542e-02f,
+3.288844692e-02f, 3.290448988e-02f, 3.292047430e-02f, 3.293640014e-02f, 3.295226739e-02f, 3.296807603e-02f, 3.298382604e-02f, 3.299951739e-02f, 3.301515007e-02f, 3.303072405e-02f,
+3.304623931e-02f, 3.306169583e-02f, 3.307709360e-02f, 3.309243259e-02f, 3.310771278e-02f, 3.312293415e-02f, 3.313809668e-02f, 3.315320036e-02f, 3.316824515e-02f, 3.318323105e-02f,
+3.319815803e-02f, 3.321302608e-02f, 3.322783517e-02f, 3.324258528e-02f, 3.325727639e-02f, 3.327190850e-02f, 3.328648157e-02f, 3.330099558e-02f, 3.331545053e-02f, 3.332984639e-02f,
+3.334418314e-02f, 3.335846076e-02f, 3.337267924e-02f, 3.338683856e-02f, 3.340093869e-02f, 3.341497963e-02f, 3.342896134e-02f, 3.344288383e-02f, 3.345674706e-02f, 3.347055102e-02f,
+3.348429569e-02f, 3.349798106e-02f, 3.351160711e-02f, 3.352517381e-02f, 3.353868116e-02f, 3.355212913e-02f, 3.356551772e-02f, 3.357884689e-02f, 3.359211664e-02f, 3.360532696e-02f,
+3.361847781e-02f, 3.363156919e-02f, 3.364460108e-02f, 3.365757346e-02f, 3.367048632e-02f, 3.368333965e-02f, 3.369613341e-02f, 3.370886761e-02f, 3.372154223e-02f, 3.373415724e-02f,
+3.374671263e-02f, 3.375920840e-02f, 3.377164451e-02f, 3.378402097e-02f, 3.379633775e-02f, 3.380859483e-02f, 3.382079221e-02f, 3.383292986e-02f, 3.384500778e-02f, 3.385702595e-02f,
+3.386898436e-02f, 3.388088298e-02f, 3.389272181e-02f, 3.390450083e-02f, 3.391622003e-02f, 3.392787940e-02f, 3.393947891e-02f, 3.395101856e-02f, 3.396249834e-02f, 3.397391822e-02f,
+3.398527820e-02f, 3.399657826e-02f, 3.400781840e-02f, 3.401899859e-02f, 3.403011882e-02f, 3.404117909e-02f, 3.405217937e-02f, 3.406311966e-02f, 3.407399994e-02f, 3.408482021e-02f,
+3.409558044e-02f, 3.410628063e-02f, 3.411692076e-02f, 3.412750082e-02f, 3.413802081e-02f, 3.414848070e-02f, 3.415888049e-02f, 3.416922016e-02f, 3.417949971e-02f, 3.418971912e-02f,
+3.419987838e-02f, 3.420997748e-02f, 3.422001641e-02f, 3.422999516e-02f, 3.423991372e-02f, 3.424977207e-02f, 3.425957020e-02f, 3.426930811e-02f, 3.427898579e-02f, 3.428860322e-02f,
+3.429816039e-02f, 3.430765730e-02f, 3.431709393e-02f, 3.432647028e-02f, 3.433578633e-02f, 3.434504207e-02f, 3.435423750e-02f, 3.436337260e-02f, 3.437244737e-02f, 3.438146180e-02f,
+3.439041587e-02f, 3.439930958e-02f, 3.440814292e-02f, 3.441691588e-02f, 3.442562846e-02f, 3.443428063e-02f, 3.444287241e-02f, 3.445140376e-02f, 3.445987470e-02f, 3.446828520e-02f,
+3.447663527e-02f, 3.448492489e-02f, 3.449315405e-02f, 3.450132275e-02f, 3.450943098e-02f, 3.451747874e-02f, 3.452546600e-02f, 3.453339278e-02f, 3.454125906e-02f, 3.454906482e-02f,
+3.455681008e-02f, 3.456449481e-02f, 3.457211902e-02f, 3.457968268e-02f, 3.458718581e-02f, 3.459462839e-02f, 3.460201042e-02f, 3.460933188e-02f, 3.461659278e-02f, 3.462379310e-02f,
+3.463093285e-02f, 3.463801201e-02f, 3.464503057e-02f, 3.465198854e-02f, 3.465888591e-02f, 3.466572267e-02f, 3.467249882e-02f, 3.467921435e-02f, 3.468586925e-02f, 3.469246353e-02f,
+3.469899717e-02f, 3.470547017e-02f, 3.471188253e-02f, 3.471823424e-02f, 3.472452529e-02f, 3.473075569e-02f, 3.473692543e-02f, 3.474303450e-02f, 3.474908290e-02f, 3.475507063e-02f,
+3.476099768e-02f, 3.476686404e-02f, 3.477266972e-02f, 3.477841471e-02f, 3.478409901e-02f, 3.478972261e-02f, 3.479528551e-02f, 3.480078771e-02f, 3.480622920e-02f, 3.481160999e-02f,
+3.481693006e-02f, 3.482218942e-02f, 3.482738805e-02f, 3.483252597e-02f, 3.483760317e-02f, 3.484261964e-02f, 3.484757539e-02f, 3.485247040e-02f, 3.485730468e-02f, 3.486207823e-02f,
+3.486679105e-02f, 3.487144313e-02f, 3.487603447e-02f, 3.488056506e-02f, 3.488503492e-02f, 3.488944404e-02f, 3.489379241e-02f, 3.489808003e-02f, 3.490230691e-02f, 3.490647304e-02f,
+3.491057842e-02f, 3.491462306e-02f, 3.491860694e-02f, 3.492253008e-02f, 3.492639247e-02f, 3.493019410e-02f, 3.493393498e-02f, 3.493761512e-02f, 3.494123450e-02f, 3.494479313e-02f,
+3.494829101e-02f, 3.495172814e-02f, 3.495510452e-02f, 3.495842016e-02f, 3.496167504e-02f, 3.496486918e-02f, 3.496800257e-02f, 3.497107521e-02f, 3.497408711e-02f, 3.497703826e-02f,
+3.497992868e-02f, 3.498275835e-02f, 3.498552728e-02f, 3.498823548e-02f, 3.499088294e-02f, 3.499346966e-02f, 3.499599565e-02f, 3.499846091e-02f, 3.500086545e-02f, 3.500320925e-02f,
+3.500549234e-02f, 3.500771470e-02f, 3.500987634e-02f, 3.501197727e-02f, 3.501401748e-02f, 3.501599698e-02f, 3.501791578e-02f, 3.501977387e-02f, 3.502157126e-02f, 3.502330795e-02f,
+3.502498394e-02f, 3.502659925e-02f, 3.502815386e-02f, 3.502964780e-02f, 3.503108105e-02f, 3.503245362e-02f, 3.503376553e-02f, 3.503501676e-02f, 3.503620733e-02f, 3.503733724e-02f,
+3.503840649e-02f, 3.503941510e-02f, 3.504036306e-02f, 3.504125037e-02f, 3.504207705e-02f, 3.504284310e-02f, 3.504354851e-02f, 3.504419331e-02f, 3.504477749e-02f, 3.504530106e-02f,
+3.504576403e-02f, 3.504616639e-02f, 3.504650816e-02f, 3.504678934e-02f, 3.504700993e-02f, 3.504716995e-02f, 3.504726940e-02f, 3.504730829e-02f, 3.504728661e-02f, 3.504720438e-02f,
+3.504706161e-02f, 3.504685830e-02f, 3.504659445e-02f, 3.504627008e-02f, 3.504588519e-02f, 3.504543979e-02f, 3.504493389e-02f, 3.504436748e-02f, 3.504374059e-02f, 3.504305321e-02f,
+3.504230536e-02f, 3.504149704e-02f, 3.504062826e-02f, 3.503969903e-02f, 3.503870935e-02f, 3.503765923e-02f, 3.503654869e-02f, 3.503537773e-02f, 3.503414636e-02f, 3.503285458e-02f,
+3.503150241e-02f, 3.503008985e-02f, 3.502861692e-02f, 3.502708362e-02f, 3.502548995e-02f, 3.502383594e-02f, 3.502212159e-02f, 3.502034690e-02f, 3.501851189e-02f, 3.501661657e-02f,
+3.501466094e-02f, 3.501264502e-02f, 3.501056882e-02f, 3.500843234e-02f, 3.500623560e-02f, 3.500397860e-02f, 3.500166136e-02f, 3.499928388e-02f, 3.499684618e-02f, 3.499434827e-02f,
+3.499179016e-02f, 3.498917185e-02f, 3.498649336e-02f, 3.498375471e-02f, 3.498095589e-02f, 3.497809692e-02f, 3.497517782e-02f, 3.497219860e-02f, 3.496915926e-02f, 3.496605981e-02f,
+3.496290028e-02f, 3.495968067e-02f, 3.495640099e-02f, 3.495306125e-02f, 3.494966147e-02f, 3.494620166e-02f, 3.494268183e-02f, 3.493910199e-02f, 3.493546216e-02f, 3.493176235e-02f,
+3.492800257e-02f, 3.492418283e-02f, 3.492030315e-02f, 3.491636353e-02f, 3.491236400e-02f, 3.490830457e-02f, 3.490418524e-02f, 3.490000603e-02f, 3.489576697e-02f, 3.489146805e-02f,
+3.488710929e-02f, 3.488269071e-02f, 3.487821232e-02f, 3.487367413e-02f, 3.486907616e-02f, 3.486441843e-02f, 3.485970094e-02f, 3.485492371e-02f, 3.485008676e-02f, 3.484519009e-02f,
+3.484023374e-02f, 3.483521770e-02f, 3.483014199e-02f, 3.482500664e-02f, 3.481981165e-02f, 3.481455704e-02f, 3.480924282e-02f, 3.480386901e-02f, 3.479843563e-02f, 3.479294269e-02f,
+3.478739021e-02f, 3.478177820e-02f, 3.477610668e-02f, 3.477037566e-02f, 3.476458517e-02f, 3.475873521e-02f, 3.475282580e-02f, 3.474685696e-02f, 3.474082871e-02f, 3.473474106e-02f,
+3.472859403e-02f, 3.472238764e-02f, 3.471612189e-02f, 3.470979682e-02f, 3.470341244e-02f, 3.469696875e-02f, 3.469046579e-02f, 3.468390357e-02f, 3.467728211e-02f, 3.467060141e-02f,
+3.466386151e-02f, 3.465706242e-02f, 3.465020416e-02f, 3.464328674e-02f, 3.463631018e-02f, 3.462927450e-02f, 3.462217973e-02f, 3.461502587e-02f, 3.460781295e-02f, 3.460054098e-02f,
+3.459320998e-02f, 3.458581998e-02f, 3.457837099e-02f, 3.457086303e-02f, 3.456329612e-02f, 3.455567028e-02f, 3.454798552e-02f, 3.454024187e-02f, 3.453243935e-02f, 3.452457797e-02f,
+3.451665776e-02f, 3.450867874e-02f, 3.450064092e-02f, 3.449254432e-02f, 3.448438898e-02f, 3.447617489e-02f, 3.446790209e-02f, 3.445957060e-02f, 3.445118044e-02f, 3.444273162e-02f,
+3.443422417e-02f, 3.442565811e-02f, 3.441703346e-02f, 3.440835023e-02f, 3.439960846e-02f, 3.439080817e-02f, 3.438194936e-02f, 3.437303207e-02f, 3.436405632e-02f, 3.435502213e-02f,
+3.434592951e-02f, 3.433677850e-02f, 3.432756911e-02f, 3.431830136e-02f, 3.430897529e-02f, 3.429959090e-02f, 3.429014822e-02f, 3.428064728e-02f, 3.427108809e-02f, 3.426147069e-02f,
+3.425179508e-02f, 3.424206130e-02f, 3.423226937e-02f, 3.422241930e-02f, 3.421251113e-02f, 3.420254487e-02f, 3.419252056e-02f, 3.418243820e-02f, 3.417229784e-02f, 3.416209948e-02f,
+3.415184315e-02f, 3.414152888e-02f, 3.413115670e-02f, 3.412072661e-02f, 3.411023866e-02f, 3.409969286e-02f, 3.408908923e-02f, 3.407842780e-02f, 3.406770861e-02f, 3.405693166e-02f,
+3.404609698e-02f, 3.403520460e-02f, 3.402425455e-02f, 3.401324685e-02f, 3.400218151e-02f, 3.399105858e-02f, 3.397987807e-02f, 3.396864001e-02f, 3.395734443e-02f, 3.394599134e-02f,
+3.393458078e-02f, 3.392311277e-02f, 3.391158734e-02f, 3.390000451e-02f, 3.388836431e-02f, 3.387666676e-02f, 3.386491189e-02f, 3.385309973e-02f, 3.384123030e-02f, 3.382930363e-02f,
+3.381731975e-02f, 3.380527868e-02f, 3.379318045e-02f, 3.378102508e-02f, 3.376881261e-02f, 3.375654305e-02f, 3.374421645e-02f, 3.373183281e-02f, 3.371939218e-02f, 3.370689458e-02f,
+3.369434003e-02f, 3.368172857e-02f, 3.366906021e-02f, 3.365633500e-02f, 3.364355295e-02f, 3.363071410e-02f, 3.361781847e-02f, 3.360486609e-02f, 3.359185698e-02f, 3.357879119e-02f,
+3.356566873e-02f, 3.355248964e-02f, 3.353925393e-02f, 3.352596165e-02f, 3.351261282e-02f, 3.349920747e-02f, 3.348574562e-02f, 3.347222732e-02f, 3.345865257e-02f, 3.344502143e-02f,
+3.343133391e-02f, 3.341759004e-02f, 3.340378985e-02f, 3.338993338e-02f, 3.337602065e-02f, 3.336205170e-02f, 3.334802654e-02f, 3.333394522e-02f, 3.331980776e-02f, 3.330561420e-02f,
+3.329136455e-02f, 3.327705886e-02f, 3.326269716e-02f, 3.324827947e-02f, 3.323380582e-02f, 3.321927625e-02f, 3.320469079e-02f, 3.319004946e-02f, 3.317535230e-02f, 3.316059934e-02f,
+3.314579061e-02f, 3.313092615e-02f, 3.311600597e-02f, 3.310103013e-02f, 3.308599863e-02f, 3.307091153e-02f, 3.305576885e-02f, 3.304057062e-02f, 3.302531687e-02f, 3.301000764e-02f,
+3.299464295e-02f, 3.297922285e-02f, 3.296374735e-02f, 3.294821651e-02f, 3.293263034e-02f, 3.291698888e-02f, 3.290129216e-02f, 3.288554021e-02f, 3.286973308e-02f, 3.285387078e-02f,
+3.283795336e-02f, 3.282198085e-02f, 3.280595328e-02f, 3.278987068e-02f, 3.277373309e-02f, 3.275754054e-02f, 3.274129306e-02f, 3.272499069e-02f, 3.270863346e-02f, 3.269222141e-02f,
+3.267575456e-02f, 3.265923297e-02f, 3.264265664e-02f, 3.262602563e-02f, 3.260933997e-02f, 3.259259968e-02f, 3.257580481e-02f, 3.255895540e-02f, 3.254205146e-02f, 3.252509304e-02f,
+3.250808018e-02f, 3.249101291e-02f, 3.247389126e-02f, 3.245671527e-02f, 3.243948497e-02f, 3.242220040e-02f, 3.240486160e-02f, 3.238746860e-02f, 3.237002143e-02f, 3.235252013e-02f,
+3.233496475e-02f, 3.231735530e-02f, 3.229969184e-02f, 3.228197439e-02f, 3.226420299e-02f, 3.224637767e-02f, 3.222849848e-02f, 3.221056546e-02f, 3.219257862e-02f, 3.217453802e-02f,
+3.215644369e-02f, 3.213829567e-02f, 3.212009399e-02f, 3.210183869e-02f, 3.208352981e-02f, 3.206516738e-02f, 3.204675144e-02f, 3.202828203e-02f, 3.200975919e-02f, 3.199118295e-02f,
+3.197255335e-02f, 3.195387043e-02f, 3.193513422e-02f, 3.191634477e-02f, 3.189750211e-02f, 3.187860628e-02f, 3.185965732e-02f, 3.184065526e-02f, 3.182160015e-02f, 3.180249202e-02f,
+3.178333091e-02f, 3.176411687e-02f, 3.174484991e-02f, 3.172553010e-02f, 3.170615746e-02f, 3.168673204e-02f, 3.166725386e-02f, 3.164772298e-02f, 3.162813943e-02f, 3.160850326e-02f,
+3.158881449e-02f, 3.156907317e-02f, 3.154927933e-02f, 3.152943303e-02f, 3.150953429e-02f, 3.148958317e-02f, 3.146957968e-02f, 3.144952389e-02f, 3.142941582e-02f, 3.140925552e-02f,
+3.138904302e-02f, 3.136877837e-02f, 3.134846161e-02f, 3.132809278e-02f, 3.130767192e-02f, 3.128719906e-02f, 3.126667425e-02f, 3.124609754e-02f, 3.122546895e-02f, 3.120478854e-02f,
+3.118405634e-02f, 3.116327239e-02f, 3.114243674e-02f, 3.112154943e-02f, 3.110061049e-02f, 3.107961997e-02f, 3.105857791e-02f, 3.103748436e-02f, 3.101633934e-02f, 3.099514292e-02f,
+3.097389512e-02f, 3.095259599e-02f, 3.093124557e-02f, 3.090984390e-02f, 3.088839103e-02f, 3.086688699e-02f, 3.084533184e-02f, 3.082372561e-02f, 3.080206834e-02f, 3.078036008e-02f,
+3.075860088e-02f, 3.073679076e-02f, 3.071492978e-02f, 3.069301798e-02f, 3.067105540e-02f, 3.064904208e-02f, 3.062697807e-02f, 3.060486341e-02f, 3.058269815e-02f, 3.056048233e-02f,
+3.053821598e-02f, 3.051589916e-02f, 3.049353191e-02f, 3.047111427e-02f, 3.044864629e-02f, 3.042612801e-02f, 3.040355947e-02f, 3.038094072e-02f, 3.035827180e-02f, 3.033555275e-02f,
+3.031278363e-02f, 3.028996447e-02f, 3.026709532e-02f, 3.024417623e-02f, 3.022120723e-02f, 3.019818838e-02f, 3.017511971e-02f, 3.015200128e-02f, 3.012883313e-02f, 3.010561530e-02f,
+3.008234783e-02f, 3.005903078e-02f, 3.003566419e-02f, 3.001224810e-02f, 2.998878257e-02f, 2.996526762e-02f, 2.994170332e-02f, 2.991808970e-02f, 2.989442682e-02f, 2.987071471e-02f,
+2.984695343e-02f, 2.982314301e-02f, 2.979928351e-02f, 2.977537498e-02f, 2.975141745e-02f, 2.972741098e-02f, 2.970335560e-02f, 2.967925138e-02f, 2.965509834e-02f, 2.963089655e-02f,
+2.960664605e-02f, 2.958234688e-02f, 2.955799909e-02f, 2.953360273e-02f, 2.950915784e-02f, 2.948466447e-02f, 2.946012268e-02f, 2.943553250e-02f, 2.941089398e-02f, 2.938620718e-02f,
+2.936147213e-02f, 2.933668889e-02f, 2.931185751e-02f, 2.928697802e-02f, 2.926205049e-02f, 2.923707495e-02f, 2.921205146e-02f, 2.918698006e-02f, 2.916186080e-02f, 2.913669373e-02f,
+2.911147890e-02f, 2.908621636e-02f, 2.906090615e-02f, 2.903554833e-02f, 2.901014293e-02f, 2.898469002e-02f, 2.895918963e-02f, 2.893364183e-02f, 2.890804665e-02f, 2.888240414e-02f,
+2.885671437e-02f, 2.883097736e-02f, 2.880519318e-02f, 2.877936187e-02f, 2.875348348e-02f, 2.872755807e-02f, 2.870158567e-02f, 2.867556635e-02f, 2.864950014e-02f, 2.862338711e-02f,
+2.859722729e-02f, 2.857102075e-02f, 2.854476752e-02f, 2.851846766e-02f, 2.849212122e-02f, 2.846572826e-02f, 2.843928881e-02f, 2.841280293e-02f, 2.838627067e-02f, 2.835969209e-02f,
+2.833306722e-02f, 2.830639613e-02f, 2.827967886e-02f, 2.825291546e-02f, 2.822610599e-02f, 2.819925050e-02f, 2.817234903e-02f, 2.814540164e-02f, 2.811840838e-02f, 2.809136929e-02f,
+2.806428444e-02f, 2.803715387e-02f, 2.800997764e-02f, 2.798275579e-02f, 2.795548838e-02f, 2.792817545e-02f, 2.790081707e-02f, 2.787341328e-02f, 2.784596413e-02f, 2.781846968e-02f,
+2.779092998e-02f, 2.776334508e-02f, 2.773571503e-02f, 2.770803989e-02f, 2.768031970e-02f, 2.765255452e-02f, 2.762474440e-02f, 2.759688940e-02f, 2.756898957e-02f, 2.754104495e-02f,
+2.751305561e-02f, 2.748502159e-02f, 2.745694295e-02f, 2.742881974e-02f, 2.740065202e-02f, 2.737243983e-02f, 2.734418323e-02f, 2.731588228e-02f, 2.728753702e-02f, 2.725914752e-02f,
+2.723071381e-02f, 2.720223597e-02f, 2.717371403e-02f, 2.714514806e-02f, 2.711653811e-02f, 2.708788423e-02f, 2.705918647e-02f, 2.703044490e-02f, 2.700165956e-02f, 2.697283051e-02f,
+2.694395779e-02f, 2.691504148e-02f, 2.688608162e-02f, 2.685707826e-02f, 2.682803146e-02f, 2.679894127e-02f, 2.676980775e-02f, 2.674063096e-02f, 2.671141094e-02f, 2.668214776e-02f,
+2.665284146e-02f, 2.662349211e-02f, 2.659409975e-02f, 2.656466445e-02f, 2.653518625e-02f, 2.650566522e-02f, 2.647610140e-02f, 2.644649486e-02f, 2.641684564e-02f, 2.638715381e-02f,
+2.635741942e-02f, 2.632764252e-02f, 2.629782318e-02f, 2.626796144e-02f, 2.623805736e-02f, 2.620811100e-02f, 2.617812242e-02f, 2.614809167e-02f, 2.611801880e-02f, 2.608790387e-02f,
+2.605774695e-02f, 2.602754808e-02f, 2.599730732e-02f, 2.596702472e-02f, 2.593670035e-02f, 2.590633426e-02f, 2.587592651e-02f, 2.584547715e-02f, 2.581498625e-02f, 2.578445385e-02f,
+2.575388001e-02f, 2.572326480e-02f, 2.569260826e-02f, 2.566191046e-02f, 2.563117145e-02f, 2.560039129e-02f, 2.556957003e-02f, 2.553870774e-02f, 2.550780447e-02f, 2.547686028e-02f,
+2.544587523e-02f, 2.541484937e-02f, 2.538378276e-02f, 2.535267546e-02f, 2.532152753e-02f, 2.529033902e-02f, 2.525911000e-02f, 2.522784051e-02f, 2.519653063e-02f, 2.516518040e-02f,
+2.513378989e-02f, 2.510235914e-02f, 2.507088823e-02f, 2.503937721e-02f, 2.500782614e-02f, 2.497623508e-02f, 2.494460408e-02f, 2.491293320e-02f, 2.488122250e-02f, 2.484947205e-02f,
+2.481768190e-02f, 2.478585210e-02f, 2.475398272e-02f, 2.472207382e-02f, 2.469012545e-02f, 2.465813768e-02f, 2.462611056e-02f, 2.459404416e-02f, 2.456193853e-02f, 2.452979372e-02f,
+2.449760981e-02f, 2.446538685e-02f, 2.443312490e-02f, 2.440082402e-02f, 2.436848427e-02f, 2.433610570e-02f, 2.430368839e-02f, 2.427123238e-02f, 2.423873774e-02f, 2.420620453e-02f,
+2.417363281e-02f, 2.414102264e-02f, 2.410837407e-02f, 2.407568717e-02f, 2.404296201e-02f, 2.401019863e-02f, 2.397739710e-02f, 2.394455748e-02f, 2.391167983e-02f, 2.387876421e-02f,
+2.384581068e-02f, 2.381281930e-02f, 2.377979014e-02f, 2.374672325e-02f, 2.371361869e-02f, 2.368047653e-02f, 2.364729683e-02f, 2.361407964e-02f, 2.358082503e-02f, 2.354753307e-02f,
+2.351420380e-02f, 2.348083729e-02f, 2.344743361e-02f, 2.341399281e-02f, 2.338051495e-02f, 2.334700011e-02f, 2.331344833e-02f, 2.327985968e-02f, 2.324623423e-02f, 2.321257203e-02f,
+2.317887314e-02f, 2.314513763e-02f, 2.311136556e-02f, 2.307755700e-02f, 2.304371199e-02f, 2.300983061e-02f, 2.297591292e-02f, 2.294195898e-02f, 2.290796885e-02f, 2.287394259e-02f,
+2.283988027e-02f, 2.280578194e-02f, 2.277164768e-02f, 2.273747754e-02f, 2.270327159e-02f, 2.266902989e-02f, 2.263475249e-02f, 2.260043948e-02f, 2.256609089e-02f, 2.253170681e-02f,
+2.249728729e-02f, 2.246283240e-02f, 2.242834219e-02f, 2.239381673e-02f, 2.235925609e-02f, 2.232466033e-02f, 2.229002951e-02f, 2.225536369e-02f, 2.222066294e-02f, 2.218592732e-02f,
+2.215115689e-02f, 2.211635172e-02f, 2.208151187e-02f, 2.204663741e-02f, 2.201172839e-02f, 2.197678489e-02f, 2.194180696e-02f, 2.190679467e-02f, 2.187174809e-02f, 2.183666727e-02f,
+2.180155228e-02f, 2.176640319e-02f, 2.173122005e-02f, 2.169600294e-02f, 2.166075192e-02f, 2.162546705e-02f, 2.159014839e-02f, 2.155479602e-02f, 2.151940999e-02f, 2.148399037e-02f,
+2.144853722e-02f, 2.141305061e-02f, 2.137753060e-02f, 2.134197726e-02f, 2.130639065e-02f, 2.127077083e-02f, 2.123511788e-02f, 2.119943185e-02f, 2.116371282e-02f, 2.112796084e-02f,
+2.109217598e-02f, 2.105635830e-02f, 2.102050788e-02f, 2.098462477e-02f, 2.094870904e-02f, 2.091276076e-02f, 2.087677999e-02f, 2.084076680e-02f, 2.080472125e-02f, 2.076864341e-02f,
+2.073253334e-02f, 2.069639111e-02f, 2.066021678e-02f, 2.062401042e-02f, 2.058777210e-02f, 2.055150188e-02f, 2.051519983e-02f, 2.047886600e-02f, 2.044250048e-02f, 2.040610332e-02f,
+2.036967459e-02f, 2.033321436e-02f, 2.029672269e-02f, 2.026019964e-02f, 2.022364530e-02f, 2.018705971e-02f, 2.015044295e-02f, 2.011379508e-02f, 2.007711617e-02f, 2.004040629e-02f,
+2.000366550e-02f, 1.996689387e-02f, 1.993009146e-02f, 1.989325834e-02f, 1.985639459e-02f, 1.981950026e-02f, 1.978257542e-02f, 1.974562013e-02f, 1.970863448e-02f, 1.967161851e-02f,
+1.963457231e-02f, 1.959749593e-02f, 1.956038944e-02f, 1.952325291e-02f, 1.948608641e-02f, 1.944889000e-02f, 1.941166376e-02f, 1.937440774e-02f, 1.933712201e-02f, 1.929980665e-02f,
+1.926246172e-02f, 1.922508729e-02f, 1.918768342e-02f, 1.915025019e-02f, 1.911278765e-02f, 1.907529588e-02f, 1.903777495e-02f, 1.900022491e-02f, 1.896264585e-02f, 1.892503783e-02f,
+1.888740091e-02f, 1.884973516e-02f, 1.881204066e-02f, 1.877431746e-02f, 1.873656564e-02f, 1.869878527e-02f, 1.866097641e-02f, 1.862313913e-02f, 1.858527350e-02f, 1.854737959e-02f,
+1.850945746e-02f, 1.847150718e-02f, 1.843352883e-02f, 1.839552247e-02f, 1.835748816e-02f, 1.831942599e-02f, 1.828133600e-02f, 1.824321829e-02f, 1.820507290e-02f, 1.816689991e-02f,
+1.812869940e-02f, 1.809047142e-02f, 1.805221605e-02f, 1.801393335e-02f, 1.797562340e-02f, 1.793728626e-02f, 1.789892200e-02f, 1.786053070e-02f, 1.782211241e-02f, 1.778366721e-02f,
+1.774519517e-02f, 1.770669635e-02f, 1.766817083e-02f, 1.762961868e-02f, 1.759103996e-02f, 1.755243474e-02f, 1.751380309e-02f, 1.747514509e-02f, 1.743646079e-02f, 1.739775028e-02f,
+1.735901361e-02f, 1.732025086e-02f, 1.728146211e-02f, 1.724264741e-02f, 1.720380683e-02f, 1.716494046e-02f, 1.712604835e-02f, 1.708713057e-02f, 1.704818720e-02f, 1.700921831e-02f,
+1.697022396e-02f, 1.693120423e-02f, 1.689215918e-02f, 1.685308889e-02f, 1.681399342e-02f, 1.677487284e-02f, 1.673572723e-02f, 1.669655666e-02f, 1.665736118e-02f, 1.661814089e-02f,
+1.657889583e-02f, 1.653962609e-02f, 1.650033174e-02f, 1.646101284e-02f, 1.642166947e-02f, 1.638230169e-02f, 1.634290958e-02f, 1.630349321e-02f, 1.626405264e-02f, 1.622458795e-02f,
+1.618509920e-02f, 1.614558648e-02f, 1.610604984e-02f, 1.606648936e-02f, 1.602690511e-02f, 1.598729716e-02f, 1.594766559e-02f, 1.590801045e-02f, 1.586833183e-02f, 1.582862979e-02f,
+1.578890440e-02f, 1.574915574e-02f, 1.570938388e-02f, 1.566958888e-02f, 1.562977082e-02f, 1.558992976e-02f, 1.555006579e-02f, 1.551017897e-02f, 1.547026936e-02f, 1.543033705e-02f,
+1.539038211e-02f, 1.535040460e-02f, 1.531040459e-02f, 1.527038217e-02f, 1.523033739e-02f, 1.519027033e-02f, 1.515018106e-02f, 1.511006965e-02f, 1.506993618e-02f, 1.502978071e-02f,
+1.498960332e-02f, 1.494940408e-02f, 1.490918306e-02f, 1.486894033e-02f, 1.482867596e-02f, 1.478839002e-02f, 1.474808259e-02f, 1.470775374e-02f, 1.466740354e-02f, 1.462703205e-02f,
+1.458663936e-02f, 1.454622554e-02f, 1.450579065e-02f, 1.446533477e-02f, 1.442485797e-02f, 1.438436032e-02f, 1.434384189e-02f, 1.430330276e-02f, 1.426274299e-02f, 1.422216267e-02f,
+1.418156186e-02f, 1.414094063e-02f, 1.410029905e-02f, 1.405963721e-02f, 1.401895516e-02f, 1.397825298e-02f, 1.393753075e-02f, 1.389678854e-02f, 1.385602641e-02f, 1.381524445e-02f,
+1.377444271e-02f, 1.373362129e-02f, 1.369278024e-02f, 1.365191964e-02f, 1.361103956e-02f, 1.357014008e-02f, 1.352922126e-02f, 1.348828319e-02f, 1.344732593e-02f, 1.340634955e-02f,
+1.336535413e-02f, 1.332433974e-02f, 1.328330645e-02f, 1.324225434e-02f, 1.320118347e-02f, 1.316009393e-02f, 1.311898578e-02f, 1.307785909e-02f, 1.303671395e-02f, 1.299555041e-02f,
+1.295436856e-02f, 1.291316847e-02f, 1.287195021e-02f, 1.283071385e-02f, 1.278945946e-02f, 1.274818712e-02f, 1.270689691e-02f, 1.266558889e-02f, 1.262426314e-02f, 1.258291973e-02f,
+1.254155873e-02f, 1.250018022e-02f, 1.245878426e-02f, 1.241737094e-02f, 1.237594033e-02f, 1.233449250e-02f, 1.229302752e-02f, 1.225154546e-02f, 1.221004640e-02f, 1.216853042e-02f,
+1.212699758e-02f, 1.208544795e-02f, 1.204388162e-02f, 1.200229866e-02f, 1.196069913e-02f, 1.191908312e-02f, 1.187745069e-02f, 1.183580192e-02f, 1.179413688e-02f, 1.175245564e-02f,
+1.171075829e-02f, 1.166904489e-02f, 1.162731551e-02f, 1.158557024e-02f, 1.154380913e-02f, 1.150203227e-02f, 1.146023974e-02f, 1.141843160e-02f, 1.137660792e-02f, 1.133476879e-02f,
+1.129291427e-02f, 1.125104443e-02f, 1.120915937e-02f, 1.116725913e-02f, 1.112534381e-02f, 1.108341347e-02f, 1.104146819e-02f, 1.099950803e-02f, 1.095753309e-02f, 1.091554342e-02f,
+1.087353910e-02f, 1.083152021e-02f, 1.078948682e-02f, 1.074743901e-02f, 1.070537684e-02f, 1.066330040e-02f, 1.062120975e-02f, 1.057910497e-02f, 1.053698613e-02f, 1.049485331e-02f,
+1.045270659e-02f, 1.041054603e-02f, 1.036837171e-02f, 1.032618370e-02f, 1.028398209e-02f, 1.024176693e-02f, 1.019953831e-02f, 1.015729631e-02f, 1.011504098e-02f, 1.007277242e-02f,
+1.003049069e-02f, 9.988195864e-03f, 9.945888022e-03f, 9.903567236e-03f, 9.861233579e-03f, 9.818887127e-03f, 9.776527954e-03f, 9.734156133e-03f, 9.691771739e-03f, 9.649374847e-03f,
+9.606965530e-03f, 9.564543864e-03f, 9.522109922e-03f, 9.479663779e-03f, 9.437205509e-03f, 9.394735187e-03f, 9.352252887e-03f, 9.309758683e-03f, 9.267252650e-03f, 9.224734863e-03f,
+9.182205395e-03f, 9.139664322e-03f, 9.097111717e-03f, 9.054547656e-03f, 9.011972212e-03f, 8.969385461e-03f, 8.926787477e-03f, 8.884178334e-03f, 8.841558107e-03f, 8.798926871e-03f,
+8.756284700e-03f, 8.713631669e-03f, 8.670967851e-03f, 8.628293323e-03f, 8.585608159e-03f, 8.542912433e-03f, 8.500206219e-03f, 8.457489593e-03f, 8.414762630e-03f, 8.372025403e-03f,
+8.329277988e-03f, 8.286520459e-03f, 8.243752891e-03f, 8.200975359e-03f, 8.158187938e-03f, 8.115390701e-03f, 8.072583725e-03f, 8.029767083e-03f, 7.986940851e-03f, 7.944105103e-03f,
+7.901259914e-03f, 7.858405359e-03f, 7.815541513e-03f, 7.772668450e-03f, 7.729786245e-03f, 7.686894974e-03f, 7.643994710e-03f, 7.601085529e-03f, 7.558167506e-03f, 7.515240716e-03f,
+7.472305233e-03f, 7.429361132e-03f, 7.386408488e-03f, 7.343447377e-03f, 7.300477872e-03f, 7.257500049e-03f, 7.214513983e-03f, 7.171519749e-03f, 7.128517421e-03f, 7.085507075e-03f,
+7.042488785e-03f, 6.999462627e-03f, 6.956428675e-03f, 6.913387005e-03f, 6.870337690e-03f, 6.827280807e-03f, 6.784216431e-03f, 6.741144635e-03f, 6.698065496e-03f, 6.654979088e-03f,
+6.611885486e-03f, 6.568784765e-03f, 6.525677001e-03f, 6.482562267e-03f, 6.439440640e-03f, 6.396312194e-03f, 6.353177005e-03f, 6.310035146e-03f, 6.266886694e-03f, 6.223731724e-03f,
+6.180570309e-03f, 6.137402527e-03f, 6.094228450e-03f, 6.051048155e-03f, 6.007861717e-03f, 5.964669211e-03f, 5.921470711e-03f, 5.878266292e-03f, 5.835056031e-03f, 5.791840001e-03f,
+5.748618279e-03f, 5.705390938e-03f, 5.662158055e-03f, 5.618919703e-03f, 5.575675959e-03f, 5.532426898e-03f, 5.489172593e-03f, 5.445913121e-03f, 5.402648557e-03f, 5.359378975e-03f,
+5.316104451e-03f, 5.272825060e-03f, 5.229540877e-03f, 5.186251977e-03f, 5.142958435e-03f, 5.099660326e-03f, 5.056357725e-03f, 5.013050708e-03f, 4.969739349e-03f, 4.926423723e-03f,
+4.883103906e-03f, 4.839779973e-03f, 4.796451999e-03f, 4.753120059e-03f, 4.709784227e-03f, 4.666444580e-03f, 4.623101192e-03f, 4.579754138e-03f, 4.536403493e-03f, 4.493049333e-03f,
+4.449691732e-03f, 4.406330766e-03f, 4.362966509e-03f, 4.319599037e-03f, 4.276228425e-03f, 4.232854748e-03f, 4.189478081e-03f, 4.146098499e-03f, 4.102716077e-03f, 4.059330890e-03f,
+4.015943013e-03f, 3.972552521e-03f, 3.929159490e-03f, 3.885763994e-03f, 3.842366108e-03f, 3.798965908e-03f, 3.755563469e-03f, 3.712158865e-03f, 3.668752171e-03f, 3.625343463e-03f,
+3.581932816e-03f, 3.538520304e-03f, 3.495106003e-03f, 3.451689988e-03f, 3.408272333e-03f, 3.364853114e-03f, 3.321432406e-03f, 3.278010283e-03f, 3.234586821e-03f, 3.191162095e-03f,
+3.147736179e-03f, 3.104309149e-03f, 3.060881080e-03f, 3.017452046e-03f, 2.974022122e-03f, 2.930591384e-03f, 2.887159907e-03f, 2.843727764e-03f, 2.800295032e-03f, 2.756861785e-03f,
+2.713428099e-03f, 2.669994047e-03f, 2.626559705e-03f, 2.583125148e-03f, 2.539690451e-03f, 2.496255688e-03f, 2.452820935e-03f, 2.409386266e-03f, 2.365951756e-03f, 2.322517480e-03f,
+2.279083514e-03f, 2.235649931e-03f, 2.192216806e-03f, 2.148784215e-03f, 2.105352232e-03f, 2.061920933e-03f, 2.018490391e-03f, 1.975060681e-03f, 1.931631879e-03f, 1.888204059e-03f,
+1.844777296e-03f, 1.801351665e-03f, 1.757927240e-03f, 1.714504097e-03f, 1.671082309e-03f, 1.627661951e-03f, 1.584243099e-03f, 1.540825827e-03f, 1.497410210e-03f, 1.453996322e-03f,
+1.410584238e-03f, 1.367174033e-03f, 1.323765780e-03f, 1.280359556e-03f, 1.236955435e-03f, 1.193553490e-03f, 1.150153797e-03f, 1.106756431e-03f, 1.063361466e-03f, 1.019968976e-03f,
+9.765790356e-04f, 9.331917202e-04f, 8.898071039e-04f, 8.464252612e-04f, 8.030462667e-04f, 7.596701947e-04f, 7.162971199e-04f, 6.729271166e-04f, 6.295602593e-04f, 5.861966225e-04f,
+5.428362806e-04f, 4.994793080e-04f, 4.561257790e-04f, 4.127757682e-04f, 3.694293498e-04f, 3.260865983e-04f, 2.827475880e-04f, 2.394123931e-04f, 1.960810882e-04f, 1.527537473e-04f,
+1.094304449e-04f, 6.611125521e-05f, 2.279625250e-05f, -2.051448898e-05f, -6.382089500e-05f, -1.071228913e-04f, -1.504204038e-04f, -1.937133581e-04f, -2.370016802e-04f, -2.802852959e-04f,
+-3.235641311e-04f, -3.668381115e-04f, -4.101071631e-04f, -4.533712119e-04f, -4.966301837e-04f, -5.398840044e-04f, -5.831326000e-04f, -6.263758965e-04f, -6.696138199e-04f, -7.128462961e-04f,
+-7.560732512e-04f, -7.992946112e-04f, -8.425103022e-04f, -8.857202502e-04f, -9.289243813e-04f, -9.721226217e-04f, -1.015314897e-03f, -1.058501134e-03f, -1.101681259e-03f, -1.144855198e-03f,
+-1.188022876e-03f, -1.231184221e-03f, -1.274339158e-03f, -1.317487614e-03f, -1.360629515e-03f, -1.403764787e-03f, -1.446893357e-03f, -1.490015150e-03f, -1.533130094e-03f, -1.576238114e-03f,
+-1.619339137e-03f, -1.662433089e-03f, -1.705519897e-03f, -1.748599488e-03f, -1.791671786e-03f, -1.834736720e-03f, -1.877794216e-03f, -1.920844200e-03f, -1.963886598e-03f, -2.006921337e-03f,
+-2.049948345e-03f, -2.092967546e-03f, -2.135978869e-03f, -2.178982239e-03f, -2.221977584e-03f, -2.264964829e-03f, -2.307943902e-03f, -2.350914730e-03f, -2.393877239e-03f, -2.436831355e-03f,
+-2.479777006e-03f, -2.522714119e-03f, -2.565642620e-03f, -2.608562437e-03f, -2.651473495e-03f, -2.694375722e-03f, -2.737269045e-03f, -2.780153391e-03f, -2.823028687e-03f, -2.865894859e-03f,
+-2.908751836e-03f, -2.951599543e-03f, -2.994437908e-03f, -3.037266857e-03f, -3.080086319e-03f, -3.122896220e-03f, -3.165696488e-03f, -3.208487049e-03f, -3.251267830e-03f, -3.294038760e-03f,
+-3.336799764e-03f, -3.379550772e-03f, -3.422291708e-03f, -3.465022502e-03f, -3.507743081e-03f, -3.550453371e-03f, -3.593153300e-03f, -3.635842796e-03f, -3.678521786e-03f, -3.721190197e-03f,
+-3.763847957e-03f, -3.806494994e-03f, -3.849131235e-03f, -3.891756607e-03f, -3.934371039e-03f, -3.976974458e-03f, -4.019566791e-03f, -4.062147966e-03f, -4.104717911e-03f, -4.147276553e-03f,
+-4.189823821e-03f, -4.232359643e-03f, -4.274883945e-03f, -4.317396656e-03f, -4.359897703e-03f, -4.402387015e-03f, -4.444864519e-03f, -4.487330144e-03f, -4.529783817e-03f, -4.572225467e-03f,
+-4.614655021e-03f, -4.657072407e-03f, -4.699477554e-03f, -4.741870390e-03f, -4.784250842e-03f, -4.826618839e-03f, -4.868974310e-03f, -4.911317181e-03f, -4.953647383e-03f, -4.995964842e-03f,
+-5.038269487e-03f, -5.080561247e-03f, -5.122840050e-03f, -5.165105825e-03f, -5.207358499e-03f, -5.249598001e-03f, -5.291824260e-03f, -5.334037204e-03f, -5.376236762e-03f, -5.418422862e-03f,
+-5.460595433e-03f, -5.502754404e-03f, -5.544899703e-03f, -5.587031259e-03f, -5.629149000e-03f, -5.671252856e-03f, -5.713342755e-03f, -5.755418627e-03f, -5.797480399e-03f, -5.839528001e-03f,
+-5.881561362e-03f, -5.923580410e-03f, -5.965585075e-03f, -6.007575286e-03f, -6.049550971e-03f, -6.091512060e-03f, -6.133458482e-03f, -6.175390166e-03f, -6.217307041e-03f, -6.259209037e-03f,
+-6.301096082e-03f, -6.342968106e-03f, -6.384825039e-03f, -6.426666808e-03f, -6.468493345e-03f, -6.510304578e-03f, -6.552100437e-03f, -6.593880851e-03f, -6.635645749e-03f, -6.677395062e-03f,
+-6.719128719e-03f, -6.760846649e-03f, -6.802548782e-03f, -6.844235048e-03f, -6.885905376e-03f, -6.927559697e-03f, -6.969197939e-03f, -7.010820033e-03f, -7.052425909e-03f, -7.094015496e-03f,
+-7.135588725e-03f, -7.177145524e-03f, -7.218685826e-03f, -7.260209558e-03f, -7.301716652e-03f, -7.343207037e-03f, -7.384680644e-03f, -7.426137403e-03f, -7.467577243e-03f, -7.509000096e-03f,
+-7.550405891e-03f, -7.591794559e-03f, -7.633166030e-03f, -7.674520235e-03f, -7.715857103e-03f, -7.757176566e-03f, -7.798478554e-03f, -7.839762997e-03f, -7.881029825e-03f, -7.922278971e-03f,
+-7.963510363e-03f, -8.004723933e-03f, -8.045919612e-03f, -8.087097330e-03f, -8.128257018e-03f, -8.169398607e-03f, -8.210522028e-03f, -8.251627211e-03f, -8.292714088e-03f, -8.333782590e-03f,
+-8.374832647e-03f, -8.415864190e-03f, -8.456877151e-03f, -8.497871462e-03f, -8.538847052e-03f, -8.579803853e-03f, -8.620741797e-03f, -8.661660815e-03f, -8.702560837e-03f, -8.743441796e-03f,
+-8.784303623e-03f, -8.825146250e-03f, -8.865969606e-03f, -8.906773626e-03f, -8.947558239e-03f, -8.988323377e-03f, -9.029068973e-03f, -9.069794958e-03f, -9.110501263e-03f, -9.151187820e-03f,
+-9.191854561e-03f, -9.232501418e-03f, -9.273128323e-03f, -9.313735208e-03f, -9.354322005e-03f, -9.394888645e-03f, -9.435435061e-03f, -9.475961185e-03f, -9.516466949e-03f, -9.556952285e-03f,
+-9.597417125e-03f, -9.637861402e-03f, -9.678285048e-03f, -9.718687996e-03f, -9.759070177e-03f, -9.799431524e-03f, -9.839771970e-03f, -9.880091446e-03f, -9.920389887e-03f, -9.960667224e-03f,
+-1.000092339e-02f, -1.004115832e-02f, -1.008137194e-02f, -1.012156419e-02f, -1.016173500e-02f, -1.020188430e-02f, -1.024201202e-02f, -1.028211811e-02f, -1.032220249e-02f, -1.036226509e-02f,
+-1.040230585e-02f, -1.044232470e-02f, -1.048232157e-02f, -1.052229641e-02f, -1.056224913e-02f, -1.060217967e-02f, -1.064208798e-02f, -1.068197397e-02f, -1.072183759e-02f, -1.076167876e-02f,
+-1.080149743e-02f, -1.084129352e-02f, -1.088106697e-02f, -1.092081771e-02f, -1.096054567e-02f, -1.100025080e-02f, -1.103993302e-02f, -1.107959226e-02f, -1.111922847e-02f, -1.115884157e-02f,
+-1.119843150e-02f, -1.123799819e-02f, -1.127754158e-02f, -1.131706160e-02f, -1.135655818e-02f, -1.139603126e-02f, -1.143548078e-02f, -1.147490667e-02f, -1.151430885e-02f, -1.155368728e-02f,
+-1.159304187e-02f, -1.163237257e-02f, -1.167167931e-02f, -1.171096203e-02f, -1.175022065e-02f, -1.178945512e-02f, -1.182866537e-02f, -1.186785133e-02f, -1.190701294e-02f, -1.194615013e-02f,
+-1.198526284e-02f, -1.202435101e-02f, -1.206341456e-02f, -1.210245344e-02f, -1.214146757e-02f, -1.218045690e-02f, -1.221942135e-02f, -1.225836087e-02f, -1.229727539e-02f, -1.233616485e-02f,
+-1.237502917e-02f, -1.241386830e-02f, -1.245268218e-02f, -1.249147072e-02f, -1.253023388e-02f, -1.256897159e-02f, -1.260768378e-02f, -1.264637040e-02f, -1.268503136e-02f, -1.272366662e-02f,
+-1.276227610e-02f, -1.280085975e-02f, -1.283941750e-02f, -1.287794928e-02f, -1.291645504e-02f, -1.295493470e-02f, -1.299338820e-02f, -1.303181549e-02f, -1.307021649e-02f, -1.310859114e-02f,
+-1.314693938e-02f, -1.318526115e-02f, -1.322355638e-02f, -1.326182501e-02f, -1.330006697e-02f, -1.333828221e-02f, -1.337647065e-02f, -1.341463224e-02f, -1.345276692e-02f, -1.349087461e-02f,
+-1.352895526e-02f, -1.356700880e-02f, -1.360503517e-02f, -1.364303431e-02f, -1.368100615e-02f, -1.371895064e-02f, -1.375686770e-02f, -1.379475728e-02f, -1.383261931e-02f, -1.387045374e-02f,
+-1.390826049e-02f, -1.394603951e-02f, -1.398379074e-02f, -1.402151410e-02f, -1.405920955e-02f, -1.409687701e-02f, -1.413451642e-02f, -1.417212773e-02f, -1.420971087e-02f, -1.424726578e-02f,
+-1.428479239e-02f, -1.432229065e-02f, -1.435976049e-02f, -1.439720185e-02f, -1.443461467e-02f, -1.447199889e-02f, -1.450935444e-02f, -1.454668127e-02f, -1.458397931e-02f, -1.462124850e-02f,
+-1.465848878e-02f, -1.469570009e-02f, -1.473288236e-02f, -1.477003554e-02f, -1.480715957e-02f, -1.484425438e-02f, -1.488131991e-02f, -1.491835610e-02f, -1.495536290e-02f, -1.499234023e-02f,
+-1.502928804e-02f, -1.506620627e-02f, -1.510309485e-02f, -1.513995374e-02f, -1.517678285e-02f, -1.521358215e-02f, -1.525035155e-02f, -1.528709101e-02f, -1.532380047e-02f, -1.536047986e-02f,
+-1.539712912e-02f, -1.543374819e-02f, -1.547033702e-02f, -1.550689554e-02f, -1.554342369e-02f, -1.557992141e-02f, -1.561638865e-02f, -1.565282533e-02f, -1.568923142e-02f, -1.572560683e-02f,
+-1.576195152e-02f, -1.579826542e-02f, -1.583454847e-02f, -1.587080062e-02f, -1.590702181e-02f, -1.594321197e-02f, -1.597937104e-02f, -1.601549898e-02f, -1.605159571e-02f, -1.608766118e-02f,
+-1.612369532e-02f, -1.615969809e-02f, -1.619566942e-02f, -1.623160926e-02f, -1.626751753e-02f, -1.630339419e-02f, -1.633923918e-02f, -1.637505243e-02f, -1.641083390e-02f, -1.644658351e-02f,
+-1.648230121e-02f, -1.651798695e-02f, -1.655364066e-02f, -1.658926229e-02f, -1.662485178e-02f, -1.666040906e-02f, -1.669593409e-02f, -1.673142680e-02f, -1.676688714e-02f, -1.680231504e-02f,
+-1.683771046e-02f, -1.687307332e-02f, -1.690840358e-02f, -1.694370118e-02f, -1.697896605e-02f, -1.701419815e-02f, -1.704939741e-02f, -1.708456377e-02f, -1.711969719e-02f, -1.715479759e-02f,
+-1.718986493e-02f, -1.722489914e-02f, -1.725990018e-02f, -1.729486798e-02f, -1.732980248e-02f, -1.736470363e-02f, -1.739957138e-02f, -1.743440565e-02f, -1.746920641e-02f, -1.750397359e-02f,
+-1.753870713e-02f, -1.757340698e-02f, -1.760807308e-02f, -1.764270537e-02f, -1.767730381e-02f, -1.771186832e-02f, -1.774639887e-02f, -1.778089538e-02f, -1.781535780e-02f, -1.784978608e-02f,
+-1.788418017e-02f, -1.791854000e-02f, -1.795286552e-02f, -1.798715667e-02f, -1.802141340e-02f, -1.805563565e-02f, -1.808982337e-02f, -1.812397651e-02f, -1.815809499e-02f, -1.819217878e-02f,
+-1.822622781e-02f, -1.826024203e-02f, -1.829422139e-02f, -1.832816582e-02f, -1.836207528e-02f, -1.839594970e-02f, -1.842978904e-02f, -1.846359324e-02f, -1.849736225e-02f, -1.853109600e-02f,
+-1.856479445e-02f, -1.859845753e-02f, -1.863208521e-02f, -1.866567741e-02f, -1.869923409e-02f, -1.873275519e-02f, -1.876624066e-02f, -1.879969044e-02f, -1.883310448e-02f, -1.886648273e-02f,
+-1.889982513e-02f, -1.893313162e-02f, -1.896640216e-02f, -1.899963669e-02f, -1.903283515e-02f, -1.906599750e-02f, -1.909912367e-02f, -1.913221362e-02f, -1.916526728e-02f, -1.919828462e-02f,
+-1.923126557e-02f, -1.926421008e-02f, -1.929711810e-02f, -1.932998957e-02f, -1.936282444e-02f, -1.939562267e-02f, -1.942838418e-02f, -1.946110894e-02f, -1.949379689e-02f, -1.952644798e-02f,
+-1.955906215e-02f, -1.959163935e-02f, -1.962417953e-02f, -1.965668264e-02f, -1.968914862e-02f, -1.972157742e-02f, -1.975396899e-02f, -1.978632328e-02f, -1.981864023e-02f, -1.985091980e-02f,
+-1.988316193e-02f, -1.991536656e-02f, -1.994753366e-02f, -1.997966316e-02f, -2.001175501e-02f, -2.004380916e-02f, -2.007582557e-02f, -2.010780417e-02f, -2.013974492e-02f, -2.017164776e-02f,
+-2.020351265e-02f, -2.023533954e-02f, -2.026712836e-02f, -2.029887908e-02f, -2.033059164e-02f, -2.036226598e-02f, -2.039390207e-02f, -2.042549984e-02f, -2.045705925e-02f, -2.048858024e-02f,
+-2.052006277e-02f, -2.055150678e-02f, -2.058291223e-02f, -2.061427906e-02f, -2.064560723e-02f, -2.067689668e-02f, -2.070814736e-02f, -2.073935923e-02f, -2.077053222e-02f, -2.080166631e-02f,
+-2.083276142e-02f, -2.086381752e-02f, -2.089483455e-02f, -2.092581247e-02f, -2.095675121e-02f, -2.098765075e-02f, -2.101851102e-02f, -2.104933197e-02f, -2.108011357e-02f, -2.111085575e-02f,
+-2.114155846e-02f, -2.117222167e-02f, -2.120284532e-02f, -2.123342936e-02f, -2.126397374e-02f, -2.129447841e-02f, -2.132494333e-02f, -2.135536844e-02f, -2.138575370e-02f, -2.141609907e-02f,
+-2.144640448e-02f, -2.147666989e-02f, -2.150689526e-02f, -2.153708053e-02f, -2.156722566e-02f, -2.159733060e-02f, -2.162739530e-02f, -2.165741972e-02f, -2.168740380e-02f, -2.171734749e-02f,
+-2.174725076e-02f, -2.177711355e-02f, -2.180693582e-02f, -2.183671751e-02f, -2.186645859e-02f, -2.189615899e-02f, -2.192581868e-02f, -2.195543761e-02f, -2.198501573e-02f, -2.201455300e-02f,
+-2.204404936e-02f, -2.207350477e-02f, -2.210291919e-02f, -2.213229256e-02f, -2.216162485e-02f, -2.219091599e-02f, -2.222016596e-02f, -2.224937469e-02f, -2.227854215e-02f, -2.230766828e-02f,
+-2.233675305e-02f, -2.236579641e-02f, -2.239479830e-02f, -2.242375869e-02f, -2.245267752e-02f, -2.248155476e-02f, -2.251039035e-02f, -2.253918425e-02f, -2.256793642e-02f, -2.259664681e-02f,
+-2.262531537e-02f, -2.265394206e-02f, -2.268252683e-02f, -2.271106964e-02f, -2.273957045e-02f, -2.276802920e-02f, -2.279644585e-02f, -2.282482036e-02f, -2.285315269e-02f, -2.288144278e-02f,
+-2.290969060e-02f, -2.293789610e-02f, -2.296605923e-02f, -2.299417995e-02f, -2.302225821e-02f, -2.305029398e-02f, -2.307828721e-02f, -2.310623784e-02f, -2.313414585e-02f, -2.316201118e-02f,
+-2.318983380e-02f, -2.321761365e-02f, -2.324535069e-02f, -2.327304488e-02f, -2.330069618e-02f, -2.332830455e-02f, -2.335586993e-02f, -2.338339228e-02f, -2.341087157e-02f, -2.343830775e-02f,
+-2.346570078e-02f, -2.349305061e-02f, -2.352035720e-02f, -2.354762051e-02f, -2.357484049e-02f, -2.360201710e-02f, -2.362915030e-02f, -2.365624005e-02f, -2.368328630e-02f, -2.371028902e-02f,
+-2.373724815e-02f, -2.376416367e-02f, -2.379103551e-02f, -2.381786365e-02f, -2.384464804e-02f, -2.387138864e-02f, -2.389808541e-02f, -2.392473830e-02f, -2.395134727e-02f, -2.397791229e-02f,
+-2.400443330e-02f, -2.403091028e-02f, -2.405734317e-02f, -2.408373194e-02f, -2.411007655e-02f, -2.413637694e-02f, -2.416263309e-02f, -2.418884496e-02f, -2.421501249e-02f, -2.424113565e-02f,
+-2.426721441e-02f, -2.429324871e-02f, -2.431923852e-02f, -2.434518379e-02f, -2.437108450e-02f, -2.439694059e-02f, -2.442275203e-02f, -2.444851877e-02f, -2.447424078e-02f, -2.449991802e-02f,
+-2.452555044e-02f, -2.455113801e-02f, -2.457668068e-02f, -2.460217842e-02f, -2.462763119e-02f, -2.465303895e-02f, -2.467840166e-02f, -2.470371927e-02f, -2.472899175e-02f, -2.475421907e-02f,
+-2.477940118e-02f, -2.480453803e-02f, -2.482962961e-02f, -2.485467585e-02f, -2.487967673e-02f, -2.490463221e-02f, -2.492954225e-02f, -2.495440680e-02f, -2.497922584e-02f, -2.500399932e-02f,
+-2.502872721e-02f, -2.505340946e-02f, -2.507804604e-02f, -2.510263691e-02f, -2.512718203e-02f, -2.515168137e-02f, -2.517613488e-02f, -2.520054253e-02f, -2.522490428e-02f, -2.524922010e-02f,
+-2.527348994e-02f, -2.529771377e-02f, -2.532189155e-02f, -2.534602325e-02f, -2.537010882e-02f, -2.539414823e-02f, -2.541814145e-02f, -2.544208843e-02f, -2.546598914e-02f, -2.548984354e-02f,
+-2.551365160e-02f, -2.553741328e-02f, -2.556112854e-02f, -2.558479734e-02f, -2.560841966e-02f, -2.563199545e-02f, -2.565552468e-02f, -2.567900730e-02f, -2.570244330e-02f, -2.572583262e-02f,
+-2.574917524e-02f, -2.577247111e-02f, -2.579572021e-02f, -2.581892250e-02f, -2.584207793e-02f, -2.586518648e-02f, -2.588824812e-02f, -2.591126279e-02f, -2.593423048e-02f, -2.595715114e-02f,
+-2.598002475e-02f, -2.600285125e-02f, -2.602563063e-02f, -2.604836285e-02f, -2.607104786e-02f, -2.609368564e-02f, -2.611627616e-02f, -2.613881937e-02f, -2.616131524e-02f, -2.618376375e-02f,
+-2.620616485e-02f, -2.622851851e-02f, -2.625082469e-02f, -2.627308337e-02f, -2.629529451e-02f, -2.631745808e-02f, -2.633957403e-02f, -2.636164235e-02f, -2.638366299e-02f, -2.640563592e-02f,
+-2.642756111e-02f, -2.644943853e-02f, -2.647126813e-02f, -2.649304990e-02f, -2.651478379e-02f, -2.653646978e-02f, -2.655810782e-02f, -2.657969789e-02f, -2.660123996e-02f, -2.662273399e-02f,
+-2.664417995e-02f, -2.666557781e-02f, -2.668692754e-02f, -2.670822910e-02f, -2.672948245e-02f, -2.675068758e-02f, -2.677184445e-02f, -2.679295302e-02f, -2.681401327e-02f, -2.683502515e-02f,
+-2.685598865e-02f, -2.687690373e-02f, -2.689777035e-02f, -2.691858849e-02f, -2.693935812e-02f, -2.696007920e-02f, -2.698075171e-02f, -2.700137560e-02f, -2.702195086e-02f, -2.704247745e-02f,
+-2.706295533e-02f, -2.708338449e-02f, -2.710376488e-02f, -2.712409648e-02f, -2.714437926e-02f, -2.716461319e-02f, -2.718479824e-02f, -2.720493437e-02f, -2.722502156e-02f, -2.724505978e-02f,
+-2.726504899e-02f, -2.728498917e-02f, -2.730488029e-02f, -2.732472232e-02f, -2.734451523e-02f, -2.736425898e-02f, -2.738395356e-02f, -2.740359893e-02f, -2.742319506e-02f, -2.744274192e-02f,
+-2.746223949e-02f, -2.748168773e-02f, -2.750108661e-02f, -2.752043612e-02f, -2.753973621e-02f, -2.755898687e-02f, -2.757818805e-02f, -2.759733974e-02f, -2.761644191e-02f, -2.763549452e-02f,
+-2.765449755e-02f, -2.767345098e-02f, -2.769235476e-02f, -2.771120888e-02f, -2.773001331e-02f, -2.774876802e-02f, -2.776747298e-02f, -2.778612817e-02f, -2.780473355e-02f, -2.782328911e-02f,
+-2.784179480e-02f, -2.786025062e-02f, -2.787865652e-02f, -2.789701248e-02f, -2.791531848e-02f, -2.793357449e-02f, -2.795178048e-02f, -2.796993642e-02f, -2.798804230e-02f, -2.800609807e-02f,
+-2.802410373e-02f, -2.804205923e-02f, -2.805996455e-02f, -2.807781967e-02f, -2.809562457e-02f, -2.811337921e-02f, -2.813108357e-02f, -2.814873762e-02f, -2.816634134e-02f, -2.818389471e-02f,
+-2.820139769e-02f, -2.821885027e-02f, -2.823625241e-02f, -2.825360410e-02f, -2.827090530e-02f, -2.828815599e-02f, -2.830535615e-02f, -2.832250575e-02f, -2.833960478e-02f, -2.835665319e-02f,
+-2.837365097e-02f, -2.839059809e-02f, -2.840749454e-02f, -2.842434028e-02f, -2.844113529e-02f, -2.845787955e-02f, -2.847457303e-02f, -2.849121571e-02f, -2.850780757e-02f, -2.852434857e-02f,
+-2.854083871e-02f, -2.855727795e-02f, -2.857366627e-02f, -2.859000364e-02f, -2.860629006e-02f, -2.862252548e-02f, -2.863870989e-02f, -2.865484327e-02f, -2.867092559e-02f, -2.868695682e-02f,
+-2.870293696e-02f, -2.871886596e-02f, -2.873474382e-02f, -2.875057051e-02f, -2.876634600e-02f, -2.878207028e-02f, -2.879774332e-02f, -2.881336510e-02f, -2.882893560e-02f, -2.884445479e-02f,
+-2.885992266e-02f, -2.887533918e-02f, -2.889070433e-02f, -2.890601809e-02f, -2.892128044e-02f, -2.893649135e-02f, -2.895165081e-02f, -2.896675879e-02f, -2.898181528e-02f, -2.899682024e-02f,
+-2.901177367e-02f, -2.902667554e-02f, -2.904152582e-02f, -2.905632451e-02f, -2.907107157e-02f, -2.908576699e-02f, -2.910041075e-02f, -2.911500282e-02f, -2.912954319e-02f, -2.914403183e-02f,
+-2.915846874e-02f, -2.917285388e-02f, -2.918718723e-02f, -2.920146878e-02f, -2.921569851e-02f, -2.922987640e-02f, -2.924400242e-02f, -2.925807657e-02f, -2.927209881e-02f, -2.928606913e-02f,
+-2.929998752e-02f, -2.931385395e-02f, -2.932766839e-02f, -2.934143085e-02f, -2.935514129e-02f, -2.936879969e-02f, -2.938240605e-02f, -2.939596033e-02f, -2.940946253e-02f, -2.942291262e-02f,
+-2.943631058e-02f, -2.944965641e-02f, -2.946295007e-02f, -2.947619155e-02f, -2.948938083e-02f, -2.950251790e-02f, -2.951560274e-02f, -2.952863533e-02f, -2.954161565e-02f, -2.955454368e-02f,
+-2.956741941e-02f, -2.958024283e-02f, -2.959301391e-02f, -2.960573263e-02f, -2.961839899e-02f, -2.963101295e-02f, -2.964357452e-02f, -2.965608366e-02f, -2.966854037e-02f, -2.968094462e-02f,
+-2.969329640e-02f, -2.970559570e-02f, -2.971784250e-02f, -2.973003677e-02f, -2.974217851e-02f, -2.975426771e-02f, -2.976630433e-02f, -2.977828838e-02f, -2.979021982e-02f, -2.980209866e-02f,
+-2.981392486e-02f, -2.982569842e-02f, -2.983741933e-02f, -2.984908756e-02f, -2.986070310e-02f, -2.987226593e-02f, -2.988377605e-02f, -2.989523343e-02f, -2.990663806e-02f, -2.991798993e-02f,
+-2.992928902e-02f, -2.994053532e-02f, -2.995172882e-02f, -2.996286949e-02f, -2.997395733e-02f, -2.998499231e-02f, -2.999597444e-02f, -3.000690369e-02f, -3.001778005e-02f, -3.002860350e-02f,
+-3.003937403e-02f, -3.005009164e-02f, -3.006075630e-02f, -3.007136800e-02f, -3.008192673e-02f, -3.009243247e-02f, -3.010288522e-02f, -3.011328495e-02f, -3.012363167e-02f, -3.013392534e-02f,
+-3.014416597e-02f, -3.015435353e-02f, -3.016448803e-02f, -3.017456943e-02f, -3.018459774e-02f, -3.019457293e-02f, -3.020449500e-02f, -3.021436394e-02f, -3.022417973e-02f, -3.023394236e-02f,
+-3.024365182e-02f, -3.025330810e-02f, -3.026291118e-02f, -3.027246106e-02f, -3.028195772e-02f, -3.029140116e-02f, -3.030079135e-02f, -3.031012830e-02f, -3.031941198e-02f, -3.032864239e-02f,
+-3.033781951e-02f, -3.034694335e-02f, -3.035601388e-02f, -3.036503109e-02f, -3.037399498e-02f, -3.038290553e-02f, -3.039176274e-02f, -3.040056658e-02f, -3.040931707e-02f, -3.041801417e-02f,
+-3.042665789e-02f, -3.043524822e-02f, -3.044378514e-02f, -3.045226864e-02f, -3.046069872e-02f, -3.046907536e-02f, -3.047739856e-02f, -3.048566830e-02f, -3.049388459e-02f, -3.050204740e-02f,
+-3.051015673e-02f, -3.051821258e-02f, -3.052621492e-02f, -3.053416376e-02f, -3.054205908e-02f, -3.054990088e-02f, -3.055768915e-02f, -3.056542388e-02f, -3.057310506e-02f, -3.058073268e-02f,
+-3.058830673e-02f, -3.059582722e-02f, -3.060329412e-02f, -3.061070743e-02f, -3.061806715e-02f, -3.062537327e-02f, -3.063262577e-02f, -3.063982466e-02f, -3.064696992e-02f, -3.065406154e-02f,
+-3.066109953e-02f, -3.066808387e-02f, -3.067501455e-02f, -3.068189157e-02f, -3.068871493e-02f, -3.069548461e-02f, -3.070220061e-02f, -3.070886292e-02f, -3.071547154e-02f, -3.072202646e-02f,
+-3.072852767e-02f, -3.073497517e-02f, -3.074136895e-02f, -3.074770901e-02f, -3.075399534e-02f, -3.076022793e-02f, -3.076640678e-02f, -3.077253189e-02f, -3.077860324e-02f, -3.078462083e-02f,
+-3.079058466e-02f, -3.079649472e-02f, -3.080235101e-02f, -3.080815352e-02f, -3.081390225e-02f, -3.081959719e-02f, -3.082523834e-02f, -3.083082569e-02f, -3.083635923e-02f, -3.084183898e-02f,
+-3.084726491e-02f, -3.085263703e-02f, -3.085795532e-02f, -3.086321980e-02f, -3.086843045e-02f, -3.087358727e-02f, -3.087869025e-02f, -3.088373939e-02f, -3.088873470e-02f, -3.089367616e-02f,
+-3.089856377e-02f, -3.090339753e-02f, -3.090817743e-02f, -3.091290347e-02f, -3.091757566e-02f, -3.092219398e-02f, -3.092675843e-02f, -3.093126901e-02f, -3.093572572e-02f, -3.094012856e-02f,
+-3.094447752e-02f, -3.094877259e-02f, -3.095301379e-02f, -3.095720110e-02f, -3.096133453e-02f, -3.096541406e-02f, -3.096943971e-02f, -3.097341147e-02f, -3.097732933e-02f, -3.098119329e-02f,
+-3.098500336e-02f, -3.098875953e-02f, -3.099246180e-02f, -3.099611017e-02f, -3.099970464e-02f, -3.100324520e-02f, -3.100673186e-02f, -3.101016462e-02f, -3.101354347e-02f, -3.101686841e-02f,
+-3.102013945e-02f, -3.102335657e-02f, -3.102651979e-02f, -3.102962910e-02f, -3.103268451e-02f, -3.103568600e-02f, -3.103863358e-02f, -3.104152726e-02f, -3.104436702e-02f, -3.104715288e-02f,
+-3.104988483e-02f, -3.105256287e-02f, -3.105518701e-02f, -3.105775724e-02f, -3.106027356e-02f, -3.106273598e-02f, -3.106514449e-02f, -3.106749910e-02f, -3.106979981e-02f, -3.107204661e-02f,
+-3.107423952e-02f, -3.107637853e-02f, -3.107846364e-02f, -3.108049485e-02f, -3.108247217e-02f, -3.108439560e-02f, -3.108626514e-02f, -3.108808079e-02f, -3.108984255e-02f, -3.109155043e-02f,
+-3.109320442e-02f, -3.109480454e-02f, -3.109635078e-02f, -3.109784314e-02f, -3.109928163e-02f, -3.110066625e-02f, -3.110199700e-02f, -3.110327389e-02f, -3.110449692e-02f, -3.110566608e-02f,
+-3.110678140e-02f, -3.110784286e-02f, -3.110885047e-02f, -3.110980423e-02f, -3.111070416e-02f, -3.111155024e-02f, -3.111234249e-02f, -3.111308091e-02f, -3.111376550e-02f, -3.111439626e-02f,
+-3.111497321e-02f, -3.111549634e-02f, -3.111596566e-02f, -3.111638118e-02f, -3.111674289e-02f, -3.111705080e-02f, -3.111730492e-02f, -3.111750525e-02f, -3.111765180e-02f, -3.111774457e-02f,
+-3.111778356e-02f, -3.111776879e-02f, -3.111770025e-02f, -3.111757795e-02f, -3.111740190e-02f, -3.111717210e-02f, -3.111688856e-02f, -3.111655128e-02f, -3.111616026e-02f, -3.111571553e-02f,
+-3.111521707e-02f, -3.111466490e-02f, -3.111405902e-02f, -3.111339944e-02f, -3.111268617e-02f, -3.111191920e-02f, -3.111109856e-02f, -3.111022423e-02f, -3.110929624e-02f, -3.110831459e-02f,
+-3.110727927e-02f, -3.110619031e-02f, -3.110504771e-02f, -3.110385147e-02f, -3.110260160e-02f, -3.110129812e-02f, -3.109994102e-02f, -3.109853031e-02f, -3.109706600e-02f, -3.109554811e-02f,
+-3.109397663e-02f, -3.109235157e-02f, -3.109067295e-02f, -3.108894077e-02f, -3.108715503e-02f, -3.108531576e-02f, -3.108342294e-02f, -3.108147660e-02f, -3.107947675e-02f, -3.107742338e-02f,
+-3.107531651e-02f, -3.107315615e-02f, -3.107094230e-02f, -3.106867498e-02f, -3.106635419e-02f, -3.106397995e-02f, -3.106155226e-02f, -3.105907113e-02f, -3.105653657e-02f, -3.105394859e-02f,
+-3.105130720e-02f, -3.104861241e-02f, -3.104586423e-02f, -3.104306267e-02f, -3.104020774e-02f, -3.103729944e-02f, -3.103433780e-02f, -3.103132281e-02f, -3.102825450e-02f, -3.102513286e-02f,
+-3.102195791e-02f, -3.101872966e-02f, -3.101544813e-02f, -3.101211331e-02f, -3.100872523e-02f, -3.100528389e-02f, -3.100178931e-02f, -3.099824149e-02f, -3.099464045e-02f, -3.099098620e-02f,
+-3.098727874e-02f, -3.098351810e-02f, -3.097970428e-02f, -3.097583729e-02f, -3.097191715e-02f, -3.096794387e-02f, -3.096391745e-02f, -3.095983792e-02f, -3.095570527e-02f, -3.095151954e-02f,
+-3.094728072e-02f, -3.094298883e-02f, -3.093864389e-02f, -3.093424589e-02f, -3.092979487e-02f, -3.092529083e-02f, -3.092073378e-02f, -3.091612373e-02f, -3.091146071e-02f, -3.090674471e-02f,
+-3.090197576e-02f, -3.089715387e-02f, -3.089227905e-02f, -3.088735131e-02f, -3.088237068e-02f, -3.087733715e-02f, -3.087225075e-02f, -3.086711149e-02f, -3.086191939e-02f, -3.085667445e-02f,
+-3.085137669e-02f, -3.084602613e-02f, -3.084062277e-02f, -3.083516664e-02f, -3.082965775e-02f, -3.082409611e-02f, -3.081848174e-02f, -3.081281465e-02f, -3.080709486e-02f, -3.080132238e-02f,
+-3.079549722e-02f, -3.078961941e-02f, -3.078368896e-02f, -3.077770587e-02f, -3.077167017e-02f, -3.076558188e-02f, -3.075944100e-02f, -3.075324756e-02f, -3.074700156e-02f, -3.074070304e-02f,
+-3.073435199e-02f, -3.072794843e-02f, -3.072149240e-02f, -3.071498388e-02f, -3.070842292e-02f, -3.070180951e-02f, -3.069514369e-02f, -3.068842545e-02f, -3.068165483e-02f, -3.067483184e-02f,
+-3.066795648e-02f, -3.066102879e-02f, -3.065404878e-02f, -3.064701646e-02f, -3.063993185e-02f, -3.063279497e-02f, -3.062560584e-02f, -3.061836447e-02f, -3.061107088e-02f, -3.060372509e-02f,
+-3.059632711e-02f, -3.058887697e-02f, -3.058137468e-02f, -3.057382026e-02f, -3.056621372e-02f, -3.055855509e-02f, -3.055084439e-02f, -3.054308162e-02f, -3.053526681e-02f, -3.052739999e-02f,
+-3.051948116e-02f, -3.051151034e-02f, -3.050348756e-02f, -3.049541283e-02f, -3.048728617e-02f, -3.047910760e-02f, -3.047087714e-02f, -3.046259481e-02f, -3.045426062e-02f, -3.044587461e-02f,
+-3.043743678e-02f, -3.042894715e-02f, -3.042040575e-02f, -3.041181259e-02f, -3.040316770e-02f, -3.039447109e-02f, -3.038572279e-02f, -3.037692281e-02f, -3.036807117e-02f, -3.035916790e-02f,
+-3.035021301e-02f, -3.034120653e-02f, -3.033214847e-02f, -3.032303886e-02f, -3.031387771e-02f, -3.030466505e-02f, -3.029540090e-02f, -3.028608528e-02f, -3.027671820e-02f, -3.026729969e-02f,
+-3.025782978e-02f, -3.024830848e-02f, -3.023873581e-02f, -3.022911180e-02f, -3.021943646e-02f, -3.020970982e-02f, -3.019993190e-02f, -3.019010273e-02f, -3.018022231e-02f, -3.017029068e-02f,
+-3.016030786e-02f, -3.015027387e-02f, -3.014018872e-02f, -3.013005245e-02f, -3.011986508e-02f, -3.010962662e-02f, -3.009933711e-02f, -3.008899655e-02f, -3.007860498e-02f, -3.006816242e-02f,
+-3.005766890e-02f, -3.004712442e-02f, -3.003652902e-02f, -3.002588273e-02f, -3.001518555e-02f, -3.000443752e-02f, -2.999363866e-02f, -2.998278900e-02f, -2.997188855e-02f, -2.996093734e-02f,
+-2.994993540e-02f, -2.993888274e-02f, -2.992777939e-02f, -2.991662538e-02f, -2.990542073e-02f, -2.989416546e-02f, -2.988285960e-02f, -2.987150317e-02f, -2.986009620e-02f, -2.984863871e-02f,
+-2.983713072e-02f, -2.982557226e-02f, -2.981396336e-02f, -2.980230403e-02f, -2.979059431e-02f, -2.977883422e-02f, -2.976702379e-02f, -2.975516303e-02f, -2.974325197e-02f, -2.973129065e-02f,
+-2.971927908e-02f, -2.970721729e-02f, -2.969510530e-02f, -2.968294315e-02f, -2.967073086e-02f, -2.965846844e-02f, -2.964615594e-02f, -2.963379337e-02f, -2.962138076e-02f, -2.960891814e-02f,
+-2.959640553e-02f, -2.958384296e-02f, -2.957123045e-02f, -2.955856804e-02f, -2.954585575e-02f, -2.953309360e-02f, -2.952028162e-02f, -2.950741984e-02f, -2.949450829e-02f, -2.948154699e-02f,
+-2.946853597e-02f, -2.945547525e-02f, -2.944236487e-02f, -2.942920485e-02f, -2.941599522e-02f, -2.940273601e-02f, -2.938942723e-02f, -2.937606893e-02f, -2.936266113e-02f, -2.934920385e-02f,
+-2.933569713e-02f, -2.932214099e-02f, -2.930853546e-02f, -2.929488057e-02f, -2.928117634e-02f, -2.926742281e-02f, -2.925362000e-02f, -2.923976795e-02f, -2.922586667e-02f, -2.921191620e-02f,
+-2.919791657e-02f, -2.918386781e-02f, -2.916976994e-02f, -2.915562299e-02f, -2.914142700e-02f, -2.912718199e-02f, -2.911288798e-02f, -2.909854502e-02f, -2.908415313e-02f, -2.906971234e-02f,
+-2.905522268e-02f, -2.904068417e-02f, -2.902609686e-02f, -2.901146076e-02f, -2.899677590e-02f, -2.898204233e-02f, -2.896726006e-02f, -2.895242913e-02f, -2.893754957e-02f, -2.892262140e-02f,
+-2.890764466e-02f, -2.889261938e-02f, -2.887754559e-02f, -2.886242332e-02f, -2.884725259e-02f, -2.883203345e-02f, -2.881676592e-02f, -2.880145003e-02f, -2.878608582e-02f, -2.877067331e-02f,
+-2.875521253e-02f, -2.873970352e-02f, -2.872414631e-02f, -2.870854093e-02f, -2.869288740e-02f, -2.867718577e-02f, -2.866143607e-02f, -2.864563832e-02f, -2.862979255e-02f, -2.861389881e-02f,
+-2.859795711e-02f, -2.858196750e-02f, -2.856593000e-02f, -2.854984465e-02f, -2.853371148e-02f, -2.851753052e-02f, -2.850130181e-02f, -2.848502537e-02f, -2.846870124e-02f, -2.845232945e-02f,
+-2.843591003e-02f, -2.841944302e-02f, -2.840292846e-02f, -2.838636636e-02f, -2.836975677e-02f, -2.835309972e-02f, -2.833639524e-02f, -2.831964336e-02f, -2.830284413e-02f, -2.828599757e-02f,
+-2.826910371e-02f, -2.825216259e-02f, -2.823517424e-02f, -2.821813870e-02f, -2.820105600e-02f, -2.818392618e-02f, -2.816674926e-02f, -2.814952528e-02f, -2.813225428e-02f, -2.811493629e-02f,
+-2.809757135e-02f, -2.808015948e-02f, -2.806270073e-02f, -2.804519512e-02f, -2.802764270e-02f, -2.801004349e-02f, -2.799239754e-02f, -2.797470487e-02f, -2.795696553e-02f, -2.793917954e-02f,
+-2.792134694e-02f, -2.790346777e-02f, -2.788554206e-02f, -2.786756985e-02f, -2.784955116e-02f, -2.783148605e-02f, -2.781337454e-02f, -2.779521667e-02f, -2.777701248e-02f, -2.775876199e-02f,
+-2.774046525e-02f, -2.772212229e-02f, -2.770373315e-02f, -2.768529787e-02f, -2.766681647e-02f, -2.764828900e-02f, -2.762971549e-02f, -2.761109598e-02f, -2.759243051e-02f, -2.757371911e-02f,
+-2.755496181e-02f, -2.753615866e-02f, -2.751730970e-02f, -2.749841495e-02f, -2.747947445e-02f, -2.746048825e-02f, -2.744145638e-02f, -2.742237887e-02f, -2.740325577e-02f, -2.738408710e-02f,
+-2.736487292e-02f, -2.734561325e-02f, -2.732630813e-02f, -2.730695761e-02f, -2.728756171e-02f, -2.726812048e-02f, -2.724863395e-02f, -2.722910216e-02f, -2.720952515e-02f, -2.718990296e-02f,
+-2.717023563e-02f, -2.715052318e-02f, -2.713076567e-02f, -2.711096313e-02f, -2.709111560e-02f, -2.707122311e-02f, -2.705128571e-02f, -2.703130343e-02f, -2.701127631e-02f, -2.699120440e-02f,
+-2.697108772e-02f, -2.695092633e-02f, -2.693072025e-02f, -2.691046953e-02f, -2.689017420e-02f, -2.686983431e-02f, -2.684944990e-02f, -2.682902099e-02f, -2.680854764e-02f, -2.678802988e-02f,
+-2.676746776e-02f, -2.674686130e-02f, -2.672621056e-02f, -2.670551557e-02f, -2.668477636e-02f, -2.666399299e-02f, -2.664316549e-02f, -2.662229390e-02f, -2.660137826e-02f, -2.658041861e-02f,
+-2.655941499e-02f, -2.653836745e-02f, -2.651727601e-02f, -2.649614073e-02f, -2.647496164e-02f, -2.645373879e-02f, -2.643247220e-02f, -2.641116194e-02f, -2.638980803e-02f, -2.636841051e-02f,
+-2.634696943e-02f, -2.632548484e-02f, -2.630395676e-02f, -2.628238524e-02f, -2.626077032e-02f, -2.623911205e-02f, -2.621741046e-02f, -2.619566560e-02f, -2.617387751e-02f, -2.615204623e-02f,
+-2.613017179e-02f, -2.610825425e-02f, -2.608629365e-02f, -2.606429002e-02f, -2.604224341e-02f, -2.602015386e-02f, -2.599802141e-02f, -2.597584611e-02f, -2.595362800e-02f, -2.593136711e-02f,
+-2.590906350e-02f, -2.588671720e-02f, -2.586432825e-02f, -2.584189671e-02f, -2.581942261e-02f, -2.579690599e-02f, -2.577434690e-02f, -2.575174538e-02f, -2.572910148e-02f, -2.570641523e-02f,
+-2.568368668e-02f, -2.566091587e-02f, -2.563810285e-02f, -2.561524765e-02f, -2.559235033e-02f, -2.556941092e-02f, -2.554642948e-02f, -2.552340603e-02f, -2.550034064e-02f, -2.547723333e-02f,
+-2.545408416e-02f, -2.543089316e-02f, -2.540766038e-02f, -2.538438588e-02f, -2.536106968e-02f, -2.533771183e-02f, -2.531431238e-02f, -2.529087137e-02f, -2.526738885e-02f, -2.524386486e-02f,
+-2.522029945e-02f, -2.519669265e-02f, -2.517304452e-02f, -2.514935510e-02f, -2.512562443e-02f, -2.510185256e-02f, -2.507803953e-02f, -2.505418539e-02f, -2.503029018e-02f, -2.500635395e-02f,
+-2.498237674e-02f, -2.495835860e-02f, -2.493429958e-02f, -2.491019971e-02f, -2.488605905e-02f, -2.486187763e-02f, -2.483765551e-02f, -2.481339274e-02f, -2.478908934e-02f, -2.476474538e-02f,
+-2.474036090e-02f, -2.471593594e-02f, -2.469147055e-02f, -2.466696478e-02f, -2.464241866e-02f, -2.461783226e-02f, -2.459320560e-02f, -2.456853875e-02f, -2.454383174e-02f, -2.451908463e-02f,
+-2.449429745e-02f, -2.446947026e-02f, -2.444460310e-02f, -2.441969602e-02f, -2.439474906e-02f, -2.436976227e-02f, -2.434473571e-02f, -2.431966941e-02f, -2.429456342e-02f, -2.426941779e-02f,
+-2.424423256e-02f, -2.421900779e-02f, -2.419374352e-02f, -2.416843980e-02f, -2.414309667e-02f, -2.411771419e-02f, -2.409229240e-02f, -2.406683134e-02f, -2.404133107e-02f, -2.401579163e-02f,
+-2.399021307e-02f, -2.396459544e-02f, -2.393893878e-02f, -2.391324315e-02f, -2.388750859e-02f, -2.386173515e-02f, -2.383592288e-02f, -2.381007182e-02f, -2.378418202e-02f, -2.375825354e-02f,
+-2.373228642e-02f, -2.370628071e-02f, -2.368023646e-02f, -2.365415371e-02f, -2.362803251e-02f, -2.360187292e-02f, -2.357567498e-02f, -2.354943874e-02f, -2.352316425e-02f, -2.349685156e-02f,
+-2.347050072e-02f, -2.344411177e-02f, -2.341768476e-02f, -2.339121975e-02f, -2.336471679e-02f, -2.333817591e-02f, -2.331159718e-02f, -2.328498064e-02f, -2.325832634e-02f, -2.323163433e-02f,
+-2.320490466e-02f, -2.317813738e-02f, -2.315133253e-02f, -2.312449018e-02f, -2.309761036e-02f, -2.307069313e-02f, -2.304373854e-02f, -2.301674664e-02f, -2.298971748e-02f, -2.296265110e-02f,
+-2.293554756e-02f, -2.290840691e-02f, -2.288122920e-02f, -2.285401448e-02f, -2.282676280e-02f, -2.279947420e-02f, -2.277214875e-02f, -2.274478649e-02f, -2.271738747e-02f, -2.268995174e-02f,
+-2.266247935e-02f, -2.263497036e-02f, -2.260742481e-02f, -2.257984276e-02f, -2.255222425e-02f, -2.252456934e-02f, -2.249687808e-02f, -2.246915051e-02f, -2.244138670e-02f, -2.241358669e-02f,
+-2.238575053e-02f, -2.235787828e-02f, -2.232996998e-02f, -2.230202570e-02f, -2.227404546e-02f, -2.224602934e-02f, -2.221797739e-02f, -2.218988964e-02f, -2.216176616e-02f, -2.213360700e-02f,
+-2.210541221e-02f, -2.207718184e-02f, -2.204891594e-02f, -2.202061456e-02f, -2.199227777e-02f, -2.196390560e-02f, -2.193549812e-02f, -2.190705537e-02f, -2.187857740e-02f, -2.185006427e-02f,
+-2.182151604e-02f, -2.179293275e-02f, -2.176431445e-02f, -2.173566120e-02f, -2.170697306e-02f, -2.167825006e-02f, -2.164949228e-02f, -2.162069975e-02f, -2.159187254e-02f, -2.156301069e-02f,
+-2.153411426e-02f, -2.150518330e-02f, -2.147621787e-02f, -2.144721801e-02f, -2.141818378e-02f, -2.138911524e-02f, -2.136001243e-02f, -2.133087542e-02f, -2.130170425e-02f, -2.127249898e-02f,
+-2.124325966e-02f, -2.121398634e-02f, -2.118467908e-02f, -2.115533793e-02f, -2.112596295e-02f, -2.109655419e-02f, -2.106711170e-02f, -2.103763554e-02f, -2.100812576e-02f, -2.097858242e-02f,
+-2.094900556e-02f, -2.091939525e-02f, -2.088975154e-02f, -2.086007447e-02f, -2.083036412e-02f, -2.080062052e-02f, -2.077084374e-02f, -2.074103382e-02f, -2.071119083e-02f, -2.068131482e-02f,
+-2.065140584e-02f, -2.062146395e-02f, -2.059148920e-02f, -2.056148165e-02f, -2.053144135e-02f, -2.050136835e-02f, -2.047126272e-02f, -2.044112450e-02f, -2.041095376e-02f, -2.038075054e-02f,
+-2.035051490e-02f, -2.032024689e-02f, -2.028994658e-02f, -2.025961402e-02f, -2.022924926e-02f, -2.019885235e-02f, -2.016842336e-02f, -2.013796234e-02f, -2.010746934e-02f, -2.007694441e-02f,
+-2.004638763e-02f, -2.001579903e-02f, -1.998517868e-02f, -1.995452664e-02f, -1.992384295e-02f, -1.989312767e-02f, -1.986238087e-02f, -1.983160259e-02f, -1.980079289e-02f, -1.976995182e-02f,
+-1.973907946e-02f, -1.970817584e-02f, -1.967724102e-02f, -1.964627507e-02f, -1.961527804e-02f, -1.958424998e-02f, -1.955319096e-02f, -1.952210102e-02f, -1.949098022e-02f, -1.945982863e-02f,
+-1.942864629e-02f, -1.939743327e-02f, -1.936618961e-02f, -1.933491538e-02f, -1.930361064e-02f, -1.927227544e-02f, -1.924090983e-02f, -1.920951388e-02f, -1.917808764e-02f, -1.914663117e-02f,
+-1.911514453e-02f, -1.908362776e-02f, -1.905208094e-02f, -1.902050411e-02f, -1.898889734e-02f, -1.895726068e-02f, -1.892559418e-02f, -1.889389792e-02f, -1.886217193e-02f, -1.883041629e-02f,
+-1.879863104e-02f, -1.876681625e-02f, -1.873497198e-02f, -1.870309827e-02f, -1.867119519e-02f, -1.863926280e-02f, -1.860730116e-02f, -1.857531031e-02f, -1.854329033e-02f, -1.851124126e-02f,
+-1.847916317e-02f, -1.844705612e-02f, -1.841492015e-02f, -1.838275534e-02f, -1.835056173e-02f, -1.831833939e-02f, -1.828608837e-02f, -1.825380874e-02f, -1.822150054e-02f, -1.818916385e-02f,
+-1.815679871e-02f, -1.812440519e-02f, -1.809198335e-02f, -1.805953324e-02f, -1.802705492e-02f, -1.799454845e-02f, -1.796201389e-02f, -1.792945129e-02f, -1.789686073e-02f, -1.786424224e-02f,
+-1.783159591e-02f, -1.779892177e-02f, -1.776621990e-02f, -1.773349035e-02f, -1.770073318e-02f, -1.766794844e-02f, -1.763513621e-02f, -1.760229653e-02f, -1.756942946e-02f, -1.753653508e-02f,
+-1.750361342e-02f, -1.747066457e-02f, -1.743768856e-02f, -1.740468547e-02f, -1.737165535e-02f, -1.733859826e-02f, -1.730551426e-02f, -1.727240341e-02f, -1.723926577e-02f, -1.720610140e-02f,
+-1.717291037e-02f, -1.713969272e-02f, -1.710644851e-02f, -1.707317782e-02f, -1.703988070e-02f, -1.700655720e-02f, -1.697320739e-02f, -1.693983133e-02f, -1.690642908e-02f, -1.687300070e-02f,
+-1.683954624e-02f, -1.680606577e-02f, -1.677255936e-02f, -1.673902704e-02f, -1.670546890e-02f, -1.667188499e-02f, -1.663827537e-02f, -1.660464009e-02f, -1.657097923e-02f, -1.653729283e-02f,
+-1.650358097e-02f, -1.646984370e-02f, -1.643608108e-02f, -1.640229317e-02f, -1.636848003e-02f, -1.633464173e-02f, -1.630077833e-02f, -1.626688987e-02f, -1.623297644e-02f, -1.619903808e-02f,
+-1.616507485e-02f, -1.613108683e-02f, -1.609707406e-02f, -1.606303662e-02f, -1.602897455e-02f, -1.599488793e-02f, -1.596077681e-02f, -1.592664126e-02f, -1.589248133e-02f, -1.585829708e-02f,
+-1.582408859e-02f, -1.578985590e-02f, -1.575559908e-02f, -1.572131819e-02f, -1.568701330e-02f, -1.565268446e-02f, -1.561833174e-02f, -1.558395519e-02f, -1.554955488e-02f, -1.551513087e-02f,
+-1.548068323e-02f, -1.544621200e-02f, -1.541171726e-02f, -1.537719907e-02f, -1.534265748e-02f, -1.530809257e-02f, -1.527350438e-02f, -1.523889299e-02f, -1.520425845e-02f, -1.516960083e-02f,
+-1.513492019e-02f, -1.510021659e-02f, -1.506549010e-02f, -1.503074076e-02f, -1.499596866e-02f, -1.496117384e-02f, -1.492635637e-02f, -1.489151632e-02f, -1.485665374e-02f, -1.482176870e-02f,
+-1.478686126e-02f, -1.475193148e-02f, -1.471697942e-02f, -1.468200515e-02f, -1.464700873e-02f, -1.461199022e-02f, -1.457694969e-02f, -1.454188719e-02f, -1.450680278e-02f, -1.447169654e-02f,
+-1.443656853e-02f, -1.440141880e-02f, -1.436624741e-02f, -1.433105444e-02f, -1.429583995e-02f, -1.426060399e-02f, -1.422534663e-02f, -1.419006793e-02f, -1.415476796e-02f, -1.411944677e-02f,
+-1.408410444e-02f, -1.404874102e-02f, -1.401335657e-02f, -1.397795117e-02f, -1.394252487e-02f, -1.390707773e-02f, -1.387160982e-02f, -1.383612120e-02f, -1.380061194e-02f, -1.376508210e-02f,
+-1.372953174e-02f, -1.369396092e-02f, -1.365836971e-02f, -1.362275817e-02f, -1.358712636e-02f, -1.355147435e-02f, -1.351580220e-02f, -1.348010998e-02f, -1.344439774e-02f, -1.340866556e-02f,
+-1.337291349e-02f, -1.333714159e-02f, -1.330134994e-02f, -1.326553859e-02f, -1.322970761e-02f, -1.319385706e-02f, -1.315798701e-02f, -1.312209752e-02f, -1.308618865e-02f, -1.305026047e-02f,
+-1.301431303e-02f, -1.297834641e-02f, -1.294236067e-02f, -1.290635587e-02f, -1.287033208e-02f, -1.283428936e-02f, -1.279822776e-02f, -1.276214737e-02f, -1.272604824e-02f, -1.268993043e-02f,
+-1.265379401e-02f, -1.261763905e-02f, -1.258146560e-02f, -1.254527373e-02f, -1.250906351e-02f, -1.247283500e-02f, -1.243658826e-02f, -1.240032336e-02f, -1.236404036e-02f, -1.232773933e-02f,
+-1.229142033e-02f, -1.225508342e-02f, -1.221872868e-02f, -1.218235615e-02f, -1.214596592e-02f, -1.210955803e-02f, -1.207313256e-02f, -1.203668958e-02f, -1.200022914e-02f, -1.196375131e-02f,
+-1.192725615e-02f, -1.189074373e-02f, -1.185421412e-02f, -1.181766737e-02f, -1.178110356e-02f, -1.174452275e-02f, -1.170792499e-02f, -1.167131036e-02f, -1.163467893e-02f, -1.159803075e-02f,
+-1.156136589e-02f, -1.152468442e-02f, -1.148798639e-02f, -1.145127189e-02f, -1.141454096e-02f, -1.137779368e-02f, -1.134103010e-02f, -1.130425030e-02f, -1.126745434e-02f, -1.123064229e-02f,
+-1.119381420e-02f, -1.115697015e-02f, -1.112011020e-02f, -1.108323441e-02f, -1.104634285e-02f, -1.100943559e-02f, -1.097251269e-02f, -1.093557421e-02f, -1.089862022e-02f, -1.086165078e-02f,
+-1.082466597e-02f, -1.078766584e-02f, -1.075065046e-02f, -1.071361990e-02f, -1.067657422e-02f, -1.063951348e-02f, -1.060243776e-02f, -1.056534711e-02f, -1.052824160e-02f, -1.049112131e-02f,
+-1.045398628e-02f, -1.041683660e-02f, -1.037967231e-02f, -1.034249350e-02f, -1.030530022e-02f, -1.026809254e-02f, -1.023087053e-02f, -1.019363425e-02f, -1.015638376e-02f, -1.011911914e-02f,
+-1.008184044e-02f, -1.004454774e-02f, -1.000724110e-02f, -9.969920579e-03f, -9.932586250e-03f, -9.895238177e-03f, -9.857876425e-03f, -9.820501060e-03f, -9.783112148e-03f, -9.745709755e-03f,
+-9.708293946e-03f, -9.670864786e-03f, -9.633422343e-03f, -9.595966681e-03f, -9.558497866e-03f, -9.521015965e-03f, -9.483521042e-03f, -9.446013165e-03f, -9.408492398e-03f, -9.370958807e-03f,
+-9.333412460e-03f, -9.295853420e-03f, -9.258281755e-03f, -9.220697531e-03f, -9.183100812e-03f, -9.145491666e-03f, -9.107870158e-03f, -9.070236355e-03f, -9.032590321e-03f, -8.994932124e-03f,
+-8.957261830e-03f, -8.919579504e-03f, -8.881885212e-03f, -8.844179021e-03f, -8.806460997e-03f, -8.768731205e-03f, -8.730989713e-03f, -8.693236586e-03f, -8.655471890e-03f, -8.617695691e-03f,
+-8.579908057e-03f, -8.542109052e-03f, -8.504298744e-03f, -8.466477198e-03f, -8.428644480e-03f, -8.390800658e-03f, -8.352945796e-03f, -8.315079962e-03f, -8.277203222e-03f, -8.239315642e-03f,
+-8.201417289e-03f, -8.163508228e-03f, -8.125588527e-03f, -8.087658251e-03f, -8.049717466e-03f, -8.011766241e-03f, -7.973804639e-03f, -7.935832729e-03f, -7.897850577e-03f, -7.859858248e-03f,
+-7.821855810e-03f, -7.783843328e-03f, -7.745820870e-03f, -7.707788502e-03f, -7.669746290e-03f, -7.631694301e-03f, -7.593632601e-03f, -7.555561257e-03f, -7.517480335e-03f, -7.479389903e-03f,
+-7.441290026e-03f, -7.403180770e-03f, -7.365062204e-03f, -7.326934393e-03f, -7.288797404e-03f, -7.250651303e-03f, -7.212496157e-03f, -7.174332032e-03f, -7.136158997e-03f, -7.097977116e-03f,
+-7.059786456e-03f, -7.021587085e-03f, -6.983379069e-03f, -6.945162475e-03f, -6.906937369e-03f, -6.868703817e-03f, -6.830461888e-03f, -6.792211647e-03f, -6.753953161e-03f, -6.715686497e-03f,
+-6.677411722e-03f, -6.639128902e-03f, -6.600838104e-03f, -6.562539396e-03f, -6.524232842e-03f, -6.485918512e-03f, -6.447596470e-03f, -6.409266784e-03f, -6.370929522e-03f, -6.332584749e-03f,
+-6.294232532e-03f, -6.255872939e-03f, -6.217506035e-03f, -6.179131889e-03f, -6.140750566e-03f, -6.102362134e-03f, -6.063966660e-03f, -6.025564209e-03f, -5.987154850e-03f, -5.948738649e-03f,
+-5.910315673e-03f, -5.871885989e-03f, -5.833449663e-03f, -5.795006763e-03f, -5.756557355e-03f, -5.718101507e-03f, -5.679639285e-03f, -5.641170757e-03f, -5.602695988e-03f, -5.564215046e-03f,
+-5.525727999e-03f, -5.487234912e-03f, -5.448735853e-03f, -5.410230889e-03f, -5.371720086e-03f, -5.333203512e-03f, -5.294681234e-03f, -5.256153318e-03f, -5.217619832e-03f, -5.179080842e-03f,
+-5.140536416e-03f, -5.101986620e-03f, -5.063431522e-03f, -5.024871188e-03f, -4.986305685e-03f, -4.947735080e-03f, -4.909159441e-03f, -4.870578834e-03f, -4.831993326e-03f, -4.793402985e-03f,
+-4.754807877e-03f, -4.716208069e-03f, -4.677603628e-03f, -4.638994621e-03f, -4.600381116e-03f, -4.561763179e-03f, -4.523140877e-03f, -4.484514277e-03f, -4.445883447e-03f, -4.407248453e-03f,
+-4.368609362e-03f, -4.329966242e-03f, -4.291319158e-03f, -4.252668179e-03f, -4.214013371e-03f, -4.175354802e-03f, -4.136692538e-03f, -4.098026646e-03f, -4.059357194e-03f, -4.020684248e-03f,
+-3.982007875e-03f, -3.943328143e-03f, -3.904645118e-03f, -3.865958867e-03f, -3.827269458e-03f, -3.788576958e-03f, -3.749881433e-03f, -3.711182950e-03f, -3.672481577e-03f, -3.633777380e-03f,
+-3.595070426e-03f, -3.556360783e-03f, -3.517648518e-03f, -3.478933697e-03f, -3.440216388e-03f, -3.401496657e-03f, -3.362774571e-03f, -3.324050198e-03f, -3.285323604e-03f, -3.246594857e-03f,
+-3.207864023e-03f, -3.169131170e-03f, -3.130396364e-03f, -3.091659673e-03f, -3.052921162e-03f, -3.014180900e-03f, -2.975438954e-03f, -2.936695390e-03f, -2.897950274e-03f, -2.859203675e-03f,
+-2.820455660e-03f, -2.781706294e-03f, -2.742955645e-03f, -2.704203781e-03f, -2.665450767e-03f, -2.626696671e-03f, -2.587941560e-03f, -2.549185501e-03f, -2.510428560e-03f, -2.471670805e-03f,
+-2.432912302e-03f, -2.394153119e-03f, -2.355393322e-03f, -2.316632978e-03f, -2.277872155e-03f, -2.239110918e-03f, -2.200349335e-03f, -2.161587473e-03f, -2.122825399e-03f, -2.084063179e-03f,
+-2.045300880e-03f, -2.006538570e-03f, -1.967776315e-03f, -1.929014181e-03f, -1.890252237e-03f, -1.851490548e-03f, -1.812729181e-03f, -1.773968204e-03f, -1.735207682e-03f, -1.696447684e-03f,
+-1.657688275e-03f, -1.618929522e-03f, -1.580171493e-03f, -1.541414254e-03f, -1.502657871e-03f, -1.463902412e-03f, -1.425147944e-03f, -1.386394532e-03f, -1.347642244e-03f, -1.308891146e-03f,
+-1.270141306e-03f, -1.231392790e-03f, -1.192645664e-03f, -1.153899996e-03f, -1.115155851e-03f, -1.076413297e-03f, -1.037672401e-03f, -9.989332286e-04f, -9.601958469e-04f, -9.214603226e-04f,
+-8.827267222e-04f, -8.439951123e-04f, -8.052655597e-04f, -7.665381308e-04f, -7.278128924e-04f, -6.890899109e-04f, -6.503692530e-04f, -6.116509852e-04f, -5.729351741e-04f, -5.342218863e-04f,
+-4.955111882e-04f, -4.568031464e-04f, -4.180978274e-04f, -3.793952977e-04f, -3.406956238e-04f, -3.019988722e-04f, -2.633051094e-04f, -2.246144017e-04f, -1.859268158e-04f, -1.472424179e-04f,
+-1.085612746e-04f, -6.988345225e-05f, -3.120901722e-05f, 7.461964059e-06f, 4.612942522e-05f, 8.479329990e-05f, 1.234535217e-04f, 1.621100244e-04f, 2.007627415e-04f, 2.394116069e-04f,
+2.780565540e-04f, 3.166975168e-04f, 3.553344288e-04f, 3.939672239e-04f, 4.325958357e-04f, 4.712201981e-04f, 5.098402448e-04f, 5.484559096e-04f, 5.870671263e-04f, 6.256738286e-04f,
+6.642759506e-04f, 7.028734259e-04f, 7.414661884e-04f, 7.800541720e-04f, 8.186373106e-04f, 8.572155381e-04f, 8.957887884e-04f, 9.343569954e-04f, 9.729200931e-04f, 1.011478015e-03f,
+1.050030696e-03f, 1.088578070e-03f, 1.127120070e-03f, 1.165656631e-03f, 1.204187686e-03f, 1.242713170e-03f, 1.281233017e-03f, 1.319747160e-03f, 1.358255535e-03f, 1.396758074e-03f,
+1.435254713e-03f, 1.473745385e-03f, 1.512230024e-03f, 1.550708565e-03f, 1.589180942e-03f, 1.627647089e-03f, 1.666106940e-03f, 1.704560429e-03f, 1.743007492e-03f, 1.781448061e-03f,
+1.819882072e-03f, 1.858309458e-03f, 1.896730154e-03f, 1.935144095e-03f, 1.973551214e-03f, 2.011951446e-03f, 2.050344726e-03f, 2.088730988e-03f, 2.127110165e-03f, 2.165482194e-03f,
+2.203847008e-03f, 2.242204541e-03f, 2.280554729e-03f, 2.318897505e-03f, 2.357232805e-03f, 2.395560563e-03f, 2.433880713e-03f, 2.472193190e-03f, 2.510497928e-03f, 2.548794863e-03f,
+2.587083929e-03f, 2.625365061e-03f, 2.663638192e-03f, 2.701903259e-03f, 2.740160196e-03f, 2.778408937e-03f, 2.816649417e-03f, 2.854881572e-03f, 2.893105335e-03f, 2.931320642e-03f,
+2.969527428e-03f, 3.007725627e-03f, 3.045915175e-03f, 3.084096006e-03f, 3.122268055e-03f, 3.160431257e-03f, 3.198585548e-03f, 3.236730862e-03f, 3.274867134e-03f, 3.312994299e-03f,
+3.351112293e-03f, 3.389221050e-03f, 3.427320505e-03f, 3.465410594e-03f, 3.503491252e-03f, 3.541562414e-03f, 3.579624015e-03f, 3.617675991e-03f, 3.655718276e-03f, 3.693750807e-03f,
+3.731773517e-03f, 3.769786343e-03f, 3.807789220e-03f, 3.845782083e-03f, 3.883764868e-03f, 3.921737509e-03f, 3.959699943e-03f, 3.997652106e-03f, 4.035593931e-03f, 4.073525355e-03f,
+4.111446314e-03f, 4.149356742e-03f, 4.187256576e-03f, 4.225145752e-03f, 4.263024204e-03f, 4.300891868e-03f, 4.338748680e-03f, 4.376594576e-03f, 4.414429491e-03f, 4.452253362e-03f,
+4.490066123e-03f, 4.527867712e-03f, 4.565658062e-03f, 4.603437112e-03f, 4.641204795e-03f, 4.678961048e-03f, 4.716705808e-03f, 4.754439010e-03f, 4.792160589e-03f, 4.829870483e-03f,
+4.867568626e-03f, 4.905254955e-03f, 4.942929407e-03f, 4.980591917e-03f, 5.018242421e-03f, 5.055880855e-03f, 5.093507156e-03f, 5.131121260e-03f, 5.168723103e-03f, 5.206312622e-03f,
+5.243889752e-03f, 5.281454430e-03f, 5.319006592e-03f, 5.356546174e-03f, 5.394073114e-03f, 5.431587347e-03f, 5.469088811e-03f, 5.506577440e-03f, 5.544053172e-03f, 5.581515944e-03f,
+5.618965692e-03f, 5.656402352e-03f, 5.693825861e-03f, 5.731236157e-03f, 5.768633174e-03f, 5.806016851e-03f, 5.843387124e-03f, 5.880743929e-03f, 5.918087204e-03f, 5.955416885e-03f,
+5.992732909e-03f, 6.030035214e-03f, 6.067323735e-03f, 6.104598410e-03f, 6.141859175e-03f, 6.179105969e-03f, 6.216338727e-03f, 6.253557387e-03f, 6.290761886e-03f, 6.327952161e-03f,
+6.365128150e-03f, 6.402289788e-03f, 6.439437015e-03f, 6.476569766e-03f, 6.513687979e-03f, 6.550791591e-03f, 6.587880540e-03f, 6.624954763e-03f, 6.662014198e-03f, 6.699058781e-03f,
+6.736088451e-03f, 6.773103145e-03f, 6.810102799e-03f, 6.847087353e-03f, 6.884056743e-03f, 6.921010907e-03f, 6.957949783e-03f, 6.994873308e-03f, 7.031781420e-03f, 7.068674057e-03f,
+7.105551156e-03f, 7.142412655e-03f, 7.179258493e-03f, 7.216088607e-03f, 7.252902935e-03f, 7.289701414e-03f, 7.326483984e-03f, 7.363250581e-03f, 7.400001144e-03f, 7.436735611e-03f,
+7.473453920e-03f, 7.510156009e-03f, 7.546841816e-03f, 7.583511280e-03f, 7.620164338e-03f, 7.656800930e-03f, 7.693420992e-03f, 7.730024465e-03f, 7.766611285e-03f, 7.803181392e-03f,
+7.839734723e-03f, 7.876271218e-03f, 7.912790814e-03f, 7.949293451e-03f, 7.985779067e-03f, 8.022247600e-03f, 8.058698989e-03f, 8.095133173e-03f, 8.131550090e-03f, 8.167949680e-03f,
+8.204331881e-03f, 8.240696632e-03f, 8.277043871e-03f, 8.313373538e-03f, 8.349685572e-03f, 8.385979911e-03f, 8.422256495e-03f, 8.458515262e-03f, 8.494756151e-03f, 8.530979103e-03f,
+8.567184055e-03f, 8.603370947e-03f, 8.639539718e-03f, 8.675690308e-03f, 8.711822656e-03f, 8.747936701e-03f, 8.784032382e-03f, 8.820109639e-03f, 8.856168411e-03f, 8.892208638e-03f,
+8.928230259e-03f, 8.964233215e-03f, 9.000217443e-03f, 9.036182885e-03f, 9.072129479e-03f, 9.108057166e-03f, 9.143965884e-03f, 9.179855575e-03f, 9.215726177e-03f, 9.251577631e-03f,
+9.287409877e-03f, 9.323222853e-03f, 9.359016501e-03f, 9.394790761e-03f, 9.430545572e-03f, 9.466280874e-03f, 9.501996608e-03f, 9.537692713e-03f, 9.573369131e-03f, 9.609025801e-03f,
+9.644662663e-03f, 9.680279658e-03f, 9.715876726e-03f, 9.751453808e-03f, 9.787010844e-03f, 9.822547774e-03f, 9.858064539e-03f, 9.893561080e-03f, 9.929037337e-03f, 9.964493250e-03f,
+9.999928761e-03f, 1.003534381e-02f, 1.007073834e-02f, 1.010611229e-02f, 1.014146560e-02f, 1.017679821e-02f, 1.021211006e-02f, 1.024740109e-02f, 1.028267125e-02f, 1.031792048e-02f,
+1.035314871e-02f, 1.038835589e-02f, 1.042354196e-02f, 1.045870686e-02f, 1.049385052e-02f, 1.052897291e-02f, 1.056407394e-02f, 1.059915357e-02f, 1.063421174e-02f, 1.066924839e-02f,
+1.070426345e-02f, 1.073925688e-02f, 1.077422861e-02f, 1.080917858e-02f, 1.084410674e-02f, 1.087901303e-02f, 1.091389739e-02f, 1.094875975e-02f, 1.098360008e-02f, 1.101841829e-02f,
+1.105321435e-02f, 1.108798818e-02f, 1.112273973e-02f, 1.115746895e-02f, 1.119217577e-02f, 1.122686014e-02f, 1.126152200e-02f, 1.129616129e-02f, 1.133077795e-02f, 1.136537194e-02f,
+1.139994318e-02f, 1.143449162e-02f, 1.146901720e-02f, 1.150351987e-02f, 1.153799957e-02f, 1.157245624e-02f, 1.160688983e-02f, 1.164130027e-02f, 1.167568751e-02f, 1.171005149e-02f,
+1.174439216e-02f, 1.177870945e-02f, 1.181300332e-02f, 1.184727370e-02f, 1.188152054e-02f, 1.191574377e-02f, 1.194994335e-02f, 1.198411922e-02f, 1.201827131e-02f, 1.205239958e-02f,
+1.208650396e-02f, 1.212058440e-02f, 1.215464084e-02f, 1.218867323e-02f, 1.222268151e-02f, 1.225666562e-02f, 1.229062551e-02f, 1.232456111e-02f, 1.235847238e-02f, 1.239235926e-02f,
+1.242622169e-02f, 1.246005961e-02f, 1.249387298e-02f, 1.252766172e-02f, 1.256142579e-02f, 1.259516513e-02f, 1.262887969e-02f, 1.266256940e-02f, 1.269623422e-02f, 1.272987408e-02f,
+1.276348893e-02f, 1.279707872e-02f, 1.283064339e-02f, 1.286418288e-02f, 1.289769714e-02f, 1.293118612e-02f, 1.296464975e-02f, 1.299808798e-02f, 1.303150076e-02f, 1.306488803e-02f,
+1.309824973e-02f, 1.313158582e-02f, 1.316489623e-02f, 1.319818091e-02f, 1.323143981e-02f, 1.326467287e-02f, 1.329788003e-02f, 1.333106124e-02f, 1.336421645e-02f, 1.339734560e-02f,
+1.343044863e-02f, 1.346352549e-02f, 1.349657613e-02f, 1.352960049e-02f, 1.356259852e-02f, 1.359557016e-02f, 1.362851536e-02f, 1.366143406e-02f, 1.369432621e-02f, 1.372719176e-02f,
+1.376003064e-02f, 1.379284281e-02f, 1.382562821e-02f, 1.385838679e-02f, 1.389111850e-02f, 1.392382327e-02f, 1.395650106e-02f, 1.398915181e-02f, 1.402177547e-02f, 1.405437198e-02f,
+1.408694129e-02f, 1.411948335e-02f, 1.415199810e-02f, 1.418448549e-02f, 1.421694546e-02f, 1.424937797e-02f, 1.428178295e-02f, 1.431416036e-02f, 1.434651014e-02f, 1.437883224e-02f,
+1.441112661e-02f, 1.444339318e-02f, 1.447563192e-02f, 1.450784276e-02f, 1.454002565e-02f, 1.457218054e-02f, 1.460430738e-02f, 1.463640611e-02f, 1.466847668e-02f, 1.470051904e-02f,
+1.473253314e-02f, 1.476451891e-02f, 1.479647632e-02f, 1.482840531e-02f, 1.486030582e-02f, 1.489217780e-02f, 1.492402120e-02f, 1.495583597e-02f, 1.498762205e-02f, 1.501937940e-02f,
+1.505110796e-02f, 1.508280767e-02f, 1.511447849e-02f, 1.514612037e-02f, 1.517773325e-02f, 1.520931708e-02f, 1.524087181e-02f, 1.527239738e-02f, 1.530389375e-02f, 1.533536087e-02f,
+1.536679867e-02f, 1.539820712e-02f, 1.542958615e-02f, 1.546093572e-02f, 1.549225578e-02f, 1.552354627e-02f, 1.555480714e-02f, 1.558603835e-02f, 1.561723983e-02f, 1.564841154e-02f,
+1.567955344e-02f, 1.571066546e-02f, 1.574174755e-02f, 1.577279967e-02f, 1.580382177e-02f, 1.583481378e-02f, 1.586577567e-02f, 1.589670739e-02f, 1.592760887e-02f, 1.595848008e-02f,
+1.598932095e-02f, 1.602013144e-02f, 1.605091151e-02f, 1.608166109e-02f, 1.611238014e-02f, 1.614306861e-02f, 1.617372645e-02f, 1.620435360e-02f, 1.623495003e-02f, 1.626551567e-02f,
+1.629605048e-02f, 1.632655440e-02f, 1.635702740e-02f, 1.638746941e-02f, 1.641788039e-02f, 1.644826029e-02f, 1.647860906e-02f, 1.650892665e-02f, 1.653921301e-02f, 1.656946809e-02f,
+1.659969184e-02f, 1.662988422e-02f, 1.666004516e-02f, 1.669017463e-02f, 1.672027258e-02f, 1.675033895e-02f, 1.678037369e-02f, 1.681037677e-02f, 1.684034812e-02f, 1.687028770e-02f,
+1.690019546e-02f, 1.693007135e-02f, 1.695991533e-02f, 1.698972734e-02f, 1.701950734e-02f, 1.704925527e-02f, 1.707897110e-02f, 1.710865476e-02f, 1.713830622e-02f, 1.716792542e-02f,
+1.719751232e-02f, 1.722706686e-02f, 1.725658901e-02f, 1.728607870e-02f, 1.731553590e-02f, 1.734496056e-02f, 1.737435262e-02f, 1.740371204e-02f, 1.743303878e-02f, 1.746233278e-02f,
+1.749159399e-02f, 1.752082238e-02f, 1.755001789e-02f, 1.757918047e-02f, 1.760831008e-02f, 1.763740668e-02f, 1.766647020e-02f, 1.769550061e-02f, 1.772449786e-02f, 1.775346189e-02f,
+1.778239268e-02f, 1.781129016e-02f, 1.784015429e-02f, 1.786898502e-02f, 1.789778232e-02f, 1.792654612e-02f, 1.795527638e-02f, 1.798397307e-02f, 1.801263612e-02f, 1.804126550e-02f,
+1.806986115e-02f, 1.809842304e-02f, 1.812695111e-02f, 1.815544532e-02f, 1.818390563e-02f, 1.821233198e-02f, 1.824072433e-02f, 1.826908264e-02f, 1.829740685e-02f, 1.832569693e-02f,
+1.835395283e-02f, 1.838217450e-02f, 1.841036189e-02f, 1.843851497e-02f, 1.846663368e-02f, 1.849471798e-02f, 1.852276782e-02f, 1.855078316e-02f, 1.857876396e-02f, 1.860671016e-02f,
+1.863462173e-02f, 1.866249862e-02f, 1.869034078e-02f, 1.871814817e-02f, 1.874592074e-02f, 1.877365845e-02f, 1.880136125e-02f, 1.882902911e-02f, 1.885666197e-02f, 1.888425979e-02f,
+1.891182252e-02f, 1.893935013e-02f, 1.896684256e-02f, 1.899429977e-02f, 1.902172173e-02f, 1.904910838e-02f, 1.907645967e-02f, 1.910377558e-02f, 1.913105604e-02f, 1.915830103e-02f,
+1.918551049e-02f, 1.921268438e-02f, 1.923982265e-02f, 1.926692527e-02f, 1.929399219e-02f, 1.932102337e-02f, 1.934801876e-02f, 1.937497831e-02f, 1.940190200e-02f, 1.942878976e-02f,
+1.945564157e-02f, 1.948245737e-02f, 1.950923713e-02f, 1.953598080e-02f, 1.956268833e-02f, 1.958935969e-02f, 1.961599483e-02f, 1.964259371e-02f, 1.966915629e-02f, 1.969568252e-02f,
+1.972217236e-02f, 1.974862577e-02f, 1.977504271e-02f, 1.980142314e-02f, 1.982776700e-02f, 1.985407426e-02f, 1.988034489e-02f, 1.990657882e-02f, 1.993277604e-02f, 1.995893648e-02f,
+1.998506011e-02f, 2.001114689e-02f, 2.003719678e-02f, 2.006320973e-02f, 2.008918571e-02f, 2.011512467e-02f, 2.014102656e-02f, 2.016689136e-02f, 2.019271901e-02f, 2.021850948e-02f,
+2.024426273e-02f, 2.026997871e-02f, 2.029565738e-02f, 2.032129870e-02f, 2.034690264e-02f, 2.037246915e-02f, 2.039799818e-02f, 2.042348970e-02f, 2.044894368e-02f, 2.047436005e-02f,
+2.049973880e-02f, 2.052507987e-02f, 2.055038323e-02f, 2.057564884e-02f, 2.060087665e-02f, 2.062606662e-02f, 2.065121873e-02f, 2.067633291e-02f, 2.070140915e-02f, 2.072644738e-02f,
+2.075144759e-02f, 2.077640972e-02f, 2.080133374e-02f, 2.082621960e-02f, 2.085106727e-02f, 2.087587671e-02f, 2.090064788e-02f, 2.092538073e-02f, 2.095007524e-02f, 2.097473135e-02f,
+2.099934904e-02f, 2.102392826e-02f, 2.104846898e-02f, 2.107297114e-02f, 2.109743473e-02f, 2.112185969e-02f, 2.114624599e-02f, 2.117059359e-02f, 2.119490245e-02f, 2.121917253e-02f,
+2.124340379e-02f, 2.126759621e-02f, 2.129174973e-02f, 2.131586432e-02f, 2.133993994e-02f, 2.136397655e-02f, 2.138797412e-02f, 2.141193260e-02f, 2.143585197e-02f, 2.145973218e-02f,
+2.148357319e-02f, 2.150737496e-02f, 2.153113747e-02f, 2.155486066e-02f, 2.157854451e-02f, 2.160218898e-02f, 2.162579402e-02f, 2.164935961e-02f, 2.167288570e-02f, 2.169637226e-02f,
+2.171981925e-02f, 2.174322663e-02f, 2.176659437e-02f, 2.178992243e-02f, 2.181321078e-02f, 2.183645937e-02f, 2.185966816e-02f, 2.188283714e-02f, 2.190596625e-02f, 2.192905546e-02f,
+2.195210473e-02f, 2.197511404e-02f, 2.199808333e-02f, 2.202101259e-02f, 2.204390176e-02f, 2.206675081e-02f, 2.208955972e-02f, 2.211232843e-02f, 2.213505693e-02f, 2.215774516e-02f,
+2.218039310e-02f, 2.220300071e-02f, 2.222556796e-02f, 2.224809480e-02f, 2.227058121e-02f, 2.229302714e-02f, 2.231543257e-02f, 2.233779746e-02f, 2.236012178e-02f, 2.238240548e-02f,
+2.240464853e-02f, 2.242685091e-02f, 2.244901256e-02f, 2.247113347e-02f, 2.249321360e-02f, 2.251525290e-02f, 2.253725135e-02f, 2.255920891e-02f, 2.258112555e-02f, 2.260300124e-02f,
+2.262483593e-02f, 2.264662960e-02f, 2.266838221e-02f, 2.269009373e-02f, 2.271176412e-02f, 2.273339335e-02f, 2.275498139e-02f, 2.277652820e-02f, 2.279803375e-02f, 2.281949801e-02f,
+2.284092094e-02f, 2.286230251e-02f, 2.288364268e-02f, 2.290494143e-02f, 2.292619872e-02f, 2.294741451e-02f, 2.296858878e-02f, 2.298972149e-02f, 2.301081260e-02f, 2.303186210e-02f,
+2.305286993e-02f, 2.307383608e-02f, 2.309476050e-02f, 2.311564317e-02f, 2.313648405e-02f, 2.315728311e-02f, 2.317804033e-02f, 2.319875566e-02f, 2.321942907e-02f, 2.324006053e-02f,
+2.326065002e-02f, 2.328119750e-02f, 2.330170293e-02f, 2.332216629e-02f, 2.334258754e-02f, 2.336296666e-02f, 2.338330360e-02f, 2.340359835e-02f, 2.342385086e-02f, 2.344406111e-02f,
+2.346422907e-02f, 2.348435471e-02f, 2.350443798e-02f, 2.352447887e-02f, 2.354447735e-02f, 2.356443337e-02f, 2.358434692e-02f, 2.360421795e-02f, 2.362404645e-02f, 2.364383238e-02f,
+2.366357570e-02f, 2.368327639e-02f, 2.370293443e-02f, 2.372254977e-02f, 2.374212239e-02f, 2.376165225e-02f, 2.378113934e-02f, 2.380058362e-02f, 2.381998505e-02f, 2.383934361e-02f,
+2.385865928e-02f, 2.387793201e-02f, 2.389716178e-02f, 2.391634857e-02f, 2.393549233e-02f, 2.395459305e-02f, 2.397365070e-02f, 2.399266523e-02f, 2.401163664e-02f, 2.403056488e-02f,
+2.404944993e-02f, 2.406829175e-02f, 2.408709033e-02f, 2.410584563e-02f, 2.412455762e-02f, 2.414322628e-02f, 2.416185158e-02f, 2.418043348e-02f, 2.419897196e-02f, 2.421746699e-02f,
+2.423591855e-02f, 2.425432660e-02f, 2.427269113e-02f, 2.429101209e-02f, 2.430928946e-02f, 2.432752322e-02f, 2.434571333e-02f, 2.436385978e-02f, 2.438196252e-02f, 2.440002155e-02f,
+2.441803681e-02f, 2.443600830e-02f, 2.445393598e-02f, 2.447181983e-02f, 2.448965982e-02f, 2.450745592e-02f, 2.452520810e-02f, 2.454291634e-02f, 2.456058062e-02f, 2.457820090e-02f,
+2.459577716e-02f, 2.461330937e-02f, 2.463079750e-02f, 2.464824154e-02f, 2.466564145e-02f, 2.468299721e-02f, 2.470030878e-02f, 2.471757616e-02f, 2.473479930e-02f, 2.475197819e-02f,
+2.476911279e-02f, 2.478620309e-02f, 2.480324905e-02f, 2.482025066e-02f, 2.483720788e-02f, 2.485412069e-02f, 2.487098907e-02f, 2.488781298e-02f, 2.490459242e-02f, 2.492132734e-02f,
+2.493801772e-02f, 2.495466355e-02f, 2.497126479e-02f, 2.498782143e-02f, 2.500433342e-02f, 2.502080076e-02f, 2.503722342e-02f, 2.505360137e-02f, 2.506993459e-02f, 2.508622305e-02f,
+2.510246673e-02f, 2.511866561e-02f, 2.513481966e-02f, 2.515092886e-02f, 2.516699318e-02f, 2.518301260e-02f, 2.519898710e-02f, 2.521491666e-02f, 2.523080124e-02f, 2.524664082e-02f,
+2.526243540e-02f, 2.527818493e-02f, 2.529388939e-02f, 2.530954877e-02f, 2.532516304e-02f, 2.534073218e-02f, 2.535625616e-02f, 2.537173496e-02f, 2.538716857e-02f, 2.540255694e-02f,
+2.541790008e-02f, 2.543319794e-02f, 2.544845051e-02f, 2.546365777e-02f, 2.547881969e-02f, 2.549393625e-02f, 2.550900744e-02f, 2.552403322e-02f, 2.553901358e-02f, 2.555394849e-02f,
+2.556883793e-02f, 2.558368189e-02f, 2.559848033e-02f, 2.561323325e-02f, 2.562794061e-02f, 2.564260239e-02f, 2.565721858e-02f, 2.567178914e-02f, 2.568631407e-02f, 2.570079335e-02f,
+2.571522694e-02f, 2.572961482e-02f, 2.574395699e-02f, 2.575825341e-02f, 2.577250407e-02f, 2.578670895e-02f, 2.580086802e-02f, 2.581498126e-02f, 2.582904866e-02f, 2.584307019e-02f,
+2.585704584e-02f, 2.587097558e-02f, 2.588485940e-02f, 2.589869727e-02f, 2.591248917e-02f, 2.592623509e-02f, 2.593993500e-02f, 2.595358889e-02f, 2.596719674e-02f, 2.598075852e-02f,
+2.599427422e-02f, 2.600774381e-02f, 2.602116729e-02f, 2.603454462e-02f, 2.604787580e-02f, 2.606116080e-02f, 2.607439960e-02f, 2.608759218e-02f, 2.610073853e-02f, 2.611383862e-02f,
+2.612689245e-02f, 2.613989998e-02f, 2.615286121e-02f, 2.616577610e-02f, 2.617864466e-02f, 2.619146684e-02f, 2.620424265e-02f, 2.621697206e-02f, 2.622965505e-02f, 2.624229161e-02f,
+2.625488171e-02f, 2.626742535e-02f, 2.627992249e-02f, 2.629237313e-02f, 2.630477725e-02f, 2.631713483e-02f, 2.632944585e-02f, 2.634171030e-02f, 2.635392815e-02f, 2.636609940e-02f,
+2.637822402e-02f, 2.639030200e-02f, 2.640233332e-02f, 2.641431796e-02f, 2.642625591e-02f, 2.643814716e-02f, 2.644999168e-02f, 2.646178945e-02f, 2.647354047e-02f, 2.648524472e-02f,
+2.649690218e-02f, 2.650851283e-02f, 2.652007666e-02f, 2.653159365e-02f, 2.654306379e-02f, 2.655448706e-02f, 2.656586344e-02f, 2.657719293e-02f, 2.658847550e-02f, 2.659971113e-02f,
+2.661089983e-02f, 2.662204156e-02f, 2.663313631e-02f, 2.664418408e-02f, 2.665518483e-02f, 2.666613857e-02f, 2.667704527e-02f, 2.668790492e-02f, 2.669871750e-02f, 2.670948301e-02f,
+2.672020142e-02f, 2.673087272e-02f, 2.674149690e-02f, 2.675207394e-02f, 2.676260383e-02f, 2.677308656e-02f, 2.678352211e-02f, 2.679391046e-02f, 2.680425161e-02f, 2.681454554e-02f,
+2.682479223e-02f, 2.683499167e-02f, 2.684514386e-02f, 2.685524877e-02f, 2.686530639e-02f, 2.687531672e-02f, 2.688527972e-02f, 2.689519541e-02f, 2.690506375e-02f, 2.691488474e-02f,
+2.692465836e-02f, 2.693438460e-02f, 2.694406346e-02f, 2.695369491e-02f, 2.696327894e-02f, 2.697281555e-02f, 2.698230472e-02f, 2.699174643e-02f, 2.700114068e-02f, 2.701048745e-02f,
+2.701978673e-02f, 2.702903852e-02f, 2.703824278e-02f, 2.704739953e-02f, 2.705650874e-02f, 2.706557040e-02f, 2.707458451e-02f, 2.708355104e-02f, 2.709246999e-02f, 2.710134135e-02f,
+2.711016510e-02f, 2.711894124e-02f, 2.712766976e-02f, 2.713635064e-02f, 2.714498387e-02f, 2.715356944e-02f, 2.716210734e-02f, 2.717059756e-02f, 2.717904010e-02f, 2.718743493e-02f,
+2.719578205e-02f, 2.720408145e-02f, 2.721233312e-02f, 2.722053705e-02f, 2.722869323e-02f, 2.723680165e-02f, 2.724486230e-02f, 2.725287516e-02f, 2.726084024e-02f, 2.726875752e-02f,
+2.727662699e-02f, 2.728444864e-02f, 2.729222246e-02f, 2.729994844e-02f, 2.730762658e-02f, 2.731525687e-02f, 2.732283929e-02f, 2.733037383e-02f, 2.733786050e-02f, 2.734529927e-02f,
+2.735269015e-02f, 2.736003312e-02f, 2.736732817e-02f, 2.737457529e-02f, 2.738177449e-02f, 2.738892574e-02f, 2.739602905e-02f, 2.740308439e-02f, 2.741009177e-02f, 2.741705118e-02f,
+2.742396261e-02f, 2.743082605e-02f, 2.743764149e-02f, 2.744440893e-02f, 2.745112836e-02f, 2.745779977e-02f, 2.746442315e-02f, 2.747099850e-02f, 2.747752581e-02f, 2.748400507e-02f,
+2.749043628e-02f, 2.749681942e-02f, 2.750315450e-02f, 2.750944150e-02f, 2.751568042e-02f, 2.752187126e-02f, 2.752801400e-02f, 2.753410864e-02f, 2.754015517e-02f, 2.754615358e-02f,
+2.755210388e-02f, 2.755800606e-02f, 2.756386010e-02f, 2.756966600e-02f, 2.757542376e-02f, 2.758113337e-02f, 2.758679483e-02f, 2.759240813e-02f, 2.759797326e-02f, 2.760349022e-02f,
+2.760895900e-02f, 2.761437961e-02f, 2.761975202e-02f, 2.762507625e-02f, 2.763035227e-02f, 2.763558010e-02f, 2.764075972e-02f, 2.764589113e-02f, 2.765097432e-02f, 2.765600930e-02f,
+2.766099604e-02f, 2.766593456e-02f, 2.767082485e-02f, 2.767566690e-02f, 2.768046070e-02f, 2.768520626e-02f, 2.768990357e-02f, 2.769455263e-02f, 2.769915343e-02f, 2.770370597e-02f,
+2.770821024e-02f, 2.771266625e-02f, 2.771707398e-02f, 2.772143344e-02f, 2.772574462e-02f, 2.773000751e-02f, 2.773422213e-02f, 2.773838845e-02f, 2.774250649e-02f, 2.774657623e-02f,
+2.775059767e-02f, 2.775457081e-02f, 2.775849566e-02f, 2.776237219e-02f, 2.776620043e-02f, 2.776998035e-02f, 2.777371196e-02f, 2.777739525e-02f, 2.778103023e-02f, 2.778461690e-02f,
+2.778815524e-02f, 2.779164526e-02f, 2.779508696e-02f, 2.779848033e-02f, 2.780182537e-02f, 2.780512209e-02f, 2.780837047e-02f, 2.781157053e-02f, 2.781472225e-02f, 2.781782564e-02f,
+2.782088069e-02f, 2.782388741e-02f, 2.782684578e-02f, 2.782975583e-02f, 2.783261753e-02f, 2.783543089e-02f, 2.783819591e-02f, 2.784091260e-02f, 2.784358094e-02f, 2.784620094e-02f,
+2.784877260e-02f, 2.785129591e-02f, 2.785377089e-02f, 2.785619752e-02f, 2.785857581e-02f, 2.786090575e-02f, 2.786318736e-02f, 2.786542062e-02f, 2.786760555e-02f, 2.786974213e-02f,
+2.787183037e-02f, 2.787387027e-02f, 2.787586184e-02f, 2.787780506e-02f, 2.787969995e-02f, 2.788154650e-02f, 2.788334472e-02f, 2.788509460e-02f, 2.788679615e-02f, 2.788844937e-02f,
+2.789005425e-02f, 2.789161081e-02f, 2.789311904e-02f, 2.789457895e-02f, 2.789599053e-02f, 2.789735379e-02f, 2.789866873e-02f, 2.789993535e-02f, 2.790115365e-02f, 2.790232364e-02f,
+2.790344532e-02f, 2.790451868e-02f, 2.790554374e-02f, 2.790652050e-02f, 2.790744895e-02f, 2.790832910e-02f, 2.790916096e-02f, 2.790994452e-02f, 2.791067979e-02f, 2.791136677e-02f,
+2.791200547e-02f, 2.791259588e-02f, 2.791313801e-02f, 2.791363187e-02f, 2.791407745e-02f, 2.791447477e-02f, 2.791482382e-02f, 2.791512461e-02f, 2.791537714e-02f, 2.791558141e-02f,
+2.791573744e-02f, 2.791584521e-02f, 2.791590475e-02f, 2.791591604e-02f, 2.791587910e-02f, 2.791579393e-02f, 2.791566054e-02f, 2.791547892e-02f, 2.791524909e-02f, 2.791497104e-02f,
+2.791464479e-02f, 2.791427033e-02f, 2.791384768e-02f, 2.791337683e-02f, 2.791285779e-02f, 2.791229057e-02f, 2.791167518e-02f, 2.791101161e-02f, 2.791029987e-02f, 2.790953997e-02f,
+2.790873192e-02f, 2.790787571e-02f, 2.790697136e-02f, 2.790601887e-02f, 2.790501824e-02f, 2.790396949e-02f, 2.790287262e-02f, 2.790172763e-02f, 2.790053453e-02f, 2.789929333e-02f,
+2.789800403e-02f, 2.789666664e-02f, 2.789528117e-02f, 2.789384762e-02f, 2.789236600e-02f, 2.789083632e-02f, 2.788925858e-02f, 2.788763279e-02f, 2.788595895e-02f, 2.788423708e-02f,
+2.788246718e-02f, 2.788064926e-02f, 2.787878332e-02f, 2.787686938e-02f, 2.787490744e-02f, 2.787289750e-02f, 2.787083958e-02f, 2.786873369e-02f, 2.786657982e-02f, 2.786437800e-02f,
+2.786212822e-02f, 2.785983050e-02f, 2.785748484e-02f, 2.785509125e-02f, 2.785264974e-02f, 2.785016032e-02f, 2.784762300e-02f, 2.784503778e-02f, 2.784240467e-02f, 2.783972369e-02f,
+2.783699484e-02f, 2.783421813e-02f, 2.783139357e-02f, 2.782852116e-02f, 2.782560093e-02f, 2.782263287e-02f, 2.781961699e-02f, 2.781655331e-02f, 2.781344184e-02f, 2.781028258e-02f,
+2.780707554e-02f, 2.780382074e-02f, 2.780051817e-02f, 2.779716787e-02f, 2.779376982e-02f, 2.779032405e-02f, 2.778683056e-02f, 2.778328936e-02f, 2.777970047e-02f, 2.777606389e-02f,
+2.777237964e-02f, 2.776864772e-02f, 2.776486814e-02f, 2.776104092e-02f, 2.775716607e-02f, 2.775324360e-02f, 2.774927351e-02f, 2.774525582e-02f, 2.774119054e-02f, 2.773707769e-02f,
+2.773291727e-02f, 2.772870929e-02f, 2.772445377e-02f, 2.772015071e-02f, 2.771580013e-02f, 2.771140204e-02f, 2.770695646e-02f, 2.770246339e-02f, 2.769792284e-02f, 2.769333483e-02f,
+2.768869937e-02f, 2.768401647e-02f, 2.767928615e-02f, 2.767450841e-02f, 2.766968327e-02f, 2.766481075e-02f, 2.765989084e-02f, 2.765492357e-02f, 2.764990895e-02f, 2.764484699e-02f,
+2.763973771e-02f, 2.763458111e-02f, 2.762937722e-02f, 2.762412603e-02f, 2.761882757e-02f, 2.761348186e-02f, 2.760808889e-02f, 2.760264870e-02f, 2.759716128e-02f, 2.759162665e-02f,
+2.758604484e-02f, 2.758041584e-02f, 2.757473968e-02f, 2.756901637e-02f, 2.756324591e-02f, 2.755742834e-02f, 2.755156366e-02f, 2.754565188e-02f, 2.753969302e-02f, 2.753368710e-02f,
+2.752763412e-02f, 2.752153410e-02f, 2.751538706e-02f, 2.750919302e-02f, 2.750295198e-02f, 2.749666396e-02f, 2.749032898e-02f, 2.748394705e-02f, 2.747751819e-02f, 2.747104240e-02f,
+2.746451972e-02f, 2.745795014e-02f, 2.745133370e-02f, 2.744467040e-02f, 2.743796025e-02f, 2.743120328e-02f, 2.742439950e-02f, 2.741754893e-02f, 2.741065158e-02f, 2.740370746e-02f,
+2.739671660e-02f, 2.738967901e-02f, 2.738259470e-02f, 2.737546370e-02f, 2.736828601e-02f, 2.736106166e-02f, 2.735379066e-02f, 2.734647303e-02f, 2.733910879e-02f, 2.733169794e-02f,
+2.732424052e-02f, 2.731673652e-02f, 2.730918599e-02f, 2.730158892e-02f, 2.729394533e-02f, 2.728625525e-02f, 2.727851869e-02f, 2.727073567e-02f, 2.726290621e-02f, 2.725503032e-02f,
+2.724710802e-02f, 2.723913932e-02f, 2.723112426e-02f, 2.722306284e-02f, 2.721495508e-02f, 2.720680100e-02f, 2.719860061e-02f, 2.719035395e-02f, 2.718206102e-02f, 2.717372184e-02f,
+2.716533643e-02f, 2.715690482e-02f, 2.714842701e-02f, 2.713990303e-02f, 2.713133289e-02f, 2.712271662e-02f, 2.711405423e-02f, 2.710534574e-02f, 2.709659118e-02f, 2.708779055e-02f,
+2.707894389e-02f, 2.707005120e-02f, 2.706111251e-02f, 2.705212784e-02f, 2.704309720e-02f, 2.703402062e-02f, 2.702489812e-02f, 2.701572972e-02f, 2.700651543e-02f, 2.699725527e-02f,
+2.698794927e-02f, 2.697859745e-02f, 2.696919982e-02f, 2.695975640e-02f, 2.695026723e-02f, 2.694073230e-02f, 2.693115166e-02f, 2.692152531e-02f, 2.691185328e-02f, 2.690213559e-02f,
+2.689237226e-02f, 2.688256331e-02f, 2.687270876e-02f, 2.686280863e-02f, 2.685286294e-02f, 2.684287171e-02f, 2.683283498e-02f, 2.682275274e-02f, 2.681262504e-02f, 2.680245188e-02f,
+2.679223330e-02f, 2.678196931e-02f, 2.677165993e-02f, 2.676130518e-02f, 2.675090509e-02f, 2.674045969e-02f, 2.672996898e-02f, 2.671943299e-02f, 2.670885176e-02f, 2.669822528e-02f,
+2.668755360e-02f, 2.667683673e-02f, 2.666607469e-02f, 2.665526751e-02f, 2.664441521e-02f, 2.663351781e-02f, 2.662257534e-02f, 2.661158781e-02f, 2.660055525e-02f, 2.658947769e-02f,
+2.657835514e-02f, 2.656718763e-02f, 2.655597519e-02f, 2.654471783e-02f, 2.653341557e-02f, 2.652206845e-02f, 2.651067649e-02f, 2.649923970e-02f, 2.648775812e-02f, 2.647623176e-02f,
+2.646466066e-02f, 2.645304483e-02f, 2.644138429e-02f, 2.642967908e-02f, 2.641792921e-02f, 2.640613472e-02f, 2.639429561e-02f, 2.638241193e-02f, 2.637048369e-02f, 2.635851092e-02f,
+2.634649364e-02f, 2.633443187e-02f, 2.632232565e-02f, 2.631017499e-02f, 2.629797992e-02f, 2.628574047e-02f, 2.627345666e-02f, 2.626112851e-02f, 2.624875606e-02f, 2.623633932e-02f,
+2.622387832e-02f, 2.621137308e-02f, 2.619882364e-02f, 2.618623002e-02f, 2.617359224e-02f, 2.616091032e-02f, 2.614818431e-02f, 2.613541421e-02f, 2.612260005e-02f, 2.610974187e-02f,
+2.609683968e-02f, 2.608389352e-02f, 2.607090341e-02f, 2.605786937e-02f, 2.604479144e-02f, 2.603166964e-02f, 2.601850398e-02f, 2.600529452e-02f, 2.599204125e-02f, 2.597874423e-02f,
+2.596540346e-02f, 2.595201898e-02f, 2.593859082e-02f, 2.592511900e-02f, 2.591160355e-02f, 2.589804449e-02f, 2.588444186e-02f, 2.587079568e-02f, 2.585710597e-02f, 2.584337277e-02f,
+2.582959611e-02f, 2.581577600e-02f, 2.580191248e-02f, 2.578800558e-02f, 2.577405531e-02f, 2.576006172e-02f, 2.574602483e-02f, 2.573194467e-02f, 2.571782126e-02f, 2.570365463e-02f,
+2.568944481e-02f, 2.567519183e-02f, 2.566089572e-02f, 2.564655651e-02f, 2.563217422e-02f, 2.561774888e-02f, 2.560328052e-02f, 2.558876917e-02f, 2.557421487e-02f, 2.555961763e-02f,
+2.554497748e-02f, 2.553029446e-02f, 2.551556860e-02f, 2.550079992e-02f, 2.548598845e-02f, 2.547113423e-02f, 2.545623727e-02f, 2.544129762e-02f, 2.542631530e-02f, 2.541129033e-02f,
+2.539622276e-02f, 2.538111260e-02f, 2.536595989e-02f, 2.535076467e-02f, 2.533552695e-02f, 2.532024676e-02f, 2.530492415e-02f, 2.528955913e-02f, 2.527415175e-02f, 2.525870202e-02f,
+2.524320998e-02f, 2.522767566e-02f, 2.521209909e-02f, 2.519648030e-02f, 2.518081932e-02f, 2.516511618e-02f, 2.514937092e-02f, 2.513358356e-02f, 2.511775413e-02f, 2.510188267e-02f,
+2.508596920e-02f, 2.507001376e-02f, 2.505401638e-02f, 2.503797708e-02f, 2.502189591e-02f, 2.500577289e-02f, 2.498960806e-02f, 2.497340143e-02f, 2.495715306e-02f, 2.494086296e-02f,
+2.492453117e-02f, 2.490815773e-02f, 2.489174266e-02f, 2.487528599e-02f, 2.485878776e-02f, 2.484224800e-02f, 2.482566674e-02f, 2.480904401e-02f, 2.479237985e-02f, 2.477567429e-02f,
+2.475892736e-02f, 2.474213909e-02f, 2.472530951e-02f, 2.470843867e-02f, 2.469152658e-02f, 2.467457329e-02f, 2.465757882e-02f, 2.464054322e-02f, 2.462346650e-02f, 2.460634871e-02f,
+2.458918988e-02f, 2.457199004e-02f, 2.455474923e-02f, 2.453746747e-02f, 2.452014480e-02f, 2.450278126e-02f, 2.448537687e-02f, 2.446793168e-02f, 2.445044571e-02f, 2.443291900e-02f,
+2.441535158e-02f, 2.439774349e-02f, 2.438009476e-02f, 2.436240542e-02f, 2.434467551e-02f, 2.432690507e-02f, 2.430909411e-02f, 2.429124269e-02f, 2.427335084e-02f, 2.425541858e-02f,
+2.423744596e-02f, 2.421943300e-02f, 2.420137975e-02f, 2.418328623e-02f, 2.416515249e-02f, 2.414697855e-02f, 2.412876446e-02f, 2.411051023e-02f, 2.409221593e-02f, 2.407388156e-02f,
+2.405550718e-02f, 2.403709282e-02f, 2.401863850e-02f, 2.400014428e-02f, 2.398161017e-02f, 2.396303622e-02f, 2.394442247e-02f, 2.392576894e-02f, 2.390707568e-02f, 2.388834272e-02f,
+2.386957009e-02f, 2.385075784e-02f, 2.383190599e-02f, 2.381301459e-02f, 2.379408366e-02f, 2.377511325e-02f, 2.375610339e-02f, 2.373705412e-02f, 2.371796547e-02f, 2.369883749e-02f,
+2.367967019e-02f, 2.366046364e-02f, 2.364121785e-02f, 2.362193286e-02f, 2.360260872e-02f, 2.358324546e-02f, 2.356384312e-02f, 2.354440172e-02f, 2.352492132e-02f, 2.350540194e-02f,
+2.348584363e-02f, 2.346624642e-02f, 2.344661034e-02f, 2.342693545e-02f, 2.340722176e-02f, 2.338746932e-02f, 2.336767817e-02f, 2.334784835e-02f, 2.332797989e-02f, 2.330807282e-02f,
+2.328812720e-02f, 2.326814305e-02f, 2.324812041e-02f, 2.322805932e-02f, 2.320795982e-02f, 2.318782195e-02f, 2.316764575e-02f, 2.314743124e-02f, 2.312717848e-02f, 2.310688749e-02f,
+2.308655833e-02f, 2.306619102e-02f, 2.304578560e-02f, 2.302534212e-02f, 2.300486060e-02f, 2.298434110e-02f, 2.296378364e-02f, 2.294318828e-02f, 2.292255504e-02f, 2.290188396e-02f,
+2.288117509e-02f, 2.286042845e-02f, 2.283964411e-02f, 2.281882208e-02f, 2.279796241e-02f, 2.277706514e-02f, 2.275613031e-02f, 2.273515796e-02f, 2.271414812e-02f, 2.269310084e-02f,
+2.267201616e-02f, 2.265089411e-02f, 2.262973474e-02f, 2.260853808e-02f, 2.258730418e-02f, 2.256603307e-02f, 2.254472480e-02f, 2.252337940e-02f, 2.250199692e-02f, 2.248057739e-02f,
+2.245912085e-02f, 2.243762735e-02f, 2.241609693e-02f, 2.239452962e-02f, 2.237292546e-02f, 2.235128451e-02f, 2.232960679e-02f, 2.230789234e-02f, 2.228614122e-02f, 2.226435345e-02f,
+2.224252908e-02f, 2.222066815e-02f, 2.219877071e-02f, 2.217683678e-02f, 2.215486642e-02f, 2.213285966e-02f, 2.211081654e-02f, 2.208873712e-02f, 2.206662142e-02f, 2.204446948e-02f,
+2.202228136e-02f, 2.200005709e-02f, 2.197779671e-02f, 2.195550026e-02f, 2.193316780e-02f, 2.191079934e-02f, 2.188839495e-02f, 2.186595466e-02f, 2.184347851e-02f, 2.182096654e-02f,
+2.179841880e-02f, 2.177583533e-02f, 2.175321617e-02f, 2.173056136e-02f, 2.170787095e-02f, 2.168514497e-02f, 2.166238347e-02f, 2.163958649e-02f, 2.161675407e-02f, 2.159388627e-02f,
+2.157098311e-02f, 2.154804464e-02f, 2.152507090e-02f, 2.150206194e-02f, 2.147901780e-02f, 2.145593852e-02f, 2.143282414e-02f, 2.140967472e-02f, 2.138649028e-02f, 2.136327088e-02f,
+2.134001655e-02f, 2.131672734e-02f, 2.129340329e-02f, 2.127004445e-02f, 2.124665086e-02f, 2.122322256e-02f, 2.119975960e-02f, 2.117626202e-02f, 2.115272986e-02f, 2.112916316e-02f,
+2.110556198e-02f, 2.108192635e-02f, 2.105825631e-02f, 2.103455192e-02f, 2.101081321e-02f, 2.098704024e-02f, 2.096323303e-02f, 2.093939164e-02f, 2.091551611e-02f, 2.089160649e-02f,
+2.086766281e-02f, 2.084368513e-02f, 2.081967349e-02f, 2.079562793e-02f, 2.077154849e-02f, 2.074743522e-02f, 2.072328817e-02f, 2.069910738e-02f, 2.067489290e-02f, 2.065064476e-02f,
+2.062636302e-02f, 2.060204771e-02f, 2.057769889e-02f, 2.055331660e-02f, 2.052890088e-02f, 2.050445178e-02f, 2.047996934e-02f, 2.045545361e-02f, 2.043090463e-02f, 2.040632245e-02f,
+2.038170711e-02f, 2.035705867e-02f, 2.033237716e-02f, 2.030766262e-02f, 2.028291512e-02f, 2.025813468e-02f, 2.023332136e-02f, 2.020847520e-02f, 2.018359625e-02f, 2.015868456e-02f,
+2.013374016e-02f, 2.010876310e-02f, 2.008375344e-02f, 2.005871122e-02f, 2.003363647e-02f, 2.000852926e-02f, 1.998338962e-02f, 1.995821760e-02f, 1.993301325e-02f, 1.990777661e-02f,
+1.988250774e-02f, 1.985720666e-02f, 1.983187345e-02f, 1.980650812e-02f, 1.978111075e-02f, 1.975568137e-02f, 1.973022002e-02f, 1.970472676e-02f, 1.967920164e-02f, 1.965364469e-02f,
+1.962805596e-02f, 1.960243551e-02f, 1.957678338e-02f, 1.955109962e-02f, 1.952538426e-02f, 1.949963737e-02f, 1.947385899e-02f, 1.944804916e-02f, 1.942220793e-02f, 1.939633535e-02f,
+1.937043147e-02f, 1.934449633e-02f, 1.931852998e-02f, 1.929253247e-02f, 1.926650384e-02f, 1.924044415e-02f, 1.921435345e-02f, 1.918823177e-02f, 1.916207916e-02f, 1.913589568e-02f,
+1.910968138e-02f, 1.908343629e-02f, 1.905716047e-02f, 1.903085397e-02f, 1.900451683e-02f, 1.897814910e-02f, 1.895175083e-02f, 1.892532207e-02f, 1.889886287e-02f, 1.887237327e-02f,
+1.884585333e-02f, 1.881930308e-02f, 1.879272259e-02f, 1.876611189e-02f, 1.873947104e-02f, 1.871280009e-02f, 1.868609908e-02f, 1.865936806e-02f, 1.863260708e-02f, 1.860581619e-02f,
+1.857899544e-02f, 1.855214488e-02f, 1.852526455e-02f, 1.849835451e-02f, 1.847141480e-02f, 1.844444548e-02f, 1.841744658e-02f, 1.839041817e-02f, 1.836336029e-02f, 1.833627299e-02f,
+1.830915632e-02f, 1.828201032e-02f, 1.825483505e-02f, 1.822763056e-02f, 1.820039690e-02f, 1.817313411e-02f, 1.814584224e-02f, 1.811852135e-02f, 1.809117149e-02f, 1.806379270e-02f,
+1.803638503e-02f, 1.800894853e-02f, 1.798148326e-02f, 1.795398926e-02f, 1.792646659e-02f, 1.789891528e-02f, 1.787133540e-02f, 1.784372700e-02f, 1.781609011e-02f, 1.778842480e-02f,
+1.776073111e-02f, 1.773300910e-02f, 1.770525881e-02f, 1.767748029e-02f, 1.764967359e-02f, 1.762183877e-02f, 1.759397588e-02f, 1.756608496e-02f, 1.753816607e-02f, 1.751021925e-02f,
+1.748224456e-02f, 1.745424205e-02f, 1.742621176e-02f, 1.739815376e-02f, 1.737006808e-02f, 1.734195479e-02f, 1.731381393e-02f, 1.728564555e-02f, 1.725744970e-02f, 1.722922643e-02f,
+1.720097581e-02f, 1.717269787e-02f, 1.714439266e-02f, 1.711606025e-02f, 1.708770067e-02f, 1.705931399e-02f, 1.703090024e-02f, 1.700245949e-02f, 1.697399179e-02f, 1.694549718e-02f,
+1.691697572e-02f, 1.688842746e-02f, 1.685985246e-02f, 1.683125075e-02f, 1.680262240e-02f, 1.677396745e-02f, 1.674528596e-02f, 1.671657798e-02f, 1.668784356e-02f, 1.665908275e-02f,
+1.663029561e-02f, 1.660148219e-02f, 1.657264253e-02f, 1.654377669e-02f, 1.651488473e-02f, 1.648596669e-02f, 1.645702263e-02f, 1.642805259e-02f, 1.639905664e-02f, 1.637003482e-02f,
+1.634098719e-02f, 1.631191379e-02f, 1.628281468e-02f, 1.625368992e-02f, 1.622453955e-02f, 1.619536363e-02f, 1.616616221e-02f, 1.613693534e-02f, 1.610768307e-02f, 1.607840547e-02f,
+1.604910257e-02f, 1.601977444e-02f, 1.599042112e-02f, 1.596104267e-02f, 1.593163915e-02f, 1.590221059e-02f, 1.587275707e-02f, 1.584327862e-02f, 1.581377531e-02f, 1.578424718e-02f,
+1.575469429e-02f, 1.572511670e-02f, 1.569551445e-02f, 1.566588760e-02f, 1.563623620e-02f, 1.560656030e-02f, 1.557685997e-02f, 1.554713524e-02f, 1.551738618e-02f, 1.548761284e-02f,
+1.545781527e-02f, 1.542799352e-02f, 1.539814766e-02f, 1.536827772e-02f, 1.533838377e-02f, 1.530846586e-02f, 1.527852405e-02f, 1.524855838e-02f, 1.521856891e-02f, 1.518855569e-02f,
+1.515851879e-02f, 1.512845824e-02f, 1.509837411e-02f, 1.506826645e-02f, 1.503813532e-02f, 1.500798076e-02f, 1.497780283e-02f, 1.494760159e-02f, 1.491737709e-02f, 1.488712938e-02f,
+1.485685852e-02f, 1.482656456e-02f, 1.479624756e-02f, 1.476590757e-02f, 1.473554464e-02f, 1.470515883e-02f, 1.467475020e-02f, 1.464431879e-02f, 1.461386467e-02f, 1.458338788e-02f,
+1.455288849e-02f, 1.452236654e-02f, 1.449182209e-02f, 1.446125520e-02f, 1.443066591e-02f, 1.440005429e-02f, 1.436942039e-02f, 1.433876426e-02f, 1.430808597e-02f, 1.427738555e-02f,
+1.424666308e-02f, 1.421591859e-02f, 1.418515216e-02f, 1.415436382e-02f, 1.412355365e-02f, 1.409272169e-02f, 1.406186800e-02f, 1.403099263e-02f, 1.400009563e-02f, 1.396917707e-02f,
+1.393823700e-02f, 1.390727548e-02f, 1.387629255e-02f, 1.384528828e-02f, 1.381426271e-02f, 1.378321591e-02f, 1.375214793e-02f, 1.372105883e-02f, 1.368994866e-02f, 1.365881747e-02f,
+1.362766533e-02f, 1.359649228e-02f, 1.356529839e-02f, 1.353408370e-02f, 1.350284828e-02f, 1.347159218e-02f, 1.344031545e-02f, 1.340901816e-02f, 1.337770035e-02f, 1.334636208e-02f,
+1.331500342e-02f, 1.328362441e-02f, 1.325222510e-02f, 1.322080557e-02f, 1.318936586e-02f, 1.315790602e-02f, 1.312642612e-02f, 1.309492621e-02f, 1.306340634e-02f, 1.303186658e-02f,
+1.300030697e-02f, 1.296872758e-02f, 1.293712846e-02f, 1.290550967e-02f, 1.287387125e-02f, 1.284221328e-02f, 1.281053581e-02f, 1.277883888e-02f, 1.274712256e-02f, 1.271538691e-02f,
+1.268363198e-02f, 1.265185782e-02f, 1.262006450e-02f, 1.258825207e-02f, 1.255642059e-02f, 1.252457011e-02f, 1.249270068e-02f, 1.246081238e-02f, 1.242890524e-02f, 1.239697934e-02f,
+1.236503472e-02f, 1.233307145e-02f, 1.230108958e-02f, 1.226908916e-02f, 1.223707025e-02f, 1.220503292e-02f, 1.217297721e-02f, 1.214090318e-02f, 1.210881090e-02f, 1.207670041e-02f,
+1.204457178e-02f, 1.201242506e-02f, 1.198026031e-02f, 1.194807758e-02f, 1.191587693e-02f, 1.188365843e-02f, 1.185142212e-02f, 1.181916806e-02f, 1.178689632e-02f, 1.175460694e-02f,
+1.172229999e-02f, 1.168997552e-02f, 1.165763359e-02f, 1.162527425e-02f, 1.159289758e-02f, 1.156050361e-02f, 1.152809241e-02f, 1.149566404e-02f, 1.146321855e-02f, 1.143075600e-02f,
+1.139827645e-02f, 1.136577996e-02f, 1.133326658e-02f, 1.130073637e-02f, 1.126818939e-02f, 1.123562570e-02f, 1.120304535e-02f, 1.117044840e-02f, 1.113783491e-02f, 1.110520493e-02f,
+1.107255854e-02f, 1.103989577e-02f, 1.100721669e-02f, 1.097452136e-02f, 1.094180984e-02f, 1.090908218e-02f, 1.087633844e-02f, 1.084357867e-02f, 1.081080295e-02f, 1.077801132e-02f,
+1.074520384e-02f, 1.071238057e-02f, 1.067954157e-02f, 1.064668690e-02f, 1.061381661e-02f, 1.058093076e-02f, 1.054802942e-02f, 1.051511263e-02f, 1.048218046e-02f, 1.044923296e-02f,
+1.041627020e-02f, 1.038329223e-02f, 1.035029910e-02f, 1.031729089e-02f, 1.028426764e-02f, 1.025122941e-02f, 1.021817627e-02f, 1.018510826e-02f, 1.015202546e-02f, 1.011892791e-02f,
+1.008581568e-02f, 1.005268882e-02f, 1.001954739e-02f, 9.986391454e-03f, 9.953221066e-03f, 9.920036285e-03f, 9.886837171e-03f, 9.853623781e-03f, 9.820396173e-03f, 9.787154407e-03f,
+9.753898541e-03f, 9.720628633e-03f, 9.687344743e-03f, 9.654046928e-03f, 9.620735247e-03f, 9.587409759e-03f, 9.554070523e-03f, 9.520717597e-03f, 9.487351040e-03f, 9.453970911e-03f,
+9.420577268e-03f, 9.387170170e-03f, 9.353749676e-03f, 9.320315845e-03f, 9.286868735e-03f, 9.253408405e-03f, 9.219934915e-03f, 9.186448323e-03f, 9.152948688e-03f, 9.119436068e-03f,
+9.085910523e-03f, 9.052372112e-03f, 9.018820894e-03f, 8.985256927e-03f, 8.951680270e-03f, 8.918090983e-03f, 8.884489125e-03f, 8.850874754e-03f, 8.817247930e-03f, 8.783608711e-03f,
+8.749957158e-03f, 8.716293328e-03f, 8.682617281e-03f, 8.648929076e-03f, 8.615228772e-03f, 8.581516429e-03f, 8.547792106e-03f, 8.514055861e-03f, 8.480307754e-03f, 8.446547844e-03f,
+8.412776191e-03f, 8.378992854e-03f, 8.345197891e-03f, 8.311391363e-03f, 8.277573328e-03f, 8.243743846e-03f, 8.209902977e-03f, 8.176050779e-03f, 8.142187311e-03f, 8.108312634e-03f,
+8.074426807e-03f, 8.040529889e-03f, 8.006621939e-03f, 7.972703017e-03f, 7.938773182e-03f, 7.904832495e-03f, 7.870881013e-03f, 7.836918797e-03f, 7.802945907e-03f, 7.768962401e-03f,
+7.734968339e-03f, 7.700963781e-03f, 7.666948787e-03f, 7.632923415e-03f, 7.598887726e-03f, 7.564841779e-03f, 7.530785634e-03f, 7.496719350e-03f, 7.462642987e-03f, 7.428556604e-03f,
+7.394460262e-03f, 7.360354020e-03f, 7.326237937e-03f, 7.292112073e-03f, 7.257976488e-03f, 7.223831242e-03f, 7.189676395e-03f, 7.155512005e-03f, 7.121338133e-03f, 7.087154839e-03f,
+7.052962182e-03f, 7.018760222e-03f, 6.984549020e-03f, 6.950328633e-03f, 6.916099124e-03f, 6.881860551e-03f, 6.847612974e-03f, 6.813356453e-03f, 6.779091048e-03f, 6.744816818e-03f,
+6.710533825e-03f, 6.676242126e-03f, 6.641941784e-03f, 6.607632856e-03f, 6.573315404e-03f, 6.538989487e-03f, 6.504655164e-03f, 6.470312497e-03f, 6.435961545e-03f, 6.401602368e-03f,
+6.367235026e-03f, 6.332859578e-03f, 6.298476086e-03f, 6.264084608e-03f, 6.229685205e-03f, 6.195277937e-03f, 6.160862864e-03f, 6.126440045e-03f, 6.092009542e-03f, 6.057571414e-03f,
+6.023125721e-03f, 5.988672522e-03f, 5.954211879e-03f, 5.919743852e-03f, 5.885268499e-03f, 5.850785883e-03f, 5.816296061e-03f, 5.781799096e-03f, 5.747295046e-03f, 5.712783972e-03f,
+5.678265934e-03f, 5.643740992e-03f, 5.609209206e-03f, 5.574670637e-03f, 5.540125345e-03f, 5.505573389e-03f, 5.471014830e-03f, 5.436449729e-03f, 5.401878144e-03f, 5.367300138e-03f,
+5.332715768e-03f, 5.298125097e-03f, 5.263528184e-03f, 5.228925089e-03f, 5.194315873e-03f, 5.159700595e-03f, 5.125079316e-03f, 5.090452097e-03f, 5.055818997e-03f, 5.021180077e-03f,
+4.986535396e-03f, 4.951885016e-03f, 4.917228996e-03f, 4.882567397e-03f, 4.847900279e-03f, 4.813227702e-03f, 4.778549727e-03f, 4.743866414e-03f, 4.709177822e-03f, 4.674484013e-03f,
+4.639785047e-03f, 4.605080983e-03f, 4.570371883e-03f, 4.535657807e-03f, 4.500938814e-03f, 4.466214966e-03f, 4.431486322e-03f, 4.396752943e-03f, 4.362014888e-03f, 4.327272220e-03f,
+4.292524997e-03f, 4.257773281e-03f, 4.223017130e-03f, 4.188256607e-03f, 4.153491771e-03f, 4.118722682e-03f, 4.083949401e-03f, 4.049171988e-03f, 4.014390503e-03f, 3.979605008e-03f,
+3.944815562e-03f, 3.910022225e-03f, 3.875225058e-03f, 3.840424121e-03f, 3.805619475e-03f, 3.770811180e-03f, 3.735999296e-03f, 3.701183884e-03f, 3.666365004e-03f, 3.631542716e-03f,
+3.596717081e-03f, 3.561888159e-03f, 3.527056011e-03f, 3.492220696e-03f, 3.457382276e-03f, 3.422540810e-03f, 3.387696359e-03f, 3.352848984e-03f, 3.317998744e-03f, 3.283145700e-03f,
+3.248289912e-03f, 3.213431442e-03f, 3.178570348e-03f, 3.143706692e-03f, 3.108840534e-03f, 3.073971934e-03f, 3.039100953e-03f, 3.004227650e-03f, 2.969352087e-03f, 2.934474323e-03f,
+2.899594420e-03f, 2.864712437e-03f, 2.829828434e-03f, 2.794942473e-03f, 2.760054613e-03f, 2.725164914e-03f, 2.690273438e-03f, 2.655380244e-03f, 2.620485393e-03f, 2.585588946e-03f,
+2.550690961e-03f, 2.515791501e-03f, 2.480890625e-03f, 2.445988393e-03f, 2.411084865e-03f, 2.376180104e-03f, 2.341274167e-03f, 2.306367116e-03f, 2.271459011e-03f, 2.236549913e-03f,
+2.201639882e-03f, 2.166728977e-03f, 2.131817260e-03f, 2.096904790e-03f, 2.061991628e-03f, 2.027077834e-03f, 1.992163469e-03f, 1.957248593e-03f, 1.922333266e-03f, 1.887417548e-03f,
+1.852501499e-03f, 1.817585180e-03f, 1.782668652e-03f, 1.747751974e-03f, 1.712835206e-03f, 1.677918410e-03f, 1.643001644e-03f, 1.608084970e-03f, 1.573168447e-03f, 1.538252136e-03f,
+1.503336097e-03f, 1.468420391e-03f, 1.433505076e-03f, 1.398590215e-03f, 1.363675866e-03f, 1.328762091e-03f, 1.293848948e-03f, 1.258936499e-03f, 1.224024803e-03f, 1.189113922e-03f,
+1.154203914e-03f, 1.119294840e-03f, 1.084386760e-03f, 1.049479735e-03f, 1.014573824e-03f, 9.796690881e-04f, 9.447655866e-04f, 9.098633800e-04f, 8.749625282e-04f, 8.400630916e-04f,
+8.051651300e-04f, 7.702687037e-04f, 7.353738726e-04f, 7.004806969e-04f, 6.655892366e-04f, 6.306995517e-04f, 5.958117024e-04f, 5.609257486e-04f, 5.260417504e-04f, 4.911597677e-04f,
+4.562798607e-04f, 4.214020892e-04f, 3.865265134e-04f, 3.516531931e-04f, 3.167821884e-04f, 2.819135591e-04f, 2.470473654e-04f, 2.121836671e-04f, 1.773225241e-04f, 1.424639964e-04f,
+1.076081440e-04f, 7.275502664e-05f, 3.790470432e-05f, 3.057236898e-06f, -3.178731573e-05f, -6.662889370e-05f, -1.014674371e-04f, -1.363028862e-04f, -1.711351811e-04f, -2.059642619e-04f,
+-2.407900689e-04f, -2.756125422e-04f, -3.104316221e-04f, -3.452472487e-04f, -3.800593622e-04f, -4.148679030e-04f, -4.496728112e-04f, -4.844740272e-04f, -5.192714911e-04f, -5.540651433e-04f,
+-5.888549241e-04f, -6.236407737e-04f, -6.584226325e-04f, -6.932004408e-04f, -7.279741390e-04f, -7.627436673e-04f, -7.975089662e-04f, -8.322699761e-04f, -8.670266372e-04f, -9.017788901e-04f,
+-9.365266752e-04f, -9.712699328e-04f, -1.006008603e-03f, -1.040742627e-03f, -1.075471945e-03f, -1.110196498e-03f, -1.144916225e-03f, -1.179631068e-03f, -1.214340966e-03f, -1.249045861e-03f,
+-1.283745693e-03f, -1.318440403e-03f, -1.353129930e-03f, -1.387814217e-03f, -1.422493203e-03f, -1.457166828e-03f, -1.491835034e-03f, -1.526497762e-03f, -1.561154951e-03f, -1.595806543e-03f,
+-1.630452477e-03f, -1.665092696e-03f, -1.699727140e-03f, -1.734355748e-03f, -1.768978463e-03f, -1.803595225e-03f, -1.838205975e-03f, -1.872810652e-03f, -1.907409199e-03f, -1.942001556e-03f,
+-1.976587664e-03f, -2.011167464e-03f, -2.045740897e-03f, -2.080307902e-03f, -2.114868423e-03f, -2.149422398e-03f, -2.183969770e-03f, -2.218510479e-03f, -2.253044466e-03f, -2.287571673e-03f,
+-2.322092039e-03f, -2.356605507e-03f, -2.391112017e-03f, -2.425611510e-03f, -2.460103928e-03f, -2.494589210e-03f, -2.529067300e-03f, -2.563538137e-03f, -2.598001663e-03f, -2.632457818e-03f,
+-2.666906545e-03f, -2.701347784e-03f, -2.735781476e-03f, -2.770207564e-03f, -2.804625987e-03f, -2.839036687e-03f, -2.873439606e-03f, -2.907834685e-03f, -2.942221864e-03f, -2.976601086e-03f,
+-3.010972292e-03f, -3.045335423e-03f, -3.079690421e-03f, -3.114037227e-03f, -3.148375782e-03f, -3.182706027e-03f, -3.217027905e-03f, -3.251341357e-03f, -3.285646324e-03f, -3.319942748e-03f,
+-3.354230571e-03f, -3.388509733e-03f, -3.422780177e-03f, -3.457041843e-03f, -3.491294675e-03f, -3.525538613e-03f, -3.559773599e-03f, -3.593999575e-03f, -3.628216482e-03f, -3.662424262e-03f,
+-3.696622857e-03f, -3.730812209e-03f, -3.764992259e-03f, -3.799162950e-03f, -3.833324222e-03f, -3.867476019e-03f, -3.901618281e-03f, -3.935750951e-03f, -3.969873971e-03f, -4.003987282e-03f,
+-4.038090826e-03f, -4.072184547e-03f, -4.106268384e-03f, -4.140342281e-03f, -4.174406180e-03f, -4.208460022e-03f, -4.242503750e-03f, -4.276537306e-03f, -4.310560632e-03f, -4.344573670e-03f,
+-4.378576362e-03f, -4.412568650e-03f, -4.446550478e-03f, -4.480521786e-03f, -4.514482517e-03f, -4.548432614e-03f, -4.582372019e-03f, -4.616300674e-03f, -4.650218521e-03f, -4.684125504e-03f,
+-4.718021563e-03f, -4.751906643e-03f, -4.785780684e-03f, -4.819643631e-03f, -4.853495424e-03f, -4.887336007e-03f, -4.921165323e-03f, -4.954983313e-03f, -4.988789921e-03f, -5.022585089e-03f,
+-5.056368759e-03f, -5.090140875e-03f, -5.123901379e-03f, -5.157650214e-03f, -5.191387322e-03f, -5.225112647e-03f, -5.258826131e-03f, -5.292527716e-03f, -5.326217347e-03f, -5.359894965e-03f,
+-5.393560514e-03f, -5.427213936e-03f, -5.460855175e-03f, -5.494484173e-03f, -5.528100874e-03f, -5.561705220e-03f, -5.595297154e-03f, -5.628876620e-03f, -5.662443561e-03f, -5.695997920e-03f,
+-5.729539640e-03f, -5.763068663e-03f, -5.796584935e-03f, -5.830088396e-03f, -5.863578992e-03f, -5.897056665e-03f, -5.930521358e-03f, -5.963973016e-03f, -5.997411580e-03f, -6.030836995e-03f,
+-6.064249204e-03f, -6.097648151e-03f, -6.131033778e-03f, -6.164406030e-03f, -6.197764851e-03f, -6.231110182e-03f, -6.264441969e-03f, -6.297760155e-03f, -6.331064683e-03f, -6.364355498e-03f,
+-6.397632542e-03f, -6.430895760e-03f, -6.464145095e-03f, -6.497380491e-03f, -6.530601892e-03f, -6.563809242e-03f, -6.597002485e-03f, -6.630181565e-03f, -6.663346425e-03f, -6.696497009e-03f,
+-6.729633262e-03f, -6.762755128e-03f, -6.795862550e-03f, -6.828955472e-03f, -6.862033840e-03f, -6.895097596e-03f, -6.928146686e-03f, -6.961181053e-03f, -6.994200641e-03f, -7.027205395e-03f,
+-7.060195260e-03f, -7.093170178e-03f, -7.126130096e-03f, -7.159074957e-03f, -7.192004705e-03f, -7.224919285e-03f, -7.257818642e-03f, -7.290702719e-03f, -7.323571462e-03f, -7.356424816e-03f,
+-7.389262724e-03f, -7.422085131e-03f, -7.454891982e-03f, -7.487683222e-03f, -7.520458796e-03f, -7.553218647e-03f, -7.585962722e-03f, -7.618690964e-03f, -7.651403319e-03f, -7.684099732e-03f,
+-7.716780147e-03f, -7.749444509e-03f, -7.782092764e-03f, -7.814724856e-03f, -7.847340730e-03f, -7.879940332e-03f, -7.912523607e-03f, -7.945090499e-03f, -7.977640955e-03f, -8.010174918e-03f,
+-8.042692335e-03f, -8.075193150e-03f, -8.107677310e-03f, -8.140144758e-03f, -8.172595442e-03f, -8.205029305e-03f, -8.237446294e-03f, -8.269846354e-03f, -8.302229431e-03f, -8.334595470e-03f,
+-8.366944416e-03f, -8.399276215e-03f, -8.431590814e-03f, -8.463888157e-03f, -8.496168190e-03f, -8.528430859e-03f, -8.560676110e-03f, -8.592903889e-03f, -8.625114141e-03f, -8.657306812e-03f,
+-8.689481849e-03f, -8.721639197e-03f, -8.753778802e-03f, -8.785900611e-03f, -8.818004569e-03f, -8.850090622e-03f, -8.882158717e-03f, -8.914208799e-03f, -8.946240816e-03f, -8.978254712e-03f,
+-9.010250435e-03f, -9.042227931e-03f, -9.074187146e-03f, -9.106128026e-03f, -9.138050518e-03f, -9.169954568e-03f, -9.201840123e-03f, -9.233707130e-03f, -9.265555534e-03f, -9.297385283e-03f,
+-9.329196323e-03f, -9.360988601e-03f, -9.392762064e-03f, -9.424516657e-03f, -9.456252329e-03f, -9.487969025e-03f, -9.519666693e-03f, -9.551345280e-03f, -9.583004733e-03f, -9.614644997e-03f,
+-9.646266022e-03f, -9.677867753e-03f, -9.709450137e-03f, -9.741013123e-03f, -9.772556656e-03f, -9.804080684e-03f, -9.835585155e-03f, -9.867070015e-03f, -9.898535212e-03f, -9.929980693e-03f,
+-9.961406406e-03f, -9.992812298e-03f, -1.002419832e-02f, -1.005556441e-02f, -1.008691052e-02f, -1.011823661e-02f, -1.014954261e-02f, -1.018082847e-02f, -1.021209415e-02f, -1.024333958e-02f,
+-1.027456473e-02f, -1.030576953e-02f, -1.033695393e-02f, -1.036811788e-02f, -1.039926134e-02f, -1.043038424e-02f, -1.046148653e-02f, -1.049256817e-02f, -1.052362910e-02f, -1.055466927e-02f,
+-1.058568863e-02f, -1.061668712e-02f, -1.064766469e-02f, -1.067862130e-02f, -1.070955689e-02f, -1.074047141e-02f, -1.077136480e-02f, -1.080223703e-02f, -1.083308802e-02f, -1.086391774e-02f,
+-1.089472613e-02f, -1.092551314e-02f, -1.095627872e-02f, -1.098702281e-02f, -1.101774537e-02f, -1.104844635e-02f, -1.107912569e-02f, -1.110978335e-02f, -1.114041926e-02f, -1.117103339e-02f,
+-1.120162567e-02f, -1.123219606e-02f, -1.126274451e-02f, -1.129327097e-02f, -1.132377538e-02f, -1.135425770e-02f, -1.138471788e-02f, -1.141515585e-02f, -1.144557158e-02f, -1.147596501e-02f,
+-1.150633609e-02f, -1.153668478e-02f, -1.156701101e-02f, -1.159731475e-02f, -1.162759593e-02f, -1.165785452e-02f, -1.168809045e-02f, -1.171830368e-02f, -1.174849416e-02f, -1.177866184e-02f,
+-1.180880666e-02f, -1.183892859e-02f, -1.186902756e-02f, -1.189910353e-02f, -1.192915645e-02f, -1.195918627e-02f, -1.198919293e-02f, -1.201917639e-02f, -1.204913660e-02f, -1.207907351e-02f,
+-1.210898707e-02f, -1.213887723e-02f, -1.216874394e-02f, -1.219858714e-02f, -1.222840680e-02f, -1.225820286e-02f, -1.228797527e-02f, -1.231772398e-02f, -1.234744895e-02f, -1.237715012e-02f,
+-1.240682744e-02f, -1.243648087e-02f, -1.246611035e-02f, -1.249571584e-02f, -1.252529729e-02f, -1.255485465e-02f, -1.258438786e-02f, -1.261389689e-02f, -1.264338168e-02f, -1.267284218e-02f,
+-1.270227835e-02f, -1.273169013e-02f, -1.276107747e-02f, -1.279044034e-02f, -1.281977867e-02f, -1.284909243e-02f, -1.287838155e-02f, -1.290764600e-02f, -1.293688573e-02f, -1.296610068e-02f,
+-1.299529081e-02f, -1.302445607e-02f, -1.305359641e-02f, -1.308271179e-02f, -1.311180215e-02f, -1.314086745e-02f, -1.316990763e-02f, -1.319892266e-02f, -1.322791248e-02f, -1.325687705e-02f,
+-1.328581632e-02f, -1.331473023e-02f, -1.334361875e-02f, -1.337248182e-02f, -1.340131939e-02f, -1.343013143e-02f, -1.345891787e-02f, -1.348767868e-02f, -1.351641381e-02f, -1.354512320e-02f,
+-1.357380682e-02f, -1.360246461e-02f, -1.363109652e-02f, -1.365970252e-02f, -1.368828254e-02f, -1.371683656e-02f, -1.374536451e-02f, -1.377386635e-02f, -1.380234203e-02f, -1.383079151e-02f,
+-1.385921474e-02f, -1.388761167e-02f, -1.391598226e-02f, -1.394432646e-02f, -1.397264423e-02f, -1.400093550e-02f, -1.402920025e-02f, -1.405743842e-02f, -1.408564997e-02f, -1.411383484e-02f,
+-1.414199300e-02f, -1.417012440e-02f, -1.419822898e-02f, -1.422630672e-02f, -1.425435755e-02f, -1.428238143e-02f, -1.431037831e-02f, -1.433834816e-02f, -1.436629092e-02f, -1.439420655e-02f,
+-1.442209500e-02f, -1.444995623e-02f, -1.447779019e-02f, -1.450559683e-02f, -1.453337611e-02f, -1.456112798e-02f, -1.458885240e-02f, -1.461654932e-02f, -1.464421870e-02f, -1.467186049e-02f,
+-1.469947465e-02f, -1.472706112e-02f, -1.475461987e-02f, -1.478215085e-02f, -1.480965402e-02f, -1.483712932e-02f, -1.486457672e-02f, -1.489199616e-02f, -1.491938761e-02f, -1.494675102e-02f,
+-1.497408635e-02f, -1.500139354e-02f, -1.502867256e-02f, -1.505592335e-02f, -1.508314589e-02f, -1.511034011e-02f, -1.513750598e-02f, -1.516464345e-02f, -1.519175248e-02f, -1.521883302e-02f,
+-1.524588502e-02f, -1.527290846e-02f, -1.529990327e-02f, -1.532686941e-02f, -1.535380685e-02f, -1.538071554e-02f, -1.540759543e-02f, -1.543444647e-02f, -1.546126863e-02f, -1.548806187e-02f,
+-1.551482613e-02f, -1.554156137e-02f, -1.556826756e-02f, -1.559494464e-02f, -1.562159257e-02f, -1.564821131e-02f, -1.567480082e-02f, -1.570136105e-02f, -1.572789196e-02f, -1.575439350e-02f,
+-1.578086563e-02f, -1.580730832e-02f, -1.583372151e-02f, -1.586010516e-02f, -1.588645923e-02f, -1.591278368e-02f, -1.593907846e-02f, -1.596534353e-02f, -1.599157884e-02f, -1.601778437e-02f,
+-1.604396005e-02f, -1.607010586e-02f, -1.609622174e-02f, -1.612230765e-02f, -1.614836356e-02f, -1.617438941e-02f, -1.620038517e-02f, -1.622635080e-02f, -1.625228625e-02f, -1.627819147e-02f,
+-1.630406644e-02f, -1.632991110e-02f, -1.635572541e-02f, -1.638150933e-02f, -1.640726283e-02f, -1.643298585e-02f, -1.645867835e-02f, -1.648434030e-02f, -1.650997165e-02f, -1.653557236e-02f,
+-1.656114239e-02f, -1.658668170e-02f, -1.661219024e-02f, -1.663766798e-02f, -1.666311486e-02f, -1.668853086e-02f, -1.671391593e-02f, -1.673927003e-02f, -1.676459311e-02f, -1.678988515e-02f,
+-1.681514608e-02f, -1.684037588e-02f, -1.686557450e-02f, -1.689074191e-02f, -1.691587806e-02f, -1.694098290e-02f, -1.696605641e-02f, -1.699109854e-02f, -1.701610924e-02f, -1.704108849e-02f,
+-1.706603623e-02f, -1.709095242e-02f, -1.711583704e-02f, -1.714069003e-02f, -1.716551135e-02f, -1.719030098e-02f, -1.721505885e-02f, -1.723978495e-02f, -1.726447922e-02f, -1.728914162e-02f,
+-1.731377212e-02f, -1.733837068e-02f, -1.736293725e-02f, -1.738747180e-02f, -1.741197428e-02f, -1.743644466e-02f, -1.746088290e-02f, -1.748528896e-02f, -1.750966279e-02f, -1.753400437e-02f,
+-1.755831364e-02f, -1.758259057e-02f, -1.760683513e-02f, -1.763104727e-02f, -1.765522695e-02f, -1.767937413e-02f, -1.770348878e-02f, -1.772757085e-02f, -1.775162031e-02f, -1.777563712e-02f,
+-1.779962124e-02f, -1.782357263e-02f, -1.784749125e-02f, -1.787137706e-02f, -1.789523003e-02f, -1.791905012e-02f, -1.794283728e-02f, -1.796659149e-02f, -1.799031269e-02f, -1.801400086e-02f,
+-1.803765596e-02f, -1.806127794e-02f, -1.808486677e-02f, -1.810842241e-02f, -1.813194482e-02f, -1.815543397e-02f, -1.817888982e-02f, -1.820231233e-02f, -1.822570146e-02f, -1.824905717e-02f,
+-1.827237944e-02f, -1.829566821e-02f, -1.831892345e-02f, -1.834214513e-02f, -1.836533320e-02f, -1.838848764e-02f, -1.841160840e-02f, -1.843469544e-02f, -1.845774873e-02f, -1.848076824e-02f,
+-1.850375392e-02f, -1.852670574e-02f, -1.854962365e-02f, -1.857250764e-02f, -1.859535765e-02f, -1.861817365e-02f, -1.864095561e-02f, -1.866370348e-02f, -1.868641724e-02f, -1.870909684e-02f,
+-1.873174225e-02f, -1.875435344e-02f, -1.877693036e-02f, -1.879947298e-02f, -1.882198126e-02f, -1.884445517e-02f, -1.886689468e-02f, -1.888929974e-02f, -1.891167032e-02f, -1.893400639e-02f,
+-1.895630790e-02f, -1.897857483e-02f, -1.900080714e-02f, -1.902300479e-02f, -1.904516774e-02f, -1.906729597e-02f, -1.908938944e-02f, -1.911144810e-02f, -1.913347193e-02f, -1.915546089e-02f,
+-1.917741495e-02f, -1.919933407e-02f, -1.922121821e-02f, -1.924306734e-02f, -1.926488143e-02f, -1.928666044e-02f, -1.930840434e-02f, -1.933011309e-02f, -1.935178665e-02f, -1.937342500e-02f,
+-1.939502810e-02f, -1.941659591e-02f, -1.943812840e-02f, -1.945962554e-02f, -1.948108729e-02f, -1.950251361e-02f, -1.952390448e-02f, -1.954525985e-02f, -1.956657970e-02f, -1.958786400e-02f,
+-1.960911270e-02f, -1.963032577e-02f, -1.965150318e-02f, -1.967264490e-02f, -1.969375090e-02f, -1.971482113e-02f, -1.973585556e-02f, -1.975685418e-02f, -1.977781692e-02f, -1.979874378e-02f,
+-1.981963471e-02f, -1.984048968e-02f, -1.986130865e-02f, -1.988209160e-02f, -1.990283849e-02f, -1.992354929e-02f, -1.994422396e-02f, -1.996486248e-02f, -1.998546480e-02f, -2.000603091e-02f,
+-2.002656076e-02f, -2.004705432e-02f, -2.006751156e-02f, -2.008793244e-02f, -2.010831695e-02f, -2.012866503e-02f, -2.014897667e-02f, -2.016925183e-02f, -2.018949047e-02f, -2.020969257e-02f,
+-2.022985810e-02f, -2.024998701e-02f, -2.027007929e-02f, -2.029013489e-02f, -2.031015379e-02f, -2.033013595e-02f, -2.035008135e-02f, -2.036998995e-02f, -2.038986172e-02f, -2.040969663e-02f,
+-2.042949465e-02f, -2.044925575e-02f, -2.046897989e-02f, -2.048866705e-02f, -2.050831719e-02f, -2.052793028e-02f, -2.054750630e-02f, -2.056704521e-02f, -2.058654698e-02f, -2.060601158e-02f,
+-2.062543898e-02f, -2.064482915e-02f, -2.066418206e-02f, -2.068349768e-02f, -2.070277598e-02f, -2.072201693e-02f, -2.074122049e-02f, -2.076038664e-02f, -2.077951535e-02f, -2.079860659e-02f,
+-2.081766033e-02f, -2.083667654e-02f, -2.085565518e-02f, -2.087459623e-02f, -2.089349967e-02f, -2.091236545e-02f, -2.093119355e-02f, -2.094998395e-02f, -2.096873661e-02f, -2.098745150e-02f,
+-2.100612859e-02f, -2.102476786e-02f, -2.104336927e-02f, -2.106193280e-02f, -2.108045841e-02f, -2.109894609e-02f, -2.111739579e-02f, -2.113580750e-02f, -2.115418117e-02f, -2.117251680e-02f,
+-2.119081433e-02f, -2.120907375e-02f, -2.122729504e-02f, -2.124547815e-02f, -2.126362306e-02f, -2.128172975e-02f, -2.129979818e-02f, -2.131782833e-02f, -2.133582017e-02f, -2.135377367e-02f,
+-2.137168880e-02f, -2.138956554e-02f, -2.140740386e-02f, -2.142520373e-02f, -2.144296512e-02f, -2.146068801e-02f, -2.147837237e-02f, -2.149601816e-02f, -2.151362538e-02f, -2.153119397e-02f,
+-2.154872393e-02f, -2.156621522e-02f, -2.158366781e-02f, -2.160108168e-02f, -2.161845680e-02f, -2.163579315e-02f, -2.165309069e-02f, -2.167034941e-02f, -2.168756927e-02f, -2.170475025e-02f,
+-2.172189232e-02f, -2.173899545e-02f, -2.175605962e-02f, -2.177308481e-02f, -2.179007098e-02f, -2.180701811e-02f, -2.182392618e-02f, -2.184079515e-02f, -2.185762501e-02f, -2.187441572e-02f,
+-2.189116727e-02f, -2.190787961e-02f, -2.192455274e-02f, -2.194118662e-02f, -2.195778123e-02f, -2.197433655e-02f, -2.199085254e-02f, -2.200732918e-02f, -2.202376645e-02f, -2.204016432e-02f,
+-2.205652277e-02f, -2.207284177e-02f, -2.208912129e-02f, -2.210536132e-02f, -2.212156183e-02f, -2.213772279e-02f, -2.215384417e-02f, -2.216992596e-02f, -2.218596813e-02f, -2.220197066e-02f,
+-2.221793351e-02f, -2.223385667e-02f, -2.224974011e-02f, -2.226558380e-02f, -2.228138774e-02f, -2.229715187e-02f, -2.231287620e-02f, -2.232856069e-02f, -2.234420531e-02f, -2.235981005e-02f,
+-2.237537488e-02f, -2.239089977e-02f, -2.240638471e-02f, -2.242182966e-02f, -2.243723462e-02f, -2.245259954e-02f, -2.246792442e-02f, -2.248320922e-02f, -2.249845393e-02f, -2.251365851e-02f,
+-2.252882296e-02f, -2.254394724e-02f, -2.255903133e-02f, -2.257407520e-02f, -2.258907885e-02f, -2.260404224e-02f, -2.261896535e-02f, -2.263384816e-02f, -2.264869064e-02f, -2.266349278e-02f,
+-2.267825455e-02f, -2.269297593e-02f, -2.270765690e-02f, -2.272229744e-02f, -2.273689751e-02f, -2.275145711e-02f, -2.276597621e-02f, -2.278045479e-02f, -2.279489282e-02f, -2.280929029e-02f,
+-2.282364717e-02f, -2.283796345e-02f, -2.285223909e-02f, -2.286647408e-02f, -2.288066840e-02f, -2.289482203e-02f, -2.290893494e-02f, -2.292300712e-02f, -2.293703854e-02f, -2.295102919e-02f,
+-2.296497904e-02f, -2.297888806e-02f, -2.299275625e-02f, -2.300658358e-02f, -2.302037003e-02f, -2.303411557e-02f, -2.304782020e-02f, -2.306148388e-02f, -2.307510661e-02f, -2.308868835e-02f,
+-2.310222908e-02f, -2.311572880e-02f, -2.312918747e-02f, -2.314260508e-02f, -2.315598161e-02f, -2.316931704e-02f, -2.318261135e-02f, -2.319586452e-02f, -2.320907652e-02f, -2.322224735e-02f,
+-2.323537698e-02f, -2.324846538e-02f, -2.326151256e-02f, -2.327451847e-02f, -2.328748311e-02f, -2.330040645e-02f, -2.331328849e-02f, -2.332612918e-02f, -2.333892853e-02f, -2.335168651e-02f,
+-2.336440310e-02f, -2.337707828e-02f, -2.338971203e-02f, -2.340230434e-02f, -2.341485519e-02f, -2.342736456e-02f, -2.343983243e-02f, -2.345225878e-02f, -2.346464360e-02f, -2.347698686e-02f,
+-2.348928855e-02f, -2.350154865e-02f, -2.351376715e-02f, -2.352594402e-02f, -2.353807925e-02f, -2.355017283e-02f, -2.356222472e-02f, -2.357423492e-02f, -2.358620341e-02f, -2.359813017e-02f,
+-2.361001518e-02f, -2.362185843e-02f, -2.363365990e-02f, -2.364541957e-02f, -2.365713743e-02f, -2.366881346e-02f, -2.368044764e-02f, -2.369203995e-02f, -2.370359039e-02f, -2.371509893e-02f,
+-2.372656555e-02f, -2.373799024e-02f, -2.374937299e-02f, -2.376071378e-02f, -2.377201258e-02f, -2.378326939e-02f, -2.379448419e-02f, -2.380565697e-02f, -2.381678770e-02f, -2.382787637e-02f,
+-2.383892297e-02f, -2.384992747e-02f, -2.386088988e-02f, -2.387181016e-02f, -2.388268830e-02f, -2.389352430e-02f, -2.390431812e-02f, -2.391506977e-02f, -2.392577922e-02f, -2.393644645e-02f,
+-2.394707146e-02f, -2.395765423e-02f, -2.396819474e-02f, -2.397869298e-02f, -2.398914893e-02f, -2.399956258e-02f, -2.400993391e-02f, -2.402026292e-02f, -2.403054958e-02f, -2.404079388e-02f,
+-2.405099581e-02f, -2.406115536e-02f, -2.407127250e-02f, -2.408134723e-02f, -2.409137953e-02f, -2.410136938e-02f, -2.411131678e-02f, -2.412122171e-02f, -2.413108416e-02f, -2.414090410e-02f,
+-2.415068154e-02f, -2.416041645e-02f, -2.417010883e-02f, -2.417975865e-02f, -2.418936591e-02f, -2.419893059e-02f, -2.420845269e-02f, -2.421793218e-02f, -2.422736905e-02f, -2.423676329e-02f,
+-2.424611490e-02f, -2.425542384e-02f, -2.426469013e-02f, -2.427391373e-02f, -2.428309464e-02f, -2.429223284e-02f, -2.430132833e-02f, -2.431038109e-02f, -2.431939111e-02f, -2.432835838e-02f,
+-2.433728288e-02f, -2.434616461e-02f, -2.435500354e-02f, -2.436379968e-02f, -2.437255300e-02f, -2.438126350e-02f, -2.438993117e-02f, -2.439855599e-02f, -2.440713795e-02f, -2.441567704e-02f,
+-2.442417325e-02f, -2.443262656e-02f, -2.444103698e-02f, -2.444940448e-02f, -2.445772905e-02f, -2.446601069e-02f, -2.447424939e-02f, -2.448244512e-02f, -2.449059789e-02f, -2.449870768e-02f,
+-2.450677448e-02f, -2.451479828e-02f, -2.452277907e-02f, -2.453071684e-02f, -2.453861158e-02f, -2.454646328e-02f, -2.455427193e-02f, -2.456203752e-02f, -2.456976004e-02f, -2.457743948e-02f,
+-2.458507582e-02f, -2.459266907e-02f, -2.460021921e-02f, -2.460772623e-02f, -2.461519013e-02f, -2.462261088e-02f, -2.462998849e-02f, -2.463732294e-02f, -2.464461423e-02f, -2.465186234e-02f,
+-2.465906727e-02f, -2.466622901e-02f, -2.467334754e-02f, -2.468042287e-02f, -2.468745498e-02f, -2.469444386e-02f, -2.470138950e-02f, -2.470829190e-02f, -2.471515105e-02f, -2.472196694e-02f,
+-2.472873956e-02f, -2.473546890e-02f, -2.474215495e-02f, -2.474879772e-02f, -2.475539718e-02f, -2.476195333e-02f, -2.476846616e-02f, -2.477493567e-02f, -2.478136185e-02f, -2.478774469e-02f,
+-2.479408418e-02f, -2.480038031e-02f, -2.480663309e-02f, -2.481284249e-02f, -2.481900852e-02f, -2.482513116e-02f, -2.483121041e-02f, -2.483724627e-02f, -2.484323872e-02f, -2.484918776e-02f,
+-2.485509338e-02f, -2.486095557e-02f, -2.486677434e-02f, -2.487254966e-02f, -2.487828155e-02f, -2.488396998e-02f, -2.488961495e-02f, -2.489521646e-02f, -2.490077450e-02f, -2.490628907e-02f,
+-2.491176015e-02f, -2.491718775e-02f, -2.492257185e-02f, -2.492791246e-02f, -2.493320956e-02f, -2.493846315e-02f, -2.494367323e-02f, -2.494883978e-02f, -2.495396280e-02f, -2.495904230e-02f,
+-2.496407826e-02f, -2.496907067e-02f, -2.497401954e-02f, -2.497892486e-02f, -2.498378661e-02f, -2.498860481e-02f, -2.499337944e-02f, -2.499811050e-02f, -2.500279798e-02f, -2.500744188e-02f,
+-2.501204219e-02f, -2.501659892e-02f, -2.502111205e-02f, -2.502558158e-02f, -2.503000751e-02f, -2.503438984e-02f, -2.503872855e-02f, -2.504302365e-02f, -2.504727513e-02f, -2.505148299e-02f,
+-2.505564722e-02f, -2.505976782e-02f, -2.506384479e-02f, -2.506787813e-02f, -2.507186782e-02f, -2.507581387e-02f, -2.507971627e-02f, -2.508357502e-02f, -2.508739012e-02f, -2.509116157e-02f,
+-2.509488935e-02f, -2.509857348e-02f, -2.510221394e-02f, -2.510581073e-02f, -2.510936385e-02f, -2.511287330e-02f, -2.511633907e-02f, -2.511976117e-02f, -2.512313958e-02f, -2.512647431e-02f,
+-2.512976536e-02f, -2.513301272e-02f, -2.513621640e-02f, -2.513937638e-02f, -2.514249267e-02f, -2.514556527e-02f, -2.514859417e-02f, -2.515157937e-02f, -2.515452087e-02f, -2.515741867e-02f,
+-2.516027277e-02f, -2.516308317e-02f, -2.516584985e-02f, -2.516857284e-02f, -2.517125211e-02f, -2.517388768e-02f, -2.517647954e-02f, -2.517902769e-02f, -2.518153212e-02f, -2.518399284e-02f,
+-2.518640985e-02f, -2.518878315e-02f, -2.519111273e-02f, -2.519339860e-02f, -2.519564076e-02f, -2.519783919e-02f, -2.519999392e-02f, -2.520210492e-02f, -2.520417221e-02f, -2.520619579e-02f,
+-2.520817565e-02f, -2.521011179e-02f, -2.521200422e-02f, -2.521385293e-02f, -2.521565793e-02f, -2.521741921e-02f, -2.521913678e-02f, -2.522081064e-02f, -2.522244078e-02f, -2.522402722e-02f,
+-2.522556994e-02f, -2.522706895e-02f, -2.522852425e-02f, -2.522993584e-02f, -2.523130373e-02f, -2.523262791e-02f, -2.523390838e-02f, -2.523514515e-02f, -2.523633822e-02f, -2.523748759e-02f,
+-2.523859326e-02f, -2.523965523e-02f, -2.524067351e-02f, -2.524164809e-02f, -2.524257898e-02f, -2.524346618e-02f, -2.524430969e-02f, -2.524510952e-02f, -2.524586566e-02f, -2.524657813e-02f,
+-2.524724691e-02f, -2.524787201e-02f, -2.524845344e-02f, -2.524899120e-02f, -2.524948529e-02f, -2.524993571e-02f, -2.525034247e-02f, -2.525070557e-02f, -2.525102501e-02f, -2.525130079e-02f,
+-2.525153292e-02f, -2.525172141e-02f, -2.525186624e-02f, -2.525196744e-02f, -2.525202499e-02f, -2.525203891e-02f, -2.525200920e-02f, -2.525193586e-02f, -2.525181889e-02f, -2.525165831e-02f,
+-2.525145410e-02f, -2.525120628e-02f, -2.525091486e-02f, -2.525057982e-02f, -2.525020119e-02f, -2.524977896e-02f, -2.524931313e-02f, -2.524880372e-02f, -2.524825072e-02f, -2.524765414e-02f,
+-2.524701399e-02f, -2.524633026e-02f, -2.524560297e-02f, -2.524483212e-02f, -2.524401771e-02f, -2.524315975e-02f, -2.524225825e-02f, -2.524131320e-02f, -2.524032462e-02f, -2.523929251e-02f,
+-2.523821687e-02f, -2.523709771e-02f, -2.523593503e-02f, -2.523472885e-02f, -2.523347916e-02f, -2.523218598e-02f, -2.523084930e-02f, -2.522946914e-02f, -2.522804549e-02f, -2.522657837e-02f,
+-2.522506778e-02f, -2.522351373e-02f, -2.522191623e-02f, -2.522027527e-02f, -2.521859087e-02f, -2.521686304e-02f, -2.521509177e-02f, -2.521327708e-02f, -2.521141897e-02f, -2.520951745e-02f,
+-2.520757252e-02f, -2.520558420e-02f, -2.520355249e-02f, -2.520147739e-02f, -2.519935892e-02f, -2.519719708e-02f, -2.519499188e-02f, -2.519274333e-02f, -2.519045142e-02f, -2.518811618e-02f,
+-2.518573761e-02f, -2.518331571e-02f, -2.518085049e-02f, -2.517834197e-02f, -2.517579014e-02f, -2.517319502e-02f, -2.517055662e-02f, -2.516787494e-02f, -2.516514999e-02f, -2.516238178e-02f,
+-2.515957031e-02f, -2.515671560e-02f, -2.515381766e-02f, -2.515087649e-02f, -2.514789210e-02f, -2.514486450e-02f, -2.514179369e-02f, -2.513867970e-02f, -2.513552252e-02f, -2.513232217e-02f,
+-2.512907865e-02f, -2.512579197e-02f, -2.512246215e-02f, -2.511908918e-02f, -2.511567309e-02f, -2.511221388e-02f, -2.510871156e-02f, -2.510516613e-02f, -2.510157762e-02f, -2.509794603e-02f,
+-2.509427136e-02f, -2.509055363e-02f, -2.508679285e-02f, -2.508298903e-02f, -2.507914217e-02f, -2.507525229e-02f, -2.507131940e-02f, -2.506734351e-02f, -2.506332463e-02f, -2.505926277e-02f,
+-2.505515794e-02f, -2.505101014e-02f, -2.504681940e-02f, -2.504258572e-02f, -2.503830911e-02f, -2.503398959e-02f, -2.502962716e-02f, -2.502522183e-02f, -2.502077362e-02f, -2.501628254e-02f,
+-2.501174860e-02f, -2.500717180e-02f, -2.500255217e-02f, -2.499788971e-02f, -2.499318443e-02f, -2.498843635e-02f, -2.498364548e-02f, -2.497881182e-02f, -2.497393540e-02f, -2.496901622e-02f,
+-2.496405429e-02f, -2.495904963e-02f, -2.495400225e-02f, -2.494891216e-02f, -2.494377937e-02f, -2.493860390e-02f, -2.493338575e-02f, -2.492812495e-02f, -2.492282150e-02f, -2.491747541e-02f,
+-2.491208670e-02f, -2.490665538e-02f, -2.490118147e-02f, -2.489566497e-02f, -2.489010590e-02f, -2.488450427e-02f, -2.487886010e-02f, -2.487317340e-02f, -2.486744418e-02f, -2.486167245e-02f,
+-2.485585824e-02f, -2.485000154e-02f, -2.484410238e-02f, -2.483816077e-02f, -2.483217672e-02f, -2.482615025e-02f, -2.482008137e-02f, -2.481397009e-02f, -2.480781643e-02f, -2.480162040e-02f,
+-2.479538202e-02f, -2.478910130e-02f, -2.478277826e-02f, -2.477641290e-02f, -2.477000525e-02f, -2.476355531e-02f, -2.475706311e-02f, -2.475052866e-02f, -2.474395196e-02f, -2.473733304e-02f,
+-2.473067192e-02f, -2.472396860e-02f, -2.471722310e-02f, -2.471043544e-02f, -2.470360563e-02f, -2.469673368e-02f, -2.468981962e-02f, -2.468286345e-02f, -2.467586520e-02f, -2.466882487e-02f,
+-2.466174249e-02f, -2.465461807e-02f, -2.464745162e-02f, -2.464024316e-02f, -2.463299271e-02f, -2.462570028e-02f, -2.461836589e-02f, -2.461098955e-02f, -2.460357128e-02f, -2.459611110e-02f,
+-2.458860902e-02f, -2.458106506e-02f, -2.457347924e-02f, -2.456585157e-02f, -2.455818207e-02f, -2.455047075e-02f, -2.454271763e-02f, -2.453492273e-02f, -2.452708607e-02f, -2.451920766e-02f,
+-2.451128752e-02f, -2.450332566e-02f, -2.449532211e-02f, -2.448727688e-02f, -2.447918998e-02f, -2.447106144e-02f, -2.446289127e-02f, -2.445467950e-02f, -2.444642612e-02f, -2.443813118e-02f,
+-2.442979468e-02f, -2.442141663e-02f, -2.441299707e-02f, -2.440453600e-02f, -2.439603344e-02f, -2.438748942e-02f, -2.437890394e-02f, -2.437027704e-02f, -2.436160872e-02f, -2.435289900e-02f,
+-2.434414791e-02f, -2.433535546e-02f, -2.432652167e-02f, -2.431764656e-02f, -2.430873014e-02f, -2.429977244e-02f, -2.429077348e-02f, -2.428173326e-02f, -2.427265182e-02f, -2.426352918e-02f,
+-2.425436534e-02f, -2.424516033e-02f, -2.423591417e-02f, -2.422662688e-02f, -2.421729847e-02f, -2.420792897e-02f, -2.419851840e-02f, -2.418906677e-02f, -2.417957411e-02f, -2.417004044e-02f,
+-2.416046576e-02f, -2.415085012e-02f, -2.414119351e-02f, -2.413149597e-02f, -2.412175752e-02f, -2.411197817e-02f, -2.410215794e-02f, -2.409229686e-02f, -2.408239495e-02f, -2.407245222e-02f,
+-2.406246869e-02f, -2.405244440e-02f, -2.404237935e-02f, -2.403227356e-02f, -2.402212707e-02f, -2.401193988e-02f, -2.400171203e-02f, -2.399144352e-02f, -2.398113439e-02f, -2.397078465e-02f,
+-2.396039432e-02f, -2.394996343e-02f, -2.393949200e-02f, -2.392898004e-02f, -2.391842759e-02f, -2.390783465e-02f, -2.389720126e-02f, -2.388652742e-02f, -2.387581318e-02f, -2.386505854e-02f,
+-2.385426353e-02f, -2.384342818e-02f, -2.383255249e-02f, -2.382163650e-02f, -2.381068023e-02f, -2.379968369e-02f, -2.378864692e-02f, -2.377756993e-02f, -2.376645275e-02f, -2.375529539e-02f,
+-2.374409789e-02f, -2.373286026e-02f, -2.372158252e-02f, -2.371026470e-02f, -2.369890683e-02f, -2.368750892e-02f, -2.367607099e-02f, -2.366459308e-02f, -2.365307519e-02f, -2.364151737e-02f,
+-2.362991962e-02f, -2.361828198e-02f, -2.360660446e-02f, -2.359488709e-02f, -2.358312990e-02f, -2.357133289e-02f, -2.355949611e-02f, -2.354761958e-02f, -2.353570330e-02f, -2.352374732e-02f,
+-2.351175166e-02f, -2.349971633e-02f, -2.348764136e-02f, -2.347552678e-02f, -2.346337261e-02f, -2.345117888e-02f, -2.343894560e-02f, -2.342667281e-02f, -2.341436052e-02f, -2.340200877e-02f,
+-2.338961757e-02f, -2.337718695e-02f, -2.336471694e-02f, -2.335220756e-02f, -2.333965883e-02f, -2.332707079e-02f, -2.331444344e-02f, -2.330177683e-02f, -2.328907097e-02f, -2.327632589e-02f,
+-2.326354161e-02f, -2.325071817e-02f, -2.323785558e-02f, -2.322495387e-02f, -2.321201306e-02f, -2.319903319e-02f, -2.318601428e-02f, -2.317295634e-02f, -2.315985942e-02f, -2.314672352e-02f,
+-2.313354869e-02f, -2.312033494e-02f, -2.310708231e-02f, -2.309379081e-02f, -2.308046048e-02f, -2.306709133e-02f, -2.305368340e-02f, -2.304023671e-02f, -2.302675129e-02f, -2.301322717e-02f,
+-2.299966436e-02f, -2.298606291e-02f, -2.297242283e-02f, -2.295874414e-02f, -2.294502689e-02f, -2.293127109e-02f, -2.291747677e-02f, -2.290364396e-02f, -2.288977268e-02f, -2.287586297e-02f,
+-2.286191484e-02f, -2.284792834e-02f, -2.283390347e-02f, -2.281984027e-02f, -2.280573878e-02f, -2.279159900e-02f, -2.277742099e-02f, -2.276320475e-02f, -2.274895032e-02f, -2.273465772e-02f,
+-2.272032699e-02f, -2.270595815e-02f, -2.269155123e-02f, -2.267710625e-02f, -2.266262325e-02f, -2.264810225e-02f, -2.263354329e-02f, -2.261894638e-02f, -2.260431156e-02f, -2.258963885e-02f,
+-2.257492829e-02f, -2.256017990e-02f, -2.254539372e-02f, -2.253056976e-02f, -2.251570806e-02f, -2.250080865e-02f, -2.248587155e-02f, -2.247089679e-02f, -2.245588441e-02f, -2.244083443e-02f,
+-2.242574689e-02f, -2.241062180e-02f, -2.239545920e-02f, -2.238025912e-02f, -2.236502159e-02f, -2.234974663e-02f, -2.233443428e-02f, -2.231908457e-02f, -2.230369752e-02f, -2.228827316e-02f,
+-2.227281153e-02f, -2.225731265e-02f, -2.224177656e-02f, -2.222620328e-02f, -2.221059284e-02f, -2.219494528e-02f, -2.217926062e-02f, -2.216353889e-02f, -2.214778013e-02f, -2.213198435e-02f,
+-2.211615161e-02f, -2.210028191e-02f, -2.208437530e-02f, -2.206843181e-02f, -2.205245146e-02f, -2.203643428e-02f, -2.202038032e-02f, -2.200428958e-02f, -2.198816212e-02f, -2.197199795e-02f,
+-2.195579712e-02f, -2.193955964e-02f, -2.192328556e-02f, -2.190697489e-02f, -2.189062768e-02f, -2.187424395e-02f, -2.185782374e-02f, -2.184136708e-02f, -2.182487399e-02f, -2.180834451e-02f,
+-2.179177868e-02f, -2.177517651e-02f, -2.175853805e-02f, -2.174186333e-02f, -2.172515237e-02f, -2.170840521e-02f, -2.169162188e-02f, -2.167480241e-02f, -2.165794684e-02f, -2.164105519e-02f,
+-2.162412750e-02f, -2.160716381e-02f, -2.159016413e-02f, -2.157312851e-02f, -2.155605698e-02f, -2.153894957e-02f, -2.152180630e-02f, -2.150462723e-02f, -2.148741236e-02f, -2.147016175e-02f,
+-2.145287542e-02f, -2.143555341e-02f, -2.141819574e-02f, -2.140080245e-02f, -2.138337358e-02f, -2.136590915e-02f, -2.134840920e-02f, -2.133087376e-02f, -2.131330287e-02f, -2.129569655e-02f,
+-2.127805485e-02f, -2.126037779e-02f, -2.124266541e-02f, -2.122491774e-02f, -2.120713481e-02f, -2.118931667e-02f, -2.117146333e-02f, -2.115357484e-02f, -2.113565123e-02f, -2.111769253e-02f,
+-2.109969878e-02f, -2.108167001e-02f, -2.106360626e-02f, -2.104550755e-02f, -2.102737393e-02f, -2.100920542e-02f, -2.099100206e-02f, -2.097276389e-02f, -2.095449093e-02f, -2.093618323e-02f,
+-2.091784082e-02f, -2.089946373e-02f, -2.088105200e-02f, -2.086260565e-02f, -2.084412474e-02f, -2.082560928e-02f, -2.080705932e-02f, -2.078847489e-02f, -2.076985602e-02f, -2.075120275e-02f,
+-2.073251512e-02f, -2.071379316e-02f, -2.069503690e-02f, -2.067624638e-02f, -2.065742163e-02f, -2.063856270e-02f, -2.061966961e-02f, -2.060074240e-02f, -2.058178111e-02f, -2.056278577e-02f,
+-2.054375642e-02f, -2.052469309e-02f, -2.050559581e-02f, -2.048646463e-02f, -2.046729958e-02f, -2.044810070e-02f, -2.042886802e-02f, -2.040960157e-02f, -2.039030140e-02f, -2.037096753e-02f,
+-2.035160001e-02f, -2.033219887e-02f, -2.031276415e-02f, -2.029329588e-02f, -2.027379411e-02f, -2.025425885e-02f, -2.023469016e-02f, -2.021508807e-02f, -2.019545262e-02f, -2.017578383e-02f,
+-2.015608176e-02f, -2.013634643e-02f, -2.011657788e-02f, -2.009677615e-02f, -2.007694128e-02f, -2.005707329e-02f, -2.003717224e-02f, -2.001723816e-02f, -1.999727107e-02f, -1.997727103e-02f,
+-1.995723806e-02f, -1.993717221e-02f, -1.991707351e-02f, -1.989694200e-02f, -1.987677772e-02f, -1.985658070e-02f, -1.983635098e-02f, -1.981608860e-02f, -1.979579360e-02f, -1.977546601e-02f,
+-1.975510588e-02f, -1.973471323e-02f, -1.971428811e-02f, -1.969383055e-02f, -1.967334060e-02f, -1.965281829e-02f, -1.963226366e-02f, -1.961167674e-02f, -1.959105758e-02f, -1.957040622e-02f,
+-1.954972268e-02f, -1.952900702e-02f, -1.950825926e-02f, -1.948747945e-02f, -1.946666762e-02f, -1.944582382e-02f, -1.942494808e-02f, -1.940404044e-02f, -1.938310093e-02f, -1.936212961e-02f,
+-1.934112650e-02f, -1.932009165e-02f, -1.929902509e-02f, -1.927792686e-02f, -1.925679701e-02f, -1.923563556e-02f, -1.921444257e-02f, -1.919321806e-02f, -1.917196209e-02f, -1.915067468e-02f,
+-1.912935587e-02f, -1.910800571e-02f, -1.908662424e-02f, -1.906521149e-02f, -1.904376751e-02f, -1.902229233e-02f, -1.900078599e-02f, -1.897924853e-02f, -1.895768000e-02f, -1.893608042e-02f,
+-1.891444985e-02f, -1.889278832e-02f, -1.887109587e-02f, -1.884937255e-02f, -1.882761838e-02f, -1.880583341e-02f, -1.878401769e-02f, -1.876217125e-02f, -1.874029413e-02f, -1.871838637e-02f,
+-1.869644801e-02f, -1.867447909e-02f, -1.865247966e-02f, -1.863044974e-02f, -1.860838940e-02f, -1.858629865e-02f, -1.856417755e-02f, -1.854202613e-02f, -1.851984444e-02f, -1.849763252e-02f,
+-1.847539040e-02f, -1.845311813e-02f, -1.843081575e-02f, -1.840848330e-02f, -1.838612082e-02f, -1.836372835e-02f, -1.834130593e-02f, -1.831885360e-02f, -1.829637141e-02f, -1.827385940e-02f,
+-1.825131760e-02f, -1.822874606e-02f, -1.820614482e-02f, -1.818351392e-02f, -1.816085341e-02f, -1.813816331e-02f, -1.811544368e-02f, -1.809269456e-02f, -1.806991599e-02f, -1.804710801e-02f,
+-1.802427065e-02f, -1.800140398e-02f, -1.797850801e-02f, -1.795558281e-02f, -1.793262840e-02f, -1.790964483e-02f, -1.788663215e-02f, -1.786359039e-02f, -1.784051960e-02f, -1.781741982e-02f,
+-1.779429109e-02f, -1.777113345e-02f, -1.774794695e-02f, -1.772473163e-02f, -1.770148752e-02f, -1.767821468e-02f, -1.765491315e-02f, -1.763158296e-02f, -1.760822416e-02f, -1.758483680e-02f,
+-1.756142091e-02f, -1.753797654e-02f, -1.751450373e-02f, -1.749100252e-02f, -1.746747296e-02f, -1.744391509e-02f, -1.742032895e-02f, -1.739671459e-02f, -1.737307204e-02f, -1.734940136e-02f,
+-1.732570257e-02f, -1.730197574e-02f, -1.727822090e-02f, -1.725443809e-02f, -1.723062736e-02f, -1.720678875e-02f, -1.718292230e-02f, -1.715902806e-02f, -1.713510607e-02f, -1.711115637e-02f,
+-1.708717901e-02f, -1.706317404e-02f, -1.703914148e-02f, -1.701508140e-02f, -1.699099383e-02f, -1.696687881e-02f, -1.694273639e-02f, -1.691856662e-02f, -1.689436953e-02f, -1.687014518e-02f,
+-1.684589360e-02f, -1.682161484e-02f, -1.679730894e-02f, -1.677297595e-02f, -1.674861591e-02f, -1.672422887e-02f, -1.669981487e-02f, -1.667537395e-02f, -1.665090616e-02f, -1.662641154e-02f,
+-1.660189014e-02f, -1.657734200e-02f, -1.655276717e-02f, -1.652816569e-02f, -1.650353760e-02f, -1.647888295e-02f, -1.645420179e-02f, -1.642949416e-02f, -1.640476010e-02f, -1.637999966e-02f,
+-1.635521289e-02f, -1.633039982e-02f, -1.630556050e-02f, -1.628069499e-02f, -1.625580331e-02f, -1.623088553e-02f, -1.620594168e-02f, -1.618097180e-02f, -1.615597596e-02f, -1.613095417e-02f,
+-1.610590651e-02f, -1.608083300e-02f, -1.605573370e-02f, -1.603060865e-02f, -1.600545789e-02f, -1.598028147e-02f, -1.595507944e-02f, -1.592985185e-02f, -1.590459872e-02f, -1.587932013e-02f,
+-1.585401610e-02f, -1.582868668e-02f, -1.580333193e-02f, -1.577795188e-02f, -1.575254658e-02f, -1.572711608e-02f, -1.570166043e-02f, -1.567617966e-02f, -1.565067383e-02f, -1.562514298e-02f,
+-1.559958715e-02f, -1.557400640e-02f, -1.554840077e-02f, -1.552277031e-02f, -1.549711506e-02f, -1.547143506e-02f, -1.544573037e-02f, -1.542000103e-02f, -1.539424709e-02f, -1.536846859e-02f,
+-1.534266558e-02f, -1.531683810e-02f, -1.529098621e-02f, -1.526510995e-02f, -1.523920937e-02f, -1.521328450e-02f, -1.518733541e-02f, -1.516136213e-02f, -1.513536472e-02f, -1.510934321e-02f,
+-1.508329766e-02f, -1.505722812e-02f, -1.503113462e-02f, -1.500501722e-02f, -1.497887596e-02f, -1.495271090e-02f, -1.492652207e-02f, -1.490030953e-02f, -1.487407332e-02f, -1.484781349e-02f,
+-1.482153009e-02f, -1.479522315e-02f, -1.476889275e-02f, -1.474253890e-02f, -1.471616168e-02f, -1.468976111e-02f, -1.466333726e-02f, -1.463689017e-02f, -1.461041988e-02f, -1.458392644e-02f,
+-1.455740990e-02f, -1.453087031e-02f, -1.450430772e-02f, -1.447772217e-02f, -1.445111371e-02f, -1.442448239e-02f, -1.439782826e-02f, -1.437115136e-02f, -1.434445174e-02f, -1.431772945e-02f,
+-1.429098454e-02f, -1.426421705e-02f, -1.423742704e-02f, -1.421061455e-02f, -1.418377963e-02f, -1.415692233e-02f, -1.413004270e-02f, -1.410314078e-02f, -1.407621662e-02f, -1.404927027e-02f,
+-1.402230178e-02f, -1.399531119e-02f, -1.396829857e-02f, -1.394126394e-02f, -1.391420737e-02f, -1.388712890e-02f, -1.386002858e-02f, -1.383290645e-02f, -1.380576257e-02f, -1.377859699e-02f,
+-1.375140975e-02f, -1.372420090e-02f, -1.369697049e-02f, -1.366971857e-02f, -1.364244519e-02f, -1.361515039e-02f, -1.358783423e-02f, -1.356049676e-02f, -1.353313802e-02f, -1.350575806e-02f,
+-1.347835693e-02f, -1.345093468e-02f, -1.342349136e-02f, -1.339602702e-02f, -1.336854170e-02f, -1.334103546e-02f, -1.331350835e-02f, -1.328596041e-02f, -1.325839170e-02f, -1.323080225e-02f,
+-1.320319213e-02f, -1.317556138e-02f, -1.314791005e-02f, -1.312023819e-02f, -1.309254585e-02f, -1.306483308e-02f, -1.303709993e-02f, -1.300934645e-02f, -1.298157268e-02f, -1.295377868e-02f,
+-1.292596449e-02f, -1.289813017e-02f, -1.287027577e-02f, -1.284240133e-02f, -1.281450691e-02f, -1.278659255e-02f, -1.275865830e-02f, -1.273070422e-02f, -1.270273035e-02f, -1.267473675e-02f,
+-1.264672346e-02f, -1.261869053e-02f, -1.259063802e-02f, -1.256256597e-02f, -1.253447443e-02f, -1.250636346e-02f, -1.247823310e-02f, -1.245008340e-02f, -1.242191442e-02f, -1.239372620e-02f,
+-1.236551880e-02f, -1.233729226e-02f, -1.230904663e-02f, -1.228078197e-02f, -1.225249832e-02f, -1.222419574e-02f, -1.219587427e-02f, -1.216753397e-02f, -1.213917488e-02f, -1.211079706e-02f,
+-1.208240056e-02f, -1.205398543e-02f, -1.202555171e-02f, -1.199709947e-02f, -1.196862874e-02f, -1.194013958e-02f, -1.191163204e-02f, -1.188310617e-02f, -1.185456203e-02f, -1.182599966e-02f,
+-1.179741911e-02f, -1.176882043e-02f, -1.174020368e-02f, -1.171156890e-02f, -1.168291615e-02f, -1.165424548e-02f, -1.162555694e-02f, -1.159685057e-02f, -1.156812643e-02f, -1.153938458e-02f,
+-1.151062506e-02f, -1.148184792e-02f, -1.145305321e-02f, -1.142424099e-02f, -1.139541130e-02f, -1.136656421e-02f, -1.133769975e-02f, -1.130881798e-02f, -1.127991895e-02f, -1.125100271e-02f,
+-1.122206932e-02f, -1.119311882e-02f, -1.116415127e-02f, -1.113516671e-02f, -1.110616520e-02f, -1.107714679e-02f, -1.104811154e-02f, -1.101905948e-02f, -1.098999069e-02f, -1.096090519e-02f,
+-1.093180306e-02f, -1.090268433e-02f, -1.087354906e-02f, -1.084439731e-02f, -1.081522911e-02f, -1.078604454e-02f, -1.075684363e-02f, -1.072762644e-02f, -1.069839302e-02f, -1.066914342e-02f,
+-1.063987769e-02f, -1.061059589e-02f, -1.058129807e-02f, -1.055198427e-02f, -1.052265456e-02f, -1.049330898e-02f, -1.046394759e-02f, -1.043457043e-02f, -1.040517756e-02f, -1.037576903e-02f,
+-1.034634489e-02f, -1.031690520e-02f, -1.028745000e-02f, -1.025797935e-02f, -1.022849331e-02f, -1.019899191e-02f, -1.016947522e-02f, -1.013994329e-02f, -1.011039617e-02f, -1.008083390e-02f,
+-1.005125655e-02f, -1.002166417e-02f, -9.992056807e-03f, -9.962434512e-03f, -9.932797340e-03f, -9.903145343e-03f, -9.873478573e-03f, -9.843797083e-03f, -9.814100924e-03f, -9.784390150e-03f,
+-9.754664813e-03f, -9.724924965e-03f, -9.695170659e-03f, -9.665401947e-03f, -9.635618882e-03f, -9.605821516e-03f, -9.576009902e-03f, -9.546184092e-03f, -9.516344139e-03f, -9.486490095e-03f,
+-9.456622014e-03f, -9.426739947e-03f, -9.396843948e-03f, -9.366934069e-03f, -9.337010364e-03f, -9.307072883e-03f, -9.277121681e-03f, -9.247156810e-03f, -9.217178323e-03f, -9.187186273e-03f,
+-9.157180712e-03f, -9.127161694e-03f, -9.097129271e-03f, -9.067083496e-03f, -9.037024422e-03f, -9.006952101e-03f, -8.976866588e-03f, -8.946767935e-03f, -8.916656194e-03f, -8.886531420e-03f,
+-8.856393664e-03f, -8.826242980e-03f, -8.796079420e-03f, -8.765903039e-03f, -8.735713889e-03f, -8.705512023e-03f, -8.675297494e-03f, -8.645070356e-03f, -8.614830661e-03f, -8.584578462e-03f,
+-8.554313814e-03f, -8.524036769e-03f, -8.493747380e-03f, -8.463445701e-03f, -8.433131785e-03f, -8.402805685e-03f, -8.372467454e-03f, -8.342117146e-03f, -8.311754814e-03f, -8.281380511e-03f,
+-8.250994291e-03f, -8.220596207e-03f, -8.190186313e-03f, -8.159764661e-03f, -8.129331306e-03f, -8.098886301e-03f, -8.068429699e-03f, -8.037961554e-03f, -8.007481918e-03f, -7.976990847e-03f,
+-7.946488393e-03f, -7.915974609e-03f, -7.885449550e-03f, -7.854913268e-03f, -7.824365818e-03f, -7.793807253e-03f, -7.763237627e-03f, -7.732656993e-03f, -7.702065405e-03f, -7.671462916e-03f,
+-7.640849580e-03f, -7.610225452e-03f, -7.579590584e-03f, -7.548945030e-03f, -7.518288844e-03f, -7.487622080e-03f, -7.456944792e-03f, -7.426257033e-03f, -7.395558857e-03f, -7.364850317e-03f,
+-7.334131469e-03f, -7.303402365e-03f, -7.272663059e-03f, -7.241913605e-03f, -7.211154058e-03f, -7.180384470e-03f, -7.149604896e-03f, -7.118815390e-03f, -7.088016005e-03f, -7.057206796e-03f,
+-7.026387816e-03f, -6.995559120e-03f, -6.964720761e-03f, -6.933872793e-03f, -6.903015271e-03f, -6.872148248e-03f, -6.841271779e-03f, -6.810385917e-03f, -6.779490716e-03f, -6.748586231e-03f,
+-6.717672515e-03f, -6.686749623e-03f, -6.655817608e-03f, -6.624876526e-03f, -6.593926429e-03f, -6.562967372e-03f, -6.531999409e-03f, -6.501022595e-03f, -6.470036983e-03f, -6.439042628e-03f,
+-6.408039583e-03f, -6.377027904e-03f, -6.346007643e-03f, -6.314978856e-03f, -6.283941596e-03f, -6.252895918e-03f, -6.221841876e-03f, -6.190779525e-03f, -6.159708918e-03f, -6.128630110e-03f,
+-6.097543154e-03f, -6.066448107e-03f, -6.035345020e-03f, -6.004233950e-03f, -5.973114950e-03f, -5.941988075e-03f, -5.910853378e-03f, -5.879710915e-03f, -5.848560739e-03f, -5.817402906e-03f,
+-5.786237468e-03f, -5.755064482e-03f, -5.723884000e-03f, -5.692696078e-03f, -5.661500770e-03f, -5.630298130e-03f, -5.599088213e-03f, -5.567871074e-03f, -5.536646765e-03f, -5.505415343e-03f,
+-5.474176862e-03f, -5.442931375e-03f, -5.411678938e-03f, -5.380419604e-03f, -5.349153429e-03f, -5.317880467e-03f, -5.286600773e-03f, -5.255314400e-03f, -5.224021404e-03f, -5.192721838e-03f,
+-5.161415758e-03f, -5.130103219e-03f, -5.098784273e-03f, -5.067458977e-03f, -5.036127384e-03f, -5.004789550e-03f, -4.973445528e-03f, -4.942095374e-03f, -4.910739141e-03f, -4.879376886e-03f,
+-4.848008661e-03f, -4.816634522e-03f, -4.785254523e-03f, -4.753868719e-03f, -4.722477165e-03f, -4.691079915e-03f, -4.659677024e-03f, -4.628268546e-03f, -4.596854536e-03f, -4.565435049e-03f,
+-4.534010140e-03f, -4.502579862e-03f, -4.471144271e-03f, -4.439703422e-03f, -4.408257368e-03f, -4.376806165e-03f, -4.345349867e-03f, -4.313888530e-03f, -4.282422207e-03f, -4.250950954e-03f,
+-4.219474825e-03f, -4.187993874e-03f, -4.156508157e-03f, -4.125017729e-03f, -4.093522643e-03f, -4.062022955e-03f, -4.030518720e-03f, -3.999009991e-03f, -3.967496824e-03f, -3.935979274e-03f,
+-3.904457395e-03f, -3.872931243e-03f, -3.841400871e-03f, -3.809866334e-03f, -3.778327688e-03f, -3.746784986e-03f, -3.715238285e-03f, -3.683687638e-03f, -3.652133100e-03f, -3.620574726e-03f,
+-3.589012571e-03f, -3.557446690e-03f, -3.525877137e-03f, -3.494303967e-03f, -3.462727235e-03f, -3.431146995e-03f, -3.399563303e-03f, -3.367976213e-03f, -3.336385780e-03f, -3.304792058e-03f,
+-3.273195104e-03f, -3.241594970e-03f, -3.209991712e-03f, -3.178385386e-03f, -3.146776044e-03f, -3.115163744e-03f, -3.083548538e-03f, -3.051930483e-03f, -3.020309632e-03f, -2.988686040e-03f,
+-2.957059763e-03f, -2.925430856e-03f, -2.893799372e-03f, -2.862165366e-03f, -2.830528895e-03f, -2.798890011e-03f, -2.767248771e-03f, -2.735605228e-03f, -2.703959438e-03f, -2.672311455e-03f,
+-2.640661335e-03f, -2.609009132e-03f, -2.577354900e-03f, -2.545698695e-03f, -2.514040571e-03f, -2.482380583e-03f, -2.450718787e-03f, -2.419055236e-03f, -2.387389985e-03f, -2.355723090e-03f,
+-2.324054604e-03f, -2.292384584e-03f, -2.260713083e-03f, -2.229040156e-03f, -2.197365859e-03f, -2.165690245e-03f, -2.134013370e-03f, -2.102335288e-03f, -2.070656055e-03f, -2.038975724e-03f,
+-2.007294351e-03f, -1.975611990e-03f, -1.943928697e-03f, -1.912244526e-03f, -1.880559531e-03f, -1.848873768e-03f, -1.817187290e-03f, -1.785500154e-03f, -1.753812413e-03f, -1.722124123e-03f,
+-1.690435338e-03f, -1.658746112e-03f, -1.627056501e-03f, -1.595366560e-03f, -1.563676342e-03f, -1.531985903e-03f, -1.500295297e-03f, -1.468604579e-03f, -1.436913804e-03f, -1.405223027e-03f,
+-1.373532302e-03f, -1.341841683e-03f, -1.310151226e-03f, -1.278460985e-03f, -1.246771015e-03f, -1.215081371e-03f, -1.183392107e-03f, -1.151703277e-03f, -1.120014937e-03f, -1.088327142e-03f,
+-1.056639945e-03f, -1.024953401e-03f, -9.932675654e-04f, -9.615824925e-04f, -9.298982368e-04f, -8.982148531e-04f, -8.665323959e-04f, -8.348509198e-04f, -8.031704793e-04f, -7.714911292e-04f,
+-7.398129239e-04f, -7.081359181e-04f, -6.764601664e-04f, -6.447857232e-04f, -6.131126431e-04f, -5.814409807e-04f, -5.497707906e-04f, -5.181021273e-04f, -4.864350452e-04f, -4.547695990e-04f,
+-4.231058432e-04f, -3.914438322e-04f, -3.597836205e-04f, -3.281252628e-04f, -2.964688133e-04f, -2.648143267e-04f, -2.331618574e-04f, -2.015114599e-04f, -1.698631885e-04f, -1.382170979e-04f,
+-1.065732423e-04f, -7.493167631e-05f, -4.329245426e-05f, -1.165563059e-05f, 1.997874028e-05f, 5.161060397e-05f, 8.323990608e-05f, 1.148665922e-04f, 1.464906080e-04f, 1.781118991e-04f,
+2.097304112e-04f, 2.413460898e-04f, 2.729588807e-04f, 3.045687296e-04f, 3.361755820e-04f, 3.677793837e-04f, 3.993800805e-04f, 4.309776179e-04f, 4.625719418e-04f, 4.941629979e-04f,
+5.257507318e-04f, 5.573350894e-04f, 5.889160164e-04f, 6.204934586e-04f, 6.520673617e-04f, 6.836376716e-04f, 7.152043340e-04f, 7.467672947e-04f, 7.783264997e-04f, 8.098818946e-04f,
+8.414334254e-04f, 8.729810379e-04f, 9.045246779e-04f, 9.360642914e-04f, 9.675998242e-04f, 9.991312223e-04f, 1.030658431e-03f, 1.062181398e-03f, 1.093700067e-03f, 1.125214385e-03f,
+1.156724298e-03f, 1.188229752e-03f, 1.219730693e-03f, 1.251227066e-03f, 1.282718819e-03f, 1.314205896e-03f, 1.345688244e-03f, 1.377165809e-03f, 1.408638537e-03f, 1.440106374e-03f,
+1.471569266e-03f, 1.503027159e-03f, 1.534480000e-03f, 1.565927734e-03f, 1.597370308e-03f, 1.628807667e-03f, 1.660239758e-03f, 1.691666527e-03f, 1.723087920e-03f, 1.754503884e-03f,
+1.785914364e-03f, 1.817319308e-03f, 1.848718660e-03f, 1.880112367e-03f, 1.911500376e-03f, 1.942882633e-03f, 1.974259084e-03f, 2.005629676e-03f, 2.036994354e-03f, 2.068353065e-03f,
+2.099705756e-03f, 2.131052373e-03f, 2.162392862e-03f, 2.193727169e-03f, 2.225055242e-03f, 2.256377025e-03f, 2.287692467e-03f, 2.319001513e-03f, 2.350304110e-03f, 2.381600204e-03f,
+2.412889742e-03f, 2.444172670e-03f, 2.475448935e-03f, 2.506718483e-03f, 2.537981262e-03f, 2.569237216e-03f, 2.600486294e-03f, 2.631728442e-03f, 2.662963606e-03f, 2.694191733e-03f,
+2.725412769e-03f, 2.756626662e-03f, 2.787833358e-03f, 2.819032803e-03f, 2.850224945e-03f, 2.881409730e-03f, 2.912587105e-03f, 2.943757017e-03f, 2.974919412e-03f, 3.006074237e-03f,
+3.037221440e-03f, 3.068360966e-03f, 3.099492764e-03f, 3.130616779e-03f, 3.161732958e-03f, 3.192841250e-03f, 3.223941599e-03f, 3.255033954e-03f, 3.286118262e-03f, 3.317194469e-03f,
+3.348262522e-03f, 3.379322368e-03f, 3.410373955e-03f, 3.441417229e-03f, 3.472452138e-03f, 3.503478629e-03f, 3.534496648e-03f, 3.565506143e-03f, 3.596507061e-03f, 3.627499350e-03f,
+3.658482956e-03f, 3.689457826e-03f, 3.720423908e-03f, 3.751381149e-03f, 3.782329497e-03f, 3.813268898e-03f, 3.844199300e-03f, 3.875120651e-03f, 3.906032897e-03f, 3.936935986e-03f,
+3.967829865e-03f, 3.998714482e-03f, 4.029589784e-03f, 4.060455719e-03f, 4.091312234e-03f, 4.122159277e-03f, 4.152996794e-03f, 4.183824734e-03f, 4.214643045e-03f, 4.245451672e-03f,
+4.276250566e-03f, 4.307039672e-03f, 4.337818939e-03f, 4.368588313e-03f, 4.399347744e-03f, 4.430097178e-03f, 4.460836564e-03f, 4.491565848e-03f, 4.522284979e-03f, 4.552993905e-03f,
+4.583692573e-03f, 4.614380931e-03f, 4.645058928e-03f, 4.675726510e-03f, 4.706383625e-03f, 4.737030223e-03f, 4.767666250e-03f, 4.798291654e-03f, 4.828906384e-03f, 4.859510388e-03f,
+4.890103613e-03f, 4.920686007e-03f, 4.951257520e-03f, 4.981818098e-03f, 5.012367689e-03f, 5.042906243e-03f, 5.073433707e-03f, 5.103950029e-03f, 5.134455158e-03f, 5.164949042e-03f,
+5.195431628e-03f, 5.225902866e-03f, 5.256362703e-03f, 5.286811088e-03f, 5.317247970e-03f, 5.347673296e-03f, 5.378087015e-03f, 5.408489075e-03f, 5.438879426e-03f, 5.469258014e-03f,
+5.499624790e-03f, 5.529979700e-03f, 5.560322695e-03f, 5.590653722e-03f, 5.620972730e-03f, 5.651279668e-03f, 5.681574484e-03f, 5.711857127e-03f, 5.742127545e-03f, 5.772385688e-03f,
+5.802631504e-03f, 5.832864942e-03f, 5.863085950e-03f, 5.893294478e-03f, 5.923490474e-03f, 5.953673887e-03f, 5.983844666e-03f, 6.014002760e-03f, 6.044148118e-03f, 6.074280689e-03f,
+6.104400422e-03f, 6.134507266e-03f, 6.164601169e-03f, 6.194682081e-03f, 6.224749952e-03f, 6.254804730e-03f, 6.284846364e-03f, 6.314874803e-03f, 6.344889998e-03f, 6.374891896e-03f,
+6.404880448e-03f, 6.434855602e-03f, 6.464817308e-03f, 6.494765515e-03f, 6.524700172e-03f, 6.554621230e-03f, 6.584528636e-03f, 6.614422342e-03f, 6.644302296e-03f, 6.674168448e-03f,
+6.704020747e-03f, 6.733859142e-03f, 6.763683585e-03f, 6.793494023e-03f, 6.823290407e-03f, 6.853072687e-03f, 6.882840811e-03f, 6.912594731e-03f, 6.942334394e-03f, 6.972059753e-03f,
+7.001770755e-03f, 7.031467352e-03f, 7.061149492e-03f, 7.090817126e-03f, 7.120470204e-03f, 7.150108675e-03f, 7.179732490e-03f, 7.209341599e-03f, 7.238935952e-03f, 7.268515498e-03f,
+7.298080188e-03f, 7.327629972e-03f, 7.357164800e-03f, 7.386684623e-03f, 7.416189390e-03f, 7.445679053e-03f, 7.475153560e-03f, 7.504612863e-03f, 7.534056911e-03f, 7.563485656e-03f,
+7.592899047e-03f, 7.622297035e-03f, 7.651679571e-03f, 7.681046605e-03f, 7.710398087e-03f, 7.739733968e-03f, 7.769054199e-03f, 7.798358730e-03f, 7.827647511e-03f, 7.856920495e-03f,
+7.886177630e-03f, 7.915418869e-03f, 7.944644161e-03f, 7.973853458e-03f, 8.003046711e-03f, 8.032223869e-03f, 8.061384885e-03f, 8.090529709e-03f, 8.119658292e-03f, 8.148770585e-03f,
+8.177866539e-03f, 8.206946105e-03f, 8.236009235e-03f, 8.265055879e-03f, 8.294085988e-03f, 8.323099514e-03f, 8.352096408e-03f, 8.381076620e-03f, 8.410040104e-03f, 8.438986809e-03f,
+8.467916687e-03f, 8.496829690e-03f, 8.525725768e-03f, 8.554604874e-03f, 8.583466959e-03f, 8.612311974e-03f, 8.641139871e-03f, 8.669950601e-03f, 8.698744116e-03f, 8.727520368e-03f,
+8.756279309e-03f, 8.785020889e-03f, 8.813745062e-03f, 8.842451777e-03f, 8.871140989e-03f, 8.899812647e-03f, 8.928466705e-03f, 8.957103114e-03f, 8.985721826e-03f, 9.014322793e-03f,
+9.042905967e-03f, 9.071471299e-03f, 9.100018744e-03f, 9.128548251e-03f, 9.157059774e-03f, 9.185553264e-03f, 9.214028674e-03f, 9.242485957e-03f, 9.270925064e-03f, 9.299345947e-03f,
+9.327748560e-03f, 9.356132854e-03f, 9.384498782e-03f, 9.412846296e-03f, 9.441175350e-03f, 9.469485895e-03f, 9.497777884e-03f, 9.526051269e-03f, 9.554306004e-03f, 9.582542041e-03f,
+9.610759332e-03f, 9.638957831e-03f, 9.667137490e-03f, 9.695298263e-03f, 9.723440101e-03f, 9.751562958e-03f, 9.779666787e-03f, 9.807751541e-03f, 9.835817172e-03f, 9.863863635e-03f,
+9.891890881e-03f, 9.919898864e-03f, 9.947887537e-03f, 9.975856854e-03f, 1.000380677e-02f, 1.003173723e-02f, 1.005964820e-02f, 1.008753962e-02f, 1.011541145e-02f, 1.014326365e-02f,
+1.017109616e-02f, 1.019890895e-02f, 1.022670195e-02f, 1.025447514e-02f, 1.028222845e-02f, 1.030996185e-02f, 1.033767529e-02f, 1.036536872e-02f, 1.039304210e-02f, 1.042069537e-02f,
+1.044832850e-02f, 1.047594144e-02f, 1.050353414e-02f, 1.053110655e-02f, 1.055865863e-02f, 1.058619034e-02f, 1.061370162e-02f, 1.064119243e-02f, 1.066866273e-02f, 1.069611247e-02f,
+1.072354160e-02f, 1.075095008e-02f, 1.077833786e-02f, 1.080570490e-02f, 1.083305116e-02f, 1.086037657e-02f, 1.088768111e-02f, 1.091496472e-02f, 1.094222736e-02f, 1.096946898e-02f,
+1.099668954e-02f, 1.102388900e-02f, 1.105106730e-02f, 1.107822441e-02f, 1.110536027e-02f, 1.113247484e-02f, 1.115956808e-02f, 1.118663994e-02f, 1.121369038e-02f, 1.124071935e-02f,
+1.126772681e-02f, 1.129471271e-02f, 1.132167700e-02f, 1.134861965e-02f, 1.137554060e-02f, 1.140243982e-02f, 1.142931725e-02f, 1.145617286e-02f, 1.148300659e-02f, 1.150981841e-02f,
+1.153660827e-02f, 1.156337612e-02f, 1.159012192e-02f, 1.161684563e-02f, 1.164354720e-02f, 1.167022658e-02f, 1.169688374e-02f, 1.172351863e-02f, 1.175013120e-02f, 1.177672140e-02f,
+1.180328921e-02f, 1.182983456e-02f, 1.185635743e-02f, 1.188285775e-02f, 1.190933550e-02f, 1.193579062e-02f, 1.196222307e-02f, 1.198863281e-02f, 1.201501980e-02f, 1.204138398e-02f,
+1.206772532e-02f, 1.209404377e-02f, 1.212033929e-02f, 1.214661184e-02f, 1.217286137e-02f, 1.219908784e-02f, 1.222529120e-02f, 1.225147141e-02f, 1.227762843e-02f, 1.230376221e-02f,
+1.232987272e-02f, 1.235595991e-02f, 1.238202372e-02f, 1.240806413e-02f, 1.243408109e-02f, 1.246007456e-02f, 1.248604448e-02f, 1.251199083e-02f, 1.253791355e-02f, 1.256381261e-02f,
+1.258968796e-02f, 1.261553955e-02f, 1.264136735e-02f, 1.266717131e-02f, 1.269295139e-02f, 1.271870755e-02f, 1.274443974e-02f, 1.277014793e-02f, 1.279583206e-02f, 1.282149210e-02f,
+1.284712800e-02f, 1.287273973e-02f, 1.289832724e-02f, 1.292389048e-02f, 1.294942942e-02f, 1.297494401e-02f, 1.300043421e-02f, 1.302589998e-02f, 1.305134128e-02f, 1.307675806e-02f,
+1.310215029e-02f, 1.312751791e-02f, 1.315286090e-02f, 1.317817920e-02f, 1.320347278e-02f, 1.322874159e-02f, 1.325398559e-02f, 1.327920474e-02f, 1.330439900e-02f, 1.332956833e-02f,
+1.335471268e-02f, 1.337983202e-02f, 1.340492630e-02f, 1.342999548e-02f, 1.345503952e-02f, 1.348005838e-02f, 1.350505201e-02f, 1.353002038e-02f, 1.355496345e-02f, 1.357988117e-02f,
+1.360477351e-02f, 1.362964041e-02f, 1.365448185e-02f, 1.367929778e-02f, 1.370408815e-02f, 1.372885294e-02f, 1.375359209e-02f, 1.377830557e-02f, 1.380299334e-02f, 1.382765535e-02f,
+1.385229156e-02f, 1.387690194e-02f, 1.390148645e-02f, 1.392604503e-02f, 1.395057767e-02f, 1.397508430e-02f, 1.399956490e-02f, 1.402401942e-02f, 1.404844782e-02f, 1.407285006e-02f,
+1.409722610e-02f, 1.412157591e-02f, 1.414589944e-02f, 1.417019665e-02f, 1.419446750e-02f, 1.421871196e-02f, 1.424292998e-02f, 1.426712152e-02f, 1.429128654e-02f, 1.431542500e-02f,
+1.433953687e-02f, 1.436362211e-02f, 1.438768067e-02f, 1.441171251e-02f, 1.443571760e-02f, 1.445969589e-02f, 1.448364736e-02f, 1.450757195e-02f, 1.453146962e-02f, 1.455534035e-02f,
+1.457918409e-02f, 1.460300080e-02f, 1.462679044e-02f, 1.465055297e-02f, 1.467428836e-02f, 1.469799657e-02f, 1.472167755e-02f, 1.474533127e-02f, 1.476895768e-02f, 1.479255676e-02f,
+1.481612846e-02f, 1.483967275e-02f, 1.486318957e-02f, 1.488667891e-02f, 1.491014071e-02f, 1.493357494e-02f, 1.495698156e-02f, 1.498036054e-02f, 1.500371183e-02f, 1.502703539e-02f,
+1.505033120e-02f, 1.507359920e-02f, 1.509683937e-02f, 1.512005166e-02f, 1.514323604e-02f, 1.516639247e-02f, 1.518952090e-02f, 1.521262131e-02f, 1.523569366e-02f, 1.525873790e-02f,
+1.528175401e-02f, 1.530474193e-02f, 1.532770164e-02f, 1.535063310e-02f, 1.537353627e-02f, 1.539641111e-02f, 1.541925759e-02f, 1.544207566e-02f, 1.546486530e-02f, 1.548762646e-02f,
+1.551035910e-02f, 1.553306320e-02f, 1.555573871e-02f, 1.557838560e-02f, 1.560100382e-02f, 1.562359335e-02f, 1.564615414e-02f, 1.566868616e-02f, 1.569118937e-02f, 1.571366374e-02f,
+1.573610922e-02f, 1.575852579e-02f, 1.578091341e-02f, 1.580327203e-02f, 1.582560163e-02f, 1.584790216e-02f, 1.587017360e-02f, 1.589241589e-02f, 1.591462902e-02f, 1.593681294e-02f,
+1.595896762e-02f, 1.598109301e-02f, 1.600318909e-02f, 1.602525582e-02f, 1.604729316e-02f, 1.606930107e-02f, 1.609127953e-02f, 1.611322850e-02f, 1.613514793e-02f, 1.615703779e-02f,
+1.617889806e-02f, 1.620072869e-02f, 1.622252965e-02f, 1.624430089e-02f, 1.626604240e-02f, 1.628775413e-02f, 1.630943604e-02f, 1.633108811e-02f, 1.635271029e-02f, 1.637430256e-02f,
+1.639586487e-02f, 1.641739719e-02f, 1.643889949e-02f, 1.646037173e-02f, 1.648181388e-02f, 1.650322590e-02f, 1.652460776e-02f, 1.654595942e-02f, 1.656728086e-02f, 1.658857202e-02f,
+1.660983289e-02f, 1.663106342e-02f, 1.665226358e-02f, 1.667343334e-02f, 1.669457267e-02f, 1.671568152e-02f, 1.673675986e-02f, 1.675780767e-02f, 1.677882490e-02f, 1.679981153e-02f,
+1.682076752e-02f, 1.684169283e-02f, 1.686258743e-02f, 1.688345129e-02f, 1.690428437e-02f, 1.692508664e-02f, 1.694585807e-02f, 1.696659862e-02f, 1.698730827e-02f, 1.700798697e-02f,
+1.702863469e-02f, 1.704925140e-02f, 1.706983707e-02f, 1.709039167e-02f, 1.711091515e-02f, 1.713140749e-02f, 1.715186866e-02f, 1.717229861e-02f, 1.719269733e-02f, 1.721306477e-02f,
+1.723340091e-02f, 1.725370571e-02f, 1.727397913e-02f, 1.729422115e-02f, 1.731443173e-02f, 1.733461084e-02f, 1.735475846e-02f, 1.737487453e-02f, 1.739495904e-02f, 1.741501195e-02f,
+1.743503323e-02f, 1.745502285e-02f, 1.747498077e-02f, 1.749490696e-02f, 1.751480140e-02f, 1.753466404e-02f, 1.755449486e-02f, 1.757429383e-02f, 1.759406091e-02f, 1.761379607e-02f,
+1.763349928e-02f, 1.765317051e-02f, 1.767280973e-02f, 1.769241690e-02f, 1.771199200e-02f, 1.773153499e-02f, 1.775104584e-02f, 1.777052452e-02f, 1.778997100e-02f, 1.780938525e-02f,
+1.782876724e-02f, 1.784811694e-02f, 1.786743431e-02f, 1.788671932e-02f, 1.790597195e-02f, 1.792519216e-02f, 1.794437992e-02f, 1.796353521e-02f, 1.798265799e-02f, 1.800174822e-02f,
+1.802080589e-02f, 1.803983096e-02f, 1.805882340e-02f, 1.807778317e-02f, 1.809671026e-02f, 1.811560462e-02f, 1.813446624e-02f, 1.815329507e-02f, 1.817209109e-02f, 1.819085427e-02f,
+1.820958458e-02f, 1.822828198e-02f, 1.824694646e-02f, 1.826557798e-02f, 1.828417650e-02f, 1.830274201e-02f, 1.832127447e-02f, 1.833977385e-02f, 1.835824012e-02f, 1.837667326e-02f,
+1.839507323e-02f, 1.841344000e-02f, 1.843177355e-02f, 1.845007385e-02f, 1.846834086e-02f, 1.848657456e-02f, 1.850477492e-02f, 1.852294191e-02f, 1.854107550e-02f, 1.855917566e-02f,
+1.857724237e-02f, 1.859527560e-02f, 1.861327531e-02f, 1.863124148e-02f, 1.864917408e-02f, 1.866707308e-02f, 1.868493846e-02f, 1.870277018e-02f, 1.872056821e-02f, 1.873833254e-02f,
+1.875606313e-02f, 1.877375995e-02f, 1.879142297e-02f, 1.880905217e-02f, 1.882664753e-02f, 1.884420900e-02f, 1.886173656e-02f, 1.887923020e-02f, 1.889668987e-02f, 1.891411555e-02f,
+1.893150721e-02f, 1.894886483e-02f, 1.896618838e-02f, 1.898347783e-02f, 1.900073316e-02f, 1.901795433e-02f, 1.903514132e-02f, 1.905229410e-02f, 1.906941265e-02f, 1.908649694e-02f,
+1.910354694e-02f, 1.912056263e-02f, 1.913754398e-02f, 1.915449095e-02f, 1.917140353e-02f, 1.918828170e-02f, 1.920512541e-02f, 1.922193465e-02f, 1.923870939e-02f, 1.925544960e-02f,
+1.927215526e-02f, 1.928882633e-02f, 1.930546281e-02f, 1.932206465e-02f, 1.933863183e-02f, 1.935516434e-02f, 1.937166213e-02f, 1.938812518e-02f, 1.940455348e-02f, 1.942094699e-02f,
+1.943730569e-02f, 1.945362954e-02f, 1.946991854e-02f, 1.948617265e-02f, 1.950239184e-02f, 1.951857610e-02f, 1.953472538e-02f, 1.955083968e-02f, 1.956691897e-02f, 1.958296321e-02f,
+1.959897239e-02f, 1.961494648e-02f, 1.963088546e-02f, 1.964678929e-02f, 1.966265796e-02f, 1.967849144e-02f, 1.969428971e-02f, 1.971005274e-02f, 1.972578051e-02f, 1.974147299e-02f,
+1.975713015e-02f, 1.977275198e-02f, 1.978833846e-02f, 1.980388954e-02f, 1.981940522e-02f, 1.983488547e-02f, 1.985033026e-02f, 1.986573956e-02f, 1.988111337e-02f, 1.989645164e-02f,
+1.991175437e-02f, 1.992702152e-02f, 1.994225306e-02f, 1.995744899e-02f, 1.997260927e-02f, 1.998773388e-02f, 2.000282280e-02f, 2.001787600e-02f, 2.003289346e-02f, 2.004787515e-02f,
+2.006282107e-02f, 2.007773117e-02f, 2.009260544e-02f, 2.010744385e-02f, 2.012224639e-02f, 2.013701303e-02f, 2.015174374e-02f, 2.016643851e-02f, 2.018109731e-02f, 2.019572011e-02f,
+2.021030691e-02f, 2.022485766e-02f, 2.023937236e-02f, 2.025385098e-02f, 2.026829350e-02f, 2.028269989e-02f, 2.029707013e-02f, 2.031140420e-02f, 2.032570208e-02f, 2.033996375e-02f,
+2.035418919e-02f, 2.036837836e-02f, 2.038253126e-02f, 2.039664786e-02f, 2.041072814e-02f, 2.042477207e-02f, 2.043877964e-02f, 2.045275082e-02f, 2.046668560e-02f, 2.048058394e-02f,
+2.049444584e-02f, 2.050827126e-02f, 2.052206020e-02f, 2.053581262e-02f, 2.054952850e-02f, 2.056320783e-02f, 2.057685059e-02f, 2.059045675e-02f, 2.060402629e-02f, 2.061755919e-02f,
+2.063105544e-02f, 2.064451500e-02f, 2.065793787e-02f, 2.067132402e-02f, 2.068467342e-02f, 2.069798607e-02f, 2.071126194e-02f, 2.072450100e-02f, 2.073770325e-02f, 2.075086866e-02f,
+2.076399720e-02f, 2.077708887e-02f, 2.079014363e-02f, 2.080316148e-02f, 2.081614238e-02f, 2.082908633e-02f, 2.084199330e-02f, 2.085486327e-02f, 2.086769622e-02f, 2.088049214e-02f,
+2.089325100e-02f, 2.090597278e-02f, 2.091865748e-02f, 2.093130506e-02f, 2.094391550e-02f, 2.095648880e-02f, 2.096902492e-02f, 2.098152386e-02f, 2.099398559e-02f, 2.100641009e-02f,
+2.101879735e-02f, 2.103114735e-02f, 2.104346006e-02f, 2.105573547e-02f, 2.106797357e-02f, 2.108017432e-02f, 2.109233773e-02f, 2.110446376e-02f, 2.111655239e-02f, 2.112860362e-02f,
+2.114061743e-02f, 2.115259378e-02f, 2.116453268e-02f, 2.117643409e-02f, 2.118829801e-02f, 2.120012441e-02f, 2.121191327e-02f, 2.122366459e-02f, 2.123537834e-02f, 2.124705450e-02f,
+2.125869306e-02f, 2.127029399e-02f, 2.128185730e-02f, 2.129338294e-02f, 2.130487092e-02f, 2.131632121e-02f, 2.132773379e-02f, 2.133910865e-02f, 2.135044577e-02f, 2.136174513e-02f,
+2.137300673e-02f, 2.138423053e-02f, 2.139541653e-02f, 2.140656471e-02f, 2.141767505e-02f, 2.142874754e-02f, 2.143978215e-02f, 2.145077888e-02f, 2.146173771e-02f, 2.147265862e-02f,
+2.148354159e-02f, 2.149438661e-02f, 2.150519367e-02f, 2.151596274e-02f, 2.152669382e-02f, 2.153738688e-02f, 2.154804192e-02f, 2.155865891e-02f, 2.156923784e-02f, 2.157977869e-02f,
+2.159028146e-02f, 2.160074612e-02f, 2.161117265e-02f, 2.162156106e-02f, 2.163191131e-02f, 2.164222339e-02f, 2.165249730e-02f, 2.166273300e-02f, 2.167293050e-02f, 2.168308978e-02f,
+2.169321081e-02f, 2.170329359e-02f, 2.171333810e-02f, 2.172334433e-02f, 2.173331226e-02f, 2.174324187e-02f, 2.175313317e-02f, 2.176298612e-02f, 2.177280072e-02f, 2.178257695e-02f,
+2.179231479e-02f, 2.180201424e-02f, 2.181167529e-02f, 2.182129790e-02f, 2.183088209e-02f, 2.184042781e-02f, 2.184993508e-02f, 2.185940387e-02f, 2.186883416e-02f, 2.187822596e-02f,
+2.188757923e-02f, 2.189689397e-02f, 2.190617017e-02f, 2.191540781e-02f, 2.192460688e-02f, 2.193376737e-02f, 2.194288926e-02f, 2.195197254e-02f, 2.196101720e-02f, 2.197002323e-02f,
+2.197899061e-02f, 2.198791933e-02f, 2.199680938e-02f, 2.200566074e-02f, 2.201447341e-02f, 2.202324736e-02f, 2.203198260e-02f, 2.204067910e-02f, 2.204933686e-02f, 2.205795586e-02f,
+2.206653609e-02f, 2.207507755e-02f, 2.208358020e-02f, 2.209204406e-02f, 2.210046909e-02f, 2.210885530e-02f, 2.211720267e-02f, 2.212551119e-02f, 2.213378085e-02f, 2.214201163e-02f,
+2.215020353e-02f, 2.215835653e-02f, 2.216647063e-02f, 2.217454581e-02f, 2.218258206e-02f, 2.219057937e-02f, 2.219853772e-02f, 2.220645712e-02f, 2.221433755e-02f, 2.222217899e-02f,
+2.222998144e-02f, 2.223774488e-02f, 2.224546931e-02f, 2.225315472e-02f, 2.226080109e-02f, 2.226840841e-02f, 2.227597668e-02f, 2.228350589e-02f, 2.229099602e-02f, 2.229844706e-02f,
+2.230585901e-02f, 2.231323185e-02f, 2.232056558e-02f, 2.232786018e-02f, 2.233511565e-02f, 2.234233198e-02f, 2.234950915e-02f, 2.235664716e-02f, 2.236374600e-02f, 2.237080566e-02f,
+2.237782612e-02f, 2.238480739e-02f, 2.239174945e-02f, 2.239865229e-02f, 2.240551591e-02f, 2.241234029e-02f, 2.241912542e-02f, 2.242587130e-02f, 2.243257792e-02f, 2.243924527e-02f,
+2.244587335e-02f, 2.245246213e-02f, 2.245901162e-02f, 2.246552181e-02f, 2.247199268e-02f, 2.247842423e-02f, 2.248481646e-02f, 2.249116935e-02f, 2.249748289e-02f, 2.250375708e-02f,
+2.250999192e-02f, 2.251618738e-02f, 2.252234347e-02f, 2.252846017e-02f, 2.253453749e-02f, 2.254057541e-02f, 2.254657392e-02f, 2.255253301e-02f, 2.255845269e-02f, 2.256433294e-02f,
+2.257017376e-02f, 2.257597513e-02f, 2.258173706e-02f, 2.258745953e-02f, 2.259314253e-02f, 2.259878607e-02f, 2.260439013e-02f, 2.260995471e-02f, 2.261547980e-02f, 2.262096539e-02f,
+2.262641149e-02f, 2.263181807e-02f, 2.263718514e-02f, 2.264251268e-02f, 2.264780070e-02f, 2.265304918e-02f, 2.265825813e-02f, 2.266342753e-02f, 2.266855738e-02f, 2.267364767e-02f,
+2.267869839e-02f, 2.268370955e-02f, 2.268868113e-02f, 2.269361314e-02f, 2.269850556e-02f, 2.270335838e-02f, 2.270817161e-02f, 2.271294524e-02f, 2.271767926e-02f, 2.272237367e-02f,
+2.272702846e-02f, 2.273164363e-02f, 2.273621918e-02f, 2.274075509e-02f, 2.274525136e-02f, 2.274970799e-02f, 2.275412498e-02f, 2.275850231e-02f, 2.276283999e-02f, 2.276713801e-02f,
+2.277139636e-02f, 2.277561505e-02f, 2.277979406e-02f, 2.278393340e-02f, 2.278803305e-02f, 2.279209302e-02f, 2.279611330e-02f, 2.280009389e-02f, 2.280403478e-02f, 2.280793597e-02f,
+2.281179745e-02f, 2.281561923e-02f, 2.281940129e-02f, 2.282314364e-02f, 2.282684627e-02f, 2.283050918e-02f, 2.283413236e-02f, 2.283771581e-02f, 2.284125953e-02f, 2.284476352e-02f,
+2.284822777e-02f, 2.285165228e-02f, 2.285503704e-02f, 2.285838206e-02f, 2.286168732e-02f, 2.286495284e-02f, 2.286817860e-02f, 2.287136460e-02f, 2.287451085e-02f, 2.287761733e-02f,
+2.288068404e-02f, 2.288371099e-02f, 2.288669817e-02f, 2.288964558e-02f, 2.289255322e-02f, 2.289542108e-02f, 2.289824916e-02f, 2.290103747e-02f, 2.290378599e-02f, 2.290649474e-02f,
+2.290916369e-02f, 2.291179286e-02f, 2.291438225e-02f, 2.291693184e-02f, 2.291944165e-02f, 2.292191166e-02f, 2.292434189e-02f, 2.292673231e-02f, 2.292908295e-02f, 2.293139378e-02f,
+2.293366482e-02f, 2.293589606e-02f, 2.293808751e-02f, 2.294023915e-02f, 2.294235099e-02f, 2.294442304e-02f, 2.294645528e-02f, 2.294844772e-02f, 2.295040036e-02f, 2.295231319e-02f,
+2.295418622e-02f, 2.295601945e-02f, 2.295781288e-02f, 2.295956650e-02f, 2.296128032e-02f, 2.296295433e-02f, 2.296458855e-02f, 2.296618296e-02f, 2.296773756e-02f, 2.296925237e-02f,
+2.297072737e-02f, 2.297216257e-02f, 2.297355797e-02f, 2.297491357e-02f, 2.297622937e-02f, 2.297750538e-02f, 2.297874158e-02f, 2.297993799e-02f, 2.298109460e-02f, 2.298221141e-02f,
+2.298328843e-02f, 2.298432566e-02f, 2.298532310e-02f, 2.298628074e-02f, 2.298719860e-02f, 2.298807667e-02f, 2.298891495e-02f, 2.298971345e-02f, 2.299047217e-02f, 2.299119110e-02f,
+2.299187026e-02f, 2.299250964e-02f, 2.299310924e-02f, 2.299366907e-02f, 2.299418912e-02f, 2.299466941e-02f, 2.299510993e-02f, 2.299551069e-02f, 2.299587168e-02f, 2.299619291e-02f,
+2.299647438e-02f, 2.299671610e-02f, 2.299691807e-02f, 2.299708028e-02f, 2.299720275e-02f, 2.299728548e-02f, 2.299732846e-02f, 2.299733170e-02f, 2.299729521e-02f, 2.299721898e-02f,
+2.299710303e-02f, 2.299694735e-02f, 2.299675194e-02f, 2.299651682e-02f, 2.299624198e-02f, 2.299592742e-02f, 2.299557316e-02f, 2.299517919e-02f, 2.299474552e-02f, 2.299427215e-02f,
+2.299375909e-02f, 2.299320634e-02f, 2.299261390e-02f, 2.299198177e-02f, 2.299130997e-02f, 2.299059850e-02f, 2.298984735e-02f, 2.298905654e-02f, 2.298822607e-02f, 2.298735594e-02f,
+2.298644616e-02f, 2.298549673e-02f, 2.298450766e-02f, 2.298347895e-02f, 2.298241060e-02f, 2.298130263e-02f, 2.298015503e-02f, 2.297896782e-02f, 2.297774099e-02f, 2.297647455e-02f,
+2.297516850e-02f, 2.297382286e-02f, 2.297243763e-02f, 2.297101281e-02f, 2.296954840e-02f, 2.296804442e-02f, 2.296650087e-02f, 2.296491775e-02f, 2.296329508e-02f, 2.296163285e-02f,
+2.295993107e-02f, 2.295818975e-02f, 2.295640889e-02f, 2.295458850e-02f, 2.295272859e-02f, 2.295082916e-02f, 2.294889022e-02f, 2.294691178e-02f, 2.294489383e-02f, 2.294283640e-02f,
+2.294073948e-02f, 2.293860307e-02f, 2.293642720e-02f, 2.293421186e-02f, 2.293195706e-02f, 2.292966281e-02f, 2.292732912e-02f, 2.292495599e-02f, 2.292254342e-02f, 2.292009144e-02f,
+2.291760003e-02f, 2.291506922e-02f, 2.291249900e-02f, 2.290988939e-02f, 2.290724040e-02f, 2.290455202e-02f, 2.290182427e-02f, 2.289905716e-02f, 2.289625069e-02f, 2.289340487e-02f,
+2.289051971e-02f, 2.288759522e-02f, 2.288463141e-02f, 2.288162827e-02f, 2.287858583e-02f, 2.287550409e-02f, 2.287238306e-02f, 2.286922274e-02f, 2.286602315e-02f, 2.286278429e-02f,
+2.285950617e-02f, 2.285618881e-02f, 2.285283220e-02f, 2.284943636e-02f, 2.284600130e-02f, 2.284252702e-02f, 2.283901354e-02f, 2.283546086e-02f, 2.283186899e-02f, 2.282823795e-02f,
+2.282456773e-02f, 2.282085836e-02f, 2.281710984e-02f, 2.281332218e-02f, 2.280949538e-02f, 2.280562946e-02f, 2.280172443e-02f, 2.279778030e-02f, 2.279379708e-02f, 2.278977477e-02f,
+2.278571339e-02f, 2.278161295e-02f, 2.277747345e-02f, 2.277329492e-02f, 2.276907734e-02f, 2.276482075e-02f, 2.276052514e-02f, 2.275619054e-02f, 2.275181694e-02f, 2.274740436e-02f,
+2.274295281e-02f, 2.273846230e-02f, 2.273393284e-02f, 2.272936444e-02f, 2.272475712e-02f, 2.272011088e-02f, 2.271542573e-02f, 2.271070169e-02f, 2.270593876e-02f, 2.270113697e-02f,
+2.269629631e-02f, 2.269141680e-02f, 2.268649846e-02f, 2.268154128e-02f, 2.267654530e-02f, 2.267151050e-02f, 2.266643692e-02f, 2.266132455e-02f, 2.265617342e-02f, 2.265098353e-02f,
+2.264575489e-02f, 2.264048752e-02f, 2.263518143e-02f, 2.262983663e-02f, 2.262445313e-02f, 2.261903095e-02f, 2.261357010e-02f, 2.260807058e-02f, 2.260253242e-02f, 2.259695562e-02f,
+2.259134020e-02f, 2.258568617e-02f, 2.257999354e-02f, 2.257426233e-02f, 2.256849255e-02f, 2.256268420e-02f, 2.255683731e-02f, 2.255095189e-02f, 2.254502795e-02f, 2.253906550e-02f,
+2.253306456e-02f, 2.252702513e-02f, 2.252094724e-02f, 2.251483090e-02f, 2.250867611e-02f, 2.250248290e-02f, 2.249625128e-02f, 2.248998125e-02f, 2.248367284e-02f, 2.247732606e-02f,
+2.247094092e-02f, 2.246451744e-02f, 2.245805562e-02f, 2.245155549e-02f, 2.244501706e-02f, 2.243844034e-02f, 2.243182534e-02f, 2.242517209e-02f, 2.241848059e-02f, 2.241175086e-02f,
+2.240498292e-02f, 2.239817677e-02f, 2.239133243e-02f, 2.238444993e-02f, 2.237752927e-02f, 2.237057046e-02f, 2.236357353e-02f, 2.235653848e-02f, 2.234946534e-02f, 2.234235411e-02f,
+2.233520481e-02f, 2.232801747e-02f, 2.232079208e-02f, 2.231352868e-02f, 2.230622727e-02f, 2.229888786e-02f, 2.229151049e-02f, 2.228409515e-02f, 2.227664187e-02f, 2.226915066e-02f,
+2.226162154e-02f, 2.225405452e-02f, 2.224644962e-02f, 2.223880685e-02f, 2.223112624e-02f, 2.222340779e-02f, 2.221565153e-02f, 2.220785747e-02f, 2.220002562e-02f, 2.219215601e-02f,
+2.218424864e-02f, 2.217630354e-02f, 2.216832073e-02f, 2.216030021e-02f, 2.215224200e-02f, 2.214414613e-02f, 2.213601261e-02f, 2.212784145e-02f, 2.211963268e-02f, 2.211138630e-02f,
+2.210310234e-02f, 2.209478082e-02f, 2.208642174e-02f, 2.207802514e-02f, 2.206959102e-02f, 2.206111940e-02f, 2.205261031e-02f, 2.204406375e-02f, 2.203547975e-02f, 2.202685832e-02f,
+2.201819948e-02f, 2.200950325e-02f, 2.200076964e-02f, 2.199199868e-02f, 2.198319039e-02f, 2.197434477e-02f, 2.196546185e-02f, 2.195654165e-02f, 2.194758418e-02f, 2.193858947e-02f,
+2.192955752e-02f, 2.192048837e-02f, 2.191138202e-02f, 2.190223851e-02f, 2.189305783e-02f, 2.188384002e-02f, 2.187458510e-02f, 2.186529307e-02f, 2.185596397e-02f, 2.184659780e-02f,
+2.183719459e-02f, 2.182775436e-02f, 2.181827713e-02f, 2.180876291e-02f, 2.179921172e-02f, 2.178962359e-02f, 2.177999853e-02f, 2.177033657e-02f, 2.176063771e-02f, 2.175090199e-02f,
+2.174112942e-02f, 2.173132002e-02f, 2.172147381e-02f, 2.171159081e-02f, 2.170167104e-02f, 2.169171452e-02f, 2.168172127e-02f, 2.167169131e-02f, 2.166162466e-02f, 2.165152134e-02f,
+2.164138137e-02f, 2.163120477e-02f, 2.162099156e-02f, 2.161074176e-02f, 2.160045540e-02f, 2.159013248e-02f, 2.157977304e-02f, 2.156937709e-02f, 2.155894466e-02f, 2.154847576e-02f,
+2.153797042e-02f, 2.152742865e-02f, 2.151685048e-02f, 2.150623593e-02f, 2.149558502e-02f, 2.148489777e-02f, 2.147417420e-02f, 2.146341433e-02f, 2.145261819e-02f, 2.144178579e-02f,
+2.143091716e-02f, 2.142001232e-02f, 2.140907129e-02f, 2.139809409e-02f, 2.138708075e-02f, 2.137603128e-02f, 2.136494570e-02f, 2.135382405e-02f, 2.134266634e-02f, 2.133147258e-02f,
+2.132024282e-02f, 2.130897706e-02f, 2.129767533e-02f, 2.128633765e-02f, 2.127496404e-02f, 2.126355453e-02f, 2.125210914e-02f, 2.124062788e-02f, 2.122911080e-02f, 2.121755789e-02f,
+2.120596920e-02f, 2.119434473e-02f, 2.118268452e-02f, 2.117098859e-02f, 2.115925695e-02f, 2.114748964e-02f, 2.113568668e-02f, 2.112384808e-02f, 2.111197387e-02f, 2.110006408e-02f,
+2.108811872e-02f, 2.107613783e-02f, 2.106412142e-02f, 2.105206952e-02f, 2.103998215e-02f, 2.102785934e-02f, 2.101570110e-02f, 2.100350747e-02f, 2.099127846e-02f, 2.097901410e-02f,
+2.096671442e-02f, 2.095437943e-02f, 2.094200917e-02f, 2.092960365e-02f, 2.091716289e-02f, 2.090468694e-02f, 2.089217580e-02f, 2.087962950e-02f, 2.086704807e-02f, 2.085443152e-02f,
+2.084177990e-02f, 2.082909321e-02f, 2.081637149e-02f, 2.080361475e-02f, 2.079082303e-02f, 2.077799635e-02f, 2.076513473e-02f, 2.075223819e-02f, 2.073930677e-02f, 2.072634049e-02f,
+2.071333937e-02f, 2.070030343e-02f, 2.068723271e-02f, 2.067412723e-02f, 2.066098701e-02f, 2.064781208e-02f, 2.063460246e-02f, 2.062135818e-02f, 2.060807926e-02f, 2.059476573e-02f,
+2.058141762e-02f, 2.056803495e-02f, 2.055461775e-02f, 2.054116604e-02f, 2.052767985e-02f, 2.051415920e-02f, 2.050060413e-02f, 2.048701464e-02f, 2.047339079e-02f, 2.045973258e-02f,
+2.044604004e-02f, 2.043231320e-02f, 2.041855209e-02f, 2.040475674e-02f, 2.039092716e-02f, 2.037706339e-02f, 2.036316546e-02f, 2.034923338e-02f, 2.033526719e-02f, 2.032126690e-02f,
+2.030723256e-02f, 2.029316419e-02f, 2.027906181e-02f, 2.026492544e-02f, 2.025075513e-02f, 2.023655088e-02f, 2.022231274e-02f, 2.020804073e-02f, 2.019373487e-02f, 2.017939519e-02f,
+2.016502172e-02f, 2.015061449e-02f, 2.013617352e-02f, 2.012169885e-02f, 2.010719049e-02f, 2.009264848e-02f, 2.007807285e-02f, 2.006346361e-02f, 2.004882081e-02f, 2.003414446e-02f,
+2.001943460e-02f, 2.000469125e-02f, 1.998991445e-02f, 1.997510421e-02f, 1.996026057e-02f, 1.994538356e-02f, 1.993047320e-02f, 1.991552952e-02f, 1.990055255e-02f, 1.988554232e-02f,
+1.987049885e-02f, 1.985542219e-02f, 1.984031234e-02f, 1.982516935e-02f, 1.980999324e-02f, 1.979478404e-02f, 1.977954178e-02f, 1.976426648e-02f, 1.974895818e-02f, 1.973361691e-02f,
+1.971824269e-02f, 1.970283555e-02f, 1.968739553e-02f, 1.967192264e-02f, 1.965641693e-02f, 1.964087841e-02f, 1.962530713e-02f, 1.960970310e-02f, 1.959406636e-02f, 1.957839694e-02f,
+1.956269486e-02f, 1.954696016e-02f, 1.953119287e-02f, 1.951539301e-02f, 1.949956061e-02f, 1.948369571e-02f, 1.946779834e-02f, 1.945186852e-02f, 1.943590628e-02f, 1.941991166e-02f,
+1.940388468e-02f, 1.938782538e-02f, 1.937173378e-02f, 1.935560991e-02f, 1.933945381e-02f, 1.932326551e-02f, 1.930704503e-02f, 1.929079241e-02f, 1.927450767e-02f, 1.925819085e-02f,
+1.924184198e-02f, 1.922546109e-02f, 1.920904821e-02f, 1.919260336e-02f, 1.917612659e-02f, 1.915961792e-02f, 1.914307738e-02f, 1.912650500e-02f, 1.910990082e-02f, 1.909326486e-02f,
+1.907659716e-02f, 1.905989774e-02f, 1.904316665e-02f, 1.902640390e-02f, 1.900960953e-02f, 1.899278358e-02f, 1.897592607e-02f, 1.895903704e-02f, 1.894211651e-02f, 1.892516452e-02f,
+1.890818110e-02f, 1.889116629e-02f, 1.887412010e-02f, 1.885704259e-02f, 1.883993376e-02f, 1.882279367e-02f, 1.880562234e-02f, 1.878841980e-02f, 1.877118609e-02f, 1.875392123e-02f,
+1.873662526e-02f, 1.871929821e-02f, 1.870194012e-02f, 1.868455101e-02f, 1.866713092e-02f, 1.864967988e-02f, 1.863219792e-02f, 1.861468508e-02f, 1.859714139e-02f, 1.857956687e-02f,
+1.856196157e-02f, 1.854432552e-02f, 1.852665874e-02f, 1.850896128e-02f, 1.849123316e-02f, 1.847347441e-02f, 1.845568508e-02f, 1.843786519e-02f, 1.842001478e-02f, 1.840213387e-02f,
+1.838422251e-02f, 1.836628072e-02f, 1.834830854e-02f, 1.833030600e-02f, 1.831227314e-02f, 1.829420999e-02f, 1.827611658e-02f, 1.825799294e-02f, 1.823983912e-02f, 1.822165513e-02f,
+1.820344103e-02f, 1.818519683e-02f, 1.816692258e-02f, 1.814861830e-02f, 1.813028404e-02f, 1.811191982e-02f, 1.809352568e-02f, 1.807510165e-02f, 1.805664778e-02f, 1.803816408e-02f,
+1.801965060e-02f, 1.800110737e-02f, 1.798253442e-02f, 1.796393179e-02f, 1.794529951e-02f, 1.792663762e-02f, 1.790794615e-02f, 1.788922514e-02f, 1.787047462e-02f, 1.785169462e-02f,
+1.783288518e-02f, 1.781404634e-02f, 1.779517812e-02f, 1.777628057e-02f, 1.775735372e-02f, 1.773839760e-02f, 1.771941225e-02f, 1.770039770e-02f, 1.768135399e-02f, 1.766228116e-02f,
+1.764317923e-02f, 1.762404824e-02f, 1.760488824e-02f, 1.758569925e-02f, 1.756648130e-02f, 1.754723444e-02f, 1.752795871e-02f, 1.750865412e-02f, 1.748932073e-02f, 1.746995857e-02f,
+1.745056766e-02f, 1.743114806e-02f, 1.741169978e-02f, 1.739222288e-02f, 1.737271738e-02f, 1.735318332e-02f, 1.733362074e-02f, 1.731402967e-02f, 1.729441015e-02f, 1.727476221e-02f,
+1.725508589e-02f, 1.723538123e-02f, 1.721564826e-02f, 1.719588702e-02f, 1.717609754e-02f, 1.715627987e-02f, 1.713643403e-02f, 1.711656007e-02f, 1.709665802e-02f, 1.707672791e-02f,
+1.705676979e-02f, 1.703678368e-02f, 1.701676963e-02f, 1.699672768e-02f, 1.697665785e-02f, 1.695656019e-02f, 1.693643474e-02f, 1.691628152e-02f, 1.689610058e-02f, 1.687589195e-02f,
+1.685565568e-02f, 1.683539179e-02f, 1.681510033e-02f, 1.679478132e-02f, 1.677443482e-02f, 1.675406085e-02f, 1.673365946e-02f, 1.671323067e-02f, 1.669277454e-02f, 1.667229109e-02f,
+1.665178036e-02f, 1.663124239e-02f, 1.661067722e-02f, 1.659008488e-02f, 1.656946542e-02f, 1.654881886e-02f, 1.652814526e-02f, 1.650744464e-02f, 1.648671704e-02f, 1.646596250e-02f,
+1.644518106e-02f, 1.642437276e-02f, 1.640353763e-02f, 1.638267572e-02f, 1.636178706e-02f, 1.634087168e-02f, 1.631992963e-02f, 1.629896095e-02f, 1.627796567e-02f, 1.625694383e-02f,
+1.623589547e-02f, 1.621482063e-02f, 1.619371934e-02f, 1.617259165e-02f, 1.615143759e-02f, 1.613025721e-02f, 1.610905053e-02f, 1.608781760e-02f, 1.606655846e-02f, 1.604527315e-02f,
+1.602396170e-02f, 1.600262415e-02f, 1.598126054e-02f, 1.595987092e-02f, 1.593845531e-02f, 1.591701377e-02f, 1.589554632e-02f, 1.587405301e-02f, 1.585253387e-02f, 1.583098895e-02f,
+1.580941828e-02f, 1.578782190e-02f, 1.576619986e-02f, 1.574455219e-02f, 1.572287893e-02f, 1.570118012e-02f, 1.567945579e-02f, 1.565770600e-02f, 1.563593077e-02f, 1.561413016e-02f,
+1.559230418e-02f, 1.557045290e-02f, 1.554857634e-02f, 1.552667455e-02f, 1.550474756e-02f, 1.548279542e-02f, 1.546081817e-02f, 1.543881583e-02f, 1.541678847e-02f, 1.539473611e-02f,
+1.537265879e-02f, 1.535055656e-02f, 1.532842945e-02f, 1.530627750e-02f, 1.528410076e-02f, 1.526189927e-02f, 1.523967306e-02f, 1.521742218e-02f, 1.519514666e-02f, 1.517284654e-02f,
+1.515052188e-02f, 1.512817269e-02f, 1.510579904e-02f, 1.508340095e-02f, 1.506097847e-02f, 1.503853164e-02f, 1.501606050e-02f, 1.499356509e-02f, 1.497104544e-02f, 1.494850161e-02f,
+1.492593363e-02f, 1.490334154e-02f, 1.488072538e-02f, 1.485808520e-02f, 1.483542103e-02f, 1.481273292e-02f, 1.479002090e-02f, 1.476728502e-02f, 1.474452532e-02f, 1.472174184e-02f,
+1.469893462e-02f, 1.467610370e-02f, 1.465324913e-02f, 1.463037094e-02f, 1.460746917e-02f, 1.458454387e-02f, 1.456159508e-02f, 1.453862284e-02f, 1.451562719e-02f, 1.449260817e-02f,
+1.446956582e-02f, 1.444650019e-02f, 1.442341132e-02f, 1.440029924e-02f, 1.437716401e-02f, 1.435400565e-02f, 1.433082422e-02f, 1.430761975e-02f, 1.428439229e-02f, 1.426114188e-02f,
+1.423786856e-02f, 1.421457237e-02f, 1.419125336e-02f, 1.416791156e-02f, 1.414454702e-02f, 1.412115978e-02f, 1.409774988e-02f, 1.407431737e-02f, 1.405086228e-02f, 1.402738467e-02f,
+1.400388456e-02f, 1.398036200e-02f, 1.395681704e-02f, 1.393324972e-02f, 1.390966008e-02f, 1.388604816e-02f, 1.386241400e-02f, 1.383875766e-02f, 1.381507916e-02f, 1.379137855e-02f,
+1.376765588e-02f, 1.374391119e-02f, 1.372014451e-02f, 1.369635590e-02f, 1.367254539e-02f, 1.364871303e-02f, 1.362485886e-02f, 1.360098293e-02f, 1.357708527e-02f, 1.355316593e-02f,
+1.352922496e-02f, 1.350526238e-02f, 1.348127826e-02f, 1.345727263e-02f, 1.343324553e-02f, 1.340919701e-02f, 1.338512711e-02f, 1.336103587e-02f, 1.333692334e-02f, 1.331278955e-02f,
+1.328863457e-02f, 1.326445841e-02f, 1.324026114e-02f, 1.321604279e-02f, 1.319180340e-02f, 1.316754303e-02f, 1.314326171e-02f, 1.311895948e-02f, 1.309463640e-02f, 1.307029250e-02f,
+1.304592782e-02f, 1.302154242e-02f, 1.299713633e-02f, 1.297270960e-02f, 1.294826227e-02f, 1.292379439e-02f, 1.289930599e-02f, 1.287479713e-02f, 1.285026784e-02f, 1.282571818e-02f,
+1.280114818e-02f, 1.277655789e-02f, 1.275194735e-02f, 1.272731661e-02f, 1.270266571e-02f, 1.267799469e-02f, 1.265330360e-02f, 1.262859248e-02f, 1.260386138e-02f, 1.257911035e-02f,
+1.255433941e-02f, 1.252954863e-02f, 1.250473804e-02f, 1.247990769e-02f, 1.245505762e-02f, 1.243018787e-02f, 1.240529850e-02f, 1.238038954e-02f, 1.235546105e-02f, 1.233051305e-02f,
+1.230554561e-02f, 1.228055876e-02f, 1.225555255e-02f, 1.223052702e-02f, 1.220548222e-02f, 1.218041819e-02f, 1.215533497e-02f, 1.213023262e-02f, 1.210511117e-02f, 1.207997068e-02f,
+1.205481118e-02f, 1.202963272e-02f, 1.200443534e-02f, 1.197921910e-02f, 1.195398403e-02f, 1.192873018e-02f, 1.190345760e-02f, 1.187816632e-02f, 1.185285641e-02f, 1.182752789e-02f,
+1.180218081e-02f, 1.177681523e-02f, 1.175143119e-02f, 1.172602872e-02f, 1.170060788e-02f, 1.167516871e-02f, 1.164971126e-02f, 1.162423557e-02f, 1.159874168e-02f, 1.157322965e-02f,
+1.154769952e-02f, 1.152215133e-02f, 1.149658513e-02f, 1.147100096e-02f, 1.144539888e-02f, 1.141977891e-02f, 1.139414112e-02f, 1.136848555e-02f, 1.134281223e-02f, 1.131712123e-02f,
+1.129141258e-02f, 1.126568632e-02f, 1.123994251e-02f, 1.121418120e-02f, 1.118840241e-02f, 1.116260621e-02f, 1.113679264e-02f, 1.111096174e-02f, 1.108511356e-02f, 1.105924815e-02f,
+1.103336554e-02f, 1.100746580e-02f, 1.098154895e-02f, 1.095561506e-02f, 1.092966416e-02f, 1.090369630e-02f, 1.087771153e-02f, 1.085170990e-02f, 1.082569144e-02f, 1.079965621e-02f,
+1.077360425e-02f, 1.074753561e-02f, 1.072145033e-02f, 1.069534846e-02f, 1.066923005e-02f, 1.064309515e-02f, 1.061694379e-02f, 1.059077603e-02f, 1.056459191e-02f, 1.053839148e-02f,
+1.051217479e-02f, 1.048594187e-02f, 1.045969279e-02f, 1.043342758e-02f, 1.040714629e-02f, 1.038084897e-02f, 1.035453566e-02f, 1.032820641e-02f, 1.030186127e-02f, 1.027550028e-02f,
+1.024912350e-02f, 1.022273096e-02f, 1.019632272e-02f, 1.016989882e-02f, 1.014345930e-02f, 1.011700422e-02f, 1.009053362e-02f, 1.006404755e-02f, 1.003754606e-02f, 1.001102918e-02f,
+9.984496979e-03f, 9.957949490e-03f, 9.931386763e-03f, 9.904808846e-03f, 9.878215786e-03f, 9.851607629e-03f, 9.824984424e-03f, 9.798346216e-03f, 9.771693053e-03f, 9.745024982e-03f,
+9.718342050e-03f, 9.691644304e-03f, 9.664931792e-03f, 9.638204560e-03f, 9.611462657e-03f, 9.584706128e-03f, 9.557935022e-03f, 9.531149386e-03f, 9.504349266e-03f, 9.477534711e-03f,
+9.450705768e-03f, 9.423862484e-03f, 9.397004906e-03f, 9.370133082e-03f, 9.343247059e-03f, 9.316346885e-03f, 9.289432608e-03f, 9.262504274e-03f, 9.235561931e-03f, 9.208605627e-03f,
+9.181635410e-03f, 9.154651327e-03f, 9.127653425e-03f, 9.100641752e-03f, 9.073616356e-03f, 9.046577284e-03f, 9.019524585e-03f, 8.992458306e-03f, 8.965378494e-03f, 8.938285197e-03f,
+8.911178464e-03f, 8.884058341e-03f, 8.856924877e-03f, 8.829778120e-03f, 8.802618117e-03f, 8.775444916e-03f, 8.748258565e-03f, 8.721059112e-03f, 8.693846605e-03f, 8.666621092e-03f,
+8.639382621e-03f, 8.612131240e-03f, 8.584866996e-03f, 8.557589938e-03f, 8.530300113e-03f, 8.502997571e-03f, 8.475682359e-03f, 8.448354524e-03f, 8.421014116e-03f, 8.393661181e-03f,
+8.366295770e-03f, 8.338917928e-03f, 8.311527706e-03f, 8.284125150e-03f, 8.256710309e-03f, 8.229283232e-03f, 8.201843966e-03f, 8.174392560e-03f, 8.146929062e-03f, 8.119453521e-03f,
+8.091965984e-03f, 8.064466500e-03f, 8.036955118e-03f, 8.009431886e-03f, 7.981896851e-03f, 7.954350063e-03f, 7.926791570e-03f, 7.899221421e-03f, 7.871639663e-03f, 7.844046346e-03f,
+7.816441518e-03f, 7.788825226e-03f, 7.761197521e-03f, 7.733558450e-03f, 7.705908062e-03f, 7.678246405e-03f, 7.650573528e-03f, 7.622889480e-03f, 7.595194309e-03f, 7.567488064e-03f,
+7.539770794e-03f, 7.512042546e-03f, 7.484303371e-03f, 7.456553316e-03f, 7.428792430e-03f, 7.401020762e-03f, 7.373238361e-03f, 7.345445275e-03f, 7.317641553e-03f, 7.289827245e-03f,
+7.262002398e-03f, 7.234167061e-03f, 7.206321284e-03f, 7.178465116e-03f, 7.150598604e-03f, 7.122721798e-03f, 7.094834747e-03f, 7.066937500e-03f, 7.039030105e-03f, 7.011112611e-03f,
+6.983185069e-03f, 6.955247525e-03f, 6.927300030e-03f, 6.899342632e-03f, 6.871375381e-03f, 6.843398325e-03f, 6.815411513e-03f, 6.787414994e-03f, 6.759408818e-03f, 6.731393034e-03f,
+6.703367690e-03f, 6.675332835e-03f, 6.647288519e-03f, 6.619234791e-03f, 6.591171700e-03f, 6.563099295e-03f, 6.535017625e-03f, 6.506926739e-03f, 6.478826687e-03f, 6.450717518e-03f,
+6.422599280e-03f, 6.394472024e-03f, 6.366335797e-03f, 6.338190651e-03f, 6.310036633e-03f, 6.281873793e-03f, 6.253702180e-03f, 6.225521844e-03f, 6.197332834e-03f, 6.169135199e-03f,
+6.140928988e-03f, 6.112714251e-03f, 6.084491037e-03f, 6.056259396e-03f, 6.028019376e-03f, 5.999771027e-03f, 5.971514399e-03f, 5.943249541e-03f, 5.914976502e-03f, 5.886695332e-03f,
+5.858406080e-03f, 5.830108795e-03f, 5.801803527e-03f, 5.773490326e-03f, 5.745169241e-03f, 5.716840321e-03f, 5.688503615e-03f, 5.660159175e-03f, 5.631807047e-03f, 5.603447283e-03f,
+5.575079932e-03f, 5.546705044e-03f, 5.518322667e-03f, 5.489932851e-03f, 5.461535647e-03f, 5.433131103e-03f, 5.404719269e-03f, 5.376300194e-03f, 5.347873929e-03f, 5.319440523e-03f,
+5.291000025e-03f, 5.262552486e-03f, 5.234097954e-03f, 5.205636479e-03f, 5.177168111e-03f, 5.148692900e-03f, 5.120210895e-03f, 5.091722146e-03f, 5.063226703e-03f, 5.034724615e-03f,
+5.006215931e-03f, 4.977700703e-03f, 4.949178979e-03f, 4.920650809e-03f, 4.892116242e-03f, 4.863575329e-03f, 4.835028120e-03f, 4.806474663e-03f, 4.777915009e-03f, 4.749349207e-03f,
+4.720777308e-03f, 4.692199361e-03f, 4.663615415e-03f, 4.635025521e-03f, 4.606429728e-03f, 4.577828087e-03f, 4.549220646e-03f, 4.520607456e-03f, 4.491988567e-03f, 4.463364028e-03f,
+4.434733889e-03f, 4.406098200e-03f, 4.377457011e-03f, 4.348810371e-03f, 4.320158331e-03f, 4.291500941e-03f, 4.262838250e-03f, 4.234170308e-03f, 4.205497165e-03f, 4.176818870e-03f,
+4.148135475e-03f, 4.119447028e-03f, 4.090753579e-03f, 4.062055179e-03f, 4.033351878e-03f, 4.004643724e-03f, 3.975930769e-03f, 3.947213061e-03f, 3.918490652e-03f, 3.889763590e-03f,
+3.861031927e-03f, 3.832295711e-03f, 3.803554992e-03f, 3.774809822e-03f, 3.746060248e-03f, 3.717306323e-03f, 3.688548094e-03f, 3.659785614e-03f, 3.631018930e-03f, 3.602248094e-03f,
+3.573473155e-03f, 3.544694163e-03f, 3.515911169e-03f, 3.487124222e-03f, 3.458333372e-03f, 3.429538669e-03f, 3.400740163e-03f, 3.371937905e-03f, 3.343131943e-03f, 3.314322329e-03f,
+3.285509112e-03f, 3.256692342e-03f, 3.227872069e-03f, 3.199048343e-03f, 3.170221215e-03f, 3.141390733e-03f, 3.112556949e-03f, 3.083719911e-03f, 3.054879671e-03f, 3.026036279e-03f,
+2.997189783e-03f, 2.968340235e-03f, 2.939487683e-03f, 2.910632180e-03f, 2.881773773e-03f, 2.852912514e-03f, 2.824048452e-03f, 2.795181637e-03f, 2.766312120e-03f, 2.737439950e-03f,
+2.708565178e-03f, 2.679687853e-03f, 2.650808026e-03f, 2.621925746e-03f, 2.593041064e-03f, 2.564154029e-03f, 2.535264693e-03f, 2.506373103e-03f, 2.477479312e-03f, 2.448583368e-03f,
+2.419685322e-03f, 2.390785224e-03f, 2.361883124e-03f, 2.332979072e-03f, 2.304073117e-03f, 2.275165311e-03f, 2.246255703e-03f, 2.217344342e-03f, 2.188431280e-03f, 2.159516565e-03f,
+2.130600249e-03f, 2.101682381e-03f, 2.072763011e-03f, 2.043842190e-03f, 2.014919966e-03f, 1.985996391e-03f, 1.957071514e-03f, 1.928145386e-03f, 1.899218056e-03f, 1.870289574e-03f,
+1.841359990e-03f, 1.812429355e-03f, 1.783497718e-03f, 1.754565130e-03f, 1.725631640e-03f, 1.696697298e-03f, 1.667762155e-03f, 1.638826260e-03f, 1.609889663e-03f, 1.580952416e-03f,
+1.552014566e-03f, 1.523076165e-03f, 1.494137262e-03f, 1.465197908e-03f, 1.436258152e-03f, 1.407318044e-03f, 1.378377635e-03f, 1.349436973e-03f, 1.320496111e-03f, 1.291555096e-03f,
+1.262613980e-03f, 1.233672812e-03f, 1.204731642e-03f, 1.175790520e-03f, 1.146849496e-03f, 1.117908620e-03f, 1.088967941e-03f, 1.060027511e-03f, 1.031087379e-03f, 1.002147594e-03f,
+9.732082070e-04f, 9.442692675e-04f, 9.153308254e-04f, 8.863929308e-04f, 8.574556335e-04f, 8.285189834e-04f, 7.995830304e-04f, 7.706478244e-04f, 7.417134152e-04f, 7.127798529e-04f,
+6.838471872e-04f, 6.549154681e-04f, 6.259847453e-04f, 5.970550688e-04f, 5.681264884e-04f, 5.391990540e-04f, 5.102728153e-04f, 4.813478224e-04f, 4.524241249e-04f, 4.235017727e-04f,
+3.945808157e-04f, 3.656613037e-04f, 3.367432864e-04f, 3.078268136e-04f, 2.789119353e-04f, 2.499987011e-04f, 2.210871608e-04f, 1.921773643e-04f, 1.632693613e-04f, 1.343632015e-04f,
+1.054589348e-04f, 7.655661079e-05f, 4.765627933e-05f, 1.875799012e-05f, -1.013820710e-05f, -3.903226262e-05f, -6.792412672e-05f, -9.681374969e-05f, -1.257010818e-04f, -1.545860734e-04f,
+-1.834686749e-04f, -2.123488364e-04f, -2.412265084e-04f, -2.701016411e-04f, -2.989741850e-04f, -3.278440904e-04f, -3.567113076e-04f, -3.855757870e-04f, -4.144374790e-04f, -4.432963340e-04f,
+-4.721523024e-04f, -5.010053346e-04f, -5.298553810e-04f, -5.587023920e-04f, -5.875463180e-04f, -6.163871096e-04f, -6.452247171e-04f, -6.740590909e-04f, -7.028901817e-04f, -7.317179398e-04f,
+-7.605423157e-04f, -7.893632600e-04f, -8.181807231e-04f, -8.469946555e-04f, -8.758050078e-04f, -9.046117305e-04f, -9.334147742e-04f, -9.622140894e-04f, -9.910096266e-04f, -1.019801336e-03f,
+-1.048589170e-03f, -1.077373077e-03f, -1.106153008e-03f, -1.134928914e-03f, -1.163700746e-03f, -1.192468455e-03f, -1.221231990e-03f, -1.249991303e-03f, -1.278746344e-03f, -1.307497065e-03f,
+-1.336243414e-03f, -1.364985345e-03f, -1.393722806e-03f, -1.422455749e-03f, -1.451184125e-03f, -1.479907884e-03f, -1.508626976e-03f, -1.537341354e-03f, -1.566050968e-03f, -1.594755767e-03f,
+-1.623455704e-03f, -1.652150729e-03f, -1.680840793e-03f, -1.709525847e-03f, -1.738205841e-03f, -1.766880726e-03f, -1.795550454e-03f, -1.824214975e-03f, -1.852874240e-03f, -1.881528200e-03f,
+-1.910176806e-03f, -1.938820009e-03f, -1.967457760e-03f, -1.996090009e-03f, -2.024716709e-03f, -2.053337809e-03f, -2.081953261e-03f, -2.110563015e-03f, -2.139167024e-03f, -2.167765238e-03f,
+-2.196357607e-03f, -2.224944084e-03f, -2.253524618e-03f, -2.282099162e-03f, -2.310667666e-03f, -2.339230082e-03f, -2.367786360e-03f, -2.396336453e-03f, -2.424880310e-03f, -2.453417883e-03f,
+-2.481949124e-03f, -2.510473983e-03f, -2.538992412e-03f, -2.567504362e-03f, -2.596009784e-03f, -2.624508630e-03f, -2.653000851e-03f, -2.681486398e-03f, -2.709965223e-03f, -2.738437276e-03f,
+-2.766902510e-03f, -2.795360875e-03f, -2.823812323e-03f, -2.852256806e-03f, -2.880694274e-03f, -2.909124680e-03f, -2.937547974e-03f, -2.965964108e-03f, -2.994373034e-03f, -3.022774702e-03f,
+-3.051169066e-03f, -3.079556075e-03f, -3.107935682e-03f, -3.136307839e-03f, -3.164672496e-03f, -3.193029605e-03f, -3.221379119e-03f, -3.249720988e-03f, -3.278055164e-03f, -3.306381599e-03f,
+-3.334700245e-03f, -3.363011053e-03f, -3.391313975e-03f, -3.419608962e-03f, -3.447895967e-03f, -3.476174942e-03f, -3.504445837e-03f, -3.532708605e-03f, -3.560963197e-03f, -3.589209566e-03f,
+-3.617447663e-03f, -3.645677441e-03f, -3.673898850e-03f, -3.702111843e-03f, -3.730316372e-03f, -3.758512389e-03f, -3.786699845e-03f, -3.814878694e-03f, -3.843048885e-03f, -3.871210373e-03f,
+-3.899363108e-03f, -3.927507043e-03f, -3.955642130e-03f, -3.983768321e-03f, -4.011885567e-03f, -4.039993822e-03f, -4.068093037e-03f, -4.096183165e-03f, -4.124264157e-03f, -4.152335966e-03f,
+-4.180398544e-03f, -4.208451843e-03f, -4.236495816e-03f, -4.264530415e-03f, -4.292555592e-03f, -4.320571299e-03f, -4.348577489e-03f, -4.376574114e-03f, -4.404561126e-03f, -4.432538479e-03f,
+-4.460506124e-03f, -4.488464013e-03f, -4.516412100e-03f, -4.544350336e-03f, -4.572278675e-03f, -4.600197068e-03f, -4.628105468e-03f, -4.656003829e-03f, -4.683892101e-03f, -4.711770239e-03f,
+-4.739638194e-03f, -4.767495919e-03f, -4.795343368e-03f, -4.823180491e-03f, -4.851007244e-03f, -4.878823577e-03f, -4.906629444e-03f, -4.934424797e-03f, -4.962209590e-03f, -4.989983775e-03f,
+-5.017747305e-03f, -5.045500133e-03f, -5.073242211e-03f, -5.100973493e-03f, -5.128693932e-03f, -5.156403480e-03f, -5.184102091e-03f, -5.211789717e-03f, -5.239466311e-03f, -5.267131827e-03f,
+-5.294786218e-03f, -5.322429436e-03f, -5.350061435e-03f, -5.377682168e-03f, -5.405291588e-03f, -5.432889648e-03f, -5.460476301e-03f, -5.488051501e-03f, -5.515615201e-03f, -5.543167354e-03f,
+-5.570707913e-03f, -5.598236832e-03f, -5.625754064e-03f, -5.653259563e-03f, -5.680753281e-03f, -5.708235172e-03f, -5.735705190e-03f, -5.763163288e-03f, -5.790609420e-03f, -5.818043538e-03f,
+-5.845465597e-03f, -5.872875551e-03f, -5.900273352e-03f, -5.927658954e-03f, -5.955032311e-03f, -5.982393377e-03f, -6.009742105e-03f, -6.037078448e-03f, -6.064402362e-03f, -6.091713799e-03f,
+-6.119012713e-03f, -6.146299058e-03f, -6.173572787e-03f, -6.200833856e-03f, -6.228082217e-03f, -6.255317824e-03f, -6.282540631e-03f, -6.309750593e-03f, -6.336947663e-03f, -6.364131795e-03f,
+-6.391302944e-03f, -6.418461063e-03f, -6.445606106e-03f, -6.472738027e-03f, -6.499856782e-03f, -6.526962322e-03f, -6.554054604e-03f, -6.581133581e-03f, -6.608199208e-03f, -6.635251438e-03f,
+-6.662290226e-03f, -6.689315526e-03f, -6.716327293e-03f, -6.743325480e-03f, -6.770310043e-03f, -6.797280936e-03f, -6.824238113e-03f, -6.851181528e-03f, -6.878111137e-03f, -6.905026893e-03f,
+-6.931928752e-03f, -6.958816667e-03f, -6.985690594e-03f, -7.012550487e-03f, -7.039396300e-03f, -7.066227989e-03f, -7.093045508e-03f, -7.119848812e-03f, -7.146637856e-03f, -7.173412594e-03f,
+-7.200172981e-03f, -7.226918972e-03f, -7.253650523e-03f, -7.280367587e-03f, -7.307070120e-03f, -7.333758077e-03f, -7.360431413e-03f, -7.387090083e-03f, -7.413734042e-03f, -7.440363245e-03f,
+-7.466977646e-03f, -7.493577202e-03f, -7.520161868e-03f, -7.546731598e-03f, -7.573286348e-03f, -7.599826073e-03f, -7.626350729e-03f, -7.652860270e-03f, -7.679354653e-03f, -7.705833831e-03f,
+-7.732297762e-03f, -7.758746400e-03f, -7.785179701e-03f, -7.811597620e-03f, -7.838000112e-03f, -7.864387134e-03f, -7.890758641e-03f, -7.917114589e-03f, -7.943454932e-03f, -7.969779627e-03f,
+-7.996088630e-03f, -8.022381897e-03f, -8.048659382e-03f, -8.074921042e-03f, -8.101166833e-03f, -8.127396710e-03f, -8.153610629e-03f, -8.179808547e-03f, -8.205990420e-03f, -8.232156202e-03f,
+-8.258305851e-03f, -8.284439322e-03f, -8.310556571e-03f, -8.336657555e-03f, -8.362742229e-03f, -8.388810550e-03f, -8.414862474e-03f, -8.440897957e-03f, -8.466916956e-03f, -8.492919427e-03f,
+-8.518905325e-03f, -8.544874608e-03f, -8.570827232e-03f, -8.596763153e-03f, -8.622682327e-03f, -8.648584712e-03f, -8.674470263e-03f, -8.700338938e-03f, -8.726190693e-03f, -8.752025483e-03f,
+-8.777843267e-03f, -8.803644001e-03f, -8.829427641e-03f, -8.855194144e-03f, -8.880943468e-03f, -8.906675568e-03f, -8.932390401e-03f, -8.958087925e-03f, -8.983768097e-03f, -9.009430872e-03f,
+-9.035076209e-03f, -9.060704065e-03f, -9.086314395e-03f, -9.111907158e-03f, -9.137482311e-03f, -9.163039810e-03f, -9.188579613e-03f, -9.214101677e-03f, -9.239605960e-03f, -9.265092418e-03f,
+-9.290561009e-03f, -9.316011690e-03f, -9.341444418e-03f, -9.366859152e-03f, -9.392255847e-03f, -9.417634463e-03f, -9.442994957e-03f, -9.468337285e-03f, -9.493661405e-03f, -9.518967276e-03f,
+-9.544254855e-03f, -9.569524099e-03f, -9.594774967e-03f, -9.620007415e-03f, -9.645221402e-03f, -9.670416886e-03f, -9.695593824e-03f, -9.720752174e-03f, -9.745891895e-03f, -9.771012944e-03f,
+-9.796115279e-03f, -9.821198858e-03f, -9.846263640e-03f, -9.871309582e-03f, -9.896336643e-03f, -9.921344780e-03f, -9.946333953e-03f, -9.971304118e-03f, -9.996255235e-03f, -1.002118726e-02f,
+-1.004610016e-02f, -1.007099388e-02f, -1.009586839e-02f, -1.012072364e-02f, -1.014555959e-02f, -1.017037620e-02f, -1.019517343e-02f, -1.021995124e-02f, -1.024470959e-02f, -1.026944843e-02f,
+-1.029416772e-02f, -1.031886743e-02f, -1.034354751e-02f, -1.036820791e-02f, -1.039284861e-02f, -1.041746956e-02f, -1.044207071e-02f, -1.046665203e-02f, -1.049121347e-02f, -1.051575499e-02f,
+-1.054027656e-02f, -1.056477813e-02f, -1.058925967e-02f, -1.061372112e-02f, -1.063816245e-02f, -1.066258362e-02f, -1.068698459e-02f, -1.071136532e-02f, -1.073572576e-02f, -1.076006588e-02f,
+-1.078438564e-02f, -1.080868499e-02f, -1.083296390e-02f, -1.085722232e-02f, -1.088146022e-02f, -1.090567755e-02f, -1.092987427e-02f, -1.095405035e-02f, -1.097820573e-02f, -1.100234040e-02f,
+-1.102645429e-02f, -1.105054738e-02f, -1.107461962e-02f, -1.109867097e-02f, -1.112270139e-02f, -1.114671085e-02f, -1.117069930e-02f, -1.119466670e-02f, -1.121861302e-02f, -1.124253821e-02f,
+-1.126644223e-02f, -1.129032504e-02f, -1.131418661e-02f, -1.133802690e-02f, -1.136184585e-02f, -1.138564345e-02f, -1.140941963e-02f, -1.143317438e-02f, -1.145690764e-02f, -1.148061938e-02f,
+-1.150430956e-02f, -1.152797813e-02f, -1.155162506e-02f, -1.157525032e-02f, -1.159885385e-02f, -1.162243563e-02f, -1.164599561e-02f, -1.166953375e-02f, -1.169305002e-02f, -1.171654437e-02f,
+-1.174001677e-02f, -1.176346718e-02f, -1.178689555e-02f, -1.181030186e-02f, -1.183368605e-02f, -1.185704810e-02f, -1.188038797e-02f, -1.190370560e-02f, -1.192700097e-02f, -1.195027405e-02f,
+-1.197352478e-02f, -1.199675313e-02f, -1.201995906e-02f, -1.204314253e-02f, -1.206630352e-02f, -1.208944197e-02f, -1.211255784e-02f, -1.213565111e-02f, -1.215872173e-02f, -1.218176966e-02f,
+-1.220479487e-02f, -1.222779732e-02f, -1.225077697e-02f, -1.227373378e-02f, -1.229666771e-02f, -1.231957873e-02f, -1.234246680e-02f, -1.236533187e-02f, -1.238817392e-02f, -1.241099291e-02f,
+-1.243378879e-02f, -1.245656153e-02f, -1.247931109e-02f, -1.250203743e-02f, -1.252474053e-02f, -1.254742033e-02f, -1.257007680e-02f, -1.259270990e-02f, -1.261531961e-02f, -1.263790587e-02f,
+-1.266046866e-02f, -1.268300792e-02f, -1.270552364e-02f, -1.272801577e-02f, -1.275048427e-02f, -1.277292911e-02f, -1.279535025e-02f, -1.281774764e-02f, -1.284012127e-02f, -1.286247108e-02f,
+-1.288479705e-02f, -1.290709913e-02f, -1.292937728e-02f, -1.295163148e-02f, -1.297386169e-02f, -1.299606786e-02f, -1.301824996e-02f, -1.304040796e-02f, -1.306254182e-02f, -1.308465150e-02f,
+-1.310673696e-02f, -1.312879817e-02f, -1.315083510e-02f, -1.317284770e-02f, -1.319483595e-02f, -1.321679980e-02f, -1.323873921e-02f, -1.326065416e-02f, -1.328254460e-02f, -1.330441051e-02f,
+-1.332625183e-02f, -1.334806855e-02f, -1.336986062e-02f, -1.339162800e-02f, -1.341337067e-02f, -1.343508858e-02f, -1.345678170e-02f, -1.347844999e-02f, -1.350009342e-02f, -1.352171195e-02f,
+-1.354330555e-02f, -1.356487418e-02f, -1.358641781e-02f, -1.360793640e-02f, -1.362942991e-02f, -1.365089831e-02f, -1.367234157e-02f, -1.369375965e-02f, -1.371515251e-02f, -1.373652012e-02f,
+-1.375786245e-02f, -1.377917945e-02f, -1.380047110e-02f, -1.382173736e-02f, -1.384297819e-02f, -1.386419356e-02f, -1.388538344e-02f, -1.390654779e-02f, -1.392768657e-02f, -1.394879975e-02f,
+-1.396988731e-02f, -1.399094919e-02f, -1.401198537e-02f, -1.403299581e-02f, -1.405398048e-02f, -1.407493934e-02f, -1.409587237e-02f, -1.411677952e-02f, -1.413766076e-02f, -1.415851606e-02f,
+-1.417934538e-02f, -1.420014869e-02f, -1.422092596e-02f, -1.424167715e-02f, -1.426240222e-02f, -1.428310115e-02f, -1.430377389e-02f, -1.432442042e-02f, -1.434504071e-02f, -1.436563471e-02f,
+-1.438620240e-02f, -1.440674373e-02f, -1.442725869e-02f, -1.444774723e-02f, -1.446820931e-02f, -1.448864492e-02f, -1.450905401e-02f, -1.452943655e-02f, -1.454979251e-02f, -1.457012185e-02f,
+-1.459042454e-02f, -1.461070055e-02f, -1.463094984e-02f, -1.465117239e-02f, -1.467136815e-02f, -1.469153710e-02f, -1.471167920e-02f, -1.473179442e-02f, -1.475188273e-02f, -1.477194410e-02f,
+-1.479197848e-02f, -1.481198585e-02f, -1.483196619e-02f, -1.485191944e-02f, -1.487184559e-02f, -1.489174459e-02f, -1.491161643e-02f, -1.493146105e-02f, -1.495127844e-02f, -1.497106856e-02f,
+-1.499083138e-02f, -1.501056686e-02f, -1.503027498e-02f, -1.504995569e-02f, -1.506960898e-02f, -1.508923480e-02f, -1.510883313e-02f, -1.512840394e-02f, -1.514794718e-02f, -1.516746284e-02f,
+-1.518695088e-02f, -1.520641126e-02f, -1.522584395e-02f, -1.524524893e-02f, -1.526462617e-02f, -1.528397562e-02f, -1.530329727e-02f, -1.532259107e-02f, -1.534185700e-02f, -1.536109502e-02f,
+-1.538030511e-02f, -1.539948723e-02f, -1.541864136e-02f, -1.543776745e-02f, -1.545686549e-02f, -1.547593544e-02f, -1.549497726e-02f, -1.551399093e-02f, -1.553297642e-02f, -1.555193369e-02f,
+-1.557086272e-02f, -1.558976348e-02f, -1.560863593e-02f, -1.562748004e-02f, -1.564629579e-02f, -1.566508314e-02f, -1.568384206e-02f, -1.570257252e-02f, -1.572127450e-02f, -1.573994795e-02f,
+-1.575859286e-02f, -1.577720919e-02f, -1.579579691e-02f, -1.581435599e-02f, -1.583288641e-02f, -1.585138812e-02f, -1.586986111e-02f, -1.588830533e-02f, -1.590672077e-02f, -1.592510740e-02f,
+-1.594346517e-02f, -1.596179407e-02f, -1.598009406e-02f, -1.599836511e-02f, -1.601660720e-02f, -1.603482030e-02f, -1.605300437e-02f, -1.607115939e-02f, -1.608928532e-02f, -1.610738214e-02f,
+-1.612544982e-02f, -1.614348834e-02f, -1.616149765e-02f, -1.617947773e-02f, -1.619742856e-02f, -1.621535010e-02f, -1.623324232e-02f, -1.625110521e-02f, -1.626893872e-02f, -1.628674283e-02f,
+-1.630451751e-02f, -1.632226273e-02f, -1.633997847e-02f, -1.635766469e-02f, -1.637532136e-02f, -1.639294847e-02f, -1.641054597e-02f, -1.642811385e-02f, -1.644565207e-02f, -1.646316061e-02f,
+-1.648063943e-02f, -1.649808852e-02f, -1.651550783e-02f, -1.653289735e-02f, -1.655025704e-02f, -1.656758689e-02f, -1.658488685e-02f, -1.660215690e-02f, -1.661939702e-02f, -1.663660718e-02f,
+-1.665378734e-02f, -1.667093749e-02f, -1.668805759e-02f, -1.670514762e-02f, -1.672220755e-02f, -1.673923735e-02f, -1.675623700e-02f, -1.677320647e-02f, -1.679014572e-02f, -1.680705475e-02f,
+-1.682393350e-02f, -1.684078197e-02f, -1.685760013e-02f, -1.687438793e-02f, -1.689114537e-02f, -1.690787241e-02f, -1.692456903e-02f, -1.694123520e-02f, -1.695787089e-02f, -1.697447608e-02f,
+-1.699105073e-02f, -1.700759483e-02f, -1.702410835e-02f, -1.704059126e-02f, -1.705704354e-02f, -1.707346515e-02f, -1.708985607e-02f, -1.710621629e-02f, -1.712254576e-02f, -1.713884447e-02f,
+-1.715511238e-02f, -1.717134948e-02f, -1.718755573e-02f, -1.720373112e-02f, -1.721987561e-02f, -1.723598918e-02f, -1.725207181e-02f, -1.726812346e-02f, -1.728414412e-02f, -1.730013376e-02f,
+-1.731609235e-02f, -1.733201986e-02f, -1.734791628e-02f, -1.736378157e-02f, -1.737961572e-02f, -1.739541869e-02f, -1.741119046e-02f, -1.742693101e-02f, -1.744264032e-02f, -1.745831834e-02f,
+-1.747396507e-02f, -1.748958048e-02f, -1.750516454e-02f, -1.752071723e-02f, -1.753623852e-02f, -1.755172839e-02f, -1.756718682e-02f, -1.758261377e-02f, -1.759800923e-02f, -1.761337317e-02f,
+-1.762870557e-02f, -1.764400640e-02f, -1.765927564e-02f, -1.767451327e-02f, -1.768971925e-02f, -1.770489358e-02f, -1.772003621e-02f, -1.773514713e-02f, -1.775022632e-02f, -1.776527375e-02f,
+-1.778028940e-02f, -1.779527324e-02f, -1.781022525e-02f, -1.782514541e-02f, -1.784003369e-02f, -1.785489008e-02f, -1.786971454e-02f, -1.788450705e-02f, -1.789926759e-02f, -1.791399614e-02f,
+-1.792869268e-02f, -1.794335717e-02f, -1.795798960e-02f, -1.797258995e-02f, -1.798715819e-02f, -1.800169430e-02f, -1.801619826e-02f, -1.803067004e-02f, -1.804510962e-02f, -1.805951698e-02f,
+-1.807389209e-02f, -1.808823494e-02f, -1.810254550e-02f, -1.811682375e-02f, -1.813106966e-02f, -1.814528322e-02f, -1.815946440e-02f, -1.817361319e-02f, -1.818772954e-02f, -1.820181346e-02f,
+-1.821586491e-02f, -1.822988387e-02f, -1.824387031e-02f, -1.825782423e-02f, -1.827174560e-02f, -1.828563438e-02f, -1.829949058e-02f, -1.831331415e-02f, -1.832710508e-02f, -1.834086336e-02f,
+-1.835458894e-02f, -1.836828183e-02f, -1.838194199e-02f, -1.839556940e-02f, -1.840916405e-02f, -1.842272590e-02f, -1.843625495e-02f, -1.844975116e-02f, -1.846321453e-02f, -1.847664502e-02f,
+-1.849004261e-02f, -1.850340730e-02f, -1.851673904e-02f, -1.853003784e-02f, -1.854330365e-02f, -1.855653647e-02f, -1.856973627e-02f, -1.858290304e-02f, -1.859603674e-02f, -1.860913737e-02f,
+-1.862220490e-02f, -1.863523931e-02f, -1.864824058e-02f, -1.866120870e-02f, -1.867414363e-02f, -1.868704537e-02f, -1.869991389e-02f, -1.871274916e-02f, -1.872555118e-02f, -1.873831993e-02f,
+-1.875105537e-02f, -1.876375750e-02f, -1.877642629e-02f, -1.878906173e-02f, -1.880166379e-02f, -1.881423245e-02f, -1.882676770e-02f, -1.883926952e-02f, -1.885173789e-02f, -1.886417278e-02f,
+-1.887657418e-02f, -1.888894207e-02f, -1.890127644e-02f, -1.891357726e-02f, -1.892584451e-02f, -1.893807817e-02f, -1.895027823e-02f, -1.896244467e-02f, -1.897457747e-02f, -1.898667661e-02f,
+-1.899874207e-02f, -1.901077383e-02f, -1.902277188e-02f, -1.903473620e-02f, -1.904666677e-02f, -1.905856356e-02f, -1.907042657e-02f, -1.908225578e-02f, -1.909405115e-02f, -1.910581269e-02f,
+-1.911754037e-02f, -1.912923417e-02f, -1.914089408e-02f, -1.915252008e-02f, -1.916411214e-02f, -1.917567026e-02f, -1.918719441e-02f, -1.919868458e-02f, -1.921014075e-02f, -1.922156290e-02f,
+-1.923295101e-02f, -1.924430508e-02f, -1.925562508e-02f, -1.926691099e-02f, -1.927816279e-02f, -1.928938048e-02f, -1.930056403e-02f, -1.931171343e-02f, -1.932282865e-02f, -1.933390969e-02f,
+-1.934495652e-02f, -1.935596914e-02f, -1.936694751e-02f, -1.937789164e-02f, -1.938880149e-02f, -1.939967705e-02f, -1.941051832e-02f, -1.942132526e-02f, -1.943209787e-02f, -1.944283613e-02f,
+-1.945354002e-02f, -1.946420953e-02f, -1.947484464e-02f, -1.948544533e-02f, -1.949601159e-02f, -1.950654341e-02f, -1.951704076e-02f, -1.952750363e-02f, -1.953793202e-02f, -1.954832589e-02f,
+-1.955868524e-02f, -1.956901004e-02f, -1.957930029e-02f, -1.958955598e-02f, -1.959977707e-02f, -1.960996357e-02f, -1.962011544e-02f, -1.963023269e-02f, -1.964031529e-02f, -1.965036323e-02f,
+-1.966037650e-02f, -1.967035507e-02f, -1.968029894e-02f, -1.969020809e-02f, -1.970008250e-02f, -1.970992216e-02f, -1.971972707e-02f, -1.972949719e-02f, -1.973923252e-02f, -1.974893304e-02f,
+-1.975859874e-02f, -1.976822961e-02f, -1.977782563e-02f, -1.978738678e-02f, -1.979691306e-02f, -1.980640445e-02f, -1.981586093e-02f, -1.982528249e-02f, -1.983466912e-02f, -1.984402080e-02f,
+-1.985333752e-02f, -1.986261927e-02f, -1.987186603e-02f, -1.988107779e-02f, -1.989025454e-02f, -1.989939626e-02f, -1.990850294e-02f, -1.991757456e-02f, -1.992661112e-02f, -1.993561260e-02f,
+-1.994457899e-02f, -1.995351027e-02f, -1.996240643e-02f, -1.997126746e-02f, -1.998009334e-02f, -1.998888407e-02f, -1.999763963e-02f, -2.000636001e-02f, -2.001504519e-02f, -2.002369516e-02f,
+-2.003230991e-02f, -2.004088944e-02f, -2.004943371e-02f, -2.005794273e-02f, -2.006641649e-02f, -2.007485496e-02f, -2.008325814e-02f, -2.009162601e-02f, -2.009995857e-02f, -2.010825580e-02f,
+-2.011651768e-02f, -2.012474422e-02f, -2.013293539e-02f, -2.014109119e-02f, -2.014921160e-02f, -2.015729661e-02f, -2.016534621e-02f, -2.017336039e-02f, -2.018133914e-02f, -2.018928245e-02f,
+-2.019719030e-02f, -2.020506268e-02f, -2.021289959e-02f, -2.022070101e-02f, -2.022846693e-02f, -2.023619734e-02f, -2.024389223e-02f, -2.025155159e-02f, -2.025917541e-02f, -2.026676368e-02f,
+-2.027431638e-02f, -2.028183351e-02f, -2.028931505e-02f, -2.029676100e-02f, -2.030417135e-02f, -2.031154608e-02f, -2.031888519e-02f, -2.032618866e-02f, -2.033345648e-02f, -2.034068865e-02f,
+-2.034788516e-02f, -2.035504599e-02f, -2.036217114e-02f, -2.036926059e-02f, -2.037631434e-02f, -2.038333237e-02f, -2.039031468e-02f, -2.039726126e-02f, -2.040417210e-02f, -2.041104718e-02f,
+-2.041788651e-02f, -2.042469006e-02f, -2.043145784e-02f, -2.043818982e-02f, -2.044488601e-02f, -2.045154639e-02f, -2.045817096e-02f, -2.046475970e-02f, -2.047131261e-02f, -2.047782968e-02f,
+-2.048431090e-02f, -2.049075626e-02f, -2.049716575e-02f, -2.050353936e-02f, -2.050987710e-02f, -2.051617893e-02f, -2.052244487e-02f, -2.052867490e-02f, -2.053486901e-02f, -2.054102719e-02f,
+-2.054714944e-02f, -2.055323575e-02f, -2.055928611e-02f, -2.056530051e-02f, -2.057127895e-02f, -2.057722141e-02f, -2.058312790e-02f, -2.058899839e-02f, -2.059483289e-02f, -2.060063138e-02f,
+-2.060639387e-02f, -2.061212034e-02f, -2.061781078e-02f, -2.062346518e-02f, -2.062908355e-02f, -2.063466587e-02f, -2.064021214e-02f, -2.064572235e-02f, -2.065119649e-02f, -2.065663455e-02f,
+-2.066203653e-02f, -2.066740243e-02f, -2.067273222e-02f, -2.067802592e-02f, -2.068328351e-02f, -2.068850499e-02f, -2.069369034e-02f, -2.069883956e-02f, -2.070395266e-02f, -2.070902961e-02f,
+-2.071407042e-02f, -2.071907507e-02f, -2.072404356e-02f, -2.072897590e-02f, -2.073387206e-02f, -2.073873204e-02f, -2.074355585e-02f, -2.074834346e-02f, -2.075309488e-02f, -2.075781011e-02f,
+-2.076248913e-02f, -2.076713194e-02f, -2.077173853e-02f, -2.077630891e-02f, -2.078084305e-02f, -2.078534097e-02f, -2.078980265e-02f, -2.079422809e-02f, -2.079861728e-02f, -2.080297022e-02f,
+-2.080728691e-02f, -2.081156733e-02f, -2.081581149e-02f, -2.082001937e-02f, -2.082419099e-02f, -2.082832632e-02f, -2.083242536e-02f, -2.083648812e-02f, -2.084051459e-02f, -2.084450475e-02f,
+-2.084845862e-02f, -2.085237618e-02f, -2.085625742e-02f, -2.086010236e-02f, -2.086391097e-02f, -2.086768327e-02f, -2.087141923e-02f, -2.087511887e-02f, -2.087878217e-02f, -2.088240913e-02f,
+-2.088599976e-02f, -2.088955403e-02f, -2.089307196e-02f, -2.089655354e-02f, -2.089999876e-02f, -2.090340762e-02f, -2.090678012e-02f, -2.091011626e-02f, -2.091341603e-02f, -2.091667942e-02f,
+-2.091990644e-02f, -2.092309709e-02f, -2.092625135e-02f, -2.092936923e-02f, -2.093245072e-02f, -2.093549583e-02f, -2.093850454e-02f, -2.094147686e-02f, -2.094441279e-02f, -2.094731231e-02f,
+-2.095017543e-02f, -2.095300215e-02f, -2.095579247e-02f, -2.095854637e-02f, -2.096126387e-02f, -2.096394495e-02f, -2.096658962e-02f, -2.096919787e-02f, -2.097176971e-02f, -2.097430512e-02f,
+-2.097680411e-02f, -2.097926668e-02f, -2.098169282e-02f, -2.098408254e-02f, -2.098643583e-02f, -2.098875269e-02f, -2.099103311e-02f, -2.099327711e-02f, -2.099548467e-02f, -2.099765579e-02f,
+-2.099979048e-02f, -2.100188874e-02f, -2.100395055e-02f, -2.100597593e-02f, -2.100796486e-02f, -2.100991736e-02f, -2.101183341e-02f, -2.101371302e-02f, -2.101555619e-02f, -2.101736292e-02f,
+-2.101913320e-02f, -2.102086703e-02f, -2.102256442e-02f, -2.102422537e-02f, -2.102584987e-02f, -2.102743793e-02f, -2.102898954e-02f, -2.103050470e-02f, -2.103198342e-02f, -2.103342569e-02f,
+-2.103483152e-02f, -2.103620090e-02f, -2.103753383e-02f, -2.103883032e-02f, -2.104009037e-02f, -2.104131397e-02f, -2.104250113e-02f, -2.104365185e-02f, -2.104476612e-02f, -2.104584395e-02f,
+-2.104688534e-02f, -2.104789029e-02f, -2.104885881e-02f, -2.104979088e-02f, -2.105068651e-02f, -2.105154571e-02f, -2.105236848e-02f, -2.105315481e-02f, -2.105390470e-02f, -2.105461817e-02f,
+-2.105529521e-02f, -2.105593581e-02f, -2.105653999e-02f, -2.105710775e-02f, -2.105763908e-02f, -2.105813399e-02f, -2.105859248e-02f, -2.105901454e-02f, -2.105940020e-02f, -2.105974943e-02f,
+-2.106006226e-02f, -2.106033867e-02f, -2.106057868e-02f, -2.106078228e-02f, -2.106094947e-02f, -2.106108026e-02f, -2.106117466e-02f, -2.106123265e-02f, -2.106125426e-02f, -2.106123947e-02f,
+-2.106118829e-02f, -2.106110072e-02f, -2.106097677e-02f, -2.106081644e-02f, -2.106061973e-02f, -2.106038664e-02f, -2.106011718e-02f, -2.105981136e-02f, -2.105946916e-02f, -2.105909061e-02f,
+-2.105867569e-02f, -2.105822442e-02f, -2.105773680e-02f, -2.105721282e-02f, -2.105665250e-02f, -2.105605584e-02f, -2.105542284e-02f, -2.105475350e-02f, -2.105404783e-02f, -2.105330584e-02f,
+-2.105252752e-02f, -2.105171288e-02f, -2.105086192e-02f, -2.104997466e-02f, -2.104905108e-02f, -2.104809121e-02f, -2.104709503e-02f, -2.104606256e-02f, -2.104499379e-02f, -2.104388875e-02f,
+-2.104274742e-02f, -2.104156981e-02f, -2.104035593e-02f, -2.103910579e-02f, -2.103781938e-02f, -2.103649671e-02f, -2.103513779e-02f, -2.103374262e-02f, -2.103231121e-02f, -2.103084356e-02f,
+-2.102933968e-02f, -2.102779956e-02f, -2.102622323e-02f, -2.102461068e-02f, -2.102296192e-02f, -2.102127695e-02f, -2.101955578e-02f, -2.101779841e-02f, -2.101600485e-02f, -2.101417511e-02f,
+-2.101230920e-02f, -2.101040711e-02f, -2.100846885e-02f, -2.100649443e-02f, -2.100448386e-02f, -2.100243713e-02f, -2.100035427e-02f, -2.099823527e-02f, -2.099608014e-02f, -2.099388888e-02f,
+-2.099166151e-02f, -2.098939802e-02f, -2.098709843e-02f, -2.098476275e-02f, -2.098239097e-02f, -2.097998310e-02f, -2.097753916e-02f, -2.097505915e-02f, -2.097254307e-02f, -2.096999094e-02f,
+-2.096740275e-02f, -2.096477852e-02f, -2.096211826e-02f, -2.095942196e-02f, -2.095668965e-02f, -2.095392132e-02f, -2.095111698e-02f, -2.094827664e-02f, -2.094540031e-02f, -2.094248799e-02f,
+-2.093953970e-02f, -2.093655543e-02f, -2.093353521e-02f, -2.093047903e-02f, -2.092738690e-02f, -2.092425884e-02f, -2.092109484e-02f, -2.091789493e-02f, -2.091465910e-02f, -2.091138736e-02f,
+-2.090807972e-02f, -2.090473620e-02f, -2.090135679e-02f, -2.089794151e-02f, -2.089449036e-02f, -2.089100336e-02f, -2.088748051e-02f, -2.088392183e-02f, -2.088032731e-02f, -2.087669697e-02f,
+-2.087303082e-02f, -2.086932887e-02f, -2.086559112e-02f, -2.086181758e-02f, -2.085800827e-02f, -2.085416319e-02f, -2.085028235e-02f, -2.084636576e-02f, -2.084241344e-02f, -2.083842538e-02f,
+-2.083440160e-02f, -2.083034211e-02f, -2.082624692e-02f, -2.082211604e-02f, -2.081794947e-02f, -2.081374723e-02f, -2.080950933e-02f, -2.080523577e-02f, -2.080092658e-02f, -2.079658174e-02f,
+-2.079220129e-02f, -2.078778522e-02f, -2.078333355e-02f, -2.077884628e-02f, -2.077432344e-02f, -2.076976502e-02f, -2.076517104e-02f, -2.076054150e-02f, -2.075587643e-02f, -2.075117583e-02f,
+-2.074643970e-02f, -2.074166807e-02f, -2.073686094e-02f, -2.073201833e-02f, -2.072714023e-02f, -2.072222667e-02f, -2.071727766e-02f, -2.071229320e-02f, -2.070727332e-02f, -2.070221801e-02f,
+-2.069712729e-02f, -2.069200117e-02f, -2.068683966e-02f, -2.068164278e-02f, -2.067641054e-02f, -2.067114294e-02f, -2.066584001e-02f, -2.066050174e-02f, -2.065512815e-02f, -2.064971926e-02f,
+-2.064427508e-02f, -2.063879561e-02f, -2.063328087e-02f, -2.062773088e-02f, -2.062214564e-02f, -2.061652517e-02f, -2.061086947e-02f, -2.060517857e-02f, -2.059945246e-02f, -2.059369118e-02f,
+-2.058789472e-02f, -2.058206310e-02f, -2.057619634e-02f, -2.057029444e-02f, -2.056435742e-02f, -2.055838529e-02f, -2.055237806e-02f, -2.054633575e-02f, -2.054025837e-02f, -2.053414593e-02f,
+-2.052799845e-02f, -2.052181594e-02f, -2.051559841e-02f, -2.050934587e-02f, -2.050305835e-02f, -2.049673584e-02f, -2.049037837e-02f, -2.048398595e-02f, -2.047755859e-02f, -2.047109631e-02f,
+-2.046459912e-02f, -2.045806703e-02f, -2.045150006e-02f, -2.044489821e-02f, -2.043826152e-02f, -2.043158998e-02f, -2.042488361e-02f, -2.041814243e-02f, -2.041136645e-02f, -2.040455569e-02f,
+-2.039771015e-02f, -2.039082986e-02f, -2.038391483e-02f, -2.037696507e-02f, -2.036998059e-02f, -2.036296142e-02f, -2.035590756e-02f, -2.034881904e-02f, -2.034169585e-02f, -2.033453803e-02f,
+-2.032734558e-02f, -2.032011853e-02f, -2.031285687e-02f, -2.030556064e-02f, -2.029822984e-02f, -2.029086449e-02f, -2.028346461e-02f, -2.027603020e-02f, -2.026856129e-02f, -2.026105790e-02f,
+-2.025352003e-02f, -2.024594770e-02f, -2.023834092e-02f, -2.023069972e-02f, -2.022302411e-02f, -2.021531410e-02f, -2.020756972e-02f, -2.019979096e-02f, -2.019197786e-02f, -2.018413043e-02f,
+-2.017624868e-02f, -2.016833263e-02f, -2.016038230e-02f, -2.015239769e-02f, -2.014437884e-02f, -2.013632575e-02f, -2.012823844e-02f, -2.012011693e-02f, -2.011196123e-02f, -2.010377136e-02f,
+-2.009554734e-02f, -2.008728918e-02f, -2.007899690e-02f, -2.007067051e-02f, -2.006231004e-02f, -2.005391551e-02f, -2.004548691e-02f, -2.003702429e-02f, -2.002852764e-02f, -2.001999699e-02f,
+-2.001143236e-02f, -2.000283376e-02f, -1.999420121e-02f, -1.998553472e-02f, -1.997683432e-02f, -1.996810003e-02f, -1.995933185e-02f, -1.995052981e-02f, -1.994169392e-02f, -1.993282421e-02f,
+-1.992392069e-02f, -1.991498337e-02f, -1.990601228e-02f, -1.989700744e-02f, -1.988796885e-02f, -1.987889654e-02f, -1.986979054e-02f, -1.986065084e-02f, -1.985147749e-02f, -1.984227048e-02f,
+-1.983302984e-02f, -1.982375559e-02f, -1.981444775e-02f, -1.980510634e-02f, -1.979573137e-02f, -1.978632286e-02f, -1.977688083e-02f, -1.976740530e-02f, -1.975789630e-02f, -1.974835382e-02f,
+-1.973877791e-02f, -1.972916857e-02f, -1.971952582e-02f, -1.970984969e-02f, -1.970014019e-02f, -1.969039734e-02f, -1.968062116e-02f, -1.967081168e-02f, -1.966096890e-02f, -1.965109285e-02f,
+-1.964118354e-02f, -1.963124101e-02f, -1.962126526e-02f, -1.961125632e-02f, -1.960121420e-02f, -1.959113893e-02f, -1.958103052e-02f, -1.957088900e-02f, -1.956071439e-02f, -1.955050670e-02f,
+-1.954026596e-02f, -1.952999218e-02f, -1.951968538e-02f, -1.950934559e-02f, -1.949897283e-02f, -1.948856711e-02f, -1.947812846e-02f, -1.946765690e-02f, -1.945715244e-02f, -1.944661511e-02f,
+-1.943604493e-02f, -1.942544191e-02f, -1.941480609e-02f, -1.940413747e-02f, -1.939343609e-02f, -1.938270195e-02f, -1.937193509e-02f, -1.936113552e-02f, -1.935030327e-02f, -1.933943835e-02f,
+-1.932854079e-02f, -1.931761060e-02f, -1.930664781e-02f, -1.929565245e-02f, -1.928462452e-02f, -1.927356405e-02f, -1.926247107e-02f, -1.925134560e-02f, -1.924018765e-02f, -1.922899725e-02f,
+-1.921777442e-02f, -1.920651918e-02f, -1.919523155e-02f, -1.918391156e-02f, -1.917255923e-02f, -1.916117457e-02f, -1.914975762e-02f, -1.913830839e-02f, -1.912682690e-02f, -1.911531318e-02f,
+-1.910376725e-02f, -1.909218913e-02f, -1.908057884e-02f, -1.906893641e-02f, -1.905726186e-02f, -1.904555521e-02f, -1.903381648e-02f, -1.902204570e-02f, -1.901024289e-02f, -1.899840806e-02f,
+-1.898654126e-02f, -1.897464248e-02f, -1.896271177e-02f, -1.895074914e-02f, -1.893875461e-02f, -1.892672821e-02f, -1.891466997e-02f, -1.890257989e-02f, -1.889045802e-02f, -1.887830436e-02f,
+-1.886611895e-02f, -1.885390181e-02f, -1.884165295e-02f, -1.882937241e-02f, -1.881706021e-02f, -1.880471636e-02f, -1.879234090e-02f, -1.877993385e-02f, -1.876749523e-02f, -1.875502507e-02f,
+-1.874252338e-02f, -1.872999020e-02f, -1.871742554e-02f, -1.870482944e-02f, -1.869220191e-02f, -1.867954297e-02f, -1.866685266e-02f, -1.865413100e-02f, -1.864137801e-02f, -1.862859371e-02f,
+-1.861577813e-02f, -1.860293130e-02f, -1.859005323e-02f, -1.857714396e-02f, -1.856420350e-02f, -1.855123189e-02f, -1.853822914e-02f, -1.852519528e-02f, -1.851213034e-02f, -1.849903434e-02f,
+-1.848590730e-02f, -1.847274926e-02f, -1.845956022e-02f, -1.844634023e-02f, -1.843308931e-02f, -1.841980747e-02f, -1.840649475e-02f, -1.839315117e-02f, -1.837977675e-02f, -1.836637153e-02f,
+-1.835293552e-02f, -1.833946875e-02f, -1.832597125e-02f, -1.831244305e-02f, -1.829888416e-02f, -1.828529461e-02f, -1.827167443e-02f, -1.825802365e-02f, -1.824434229e-02f, -1.823063037e-02f,
+-1.821688793e-02f, -1.820311499e-02f, -1.818931157e-02f, -1.817547770e-02f, -1.816161340e-02f, -1.814771871e-02f, -1.813379364e-02f, -1.811983823e-02f, -1.810585251e-02f, -1.809183648e-02f,
+-1.807779019e-02f, -1.806371367e-02f, -1.804960692e-02f, -1.803546999e-02f, -1.802130290e-02f, -1.800710568e-02f, -1.799287834e-02f, -1.797862093e-02f, -1.796433346e-02f, -1.795001597e-02f,
+-1.793566847e-02f, -1.792129100e-02f, -1.790688359e-02f, -1.789244625e-02f, -1.787797902e-02f, -1.786348193e-02f, -1.784895500e-02f, -1.783439825e-02f, -1.781981173e-02f, -1.780519544e-02f,
+-1.779054943e-02f, -1.777587372e-02f, -1.776116833e-02f, -1.774643329e-02f, -1.773166863e-02f, -1.771687439e-02f, -1.770205058e-02f, -1.768719723e-02f, -1.767231437e-02f, -1.765740203e-02f,
+-1.764246024e-02f, -1.762748902e-02f, -1.761248841e-02f, -1.759745842e-02f, -1.758239910e-02f, -1.756731046e-02f, -1.755219254e-02f, -1.753704536e-02f, -1.752186895e-02f, -1.750666334e-02f,
+-1.749142855e-02f, -1.747616463e-02f, -1.746087159e-02f, -1.744554946e-02f, -1.743019827e-02f, -1.741481805e-02f, -1.739940883e-02f, -1.738397064e-02f, -1.736850351e-02f, -1.735300746e-02f,
+-1.733748252e-02f, -1.732192873e-02f, -1.730634610e-02f, -1.729073468e-02f, -1.727509449e-02f, -1.725942555e-02f, -1.724372790e-02f, -1.722800157e-02f, -1.721224659e-02f, -1.719646297e-02f,
+-1.718065077e-02f, -1.716480999e-02f, -1.714894068e-02f, -1.713304287e-02f, -1.711711657e-02f, -1.710116182e-02f, -1.708517866e-02f, -1.706916711e-02f, -1.705312719e-02f, -1.703705895e-02f,
+-1.702096240e-02f, -1.700483759e-02f, -1.698868453e-02f, -1.697250326e-02f, -1.695629381e-02f, -1.694005621e-02f, -1.692379049e-02f, -1.690749668e-02f, -1.689117481e-02f, -1.687482491e-02f,
+-1.685844700e-02f, -1.684204113e-02f, -1.682560731e-02f, -1.680914559e-02f, -1.679265599e-02f, -1.677613853e-02f, -1.675959326e-02f, -1.674302021e-02f, -1.672641939e-02f, -1.670979085e-02f,
+-1.669313461e-02f, -1.667645071e-02f, -1.665973917e-02f, -1.664300003e-02f, -1.662623331e-02f, -1.660943906e-02f, -1.659261729e-02f, -1.657576804e-02f, -1.655889135e-02f, -1.654198724e-02f,
+-1.652505573e-02f, -1.650809688e-02f, -1.649111070e-02f, -1.647409722e-02f, -1.645705649e-02f, -1.643998852e-02f, -1.642289336e-02f, -1.640577102e-02f, -1.638862155e-02f, -1.637144498e-02f,
+-1.635424133e-02f, -1.633701065e-02f, -1.631975295e-02f, -1.630246827e-02f, -1.628515665e-02f, -1.626781811e-02f, -1.625045269e-02f, -1.623306042e-02f, -1.621564133e-02f, -1.619819545e-02f,
+-1.618072282e-02f, -1.616322346e-02f, -1.614569742e-02f, -1.612814471e-02f, -1.611056538e-02f, -1.609295946e-02f, -1.607532697e-02f, -1.605766795e-02f, -1.603998244e-02f, -1.602227046e-02f,
+-1.600453205e-02f, -1.598676723e-02f, -1.596897605e-02f, -1.595115854e-02f, -1.593331472e-02f, -1.591544464e-02f, -1.589754831e-02f, -1.587962579e-02f, -1.586167709e-02f, -1.584370225e-02f,
+-1.582570131e-02f, -1.580767429e-02f, -1.578962124e-02f, -1.577154217e-02f, -1.575343714e-02f, -1.573530616e-02f, -1.571714928e-02f, -1.569896652e-02f, -1.568075792e-02f, -1.566252351e-02f,
+-1.564426333e-02f, -1.562597740e-02f, -1.560766577e-02f, -1.558932847e-02f, -1.557096552e-02f, -1.555257697e-02f, -1.553416284e-02f, -1.551572317e-02f, -1.549725799e-02f, -1.547876735e-02f,
+-1.546025126e-02f, -1.544170977e-02f, -1.542314290e-02f, -1.540455070e-02f, -1.538593319e-02f, -1.536729042e-02f, -1.534862240e-02f, -1.532992919e-02f, -1.531121081e-02f, -1.529246729e-02f,
+-1.527369867e-02f, -1.525490499e-02f, -1.523608628e-02f, -1.521724257e-02f, -1.519837389e-02f, -1.517948029e-02f, -1.516056179e-02f, -1.514161844e-02f, -1.512265026e-02f, -1.510365728e-02f,
+-1.508463956e-02f, -1.506559711e-02f, -1.504652997e-02f, -1.502743818e-02f, -1.500832177e-02f, -1.498918078e-02f, -1.497001524e-02f, -1.495082519e-02f, -1.493161066e-02f, -1.491237169e-02f,
+-1.489310830e-02f, -1.487382055e-02f, -1.485450845e-02f, -1.483517205e-02f, -1.481581139e-02f, -1.479642649e-02f, -1.477701739e-02f, -1.475758413e-02f, -1.473812674e-02f, -1.471864525e-02f,
+-1.469913971e-02f, -1.467961015e-02f, -1.466005661e-02f, -1.464047911e-02f, -1.462087769e-02f, -1.460125240e-02f, -1.458160326e-02f, -1.456193031e-02f, -1.454223359e-02f, -1.452251314e-02f,
+-1.450276898e-02f, -1.448300115e-02f, -1.446320970e-02f, -1.444339465e-02f, -1.442355604e-02f, -1.440369391e-02f, -1.438380829e-02f, -1.436389922e-02f, -1.434396674e-02f, -1.432401088e-02f,
+-1.430403168e-02f, -1.428402917e-02f, -1.426400339e-02f, -1.424395437e-02f, -1.422388216e-02f, -1.420378679e-02f, -1.418366829e-02f, -1.416352670e-02f, -1.414336207e-02f, -1.412317441e-02f,
+-1.410296378e-02f, -1.408273020e-02f, -1.406247372e-02f, -1.404219436e-02f, -1.402189218e-02f, -1.400156719e-02f, -1.398121945e-02f, -1.396084898e-02f, -1.394045583e-02f, -1.392004003e-02f,
+-1.389960162e-02f, -1.387914063e-02f, -1.385865710e-02f, -1.383815107e-02f, -1.381762257e-02f, -1.379707165e-02f, -1.377649833e-02f, -1.375590267e-02f, -1.373528468e-02f, -1.371464442e-02f,
+-1.369398191e-02f, -1.367329720e-02f, -1.365259032e-02f, -1.363186131e-02f, -1.361111021e-02f, -1.359033705e-02f, -1.356954187e-02f, -1.354872471e-02f, -1.352788561e-02f, -1.350702461e-02f,
+-1.348614173e-02f, -1.346523703e-02f, -1.344431053e-02f, -1.342336227e-02f, -1.340239230e-02f, -1.338140065e-02f, -1.336038735e-02f, -1.333935246e-02f, -1.331829599e-02f, -1.329721800e-02f,
+-1.327611851e-02f, -1.325499757e-02f, -1.323385522e-02f, -1.321269149e-02f, -1.319150642e-02f, -1.317030006e-02f, -1.314907242e-02f, -1.312782357e-02f, -1.310655352e-02f, -1.308526233e-02f,
+-1.306395003e-02f, -1.304261666e-02f, -1.302126225e-02f, -1.299988685e-02f, -1.297849050e-02f, -1.295707322e-02f, -1.293563507e-02f, -1.291417607e-02f, -1.289269627e-02f, -1.287119571e-02f,
+-1.284967442e-02f, -1.282813244e-02f, -1.280656982e-02f, -1.278498658e-02f, -1.276338278e-02f, -1.274175844e-02f, -1.272011361e-02f, -1.269844833e-02f, -1.267676263e-02f, -1.265505655e-02f,
+-1.263333013e-02f, -1.261158342e-02f, -1.258981644e-02f, -1.256802924e-02f, -1.254622187e-02f, -1.252439434e-02f, -1.250254672e-02f, -1.248067903e-02f, -1.245879131e-02f, -1.243688361e-02f,
+-1.241495596e-02f, -1.239300840e-02f, -1.237104098e-02f, -1.234905372e-02f, -1.232704668e-02f, -1.230501988e-02f, -1.228297337e-02f, -1.226090719e-02f, -1.223882138e-02f, -1.221671598e-02f,
+-1.219459102e-02f, -1.217244655e-02f, -1.215028261e-02f, -1.212809923e-02f, -1.210589645e-02f, -1.208367432e-02f, -1.206143288e-02f, -1.203917216e-02f, -1.201689220e-02f, -1.199459305e-02f,
+-1.197227474e-02f, -1.194993732e-02f, -1.192758082e-02f, -1.190520528e-02f, -1.188281075e-02f, -1.186039726e-02f, -1.183796485e-02f, -1.181551357e-02f, -1.179304345e-02f, -1.177055453e-02f,
+-1.174804686e-02f, -1.172552048e-02f, -1.170297541e-02f, -1.168041172e-02f, -1.165782942e-02f, -1.163522857e-02f, -1.161260921e-02f, -1.158997137e-02f, -1.156731510e-02f, -1.154464044e-02f,
+-1.152194742e-02f, -1.149923609e-02f, -1.147650649e-02f, -1.145375866e-02f, -1.143099263e-02f, -1.140820846e-02f, -1.138540617e-02f, -1.136258582e-02f, -1.133974744e-02f, -1.131689107e-02f,
+-1.129401675e-02f, -1.127112453e-02f, -1.124821444e-02f, -1.122528653e-02f, -1.120234083e-02f, -1.117937739e-02f, -1.115639625e-02f, -1.113339745e-02f, -1.111038102e-02f, -1.108734702e-02f,
+-1.106429548e-02f, -1.104122644e-02f, -1.101813995e-02f, -1.099503604e-02f, -1.097191475e-02f, -1.094877614e-02f, -1.092562023e-02f, -1.090244707e-02f, -1.087925670e-02f, -1.085604916e-02f,
+-1.083282450e-02f, -1.080958275e-02f, -1.078632396e-02f, -1.076304816e-02f, -1.073975541e-02f, -1.071644573e-02f, -1.069311917e-02f, -1.066977578e-02f, -1.064641559e-02f, -1.062303865e-02f,
+-1.059964499e-02f, -1.057623467e-02f, -1.055280771e-02f, -1.052936417e-02f, -1.050590408e-02f, -1.048242748e-02f, -1.045893442e-02f, -1.043542495e-02f, -1.041189909e-02f, -1.038835689e-02f,
+-1.036479840e-02f, -1.034122365e-02f, -1.031763270e-02f, -1.029402557e-02f, -1.027040231e-02f, -1.024676297e-02f, -1.022310758e-02f, -1.019943619e-02f, -1.017574883e-02f, -1.015204556e-02f,
+-1.012832642e-02f, -1.010459143e-02f, -1.008084066e-02f, -1.005707414e-02f, -1.003329190e-02f, -1.000949400e-02f, -9.985680481e-03f, -9.961851376e-03f, -9.938006732e-03f, -9.914146591e-03f,
+-9.890270995e-03f, -9.866379986e-03f, -9.842473607e-03f, -9.818551899e-03f, -9.794614906e-03f, -9.770662670e-03f, -9.746695234e-03f, -9.722712638e-03f, -9.698714927e-03f, -9.674702143e-03f,
+-9.650674328e-03f, -9.626631524e-03f, -9.602573775e-03f, -9.578501122e-03f, -9.554413609e-03f, -9.530311277e-03f, -9.506194171e-03f, -9.482062332e-03f, -9.457915803e-03f, -9.433754626e-03f,
+-9.409578845e-03f, -9.385388503e-03f, -9.361183641e-03f, -9.336964303e-03f, -9.312730532e-03f, -9.288482370e-03f, -9.264219861e-03f, -9.239943047e-03f, -9.215651971e-03f, -9.191346677e-03f,
+-9.167027206e-03f, -9.142693602e-03f, -9.118345909e-03f, -9.093984168e-03f, -9.069608424e-03f, -9.045218719e-03f, -9.020815096e-03f, -8.996397598e-03f, -8.971966269e-03f, -8.947521152e-03f,
+-8.923062289e-03f, -8.898589725e-03f, -8.874103501e-03f, -8.849603662e-03f, -8.825090251e-03f, -8.800563310e-03f, -8.776022884e-03f, -8.751469016e-03f, -8.726901748e-03f, -8.702321125e-03f,
+-8.677727189e-03f, -8.653119984e-03f, -8.628499553e-03f, -8.603865941e-03f, -8.579219189e-03f, -8.554559342e-03f, -8.529886444e-03f, -8.505200537e-03f, -8.480501666e-03f, -8.455789873e-03f,
+-8.431065203e-03f, -8.406327699e-03f, -8.381577404e-03f, -8.356814363e-03f, -8.332038618e-03f, -8.307250214e-03f, -8.282449195e-03f, -8.257635603e-03f, -8.232809482e-03f, -8.207970877e-03f,
+-8.183119831e-03f, -8.158256388e-03f, -8.133380592e-03f, -8.108492486e-03f, -8.083592114e-03f, -8.058679520e-03f, -8.033754749e-03f, -8.008817843e-03f, -7.983868847e-03f, -7.958907805e-03f,
+-7.933934761e-03f, -7.908949758e-03f, -7.883952840e-03f, -7.858944053e-03f, -7.833923438e-03f, -7.808891042e-03f, -7.783846906e-03f, -7.758791077e-03f, -7.733723597e-03f, -7.708644512e-03f,
+-7.683553864e-03f, -7.658451698e-03f, -7.633338058e-03f, -7.608212989e-03f, -7.583076534e-03f, -7.557928738e-03f, -7.532769645e-03f, -7.507599300e-03f, -7.482417745e-03f, -7.457225026e-03f,
+-7.432021188e-03f, -7.406806273e-03f, -7.381580327e-03f, -7.356343394e-03f, -7.331095518e-03f, -7.305836743e-03f, -7.280567115e-03f, -7.255286676e-03f, -7.229995473e-03f, -7.204693548e-03f,
+-7.179380947e-03f, -7.154057714e-03f, -7.128723894e-03f, -7.103379530e-03f, -7.078024668e-03f, -7.052659352e-03f, -7.027283626e-03f, -7.001897535e-03f, -6.976501124e-03f, -6.951094436e-03f,
+-6.925677518e-03f, -6.900250412e-03f, -6.874813165e-03f, -6.849365820e-03f, -6.823908422e-03f, -6.798441016e-03f, -6.772963646e-03f, -6.747476358e-03f, -6.721979195e-03f, -6.696472203e-03f,
+-6.670955426e-03f, -6.645428910e-03f, -6.619892697e-03f, -6.594346835e-03f, -6.568791366e-03f, -6.543226337e-03f, -6.517651792e-03f, -6.492067775e-03f, -6.466474332e-03f, -6.440871507e-03f,
+-6.415259345e-03f, -6.389637892e-03f, -6.364007191e-03f, -6.338367288e-03f, -6.312718228e-03f, -6.287060056e-03f, -6.261392816e-03f, -6.235716554e-03f, -6.210031314e-03f, -6.184337142e-03f,
+-6.158634083e-03f, -6.132922180e-03f, -6.107201481e-03f, -6.081472028e-03f, -6.055733869e-03f, -6.029987046e-03f, -6.004231607e-03f, -5.978467595e-03f, -5.952695056e-03f, -5.926914034e-03f,
+-5.901124576e-03f, -5.875326726e-03f, -5.849520529e-03f, -5.823706030e-03f, -5.797883274e-03f, -5.772052308e-03f, -5.746213175e-03f, -5.720365920e-03f, -5.694510591e-03f, -5.668647230e-03f,
+-5.642775884e-03f, -5.616896598e-03f, -5.591009417e-03f, -5.565114386e-03f, -5.539211550e-03f, -5.513300955e-03f, -5.487382647e-03f, -5.461456669e-03f, -5.435523069e-03f, -5.409581890e-03f,
+-5.383633178e-03f, -5.357676979e-03f, -5.331713338e-03f, -5.305742300e-03f, -5.279763911e-03f, -5.253778215e-03f, -5.227785259e-03f, -5.201785088e-03f, -5.175777747e-03f, -5.149763281e-03f,
+-5.123741736e-03f, -5.097713157e-03f, -5.071677590e-03f, -5.045635081e-03f, -5.019585673e-03f, -4.993529414e-03f, -4.967466349e-03f, -4.941396522e-03f, -4.915319980e-03f, -4.889236768e-03f,
+-4.863146931e-03f, -4.837050515e-03f, -4.810947566e-03f, -4.784838129e-03f, -4.758722249e-03f, -4.732599972e-03f, -4.706471344e-03f, -4.680336410e-03f, -4.654195216e-03f, -4.628047807e-03f,
+-4.601894229e-03f, -4.575734527e-03f, -4.549568747e-03f, -4.523396935e-03f, -4.497219136e-03f, -4.471035396e-03f, -4.444845760e-03f, -4.418650274e-03f, -4.392448984e-03f, -4.366241936e-03f,
+-4.340029174e-03f, -4.313810745e-03f, -4.287586694e-03f, -4.261357067e-03f, -4.235121910e-03f, -4.208881268e-03f, -4.182635187e-03f, -4.156383713e-03f, -4.130126891e-03f, -4.103864767e-03f,
+-4.077597387e-03f, -4.051324796e-03f, -4.025047040e-03f, -3.998764166e-03f, -3.972476218e-03f, -3.946183243e-03f, -3.919885285e-03f, -3.893582392e-03f, -3.867274608e-03f, -3.840961979e-03f,
+-3.814644552e-03f, -3.788322372e-03f, -3.761995484e-03f, -3.735663935e-03f, -3.709327770e-03f, -3.682987035e-03f, -3.656641776e-03f, -3.630292039e-03f, -3.603937869e-03f, -3.577579312e-03f,
+-3.551216414e-03f, -3.524849221e-03f, -3.498477779e-03f, -3.472102134e-03f, -3.445722330e-03f, -3.419338415e-03f, -3.392950434e-03f, -3.366558433e-03f, -3.340162457e-03f, -3.313762553e-03f,
+-3.287358766e-03f, -3.260951143e-03f, -3.234539728e-03f, -3.208124569e-03f, -3.181705710e-03f, -3.155283198e-03f, -3.128857079e-03f, -3.102427398e-03f, -3.075994201e-03f, -3.049557534e-03f,
+-3.023117444e-03f, -2.996673975e-03f, -2.970227175e-03f, -2.943777088e-03f, -2.917323760e-03f, -2.890867238e-03f, -2.864407567e-03f, -2.837944794e-03f, -2.811478964e-03f, -2.785010123e-03f,
+-2.758538317e-03f, -2.732063592e-03f, -2.705585994e-03f, -2.679105568e-03f, -2.652622361e-03f, -2.626136419e-03f, -2.599647787e-03f, -2.573156511e-03f, -2.546662638e-03f, -2.520166213e-03f,
+-2.493667282e-03f, -2.467165891e-03f, -2.440662086e-03f, -2.414155913e-03f, -2.387647418e-03f, -2.361136646e-03f, -2.334623644e-03f, -2.308108458e-03f, -2.281591133e-03f, -2.255071716e-03f,
+-2.228550252e-03f, -2.202026788e-03f, -2.175501368e-03f, -2.148974040e-03f, -2.122444849e-03f, -2.095913841e-03f, -2.069381062e-03f, -2.042846558e-03f, -2.016310375e-03f, -1.989772558e-03f,
+-1.963233154e-03f, -1.936692208e-03f, -1.910149768e-03f, -1.883605877e-03f, -1.857060583e-03f, -1.830513931e-03f, -1.803965968e-03f, -1.777416738e-03f, -1.750866289e-03f, -1.724314665e-03f,
+-1.697761914e-03f, -1.671208080e-03f, -1.644653210e-03f, -1.618097350e-03f, -1.591540545e-03f, -1.564982842e-03f, -1.538424286e-03f, -1.511864923e-03f, -1.485304800e-03f, -1.458743961e-03f,
+-1.432182454e-03f, -1.405620324e-03f, -1.379057616e-03f, -1.352494377e-03f, -1.325930653e-03f, -1.299366489e-03f, -1.272801931e-03f, -1.246237026e-03f, -1.219671819e-03f, -1.193106356e-03f,
+-1.166540683e-03f, -1.139974846e-03f, -1.113408890e-03f, -1.086842862e-03f, -1.060276807e-03f, -1.033710772e-03f, -1.007144801e-03f, -9.805789422e-04f, -9.540132396e-04f, -9.274477398e-04f,
+-9.008824885e-04f, -8.743175316e-04f, -8.477529149e-04f, -8.211886843e-04f, -7.946248855e-04f, -7.680615645e-04f, -7.414987670e-04f, -7.149365389e-04f, -6.883749259e-04f, -6.618139739e-04f,
+-6.352537287e-04f, -6.086942361e-04f, -5.821355420e-04f, -5.555776920e-04f, -5.290207319e-04f, -5.024647077e-04f, -4.759096650e-04f, -4.493556496e-04f, -4.228027073e-04f, -3.962508838e-04f,
+-3.697002250e-04f, -3.431507765e-04f, -3.166025842e-04f, -2.900556937e-04f, -2.635101508e-04f, -2.369660013e-04f, -2.104232908e-04f, -1.838820651e-04f, -1.573423699e-04f, -1.308042509e-04f,
+-1.042677538e-04f, -7.773292437e-05f, -5.119980821e-05f, -2.466845105e-05f, 1.861101446e-06f, 2.838880359e-05f, 5.491460973e-05f, 8.143847418e-05f, 1.079603513e-04f, 1.344801955e-04f,
+1.609979610e-04f, 1.875136023e-04f, 2.140270737e-04f, 2.405383296e-04f, 2.670473244e-04f, 2.935540125e-04f, 3.200583482e-04f, 3.465602860e-04f, 3.730597804e-04f, 3.995567857e-04f,
+4.260512563e-04f, 4.525431467e-04f, 4.790324113e-04f, 5.055190047e-04f, 5.320028812e-04f, 5.584839953e-04f, 5.849623015e-04f, 6.114377543e-04f, 6.379103082e-04f, 6.643799176e-04f,
+6.908465371e-04f, 7.173101213e-04f, 7.437706245e-04f, 7.702280014e-04f, 7.966822065e-04f, 8.231331944e-04f, 8.495809196e-04f, 8.760253366e-04f, 9.024664001e-04f, 9.289040647e-04f,
+9.553382849e-04f, 9.817690154e-04f, 1.008196211e-03f, 1.034619825e-03f, 1.061039814e-03f, 1.087456132e-03f, 1.113868733e-03f, 1.140277572e-03f, 1.166682604e-03f, 1.193083783e-03f,
+1.219481065e-03f, 1.245874403e-03f, 1.272263753e-03f, 1.298649069e-03f, 1.325030306e-03f, 1.351407419e-03f, 1.377780362e-03f, 1.404149090e-03f, 1.430513558e-03f, 1.456873722e-03f,
+1.483229534e-03f, 1.509580951e-03f, 1.535927928e-03f, 1.562270418e-03f, 1.588608377e-03f, 1.614941760e-03f, 1.641270521e-03f, 1.667594616e-03f, 1.693913999e-03f, 1.720228625e-03f,
+1.746538449e-03f, 1.772843427e-03f, 1.799143512e-03f, 1.825438660e-03f, 1.851728826e-03f, 1.878013965e-03f, 1.904294031e-03f, 1.930568980e-03f, 1.956838767e-03f, 1.983103347e-03f,
+2.009362674e-03f, 2.035616704e-03f, 2.061865392e-03f, 2.088108693e-03f, 2.114346562e-03f, 2.140578954e-03f, 2.166805824e-03f, 2.193027127e-03f, 2.219242818e-03f, 2.245452853e-03f,
+2.271657187e-03f, 2.297855775e-03f, 2.324048571e-03f, 2.350235531e-03f, 2.376416611e-03f, 2.402591766e-03f, 2.428760950e-03f, 2.454924119e-03f, 2.481081229e-03f, 2.507232234e-03f,
+2.533377090e-03f, 2.559515752e-03f, 2.585648175e-03f, 2.611774315e-03f, 2.637894127e-03f, 2.664007567e-03f, 2.690114589e-03f, 2.716215149e-03f, 2.742309203e-03f, 2.768396706e-03f,
+2.794477613e-03f, 2.820551880e-03f, 2.846619463e-03f, 2.872680315e-03f, 2.898734395e-03f, 2.924781655e-03f, 2.950822053e-03f, 2.976855544e-03f, 3.002882083e-03f, 3.028901625e-03f,
+3.054914127e-03f, 3.080919544e-03f, 3.106917832e-03f, 3.132908945e-03f, 3.158892841e-03f, 3.184869473e-03f, 3.210838799e-03f, 3.236800774e-03f, 3.262755353e-03f, 3.288702492e-03f,
+3.314642147e-03f, 3.340574273e-03f, 3.366498827e-03f, 3.392415764e-03f, 3.418325040e-03f, 3.444226611e-03f, 3.470120432e-03f, 3.496006460e-03f, 3.521884650e-03f, 3.547754958e-03f,
+3.573617340e-03f, 3.599471751e-03f, 3.625318149e-03f, 3.651156488e-03f, 3.676986725e-03f, 3.702808816e-03f, 3.728622716e-03f, 3.754428382e-03f, 3.780225769e-03f, 3.806014835e-03f,
+3.831795534e-03f, 3.857567823e-03f, 3.883331658e-03f, 3.909086994e-03f, 3.934833789e-03f, 3.960571999e-03f, 3.986301579e-03f, 4.012022485e-03f, 4.037734674e-03f, 4.063438103e-03f,
+4.089132726e-03f, 4.114818502e-03f, 4.140495385e-03f, 4.166163332e-03f, 4.191822299e-03f, 4.217472244e-03f, 4.243113121e-03f, 4.268744888e-03f, 4.294367501e-03f, 4.319980915e-03f,
+4.345585089e-03f, 4.371179978e-03f, 4.396765538e-03f, 4.422341726e-03f, 4.447908499e-03f, 4.473465813e-03f, 4.499013624e-03f, 4.524551890e-03f, 4.550080566e-03f, 4.575599609e-03f,
+4.601108977e-03f, 4.626608625e-03f, 4.652098510e-03f, 4.677578589e-03f, 4.703048819e-03f, 4.728509155e-03f, 4.753959556e-03f, 4.779399978e-03f, 4.804830377e-03f, 4.830250711e-03f,
+4.855660935e-03f, 4.881061008e-03f, 4.906450885e-03f, 4.931830524e-03f, 4.957199882e-03f, 4.982558915e-03f, 5.007907581e-03f, 5.033245836e-03f, 5.058573637e-03f, 5.083890942e-03f,
+5.109197707e-03f, 5.134493889e-03f, 5.159779447e-03f, 5.185054335e-03f, 5.210318513e-03f, 5.235571936e-03f, 5.260814562e-03f, 5.286046348e-03f, 5.311267252e-03f, 5.336477230e-03f,
+5.361676240e-03f, 5.386864239e-03f, 5.412041184e-03f, 5.437207033e-03f, 5.462361743e-03f, 5.487505271e-03f, 5.512637575e-03f, 5.537758612e-03f, 5.562868339e-03f, 5.587966715e-03f,
+5.613053695e-03f, 5.638129239e-03f, 5.663193302e-03f, 5.688245844e-03f, 5.713286821e-03f, 5.738316191e-03f, 5.763333911e-03f, 5.788339940e-03f, 5.813334235e-03f, 5.838316753e-03f,
+5.863287452e-03f, 5.888246290e-03f, 5.913193225e-03f, 5.938128214e-03f, 5.963051215e-03f, 5.987962187e-03f, 6.012861086e-03f, 6.037747870e-03f, 6.062622498e-03f, 6.087484928e-03f,
+6.112335117e-03f, 6.137173023e-03f, 6.161998605e-03f, 6.186811820e-03f, 6.211612626e-03f, 6.236400981e-03f, 6.261176844e-03f, 6.285940172e-03f, 6.310690924e-03f, 6.335429057e-03f,
+6.360154531e-03f, 6.384867302e-03f, 6.409567330e-03f, 6.434254573e-03f, 6.458928988e-03f, 6.483590534e-03f, 6.508239170e-03f, 6.532874853e-03f, 6.557497543e-03f, 6.582107197e-03f,
+6.606703774e-03f, 6.631287233e-03f, 6.655857531e-03f, 6.680414628e-03f, 6.704958482e-03f, 6.729489051e-03f, 6.754006294e-03f, 6.778510169e-03f, 6.803000636e-03f, 6.827477652e-03f,
+6.851941178e-03f, 6.876391170e-03f, 6.900827588e-03f, 6.925250391e-03f, 6.949659538e-03f, 6.974054986e-03f, 6.998436696e-03f, 7.022804626e-03f, 7.047158735e-03f, 7.071498981e-03f,
+7.095825325e-03f, 7.120137724e-03f, 7.144436137e-03f, 7.168720524e-03f, 7.192990844e-03f, 7.217247056e-03f, 7.241489119e-03f, 7.265716992e-03f, 7.289930634e-03f, 7.314130004e-03f,
+7.338315062e-03f, 7.362485767e-03f, 7.386642078e-03f, 7.410783954e-03f, 7.434911355e-03f, 7.459024240e-03f, 7.483122569e-03f, 7.507206300e-03f, 7.531275393e-03f, 7.555329809e-03f,
+7.579369505e-03f, 7.603394442e-03f, 7.627404580e-03f, 7.651399877e-03f, 7.675380294e-03f, 7.699345790e-03f, 7.723296325e-03f, 7.747231858e-03f, 7.771152349e-03f, 7.795057758e-03f,
+7.818948045e-03f, 7.842823169e-03f, 7.866683091e-03f, 7.890527769e-03f, 7.914357165e-03f, 7.938171238e-03f, 7.961969948e-03f, 7.985753254e-03f, 8.009521117e-03f, 8.033273498e-03f,
+8.057010355e-03f, 8.080731650e-03f, 8.104437341e-03f, 8.128127390e-03f, 8.151801757e-03f, 8.175460401e-03f, 8.199103283e-03f, 8.222730364e-03f, 8.246341603e-03f, 8.269936961e-03f,
+8.293516399e-03f, 8.317079876e-03f, 8.340627353e-03f, 8.364158791e-03f, 8.387674149e-03f, 8.411173390e-03f, 8.434656472e-03f, 8.458123357e-03f, 8.481574005e-03f, 8.505008378e-03f,
+8.528426435e-03f, 8.551828137e-03f, 8.575213445e-03f, 8.598582320e-03f, 8.621934722e-03f, 8.645270613e-03f, 8.668589953e-03f, 8.691892703e-03f, 8.715178825e-03f, 8.738448278e-03f,
+8.761701024e-03f, 8.784937025e-03f, 8.808156240e-03f, 8.831358631e-03f, 8.854544160e-03f, 8.877712787e-03f, 8.900864473e-03f, 8.923999180e-03f, 8.947116870e-03f, 8.970217502e-03f,
+8.993301039e-03f, 9.016367442e-03f, 9.039416672e-03f, 9.062448690e-03f, 9.085463459e-03f, 9.108460939e-03f, 9.131441092e-03f, 9.154403879e-03f, 9.177349263e-03f, 9.200277204e-03f,
+9.223187665e-03f, 9.246080606e-03f, 9.268955991e-03f, 9.291813779e-03f, 9.314653934e-03f, 9.337476416e-03f, 9.360281188e-03f, 9.383068212e-03f, 9.405837449e-03f, 9.428588862e-03f,
+9.451322411e-03f, 9.474038061e-03f, 9.496735771e-03f, 9.519415505e-03f, 9.542077224e-03f, 9.564720891e-03f, 9.587346468e-03f, 9.609953916e-03f, 9.632543199e-03f, 9.655114278e-03f,
+9.677667116e-03f, 9.700201675e-03f, 9.722717917e-03f, 9.745215805e-03f, 9.767695301e-03f, 9.790156368e-03f, 9.812598968e-03f, 9.835023063e-03f, 9.857428617e-03f, 9.879815592e-03f,
+9.902183951e-03f, 9.924533655e-03f, 9.946864668e-03f, 9.969176953e-03f, 9.991470472e-03f, 1.001374519e-02f, 1.003600107e-02f, 1.005823806e-02f, 1.008045615e-02f, 1.010265528e-02f,
+1.012483543e-02f, 1.014699655e-02f, 1.016913861e-02f, 1.019126157e-02f, 1.021336539e-02f, 1.023545004e-02f, 1.025751548e-02f, 1.027956168e-02f, 1.030158859e-02f, 1.032359618e-02f,
+1.034558441e-02f, 1.036755326e-02f, 1.038950267e-02f, 1.041143261e-02f, 1.043334306e-02f, 1.045523396e-02f, 1.047710529e-02f, 1.049895701e-02f, 1.052078907e-02f, 1.054260146e-02f,
+1.056439412e-02f, 1.058616702e-02f, 1.060792014e-02f, 1.062965342e-02f, 1.065136683e-02f, 1.067306035e-02f, 1.069473392e-02f, 1.071638752e-02f, 1.073802111e-02f, 1.075963466e-02f,
+1.078122812e-02f, 1.080280146e-02f, 1.082435466e-02f, 1.084588766e-02f, 1.086740043e-02f, 1.088889295e-02f, 1.091036517e-02f, 1.093181705e-02f, 1.095324857e-02f, 1.097465968e-02f,
+1.099605036e-02f, 1.101742056e-02f, 1.103877025e-02f, 1.106009939e-02f, 1.108140795e-02f, 1.110269590e-02f, 1.112396319e-02f, 1.114520980e-02f, 1.116643568e-02f, 1.118764081e-02f,
+1.120882514e-02f, 1.122998865e-02f, 1.125113129e-02f, 1.127225303e-02f, 1.129335385e-02f, 1.131443369e-02f, 1.133549253e-02f, 1.135653033e-02f, 1.137754706e-02f, 1.139854268e-02f,
+1.141951716e-02f, 1.144047047e-02f, 1.146140256e-02f, 1.148231340e-02f, 1.150320296e-02f, 1.152407121e-02f, 1.154491811e-02f, 1.156574362e-02f, 1.158654771e-02f, 1.160733035e-02f,
+1.162809150e-02f, 1.164883113e-02f, 1.166954920e-02f, 1.169024568e-02f, 1.171092053e-02f, 1.173157373e-02f, 1.175220523e-02f, 1.177281500e-02f, 1.179340301e-02f, 1.181396922e-02f,
+1.183451361e-02f, 1.185503613e-02f, 1.187553675e-02f, 1.189601544e-02f, 1.191647217e-02f, 1.193690689e-02f, 1.195731959e-02f, 1.197771021e-02f, 1.199807874e-02f, 1.201842513e-02f,
+1.203874935e-02f, 1.205905137e-02f, 1.207933116e-02f, 1.209958867e-02f, 1.211982389e-02f, 1.214003677e-02f, 1.216022728e-02f, 1.218039539e-02f, 1.220054107e-02f, 1.222066428e-02f,
+1.224076498e-02f, 1.226084315e-02f, 1.228089875e-02f, 1.230093175e-02f, 1.232094212e-02f, 1.234092982e-02f, 1.236089482e-02f, 1.238083709e-02f, 1.240075659e-02f, 1.242065329e-02f,
+1.244052717e-02f, 1.246037817e-02f, 1.248020628e-02f, 1.250001147e-02f, 1.251979369e-02f, 1.253955291e-02f, 1.255928911e-02f, 1.257900225e-02f, 1.259869229e-02f, 1.261835922e-02f,
+1.263800298e-02f, 1.265762356e-02f, 1.267722091e-02f, 1.269679501e-02f, 1.271634583e-02f, 1.273587332e-02f, 1.275537747e-02f, 1.277485824e-02f, 1.279431559e-02f, 1.281374949e-02f,
+1.283315992e-02f, 1.285254683e-02f, 1.287191021e-02f, 1.289125001e-02f, 1.291056621e-02f, 1.292985876e-02f, 1.294912765e-02f, 1.296837284e-02f, 1.298759430e-02f, 1.300679199e-02f,
+1.302596589e-02f, 1.304511596e-02f, 1.306424218e-02f, 1.308334450e-02f, 1.310242291e-02f, 1.312147736e-02f, 1.314050783e-02f, 1.315951428e-02f, 1.317849669e-02f, 1.319745502e-02f,
+1.321638925e-02f, 1.323529933e-02f, 1.325418525e-02f, 1.327304696e-02f, 1.329188444e-02f, 1.331069767e-02f, 1.332948659e-02f, 1.334825120e-02f, 1.336699144e-02f, 1.338570731e-02f,
+1.340439875e-02f, 1.342306575e-02f, 1.344170828e-02f, 1.346032629e-02f, 1.347891977e-02f, 1.349748868e-02f, 1.351603299e-02f, 1.353455267e-02f, 1.355304769e-02f, 1.357151802e-02f,
+1.358996363e-02f, 1.360838449e-02f, 1.362678057e-02f, 1.364515184e-02f, 1.366349827e-02f, 1.368181983e-02f, 1.370011649e-02f, 1.371838822e-02f, 1.373663499e-02f, 1.375485677e-02f,
+1.377305353e-02f, 1.379122524e-02f, 1.380937187e-02f, 1.382749340e-02f, 1.384558978e-02f, 1.386366100e-02f, 1.388170702e-02f, 1.389972782e-02f, 1.391772336e-02f, 1.393569361e-02f,
+1.395363855e-02f, 1.397155815e-02f, 1.398945237e-02f, 1.400732119e-02f, 1.402516458e-02f, 1.404298252e-02f, 1.406077496e-02f, 1.407854188e-02f, 1.409628326e-02f, 1.411399906e-02f,
+1.413168925e-02f, 1.414935382e-02f, 1.416699272e-02f, 1.418460593e-02f, 1.420219342e-02f, 1.421975516e-02f, 1.423729113e-02f, 1.425480129e-02f, 1.427228561e-02f, 1.428974408e-02f,
+1.430717665e-02f, 1.432458331e-02f, 1.434196402e-02f, 1.435931875e-02f, 1.437664748e-02f, 1.439395018e-02f, 1.441122682e-02f, 1.442847737e-02f, 1.444570180e-02f, 1.446290010e-02f,
+1.448007222e-02f, 1.449721814e-02f, 1.451433783e-02f, 1.453143127e-02f, 1.454849843e-02f, 1.456553928e-02f, 1.458255379e-02f, 1.459954193e-02f, 1.461650368e-02f, 1.463343901e-02f,
+1.465034789e-02f, 1.466723030e-02f, 1.468408620e-02f, 1.470091558e-02f, 1.471771840e-02f, 1.473449463e-02f, 1.475124425e-02f, 1.476796724e-02f, 1.478466356e-02f, 1.480133318e-02f,
+1.481797609e-02f, 1.483459225e-02f, 1.485118164e-02f, 1.486774422e-02f, 1.488427998e-02f, 1.490078889e-02f, 1.491727092e-02f, 1.493372604e-02f, 1.495015423e-02f, 1.496655545e-02f,
+1.498292969e-02f, 1.499927692e-02f, 1.501559711e-02f, 1.503189024e-02f, 1.504815627e-02f, 1.506439518e-02f, 1.508060695e-02f, 1.509679156e-02f, 1.511294896e-02f, 1.512907914e-02f,
+1.514518208e-02f, 1.516125774e-02f, 1.517730610e-02f, 1.519332713e-02f, 1.520932081e-02f, 1.522528712e-02f, 1.524122602e-02f, 1.525713749e-02f, 1.527302151e-02f, 1.528887805e-02f,
+1.530470709e-02f, 1.532050859e-02f, 1.533628254e-02f, 1.535202890e-02f, 1.536774766e-02f, 1.538343879e-02f, 1.539910226e-02f, 1.541473805e-02f, 1.543034613e-02f, 1.544592647e-02f,
+1.546147906e-02f, 1.547700387e-02f, 1.549250087e-02f, 1.550797004e-02f, 1.552341135e-02f, 1.553882478e-02f, 1.555421031e-02f, 1.556956790e-02f, 1.558489754e-02f, 1.560019919e-02f,
+1.561547284e-02f, 1.563071847e-02f, 1.564593604e-02f, 1.566112553e-02f, 1.567628692e-02f, 1.569142018e-02f, 1.570652529e-02f, 1.572160223e-02f, 1.573665097e-02f, 1.575167148e-02f,
+1.576666375e-02f, 1.578162775e-02f, 1.579656345e-02f, 1.581147084e-02f, 1.582634988e-02f, 1.584120055e-02f, 1.585602284e-02f, 1.587081671e-02f, 1.588558215e-02f, 1.590031912e-02f,
+1.591502762e-02f, 1.592970760e-02f, 1.594435905e-02f, 1.595898195e-02f, 1.597357627e-02f, 1.598814199e-02f, 1.600267909e-02f, 1.601718754e-02f, 1.603166731e-02f, 1.604611840e-02f,
+1.606054077e-02f, 1.607493440e-02f, 1.608929927e-02f, 1.610363535e-02f, 1.611794263e-02f, 1.613222107e-02f, 1.614647067e-02f, 1.616069138e-02f, 1.617488320e-02f, 1.618904610e-02f,
+1.620318006e-02f, 1.621728505e-02f, 1.623136105e-02f, 1.624540804e-02f, 1.625942600e-02f, 1.627341490e-02f, 1.628737473e-02f, 1.630130545e-02f, 1.631520706e-02f, 1.632907953e-02f,
+1.634292282e-02f, 1.635673694e-02f, 1.637052184e-02f, 1.638427751e-02f, 1.639800393e-02f, 1.641170108e-02f, 1.642536893e-02f, 1.643900746e-02f, 1.645261666e-02f, 1.646619649e-02f,
+1.647974694e-02f, 1.649326799e-02f, 1.650675962e-02f, 1.652022180e-02f, 1.653365451e-02f, 1.654705773e-02f, 1.656043145e-02f, 1.657377563e-02f, 1.658709027e-02f, 1.660037533e-02f,
+1.661363080e-02f, 1.662685665e-02f, 1.664005287e-02f, 1.665321943e-02f, 1.666635632e-02f, 1.667946351e-02f, 1.669254099e-02f, 1.670558872e-02f, 1.671860670e-02f, 1.673159490e-02f,
+1.674455329e-02f, 1.675748187e-02f, 1.677038061e-02f, 1.678324949e-02f, 1.679608849e-02f, 1.680889759e-02f, 1.682167676e-02f, 1.683442600e-02f, 1.684714528e-02f, 1.685983457e-02f,
+1.687249387e-02f, 1.688512314e-02f, 1.689772238e-02f, 1.691029155e-02f, 1.692283065e-02f, 1.693533965e-02f, 1.694781853e-02f, 1.696026727e-02f, 1.697268586e-02f, 1.698507426e-02f,
+1.699743248e-02f, 1.700976047e-02f, 1.702205824e-02f, 1.703432575e-02f, 1.704656298e-02f, 1.705876993e-02f, 1.707094656e-02f, 1.708309287e-02f, 1.709520882e-02f, 1.710729441e-02f,
+1.711934961e-02f, 1.713137441e-02f, 1.714336878e-02f, 1.715533272e-02f, 1.716726619e-02f, 1.717916918e-02f, 1.719104167e-02f, 1.720288365e-02f, 1.721469510e-02f, 1.722647599e-02f,
+1.723822631e-02f, 1.724994604e-02f, 1.726163516e-02f, 1.727329366e-02f, 1.728492151e-02f, 1.729651870e-02f, 1.730808522e-02f, 1.731962103e-02f, 1.733112613e-02f, 1.734260050e-02f,
+1.735404412e-02f, 1.736545697e-02f, 1.737683903e-02f, 1.738819029e-02f, 1.739951073e-02f, 1.741080033e-02f, 1.742205907e-02f, 1.743328694e-02f, 1.744448393e-02f, 1.745565000e-02f,
+1.746678515e-02f, 1.747788936e-02f, 1.748896261e-02f, 1.750000488e-02f, 1.751101616e-02f, 1.752199643e-02f, 1.753294568e-02f, 1.754386388e-02f, 1.755475102e-02f, 1.756560708e-02f,
+1.757643205e-02f, 1.758722591e-02f, 1.759798865e-02f, 1.760872024e-02f, 1.761942067e-02f, 1.763008993e-02f, 1.764072800e-02f, 1.765133486e-02f, 1.766191049e-02f, 1.767245488e-02f,
+1.768296802e-02f, 1.769344988e-02f, 1.770390046e-02f, 1.771431973e-02f, 1.772470768e-02f, 1.773506430e-02f, 1.774538956e-02f, 1.775568346e-02f, 1.776594597e-02f, 1.777617708e-02f,
+1.778637679e-02f, 1.779654506e-02f, 1.780668188e-02f, 1.781678725e-02f, 1.782686114e-02f, 1.783690354e-02f, 1.784691443e-02f, 1.785689380e-02f, 1.786684164e-02f, 1.787675793e-02f,
+1.788664264e-02f, 1.789649578e-02f, 1.790631732e-02f, 1.791610725e-02f, 1.792586556e-02f, 1.793559223e-02f, 1.794528724e-02f, 1.795495058e-02f, 1.796458223e-02f, 1.797418219e-02f,
+1.798375044e-02f, 1.799328696e-02f, 1.800279174e-02f, 1.801226476e-02f, 1.802170601e-02f, 1.803111548e-02f, 1.804049315e-02f, 1.804983901e-02f, 1.805915304e-02f, 1.806843523e-02f,
+1.807768557e-02f, 1.808690404e-02f, 1.809609063e-02f, 1.810524532e-02f, 1.811436811e-02f, 1.812345897e-02f, 1.813251790e-02f, 1.814154488e-02f, 1.815053990e-02f, 1.815950294e-02f,
+1.816843399e-02f, 1.817733304e-02f, 1.818620007e-02f, 1.819503507e-02f, 1.820383804e-02f, 1.821260894e-02f, 1.822134778e-02f, 1.823005454e-02f, 1.823872921e-02f, 1.824737177e-02f,
+1.825598221e-02f, 1.826456052e-02f, 1.827310668e-02f, 1.828162069e-02f, 1.829010253e-02f, 1.829855219e-02f, 1.830696965e-02f, 1.831535490e-02f, 1.832370794e-02f, 1.833202875e-02f,
+1.834031731e-02f, 1.834857362e-02f, 1.835679766e-02f, 1.836498942e-02f, 1.837314889e-02f, 1.838127606e-02f, 1.838937091e-02f, 1.839743343e-02f, 1.840546362e-02f, 1.841346145e-02f,
+1.842142693e-02f, 1.842936003e-02f, 1.843726075e-02f, 1.844512907e-02f, 1.845296498e-02f, 1.846076847e-02f, 1.846853954e-02f, 1.847627816e-02f, 1.848398433e-02f, 1.849165804e-02f,
+1.849929927e-02f, 1.850690801e-02f, 1.851448426e-02f, 1.852202801e-02f, 1.852953923e-02f, 1.853701793e-02f, 1.854446408e-02f, 1.855187769e-02f, 1.855925873e-02f, 1.856660721e-02f,
+1.857392310e-02f, 1.858120640e-02f, 1.858845709e-02f, 1.859567518e-02f, 1.860286064e-02f, 1.861001347e-02f, 1.861713365e-02f, 1.862422118e-02f, 1.863127605e-02f, 1.863829824e-02f,
+1.864528776e-02f, 1.865224457e-02f, 1.865916869e-02f, 1.866606009e-02f, 1.867291877e-02f, 1.867974472e-02f, 1.868653792e-02f, 1.869329838e-02f, 1.870002608e-02f, 1.870672100e-02f,
+1.871338315e-02f, 1.872001251e-02f, 1.872660907e-02f, 1.873317282e-02f, 1.873970376e-02f, 1.874620187e-02f, 1.875266715e-02f, 1.875909959e-02f, 1.876549917e-02f, 1.877186590e-02f,
+1.877819975e-02f, 1.878450073e-02f, 1.879076882e-02f, 1.879700401e-02f, 1.880320631e-02f, 1.880937569e-02f, 1.881551215e-02f, 1.882161568e-02f, 1.882768627e-02f, 1.883372392e-02f,
+1.883972861e-02f, 1.884570035e-02f, 1.885163911e-02f, 1.885754490e-02f, 1.886341770e-02f, 1.886925750e-02f, 1.887506431e-02f, 1.888083810e-02f, 1.888657888e-02f, 1.889228664e-02f,
+1.889796136e-02f, 1.890360304e-02f, 1.890921168e-02f, 1.891478726e-02f, 1.892032978e-02f, 1.892583923e-02f, 1.893131560e-02f, 1.893675889e-02f, 1.894216909e-02f, 1.894754619e-02f,
+1.895289019e-02f, 1.895820107e-02f, 1.896347883e-02f, 1.896872347e-02f, 1.897393498e-02f, 1.897911335e-02f, 1.898425857e-02f, 1.898937064e-02f, 1.899444955e-02f, 1.899949529e-02f,
+1.900450786e-02f, 1.900948726e-02f, 1.901443346e-02f, 1.901934648e-02f, 1.902422630e-02f, 1.902907292e-02f, 1.903388633e-02f, 1.903866652e-02f, 1.904341349e-02f, 1.904812723e-02f,
+1.905280774e-02f, 1.905745501e-02f, 1.906206903e-02f, 1.906664981e-02f, 1.907119732e-02f, 1.907571158e-02f, 1.908019257e-02f, 1.908464028e-02f, 1.908905472e-02f, 1.909343587e-02f,
+1.909778373e-02f, 1.910209830e-02f, 1.910637957e-02f, 1.911062754e-02f, 1.911484220e-02f, 1.911902354e-02f, 1.912317156e-02f, 1.912728626e-02f, 1.913136763e-02f, 1.913541566e-02f,
+1.913943036e-02f, 1.914341171e-02f, 1.914735971e-02f, 1.915127436e-02f, 1.915515566e-02f, 1.915900359e-02f, 1.916281816e-02f, 1.916659935e-02f, 1.917034718e-02f, 1.917406162e-02f,
+1.917774268e-02f, 1.918139035e-02f, 1.918500464e-02f, 1.918858552e-02f, 1.919213301e-02f, 1.919564710e-02f, 1.919912778e-02f, 1.920257505e-02f, 1.920598891e-02f, 1.920936935e-02f,
+1.921271636e-02f, 1.921602996e-02f, 1.921931012e-02f, 1.922255686e-02f, 1.922577016e-02f, 1.922895002e-02f, 1.923209644e-02f, 1.923520942e-02f, 1.923828894e-02f, 1.924133502e-02f,
+1.924434765e-02f, 1.924732682e-02f, 1.925027252e-02f, 1.925318477e-02f, 1.925606355e-02f, 1.925890887e-02f, 1.926172071e-02f, 1.926449909e-02f, 1.926724398e-02f, 1.926995540e-02f,
+1.927263334e-02f, 1.927527780e-02f, 1.927788877e-02f, 1.928046626e-02f, 1.928301025e-02f, 1.928552076e-02f, 1.928799777e-02f, 1.929044128e-02f, 1.929285130e-02f, 1.929522782e-02f,
+1.929757084e-02f, 1.929988036e-02f, 1.930215637e-02f, 1.930439888e-02f, 1.930660788e-02f, 1.930878337e-02f, 1.931092535e-02f, 1.931303381e-02f, 1.931510877e-02f, 1.931715020e-02f,
+1.931915813e-02f, 1.932113253e-02f, 1.932307342e-02f, 1.932498079e-02f, 1.932685463e-02f, 1.932869496e-02f, 1.933050176e-02f, 1.933227505e-02f, 1.933401480e-02f, 1.933572104e-02f,
+1.933739374e-02f, 1.933903292e-02f, 1.934063858e-02f, 1.934221071e-02f, 1.934374931e-02f, 1.934525438e-02f, 1.934672593e-02f, 1.934816395e-02f, 1.934956843e-02f, 1.935093939e-02f,
+1.935227683e-02f, 1.935358073e-02f, 1.935485110e-02f, 1.935608795e-02f, 1.935729126e-02f, 1.935846105e-02f, 1.935959731e-02f, 1.936070005e-02f, 1.936176925e-02f, 1.936280493e-02f,
+1.936380708e-02f, 1.936477571e-02f, 1.936571081e-02f, 1.936661239e-02f, 1.936748044e-02f, 1.936831497e-02f, 1.936911598e-02f, 1.936988347e-02f, 1.937061743e-02f, 1.937131788e-02f,
+1.937198481e-02f, 1.937261822e-02f, 1.937321811e-02f, 1.937378449e-02f, 1.937431736e-02f, 1.937481672e-02f, 1.937528256e-02f, 1.937571490e-02f, 1.937611372e-02f, 1.937647905e-02f,
+1.937681086e-02f, 1.937710918e-02f, 1.937737399e-02f, 1.937760530e-02f, 1.937780312e-02f, 1.937796744e-02f, 1.937809827e-02f, 1.937819561e-02f, 1.937825946e-02f, 1.937828982e-02f,
+1.937828669e-02f, 1.937825009e-02f, 1.937818000e-02f, 1.937807644e-02f, 1.937793940e-02f, 1.937776889e-02f, 1.937756490e-02f, 1.937732745e-02f, 1.937705654e-02f, 1.937675216e-02f,
+1.937641432e-02f, 1.937604303e-02f, 1.937563828e-02f, 1.937520009e-02f, 1.937472844e-02f, 1.937422335e-02f, 1.937368482e-02f, 1.937311285e-02f, 1.937250745e-02f, 1.937186861e-02f,
+1.937119635e-02f, 1.937049066e-02f, 1.936975155e-02f, 1.936897902e-02f, 1.936817308e-02f, 1.936733373e-02f, 1.936646097e-02f, 1.936555481e-02f, 1.936461524e-02f, 1.936364229e-02f,
+1.936263594e-02f, 1.936159620e-02f, 1.936052308e-02f, 1.935941659e-02f, 1.935827671e-02f, 1.935710347e-02f, 1.935589686e-02f, 1.935465689e-02f, 1.935338356e-02f, 1.935207688e-02f,
+1.935073684e-02f, 1.934936347e-02f, 1.934795675e-02f, 1.934651670e-02f, 1.934504332e-02f, 1.934353662e-02f, 1.934199659e-02f, 1.934042325e-02f, 1.933881660e-02f, 1.933717664e-02f,
+1.933550338e-02f, 1.933379683e-02f, 1.933205699e-02f, 1.933028386e-02f, 1.932847745e-02f, 1.932663777e-02f, 1.932476482e-02f, 1.932285861e-02f, 1.932091914e-02f, 1.931894642e-02f,
+1.931694045e-02f, 1.931490124e-02f, 1.931282879e-02f, 1.931072312e-02f, 1.930858423e-02f, 1.930641211e-02f, 1.930420679e-02f, 1.930196826e-02f, 1.929969653e-02f, 1.929739161e-02f,
+1.929505350e-02f, 1.929268221e-02f, 1.929027775e-02f, 1.928784012e-02f, 1.928536933e-02f, 1.928286539e-02f, 1.928032829e-02f, 1.927775806e-02f, 1.927515469e-02f, 1.927251819e-02f,
+1.926984858e-02f, 1.926714584e-02f, 1.926441000e-02f, 1.926164106e-02f, 1.925883903e-02f, 1.925600391e-02f, 1.925313571e-02f, 1.925023444e-02f, 1.924730011e-02f, 1.924433271e-02f,
+1.924133227e-02f, 1.923829879e-02f, 1.923523227e-02f, 1.923213272e-02f, 1.922900015e-02f, 1.922583457e-02f, 1.922263599e-02f, 1.921940440e-02f, 1.921613983e-02f, 1.921284228e-02f,
+1.920951176e-02f, 1.920614827e-02f, 1.920275182e-02f, 1.919932242e-02f, 1.919586008e-02f, 1.919236481e-02f, 1.918883662e-02f, 1.918527551e-02f, 1.918168149e-02f, 1.917805457e-02f,
+1.917439476e-02f, 1.917070207e-02f, 1.916697651e-02f, 1.916321808e-02f, 1.915942679e-02f, 1.915560266e-02f, 1.915174568e-02f, 1.914785588e-02f, 1.914393326e-02f, 1.913997782e-02f,
+1.913598958e-02f, 1.913196855e-02f, 1.912791474e-02f, 1.912382814e-02f, 1.911970879e-02f, 1.911555667e-02f, 1.911137181e-02f, 1.910715421e-02f, 1.910290388e-02f, 1.909862084e-02f,
+1.909430508e-02f, 1.908995662e-02f, 1.908557548e-02f, 1.908116165e-02f, 1.907671516e-02f, 1.907223600e-02f, 1.906772419e-02f, 1.906317975e-02f, 1.905860267e-02f, 1.905399297e-02f,
+1.904935066e-02f, 1.904467576e-02f, 1.903996826e-02f, 1.903522818e-02f, 1.903045554e-02f, 1.902565034e-02f, 1.902081258e-02f, 1.901594230e-02f, 1.901103948e-02f, 1.900610415e-02f,
+1.900113631e-02f, 1.899613598e-02f, 1.899110317e-02f, 1.898603788e-02f, 1.898094013e-02f, 1.897580993e-02f, 1.897064729e-02f, 1.896545222e-02f, 1.896022473e-02f, 1.895496484e-02f,
+1.894967255e-02f, 1.894434788e-02f, 1.893899084e-02f, 1.893360143e-02f, 1.892817968e-02f, 1.892272559e-02f, 1.891723917e-02f, 1.891172044e-02f, 1.890616940e-02f, 1.890058608e-02f,
+1.889497047e-02f, 1.888932260e-02f, 1.888364247e-02f, 1.887793010e-02f, 1.887218549e-02f, 1.886640867e-02f, 1.886059964e-02f, 1.885475842e-02f, 1.884888501e-02f, 1.884297943e-02f,
+1.883704170e-02f, 1.883107182e-02f, 1.882506980e-02f, 1.881903567e-02f, 1.881296942e-02f, 1.880687109e-02f, 1.880074067e-02f, 1.879457818e-02f, 1.878838363e-02f, 1.878215704e-02f,
+1.877589841e-02f, 1.876960777e-02f, 1.876328513e-02f, 1.875693049e-02f, 1.875054387e-02f, 1.874412529e-02f, 1.873767475e-02f, 1.873119228e-02f, 1.872467788e-02f, 1.871813156e-02f,
+1.871155335e-02f, 1.870494325e-02f, 1.869830128e-02f, 1.869162745e-02f, 1.868492178e-02f, 1.867818428e-02f, 1.867141496e-02f, 1.866461383e-02f, 1.865778092e-02f, 1.865091623e-02f,
+1.864401978e-02f, 1.863709158e-02f, 1.863013165e-02f, 1.862314000e-02f, 1.861611664e-02f, 1.860906160e-02f, 1.860197488e-02f, 1.859485649e-02f, 1.858770646e-02f, 1.858052480e-02f,
+1.857331151e-02f, 1.856606663e-02f, 1.855879015e-02f, 1.855148210e-02f, 1.854414249e-02f, 1.853677133e-02f, 1.852936865e-02f, 1.852193445e-02f, 1.851446875e-02f, 1.850697156e-02f,
+1.849944290e-02f, 1.849188279e-02f, 1.848429124e-02f, 1.847666826e-02f, 1.846901388e-02f, 1.846132810e-02f, 1.845361094e-02f, 1.844586242e-02f, 1.843808255e-02f, 1.843027135e-02f,
+1.842242883e-02f, 1.841455502e-02f, 1.840664991e-02f, 1.839871354e-02f, 1.839074591e-02f, 1.838274705e-02f, 1.837471696e-02f, 1.836665567e-02f, 1.835856319e-02f, 1.835043954e-02f,
+1.834228473e-02f, 1.833409877e-02f, 1.832588169e-02f, 1.831763351e-02f, 1.830935423e-02f, 1.830104387e-02f, 1.829270245e-02f, 1.828433000e-02f, 1.827592651e-02f, 1.826749201e-02f,
+1.825902653e-02f, 1.825053006e-02f, 1.824200264e-02f, 1.823344427e-02f, 1.822485497e-02f, 1.821623477e-02f, 1.820758367e-02f, 1.819890170e-02f, 1.819018887e-02f, 1.818144520e-02f,
+1.817267071e-02f, 1.816386541e-02f, 1.815502932e-02f, 1.814616246e-02f, 1.813726484e-02f, 1.812833649e-02f, 1.811937741e-02f, 1.811038764e-02f, 1.810136718e-02f, 1.809231605e-02f,
+1.808323428e-02f, 1.807412187e-02f, 1.806497885e-02f, 1.805580523e-02f, 1.804660104e-02f, 1.803736628e-02f, 1.802810098e-02f, 1.801880516e-02f, 1.800947884e-02f, 1.800012202e-02f,
+1.799073474e-02f, 1.798131701e-02f, 1.797186884e-02f, 1.796239026e-02f, 1.795288128e-02f, 1.794334192e-02f, 1.793377221e-02f, 1.792417216e-02f, 1.791454178e-02f, 1.790488110e-02f,
+1.789519014e-02f, 1.788546891e-02f, 1.787571743e-02f, 1.786593573e-02f, 1.785612381e-02f, 1.784628171e-02f, 1.783640944e-02f, 1.782650701e-02f, 1.781657445e-02f, 1.780661178e-02f,
+1.779661901e-02f, 1.778659617e-02f, 1.777654327e-02f, 1.776646034e-02f, 1.775634739e-02f, 1.774620444e-02f, 1.773603151e-02f, 1.772582863e-02f, 1.771559580e-02f, 1.770533306e-02f,
+1.769504042e-02f, 1.768471790e-02f, 1.767436552e-02f, 1.766398330e-02f, 1.765357126e-02f, 1.764312942e-02f, 1.763265780e-02f, 1.762215642e-02f, 1.761162530e-02f, 1.760106447e-02f,
+1.759047393e-02f, 1.757985371e-02f, 1.756920384e-02f, 1.755852433e-02f, 1.754781520e-02f, 1.753707647e-02f, 1.752630817e-02f, 1.751551031e-02f, 1.750468291e-02f, 1.749382600e-02f,
+1.748293960e-02f, 1.747202372e-02f, 1.746107839e-02f, 1.745010363e-02f, 1.743909946e-02f, 1.742806590e-02f, 1.741700297e-02f, 1.740591069e-02f, 1.739478909e-02f, 1.738363818e-02f,
+1.737245799e-02f, 1.736124854e-02f, 1.735000984e-02f, 1.733874192e-02f, 1.732744481e-02f, 1.731611852e-02f, 1.730476307e-02f, 1.729337849e-02f, 1.728196480e-02f, 1.727052202e-02f,
+1.725905016e-02f, 1.724754926e-02f, 1.723601934e-02f, 1.722446041e-02f, 1.721287250e-02f, 1.720125563e-02f, 1.718960983e-02f, 1.717793510e-02f, 1.716623149e-02f, 1.715449900e-02f,
+1.714273767e-02f, 1.713094750e-02f, 1.711912854e-02f, 1.710728079e-02f, 1.709540428e-02f, 1.708349903e-02f, 1.707156507e-02f, 1.705960242e-02f, 1.704761109e-02f, 1.703559112e-02f,
+1.702354253e-02f, 1.701146533e-02f, 1.699935956e-02f, 1.698722523e-02f, 1.697506236e-02f, 1.696287099e-02f, 1.695065113e-02f, 1.693840280e-02f, 1.692612604e-02f, 1.691382085e-02f,
+1.690148727e-02f, 1.688912532e-02f, 1.687673502e-02f, 1.686431640e-02f, 1.685186947e-02f, 1.683939427e-02f, 1.682689081e-02f, 1.681435911e-02f, 1.680179922e-02f, 1.678921113e-02f,
+1.677659489e-02f, 1.676395051e-02f, 1.675127801e-02f, 1.673857743e-02f, 1.672584878e-02f, 1.671309209e-02f, 1.670030738e-02f, 1.668749468e-02f, 1.667465400e-02f, 1.666178538e-02f,
+1.664888884e-02f, 1.663596440e-02f, 1.662301209e-02f, 1.661003193e-02f, 1.659702395e-02f, 1.658398816e-02f, 1.657092460e-02f, 1.655783328e-02f, 1.654471424e-02f, 1.653156750e-02f,
+1.651839308e-02f, 1.650519100e-02f, 1.649196130e-02f, 1.647870399e-02f, 1.646541910e-02f, 1.645210665e-02f, 1.643876668e-02f, 1.642539920e-02f, 1.641200425e-02f, 1.639858183e-02f,
+1.638513199e-02f, 1.637165474e-02f, 1.635815011e-02f, 1.634461813e-02f, 1.633105882e-02f, 1.631747220e-02f, 1.630385831e-02f, 1.629021716e-02f, 1.627654878e-02f, 1.626285320e-02f,
+1.624913045e-02f, 1.623538054e-02f, 1.622160350e-02f, 1.620779937e-02f, 1.619396816e-02f, 1.618010990e-02f, 1.616622462e-02f, 1.615231234e-02f, 1.613837308e-02f, 1.612440688e-02f,
+1.611041377e-02f, 1.609639375e-02f, 1.608234687e-02f, 1.606827315e-02f, 1.605417261e-02f, 1.604004529e-02f, 1.602589119e-02f, 1.601171037e-02f, 1.599750283e-02f, 1.598326860e-02f,
+1.596900772e-02f, 1.595472020e-02f, 1.594040608e-02f, 1.592606539e-02f, 1.591169813e-02f, 1.589730436e-02f, 1.588288408e-02f, 1.586843733e-02f, 1.585396414e-02f, 1.583946452e-02f,
+1.582493852e-02f, 1.581038615e-02f, 1.579580744e-02f, 1.578120242e-02f, 1.576657111e-02f, 1.575191355e-02f, 1.573722976e-02f, 1.572251976e-02f, 1.570778359e-02f, 1.569302127e-02f,
+1.567823283e-02f, 1.566341829e-02f, 1.564857769e-02f, 1.563371104e-02f, 1.561881839e-02f, 1.560389975e-02f, 1.558895515e-02f, 1.557398462e-02f, 1.555898819e-02f, 1.554396589e-02f,
+1.552891774e-02f, 1.551384377e-02f, 1.549874401e-02f, 1.548361848e-02f, 1.546846722e-02f, 1.545329026e-02f, 1.543808761e-02f, 1.542285931e-02f, 1.540760538e-02f, 1.539232587e-02f,
+1.537702078e-02f, 1.536169015e-02f, 1.534633402e-02f, 1.533095239e-02f, 1.531554532e-02f, 1.530011282e-02f, 1.528465492e-02f, 1.526917165e-02f, 1.525366303e-02f, 1.523812911e-02f,
+1.522256990e-02f, 1.520698544e-02f, 1.519137575e-02f, 1.517574086e-02f, 1.516008080e-02f, 1.514439560e-02f, 1.512868528e-02f, 1.511294989e-02f, 1.509718943e-02f, 1.508140396e-02f,
+1.506559348e-02f, 1.504975804e-02f, 1.503389766e-02f, 1.501801237e-02f, 1.500210220e-02f, 1.498616718e-02f, 1.497020733e-02f, 1.495422269e-02f, 1.493821329e-02f, 1.492217916e-02f,
+1.490612032e-02f, 1.489003680e-02f, 1.487392863e-02f, 1.485779585e-02f, 1.484163849e-02f, 1.482545656e-02f, 1.480925011e-02f, 1.479301915e-02f, 1.477676373e-02f, 1.476048387e-02f,
+1.474417960e-02f, 1.472785095e-02f, 1.471149795e-02f, 1.469512063e-02f, 1.467871902e-02f, 1.466229315e-02f, 1.464584305e-02f, 1.462936875e-02f, 1.461287028e-02f, 1.459634767e-02f,
+1.457980095e-02f, 1.456323015e-02f, 1.454663530e-02f, 1.453001643e-02f, 1.451337357e-02f, 1.449670676e-02f, 1.448001601e-02f, 1.446330137e-02f, 1.444656286e-02f, 1.442980052e-02f,
+1.441301437e-02f, 1.439620444e-02f, 1.437937077e-02f, 1.436251338e-02f, 1.434563231e-02f, 1.432872759e-02f, 1.431179924e-02f, 1.429484731e-02f, 1.427787181e-02f, 1.426087279e-02f,
+1.424385026e-02f, 1.422680427e-02f, 1.420973484e-02f, 1.419264201e-02f, 1.417552580e-02f, 1.415838625e-02f, 1.414122338e-02f, 1.412403724e-02f, 1.410682784e-02f, 1.408959523e-02f,
+1.407233943e-02f, 1.405506047e-02f, 1.403775839e-02f, 1.402043322e-02f, 1.400308498e-02f, 1.398571372e-02f, 1.396831945e-02f, 1.395090222e-02f, 1.393346206e-02f, 1.391599899e-02f,
+1.389851305e-02f, 1.388100426e-02f, 1.386347267e-02f, 1.384591831e-02f, 1.382834120e-02f, 1.381074137e-02f, 1.379311886e-02f, 1.377547371e-02f, 1.375780594e-02f, 1.374011558e-02f,
+1.372240267e-02f, 1.370466724e-02f, 1.368690932e-02f, 1.366912894e-02f, 1.365132614e-02f, 1.363350095e-02f, 1.361565339e-02f, 1.359778351e-02f, 1.357989134e-02f, 1.356197690e-02f,
+1.354404023e-02f, 1.352608136e-02f, 1.350810033e-02f, 1.349009716e-02f, 1.347207190e-02f, 1.345402456e-02f, 1.343595519e-02f, 1.341786382e-02f, 1.339975048e-02f, 1.338161520e-02f,
+1.336345802e-02f, 1.334527897e-02f, 1.332707808e-02f, 1.330885538e-02f, 1.329061091e-02f, 1.327234470e-02f, 1.325405678e-02f, 1.323574719e-02f, 1.321741596e-02f, 1.319906312e-02f,
+1.318068870e-02f, 1.316229275e-02f, 1.314387529e-02f, 1.312543635e-02f, 1.310697597e-02f, 1.308849418e-02f, 1.306999102e-02f, 1.305146652e-02f, 1.303292071e-02f, 1.301435362e-02f,
+1.299576529e-02f, 1.297715576e-02f, 1.295852505e-02f, 1.293987320e-02f, 1.292120024e-02f, 1.290250621e-02f, 1.288379114e-02f, 1.286505507e-02f, 1.284629802e-02f, 1.282752003e-02f,
+1.280872115e-02f, 1.278990138e-02f, 1.277106079e-02f, 1.275219939e-02f, 1.273331722e-02f, 1.271441432e-02f, 1.269549071e-02f, 1.267654644e-02f, 1.265758154e-02f, 1.263859604e-02f,
+1.261958997e-02f, 1.260056337e-02f, 1.258151628e-02f, 1.256244873e-02f, 1.254336075e-02f, 1.252425237e-02f, 1.250512364e-02f, 1.248597458e-02f, 1.246680524e-02f, 1.244761564e-02f,
+1.242840581e-02f, 1.240917580e-02f, 1.238992564e-02f, 1.237065536e-02f, 1.235136500e-02f, 1.233205459e-02f, 1.231272417e-02f, 1.229337377e-02f, 1.227400343e-02f, 1.225461317e-02f,
+1.223520304e-02f, 1.221577308e-02f, 1.219632331e-02f, 1.217685376e-02f, 1.215736449e-02f, 1.213785551e-02f, 1.211832687e-02f, 1.209877860e-02f, 1.207921074e-02f, 1.205962331e-02f,
+1.204001637e-02f, 1.202038993e-02f, 1.200074404e-02f, 1.198107873e-02f, 1.196139403e-02f, 1.194168999e-02f, 1.192196664e-02f, 1.190222401e-02f, 1.188246213e-02f, 1.186268105e-02f,
+1.184288080e-02f, 1.182306141e-02f, 1.180322292e-02f, 1.178336537e-02f, 1.176348878e-02f, 1.174359321e-02f, 1.172367867e-02f, 1.170374522e-02f, 1.168379287e-02f, 1.166382168e-02f,
+1.164383167e-02f, 1.162382288e-02f, 1.160379534e-02f, 1.158374910e-02f, 1.156368419e-02f, 1.154360064e-02f, 1.152349849e-02f, 1.150337778e-02f, 1.148323854e-02f, 1.146308081e-02f,
+1.144290462e-02f, 1.142271001e-02f, 1.140249701e-02f, 1.138226567e-02f, 1.136201602e-02f, 1.134174809e-02f, 1.132146192e-02f, 1.130115755e-02f, 1.128083501e-02f, 1.126049434e-02f,
+1.124013558e-02f, 1.121975876e-02f, 1.119936392e-02f, 1.117895109e-02f, 1.115852031e-02f, 1.113807163e-02f, 1.111760506e-02f, 1.109712066e-02f, 1.107661846e-02f, 1.105609849e-02f,
+1.103556079e-02f, 1.101500540e-02f, 1.099443235e-02f, 1.097384168e-02f, 1.095323343e-02f, 1.093260764e-02f, 1.091196433e-02f, 1.089130356e-02f, 1.087062535e-02f, 1.084992974e-02f,
+1.082921676e-02f, 1.080848647e-02f, 1.078773888e-02f, 1.076697405e-02f, 1.074619200e-02f, 1.072539278e-02f, 1.070457641e-02f, 1.068374295e-02f, 1.066289241e-02f, 1.064202485e-02f,
+1.062114030e-02f, 1.060023880e-02f, 1.057932038e-02f, 1.055838508e-02f, 1.053743293e-02f, 1.051646399e-02f, 1.049547827e-02f, 1.047447582e-02f, 1.045345669e-02f, 1.043242089e-02f,
+1.041136848e-02f, 1.039029949e-02f, 1.036921395e-02f, 1.034811191e-02f, 1.032699341e-02f, 1.030585847e-02f, 1.028470714e-02f, 1.026353945e-02f, 1.024235545e-02f, 1.022115516e-02f,
+1.019993864e-02f, 1.017870591e-02f, 1.015745701e-02f, 1.013619199e-02f, 1.011491087e-02f, 1.009361370e-02f, 1.007230051e-02f, 1.005097135e-02f, 1.002962625e-02f, 1.000826524e-02f,
+9.986888376e-03f, 9.965495682e-03f, 9.944087201e-03f, 9.922662969e-03f, 9.901223026e-03f, 9.879767409e-03f, 9.858296156e-03f, 9.836809306e-03f, 9.815306896e-03f, 9.793788966e-03f,
+9.772255552e-03f, 9.750706693e-03f, 9.729142428e-03f, 9.707562795e-03f, 9.685967832e-03f, 9.664357577e-03f, 9.642732068e-03f, 9.621091345e-03f, 9.599435445e-03f, 9.577764407e-03f,
+9.556078269e-03f, 9.534377070e-03f, 9.512660848e-03f, 9.490929641e-03f, 9.469183489e-03f, 9.447422429e-03f, 9.425646501e-03f, 9.403855743e-03f, 9.382050193e-03f, 9.360229890e-03f,
+9.338394873e-03f, 9.316545180e-03f, 9.294680851e-03f, 9.272801923e-03f, 9.250908437e-03f, 9.229000429e-03f, 9.207077940e-03f, 9.185141008e-03f, 9.163189672e-03f, 9.141223970e-03f,
+9.119243942e-03f, 9.097249627e-03f, 9.075241063e-03f, 9.053218290e-03f, 9.031181346e-03f, 9.009130270e-03f, 8.987065102e-03f, 8.964985880e-03f, 8.942892644e-03f, 8.920785432e-03f,
+8.898664284e-03f, 8.876529239e-03f, 8.854380336e-03f, 8.832217614e-03f, 8.810041112e-03f, 8.787850870e-03f, 8.765646926e-03f, 8.743429321e-03f, 8.721198093e-03f, 8.698953281e-03f,
+8.676694925e-03f, 8.654423065e-03f, 8.632137739e-03f, 8.609838987e-03f, 8.587526849e-03f, 8.565201363e-03f, 8.542862569e-03f, 8.520510507e-03f, 8.498145216e-03f, 8.475766736e-03f,
+8.453375106e-03f, 8.430970366e-03f, 8.408552555e-03f, 8.386121713e-03f, 8.363677879e-03f, 8.341221094e-03f, 8.318751396e-03f, 8.296268825e-03f, 8.273773422e-03f, 8.251265225e-03f,
+8.228744275e-03f, 8.206210610e-03f, 8.183664272e-03f, 8.161105300e-03f, 8.138533733e-03f, 8.115949611e-03f, 8.093352974e-03f, 8.070743863e-03f, 8.048122316e-03f, 8.025488374e-03f,
+8.002842077e-03f, 7.980183464e-03f, 7.957512576e-03f, 7.934829453e-03f, 7.912134134e-03f, 7.889426659e-03f, 7.866707069e-03f, 7.843975403e-03f, 7.821231702e-03f, 7.798476006e-03f,
+7.775708354e-03f, 7.752928787e-03f, 7.730137345e-03f, 7.707334069e-03f, 7.684518997e-03f, 7.661692171e-03f, 7.638853631e-03f, 7.616003417e-03f, 7.593141568e-03f, 7.570268126e-03f,
+7.547383131e-03f, 7.524486622e-03f, 7.501578641e-03f, 7.478659228e-03f, 7.455728422e-03f, 7.432786264e-03f, 7.409832795e-03f, 7.386868055e-03f, 7.363892084e-03f, 7.340904923e-03f,
+7.317906613e-03f, 7.294897193e-03f, 7.271876704e-03f, 7.248845186e-03f, 7.225802681e-03f, 7.202749229e-03f, 7.179684869e-03f, 7.156609644e-03f, 7.133523593e-03f, 7.110426756e-03f,
+7.087319175e-03f, 7.064200890e-03f, 7.041071942e-03f, 7.017932372e-03f, 6.994782219e-03f, 6.971621525e-03f, 6.948450330e-03f, 6.925268676e-03f, 6.902076602e-03f, 6.878874150e-03f,
+6.855661360e-03f, 6.832438273e-03f, 6.809204930e-03f, 6.785961372e-03f, 6.762707640e-03f, 6.739443773e-03f, 6.716169814e-03f, 6.692885803e-03f, 6.669591780e-03f, 6.646287788e-03f,
+6.622973866e-03f, 6.599650055e-03f, 6.576316397e-03f, 6.552972933e-03f, 6.529619703e-03f, 6.506256748e-03f, 6.482884110e-03f, 6.459501829e-03f, 6.436109947e-03f, 6.412708504e-03f,
+6.389297541e-03f, 6.365877100e-03f, 6.342447221e-03f, 6.319007946e-03f, 6.295559316e-03f, 6.272101372e-03f, 6.248634155e-03f, 6.225157706e-03f, 6.201672066e-03f, 6.178177276e-03f,
+6.154673379e-03f, 6.131160414e-03f, 6.107638423e-03f, 6.084107447e-03f, 6.060567528e-03f, 6.037018706e-03f, 6.013461023e-03f, 5.989894521e-03f, 5.966319240e-03f, 5.942735221e-03f,
+5.919142507e-03f, 5.895541138e-03f, 5.871931156e-03f, 5.848312602e-03f, 5.824685518e-03f, 5.801049944e-03f, 5.777405922e-03f, 5.753753494e-03f, 5.730092700e-03f, 5.706423583e-03f,
+5.682746184e-03f, 5.659060544e-03f, 5.635366705e-03f, 5.611664707e-03f, 5.587954594e-03f, 5.564236405e-03f, 5.540510183e-03f, 5.516775968e-03f, 5.493033804e-03f, 5.469283730e-03f,
+5.445525789e-03f, 5.421760022e-03f, 5.397986471e-03f, 5.374205177e-03f, 5.350416182e-03f, 5.326619527e-03f, 5.302815254e-03f, 5.279003405e-03f, 5.255184021e-03f, 5.231357144e-03f,
+5.207522816e-03f, 5.183681077e-03f, 5.159831971e-03f, 5.135975538e-03f, 5.112111820e-03f, 5.088240859e-03f, 5.064362696e-03f, 5.040477374e-03f, 5.016584934e-03f, 4.992685417e-03f,
+4.968778866e-03f, 4.944865322e-03f, 4.920944827e-03f, 4.897017422e-03f, 4.873083150e-03f, 4.849142052e-03f, 4.825194171e-03f, 4.801239547e-03f, 4.777278223e-03f, 4.753310240e-03f,
+4.729335640e-03f, 4.705354466e-03f, 4.681366759e-03f, 4.657372560e-03f, 4.633371912e-03f, 4.609364857e-03f, 4.585351436e-03f, 4.561331691e-03f, 4.537305665e-03f, 4.513273398e-03f,
+4.489234934e-03f, 4.465190313e-03f, 4.441139579e-03f, 4.417082772e-03f, 4.393019935e-03f, 4.368951109e-03f, 4.344876338e-03f, 4.320795661e-03f, 4.296709123e-03f, 4.272616764e-03f,
+4.248518626e-03f, 4.224414752e-03f, 4.200305183e-03f, 4.176189962e-03f, 4.152069131e-03f, 4.127942731e-03f, 4.103810805e-03f, 4.079673394e-03f, 4.055530541e-03f, 4.031382287e-03f,
+4.007228676e-03f, 3.983069748e-03f, 3.958905546e-03f, 3.934736112e-03f, 3.910561488e-03f, 3.886381716e-03f, 3.862196838e-03f, 3.838006897e-03f, 3.813811934e-03f, 3.789611991e-03f,
+3.765407111e-03f, 3.741197336e-03f, 3.716982708e-03f, 3.692763269e-03f, 3.668539061e-03f, 3.644310126e-03f, 3.620076506e-03f, 3.595838245e-03f, 3.571595382e-03f, 3.547347962e-03f,
+3.523096026e-03f, 3.498839616e-03f, 3.474578775e-03f, 3.450313544e-03f, 3.426043966e-03f, 3.401770083e-03f, 3.377491937e-03f, 3.353209571e-03f, 3.328923026e-03f, 3.304632345e-03f,
+3.280337570e-03f, 3.256038743e-03f, 3.231735907e-03f, 3.207429103e-03f, 3.183118375e-03f, 3.158803763e-03f, 3.134485311e-03f, 3.110163060e-03f, 3.085837054e-03f, 3.061507333e-03f,
+3.037173941e-03f, 3.012836920e-03f, 2.988496311e-03f, 2.964152158e-03f, 2.939804502e-03f, 2.915453386e-03f, 2.891098851e-03f, 2.866740941e-03f, 2.842379698e-03f, 2.818015163e-03f,
+2.793647380e-03f, 2.769276390e-03f, 2.744902236e-03f, 2.720524959e-03f, 2.696144603e-03f, 2.671761210e-03f, 2.647374821e-03f, 2.622985480e-03f, 2.598593228e-03f, 2.574198108e-03f,
+2.549800162e-03f, 2.525399432e-03f, 2.500995961e-03f, 2.476589792e-03f, 2.452180965e-03f, 2.427769525e-03f, 2.403355512e-03f, 2.378938970e-03f, 2.354519940e-03f, 2.330098466e-03f,
+2.305674588e-03f, 2.281248351e-03f, 2.256819795e-03f, 2.232388964e-03f, 2.207955899e-03f, 2.183520644e-03f, 2.159083239e-03f, 2.134643729e-03f, 2.110202154e-03f, 2.085758558e-03f,
+2.061312982e-03f, 2.036865470e-03f, 2.012416062e-03f, 1.987964803e-03f, 1.963511733e-03f, 1.939056896e-03f, 1.914600334e-03f, 1.890142088e-03f, 1.865682202e-03f, 1.841220718e-03f,
+1.816757678e-03f, 1.792293124e-03f, 1.767827099e-03f, 1.743359645e-03f, 1.718890805e-03f, 1.694420620e-03f, 1.669949134e-03f, 1.645476387e-03f, 1.621002424e-03f, 1.596527286e-03f,
+1.572051015e-03f, 1.547573654e-03f, 1.523095246e-03f, 1.498615831e-03f, 1.474135454e-03f, 1.449654156e-03f, 1.425171979e-03f, 1.400688966e-03f, 1.376205159e-03f, 1.351720600e-03f,
+1.327235333e-03f, 1.302749398e-03f, 1.278262839e-03f, 1.253775697e-03f, 1.229288016e-03f, 1.204799837e-03f, 1.180311203e-03f, 1.155822156e-03f, 1.131332738e-03f, 1.106842991e-03f,
+1.082352959e-03f, 1.057862682e-03f, 1.033372205e-03f, 1.008881568e-03f, 9.843908141e-04f, 9.598999858e-04f, 9.354091252e-04f, 9.109182745e-04f, 8.864274762e-04f, 8.619367724e-04f,
+8.374462054e-04f, 8.129558176e-04f, 7.884656511e-04f, 7.639757484e-04f, 7.394861515e-04f, 7.149969028e-04f, 6.905080446e-04f, 6.660196191e-04f, 6.415316685e-04f, 6.170442352e-04f,
+5.925573612e-04f, 5.680710890e-04f, 5.435854608e-04f, 5.191005186e-04f, 4.946163049e-04f, 4.701328618e-04f, 4.456502316e-04f, 4.211684564e-04f, 3.966875785e-04f, 3.722076400e-04f,
+3.477286833e-04f, 3.232507504e-04f, 2.987738837e-04f, 2.742981252e-04f, 2.498235171e-04f, 2.253501017e-04f, 2.008779211e-04f, 1.764070175e-04f, 1.519374331e-04f, 1.274692100e-04f,
+1.030023903e-04f, 7.853701630e-05f, 5.407313005e-05f, 2.961077371e-05f, 5.149989409e-06f, -1.930918071e-05f, -4.376669453e-05f, -6.822250994e-05f, -9.267658481e-05f, -1.171288771e-04f,
+-1.415793446e-04f, -1.660279452e-04f, -1.904746370e-04f, -2.149193777e-04f, -2.393621254e-04f, -2.638028379e-04f, -2.882414732e-04f, -3.126779892e-04f, -3.371123439e-04f, -3.615444952e-04f,
+-3.859744011e-04f, -4.104020196e-04f, -4.348273086e-04f, -4.592502261e-04f, -4.836707302e-04f, -5.080887787e-04f, -5.325043298e-04f, -5.569173413e-04f, -5.813277714e-04f, -6.057355780e-04f,
+-6.301407193e-04f, -6.545431531e-04f, -6.789428377e-04f, -7.033397309e-04f, -7.277337910e-04f, -7.521249759e-04f, -7.765132437e-04f, -8.008985526e-04f, -8.252808605e-04f, -8.496601257e-04f,
+-8.740363062e-04f, -8.984093602e-04f, -9.227792457e-04f, -9.471459209e-04f, -9.715093439e-04f, -9.958694729e-04f, -1.020226266e-03f, -1.044579682e-03f, -1.068929678e-03f, -1.093276212e-03f,
+-1.117619244e-03f, -1.141958730e-03f, -1.166294630e-03f, -1.190626901e-03f, -1.214955503e-03f, -1.239280392e-03f, -1.263601527e-03f, -1.287918867e-03f, -1.312232369e-03f, -1.336541992e-03f,
+-1.360847695e-03f, -1.385149435e-03f, -1.409447172e-03f, -1.433740862e-03f, -1.458030465e-03f, -1.482315939e-03f, -1.506597242e-03f, -1.530874332e-03f, -1.555147169e-03f, -1.579415709e-03f,
+-1.603679913e-03f, -1.627939737e-03f, -1.652195141e-03f, -1.676446083e-03f, -1.700692521e-03f, -1.724934414e-03f, -1.749171720e-03f, -1.773404398e-03f, -1.797632405e-03f, -1.821855702e-03f,
+-1.846074245e-03f, -1.870287994e-03f, -1.894496907e-03f, -1.918700943e-03f, -1.942900059e-03f, -1.967094216e-03f, -1.991283371e-03f, -2.015467482e-03f, -2.039646509e-03f, -2.063820410e-03f,
+-2.087989143e-03f, -2.112152668e-03f, -2.136310942e-03f, -2.160463925e-03f, -2.184611575e-03f, -2.208753850e-03f, -2.232890710e-03f, -2.257022113e-03f, -2.281148018e-03f, -2.305268384e-03f,
+-2.329383168e-03f, -2.353492331e-03f, -2.377595830e-03f, -2.401693625e-03f, -2.425785674e-03f, -2.449871936e-03f, -2.473952370e-03f, -2.498026935e-03f, -2.522095588e-03f, -2.546158291e-03f,
+-2.570215000e-03f, -2.594265675e-03f, -2.618310275e-03f, -2.642348759e-03f, -2.666381086e-03f, -2.690407214e-03f, -2.714427103e-03f, -2.738440711e-03f, -2.762447997e-03f, -2.786448921e-03f,
+-2.810443441e-03f, -2.834431516e-03f, -2.858413106e-03f, -2.882388169e-03f, -2.906356665e-03f, -2.930318552e-03f, -2.954273789e-03f, -2.978222336e-03f, -3.002164152e-03f, -3.026099195e-03f,
+-3.050027426e-03f, -3.073948802e-03f, -3.097863284e-03f, -3.121770830e-03f, -3.145671399e-03f, -3.169564951e-03f, -3.193451446e-03f, -3.217330841e-03f, -3.241203097e-03f, -3.265068172e-03f,
+-3.288926027e-03f, -3.312776619e-03f, -3.336619909e-03f, -3.360455856e-03f, -3.384284420e-03f, -3.408105558e-03f, -3.431919232e-03f, -3.455725400e-03f, -3.479524021e-03f, -3.503315055e-03f,
+-3.527098462e-03f, -3.550874201e-03f, -3.574642232e-03f, -3.598402513e-03f, -3.622155004e-03f, -3.645899665e-03f, -3.669636456e-03f, -3.693365335e-03f, -3.717086263e-03f, -3.740799199e-03f,
+-3.764504103e-03f, -3.788200934e-03f, -3.811889651e-03f, -3.835570215e-03f, -3.859242586e-03f, -3.882906722e-03f, -3.906562583e-03f, -3.930210130e-03f, -3.953849321e-03f, -3.977480117e-03f,
+-4.001102478e-03f, -4.024716362e-03f, -4.048321731e-03f, -4.071918543e-03f, -4.095506759e-03f, -4.119086339e-03f, -4.142657241e-03f, -4.166219427e-03f, -4.189772856e-03f, -4.213317487e-03f,
+-4.236853282e-03f, -4.260380199e-03f, -4.283898200e-03f, -4.307407243e-03f, -4.330907288e-03f, -4.354398297e-03f, -4.377880228e-03f, -4.401353043e-03f, -4.424816700e-03f, -4.448271160e-03f,
+-4.471716384e-03f, -4.495152331e-03f, -4.518578961e-03f, -4.541996235e-03f, -4.565404113e-03f, -4.588802554e-03f, -4.612191520e-03f, -4.635570971e-03f, -4.658940866e-03f, -4.682301166e-03f,
+-4.705651831e-03f, -4.728992822e-03f, -4.752324099e-03f, -4.775645623e-03f, -4.798957353e-03f, -4.822259250e-03f, -4.845551275e-03f, -4.868833388e-03f, -4.892105549e-03f, -4.915367719e-03f,
+-4.938619858e-03f, -4.961861928e-03f, -4.985093887e-03f, -5.008315698e-03f, -5.031527321e-03f, -5.054728715e-03f, -5.077919842e-03f, -5.101100663e-03f, -5.124271138e-03f, -5.147431227e-03f,
+-5.170580892e-03f, -5.193720094e-03f, -5.216848792e-03f, -5.239966947e-03f, -5.263074522e-03f, -5.286171475e-03f, -5.309257769e-03f, -5.332333363e-03f, -5.355398219e-03f, -5.378452298e-03f,
+-5.401495561e-03f, -5.424527968e-03f, -5.447549480e-03f, -5.470560059e-03f, -5.493559665e-03f, -5.516548260e-03f, -5.539525804e-03f, -5.562492259e-03f, -5.585447585e-03f, -5.608391744e-03f,
+-5.631324697e-03f, -5.654246404e-03f, -5.677156828e-03f, -5.700055929e-03f, -5.722943669e-03f, -5.745820009e-03f, -5.768684909e-03f, -5.791538332e-03f, -5.814380238e-03f, -5.837210589e-03f,
+-5.860029347e-03f, -5.882836472e-03f, -5.905631926e-03f, -5.928415671e-03f, -5.951187667e-03f, -5.973947877e-03f, -5.996696262e-03f, -6.019432782e-03f, -6.042157401e-03f, -6.064870079e-03f,
+-6.087570778e-03f, -6.110259460e-03f, -6.132936085e-03f, -6.155600617e-03f, -6.178253016e-03f, -6.200893244e-03f, -6.223521263e-03f, -6.246137035e-03f, -6.268740520e-03f, -6.291331683e-03f,
+-6.313910483e-03f, -6.336476882e-03f, -6.359030844e-03f, -6.381572329e-03f, -6.404101299e-03f, -6.426617717e-03f, -6.449121544e-03f, -6.471612743e-03f, -6.494091274e-03f, -6.516557101e-03f,
+-6.539010186e-03f, -6.561450489e-03f, -6.583877975e-03f, -6.606292604e-03f, -6.628694338e-03f, -6.651083141e-03f, -6.673458974e-03f, -6.695821799e-03f, -6.718171579e-03f, -6.740508276e-03f,
+-6.762831852e-03f, -6.785142269e-03f, -6.807439490e-03f, -6.829723478e-03f, -6.851994194e-03f, -6.874251601e-03f, -6.896495662e-03f, -6.918726339e-03f, -6.940943594e-03f, -6.963147390e-03f,
+-6.985337690e-03f, -7.007514456e-03f, -7.029677651e-03f, -7.051827237e-03f, -7.073963177e-03f, -7.096085434e-03f, -7.118193970e-03f, -7.140288748e-03f, -7.162369731e-03f, -7.184436882e-03f,
+-7.206490163e-03f, -7.228529538e-03f, -7.250554969e-03f, -7.272566419e-03f, -7.294563851e-03f, -7.316547228e-03f, -7.338516512e-03f, -7.360471668e-03f, -7.382412658e-03f, -7.404339444e-03f,
+-7.426251991e-03f, -7.448150261e-03f, -7.470034217e-03f, -7.491903822e-03f, -7.513759041e-03f, -7.535599835e-03f, -7.557426168e-03f, -7.579238003e-03f, -7.601035304e-03f, -7.622818035e-03f,
+-7.644586157e-03f, -7.666339635e-03f, -7.688078433e-03f, -7.709802513e-03f, -7.731511838e-03f, -7.753206374e-03f, -7.774886082e-03f, -7.796550927e-03f, -7.818200872e-03f, -7.839835881e-03f,
+-7.861455917e-03f, -7.883060944e-03f, -7.904650926e-03f, -7.926225827e-03f, -7.947785609e-03f, -7.969330238e-03f, -7.990859676e-03f, -8.012373888e-03f, -8.033872837e-03f, -8.055356487e-03f,
+-8.076824803e-03f, -8.098277748e-03f, -8.119715286e-03f, -8.141137381e-03f, -8.162543997e-03f, -8.183935099e-03f, -8.205310649e-03f, -8.226670614e-03f, -8.248014956e-03f, -8.269343639e-03f,
+-8.290656629e-03f, -8.311953888e-03f, -8.333235383e-03f, -8.354501076e-03f, -8.375750932e-03f, -8.396984915e-03f, -8.418202990e-03f, -8.439405122e-03f, -8.460591274e-03f, -8.481761411e-03f,
+-8.502915498e-03f, -8.524053500e-03f, -8.545175379e-03f, -8.566281103e-03f, -8.587370634e-03f, -8.608443938e-03f, -8.629500979e-03f, -8.650541722e-03f, -8.671566132e-03f, -8.692574173e-03f,
+-8.713565811e-03f, -8.734541009e-03f, -8.755499734e-03f, -8.776441950e-03f, -8.797367622e-03f, -8.818276714e-03f, -8.839169193e-03f, -8.860045022e-03f, -8.880904167e-03f, -8.901746593e-03f,
+-8.922572265e-03f, -8.943381148e-03f, -8.964173208e-03f, -8.984948409e-03f, -9.005706717e-03f, -9.026448097e-03f, -9.047172515e-03f, -9.067879935e-03f, -9.088570324e-03f, -9.109243646e-03f,
+-9.129899867e-03f, -9.150538952e-03f, -9.171160868e-03f, -9.191765579e-03f, -9.212353050e-03f, -9.232923249e-03f, -9.253476139e-03f, -9.274011687e-03f, -9.294529859e-03f, -9.315030620e-03f,
+-9.335513936e-03f, -9.355979773e-03f, -9.376428097e-03f, -9.396858873e-03f, -9.417272067e-03f, -9.437667645e-03f, -9.458045574e-03f, -9.478405819e-03f, -9.498748346e-03f, -9.519073121e-03f,
+-9.539380110e-03f, -9.559669280e-03f, -9.579940596e-03f, -9.600194025e-03f, -9.620429533e-03f, -9.640647086e-03f, -9.660846651e-03f, -9.681028193e-03f, -9.701191679e-03f, -9.721337076e-03f,
+-9.741464349e-03f, -9.761573466e-03f, -9.781664393e-03f, -9.801737096e-03f, -9.821791541e-03f, -9.841827697e-03f, -9.861845528e-03f, -9.881845001e-03f, -9.901826084e-03f, -9.921788744e-03f,
+-9.941732945e-03f, -9.961658657e-03f, -9.981565845e-03f, -1.000145448e-02f, -1.002132452e-02f, -1.004117593e-02f, -1.006100870e-02f, -1.008082277e-02f, -1.010061812e-02f, -1.012039472e-02f,
+-1.014015252e-02f, -1.015989151e-02f, -1.017961165e-02f, -1.019931289e-02f, -1.021899522e-02f, -1.023865860e-02f, -1.025830299e-02f, -1.027792836e-02f, -1.029753469e-02f, -1.031712193e-02f,
+-1.033669005e-02f, -1.035623903e-02f, -1.037576883e-02f, -1.039527942e-02f, -1.041477076e-02f, -1.043424282e-02f, -1.045369558e-02f, -1.047312899e-02f, -1.049254302e-02f, -1.051193766e-02f,
+-1.053131285e-02f, -1.055066857e-02f, -1.057000479e-02f, -1.058932147e-02f, -1.060861858e-02f, -1.062789610e-02f, -1.064715398e-02f, -1.066639221e-02f, -1.068561073e-02f, -1.070480953e-02f,
+-1.072398857e-02f, -1.074314782e-02f, -1.076228725e-02f, -1.078140682e-02f, -1.080050650e-02f, -1.081958627e-02f, -1.083864609e-02f, -1.085768593e-02f, -1.087670576e-02f, -1.089570554e-02f,
+-1.091468525e-02f, -1.093364484e-02f, -1.095258431e-02f, -1.097150360e-02f, -1.099040269e-02f, -1.100928155e-02f, -1.102814014e-02f, -1.104697844e-02f, -1.106579641e-02f, -1.108459403e-02f,
+-1.110337126e-02f, -1.112212807e-02f, -1.114086442e-02f, -1.115958030e-02f, -1.117827566e-02f, -1.119695048e-02f, -1.121560473e-02f, -1.123423837e-02f, -1.125285138e-02f, -1.127144372e-02f,
+-1.129001536e-02f, -1.130856627e-02f, -1.132709643e-02f, -1.134560579e-02f, -1.136409433e-02f, -1.138256203e-02f, -1.140100884e-02f, -1.141943474e-02f, -1.143783970e-02f, -1.145622369e-02f,
+-1.147458667e-02f, -1.149292862e-02f, -1.151124951e-02f, -1.152954931e-02f, -1.154782798e-02f, -1.156608549e-02f, -1.158432182e-02f, -1.160253694e-02f, -1.162073081e-02f, -1.163890341e-02f,
+-1.165705471e-02f, -1.167518467e-02f, -1.169329326e-02f, -1.171138046e-02f, -1.172944624e-02f, -1.174749057e-02f, -1.176551341e-02f, -1.178351473e-02f, -1.180149452e-02f, -1.181945273e-02f,
+-1.183738934e-02f, -1.185530432e-02f, -1.187319764e-02f, -1.189106927e-02f, -1.190891917e-02f, -1.192674733e-02f, -1.194455371e-02f, -1.196233828e-02f, -1.198010101e-02f, -1.199784188e-02f,
+-1.201556085e-02f, -1.203325790e-02f, -1.205093299e-02f, -1.206858610e-02f, -1.208621720e-02f, -1.210382626e-02f, -1.212141324e-02f, -1.213897813e-02f, -1.215652089e-02f, -1.217404149e-02f,
+-1.219153991e-02f, -1.220901611e-02f, -1.222647007e-02f, -1.224390176e-02f, -1.226131115e-02f, -1.227869821e-02f, -1.229606291e-02f, -1.231340522e-02f, -1.233072512e-02f, -1.234802258e-02f,
+-1.236529757e-02f, -1.238255006e-02f, -1.239978002e-02f, -1.241698742e-02f, -1.243417224e-02f, -1.245133444e-02f, -1.246847401e-02f, -1.248559091e-02f, -1.250268511e-02f, -1.251975658e-02f,
+-1.253680530e-02f, -1.255383124e-02f, -1.257083438e-02f, -1.258781467e-02f, -1.260477210e-02f, -1.262170664e-02f, -1.263861826e-02f, -1.265550693e-02f, -1.267237263e-02f, -1.268921532e-02f,
+-1.270603498e-02f, -1.272283158e-02f, -1.273960510e-02f, -1.275635551e-02f, -1.277308277e-02f, -1.278978687e-02f, -1.280646777e-02f, -1.282312545e-02f, -1.283975988e-02f, -1.285637104e-02f,
+-1.287295889e-02f, -1.288952341e-02f, -1.290606457e-02f, -1.292258234e-02f, -1.293907670e-02f, -1.295554763e-02f, -1.297199509e-02f, -1.298841905e-02f, -1.300481950e-02f, -1.302119640e-02f,
+-1.303754972e-02f, -1.305387945e-02f, -1.307018555e-02f, -1.308646799e-02f, -1.310272676e-02f, -1.311896182e-02f, -1.313517315e-02f, -1.315136072e-02f, -1.316752450e-02f, -1.318366447e-02f,
+-1.319978060e-02f, -1.321587287e-02f, -1.323194125e-02f, -1.324798571e-02f, -1.326400623e-02f, -1.328000278e-02f, -1.329597533e-02f, -1.331192387e-02f, -1.332784835e-02f, -1.334374877e-02f,
+-1.335962508e-02f, -1.337547727e-02f, -1.339130531e-02f, -1.340710917e-02f, -1.342288883e-02f, -1.343864427e-02f, -1.345437545e-02f, -1.347008235e-02f, -1.348576494e-02f, -1.350142321e-02f,
+-1.351705712e-02f, -1.353266665e-02f, -1.354825178e-02f, -1.356381247e-02f, -1.357934871e-02f, -1.359486047e-02f, -1.361034772e-02f, -1.362581043e-02f, -1.364124859e-02f, -1.365666217e-02f,
+-1.367205114e-02f, -1.368741548e-02f, -1.370275516e-02f, -1.371807016e-02f, -1.373336045e-02f, -1.374862601e-02f, -1.376386682e-02f, -1.377908284e-02f, -1.379427406e-02f, -1.380944044e-02f,
+-1.382458198e-02f, -1.383969863e-02f, -1.385479038e-02f, -1.386985720e-02f, -1.388489907e-02f, -1.389991596e-02f, -1.391490785e-02f, -1.392987472e-02f, -1.394481653e-02f, -1.395973327e-02f,
+-1.397462492e-02f, -1.398949144e-02f, -1.400433281e-02f, -1.401914902e-02f, -1.403394003e-02f, -1.404870582e-02f, -1.406344637e-02f, -1.407816166e-02f, -1.409285166e-02f, -1.410751634e-02f,
+-1.412215569e-02f, -1.413676968e-02f, -1.415135828e-02f, -1.416592148e-02f, -1.418045924e-02f, -1.419497155e-02f, -1.420945839e-02f, -1.422391972e-02f, -1.423835553e-02f, -1.425276579e-02f,
+-1.426715048e-02f, -1.428150957e-02f, -1.429584305e-02f, -1.431015089e-02f, -1.432443307e-02f, -1.433868956e-02f, -1.435292034e-02f, -1.436712539e-02f, -1.438130468e-02f, -1.439545820e-02f,
+-1.440958591e-02f, -1.442368781e-02f, -1.443776386e-02f, -1.445181403e-02f, -1.446583832e-02f, -1.447983670e-02f, -1.449380914e-02f, -1.450775562e-02f, -1.452167612e-02f, -1.453557062e-02f,
+-1.454943909e-02f, -1.456328151e-02f, -1.457709787e-02f, -1.459088813e-02f, -1.460465228e-02f, -1.461839029e-02f, -1.463210215e-02f, -1.464578783e-02f, -1.465944730e-02f, -1.467308055e-02f,
+-1.468668755e-02f, -1.470026829e-02f, -1.471382274e-02f, -1.472735087e-02f, -1.474085268e-02f, -1.475432813e-02f, -1.476777720e-02f, -1.478119988e-02f, -1.479459614e-02f, -1.480796596e-02f,
+-1.482130932e-02f, -1.483462619e-02f, -1.484791657e-02f, -1.486118041e-02f, -1.487441771e-02f, -1.488762845e-02f, -1.490081259e-02f, -1.491397013e-02f, -1.492710103e-02f, -1.494020529e-02f,
+-1.495328287e-02f, -1.496633376e-02f, -1.497935793e-02f, -1.499235537e-02f, -1.500532606e-02f, -1.501826997e-02f, -1.503118708e-02f, -1.504407738e-02f, -1.505694083e-02f, -1.506977743e-02f,
+-1.508258716e-02f, -1.509536998e-02f, -1.510812588e-02f, -1.512085485e-02f, -1.513355685e-02f, -1.514623188e-02f, -1.515887990e-02f, -1.517150091e-02f, -1.518409488e-02f, -1.519666178e-02f,
+-1.520920161e-02f, -1.522171433e-02f, -1.523419994e-02f, -1.524665841e-02f, -1.525908972e-02f, -1.527149385e-02f, -1.528387078e-02f, -1.529622049e-02f, -1.530854297e-02f, -1.532083818e-02f,
+-1.533310613e-02f, -1.534534677e-02f, -1.535756010e-02f, -1.536974610e-02f, -1.538190474e-02f, -1.539403601e-02f, -1.540613989e-02f, -1.541821636e-02f, -1.543026539e-02f, -1.544228698e-02f,
+-1.545428110e-02f, -1.546624773e-02f, -1.547818686e-02f, -1.549009846e-02f, -1.550198251e-02f, -1.551383901e-02f, -1.552566792e-02f, -1.553746924e-02f, -1.554924293e-02f, -1.556098899e-02f,
+-1.557270739e-02f, -1.558439812e-02f, -1.559606116e-02f, -1.560769649e-02f, -1.561930409e-02f, -1.563088394e-02f, -1.564243603e-02f, -1.565396033e-02f, -1.566545684e-02f, -1.567692552e-02f,
+-1.568836636e-02f, -1.569977936e-02f, -1.571116447e-02f, -1.572252170e-02f, -1.573385102e-02f, -1.574515241e-02f, -1.575642586e-02f, -1.576767135e-02f, -1.577888885e-02f, -1.579007836e-02f,
+-1.580123986e-02f, -1.581237332e-02f, -1.582347874e-02f, -1.583455608e-02f, -1.584560535e-02f, -1.585662651e-02f, -1.586761955e-02f, -1.587858446e-02f, -1.588952122e-02f, -1.590042981e-02f,
+-1.591131021e-02f, -1.592216240e-02f, -1.593298638e-02f, -1.594378212e-02f, -1.595454961e-02f, -1.596528882e-02f, -1.597599975e-02f, -1.598668237e-02f, -1.599733667e-02f, -1.600796264e-02f,
+-1.601856025e-02f, -1.602912949e-02f, -1.603967034e-02f, -1.605018280e-02f, -1.606066683e-02f, -1.607112242e-02f, -1.608154957e-02f, -1.609194825e-02f, -1.610231844e-02f, -1.611266013e-02f,
+-1.612297331e-02f, -1.613325796e-02f, -1.614351405e-02f, -1.615374159e-02f, -1.616394054e-02f, -1.617411090e-02f, -1.618425265e-02f, -1.619436577e-02f, -1.620445025e-02f, -1.621450607e-02f,
+-1.622453322e-02f, -1.623453168e-02f, -1.624450144e-02f, -1.625444248e-02f, -1.626435478e-02f, -1.627423833e-02f, -1.628409312e-02f, -1.629391913e-02f, -1.630371634e-02f, -1.631348474e-02f,
+-1.632322432e-02f, -1.633293505e-02f, -1.634261693e-02f, -1.635226994e-02f, -1.636189407e-02f, -1.637148930e-02f, -1.638105561e-02f, -1.639059300e-02f, -1.640010144e-02f, -1.640958092e-02f,
+-1.641903143e-02f, -1.642845295e-02f, -1.643784548e-02f, -1.644720898e-02f, -1.645654346e-02f, -1.646584890e-02f, -1.647512527e-02f, -1.648437257e-02f, -1.649359079e-02f, -1.650277991e-02f,
+-1.651193991e-02f, -1.652107078e-02f, -1.653017252e-02f, -1.653924509e-02f, -1.654828850e-02f, -1.655730272e-02f, -1.656628775e-02f, -1.657524356e-02f, -1.658417016e-02f, -1.659306751e-02f,
+-1.660193561e-02f, -1.661077445e-02f, -1.661958401e-02f, -1.662836428e-02f, -1.663711524e-02f, -1.664583689e-02f, -1.665452920e-02f, -1.666319218e-02f, -1.667182579e-02f, -1.668043004e-02f,
+-1.668900490e-02f, -1.669755037e-02f, -1.670606642e-02f, -1.671455306e-02f, -1.672301026e-02f, -1.673143802e-02f, -1.673983631e-02f, -1.674820514e-02f, -1.675654448e-02f, -1.676485432e-02f,
+-1.677313465e-02f, -1.678138546e-02f, -1.678960674e-02f, -1.679779847e-02f, -1.680596065e-02f, -1.681409325e-02f, -1.682219627e-02f, -1.683026969e-02f, -1.683831351e-02f, -1.684632770e-02f,
+-1.685431227e-02f, -1.686226719e-02f, -1.687019246e-02f, -1.687808807e-02f, -1.688595399e-02f, -1.689379023e-02f, -1.690159676e-02f, -1.690937359e-02f, -1.691712068e-02f, -1.692483805e-02f,
+-1.693252566e-02f, -1.694018352e-02f, -1.694781161e-02f, -1.695540991e-02f, -1.696297843e-02f, -1.697051714e-02f, -1.697802604e-02f, -1.698550511e-02f, -1.699295434e-02f, -1.700037373e-02f,
+-1.700776326e-02f, -1.701512292e-02f, -1.702245271e-02f, -1.702975260e-02f, -1.703702259e-02f, -1.704426267e-02f, -1.705147283e-02f, -1.705865305e-02f, -1.706580333e-02f, -1.707292366e-02f,
+-1.708001402e-02f, -1.708707441e-02f, -1.709410482e-02f, -1.710110523e-02f, -1.710807564e-02f, -1.711501603e-02f, -1.712192640e-02f, -1.712880673e-02f, -1.713565702e-02f, -1.714247725e-02f,
+-1.714926742e-02f, -1.715602752e-02f, -1.716275753e-02f, -1.716945745e-02f, -1.717612726e-02f, -1.718276696e-02f, -1.718937654e-02f, -1.719595599e-02f, -1.720250530e-02f, -1.720902446e-02f,
+-1.721551346e-02f, -1.722197228e-02f, -1.722840094e-02f, -1.723479940e-02f, -1.724116767e-02f, -1.724750573e-02f, -1.725381358e-02f, -1.726009120e-02f, -1.726633860e-02f, -1.727255575e-02f,
+-1.727874265e-02f, -1.728489929e-02f, -1.729102567e-02f, -1.729712177e-02f, -1.730318759e-02f, -1.730922312e-02f, -1.731522834e-02f, -1.732120325e-02f, -1.732714785e-02f, -1.733306212e-02f,
+-1.733894606e-02f, -1.734479965e-02f, -1.735062289e-02f, -1.735641578e-02f, -1.736217829e-02f, -1.736791044e-02f, -1.737361220e-02f, -1.737928357e-02f, -1.738492454e-02f, -1.739053510e-02f,
+-1.739611525e-02f, -1.740166498e-02f, -1.740718428e-02f, -1.741267315e-02f, -1.741813157e-02f, -1.742355954e-02f, -1.742895705e-02f, -1.743432409e-02f, -1.743966066e-02f, -1.744496675e-02f,
+-1.745024235e-02f, -1.745548746e-02f, -1.746070206e-02f, -1.746588615e-02f, -1.747103973e-02f, -1.747616279e-02f, -1.748125531e-02f, -1.748631730e-02f, -1.749134875e-02f, -1.749634964e-02f,
+-1.750131998e-02f, -1.750625976e-02f, -1.751116896e-02f, -1.751604759e-02f, -1.752089564e-02f, -1.752571309e-02f, -1.753049996e-02f, -1.753525622e-02f, -1.753998187e-02f, -1.754467690e-02f,
+-1.754934132e-02f, -1.755397511e-02f, -1.755857827e-02f, -1.756315079e-02f, -1.756769266e-02f, -1.757220389e-02f, -1.757668446e-02f, -1.758113437e-02f, -1.758555361e-02f, -1.758994218e-02f,
+-1.759430006e-02f, -1.759862727e-02f, -1.760292379e-02f, -1.760718961e-02f, -1.761142473e-02f, -1.761562914e-02f, -1.761980284e-02f, -1.762394583e-02f, -1.762805810e-02f, -1.763213964e-02f,
+-1.763619045e-02f, -1.764021052e-02f, -1.764419985e-02f, -1.764815843e-02f, -1.765208627e-02f, -1.765598335e-02f, -1.765984966e-02f, -1.766368522e-02f, -1.766749000e-02f, -1.767126400e-02f,
+-1.767500723e-02f, -1.767871968e-02f, -1.768240134e-02f, -1.768605220e-02f, -1.768967227e-02f, -1.769326154e-02f, -1.769682000e-02f, -1.770034766e-02f, -1.770384450e-02f, -1.770731052e-02f,
+-1.771074572e-02f, -1.771415010e-02f, -1.771752365e-02f, -1.772086636e-02f, -1.772417824e-02f, -1.772745928e-02f, -1.773070948e-02f, -1.773392883e-02f, -1.773711732e-02f, -1.774027496e-02f,
+-1.774340175e-02f, -1.774649767e-02f, -1.774956273e-02f, -1.775259692e-02f, -1.775560024e-02f, -1.775857268e-02f, -1.776151425e-02f, -1.776442493e-02f, -1.776730474e-02f, -1.777015365e-02f,
+-1.777297168e-02f, -1.777575881e-02f, -1.777851505e-02f, -1.778124039e-02f, -1.778393483e-02f, -1.778659837e-02f, -1.778923100e-02f, -1.779183272e-02f, -1.779440354e-02f, -1.779694343e-02f,
+-1.779945242e-02f, -1.780193048e-02f, -1.780437763e-02f, -1.780679385e-02f, -1.780917915e-02f, -1.781153352e-02f, -1.781385696e-02f, -1.781614947e-02f, -1.781841105e-02f, -1.782064169e-02f,
+-1.782284140e-02f, -1.782501017e-02f, -1.782714800e-02f, -1.782925488e-02f, -1.783133083e-02f, -1.783337583e-02f, -1.783538988e-02f, -1.783737298e-02f, -1.783932514e-02f, -1.784124634e-02f,
+-1.784313660e-02f, -1.784499590e-02f, -1.784682424e-02f, -1.784862163e-02f, -1.785038806e-02f, -1.785212354e-02f, -1.785382806e-02f, -1.785550161e-02f, -1.785714421e-02f, -1.785875585e-02f,
+-1.786033652e-02f, -1.786188623e-02f, -1.786340498e-02f, -1.786489276e-02f, -1.786634958e-02f, -1.786777543e-02f, -1.786917032e-02f, -1.787053424e-02f, -1.787186720e-02f, -1.787316918e-02f,
+-1.787444021e-02f, -1.787568026e-02f, -1.787688935e-02f, -1.787806747e-02f, -1.787921462e-02f, -1.788033081e-02f, -1.788141603e-02f, -1.788247028e-02f, -1.788349357e-02f, -1.788448589e-02f,
+-1.788544724e-02f, -1.788637762e-02f, -1.788727705e-02f, -1.788814550e-02f, -1.788898299e-02f, -1.788978952e-02f, -1.789056509e-02f, -1.789130969e-02f, -1.789202333e-02f, -1.789270601e-02f,
+-1.789335772e-02f, -1.789397848e-02f, -1.789456828e-02f, -1.789512713e-02f, -1.789565501e-02f, -1.789615194e-02f, -1.789661792e-02f, -1.789705294e-02f, -1.789745702e-02f, -1.789783014e-02f,
+-1.789817231e-02f, -1.789848354e-02f, -1.789876381e-02f, -1.789901315e-02f, -1.789923154e-02f, -1.789941899e-02f, -1.789957550e-02f, -1.789970107e-02f, -1.789979571e-02f, -1.789985941e-02f,
+-1.789989218e-02f, -1.789989401e-02f, -1.789986492e-02f, -1.789980491e-02f, -1.789971397e-02f, -1.789959210e-02f, -1.789943932e-02f, -1.789925562e-02f, -1.789904100e-02f, -1.789879547e-02f,
+-1.789851903e-02f, -1.789821168e-02f, -1.789787343e-02f, -1.789750428e-02f, -1.789710422e-02f, -1.789667326e-02f, -1.789621141e-02f, -1.789571867e-02f, -1.789519504e-02f, -1.789464053e-02f,
+-1.789405513e-02f, -1.789343885e-02f, -1.789279169e-02f, -1.789211366e-02f, -1.789140475e-02f, -1.789066498e-02f, -1.788989435e-02f, -1.788909285e-02f, -1.788826050e-02f, -1.788739729e-02f,
+-1.788650323e-02f, -1.788557833e-02f, -1.788462258e-02f, -1.788363599e-02f, -1.788261856e-02f, -1.788157030e-02f, -1.788049121e-02f, -1.787938130e-02f, -1.787824057e-02f, -1.787706902e-02f,
+-1.787586666e-02f, -1.787463348e-02f, -1.787336951e-02f, -1.787207473e-02f, -1.787074916e-02f, -1.786939279e-02f, -1.786800564e-02f, -1.786658770e-02f, -1.786513899e-02f, -1.786365950e-02f,
+-1.786214924e-02f, -1.786060821e-02f, -1.785903643e-02f, -1.785743389e-02f, -1.785580060e-02f, -1.785413656e-02f, -1.785244178e-02f, -1.785071626e-02f, -1.784896001e-02f, -1.784717304e-02f,
+-1.784535534e-02f, -1.784350693e-02f, -1.784162781e-02f, -1.783971798e-02f, -1.783777745e-02f, -1.783580623e-02f, -1.783380431e-02f, -1.783177171e-02f, -1.782970843e-02f, -1.782761448e-02f,
+-1.782548986e-02f, -1.782333458e-02f, -1.782114865e-02f, -1.781893206e-02f, -1.781668483e-02f, -1.781440696e-02f, -1.781209845e-02f, -1.780975932e-02f, -1.780738957e-02f, -1.780498920e-02f,
+-1.780255822e-02f, -1.780009665e-02f, -1.779760447e-02f, -1.779508171e-02f, -1.779252836e-02f, -1.778994443e-02f, -1.778732993e-02f, -1.778468487e-02f, -1.778200925e-02f, -1.777930308e-02f,
+-1.777656637e-02f, -1.777379911e-02f, -1.777100133e-02f, -1.776817302e-02f, -1.776531420e-02f, -1.776242486e-02f, -1.775950502e-02f, -1.775655468e-02f, -1.775357386e-02f, -1.775056255e-02f,
+-1.774752076e-02f, -1.774444851e-02f, -1.774134580e-02f, -1.773821264e-02f, -1.773504902e-02f, -1.773185497e-02f, -1.772863049e-02f, -1.772537559e-02f, -1.772209027e-02f, -1.771877454e-02f,
+-1.771542841e-02f, -1.771205189e-02f, -1.770864498e-02f, -1.770520769e-02f, -1.770174004e-02f, -1.769824203e-02f, -1.769471366e-02f, -1.769115494e-02f, -1.768756589e-02f, -1.768394651e-02f,
+-1.768029681e-02f, -1.767661680e-02f, -1.767290648e-02f, -1.766916587e-02f, -1.766539497e-02f, -1.766159379e-02f, -1.765776234e-02f, -1.765390063e-02f, -1.765000866e-02f, -1.764608646e-02f,
+-1.764213401e-02f, -1.763815134e-02f, -1.763413845e-02f, -1.763009535e-02f, -1.762602205e-02f, -1.762191856e-02f, -1.761778489e-02f, -1.761362104e-02f, -1.760942703e-02f, -1.760520286e-02f,
+-1.760094855e-02f, -1.759666411e-02f, -1.759234953e-02f, -1.758800484e-02f, -1.758363004e-02f, -1.757922514e-02f, -1.757479015e-02f, -1.757032509e-02f, -1.756582995e-02f, -1.756130475e-02f,
+-1.755674951e-02f, -1.755216422e-02f, -1.754754890e-02f, -1.754290356e-02f, -1.753822821e-02f, -1.753352286e-02f, -1.752878752e-02f, -1.752402220e-02f, -1.751922691e-02f, -1.751440165e-02f,
+-1.750954645e-02f, -1.750466131e-02f, -1.749974624e-02f, -1.749480125e-02f, -1.748982635e-02f, -1.748482156e-02f, -1.747978687e-02f, -1.747472231e-02f, -1.746962789e-02f, -1.746450361e-02f,
+-1.745934948e-02f, -1.745416552e-02f, -1.744895174e-02f, -1.744370815e-02f, -1.743843476e-02f, -1.743313157e-02f, -1.742779861e-02f, -1.742243588e-02f, -1.741704340e-02f, -1.741162116e-02f,
+-1.740616920e-02f, -1.740068751e-02f, -1.739517611e-02f, -1.738963502e-02f, -1.738406423e-02f, -1.737846377e-02f, -1.737283364e-02f, -1.736717386e-02f, -1.736148444e-02f, -1.735576539e-02f,
+-1.735001672e-02f, -1.734423844e-02f, -1.733843057e-02f, -1.733259311e-02f, -1.732672609e-02f, -1.732082951e-02f, -1.731490338e-02f, -1.730894772e-02f, -1.730296253e-02f, -1.729694784e-02f,
+-1.729090364e-02f, -1.728482997e-02f, -1.727872682e-02f, -1.727259421e-02f, -1.726643215e-02f, -1.726024066e-02f, -1.725401974e-02f, -1.724776942e-02f, -1.724148969e-02f, -1.723518059e-02f,
+-1.722884211e-02f, -1.722247427e-02f, -1.721607708e-02f, -1.720965057e-02f, -1.720319473e-02f, -1.719670959e-02f, -1.719019515e-02f, -1.718365143e-02f, -1.717707844e-02f, -1.717047620e-02f,
+-1.716384472e-02f, -1.715718401e-02f, -1.715049409e-02f, -1.714377496e-02f, -1.713702665e-02f, -1.713024917e-02f, -1.712344252e-02f, -1.711660673e-02f, -1.710974180e-02f, -1.710284776e-02f,
+-1.709592461e-02f, -1.708897237e-02f, -1.708199105e-02f, -1.707498066e-02f, -1.706794123e-02f, -1.706087276e-02f, -1.705377527e-02f, -1.704664878e-02f, -1.703949328e-02f, -1.703230881e-02f,
+-1.702509538e-02f, -1.701785299e-02f, -1.701058167e-02f, -1.700328143e-02f, -1.699595228e-02f, -1.698859424e-02f, -1.698120732e-02f, -1.697379153e-02f, -1.696634690e-02f, -1.695887343e-02f,
+-1.695137114e-02f, -1.694384005e-02f, -1.693628017e-02f, -1.692869152e-02f, -1.692107410e-02f, -1.691342794e-02f, -1.690575305e-02f, -1.689804945e-02f, -1.689031714e-02f, -1.688255615e-02f,
+-1.687476650e-02f, -1.686694819e-02f, -1.685910124e-02f, -1.685122566e-02f, -1.684332149e-02f, -1.683538871e-02f, -1.682742737e-02f, -1.681943746e-02f, -1.681141900e-02f, -1.680337202e-02f,
+-1.679529652e-02f, -1.678719253e-02f, -1.677906005e-02f, -1.677089911e-02f, -1.676270971e-02f, -1.675449189e-02f, -1.674624564e-02f, -1.673797099e-02f, -1.672966796e-02f, -1.672133655e-02f,
+-1.671297679e-02f, -1.670458870e-02f, -1.669617228e-02f, -1.668772756e-02f, -1.667925455e-02f, -1.667075327e-02f, -1.666222373e-02f, -1.665366595e-02f, -1.664507996e-02f, -1.663646575e-02f,
+-1.662782336e-02f, -1.661915279e-02f, -1.661045407e-02f, -1.660172721e-02f, -1.659297223e-02f, -1.658418915e-02f, -1.657537798e-02f, -1.656653873e-02f, -1.655767143e-02f, -1.654877610e-02f,
+-1.653985275e-02f, -1.653090139e-02f, -1.652192205e-02f, -1.651291474e-02f, -1.650387949e-02f, -1.649481630e-02f, -1.648572519e-02f, -1.647660619e-02f, -1.646745930e-02f, -1.645828456e-02f,
+-1.644908196e-02f, -1.643985155e-02f, -1.643059332e-02f, -1.642130730e-02f, -1.641199350e-02f, -1.640265195e-02f, -1.639328266e-02f, -1.638388565e-02f, -1.637446094e-02f, -1.636500855e-02f,
+-1.635552849e-02f, -1.634602078e-02f, -1.633648544e-02f, -1.632692249e-02f, -1.631733194e-02f, -1.630771383e-02f, -1.629806815e-02f, -1.628839494e-02f, -1.627869421e-02f, -1.626896597e-02f,
+-1.625921026e-02f, -1.624942708e-02f, -1.623961645e-02f, -1.622977840e-02f, -1.621991295e-02f, -1.621002010e-02f, -1.620009988e-02f, -1.619015231e-02f, -1.618017741e-02f, -1.617017520e-02f,
+-1.616014569e-02f, -1.615008891e-02f, -1.614000487e-02f, -1.612989359e-02f, -1.611975510e-02f, -1.610958941e-02f, -1.609939654e-02f, -1.608917651e-02f, -1.607892934e-02f, -1.606865505e-02f,
+-1.605835366e-02f, -1.604802519e-02f, -1.603766965e-02f, -1.602728707e-02f, -1.601687747e-02f, -1.600644087e-02f, -1.599597728e-02f, -1.598548673e-02f, -1.597496923e-02f, -1.596442481e-02f,
+-1.595385349e-02f, -1.594325528e-02f, -1.593263021e-02f, -1.592197830e-02f, -1.591129956e-02f, -1.590059402e-02f, -1.588986170e-02f, -1.587910261e-02f, -1.586831678e-02f, -1.585750423e-02f,
+-1.584666497e-02f, -1.583579904e-02f, -1.582490644e-02f, -1.581398720e-02f, -1.580304135e-02f, -1.579206889e-02f, -1.578106985e-02f, -1.577004426e-02f, -1.575899213e-02f, -1.574791349e-02f,
+-1.573680834e-02f, -1.572567673e-02f, -1.571451866e-02f, -1.570333415e-02f, -1.569212324e-02f, -1.568088593e-02f, -1.566962226e-02f, -1.565833223e-02f, -1.564701588e-02f, -1.563567323e-02f,
+-1.562430428e-02f, -1.561290908e-02f, -1.560148763e-02f, -1.559003997e-02f, -1.557856610e-02f, -1.556706605e-02f, -1.555553985e-02f, -1.554398752e-02f, -1.553240907e-02f, -1.552080453e-02f,
+-1.550917392e-02f, -1.549751727e-02f, -1.548583459e-02f, -1.547412590e-02f, -1.546239123e-02f, -1.545063060e-02f, -1.543884404e-02f, -1.542703155e-02f, -1.541519318e-02f, -1.540332893e-02f,
+-1.539143883e-02f, -1.537952290e-02f, -1.536758117e-02f, -1.535561366e-02f, -1.534362038e-02f, -1.533160137e-02f, -1.531955663e-02f, -1.530748621e-02f, -1.529539012e-02f, -1.528326837e-02f,
+-1.527112100e-02f, -1.525894803e-02f, -1.524674948e-02f, -1.523452536e-02f, -1.522227572e-02f, -1.521000056e-02f, -1.519769991e-02f, -1.518537379e-02f, -1.517302223e-02f, -1.516064525e-02f,
+-1.514824288e-02f, -1.513581512e-02f, -1.512336202e-02f, -1.511088359e-02f, -1.509837985e-02f, -1.508585083e-02f, -1.507329655e-02f, -1.506071704e-02f, -1.504811231e-02f, -1.503548239e-02f,
+-1.502282731e-02f, -1.501014709e-02f, -1.499744175e-02f, -1.498471131e-02f, -1.497195581e-02f, -1.495917525e-02f, -1.494636967e-02f, -1.493353909e-02f, -1.492068354e-02f, -1.490780303e-02f,
+-1.489489759e-02f, -1.488196725e-02f, -1.486901203e-02f, -1.485603195e-02f, -1.484302704e-02f, -1.482999732e-02f, -1.481694281e-02f, -1.480386355e-02f, -1.479075954e-02f, -1.477763083e-02f,
+-1.476447742e-02f, -1.475129936e-02f, -1.473809665e-02f, -1.472486933e-02f, -1.471161742e-02f, -1.469834094e-02f, -1.468503992e-02f, -1.467171439e-02f, -1.465836436e-02f, -1.464498986e-02f,
+-1.463159092e-02f, -1.461816756e-02f, -1.460471981e-02f, -1.459124769e-02f, -1.457775123e-02f, -1.456423044e-02f, -1.455068536e-02f, -1.453711602e-02f, -1.452352242e-02f, -1.450990461e-02f,
+-1.449626261e-02f, -1.448259643e-02f, -1.446890612e-02f, -1.445519168e-02f, -1.444145315e-02f, -1.442769055e-02f, -1.441390391e-02f, -1.440009325e-02f, -1.438625860e-02f, -1.437239998e-02f,
+-1.435851742e-02f, -1.434461095e-02f, -1.433068058e-02f, -1.431672635e-02f, -1.430274828e-02f, -1.428874640e-02f, -1.427472073e-02f, -1.426067130e-02f, -1.424659813e-02f, -1.423250125e-02f,
+-1.421838069e-02f, -1.420423647e-02f, -1.419006862e-02f, -1.417587716e-02f, -1.416166212e-02f, -1.414742352e-02f, -1.413316140e-02f, -1.411887577e-02f, -1.410456667e-02f, -1.409023412e-02f,
+-1.407587815e-02f, -1.406149878e-02f, -1.404709603e-02f, -1.403266995e-02f, -1.401822054e-02f, -1.400374784e-02f, -1.398925188e-02f, -1.397473268e-02f, -1.396019027e-02f, -1.394562467e-02f,
+-1.393103591e-02f, -1.391642402e-02f, -1.390178903e-02f, -1.388713096e-02f, -1.387244983e-02f, -1.385774568e-02f, -1.384301853e-02f, -1.382826841e-02f, -1.381349535e-02f, -1.379869937e-02f,
+-1.378388050e-02f, -1.376903876e-02f, -1.375417419e-02f, -1.373928681e-02f, -1.372437665e-02f, -1.370944373e-02f, -1.369448809e-02f, -1.367950974e-02f, -1.366450873e-02f, -1.364948506e-02f,
+-1.363443878e-02f, -1.361936991e-02f, -1.360427848e-02f, -1.358916451e-02f, -1.357402803e-02f, -1.355886907e-02f, -1.354368766e-02f, -1.352848383e-02f, -1.351325759e-02f, -1.349800899e-02f,
+-1.348273804e-02f, -1.346744478e-02f, -1.345212924e-02f, -1.343679143e-02f, -1.342143140e-02f, -1.340604916e-02f, -1.339064475e-02f, -1.337521819e-02f, -1.335976951e-02f, -1.334429875e-02f,
+-1.332880592e-02f, -1.331329105e-02f, -1.329775418e-02f, -1.328219534e-02f, -1.326661454e-02f, -1.325101182e-02f, -1.323538721e-02f, -1.321974074e-02f, -1.320407242e-02f, -1.318838231e-02f,
+-1.317267041e-02f, -1.315693676e-02f, -1.314118139e-02f, -1.312540433e-02f, -1.310960560e-02f, -1.309378524e-02f, -1.307794327e-02f, -1.306207972e-02f, -1.304619462e-02f, -1.303028800e-02f,
+-1.301435989e-02f, -1.299841031e-02f, -1.298243930e-02f, -1.296644689e-02f, -1.295043310e-02f, -1.293439796e-02f, -1.291834150e-02f, -1.290226376e-02f, -1.288616475e-02f, -1.287004452e-02f,
+-1.285390308e-02f, -1.283774047e-02f, -1.282155672e-02f, -1.280535185e-02f, -1.278912590e-02f, -1.277287889e-02f, -1.275661086e-02f, -1.274032183e-02f, -1.272401183e-02f, -1.270768090e-02f,
+-1.269132906e-02f, -1.267495634e-02f, -1.265856277e-02f, -1.264214839e-02f, -1.262571321e-02f, -1.260925728e-02f, -1.259278061e-02f, -1.257628325e-02f, -1.255976521e-02f, -1.254322654e-02f,
+-1.252666725e-02f, -1.251008739e-02f, -1.249348697e-02f, -1.247686604e-02f, -1.246022461e-02f, -1.244356272e-02f, -1.242688040e-02f, -1.241017768e-02f, -1.239345460e-02f, -1.237671117e-02f,
+-1.235994743e-02f, -1.234316341e-02f, -1.232635914e-02f, -1.230953466e-02f, -1.229268998e-02f, -1.227582515e-02f, -1.225894019e-02f, -1.224203513e-02f, -1.222511001e-02f, -1.220816485e-02f,
+-1.219119968e-02f, -1.217421454e-02f, -1.215720946e-02f, -1.214018446e-02f, -1.212313957e-02f, -1.210607484e-02f, -1.208899028e-02f, -1.207188593e-02f, -1.205476182e-02f, -1.203761798e-02f,
+-1.202045445e-02f, -1.200327124e-02f, -1.198606840e-02f, -1.196884596e-02f, -1.195160394e-02f, -1.193434237e-02f, -1.191706129e-02f, -1.189976074e-02f, -1.188244073e-02f, -1.186510130e-02f,
+-1.184774248e-02f, -1.183036431e-02f, -1.181296681e-02f, -1.179555002e-02f, -1.177811396e-02f, -1.176065867e-02f, -1.174318419e-02f, -1.172569053e-02f, -1.170817774e-02f, -1.169064584e-02f,
+-1.167309486e-02f, -1.165552484e-02f, -1.163793581e-02f, -1.162032781e-02f, -1.160270085e-02f, -1.158505498e-02f, -1.156739022e-02f, -1.154970661e-02f, -1.153200418e-02f, -1.151428295e-02f,
+-1.149654297e-02f, -1.147878427e-02f, -1.146100687e-02f, -1.144321081e-02f, -1.142539611e-02f, -1.140756282e-02f, -1.138971097e-02f, -1.137184058e-02f, -1.135395168e-02f, -1.133604432e-02f,
+-1.131811852e-02f, -1.130017431e-02f, -1.128221173e-02f, -1.126423081e-02f, -1.124623158e-02f, -1.122821407e-02f, -1.121017832e-02f, -1.119212435e-02f, -1.117405220e-02f, -1.115596191e-02f,
+-1.113785350e-02f, -1.111972701e-02f, -1.110158247e-02f, -1.108341991e-02f, -1.106523936e-02f, -1.104704086e-02f, -1.102882444e-02f, -1.101059014e-02f, -1.099233797e-02f, -1.097406799e-02f,
+-1.095578021e-02f, -1.093747468e-02f, -1.091915143e-02f, -1.090081048e-02f, -1.088245188e-02f, -1.086407564e-02f, -1.084568182e-02f, -1.082727044e-02f, -1.080884152e-02f, -1.079039512e-02f,
+-1.077193125e-02f, -1.075344996e-02f, -1.073495127e-02f, -1.071643521e-02f, -1.069790183e-02f, -1.067935115e-02f, -1.066078321e-02f, -1.064219804e-02f, -1.062359567e-02f, -1.060497614e-02f,
+-1.058633948e-02f, -1.056768573e-02f, -1.054901491e-02f, -1.053032706e-02f, -1.051162221e-02f, -1.049290040e-02f, -1.047416166e-02f, -1.045540602e-02f, -1.043663352e-02f, -1.041784420e-02f,
+-1.039903807e-02f, -1.038021518e-02f, -1.036137557e-02f, -1.034251926e-02f, -1.032364628e-02f, -1.030475668e-02f, -1.028585049e-02f, -1.026692773e-02f, -1.024798845e-02f, -1.022903267e-02f,
+-1.021006044e-02f, -1.019107178e-02f, -1.017206672e-02f, -1.015304531e-02f, -1.013400758e-02f, -1.011495356e-02f, -1.009588328e-02f, -1.007679678e-02f, -1.005769409e-02f, -1.003857524e-02f,
+-1.001944028e-02f, -1.000028923e-02f, -9.981122129e-03f, -9.961939010e-03f, -9.942739908e-03f, -9.923524857e-03f, -9.904293890e-03f, -9.885047042e-03f, -9.865784348e-03f, -9.846505841e-03f,
+-9.827211557e-03f, -9.807901528e-03f, -9.788575791e-03f, -9.769234378e-03f, -9.749877325e-03f, -9.730504665e-03f, -9.711116434e-03f, -9.691712665e-03f, -9.672293394e-03f, -9.652858655e-03f,
+-9.633408482e-03f, -9.613942909e-03f, -9.594461973e-03f, -9.574965706e-03f, -9.555454144e-03f, -9.535927322e-03f, -9.516385274e-03f, -9.496828035e-03f, -9.477255639e-03f, -9.457668122e-03f,
+-9.438065518e-03f, -9.418447861e-03f, -9.398815188e-03f, -9.379167533e-03f, -9.359504929e-03f, -9.339827414e-03f, -9.320135021e-03f, -9.300427785e-03f, -9.280705741e-03f, -9.260968925e-03f,
+-9.241217372e-03f, -9.221451115e-03f, -9.201670192e-03f, -9.181874635e-03f, -9.162064482e-03f, -9.142239766e-03f, -9.122400524e-03f, -9.102546790e-03f, -9.082678599e-03f, -9.062795986e-03f,
+-9.042898988e-03f, -9.022987639e-03f, -9.003061974e-03f, -8.983122029e-03f, -8.963167840e-03f, -8.943199441e-03f, -8.923216867e-03f, -8.903220156e-03f, -8.883209340e-03f, -8.863184458e-03f,
+-8.843145542e-03f, -8.823092630e-03f, -8.803025757e-03f, -8.782944958e-03f, -8.762850269e-03f, -8.742741725e-03f, -8.722619363e-03f, -8.702483217e-03f, -8.682333323e-03f, -8.662169717e-03f,
+-8.641992436e-03f, -8.621801513e-03f, -8.601596986e-03f, -8.581378889e-03f, -8.561147259e-03f, -8.540902132e-03f, -8.520643543e-03f, -8.500371528e-03f, -8.480086123e-03f, -8.459787364e-03f,
+-8.439475287e-03f, -8.419149927e-03f, -8.398811322e-03f, -8.378459505e-03f, -8.358094515e-03f, -8.337716386e-03f, -8.317325155e-03f, -8.296920857e-03f, -8.276503530e-03f, -8.256073208e-03f,
+-8.235629928e-03f, -8.215173727e-03f, -8.194704639e-03f, -8.174222702e-03f, -8.153727952e-03f, -8.133220424e-03f, -8.112700156e-03f, -8.092167183e-03f, -8.071621541e-03f, -8.051063268e-03f,
+-8.030492398e-03f, -8.009908969e-03f, -7.989313017e-03f, -7.968704578e-03f, -7.948083689e-03f, -7.927450386e-03f, -7.906804705e-03f, -7.886146683e-03f, -7.865476356e-03f, -7.844793761e-03f,
+-7.824098935e-03f, -7.803391913e-03f, -7.782672733e-03f, -7.761941430e-03f, -7.741198042e-03f, -7.720442606e-03f, -7.699675156e-03f, -7.678895732e-03f, -7.658104368e-03f, -7.637301102e-03f,
+-7.616485970e-03f, -7.595659009e-03f, -7.574820256e-03f, -7.553969747e-03f, -7.533107520e-03f, -7.512233610e-03f, -7.491348056e-03f, -7.470450893e-03f, -7.449542158e-03f, -7.428621889e-03f,
+-7.407690122e-03f, -7.386746893e-03f, -7.365792241e-03f, -7.344826202e-03f, -7.323848812e-03f, -7.302860109e-03f, -7.281860130e-03f, -7.260848912e-03f, -7.239826491e-03f, -7.218792904e-03f,
+-7.197748190e-03f, -7.176692384e-03f, -7.155625524e-03f, -7.134547647e-03f, -7.113458790e-03f, -7.092358990e-03f, -7.071248285e-03f, -7.050126711e-03f, -7.028994305e-03f, -7.007851105e-03f,
+-6.986697148e-03f, -6.965532472e-03f, -6.944357113e-03f, -6.923171108e-03f, -6.901974495e-03f, -6.880767312e-03f, -6.859549595e-03f, -6.838321382e-03f, -6.817082710e-03f, -6.795833616e-03f,
+-6.774574138e-03f, -6.753304314e-03f, -6.732024180e-03f, -6.710733774e-03f, -6.689433134e-03f, -6.668122296e-03f, -6.646801299e-03f, -6.625470179e-03f, -6.604128975e-03f, -6.582777724e-03f,
+-6.561416462e-03f, -6.540045229e-03f, -6.518664061e-03f, -6.497272996e-03f, -6.475872071e-03f, -6.454461324e-03f, -6.433040793e-03f, -6.411610515e-03f, -6.390170528e-03f, -6.368720870e-03f,
+-6.347261578e-03f, -6.325792689e-03f, -6.304314242e-03f, -6.282826275e-03f, -6.261328824e-03f, -6.239821928e-03f, -6.218305625e-03f, -6.196779951e-03f, -6.175244946e-03f, -6.153700646e-03f,
+-6.132147090e-03f, -6.110584315e-03f, -6.089012359e-03f, -6.067431260e-03f, -6.045841056e-03f, -6.024241785e-03f, -6.002633484e-03f, -5.981016192e-03f, -5.959389946e-03f, -5.937754784e-03f,
+-5.916110745e-03f, -5.894457866e-03f, -5.872796185e-03f, -5.851125740e-03f, -5.829446569e-03f, -5.807758710e-03f, -5.786062201e-03f, -5.764357080e-03f, -5.742643385e-03f, -5.720921154e-03f,
+-5.699190426e-03f, -5.677451238e-03f, -5.655703628e-03f, -5.633947634e-03f, -5.612183296e-03f, -5.590410649e-03f, -5.568629734e-03f, -5.546840587e-03f, -5.525043248e-03f, -5.503237753e-03f,
+-5.481424142e-03f, -5.459602453e-03f, -5.437772724e-03f, -5.415934992e-03f, -5.394089297e-03f, -5.372235676e-03f, -5.350374168e-03f, -5.328504810e-03f, -5.306627642e-03f, -5.284742701e-03f,
+-5.262850027e-03f, -5.240949656e-03f, -5.219041627e-03f, -5.197125979e-03f, -5.175202751e-03f, -5.153271979e-03f, -5.131333703e-03f, -5.109387962e-03f, -5.087434793e-03f, -5.065474234e-03f,
+-5.043506325e-03f, -5.021531103e-03f, -4.999548608e-03f, -4.977558877e-03f, -4.955561949e-03f, -4.933557862e-03f, -4.911546655e-03f, -4.889528366e-03f, -4.867503033e-03f, -4.845470697e-03f,
+-4.823431393e-03f, -4.801385162e-03f, -4.779332042e-03f, -4.757272071e-03f, -4.735205287e-03f, -4.713131730e-03f, -4.691051438e-03f, -4.668964449e-03f, -4.646870802e-03f, -4.624770535e-03f,
+-4.602663688e-03f, -4.580550299e-03f, -4.558430405e-03f, -4.536304047e-03f, -4.514171262e-03f, -4.492032090e-03f, -4.469886568e-03f, -4.447734736e-03f, -4.425576631e-03f, -4.403412294e-03f,
+-4.381241762e-03f, -4.359065074e-03f, -4.336882269e-03f, -4.314693385e-03f, -4.292498462e-03f, -4.270297538e-03f, -4.248090651e-03f, -4.225877840e-03f, -4.203659145e-03f, -4.181434603e-03f,
+-4.159204255e-03f, -4.136968137e-03f, -4.114726290e-03f, -4.092478751e-03f, -4.070225560e-03f, -4.047966756e-03f, -4.025702376e-03f, -4.003432461e-03f, -3.981157049e-03f, -3.958876178e-03f,
+-3.936589888e-03f, -3.914298217e-03f, -3.892001205e-03f, -3.869698889e-03f, -3.847391309e-03f, -3.825078504e-03f, -3.802760512e-03f, -3.780437373e-03f, -3.758109126e-03f, -3.735775808e-03f,
+-3.713437459e-03f, -3.691094119e-03f, -3.668745825e-03f, -3.646392617e-03f, -3.624034534e-03f, -3.601671614e-03f, -3.579303897e-03f, -3.556931422e-03f, -3.534554226e-03f, -3.512172351e-03f,
+-3.489785833e-03f, -3.467394713e-03f, -3.444999028e-03f, -3.422598819e-03f, -3.400194125e-03f, -3.377784983e-03f, -3.355371433e-03f, -3.332953515e-03f, -3.310531266e-03f, -3.288104727e-03f,
+-3.265673935e-03f, -3.243238931e-03f, -3.220799752e-03f, -3.198356439e-03f, -3.175909030e-03f, -3.153457564e-03f, -3.131002080e-03f, -3.108542617e-03f, -3.086079215e-03f, -3.063611912e-03f,
+-3.041140747e-03f, -3.018665759e-03f, -2.996186988e-03f, -2.973704472e-03f, -2.951218251e-03f, -2.928728363e-03f, -2.906234848e-03f, -2.883737745e-03f, -2.861237093e-03f, -2.838732930e-03f,
+-2.816225296e-03f, -2.793714231e-03f, -2.771199772e-03f, -2.748681960e-03f, -2.726160833e-03f, -2.703636431e-03f, -2.681108792e-03f, -2.658577956e-03f, -2.636043961e-03f, -2.613506847e-03f,
+-2.590966654e-03f, -2.568423419e-03f, -2.545877183e-03f, -2.523327984e-03f, -2.500775861e-03f, -2.478220854e-03f, -2.455663002e-03f, -2.433102344e-03f, -2.410538918e-03f, -2.387972765e-03f,
+-2.365403923e-03f, -2.342832432e-03f, -2.320258330e-03f, -2.297681656e-03f, -2.275102451e-03f, -2.252520752e-03f, -2.229936600e-03f, -2.207350033e-03f, -2.184761091e-03f, -2.162169812e-03f,
+-2.139576236e-03f, -2.116980402e-03f, -2.094382349e-03f, -2.071782116e-03f, -2.049179743e-03f, -2.026575268e-03f, -2.003968731e-03f, -1.981360171e-03f, -1.958749628e-03f, -1.936137139e-03f,
+-1.913522745e-03f, -1.890906484e-03f, -1.868288397e-03f, -1.845668521e-03f, -1.823046896e-03f, -1.800423562e-03f, -1.777798557e-03f, -1.755171921e-03f, -1.732543693e-03f, -1.709913911e-03f,
+-1.687282616e-03f, -1.664649847e-03f, -1.642015641e-03f, -1.619380040e-03f, -1.596743081e-03f, -1.574104805e-03f, -1.551465249e-03f, -1.528824455e-03f, -1.506182459e-03f, -1.483539303e-03f,
+-1.460895024e-03f, -1.438249663e-03f, -1.415603258e-03f, -1.392955848e-03f, -1.370307473e-03f, -1.347658171e-03f, -1.325007983e-03f, -1.302356947e-03f, -1.279705102e-03f, -1.257052488e-03f,
+-1.234399143e-03f, -1.211745107e-03f, -1.189090419e-03f, -1.166435118e-03f, -1.143779243e-03f, -1.121122834e-03f, -1.098465929e-03f, -1.075808569e-03f, -1.053150791e-03f, -1.030492635e-03f,
+-1.007834140e-03f, -9.851753458e-04f, -9.625162910e-04f, -9.398570148e-04f, -9.171975564e-04f, -8.945379550e-04f, -8.718782496e-04f, -8.492184794e-04f, -8.265586835e-04f, -8.038989011e-04f,
+-7.812391713e-04f, -7.585795333e-04f, -7.359200260e-04f, -7.132606887e-04f, -6.906015605e-04f, -6.679426805e-04f, -6.452840878e-04f, -6.226258214e-04f, -5.999679206e-04f, -5.773104244e-04f,
+-5.546533720e-04f, -5.319968023e-04f, -5.093407545e-04f, -4.866852678e-04f, -4.640303811e-04f, -4.413761335e-04f, -4.187225642e-04f, -3.960697123e-04f, -3.734176167e-04f, -3.507663165e-04f,
+-3.281158509e-04f, -3.054662588e-04f, -2.828175794e-04f, -2.601698516e-04f, -2.375231146e-04f, -2.148774074e-04f, -1.922327689e-04f, -1.695892383e-04f, -1.469468546e-04f, -1.243056568e-04f,
+-1.016656839e-04f, -7.902697489e-05f, -5.638956888e-05f, -3.375350482e-05f, -1.111882172e-05f, 1.151444143e-05f, 3.414624562e-05f, 5.677655188e-05f, 7.940532121e-05f, 1.020325147e-04f,
+1.246580932e-04f, 1.472820180e-04f, 1.699042499e-04f, 1.925247501e-04f, 2.151434796e-04f, 2.377603994e-04f, 2.603754706e-04f, 2.829886543e-04f, 3.055999116e-04f, 3.282092035e-04f,
+3.508164911e-04f, 3.734217355e-04f, 3.960248978e-04f, 4.186259391e-04f, 4.412248205e-04f, 4.638215031e-04f, 4.864159480e-04f, 5.090081164e-04f, 5.315979694e-04f, 5.541854682e-04f,
+5.767705738e-04f, 5.993532474e-04f, 6.219334503e-04f, 6.445111435e-04f, 6.670862882e-04f, 6.896588456e-04f, 7.122287770e-04f, 7.347960434e-04f, 7.573606061e-04f, 7.799224263e-04f,
+8.024814653e-04f, 8.250376841e-04f, 8.475910441e-04f, 8.701415066e-04f, 8.926890326e-04f, 9.152335836e-04f, 9.377751207e-04f, 9.603136053e-04f, 9.828489985e-04f, 1.005381262e-03f,
+1.027910356e-03f, 1.050436243e-03f, 1.072958884e-03f, 1.095478240e-03f, 1.117994273e-03f, 1.140506943e-03f, 1.163016213e-03f, 1.185522043e-03f, 1.208024395e-03f, 1.230523231e-03f,
+1.253018510e-03f, 1.275510196e-03f, 1.297998250e-03f, 1.320482632e-03f, 1.342963304e-03f, 1.365440228e-03f, 1.387913365e-03f, 1.410382676e-03f, 1.432848124e-03f, 1.455309668e-03f,
+1.477767272e-03f, 1.500220896e-03f, 1.522670501e-03f, 1.545116050e-03f, 1.567557504e-03f, 1.589994824e-03f, 1.612427972e-03f, 1.634856909e-03f, 1.657281597e-03f, 1.679701997e-03f,
+1.702118071e-03f, 1.724529781e-03f, 1.746937088e-03f, 1.769339953e-03f, 1.791738339e-03f, 1.814132207e-03f, 1.836521518e-03f, 1.858906235e-03f, 1.881286318e-03f, 1.903661730e-03f,
+1.926032431e-03f, 1.948398385e-03f, 1.970759552e-03f, 1.993115894e-03f, 2.015467373e-03f, 2.037813950e-03f, 2.060155588e-03f, 2.082492247e-03f, 2.104823891e-03f, 2.127150480e-03f,
+2.149471976e-03f, 2.171788341e-03f, 2.194099537e-03f, 2.216405526e-03f, 2.238706269e-03f, 2.261001728e-03f, 2.283291866e-03f, 2.305576643e-03f, 2.327856023e-03f, 2.350129966e-03f,
+2.372398434e-03f, 2.394661390e-03f, 2.416918796e-03f, 2.439170612e-03f, 2.461416802e-03f, 2.483657327e-03f, 2.505892149e-03f, 2.528121230e-03f, 2.550344533e-03f, 2.572562018e-03f,
+2.594773648e-03f, 2.616979386e-03f, 2.639179193e-03f, 2.661373030e-03f, 2.683560861e-03f, 2.705742647e-03f, 2.727918351e-03f, 2.750087934e-03f, 2.772251358e-03f, 2.794408586e-03f,
+2.816559580e-03f, 2.838704302e-03f, 2.860842714e-03f, 2.882974779e-03f, 2.905100457e-03f, 2.927219713e-03f, 2.949332507e-03f, 2.971438802e-03f, 2.993538561e-03f, 3.015631745e-03f,
+3.037718317e-03f, 3.059798239e-03f, 3.081871474e-03f, 3.103937984e-03f, 3.125997730e-03f, 3.148050676e-03f, 3.170096783e-03f, 3.192136015e-03f, 3.214168333e-03f, 3.236193700e-03f,
+3.258212079e-03f, 3.280223431e-03f, 3.302227719e-03f, 3.324224906e-03f, 3.346214953e-03f, 3.368197825e-03f, 3.390173482e-03f, 3.412141888e-03f, 3.434103005e-03f, 3.456056796e-03f,
+3.478003223e-03f, 3.499942248e-03f, 3.521873835e-03f, 3.543797946e-03f, 3.565714543e-03f, 3.587623590e-03f, 3.609525048e-03f, 3.631418881e-03f, 3.653305051e-03f, 3.675183521e-03f,
+3.697054253e-03f, 3.718917210e-03f, 3.740772356e-03f, 3.762619653e-03f, 3.784459062e-03f, 3.806290549e-03f, 3.828114074e-03f, 3.849929602e-03f, 3.871737094e-03f, 3.893536514e-03f,
+3.915327824e-03f, 3.937110988e-03f, 3.958885968e-03f, 3.980652727e-03f, 4.002411228e-03f, 4.024161435e-03f, 4.045903309e-03f, 4.067636815e-03f, 4.089361915e-03f, 4.111078571e-03f,
+4.132786748e-03f, 4.154486408e-03f, 4.176177514e-03f, 4.197860030e-03f, 4.219533918e-03f, 4.241199141e-03f, 4.262855664e-03f, 4.284503448e-03f, 4.306142457e-03f, 4.327772654e-03f,
+4.349394002e-03f, 4.371006466e-03f, 4.392610007e-03f, 4.414204589e-03f, 4.435790176e-03f, 4.457366730e-03f, 4.478934215e-03f, 4.500492595e-03f, 4.522041832e-03f, 4.543581891e-03f,
+4.565112734e-03f, 4.586634324e-03f, 4.608146626e-03f, 4.629649603e-03f, 4.651143218e-03f, 4.672627435e-03f, 4.694102216e-03f, 4.715567527e-03f, 4.737023329e-03f, 4.758469588e-03f,
+4.779906265e-03f, 4.801333326e-03f, 4.822750733e-03f, 4.844158450e-03f, 4.865556442e-03f, 4.886944670e-03f, 4.908323100e-03f, 4.929691694e-03f, 4.951050417e-03f, 4.972399233e-03f,
+4.993738104e-03f, 5.015066996e-03f, 5.036385871e-03f, 5.057694693e-03f, 5.078993427e-03f, 5.100282036e-03f, 5.121560484e-03f, 5.142828736e-03f, 5.164086753e-03f, 5.185334502e-03f,
+5.206571946e-03f, 5.227799048e-03f, 5.249015773e-03f, 5.270222085e-03f, 5.291417948e-03f, 5.312603326e-03f, 5.333778182e-03f, 5.354942482e-03f, 5.376096189e-03f, 5.397239267e-03f,
+5.418371681e-03f, 5.439493394e-03f, 5.460604371e-03f, 5.481704577e-03f, 5.502793974e-03f, 5.523872529e-03f, 5.544940204e-03f, 5.565996964e-03f, 5.587042774e-03f, 5.608077598e-03f,
+5.629101400e-03f, 5.650114145e-03f, 5.671115797e-03f, 5.692106321e-03f, 5.713085680e-03f, 5.734053840e-03f, 5.755010765e-03f, 5.775956419e-03f, 5.796890767e-03f, 5.817813774e-03f,
+5.838725404e-03f, 5.859625622e-03f, 5.880514393e-03f, 5.901391680e-03f, 5.922257449e-03f, 5.943111665e-03f, 5.963954291e-03f, 5.984785294e-03f, 6.005604637e-03f, 6.026412286e-03f,
+6.047208205e-03f, 6.067992359e-03f, 6.088764714e-03f, 6.109525233e-03f, 6.130273881e-03f, 6.151010625e-03f, 6.171735428e-03f, 6.192448255e-03f, 6.213149072e-03f, 6.233837844e-03f,
+6.254514535e-03f, 6.275179111e-03f, 6.295831537e-03f, 6.316471777e-03f, 6.337099798e-03f, 6.357715563e-03f, 6.378319039e-03f, 6.398910191e-03f, 6.419488983e-03f, 6.440055381e-03f,
+6.460609350e-03f, 6.481150856e-03f, 6.501679864e-03f, 6.522196339e-03f, 6.542700247e-03f, 6.563191553e-03f, 6.583670221e-03f, 6.604136219e-03f, 6.624589511e-03f, 6.645030063e-03f,
+6.665457840e-03f, 6.685872808e-03f, 6.706274932e-03f, 6.726664178e-03f, 6.747040512e-03f, 6.767403899e-03f, 6.787754304e-03f, 6.808091695e-03f, 6.828416035e-03f, 6.848727291e-03f,
+6.869025429e-03f, 6.889310415e-03f, 6.909582214e-03f, 6.929840791e-03f, 6.950086114e-03f, 6.970318148e-03f, 6.990536858e-03f, 7.010742211e-03f, 7.030934173e-03f, 7.051112709e-03f,
+7.071277786e-03f, 7.091429370e-03f, 7.111567426e-03f, 7.131691921e-03f, 7.151802821e-03f, 7.171900092e-03f, 7.191983700e-03f, 7.212053611e-03f, 7.232109792e-03f, 7.252152209e-03f,
+7.272180828e-03f, 7.292195615e-03f, 7.312196537e-03f, 7.332183559e-03f, 7.352156649e-03f, 7.372115773e-03f, 7.392060897e-03f, 7.411991988e-03f, 7.431909012e-03f, 7.451811935e-03f,
+7.471700725e-03f, 7.491575347e-03f, 7.511435768e-03f, 7.531281955e-03f, 7.551113875e-03f, 7.570931493e-03f, 7.590734778e-03f, 7.610523695e-03f, 7.630298211e-03f, 7.650058293e-03f,
+7.669803908e-03f, 7.689535023e-03f, 7.709251604e-03f, 7.728953618e-03f, 7.748641033e-03f, 7.768313815e-03f, 7.787971931e-03f, 7.807615348e-03f, 7.827244033e-03f, 7.846857953e-03f,
+7.866457075e-03f, 7.886041367e-03f, 7.905610795e-03f, 7.925165327e-03f, 7.944704929e-03f, 7.964229569e-03f, 7.983739215e-03f, 8.003233833e-03f, 8.022713390e-03f, 8.042177855e-03f,
+8.061627194e-03f, 8.081061374e-03f, 8.100480364e-03f, 8.119884131e-03f, 8.139272641e-03f, 8.158645863e-03f, 8.178003764e-03f, 8.197346311e-03f, 8.216673472e-03f, 8.235985216e-03f,
+8.255281508e-03f, 8.274562318e-03f, 8.293827612e-03f, 8.313077359e-03f, 8.332311525e-03f, 8.351530080e-03f, 8.370732990e-03f, 8.389920224e-03f, 8.409091749e-03f, 8.428247534e-03f,
+8.447387545e-03f, 8.466511752e-03f, 8.485620122e-03f, 8.504712623e-03f, 8.523789223e-03f, 8.542849891e-03f, 8.561894593e-03f, 8.580923299e-03f, 8.599935977e-03f, 8.618932595e-03f,
+8.637913120e-03f, 8.656877521e-03f, 8.675825768e-03f, 8.694757826e-03f, 8.713673666e-03f, 8.732573256e-03f, 8.751456563e-03f, 8.770323556e-03f, 8.789174205e-03f, 8.808008476e-03f,
+8.826826339e-03f, 8.845627762e-03f, 8.864412715e-03f, 8.883181164e-03f, 8.901933080e-03f, 8.920668430e-03f, 8.939387184e-03f, 8.958089310e-03f, 8.976774777e-03f, 8.995443554e-03f,
+9.014095609e-03f, 9.032730911e-03f, 9.051349430e-03f, 9.069951133e-03f, 9.088535991e-03f, 9.107103972e-03f, 9.125655045e-03f, 9.144189179e-03f, 9.162706343e-03f, 9.181206506e-03f,
+9.199689638e-03f, 9.218155707e-03f, 9.236604683e-03f, 9.255036535e-03f, 9.273451232e-03f, 9.291848743e-03f, 9.310229038e-03f, 9.328592087e-03f, 9.346937858e-03f, 9.365266320e-03f,
+9.383577445e-03f, 9.401871200e-03f, 9.420147555e-03f, 9.438406480e-03f, 9.456647945e-03f, 9.474871919e-03f, 9.493078371e-03f, 9.511267272e-03f, 9.529438590e-03f, 9.547592297e-03f,
+9.565728361e-03f, 9.583846753e-03f, 9.601947441e-03f, 9.620030397e-03f, 9.638095589e-03f, 9.656142989e-03f, 9.674172565e-03f, 9.692184288e-03f, 9.710178128e-03f, 9.728154055e-03f,
+9.746112038e-03f, 9.764052049e-03f, 9.781974057e-03f, 9.799878032e-03f, 9.817763945e-03f, 9.835631766e-03f, 9.853481466e-03f, 9.871313013e-03f, 9.889126380e-03f, 9.906921535e-03f,
+9.924698451e-03f, 9.942457096e-03f, 9.960197443e-03f, 9.977919460e-03f, 9.995623119e-03f, 1.001330839e-02f, 1.003097524e-02f, 1.004862365e-02f, 1.006625358e-02f, 1.008386501e-02f,
+1.010145790e-02f, 1.011903223e-02f, 1.013658797e-02f, 1.015412508e-02f, 1.017164355e-02f, 1.018914333e-02f, 1.020662440e-02f, 1.022408674e-02f, 1.024153031e-02f, 1.025895508e-02f,
+1.027636103e-02f, 1.029374813e-02f, 1.031111634e-02f, 1.032846564e-02f, 1.034579600e-02f, 1.036310739e-02f, 1.038039979e-02f, 1.039767316e-02f, 1.041492747e-02f, 1.043216270e-02f,
+1.044937882e-02f, 1.046657579e-02f, 1.048375360e-02f, 1.050091221e-02f, 1.051805160e-02f, 1.053517173e-02f, 1.055227258e-02f, 1.056935411e-02f, 1.058641631e-02f, 1.060345914e-02f,
+1.062048257e-02f, 1.063748658e-02f, 1.065447114e-02f, 1.067143622e-02f, 1.068838179e-02f, 1.070530783e-02f, 1.072221430e-02f, 1.073910117e-02f, 1.075596843e-02f, 1.077281604e-02f,
+1.078964397e-02f, 1.080645220e-02f, 1.082324070e-02f, 1.084000944e-02f, 1.085675840e-02f, 1.087348753e-02f, 1.089019683e-02f, 1.090688626e-02f, 1.092355578e-02f, 1.094020539e-02f,
+1.095683504e-02f, 1.097344471e-02f, 1.099003438e-02f, 1.100660400e-02f, 1.102315357e-02f, 1.103968305e-02f, 1.105619241e-02f, 1.107268163e-02f, 1.108915068e-02f, 1.110559952e-02f,
+1.112202815e-02f, 1.113843652e-02f, 1.115482461e-02f, 1.117119239e-02f, 1.118753984e-02f, 1.120386694e-02f, 1.122017364e-02f, 1.123645993e-02f, 1.125272577e-02f, 1.126897115e-02f,
+1.128519604e-02f, 1.130140040e-02f, 1.131758422e-02f, 1.133374746e-02f, 1.134989010e-02f, 1.136601211e-02f, 1.138211347e-02f, 1.139819415e-02f, 1.141425411e-02f, 1.143029335e-02f,
+1.144631182e-02f, 1.146230951e-02f, 1.147828639e-02f, 1.149424242e-02f, 1.151017759e-02f, 1.152609187e-02f, 1.154198523e-02f, 1.155785765e-02f, 1.157370910e-02f, 1.158953955e-02f,
+1.160534898e-02f, 1.162113736e-02f, 1.163690467e-02f, 1.165265087e-02f, 1.166837596e-02f, 1.168407989e-02f, 1.169976264e-02f, 1.171542419e-02f, 1.173106451e-02f, 1.174668357e-02f,
+1.176228136e-02f, 1.177785784e-02f, 1.179341299e-02f, 1.180894678e-02f, 1.182445919e-02f, 1.183995019e-02f, 1.185541976e-02f, 1.187086787e-02f, 1.188629450e-02f, 1.190169961e-02f,
+1.191708320e-02f, 1.193244522e-02f, 1.194778566e-02f, 1.196310449e-02f, 1.197840168e-02f, 1.199367722e-02f, 1.200893106e-02f, 1.202416320e-02f, 1.203937361e-02f, 1.205456225e-02f,
+1.206972911e-02f, 1.208487416e-02f, 1.209999738e-02f, 1.211509873e-02f, 1.213017820e-02f, 1.214523577e-02f, 1.216027140e-02f, 1.217528507e-02f, 1.219027677e-02f, 1.220524645e-02f,
+1.222019410e-02f, 1.223511970e-02f, 1.225002322e-02f, 1.226490463e-02f, 1.227976392e-02f, 1.229460105e-02f, 1.230941601e-02f, 1.232420876e-02f, 1.233897929e-02f, 1.235372757e-02f,
+1.236845358e-02f, 1.238315728e-02f, 1.239783867e-02f, 1.241249771e-02f, 1.242713438e-02f, 1.244174866e-02f, 1.245634052e-02f, 1.247090994e-02f, 1.248545690e-02f, 1.249998136e-02f,
+1.251448332e-02f, 1.252896274e-02f, 1.254341960e-02f, 1.255785388e-02f, 1.257226555e-02f, 1.258665459e-02f, 1.260102098e-02f, 1.261536469e-02f, 1.262968570e-02f, 1.264398399e-02f,
+1.265825953e-02f, 1.267251230e-02f, 1.268674228e-02f, 1.270094944e-02f, 1.271513376e-02f, 1.272929523e-02f, 1.274343380e-02f, 1.275754947e-02f, 1.277164221e-02f, 1.278571199e-02f,
+1.279975880e-02f, 1.281378260e-02f, 1.282778339e-02f, 1.284176113e-02f, 1.285571580e-02f, 1.286964738e-02f, 1.288355584e-02f, 1.289744118e-02f, 1.291130335e-02f, 1.292514234e-02f,
+1.293895813e-02f, 1.295275070e-02f, 1.296652001e-02f, 1.298026606e-02f, 1.299398881e-02f, 1.300768825e-02f, 1.302136435e-02f, 1.303501709e-02f, 1.304864646e-02f, 1.306225241e-02f,
+1.307583495e-02f, 1.308939403e-02f, 1.310292965e-02f, 1.311644178e-02f, 1.312993039e-02f, 1.314339547e-02f, 1.315683699e-02f, 1.317025493e-02f, 1.318364928e-02f, 1.319702000e-02f,
+1.321036708e-02f, 1.322369049e-02f, 1.323699022e-02f, 1.325026624e-02f, 1.326351853e-02f, 1.327674707e-02f, 1.328995184e-02f, 1.330313281e-02f, 1.331628997e-02f, 1.332942330e-02f,
+1.334253276e-02f, 1.335561835e-02f, 1.336868005e-02f, 1.338171782e-02f, 1.339473165e-02f, 1.340772151e-02f, 1.342068740e-02f, 1.343362928e-02f, 1.344654713e-02f, 1.345944094e-02f,
+1.347231069e-02f, 1.348515634e-02f, 1.349797789e-02f, 1.351077531e-02f, 1.352354858e-02f, 1.353629769e-02f, 1.354902260e-02f, 1.356172330e-02f, 1.357439977e-02f, 1.358705199e-02f,
+1.359967994e-02f, 1.361228359e-02f, 1.362486294e-02f, 1.363741795e-02f, 1.364994861e-02f, 1.366245489e-02f, 1.367493679e-02f, 1.368739427e-02f, 1.369982732e-02f, 1.371223592e-02f,
+1.372462004e-02f, 1.373697967e-02f, 1.374931479e-02f, 1.376162538e-02f, 1.377391142e-02f, 1.378617288e-02f, 1.379840976e-02f, 1.381062202e-02f, 1.382280965e-02f, 1.383497264e-02f,
+1.384711095e-02f, 1.385922458e-02f, 1.387131350e-02f, 1.388337769e-02f, 1.389541714e-02f, 1.390743182e-02f, 1.391942172e-02f, 1.393138681e-02f, 1.394332708e-02f, 1.395524251e-02f,
+1.396713307e-02f, 1.397899876e-02f, 1.399083954e-02f, 1.400265541e-02f, 1.401444635e-02f, 1.402621232e-02f, 1.403795333e-02f, 1.404966934e-02f, 1.406136033e-02f, 1.407302630e-02f,
+1.408466722e-02f, 1.409628307e-02f, 1.410787384e-02f, 1.411943950e-02f, 1.413098004e-02f, 1.414249544e-02f, 1.415398568e-02f, 1.416545074e-02f, 1.417689061e-02f, 1.418830526e-02f,
+1.419969468e-02f, 1.421105885e-02f, 1.422239775e-02f, 1.423371136e-02f, 1.424499967e-02f, 1.425626266e-02f, 1.426750031e-02f, 1.427871260e-02f, 1.428989952e-02f, 1.430106104e-02f,
+1.431219715e-02f, 1.432330784e-02f, 1.433439307e-02f, 1.434545285e-02f, 1.435648714e-02f, 1.436749593e-02f, 1.437847921e-02f, 1.438943695e-02f, 1.440036915e-02f, 1.441127577e-02f,
+1.442215681e-02f, 1.443301225e-02f, 1.444384207e-02f, 1.445464625e-02f, 1.446542478e-02f, 1.447617764e-02f, 1.448690480e-02f, 1.449760627e-02f, 1.450828201e-02f, 1.451893202e-02f,
+1.452955627e-02f, 1.454015475e-02f, 1.455072744e-02f, 1.456127432e-02f, 1.457179539e-02f, 1.458229061e-02f, 1.459275998e-02f, 1.460320348e-02f, 1.461362109e-02f, 1.462401280e-02f,
+1.463437859e-02f, 1.464471844e-02f, 1.465503234e-02f, 1.466532027e-02f, 1.467558221e-02f, 1.468581815e-02f, 1.469602808e-02f, 1.470621197e-02f, 1.471636981e-02f, 1.472650159e-02f,
+1.473660729e-02f, 1.474668689e-02f, 1.475674038e-02f, 1.476676774e-02f, 1.477676895e-02f, 1.478674401e-02f, 1.479669289e-02f, 1.480661558e-02f, 1.481651207e-02f, 1.482638233e-02f,
+1.483622635e-02f, 1.484604413e-02f, 1.485583563e-02f, 1.486560085e-02f, 1.487533978e-02f, 1.488505239e-02f, 1.489473867e-02f, 1.490439861e-02f, 1.491403219e-02f, 1.492363940e-02f,
+1.493322022e-02f, 1.494277463e-02f, 1.495230263e-02f, 1.496180419e-02f, 1.497127931e-02f, 1.498072796e-02f, 1.499015014e-02f, 1.499954582e-02f, 1.500891500e-02f, 1.501825766e-02f,
+1.502757378e-02f, 1.503686336e-02f, 1.504612637e-02f, 1.505536280e-02f, 1.506457263e-02f, 1.507375586e-02f, 1.508291247e-02f, 1.509204245e-02f, 1.510114577e-02f, 1.511022244e-02f,
+1.511927242e-02f, 1.512829571e-02f, 1.513729230e-02f, 1.514626217e-02f, 1.515520530e-02f, 1.516412169e-02f, 1.517301132e-02f, 1.518187418e-02f, 1.519071024e-02f, 1.519951951e-02f,
+1.520830196e-02f, 1.521705758e-02f, 1.522578636e-02f, 1.523448828e-02f, 1.524316334e-02f, 1.525181152e-02f, 1.526043280e-02f, 1.526902717e-02f, 1.527759462e-02f, 1.528613513e-02f,
+1.529464870e-02f, 1.530313531e-02f, 1.531159494e-02f, 1.532002759e-02f, 1.532843324e-02f, 1.533681187e-02f, 1.534516348e-02f, 1.535348806e-02f, 1.536178558e-02f, 1.537005604e-02f,
+1.537829943e-02f, 1.538651572e-02f, 1.539470492e-02f, 1.540286700e-02f, 1.541100196e-02f, 1.541910978e-02f, 1.542719045e-02f, 1.543524395e-02f, 1.544327029e-02f, 1.545126943e-02f,
+1.545924138e-02f, 1.546718611e-02f, 1.547510363e-02f, 1.548299391e-02f, 1.549085694e-02f, 1.549869271e-02f, 1.550650121e-02f, 1.551428243e-02f, 1.552203636e-02f, 1.552976298e-02f,
+1.553746228e-02f, 1.554513426e-02f, 1.555277889e-02f, 1.556039617e-02f, 1.556798609e-02f, 1.557554864e-02f, 1.558308379e-02f, 1.559059156e-02f, 1.559807191e-02f, 1.560552484e-02f,
+1.561295034e-02f, 1.562034840e-02f, 1.562771901e-02f, 1.563506215e-02f, 1.564237781e-02f, 1.564966600e-02f, 1.565692668e-02f, 1.566415986e-02f, 1.567136551e-02f, 1.567854364e-02f,
+1.568569423e-02f, 1.569281727e-02f, 1.569991275e-02f, 1.570698065e-02f, 1.571402097e-02f, 1.572103371e-02f, 1.572801883e-02f, 1.573497635e-02f, 1.574190624e-02f, 1.574880850e-02f,
+1.575568311e-02f, 1.576253007e-02f, 1.576934937e-02f, 1.577614099e-02f, 1.578290493e-02f, 1.578964117e-02f, 1.579634971e-02f, 1.580303053e-02f, 1.580968363e-02f, 1.581630900e-02f,
+1.582290663e-02f, 1.582947650e-02f, 1.583601861e-02f, 1.584253295e-02f, 1.584901950e-02f, 1.585547827e-02f, 1.586190923e-02f, 1.586831239e-02f, 1.587468772e-02f, 1.588103523e-02f,
+1.588735490e-02f, 1.589364673e-02f, 1.589991069e-02f, 1.590614680e-02f, 1.591235503e-02f, 1.591853537e-02f, 1.592468783e-02f, 1.593081238e-02f, 1.593690902e-02f, 1.594297775e-02f,
+1.594901855e-02f, 1.595503141e-02f, 1.596101633e-02f, 1.596697330e-02f, 1.597290230e-02f, 1.597880333e-02f, 1.598467639e-02f, 1.599052146e-02f, 1.599633853e-02f, 1.600212760e-02f,
+1.600788866e-02f, 1.601362170e-02f, 1.601932671e-02f, 1.602500369e-02f, 1.603065262e-02f, 1.603627350e-02f, 1.604186631e-02f, 1.604743106e-02f, 1.605296774e-02f, 1.605847633e-02f,
+1.606395683e-02f, 1.606940923e-02f, 1.607483352e-02f, 1.608022970e-02f, 1.608559776e-02f, 1.609093769e-02f, 1.609624948e-02f, 1.610153312e-02f, 1.610678862e-02f, 1.611201595e-02f,
+1.611721512e-02f, 1.612238612e-02f, 1.612752893e-02f, 1.613264356e-02f, 1.613772999e-02f, 1.614278822e-02f, 1.614781824e-02f, 1.615282005e-02f, 1.615779363e-02f, 1.616273898e-02f,
+1.616765610e-02f, 1.617254497e-02f, 1.617740560e-02f, 1.618223797e-02f, 1.618704207e-02f, 1.619181791e-02f, 1.619656547e-02f, 1.620128475e-02f, 1.620597574e-02f, 1.621063843e-02f,
+1.621527282e-02f, 1.621987891e-02f, 1.622445668e-02f, 1.622900613e-02f, 1.623352726e-02f, 1.623802005e-02f, 1.624248451e-02f, 1.624692062e-02f, 1.625132838e-02f, 1.625570779e-02f,
+1.626005883e-02f, 1.626438151e-02f, 1.626867582e-02f, 1.627294174e-02f, 1.627717929e-02f, 1.628138844e-02f, 1.628556920e-02f, 1.628972155e-02f, 1.629384551e-02f, 1.629794105e-02f,
+1.630200817e-02f, 1.630604687e-02f, 1.631005715e-02f, 1.631403899e-02f, 1.631799239e-02f, 1.632191736e-02f, 1.632581387e-02f, 1.632968193e-02f, 1.633352154e-02f, 1.633733268e-02f,
+1.634111536e-02f, 1.634486957e-02f, 1.634859530e-02f, 1.635229254e-02f, 1.635596131e-02f, 1.635960158e-02f, 1.636321336e-02f, 1.636679664e-02f, 1.637035141e-02f, 1.637387768e-02f,
+1.637737544e-02f, 1.638084467e-02f, 1.638428539e-02f, 1.638769759e-02f, 1.639108125e-02f, 1.639443638e-02f, 1.639776298e-02f, 1.640106103e-02f, 1.640433054e-02f, 1.640757150e-02f,
+1.641078391e-02f, 1.641396776e-02f, 1.641712305e-02f, 1.642024978e-02f, 1.642334794e-02f, 1.642641753e-02f, 1.642945855e-02f, 1.643247099e-02f, 1.643545484e-02f, 1.643841011e-02f,
+1.644133680e-02f, 1.644423489e-02f, 1.644710439e-02f, 1.644994529e-02f, 1.645275759e-02f, 1.645554129e-02f, 1.645829638e-02f, 1.646102286e-02f, 1.646372072e-02f, 1.646638998e-02f,
+1.646903061e-02f, 1.647164262e-02f, 1.647422601e-02f, 1.647678077e-02f, 1.647930690e-02f, 1.648180441e-02f, 1.648427327e-02f, 1.648671350e-02f, 1.648912509e-02f, 1.649150804e-02f,
+1.649386235e-02f, 1.649618801e-02f, 1.649848502e-02f, 1.650075338e-02f, 1.650299309e-02f, 1.650520414e-02f, 1.650738654e-02f, 1.650954028e-02f, 1.651166535e-02f, 1.651376177e-02f,
+1.651582952e-02f, 1.651786860e-02f, 1.651987902e-02f, 1.652186076e-02f, 1.652381384e-02f, 1.652573824e-02f, 1.652763397e-02f, 1.652950102e-02f, 1.653133940e-02f, 1.653314909e-02f,
+1.653493011e-02f, 1.653668244e-02f, 1.653840610e-02f, 1.654010107e-02f, 1.654176735e-02f, 1.654340495e-02f, 1.654501386e-02f, 1.654659408e-02f, 1.654814562e-02f, 1.654966846e-02f,
+1.655116262e-02f, 1.655262808e-02f, 1.655406485e-02f, 1.655547293e-02f, 1.655685231e-02f, 1.655820300e-02f, 1.655952500e-02f, 1.656081830e-02f, 1.656208291e-02f, 1.656331881e-02f,
+1.656452603e-02f, 1.656570454e-02f, 1.656685436e-02f, 1.656797549e-02f, 1.656906791e-02f, 1.657013164e-02f, 1.657116667e-02f, 1.657217301e-02f, 1.657315064e-02f, 1.657409958e-02f,
+1.657501983e-02f, 1.657591137e-02f, 1.657677422e-02f, 1.657760838e-02f, 1.657841383e-02f, 1.657919060e-02f, 1.657993866e-02f, 1.658065803e-02f, 1.658134871e-02f, 1.658201070e-02f,
+1.658264399e-02f, 1.658324859e-02f, 1.658382450e-02f, 1.658437172e-02f, 1.658489025e-02f, 1.658538009e-02f, 1.658584124e-02f, 1.658627371e-02f, 1.658667749e-02f, 1.658705258e-02f,
+1.658739900e-02f, 1.658771672e-02f, 1.658800577e-02f, 1.658826614e-02f, 1.658849783e-02f, 1.658870085e-02f, 1.658887518e-02f, 1.658902085e-02f, 1.658913784e-02f, 1.658922616e-02f,
+1.658928581e-02f, 1.658931679e-02f, 1.658931911e-02f, 1.658929276e-02f, 1.658923775e-02f, 1.658915408e-02f, 1.658904175e-02f, 1.658890077e-02f, 1.658873113e-02f, 1.658853283e-02f,
+1.658830589e-02f, 1.658805030e-02f, 1.658776606e-02f, 1.658745318e-02f, 1.658711166e-02f, 1.658674150e-02f, 1.658634270e-02f, 1.658591527e-02f, 1.658545921e-02f, 1.658497452e-02f,
+1.658446120e-02f, 1.658391926e-02f, 1.658334870e-02f, 1.658274952e-02f, 1.658212172e-02f, 1.658146531e-02f, 1.658078030e-02f, 1.658006667e-02f, 1.657932445e-02f, 1.657855362e-02f,
+1.657775419e-02f, 1.657692617e-02f, 1.657606956e-02f, 1.657518436e-02f, 1.657427058e-02f, 1.657332821e-02f, 1.657235727e-02f, 1.657135776e-02f, 1.657032967e-02f, 1.656927302e-02f,
+1.656818780e-02f, 1.656707402e-02f, 1.656593169e-02f, 1.656476080e-02f, 1.656356137e-02f, 1.656233339e-02f, 1.656107687e-02f, 1.655979181e-02f, 1.655847822e-02f, 1.655713610e-02f,
+1.655576546e-02f, 1.655436630e-02f, 1.655293862e-02f, 1.655148242e-02f, 1.654999772e-02f, 1.654848452e-02f, 1.654694281e-02f, 1.654537262e-02f, 1.654377393e-02f, 1.654214675e-02f,
+1.654049110e-02f, 1.653880697e-02f, 1.653709436e-02f, 1.653535329e-02f, 1.653358376e-02f, 1.653178577e-02f, 1.652995933e-02f, 1.652810444e-02f, 1.652622110e-02f, 1.652430933e-02f,
+1.652236913e-02f, 1.652040050e-02f, 1.651840344e-02f, 1.651637797e-02f, 1.651432409e-02f, 1.651224180e-02f, 1.651013111e-02f, 1.650799203e-02f, 1.650582455e-02f, 1.650362869e-02f,
+1.650140445e-02f, 1.649915184e-02f, 1.649687086e-02f, 1.649456151e-02f, 1.649222381e-02f, 1.648985776e-02f, 1.648746337e-02f, 1.648504063e-02f, 1.648258956e-02f, 1.648011017e-02f,
+1.647760246e-02f, 1.647506643e-02f, 1.647250209e-02f, 1.646990945e-02f, 1.646728851e-02f, 1.646463928e-02f, 1.646196177e-02f, 1.645925598e-02f, 1.645652192e-02f, 1.645375960e-02f,
+1.645096902e-02f, 1.644815019e-02f, 1.644530311e-02f, 1.644242780e-02f, 1.643952425e-02f, 1.643659248e-02f, 1.643363249e-02f, 1.643064429e-02f, 1.642762789e-02f, 1.642458329e-02f,
+1.642151050e-02f, 1.641840953e-02f, 1.641528038e-02f, 1.641212307e-02f, 1.640893759e-02f, 1.640572396e-02f, 1.640248218e-02f, 1.639921227e-02f, 1.639591422e-02f, 1.639258804e-02f,
+1.638923375e-02f, 1.638585135e-02f, 1.638244085e-02f, 1.637900225e-02f, 1.637553557e-02f, 1.637204081e-02f, 1.636851798e-02f, 1.636496708e-02f, 1.636138813e-02f, 1.635778113e-02f,
+1.635414609e-02f, 1.635048302e-02f, 1.634679193e-02f, 1.634307282e-02f, 1.633932570e-02f, 1.633555059e-02f, 1.633174748e-02f, 1.632791640e-02f, 1.632405734e-02f, 1.632017031e-02f,
+1.631625533e-02f, 1.631231239e-02f, 1.630834152e-02f, 1.630434272e-02f, 1.630031599e-02f, 1.629626135e-02f, 1.629217880e-02f, 1.628806836e-02f, 1.628393003e-02f, 1.627976382e-02f,
+1.627556974e-02f, 1.627134780e-02f, 1.626709801e-02f, 1.626282038e-02f, 1.625851491e-02f, 1.625418162e-02f, 1.624982051e-02f, 1.624543159e-02f, 1.624101488e-02f, 1.623657038e-02f,
+1.623209811e-02f, 1.622759806e-02f, 1.622307026e-02f, 1.621851471e-02f, 1.621393141e-02f, 1.620932039e-02f, 1.620468164e-02f, 1.620001519e-02f, 1.619532103e-02f, 1.619059918e-02f,
+1.618584965e-02f, 1.618107245e-02f, 1.617626759e-02f, 1.617143508e-02f, 1.616657492e-02f, 1.616168714e-02f, 1.615677173e-02f, 1.615182871e-02f, 1.614685809e-02f, 1.614185989e-02f,
+1.613683410e-02f, 1.613178074e-02f, 1.612669982e-02f, 1.612159135e-02f, 1.611645535e-02f, 1.611129182e-02f, 1.610610077e-02f, 1.610088221e-02f, 1.609563616e-02f, 1.609036262e-02f,
+1.608506161e-02f, 1.607973314e-02f, 1.607437722e-02f, 1.606899385e-02f, 1.606358305e-02f, 1.605814484e-02f, 1.605267921e-02f, 1.604718619e-02f, 1.604166579e-02f, 1.603611801e-02f,
+1.603054286e-02f, 1.602494037e-02f, 1.601931053e-02f, 1.601365336e-02f, 1.600796888e-02f, 1.600225709e-02f, 1.599651801e-02f, 1.599075164e-02f, 1.598495800e-02f, 1.597913710e-02f,
+1.597328896e-02f, 1.596741358e-02f, 1.596151097e-02f, 1.595558115e-02f, 1.594962413e-02f, 1.594363993e-02f, 1.593762854e-02f, 1.593158999e-02f, 1.592552429e-02f, 1.591943145e-02f,
+1.591331149e-02f, 1.590716440e-02f, 1.590099021e-02f, 1.589478894e-02f, 1.588856058e-02f, 1.588230516e-02f, 1.587602268e-02f, 1.586971316e-02f, 1.586337662e-02f, 1.585701306e-02f,
+1.585062249e-02f, 1.584420494e-02f, 1.583776040e-02f, 1.583128891e-02f, 1.582479046e-02f, 1.581826507e-02f, 1.581171275e-02f, 1.580513352e-02f, 1.579852739e-02f, 1.579189438e-02f,
+1.578523449e-02f, 1.577854774e-02f, 1.577183414e-02f, 1.576509370e-02f, 1.575832645e-02f, 1.575153239e-02f, 1.574471153e-02f, 1.573786389e-02f, 1.573098949e-02f, 1.572408833e-02f,
+1.571716043e-02f, 1.571020581e-02f, 1.570322447e-02f, 1.569621643e-02f, 1.568918171e-02f, 1.568212031e-02f, 1.567503226e-02f, 1.566791757e-02f, 1.566077624e-02f, 1.565360830e-02f,
+1.564641375e-02f, 1.563919262e-02f, 1.563194491e-02f, 1.562467065e-02f, 1.561736984e-02f, 1.561004249e-02f, 1.560268863e-02f, 1.559530827e-02f, 1.558790142e-02f, 1.558046810e-02f,
+1.557300832e-02f, 1.556552209e-02f, 1.555800943e-02f, 1.555047036e-02f, 1.554290489e-02f, 1.553531303e-02f, 1.552769479e-02f, 1.552005021e-02f, 1.551237928e-02f, 1.550468202e-02f,
+1.549695845e-02f, 1.548920859e-02f, 1.548143244e-02f, 1.547363002e-02f, 1.546580136e-02f, 1.545794646e-02f, 1.545006533e-02f, 1.544215800e-02f, 1.543422448e-02f, 1.542626478e-02f,
+1.541827893e-02f, 1.541026693e-02f, 1.540222879e-02f, 1.539416455e-02f, 1.538607421e-02f, 1.537795778e-02f, 1.536981529e-02f, 1.536164674e-02f, 1.535345216e-02f, 1.534523156e-02f,
+1.533698496e-02f, 1.532871237e-02f, 1.532041380e-02f, 1.531208928e-02f, 1.530373882e-02f, 1.529536243e-02f, 1.528696014e-02f, 1.527853195e-02f, 1.527007789e-02f, 1.526159797e-02f,
+1.525309220e-02f, 1.524456061e-02f, 1.523600321e-02f, 1.522742001e-02f, 1.521881103e-02f, 1.521017629e-02f, 1.520151581e-02f, 1.519282960e-02f, 1.518411768e-02f, 1.517538006e-02f,
+1.516661676e-02f, 1.515782780e-02f, 1.514901319e-02f, 1.514017296e-02f, 1.513130711e-02f, 1.512241568e-02f, 1.511349866e-02f, 1.510455608e-02f, 1.509558796e-02f, 1.508659431e-02f,
+1.507757515e-02f, 1.506853050e-02f, 1.505946038e-02f, 1.505036480e-02f, 1.504124377e-02f, 1.503209733e-02f, 1.502292547e-02f, 1.501372823e-02f, 1.500450562e-02f, 1.499525765e-02f,
+1.498598435e-02f, 1.497668573e-02f, 1.496736181e-02f, 1.495801261e-02f, 1.494863814e-02f, 1.493923842e-02f, 1.492981348e-02f, 1.492036332e-02f, 1.491088797e-02f, 1.490138744e-02f,
+1.489186175e-02f, 1.488231092e-02f, 1.487273498e-02f, 1.486313392e-02f, 1.485350778e-02f, 1.484385658e-02f, 1.483418032e-02f, 1.482447903e-02f, 1.481475273e-02f, 1.480500144e-02f,
+1.479522517e-02f, 1.478542394e-02f, 1.477559777e-02f, 1.476574668e-02f, 1.475587069e-02f, 1.474596982e-02f, 1.473604408e-02f, 1.472609349e-02f, 1.471611808e-02f, 1.470611785e-02f,
+1.469609284e-02f, 1.468604306e-02f, 1.467596852e-02f, 1.466586925e-02f, 1.465574527e-02f, 1.464559659e-02f, 1.463542324e-02f, 1.462522523e-02f, 1.461500258e-02f, 1.460475531e-02f,
+1.459448344e-02f, 1.458418699e-02f, 1.457386598e-02f, 1.456352043e-02f, 1.455315036e-02f, 1.454275578e-02f, 1.453233672e-02f, 1.452189319e-02f, 1.451142523e-02f, 1.450093283e-02f,
+1.449041604e-02f, 1.447987485e-02f, 1.446930930e-02f, 1.445871941e-02f, 1.444810518e-02f, 1.443746666e-02f, 1.442680384e-02f, 1.441611676e-02f, 1.440540543e-02f, 1.439466988e-02f,
+1.438391012e-02f, 1.437312617e-02f, 1.436231806e-02f, 1.435148580e-02f, 1.434062941e-02f, 1.432974892e-02f, 1.431884434e-02f, 1.430791570e-02f, 1.429696302e-02f, 1.428598630e-02f,
+1.427498559e-02f, 1.426396089e-02f, 1.425291223e-02f, 1.424183963e-02f, 1.423074310e-02f, 1.421962267e-02f, 1.420847837e-02f, 1.419731020e-02f, 1.418611819e-02f, 1.417490237e-02f,
+1.416366275e-02f, 1.415239935e-02f, 1.414111220e-02f, 1.412980131e-02f, 1.411846671e-02f, 1.410710842e-02f, 1.409572645e-02f, 1.408432084e-02f, 1.407289159e-02f, 1.406143874e-02f,
+1.404996230e-02f, 1.403846230e-02f, 1.402693875e-02f, 1.401539168e-02f, 1.400382111e-02f, 1.399222706e-02f, 1.398060955e-02f, 1.396896860e-02f, 1.395730424e-02f, 1.394561648e-02f,
+1.393390535e-02f, 1.392217088e-02f, 1.391041307e-02f, 1.389863195e-02f, 1.388682756e-02f, 1.387499989e-02f, 1.386314899e-02f, 1.385127487e-02f, 1.383937754e-02f, 1.382745705e-02f,
+1.381551340e-02f, 1.380354661e-02f, 1.379155672e-02f, 1.377954374e-02f, 1.376750770e-02f, 1.375544861e-02f, 1.374336651e-02f, 1.373126140e-02f, 1.371913332e-02f, 1.370698228e-02f,
+1.369480832e-02f, 1.368261144e-02f, 1.367039168e-02f, 1.365814905e-02f, 1.364588358e-02f, 1.363359530e-02f, 1.362128422e-02f, 1.360895036e-02f, 1.359659376e-02f, 1.358421442e-02f,
+1.357181238e-02f, 1.355938766e-02f, 1.354694028e-02f, 1.353447026e-02f, 1.352197763e-02f, 1.350946241e-02f, 1.349692462e-02f, 1.348436429e-02f, 1.347178143e-02f, 1.345917608e-02f,
+1.344654825e-02f, 1.343389797e-02f, 1.342122526e-02f, 1.340853014e-02f, 1.339581264e-02f, 1.338307279e-02f, 1.337031060e-02f, 1.335752609e-02f, 1.334471930e-02f, 1.333189024e-02f,
+1.331903894e-02f, 1.330616543e-02f, 1.329326972e-02f, 1.328035183e-02f, 1.326741180e-02f, 1.325444965e-02f, 1.324146540e-02f, 1.322845907e-02f, 1.321543069e-02f, 1.320238028e-02f,
+1.318930787e-02f, 1.317621348e-02f, 1.316309713e-02f, 1.314995885e-02f, 1.313679866e-02f, 1.312361659e-02f, 1.311041265e-02f, 1.309718688e-02f, 1.308393930e-02f, 1.307066993e-02f,
+1.305737880e-02f, 1.304406593e-02f, 1.303073134e-02f, 1.301737507e-02f, 1.300399713e-02f, 1.299059755e-02f, 1.297717635e-02f, 1.296373355e-02f, 1.295026919e-02f, 1.293678329e-02f,
+1.292327587e-02f, 1.290974695e-02f, 1.289619657e-02f, 1.288262474e-02f, 1.286903149e-02f, 1.285541685e-02f, 1.284178083e-02f, 1.282812347e-02f, 1.281444479e-02f, 1.280074482e-02f,
+1.278702357e-02f, 1.277328108e-02f, 1.275951737e-02f, 1.274573247e-02f, 1.273192639e-02f, 1.271809917e-02f, 1.270425083e-02f, 1.269038139e-02f, 1.267649088e-02f, 1.266257933e-02f,
+1.264864677e-02f, 1.263469321e-02f, 1.262071868e-02f, 1.260672320e-02f, 1.259270681e-02f, 1.257866953e-02f, 1.256461139e-02f, 1.255053240e-02f, 1.253643260e-02f, 1.252231200e-02f,
+1.250817065e-02f, 1.249400856e-02f, 1.247982575e-02f, 1.246562226e-02f, 1.245139811e-02f, 1.243715332e-02f, 1.242288792e-02f, 1.240860195e-02f, 1.239429541e-02f, 1.237996834e-02f,
+1.236562077e-02f, 1.235125272e-02f, 1.233686422e-02f, 1.232245529e-02f, 1.230802596e-02f, 1.229357625e-02f, 1.227910620e-02f, 1.226461582e-02f, 1.225010515e-02f, 1.223557421e-02f,
+1.222102303e-02f, 1.220645163e-02f, 1.219186004e-02f, 1.217724828e-02f, 1.216261639e-02f, 1.214796439e-02f, 1.213329230e-02f, 1.211860016e-02f, 1.210388798e-02f, 1.208915580e-02f,
+1.207440364e-02f, 1.205963154e-02f, 1.204483950e-02f, 1.203002757e-02f, 1.201519577e-02f, 1.200034413e-02f, 1.198547266e-02f, 1.197058141e-02f, 1.195567040e-02f, 1.194073965e-02f,
+1.192578918e-02f, 1.191081904e-02f, 1.189582924e-02f, 1.188081982e-02f, 1.186579079e-02f, 1.185074219e-02f, 1.183567404e-02f, 1.182058638e-02f, 1.180547922e-02f, 1.179035260e-02f,
+1.177520654e-02f, 1.176004107e-02f, 1.174485621e-02f, 1.172965201e-02f, 1.171442847e-02f, 1.169918564e-02f, 1.168392353e-02f, 1.166864217e-02f, 1.165334160e-02f, 1.163802184e-02f,
+1.162268292e-02f, 1.160732486e-02f, 1.159194769e-02f, 1.157655145e-02f, 1.156113615e-02f, 1.154570183e-02f, 1.153024852e-02f, 1.151477623e-02f, 1.149928501e-02f, 1.148377487e-02f,
+1.146824585e-02f, 1.145269797e-02f, 1.143713127e-02f, 1.142154576e-02f, 1.140594149e-02f, 1.139031847e-02f, 1.137467673e-02f, 1.135901630e-02f, 1.134333722e-02f, 1.132763950e-02f,
+1.131192319e-02f, 1.129618829e-02f, 1.128043485e-02f, 1.126466290e-02f, 1.124887245e-02f, 1.123306354e-02f, 1.121723620e-02f, 1.120139045e-02f, 1.118552633e-02f, 1.116964386e-02f,
+1.115374307e-02f, 1.113782400e-02f, 1.112188666e-02f, 1.110593108e-02f, 1.108995731e-02f, 1.107396536e-02f, 1.105795526e-02f, 1.104192704e-02f, 1.102588073e-02f, 1.100981637e-02f,
+1.099373397e-02f, 1.097763357e-02f, 1.096151519e-02f, 1.094537887e-02f, 1.092922464e-02f, 1.091305252e-02f, 1.089686254e-02f, 1.088065473e-02f, 1.086442912e-02f, 1.084818574e-02f,
+1.083192462e-02f, 1.081564579e-02f, 1.079934928e-02f, 1.078303511e-02f, 1.076670332e-02f, 1.075035393e-02f, 1.073398697e-02f, 1.071760248e-02f, 1.070120049e-02f, 1.068478101e-02f,
+1.066834409e-02f, 1.065188975e-02f, 1.063541801e-02f, 1.061892892e-02f, 1.060242250e-02f, 1.058589878e-02f, 1.056935778e-02f, 1.055279955e-02f, 1.053622410e-02f, 1.051963147e-02f,
+1.050302169e-02f, 1.048639479e-02f, 1.046975079e-02f, 1.045308973e-02f, 1.043641164e-02f, 1.041971654e-02f, 1.040300447e-02f, 1.038627546e-02f, 1.036952953e-02f, 1.035276672e-02f,
+1.033598705e-02f, 1.031919056e-02f, 1.030237728e-02f, 1.028554724e-02f, 1.026870046e-02f, 1.025183697e-02f, 1.023495682e-02f, 1.021806002e-02f, 1.020114661e-02f, 1.018421661e-02f,
+1.016727006e-02f, 1.015030699e-02f, 1.013332743e-02f, 1.011633141e-02f, 1.009931896e-02f, 1.008229010e-02f, 1.006524488e-02f, 1.004818332e-02f, 1.003110544e-02f, 1.001401129e-02f,
+9.996900891e-03f, 9.979774273e-03f, 9.962631468e-03f, 9.945472506e-03f, 9.928297418e-03f, 9.911106235e-03f, 9.893898988e-03f, 9.876675706e-03f, 9.859436422e-03f, 9.842181165e-03f,
+9.824909966e-03f, 9.807622857e-03f, 9.790319867e-03f, 9.773001029e-03f, 9.755666372e-03f, 9.738315928e-03f, 9.720949728e-03f, 9.703567802e-03f, 9.686170182e-03f, 9.668756898e-03f,
+9.651327982e-03f, 9.633883465e-03f, 9.616423377e-03f, 9.598947750e-03f, 9.581456616e-03f, 9.563950004e-03f, 9.546427947e-03f, 9.528890475e-03f, 9.511337621e-03f, 9.493769414e-03f,
+9.476185887e-03f, 9.458587070e-03f, 9.440972996e-03f, 9.423343694e-03f, 9.405699198e-03f, 9.388039538e-03f, 9.370364745e-03f, 9.352674851e-03f, 9.334969888e-03f, 9.317249887e-03f,
+9.299514879e-03f, 9.281764897e-03f, 9.263999971e-03f, 9.246220134e-03f, 9.228425416e-03f, 9.210615850e-03f, 9.192791467e-03f, 9.174952300e-03f, 9.157098378e-03f, 9.139229736e-03f,
+9.121346403e-03f, 9.103448412e-03f, 9.085535795e-03f, 9.067608584e-03f, 9.049666810e-03f, 9.031710505e-03f, 9.013739702e-03f, 8.995754432e-03f, 8.977754727e-03f, 8.959740619e-03f,
+8.941712140e-03f, 8.923669322e-03f, 8.905612197e-03f, 8.887540798e-03f, 8.869455155e-03f, 8.851355303e-03f, 8.833241271e-03f, 8.815113094e-03f, 8.796970802e-03f, 8.778814429e-03f,
+8.760644005e-03f, 8.742459564e-03f, 8.724261138e-03f, 8.706048760e-03f, 8.687822460e-03f, 8.669582272e-03f, 8.651328229e-03f, 8.633060362e-03f, 8.614778703e-03f, 8.596483286e-03f,
+8.578174143e-03f, 8.559851306e-03f, 8.541514808e-03f, 8.523164680e-03f, 8.504800957e-03f, 8.486423670e-03f, 8.468032851e-03f, 8.449628535e-03f, 8.431210752e-03f, 8.412779535e-03f,
+8.394334919e-03f, 8.375876934e-03f, 8.357405614e-03f, 8.338920991e-03f, 8.320423099e-03f, 8.301911969e-03f, 8.283387635e-03f, 8.264850130e-03f, 8.246299486e-03f, 8.227735736e-03f,
+8.209158914e-03f, 8.190569051e-03f, 8.171966181e-03f, 8.153350337e-03f, 8.134721552e-03f, 8.116079858e-03f, 8.097425289e-03f, 8.078757878e-03f, 8.060077658e-03f, 8.041384661e-03f,
+8.022678921e-03f, 8.003960471e-03f, 7.985229344e-03f, 7.966485573e-03f, 7.947729192e-03f, 7.928960233e-03f, 7.910178729e-03f, 7.891384715e-03f, 7.872578223e-03f, 7.853759286e-03f,
+7.834927937e-03f, 7.816084211e-03f, 7.797228140e-03f, 7.778359757e-03f, 7.759479096e-03f, 7.740586190e-03f, 7.721681073e-03f, 7.702763778e-03f, 7.683834338e-03f, 7.664892788e-03f,
+7.645939159e-03f, 7.626973487e-03f, 7.607995803e-03f, 7.589006143e-03f, 7.570004538e-03f, 7.550991024e-03f, 7.531965633e-03f, 7.512928399e-03f, 7.493879356e-03f, 7.474818537e-03f,
+7.455745976e-03f, 7.436661707e-03f, 7.417565762e-03f, 7.398458177e-03f, 7.379338985e-03f, 7.360208218e-03f, 7.341065912e-03f, 7.321912100e-03f, 7.302746815e-03f, 7.283570092e-03f,
+7.264381965e-03f, 7.245182466e-03f, 7.225971631e-03f, 7.206749492e-03f, 7.187516084e-03f, 7.168271441e-03f, 7.149015596e-03f, 7.129748584e-03f, 7.110470439e-03f, 7.091181194e-03f,
+7.071880883e-03f, 7.052569541e-03f, 7.033247201e-03f, 7.013913898e-03f, 6.994569666e-03f, 6.975214538e-03f, 6.955848549e-03f, 6.936471733e-03f, 6.917084125e-03f, 6.897685757e-03f,
+6.878276664e-03f, 6.858856882e-03f, 6.839426442e-03f, 6.819985381e-03f, 6.800533732e-03f, 6.781071530e-03f, 6.761598808e-03f, 6.742115601e-03f, 6.722621943e-03f, 6.703117869e-03f,
+6.683603412e-03f, 6.664078608e-03f, 6.644543490e-03f, 6.624998094e-03f, 6.605442452e-03f, 6.585876600e-03f, 6.566300573e-03f, 6.546714404e-03f, 6.527118128e-03f, 6.507511779e-03f,
+6.487895393e-03f, 6.468269003e-03f, 6.448632643e-03f, 6.428986350e-03f, 6.409330156e-03f, 6.389664097e-03f, 6.369988207e-03f, 6.350302520e-03f, 6.330607072e-03f, 6.310901897e-03f,
+6.291187030e-03f, 6.271462505e-03f, 6.251728356e-03f, 6.231984619e-03f, 6.212231329e-03f, 6.192468519e-03f, 6.172696225e-03f, 6.152914481e-03f, 6.133123322e-03f, 6.113322783e-03f,
+6.093512899e-03f, 6.073693705e-03f, 6.053865234e-03f, 6.034027522e-03f, 6.014180605e-03f, 5.994324516e-03f, 5.974459290e-03f, 5.954584963e-03f, 5.934701570e-03f, 5.914809144e-03f,
+5.894907722e-03f, 5.874997337e-03f, 5.855078026e-03f, 5.835149822e-03f, 5.815212762e-03f, 5.795266879e-03f, 5.775312209e-03f, 5.755348787e-03f, 5.735376647e-03f, 5.715395826e-03f,
+5.695406357e-03f, 5.675408277e-03f, 5.655401619e-03f, 5.635386420e-03f, 5.615362713e-03f, 5.595330535e-03f, 5.575289921e-03f, 5.555240905e-03f, 5.535183522e-03f, 5.515117809e-03f,
+5.495043799e-03f, 5.474961529e-03f, 5.454871033e-03f, 5.434772346e-03f, 5.414665505e-03f, 5.394550543e-03f, 5.374427497e-03f, 5.354296401e-03f, 5.334157290e-03f, 5.314010201e-03f,
+5.293855168e-03f, 5.273692227e-03f, 5.253521413e-03f, 5.233342760e-03f, 5.213156306e-03f, 5.192962084e-03f, 5.172760130e-03f, 5.152550480e-03f, 5.132333169e-03f, 5.112108233e-03f,
+5.091875706e-03f, 5.071635624e-03f, 5.051388023e-03f, 5.031132938e-03f, 5.010870404e-03f, 4.990600457e-03f, 4.970323133e-03f, 4.950038466e-03f, 4.929746493e-03f, 4.909447248e-03f,
+4.889140768e-03f, 4.868827088e-03f, 4.848506243e-03f, 4.828178268e-03f, 4.807843201e-03f, 4.787501075e-03f, 4.767151926e-03f, 4.746795791e-03f, 4.726432705e-03f, 4.706062702e-03f,
+4.685685820e-03f, 4.665302093e-03f, 4.644911557e-03f, 4.624514248e-03f, 4.604110202e-03f, 4.583699453e-03f, 4.563282038e-03f, 4.542857993e-03f, 4.522427352e-03f, 4.501990152e-03f,
+4.481546429e-03f, 4.461096218e-03f, 4.440639554e-03f, 4.420176475e-03f, 4.399707014e-03f, 4.379231209e-03f, 4.358749094e-03f, 4.338260706e-03f, 4.317766080e-03f, 4.297265253e-03f,
+4.276758259e-03f, 4.256245135e-03f, 4.235725916e-03f, 4.215200639e-03f, 4.194669338e-03f, 4.174132051e-03f, 4.153588812e-03f, 4.133039659e-03f, 4.112484625e-03f, 4.091923748e-03f,
+4.071357063e-03f, 4.050784606e-03f, 4.030206413e-03f, 4.009622520e-03f, 3.989032962e-03f, 3.968437777e-03f, 3.947836998e-03f, 3.927230663e-03f, 3.906618808e-03f, 3.886001468e-03f,
+3.865378679e-03f, 3.844750477e-03f, 3.824116899e-03f, 3.803477980e-03f, 3.782833755e-03f, 3.762184262e-03f, 3.741529536e-03f, 3.720869613e-03f, 3.700204529e-03f, 3.679534320e-03f,
+3.658859023e-03f, 3.638178672e-03f, 3.617493304e-03f, 3.596802956e-03f, 3.576107662e-03f, 3.555407460e-03f, 3.534702385e-03f, 3.513992474e-03f, 3.493277762e-03f, 3.472558285e-03f,
+3.451834080e-03f, 3.431105182e-03f, 3.410371628e-03f, 3.389633454e-03f, 3.368890696e-03f, 3.348143390e-03f, 3.327391572e-03f, 3.306635278e-03f, 3.285874544e-03f, 3.265109407e-03f,
+3.244339902e-03f, 3.223566066e-03f, 3.202787935e-03f, 3.182005545e-03f, 3.161218933e-03f, 3.140428133e-03f, 3.119633183e-03f, 3.098834119e-03f, 3.078030976e-03f, 3.057223791e-03f,
+3.036412601e-03f, 3.015597441e-03f, 2.994778347e-03f, 2.973955356e-03f, 2.953128505e-03f, 2.932297828e-03f, 2.911463362e-03f, 2.890625145e-03f, 2.869783210e-03f, 2.848937596e-03f,
+2.828088339e-03f, 2.807235473e-03f, 2.786379037e-03f, 2.765519065e-03f, 2.744655594e-03f, 2.723788661e-03f, 2.702918301e-03f, 2.682044552e-03f, 2.661167448e-03f, 2.640287027e-03f,
+2.619403325e-03f, 2.598516377e-03f, 2.577626221e-03f, 2.556732892e-03f, 2.535836428e-03f, 2.514936863e-03f, 2.494034234e-03f, 2.473128578e-03f, 2.452219931e-03f, 2.431308329e-03f,
+2.410393809e-03f, 2.389476407e-03f, 2.368556158e-03f, 2.347633100e-03f, 2.326707269e-03f, 2.305778700e-03f, 2.284847431e-03f, 2.263913498e-03f, 2.242976936e-03f, 2.222037783e-03f,
+2.201096075e-03f, 2.180151847e-03f, 2.159205137e-03f, 2.138255980e-03f, 2.117304413e-03f, 2.096350472e-03f, 2.075394193e-03f, 2.054435614e-03f, 2.033474770e-03f, 2.012511697e-03f,
+1.991546432e-03f, 1.970579012e-03f, 1.949609472e-03f, 1.928637849e-03f, 1.907664179e-03f, 1.886688499e-03f, 1.865710845e-03f, 1.844731253e-03f, 1.823749760e-03f, 1.802766401e-03f,
+1.781781214e-03f, 1.760794235e-03f, 1.739805500e-03f, 1.718815045e-03f, 1.697822907e-03f, 1.676829122e-03f, 1.655833727e-03f, 1.634836757e-03f, 1.613838250e-03f, 1.592838241e-03f,
+1.571836767e-03f, 1.550833865e-03f, 1.529829570e-03f, 1.508823919e-03f, 1.487816948e-03f, 1.466808694e-03f, 1.445799193e-03f, 1.424788481e-03f, 1.403776596e-03f, 1.382763572e-03f,
+1.361749447e-03f, 1.340734257e-03f, 1.319718038e-03f, 1.298700826e-03f, 1.277682659e-03f, 1.256663571e-03f, 1.235643601e-03f, 1.214622783e-03f, 1.193601155e-03f, 1.172578752e-03f,
+1.151555611e-03f, 1.130531769e-03f, 1.109507262e-03f, 1.088482126e-03f, 1.067456397e-03f, 1.046430111e-03f, 1.025403307e-03f, 1.004376018e-03f, 9.833482823e-04f, 9.623201358e-04f,
+9.412916148e-04f, 9.202627557e-04f, 8.992335947e-04f, 8.782041682e-04f, 8.571745126e-04f, 8.361446641e-04f, 8.151146592e-04f, 7.940845341e-04f, 7.730543251e-04f, 7.520240687e-04f,
+7.309938010e-04f, 7.099635585e-04f, 6.889333774e-04f, 6.679032940e-04f, 6.468733447e-04f, 6.258435658e-04f, 6.048139936e-04f, 5.837846644e-04f, 5.627556144e-04f, 5.417268801e-04f,
+5.206984976e-04f, 4.996705033e-04f, 4.786429335e-04f, 4.576158244e-04f, 4.365892124e-04f, 4.155631337e-04f, 3.945376245e-04f, 3.735127213e-04f, 3.524884602e-04f, 3.314648775e-04f,
+3.104420095e-04f, 2.894198925e-04f, 2.683985626e-04f, 2.473780562e-04f, 2.263584095e-04f, 2.053396588e-04f, 1.843218403e-04f, 1.633049901e-04f, 1.422891447e-04f, 1.212743402e-04f,
+1.002606128e-04f, 7.924799875e-05f, 5.823653428e-05f, 3.722625560e-05f, 1.621719893e-05f, -4.790599534e-06f, -2.579710359e-05f, -4.680227703e-05f, -6.780608367e-05f, -8.880848732e-05f,
+-1.098094518e-04f, -1.308089409e-04f, -1.518069185e-04f, -1.728033484e-04f, -1.937981944e-04f, -2.147914204e-04f, -2.357829902e-04f, -2.567728677e-04f, -2.777610167e-04f, -2.987474011e-04f,
+-3.197319847e-04f, -3.407147315e-04f, -3.616956053e-04f, -3.826745699e-04f, -4.036515893e-04f, -4.246266274e-04f, -4.455996480e-04f, -4.665706151e-04f, -4.875394925e-04f, -5.085062443e-04f,
+-5.294708342e-04f, -5.504332263e-04f, -5.713933844e-04f, -5.923512726e-04f, -6.133068547e-04f, -6.342600947e-04f, -6.552109566e-04f, -6.761594043e-04f, -6.971054018e-04f, -7.180489131e-04f,
+-7.389899021e-04f, -7.599283329e-04f, -7.808641694e-04f, -8.017973757e-04f, -8.227279158e-04f, -8.436557536e-04f, -8.645808532e-04f, -8.855031787e-04f, -9.064226940e-04f, -9.273393632e-04f,
+-9.482531504e-04f, -9.691640196e-04f, -9.900719350e-04f, -1.010976860e-03f, -1.031878760e-03f, -1.052777598e-03f, -1.073673339e-03f, -1.094565946e-03f, -1.115455383e-03f, -1.136341616e-03f,
+-1.157224607e-03f, -1.178104322e-03f, -1.198980723e-03f, -1.219853776e-03f, -1.240723444e-03f, -1.261589692e-03f, -1.282452484e-03f, -1.303311784e-03f, -1.324167556e-03f, -1.345019764e-03f,
+-1.365868373e-03f, -1.386713347e-03f, -1.407554649e-03f, -1.428392246e-03f, -1.449226099e-03f, -1.470056174e-03f, -1.490882436e-03f, -1.511704847e-03f, -1.532523373e-03f, -1.553337978e-03f,
+-1.574148627e-03f, -1.594955282e-03f, -1.615757909e-03f, -1.636556473e-03f, -1.657350937e-03f, -1.678141265e-03f, -1.698927423e-03f, -1.719709374e-03f, -1.740487083e-03f, -1.761260514e-03f,
+-1.782029632e-03f, -1.802794400e-03f, -1.823554784e-03f, -1.844310748e-03f, -1.865062256e-03f, -1.885809273e-03f, -1.906551763e-03f, -1.927289690e-03f, -1.948023020e-03f, -1.968751715e-03f,
+-1.989475742e-03f, -2.010195065e-03f, -2.030909647e-03f, -2.051619454e-03f, -2.072324450e-03f, -2.093024599e-03f, -2.113719867e-03f, -2.134410217e-03f, -2.155095615e-03f, -2.175776024e-03f,
+-2.196451410e-03f, -2.217121737e-03f, -2.237786969e-03f, -2.258447072e-03f, -2.279102009e-03f, -2.299751746e-03f, -2.320396248e-03f, -2.341035478e-03f, -2.361669402e-03f, -2.382297984e-03f,
+-2.402921188e-03f, -2.423538981e-03f, -2.444151326e-03f, -2.464758188e-03f, -2.485359531e-03f, -2.505955322e-03f, -2.526545524e-03f, -2.547130102e-03f, -2.567709020e-03f, -2.588282245e-03f,
+-2.608849740e-03f, -2.629411471e-03f, -2.649967402e-03f, -2.670517498e-03f, -2.691061724e-03f, -2.711600045e-03f, -2.732132426e-03f, -2.752658831e-03f, -2.773179226e-03f, -2.793693575e-03f,
+-2.814201844e-03f, -2.834703997e-03f, -2.855200000e-03f, -2.875689817e-03f, -2.896173413e-03f, -2.916650754e-03f, -2.937121804e-03f, -2.957586528e-03f, -2.978044892e-03f, -2.998496860e-03f,
+-3.018942398e-03f, -3.039381471e-03f, -3.059814043e-03f, -3.080240080e-03f, -3.100659548e-03f, -3.121072410e-03f, -3.141478632e-03f, -3.161878180e-03f, -3.182271019e-03f, -3.202657114e-03f,
+-3.223036429e-03f, -3.243408931e-03f, -3.263774584e-03f, -3.284133354e-03f, -3.304485206e-03f, -3.324830105e-03f, -3.345168016e-03f, -3.365498906e-03f, -3.385822738e-03f, -3.406139480e-03f,
+-3.426449095e-03f, -3.446751549e-03f, -3.467046808e-03f, -3.487334836e-03f, -3.507615601e-03f, -3.527889065e-03f, -3.548155197e-03f, -3.568413959e-03f, -3.588665319e-03f, -3.608909242e-03f,
+-3.629145693e-03f, -3.649374637e-03f, -3.669596041e-03f, -3.689809869e-03f, -3.710016087e-03f, -3.730214662e-03f, -3.750405557e-03f, -3.770588740e-03f, -3.790764175e-03f, -3.810931829e-03f,
+-3.831091666e-03f, -3.851243653e-03f, -3.871387755e-03f, -3.891523938e-03f, -3.911652168e-03f, -3.931772410e-03f, -3.951884630e-03f, -3.971988794e-03f, -3.992084868e-03f, -4.012172817e-03f,
+-4.032252607e-03f, -4.052324204e-03f, -4.072387575e-03f, -4.092442684e-03f, -4.112489497e-03f, -4.132527981e-03f, -4.152558101e-03f, -4.172579824e-03f, -4.192593115e-03f, -4.212597940e-03f,
+-4.232594266e-03f, -4.252582057e-03f, -4.272561281e-03f, -4.292531902e-03f, -4.312493888e-03f, -4.332447205e-03f, -4.352391817e-03f, -4.372327692e-03f, -4.392254796e-03f, -4.412173094e-03f,
+-4.432082553e-03f, -4.451983139e-03f, -4.471874818e-03f, -4.491757556e-03f, -4.511631320e-03f, -4.531496075e-03f, -4.551351789e-03f, -4.571198427e-03f, -4.591035955e-03f, -4.610864340e-03f,
+-4.630683548e-03f, -4.650493546e-03f, -4.670294300e-03f, -4.690085776e-03f, -4.709867940e-03f, -4.729640759e-03f, -4.749404200e-03f, -4.769158229e-03f, -4.788902812e-03f, -4.808637915e-03f,
+-4.828363506e-03f, -4.848079551e-03f, -4.867786016e-03f, -4.887482868e-03f, -4.907170074e-03f, -4.926847599e-03f, -4.946515411e-03f, -4.966173477e-03f, -4.985821762e-03f, -5.005460234e-03f,
+-5.025088859e-03f, -5.044707604e-03f, -5.064316436e-03f, -5.083915321e-03f, -5.103504227e-03f, -5.123083119e-03f, -5.142651966e-03f, -5.162210732e-03f, -5.181759387e-03f, -5.201297895e-03f,
+-5.220826225e-03f, -5.240344343e-03f, -5.259852215e-03f, -5.279349810e-03f, -5.298837094e-03f, -5.318314033e-03f, -5.337780595e-03f, -5.357236747e-03f, -5.376682456e-03f, -5.396117689e-03f,
+-5.415542413e-03f, -5.434956595e-03f, -5.454360202e-03f, -5.473753202e-03f, -5.493135561e-03f, -5.512507247e-03f, -5.531868226e-03f, -5.551218467e-03f, -5.570557936e-03f, -5.589886601e-03f,
+-5.609204429e-03f, -5.628511386e-03f, -5.647807442e-03f, -5.667092562e-03f, -5.686366714e-03f, -5.705629866e-03f, -5.724881985e-03f, -5.744123038e-03f, -5.763352993e-03f, -5.782571818e-03f,
+-5.801779479e-03f, -5.820975945e-03f, -5.840161182e-03f, -5.859335159e-03f, -5.878497843e-03f, -5.897649201e-03f, -5.916789202e-03f, -5.935917813e-03f, -5.955035000e-03f, -5.974140734e-03f,
+-5.993234980e-03f, -6.012317706e-03f, -6.031388881e-03f, -6.050448472e-03f, -6.069496447e-03f, -6.088532774e-03f, -6.107557420e-03f, -6.126570354e-03f, -6.145571543e-03f, -6.164560955e-03f,
+-6.183538558e-03f, -6.202504320e-03f, -6.221458210e-03f, -6.240400194e-03f, -6.259330241e-03f, -6.278248320e-03f, -6.297154397e-03f, -6.316048442e-03f, -6.334930422e-03f, -6.353800306e-03f,
+-6.372658061e-03f, -6.391503656e-03f, -6.410337059e-03f, -6.429158238e-03f, -6.447967161e-03f, -6.466763797e-03f, -6.485548114e-03f, -6.504320081e-03f, -6.523079665e-03f, -6.541826835e-03f,
+-6.560561559e-03f, -6.579283806e-03f, -6.597993544e-03f, -6.616690742e-03f, -6.635375368e-03f, -6.654047390e-03f, -6.672706778e-03f, -6.691353499e-03f, -6.709987523e-03f, -6.728608817e-03f,
+-6.747217351e-03f, -6.765813093e-03f, -6.784396012e-03f, -6.802966076e-03f, -6.821523254e-03f, -6.840067515e-03f, -6.858598828e-03f, -6.877117162e-03f, -6.895622484e-03f, -6.914114765e-03f,
+-6.932593972e-03f, -6.951060076e-03f, -6.969513044e-03f, -6.987952846e-03f, -7.006379450e-03f, -7.024792826e-03f, -7.043192943e-03f, -7.061579769e-03f, -7.079953274e-03f, -7.098313427e-03f,
+-7.116660196e-03f, -7.134993552e-03f, -7.153313463e-03f, -7.171619898e-03f, -7.189912827e-03f, -7.208192218e-03f, -7.226458042e-03f, -7.244710267e-03f, -7.262948862e-03f, -7.281173798e-03f,
+-7.299385043e-03f, -7.317582566e-03f, -7.335766338e-03f, -7.353936327e-03f, -7.372092503e-03f, -7.390234836e-03f, -7.408363295e-03f, -7.426477849e-03f, -7.444578468e-03f, -7.462665122e-03f,
+-7.480737781e-03f, -7.498796413e-03f, -7.516840989e-03f, -7.534871478e-03f, -7.552887851e-03f, -7.570890076e-03f, -7.588878123e-03f, -7.606851963e-03f, -7.624811565e-03f, -7.642756900e-03f,
+-7.660687936e-03f, -7.678604643e-03f, -7.696506993e-03f, -7.714394954e-03f, -7.732268497e-03f, -7.750127592e-03f, -7.767972209e-03f, -7.785802317e-03f, -7.803617887e-03f, -7.821418889e-03f,
+-7.839205293e-03f, -7.856977070e-03f, -7.874734189e-03f, -7.892476620e-03f, -7.910204335e-03f, -7.927917303e-03f, -7.945615495e-03f, -7.963298880e-03f, -7.980967430e-03f, -7.998621115e-03f,
+-8.016259904e-03f, -8.033883769e-03f, -8.051492680e-03f, -8.069086608e-03f, -8.086665523e-03f, -8.104229395e-03f, -8.121778195e-03f, -8.139311894e-03f, -8.156830463e-03f, -8.174333872e-03f,
+-8.191822091e-03f, -8.209295092e-03f, -8.226752845e-03f, -8.244195321e-03f, -8.261622491e-03f, -8.279034326e-03f, -8.296430796e-03f, -8.313811873e-03f, -8.331177527e-03f, -8.348527729e-03f,
+-8.365862451e-03f, -8.383181663e-03f, -8.400485336e-03f, -8.417773441e-03f, -8.435045950e-03f, -8.452302834e-03f, -8.469544063e-03f, -8.486769610e-03f, -8.503979444e-03f, -8.521173537e-03f,
+-8.538351862e-03f, -8.555514388e-03f, -8.572661087e-03f, -8.589791931e-03f, -8.606906891e-03f, -8.624005939e-03f, -8.641089045e-03f, -8.658156181e-03f, -8.675207319e-03f, -8.692242431e-03f,
+-8.709261487e-03f, -8.726264460e-03f, -8.743251320e-03f, -8.760222041e-03f, -8.777176593e-03f, -8.794114947e-03f, -8.811037077e-03f, -8.827942953e-03f, -8.844832548e-03f, -8.861705833e-03f,
+-8.878562780e-03f, -8.895403360e-03f, -8.912227547e-03f, -8.929035311e-03f, -8.945826625e-03f, -8.962601461e-03f, -8.979359790e-03f, -8.996101586e-03f, -9.012826819e-03f, -9.029535463e-03f,
+-9.046227488e-03f, -9.062902868e-03f, -9.079561575e-03f, -9.096203580e-03f, -9.112828857e-03f, -9.129437377e-03f, -9.146029112e-03f, -9.162604036e-03f, -9.179162120e-03f, -9.195703338e-03f,
+-9.212227660e-03f, -9.228735061e-03f, -9.245225512e-03f, -9.261698986e-03f, -9.278155456e-03f, -9.294594894e-03f, -9.311017272e-03f, -9.327422564e-03f, -9.343810742e-03f, -9.360181780e-03f,
+-9.376535649e-03f, -9.392872322e-03f, -9.409191773e-03f, -9.425493974e-03f, -9.441778898e-03f, -9.458046518e-03f, -9.474296807e-03f, -9.490529738e-03f, -9.506745284e-03f, -9.522943418e-03f,
+-9.539124113e-03f, -9.555287343e-03f, -9.571433080e-03f, -9.587561297e-03f, -9.603671968e-03f, -9.619765067e-03f, -9.635840565e-03f, -9.651898437e-03f, -9.667938657e-03f, -9.683961196e-03f,
+-9.699966029e-03f, -9.715953129e-03f, -9.731922470e-03f, -9.747874026e-03f, -9.763807768e-03f, -9.779723672e-03f, -9.795621711e-03f, -9.811501858e-03f, -9.827364088e-03f, -9.843208373e-03f,
+-9.859034688e-03f, -9.874843006e-03f, -9.890633301e-03f, -9.906405547e-03f, -9.922159718e-03f, -9.937895787e-03f, -9.953613729e-03f, -9.969313518e-03f, -9.984995127e-03f, -1.000065853e-02f,
+-1.001630370e-02f, -1.003193062e-02f, -1.004753925e-02f, -1.006312957e-02f, -1.007870156e-02f, -1.009425519e-02f, -1.010979043e-02f, -1.012530726e-02f, -1.014080565e-02f, -1.015628558e-02f,
+-1.017174702e-02f, -1.018718994e-02f, -1.020261432e-02f, -1.021802014e-02f, -1.023340737e-02f, -1.024877598e-02f, -1.026412595e-02f, -1.027945725e-02f, -1.029476986e-02f, -1.031006375e-02f,
+-1.032533890e-02f, -1.034059528e-02f, -1.035583286e-02f, -1.037105163e-02f, -1.038625155e-02f, -1.040143261e-02f, -1.041659476e-02f, -1.043173800e-02f, -1.044686230e-02f, -1.046196763e-02f,
+-1.047705396e-02f, -1.049212127e-02f, -1.050716954e-02f, -1.052219874e-02f, -1.053720885e-02f, -1.055219984e-02f, -1.056717168e-02f, -1.058212436e-02f, -1.059705784e-02f, -1.061197211e-02f,
+-1.062686714e-02f, -1.064174290e-02f, -1.065659937e-02f, -1.067143652e-02f, -1.068625434e-02f, -1.070105279e-02f, -1.071583185e-02f, -1.073059150e-02f, -1.074533171e-02f, -1.076005247e-02f,
+-1.077475373e-02f, -1.078943549e-02f, -1.080409771e-02f, -1.081874037e-02f, -1.083336345e-02f, -1.084796693e-02f, -1.086255077e-02f, -1.087711497e-02f, -1.089165948e-02f, -1.090618429e-02f,
+-1.092068937e-02f, -1.093517471e-02f, -1.094964027e-02f, -1.096408603e-02f, -1.097851197e-02f, -1.099291807e-02f, -1.100730430e-02f, -1.102167063e-02f, -1.103601705e-02f, -1.105034353e-02f,
+-1.106465005e-02f, -1.107893658e-02f, -1.109320310e-02f, -1.110744959e-02f, -1.112167602e-02f, -1.113588237e-02f, -1.115006862e-02f, -1.116423474e-02f, -1.117838071e-02f, -1.119250651e-02f,
+-1.120661211e-02f, -1.122069749e-02f, -1.123476263e-02f, -1.124880750e-02f, -1.126283209e-02f, -1.127683636e-02f, -1.129082030e-02f, -1.130478388e-02f, -1.131872708e-02f, -1.133264988e-02f,
+-1.134655225e-02f, -1.136043417e-02f, -1.137429562e-02f, -1.138813658e-02f, -1.140195702e-02f, -1.141575692e-02f, -1.142953626e-02f, -1.144329501e-02f, -1.145703316e-02f, -1.147075067e-02f,
+-1.148444754e-02f, -1.149812373e-02f, -1.151177922e-02f, -1.152541400e-02f, -1.153902803e-02f, -1.155262130e-02f, -1.156619378e-02f, -1.157974545e-02f, -1.159327630e-02f, -1.160678629e-02f,
+-1.162027541e-02f, -1.163374363e-02f, -1.164719093e-02f, -1.166061730e-02f, -1.167402270e-02f, -1.168740711e-02f, -1.170077052e-02f, -1.171411290e-02f, -1.172743424e-02f, -1.174073450e-02f,
+-1.175401367e-02f, -1.176727172e-02f, -1.178050864e-02f, -1.179372439e-02f, -1.180691897e-02f, -1.182009235e-02f, -1.183324451e-02f, -1.184637542e-02f, -1.185948507e-02f, -1.187257343e-02f,
+-1.188564048e-02f, -1.189868621e-02f, -1.191171058e-02f, -1.192471358e-02f, -1.193769519e-02f, -1.195065539e-02f, -1.196359415e-02f, -1.197651145e-02f, -1.198940728e-02f, -1.200228161e-02f,
+-1.201513442e-02f, -1.202796569e-02f, -1.204077540e-02f, -1.205356353e-02f, -1.206633005e-02f, -1.207907496e-02f, -1.209179822e-02f, -1.210449981e-02f, -1.211717972e-02f, -1.212983793e-02f,
+-1.214247440e-02f, -1.215508914e-02f, -1.216768210e-02f, -1.218025328e-02f, -1.219280265e-02f, -1.220533019e-02f, -1.221783588e-02f, -1.223031971e-02f, -1.224278164e-02f, -1.225522167e-02f,
+-1.226763976e-02f, -1.228003591e-02f, -1.229241009e-02f, -1.230476227e-02f, -1.231709245e-02f, -1.232940060e-02f, -1.234168670e-02f, -1.235395073e-02f, -1.236619267e-02f, -1.237841250e-02f,
+-1.239061020e-02f, -1.240278576e-02f, -1.241493914e-02f, -1.242707034e-02f, -1.243917933e-02f, -1.245126609e-02f, -1.246333061e-02f, -1.247537286e-02f, -1.248739283e-02f, -1.249939049e-02f,
+-1.251136582e-02f, -1.252331881e-02f, -1.253524944e-02f, -1.254715769e-02f, -1.255904354e-02f, -1.257090696e-02f, -1.258274795e-02f, -1.259456648e-02f, -1.260636253e-02f, -1.261813608e-02f,
+-1.262988711e-02f, -1.264161562e-02f, -1.265332157e-02f, -1.266500494e-02f, -1.267666573e-02f, -1.268830390e-02f, -1.269991945e-02f, -1.271151235e-02f, -1.272308258e-02f, -1.273463013e-02f,
+-1.274615497e-02f, -1.275765709e-02f, -1.276913648e-02f, -1.278059310e-02f, -1.279202695e-02f, -1.280343800e-02f, -1.281482623e-02f, -1.282619164e-02f, -1.283753419e-02f, -1.284885388e-02f,
+-1.286015068e-02f, -1.287142458e-02f, -1.288267555e-02f, -1.289390358e-02f, -1.290510865e-02f, -1.291629075e-02f, -1.292744985e-02f, -1.293858593e-02f, -1.294969899e-02f, -1.296078900e-02f,
+-1.297185594e-02f, -1.298289980e-02f, -1.299392056e-02f, -1.300491819e-02f, -1.301589269e-02f, -1.302684404e-02f, -1.303777222e-02f, -1.304867720e-02f, -1.305955898e-02f, -1.307041754e-02f,
+-1.308125285e-02f, -1.309206490e-02f, -1.310285368e-02f, -1.311361917e-02f, -1.312436134e-02f, -1.313508019e-02f, -1.314577569e-02f, -1.315644784e-02f, -1.316709660e-02f, -1.317772196e-02f,
+-1.318832392e-02f, -1.319890244e-02f, -1.320945752e-02f, -1.321998914e-02f, -1.323049727e-02f, -1.324098191e-02f, -1.325144304e-02f, -1.326188063e-02f, -1.327229468e-02f, -1.328268516e-02f,
+-1.329305207e-02f, -1.330339538e-02f, -1.331371508e-02f, -1.332401114e-02f, -1.333428357e-02f, -1.334453233e-02f, -1.335475741e-02f, -1.336495880e-02f, -1.337513648e-02f, -1.338529043e-02f,
+-1.339542064e-02f, -1.340552709e-02f, -1.341560977e-02f, -1.342566865e-02f, -1.343570373e-02f, -1.344571499e-02f, -1.345570241e-02f, -1.346566597e-02f, -1.347560567e-02f, -1.348552147e-02f,
+-1.349541338e-02f, -1.350528137e-02f, -1.351512543e-02f, -1.352494554e-02f, -1.353474169e-02f, -1.354451385e-02f, -1.355426203e-02f, -1.356398619e-02f, -1.357368633e-02f, -1.358336243e-02f,
+-1.359301447e-02f, -1.360264244e-02f, -1.361224633e-02f, -1.362182611e-02f, -1.363138178e-02f, -1.364091331e-02f, -1.365042070e-02f, -1.365990393e-02f, -1.366936298e-02f, -1.367879784e-02f,
+-1.368820850e-02f, -1.369759493e-02f, -1.370695713e-02f, -1.371629508e-02f, -1.372560876e-02f, -1.373489817e-02f, -1.374416328e-02f, -1.375340408e-02f, -1.376262056e-02f, -1.377181270e-02f,
+-1.378098049e-02f, -1.379012391e-02f, -1.379924296e-02f, -1.380833760e-02f, -1.381740784e-02f, -1.382645366e-02f, -1.383547504e-02f, -1.384447196e-02f, -1.385344442e-02f, -1.386239240e-02f,
+-1.387131589e-02f, -1.388021487e-02f, -1.388908933e-02f, -1.389793926e-02f, -1.390676463e-02f, -1.391556544e-02f, -1.392434168e-02f, -1.393309332e-02f, -1.394182036e-02f, -1.395052279e-02f,
+-1.395920058e-02f, -1.396785373e-02f, -1.397648222e-02f, -1.398508604e-02f, -1.399366518e-02f, -1.400221961e-02f, -1.401074934e-02f, -1.401925434e-02f, -1.402773460e-02f, -1.403619012e-02f,
+-1.404462086e-02f, -1.405302684e-02f, -1.406140802e-02f, -1.406976440e-02f, -1.407809596e-02f, -1.408640269e-02f, -1.409468459e-02f, -1.410294163e-02f, -1.411117380e-02f, -1.411938109e-02f,
+-1.412756349e-02f, -1.413572098e-02f, -1.414385355e-02f, -1.415196120e-02f, -1.416004390e-02f, -1.416810165e-02f, -1.417613443e-02f, -1.418414223e-02f, -1.419212503e-02f, -1.420008284e-02f,
+-1.420801562e-02f, -1.421592338e-02f, -1.422380609e-02f, -1.423166375e-02f, -1.423949635e-02f, -1.424730387e-02f, -1.425508630e-02f, -1.426284363e-02f, -1.427057584e-02f, -1.427828293e-02f,
+-1.428596488e-02f, -1.429362169e-02f, -1.430125333e-02f, -1.430885981e-02f, -1.431644110e-02f, -1.432399719e-02f, -1.433152808e-02f, -1.433903375e-02f, -1.434651419e-02f, -1.435396939e-02f,
+-1.436139933e-02f, -1.436880402e-02f, -1.437618342e-02f, -1.438353755e-02f, -1.439086637e-02f, -1.439816989e-02f, -1.440544809e-02f, -1.441270095e-02f, -1.441992848e-02f, -1.442713065e-02f,
+-1.443430746e-02f, -1.444145890e-02f, -1.444858495e-02f, -1.445568560e-02f, -1.446276085e-02f, -1.446981068e-02f, -1.447683508e-02f, -1.448383405e-02f, -1.449080756e-02f, -1.449775562e-02f,
+-1.450467821e-02f, -1.451157531e-02f, -1.451844693e-02f, -1.452529304e-02f, -1.453211364e-02f, -1.453890872e-02f, -1.454567827e-02f, -1.455242228e-02f, -1.455914074e-02f, -1.456583363e-02f,
+-1.457250095e-02f, -1.457914269e-02f, -1.458575884e-02f, -1.459234938e-02f, -1.459891432e-02f, -1.460545363e-02f, -1.461196731e-02f, -1.461845535e-02f, -1.462491774e-02f, -1.463135447e-02f,
+-1.463776553e-02f, -1.464415091e-02f, -1.465051060e-02f, -1.465684459e-02f, -1.466315287e-02f, -1.466943544e-02f, -1.467569229e-02f, -1.468192339e-02f, -1.468812875e-02f, -1.469430836e-02f,
+-1.470046221e-02f, -1.470659028e-02f, -1.471269257e-02f, -1.471876907e-02f, -1.472481978e-02f, -1.473084467e-02f, -1.473684375e-02f, -1.474281700e-02f, -1.474876442e-02f, -1.475468600e-02f,
+-1.476058172e-02f, -1.476645158e-02f, -1.477229558e-02f, -1.477811369e-02f, -1.478390593e-02f, -1.478967226e-02f, -1.479541270e-02f, -1.480112722e-02f, -1.480681582e-02f, -1.481247850e-02f,
+-1.481811524e-02f, -1.482372604e-02f, -1.482931088e-02f, -1.483486976e-02f, -1.484040268e-02f, -1.484590962e-02f, -1.485139058e-02f, -1.485684554e-02f, -1.486227450e-02f, -1.486767746e-02f,
+-1.487305440e-02f, -1.487840531e-02f, -1.488373020e-02f, -1.488902905e-02f, -1.489430185e-02f, -1.489954860e-02f, -1.490476928e-02f, -1.490996390e-02f, -1.491513244e-02f, -1.492027490e-02f,
+-1.492539127e-02f, -1.493048154e-02f, -1.493554570e-02f, -1.494058376e-02f, -1.494559569e-02f, -1.495058150e-02f, -1.495554117e-02f, -1.496047470e-02f, -1.496538209e-02f, -1.497026332e-02f,
+-1.497511839e-02f, -1.497994729e-02f, -1.498475002e-02f, -1.498952657e-02f, -1.499427692e-02f, -1.499900109e-02f, -1.500369905e-02f, -1.500837080e-02f, -1.501301634e-02f, -1.501763566e-02f,
+-1.502222875e-02f, -1.502679561e-02f, -1.503133623e-02f, -1.503585060e-02f, -1.504033872e-02f, -1.504480058e-02f, -1.504923618e-02f, -1.505364550e-02f, -1.505802855e-02f, -1.506238532e-02f,
+-1.506671580e-02f, -1.507101998e-02f, -1.507529786e-02f, -1.507954944e-02f, -1.508377470e-02f, -1.508797365e-02f, -1.509214627e-02f, -1.509629257e-02f, -1.510041253e-02f, -1.510450615e-02f,
+-1.510857342e-02f, -1.511261435e-02f, -1.511662892e-02f, -1.512061712e-02f, -1.512457896e-02f, -1.512851443e-02f, -1.513242352e-02f, -1.513630622e-02f, -1.514016254e-02f, -1.514399247e-02f,
+-1.514779600e-02f, -1.515157312e-02f, -1.515532384e-02f, -1.515904815e-02f, -1.516274603e-02f, -1.516641750e-02f, -1.517006254e-02f, -1.517368115e-02f, -1.517727332e-02f, -1.518083905e-02f,
+-1.518437833e-02f, -1.518789117e-02f, -1.519137755e-02f, -1.519483747e-02f, -1.519827092e-02f, -1.520167791e-02f, -1.520505843e-02f, -1.520841247e-02f, -1.521174004e-02f, -1.521504111e-02f,
+-1.521831570e-02f, -1.522156380e-02f, -1.522478540e-02f, -1.522798050e-02f, -1.523114909e-02f, -1.523429118e-02f, -1.523740675e-02f, -1.524049581e-02f, -1.524355834e-02f, -1.524659436e-02f,
+-1.524960384e-02f, -1.525258680e-02f, -1.525554322e-02f, -1.525847311e-02f, -1.526137645e-02f, -1.526425325e-02f, -1.526710350e-02f, -1.526992720e-02f, -1.527272434e-02f, -1.527549493e-02f,
+-1.527823895e-02f, -1.528095641e-02f, -1.528364731e-02f, -1.528631163e-02f, -1.528894938e-02f, -1.529156056e-02f, -1.529414515e-02f, -1.529670316e-02f, -1.529923459e-02f, -1.530173943e-02f,
+-1.530421768e-02f, -1.530666934e-02f, -1.530909440e-02f, -1.531149286e-02f, -1.531386473e-02f, -1.531620999e-02f, -1.531852864e-02f, -1.532082068e-02f, -1.532308612e-02f, -1.532532494e-02f,
+-1.532753715e-02f, -1.532972274e-02f, -1.533188171e-02f, -1.533401406e-02f, -1.533611978e-02f, -1.533819888e-02f, -1.534025135e-02f, -1.534227720e-02f, -1.534427641e-02f, -1.534624898e-02f,
+-1.534819493e-02f, -1.535011423e-02f, -1.535200690e-02f, -1.535387293e-02f, -1.535571231e-02f, -1.535752505e-02f, -1.535931115e-02f, -1.536107060e-02f, -1.536280340e-02f, -1.536450955e-02f,
+-1.536618906e-02f, -1.536784191e-02f, -1.536946810e-02f, -1.537106764e-02f, -1.537264053e-02f, -1.537418676e-02f, -1.537570634e-02f, -1.537719925e-02f, -1.537866550e-02f, -1.538010510e-02f,
+-1.538151803e-02f, -1.538290430e-02f, -1.538426391e-02f, -1.538559685e-02f, -1.538690313e-02f, -1.538818274e-02f, -1.538943569e-02f, -1.539066197e-02f, -1.539186158e-02f, -1.539303453e-02f,
+-1.539418081e-02f, -1.539530042e-02f, -1.539639336e-02f, -1.539745964e-02f, -1.539849924e-02f, -1.539951218e-02f, -1.540049844e-02f, -1.540145804e-02f, -1.540239097e-02f, -1.540329722e-02f,
+-1.540417681e-02f, -1.540502973e-02f, -1.540585598e-02f, -1.540665556e-02f, -1.540742847e-02f, -1.540817472e-02f, -1.540889429e-02f, -1.540958720e-02f, -1.541025344e-02f, -1.541089301e-02f,
+-1.541150592e-02f, -1.541209216e-02f, -1.541265174e-02f, -1.541318465e-02f, -1.541369089e-02f, -1.541417048e-02f, -1.541462340e-02f, -1.541504966e-02f, -1.541544925e-02f, -1.541582219e-02f,
+-1.541616847e-02f, -1.541648809e-02f, -1.541678106e-02f, -1.541704737e-02f, -1.541728702e-02f, -1.541750002e-02f, -1.541768637e-02f, -1.541784607e-02f, -1.541797911e-02f, -1.541808551e-02f,
+-1.541816527e-02f, -1.541821837e-02f, -1.541824484e-02f, -1.541824466e-02f, -1.541821784e-02f, -1.541816438e-02f, -1.541808429e-02f, -1.541797755e-02f, -1.541784419e-02f, -1.541768419e-02f,
+-1.541749756e-02f, -1.541728431e-02f, -1.541704443e-02f, -1.541677792e-02f, -1.541648479e-02f, -1.541616505e-02f, -1.541581868e-02f, -1.541544570e-02f, -1.541504610e-02f, -1.541461990e-02f,
+-1.541416708e-02f, -1.541368766e-02f, -1.541318164e-02f, -1.541264901e-02f, -1.541208979e-02f, -1.541150396e-02f, -1.541089155e-02f, -1.541025254e-02f, -1.540958695e-02f, -1.540889477e-02f,
+-1.540817600e-02f, -1.540743066e-02f, -1.540665874e-02f, -1.540586024e-02f, -1.540503518e-02f, -1.540418354e-02f, -1.540330534e-02f, -1.540240058e-02f, -1.540146926e-02f, -1.540051138e-02f,
+-1.539952695e-02f, -1.539851598e-02f, -1.539747845e-02f, -1.539641439e-02f, -1.539532378e-02f, -1.539420664e-02f, -1.539306297e-02f, -1.539189277e-02f, -1.539069604e-02f, -1.538947279e-02f,
+-1.538822303e-02f, -1.538694675e-02f, -1.538564396e-02f, -1.538431467e-02f, -1.538295888e-02f, -1.538157658e-02f, -1.538016779e-02f, -1.537873252e-02f, -1.537727075e-02f, -1.537578250e-02f,
+-1.537426778e-02f, -1.537272658e-02f, -1.537115892e-02f, -1.536956478e-02f, -1.536794419e-02f, -1.536629714e-02f, -1.536462364e-02f, -1.536292369e-02f, -1.536119730e-02f, -1.535944447e-02f,
+-1.535766521e-02f, -1.535585952e-02f, -1.535402740e-02f, -1.535216886e-02f, -1.535028391e-02f, -1.534837255e-02f, -1.534643478e-02f, -1.534447062e-02f, -1.534248006e-02f, -1.534046311e-02f,
+-1.533841977e-02f, -1.533635005e-02f, -1.533425396e-02f, -1.533213150e-02f, -1.532998268e-02f, -1.532780749e-02f, -1.532560596e-02f, -1.532337807e-02f, -1.532112384e-02f, -1.531884328e-02f,
+-1.531653638e-02f, -1.531420315e-02f, -1.531184361e-02f, -1.530945775e-02f, -1.530704558e-02f, -1.530460711e-02f, -1.530214234e-02f, -1.529965128e-02f, -1.529713393e-02f, -1.529459030e-02f,
+-1.529202040e-02f, -1.528942423e-02f, -1.528680179e-02f, -1.528415311e-02f, -1.528147817e-02f, -1.527877699e-02f, -1.527604957e-02f, -1.527329592e-02f, -1.527051604e-02f, -1.526770995e-02f,
+-1.526487764e-02f, -1.526201913e-02f, -1.525913442e-02f, -1.525622352e-02f, -1.525328643e-02f, -1.525032316e-02f, -1.524733372e-02f, -1.524431812e-02f, -1.524127635e-02f, -1.523820844e-02f,
+-1.523511438e-02f, -1.523199418e-02f, -1.522884784e-02f, -1.522567539e-02f, -1.522247681e-02f, -1.521925213e-02f, -1.521600134e-02f, -1.521272446e-02f, -1.520942149e-02f, -1.520609244e-02f,
+-1.520273731e-02f, -1.519935612e-02f, -1.519594887e-02f, -1.519251556e-02f, -1.518905621e-02f, -1.518557083e-02f, -1.518205941e-02f, -1.517852197e-02f, -1.517495852e-02f, -1.517136907e-02f,
+-1.516775361e-02f, -1.516411217e-02f, -1.516044474e-02f, -1.515675133e-02f, -1.515303196e-02f, -1.514928663e-02f, -1.514551535e-02f, -1.514171813e-02f, -1.513789497e-02f, -1.513404588e-02f,
+-1.513017088e-02f, -1.512626997e-02f, -1.512234315e-02f, -1.511839044e-02f, -1.511441185e-02f, -1.511040737e-02f, -1.510637703e-02f, -1.510232084e-02f, -1.509823878e-02f, -1.509413089e-02f,
+-1.508999716e-02f, -1.508583761e-02f, -1.508165224e-02f, -1.507744107e-02f, -1.507320409e-02f, -1.506894133e-02f, -1.506465278e-02f, -1.506033846e-02f, -1.505599838e-02f, -1.505163254e-02f,
+-1.504724096e-02f, -1.504282364e-02f, -1.503838060e-02f, -1.503391184e-02f, -1.502941737e-02f, -1.502489720e-02f, -1.502035134e-02f, -1.501577980e-02f, -1.501118259e-02f, -1.500655972e-02f,
+-1.500191120e-02f, -1.499723703e-02f, -1.499253724e-02f, -1.498781182e-02f, -1.498306078e-02f, -1.497828415e-02f, -1.497348191e-02f, -1.496865410e-02f, -1.496380071e-02f, -1.495892176e-02f,
+-1.495401725e-02f, -1.494908720e-02f, -1.494413161e-02f, -1.493915050e-02f, -1.493414388e-02f, -1.492911175e-02f, -1.492405413e-02f, -1.491897103e-02f, -1.491386245e-02f, -1.490872841e-02f,
+-1.490356892e-02f, -1.489838399e-02f, -1.489317363e-02f, -1.488793784e-02f, -1.488267665e-02f, -1.487739005e-02f, -1.487207807e-02f, -1.486674071e-02f, -1.486137798e-02f, -1.485598989e-02f,
+-1.485057646e-02f, -1.484513770e-02f, -1.483967361e-02f, -1.483418420e-02f, -1.482866950e-02f, -1.482312950e-02f, -1.481756422e-02f, -1.481197368e-02f, -1.480635787e-02f, -1.480071683e-02f,
+-1.479505054e-02f, -1.478935903e-02f, -1.478364231e-02f, -1.477790039e-02f, -1.477213328e-02f, -1.476634099e-02f, -1.476052353e-02f, -1.475468092e-02f, -1.474881316e-02f, -1.474292027e-02f,
+-1.473700227e-02f, -1.473105915e-02f, -1.472509094e-02f, -1.471909764e-02f, -1.471307927e-02f, -1.470703584e-02f, -1.470096735e-02f, -1.469487383e-02f, -1.468875529e-02f, -1.468261173e-02f,
+-1.467644318e-02f, -1.467024963e-02f, -1.466403110e-02f, -1.465778762e-02f, -1.465151917e-02f, -1.464522579e-02f, -1.463890749e-02f, -1.463256426e-02f, -1.462619614e-02f, -1.461980312e-02f,
+-1.461338523e-02f, -1.460694247e-02f, -1.460047486e-02f, -1.459398241e-02f, -1.458746513e-02f, -1.458092304e-02f, -1.457435614e-02f, -1.456776446e-02f, -1.456114800e-02f, -1.455450678e-02f,
+-1.454784081e-02f, -1.454115010e-02f, -1.453443467e-02f, -1.452769453e-02f, -1.452092969e-02f, -1.451414016e-02f, -1.450732597e-02f, -1.450048711e-02f, -1.449362361e-02f, -1.448673548e-02f,
+-1.447982273e-02f, -1.447288538e-02f, -1.446592343e-02f, -1.445893691e-02f, -1.445192582e-02f, -1.444489019e-02f, -1.443783001e-02f, -1.443074531e-02f, -1.442363611e-02f, -1.441650240e-02f,
+-1.440934422e-02f, -1.440216156e-02f, -1.439495446e-02f, -1.438772291e-02f, -1.438046693e-02f, -1.437318654e-02f, -1.436588176e-02f, -1.435855259e-02f, -1.435119905e-02f, -1.434382115e-02f,
+-1.433641891e-02f, -1.432899234e-02f, -1.432154146e-02f, -1.431406628e-02f, -1.430656682e-02f, -1.429904309e-02f, -1.429149510e-02f, -1.428392286e-02f, -1.427632641e-02f, -1.426870574e-02f,
+-1.426106087e-02f, -1.425339182e-02f, -1.424569860e-02f, -1.423798122e-02f, -1.423023971e-02f, -1.422247408e-02f, -1.421468433e-02f, -1.420687049e-02f, -1.419903257e-02f, -1.419117059e-02f,
+-1.418328456e-02f, -1.417537449e-02f, -1.416744041e-02f, -1.415948232e-02f, -1.415150024e-02f, -1.414349419e-02f, -1.413546418e-02f, -1.412741023e-02f, -1.411933235e-02f, -1.411123055e-02f,
+-1.410310486e-02f, -1.409495529e-02f, -1.408678185e-02f, -1.407858457e-02f, -1.407036345e-02f, -1.406211850e-02f, -1.405384976e-02f, -1.404555723e-02f, -1.403724092e-02f, -1.402890086e-02f,
+-1.402053706e-02f, -1.401214953e-02f, -1.400373830e-02f, -1.399530337e-02f, -1.398684477e-02f, -1.397836251e-02f, -1.396985660e-02f, -1.396132706e-02f, -1.395277391e-02f, -1.394419716e-02f,
+-1.393559684e-02f, -1.392697295e-02f, -1.391832551e-02f, -1.390965455e-02f, -1.390096006e-02f, -1.389224208e-02f, -1.388350062e-02f, -1.387473569e-02f, -1.386594732e-02f, -1.385713551e-02f,
+-1.384830029e-02f, -1.383944166e-02f, -1.383055966e-02f, -1.382165429e-02f, -1.381272557e-02f, -1.380377352e-02f, -1.379479815e-02f, -1.378579949e-02f, -1.377677755e-02f, -1.376773234e-02f,
+-1.375866388e-02f, -1.374957220e-02f, -1.374045730e-02f, -1.373131920e-02f, -1.372215793e-02f, -1.371297350e-02f, -1.370376592e-02f, -1.369453521e-02f, -1.368528140e-02f, -1.367600449e-02f,
+-1.366670451e-02f, -1.365738147e-02f, -1.364803539e-02f, -1.363866629e-02f, -1.362927418e-02f, -1.361985909e-02f, -1.361042102e-02f, -1.360096001e-02f, -1.359147606e-02f, -1.358196919e-02f,
+-1.357243943e-02f, -1.356288678e-02f, -1.355331127e-02f, -1.354371292e-02f, -1.353409174e-02f, -1.352444775e-02f, -1.351478097e-02f, -1.350509142e-02f, -1.349537911e-02f, -1.348564406e-02f,
+-1.347588630e-02f, -1.346610583e-02f, -1.345630269e-02f, -1.344647688e-02f, -1.343662842e-02f, -1.342675734e-02f, -1.341686365e-02f, -1.340694737e-02f, -1.339700851e-02f, -1.338704710e-02f,
+-1.337706316e-02f, -1.336705670e-02f, -1.335702775e-02f, -1.334697631e-02f, -1.333690242e-02f, -1.332680608e-02f, -1.331668732e-02f, -1.330654616e-02f, -1.329638261e-02f, -1.328619670e-02f,
+-1.327598844e-02f, -1.326575785e-02f, -1.325550495e-02f, -1.324522976e-02f, -1.323493230e-02f, -1.322461259e-02f, -1.321427065e-02f, -1.320390649e-02f, -1.319352014e-02f, -1.318311161e-02f,
+-1.317268092e-02f, -1.316222811e-02f, -1.315175317e-02f, -1.314125613e-02f, -1.313073702e-02f, -1.312019585e-02f, -1.310963264e-02f, -1.309904741e-02f, -1.308844018e-02f, -1.307781097e-02f,
+-1.306715979e-02f, -1.305648668e-02f, -1.304579165e-02f, -1.303507471e-02f, -1.302433590e-02f, -1.301357522e-02f, -1.300279270e-02f, -1.299198835e-02f, -1.298116221e-02f, -1.297031428e-02f,
+-1.295944459e-02f, -1.294855316e-02f, -1.293764001e-02f, -1.292670515e-02f, -1.291574862e-02f, -1.290477042e-02f, -1.289377058e-02f, -1.288274912e-02f, -1.287170606e-02f, -1.286064142e-02f,
+-1.284955522e-02f, -1.283844748e-02f, -1.282731823e-02f, -1.281616747e-02f, -1.280499524e-02f, -1.279380155e-02f, -1.278258642e-02f, -1.277134988e-02f, -1.276009194e-02f, -1.274881263e-02f,
+-1.273751196e-02f, -1.272618997e-02f, -1.271484666e-02f, -1.270348205e-02f, -1.269209618e-02f, -1.268068906e-02f, -1.266926071e-02f, -1.265781115e-02f, -1.264634041e-02f, -1.263484850e-02f,
+-1.262333545e-02f, -1.261180127e-02f, -1.260024600e-02f, -1.258866964e-02f, -1.257707222e-02f, -1.256545376e-02f, -1.255381429e-02f, -1.254215382e-02f, -1.253047238e-02f, -1.251876999e-02f,
+-1.250704666e-02f, -1.249530243e-02f, -1.248353731e-02f, -1.247175132e-02f, -1.245994448e-02f, -1.244811683e-02f, -1.243626837e-02f, -1.242439913e-02f, -1.241250913e-02f, -1.240059840e-02f,
+-1.238866695e-02f, -1.237671481e-02f, -1.236474200e-02f, -1.235274854e-02f, -1.234073445e-02f, -1.232869976e-02f, -1.231664449e-02f, -1.230456865e-02f, -1.229247228e-02f, -1.228035538e-02f,
+-1.226821800e-02f, -1.225606014e-02f, -1.224388183e-02f, -1.223168310e-02f, -1.221946395e-02f, -1.220722443e-02f, -1.219496454e-02f, -1.218268432e-02f, -1.217038378e-02f, -1.215806294e-02f,
+-1.214572184e-02f, -1.213336049e-02f, -1.212097891e-02f, -1.210857712e-02f, -1.209615516e-02f, -1.208371304e-02f, -1.207125078e-02f, -1.205876841e-02f, -1.204626595e-02f, -1.203374342e-02f,
+-1.202120085e-02f, -1.200863825e-02f, -1.199605566e-02f, -1.198345309e-02f, -1.197083057e-02f, -1.195818812e-02f, -1.194552576e-02f, -1.193284352e-02f, -1.192014142e-02f, -1.190741948e-02f,
+-1.189467773e-02f, -1.188191619e-02f, -1.186913487e-02f, -1.185633382e-02f, -1.184351304e-02f, -1.183067256e-02f, -1.181781241e-02f, -1.180493261e-02f, -1.179203318e-02f, -1.177911415e-02f,
+-1.176617553e-02f, -1.175321736e-02f, -1.174023965e-02f, -1.172724243e-02f, -1.171422573e-02f, -1.170118956e-02f, -1.168813396e-02f, -1.167505894e-02f, -1.166196452e-02f, -1.164885074e-02f,
+-1.163571762e-02f, -1.162256517e-02f, -1.160939343e-02f, -1.159620241e-02f, -1.158299215e-02f, -1.156976266e-02f, -1.155651397e-02f, -1.154324610e-02f, -1.152995908e-02f, -1.151665293e-02f,
+-1.150332768e-02f, -1.148998335e-02f, -1.147661996e-02f, -1.146323753e-02f, -1.144983611e-02f, -1.143641569e-02f, -1.142297632e-02f, -1.140951802e-02f, -1.139604080e-02f, -1.138254470e-02f,
+-1.136902973e-02f, -1.135549593e-02f, -1.134194332e-02f, -1.132837191e-02f, -1.131478175e-02f, -1.130117284e-02f, -1.128754523e-02f, -1.127389892e-02f, -1.126023394e-02f, -1.124655033e-02f,
+-1.123284810e-02f, -1.121912728e-02f, -1.120538790e-02f, -1.119162997e-02f, -1.117785353e-02f, -1.116405859e-02f, -1.115024519e-02f, -1.113641335e-02f, -1.112256309e-02f, -1.110869444e-02f,
+-1.109480742e-02f, -1.108090207e-02f, -1.106697839e-02f, -1.105303643e-02f, -1.103907620e-02f, -1.102509773e-02f, -1.101110104e-02f, -1.099708616e-02f, -1.098305312e-02f, -1.096900194e-02f,
+-1.095493264e-02f, -1.094084526e-02f, -1.092673981e-02f, -1.091261633e-02f, -1.089847483e-02f, -1.088431534e-02f, -1.087013789e-02f, -1.085594251e-02f, -1.084172922e-02f, -1.082749804e-02f,
+-1.081324900e-02f, -1.079898213e-02f, -1.078469746e-02f, -1.077039500e-02f, -1.075607478e-02f, -1.074173683e-02f, -1.072738118e-02f, -1.071300785e-02f, -1.069861687e-02f, -1.068420826e-02f,
+-1.066978205e-02f, -1.065533826e-02f, -1.064087693e-02f, -1.062639807e-02f, -1.061190172e-02f, -1.059738789e-02f, -1.058285662e-02f, -1.056830793e-02f, -1.055374185e-02f, -1.053915840e-02f,
+-1.052455761e-02f, -1.050993951e-02f, -1.049530412e-02f, -1.048065147e-02f, -1.046598159e-02f, -1.045129449e-02f, -1.043659022e-02f, -1.042186878e-02f, -1.040713022e-02f, -1.039237456e-02f,
+-1.037760182e-02f, -1.036281203e-02f, -1.034800521e-02f, -1.033318140e-02f, -1.031834062e-02f, -1.030348290e-02f, -1.028860826e-02f, -1.027371673e-02f, -1.025880834e-02f, -1.024388311e-02f,
+-1.022894107e-02f, -1.021398225e-02f, -1.019900667e-02f, -1.018401436e-02f, -1.016900535e-02f, -1.015397967e-02f, -1.013893733e-02f, -1.012387838e-02f, -1.010880283e-02f, -1.009371071e-02f,
+-1.007860205e-02f, -1.006347688e-02f, -1.004833522e-02f, -1.003317711e-02f, -1.001800256e-02f, -1.000281161e-02f, -9.987604275e-03f, -9.972380594e-03f, -9.957140590e-03f, -9.941884290e-03f,
+-9.926611722e-03f, -9.911322913e-03f, -9.896017890e-03f, -9.880696681e-03f, -9.865359313e-03f, -9.850005814e-03f, -9.834636211e-03f, -9.819250531e-03f, -9.803848803e-03f, -9.788431053e-03f,
+-9.772997309e-03f, -9.757547599e-03f, -9.742081951e-03f, -9.726600392e-03f, -9.711102949e-03f, -9.695589651e-03f, -9.680060526e-03f, -9.664515600e-03f, -9.648954903e-03f, -9.633378461e-03f,
+-9.617786302e-03f, -9.602178455e-03f, -9.586554947e-03f, -9.570915806e-03f, -9.555261061e-03f, -9.539590738e-03f, -9.523904867e-03f, -9.508203474e-03f, -9.492486589e-03f, -9.476754239e-03f,
+-9.461006452e-03f, -9.445243257e-03f, -9.429464681e-03f, -9.413670752e-03f, -9.397861500e-03f, -9.382036952e-03f, -9.366197136e-03f, -9.350342081e-03f, -9.334471815e-03f, -9.318586366e-03f,
+-9.302685763e-03f, -9.286770033e-03f, -9.270839206e-03f, -9.254893310e-03f, -9.238932372e-03f, -9.222956423e-03f, -9.206965489e-03f, -9.190959601e-03f, -9.174938785e-03f, -9.158903071e-03f,
+-9.142852488e-03f, -9.126787063e-03f, -9.110706826e-03f, -9.094611805e-03f, -9.078502029e-03f, -9.062377527e-03f, -9.046238326e-03f, -9.030084457e-03f, -9.013915948e-03f, -8.997732828e-03f,
+-8.981535125e-03f, -8.965322868e-03f, -8.949096086e-03f, -8.932854809e-03f, -8.916599064e-03f, -8.900328881e-03f, -8.884044289e-03f, -8.867745317e-03f, -8.851431994e-03f, -8.835104349e-03f,
+-8.818762411e-03f, -8.802406208e-03f, -8.786035771e-03f, -8.769651128e-03f, -8.753252308e-03f, -8.736839341e-03f, -8.720412256e-03f, -8.703971082e-03f, -8.687515847e-03f, -8.671046582e-03f,
+-8.654563316e-03f, -8.638066078e-03f, -8.621554898e-03f, -8.605029803e-03f, -8.588490825e-03f, -8.571937993e-03f, -8.555371335e-03f, -8.538790882e-03f, -8.522196662e-03f, -8.505588706e-03f,
+-8.488967042e-03f, -8.472331700e-03f, -8.455682711e-03f, -8.439020102e-03f, -8.422343905e-03f, -8.405654148e-03f, -8.388950862e-03f, -8.372234075e-03f, -8.355503818e-03f, -8.338760120e-03f,
+-8.322003010e-03f, -8.305232520e-03f, -8.288448678e-03f, -8.271651514e-03f, -8.254841059e-03f, -8.238017341e-03f, -8.221180391e-03f, -8.204330238e-03f, -8.187466913e-03f, -8.170590445e-03f,
+-8.153700864e-03f, -8.136798201e-03f, -8.119882485e-03f, -8.102953746e-03f, -8.086012014e-03f, -8.069057320e-03f, -8.052089693e-03f, -8.035109163e-03f, -8.018115761e-03f, -8.001109516e-03f,
+-7.984090459e-03f, -7.967058620e-03f, -7.950014029e-03f, -7.932956716e-03f, -7.915886712e-03f, -7.898804046e-03f, -7.881708749e-03f, -7.864600852e-03f, -7.847480384e-03f, -7.830347376e-03f,
+-7.813201858e-03f, -7.796043860e-03f, -7.778873414e-03f, -7.761690549e-03f, -7.744495295e-03f, -7.727287684e-03f, -7.710067745e-03f, -7.692835510e-03f, -7.675591008e-03f, -7.658334270e-03f,
+-7.641065326e-03f, -7.623784208e-03f, -7.606490946e-03f, -7.589185570e-03f, -7.571868111e-03f, -7.554538599e-03f, -7.537197066e-03f, -7.519843542e-03f, -7.502478057e-03f, -7.485100642e-03f,
+-7.467711329e-03f, -7.450310147e-03f, -7.432897128e-03f, -7.415472302e-03f, -7.398035700e-03f, -7.380587353e-03f, -7.363127291e-03f, -7.345655547e-03f, -7.328172149e-03f, -7.310677130e-03f,
+-7.293170520e-03f, -7.275652351e-03f, -7.258122652e-03f, -7.240581456e-03f, -7.223028793e-03f, -7.205464693e-03f, -7.187889189e-03f, -7.170302311e-03f, -7.152704090e-03f, -7.135094557e-03f,
+-7.117473743e-03f, -7.099841680e-03f, -7.082198398e-03f, -7.064543929e-03f, -7.046878304e-03f, -7.029201554e-03f, -7.011513710e-03f, -6.993814803e-03f, -6.976104865e-03f, -6.958383927e-03f,
+-6.940652020e-03f, -6.922909175e-03f, -6.905155424e-03f, -6.887390798e-03f, -6.869615329e-03f, -6.851829047e-03f, -6.834031984e-03f, -6.816224171e-03f, -6.798405641e-03f, -6.780576423e-03f,
+-6.762736550e-03f, -6.744886053e-03f, -6.727024964e-03f, -6.709153314e-03f, -6.691271134e-03f, -6.673378457e-03f, -6.655475312e-03f, -6.637561733e-03f, -6.619637751e-03f, -6.601703397e-03f,
+-6.583758703e-03f, -6.565803700e-03f, -6.547838420e-03f, -6.529862895e-03f, -6.511877156e-03f, -6.493881235e-03f, -6.475875164e-03f, -6.457858974e-03f, -6.439832698e-03f, -6.421796366e-03f,
+-6.403750011e-03f, -6.385693664e-03f, -6.367627358e-03f, -6.349551123e-03f, -6.331464992e-03f, -6.313368997e-03f, -6.295263169e-03f, -6.277147540e-03f, -6.259022143e-03f, -6.240887008e-03f,
+-6.222742169e-03f, -6.204587656e-03f, -6.186423502e-03f, -6.168249739e-03f, -6.150066398e-03f, -6.131873512e-03f, -6.113671113e-03f, -6.095459232e-03f, -6.077237902e-03f, -6.059007154e-03f,
+-6.040767022e-03f, -6.022517536e-03f, -6.004258729e-03f, -5.985990633e-03f, -5.967713280e-03f, -5.949426702e-03f, -5.931130931e-03f, -5.912826000e-03f, -5.894511941e-03f, -5.876188785e-03f,
+-5.857856565e-03f, -5.839515313e-03f, -5.821165062e-03f, -5.802805843e-03f, -5.784437690e-03f, -5.766060633e-03f, -5.747674705e-03f, -5.729279940e-03f, -5.710876368e-03f, -5.692464022e-03f,
+-5.674042935e-03f, -5.655613139e-03f, -5.637174666e-03f, -5.618727549e-03f, -5.600271820e-03f, -5.581807511e-03f, -5.563334655e-03f, -5.544853284e-03f, -5.526363431e-03f, -5.507865127e-03f,
+-5.489358407e-03f, -5.470843301e-03f, -5.452319842e-03f, -5.433788064e-03f, -5.415247998e-03f, -5.396699677e-03f, -5.378143133e-03f, -5.359578399e-03f, -5.341005508e-03f, -5.322424492e-03f,
+-5.303835384e-03f, -5.285238216e-03f, -5.266633020e-03f, -5.248019831e-03f, -5.229398679e-03f, -5.210769598e-03f, -5.192132620e-03f, -5.173487779e-03f, -5.154835106e-03f, -5.136174635e-03f,
+-5.117506397e-03f, -5.098830426e-03f, -5.080146755e-03f, -5.061455416e-03f, -5.042756442e-03f, -5.024049866e-03f, -5.005335720e-03f, -4.986614037e-03f, -4.967884851e-03f, -4.949148193e-03f,
+-4.930404097e-03f, -4.911652595e-03f, -4.892893720e-03f, -4.874127506e-03f, -4.855353984e-03f, -4.836573188e-03f, -4.817785151e-03f, -4.798989906e-03f, -4.780187484e-03f, -4.761377920e-03f,
+-4.742561247e-03f, -4.723737496e-03f, -4.704906702e-03f, -4.686068896e-03f, -4.667224113e-03f, -4.648372384e-03f, -4.629513744e-03f, -4.610648224e-03f, -4.591775858e-03f, -4.572896679e-03f,
+-4.554010720e-03f, -4.535118014e-03f, -4.516218593e-03f, -4.497312492e-03f, -4.478399743e-03f, -4.459480379e-03f, -4.440554433e-03f, -4.421621938e-03f, -4.402682927e-03f, -4.383737434e-03f,
+-4.364785491e-03f, -4.345827132e-03f, -4.326862390e-03f, -4.307891298e-03f, -4.288913889e-03f, -4.269930195e-03f, -4.250940252e-03f, -4.231944090e-03f, -4.212941745e-03f, -4.193933248e-03f,
+-4.174918633e-03f, -4.155897934e-03f, -4.136871183e-03f, -4.117838414e-03f, -4.098799659e-03f, -4.079754953e-03f, -4.060704328e-03f, -4.041647818e-03f, -4.022585456e-03f, -4.003517275e-03f,
+-3.984443308e-03f, -3.965363590e-03f, -3.946278152e-03f, -3.927187029e-03f, -3.908090253e-03f, -3.888987858e-03f, -3.869879878e-03f, -3.850766345e-03f, -3.831647293e-03f, -3.812522756e-03f,
+-3.793392766e-03f, -3.774257357e-03f, -3.755116563e-03f, -3.735970416e-03f, -3.716818951e-03f, -3.697662200e-03f, -3.678500197e-03f, -3.659332975e-03f, -3.640160568e-03f, -3.620983010e-03f,
+-3.601800333e-03f, -3.582612571e-03f, -3.563419758e-03f, -3.544221926e-03f, -3.525019110e-03f, -3.505811343e-03f, -3.486598658e-03f, -3.467381090e-03f, -3.448158670e-03f, -3.428931433e-03f,
+-3.409699412e-03f, -3.390462641e-03f, -3.371221154e-03f, -3.351974983e-03f, -3.332724162e-03f, -3.313468726e-03f, -3.294208706e-03f, -3.274944138e-03f, -3.255675054e-03f, -3.236401488e-03f,
+-3.217123473e-03f, -3.197841044e-03f, -3.178554233e-03f, -3.159263074e-03f, -3.139967601e-03f, -3.120667848e-03f, -3.101363847e-03f, -3.082055634e-03f, -3.062743240e-03f, -3.043426700e-03f,
+-3.024106047e-03f, -3.004781316e-03f, -2.985452539e-03f, -2.966119750e-03f, -2.946782983e-03f, -2.927442271e-03f, -2.908097649e-03f, -2.888749149e-03f, -2.869396806e-03f, -2.850040653e-03f,
+-2.830680723e-03f, -2.811317051e-03f, -2.791949670e-03f, -2.772578614e-03f, -2.753203916e-03f, -2.733825610e-03f, -2.714443729e-03f, -2.695058309e-03f, -2.675669381e-03f, -2.656276980e-03f,
+-2.636881140e-03f, -2.617481893e-03f, -2.598079275e-03f, -2.578673318e-03f, -2.559264057e-03f, -2.539851525e-03f, -2.520435755e-03f, -2.501016782e-03f, -2.481594640e-03f, -2.462169361e-03f,
+-2.442740980e-03f, -2.423309530e-03f, -2.403875045e-03f, -2.384437560e-03f, -2.364997107e-03f, -2.345553720e-03f, -2.326107434e-03f, -2.306658282e-03f, -2.287206297e-03f, -2.267751514e-03f,
+-2.248293966e-03f, -2.228833687e-03f, -2.209370710e-03f, -2.189905070e-03f, -2.170436801e-03f, -2.150965936e-03f, -2.131492508e-03f, -2.112016552e-03f, -2.092538102e-03f, -2.073057191e-03f,
+-2.053573853e-03f, -2.034088121e-03f, -2.014600030e-03f, -1.995109614e-03f, -1.975616906e-03f, -1.956121940e-03f, -1.936624750e-03f, -1.917125369e-03f, -1.897623832e-03f, -1.878120172e-03f,
+-1.858614423e-03f, -1.839106619e-03f, -1.819596793e-03f, -1.800084980e-03f, -1.780571213e-03f, -1.761055527e-03f, -1.741537954e-03f, -1.722018529e-03f, -1.702497286e-03f, -1.682974258e-03f,
+-1.663449480e-03f, -1.643922984e-03f, -1.624394805e-03f, -1.604864977e-03f, -1.585333534e-03f, -1.565800509e-03f, -1.546265936e-03f, -1.526729849e-03f, -1.507192282e-03f, -1.487653268e-03f,
+-1.468112842e-03f, -1.448571038e-03f, -1.429027888e-03f, -1.409483428e-03f, -1.389937690e-03f, -1.370390710e-03f, -1.350842519e-03f, -1.331293153e-03f, -1.311742645e-03f, -1.292191030e-03f,
+-1.272638339e-03f, -1.253084609e-03f, -1.233529872e-03f, -1.213974163e-03f, -1.194417514e-03f, -1.174859961e-03f, -1.155301537e-03f, -1.135742275e-03f, -1.116182209e-03f, -1.096621374e-03f,
+-1.077059803e-03f, -1.057497530e-03f, -1.037934589e-03f, -1.018371014e-03f, -9.988068377e-04f, -9.792420950e-04f, -9.596768193e-04f, -9.401110446e-04f, -9.205448046e-04f, -9.009781332e-04f,
+-8.814110642e-04f, -8.618436313e-04f, -8.422758685e-04f, -8.227078096e-04f, -8.031394883e-04f, -7.835709384e-04f, -7.640021938e-04f, -7.444332883e-04f, -7.248642557e-04f, -7.052951298e-04f,
+-6.857259444e-04f, -6.661567332e-04f, -6.465875302e-04f, -6.270183691e-04f, -6.074492836e-04f, -5.878803076e-04f, -5.683114749e-04f, -5.487428193e-04f, -5.291743745e-04f, -5.096061743e-04f,
+-4.900382526e-04f, -4.704706430e-04f, -4.509033794e-04f, -4.313364956e-04f, -4.117700252e-04f, -3.922040022e-04f, -3.726384602e-04f, -3.530734330e-04f, -3.335089543e-04f, -3.139450580e-04f,
+-2.943817778e-04f, -2.748191474e-04f, -2.552572006e-04f, -2.356959712e-04f, -2.161354928e-04f, -1.965757991e-04f, -1.770169241e-04f, -1.574589013e-04f, -1.379017645e-04f, -1.183455474e-04f,
+-9.879028381e-05f, -7.923600735e-05f, -5.968275176e-05f, -4.013055077e-05f, -2.057943806e-05f, -1.029447347e-06f, 1.851938767e-05f, 3.806703331e-05f, 5.761345586e-05f, 7.715862166e-05f,
+9.670249700e-05f, 1.162450482e-04f, 1.357862417e-04f, 1.553260436e-04f, 1.748644205e-04f, 1.944013385e-04f, 2.139367641e-04f, 2.334706636e-04f, 2.530030034e-04f, 2.725337498e-04f,
+2.920628691e-04f, 3.115903278e-04f, 3.311160922e-04f, 3.506401288e-04f, 3.701624038e-04f, 3.896828836e-04f, 4.092015347e-04f, 4.287183235e-04f, 4.482332163e-04f, 4.677461797e-04f,
+4.872571798e-04f, 5.067661833e-04f, 5.262731565e-04f, 5.457780659e-04f, 5.652808778e-04f, 5.847815588e-04f, 6.042800753e-04f, 6.237763937e-04f, 6.432704804e-04f, 6.627623021e-04f,
+6.822518250e-04f, 7.017390157e-04f, 7.212238408e-04f, 7.407062666e-04f, 7.601862596e-04f, 7.796637864e-04f, 7.991388135e-04f, 8.186113074e-04f, 8.380812345e-04f, 8.575485615e-04f,
+8.770132548e-04f, 8.964752811e-04f, 9.159346067e-04f, 9.353911984e-04f, 9.548450226e-04f, 9.742960459e-04f, 9.937442350e-04f, 1.013189556e-03f, 1.032631976e-03f, 1.052071462e-03f,
+1.071507980e-03f, 1.090941496e-03f, 1.110371977e-03f, 1.129799391e-03f, 1.149223703e-03f, 1.168644880e-03f, 1.188062889e-03f, 1.207477696e-03f, 1.226889269e-03f, 1.246297573e-03f,
+1.265702575e-03f, 1.285104243e-03f, 1.304502543e-03f, 1.323897441e-03f, 1.343288904e-03f, 1.362676899e-03f, 1.382061393e-03f, 1.401442352e-03f, 1.420819744e-03f, 1.440193534e-03f,
+1.459563690e-03f, 1.478930178e-03f, 1.498292965e-03f, 1.517652019e-03f, 1.537007305e-03f, 1.556358790e-03f, 1.575706442e-03f, 1.595050227e-03f, 1.614390111e-03f, 1.633726063e-03f,
+1.653058048e-03f, 1.672386033e-03f, 1.691709986e-03f, 1.711029873e-03f, 1.730345661e-03f, 1.749657317e-03f, 1.768964808e-03f, 1.788268101e-03f, 1.807567162e-03f, 1.826861958e-03f,
+1.846152458e-03f, 1.865438626e-03f, 1.884720431e-03f, 1.903997839e-03f, 1.923270818e-03f, 1.942539333e-03f, 1.961803353e-03f, 1.981062844e-03f, 2.000317774e-03f, 2.019568108e-03f,
+2.038813815e-03f, 2.058054861e-03f, 2.077291214e-03f, 2.096522840e-03f, 2.115749706e-03f, 2.134971780e-03f, 2.154189029e-03f, 2.173401419e-03f, 2.192608918e-03f, 2.211811494e-03f,
+2.231009112e-03f, 2.250201740e-03f, 2.269389346e-03f, 2.288571896e-03f, 2.307749358e-03f, 2.326921699e-03f, 2.346088886e-03f, 2.365250886e-03f, 2.384407666e-03f, 2.403559195e-03f,
+2.422705438e-03f, 2.441846363e-03f, 2.460981938e-03f, 2.480112130e-03f, 2.499236905e-03f, 2.518356232e-03f, 2.537470077e-03f, 2.556578408e-03f, 2.575681192e-03f, 2.594778397e-03f,
+2.613869990e-03f, 2.632955938e-03f, 2.652036209e-03f, 2.671110769e-03f, 2.690179587e-03f, 2.709242630e-03f, 2.728299865e-03f, 2.747351259e-03f, 2.766396781e-03f, 2.785436397e-03f,
+2.804470076e-03f, 2.823497783e-03f, 2.842519488e-03f, 2.861535157e-03f, 2.880544758e-03f, 2.899548259e-03f, 2.918545626e-03f, 2.937536829e-03f, 2.956521833e-03f, 2.975500607e-03f,
+2.994473119e-03f, 3.013439335e-03f, 3.032399224e-03f, 3.051352753e-03f, 3.070299890e-03f, 3.089240603e-03f, 3.108174858e-03f, 3.127102625e-03f, 3.146023870e-03f, 3.164938561e-03f,
+3.183846666e-03f, 3.202748153e-03f, 3.221642989e-03f, 3.240531142e-03f, 3.259412581e-03f, 3.278287272e-03f, 3.297155183e-03f, 3.316016283e-03f, 3.334870539e-03f, 3.353717919e-03f,
+3.372558392e-03f, 3.391391923e-03f, 3.410218483e-03f, 3.429038038e-03f, 3.447850556e-03f, 3.466656006e-03f, 3.485454355e-03f, 3.504245571e-03f, 3.523029622e-03f, 3.541806477e-03f,
+3.560576103e-03f, 3.579338468e-03f, 3.598093540e-03f, 3.616841288e-03f, 3.635581679e-03f, 3.654314681e-03f, 3.673040263e-03f, 3.691758392e-03f, 3.710469037e-03f, 3.729172166e-03f,
+3.747867747e-03f, 3.766555748e-03f, 3.785236137e-03f, 3.803908882e-03f, 3.822573953e-03f, 3.841231316e-03f, 3.859880940e-03f, 3.878522794e-03f, 3.897156845e-03f, 3.915783062e-03f,
+3.934401413e-03f, 3.953011867e-03f, 3.971614392e-03f, 3.990208956e-03f, 4.008795527e-03f, 4.027374074e-03f, 4.045944566e-03f, 4.064506970e-03f, 4.083061255e-03f, 4.101607390e-03f,
+4.120145343e-03f, 4.138675082e-03f, 4.157196576e-03f, 4.175709794e-03f, 4.194214703e-03f, 4.212711273e-03f, 4.231199473e-03f, 4.249679269e-03f, 4.268150632e-03f, 4.286613530e-03f,
+4.305067931e-03f, 4.323513804e-03f, 4.341951117e-03f, 4.360379840e-03f, 4.378799941e-03f, 4.397211389e-03f, 4.415614152e-03f, 4.434008199e-03f, 4.452393499e-03f, 4.470770020e-03f,
+4.489137732e-03f, 4.507496604e-03f, 4.525846603e-03f, 4.544187699e-03f, 4.562519861e-03f, 4.580843057e-03f, 4.599157257e-03f, 4.617462429e-03f, 4.635758543e-03f, 4.654045567e-03f,
+4.672323469e-03f, 4.690592220e-03f, 4.708851788e-03f, 4.727102143e-03f, 4.745343252e-03f, 4.763575086e-03f, 4.781797612e-03f, 4.800010802e-03f, 4.818214622e-03f, 4.836409043e-03f,
+4.854594034e-03f, 4.872769564e-03f, 4.890935601e-03f, 4.909092116e-03f, 4.927239077e-03f, 4.945376454e-03f, 4.963504215e-03f, 4.981622331e-03f, 4.999730770e-03f, 5.017829502e-03f,
+5.035918495e-03f, 5.053997720e-03f, 5.072067146e-03f, 5.090126741e-03f, 5.108176476e-03f, 5.126216320e-03f, 5.144246242e-03f, 5.162266212e-03f, 5.180276199e-03f, 5.198276173e-03f,
+5.216266103e-03f, 5.234245958e-03f, 5.252215709e-03f, 5.270175325e-03f, 5.288124774e-03f, 5.306064028e-03f, 5.323993056e-03f, 5.341911826e-03f, 5.359820310e-03f, 5.377718476e-03f,
+5.395606294e-03f, 5.413483734e-03f, 5.431350766e-03f, 5.449207360e-03f, 5.467053484e-03f, 5.484889110e-03f, 5.502714206e-03f, 5.520528743e-03f, 5.538332691e-03f, 5.556126019e-03f,
+5.573908697e-03f, 5.591680696e-03f, 5.609441985e-03f, 5.627192534e-03f, 5.644932313e-03f, 5.662661292e-03f, 5.680379441e-03f, 5.698086730e-03f, 5.715783129e-03f, 5.733468609e-03f,
+5.751143139e-03f, 5.768806690e-03f, 5.786459231e-03f, 5.804100733e-03f, 5.821731166e-03f, 5.839350500e-03f, 5.856958705e-03f, 5.874555752e-03f, 5.892141611e-03f, 5.909716253e-03f,
+5.927279647e-03f, 5.944831763e-03f, 5.962372573e-03f, 5.979902046e-03f, 5.997420154e-03f, 6.014926865e-03f, 6.032422152e-03f, 6.049905984e-03f, 6.067378331e-03f, 6.084839165e-03f,
+6.102288455e-03f, 6.119726173e-03f, 6.137152289e-03f, 6.154566773e-03f, 6.171969596e-03f, 6.189360729e-03f, 6.206740142e-03f, 6.224107806e-03f, 6.241463692e-03f, 6.258807771e-03f,
+6.276140012e-03f, 6.293460388e-03f, 6.310768868e-03f, 6.328065424e-03f, 6.345350026e-03f, 6.362622645e-03f, 6.379883253e-03f, 6.397131819e-03f, 6.414368315e-03f, 6.431592713e-03f,
+6.448804982e-03f, 6.466005093e-03f, 6.483193019e-03f, 6.500368730e-03f, 6.517532196e-03f, 6.534683389e-03f, 6.551822281e-03f, 6.568948841e-03f, 6.586063043e-03f, 6.603164855e-03f,
+6.620254250e-03f, 6.637331199e-03f, 6.654395674e-03f, 6.671447645e-03f, 6.688487083e-03f, 6.705513961e-03f, 6.722528249e-03f, 6.739529918e-03f, 6.756518941e-03f, 6.773495288e-03f,
+6.790458931e-03f, 6.807409842e-03f, 6.824347991e-03f, 6.841273351e-03f, 6.858185893e-03f, 6.875085588e-03f, 6.891972408e-03f, 6.908846324e-03f, 6.925707309e-03f, 6.942555334e-03f,
+6.959390370e-03f, 6.976212389e-03f, 6.993021364e-03f, 7.009817265e-03f, 7.026600064e-03f, 7.043369733e-03f, 7.060126245e-03f, 7.076869570e-03f, 7.093599681e-03f, 7.110316550e-03f,
+7.127020148e-03f, 7.143710448e-03f, 7.160387421e-03f, 7.177051039e-03f, 7.193701275e-03f, 7.210338100e-03f, 7.226961486e-03f, 7.243571406e-03f, 7.260167832e-03f, 7.276750735e-03f,
+7.293320089e-03f, 7.309875864e-03f, 7.326418034e-03f, 7.342946571e-03f, 7.359461446e-03f, 7.375962632e-03f, 7.392450102e-03f, 7.408923827e-03f, 7.425383781e-03f, 7.441829935e-03f,
+7.458262262e-03f, 7.474680734e-03f, 7.491085324e-03f, 7.507476004e-03f, 7.523852747e-03f, 7.540215525e-03f, 7.556564311e-03f, 7.572899078e-03f, 7.589219797e-03f, 7.605526442e-03f,
+7.621818986e-03f, 7.638097401e-03f, 7.654361659e-03f, 7.670611734e-03f, 7.686847599e-03f, 7.703069225e-03f, 7.719276586e-03f, 7.735469655e-03f, 7.751648405e-03f, 7.767812808e-03f,
+7.783962838e-03f, 7.800098467e-03f, 7.816219669e-03f, 7.832326416e-03f, 7.848418681e-03f, 7.864496438e-03f, 7.880559659e-03f, 7.896608318e-03f, 7.912642388e-03f, 7.928661842e-03f,
+7.944666653e-03f, 7.960656794e-03f, 7.976632239e-03f, 7.992592962e-03f, 8.008538934e-03f, 8.024470130e-03f, 8.040386522e-03f, 8.056288085e-03f, 8.072174792e-03f, 8.088046616e-03f,
+8.103903531e-03f, 8.119745509e-03f, 8.135572525e-03f, 8.151384553e-03f, 8.167181565e-03f, 8.182963535e-03f, 8.198730437e-03f, 8.214482245e-03f, 8.230218933e-03f, 8.245940473e-03f,
+8.261646840e-03f, 8.277338007e-03f, 8.293013949e-03f, 8.308674639e-03f, 8.324320051e-03f, 8.339950159e-03f, 8.355564936e-03f, 8.371164358e-03f, 8.386748396e-03f, 8.402317027e-03f,
+8.417870223e-03f, 8.433407959e-03f, 8.448930209e-03f, 8.464436946e-03f, 8.479928146e-03f, 8.495403782e-03f, 8.510863828e-03f, 8.526308259e-03f, 8.541737048e-03f, 8.557150171e-03f,
+8.572547601e-03f, 8.587929313e-03f, 8.603295281e-03f, 8.618645479e-03f, 8.633979882e-03f, 8.649298465e-03f, 8.664601201e-03f, 8.679888066e-03f, 8.695159033e-03f, 8.710414078e-03f,
+8.725653175e-03f, 8.740876299e-03f, 8.756083424e-03f, 8.771274525e-03f, 8.786449576e-03f, 8.801608553e-03f, 8.816751430e-03f, 8.831878182e-03f, 8.846988783e-03f, 8.862083209e-03f,
+8.877161435e-03f, 8.892223435e-03f, 8.907269185e-03f, 8.922298659e-03f, 8.937311832e-03f, 8.952308679e-03f, 8.967289176e-03f, 8.982253298e-03f, 8.997201019e-03f, 9.012132314e-03f,
+9.027047160e-03f, 9.041945531e-03f, 9.056827402e-03f, 9.071692749e-03f, 9.086541547e-03f, 9.101373771e-03f, 9.116189397e-03f, 9.130988399e-03f, 9.145770754e-03f, 9.160536438e-03f,
+9.175285424e-03f, 9.190017689e-03f, 9.204733209e-03f, 9.219431959e-03f, 9.234113914e-03f, 9.248779051e-03f, 9.263427344e-03f, 9.278058770e-03f, 9.292673304e-03f, 9.307270922e-03f,
+9.321851601e-03f, 9.336415314e-03f, 9.350962040e-03f, 9.365491752e-03f, 9.380004428e-03f, 9.394500043e-03f, 9.408978573e-03f, 9.423439995e-03f, 9.437884283e-03f, 9.452311415e-03f,
+9.466721366e-03f, 9.481114113e-03f, 9.495489631e-03f, 9.509847897e-03f, 9.524188887e-03f, 9.538512577e-03f, 9.552818944e-03f, 9.567107964e-03f, 9.581379613e-03f, 9.595633867e-03f,
+9.609870704e-03f, 9.624090099e-03f, 9.638292029e-03f, 9.652476470e-03f, 9.666643399e-03f, 9.680792792e-03f, 9.694924627e-03f, 9.709038879e-03f, 9.723135526e-03f, 9.737214543e-03f,
+9.751275909e-03f, 9.765319599e-03f, 9.779345590e-03f, 9.793353859e-03f, 9.807344383e-03f, 9.821317139e-03f, 9.835272104e-03f, 9.849209254e-03f, 9.863128567e-03f, 9.877030020e-03f,
+9.890913590e-03f, 9.904779253e-03f, 9.918626987e-03f, 9.932456769e-03f, 9.946268577e-03f, 9.960062386e-03f, 9.973838176e-03f, 9.987595922e-03f, 1.000133560e-02f, 1.001505719e-02f,
+1.002876068e-02f, 1.004244602e-02f, 1.005611321e-02f, 1.006976223e-02f, 1.008339304e-02f, 1.009700562e-02f, 1.011059996e-02f, 1.012417604e-02f, 1.013773382e-02f, 1.015127328e-02f,
+1.016479442e-02f, 1.017829719e-02f, 1.019178158e-02f, 1.020524757e-02f, 1.021869514e-02f, 1.023212426e-02f, 1.024553491e-02f, 1.025892707e-02f, 1.027230072e-02f, 1.028565583e-02f,
+1.029899239e-02f, 1.031231037e-02f, 1.032560974e-02f, 1.033889049e-02f, 1.035215260e-02f, 1.036539605e-02f, 1.037862080e-02f, 1.039182684e-02f, 1.040501416e-02f, 1.041818272e-02f,
+1.043133250e-02f, 1.044446349e-02f, 1.045757566e-02f, 1.047066899e-02f, 1.048374346e-02f, 1.049679905e-02f, 1.050983573e-02f, 1.052285349e-02f, 1.053585230e-02f, 1.054883214e-02f,
+1.056179299e-02f, 1.057473484e-02f, 1.058765765e-02f, 1.060056140e-02f, 1.061344609e-02f, 1.062631168e-02f, 1.063915815e-02f, 1.065198548e-02f, 1.066479365e-02f, 1.067758265e-02f,
+1.069035244e-02f, 1.070310302e-02f, 1.071583435e-02f, 1.072854642e-02f, 1.074123920e-02f, 1.075391268e-02f, 1.076656683e-02f, 1.077920164e-02f, 1.079181708e-02f, 1.080441313e-02f,
+1.081698977e-02f, 1.082954699e-02f, 1.084208475e-02f, 1.085460305e-02f, 1.086710185e-02f, 1.087958115e-02f, 1.089204091e-02f, 1.090448112e-02f, 1.091690176e-02f, 1.092930281e-02f,
+1.094168424e-02f, 1.095404604e-02f, 1.096638819e-02f, 1.097871066e-02f, 1.099101345e-02f, 1.100329651e-02f, 1.101555985e-02f, 1.102780343e-02f, 1.104002724e-02f, 1.105223125e-02f,
+1.106441546e-02f, 1.107657982e-02f, 1.108872434e-02f, 1.110084898e-02f, 1.111295373e-02f, 1.112503857e-02f, 1.113710347e-02f, 1.114914843e-02f, 1.116117341e-02f, 1.117317840e-02f,
+1.118516338e-02f, 1.119712833e-02f, 1.120907323e-02f, 1.122099807e-02f, 1.123290281e-02f, 1.124478745e-02f, 1.125665196e-02f, 1.126849632e-02f, 1.128032052e-02f, 1.129212453e-02f,
+1.130390833e-02f, 1.131567192e-02f, 1.132741526e-02f, 1.133913834e-02f, 1.135084114e-02f, 1.136252364e-02f, 1.137418582e-02f, 1.138582767e-02f, 1.139744915e-02f, 1.140905027e-02f,
+1.142063098e-02f, 1.143219129e-02f, 1.144373116e-02f, 1.145525059e-02f, 1.146674954e-02f, 1.147822801e-02f, 1.148968596e-02f, 1.150112340e-02f, 1.151254029e-02f, 1.152393662e-02f,
+1.153531237e-02f, 1.154666751e-02f, 1.155800205e-02f, 1.156931594e-02f, 1.158060918e-02f, 1.159188175e-02f, 1.160313363e-02f, 1.161436480e-02f, 1.162557524e-02f, 1.163676494e-02f,
+1.164793387e-02f, 1.165908202e-02f, 1.167020938e-02f, 1.168131591e-02f, 1.169240161e-02f, 1.170346646e-02f, 1.171451043e-02f, 1.172553352e-02f, 1.173653570e-02f, 1.174751696e-02f,
+1.175847727e-02f, 1.176941662e-02f, 1.178033499e-02f, 1.179123237e-02f, 1.180210874e-02f, 1.181296408e-02f, 1.182379836e-02f, 1.183461159e-02f, 1.184540372e-02f, 1.185617476e-02f,
+1.186692468e-02f, 1.187765347e-02f, 1.188836110e-02f, 1.189904757e-02f, 1.190971285e-02f, 1.192035692e-02f, 1.193097977e-02f, 1.194158138e-02f, 1.195216174e-02f, 1.196272083e-02f,
+1.197325863e-02f, 1.198377512e-02f, 1.199427028e-02f, 1.200474411e-02f, 1.201519658e-02f, 1.202562768e-02f, 1.203603738e-02f, 1.204642568e-02f, 1.205679256e-02f, 1.206713799e-02f,
+1.207746197e-02f, 1.208776447e-02f, 1.209804549e-02f, 1.210830499e-02f, 1.211854298e-02f, 1.212875942e-02f, 1.213895431e-02f, 1.214912763e-02f, 1.215927935e-02f, 1.216940948e-02f,
+1.217951798e-02f, 1.218960484e-02f, 1.219967005e-02f, 1.220971359e-02f, 1.221973545e-02f, 1.222973560e-02f, 1.223971403e-02f, 1.224967074e-02f, 1.225960569e-02f, 1.226951887e-02f,
+1.227941028e-02f, 1.228927989e-02f, 1.229912768e-02f, 1.230895365e-02f, 1.231875777e-02f, 1.232854003e-02f, 1.233830042e-02f, 1.234803892e-02f, 1.235775551e-02f, 1.236745017e-02f,
+1.237712290e-02f, 1.238677368e-02f, 1.239640248e-02f, 1.240600931e-02f, 1.241559413e-02f, 1.242515694e-02f, 1.243469772e-02f, 1.244421646e-02f, 1.245371313e-02f, 1.246318774e-02f,
+1.247264025e-02f, 1.248207065e-02f, 1.249147894e-02f, 1.250086509e-02f, 1.251022909e-02f, 1.251957092e-02f, 1.252889058e-02f, 1.253818804e-02f, 1.254746329e-02f, 1.255671632e-02f,
+1.256594711e-02f, 1.257515565e-02f, 1.258434191e-02f, 1.259350590e-02f, 1.260264759e-02f, 1.261176696e-02f, 1.262086402e-02f, 1.262993873e-02f, 1.263899108e-02f, 1.264802107e-02f,
+1.265702867e-02f, 1.266601388e-02f, 1.267497668e-02f, 1.268391704e-02f, 1.269283497e-02f, 1.270173045e-02f, 1.271060345e-02f, 1.271945398e-02f, 1.272828201e-02f, 1.273708752e-02f,
+1.274587052e-02f, 1.275463097e-02f, 1.276336888e-02f, 1.277208422e-02f, 1.278077698e-02f, 1.278944715e-02f, 1.279809471e-02f, 1.280671965e-02f, 1.281532195e-02f, 1.282390161e-02f,
+1.283245861e-02f, 1.284099294e-02f, 1.284950458e-02f, 1.285799351e-02f, 1.286645973e-02f, 1.287490323e-02f, 1.288332398e-02f, 1.289172198e-02f, 1.290009722e-02f, 1.290844967e-02f,
+1.291677933e-02f, 1.292508618e-02f, 1.293337021e-02f, 1.294163141e-02f, 1.294986977e-02f, 1.295808527e-02f, 1.296627789e-02f, 1.297444764e-02f, 1.298259448e-02f, 1.299071842e-02f,
+1.299881943e-02f, 1.300689751e-02f, 1.301495264e-02f, 1.302298481e-02f, 1.303099401e-02f, 1.303898023e-02f, 1.304694345e-02f, 1.305488365e-02f, 1.306280084e-02f, 1.307069499e-02f,
+1.307856609e-02f, 1.308641414e-02f, 1.309423911e-02f, 1.310204100e-02f, 1.310981980e-02f, 1.311757548e-02f, 1.312530805e-02f, 1.313301749e-02f, 1.314070378e-02f, 1.314836692e-02f,
+1.315600689e-02f, 1.316362368e-02f, 1.317121728e-02f, 1.317878767e-02f, 1.318633485e-02f, 1.319385881e-02f, 1.320135953e-02f, 1.320883700e-02f, 1.321629120e-02f, 1.322372214e-02f,
+1.323112979e-02f, 1.323851415e-02f, 1.324587519e-02f, 1.325321293e-02f, 1.326052733e-02f, 1.326781839e-02f, 1.327508610e-02f, 1.328233044e-02f, 1.328955141e-02f, 1.329674900e-02f,
+1.330392319e-02f, 1.331107397e-02f, 1.331820133e-02f, 1.332530527e-02f, 1.333238576e-02f, 1.333944281e-02f, 1.334647639e-02f, 1.335348650e-02f, 1.336047312e-02f, 1.336743625e-02f,
+1.337437588e-02f, 1.338129199e-02f, 1.338818457e-02f, 1.339505362e-02f, 1.340189912e-02f, 1.340872107e-02f, 1.341551944e-02f, 1.342229424e-02f, 1.342904545e-02f, 1.343577306e-02f,
+1.344247706e-02f, 1.344915744e-02f, 1.345581420e-02f, 1.346244731e-02f, 1.346905677e-02f, 1.347564258e-02f, 1.348220471e-02f, 1.348874317e-02f, 1.349525793e-02f, 1.350174900e-02f,
+1.350821636e-02f, 1.351465999e-02f, 1.352107990e-02f, 1.352747607e-02f, 1.353384850e-02f, 1.354019716e-02f, 1.354652206e-02f, 1.355282318e-02f, 1.355910052e-02f, 1.356535406e-02f,
+1.357158379e-02f, 1.357778971e-02f, 1.358397181e-02f, 1.359013007e-02f, 1.359626449e-02f, 1.360237506e-02f, 1.360846177e-02f, 1.361452461e-02f, 1.362056357e-02f, 1.362657864e-02f,
+1.363256982e-02f, 1.363853709e-02f, 1.364448044e-02f, 1.365039987e-02f, 1.365629537e-02f, 1.366216693e-02f, 1.366801454e-02f, 1.367383819e-02f, 1.367963787e-02f, 1.368541358e-02f,
+1.369116530e-02f, 1.369689302e-02f, 1.370259675e-02f, 1.370827647e-02f, 1.371393217e-02f, 1.371956384e-02f, 1.372517147e-02f, 1.373075507e-02f, 1.373631461e-02f, 1.374185009e-02f,
+1.374736151e-02f, 1.375284884e-02f, 1.375831210e-02f, 1.376375126e-02f, 1.376916632e-02f, 1.377455727e-02f, 1.377992411e-02f, 1.378526682e-02f, 1.379058541e-02f, 1.379587985e-02f,
+1.380115015e-02f, 1.380639629e-02f, 1.381161826e-02f, 1.381681607e-02f, 1.382198970e-02f, 1.382713915e-02f, 1.383226440e-02f, 1.383736545e-02f, 1.384244230e-02f, 1.384749493e-02f,
+1.385252334e-02f, 1.385752752e-02f, 1.386250746e-02f, 1.386746316e-02f, 1.387239460e-02f, 1.387730179e-02f, 1.388218472e-02f, 1.388704337e-02f, 1.389187774e-02f, 1.389668783e-02f,
+1.390147362e-02f, 1.390623511e-02f, 1.391097230e-02f, 1.391568518e-02f, 1.392037373e-02f, 1.392503796e-02f, 1.392967785e-02f, 1.393429341e-02f, 1.393888461e-02f, 1.394345147e-02f,
+1.394799396e-02f, 1.395251209e-02f, 1.395700585e-02f, 1.396147523e-02f, 1.396592022e-02f, 1.397034082e-02f, 1.397473703e-02f, 1.397910883e-02f, 1.398345622e-02f, 1.398777919e-02f,
+1.399207775e-02f, 1.399635187e-02f, 1.400060157e-02f, 1.400482682e-02f, 1.400902763e-02f, 1.401320398e-02f, 1.401735588e-02f, 1.402148332e-02f, 1.402558628e-02f, 1.402966478e-02f,
+1.403371879e-02f, 1.403774832e-02f, 1.404175335e-02f, 1.404573389e-02f, 1.404968993e-02f, 1.405362146e-02f, 1.405752848e-02f, 1.406141098e-02f, 1.406526896e-02f, 1.406910241e-02f,
+1.407291133e-02f, 1.407669570e-02f, 1.408045554e-02f, 1.408419082e-02f, 1.408790155e-02f, 1.409158772e-02f, 1.409524933e-02f, 1.409888636e-02f, 1.410249883e-02f, 1.410608672e-02f,
+1.410965002e-02f, 1.411318873e-02f, 1.411670286e-02f, 1.412019238e-02f, 1.412365731e-02f, 1.412709762e-02f, 1.413051333e-02f, 1.413390442e-02f, 1.413727089e-02f, 1.414061274e-02f,
+1.414392996e-02f, 1.414722254e-02f, 1.415049049e-02f, 1.415373380e-02f, 1.415695246e-02f, 1.416014648e-02f, 1.416331584e-02f, 1.416646054e-02f, 1.416958058e-02f, 1.417267596e-02f,
+1.417574666e-02f, 1.417879269e-02f, 1.418181405e-02f, 1.418481072e-02f, 1.418778271e-02f, 1.419073002e-02f, 1.419365263e-02f, 1.419655054e-02f, 1.419942376e-02f, 1.420227227e-02f,
+1.420509607e-02f, 1.420789517e-02f, 1.421066955e-02f, 1.421341922e-02f, 1.421614417e-02f, 1.421884440e-02f, 1.422151989e-02f, 1.422417066e-02f, 1.422679670e-02f, 1.422939800e-02f,
+1.423197457e-02f, 1.423452639e-02f, 1.423705347e-02f, 1.423955580e-02f, 1.424203338e-02f, 1.424448620e-02f, 1.424691427e-02f, 1.424931759e-02f, 1.425169614e-02f, 1.425404992e-02f,
+1.425637894e-02f, 1.425868319e-02f, 1.426096267e-02f, 1.426321738e-02f, 1.426544731e-02f, 1.426765246e-02f, 1.426983282e-02f, 1.427198841e-02f, 1.427411921e-02f, 1.427622522e-02f,
+1.427830643e-02f, 1.428036286e-02f, 1.428239449e-02f, 1.428440133e-02f, 1.428638336e-02f, 1.428834060e-02f, 1.429027303e-02f, 1.429218066e-02f, 1.429406348e-02f, 1.429592149e-02f,
+1.429775470e-02f, 1.429956309e-02f, 1.430134667e-02f, 1.430310543e-02f, 1.430483938e-02f, 1.430654851e-02f, 1.430823281e-02f, 1.430989230e-02f, 1.431152697e-02f, 1.431313681e-02f,
+1.431472182e-02f, 1.431628201e-02f, 1.431781737e-02f, 1.431932791e-02f, 1.432081361e-02f, 1.432227448e-02f, 1.432371052e-02f, 1.432512172e-02f, 1.432650809e-02f, 1.432786963e-02f,
+1.432920633e-02f, 1.433051819e-02f, 1.433180522e-02f, 1.433306740e-02f, 1.433430475e-02f, 1.433551725e-02f, 1.433670492e-02f, 1.433786774e-02f, 1.433900573e-02f, 1.434011886e-02f,
+1.434120716e-02f, 1.434227062e-02f, 1.434330923e-02f, 1.434432299e-02f, 1.434531191e-02f, 1.434627599e-02f, 1.434721522e-02f, 1.434812961e-02f, 1.434901915e-02f, 1.434988385e-02f,
+1.435072370e-02f, 1.435153871e-02f, 1.435232887e-02f, 1.435309418e-02f, 1.435383465e-02f, 1.435455028e-02f, 1.435524106e-02f, 1.435590700e-02f, 1.435654809e-02f, 1.435716434e-02f,
+1.435775575e-02f, 1.435832231e-02f, 1.435886403e-02f, 1.435938091e-02f, 1.435987295e-02f, 1.436034015e-02f, 1.436078250e-02f, 1.436120002e-02f, 1.436159270e-02f, 1.436196054e-02f,
+1.436230354e-02f, 1.436262171e-02f, 1.436291504e-02f, 1.436318354e-02f, 1.436342720e-02f, 1.436364603e-02f, 1.436384003e-02f, 1.436400920e-02f, 1.436415354e-02f, 1.436427306e-02f,
+1.436436774e-02f, 1.436443760e-02f, 1.436448264e-02f, 1.436450286e-02f, 1.436449825e-02f, 1.436446882e-02f, 1.436441458e-02f, 1.436433552e-02f, 1.436423164e-02f, 1.436410295e-02f,
+1.436394945e-02f, 1.436377113e-02f, 1.436356801e-02f, 1.436334009e-02f, 1.436308735e-02f, 1.436280982e-02f, 1.436250748e-02f, 1.436218035e-02f, 1.436182842e-02f, 1.436145169e-02f,
+1.436105017e-02f, 1.436062386e-02f, 1.436017276e-02f, 1.435969688e-02f, 1.435919621e-02f, 1.435867076e-02f, 1.435812053e-02f, 1.435754552e-02f, 1.435694574e-02f, 1.435632118e-02f,
+1.435567186e-02f, 1.435499777e-02f, 1.435429892e-02f, 1.435357530e-02f, 1.435282693e-02f, 1.435205379e-02f, 1.435125591e-02f, 1.435043327e-02f, 1.434958589e-02f, 1.434871376e-02f,
+1.434781689e-02f, 1.434689528e-02f, 1.434594894e-02f, 1.434497786e-02f, 1.434398205e-02f, 1.434296152e-02f, 1.434191626e-02f, 1.434084628e-02f, 1.433975159e-02f, 1.433863218e-02f,
+1.433748806e-02f, 1.433631924e-02f, 1.433512571e-02f, 1.433390748e-02f, 1.433266456e-02f, 1.433139694e-02f, 1.433010464e-02f, 1.432878765e-02f, 1.432744598e-02f, 1.432607963e-02f,
+1.432468860e-02f, 1.432327291e-02f, 1.432183255e-02f, 1.432036752e-02f, 1.431887784e-02f, 1.431736351e-02f, 1.431582452e-02f, 1.431426089e-02f, 1.431267261e-02f, 1.431105970e-02f,
+1.430942216e-02f, 1.430775998e-02f, 1.430607318e-02f, 1.430436176e-02f, 1.430262572e-02f, 1.430086507e-02f, 1.429907981e-02f, 1.429726995e-02f, 1.429543549e-02f, 1.429357644e-02f,
+1.429169280e-02f, 1.428978457e-02f, 1.428785176e-02f, 1.428589438e-02f, 1.428391243e-02f, 1.428190591e-02f, 1.427987484e-02f, 1.427781920e-02f, 1.427573902e-02f, 1.427363429e-02f,
+1.427150502e-02f, 1.426935122e-02f, 1.426717288e-02f, 1.426497002e-02f, 1.426274264e-02f, 1.426049075e-02f, 1.425821435e-02f, 1.425591344e-02f, 1.425358804e-02f, 1.425123814e-02f,
+1.424886375e-02f, 1.424646488e-02f, 1.424404154e-02f, 1.424159372e-02f, 1.423912145e-02f, 1.423662471e-02f, 1.423410351e-02f, 1.423155787e-02f, 1.422898779e-02f, 1.422639327e-02f,
+1.422377432e-02f, 1.422113095e-02f, 1.421846315e-02f, 1.421577095e-02f, 1.421305434e-02f, 1.421031333e-02f, 1.420754792e-02f, 1.420475813e-02f, 1.420194396e-02f, 1.419910541e-02f,
+1.419624249e-02f, 1.419335521e-02f, 1.419044357e-02f, 1.418750758e-02f, 1.418454725e-02f, 1.418156258e-02f, 1.417855359e-02f, 1.417552027e-02f, 1.417246263e-02f, 1.416938068e-02f,
+1.416627443e-02f, 1.416314388e-02f, 1.415998904e-02f, 1.415680992e-02f, 1.415360653e-02f, 1.415037886e-02f, 1.414712693e-02f, 1.414385075e-02f, 1.414055032e-02f, 1.413722565e-02f,
+1.413387674e-02f, 1.413050361e-02f, 1.412710625e-02f, 1.412368469e-02f, 1.412023892e-02f, 1.411676896e-02f, 1.411327480e-02f, 1.410975646e-02f, 1.410621395e-02f, 1.410264726e-02f,
+1.409905642e-02f, 1.409544143e-02f, 1.409180229e-02f, 1.408813902e-02f, 1.408445161e-02f, 1.408074008e-02f, 1.407700444e-02f, 1.407324470e-02f, 1.406946086e-02f, 1.406565292e-02f,
+1.406182091e-02f, 1.405796482e-02f, 1.405408466e-02f, 1.405018045e-02f, 1.404625218e-02f, 1.404229988e-02f, 1.403832354e-02f, 1.403432318e-02f, 1.403029880e-02f, 1.402625041e-02f,
+1.402217802e-02f, 1.401808164e-02f, 1.401396128e-02f, 1.400981694e-02f, 1.400564864e-02f, 1.400145638e-02f, 1.399724017e-02f, 1.399300002e-02f, 1.398873594e-02f, 1.398444793e-02f,
+1.398013601e-02f, 1.397580019e-02f, 1.397144047e-02f, 1.396705687e-02f, 1.396264938e-02f, 1.395821803e-02f, 1.395376282e-02f, 1.394928375e-02f, 1.394478085e-02f, 1.394025411e-02f,
+1.393570354e-02f, 1.393112917e-02f, 1.392653098e-02f, 1.392190900e-02f, 1.391726324e-02f, 1.391259370e-02f, 1.390790039e-02f, 1.390318332e-02f, 1.389844251e-02f, 1.389367795e-02f,
+1.388888967e-02f, 1.388407766e-02f, 1.387924195e-02f, 1.387438254e-02f, 1.386949943e-02f, 1.386459265e-02f, 1.385966219e-02f, 1.385470807e-02f, 1.384973031e-02f, 1.384472890e-02f,
+1.383970386e-02f, 1.383465520e-02f, 1.382958292e-02f, 1.382448705e-02f, 1.381936759e-02f, 1.381422454e-02f, 1.380905793e-02f, 1.380386776e-02f, 1.379865404e-02f, 1.379341677e-02f,
+1.378815598e-02f, 1.378287167e-02f, 1.377756386e-02f, 1.377223254e-02f, 1.376687774e-02f, 1.376149947e-02f, 1.375609773e-02f, 1.375067253e-02f, 1.374522389e-02f, 1.373975182e-02f,
+1.373425632e-02f, 1.372873741e-02f, 1.372319511e-02f, 1.371762941e-02f, 1.371204033e-02f, 1.370642789e-02f, 1.370079209e-02f, 1.369513294e-02f, 1.368945046e-02f, 1.368374466e-02f,
+1.367801555e-02f, 1.367226313e-02f, 1.366648742e-02f, 1.366068844e-02f, 1.365486619e-02f, 1.364902069e-02f, 1.364315194e-02f, 1.363725995e-02f, 1.363134475e-02f, 1.362540634e-02f,
+1.361944473e-02f, 1.361345993e-02f, 1.360745196e-02f, 1.360142083e-02f, 1.359536655e-02f, 1.358928912e-02f, 1.358318857e-02f, 1.357706491e-02f, 1.357091814e-02f, 1.356474828e-02f,
+1.355855534e-02f, 1.355233933e-02f, 1.354610027e-02f, 1.353983816e-02f, 1.353355302e-02f, 1.352724487e-02f, 1.352091371e-02f, 1.351455955e-02f, 1.350818241e-02f, 1.350178230e-02f,
+1.349535923e-02f, 1.348891322e-02f, 1.348244428e-02f, 1.347595241e-02f, 1.346943764e-02f, 1.346289998e-02f, 1.345633943e-02f, 1.344975601e-02f, 1.344314974e-02f, 1.343652062e-02f,
+1.342986867e-02f, 1.342319390e-02f, 1.341649633e-02f, 1.340977596e-02f, 1.340303281e-02f, 1.339626690e-02f, 1.338947823e-02f, 1.338266682e-02f, 1.337583269e-02f, 1.336897584e-02f,
+1.336209629e-02f, 1.335519405e-02f, 1.334826913e-02f, 1.334132155e-02f, 1.333435133e-02f, 1.332735847e-02f, 1.332034299e-02f, 1.331330490e-02f, 1.330624421e-02f, 1.329916095e-02f,
+1.329205511e-02f, 1.328492673e-02f, 1.327777580e-02f, 1.327060234e-02f, 1.326340637e-02f, 1.325618791e-02f, 1.324894695e-02f, 1.324168353e-02f, 1.323439764e-02f, 1.322708932e-02f,
+1.321975856e-02f, 1.321240539e-02f, 1.320502981e-02f, 1.319763185e-02f, 1.319021151e-02f, 1.318276881e-02f, 1.317530377e-02f, 1.316781640e-02f, 1.316030670e-02f, 1.315277471e-02f,
+1.314522042e-02f, 1.313764387e-02f, 1.313004505e-02f, 1.312242398e-02f, 1.311478069e-02f, 1.310711517e-02f, 1.309942746e-02f, 1.309171756e-02f, 1.308398548e-02f, 1.307623125e-02f,
+1.306845487e-02f, 1.306065637e-02f, 1.305283575e-02f, 1.304499303e-02f, 1.303712822e-02f, 1.302924135e-02f, 1.302133242e-02f, 1.301340145e-02f, 1.300544846e-02f, 1.299747346e-02f,
+1.298947646e-02f, 1.298145748e-02f, 1.297341654e-02f, 1.296535365e-02f, 1.295726882e-02f, 1.294916208e-02f, 1.294103343e-02f, 1.293288289e-02f, 1.292471048e-02f, 1.291651621e-02f,
+1.290830010e-02f, 1.290006217e-02f, 1.289180242e-02f, 1.288352088e-02f, 1.287521755e-02f, 1.286689246e-02f, 1.285854562e-02f, 1.285017705e-02f, 1.284178677e-02f, 1.283337478e-02f,
+1.282494110e-02f, 1.281648575e-02f, 1.280800875e-02f, 1.279951011e-02f, 1.279098985e-02f, 1.278244798e-02f, 1.277388452e-02f, 1.276529949e-02f, 1.275669290e-02f, 1.274806477e-02f,
+1.273941511e-02f, 1.273074394e-02f, 1.272205127e-02f, 1.271333713e-02f, 1.270460153e-02f, 1.269584448e-02f, 1.268706601e-02f, 1.267826612e-02f, 1.266944484e-02f, 1.266060217e-02f,
+1.265173815e-02f, 1.264285278e-02f, 1.263394608e-02f, 1.262501806e-02f, 1.261606876e-02f, 1.260709817e-02f, 1.259810632e-02f, 1.258909322e-02f, 1.258005889e-02f, 1.257100335e-02f,
+1.256192662e-02f, 1.255282870e-02f, 1.254370963e-02f, 1.253456941e-02f, 1.252540806e-02f, 1.251622560e-02f, 1.250702205e-02f, 1.249779743e-02f, 1.248855174e-02f, 1.247928501e-02f,
+1.246999726e-02f, 1.246068850e-02f, 1.245135874e-02f, 1.244200802e-02f, 1.243263634e-02f, 1.242324372e-02f, 1.241383018e-02f, 1.240439574e-02f, 1.239494041e-02f, 1.238546422e-02f,
+1.237596717e-02f, 1.236644929e-02f, 1.235691059e-02f, 1.234735110e-02f, 1.233777083e-02f, 1.232816979e-02f, 1.231854801e-02f, 1.230890551e-02f, 1.229924229e-02f, 1.228955839e-02f,
+1.227985381e-02f, 1.227012858e-02f, 1.226038271e-02f, 1.225061622e-02f, 1.224082913e-02f, 1.223102145e-02f, 1.222119322e-02f, 1.221134443e-02f, 1.220147512e-02f, 1.219158530e-02f,
+1.218167498e-02f, 1.217174420e-02f, 1.216179295e-02f, 1.215182127e-02f, 1.214182918e-02f, 1.213181668e-02f, 1.212178380e-02f, 1.211173056e-02f, 1.210165697e-02f, 1.209156306e-02f,
+1.208144884e-02f, 1.207131433e-02f, 1.206115956e-02f, 1.205098453e-02f, 1.204078927e-02f, 1.203057379e-02f, 1.202033812e-02f, 1.201008228e-02f, 1.199980627e-02f, 1.198951013e-02f,
+1.197919387e-02f, 1.196885751e-02f, 1.195850107e-02f, 1.194812457e-02f, 1.193772802e-02f, 1.192731145e-02f, 1.191687488e-02f, 1.190641832e-02f, 1.189594179e-02f, 1.188544532e-02f,
+1.187492892e-02f, 1.186439261e-02f, 1.185383641e-02f, 1.184326034e-02f, 1.183266442e-02f, 1.182204867e-02f, 1.181141311e-02f, 1.180075775e-02f, 1.179008263e-02f, 1.177938775e-02f,
+1.176867314e-02f, 1.175793881e-02f, 1.174718479e-02f, 1.173641110e-02f, 1.172561775e-02f, 1.171480477e-02f, 1.170397218e-02f, 1.169311998e-02f, 1.168224822e-02f, 1.167135690e-02f,
+1.166044604e-02f, 1.164951567e-02f, 1.163856580e-02f, 1.162759646e-02f, 1.161660766e-02f, 1.160559943e-02f, 1.159457178e-02f, 1.158352474e-02f, 1.157245833e-02f, 1.156137256e-02f,
+1.155026745e-02f, 1.153914303e-02f, 1.152799932e-02f, 1.151683634e-02f, 1.150565410e-02f, 1.149445263e-02f, 1.148323195e-02f, 1.147199208e-02f, 1.146073304e-02f, 1.144945485e-02f,
+1.143815753e-02f, 1.142684110e-02f, 1.141550558e-02f, 1.140415099e-02f, 1.139277736e-02f, 1.138138470e-02f, 1.136997304e-02f, 1.135854239e-02f, 1.134709278e-02f, 1.133562423e-02f,
+1.132413675e-02f, 1.131263037e-02f, 1.130110511e-02f, 1.128956100e-02f, 1.127799805e-02f, 1.126641627e-02f, 1.125481571e-02f, 1.124319637e-02f, 1.123155827e-02f, 1.121990145e-02f,
+1.120822591e-02f, 1.119653168e-02f, 1.118481878e-02f, 1.117308724e-02f, 1.116133707e-02f, 1.114956830e-02f, 1.113778094e-02f, 1.112597502e-02f, 1.111415057e-02f, 1.110230759e-02f,
+1.109044612e-02f, 1.107856617e-02f, 1.106666776e-02f, 1.105475093e-02f, 1.104281568e-02f, 1.103086204e-02f, 1.101889004e-02f, 1.100689969e-02f, 1.099489102e-02f, 1.098286404e-02f,
+1.097081879e-02f, 1.095875528e-02f, 1.094667353e-02f, 1.093457356e-02f, 1.092245541e-02f, 1.091031908e-02f, 1.089816460e-02f, 1.088599200e-02f, 1.087380130e-02f, 1.086159251e-02f,
+1.084936566e-02f, 1.083712077e-02f, 1.082485787e-02f, 1.081257697e-02f, 1.080027810e-02f, 1.078796129e-02f, 1.077562654e-02f, 1.076327390e-02f, 1.075090337e-02f, 1.073851498e-02f,
+1.072610875e-02f, 1.071368471e-02f, 1.070124288e-02f, 1.068878327e-02f, 1.067630592e-02f, 1.066381085e-02f, 1.065129807e-02f, 1.063876761e-02f, 1.062621950e-02f, 1.061365375e-02f,
+1.060107039e-02f, 1.058846945e-02f, 1.057585093e-02f, 1.056321488e-02f, 1.055056130e-02f, 1.053789023e-02f, 1.052520168e-02f, 1.051249568e-02f, 1.049977225e-02f, 1.048703142e-02f,
+1.047427321e-02f, 1.046149763e-02f, 1.044870472e-02f, 1.043589450e-02f, 1.042306698e-02f, 1.041022220e-02f, 1.039736018e-02f, 1.038448093e-02f, 1.037158449e-02f, 1.035867087e-02f,
+1.034574011e-02f, 1.033279221e-02f, 1.031982721e-02f, 1.030684513e-02f, 1.029384600e-02f, 1.028082983e-02f, 1.026779665e-02f, 1.025474648e-02f, 1.024167935e-02f, 1.022859528e-02f,
+1.021549429e-02f, 1.020237641e-02f, 1.018924166e-02f, 1.017609007e-02f, 1.016292165e-02f, 1.014973644e-02f, 1.013653445e-02f, 1.012331571e-02f, 1.011008025e-02f, 1.009682808e-02f,
+1.008355924e-02f, 1.007027374e-02f, 1.005697160e-02f, 1.004365287e-02f, 1.003031754e-02f, 1.001696566e-02f, 1.000359725e-02f, 9.990212318e-03f, 9.976810903e-03f, 9.963393026e-03f,
+9.949958709e-03f, 9.936507978e-03f, 9.923040857e-03f, 9.909557369e-03f, 9.896057539e-03f, 9.882541391e-03f, 9.869008950e-03f, 9.855460240e-03f, 9.841895285e-03f, 9.828314109e-03f,
+9.814716738e-03f, 9.801103195e-03f, 9.787473504e-03f, 9.773827691e-03f, 9.760165780e-03f, 9.746487795e-03f, 9.732793761e-03f, 9.719083702e-03f, 9.705357643e-03f, 9.691615609e-03f,
+9.677857625e-03f, 9.664083714e-03f, 9.650293903e-03f, 9.636488214e-03f, 9.622666674e-03f, 9.608829308e-03f, 9.594976138e-03f, 9.581107192e-03f, 9.567222493e-03f, 9.553322067e-03f,
+9.539405938e-03f, 9.525474131e-03f, 9.511526672e-03f, 9.497563585e-03f, 9.483584895e-03f, 9.469590628e-03f, 9.455580808e-03f, 9.441555461e-03f, 9.427514611e-03f, 9.413458284e-03f,
+9.399386505e-03f, 9.385299299e-03f, 9.371196692e-03f, 9.357078708e-03f, 9.342945373e-03f, 9.328796712e-03f, 9.314632751e-03f, 9.300453515e-03f, 9.286259029e-03f, 9.272049319e-03f,
+9.257824410e-03f, 9.243584327e-03f, 9.229329096e-03f, 9.215058743e-03f, 9.200773293e-03f, 9.186472772e-03f, 9.172157204e-03f, 9.157826617e-03f, 9.143481034e-03f, 9.129120483e-03f,
+9.114744988e-03f, 9.100354576e-03f, 9.085949272e-03f, 9.071529102e-03f, 9.057094091e-03f, 9.042644266e-03f, 9.028179652e-03f, 9.013700274e-03f, 8.999206160e-03f, 8.984697335e-03f,
+8.970173824e-03f, 8.955635654e-03f, 8.941082851e-03f, 8.926515440e-03f, 8.911933447e-03f, 8.897336900e-03f, 8.882725823e-03f, 8.868100242e-03f, 8.853460185e-03f, 8.838805676e-03f,
+8.824136743e-03f, 8.809453411e-03f, 8.794755706e-03f, 8.780043655e-03f, 8.765317284e-03f, 8.750576619e-03f, 8.735821687e-03f, 8.721052513e-03f, 8.706269124e-03f, 8.691471547e-03f,
+8.676659808e-03f, 8.661833933e-03f, 8.646993949e-03f, 8.632139882e-03f, 8.617271758e-03f, 8.602389605e-03f, 8.587493448e-03f, 8.572583314e-03f, 8.557659230e-03f, 8.542721223e-03f,
+8.527769318e-03f, 8.512803542e-03f, 8.497823923e-03f, 8.482830487e-03f, 8.467823260e-03f, 8.452802270e-03f, 8.437767542e-03f, 8.422719104e-03f, 8.407656983e-03f, 8.392581205e-03f,
+8.377491798e-03f, 8.362388787e-03f, 8.347272200e-03f, 8.332142064e-03f, 8.316998406e-03f, 8.301841252e-03f, 8.286670630e-03f, 8.271486567e-03f, 8.256289089e-03f, 8.241078224e-03f,
+8.225853998e-03f, 8.210616439e-03f, 8.195365574e-03f, 8.180101430e-03f, 8.164824034e-03f, 8.149533413e-03f, 8.134229595e-03f, 8.118912606e-03f, 8.103582474e-03f, 8.088239226e-03f,
+8.072882889e-03f, 8.057513491e-03f, 8.042131058e-03f, 8.026735619e-03f, 8.011327201e-03f, 7.995905830e-03f, 7.980471535e-03f, 7.965024342e-03f, 7.949564279e-03f, 7.934091374e-03f,
+7.918605654e-03f, 7.903107147e-03f, 7.887595879e-03f, 7.872071879e-03f, 7.856535174e-03f, 7.840985792e-03f, 7.825423760e-03f, 7.809849106e-03f, 7.794261858e-03f, 7.778662042e-03f,
+7.763049688e-03f, 7.747424821e-03f, 7.731787472e-03f, 7.716137666e-03f, 7.700475431e-03f, 7.684800797e-03f, 7.669113789e-03f, 7.653414437e-03f, 7.637702767e-03f, 7.621978808e-03f,
+7.606242588e-03f, 7.590494134e-03f, 7.574733475e-03f, 7.558960638e-03f, 7.543175651e-03f, 7.527378543e-03f, 7.511569341e-03f, 7.495748073e-03f, 7.479914767e-03f, 7.464069451e-03f,
+7.448212154e-03f, 7.432342904e-03f, 7.416461728e-03f, 7.400568654e-03f, 7.384663712e-03f, 7.368746928e-03f, 7.352818331e-03f, 7.336877950e-03f, 7.320925812e-03f, 7.304961946e-03f,
+7.288986380e-03f, 7.272999143e-03f, 7.257000262e-03f, 7.240989766e-03f, 7.224967683e-03f, 7.208934041e-03f, 7.192888870e-03f, 7.176832196e-03f, 7.160764050e-03f, 7.144684458e-03f,
+7.128593450e-03f, 7.112491054e-03f, 7.096377299e-03f, 7.080252212e-03f, 7.064115823e-03f, 7.047968160e-03f, 7.031809251e-03f, 7.015639126e-03f, 6.999457812e-03f, 6.983265338e-03f,
+6.967061733e-03f, 6.950847026e-03f, 6.934621245e-03f, 6.918384418e-03f, 6.902136575e-03f, 6.885877744e-03f, 6.869607955e-03f, 6.853327234e-03f, 6.837035612e-03f, 6.820733118e-03f,
+6.804419779e-03f, 6.788095625e-03f, 6.771760684e-03f, 6.755414986e-03f, 6.739058559e-03f, 6.722691432e-03f, 6.706313634e-03f, 6.689925194e-03f, 6.673526141e-03f, 6.657116504e-03f,
+6.640696311e-03f, 6.624265592e-03f, 6.607824376e-03f, 6.591372691e-03f, 6.574910567e-03f, 6.558438033e-03f, 6.541955118e-03f, 6.525461850e-03f, 6.508958260e-03f, 6.492444375e-03f,
+6.475920226e-03f, 6.459385840e-03f, 6.442841249e-03f, 6.426286480e-03f, 6.409721562e-03f, 6.393146526e-03f, 6.376561400e-03f, 6.359966213e-03f, 6.343360995e-03f, 6.326745774e-03f,
+6.310120581e-03f, 6.293485445e-03f, 6.276840394e-03f, 6.260185459e-03f, 6.243520667e-03f, 6.226846050e-03f, 6.210161636e-03f, 6.193467454e-03f, 6.176763534e-03f, 6.160049906e-03f,
+6.143326598e-03f, 6.126593641e-03f, 6.109851063e-03f, 6.093098895e-03f, 6.076337165e-03f, 6.059565903e-03f, 6.042785139e-03f, 6.025994903e-03f, 6.009195223e-03f, 5.992386129e-03f,
+5.975567651e-03f, 5.958739818e-03f, 5.941902661e-03f, 5.925056209e-03f, 5.908200490e-03f, 5.891335536e-03f, 5.874461375e-03f, 5.857578038e-03f, 5.840685554e-03f, 5.823783952e-03f,
+5.806873263e-03f, 5.789953516e-03f, 5.773024741e-03f, 5.756086967e-03f, 5.739140225e-03f, 5.722184545e-03f, 5.705219955e-03f, 5.688246486e-03f, 5.671264168e-03f, 5.654273030e-03f,
+5.637273103e-03f, 5.620264416e-03f, 5.603246999e-03f, 5.586220882e-03f, 5.569186095e-03f, 5.552142668e-03f, 5.535090631e-03f, 5.518030013e-03f, 5.500960845e-03f, 5.483883157e-03f,
+5.466796978e-03f, 5.449702339e-03f, 5.432599270e-03f, 5.415487801e-03f, 5.398367961e-03f, 5.381239781e-03f, 5.364103291e-03f, 5.346958521e-03f, 5.329805501e-03f, 5.312644261e-03f,
+5.295474831e-03f, 5.278297242e-03f, 5.261111523e-03f, 5.243917705e-03f, 5.226715818e-03f, 5.209505891e-03f, 5.192287956e-03f, 5.175062042e-03f, 5.157828180e-03f, 5.140586400e-03f,
+5.123336732e-03f, 5.106079206e-03f, 5.088813853e-03f, 5.071540702e-03f, 5.054259785e-03f, 5.036971131e-03f, 5.019674771e-03f, 5.002370735e-03f, 4.985059053e-03f, 4.967739756e-03f,
+4.950412874e-03f, 4.933078438e-03f, 4.915736477e-03f, 4.898387023e-03f, 4.881030105e-03f, 4.863665754e-03f, 4.846294001e-03f, 4.828914875e-03f, 4.811528408e-03f, 4.794134630e-03f,
+4.776733571e-03f, 4.759325261e-03f, 4.741909732e-03f, 4.724487013e-03f, 4.707057136e-03f, 4.689620130e-03f, 4.672176027e-03f, 4.654724856e-03f, 4.637266648e-03f, 4.619801435e-03f,
+4.602329246e-03f, 4.584850112e-03f, 4.567364063e-03f, 4.549871131e-03f, 4.532371346e-03f, 4.514864738e-03f, 4.497351338e-03f, 4.479831177e-03f, 4.462304286e-03f, 4.444770694e-03f,
+4.427230433e-03f, 4.409683533e-03f, 4.392130026e-03f, 4.374569941e-03f, 4.357003310e-03f, 4.339430163e-03f, 4.321850531e-03f, 4.304264445e-03f, 4.286671935e-03f, 4.269073032e-03f,
+4.251467767e-03f, 4.233856171e-03f, 4.216238274e-03f, 4.198614108e-03f, 4.180983702e-03f, 4.163347089e-03f, 4.145704298e-03f, 4.128055361e-03f, 4.110400308e-03f, 4.092739171e-03f,
+4.075071979e-03f, 4.057398765e-03f, 4.039719558e-03f, 4.022034390e-03f, 4.004343292e-03f, 3.986646294e-03f, 3.968943428e-03f, 3.951234724e-03f, 3.933520213e-03f, 3.915799926e-03f,
+3.898073894e-03f, 3.880342149e-03f, 3.862604720e-03f, 3.844861639e-03f, 3.827112938e-03f, 3.809358646e-03f, 3.791598795e-03f, 3.773833416e-03f, 3.756062540e-03f, 3.738286198e-03f,
+3.720504421e-03f, 3.702717240e-03f, 3.684924686e-03f, 3.667126789e-03f, 3.649323582e-03f, 3.631515095e-03f, 3.613701360e-03f, 3.595882406e-03f, 3.578058266e-03f, 3.560228971e-03f,
+3.542394550e-03f, 3.524555037e-03f, 3.506710461e-03f, 3.488860854e-03f, 3.471006247e-03f, 3.453146671e-03f, 3.435282158e-03f, 3.417412737e-03f, 3.399538442e-03f, 3.381659302e-03f,
+3.363775348e-03f, 3.345886613e-03f, 3.327993127e-03f, 3.310094921e-03f, 3.292192027e-03f, 3.274284475e-03f, 3.256372298e-03f, 3.238455525e-03f, 3.220534189e-03f, 3.202608320e-03f,
+3.184677951e-03f, 3.166743111e-03f, 3.148803832e-03f, 3.130860146e-03f, 3.112912084e-03f, 3.094959676e-03f, 3.077002955e-03f, 3.059041952e-03f, 3.041076697e-03f, 3.023107222e-03f,
+3.005133558e-03f, 2.987155737e-03f, 2.969173790e-03f, 2.951187748e-03f, 2.933197643e-03f, 2.915203505e-03f, 2.897205367e-03f, 2.879203259e-03f, 2.861197213e-03f, 2.843187260e-03f,
+2.825173431e-03f, 2.807155758e-03f, 2.789134272e-03f, 2.771109004e-03f, 2.753079987e-03f, 2.735047250e-03f, 2.717010826e-03f, 2.698970746e-03f, 2.680927041e-03f, 2.662879742e-03f,
+2.644828882e-03f, 2.626774491e-03f, 2.608716601e-03f, 2.590655243e-03f, 2.572590448e-03f, 2.554522249e-03f, 2.536450675e-03f, 2.518375760e-03f, 2.500297533e-03f, 2.482216028e-03f,
+2.464131274e-03f, 2.446043304e-03f, 2.427952148e-03f, 2.409857839e-03f, 2.391760407e-03f, 2.373659885e-03f, 2.355556303e-03f, 2.337449694e-03f, 2.319340087e-03f, 2.301227516e-03f,
+2.283112011e-03f, 2.264993604e-03f, 2.246872326e-03f, 2.228748209e-03f, 2.210621285e-03f, 2.192491584e-03f, 2.174359138e-03f, 2.156223979e-03f, 2.138086138e-03f, 2.119945646e-03f,
+2.101802536e-03f, 2.083656838e-03f, 2.065508585e-03f, 2.047357807e-03f, 2.029204536e-03f, 2.011048803e-03f, 1.992890641e-03f, 1.974730080e-03f, 1.956567153e-03f, 1.938401890e-03f,
+1.920234323e-03f, 1.902064484e-03f, 1.883892403e-03f, 1.865718114e-03f, 1.847541646e-03f, 1.829363033e-03f, 1.811182304e-03f, 1.792999492e-03f, 1.774814629e-03f, 1.756627745e-03f,
+1.738438873e-03f, 1.720248043e-03f, 1.702055288e-03f, 1.683860638e-03f, 1.665664126e-03f, 1.647465784e-03f, 1.629265641e-03f, 1.611063731e-03f, 1.592860084e-03f, 1.574654732e-03f,
+1.556447707e-03f, 1.538239040e-03f, 1.520028763e-03f, 1.501816908e-03f, 1.483603505e-03f, 1.465388586e-03f, 1.447172184e-03f, 1.428954329e-03f, 1.410735053e-03f, 1.392514387e-03f,
+1.374292364e-03f, 1.356069015e-03f, 1.337844370e-03f, 1.319618463e-03f, 1.301391324e-03f, 1.283162984e-03f, 1.264933477e-03f, 1.246702832e-03f, 1.228471082e-03f, 1.210238258e-03f,
+1.192004391e-03f, 1.173769514e-03f, 1.155533658e-03f, 1.137296854e-03f, 1.119059134e-03f, 1.100820529e-03f, 1.082581071e-03f, 1.064340792e-03f, 1.046099723e-03f, 1.027857896e-03f,
+1.009615341e-03f, 9.913720919e-04f, 9.731281788e-04f, 9.548836335e-04f, 9.366384876e-04f, 9.183927726e-04f, 9.001465201e-04f, 8.818997617e-04f, 8.636525289e-04f, 8.454048532e-04f,
+8.271567661e-04f, 8.089082993e-04f, 7.906594842e-04f, 7.724103525e-04f, 7.541609355e-04f, 7.359112650e-04f, 7.176613723e-04f, 6.994112891e-04f, 6.811610468e-04f, 6.629106771e-04f,
+6.446602113e-04f, 6.264096812e-04f, 6.081591181e-04f, 5.899085537e-04f, 5.716580193e-04f, 5.534075467e-04f, 5.351571672e-04f, 5.169069123e-04f, 4.986568137e-04f, 4.804069029e-04f,
+4.621572112e-04f, 4.439077703e-04f, 4.256586116e-04f, 4.074097667e-04f, 3.891612670e-04f, 3.709131441e-04f, 3.526654294e-04f, 3.344181544e-04f, 3.161713507e-04f, 2.979250497e-04f,
+2.796792829e-04f, 2.614340818e-04f, 2.431894778e-04f, 2.249455025e-04f, 2.067021874e-04f, 1.884595638e-04f, 1.702176633e-04f, 1.519765173e-04f, 1.337361573e-04f, 1.154966148e-04f,
+9.725792114e-05f, 7.902010787e-05f, 6.078320641e-05f, 4.254724821e-05f, 2.431226472e-05f, 6.078287362e-06f, -1.215465242e-05f, -3.038652318e-05f, -4.861729351e-05f, -6.684693198e-05f,
+-8.507540716e-05f, -1.033026876e-04f, -1.215287420e-04f, -1.397535388e-04f, -1.579770467e-04f, -1.761992343e-04f, -1.944200702e-04f, -2.126395229e-04f, -2.308575611e-04f, -2.490741534e-04f,
+-2.672892684e-04f, -2.855028748e-04f, -3.037149411e-04f, -3.219254360e-04f, -3.401343282e-04f, -3.583415863e-04f, -3.765471789e-04f, -3.947510746e-04f, -4.129532423e-04f, -4.311536504e-04f,
+-4.493522676e-04f, -4.675490627e-04f, -4.857440043e-04f, -5.039370611e-04f, -5.221282017e-04f, -5.403173950e-04f, -5.585046094e-04f, -5.766898139e-04f, -5.948729770e-04f, -6.130540674e-04f,
+-6.312330540e-04f, -6.494099053e-04f, -6.675845902e-04f, -6.857570774e-04f, -7.039273356e-04f, -7.220953335e-04f, -7.402610400e-04f, -7.584244237e-04f, -7.765854534e-04f, -7.947440979e-04f,
+-8.129003260e-04f, -8.310541064e-04f, -8.492054080e-04f, -8.673541995e-04f, -8.855004496e-04f, -9.036441273e-04f, -9.217852014e-04f, -9.399236405e-04f, -9.580594137e-04f, -9.761924896e-04f,
+-9.943228372e-04f, -1.012450425e-03f, -1.030575223e-03f, -1.048697198e-03f, -1.066816321e-03f, -1.084932559e-03f, -1.103045882e-03f, -1.121156259e-03f, -1.139263659e-03f, -1.157368050e-03f,
+-1.175469401e-03f, -1.193567682e-03f, -1.211662860e-03f, -1.229754906e-03f, -1.247843788e-03f, -1.265929475e-03f, -1.284011936e-03f, -1.302091139e-03f, -1.320167055e-03f, -1.338239651e-03f,
+-1.356308897e-03f, -1.374374762e-03f, -1.392437214e-03f, -1.410496223e-03f, -1.428551758e-03f, -1.446603788e-03f, -1.464652282e-03f, -1.482697208e-03f, -1.500738536e-03f, -1.518776235e-03f,
+-1.536810274e-03f, -1.554840622e-03f, -1.572867249e-03f, -1.590890122e-03f, -1.608909211e-03f, -1.626924486e-03f, -1.644935916e-03f, -1.662943469e-03f, -1.680947114e-03f, -1.698946822e-03f,
+-1.716942560e-03f, -1.734934298e-03f, -1.752922006e-03f, -1.770905652e-03f, -1.788885206e-03f, -1.806860636e-03f, -1.824831912e-03f, -1.842799004e-03f, -1.860761879e-03f, -1.878720509e-03f,
+-1.896674861e-03f, -1.914624905e-03f, -1.932570611e-03f, -1.950511947e-03f, -1.968448882e-03f, -1.986381387e-03f, -2.004309430e-03f, -2.022232981e-03f, -2.040152009e-03f, -2.058066483e-03f,
+-2.075976372e-03f, -2.093881647e-03f, -2.111782275e-03f, -2.129678227e-03f, -2.147569472e-03f, -2.165455980e-03f, -2.183337719e-03f, -2.201214659e-03f, -2.219086770e-03f, -2.236954020e-03f,
+-2.254816380e-03f, -2.272673818e-03f, -2.290526305e-03f, -2.308373809e-03f, -2.326216301e-03f, -2.344053748e-03f, -2.361886122e-03f, -2.379713392e-03f, -2.397535526e-03f, -2.415352495e-03f,
+-2.433164268e-03f, -2.450970814e-03f, -2.468772104e-03f, -2.486568106e-03f, -2.504358791e-03f, -2.522144127e-03f, -2.539924085e-03f, -2.557698634e-03f, -2.575467743e-03f, -2.593231383e-03f,
+-2.610989522e-03f, -2.628742131e-03f, -2.646489179e-03f, -2.664230636e-03f, -2.681966472e-03f, -2.699696656e-03f, -2.717421157e-03f, -2.735139946e-03f, -2.752852993e-03f, -2.770560266e-03f,
+-2.788261737e-03f, -2.805957374e-03f, -2.823647147e-03f, -2.841331027e-03f, -2.859008982e-03f, -2.876680983e-03f, -2.894347000e-03f, -2.912007002e-03f, -2.929660959e-03f, -2.947308842e-03f,
+-2.964950619e-03f, -2.982586261e-03f, -3.000215738e-03f, -3.017839019e-03f, -3.035456075e-03f, -3.053066876e-03f, -3.070671390e-03f, -3.088269590e-03f, -3.105861443e-03f, -3.123446921e-03f,
+-3.141025993e-03f, -3.158598629e-03f, -3.176164800e-03f, -3.193724475e-03f, -3.211277624e-03f, -3.228824218e-03f, -3.246364227e-03f, -3.263897620e-03f, -3.281424367e-03f, -3.298944440e-03f,
+-3.316457807e-03f, -3.333964440e-03f, -3.351464307e-03f, -3.368957380e-03f, -3.386443629e-03f, -3.403923023e-03f, -3.421395533e-03f, -3.438861130e-03f, -3.456319782e-03f, -3.473771462e-03f,
+-3.491216138e-03f, -3.508653781e-03f, -3.526084362e-03f, -3.543507851e-03f, -3.560924217e-03f, -3.578333432e-03f, -3.595735466e-03f, -3.613130289e-03f, -3.630517871e-03f, -3.647898183e-03f,
+-3.665271195e-03f, -3.682636878e-03f, -3.699995202e-03f, -3.717346137e-03f, -3.734689655e-03f, -3.752025724e-03f, -3.769354317e-03f, -3.786675403e-03f, -3.803988953e-03f, -3.821294937e-03f,
+-3.838593327e-03f, -3.855884092e-03f, -3.873167203e-03f, -3.890442631e-03f, -3.907710346e-03f, -3.924970319e-03f, -3.942222520e-03f, -3.959466921e-03f, -3.976703491e-03f, -3.993932203e-03f,
+-4.011153025e-03f, -4.028365929e-03f, -4.045570886e-03f, -4.062767866e-03f, -4.079956841e-03f, -4.097137780e-03f, -4.114310656e-03f, -4.131475437e-03f, -4.148632096e-03f, -4.165780603e-03f,
+-4.182920930e-03f, -4.200053046e-03f, -4.217176922e-03f, -4.234292531e-03f, -4.251399842e-03f, -4.268498826e-03f, -4.285589455e-03f, -4.302671700e-03f, -4.319745530e-03f, -4.336810918e-03f,
+-4.353867835e-03f, -4.370916251e-03f, -4.387956137e-03f, -4.404987464e-03f, -4.422010205e-03f, -4.439024329e-03f, -4.456029807e-03f, -4.473026612e-03f, -4.490014714e-03f, -4.506994083e-03f,
+-4.523964692e-03f, -4.540926512e-03f, -4.557879513e-03f, -4.574823668e-03f, -4.591758946e-03f, -4.608685321e-03f, -4.625602761e-03f, -4.642511240e-03f, -4.659410728e-03f, -4.676301197e-03f,
+-4.693182618e-03f, -4.710054963e-03f, -4.726918202e-03f, -4.743772307e-03f, -4.760617249e-03f, -4.777453001e-03f, -4.794279533e-03f, -4.811096817e-03f, -4.827904825e-03f, -4.844703527e-03f,
+-4.861492896e-03f, -4.878272903e-03f, -4.895043519e-03f, -4.911804716e-03f, -4.928556466e-03f, -4.945298740e-03f, -4.962031510e-03f, -4.978754748e-03f, -4.995468425e-03f, -5.012172512e-03f,
+-5.028866983e-03f, -5.045551807e-03f, -5.062226958e-03f, -5.078892406e-03f, -5.095548124e-03f, -5.112194083e-03f, -5.128830255e-03f, -5.145456613e-03f, -5.162073127e-03f, -5.178679770e-03f,
+-5.195276513e-03f, -5.211863329e-03f, -5.228440189e-03f, -5.245007066e-03f, -5.261563930e-03f, -5.278110755e-03f, -5.294647513e-03f, -5.311174174e-03f, -5.327690712e-03f, -5.344197098e-03f,
+-5.360693305e-03f, -5.377179304e-03f, -5.393655068e-03f, -5.410120568e-03f, -5.426575777e-03f, -5.443020668e-03f, -5.459455211e-03f, -5.475879380e-03f, -5.492293147e-03f, -5.508696484e-03f,
+-5.525089363e-03f, -5.541471756e-03f, -5.557843636e-03f, -5.574204976e-03f, -5.590555746e-03f, -5.606895921e-03f, -5.623225472e-03f, -5.639544371e-03f, -5.655852591e-03f, -5.672150105e-03f,
+-5.688436885e-03f, -5.704712903e-03f, -5.720978132e-03f, -5.737232544e-03f, -5.753476113e-03f, -5.769708810e-03f, -5.785930608e-03f, -5.802141480e-03f, -5.818341398e-03f, -5.834530335e-03f,
+-5.850708264e-03f, -5.866875158e-03f, -5.883030988e-03f, -5.899175728e-03f, -5.915309351e-03f, -5.931431829e-03f, -5.947543135e-03f, -5.963643242e-03f, -5.979732123e-03f, -5.995809751e-03f,
+-6.011876098e-03f, -6.027931137e-03f, -6.043974842e-03f, -6.060007185e-03f, -6.076028139e-03f, -6.092037677e-03f, -6.108035772e-03f, -6.124022398e-03f, -6.139997527e-03f, -6.155961132e-03f,
+-6.171913187e-03f, -6.187853664e-03f, -6.203782537e-03f, -6.219699778e-03f, -6.235605361e-03f, -6.251499260e-03f, -6.267381447e-03f, -6.283251896e-03f, -6.299110579e-03f, -6.314957471e-03f,
+-6.330792544e-03f, -6.346615772e-03f, -6.362427128e-03f, -6.378226585e-03f, -6.394014117e-03f, -6.409789698e-03f, -6.425553301e-03f, -6.441304898e-03f, -6.457044464e-03f, -6.472771973e-03f,
+-6.488487397e-03f, -6.504190710e-03f, -6.519881887e-03f, -6.535560899e-03f, -6.551227722e-03f, -6.566882328e-03f, -6.582524692e-03f, -6.598154787e-03f, -6.613772586e-03f, -6.629378064e-03f,
+-6.644971194e-03f, -6.660551950e-03f, -6.676120306e-03f, -6.691676235e-03f, -6.707219712e-03f, -6.722750710e-03f, -6.738269203e-03f, -6.753775166e-03f, -6.769268571e-03f, -6.784749393e-03f,
+-6.800217607e-03f, -6.815673185e-03f, -6.831116102e-03f, -6.846546333e-03f, -6.861963850e-03f, -6.877368629e-03f, -6.892760643e-03f, -6.908139866e-03f, -6.923506274e-03f, -6.938859839e-03f,
+-6.954200536e-03f, -6.969528339e-03f, -6.984843223e-03f, -7.000145162e-03f, -7.015434130e-03f, -7.030710101e-03f, -7.045973051e-03f, -7.061222952e-03f, -7.076459780e-03f, -7.091683510e-03f,
+-7.106894115e-03f, -7.122091569e-03f, -7.137275849e-03f, -7.152446927e-03f, -7.167604779e-03f, -7.182749379e-03f, -7.197880702e-03f, -7.212998722e-03f, -7.228103415e-03f, -7.243194754e-03f,
+-7.258272714e-03f, -7.273337271e-03f, -7.288388398e-03f, -7.303426071e-03f, -7.318450265e-03f, -7.333460953e-03f, -7.348458112e-03f, -7.363441716e-03f, -7.378411740e-03f, -7.393368159e-03f,
+-7.408310947e-03f, -7.423240080e-03f, -7.438155533e-03f, -7.453057280e-03f, -7.467945297e-03f, -7.482819559e-03f, -7.497680041e-03f, -7.512526718e-03f, -7.527359566e-03f, -7.542178558e-03f,
+-7.556983671e-03f, -7.571774880e-03f, -7.586552160e-03f, -7.601315487e-03f, -7.616064835e-03f, -7.630800180e-03f, -7.645521497e-03f, -7.660228762e-03f, -7.674921949e-03f, -7.689601036e-03f,
+-7.704265996e-03f, -7.718916806e-03f, -7.733553441e-03f, -7.748175876e-03f, -7.762784087e-03f, -7.777378049e-03f, -7.791957739e-03f, -7.806523132e-03f, -7.821074203e-03f, -7.835610929e-03f,
+-7.850133284e-03f, -7.864641245e-03f, -7.879134787e-03f, -7.893613886e-03f, -7.908078519e-03f, -7.922528660e-03f, -7.936964286e-03f, -7.951385373e-03f, -7.965791896e-03f, -7.980183831e-03f,
+-7.994561155e-03f, -8.008923844e-03f, -8.023271873e-03f, -8.037605218e-03f, -8.051923856e-03f, -8.066227763e-03f, -8.080516915e-03f, -8.094791288e-03f, -8.109050858e-03f, -8.123295601e-03f,
+-8.137525494e-03f, -8.151740513e-03f, -8.165940635e-03f, -8.180125834e-03f, -8.194296089e-03f, -8.208451375e-03f, -8.222591669e-03f, -8.236716947e-03f, -8.250827185e-03f, -8.264922361e-03f,
+-8.279002450e-03f, -8.293067430e-03f, -8.307117276e-03f, -8.321151965e-03f, -8.335171475e-03f, -8.349175780e-03f, -8.363164860e-03f, -8.377138689e-03f, -8.391097245e-03f, -8.405040504e-03f,
+-8.418968444e-03f, -8.432881041e-03f, -8.446778271e-03f, -8.460660113e-03f, -8.474526542e-03f, -8.488377536e-03f, -8.502213071e-03f, -8.516033125e-03f, -8.529837675e-03f, -8.543626697e-03f,
+-8.557400169e-03f, -8.571158068e-03f, -8.584900371e-03f, -8.598627054e-03f, -8.612338097e-03f, -8.626033474e-03f, -8.639713164e-03f, -8.653377145e-03f, -8.667025392e-03f, -8.680657885e-03f,
+-8.694274599e-03f, -8.707875512e-03f, -8.721460603e-03f, -8.735029847e-03f, -8.748583223e-03f, -8.762120709e-03f, -8.775642281e-03f, -8.789147917e-03f, -8.802637595e-03f, -8.816111293e-03f,
+-8.829568988e-03f, -8.843010657e-03f, -8.856436279e-03f, -8.869845831e-03f, -8.883239291e-03f, -8.896616637e-03f, -8.909977846e-03f, -8.923322896e-03f, -8.936651766e-03f, -8.949964433e-03f,
+-8.963260876e-03f, -8.976541071e-03f, -8.989804997e-03f, -9.003052632e-03f, -9.016283955e-03f, -9.029498942e-03f, -9.042697573e-03f, -9.055879825e-03f, -9.069045677e-03f, -9.082195107e-03f,
+-9.095328093e-03f, -9.108444612e-03f, -9.121544645e-03f, -9.134628168e-03f, -9.147695161e-03f, -9.160745601e-03f, -9.173779467e-03f, -9.186796738e-03f, -9.199797392e-03f, -9.212781406e-03f,
+-9.225748761e-03f, -9.238699435e-03f, -9.251633405e-03f, -9.264550651e-03f, -9.277451151e-03f, -9.290334885e-03f, -9.303201829e-03f, -9.316051965e-03f, -9.328885269e-03f, -9.341701722e-03f,
+-9.354501301e-03f, -9.367283986e-03f, -9.380049756e-03f, -9.392798589e-03f, -9.405530464e-03f, -9.418245361e-03f, -9.430943258e-03f, -9.443624135e-03f, -9.456287970e-03f, -9.468934743e-03f,
+-9.481564432e-03f, -9.494177018e-03f, -9.506772478e-03f, -9.519350793e-03f, -9.531911941e-03f, -9.544455903e-03f, -9.556982656e-03f, -9.569492181e-03f, -9.581984456e-03f, -9.594459462e-03f,
+-9.606917178e-03f, -9.619357583e-03f, -9.631780657e-03f, -9.644186379e-03f, -9.656574728e-03f, -9.668945685e-03f, -9.681299229e-03f, -9.693635340e-03f, -9.705953997e-03f, -9.718255180e-03f,
+-9.730538869e-03f, -9.742805044e-03f, -9.755053684e-03f, -9.767284769e-03f, -9.779498279e-03f, -9.791694195e-03f, -9.803872495e-03f, -9.816033161e-03f, -9.828176171e-03f, -9.840301506e-03f,
+-9.852409147e-03f, -9.864499072e-03f, -9.876571263e-03f, -9.888625700e-03f, -9.900662361e-03f, -9.912681229e-03f, -9.924682283e-03f, -9.936665503e-03f, -9.948630871e-03f, -9.960578365e-03f,
+-9.972507966e-03f, -9.984419656e-03f, -9.996313414e-03f, -1.000818922e-02f, -1.002004706e-02f, -1.003188690e-02f, -1.004370874e-02f, -1.005551255e-02f, -1.006729830e-02f, -1.007906600e-02f,
+-1.009081560e-02f, -1.010254710e-02f, -1.011426047e-02f, -1.012595570e-02f, -1.013763276e-02f, -1.014929164e-02f, -1.016093232e-02f, -1.017255478e-02f, -1.018415900e-02f, -1.019574496e-02f,
+-1.020731264e-02f, -1.021886202e-02f, -1.023039309e-02f, -1.024190583e-02f, -1.025340021e-02f, -1.026487621e-02f, -1.027633383e-02f, -1.028777303e-02f, -1.029919381e-02f, -1.031059614e-02f,
+-1.032198001e-02f, -1.033334538e-02f, -1.034469226e-02f, -1.035602062e-02f, -1.036733043e-02f, -1.037862168e-02f, -1.038989436e-02f, -1.040114845e-02f, -1.041238391e-02f, -1.042360075e-02f,
+-1.043479894e-02f, -1.044597845e-02f, -1.045713928e-02f, -1.046828141e-02f, -1.047940481e-02f, -1.049050947e-02f, -1.050159537e-02f, -1.051266249e-02f, -1.052371082e-02f, -1.053474033e-02f,
+-1.054575101e-02f, -1.055674284e-02f, -1.056771580e-02f, -1.057866988e-02f, -1.058960505e-02f, -1.060052130e-02f, -1.061141862e-02f, -1.062229697e-02f, -1.063315635e-02f, -1.064399674e-02f,
+-1.065481812e-02f, -1.066562048e-02f, -1.067640378e-02f, -1.068716803e-02f, -1.069791319e-02f, -1.070863926e-02f, -1.071934621e-02f, -1.073003403e-02f, -1.074070271e-02f, -1.075135221e-02f,
+-1.076198253e-02f, -1.077259365e-02f, -1.078318554e-02f, -1.079375821e-02f, -1.080431162e-02f, -1.081484576e-02f, -1.082536061e-02f, -1.083585615e-02f, -1.084633238e-02f, -1.085678927e-02f,
+-1.086722680e-02f, -1.087764496e-02f, -1.088804373e-02f, -1.089842309e-02f, -1.090878303e-02f, -1.091912353e-02f, -1.092944458e-02f, -1.093974615e-02f, -1.095002823e-02f, -1.096029080e-02f,
+-1.097053386e-02f, -1.098075737e-02f, -1.099096132e-02f, -1.100114571e-02f, -1.101131050e-02f, -1.102145569e-02f, -1.103158125e-02f, -1.104168718e-02f, -1.105177345e-02f, -1.106184005e-02f,
+-1.107188697e-02f, -1.108191418e-02f, -1.109192167e-02f, -1.110190942e-02f, -1.111187743e-02f, -1.112182566e-02f, -1.113175411e-02f, -1.114166276e-02f, -1.115155159e-02f, -1.116142059e-02f,
+-1.117126975e-02f, -1.118109903e-02f, -1.119090844e-02f, -1.120069796e-02f, -1.121046756e-02f, -1.122021723e-02f, -1.122994697e-02f, -1.123965674e-02f, -1.124934654e-02f, -1.125901635e-02f,
+-1.126866615e-02f, -1.127829593e-02f, -1.128790568e-02f, -1.129749537e-02f, -1.130706500e-02f, -1.131661455e-02f, -1.132614399e-02f, -1.133565333e-02f, -1.134514253e-02f, -1.135461159e-02f,
+-1.136406050e-02f, -1.137348922e-02f, -1.138289776e-02f, -1.139228610e-02f, -1.140165421e-02f, -1.141100209e-02f, -1.142032972e-02f, -1.142963709e-02f, -1.143892418e-02f, -1.144819097e-02f,
+-1.145743745e-02f, -1.146666361e-02f, -1.147586943e-02f, -1.148505490e-02f, -1.149422000e-02f, -1.150336471e-02f, -1.151248903e-02f, -1.152159294e-02f, -1.153067642e-02f, -1.153973946e-02f,
+-1.154878204e-02f, -1.155780415e-02f, -1.156680578e-02f, -1.157578691e-02f, -1.158474753e-02f, -1.159368762e-02f, -1.160260716e-02f, -1.161150615e-02f, -1.162038458e-02f, -1.162924241e-02f,
+-1.163807965e-02f, -1.164689627e-02f, -1.165569227e-02f, -1.166446763e-02f, -1.167322233e-02f, -1.168195637e-02f, -1.169066972e-02f, -1.169936237e-02f, -1.170803432e-02f, -1.171668554e-02f,
+-1.172531602e-02f, -1.173392575e-02f, -1.174251472e-02f, -1.175108291e-02f, -1.175963030e-02f, -1.176815689e-02f, -1.177666266e-02f, -1.178514760e-02f, -1.179361169e-02f, -1.180205491e-02f,
+-1.181047727e-02f, -1.181887874e-02f, -1.182725931e-02f, -1.183561896e-02f, -1.184395769e-02f, -1.185227548e-02f, -1.186057232e-02f, -1.186884819e-02f, -1.187710308e-02f, -1.188533698e-02f,
+-1.189354987e-02f, -1.190174174e-02f, -1.190991259e-02f, -1.191806239e-02f, -1.192619113e-02f, -1.193429880e-02f, -1.194238539e-02f, -1.195045088e-02f, -1.195849527e-02f, -1.196651853e-02f,
+-1.197452067e-02f, -1.198250165e-02f, -1.199046148e-02f, -1.199840013e-02f, -1.200631760e-02f, -1.201421388e-02f, -1.202208894e-02f, -1.202994279e-02f, -1.203777540e-02f, -1.204558676e-02f,
+-1.205337687e-02f, -1.206114571e-02f, -1.206889326e-02f, -1.207661952e-02f, -1.208432448e-02f, -1.209200811e-02f, -1.209967041e-02f, -1.210731137e-02f, -1.211493098e-02f, -1.212252922e-02f,
+-1.213010607e-02f, -1.213766154e-02f, -1.214519561e-02f, -1.215270826e-02f, -1.216019949e-02f, -1.216766927e-02f, -1.217511761e-02f, -1.218254449e-02f, -1.218994989e-02f, -1.219733381e-02f,
+-1.220469624e-02f, -1.221203715e-02f, -1.221935655e-02f, -1.222665442e-02f, -1.223393074e-02f, -1.224118552e-02f, -1.224841873e-02f, -1.225563036e-02f, -1.226282041e-02f, -1.226998885e-02f,
+-1.227713569e-02f, -1.228426091e-02f, -1.229136450e-02f, -1.229844645e-02f, -1.230550674e-02f, -1.231254537e-02f, -1.231956232e-02f, -1.232655759e-02f, -1.233353116e-02f, -1.234048302e-02f,
+-1.234741316e-02f, -1.235432158e-02f, -1.236120825e-02f, -1.236807317e-02f, -1.237491634e-02f, -1.238173773e-02f, -1.238853734e-02f, -1.239531515e-02f, -1.240207116e-02f, -1.240880536e-02f,
+-1.241551774e-02f, -1.242220827e-02f, -1.242887697e-02f, -1.243552381e-02f, -1.244214878e-02f, -1.244875188e-02f, -1.245533310e-02f, -1.246189241e-02f, -1.246842983e-02f, -1.247494532e-02f,
+-1.248143889e-02f, -1.248791052e-02f, -1.249436021e-02f, -1.250078794e-02f, -1.250719371e-02f, -1.251357750e-02f, -1.251993931e-02f, -1.252627912e-02f, -1.253259693e-02f, -1.253889272e-02f,
+-1.254516649e-02f, -1.255141822e-02f, -1.255764791e-02f, -1.256385555e-02f, -1.257004113e-02f, -1.257620464e-02f, -1.258234606e-02f, -1.258846540e-02f, -1.259456263e-02f, -1.260063776e-02f,
+-1.260669077e-02f, -1.261272165e-02f, -1.261873039e-02f, -1.262471699e-02f, -1.263068144e-02f, -1.263662372e-02f, -1.264254383e-02f, -1.264844176e-02f, -1.265431749e-02f, -1.266017103e-02f,
+-1.266600236e-02f, -1.267181147e-02f, -1.267759836e-02f, -1.268336301e-02f, -1.268910542e-02f, -1.269482558e-02f, -1.270052347e-02f, -1.270619910e-02f, -1.271185245e-02f, -1.271748351e-02f,
+-1.272309228e-02f, -1.272867875e-02f, -1.273424290e-02f, -1.273978474e-02f, -1.274530425e-02f, -1.275080142e-02f, -1.275627624e-02f, -1.276172872e-02f, -1.276715883e-02f, -1.277256657e-02f,
+-1.277795194e-02f, -1.278331492e-02f, -1.278865551e-02f, -1.279397370e-02f, -1.279926948e-02f, -1.280454284e-02f, -1.280979378e-02f, -1.281502228e-02f, -1.282022835e-02f, -1.282541196e-02f,
+-1.283057313e-02f, -1.283571182e-02f, -1.284082805e-02f, -1.284592180e-02f, -1.285099307e-02f, -1.285604184e-02f, -1.286106811e-02f, -1.286607187e-02f, -1.287105311e-02f, -1.287601184e-02f,
+-1.288094803e-02f, -1.288586168e-02f, -1.289075279e-02f, -1.289562135e-02f, -1.290046735e-02f, -1.290529079e-02f, -1.291009165e-02f, -1.291486993e-02f, -1.291962562e-02f, -1.292435872e-02f,
+-1.292906922e-02f, -1.293375712e-02f, -1.293842239e-02f, -1.294306505e-02f, -1.294768508e-02f, -1.295228247e-02f, -1.295685722e-02f, -1.296140933e-02f, -1.296593878e-02f, -1.297044556e-02f,
+-1.297492969e-02f, -1.297939113e-02f, -1.298382990e-02f, -1.298824598e-02f, -1.299263936e-02f, -1.299701005e-02f, -1.300135803e-02f, -1.300568330e-02f, -1.300998585e-02f, -1.301426568e-02f,
+-1.301852278e-02f, -1.302275714e-02f, -1.302696875e-02f, -1.303115762e-02f, -1.303532374e-02f, -1.303946709e-02f, -1.304358768e-02f, -1.304768550e-02f, -1.305176054e-02f, -1.305581279e-02f,
+-1.305984226e-02f, -1.306384893e-02f, -1.306783280e-02f, -1.307179387e-02f, -1.307573212e-02f, -1.307964756e-02f, -1.308354017e-02f, -1.308740996e-02f, -1.309125691e-02f, -1.309508102e-02f,
+-1.309888229e-02f, -1.310266071e-02f, -1.310641628e-02f, -1.311014898e-02f, -1.311385882e-02f, -1.311754579e-02f, -1.312120989e-02f, -1.312485111e-02f, -1.312846944e-02f, -1.313206488e-02f,
+-1.313563742e-02f, -1.313918707e-02f, -1.314271381e-02f, -1.314621764e-02f, -1.314969856e-02f, -1.315315656e-02f, -1.315659164e-02f, -1.316000378e-02f, -1.316339300e-02f, -1.316675927e-02f,
+-1.317010261e-02f, -1.317342300e-02f, -1.317672044e-02f, -1.317999492e-02f, -1.318324644e-02f, -1.318647500e-02f, -1.318968060e-02f, -1.319286321e-02f, -1.319602286e-02f, -1.319915952e-02f,
+-1.320227320e-02f, -1.320536389e-02f, -1.320843158e-02f, -1.321147628e-02f, -1.321449798e-02f, -1.321749667e-02f, -1.322047236e-02f, -1.322342503e-02f, -1.322635469e-02f, -1.322926132e-02f,
+-1.323214494e-02f, -1.323500552e-02f, -1.323784308e-02f, -1.324065760e-02f, -1.324344908e-02f, -1.324621752e-02f, -1.324896291e-02f, -1.325168526e-02f, -1.325438455e-02f, -1.325706079e-02f,
+-1.325971397e-02f, -1.326234409e-02f, -1.326495114e-02f, -1.326753513e-02f, -1.327009604e-02f, -1.327263388e-02f, -1.327514864e-02f, -1.327764032e-02f, -1.328010892e-02f, -1.328255443e-02f,
+-1.328497685e-02f, -1.328737618e-02f, -1.328975241e-02f, -1.329210555e-02f, -1.329443558e-02f, -1.329674251e-02f, -1.329902634e-02f, -1.330128705e-02f, -1.330352466e-02f, -1.330573915e-02f,
+-1.330793052e-02f, -1.331009878e-02f, -1.331224391e-02f, -1.331436592e-02f, -1.331646480e-02f, -1.331854056e-02f, -1.332059318e-02f, -1.332262267e-02f, -1.332462903e-02f, -1.332661225e-02f,
+-1.332857233e-02f, -1.333050927e-02f, -1.333242306e-02f, -1.333431371e-02f, -1.333618121e-02f, -1.333802557e-02f, -1.333984677e-02f, -1.334164482e-02f, -1.334341971e-02f, -1.334517145e-02f,
+-1.334690003e-02f, -1.334860544e-02f, -1.335028770e-02f, -1.335194679e-02f, -1.335358272e-02f, -1.335519549e-02f, -1.335678508e-02f, -1.335835151e-02f, -1.335989476e-02f, -1.336141484e-02f,
+-1.336291175e-02f, -1.336438549e-02f, -1.336583605e-02f, -1.336726343e-02f, -1.336866764e-02f, -1.337004866e-02f, -1.337140651e-02f, -1.337274117e-02f, -1.337405265e-02f, -1.337534095e-02f,
+-1.337660607e-02f, -1.337784800e-02f, -1.337906674e-02f, -1.338026230e-02f, -1.338143467e-02f, -1.338258385e-02f, -1.338370984e-02f, -1.338481265e-02f, -1.338589226e-02f, -1.338694868e-02f,
+-1.338798192e-02f, -1.338899196e-02f, -1.338997881e-02f, -1.339094246e-02f, -1.339188293e-02f, -1.339280020e-02f, -1.339369427e-02f, -1.339456516e-02f, -1.339541285e-02f, -1.339623735e-02f,
+-1.339703865e-02f, -1.339781676e-02f, -1.339857167e-02f, -1.339930339e-02f, -1.340001192e-02f, -1.340069725e-02f, -1.340135939e-02f, -1.340199834e-02f, -1.340261409e-02f, -1.340320665e-02f,
+-1.340377602e-02f, -1.340432219e-02f, -1.340484518e-02f, -1.340534497e-02f, -1.340582157e-02f, -1.340627497e-02f, -1.340670519e-02f, -1.340711222e-02f, -1.340749606e-02f, -1.340785671e-02f,
+-1.340819418e-02f, -1.340850846e-02f, -1.340879955e-02f, -1.340906745e-02f, -1.340931217e-02f, -1.340953371e-02f, -1.340973207e-02f, -1.340990724e-02f, -1.341005923e-02f, -1.341018804e-02f,
+-1.341029368e-02f, -1.341037614e-02f, -1.341043542e-02f, -1.341047152e-02f, -1.341048445e-02f, -1.341047421e-02f, -1.341044080e-02f, -1.341038422e-02f, -1.341030447e-02f, -1.341020156e-02f,
+-1.341007547e-02f, -1.340992623e-02f, -1.340975382e-02f, -1.340955825e-02f, -1.340933952e-02f, -1.340909764e-02f, -1.340883260e-02f, -1.340854440e-02f, -1.340823306e-02f, -1.340789856e-02f,
+-1.340754091e-02f, -1.340716012e-02f, -1.340675619e-02f, -1.340632911e-02f, -1.340587889e-02f, -1.340540553e-02f, -1.340490904e-02f, -1.340438941e-02f, -1.340384666e-02f, -1.340328077e-02f,
+-1.340269175e-02f, -1.340207961e-02f, -1.340144435e-02f, -1.340078597e-02f, -1.340010447e-02f, -1.339939985e-02f, -1.339867212e-02f, -1.339792128e-02f, -1.339714734e-02f, -1.339635029e-02f,
+-1.339553014e-02f, -1.339468688e-02f, -1.339382054e-02f, -1.339293109e-02f, -1.339201856e-02f, -1.339108294e-02f, -1.339012423e-02f, -1.338914244e-02f, -1.338813758e-02f, -1.338710963e-02f,
+-1.338605861e-02f, -1.338498453e-02f, -1.338388737e-02f, -1.338276716e-02f, -1.338162388e-02f, -1.338045754e-02f, -1.337926815e-02f, -1.337805572e-02f, -1.337682023e-02f, -1.337556170e-02f,
+-1.337428013e-02f, -1.337297553e-02f, -1.337164789e-02f, -1.337029722e-02f, -1.336892352e-02f, -1.336752681e-02f, -1.336610707e-02f, -1.336466432e-02f, -1.336319856e-02f, -1.336170980e-02f,
+-1.336019803e-02f, -1.335866326e-02f, -1.335710550e-02f, -1.335552474e-02f, -1.335392100e-02f, -1.335229427e-02f, -1.335064457e-02f, -1.334897189e-02f, -1.334727624e-02f, -1.334555762e-02f,
+-1.334381604e-02f, -1.334205151e-02f, -1.334026402e-02f, -1.333845358e-02f, -1.333662019e-02f, -1.333476387e-02f, -1.333288461e-02f, -1.333098242e-02f, -1.332905730e-02f, -1.332710926e-02f,
+-1.332513831e-02f, -1.332314444e-02f, -1.332112766e-02f, -1.331908798e-02f, -1.331702540e-02f, -1.331493993e-02f, -1.331283157e-02f, -1.331070033e-02f, -1.330854620e-02f, -1.330636921e-02f,
+-1.330416935e-02f, -1.330194662e-02f, -1.329970103e-02f, -1.329743259e-02f, -1.329514131e-02f, -1.329282718e-02f, -1.329049021e-02f, -1.328813041e-02f, -1.328574779e-02f, -1.328334234e-02f,
+-1.328091408e-02f, -1.327846301e-02f, -1.327598913e-02f, -1.327349245e-02f, -1.327097298e-02f, -1.326843072e-02f, -1.326586568e-02f, -1.326327787e-02f, -1.326066728e-02f, -1.325803393e-02f,
+-1.325537782e-02f, -1.325269895e-02f, -1.324999734e-02f, -1.324727299e-02f, -1.324452590e-02f, -1.324175608e-02f, -1.323896354e-02f, -1.323614828e-02f, -1.323331031e-02f, -1.323044963e-02f,
+-1.322756626e-02f, -1.322466019e-02f, -1.322173144e-02f, -1.321878001e-02f, -1.321580591e-02f, -1.321280913e-02f, -1.320978970e-02f, -1.320674762e-02f, -1.320368288e-02f, -1.320059551e-02f,
+-1.319748550e-02f, -1.319435287e-02f, -1.319119761e-02f, -1.318801974e-02f, -1.318481926e-02f, -1.318159618e-02f, -1.317835051e-02f, -1.317508225e-02f, -1.317179141e-02f, -1.316847800e-02f,
+-1.316514202e-02f, -1.316178348e-02f, -1.315840239e-02f, -1.315499876e-02f, -1.315157259e-02f, -1.314812389e-02f, -1.314465266e-02f, -1.314115892e-02f, -1.313764267e-02f, -1.313410392e-02f,
+-1.313054268e-02f, -1.312695895e-02f, -1.312335274e-02f, -1.311972406e-02f, -1.311607292e-02f, -1.311239931e-02f, -1.310870327e-02f, -1.310498478e-02f, -1.310124385e-02f, -1.309748050e-02f,
+-1.309369474e-02f, -1.308988656e-02f, -1.308605598e-02f, -1.308220301e-02f, -1.307832765e-02f, -1.307442991e-02f, -1.307050980e-02f, -1.306656733e-02f, -1.306260250e-02f, -1.305861533e-02f,
+-1.305460582e-02f, -1.305057398e-02f, -1.304651982e-02f, -1.304244335e-02f, -1.303834457e-02f, -1.303422349e-02f, -1.303008013e-02f, -1.302591448e-02f, -1.302172657e-02f, -1.301751639e-02f,
+-1.301328396e-02f, -1.300902928e-02f, -1.300475236e-02f, -1.300045322e-02f, -1.299613185e-02f, -1.299178828e-02f, -1.298742250e-02f, -1.298303453e-02f, -1.297862437e-02f, -1.297419204e-02f,
+-1.296973754e-02f, -1.296526088e-02f, -1.296076207e-02f, -1.295624113e-02f, -1.295169805e-02f, -1.294713285e-02f, -1.294254554e-02f, -1.293793612e-02f, -1.293330461e-02f, -1.292865102e-02f,
+-1.292397535e-02f, -1.291927761e-02f, -1.291455781e-02f, -1.290981597e-02f, -1.290505209e-02f, -1.290026618e-02f, -1.289545825e-02f, -1.289062831e-02f, -1.288577638e-02f, -1.288090245e-02f,
+-1.287600654e-02f, -1.287108865e-02f, -1.286614881e-02f, -1.286118702e-02f, -1.285620328e-02f, -1.285119761e-02f, -1.284617002e-02f, -1.284112052e-02f, -1.283604912e-02f, -1.283095582e-02f,
+-1.282584064e-02f, -1.282070359e-02f, -1.281554468e-02f, -1.281036391e-02f, -1.280516130e-02f, -1.279993687e-02f, -1.279469061e-02f, -1.278942254e-02f, -1.278413267e-02f, -1.277882101e-02f,
+-1.277348756e-02f, -1.276813235e-02f, -1.276275539e-02f, -1.275735667e-02f, -1.275193621e-02f, -1.274649403e-02f, -1.274103013e-02f, -1.273554453e-02f, -1.273003723e-02f, -1.272450824e-02f,
+-1.271895759e-02f, -1.271338526e-02f, -1.270779129e-02f, -1.270217568e-02f, -1.269653843e-02f, -1.269087957e-02f, -1.268519910e-02f, -1.267949703e-02f, -1.267377337e-02f, -1.266802814e-02f,
+-1.266226135e-02f, -1.265647300e-02f, -1.265066312e-02f, -1.264483170e-02f, -1.263897876e-02f, -1.263310432e-02f, -1.262720837e-02f, -1.262129095e-02f, -1.261535205e-02f, -1.260939169e-02f,
+-1.260340988e-02f, -1.259740663e-02f, -1.259138195e-02f, -1.258533585e-02f, -1.257926836e-02f, -1.257317947e-02f, -1.256706920e-02f, -1.256093756e-02f, -1.255478456e-02f, -1.254861022e-02f,
+-1.254241454e-02f, -1.253619755e-02f, -1.252995924e-02f, -1.252369964e-02f, -1.251741875e-02f, -1.251111658e-02f, -1.250479316e-02f, -1.249844849e-02f, -1.249208258e-02f, -1.248569544e-02f,
+-1.247928709e-02f, -1.247285755e-02f, -1.246640681e-02f, -1.245993490e-02f, -1.245344182e-02f, -1.244692760e-02f, -1.244039223e-02f, -1.243383574e-02f, -1.242725814e-02f, -1.242065943e-02f,
+-1.241403964e-02f, -1.240739877e-02f, -1.240073684e-02f, -1.239405385e-02f, -1.238734983e-02f, -1.238062479e-02f, -1.237387873e-02f, -1.236711168e-02f, -1.236032363e-02f, -1.235351462e-02f,
+-1.234668464e-02f, -1.233983372e-02f, -1.233296186e-02f, -1.232606908e-02f, -1.231915539e-02f, -1.231222081e-02f, -1.230526534e-02f, -1.229828901e-02f, -1.229129182e-02f, -1.228427378e-02f,
+-1.227723492e-02f, -1.227017525e-02f, -1.226309477e-02f, -1.225599350e-02f, -1.224887145e-02f, -1.224172865e-02f, -1.223456509e-02f, -1.222738080e-02f, -1.222017579e-02f, -1.221295007e-02f,
+-1.220570366e-02f, -1.219843657e-02f, -1.219114881e-02f, -1.218384039e-02f, -1.217651134e-02f, -1.216916166e-02f, -1.216179138e-02f, -1.215440049e-02f, -1.214698902e-02f, -1.213955698e-02f,
+-1.213210438e-02f, -1.212463125e-02f, -1.211713758e-02f, -1.210962340e-02f, -1.210208872e-02f, -1.209453356e-02f, -1.208695793e-02f, -1.207936184e-02f, -1.207174530e-02f, -1.206410834e-02f,
+-1.205645097e-02f, -1.204877319e-02f, -1.204107503e-02f, -1.203335650e-02f, -1.202561762e-02f, -1.201785839e-02f, -1.201007884e-02f, -1.200227897e-02f, -1.199445880e-02f, -1.198661836e-02f,
+-1.197875764e-02f, -1.197087667e-02f, -1.196297546e-02f, -1.195505403e-02f, -1.194711238e-02f, -1.193915055e-02f, -1.193116853e-02f, -1.192316635e-02f, -1.191514402e-02f, -1.190710155e-02f,
+-1.189903897e-02f, -1.189095628e-02f, -1.188285350e-02f, -1.187473064e-02f, -1.186658773e-02f, -1.185842477e-02f, -1.185024178e-02f, -1.184203878e-02f, -1.183381579e-02f, -1.182557281e-02f,
+-1.181730986e-02f, -1.180902696e-02f, -1.180072412e-02f, -1.179240136e-02f, -1.178405870e-02f, -1.177569614e-02f, -1.176731371e-02f, -1.175891142e-02f, -1.175048929e-02f, -1.174204733e-02f,
+-1.173358556e-02f, -1.172510400e-02f, -1.171660265e-02f, -1.170808153e-02f, -1.169954067e-02f, -1.169098008e-02f, -1.168239977e-02f, -1.167379975e-02f, -1.166518005e-02f, -1.165654069e-02f,
+-1.164788167e-02f, -1.163920301e-02f, -1.163050473e-02f, -1.162178685e-02f, -1.161304937e-02f, -1.160429233e-02f, -1.159551573e-02f, -1.158671959e-02f, -1.157790392e-02f, -1.156906875e-02f,
+-1.156021409e-02f, -1.155133995e-02f, -1.154244635e-02f, -1.153353331e-02f, -1.152460085e-02f, -1.151564898e-02f, -1.150667771e-02f, -1.149768707e-02f, -1.148867707e-02f, -1.147964773e-02f,
+-1.147059907e-02f, -1.146153109e-02f, -1.145244382e-02f, -1.144333728e-02f, -1.143421148e-02f, -1.142506644e-02f, -1.141590217e-02f, -1.140671869e-02f, -1.139751602e-02f, -1.138829418e-02f,
+-1.137905319e-02f, -1.136979305e-02f, -1.136051379e-02f, -1.135121542e-02f, -1.134189797e-02f, -1.133256144e-02f, -1.132320586e-02f, -1.131383124e-02f, -1.130443760e-02f, -1.129502496e-02f,
+-1.128559334e-02f, -1.127614275e-02f, -1.126667320e-02f, -1.125718473e-02f, -1.124767734e-02f, -1.123815105e-02f, -1.122860588e-02f, -1.121904185e-02f, -1.120945897e-02f, -1.119985726e-02f,
+-1.119023675e-02f, -1.118059744e-02f, -1.117093936e-02f, -1.116126252e-02f, -1.115156694e-02f, -1.114185264e-02f, -1.113211964e-02f, -1.112236795e-02f, -1.111259759e-02f, -1.110280859e-02f,
+-1.109300095e-02f, -1.108317469e-02f, -1.107332985e-02f, -1.106346642e-02f, -1.105358444e-02f, -1.104368391e-02f, -1.103376486e-02f, -1.102382730e-02f, -1.101387126e-02f, -1.100389675e-02f,
+-1.099390379e-02f, -1.098389239e-02f, -1.097386259e-02f, -1.096381438e-02f, -1.095374780e-02f, -1.094366286e-02f, -1.093355958e-02f, -1.092343798e-02f, -1.091329808e-02f, -1.090313989e-02f,
+-1.089296344e-02f, -1.088276873e-02f, -1.087255580e-02f, -1.086232466e-02f, -1.085207533e-02f, -1.084180782e-02f, -1.083152216e-02f, -1.082121837e-02f, -1.081089645e-02f, -1.080055644e-02f,
+-1.079019836e-02f, -1.077982221e-02f, -1.076942802e-02f, -1.075901581e-02f, -1.074858560e-02f, -1.073813740e-02f, -1.072767124e-02f, -1.071718713e-02f, -1.070668510e-02f, -1.069616516e-02f,
+-1.068562733e-02f, -1.067507163e-02f, -1.066449808e-02f, -1.065390671e-02f, -1.064329752e-02f, -1.063267053e-02f, -1.062202578e-02f, -1.061136327e-02f, -1.060068303e-02f, -1.058998508e-02f,
+-1.057926943e-02f, -1.056853610e-02f, -1.055778512e-02f, -1.054701651e-02f, -1.053623027e-02f, -1.052542644e-02f, -1.051460504e-02f, -1.050376607e-02f, -1.049290957e-02f, -1.048203555e-02f,
+-1.047114403e-02f, -1.046023503e-02f, -1.044930857e-02f, -1.043836468e-02f, -1.042740336e-02f, -1.041642465e-02f, -1.040542856e-02f, -1.039441511e-02f, -1.038338432e-02f, -1.037233621e-02f,
+-1.036127080e-02f, -1.035018811e-02f, -1.033908816e-02f, -1.032797098e-02f, -1.031683657e-02f, -1.030568497e-02f, -1.029451619e-02f, -1.028333025e-02f, -1.027212717e-02f, -1.026090698e-02f,
+-1.024966969e-02f, -1.023841533e-02f, -1.022714390e-02f, -1.021585544e-02f, -1.020454997e-02f, -1.019322750e-02f, -1.018188806e-02f, -1.017053166e-02f, -1.015915834e-02f, -1.014776809e-02f,
+-1.013636096e-02f, -1.012493696e-02f, -1.011349610e-02f, -1.010203842e-02f, -1.009056392e-02f, -1.007907264e-02f, -1.006756459e-02f, -1.005603979e-02f, -1.004449827e-02f, -1.003294004e-02f,
+-1.002136513e-02f, -1.000977356e-02f, -9.998165340e-03f, -9.986540502e-03f, -9.974899064e-03f, -9.963241047e-03f, -9.951566471e-03f, -9.939875359e-03f, -9.928167731e-03f, -9.916443609e-03f,
+-9.904703013e-03f, -9.892945964e-03f, -9.881172485e-03f, -9.869382596e-03f, -9.857576318e-03f, -9.845753673e-03f, -9.833914683e-03f, -9.822059368e-03f, -9.810187750e-03f, -9.798299850e-03f,
+-9.786395690e-03f, -9.774475291e-03f, -9.762538676e-03f, -9.750585864e-03f, -9.738616879e-03f, -9.726631740e-03f, -9.714630471e-03f, -9.702613093e-03f, -9.690579627e-03f, -9.678530096e-03f,
+-9.666464520e-03f, -9.654382921e-03f, -9.642285322e-03f, -9.630171744e-03f, -9.618042209e-03f, -9.605896739e-03f, -9.593735356e-03f, -9.581558081e-03f, -9.569364936e-03f, -9.557155944e-03f,
+-9.544931127e-03f, -9.532690506e-03f, -9.520434103e-03f, -9.508161941e-03f, -9.495874042e-03f, -9.483570427e-03f, -9.471251120e-03f, -9.458916141e-03f, -9.446565514e-03f, -9.434199260e-03f,
+-9.421817401e-03f, -9.409419961e-03f, -9.397006961e-03f, -9.384578423e-03f, -9.372134371e-03f, -9.359674825e-03f, -9.347199810e-03f, -9.334709346e-03f, -9.322203457e-03f, -9.309682165e-03f,
+-9.297145492e-03f, -9.284593462e-03f, -9.272026096e-03f, -9.259443417e-03f, -9.246845448e-03f, -9.234232212e-03f, -9.221603730e-03f, -9.208960026e-03f, -9.196301122e-03f, -9.183627042e-03f,
+-9.170937807e-03f, -9.158233441e-03f, -9.145513966e-03f, -9.132779406e-03f, -9.120029783e-03f, -9.107265119e-03f, -9.094485439e-03f, -9.081690764e-03f, -9.068881118e-03f, -9.056056524e-03f,
+-9.043217004e-03f, -9.030362582e-03f, -9.017493281e-03f, -9.004609123e-03f, -8.991710133e-03f, -8.978796332e-03f, -8.965867745e-03f, -8.952924394e-03f, -8.939966302e-03f, -8.926993494e-03f,
+-8.914005991e-03f, -8.901003817e-03f, -8.887986996e-03f, -8.874955551e-03f, -8.861909504e-03f, -8.848848881e-03f, -8.835773703e-03f, -8.822683994e-03f, -8.809579779e-03f, -8.796461079e-03f,
+-8.783327919e-03f, -8.770180322e-03f, -8.757018312e-03f, -8.743841912e-03f, -8.730651146e-03f, -8.717446037e-03f, -8.704226609e-03f, -8.690992886e-03f, -8.677744891e-03f, -8.664482648e-03f,
+-8.651206181e-03f, -8.637915513e-03f, -8.624610668e-03f, -8.611291670e-03f, -8.597958543e-03f, -8.584611311e-03f, -8.571249997e-03f, -8.557874626e-03f, -8.544485220e-03f, -8.531081805e-03f,
+-8.517664404e-03f, -8.504233041e-03f, -8.490787739e-03f, -8.477328524e-03f, -8.463855419e-03f, -8.450368448e-03f, -8.436867635e-03f, -8.423353005e-03f, -8.409824581e-03f, -8.396282387e-03f,
+-8.382726448e-03f, -8.369156788e-03f, -8.355573431e-03f, -8.341976402e-03f, -8.328365724e-03f, -8.314741422e-03f, -8.301103520e-03f, -8.287452043e-03f, -8.273787014e-03f, -8.260108459e-03f,
+-8.246416401e-03f, -8.232710866e-03f, -8.218991876e-03f, -8.205259458e-03f, -8.191513635e-03f, -8.177754432e-03f, -8.163981873e-03f, -8.150195984e-03f, -8.136396788e-03f, -8.122584309e-03f,
+-8.108758574e-03f, -8.094919606e-03f, -8.081067430e-03f, -8.067202070e-03f, -8.053323552e-03f, -8.039431900e-03f, -8.025527138e-03f, -8.011609292e-03f, -7.997678387e-03f, -7.983734446e-03f,
+-7.969777496e-03f, -7.955807560e-03f, -7.941824664e-03f, -7.927828832e-03f, -7.913820090e-03f, -7.899798462e-03f, -7.885763973e-03f, -7.871716649e-03f, -7.857656514e-03f, -7.843583593e-03f,
+-7.829497911e-03f, -7.815399494e-03f, -7.801288366e-03f, -7.787164552e-03f, -7.773028078e-03f, -7.758878969e-03f, -7.744717249e-03f, -7.730542945e-03f, -7.716356081e-03f, -7.702156682e-03f,
+-7.687944774e-03f, -7.673720382e-03f, -7.659483531e-03f, -7.645234247e-03f, -7.630972554e-03f, -7.616698479e-03f, -7.602412046e-03f, -7.588113280e-03f, -7.573802208e-03f, -7.559478855e-03f,
+-7.545143246e-03f, -7.530795406e-03f, -7.516435362e-03f, -7.502063138e-03f, -7.487678759e-03f, -7.473282253e-03f, -7.458873643e-03f, -7.444452957e-03f, -7.430020218e-03f, -7.415575453e-03f,
+-7.401118688e-03f, -7.386649948e-03f, -7.372169259e-03f, -7.357676646e-03f, -7.343172135e-03f, -7.328655752e-03f, -7.314127523e-03f, -7.299587473e-03f, -7.285035629e-03f, -7.270472015e-03f,
+-7.255896659e-03f, -7.241309585e-03f, -7.226710819e-03f, -7.212100388e-03f, -7.197478317e-03f, -7.182844632e-03f, -7.168199359e-03f, -7.153542525e-03f, -7.138874154e-03f, -7.124194274e-03f,
+-7.109502909e-03f, -7.094800087e-03f, -7.080085832e-03f, -7.065360172e-03f, -7.050623132e-03f, -7.035874738e-03f, -7.021115017e-03f, -7.006343994e-03f, -6.991561696e-03f, -6.976768148e-03f,
+-6.961963378e-03f, -6.947147411e-03f, -6.932320274e-03f, -6.917481992e-03f, -6.902632592e-03f, -6.887772100e-03f, -6.872900543e-03f, -6.858017947e-03f, -6.843124338e-03f, -6.828219743e-03f,
+-6.813304187e-03f, -6.798377698e-03f, -6.783440301e-03f, -6.768492024e-03f, -6.753532892e-03f, -6.738562932e-03f, -6.723582170e-03f, -6.708590633e-03f, -6.693588348e-03f, -6.678575340e-03f,
+-6.663551637e-03f, -6.648517265e-03f, -6.633472251e-03f, -6.618416621e-03f, -6.603350402e-03f, -6.588273619e-03f, -6.573186301e-03f, -6.558088474e-03f, -6.542980164e-03f, -6.527861398e-03f,
+-6.512732203e-03f, -6.497592605e-03f, -6.482442632e-03f, -6.467282309e-03f, -6.452111664e-03f, -6.436930724e-03f, -6.421739515e-03f, -6.406538064e-03f, -6.391326398e-03f, -6.376104543e-03f,
+-6.360872528e-03f, -6.345630378e-03f, -6.330378120e-03f, -6.315115782e-03f, -6.299843390e-03f, -6.284560971e-03f, -6.269268553e-03f, -6.253966161e-03f, -6.238653824e-03f, -6.223331568e-03f,
+-6.207999420e-03f, -6.192657407e-03f, -6.177305557e-03f, -6.161943896e-03f, -6.146572452e-03f, -6.131191251e-03f, -6.115800320e-03f, -6.100399688e-03f, -6.084989380e-03f, -6.069569425e-03f,
+-6.054139848e-03f, -6.038700679e-03f, -6.023251942e-03f, -6.007793667e-03f, -5.992325880e-03f, -5.976848608e-03f, -5.961361879e-03f, -5.945865720e-03f, -5.930360159e-03f, -5.914845221e-03f,
+-5.899320936e-03f, -5.883787330e-03f, -5.868244430e-03f, -5.852692264e-03f, -5.837130860e-03f, -5.821560244e-03f, -5.805980444e-03f, -5.790391488e-03f, -5.774793403e-03f, -5.759186217e-03f,
+-5.743569956e-03f, -5.727944649e-03f, -5.712310323e-03f, -5.696667005e-03f, -5.681014723e-03f, -5.665353504e-03f, -5.649683377e-03f, -5.634004368e-03f, -5.618316505e-03f, -5.602619817e-03f,
+-5.586914329e-03f, -5.571200071e-03f, -5.555477069e-03f, -5.539745351e-03f, -5.524004946e-03f, -5.508255880e-03f, -5.492498181e-03f, -5.476731878e-03f, -5.460956997e-03f, -5.445173567e-03f,
+-5.429381614e-03f, -5.413581168e-03f, -5.397772256e-03f, -5.381954905e-03f, -5.366129144e-03f, -5.350294999e-03f, -5.334452500e-03f, -5.318601673e-03f, -5.302742547e-03f, -5.286875150e-03f,
+-5.270999508e-03f, -5.255115652e-03f, -5.239223607e-03f, -5.223323402e-03f, -5.207415065e-03f, -5.191498625e-03f, -5.175574108e-03f, -5.159641543e-03f, -5.143700957e-03f, -5.127752380e-03f,
+-5.111795838e-03f, -5.095831360e-03f, -5.079858974e-03f, -5.063878708e-03f, -5.047890589e-03f, -5.031894647e-03f, -5.015890908e-03f, -4.999879402e-03f, -4.983860156e-03f, -4.967833198e-03f,
+-4.951798557e-03f, -4.935756260e-03f, -4.919706336e-03f, -4.903648812e-03f, -4.887583718e-03f, -4.871511081e-03f, -4.855430929e-03f, -4.839343290e-03f, -4.823248194e-03f, -4.807145667e-03f,
+-4.791035739e-03f, -4.774918437e-03f, -4.758793790e-03f, -4.742661826e-03f, -4.726522573e-03f, -4.710376059e-03f, -4.694222314e-03f, -4.678061364e-03f, -4.661893239e-03f, -4.645717967e-03f,
+-4.629535576e-03f, -4.613346094e-03f, -4.597149551e-03f, -4.580945973e-03f, -4.564735390e-03f, -4.548517830e-03f, -4.532293322e-03f, -4.516061893e-03f, -4.499823573e-03f, -4.483578389e-03f,
+-4.467326370e-03f, -4.451067545e-03f, -4.434801942e-03f, -4.418529589e-03f, -4.402250516e-03f, -4.385964750e-03f, -4.369672320e-03f, -4.353373254e-03f, -4.337067582e-03f, -4.320755331e-03f,
+-4.304436530e-03f, -4.288111208e-03f, -4.271779394e-03f, -4.255441115e-03f, -4.239096400e-03f, -4.222745279e-03f, -4.206387779e-03f, -4.190023929e-03f, -4.173653758e-03f, -4.157277295e-03f,
+-4.140894567e-03f, -4.124505605e-03f, -4.108110436e-03f, -4.091709089e-03f, -4.075301593e-03f, -4.058887976e-03f, -4.042468267e-03f, -4.026042495e-03f, -4.009610689e-03f, -3.993172877e-03f,
+-3.976729088e-03f, -3.960279351e-03f, -3.943823695e-03f, -3.927362147e-03f, -3.910894738e-03f, -3.894421495e-03f, -3.877942448e-03f, -3.861457625e-03f, -3.844967056e-03f, -3.828470769e-03f,
+-3.811968792e-03f, -3.795461155e-03f, -3.778947886e-03f, -3.762429015e-03f, -3.745904569e-03f, -3.729374579e-03f, -3.712839073e-03f, -3.696298079e-03f, -3.679751627e-03f, -3.663199745e-03f,
+-3.646642463e-03f, -3.630079809e-03f, -3.613511812e-03f, -3.596938502e-03f, -3.580359906e-03f, -3.563776055e-03f, -3.547186976e-03f, -3.530592699e-03f, -3.513993253e-03f, -3.497388667e-03f,
+-3.480778969e-03f, -3.464164189e-03f, -3.447544356e-03f, -3.430919499e-03f, -3.414289646e-03f, -3.397654827e-03f, -3.381015071e-03f, -3.364370406e-03f, -3.347720863e-03f, -3.331066469e-03f,
+-3.314407253e-03f, -3.297743246e-03f, -3.281074476e-03f, -3.264400971e-03f, -3.247722762e-03f, -3.231039877e-03f, -3.214352345e-03f, -3.197660195e-03f, -3.180963457e-03f, -3.164262159e-03f,
+-3.147556331e-03f, -3.130846001e-03f, -3.114131199e-03f, -3.097411955e-03f, -3.080688296e-03f, -3.063960252e-03f, -3.047227853e-03f, -3.030491127e-03f, -3.013750104e-03f, -2.997004813e-03f,
+-2.980255282e-03f, -2.963501542e-03f, -2.946743621e-03f, -2.929981549e-03f, -2.913215354e-03f, -2.896445066e-03f, -2.879670714e-03f, -2.862892327e-03f, -2.846109935e-03f, -2.829323567e-03f,
+-2.812533251e-03f, -2.795739018e-03f, -2.778940896e-03f, -2.762138914e-03f, -2.745333102e-03f, -2.728523490e-03f, -2.711710105e-03f, -2.694892979e-03f, -2.678072139e-03f, -2.661247615e-03f,
+-2.644419436e-03f, -2.627587632e-03f, -2.610752233e-03f, -2.593913266e-03f, -2.577070761e-03f, -2.560224749e-03f, -2.543375257e-03f, -2.526522316e-03f, -2.509665955e-03f, -2.492806202e-03f,
+-2.475943088e-03f, -2.459076641e-03f, -2.442206892e-03f, -2.425333868e-03f, -2.408457600e-03f, -2.391578117e-03f, -2.374695449e-03f, -2.357809624e-03f, -2.340920671e-03f, -2.324028621e-03f,
+-2.307133503e-03f, -2.290235346e-03f, -2.273334179e-03f, -2.256430031e-03f, -2.239522933e-03f, -2.222612913e-03f, -2.205700001e-03f, -2.188784226e-03f, -2.171865618e-03f, -2.154944206e-03f,
+-2.138020019e-03f, -2.121093086e-03f, -2.104163438e-03f, -2.087231104e-03f, -2.070296112e-03f, -2.053358492e-03f, -2.036418275e-03f, -2.019475488e-03f, -2.002530162e-03f, -1.985582326e-03f,
+-1.968632009e-03f, -1.951679241e-03f, -1.934724051e-03f, -1.917766469e-03f, -1.900806524e-03f, -1.883844245e-03f, -1.866879662e-03f, -1.849912805e-03f, -1.832943702e-03f, -1.815972383e-03f,
+-1.798998878e-03f, -1.782023216e-03f, -1.765045427e-03f, -1.748065540e-03f, -1.731083584e-03f, -1.714099589e-03f, -1.697113584e-03f, -1.680125599e-03f, -1.663135663e-03f, -1.646143806e-03f,
+-1.629150057e-03f, -1.612154446e-03f, -1.595157001e-03f, -1.578157754e-03f, -1.561156732e-03f, -1.544153966e-03f, -1.527149484e-03f, -1.510143317e-03f, -1.493135494e-03f, -1.476126044e-03f,
+-1.459114997e-03f, -1.442102382e-03f, -1.425088229e-03f, -1.408072567e-03f, -1.391055426e-03f, -1.374036835e-03f, -1.357016823e-03f, -1.339995421e-03f, -1.322972657e-03f, -1.305948562e-03f,
+-1.288923164e-03f, -1.271896493e-03f, -1.254868579e-03f, -1.237839450e-03f, -1.220809137e-03f, -1.203777669e-03f, -1.186745076e-03f, -1.169711386e-03f, -1.152676630e-03f, -1.135640837e-03f,
+-1.118604036e-03f, -1.101566257e-03f, -1.084527530e-03f, -1.067487883e-03f, -1.050447346e-03f, -1.033405950e-03f, -1.016363723e-03f, -9.993206940e-04f, -9.822768938e-04f, -9.652323513e-04f,
+-9.481870961e-04f, -9.311411575e-04f, -9.140945652e-04f, -8.970473485e-04f, -8.799995370e-04f, -8.629511601e-04f, -8.459022474e-04f, -8.288528282e-04f, -8.118029321e-04f, -7.947525886e-04f,
+-7.777018271e-04f, -7.606506771e-04f, -7.435991681e-04f, -7.265473296e-04f, -7.094951909e-04f, -6.924427817e-04f, -6.753901313e-04f, -6.583372693e-04f, -6.412842250e-04f, -6.242310280e-04f,
+-6.071777078e-04f, -5.901242938e-04f, -5.730708154e-04f, -5.560173021e-04f, -5.389637834e-04f, -5.219102887e-04f, -5.048568476e-04f, -4.878034894e-04f, -4.707502435e-04f, -4.536971395e-04f,
+-4.366442068e-04f, -4.195914749e-04f, -4.025389731e-04f, -3.854867309e-04f, -3.684347779e-04f, -3.513831433e-04f, -3.343318566e-04f, -3.172809474e-04f, -3.002304449e-04f, -2.831803786e-04f,
+-2.661307781e-04f, -2.490816726e-04f, -2.320330916e-04f, -2.149850645e-04f, -1.979376207e-04f, -1.808907898e-04f, -1.638446009e-04f, -1.467990837e-04f, -1.297542674e-04f, -1.127101815e-04f,
+-9.566685539e-05f, -7.862431844e-05f, -6.158260006e-05f, -4.454172964e-05f, -2.750173657e-05f, -1.046265023e-05f, 6.575500001e-06f, 2.361268474e-05f, 4.064887462e-05f, 5.768404026e-05f,
+7.471815230e-05f, 9.175118138e-05f, 1.087830981e-04f, 1.258138732e-04f, 1.428434772e-04f, 1.598718808e-04f, 1.768990547e-04f, 1.939249696e-04f, 2.109495960e-04f, 2.279729046e-04f,
+2.449948662e-04f, 2.620154514e-04f, 2.790346308e-04f, 2.960523752e-04f, 3.130686552e-04f, 3.300834416e-04f, 3.470967050e-04f, 3.641084160e-04f, 3.811185456e-04f, 3.981270642e-04f,
+4.151339427e-04f, 4.321391517e-04f, 4.491426620e-04f, 4.661444443e-04f, 4.831444693e-04f, 5.001427078e-04f, 5.171391305e-04f, 5.341337081e-04f, 5.511264114e-04f, 5.681172112e-04f,
+5.851060782e-04f, 6.020929831e-04f, 6.190778968e-04f, 6.360607900e-04f, 6.530416334e-04f, 6.700203980e-04f, 6.869970544e-04f, 7.039715734e-04f, 7.209439259e-04f, 7.379140827e-04f,
+7.548820145e-04f, 7.718476922e-04f, 7.888110866e-04f, 8.057721685e-04f, 8.227309088e-04f, 8.396872783e-04f, 8.566412479e-04f, 8.735927883e-04f, 8.905418705e-04f, 9.074884653e-04f,
+9.244325436e-04f, 9.413740762e-04f, 9.583130340e-04f, 9.752493880e-04f, 9.921831090e-04f, 1.009114168e-03f, 1.026042536e-03f, 1.042968183e-03f, 1.059891081e-03f, 1.076811201e-03f,
+1.093728513e-03f, 1.110642988e-03f, 1.127554598e-03f, 1.144463313e-03f, 1.161369105e-03f, 1.178271943e-03f, 1.195171800e-03f, 1.212068646e-03f, 1.228962452e-03f, 1.245853190e-03f,
+1.262740829e-03f, 1.279625342e-03f, 1.296506698e-03f, 1.313384870e-03f, 1.330259828e-03f, 1.347131544e-03f, 1.363999987e-03f, 1.380865130e-03f, 1.397726944e-03f, 1.414585398e-03f,
+1.431440466e-03f, 1.448292116e-03f, 1.465140322e-03f, 1.481985053e-03f, 1.498826281e-03f, 1.515663977e-03f, 1.532498112e-03f, 1.549328657e-03f, 1.566155584e-03f, 1.582978863e-03f,
+1.599798465e-03f, 1.616614363e-03f, 1.633426526e-03f, 1.650234926e-03f, 1.667039535e-03f, 1.683840323e-03f, 1.700637261e-03f, 1.717430322e-03f, 1.734219475e-03f, 1.751004693e-03f,
+1.767785946e-03f, 1.784563206e-03f, 1.801336444e-03f, 1.818105631e-03f, 1.834870739e-03f, 1.851631738e-03f, 1.868388600e-03f, 1.885141297e-03f, 1.901889799e-03f, 1.918634079e-03f,
+1.935374106e-03f, 1.952109853e-03f, 1.968841291e-03f, 1.985568391e-03f, 2.002291125e-03f, 2.019009463e-03f, 2.035723378e-03f, 2.052432841e-03f, 2.069137822e-03f, 2.085838295e-03f,
+2.102534229e-03f, 2.119225596e-03f, 2.135912368e-03f, 2.152594516e-03f, 2.169272012e-03f, 2.185944826e-03f, 2.202612931e-03f, 2.219276299e-03f, 2.235934899e-03f, 2.252588705e-03f,
+2.269237687e-03f, 2.285881817e-03f, 2.302521066e-03f, 2.319155407e-03f, 2.335784810e-03f, 2.352409247e-03f, 2.369028689e-03f, 2.385643109e-03f, 2.402252478e-03f, 2.418856767e-03f,
+2.435455949e-03f, 2.452049994e-03f, 2.468638874e-03f, 2.485222561e-03f, 2.501801026e-03f, 2.518374242e-03f, 2.534942179e-03f, 2.551504811e-03f, 2.568062107e-03f, 2.584614040e-03f,
+2.601160582e-03f, 2.617701704e-03f, 2.634237378e-03f, 2.650767577e-03f, 2.667292270e-03f, 2.683811431e-03f, 2.700325031e-03f, 2.716833042e-03f, 2.733335436e-03f, 2.749832184e-03f,
+2.766323259e-03f, 2.782808632e-03f, 2.799288274e-03f, 2.815762159e-03f, 2.832230257e-03f, 2.848692541e-03f, 2.865148982e-03f, 2.881599553e-03f, 2.898044225e-03f, 2.914482971e-03f,
+2.930915761e-03f, 2.947342569e-03f, 2.963763365e-03f, 2.980178123e-03f, 2.996586814e-03f, 3.012989409e-03f, 3.029385882e-03f, 3.045776204e-03f, 3.062160347e-03f, 3.078538283e-03f,
+3.094909984e-03f, 3.111275423e-03f, 3.127634571e-03f, 3.143987400e-03f, 3.160333883e-03f, 3.176673991e-03f, 3.193007697e-03f, 3.209334974e-03f, 3.225655792e-03f, 3.241970125e-03f,
+3.258277944e-03f, 3.274579221e-03f, 3.290873930e-03f, 3.307162041e-03f, 3.323443528e-03f, 3.339718362e-03f, 3.355986517e-03f, 3.372247963e-03f, 3.388502674e-03f, 3.404750621e-03f,
+3.420991777e-03f, 3.437226115e-03f, 3.453453606e-03f, 3.469674223e-03f, 3.485887939e-03f, 3.502094725e-03f, 3.518294555e-03f, 3.534487400e-03f, 3.550673233e-03f, 3.566852026e-03f,
+3.583023752e-03f, 3.599188384e-03f, 3.615345893e-03f, 3.631496253e-03f, 3.647639435e-03f, 3.663775413e-03f, 3.679904158e-03f, 3.696025644e-03f, 3.712139843e-03f, 3.728246727e-03f,
+3.744346269e-03f, 3.760438442e-03f, 3.776523219e-03f, 3.792600571e-03f, 3.808670472e-03f, 3.824732894e-03f, 3.840787809e-03f, 3.856835192e-03f, 3.872875014e-03f, 3.888907248e-03f,
+3.904931866e-03f, 3.920948842e-03f, 3.936958148e-03f, 3.952959758e-03f, 3.968953643e-03f, 3.984939776e-03f, 4.000918132e-03f, 4.016888681e-03f, 4.032851398e-03f, 4.048806254e-03f,
+4.064753223e-03f, 4.080692279e-03f, 4.096623392e-03f, 4.112546538e-03f, 4.128461688e-03f, 4.144368815e-03f, 4.160267893e-03f, 4.176158894e-03f, 4.192041792e-03f, 4.207916559e-03f,
+4.223783169e-03f, 4.239641595e-03f, 4.255491808e-03f, 4.271333784e-03f, 4.287167495e-03f, 4.302992913e-03f, 4.318810012e-03f, 4.334618766e-03f, 4.350419147e-03f, 4.366211128e-03f,
+4.381994683e-03f, 4.397769785e-03f, 4.413536407e-03f, 4.429294523e-03f, 4.445044105e-03f, 4.460785127e-03f, 4.476517562e-03f, 4.492241384e-03f, 4.507956565e-03f, 4.523663080e-03f,
+4.539360901e-03f, 4.555050002e-03f, 4.570730356e-03f, 4.586401937e-03f, 4.602064718e-03f, 4.617718673e-03f, 4.633363774e-03f, 4.648999996e-03f, 4.664627312e-03f, 4.680245695e-03f,
+4.695855120e-03f, 4.711455558e-03f, 4.727046985e-03f, 4.742629374e-03f, 4.758202697e-03f, 4.773766930e-03f, 4.789322045e-03f, 4.804868016e-03f, 4.820404816e-03f, 4.835932421e-03f,
+4.851450802e-03f, 4.866959934e-03f, 4.882459790e-03f, 4.897950345e-03f, 4.913431572e-03f, 4.928903445e-03f, 4.944365937e-03f, 4.959819023e-03f, 4.975262676e-03f, 4.990696870e-03f,
+5.006121579e-03f, 5.021536778e-03f, 5.036942438e-03f, 5.052338536e-03f, 5.067725044e-03f, 5.083101937e-03f, 5.098469188e-03f, 5.113826772e-03f, 5.129174663e-03f, 5.144512834e-03f,
+5.159841260e-03f, 5.175159914e-03f, 5.190468771e-03f, 5.205767806e-03f, 5.221056991e-03f, 5.236336301e-03f, 5.251605711e-03f, 5.266865194e-03f, 5.282114725e-03f, 5.297354278e-03f,
+5.312583827e-03f, 5.327803347e-03f, 5.343012811e-03f, 5.358212194e-03f, 5.373401470e-03f, 5.388580614e-03f, 5.403749600e-03f, 5.418908403e-03f, 5.434056996e-03f, 5.449195354e-03f,
+5.464323451e-03f, 5.479441263e-03f, 5.494548763e-03f, 5.509645926e-03f, 5.524732726e-03f, 5.539809139e-03f, 5.554875137e-03f, 5.569930697e-03f, 5.584975792e-03f, 5.600010398e-03f,
+5.615034488e-03f, 5.630048038e-03f, 5.645051022e-03f, 5.660043414e-03f, 5.675025191e-03f, 5.689996325e-03f, 5.704956792e-03f, 5.719906567e-03f, 5.734845624e-03f, 5.749773939e-03f,
+5.764691486e-03f, 5.779598239e-03f, 5.794494174e-03f, 5.809379266e-03f, 5.824253490e-03f, 5.839116819e-03f, 5.853969230e-03f, 5.868810698e-03f, 5.883641197e-03f, 5.898460702e-03f,
+5.913269188e-03f, 5.928066630e-03f, 5.942853004e-03f, 5.957628285e-03f, 5.972392447e-03f, 5.987145466e-03f, 6.001887316e-03f, 6.016617974e-03f, 6.031337413e-03f, 6.046045610e-03f,
+6.060742540e-03f, 6.075428177e-03f, 6.090102497e-03f, 6.104765476e-03f, 6.119417089e-03f, 6.134057310e-03f, 6.148686116e-03f, 6.163303482e-03f, 6.177909382e-03f, 6.192503793e-03f,
+6.207086690e-03f, 6.221658049e-03f, 6.236217844e-03f, 6.250766052e-03f, 6.265302647e-03f, 6.279827606e-03f, 6.294340904e-03f, 6.308842517e-03f, 6.323332419e-03f, 6.337810588e-03f,
+6.352276998e-03f, 6.366731625e-03f, 6.381174444e-03f, 6.395605433e-03f, 6.410024565e-03f, 6.424431818e-03f, 6.438827166e-03f, 6.453210586e-03f, 6.467582053e-03f, 6.481941543e-03f,
+6.496289033e-03f, 6.510624497e-03f, 6.524947913e-03f, 6.539259255e-03f, 6.553558500e-03f, 6.567845623e-03f, 6.582120602e-03f, 6.596383411e-03f, 6.610634027e-03f, 6.624872426e-03f,
+6.639098583e-03f, 6.653312476e-03f, 6.667514080e-03f, 6.681703372e-03f, 6.695880327e-03f, 6.710044921e-03f, 6.724197132e-03f, 6.738336935e-03f, 6.752464306e-03f, 6.766579222e-03f,
+6.780681659e-03f, 6.794771594e-03f, 6.808849002e-03f, 6.822913860e-03f, 6.836966145e-03f, 6.851005833e-03f, 6.865032900e-03f, 6.879047323e-03f, 6.893049079e-03f, 6.907038144e-03f,
+6.921014494e-03f, 6.934978106e-03f, 6.948928956e-03f, 6.962867022e-03f, 6.976792280e-03f, 6.990704706e-03f, 7.004604278e-03f, 7.018490971e-03f, 7.032364763e-03f, 7.046225631e-03f,
+7.060073550e-03f, 7.073908499e-03f, 7.087730453e-03f, 7.101539390e-03f, 7.115335287e-03f, 7.129118120e-03f, 7.142887867e-03f, 7.156644503e-03f, 7.170388007e-03f, 7.184118356e-03f,
+7.197835525e-03f, 7.211539493e-03f, 7.225230236e-03f, 7.238907732e-03f, 7.252571957e-03f, 7.266222889e-03f, 7.279860505e-03f, 7.293484782e-03f, 7.307095698e-03f, 7.320693228e-03f,
+7.334277352e-03f, 7.347848045e-03f, 7.361405286e-03f, 7.374949052e-03f, 7.388479320e-03f, 7.401996067e-03f, 7.415499271e-03f, 7.428988909e-03f, 7.442464959e-03f, 7.455927398e-03f,
+7.469376204e-03f, 7.482811354e-03f, 7.496232826e-03f, 7.509640597e-03f, 7.523034645e-03f, 7.536414948e-03f, 7.549781483e-03f, 7.563134228e-03f, 7.576473161e-03f, 7.589798259e-03f,
+7.603109500e-03f, 7.616406862e-03f, 7.629690322e-03f, 7.642959860e-03f, 7.656215451e-03f, 7.669457075e-03f, 7.682684709e-03f, 7.695898331e-03f, 7.709097920e-03f, 7.722283452e-03f,
+7.735454906e-03f, 7.748612261e-03f, 7.761755493e-03f, 7.774884582e-03f, 7.787999505e-03f, 7.801100241e-03f, 7.814186767e-03f, 7.827259062e-03f, 7.840317104e-03f, 7.853360871e-03f,
+7.866390342e-03f, 7.879405495e-03f, 7.892406308e-03f, 7.905392759e-03f, 7.918364827e-03f, 7.931322491e-03f, 7.944265728e-03f, 7.957194517e-03f, 7.970108837e-03f, 7.983008666e-03f,
+7.995893982e-03f, 8.008764765e-03f, 8.021620992e-03f, 8.034462643e-03f, 8.047289695e-03f, 8.060102129e-03f, 8.072899921e-03f, 8.085683052e-03f, 8.098451499e-03f, 8.111205242e-03f,
+8.123944259e-03f, 8.136668530e-03f, 8.149378032e-03f, 8.162072745e-03f, 8.174752648e-03f, 8.187417720e-03f, 8.200067939e-03f, 8.212703285e-03f, 8.225323736e-03f, 8.237929272e-03f,
+8.250519871e-03f, 8.263095514e-03f, 8.275656178e-03f, 8.288201843e-03f, 8.300732489e-03f, 8.313248093e-03f, 8.325748637e-03f, 8.338234098e-03f, 8.350704456e-03f, 8.363159691e-03f,
+8.375599781e-03f, 8.388024706e-03f, 8.400434446e-03f, 8.412828980e-03f, 8.425208287e-03f, 8.437572347e-03f, 8.449921139e-03f, 8.462254643e-03f, 8.474572838e-03f, 8.486875704e-03f,
+8.499163221e-03f, 8.511435368e-03f, 8.523692124e-03f, 8.535933471e-03f, 8.548159386e-03f, 8.560369850e-03f, 8.572564843e-03f, 8.584744344e-03f, 8.596908334e-03f, 8.609056792e-03f,
+8.621189698e-03f, 8.633307032e-03f, 8.645408774e-03f, 8.657494904e-03f, 8.669565402e-03f, 8.681620247e-03f, 8.693659421e-03f, 8.705682902e-03f, 8.717690672e-03f, 8.729682709e-03f,
+8.741658996e-03f, 8.753619511e-03f, 8.765564234e-03f, 8.777493147e-03f, 8.789406229e-03f, 8.801303461e-03f, 8.813184822e-03f, 8.825050294e-03f, 8.836899857e-03f, 8.848733491e-03f,
+8.860551177e-03f, 8.872352894e-03f, 8.884138624e-03f, 8.895908347e-03f, 8.907662044e-03f, 8.919399695e-03f, 8.931121281e-03f, 8.942826783e-03f, 8.954516181e-03f, 8.966189455e-03f,
+8.977846587e-03f, 8.989487558e-03f, 9.001112348e-03f, 9.012720938e-03f, 9.024313308e-03f, 9.035889441e-03f, 9.047449316e-03f, 9.058992914e-03f, 9.070520217e-03f, 9.082031206e-03f,
+9.093525861e-03f, 9.105004164e-03f, 9.116466096e-03f, 9.127911637e-03f, 9.139340770e-03f, 9.150753474e-03f, 9.162149732e-03f, 9.173529524e-03f, 9.184892832e-03f, 9.196239638e-03f,
+9.207569921e-03f, 9.218883665e-03f, 9.230180850e-03f, 9.241461457e-03f, 9.252725468e-03f, 9.263972865e-03f, 9.275203628e-03f, 9.286417741e-03f, 9.297615183e-03f, 9.308795936e-03f,
+9.319959984e-03f, 9.331107305e-03f, 9.342237884e-03f, 9.353351701e-03f, 9.364448738e-03f, 9.375528976e-03f, 9.386592398e-03f, 9.397638986e-03f, 9.408668720e-03f, 9.419681584e-03f,
+9.430677559e-03f, 9.441656627e-03f, 9.452618770e-03f, 9.463563970e-03f, 9.474492209e-03f, 9.485403469e-03f, 9.496297732e-03f, 9.507174981e-03f, 9.518035197e-03f, 9.528878362e-03f,
+9.539704460e-03f, 9.550513471e-03f, 9.561305379e-03f, 9.572080166e-03f, 9.582837814e-03f, 9.593578305e-03f, 9.604301622e-03f, 9.615007747e-03f, 9.625696663e-03f, 9.636368353e-03f,
+9.647022798e-03f, 9.657659981e-03f, 9.668279885e-03f, 9.678882493e-03f, 9.689467786e-03f, 9.700035749e-03f, 9.710586363e-03f, 9.721119612e-03f, 9.731635477e-03f, 9.742133942e-03f,
+9.752614990e-03f, 9.763078604e-03f, 9.773524766e-03f, 9.783953459e-03f, 9.794364667e-03f, 9.804758372e-03f, 9.815134557e-03f, 9.825493206e-03f, 9.835834301e-03f, 9.846157826e-03f,
+9.856463764e-03f, 9.866752097e-03f, 9.877022810e-03f, 9.887275885e-03f, 9.897511305e-03f, 9.907729055e-03f, 9.917929117e-03f, 9.928111474e-03f, 9.938276110e-03f, 9.948423009e-03f,
+9.958552154e-03f, 9.968663528e-03f, 9.978757115e-03f, 9.988832899e-03f, 9.998890862e-03f, 1.000893099e-02f, 1.001895326e-02f, 1.002895767e-02f, 1.003894419e-02f, 1.004891281e-02f,
+1.005886351e-02f, 1.006879628e-02f, 1.007871109e-02f, 1.008860794e-02f, 1.009848681e-02f, 1.010834768e-02f, 1.011819054e-02f, 1.012801536e-02f, 1.013782214e-02f, 1.014761086e-02f,
+1.015738150e-02f, 1.016713404e-02f, 1.017686848e-02f, 1.018658478e-02f, 1.019628295e-02f, 1.020596296e-02f, 1.021562480e-02f, 1.022526844e-02f, 1.023489389e-02f, 1.024450111e-02f,
+1.025409010e-02f, 1.026366084e-02f, 1.027321331e-02f, 1.028274750e-02f, 1.029226339e-02f, 1.030176097e-02f, 1.031124022e-02f, 1.032070112e-02f, 1.033014367e-02f, 1.033956784e-02f,
+1.034897362e-02f, 1.035836100e-02f, 1.036772996e-02f, 1.037708048e-02f, 1.038641256e-02f, 1.039572617e-02f, 1.040502129e-02f, 1.041429792e-02f, 1.042355605e-02f, 1.043279564e-02f,
+1.044201670e-02f, 1.045121920e-02f, 1.046040313e-02f, 1.046956847e-02f, 1.047871522e-02f, 1.048784335e-02f, 1.049695285e-02f, 1.050604371e-02f, 1.051511591e-02f, 1.052416944e-02f,
+1.053320428e-02f, 1.054222041e-02f, 1.055121783e-02f, 1.056019652e-02f, 1.056915646e-02f, 1.057809764e-02f, 1.058702005e-02f, 1.059592367e-02f, 1.060480848e-02f, 1.061367448e-02f,
+1.062252165e-02f, 1.063134996e-02f, 1.064015942e-02f, 1.064895001e-02f, 1.065772170e-02f, 1.066647449e-02f, 1.067520837e-02f, 1.068392331e-02f, 1.069261931e-02f, 1.070129635e-02f,
+1.070995442e-02f, 1.071859350e-02f, 1.072721358e-02f, 1.073581464e-02f, 1.074439668e-02f, 1.075295968e-02f, 1.076150362e-02f, 1.077002849e-02f, 1.077853427e-02f, 1.078702096e-02f,
+1.079548854e-02f, 1.080393700e-02f, 1.081236632e-02f, 1.082077649e-02f, 1.082916749e-02f, 1.083753932e-02f, 1.084589195e-02f, 1.085422538e-02f, 1.086253959e-02f, 1.087083457e-02f,
+1.087911031e-02f, 1.088736679e-02f, 1.089560399e-02f, 1.090382192e-02f, 1.091202054e-02f, 1.092019986e-02f, 1.092835985e-02f, 1.093650051e-02f, 1.094462182e-02f, 1.095272376e-02f,
+1.096080633e-02f, 1.096886951e-02f, 1.097691329e-02f, 1.098493766e-02f, 1.099294260e-02f, 1.100092810e-02f, 1.100889415e-02f, 1.101684073e-02f, 1.102476784e-02f, 1.103267546e-02f,
+1.104056357e-02f, 1.104843217e-02f, 1.105628124e-02f, 1.106411078e-02f, 1.107192075e-02f, 1.107971117e-02f, 1.108748201e-02f, 1.109523325e-02f, 1.110296490e-02f, 1.111067693e-02f,
+1.111836934e-02f, 1.112604210e-02f, 1.113369522e-02f, 1.114132867e-02f, 1.114894245e-02f, 1.115653654e-02f, 1.116411094e-02f, 1.117166562e-02f, 1.117920058e-02f, 1.118671580e-02f,
+1.119421128e-02f, 1.120168699e-02f, 1.120914294e-02f, 1.121657911e-02f, 1.122399548e-02f, 1.123139204e-02f, 1.123876879e-02f, 1.124612571e-02f, 1.125346279e-02f, 1.126078002e-02f,
+1.126807738e-02f, 1.127535487e-02f, 1.128261247e-02f, 1.128985017e-02f, 1.129706796e-02f, 1.130426583e-02f, 1.131144377e-02f, 1.131860177e-02f, 1.132573981e-02f, 1.133285789e-02f,
+1.133995599e-02f, 1.134703410e-02f, 1.135409221e-02f, 1.136113031e-02f, 1.136814839e-02f, 1.137514643e-02f, 1.138212444e-02f, 1.138908238e-02f, 1.139602027e-02f, 1.140293807e-02f,
+1.140983579e-02f, 1.141671341e-02f, 1.142357093e-02f, 1.143040832e-02f, 1.143722558e-02f, 1.144402271e-02f, 1.145079968e-02f, 1.145755649e-02f, 1.146429312e-02f, 1.147100958e-02f,
+1.147770584e-02f, 1.148438189e-02f, 1.149103774e-02f, 1.149767335e-02f, 1.150428873e-02f, 1.151088387e-02f, 1.151745875e-02f, 1.152401337e-02f, 1.153054771e-02f, 1.153706176e-02f,
+1.154355552e-02f, 1.155002897e-02f, 1.155648210e-02f, 1.156291491e-02f, 1.156932738e-02f, 1.157571950e-02f, 1.158209127e-02f, 1.158844267e-02f, 1.159477370e-02f, 1.160108433e-02f,
+1.160737458e-02f, 1.161364442e-02f, 1.161989384e-02f, 1.162612284e-02f, 1.163233140e-02f, 1.163851952e-02f, 1.164468719e-02f, 1.165083439e-02f, 1.165696112e-02f, 1.166306737e-02f,
+1.166915313e-02f, 1.167521839e-02f, 1.168126313e-02f, 1.168728736e-02f, 1.169329106e-02f, 1.169927422e-02f, 1.170523684e-02f, 1.171117889e-02f, 1.171710039e-02f, 1.172300130e-02f,
+1.172888164e-02f, 1.173474138e-02f, 1.174058052e-02f, 1.174639905e-02f, 1.175219696e-02f, 1.175797424e-02f, 1.176373089e-02f, 1.176946688e-02f, 1.177518223e-02f, 1.178087691e-02f,
+1.178655092e-02f, 1.179220425e-02f, 1.179783689e-02f, 1.180344883e-02f, 1.180904006e-02f, 1.181461058e-02f, 1.182016038e-02f, 1.182568944e-02f, 1.183119777e-02f, 1.183668534e-02f,
+1.184215216e-02f, 1.184759822e-02f, 1.185302350e-02f, 1.185842799e-02f, 1.186381170e-02f, 1.186917461e-02f, 1.187451672e-02f, 1.187983801e-02f, 1.188513848e-02f, 1.189041811e-02f,
+1.189567691e-02f, 1.190091486e-02f, 1.190613196e-02f, 1.191132820e-02f, 1.191650357e-02f, 1.192165806e-02f, 1.192679166e-02f, 1.193190437e-02f, 1.193699619e-02f, 1.194206709e-02f,
+1.194711707e-02f, 1.195214614e-02f, 1.195715427e-02f, 1.196214146e-02f, 1.196710771e-02f, 1.197205301e-02f, 1.197697734e-02f, 1.198188071e-02f, 1.198676310e-02f, 1.199162451e-02f,
+1.199646493e-02f, 1.200128435e-02f, 1.200608276e-02f, 1.201086017e-02f, 1.201561656e-02f, 1.202035192e-02f, 1.202506625e-02f, 1.202975954e-02f, 1.203443178e-02f, 1.203908297e-02f,
+1.204371310e-02f, 1.204832216e-02f, 1.205291015e-02f, 1.205747706e-02f, 1.206202288e-02f, 1.206654761e-02f, 1.207105124e-02f, 1.207553376e-02f, 1.207999516e-02f, 1.208443545e-02f,
+1.208885461e-02f, 1.209325263e-02f, 1.209762952e-02f, 1.210198526e-02f, 1.210631985e-02f, 1.211063328e-02f, 1.211492554e-02f, 1.211919663e-02f, 1.212344655e-02f, 1.212767528e-02f,
+1.213188282e-02f, 1.213606917e-02f, 1.214023431e-02f, 1.214437825e-02f, 1.214850097e-02f, 1.215260247e-02f, 1.215668275e-02f, 1.216074179e-02f, 1.216477960e-02f, 1.216879616e-02f,
+1.217279148e-02f, 1.217676554e-02f, 1.218071834e-02f, 1.218464987e-02f, 1.218856013e-02f, 1.219244912e-02f, 1.219631682e-02f, 1.220016323e-02f, 1.220398835e-02f, 1.220779217e-02f,
+1.221157469e-02f, 1.221533589e-02f, 1.221907578e-02f, 1.222279435e-02f, 1.222649160e-02f, 1.223016751e-02f, 1.223382209e-02f, 1.223745532e-02f, 1.224106721e-02f, 1.224465775e-02f,
+1.224822693e-02f, 1.225177475e-02f, 1.225530121e-02f, 1.225880629e-02f, 1.226229000e-02f, 1.226575232e-02f, 1.226919326e-02f, 1.227261281e-02f, 1.227601096e-02f, 1.227938772e-02f,
+1.228274307e-02f, 1.228607701e-02f, 1.228938953e-02f, 1.229268064e-02f, 1.229595033e-02f, 1.229919858e-02f, 1.230242541e-02f, 1.230563080e-02f, 1.230881475e-02f, 1.231197726e-02f,
+1.231511831e-02f, 1.231823791e-02f, 1.232133606e-02f, 1.232441274e-02f, 1.232746796e-02f, 1.233050171e-02f, 1.233351398e-02f, 1.233650478e-02f, 1.233947409e-02f, 1.234242192e-02f,
+1.234534826e-02f, 1.234825311e-02f, 1.235113646e-02f, 1.235399830e-02f, 1.235683864e-02f, 1.235965748e-02f, 1.236245480e-02f, 1.236523060e-02f, 1.236798489e-02f, 1.237071765e-02f,
+1.237342889e-02f, 1.237611859e-02f, 1.237878676e-02f, 1.238143340e-02f, 1.238405849e-02f, 1.238666204e-02f, 1.238924405e-02f, 1.239180450e-02f, 1.239434340e-02f, 1.239686075e-02f,
+1.239935653e-02f, 1.240183075e-02f, 1.240428340e-02f, 1.240671449e-02f, 1.240912400e-02f, 1.241151194e-02f, 1.241387830e-02f, 1.241622308e-02f, 1.241854627e-02f, 1.242084788e-02f,
+1.242312790e-02f, 1.242538633e-02f, 1.242762316e-02f, 1.242983840e-02f, 1.243203203e-02f, 1.243420406e-02f, 1.243635449e-02f, 1.243848331e-02f, 1.244059052e-02f, 1.244267611e-02f,
+1.244474009e-02f, 1.244678246e-02f, 1.244880320e-02f, 1.245080232e-02f, 1.245277982e-02f, 1.245473569e-02f, 1.245666993e-02f, 1.245858254e-02f, 1.246047352e-02f, 1.246234287e-02f,
+1.246419057e-02f, 1.246601664e-02f, 1.246782106e-02f, 1.246960385e-02f, 1.247136499e-02f, 1.247310448e-02f, 1.247482232e-02f, 1.247651851e-02f, 1.247819305e-02f, 1.247984594e-02f,
+1.248147717e-02f, 1.248308675e-02f, 1.248467466e-02f, 1.248624092e-02f, 1.248778551e-02f, 1.248930844e-02f, 1.249080971e-02f, 1.249228931e-02f, 1.249374725e-02f, 1.249518351e-02f,
+1.249659811e-02f, 1.249799103e-02f, 1.249936228e-02f, 1.250071186e-02f, 1.250203977e-02f, 1.250334600e-02f, 1.250463055e-02f, 1.250589342e-02f, 1.250713462e-02f, 1.250835413e-02f,
+1.250955197e-02f, 1.251072812e-02f, 1.251188259e-02f, 1.251301538e-02f, 1.251412648e-02f, 1.251521590e-02f, 1.251628364e-02f, 1.251732969e-02f, 1.251835405e-02f, 1.251935673e-02f,
+1.252033771e-02f, 1.252129701e-02f, 1.252223462e-02f, 1.252315055e-02f, 1.252404478e-02f, 1.252491732e-02f, 1.252576818e-02f, 1.252659734e-02f, 1.252740481e-02f, 1.252819059e-02f,
+1.252895468e-02f, 1.252969708e-02f, 1.253041779e-02f, 1.253111681e-02f, 1.253179414e-02f, 1.253244977e-02f, 1.253308372e-02f, 1.253369597e-02f, 1.253428654e-02f, 1.253485541e-02f,
+1.253540259e-02f, 1.253592808e-02f, 1.253643189e-02f, 1.253691400e-02f, 1.253737442e-02f, 1.253781316e-02f, 1.253823021e-02f, 1.253862556e-02f, 1.253899924e-02f, 1.253935122e-02f,
+1.253968152e-02f, 1.253999014e-02f, 1.254027706e-02f, 1.254054231e-02f, 1.254078587e-02f, 1.254100775e-02f, 1.254120795e-02f, 1.254138646e-02f, 1.254154330e-02f, 1.254167846e-02f,
+1.254179194e-02f, 1.254188374e-02f, 1.254195387e-02f, 1.254200232e-02f, 1.254202909e-02f, 1.254203420e-02f, 1.254201763e-02f, 1.254197939e-02f, 1.254191949e-02f, 1.254183791e-02f,
+1.254173467e-02f, 1.254160977e-02f, 1.254146320e-02f, 1.254129497e-02f, 1.254110508e-02f, 1.254089353e-02f, 1.254066032e-02f, 1.254040545e-02f, 1.254012893e-02f, 1.253983076e-02f,
+1.253951094e-02f, 1.253916947e-02f, 1.253880635e-02f, 1.253842159e-02f, 1.253801518e-02f, 1.253758713e-02f, 1.253713744e-02f, 1.253666611e-02f, 1.253617315e-02f, 1.253565855e-02f,
+1.253512232e-02f, 1.253456446e-02f, 1.253398498e-02f, 1.253338386e-02f, 1.253276113e-02f, 1.253211677e-02f, 1.253145080e-02f, 1.253076321e-02f, 1.253005401e-02f, 1.252932319e-02f,
+1.252857077e-02f, 1.252779674e-02f, 1.252700111e-02f, 1.252618387e-02f, 1.252534504e-02f, 1.252448461e-02f, 1.252360258e-02f, 1.252269897e-02f, 1.252177377e-02f, 1.252082698e-02f,
+1.251985861e-02f, 1.251886867e-02f, 1.251785714e-02f, 1.251682404e-02f, 1.251576938e-02f, 1.251469314e-02f, 1.251359534e-02f, 1.251247598e-02f, 1.251133506e-02f, 1.251017258e-02f,
+1.250898855e-02f, 1.250778298e-02f, 1.250655586e-02f, 1.250530720e-02f, 1.250403699e-02f, 1.250274526e-02f, 1.250143199e-02f, 1.250009719e-02f, 1.249874087e-02f, 1.249736302e-02f,
+1.249596366e-02f, 1.249454279e-02f, 1.249310040e-02f, 1.249163651e-02f, 1.249015111e-02f, 1.248864421e-02f, 1.248711582e-02f, 1.248556594e-02f, 1.248399457e-02f, 1.248240171e-02f,
+1.248078738e-02f, 1.247915157e-02f, 1.247749428e-02f, 1.247581553e-02f, 1.247411531e-02f, 1.247239364e-02f, 1.247065051e-02f, 1.246888592e-02f, 1.246709989e-02f, 1.246529242e-02f,
+1.246346351e-02f, 1.246161316e-02f, 1.245974139e-02f, 1.245784819e-02f, 1.245593356e-02f, 1.245399752e-02f, 1.245204007e-02f, 1.245006122e-02f, 1.244806095e-02f, 1.244603929e-02f,
+1.244399624e-02f, 1.244193180e-02f, 1.243984597e-02f, 1.243773877e-02f, 1.243561019e-02f, 1.243346024e-02f, 1.243128892e-02f, 1.242909625e-02f, 1.242688222e-02f, 1.242464684e-02f,
+1.242239011e-02f, 1.242011205e-02f, 1.241781265e-02f, 1.241549192e-02f, 1.241314987e-02f, 1.241078650e-02f, 1.240840182e-02f, 1.240599582e-02f, 1.240356853e-02f, 1.240111993e-02f,
+1.239865005e-02f, 1.239615887e-02f, 1.239364642e-02f, 1.239111269e-02f, 1.238855769e-02f, 1.238598142e-02f, 1.238338389e-02f, 1.238076512e-02f, 1.237812509e-02f, 1.237546382e-02f,
+1.237278131e-02f, 1.237007758e-02f, 1.236735262e-02f, 1.236460644e-02f, 1.236183905e-02f, 1.235905045e-02f, 1.235624065e-02f, 1.235340966e-02f, 1.235055747e-02f, 1.234768411e-02f,
+1.234478956e-02f, 1.234187385e-02f, 1.233893697e-02f, 1.233597894e-02f, 1.233299975e-02f, 1.232999942e-02f, 1.232697795e-02f, 1.232393534e-02f, 1.232087161e-02f, 1.231778676e-02f,
+1.231468080e-02f, 1.231155373e-02f, 1.230840556e-02f, 1.230523630e-02f, 1.230204595e-02f, 1.229883452e-02f, 1.229560201e-02f, 1.229234844e-02f, 1.228907381e-02f, 1.228577813e-02f,
+1.228246140e-02f, 1.227912363e-02f, 1.227576482e-02f, 1.227238500e-02f, 1.226898415e-02f, 1.226556229e-02f, 1.226211943e-02f, 1.225865557e-02f, 1.225517072e-02f, 1.225166489e-02f,
+1.224813808e-02f, 1.224459030e-02f, 1.224102156e-02f, 1.223743187e-02f, 1.223382123e-02f, 1.223018965e-02f, 1.222653714e-02f, 1.222286371e-02f, 1.221916936e-02f, 1.221545410e-02f,
+1.221171794e-02f, 1.220796088e-02f, 1.220418294e-02f, 1.220038412e-02f, 1.219656443e-02f, 1.219272387e-02f, 1.218886246e-02f, 1.218498020e-02f, 1.218107710e-02f, 1.217715317e-02f,
+1.217320842e-02f, 1.216924285e-02f, 1.216525647e-02f, 1.216124930e-02f, 1.215722133e-02f, 1.215317257e-02f, 1.214910304e-02f, 1.214501275e-02f, 1.214090169e-02f, 1.213676988e-02f,
+1.213261733e-02f, 1.212844405e-02f, 1.212425004e-02f, 1.212003531e-02f, 1.211579988e-02f, 1.211154374e-02f, 1.210726691e-02f, 1.210296939e-02f, 1.209865121e-02f, 1.209431235e-02f,
+1.208995284e-02f, 1.208557267e-02f, 1.208117187e-02f, 1.207675044e-02f, 1.207230838e-02f, 1.206784571e-02f, 1.206336243e-02f, 1.205885855e-02f, 1.205433409e-02f, 1.204978905e-02f,
+1.204522344e-02f, 1.204063727e-02f, 1.203603055e-02f, 1.203140328e-02f, 1.202675549e-02f, 1.202208716e-02f, 1.201739833e-02f, 1.201268898e-02f, 1.200795914e-02f, 1.200320882e-02f,
+1.199843801e-02f, 1.199364674e-02f, 1.198883501e-02f, 1.198400283e-02f, 1.197915020e-02f, 1.197427715e-02f, 1.196938368e-02f, 1.196446979e-02f, 1.195953551e-02f, 1.195458083e-02f,
+1.194960576e-02f, 1.194461033e-02f, 1.193959453e-02f, 1.193455838e-02f, 1.192950189e-02f, 1.192442506e-02f, 1.191932791e-02f, 1.191421044e-02f, 1.190907267e-02f, 1.190391461e-02f,
+1.189873626e-02f, 1.189353764e-02f, 1.188831876e-02f, 1.188307962e-02f, 1.187782024e-02f, 1.187254062e-02f, 1.186724078e-02f, 1.186192073e-02f, 1.185658048e-02f, 1.185122004e-02f,
+1.184583941e-02f, 1.184043861e-02f, 1.183501766e-02f, 1.182957655e-02f, 1.182411530e-02f, 1.181863392e-02f, 1.181313243e-02f, 1.180761082e-02f, 1.180206912e-02f, 1.179650733e-02f,
+1.179092547e-02f, 1.178532354e-02f, 1.177970156e-02f, 1.177405953e-02f, 1.176839747e-02f, 1.176271539e-02f, 1.175701329e-02f, 1.175129120e-02f, 1.174554912e-02f, 1.173978706e-02f,
+1.173400503e-02f, 1.172820305e-02f, 1.172238112e-02f, 1.171653926e-02f, 1.171067748e-02f, 1.170479578e-02f, 1.169889419e-02f, 1.169297270e-02f, 1.168703134e-02f, 1.168107012e-02f,
+1.167508904e-02f, 1.166908811e-02f, 1.166306736e-02f, 1.165702678e-02f, 1.165096640e-02f, 1.164488621e-02f, 1.163878625e-02f, 1.163266651e-02f, 1.162652700e-02f, 1.162036775e-02f,
+1.161418876e-02f, 1.160799004e-02f, 1.160177160e-02f, 1.159553347e-02f, 1.158927564e-02f, 1.158299813e-02f, 1.157670095e-02f, 1.157038412e-02f, 1.156404764e-02f, 1.155769153e-02f,
+1.155131581e-02f, 1.154492047e-02f, 1.153850554e-02f, 1.153207103e-02f, 1.152561694e-02f, 1.151914330e-02f, 1.151265011e-02f, 1.150613739e-02f, 1.149960514e-02f, 1.149305338e-02f,
+1.148648213e-02f, 1.147989139e-02f, 1.147328118e-02f, 1.146665151e-02f, 1.146000240e-02f, 1.145333385e-02f, 1.144664587e-02f, 1.143993849e-02f, 1.143321171e-02f, 1.142646555e-02f,
+1.141970001e-02f, 1.141291512e-02f, 1.140611088e-02f, 1.139928730e-02f, 1.139244441e-02f, 1.138558221e-02f, 1.137870071e-02f, 1.137179994e-02f, 1.136487989e-02f, 1.135794059e-02f,
+1.135098205e-02f, 1.134400428e-02f, 1.133700729e-02f, 1.132999110e-02f, 1.132295571e-02f, 1.131590116e-02f, 1.130882744e-02f, 1.130173456e-02f, 1.129462256e-02f, 1.128749142e-02f,
+1.128034118e-02f, 1.127317184e-02f, 1.126598342e-02f, 1.125877593e-02f, 1.125154938e-02f, 1.124430379e-02f, 1.123703917e-02f, 1.122975553e-02f, 1.122245290e-02f, 1.121513127e-02f,
+1.120779067e-02f, 1.120043111e-02f, 1.119305260e-02f, 1.118565516e-02f, 1.117823880e-02f, 1.117080353e-02f, 1.116334937e-02f, 1.115587633e-02f, 1.114838443e-02f, 1.114087368e-02f,
+1.113334410e-02f, 1.112579569e-02f, 1.111822847e-02f, 1.111064246e-02f, 1.110303767e-02f, 1.109541412e-02f, 1.108777181e-02f, 1.108011077e-02f, 1.107243100e-02f, 1.106473253e-02f,
+1.105701536e-02f, 1.104927951e-02f, 1.104152500e-02f, 1.103375184e-02f, 1.102596004e-02f, 1.101814962e-02f, 1.101032059e-02f, 1.100247296e-02f, 1.099460676e-02f, 1.098672200e-02f,
+1.097881869e-02f, 1.097089684e-02f, 1.096295647e-02f, 1.095499760e-02f, 1.094702024e-02f, 1.093902440e-02f, 1.093101010e-02f, 1.092297736e-02f, 1.091492618e-02f, 1.090685659e-02f,
+1.089876860e-02f, 1.089066223e-02f, 1.088253748e-02f, 1.087439437e-02f, 1.086623293e-02f, 1.085805316e-02f, 1.084985508e-02f, 1.084163870e-02f, 1.083340405e-02f, 1.082515113e-02f,
+1.081687996e-02f, 1.080859055e-02f, 1.080028293e-02f, 1.079195710e-02f, 1.078361308e-02f, 1.077525090e-02f, 1.076687055e-02f, 1.075847206e-02f, 1.075005545e-02f, 1.074162072e-02f,
+1.073316790e-02f, 1.072469700e-02f, 1.071620804e-02f, 1.070770103e-02f, 1.069917598e-02f, 1.069063292e-02f, 1.068207186e-02f, 1.067349281e-02f, 1.066489579e-02f, 1.065628081e-02f,
+1.064764790e-02f, 1.063899707e-02f, 1.063032833e-02f, 1.062164170e-02f, 1.061293720e-02f, 1.060421484e-02f, 1.059547464e-02f, 1.058671661e-02f, 1.057794077e-02f, 1.056914714e-02f,
+1.056033573e-02f, 1.055150655e-02f, 1.054265964e-02f, 1.053379499e-02f, 1.052491263e-02f, 1.051601258e-02f, 1.050709484e-02f, 1.049815944e-02f, 1.048920640e-02f, 1.048023572e-02f,
+1.047124743e-02f, 1.046224154e-02f, 1.045321807e-02f, 1.044417704e-02f, 1.043511846e-02f, 1.042604234e-02f, 1.041694872e-02f, 1.040783759e-02f, 1.039870898e-02f, 1.038956291e-02f,
+1.038039939e-02f, 1.037121843e-02f, 1.036202007e-02f, 1.035280430e-02f, 1.034357116e-02f, 1.033432065e-02f, 1.032505280e-02f, 1.031576761e-02f, 1.030646511e-02f, 1.029714532e-02f,
+1.028780825e-02f, 1.027845391e-02f, 1.026908234e-02f, 1.025969353e-02f, 1.025028751e-02f, 1.024086431e-02f, 1.023142392e-02f, 1.022196638e-02f, 1.021249169e-02f, 1.020299988e-02f,
+1.019349097e-02f, 1.018396496e-02f, 1.017442189e-02f, 1.016486176e-02f, 1.015528459e-02f, 1.014569040e-02f, 1.013607921e-02f, 1.012645104e-02f, 1.011680590e-02f, 1.010714381e-02f,
+1.009746478e-02f, 1.008776885e-02f, 1.007805602e-02f, 1.006832631e-02f, 1.005857973e-02f, 1.004881632e-02f, 1.003903608e-02f, 1.002923903e-02f, 1.001942519e-02f, 1.000959458e-02f,
+9.999747220e-03f, 9.989883121e-03f, 9.980002304e-03f, 9.970104787e-03f, 9.960190588e-03f, 9.950259725e-03f, 9.940312216e-03f, 9.930348079e-03f, 9.920367333e-03f, 9.910369995e-03f,
+9.900356084e-03f, 9.890325617e-03f, 9.880278614e-03f, 9.870215092e-03f, 9.860135070e-03f, 9.850038566e-03f, 9.839925599e-03f, 9.829796186e-03f, 9.819650346e-03f, 9.809488098e-03f,
+9.799309460e-03f, 9.789114450e-03f, 9.778903087e-03f, 9.768675390e-03f, 9.758431378e-03f, 9.748171067e-03f, 9.737894479e-03f, 9.727601630e-03f, 9.717292540e-03f, 9.706967227e-03f,
+9.696625710e-03f, 9.686268009e-03f, 9.675894140e-03f, 9.665504125e-03f, 9.655097980e-03f, 9.644675726e-03f, 9.634237381e-03f, 9.623782964e-03f, 9.613312494e-03f, 9.602825989e-03f,
+9.592323470e-03f, 9.581804954e-03f, 9.571270461e-03f, 9.560720011e-03f, 9.550153621e-03f, 9.539571312e-03f, 9.528973102e-03f, 9.518359011e-03f, 9.507729058e-03f, 9.497083261e-03f,
+9.486421641e-03f, 9.475744217e-03f, 9.465051007e-03f, 9.454342032e-03f, 9.443617310e-03f, 9.432876861e-03f, 9.422120705e-03f, 9.411348861e-03f, 9.400561348e-03f, 9.389758186e-03f,
+9.378939394e-03f, 9.368104992e-03f, 9.357254999e-03f, 9.346389436e-03f, 9.335508321e-03f, 9.324611675e-03f, 9.313699517e-03f, 9.302771866e-03f, 9.291828743e-03f, 9.280870167e-03f,
+9.269896159e-03f, 9.258906737e-03f, 9.247901921e-03f, 9.236881733e-03f, 9.225846190e-03f, 9.214795314e-03f, 9.203729124e-03f, 9.192647640e-03f, 9.181550883e-03f, 9.170438871e-03f,
+9.159311626e-03f, 9.148169167e-03f, 9.137011515e-03f, 9.125838689e-03f, 9.114650709e-03f, 9.103447597e-03f, 9.092229371e-03f, 9.080996052e-03f, 9.069747661e-03f, 9.058484218e-03f,
+9.047205742e-03f, 9.035912255e-03f, 9.024603776e-03f, 9.013280326e-03f, 9.001941926e-03f, 8.990588595e-03f, 8.979220354e-03f, 8.967837224e-03f, 8.956439225e-03f, 8.945026378e-03f,
+8.933598703e-03f, 8.922156221e-03f, 8.910698952e-03f, 8.899226916e-03f, 8.887740136e-03f, 8.876238630e-03f, 8.864722420e-03f, 8.853191527e-03f, 8.841645971e-03f, 8.830085773e-03f,
+8.818510954e-03f, 8.806921535e-03f, 8.795317536e-03f, 8.783698978e-03f, 8.772065883e-03f, 8.760418270e-03f, 8.748756161e-03f, 8.737079578e-03f, 8.725388540e-03f, 8.713683069e-03f,
+8.701963186e-03f, 8.690228911e-03f, 8.678480267e-03f, 8.666717274e-03f, 8.654939953e-03f, 8.643148325e-03f, 8.631342412e-03f, 8.619522234e-03f, 8.607687813e-03f, 8.595839170e-03f,
+8.583976327e-03f, 8.572099304e-03f, 8.560208123e-03f, 8.548302805e-03f, 8.536383372e-03f, 8.524449845e-03f, 8.512502244e-03f, 8.500540593e-03f, 8.488564912e-03f, 8.476575222e-03f,
+8.464571546e-03f, 8.452553904e-03f, 8.440522318e-03f, 8.428476810e-03f, 8.416417401e-03f, 8.404344113e-03f, 8.392256967e-03f, 8.380155985e-03f, 8.368041190e-03f, 8.355912601e-03f,
+8.343770242e-03f, 8.331614134e-03f, 8.319444298e-03f, 8.307260757e-03f, 8.295063532e-03f, 8.282852645e-03f, 8.270628117e-03f, 8.258389972e-03f, 8.246138230e-03f, 8.233872914e-03f,
+8.221594045e-03f, 8.209301646e-03f, 8.196995738e-03f, 8.184676344e-03f, 8.172343485e-03f, 8.159997184e-03f, 8.147637462e-03f, 8.135264341e-03f, 8.122877845e-03f, 8.110477994e-03f,
+8.098064811e-03f, 8.085638319e-03f, 8.073198539e-03f, 8.060745494e-03f, 8.048279205e-03f, 8.035799696e-03f, 8.023306988e-03f, 8.010801104e-03f, 7.998282065e-03f, 7.985749896e-03f,
+7.973204617e-03f, 7.960646251e-03f, 7.948074820e-03f, 7.935490348e-03f, 7.922892856e-03f, 7.910282367e-03f, 7.897658904e-03f, 7.885022488e-03f, 7.872373143e-03f, 7.859710891e-03f,
+7.847035755e-03f, 7.834347757e-03f, 7.821646920e-03f, 7.808933266e-03f, 7.796206818e-03f, 7.783467600e-03f, 7.770715633e-03f, 7.757950940e-03f, 7.745173544e-03f, 7.732383468e-03f,
+7.719580735e-03f, 7.706765367e-03f, 7.693937387e-03f, 7.681096819e-03f, 7.668243684e-03f, 7.655378007e-03f, 7.642499809e-03f, 7.629609114e-03f, 7.616705944e-03f, 7.603790323e-03f,
+7.590862274e-03f, 7.577921820e-03f, 7.564968983e-03f, 7.552003787e-03f, 7.539026254e-03f, 7.526036409e-03f, 7.513034274e-03f, 7.500019872e-03f, 7.486993226e-03f, 7.473954359e-03f,
+7.460903296e-03f, 7.447840058e-03f, 7.434764669e-03f, 7.421677153e-03f, 7.408577533e-03f, 7.395465831e-03f, 7.382342072e-03f, 7.369206278e-03f, 7.356058474e-03f, 7.342898681e-03f,
+7.329726925e-03f, 7.316543227e-03f, 7.303347612e-03f, 7.290140103e-03f, 7.276920724e-03f, 7.263689498e-03f, 7.250446448e-03f, 7.237191598e-03f, 7.223924971e-03f, 7.210646592e-03f,
+7.197356484e-03f, 7.184054669e-03f, 7.170741173e-03f, 7.157416018e-03f, 7.144079229e-03f, 7.130730828e-03f, 7.117370840e-03f, 7.103999288e-03f, 7.090616196e-03f, 7.077221588e-03f,
+7.063815488e-03f, 7.050397919e-03f, 7.036968905e-03f, 7.023528470e-03f, 7.010076638e-03f, 6.996613433e-03f, 6.983138878e-03f, 6.969652997e-03f, 6.956155815e-03f, 6.942647356e-03f,
+6.929127642e-03f, 6.915596699e-03f, 6.902054551e-03f, 6.888501220e-03f, 6.874936732e-03f, 6.861361110e-03f, 6.847774378e-03f, 6.834176561e-03f, 6.820567682e-03f, 6.806947766e-03f,
+6.793316837e-03f, 6.779674919e-03f, 6.766022036e-03f, 6.752358212e-03f, 6.738683472e-03f, 6.724997840e-03f, 6.711301339e-03f, 6.697593995e-03f, 6.683875832e-03f, 6.670146873e-03f,
+6.656407143e-03f, 6.642656667e-03f, 6.628895468e-03f, 6.615123572e-03f, 6.601341002e-03f, 6.587547783e-03f, 6.573743939e-03f, 6.559929495e-03f, 6.546104476e-03f, 6.532268904e-03f,
+6.518422807e-03f, 6.504566206e-03f, 6.490699128e-03f, 6.476821597e-03f, 6.462933636e-03f, 6.449035272e-03f, 6.435126528e-03f, 6.421207429e-03f, 6.407277999e-03f, 6.393338264e-03f,
+6.379388247e-03f, 6.365427974e-03f, 6.351457470e-03f, 6.337476758e-03f, 6.323485863e-03f, 6.309484811e-03f, 6.295473626e-03f, 6.281452333e-03f, 6.267420957e-03f, 6.253379522e-03f,
+6.239328053e-03f, 6.225266575e-03f, 6.211195113e-03f, 6.197113691e-03f, 6.183022336e-03f, 6.168921070e-03f, 6.154809920e-03f, 6.140688911e-03f, 6.126558066e-03f, 6.112417412e-03f,
+6.098266973e-03f, 6.084106774e-03f, 6.069936840e-03f, 6.055757197e-03f, 6.041567868e-03f, 6.027368880e-03f, 6.013160257e-03f, 5.998942024e-03f, 5.984714207e-03f, 5.970476830e-03f,
+5.956229919e-03f, 5.941973499e-03f, 5.927707594e-03f, 5.913432231e-03f, 5.899147434e-03f, 5.884853228e-03f, 5.870549639e-03f, 5.856236692e-03f, 5.841914412e-03f, 5.827582825e-03f,
+5.813241955e-03f, 5.798891828e-03f, 5.784532469e-03f, 5.770163904e-03f, 5.755786157e-03f, 5.741399255e-03f, 5.727003223e-03f, 5.712598085e-03f, 5.698183868e-03f, 5.683760596e-03f,
+5.669328296e-03f, 5.654886992e-03f, 5.640436710e-03f, 5.625977475e-03f, 5.611509314e-03f, 5.597032251e-03f, 5.582546311e-03f, 5.568051521e-03f, 5.553547906e-03f, 5.539035492e-03f,
+5.524514303e-03f, 5.509984366e-03f, 5.495445707e-03f, 5.480898350e-03f, 5.466342321e-03f, 5.451777646e-03f, 5.437204351e-03f, 5.422622461e-03f, 5.408032002e-03f, 5.393433000e-03f,
+5.378825480e-03f, 5.364209468e-03f, 5.349584990e-03f, 5.334952071e-03f, 5.320310737e-03f, 5.305661014e-03f, 5.291002928e-03f, 5.276336504e-03f, 5.261661769e-03f, 5.246978747e-03f,
+5.232287466e-03f, 5.217587950e-03f, 5.202880226e-03f, 5.188164319e-03f, 5.173440255e-03f, 5.158708061e-03f, 5.143967762e-03f, 5.129219383e-03f, 5.114462952e-03f, 5.099698493e-03f,
+5.084926033e-03f, 5.070145598e-03f, 5.055357213e-03f, 5.040560905e-03f, 5.025756700e-03f, 5.010944623e-03f, 4.996124701e-03f, 4.981296960e-03f, 4.966461426e-03f, 4.951618124e-03f,
+4.936767082e-03f, 4.921908324e-03f, 4.907041877e-03f, 4.892167767e-03f, 4.877286021e-03f, 4.862396664e-03f, 4.847499723e-03f, 4.832595223e-03f, 4.817683191e-03f, 4.802763653e-03f,
+4.787836636e-03f, 4.772902164e-03f, 4.757960266e-03f, 4.743010966e-03f, 4.728054291e-03f, 4.713090267e-03f, 4.698118921e-03f, 4.683140279e-03f, 4.668154367e-03f, 4.653161211e-03f,
+4.638160838e-03f, 4.623153274e-03f, 4.608138545e-03f, 4.593116677e-03f, 4.578087698e-03f, 4.563051633e-03f, 4.548008508e-03f, 4.532958351e-03f, 4.517901187e-03f, 4.502837043e-03f,
+4.487765945e-03f, 4.472687920e-03f, 4.457602994e-03f, 4.442511193e-03f, 4.427412544e-03f, 4.412307074e-03f, 4.397194808e-03f, 4.382075774e-03f, 4.366949998e-03f, 4.351817506e-03f,
+4.336678324e-03f, 4.321532481e-03f, 4.306380001e-03f, 4.291220911e-03f, 4.276055239e-03f, 4.260883010e-03f, 4.245704251e-03f, 4.230518988e-03f, 4.215327249e-03f, 4.200129060e-03f,
+4.184924448e-03f, 4.169713438e-03f, 4.154496058e-03f, 4.139272335e-03f, 4.124042294e-03f, 4.108805963e-03f, 4.093563369e-03f, 4.078314537e-03f, 4.063059495e-03f, 4.047798270e-03f,
+4.032530887e-03f, 4.017257375e-03f, 4.001977758e-03f, 3.986692065e-03f, 3.971400322e-03f, 3.956102556e-03f, 3.940798793e-03f, 3.925489061e-03f, 3.910173385e-03f, 3.894851793e-03f,
+3.879524312e-03f, 3.864190968e-03f, 3.848851788e-03f, 3.833506799e-03f, 3.818156028e-03f, 3.802799502e-03f, 3.787437247e-03f, 3.772069291e-03f, 3.756695660e-03f, 3.741316380e-03f,
+3.725931480e-03f, 3.710540986e-03f, 3.695144924e-03f, 3.679743322e-03f, 3.664336207e-03f, 3.648923605e-03f, 3.633505543e-03f, 3.618082049e-03f, 3.602653149e-03f, 3.587218870e-03f,
+3.571779239e-03f, 3.556334284e-03f, 3.540884030e-03f, 3.525428506e-03f, 3.509967737e-03f, 3.494501752e-03f, 3.479030577e-03f, 3.463554239e-03f, 3.448072764e-03f, 3.432586181e-03f,
+3.417094516e-03f, 3.401597797e-03f, 3.386096049e-03f, 3.370589301e-03f, 3.355077579e-03f, 3.339560911e-03f, 3.324039323e-03f, 3.308512842e-03f, 3.292981496e-03f, 3.277445312e-03f,
+3.261904317e-03f, 3.246358538e-03f, 3.230808002e-03f, 3.215252736e-03f, 3.199692767e-03f, 3.184128123e-03f, 3.168558830e-03f, 3.152984916e-03f, 3.137406408e-03f, 3.121823333e-03f,
+3.106235719e-03f, 3.090643591e-03f, 3.075046979e-03f, 3.059445908e-03f, 3.043840406e-03f, 3.028230500e-03f, 3.012616218e-03f, 2.996997586e-03f, 2.981374632e-03f, 2.965747383e-03f,
+2.950115867e-03f, 2.934480109e-03f, 2.918840139e-03f, 2.903195983e-03f, 2.887547667e-03f, 2.871895221e-03f, 2.856238670e-03f, 2.840578042e-03f, 2.824913364e-03f, 2.809244664e-03f,
+2.793571969e-03f, 2.777895306e-03f, 2.762214703e-03f, 2.746530186e-03f, 2.730841783e-03f, 2.715149522e-03f, 2.699453430e-03f, 2.683753533e-03f, 2.668049860e-03f, 2.652342437e-03f,
+2.636631293e-03f, 2.620916454e-03f, 2.605197948e-03f, 2.589475801e-03f, 2.573750043e-03f, 2.558020699e-03f, 2.542287797e-03f, 2.526551364e-03f, 2.510811429e-03f, 2.495068018e-03f,
+2.479321159e-03f, 2.463570878e-03f, 2.447817204e-03f, 2.432060164e-03f, 2.416299786e-03f, 2.400536095e-03f, 2.384769121e-03f, 2.368998891e-03f, 2.353225431e-03f, 2.337448770e-03f,
+2.321668935e-03f, 2.305885952e-03f, 2.290099851e-03f, 2.274310657e-03f, 2.258518399e-03f, 2.242723104e-03f, 2.226924800e-03f, 2.211123513e-03f, 2.195319272e-03f, 2.179512103e-03f,
+2.163702035e-03f, 2.147889094e-03f, 2.132073309e-03f, 2.116254706e-03f, 2.100433313e-03f, 2.084609158e-03f, 2.068782269e-03f, 2.052952672e-03f, 2.037120395e-03f, 2.021285465e-03f,
+2.005447911e-03f, 1.989607759e-03f, 1.973765037e-03f, 1.957919773e-03f, 1.942071995e-03f, 1.926221728e-03f, 1.910369002e-03f, 1.894513844e-03f, 1.878656281e-03f, 1.862796340e-03f,
+1.846934050e-03f, 1.831069438e-03f, 1.815202531e-03f, 1.799333356e-03f, 1.783461942e-03f, 1.767588316e-03f, 1.751712506e-03f, 1.735834538e-03f, 1.719954442e-03f, 1.704072243e-03f,
+1.688187969e-03f, 1.672301649e-03f, 1.656413310e-03f, 1.640522979e-03f, 1.624630684e-03f, 1.608736453e-03f, 1.592840312e-03f, 1.576942290e-03f, 1.561042414e-03f, 1.545140712e-03f,
+1.529237211e-03f, 1.513331938e-03f, 1.497424923e-03f, 1.481516191e-03f, 1.465605771e-03f, 1.449693689e-03f, 1.433779975e-03f, 1.417864655e-03f, 1.401947756e-03f, 1.386029307e-03f,
+1.370109336e-03f, 1.354187868e-03f, 1.338264933e-03f, 1.322340558e-03f, 1.306414770e-03f, 1.290487597e-03f, 1.274559067e-03f, 1.258629206e-03f, 1.242698044e-03f, 1.226765606e-03f,
+1.210831922e-03f, 1.194897018e-03f, 1.178960922e-03f, 1.163023662e-03f, 1.147085265e-03f, 1.131145759e-03f, 1.115205172e-03f, 1.099263530e-03f, 1.083320863e-03f, 1.067377196e-03f,
+1.051432558e-03f, 1.035486977e-03f, 1.019540480e-03f, 1.003593094e-03f, 9.876448476e-04f, 9.716957680e-04f, 9.557458828e-04f, 9.397952197e-04f, 9.238438061e-04f, 9.078916698e-04f,
+8.919388382e-04f, 8.759853391e-04f, 8.600312000e-04f, 8.440764484e-04f, 8.281211120e-04f, 8.121652184e-04f, 7.962087952e-04f, 7.802518699e-04f, 7.642944701e-04f, 7.483366235e-04f,
+7.323783577e-04f, 7.164197001e-04f, 7.004606785e-04f, 6.845013203e-04f, 6.685416532e-04f, 6.525817048e-04f, 6.366215027e-04f, 6.206610744e-04f, 6.047004475e-04f, 5.887396496e-04f,
+5.727787083e-04f, 5.568176511e-04f, 5.408565057e-04f, 5.248952996e-04f, 5.089340603e-04f, 4.929728156e-04f, 4.770115928e-04f, 4.610504197e-04f, 4.450893237e-04f, 4.291283325e-04f,
+4.131674736e-04f, 3.972067745e-04f, 3.812462629e-04f, 3.652859663e-04f, 3.493259122e-04f, 3.333661282e-04f, 3.174066418e-04f, 3.014474807e-04f, 2.854886723e-04f, 2.695302442e-04f,
+2.535722240e-04f, 2.376146392e-04f, 2.216575173e-04f, 2.057008859e-04f, 1.897447725e-04f, 1.737892047e-04f, 1.578342099e-04f, 1.418798157e-04f, 1.259260497e-04f, 1.099729394e-04f,
+9.402051216e-05f, 7.806879568e-05f, 6.211781740e-05f, 4.616760486e-05f, 3.021818556e-05f, 1.426958700e-05f, -1.678163308e-06f, -1.762503786e-05f, -3.357100916e-05f, -4.951604971e-05f,
+-6.546013202e-05f, -8.140322861e-05f, -9.734531197e-05f, -1.132863546e-04f, -1.292263291e-04f, -1.451652080e-04f, -1.611029637e-04f, -1.770395688e-04f, -1.929749958e-04f, -2.089092173e-04f,
+-2.248422059e-04f, -2.407739340e-04f, -2.567043742e-04f, -2.726334990e-04f, -2.885612811e-04f, -3.044876930e-04f, -3.204127072e-04f, -3.363362963e-04f, -3.522584329e-04f, -3.681790895e-04f,
+-3.840982388e-04f, -4.000158533e-04f, -4.159319056e-04f, -4.318463683e-04f, -4.477592140e-04f, -4.636704153e-04f, -4.795799448e-04f, -4.954877751e-04f, -5.113938788e-04f, -5.272982286e-04f,
+-5.432007970e-04f, -5.591015567e-04f, -5.750004803e-04f, -5.908975406e-04f, -6.067927100e-04f, -6.226859612e-04f, -6.385772670e-04f, -6.544665999e-04f, -6.703539326e-04f, -6.862392378e-04f,
+-7.021224881e-04f, -7.180036563e-04f, -7.338827150e-04f, -7.497596369e-04f, -7.656343946e-04f, -7.815069610e-04f, -7.973773086e-04f, -8.132454102e-04f, -8.291112385e-04f, -8.449747662e-04f,
+-8.608359661e-04f, -8.766948108e-04f, -8.925512732e-04f, -9.084053259e-04f, -9.242569417e-04f, -9.401060933e-04f, -9.559527535e-04f, -9.717968951e-04f, -9.876384908e-04f, -1.003477513e-03f,
+-1.019313936e-03f, -1.035147730e-03f, -1.050978871e-03f, -1.066807329e-03f, -1.082633078e-03f, -1.098456090e-03f, -1.114276339e-03f, -1.130093798e-03f, -1.145908438e-03f, -1.161720234e-03f,
+-1.177529157e-03f, -1.193335181e-03f, -1.209138279e-03f, -1.224938423e-03f, -1.240735586e-03f, -1.256529742e-03f, -1.272320862e-03f, -1.288108920e-03f, -1.303893889e-03f, -1.319675742e-03f,
+-1.335454452e-03f, -1.351229990e-03f, -1.367002332e-03f, -1.382771449e-03f, -1.398537314e-03f, -1.414299900e-03f, -1.430059181e-03f, -1.445815128e-03f, -1.461567716e-03f, -1.477316917e-03f,
+-1.493062704e-03f, -1.508805050e-03f, -1.524543928e-03f, -1.540279311e-03f, -1.556011173e-03f, -1.571739485e-03f, -1.587464222e-03f, -1.603185355e-03f, -1.618902859e-03f, -1.634616706e-03f,
+-1.650326870e-03f, -1.666033322e-03f, -1.681736038e-03f, -1.697434988e-03f, -1.713130148e-03f, -1.728821489e-03f, -1.744508984e-03f, -1.760192608e-03f, -1.775872333e-03f, -1.791548132e-03f,
+-1.807219978e-03f, -1.822887845e-03f, -1.838551705e-03f, -1.854211532e-03f, -1.869867299e-03f, -1.885518979e-03f, -1.901166545e-03f, -1.916809971e-03f, -1.932449229e-03f, -1.948084293e-03f,
+-1.963715137e-03f, -1.979341733e-03f, -1.994964054e-03f, -2.010582074e-03f, -2.026195766e-03f, -2.041805104e-03f, -2.057410060e-03f, -2.073010609e-03f, -2.088606722e-03f, -2.104198374e-03f,
+-2.119785538e-03f, -2.135368187e-03f, -2.150946294e-03f, -2.166519833e-03f, -2.182088777e-03f, -2.197653100e-03f, -2.213212775e-03f, -2.228767775e-03f, -2.244318074e-03f, -2.259863644e-03f,
+-2.275404460e-03f, -2.290940495e-03f, -2.306471722e-03f, -2.321998115e-03f, -2.337519647e-03f, -2.353036292e-03f, -2.368548023e-03f, -2.384054813e-03f, -2.399556637e-03f, -2.415053466e-03f,
+-2.430545276e-03f, -2.446032040e-03f, -2.461513730e-03f, -2.476990321e-03f, -2.492461787e-03f, -2.507928100e-03f, -2.523389234e-03f, -2.538845163e-03f, -2.554295860e-03f, -2.569741300e-03f,
+-2.585181455e-03f, -2.600616300e-03f, -2.616045807e-03f, -2.631469951e-03f, -2.646888705e-03f, -2.662302042e-03f, -2.677709938e-03f, -2.693112364e-03f, -2.708509295e-03f, -2.723900705e-03f,
+-2.739286567e-03f, -2.754666855e-03f, -2.770041543e-03f, -2.785410605e-03f, -2.800774013e-03f, -2.816131743e-03f, -2.831483768e-03f, -2.846830061e-03f, -2.862170596e-03f, -2.877505348e-03f,
+-2.892834290e-03f, -2.908157395e-03f, -2.923474639e-03f, -2.938785994e-03f, -2.954091434e-03f, -2.969390934e-03f, -2.984684467e-03f, -2.999972007e-03f, -3.015253528e-03f, -3.030529004e-03f,
+-3.045798410e-03f, -3.061061718e-03f, -3.076318903e-03f, -3.091569939e-03f, -3.106814799e-03f, -3.122053459e-03f, -3.137285891e-03f, -3.152512070e-03f, -3.167731970e-03f, -3.182945566e-03f,
+-3.198152830e-03f, -3.213353737e-03f, -3.228548262e-03f, -3.243736377e-03f, -3.258918059e-03f, -3.274093280e-03f, -3.289262014e-03f, -3.304424236e-03f, -3.319579921e-03f, -3.334729041e-03f,
+-3.349871572e-03f, -3.365007488e-03f, -3.380136762e-03f, -3.395259369e-03f, -3.410375284e-03f, -3.425484480e-03f, -3.440586932e-03f, -3.455682614e-03f, -3.470771500e-03f, -3.485853565e-03f,
+-3.500928783e-03f, -3.515997128e-03f, -3.531058575e-03f, -3.546113098e-03f, -3.561160671e-03f, -3.576201269e-03f, -3.591234866e-03f, -3.606261437e-03f, -3.621280956e-03f, -3.636293397e-03f,
+-3.651298736e-03f, -3.666296945e-03f, -3.681288001e-03f, -3.696271876e-03f, -3.711248547e-03f, -3.726217987e-03f, -3.741180171e-03f, -3.756135074e-03f, -3.771082669e-03f, -3.786022932e-03f,
+-3.800955838e-03f, -3.815881360e-03f, -3.830799474e-03f, -3.845710153e-03f, -3.860613374e-03f, -3.875509110e-03f, -3.890397335e-03f, -3.905278026e-03f, -3.920151156e-03f, -3.935016700e-03f,
+-3.949874634e-03f, -3.964724930e-03f, -3.979567566e-03f, -3.994402514e-03f, -4.009229751e-03f, -4.024049250e-03f, -4.038860987e-03f, -4.053664936e-03f, -4.068461073e-03f, -4.083249372e-03f,
+-4.098029808e-03f, -4.112802356e-03f, -4.127566991e-03f, -4.142323688e-03f, -4.157072421e-03f, -4.171813166e-03f, -4.186545898e-03f, -4.201270592e-03f, -4.215987222e-03f, -4.230695764e-03f,
+-4.245396192e-03f, -4.260088483e-03f, -4.274772610e-03f, -4.289448549e-03f, -4.304116276e-03f, -4.318775764e-03f, -4.333426990e-03f, -4.348069928e-03f, -4.362704553e-03f, -4.377330841e-03f,
+-4.391948768e-03f, -4.406558307e-03f, -4.421159435e-03f, -4.435752126e-03f, -4.450336356e-03f, -4.464912100e-03f, -4.479479334e-03f, -4.494038032e-03f, -4.508588171e-03f, -4.523129724e-03f,
+-4.537662669e-03f, -4.552186979e-03f, -4.566702631e-03f, -4.581209600e-03f, -4.595707861e-03f, -4.610197389e-03f, -4.624678161e-03f, -4.639150152e-03f, -4.653613336e-03f, -4.668067690e-03f,
+-4.682513189e-03f, -4.696949809e-03f, -4.711377525e-03f, -4.725796312e-03f, -4.740206147e-03f, -4.754607005e-03f, -4.768998862e-03f, -4.783381692e-03f, -4.797755472e-03f, -4.812120178e-03f,
+-4.826475785e-03f, -4.840822269e-03f, -4.855159605e-03f, -4.869487770e-03f, -4.883806738e-03f, -4.898116487e-03f, -4.912416991e-03f, -4.926708226e-03f, -4.940990169e-03f, -4.955262794e-03f,
+-4.969526079e-03f, -4.983779998e-03f, -4.998024528e-03f, -5.012259645e-03f, -5.026485324e-03f, -5.040701541e-03f, -5.054908273e-03f, -5.069105495e-03f, -5.083293184e-03f, -5.097471315e-03f,
+-5.111639864e-03f, -5.125798808e-03f, -5.139948122e-03f, -5.154087783e-03f, -5.168217767e-03f, -5.182338049e-03f, -5.196448607e-03f, -5.210549415e-03f, -5.224640451e-03f, -5.238721691e-03f,
+-5.252793110e-03f, -5.266854685e-03f, -5.280906392e-03f, -5.294948207e-03f, -5.308980107e-03f, -5.323002069e-03f, -5.337014067e-03f, -5.351016080e-03f, -5.365008082e-03f, -5.378990051e-03f,
+-5.392961962e-03f, -5.406923793e-03f, -5.420875519e-03f, -5.434817118e-03f, -5.448748565e-03f, -5.462669837e-03f, -5.476580911e-03f, -5.490481763e-03f, -5.504372369e-03f, -5.518252707e-03f,
+-5.532122752e-03f, -5.545982482e-03f, -5.559831873e-03f, -5.573670902e-03f, -5.587499545e-03f, -5.601317778e-03f, -5.615125580e-03f, -5.628922926e-03f, -5.642709793e-03f, -5.656486158e-03f,
+-5.670251998e-03f, -5.684007289e-03f, -5.697752008e-03f, -5.711486133e-03f, -5.725209639e-03f, -5.738922504e-03f, -5.752624705e-03f, -5.766316219e-03f, -5.779997022e-03f, -5.793667092e-03f,
+-5.807326405e-03f, -5.820974939e-03f, -5.834612671e-03f, -5.848239576e-03f, -5.861855634e-03f, -5.875460820e-03f, -5.889055112e-03f, -5.902638487e-03f, -5.916210921e-03f, -5.929772393e-03f,
+-5.943322879e-03f, -5.956862357e-03f, -5.970390803e-03f, -5.983908196e-03f, -5.997414511e-03f, -6.010909727e-03f, -6.024393821e-03f, -6.037866770e-03f, -6.051328551e-03f, -6.064779143e-03f,
+-6.078218521e-03f, -6.091646664e-03f, -6.105063548e-03f, -6.118469152e-03f, -6.131863453e-03f, -6.145246429e-03f, -6.158618056e-03f, -6.171978313e-03f, -6.185327176e-03f, -6.198664624e-03f,
+-6.211990634e-03f, -6.225305183e-03f, -6.238608250e-03f, -6.251899812e-03f, -6.265179847e-03f, -6.278448331e-03f, -6.291705244e-03f, -6.304950562e-03f, -6.318184264e-03f, -6.331406327e-03f,
+-6.344616729e-03f, -6.357815448e-03f, -6.371002462e-03f, -6.384177748e-03f, -6.397341285e-03f, -6.410493050e-03f, -6.423633021e-03f, -6.436761176e-03f, -6.449877494e-03f, -6.462981952e-03f,
+-6.476074527e-03f, -6.489155200e-03f, -6.502223946e-03f, -6.515280745e-03f, -6.528325574e-03f, -6.541358411e-03f, -6.554379236e-03f, -6.567388025e-03f, -6.580384757e-03f, -6.593369410e-03f,
+-6.606341963e-03f, -6.619302394e-03f, -6.632250680e-03f, -6.645186801e-03f, -6.658110734e-03f, -6.671022459e-03f, -6.683921952e-03f, -6.696809194e-03f, -6.709684161e-03f, -6.722546833e-03f,
+-6.735397188e-03f, -6.748235204e-03f, -6.761060861e-03f, -6.773874136e-03f, -6.786675007e-03f, -6.799463455e-03f, -6.812239456e-03f, -6.825002990e-03f, -6.837754036e-03f, -6.850492571e-03f,
+-6.863218576e-03f, -6.875932028e-03f, -6.888632905e-03f, -6.901321188e-03f, -6.913996855e-03f, -6.926659884e-03f, -6.939310254e-03f, -6.951947944e-03f, -6.964572933e-03f, -6.977185200e-03f,
+-6.989784724e-03f, -7.002371484e-03f, -7.014945458e-03f, -7.027506625e-03f, -7.040054966e-03f, -7.052590458e-03f, -7.065113080e-03f, -7.077622813e-03f, -7.090119634e-03f, -7.102603523e-03f,
+-7.115074459e-03f, -7.127532422e-03f, -7.139977390e-03f, -7.152409343e-03f, -7.164828259e-03f, -7.177234119e-03f, -7.189626901e-03f, -7.202006585e-03f, -7.214373150e-03f, -7.226726575e-03f,
+-7.239066840e-03f, -7.251393924e-03f, -7.263707807e-03f, -7.276008468e-03f, -7.288295887e-03f, -7.300570042e-03f, -7.312830914e-03f, -7.325078483e-03f, -7.337312727e-03f, -7.349533626e-03f,
+-7.361741160e-03f, -7.373935308e-03f, -7.386116051e-03f, -7.398283368e-03f, -7.410437238e-03f, -7.422577641e-03f, -7.434704558e-03f, -7.446817967e-03f, -7.458917849e-03f, -7.471004184e-03f,
+-7.483076951e-03f, -7.495136130e-03f, -7.507181702e-03f, -7.519213645e-03f, -7.531231941e-03f, -7.543236569e-03f, -7.555227508e-03f, -7.567204740e-03f, -7.579168244e-03f, -7.591118000e-03f,
+-7.603053989e-03f, -7.614976190e-03f, -7.626884583e-03f, -7.638779149e-03f, -7.650659869e-03f, -7.662526721e-03f, -7.674379688e-03f, -7.686218747e-03f, -7.698043881e-03f, -7.709855070e-03f,
+-7.721652293e-03f, -7.733435531e-03f, -7.745204765e-03f, -7.756959975e-03f, -7.768701141e-03f, -7.780428244e-03f, -7.792141265e-03f, -7.803840184e-03f, -7.815524981e-03f, -7.827195637e-03f,
+-7.838852133e-03f, -7.850494450e-03f, -7.862122567e-03f, -7.873736466e-03f, -7.885336128e-03f, -7.896921532e-03f, -7.908492661e-03f, -7.920049494e-03f, -7.931592013e-03f, -7.943120199e-03f,
+-7.954634031e-03f, -7.966133492e-03f, -7.977618561e-03f, -7.989089221e-03f, -8.000545452e-03f, -8.011987234e-03f, -8.023414550e-03f, -8.034827379e-03f, -8.046225704e-03f, -8.057609505e-03f,
+-8.068978763e-03f, -8.080333460e-03f, -8.091673576e-03f, -8.102999094e-03f, -8.114309993e-03f, -8.125606256e-03f, -8.136887863e-03f, -8.148154796e-03f, -8.159407037e-03f, -8.170644566e-03f,
+-8.181867365e-03f, -8.193075416e-03f, -8.204268700e-03f, -8.215447198e-03f, -8.226610891e-03f, -8.237759763e-03f, -8.248893793e-03f, -8.260012963e-03f, -8.271117256e-03f, -8.282206652e-03f,
+-8.293281134e-03f, -8.304340683e-03f, -8.315385281e-03f, -8.326414909e-03f, -8.337429550e-03f, -8.348429184e-03f, -8.359413795e-03f, -8.370383363e-03f, -8.381337871e-03f, -8.392277300e-03f,
+-8.403201633e-03f, -8.414110851e-03f, -8.425004936e-03f, -8.435883871e-03f, -8.446747637e-03f, -8.457596216e-03f, -8.468429591e-03f, -8.479247744e-03f, -8.490050657e-03f, -8.500838311e-03f,
+-8.511610690e-03f, -8.522367775e-03f, -8.533109548e-03f, -8.543835993e-03f, -8.554547090e-03f, -8.565242824e-03f, -8.575923175e-03f, -8.586588126e-03f, -8.597237660e-03f, -8.607871759e-03f,
+-8.618490406e-03f, -8.629093583e-03f, -8.639681273e-03f, -8.650253458e-03f, -8.660810120e-03f, -8.671351243e-03f, -8.681876809e-03f, -8.692386801e-03f, -8.702881201e-03f, -8.713359992e-03f,
+-8.723823157e-03f, -8.734270679e-03f, -8.744702540e-03f, -8.755118723e-03f, -8.765519211e-03f, -8.775903988e-03f, -8.786273035e-03f, -8.796626336e-03f, -8.806963874e-03f, -8.817285632e-03f,
+-8.827591593e-03f, -8.837881740e-03f, -8.848156055e-03f, -8.858414523e-03f, -8.868657126e-03f, -8.878883848e-03f, -8.889094671e-03f, -8.899289579e-03f, -8.909468555e-03f, -8.919631583e-03f,
+-8.929778645e-03f, -8.939909725e-03f, -8.950024807e-03f, -8.960123874e-03f, -8.970206908e-03f, -8.980273895e-03f, -8.990324817e-03f, -9.000359657e-03f, -9.010378400e-03f, -9.020381028e-03f,
+-9.030367526e-03f, -9.040337877e-03f, -9.050292064e-03f, -9.060230072e-03f, -9.070151884e-03f, -9.080057484e-03f, -9.089946855e-03f, -9.099819982e-03f, -9.109676848e-03f, -9.119517437e-03f,
+-9.129341734e-03f, -9.139149721e-03f, -9.148941382e-03f, -9.158716703e-03f, -9.168475666e-03f, -9.178218257e-03f, -9.187944458e-03f, -9.197654254e-03f, -9.207347629e-03f, -9.217024568e-03f,
+-9.226685054e-03f, -9.236329072e-03f, -9.245956605e-03f, -9.255567639e-03f, -9.265162157e-03f, -9.274740144e-03f, -9.284301584e-03f, -9.293846461e-03f, -9.303374761e-03f, -9.312886467e-03f,
+-9.322381563e-03f, -9.331860035e-03f, -9.341321867e-03f, -9.350767043e-03f, -9.360195549e-03f, -9.369607368e-03f, -9.379002485e-03f, -9.388380885e-03f, -9.397742553e-03f, -9.407087473e-03f,
+-9.416415631e-03f, -9.425727010e-03f, -9.435021596e-03f, -9.444299374e-03f, -9.453560329e-03f, -9.462804445e-03f, -9.472031707e-03f, -9.481242101e-03f, -9.490435611e-03f, -9.499612222e-03f,
+-9.508771921e-03f, -9.517914690e-03f, -9.527040517e-03f, -9.536149385e-03f, -9.545241280e-03f, -9.554316188e-03f, -9.563374093e-03f, -9.572414982e-03f, -9.581438838e-03f, -9.590445647e-03f,
+-9.599435396e-03f, -9.608408069e-03f, -9.617363651e-03f, -9.626302129e-03f, -9.635223487e-03f, -9.644127711e-03f, -9.653014787e-03f, -9.661884700e-03f, -9.670737436e-03f, -9.679572981e-03f,
+-9.688391320e-03f, -9.697192438e-03f, -9.705976323e-03f, -9.714742958e-03f, -9.723492331e-03f, -9.732224427e-03f, -9.740939232e-03f, -9.749636732e-03f, -9.758316912e-03f, -9.766979759e-03f,
+-9.775625258e-03f, -9.784253396e-03f, -9.792864159e-03f, -9.801457532e-03f, -9.810033502e-03f, -9.818592055e-03f, -9.827133178e-03f, -9.835656855e-03f, -9.844163074e-03f, -9.852651821e-03f,
+-9.861123082e-03f, -9.869576843e-03f, -9.878013091e-03f, -9.886431812e-03f, -9.894832993e-03f, -9.903216619e-03f, -9.911582679e-03f, -9.919931157e-03f, -9.928262040e-03f, -9.936575315e-03f,
+-9.944870970e-03f, -9.953148989e-03f, -9.961409360e-03f, -9.969652070e-03f, -9.977877106e-03f, -9.986084453e-03f, -9.994274099e-03f, -1.000244603e-02f, -1.001060024e-02f, -1.001873670e-02f,
+-1.002685541e-02f, -1.003495635e-02f, -1.004303952e-02f, -1.005110489e-02f, -1.005915245e-02f, -1.006718220e-02f, -1.007519411e-02f, -1.008318818e-02f, -1.009116440e-02f, -1.009912274e-02f,
+-1.010706320e-02f, -1.011498577e-02f, -1.012289042e-02f, -1.013077716e-02f, -1.013864596e-02f, -1.014649682e-02f, -1.015432971e-02f, -1.016214464e-02f, -1.016994158e-02f, -1.017772052e-02f,
+-1.018548146e-02f, -1.019322437e-02f, -1.020094926e-02f, -1.020865609e-02f, -1.021634487e-02f, -1.022401557e-02f, -1.023166820e-02f, -1.023930272e-02f, -1.024691914e-02f, -1.025451744e-02f,
+-1.026209761e-02f, -1.026965964e-02f, -1.027720351e-02f, -1.028472921e-02f, -1.029223673e-02f, -1.029972606e-02f, -1.030719719e-02f, -1.031465010e-02f, -1.032208478e-02f, -1.032950122e-02f,
+-1.033689941e-02f, -1.034427934e-02f, -1.035164099e-02f, -1.035898436e-02f, -1.036630943e-02f, -1.037361619e-02f, -1.038090462e-02f, -1.038817473e-02f, -1.039542648e-02f, -1.040265989e-02f,
+-1.040987492e-02f, -1.041707158e-02f, -1.042424984e-02f, -1.043140970e-02f, -1.043855115e-02f, -1.044567418e-02f, -1.045277876e-02f, -1.045986490e-02f, -1.046693259e-02f, -1.047398180e-02f,
+-1.048101253e-02f, -1.048802477e-02f, -1.049501851e-02f, -1.050199373e-02f, -1.050895042e-02f, -1.051588858e-02f, -1.052280820e-02f, -1.052970925e-02f, -1.053659174e-02f, -1.054345564e-02f,
+-1.055030095e-02f, -1.055712767e-02f, -1.056393577e-02f, -1.057072524e-02f, -1.057749609e-02f, -1.058424828e-02f, -1.059098183e-02f, -1.059769670e-02f, -1.060439290e-02f, -1.061107042e-02f,
+-1.061772923e-02f, -1.062436934e-02f, -1.063099073e-02f, -1.063759339e-02f, -1.064417731e-02f, -1.065074248e-02f, -1.065728889e-02f, -1.066381653e-02f, -1.067032539e-02f, -1.067681546e-02f,
+-1.068328672e-02f, -1.068973918e-02f, -1.069617282e-02f, -1.070258762e-02f, -1.070898358e-02f, -1.071536070e-02f, -1.072171895e-02f, -1.072805832e-02f, -1.073437882e-02f, -1.074068043e-02f,
+-1.074696313e-02f, -1.075322693e-02f, -1.075947180e-02f, -1.076569774e-02f, -1.077190474e-02f, -1.077809280e-02f, -1.078426189e-02f, -1.079041201e-02f, -1.079654316e-02f, -1.080265532e-02f,
+-1.080874848e-02f, -1.081482263e-02f, -1.082087776e-02f, -1.082691387e-02f, -1.083293094e-02f, -1.083892897e-02f, -1.084490795e-02f, -1.085086786e-02f, -1.085680869e-02f, -1.086273045e-02f,
+-1.086863311e-02f, -1.087451668e-02f, -1.088038113e-02f, -1.088622647e-02f, -1.089205267e-02f, -1.089785975e-02f, -1.090364767e-02f, -1.090941644e-02f, -1.091516605e-02f, -1.092089648e-02f,
+-1.092660774e-02f, -1.093229980e-02f, -1.093797266e-02f, -1.094362632e-02f, -1.094926076e-02f, -1.095487597e-02f, -1.096047195e-02f, -1.096604869e-02f, -1.097160618e-02f, -1.097714441e-02f,
+-1.098266337e-02f, -1.098816305e-02f, -1.099364345e-02f, -1.099910455e-02f, -1.100454635e-02f, -1.100996885e-02f, -1.101537202e-02f, -1.102075587e-02f, -1.102612038e-02f, -1.103146555e-02f,
+-1.103679137e-02f, -1.104209783e-02f, -1.104738492e-02f, -1.105265263e-02f, -1.105790096e-02f, -1.106312990e-02f, -1.106833944e-02f, -1.107352957e-02f, -1.107870028e-02f, -1.108385158e-02f,
+-1.108898344e-02f, -1.109409586e-02f, -1.109918883e-02f, -1.110426235e-02f, -1.110931641e-02f, -1.111435100e-02f, -1.111936610e-02f, -1.112436173e-02f, -1.112933786e-02f, -1.113429449e-02f,
+-1.113923161e-02f, -1.114414922e-02f, -1.114904730e-02f, -1.115392586e-02f, -1.115878487e-02f, -1.116362434e-02f, -1.116844426e-02f, -1.117324462e-02f, -1.117802541e-02f, -1.118278663e-02f,
+-1.118752827e-02f, -1.119225032e-02f, -1.119695277e-02f, -1.120163562e-02f, -1.120629887e-02f, -1.121094249e-02f, -1.121556649e-02f, -1.122017087e-02f, -1.122475560e-02f, -1.122932069e-02f,
+-1.123386613e-02f, -1.123839191e-02f, -1.124289803e-02f, -1.124738448e-02f, -1.125185124e-02f, -1.125629833e-02f, -1.126072572e-02f, -1.126513342e-02f, -1.126952141e-02f, -1.127388969e-02f,
+-1.127823825e-02f, -1.128256709e-02f, -1.128687620e-02f, -1.129116557e-02f, -1.129543520e-02f, -1.129968509e-02f, -1.130391521e-02f, -1.130812558e-02f, -1.131231617e-02f, -1.131648700e-02f,
+-1.132063804e-02f, -1.132476930e-02f, -1.132888076e-02f, -1.133297243e-02f, -1.133704429e-02f, -1.134109634e-02f, -1.134512858e-02f, -1.134914099e-02f, -1.135313357e-02f, -1.135710633e-02f,
+-1.136105924e-02f, -1.136499231e-02f, -1.136890552e-02f, -1.137279888e-02f, -1.137667238e-02f, -1.138052601e-02f, -1.138435977e-02f, -1.138817364e-02f, -1.139196764e-02f, -1.139574174e-02f,
+-1.139949595e-02f, -1.140323025e-02f, -1.140694465e-02f, -1.141063914e-02f, -1.141431371e-02f, -1.141796836e-02f, -1.142160309e-02f, -1.142521787e-02f, -1.142881273e-02f, -1.143238764e-02f,
+-1.143594260e-02f, -1.143947761e-02f, -1.144299266e-02f, -1.144648774e-02f, -1.144996286e-02f, -1.145341801e-02f, -1.145685318e-02f, -1.146026836e-02f, -1.146366356e-02f, -1.146703877e-02f,
+-1.147039398e-02f, -1.147372919e-02f, -1.147704439e-02f, -1.148033958e-02f, -1.148361475e-02f, -1.148686991e-02f, -1.149010504e-02f, -1.149332014e-02f, -1.149651521e-02f, -1.149969024e-02f,
+-1.150284522e-02f, -1.150598016e-02f, -1.150909505e-02f, -1.151218988e-02f, -1.151526466e-02f, -1.151831937e-02f, -1.152135401e-02f, -1.152436858e-02f, -1.152736307e-02f, -1.153033748e-02f,
+-1.153329181e-02f, -1.153622605e-02f, -1.153914019e-02f, -1.154203424e-02f, -1.154490819e-02f, -1.154776204e-02f, -1.155059577e-02f, -1.155340940e-02f, -1.155620291e-02f, -1.155897630e-02f,
+-1.156172957e-02f, -1.156446271e-02f, -1.156717572e-02f, -1.156986859e-02f, -1.157254133e-02f, -1.157519393e-02f, -1.157782638e-02f, -1.158043868e-02f, -1.158303084e-02f, -1.158560283e-02f,
+-1.158815467e-02f, -1.159068635e-02f, -1.159319787e-02f, -1.159568921e-02f, -1.159816038e-02f, -1.160061138e-02f, -1.160304221e-02f, -1.160545285e-02f, -1.160784331e-02f, -1.161021358e-02f,
+-1.161256366e-02f, -1.161489355e-02f, -1.161720324e-02f, -1.161949273e-02f, -1.162176203e-02f, -1.162401112e-02f, -1.162624000e-02f, -1.162844867e-02f, -1.163063713e-02f, -1.163280537e-02f,
+-1.163495340e-02f, -1.163708120e-02f, -1.163918879e-02f, -1.164127614e-02f, -1.164334327e-02f, -1.164539017e-02f, -1.164741684e-02f, -1.164942327e-02f, -1.165140946e-02f, -1.165337541e-02f,
+-1.165532112e-02f, -1.165724659e-02f, -1.165915181e-02f, -1.166103677e-02f, -1.166290149e-02f, -1.166474596e-02f, -1.166657017e-02f, -1.166837412e-02f, -1.167015781e-02f, -1.167192124e-02f,
+-1.167366441e-02f, -1.167538731e-02f, -1.167708994e-02f, -1.167877231e-02f, -1.168043440e-02f, -1.168207623e-02f, -1.168369777e-02f, -1.168529904e-02f, -1.168688004e-02f, -1.168844075e-02f,
+-1.168998118e-02f, -1.169150133e-02f, -1.169300120e-02f, -1.169448078e-02f, -1.169594008e-02f, -1.169737908e-02f, -1.169879780e-02f, -1.170019622e-02f, -1.170157435e-02f, -1.170293219e-02f,
+-1.170426973e-02f, -1.170558698e-02f, -1.170688393e-02f, -1.170816058e-02f, -1.170941693e-02f, -1.171065298e-02f, -1.171186873e-02f, -1.171306417e-02f, -1.171423931e-02f, -1.171539415e-02f,
+-1.171652868e-02f, -1.171764291e-02f, -1.171873683e-02f, -1.171981044e-02f, -1.172086374e-02f, -1.172189673e-02f, -1.172290941e-02f, -1.172390178e-02f, -1.172487384e-02f, -1.172582559e-02f,
+-1.172675702e-02f, -1.172766814e-02f, -1.172855895e-02f, -1.172942944e-02f, -1.173027962e-02f, -1.173110949e-02f, -1.173191904e-02f, -1.173270827e-02f, -1.173347719e-02f, -1.173422579e-02f,
+-1.173495408e-02f, -1.173566205e-02f, -1.173634970e-02f, -1.173701704e-02f, -1.173766406e-02f, -1.173829076e-02f, -1.173889715e-02f, -1.173948322e-02f, -1.174004898e-02f, -1.174059441e-02f,
+-1.174111954e-02f, -1.174162434e-02f, -1.174210884e-02f, -1.174257301e-02f, -1.174301687e-02f, -1.174344042e-02f, -1.174384365e-02f, -1.174422657e-02f, -1.174458917e-02f, -1.174493146e-02f,
+-1.174525344e-02f, -1.174555511e-02f, -1.174583646e-02f, -1.174609750e-02f, -1.174633824e-02f, -1.174655866e-02f, -1.174675878e-02f, -1.174693858e-02f, -1.174709809e-02f, -1.174723728e-02f,
+-1.174735617e-02f, -1.174745475e-02f, -1.174753303e-02f, -1.174759101e-02f, -1.174762868e-02f, -1.174764606e-02f, -1.174764313e-02f, -1.174761991e-02f, -1.174757639e-02f, -1.174751257e-02f,
+-1.174742846e-02f, -1.174732405e-02f, -1.174719936e-02f, -1.174705437e-02f, -1.174688909e-02f, -1.174670352e-02f, -1.174649766e-02f, -1.174627152e-02f, -1.174602510e-02f, -1.174575839e-02f,
+-1.174547140e-02f, -1.174516414e-02f, -1.174483659e-02f, -1.174448877e-02f, -1.174412067e-02f, -1.174373230e-02f, -1.174332367e-02f, -1.174289476e-02f, -1.174244558e-02f, -1.174197614e-02f,
+-1.174148644e-02f, -1.174097647e-02f, -1.174044624e-02f, -1.173989576e-02f, -1.173932502e-02f, -1.173873403e-02f, -1.173812279e-02f, -1.173749129e-02f, -1.173683955e-02f, -1.173616757e-02f,
+-1.173547534e-02f, -1.173476287e-02f, -1.173403017e-02f, -1.173327723e-02f, -1.173250406e-02f, -1.173171065e-02f, -1.173089702e-02f, -1.173006316e-02f, -1.172920908e-02f, -1.172833478e-02f,
+-1.172744026e-02f, -1.172652552e-02f, -1.172559058e-02f, -1.172463542e-02f, -1.172366005e-02f, -1.172266448e-02f, -1.172164871e-02f, -1.172061274e-02f, -1.171955658e-02f, -1.171848022e-02f,
+-1.171738367e-02f, -1.171626693e-02f, -1.171513001e-02f, -1.171397291e-02f, -1.171279563e-02f, -1.171159818e-02f, -1.171038055e-02f, -1.170914276e-02f, -1.170788480e-02f, -1.170660668e-02f,
+-1.170530840e-02f, -1.170398997e-02f, -1.170265138e-02f, -1.170129265e-02f, -1.169991377e-02f, -1.169851475e-02f, -1.169709559e-02f, -1.169565629e-02f, -1.169419687e-02f, -1.169271732e-02f,
+-1.169121764e-02f, -1.168969784e-02f, -1.168815793e-02f, -1.168659791e-02f, -1.168501777e-02f, -1.168341753e-02f, -1.168179720e-02f, -1.168015676e-02f, -1.167849623e-02f, -1.167681561e-02f,
+-1.167511490e-02f, -1.167339412e-02f, -1.167165325e-02f, -1.166989232e-02f, -1.166811131e-02f, -1.166631024e-02f, -1.166448911e-02f, -1.166264792e-02f, -1.166078668e-02f, -1.165890540e-02f,
+-1.165700407e-02f, -1.165508270e-02f, -1.165314129e-02f, -1.165117985e-02f, -1.164919839e-02f, -1.164719691e-02f, -1.164517541e-02f, -1.164313390e-02f, -1.164107238e-02f, -1.163899086e-02f,
+-1.163688934e-02f, -1.163476782e-02f, -1.163262632e-02f, -1.163046483e-02f, -1.162828337e-02f, -1.162608193e-02f, -1.162386052e-02f, -1.162161914e-02f, -1.161935781e-02f, -1.161707652e-02f,
+-1.161477528e-02f, -1.161245410e-02f, -1.161011298e-02f, -1.160775192e-02f, -1.160537093e-02f, -1.160297002e-02f, -1.160054919e-02f, -1.159810845e-02f, -1.159564780e-02f, -1.159316725e-02f,
+-1.159066680e-02f, -1.158814645e-02f, -1.158560622e-02f, -1.158304611e-02f, -1.158046612e-02f, -1.157786627e-02f, -1.157524654e-02f, -1.157260696e-02f, -1.156994753e-02f, -1.156726825e-02f,
+-1.156456912e-02f, -1.156185016e-02f, -1.155911137e-02f, -1.155635276e-02f, -1.155357432e-02f, -1.155077607e-02f, -1.154795802e-02f, -1.154512016e-02f, -1.154226251e-02f, -1.153938507e-02f,
+-1.153648785e-02f, -1.153357085e-02f, -1.153063407e-02f, -1.152767754e-02f, -1.152470124e-02f, -1.152170520e-02f, -1.151868940e-02f, -1.151565387e-02f, -1.151259860e-02f, -1.150952361e-02f,
+-1.150642889e-02f, -1.150331446e-02f, -1.150018032e-02f, -1.149702648e-02f, -1.149385295e-02f, -1.149065973e-02f, -1.148744682e-02f, -1.148421424e-02f, -1.148096199e-02f, -1.147769008e-02f,
+-1.147439851e-02f, -1.147108730e-02f, -1.146775644e-02f, -1.146440595e-02f, -1.146103583e-02f, -1.145764609e-02f, -1.145423674e-02f, -1.145080778e-02f, -1.144735921e-02f, -1.144389106e-02f,
+-1.144040332e-02f, -1.143689600e-02f, -1.143336910e-02f, -1.142982265e-02f, -1.142625663e-02f, -1.142267106e-02f, -1.141906595e-02f, -1.141544131e-02f, -1.141179714e-02f, -1.140813344e-02f,
+-1.140445023e-02f, -1.140074752e-02f, -1.139702530e-02f, -1.139328360e-02f, -1.138952241e-02f, -1.138574174e-02f, -1.138194160e-02f, -1.137812201e-02f, -1.137428296e-02f, -1.137042446e-02f,
+-1.136654653e-02f, -1.136264916e-02f, -1.135873237e-02f, -1.135479617e-02f, -1.135084056e-02f, -1.134686555e-02f, -1.134287115e-02f, -1.133885737e-02f, -1.133482421e-02f, -1.133077169e-02f,
+-1.132669980e-02f, -1.132260857e-02f, -1.131849799e-02f, -1.131436807e-02f, -1.131021883e-02f, -1.130605027e-02f, -1.130186240e-02f, -1.129765523e-02f, -1.129342877e-02f, -1.128918302e-02f,
+-1.128491799e-02f, -1.128063370e-02f, -1.127633014e-02f, -1.127200733e-02f, -1.126766528e-02f, -1.126330400e-02f, -1.125892349e-02f, -1.125452376e-02f, -1.125010482e-02f, -1.124566668e-02f,
+-1.124120936e-02f, -1.123673284e-02f, -1.123223716e-02f, -1.122772231e-02f, -1.122318830e-02f, -1.121863515e-02f, -1.121406286e-02f, -1.120947144e-02f, -1.120486089e-02f, -1.120023124e-02f,
+-1.119558248e-02f, -1.119091463e-02f, -1.118622770e-02f, -1.118152169e-02f, -1.117679662e-02f, -1.117205248e-02f, -1.116728930e-02f, -1.116250709e-02f, -1.115770584e-02f, -1.115288557e-02f,
+-1.114804629e-02f, -1.114318802e-02f, -1.113831075e-02f, -1.113341449e-02f, -1.112849927e-02f, -1.112356508e-02f, -1.111861194e-02f, -1.111363985e-02f, -1.110864883e-02f, -1.110363889e-02f,
+-1.109861003e-02f, -1.109356226e-02f, -1.108849560e-02f, -1.108341006e-02f, -1.107830563e-02f, -1.107318234e-02f, -1.106804020e-02f, -1.106287921e-02f, -1.105769938e-02f, -1.105250072e-02f,
+-1.104728325e-02f, -1.104204697e-02f, -1.103679190e-02f, -1.103151804e-02f, -1.102622540e-02f, -1.102091400e-02f, -1.101558384e-02f, -1.101023493e-02f, -1.100486729e-02f, -1.099948093e-02f,
+-1.099407585e-02f, -1.098865206e-02f, -1.098320958e-02f, -1.097774842e-02f, -1.097226859e-02f, -1.096677009e-02f, -1.096125294e-02f, -1.095571715e-02f, -1.095016272e-02f, -1.094458968e-02f,
+-1.093899802e-02f, -1.093338777e-02f, -1.092775893e-02f, -1.092211151e-02f, -1.091644552e-02f, -1.091076098e-02f, -1.090505789e-02f, -1.089933627e-02f, -1.089359612e-02f, -1.088783746e-02f,
+-1.088206030e-02f, -1.087626465e-02f, -1.087045052e-02f, -1.086461792e-02f, -1.085876686e-02f, -1.085289735e-02f, -1.084700941e-02f, -1.084110305e-02f, -1.083517827e-02f, -1.082923509e-02f,
+-1.082327352e-02f, -1.081729357e-02f, -1.081129525e-02f, -1.080527858e-02f, -1.079924356e-02f, -1.079319020e-02f, -1.078711853e-02f, -1.078102854e-02f, -1.077492025e-02f, -1.076879368e-02f,
+-1.076264883e-02f, -1.075648571e-02f, -1.075030434e-02f, -1.074410474e-02f, -1.073788690e-02f, -1.073165084e-02f, -1.072539657e-02f, -1.071912412e-02f, -1.071283347e-02f, -1.070652466e-02f,
+-1.070019769e-02f, -1.069385257e-02f, -1.068748932e-02f, -1.068110795e-02f, -1.067470846e-02f, -1.066829087e-02f, -1.066185520e-02f, -1.065540145e-02f, -1.064892964e-02f, -1.064243978e-02f,
+-1.063593188e-02f, -1.062940596e-02f, -1.062286202e-02f, -1.061630008e-02f, -1.060972015e-02f, -1.060312224e-02f, -1.059650637e-02f, -1.058987254e-02f, -1.058322078e-02f, -1.057655108e-02f,
+-1.056986348e-02f, -1.056315797e-02f, -1.055643457e-02f, -1.054969329e-02f, -1.054293415e-02f, -1.053615716e-02f, -1.052936233e-02f, -1.052254967e-02f, -1.051571920e-02f, -1.050887092e-02f,
+-1.050200486e-02f, -1.049512102e-02f, -1.048821942e-02f, -1.048130007e-02f, -1.047436299e-02f, -1.046740818e-02f, -1.046043566e-02f, -1.045344544e-02f, -1.044643753e-02f, -1.043941196e-02f,
+-1.043236872e-02f, -1.042530784e-02f, -1.041822933e-02f, -1.041113319e-02f, -1.040401946e-02f, -1.039688812e-02f, -1.038973921e-02f, -1.038257274e-02f, -1.037538871e-02f, -1.036818714e-02f,
+-1.036096804e-02f, -1.035373143e-02f, -1.034647732e-02f, -1.033920573e-02f, -1.033191666e-02f, -1.032461014e-02f, -1.031728617e-02f, -1.030994477e-02f, -1.030258595e-02f, -1.029520972e-02f,
+-1.028781611e-02f, -1.028040511e-02f, -1.027297676e-02f, -1.026553105e-02f, -1.025806801e-02f, -1.025058765e-02f, -1.024308998e-02f, -1.023557501e-02f, -1.022804277e-02f, -1.022049326e-02f,
+-1.021292649e-02f, -1.020534249e-02f, -1.019774127e-02f, -1.019012283e-02f, -1.018248720e-02f, -1.017483438e-02f, -1.016716440e-02f, -1.015947726e-02f, -1.015177299e-02f, -1.014405159e-02f,
+-1.013631308e-02f, -1.012855747e-02f, -1.012078478e-02f, -1.011299502e-02f, -1.010518821e-02f, -1.009736436e-02f, -1.008952348e-02f, -1.008166559e-02f, -1.007379071e-02f, -1.006589885e-02f,
+-1.005799002e-02f, -1.005006424e-02f, -1.004212152e-02f, -1.003416187e-02f, -1.002618532e-02f, -1.001819188e-02f, -1.001018155e-02f, -1.000215437e-02f, -9.994110328e-03f, -9.986049457e-03f,
+-9.977971765e-03f, -9.969877269e-03f, -9.961765983e-03f, -9.953637922e-03f, -9.945493101e-03f, -9.937331535e-03f, -9.929153239e-03f, -9.920958227e-03f, -9.912746516e-03f, -9.904518119e-03f,
+-9.896273053e-03f, -9.888011332e-03f, -9.879732972e-03f, -9.871437988e-03f, -9.863126394e-03f, -9.854798207e-03f, -9.846453441e-03f, -9.838092111e-03f, -9.829714234e-03f, -9.821319825e-03f,
+-9.812908898e-03f, -9.804481470e-03f, -9.796037555e-03f, -9.787577169e-03f, -9.779100329e-03f, -9.770607048e-03f, -9.762097344e-03f, -9.753571231e-03f, -9.745028724e-03f, -9.736469841e-03f,
+-9.727894596e-03f, -9.719303004e-03f, -9.710695083e-03f, -9.702070847e-03f, -9.693430312e-03f, -9.684773495e-03f, -9.676100410e-03f, -9.667411074e-03f, -9.658705503e-03f, -9.649983713e-03f,
+-9.641245718e-03f, -9.632491537e-03f, -9.623721184e-03f, -9.614934675e-03f, -9.606132027e-03f, -9.597313256e-03f, -9.588478377e-03f, -9.579627407e-03f, -9.570760363e-03f, -9.561877259e-03f,
+-9.552978113e-03f, -9.544062941e-03f, -9.535131758e-03f, -9.526184582e-03f, -9.517221428e-03f, -9.508242313e-03f, -9.499247254e-03f, -9.490236266e-03f, -9.481209366e-03f, -9.472166571e-03f,
+-9.463107896e-03f, -9.454033360e-03f, -9.444942977e-03f, -9.435836765e-03f, -9.426714740e-03f, -9.417576919e-03f, -9.408423318e-03f, -9.399253955e-03f, -9.390068845e-03f, -9.380868006e-03f,
+-9.371651454e-03f, -9.362419206e-03f, -9.353171279e-03f, -9.343907690e-03f, -9.334628455e-03f, -9.325333591e-03f, -9.316023116e-03f, -9.306697046e-03f, -9.297355398e-03f, -9.287998189e-03f,
+-9.278625436e-03f, -9.269237157e-03f, -9.259833367e-03f, -9.250414085e-03f, -9.240979328e-03f, -9.231529111e-03f, -9.222063454e-03f, -9.212582372e-03f, -9.203085884e-03f, -9.193574006e-03f,
+-9.184046755e-03f, -9.174504150e-03f, -9.164946206e-03f, -9.155372942e-03f, -9.145784375e-03f, -9.136180522e-03f, -9.126561401e-03f, -9.116927029e-03f, -9.107277423e-03f, -9.097612602e-03f,
+-9.087932582e-03f, -9.078237382e-03f, -9.068527018e-03f, -9.058801508e-03f, -9.049060871e-03f, -9.039305122e-03f, -9.029534282e-03f, -9.019748366e-03f, -9.009947392e-03f, -9.000131379e-03f,
+-8.990300345e-03f, -8.980454306e-03f, -8.970593281e-03f, -8.960717287e-03f, -8.950826343e-03f, -8.940920467e-03f, -8.930999675e-03f, -8.921063987e-03f, -8.911113420e-03f, -8.901147993e-03f,
+-8.891167722e-03f, -8.881172627e-03f, -8.871162725e-03f, -8.861138034e-03f, -8.851098573e-03f, -8.841044360e-03f, -8.830975412e-03f, -8.820891749e-03f, -8.810793387e-03f, -8.800680346e-03f,
+-8.790552644e-03f, -8.780410299e-03f, -8.770253329e-03f, -8.760081753e-03f, -8.749895588e-03f, -8.739694855e-03f, -8.729479570e-03f, -8.719249752e-03f, -8.709005420e-03f, -8.698746592e-03f,
+-8.688473286e-03f, -8.678185522e-03f, -8.667883318e-03f, -8.657566692e-03f, -8.647235662e-03f, -8.636890249e-03f, -8.626530469e-03f, -8.616156343e-03f, -8.605767888e-03f, -8.595365123e-03f,
+-8.584948067e-03f, -8.574516739e-03f, -8.564071158e-03f, -8.553611342e-03f, -8.543137310e-03f, -8.532649081e-03f, -8.522146674e-03f, -8.511630109e-03f, -8.501099402e-03f, -8.490554575e-03f,
+-8.479995645e-03f, -8.469422633e-03f, -8.458835555e-03f, -8.448234433e-03f, -8.437619285e-03f, -8.426990129e-03f, -8.416346986e-03f, -8.405689873e-03f, -8.395018812e-03f, -8.384333819e-03f,
+-8.373634916e-03f, -8.362922120e-03f, -8.352195452e-03f, -8.341454930e-03f, -8.330700575e-03f, -8.319932404e-03f, -8.309150438e-03f, -8.298354696e-03f, -8.287545197e-03f, -8.276721960e-03f,
+-8.265885006e-03f, -8.255034353e-03f, -8.244170022e-03f, -8.233292031e-03f, -8.222400400e-03f, -8.211495149e-03f, -8.200576297e-03f, -8.189643864e-03f, -8.178697869e-03f, -8.167738332e-03f,
+-8.156765273e-03f, -8.145778712e-03f, -8.134778667e-03f, -8.123765160e-03f, -8.112738209e-03f, -8.101697834e-03f, -8.090644056e-03f, -8.079576894e-03f, -8.068496367e-03f, -8.057402496e-03f,
+-8.046295301e-03f, -8.035174801e-03f, -8.024041017e-03f, -8.012893968e-03f, -8.001733674e-03f, -7.990560156e-03f, -7.979373433e-03f, -7.968173525e-03f, -7.956960453e-03f, -7.945734236e-03f,
+-7.934494895e-03f, -7.923242450e-03f, -7.911976920e-03f, -7.900698327e-03f, -7.889406690e-03f, -7.878102029e-03f, -7.866784365e-03f, -7.855453718e-03f, -7.844110108e-03f, -7.832753555e-03f,
+-7.821384081e-03f, -7.810001704e-03f, -7.798606446e-03f, -7.787198327e-03f, -7.775777367e-03f, -7.764343587e-03f, -7.752897007e-03f, -7.741437648e-03f, -7.729965530e-03f, -7.718480673e-03f,
+-7.706983098e-03f, -7.695472827e-03f, -7.683949878e-03f, -7.672414273e-03f, -7.660866033e-03f, -7.649305177e-03f, -7.637731728e-03f, -7.626145705e-03f, -7.614547128e-03f, -7.602936020e-03f,
+-7.591312400e-03f, -7.579676290e-03f, -7.568027709e-03f, -7.556366680e-03f, -7.544693222e-03f, -7.533007356e-03f, -7.521309104e-03f, -7.509598486e-03f, -7.497875523e-03f, -7.486140237e-03f,
+-7.474392647e-03f, -7.462632775e-03f, -7.450860642e-03f, -7.439076269e-03f, -7.427279677e-03f, -7.415470887e-03f, -7.403649920e-03f, -7.391816797e-03f, -7.379971539e-03f, -7.368114167e-03f,
+-7.356244703e-03f, -7.344363168e-03f, -7.332469582e-03f, -7.320563967e-03f, -7.308646345e-03f, -7.296716735e-03f, -7.284775161e-03f, -7.272821642e-03f, -7.260856201e-03f, -7.248878858e-03f,
+-7.236889635e-03f, -7.224888554e-03f, -7.212875635e-03f, -7.200850900e-03f, -7.188814370e-03f, -7.176766067e-03f, -7.164706012e-03f, -7.152634228e-03f, -7.140550734e-03f, -7.128455553e-03f,
+-7.116348706e-03f, -7.104230215e-03f, -7.092100102e-03f, -7.079958387e-03f, -7.067805093e-03f, -7.055640241e-03f, -7.043463853e-03f, -7.031275951e-03f, -7.019076555e-03f, -7.006865688e-03f,
+-6.994643372e-03f, -6.982409628e-03f, -6.970164478e-03f, -6.957907944e-03f, -6.945640048e-03f, -6.933360810e-03f, -6.921070254e-03f, -6.908768401e-03f, -6.896455273e-03f, -6.884130892e-03f,
+-6.871795279e-03f, -6.859448457e-03f, -6.847090447e-03f, -6.834721272e-03f, -6.822340953e-03f, -6.809949513e-03f, -6.797546973e-03f, -6.785133355e-03f, -6.772708682e-03f, -6.760272976e-03f,
+-6.747826258e-03f, -6.735368551e-03f, -6.722899876e-03f, -6.710420257e-03f, -6.697929715e-03f, -6.685428271e-03f, -6.672915950e-03f, -6.660392772e-03f, -6.647858760e-03f, -6.635313936e-03f,
+-6.622758322e-03f, -6.610191941e-03f, -6.597614815e-03f, -6.585026966e-03f, -6.572428417e-03f, -6.559819189e-03f, -6.547199306e-03f, -6.534568789e-03f, -6.521927662e-03f, -6.509275945e-03f,
+-6.496613663e-03f, -6.483940837e-03f, -6.471257489e-03f, -6.458563643e-03f, -6.445859321e-03f, -6.433144545e-03f, -6.420419337e-03f, -6.407683721e-03f, -6.394937718e-03f, -6.382181352e-03f,
+-6.369414645e-03f, -6.356637620e-03f, -6.343850299e-03f, -6.331052705e-03f, -6.318244860e-03f, -6.305426788e-03f, -6.292598511e-03f, -6.279760051e-03f, -6.266911431e-03f, -6.254052675e-03f,
+-6.241183805e-03f, -6.228304843e-03f, -6.215415812e-03f, -6.202516736e-03f, -6.189607637e-03f, -6.176688538e-03f, -6.163759462e-03f, -6.150820431e-03f, -6.137871469e-03f, -6.124912598e-03f,
+-6.111943842e-03f, -6.098965222e-03f, -6.085976763e-03f, -6.072978488e-03f, -6.059970418e-03f, -6.046952578e-03f, -6.033924990e-03f, -6.020887677e-03f, -6.007840662e-03f, -5.994783968e-03f,
+-5.981717619e-03f, -5.968641638e-03f, -5.955556047e-03f, -5.942460870e-03f, -5.929356130e-03f, -5.916241849e-03f, -5.903118052e-03f, -5.889984761e-03f, -5.876842000e-03f, -5.863689792e-03f,
+-5.850528159e-03f, -5.837357126e-03f, -5.824176716e-03f, -5.810986951e-03f, -5.797787855e-03f, -5.784579451e-03f, -5.771361764e-03f, -5.758134815e-03f, -5.744898629e-03f, -5.731653228e-03f,
+-5.718398636e-03f, -5.705134877e-03f, -5.691861974e-03f, -5.678579951e-03f, -5.665288830e-03f, -5.651988635e-03f, -5.638679390e-03f, -5.625361118e-03f, -5.612033842e-03f, -5.598697587e-03f,
+-5.585352375e-03f, -5.571998231e-03f, -5.558635178e-03f, -5.545263238e-03f, -5.531882437e-03f, -5.518492797e-03f, -5.505094343e-03f, -5.491687097e-03f, -5.478271083e-03f, -5.464846325e-03f,
+-5.451412847e-03f, -5.437970672e-03f, -5.424519825e-03f, -5.411060328e-03f, -5.397592205e-03f, -5.384115481e-03f, -5.370630179e-03f, -5.357136322e-03f, -5.343633935e-03f, -5.330123041e-03f,
+-5.316603664e-03f, -5.303075828e-03f, -5.289539556e-03f, -5.275994873e-03f, -5.262441802e-03f, -5.248880368e-03f, -5.235310593e-03f, -5.221732503e-03f, -5.208146121e-03f, -5.194551470e-03f,
+-5.180948575e-03f, -5.167337459e-03f, -5.153718148e-03f, -5.140090664e-03f, -5.126455031e-03f, -5.112811274e-03f, -5.099159417e-03f, -5.085499483e-03f, -5.071831497e-03f, -5.058155482e-03f,
+-5.044471463e-03f, -5.030779464e-03f, -5.017079509e-03f, -5.003371622e-03f, -4.989655827e-03f, -4.975932148e-03f, -4.962200610e-03f, -4.948461236e-03f, -4.934714050e-03f, -4.920959077e-03f,
+-4.907196342e-03f, -4.893425867e-03f, -4.879647678e-03f, -4.865861798e-03f, -4.852068253e-03f, -4.838267065e-03f, -4.824458260e-03f, -4.810641861e-03f, -4.796817893e-03f, -4.782986380e-03f,
+-4.769147347e-03f, -4.755300817e-03f, -4.741446815e-03f, -4.727585366e-03f, -4.713716494e-03f, -4.699840222e-03f, -4.685956576e-03f, -4.672065580e-03f, -4.658167259e-03f, -4.644261636e-03f,
+-4.630348736e-03f, -4.616428583e-03f, -4.602501202e-03f, -4.588566618e-03f, -4.574624855e-03f, -4.560675936e-03f, -4.546719888e-03f, -4.532756734e-03f, -4.518786499e-03f, -4.504809207e-03f,
+-4.490824883e-03f, -4.476833551e-03f, -4.462835236e-03f, -4.448829962e-03f, -4.434817755e-03f, -4.420798638e-03f, -4.406772636e-03f, -4.392739775e-03f, -4.378700077e-03f, -4.364653569e-03f,
+-4.350600274e-03f, -4.336540217e-03f, -4.322473424e-03f, -4.308399918e-03f, -4.294319724e-03f, -4.280232868e-03f, -4.266139373e-03f, -4.252039264e-03f, -4.237932566e-03f, -4.223819305e-03f,
+-4.209699503e-03f, -4.195573187e-03f, -4.181440381e-03f, -4.167301110e-03f, -4.153155399e-03f, -4.139003271e-03f, -4.124844753e-03f, -4.110679869e-03f, -4.096508644e-03f, -4.082331102e-03f,
+-4.068147268e-03f, -4.053957168e-03f, -4.039760826e-03f, -4.025558267e-03f, -4.011349516e-03f, -3.997134597e-03f, -3.982913536e-03f, -3.968686357e-03f, -3.954453086e-03f, -3.940213747e-03f,
+-3.925968366e-03f, -3.911716966e-03f, -3.897459574e-03f, -3.883196214e-03f, -3.868926910e-03f, -3.854651689e-03f, -3.840370575e-03f, -3.826083592e-03f, -3.811790767e-03f, -3.797492124e-03f,
+-3.783187687e-03f, -3.768877482e-03f, -3.754561535e-03f, -3.740239870e-03f, -3.725912511e-03f, -3.711579485e-03f, -3.697240816e-03f, -3.682896529e-03f, -3.668546650e-03f, -3.654191203e-03f,
+-3.639830214e-03f, -3.625463707e-03f, -3.611091709e-03f, -3.596714243e-03f, -3.582331335e-03f, -3.567943010e-03f, -3.553549294e-03f, -3.539150211e-03f, -3.524745787e-03f, -3.510336047e-03f,
+-3.495921015e-03f, -3.481500718e-03f, -3.467075180e-03f, -3.452644427e-03f, -3.438208483e-03f, -3.423767375e-03f, -3.409321127e-03f, -3.394869764e-03f, -3.380413312e-03f, -3.365951796e-03f,
+-3.351485241e-03f, -3.337013672e-03f, -3.322537115e-03f, -3.308055596e-03f, -3.293569138e-03f, -3.279077768e-03f, -3.264581511e-03f, -3.250080392e-03f, -3.235574437e-03f, -3.221063670e-03f,
+-3.206548118e-03f, -3.192027805e-03f, -3.177502756e-03f, -3.162972998e-03f, -3.148438556e-03f, -3.133899454e-03f, -3.119355719e-03f, -3.104807375e-03f, -3.090254448e-03f, -3.075696963e-03f,
+-3.061134947e-03f, -3.046568423e-03f, -3.031997418e-03f, -3.017421957e-03f, -3.002842065e-03f, -2.988257769e-03f, -2.973669092e-03f, -2.959076061e-03f, -2.944478701e-03f, -2.929877038e-03f,
+-2.915271097e-03f, -2.900660903e-03f, -2.886046483e-03f, -2.871427860e-03f, -2.856805062e-03f, -2.842178113e-03f, -2.827547039e-03f, -2.812911865e-03f, -2.798272617e-03f, -2.783629321e-03f,
+-2.768982002e-03f, -2.754330684e-03f, -2.739675395e-03f, -2.725016160e-03f, -2.710353003e-03f, -2.695685951e-03f, -2.681015029e-03f, -2.666340263e-03f, -2.651661678e-03f, -2.636979300e-03f,
+-2.622293154e-03f, -2.607603266e-03f, -2.592909661e-03f, -2.578212366e-03f, -2.563511405e-03f, -2.548806804e-03f, -2.534098590e-03f, -2.519386786e-03f, -2.504671420e-03f, -2.489952517e-03f,
+-2.475230101e-03f, -2.460504200e-03f, -2.445774838e-03f, -2.431042042e-03f, -2.416305836e-03f, -2.401566247e-03f, -2.386823299e-03f, -2.372077020e-03f, -2.357327434e-03f, -2.342574567e-03f,
+-2.327818444e-03f, -2.313059092e-03f, -2.298296536e-03f, -2.283530802e-03f, -2.268761915e-03f, -2.253989901e-03f, -2.239214786e-03f, -2.224436596e-03f, -2.209655355e-03f, -2.194871091e-03f,
+-2.180083828e-03f, -2.165293592e-03f, -2.150500409e-03f, -2.135704305e-03f, -2.120905305e-03f, -2.106103436e-03f, -2.091298722e-03f, -2.076491190e-03f, -2.061680865e-03f, -2.046867773e-03f,
+-2.032051940e-03f, -2.017233391e-03f, -2.002412153e-03f, -1.987588250e-03f, -1.972761710e-03f, -1.957932557e-03f, -1.943100817e-03f, -1.928266516e-03f, -1.913429680e-03f, -1.898590335e-03f,
+-1.883748505e-03f, -1.868904218e-03f, -1.854057499e-03f, -1.839208374e-03f, -1.824356868e-03f, -1.809503007e-03f, -1.794646817e-03f, -1.779788324e-03f, -1.764927553e-03f, -1.750064531e-03f,
+-1.735199283e-03f, -1.720331835e-03f, -1.705462213e-03f, -1.690590442e-03f, -1.675716549e-03f, -1.660840559e-03f, -1.645962498e-03f, -1.631082391e-03f, -1.616200266e-03f, -1.601316147e-03f,
+-1.586430060e-03f, -1.571542031e-03f, -1.556652086e-03f, -1.541760251e-03f, -1.526866551e-03f, -1.511971013e-03f, -1.497073661e-03f, -1.482174523e-03f, -1.467273624e-03f, -1.452370990e-03f,
+-1.437466646e-03f, -1.422560619e-03f, -1.407652933e-03f, -1.392743616e-03f, -1.377832693e-03f, -1.362920189e-03f, -1.348006132e-03f, -1.333090545e-03f, -1.318173456e-03f, -1.303254890e-03f,
+-1.288334873e-03f, -1.273413431e-03f, -1.258490590e-03f, -1.243566375e-03f, -1.228640813e-03f, -1.213713928e-03f, -1.198785748e-03f, -1.183856298e-03f, -1.168925604e-03f, -1.153993692e-03f,
+-1.139060587e-03f, -1.124126316e-03f, -1.109190903e-03f, -1.094254376e-03f, -1.079316760e-03f, -1.064378081e-03f, -1.049438365e-03f, -1.034497637e-03f, -1.019555924e-03f, -1.004613251e-03f,
+-9.896696442e-04f, -9.747251295e-04f, -9.597797327e-04f, -9.448334798e-04f, -9.298863964e-04f, -9.149385086e-04f, -8.999898422e-04f, -8.850404231e-04f, -8.700902770e-04f, -8.551394300e-04f,
+-8.401879077e-04f, -8.252357362e-04f, -8.102829413e-04f, -7.953295488e-04f, -7.803755847e-04f, -7.654210747e-04f, -7.504660447e-04f, -7.355105206e-04f, -7.205545283e-04f, -7.055980936e-04f,
+-6.906412424e-04f, -6.756840005e-04f, -6.607263938e-04f, -6.457684481e-04f, -6.308101894e-04f, -6.158516435e-04f, -6.008928362e-04f, -5.859337933e-04f, -5.709745408e-04f, -5.560151045e-04f,
+-5.410555102e-04f, -5.260957838e-04f, -5.111359512e-04f, -4.961760381e-04f, -4.812160705e-04f, -4.662560742e-04f, -4.512960749e-04f, -4.363360987e-04f, -4.213761713e-04f, -4.064163185e-04f,
+-3.914565662e-04f, -3.764969403e-04f, -3.615374665e-04f, -3.465781707e-04f, -3.316190788e-04f, -3.166602165e-04f, -3.017016097e-04f, -2.867432842e-04f, -2.717852658e-04f, -2.568275805e-04f,
+-2.418702539e-04f, -2.269133119e-04f, -2.119567803e-04f, -1.970006850e-04f, -1.820450517e-04f, -1.670899063e-04f, -1.521352746e-04f, -1.371811823e-04f, -1.222276554e-04f, -1.072747195e-04f,
+-9.232240045e-05f, -7.737072411e-05f, -6.241971625e-05f, -4.746940266e-05f, -3.251980912e-05f, -1.757096141e-05f, -2.622885336e-06f, 1.232439334e-05f, 2.727084882e-05f, 4.221645535e-05f,
+5.716118715e-05f, 7.210501844e-05f, 8.704792347e-05f, 1.019898765e-04f, 1.169308517e-04f, 1.318708233e-04f, 1.468097657e-04f, 1.617476529e-04f, 1.766844594e-04f, 1.916201594e-04f,
+2.065547270e-04f, 2.214881366e-04f, 2.364203624e-04f, 2.513513788e-04f, 2.662811599e-04f, 2.812096801e-04f, 2.961369136e-04f, 3.110628347e-04f, 3.259874177e-04f, 3.409106368e-04f,
+3.558324665e-04f, 3.707528810e-04f, 3.856718545e-04f, 4.005893614e-04f, 4.155053760e-04f, 4.304198726e-04f, 4.453328255e-04f, 4.602442091e-04f, 4.751539976e-04f, 4.900621655e-04f,
+5.049686869e-04f, 5.198735364e-04f, 5.347766881e-04f, 5.496781165e-04f, 5.645777959e-04f, 5.794757007e-04f, 5.943718052e-04f, 6.092660838e-04f, 6.241585108e-04f, 6.390490607e-04f,
+6.539377078e-04f, 6.688244264e-04f, 6.837091910e-04f, 6.985919760e-04f, 7.134727558e-04f, 7.283515047e-04f, 7.432281971e-04f, 7.581028076e-04f, 7.729753105e-04f, 7.878456801e-04f,
+8.027138910e-04f, 8.175799176e-04f, 8.324437343e-04f, 8.473053155e-04f, 8.621646358e-04f, 8.770216695e-04f, 8.918763911e-04f, 9.067287751e-04f, 9.215787959e-04f, 9.364264280e-04f,
+9.512716459e-04f, 9.661144241e-04f, 9.809547370e-04f, 9.957925592e-04f, 1.010627865e-03f, 1.025460629e-03f, 1.040290827e-03f, 1.055118431e-03f, 1.069943417e-03f, 1.084765760e-03f,
+1.099585433e-03f, 1.114402412e-03f, 1.129216671e-03f, 1.144028184e-03f, 1.158836926e-03f, 1.173642873e-03f, 1.188445997e-03f, 1.203246274e-03f, 1.218043679e-03f, 1.232838185e-03f,
+1.247629768e-03f, 1.262418403e-03f, 1.277204063e-03f, 1.291986724e-03f, 1.306766359e-03f, 1.321542945e-03f, 1.336316454e-03f, 1.351086863e-03f, 1.365854145e-03f, 1.380618276e-03f,
+1.395379229e-03f, 1.410136980e-03f, 1.424891503e-03f, 1.439642774e-03f, 1.454390766e-03f, 1.469135454e-03f, 1.483876813e-03f, 1.498614818e-03f, 1.513349444e-03f, 1.528080665e-03f,
+1.542808456e-03f, 1.557532791e-03f, 1.572253646e-03f, 1.586970996e-03f, 1.601684814e-03f, 1.616395076e-03f, 1.631101756e-03f, 1.645804830e-03f, 1.660504272e-03f, 1.675200056e-03f,
+1.689892159e-03f, 1.704580554e-03f, 1.719265216e-03f, 1.733946121e-03f, 1.748623242e-03f, 1.763296555e-03f, 1.777966036e-03f, 1.792631657e-03f, 1.807293396e-03f, 1.821951225e-03f,
+1.836605121e-03f, 1.851255058e-03f, 1.865901011e-03f, 1.880542955e-03f, 1.895180864e-03f, 1.909814715e-03f, 1.924444481e-03f, 1.939070138e-03f, 1.953691661e-03f, 1.968309024e-03f,
+1.982922203e-03f, 1.997531172e-03f, 2.012135907e-03f, 2.026736383e-03f, 2.041332574e-03f, 2.055924455e-03f, 2.070512002e-03f, 2.085095190e-03f, 2.099673994e-03f, 2.114248388e-03f,
+2.128818348e-03f, 2.143383848e-03f, 2.157944865e-03f, 2.172501373e-03f, 2.187053346e-03f, 2.201600761e-03f, 2.216143593e-03f, 2.230681815e-03f, 2.245215405e-03f, 2.259744336e-03f,
+2.274268583e-03f, 2.288788123e-03f, 2.303302930e-03f, 2.317812980e-03f, 2.332318247e-03f, 2.346818707e-03f, 2.361314334e-03f, 2.375805105e-03f, 2.390290994e-03f, 2.404771977e-03f,
+2.419248029e-03f, 2.433719125e-03f, 2.448185241e-03f, 2.462646351e-03f, 2.477102431e-03f, 2.491553456e-03f, 2.505999402e-03f, 2.520440244e-03f, 2.534875957e-03f, 2.549306517e-03f,
+2.563731899e-03f, 2.578152078e-03f, 2.592567029e-03f, 2.606976729e-03f, 2.621381152e-03f, 2.635780274e-03f, 2.650174070e-03f, 2.664562515e-03f, 2.678945586e-03f, 2.693323257e-03f,
+2.707695504e-03f, 2.722062303e-03f, 2.736423629e-03f, 2.750779456e-03f, 2.765129762e-03f, 2.779474521e-03f, 2.793813710e-03f, 2.808147302e-03f, 2.822475275e-03f, 2.836797603e-03f,
+2.851114262e-03f, 2.865425227e-03f, 2.879730475e-03f, 2.894029981e-03f, 2.908323720e-03f, 2.922611669e-03f, 2.936893802e-03f, 2.951170095e-03f, 2.965440524e-03f, 2.979705065e-03f,
+2.993963693e-03f, 3.008216384e-03f, 3.022463114e-03f, 3.036703858e-03f, 3.050938593e-03f, 3.065167293e-03f, 3.079389935e-03f, 3.093606494e-03f, 3.107816946e-03f, 3.122021267e-03f,
+3.136219433e-03f, 3.150411419e-03f, 3.164597202e-03f, 3.178776757e-03f, 3.192950059e-03f, 3.207117086e-03f, 3.221277812e-03f, 3.235432214e-03f, 3.249580267e-03f, 3.263721947e-03f,
+3.277857231e-03f, 3.291986094e-03f, 3.306108512e-03f, 3.320224461e-03f, 3.334333917e-03f, 3.348436856e-03f, 3.362533254e-03f, 3.376623087e-03f, 3.390706331e-03f, 3.404782962e-03f,
+3.418852957e-03f, 3.432916290e-03f, 3.446972938e-03f, 3.461022878e-03f, 3.475066085e-03f, 3.489102535e-03f, 3.503132205e-03f, 3.517155070e-03f, 3.531171108e-03f, 3.545180293e-03f,
+3.559182603e-03f, 3.573178012e-03f, 3.587166499e-03f, 3.601148038e-03f, 3.615122606e-03f, 3.629090179e-03f, 3.643050733e-03f, 3.657004245e-03f, 3.670950691e-03f, 3.684890047e-03f,
+3.698822290e-03f, 3.712747396e-03f, 3.726665341e-03f, 3.740576101e-03f, 3.754479653e-03f, 3.768375973e-03f, 3.782265038e-03f, 3.796146824e-03f, 3.810021308e-03f, 3.823888465e-03f,
+3.837748272e-03f, 3.851600707e-03f, 3.865445744e-03f, 3.879283361e-03f, 3.893113534e-03f, 3.906936240e-03f, 3.920751455e-03f, 3.934559156e-03f, 3.948359319e-03f, 3.962151921e-03f,
+3.975936938e-03f, 3.989714347e-03f, 4.003484125e-03f, 4.017246248e-03f, 4.031000693e-03f, 4.044747436e-03f, 4.058486455e-03f, 4.072217726e-03f, 4.085941225e-03f, 4.099656929e-03f,
+4.113364815e-03f, 4.127064860e-03f, 4.140757041e-03f, 4.154441334e-03f, 4.168117715e-03f, 4.181786163e-03f, 4.195446653e-03f, 4.209099163e-03f, 4.222743669e-03f, 4.236380148e-03f,
+4.250008577e-03f, 4.263628934e-03f, 4.277241194e-03f, 4.290845334e-03f, 4.304441333e-03f, 4.318029166e-03f, 4.331608811e-03f, 4.345180244e-03f, 4.358743443e-03f, 4.372298384e-03f,
+4.385845045e-03f, 4.399383403e-03f, 4.412913434e-03f, 4.426435116e-03f, 4.439948426e-03f, 4.453453341e-03f, 4.466949838e-03f, 4.480437895e-03f, 4.493917487e-03f, 4.507388593e-03f,
+4.520851190e-03f, 4.534305255e-03f, 4.547750765e-03f, 4.561187698e-03f, 4.574616030e-03f, 4.588035738e-03f, 4.601446801e-03f, 4.614849196e-03f, 4.628242899e-03f, 4.641627888e-03f,
+4.655004141e-03f, 4.668371635e-03f, 4.681730347e-03f, 4.695080254e-03f, 4.708421334e-03f, 4.721753565e-03f, 4.735076923e-03f, 4.748391387e-03f, 4.761696934e-03f, 4.774993541e-03f,
+4.788281186e-03f, 4.801559845e-03f, 4.814829498e-03f, 4.828090122e-03f, 4.841341693e-03f, 4.854584190e-03f, 4.867817590e-03f, 4.881041870e-03f, 4.894257010e-03f, 4.907462985e-03f,
+4.920659774e-03f, 4.933847355e-03f, 4.947025704e-03f, 4.960194801e-03f, 4.973354623e-03f, 4.986505146e-03f, 4.999646350e-03f, 5.012778213e-03f, 5.025900710e-03f, 5.039013822e-03f,
+5.052117525e-03f, 5.065211797e-03f, 5.078296617e-03f, 5.091371962e-03f, 5.104437810e-03f, 5.117494139e-03f, 5.130540927e-03f, 5.143578151e-03f, 5.156605791e-03f, 5.169623824e-03f,
+5.182632227e-03f, 5.195630980e-03f, 5.208620060e-03f, 5.221599445e-03f, 5.234569113e-03f, 5.247529042e-03f, 5.260479211e-03f, 5.273419598e-03f, 5.286350180e-03f, 5.299270937e-03f,
+5.312181845e-03f, 5.325082884e-03f, 5.337974032e-03f, 5.350855267e-03f, 5.363726567e-03f, 5.376587910e-03f, 5.389439275e-03f, 5.402280640e-03f, 5.415111984e-03f, 5.427933285e-03f,
+5.440744521e-03f, 5.453545670e-03f, 5.466336712e-03f, 5.479117624e-03f, 5.491888386e-03f, 5.504648974e-03f, 5.517399369e-03f, 5.530139548e-03f, 5.542869490e-03f, 5.555589174e-03f,
+5.568298578e-03f, 5.580997681e-03f, 5.593686461e-03f, 5.606364897e-03f, 5.619032968e-03f, 5.631690652e-03f, 5.644337928e-03f, 5.656974775e-03f, 5.669601172e-03f, 5.682217096e-03f,
+5.694822528e-03f, 5.707417445e-03f, 5.720001827e-03f, 5.732575652e-03f, 5.745138900e-03f, 5.757691548e-03f, 5.770233577e-03f, 5.782764964e-03f, 5.795285689e-03f, 5.807795731e-03f,
+5.820295069e-03f, 5.832783681e-03f, 5.845261547e-03f, 5.857728646e-03f, 5.870184956e-03f, 5.882630457e-03f, 5.895065128e-03f, 5.907488948e-03f, 5.919901897e-03f, 5.932303952e-03f,
+5.944695094e-03f, 5.957075301e-03f, 5.969444553e-03f, 5.981802829e-03f, 5.994150108e-03f, 6.006486370e-03f, 6.018811593e-03f, 6.031125758e-03f, 6.043428843e-03f, 6.055720827e-03f,
+6.068001691e-03f, 6.080271413e-03f, 6.092529973e-03f, 6.104777350e-03f, 6.117013524e-03f, 6.129238474e-03f, 6.141452180e-03f, 6.153654621e-03f, 6.165845777e-03f, 6.178025626e-03f,
+6.190194150e-03f, 6.202351327e-03f, 6.214497137e-03f, 6.226631559e-03f, 6.238754574e-03f, 6.250866161e-03f, 6.262966299e-03f, 6.275054969e-03f, 6.287132149e-03f, 6.299197821e-03f,
+6.311251963e-03f, 6.323294555e-03f, 6.335325577e-03f, 6.347345010e-03f, 6.359352832e-03f, 6.371349024e-03f, 6.383333566e-03f, 6.395306437e-03f, 6.407267618e-03f, 6.419217088e-03f,
+6.431154828e-03f, 6.443080817e-03f, 6.454995036e-03f, 6.466897464e-03f, 6.478788082e-03f, 6.490666869e-03f, 6.502533806e-03f, 6.514388873e-03f, 6.526232050e-03f, 6.538063318e-03f,
+6.549882656e-03f, 6.561690044e-03f, 6.573485464e-03f, 6.585268894e-03f, 6.597040317e-03f, 6.608799710e-03f, 6.620547056e-03f, 6.632282335e-03f, 6.644005526e-03f, 6.655716610e-03f,
+6.667415569e-03f, 6.679102381e-03f, 6.690777027e-03f, 6.702439489e-03f, 6.714089746e-03f, 6.725727780e-03f, 6.737353569e-03f, 6.748967096e-03f, 6.760568341e-03f, 6.772157284e-03f,
+6.783733906e-03f, 6.795298188e-03f, 6.806850110e-03f, 6.818389654e-03f, 6.829916799e-03f, 6.841431526e-03f, 6.852933817e-03f, 6.864423652e-03f, 6.875901012e-03f, 6.887365877e-03f,
+6.898818230e-03f, 6.910258049e-03f, 6.921685317e-03f, 6.933100015e-03f, 6.944502123e-03f, 6.955891622e-03f, 6.967268493e-03f, 6.978632718e-03f, 6.989984277e-03f, 7.001323151e-03f,
+7.012649322e-03f, 7.023962770e-03f, 7.035263477e-03f, 7.046551424e-03f, 7.057826592e-03f, 7.069088963e-03f, 7.080338517e-03f, 7.091575235e-03f, 7.102799100e-03f, 7.114010092e-03f,
+7.125208193e-03f, 7.136393383e-03f, 7.147565646e-03f, 7.158724960e-03f, 7.169871309e-03f, 7.181004674e-03f, 7.192125036e-03f, 7.203232376e-03f, 7.214326676e-03f, 7.225407918e-03f,
+7.236476083e-03f, 7.247531153e-03f, 7.258573109e-03f, 7.269601933e-03f, 7.280617607e-03f, 7.291620112e-03f, 7.302609429e-03f, 7.313585542e-03f, 7.324548431e-03f, 7.335498078e-03f,
+7.346434466e-03f, 7.357357575e-03f, 7.368267387e-03f, 7.379163886e-03f, 7.390047051e-03f, 7.400916866e-03f, 7.411773312e-03f, 7.422616372e-03f, 7.433446026e-03f, 7.444262258e-03f,
+7.455065049e-03f, 7.465854382e-03f, 7.476630237e-03f, 7.487392598e-03f, 7.498141447e-03f, 7.508876766e-03f, 7.519598536e-03f, 7.530306741e-03f, 7.541001362e-03f, 7.551682382e-03f,
+7.562349782e-03f, 7.573003546e-03f, 7.583643655e-03f, 7.594270092e-03f, 7.604882839e-03f, 7.615481879e-03f, 7.626067194e-03f, 7.636638767e-03f, 7.647196579e-03f, 7.657740614e-03f,
+7.668270854e-03f, 7.678787282e-03f, 7.689289879e-03f, 7.699778629e-03f, 7.710253515e-03f, 7.720714519e-03f, 7.731161623e-03f, 7.741594810e-03f, 7.752014064e-03f, 7.762419366e-03f,
+7.772810700e-03f, 7.783188049e-03f, 7.793551394e-03f, 7.803900720e-03f, 7.814236008e-03f, 7.824557242e-03f, 7.834864405e-03f, 7.845157480e-03f, 7.855436449e-03f, 7.865701296e-03f,
+7.875952004e-03f, 7.886188555e-03f, 7.896410933e-03f, 7.906619121e-03f, 7.916813102e-03f, 7.926992859e-03f, 7.937158375e-03f, 7.947309634e-03f, 7.957446618e-03f, 7.967569312e-03f,
+7.977677698e-03f, 7.987771759e-03f, 7.997851479e-03f, 8.007916842e-03f, 8.017967830e-03f, 8.028004427e-03f, 8.038026617e-03f, 8.048034383e-03f, 8.058027708e-03f, 8.068006575e-03f,
+8.077970970e-03f, 8.087920874e-03f, 8.097856272e-03f, 8.107777147e-03f, 8.117683483e-03f, 8.127575263e-03f, 8.137452472e-03f, 8.147315092e-03f, 8.157163109e-03f, 8.166996504e-03f,
+8.176815263e-03f, 8.186619369e-03f, 8.196408805e-03f, 8.206183557e-03f, 8.215943607e-03f, 8.225688939e-03f, 8.235419538e-03f, 8.245135388e-03f, 8.254836472e-03f, 8.264522775e-03f,
+8.274194280e-03f, 8.283850972e-03f, 8.293492834e-03f, 8.303119852e-03f, 8.312732008e-03f, 8.322329288e-03f, 8.331911675e-03f, 8.341479154e-03f, 8.351031709e-03f, 8.360569325e-03f,
+8.370091985e-03f, 8.379599673e-03f, 8.389092375e-03f, 8.398570075e-03f, 8.408032757e-03f, 8.417480406e-03f, 8.426913006e-03f, 8.436330541e-03f, 8.445732996e-03f, 8.455120356e-03f,
+8.464492606e-03f, 8.473849729e-03f, 8.483191711e-03f, 8.492518536e-03f, 8.501830189e-03f, 8.511126654e-03f, 8.520407917e-03f, 8.529673962e-03f, 8.538924774e-03f, 8.548160338e-03f,
+8.557380639e-03f, 8.566585661e-03f, 8.575775389e-03f, 8.584949809e-03f, 8.594108905e-03f, 8.603252663e-03f, 8.612381067e-03f, 8.621494102e-03f, 8.630591754e-03f, 8.639674008e-03f,
+8.648740848e-03f, 8.657792260e-03f, 8.666828230e-03f, 8.675848741e-03f, 8.684853780e-03f, 8.693843332e-03f, 8.702817383e-03f, 8.711775916e-03f, 8.720718918e-03f, 8.729646375e-03f,
+8.738558271e-03f, 8.747454592e-03f, 8.756335324e-03f, 8.765200451e-03f, 8.774049960e-03f, 8.782883836e-03f, 8.791702065e-03f, 8.800504632e-03f, 8.809291523e-03f, 8.818062723e-03f,
+8.826818218e-03f, 8.835557995e-03f, 8.844282038e-03f, 8.852990333e-03f, 8.861682867e-03f, 8.870359624e-03f, 8.879020592e-03f, 8.887665755e-03f, 8.896295100e-03f, 8.904908612e-03f,
+8.913506278e-03f, 8.922088084e-03f, 8.930654015e-03f, 8.939204058e-03f, 8.947738199e-03f, 8.956256423e-03f, 8.964758717e-03f, 8.973245068e-03f, 8.981715460e-03f, 8.990169882e-03f,
+8.998608318e-03f, 9.007030755e-03f, 9.015437179e-03f, 9.023827577e-03f, 9.032201935e-03f, 9.040560240e-03f, 9.048902477e-03f, 9.057228634e-03f, 9.065538696e-03f, 9.073832651e-03f,
+9.082110485e-03f, 9.090372184e-03f, 9.098617734e-03f, 9.106847124e-03f, 9.115060338e-03f, 9.123257365e-03f, 9.131438190e-03f, 9.139602801e-03f, 9.147751183e-03f, 9.155883324e-03f,
+9.163999212e-03f, 9.172098831e-03f, 9.180182170e-03f, 9.188249216e-03f, 9.196299954e-03f, 9.204334373e-03f, 9.212352459e-03f, 9.220354199e-03f, 9.228339581e-03f, 9.236308591e-03f,
+9.244261216e-03f, 9.252197444e-03f, 9.260117262e-03f, 9.268020656e-03f, 9.275907615e-03f, 9.283778125e-03f, 9.291632174e-03f, 9.299469749e-03f, 9.307290838e-03f, 9.315095427e-03f,
+9.322883504e-03f, 9.330655057e-03f, 9.338410073e-03f, 9.346148539e-03f, 9.353870443e-03f, 9.361575773e-03f, 9.369264516e-03f, 9.376936660e-03f, 9.384592192e-03f, 9.392231100e-03f,
+9.399853371e-03f, 9.407458995e-03f, 9.415047957e-03f, 9.422620246e-03f, 9.430175850e-03f, 9.437714757e-03f, 9.445236954e-03f, 9.452742430e-03f, 9.460231172e-03f, 9.467703168e-03f,
+9.475158406e-03f, 9.482596875e-03f, 9.490018561e-03f, 9.497423455e-03f, 9.504811542e-03f, 9.512182813e-03f, 9.519537254e-03f, 9.526874854e-03f, 9.534195601e-03f, 9.541499483e-03f,
+9.548786490e-03f, 9.556056608e-03f, 9.563309827e-03f, 9.570546134e-03f, 9.577765519e-03f, 9.584967969e-03f, 9.592153473e-03f, 9.599322020e-03f, 9.606473598e-03f, 9.613608195e-03f,
+9.620725801e-03f, 9.627826403e-03f, 9.634909991e-03f, 9.641976553e-03f, 9.649026078e-03f, 9.656058554e-03f, 9.663073970e-03f, 9.670072316e-03f, 9.677053579e-03f, 9.684017749e-03f,
+9.690964815e-03f, 9.697894766e-03f, 9.704807589e-03f, 9.711703276e-03f, 9.718581814e-03f, 9.725443192e-03f, 9.732287400e-03f, 9.739114426e-03f, 9.745924260e-03f, 9.752716891e-03f,
+9.759492309e-03f, 9.766250501e-03f, 9.772991458e-03f, 9.779715169e-03f, 9.786421623e-03f, 9.793110810e-03f, 9.799782718e-03f, 9.806437337e-03f, 9.813074658e-03f, 9.819694668e-03f,
+9.826297358e-03f, 9.832882717e-03f, 9.839450734e-03f, 9.846001400e-03f, 9.852534704e-03f, 9.859050635e-03f, 9.865549184e-03f, 9.872030339e-03f, 9.878494091e-03f, 9.884940429e-03f,
+9.891369344e-03f, 9.897780824e-03f, 9.904174860e-03f, 9.910551442e-03f, 9.916910559e-03f, 9.923252202e-03f, 9.929576361e-03f, 9.935883025e-03f, 9.942172185e-03f, 9.948443830e-03f,
+9.954697951e-03f, 9.960934538e-03f, 9.967153581e-03f, 9.973355070e-03f, 9.979538996e-03f, 9.985705348e-03f, 9.991854118e-03f, 9.997985294e-03f, 1.000409887e-02f, 1.001019483e-02f,
+1.001627317e-02f, 1.002233388e-02f, 1.002837695e-02f, 1.003440237e-02f, 1.004041013e-02f, 1.004640022e-02f, 1.005237263e-02f, 1.005832735e-02f, 1.006426438e-02f, 1.007018370e-02f,
+1.007608531e-02f, 1.008196919e-02f, 1.008783533e-02f, 1.009368373e-02f, 1.009951438e-02f, 1.010532727e-02f, 1.011112239e-02f, 1.011689972e-02f, 1.012265927e-02f, 1.012840102e-02f,
+1.013412496e-02f, 1.013983109e-02f, 1.014551939e-02f, 1.015118986e-02f, 1.015684249e-02f, 1.016247726e-02f, 1.016809418e-02f, 1.017369323e-02f, 1.017927439e-02f, 1.018483768e-02f,
+1.019038306e-02f, 1.019591055e-02f, 1.020142012e-02f, 1.020691177e-02f, 1.021238549e-02f, 1.021784128e-02f, 1.022327912e-02f, 1.022869900e-02f, 1.023410092e-02f, 1.023948487e-02f,
+1.024485084e-02f, 1.025019882e-02f, 1.025552881e-02f, 1.026084079e-02f, 1.026613476e-02f, 1.027141070e-02f, 1.027666862e-02f, 1.028190850e-02f, 1.028713034e-02f, 1.029233412e-02f,
+1.029751984e-02f, 1.030268749e-02f, 1.030783707e-02f, 1.031296856e-02f, 1.031808195e-02f, 1.032317725e-02f, 1.032825443e-02f, 1.033331350e-02f, 1.033835444e-02f, 1.034337726e-02f,
+1.034838193e-02f, 1.035336845e-02f, 1.035833682e-02f, 1.036328703e-02f, 1.036821906e-02f, 1.037313292e-02f, 1.037802859e-02f, 1.038290607e-02f, 1.038776535e-02f, 1.039260642e-02f,
+1.039742928e-02f, 1.040223391e-02f, 1.040702031e-02f, 1.041178848e-02f, 1.041653840e-02f, 1.042127007e-02f, 1.042598348e-02f, 1.043067862e-02f, 1.043535549e-02f, 1.044001408e-02f,
+1.044465438e-02f, 1.044927639e-02f, 1.045388010e-02f, 1.045846550e-02f, 1.046303258e-02f, 1.046758134e-02f, 1.047211177e-02f, 1.047662387e-02f, 1.048111762e-02f, 1.048559302e-02f,
+1.049005007e-02f, 1.049448875e-02f, 1.049890906e-02f, 1.050331100e-02f, 1.050769455e-02f, 1.051205971e-02f, 1.051640648e-02f, 1.052073484e-02f, 1.052504480e-02f, 1.052933634e-02f,
+1.053360945e-02f, 1.053786414e-02f, 1.054210040e-02f, 1.054631821e-02f, 1.055051757e-02f, 1.055469848e-02f, 1.055886093e-02f, 1.056300491e-02f, 1.056713043e-02f, 1.057123746e-02f,
+1.057532601e-02f, 1.057939606e-02f, 1.058344762e-02f, 1.058748068e-02f, 1.059149523e-02f, 1.059549126e-02f, 1.059946877e-02f, 1.060342776e-02f, 1.060736821e-02f, 1.061129012e-02f,
+1.061519349e-02f, 1.061907832e-02f, 1.062294458e-02f, 1.062679228e-02f, 1.063062142e-02f, 1.063443198e-02f, 1.063822397e-02f, 1.064199737e-02f, 1.064575219e-02f, 1.064948840e-02f,
+1.065320602e-02f, 1.065690503e-02f, 1.066058544e-02f, 1.066424722e-02f, 1.066789038e-02f, 1.067151492e-02f, 1.067512082e-02f, 1.067870809e-02f, 1.068227671e-02f, 1.068582669e-02f,
+1.068935801e-02f, 1.069287067e-02f, 1.069636467e-02f, 1.069984001e-02f, 1.070329667e-02f, 1.070673465e-02f, 1.071015394e-02f, 1.071355455e-02f, 1.071693647e-02f, 1.072029969e-02f,
+1.072364420e-02f, 1.072697001e-02f, 1.073027711e-02f, 1.073356549e-02f, 1.073683515e-02f, 1.074008608e-02f, 1.074331828e-02f, 1.074653174e-02f, 1.074972647e-02f, 1.075290245e-02f,
+1.075605968e-02f, 1.075919816e-02f, 1.076231788e-02f, 1.076541883e-02f, 1.076850102e-02f, 1.077156444e-02f, 1.077460909e-02f, 1.077763495e-02f, 1.078064203e-02f, 1.078363033e-02f,
+1.078659983e-02f, 1.078955053e-02f, 1.079248244e-02f, 1.079539554e-02f, 1.079828983e-02f, 1.080116531e-02f, 1.080402197e-02f, 1.080685981e-02f, 1.080967883e-02f, 1.081247902e-02f,
+1.081526038e-02f, 1.081802290e-02f, 1.082076658e-02f, 1.082349142e-02f, 1.082619741e-02f, 1.082888455e-02f, 1.083155284e-02f, 1.083420227e-02f, 1.083683284e-02f, 1.083944454e-02f,
+1.084203738e-02f, 1.084461134e-02f, 1.084716642e-02f, 1.084970263e-02f, 1.085221996e-02f, 1.085471840e-02f, 1.085719795e-02f, 1.085965861e-02f, 1.086210037e-02f, 1.086452324e-02f,
+1.086692720e-02f, 1.086931226e-02f, 1.087167841e-02f, 1.087402565e-02f, 1.087635398e-02f, 1.087866338e-02f, 1.088095387e-02f, 1.088322544e-02f, 1.088547807e-02f, 1.088771178e-02f,
+1.088992656e-02f, 1.089212241e-02f, 1.089429931e-02f, 1.089645728e-02f, 1.089859630e-02f, 1.090071638e-02f, 1.090281751e-02f, 1.090489968e-02f, 1.090696291e-02f, 1.090900718e-02f,
+1.091103249e-02f, 1.091303884e-02f, 1.091502622e-02f, 1.091699464e-02f, 1.091894410e-02f, 1.092087458e-02f, 1.092278609e-02f, 1.092467862e-02f, 1.092655217e-02f, 1.092840675e-02f,
+1.093024234e-02f, 1.093205895e-02f, 1.093385658e-02f, 1.093563521e-02f, 1.093739486e-02f, 1.093913551e-02f, 1.094085717e-02f, 1.094255983e-02f, 1.094424350e-02f, 1.094590816e-02f,
+1.094755382e-02f, 1.094918048e-02f, 1.095078813e-02f, 1.095237677e-02f, 1.095394641e-02f, 1.095549703e-02f, 1.095702865e-02f, 1.095854124e-02f, 1.096003483e-02f, 1.096150939e-02f,
+1.096296494e-02f, 1.096440146e-02f, 1.096581896e-02f, 1.096721744e-02f, 1.096859690e-02f, 1.096995733e-02f, 1.097129873e-02f, 1.097262111e-02f, 1.097392445e-02f, 1.097520876e-02f,
+1.097647404e-02f, 1.097772029e-02f, 1.097894750e-02f, 1.098015567e-02f, 1.098134481e-02f, 1.098251491e-02f, 1.098366598e-02f, 1.098479800e-02f, 1.098591098e-02f, 1.098700492e-02f,
+1.098807981e-02f, 1.098913567e-02f, 1.099017247e-02f, 1.099119024e-02f, 1.099218896e-02f, 1.099316863e-02f, 1.099412925e-02f, 1.099507083e-02f, 1.099599335e-02f, 1.099689683e-02f,
+1.099778126e-02f, 1.099864664e-02f, 1.099949297e-02f, 1.100032025e-02f, 1.100112847e-02f, 1.100191764e-02f, 1.100268777e-02f, 1.100343883e-02f, 1.100417085e-02f, 1.100488381e-02f,
+1.100557772e-02f, 1.100625258e-02f, 1.100690838e-02f, 1.100754513e-02f, 1.100816282e-02f, 1.100876147e-02f, 1.100934105e-02f, 1.100990159e-02f, 1.101044307e-02f, 1.101096549e-02f,
+1.101146886e-02f, 1.101195318e-02f, 1.101241845e-02f, 1.101286466e-02f, 1.101329182e-02f, 1.101369992e-02f, 1.101408898e-02f, 1.101445898e-02f, 1.101480993e-02f, 1.101514183e-02f,
+1.101545468e-02f, 1.101574848e-02f, 1.101602322e-02f, 1.101627892e-02f, 1.101651557e-02f, 1.101673318e-02f, 1.101693173e-02f, 1.101711124e-02f, 1.101727170e-02f, 1.101741312e-02f,
+1.101753549e-02f, 1.101763882e-02f, 1.101772311e-02f, 1.101778835e-02f, 1.101783455e-02f, 1.101786172e-02f, 1.101786984e-02f, 1.101785892e-02f, 1.101782897e-02f, 1.101777998e-02f,
+1.101771196e-02f, 1.101762490e-02f, 1.101751881e-02f, 1.101739369e-02f, 1.101724954e-02f, 1.101708636e-02f, 1.101690415e-02f, 1.101670291e-02f, 1.101648265e-02f, 1.101624337e-02f,
+1.101598506e-02f, 1.101570773e-02f, 1.101541139e-02f, 1.101509602e-02f, 1.101476164e-02f, 1.101440825e-02f, 1.101403584e-02f, 1.101364442e-02f, 1.101323399e-02f, 1.101280455e-02f,
+1.101235611e-02f, 1.101188866e-02f, 1.101140221e-02f, 1.101089676e-02f, 1.101037231e-02f, 1.100982886e-02f, 1.100926642e-02f, 1.100868498e-02f, 1.100808456e-02f, 1.100746514e-02f,
+1.100682674e-02f, 1.100616935e-02f, 1.100549298e-02f, 1.100479763e-02f, 1.100408330e-02f, 1.100335000e-02f, 1.100259772e-02f, 1.100182647e-02f, 1.100103625e-02f, 1.100022706e-02f,
+1.099939891e-02f, 1.099855180e-02f, 1.099768573e-02f, 1.099680070e-02f, 1.099589672e-02f, 1.099497379e-02f, 1.099403190e-02f, 1.099307107e-02f, 1.099209130e-02f, 1.099109258e-02f,
+1.099007493e-02f, 1.098903834e-02f, 1.098798282e-02f, 1.098690837e-02f, 1.098581499e-02f, 1.098470268e-02f, 1.098357146e-02f, 1.098242131e-02f, 1.098125226e-02f, 1.098006428e-02f,
+1.097885740e-02f, 1.097763162e-02f, 1.097638693e-02f, 1.097512334e-02f, 1.097384085e-02f, 1.097253947e-02f, 1.097121920e-02f, 1.096988004e-02f, 1.096852200e-02f, 1.096714508e-02f,
+1.096574928e-02f, 1.096433460e-02f, 1.096290106e-02f, 1.096144865e-02f, 1.095997738e-02f, 1.095848725e-02f, 1.095697826e-02f, 1.095545042e-02f, 1.095390373e-02f, 1.095233819e-02f,
+1.095075382e-02f, 1.094915061e-02f, 1.094752856e-02f, 1.094588768e-02f, 1.094422798e-02f, 1.094254945e-02f, 1.094085211e-02f, 1.093913595e-02f, 1.093740098e-02f, 1.093564720e-02f,
+1.093387462e-02f, 1.093208325e-02f, 1.093027307e-02f, 1.092844411e-02f, 1.092659636e-02f, 1.092472983e-02f, 1.092284453e-02f, 1.092094045e-02f, 1.091901760e-02f, 1.091707598e-02f,
+1.091511560e-02f, 1.091313647e-02f, 1.091113859e-02f, 1.090912196e-02f, 1.090708659e-02f, 1.090503247e-02f, 1.090295963e-02f, 1.090086805e-02f, 1.089875776e-02f, 1.089662874e-02f,
+1.089448100e-02f, 1.089231456e-02f, 1.089012941e-02f, 1.088792556e-02f, 1.088570301e-02f, 1.088346177e-02f, 1.088120184e-02f, 1.087892324e-02f, 1.087662595e-02f, 1.087431000e-02f,
+1.087197538e-02f, 1.086962209e-02f, 1.086725015e-02f, 1.086485956e-02f, 1.086245032e-02f, 1.086002244e-02f, 1.085757593e-02f, 1.085511078e-02f, 1.085262701e-02f, 1.085012461e-02f,
+1.084760361e-02f, 1.084506399e-02f, 1.084250577e-02f, 1.083992895e-02f, 1.083733353e-02f, 1.083471953e-02f, 1.083208695e-02f, 1.082943578e-02f, 1.082676605e-02f, 1.082407775e-02f,
+1.082137089e-02f, 1.081864548e-02f, 1.081590152e-02f, 1.081313901e-02f, 1.081035797e-02f, 1.080755840e-02f, 1.080474030e-02f, 1.080190368e-02f, 1.079904854e-02f, 1.079617490e-02f,
+1.079328276e-02f, 1.079037212e-02f, 1.078744299e-02f, 1.078449537e-02f, 1.078152928e-02f, 1.077854471e-02f, 1.077554168e-02f, 1.077252020e-02f, 1.076948025e-02f, 1.076642186e-02f,
+1.076334503e-02f, 1.076024977e-02f, 1.075713607e-02f, 1.075400396e-02f, 1.075085342e-02f, 1.074768448e-02f, 1.074449714e-02f, 1.074129140e-02f, 1.073806727e-02f, 1.073482476e-02f,
+1.073156387e-02f, 1.072828461e-02f, 1.072498699e-02f, 1.072167101e-02f, 1.071833668e-02f, 1.071498401e-02f, 1.071161300e-02f, 1.070822367e-02f, 1.070481600e-02f, 1.070139003e-02f,
+1.069794574e-02f, 1.069448315e-02f, 1.069100227e-02f, 1.068750310e-02f, 1.068398565e-02f, 1.068044992e-02f, 1.067689593e-02f, 1.067332368e-02f, 1.066973317e-02f, 1.066612442e-02f,
+1.066249743e-02f, 1.065885221e-02f, 1.065518876e-02f, 1.065150710e-02f, 1.064780723e-02f, 1.064408916e-02f, 1.064035289e-02f, 1.063659843e-02f, 1.063282580e-02f, 1.062903499e-02f,
+1.062522602e-02f, 1.062139889e-02f, 1.061755362e-02f, 1.061369020e-02f, 1.060980864e-02f, 1.060590896e-02f, 1.060199116e-02f, 1.059805525e-02f, 1.059410123e-02f, 1.059012912e-02f,
+1.058613893e-02f, 1.058213065e-02f, 1.057810430e-02f, 1.057405988e-02f, 1.056999741e-02f, 1.056591690e-02f, 1.056181834e-02f, 1.055770175e-02f, 1.055356713e-02f, 1.054941450e-02f,
+1.054524386e-02f, 1.054105522e-02f, 1.053684859e-02f, 1.053262398e-02f, 1.052838139e-02f, 1.052412083e-02f, 1.051984232e-02f, 1.051554585e-02f, 1.051123144e-02f, 1.050689911e-02f,
+1.050254884e-02f, 1.049818066e-02f, 1.049379457e-02f, 1.048939058e-02f, 1.048496870e-02f, 1.048052894e-02f, 1.047607131e-02f, 1.047159580e-02f, 1.046710245e-02f, 1.046259124e-02f,
+1.045806220e-02f, 1.045351533e-02f, 1.044895063e-02f, 1.044436812e-02f, 1.043976781e-02f, 1.043514971e-02f, 1.043051382e-02f, 1.042586015e-02f, 1.042118871e-02f, 1.041649952e-02f,
+1.041179257e-02f, 1.040706789e-02f, 1.040232547e-02f, 1.039756533e-02f, 1.039278748e-02f, 1.038799192e-02f, 1.038317867e-02f, 1.037834773e-02f, 1.037349911e-02f, 1.036863283e-02f,
+1.036374889e-02f, 1.035884731e-02f, 1.035392808e-02f, 1.034899122e-02f, 1.034403675e-02f, 1.033906466e-02f, 1.033407497e-02f, 1.032906769e-02f, 1.032404283e-02f, 1.031900040e-02f,
+1.031394040e-02f, 1.030886286e-02f, 1.030376776e-02f, 1.029865514e-02f, 1.029352499e-02f, 1.028837732e-02f, 1.028321216e-02f, 1.027802949e-02f, 1.027282935e-02f, 1.026761173e-02f,
+1.026237664e-02f, 1.025712410e-02f, 1.025185412e-02f, 1.024656670e-02f, 1.024126185e-02f, 1.023593960e-02f, 1.023059993e-02f, 1.022524288e-02f, 1.021986844e-02f, 1.021447662e-02f,
+1.020906744e-02f, 1.020364091e-02f, 1.019819704e-02f, 1.019273583e-02f, 1.018725730e-02f, 1.018176146e-02f, 1.017624832e-02f, 1.017071788e-02f, 1.016517017e-02f, 1.015960519e-02f,
+1.015402294e-02f, 1.014842345e-02f, 1.014280672e-02f, 1.013717276e-02f, 1.013152158e-02f, 1.012585320e-02f, 1.012016762e-02f, 1.011446486e-02f, 1.010874492e-02f, 1.010300782e-02f,
+1.009725356e-02f, 1.009148217e-02f, 1.008569364e-02f, 1.007988799e-02f, 1.007406524e-02f, 1.006822538e-02f, 1.006236844e-02f, 1.005649443e-02f, 1.005060334e-02f, 1.004469521e-02f,
+1.003877003e-02f, 1.003282782e-02f, 1.002686859e-02f, 1.002089235e-02f, 1.001489911e-02f, 1.000888888e-02f, 1.000286168e-02f, 9.996817515e-03f, 9.990756397e-03f, 9.984678337e-03f,
+9.978583347e-03f, 9.972471438e-03f, 9.966342622e-03f, 9.960196911e-03f, 9.954034315e-03f, 9.947854846e-03f, 9.941658516e-03f, 9.935445336e-03f, 9.929215319e-03f, 9.922968475e-03f,
+9.916704817e-03f, 9.910424356e-03f, 9.904127103e-03f, 9.897813072e-03f, 9.891482272e-03f, 9.885134717e-03f, 9.878770418e-03f, 9.872389388e-03f, 9.865991637e-03f, 9.859577177e-03f,
+9.853146022e-03f, 9.846698182e-03f, 9.840233671e-03f, 9.833752499e-03f, 9.827254679e-03f, 9.820740223e-03f, 9.814209143e-03f, 9.807661452e-03f, 9.801097161e-03f, 9.794516283e-03f,
+9.787918831e-03f, 9.781304815e-03f, 9.774674249e-03f, 9.768027145e-03f, 9.761363515e-03f, 9.754683372e-03f, 9.747986728e-03f, 9.741273596e-03f, 9.734543987e-03f, 9.727797915e-03f,
+9.721035393e-03f, 9.714256431e-03f, 9.707461044e-03f, 9.700649244e-03f, 9.693821043e-03f, 9.686976454e-03f, 9.680115490e-03f, 9.673238164e-03f, 9.666344488e-03f, 9.659434475e-03f,
+9.652508137e-03f, 9.645565489e-03f, 9.638606542e-03f, 9.631631309e-03f, 9.624639804e-03f, 9.617632039e-03f, 9.610608027e-03f, 9.603567781e-03f, 9.596511315e-03f, 9.589438641e-03f,
+9.582349772e-03f, 9.575244722e-03f, 9.568123503e-03f, 9.560986129e-03f, 9.553832614e-03f, 9.546662969e-03f, 9.539477209e-03f, 9.532275346e-03f, 9.525057395e-03f, 9.517823367e-03f,
+9.510573278e-03f, 9.503307139e-03f, 9.496024965e-03f, 9.488726769e-03f, 9.481412564e-03f, 9.474082364e-03f, 9.466736182e-03f, 9.459374032e-03f, 9.451995928e-03f, 9.444601882e-03f,
+9.437191909e-03f, 9.429766023e-03f, 9.422324236e-03f, 9.414866563e-03f, 9.407393017e-03f, 9.399903613e-03f, 9.392398363e-03f, 9.384877282e-03f, 9.377340384e-03f, 9.369787682e-03f,
+9.362219190e-03f, 9.354634923e-03f, 9.347034893e-03f, 9.339419116e-03f, 9.331787605e-03f, 9.324140374e-03f, 9.316477437e-03f, 9.308798809e-03f, 9.301104502e-03f, 9.293394532e-03f,
+9.285668913e-03f, 9.277927658e-03f, 9.270170783e-03f, 9.262398301e-03f, 9.254610226e-03f, 9.246806573e-03f, 9.238987355e-03f, 9.231152589e-03f, 9.223302287e-03f, 9.215436464e-03f,
+9.207555134e-03f, 9.199658313e-03f, 9.191746014e-03f, 9.183818252e-03f, 9.175875041e-03f, 9.167916397e-03f, 9.159942333e-03f, 9.151952864e-03f, 9.143948004e-03f, 9.135927770e-03f,
+9.127892174e-03f, 9.119841232e-03f, 9.111774958e-03f, 9.103693368e-03f, 9.095596476e-03f, 9.087484296e-03f, 9.079356844e-03f, 9.071214135e-03f, 9.063056183e-03f, 9.054883003e-03f,
+9.046694611e-03f, 9.038491020e-03f, 9.030272247e-03f, 9.022038306e-03f, 9.013789212e-03f, 9.005524980e-03f, 8.997245625e-03f, 8.988951163e-03f, 8.980641608e-03f, 8.972316976e-03f,
+8.963977282e-03f, 8.955622541e-03f, 8.947252768e-03f, 8.938867978e-03f, 8.930468188e-03f, 8.922053412e-03f, 8.913623665e-03f, 8.905178962e-03f, 8.896719320e-03f, 8.888244754e-03f,
+8.879755279e-03f, 8.871250910e-03f, 8.862731663e-03f, 8.854197553e-03f, 8.845648597e-03f, 8.837084809e-03f, 8.828506205e-03f, 8.819912801e-03f, 8.811304612e-03f, 8.802681655e-03f,
+8.794043944e-03f, 8.785391495e-03f, 8.776724325e-03f, 8.768042448e-03f, 8.759345881e-03f, 8.750634640e-03f, 8.741908740e-03f, 8.733168197e-03f, 8.724413027e-03f, 8.715643246e-03f,
+8.706858869e-03f, 8.698059914e-03f, 8.689246395e-03f, 8.680418329e-03f, 8.671575732e-03f, 8.662718620e-03f, 8.653847009e-03f, 8.644960914e-03f, 8.636060353e-03f, 8.627145341e-03f,
+8.618215894e-03f, 8.609272029e-03f, 8.600313762e-03f, 8.591341109e-03f, 8.582354086e-03f, 8.573352710e-03f, 8.564336996e-03f, 8.555306962e-03f, 8.546262624e-03f, 8.537203997e-03f,
+8.528131099e-03f, 8.519043946e-03f, 8.509942554e-03f, 8.500826940e-03f, 8.491697120e-03f, 8.482553111e-03f, 8.473394929e-03f, 8.464222591e-03f, 8.455036114e-03f, 8.445835514e-03f,
+8.436620807e-03f, 8.427392011e-03f, 8.418149142e-03f, 8.408892217e-03f, 8.399621253e-03f, 8.390336266e-03f, 8.381037272e-03f, 8.371724290e-03f, 8.362397336e-03f, 8.353056426e-03f,
+8.343701578e-03f, 8.334332808e-03f, 8.324950133e-03f, 8.315553571e-03f, 8.306143137e-03f, 8.296718850e-03f, 8.287280726e-03f, 8.277828783e-03f, 8.268363037e-03f, 8.258883505e-03f,
+8.249390204e-03f, 8.239883153e-03f, 8.230362367e-03f, 8.220827864e-03f, 8.211279661e-03f, 8.201717775e-03f, 8.192142225e-03f, 8.182553026e-03f, 8.172950196e-03f, 8.163333753e-03f,
+8.153703713e-03f, 8.144060095e-03f, 8.134402915e-03f, 8.124732191e-03f, 8.115047941e-03f, 8.105350182e-03f, 8.095638930e-03f, 8.085914205e-03f, 8.076176023e-03f, 8.066424401e-03f,
+8.056659358e-03f, 8.046880911e-03f, 8.037089078e-03f, 8.027283876e-03f, 8.017465322e-03f, 8.007633435e-03f, 7.997788233e-03f, 7.987929732e-03f, 7.978057951e-03f, 7.968172907e-03f,
+7.958274619e-03f, 7.948363103e-03f, 7.938438379e-03f, 7.928500463e-03f, 7.918549373e-03f, 7.908585128e-03f, 7.898607745e-03f, 7.888617243e-03f, 7.878613639e-03f, 7.868596951e-03f,
+7.858567197e-03f, 7.848524395e-03f, 7.838468563e-03f, 7.828399720e-03f, 7.818317884e-03f, 7.808223071e-03f, 7.798115302e-03f, 7.787994593e-03f, 7.777860963e-03f, 7.767714430e-03f,
+7.757555012e-03f, 7.747382728e-03f, 7.737197596e-03f, 7.726999634e-03f, 7.716788860e-03f, 7.706565293e-03f, 7.696328952e-03f, 7.686079853e-03f, 7.675818016e-03f, 7.665543460e-03f,
+7.655256202e-03f, 7.644956261e-03f, 7.634643656e-03f, 7.624318405e-03f, 7.613980526e-03f, 7.603630038e-03f, 7.593266960e-03f, 7.582891310e-03f, 7.572503107e-03f, 7.562102369e-03f,
+7.551689115e-03f, 7.541263364e-03f, 7.530825134e-03f, 7.520374444e-03f, 7.509911313e-03f, 7.499435759e-03f, 7.488947801e-03f, 7.478447459e-03f, 7.467934750e-03f, 7.457409694e-03f,
+7.446872309e-03f, 7.436322615e-03f, 7.425760630e-03f, 7.415186372e-03f, 7.404599862e-03f, 7.394001118e-03f, 7.383390159e-03f, 7.372767003e-03f, 7.362131670e-03f, 7.351484179e-03f,
+7.340824550e-03f, 7.330152800e-03f, 7.319468949e-03f, 7.308773016e-03f, 7.298065020e-03f, 7.287344981e-03f, 7.276612917e-03f, 7.265868849e-03f, 7.255112794e-03f, 7.244344772e-03f,
+7.233564802e-03f, 7.222772905e-03f, 7.211969098e-03f, 7.201153401e-03f, 7.190325834e-03f, 7.179486415e-03f, 7.168635165e-03f, 7.157772102e-03f, 7.146897247e-03f, 7.136010617e-03f,
+7.125112234e-03f, 7.114202116e-03f, 7.103280282e-03f, 7.092346753e-03f, 7.081401547e-03f, 7.070444685e-03f, 7.059476185e-03f, 7.048496068e-03f, 7.037504353e-03f, 7.026501059e-03f,
+7.015486206e-03f, 7.004459814e-03f, 6.993421903e-03f, 6.982372492e-03f, 6.971311600e-03f, 6.960239249e-03f, 6.949155456e-03f, 6.938060242e-03f, 6.926953628e-03f, 6.915835631e-03f,
+6.904706274e-03f, 6.893565574e-03f, 6.882413553e-03f, 6.871250229e-03f, 6.860075624e-03f, 6.848889756e-03f, 6.837692645e-03f, 6.826484312e-03f, 6.815264777e-03f, 6.804034060e-03f,
+6.792792179e-03f, 6.781539157e-03f, 6.770275012e-03f, 6.758999764e-03f, 6.747713434e-03f, 6.736416042e-03f, 6.725107608e-03f, 6.713788152e-03f, 6.702457694e-03f, 6.691116254e-03f,
+6.679763852e-03f, 6.668400509e-03f, 6.657026245e-03f, 6.645641080e-03f, 6.634245035e-03f, 6.622838129e-03f, 6.611420382e-03f, 6.599991816e-03f, 6.588552451e-03f, 6.577102306e-03f,
+6.565641402e-03f, 6.554169760e-03f, 6.542687400e-03f, 6.531194342e-03f, 6.519690607e-03f, 6.508176215e-03f, 6.496651186e-03f, 6.485115542e-03f, 6.473569302e-03f, 6.462012488e-03f,
+6.450445119e-03f, 6.438867216e-03f, 6.427278800e-03f, 6.415679891e-03f, 6.404070510e-03f, 6.392450678e-03f, 6.380820414e-03f, 6.369179741e-03f, 6.357528677e-03f, 6.345867245e-03f,
+6.334195465e-03f, 6.322513357e-03f, 6.310820943e-03f, 6.299118242e-03f, 6.287405276e-03f, 6.275682066e-03f, 6.263948632e-03f, 6.252204995e-03f, 6.240451176e-03f, 6.228687196e-03f,
+6.216913076e-03f, 6.205128836e-03f, 6.193334497e-03f, 6.181530081e-03f, 6.169715608e-03f, 6.157891099e-03f, 6.146056576e-03f, 6.134212058e-03f, 6.122357568e-03f, 6.110493126e-03f,
+6.098618753e-03f, 6.086734470e-03f, 6.074840298e-03f, 6.062936259e-03f, 6.051022373e-03f, 6.039098661e-03f, 6.027165146e-03f, 6.015221847e-03f, 6.003268785e-03f, 5.991305983e-03f,
+5.979333462e-03f, 5.967351241e-03f, 5.955359344e-03f, 5.943357790e-03f, 5.931346601e-03f, 5.919325799e-03f, 5.907295404e-03f, 5.895255438e-03f, 5.883205923e-03f, 5.871146879e-03f,
+5.859078328e-03f, 5.847000292e-03f, 5.834912791e-03f, 5.822815847e-03f, 5.810709481e-03f, 5.798593716e-03f, 5.786468571e-03f, 5.774334069e-03f, 5.762190232e-03f, 5.750037080e-03f,
+5.737874635e-03f, 5.725702919e-03f, 5.713521953e-03f, 5.701331758e-03f, 5.689132357e-03f, 5.676923771e-03f, 5.664706021e-03f, 5.652479129e-03f, 5.640243116e-03f, 5.627998005e-03f,
+5.615743816e-03f, 5.603480572e-03f, 5.591208294e-03f, 5.578927004e-03f, 5.566636723e-03f, 5.554337474e-03f, 5.542029277e-03f, 5.529712155e-03f, 5.517386130e-03f, 5.505051222e-03f,
+5.492707455e-03f, 5.480354849e-03f, 5.467993427e-03f, 5.455623210e-03f, 5.443244221e-03f, 5.430856481e-03f, 5.418460011e-03f, 5.406054834e-03f, 5.393640972e-03f, 5.381218447e-03f,
+5.368787280e-03f, 5.356347493e-03f, 5.343899109e-03f, 5.331442149e-03f, 5.318976636e-03f, 5.306502591e-03f, 5.294020036e-03f, 5.281528994e-03f, 5.269029485e-03f, 5.256521534e-03f,
+5.244005160e-03f, 5.231480388e-03f, 5.218947237e-03f, 5.206405732e-03f, 5.193855893e-03f, 5.181297743e-03f, 5.168731305e-03f, 5.156156599e-03f, 5.143573649e-03f, 5.130982476e-03f,
+5.118383103e-03f, 5.105775552e-03f, 5.093159845e-03f, 5.080536005e-03f, 5.067904053e-03f, 5.055264012e-03f, 5.042615904e-03f, 5.029959751e-03f, 5.017295576e-03f, 5.004623401e-03f,
+4.991943248e-03f, 4.979255140e-03f, 4.966559099e-03f, 4.953855147e-03f, 4.941143307e-03f, 4.928423601e-03f, 4.915696052e-03f, 4.902960681e-03f, 4.890217511e-03f, 4.877466565e-03f,
+4.864707866e-03f, 4.851941435e-03f, 4.839167294e-03f, 4.826385468e-03f, 4.813595977e-03f, 4.800798845e-03f, 4.787994094e-03f, 4.775181746e-03f, 4.762361825e-03f, 4.749534352e-03f,
+4.736699350e-03f, 4.723856842e-03f, 4.711006851e-03f, 4.698149398e-03f, 4.685284507e-03f, 4.672412200e-03f, 4.659532500e-03f, 4.646645429e-03f, 4.633751010e-03f, 4.620849266e-03f,
+4.607940219e-03f, 4.595023893e-03f, 4.582100309e-03f, 4.569169491e-03f, 4.556231461e-03f, 4.543286242e-03f, 4.530333856e-03f, 4.517374327e-03f, 4.504407678e-03f, 4.491433930e-03f,
+4.478453107e-03f, 4.465465232e-03f, 4.452470327e-03f, 4.439468415e-03f, 4.426459519e-03f, 4.413443662e-03f, 4.400420867e-03f, 4.387391157e-03f, 4.374354554e-03f, 4.361311081e-03f,
+4.348260762e-03f, 4.335203619e-03f, 4.322139675e-03f, 4.309068953e-03f, 4.295991475e-03f, 4.282907266e-03f, 4.269816348e-03f, 4.256718743e-03f, 4.243614476e-03f, 4.230503568e-03f,
+4.217386042e-03f, 4.204261923e-03f, 4.191131233e-03f, 4.177993994e-03f, 4.164850230e-03f, 4.151699964e-03f, 4.138543220e-03f, 4.125380019e-03f, 4.112210385e-03f, 4.099034342e-03f,
+4.085851912e-03f, 4.072663119e-03f, 4.059467985e-03f, 4.046266534e-03f, 4.033058789e-03f, 4.019844772e-03f, 4.006624508e-03f, 3.993398019e-03f, 3.980165329e-03f, 3.966926461e-03f,
+3.953681437e-03f, 3.940430281e-03f, 3.927173017e-03f, 3.913909668e-03f, 3.900640256e-03f, 3.887364805e-03f, 3.874083338e-03f, 3.860795879e-03f, 3.847502451e-03f, 3.834203077e-03f,
+3.820897780e-03f, 3.807586584e-03f, 3.794269512e-03f, 3.780946587e-03f, 3.767617833e-03f, 3.754283273e-03f, 3.740942930e-03f, 3.727596828e-03f, 3.714244989e-03f, 3.700887439e-03f,
+3.687524199e-03f, 3.674155293e-03f, 3.660780744e-03f, 3.647400577e-03f, 3.634014814e-03f, 3.620623478e-03f, 3.607226594e-03f, 3.593824185e-03f, 3.580416274e-03f, 3.567002884e-03f,
+3.553584039e-03f, 3.540159763e-03f, 3.526730078e-03f, 3.513295009e-03f, 3.499854579e-03f, 3.486408812e-03f, 3.472957730e-03f, 3.459501358e-03f, 3.446039719e-03f, 3.432572836e-03f,
+3.419100733e-03f, 3.405623434e-03f, 3.392140962e-03f, 3.378653341e-03f, 3.365160595e-03f, 3.351662746e-03f, 3.338159818e-03f, 3.324651836e-03f, 3.311138822e-03f, 3.297620801e-03f,
+3.284097795e-03f, 3.270569829e-03f, 3.257036926e-03f, 3.243499110e-03f, 3.229956405e-03f, 3.216408833e-03f, 3.202856419e-03f, 3.189299187e-03f, 3.175737160e-03f, 3.162170361e-03f,
+3.148598815e-03f, 3.135022546e-03f, 3.121441576e-03f, 3.107855929e-03f, 3.094265630e-03f, 3.080670702e-03f, 3.067071169e-03f, 3.053467054e-03f, 3.039858382e-03f, 3.026245175e-03f,
+3.012627458e-03f, 2.999005255e-03f, 2.985378589e-03f, 2.971747484e-03f, 2.958111963e-03f, 2.944472052e-03f, 2.930827773e-03f, 2.917179150e-03f, 2.903526207e-03f, 2.889868968e-03f,
+2.876207456e-03f, 2.862541696e-03f, 2.848871712e-03f, 2.835197526e-03f, 2.821519164e-03f, 2.807836648e-03f, 2.794150003e-03f, 2.780459253e-03f, 2.766764421e-03f, 2.753065531e-03f,
+2.739362608e-03f, 2.725655675e-03f, 2.711944755e-03f, 2.698229874e-03f, 2.684511054e-03f, 2.670788320e-03f, 2.657061696e-03f, 2.643331205e-03f, 2.629596871e-03f, 2.615858719e-03f,
+2.602116772e-03f, 2.588371055e-03f, 2.574621590e-03f, 2.560868403e-03f, 2.547111517e-03f, 2.533350955e-03f, 2.519586743e-03f, 2.505818904e-03f, 2.492047462e-03f, 2.478272441e-03f,
+2.464493864e-03f, 2.450711757e-03f, 2.436926142e-03f, 2.423137045e-03f, 2.409344488e-03f, 2.395548496e-03f, 2.381749094e-03f, 2.367946304e-03f, 2.354140151e-03f, 2.340330659e-03f,
+2.326517852e-03f, 2.312701755e-03f, 2.298882390e-03f, 2.285059783e-03f, 2.271233957e-03f, 2.257404936e-03f, 2.243572744e-03f, 2.229737406e-03f, 2.215898945e-03f, 2.202057386e-03f,
+2.188212753e-03f, 2.174365069e-03f, 2.160514359e-03f, 2.146660647e-03f, 2.132803956e-03f, 2.118944312e-03f, 2.105081738e-03f, 2.091216259e-03f, 2.077347897e-03f, 2.063476678e-03f,
+2.049602626e-03f, 2.035725764e-03f, 2.021846117e-03f, 2.007963710e-03f, 1.994078565e-03f, 1.980190707e-03f, 1.966300161e-03f, 1.952406950e-03f, 1.938511099e-03f, 1.924612632e-03f,
+1.910711572e-03f, 1.896807945e-03f, 1.882901774e-03f, 1.868993083e-03f, 1.855081897e-03f, 1.841168239e-03f, 1.827252134e-03f, 1.813333607e-03f, 1.799412680e-03f, 1.785489379e-03f,
+1.771563728e-03f, 1.757635750e-03f, 1.743705471e-03f, 1.729772913e-03f, 1.715838102e-03f, 1.701901061e-03f, 1.687961815e-03f, 1.674020387e-03f, 1.660076803e-03f, 1.646131087e-03f,
+1.632183261e-03f, 1.618233352e-03f, 1.604281382e-03f, 1.590327376e-03f, 1.576371359e-03f, 1.562413354e-03f, 1.548453387e-03f, 1.534491480e-03f, 1.520527658e-03f, 1.506561946e-03f,
+1.492594367e-03f, 1.478624946e-03f, 1.464653708e-03f, 1.450680676e-03f, 1.436705874e-03f, 1.422729327e-03f, 1.408751060e-03f, 1.394771095e-03f, 1.380789458e-03f, 1.366806173e-03f,
+1.352821264e-03f, 1.338834755e-03f, 1.324846671e-03f, 1.310857036e-03f, 1.296865873e-03f, 1.282873208e-03f, 1.268879064e-03f, 1.254883466e-03f, 1.240886439e-03f, 1.226888005e-03f,
+1.212888190e-03f, 1.198887018e-03f, 1.184884513e-03f, 1.170880699e-03f, 1.156875601e-03f, 1.142869242e-03f, 1.128861648e-03f, 1.114852842e-03f, 1.100842849e-03f, 1.086831692e-03f,
+1.072819397e-03f, 1.058805987e-03f, 1.044791487e-03f, 1.030775921e-03f, 1.016759313e-03f, 1.002741688e-03f, 9.887230693e-04f, 9.747034818e-04f, 9.606829496e-04f, 9.466614970e-04f,
+9.326391483e-04f, 9.186159277e-04f, 9.045918595e-04f, 8.905669680e-04f, 8.765412774e-04f, 8.625148121e-04f, 8.484875962e-04f, 8.344596542e-04f, 8.204310101e-04f, 8.064016884e-04f,
+7.923717133e-04f, 7.783411090e-04f, 7.643098998e-04f, 7.502781101e-04f, 7.362457640e-04f, 7.222128859e-04f, 7.081794999e-04f, 6.941456305e-04f, 6.801113018e-04f, 6.660765381e-04f,
+6.520413638e-04f, 6.380058030e-04f, 6.239698800e-04f, 6.099336191e-04f, 5.958970445e-04f, 5.818601806e-04f, 5.678230516e-04f, 5.537856817e-04f, 5.397480952e-04f, 5.257103165e-04f,
+5.116723696e-04f, 4.976342790e-04f, 4.835960688e-04f, 4.695577633e-04f, 4.555193868e-04f, 4.414809636e-04f, 4.274425178e-04f, 4.134040737e-04f, 3.993656557e-04f, 3.853272879e-04f,
+3.712889946e-04f, 3.572508000e-04f, 3.432127284e-04f, 3.291748040e-04f, 3.151370511e-04f, 3.010994939e-04f, 2.870621566e-04f, 2.730250636e-04f, 2.589882390e-04f, 2.449517070e-04f,
+2.309154920e-04f, 2.168796180e-04f, 2.028441095e-04f, 1.888089905e-04f, 1.747742853e-04f, 1.607400182e-04f, 1.467062133e-04f, 1.326728949e-04f, 1.186400872e-04f, 1.046078145e-04f,
+9.057610080e-05f, 7.654497047e-05f, 6.251444769e-05f, 4.848455666e-05f, 3.445532159e-05f, 2.042676667e-05f, 6.398916109e-06f, -7.628205901e-06f, -2.165457516e-05f, -3.568016749e-05f,
+-4.970495869e-05f, -6.372892457e-05f, -7.775204096e-05f, -9.177428367e-05f, -1.057956285e-04f, -1.198160513e-04f, -1.338355280e-04f, -1.478540342e-04f, -1.618715459e-04f, -1.758880389e-04f,
+-1.899034891e-04f, -2.039178722e-04f, -2.179311641e-04f, -2.319433407e-04f, -2.459543779e-04f, -2.599642514e-04f, -2.739729372e-04f, -2.879804110e-04f, -3.019866489e-04f, -3.159916265e-04f,
+-3.299953199e-04f, -3.439977049e-04f, -3.579987573e-04f, -3.719984530e-04f, -3.859967680e-04f, -3.999936781e-04f, -4.139891593e-04f, -4.279831873e-04f, -4.419757382e-04f, -4.559667877e-04f,
+-4.699563119e-04f, -4.839442867e-04f, -4.979306879e-04f, -5.119154915e-04f, -5.258986733e-04f, -5.398802094e-04f, -5.538600757e-04f, -5.678382481e-04f, -5.818147025e-04f, -5.957894149e-04f,
+-6.097623612e-04f, -6.237335174e-04f, -6.377028595e-04f, -6.516703634e-04f, -6.656360051e-04f, -6.795997605e-04f, -6.935616057e-04f, -7.075215165e-04f, -7.214794691e-04f, -7.354354393e-04f,
+-7.493894032e-04f, -7.633413368e-04f, -7.772912161e-04f, -7.912390171e-04f, -8.051847158e-04f, -8.191282882e-04f, -8.330697103e-04f, -8.470089582e-04f, -8.609460080e-04f, -8.748808356e-04f,
+-8.888134171e-04f, -9.027437285e-04f, -9.166717459e-04f, -9.305974454e-04f, -9.445208030e-04f, -9.584417948e-04f, -9.723603969e-04f, -9.862765853e-04f, -1.000190336e-03f, -1.014101626e-03f,
+-1.028010430e-03f, -1.041916724e-03f, -1.055820486e-03f, -1.069721690e-03f, -1.083620314e-03f, -1.097516333e-03f, -1.111409723e-03f, -1.125300460e-03f, -1.139188521e-03f, -1.153073882e-03f,
+-1.166956519e-03f, -1.180836408e-03f, -1.194713525e-03f, -1.208587847e-03f, -1.222459349e-03f, -1.236328008e-03f, -1.250193800e-03f, -1.264056701e-03f, -1.277916687e-03f, -1.291773735e-03f,
+-1.305627821e-03f, -1.319478920e-03f, -1.333327010e-03f, -1.347172067e-03f, -1.361014066e-03f, -1.374852984e-03f, -1.388688798e-03f, -1.402521482e-03f, -1.416351015e-03f, -1.430177372e-03f,
+-1.444000528e-03f, -1.457820462e-03f, -1.471637148e-03f, -1.485450564e-03f, -1.499260685e-03f, -1.513067488e-03f, -1.526870949e-03f, -1.540671045e-03f, -1.554467751e-03f, -1.568261044e-03f,
+-1.582050901e-03f, -1.595837298e-03f, -1.609620211e-03f, -1.623399617e-03f, -1.637175491e-03f, -1.650947811e-03f, -1.664716553e-03f, -1.678481693e-03f, -1.692243208e-03f, -1.706001073e-03f,
+-1.719755266e-03f, -1.733505763e-03f, -1.747252540e-03f, -1.760995573e-03f, -1.774734840e-03f, -1.788470317e-03f, -1.802201980e-03f, -1.815929805e-03f, -1.829653769e-03f, -1.843373849e-03f,
+-1.857090021e-03f, -1.870802262e-03f, -1.884510548e-03f, -1.898214855e-03f, -1.911915161e-03f, -1.925611441e-03f, -1.939303673e-03f, -1.952991832e-03f, -1.966675896e-03f, -1.980355841e-03f,
+-1.994031643e-03f, -2.007703280e-03f, -2.021370727e-03f, -2.035033961e-03f, -2.048692960e-03f, -2.062347699e-03f, -2.075998156e-03f, -2.089644306e-03f, -2.103286127e-03f, -2.116923595e-03f,
+-2.130556686e-03f, -2.144185379e-03f, -2.157809649e-03f, -2.171429472e-03f, -2.185044826e-03f, -2.198655688e-03f, -2.212262033e-03f, -2.225863840e-03f, -2.239461084e-03f, -2.253053742e-03f,
+-2.266641791e-03f, -2.280225209e-03f, -2.293803970e-03f, -2.307378053e-03f, -2.320947435e-03f, -2.334512091e-03f, -2.348071999e-03f, -2.361627136e-03f, -2.375177478e-03f, -2.388723002e-03f,
+-2.402263686e-03f, -2.415799506e-03f, -2.429330438e-03f, -2.442856460e-03f, -2.456377549e-03f, -2.469893682e-03f, -2.483404835e-03f, -2.496910985e-03f, -2.510412110e-03f, -2.523908186e-03f,
+-2.537399190e-03f, -2.550885100e-03f, -2.564365891e-03f, -2.577841542e-03f, -2.591312029e-03f, -2.604777329e-03f, -2.618237419e-03f, -2.631692276e-03f, -2.645141878e-03f, -2.658586200e-03f,
+-2.672025221e-03f, -2.685458918e-03f, -2.698887266e-03f, -2.712310245e-03f, -2.725727829e-03f, -2.739139998e-03f, -2.752546727e-03f, -2.765947995e-03f, -2.779343777e-03f, -2.792734052e-03f,
+-2.806118795e-03f, -2.819497986e-03f, -2.832871600e-03f, -2.846239615e-03f, -2.859602009e-03f, -2.872958757e-03f, -2.886309838e-03f, -2.899655229e-03f, -2.912994907e-03f, -2.926328850e-03f,
+-2.939657033e-03f, -2.952979436e-03f, -2.966296035e-03f, -2.979606807e-03f, -2.992911730e-03f, -3.006210781e-03f, -3.019503937e-03f, -3.032791176e-03f, -3.046072475e-03f, -3.059347812e-03f,
+-3.072617164e-03f, -3.085880507e-03f, -3.099137821e-03f, -3.112389081e-03f, -3.125634266e-03f, -3.138873353e-03f, -3.152106319e-03f, -3.165333142e-03f, -3.178553799e-03f, -3.191768268e-03f,
+-3.204976527e-03f, -3.218178552e-03f, -3.231374321e-03f, -3.244563813e-03f, -3.257747003e-03f, -3.270923871e-03f, -3.284094393e-03f, -3.297258547e-03f, -3.310416311e-03f, -3.323567663e-03f,
+-3.336712579e-03f, -3.349851037e-03f, -3.362983016e-03f, -3.376108493e-03f, -3.389227445e-03f, -3.402339851e-03f, -3.415445687e-03f, -3.428544932e-03f, -3.441637563e-03f, -3.454723558e-03f,
+-3.467802895e-03f, -3.480875552e-03f, -3.493941506e-03f, -3.507000734e-03f, -3.520053216e-03f, -3.533098929e-03f, -3.546137850e-03f, -3.559169957e-03f, -3.572195228e-03f, -3.585213642e-03f,
+-3.598225175e-03f, -3.611229806e-03f, -3.624227513e-03f, -3.637218274e-03f, -3.650202065e-03f, -3.663178867e-03f, -3.676148656e-03f, -3.689111410e-03f, -3.702067107e-03f, -3.715015726e-03f,
+-3.727957244e-03f, -3.740891640e-03f, -3.753818891e-03f, -3.766738975e-03f, -3.779651871e-03f, -3.792557556e-03f, -3.805456009e-03f, -3.818347208e-03f, -3.831231130e-03f, -3.844107755e-03f,
+-3.856977060e-03f, -3.869839022e-03f, -3.882693622e-03f, -3.895540836e-03f, -3.908380642e-03f, -3.921213020e-03f, -3.934037947e-03f, -3.946855402e-03f, -3.959665362e-03f, -3.972467806e-03f,
+-3.985262712e-03f, -3.998050059e-03f, -4.010829825e-03f, -4.023601988e-03f, -4.036366527e-03f, -4.049123419e-03f, -4.061872644e-03f, -4.074614179e-03f, -4.087348003e-03f, -4.100074095e-03f,
+-4.112792432e-03f, -4.125502994e-03f, -4.138205759e-03f, -4.150900704e-03f, -4.163587810e-03f, -4.176267053e-03f, -4.188938413e-03f, -4.201601869e-03f, -4.214257398e-03f, -4.226904979e-03f,
+-4.239544591e-03f, -4.252176213e-03f, -4.264799823e-03f, -4.277415399e-03f, -4.290022921e-03f, -4.302622366e-03f, -4.315213714e-03f, -4.327796944e-03f, -4.340372033e-03f, -4.352938961e-03f,
+-4.365497706e-03f, -4.378048248e-03f, -4.390590564e-03f, -4.403124634e-03f, -4.415650436e-03f, -4.428167950e-03f, -4.440677153e-03f, -4.453178026e-03f, -4.465670546e-03f, -4.478154692e-03f,
+-4.490630444e-03f, -4.503097781e-03f, -4.515556680e-03f, -4.528007122e-03f, -4.540449084e-03f, -4.552882547e-03f, -4.565307488e-03f, -4.577723888e-03f, -4.590131724e-03f, -4.602530977e-03f,
+-4.614921624e-03f, -4.627303646e-03f, -4.639677021e-03f, -4.652041727e-03f, -4.664397746e-03f, -4.676745054e-03f, -4.689083632e-03f, -4.701413459e-03f, -4.713734513e-03f, -4.726046775e-03f,
+-4.738350223e-03f, -4.750644836e-03f, -4.762930594e-03f, -4.775207475e-03f, -4.787475460e-03f, -4.799734527e-03f, -4.811984656e-03f, -4.824225826e-03f, -4.836458016e-03f, -4.848681206e-03f,
+-4.860895375e-03f, -4.873100502e-03f, -4.885296568e-03f, -4.897483550e-03f, -4.909661429e-03f, -4.921830184e-03f, -4.933989794e-03f, -4.946140240e-03f, -4.958281500e-03f, -4.970413554e-03f,
+-4.982536381e-03f, -4.994649962e-03f, -5.006754275e-03f, -5.018849300e-03f, -5.030935017e-03f, -5.043011406e-03f, -5.055078445e-03f, -5.067136115e-03f, -5.079184396e-03f, -5.091223267e-03f,
+-5.103252707e-03f, -5.115272697e-03f, -5.127283215e-03f, -5.139284243e-03f, -5.151275760e-03f, -5.163257745e-03f, -5.175230178e-03f, -5.187193039e-03f, -5.199146308e-03f, -5.211089965e-03f,
+-5.223023990e-03f, -5.234948362e-03f, -5.246863061e-03f, -5.258768068e-03f, -5.270663362e-03f, -5.282548924e-03f, -5.294424733e-03f, -5.306290769e-03f, -5.318147012e-03f, -5.329993442e-03f,
+-5.341830040e-03f, -5.353656785e-03f, -5.365473658e-03f, -5.377280638e-03f, -5.389077707e-03f, -5.400864842e-03f, -5.412642026e-03f, -5.424409239e-03f, -5.436166459e-03f, -5.447913668e-03f,
+-5.459650846e-03f, -5.471377973e-03f, -5.483095030e-03f, -5.494801996e-03f, -5.506498852e-03f, -5.518185578e-03f, -5.529862155e-03f, -5.541528563e-03f, -5.553184783e-03f, -5.564830794e-03f,
+-5.576466577e-03f, -5.588092113e-03f, -5.599707382e-03f, -5.611312364e-03f, -5.622907041e-03f, -5.634491392e-03f, -5.646065398e-03f, -5.657629040e-03f, -5.669182298e-03f, -5.680725153e-03f,
+-5.692257585e-03f, -5.703779575e-03f, -5.715291104e-03f, -5.726792152e-03f, -5.738282700e-03f, -5.749762729e-03f, -5.761232220e-03f, -5.772691152e-03f, -5.784139508e-03f, -5.795577267e-03f,
+-5.807004410e-03f, -5.818420919e-03f, -5.829826774e-03f, -5.841221956e-03f, -5.852606446e-03f, -5.863980225e-03f, -5.875343273e-03f, -5.886695573e-03f, -5.898037103e-03f, -5.909367846e-03f,
+-5.920687783e-03f, -5.931996894e-03f, -5.943295161e-03f, -5.954582565e-03f, -5.965859086e-03f, -5.977124706e-03f, -5.988379406e-03f, -5.999623167e-03f, -6.010855970e-03f, -6.022077797e-03f,
+-6.033288628e-03f, -6.044488445e-03f, -6.055677229e-03f, -6.066854961e-03f, -6.078021623e-03f, -6.089177195e-03f, -6.100321660e-03f, -6.111454998e-03f, -6.122577191e-03f, -6.133688220e-03f,
+-6.144788066e-03f, -6.155876712e-03f, -6.166954138e-03f, -6.178020326e-03f, -6.189075257e-03f, -6.200118913e-03f, -6.211151275e-03f, -6.222172325e-03f, -6.233182045e-03f, -6.244180416e-03f,
+-6.255167419e-03f, -6.266143036e-03f, -6.277107250e-03f, -6.288060041e-03f, -6.299001391e-03f, -6.309931282e-03f, -6.320849695e-03f, -6.331756613e-03f, -6.342652017e-03f, -6.353535889e-03f,
+-6.364408211e-03f, -6.375268964e-03f, -6.386118130e-03f, -6.396955692e-03f, -6.407781631e-03f, -6.418595929e-03f, -6.429398568e-03f, -6.440189530e-03f, -6.450968797e-03f, -6.461736350e-03f,
+-6.472492173e-03f, -6.483236246e-03f, -6.493968552e-03f, -6.504689074e-03f, -6.515397792e-03f, -6.526094690e-03f, -6.536779750e-03f, -6.547452953e-03f, -6.558114281e-03f, -6.568763718e-03f,
+-6.579401245e-03f, -6.590026844e-03f, -6.600640498e-03f, -6.611242189e-03f, -6.621831899e-03f, -6.632409611e-03f, -6.642975307e-03f, -6.653528970e-03f, -6.664070581e-03f, -6.674600123e-03f,
+-6.685117579e-03f, -6.695622932e-03f, -6.706116163e-03f, -6.716597255e-03f, -6.727066190e-03f, -6.737522952e-03f, -6.747967523e-03f, -6.758399885e-03f, -6.768820021e-03f, -6.779227913e-03f,
+-6.789623545e-03f, -6.800006899e-03f, -6.810377958e-03f, -6.820736704e-03f, -6.831083120e-03f, -6.841417189e-03f, -6.851738894e-03f, -6.862048217e-03f, -6.872345142e-03f, -6.882629651e-03f,
+-6.892901728e-03f, -6.903161354e-03f, -6.913408513e-03f, -6.923643188e-03f, -6.933865363e-03f, -6.944075019e-03f, -6.954272140e-03f, -6.964456709e-03f, -6.974628709e-03f, -6.984788123e-03f,
+-6.994934934e-03f, -7.005069126e-03f, -7.015190681e-03f, -7.025299583e-03f, -7.035395815e-03f, -7.045479360e-03f, -7.055550202e-03f, -7.065608323e-03f, -7.075653707e-03f, -7.085686337e-03f,
+-7.095706197e-03f, -7.105713269e-03f, -7.115707538e-03f, -7.125688987e-03f, -7.135657599e-03f, -7.145613358e-03f, -7.155556247e-03f, -7.165486249e-03f, -7.175403348e-03f, -7.185307528e-03f,
+-7.195198773e-03f, -7.205077065e-03f, -7.214942388e-03f, -7.224794727e-03f, -7.234634065e-03f, -7.244460384e-03f, -7.254273670e-03f, -7.264073906e-03f, -7.273861076e-03f, -7.283635162e-03f,
+-7.293396150e-03f, -7.303144023e-03f, -7.312878765e-03f, -7.322600360e-03f, -7.332308791e-03f, -7.342004043e-03f, -7.351686100e-03f, -7.361354944e-03f, -7.371010562e-03f, -7.380652935e-03f,
+-7.390282050e-03f, -7.399897888e-03f, -7.409500436e-03f, -7.419089676e-03f, -7.428665593e-03f, -7.438228172e-03f, -7.447777395e-03f, -7.457313248e-03f, -7.466835714e-03f, -7.476344779e-03f,
+-7.485840426e-03f, -7.495322639e-03f, -7.504791403e-03f, -7.514246702e-03f, -7.523688521e-03f, -7.533116843e-03f, -7.542531654e-03f, -7.551932938e-03f, -7.561320679e-03f, -7.570694862e-03f,
+-7.580055471e-03f, -7.589402491e-03f, -7.598735906e-03f, -7.608055702e-03f, -7.617361861e-03f, -7.626654371e-03f, -7.635933214e-03f, -7.645198375e-03f, -7.654449840e-03f, -7.663687593e-03f,
+-7.672911619e-03f, -7.682121902e-03f, -7.691318428e-03f, -7.700501181e-03f, -7.709670146e-03f, -7.718825308e-03f, -7.727966652e-03f, -7.737094162e-03f, -7.746207825e-03f, -7.755307624e-03f,
+-7.764393545e-03f, -7.773465573e-03f, -7.782523692e-03f, -7.791567889e-03f, -7.800598147e-03f, -7.809614453e-03f, -7.818616791e-03f, -7.827605147e-03f, -7.836579505e-03f, -7.845539851e-03f,
+-7.854486171e-03f, -7.863418449e-03f, -7.872336670e-03f, -7.881240821e-03f, -7.890130886e-03f, -7.899006851e-03f, -7.907868702e-03f, -7.916716423e-03f, -7.925550000e-03f, -7.934369419e-03f,
+-7.943174665e-03f, -7.951965723e-03f, -7.960742580e-03f, -7.969505221e-03f, -7.978253631e-03f, -7.986987796e-03f, -7.995707702e-03f, -8.004413334e-03f, -8.013104679e-03f, -8.021781721e-03f,
+-8.030444447e-03f, -8.039092842e-03f, -8.047726892e-03f, -8.056346584e-03f, -8.064951902e-03f, -8.073542833e-03f, -8.082119363e-03f, -8.090681477e-03f, -8.099229162e-03f, -8.107762404e-03f,
+-8.116281188e-03f, -8.124785501e-03f, -8.133275328e-03f, -8.141750657e-03f, -8.150211472e-03f, -8.158657761e-03f, -8.167089508e-03f, -8.175506701e-03f, -8.183909326e-03f, -8.192297369e-03f,
+-8.200670816e-03f, -8.209029653e-03f, -8.217373867e-03f, -8.225703445e-03f, -8.234018372e-03f, -8.242318635e-03f, -8.250604220e-03f, -8.258875114e-03f, -8.267131303e-03f, -8.275372775e-03f,
+-8.283599514e-03f, -8.291811509e-03f, -8.300008745e-03f, -8.308191209e-03f, -8.316358888e-03f, -8.324511768e-03f, -8.332649837e-03f, -8.340773080e-03f, -8.348881485e-03f, -8.356975038e-03f,
+-8.365053727e-03f, -8.373117537e-03f, -8.381166456e-03f, -8.389200471e-03f, -8.397219569e-03f, -8.405223736e-03f, -8.413212959e-03f, -8.421187226e-03f, -8.429146524e-03f, -8.437090839e-03f,
+-8.445020159e-03f, -8.452934470e-03f, -8.460833760e-03f, -8.468718016e-03f, -8.476587225e-03f, -8.484441375e-03f, -8.492280451e-03f, -8.500104443e-03f, -8.507913337e-03f, -8.515707120e-03f,
+-8.523485780e-03f, -8.531249303e-03f, -8.538997678e-03f, -8.546730892e-03f, -8.554448932e-03f, -8.562151786e-03f, -8.569839441e-03f, -8.577511885e-03f, -8.585169105e-03f, -8.592811089e-03f,
+-8.600437824e-03f, -8.608049299e-03f, -8.615645500e-03f, -8.623226415e-03f, -8.630792033e-03f, -8.638342340e-03f, -8.645877325e-03f, -8.653396975e-03f, -8.660901279e-03f, -8.668390223e-03f,
+-8.675863797e-03f, -8.683321987e-03f, -8.690764781e-03f, -8.698192169e-03f, -8.705604137e-03f, -8.713000674e-03f, -8.720381767e-03f, -8.727747405e-03f, -8.735097576e-03f, -8.742432268e-03f,
+-8.749751469e-03f, -8.757055168e-03f, -8.764343351e-03f, -8.771616008e-03f, -8.778873128e-03f, -8.786114697e-03f, -8.793340705e-03f, -8.800551140e-03f, -8.807745989e-03f, -8.814925243e-03f,
+-8.822088888e-03f, -8.829236914e-03f, -8.836369309e-03f, -8.843486061e-03f, -8.850587159e-03f, -8.857672592e-03f, -8.864742347e-03f, -8.871796414e-03f, -8.878834782e-03f, -8.885857438e-03f,
+-8.892864373e-03f, -8.899855573e-03f, -8.906831029e-03f, -8.913790729e-03f, -8.920734661e-03f, -8.927662815e-03f, -8.934575179e-03f, -8.941471742e-03f, -8.948352494e-03f, -8.955217423e-03f,
+-8.962066518e-03f, -8.968899768e-03f, -8.975717162e-03f, -8.982518689e-03f, -8.989304339e-03f, -8.996074100e-03f, -9.002827962e-03f, -9.009565913e-03f, -9.016287943e-03f, -9.022994041e-03f,
+-9.029684196e-03f, -9.036358399e-03f, -9.043016637e-03f, -9.049658900e-03f, -9.056285178e-03f, -9.062895460e-03f, -9.069489736e-03f, -9.076067994e-03f, -9.082630225e-03f, -9.089176417e-03f,
+-9.095706561e-03f, -9.102220646e-03f, -9.108718661e-03f, -9.115200597e-03f, -9.121666443e-03f, -9.128116188e-03f, -9.134549822e-03f, -9.140967335e-03f, -9.147368716e-03f, -9.153753957e-03f,
+-9.160123045e-03f, -9.166475972e-03f, -9.172812726e-03f, -9.179133299e-03f, -9.185437679e-03f, -9.191725857e-03f, -9.197997823e-03f, -9.204253567e-03f, -9.210493078e-03f, -9.216716347e-03f,
+-9.222923365e-03f, -9.229114120e-03f, -9.235288604e-03f, -9.241446806e-03f, -9.247588717e-03f, -9.253714327e-03f, -9.259823626e-03f, -9.265916605e-03f, -9.271993253e-03f, -9.278053562e-03f,
+-9.284097521e-03f, -9.290125121e-03f, -9.296136353e-03f, -9.302131206e-03f, -9.308109672e-03f, -9.314071741e-03f, -9.320017404e-03f, -9.325946650e-03f, -9.331859472e-03f, -9.337755858e-03f,
+-9.343635801e-03f, -9.349499290e-03f, -9.355346317e-03f, -9.361176872e-03f, -9.366990946e-03f, -9.372788530e-03f, -9.378569615e-03f, -9.384334191e-03f, -9.390082250e-03f, -9.395813782e-03f,
+-9.401528778e-03f, -9.407227230e-03f, -9.412909128e-03f, -9.418574464e-03f, -9.424223228e-03f, -9.429855412e-03f, -9.435471007e-03f, -9.441070003e-03f, -9.446652393e-03f, -9.452218167e-03f,
+-9.457767317e-03f, -9.463299834e-03f, -9.468815709e-03f, -9.474314933e-03f, -9.479797498e-03f, -9.485263396e-03f, -9.490712618e-03f, -9.496145154e-03f, -9.501560998e-03f, -9.506960139e-03f,
+-9.512342571e-03f, -9.517708284e-03f, -9.523057270e-03f, -9.528389520e-03f, -9.533705027e-03f, -9.539003782e-03f, -9.544285776e-03f, -9.549551002e-03f, -9.554799451e-03f, -9.560031115e-03f,
+-9.565245986e-03f, -9.570444056e-03f, -9.575625316e-03f, -9.580789759e-03f, -9.585937377e-03f, -9.591068161e-03f, -9.596182104e-03f, -9.601279197e-03f, -9.606359433e-03f, -9.611422803e-03f,
+-9.616469301e-03f, -9.621498918e-03f, -9.626511646e-03f, -9.631507477e-03f, -9.636486405e-03f, -9.641448420e-03f, -9.646393516e-03f, -9.651321684e-03f, -9.656232918e-03f, -9.661127209e-03f,
+-9.666004550e-03f, -9.670864933e-03f, -9.675708351e-03f, -9.680534797e-03f, -9.685344262e-03f, -9.690136740e-03f, -9.694912223e-03f, -9.699670704e-03f, -9.704412176e-03f, -9.709136630e-03f,
+-9.713844061e-03f, -9.718534460e-03f, -9.723207820e-03f, -9.727864135e-03f, -9.732503397e-03f, -9.737125599e-03f, -9.741730733e-03f, -9.746318794e-03f, -9.750889773e-03f, -9.755443664e-03f,
+-9.759980460e-03f, -9.764500154e-03f, -9.769002739e-03f, -9.773488208e-03f, -9.777956554e-03f, -9.782407770e-03f, -9.786841850e-03f, -9.791258787e-03f, -9.795658574e-03f, -9.800041205e-03f,
+-9.804406672e-03f, -9.808754970e-03f, -9.813086090e-03f, -9.817400028e-03f, -9.821696776e-03f, -9.825976328e-03f, -9.830238678e-03f, -9.834483818e-03f, -9.838711742e-03f, -9.842922445e-03f,
+-9.847115919e-03f, -9.851292159e-03f, -9.855451158e-03f, -9.859592909e-03f, -9.863717407e-03f, -9.867824645e-03f, -9.871914618e-03f, -9.875987318e-03f, -9.880042740e-03f, -9.884080878e-03f,
+-9.888101725e-03f, -9.892105276e-03f, -9.896091524e-03f, -9.900060464e-03f, -9.904012090e-03f, -9.907946395e-03f, -9.911863374e-03f, -9.915763022e-03f, -9.919645331e-03f, -9.923510296e-03f,
+-9.927357913e-03f, -9.931188174e-03f, -9.935001074e-03f, -9.938796607e-03f, -9.942574769e-03f, -9.946335552e-03f, -9.950078952e-03f, -9.953804964e-03f, -9.957513580e-03f, -9.961204797e-03f,
+-9.964878608e-03f, -9.968535009e-03f, -9.972173993e-03f, -9.975795555e-03f, -9.979399691e-03f, -9.982986394e-03f, -9.986555659e-03f, -9.990107482e-03f, -9.993641857e-03f, -9.997158778e-03f,
+-1.000065824e-02f, -1.000414024e-02f, -1.000760477e-02f, -1.001105183e-02f, -1.001448141e-02f, -1.001789350e-02f, -1.002128811e-02f, -1.002466522e-02f, -1.002802483e-02f, -1.003136694e-02f,
+-1.003469154e-02f, -1.003799863e-02f, -1.004128820e-02f, -1.004456025e-02f, -1.004781477e-02f, -1.005105176e-02f, -1.005427121e-02f, -1.005747312e-02f, -1.006065748e-02f, -1.006382429e-02f,
+-1.006697355e-02f, -1.007010525e-02f, -1.007321938e-02f, -1.007631594e-02f, -1.007939494e-02f, -1.008245635e-02f, -1.008550018e-02f, -1.008852643e-02f, -1.009153508e-02f, -1.009452614e-02f,
+-1.009749960e-02f, -1.010045546e-02f, -1.010339371e-02f, -1.010631435e-02f, -1.010921737e-02f, -1.011210278e-02f, -1.011497055e-02f, -1.011782071e-02f, -1.012065322e-02f, -1.012346811e-02f,
+-1.012626535e-02f, -1.012904495e-02f, -1.013180690e-02f, -1.013455120e-02f, -1.013727785e-02f, -1.013998683e-02f, -1.014267816e-02f, -1.014535181e-02f, -1.014800780e-02f, -1.015064611e-02f,
+-1.015326675e-02f, -1.015586970e-02f, -1.015845497e-02f, -1.016102255e-02f, -1.016357244e-02f, -1.016610463e-02f, -1.016861913e-02f, -1.017111592e-02f, -1.017359501e-02f, -1.017605638e-02f,
+-1.017850005e-02f, -1.018092600e-02f, -1.018333423e-02f, -1.018572474e-02f, -1.018809753e-02f, -1.019045258e-02f, -1.019278991e-02f, -1.019510950e-02f, -1.019741135e-02f, -1.019969546e-02f,
+-1.020196183e-02f, -1.020421045e-02f, -1.020644132e-02f, -1.020865444e-02f, -1.021084980e-02f, -1.021302741e-02f, -1.021518725e-02f, -1.021732933e-02f, -1.021945364e-02f, -1.022156019e-02f,
+-1.022364896e-02f, -1.022571995e-02f, -1.022777317e-02f, -1.022980861e-02f, -1.023182626e-02f, -1.023382613e-02f, -1.023580822e-02f, -1.023777251e-02f, -1.023971901e-02f, -1.024164771e-02f,
+-1.024355862e-02f, -1.024545173e-02f, -1.024732703e-02f, -1.024918453e-02f, -1.025102422e-02f, -1.025284610e-02f, -1.025465018e-02f, -1.025643643e-02f, -1.025820488e-02f, -1.025995550e-02f,
+-1.026168831e-02f, -1.026340329e-02f, -1.026510045e-02f, -1.026677978e-02f, -1.026844129e-02f, -1.027008496e-02f, -1.027171080e-02f, -1.027331881e-02f, -1.027490899e-02f, -1.027648132e-02f,
+-1.027803582e-02f, -1.027957248e-02f, -1.028109129e-02f, -1.028259226e-02f, -1.028407538e-02f, -1.028554066e-02f, -1.028698809e-02f, -1.028841766e-02f, -1.028982938e-02f, -1.029122325e-02f,
+-1.029259927e-02f, -1.029395743e-02f, -1.029529773e-02f, -1.029662017e-02f, -1.029792475e-02f, -1.029921146e-02f, -1.030048032e-02f, -1.030173131e-02f, -1.030296443e-02f, -1.030417968e-02f,
+-1.030537707e-02f, -1.030655659e-02f, -1.030771824e-02f, -1.030886201e-02f, -1.030998792e-02f, -1.031109595e-02f, -1.031218610e-02f, -1.031325838e-02f, -1.031431278e-02f, -1.031534931e-02f,
+-1.031636795e-02f, -1.031736872e-02f, -1.031835161e-02f, -1.031931662e-02f, -1.032026374e-02f, -1.032119299e-02f, -1.032210435e-02f, -1.032299783e-02f, -1.032387342e-02f, -1.032473113e-02f,
+-1.032557096e-02f, -1.032639289e-02f, -1.032719695e-02f, -1.032798311e-02f, -1.032875139e-02f, -1.032950178e-02f, -1.033023429e-02f, -1.033094890e-02f, -1.033164563e-02f, -1.033232447e-02f,
+-1.033298542e-02f, -1.033362848e-02f, -1.033425365e-02f, -1.033486093e-02f, -1.033545033e-02f, -1.033602183e-02f, -1.033657544e-02f, -1.033711117e-02f, -1.033762900e-02f, -1.033812895e-02f,
+-1.033861100e-02f, -1.033907517e-02f, -1.033952145e-02f, -1.033994983e-02f, -1.034036033e-02f, -1.034075294e-02f, -1.034112766e-02f, -1.034148450e-02f, -1.034182344e-02f, -1.034214450e-02f,
+-1.034244767e-02f, -1.034273295e-02f, -1.034300035e-02f, -1.034324986e-02f, -1.034348149e-02f, -1.034369523e-02f, -1.034389109e-02f, -1.034406906e-02f, -1.034422916e-02f, -1.034437137e-02f,
+-1.034449569e-02f, -1.034460214e-02f, -1.034469071e-02f, -1.034476139e-02f, -1.034481420e-02f, -1.034484913e-02f, -1.034486619e-02f, -1.034486536e-02f, -1.034484667e-02f, -1.034481010e-02f,
+-1.034475565e-02f, -1.034468334e-02f, -1.034459315e-02f, -1.034448510e-02f, -1.034435917e-02f, -1.034421538e-02f, -1.034405372e-02f, -1.034387419e-02f, -1.034367681e-02f, -1.034346156e-02f,
+-1.034322844e-02f, -1.034297747e-02f, -1.034270864e-02f, -1.034242195e-02f, -1.034211741e-02f, -1.034179501e-02f, -1.034145476e-02f, -1.034109666e-02f, -1.034072071e-02f, -1.034032691e-02f,
+-1.033991526e-02f, -1.033948577e-02f, -1.033903843e-02f, -1.033857326e-02f, -1.033809024e-02f, -1.033758939e-02f, -1.033707070e-02f, -1.033653417e-02f, -1.033597982e-02f, -1.033540763e-02f,
+-1.033481761e-02f, -1.033420977e-02f, -1.033358410e-02f, -1.033294061e-02f, -1.033227930e-02f, -1.033160017e-02f, -1.033090322e-02f, -1.033018846e-02f, -1.032945588e-02f, -1.032870550e-02f,
+-1.032793731e-02f, -1.032715131e-02f, -1.032634751e-02f, -1.032552591e-02f, -1.032468651e-02f, -1.032382931e-02f, -1.032295432e-02f, -1.032206154e-02f, -1.032115097e-02f, -1.032022261e-02f,
+-1.031927647e-02f, -1.031831255e-02f, -1.031733085e-02f, -1.031633137e-02f, -1.031531412e-02f, -1.031427910e-02f, -1.031322631e-02f, -1.031215576e-02f, -1.031106744e-02f, -1.030996137e-02f,
+-1.030883753e-02f, -1.030769595e-02f, -1.030653661e-02f, -1.030535952e-02f, -1.030416469e-02f, -1.030295212e-02f, -1.030172180e-02f, -1.030047375e-02f, -1.029920797e-02f, -1.029792446e-02f,
+-1.029662322e-02f, -1.029530426e-02f, -1.029396758e-02f, -1.029261318e-02f, -1.029124106e-02f, -1.028985124e-02f, -1.028844371e-02f, -1.028701847e-02f, -1.028557553e-02f, -1.028411490e-02f,
+-1.028263657e-02f, -1.028114056e-02f, -1.027962685e-02f, -1.027809547e-02f, -1.027654640e-02f, -1.027497966e-02f, -1.027339524e-02f, -1.027179316e-02f, -1.027017341e-02f, -1.026853600e-02f,
+-1.026688093e-02f, -1.026520821e-02f, -1.026351784e-02f, -1.026180983e-02f, -1.026008417e-02f, -1.025834087e-02f, -1.025657994e-02f, -1.025480138e-02f, -1.025300519e-02f, -1.025119138e-02f,
+-1.024935995e-02f, -1.024751090e-02f, -1.024564425e-02f, -1.024375999e-02f, -1.024185813e-02f, -1.023993867e-02f, -1.023800162e-02f, -1.023604698e-02f, -1.023407475e-02f, -1.023208495e-02f,
+-1.023007756e-02f, -1.022805261e-02f, -1.022601009e-02f, -1.022395000e-02f, -1.022187236e-02f, -1.021977716e-02f, -1.021766442e-02f, -1.021553413e-02f, -1.021338630e-02f, -1.021122093e-02f,
+-1.020903803e-02f, -1.020683761e-02f, -1.020461967e-02f, -1.020238420e-02f, -1.020013123e-02f, -1.019786075e-02f, -1.019557277e-02f, -1.019326729e-02f, -1.019094431e-02f, -1.018860385e-02f,
+-1.018624591e-02f, -1.018387049e-02f, -1.018147759e-02f, -1.017906723e-02f, -1.017663941e-02f, -1.017419413e-02f, -1.017173140e-02f, -1.016925121e-02f, -1.016675359e-02f, -1.016423853e-02f,
+-1.016170604e-02f, -1.015915613e-02f, -1.015658879e-02f, -1.015400404e-02f, -1.015140187e-02f, -1.014878231e-02f, -1.014614534e-02f, -1.014349098e-02f, -1.014081923e-02f, -1.013813010e-02f,
+-1.013542359e-02f, -1.013269971e-02f, -1.012995846e-02f, -1.012719985e-02f, -1.012442389e-02f, -1.012163058e-02f, -1.011881993e-02f, -1.011599193e-02f, -1.011314661e-02f, -1.011028396e-02f,
+-1.010740399e-02f, -1.010450671e-02f, -1.010159212e-02f, -1.009866022e-02f, -1.009571103e-02f, -1.009274455e-02f, -1.008976079e-02f, -1.008675974e-02f, -1.008374143e-02f, -1.008070585e-02f,
+-1.007765300e-02f, -1.007458291e-02f, -1.007149557e-02f, -1.006839098e-02f, -1.006526916e-02f, -1.006213011e-02f, -1.005897384e-02f, -1.005580036e-02f, -1.005260966e-02f, -1.004940176e-02f,
+-1.004617667e-02f, -1.004293438e-02f, -1.003967491e-02f, -1.003639826e-02f, -1.003310444e-02f, -1.002979346e-02f, -1.002646532e-02f, -1.002312003e-02f, -1.001975759e-02f, -1.001637802e-02f,
+-1.001298132e-02f, -1.000956749e-02f, -1.000613654e-02f, -1.000268849e-02f, -9.999223330e-03f, -9.995741074e-03f, -9.992241729e-03f, -9.988725301e-03f, -9.985191796e-03f, -9.981641223e-03f,
+-9.978073588e-03f, -9.974488899e-03f, -9.970887161e-03f, -9.967268383e-03f, -9.963632571e-03f, -9.959979734e-03f, -9.956309877e-03f, -9.952623008e-03f, -9.948919135e-03f, -9.945198264e-03f,
+-9.941460403e-03f, -9.937705560e-03f, -9.933933741e-03f, -9.930144955e-03f, -9.926339208e-03f, -9.922516508e-03f, -9.918676862e-03f, -9.914820279e-03f, -9.910946765e-03f, -9.907056328e-03f,
+-9.903148976e-03f, -9.899224717e-03f, -9.895283557e-03f, -9.891325505e-03f, -9.887350569e-03f, -9.883358756e-03f, -9.879350074e-03f, -9.875324530e-03f, -9.871282134e-03f, -9.867222891e-03f,
+-9.863146811e-03f, -9.859053902e-03f, -9.854944171e-03f, -9.850817626e-03f, -9.846674275e-03f, -9.842514126e-03f, -9.838337188e-03f, -9.834143469e-03f, -9.829932975e-03f, -9.825705717e-03f,
+-9.821461701e-03f, -9.817200937e-03f, -9.812923432e-03f, -9.808629194e-03f, -9.804318233e-03f, -9.799990555e-03f, -9.795646170e-03f, -9.791285086e-03f, -9.786907312e-03f, -9.782512855e-03f,
+-9.778101724e-03f, -9.773673929e-03f, -9.769229476e-03f, -9.764768375e-03f, -9.760290635e-03f, -9.755796263e-03f, -9.751285270e-03f, -9.746757662e-03f, -9.742213449e-03f, -9.737652641e-03f,
+-9.733075244e-03f, -9.728481269e-03f, -9.723870724e-03f, -9.719243617e-03f, -9.714599959e-03f, -9.709939757e-03f, -9.705263020e-03f, -9.700569758e-03f, -9.695859979e-03f, -9.691133693e-03f,
+-9.686390908e-03f, -9.681631634e-03f, -9.676855879e-03f, -9.672063653e-03f, -9.667254964e-03f, -9.662429823e-03f, -9.657588238e-03f, -9.652730218e-03f, -9.647855773e-03f, -9.642964912e-03f,
+-9.638057644e-03f, -9.633133979e-03f, -9.628193926e-03f, -9.623237494e-03f, -9.618264693e-03f, -9.613275532e-03f, -9.608270021e-03f, -9.603248168e-03f, -9.598209985e-03f, -9.593155480e-03f,
+-9.588084663e-03f, -9.582997543e-03f, -9.577894130e-03f, -9.572774434e-03f, -9.567638465e-03f, -9.562486231e-03f, -9.557317744e-03f, -9.552133012e-03f, -9.546932046e-03f, -9.541714855e-03f,
+-9.536481450e-03f, -9.531231839e-03f, -9.525966034e-03f, -9.520684043e-03f, -9.515385878e-03f, -9.510071547e-03f, -9.504741062e-03f, -9.499394431e-03f, -9.494031665e-03f, -9.488652775e-03f,
+-9.483257770e-03f, -9.477846660e-03f, -9.472419456e-03f, -9.466976168e-03f, -9.461516807e-03f, -9.456041381e-03f, -9.450549902e-03f, -9.445042381e-03f, -9.439518826e-03f, -9.433979250e-03f,
+-9.428423661e-03f, -9.422852072e-03f, -9.417264491e-03f, -9.411660930e-03f, -9.406041399e-03f, -9.400405908e-03f, -9.394754469e-03f, -9.389087091e-03f, -9.383403786e-03f, -9.377704564e-03f,
+-9.371989436e-03f, -9.366258412e-03f, -9.360511503e-03f, -9.354748720e-03f, -9.348970074e-03f, -9.343175575e-03f, -9.337365235e-03f, -9.331539064e-03f, -9.325697073e-03f, -9.319839273e-03f,
+-9.313965675e-03f, -9.308076290e-03f, -9.302171129e-03f, -9.296250203e-03f, -9.290313523e-03f, -9.284361100e-03f, -9.278392945e-03f, -9.272409070e-03f, -9.266409485e-03f, -9.260394202e-03f,
+-9.254363231e-03f, -9.248316585e-03f, -9.242254274e-03f, -9.236176310e-03f, -9.230082704e-03f, -9.223973467e-03f, -9.217848611e-03f, -9.211708147e-03f, -9.205552087e-03f, -9.199380441e-03f,
+-9.193193222e-03f, -9.186990441e-03f, -9.180772110e-03f, -9.174538239e-03f, -9.168288841e-03f, -9.162023928e-03f, -9.155743510e-03f, -9.149447600e-03f, -9.143136209e-03f, -9.136809349e-03f,
+-9.130467031e-03f, -9.124109268e-03f, -9.117736072e-03f, -9.111347453e-03f, -9.104943424e-03f, -9.098523997e-03f, -9.092089183e-03f, -9.085638995e-03f, -9.079173445e-03f, -9.072692544e-03f,
+-9.066196304e-03f, -9.059684738e-03f, -9.053157858e-03f, -9.046615675e-03f, -9.040058202e-03f, -9.033485450e-03f, -9.026897433e-03f, -9.020294162e-03f, -9.013675649e-03f, -9.007041907e-03f,
+-9.000392948e-03f, -8.993728784e-03f, -8.987049427e-03f, -8.980354890e-03f, -8.973645185e-03f, -8.966920325e-03f, -8.960180322e-03f, -8.953425188e-03f, -8.946654936e-03f, -8.939869578e-03f,
+-8.933069127e-03f, -8.926253595e-03f, -8.919422996e-03f, -8.912577341e-03f, -8.905716642e-03f, -8.898840914e-03f, -8.891950168e-03f, -8.885044418e-03f, -8.878123675e-03f, -8.871187952e-03f,
+-8.864237263e-03f, -8.857271620e-03f, -8.850291036e-03f, -8.843295524e-03f, -8.836285096e-03f, -8.829259766e-03f, -8.822219547e-03f, -8.815164450e-03f, -8.808094490e-03f, -8.801009680e-03f,
+-8.793910031e-03f, -8.786795558e-03f, -8.779666274e-03f, -8.772522191e-03f, -8.765363323e-03f, -8.758189682e-03f, -8.751001283e-03f, -8.743798138e-03f, -8.736580260e-03f, -8.729347662e-03f,
+-8.722100359e-03f, -8.714838362e-03f, -8.707561686e-03f, -8.700270344e-03f, -8.692964349e-03f, -8.685643715e-03f, -8.678308454e-03f, -8.670958581e-03f, -8.663594109e-03f, -8.656215051e-03f,
+-8.648821421e-03f, -8.641413232e-03f, -8.633990498e-03f, -8.626553233e-03f, -8.619101450e-03f, -8.611635163e-03f, -8.604154385e-03f, -8.596659130e-03f, -8.589149412e-03f, -8.581625244e-03f,
+-8.574086641e-03f, -8.566533616e-03f, -8.558966182e-03f, -8.551384355e-03f, -8.543788147e-03f, -8.536177572e-03f, -8.528552644e-03f, -8.520913378e-03f, -8.513259787e-03f, -8.505591885e-03f,
+-8.497909686e-03f, -8.490213205e-03f, -8.482502454e-03f, -8.474777449e-03f, -8.467038203e-03f, -8.459284731e-03f, -8.451517046e-03f, -8.443735163e-03f, -8.435939096e-03f, -8.428128859e-03f,
+-8.420304466e-03f, -8.412465933e-03f, -8.404613271e-03f, -8.396746498e-03f, -8.388865625e-03f, -8.380970669e-03f, -8.373061643e-03f, -8.365138562e-03f, -8.357201439e-03f, -8.349250290e-03f,
+-8.341285130e-03f, -8.333305971e-03f, -8.325312830e-03f, -8.317305720e-03f, -8.309284657e-03f, -8.301249654e-03f, -8.293200726e-03f, -8.285137888e-03f, -8.277061155e-03f, -8.268970541e-03f,
+-8.260866061e-03f, -8.252747730e-03f, -8.244615562e-03f, -8.236469573e-03f, -8.228309776e-03f, -8.220136187e-03f, -8.211948821e-03f, -8.203747693e-03f, -8.195532817e-03f, -8.187304208e-03f,
+-8.179061881e-03f, -8.170805852e-03f, -8.162536135e-03f, -8.154252745e-03f, -8.145955697e-03f, -8.137645006e-03f, -8.129320688e-03f, -8.120982757e-03f, -8.112631229e-03f, -8.104266118e-03f,
+-8.095887441e-03f, -8.087495211e-03f, -8.079089444e-03f, -8.070670156e-03f, -8.062237362e-03f, -8.053791076e-03f, -8.045331315e-03f, -8.036858094e-03f, -8.028371427e-03f, -8.019871330e-03f,
+-8.011357820e-03f, -8.002830910e-03f, -7.994290617e-03f, -7.985736956e-03f, -7.977169942e-03f, -7.968589591e-03f, -7.959995919e-03f, -7.951388940e-03f, -7.942768671e-03f, -7.934135128e-03f,
+-7.925488325e-03f, -7.916828278e-03f, -7.908155003e-03f, -7.899468516e-03f, -7.890768833e-03f, -7.882055969e-03f, -7.873329939e-03f, -7.864590760e-03f, -7.855838448e-03f, -7.847073017e-03f,
+-7.838294485e-03f, -7.829502867e-03f, -7.820698178e-03f, -7.811880435e-03f, -7.803049653e-03f, -7.794205849e-03f, -7.785349039e-03f, -7.776479238e-03f, -7.767596462e-03f, -7.758700728e-03f,
+-7.749792051e-03f, -7.740870448e-03f, -7.731935934e-03f, -7.722988527e-03f, -7.714028241e-03f, -7.705055093e-03f, -7.696069099e-03f, -7.687070276e-03f, -7.678058639e-03f, -7.669034206e-03f,
+-7.659996991e-03f, -7.650947012e-03f, -7.641884284e-03f, -7.632808825e-03f, -7.623720649e-03f, -7.614619775e-03f, -7.605506218e-03f, -7.596379994e-03f, -7.587241120e-03f, -7.578089612e-03f,
+-7.568925488e-03f, -7.559748762e-03f, -7.550559453e-03f, -7.541357576e-03f, -7.532143148e-03f, -7.522916185e-03f, -7.513676704e-03f, -7.504424723e-03f, -7.495160256e-03f, -7.485883322e-03f,
+-7.476593936e-03f, -7.467292116e-03f, -7.457977877e-03f, -7.448651238e-03f, -7.439312214e-03f, -7.429960823e-03f, -7.420597080e-03f, -7.411221004e-03f, -7.401832611e-03f, -7.392431917e-03f,
+-7.383018940e-03f, -7.373593696e-03f, -7.364156203e-03f, -7.354706477e-03f, -7.345244536e-03f, -7.335770395e-03f, -7.326284073e-03f, -7.316785587e-03f, -7.307274953e-03f, -7.297752188e-03f,
+-7.288217309e-03f, -7.278670335e-03f, -7.269111281e-03f, -7.259540165e-03f, -7.249957004e-03f, -7.240361815e-03f, -7.230754616e-03f, -7.221135423e-03f, -7.211504254e-03f, -7.201861127e-03f,
+-7.192206058e-03f, -7.182539064e-03f, -7.172860164e-03f, -7.163169374e-03f, -7.153466712e-03f, -7.143752195e-03f, -7.134025841e-03f, -7.124287667e-03f, -7.114537690e-03f, -7.104775928e-03f,
+-7.095002398e-03f, -7.085217118e-03f, -7.075420106e-03f, -7.065611378e-03f, -7.055790953e-03f, -7.045958848e-03f, -7.036115081e-03f, -7.026259668e-03f, -7.016392629e-03f, -7.006513980e-03f,
+-6.996623740e-03f, -6.986721925e-03f, -6.976808554e-03f, -6.966883645e-03f, -6.956947214e-03f, -6.946999280e-03f, -6.937039861e-03f, -6.927068975e-03f, -6.917086638e-03f, -6.907092870e-03f,
+-6.897087688e-03f, -6.887071109e-03f, -6.877043153e-03f, -6.867003836e-03f, -6.856953176e-03f, -6.846891192e-03f, -6.836817902e-03f, -6.826733323e-03f, -6.816637474e-03f, -6.806530372e-03f,
+-6.796412036e-03f, -6.786282484e-03f, -6.776141733e-03f, -6.765989802e-03f, -6.755826709e-03f, -6.745652473e-03f, -6.735467110e-03f, -6.725270640e-03f, -6.715063081e-03f, -6.704844450e-03f,
+-6.694614767e-03f, -6.684374049e-03f, -6.674122314e-03f, -6.663859582e-03f, -6.653585869e-03f, -6.643301196e-03f, -6.633005579e-03f, -6.622699037e-03f, -6.612381589e-03f, -6.602053253e-03f,
+-6.591714047e-03f, -6.581363990e-03f, -6.571003100e-03f, -6.560631396e-03f, -6.550248896e-03f, -6.539855619e-03f, -6.529451583e-03f, -6.519036807e-03f, -6.508611309e-03f, -6.498175108e-03f,
+-6.487728223e-03f, -6.477270672e-03f, -6.466802473e-03f, -6.456323646e-03f, -6.445834208e-03f, -6.435334180e-03f, -6.424823578e-03f, -6.414302423e-03f, -6.403770733e-03f, -6.393228526e-03f,
+-6.382675821e-03f, -6.372112638e-03f, -6.361538994e-03f, -6.350954909e-03f, -6.340360402e-03f, -6.329755490e-03f, -6.319140195e-03f, -6.308514533e-03f, -6.297878524e-03f, -6.287232187e-03f,
+-6.276575541e-03f, -6.265908605e-03f, -6.255231397e-03f, -6.244543938e-03f, -6.233846245e-03f, -6.223138337e-03f, -6.212420235e-03f, -6.201691956e-03f, -6.190953520e-03f, -6.180204947e-03f,
+-6.169446254e-03f, -6.158677461e-03f, -6.147898588e-03f, -6.137109653e-03f, -6.126310676e-03f, -6.115501676e-03f, -6.104682672e-03f, -6.093853682e-03f, -6.083014728e-03f, -6.072165827e-03f,
+-6.061306999e-03f, -6.050438263e-03f, -6.039559638e-03f, -6.028671145e-03f, -6.017772802e-03f, -6.006864628e-03f, -5.995946643e-03f, -5.985018866e-03f, -5.974081317e-03f, -5.963134014e-03f,
+-5.952176979e-03f, -5.941210229e-03f, -5.930233784e-03f, -5.919247664e-03f, -5.908251889e-03f, -5.897246477e-03f, -5.886231449e-03f, -5.875206823e-03f, -5.864172620e-03f, -5.853128858e-03f,
+-5.842075559e-03f, -5.831012740e-03f, -5.819940422e-03f, -5.808858624e-03f, -5.797767366e-03f, -5.786666668e-03f, -5.775556549e-03f, -5.764437029e-03f, -5.753308128e-03f, -5.742169865e-03f,
+-5.731022261e-03f, -5.719865334e-03f, -5.708699104e-03f, -5.697523593e-03f, -5.686338818e-03f, -5.675144800e-03f, -5.663941559e-03f, -5.652729115e-03f, -5.641507488e-03f, -5.630276696e-03f,
+-5.619036761e-03f, -5.607787702e-03f, -5.596529539e-03f, -5.585262292e-03f, -5.573985981e-03f, -5.562700626e-03f, -5.551406247e-03f, -5.540102863e-03f, -5.528790495e-03f, -5.517469164e-03f,
+-5.506138887e-03f, -5.494799687e-03f, -5.483451583e-03f, -5.472094595e-03f, -5.460728743e-03f, -5.449354047e-03f, -5.437970527e-03f, -5.426578204e-03f, -5.415177097e-03f, -5.403767227e-03f,
+-5.392348614e-03f, -5.380921278e-03f, -5.369485239e-03f, -5.358040518e-03f, -5.346587134e-03f, -5.335125109e-03f, -5.323654461e-03f, -5.312175212e-03f, -5.300687382e-03f, -5.289190991e-03f,
+-5.277686059e-03f, -5.266172607e-03f, -5.254650654e-03f, -5.243120222e-03f, -5.231581331e-03f, -5.220034001e-03f, -5.208478252e-03f, -5.196914105e-03f, -5.185341581e-03f, -5.173760699e-03f,
+-5.162171480e-03f, -5.150573945e-03f, -5.138968114e-03f, -5.127354008e-03f, -5.115731646e-03f, -5.104101050e-03f, -5.092462241e-03f, -5.080815237e-03f, -5.069160061e-03f, -5.057496733e-03f,
+-5.045825273e-03f, -5.034145702e-03f, -5.022458041e-03f, -5.010762309e-03f, -4.999058528e-03f, -4.987346719e-03f, -4.975626901e-03f, -4.963899097e-03f, -4.952163325e-03f, -4.940419608e-03f,
+-4.928667965e-03f, -4.916908418e-03f, -4.905140987e-03f, -4.893365693e-03f, -4.881582557e-03f, -4.869791599e-03f, -4.857992841e-03f, -4.846186302e-03f, -4.834372004e-03f, -4.822549968e-03f,
+-4.810720214e-03f, -4.798882764e-03f, -4.787037638e-03f, -4.775184856e-03f, -4.763324441e-03f, -4.751456412e-03f, -4.739580792e-03f, -4.727697599e-03f, -4.715806856e-03f, -4.703908584e-03f,
+-4.692002803e-03f, -4.680089534e-03f, -4.668168799e-03f, -4.656240618e-03f, -4.644305012e-03f, -4.632362003e-03f, -4.620411611e-03f, -4.608453857e-03f, -4.596488763e-03f, -4.584516349e-03f,
+-4.572536636e-03f, -4.560549646e-03f, -4.548555400e-03f, -4.536553919e-03f, -4.524545223e-03f, -4.512529335e-03f, -4.500506275e-03f, -4.488476064e-03f, -4.476438723e-03f, -4.464394274e-03f,
+-4.452342738e-03f, -4.440284136e-03f, -4.428218489e-03f, -4.416145818e-03f, -4.404066145e-03f, -4.391979491e-03f, -4.379885876e-03f, -4.367785324e-03f, -4.355677853e-03f, -4.343563487e-03f,
+-4.331442246e-03f, -4.319314151e-03f, -4.307179224e-03f, -4.295037487e-03f, -4.282888959e-03f, -4.270733664e-03f, -4.258571621e-03f, -4.246402853e-03f, -4.234227381e-03f, -4.222045226e-03f,
+-4.209856410e-03f, -4.197660954e-03f, -4.185458879e-03f, -4.173250207e-03f, -4.161034960e-03f, -4.148813158e-03f, -4.136584823e-03f, -4.124349977e-03f, -4.112108641e-03f, -4.099860837e-03f,
+-4.087606586e-03f, -4.075345910e-03f, -4.063078830e-03f, -4.050805367e-03f, -4.038525544e-03f, -4.026239382e-03f, -4.013946901e-03f, -4.001648125e-03f, -3.989343074e-03f, -3.977031770e-03f,
+-3.964714235e-03f, -3.952390490e-03f, -3.940060557e-03f, -3.927724458e-03f, -3.915382213e-03f, -3.903033846e-03f, -3.890679376e-03f, -3.878318827e-03f, -3.865952220e-03f, -3.853579576e-03f,
+-3.841200917e-03f, -3.828816265e-03f, -3.816425641e-03f, -3.804029068e-03f, -3.791626566e-03f, -3.779218159e-03f, -3.766803866e-03f, -3.754383711e-03f, -3.741957715e-03f, -3.729525900e-03f,
+-3.717088287e-03f, -3.704644898e-03f, -3.692195756e-03f, -3.679740881e-03f, -3.667280296e-03f, -3.654814023e-03f, -3.642342083e-03f, -3.629864498e-03f, -3.617381290e-03f, -3.604892482e-03f,
+-3.592398093e-03f, -3.579898148e-03f, -3.567392667e-03f, -3.554881673e-03f, -3.542365187e-03f, -3.529843231e-03f, -3.517315828e-03f, -3.504782998e-03f, -3.492244765e-03f, -3.479701149e-03f,
+-3.467152173e-03f, -3.454597860e-03f, -3.442038230e-03f, -3.429473306e-03f, -3.416903110e-03f, -3.404327663e-03f, -3.391746988e-03f, -3.379161108e-03f, -3.366570042e-03f, -3.353973815e-03f,
+-3.341372448e-03f, -3.328765962e-03f, -3.316154381e-03f, -3.303537725e-03f, -3.290916018e-03f, -3.278289281e-03f, -3.265657536e-03f, -3.253020805e-03f, -3.240379110e-03f, -3.227732474e-03f,
+-3.215080919e-03f, -3.202424466e-03f, -3.189763138e-03f, -3.177096957e-03f, -3.164425946e-03f, -3.151750125e-03f, -3.139069518e-03f, -3.126384146e-03f, -3.113694032e-03f, -3.100999198e-03f,
+-3.088299665e-03f, -3.075595457e-03f, -3.062886596e-03f, -3.050173103e-03f, -3.037455001e-03f, -3.024732312e-03f, -3.012005058e-03f, -2.999273261e-03f, -2.986536945e-03f, -2.973796130e-03f,
+-2.961050839e-03f, -2.948301095e-03f, -2.935546920e-03f, -2.922788335e-03f, -2.910025364e-03f, -2.897258028e-03f, -2.884486350e-03f, -2.871710352e-03f, -2.858930057e-03f, -2.846145486e-03f,
+-2.833356662e-03f, -2.820563608e-03f, -2.807766345e-03f, -2.794964896e-03f, -2.782159283e-03f, -2.769349529e-03f, -2.756535656e-03f, -2.743717686e-03f, -2.730895642e-03f, -2.718069546e-03f,
+-2.705239421e-03f, -2.692405288e-03f, -2.679567170e-03f, -2.666725090e-03f, -2.653879070e-03f, -2.641029132e-03f, -2.628175299e-03f, -2.615317593e-03f, -2.602456037e-03f, -2.589590652e-03f,
+-2.576721462e-03f, -2.563848489e-03f, -2.550971756e-03f, -2.538091284e-03f, -2.525207096e-03f, -2.512319214e-03f, -2.499427662e-03f, -2.486532462e-03f, -2.473633635e-03f, -2.460731205e-03f,
+-2.447825194e-03f, -2.434915624e-03f, -2.422002518e-03f, -2.409085899e-03f, -2.396165788e-03f, -2.383242209e-03f, -2.370315184e-03f, -2.357384735e-03f, -2.344450886e-03f, -2.331513658e-03f,
+-2.318573073e-03f, -2.305629156e-03f, -2.292681927e-03f, -2.279731410e-03f, -2.266777627e-03f, -2.253820601e-03f, -2.240860354e-03f, -2.227896909e-03f, -2.214930289e-03f, -2.201960515e-03f,
+-2.188987611e-03f, -2.176011599e-03f, -2.163032501e-03f, -2.150050341e-03f, -2.137065141e-03f, -2.124076923e-03f, -2.111085710e-03f, -2.098091525e-03f, -2.085094390e-03f, -2.072094328e-03f,
+-2.059091361e-03f, -2.046085513e-03f, -2.033076805e-03f, -2.020065260e-03f, -2.007050901e-03f, -1.994033751e-03f, -1.981013832e-03f, -1.967991167e-03f, -1.954965779e-03f, -1.941937689e-03f,
+-1.928906921e-03f, -1.915873498e-03f, -1.902837442e-03f, -1.889798775e-03f, -1.876757521e-03f, -1.863713702e-03f, -1.850667341e-03f, -1.837618460e-03f, -1.824567082e-03f, -1.811513230e-03f,
+-1.798456926e-03f, -1.785398194e-03f, -1.772337055e-03f, -1.759273533e-03f, -1.746207649e-03f, -1.733139428e-03f, -1.720068892e-03f, -1.706996062e-03f, -1.693920963e-03f, -1.680843616e-03f,
+-1.667764045e-03f, -1.654682272e-03f, -1.641598319e-03f, -1.628512211e-03f, -1.615423968e-03f, -1.602333614e-03f, -1.589241173e-03f, -1.576146665e-03f, -1.563050115e-03f, -1.549951545e-03f,
+-1.536850977e-03f, -1.523748434e-03f, -1.510643940e-03f, -1.497537517e-03f, -1.484429187e-03f, -1.471318973e-03f, -1.458206899e-03f, -1.445092986e-03f, -1.431977258e-03f, -1.418859738e-03f,
+-1.405740447e-03f, -1.392619410e-03f, -1.379496647e-03f, -1.366372184e-03f, -1.353246041e-03f, -1.340118242e-03f, -1.326988810e-03f, -1.313857768e-03f, -1.300725137e-03f, -1.287590942e-03f,
+-1.274455204e-03f, -1.261317947e-03f, -1.248179193e-03f, -1.235038965e-03f, -1.221897286e-03f, -1.208754179e-03f, -1.195609666e-03f, -1.182463770e-03f, -1.169316514e-03f, -1.156167921e-03f,
+-1.143018014e-03f, -1.129866814e-03f, -1.116714346e-03f, -1.103560632e-03f, -1.090405694e-03f, -1.077249556e-03f, -1.064092241e-03f, -1.050933770e-03f, -1.037774167e-03f, -1.024613455e-03f,
+-1.011451656e-03f, -9.982887935e-04f, -9.851248900e-04f, -9.719599683e-04f, -9.587940513e-04f, -9.456271616e-04f, -9.324593222e-04f, -9.192905558e-04f, -9.061208852e-04f, -8.929503332e-04f,
+-8.797789227e-04f, -8.666066764e-04f, -8.534336170e-04f, -8.402597675e-04f, -8.270851506e-04f, -8.139097891e-04f, -8.007337059e-04f, -7.875569236e-04f, -7.743794652e-04f, -7.612013534e-04f,
+-7.480226110e-04f, -7.348432608e-04f, -7.216633257e-04f, -7.084828283e-04f, -6.953017916e-04f, -6.821202383e-04f, -6.689381913e-04f, -6.557556732e-04f, -6.425727070e-04f, -6.293893154e-04f,
+-6.162055211e-04f, -6.030213471e-04f, -5.898368162e-04f, -5.766519510e-04f, -5.634667744e-04f, -5.502813092e-04f, -5.370955782e-04f, -5.239096042e-04f, -5.107234099e-04f, -4.975370182e-04f,
+-4.843504519e-04f, -4.711637338e-04f, -4.579768865e-04f, -4.447899330e-04f, -4.316028960e-04f, -4.184157984e-04f, -4.052286628e-04f, -3.920415120e-04f, -3.788543690e-04f, -3.656672563e-04f,
+-3.524801969e-04f, -3.392932135e-04f, -3.261063288e-04f, -3.129195657e-04f, -2.997329469e-04f, -2.865464953e-04f, -2.733602334e-04f, -2.601741843e-04f, -2.469883705e-04f, -2.338028150e-04f,
+-2.206175403e-04f, -2.074325694e-04f, -1.942479250e-04f, -1.810636298e-04f, -1.678797066e-04f, -1.546961781e-04f, -1.415130672e-04f, -1.283303965e-04f, -1.151481888e-04f, -1.019664669e-04f,
+-8.878525346e-05f, -7.560457130e-05f, -6.242444314e-05f, -4.924489173e-05f, -3.606593979e-05f, -2.288761007e-05f, -9.709925301e-06f, 3.467091786e-06f, 1.664341846e-05f, 2.981903199e-05f,
+4.299390966e-05f, 5.616802873e-05f, 6.934136650e-05f, 8.251390023e-05f, 9.568560723e-05f, 1.088564648e-04f, 1.220264501e-04f, 1.351955406e-04f, 1.483637136e-04f, 1.615309462e-04f,
+1.746972159e-04f, 1.878624999e-04f, 2.010267755e-04f, 2.141900200e-04f, 2.273522109e-04f, 2.405133252e-04f, 2.536733405e-04f, 2.668322340e-04f, 2.799899830e-04f, 2.931465649e-04f,
+3.063019570e-04f, 3.194561366e-04f, 3.326090810e-04f, 3.457607677e-04f, 3.589111739e-04f, 3.720602771e-04f, 3.852080544e-04f, 3.983544834e-04f, 4.114995413e-04f, 4.246432056e-04f,
+4.377854535e-04f, 4.509262625e-04f, 4.640656100e-04f, 4.772034732e-04f, 4.903398296e-04f, 5.034746566e-04f, 5.166079316e-04f, 5.297396319e-04f, 5.428697349e-04f, 5.559982181e-04f,
+5.691250589e-04f, 5.822502346e-04f, 5.953737226e-04f, 6.084955005e-04f, 6.216155455e-04f, 6.347338351e-04f, 6.478503468e-04f, 6.609650580e-04f, 6.740779461e-04f, 6.871889886e-04f,
+7.002981629e-04f, 7.134054464e-04f, 7.265108166e-04f, 7.396142510e-04f, 7.527157271e-04f, 7.658152222e-04f, 7.789127139e-04f, 7.920081796e-04f, 8.051015969e-04f, 8.181929432e-04f,
+8.312821959e-04f, 8.443693327e-04f, 8.574543310e-04f, 8.705371683e-04f, 8.836178221e-04f, 8.966962699e-04f, 9.097724893e-04f, 9.228464577e-04f, 9.359181527e-04f, 9.489875519e-04f,
+9.620546328e-04f, 9.751193729e-04f, 9.881817498e-04f, 1.001241741e-03f, 1.014299324e-03f, 1.027354477e-03f, 1.040407176e-03f, 1.053457400e-03f, 1.066505127e-03f, 1.079550333e-03f,
+1.092592996e-03f, 1.105633095e-03f, 1.118670606e-03f, 1.131705507e-03f, 1.144737776e-03f, 1.157767391e-03f, 1.170794328e-03f, 1.183818567e-03f, 1.196840083e-03f, 1.209858856e-03f,
+1.222874862e-03f, 1.235888079e-03f, 1.248898486e-03f, 1.261906059e-03f, 1.274910776e-03f, 1.287912615e-03f, 1.300911554e-03f, 1.313907570e-03f, 1.326900642e-03f, 1.339890746e-03f,
+1.352877860e-03f, 1.365861963e-03f, 1.378843032e-03f, 1.391821044e-03f, 1.404795977e-03f, 1.417767810e-03f, 1.430736520e-03f, 1.443702084e-03f, 1.456664481e-03f, 1.469623687e-03f,
+1.482579682e-03f, 1.495532443e-03f, 1.508481947e-03f, 1.521428172e-03f, 1.534371096e-03f, 1.547310698e-03f, 1.560246954e-03f, 1.573179842e-03f, 1.586109341e-03f, 1.599035429e-03f,
+1.611958082e-03f, 1.624877279e-03f, 1.637792999e-03f, 1.650705217e-03f, 1.663613914e-03f, 1.676519065e-03f, 1.689420650e-03f, 1.702318647e-03f, 1.715213032e-03f, 1.728103784e-03f,
+1.740990882e-03f, 1.753874302e-03f, 1.766754023e-03f, 1.779630023e-03f, 1.792502279e-03f, 1.805370770e-03f, 1.818235474e-03f, 1.831096368e-03f, 1.843953431e-03f, 1.856806640e-03f,
+1.869655974e-03f, 1.882501410e-03f, 1.895342927e-03f, 1.908180503e-03f, 1.921014115e-03f, 1.933843742e-03f, 1.946669361e-03f, 1.959490951e-03f, 1.972308490e-03f, 1.985121956e-03f,
+1.997931327e-03f, 2.010736580e-03f, 2.023537695e-03f, 2.036334649e-03f, 2.049127420e-03f, 2.061915987e-03f, 2.074700327e-03f, 2.087480419e-03f, 2.100256241e-03f, 2.113027771e-03f,
+2.125794986e-03f, 2.138557866e-03f, 2.151316389e-03f, 2.164070532e-03f, 2.176820274e-03f, 2.189565593e-03f, 2.202306468e-03f, 2.215042876e-03f, 2.227774795e-03f, 2.240502205e-03f,
+2.253225082e-03f, 2.265943406e-03f, 2.278657155e-03f, 2.291366307e-03f, 2.304070840e-03f, 2.316770733e-03f, 2.329465963e-03f, 2.342156510e-03f, 2.354842351e-03f, 2.367523465e-03f,
+2.380199830e-03f, 2.392871424e-03f, 2.405538227e-03f, 2.418200215e-03f, 2.430857369e-03f, 2.443509665e-03f, 2.456157082e-03f, 2.468799599e-03f, 2.481437195e-03f, 2.494069847e-03f,
+2.506697534e-03f, 2.519320235e-03f, 2.531937927e-03f, 2.544550590e-03f, 2.557158202e-03f, 2.569760741e-03f, 2.582358186e-03f, 2.594950515e-03f, 2.607537707e-03f, 2.620119741e-03f,
+2.632696594e-03f, 2.645268246e-03f, 2.657834675e-03f, 2.670395859e-03f, 2.682951777e-03f, 2.695502409e-03f, 2.708047731e-03f, 2.720587723e-03f, 2.733122364e-03f, 2.745651632e-03f,
+2.758175506e-03f, 2.770693964e-03f, 2.783206985e-03f, 2.795714548e-03f, 2.808216631e-03f, 2.820713214e-03f, 2.833204274e-03f, 2.845689791e-03f, 2.858169742e-03f, 2.870644108e-03f,
+2.883112867e-03f, 2.895575996e-03f, 2.908033477e-03f, 2.920485286e-03f, 2.932931402e-03f, 2.945371806e-03f, 2.957806474e-03f, 2.970235387e-03f, 2.982658523e-03f, 2.995075860e-03f,
+3.007487378e-03f, 3.019893056e-03f, 3.032292872e-03f, 3.044686805e-03f, 3.057074835e-03f, 3.069456939e-03f, 3.081833098e-03f, 3.094203289e-03f, 3.106567493e-03f, 3.118925687e-03f,
+3.131277851e-03f, 3.143623963e-03f, 3.155964003e-03f, 3.168297950e-03f, 3.180625783e-03f, 3.192947481e-03f, 3.205263022e-03f, 3.217572386e-03f, 3.229875552e-03f, 3.242172499e-03f,
+3.254463206e-03f, 3.266747652e-03f, 3.279025816e-03f, 3.291297677e-03f, 3.303563215e-03f, 3.315822409e-03f, 3.328075237e-03f, 3.340321679e-03f, 3.352561714e-03f, 3.364795322e-03f,
+3.377022481e-03f, 3.389243170e-03f, 3.401457370e-03f, 3.413665058e-03f, 3.425866215e-03f, 3.438060820e-03f, 3.450248851e-03f, 3.462430289e-03f, 3.474605112e-03f, 3.486773300e-03f,
+3.498934832e-03f, 3.511089687e-03f, 3.523237846e-03f, 3.535379286e-03f, 3.547513988e-03f, 3.559641931e-03f, 3.571763094e-03f, 3.583877457e-03f, 3.595984999e-03f, 3.608085700e-03f,
+3.620179538e-03f, 3.632266494e-03f, 3.644346548e-03f, 3.656419677e-03f, 3.668485863e-03f, 3.680545084e-03f, 3.692597320e-03f, 3.704642550e-03f, 3.716680755e-03f, 3.728711913e-03f,
+3.740736004e-03f, 3.752753009e-03f, 3.764762906e-03f, 3.776765674e-03f, 3.788761295e-03f, 3.800749747e-03f, 3.812731010e-03f, 3.824705063e-03f, 3.836671887e-03f, 3.848631461e-03f,
+3.860583765e-03f, 3.872528778e-03f, 3.884466481e-03f, 3.896396852e-03f, 3.908319872e-03f, 3.920235521e-03f, 3.932143778e-03f, 3.944044624e-03f, 3.955938037e-03f, 3.967823998e-03f,
+3.979702487e-03f, 3.991573483e-03f, 4.003436967e-03f, 4.015292918e-03f, 4.027141316e-03f, 4.038982142e-03f, 4.050815374e-03f, 4.062640994e-03f, 4.074458980e-03f, 4.086269314e-03f,
+4.098071974e-03f, 4.109866942e-03f, 4.121654196e-03f, 4.133433717e-03f, 4.145205486e-03f, 4.156969482e-03f, 4.168725685e-03f, 4.180474075e-03f, 4.192214632e-03f, 4.203947338e-03f,
+4.215672170e-03f, 4.227389111e-03f, 4.239098140e-03f, 4.250799237e-03f, 4.262492382e-03f, 4.274177556e-03f, 4.285854739e-03f, 4.297523910e-03f, 4.309185051e-03f, 4.320838142e-03f,
+4.332483163e-03f, 4.344120093e-03f, 4.355748914e-03f, 4.367369606e-03f, 4.378982150e-03f, 4.390586524e-03f, 4.402182711e-03f, 4.413770690e-03f, 4.425350441e-03f, 4.436921946e-03f,
+4.448485184e-03f, 4.460040136e-03f, 4.471586783e-03f, 4.483125105e-03f, 4.494655082e-03f, 4.506176695e-03f, 4.517689924e-03f, 4.529194751e-03f, 4.540691155e-03f, 4.552179117e-03f,
+4.563658618e-03f, 4.575129639e-03f, 4.586592159e-03f, 4.598046160e-03f, 4.609491623e-03f, 4.620928527e-03f, 4.632356854e-03f, 4.643776584e-03f, 4.655187698e-03f, 4.666590178e-03f,
+4.677984002e-03f, 4.689369153e-03f, 4.700745611e-03f, 4.712113357e-03f, 4.723472371e-03f, 4.734822636e-03f, 4.746164130e-03f, 4.757496836e-03f, 4.768820733e-03f, 4.780135804e-03f,
+4.791442029e-03f, 4.802739388e-03f, 4.814027863e-03f, 4.825307435e-03f, 4.836578085e-03f, 4.847839793e-03f, 4.859092541e-03f, 4.870336310e-03f, 4.881571080e-03f, 4.892796833e-03f,
+4.904013551e-03f, 4.915221213e-03f, 4.926419801e-03f, 4.937609296e-03f, 4.948789680e-03f, 4.959960934e-03f, 4.971123038e-03f, 4.982275973e-03f, 4.993419722e-03f, 5.004554266e-03f,
+5.015679584e-03f, 5.026795660e-03f, 5.037902474e-03f, 5.049000007e-03f, 5.060088240e-03f, 5.071167156e-03f, 5.082236735e-03f, 5.093296959e-03f, 5.104347808e-03f, 5.115389266e-03f,
+5.126421312e-03f, 5.137443928e-03f, 5.148457097e-03f, 5.159460798e-03f, 5.170455014e-03f, 5.181439727e-03f, 5.192414917e-03f, 5.203380566e-03f, 5.214336656e-03f, 5.225283168e-03f,
+5.236220085e-03f, 5.247147387e-03f, 5.258065056e-03f, 5.268973074e-03f, 5.279871422e-03f, 5.290760083e-03f, 5.301639037e-03f, 5.312508267e-03f, 5.323367754e-03f, 5.334217480e-03f,
+5.345057427e-03f, 5.355887577e-03f, 5.366707911e-03f, 5.377518411e-03f, 5.388319059e-03f, 5.399109836e-03f, 5.409890726e-03f, 5.420661709e-03f, 5.431422768e-03f, 5.442173884e-03f,
+5.452915039e-03f, 5.463646216e-03f, 5.474367396e-03f, 5.485078561e-03f, 5.495779694e-03f, 5.506470776e-03f, 5.517151789e-03f, 5.527822716e-03f, 5.538483538e-03f, 5.549134238e-03f,
+5.559774798e-03f, 5.570405200e-03f, 5.581025426e-03f, 5.591635458e-03f, 5.602235278e-03f, 5.612824870e-03f, 5.623404214e-03f, 5.633973293e-03f, 5.644532090e-03f, 5.655080586e-03f,
+5.665618765e-03f, 5.676146608e-03f, 5.686664097e-03f, 5.697171216e-03f, 5.707667946e-03f, 5.718154270e-03f, 5.728630171e-03f, 5.739095630e-03f, 5.749550630e-03f, 5.759995154e-03f,
+5.770429184e-03f, 5.780852703e-03f, 5.791265693e-03f, 5.801668136e-03f, 5.812060017e-03f, 5.822441316e-03f, 5.832812016e-03f, 5.843172101e-03f, 5.853521553e-03f, 5.863860354e-03f,
+5.874188487e-03f, 5.884505936e-03f, 5.894812682e-03f, 5.905108708e-03f, 5.915393998e-03f, 5.925668533e-03f, 5.935932297e-03f, 5.946185273e-03f, 5.956427444e-03f, 5.966658791e-03f,
+5.976879299e-03f, 5.987088950e-03f, 5.997287726e-03f, 6.007475612e-03f, 6.017652590e-03f, 6.027818642e-03f, 6.037973753e-03f, 6.048117904e-03f, 6.058251080e-03f, 6.068373262e-03f,
+6.078484434e-03f, 6.088584580e-03f, 6.098673682e-03f, 6.108751724e-03f, 6.118818688e-03f, 6.128874558e-03f, 6.138919317e-03f, 6.148952948e-03f, 6.158975434e-03f, 6.168986760e-03f,
+6.178986907e-03f, 6.188975860e-03f, 6.198953601e-03f, 6.208920115e-03f, 6.218875384e-03f, 6.228819391e-03f, 6.238752121e-03f, 6.248673556e-03f, 6.258583680e-03f, 6.268482477e-03f,
+6.278369929e-03f, 6.288246022e-03f, 6.298110737e-03f, 6.307964058e-03f, 6.317805970e-03f, 6.327636456e-03f, 6.337455498e-03f, 6.347263082e-03f, 6.357059190e-03f, 6.366843807e-03f,
+6.376616915e-03f, 6.386378499e-03f, 6.396128543e-03f, 6.405867029e-03f, 6.415593943e-03f, 6.425309267e-03f, 6.435012986e-03f, 6.444705083e-03f, 6.454385542e-03f, 6.464054348e-03f,
+6.473711483e-03f, 6.483356933e-03f, 6.492990680e-03f, 6.502612709e-03f, 6.512223004e-03f, 6.521821548e-03f, 6.531408327e-03f, 6.540983323e-03f, 6.550546521e-03f, 6.560097906e-03f,
+6.569637460e-03f, 6.579165169e-03f, 6.588681016e-03f, 6.598184986e-03f, 6.607677062e-03f, 6.617157230e-03f, 6.626625473e-03f, 6.636081775e-03f, 6.645526122e-03f, 6.654958496e-03f,
+6.664378883e-03f, 6.673787266e-03f, 6.683183631e-03f, 6.692567961e-03f, 6.701940241e-03f, 6.711300455e-03f, 6.720648589e-03f, 6.729984625e-03f, 6.739308549e-03f, 6.748620346e-03f,
+6.757920000e-03f, 6.767207495e-03f, 6.776482816e-03f, 6.785745947e-03f, 6.794996874e-03f, 6.804235581e-03f, 6.813462052e-03f, 6.822676272e-03f, 6.831878227e-03f, 6.841067900e-03f,
+6.850245276e-03f, 6.859410341e-03f, 6.868563079e-03f, 6.877703475e-03f, 6.886831513e-03f, 6.895947180e-03f, 6.905050458e-03f, 6.914141334e-03f, 6.923219792e-03f, 6.932285818e-03f,
+6.941339396e-03f, 6.950380511e-03f, 6.959409148e-03f, 6.968425293e-03f, 6.977428930e-03f, 6.986420045e-03f, 6.995398622e-03f, 7.004364647e-03f, 7.013318105e-03f, 7.022258982e-03f,
+7.031187261e-03f, 7.040102929e-03f, 7.049005971e-03f, 7.057896371e-03f, 7.066774117e-03f, 7.075639191e-03f, 7.084491581e-03f, 7.093331272e-03f, 7.102158248e-03f, 7.110972495e-03f,
+7.119773998e-03f, 7.128562744e-03f, 7.137338718e-03f, 7.146101904e-03f, 7.154852289e-03f, 7.163589858e-03f, 7.172314597e-03f, 7.181026490e-03f, 7.189725525e-03f, 7.198411687e-03f,
+7.207084960e-03f, 7.215745331e-03f, 7.224392786e-03f, 7.233027310e-03f, 7.241648890e-03f, 7.250257510e-03f, 7.258853156e-03f, 7.267435815e-03f, 7.276005473e-03f, 7.284562114e-03f,
+7.293105726e-03f, 7.301636293e-03f, 7.310153803e-03f, 7.318658240e-03f, 7.327149591e-03f, 7.335627842e-03f, 7.344092978e-03f, 7.352544987e-03f, 7.360983854e-03f, 7.369409564e-03f,
+7.377822105e-03f, 7.386221463e-03f, 7.394607623e-03f, 7.402980571e-03f, 7.411340295e-03f, 7.419686780e-03f, 7.428020012e-03f, 7.436339978e-03f, 7.444646664e-03f, 7.452940056e-03f,
+7.461220142e-03f, 7.469486906e-03f, 7.477740336e-03f, 7.485980418e-03f, 7.494207138e-03f, 7.502420483e-03f, 7.510620440e-03f, 7.518806995e-03f, 7.526980134e-03f, 7.535139844e-03f,
+7.543286112e-03f, 7.551418924e-03f, 7.559538267e-03f, 7.567644128e-03f, 7.575736493e-03f, 7.583815349e-03f, 7.591880683e-03f, 7.599932481e-03f, 7.607970731e-03f, 7.615995419e-03f,
+7.624006531e-03f, 7.632004056e-03f, 7.639987979e-03f, 7.647958288e-03f, 7.655914969e-03f, 7.663858010e-03f, 7.671787398e-03f, 7.679703119e-03f, 7.687605160e-03f, 7.695493510e-03f,
+7.703368153e-03f, 7.711229079e-03f, 7.719076273e-03f, 7.726909724e-03f, 7.734729418e-03f, 7.742535342e-03f, 7.750327484e-03f, 7.758105831e-03f, 7.765870370e-03f, 7.773621088e-03f,
+7.781357974e-03f, 7.789081013e-03f, 7.796790194e-03f, 7.804485505e-03f, 7.812166931e-03f, 7.819834461e-03f, 7.827488083e-03f, 7.835127783e-03f, 7.842753549e-03f, 7.850365370e-03f,
+7.857963232e-03f, 7.865547123e-03f, 7.873117030e-03f, 7.880672942e-03f, 7.888214846e-03f, 7.895742729e-03f, 7.903256580e-03f, 7.910756386e-03f, 7.918242135e-03f, 7.925713814e-03f,
+7.933171412e-03f, 7.940614916e-03f, 7.948044315e-03f, 7.955459595e-03f, 7.962860746e-03f, 7.970247755e-03f, 7.977620609e-03f, 7.984979298e-03f, 7.992323808e-03f, 7.999654129e-03f,
+8.006970247e-03f, 8.014272152e-03f, 8.021559831e-03f, 8.028833272e-03f, 8.036092464e-03f, 8.043337395e-03f, 8.050568053e-03f, 8.057784426e-03f, 8.064986502e-03f, 8.072174271e-03f,
+8.079347719e-03f, 8.086506837e-03f, 8.093651610e-03f, 8.100782030e-03f, 8.107898083e-03f, 8.114999758e-03f, 8.122087043e-03f, 8.129159928e-03f, 8.136218401e-03f, 8.143262449e-03f,
+8.150292063e-03f, 8.157307230e-03f, 8.164307938e-03f, 8.171294178e-03f, 8.178265937e-03f, 8.185223204e-03f, 8.192165967e-03f, 8.199094216e-03f, 8.206007940e-03f, 8.212907126e-03f,
+8.219791765e-03f, 8.226661844e-03f, 8.233517353e-03f, 8.240358281e-03f, 8.247184616e-03f, 8.253996348e-03f, 8.260793465e-03f, 8.267575956e-03f, 8.274343811e-03f, 8.281097019e-03f,
+8.287835569e-03f, 8.294559449e-03f, 8.301268649e-03f, 8.307963158e-03f, 8.314642966e-03f, 8.321308061e-03f, 8.327958433e-03f, 8.334594071e-03f, 8.341214964e-03f, 8.347821102e-03f,
+8.354412474e-03f, 8.360989070e-03f, 8.367550878e-03f, 8.374097888e-03f, 8.380630090e-03f, 8.387147473e-03f, 8.393650027e-03f, 8.400137741e-03f, 8.406610605e-03f, 8.413068609e-03f,
+8.419511741e-03f, 8.425939991e-03f, 8.432353351e-03f, 8.438751807e-03f, 8.445135352e-03f, 8.451503974e-03f, 8.457857663e-03f, 8.464196410e-03f, 8.470520203e-03f, 8.476829032e-03f,
+8.483122888e-03f, 8.489401761e-03f, 8.495665640e-03f, 8.501914515e-03f, 8.508148376e-03f, 8.514367214e-03f, 8.520571018e-03f, 8.526759779e-03f, 8.532933486e-03f, 8.539092129e-03f,
+8.545235699e-03f, 8.551364186e-03f, 8.557477580e-03f, 8.563575872e-03f, 8.569659051e-03f, 8.575727108e-03f, 8.581780032e-03f, 8.587817816e-03f, 8.593840448e-03f, 8.599847919e-03f,
+8.605840220e-03f, 8.611817341e-03f, 8.617779272e-03f, 8.623726004e-03f, 8.629657528e-03f, 8.635573833e-03f, 8.641474912e-03f, 8.647360753e-03f, 8.653231348e-03f, 8.659086687e-03f,
+8.664926762e-03f, 8.670751562e-03f, 8.676561079e-03f, 8.682355304e-03f, 8.688134226e-03f, 8.693897837e-03f, 8.699646128e-03f, 8.705379089e-03f, 8.711096712e-03f, 8.716798987e-03f,
+8.722485905e-03f, 8.728157458e-03f, 8.733813636e-03f, 8.739454430e-03f, 8.745079832e-03f, 8.750689832e-03f, 8.756284421e-03f, 8.761863591e-03f, 8.767427333e-03f, 8.772975638e-03f,
+8.778508497e-03f, 8.784025902e-03f, 8.789527843e-03f, 8.795014312e-03f, 8.800485301e-03f, 8.805940800e-03f, 8.811380801e-03f, 8.816805296e-03f, 8.822214275e-03f, 8.827607731e-03f,
+8.832985655e-03f, 8.838348038e-03f, 8.843694872e-03f, 8.849026149e-03f, 8.854341859e-03f, 8.859641995e-03f, 8.864926549e-03f, 8.870195511e-03f, 8.875448874e-03f, 8.880686630e-03f,
+8.885908769e-03f, 8.891115285e-03f, 8.896306168e-03f, 8.901481411e-03f, 8.906641006e-03f, 8.911784943e-03f, 8.916913216e-03f, 8.922025817e-03f, 8.927122736e-03f, 8.932203967e-03f,
+8.937269501e-03f, 8.942319331e-03f, 8.947353447e-03f, 8.952371844e-03f, 8.957374512e-03f, 8.962361443e-03f, 8.967332631e-03f, 8.972288067e-03f, 8.977227744e-03f, 8.982151653e-03f,
+8.987059787e-03f, 8.991952139e-03f, 8.996828701e-03f, 9.001689465e-03f, 9.006534423e-03f, 9.011363569e-03f, 9.016176894e-03f, 9.020974391e-03f, 9.025756052e-03f, 9.030521871e-03f,
+9.035271839e-03f, 9.040005950e-03f, 9.044724196e-03f, 9.049426569e-03f, 9.054113063e-03f, 9.058783669e-03f, 9.063438382e-03f, 9.068077193e-03f, 9.072700095e-03f, 9.077307082e-03f,
+9.081898146e-03f, 9.086473279e-03f, 9.091032476e-03f, 9.095575728e-03f, 9.100103029e-03f, 9.104614372e-03f, 9.109109750e-03f, 9.113589156e-03f, 9.118052583e-03f, 9.122500024e-03f,
+9.126931472e-03f, 9.131346920e-03f, 9.135746362e-03f, 9.140129791e-03f, 9.144497201e-03f, 9.148848583e-03f, 9.153183932e-03f, 9.157503241e-03f, 9.161806504e-03f, 9.166093713e-03f,
+9.170364863e-03f, 9.174619946e-03f, 9.178858956e-03f, 9.183081887e-03f, 9.187288733e-03f, 9.191479486e-03f, 9.195654140e-03f, 9.199812689e-03f, 9.203955127e-03f, 9.208081447e-03f,
+9.212191643e-03f, 9.216285709e-03f, 9.220363638e-03f, 9.224425425e-03f, 9.228471063e-03f, 9.232500545e-03f, 9.236513867e-03f, 9.240511021e-03f, 9.244492001e-03f, 9.248456803e-03f,
+9.252405419e-03f, 9.256337843e-03f, 9.260254070e-03f, 9.264154094e-03f, 9.268037909e-03f, 9.271905508e-03f, 9.275756887e-03f, 9.279592039e-03f, 9.283410958e-03f, 9.287213639e-03f,
+9.291000077e-03f, 9.294770264e-03f, 9.298524196e-03f, 9.302261867e-03f, 9.305983271e-03f, 9.309688404e-03f, 9.313377258e-03f, 9.317049829e-03f, 9.320706111e-03f, 9.324346099e-03f,
+9.327969787e-03f, 9.331577170e-03f, 9.335168242e-03f, 9.338742999e-03f, 9.342301434e-03f, 9.345843543e-03f, 9.349369320e-03f, 9.352878759e-03f, 9.356371857e-03f, 9.359848607e-03f,
+9.363309004e-03f, 9.366753044e-03f, 9.370180720e-03f, 9.373592029e-03f, 9.376986964e-03f, 9.380365522e-03f, 9.383727697e-03f, 9.387073483e-03f, 9.390402877e-03f, 9.393715873e-03f,
+9.397012466e-03f, 9.400292651e-03f, 9.403556424e-03f, 9.406803780e-03f, 9.410034714e-03f, 9.413249222e-03f, 9.416447298e-03f, 9.419628938e-03f, 9.422794137e-03f, 9.425942891e-03f,
+9.429075195e-03f, 9.432191045e-03f, 9.435290436e-03f, 9.438373363e-03f, 9.441439822e-03f, 9.444489809e-03f, 9.447523319e-03f, 9.450540347e-03f, 9.453540891e-03f, 9.456524944e-03f,
+9.459492503e-03f, 9.462443563e-03f, 9.465378121e-03f, 9.468296172e-03f, 9.471197711e-03f, 9.474082735e-03f, 9.476951240e-03f, 9.479803221e-03f, 9.482638675e-03f, 9.485457597e-03f,
+9.488259983e-03f, 9.491045830e-03f, 9.493815133e-03f, 9.496567888e-03f, 9.499304092e-03f, 9.502023741e-03f, 9.504726830e-03f, 9.507413357e-03f, 9.510083317e-03f, 9.512736706e-03f,
+9.515373521e-03f, 9.517993758e-03f, 9.520597413e-03f, 9.523184483e-03f, 9.525754964e-03f, 9.528308853e-03f, 9.530846145e-03f, 9.533366838e-03f, 9.535870928e-03f, 9.538358412e-03f,
+9.540829285e-03f, 9.543283545e-03f, 9.545721189e-03f, 9.548142212e-03f, 9.550546612e-03f, 9.552934385e-03f, 9.555305528e-03f, 9.557660038e-03f, 9.559997912e-03f, 9.562319145e-03f,
+9.564623737e-03f, 9.566911682e-03f, 9.569182978e-03f, 9.571437622e-03f, 9.573675611e-03f, 9.575896942e-03f, 9.578101612e-03f, 9.580289618e-03f, 9.582460957e-03f, 9.584615626e-03f,
+9.586753622e-03f, 9.588874943e-03f, 9.590979586e-03f, 9.593067547e-03f, 9.595138825e-03f, 9.597193416e-03f, 9.599231317e-03f, 9.601252527e-03f, 9.603257043e-03f, 9.605244861e-03f,
+9.607215979e-03f, 9.609170395e-03f, 9.611108107e-03f, 9.613029111e-03f, 9.614933406e-03f, 9.616820988e-03f, 9.618691856e-03f, 9.620546006e-03f, 9.622383438e-03f, 9.624204148e-03f,
+9.626008134e-03f, 9.627795394e-03f, 9.629565926e-03f, 9.631319727e-03f, 9.633056796e-03f, 9.634777130e-03f, 9.636480727e-03f, 9.638167584e-03f, 9.639837701e-03f, 9.641491075e-03f,
+9.643127704e-03f, 9.644747585e-03f, 9.646350718e-03f, 9.647937100e-03f, 9.649506729e-03f, 9.651059603e-03f, 9.652595721e-03f, 9.654115081e-03f, 9.655617681e-03f, 9.657103519e-03f,
+9.658572593e-03f, 9.660024903e-03f, 9.661460446e-03f, 9.662879221e-03f, 9.664281226e-03f, 9.665666459e-03f, 9.667034919e-03f, 9.668386605e-03f, 9.669721515e-03f, 9.671039647e-03f,
+9.672341001e-03f, 9.673625574e-03f, 9.674893366e-03f, 9.676144375e-03f, 9.677378600e-03f, 9.678596039e-03f, 9.679796692e-03f, 9.680980557e-03f, 9.682147633e-03f, 9.683297918e-03f,
+9.684431412e-03f, 9.685548114e-03f, 9.686648023e-03f, 9.687731136e-03f, 9.688797455e-03f, 9.689846977e-03f, 9.690879701e-03f, 9.691895627e-03f, 9.692894754e-03f, 9.693877080e-03f,
+9.694842606e-03f, 9.695791330e-03f, 9.696723252e-03f, 9.697638370e-03f, 9.698536684e-03f, 9.699418194e-03f, 9.700282898e-03f, 9.701130797e-03f, 9.701961888e-03f, 9.702776173e-03f,
+9.703573650e-03f, 9.704354319e-03f, 9.705118180e-03f, 9.705865231e-03f, 9.706595473e-03f, 9.707308905e-03f, 9.708005526e-03f, 9.708685337e-03f, 9.709348337e-03f, 9.709994526e-03f,
+9.710623904e-03f, 9.711236470e-03f, 9.711832224e-03f, 9.712411166e-03f, 9.712973296e-03f, 9.713518613e-03f, 9.714047119e-03f, 9.714558812e-03f, 9.715053692e-03f, 9.715531760e-03f,
+9.715993016e-03f, 9.716437460e-03f, 9.716865091e-03f, 9.717275911e-03f, 9.717669919e-03f, 9.718047115e-03f, 9.718407499e-03f, 9.718751072e-03f, 9.719077835e-03f, 9.719387786e-03f,
+9.719680928e-03f, 9.719957259e-03f, 9.720216781e-03f, 9.720459494e-03f, 9.720685398e-03f, 9.720894494e-03f, 9.721086782e-03f, 9.721262263e-03f, 9.721420937e-03f, 9.721562805e-03f,
+9.721687868e-03f, 9.721796127e-03f, 9.721887581e-03f, 9.721962232e-03f, 9.722020080e-03f, 9.722061126e-03f, 9.722085371e-03f, 9.722092816e-03f, 9.722083462e-03f, 9.722057309e-03f,
+9.722014359e-03f, 9.721954612e-03f, 9.721878069e-03f, 9.721784732e-03f, 9.721674601e-03f, 9.721547677e-03f, 9.721403962e-03f, 9.721243457e-03f, 9.721066162e-03f, 9.720872080e-03f,
+9.720661210e-03f, 9.720433555e-03f, 9.720189115e-03f, 9.719927892e-03f, 9.719649888e-03f, 9.719355103e-03f, 9.719043539e-03f, 9.718715198e-03f, 9.718370080e-03f, 9.718008187e-03f,
+9.717629521e-03f, 9.717234084e-03f, 9.716821876e-03f, 9.716392900e-03f, 9.715947157e-03f, 9.715484648e-03f, 9.715005375e-03f, 9.714509341e-03f, 9.713996546e-03f, 9.713466993e-03f,
+9.712920683e-03f, 9.712357618e-03f, 9.711777800e-03f, 9.711181231e-03f, 9.710567912e-03f, 9.709937846e-03f, 9.709291034e-03f, 9.708627479e-03f, 9.707947182e-03f, 9.707250146e-03f,
+9.706536373e-03f, 9.705805864e-03f, 9.705058622e-03f, 9.704294649e-03f, 9.703513948e-03f, 9.702716519e-03f, 9.701902367e-03f, 9.701071492e-03f, 9.700223897e-03f, 9.699359585e-03f,
+9.698478558e-03f, 9.697580818e-03f, 9.696666368e-03f, 9.695735210e-03f, 9.694787346e-03f, 9.693822780e-03f, 9.692841513e-03f, 9.691843548e-03f, 9.690828888e-03f, 9.689797536e-03f,
+9.688749493e-03f, 9.687684764e-03f, 9.686603349e-03f, 9.685505253e-03f, 9.684390477e-03f, 9.683259026e-03f, 9.682110900e-03f, 9.680946104e-03f, 9.679764640e-03f, 9.678566512e-03f,
+9.677351721e-03f, 9.676120271e-03f, 9.674872166e-03f, 9.673607407e-03f, 9.672325998e-03f, 9.671027942e-03f, 9.669713243e-03f, 9.668381903e-03f, 9.667033925e-03f, 9.665669313e-03f,
+9.664288070e-03f, 9.662890199e-03f, 9.661475704e-03f, 9.660044587e-03f, 9.658596852e-03f, 9.657132503e-03f, 9.655651542e-03f, 9.654153974e-03f, 9.652639801e-03f, 9.651109027e-03f,
+9.649561656e-03f, 9.647997692e-03f, 9.646417136e-03f, 9.644819994e-03f, 9.643206269e-03f, 9.641575965e-03f, 9.639929085e-03f, 9.638265633e-03f, 9.636585612e-03f, 9.634889027e-03f,
+9.633175881e-03f, 9.631446177e-03f, 9.629699921e-03f, 9.627937116e-03f, 9.626157765e-03f, 9.624361872e-03f, 9.622549443e-03f, 9.620720479e-03f, 9.618874986e-03f, 9.617012968e-03f,
+9.615134428e-03f, 9.613239371e-03f, 9.611327801e-03f, 9.609399722e-03f, 9.607455138e-03f, 9.605494053e-03f, 9.603516472e-03f, 9.601522399e-03f, 9.599511838e-03f, 9.597484793e-03f,
+9.595441269e-03f, 9.593381271e-03f, 9.591304802e-03f, 9.589211867e-03f, 9.587102471e-03f, 9.584976618e-03f, 9.582834312e-03f, 9.580675559e-03f, 9.578500362e-03f, 9.576308726e-03f,
+9.574100657e-03f, 9.571876158e-03f, 9.569635234e-03f, 9.567377890e-03f, 9.565104131e-03f, 9.562813962e-03f, 9.560507387e-03f, 9.558184410e-03f, 9.555845038e-03f, 9.553489275e-03f,
+9.551117126e-03f, 9.548728595e-03f, 9.546323689e-03f, 9.543902410e-03f, 9.541464766e-03f, 9.539010760e-03f, 9.536540399e-03f, 9.534053686e-03f, 9.531550627e-03f, 9.529031228e-03f,
+9.526495493e-03f, 9.523943428e-03f, 9.521375038e-03f, 9.518790329e-03f, 9.516189304e-03f, 9.513571971e-03f, 9.510938334e-03f, 9.508288398e-03f, 9.505622170e-03f, 9.502939654e-03f,
+9.500240856e-03f, 9.497525782e-03f, 9.494794437e-03f, 9.492046826e-03f, 9.489282955e-03f, 9.486502830e-03f, 9.483706457e-03f, 9.480893841e-03f, 9.478064987e-03f, 9.475219902e-03f,
+9.472358591e-03f, 9.469481060e-03f, 9.466587315e-03f, 9.463677362e-03f, 9.460751206e-03f, 9.457808854e-03f, 9.454850311e-03f, 9.451875584e-03f, 9.448884677e-03f, 9.445877598e-03f,
+9.442854353e-03f, 9.439814946e-03f, 9.436759385e-03f, 9.433687676e-03f, 9.430599824e-03f, 9.427495836e-03f, 9.424375718e-03f, 9.421239477e-03f, 9.418087118e-03f, 9.414918648e-03f,
+9.411734073e-03f, 9.408533399e-03f, 9.405316633e-03f, 9.402083781e-03f, 9.398834850e-03f, 9.395569846e-03f, 9.392288776e-03f, 9.388991645e-03f, 9.385678461e-03f, 9.382349230e-03f,
+9.379003959e-03f, 9.375642654e-03f, 9.372265322e-03f, 9.368871970e-03f, 9.365462604e-03f, 9.362037230e-03f, 9.358595857e-03f, 9.355138490e-03f, 9.351665136e-03f, 9.348175802e-03f,
+9.344670495e-03f, 9.341149222e-03f, 9.337611990e-03f, 9.334058806e-03f, 9.330489676e-03f, 9.326904608e-03f, 9.323303608e-03f, 9.319686684e-03f, 9.316053843e-03f, 9.312405092e-03f,
+9.308740437e-03f, 9.305059887e-03f, 9.301363448e-03f, 9.297651128e-03f, 9.293922933e-03f, 9.290178871e-03f, 9.286418950e-03f, 9.282643176e-03f, 9.278851557e-03f, 9.275044100e-03f,
+9.271220813e-03f, 9.267381704e-03f, 9.263526778e-03f, 9.259656045e-03f, 9.255769512e-03f, 9.251867185e-03f, 9.247949073e-03f, 9.244015183e-03f, 9.240065523e-03f, 9.236100101e-03f,
+9.232118924e-03f, 9.228121999e-03f, 9.224109335e-03f, 9.220080939e-03f, 9.216036820e-03f, 9.211976984e-03f, 9.207901439e-03f, 9.203810195e-03f, 9.199703257e-03f, 9.195580635e-03f,
+9.191442337e-03f, 9.187288369e-03f, 9.183118740e-03f, 9.178933459e-03f, 9.174732533e-03f, 9.170515970e-03f, 9.166283779e-03f, 9.162035967e-03f, 9.157772542e-03f, 9.153493514e-03f,
+9.149198889e-03f, 9.144888677e-03f, 9.140562885e-03f, 9.136221522e-03f, 9.131864596e-03f, 9.127492115e-03f, 9.123104088e-03f, 9.118700523e-03f, 9.114281429e-03f, 9.109846814e-03f,
+9.105396686e-03f, 9.100931054e-03f, 9.096449926e-03f, 9.091953311e-03f, 9.087441218e-03f, 9.082913655e-03f, 9.078370631e-03f, 9.073812154e-03f, 9.069238233e-03f, 9.064648877e-03f,
+9.060044094e-03f, 9.055423893e-03f, 9.050788284e-03f, 9.046137274e-03f, 9.041470873e-03f, 9.036789090e-03f, 9.032091933e-03f, 9.027379411e-03f, 9.022651533e-03f, 9.017908309e-03f,
+9.013149746e-03f, 9.008375855e-03f, 9.003586644e-03f, 8.998782122e-03f, 8.993962299e-03f, 8.989127183e-03f, 8.984276784e-03f, 8.979411110e-03f, 8.974530172e-03f, 8.969633978e-03f,
+8.964722537e-03f, 8.959795858e-03f, 8.954853952e-03f, 8.949896827e-03f, 8.944924493e-03f, 8.939936959e-03f, 8.934934234e-03f, 8.929916328e-03f, 8.924883251e-03f, 8.919835011e-03f,
+8.914771619e-03f, 8.909693083e-03f, 8.904599414e-03f, 8.899490621e-03f, 8.894366713e-03f, 8.889227701e-03f, 8.884073593e-03f, 8.878904400e-03f, 8.873720131e-03f, 8.868520796e-03f,
+8.863306405e-03f, 8.858076968e-03f, 8.852832493e-03f, 8.847572992e-03f, 8.842298474e-03f, 8.837008949e-03f, 8.831704427e-03f, 8.826384917e-03f, 8.821050431e-03f, 8.815700976e-03f,
+8.810336565e-03f, 8.804957206e-03f, 8.799562911e-03f, 8.794153688e-03f, 8.788729548e-03f, 8.783290501e-03f, 8.777836558e-03f, 8.772367728e-03f, 8.766884022e-03f, 8.761385450e-03f,
+8.755872022e-03f, 8.750343749e-03f, 8.744800640e-03f, 8.739242707e-03f, 8.733669959e-03f, 8.728082408e-03f, 8.722480062e-03f, 8.716862934e-03f, 8.711231032e-03f, 8.705584369e-03f,
+8.699922953e-03f, 8.694246797e-03f, 8.688555910e-03f, 8.682850303e-03f, 8.677129986e-03f, 8.671394971e-03f, 8.665645268e-03f, 8.659880887e-03f, 8.654101839e-03f, 8.648308136e-03f,
+8.642499787e-03f, 8.636676804e-03f, 8.630839197e-03f, 8.624986978e-03f, 8.619120157e-03f, 8.613238744e-03f, 8.607342752e-03f, 8.601432190e-03f, 8.595507070e-03f, 8.589567403e-03f,
+8.583613200e-03f, 8.577644472e-03f, 8.571661230e-03f, 8.565663484e-03f, 8.559651247e-03f, 8.553624529e-03f, 8.547583341e-03f, 8.541527695e-03f, 8.535457601e-03f, 8.529373072e-03f,
+8.523274118e-03f, 8.517160750e-03f, 8.511032980e-03f, 8.504890820e-03f, 8.498734280e-03f, 8.492563371e-03f, 8.486378106e-03f, 8.480178496e-03f, 8.473964552e-03f, 8.467736286e-03f,
+8.461493709e-03f, 8.455236832e-03f, 8.448965668e-03f, 8.442680227e-03f, 8.436380522e-03f, 8.430066564e-03f, 8.423738365e-03f, 8.417395935e-03f, 8.411039288e-03f, 8.404668435e-03f,
+8.398283387e-03f, 8.391884156e-03f, 8.385470754e-03f, 8.379043193e-03f, 8.372601485e-03f, 8.366145641e-03f, 8.359675673e-03f, 8.353191594e-03f, 8.346693415e-03f, 8.340181148e-03f,
+8.333654805e-03f, 8.327114399e-03f, 8.320559940e-03f, 8.313991442e-03f, 8.307408916e-03f, 8.300812374e-03f, 8.294201829e-03f, 8.287577293e-03f, 8.280938777e-03f, 8.274286295e-03f,
+8.267619857e-03f, 8.260939477e-03f, 8.254245167e-03f, 8.247536939e-03f, 8.240814805e-03f, 8.234078777e-03f, 8.227328869e-03f, 8.220565092e-03f, 8.213787458e-03f, 8.206995981e-03f,
+8.200190673e-03f, 8.193371545e-03f, 8.186538611e-03f, 8.179691883e-03f, 8.172831374e-03f, 8.165957096e-03f, 8.159069062e-03f, 8.152167284e-03f, 8.145251775e-03f, 8.138322548e-03f,
+8.131379615e-03f, 8.124422990e-03f, 8.117452684e-03f, 8.110468710e-03f, 8.103471082e-03f, 8.096459812e-03f, 8.089434913e-03f, 8.082396397e-03f, 8.075344278e-03f, 8.068278569e-03f,
+8.061199282e-03f, 8.054106430e-03f, 8.047000027e-03f, 8.039880085e-03f, 8.032746617e-03f, 8.025599636e-03f, 8.018439156e-03f, 8.011265189e-03f, 8.004077748e-03f, 7.996876847e-03f,
+7.989662499e-03f, 7.982434717e-03f, 7.975193513e-03f, 7.967938902e-03f, 7.960670896e-03f, 7.953389509e-03f, 7.946094754e-03f, 7.938786645e-03f, 7.931465194e-03f, 7.924130414e-03f,
+7.916782320e-03f, 7.909420925e-03f, 7.902046242e-03f, 7.894658284e-03f, 7.887257065e-03f, 7.879842599e-03f, 7.872414898e-03f, 7.864973977e-03f, 7.857519849e-03f, 7.850052527e-03f,
+7.842572025e-03f, 7.835078357e-03f, 7.827571537e-03f, 7.820051577e-03f, 7.812518492e-03f, 7.804972295e-03f, 7.797413000e-03f, 7.789840621e-03f, 7.782255172e-03f, 7.774656666e-03f,
+7.767045117e-03f, 7.759420538e-03f, 7.751782945e-03f, 7.744132350e-03f, 7.736468768e-03f, 7.728792212e-03f, 7.721102696e-03f, 7.713400235e-03f, 7.705684842e-03f, 7.697956531e-03f,
+7.690215317e-03f, 7.682461212e-03f, 7.674694233e-03f, 7.666914391e-03f, 7.659121702e-03f, 7.651316180e-03f, 7.643497839e-03f, 7.635666693e-03f, 7.627822756e-03f, 7.619966042e-03f,
+7.612096566e-03f, 7.604214342e-03f, 7.596319384e-03f, 7.588411706e-03f, 7.580491323e-03f, 7.572558250e-03f, 7.564612499e-03f, 7.556654087e-03f, 7.548683027e-03f, 7.540699333e-03f,
+7.532703021e-03f, 7.524694104e-03f, 7.516672597e-03f, 7.508638515e-03f, 7.500591872e-03f, 7.492532682e-03f, 7.484460961e-03f, 7.476376722e-03f, 7.468279981e-03f, 7.460170752e-03f,
+7.452049050e-03f, 7.443914889e-03f, 7.435768284e-03f, 7.427609250e-03f, 7.419437801e-03f, 7.411253953e-03f, 7.403057719e-03f, 7.394849116e-03f, 7.386628157e-03f, 7.378394858e-03f,
+7.370149233e-03f, 7.361891297e-03f, 7.353621065e-03f, 7.345338553e-03f, 7.337043774e-03f, 7.328736744e-03f, 7.320417479e-03f, 7.312085992e-03f, 7.303742299e-03f, 7.295386415e-03f,
+7.287018356e-03f, 7.278638135e-03f, 7.270245769e-03f, 7.261841272e-03f, 7.253424660e-03f, 7.244995947e-03f, 7.236555149e-03f, 7.228102282e-03f, 7.219637359e-03f, 7.211160397e-03f,
+7.202671411e-03f, 7.194170416e-03f, 7.185657428e-03f, 7.177132461e-03f, 7.168595531e-03f, 7.160046654e-03f, 7.151485845e-03f, 7.142913118e-03f, 7.134328491e-03f, 7.125731977e-03f,
+7.117123593e-03f, 7.108503354e-03f, 7.099871276e-03f, 7.091227374e-03f, 7.082571663e-03f, 7.073904160e-03f, 7.065224879e-03f, 7.056533836e-03f, 7.047831048e-03f, 7.039116529e-03f,
+7.030390296e-03f, 7.021652363e-03f, 7.012902747e-03f, 7.004141463e-03f, 6.995368528e-03f, 6.986583956e-03f, 6.977787764e-03f, 6.968979968e-03f, 6.960160582e-03f, 6.951329624e-03f,
+6.942487109e-03f, 6.933633052e-03f, 6.924767470e-03f, 6.915890379e-03f, 6.907001794e-03f, 6.898101732e-03f, 6.889190208e-03f, 6.880267239e-03f, 6.871332840e-03f, 6.862387027e-03f,
+6.853429817e-03f, 6.844461225e-03f, 6.835481269e-03f, 6.826489962e-03f, 6.817487323e-03f, 6.808473367e-03f, 6.799448110e-03f, 6.790411568e-03f, 6.781363758e-03f, 6.772304695e-03f,
+6.763234396e-03f, 6.754152878e-03f, 6.745060156e-03f, 6.735956247e-03f, 6.726841167e-03f, 6.717714932e-03f, 6.708577559e-03f, 6.699429064e-03f, 6.690269463e-03f, 6.681098774e-03f,
+6.671917011e-03f, 6.662724192e-03f, 6.653520334e-03f, 6.644305452e-03f, 6.635079563e-03f, 6.625842684e-03f, 6.616594831e-03f, 6.607336020e-03f, 6.598066269e-03f, 6.588785594e-03f,
+6.579494011e-03f, 6.570191537e-03f, 6.560878188e-03f, 6.551553982e-03f, 6.542218935e-03f, 6.532873064e-03f, 6.523516385e-03f, 6.514148915e-03f, 6.504770671e-03f, 6.495381669e-03f,
+6.485981927e-03f, 6.476571461e-03f, 6.467150288e-03f, 6.457718425e-03f, 6.448275888e-03f, 6.438822695e-03f, 6.429358862e-03f, 6.419884406e-03f, 6.410399345e-03f, 6.400903694e-03f,
+6.391397472e-03f, 6.381880695e-03f, 6.372353379e-03f, 6.362815543e-03f, 6.353267203e-03f, 6.343708376e-03f, 6.334139079e-03f, 6.324559329e-03f, 6.314969144e-03f, 6.305368539e-03f,
+6.295757534e-03f, 6.286136144e-03f, 6.276504386e-03f, 6.266862279e-03f, 6.257209839e-03f, 6.247547084e-03f, 6.237874029e-03f, 6.228190694e-03f, 6.218497095e-03f, 6.208793249e-03f,
+6.199079174e-03f, 6.189354887e-03f, 6.179620405e-03f, 6.169875746e-03f, 6.160120927e-03f, 6.150355965e-03f, 6.140580878e-03f, 6.130795683e-03f, 6.121000398e-03f, 6.111195039e-03f,
+6.101379626e-03f, 6.091554174e-03f, 6.081718702e-03f, 6.071873226e-03f, 6.062017765e-03f, 6.052152337e-03f, 6.042276957e-03f, 6.032391645e-03f, 6.022496418e-03f, 6.012591293e-03f,
+6.002676288e-03f, 5.992751421e-03f, 5.982816709e-03f, 5.972872170e-03f, 5.962917821e-03f, 5.952953681e-03f, 5.942979767e-03f, 5.932996097e-03f, 5.923002688e-03f, 5.912999559e-03f,
+5.902986726e-03f, 5.892964209e-03f, 5.882932024e-03f, 5.872890190e-03f, 5.862838724e-03f, 5.852777644e-03f, 5.842706969e-03f, 5.832626715e-03f, 5.822536901e-03f, 5.812437546e-03f,
+5.802328665e-03f, 5.792210279e-03f, 5.782082404e-03f, 5.771945059e-03f, 5.761798262e-03f, 5.751642030e-03f, 5.741476383e-03f, 5.731301336e-03f, 5.721116910e-03f, 5.710923122e-03f,
+5.700719989e-03f, 5.690507531e-03f, 5.680285765e-03f, 5.670054709e-03f, 5.659814382e-03f, 5.649564802e-03f, 5.639305986e-03f, 5.629037954e-03f, 5.618760723e-03f, 5.608474311e-03f,
+5.598178737e-03f, 5.587874019e-03f, 5.577560175e-03f, 5.567237224e-03f, 5.556905184e-03f, 5.546564073e-03f, 5.536213910e-03f, 5.525854712e-03f, 5.515486499e-03f, 5.505109288e-03f,
+5.494723099e-03f, 5.484327948e-03f, 5.473923856e-03f, 5.463510840e-03f, 5.453088918e-03f, 5.442658110e-03f, 5.432218433e-03f, 5.421769907e-03f, 5.411312549e-03f, 5.400846379e-03f,
+5.390371414e-03f, 5.379887673e-03f, 5.369395175e-03f, 5.358893939e-03f, 5.348383982e-03f, 5.337865324e-03f, 5.327337984e-03f, 5.316801979e-03f, 5.306257329e-03f, 5.295704052e-03f,
+5.285142166e-03f, 5.274571692e-03f, 5.263992646e-03f, 5.253405049e-03f, 5.242808918e-03f, 5.232204272e-03f, 5.221591131e-03f, 5.210969513e-03f, 5.200339436e-03f, 5.189700920e-03f,
+5.179053983e-03f, 5.168398645e-03f, 5.157734923e-03f, 5.147062838e-03f, 5.136382407e-03f, 5.125693650e-03f, 5.114996585e-03f, 5.104291232e-03f, 5.093577609e-03f, 5.082855735e-03f,
+5.072125630e-03f, 5.061387312e-03f, 5.050640800e-03f, 5.039886113e-03f, 5.029123270e-03f, 5.018352290e-03f, 5.007573193e-03f, 4.996785997e-03f, 4.985990721e-03f, 4.975187385e-03f,
+4.964376006e-03f, 4.953556606e-03f, 4.942729202e-03f, 4.931893814e-03f, 4.921050461e-03f, 4.910199161e-03f, 4.899339935e-03f, 4.888472801e-03f, 4.877597779e-03f, 4.866714888e-03f,
+4.855824146e-03f, 4.844925574e-03f, 4.834019190e-03f, 4.823105013e-03f, 4.812183064e-03f, 4.801253360e-03f, 4.790315922e-03f, 4.779370769e-03f, 4.768417920e-03f, 4.757457394e-03f,
+4.746489211e-03f, 4.735513389e-03f, 4.724529950e-03f, 4.713538910e-03f, 4.702540292e-03f, 4.691534112e-03f, 4.680520391e-03f, 4.669499149e-03f, 4.658470405e-03f, 4.647434177e-03f,
+4.636390487e-03f, 4.625339352e-03f, 4.614280793e-03f, 4.603214829e-03f, 4.592141480e-03f, 4.581060765e-03f, 4.569972703e-03f, 4.558877315e-03f, 4.547774619e-03f, 4.536664635e-03f,
+4.525547384e-03f, 4.514422883e-03f, 4.503291154e-03f, 4.492152215e-03f, 4.481006086e-03f, 4.469852788e-03f, 4.458692338e-03f, 4.447524758e-03f, 4.436350067e-03f, 4.425168284e-03f,
+4.413979429e-03f, 4.402783522e-03f, 4.391580582e-03f, 4.380370630e-03f, 4.369153685e-03f, 4.357929766e-03f, 4.346698894e-03f, 4.335461088e-03f, 4.324216368e-03f, 4.312964754e-03f,
+4.301706265e-03f, 4.290440922e-03f, 4.279168744e-03f, 4.267889751e-03f, 4.256603962e-03f, 4.245311399e-03f, 4.234012080e-03f, 4.222706025e-03f, 4.211393255e-03f, 4.200073789e-03f,
+4.188747647e-03f, 4.177414849e-03f, 4.166075415e-03f, 4.154729364e-03f, 4.143376718e-03f, 4.132017495e-03f, 4.120651716e-03f, 4.109279401e-03f, 4.097900569e-03f, 4.086515241e-03f,
+4.075123437e-03f, 4.063725176e-03f, 4.052320479e-03f, 4.040909366e-03f, 4.029491856e-03f, 4.018067971e-03f, 4.006637729e-03f, 3.995201151e-03f, 3.983758257e-03f, 3.972309068e-03f,
+3.960853602e-03f, 3.949391881e-03f, 3.937923925e-03f, 3.926449753e-03f, 3.914969386e-03f, 3.903482844e-03f, 3.891990146e-03f, 3.880491315e-03f, 3.868986368e-03f, 3.857475327e-03f,
+3.845958212e-03f, 3.834435043e-03f, 3.822905840e-03f, 3.811370624e-03f, 3.799829415e-03f, 3.788282232e-03f, 3.776729097e-03f, 3.765170029e-03f, 3.753605049e-03f, 3.742034176e-03f,
+3.730457433e-03f, 3.718874838e-03f, 3.707286411e-03f, 3.695692175e-03f, 3.684092147e-03f, 3.672486350e-03f, 3.660874803e-03f, 3.649257526e-03f, 3.637634541e-03f, 3.626005867e-03f,
+3.614371525e-03f, 3.602731535e-03f, 3.591085917e-03f, 3.579434692e-03f, 3.567777881e-03f, 3.556115504e-03f, 3.544447580e-03f, 3.532774132e-03f, 3.521095179e-03f, 3.509410741e-03f,
+3.497720839e-03f, 3.486025494e-03f, 3.474324726e-03f, 3.462618555e-03f, 3.450907003e-03f, 3.439190088e-03f, 3.427467833e-03f, 3.415740258e-03f, 3.404007383e-03f, 3.392269228e-03f,
+3.380525815e-03f, 3.368777163e-03f, 3.357023293e-03f, 3.345264227e-03f, 3.333499984e-03f, 3.321730585e-03f, 3.309956051e-03f, 3.298176402e-03f, 3.286391659e-03f, 3.274601842e-03f,
+3.262806973e-03f, 3.251007071e-03f, 3.239202158e-03f, 3.227392254e-03f, 3.215577379e-03f, 3.203757555e-03f, 3.191932802e-03f, 3.180103141e-03f, 3.168268593e-03f, 3.156429177e-03f,
+3.144584915e-03f, 3.132735828e-03f, 3.120881937e-03f, 3.109023261e-03f, 3.097159822e-03f, 3.085291640e-03f, 3.073418737e-03f, 3.061541132e-03f, 3.049658848e-03f, 3.037771904e-03f,
+3.025880321e-03f, 3.013984120e-03f, 3.002083322e-03f, 2.990177948e-03f, 2.978268018e-03f, 2.966353554e-03f, 2.954434576e-03f, 2.942511104e-03f, 2.930583161e-03f, 2.918650766e-03f,
+2.906713940e-03f, 2.894772705e-03f, 2.882827080e-03f, 2.870877088e-03f, 2.858922749e-03f, 2.846964083e-03f, 2.835001112e-03f, 2.823033857e-03f, 2.811062338e-03f, 2.799086576e-03f,
+2.787106592e-03f, 2.775122408e-03f, 2.763134044e-03f, 2.751141520e-03f, 2.739144859e-03f, 2.727144080e-03f, 2.715139206e-03f, 2.703130256e-03f, 2.691117251e-03f, 2.679100214e-03f,
+2.667079164e-03f, 2.655054122e-03f, 2.643025111e-03f, 2.630992149e-03f, 2.618955260e-03f, 2.606914463e-03f, 2.594869779e-03f, 2.582821230e-03f, 2.570768837e-03f, 2.558712620e-03f,
+2.546652601e-03f, 2.534588801e-03f, 2.522521240e-03f, 2.510449940e-03f, 2.498374922e-03f, 2.486296207e-03f, 2.474213816e-03f, 2.462127769e-03f, 2.450038089e-03f, 2.437944796e-03f,
+2.425847910e-03f, 2.413747455e-03f, 2.401643449e-03f, 2.389535915e-03f, 2.377424874e-03f, 2.365310346e-03f, 2.353192353e-03f, 2.341070916e-03f, 2.328946056e-03f, 2.316817794e-03f,
+2.304686151e-03f, 2.292551149e-03f, 2.280412808e-03f, 2.268271150e-03f, 2.256126195e-03f, 2.243977966e-03f, 2.231826483e-03f, 2.219671767e-03f, 2.207513839e-03f, 2.195352721e-03f,
+2.183188434e-03f, 2.171020999e-03f, 2.158850437e-03f, 2.146676769e-03f, 2.134500017e-03f, 2.122320202e-03f, 2.110137344e-03f, 2.097951466e-03f, 2.085762588e-03f, 2.073570731e-03f,
+2.061375917e-03f, 2.049178168e-03f, 2.036977503e-03f, 2.024773945e-03f, 2.012567515e-03f, 2.000358233e-03f, 1.988146122e-03f, 1.975931202e-03f, 1.963713494e-03f, 1.951493021e-03f,
+1.939269803e-03f, 1.927043861e-03f, 1.914815216e-03f, 1.902583891e-03f, 1.890349906e-03f, 1.878113282e-03f, 1.865874041e-03f, 1.853632205e-03f, 1.841387793e-03f, 1.829140828e-03f,
+1.816891331e-03f, 1.804639323e-03f, 1.792384826e-03f, 1.780127860e-03f, 1.767868447e-03f, 1.755606609e-03f, 1.743342367e-03f, 1.731075741e-03f, 1.718806754e-03f, 1.706535427e-03f,
+1.694261780e-03f, 1.681985836e-03f, 1.669707615e-03f, 1.657427139e-03f, 1.645144430e-03f, 1.632859508e-03f, 1.620572395e-03f, 1.608283112e-03f, 1.595991681e-03f, 1.583698123e-03f,
+1.571402460e-03f, 1.559104712e-03f, 1.546804901e-03f, 1.534503048e-03f, 1.522199175e-03f, 1.509893303e-03f, 1.497585454e-03f, 1.485275649e-03f, 1.472963908e-03f, 1.460650254e-03f,
+1.448334709e-03f, 1.436017292e-03f, 1.423698026e-03f, 1.411376933e-03f, 1.399054032e-03f, 1.386729347e-03f, 1.374402898e-03f, 1.362074706e-03f, 1.349744793e-03f, 1.337413181e-03f,
+1.325079891e-03f, 1.312744943e-03f, 1.300408361e-03f, 1.288070164e-03f, 1.275730374e-03f, 1.263389014e-03f, 1.251046103e-03f, 1.238701664e-03f, 1.226355718e-03f, 1.214008287e-03f,
+1.201659391e-03f, 1.189309052e-03f, 1.176957292e-03f, 1.164604132e-03f, 1.152249594e-03f, 1.139893698e-03f, 1.127536466e-03f, 1.115177921e-03f, 1.102818082e-03f, 1.090456972e-03f,
+1.078094612e-03f, 1.065731023e-03f, 1.053366227e-03f, 1.041000245e-03f, 1.028633099e-03f, 1.016264810e-03f, 1.003895399e-03f, 9.915248885e-04f, 9.791532991e-04f, 9.667806526e-04f,
+9.544069702e-04f, 9.420322735e-04f, 9.296565838e-04f, 9.172799227e-04f, 9.049023115e-04f, 8.925237716e-04f, 8.801443246e-04f, 8.677639918e-04f, 8.553827946e-04f, 8.430007546e-04f,
+8.306178931e-04f, 8.182342316e-04f, 8.058497915e-04f, 7.934645942e-04f, 7.810786612e-04f, 7.686920140e-04f, 7.563046739e-04f, 7.439166624e-04f, 7.315280009e-04f, 7.191387109e-04f,
+7.067488138e-04f, 6.943583311e-04f, 6.819672841e-04f, 6.695756944e-04f, 6.571835832e-04f, 6.447909722e-04f, 6.323978827e-04f, 6.200043362e-04f, 6.076103541e-04f, 5.952159577e-04f,
+5.828211687e-04f, 5.704260084e-04f, 5.580304981e-04f, 5.456346595e-04f, 5.332385138e-04f, 5.208420826e-04f, 5.084453873e-04f, 4.960484492e-04f, 4.836512899e-04f, 4.712539307e-04f,
+4.588563931e-04f, 4.464586985e-04f, 4.340608683e-04f, 4.216629240e-04f, 4.092648870e-04f, 3.968667787e-04f, 3.844686206e-04f, 3.720704340e-04f, 3.596722404e-04f, 3.472740612e-04f,
+3.348759178e-04f, 3.224778316e-04f, 3.100798241e-04f, 2.976819167e-04f, 2.852841308e-04f, 2.728864877e-04f, 2.604890090e-04f, 2.480917160e-04f, 2.356946301e-04f, 2.232977728e-04f,
+2.109011654e-04f, 1.985048293e-04f, 1.861087860e-04f, 1.737130568e-04f, 1.613176632e-04f, 1.489226266e-04f, 1.365279683e-04f, 1.241337097e-04f, 1.117398723e-04f, 9.934647736e-05f,
+8.695354636e-05f, 7.456110066e-05f, 6.216916165e-05f, 4.977775070e-05f, 3.738688920e-05f, 2.499659852e-05f, 1.260690006e-05f, 2.178151723e-07f, -1.217063476e-05f, -2.455842837e-05f,
+-3.694554429e-05f, -4.933196115e-05f, -6.171765759e-05f, -7.410261224e-05f, -8.648680375e-05f, -9.887021077e-05f, -1.112528119e-04f, -1.236345859e-04f, -1.360155113e-04f, -1.483955668e-04f,
+-1.607747310e-04f, -1.731529827e-04f, -1.855303004e-04f, -1.979066629e-04f, -2.102820488e-04f, -2.226564368e-04f, -2.350298055e-04f, -2.474021336e-04f, -2.597733999e-04f, -2.721435829e-04f,
+-2.845126613e-04f, -2.968806140e-04f, -3.092474195e-04f, -3.216130565e-04f, -3.339775037e-04f, -3.463407399e-04f, -3.587027437e-04f, -3.710634938e-04f, -3.834229690e-04f, -3.957811480e-04f,
+-4.081380094e-04f, -4.204935320e-04f, -4.328476946e-04f, -4.452004757e-04f, -4.575518543e-04f, -4.699018090e-04f, -4.822503185e-04f, -4.945973615e-04f, -5.069429169e-04f, -5.192869634e-04f,
+-5.316294797e-04f, -5.439704446e-04f, -5.563098368e-04f, -5.686476351e-04f, -5.809838183e-04f, -5.933183651e-04f, -6.056512543e-04f, -6.179824647e-04f, -6.303119751e-04f, -6.426397642e-04f,
+-6.549658109e-04f, -6.672900939e-04f, -6.796125921e-04f, -6.919332841e-04f, -7.042521490e-04f, -7.165691653e-04f, -7.288843121e-04f, -7.411975680e-04f, -7.535089120e-04f, -7.658183227e-04f,
+-7.781257792e-04f, -7.904312602e-04f, -8.027347445e-04f, -8.150362110e-04f, -8.273356386e-04f, -8.396330061e-04f, -8.519282923e-04f, -8.642214762e-04f, -8.765125365e-04f, -8.888014522e-04f,
+-9.010882022e-04f, -9.133727653e-04f, -9.256551205e-04f, -9.379352465e-04f, -9.502131224e-04f, -9.624887270e-04f, -9.747620392e-04f, -9.870330379e-04f, -9.993017021e-04f, -1.011568011e-03f,
+-1.023831943e-03f, -1.036093477e-03f, -1.048352592e-03f, -1.060609267e-03f, -1.072863482e-03f, -1.085115214e-03f, -1.097364444e-03f, -1.109611149e-03f, -1.121855310e-03f, -1.134096904e-03f,
+-1.146335911e-03f, -1.158572310e-03f, -1.170806080e-03f, -1.183037200e-03f, -1.195265649e-03f, -1.207491405e-03f, -1.219714449e-03f, -1.231934758e-03f, -1.244152312e-03f, -1.256367091e-03f,
+-1.268579072e-03f, -1.280788235e-03f, -1.292994560e-03f, -1.305198024e-03f, -1.317398608e-03f, -1.329596290e-03f, -1.341791050e-03f, -1.353982866e-03f, -1.366171717e-03f, -1.378357584e-03f,
+-1.390540443e-03f, -1.402720276e-03f, -1.414897061e-03f, -1.427070777e-03f, -1.439241403e-03f, -1.451408918e-03f, -1.463573302e-03f, -1.475734533e-03f, -1.487892591e-03f, -1.500047456e-03f,
+-1.512199105e-03f, -1.524347518e-03f, -1.536492675e-03f, -1.548634554e-03f, -1.560773136e-03f, -1.572908398e-03f, -1.585040321e-03f, -1.597168883e-03f, -1.609294063e-03f, -1.621415842e-03f,
+-1.633534197e-03f, -1.645649109e-03f, -1.657760557e-03f, -1.669868519e-03f, -1.681972975e-03f, -1.694073905e-03f, -1.706171287e-03f, -1.718265102e-03f, -1.730355327e-03f, -1.742441943e-03f,
+-1.754524929e-03f, -1.766604264e-03f, -1.778679927e-03f, -1.790751898e-03f, -1.802820157e-03f, -1.814884681e-03f, -1.826945452e-03f, -1.839002447e-03f, -1.851055647e-03f, -1.863105031e-03f,
+-1.875150579e-03f, -1.887192268e-03f, -1.899230080e-03f, -1.911263994e-03f, -1.923293988e-03f, -1.935320042e-03f, -1.947342136e-03f, -1.959360249e-03f, -1.971374361e-03f, -1.983384451e-03f,
+-1.995390498e-03f, -2.007392482e-03f, -2.019390382e-03f, -2.031384179e-03f, -2.043373850e-03f, -2.055359377e-03f, -2.067340738e-03f, -2.079317913e-03f, -2.091290881e-03f, -2.103259622e-03f,
+-2.115224116e-03f, -2.127184341e-03f, -2.139140279e-03f, -2.151091907e-03f, -2.163039206e-03f, -2.174982155e-03f, -2.186920735e-03f, -2.198854923e-03f, -2.210784701e-03f, -2.222710048e-03f,
+-2.234630942e-03f, -2.246547365e-03f, -2.258459296e-03f, -2.270366713e-03f, -2.282269598e-03f, -2.294167929e-03f, -2.306061686e-03f, -2.317950849e-03f, -2.329835398e-03f, -2.341715313e-03f,
+-2.353590572e-03f, -2.365461156e-03f, -2.377327044e-03f, -2.389188217e-03f, -2.401044654e-03f, -2.412896335e-03f, -2.424743239e-03f, -2.436585346e-03f, -2.448422636e-03f, -2.460255090e-03f,
+-2.472082686e-03f, -2.483905404e-03f, -2.495723225e-03f, -2.507536128e-03f, -2.519344093e-03f, -2.531147099e-03f, -2.542945128e-03f, -2.554738158e-03f, -2.566526170e-03f, -2.578309142e-03f,
+-2.590087057e-03f, -2.601859892e-03f, -2.613627628e-03f, -2.625390246e-03f, -2.637147724e-03f, -2.648900043e-03f, -2.660647184e-03f, -2.672389125e-03f, -2.684125846e-03f, -2.695857329e-03f,
+-2.707583552e-03f, -2.719304497e-03f, -2.731020142e-03f, -2.742730468e-03f, -2.754435455e-03f, -2.766135082e-03f, -2.777829331e-03f, -2.789518181e-03f, -2.801201612e-03f, -2.812879605e-03f,
+-2.824552138e-03f, -2.836219194e-03f, -2.847880751e-03f, -2.859536789e-03f, -2.871187290e-03f, -2.882832232e-03f, -2.894471597e-03f, -2.906105364e-03f, -2.917733514e-03f, -2.929356026e-03f,
+-2.940972882e-03f, -2.952584060e-03f, -2.964189542e-03f, -2.975789308e-03f, -2.987383338e-03f, -2.998971612e-03f, -3.010554110e-03f, -3.022130813e-03f, -3.033701701e-03f, -3.045266755e-03f,
+-3.056825954e-03f, -3.068379279e-03f, -3.079926710e-03f, -3.091468228e-03f, -3.103003814e-03f, -3.114533446e-03f, -3.126057107e-03f, -3.137574775e-03f, -3.149086433e-03f, -3.160592059e-03f,
+-3.172091635e-03f, -3.183585140e-03f, -3.195072556e-03f, -3.206553863e-03f, -3.218029041e-03f, -3.229498071e-03f, -3.240960933e-03f, -3.252417609e-03f, -3.263868077e-03f, -3.275312319e-03f,
+-3.286750316e-03f, -3.298182047e-03f, -3.309607494e-03f, -3.321026638e-03f, -3.332439458e-03f, -3.343845935e-03f, -3.355246050e-03f, -3.366639784e-03f, -3.378027117e-03f, -3.389408030e-03f,
+-3.400782503e-03f, -3.412150518e-03f, -3.423512055e-03f, -3.434867094e-03f, -3.446215616e-03f, -3.457557603e-03f, -3.468893034e-03f, -3.480221891e-03f, -3.491544154e-03f, -3.502859804e-03f,
+-3.514168822e-03f, -3.525471189e-03f, -3.536766885e-03f, -3.548055892e-03f, -3.559338189e-03f, -3.570613759e-03f, -3.581882581e-03f, -3.593144638e-03f, -3.604399909e-03f, -3.615648375e-03f,
+-3.626890018e-03f, -3.638124818e-03f, -3.649352757e-03f, -3.660573815e-03f, -3.671787973e-03f, -3.682995212e-03f, -3.694195513e-03f, -3.705388858e-03f, -3.716575227e-03f, -3.727754601e-03f,
+-3.738926961e-03f, -3.750092289e-03f, -3.761250565e-03f, -3.772401771e-03f, -3.783545887e-03f, -3.794682895e-03f, -3.805812776e-03f, -3.816935511e-03f, -3.828051081e-03f, -3.839159467e-03f,
+-3.850260651e-03f, -3.861354614e-03f, -3.872441336e-03f, -3.883520799e-03f, -3.894592985e-03f, -3.905657874e-03f, -3.916715448e-03f, -3.927765688e-03f, -3.938808575e-03f, -3.949844091e-03f,
+-3.960872217e-03f, -3.971892934e-03f, -3.982906224e-03f, -3.993912068e-03f, -4.004910447e-03f, -4.015901343e-03f, -4.026884737e-03f, -4.037860611e-03f, -4.048828946e-03f, -4.059789723e-03f,
+-4.070742923e-03f, -4.081688529e-03f, -4.092626522e-03f, -4.103556884e-03f, -4.114479594e-03f, -4.125394637e-03f, -4.136301992e-03f, -4.147201641e-03f, -4.158093567e-03f, -4.168977750e-03f,
+-4.179854172e-03f, -4.190722814e-03f, -4.201583660e-03f, -4.212436689e-03f, -4.223281883e-03f, -4.234119226e-03f, -4.244948697e-03f, -4.255770278e-03f, -4.266583952e-03f, -4.277389700e-03f,
+-4.288187504e-03f, -4.298977346e-03f, -4.309759207e-03f, -4.320533069e-03f, -4.331298914e-03f, -4.342056724e-03f, -4.352806480e-03f, -4.363548165e-03f, -4.374281760e-03f, -4.385007247e-03f,
+-4.395724608e-03f, -4.406433825e-03f, -4.417134880e-03f, -4.427827754e-03f, -4.438512430e-03f, -4.449188890e-03f, -4.459857116e-03f, -4.470517089e-03f, -4.481168792e-03f, -4.491812207e-03f,
+-4.502447315e-03f, -4.513074099e-03f, -4.523692540e-03f, -4.534302622e-03f, -4.544904326e-03f, -4.555497633e-03f, -4.566082527e-03f, -4.576658990e-03f, -4.587227003e-03f, -4.597786548e-03f,
+-4.608337609e-03f, -4.618880166e-03f, -4.629414203e-03f, -4.639939701e-03f, -4.650456644e-03f, -4.660965012e-03f, -4.671464789e-03f, -4.681955956e-03f, -4.692438496e-03f, -4.702912392e-03f,
+-4.713377625e-03f, -4.723834178e-03f, -4.734282034e-03f, -4.744721174e-03f, -4.755151582e-03f, -4.765573239e-03f, -4.775986129e-03f, -4.786390232e-03f, -4.796785533e-03f, -4.807172014e-03f,
+-4.817549656e-03f, -4.827918443e-03f, -4.838278357e-03f, -4.848629380e-03f, -4.858971496e-03f, -4.869304687e-03f, -4.879628935e-03f, -4.889944222e-03f, -4.900250533e-03f, -4.910547849e-03f,
+-4.920836153e-03f, -4.931115427e-03f, -4.941385655e-03f, -4.951646819e-03f, -4.961898901e-03f, -4.972141886e-03f, -4.982375754e-03f, -4.992600490e-03f, -5.002816075e-03f, -5.013022494e-03f,
+-5.023219728e-03f, -5.033407760e-03f, -5.043586573e-03f, -5.053756151e-03f, -5.063916476e-03f, -5.074067531e-03f, -5.084209299e-03f, -5.094341762e-03f, -5.104464905e-03f, -5.114578709e-03f,
+-5.124683159e-03f, -5.134778236e-03f, -5.144863924e-03f, -5.154940206e-03f, -5.165007065e-03f, -5.175064484e-03f, -5.185112446e-03f, -5.195150935e-03f, -5.205179933e-03f, -5.215199424e-03f,
+-5.225209391e-03f, -5.235209817e-03f, -5.245200685e-03f, -5.255181979e-03f, -5.265153681e-03f, -5.275115775e-03f, -5.285068244e-03f, -5.295011072e-03f, -5.304944242e-03f, -5.314867737e-03f,
+-5.324781541e-03f, -5.334685637e-03f, -5.344580008e-03f, -5.354464637e-03f, -5.364339509e-03f, -5.374204606e-03f, -5.384059912e-03f, -5.393905411e-03f, -5.403741086e-03f, -5.413566920e-03f,
+-5.423382898e-03f, -5.433189002e-03f, -5.442985216e-03f, -5.452771524e-03f, -5.462547909e-03f, -5.472314355e-03f, -5.482070845e-03f, -5.491817364e-03f, -5.501553895e-03f, -5.511280421e-03f,
+-5.520996927e-03f, -5.530703395e-03f, -5.540399811e-03f, -5.550086157e-03f, -5.559762417e-03f, -5.569428575e-03f, -5.579084616e-03f, -5.588730522e-03f, -5.598366277e-03f, -5.607991866e-03f,
+-5.617607273e-03f, -5.627212480e-03f, -5.636807473e-03f, -5.646392235e-03f, -5.655966751e-03f, -5.665531003e-03f, -5.675084976e-03f, -5.684628655e-03f, -5.694162023e-03f, -5.703685064e-03f,
+-5.713197762e-03f, -5.722700101e-03f, -5.732192066e-03f, -5.741673641e-03f, -5.751144810e-03f, -5.760605556e-03f, -5.770055865e-03f, -5.779495719e-03f, -5.788925105e-03f, -5.798344005e-03f,
+-5.807752405e-03f, -5.817150287e-03f, -5.826537638e-03f, -5.835914440e-03f, -5.845280679e-03f, -5.854636338e-03f, -5.863981402e-03f, -5.873315856e-03f, -5.882639684e-03f, -5.891952870e-03f,
+-5.901255399e-03f, -5.910547255e-03f, -5.919828423e-03f, -5.929098887e-03f, -5.938358631e-03f, -5.947607641e-03f, -5.956845901e-03f, -5.966073396e-03f, -5.975290109e-03f, -5.984496026e-03f,
+-5.993691132e-03f, -6.002875411e-03f, -6.012048847e-03f, -6.021211426e-03f, -6.030363131e-03f, -6.039503949e-03f, -6.048633864e-03f, -6.057752859e-03f, -6.066860922e-03f, -6.075958035e-03f,
+-6.085044184e-03f, -6.094119354e-03f, -6.103183529e-03f, -6.112236695e-03f, -6.121278837e-03f, -6.130309938e-03f, -6.139329986e-03f, -6.148338963e-03f, -6.157336856e-03f, -6.166323650e-03f,
+-6.175299329e-03f, -6.184263878e-03f, -6.193217283e-03f, -6.202159528e-03f, -6.211090600e-03f, -6.220010482e-03f, -6.228919160e-03f, -6.237816620e-03f, -6.246702846e-03f, -6.255577824e-03f,
+-6.264441539e-03f, -6.273293976e-03f, -6.282135120e-03f, -6.290964957e-03f, -6.299783473e-03f, -6.308590652e-03f, -6.317386479e-03f, -6.326170941e-03f, -6.334944022e-03f, -6.343705709e-03f,
+-6.352455986e-03f, -6.361194839e-03f, -6.369922253e-03f, -6.378638214e-03f, -6.387342708e-03f, -6.396035720e-03f, -6.404717235e-03f, -6.413387240e-03f, -6.422045719e-03f, -6.430692658e-03f,
+-6.439328044e-03f, -6.447951862e-03f, -6.456564096e-03f, -6.465164734e-03f, -6.473753761e-03f, -6.482331163e-03f, -6.490896925e-03f, -6.499451033e-03f, -6.507993473e-03f, -6.516524231e-03f,
+-6.525043293e-03f, -6.533550644e-03f, -6.542046271e-03f, -6.550530159e-03f, -6.559002294e-03f, -6.567462663e-03f, -6.575911251e-03f, -6.584348045e-03f, -6.592773030e-03f, -6.601186192e-03f,
+-6.609587517e-03f, -6.617976993e-03f, -6.626354603e-03f, -6.634720336e-03f, -6.643074177e-03f, -6.651416111e-03f, -6.659746126e-03f, -6.668064208e-03f, -6.676370342e-03f, -6.684664515e-03f,
+-6.692946714e-03f, -6.701216924e-03f, -6.709475133e-03f, -6.717721325e-03f, -6.725955488e-03f, -6.734177608e-03f, -6.742387672e-03f, -6.750585666e-03f, -6.758771576e-03f, -6.766945388e-03f,
+-6.775107090e-03f, -6.783256668e-03f, -6.791394108e-03f, -6.799519397e-03f, -6.807632522e-03f, -6.815733469e-03f, -6.823822224e-03f, -6.831898775e-03f, -6.839963108e-03f, -6.848015210e-03f,
+-6.856055067e-03f, -6.864082667e-03f, -6.872097995e-03f, -6.880101039e-03f, -6.888091786e-03f, -6.896070222e-03f, -6.904036334e-03f, -6.911990109e-03f, -6.919931535e-03f, -6.927860597e-03f,
+-6.935777283e-03f, -6.943681580e-03f, -6.951573474e-03f, -6.959452954e-03f, -6.967320005e-03f, -6.975174614e-03f, -6.983016770e-03f, -6.990846459e-03f, -6.998663668e-03f, -7.006468384e-03f,
+-7.014260594e-03f, -7.022040286e-03f, -7.029807446e-03f, -7.037562063e-03f, -7.045304123e-03f, -7.053033613e-03f, -7.060750521e-03f, -7.068454834e-03f, -7.076146539e-03f, -7.083825625e-03f,
+-7.091492077e-03f, -7.099145884e-03f, -7.106787033e-03f, -7.114415511e-03f, -7.122031306e-03f, -7.129634405e-03f, -7.137224797e-03f, -7.144802468e-03f, -7.152367405e-03f, -7.159919598e-03f,
+-7.167459032e-03f, -7.174985696e-03f, -7.182499578e-03f, -7.190000665e-03f, -7.197488944e-03f, -7.204964404e-03f, -7.212427033e-03f, -7.219876817e-03f, -7.227313745e-03f, -7.234737805e-03f,
+-7.242148984e-03f, -7.249547270e-03f, -7.256932652e-03f, -7.264305117e-03f, -7.271664652e-03f, -7.279011247e-03f, -7.286344889e-03f, -7.293665565e-03f, -7.300973265e-03f, -7.308267975e-03f,
+-7.315549684e-03f, -7.322818381e-03f, -7.330074052e-03f, -7.337316687e-03f, -7.344546274e-03f, -7.351762800e-03f, -7.358966254e-03f, -7.366156624e-03f, -7.373333898e-03f, -7.380498066e-03f,
+-7.387649113e-03f, -7.394787031e-03f, -7.401911805e-03f, -7.409023426e-03f, -7.416121881e-03f, -7.423207158e-03f, -7.430279247e-03f, -7.437338136e-03f, -7.444383812e-03f, -7.451416265e-03f,
+-7.458435483e-03f, -7.465441455e-03f, -7.472434169e-03f, -7.479413614e-03f, -7.486379778e-03f, -7.493332650e-03f, -7.500272219e-03f, -7.507198474e-03f, -7.514111402e-03f, -7.521010994e-03f,
+-7.527897237e-03f, -7.534770121e-03f, -7.541629634e-03f, -7.548475765e-03f, -7.555308503e-03f, -7.562127837e-03f, -7.568933755e-03f, -7.575726247e-03f, -7.582505302e-03f, -7.589270908e-03f,
+-7.596023055e-03f, -7.602761731e-03f, -7.609486926e-03f, -7.616198629e-03f, -7.622896829e-03f, -7.629581514e-03f, -7.636252675e-03f, -7.642910300e-03f, -7.649554378e-03f, -7.656184899e-03f,
+-7.662801852e-03f, -7.669405225e-03f, -7.675995010e-03f, -7.682571194e-03f, -7.689133767e-03f, -7.695682718e-03f, -7.702218037e-03f, -7.708739714e-03f, -7.715247737e-03f, -7.721742096e-03f,
+-7.728222781e-03f, -7.734689780e-03f, -7.741143085e-03f, -7.747582683e-03f, -7.754008565e-03f, -7.760420721e-03f, -7.766819139e-03f, -7.773203810e-03f, -7.779574724e-03f, -7.785931869e-03f,
+-7.792275236e-03f, -7.798604814e-03f, -7.804920594e-03f, -7.811222564e-03f, -7.817510716e-03f, -7.823785038e-03f, -7.830045520e-03f, -7.836292153e-03f, -7.842524926e-03f, -7.848743829e-03f,
+-7.854948853e-03f, -7.861139987e-03f, -7.867317221e-03f, -7.873480545e-03f, -7.879629950e-03f, -7.885765425e-03f, -7.891886960e-03f, -7.897994547e-03f, -7.904088174e-03f, -7.910167832e-03f,
+-7.916233511e-03f, -7.922285202e-03f, -7.928322894e-03f, -7.934346578e-03f, -7.940356245e-03f, -7.946351884e-03f, -7.952333486e-03f, -7.958301042e-03f, -7.964254541e-03f, -7.970193975e-03f,
+-7.976119333e-03f, -7.982030607e-03f, -7.987927786e-03f, -7.993810861e-03f, -7.999679823e-03f, -8.005534662e-03f, -8.011375370e-03f, -8.017201935e-03f, -8.023014351e-03f, -8.028812605e-03f,
+-8.034596691e-03f, -8.040366598e-03f, -8.046122317e-03f, -8.051863839e-03f, -8.057591154e-03f, -8.063304254e-03f, -8.069003129e-03f, -8.074687771e-03f, -8.080358170e-03f, -8.086014317e-03f,
+-8.091656203e-03f, -8.097283818e-03f, -8.102897155e-03f, -8.108496204e-03f, -8.114080956e-03f, -8.119651403e-03f, -8.125207534e-03f, -8.130749342e-03f, -8.136276818e-03f, -8.141789952e-03f,
+-8.147288736e-03f, -8.152773162e-03f, -8.158243220e-03f, -8.163698902e-03f, -8.169140199e-03f, -8.174567102e-03f, -8.179979603e-03f, -8.185377693e-03f, -8.190761364e-03f, -8.196130606e-03f,
+-8.201485412e-03f, -8.206825773e-03f, -8.212151681e-03f, -8.217463126e-03f, -8.222760101e-03f, -8.228042597e-03f, -8.233310606e-03f, -8.238564119e-03f, -8.243803128e-03f, -8.249027625e-03f,
+-8.254237602e-03f, -8.259433049e-03f, -8.264613960e-03f, -8.269780325e-03f, -8.274932137e-03f, -8.280069387e-03f, -8.285192068e-03f, -8.290300171e-03f, -8.295393688e-03f, -8.300472610e-03f,
+-8.305536931e-03f, -8.310586642e-03f, -8.315621735e-03f, -8.320642202e-03f, -8.325648035e-03f, -8.330639226e-03f, -8.335615768e-03f, -8.340577652e-03f, -8.345524871e-03f, -8.350457417e-03f,
+-8.355375281e-03f, -8.360278458e-03f, -8.365166938e-03f, -8.370040713e-03f, -8.374899777e-03f, -8.379744122e-03f, -8.384573740e-03f, -8.389388623e-03f, -8.394188764e-03f, -8.398974156e-03f,
+-8.403744790e-03f, -8.408500659e-03f, -8.413241757e-03f, -8.417968075e-03f, -8.422679606e-03f, -8.427376342e-03f, -8.432058277e-03f, -8.436725402e-03f, -8.441377712e-03f, -8.446015197e-03f,
+-8.450637852e-03f, -8.455245669e-03f, -8.459838640e-03f, -8.464416759e-03f, -8.468980018e-03f, -8.473528410e-03f, -8.478061928e-03f, -8.482580566e-03f, -8.487084315e-03f, -8.491573170e-03f,
+-8.496047122e-03f, -8.500506165e-03f, -8.504950293e-03f, -8.509379497e-03f, -8.513793772e-03f, -8.518193110e-03f, -8.522577505e-03f, -8.526946949e-03f, -8.531301437e-03f, -8.535640960e-03f,
+-8.539965513e-03f, -8.544275089e-03f, -8.548569681e-03f, -8.552849282e-03f, -8.557113887e-03f, -8.561363487e-03f, -8.565598077e-03f, -8.569817650e-03f, -8.574022199e-03f, -8.578211719e-03f,
+-8.582386202e-03f, -8.586545642e-03f, -8.590690033e-03f, -8.594819368e-03f, -8.598933642e-03f, -8.603032846e-03f, -8.607116977e-03f, -8.611186026e-03f, -8.615239988e-03f, -8.619278856e-03f,
+-8.623302625e-03f, -8.627311288e-03f, -8.631304838e-03f, -8.635283271e-03f, -8.639246580e-03f, -8.643194758e-03f, -8.647127799e-03f, -8.651045699e-03f, -8.654948450e-03f, -8.658836046e-03f,
+-8.662708482e-03f, -8.666565752e-03f, -8.670407850e-03f, -8.674234770e-03f, -8.678046506e-03f, -8.681843053e-03f, -8.685624404e-03f, -8.689390554e-03f, -8.693141497e-03f, -8.696877227e-03f,
+-8.700597739e-03f, -8.704303028e-03f, -8.707993086e-03f, -8.711667910e-03f, -8.715327492e-03f, -8.718971829e-03f, -8.722600914e-03f, -8.726214741e-03f, -8.729813306e-03f, -8.733396602e-03f,
+-8.736964625e-03f, -8.740517369e-03f, -8.744054829e-03f, -8.747576999e-03f, -8.751083874e-03f, -8.754575448e-03f, -8.758051718e-03f, -8.761512676e-03f, -8.764958319e-03f, -8.768388640e-03f,
+-8.771803635e-03f, -8.775203299e-03f, -8.778587627e-03f, -8.781956613e-03f, -8.785310252e-03f, -8.788648540e-03f, -8.791971471e-03f, -8.795279041e-03f, -8.798571244e-03f, -8.801848076e-03f,
+-8.805109532e-03f, -8.808355607e-03f, -8.811586296e-03f, -8.814801594e-03f, -8.818001497e-03f, -8.821185999e-03f, -8.824355097e-03f, -8.827508785e-03f, -8.830647059e-03f, -8.833769913e-03f,
+-8.836877345e-03f, -8.839969348e-03f, -8.843045919e-03f, -8.846107052e-03f, -8.849152744e-03f, -8.852182990e-03f, -8.855197785e-03f, -8.858197125e-03f, -8.861181005e-03f, -8.864149422e-03f,
+-8.867102371e-03f, -8.870039848e-03f, -8.872961847e-03f, -8.875868366e-03f, -8.878759399e-03f, -8.881634944e-03f, -8.884494994e-03f, -8.887339547e-03f, -8.890168598e-03f, -8.892982143e-03f,
+-8.895780178e-03f, -8.898562699e-03f, -8.901329702e-03f, -8.904081183e-03f, -8.906817137e-03f, -8.909537562e-03f, -8.912242453e-03f, -8.914931806e-03f, -8.917605618e-03f, -8.920263884e-03f,
+-8.922906601e-03f, -8.925533765e-03f, -8.928145372e-03f, -8.930741419e-03f, -8.933321902e-03f, -8.935886816e-03f, -8.938436160e-03f, -8.940969928e-03f, -8.943488118e-03f, -8.945990725e-03f,
+-8.948477747e-03f, -8.950949179e-03f, -8.953405019e-03f, -8.955845262e-03f, -8.958269907e-03f, -8.960678948e-03f, -8.963072382e-03f, -8.965450207e-03f, -8.967812419e-03f, -8.970159015e-03f,
+-8.972489991e-03f, -8.974805345e-03f, -8.977105073e-03f, -8.979389171e-03f, -8.981657637e-03f, -8.983910468e-03f, -8.986147660e-03f, -8.988369211e-03f, -8.990575117e-03f, -8.992765375e-03f,
+-8.994939983e-03f, -8.997098937e-03f, -8.999242235e-03f, -9.001369874e-03f, -9.003481850e-03f, -9.005578161e-03f, -9.007658804e-03f, -9.009723776e-03f, -9.011773075e-03f, -9.013806697e-03f,
+-9.015824641e-03f, -9.017826903e-03f, -9.019813481e-03f, -9.021784371e-03f, -9.023739572e-03f, -9.025679081e-03f, -9.027602896e-03f, -9.029511013e-03f, -9.031403430e-03f, -9.033280146e-03f,
+-9.035141156e-03f, -9.036986460e-03f, -9.038816054e-03f, -9.040629937e-03f, -9.042428105e-03f, -9.044210557e-03f, -9.045977291e-03f, -9.047728303e-03f, -9.049463592e-03f, -9.051183156e-03f,
+-9.052886992e-03f, -9.054575099e-03f, -9.056247474e-03f, -9.057904115e-03f, -9.059545020e-03f, -9.061170188e-03f, -9.062779615e-03f, -9.064373300e-03f, -9.065951242e-03f, -9.067513438e-03f,
+-9.069059885e-03f, -9.070590584e-03f, -9.072105531e-03f, -9.073604725e-03f, -9.075088163e-03f, -9.076555845e-03f, -9.078007769e-03f, -9.079443932e-03f, -9.080864334e-03f, -9.082268971e-03f,
+-9.083657844e-03f, -9.085030950e-03f, -9.086388288e-03f, -9.087729856e-03f, -9.089055652e-03f, -9.090365675e-03f, -9.091659925e-03f, -9.092938398e-03f, -9.094201095e-03f, -9.095448012e-03f,
+-9.096679150e-03f, -9.097894507e-03f, -9.099094081e-03f, -9.100277872e-03f, -9.101445877e-03f, -9.102598096e-03f, -9.103734528e-03f, -9.104855172e-03f, -9.105960025e-03f, -9.107049088e-03f,
+-9.108122359e-03f, -9.109179837e-03f, -9.110221521e-03f, -9.111247410e-03f, -9.112257503e-03f, -9.113251800e-03f, -9.114230299e-03f, -9.115192999e-03f, -9.116139899e-03f, -9.117070999e-03f,
+-9.117986298e-03f, -9.118885796e-03f, -9.119769490e-03f, -9.120637381e-03f, -9.121489468e-03f, -9.122325751e-03f, -9.123146228e-03f, -9.123950899e-03f, -9.124739763e-03f, -9.125512820e-03f,
+-9.126270070e-03f, -9.127011512e-03f, -9.127737145e-03f, -9.128446968e-03f, -9.129140983e-03f, -9.129819187e-03f, -9.130481581e-03f, -9.131128165e-03f, -9.131758938e-03f, -9.132373899e-03f,
+-9.132973049e-03f, -9.133556388e-03f, -9.134123914e-03f, -9.134675629e-03f, -9.135211531e-03f, -9.135731621e-03f, -9.136235899e-03f, -9.136724364e-03f, -9.137197016e-03f, -9.137653857e-03f,
+-9.138094884e-03f, -9.138520099e-03f, -9.138929502e-03f, -9.139323093e-03f, -9.139700871e-03f, -9.140062837e-03f, -9.140408992e-03f, -9.140739335e-03f, -9.141053866e-03f, -9.141352587e-03f,
+-9.141635496e-03f, -9.141902595e-03f, -9.142153884e-03f, -9.142389363e-03f, -9.142609033e-03f, -9.142812894e-03f, -9.143000946e-03f, -9.143173191e-03f, -9.143329627e-03f, -9.143470257e-03f,
+-9.143595080e-03f, -9.143704098e-03f, -9.143797310e-03f, -9.143874718e-03f, -9.143936322e-03f, -9.143982122e-03f, -9.144012120e-03f, -9.144026317e-03f, -9.144024712e-03f, -9.144007308e-03f,
+-9.143974104e-03f, -9.143925102e-03f, -9.143860302e-03f, -9.143779705e-03f, -9.143683313e-03f, -9.143571126e-03f, -9.143443146e-03f, -9.143299373e-03f, -9.143139808e-03f, -9.142964452e-03f,
+-9.142773307e-03f, -9.142566374e-03f, -9.142343654e-03f, -9.142105148e-03f, -9.141850857e-03f, -9.141580783e-03f, -9.141294926e-03f, -9.140993288e-03f, -9.140675871e-03f, -9.140342676e-03f,
+-9.139993704e-03f, -9.139628956e-03f, -9.139248435e-03f, -9.138852140e-03f, -9.138440075e-03f, -9.138012240e-03f, -9.137568637e-03f, -9.137109268e-03f, -9.136634134e-03f, -9.136143237e-03f,
+-9.135636578e-03f, -9.135114159e-03f, -9.134575982e-03f, -9.134022049e-03f, -9.133452361e-03f, -9.132866920e-03f, -9.132265728e-03f, -9.131648787e-03f, -9.131016098e-03f, -9.130367664e-03f,
+-9.129703486e-03f, -9.129023567e-03f, -9.128327908e-03f, -9.127616512e-03f, -9.126889380e-03f, -9.126146514e-03f, -9.125387917e-03f, -9.124613591e-03f, -9.123823538e-03f, -9.123017759e-03f,
+-9.122196258e-03f, -9.121359036e-03f, -9.120506095e-03f, -9.119637439e-03f, -9.118753069e-03f, -9.117852987e-03f, -9.116937197e-03f, -9.116005699e-03f, -9.115058497e-03f, -9.114095594e-03f,
+-9.113116991e-03f, -9.112122691e-03f, -9.111112697e-03f, -9.110087010e-03f, -9.109045635e-03f, -9.107988573e-03f, -9.106915827e-03f, -9.105827399e-03f, -9.104723293e-03f, -9.103603511e-03f,
+-9.102468055e-03f, -9.101316929e-03f, -9.100150135e-03f, -9.098967677e-03f, -9.097769556e-03f, -9.096555776e-03f, -9.095326340e-03f, -9.094081250e-03f, -9.092820510e-03f, -9.091544122e-03f,
+-9.090252090e-03f, -9.088944417e-03f, -9.087621105e-03f, -9.086282158e-03f, -9.084927578e-03f, -9.083557370e-03f, -9.082171536e-03f, -9.080770079e-03f, -9.079353003e-03f, -9.077920310e-03f,
+-9.076472005e-03f, -9.075008089e-03f, -9.073528568e-03f, -9.072033443e-03f, -9.070522719e-03f, -9.068996399e-03f, -9.067454486e-03f, -9.065896984e-03f, -9.064323895e-03f, -9.062735225e-03f,
+-9.061130976e-03f, -9.059511151e-03f, -9.057875755e-03f, -9.056224791e-03f, -9.054558263e-03f, -9.052876174e-03f, -9.051178528e-03f, -9.049465328e-03f, -9.047736580e-03f, -9.045992285e-03f,
+-9.044232449e-03f, -9.042457074e-03f, -9.040666166e-03f, -9.038859727e-03f, -9.037037761e-03f, -9.035200273e-03f, -9.033347267e-03f, -9.031478746e-03f, -9.029594715e-03f, -9.027695177e-03f,
+-9.025780136e-03f, -9.023849598e-03f, -9.021903565e-03f, -9.019942042e-03f, -9.017965034e-03f, -9.015972544e-03f, -9.013964576e-03f, -9.011941136e-03f, -9.009902226e-03f, -9.007847852e-03f,
+-9.005778018e-03f, -9.003692727e-03f, -9.001591986e-03f, -8.999475797e-03f, -8.997344166e-03f, -8.995197097e-03f, -8.993034594e-03f, -8.990856662e-03f, -8.988663305e-03f, -8.986454529e-03f,
+-8.984230337e-03f, -8.981990734e-03f, -8.979735726e-03f, -8.977465315e-03f, -8.975179509e-03f, -8.972878310e-03f, -8.970561724e-03f, -8.968229755e-03f, -8.965882409e-03f, -8.963519690e-03f,
+-8.961141604e-03f, -8.958748154e-03f, -8.956339346e-03f, -8.953915185e-03f, -8.951475676e-03f, -8.949020824e-03f, -8.946550633e-03f, -8.944065110e-03f, -8.941564258e-03f, -8.939048084e-03f,
+-8.936516591e-03f, -8.933969786e-03f, -8.931407674e-03f, -8.928830259e-03f, -8.926237548e-03f, -8.923629544e-03f, -8.921006254e-03f, -8.918367683e-03f, -8.915713836e-03f, -8.913044718e-03f,
+-8.910360336e-03f, -8.907660694e-03f, -8.904945797e-03f, -8.902215652e-03f, -8.899470264e-03f, -8.896709637e-03f, -8.893933779e-03f, -8.891142694e-03f, -8.888336388e-03f, -8.885514867e-03f,
+-8.882678135e-03f, -8.879826200e-03f, -8.876959066e-03f, -8.874076740e-03f, -8.871179227e-03f, -8.868266533e-03f, -8.865338663e-03f, -8.862395624e-03f, -8.859437421e-03f, -8.856464061e-03f,
+-8.853475548e-03f, -8.850471890e-03f, -8.847453092e-03f, -8.844419160e-03f, -8.841370100e-03f, -8.838305918e-03f, -8.835226621e-03f, -8.832132213e-03f, -8.829022702e-03f, -8.825898094e-03f,
+-8.822758394e-03f, -8.819603609e-03f, -8.816433745e-03f, -8.813248809e-03f, -8.810048806e-03f, -8.806833743e-03f, -8.803603626e-03f, -8.800358462e-03f, -8.797098257e-03f, -8.793823017e-03f,
+-8.790532749e-03f, -8.787227459e-03f, -8.783907154e-03f, -8.780571840e-03f, -8.777221524e-03f, -8.773856212e-03f, -8.770475911e-03f, -8.767080628e-03f, -8.763670368e-03f, -8.760245140e-03f,
+-8.756804948e-03f, -8.753349801e-03f, -8.749879705e-03f, -8.746394667e-03f, -8.742894692e-03f, -8.739379789e-03f, -8.735849964e-03f, -8.732305224e-03f, -8.728745576e-03f, -8.725171027e-03f,
+-8.721581583e-03f, -8.717977252e-03f, -8.714358040e-03f, -8.710723955e-03f, -8.707075003e-03f, -8.703411193e-03f, -8.699732530e-03f, -8.696039022e-03f, -8.692330676e-03f, -8.688607499e-03f,
+-8.684869498e-03f, -8.681116681e-03f, -8.677349055e-03f, -8.673566627e-03f, -8.669769405e-03f, -8.665957395e-03f, -8.662130605e-03f, -8.658289043e-03f, -8.654432715e-03f, -8.650561629e-03f,
+-8.646675794e-03f, -8.642775215e-03f, -8.638859901e-03f, -8.634929859e-03f, -8.630985097e-03f, -8.627025622e-03f, -8.623051441e-03f, -8.619062564e-03f, -8.615058996e-03f, -8.611040746e-03f,
+-8.607007821e-03f, -8.602960230e-03f, -8.598897979e-03f, -8.594821077e-03f, -8.590729532e-03f, -8.586623350e-03f, -8.582502541e-03f, -8.578367112e-03f, -8.574217071e-03f, -8.570052425e-03f,
+-8.565873183e-03f, -8.561679353e-03f, -8.557470942e-03f, -8.553247959e-03f, -8.549010412e-03f, -8.544758309e-03f, -8.540491657e-03f, -8.536210465e-03f, -8.531914742e-03f, -8.527604494e-03f,
+-8.523279732e-03f, -8.518940461e-03f, -8.514586692e-03f, -8.510218432e-03f, -8.505835689e-03f, -8.501438472e-03f, -8.497026789e-03f, -8.492600649e-03f, -8.488160059e-03f, -8.483705029e-03f,
+-8.479235566e-03f, -8.474751680e-03f, -8.470253378e-03f, -8.465740669e-03f, -8.461213562e-03f, -8.456672065e-03f, -8.452116187e-03f, -8.447545936e-03f, -8.442961321e-03f, -8.438362351e-03f,
+-8.433749034e-03f, -8.429121379e-03f, -8.424479395e-03f, -8.419823091e-03f, -8.415152474e-03f, -8.410467555e-03f, -8.405768342e-03f, -8.401054844e-03f, -8.396327069e-03f, -8.391585026e-03f,
+-8.386828725e-03f, -8.382058175e-03f, -8.377273384e-03f, -8.372474361e-03f, -8.367661116e-03f, -8.362833657e-03f, -8.357991993e-03f, -8.353136134e-03f, -8.348266089e-03f, -8.343381866e-03f,
+-8.338483475e-03f, -8.333570926e-03f, -8.328644227e-03f, -8.323703387e-03f, -8.318748417e-03f, -8.313779324e-03f, -8.308796119e-03f, -8.303798811e-03f, -8.298787408e-03f, -8.293761922e-03f,
+-8.288722360e-03f, -8.283668732e-03f, -8.278601048e-03f, -8.273519318e-03f, -8.268423550e-03f, -8.263313754e-03f, -8.258189941e-03f, -8.253052118e-03f, -8.247900296e-03f, -8.242734485e-03f,
+-8.237554695e-03f, -8.232360934e-03f, -8.227153212e-03f, -8.221931540e-03f, -8.216695927e-03f, -8.211446382e-03f, -8.206182916e-03f, -8.200905539e-03f, -8.195614259e-03f, -8.190309088e-03f,
+-8.184990034e-03f, -8.179657108e-03f, -8.174310320e-03f, -8.168949679e-03f, -8.163575196e-03f, -8.158186881e-03f, -8.152784743e-03f, -8.147368793e-03f, -8.141939040e-03f, -8.136495496e-03f,
+-8.131038169e-03f, -8.125567070e-03f, -8.120082209e-03f, -8.114583597e-03f, -8.109071243e-03f, -8.103545158e-03f, -8.098005352e-03f, -8.092451835e-03f, -8.086884618e-03f, -8.081303711e-03f,
+-8.075709123e-03f, -8.070100867e-03f, -8.064478951e-03f, -8.058843387e-03f, -8.053194185e-03f, -8.047531355e-03f, -8.041854908e-03f, -8.036164854e-03f, -8.030461203e-03f, -8.024743967e-03f,
+-8.019013156e-03f, -8.013268781e-03f, -8.007510851e-03f, -8.001739379e-03f, -7.995954373e-03f, -7.990155846e-03f, -7.984343808e-03f, -7.978518269e-03f, -7.972679240e-03f, -7.966826732e-03f,
+-7.960960756e-03f, -7.955081323e-03f, -7.949188443e-03f, -7.943282128e-03f, -7.937362388e-03f, -7.931429234e-03f, -7.925482677e-03f, -7.919522729e-03f, -7.913549399e-03f, -7.907562699e-03f,
+-7.901562641e-03f, -7.895549234e-03f, -7.889522491e-03f, -7.883482422e-03f, -7.877429038e-03f, -7.871362351e-03f, -7.865282372e-03f, -7.859189111e-03f, -7.853082580e-03f, -7.846962791e-03f,
+-7.840829754e-03f, -7.834683481e-03f, -7.828523984e-03f, -7.822351272e-03f, -7.816165359e-03f, -7.809966254e-03f, -7.803753970e-03f, -7.797528518e-03f, -7.791289909e-03f, -7.785038155e-03f,
+-7.778773267e-03f, -7.772495257e-03f, -7.766204136e-03f, -7.759899916e-03f, -7.753582608e-03f, -7.747252224e-03f, -7.740908776e-03f, -7.734552275e-03f, -7.728182732e-03f, -7.721800160e-03f,
+-7.715404571e-03f, -7.708995975e-03f, -7.702574384e-03f, -7.696139812e-03f, -7.689692268e-03f, -7.683231765e-03f, -7.676758315e-03f, -7.670271929e-03f, -7.663772620e-03f, -7.657260400e-03f,
+-7.650735279e-03f, -7.644197271e-03f, -7.637646387e-03f, -7.631082639e-03f, -7.624506039e-03f, -7.617916599e-03f, -7.611314331e-03f, -7.604699248e-03f, -7.598071361e-03f, -7.591430682e-03f,
+-7.584777224e-03f, -7.578110999e-03f, -7.571432018e-03f, -7.564740294e-03f, -7.558035840e-03f, -7.551318667e-03f, -7.544588788e-03f, -7.537846215e-03f, -7.531090960e-03f, -7.524323036e-03f,
+-7.517542454e-03f, -7.510749228e-03f, -7.503943370e-03f, -7.497124892e-03f, -7.490293806e-03f, -7.483450125e-03f, -7.476593862e-03f, -7.469725029e-03f, -7.462843638e-03f, -7.455949702e-03f,
+-7.449043233e-03f, -7.442124245e-03f, -7.435192749e-03f, -7.428248758e-03f, -7.421292285e-03f, -7.414323343e-03f, -7.407341944e-03f, -7.400348101e-03f, -7.393341827e-03f, -7.386323134e-03f,
+-7.379292035e-03f, -7.372248543e-03f, -7.365192671e-03f, -7.358124431e-03f, -7.351043837e-03f, -7.343950901e-03f, -7.336845636e-03f, -7.329728055e-03f, -7.322598171e-03f, -7.315455997e-03f,
+-7.308301545e-03f, -7.301134830e-03f, -7.293955863e-03f, -7.286764659e-03f, -7.279561229e-03f, -7.272345587e-03f, -7.265117746e-03f, -7.257877720e-03f, -7.250625520e-03f, -7.243361162e-03f,
+-7.236084656e-03f, -7.228796018e-03f, -7.221495260e-03f, -7.214182395e-03f, -7.206857436e-03f, -7.199520398e-03f, -7.192171292e-03f, -7.184810133e-03f, -7.177436933e-03f, -7.170051706e-03f,
+-7.162654466e-03f, -7.155245226e-03f, -7.147823999e-03f, -7.140390799e-03f, -7.132945639e-03f, -7.125488532e-03f, -7.118019492e-03f, -7.110538534e-03f, -7.103045669e-03f, -7.095540912e-03f,
+-7.088024276e-03f, -7.080495775e-03f, -7.072955422e-03f, -7.065403232e-03f, -7.057839217e-03f, -7.050263392e-03f, -7.042675769e-03f, -7.035076364e-03f, -7.027465189e-03f, -7.019842258e-03f,
+-7.012207586e-03f, -7.004561185e-03f, -6.996903070e-03f, -6.989233254e-03f, -6.981551752e-03f, -6.973858577e-03f, -6.966153743e-03f, -6.958437264e-03f, -6.950709153e-03f, -6.942969426e-03f,
+-6.935218096e-03f, -6.927455176e-03f, -6.919680681e-03f, -6.911894625e-03f, -6.904097021e-03f, -6.896287885e-03f, -6.888467230e-03f, -6.880635069e-03f, -6.872791418e-03f, -6.864936290e-03f,
+-6.857069700e-03f, -6.849191662e-03f, -6.841302189e-03f, -6.833401296e-03f, -6.825488998e-03f, -6.817565308e-03f, -6.809630241e-03f, -6.801683811e-03f, -6.793726033e-03f, -6.785756920e-03f,
+-6.777776487e-03f, -6.769784749e-03f, -6.761781720e-03f, -6.753767414e-03f, -6.745741845e-03f, -6.737705029e-03f, -6.729656979e-03f, -6.721597711e-03f, -6.713527237e-03f, -6.705445574e-03f,
+-6.697352736e-03f, -6.689248736e-03f, -6.681133590e-03f, -6.673007313e-03f, -6.664869918e-03f, -6.656721421e-03f, -6.648561836e-03f, -6.640391178e-03f, -6.632209461e-03f, -6.624016701e-03f,
+-6.615812911e-03f, -6.607598107e-03f, -6.599372304e-03f, -6.591135516e-03f, -6.582887757e-03f, -6.574629044e-03f, -6.566359390e-03f, -6.558078810e-03f, -6.549787320e-03f, -6.541484934e-03f,
+-6.533171666e-03f, -6.524847533e-03f, -6.516512549e-03f, -6.508166729e-03f, -6.499810088e-03f, -6.491442640e-03f, -6.483064401e-03f, -6.474675386e-03f, -6.466275611e-03f, -6.457865089e-03f,
+-6.449443836e-03f, -6.441011867e-03f, -6.432569197e-03f, -6.424115842e-03f, -6.415651816e-03f, -6.407177136e-03f, -6.398691815e-03f, -6.390195869e-03f, -6.381689313e-03f, -6.373172163e-03f,
+-6.364644433e-03f, -6.356106140e-03f, -6.347557298e-03f, -6.338997923e-03f, -6.330428030e-03f, -6.321847634e-03f, -6.313256751e-03f, -6.304655395e-03f, -6.296043584e-03f, -6.287421331e-03f,
+-6.278788652e-03f, -6.270145563e-03f, -6.261492080e-03f, -6.252828217e-03f, -6.244153990e-03f, -6.235469415e-03f, -6.226774507e-03f, -6.218069282e-03f, -6.209353755e-03f, -6.200627942e-03f,
+-6.191891859e-03f, -6.183145521e-03f, -6.174388943e-03f, -6.165622142e-03f, -6.156845133e-03f, -6.148057932e-03f, -6.139260554e-03f, -6.130453016e-03f, -6.121635332e-03f, -6.112807519e-03f,
+-6.103969592e-03f, -6.095121568e-03f, -6.086263462e-03f, -6.077395289e-03f, -6.068517066e-03f, -6.059628809e-03f, -6.050730533e-03f, -6.041822254e-03f, -6.032903988e-03f, -6.023975752e-03f,
+-6.015037561e-03f, -6.006089430e-03f, -5.997131376e-03f, -5.988163416e-03f, -5.979185564e-03f, -5.970197837e-03f, -5.961200251e-03f, -5.952192822e-03f, -5.943175566e-03f, -5.934148500e-03f,
+-5.925111638e-03f, -5.916064998e-03f, -5.907008595e-03f, -5.897942446e-03f, -5.888866567e-03f, -5.879780973e-03f, -5.870685682e-03f, -5.861580709e-03f, -5.852466071e-03f, -5.843341783e-03f,
+-5.834207863e-03f, -5.825064326e-03f, -5.815911188e-03f, -5.806748467e-03f, -5.797576177e-03f, -5.788394337e-03f, -5.779202961e-03f, -5.770002066e-03f, -5.760791669e-03f, -5.751571786e-03f,
+-5.742342434e-03f, -5.733103629e-03f, -5.723855386e-03f, -5.714597724e-03f, -5.705330658e-03f, -5.696054205e-03f, -5.686768381e-03f, -5.677473203e-03f, -5.668168687e-03f, -5.658854850e-03f,
+-5.649531708e-03f, -5.640199278e-03f, -5.630857577e-03f, -5.621506622e-03f, -5.612146428e-03f, -5.602777012e-03f, -5.593398392e-03f, -5.584010584e-03f, -5.574613604e-03f, -5.565207469e-03f,
+-5.555792196e-03f, -5.546367802e-03f, -5.536934304e-03f, -5.527491717e-03f, -5.518040060e-03f, -5.508579348e-03f, -5.499109598e-03f, -5.489630828e-03f, -5.480143055e-03f, -5.470646294e-03f,
+-5.461140563e-03f, -5.451625879e-03f, -5.442102259e-03f, -5.432569719e-03f, -5.423028277e-03f, -5.413477949e-03f, -5.403918752e-03f, -5.394350704e-03f, -5.384773822e-03f, -5.375188121e-03f,
+-5.365593620e-03f, -5.355990336e-03f, -5.346378285e-03f, -5.336757484e-03f, -5.327127951e-03f, -5.317489702e-03f, -5.307842755e-03f, -5.298187127e-03f, -5.288522835e-03f, -5.278849896e-03f,
+-5.269168327e-03f, -5.259478146e-03f, -5.249779369e-03f, -5.240072014e-03f, -5.230356098e-03f, -5.220631638e-03f, -5.210898652e-03f, -5.201157156e-03f, -5.191407169e-03f, -5.181648706e-03f,
+-5.171881786e-03f, -5.162106426e-03f, -5.152322643e-03f, -5.142530454e-03f, -5.132729877e-03f, -5.122920930e-03f, -5.113103629e-03f, -5.103277992e-03f, -5.093444036e-03f, -5.083601779e-03f,
+-5.073751238e-03f, -5.063892431e-03f, -5.054025374e-03f, -5.044150087e-03f, -5.034266585e-03f, -5.024374887e-03f, -5.014475010e-03f, -5.004566971e-03f, -4.994650789e-03f, -4.984726480e-03f,
+-4.974794062e-03f, -4.964853553e-03f, -4.954904970e-03f, -4.944948332e-03f, -4.934983654e-03f, -4.925010956e-03f, -4.915030255e-03f, -4.905041568e-03f, -4.895044914e-03f, -4.885040309e-03f,
+-4.875027771e-03f, -4.865007319e-03f, -4.854978970e-03f, -4.844942741e-03f, -4.834898651e-03f, -4.824846716e-03f, -4.814786956e-03f, -4.804719387e-03f, -4.794644028e-03f, -4.784560896e-03f,
+-4.774470009e-03f, -4.764371385e-03f, -4.754265042e-03f, -4.744150998e-03f, -4.734029269e-03f, -4.723899875e-03f, -4.713762834e-03f, -4.703618162e-03f, -4.693465879e-03f, -4.683306001e-03f,
+-4.673138548e-03f, -4.662963536e-03f, -4.652780984e-03f, -4.642590910e-03f, -4.632393332e-03f, -4.622188267e-03f, -4.611975735e-03f, -4.601755752e-03f, -4.591528337e-03f, -4.581293508e-03f,
+-4.571051283e-03f, -4.560801680e-03f, -4.550544717e-03f, -4.540280412e-03f, -4.530008783e-03f, -4.519729849e-03f, -4.509443628e-03f, -4.499150137e-03f, -4.488849396e-03f, -4.478541421e-03f,
+-4.468226231e-03f, -4.457903845e-03f, -4.447574280e-03f, -4.437237556e-03f, -4.426893689e-03f, -4.416542698e-03f, -4.406184603e-03f, -4.395819419e-03f, -4.385447167e-03f, -4.375067864e-03f,
+-4.364681529e-03f, -4.354288180e-03f, -4.343887835e-03f, -4.333480512e-03f, -4.323066231e-03f, -4.312645008e-03f, -4.302216863e-03f, -4.291781815e-03f, -4.281339880e-03f, -4.270891078e-03f,
+-4.260435428e-03f, -4.249972946e-03f, -4.239503653e-03f, -4.229027567e-03f, -4.218544705e-03f, -4.208055086e-03f, -4.197558729e-03f, -4.187055653e-03f, -4.176545875e-03f, -4.166029414e-03f,
+-4.155506289e-03f, -4.144976518e-03f, -4.134440120e-03f, -4.123897114e-03f, -4.113347517e-03f, -4.102791349e-03f, -4.092228628e-03f, -4.081659372e-03f, -4.071083601e-03f, -4.060501332e-03f,
+-4.049912585e-03f, -4.039317378e-03f, -4.028715729e-03f, -4.018107658e-03f, -4.007493182e-03f, -3.996872322e-03f, -3.986245094e-03f, -3.975611519e-03f, -3.964971614e-03f, -3.954325399e-03f,
+-3.943672892e-03f, -3.933014111e-03f, -3.922349076e-03f, -3.911677806e-03f, -3.901000318e-03f, -3.890316632e-03f, -3.879626767e-03f, -3.868930742e-03f, -3.858228574e-03f, -3.847520283e-03f,
+-3.836805888e-03f, -3.826085408e-03f, -3.815358861e-03f, -3.804626267e-03f, -3.793887643e-03f, -3.783143010e-03f, -3.772392385e-03f, -3.761635788e-03f, -3.750873238e-03f, -3.740104753e-03f,
+-3.729330353e-03f, -3.718550056e-03f, -3.707763881e-03f, -3.696971847e-03f, -3.686173974e-03f, -3.675370280e-03f, -3.664560783e-03f, -3.653745504e-03f, -3.642924461e-03f, -3.632097673e-03f,
+-3.621265158e-03f, -3.610426937e-03f, -3.599583028e-03f, -3.588733449e-03f, -3.577878221e-03f, -3.567017362e-03f, -3.556150891e-03f, -3.545278827e-03f, -3.534401190e-03f, -3.523517998e-03f,
+-3.512629270e-03f, -3.501735026e-03f, -3.490835284e-03f, -3.479930065e-03f, -3.469019386e-03f, -3.458103267e-03f, -3.447181727e-03f, -3.436254786e-03f, -3.425322462e-03f, -3.414384774e-03f,
+-3.403441743e-03f, -3.392493386e-03f, -3.381539723e-03f, -3.370580774e-03f, -3.359616557e-03f, -3.348647092e-03f, -3.337672398e-03f, -3.326692494e-03f, -3.315707400e-03f, -3.304717134e-03f,
+-3.293721716e-03f, -3.282721166e-03f, -3.271715501e-03f, -3.260704743e-03f, -3.249688909e-03f, -3.238668020e-03f, -3.227642094e-03f, -3.216611151e-03f, -3.205575211e-03f, -3.194534292e-03f,
+-3.183488413e-03f, -3.172437595e-03f, -3.161381857e-03f, -3.150321217e-03f, -3.139255696e-03f, -3.128185312e-03f, -3.117110085e-03f, -3.106030034e-03f, -3.094945180e-03f, -3.083855540e-03f,
+-3.072761135e-03f, -3.061661984e-03f, -3.050558106e-03f, -3.039449521e-03f, -3.028336248e-03f, -3.017218307e-03f, -3.006095717e-03f, -2.994968498e-03f, -2.983836668e-03f, -2.972700248e-03f,
+-2.961559257e-03f, -2.950413715e-03f, -2.939263640e-03f, -2.928109053e-03f, -2.916949973e-03f, -2.905786419e-03f, -2.894618411e-03f, -2.883445969e-03f, -2.872269112e-03f, -2.861087859e-03f,
+-2.849902230e-03f, -2.838712245e-03f, -2.827517923e-03f, -2.816319284e-03f, -2.805116347e-03f, -2.793909132e-03f, -2.782697658e-03f, -2.771481946e-03f, -2.760262014e-03f, -2.749037882e-03f,
+-2.737809571e-03f, -2.726577098e-03f, -2.715340485e-03f, -2.704099750e-03f, -2.692854914e-03f, -2.681605996e-03f, -2.670353015e-03f, -2.659095992e-03f, -2.647834945e-03f, -2.636569895e-03f,
+-2.625300862e-03f, -2.614027864e-03f, -2.602750921e-03f, -2.591470054e-03f, -2.580185282e-03f, -2.568896625e-03f, -2.557604102e-03f, -2.546307733e-03f, -2.535007538e-03f, -2.523703536e-03f,
+-2.512395748e-03f, -2.501084192e-03f, -2.489768889e-03f, -2.478449859e-03f, -2.467127121e-03f, -2.455800694e-03f, -2.444470600e-03f, -2.433136856e-03f, -2.421799484e-03f, -2.410458503e-03f,
+-2.399113933e-03f, -2.387765793e-03f, -2.376414103e-03f, -2.365058884e-03f, -2.353700155e-03f, -2.342337935e-03f, -2.330972245e-03f, -2.319603104e-03f, -2.308230532e-03f, -2.296854549e-03f,
+-2.285475175e-03f, -2.274092430e-03f, -2.262706333e-03f, -2.251316904e-03f, -2.239924164e-03f, -2.228528131e-03f, -2.217128827e-03f, -2.205726270e-03f, -2.194320480e-03f, -2.182911479e-03f,
+-2.171499284e-03f, -2.160083917e-03f, -2.148665397e-03f, -2.137243744e-03f, -2.125818977e-03f, -2.114391118e-03f, -2.102960185e-03f, -2.091526199e-03f, -2.080089179e-03f, -2.068649146e-03f,
+-2.057206119e-03f, -2.045760118e-03f, -2.034311163e-03f, -2.022859275e-03f, -2.011404472e-03f, -1.999946776e-03f, -1.988486205e-03f, -1.977022781e-03f, -1.965556522e-03f, -1.954087449e-03f,
+-1.942615581e-03f, -1.931140940e-03f, -1.919663544e-03f, -1.908183413e-03f, -1.896700568e-03f, -1.885215029e-03f, -1.873726815e-03f, -1.862235947e-03f, -1.850742445e-03f, -1.839246328e-03f,
+-1.827747616e-03f, -1.816246330e-03f, -1.804742490e-03f, -1.793236115e-03f, -1.781727225e-03f, -1.770215841e-03f, -1.758701983e-03f, -1.747185670e-03f, -1.735666923e-03f, -1.724145761e-03f,
+-1.712622205e-03f, -1.701096275e-03f, -1.689567991e-03f, -1.678037372e-03f, -1.666504439e-03f, -1.654969212e-03f, -1.643431710e-03f, -1.631891955e-03f, -1.620349966e-03f, -1.608805762e-03f,
+-1.597259365e-03f, -1.585710794e-03f, -1.574160069e-03f, -1.562607211e-03f, -1.551052238e-03f, -1.539495173e-03f, -1.527936033e-03f, -1.516374840e-03f, -1.504811614e-03f, -1.493246375e-03f,
+-1.481679142e-03f, -1.470109937e-03f, -1.458538778e-03f, -1.446965687e-03f, -1.435390682e-03f, -1.423813785e-03f, -1.412235015e-03f, -1.400654393e-03f, -1.389071938e-03f, -1.377487671e-03f,
+-1.365901612e-03f, -1.354313781e-03f, -1.342724197e-03f, -1.331132882e-03f, -1.319539855e-03f, -1.307945136e-03f, -1.296348746e-03f, -1.284750704e-03f, -1.273151031e-03f, -1.261549747e-03f,
+-1.249946872e-03f, -1.238342426e-03f, -1.226736429e-03f, -1.215128901e-03f, -1.203519863e-03f, -1.191909335e-03f, -1.180297336e-03f, -1.168683887e-03f, -1.157069008e-03f, -1.145452720e-03f,
+-1.133835041e-03f, -1.122215993e-03f, -1.110595596e-03f, -1.098973869e-03f, -1.087350834e-03f, -1.075726509e-03f, -1.064100915e-03f, -1.052474073e-03f, -1.040846002e-03f, -1.029216723e-03f,
+-1.017586256e-03f, -1.005954620e-03f, -9.943218369e-04f, -9.826879258e-04f, -9.710529071e-04f, -9.594168010e-04f, -9.477796276e-04f, -9.361414070e-04f, -9.245021595e-04f, -9.128619052e-04f,
+-9.012206643e-04f, -8.895784569e-04f, -8.779353032e-04f, -8.662912233e-04f, -8.546462375e-04f, -8.430003658e-04f, -8.313536286e-04f, -8.197060458e-04f, -8.080576377e-04f, -7.964084244e-04f,
+-7.847584262e-04f, -7.731076632e-04f, -7.614561555e-04f, -7.498039233e-04f, -7.381509868e-04f, -7.264973662e-04f, -7.148430817e-04f, -7.031881533e-04f, -6.915326013e-04f, -6.798764458e-04f,
+-6.682197070e-04f, -6.565624051e-04f, -6.449045602e-04f, -6.332461926e-04f, -6.215873223e-04f, -6.099279696e-04f, -5.982681546e-04f, -5.866078975e-04f, -5.749472185e-04f, -5.632861377e-04f,
+-5.516246752e-04f, -5.399628514e-04f, -5.283006862e-04f, -5.166382000e-04f, -5.049754128e-04f, -4.933123448e-04f, -4.816490162e-04f, -4.699854472e-04f, -4.583216578e-04f, -4.466576684e-04f,
+-4.349934990e-04f, -4.233291698e-04f, -4.116647010e-04f, -4.000001126e-04f, -3.883354250e-04f, -3.766706582e-04f, -3.650058324e-04f, -3.533409678e-04f, -3.416760844e-04f, -3.300112026e-04f,
+-3.183463423e-04f, -3.066815239e-04f, -2.950167673e-04f, -2.833520928e-04f, -2.716875206e-04f, -2.600230707e-04f, -2.483587633e-04f, -2.366946186e-04f, -2.250306567e-04f, -2.133668977e-04f,
+-2.017033618e-04f, -1.900400692e-04f, -1.783770399e-04f, -1.667142942e-04f, -1.550518521e-04f, -1.433897337e-04f, -1.317279593e-04f, -1.200665489e-04f, -1.084055226e-04f, -9.674490071e-05f,
+-8.508470319e-05f, -7.342495023e-05f, -6.176566193e-05f, -5.010685842e-05f, -3.844855981e-05f, -2.679078623e-05f, -1.513355779e-05f, -3.476894598e-06f, 8.179183231e-06f, 1.983465559e-05f,
+3.148950237e-05f, 4.314370347e-05f, 5.479723878e-05f, 6.645008821e-05f, 7.810223166e-05f, 8.975364903e-05f, 1.014043202e-04f, 1.130542252e-04f, 1.247033437e-04f, 1.363516559e-04f,
+1.479991415e-04f, 1.596457805e-04f, 1.712915528e-04f, 1.829364384e-04f, 1.945804171e-04f, 2.062234690e-04f, 2.178655738e-04f, 2.295067116e-04f, 2.411468623e-04f, 2.527860058e-04f,
+2.644241222e-04f, 2.760611912e-04f, 2.876971929e-04f, 2.993321072e-04f, 3.109659141e-04f, 3.225985935e-04f, 3.342301254e-04f, 3.458604898e-04f, 3.574896665e-04f, 3.691176357e-04f,
+3.807443772e-04f, 3.923698710e-04f, 4.039940971e-04f, 4.156170356e-04f, 4.272386663e-04f, 4.388589692e-04f, 4.504779244e-04f, 4.620955118e-04f, 4.737117115e-04f, 4.853265034e-04f,
+4.969398676e-04f, 5.085517840e-04f, 5.201622327e-04f, 5.317711937e-04f, 5.433786469e-04f, 5.549845725e-04f, 5.665889504e-04f, 5.781917607e-04f, 5.897929834e-04f, 6.013925986e-04f,
+6.129905862e-04f, 6.245869264e-04f, 6.361815991e-04f, 6.477745845e-04f, 6.593658626e-04f, 6.709554134e-04f, 6.825432170e-04f, 6.941292535e-04f, 7.057135029e-04f, 7.172959454e-04f,
+7.288765609e-04f, 7.404553297e-04f, 7.520322318e-04f, 7.636072472e-04f, 7.751803561e-04f, 7.867515385e-04f, 7.983207747e-04f, 8.098880446e-04f, 8.214533284e-04f, 8.330166063e-04f,
+8.445778583e-04f, 8.561370645e-04f, 8.676942052e-04f, 8.792492604e-04f, 8.908022103e-04f, 9.023530351e-04f, 9.139017148e-04f, 9.254482296e-04f, 9.369925598e-04f, 9.485346854e-04f,
+9.600745867e-04f, 9.716122437e-04f, 9.831476368e-04f, 9.946807460e-04f, 1.006211552e-03f, 1.017740034e-03f, 1.029266173e-03f, 1.040789949e-03f, 1.052311342e-03f, 1.063830332e-03f,
+1.075346900e-03f, 1.086861026e-03f, 1.098372690e-03f, 1.109881872e-03f, 1.121388553e-03f, 1.132892712e-03f, 1.144394331e-03f, 1.155893389e-03f, 1.167389866e-03f, 1.178883744e-03f,
+1.190375001e-03f, 1.201863619e-03f, 1.213349577e-03f, 1.224832857e-03f, 1.236313437e-03f, 1.247791300e-03f, 1.259266424e-03f, 1.270738790e-03f, 1.282208379e-03f, 1.293675170e-03f,
+1.305139145e-03f, 1.316600283e-03f, 1.328058565e-03f, 1.339513971e-03f, 1.350966482e-03f, 1.362416078e-03f, 1.373862738e-03f, 1.385306445e-03f, 1.396747177e-03f, 1.408184916e-03f,
+1.419619642e-03f, 1.431051335e-03f, 1.442479975e-03f, 1.453905544e-03f, 1.465328020e-03f, 1.476747386e-03f, 1.488163621e-03f, 1.499576705e-03f, 1.510986620e-03f, 1.522393345e-03f,
+1.533796862e-03f, 1.545197149e-03f, 1.556594189e-03f, 1.567987961e-03f, 1.579378446e-03f, 1.590765625e-03f, 1.602149477e-03f, 1.613529984e-03f, 1.624907126e-03f, 1.636280883e-03f,
+1.647651236e-03f, 1.659018165e-03f, 1.670381652e-03f, 1.681741676e-03f, 1.693098218e-03f, 1.704451259e-03f, 1.715800779e-03f, 1.727146759e-03f, 1.738489179e-03f, 1.749828020e-03f,
+1.761163262e-03f, 1.772494887e-03f, 1.783822874e-03f, 1.795147205e-03f, 1.806467860e-03f, 1.817784819e-03f, 1.829098064e-03f, 1.840407574e-03f, 1.851713331e-03f, 1.863015315e-03f,
+1.874313507e-03f, 1.885607888e-03f, 1.896898437e-03f, 1.908185137e-03f, 1.919467967e-03f, 1.930746908e-03f, 1.942021942e-03f, 1.953293048e-03f, 1.964560207e-03f, 1.975823401e-03f,
+1.987082609e-03f, 1.998337814e-03f, 2.009588994e-03f, 2.020836132e-03f, 2.032079208e-03f, 2.043318202e-03f, 2.054553096e-03f, 2.065783871e-03f, 2.077010506e-03f, 2.088232984e-03f,
+2.099451284e-03f, 2.110665387e-03f, 2.121875276e-03f, 2.133080929e-03f, 2.144282328e-03f, 2.155479455e-03f, 2.166672289e-03f, 2.177860813e-03f, 2.189045005e-03f, 2.200224849e-03f,
+2.211400323e-03f, 2.222571410e-03f, 2.233738091e-03f, 2.244900345e-03f, 2.256058155e-03f, 2.267211500e-03f, 2.278360363e-03f, 2.289504724e-03f, 2.300644563e-03f, 2.311779863e-03f,
+2.322910604e-03f, 2.334036766e-03f, 2.345158332e-03f, 2.356275281e-03f, 2.367387596e-03f, 2.378495256e-03f, 2.389598244e-03f, 2.400696540e-03f, 2.411790124e-03f, 2.422878980e-03f,
+2.433963086e-03f, 2.445042425e-03f, 2.456116978e-03f, 2.467186725e-03f, 2.478251648e-03f, 2.489311728e-03f, 2.500366946e-03f, 2.511417283e-03f, 2.522462720e-03f, 2.533503239e-03f,
+2.544538821e-03f, 2.555569446e-03f, 2.566595097e-03f, 2.577615753e-03f, 2.588631398e-03f, 2.599642010e-03f, 2.610647573e-03f, 2.621648067e-03f, 2.632643474e-03f, 2.643633774e-03f,
+2.654618949e-03f, 2.665598980e-03f, 2.676573849e-03f, 2.687543536e-03f, 2.698508024e-03f, 2.709467293e-03f, 2.720421325e-03f, 2.731370101e-03f, 2.742313602e-03f, 2.753251811e-03f,
+2.764184707e-03f, 2.775112273e-03f, 2.786034490e-03f, 2.796951340e-03f, 2.807862803e-03f, 2.818768861e-03f, 2.829669496e-03f, 2.840564689e-03f, 2.851454422e-03f, 2.862338675e-03f,
+2.873217431e-03f, 2.884090671e-03f, 2.894958377e-03f, 2.905820529e-03f, 2.916677110e-03f, 2.927528101e-03f, 2.938373483e-03f, 2.949213238e-03f, 2.960047348e-03f, 2.970875794e-03f,
+2.981698558e-03f, 2.992515621e-03f, 3.003326966e-03f, 3.014132572e-03f, 3.024932423e-03f, 3.035726500e-03f, 3.046514784e-03f, 3.057297257e-03f, 3.068073902e-03f, 3.078844698e-03f,
+3.089609629e-03f, 3.100368675e-03f, 3.111121819e-03f, 3.121869043e-03f, 3.132610327e-03f, 3.143345654e-03f, 3.154075006e-03f, 3.164798364e-03f, 3.175515709e-03f, 3.186227025e-03f,
+3.196932293e-03f, 3.207631493e-03f, 3.218324609e-03f, 3.229011623e-03f, 3.239692515e-03f, 3.250367268e-03f, 3.261035863e-03f, 3.271698283e-03f, 3.282354510e-03f, 3.293004525e-03f,
+3.303648310e-03f, 3.314285847e-03f, 3.324917118e-03f, 3.335542106e-03f, 3.346160791e-03f, 3.356773157e-03f, 3.367379184e-03f, 3.377978856e-03f, 3.388572153e-03f, 3.399159059e-03f,
+3.409739554e-03f, 3.420313622e-03f, 3.430881244e-03f, 3.441442401e-03f, 3.451997078e-03f, 3.462545254e-03f, 3.473086913e-03f, 3.483622037e-03f, 3.494150608e-03f, 3.504672607e-03f,
+3.515188017e-03f, 3.525696821e-03f, 3.536199000e-03f, 3.546694536e-03f, 3.557183413e-03f, 3.567665611e-03f, 3.578141114e-03f, 3.588609903e-03f, 3.599071960e-03f, 3.609527269e-03f,
+3.619975811e-03f, 3.630417568e-03f, 3.640852523e-03f, 3.651280659e-03f, 3.661701957e-03f, 3.672116400e-03f, 3.682523969e-03f, 3.692924649e-03f, 3.703318420e-03f, 3.713705266e-03f,
+3.724085169e-03f, 3.734458110e-03f, 3.744824073e-03f, 3.755183041e-03f, 3.765534994e-03f, 3.775879917e-03f, 3.786217791e-03f, 3.796548599e-03f, 3.806872324e-03f, 3.817188947e-03f,
+3.827498452e-03f, 3.837800821e-03f, 3.848096036e-03f, 3.858384081e-03f, 3.868664938e-03f, 3.878938588e-03f, 3.889205016e-03f, 3.899464204e-03f, 3.909716133e-03f, 3.919960788e-03f,
+3.930198150e-03f, 3.940428203e-03f, 3.950650928e-03f, 3.960866309e-03f, 3.971074329e-03f, 3.981274969e-03f, 3.991468214e-03f, 4.001654045e-03f, 4.011832445e-03f, 4.022003398e-03f,
+4.032166886e-03f, 4.042322892e-03f, 4.052471398e-03f, 4.062612387e-03f, 4.072745844e-03f, 4.082871749e-03f, 4.092990086e-03f, 4.103100839e-03f, 4.113203989e-03f, 4.123299521e-03f,
+4.133387416e-03f, 4.143467658e-03f, 4.153540229e-03f, 4.163605114e-03f, 4.173662294e-03f, 4.183711753e-03f, 4.193753473e-03f, 4.203787439e-03f, 4.213813632e-03f, 4.223832036e-03f,
+4.233842635e-03f, 4.243845410e-03f, 4.253840346e-03f, 4.263827425e-03f, 4.273806631e-03f, 4.283777946e-03f, 4.293741354e-03f, 4.303696838e-03f, 4.313644381e-03f, 4.323583967e-03f,
+4.333515579e-03f, 4.343439199e-03f, 4.353354812e-03f, 4.363262400e-03f, 4.373161947e-03f, 4.383053436e-03f, 4.392936850e-03f, 4.402812173e-03f, 4.412679388e-03f, 4.422538478e-03f,
+4.432389427e-03f, 4.442232219e-03f, 4.452066836e-03f, 4.461893262e-03f, 4.471711480e-03f, 4.481521474e-03f, 4.491323228e-03f, 4.501116724e-03f, 4.510901947e-03f, 4.520678880e-03f,
+4.530447506e-03f, 4.540207809e-03f, 4.549959773e-03f, 4.559703381e-03f, 4.569438616e-03f, 4.579165462e-03f, 4.588883904e-03f, 4.598593924e-03f, 4.608295506e-03f, 4.617988634e-03f,
+4.627673291e-03f, 4.637349462e-03f, 4.647017129e-03f, 4.656676278e-03f, 4.666326890e-03f, 4.675968951e-03f, 4.685602444e-03f, 4.695227352e-03f, 4.704843660e-03f, 4.714451351e-03f,
+4.724050409e-03f, 4.733640819e-03f, 4.743222563e-03f, 4.752795626e-03f, 4.762359992e-03f, 4.771915644e-03f, 4.781462567e-03f, 4.791000745e-03f, 4.800530161e-03f, 4.810050799e-03f,
+4.819562643e-03f, 4.829065679e-03f, 4.838559888e-03f, 4.848045256e-03f, 4.857521767e-03f, 4.866989404e-03f, 4.876448152e-03f, 4.885897995e-03f, 4.895338916e-03f, 4.904770901e-03f,
+4.914193933e-03f, 4.923607997e-03f, 4.933013076e-03f, 4.942409155e-03f, 4.951796218e-03f, 4.961174249e-03f, 4.970543233e-03f, 4.979903153e-03f, 4.989253995e-03f, 4.998595742e-03f,
+5.007928379e-03f, 5.017251890e-03f, 5.026566259e-03f, 5.035871471e-03f, 5.045167510e-03f, 5.054454361e-03f, 5.063732007e-03f, 5.073000435e-03f, 5.082259627e-03f, 5.091509568e-03f,
+5.100750243e-03f, 5.109981637e-03f, 5.119203733e-03f, 5.128416517e-03f, 5.137619973e-03f, 5.146814085e-03f, 5.155998839e-03f, 5.165174218e-03f, 5.174340207e-03f, 5.183496792e-03f,
+5.192643956e-03f, 5.201781684e-03f, 5.210909961e-03f, 5.220028772e-03f, 5.229138102e-03f, 5.238237935e-03f, 5.247328255e-03f, 5.256409048e-03f, 5.265480299e-03f, 5.274541992e-03f,
+5.283594113e-03f, 5.292636645e-03f, 5.301669574e-03f, 5.310692885e-03f, 5.319706562e-03f, 5.328710591e-03f, 5.337704956e-03f, 5.346689643e-03f, 5.355664636e-03f, 5.364629921e-03f,
+5.373585482e-03f, 5.382531304e-03f, 5.391467373e-03f, 5.400393673e-03f, 5.409310190e-03f, 5.418216908e-03f, 5.427113814e-03f, 5.436000891e-03f, 5.444878125e-03f, 5.453745501e-03f,
+5.462603004e-03f, 5.471450621e-03f, 5.480288335e-03f, 5.489116131e-03f, 5.497933997e-03f, 5.506741915e-03f, 5.515539873e-03f, 5.524327854e-03f, 5.533105845e-03f, 5.541873831e-03f,
+5.550631797e-03f, 5.559379729e-03f, 5.568117611e-03f, 5.576845429e-03f, 5.585563170e-03f, 5.594270817e-03f, 5.602968358e-03f, 5.611655776e-03f, 5.620333058e-03f, 5.629000189e-03f,
+5.637657155e-03f, 5.646303941e-03f, 5.654940533e-03f, 5.663566916e-03f, 5.672183077e-03f, 5.680789000e-03f, 5.689384671e-03f, 5.697970077e-03f, 5.706545202e-03f, 5.715110032e-03f,
+5.723664554e-03f, 5.732208752e-03f, 5.740742613e-03f, 5.749266123e-03f, 5.757779266e-03f, 5.766282030e-03f, 5.774774399e-03f, 5.783256360e-03f, 5.791727899e-03f, 5.800189001e-03f,
+5.808639653e-03f, 5.817079839e-03f, 5.825509547e-03f, 5.833928762e-03f, 5.842337471e-03f, 5.850735658e-03f, 5.859123311e-03f, 5.867500415e-03f, 5.875866957e-03f, 5.884222922e-03f,
+5.892568296e-03f, 5.900903066e-03f, 5.909227217e-03f, 5.917540737e-03f, 5.925843610e-03f, 5.934135824e-03f, 5.942417365e-03f, 5.950688218e-03f, 5.958948370e-03f, 5.967197807e-03f,
+5.975436516e-03f, 5.983664483e-03f, 5.991881694e-03f, 6.000088135e-03f, 6.008283793e-03f, 6.016468655e-03f, 6.024642706e-03f, 6.032805933e-03f, 6.040958323e-03f, 6.049099862e-03f,
+6.057230536e-03f, 6.065350332e-03f, 6.073459237e-03f, 6.081557237e-03f, 6.089644318e-03f, 6.097720468e-03f, 6.105785672e-03f, 6.113839918e-03f, 6.121883192e-03f, 6.129915480e-03f,
+6.137936770e-03f, 6.145947049e-03f, 6.153946301e-03f, 6.161934516e-03f, 6.169911678e-03f, 6.177877776e-03f, 6.185832796e-03f, 6.193776724e-03f, 6.201709548e-03f, 6.209631254e-03f,
+6.217541830e-03f, 6.225441261e-03f, 6.233329536e-03f, 6.241206641e-03f, 6.249072562e-03f, 6.256927288e-03f, 6.264770804e-03f, 6.272603099e-03f, 6.280424158e-03f, 6.288233970e-03f,
+6.296032520e-03f, 6.303819797e-03f, 6.311595787e-03f, 6.319360478e-03f, 6.327113856e-03f, 6.334855909e-03f, 6.342586624e-03f, 6.350305988e-03f, 6.358013989e-03f, 6.365710613e-03f,
+6.373395848e-03f, 6.381069682e-03f, 6.388732101e-03f, 6.396383093e-03f, 6.404022646e-03f, 6.411650746e-03f, 6.419267381e-03f, 6.426872539e-03f, 6.434466206e-03f, 6.442048371e-03f,
+6.449619021e-03f, 6.457178144e-03f, 6.464725726e-03f, 6.472261755e-03f, 6.479786220e-03f, 6.487299107e-03f, 6.494800405e-03f, 6.502290100e-03f, 6.509768181e-03f, 6.517234635e-03f,
+6.524689450e-03f, 6.532132613e-03f, 6.539564112e-03f, 6.546983936e-03f, 6.554392071e-03f, 6.561788506e-03f, 6.569173229e-03f, 6.576546226e-03f, 6.583907487e-03f, 6.591256999e-03f,
+6.598594749e-03f, 6.605920727e-03f, 6.613234919e-03f, 6.620537313e-03f, 6.627827899e-03f, 6.635106663e-03f, 6.642373594e-03f, 6.649628679e-03f, 6.656871907e-03f, 6.664103266e-03f,
+6.671322744e-03f, 6.678530329e-03f, 6.685726010e-03f, 6.692909774e-03f, 6.700081609e-03f, 6.707241505e-03f, 6.714389448e-03f, 6.721525428e-03f, 6.728649432e-03f, 6.735761449e-03f,
+6.742861467e-03f, 6.749949475e-03f, 6.757025461e-03f, 6.764089413e-03f, 6.771141320e-03f, 6.778181170e-03f, 6.785208952e-03f, 6.792224653e-03f, 6.799228263e-03f, 6.806219771e-03f,
+6.813199163e-03f, 6.820166430e-03f, 6.827121560e-03f, 6.834064541e-03f, 6.840995361e-03f, 6.847914011e-03f, 6.854820477e-03f, 6.861714750e-03f, 6.868596817e-03f, 6.875466667e-03f,
+6.882324290e-03f, 6.889169673e-03f, 6.896002806e-03f, 6.902823678e-03f, 6.909632277e-03f, 6.916428592e-03f, 6.923212612e-03f, 6.929984326e-03f, 6.936743723e-03f, 6.943490791e-03f,
+6.950225521e-03f, 6.956947900e-03f, 6.963657918e-03f, 6.970355563e-03f, 6.977040826e-03f, 6.983713695e-03f, 6.990374158e-03f, 6.997022206e-03f, 7.003657827e-03f, 7.010281010e-03f,
+7.016891745e-03f, 7.023490021e-03f, 7.030075827e-03f, 7.036649153e-03f, 7.043209987e-03f, 7.049758319e-03f, 7.056294138e-03f, 7.062817434e-03f, 7.069328195e-03f, 7.075826412e-03f,
+7.082312074e-03f, 7.088785169e-03f, 7.095245689e-03f, 7.101693621e-03f, 7.108128956e-03f, 7.114551684e-03f, 7.120961792e-03f, 7.127359272e-03f, 7.133744113e-03f, 7.140116304e-03f,
+7.146475835e-03f, 7.152822696e-03f, 7.159156876e-03f, 7.165478366e-03f, 7.171787154e-03f, 7.178083230e-03f, 7.184366585e-03f, 7.190637208e-03f, 7.196895088e-03f, 7.203140217e-03f,
+7.209372583e-03f, 7.215592176e-03f, 7.221798987e-03f, 7.227993005e-03f, 7.234174220e-03f, 7.240342622e-03f, 7.246498202e-03f, 7.252640949e-03f, 7.258770853e-03f, 7.264887904e-03f,
+7.270992092e-03f, 7.277083408e-03f, 7.283161842e-03f, 7.289227383e-03f, 7.295280022e-03f, 7.301319750e-03f, 7.307346555e-03f, 7.313360429e-03f, 7.319361362e-03f, 7.325349345e-03f,
+7.331324366e-03f, 7.337286417e-03f, 7.343235489e-03f, 7.349171571e-03f, 7.355094653e-03f, 7.361004728e-03f, 7.366901783e-03f, 7.372785811e-03f, 7.378656802e-03f, 7.384514746e-03f,
+7.390359634e-03f, 7.396191456e-03f, 7.402010203e-03f, 7.407815866e-03f, 7.413608434e-03f, 7.419387900e-03f, 7.425154253e-03f, 7.430907484e-03f, 7.436647584e-03f, 7.442374544e-03f,
+7.448088354e-03f, 7.453789006e-03f, 7.459476489e-03f, 7.465150796e-03f, 7.470811916e-03f, 7.476459840e-03f, 7.482094561e-03f, 7.487716067e-03f, 7.493324352e-03f, 7.498919404e-03f,
+7.504501216e-03f, 7.510069779e-03f, 7.515625082e-03f, 7.521167119e-03f, 7.526695879e-03f, 7.532211354e-03f, 7.537713535e-03f, 7.543202412e-03f, 7.548677979e-03f, 7.554140224e-03f,
+7.559589140e-03f, 7.565024719e-03f, 7.570446950e-03f, 7.575855826e-03f, 7.581251338e-03f, 7.586633478e-03f, 7.592002236e-03f, 7.597357603e-03f, 7.602699573e-03f, 7.608028135e-03f,
+7.613343282e-03f, 7.618645004e-03f, 7.623933294e-03f, 7.629208143e-03f, 7.634469542e-03f, 7.639717484e-03f, 7.644951959e-03f, 7.650172959e-03f, 7.655380476e-03f, 7.660574503e-03f,
+7.665755029e-03f, 7.670922048e-03f, 7.676075550e-03f, 7.681215528e-03f, 7.686341974e-03f, 7.691454879e-03f, 7.696554235e-03f, 7.701640034e-03f, 7.706712268e-03f, 7.711770928e-03f,
+7.716816008e-03f, 7.721847498e-03f, 7.726865391e-03f, 7.731869679e-03f, 7.736860354e-03f, 7.741837407e-03f, 7.746800832e-03f, 7.751750619e-03f, 7.756686762e-03f, 7.761609252e-03f,
+7.766518081e-03f, 7.771413243e-03f, 7.776294728e-03f, 7.781162530e-03f, 7.786016640e-03f, 7.790857051e-03f, 7.795683755e-03f, 7.800496745e-03f, 7.805296013e-03f, 7.810081551e-03f,
+7.814853351e-03f, 7.819611407e-03f, 7.824355711e-03f, 7.829086254e-03f, 7.833803031e-03f, 7.838506032e-03f, 7.843195251e-03f, 7.847870681e-03f, 7.852532314e-03f, 7.857180142e-03f,
+7.861814159e-03f, 7.866434357e-03f, 7.871040728e-03f, 7.875633266e-03f, 7.880211963e-03f, 7.884776813e-03f, 7.889327807e-03f, 7.893864938e-03f, 7.898388201e-03f, 7.902897586e-03f,
+7.907393088e-03f, 7.911874700e-03f, 7.916342413e-03f, 7.920796222e-03f, 7.925236119e-03f, 7.929662097e-03f, 7.934074149e-03f, 7.938472269e-03f, 7.942856450e-03f, 7.947226684e-03f,
+7.951582964e-03f, 7.955925285e-03f, 7.960253639e-03f, 7.964568019e-03f, 7.968868419e-03f, 7.973154832e-03f, 7.977427251e-03f, 7.981685669e-03f, 7.985930081e-03f, 7.990160479e-03f,
+7.994376856e-03f, 7.998579207e-03f, 8.002767524e-03f, 8.006941801e-03f, 8.011102031e-03f, 8.015248209e-03f, 8.019380327e-03f, 8.023498379e-03f, 8.027602359e-03f, 8.031692261e-03f,
+8.035768077e-03f, 8.039829802e-03f, 8.043877430e-03f, 8.047910954e-03f, 8.051930367e-03f, 8.055935664e-03f, 8.059926839e-03f, 8.063903884e-03f, 8.067866795e-03f, 8.071815565e-03f,
+8.075750187e-03f, 8.079670657e-03f, 8.083576967e-03f, 8.087469111e-03f, 8.091347084e-03f, 8.095210880e-03f, 8.099060493e-03f, 8.102895916e-03f, 8.106717145e-03f, 8.110524172e-03f,
+8.114316992e-03f, 8.118095600e-03f, 8.121859989e-03f, 8.125610153e-03f, 8.129346088e-03f, 8.133067787e-03f, 8.136775244e-03f, 8.140468454e-03f, 8.144147411e-03f, 8.147812110e-03f,
+8.151462545e-03f, 8.155098710e-03f, 8.158720599e-03f, 8.162328208e-03f, 8.165921531e-03f, 8.169500561e-03f, 8.173065295e-03f, 8.176615726e-03f, 8.180151848e-03f, 8.183673657e-03f,
+8.187181148e-03f, 8.190674314e-03f, 8.194153150e-03f, 8.197617652e-03f, 8.201067814e-03f, 8.204503630e-03f, 8.207925096e-03f, 8.211332207e-03f, 8.214724956e-03f, 8.218103340e-03f,
+8.221467352e-03f, 8.224816988e-03f, 8.228152243e-03f, 8.231473112e-03f, 8.234779589e-03f, 8.238071670e-03f, 8.241349350e-03f, 8.244612624e-03f, 8.247861487e-03f, 8.251095933e-03f,
+8.254315959e-03f, 8.257521559e-03f, 8.260712729e-03f, 8.263889464e-03f, 8.267051758e-03f, 8.270199608e-03f, 8.273333008e-03f, 8.276451954e-03f, 8.279556442e-03f, 8.282646466e-03f,
+8.285722022e-03f, 8.288783105e-03f, 8.291829711e-03f, 8.294861835e-03f, 8.297879474e-03f, 8.300882621e-03f, 8.303871273e-03f, 8.306845426e-03f, 8.309805075e-03f, 8.312750215e-03f,
+8.315680843e-03f, 8.318596954e-03f, 8.321498543e-03f, 8.324385607e-03f, 8.327258140e-03f, 8.330116140e-03f, 8.332959601e-03f, 8.335788520e-03f, 8.338602892e-03f, 8.341402714e-03f,
+8.344187980e-03f, 8.346958688e-03f, 8.349714832e-03f, 8.352456410e-03f, 8.355183416e-03f, 8.357895847e-03f, 8.360593700e-03f, 8.363276969e-03f, 8.365945652e-03f, 8.368599744e-03f,
+8.371239242e-03f, 8.373864141e-03f, 8.376474438e-03f, 8.379070130e-03f, 8.381651211e-03f, 8.384217679e-03f, 8.386769531e-03f, 8.389306761e-03f, 8.391829367e-03f, 8.394337345e-03f,
+8.396830692e-03f, 8.399309403e-03f, 8.401773475e-03f, 8.404222906e-03f, 8.406657690e-03f, 8.409077826e-03f, 8.411483309e-03f, 8.413874135e-03f, 8.416250303e-03f, 8.418611807e-03f,
+8.420958646e-03f, 8.423290815e-03f, 8.425608311e-03f, 8.427911131e-03f, 8.430199272e-03f, 8.432472731e-03f, 8.434731504e-03f, 8.436975588e-03f, 8.439204980e-03f, 8.441419677e-03f,
+8.443619676e-03f, 8.445804974e-03f, 8.447975568e-03f, 8.450131454e-03f, 8.452272630e-03f, 8.454399093e-03f, 8.456510840e-03f, 8.458607868e-03f, 8.460690175e-03f, 8.462757756e-03f,
+8.464810610e-03f, 8.466848733e-03f, 8.468872123e-03f, 8.470880778e-03f, 8.472874694e-03f, 8.474853868e-03f, 8.476818299e-03f, 8.478767983e-03f, 8.480702917e-03f, 8.482623100e-03f,
+8.484528528e-03f, 8.486419200e-03f, 8.488295112e-03f, 8.490156261e-03f, 8.492002647e-03f, 8.493834265e-03f, 8.495651114e-03f, 8.497453192e-03f, 8.499240495e-03f, 8.501013022e-03f,
+8.502770770e-03f, 8.504513737e-03f, 8.506241921e-03f, 8.507955320e-03f, 8.509653930e-03f, 8.511337751e-03f, 8.513006779e-03f, 8.514661013e-03f, 8.516300451e-03f, 8.517925091e-03f,
+8.519534930e-03f, 8.521129966e-03f, 8.522710198e-03f, 8.524275624e-03f, 8.525826240e-03f, 8.527362047e-03f, 8.528883041e-03f, 8.530389221e-03f, 8.531880585e-03f, 8.533357131e-03f,
+8.534818858e-03f, 8.536265763e-03f, 8.537697844e-03f, 8.539115101e-03f, 8.540517531e-03f, 8.541905133e-03f, 8.543277905e-03f, 8.544635846e-03f, 8.545978953e-03f, 8.547307225e-03f,
+8.548620661e-03f, 8.549919260e-03f, 8.551203019e-03f, 8.552471937e-03f, 8.553726013e-03f, 8.554965246e-03f, 8.556189633e-03f, 8.557399174e-03f, 8.558593867e-03f, 8.559773712e-03f,
+8.560938706e-03f, 8.562088848e-03f, 8.563224137e-03f, 8.564344573e-03f, 8.565450153e-03f, 8.566540877e-03f, 8.567616743e-03f, 8.568677751e-03f, 8.569723899e-03f, 8.570755186e-03f,
+8.571771612e-03f, 8.572773174e-03f, 8.573759873e-03f, 8.574731707e-03f, 8.575688676e-03f, 8.576630778e-03f, 8.577558012e-03f, 8.578470378e-03f, 8.579367875e-03f, 8.580250502e-03f,
+8.581118259e-03f, 8.581971144e-03f, 8.582809156e-03f, 8.583632296e-03f, 8.584440563e-03f, 8.585233955e-03f, 8.586012472e-03f, 8.586776114e-03f, 8.587524880e-03f, 8.588258770e-03f,
+8.588977782e-03f, 8.589681917e-03f, 8.590371174e-03f, 8.591045553e-03f, 8.591705053e-03f, 8.592349673e-03f, 8.592979414e-03f, 8.593594275e-03f, 8.594194256e-03f, 8.594779357e-03f,
+8.595349576e-03f, 8.595904915e-03f, 8.596445372e-03f, 8.596970948e-03f, 8.597481642e-03f, 8.597977455e-03f, 8.598458386e-03f, 8.598924435e-03f, 8.599375602e-03f, 8.599811887e-03f,
+8.600233291e-03f, 8.600639812e-03f, 8.601031451e-03f, 8.601408209e-03f, 8.601770085e-03f, 8.602117079e-03f, 8.602449192e-03f, 8.602766424e-03f, 8.603068775e-03f, 8.603356244e-03f,
+8.603628834e-03f, 8.603886543e-03f, 8.604129372e-03f, 8.604357321e-03f, 8.604570391e-03f, 8.604768582e-03f, 8.604951895e-03f, 8.605120330e-03f, 8.605273887e-03f, 8.605412566e-03f,
+8.605536370e-03f, 8.605645297e-03f, 8.605739349e-03f, 8.605818526e-03f, 8.605882828e-03f, 8.605932257e-03f, 8.605966813e-03f, 8.605986497e-03f, 8.605991309e-03f, 8.605981250e-03f,
+8.605956321e-03f, 8.605916523e-03f, 8.605861856e-03f, 8.605792322e-03f, 8.605707921e-03f, 8.605608654e-03f, 8.605494523e-03f, 8.605365527e-03f, 8.605221668e-03f, 8.605062947e-03f,
+8.604889366e-03f, 8.604700924e-03f, 8.604497624e-03f, 8.604279466e-03f, 8.604046451e-03f, 8.603798580e-03f, 8.603535856e-03f, 8.603258278e-03f, 8.602965849e-03f, 8.602658568e-03f,
+8.602336439e-03f, 8.601999462e-03f, 8.601647637e-03f, 8.601280968e-03f, 8.600899454e-03f, 8.600503099e-03f, 8.600091901e-03f, 8.599665865e-03f, 8.599224990e-03f, 8.598769278e-03f,
+8.598298732e-03f, 8.597813352e-03f, 8.597313140e-03f, 8.596798097e-03f, 8.596268226e-03f, 8.595723528e-03f, 8.595164004e-03f, 8.594589657e-03f, 8.594000488e-03f, 8.593396499e-03f,
+8.592777691e-03f, 8.592144067e-03f, 8.591495628e-03f, 8.590832377e-03f, 8.590154314e-03f, 8.589461443e-03f, 8.588753764e-03f, 8.588031281e-03f, 8.587293994e-03f, 8.586541906e-03f,
+8.585775019e-03f, 8.584993336e-03f, 8.584196857e-03f, 8.583385586e-03f, 8.582559524e-03f, 8.581718674e-03f, 8.580863037e-03f, 8.579992617e-03f, 8.579107414e-03f, 8.578207433e-03f,
+8.577292674e-03f, 8.576363140e-03f, 8.575418834e-03f, 8.574459758e-03f, 8.573485914e-03f, 8.572497305e-03f, 8.571493933e-03f, 8.570475801e-03f, 8.569442911e-03f, 8.568395265e-03f,
+8.567332867e-03f, 8.566255719e-03f, 8.565163823e-03f, 8.564057182e-03f, 8.562935799e-03f, 8.561799676e-03f, 8.560648817e-03f, 8.559483223e-03f, 8.558302898e-03f, 8.557107844e-03f,
+8.555898065e-03f, 8.554673562e-03f, 8.553434340e-03f, 8.552180400e-03f, 8.550911746e-03f, 8.549628380e-03f, 8.548330306e-03f, 8.547017527e-03f, 8.545690045e-03f, 8.544347864e-03f,
+8.542990986e-03f, 8.541619416e-03f, 8.540233155e-03f, 8.538832207e-03f, 8.537416575e-03f, 8.535986263e-03f, 8.534541273e-03f, 8.533081609e-03f, 8.531607274e-03f, 8.530118272e-03f,
+8.528614605e-03f, 8.527096277e-03f, 8.525563291e-03f, 8.524015652e-03f, 8.522453361e-03f, 8.520876423e-03f, 8.519284841e-03f, 8.517678619e-03f, 8.516057759e-03f, 8.514422267e-03f,
+8.512772144e-03f, 8.511107396e-03f, 8.509428024e-03f, 8.507734034e-03f, 8.506025429e-03f, 8.504302211e-03f, 8.502564386e-03f, 8.500811957e-03f, 8.499044927e-03f, 8.497263301e-03f,
+8.495467082e-03f, 8.493656274e-03f, 8.491830881e-03f, 8.489990906e-03f, 8.488136355e-03f, 8.486267230e-03f, 8.484383535e-03f, 8.482485276e-03f, 8.480572455e-03f, 8.478645076e-03f,
+8.476703144e-03f, 8.474746664e-03f, 8.472775638e-03f, 8.470790071e-03f, 8.468789967e-03f, 8.466775331e-03f, 8.464746166e-03f, 8.462702477e-03f, 8.460644269e-03f, 8.458571545e-03f,
+8.456484309e-03f, 8.454382567e-03f, 8.452266322e-03f, 8.450135579e-03f, 8.447990342e-03f, 8.445830616e-03f, 8.443656405e-03f, 8.441467714e-03f, 8.439264547e-03f, 8.437046908e-03f,
+8.434814803e-03f, 8.432568236e-03f, 8.430307211e-03f, 8.428031733e-03f, 8.425741807e-03f, 8.423437437e-03f, 8.421118629e-03f, 8.418785386e-03f, 8.416437714e-03f, 8.414075617e-03f,
+8.411699101e-03f, 8.409308169e-03f, 8.406902828e-03f, 8.404483081e-03f, 8.402048935e-03f, 8.399600392e-03f, 8.397137460e-03f, 8.394660142e-03f, 8.392168443e-03f, 8.389662369e-03f,
+8.387141925e-03f, 8.384607115e-03f, 8.382057946e-03f, 8.379494421e-03f, 8.376916547e-03f, 8.374324328e-03f, 8.371717769e-03f, 8.369096876e-03f, 8.366461654e-03f, 8.363812109e-03f,
+8.361148245e-03f, 8.358470068e-03f, 8.355777583e-03f, 8.353070795e-03f, 8.350349711e-03f, 8.347614335e-03f, 8.344864673e-03f, 8.342100731e-03f, 8.339322513e-03f, 8.336530026e-03f,
+8.333723275e-03f, 8.330902265e-03f, 8.328067002e-03f, 8.325217492e-03f, 8.322353740e-03f, 8.319475753e-03f, 8.316583535e-03f, 8.313677092e-03f, 8.310756431e-03f, 8.307821556e-03f,
+8.304872474e-03f, 8.301909191e-03f, 8.298931712e-03f, 8.295940043e-03f, 8.292934191e-03f, 8.289914160e-03f, 8.286879958e-03f, 8.283831589e-03f, 8.280769060e-03f, 8.277692377e-03f,
+8.274601546e-03f, 8.271496573e-03f, 8.268377464e-03f, 8.265244225e-03f, 8.262096863e-03f, 8.258935383e-03f, 8.255759791e-03f, 8.252570095e-03f, 8.249366299e-03f, 8.246148411e-03f,
+8.242916436e-03f, 8.239670381e-03f, 8.236410252e-03f, 8.233136056e-03f, 8.229847798e-03f, 8.226545486e-03f, 8.223229125e-03f, 8.219898723e-03f, 8.216554285e-03f, 8.213195818e-03f,
+8.209823329e-03f, 8.206436824e-03f, 8.203036310e-03f, 8.199621793e-03f, 8.196193279e-03f, 8.192750776e-03f, 8.189294291e-03f, 8.185823829e-03f, 8.182339397e-03f, 8.178841003e-03f,
+8.175328653e-03f, 8.171802354e-03f, 8.168262112e-03f, 8.164707935e-03f, 8.161139828e-03f, 8.157557800e-03f, 8.153961857e-03f, 8.150352006e-03f, 8.146728254e-03f, 8.143090607e-03f,
+8.139439073e-03f, 8.135773659e-03f, 8.132094372e-03f, 8.128401219e-03f, 8.124694206e-03f, 8.120973342e-03f, 8.117238633e-03f, 8.113490086e-03f, 8.109727709e-03f, 8.105951508e-03f,
+8.102161492e-03f, 8.098357666e-03f, 8.094540039e-03f, 8.090708618e-03f, 8.086863410e-03f, 8.083004422e-03f, 8.079131663e-03f, 8.075245138e-03f, 8.071344855e-03f, 8.067430823e-03f,
+8.063503048e-03f, 8.059561538e-03f, 8.055606301e-03f, 8.051637344e-03f, 8.047654674e-03f, 8.043658299e-03f, 8.039648226e-03f, 8.035624464e-03f, 8.031587020e-03f, 8.027535902e-03f,
+8.023471117e-03f, 8.019392673e-03f, 8.015300577e-03f, 8.011194839e-03f, 8.007075464e-03f, 8.002942461e-03f, 7.998795839e-03f, 7.994635604e-03f, 7.990461765e-03f, 7.986274329e-03f,
+7.982073305e-03f, 7.977858700e-03f, 7.973630523e-03f, 7.969388781e-03f, 7.965133482e-03f, 7.960864635e-03f, 7.956582247e-03f, 7.952286326e-03f, 7.947976882e-03f, 7.943653921e-03f,
+7.939317452e-03f, 7.934967483e-03f, 7.930604023e-03f, 7.926227079e-03f, 7.921836660e-03f, 7.917432773e-03f, 7.913015428e-03f, 7.908584633e-03f, 7.904140396e-03f, 7.899682725e-03f,
+7.895211629e-03f, 7.890727115e-03f, 7.886229194e-03f, 7.881717872e-03f, 7.877193159e-03f, 7.872655062e-03f, 7.868103592e-03f, 7.863538755e-03f, 7.858960560e-03f, 7.854369017e-03f,
+7.849764134e-03f, 7.845145919e-03f, 7.840514381e-03f, 7.835869528e-03f, 7.831211370e-03f, 7.826539915e-03f, 7.821855172e-03f, 7.817157150e-03f, 7.812445857e-03f, 7.807721302e-03f,
+7.802983494e-03f, 7.798232443e-03f, 7.793468156e-03f, 7.788690642e-03f, 7.783899911e-03f, 7.779095972e-03f, 7.774278833e-03f, 7.769448504e-03f, 7.764604993e-03f, 7.759748310e-03f,
+7.754878463e-03f, 7.749995462e-03f, 7.745099316e-03f, 7.740190034e-03f, 7.735267625e-03f, 7.730332098e-03f, 7.725383462e-03f, 7.720421727e-03f, 7.715446902e-03f, 7.710458996e-03f,
+7.705458018e-03f, 7.700443978e-03f, 7.695416885e-03f, 7.690376748e-03f, 7.685323577e-03f, 7.680257381e-03f, 7.675178170e-03f, 7.670085952e-03f, 7.664980738e-03f, 7.659862537e-03f,
+7.654731358e-03f, 7.649587211e-03f, 7.644430105e-03f, 7.639260050e-03f, 7.634077056e-03f, 7.628881132e-03f, 7.623672288e-03f, 7.618450534e-03f, 7.613215878e-03f, 7.607968332e-03f,
+7.602707903e-03f, 7.597434604e-03f, 7.592148442e-03f, 7.586849428e-03f, 7.581537572e-03f, 7.576212883e-03f, 7.570875371e-03f, 7.565525047e-03f, 7.560161919e-03f, 7.554785999e-03f,
+7.549397295e-03f, 7.543995819e-03f, 7.538581579e-03f, 7.533154586e-03f, 7.527714850e-03f, 7.522262381e-03f, 7.516797188e-03f, 7.511319283e-03f, 7.505828675e-03f, 7.500325374e-03f,
+7.494809391e-03f, 7.489280735e-03f, 7.483739417e-03f, 7.478185447e-03f, 7.472618835e-03f, 7.467039592e-03f, 7.461447727e-03f, 7.455843252e-03f, 7.450226175e-03f, 7.444596509e-03f,
+7.438954263e-03f, 7.433299447e-03f, 7.427632072e-03f, 7.421952148e-03f, 7.416259686e-03f, 7.410554696e-03f, 7.404837189e-03f, 7.399107175e-03f, 7.393364665e-03f, 7.387609669e-03f,
+7.381842198e-03f, 7.376062263e-03f, 7.370269873e-03f, 7.364465040e-03f, 7.358647775e-03f, 7.352818087e-03f, 7.346975989e-03f, 7.341121489e-03f, 7.335254600e-03f, 7.329375332e-03f,
+7.323483696e-03f, 7.317579702e-03f, 7.311663362e-03f, 7.305734685e-03f, 7.299793684e-03f, 7.293840369e-03f, 7.287874751e-03f, 7.281896840e-03f, 7.275906648e-03f, 7.269904186e-03f,
+7.263889465e-03f, 7.257862495e-03f, 7.251823288e-03f, 7.245771855e-03f, 7.239708207e-03f, 7.233632354e-03f, 7.227544309e-03f, 7.221444082e-03f, 7.215331684e-03f, 7.209207127e-03f,
+7.203070422e-03f, 7.196921579e-03f, 7.190760611e-03f, 7.184587528e-03f, 7.178402342e-03f, 7.172205063e-03f, 7.165995704e-03f, 7.159774276e-03f, 7.153540790e-03f, 7.147295257e-03f,
+7.141037689e-03f, 7.134768097e-03f, 7.128486493e-03f, 7.122192888e-03f, 7.115887293e-03f, 7.109569721e-03f, 7.103240182e-03f, 7.096898689e-03f, 7.090545252e-03f, 7.084179883e-03f,
+7.077802594e-03f, 7.071413397e-03f, 7.065012303e-03f, 7.058599323e-03f, 7.052174471e-03f, 7.045737756e-03f, 7.039289191e-03f, 7.032828788e-03f, 7.026356558e-03f, 7.019872513e-03f,
+7.013376666e-03f, 7.006869027e-03f, 7.000349609e-03f, 6.993818423e-03f, 6.987275482e-03f, 6.980720797e-03f, 6.974154380e-03f, 6.967576243e-03f, 6.960986398e-03f, 6.954384857e-03f,
+6.947771633e-03f, 6.941146736e-03f, 6.934510179e-03f, 6.927861975e-03f, 6.921202135e-03f, 6.914530671e-03f, 6.907847596e-03f, 6.901152921e-03f, 6.894446659e-03f, 6.887728821e-03f,
+6.880999421e-03f, 6.874258470e-03f, 6.867505981e-03f, 6.860741965e-03f, 6.853966435e-03f, 6.847179404e-03f, 6.840380883e-03f, 6.833570885e-03f, 6.826749423e-03f, 6.819916508e-03f,
+6.813072153e-03f, 6.806216371e-03f, 6.799349173e-03f, 6.792470573e-03f, 6.785580582e-03f, 6.778679214e-03f, 6.771766480e-03f, 6.764842394e-03f, 6.757906968e-03f, 6.750960213e-03f,
+6.744002144e-03f, 6.737032772e-03f, 6.730052111e-03f, 6.723060172e-03f, 6.716056968e-03f, 6.709042513e-03f, 6.702016818e-03f, 6.694979897e-03f, 6.687931762e-03f, 6.680872425e-03f,
+6.673801901e-03f, 6.666720201e-03f, 6.659627338e-03f, 6.652523325e-03f, 6.645408175e-03f, 6.638281901e-03f, 6.631144516e-03f, 6.623996032e-03f, 6.616836463e-03f, 6.609665820e-03f,
+6.602484119e-03f, 6.595291370e-03f, 6.588087588e-03f, 6.580872785e-03f, 6.573646974e-03f, 6.566410169e-03f, 6.559162382e-03f, 6.551903627e-03f, 6.544633916e-03f, 6.537353262e-03f,
+6.530061680e-03f, 6.522759181e-03f, 6.515445780e-03f, 6.508121489e-03f, 6.500786321e-03f, 6.493440290e-03f, 6.486083409e-03f, 6.478715691e-03f, 6.471337150e-03f, 6.463947799e-03f,
+6.456547651e-03f, 6.449136719e-03f, 6.441715017e-03f, 6.434282558e-03f, 6.426839355e-03f, 6.419385423e-03f, 6.411920773e-03f, 6.404445421e-03f, 6.396959379e-03f, 6.389462660e-03f,
+6.381955279e-03f, 6.374437249e-03f, 6.366908582e-03f, 6.359369294e-03f, 6.351819397e-03f, 6.344258905e-03f, 6.336687831e-03f, 6.329106189e-03f, 6.321513994e-03f, 6.313911257e-03f,
+6.306297994e-03f, 6.298674217e-03f, 6.291039941e-03f, 6.283395179e-03f, 6.275739946e-03f, 6.268074253e-03f, 6.260398116e-03f, 6.252711549e-03f, 6.245014564e-03f, 6.237307177e-03f,
+6.229589400e-03f, 6.221861247e-03f, 6.214122733e-03f, 6.206373872e-03f, 6.198614676e-03f, 6.190845161e-03f, 6.183065340e-03f, 6.175275227e-03f, 6.167474836e-03f, 6.159664181e-03f,
+6.151843276e-03f, 6.144012136e-03f, 6.136170773e-03f, 6.128319203e-03f, 6.120457438e-03f, 6.112585495e-03f, 6.104703385e-03f, 6.096811125e-03f, 6.088908727e-03f, 6.080996206e-03f,
+6.073073576e-03f, 6.065140851e-03f, 6.057198046e-03f, 6.049245175e-03f, 6.041282252e-03f, 6.033309291e-03f, 6.025326306e-03f, 6.017333313e-03f, 6.009330324e-03f, 6.001317355e-03f,
+5.993294420e-03f, 5.985261533e-03f, 5.977218709e-03f, 5.969165962e-03f, 5.961103306e-03f, 5.953030756e-03f, 5.944948326e-03f, 5.936856031e-03f, 5.928753885e-03f, 5.920641903e-03f,
+5.912520099e-03f, 5.904388487e-03f, 5.896247083e-03f, 5.888095901e-03f, 5.879934956e-03f, 5.871764261e-03f, 5.863583832e-03f, 5.855393683e-03f, 5.847193829e-03f, 5.838984285e-03f,
+5.830765065e-03f, 5.822536183e-03f, 5.814297656e-03f, 5.806049496e-03f, 5.797791720e-03f, 5.789524342e-03f, 5.781247376e-03f, 5.772960837e-03f, 5.764664741e-03f, 5.756359102e-03f,
+5.748043934e-03f, 5.739719253e-03f, 5.731385074e-03f, 5.723041411e-03f, 5.714688279e-03f, 5.706325694e-03f, 5.697953670e-03f, 5.689572221e-03f, 5.681181364e-03f, 5.672781113e-03f,
+5.664371483e-03f, 5.655952488e-03f, 5.647524145e-03f, 5.639086468e-03f, 5.630639472e-03f, 5.622183172e-03f, 5.613717583e-03f, 5.605242720e-03f, 5.596758599e-03f, 5.588265235e-03f,
+5.579762642e-03f, 5.571250836e-03f, 5.562729832e-03f, 5.554199646e-03f, 5.545660291e-03f, 5.537111785e-03f, 5.528554141e-03f, 5.519987375e-03f, 5.511411503e-03f, 5.502826539e-03f,
+5.494232499e-03f, 5.485629399e-03f, 5.477017253e-03f, 5.468396077e-03f, 5.459765886e-03f, 5.451126696e-03f, 5.442478521e-03f, 5.433821378e-03f, 5.425155282e-03f, 5.416480248e-03f,
+5.407796292e-03f, 5.399103429e-03f, 5.390401675e-03f, 5.381691044e-03f, 5.372971553e-03f, 5.364243217e-03f, 5.355506052e-03f, 5.346760073e-03f, 5.338005295e-03f, 5.329241735e-03f,
+5.320469407e-03f, 5.311688329e-03f, 5.302898514e-03f, 5.294099978e-03f, 5.285292738e-03f, 5.276476809e-03f, 5.267652207e-03f, 5.258818947e-03f, 5.249977045e-03f, 5.241126517e-03f,
+5.232267378e-03f, 5.223399644e-03f, 5.214523332e-03f, 5.205638456e-03f, 5.196745032e-03f, 5.187843077e-03f, 5.178932606e-03f, 5.170013635e-03f, 5.161086180e-03f, 5.152150256e-03f,
+5.143205880e-03f, 5.134253067e-03f, 5.125291834e-03f, 5.116322195e-03f, 5.107344168e-03f, 5.098357768e-03f, 5.089363010e-03f, 5.080359912e-03f, 5.071348489e-03f, 5.062328756e-03f,
+5.053300730e-03f, 5.044264428e-03f, 5.035219864e-03f, 5.026167055e-03f, 5.017106017e-03f, 5.008036767e-03f, 4.998959319e-03f, 4.989873691e-03f, 4.980779898e-03f, 4.971677957e-03f,
+4.962567884e-03f, 4.953449694e-03f, 4.944323404e-03f, 4.935189031e-03f, 4.926046589e-03f, 4.916896097e-03f, 4.907737569e-03f, 4.898571022e-03f, 4.889396472e-03f, 4.880213936e-03f,
+4.871023429e-03f, 4.861824969e-03f, 4.852618570e-03f, 4.843404251e-03f, 4.834182026e-03f, 4.824951913e-03f, 4.815713927e-03f, 4.806468086e-03f, 4.797214404e-03f, 4.787952900e-03f,
+4.778683588e-03f, 4.769406486e-03f, 4.760121611e-03f, 4.750828977e-03f, 4.741528602e-03f, 4.732220503e-03f, 4.722904695e-03f, 4.713581196e-03f, 4.704250021e-03f, 4.694911188e-03f,
+4.685564712e-03f, 4.676210611e-03f, 4.666848900e-03f, 4.657479597e-03f, 4.648102718e-03f, 4.638718280e-03f, 4.629326299e-03f, 4.619926791e-03f, 4.610519774e-03f, 4.601105264e-03f,
+4.591683278e-03f, 4.582253831e-03f, 4.572816942e-03f, 4.563372627e-03f, 4.553920902e-03f, 4.544461784e-03f, 4.534995290e-03f, 4.525521436e-03f, 4.516040239e-03f, 4.506551717e-03f,
+4.497055885e-03f, 4.487552761e-03f, 4.478042361e-03f, 4.468524702e-03f, 4.458999801e-03f, 4.449467675e-03f, 4.439928341e-03f, 4.430381815e-03f, 4.420828114e-03f, 4.411267255e-03f,
+4.401699256e-03f, 4.392124132e-03f, 4.382541901e-03f, 4.372952580e-03f, 4.363356185e-03f, 4.353752735e-03f, 4.344142244e-03f, 4.334524731e-03f, 4.324900213e-03f, 4.315268706e-03f,
+4.305630228e-03f, 4.295984795e-03f, 4.286332424e-03f, 4.276673133e-03f, 4.267006939e-03f, 4.257333858e-03f, 4.247653908e-03f, 4.237967105e-03f, 4.228273467e-03f, 4.218573011e-03f,
+4.208865754e-03f, 4.199151714e-03f, 4.189430906e-03f, 4.179703349e-03f, 4.169969059e-03f, 4.160228054e-03f, 4.150480351e-03f, 4.140725967e-03f, 4.130964919e-03f, 4.121197224e-03f,
+4.111422900e-03f, 4.101641964e-03f, 4.091854433e-03f, 4.082060324e-03f, 4.072259655e-03f, 4.062452443e-03f, 4.052638705e-03f, 4.042818458e-03f, 4.032991720e-03f, 4.023158508e-03f,
+4.013318839e-03f, 4.003472730e-03f, 3.993620200e-03f, 3.983761265e-03f, 3.973895943e-03f, 3.964024251e-03f, 3.954146206e-03f, 3.944261826e-03f, 3.934371128e-03f, 3.924474130e-03f,
+3.914570848e-03f, 3.904661302e-03f, 3.894745507e-03f, 3.884823481e-03f, 3.874895242e-03f, 3.864960808e-03f, 3.855020195e-03f, 3.845073421e-03f, 3.835120504e-03f, 3.825161462e-03f,
+3.815196311e-03f, 3.805225069e-03f, 3.795247754e-03f, 3.785264383e-03f, 3.775274975e-03f, 3.765279545e-03f, 3.755278113e-03f, 3.745270696e-03f, 3.735257310e-03f, 3.725237974e-03f,
+3.715212706e-03f, 3.705181523e-03f, 3.695144442e-03f, 3.685101482e-03f, 3.675052660e-03f, 3.664997993e-03f, 3.654937500e-03f, 3.644871197e-03f, 3.634799103e-03f, 3.624721236e-03f,
+3.614637612e-03f, 3.604548251e-03f, 3.594453168e-03f, 3.584352383e-03f, 3.574245913e-03f, 3.564133775e-03f, 3.554015988e-03f, 3.543892569e-03f, 3.533763536e-03f, 3.523628907e-03f,
+3.513488699e-03f, 3.503342931e-03f, 3.493191620e-03f, 3.483034784e-03f, 3.472872440e-03f, 3.462704608e-03f, 3.452531303e-03f, 3.442352546e-03f, 3.432168352e-03f, 3.421978740e-03f,
+3.411783728e-03f, 3.401583334e-03f, 3.391377576e-03f, 3.381166472e-03f, 3.370950039e-03f, 3.360728295e-03f, 3.350501259e-03f, 3.340268948e-03f, 3.330031380e-03f, 3.319788574e-03f,
+3.309540547e-03f, 3.299287317e-03f, 3.289028902e-03f, 3.278765320e-03f, 3.268496589e-03f, 3.258222728e-03f, 3.247943753e-03f, 3.237659684e-03f, 3.227370537e-03f, 3.217076332e-03f,
+3.206777087e-03f, 3.196472818e-03f, 3.186163545e-03f, 3.175849285e-03f, 3.165530057e-03f, 3.155205878e-03f, 3.144876767e-03f, 3.134542741e-03f, 3.124203820e-03f, 3.113860020e-03f,
+3.103511360e-03f, 3.093157859e-03f, 3.082799534e-03f, 3.072436403e-03f, 3.062068485e-03f, 3.051695798e-03f, 3.041318359e-03f, 3.030936188e-03f, 3.020549302e-03f, 3.010157719e-03f,
+2.999761458e-03f, 2.989360537e-03f, 2.978954974e-03f, 2.968544787e-03f, 2.958129995e-03f, 2.947710615e-03f, 2.937286667e-03f, 2.926858167e-03f, 2.916425135e-03f, 2.905987588e-03f,
+2.895545546e-03f, 2.885099025e-03f, 2.874648045e-03f, 2.864192624e-03f, 2.853732780e-03f, 2.843268531e-03f, 2.832799896e-03f, 2.822326893e-03f, 2.811849540e-03f, 2.801367856e-03f,
+2.790881858e-03f, 2.780391566e-03f, 2.769896997e-03f, 2.759398171e-03f, 2.748895104e-03f, 2.738387817e-03f, 2.727876326e-03f, 2.717360650e-03f, 2.706840809e-03f, 2.696316819e-03f,
+2.685788701e-03f, 2.675256471e-03f, 2.664720148e-03f, 2.654179751e-03f, 2.643635298e-03f, 2.633086808e-03f, 2.622534299e-03f, 2.611977790e-03f, 2.601417298e-03f, 2.590852842e-03f,
+2.580284442e-03f, 2.569712115e-03f, 2.559135879e-03f, 2.548555753e-03f, 2.537971757e-03f, 2.527383907e-03f, 2.516792223e-03f, 2.506196723e-03f, 2.495597426e-03f, 2.484994350e-03f,
+2.474387513e-03f, 2.463776935e-03f, 2.453162633e-03f, 2.442544627e-03f, 2.431922934e-03f, 2.421297574e-03f, 2.410668564e-03f, 2.400035924e-03f, 2.389399671e-03f, 2.378759826e-03f,
+2.368116405e-03f, 2.357469427e-03f, 2.346818912e-03f, 2.336164878e-03f, 2.325507343e-03f, 2.314846326e-03f, 2.304181846e-03f, 2.293513920e-03f, 2.282842568e-03f, 2.272167809e-03f,
+2.261489661e-03f, 2.250808142e-03f, 2.240123271e-03f, 2.229435068e-03f, 2.218743549e-03f, 2.208048735e-03f, 2.197350644e-03f, 2.186649294e-03f, 2.175944704e-03f, 2.165236893e-03f,
+2.154525879e-03f, 2.143811681e-03f, 2.133094318e-03f, 2.122373808e-03f, 2.111650170e-03f, 2.100923423e-03f, 2.090193586e-03f, 2.079460677e-03f, 2.068724714e-03f, 2.057985717e-03f,
+2.047243704e-03f, 2.036498695e-03f, 2.025750707e-03f, 2.014999759e-03f, 2.004245870e-03f, 1.993489060e-03f, 1.982729346e-03f, 1.971966747e-03f, 1.961201282e-03f, 1.950432970e-03f,
+1.939661830e-03f, 1.928887879e-03f, 1.918111138e-03f, 1.907331625e-03f, 1.896549358e-03f, 1.885764357e-03f, 1.874976640e-03f, 1.864186226e-03f, 1.853393133e-03f, 1.842597381e-03f,
+1.831798988e-03f, 1.820997973e-03f, 1.810194355e-03f, 1.799388152e-03f, 1.788579384e-03f, 1.777768070e-03f, 1.766954227e-03f, 1.756137875e-03f, 1.745319033e-03f, 1.734497719e-03f,
+1.723673952e-03f, 1.712847752e-03f, 1.702019137e-03f, 1.691188125e-03f, 1.680354736e-03f, 1.669518988e-03f, 1.658680901e-03f, 1.647840493e-03f, 1.636997783e-03f, 1.626152790e-03f,
+1.615305532e-03f, 1.604456029e-03f, 1.593604299e-03f, 1.582750362e-03f, 1.571894236e-03f, 1.561035939e-03f, 1.550175492e-03f, 1.539312912e-03f, 1.528448219e-03f, 1.517581432e-03f,
+1.506712568e-03f, 1.495841648e-03f, 1.484968691e-03f, 1.474093714e-03f, 1.463216737e-03f, 1.452337779e-03f, 1.441456858e-03f, 1.430573995e-03f, 1.419689206e-03f, 1.408802513e-03f,
+1.397913932e-03f, 1.387023484e-03f, 1.376131186e-03f, 1.365237059e-03f, 1.354341121e-03f, 1.343443391e-03f, 1.332543887e-03f, 1.321642630e-03f, 1.310739636e-03f, 1.299834927e-03f,
+1.288928520e-03f, 1.278020434e-03f, 1.267110689e-03f, 1.256199303e-03f, 1.245286295e-03f, 1.234371684e-03f, 1.223455490e-03f, 1.212537730e-03f, 1.201618425e-03f, 1.190697592e-03f,
+1.179775251e-03f, 1.168851421e-03f, 1.157926121e-03f, 1.146999369e-03f, 1.136071186e-03f, 1.125141588e-03f, 1.114210597e-03f, 1.103278230e-03f, 1.092344506e-03f, 1.081409445e-03f,
+1.070473065e-03f, 1.059535386e-03f, 1.048596426e-03f, 1.037656204e-03f, 1.026714739e-03f, 1.015772051e-03f, 1.004828158e-03f, 9.938830792e-04f, 9.829368334e-04f, 9.719894398e-04f,
+9.610409172e-04f, 9.500912846e-04f, 9.391405611e-04f, 9.281887656e-04f, 9.172359171e-04f, 9.062820345e-04f, 8.953271369e-04f, 8.843712432e-04f, 8.734143723e-04f, 8.624565433e-04f,
+8.514977752e-04f, 8.405380869e-04f, 8.295774975e-04f, 8.186160258e-04f, 8.076536909e-04f, 7.966905118e-04f, 7.857265074e-04f, 7.747616968e-04f, 7.637960989e-04f, 7.528297326e-04f,
+7.418626171e-04f, 7.308947713e-04f, 7.199262141e-04f, 7.089569645e-04f, 6.979870416e-04f, 6.870164644e-04f, 6.760452517e-04f, 6.650734226e-04f, 6.541009962e-04f, 6.431279913e-04f,
+6.321544269e-04f, 6.211803222e-04f, 6.102056959e-04f, 5.992305672e-04f, 5.882549550e-04f, 5.772788783e-04f, 5.663023561e-04f, 5.553254074e-04f, 5.443480511e-04f, 5.333703063e-04f,
+5.223921919e-04f, 5.114137270e-04f, 5.004349305e-04f, 4.894558213e-04f, 4.784764186e-04f, 4.674967412e-04f, 4.565168081e-04f, 4.455366384e-04f, 4.345562510e-04f, 4.235756649e-04f,
+4.125948991e-04f, 4.016139726e-04f, 3.906329042e-04f, 3.796517132e-04f, 3.686704183e-04f, 3.576890386e-04f, 3.467075930e-04f, 3.357261006e-04f, 3.247445803e-04f, 3.137630511e-04f,
+3.027815319e-04f, 2.918000418e-04f, 2.808185997e-04f, 2.698372245e-04f, 2.588559353e-04f, 2.478747510e-04f, 2.368936906e-04f, 2.259127731e-04f, 2.149320173e-04f, 2.039514423e-04f,
+1.929710671e-04f, 1.819909106e-04f, 1.710109917e-04f, 1.600313295e-04f, 1.490519428e-04f, 1.380728507e-04f, 1.270940720e-04f, 1.161156258e-04f, 1.051375310e-04f, 9.415980658e-05f,
+8.318247141e-05f, 7.220554448e-05f, 6.122904473e-05f, 5.025299110e-05f, 3.927740255e-05f, 2.830229801e-05f, 1.732769641e-05f, 6.353616691e-06f, -4.619922207e-06f, -1.559290136e-05f,
+-2.656530182e-05f, -3.753710468e-05f, -4.850829101e-05f, -5.947884187e-05f, -7.044873835e-05f, -8.141796152e-05f, -9.238649247e-05f, -1.033543123e-04f, -1.143214020e-04f, -1.252877428e-04f,
+-1.362533158e-04f, -1.472181019e-04f, -1.581820824e-04f, -1.691452382e-04f, -1.801075506e-04f, -1.910690006e-04f, -2.020295693e-04f, -2.129892378e-04f, -2.239479873e-04f, -2.349057988e-04f,
+-2.458626535e-04f, -2.568185324e-04f, -2.677734167e-04f, -2.787272876e-04f, -2.896801261e-04f, -3.006319134e-04f, -3.115826306e-04f, -3.225322588e-04f, -3.334807792e-04f, -3.444281729e-04f,
+-3.553744210e-04f, -3.663195048e-04f, -3.772634053e-04f, -3.882061037e-04f, -3.991475811e-04f, -4.100878188e-04f, -4.210267978e-04f, -4.319644993e-04f, -4.429009046e-04f, -4.538359947e-04f,
+-4.647697509e-04f, -4.757021543e-04f, -4.866331861e-04f, -4.975628274e-04f, -5.084910595e-04f, -5.194178636e-04f, -5.303432208e-04f, -5.412671124e-04f, -5.521895195e-04f, -5.631104234e-04f,
+-5.740298052e-04f, -5.849476462e-04f, -5.958639275e-04f, -6.067786304e-04f, -6.176917362e-04f, -6.286032260e-04f, -6.395130811e-04f, -6.504212826e-04f, -6.613278120e-04f, -6.722326502e-04f,
+-6.831357788e-04f, -6.940371787e-04f, -7.049368314e-04f, -7.158347181e-04f, -7.267308200e-04f, -7.376251185e-04f, -7.485175946e-04f, -7.594082299e-04f, -7.702970054e-04f, -7.811839026e-04f,
+-7.920689026e-04f, -8.029519868e-04f, -8.138331364e-04f, -8.247123328e-04f, -8.355895573e-04f, -8.464647912e-04f, -8.573380157e-04f, -8.682092122e-04f, -8.790783620e-04f, -8.899454465e-04f,
+-9.008104469e-04f, -9.116733446e-04f, -9.225341209e-04f, -9.333927573e-04f, -9.442492349e-04f, -9.551035352e-04f, -9.659556395e-04f, -9.768055293e-04f, -9.876531857e-04f, -9.984985903e-04f,
+-1.009341724e-03f, -1.020182569e-03f, -1.031021107e-03f, -1.041857317e-03f, -1.052691183e-03f, -1.063522686e-03f, -1.074351806e-03f, -1.085178525e-03f, -1.096002826e-03f, -1.106824688e-03f,
+-1.117644094e-03f, -1.128461024e-03f, -1.139275461e-03f, -1.150087386e-03f, -1.160896781e-03f, -1.171703625e-03f, -1.182507902e-03f, -1.193309593e-03f, -1.204108679e-03f, -1.214905141e-03f,
+-1.225698962e-03f, -1.236490122e-03f, -1.247278603e-03f, -1.258064386e-03f, -1.268847454e-03f, -1.279627787e-03f, -1.290405367e-03f, -1.301180176e-03f, -1.311952195e-03f, -1.322721405e-03f,
+-1.333487789e-03f, -1.344251327e-03f, -1.355012001e-03f, -1.365769793e-03f, -1.376524685e-03f, -1.387276657e-03f, -1.398025692e-03f, -1.408771771e-03f, -1.419514876e-03f, -1.430254988e-03f,
+-1.440992088e-03f, -1.451726159e-03f, -1.462457183e-03f, -1.473185139e-03f, -1.483910011e-03f, -1.494631780e-03f, -1.505350427e-03f, -1.516065935e-03f, -1.526778284e-03f, -1.537487457e-03f,
+-1.548193435e-03f, -1.558896199e-03f, -1.569595732e-03f, -1.580292015e-03f, -1.590985030e-03f, -1.601674758e-03f, -1.612361182e-03f, -1.623044282e-03f, -1.633724041e-03f, -1.644400440e-03f,
+-1.655073462e-03f, -1.665743087e-03f, -1.676409297e-03f, -1.687072075e-03f, -1.697731402e-03f, -1.708387259e-03f, -1.719039629e-03f, -1.729688493e-03f, -1.740333834e-03f, -1.750975632e-03f,
+-1.761613869e-03f, -1.772248529e-03f, -1.782879591e-03f, -1.793507038e-03f, -1.804130853e-03f, -1.814751015e-03f, -1.825367509e-03f, -1.835980315e-03f, -1.846589415e-03f, -1.857194791e-03f,
+-1.867796425e-03f, -1.878394299e-03f, -1.888988394e-03f, -1.899578693e-03f, -1.910165178e-03f, -1.920747829e-03f, -1.931326631e-03f, -1.941901563e-03f, -1.952472608e-03f, -1.963039749e-03f,
+-1.973602966e-03f, -1.984162242e-03f, -1.994717560e-03f, -2.005268900e-03f, -2.015816245e-03f, -2.026359576e-03f, -2.036898877e-03f, -2.047434128e-03f, -2.057965312e-03f, -2.068492410e-03f,
+-2.079015406e-03f, -2.089534280e-03f, -2.100049015e-03f, -2.110559593e-03f, -2.121065996e-03f, -2.131568206e-03f, -2.142066205e-03f, -2.152559975e-03f, -2.163049499e-03f, -2.173534757e-03f,
+-2.184015733e-03f, -2.194492409e-03f, -2.204964766e-03f, -2.215432787e-03f, -2.225896454e-03f, -2.236355749e-03f, -2.246810654e-03f, -2.257261151e-03f, -2.267707223e-03f, -2.278148851e-03f,
+-2.288586018e-03f, -2.299018707e-03f, -2.309446898e-03f, -2.319870575e-03f, -2.330289720e-03f, -2.340704314e-03f, -2.351114341e-03f, -2.361519782e-03f, -2.371920620e-03f, -2.382316836e-03f,
+-2.392708414e-03f, -2.403095335e-03f, -2.413477582e-03f, -2.423855137e-03f, -2.434227982e-03f, -2.444596099e-03f, -2.454959472e-03f, -2.465318082e-03f, -2.475671912e-03f, -2.486020943e-03f,
+-2.496365159e-03f, -2.506704542e-03f, -2.517039074e-03f, -2.527368737e-03f, -2.537693514e-03f, -2.548013387e-03f, -2.558328339e-03f, -2.568638352e-03f, -2.578943409e-03f, -2.589243492e-03f,
+-2.599538583e-03f, -2.609828665e-03f, -2.620113720e-03f, -2.630393732e-03f, -2.640668682e-03f, -2.650938552e-03f, -2.661203326e-03f, -2.671462986e-03f, -2.681717514e-03f, -2.691966893e-03f,
+-2.702211106e-03f, -2.712450135e-03f, -2.722683962e-03f, -2.732912571e-03f, -2.743135944e-03f, -2.753354063e-03f, -2.763566911e-03f, -2.773774470e-03f, -2.783976724e-03f, -2.794173655e-03f,
+-2.804365245e-03f, -2.814551478e-03f, -2.824732335e-03f, -2.834907800e-03f, -2.845077855e-03f, -2.855242484e-03f, -2.865401668e-03f, -2.875555390e-03f, -2.885703633e-03f, -2.895846381e-03f,
+-2.905983615e-03f, -2.916115318e-03f, -2.926241473e-03f, -2.936362064e-03f, -2.946477072e-03f, -2.956586480e-03f, -2.966690272e-03f, -2.976788431e-03f, -2.986880938e-03f, -2.996967777e-03f,
+-3.007048931e-03f, -3.017124382e-03f, -3.027194114e-03f, -3.037258109e-03f, -3.047316350e-03f, -3.057368821e-03f, -3.067415503e-03f, -3.077456381e-03f, -3.087491436e-03f, -3.097520653e-03f,
+-3.107544013e-03f, -3.117561500e-03f, -3.127573097e-03f, -3.137578787e-03f, -3.147578553e-03f, -3.157572377e-03f, -3.167560244e-03f, -3.177542135e-03f, -3.187518034e-03f, -3.197487925e-03f,
+-3.207451789e-03f, -3.217409611e-03f, -3.227361373e-03f, -3.237307058e-03f, -3.247246650e-03f, -3.257180132e-03f, -3.267107487e-03f, -3.277028697e-03f, -3.286943747e-03f, -3.296852619e-03f,
+-3.306755296e-03f, -3.316651763e-03f, -3.326542001e-03f, -3.336425994e-03f, -3.346303726e-03f, -3.356175179e-03f, -3.366040337e-03f, -3.375899184e-03f, -3.385751702e-03f, -3.395597874e-03f,
+-3.405437685e-03f, -3.415271117e-03f, -3.425098154e-03f, -3.434918778e-03f, -3.444732975e-03f, -3.454540725e-03f, -3.464342015e-03f, -3.474136825e-03f, -3.483925141e-03f, -3.493706945e-03f,
+-3.503482220e-03f, -3.513250951e-03f, -3.523013121e-03f, -3.532768713e-03f, -3.542517710e-03f, -3.552260096e-03f, -3.561995855e-03f, -3.571724970e-03f, -3.581447425e-03f, -3.591163203e-03f,
+-3.600872287e-03f, -3.610574662e-03f, -3.620270311e-03f, -3.629959217e-03f, -3.639641364e-03f, -3.649316736e-03f, -3.658985316e-03f, -3.668647088e-03f, -3.678302036e-03f, -3.687950142e-03f,
+-3.697591392e-03f, -3.707225768e-03f, -3.716853254e-03f, -3.726473835e-03f, -3.736087493e-03f, -3.745694213e-03f, -3.755293977e-03f, -3.764886771e-03f, -3.774472577e-03f, -3.784051380e-03f,
+-3.793623164e-03f, -3.803187911e-03f, -3.812745606e-03f, -3.822296234e-03f, -3.831839776e-03f, -3.841376219e-03f, -3.850905545e-03f, -3.860427738e-03f, -3.869942782e-03f, -3.879450661e-03f,
+-3.888951360e-03f, -3.898444861e-03f, -3.907931150e-03f, -3.917410209e-03f, -3.926882023e-03f, -3.936346576e-03f, -3.945803852e-03f, -3.955253835e-03f, -3.964696510e-03f, -3.974131859e-03f,
+-3.983559867e-03f, -3.992980518e-03f, -4.002393797e-03f, -4.011799687e-03f, -4.021198172e-03f, -4.030589238e-03f, -4.039972867e-03f, -4.049349044e-03f, -4.058717753e-03f, -4.068078978e-03f,
+-4.077432704e-03f, -4.086778914e-03f, -4.096117594e-03f, -4.105448727e-03f, -4.114772297e-03f, -4.124088289e-03f, -4.133396687e-03f, -4.142697475e-03f, -4.151990638e-03f, -4.161276160e-03f,
+-4.170554025e-03f, -4.179824218e-03f, -4.189086722e-03f, -4.198341523e-03f, -4.207588605e-03f, -4.216827953e-03f, -4.226059549e-03f, -4.235283380e-03f, -4.244499430e-03f, -4.253707682e-03f,
+-4.262908122e-03f, -4.272100733e-03f, -4.281285502e-03f, -4.290462411e-03f, -4.299631446e-03f, -4.308792591e-03f, -4.317945830e-03f, -4.327091149e-03f, -4.336228532e-03f, -4.345357963e-03f,
+-4.354479427e-03f, -4.363592909e-03f, -4.372698393e-03f, -4.381795864e-03f, -4.390885307e-03f, -4.399966706e-03f, -4.409040047e-03f, -4.418105313e-03f, -4.427162490e-03f, -4.436211563e-03f,
+-4.445252515e-03f, -4.454285333e-03f, -4.463310000e-03f, -4.472326501e-03f, -4.481334822e-03f, -4.490334948e-03f, -4.499326862e-03f, -4.508310550e-03f, -4.517285997e-03f, -4.526253188e-03f,
+-4.535212108e-03f, -4.544162741e-03f, -4.553105073e-03f, -4.562039088e-03f, -4.570964772e-03f, -4.579882109e-03f, -4.588791085e-03f, -4.597691684e-03f, -4.606583892e-03f, -4.615467693e-03f,
+-4.624343074e-03f, -4.633210018e-03f, -4.642068511e-03f, -4.650918538e-03f, -4.659760084e-03f, -4.668593134e-03f, -4.677417674e-03f, -4.686233689e-03f, -4.695041163e-03f, -4.703840083e-03f,
+-4.712630433e-03f, -4.721412198e-03f, -4.730185364e-03f, -4.738949916e-03f, -4.747705840e-03f, -4.756453120e-03f, -4.765191742e-03f, -4.773921692e-03f, -4.782642954e-03f, -4.791355514e-03f,
+-4.800059358e-03f, -4.808754470e-03f, -4.817440837e-03f, -4.826118443e-03f, -4.834787275e-03f, -4.843447317e-03f, -4.852098555e-03f, -4.860740974e-03f, -4.869374561e-03f, -4.877999300e-03f,
+-4.886615178e-03f, -4.895222179e-03f, -4.903820289e-03f, -4.912409494e-03f, -4.920989780e-03f, -4.929561132e-03f, -4.938123535e-03f, -4.946676976e-03f, -4.955221440e-03f, -4.963756912e-03f,
+-4.972283379e-03f, -4.980800826e-03f, -4.989309239e-03f, -4.997808604e-03f, -5.006298906e-03f, -5.014780132e-03f, -5.023252266e-03f, -5.031715295e-03f, -5.040169205e-03f, -5.048613981e-03f,
+-5.057049610e-03f, -5.065476077e-03f, -5.073893368e-03f, -5.082301469e-03f, -5.090700366e-03f, -5.099090045e-03f, -5.107470492e-03f, -5.115841693e-03f, -5.124203634e-03f, -5.132556301e-03f,
+-5.140899680e-03f, -5.149233757e-03f, -5.157558518e-03f, -5.165873949e-03f, -5.174180036e-03f, -5.182476766e-03f, -5.190764124e-03f, -5.199042097e-03f, -5.207310671e-03f, -5.215569831e-03f,
+-5.223819565e-03f, -5.232059859e-03f, -5.240290698e-03f, -5.248512069e-03f, -5.256723958e-03f, -5.264926352e-03f, -5.273119237e-03f, -5.281302598e-03f, -5.289476423e-03f, -5.297640698e-03f,
+-5.305795409e-03f, -5.313940543e-03f, -5.322076086e-03f, -5.330202024e-03f, -5.338318344e-03f, -5.346425032e-03f, -5.354522076e-03f, -5.362609460e-03f, -5.370687172e-03f, -5.378755199e-03f,
+-5.386813526e-03f, -5.394862141e-03f, -5.402901030e-03f, -5.410930179e-03f, -5.418949576e-03f, -5.426959206e-03f, -5.434959058e-03f, -5.442949116e-03f, -5.450929368e-03f, -5.458899801e-03f,
+-5.466860401e-03f, -5.474811155e-03f, -5.482752050e-03f, -5.490683072e-03f, -5.498604209e-03f, -5.506515447e-03f, -5.514416773e-03f, -5.522308174e-03f, -5.530189636e-03f, -5.538061147e-03f,
+-5.545922694e-03f, -5.553774263e-03f, -5.561615841e-03f, -5.569447416e-03f, -5.577268974e-03f, -5.585080502e-03f, -5.592881987e-03f, -5.600673417e-03f, -5.608454778e-03f, -5.616226058e-03f,
+-5.623987242e-03f, -5.631738320e-03f, -5.639479277e-03f, -5.647210101e-03f, -5.654930779e-03f, -5.662641298e-03f, -5.670341645e-03f, -5.678031808e-03f, -5.685711774e-03f, -5.693381530e-03f,
+-5.701041063e-03f, -5.708690360e-03f, -5.716329409e-03f, -5.723958198e-03f, -5.731576713e-03f, -5.739184941e-03f, -5.746782871e-03f, -5.754370490e-03f, -5.761947785e-03f, -5.769514742e-03f,
+-5.777071351e-03f, -5.784617599e-03f, -5.792153472e-03f, -5.799678958e-03f, -5.807194045e-03f, -5.814698721e-03f, -5.822192972e-03f, -5.829676787e-03f, -5.837150153e-03f, -5.844613058e-03f,
+-5.852065489e-03f, -5.859507434e-03f, -5.866938881e-03f, -5.874359817e-03f, -5.881770230e-03f, -5.889170108e-03f, -5.896559439e-03f, -5.903938209e-03f, -5.911306408e-03f, -5.918664023e-03f,
+-5.926011041e-03f, -5.933347451e-03f, -5.940673240e-03f, -5.947988397e-03f, -5.955292909e-03f, -5.962586763e-03f, -5.969869949e-03f, -5.977142454e-03f, -5.984404265e-03f, -5.991655372e-03f,
+-5.998895761e-03f, -6.006125421e-03f, -6.013344341e-03f, -6.020552507e-03f, -6.027749908e-03f, -6.034936533e-03f, -6.042112369e-03f, -6.049277405e-03f, -6.056431628e-03f, -6.063575027e-03f,
+-6.070707591e-03f, -6.077829306e-03f, -6.084940162e-03f, -6.092040147e-03f, -6.099129249e-03f, -6.106207456e-03f, -6.113274757e-03f, -6.120331139e-03f, -6.127376593e-03f, -6.134411104e-03f,
+-6.141434664e-03f, -6.148447258e-03f, -6.155448877e-03f, -6.162439508e-03f, -6.169419140e-03f, -6.176387761e-03f, -6.183345360e-03f, -6.190291926e-03f, -6.197227446e-03f, -6.204151911e-03f,
+-6.211065307e-03f, -6.217967624e-03f, -6.224858851e-03f, -6.231738975e-03f, -6.238607986e-03f, -6.245465873e-03f, -6.252312624e-03f, -6.259148228e-03f, -6.265972673e-03f, -6.272785948e-03f,
+-6.279588043e-03f, -6.286378946e-03f, -6.293158645e-03f, -6.299927130e-03f, -6.306684390e-03f, -6.313430413e-03f, -6.320165188e-03f, -6.326888705e-03f, -6.333600951e-03f, -6.340301917e-03f,
+-6.346991591e-03f, -6.353669962e-03f, -6.360337020e-03f, -6.366992752e-03f, -6.373637149e-03f, -6.380270199e-03f, -6.386891892e-03f, -6.393502216e-03f, -6.400101161e-03f, -6.406688716e-03f,
+-6.413264870e-03f, -6.419829612e-03f, -6.426382932e-03f, -6.432924819e-03f, -6.439455261e-03f, -6.445974250e-03f, -6.452481772e-03f, -6.458977819e-03f, -6.465462379e-03f, -6.471935442e-03f,
+-6.478396997e-03f, -6.484847034e-03f, -6.491285542e-03f, -6.497712510e-03f, -6.504127928e-03f, -6.510531785e-03f, -6.516924071e-03f, -6.523304776e-03f, -6.529673889e-03f, -6.536031399e-03f,
+-6.542377296e-03f, -6.548711571e-03f, -6.555034211e-03f, -6.561345208e-03f, -6.567644551e-03f, -6.573932229e-03f, -6.580208232e-03f, -6.586472550e-03f, -6.592725173e-03f, -6.598966090e-03f,
+-6.605195292e-03f, -6.611412768e-03f, -6.617618508e-03f, -6.623812501e-03f, -6.629994738e-03f, -6.636165209e-03f, -6.642323904e-03f, -6.648470812e-03f, -6.654605923e-03f, -6.660729228e-03f,
+-6.666840717e-03f, -6.672940379e-03f, -6.679028204e-03f, -6.685104183e-03f, -6.691168306e-03f, -6.697220563e-03f, -6.703260943e-03f, -6.709289438e-03f, -6.715306038e-03f, -6.721310731e-03f,
+-6.727303510e-03f, -6.733284363e-03f, -6.739253282e-03f, -6.745210256e-03f, -6.751155276e-03f, -6.757088333e-03f, -6.763009416e-03f, -6.768918515e-03f, -6.774815623e-03f, -6.780700727e-03f,
+-6.786573820e-03f, -6.792434892e-03f, -6.798283932e-03f, -6.804120933e-03f, -6.809945883e-03f, -6.815758774e-03f, -6.821559596e-03f, -6.827348340e-03f, -6.833124996e-03f, -6.838889555e-03f,
+-6.844642008e-03f, -6.850382345e-03f, -6.856110557e-03f, -6.861826635e-03f, -6.867530570e-03f, -6.873222351e-03f, -6.878901971e-03f, -6.884569419e-03f, -6.890224687e-03f, -6.895867766e-03f,
+-6.901498645e-03f, -6.907117317e-03f, -6.912723772e-03f, -6.918318001e-03f, -6.923899995e-03f, -6.929469745e-03f, -6.935027242e-03f, -6.940572476e-03f, -6.946105440e-03f, -6.951626124e-03f,
+-6.957134518e-03f, -6.962630615e-03f, -6.968114406e-03f, -6.973585880e-03f, -6.979045031e-03f, -6.984491848e-03f, -6.989926323e-03f, -6.995348448e-03f, -7.000758213e-03f, -7.006155609e-03f,
+-7.011540629e-03f, -7.016913263e-03f, -7.022273503e-03f, -7.027621340e-03f, -7.032956766e-03f, -7.038279771e-03f, -7.043590347e-03f, -7.048888487e-03f, -7.054174180e-03f, -7.059447420e-03f,
+-7.064708196e-03f, -7.069956501e-03f, -7.075192327e-03f, -7.080415664e-03f, -7.085626505e-03f, -7.090824841e-03f, -7.096010664e-03f, -7.101183965e-03f, -7.106344736e-03f, -7.111492969e-03f,
+-7.116628656e-03f, -7.121751788e-03f, -7.126862357e-03f, -7.131960355e-03f, -7.137045774e-03f, -7.142118605e-03f, -7.147178841e-03f, -7.152226473e-03f, -7.157261493e-03f, -7.162283894e-03f,
+-7.167293666e-03f, -7.172290803e-03f, -7.177275296e-03f, -7.182247136e-03f, -7.187206317e-03f, -7.192152831e-03f, -7.197086668e-03f, -7.202007822e-03f, -7.206916285e-03f, -7.211812048e-03f,
+-7.216695104e-03f, -7.221565445e-03f, -7.226423064e-03f, -7.231267952e-03f, -7.236100102e-03f, -7.240919506e-03f, -7.245726156e-03f, -7.250520045e-03f, -7.255301166e-03f, -7.260069510e-03f,
+-7.264825069e-03f, -7.269567837e-03f, -7.274297806e-03f, -7.279014968e-03f, -7.283719316e-03f, -7.288410842e-03f, -7.293089539e-03f, -7.297755399e-03f, -7.302408415e-03f, -7.307048580e-03f,
+-7.311675886e-03f, -7.316290326e-03f, -7.320891892e-03f, -7.325480577e-03f, -7.330056374e-03f, -7.334619276e-03f, -7.339169275e-03f, -7.343706365e-03f, -7.348230537e-03f, -7.352741785e-03f,
+-7.357240102e-03f, -7.361725481e-03f, -7.366197913e-03f, -7.370657394e-03f, -7.375103914e-03f, -7.379537468e-03f, -7.383958048e-03f, -7.388365648e-03f, -7.392760260e-03f, -7.397141877e-03f,
+-7.401510492e-03f, -7.405866100e-03f, -7.410208691e-03f, -7.414538261e-03f, -7.418854802e-03f, -7.423158307e-03f, -7.427448769e-03f, -7.431726182e-03f, -7.435990539e-03f, -7.440241833e-03f,
+-7.444480058e-03f, -7.448705207e-03f, -7.452917272e-03f, -7.457116249e-03f, -7.461302129e-03f, -7.465474907e-03f, -7.469634576e-03f, -7.473781129e-03f, -7.477914559e-03f, -7.482034862e-03f,
+-7.486142029e-03f, -7.490236054e-03f, -7.494316932e-03f, -7.498384655e-03f, -7.502439218e-03f, -7.506480613e-03f, -7.510508835e-03f, -7.514523877e-03f, -7.518525734e-03f, -7.522514398e-03f,
+-7.526489863e-03f, -7.530452124e-03f, -7.534401175e-03f, -7.538337008e-03f, -7.542259618e-03f, -7.546168998e-03f, -7.550065144e-03f, -7.553948048e-03f, -7.557817704e-03f, -7.561674107e-03f,
+-7.565517251e-03f, -7.569347129e-03f, -7.573163736e-03f, -7.576967065e-03f, -7.580757111e-03f, -7.584533868e-03f, -7.588297330e-03f, -7.592047491e-03f, -7.595784346e-03f, -7.599507888e-03f,
+-7.603218112e-03f, -7.606915012e-03f, -7.610598582e-03f, -7.614268817e-03f, -7.617925711e-03f, -7.621569259e-03f, -7.625199454e-03f, -7.628816291e-03f, -7.632419764e-03f, -7.636009869e-03f,
+-7.639586599e-03f, -7.643149949e-03f, -7.646699913e-03f, -7.650236487e-03f, -7.653759664e-03f, -7.657269439e-03f, -7.660765806e-03f, -7.664248761e-03f, -7.667718299e-03f, -7.671174412e-03f,
+-7.674617098e-03f, -7.678046349e-03f, -7.681462161e-03f, -7.684864529e-03f, -7.688253447e-03f, -7.691628910e-03f, -7.694990914e-03f, -7.698339453e-03f, -7.701674521e-03f, -7.704996114e-03f,
+-7.708304227e-03f, -7.711598854e-03f, -7.714879992e-03f, -7.718147633e-03f, -7.721401775e-03f, -7.724642411e-03f, -7.727869537e-03f, -7.731083148e-03f, -7.734283239e-03f, -7.737469805e-03f,
+-7.740642842e-03f, -7.743802344e-03f, -7.746948307e-03f, -7.750080725e-03f, -7.753199596e-03f, -7.756304912e-03f, -7.759396671e-03f, -7.762474867e-03f, -7.765539495e-03f, -7.768590551e-03f,
+-7.771628031e-03f, -7.774651930e-03f, -7.777662243e-03f, -7.780658965e-03f, -7.783642093e-03f, -7.786611622e-03f, -7.789567547e-03f, -7.792509864e-03f, -7.795438568e-03f, -7.798353655e-03f,
+-7.801255122e-03f, -7.804142962e-03f, -7.807017173e-03f, -7.809877750e-03f, -7.812724688e-03f, -7.815557984e-03f, -7.818377633e-03f, -7.821183630e-03f, -7.823975973e-03f, -7.826754656e-03f,
+-7.829519676e-03f, -7.832271028e-03f, -7.835008709e-03f, -7.837732714e-03f, -7.840443039e-03f, -7.843139680e-03f, -7.845822634e-03f, -7.848491896e-03f, -7.851147463e-03f, -7.853789330e-03f,
+-7.856417494e-03f, -7.859031951e-03f, -7.861632697e-03f, -7.864219728e-03f, -7.866793040e-03f, -7.869352630e-03f, -7.871898494e-03f, -7.874430628e-03f, -7.876949029e-03f, -7.879453693e-03f,
+-7.881944615e-03f, -7.884421794e-03f, -7.886885224e-03f, -7.889334903e-03f, -7.891770827e-03f, -7.894192992e-03f, -7.896601395e-03f, -7.898996032e-03f, -7.901376901e-03f, -7.903743997e-03f,
+-7.906097317e-03f, -7.908436857e-03f, -7.910762616e-03f, -7.913074588e-03f, -7.915372771e-03f, -7.917657162e-03f, -7.919927757e-03f, -7.922184553e-03f, -7.924427546e-03f, -7.926656735e-03f,
+-7.928872114e-03f, -7.931073683e-03f, -7.933261436e-03f, -7.935435371e-03f, -7.937595486e-03f, -7.939741777e-03f, -7.941874240e-03f, -7.943992874e-03f, -7.946097675e-03f, -7.948188639e-03f,
+-7.950265765e-03f, -7.952329050e-03f, -7.954378489e-03f, -7.956414082e-03f, -7.958435824e-03f, -7.960443713e-03f, -7.962437746e-03f, -7.964417920e-03f, -7.966384234e-03f, -7.968336683e-03f,
+-7.970275266e-03f, -7.972199979e-03f, -7.974110820e-03f, -7.976007787e-03f, -7.977890877e-03f, -7.979760086e-03f, -7.981615414e-03f, -7.983456857e-03f, -7.985284413e-03f, -7.987098079e-03f,
+-7.988897852e-03f, -7.990683732e-03f, -7.992455714e-03f, -7.994213797e-03f, -7.995957978e-03f, -7.997688256e-03f, -7.999404627e-03f, -8.001107089e-03f, -8.002795641e-03f, -8.004470280e-03f,
+-8.006131004e-03f, -8.007777810e-03f, -8.009410697e-03f, -8.011029662e-03f, -8.012634703e-03f, -8.014225819e-03f, -8.015803007e-03f, -8.017366265e-03f, -8.018915591e-03f, -8.020450983e-03f,
+-8.021972439e-03f, -8.023479958e-03f, -8.024973536e-03f, -8.026453174e-03f, -8.027918868e-03f, -8.029370616e-03f, -8.030808418e-03f, -8.032232271e-03f, -8.033642173e-03f, -8.035038123e-03f,
+-8.036420119e-03f, -8.037788159e-03f, -8.039142242e-03f, -8.040482366e-03f, -8.041808529e-03f, -8.043120729e-03f, -8.044418966e-03f, -8.045703238e-03f, -8.046973543e-03f, -8.048229879e-03f,
+-8.049472246e-03f, -8.050700641e-03f, -8.051915064e-03f, -8.053115512e-03f, -8.054301985e-03f, -8.055474482e-03f, -8.056633000e-03f, -8.057777538e-03f, -8.058908096e-03f, -8.060024672e-03f,
+-8.061127265e-03f, -8.062215873e-03f, -8.063290495e-03f, -8.064351131e-03f, -8.065397779e-03f, -8.066430438e-03f, -8.067449107e-03f, -8.068453785e-03f, -8.069444471e-03f, -8.070421163e-03f,
+-8.071383861e-03f, -8.072332565e-03f, -8.073267272e-03f, -8.074187982e-03f, -8.075094694e-03f, -8.075987407e-03f, -8.076866121e-03f, -8.077730835e-03f, -8.078581547e-03f, -8.079418258e-03f,
+-8.080240965e-03f, -8.081049669e-03f, -8.081844370e-03f, -8.082625065e-03f, -8.083391755e-03f, -8.084144439e-03f, -8.084883116e-03f, -8.085607786e-03f, -8.086318448e-03f, -8.087015102e-03f,
+-8.087697747e-03f, -8.088366383e-03f, -8.089021009e-03f, -8.089661625e-03f, -8.090288230e-03f, -8.090900824e-03f, -8.091499407e-03f, -8.092083979e-03f, -8.092654538e-03f, -8.093211086e-03f,
+-8.093753620e-03f, -8.094282142e-03f, -8.094796651e-03f, -8.095297147e-03f, -8.095783630e-03f, -8.096256099e-03f, -8.096714555e-03f, -8.097158997e-03f, -8.097589425e-03f, -8.098005839e-03f,
+-8.098408240e-03f, -8.098796627e-03f, -8.099171001e-03f, -8.099531360e-03f, -8.099877706e-03f, -8.100210039e-03f, -8.100528358e-03f, -8.100832664e-03f, -8.101122957e-03f, -8.101399237e-03f,
+-8.101661505e-03f, -8.101909760e-03f, -8.102144003e-03f, -8.102364235e-03f, -8.102570455e-03f, -8.102762663e-03f, -8.102940861e-03f, -8.103105049e-03f, -8.103255227e-03f, -8.103391395e-03f,
+-8.103513554e-03f, -8.103621705e-03f, -8.103715848e-03f, -8.103795983e-03f, -8.103862111e-03f, -8.103914233e-03f, -8.103952349e-03f, -8.103976460e-03f, -8.103986567e-03f, -8.103982670e-03f,
+-8.103964770e-03f, -8.103932867e-03f, -8.103886964e-03f, -8.103827059e-03f, -8.103753154e-03f, -8.103665251e-03f, -8.103563348e-03f, -8.103447449e-03f, -8.103317553e-03f, -8.103173662e-03f,
+-8.103015775e-03f, -8.102843896e-03f, -8.102658023e-03f, -8.102458159e-03f, -8.102244305e-03f, -8.102016460e-03f, -8.101774628e-03f, -8.101518808e-03f, -8.101249002e-03f, -8.100965211e-03f,
+-8.100667436e-03f, -8.100355679e-03f, -8.100029940e-03f, -8.099690221e-03f, -8.099336524e-03f, -8.098968848e-03f, -8.098587197e-03f, -8.098191571e-03f, -8.097781972e-03f, -8.097358400e-03f,
+-8.096920858e-03f, -8.096469347e-03f, -8.096003868e-03f, -8.095524423e-03f, -8.095031014e-03f, -8.094523641e-03f, -8.094002307e-03f, -8.093467014e-03f, -8.092917761e-03f, -8.092354553e-03f,
+-8.091777389e-03f, -8.091186272e-03f, -8.090581204e-03f, -8.089962186e-03f, -8.089329220e-03f, -8.088682307e-03f, -8.088021450e-03f, -8.087346651e-03f, -8.086657911e-03f, -8.085955232e-03f,
+-8.085238617e-03f, -8.084508066e-03f, -8.083763583e-03f, -8.083005168e-03f, -8.082232824e-03f, -8.081446554e-03f, -8.080646358e-03f, -8.079832240e-03f, -8.079004201e-03f, -8.078162243e-03f,
+-8.077306369e-03f, -8.076436581e-03f, -8.075552881e-03f, -8.074655270e-03f, -8.073743753e-03f, -8.072818329e-03f, -8.071879003e-03f, -8.070925776e-03f, -8.069958651e-03f, -8.068977630e-03f,
+-8.067982715e-03f, -8.066973909e-03f, -8.065951214e-03f, -8.064914633e-03f, -8.063864168e-03f, -8.062799821e-03f, -8.061721596e-03f, -8.060629495e-03f, -8.059523520e-03f, -8.058403674e-03f,
+-8.057269960e-03f, -8.056122380e-03f, -8.054960937e-03f, -8.053785634e-03f, -8.052596473e-03f, -8.051393457e-03f, -8.050176589e-03f, -8.048945871e-03f, -8.047701307e-03f, -8.046442900e-03f,
+-8.045170652e-03f, -8.043884565e-03f, -8.042584644e-03f, -8.041270891e-03f, -8.039943309e-03f, -8.038601900e-03f, -8.037246669e-03f, -8.035877617e-03f, -8.034494749e-03f, -8.033098066e-03f,
+-8.031687573e-03f, -8.030263272e-03f, -8.028825167e-03f, -8.027373260e-03f, -8.025907555e-03f, -8.024428055e-03f, -8.022934764e-03f, -8.021427684e-03f, -8.019906819e-03f, -8.018372172e-03f,
+-8.016823747e-03f, -8.015261546e-03f, -8.013685574e-03f, -8.012095834e-03f, -8.010492329e-03f, -8.008875062e-03f, -8.007244038e-03f, -8.005599259e-03f, -8.003940729e-03f, -8.002268452e-03f,
+-8.000582431e-03f, -7.998882670e-03f, -7.997169173e-03f, -7.995441943e-03f, -7.993700983e-03f, -7.991946298e-03f, -7.990177891e-03f, -7.988395766e-03f, -7.986599927e-03f, -7.984790378e-03f,
+-7.982967122e-03f, -7.981130163e-03f, -7.979279505e-03f, -7.977415151e-03f, -7.975537107e-03f, -7.973645376e-03f, -7.971739961e-03f, -7.969820867e-03f, -7.967888097e-03f, -7.965941657e-03f,
+-7.963981549e-03f, -7.962007777e-03f, -7.960020347e-03f, -7.958019262e-03f, -7.956004526e-03f, -7.953976143e-03f, -7.951934118e-03f, -7.949878455e-03f, -7.947809157e-03f, -7.945726230e-03f,
+-7.943629677e-03f, -7.941519504e-03f, -7.939395713e-03f, -7.937258310e-03f, -7.935107298e-03f, -7.932942683e-03f, -7.930764469e-03f, -7.928572660e-03f, -7.926367260e-03f, -7.924148275e-03f,
+-7.921915708e-03f, -7.919669564e-03f, -7.917409848e-03f, -7.915136564e-03f, -7.912849717e-03f, -7.910549312e-03f, -7.908235353e-03f, -7.905907845e-03f, -7.903566792e-03f, -7.901212200e-03f,
+-7.898844072e-03f, -7.896462415e-03f, -7.894067232e-03f, -7.891658528e-03f, -7.889236309e-03f, -7.886800579e-03f, -7.884351342e-03f, -7.881888605e-03f, -7.879412372e-03f, -7.876922647e-03f,
+-7.874419436e-03f, -7.871902744e-03f, -7.869372575e-03f, -7.866828936e-03f, -7.864271830e-03f, -7.861701263e-03f, -7.859117241e-03f, -7.856519767e-03f, -7.853908849e-03f, -7.851284489e-03f,
+-7.848646695e-03f, -7.845995470e-03f, -7.843330821e-03f, -7.840652752e-03f, -7.837961270e-03f, -7.835256378e-03f, -7.832538083e-03f, -7.829806390e-03f, -7.827061304e-03f, -7.824302831e-03f,
+-7.821530976e-03f, -7.818745744e-03f, -7.815947142e-03f, -7.813135174e-03f, -7.810309846e-03f, -7.807471164e-03f, -7.804619133e-03f, -7.801753759e-03f, -7.798875048e-03f, -7.795983004e-03f,
+-7.793077634e-03f, -7.790158944e-03f, -7.787226939e-03f, -7.784281625e-03f, -7.781323007e-03f, -7.778351092e-03f, -7.775365885e-03f, -7.772367392e-03f, -7.769355619e-03f, -7.766330571e-03f,
+-7.763292256e-03f, -7.760240678e-03f, -7.757175843e-03f, -7.754097758e-03f, -7.751006428e-03f, -7.747901860e-03f, -7.744784059e-03f, -7.741653031e-03f, -7.738508784e-03f, -7.735351322e-03f,
+-7.732180651e-03f, -7.728996779e-03f, -7.725799711e-03f, -7.722589453e-03f, -7.719366011e-03f, -7.716129392e-03f, -7.712879603e-03f, -7.709616648e-03f, -7.706340535e-03f, -7.703051270e-03f,
+-7.699748859e-03f, -7.696433309e-03f, -7.693104625e-03f, -7.689762815e-03f, -7.686407885e-03f, -7.683039841e-03f, -7.679658689e-03f, -7.676264437e-03f, -7.672857091e-03f, -7.669436657e-03f,
+-7.666003142e-03f, -7.662556552e-03f, -7.659096894e-03f, -7.655624175e-03f, -7.652138401e-03f, -7.648639579e-03f, -7.645127716e-03f, -7.641602819e-03f, -7.638064893e-03f, -7.634513947e-03f,
+-7.630949986e-03f, -7.627373017e-03f, -7.623783049e-03f, -7.620180086e-03f, -7.616564136e-03f, -7.612935206e-03f, -7.609293304e-03f, -7.605638435e-03f, -7.601970607e-03f, -7.598289826e-03f,
+-7.594596101e-03f, -7.590889437e-03f, -7.587169842e-03f, -7.583437324e-03f, -7.579691888e-03f, -7.575933542e-03f, -7.572162294e-03f, -7.568378150e-03f, -7.564581118e-03f, -7.560771205e-03f,
+-7.556948418e-03f, -7.553112764e-03f, -7.549264250e-03f, -7.545402885e-03f, -7.541528675e-03f, -7.537641627e-03f, -7.533741750e-03f, -7.529829049e-03f, -7.525903534e-03f, -7.521965210e-03f,
+-7.518014086e-03f, -7.514050169e-03f, -7.510073467e-03f, -7.506083986e-03f, -7.502081736e-03f, -7.498066722e-03f, -7.494038953e-03f, -7.489998436e-03f, -7.485945180e-03f, -7.481879190e-03f,
+-7.477800476e-03f, -7.473709045e-03f, -7.469604905e-03f, -7.465488062e-03f, -7.461358526e-03f, -7.457216304e-03f, -7.453061403e-03f, -7.448893832e-03f, -7.444713598e-03f, -7.440520710e-03f,
+-7.436315174e-03f, -7.432096999e-03f, -7.427866193e-03f, -7.423622764e-03f, -7.419366720e-03f, -7.415098068e-03f, -7.410816817e-03f, -7.406522975e-03f, -7.402216550e-03f, -7.397897550e-03f,
+-7.393565982e-03f, -7.389221856e-03f, -7.384865179e-03f, -7.380495959e-03f, -7.376114205e-03f, -7.371719924e-03f, -7.367313126e-03f, -7.362893818e-03f, -7.358462008e-03f, -7.354017705e-03f,
+-7.349560917e-03f, -7.345091653e-03f, -7.340609920e-03f, -7.336115727e-03f, -7.331609083e-03f, -7.327089996e-03f, -7.322558474e-03f, -7.318014526e-03f, -7.313458160e-03f, -7.308889385e-03f,
+-7.304308209e-03f, -7.299714641e-03f, -7.295108689e-03f, -7.290490362e-03f, -7.285859669e-03f, -7.281216618e-03f, -7.276561218e-03f, -7.271893477e-03f, -7.267213404e-03f, -7.262521009e-03f,
+-7.257816298e-03f, -7.253099282e-03f, -7.248369970e-03f, -7.243628369e-03f, -7.238874488e-03f, -7.234108337e-03f, -7.229329925e-03f, -7.224539260e-03f, -7.219736351e-03f, -7.214921207e-03f,
+-7.210093836e-03f, -7.205254249e-03f, -7.200402454e-03f, -7.195538459e-03f, -7.190662275e-03f, -7.185773909e-03f, -7.180873371e-03f, -7.175960671e-03f, -7.171035816e-03f, -7.166098817e-03f,
+-7.161149682e-03f, -7.156188421e-03f, -7.151215042e-03f, -7.146229556e-03f, -7.141231970e-03f, -7.136222295e-03f, -7.131200540e-03f, -7.126166714e-03f, -7.121120826e-03f, -7.116062885e-03f,
+-7.110992901e-03f, -7.105910884e-03f, -7.100816842e-03f, -7.095710785e-03f, -7.090592723e-03f, -7.085462665e-03f, -7.080320620e-03f, -7.075166598e-03f, -7.070000608e-03f, -7.064822661e-03f,
+-7.059632764e-03f, -7.054430929e-03f, -7.049217164e-03f, -7.043991480e-03f, -7.038753885e-03f, -7.033504390e-03f, -7.028243004e-03f, -7.022969737e-03f, -7.017684598e-03f, -7.012387598e-03f,
+-7.007078745e-03f, -7.001758051e-03f, -6.996425524e-03f, -6.991081174e-03f, -6.985725011e-03f, -6.980357046e-03f, -6.974977287e-03f, -6.969585745e-03f, -6.964182430e-03f, -6.958767351e-03f,
+-6.953340519e-03f, -6.947901944e-03f, -6.942451635e-03f, -6.936989602e-03f, -6.931515856e-03f, -6.926030407e-03f, -6.920533264e-03f, -6.915024438e-03f, -6.909503939e-03f, -6.903971777e-03f,
+-6.898427961e-03f, -6.892872503e-03f, -6.887305413e-03f, -6.881726700e-03f, -6.876136375e-03f, -6.870534448e-03f, -6.864920930e-03f, -6.859295830e-03f, -6.853659159e-03f, -6.848010927e-03f,
+-6.842351144e-03f, -6.836679822e-03f, -6.830996970e-03f, -6.825302599e-03f, -6.819596719e-03f, -6.813879340e-03f, -6.808150474e-03f, -6.802410130e-03f, -6.796658319e-03f, -6.790895051e-03f,
+-6.785120337e-03f, -6.779334188e-03f, -6.773536615e-03f, -6.767727626e-03f, -6.761907235e-03f, -6.756075450e-03f, -6.750232283e-03f, -6.744377744e-03f, -6.738511844e-03f, -6.732634593e-03f,
+-6.726746003e-03f, -6.720846085e-03f, -6.714934848e-03f, -6.709012304e-03f, -6.703078463e-03f, -6.697133336e-03f, -6.691176935e-03f, -6.685209269e-03f, -6.679230351e-03f, -6.673240190e-03f,
+-6.667238798e-03f, -6.661226185e-03f, -6.655202363e-03f, -6.649167343e-03f, -6.643121135e-03f, -6.637063750e-03f, -6.630995200e-03f, -6.624915496e-03f, -6.618824648e-03f, -6.612722668e-03f,
+-6.606609567e-03f, -6.600485355e-03f, -6.594350045e-03f, -6.588203647e-03f, -6.582046172e-03f, -6.575877632e-03f, -6.569698038e-03f, -6.563507401e-03f, -6.557305732e-03f, -6.551093042e-03f,
+-6.544869344e-03f, -6.538634647e-03f, -6.532388964e-03f, -6.526132306e-03f, -6.519864684e-03f, -6.513586109e-03f, -6.507296594e-03f, -6.500996149e-03f, -6.494684785e-03f, -6.488362515e-03f,
+-6.482029350e-03f, -6.475685300e-03f, -6.469330379e-03f, -6.462964596e-03f, -6.456587965e-03f, -6.450200495e-03f, -6.443802200e-03f, -6.437393090e-03f, -6.430973177e-03f, -6.424542473e-03f,
+-6.418100989e-03f, -6.411648738e-03f, -6.405185730e-03f, -6.398711977e-03f, -6.392227492e-03f, -6.385732286e-03f, -6.379226370e-03f, -6.372709757e-03f, -6.366182458e-03f, -6.359644485e-03f,
+-6.353095850e-03f, -6.346536564e-03f, -6.339966641e-03f, -6.333386090e-03f, -6.326794926e-03f, -6.320193158e-03f, -6.313580800e-03f, -6.306957863e-03f, -6.300324359e-03f, -6.293680300e-03f,
+-6.287025698e-03f, -6.280360566e-03f, -6.273684915e-03f, -6.266998757e-03f, -6.260302104e-03f, -6.253594969e-03f, -6.246877364e-03f, -6.240149300e-03f, -6.233410790e-03f, -6.226661846e-03f,
+-6.219902481e-03f, -6.213132706e-03f, -6.206352533e-03f, -6.199561975e-03f, -6.192761044e-03f, -6.185949753e-03f, -6.179128114e-03f, -6.172296138e-03f, -6.165453839e-03f, -6.158601228e-03f,
+-6.151738318e-03f, -6.144865122e-03f, -6.137981651e-03f, -6.131087919e-03f, -6.124183937e-03f, -6.117269718e-03f, -6.110345274e-03f, -6.103410619e-03f, -6.096465764e-03f, -6.089510722e-03f,
+-6.082545505e-03f, -6.075570127e-03f, -6.068584599e-03f, -6.061588934e-03f, -6.054583145e-03f, -6.047567245e-03f, -6.040541245e-03f, -6.033505159e-03f, -6.026458999e-03f, -6.019402778e-03f,
+-6.012336509e-03f, -6.005260205e-03f, -5.998173877e-03f, -5.991077540e-03f, -5.983971205e-03f, -5.976854885e-03f, -5.969728593e-03f, -5.962592343e-03f, -5.955446146e-03f, -5.948290016e-03f,
+-5.941123966e-03f, -5.933948008e-03f, -5.926762155e-03f, -5.919566421e-03f, -5.912360818e-03f, -5.905145358e-03f, -5.897920056e-03f, -5.890684924e-03f, -5.883439975e-03f, -5.876185222e-03f,
+-5.868920678e-03f, -5.861646356e-03f, -5.854362269e-03f, -5.847068431e-03f, -5.839764853e-03f, -5.832451551e-03f, -5.825128535e-03f, -5.817795821e-03f, -5.810453420e-03f, -5.803101346e-03f,
+-5.795739613e-03f, -5.788368233e-03f, -5.780987219e-03f, -5.773596586e-03f, -5.766196345e-03f, -5.758786511e-03f, -5.751367096e-03f, -5.743938115e-03f, -5.736499579e-03f, -5.729051504e-03f,
+-5.721593901e-03f, -5.714126784e-03f, -5.706650168e-03f, -5.699164064e-03f, -5.691668487e-03f, -5.684163449e-03f, -5.676648965e-03f, -5.669125048e-03f, -5.661591711e-03f, -5.654048968e-03f,
+-5.646496832e-03f, -5.638935317e-03f, -5.631364436e-03f, -5.623784203e-03f, -5.616194632e-03f, -5.608595735e-03f, -5.600987527e-03f, -5.593370022e-03f, -5.585743232e-03f, -5.578107172e-03f,
+-5.570461854e-03f, -5.562807294e-03f, -5.555143504e-03f, -5.547470498e-03f, -5.539788291e-03f, -5.532096895e-03f, -5.524396324e-03f, -5.516686592e-03f, -5.508967714e-03f, -5.501239702e-03f,
+-5.493502571e-03f, -5.485756334e-03f, -5.478001005e-03f, -5.470236598e-03f, -5.462463128e-03f, -5.454680607e-03f, -5.446889050e-03f, -5.439088470e-03f, -5.431278882e-03f, -5.423460300e-03f,
+-5.415632737e-03f, -5.407796207e-03f, -5.399950725e-03f, -5.392096304e-03f, -5.384232959e-03f, -5.376360703e-03f, -5.368479551e-03f, -5.360589516e-03f, -5.352690613e-03f, -5.344782856e-03f,
+-5.336866259e-03f, -5.328940836e-03f, -5.321006600e-03f, -5.313063567e-03f, -5.305111751e-03f, -5.297151165e-03f, -5.289181824e-03f, -5.281203742e-03f, -5.273216933e-03f, -5.265221411e-03f,
+-5.257217192e-03f, -5.249204288e-03f, -5.241182714e-03f, -5.233152486e-03f, -5.225113616e-03f, -5.217066119e-03f, -5.209010009e-03f, -5.200945302e-03f, -5.192872011e-03f, -5.184790150e-03f,
+-5.176699734e-03f, -5.168600778e-03f, -5.160493296e-03f, -5.152377302e-03f, -5.144252810e-03f, -5.136119836e-03f, -5.127978394e-03f, -5.119828497e-03f, -5.111670161e-03f, -5.103503401e-03f,
+-5.095328230e-03f, -5.087144663e-03f, -5.078952715e-03f, -5.070752401e-03f, -5.062543734e-03f, -5.054326730e-03f, -5.046101403e-03f, -5.037867768e-03f, -5.029625840e-03f, -5.021375632e-03f,
+-5.013117161e-03f, -5.004850440e-03f, -4.996575483e-03f, -4.988292307e-03f, -4.980000926e-03f, -4.971701353e-03f, -4.963393605e-03f, -4.955077695e-03f, -4.946753640e-03f, -4.938421452e-03f,
+-4.930081148e-03f, -4.921732742e-03f, -4.913376248e-03f, -4.905011682e-03f, -4.896639059e-03f, -4.888258394e-03f, -4.879869700e-03f, -4.871472994e-03f, -4.863068289e-03f, -4.854655602e-03f,
+-4.846234947e-03f, -4.837806339e-03f, -4.829369792e-03f, -4.820925323e-03f, -4.812472945e-03f, -4.804012674e-03f, -4.795544524e-03f, -4.787068512e-03f, -4.778584652e-03f, -4.770092958e-03f,
+-4.761593447e-03f, -4.753086132e-03f, -4.744571030e-03f, -4.736048155e-03f, -4.727517522e-03f, -4.718979147e-03f, -4.710433045e-03f, -4.701879230e-03f, -4.693317719e-03f, -4.684748525e-03f,
+-4.676171665e-03f, -4.667587153e-03f, -4.658995006e-03f, -4.650395237e-03f, -4.641787862e-03f, -4.633172897e-03f, -4.624550356e-03f, -4.615920256e-03f, -4.607282611e-03f, -4.598637436e-03f,
+-4.589984748e-03f, -4.581324561e-03f, -4.572656890e-03f, -4.563981751e-03f, -4.555299159e-03f, -4.546609131e-03f, -4.537911680e-03f, -4.529206822e-03f, -4.520494574e-03f, -4.511774950e-03f,
+-4.503047965e-03f, -4.494313636e-03f, -4.485571977e-03f, -4.476823005e-03f, -4.468066734e-03f, -4.459303180e-03f, -4.450532359e-03f, -4.441754285e-03f, -4.432968976e-03f, -4.424176445e-03f,
+-4.415376709e-03f, -4.406569784e-03f, -4.397755684e-03f, -4.388934426e-03f, -4.380106025e-03f, -4.371270497e-03f, -4.362427857e-03f, -4.353578120e-03f, -4.344721304e-03f, -4.335857422e-03f,
+-4.326986492e-03f, -4.318108528e-03f, -4.309223546e-03f, -4.300331562e-03f, -4.291432592e-03f, -4.282526651e-03f, -4.273613756e-03f, -4.264693921e-03f, -4.255767163e-03f, -4.246833497e-03f,
+-4.237892940e-03f, -4.228945506e-03f, -4.219991212e-03f, -4.211030074e-03f, -4.202062107e-03f, -4.193087328e-03f, -4.184105752e-03f, -4.175117394e-03f, -4.166122272e-03f, -4.157120400e-03f,
+-4.148111795e-03f, -4.139096472e-03f, -4.130074447e-03f, -4.121045737e-03f, -4.112010358e-03f, -4.102968324e-03f, -4.093919653e-03f, -4.084864360e-03f, -4.075802461e-03f, -4.066733972e-03f,
+-4.057658909e-03f, -4.048577288e-03f, -4.039489126e-03f, -4.030394437e-03f, -4.021293239e-03f, -4.012185547e-03f, -4.003071377e-03f, -3.993950746e-03f, -3.984823669e-03f, -3.975690163e-03f,
+-3.966550243e-03f, -3.957403926e-03f, -3.948251228e-03f, -3.939092165e-03f, -3.929926753e-03f, -3.920755009e-03f, -3.911576948e-03f, -3.902392587e-03f, -3.893201941e-03f, -3.884005028e-03f,
+-3.874801863e-03f, -3.865592462e-03f, -3.856376842e-03f, -3.847155019e-03f, -3.837927009e-03f, -3.828692828e-03f, -3.819452493e-03f, -3.810206020e-03f, -3.800953425e-03f, -3.791694725e-03f,
+-3.782429936e-03f, -3.773159074e-03f, -3.763882155e-03f, -3.754599196e-03f, -3.745310213e-03f, -3.736015222e-03f, -3.726714241e-03f, -3.717407285e-03f, -3.708094370e-03f, -3.698775513e-03f,
+-3.689450730e-03f, -3.680120039e-03f, -3.670783454e-03f, -3.661440994e-03f, -3.652092673e-03f, -3.642738509e-03f, -3.633378517e-03f, -3.624012715e-03f, -3.614641119e-03f, -3.605263746e-03f,
+-3.595880611e-03f, -3.586491732e-03f, -3.577097124e-03f, -3.567696805e-03f, -3.558290791e-03f, -3.548879098e-03f, -3.539461744e-03f, -3.530038743e-03f, -3.520610114e-03f, -3.511175873e-03f,
+-3.501736036e-03f, -3.492290620e-03f, -3.482839641e-03f, -3.473383117e-03f, -3.463921063e-03f, -3.454453496e-03f, -3.444980433e-03f, -3.435501891e-03f, -3.426017886e-03f, -3.416528435e-03f,
+-3.407033555e-03f, -3.397533262e-03f, -3.388027573e-03f, -3.378516504e-03f, -3.369000073e-03f, -3.359478295e-03f, -3.349951189e-03f, -3.340418770e-03f, -3.330881055e-03f, -3.321338061e-03f,
+-3.311789805e-03f, -3.302236304e-03f, -3.292677573e-03f, -3.283113631e-03f, -3.273544493e-03f, -3.263970177e-03f, -3.254390700e-03f, -3.244806077e-03f, -3.235216327e-03f, -3.225621465e-03f,
+-3.216021510e-03f, -3.206416476e-03f, -3.196806382e-03f, -3.187191245e-03f, -3.177571080e-03f, -3.167945906e-03f, -3.158315738e-03f, -3.148680594e-03f, -3.139040490e-03f, -3.129395445e-03f,
+-3.119745473e-03f, -3.110090593e-03f, -3.100430821e-03f, -3.090766175e-03f, -3.081096671e-03f, -3.071422325e-03f, -3.061743156e-03f, -3.052059180e-03f, -3.042370414e-03f, -3.032676875e-03f,
+-3.022978580e-03f, -3.013275546e-03f, -3.003567790e-03f, -2.993855329e-03f, -2.984138180e-03f, -2.974416360e-03f, -2.964689886e-03f, -2.954958775e-03f, -2.945223044e-03f, -2.935482710e-03f,
+-2.925737791e-03f, -2.915988303e-03f, -2.906234264e-03f, -2.896475689e-03f, -2.886712598e-03f, -2.876945006e-03f, -2.867172931e-03f, -2.857396390e-03f, -2.847615399e-03f, -2.837829977e-03f,
+-2.828040140e-03f, -2.818245906e-03f, -2.808447291e-03f, -2.798644312e-03f, -2.788836988e-03f, -2.779025334e-03f, -2.769209369e-03f, -2.759389108e-03f, -2.749564571e-03f, -2.739735773e-03f,
+-2.729902732e-03f, -2.720065465e-03f, -2.710223989e-03f, -2.700378322e-03f, -2.690528481e-03f, -2.680674482e-03f, -2.670816344e-03f, -2.660954083e-03f, -2.651087717e-03f, -2.641217263e-03f,
+-2.631342738e-03f, -2.621464159e-03f, -2.611581544e-03f, -2.601694910e-03f, -2.591804275e-03f, -2.581909655e-03f, -2.572011068e-03f, -2.562108531e-03f, -2.552202061e-03f, -2.542291677e-03f,
+-2.532377394e-03f, -2.522459231e-03f, -2.512537205e-03f, -2.502611333e-03f, -2.492681632e-03f, -2.482748120e-03f, -2.472810814e-03f, -2.462869731e-03f, -2.452924890e-03f, -2.442976307e-03f,
+-2.433023999e-03f, -2.423067984e-03f, -2.413108280e-03f, -2.403144904e-03f, -2.393177872e-03f, -2.383207204e-03f, -2.373232915e-03f, -2.363255024e-03f, -2.353273547e-03f, -2.343288503e-03f,
+-2.333299908e-03f, -2.323307781e-03f, -2.313312138e-03f, -2.303312997e-03f, -2.293310376e-03f, -2.283304291e-03f, -2.273294761e-03f, -2.263281802e-03f, -2.253265433e-03f, -2.243245671e-03f,
+-2.233222533e-03f, -2.223196037e-03f, -2.213166200e-03f, -2.203133040e-03f, -2.193096574e-03f, -2.183056820e-03f, -2.173013795e-03f, -2.162967516e-03f, -2.152918003e-03f, -2.142865270e-03f,
+-2.132809338e-03f, -2.122750222e-03f, -2.112687940e-03f, -2.102622511e-03f, -2.092553951e-03f, -2.082482278e-03f, -2.072407510e-03f, -2.062329664e-03f, -2.052248758e-03f, -2.042164809e-03f,
+-2.032077835e-03f, -2.021987853e-03f, -2.011894882e-03f, -2.001798938e-03f, -1.991700039e-03f, -1.981598204e-03f, -1.971493448e-03f, -1.961385791e-03f, -1.951275249e-03f, -1.941161841e-03f,
+-1.931045584e-03f, -1.920926495e-03f, -1.910804592e-03f, -1.900679893e-03f, -1.890552415e-03f, -1.880422177e-03f, -1.870289195e-03f, -1.860153487e-03f, -1.850015072e-03f, -1.839873966e-03f,
+-1.829730187e-03f, -1.819583753e-03f, -1.809434682e-03f, -1.799282991e-03f, -1.789128698e-03f, -1.778971821e-03f, -1.768812377e-03f, -1.758650384e-03f, -1.748485859e-03f, -1.738318821e-03f,
+-1.728149287e-03f, -1.717977275e-03f, -1.707802802e-03f, -1.697625886e-03f, -1.687446545e-03f, -1.677264797e-03f, -1.667080659e-03f, -1.656894149e-03f, -1.646705284e-03f, -1.636514083e-03f,
+-1.626320564e-03f, -1.616124743e-03f, -1.605926638e-03f, -1.595726268e-03f, -1.585523651e-03f, -1.575318802e-03f, -1.565111742e-03f, -1.554902487e-03f, -1.544691055e-03f, -1.534477463e-03f,
+-1.524261730e-03f, -1.514043874e-03f, -1.503823912e-03f, -1.493601861e-03f, -1.483377740e-03f, -1.473151567e-03f, -1.462923358e-03f, -1.452693133e-03f, -1.442460908e-03f, -1.432226702e-03f,
+-1.421990532e-03f, -1.411752416e-03f, -1.401512372e-03f, -1.391270417e-03f, -1.381026570e-03f, -1.370780848e-03f, -1.360533270e-03f, -1.350283851e-03f, -1.340032612e-03f, -1.329779569e-03f,
+-1.319524740e-03f, -1.309268143e-03f, -1.299009796e-03f, -1.288749717e-03f, -1.278487923e-03f, -1.268224433e-03f, -1.257959263e-03f, -1.247692433e-03f, -1.237423959e-03f, -1.227153859e-03f,
+-1.216882153e-03f, -1.206608856e-03f, -1.196333987e-03f, -1.186057564e-03f, -1.175779605e-03f, -1.165500128e-03f, -1.155219150e-03f, -1.144936689e-03f, -1.134652763e-03f, -1.124367390e-03f,
+-1.114080588e-03f, -1.103792374e-03f, -1.093502767e-03f, -1.083211784e-03f, -1.072919443e-03f, -1.062625762e-03f, -1.052330759e-03f, -1.042034452e-03f, -1.031736858e-03f, -1.021437996e-03f,
+-1.011137883e-03f, -1.000836537e-03f, -9.905339761e-04f, -9.802302180e-04f, -9.699252806e-04f, -9.596191817e-04f, -9.493119393e-04f, -9.390035711e-04f, -9.286940952e-04f, -9.183835292e-04f,
+-9.080718912e-04f, -8.977591989e-04f, -8.874454703e-04f, -8.771307232e-04f, -8.668149755e-04f, -8.564982450e-04f, -8.461805497e-04f, -8.358619074e-04f, -8.255423360e-04f, -8.152218533e-04f,
+-8.049004773e-04f, -7.945782258e-04f, -7.842551167e-04f, -7.739311679e-04f, -7.636063972e-04f, -7.532808226e-04f, -7.429544619e-04f, -7.326273330e-04f, -7.222994538e-04f, -7.119708421e-04f,
+-7.016415159e-04f, -6.913114930e-04f, -6.809807914e-04f, -6.706494288e-04f, -6.603174232e-04f, -6.499847924e-04f, -6.396515544e-04f, -6.293177271e-04f, -6.189833282e-04f, -6.086483758e-04f,
+-5.983128876e-04f, -5.879768816e-04f, -5.776403757e-04f, -5.673033877e-04f, -5.569659355e-04f, -5.466280370e-04f, -5.362897102e-04f, -5.259509727e-04f, -5.156118427e-04f, -5.052723379e-04f,
+-4.949324762e-04f, -4.845922755e-04f, -4.742517538e-04f, -4.639109288e-04f, -4.535698184e-04f, -4.432284406e-04f, -4.328868132e-04f, -4.225449541e-04f, -4.122028812e-04f, -4.018606124e-04f,
+-3.915181655e-04f, -3.811755584e-04f, -3.708328090e-04f, -3.604899352e-04f, -3.501469548e-04f, -3.398038858e-04f, -3.294607459e-04f, -3.191175532e-04f, -3.087743253e-04f, -2.984310804e-04f,
+-2.880878361e-04f, -2.777446104e-04f, -2.674014211e-04f, -2.570582861e-04f, -2.467152233e-04f, -2.363722505e-04f, -2.260293857e-04f, -2.156866466e-04f, -2.053440511e-04f, -1.950016172e-04f,
+-1.846593626e-04f, -1.743173053e-04f, -1.639754630e-04f, -1.536338536e-04f, -1.432924951e-04f, -1.329514052e-04f, -1.226106018e-04f, -1.122701028e-04f, -1.019299260e-04f, -9.159008925e-05f,
+-8.125061041e-05f, -7.091150732e-05f, -6.057279783e-05f, -5.023449979e-05f, -3.989663103e-05f, -2.955920940e-05f, -1.922225273e-05f, -8.885778869e-06f, 1.450194356e-06f, 1.178564911e-05f,
+2.212056756e-05f, 3.245493188e-05f, 4.278872423e-05f, 5.312192680e-05f, 6.345452175e-05f, 7.378649127e-05f, 8.411781753e-05f, 9.444848272e-05f, 1.047784690e-04f, 1.151077586e-04f,
+1.254363337e-04f, 1.357641764e-04f, 1.460912691e-04f, 1.564175937e-04f, 1.667431327e-04f, 1.770678680e-04f, 1.873917821e-04f, 1.977148570e-04f, 2.080370749e-04f, 2.183584181e-04f,
+2.286788689e-04f, 2.389984093e-04f, 2.493170216e-04f, 2.596346880e-04f, 2.699513908e-04f, 2.802671122e-04f, 2.905818343e-04f, 3.008955395e-04f, 3.112082099e-04f, 3.215198278e-04f,
+3.318303755e-04f, 3.421398351e-04f, 3.524481889e-04f, 3.627554191e-04f, 3.730615081e-04f, 3.833664380e-04f, 3.936701910e-04f, 4.039727496e-04f, 4.142740958e-04f, 4.245742121e-04f,
+4.348730805e-04f, 4.451706835e-04f, 4.554670033e-04f, 4.657620221e-04f, 4.760557222e-04f, 4.863480859e-04f, 4.966390955e-04f, 5.069287334e-04f, 5.172169816e-04f, 5.275038227e-04f,
+5.377892388e-04f, 5.480732122e-04f, 5.583557253e-04f, 5.686367604e-04f, 5.789162997e-04f, 5.891943257e-04f, 5.994708205e-04f, 6.097457666e-04f, 6.200191463e-04f, 6.302909418e-04f,
+6.405611355e-04f, 6.508297098e-04f, 6.610966469e-04f, 6.713619293e-04f, 6.816255393e-04f, 6.918874591e-04f, 7.021476713e-04f, 7.124061581e-04f, 7.226629019e-04f, 7.329178850e-04f,
+7.431710899e-04f, 7.534224989e-04f, 7.636720943e-04f, 7.739198587e-04f, 7.841657742e-04f, 7.944098234e-04f, 8.046519887e-04f, 8.148922523e-04f, 8.251305968e-04f, 8.353670045e-04f,
+8.456014579e-04f, 8.558339393e-04f, 8.660644312e-04f, 8.762929160e-04f, 8.865193762e-04f, 8.967437941e-04f, 9.069661521e-04f, 9.171864329e-04f, 9.274046186e-04f, 9.376206920e-04f,
+9.478346353e-04f, 9.580464310e-04f, 9.682560617e-04f, 9.784635097e-04f, 9.886687576e-04f, 9.988717878e-04f, 1.009072583e-03f, 1.019271125e-03f, 1.029467397e-03f, 1.039661381e-03f,
+1.049853061e-03f, 1.060042417e-03f, 1.070229433e-03f, 1.080414092e-03f, 1.090596375e-03f, 1.100776266e-03f, 1.110953746e-03f, 1.121128799e-03f, 1.131301407e-03f, 1.141471553e-03f,
+1.151639218e-03f, 1.161804387e-03f, 1.171967040e-03f, 1.182127161e-03f, 1.192284732e-03f, 1.202439737e-03f, 1.212592156e-03f, 1.222741974e-03f, 1.232889173e-03f, 1.243033734e-03f,
+1.253175642e-03f, 1.263314878e-03f, 1.273451425e-03f, 1.283585266e-03f, 1.293716383e-03f, 1.303844759e-03f, 1.313970377e-03f, 1.324093219e-03f, 1.334213267e-03f, 1.344330506e-03f,
+1.354444916e-03f, 1.364556482e-03f, 1.374665184e-03f, 1.384771008e-03f, 1.394873934e-03f, 1.404973945e-03f, 1.415071025e-03f, 1.425165156e-03f, 1.435256320e-03f, 1.445344501e-03f,
+1.455429681e-03f, 1.465511843e-03f, 1.475590970e-03f, 1.485667043e-03f, 1.495740047e-03f, 1.505809964e-03f, 1.515876776e-03f, 1.525940466e-03f, 1.536001018e-03f, 1.546058413e-03f,
+1.556112635e-03f, 1.566163667e-03f, 1.576211490e-03f, 1.586256089e-03f, 1.596297445e-03f, 1.606335542e-03f, 1.616370363e-03f, 1.626401890e-03f, 1.636430106e-03f, 1.646454994e-03f,
+1.656476536e-03f, 1.666494717e-03f, 1.676509517e-03f, 1.686520921e-03f, 1.696528912e-03f, 1.706533471e-03f, 1.716534583e-03f, 1.726532229e-03f, 1.736526393e-03f, 1.746517058e-03f,
+1.756504207e-03f, 1.766487822e-03f, 1.776467886e-03f, 1.786444383e-03f, 1.796417295e-03f, 1.806386606e-03f, 1.816352297e-03f, 1.826314353e-03f, 1.836272756e-03f, 1.846227489e-03f,
+1.856178536e-03f, 1.866125878e-03f, 1.876069500e-03f, 1.886009383e-03f, 1.895945512e-03f, 1.905877869e-03f, 1.915806437e-03f, 1.925731199e-03f, 1.935652138e-03f, 1.945569238e-03f,
+1.955482481e-03f, 1.965391851e-03f, 1.975297330e-03f, 1.985198902e-03f, 1.995096549e-03f, 2.004990255e-03f, 2.014880003e-03f, 2.024765775e-03f, 2.034647556e-03f, 2.044525328e-03f,
+2.054399075e-03f, 2.064268779e-03f, 2.074134423e-03f, 2.083995992e-03f, 2.093853467e-03f, 2.103706832e-03f, 2.113556071e-03f, 2.123401166e-03f, 2.133242101e-03f, 2.143078859e-03f,
+2.152911422e-03f, 2.162739775e-03f, 2.172563901e-03f, 2.182383783e-03f, 2.192199403e-03f, 2.202010746e-03f, 2.211817794e-03f, 2.221620531e-03f, 2.231418941e-03f, 2.241213005e-03f,
+2.251002709e-03f, 2.260788034e-03f, 2.270568964e-03f, 2.280345483e-03f, 2.290117575e-03f, 2.299885221e-03f, 2.309648406e-03f, 2.319407113e-03f, 2.329161325e-03f, 2.338911026e-03f,
+2.348656199e-03f, 2.358396828e-03f, 2.368132895e-03f, 2.377864385e-03f, 2.387591280e-03f, 2.397313564e-03f, 2.407031221e-03f, 2.416744234e-03f, 2.426452587e-03f, 2.436156262e-03f,
+2.445855243e-03f, 2.455549515e-03f, 2.465239060e-03f, 2.474923861e-03f, 2.484603903e-03f, 2.494279169e-03f, 2.503949642e-03f, 2.513615306e-03f, 2.523276144e-03f, 2.532932140e-03f,
+2.542583278e-03f, 2.552229541e-03f, 2.561870913e-03f, 2.571507377e-03f, 2.581138916e-03f, 2.590765515e-03f, 2.600387158e-03f, 2.610003826e-03f, 2.619615506e-03f, 2.629222179e-03f,
+2.638823830e-03f, 2.648420442e-03f, 2.658011998e-03f, 2.667598484e-03f, 2.677179882e-03f, 2.686756176e-03f, 2.696327349e-03f, 2.705893387e-03f, 2.715454271e-03f, 2.725009986e-03f,
+2.734560516e-03f, 2.744105844e-03f, 2.753645954e-03f, 2.763180830e-03f, 2.772710456e-03f, 2.782234816e-03f, 2.791753893e-03f, 2.801267671e-03f, 2.810776134e-03f, 2.820279266e-03f,
+2.829777050e-03f, 2.839269471e-03f, 2.848756513e-03f, 2.858238158e-03f, 2.867714392e-03f, 2.877185198e-03f, 2.886650560e-03f, 2.896110462e-03f, 2.905564887e-03f, 2.915013820e-03f,
+2.924457245e-03f, 2.933895146e-03f, 2.943327506e-03f, 2.952754310e-03f, 2.962175541e-03f, 2.971591184e-03f, 2.981001222e-03f, 2.990405640e-03f, 2.999804422e-03f, 3.009197552e-03f,
+3.018585013e-03f, 3.027966790e-03f, 3.037342866e-03f, 3.046713227e-03f, 3.056077856e-03f, 3.065436737e-03f, 3.074789854e-03f, 3.084137192e-03f, 3.093478734e-03f, 3.102814465e-03f,
+3.112144368e-03f, 3.121468429e-03f, 3.130786631e-03f, 3.140098958e-03f, 3.149405395e-03f, 3.158705926e-03f, 3.168000535e-03f, 3.177289206e-03f, 3.186571923e-03f, 3.195848671e-03f,
+3.205119434e-03f, 3.214384197e-03f, 3.223642943e-03f, 3.232895657e-03f, 3.242142324e-03f, 3.251382927e-03f, 3.260617450e-03f, 3.269845879e-03f, 3.279068198e-03f, 3.288284391e-03f,
+3.297494442e-03f, 3.306698335e-03f, 3.315896056e-03f, 3.325087588e-03f, 3.334272917e-03f, 3.343452025e-03f, 3.352624899e-03f, 3.361791522e-03f, 3.370951879e-03f, 3.380105954e-03f,
+3.389253732e-03f, 3.398395197e-03f, 3.407530334e-03f, 3.416659127e-03f, 3.425781562e-03f, 3.434897621e-03f, 3.444007291e-03f, 3.453110555e-03f, 3.462207399e-03f, 3.471297806e-03f,
+3.480381762e-03f, 3.489459251e-03f, 3.498530257e-03f, 3.507594766e-03f, 3.516652762e-03f, 3.525704229e-03f, 3.534749153e-03f, 3.543787517e-03f, 3.552819308e-03f, 3.561844509e-03f,
+3.570863105e-03f, 3.579875081e-03f, 3.588880422e-03f, 3.597879112e-03f, 3.606871137e-03f, 3.615856481e-03f, 3.624835128e-03f, 3.633807064e-03f, 3.642772274e-03f, 3.651730742e-03f,
+3.660682454e-03f, 3.669627393e-03f, 3.678565546e-03f, 3.687496896e-03f, 3.696421429e-03f, 3.705339130e-03f, 3.714249983e-03f, 3.723153974e-03f, 3.732051088e-03f, 3.740941309e-03f,
+3.749824623e-03f, 3.758701014e-03f, 3.767570467e-03f, 3.776432968e-03f, 3.785288502e-03f, 3.794137053e-03f, 3.802978607e-03f, 3.811813149e-03f, 3.820640663e-03f, 3.829461135e-03f,
+3.838274551e-03f, 3.847080894e-03f, 3.855880151e-03f, 3.864672306e-03f, 3.873457345e-03f, 3.882235253e-03f, 3.891006014e-03f, 3.899769615e-03f, 3.908526040e-03f, 3.917275275e-03f,
+3.926017304e-03f, 3.934752114e-03f, 3.943479689e-03f, 3.952200015e-03f, 3.960913076e-03f, 3.969618859e-03f, 3.978317349e-03f, 3.987008530e-03f, 3.995692389e-03f, 4.004368910e-03f,
+4.013038079e-03f, 4.021699882e-03f, 4.030354303e-03f, 4.039001329e-03f, 4.047640944e-03f, 4.056273134e-03f, 4.064897885e-03f, 4.073515182e-03f, 4.082125010e-03f, 4.090727356e-03f,
+4.099322203e-03f, 4.107909539e-03f, 4.116489348e-03f, 4.125061617e-03f, 4.133626330e-03f, 4.142183473e-03f, 4.150733032e-03f, 4.159274993e-03f, 4.167809340e-03f, 4.176336060e-03f,
+4.184855139e-03f, 4.193366562e-03f, 4.201870314e-03f, 4.210366381e-03f, 4.218854750e-03f, 4.227335406e-03f, 4.235808334e-03f, 4.244273520e-03f, 4.252730950e-03f, 4.261180610e-03f,
+4.269622486e-03f, 4.278056563e-03f, 4.286482827e-03f, 4.294901264e-03f, 4.303311860e-03f, 4.311714601e-03f, 4.320109473e-03f, 4.328496460e-03f, 4.336875551e-03f, 4.345246729e-03f,
+4.353609982e-03f, 4.361965295e-03f, 4.370312655e-03f, 4.378652046e-03f, 4.386983455e-03f, 4.395306869e-03f, 4.403622273e-03f, 4.411929652e-03f, 4.420228994e-03f, 4.428520285e-03f,
+4.436803509e-03f, 4.445078655e-03f, 4.453345706e-03f, 4.461604650e-03f, 4.469855474e-03f, 4.478098162e-03f, 4.486332701e-03f, 4.494559077e-03f, 4.502777277e-03f, 4.510987286e-03f,
+4.519189092e-03f, 4.527382680e-03f, 4.535568036e-03f, 4.543745146e-03f, 4.551913998e-03f, 4.560074577e-03f, 4.568226869e-03f, 4.576370861e-03f, 4.584506540e-03f, 4.592633891e-03f,
+4.600752901e-03f, 4.608863557e-03f, 4.616965844e-03f, 4.625059749e-03f, 4.633145259e-03f, 4.641222360e-03f, 4.649291038e-03f, 4.657351281e-03f, 4.665403074e-03f, 4.673446404e-03f,
+4.681481257e-03f, 4.689507621e-03f, 4.697525481e-03f, 4.705534824e-03f, 4.713535637e-03f, 4.721527907e-03f, 4.729511619e-03f, 4.737486761e-03f, 4.745453320e-03f, 4.753411281e-03f,
+4.761360632e-03f, 4.769301359e-03f, 4.777233449e-03f, 4.785156889e-03f, 4.793071665e-03f, 4.800977765e-03f, 4.808875174e-03f, 4.816763881e-03f, 4.824643871e-03f, 4.832515131e-03f,
+4.840377649e-03f, 4.848231411e-03f, 4.856076403e-03f, 4.863912614e-03f, 4.871740029e-03f, 4.879558636e-03f, 4.887368422e-03f, 4.895169373e-03f, 4.902961477e-03f, 4.910744720e-03f,
+4.918519089e-03f, 4.926284573e-03f, 4.934041156e-03f, 4.941788827e-03f, 4.949527573e-03f, 4.957257380e-03f, 4.964978237e-03f, 4.972690129e-03f, 4.980393044e-03f, 4.988086969e-03f,
+4.995771891e-03f, 5.003447798e-03f, 5.011114677e-03f, 5.018772514e-03f, 5.026421298e-03f, 5.034061015e-03f, 5.041691652e-03f, 5.049313197e-03f, 5.056925637e-03f, 5.064528960e-03f,
+5.072123153e-03f, 5.079708202e-03f, 5.087284096e-03f, 5.094850822e-03f, 5.102408367e-03f, 5.109956718e-03f, 5.117495863e-03f, 5.125025790e-03f, 5.132546486e-03f, 5.140057938e-03f,
+5.147560134e-03f, 5.155053061e-03f, 5.162536707e-03f, 5.170011059e-03f, 5.177476105e-03f, 5.184931833e-03f, 5.192378230e-03f, 5.199815283e-03f, 5.207242981e-03f, 5.214661310e-03f,
+5.222070259e-03f, 5.229469816e-03f, 5.236859967e-03f, 5.244240701e-03f, 5.251612005e-03f, 5.258973867e-03f, 5.266326275e-03f, 5.273669216e-03f, 5.281002679e-03f, 5.288326651e-03f,
+5.295641120e-03f, 5.302946074e-03f, 5.310241500e-03f, 5.317527387e-03f, 5.324803723e-03f, 5.332070494e-03f, 5.339327690e-03f, 5.346575298e-03f, 5.353813307e-03f, 5.361041703e-03f,
+5.368260475e-03f, 5.375469612e-03f, 5.382669101e-03f, 5.389858929e-03f, 5.397039087e-03f, 5.404209560e-03f, 5.411370338e-03f, 5.418521408e-03f, 5.425662759e-03f, 5.432794379e-03f,
+5.439916255e-03f, 5.447028377e-03f, 5.454130732e-03f, 5.461223309e-03f, 5.468306095e-03f, 5.475379079e-03f, 5.482442250e-03f, 5.489495595e-03f, 5.496539103e-03f, 5.503572763e-03f,
+5.510596562e-03f, 5.517610488e-03f, 5.524614531e-03f, 5.531608679e-03f, 5.538592920e-03f, 5.545567242e-03f, 5.552531634e-03f, 5.559486085e-03f, 5.566430582e-03f, 5.573365115e-03f,
+5.580289671e-03f, 5.587204240e-03f, 5.594108810e-03f, 5.601003370e-03f, 5.607887908e-03f, 5.614762412e-03f, 5.621626872e-03f, 5.628481276e-03f, 5.635325612e-03f, 5.642159870e-03f,
+5.648984037e-03f, 5.655798104e-03f, 5.662602058e-03f, 5.669395888e-03f, 5.676179583e-03f, 5.682953132e-03f, 5.689716523e-03f, 5.696469746e-03f, 5.703212789e-03f, 5.709945641e-03f,
+5.716668291e-03f, 5.723380728e-03f, 5.730082940e-03f, 5.736774918e-03f, 5.743456649e-03f, 5.750128122e-03f, 5.756789327e-03f, 5.763440253e-03f, 5.770080888e-03f, 5.776711222e-03f,
+5.783331244e-03f, 5.789940942e-03f, 5.796540306e-03f, 5.803129325e-03f, 5.809707989e-03f, 5.816276285e-03f, 5.822834204e-03f, 5.829381735e-03f, 5.835918866e-03f, 5.842445588e-03f,
+5.848961889e-03f, 5.855467758e-03f, 5.861963185e-03f, 5.868448159e-03f, 5.874922670e-03f, 5.881386706e-03f, 5.887840258e-03f, 5.894283314e-03f, 5.900715864e-03f, 5.907137897e-03f,
+5.913549403e-03f, 5.919950371e-03f, 5.926340791e-03f, 5.932720652e-03f, 5.939089944e-03f, 5.945448655e-03f, 5.951796777e-03f, 5.958134297e-03f, 5.964461207e-03f, 5.970777494e-03f,
+5.977083150e-03f, 5.983378164e-03f, 5.989662525e-03f, 5.995936223e-03f, 6.002199247e-03f, 6.008451588e-03f, 6.014693235e-03f, 6.020924178e-03f, 6.027144407e-03f, 6.033353911e-03f,
+6.039552680e-03f, 6.045740704e-03f, 6.051917973e-03f, 6.058084477e-03f, 6.064240206e-03f, 6.070385149e-03f, 6.076519297e-03f, 6.082642639e-03f, 6.088755165e-03f, 6.094856866e-03f,
+6.100947731e-03f, 6.107027750e-03f, 6.113096914e-03f, 6.119155212e-03f, 6.125202635e-03f, 6.131239172e-03f, 6.137264815e-03f, 6.143279552e-03f, 6.149283374e-03f, 6.155276271e-03f,
+6.161258233e-03f, 6.167229251e-03f, 6.173189315e-03f, 6.179138415e-03f, 6.185076541e-03f, 6.191003684e-03f, 6.196919834e-03f, 6.202824981e-03f, 6.208719116e-03f, 6.214602228e-03f,
+6.220474309e-03f, 6.226335349e-03f, 6.232185337e-03f, 6.238024266e-03f, 6.243852124e-03f, 6.249668903e-03f, 6.255474593e-03f, 6.261269185e-03f, 6.267052669e-03f, 6.272825035e-03f,
+6.278586275e-03f, 6.284336378e-03f, 6.290075336e-03f, 6.295803139e-03f, 6.301519778e-03f, 6.307225243e-03f, 6.312919526e-03f, 6.318602616e-03f, 6.324274505e-03f, 6.329935183e-03f,
+6.335584641e-03f, 6.341222871e-03f, 6.346849862e-03f, 6.352465606e-03f, 6.358070093e-03f, 6.363663314e-03f, 6.369245261e-03f, 6.374815924e-03f, 6.380375293e-03f, 6.385923361e-03f,
+6.391460118e-03f, 6.396985555e-03f, 6.402499663e-03f, 6.408002433e-03f, 6.413493856e-03f, 6.418973924e-03f, 6.424442626e-03f, 6.429899955e-03f, 6.435345902e-03f, 6.440780457e-03f,
+6.446203612e-03f, 6.451615359e-03f, 6.457015687e-03f, 6.462404589e-03f, 6.467782056e-03f, 6.473148079e-03f, 6.478502650e-03f, 6.483845759e-03f, 6.489177398e-03f, 6.494497558e-03f,
+6.499806231e-03f, 6.505103409e-03f, 6.510389082e-03f, 6.515663242e-03f, 6.520925880e-03f, 6.526176988e-03f, 6.531416558e-03f, 6.536644581e-03f, 6.541861049e-03f, 6.547065952e-03f,
+6.552259284e-03f, 6.557441034e-03f, 6.562611196e-03f, 6.567769759e-03f, 6.572916718e-03f, 6.578052062e-03f, 6.583175783e-03f, 6.588287875e-03f, 6.593388327e-03f, 6.598477132e-03f,
+6.603554281e-03f, 6.608619767e-03f, 6.613673582e-03f, 6.618715716e-03f, 6.623746162e-03f, 6.628764913e-03f, 6.633771959e-03f, 6.638767293e-03f, 6.643750906e-03f, 6.648722791e-03f,
+6.653682940e-03f, 6.658631345e-03f, 6.663567997e-03f, 6.668492889e-03f, 6.673406012e-03f, 6.678307360e-03f, 6.683196924e-03f, 6.688074696e-03f, 6.692940668e-03f, 6.697794832e-03f,
+6.702637182e-03f, 6.707467708e-03f, 6.712286404e-03f, 6.717093261e-03f, 6.721888272e-03f, 6.726671428e-03f, 6.731442724e-03f, 6.736202149e-03f, 6.740949698e-03f, 6.745685363e-03f,
+6.750409135e-03f, 6.755121008e-03f, 6.759820973e-03f, 6.764509023e-03f, 6.769185152e-03f, 6.773849350e-03f, 6.778501612e-03f, 6.783141928e-03f, 6.787770293e-03f, 6.792386698e-03f,
+6.796991136e-03f, 6.801583600e-03f, 6.806164082e-03f, 6.810732576e-03f, 6.815289073e-03f, 6.819833567e-03f, 6.824366050e-03f, 6.828886515e-03f, 6.833394955e-03f, 6.837891363e-03f,
+6.842375731e-03f, 6.846848052e-03f, 6.851308320e-03f, 6.855756527e-03f, 6.860192666e-03f, 6.864616729e-03f, 6.869028711e-03f, 6.873428603e-03f, 6.877816400e-03f, 6.882192093e-03f,
+6.886555676e-03f, 6.890907143e-03f, 6.895246485e-03f, 6.899573696e-03f, 6.903888770e-03f, 6.908191700e-03f, 6.912482478e-03f, 6.916761097e-03f, 6.921027552e-03f, 6.925281835e-03f,
+6.929523940e-03f, 6.933753860e-03f, 6.937971587e-03f, 6.942177116e-03f, 6.946370440e-03f, 6.950551552e-03f, 6.954720446e-03f, 6.958877114e-03f, 6.963021551e-03f, 6.967153750e-03f,
+6.971273704e-03f, 6.975381406e-03f, 6.979476851e-03f, 6.983560032e-03f, 6.987630942e-03f, 6.991689575e-03f, 6.995735925e-03f, 6.999769985e-03f, 7.003791748e-03f, 7.007801209e-03f,
+7.011798361e-03f, 7.015783198e-03f, 7.019755714e-03f, 7.023715902e-03f, 7.027663756e-03f, 7.031599270e-03f, 7.035522438e-03f, 7.039433253e-03f, 7.043331710e-03f, 7.047217802e-03f,
+7.051091523e-03f, 7.054952868e-03f, 7.058801829e-03f, 7.062638402e-03f, 7.066462579e-03f, 7.070274355e-03f, 7.074073725e-03f, 7.077860682e-03f, 7.081635219e-03f, 7.085397333e-03f,
+7.089147015e-03f, 7.092884261e-03f, 7.096609065e-03f, 7.100321421e-03f, 7.104021322e-03f, 7.107708764e-03f, 7.111383741e-03f, 7.115046246e-03f, 7.118696275e-03f, 7.122333821e-03f,
+7.125958879e-03f, 7.129571443e-03f, 7.133171508e-03f, 7.136759067e-03f, 7.140334116e-03f, 7.143896648e-03f, 7.147446659e-03f, 7.150984143e-03f, 7.154509094e-03f, 7.158021506e-03f,
+7.161521375e-03f, 7.165008695e-03f, 7.168483461e-03f, 7.171945667e-03f, 7.175395307e-03f, 7.178832377e-03f, 7.182256871e-03f, 7.185668784e-03f, 7.189068111e-03f, 7.192454845e-03f,
+7.195828983e-03f, 7.199190519e-03f, 7.202539448e-03f, 7.205875764e-03f, 7.209199463e-03f, 7.212510539e-03f, 7.215808987e-03f, 7.219094802e-03f, 7.222367980e-03f, 7.225628515e-03f,
+7.228876401e-03f, 7.232111635e-03f, 7.235334211e-03f, 7.238544124e-03f, 7.241741370e-03f, 7.244925942e-03f, 7.248097838e-03f, 7.251257051e-03f, 7.254403577e-03f, 7.257537411e-03f,
+7.260658548e-03f, 7.263766983e-03f, 7.266862713e-03f, 7.269945731e-03f, 7.273016034e-03f, 7.276073617e-03f, 7.279118474e-03f, 7.282150602e-03f, 7.285169996e-03f, 7.288176651e-03f,
+7.291170563e-03f, 7.294151726e-03f, 7.297120138e-03f, 7.300075792e-03f, 7.303018685e-03f, 7.305948813e-03f, 7.308866170e-03f, 7.311770752e-03f, 7.314662555e-03f, 7.317541575e-03f,
+7.320407808e-03f, 7.323261248e-03f, 7.326101892e-03f, 7.328929735e-03f, 7.331744774e-03f, 7.334547003e-03f, 7.337336419e-03f, 7.340113017e-03f, 7.342876794e-03f, 7.345627746e-03f,
+7.348365867e-03f, 7.351091154e-03f, 7.353803604e-03f, 7.356503211e-03f, 7.359189972e-03f, 7.361863883e-03f, 7.364524940e-03f, 7.367173139e-03f, 7.369808476e-03f, 7.372430947e-03f,
+7.375040548e-03f, 7.377637275e-03f, 7.380221125e-03f, 7.382792094e-03f, 7.385350178e-03f, 7.387895372e-03f, 7.390427674e-03f, 7.392947080e-03f, 7.395453585e-03f, 7.397947187e-03f,
+7.400427881e-03f, 7.402895664e-03f, 7.405350533e-03f, 7.407792483e-03f, 7.410221511e-03f, 7.412637614e-03f, 7.415040787e-03f, 7.417431028e-03f, 7.419808334e-03f, 7.422172699e-03f,
+7.424524122e-03f, 7.426862599e-03f, 7.429188126e-03f, 7.431500700e-03f, 7.433800317e-03f, 7.436086975e-03f, 7.438360669e-03f, 7.440621398e-03f, 7.442869156e-03f, 7.445103942e-03f,
+7.447325752e-03f, 7.449534582e-03f, 7.451730431e-03f, 7.453913293e-03f, 7.456083167e-03f, 7.458240049e-03f, 7.460383936e-03f, 7.462514825e-03f, 7.464632714e-03f, 7.466737598e-03f,
+7.468829475e-03f, 7.470908343e-03f, 7.472974197e-03f, 7.475027036e-03f, 7.477066856e-03f, 7.479093654e-03f, 7.481107428e-03f, 7.483108175e-03f, 7.485095892e-03f, 7.487070576e-03f,
+7.489032224e-03f, 7.490980834e-03f, 7.492916403e-03f, 7.494838928e-03f, 7.496748406e-03f, 7.498644836e-03f, 7.500528213e-03f, 7.502398537e-03f, 7.504255803e-03f, 7.506100011e-03f,
+7.507931156e-03f, 7.509749236e-03f, 7.511554250e-03f, 7.513346194e-03f, 7.515125066e-03f, 7.516890864e-03f, 7.518643585e-03f, 7.520383227e-03f, 7.522109787e-03f, 7.523823264e-03f,
+7.525523655e-03f, 7.527210957e-03f, 7.528885168e-03f, 7.530546287e-03f, 7.532194310e-03f, 7.533829237e-03f, 7.535451063e-03f, 7.537059788e-03f, 7.538655409e-03f, 7.540237925e-03f,
+7.541807332e-03f, 7.543363630e-03f, 7.544906815e-03f, 7.546436886e-03f, 7.547953842e-03f, 7.549457679e-03f, 7.550948396e-03f, 7.552425991e-03f, 7.553890463e-03f, 7.555341809e-03f,
+7.556780027e-03f, 7.558205116e-03f, 7.559617074e-03f, 7.561015899e-03f, 7.562401589e-03f, 7.563774143e-03f, 7.565133558e-03f, 7.566479834e-03f, 7.567812968e-03f, 7.569132959e-03f,
+7.570439805e-03f, 7.571733505e-03f, 7.573014057e-03f, 7.574281459e-03f, 7.575535710e-03f, 7.576776808e-03f, 7.578004753e-03f, 7.579219541e-03f, 7.580421173e-03f, 7.581609647e-03f,
+7.582784960e-03f, 7.583947113e-03f, 7.585096102e-03f, 7.586231928e-03f, 7.587354589e-03f, 7.588464083e-03f, 7.589560410e-03f, 7.590643567e-03f, 7.591713555e-03f, 7.592770371e-03f,
+7.593814014e-03f, 7.594844484e-03f, 7.595861779e-03f, 7.596865898e-03f, 7.597856840e-03f, 7.598834603e-03f, 7.599799188e-03f, 7.600750593e-03f, 7.601688817e-03f, 7.602613858e-03f,
+7.603525717e-03f, 7.604424391e-03f, 7.605309881e-03f, 7.606182185e-03f, 7.607041303e-03f, 7.607887233e-03f, 7.608719975e-03f, 7.609539528e-03f, 7.610345891e-03f, 7.611139064e-03f,
+7.611919046e-03f, 7.612685835e-03f, 7.613439433e-03f, 7.614179837e-03f, 7.614907047e-03f, 7.615621063e-03f, 7.616321884e-03f, 7.617009509e-03f, 7.617683939e-03f, 7.618345172e-03f,
+7.618993207e-03f, 7.619628046e-03f, 7.620249686e-03f, 7.620858128e-03f, 7.621453371e-03f, 7.622035415e-03f, 7.622604259e-03f, 7.623159904e-03f, 7.623702349e-03f, 7.624231593e-03f,
+7.624747636e-03f, 7.625250479e-03f, 7.625740121e-03f, 7.626216561e-03f, 7.626679800e-03f, 7.627129837e-03f, 7.627566672e-03f, 7.627990306e-03f, 7.628400738e-03f, 7.628797968e-03f,
+7.629181995e-03f, 7.629552821e-03f, 7.629910445e-03f, 7.630254867e-03f, 7.630586087e-03f, 7.630904106e-03f, 7.631208922e-03f, 7.631500537e-03f, 7.631778951e-03f, 7.632044164e-03f,
+7.632296175e-03f, 7.632534986e-03f, 7.632760596e-03f, 7.632973006e-03f, 7.633172216e-03f, 7.633358226e-03f, 7.633531037e-03f, 7.633690649e-03f, 7.633837062e-03f, 7.633970277e-03f,
+7.634090295e-03f, 7.634197115e-03f, 7.634290738e-03f, 7.634371165e-03f, 7.634438396e-03f, 7.634492431e-03f, 7.634533272e-03f, 7.634560919e-03f, 7.634575372e-03f, 7.634576633e-03f,
+7.634564701e-03f, 7.634539577e-03f, 7.634501263e-03f, 7.634449759e-03f, 7.634385065e-03f, 7.634307182e-03f, 7.634216112e-03f, 7.634111854e-03f, 7.633994411e-03f, 7.633863782e-03f,
+7.633719968e-03f, 7.633562972e-03f, 7.633392792e-03f, 7.633209431e-03f, 7.633012889e-03f, 7.632803167e-03f, 7.632580267e-03f, 7.632344189e-03f, 7.632094934e-03f, 7.631832504e-03f,
+7.631556900e-03f, 7.631268122e-03f, 7.630966172e-03f, 7.630651052e-03f, 7.630322761e-03f, 7.629981302e-03f, 7.629626676e-03f, 7.629258884e-03f, 7.628877927e-03f, 7.628483807e-03f,
+7.628076524e-03f, 7.627656081e-03f, 7.627222479e-03f, 7.626775719e-03f, 7.626315802e-03f, 7.625842730e-03f, 7.625356505e-03f, 7.624857128e-03f, 7.624344600e-03f, 7.623818923e-03f,
+7.623280099e-03f, 7.622728129e-03f, 7.622163014e-03f, 7.621584757e-03f, 7.620993359e-03f, 7.620388822e-03f, 7.619771147e-03f, 7.619140336e-03f, 7.618496392e-03f, 7.617839314e-03f,
+7.617169107e-03f, 7.616485770e-03f, 7.615789307e-03f, 7.615079718e-03f, 7.614357006e-03f, 7.613621173e-03f, 7.612872221e-03f, 7.612110151e-03f, 7.611334966e-03f, 7.610546667e-03f,
+7.609745257e-03f, 7.608930738e-03f, 7.608103111e-03f, 7.607262379e-03f, 7.606408543e-03f, 7.605541607e-03f, 7.604661572e-03f, 7.603768440e-03f, 7.602862214e-03f, 7.601942895e-03f,
+7.601010486e-03f, 7.600064990e-03f, 7.599106407e-03f, 7.598134742e-03f, 7.597149996e-03f, 7.596152171e-03f, 7.595141271e-03f, 7.594117296e-03f, 7.593080250e-03f, 7.592030136e-03f,
+7.590966955e-03f, 7.589890709e-03f, 7.588801403e-03f, 7.587699038e-03f, 7.586583616e-03f, 7.585455140e-03f, 7.584313614e-03f, 7.583159039e-03f, 7.581991418e-03f, 7.580810753e-03f,
+7.579617048e-03f, 7.578410306e-03f, 7.577190528e-03f, 7.575957718e-03f, 7.574711878e-03f, 7.573453012e-03f, 7.572181122e-03f, 7.570896210e-03f, 7.569598281e-03f, 7.568287336e-03f,
+7.566963378e-03f, 7.565626412e-03f, 7.564276438e-03f, 7.562913461e-03f, 7.561537484e-03f, 7.560148509e-03f, 7.558746539e-03f, 7.557331579e-03f, 7.555903629e-03f, 7.554462695e-03f,
+7.553008779e-03f, 7.551541883e-03f, 7.550062012e-03f, 7.548569169e-03f, 7.547063356e-03f, 7.545544577e-03f, 7.544012835e-03f, 7.542468134e-03f, 7.540910477e-03f, 7.539339867e-03f,
+7.537756307e-03f, 7.536159801e-03f, 7.534550353e-03f, 7.532927965e-03f, 7.531292642e-03f, 7.529644386e-03f, 7.527983201e-03f, 7.526309091e-03f, 7.524622059e-03f, 7.522922109e-03f,
+7.521209244e-03f, 7.519483468e-03f, 7.517744785e-03f, 7.515993198e-03f, 7.514228710e-03f, 7.512451326e-03f, 7.510661050e-03f, 7.508857884e-03f, 7.507041834e-03f, 7.505212901e-03f,
+7.503371092e-03f, 7.501516408e-03f, 7.499648854e-03f, 7.497768434e-03f, 7.495875152e-03f, 7.493969012e-03f, 7.492050017e-03f, 7.490118172e-03f, 7.488173480e-03f, 7.486215946e-03f,
+7.484245574e-03f, 7.482262367e-03f, 7.480266329e-03f, 7.478257466e-03f, 7.476235780e-03f, 7.474201276e-03f, 7.472153959e-03f, 7.470093832e-03f, 7.468020899e-03f, 7.465935165e-03f,
+7.463836634e-03f, 7.461725310e-03f, 7.459601198e-03f, 7.457464302e-03f, 7.455314626e-03f, 7.453152174e-03f, 7.450976951e-03f, 7.448788962e-03f, 7.446588210e-03f, 7.444374700e-03f,
+7.442148437e-03f, 7.439909425e-03f, 7.437657669e-03f, 7.435393172e-03f, 7.433115940e-03f, 7.430825978e-03f, 7.428523289e-03f, 7.426207879e-03f, 7.423879752e-03f, 7.421538912e-03f,
+7.419185365e-03f, 7.416819115e-03f, 7.414440167e-03f, 7.412048525e-03f, 7.409644195e-03f, 7.407227180e-03f, 7.404797487e-03f, 7.402355119e-03f, 7.399900082e-03f, 7.397432380e-03f,
+7.394952019e-03f, 7.392459003e-03f, 7.389953337e-03f, 7.387435026e-03f, 7.384904076e-03f, 7.382360490e-03f, 7.379804275e-03f, 7.377235435e-03f, 7.374653975e-03f, 7.372059901e-03f,
+7.369453217e-03f, 7.366833928e-03f, 7.364202041e-03f, 7.361557559e-03f, 7.358900488e-03f, 7.356230834e-03f, 7.353548602e-03f, 7.350853796e-03f, 7.348146422e-03f, 7.345426486e-03f,
+7.342693992e-03f, 7.339948947e-03f, 7.337191355e-03f, 7.334421222e-03f, 7.331638553e-03f, 7.328843354e-03f, 7.326035630e-03f, 7.323215386e-03f, 7.320382629e-03f, 7.317537364e-03f,
+7.314679595e-03f, 7.311809329e-03f, 7.308926572e-03f, 7.306031328e-03f, 7.303123604e-03f, 7.300203406e-03f, 7.297270738e-03f, 7.294325606e-03f, 7.291368017e-03f, 7.288397976e-03f,
+7.285415489e-03f, 7.282420561e-03f, 7.279413198e-03f, 7.276393406e-03f, 7.273361192e-03f, 7.270316560e-03f, 7.267259517e-03f, 7.264190068e-03f, 7.261108220e-03f, 7.258013979e-03f,
+7.254907349e-03f, 7.251788339e-03f, 7.248656952e-03f, 7.245513196e-03f, 7.242357077e-03f, 7.239188600e-03f, 7.236007771e-03f, 7.232814598e-03f, 7.229609085e-03f, 7.226391239e-03f,
+7.223161066e-03f, 7.219918573e-03f, 7.216663766e-03f, 7.213396650e-03f, 7.210117232e-03f, 7.206825519e-03f, 7.203521516e-03f, 7.200205230e-03f, 7.196876668e-03f, 7.193535836e-03f,
+7.190182739e-03f, 7.186817385e-03f, 7.183439780e-03f, 7.180049930e-03f, 7.176647842e-03f, 7.173233522e-03f, 7.169806977e-03f, 7.166368214e-03f, 7.162917238e-03f, 7.159454057e-03f,
+7.155978677e-03f, 7.152491104e-03f, 7.148991346e-03f, 7.145479409e-03f, 7.141955299e-03f, 7.138419024e-03f, 7.134870590e-03f, 7.131310003e-03f, 7.127737271e-03f, 7.124152400e-03f,
+7.120555398e-03f, 7.116946270e-03f, 7.113325024e-03f, 7.109691667e-03f, 7.106046205e-03f, 7.102388646e-03f, 7.098718995e-03f, 7.095037262e-03f, 7.091343451e-03f, 7.087637570e-03f,
+7.083919627e-03f, 7.080189628e-03f, 7.076447580e-03f, 7.072693491e-03f, 7.068927367e-03f, 7.065149216e-03f, 7.061359044e-03f, 7.057556859e-03f, 7.053742668e-03f, 7.049916478e-03f,
+7.046078297e-03f, 7.042228131e-03f, 7.038365988e-03f, 7.034491875e-03f, 7.030605799e-03f, 7.026707769e-03f, 7.022797790e-03f, 7.018875870e-03f, 7.014942018e-03f, 7.010996239e-03f,
+7.007038542e-03f, 7.003068935e-03f, 6.999087423e-03f, 6.995094015e-03f, 6.991088719e-03f, 6.987071542e-03f, 6.983042491e-03f, 6.979001575e-03f, 6.974948799e-03f, 6.970884173e-03f,
+6.966807704e-03f, 6.962719399e-03f, 6.958619266e-03f, 6.954507313e-03f, 6.950383548e-03f, 6.946247977e-03f, 6.942100610e-03f, 6.937941453e-03f, 6.933770514e-03f, 6.929587802e-03f,
+6.925393324e-03f, 6.921187087e-03f, 6.916969100e-03f, 6.912739371e-03f, 6.908497907e-03f, 6.904244717e-03f, 6.899979808e-03f, 6.895703188e-03f, 6.891414865e-03f, 6.887114847e-03f,
+6.882803143e-03f, 6.878479760e-03f, 6.874144707e-03f, 6.869797990e-03f, 6.865439619e-03f, 6.861069602e-03f, 6.856687947e-03f, 6.852294661e-03f, 6.847889753e-03f, 6.843473232e-03f,
+6.839045105e-03f, 6.834605381e-03f, 6.830154067e-03f, 6.825691173e-03f, 6.821216706e-03f, 6.816730675e-03f, 6.812233088e-03f, 6.807723953e-03f, 6.803203280e-03f, 6.798671075e-03f,
+6.794127348e-03f, 6.789572107e-03f, 6.785005361e-03f, 6.780427117e-03f, 6.775837385e-03f, 6.771236173e-03f, 6.766623489e-03f, 6.761999342e-03f, 6.757363740e-03f, 6.752716693e-03f,
+6.748058209e-03f, 6.743388295e-03f, 6.738706962e-03f, 6.734014217e-03f, 6.729310070e-03f, 6.724594529e-03f, 6.719867602e-03f, 6.715129299e-03f, 6.710379627e-03f, 6.705618597e-03f,
+6.700846217e-03f, 6.696062495e-03f, 6.691267441e-03f, 6.686461062e-03f, 6.681643369e-03f, 6.676814370e-03f, 6.671974074e-03f, 6.667122490e-03f, 6.662259626e-03f, 6.657385492e-03f,
+6.652500097e-03f, 6.647603449e-03f, 6.642695559e-03f, 6.637776434e-03f, 6.632846083e-03f, 6.627904517e-03f, 6.622951744e-03f, 6.617987773e-03f, 6.613012613e-03f, 6.608026273e-03f,
+6.603028763e-03f, 6.598020092e-03f, 6.593000269e-03f, 6.587969303e-03f, 6.582927204e-03f, 6.577873980e-03f, 6.572809641e-03f, 6.567734196e-03f, 6.562647655e-03f, 6.557550028e-03f,
+6.552441322e-03f, 6.547321548e-03f, 6.542190715e-03f, 6.537048833e-03f, 6.531895911e-03f, 6.526731958e-03f, 6.521556983e-03f, 6.516370998e-03f, 6.511174010e-03f, 6.505966029e-03f,
+6.500747066e-03f, 6.495517129e-03f, 6.490276228e-03f, 6.485024373e-03f, 6.479761573e-03f, 6.474487838e-03f, 6.469203177e-03f, 6.463907601e-03f, 6.458601119e-03f, 6.453283740e-03f,
+6.447955475e-03f, 6.442616333e-03f, 6.437266324e-03f, 6.431905458e-03f, 6.426533744e-03f, 6.421151192e-03f, 6.415757813e-03f, 6.410353616e-03f, 6.404938610e-03f, 6.399512807e-03f,
+6.394076215e-03f, 6.388628844e-03f, 6.383170706e-03f, 6.377701809e-03f, 6.372222163e-03f, 6.366731779e-03f, 6.361230666e-03f, 6.355718835e-03f, 6.350196296e-03f, 6.344663058e-03f,
+6.339119133e-03f, 6.333564529e-03f, 6.327999257e-03f, 6.322423327e-03f, 6.316836750e-03f, 6.311239535e-03f, 6.305631693e-03f, 6.300013234e-03f, 6.294384169e-03f, 6.288744506e-03f,
+6.283094258e-03f, 6.277433433e-03f, 6.271762043e-03f, 6.266080097e-03f, 6.260387607e-03f, 6.254684581e-03f, 6.248971032e-03f, 6.243246968e-03f, 6.237512401e-03f, 6.231767341e-03f,
+6.226011799e-03f, 6.220245784e-03f, 6.214469308e-03f, 6.208682380e-03f, 6.202885012e-03f, 6.197077214e-03f, 6.191258997e-03f, 6.185430370e-03f, 6.179591345e-03f, 6.173741932e-03f,
+6.167882142e-03f, 6.162011986e-03f, 6.156131474e-03f, 6.150240616e-03f, 6.144339424e-03f, 6.138427909e-03f, 6.132506080e-03f, 6.126573949e-03f, 6.120631526e-03f, 6.114678823e-03f,
+6.108715850e-03f, 6.102742618e-03f, 6.096759137e-03f, 6.090765419e-03f, 6.084761474e-03f, 6.078747314e-03f, 6.072722948e-03f, 6.066688389e-03f, 6.060643647e-03f, 6.054588733e-03f,
+6.048523658e-03f, 6.042448432e-03f, 6.036363068e-03f, 6.030267576e-03f, 6.024161966e-03f, 6.018046251e-03f, 6.011920441e-03f, 6.005784547e-03f, 5.999638580e-03f, 5.993482552e-03f,
+5.987316473e-03f, 5.981140355e-03f, 5.974954209e-03f, 5.968758046e-03f, 5.962551877e-03f, 5.956335714e-03f, 5.950109567e-03f, 5.943873449e-03f, 5.937627370e-03f, 5.931371341e-03f,
+5.925105374e-03f, 5.918829480e-03f, 5.912543671e-03f, 5.906247958e-03f, 5.899942351e-03f, 5.893626864e-03f, 5.887301506e-03f, 5.880966290e-03f, 5.874621227e-03f, 5.868266328e-03f,
+5.861901605e-03f, 5.855527070e-03f, 5.849142733e-03f, 5.842748606e-03f, 5.836344701e-03f, 5.829931030e-03f, 5.823507603e-03f, 5.817074433e-03f, 5.810631532e-03f, 5.804178910e-03f,
+5.797716579e-03f, 5.791244551e-03f, 5.784762838e-03f, 5.778271452e-03f, 5.771770403e-03f, 5.765259705e-03f, 5.758739368e-03f, 5.752209404e-03f, 5.745669825e-03f, 5.739120643e-03f,
+5.732561870e-03f, 5.725993517e-03f, 5.719415596e-03f, 5.712828119e-03f, 5.706231099e-03f, 5.699624546e-03f, 5.693008472e-03f, 5.686382891e-03f, 5.679747813e-03f, 5.673103250e-03f,
+5.666449215e-03f, 5.659785719e-03f, 5.653112774e-03f, 5.646430393e-03f, 5.639738587e-03f, 5.633037369e-03f, 5.626326750e-03f, 5.619606743e-03f, 5.612877359e-03f, 5.606138611e-03f,
+5.599390510e-03f, 5.592633070e-03f, 5.585866302e-03f, 5.579090218e-03f, 5.572304830e-03f, 5.565510151e-03f, 5.558706192e-03f, 5.551892967e-03f, 5.545070487e-03f, 5.538238764e-03f,
+5.531397811e-03f, 5.524547640e-03f, 5.517688263e-03f, 5.510819693e-03f, 5.503941942e-03f, 5.497055023e-03f, 5.490158946e-03f, 5.483253726e-03f, 5.476339374e-03f, 5.469415904e-03f,
+5.462483326e-03f, 5.455541654e-03f, 5.448590900e-03f, 5.441631076e-03f, 5.434662196e-03f, 5.427684271e-03f, 5.420697314e-03f, 5.413701338e-03f, 5.406696354e-03f, 5.399682377e-03f,
+5.392659417e-03f, 5.385627489e-03f, 5.378586603e-03f, 5.371536774e-03f, 5.364478013e-03f, 5.357410334e-03f, 5.350333748e-03f, 5.343248269e-03f, 5.336153910e-03f, 5.329050682e-03f,
+5.321938599e-03f, 5.314817673e-03f, 5.307687918e-03f, 5.300549345e-03f, 5.293401968e-03f, 5.286245800e-03f, 5.279080853e-03f, 5.271907140e-03f, 5.264724673e-03f, 5.257533467e-03f,
+5.250333533e-03f, 5.243124885e-03f, 5.235907535e-03f, 5.228681496e-03f, 5.221446782e-03f, 5.214203404e-03f, 5.206951377e-03f, 5.199690713e-03f, 5.192421425e-03f, 5.185143526e-03f,
+5.177857028e-03f, 5.170561946e-03f, 5.163258292e-03f, 5.155946079e-03f, 5.148625320e-03f, 5.141296029e-03f, 5.133958217e-03f, 5.126611900e-03f, 5.119257088e-03f, 5.111893797e-03f,
+5.104522038e-03f, 5.097141825e-03f, 5.089753171e-03f, 5.082356090e-03f, 5.074950594e-03f, 5.067536697e-03f, 5.060114411e-03f, 5.052683751e-03f, 5.045244730e-03f, 5.037797360e-03f,
+5.030341655e-03f, 5.022877629e-03f, 5.015405294e-03f, 5.007924664e-03f, 5.000435753e-03f, 4.992938573e-03f, 4.985433138e-03f, 4.977919461e-03f, 4.970397557e-03f, 4.962867437e-03f,
+4.955329116e-03f, 4.947782607e-03f, 4.940227924e-03f, 4.932665079e-03f, 4.925094087e-03f, 4.917514961e-03f, 4.909927714e-03f, 4.902332360e-03f, 4.894728912e-03f, 4.887117385e-03f,
+4.879497791e-03f, 4.871870144e-03f, 4.864234458e-03f, 4.856590746e-03f, 4.848939022e-03f, 4.841279299e-03f, 4.833611592e-03f, 4.825935913e-03f, 4.818252277e-03f, 4.810560696e-03f,
+4.802861186e-03f, 4.795153759e-03f, 4.787438429e-03f, 4.779715210e-03f, 4.771984116e-03f, 4.764245161e-03f, 4.756498357e-03f, 4.748743719e-03f, 4.740981261e-03f, 4.733210997e-03f,
+4.725432940e-03f, 4.717647104e-03f, 4.709853503e-03f, 4.702052151e-03f, 4.694243062e-03f, 4.686426249e-03f, 4.678601727e-03f, 4.670769509e-03f, 4.662929609e-03f, 4.655082042e-03f,
+4.647226821e-03f, 4.639363960e-03f, 4.631493473e-03f, 4.623615375e-03f, 4.615729678e-03f, 4.607836397e-03f, 4.599935547e-03f, 4.592027140e-03f, 4.584111192e-03f, 4.576187716e-03f,
+4.568256726e-03f, 4.560318236e-03f, 4.552372261e-03f, 4.544418815e-03f, 4.536457911e-03f, 4.528489564e-03f, 4.520513787e-03f, 4.512530596e-03f, 4.504540004e-03f, 4.496542026e-03f,
+4.488536675e-03f, 4.480523966e-03f, 4.472503913e-03f, 4.464476530e-03f, 4.456441831e-03f, 4.448399831e-03f, 4.440350545e-03f, 4.432293985e-03f, 4.424230167e-03f, 4.416159104e-03f,
+4.408080812e-03f, 4.399995304e-03f, 4.391902595e-03f, 4.383802699e-03f, 4.375695631e-03f, 4.367581404e-03f, 4.359460034e-03f, 4.351331534e-03f, 4.343195919e-03f, 4.335053203e-03f,
+4.326903401e-03f, 4.318746528e-03f, 4.310582597e-03f, 4.302411623e-03f, 4.294233621e-03f, 4.286048605e-03f, 4.277856590e-03f, 4.269657589e-03f, 4.261451619e-03f, 4.253238692e-03f,
+4.245018824e-03f, 4.236792029e-03f, 4.228558322e-03f, 4.220317717e-03f, 4.212070229e-03f, 4.203815873e-03f, 4.195554663e-03f, 4.187286614e-03f, 4.179011739e-03f, 4.170730055e-03f,
+4.162441576e-03f, 4.154146316e-03f, 4.145844289e-03f, 4.137535512e-03f, 4.129219997e-03f, 4.120897761e-03f, 4.112568818e-03f, 4.104233182e-03f, 4.095890868e-03f, 4.087541891e-03f,
+4.079186266e-03f, 4.070824007e-03f, 4.062455130e-03f, 4.054079649e-03f, 4.045697578e-03f, 4.037308933e-03f, 4.028913729e-03f, 4.020511980e-03f, 4.012103701e-03f, 4.003688907e-03f,
+3.995267613e-03f, 3.986839834e-03f, 3.978405584e-03f, 3.969964879e-03f, 3.961517733e-03f, 3.953064162e-03f, 3.944604180e-03f, 3.936137802e-03f, 3.927665043e-03f, 3.919185918e-03f,
+3.910700443e-03f, 3.902208631e-03f, 3.893710499e-03f, 3.885206060e-03f, 3.876695331e-03f, 3.868178326e-03f, 3.859655059e-03f, 3.851125547e-03f, 3.842589804e-03f, 3.834047845e-03f,
+3.825499686e-03f, 3.816945341e-03f, 3.808384825e-03f, 3.799818154e-03f, 3.791245343e-03f, 3.782666406e-03f, 3.774081360e-03f, 3.765490218e-03f, 3.756892997e-03f, 3.748289711e-03f,
+3.739680375e-03f, 3.731065005e-03f, 3.722443616e-03f, 3.713816223e-03f, 3.705182842e-03f, 3.696543487e-03f, 3.687898173e-03f, 3.679246917e-03f, 3.670589733e-03f, 3.661926636e-03f,
+3.653257642e-03f, 3.644582766e-03f, 3.635902023e-03f, 3.627215429e-03f, 3.618522999e-03f, 3.609824747e-03f, 3.601120691e-03f, 3.592410844e-03f, 3.583695222e-03f, 3.574973841e-03f,
+3.566246715e-03f, 3.557513861e-03f, 3.548775294e-03f, 3.540031028e-03f, 3.531281080e-03f, 3.522525464e-03f, 3.513764197e-03f, 3.504997293e-03f, 3.496224769e-03f, 3.487446638e-03f,
+3.478662918e-03f, 3.469873623e-03f, 3.461078769e-03f, 3.452278371e-03f, 3.443472445e-03f, 3.434661006e-03f, 3.425844070e-03f, 3.417021653e-03f, 3.408193769e-03f, 3.399360434e-03f,
+3.390521664e-03f, 3.381677475e-03f, 3.372827881e-03f, 3.363972899e-03f, 3.355112544e-03f, 3.346246832e-03f, 3.337375778e-03f, 3.328499398e-03f, 3.319617707e-03f, 3.310730721e-03f,
+3.301838456e-03f, 3.292940927e-03f, 3.284038150e-03f, 3.275130141e-03f, 3.266216915e-03f, 3.257298488e-03f, 3.248374875e-03f, 3.239446092e-03f, 3.230512156e-03f, 3.221573081e-03f,
+3.212628883e-03f, 3.203679578e-03f, 3.194725182e-03f, 3.185765710e-03f, 3.176801179e-03f, 3.167831603e-03f, 3.158857000e-03f, 3.149877383e-03f, 3.140892770e-03f, 3.131903176e-03f,
+3.122908616e-03f, 3.113909107e-03f, 3.104904664e-03f, 3.095895304e-03f, 3.086881041e-03f, 3.077861892e-03f, 3.068837873e-03f, 3.059808999e-03f, 3.050775286e-03f, 3.041736750e-03f,
+3.032693408e-03f, 3.023645274e-03f, 3.014592365e-03f, 3.005534696e-03f, 2.996472284e-03f, 2.987405144e-03f, 2.978333293e-03f, 2.969256746e-03f, 2.960175518e-03f, 2.951089627e-03f,
+2.941999088e-03f, 2.932903917e-03f, 2.923804129e-03f, 2.914699741e-03f, 2.905590769e-03f, 2.896477229e-03f, 2.887359136e-03f, 2.878236507e-03f, 2.869109358e-03f, 2.859977704e-03f,
+2.850841562e-03f, 2.841700947e-03f, 2.832555876e-03f, 2.823406365e-03f, 2.814252430e-03f, 2.805094086e-03f, 2.795931350e-03f, 2.786764238e-03f, 2.777592766e-03f, 2.768416950e-03f,
+2.759236806e-03f, 2.750052350e-03f, 2.740863598e-03f, 2.731670566e-03f, 2.722473271e-03f, 2.713271728e-03f, 2.704065954e-03f, 2.694855965e-03f, 2.685641776e-03f, 2.676423404e-03f,
+2.667200866e-03f, 2.657974177e-03f, 2.648743353e-03f, 2.639508410e-03f, 2.630269366e-03f, 2.621026235e-03f, 2.611779034e-03f, 2.602527780e-03f, 2.593272488e-03f, 2.584013174e-03f,
+2.574749856e-03f, 2.565482548e-03f, 2.556211268e-03f, 2.546936030e-03f, 2.537656853e-03f, 2.528373752e-03f, 2.519086742e-03f, 2.509795841e-03f, 2.500501065e-03f, 2.491202429e-03f,
+2.481899951e-03f, 2.472593646e-03f, 2.463283531e-03f, 2.453969621e-03f, 2.444651934e-03f, 2.435330485e-03f, 2.426005291e-03f, 2.416676368e-03f, 2.407343733e-03f, 2.398007401e-03f,
+2.388667389e-03f, 2.379323714e-03f, 2.369976391e-03f, 2.360625437e-03f, 2.351270869e-03f, 2.341912702e-03f, 2.332550953e-03f, 2.323185639e-03f, 2.313816776e-03f, 2.304444379e-03f,
+2.295068466e-03f, 2.285689053e-03f, 2.276306156e-03f, 2.266919791e-03f, 2.257529976e-03f, 2.248136726e-03f, 2.238740058e-03f, 2.229339988e-03f, 2.219936533e-03f, 2.210529708e-03f,
+2.201119532e-03f, 2.191706019e-03f, 2.182289186e-03f, 2.172869050e-03f, 2.163445627e-03f, 2.154018934e-03f, 2.144588987e-03f, 2.135155803e-03f, 2.125719397e-03f, 2.116279787e-03f,
+2.106836989e-03f, 2.097391019e-03f, 2.087941894e-03f, 2.078489631e-03f, 2.069034245e-03f, 2.059575754e-03f, 2.050114174e-03f, 2.040649521e-03f, 2.031181811e-03f, 2.021711063e-03f,
+2.012237291e-03f, 2.002760512e-03f, 1.993280743e-03f, 1.983798001e-03f, 1.974312302e-03f, 1.964823662e-03f, 1.955332098e-03f, 1.945837627e-03f, 1.936340265e-03f, 1.926840029e-03f,
+1.917336935e-03f, 1.907831000e-03f, 1.898322240e-03f, 1.888810673e-03f, 1.879296313e-03f, 1.869779179e-03f, 1.860259287e-03f, 1.850736653e-03f, 1.841211293e-03f, 1.831683226e-03f,
+1.822152466e-03f, 1.812619031e-03f, 1.803082937e-03f, 1.793544201e-03f, 1.784002840e-03f, 1.774458869e-03f, 1.764912307e-03f, 1.755363168e-03f, 1.745811471e-03f, 1.736257231e-03f,
+1.726700466e-03f, 1.717141191e-03f, 1.707579424e-03f, 1.698015182e-03f, 1.688448479e-03f, 1.678879335e-03f, 1.669307764e-03f, 1.659733785e-03f, 1.650157413e-03f, 1.640578664e-03f,
+1.630997557e-03f, 1.621414107e-03f, 1.611828332e-03f, 1.602240247e-03f, 1.592649869e-03f, 1.583057216e-03f, 1.573462303e-03f, 1.563865148e-03f, 1.554265768e-03f, 1.544664178e-03f,
+1.535060396e-03f, 1.525454438e-03f, 1.515846322e-03f, 1.506236063e-03f, 1.496623678e-03f, 1.487009185e-03f, 1.477392600e-03f, 1.467773939e-03f, 1.458153219e-03f, 1.448530458e-03f,
+1.438905672e-03f, 1.429278877e-03f, 1.419650090e-03f, 1.410019328e-03f, 1.400386608e-03f, 1.390751946e-03f, 1.381115360e-03f, 1.371476866e-03f, 1.361836480e-03f, 1.352194220e-03f,
+1.342550102e-03f, 1.332904143e-03f, 1.323256360e-03f, 1.313606769e-03f, 1.303955387e-03f, 1.294302232e-03f, 1.284647319e-03f, 1.274990666e-03f, 1.265332289e-03f, 1.255672205e-03f,
+1.246010432e-03f, 1.236346984e-03f, 1.226681881e-03f, 1.217015137e-03f, 1.207346771e-03f, 1.197676798e-03f, 1.188005236e-03f, 1.178332101e-03f, 1.168657410e-03f, 1.158981180e-03f,
+1.149303429e-03f, 1.139624171e-03f, 1.129943425e-03f, 1.120261207e-03f, 1.110577534e-03f, 1.100892423e-03f, 1.091205890e-03f, 1.081517953e-03f, 1.071828628e-03f, 1.062137932e-03f,
+1.052445882e-03f, 1.042752494e-03f, 1.033057786e-03f, 1.023361774e-03f, 1.013664475e-03f, 1.003965905e-03f, 9.942660831e-04f, 9.845650242e-04f, 9.748627457e-04f, 9.651592643e-04f,
+9.554545970e-04f, 9.457487604e-04f, 9.360417715e-04f, 9.263336471e-04f, 9.166244041e-04f, 9.069140591e-04f, 8.972026291e-04f, 8.874901310e-04f, 8.777765815e-04f, 8.680619974e-04f,
+8.583463957e-04f, 8.486297932e-04f, 8.389122066e-04f, 8.291936529e-04f, 8.194741488e-04f, 8.097537113e-04f, 8.000323571e-04f, 7.903101031e-04f, 7.805869662e-04f, 7.708629631e-04f,
+7.611381108e-04f, 7.514124260e-04f, 7.416859257e-04f, 7.319586267e-04f, 7.222305457e-04f, 7.125016997e-04f, 7.027721056e-04f, 6.930417801e-04f, 6.833107401e-04f, 6.735790024e-04f,
+6.638465840e-04f, 6.541135016e-04f, 6.443797722e-04f, 6.346454125e-04f, 6.249104394e-04f, 6.151748697e-04f, 6.054387204e-04f, 5.957020082e-04f, 5.859647501e-04f, 5.762269628e-04f,
+5.664886632e-04f, 5.567498682e-04f, 5.470105947e-04f, 5.372708594e-04f, 5.275306792e-04f, 5.177900710e-04f, 5.080490516e-04f, 4.983076380e-04f, 4.885658468e-04f, 4.788236950e-04f,
+4.690811995e-04f, 4.593383770e-04f, 4.495952445e-04f, 4.398518188e-04f, 4.301081167e-04f, 4.203641550e-04f, 4.106199508e-04f, 4.008755207e-04f, 3.911308816e-04f, 3.813860504e-04f,
+3.716410439e-04f, 3.618958790e-04f, 3.521505725e-04f, 3.424051413e-04f, 3.326596022e-04f, 3.229139720e-04f, 3.131682676e-04f, 3.034225059e-04f, 2.936767037e-04f, 2.839308777e-04f,
+2.741850450e-04f, 2.644392222e-04f, 2.546934263e-04f, 2.449476740e-04f, 2.352019823e-04f, 2.254563679e-04f, 2.157108477e-04f, 2.059654386e-04f, 1.962201572e-04f, 1.864750206e-04f,
+1.767300455e-04f, 1.669852487e-04f, 1.572406471e-04f, 1.474962576e-04f, 1.377520968e-04f, 1.280081817e-04f, 1.182645291e-04f, 1.085211558e-04f, 9.877807857e-05f, 8.903531432e-05f,
+7.929287983e-05f, 6.955079191e-05f, 5.980906739e-05f, 5.006772308e-05f, 4.032677579e-05f, 3.058624233e-05f, 2.084613952e-05f, 1.110648415e-05f, 1.367293040e-06f, -8.371417008e-06f,
+-1.810962919e-05f, -2.784732671e-05f, -3.758449276e-05f, -4.732111054e-05f, -5.705716327e-05f, -6.679263414e-05f, -7.652750637e-05f, -8.626176315e-05f, -9.599538771e-05f, -1.057283633e-04f,
+-1.154606730e-04f, -1.251923002e-04f, -1.349232280e-04f, -1.446534396e-04f, -1.543829184e-04f, -1.641116474e-04f, -1.738396100e-04f, -1.835667894e-04f, -1.932931687e-04f, -2.030187313e-04f,
+-2.127434603e-04f, -2.224673390e-04f, -2.321903507e-04f, -2.419124786e-04f, -2.516337059e-04f, -2.613540159e-04f, -2.710733918e-04f, -2.807918169e-04f, -2.905092745e-04f, -3.002257477e-04f,
+-3.099412199e-04f, -3.196556743e-04f, -3.293690942e-04f, -3.390814629e-04f, -3.487927635e-04f, -3.585029795e-04f, -3.682120941e-04f, -3.779200905e-04f, -3.876269520e-04f, -3.973326619e-04f,
+-4.070372036e-04f, -4.167405602e-04f, -4.264427152e-04f, -4.361436517e-04f, -4.458433531e-04f, -4.555418027e-04f, -4.652389838e-04f, -4.749348796e-04f, -4.846294736e-04f, -4.943227490e-04f,
+-5.040146891e-04f, -5.137052773e-04f, -5.233944969e-04f, -5.330823311e-04f, -5.427687634e-04f, -5.524537771e-04f, -5.621373555e-04f, -5.718194819e-04f, -5.815001397e-04f, -5.911793123e-04f,
+-6.008569829e-04f, -6.105331350e-04f, -6.202077518e-04f, -6.298808168e-04f, -6.395523134e-04f, -6.492222248e-04f, -6.588905344e-04f, -6.685572257e-04f, -6.782222820e-04f, -6.878856867e-04f,
+-6.975474231e-04f, -7.072074747e-04f, -7.168658249e-04f, -7.265224570e-04f, -7.361773544e-04f, -7.458305006e-04f, -7.554818790e-04f, -7.651314729e-04f, -7.747792658e-04f, -7.844252411e-04f,
+-7.940693823e-04f, -8.037116727e-04f, -8.133520958e-04f, -8.229906350e-04f, -8.326272738e-04f, -8.422619956e-04f, -8.518947838e-04f, -8.615256219e-04f, -8.711544934e-04f, -8.807813818e-04f,
+-8.904062704e-04f, -9.000291428e-04f, -9.096499824e-04f, -9.192687727e-04f, -9.288854971e-04f, -9.385001393e-04f, -9.481126826e-04f, -9.577231106e-04f, -9.673314068e-04f, -9.769375546e-04f,
+-9.865415376e-04f, -9.961433392e-04f, -1.005742943e-03f, -1.015340333e-03f, -1.024935492e-03f, -1.034528403e-03f, -1.044119051e-03f, -1.053707419e-03f, -1.063293490e-03f, -1.072877248e-03f,
+-1.082458677e-03f, -1.092037760e-03f, -1.101614480e-03f, -1.111188822e-03f, -1.120760768e-03f, -1.130330303e-03f, -1.139897410e-03f, -1.149462072e-03f, -1.159024273e-03f, -1.168583997e-03f,
+-1.178141228e-03f, -1.187695948e-03f, -1.197248142e-03f, -1.206797793e-03f, -1.216344885e-03f, -1.225889402e-03f, -1.235431326e-03f, -1.244970642e-03f, -1.254507334e-03f, -1.264041384e-03f,
+-1.273572778e-03f, -1.283101497e-03f, -1.292627527e-03f, -1.302150850e-03f, -1.311671451e-03f, -1.321189312e-03f, -1.330704419e-03f, -1.340216754e-03f, -1.349726301e-03f, -1.359233043e-03f,
+-1.368736966e-03f, -1.378238051e-03f, -1.387736284e-03f, -1.397231647e-03f, -1.406724125e-03f, -1.416213701e-03f, -1.425700359e-03f, -1.435184083e-03f, -1.444664856e-03f, -1.454142662e-03f,
+-1.463617486e-03f, -1.473089310e-03f, -1.482558119e-03f, -1.492023896e-03f, -1.501486625e-03f, -1.510946290e-03f, -1.520402875e-03f, -1.529856363e-03f, -1.539306739e-03f, -1.548753986e-03f,
+-1.558198088e-03f, -1.567639029e-03f, -1.577076793e-03f, -1.586511363e-03f, -1.595942724e-03f, -1.605370859e-03f, -1.614795752e-03f, -1.624217387e-03f, -1.633635748e-03f, -1.643050819e-03f,
+-1.652462583e-03f, -1.661871026e-03f, -1.671276129e-03f, -1.680677879e-03f, -1.690076257e-03f, -1.699471249e-03f, -1.708862838e-03f, -1.718251008e-03f, -1.727635743e-03f, -1.737017027e-03f,
+-1.746394845e-03f, -1.755769179e-03f, -1.765140014e-03f, -1.774507335e-03f, -1.783871124e-03f, -1.793231366e-03f, -1.802588045e-03f, -1.811941145e-03f, -1.821290650e-03f, -1.830636544e-03f,
+-1.839978811e-03f, -1.849317435e-03f, -1.858652400e-03f, -1.867983690e-03f, -1.877311290e-03f, -1.886635182e-03f, -1.895955352e-03f, -1.905271784e-03f, -1.914584461e-03f, -1.923893367e-03f,
+-1.933198488e-03f, -1.942499806e-03f, -1.951797306e-03f, -1.961090972e-03f, -1.970380789e-03f, -1.979666739e-03f, -1.988948809e-03f, -1.998226981e-03f, -2.007501239e-03f, -2.016771569e-03f,
+-2.026037954e-03f, -2.035300378e-03f, -2.044558825e-03f, -2.053813281e-03f, -2.063063728e-03f, -2.072310151e-03f, -2.081552535e-03f, -2.090790864e-03f, -2.100025121e-03f, -2.109255291e-03f,
+-2.118481359e-03f, -2.127703308e-03f, -2.136921124e-03f, -2.146134789e-03f, -2.155344289e-03f, -2.164549607e-03f, -2.173750729e-03f, -2.182947638e-03f, -2.192140318e-03f, -2.201328755e-03f,
+-2.210512932e-03f, -2.219692833e-03f, -2.228868444e-03f, -2.238039748e-03f, -2.247206729e-03f, -2.256369373e-03f, -2.265527663e-03f, -2.274681585e-03f, -2.283831121e-03f, -2.292976257e-03f,
+-2.302116978e-03f, -2.311253266e-03f, -2.320385108e-03f, -2.329512487e-03f, -2.338635389e-03f, -2.347753796e-03f, -2.356867694e-03f, -2.365977068e-03f, -2.375081901e-03f, -2.384182179e-03f,
+-2.393277885e-03f, -2.402369004e-03f, -2.411455522e-03f, -2.420537421e-03f, -2.429614688e-03f, -2.438687306e-03f, -2.447755259e-03f, -2.456818534e-03f, -2.465877113e-03f, -2.474930982e-03f,
+-2.483980126e-03f, -2.493024528e-03f, -2.502064173e-03f, -2.511099047e-03f, -2.520129133e-03f, -2.529154417e-03f, -2.538174883e-03f, -2.547190515e-03f, -2.556201299e-03f, -2.565207219e-03f,
+-2.574208259e-03f, -2.583204405e-03f, -2.592195640e-03f, -2.601181951e-03f, -2.610163320e-03f, -2.619139734e-03f, -2.628111177e-03f, -2.637077634e-03f, -2.646039089e-03f, -2.654995527e-03f,
+-2.663946934e-03f, -2.672893293e-03f, -2.681834589e-03f, -2.690770808e-03f, -2.699701934e-03f, -2.708627952e-03f, -2.717548847e-03f, -2.726464603e-03f, -2.735375206e-03f, -2.744280640e-03f,
+-2.753180890e-03f, -2.762075942e-03f, -2.770965780e-03f, -2.779850388e-03f, -2.788729752e-03f, -2.797603857e-03f, -2.806472688e-03f, -2.815336229e-03f, -2.824194465e-03f, -2.833047383e-03f,
+-2.841894965e-03f, -2.850737198e-03f, -2.859574067e-03f, -2.868405555e-03f, -2.877231650e-03f, -2.886052334e-03f, -2.894867595e-03f, -2.903677415e-03f, -2.912481781e-03f, -2.921280678e-03f,
+-2.930074091e-03f, -2.938862004e-03f, -2.947644403e-03f, -2.956421273e-03f, -2.965192599e-03f, -2.973958366e-03f, -2.982718560e-03f, -2.991473165e-03f, -3.000222166e-03f, -3.008965549e-03f,
+-3.017703300e-03f, -3.026435402e-03f, -3.035161841e-03f, -3.043882603e-03f, -3.052597673e-03f, -3.061307036e-03f, -3.070010677e-03f, -3.078708581e-03f, -3.087400734e-03f, -3.096087121e-03f,
+-3.104767727e-03f, -3.113442538e-03f, -3.122111538e-03f, -3.130774714e-03f, -3.139432050e-03f, -3.148083531e-03f, -3.156729144e-03f, -3.165368873e-03f, -3.174002705e-03f, -3.182630623e-03f,
+-3.191252614e-03f, -3.199868662e-03f, -3.208478755e-03f, -3.217082876e-03f, -3.225681011e-03f, -3.234273146e-03f, -3.242859266e-03f, -3.251439356e-03f, -3.260013403e-03f, -3.268581391e-03f,
+-3.277143307e-03f, -3.285699134e-03f, -3.294248860e-03f, -3.302792470e-03f, -3.311329948e-03f, -3.319861282e-03f, -3.328386455e-03f, -3.336905454e-03f, -3.345418265e-03f, -3.353924873e-03f,
+-3.362425263e-03f, -3.370919422e-03f, -3.379407335e-03f, -3.387888987e-03f, -3.396364364e-03f, -3.404833452e-03f, -3.413296236e-03f, -3.421752703e-03f, -3.430202838e-03f, -3.438646626e-03f,
+-3.447084054e-03f, -3.455515107e-03f, -3.463939770e-03f, -3.472358030e-03f, -3.480769873e-03f, -3.489175284e-03f, -3.497574248e-03f, -3.505966753e-03f, -3.514352783e-03f, -3.522732324e-03f,
+-3.531105363e-03f, -3.539471884e-03f, -3.547831875e-03f, -3.556185321e-03f, -3.564532207e-03f, -3.572872520e-03f, -3.581206245e-03f, -3.589533369e-03f, -3.597853878e-03f, -3.606167757e-03f,
+-3.614474992e-03f, -3.622775569e-03f, -3.631069475e-03f, -3.639356695e-03f, -3.647637215e-03f, -3.655911022e-03f, -3.664178101e-03f, -3.672438439e-03f, -3.680692021e-03f, -3.688938833e-03f,
+-3.697178862e-03f, -3.705412094e-03f, -3.713638515e-03f, -3.721858111e-03f, -3.730070868e-03f, -3.738276772e-03f, -3.746475810e-03f, -3.754667967e-03f, -3.762853230e-03f, -3.771031585e-03f,
+-3.779203018e-03f, -3.787367516e-03f, -3.795525064e-03f, -3.803675649e-03f, -3.811819257e-03f, -3.819955875e-03f, -3.828085489e-03f, -3.836208084e-03f, -3.844323648e-03f, -3.852432167e-03f,
+-3.860533626e-03f, -3.868628013e-03f, -3.876715314e-03f, -3.884795515e-03f, -3.892868602e-03f, -3.900934562e-03f, -3.908993382e-03f, -3.917045047e-03f, -3.925089545e-03f, -3.933126861e-03f,
+-3.941156982e-03f, -3.949179895e-03f, -3.957195586e-03f, -3.965204041e-03f, -3.973205248e-03f, -3.981199192e-03f, -3.989185861e-03f, -3.997165240e-03f, -4.005137316e-03f, -4.013102077e-03f,
+-4.021059508e-03f, -4.029009596e-03f, -4.036952328e-03f, -4.044887691e-03f, -4.052815670e-03f, -4.060736253e-03f, -4.068649427e-03f, -4.076555177e-03f, -4.084453492e-03f, -4.092344357e-03f,
+-4.100227759e-03f, -4.108103686e-03f, -4.115972123e-03f, -4.123833057e-03f, -4.131686477e-03f, -4.139532367e-03f, -4.147370715e-03f, -4.155201508e-03f, -4.163024732e-03f, -4.170840375e-03f,
+-4.178648424e-03f, -4.186448865e-03f, -4.194241685e-03f, -4.202026870e-03f, -4.209804409e-03f, -4.217574288e-03f, -4.225336494e-03f, -4.233091014e-03f, -4.240837834e-03f, -4.248576942e-03f,
+-4.256308326e-03f, -4.264031971e-03f, -4.271747865e-03f, -4.279455995e-03f, -4.287156347e-03f, -4.294848911e-03f, -4.302533671e-03f, -4.310210615e-03f, -4.317879731e-03f, -4.325541006e-03f,
+-4.333194426e-03f, -4.340839979e-03f, -4.348477653e-03f, -4.356107433e-03f, -4.363729308e-03f, -4.371343265e-03f, -4.378949291e-03f, -4.386547372e-03f, -4.394137498e-03f, -4.401719654e-03f,
+-4.409293828e-03f, -4.416860007e-03f, -4.424418179e-03f, -4.431968331e-03f, -4.439510450e-03f, -4.447044524e-03f, -4.454570541e-03f, -4.462088486e-03f, -4.469598349e-03f, -4.477100116e-03f,
+-4.484593774e-03f, -4.492079312e-03f, -4.499556716e-03f, -4.507025975e-03f, -4.514487075e-03f, -4.521940005e-03f, -4.529384751e-03f, -4.536821302e-03f, -4.544249644e-03f, -4.551669766e-03f,
+-4.559081654e-03f, -4.566485297e-03f, -4.573880683e-03f, -4.581267798e-03f, -4.588646631e-03f, -4.596017168e-03f, -4.603379399e-03f, -4.610733310e-03f, -4.618078889e-03f, -4.625416124e-03f,
+-4.632745003e-03f, -4.640065513e-03f, -4.647377643e-03f, -4.654681379e-03f, -4.661976710e-03f, -4.669263624e-03f, -4.676542108e-03f, -4.683812150e-03f, -4.691073738e-03f, -4.698326860e-03f,
+-4.705571504e-03f, -4.712807658e-03f, -4.720035310e-03f, -4.727254447e-03f, -4.734465058e-03f, -4.741667130e-03f, -4.748860651e-03f, -4.756045610e-03f, -4.763221995e-03f, -4.770389793e-03f,
+-4.777548993e-03f, -4.784699582e-03f, -4.791841549e-03f, -4.798974882e-03f, -4.806099568e-03f, -4.813215597e-03f, -4.820322956e-03f, -4.827421633e-03f, -4.834511616e-03f, -4.841592894e-03f,
+-4.848665455e-03f, -4.855729287e-03f, -4.862784378e-03f, -4.869830717e-03f, -4.876868291e-03f, -4.883897090e-03f, -4.890917100e-03f, -4.897928312e-03f, -4.904930712e-03f, -4.911924290e-03f,
+-4.918909033e-03f, -4.925884930e-03f, -4.932851970e-03f, -4.939810141e-03f, -4.946759430e-03f, -4.953699828e-03f, -4.960631321e-03f, -4.967553899e-03f, -4.974467550e-03f, -4.981372263e-03f,
+-4.988268025e-03f, -4.995154827e-03f, -5.002032655e-03f, -5.008901499e-03f, -5.015761347e-03f, -5.022612188e-03f, -5.029454011e-03f, -5.036286804e-03f, -5.043110555e-03f, -5.049925254e-03f,
+-5.056730889e-03f, -5.063527448e-03f, -5.070314921e-03f, -5.077093297e-03f, -5.083862563e-03f, -5.090622709e-03f, -5.097373723e-03f, -5.104115595e-03f, -5.110848312e-03f, -5.117571865e-03f,
+-5.124286241e-03f, -5.130991430e-03f, -5.137687420e-03f, -5.144374200e-03f, -5.151051760e-03f, -5.157720088e-03f, -5.164379172e-03f, -5.171029003e-03f, -5.177669569e-03f, -5.184300859e-03f,
+-5.190922862e-03f, -5.197535567e-03f, -5.204138962e-03f, -5.210733038e-03f, -5.217317783e-03f, -5.223893187e-03f, -5.230459237e-03f, -5.237015924e-03f, -5.243563237e-03f, -5.250101164e-03f,
+-5.256629696e-03f, -5.263148820e-03f, -5.269658527e-03f, -5.276158805e-03f, -5.282649644e-03f, -5.289131033e-03f, -5.295602961e-03f, -5.302065418e-03f, -5.308518392e-03f, -5.314961874e-03f,
+-5.321395852e-03f, -5.327820317e-03f, -5.334235256e-03f, -5.340640660e-03f, -5.347036518e-03f, -5.353422820e-03f, -5.359799554e-03f, -5.366166711e-03f, -5.372524280e-03f, -5.378872250e-03f,
+-5.385210611e-03f, -5.391539352e-03f, -5.397858463e-03f, -5.404167933e-03f, -5.410467753e-03f, -5.416757911e-03f, -5.423038397e-03f, -5.429309202e-03f, -5.435570313e-03f, -5.441821722e-03f,
+-5.448063418e-03f, -5.454295390e-03f, -5.460517629e-03f, -5.466730123e-03f, -5.472932864e-03f, -5.479125839e-03f, -5.485309040e-03f, -5.491482456e-03f, -5.497646077e-03f, -5.503799893e-03f,
+-5.509943894e-03f, -5.516078068e-03f, -5.522202408e-03f, -5.528316901e-03f, -5.534421539e-03f, -5.540516310e-03f, -5.546601206e-03f, -5.552676216e-03f, -5.558741330e-03f, -5.564796538e-03f,
+-5.570841830e-03f, -5.576877196e-03f, -5.582902626e-03f, -5.588918111e-03f, -5.594923640e-03f, -5.600919204e-03f, -5.606904792e-03f, -5.612880395e-03f, -5.618846003e-03f, -5.624801606e-03f,
+-5.630747194e-03f, -5.636682758e-03f, -5.642608288e-03f, -5.648523773e-03f, -5.654429206e-03f, -5.660324574e-03f, -5.666209870e-03f, -5.672085083e-03f, -5.677950204e-03f, -5.683805222e-03f,
+-5.689650129e-03f, -5.695484915e-03f, -5.701309570e-03f, -5.707124085e-03f, -5.712928449e-03f, -5.718722655e-03f, -5.724506691e-03f, -5.730280549e-03f, -5.736044219e-03f, -5.741797692e-03f,
+-5.747540958e-03f, -5.753274007e-03f, -5.758996831e-03f, -5.764709420e-03f, -5.770411765e-03f, -5.776103856e-03f, -5.781785684e-03f, -5.787457240e-03f, -5.793118514e-03f, -5.798769497e-03f,
+-5.804410180e-03f, -5.810040553e-03f, -5.815660608e-03f, -5.821270335e-03f, -5.826869726e-03f, -5.832458770e-03f, -5.838037458e-03f, -5.843605783e-03f, -5.849163733e-03f, -5.854711302e-03f,
+-5.860248478e-03f, -5.865775254e-03f, -5.871291620e-03f, -5.876797567e-03f, -5.882293087e-03f, -5.887778169e-03f, -5.893252806e-03f, -5.898716988e-03f, -5.904170707e-03f, -5.909613953e-03f,
+-5.915046718e-03f, -5.920468993e-03f, -5.925880768e-03f, -5.931282036e-03f, -5.936672786e-03f, -5.942053012e-03f, -5.947422703e-03f, -5.952781851e-03f, -5.958130447e-03f, -5.963468482e-03f,
+-5.968795949e-03f, -5.974112837e-03f, -5.979419139e-03f, -5.984714846e-03f, -5.989999948e-03f, -5.995274439e-03f, -6.000538308e-03f, -6.005791548e-03f, -6.011034150e-03f, -6.016266105e-03f,
+-6.021487405e-03f, -6.026698041e-03f, -6.031898005e-03f, -6.037087288e-03f, -6.042265882e-03f, -6.047433779e-03f, -6.052590970e-03f, -6.057737447e-03f, -6.062873201e-03f, -6.067998224e-03f,
+-6.073112508e-03f, -6.078216044e-03f, -6.083308825e-03f, -6.088390841e-03f, -6.093462085e-03f, -6.098522548e-03f, -6.103572223e-03f, -6.108611100e-03f, -6.113639173e-03f, -6.118656432e-03f,
+-6.123662869e-03f, -6.128658477e-03f, -6.133643247e-03f, -6.138617172e-03f, -6.143580242e-03f, -6.148532451e-03f, -6.153473790e-03f, -6.158404252e-03f, -6.163323827e-03f, -6.168232508e-03f,
+-6.173130288e-03f, -6.178017158e-03f, -6.182893111e-03f, -6.187758138e-03f, -6.192612232e-03f, -6.197455384e-03f, -6.202287588e-03f, -6.207108835e-03f, -6.211919117e-03f, -6.216718427e-03f,
+-6.221506756e-03f, -6.226284098e-03f, -6.231050445e-03f, -6.235805788e-03f, -6.240550120e-03f, -6.245283434e-03f, -6.250005721e-03f, -6.254716975e-03f, -6.259417188e-03f, -6.264106351e-03f,
+-6.268784458e-03f, -6.273451500e-03f, -6.278107472e-03f, -6.282752364e-03f, -6.287386169e-03f, -6.292008881e-03f, -6.296620491e-03f, -6.301220992e-03f, -6.305810378e-03f, -6.310388639e-03f,
+-6.314955769e-03f, -6.319511761e-03f, -6.324056608e-03f, -6.328590301e-03f, -6.333112834e-03f, -6.337624200e-03f, -6.342124391e-03f, -6.346613400e-03f, -6.351091220e-03f, -6.355557844e-03f,
+-6.360013264e-03f, -6.364457473e-03f, -6.368890464e-03f, -6.373312231e-03f, -6.377722766e-03f, -6.382122062e-03f, -6.386510111e-03f, -6.390886908e-03f, -6.395252444e-03f, -6.399606713e-03f,
+-6.403949709e-03f, -6.408281423e-03f, -6.412601849e-03f, -6.416910981e-03f, -6.421208811e-03f, -6.425495332e-03f, -6.429770538e-03f, -6.434034421e-03f, -6.438286976e-03f, -6.442528194e-03f,
+-6.446758070e-03f, -6.450976597e-03f, -6.455183768e-03f, -6.459379575e-03f, -6.463564014e-03f, -6.467737076e-03f, -6.471898755e-03f, -6.476049045e-03f, -6.480187939e-03f, -6.484315430e-03f,
+-6.488431513e-03f, -6.492536179e-03f, -6.496629423e-03f, -6.500711238e-03f, -6.504781619e-03f, -6.508840557e-03f, -6.512888047e-03f, -6.516924083e-03f, -6.520948658e-03f, -6.524961765e-03f,
+-6.528963399e-03f, -6.532953552e-03f, -6.536932219e-03f, -6.540899393e-03f, -6.544855069e-03f, -6.548799239e-03f, -6.552731897e-03f, -6.556653038e-03f, -6.560562655e-03f, -6.564460742e-03f,
+-6.568347292e-03f, -6.572222300e-03f, -6.576085760e-03f, -6.579937664e-03f, -6.583778008e-03f, -6.587606785e-03f, -6.591423990e-03f, -6.595229615e-03f, -6.599023656e-03f, -6.602806106e-03f,
+-6.606576959e-03f, -6.610336209e-03f, -6.614083850e-03f, -6.617819877e-03f, -6.621544284e-03f, -6.625257064e-03f, -6.628958212e-03f, -6.632647722e-03f, -6.636325588e-03f, -6.639991805e-03f,
+-6.643646366e-03f, -6.647289266e-03f, -6.650920500e-03f, -6.654540061e-03f, -6.658147944e-03f, -6.661744143e-03f, -6.665328652e-03f, -6.668901467e-03f, -6.672462581e-03f, -6.676011989e-03f,
+-6.679549685e-03f, -6.683075664e-03f, -6.686589920e-03f, -6.690092447e-03f, -6.693583241e-03f, -6.697062296e-03f, -6.700529606e-03f, -6.703985166e-03f, -6.707428970e-03f, -6.710861014e-03f,
+-6.714281292e-03f, -6.717689798e-03f, -6.721086527e-03f, -6.724471474e-03f, -6.727844634e-03f, -6.731206001e-03f, -6.734555570e-03f, -6.737893337e-03f, -6.741219295e-03f, -6.744533440e-03f,
+-6.747835766e-03f, -6.751126269e-03f, -6.754404943e-03f, -6.757671783e-03f, -6.760926784e-03f, -6.764169942e-03f, -6.767401250e-03f, -6.770620705e-03f, -6.773828301e-03f, -6.777024033e-03f,
+-6.780207896e-03f, -6.783379885e-03f, -6.786539996e-03f, -6.789688223e-03f, -6.792824562e-03f, -6.795949008e-03f, -6.799061556e-03f, -6.802162202e-03f, -6.805250939e-03f, -6.808327765e-03f,
+-6.811392673e-03f, -6.814445660e-03f, -6.817486721e-03f, -6.820515850e-03f, -6.823533044e-03f, -6.826538298e-03f, -6.829531606e-03f, -6.832512966e-03f, -6.835482371e-03f, -6.838439817e-03f,
+-6.841385301e-03f, -6.844318817e-03f, -6.847240360e-03f, -6.850149928e-03f, -6.853047514e-03f, -6.855933115e-03f, -6.858806726e-03f, -6.861668343e-03f, -6.864517962e-03f, -6.867355578e-03f,
+-6.870181187e-03f, -6.872994784e-03f, -6.875796366e-03f, -6.878585927e-03f, -6.881363465e-03f, -6.884128974e-03f, -6.886882451e-03f, -6.889623891e-03f, -6.892353290e-03f, -6.895070645e-03f,
+-6.897775950e-03f, -6.900469202e-03f, -6.903150397e-03f, -6.905819531e-03f, -6.908476599e-03f, -6.911121599e-03f, -6.913754525e-03f, -6.916375374e-03f, -6.918984141e-03f, -6.921580824e-03f,
+-6.924165418e-03f, -6.926737920e-03f, -6.929298324e-03f, -6.931846629e-03f, -6.934382829e-03f, -6.936906921e-03f, -6.939418901e-03f, -6.941918766e-03f, -6.944406512e-03f, -6.946882134e-03f,
+-6.949345630e-03f, -6.951796996e-03f, -6.954236228e-03f, -6.956663323e-03f, -6.959078276e-03f, -6.961481085e-03f, -6.963871745e-03f, -6.966250254e-03f, -6.968616608e-03f, -6.970970803e-03f,
+-6.973312835e-03f, -6.975642702e-03f, -6.977960400e-03f, -6.980265925e-03f, -6.982559275e-03f, -6.984840445e-03f, -6.987109433e-03f, -6.989366235e-03f, -6.991610848e-03f, -6.993843268e-03f,
+-6.996063493e-03f, -6.998271519e-03f, -7.000467343e-03f, -7.002650961e-03f, -7.004822371e-03f, -7.006981569e-03f, -7.009128552e-03f, -7.011263318e-03f, -7.013385863e-03f, -7.015496183e-03f,
+-7.017594277e-03f, -7.019680140e-03f, -7.021753771e-03f, -7.023815165e-03f, -7.025864321e-03f, -7.027901234e-03f, -7.029925903e-03f, -7.031938324e-03f, -7.033938494e-03f, -7.035926411e-03f,
+-7.037902071e-03f, -7.039865473e-03f, -7.041816612e-03f, -7.043755487e-03f, -7.045682094e-03f, -7.047596432e-03f, -7.049498496e-03f, -7.051388286e-03f, -7.053265796e-03f, -7.055131027e-03f,
+-7.056983973e-03f, -7.058824634e-03f, -7.060653006e-03f, -7.062469088e-03f, -7.064272875e-03f, -7.066064366e-03f, -7.067843559e-03f, -7.069610451e-03f, -7.071365039e-03f, -7.073107321e-03f,
+-7.074837295e-03f, -7.076554958e-03f, -7.078260308e-03f, -7.079953342e-03f, -7.081634059e-03f, -7.083302455e-03f, -7.084958530e-03f, -7.086602280e-03f, -7.088233703e-03f, -7.089852796e-03f,
+-7.091459559e-03f, -7.093053989e-03f, -7.094636083e-03f, -7.096205839e-03f, -7.097763255e-03f, -7.099308330e-03f, -7.100841061e-03f, -7.102361446e-03f, -7.103869483e-03f, -7.105365170e-03f,
+-7.106848505e-03f, -7.108319487e-03f, -7.109778112e-03f, -7.111224380e-03f, -7.112658289e-03f, -7.114079836e-03f, -7.115489019e-03f, -7.116885838e-03f, -7.118270289e-03f, -7.119642372e-03f,
+-7.121002085e-03f, -7.122349425e-03f, -7.123684392e-03f, -7.125006983e-03f, -7.126317197e-03f, -7.127615031e-03f, -7.128900486e-03f, -7.130173558e-03f, -7.131434246e-03f, -7.132682549e-03f,
+-7.133918466e-03f, -7.135141993e-03f, -7.136353132e-03f, -7.137551878e-03f, -7.138738232e-03f, -7.139912192e-03f, -7.141073756e-03f, -7.142222923e-03f, -7.143359692e-03f, -7.144484060e-03f,
+-7.145596028e-03f, -7.146695594e-03f, -7.147782755e-03f, -7.148857512e-03f, -7.149919863e-03f, -7.150969806e-03f, -7.152007340e-03f, -7.153032465e-03f, -7.154045179e-03f, -7.155045480e-03f,
+-7.156033369e-03f, -7.157008843e-03f, -7.157971902e-03f, -7.158922545e-03f, -7.159860770e-03f, -7.160786576e-03f, -7.161699964e-03f, -7.162600930e-03f, -7.163489476e-03f, -7.164365599e-03f,
+-7.165229299e-03f, -7.166080575e-03f, -7.166919427e-03f, -7.167745852e-03f, -7.168559851e-03f, -7.169361423e-03f, -7.170150566e-03f, -7.170927281e-03f, -7.171691566e-03f, -7.172443421e-03f,
+-7.173182845e-03f, -7.173909837e-03f, -7.174624398e-03f, -7.175326525e-03f, -7.176016219e-03f, -7.176693478e-03f, -7.177358303e-03f, -7.178010694e-03f, -7.178650648e-03f, -7.179278166e-03f,
+-7.179893248e-03f, -7.180495892e-03f, -7.181086099e-03f, -7.181663869e-03f, -7.182229200e-03f, -7.182782092e-03f, -7.183322545e-03f, -7.183850560e-03f, -7.184366134e-03f, -7.184869269e-03f,
+-7.185359964e-03f, -7.185838218e-03f, -7.186304032e-03f, -7.186757405e-03f, -7.187198337e-03f, -7.187626828e-03f, -7.188042878e-03f, -7.188446486e-03f, -7.188837654e-03f, -7.189216380e-03f,
+-7.189582664e-03f, -7.189936507e-03f, -7.190277908e-03f, -7.190606868e-03f, -7.190923387e-03f, -7.191227465e-03f, -7.191519101e-03f, -7.191798296e-03f, -7.192065050e-03f, -7.192319363e-03f,
+-7.192561235e-03f, -7.192790668e-03f, -7.193007659e-03f, -7.193212211e-03f, -7.193404324e-03f, -7.193583996e-03f, -7.193751230e-03f, -7.193906025e-03f, -7.194048381e-03f, -7.194178299e-03f,
+-7.194295780e-03f, -7.194400823e-03f, -7.194493429e-03f, -7.194573599e-03f, -7.194641333e-03f, -7.194696632e-03f, -7.194739496e-03f, -7.194769925e-03f, -7.194787921e-03f, -7.194793483e-03f,
+-7.194786613e-03f, -7.194767310e-03f, -7.194735577e-03f, -7.194691413e-03f, -7.194634819e-03f, -7.194565795e-03f, -7.194484343e-03f, -7.194390463e-03f, -7.194284157e-03f, -7.194165424e-03f,
+-7.194034266e-03f, -7.193890683e-03f, -7.193734676e-03f, -7.193566247e-03f, -7.193385396e-03f, -7.193192124e-03f, -7.192986432e-03f, -7.192768321e-03f, -7.192537792e-03f, -7.192294846e-03f,
+-7.192039484e-03f, -7.191771707e-03f, -7.191491516e-03f, -7.191198913e-03f, -7.190893897e-03f, -7.190576472e-03f, -7.190246637e-03f, -7.189904394e-03f, -7.189549743e-03f, -7.189182688e-03f,
+-7.188803227e-03f, -7.188411364e-03f, -7.188007099e-03f, -7.187590433e-03f, -7.187161368e-03f, -7.186719904e-03f, -7.186266045e-03f, -7.185799790e-03f, -7.185321142e-03f, -7.184830101e-03f,
+-7.184326670e-03f, -7.183810849e-03f, -7.183282640e-03f, -7.182742045e-03f, -7.182189066e-03f, -7.181623703e-03f, -7.181045959e-03f, -7.180455834e-03f, -7.179853332e-03f, -7.179238452e-03f,
+-7.178611198e-03f, -7.177971570e-03f, -7.177319571e-03f, -7.176655202e-03f, -7.175978465e-03f, -7.175289361e-03f, -7.174587893e-03f, -7.173874063e-03f, -7.173147871e-03f, -7.172409321e-03f,
+-7.171658413e-03f, -7.170895151e-03f, -7.170119535e-03f, -7.169331567e-03f, -7.168531251e-03f, -7.167718587e-03f, -7.166893578e-03f, -7.166056225e-03f, -7.165206532e-03f, -7.164344499e-03f,
+-7.163470129e-03f, -7.162583424e-03f, -7.161684387e-03f, -7.160773019e-03f, -7.159849322e-03f, -7.158913299e-03f, -7.157964953e-03f, -7.157004284e-03f, -7.156031296e-03f, -7.155045991e-03f,
+-7.154048371e-03f, -7.153038439e-03f, -7.152016196e-03f, -7.150981646e-03f, -7.149934790e-03f, -7.148875631e-03f, -7.147804172e-03f, -7.146720414e-03f, -7.145624361e-03f, -7.144516015e-03f,
+-7.143395378e-03f, -7.142262453e-03f, -7.141117243e-03f, -7.139959750e-03f, -7.138789977e-03f, -7.137607926e-03f, -7.136413600e-03f, -7.135207002e-03f, -7.133988134e-03f, -7.132756999e-03f,
+-7.131513600e-03f, -7.130257939e-03f, -7.128990020e-03f, -7.127709845e-03f, -7.126417417e-03f, -7.125112739e-03f, -7.123795814e-03f, -7.122466644e-03f, -7.121125233e-03f, -7.119771583e-03f,
+-7.118405697e-03f, -7.117027578e-03f, -7.115637230e-03f, -7.114234655e-03f, -7.112819857e-03f, -7.111392838e-03f, -7.109953601e-03f, -7.108502150e-03f, -7.107038487e-03f, -7.105562616e-03f,
+-7.104074540e-03f, -7.102574263e-03f, -7.101061786e-03f, -7.099537114e-03f, -7.098000250e-03f, -7.096451197e-03f, -7.094889958e-03f, -7.093316537e-03f, -7.091730937e-03f, -7.090133160e-03f,
+-7.088523212e-03f, -7.086901095e-03f, -7.085266812e-03f, -7.083620366e-03f, -7.081961762e-03f, -7.080291003e-03f, -7.078608092e-03f, -7.076913033e-03f, -7.075205829e-03f, -7.073486484e-03f,
+-7.071755002e-03f, -7.070011385e-03f, -7.068255638e-03f, -7.066487765e-03f, -7.064707768e-03f, -7.062915651e-03f, -7.061111419e-03f, -7.059295076e-03f, -7.057466623e-03f, -7.055626067e-03f,
+-7.053773409e-03f, -7.051908655e-03f, -7.050031807e-03f, -7.048142870e-03f, -7.046241848e-03f, -7.044328744e-03f, -7.042403563e-03f, -7.040466308e-03f, -7.038516983e-03f, -7.036555593e-03f,
+-7.034582140e-03f, -7.032596630e-03f, -7.030599066e-03f, -7.028589453e-03f, -7.026567793e-03f, -7.024534093e-03f, -7.022488354e-03f, -7.020430583e-03f, -7.018360782e-03f, -7.016278956e-03f,
+-7.014185110e-03f, -7.012079247e-03f, -7.009961371e-03f, -7.007831488e-03f, -7.005689600e-03f, -7.003535713e-03f, -7.001369831e-03f, -6.999191958e-03f, -6.997002099e-03f, -6.994800257e-03f,
+-6.992586438e-03f, -6.990360645e-03f, -6.988122883e-03f, -6.985873157e-03f, -6.983611471e-03f, -6.981337830e-03f, -6.979052238e-03f, -6.976754699e-03f, -6.974445218e-03f, -6.972123801e-03f,
+-6.969790450e-03f, -6.967445172e-03f, -6.965087970e-03f, -6.962718849e-03f, -6.960337815e-03f, -6.957944871e-03f, -6.955540022e-03f, -6.953123274e-03f, -6.950694630e-03f, -6.948254097e-03f,
+-6.945801677e-03f, -6.943337377e-03f, -6.940861202e-03f, -6.938373155e-03f, -6.935873242e-03f, -6.933361468e-03f, -6.930837838e-03f, -6.928302356e-03f, -6.925755028e-03f, -6.923195859e-03f,
+-6.920624854e-03f, -6.918042017e-03f, -6.915447354e-03f, -6.912840870e-03f, -6.910222569e-03f, -6.907592458e-03f, -6.904950541e-03f, -6.902296823e-03f, -6.899631309e-03f, -6.896954006e-03f,
+-6.894264917e-03f, -6.891564048e-03f, -6.888851404e-03f, -6.886126991e-03f, -6.883390814e-03f, -6.880642879e-03f, -6.877883189e-03f, -6.875111752e-03f, -6.872328572e-03f, -6.869533655e-03f,
+-6.866727005e-03f, -6.863908629e-03f, -6.861078532e-03f, -6.858236720e-03f, -6.855383197e-03f, -6.852517970e-03f, -6.849641044e-03f, -6.846752424e-03f, -6.843852116e-03f, -6.840940126e-03f,
+-6.838016459e-03f, -6.835081122e-03f, -6.832134118e-03f, -6.829175455e-03f, -6.826205138e-03f, -6.823223172e-03f, -6.820229564e-03f, -6.817224319e-03f, -6.814207442e-03f, -6.811178941e-03f,
+-6.808138819e-03f, -6.805087084e-03f, -6.802023742e-03f, -6.798948797e-03f, -6.795862256e-03f, -6.792764125e-03f, -6.789654409e-03f, -6.786533115e-03f, -6.783400249e-03f, -6.780255817e-03f,
+-6.777099824e-03f, -6.773932277e-03f, -6.770753181e-03f, -6.767562543e-03f, -6.764360369e-03f, -6.761146665e-03f, -6.757921437e-03f, -6.754684692e-03f, -6.751436434e-03f, -6.748176672e-03f,
+-6.744905410e-03f, -6.741622654e-03f, -6.738328413e-03f, -6.735022690e-03f, -6.731705494e-03f, -6.728376829e-03f, -6.725036703e-03f, -6.721685122e-03f, -6.718322091e-03f, -6.714947619e-03f,
+-6.711561710e-03f, -6.708164371e-03f, -6.704755609e-03f, -6.701335430e-03f, -6.697903841e-03f, -6.694460848e-03f, -6.691006457e-03f, -6.687540676e-03f, -6.684063511e-03f, -6.680574967e-03f,
+-6.677075053e-03f, -6.673563774e-03f, -6.670041138e-03f, -6.666507150e-03f, -6.662961817e-03f, -6.659405147e-03f, -6.655837145e-03f, -6.652257820e-03f, -6.648667176e-03f, -6.645065221e-03f,
+-6.641451963e-03f, -6.637827407e-03f, -6.634191560e-03f, -6.630544430e-03f, -6.626886023e-03f, -6.623216346e-03f, -6.619535406e-03f, -6.615843210e-03f, -6.612139765e-03f, -6.608425078e-03f,
+-6.604699155e-03f, -6.600962004e-03f, -6.597213632e-03f, -6.593454045e-03f, -6.589683252e-03f, -6.585901258e-03f, -6.582108072e-03f, -6.578303699e-03f, -6.574488148e-03f, -6.570661425e-03f,
+-6.566823538e-03f, -6.562974493e-03f, -6.559114298e-03f, -6.555242961e-03f, -6.551360488e-03f, -6.547466886e-03f, -6.543562164e-03f, -6.539646327e-03f, -6.535719385e-03f, -6.531781343e-03f,
+-6.527832209e-03f, -6.523871991e-03f, -6.519900696e-03f, -6.515918332e-03f, -6.511924905e-03f, -6.507920423e-03f, -6.503904895e-03f, -6.499878326e-03f, -6.495840726e-03f, -6.491792100e-03f,
+-6.487732458e-03f, -6.483661805e-03f, -6.479580151e-03f, -6.475487502e-03f, -6.471383867e-03f, -6.467269252e-03f, -6.463143665e-03f, -6.459007115e-03f, -6.454859609e-03f, -6.450701154e-03f,
+-6.446531758e-03f, -6.442351429e-03f, -6.438160175e-03f, -6.433958004e-03f, -6.429744923e-03f, -6.425520940e-03f, -6.421286063e-03f, -6.417040300e-03f, -6.412783659e-03f, -6.408516147e-03f,
+-6.404237773e-03f, -6.399948544e-03f, -6.395648469e-03f, -6.391337555e-03f, -6.387015810e-03f, -6.382683243e-03f, -6.378339862e-03f, -6.373985673e-03f, -6.369620686e-03f, -6.365244909e-03f,
+-6.360858349e-03f, -6.356461015e-03f, -6.352052915e-03f, -6.347634057e-03f, -6.343204450e-03f, -6.338764100e-03f, -6.334313018e-03f, -6.329851210e-03f, -6.325378685e-03f, -6.320895452e-03f,
+-6.316401518e-03f, -6.311896892e-03f, -6.307381582e-03f, -6.302855597e-03f, -6.298318945e-03f, -6.293771634e-03f, -6.289213672e-03f, -6.284645069e-03f, -6.280065832e-03f, -6.275475970e-03f,
+-6.270875491e-03f, -6.266264405e-03f, -6.261642718e-03f, -6.257010441e-03f, -6.252367580e-03f, -6.247714146e-03f, -6.243050146e-03f, -6.238375589e-03f, -6.233690484e-03f, -6.228994840e-03f,
+-6.224288664e-03f, -6.219571965e-03f, -6.214844753e-03f, -6.210107036e-03f, -6.205358822e-03f, -6.200600121e-03f, -6.195830941e-03f, -6.191051291e-03f, -6.186261179e-03f, -6.181460615e-03f,
+-6.176649607e-03f, -6.171828164e-03f, -6.166996295e-03f, -6.162154009e-03f, -6.157301314e-03f, -6.152438220e-03f, -6.147564736e-03f, -6.142680870e-03f, -6.137786631e-03f, -6.132882029e-03f,
+-6.127967072e-03f, -6.123041769e-03f, -6.118106130e-03f, -6.113160163e-03f, -6.108203877e-03f, -6.103237282e-03f, -6.098260387e-03f, -6.093273200e-03f, -6.088275731e-03f, -6.083267989e-03f,
+-6.078249984e-03f, -6.073221723e-03f, -6.068183217e-03f, -6.063134475e-03f, -6.058075506e-03f, -6.053006319e-03f, -6.047926924e-03f, -6.042837329e-03f, -6.037737545e-03f, -6.032627580e-03f,
+-6.027507443e-03f, -6.022377145e-03f, -6.017236694e-03f, -6.012086100e-03f, -6.006925372e-03f, -6.001754519e-03f, -5.996573552e-03f, -5.991382480e-03f, -5.986181311e-03f, -5.980970056e-03f,
+-5.975748723e-03f, -5.970517324e-03f, -5.965275866e-03f, -5.960024360e-03f, -5.954762815e-03f, -5.949491241e-03f, -5.944209647e-03f, -5.938918043e-03f, -5.933616439e-03f, -5.928304844e-03f,
+-5.922983268e-03f, -5.917651721e-03f, -5.912310212e-03f, -5.906958751e-03f, -5.901597348e-03f, -5.896226012e-03f, -5.890844754e-03f, -5.885453583e-03f, -5.880052509e-03f, -5.874641541e-03f,
+-5.869220691e-03f, -5.863789966e-03f, -5.858349378e-03f, -5.852898936e-03f, -5.847438651e-03f, -5.841968531e-03f, -5.836488587e-03f, -5.830998829e-03f, -5.825499267e-03f, -5.819989911e-03f,
+-5.814470771e-03f, -5.808941857e-03f, -5.803403179e-03f, -5.797854747e-03f, -5.792296570e-03f, -5.786728660e-03f, -5.781151027e-03f, -5.775563679e-03f, -5.769966628e-03f, -5.764359884e-03f,
+-5.758743457e-03f, -5.753117356e-03f, -5.747481593e-03f, -5.741836177e-03f, -5.736181119e-03f, -5.730516429e-03f, -5.724842117e-03f, -5.719158194e-03f, -5.713464669e-03f, -5.707761553e-03f,
+-5.702048857e-03f, -5.696326590e-03f, -5.690594764e-03f, -5.684853388e-03f, -5.679102473e-03f, -5.673342029e-03f, -5.667572067e-03f, -5.661792597e-03f, -5.656003629e-03f, -5.650205175e-03f,
+-5.644397244e-03f, -5.638579848e-03f, -5.632752996e-03f, -5.626916699e-03f, -5.621070967e-03f, -5.615215812e-03f, -5.609351244e-03f, -5.603477273e-03f, -5.597593910e-03f, -5.591701166e-03f,
+-5.585799052e-03f, -5.579887577e-03f, -5.573966753e-03f, -5.568036590e-03f, -5.562097099e-03f, -5.556148291e-03f, -5.550190177e-03f, -5.544222767e-03f, -5.538246072e-03f, -5.532260102e-03f,
+-5.526264870e-03f, -5.520260384e-03f, -5.514246658e-03f, -5.508223700e-03f, -5.502191522e-03f, -5.496150135e-03f, -5.490099550e-03f, -5.484039778e-03f, -5.477970829e-03f, -5.471892714e-03f,
+-5.465805446e-03f, -5.459709033e-03f, -5.453603489e-03f, -5.447488822e-03f, -5.441365045e-03f, -5.435232169e-03f, -5.429090204e-03f, -5.422939162e-03f, -5.416779053e-03f, -5.410609890e-03f,
+-5.404431682e-03f, -5.398244441e-03f, -5.392048178e-03f, -5.385842905e-03f, -5.379628632e-03f, -5.373405371e-03f, -5.367173133e-03f, -5.360931928e-03f, -5.354681769e-03f, -5.348422667e-03f,
+-5.342154632e-03f, -5.335877677e-03f, -5.329591812e-03f, -5.323297048e-03f, -5.316993397e-03f, -5.310680871e-03f, -5.304359481e-03f, -5.298029237e-03f, -5.291690152e-03f, -5.285342236e-03f,
+-5.278985502e-03f, -5.272619961e-03f, -5.266245623e-03f, -5.259862501e-03f, -5.253470606e-03f, -5.247069949e-03f, -5.240660542e-03f, -5.234242397e-03f, -5.227815525e-03f, -5.221379937e-03f,
+-5.214935645e-03f, -5.208482661e-03f, -5.202020996e-03f, -5.195550662e-03f, -5.189071670e-03f, -5.182584032e-03f, -5.176087760e-03f, -5.169582865e-03f, -5.163069359e-03f, -5.156547254e-03f,
+-5.150016561e-03f, -5.143477292e-03f, -5.136929459e-03f, -5.130373074e-03f, -5.123808147e-03f, -5.117234692e-03f, -5.110652720e-03f, -5.104062242e-03f, -5.097463271e-03f, -5.090855818e-03f,
+-5.084239895e-03f, -5.077615514e-03f, -5.070982686e-03f, -5.064341425e-03f, -5.057691740e-03f, -5.051033646e-03f, -5.044367153e-03f, -5.037692273e-03f, -5.031009018e-03f, -5.024317401e-03f,
+-5.017617433e-03f, -5.010909126e-03f, -5.004192492e-03f, -4.997467543e-03f, -4.990734292e-03f, -4.983992750e-03f, -4.977242930e-03f, -4.970484842e-03f, -4.963718501e-03f, -4.956943917e-03f,
+-4.950161102e-03f, -4.943370070e-03f, -4.936570831e-03f, -4.929763399e-03f, -4.922947785e-03f, -4.916124002e-03f, -4.909292061e-03f, -4.902451975e-03f, -4.895603756e-03f, -4.888747417e-03f,
+-4.881882969e-03f, -4.875010425e-03f, -4.868129797e-03f, -4.861241098e-03f, -4.854344340e-03f, -4.847439534e-03f, -4.840526694e-03f, -4.833605831e-03f, -4.826676959e-03f, -4.819740089e-03f,
+-4.812795234e-03f, -4.805842406e-03f, -4.798881618e-03f, -4.791912882e-03f, -4.784936210e-03f, -4.777951616e-03f, -4.770959110e-03f, -4.763958707e-03f, -4.756950418e-03f, -4.749934256e-03f,
+-4.742910233e-03f, -4.735878362e-03f, -4.728838655e-03f, -4.721791126e-03f, -4.714735786e-03f, -4.707672648e-03f, -4.700601725e-03f, -4.693523029e-03f, -4.686436573e-03f, -4.679342370e-03f,
+-4.672240432e-03f, -4.665130771e-03f, -4.658013402e-03f, -4.650888335e-03f, -4.643755585e-03f, -4.636615163e-03f, -4.629467082e-03f, -4.622311355e-03f, -4.615147995e-03f, -4.607977015e-03f,
+-4.600798427e-03f, -4.593612244e-03f, -4.586418479e-03f, -4.579217145e-03f, -4.572008254e-03f, -4.564791819e-03f, -4.557567854e-03f, -4.550336371e-03f, -4.543097382e-03f, -4.535850902e-03f,
+-4.528596942e-03f, -4.521335516e-03f, -4.514066636e-03f, -4.506790315e-03f, -4.499506567e-03f, -4.492215405e-03f, -4.484916840e-03f, -4.477610887e-03f, -4.470297558e-03f, -4.462976866e-03f,
+-4.455648825e-03f, -4.448313447e-03f, -4.440970745e-03f, -4.433620733e-03f, -4.426263423e-03f, -4.418898828e-03f, -4.411526962e-03f, -4.404147838e-03f, -4.396761469e-03f, -4.389367867e-03f,
+-4.381967047e-03f, -4.374559021e-03f, -4.367143802e-03f, -4.359721403e-03f, -4.352291839e-03f, -4.344855121e-03f, -4.337411263e-03f, -4.329960279e-03f, -4.322502181e-03f, -4.315036983e-03f,
+-4.307564699e-03f, -4.300085340e-03f, -4.292598921e-03f, -4.285105455e-03f, -4.277604955e-03f, -4.270097434e-03f, -4.262582906e-03f, -4.255061384e-03f, -4.247532882e-03f, -4.239997413e-03f,
+-4.232454990e-03f, -4.224905626e-03f, -4.217349335e-03f, -4.209786130e-03f, -4.202216026e-03f, -4.194639034e-03f, -4.187055169e-03f, -4.179464444e-03f, -4.171866873e-03f, -4.164262468e-03f,
+-4.156651244e-03f, -4.149033214e-03f, -4.141408392e-03f, -4.133776790e-03f, -4.126138423e-03f, -4.118493303e-03f, -4.110841446e-03f, -4.103182863e-03f, -4.095517569e-03f, -4.087845577e-03f,
+-4.080166901e-03f, -4.072481555e-03f, -4.064789551e-03f, -4.057090905e-03f, -4.049385628e-03f, -4.041673736e-03f, -4.033955240e-03f, -4.026230157e-03f, -4.018498498e-03f, -4.010760278e-03f,
+-4.003015510e-03f, -3.995264208e-03f, -3.987506385e-03f, -3.979742056e-03f, -3.971971235e-03f, -3.964193934e-03f, -3.956410168e-03f, -3.948619951e-03f, -3.940823295e-03f, -3.933020216e-03f,
+-3.925210726e-03f, -3.917394841e-03f, -3.909572572e-03f, -3.901743935e-03f, -3.893908943e-03f, -3.886067610e-03f, -3.878219950e-03f, -3.870365977e-03f, -3.862505704e-03f, -3.854639146e-03f,
+-3.846766316e-03f, -3.838887228e-03f, -3.831001897e-03f, -3.823110336e-03f, -3.815212558e-03f, -3.807308579e-03f, -3.799398412e-03f, -3.791482072e-03f, -3.783559571e-03f, -3.775630924e-03f,
+-3.767696145e-03f, -3.759755248e-03f, -3.751808247e-03f, -3.743855156e-03f, -3.735895989e-03f, -3.727930760e-03f, -3.719959484e-03f, -3.711982174e-03f, -3.703998844e-03f, -3.696009509e-03f,
+-3.688014182e-03f, -3.680012878e-03f, -3.672005611e-03f, -3.663992394e-03f, -3.655973243e-03f, -3.647948171e-03f, -3.639917192e-03f, -3.631880321e-03f, -3.623837572e-03f, -3.615788958e-03f,
+-3.607734495e-03f, -3.599674196e-03f, -3.591608076e-03f, -3.583536148e-03f, -3.575458427e-03f, -3.567374928e-03f, -3.559285663e-03f, -3.551190649e-03f, -3.543089899e-03f, -3.534983427e-03f,
+-3.526871248e-03f, -3.518753375e-03f, -3.510629824e-03f, -3.502500608e-03f, -3.494365742e-03f, -3.486225241e-03f, -3.478079117e-03f, -3.469927387e-03f, -3.461770064e-03f, -3.453607163e-03f,
+-3.445438697e-03f, -3.437264682e-03f, -3.429085132e-03f, -3.420900061e-03f, -3.412709483e-03f, -3.404513414e-03f, -3.396311867e-03f, -3.388104857e-03f, -3.379892398e-03f, -3.371674505e-03f,
+-3.363451192e-03f, -3.355222474e-03f, -3.346988366e-03f, -3.338748881e-03f, -3.330504034e-03f, -3.322253840e-03f, -3.313998314e-03f, -3.305737469e-03f, -3.297471320e-03f, -3.289199883e-03f,
+-3.280923171e-03f, -3.272641198e-03f, -3.264353981e-03f, -3.256061532e-03f, -3.247763868e-03f, -3.239461001e-03f, -3.231152948e-03f, -3.222839722e-03f, -3.214521338e-03f, -3.206197811e-03f,
+-3.197869156e-03f, -3.189535387e-03f, -3.181196518e-03f, -3.172852565e-03f, -3.164503541e-03f, -3.156149463e-03f, -3.147790344e-03f, -3.139426199e-03f, -3.131057043e-03f, -3.122682890e-03f,
+-3.114303756e-03f, -3.105919654e-03f, -3.097530601e-03f, -3.089136609e-03f, -3.080737695e-03f, -3.072333873e-03f, -3.063925158e-03f, -3.055511564e-03f, -3.047093106e-03f, -3.038669799e-03f,
+-3.030241659e-03f, -3.021808698e-03f, -3.013370934e-03f, -3.004928379e-03f, -2.996481050e-03f, -2.988028960e-03f, -2.979572126e-03f, -2.971110561e-03f, -2.962644280e-03f, -2.954173299e-03f,
+-2.945697632e-03f, -2.937217294e-03f, -2.928732300e-03f, -2.920242664e-03f, -2.911748403e-03f, -2.903249530e-03f, -2.894746061e-03f, -2.886238010e-03f, -2.877725393e-03f, -2.869208224e-03f,
+-2.860686518e-03f, -2.852160290e-03f, -2.843629556e-03f, -2.835094330e-03f, -2.826554627e-03f, -2.818010462e-03f, -2.809461850e-03f, -2.800908806e-03f, -2.792351346e-03f, -2.783789483e-03f,
+-2.775223234e-03f, -2.766652612e-03f, -2.758077634e-03f, -2.749498314e-03f, -2.740914667e-03f, -2.732326709e-03f, -2.723734453e-03f, -2.715137916e-03f, -2.706537113e-03f, -2.697932058e-03f,
+-2.689322766e-03f, -2.680709254e-03f, -2.672091535e-03f, -2.663469624e-03f, -2.654843538e-03f, -2.646213291e-03f, -2.637578898e-03f, -2.628940375e-03f, -2.620297735e-03f, -2.611650996e-03f,
+-2.603000171e-03f, -2.594345276e-03f, -2.585686326e-03f, -2.577023336e-03f, -2.568356322e-03f, -2.559685298e-03f, -2.551010280e-03f, -2.542331283e-03f, -2.533648322e-03f, -2.524961412e-03f,
+-2.516270568e-03f, -2.507575807e-03f, -2.498877142e-03f, -2.490174589e-03f, -2.481468164e-03f, -2.472757882e-03f, -2.464043757e-03f, -2.455325806e-03f, -2.446604042e-03f, -2.437878483e-03f,
+-2.429149142e-03f, -2.420416035e-03f, -2.411679178e-03f, -2.402938586e-03f, -2.394194273e-03f, -2.385446256e-03f, -2.376694550e-03f, -2.367939169e-03f, -2.359180130e-03f, -2.350417447e-03f,
+-2.341651136e-03f, -2.332881212e-03f, -2.324107690e-03f, -2.315330587e-03f, -2.306549916e-03f, -2.297765695e-03f, -2.288977937e-03f, -2.280186658e-03f, -2.271391874e-03f, -2.262593600e-03f,
+-2.253791851e-03f, -2.244986643e-03f, -2.236177991e-03f, -2.227365910e-03f, -2.218550417e-03f, -2.209731525e-03f, -2.200909252e-03f, -2.192083612e-03f, -2.183254620e-03f, -2.174422292e-03f,
+-2.165586643e-03f, -2.156747690e-03f, -2.147905446e-03f, -2.139059928e-03f, -2.130211152e-03f, -2.121359132e-03f, -2.112503884e-03f, -2.103645423e-03f, -2.094783766e-03f, -2.085918927e-03f,
+-2.077050921e-03f, -2.068179766e-03f, -2.059305475e-03f, -2.050428064e-03f, -2.041547550e-03f, -2.032663946e-03f, -2.023777270e-03f, -2.014887536e-03f, -2.005994760e-03f, -1.997098957e-03f,
+-1.988200143e-03f, -1.979298334e-03f, -1.970393544e-03f, -1.961485790e-03f, -1.952575087e-03f, -1.943661451e-03f, -1.934744897e-03f, -1.925825440e-03f, -1.916903097e-03f, -1.907977883e-03f,
+-1.899049812e-03f, -1.890118902e-03f, -1.881185168e-03f, -1.872248624e-03f, -1.863309287e-03f, -1.854367173e-03f, -1.845422296e-03f, -1.836474672e-03f, -1.827524318e-03f, -1.818571248e-03f,
+-1.809615479e-03f, -1.800657025e-03f, -1.791695903e-03f, -1.782732127e-03f, -1.773765715e-03f, -1.764796681e-03f, -1.755825040e-03f, -1.746850810e-03f, -1.737874004e-03f, -1.728894640e-03f,
+-1.719912731e-03f, -1.710928295e-03f, -1.701941347e-03f, -1.692951902e-03f, -1.683959976e-03f, -1.674965585e-03f, -1.665968745e-03f, -1.656969470e-03f, -1.647967777e-03f, -1.638963682e-03f,
+-1.629957199e-03f, -1.620948346e-03f, -1.611937137e-03f, -1.602923588e-03f, -1.593907714e-03f, -1.584889533e-03f, -1.575869058e-03f, -1.566846307e-03f, -1.557821294e-03f, -1.548794036e-03f,
+-1.539764547e-03f, -1.530732844e-03f, -1.521698943e-03f, -1.512662859e-03f, -1.503624608e-03f, -1.494584205e-03f, -1.485541667e-03f, -1.476497009e-03f, -1.467450247e-03f, -1.458401396e-03f,
+-1.449350472e-03f, -1.440297492e-03f, -1.431242470e-03f, -1.422185423e-03f, -1.413126366e-03f, -1.404065316e-03f, -1.395002287e-03f, -1.385937295e-03f, -1.376870357e-03f, -1.367801488e-03f,
+-1.358730704e-03f, -1.349658020e-03f, -1.340583453e-03f, -1.331507018e-03f, -1.322428730e-03f, -1.313348607e-03f, -1.304266663e-03f, -1.295182914e-03f, -1.286097376e-03f, -1.277010065e-03f,
+-1.267920997e-03f, -1.258830187e-03f, -1.249737651e-03f, -1.240643406e-03f, -1.231547466e-03f, -1.222449848e-03f, -1.213350567e-03f, -1.204249639e-03f, -1.195147080e-03f, -1.186042907e-03f,
+-1.176937133e-03f, -1.167829777e-03f, -1.158720852e-03f, -1.149610376e-03f, -1.140498363e-03f, -1.131384830e-03f, -1.122269793e-03f, -1.113153267e-03f, -1.104035269e-03f, -1.094915813e-03f,
+-1.085794916e-03f, -1.076672594e-03f, -1.067548862e-03f, -1.058423737e-03f, -1.049297234e-03f, -1.040169369e-03f, -1.031040158e-03f, -1.021909616e-03f, -1.012777760e-03f, -1.003644606e-03f,
+-9.945101684e-04f, -9.853744641e-04f, -9.762375088e-04f, -9.670993182e-04f, -9.579599083e-04f, -9.488192948e-04f, -9.396774937e-04f, -9.305345208e-04f, -9.213903919e-04f, -9.122451229e-04f,
+-9.030987297e-04f, -8.939512281e-04f, -8.848026339e-04f, -8.756529631e-04f, -8.665022316e-04f, -8.573504550e-04f, -8.481976495e-04f, -8.390438307e-04f, -8.298890146e-04f, -8.207332170e-04f,
+-8.115764538e-04f, -8.024187409e-04f, -7.932600941e-04f, -7.841005294e-04f, -7.749400625e-04f, -7.657787094e-04f, -7.566164860e-04f, -7.474534080e-04f, -7.382894914e-04f, -7.291247521e-04f,
+-7.199592059e-04f, -7.107928687e-04f, -7.016257565e-04f, -6.924578849e-04f, -6.832892701e-04f, -6.741199277e-04f, -6.649498738e-04f, -6.557791241e-04f, -6.466076946e-04f, -6.374356012e-04f,
+-6.282628596e-04f, -6.190894859e-04f, -6.099154959e-04f, -6.007409054e-04f, -5.915657304e-04f, -5.823899868e-04f, -5.732136903e-04f, -5.640368570e-04f, -5.548595026e-04f, -5.456816432e-04f,
+-5.365032944e-04f, -5.273244723e-04f, -5.181451928e-04f, -5.089654716e-04f, -4.997853247e-04f, -4.906047680e-04f, -4.814238173e-04f, -4.722424886e-04f, -4.630607977e-04f, -4.538787605e-04f,
+-4.446963929e-04f, -4.355137107e-04f, -4.263307299e-04f, -4.171474664e-04f, -4.079639359e-04f, -3.987801544e-04f, -3.895961378e-04f, -3.804119020e-04f, -3.712274628e-04f, -3.620428361e-04f,
+-3.528580378e-04f, -3.436730838e-04f, -3.344879900e-04f, -3.253027721e-04f, -3.161174462e-04f, -3.069320281e-04f, -2.977465336e-04f, -2.885609787e-04f, -2.793753791e-04f, -2.701897509e-04f,
+-2.610041098e-04f, -2.518184717e-04f, -2.426328526e-04f, -2.334472682e-04f, -2.242617344e-04f, -2.150762672e-04f, -2.058908823e-04f, -1.967055957e-04f, -1.875204232e-04f, -1.783353807e-04f,
+-1.691504840e-04f, -1.599657491e-04f, -1.507811917e-04f, -1.415968277e-04f, -1.324126730e-04f, -1.232287435e-04f, -1.140450549e-04f, -1.048616233e-04f, -9.567846433e-05f, -8.649559396e-05f,
+-7.731302800e-05f, -6.813078233e-05f, -5.894887277e-05f, -4.976731520e-05f, -4.058612544e-05f, -3.140531936e-05f, -2.222491279e-05f, -1.304492157e-05f, -3.865361547e-06f, 5.313751436e-06f,
+1.449240154e-05f, 2.367057294e-05f, 3.284824979e-05f, 4.202541625e-05f, 5.120205651e-05f, 6.037815472e-05f, 6.955369506e-05f, 7.872866170e-05f, 8.790303881e-05f, 9.707681058e-05f,
+1.062499612e-04f, 1.154224748e-04f, 1.245943356e-04f, 1.337655278e-04f, 1.429360355e-04f, 1.521058430e-04f, 1.612749345e-04f, 1.704432941e-04f, 1.796109060e-04f, 1.887777544e-04f,
+1.979438236e-04f, 2.071090977e-04f, 2.162735609e-04f, 2.254371974e-04f, 2.345999915e-04f, 2.437619274e-04f, 2.529229892e-04f, 2.620831611e-04f, 2.712424275e-04f, 2.804007725e-04f,
+2.895581803e-04f, 2.987146351e-04f, 3.078701213e-04f, 3.170246229e-04f, 3.261781243e-04f, 3.353306096e-04f, 3.444820632e-04f, 3.536324692e-04f, 3.627818119e-04f, 3.719300755e-04f,
+3.810772443e-04f, 3.902233025e-04f, 3.993682344e-04f, 4.085120242e-04f, 4.176546562e-04f, 4.267961147e-04f, 4.359363838e-04f, 4.450754480e-04f, 4.542132913e-04f, 4.633498982e-04f,
+4.724852529e-04f, 4.816193397e-04f, 4.907521427e-04f, 4.998836465e-04f, 5.090138351e-04f, 5.181426929e-04f, 5.272702042e-04f, 5.363963534e-04f, 5.455211246e-04f, 5.546445022e-04f,
+5.637664705e-04f, 5.728870137e-04f, 5.820061163e-04f, 5.911237626e-04f, 6.002399367e-04f, 6.093546232e-04f, 6.184678062e-04f, 6.275794702e-04f, 6.366895994e-04f, 6.457981781e-04f,
+6.549051909e-04f, 6.640106218e-04f, 6.731144554e-04f, 6.822166759e-04f, 6.913172678e-04f, 7.004162153e-04f, 7.095135028e-04f, 7.186091147e-04f, 7.277030354e-04f, 7.367952492e-04f,
+7.458857404e-04f, 7.549744936e-04f, 7.640614930e-04f, 7.731467231e-04f, 7.822301682e-04f, 7.913118127e-04f, 8.003916410e-04f, 8.094696376e-04f, 8.185457867e-04f, 8.276200729e-04f,
+8.366924806e-04f, 8.457629941e-04f, 8.548315979e-04f, 8.638982765e-04f, 8.729630141e-04f, 8.820257953e-04f, 8.910866046e-04f, 9.001454263e-04f, 9.092022448e-04f, 9.182570448e-04f,
+9.273098105e-04f, 9.363605265e-04f, 9.454091772e-04f, 9.544557471e-04f, 9.635002206e-04f, 9.725425823e-04f, 9.815828166e-04f, 9.906209080e-04f, 9.996568410e-04f, 1.008690600e-03f,
+1.017722170e-03f, 1.026751534e-03f, 1.035778679e-03f, 1.044803587e-03f, 1.053826244e-03f, 1.062846634e-03f, 1.071864742e-03f, 1.080880552e-03f, 1.089894049e-03f, 1.098905217e-03f,
+1.107914041e-03f, 1.116920505e-03f, 1.125924594e-03f, 1.134926293e-03f, 1.143925585e-03f, 1.152922457e-03f, 1.161916891e-03f, 1.170908873e-03f, 1.179898388e-03f, 1.188885419e-03f,
+1.197869952e-03f, 1.206851971e-03f, 1.215831461e-03f, 1.224808407e-03f, 1.233782792e-03f, 1.242754601e-03f, 1.251723820e-03f, 1.260690433e-03f, 1.269654424e-03f, 1.278615779e-03f,
+1.287574481e-03f, 1.296530515e-03f, 1.305483867e-03f, 1.314434520e-03f, 1.323382460e-03f, 1.332327671e-03f, 1.341270137e-03f, 1.350209844e-03f, 1.359146776e-03f, 1.368080918e-03f,
+1.377012255e-03f, 1.385940770e-03f, 1.394866450e-03f, 1.403789278e-03f, 1.412709240e-03f, 1.421626319e-03f, 1.430540502e-03f, 1.439451772e-03f, 1.448360114e-03f, 1.457265514e-03f,
+1.466167955e-03f, 1.475067423e-03f, 1.483963902e-03f, 1.492857377e-03f, 1.501747834e-03f, 1.510635256e-03f, 1.519519628e-03f, 1.528400936e-03f, 1.537279164e-03f, 1.546154297e-03f,
+1.555026320e-03f, 1.563895217e-03f, 1.572760973e-03f, 1.581623574e-03f, 1.590483004e-03f, 1.599339248e-03f, 1.608192290e-03f, 1.617042116e-03f, 1.625888711e-03f, 1.634732059e-03f,
+1.643572145e-03f, 1.652408955e-03f, 1.661242472e-03f, 1.670072683e-03f, 1.678899571e-03f, 1.687723122e-03f, 1.696543321e-03f, 1.705360152e-03f, 1.714173601e-03f, 1.722983652e-03f,
+1.731790290e-03f, 1.740593501e-03f, 1.749393270e-03f, 1.758189580e-03f, 1.766982418e-03f, 1.775771768e-03f, 1.784557616e-03f, 1.793339945e-03f, 1.802118742e-03f, 1.810893991e-03f,
+1.819665677e-03f, 1.828433786e-03f, 1.837198301e-03f, 1.845959209e-03f, 1.854716495e-03f, 1.863470143e-03f, 1.872220138e-03f, 1.880966466e-03f, 1.889709111e-03f, 1.898448059e-03f,
+1.907183295e-03f, 1.915914803e-03f, 1.924642570e-03f, 1.933366579e-03f, 1.942086817e-03f, 1.950803268e-03f, 1.959515917e-03f, 1.968224750e-03f, 1.976929751e-03f, 1.985630906e-03f,
+1.994328201e-03f, 2.003021619e-03f, 2.011711147e-03f, 2.020396769e-03f, 2.029078471e-03f, 2.037756237e-03f, 2.046430054e-03f, 2.055099906e-03f, 2.063765778e-03f, 2.072427656e-03f,
+2.081085526e-03f, 2.089739371e-03f, 2.098389177e-03f, 2.107034931e-03f, 2.115676616e-03f, 2.124314218e-03f, 2.132947723e-03f, 2.141577116e-03f, 2.150202382e-03f, 2.158823506e-03f,
+2.167440473e-03f, 2.176053270e-03f, 2.184661881e-03f, 2.193266292e-03f, 2.201866487e-03f, 2.210462453e-03f, 2.219054175e-03f, 2.227641637e-03f, 2.236224826e-03f, 2.244803727e-03f,
+2.253378325e-03f, 2.261948606e-03f, 2.270514554e-03f, 2.279076156e-03f, 2.287633397e-03f, 2.296186262e-03f, 2.304734737e-03f, 2.313278806e-03f, 2.321818457e-03f, 2.330353673e-03f,
+2.338884441e-03f, 2.347410746e-03f, 2.355932574e-03f, 2.364449909e-03f, 2.372962738e-03f, 2.381471046e-03f, 2.389974818e-03f, 2.398474041e-03f, 2.406968699e-03f, 2.415458778e-03f,
+2.423944264e-03f, 2.432425142e-03f, 2.440901398e-03f, 2.449373017e-03f, 2.457839986e-03f, 2.466302289e-03f, 2.474759912e-03f, 2.483212841e-03f, 2.491661061e-03f, 2.500104559e-03f,
+2.508543319e-03f, 2.516977328e-03f, 2.525406571e-03f, 2.533831033e-03f, 2.542250701e-03f, 2.550665560e-03f, 2.559075596e-03f, 2.567480794e-03f, 2.575881141e-03f, 2.584276621e-03f,
+2.592667221e-03f, 2.601052927e-03f, 2.609433723e-03f, 2.617809597e-03f, 2.626180533e-03f, 2.634546518e-03f, 2.642907537e-03f, 2.651263576e-03f, 2.659614621e-03f, 2.667960657e-03f,
+2.676301672e-03f, 2.684637649e-03f, 2.692968576e-03f, 2.701294437e-03f, 2.709615220e-03f, 2.717930909e-03f, 2.726241492e-03f, 2.734546952e-03f, 2.742847277e-03f, 2.751142453e-03f,
+2.759432465e-03f, 2.767717299e-03f, 2.775996941e-03f, 2.784271377e-03f, 2.792540593e-03f, 2.800804576e-03f, 2.809063310e-03f, 2.817316783e-03f, 2.825564979e-03f, 2.833807886e-03f,
+2.842045488e-03f, 2.850277773e-03f, 2.858504725e-03f, 2.866726332e-03f, 2.874942579e-03f, 2.883153453e-03f, 2.891358938e-03f, 2.899559022e-03f, 2.907753691e-03f, 2.915942931e-03f,
+2.924126727e-03f, 2.932305066e-03f, 2.940477934e-03f, 2.948645317e-03f, 2.956807201e-03f, 2.964963574e-03f, 2.973114419e-03f, 2.981259725e-03f, 2.989399477e-03f, 2.997533661e-03f,
+3.005662263e-03f, 3.013785271e-03f, 3.021902669e-03f, 3.030014444e-03f, 3.038120583e-03f, 3.046221072e-03f, 3.054315897e-03f, 3.062405044e-03f, 3.070488500e-03f, 3.078566251e-03f,
+3.086638283e-03f, 3.094704582e-03f, 3.102765136e-03f, 3.110819930e-03f, 3.118868950e-03f, 3.126912184e-03f, 3.134949617e-03f, 3.142981236e-03f, 3.151007027e-03f, 3.159026977e-03f,
+3.167041072e-03f, 3.175049299e-03f, 3.183051643e-03f, 3.191048092e-03f, 3.199038632e-03f, 3.207023250e-03f, 3.215001931e-03f, 3.222974663e-03f, 3.230941431e-03f, 3.238902224e-03f,
+3.246857026e-03f, 3.254805825e-03f, 3.262748606e-03f, 3.270685358e-03f, 3.278616066e-03f, 3.286540717e-03f, 3.294459297e-03f, 3.302371793e-03f, 3.310278192e-03f, 3.318178481e-03f,
+3.326072645e-03f, 3.333960672e-03f, 3.341842549e-03f, 3.349718261e-03f, 3.357587796e-03f, 3.365451141e-03f, 3.373308282e-03f, 3.381159206e-03f, 3.389003899e-03f, 3.396842349e-03f,
+3.404674542e-03f, 3.412500465e-03f, 3.420320104e-03f, 3.428133448e-03f, 3.435940481e-03f, 3.443741192e-03f, 3.451535566e-03f, 3.459323592e-03f, 3.467105255e-03f, 3.474880542e-03f,
+3.482649441e-03f, 3.490411939e-03f, 3.498168021e-03f, 3.505917676e-03f, 3.513660890e-03f, 3.521397650e-03f, 3.529127943e-03f, 3.536851755e-03f, 3.544569075e-03f, 3.552279888e-03f,
+3.559984183e-03f, 3.567681945e-03f, 3.575373162e-03f, 3.583057821e-03f, 3.590735909e-03f, 3.598407413e-03f, 3.606072321e-03f, 3.613730618e-03f, 3.621382293e-03f, 3.629027332e-03f,
+3.636665723e-03f, 3.644297452e-03f, 3.651922507e-03f, 3.659540875e-03f, 3.667152543e-03f, 3.674757499e-03f, 3.682355728e-03f, 3.689947220e-03f, 3.697531961e-03f, 3.705109937e-03f,
+3.712681137e-03f, 3.720245548e-03f, 3.727803156e-03f, 3.735353950e-03f, 3.742897916e-03f, 3.750435042e-03f, 3.757965314e-03f, 3.765488722e-03f, 3.773005251e-03f, 3.780514889e-03f,
+3.788017623e-03f, 3.795513442e-03f, 3.803002331e-03f, 3.810484280e-03f, 3.817959274e-03f, 3.825427301e-03f, 3.832888350e-03f, 3.840342407e-03f, 3.847789460e-03f, 3.855229496e-03f,
+3.862662503e-03f, 3.870088468e-03f, 3.877507379e-03f, 3.884919223e-03f, 3.892323988e-03f, 3.899721662e-03f, 3.907112231e-03f, 3.914495684e-03f, 3.921872009e-03f, 3.929241192e-03f,
+3.936603221e-03f, 3.943958085e-03f, 3.951305770e-03f, 3.958646265e-03f, 3.965979556e-03f, 3.973305632e-03f, 3.980624481e-03f, 3.987936090e-03f, 3.995240446e-03f, 4.002537538e-03f,
+4.009827354e-03f, 4.017109880e-03f, 4.024385106e-03f, 4.031653018e-03f, 4.038913604e-03f, 4.046166853e-03f, 4.053412752e-03f, 4.060651289e-03f, 4.067882451e-03f, 4.075106227e-03f,
+4.082322605e-03f, 4.089531572e-03f, 4.096733117e-03f, 4.103927227e-03f, 4.111113890e-03f, 4.118293094e-03f, 4.125464827e-03f, 4.132629078e-03f, 4.139785833e-03f, 4.146935082e-03f,
+4.154076811e-03f, 4.161211010e-03f, 4.168337666e-03f, 4.175456767e-03f, 4.182568302e-03f, 4.189672258e-03f, 4.196768623e-03f, 4.203857387e-03f, 4.210938535e-03f, 4.218012058e-03f,
+4.225077943e-03f, 4.232136178e-03f, 4.239186751e-03f, 4.246229651e-03f, 4.253264866e-03f, 4.260292383e-03f, 4.267312192e-03f, 4.274324281e-03f, 4.281328637e-03f, 4.288325250e-03f,
+4.295314106e-03f, 4.302295195e-03f, 4.309268506e-03f, 4.316234025e-03f, 4.323191742e-03f, 4.330141646e-03f, 4.337083723e-03f, 4.344017964e-03f, 4.350944355e-03f, 4.357862887e-03f,
+4.364773546e-03f, 4.371676322e-03f, 4.378571202e-03f, 4.385458176e-03f, 4.392337232e-03f, 4.399208359e-03f, 4.406071544e-03f, 4.412926777e-03f, 4.419774046e-03f, 4.426613340e-03f,
+4.433444646e-03f, 4.440267955e-03f, 4.447083253e-03f, 4.453890531e-03f, 4.460689776e-03f, 4.467480978e-03f, 4.474264125e-03f, 4.481039205e-03f, 4.487806207e-03f, 4.494565121e-03f,
+4.501315934e-03f, 4.508058635e-03f, 4.514793214e-03f, 4.521519659e-03f, 4.528237958e-03f, 4.534948101e-03f, 4.541650077e-03f, 4.548343873e-03f, 4.555029480e-03f, 4.561706885e-03f,
+4.568376079e-03f, 4.575037048e-03f, 4.581689784e-03f, 4.588334273e-03f, 4.594970506e-03f, 4.601598472e-03f, 4.608218158e-03f, 4.614829555e-03f, 4.621432651e-03f, 4.628027435e-03f,
+4.634613897e-03f, 4.641192024e-03f, 4.647761807e-03f, 4.654323235e-03f, 4.660876295e-03f, 4.667420979e-03f, 4.673957273e-03f, 4.680485169e-03f, 4.687004654e-03f, 4.693515719e-03f,
+4.700018352e-03f, 4.706512542e-03f, 4.712998278e-03f, 4.719475551e-03f, 4.725944348e-03f, 4.732404660e-03f, 4.738856475e-03f, 4.745299783e-03f, 4.751734573e-03f, 4.758160834e-03f,
+4.764578556e-03f, 4.770987728e-03f, 4.777388339e-03f, 4.783780380e-03f, 4.790163838e-03f, 4.796538703e-03f, 4.802904966e-03f, 4.809262615e-03f, 4.815611640e-03f, 4.821952030e-03f,
+4.828283774e-03f, 4.834606863e-03f, 4.840921285e-03f, 4.847227031e-03f, 4.853524090e-03f, 4.859812450e-03f, 4.866092103e-03f, 4.872363037e-03f, 4.878625242e-03f, 4.884878707e-03f,
+4.891123423e-03f, 4.897359379e-03f, 4.903586564e-03f, 4.909804969e-03f, 4.916014582e-03f, 4.922215394e-03f, 4.928407395e-03f, 4.934590573e-03f, 4.940764920e-03f, 4.946930423e-03f,
+4.953087075e-03f, 4.959234863e-03f, 4.965373779e-03f, 4.971503811e-03f, 4.977624950e-03f, 4.983737186e-03f, 4.989840507e-03f, 4.995934906e-03f, 5.002020370e-03f, 5.008096891e-03f,
+5.014164457e-03f, 5.020223060e-03f, 5.026272689e-03f, 5.032313333e-03f, 5.038344984e-03f, 5.044367631e-03f, 5.050381264e-03f, 5.056385873e-03f, 5.062381448e-03f, 5.068367979e-03f,
+5.074345457e-03f, 5.080313872e-03f, 5.086273213e-03f, 5.092223470e-03f, 5.098164635e-03f, 5.104096697e-03f, 5.110019646e-03f, 5.115933473e-03f, 5.121838168e-03f, 5.127733720e-03f,
+5.133620121e-03f, 5.139497360e-03f, 5.145365429e-03f, 5.151224316e-03f, 5.157074013e-03f, 5.162914510e-03f, 5.168745797e-03f, 5.174567865e-03f, 5.180380704e-03f, 5.186184304e-03f,
+5.191978656e-03f, 5.197763750e-03f, 5.203539578e-03f, 5.209306128e-03f, 5.215063392e-03f, 5.220811360e-03f, 5.226550023e-03f, 5.232279371e-03f, 5.237999396e-03f, 5.243710086e-03f,
+5.249411434e-03f, 5.255103429e-03f, 5.260786063e-03f, 5.266459325e-03f, 5.272123207e-03f, 5.277777699e-03f, 5.283422793e-03f, 5.289058477e-03f, 5.294684745e-03f, 5.300301585e-03f,
+5.305908989e-03f, 5.311506948e-03f, 5.317095453e-03f, 5.322674493e-03f, 5.328244061e-03f, 5.333804146e-03f, 5.339354741e-03f, 5.344895835e-03f, 5.350427420e-03f, 5.355949486e-03f,
+5.361462024e-03f, 5.366965026e-03f, 5.372458483e-03f, 5.377942384e-03f, 5.383416722e-03f, 5.388881487e-03f, 5.394336670e-03f, 5.399782263e-03f, 5.405218257e-03f, 5.410644641e-03f,
+5.416061409e-03f, 5.421468550e-03f, 5.426866056e-03f, 5.432253918e-03f, 5.437632127e-03f, 5.443000675e-03f, 5.448359552e-03f, 5.453708750e-03f, 5.459048260e-03f, 5.464378073e-03f,
+5.469698181e-03f, 5.475008575e-03f, 5.480309246e-03f, 5.485600185e-03f, 5.490881384e-03f, 5.496152834e-03f, 5.501414527e-03f, 5.506666453e-03f, 5.511908605e-03f, 5.517140974e-03f,
+5.522363551e-03f, 5.527576327e-03f, 5.532779295e-03f, 5.537972445e-03f, 5.543155770e-03f, 5.548329260e-03f, 5.553492907e-03f, 5.558646703e-03f, 5.563790640e-03f, 5.568924708e-03f,
+5.574048900e-03f, 5.579163207e-03f, 5.584267621e-03f, 5.589362133e-03f, 5.594446736e-03f, 5.599521421e-03f, 5.604586179e-03f, 5.609641002e-03f, 5.614685883e-03f, 5.619720813e-03f,
+5.624745783e-03f, 5.629760786e-03f, 5.634765813e-03f, 5.639760856e-03f, 5.644745907e-03f, 5.649720958e-03f, 5.654686001e-03f, 5.659641028e-03f, 5.664586031e-03f, 5.669521001e-03f,
+5.674445930e-03f, 5.679360811e-03f, 5.684265636e-03f, 5.689160396e-03f, 5.694045084e-03f, 5.698919692e-03f, 5.703784211e-03f, 5.708638634e-03f, 5.713482953e-03f, 5.718317160e-03f,
+5.723141248e-03f, 5.727955208e-03f, 5.732759032e-03f, 5.737552713e-03f, 5.742336244e-03f, 5.747109615e-03f, 5.751872820e-03f, 5.756625851e-03f, 5.761368699e-03f, 5.766101359e-03f,
+5.770823820e-03f, 5.775536077e-03f, 5.780238121e-03f, 5.784929945e-03f, 5.789611541e-03f, 5.794282902e-03f, 5.798944020e-03f, 5.803594887e-03f, 5.808235496e-03f, 5.812865839e-03f,
+5.817485910e-03f, 5.822095700e-03f, 5.826695202e-03f, 5.831284408e-03f, 5.835863312e-03f, 5.840431905e-03f, 5.844990181e-03f, 5.849538131e-03f, 5.854075750e-03f, 5.858603028e-03f,
+5.863119960e-03f, 5.867626537e-03f, 5.872122753e-03f, 5.876608599e-03f, 5.881084070e-03f, 5.885549157e-03f, 5.890003854e-03f, 5.894448154e-03f, 5.898882048e-03f, 5.903305530e-03f,
+5.907718594e-03f, 5.912121231e-03f, 5.916513434e-03f, 5.920895198e-03f, 5.925266513e-03f, 5.929627375e-03f, 5.933977774e-03f, 5.938317706e-03f, 5.942647161e-03f, 5.946966135e-03f,
+5.951274619e-03f, 5.955572606e-03f, 5.959860090e-03f, 5.964137065e-03f, 5.968403522e-03f, 5.972659455e-03f, 5.976904858e-03f, 5.981139723e-03f, 5.985364043e-03f, 5.989577813e-03f,
+5.993781025e-03f, 5.997973672e-03f, 6.002155748e-03f, 6.006327246e-03f, 6.010488159e-03f, 6.014638481e-03f, 6.018778205e-03f, 6.022907324e-03f, 6.027025832e-03f, 6.031133722e-03f,
+6.035230987e-03f, 6.039317622e-03f, 6.043393619e-03f, 6.047458972e-03f, 6.051513675e-03f, 6.055557720e-03f, 6.059591102e-03f, 6.063613815e-03f, 6.067625850e-03f, 6.071627203e-03f,
+6.075617867e-03f, 6.079597836e-03f, 6.083567102e-03f, 6.087525661e-03f, 6.091473505e-03f, 6.095410628e-03f, 6.099337024e-03f, 6.103252687e-03f, 6.107157610e-03f, 6.111051787e-03f,
+6.114935213e-03f, 6.118807880e-03f, 6.122669783e-03f, 6.126520915e-03f, 6.130361271e-03f, 6.134190845e-03f, 6.138009629e-03f, 6.141817619e-03f, 6.145614808e-03f, 6.149401190e-03f,
+6.153176759e-03f, 6.156941509e-03f, 6.160695434e-03f, 6.164438529e-03f, 6.168170786e-03f, 6.171892201e-03f, 6.175602768e-03f, 6.179302480e-03f, 6.182991331e-03f, 6.186669317e-03f,
+6.190336431e-03f, 6.193992667e-03f, 6.197638019e-03f, 6.201272482e-03f, 6.204896050e-03f, 6.208508717e-03f, 6.212110478e-03f, 6.215701327e-03f, 6.219281257e-03f, 6.222850265e-03f,
+6.226408343e-03f, 6.229955487e-03f, 6.233491690e-03f, 6.237016947e-03f, 6.240531253e-03f, 6.244034602e-03f, 6.247526989e-03f, 6.251008408e-03f, 6.254478853e-03f, 6.257938319e-03f,
+6.261386801e-03f, 6.264824294e-03f, 6.268250791e-03f, 6.271666287e-03f, 6.275070778e-03f, 6.278464258e-03f, 6.281846721e-03f, 6.285218162e-03f, 6.288578576e-03f, 6.291927958e-03f,
+6.295266302e-03f, 6.298593604e-03f, 6.301909857e-03f, 6.305215057e-03f, 6.308509199e-03f, 6.311792277e-03f, 6.315064287e-03f, 6.318325222e-03f, 6.321575079e-03f, 6.324813852e-03f,
+6.328041536e-03f, 6.331258126e-03f, 6.334463617e-03f, 6.337658004e-03f, 6.340841282e-03f, 6.344013446e-03f, 6.347174492e-03f, 6.350324413e-03f, 6.353463206e-03f, 6.356590865e-03f,
+6.359707386e-03f, 6.362812763e-03f, 6.365906993e-03f, 6.368990070e-03f, 6.372061989e-03f, 6.375122746e-03f, 6.378172335e-03f, 6.381210753e-03f, 6.384237994e-03f, 6.387254054e-03f,
+6.390258928e-03f, 6.393252612e-03f, 6.396235101e-03f, 6.399206389e-03f, 6.402166474e-03f, 6.405115349e-03f, 6.408053012e-03f, 6.410979456e-03f, 6.413894678e-03f, 6.416798672e-03f,
+6.419691436e-03f, 6.422572964e-03f, 6.425443251e-03f, 6.428302294e-03f, 6.431150087e-03f, 6.433986628e-03f, 6.436811910e-03f, 6.439625931e-03f, 6.442428685e-03f, 6.445220168e-03f,
+6.448000376e-03f, 6.450769306e-03f, 6.453526951e-03f, 6.456273310e-03f, 6.459008376e-03f, 6.461732146e-03f, 6.464444617e-03f, 6.467145783e-03f, 6.469835640e-03f, 6.472514185e-03f,
+6.475181414e-03f, 6.477837322e-03f, 6.480481905e-03f, 6.483115160e-03f, 6.485737082e-03f, 6.488347668e-03f, 6.490946913e-03f, 6.493534813e-03f, 6.496111366e-03f, 6.498676566e-03f,
+6.501230409e-03f, 6.503772893e-03f, 6.506304013e-03f, 6.508823765e-03f, 6.511332146e-03f, 6.513829152e-03f, 6.516314779e-03f, 6.518789023e-03f, 6.521251880e-03f, 6.523703348e-03f,
+6.526143422e-03f, 6.528572098e-03f, 6.530989373e-03f, 6.533395244e-03f, 6.535789706e-03f, 6.538172757e-03f, 6.540544392e-03f, 6.542904608e-03f, 6.545253401e-03f, 6.547590769e-03f,
+6.549916707e-03f, 6.552231213e-03f, 6.554534282e-03f, 6.556825911e-03f, 6.559106098e-03f, 6.561374838e-03f, 6.563632128e-03f, 6.565877964e-03f, 6.568112345e-03f, 6.570335265e-03f,
+6.572546723e-03f, 6.574746714e-03f, 6.576935235e-03f, 6.579112284e-03f, 6.581277857e-03f, 6.583431950e-03f, 6.585574562e-03f, 6.587705688e-03f, 6.589825325e-03f, 6.591933471e-03f,
+6.594030122e-03f, 6.596115275e-03f, 6.598188927e-03f, 6.600251076e-03f, 6.602301717e-03f, 6.604340849e-03f, 6.606368469e-03f, 6.608384572e-03f, 6.610389157e-03f, 6.612382220e-03f,
+6.614363759e-03f, 6.616333771e-03f, 6.618292253e-03f, 6.620239201e-03f, 6.622174615e-03f, 6.624098489e-03f, 6.626010823e-03f, 6.627911612e-03f, 6.629800855e-03f, 6.631678549e-03f,
+6.633544690e-03f, 6.635399277e-03f, 6.637242306e-03f, 6.639073776e-03f, 6.640893683e-03f, 6.642702025e-03f, 6.644498799e-03f, 6.646284003e-03f, 6.648057635e-03f, 6.649819691e-03f,
+6.651570170e-03f, 6.653309068e-03f, 6.655036384e-03f, 6.656752115e-03f, 6.658456258e-03f, 6.660148812e-03f, 6.661829774e-03f, 6.663499141e-03f, 6.665156912e-03f, 6.666803084e-03f,
+6.668437654e-03f, 6.670060621e-03f, 6.671671982e-03f, 6.673271735e-03f, 6.674859877e-03f, 6.676436408e-03f, 6.678001324e-03f, 6.679554623e-03f, 6.681096304e-03f, 6.682626364e-03f,
+6.684144800e-03f, 6.685651612e-03f, 6.687146797e-03f, 6.688630353e-03f, 6.690102278e-03f, 6.691562570e-03f, 6.693011227e-03f, 6.694448248e-03f, 6.695873629e-03f, 6.697287370e-03f,
+6.698689468e-03f, 6.700079923e-03f, 6.701458730e-03f, 6.702825890e-03f, 6.704181401e-03f, 6.705525259e-03f, 6.706857465e-03f, 6.708178015e-03f, 6.709486909e-03f, 6.710784144e-03f,
+6.712069719e-03f, 6.713343632e-03f, 6.714605883e-03f, 6.715856468e-03f, 6.717095386e-03f, 6.718322637e-03f, 6.719538218e-03f, 6.720742128e-03f, 6.721934365e-03f, 6.723114928e-03f,
+6.724283815e-03f, 6.725441025e-03f, 6.726586557e-03f, 6.727720409e-03f, 6.728842580e-03f, 6.729953068e-03f, 6.731051872e-03f, 6.732138991e-03f, 6.733214423e-03f, 6.734278167e-03f,
+6.735330222e-03f, 6.736370587e-03f, 6.737399260e-03f, 6.738416240e-03f, 6.739421527e-03f, 6.740415118e-03f, 6.741397013e-03f, 6.742367211e-03f, 6.743325710e-03f, 6.744272509e-03f,
+6.745207608e-03f, 6.746131005e-03f, 6.747042700e-03f, 6.747942691e-03f, 6.748830977e-03f, 6.749707557e-03f, 6.750572431e-03f, 6.751425598e-03f, 6.752267056e-03f, 6.753096805e-03f,
+6.753914843e-03f, 6.754721171e-03f, 6.755515787e-03f, 6.756298691e-03f, 6.757069881e-03f, 6.757829357e-03f, 6.758577118e-03f, 6.759313164e-03f, 6.760037493e-03f, 6.760750106e-03f,
+6.761451001e-03f, 6.762140178e-03f, 6.762817636e-03f, 6.763483375e-03f, 6.764137393e-03f, 6.764779692e-03f, 6.765410269e-03f, 6.766029124e-03f, 6.766636258e-03f, 6.767231669e-03f,
+6.767815357e-03f, 6.768387322e-03f, 6.768947563e-03f, 6.769496079e-03f, 6.770032871e-03f, 6.770557939e-03f, 6.771071281e-03f, 6.771572897e-03f, 6.772062788e-03f, 6.772540952e-03f,
+6.773007390e-03f, 6.773462102e-03f, 6.773905086e-03f, 6.774336344e-03f, 6.774755875e-03f, 6.775163678e-03f, 6.775559754e-03f, 6.775944102e-03f, 6.776316723e-03f, 6.776677616e-03f,
+6.777026782e-03f, 6.777364219e-03f, 6.777689929e-03f, 6.778003912e-03f, 6.778306166e-03f, 6.778596693e-03f, 6.778875492e-03f, 6.779142564e-03f, 6.779397909e-03f, 6.779641526e-03f,
+6.779873416e-03f, 6.780093580e-03f, 6.780302016e-03f, 6.780498727e-03f, 6.780683711e-03f, 6.780856969e-03f, 6.781018501e-03f, 6.781168308e-03f, 6.781306390e-03f, 6.781432747e-03f,
+6.781547380e-03f, 6.781650289e-03f, 6.781741474e-03f, 6.781820937e-03f, 6.781888676e-03f, 6.781944693e-03f, 6.781988989e-03f, 6.782021563e-03f, 6.782042416e-03f, 6.782051549e-03f,
+6.782048963e-03f, 6.782034658e-03f, 6.782008634e-03f, 6.781970892e-03f, 6.781921433e-03f, 6.781860257e-03f, 6.781787366e-03f, 6.781702760e-03f, 6.781606439e-03f, 6.781498404e-03f,
+6.781378657e-03f, 6.781247197e-03f, 6.781104026e-03f, 6.780949145e-03f, 6.780782554e-03f, 6.780604254e-03f, 6.780414246e-03f, 6.780212531e-03f, 6.779999111e-03f, 6.779773985e-03f,
+6.779537155e-03f, 6.779288622e-03f, 6.779028386e-03f, 6.778756450e-03f, 6.778472813e-03f, 6.778177478e-03f, 6.777870444e-03f, 6.777551714e-03f, 6.777221288e-03f, 6.776879167e-03f,
+6.776525353e-03f, 6.776159847e-03f, 6.775782650e-03f, 6.775393763e-03f, 6.774993188e-03f, 6.774580926e-03f, 6.774156977e-03f, 6.773721344e-03f, 6.773274028e-03f, 6.772815029e-03f,
+6.772344350e-03f, 6.771861992e-03f, 6.771367956e-03f, 6.770862244e-03f, 6.770344857e-03f, 6.769815796e-03f, 6.769275063e-03f, 6.768722660e-03f, 6.768158589e-03f, 6.767582849e-03f,
+6.766995444e-03f, 6.766396375e-03f, 6.765785643e-03f, 6.765163250e-03f, 6.764529198e-03f, 6.763883489e-03f, 6.763226123e-03f, 6.762557103e-03f, 6.761876431e-03f, 6.761184108e-03f,
+6.760480136e-03f, 6.759764516e-03f, 6.759037252e-03f, 6.758298344e-03f, 6.757547794e-03f, 6.756785604e-03f, 6.756011776e-03f, 6.755226313e-03f, 6.754429215e-03f, 6.753620485e-03f,
+6.752800125e-03f, 6.751968137e-03f, 6.751124523e-03f, 6.750269284e-03f, 6.749402424e-03f, 6.748523943e-03f, 6.747633845e-03f, 6.746732131e-03f, 6.745818803e-03f, 6.744893863e-03f,
+6.743957314e-03f, 6.743009159e-03f, 6.742049398e-03f, 6.741078034e-03f, 6.740095070e-03f, 6.739100508e-03f, 6.738094350e-03f, 6.737076598e-03f, 6.736047255e-03f, 6.735006323e-03f,
+6.733953804e-03f, 6.732889702e-03f, 6.731814017e-03f, 6.730726754e-03f, 6.729627913e-03f, 6.728517498e-03f, 6.727395512e-03f, 6.726261955e-03f, 6.725116832e-03f, 6.723960145e-03f,
+6.722791896e-03f, 6.721612088e-03f, 6.720420723e-03f, 6.719217804e-03f, 6.718003334e-03f, 6.716777316e-03f, 6.715539751e-03f, 6.714290643e-03f, 6.713029995e-03f, 6.711757809e-03f,
+6.710474088e-03f, 6.709178835e-03f, 6.707872053e-03f, 6.706553744e-03f, 6.705223911e-03f, 6.703882558e-03f, 6.702529687e-03f, 6.701165300e-03f, 6.699789402e-03f, 6.698401994e-03f,
+6.697003080e-03f, 6.695592663e-03f, 6.694170746e-03f, 6.692737331e-03f, 6.691292423e-03f, 6.689836023e-03f, 6.688368135e-03f, 6.686888763e-03f, 6.685397908e-03f, 6.683895575e-03f,
+6.682381767e-03f, 6.680856486e-03f, 6.679319737e-03f, 6.677771521e-03f, 6.676211843e-03f, 6.674640705e-03f, 6.673058111e-03f, 6.671464065e-03f, 6.669858569e-03f, 6.668241627e-03f,
+6.666613242e-03f, 6.664973418e-03f, 6.663322158e-03f, 6.661659465e-03f, 6.659985343e-03f, 6.658299796e-03f, 6.656602826e-03f, 6.654894438e-03f, 6.653174634e-03f, 6.651443419e-03f,
+6.649700796e-03f, 6.647946768e-03f, 6.646181339e-03f, 6.644404513e-03f, 6.642616293e-03f, 6.640816684e-03f, 6.639005687e-03f, 6.637183309e-03f, 6.635349551e-03f, 6.633504418e-03f,
+6.631647913e-03f, 6.629780041e-03f, 6.627900805e-03f, 6.626010209e-03f, 6.624108257e-03f, 6.622194952e-03f, 6.620270298e-03f, 6.618334300e-03f, 6.616386961e-03f, 6.614428285e-03f,
+6.612458276e-03f, 6.610476939e-03f, 6.608484276e-03f, 6.606480293e-03f, 6.604464992e-03f, 6.602438379e-03f, 6.600400456e-03f, 6.598351229e-03f, 6.596290701e-03f, 6.594218877e-03f,
+6.592135761e-03f, 6.590041356e-03f, 6.587935667e-03f, 6.585818698e-03f, 6.583690453e-03f, 6.581550937e-03f, 6.579400154e-03f, 6.577238108e-03f, 6.575064803e-03f, 6.572880244e-03f,
+6.570684435e-03f, 6.568477381e-03f, 6.566259085e-03f, 6.564029552e-03f, 6.561788787e-03f, 6.559536793e-03f, 6.557273577e-03f, 6.554999141e-03f, 6.552713490e-03f, 6.550416629e-03f,
+6.548108563e-03f, 6.545789295e-03f, 6.543458831e-03f, 6.541117175e-03f, 6.538764332e-03f, 6.536400306e-03f, 6.534025102e-03f, 6.531638725e-03f, 6.529241178e-03f, 6.526832468e-03f,
+6.524412598e-03f, 6.521981574e-03f, 6.519539400e-03f, 6.517086080e-03f, 6.514621621e-03f, 6.512146026e-03f, 6.509659300e-03f, 6.507161448e-03f, 6.504652476e-03f, 6.502132387e-03f,
+6.499601187e-03f, 6.497058881e-03f, 6.494505474e-03f, 6.491940970e-03f, 6.489365375e-03f, 6.486778693e-03f, 6.484180930e-03f, 6.481572091e-03f, 6.478952181e-03f, 6.476321204e-03f,
+6.473679166e-03f, 6.471026072e-03f, 6.468361928e-03f, 6.465686737e-03f, 6.463000507e-03f, 6.460303240e-03f, 6.457594944e-03f, 6.454875622e-03f, 6.452145281e-03f, 6.449403926e-03f,
+6.446651561e-03f, 6.443888193e-03f, 6.441113825e-03f, 6.438328465e-03f, 6.435532117e-03f, 6.432724787e-03f, 6.429906479e-03f, 6.427077200e-03f, 6.424236954e-03f, 6.421385748e-03f,
+6.418523586e-03f, 6.415650474e-03f, 6.412766419e-03f, 6.409871424e-03f, 6.406965496e-03f, 6.404048641e-03f, 6.401120863e-03f, 6.398182169e-03f, 6.395232563e-03f, 6.392272053e-03f,
+6.389300643e-03f, 6.386318339e-03f, 6.383325147e-03f, 6.380321072e-03f, 6.377306120e-03f, 6.374280297e-03f, 6.371243609e-03f, 6.368196062e-03f, 6.365137660e-03f, 6.362068411e-03f,
+6.358988320e-03f, 6.355897392e-03f, 6.352795635e-03f, 6.349683052e-03f, 6.346559652e-03f, 6.343425438e-03f, 6.340280418e-03f, 6.337124597e-03f, 6.333957982e-03f, 6.330780578e-03f,
+6.327592391e-03f, 6.324393428e-03f, 6.321183694e-03f, 6.317963195e-03f, 6.314731938e-03f, 6.311489929e-03f, 6.308237174e-03f, 6.304973678e-03f, 6.301699449e-03f, 6.298414492e-03f,
+6.295118814e-03f, 6.291812421e-03f, 6.288495318e-03f, 6.285167513e-03f, 6.281829012e-03f, 6.278479820e-03f, 6.275119944e-03f, 6.271749391e-03f, 6.268368167e-03f, 6.264976278e-03f,
+6.261573731e-03f, 6.258160531e-03f, 6.254736686e-03f, 6.251302202e-03f, 6.247857086e-03f, 6.244401343e-03f, 6.240934980e-03f, 6.237458005e-03f, 6.233970422e-03f, 6.230472240e-03f,
+6.226963464e-03f, 6.223444101e-03f, 6.219914158e-03f, 6.216373641e-03f, 6.212822557e-03f, 6.209260912e-03f, 6.205688714e-03f, 6.202105969e-03f, 6.198512683e-03f, 6.194908864e-03f,
+6.191294518e-03f, 6.187669652e-03f, 6.184034273e-03f, 6.180388387e-03f, 6.176732001e-03f, 6.173065122e-03f, 6.169387758e-03f, 6.165699914e-03f, 6.162001598e-03f, 6.158292817e-03f,
+6.154573577e-03f, 6.150843886e-03f, 6.147103751e-03f, 6.143353177e-03f, 6.139592174e-03f, 6.135820746e-03f, 6.132038903e-03f, 6.128246649e-03f, 6.124443994e-03f, 6.120630943e-03f,
+6.116807504e-03f, 6.112973684e-03f, 6.109129490e-03f, 6.105274929e-03f, 6.101410008e-03f, 6.097534735e-03f, 6.093649117e-03f, 6.089753161e-03f, 6.085846874e-03f, 6.081930264e-03f,
+6.078003337e-03f, 6.074066102e-03f, 6.070118565e-03f, 6.066160733e-03f, 6.062192615e-03f, 6.058214217e-03f, 6.054225547e-03f, 6.050226612e-03f, 6.046217420e-03f, 6.042197977e-03f,
+6.038168293e-03f, 6.034128373e-03f, 6.030078226e-03f, 6.026017858e-03f, 6.021947279e-03f, 6.017866494e-03f, 6.013775512e-03f, 6.009674340e-03f, 6.005562985e-03f, 6.001441456e-03f,
+5.997309760e-03f, 5.993167905e-03f, 5.989015898e-03f, 5.984853747e-03f, 5.980681459e-03f, 5.976499043e-03f, 5.972306506e-03f, 5.968103855e-03f, 5.963891100e-03f, 5.959668246e-03f,
+5.955435303e-03f, 5.951192278e-03f, 5.946939178e-03f, 5.942676012e-03f, 5.938402788e-03f, 5.934119513e-03f, 5.929826195e-03f, 5.925522843e-03f, 5.921209463e-03f, 5.916886065e-03f,
+5.912552656e-03f, 5.908209243e-03f, 5.903855836e-03f, 5.899492442e-03f, 5.895119069e-03f, 5.890735725e-03f, 5.886342418e-03f, 5.881939156e-03f, 5.877525948e-03f, 5.873102801e-03f,
+5.868669724e-03f, 5.864226724e-03f, 5.859773811e-03f, 5.855310991e-03f, 5.850838274e-03f, 5.846355667e-03f, 5.841863179e-03f, 5.837360819e-03f, 5.832848593e-03f, 5.828326511e-03f,
+5.823794581e-03f, 5.819252811e-03f, 5.814701209e-03f, 5.810139785e-03f, 5.805568545e-03f, 5.800987499e-03f, 5.796396655e-03f, 5.791796022e-03f, 5.787185607e-03f, 5.782565420e-03f,
+5.777935469e-03f, 5.773295761e-03f, 5.768646307e-03f, 5.763987113e-03f, 5.759318190e-03f, 5.754639545e-03f, 5.749951187e-03f, 5.745253124e-03f, 5.740545365e-03f, 5.735827919e-03f,
+5.731100794e-03f, 5.726364000e-03f, 5.721617544e-03f, 5.716861435e-03f, 5.712095682e-03f, 5.707320294e-03f, 5.702535279e-03f, 5.697740647e-03f, 5.692936405e-03f, 5.688122564e-03f,
+5.683299130e-03f, 5.678466114e-03f, 5.673623524e-03f, 5.668771369e-03f, 5.663909658e-03f, 5.659038400e-03f, 5.654157603e-03f, 5.649267277e-03f, 5.644367430e-03f, 5.639458072e-03f,
+5.634539210e-03f, 5.629610856e-03f, 5.624673016e-03f, 5.619725700e-03f, 5.614768918e-03f, 5.609802678e-03f, 5.604826990e-03f, 5.599841862e-03f, 5.594847303e-03f, 5.589843323e-03f,
+5.584829931e-03f, 5.579807136e-03f, 5.574774946e-03f, 5.569733372e-03f, 5.564682422e-03f, 5.559622105e-03f, 5.554552431e-03f, 5.549473409e-03f, 5.544385048e-03f, 5.539287358e-03f,
+5.534180347e-03f, 5.529064026e-03f, 5.523938402e-03f, 5.518803486e-03f, 5.513659287e-03f, 5.508505814e-03f, 5.503343077e-03f, 5.498171085e-03f, 5.492989847e-03f, 5.487799373e-03f,
+5.482599673e-03f, 5.477390755e-03f, 5.472172629e-03f, 5.466945304e-03f, 5.461708791e-03f, 5.456463098e-03f, 5.451208236e-03f, 5.445944213e-03f, 5.440671039e-03f, 5.435388724e-03f,
+5.430097277e-03f, 5.424796708e-03f, 5.419487027e-03f, 5.414168242e-03f, 5.408840365e-03f, 5.403503404e-03f, 5.398157369e-03f, 5.392802270e-03f, 5.387438116e-03f, 5.382064918e-03f,
+5.376682684e-03f, 5.371291426e-03f, 5.365891151e-03f, 5.360481871e-03f, 5.355063595e-03f, 5.349636332e-03f, 5.344200094e-03f, 5.338754888e-03f, 5.333300727e-03f, 5.327837618e-03f,
+5.322365572e-03f, 5.316884599e-03f, 5.311394710e-03f, 5.305895913e-03f, 5.300388218e-03f, 5.294871637e-03f, 5.289346178e-03f, 5.283811851e-03f, 5.278268668e-03f, 5.272716637e-03f,
+5.267155769e-03f, 5.261586073e-03f, 5.256007560e-03f, 5.250420240e-03f, 5.244824124e-03f, 5.239219220e-03f, 5.233605539e-03f, 5.227983092e-03f, 5.222351888e-03f, 5.216711938e-03f,
+5.211063251e-03f, 5.205405839e-03f, 5.199739711e-03f, 5.194064877e-03f, 5.188381348e-03f, 5.182689133e-03f, 5.176988244e-03f, 5.171278691e-03f, 5.165560483e-03f, 5.159833631e-03f,
+5.154098146e-03f, 5.148354037e-03f, 5.142601315e-03f, 5.136839991e-03f, 5.131070075e-03f, 5.125291576e-03f, 5.119504507e-03f, 5.113708876e-03f, 5.107904695e-03f, 5.102091974e-03f,
+5.096270723e-03f, 5.090440953e-03f, 5.084602674e-03f, 5.078755897e-03f, 5.072900633e-03f, 5.067036891e-03f, 5.061164683e-03f, 5.055284019e-03f, 5.049394910e-03f, 5.043497366e-03f,
+5.037591397e-03f, 5.031677015e-03f, 5.025754230e-03f, 5.019823053e-03f, 5.013883494e-03f, 5.007935565e-03f, 5.001979275e-03f, 4.996014635e-03f, 4.990041657e-03f, 4.984060350e-03f,
+4.978070726e-03f, 4.972072796e-03f, 4.966066569e-03f, 4.960052058e-03f, 4.954029272e-03f, 4.947998223e-03f, 4.941958922e-03f, 4.935911379e-03f, 4.929855604e-03f, 4.923791610e-03f,
+4.917719407e-03f, 4.911639005e-03f, 4.905550416e-03f, 4.899453651e-03f, 4.893348720e-03f, 4.887235634e-03f, 4.881114405e-03f, 4.874985044e-03f, 4.868847561e-03f, 4.862701967e-03f,
+4.856548274e-03f, 4.850386492e-03f, 4.844216633e-03f, 4.838038707e-03f, 4.831852726e-03f, 4.825658701e-03f, 4.819456642e-03f, 4.813246562e-03f, 4.807028470e-03f, 4.800802379e-03f,
+4.794568299e-03f, 4.788326242e-03f, 4.782076219e-03f, 4.775818240e-03f, 4.769552317e-03f, 4.763278462e-03f, 4.756996685e-03f, 4.750706998e-03f, 4.744409413e-03f, 4.738103939e-03f,
+4.731790589e-03f, 4.725469374e-03f, 4.719140306e-03f, 4.712803394e-03f, 4.706458652e-03f, 4.700106090e-03f, 4.693745720e-03f, 4.687377552e-03f, 4.681001599e-03f, 4.674617872e-03f,
+4.668226381e-03f, 4.661827140e-03f, 4.655420158e-03f, 4.649005448e-03f, 4.642583021e-03f, 4.636152889e-03f, 4.629715062e-03f, 4.623269553e-03f, 4.616816372e-03f, 4.610355532e-03f,
+4.603887045e-03f, 4.597410920e-03f, 4.590927171e-03f, 4.584435809e-03f, 4.577936845e-03f, 4.571430291e-03f, 4.564916158e-03f, 4.558394458e-03f, 4.551865204e-03f, 4.545328406e-03f,
+4.538784076e-03f, 4.532232225e-03f, 4.525672867e-03f, 4.519106011e-03f, 4.512531670e-03f, 4.505949856e-03f, 4.499360581e-03f, 4.492763855e-03f, 4.486159692e-03f, 4.479548102e-03f,
+4.472929097e-03f, 4.466302690e-03f, 4.459668892e-03f, 4.453027715e-03f, 4.446379171e-03f, 4.439723271e-03f, 4.433060028e-03f, 4.426389453e-03f, 4.419711558e-03f, 4.413026356e-03f,
+4.406333857e-03f, 4.399634075e-03f, 4.392927020e-03f, 4.386212705e-03f, 4.379491143e-03f, 4.372762343e-03f, 4.366026320e-03f, 4.359283085e-03f, 4.352532649e-03f, 4.345775025e-03f,
+4.339010225e-03f, 4.332238260e-03f, 4.325459144e-03f, 4.318672888e-03f, 4.311879503e-03f, 4.305079003e-03f, 4.298271399e-03f, 4.291456704e-03f, 4.284634929e-03f, 4.277806086e-03f,
+4.270970189e-03f, 4.264127248e-03f, 4.257277277e-03f, 4.250420286e-03f, 4.243556290e-03f, 4.236685299e-03f, 4.229807325e-03f, 4.222922382e-03f, 4.216030482e-03f, 4.209131636e-03f,
+4.202225857e-03f, 4.195313157e-03f, 4.188393549e-03f, 4.181467044e-03f, 4.174533655e-03f, 4.167593395e-03f, 4.160646276e-03f, 4.153692309e-03f, 4.146731508e-03f, 4.139763885e-03f,
+4.132789452e-03f, 4.125808221e-03f, 4.118820205e-03f, 4.111825417e-03f, 4.104823869e-03f, 4.097815572e-03f, 4.090800541e-03f, 4.083778786e-03f, 4.076750321e-03f, 4.069715158e-03f,
+4.062673310e-03f, 4.055624788e-03f, 4.048569606e-03f, 4.041507776e-03f, 4.034439311e-03f, 4.027364223e-03f, 4.020282525e-03f, 4.013194228e-03f, 4.006099347e-03f, 3.998997893e-03f,
+3.991889879e-03f, 3.984775317e-03f, 3.977654221e-03f, 3.970526602e-03f, 3.963392474e-03f, 3.956251849e-03f, 3.949104740e-03f, 3.941951160e-03f, 3.934791120e-03f, 3.927624634e-03f,
+3.920451715e-03f, 3.913272375e-03f, 3.906086627e-03f, 3.898894484e-03f, 3.891695958e-03f, 3.884491062e-03f, 3.877279810e-03f, 3.870062213e-03f, 3.862838284e-03f, 3.855608037e-03f,
+3.848371484e-03f, 3.841128637e-03f, 3.833879511e-03f, 3.826624117e-03f, 3.819362468e-03f, 3.812094578e-03f, 3.804820459e-03f, 3.797540124e-03f, 3.790253586e-03f, 3.782960857e-03f,
+3.775661952e-03f, 3.768356882e-03f, 3.761045660e-03f, 3.753728300e-03f, 3.746404815e-03f, 3.739075217e-03f, 3.731739519e-03f, 3.724397734e-03f, 3.717049876e-03f, 3.709695957e-03f,
+3.702335991e-03f, 3.694969990e-03f, 3.687597967e-03f, 3.680219936e-03f, 3.672835909e-03f, 3.665445899e-03f, 3.658049920e-03f, 3.650647985e-03f, 3.643240106e-03f, 3.635826298e-03f,
+3.628406572e-03f, 3.620980942e-03f, 3.613549422e-03f, 3.606112023e-03f, 3.598668760e-03f, 3.591219646e-03f, 3.583764693e-03f, 3.576303916e-03f, 3.568837326e-03f, 3.561364938e-03f,
+3.553886764e-03f, 3.546402817e-03f, 3.538913112e-03f, 3.531417661e-03f, 3.523916477e-03f, 3.516409574e-03f, 3.508896964e-03f, 3.501378662e-03f, 3.493854680e-03f, 3.486325032e-03f,
+3.478789731e-03f, 3.471248790e-03f, 3.463702222e-03f, 3.456150041e-03f, 3.448592261e-03f, 3.441028894e-03f, 3.433459954e-03f, 3.425885455e-03f, 3.418305408e-03f, 3.410719829e-03f,
+3.403128730e-03f, 3.395532125e-03f, 3.387930027e-03f, 3.380322450e-03f, 3.372709407e-03f, 3.365090910e-03f, 3.357466975e-03f, 3.349837614e-03f, 3.342202841e-03f, 3.334562669e-03f,
+3.326917111e-03f, 3.319266182e-03f, 3.311609894e-03f, 3.303948262e-03f, 3.296281298e-03f, 3.288609016e-03f, 3.280931429e-03f, 3.273248552e-03f, 3.265560398e-03f, 3.257866979e-03f,
+3.250168311e-03f, 3.242464406e-03f, 3.234755278e-03f, 3.227040940e-03f, 3.219321406e-03f, 3.211596690e-03f, 3.203866806e-03f, 3.196131766e-03f, 3.188391585e-03f, 3.180646275e-03f,
+3.172895852e-03f, 3.165140328e-03f, 3.157379717e-03f, 3.149614033e-03f, 3.141843289e-03f, 3.134067500e-03f, 3.126286678e-03f, 3.118500837e-03f, 3.110709992e-03f, 3.102914156e-03f,
+3.095113342e-03f, 3.087307564e-03f, 3.079496837e-03f, 3.071681173e-03f, 3.063860587e-03f, 3.056035092e-03f, 3.048204702e-03f, 3.040369431e-03f, 3.032529293e-03f, 3.024684301e-03f,
+3.016834469e-03f, 3.008979811e-03f, 3.001120341e-03f, 2.993256072e-03f, 2.985387019e-03f, 2.977513195e-03f, 2.969634615e-03f, 2.961751291e-03f, 2.953863238e-03f, 2.945970470e-03f,
+2.938073000e-03f, 2.930170843e-03f, 2.922264012e-03f, 2.914352521e-03f, 2.906436385e-03f, 2.898515616e-03f, 2.890590229e-03f, 2.882660238e-03f, 2.874725657e-03f, 2.866786500e-03f,
+2.858842780e-03f, 2.850894512e-03f, 2.842941710e-03f, 2.834984387e-03f, 2.827022557e-03f, 2.819056235e-03f, 2.811085435e-03f, 2.803110170e-03f, 2.795130454e-03f, 2.787146302e-03f,
+2.779157727e-03f, 2.771164744e-03f, 2.763167366e-03f, 2.755165608e-03f, 2.747159484e-03f, 2.739149007e-03f, 2.731134192e-03f, 2.723115053e-03f, 2.715091604e-03f, 2.707063858e-03f,
+2.699031831e-03f, 2.690995535e-03f, 2.682954986e-03f, 2.674910197e-03f, 2.666861183e-03f, 2.658807957e-03f, 2.650750534e-03f, 2.642688927e-03f, 2.634623152e-03f, 2.626553221e-03f,
+2.618479150e-03f, 2.610400952e-03f, 2.602318642e-03f, 2.594232233e-03f, 2.586141740e-03f, 2.578047177e-03f, 2.569948559e-03f, 2.561845899e-03f, 2.553739211e-03f, 2.545628510e-03f,
+2.537513811e-03f, 2.529395127e-03f, 2.521272472e-03f, 2.513145861e-03f, 2.505015307e-03f, 2.496880827e-03f, 2.488742432e-03f, 2.480600138e-03f, 2.472453959e-03f, 2.464303910e-03f,
+2.456150004e-03f, 2.447992256e-03f, 2.439830679e-03f, 2.431665290e-03f, 2.423496100e-03f, 2.415323126e-03f, 2.407146381e-03f, 2.398965880e-03f, 2.390781637e-03f, 2.382593666e-03f,
+2.374401981e-03f, 2.366206597e-03f, 2.358007529e-03f, 2.349804790e-03f, 2.341598395e-03f, 2.333388359e-03f, 2.325174695e-03f, 2.316957418e-03f, 2.308736543e-03f, 2.300512083e-03f,
+2.292284054e-03f, 2.284052469e-03f, 2.275817343e-03f, 2.267578691e-03f, 2.259336526e-03f, 2.251090864e-03f, 2.242841718e-03f, 2.234589104e-03f, 2.226333034e-03f, 2.218073525e-03f,
+2.209810590e-03f, 2.201544244e-03f, 2.193274502e-03f, 2.185001377e-03f, 2.176724884e-03f, 2.168445038e-03f, 2.160161853e-03f, 2.151875343e-03f, 2.143585524e-03f, 2.135292409e-03f,
+2.126996014e-03f, 2.118696351e-03f, 2.110393437e-03f, 2.102087286e-03f, 2.093777912e-03f, 2.085465329e-03f, 2.077149552e-03f, 2.068830596e-03f, 2.060508476e-03f, 2.052183205e-03f,
+2.043854798e-03f, 2.035523270e-03f, 2.027188635e-03f, 2.018850908e-03f, 2.010510104e-03f, 2.002166237e-03f, 1.993819321e-03f, 1.985469372e-03f, 1.977116403e-03f, 1.968760430e-03f,
+1.960401467e-03f, 1.952039528e-03f, 1.943674628e-03f, 1.935306782e-03f, 1.926936004e-03f, 1.918562309e-03f, 1.910185712e-03f, 1.901806227e-03f, 1.893423869e-03f, 1.885038652e-03f,
+1.876650591e-03f, 1.868259701e-03f, 1.859865996e-03f, 1.851469491e-03f, 1.843070200e-03f, 1.834668139e-03f, 1.826263322e-03f, 1.817855763e-03f, 1.809445478e-03f, 1.801032480e-03f,
+1.792616785e-03f, 1.784198407e-03f, 1.775777362e-03f, 1.767353662e-03f, 1.758927324e-03f, 1.750498362e-03f, 1.742066791e-03f, 1.733632625e-03f, 1.725195879e-03f, 1.716756568e-03f,
+1.708314706e-03f, 1.699870308e-03f, 1.691423390e-03f, 1.682973965e-03f, 1.674522048e-03f, 1.666067655e-03f, 1.657610799e-03f, 1.649151496e-03f, 1.640689760e-03f, 1.632225606e-03f,
+1.623759049e-03f, 1.615290103e-03f, 1.606818784e-03f, 1.598345105e-03f, 1.589869083e-03f, 1.581390731e-03f, 1.572910064e-03f, 1.564427097e-03f, 1.555941846e-03f, 1.547454323e-03f,
+1.538964546e-03f, 1.530472527e-03f, 1.521978282e-03f, 1.513481826e-03f, 1.504983174e-03f, 1.496482340e-03f, 1.487979339e-03f, 1.479474186e-03f, 1.470966896e-03f, 1.462457483e-03f,
+1.453945963e-03f, 1.445432349e-03f, 1.436916658e-03f, 1.428398904e-03f, 1.419879101e-03f, 1.411357264e-03f, 1.402833409e-03f, 1.394307550e-03f, 1.385779702e-03f, 1.377249879e-03f,
+1.368718097e-03f, 1.360184371e-03f, 1.351648715e-03f, 1.343111144e-03f, 1.334571672e-03f, 1.326030316e-03f, 1.317487089e-03f, 1.308942007e-03f, 1.300395084e-03f, 1.291846336e-03f,
+1.283295776e-03f, 1.274743421e-03f, 1.266189284e-03f, 1.257633381e-03f, 1.249075726e-03f, 1.240516335e-03f, 1.231955223e-03f, 1.223392403e-03f, 1.214827891e-03f, 1.206261703e-03f,
+1.197693852e-03f, 1.189124354e-03f, 1.180553224e-03f, 1.171980476e-03f, 1.163406125e-03f, 1.154830187e-03f, 1.146252676e-03f, 1.137673607e-03f, 1.129092995e-03f, 1.120510854e-03f,
+1.111927201e-03f, 1.103342049e-03f, 1.094755414e-03f, 1.086167311e-03f, 1.077577754e-03f, 1.068986758e-03f, 1.060394338e-03f, 1.051800510e-03f, 1.043205287e-03f, 1.034608686e-03f,
+1.026010721e-03f, 1.017411406e-03f, 1.008810757e-03f, 1.000208789e-03f, 9.916055171e-04f, 9.830009553e-04f, 9.743951189e-04f, 9.657880230e-04f, 9.571796825e-04f, 9.485701123e-04f,
+9.399593273e-04f, 9.313473425e-04f, 9.227341728e-04f, 9.141198331e-04f, 9.055043385e-04f, 8.968877038e-04f, 8.882699440e-04f, 8.796510740e-04f, 8.710311089e-04f, 8.624100634e-04f,
+8.537879527e-04f, 8.451647915e-04f, 8.365405950e-04f, 8.279153780e-04f, 8.192891555e-04f, 8.106619424e-04f, 8.020337537e-04f, 7.934046044e-04f, 7.847745094e-04f, 7.761434837e-04f,
+7.675115423e-04f, 7.588787000e-04f, 7.502449719e-04f, 7.416103729e-04f, 7.329749180e-04f, 7.243386221e-04f, 7.157015003e-04f, 7.070635674e-04f, 6.984248385e-04f, 6.897853284e-04f,
+6.811450523e-04f, 6.725040250e-04f, 6.638622615e-04f, 6.552197768e-04f, 6.465765858e-04f, 6.379327036e-04f, 6.292881450e-04f, 6.206429251e-04f, 6.119970588e-04f, 6.033505612e-04f,
+5.947034471e-04f, 5.860557315e-04f, 5.774074295e-04f, 5.687585560e-04f, 5.601091259e-04f, 5.514591542e-04f, 5.428086560e-04f, 5.341576462e-04f, 5.255061397e-04f, 5.168541515e-04f,
+5.082016966e-04f, 4.995487900e-04f, 4.908954467e-04f, 4.822416816e-04f, 4.735875097e-04f, 4.649329459e-04f, 4.562780053e-04f, 4.476227029e-04f, 4.389670535e-04f, 4.303110722e-04f,
+4.216547739e-04f, 4.129981736e-04f, 4.043412864e-04f, 3.956841270e-04f, 3.870267107e-04f, 3.783690522e-04f, 3.697111666e-04f, 3.610530688e-04f, 3.523947739e-04f, 3.437362967e-04f,
+3.350776523e-04f, 3.264188557e-04f, 3.177599217e-04f, 3.091008654e-04f, 3.004417017e-04f, 2.917824456e-04f, 2.831231121e-04f, 2.744637162e-04f, 2.658042727e-04f, 2.571447967e-04f,
+2.484853031e-04f, 2.398258070e-04f, 2.311663232e-04f, 2.225068667e-04f, 2.138474525e-04f, 2.051880955e-04f, 1.965288107e-04f, 1.878696131e-04f, 1.792105177e-04f, 1.705515393e-04f,
+1.618926929e-04f, 1.532339935e-04f, 1.445754561e-04f, 1.359170955e-04f, 1.272589268e-04f, 1.186009649e-04f, 1.099432248e-04f, 1.012857214e-04f, 9.262846957e-05f, 8.397148437e-05f,
+7.531478072e-05f, 6.665837354e-05f, 5.800227779e-05f, 4.934650841e-05f, 4.069108034e-05f, 3.203600852e-05f, 2.338130789e-05f, 1.472699338e-05f, 6.073079921e-06f, -2.580417543e-06f,
+-1.123348408e-05f, -1.988610477e-05f, -2.853826467e-05f, -3.718994886e-05f, -4.584114242e-05f, -5.449183041e-05f, -6.314199792e-05f, -7.179163003e-05f, -8.044071181e-05f, -8.908922835e-05f,
+-9.773716472e-05f, -1.063845060e-04f, -1.150312373e-04f, -1.236773438e-04f, -1.323228104e-04f, -1.409676223e-04f, -1.496117646e-04f, -1.582552223e-04f, -1.668979807e-04f, -1.755400247e-04f,
+-1.841813395e-04f, -1.928219102e-04f, -2.014617218e-04f, -2.101007596e-04f, -2.187390086e-04f, -2.273764539e-04f, -2.360130806e-04f, -2.446488739e-04f, -2.532838188e-04f, -2.619179006e-04f,
+-2.705511043e-04f, -2.791834150e-04f, -2.878148178e-04f, -2.964452980e-04f, -3.050748406e-04f, -3.137034308e-04f, -3.223310537e-04f, -3.309576944e-04f, -3.395833382e-04f, -3.482079700e-04f,
+-3.568315751e-04f, -3.654541387e-04f, -3.740756458e-04f, -3.826960817e-04f, -3.913154315e-04f, -3.999336803e-04f, -4.085508133e-04f, -4.171668158e-04f, -4.257816727e-04f, -4.343953694e-04f,
+-4.430078910e-04f, -4.516192226e-04f, -4.602293495e-04f, -4.688382568e-04f, -4.774459298e-04f, -4.860523535e-04f, -4.946575132e-04f, -5.032613942e-04f, -5.118639815e-04f, -5.204652603e-04f,
+-5.290652160e-04f, -5.376638336e-04f, -5.462610984e-04f, -5.548569957e-04f, -5.634515105e-04f, -5.720446282e-04f, -5.806363340e-04f, -5.892266130e-04f, -5.978154506e-04f, -6.064028319e-04f,
+-6.149887421e-04f, -6.235731666e-04f, -6.321560905e-04f, -6.407374991e-04f, -6.493173777e-04f, -6.578957114e-04f, -6.664724856e-04f, -6.750476854e-04f, -6.836212963e-04f, -6.921933033e-04f,
+-7.007636919e-04f, -7.093324472e-04f, -7.178995545e-04f, -7.264649992e-04f, -7.350287664e-04f, -7.435908416e-04f, -7.521512098e-04f, -7.607098566e-04f, -7.692667671e-04f, -7.778219267e-04f,
+-7.863753206e-04f, -7.949269342e-04f, -8.034767528e-04f, -8.120247616e-04f, -8.205709461e-04f, -8.291152915e-04f, -8.376577832e-04f, -8.461984065e-04f, -8.547371467e-04f, -8.632739891e-04f,
+-8.718089192e-04f, -8.803419222e-04f, -8.888729835e-04f, -8.974020885e-04f, -9.059292225e-04f, -9.144543709e-04f, -9.229775190e-04f, -9.314986523e-04f, -9.400177560e-04f, -9.485348156e-04f,
+-9.570498165e-04f, -9.655627440e-04f, -9.740735835e-04f, -9.825823205e-04f, -9.910889403e-04f, -9.995934284e-04f, -1.008095770e-03f, -1.016595951e-03f, -1.025093956e-03f, -1.033589771e-03f,
+-1.042083382e-03f, -1.050574773e-03f, -1.059063931e-03f, -1.067550840e-03f, -1.076035486e-03f, -1.084517855e-03f, -1.092997931e-03f, -1.101475702e-03f, -1.109951151e-03f, -1.118424264e-03f,
+-1.126895028e-03f, -1.135363426e-03f, -1.143829446e-03f, -1.152293072e-03f, -1.160754290e-03f, -1.169213085e-03f, -1.177669442e-03f, -1.186123348e-03f, -1.194574788e-03f, -1.203023748e-03f,
+-1.211470212e-03f, -1.219914166e-03f, -1.228355597e-03f, -1.236794489e-03f, -1.245230828e-03f, -1.253664600e-03f, -1.262095789e-03f, -1.270524383e-03f, -1.278950365e-03f, -1.287373723e-03f,
+-1.295794440e-03f, -1.304212504e-03f, -1.312627899e-03f, -1.321040612e-03f, -1.329450627e-03f, -1.337857931e-03f, -1.346262508e-03f, -1.354664345e-03f, -1.363063427e-03f, -1.371459740e-03f,
+-1.379853270e-03f, -1.388244001e-03f, -1.396631920e-03f, -1.405017013e-03f, -1.413399264e-03f, -1.421778660e-03f, -1.430155187e-03f, -1.438528829e-03f, -1.446899573e-03f, -1.455267405e-03f,
+-1.463632309e-03f, -1.471994272e-03f, -1.480353280e-03f, -1.488709317e-03f, -1.497062371e-03f, -1.505412426e-03f, -1.513759468e-03f, -1.522103483e-03f, -1.530444457e-03f, -1.538782375e-03f,
+-1.547117223e-03f, -1.555448988e-03f, -1.563777654e-03f, -1.572103207e-03f, -1.580425634e-03f, -1.588744920e-03f, -1.597061050e-03f, -1.605374011e-03f, -1.613683788e-03f, -1.621990368e-03f,
+-1.630293735e-03f, -1.638593876e-03f, -1.646890777e-03f, -1.655184423e-03f, -1.663474801e-03f, -1.671761895e-03f, -1.680045692e-03f, -1.688326178e-03f, -1.696603339e-03f, -1.704877160e-03f,
+-1.713147628e-03f, -1.721414727e-03f, -1.729678445e-03f, -1.737938767e-03f, -1.746195679e-03f, -1.754449166e-03f, -1.762699215e-03f, -1.770945812e-03f, -1.779188942e-03f, -1.787428591e-03f,
+-1.795664746e-03f, -1.803897393e-03f, -1.812126516e-03f, -1.820352103e-03f, -1.828574139e-03f, -1.836792610e-03f, -1.845007502e-03f, -1.853218802e-03f, -1.861426494e-03f, -1.869630566e-03f,
+-1.877831002e-03f, -1.886027790e-03f, -1.894220915e-03f, -1.902410363e-03f, -1.910596120e-03f, -1.918778172e-03f, -1.926956506e-03f, -1.935131107e-03f, -1.943301961e-03f, -1.951469055e-03f,
+-1.959632374e-03f, -1.967791905e-03f, -1.975947633e-03f, -1.984099545e-03f, -1.992247627e-03f, -2.000391865e-03f, -2.008532245e-03f, -2.016668754e-03f, -2.024801376e-03f, -2.032930099e-03f,
+-2.041054909e-03f, -2.049175792e-03f, -2.057292733e-03f, -2.065405720e-03f, -2.073514738e-03f, -2.081619773e-03f, -2.089720812e-03f, -2.097817841e-03f, -2.105910846e-03f, -2.113999813e-03f,
+-2.122084729e-03f, -2.130165580e-03f, -2.138242351e-03f, -2.146315030e-03f, -2.154383602e-03f, -2.162448054e-03f, -2.170508372e-03f, -2.178564542e-03f, -2.186616551e-03f, -2.194664384e-03f,
+-2.202708029e-03f, -2.210747471e-03f, -2.218782697e-03f, -2.226813693e-03f, -2.234840445e-03f, -2.242862941e-03f, -2.250881165e-03f, -2.258895105e-03f, -2.266904747e-03f, -2.274910076e-03f,
+-2.282911081e-03f, -2.290907746e-03f, -2.298900059e-03f, -2.306888006e-03f, -2.314871572e-03f, -2.322850746e-03f, -2.330825512e-03f, -2.338795858e-03f, -2.346761770e-03f, -2.354723234e-03f,
+-2.362680237e-03f, -2.370632765e-03f, -2.378580805e-03f, -2.386524344e-03f, -2.394463367e-03f, -2.402397861e-03f, -2.410327813e-03f, -2.418253210e-03f, -2.426174037e-03f, -2.434090282e-03f,
+-2.442001930e-03f, -2.449908969e-03f, -2.457811386e-03f, -2.465709165e-03f, -2.473602295e-03f, -2.481490762e-03f, -2.489374552e-03f, -2.497253652e-03f, -2.505128049e-03f, -2.512997729e-03f,
+-2.520862679e-03f, -2.528722885e-03f, -2.536578334e-03f, -2.544429014e-03f, -2.552274909e-03f, -2.560116008e-03f, -2.567952297e-03f, -2.575783763e-03f, -2.583610391e-03f, -2.591432170e-03f,
+-2.599249085e-03f, -2.607061124e-03f, -2.614868273e-03f, -2.622670519e-03f, -2.630467848e-03f, -2.638260248e-03f, -2.646047705e-03f, -2.653830207e-03f, -2.661607739e-03f, -2.669380288e-03f,
+-2.677147842e-03f, -2.684910388e-03f, -2.692667911e-03f, -2.700420400e-03f, -2.708167840e-03f, -2.715910219e-03f, -2.723647523e-03f, -2.731379740e-03f, -2.739106856e-03f, -2.746828858e-03f,
+-2.754545733e-03f, -2.762257468e-03f, -2.769964051e-03f, -2.777665467e-03f, -2.785361704e-03f, -2.793052749e-03f, -2.800738588e-03f, -2.808419209e-03f, -2.816094599e-03f, -2.823764745e-03f,
+-2.831429634e-03f, -2.839089252e-03f, -2.846743586e-03f, -2.854392625e-03f, -2.862036355e-03f, -2.869674762e-03f, -2.877307834e-03f, -2.884935559e-03f, -2.892557922e-03f, -2.900174912e-03f,
+-2.907786515e-03f, -2.915392718e-03f, -2.922993509e-03f, -2.930588874e-03f, -2.938178802e-03f, -2.945763278e-03f, -2.953342291e-03f, -2.960915826e-03f, -2.968483873e-03f, -2.976046417e-03f,
+-2.983603445e-03f, -2.991154946e-03f, -2.998700907e-03f, -3.006241313e-03f, -3.013776154e-03f, -3.021305416e-03f, -3.028829086e-03f, -3.036347151e-03f, -3.043859599e-03f, -3.051366418e-03f,
+-3.058867594e-03f, -3.066363115e-03f, -3.073852968e-03f, -3.081337140e-03f, -3.088815620e-03f, -3.096288393e-03f, -3.103755448e-03f, -3.111216772e-03f, -3.118672352e-03f, -3.126122176e-03f,
+-3.133566231e-03f, -3.141004504e-03f, -3.148436984e-03f, -3.155863657e-03f, -3.163284511e-03f, -3.170699533e-03f, -3.178108711e-03f, -3.185512032e-03f, -3.192909484e-03f, -3.200301054e-03f,
+-3.207686730e-03f, -3.215066499e-03f, -3.222440350e-03f, -3.229808268e-03f, -3.237170243e-03f, -3.244526261e-03f, -3.251876311e-03f, -3.259220379e-03f, -3.266558453e-03f, -3.273890521e-03f,
+-3.281216571e-03f, -3.288536591e-03f, -3.295850567e-03f, -3.303158487e-03f, -3.310460340e-03f, -3.317756113e-03f, -3.325045793e-03f, -3.332329368e-03f, -3.339606827e-03f, -3.346878156e-03f,
+-3.354143344e-03f, -3.361402378e-03f, -3.368655246e-03f, -3.375901935e-03f, -3.383142434e-03f, -3.390376731e-03f, -3.397604812e-03f, -3.404826667e-03f, -3.412042282e-03f, -3.419251646e-03f,
+-3.426454746e-03f, -3.433651570e-03f, -3.440842107e-03f, -3.448026344e-03f, -3.455204269e-03f, -3.462375869e-03f, -3.469541134e-03f, -3.476700050e-03f, -3.483852606e-03f, -3.490998789e-03f,
+-3.498138589e-03f, -3.505271991e-03f, -3.512398985e-03f, -3.519519559e-03f, -3.526633700e-03f, -3.533741397e-03f, -3.540842638e-03f, -3.547937410e-03f, -3.555025702e-03f, -3.562107502e-03f,
+-3.569182797e-03f, -3.576251577e-03f, -3.583313829e-03f, -3.590369541e-03f, -3.597418701e-03f, -3.604461298e-03f, -3.611497319e-03f, -3.618526753e-03f, -3.625549588e-03f, -3.632565813e-03f,
+-3.639575414e-03f, -3.646578382e-03f, -3.653574703e-03f, -3.660564366e-03f, -3.667547359e-03f, -3.674523671e-03f, -3.681493290e-03f, -3.688456204e-03f, -3.695412402e-03f, -3.702361871e-03f,
+-3.709304600e-03f, -3.716240577e-03f, -3.723169792e-03f, -3.730092231e-03f, -3.737007884e-03f, -3.743916739e-03f, -3.750818784e-03f, -3.757714007e-03f, -3.764602398e-03f, -3.771483944e-03f,
+-3.778358635e-03f, -3.785226457e-03f, -3.792087401e-03f, -3.798941454e-03f, -3.805788605e-03f, -3.812628842e-03f, -3.819462154e-03f, -3.826288529e-03f, -3.833107957e-03f, -3.839920425e-03f,
+-3.846725922e-03f, -3.853524437e-03f, -3.860315958e-03f, -3.867100474e-03f, -3.873877974e-03f, -3.880648445e-03f, -3.887411878e-03f, -3.894168260e-03f, -3.900917580e-03f, -3.907659827e-03f,
+-3.914394989e-03f, -3.921123056e-03f, -3.927844016e-03f, -3.934557857e-03f, -3.941264569e-03f, -3.947964140e-03f, -3.954656559e-03f, -3.961341815e-03f, -3.968019896e-03f, -3.974690792e-03f,
+-3.981354491e-03f, -3.988010982e-03f, -3.994660254e-03f, -4.001302295e-03f, -4.007937096e-03f, -4.014564643e-03f, -4.021184928e-03f, -4.027797937e-03f, -4.034403661e-03f, -4.041002089e-03f,
+-4.047593208e-03f, -4.054177009e-03f, -4.060753479e-03f, -4.067322609e-03f, -4.073884387e-03f, -4.080438802e-03f, -4.086985844e-03f, -4.093525501e-03f, -4.100057762e-03f, -4.106582616e-03f,
+-4.113100053e-03f, -4.119610062e-03f, -4.126112631e-03f, -4.132607750e-03f, -4.139095408e-03f, -4.145575595e-03f, -4.152048298e-03f, -4.158513509e-03f, -4.164971215e-03f, -4.171421405e-03f,
+-4.177864070e-03f, -4.184299199e-03f, -4.190726780e-03f, -4.197146802e-03f, -4.203559256e-03f, -4.209964131e-03f, -4.216361415e-03f, -4.222751099e-03f, -4.229133170e-03f, -4.235507620e-03f,
+-4.241874437e-03f, -4.248233610e-03f, -4.254585129e-03f, -4.260928984e-03f, -4.267265163e-03f, -4.273593656e-03f, -4.279914453e-03f, -4.286227543e-03f, -4.292532916e-03f, -4.298830560e-03f,
+-4.305120466e-03f, -4.311402623e-03f, -4.317677021e-03f, -4.323943648e-03f, -4.330202496e-03f, -4.336453552e-03f, -4.342696807e-03f, -4.348932251e-03f, -4.355159873e-03f, -4.361379662e-03f,
+-4.367591608e-03f, -4.373795702e-03f, -4.379991932e-03f, -4.386180288e-03f, -4.392360760e-03f, -4.398533338e-03f, -4.404698012e-03f, -4.410854770e-03f, -4.417003603e-03f, -4.423144501e-03f,
+-4.429277453e-03f, -4.435402450e-03f, -4.441519481e-03f, -4.447628535e-03f, -4.453729603e-03f, -4.459822675e-03f, -4.465907740e-03f, -4.471984788e-03f, -4.478053809e-03f, -4.484114794e-03f,
+-4.490167731e-03f, -4.496212612e-03f, -4.502249425e-03f, -4.508278161e-03f, -4.514298810e-03f, -4.520311362e-03f, -4.526315807e-03f, -4.532312135e-03f, -4.538300335e-03f, -4.544280399e-03f,
+-4.550252315e-03f, -4.556216075e-03f, -4.562171667e-03f, -4.568119083e-03f, -4.574058313e-03f, -4.579989346e-03f, -4.585912173e-03f, -4.591826784e-03f, -4.597733169e-03f, -4.603631318e-03f,
+-4.609521221e-03f, -4.615402870e-03f, -4.621276253e-03f, -4.627141362e-03f, -4.632998186e-03f, -4.638846716e-03f, -4.644686942e-03f, -4.650518854e-03f, -4.656342443e-03f, -4.662157699e-03f,
+-4.667964613e-03f, -4.673763175e-03f, -4.679553374e-03f, -4.685335203e-03f, -4.691108650e-03f, -4.696873707e-03f, -4.702630364e-03f, -4.708378611e-03f, -4.714118440e-03f, -4.719849839e-03f,
+-4.725572801e-03f, -4.731287315e-03f, -4.736993371e-03f, -4.742690962e-03f, -4.748380076e-03f, -4.754060705e-03f, -4.759732840e-03f, -4.765396470e-03f, -4.771051587e-03f, -4.776698181e-03f,
+-4.782336243e-03f, -4.787965764e-03f, -4.793586733e-03f, -4.799199143e-03f, -4.804802983e-03f, -4.810398245e-03f, -4.815984918e-03f, -4.821562995e-03f, -4.827132465e-03f, -4.832693320e-03f,
+-4.838245550e-03f, -4.843789147e-03f, -4.849324100e-03f, -4.854850401e-03f, -4.860368041e-03f, -4.865877011e-03f, -4.871377301e-03f, -4.876868902e-03f, -4.882351806e-03f, -4.887826003e-03f,
+-4.893291485e-03f, -4.898748242e-03f, -4.904196265e-03f, -4.909635545e-03f, -4.915066074e-03f, -4.920487842e-03f, -4.925900841e-03f, -4.931305061e-03f, -4.936700494e-03f, -4.942087130e-03f,
+-4.947464962e-03f, -4.952833979e-03f, -4.958194174e-03f, -4.963545537e-03f, -4.968888059e-03f, -4.974221732e-03f, -4.979546547e-03f, -4.984862496e-03f, -4.990169569e-03f, -4.995467757e-03f,
+-5.000757052e-03f, -5.006037446e-03f, -5.011308929e-03f, -5.016571494e-03f, -5.021825130e-03f, -5.027069830e-03f, -5.032305586e-03f, -5.037532387e-03f, -5.042750227e-03f, -5.047959095e-03f,
+-5.053158984e-03f, -5.058349886e-03f, -5.063531791e-03f, -5.068704691e-03f, -5.073868578e-03f, -5.079023443e-03f, -5.084169277e-03f, -5.089306073e-03f, -5.094433822e-03f, -5.099552515e-03f,
+-5.104662143e-03f, -5.109762700e-03f, -5.114854176e-03f, -5.119936562e-03f, -5.125009851e-03f, -5.130074035e-03f, -5.135129104e-03f, -5.140175051e-03f, -5.145211867e-03f, -5.150239545e-03f,
+-5.155258075e-03f, -5.160267450e-03f, -5.165267661e-03f, -5.170258701e-03f, -5.175240560e-03f, -5.180213232e-03f, -5.185176707e-03f, -5.190130978e-03f, -5.195076037e-03f, -5.200011875e-03f,
+-5.204938484e-03f, -5.209855857e-03f, -5.214763985e-03f, -5.219662861e-03f, -5.224552475e-03f, -5.229432821e-03f, -5.234303890e-03f, -5.239165675e-03f, -5.244018166e-03f, -5.248861358e-03f,
+-5.253695241e-03f, -5.258519807e-03f, -5.263335049e-03f, -5.268140960e-03f, -5.272937530e-03f, -5.277724752e-03f, -5.282502619e-03f, -5.287271123e-03f, -5.292030255e-03f, -5.296780009e-03f,
+-5.301520375e-03f, -5.306251348e-03f, -5.310972918e-03f, -5.315685079e-03f, -5.320387822e-03f, -5.325081140e-03f, -5.329765025e-03f, -5.334439470e-03f, -5.339104467e-03f, -5.343760008e-03f,
+-5.348406086e-03f, -5.353042693e-03f, -5.357669822e-03f, -5.362287465e-03f, -5.366895614e-03f, -5.371494263e-03f, -5.376083404e-03f, -5.380663029e-03f, -5.385233130e-03f, -5.389793701e-03f,
+-5.394344734e-03f, -5.398886221e-03f, -5.403418156e-03f, -5.407940530e-03f, -5.412453337e-03f, -5.416956569e-03f, -5.421450219e-03f, -5.425934279e-03f, -5.430408743e-03f, -5.434873603e-03f,
+-5.439328851e-03f, -5.443774481e-03f, -5.448210485e-03f, -5.452636856e-03f, -5.457053588e-03f, -5.461460672e-03f, -5.465858102e-03f, -5.470245870e-03f, -5.474623970e-03f, -5.478992394e-03f,
+-5.483351135e-03f, -5.487700187e-03f, -5.492039541e-03f, -5.496369192e-03f, -5.500689132e-03f, -5.504999355e-03f, -5.509299852e-03f, -5.513590618e-03f, -5.517871645e-03f, -5.522142926e-03f,
+-5.526404455e-03f, -5.530656225e-03f, -5.534898228e-03f, -5.539130458e-03f, -5.543352908e-03f, -5.547565572e-03f, -5.551768442e-03f, -5.555961511e-03f, -5.560144774e-03f, -5.564318222e-03f,
+-5.568481850e-03f, -5.572635651e-03f, -5.576779618e-03f, -5.580913744e-03f, -5.585038023e-03f, -5.589152448e-03f, -5.593257013e-03f, -5.597351710e-03f, -5.601436533e-03f, -5.605511476e-03f,
+-5.609576533e-03f, -5.613631695e-03f, -5.617676958e-03f, -5.621712315e-03f, -5.625737758e-03f, -5.629753282e-03f, -5.633758880e-03f, -5.637754546e-03f, -5.641740273e-03f, -5.645716056e-03f,
+-5.649681886e-03f, -5.653637759e-03f, -5.657583668e-03f, -5.661519606e-03f, -5.665445567e-03f, -5.669361545e-03f, -5.673267534e-03f, -5.677163527e-03f, -5.681049518e-03f, -5.684925501e-03f,
+-5.688791470e-03f, -5.692647418e-03f, -5.696493340e-03f, -5.700329229e-03f, -5.704155078e-03f, -5.707970883e-03f, -5.711776637e-03f, -5.715572333e-03f, -5.719357966e-03f, -5.723133530e-03f,
+-5.726899018e-03f, -5.730654425e-03f, -5.734399744e-03f, -5.738134970e-03f, -5.741860097e-03f, -5.745575118e-03f, -5.749280029e-03f, -5.752974822e-03f, -5.756659492e-03f, -5.760334033e-03f,
+-5.763998440e-03f, -5.767652706e-03f, -5.771296826e-03f, -5.774930793e-03f, -5.778554603e-03f, -5.782168249e-03f, -5.785771726e-03f, -5.789365027e-03f, -5.792948148e-03f, -5.796521082e-03f,
+-5.800083824e-03f, -5.803636367e-03f, -5.807178708e-03f, -5.810710839e-03f, -5.814232756e-03f, -5.817744452e-03f, -5.821245922e-03f, -5.824737161e-03f, -5.828218163e-03f, -5.831688923e-03f,
+-5.835149434e-03f, -5.838599692e-03f, -5.842039691e-03f, -5.845469426e-03f, -5.848888891e-03f, -5.852298081e-03f, -5.855696991e-03f, -5.859085614e-03f, -5.862463946e-03f, -5.865831982e-03f,
+-5.869189716e-03f, -5.872537142e-03f, -5.875874256e-03f, -5.879201053e-03f, -5.882517526e-03f, -5.885823671e-03f, -5.889119483e-03f, -5.892404956e-03f, -5.895680086e-03f, -5.898944866e-03f,
+-5.902199293e-03f, -5.905443360e-03f, -5.908677064e-03f, -5.911900397e-03f, -5.915113357e-03f, -5.918315937e-03f, -5.921508132e-03f, -5.924689939e-03f, -5.927861350e-03f, -5.931022363e-03f,
+-5.934172971e-03f, -5.937313169e-03f, -5.940442954e-03f, -5.943562319e-03f, -5.946671261e-03f, -5.949769773e-03f, -5.952857852e-03f, -5.955935493e-03f, -5.959002690e-03f, -5.962059439e-03f,
+-5.965105735e-03f, -5.968141574e-03f, -5.971166950e-03f, -5.974181859e-03f, -5.977186297e-03f, -5.980180258e-03f, -5.983163738e-03f, -5.986136732e-03f, -5.989099236e-03f, -5.992051245e-03f,
+-5.994992755e-03f, -5.997923760e-03f, -6.000844257e-03f, -6.003754241e-03f, -6.006653707e-03f, -6.009542651e-03f, -6.012421068e-03f, -6.015288954e-03f, -6.018146305e-03f, -6.020993116e-03f,
+-6.023829382e-03f, -6.026655100e-03f, -6.029470264e-03f, -6.032274871e-03f, -6.035068917e-03f, -6.037852396e-03f, -6.040625305e-03f, -6.043387639e-03f, -6.046139394e-03f, -6.048880567e-03f,
+-6.051611152e-03f, -6.054331145e-03f, -6.057040543e-03f, -6.059739341e-03f, -6.062427535e-03f, -6.065105120e-03f, -6.067772094e-03f, -6.070428451e-03f, -6.073074188e-03f, -6.075709300e-03f,
+-6.078333784e-03f, -6.080947636e-03f, -6.083550850e-03f, -6.086143425e-03f, -6.088725355e-03f, -6.091296637e-03f, -6.093857266e-03f, -6.096407240e-03f, -6.098946553e-03f, -6.101475202e-03f,
+-6.103993184e-03f, -6.106500494e-03f, -6.108997129e-03f, -6.111483085e-03f, -6.113958357e-03f, -6.116422943e-03f, -6.118876839e-03f, -6.121320040e-03f, -6.123752543e-03f, -6.126174346e-03f,
+-6.128585442e-03f, -6.130985830e-03f, -6.133375506e-03f, -6.135754466e-03f, -6.138122706e-03f, -6.140480223e-03f, -6.142827013e-03f, -6.145163073e-03f, -6.147488399e-03f, -6.149802988e-03f,
+-6.152106836e-03f, -6.154399940e-03f, -6.156682296e-03f, -6.158953902e-03f, -6.161214753e-03f, -6.163464846e-03f, -6.165704178e-03f, -6.167932746e-03f, -6.170150545e-03f, -6.172357574e-03f,
+-6.174553828e-03f, -6.176739305e-03f, -6.178914001e-03f, -6.181077912e-03f, -6.183231036e-03f, -6.185373370e-03f, -6.187504910e-03f, -6.189625653e-03f, -6.191735597e-03f, -6.193834737e-03f,
+-6.195923071e-03f, -6.198000595e-03f, -6.200067308e-03f, -6.202123205e-03f, -6.204168283e-03f, -6.206202541e-03f, -6.208225973e-03f, -6.210238579e-03f, -6.212240354e-03f, -6.214231296e-03f,
+-6.216211402e-03f, -6.218180669e-03f, -6.220139094e-03f, -6.222086675e-03f, -6.224023407e-03f, -6.225949290e-03f, -6.227864319e-03f, -6.229768493e-03f, -6.231661807e-03f, -6.233544261e-03f,
+-6.235415850e-03f, -6.237276572e-03f, -6.239126425e-03f, -6.240965406e-03f, -6.242793512e-03f, -6.244610740e-03f, -6.246417088e-03f, -6.248212554e-03f, -6.249997134e-03f, -6.251770827e-03f,
+-6.253533630e-03f, -6.255285539e-03f, -6.257026554e-03f, -6.258756670e-03f, -6.260475887e-03f, -6.262184201e-03f, -6.263881610e-03f, -6.265568111e-03f, -6.267243702e-03f, -6.268908382e-03f,
+-6.270562147e-03f, -6.272204995e-03f, -6.273836923e-03f, -6.275457931e-03f, -6.277068015e-03f, -6.278667172e-03f, -6.280255402e-03f, -6.281832701e-03f, -6.283399068e-03f, -6.284954500e-03f,
+-6.286498995e-03f, -6.288032551e-03f, -6.289555166e-03f, -6.291066838e-03f, -6.292567565e-03f, -6.294057344e-03f, -6.295536174e-03f, -6.297004052e-03f, -6.298460977e-03f, -6.299906947e-03f,
+-6.301341960e-03f, -6.302766013e-03f, -6.304179105e-03f, -6.305581234e-03f, -6.306972398e-03f, -6.308352595e-03f, -6.309721823e-03f, -6.311080081e-03f, -6.312427367e-03f, -6.313763678e-03f,
+-6.315089014e-03f, -6.316403372e-03f, -6.317706751e-03f, -6.318999149e-03f, -6.320280564e-03f, -6.321550994e-03f, -6.322810439e-03f, -6.324058895e-03f, -6.325296363e-03f, -6.326522839e-03f,
+-6.327738323e-03f, -6.328942813e-03f, -6.330136308e-03f, -6.331318805e-03f, -6.332490303e-03f, -6.333650802e-03f, -6.334800299e-03f, -6.335938793e-03f, -6.337066282e-03f, -6.338182766e-03f,
+-6.339288242e-03f, -6.340382710e-03f, -6.341466168e-03f, -6.342538615e-03f, -6.343600049e-03f, -6.344650469e-03f, -6.345689874e-03f, -6.346718262e-03f, -6.347735633e-03f, -6.348741985e-03f,
+-6.349737317e-03f, -6.350721628e-03f, -6.351694916e-03f, -6.352657181e-03f, -6.353608421e-03f, -6.354548636e-03f, -6.355477823e-03f, -6.356395983e-03f, -6.357303114e-03f, -6.358199215e-03f,
+-6.359084284e-03f, -6.359958322e-03f, -6.360821327e-03f, -6.361673298e-03f, -6.362514235e-03f, -6.363344135e-03f, -6.364162999e-03f, -6.364970826e-03f, -6.365767614e-03f, -6.366553363e-03f,
+-6.367328072e-03f, -6.368091740e-03f, -6.368844367e-03f, -6.369585952e-03f, -6.370316493e-03f, -6.371035991e-03f, -6.371744444e-03f, -6.372441852e-03f, -6.373128214e-03f, -6.373803530e-03f,
+-6.374467799e-03f, -6.375121020e-03f, -6.375763193e-03f, -6.376394317e-03f, -6.377014391e-03f, -6.377623416e-03f, -6.378221391e-03f, -6.378808314e-03f, -6.379384186e-03f, -6.379949007e-03f,
+-6.380502775e-03f, -6.381045490e-03f, -6.381577152e-03f, -6.382097761e-03f, -6.382607317e-03f, -6.383105818e-03f, -6.383593264e-03f, -6.384069656e-03f, -6.384534993e-03f, -6.384989275e-03f,
+-6.385432501e-03f, -6.385864671e-03f, -6.386285786e-03f, -6.386695844e-03f, -6.387094846e-03f, -6.387482792e-03f, -6.387859681e-03f, -6.388225513e-03f, -6.388580289e-03f, -6.388924008e-03f,
+-6.389256670e-03f, -6.389578275e-03f, -6.389888823e-03f, -6.390188315e-03f, -6.390476749e-03f, -6.390754127e-03f, -6.391020447e-03f, -6.391275712e-03f, -6.391519919e-03f, -6.391753070e-03f,
+-6.391975165e-03f, -6.392186204e-03f, -6.392386187e-03f, -6.392575114e-03f, -6.392752985e-03f, -6.392919801e-03f, -6.393075562e-03f, -6.393220268e-03f, -6.393353920e-03f, -6.393476518e-03f,
+-6.393588061e-03f, -6.393688552e-03f, -6.393777989e-03f, -6.393856373e-03f, -6.393923705e-03f, -6.393979985e-03f, -6.394025214e-03f, -6.394059392e-03f, -6.394082519e-03f, -6.394094596e-03f,
+-6.394095624e-03f, -6.394085603e-03f, -6.394064533e-03f, -6.394032416e-03f, -6.393989252e-03f, -6.393935041e-03f, -6.393869784e-03f, -6.393793481e-03f, -6.393706134e-03f, -6.393607744e-03f,
+-6.393498310e-03f, -6.393377833e-03f, -6.393246315e-03f, -6.393103756e-03f, -6.392950157e-03f, -6.392785518e-03f, -6.392609841e-03f, -6.392423126e-03f, -6.392225375e-03f, -6.392016587e-03f,
+-6.391796765e-03f, -6.391565908e-03f, -6.391324019e-03f, -6.391071097e-03f, -6.390807144e-03f, -6.390532161e-03f, -6.390246148e-03f, -6.389949108e-03f, -6.389641040e-03f, -6.389321946e-03f,
+-6.388991828e-03f, -6.388650685e-03f, -6.388298520e-03f, -6.387935333e-03f, -6.387561126e-03f, -6.387175900e-03f, -6.386779656e-03f, -6.386372395e-03f, -6.385954119e-03f, -6.385524829e-03f,
+-6.385084525e-03f, -6.384633210e-03f, -6.384170885e-03f, -6.383697550e-03f, -6.383213208e-03f, -6.382717860e-03f, -6.382211507e-03f, -6.381694151e-03f, -6.381165792e-03f, -6.380626433e-03f,
+-6.380076075e-03f, -6.379514720e-03f, -6.378942368e-03f, -6.378359022e-03f, -6.377764683e-03f, -6.377159352e-03f, -6.376543032e-03f, -6.375915723e-03f, -6.375277428e-03f, -6.374628148e-03f,
+-6.373967885e-03f, -6.373296640e-03f, -6.372614415e-03f, -6.371921212e-03f, -6.371217033e-03f, -6.370501879e-03f, -6.369775752e-03f, -6.369038653e-03f, -6.368290586e-03f, -6.367531551e-03f,
+-6.366761551e-03f, -6.365980586e-03f, -6.365188660e-03f, -6.364385774e-03f, -6.363571930e-03f, -6.362747130e-03f, -6.361911376e-03f, -6.361064670e-03f, -6.360207013e-03f, -6.359338409e-03f,
+-6.358458858e-03f, -6.357568364e-03f, -6.356666927e-03f, -6.355754551e-03f, -6.354831237e-03f, -6.353896987e-03f, -6.352951804e-03f, -6.351995690e-03f, -6.351028646e-03f, -6.350050676e-03f,
+-6.349061781e-03f, -6.348061964e-03f, -6.347051227e-03f, -6.346029571e-03f, -6.344997001e-03f, -6.343953517e-03f, -6.342899122e-03f, -6.341833819e-03f, -6.340757609e-03f, -6.339670496e-03f,
+-6.338572482e-03f, -6.337463568e-03f, -6.336343758e-03f, -6.335213055e-03f, -6.334071460e-03f, -6.332918975e-03f, -6.331755605e-03f, -6.330581350e-03f, -6.329396214e-03f, -6.328200200e-03f,
+-6.326993309e-03f, -6.325775545e-03f, -6.324546910e-03f, -6.323307407e-03f, -6.322057038e-03f, -6.320795806e-03f, -6.319523714e-03f, -6.318240765e-03f, -6.316946961e-03f, -6.315642306e-03f,
+-6.314326801e-03f, -6.313000450e-03f, -6.311663255e-03f, -6.310315220e-03f, -6.308956347e-03f, -6.307586639e-03f, -6.306206099e-03f, -6.304814731e-03f, -6.303412536e-03f, -6.301999518e-03f,
+-6.300575679e-03f, -6.299141024e-03f, -6.297695554e-03f, -6.296239274e-03f, -6.294772185e-03f, -6.293294291e-03f, -6.291805595e-03f, -6.290306100e-03f, -6.288795810e-03f, -6.287274727e-03f,
+-6.285742855e-03f, -6.284200196e-03f, -6.282646754e-03f, -6.281082533e-03f, -6.279507535e-03f, -6.277921764e-03f, -6.276325222e-03f, -6.274717914e-03f, -6.273099842e-03f, -6.271471010e-03f,
+-6.269831421e-03f, -6.268181079e-03f, -6.266519987e-03f, -6.264848148e-03f, -6.263165566e-03f, -6.261472244e-03f, -6.259768186e-03f, -6.258053395e-03f, -6.256327874e-03f, -6.254591628e-03f,
+-6.252844659e-03f, -6.251086972e-03f, -6.249318569e-03f, -6.247539454e-03f, -6.245749632e-03f, -6.243949105e-03f, -6.242137877e-03f, -6.240315952e-03f, -6.238483334e-03f, -6.236640026e-03f,
+-6.234786032e-03f, -6.232921355e-03f, -6.231046000e-03f, -6.229159970e-03f, -6.227263269e-03f, -6.225355901e-03f, -6.223437869e-03f, -6.221509178e-03f, -6.219569831e-03f, -6.217619833e-03f,
+-6.215659186e-03f, -6.213687895e-03f, -6.211705964e-03f, -6.209713397e-03f, -6.207710198e-03f, -6.205696371e-03f, -6.203671920e-03f, -6.201636848e-03f, -6.199591160e-03f, -6.197534860e-03f,
+-6.195467952e-03f, -6.193390440e-03f, -6.191302329e-03f, -6.189203621e-03f, -6.187094323e-03f, -6.184974436e-03f, -6.182843967e-03f, -6.180702919e-03f, -6.178551296e-03f, -6.176389102e-03f,
+-6.174216342e-03f, -6.172033020e-03f, -6.169839141e-03f, -6.167634708e-03f, -6.165419726e-03f, -6.163194200e-03f, -6.160958133e-03f, -6.158711530e-03f, -6.156454395e-03f, -6.154186734e-03f,
+-6.151908549e-03f, -6.149619847e-03f, -6.147320631e-03f, -6.145010905e-03f, -6.142690675e-03f, -6.140359944e-03f, -6.138018718e-03f, -6.135667000e-03f, -6.133304796e-03f, -6.130932110e-03f,
+-6.128548947e-03f, -6.126155311e-03f, -6.123751207e-03f, -6.121336640e-03f, -6.118911613e-03f, -6.116476133e-03f, -6.114030204e-03f, -6.111573830e-03f, -6.109107016e-03f, -6.106629767e-03f,
+-6.104142088e-03f, -6.101643984e-03f, -6.099135459e-03f, -6.096616519e-03f, -6.094087167e-03f, -6.091547410e-03f, -6.088997251e-03f, -6.086436696e-03f, -6.083865751e-03f, -6.081284418e-03f,
+-6.078692705e-03f, -6.076090615e-03f, -6.073478154e-03f, -6.070855327e-03f, -6.068222139e-03f, -6.065578594e-03f, -6.062924698e-03f, -6.060260457e-03f, -6.057585874e-03f, -6.054900956e-03f,
+-6.052205707e-03f, -6.049500132e-03f, -6.046784238e-03f, -6.044058028e-03f, -6.041321509e-03f, -6.038574685e-03f, -6.035817561e-03f, -6.033050144e-03f, -6.030272437e-03f, -6.027484448e-03f,
+-6.024686180e-03f, -6.021877639e-03f, -6.019058831e-03f, -6.016229761e-03f, -6.013390434e-03f, -6.010540856e-03f, -6.007681032e-03f, -6.004810967e-03f, -6.001930668e-03f, -5.999040139e-03f,
+-5.996139386e-03f, -5.993228415e-03f, -5.990307231e-03f, -5.987375840e-03f, -5.984434246e-03f, -5.981482457e-03f, -5.978520477e-03f, -5.975548312e-03f, -5.972565968e-03f, -5.969573449e-03f,
+-5.966570763e-03f, -5.963557915e-03f, -5.960534910e-03f, -5.957501754e-03f, -5.954458453e-03f, -5.951405013e-03f, -5.948341439e-03f, -5.945267737e-03f, -5.942183913e-03f, -5.939089973e-03f,
+-5.935985922e-03f, -5.932871767e-03f, -5.929747514e-03f, -5.926613167e-03f, -5.923468734e-03f, -5.920314220e-03f, -5.917149632e-03f, -5.913974974e-03f, -5.910790253e-03f, -5.907595475e-03f,
+-5.904390646e-03f, -5.901175773e-03f, -5.897950860e-03f, -5.894715915e-03f, -5.891470943e-03f, -5.888215950e-03f, -5.884950943e-03f, -5.881675927e-03f, -5.878390909e-03f, -5.875095895e-03f,
+-5.871790891e-03f, -5.868475904e-03f, -5.865150939e-03f, -5.861816003e-03f, -5.858471102e-03f, -5.855116242e-03f, -5.851751430e-03f, -5.848376671e-03f, -5.844991973e-03f, -5.841597342e-03f,
+-5.838192783e-03f, -5.834778304e-03f, -5.831353910e-03f, -5.827919609e-03f, -5.824475406e-03f, -5.821021308e-03f, -5.817557321e-03f, -5.814083452e-03f, -5.810599707e-03f, -5.807106094e-03f,
+-5.803602618e-03f, -5.800089285e-03f, -5.796566103e-03f, -5.793033078e-03f, -5.789490217e-03f, -5.785937526e-03f, -5.782375012e-03f, -5.778802682e-03f, -5.775220541e-03f, -5.771628598e-03f,
+-5.768026858e-03f, -5.764415328e-03f, -5.760794015e-03f, -5.757162926e-03f, -5.753522068e-03f, -5.749871446e-03f, -5.746211069e-03f, -5.742540942e-03f, -5.738861073e-03f, -5.735171468e-03f,
+-5.731472135e-03f, -5.727763080e-03f, -5.724044310e-03f, -5.720315833e-03f, -5.716577654e-03f, -5.712829780e-03f, -5.709072220e-03f, -5.705304980e-03f, -5.701528066e-03f, -5.697741486e-03f,
+-5.693945246e-03f, -5.690139355e-03f, -5.686323818e-03f, -5.682498644e-03f, -5.678663838e-03f, -5.674819409e-03f, -5.670965362e-03f, -5.667101707e-03f, -5.663228448e-03f, -5.659345595e-03f,
+-5.655453153e-03f, -5.651551130e-03f, -5.647639533e-03f, -5.643718371e-03f, -5.639787648e-03f, -5.635847374e-03f, -5.631897555e-03f, -5.627938199e-03f, -5.623969312e-03f, -5.619990903e-03f,
+-5.616002979e-03f, -5.612005546e-03f, -5.607998613e-03f, -5.603982186e-03f, -5.599956273e-03f, -5.595920882e-03f, -5.591876020e-03f, -5.587821695e-03f, -5.583757913e-03f, -5.579684682e-03f,
+-5.575602011e-03f, -5.571509906e-03f, -5.567408375e-03f, -5.563297425e-03f, -5.559177064e-03f, -5.555047300e-03f, -5.550908141e-03f, -5.546759593e-03f, -5.542601665e-03f, -5.538434363e-03f,
+-5.534257697e-03f, -5.530071673e-03f, -5.525876299e-03f, -5.521671583e-03f, -5.517457533e-03f, -5.513234156e-03f, -5.509001460e-03f, -5.504759453e-03f, -5.500508143e-03f, -5.496247537e-03f,
+-5.491977643e-03f, -5.487698470e-03f, -5.483410024e-03f, -5.479112314e-03f, -5.474805348e-03f, -5.470489134e-03f, -5.466163679e-03f, -5.461828992e-03f, -5.457485080e-03f, -5.453131951e-03f,
+-5.448769614e-03f, -5.444398076e-03f, -5.440017345e-03f, -5.435627430e-03f, -5.431228338e-03f, -5.426820078e-03f, -5.422402657e-03f, -5.417976084e-03f, -5.413540366e-03f, -5.409095512e-03f,
+-5.404641531e-03f, -5.400178429e-03f, -5.395706215e-03f, -5.391224898e-03f, -5.386734486e-03f, -5.382234986e-03f, -5.377726408e-03f, -5.373208759e-03f, -5.368682047e-03f, -5.364146281e-03f,
+-5.359601469e-03f, -5.355047620e-03f, -5.350484741e-03f, -5.345912841e-03f, -5.341331929e-03f, -5.336742012e-03f, -5.332143100e-03f, -5.327535200e-03f, -5.322918321e-03f, -5.318292471e-03f,
+-5.313657659e-03f, -5.309013893e-03f, -5.304361182e-03f, -5.299699534e-03f, -5.295028958e-03f, -5.290349462e-03f, -5.285661054e-03f, -5.280963744e-03f, -5.276257540e-03f, -5.271542449e-03f,
+-5.266818482e-03f, -5.262085647e-03f, -5.257343951e-03f, -5.252593404e-03f, -5.247834015e-03f, -5.243065792e-03f, -5.238288743e-03f, -5.233502878e-03f, -5.228708205e-03f, -5.223904733e-03f,
+-5.219092471e-03f, -5.214271427e-03f, -5.209441610e-03f, -5.204603028e-03f, -5.199755692e-03f, -5.194899609e-03f, -5.190034788e-03f, -5.185161239e-03f, -5.180278969e-03f, -5.175387989e-03f,
+-5.170488306e-03f, -5.165579929e-03f, -5.160662869e-03f, -5.155737132e-03f, -5.150802730e-03f, -5.145859669e-03f, -5.140907960e-03f, -5.135947611e-03f, -5.130978631e-03f, -5.126001030e-03f,
+-5.121014816e-03f, -5.116019999e-03f, -5.111016586e-03f, -5.106004589e-03f, -5.100984015e-03f, -5.095954873e-03f, -5.090917174e-03f, -5.085870925e-03f, -5.080816137e-03f, -5.075752817e-03f,
+-5.070680976e-03f, -5.065600623e-03f, -5.060511766e-03f, -5.055414416e-03f, -5.050308580e-03f, -5.045194269e-03f, -5.040071492e-03f, -5.034940257e-03f, -5.029800575e-03f, -5.024652455e-03f,
+-5.019495905e-03f, -5.014330936e-03f, -5.009157556e-03f, -5.003975774e-03f, -4.998785602e-03f, -4.993587046e-03f, -4.988380118e-03f, -4.983164826e-03f, -4.977941180e-03f, -4.972709190e-03f,
+-4.967468864e-03f, -4.962220212e-03f, -4.956963244e-03f, -4.951697969e-03f, -4.946424397e-03f, -4.941142537e-03f, -4.935852399e-03f, -4.930553992e-03f, -4.925247326e-03f, -4.919932410e-03f,
+-4.914609254e-03f, -4.909277868e-03f, -4.903938261e-03f, -4.898590443e-03f, -4.893234424e-03f, -4.887870213e-03f, -4.882497819e-03f, -4.877117254e-03f, -4.871728525e-03f, -4.866331643e-03f,
+-4.860926618e-03f, -4.855513460e-03f, -4.850092177e-03f, -4.844662781e-03f, -4.839225280e-03f, -4.833779685e-03f, -4.828326005e-03f, -4.822864250e-03f, -4.817394430e-03f, -4.811916555e-03f,
+-4.806430635e-03f, -4.800936679e-03f, -4.795434697e-03f, -4.789924700e-03f, -4.784406698e-03f, -4.778880699e-03f, -4.773346715e-03f, -4.767804754e-03f, -4.762254828e-03f, -4.756696946e-03f,
+-4.751131118e-03f, -4.745557354e-03f, -4.739975664e-03f, -4.734386058e-03f, -4.728788546e-03f, -4.723183138e-03f, -4.717569845e-03f, -4.711948676e-03f, -4.706319642e-03f, -4.700682752e-03f,
+-4.695038017e-03f, -4.689385446e-03f, -4.683725051e-03f, -4.678056841e-03f, -4.672380826e-03f, -4.666697017e-03f, -4.661005423e-03f, -4.655306056e-03f, -4.649598925e-03f, -4.643884040e-03f,
+-4.638161412e-03f, -4.632431050e-03f, -4.626692966e-03f, -4.620947170e-03f, -4.615193672e-03f, -4.609432481e-03f, -4.603663609e-03f, -4.597887066e-03f, -4.592102863e-03f, -4.586311008e-03f,
+-4.580511514e-03f, -4.574704390e-03f, -4.568889647e-03f, -4.563067295e-03f, -4.557237345e-03f, -4.551399807e-03f, -4.545554691e-03f, -4.539702009e-03f, -4.533841770e-03f, -4.527973985e-03f,
+-4.522098664e-03f, -4.516215818e-03f, -4.510325458e-03f, -4.504427595e-03f, -4.498522237e-03f, -4.492609397e-03f, -4.486689085e-03f, -4.480761312e-03f, -4.474826087e-03f, -4.468883422e-03f,
+-4.462933328e-03f, -4.456975814e-03f, -4.451010892e-03f, -4.445038572e-03f, -4.439058865e-03f, -4.433071782e-03f, -4.427077333e-03f, -4.421075529e-03f, -4.415066382e-03f, -4.409049900e-03f,
+-4.403026096e-03f, -4.396994980e-03f, -4.390956563e-03f, -4.384910856e-03f, -4.378857869e-03f, -4.372797613e-03f, -4.366730100e-03f, -4.360655339e-03f, -4.354573343e-03f, -4.348484121e-03f,
+-4.342387684e-03f, -4.336284044e-03f, -4.330173211e-03f, -4.324055197e-03f, -4.317930012e-03f, -4.311797667e-03f, -4.305658173e-03f, -4.299511541e-03f, -4.293357782e-03f, -4.287196907e-03f,
+-4.281028927e-03f, -4.274853853e-03f, -4.268671696e-03f, -4.262482467e-03f, -4.256286177e-03f, -4.250082837e-03f, -4.243872459e-03f, -4.237655053e-03f, -4.231430630e-03f, -4.225199201e-03f,
+-4.218960779e-03f, -4.212715372e-03f, -4.206462994e-03f, -4.200203655e-03f, -4.193937366e-03f, -4.187664138e-03f, -4.181383983e-03f, -4.175096911e-03f, -4.168802935e-03f, -4.162502064e-03f,
+-4.156194311e-03f, -4.149879686e-03f, -4.143558202e-03f, -4.137229868e-03f, -4.130894697e-03f, -4.124552699e-03f, -4.118203886e-03f, -4.111848270e-03f, -4.105485861e-03f, -4.099116671e-03f,
+-4.092740711e-03f, -4.086357993e-03f, -4.079968527e-03f, -4.073572326e-03f, -4.067169401e-03f, -4.060759763e-03f, -4.054343423e-03f, -4.047920393e-03f, -4.041490685e-03f, -4.035054309e-03f,
+-4.028611278e-03f, -4.022161602e-03f, -4.015705294e-03f, -4.009242364e-03f, -4.002772824e-03f, -3.996296686e-03f, -3.989813961e-03f, -3.983324661e-03f, -3.976828797e-03f, -3.970326381e-03f,
+-3.963817424e-03f, -3.957301938e-03f, -3.950779934e-03f, -3.944251425e-03f, -3.937716421e-03f, -3.931174935e-03f, -3.924626977e-03f, -3.918072560e-03f, -3.911511695e-03f, -3.904944394e-03f,
+-3.898370669e-03f, -3.891790530e-03f, -3.885203991e-03f, -3.878611062e-03f, -3.872011755e-03f, -3.865406083e-03f, -3.858794056e-03f, -3.852175686e-03f, -3.845550986e-03f, -3.838919966e-03f,
+-3.832282640e-03f, -3.825639018e-03f, -3.818989112e-03f, -3.812332934e-03f, -3.805670496e-03f, -3.799001810e-03f, -3.792326888e-03f, -3.785645740e-03f, -3.778958381e-03f, -3.772264820e-03f,
+-3.765565070e-03f, -3.758859143e-03f, -3.752147051e-03f, -3.745428805e-03f, -3.738704418e-03f, -3.731973902e-03f, -3.725237268e-03f, -3.718494528e-03f, -3.711745694e-03f, -3.704990779e-03f,
+-3.698229794e-03f, -3.691462752e-03f, -3.684689663e-03f, -3.677910541e-03f, -3.671125397e-03f, -3.664334243e-03f, -3.657537092e-03f, -3.650733955e-03f, -3.643924844e-03f, -3.637109772e-03f,
+-3.630288750e-03f, -3.623461790e-03f, -3.616628906e-03f, -3.609790108e-03f, -3.602945409e-03f, -3.596094821e-03f, -3.589238356e-03f, -3.582376027e-03f, -3.575507844e-03f, -3.568633822e-03f,
+-3.561753971e-03f, -3.554868304e-03f, -3.547976833e-03f, -3.541079570e-03f, -3.534176528e-03f, -3.527267719e-03f, -3.520353154e-03f, -3.513432847e-03f, -3.506506809e-03f, -3.499575052e-03f,
+-3.492637590e-03f, -3.485694434e-03f, -3.478745596e-03f, -3.471791089e-03f, -3.464830925e-03f, -3.457865116e-03f, -3.450893675e-03f, -3.443916613e-03f, -3.436933945e-03f, -3.429945680e-03f,
+-3.422951833e-03f, -3.415952415e-03f, -3.408947439e-03f, -3.401936917e-03f, -3.394920862e-03f, -3.387899285e-03f, -3.380872199e-03f, -3.373839618e-03f, -3.366801552e-03f, -3.359758015e-03f,
+-3.352709019e-03f, -3.345654577e-03f, -3.338594700e-03f, -3.331529402e-03f, -3.324458694e-03f, -3.317382590e-03f, -3.310301102e-03f, -3.303214242e-03f, -3.296122022e-03f, -3.289024457e-03f,
+-3.281921557e-03f, -3.274813335e-03f, -3.267699805e-03f, -3.260580978e-03f, -3.253456867e-03f, -3.246327484e-03f, -3.239192843e-03f, -3.232052956e-03f, -3.224907835e-03f, -3.217757493e-03f,
+-3.210601943e-03f, -3.203441197e-03f, -3.196275268e-03f, -3.189104168e-03f, -3.181927910e-03f, -3.174746508e-03f, -3.167559972e-03f, -3.160368317e-03f, -3.153171555e-03f, -3.145969698e-03f,
+-3.138762760e-03f, -3.131550752e-03f, -3.124333688e-03f, -3.117111580e-03f, -3.109884442e-03f, -3.102652285e-03f, -3.095415123e-03f, -3.088172968e-03f, -3.080925833e-03f, -3.073673731e-03f,
+-3.066416674e-03f, -3.059154676e-03f, -3.051887749e-03f, -3.044615906e-03f, -3.037339160e-03f, -3.030057523e-03f, -3.022771009e-03f, -3.015479630e-03f, -3.008183399e-03f, -3.000882329e-03f,
+-2.993576433e-03f, -2.986265724e-03f, -2.978950214e-03f, -2.971629916e-03f, -2.964304844e-03f, -2.956975010e-03f, -2.949640427e-03f, -2.942301108e-03f, -2.934957066e-03f, -2.927608313e-03f,
+-2.920254864e-03f, -2.912896730e-03f, -2.905533925e-03f, -2.898166461e-03f, -2.890794352e-03f, -2.883417610e-03f, -2.876036249e-03f, -2.868650281e-03f, -2.861259720e-03f, -2.853864579e-03f,
+-2.846464869e-03f, -2.839060605e-03f, -2.831651800e-03f, -2.824238466e-03f, -2.816820617e-03f, -2.809398265e-03f, -2.801971424e-03f, -2.794540107e-03f, -2.787104326e-03f, -2.779664095e-03f,
+-2.772219427e-03f, -2.764770336e-03f, -2.757316833e-03f, -2.749858932e-03f, -2.742396646e-03f, -2.734929989e-03f, -2.727458974e-03f, -2.719983613e-03f, -2.712503920e-03f, -2.705019907e-03f,
+-2.697531589e-03f, -2.690038978e-03f, -2.682542087e-03f, -2.675040930e-03f, -2.667535519e-03f, -2.660025868e-03f, -2.652511991e-03f, -2.644993899e-03f, -2.637471607e-03f, -2.629945127e-03f,
+-2.622414474e-03f, -2.614879659e-03f, -2.607340697e-03f, -2.599797600e-03f, -2.592250382e-03f, -2.584699056e-03f, -2.577143636e-03f, -2.569584133e-03f, -2.562020563e-03f, -2.554452938e-03f,
+-2.546881270e-03f, -2.539305575e-03f, -2.531725864e-03f, -2.524142152e-03f, -2.516554451e-03f, -2.508962775e-03f, -2.501367137e-03f, -2.493767550e-03f, -2.486164028e-03f, -2.478556584e-03f,
+-2.470945232e-03f, -2.463329984e-03f, -2.455710855e-03f, -2.448087857e-03f, -2.440461004e-03f, -2.432830309e-03f, -2.425195785e-03f, -2.417557447e-03f, -2.409915307e-03f, -2.402269378e-03f,
+-2.394619675e-03f, -2.386966210e-03f, -2.379308998e-03f, -2.371648050e-03f, -2.363983382e-03f, -2.356315005e-03f, -2.348642935e-03f, -2.340967183e-03f, -2.333287764e-03f, -2.325604691e-03f,
+-2.317917977e-03f, -2.310227636e-03f, -2.302533682e-03f, -2.294836127e-03f, -2.287134986e-03f, -2.279430271e-03f, -2.271721997e-03f, -2.264010177e-03f, -2.256294824e-03f, -2.248575951e-03f,
+-2.240853573e-03f, -2.233127703e-03f, -2.225398354e-03f, -2.217665540e-03f, -2.209929275e-03f, -2.202189571e-03f, -2.194446443e-03f, -2.186699904e-03f, -2.178949967e-03f, -2.171196646e-03f,
+-2.163439956e-03f, -2.155679908e-03f, -2.147916518e-03f, -2.140149797e-03f, -2.132379761e-03f, -2.124606423e-03f, -2.116829795e-03f, -2.109049893e-03f, -2.101266728e-03f, -2.093480316e-03f,
+-2.085690670e-03f, -2.077897802e-03f, -2.070101728e-03f, -2.062302460e-03f, -2.054500012e-03f, -2.046694398e-03f, -2.038885631e-03f, -2.031073726e-03f, -2.023258695e-03f, -2.015440552e-03f,
+-2.007619312e-03f, -1.999794987e-03f, -1.991967591e-03f, -1.984137139e-03f, -1.976303643e-03f, -1.968467118e-03f, -1.960627577e-03f, -1.952785034e-03f, -1.944939502e-03f, -1.937090995e-03f,
+-1.929239528e-03f, -1.921385113e-03f, -1.913527764e-03f, -1.905667495e-03f, -1.897804320e-03f, -1.889938253e-03f, -1.882069307e-03f, -1.874197496e-03f, -1.866322833e-03f, -1.858445333e-03f,
+-1.850565010e-03f, -1.842681876e-03f, -1.834795946e-03f, -1.826907234e-03f, -1.819015753e-03f, -1.811121517e-03f, -1.803224539e-03f, -1.795324835e-03f, -1.787422417e-03f, -1.779517298e-03f,
+-1.771609494e-03f, -1.763699018e-03f, -1.755785883e-03f, -1.747870104e-03f, -1.739951694e-03f, -1.732030667e-03f, -1.724107036e-03f, -1.716180817e-03f, -1.708252022e-03f, -1.700320665e-03f,
+-1.692386760e-03f, -1.684450321e-03f, -1.676511362e-03f, -1.668569896e-03f, -1.660625938e-03f, -1.652679502e-03f, -1.644730600e-03f, -1.636779248e-03f, -1.628825458e-03f, -1.620869246e-03f,
+-1.612910623e-03f, -1.604949606e-03f, -1.596986207e-03f, -1.589020440e-03f, -1.581052319e-03f, -1.573081858e-03f, -1.565109071e-03f, -1.557133972e-03f, -1.549156574e-03f, -1.541176892e-03f,
+-1.533194940e-03f, -1.525210731e-03f, -1.517224279e-03f, -1.509235599e-03f, -1.501244704e-03f, -1.493251607e-03f, -1.485256324e-03f, -1.477258867e-03f, -1.469259252e-03f, -1.461257491e-03f,
+-1.453253599e-03f, -1.445247589e-03f, -1.437239476e-03f, -1.429229273e-03f, -1.421216995e-03f, -1.413202656e-03f, -1.405186268e-03f, -1.397167847e-03f, -1.389147406e-03f, -1.381124959e-03f,
+-1.373100521e-03f, -1.365074104e-03f, -1.357045724e-03f, -1.349015394e-03f, -1.340983127e-03f, -1.332948939e-03f, -1.324912843e-03f, -1.316874852e-03f, -1.308834982e-03f, -1.300793246e-03f,
+-1.292749657e-03f, -1.284704230e-03f, -1.276656980e-03f, -1.268607919e-03f, -1.260557062e-03f, -1.252504423e-03f, -1.244450016e-03f, -1.236393854e-03f, -1.228335953e-03f, -1.220276326e-03f,
+-1.212214986e-03f, -1.204151948e-03f, -1.196087227e-03f, -1.188020835e-03f, -1.179952787e-03f, -1.171883098e-03f, -1.163811780e-03f, -1.155738849e-03f, -1.147664317e-03f, -1.139588200e-03f,
+-1.131510511e-03f, -1.123431264e-03f, -1.115350473e-03f, -1.107268153e-03f, -1.099184317e-03f, -1.091098979e-03f, -1.083012154e-03f, -1.074923855e-03f, -1.066834096e-03f, -1.058742893e-03f,
+-1.050650257e-03f, -1.042556205e-03f, -1.034460749e-03f, -1.026363904e-03f, -1.018265684e-03f, -1.010166102e-03f, -1.002065174e-03f, -9.939629124e-04f, -9.858593321e-04f, -9.777544469e-04f,
+-9.696482710e-04f, -9.615408184e-04f, -9.534321031e-04f, -9.453221392e-04f, -9.372109409e-04f, -9.290985222e-04f, -9.209848971e-04f, -9.128700798e-04f, -9.047540843e-04f, -8.966369247e-04f,
+-8.885186151e-04f, -8.803991696e-04f, -8.722786023e-04f, -8.641569272e-04f, -8.560341584e-04f, -8.479103101e-04f, -8.397853963e-04f, -8.316594311e-04f, -8.235324286e-04f, -8.154044029e-04f,
+-8.072753681e-04f, -7.991453383e-04f, -7.910143276e-04f, -7.828823501e-04f, -7.747494198e-04f, -7.666155510e-04f, -7.584807576e-04f, -7.503450538e-04f, -7.422084537e-04f, -7.340709714e-04f,
+-7.259326210e-04f, -7.177934166e-04f, -7.096533724e-04f, -7.015125023e-04f, -6.933708206e-04f, -6.852283413e-04f, -6.770850786e-04f, -6.689410465e-04f, -6.607962591e-04f, -6.526507307e-04f,
+-6.445044752e-04f, -6.363575069e-04f, -6.282098397e-04f, -6.200614879e-04f, -6.119124655e-04f, -6.037627867e-04f, -5.956124655e-04f, -5.874615162e-04f, -5.793099527e-04f, -5.711577892e-04f,
+-5.630050399e-04f, -5.548517188e-04f, -5.466978401e-04f, -5.385434178e-04f, -5.303884662e-04f, -5.222329993e-04f, -5.140770312e-04f, -5.059205760e-04f, -4.977636480e-04f, -4.896062611e-04f,
+-4.814484295e-04f, -4.732901674e-04f, -4.651314887e-04f, -4.569724078e-04f, -4.488129386e-04f, -4.406530954e-04f, -4.324928921e-04f, -4.243323430e-04f, -4.161714621e-04f, -4.080102636e-04f,
+-3.998487616e-04f, -3.916869702e-04f, -3.835249035e-04f, -3.753625757e-04f, -3.672000008e-04f, -3.590371930e-04f, -3.508741664e-04f, -3.427109350e-04f, -3.345475132e-04f, -3.263839148e-04f,
+-3.182201541e-04f, -3.100562452e-04f, -3.018922021e-04f, -2.937280391e-04f, -2.855637701e-04f, -2.773994094e-04f, -2.692349710e-04f, -2.610704691e-04f, -2.529059177e-04f, -2.447413310e-04f,
+-2.365767231e-04f, -2.284121080e-04f, -2.202475000e-04f, -2.120829130e-04f, -2.039183613e-04f, -1.957538589e-04f, -1.875894199e-04f, -1.794250584e-04f, -1.712607885e-04f, -1.630966244e-04f,
+-1.549325802e-04f, -1.467686698e-04f, -1.386049075e-04f, -1.304413074e-04f, -1.222778834e-04f, -1.141146498e-04f, -1.059516207e-04f, -9.778881002e-05f, -8.962623199e-05f, -8.146390068e-05f,
+-7.330183017e-05f, -6.514003455e-05f, -5.697852792e-05f, -4.881732437e-05f, -4.065643797e-05f, -3.249588282e-05f, -2.433567300e-05f, -1.617582260e-05f, -8.016345689e-06f, 1.427436401e-07f,
+8.301431311e-06f, 1.645970325e-05f, 2.461754537e-05f, 3.277494361e-05f, 4.093188388e-05f, 4.908835212e-05f, 5.724433425e-05f, 6.539981621e-05f, 7.355478393e-05f, 8.170922334e-05f,
+8.986312038e-05f, 9.801646098e-05f, 1.061692311e-04f, 1.143214166e-04f, 1.224730036e-04f, 1.306239778e-04f, 1.387743254e-04f, 1.469240321e-04f, 1.550730841e-04f, 1.632214671e-04f,
+1.713691672e-04f, 1.795161704e-04f, 1.876624626e-04f, 1.958080296e-04f, 2.039528576e-04f, 2.120969325e-04f, 2.202402402e-04f, 2.283827667e-04f, 2.365244980e-04f, 2.446654199e-04f,
+2.528055187e-04f, 2.609447800e-04f, 2.690831901e-04f, 2.772207348e-04f, 2.853574001e-04f, 2.934931720e-04f, 3.016280365e-04f, 3.097619796e-04f, 3.178949873e-04f, 3.260270455e-04f,
+3.341581403e-04f, 3.422882576e-04f, 3.504173835e-04f, 3.585455039e-04f, 3.666726049e-04f, 3.747986725e-04f, 3.829236926e-04f, 3.910476514e-04f, 3.991705347e-04f, 4.072923286e-04f,
+4.154130192e-04f, 4.235325925e-04f, 4.316510344e-04f, 4.397683310e-04f, 4.478844684e-04f, 4.559994325e-04f, 4.641132095e-04f, 4.722257853e-04f, 4.803371460e-04f, 4.884472776e-04f,
+4.965561663e-04f, 5.046637979e-04f, 5.127701586e-04f, 5.208752345e-04f, 5.289790115e-04f, 5.370814758e-04f, 5.451826134e-04f, 5.532824104e-04f, 5.613808529e-04f, 5.694779269e-04f,
+5.775736184e-04f, 5.856679137e-04f, 5.937607987e-04f, 6.018522596e-04f, 6.099422824e-04f, 6.180308533e-04f, 6.261179582e-04f, 6.342035834e-04f, 6.422877149e-04f, 6.503703389e-04f,
+6.584514413e-04f, 6.665310085e-04f, 6.746090263e-04f, 6.826854811e-04f, 6.907603588e-04f, 6.988336457e-04f, 7.069053279e-04f, 7.149753914e-04f, 7.230438224e-04f, 7.311106071e-04f,
+7.391757316e-04f, 7.472391820e-04f, 7.553009445e-04f, 7.633610053e-04f, 7.714193504e-04f, 7.794759661e-04f, 7.875308386e-04f, 7.955839539e-04f, 8.036352983e-04f, 8.116848579e-04f,
+8.197326190e-04f, 8.277785676e-04f, 8.358226901e-04f, 8.438649725e-04f, 8.519054010e-04f, 8.599439620e-04f, 8.679806415e-04f, 8.760154258e-04f, 8.840483010e-04f, 8.920792535e-04f,
+9.001082693e-04f, 9.081353348e-04f, 9.161604362e-04f, 9.241835596e-04f, 9.322046914e-04f, 9.402238177e-04f, 9.482409248e-04f, 9.562559990e-04f, 9.642690265e-04f, 9.722799935e-04f,
+9.802888863e-04f, 9.882956913e-04f, 9.963003945e-04f, 1.004302982e-03f, 1.012303441e-03f, 1.020301757e-03f, 1.028297916e-03f, 1.036291906e-03f, 1.044283711e-03f, 1.052273318e-03f,
+1.060260714e-03f, 1.068245885e-03f, 1.076228818e-03f, 1.084209498e-03f, 1.092187911e-03f, 1.100164045e-03f, 1.108137886e-03f, 1.116109419e-03f, 1.124078632e-03f, 1.132045510e-03f,
+1.140010040e-03f, 1.147972209e-03f, 1.155932002e-03f, 1.163889406e-03f, 1.171844407e-03f, 1.179796992e-03f, 1.187747147e-03f, 1.195694859e-03f, 1.203640113e-03f, 1.211582897e-03f,
+1.219523197e-03f, 1.227460998e-03f, 1.235396288e-03f, 1.243329053e-03f, 1.251259279e-03f, 1.259186953e-03f, 1.267112061e-03f, 1.275034589e-03f, 1.282954525e-03f, 1.290871854e-03f,
+1.298786563e-03f, 1.306698638e-03f, 1.314608066e-03f, 1.322514834e-03f, 1.330418927e-03f, 1.338320332e-03f, 1.346219036e-03f, 1.354115025e-03f, 1.362008286e-03f, 1.369898805e-03f,
+1.377786569e-03f, 1.385671564e-03f, 1.393553777e-03f, 1.401433193e-03f, 1.409309801e-03f, 1.417183586e-03f, 1.425054534e-03f, 1.432922633e-03f, 1.440787869e-03f, 1.448650228e-03f,
+1.456509697e-03f, 1.464366262e-03f, 1.472219911e-03f, 1.480070629e-03f, 1.487918404e-03f, 1.495763222e-03f, 1.503605068e-03f, 1.511443931e-03f, 1.519279797e-03f, 1.527112652e-03f,
+1.534942482e-03f, 1.542769275e-03f, 1.550593017e-03f, 1.558413695e-03f, 1.566231296e-03f, 1.574045805e-03f, 1.581857210e-03f, 1.589665497e-03f, 1.597470653e-03f, 1.605272665e-03f,
+1.613071519e-03f, 1.620867202e-03f, 1.628659700e-03f, 1.636449001e-03f, 1.644235092e-03f, 1.652017957e-03f, 1.659797586e-03f, 1.667573963e-03f, 1.675347077e-03f, 1.683116913e-03f,
+1.690883458e-03f, 1.698646700e-03f, 1.706406624e-03f, 1.714163218e-03f, 1.721916469e-03f, 1.729666362e-03f, 1.737412886e-03f, 1.745156026e-03f, 1.752895769e-03f, 1.760632103e-03f,
+1.768365014e-03f, 1.776094489e-03f, 1.783820515e-03f, 1.791543078e-03f, 1.799262165e-03f, 1.806977764e-03f, 1.814689860e-03f, 1.822398442e-03f, 1.830103495e-03f, 1.837805007e-03f,
+1.845502964e-03f, 1.853197353e-03f, 1.860888162e-03f, 1.868575377e-03f, 1.876258984e-03f, 1.883938972e-03f, 1.891615326e-03f, 1.899288034e-03f, 1.906957083e-03f, 1.914622459e-03f,
+1.922284150e-03f, 1.929942142e-03f, 1.937596423e-03f, 1.945246978e-03f, 1.952893796e-03f, 1.960536864e-03f, 1.968176167e-03f, 1.975811694e-03f, 1.983443431e-03f, 1.991071365e-03f,
+1.998695484e-03f, 2.006315773e-03f, 2.013932221e-03f, 2.021544814e-03f, 2.029153540e-03f, 2.036758385e-03f, 2.044359336e-03f, 2.051956381e-03f, 2.059549506e-03f, 2.067138699e-03f,
+2.074723946e-03f, 2.082305236e-03f, 2.089882554e-03f, 2.097455888e-03f, 2.105025225e-03f, 2.112590553e-03f, 2.120151857e-03f, 2.127709127e-03f, 2.135262347e-03f, 2.142811507e-03f,
+2.150356592e-03f, 2.157897591e-03f, 2.165434489e-03f, 2.172967275e-03f, 2.180495936e-03f, 2.188020458e-03f, 2.195540830e-03f, 2.203057037e-03f, 2.210569068e-03f, 2.218076910e-03f,
+2.225580549e-03f, 2.233079974e-03f, 2.240575171e-03f, 2.248066128e-03f, 2.255552831e-03f, 2.263035269e-03f, 2.270513428e-03f, 2.277987295e-03f, 2.285456859e-03f, 2.292922106e-03f,
+2.300383024e-03f, 2.307839599e-03f, 2.315291820e-03f, 2.322739674e-03f, 2.330183147e-03f, 2.337622228e-03f, 2.345056904e-03f, 2.352487161e-03f, 2.359912988e-03f, 2.367334372e-03f,
+2.374751300e-03f, 2.382163760e-03f, 2.389571738e-03f, 2.396975223e-03f, 2.404374202e-03f, 2.411768663e-03f, 2.419158592e-03f, 2.426543977e-03f, 2.433924806e-03f, 2.441301066e-03f,
+2.448672744e-03f, 2.456039829e-03f, 2.463402307e-03f, 2.470760167e-03f, 2.478113395e-03f, 2.485461979e-03f, 2.492805907e-03f, 2.500145166e-03f, 2.507479744e-03f, 2.514809628e-03f,
+2.522134806e-03f, 2.529455265e-03f, 2.536770993e-03f, 2.544081979e-03f, 2.551388208e-03f, 2.558689669e-03f, 2.565986350e-03f, 2.573278237e-03f, 2.580565320e-03f, 2.587847584e-03f,
+2.595125019e-03f, 2.602397611e-03f, 2.609665349e-03f, 2.616928220e-03f, 2.624186212e-03f, 2.631439311e-03f, 2.638687507e-03f, 2.645930787e-03f, 2.653169139e-03f, 2.660402549e-03f,
+2.667631007e-03f, 2.674854500e-03f, 2.682073015e-03f, 2.689286540e-03f, 2.696495064e-03f, 2.703698573e-03f, 2.710897056e-03f, 2.718090501e-03f, 2.725278895e-03f, 2.732462226e-03f,
+2.739640482e-03f, 2.746813651e-03f, 2.753981721e-03f, 2.761144679e-03f, 2.768302514e-03f, 2.775455213e-03f, 2.782602764e-03f, 2.789745155e-03f, 2.796882374e-03f, 2.804014409e-03f,
+2.811141248e-03f, 2.818262879e-03f, 2.825379290e-03f, 2.832490468e-03f, 2.839596402e-03f, 2.846697080e-03f, 2.853792489e-03f, 2.860882618e-03f, 2.867967455e-03f, 2.875046987e-03f,
+2.882121203e-03f, 2.889190091e-03f, 2.896253639e-03f, 2.903311834e-03f, 2.910364666e-03f, 2.917412121e-03f, 2.924454189e-03f, 2.931490856e-03f, 2.938522112e-03f, 2.945547945e-03f,
+2.952568341e-03f, 2.959583291e-03f, 2.966592781e-03f, 2.973596801e-03f, 2.980595337e-03f, 2.987588379e-03f, 2.994575914e-03f, 3.001557931e-03f, 3.008534418e-03f, 3.015505363e-03f,
+3.022470754e-03f, 3.029430580e-03f, 3.036384829e-03f, 3.043333489e-03f, 3.050276548e-03f, 3.057213995e-03f, 3.064145817e-03f, 3.071072004e-03f, 3.077992544e-03f, 3.084907424e-03f,
+3.091816633e-03f, 3.098720160e-03f, 3.105617993e-03f, 3.112510120e-03f, 3.119396530e-03f, 3.126277211e-03f, 3.133152151e-03f, 3.140021339e-03f, 3.146884763e-03f, 3.153742411e-03f,
+3.160594273e-03f, 3.167440336e-03f, 3.174280589e-03f, 3.181115021e-03f, 3.187943619e-03f, 3.194766373e-03f, 3.201583271e-03f, 3.208394301e-03f, 3.215199452e-03f, 3.221998712e-03f,
+3.228792071e-03f, 3.235579516e-03f, 3.242361036e-03f, 3.249136619e-03f, 3.255906255e-03f, 3.262669932e-03f, 3.269427638e-03f, 3.276179362e-03f, 3.282925093e-03f, 3.289664819e-03f,
+3.296398530e-03f, 3.303126213e-03f, 3.309847857e-03f, 3.316563451e-03f, 3.323272984e-03f, 3.329976444e-03f, 3.336673821e-03f, 3.343365102e-03f, 3.350050277e-03f, 3.356729334e-03f,
+3.363402262e-03f, 3.370069050e-03f, 3.376729686e-03f, 3.383384160e-03f, 3.390032461e-03f, 3.396674576e-03f, 3.403310495e-03f, 3.409940207e-03f, 3.416563701e-03f, 3.423180965e-03f,
+3.429791988e-03f, 3.436396759e-03f, 3.442995268e-03f, 3.449587502e-03f, 3.456173451e-03f, 3.462753104e-03f, 3.469326450e-03f, 3.475893478e-03f, 3.482454176e-03f, 3.489008534e-03f,
+3.495556540e-03f, 3.502098185e-03f, 3.508633455e-03f, 3.515162342e-03f, 3.521684833e-03f, 3.528200918e-03f, 3.534710586e-03f, 3.541213825e-03f, 3.547710626e-03f, 3.554200976e-03f,
+3.560684866e-03f, 3.567162284e-03f, 3.573633219e-03f, 3.580097661e-03f, 3.586555598e-03f, 3.593007021e-03f, 3.599451917e-03f, 3.605890277e-03f, 3.612322088e-03f, 3.618747342e-03f,
+3.625166026e-03f, 3.631578130e-03f, 3.637983644e-03f, 3.644382556e-03f, 3.650774856e-03f, 3.657160533e-03f, 3.663539576e-03f, 3.669911975e-03f, 3.676277719e-03f, 3.682636797e-03f,
+3.688989199e-03f, 3.695334914e-03f, 3.701673931e-03f, 3.708006240e-03f, 3.714331831e-03f, 3.720650691e-03f, 3.726962812e-03f, 3.733268182e-03f, 3.739566791e-03f, 3.745858628e-03f,
+3.752143683e-03f, 3.758421945e-03f, 3.764693404e-03f, 3.770958049e-03f, 3.777215869e-03f, 3.783466855e-03f, 3.789710996e-03f, 3.795948280e-03f, 3.802178699e-03f, 3.808402241e-03f,
+3.814618896e-03f, 3.820828654e-03f, 3.827031504e-03f, 3.833227436e-03f, 3.839416439e-03f, 3.845598503e-03f, 3.851773618e-03f, 3.857941774e-03f, 3.864102959e-03f, 3.870257165e-03f,
+3.876404380e-03f, 3.882544594e-03f, 3.888677797e-03f, 3.894803979e-03f, 3.900923130e-03f, 3.907035239e-03f, 3.913140295e-03f, 3.919238290e-03f, 3.925329212e-03f, 3.931413052e-03f,
+3.937489799e-03f, 3.943559443e-03f, 3.949621975e-03f, 3.955677383e-03f, 3.961725658e-03f, 3.967766790e-03f, 3.973800768e-03f, 3.979827583e-03f, 3.985847224e-03f, 3.991859682e-03f,
+3.997864946e-03f, 4.003863006e-03f, 4.009853853e-03f, 4.015837476e-03f, 4.021813865e-03f, 4.027783011e-03f, 4.033744903e-03f, 4.039699532e-03f, 4.045646887e-03f, 4.051586959e-03f,
+4.057519738e-03f, 4.063445214e-03f, 4.069363376e-03f, 4.075274216e-03f, 4.081177722e-03f, 4.087073887e-03f, 4.092962698e-03f, 4.098844148e-03f, 4.104718225e-03f, 4.110584921e-03f,
+4.116444225e-03f, 4.122296128e-03f, 4.128140619e-03f, 4.133977690e-03f, 4.139807330e-03f, 4.145629530e-03f, 4.151444280e-03f, 4.157251570e-03f, 4.163051391e-03f, 4.168843733e-03f,
+4.174628586e-03f, 4.180405941e-03f, 4.186175789e-03f, 4.191938118e-03f, 4.197692921e-03f, 4.203440187e-03f, 4.209179907e-03f, 4.214912071e-03f, 4.220636670e-03f, 4.226353694e-03f,
+4.232063134e-03f, 4.237764980e-03f, 4.243459223e-03f, 4.249145853e-03f, 4.254824861e-03f, 4.260496237e-03f, 4.266159972e-03f, 4.271816057e-03f, 4.277464482e-03f, 4.283105237e-03f,
+4.288738314e-03f, 4.294363704e-03f, 4.299981395e-03f, 4.305591381e-03f, 4.311193650e-03f, 4.316788194e-03f, 4.322375003e-03f, 4.327954069e-03f, 4.333525381e-03f, 4.339088932e-03f,
+4.344644710e-03f, 4.350192708e-03f, 4.355732916e-03f, 4.361265325e-03f, 4.366789925e-03f, 4.372306708e-03f, 4.377815665e-03f, 4.383316785e-03f, 4.388810061e-03f, 4.394295483e-03f,
+4.399773041e-03f, 4.405242728e-03f, 4.410704533e-03f, 4.416158447e-03f, 4.421604463e-03f, 4.427042570e-03f, 4.432472760e-03f, 4.437895023e-03f, 4.443309352e-03f, 4.448715735e-03f,
+4.454114166e-03f, 4.459504634e-03f, 4.464887132e-03f, 4.470261649e-03f, 4.475628177e-03f, 4.480986708e-03f, 4.486337232e-03f, 4.491679740e-03f, 4.497014224e-03f, 4.502340675e-03f,
+4.507659084e-03f, 4.512969442e-03f, 4.518271741e-03f, 4.523565971e-03f, 4.528852124e-03f, 4.534130192e-03f, 4.539400164e-03f, 4.544662034e-03f, 4.549915792e-03f, 4.555161429e-03f,
+4.560398937e-03f, 4.565628306e-03f, 4.570849530e-03f, 4.576062598e-03f, 4.581267502e-03f, 4.586464234e-03f, 4.591652785e-03f, 4.596833147e-03f, 4.602005310e-03f, 4.607169267e-03f,
+4.612325008e-03f, 4.617472526e-03f, 4.622611812e-03f, 4.627742858e-03f, 4.632865654e-03f, 4.637980193e-03f, 4.643086465e-03f, 4.648184464e-03f, 4.653274179e-03f, 4.658355604e-03f,
+4.663428729e-03f, 4.668493546e-03f, 4.673550047e-03f, 4.678598224e-03f, 4.683638067e-03f, 4.688669569e-03f, 4.693692722e-03f, 4.698707518e-03f, 4.703713947e-03f, 4.708712002e-03f,
+4.713701674e-03f, 4.718682956e-03f, 4.723655839e-03f, 4.728620316e-03f, 4.733576376e-03f, 4.738524014e-03f, 4.743463220e-03f, 4.748393987e-03f, 4.753316306e-03f, 4.758230169e-03f,
+4.763135568e-03f, 4.768032495e-03f, 4.772920943e-03f, 4.777800902e-03f, 4.782672365e-03f, 4.787535325e-03f, 4.792389772e-03f, 4.797235699e-03f, 4.802073099e-03f, 4.806901962e-03f,
+4.811722282e-03f, 4.816534050e-03f, 4.821337259e-03f, 4.826131900e-03f, 4.830917966e-03f, 4.835695448e-03f, 4.840464340e-03f, 4.845224633e-03f, 4.849976319e-03f, 4.854719391e-03f,
+4.859453840e-03f, 4.864179660e-03f, 4.868896842e-03f, 4.873605378e-03f, 4.878305261e-03f, 4.882996484e-03f, 4.887679038e-03f, 4.892352916e-03f, 4.897018110e-03f, 4.901674613e-03f,
+4.906322416e-03f, 4.910961513e-03f, 4.915591896e-03f, 4.920213556e-03f, 4.924826488e-03f, 4.929430682e-03f, 4.934026132e-03f, 4.938612830e-03f, 4.943190769e-03f, 4.947759941e-03f,
+4.952320338e-03f, 4.956871953e-03f, 4.961414779e-03f, 4.965948809e-03f, 4.970474034e-03f, 4.974990448e-03f, 4.979498043e-03f, 4.983996811e-03f, 4.988486747e-03f, 4.992967841e-03f,
+4.997440087e-03f, 5.001903477e-03f, 5.006358005e-03f, 5.010803663e-03f, 5.015240444e-03f, 5.019668340e-03f, 5.024087344e-03f, 5.028497449e-03f, 5.032898649e-03f, 5.037290935e-03f,
+5.041674300e-03f, 5.046048738e-03f, 5.050414242e-03f, 5.054770803e-03f, 5.059118416e-03f, 5.063457073e-03f, 5.067786767e-03f, 5.072107491e-03f, 5.076419237e-03f, 5.080722000e-03f,
+5.085015772e-03f, 5.089300545e-03f, 5.093576314e-03f, 5.097843071e-03f, 5.102100808e-03f, 5.106349520e-03f, 5.110589200e-03f, 5.114819840e-03f, 5.119041433e-03f, 5.123253973e-03f,
+5.127457453e-03f, 5.131651866e-03f, 5.135837205e-03f, 5.140013464e-03f, 5.144180635e-03f, 5.148338713e-03f, 5.152487689e-03f, 5.156627558e-03f, 5.160758313e-03f, 5.164879947e-03f,
+5.168992454e-03f, 5.173095826e-03f, 5.177190057e-03f, 5.181275141e-03f, 5.185351071e-03f, 5.189417840e-03f, 5.193475441e-03f, 5.197523869e-03f, 5.201563117e-03f, 5.205593177e-03f,
+5.209614045e-03f, 5.213625712e-03f, 5.217628173e-03f, 5.221621421e-03f, 5.225605449e-03f, 5.229580252e-03f, 5.233545823e-03f, 5.237502155e-03f, 5.241449243e-03f, 5.245387079e-03f,
+5.249315657e-03f, 5.253234972e-03f, 5.257145016e-03f, 5.261045783e-03f, 5.264937268e-03f, 5.268819463e-03f, 5.272692363e-03f, 5.276555962e-03f, 5.280410252e-03f, 5.284255229e-03f,
+5.288090885e-03f, 5.291917215e-03f, 5.295734212e-03f, 5.299541871e-03f, 5.303340185e-03f, 5.307129147e-03f, 5.310908753e-03f, 5.314678996e-03f, 5.318439869e-03f, 5.322191368e-03f,
+5.325933485e-03f, 5.329666215e-03f, 5.333389552e-03f, 5.337103489e-03f, 5.340808022e-03f, 5.344503143e-03f, 5.348188848e-03f, 5.351865129e-03f, 5.355531982e-03f, 5.359189400e-03f,
+5.362837378e-03f, 5.366475909e-03f, 5.370104989e-03f, 5.373724610e-03f, 5.377334767e-03f, 5.380935455e-03f, 5.384526668e-03f, 5.388108399e-03f, 5.391680644e-03f, 5.395243396e-03f,
+5.398796650e-03f, 5.402340401e-03f, 5.405874642e-03f, 5.409399367e-03f, 5.412914572e-03f, 5.416420251e-03f, 5.419916398e-03f, 5.423403007e-03f, 5.426880073e-03f, 5.430347591e-03f,
+5.433805554e-03f, 5.437253958e-03f, 5.440692797e-03f, 5.444122065e-03f, 5.447541757e-03f, 5.450951867e-03f, 5.454352391e-03f, 5.457743322e-03f, 5.461124656e-03f, 5.464496387e-03f,
+5.467858509e-03f, 5.471211017e-03f, 5.474553907e-03f, 5.477887171e-03f, 5.481210807e-03f, 5.484524807e-03f, 5.487829167e-03f, 5.491123882e-03f, 5.494408946e-03f, 5.497684354e-03f,
+5.500950101e-03f, 5.504206182e-03f, 5.507452592e-03f, 5.510689325e-03f, 5.513916377e-03f, 5.517133741e-03f, 5.520341414e-03f, 5.523539391e-03f, 5.526727665e-03f, 5.529906232e-03f,
+5.533075088e-03f, 5.536234226e-03f, 5.539383642e-03f, 5.542523332e-03f, 5.545653290e-03f, 5.548773511e-03f, 5.551883990e-03f, 5.554984723e-03f, 5.558075704e-03f, 5.561156929e-03f,
+5.564228393e-03f, 5.567290091e-03f, 5.570342018e-03f, 5.573384169e-03f, 5.576416540e-03f, 5.579439126e-03f, 5.582451922e-03f, 5.585454924e-03f, 5.588448126e-03f, 5.591431524e-03f,
+5.594405114e-03f, 5.597368890e-03f, 5.600322848e-03f, 5.603266984e-03f, 5.606201292e-03f, 5.609125769e-03f, 5.612040409e-03f, 5.614945208e-03f, 5.617840162e-03f, 5.620725266e-03f,
+5.623600516e-03f, 5.626465907e-03f, 5.629321434e-03f, 5.632167093e-03f, 5.635002880e-03f, 5.637828791e-03f, 5.640644820e-03f, 5.643450964e-03f, 5.646247218e-03f, 5.649033578e-03f,
+5.651810039e-03f, 5.654576598e-03f, 5.657333249e-03f, 5.660079989e-03f, 5.662816814e-03f, 5.665543718e-03f, 5.668260698e-03f, 5.670967750e-03f, 5.673664870e-03f, 5.676352053e-03f,
+5.679029295e-03f, 5.681696592e-03f, 5.684353940e-03f, 5.687001334e-03f, 5.689638772e-03f, 5.692266248e-03f, 5.694883758e-03f, 5.697491300e-03f, 5.700088867e-03f, 5.702676458e-03f,
+5.705254067e-03f, 5.707821690e-03f, 5.710379324e-03f, 5.712926965e-03f, 5.715464609e-03f, 5.717992252e-03f, 5.720509889e-03f, 5.723017518e-03f, 5.725515134e-03f, 5.728002734e-03f,
+5.730480314e-03f, 5.732947869e-03f, 5.735405397e-03f, 5.737852893e-03f, 5.740290354e-03f, 5.742717775e-03f, 5.745135154e-03f, 5.747542487e-03f, 5.749939769e-03f, 5.752326998e-03f,
+5.754704169e-03f, 5.757071279e-03f, 5.759428325e-03f, 5.761775303e-03f, 5.764112208e-03f, 5.766439039e-03f, 5.768755791e-03f, 5.771062460e-03f, 5.773359044e-03f, 5.775645538e-03f,
+5.777921940e-03f, 5.780188246e-03f, 5.782444452e-03f, 5.784690555e-03f, 5.786926552e-03f, 5.789152439e-03f, 5.791368213e-03f, 5.793573870e-03f, 5.795769408e-03f, 5.797954823e-03f,
+5.800130111e-03f, 5.802295270e-03f, 5.804450296e-03f, 5.806595186e-03f, 5.808729937e-03f, 5.810854546e-03f, 5.812969009e-03f, 5.815073323e-03f, 5.817167485e-03f, 5.819251492e-03f,
+5.821325342e-03f, 5.823389029e-03f, 5.825442553e-03f, 5.827485910e-03f, 5.829519096e-03f, 5.831542108e-03f, 5.833554945e-03f, 5.835557602e-03f, 5.837550077e-03f, 5.839532366e-03f,
+5.841504468e-03f, 5.843466378e-03f, 5.845418095e-03f, 5.847359614e-03f, 5.849290934e-03f, 5.851212052e-03f, 5.853122964e-03f, 5.855023668e-03f, 5.856914161e-03f, 5.858794440e-03f,
+5.860664503e-03f, 5.862524347e-03f, 5.864373969e-03f, 5.866213367e-03f, 5.868042537e-03f, 5.869861477e-03f, 5.871670185e-03f, 5.873468658e-03f, 5.875256893e-03f, 5.877034888e-03f,
+5.878802639e-03f, 5.880560146e-03f, 5.882307404e-03f, 5.884044412e-03f, 5.885771166e-03f, 5.887487666e-03f, 5.889193907e-03f, 5.890889888e-03f, 5.892575606e-03f, 5.894251059e-03f,
+5.895916245e-03f, 5.897571160e-03f, 5.899215803e-03f, 5.900850171e-03f, 5.902474263e-03f, 5.904088075e-03f, 5.905691605e-03f, 5.907284852e-03f, 5.908867812e-03f, 5.910440485e-03f,
+5.912002866e-03f, 5.913554955e-03f, 5.915096749e-03f, 5.916628246e-03f, 5.918149444e-03f, 5.919660341e-03f, 5.921160934e-03f, 5.922651221e-03f, 5.924131201e-03f, 5.925600872e-03f,
+5.927060231e-03f, 5.928509276e-03f, 5.929948005e-03f, 5.931376417e-03f, 5.932794509e-03f, 5.934202279e-03f, 5.935599726e-03f, 5.936986848e-03f, 5.938363642e-03f, 5.939730108e-03f,
+5.941086242e-03f, 5.942432043e-03f, 5.943767510e-03f, 5.945092640e-03f, 5.946407432e-03f, 5.947711884e-03f, 5.949005995e-03f, 5.950289762e-03f, 5.951563183e-03f, 5.952826258e-03f,
+5.954078984e-03f, 5.955321360e-03f, 5.956553385e-03f, 5.957775055e-03f, 5.958986371e-03f, 5.960187330e-03f, 5.961377931e-03f, 5.962558172e-03f, 5.963728052e-03f, 5.964887569e-03f,
+5.966036721e-03f, 5.967175508e-03f, 5.968303928e-03f, 5.969421979e-03f, 5.970529660e-03f, 5.971626969e-03f, 5.972713906e-03f, 5.973790468e-03f, 5.974856655e-03f, 5.975912464e-03f,
+5.976957896e-03f, 5.977992948e-03f, 5.979017619e-03f, 5.980031908e-03f, 5.981035814e-03f, 5.982029335e-03f, 5.983012470e-03f, 5.983985219e-03f, 5.984947579e-03f, 5.985899550e-03f,
+5.986841131e-03f, 5.987772320e-03f, 5.988693117e-03f, 5.989603520e-03f, 5.990503528e-03f, 5.991393140e-03f, 5.992272356e-03f, 5.993141173e-03f, 5.993999592e-03f, 5.994847611e-03f,
+5.995685230e-03f, 5.996512446e-03f, 5.997329260e-03f, 5.998135671e-03f, 5.998931677e-03f, 5.999717278e-03f, 6.000492473e-03f, 6.001257261e-03f, 6.002011641e-03f, 6.002755612e-03f,
+6.003489175e-03f, 6.004212327e-03f, 6.004925068e-03f, 6.005627398e-03f, 6.006319316e-03f, 6.007000821e-03f, 6.007671912e-03f, 6.008332589e-03f, 6.008982852e-03f, 6.009622699e-03f,
+6.010252129e-03f, 6.010871143e-03f, 6.011479740e-03f, 6.012077920e-03f, 6.012665681e-03f, 6.013243023e-03f, 6.013809946e-03f, 6.014366450e-03f, 6.014912533e-03f, 6.015448195e-03f,
+6.015973437e-03f, 6.016488257e-03f, 6.016992656e-03f, 6.017486632e-03f, 6.017970186e-03f, 6.018443318e-03f, 6.018906026e-03f, 6.019358310e-03f, 6.019800171e-03f, 6.020231609e-03f,
+6.020652622e-03f, 6.021063210e-03f, 6.021463375e-03f, 6.021853114e-03f, 6.022232429e-03f, 6.022601318e-03f, 6.022959783e-03f, 6.023307822e-03f, 6.023645436e-03f, 6.023972624e-03f,
+6.024289387e-03f, 6.024595725e-03f, 6.024891637e-03f, 6.025177123e-03f, 6.025452184e-03f, 6.025716819e-03f, 6.025971029e-03f, 6.026214814e-03f, 6.026448174e-03f, 6.026671108e-03f,
+6.026883618e-03f, 6.027085702e-03f, 6.027277362e-03f, 6.027458597e-03f, 6.027629408e-03f, 6.027789795e-03f, 6.027939758e-03f, 6.028079298e-03f, 6.028208414e-03f, 6.028327107e-03f,
+6.028435377e-03f, 6.028533225e-03f, 6.028620651e-03f, 6.028697655e-03f, 6.028764238e-03f, 6.028820400e-03f, 6.028866142e-03f, 6.028901463e-03f, 6.028926365e-03f, 6.028940847e-03f,
+6.028944911e-03f, 6.028938557e-03f, 6.028921785e-03f, 6.028894596e-03f, 6.028856990e-03f, 6.028808969e-03f, 6.028750532e-03f, 6.028681680e-03f, 6.028602414e-03f, 6.028512735e-03f,
+6.028412643e-03f, 6.028302139e-03f, 6.028181223e-03f, 6.028049897e-03f, 6.027908160e-03f, 6.027756015e-03f, 6.027593461e-03f, 6.027420499e-03f, 6.027237131e-03f, 6.027043357e-03f,
+6.026839177e-03f, 6.026624593e-03f, 6.026399606e-03f, 6.026164216e-03f, 6.025918425e-03f, 6.025662233e-03f, 6.025395641e-03f, 6.025118651e-03f, 6.024831263e-03f, 6.024533478e-03f,
+6.024225297e-03f, 6.023906722e-03f, 6.023577753e-03f, 6.023238392e-03f, 6.022888639e-03f, 6.022528496e-03f, 6.022157964e-03f, 6.021777044e-03f, 6.021385737e-03f, 6.020984044e-03f,
+6.020571967e-03f, 6.020149506e-03f, 6.019716664e-03f, 6.019273441e-03f, 6.018819838e-03f, 6.018355857e-03f, 6.017881500e-03f, 6.017396767e-03f, 6.016901659e-03f, 6.016396179e-03f,
+6.015880328e-03f, 6.015354106e-03f, 6.014817516e-03f, 6.014270558e-03f, 6.013713235e-03f, 6.013145548e-03f, 6.012567498e-03f, 6.011979087e-03f, 6.011380316e-03f, 6.010771186e-03f,
+6.010151701e-03f, 6.009521860e-03f, 6.008881665e-03f, 6.008231119e-03f, 6.007570223e-03f, 6.006898978e-03f, 6.006217387e-03f, 6.005525450e-03f, 6.004823169e-03f, 6.004110547e-03f,
+6.003387585e-03f, 6.002654285e-03f, 6.001910648e-03f, 6.001156677e-03f, 6.000392372e-03f, 5.999617737e-03f, 5.998832772e-03f, 5.998037480e-03f, 5.997231863e-03f, 5.996415922e-03f,
+5.995589659e-03f, 5.994753077e-03f, 5.993906177e-03f, 5.993048961e-03f, 5.992181432e-03f, 5.991303590e-03f, 5.990415439e-03f, 5.989516980e-03f, 5.988608216e-03f, 5.987689148e-03f,
+5.986759778e-03f, 5.985820109e-03f, 5.984870143e-03f, 5.983909882e-03f, 5.982939328e-03f, 5.981958483e-03f, 5.980967349e-03f, 5.979965930e-03f, 5.978954226e-03f, 5.977932240e-03f,
+5.976899975e-03f, 5.975857432e-03f, 5.974804615e-03f, 5.973741525e-03f, 5.972668164e-03f, 5.971584536e-03f, 5.970490642e-03f, 5.969386485e-03f, 5.968272067e-03f, 5.967147391e-03f,
+5.966012459e-03f, 5.964867273e-03f, 5.963711837e-03f, 5.962546152e-03f, 5.961370221e-03f, 5.960184047e-03f, 5.958987632e-03f, 5.957780979e-03f, 5.956564090e-03f, 5.955336968e-03f,
+5.954099616e-03f, 5.952852036e-03f, 5.951594230e-03f, 5.950326203e-03f, 5.949047955e-03f, 5.947759491e-03f, 5.946460812e-03f, 5.945151921e-03f, 5.943832822e-03f, 5.942503517e-03f,
+5.941164008e-03f, 5.939814299e-03f, 5.938454393e-03f, 5.937084292e-03f, 5.935703999e-03f, 5.934313516e-03f, 5.932912848e-03f, 5.931501997e-03f, 5.930080966e-03f, 5.928649757e-03f,
+5.927208374e-03f, 5.925756820e-03f, 5.924295097e-03f, 5.922823209e-03f, 5.921341159e-03f, 5.919848950e-03f, 5.918346585e-03f, 5.916834066e-03f, 5.915311398e-03f, 5.913778583e-03f,
+5.912235625e-03f, 5.910682526e-03f, 5.909119290e-03f, 5.907545920e-03f, 5.905962419e-03f, 5.904368790e-03f, 5.902765037e-03f, 5.901151163e-03f, 5.899527172e-03f, 5.897893065e-03f,
+5.896248848e-03f, 5.894594523e-03f, 5.892930093e-03f, 5.891255562e-03f, 5.889570934e-03f, 5.887876211e-03f, 5.886171398e-03f, 5.884456497e-03f, 5.882731512e-03f, 5.880996446e-03f,
+5.879251304e-03f, 5.877496088e-03f, 5.875730802e-03f, 5.873955449e-03f, 5.872170034e-03f, 5.870374560e-03f, 5.868569030e-03f, 5.866753447e-03f, 5.864927817e-03f, 5.863092142e-03f,
+5.861246425e-03f, 5.859390671e-03f, 5.857524883e-03f, 5.855649066e-03f, 5.853763222e-03f, 5.851867355e-03f, 5.849961470e-03f, 5.848045570e-03f, 5.846119659e-03f, 5.844183740e-03f,
+5.842237818e-03f, 5.840281896e-03f, 5.838315979e-03f, 5.836340069e-03f, 5.834354172e-03f, 5.832358290e-03f, 5.830352428e-03f, 5.828336590e-03f, 5.826310780e-03f, 5.824275002e-03f,
+5.822229260e-03f, 5.820173557e-03f, 5.818107898e-03f, 5.816032288e-03f, 5.813946729e-03f, 5.811851226e-03f, 5.809745784e-03f, 5.807630406e-03f, 5.805505096e-03f, 5.803369859e-03f,
+5.801224699e-03f, 5.799069619e-03f, 5.796904625e-03f, 5.794729721e-03f, 5.792544910e-03f, 5.790350197e-03f, 5.788145587e-03f, 5.785931083e-03f, 5.783706689e-03f, 5.781472411e-03f,
+5.779228253e-03f, 5.776974218e-03f, 5.774710312e-03f, 5.772436538e-03f, 5.770152902e-03f, 5.767859407e-03f, 5.765556058e-03f, 5.763242859e-03f, 5.760919815e-03f, 5.758586931e-03f,
+5.756244210e-03f, 5.753891658e-03f, 5.751529279e-03f, 5.749157078e-03f, 5.746775059e-03f, 5.744383226e-03f, 5.741981585e-03f, 5.739570140e-03f, 5.737148895e-03f, 5.734717856e-03f,
+5.732277027e-03f, 5.729826412e-03f, 5.727366017e-03f, 5.724895846e-03f, 5.722415904e-03f, 5.719926196e-03f, 5.717426726e-03f, 5.714917499e-03f, 5.712398520e-03f, 5.709869795e-03f,
+5.707331327e-03f, 5.704783121e-03f, 5.702225183e-03f, 5.699657518e-03f, 5.697080129e-03f, 5.694493023e-03f, 5.691896204e-03f, 5.689289678e-03f, 5.686673448e-03f, 5.684047520e-03f,
+5.681411900e-03f, 5.678766592e-03f, 5.676111601e-03f, 5.673446932e-03f, 5.670772591e-03f, 5.668088582e-03f, 5.665394910e-03f, 5.662691582e-03f, 5.659978601e-03f, 5.657255973e-03f,
+5.654523704e-03f, 5.651781797e-03f, 5.649030260e-03f, 5.646269096e-03f, 5.643498311e-03f, 5.640717911e-03f, 5.637927900e-03f, 5.635128284e-03f, 5.632319068e-03f, 5.629500258e-03f,
+5.626671859e-03f, 5.623833876e-03f, 5.620986314e-03f, 5.618129180e-03f, 5.615262478e-03f, 5.612386214e-03f, 5.609500393e-03f, 5.606605020e-03f, 5.603700102e-03f, 5.600785644e-03f,
+5.597861651e-03f, 5.594928128e-03f, 5.591985082e-03f, 5.589032518e-03f, 5.586070441e-03f, 5.583098857e-03f, 5.580117772e-03f, 5.577127190e-03f, 5.574127119e-03f, 5.571117563e-03f,
+5.568098528e-03f, 5.565070020e-03f, 5.562032045e-03f, 5.558984608e-03f, 5.555927714e-03f, 5.552861371e-03f, 5.549785583e-03f, 5.546700356e-03f, 5.543605696e-03f, 5.540501609e-03f,
+5.537388101e-03f, 5.534265177e-03f, 5.531132844e-03f, 5.527991107e-03f, 5.524839972e-03f, 5.521679445e-03f, 5.518509533e-03f, 5.515330240e-03f, 5.512141573e-03f, 5.508943538e-03f,
+5.505736141e-03f, 5.502519387e-03f, 5.499293284e-03f, 5.496057836e-03f, 5.492813050e-03f, 5.489558932e-03f, 5.486295489e-03f, 5.483022725e-03f, 5.479740648e-03f, 5.476449264e-03f,
+5.473148578e-03f, 5.469838596e-03f, 5.466519326e-03f, 5.463190773e-03f, 5.459852943e-03f, 5.456505842e-03f, 5.453149478e-03f, 5.449783855e-03f, 5.446408981e-03f, 5.443024861e-03f,
+5.439631502e-03f, 5.436228910e-03f, 5.432817092e-03f, 5.429396054e-03f, 5.425965802e-03f, 5.422526343e-03f, 5.419077683e-03f, 5.415619828e-03f, 5.412152785e-03f, 5.408676561e-03f,
+5.405191161e-03f, 5.401696593e-03f, 5.398192862e-03f, 5.394679975e-03f, 5.391157940e-03f, 5.387626761e-03f, 5.384086447e-03f, 5.380537003e-03f, 5.376978435e-03f, 5.373410752e-03f,
+5.369833959e-03f, 5.366248062e-03f, 5.362653069e-03f, 5.359048986e-03f, 5.355435820e-03f, 5.351813578e-03f, 5.348182265e-03f, 5.344541890e-03f, 5.340892458e-03f, 5.337233977e-03f,
+5.333566453e-03f, 5.329889893e-03f, 5.326204304e-03f, 5.322509692e-03f, 5.318806065e-03f, 5.315093429e-03f, 5.311371791e-03f, 5.307641158e-03f, 5.303901537e-03f, 5.300152935e-03f,
+5.296395358e-03f, 5.292628814e-03f, 5.288853310e-03f, 5.285068852e-03f, 5.281275448e-03f, 5.277473104e-03f, 5.273661828e-03f, 5.269841626e-03f, 5.266012506e-03f, 5.262174475e-03f,
+5.258327539e-03f, 5.254471706e-03f, 5.250606983e-03f, 5.246733377e-03f, 5.242850896e-03f, 5.238959545e-03f, 5.235059333e-03f, 5.231150267e-03f, 5.227232353e-03f, 5.223305600e-03f,
+5.219370014e-03f, 5.215425602e-03f, 5.211472372e-03f, 5.207510331e-03f, 5.203539486e-03f, 5.199559845e-03f, 5.195571415e-03f, 5.191574203e-03f, 5.187568216e-03f, 5.183553462e-03f,
+5.179529949e-03f, 5.175497683e-03f, 5.171456673e-03f, 5.167406924e-03f, 5.163348446e-03f, 5.159281245e-03f, 5.155205329e-03f, 5.151120705e-03f, 5.147027381e-03f, 5.142925364e-03f,
+5.138814662e-03f, 5.134695282e-03f, 5.130567232e-03f, 5.126430520e-03f, 5.122285152e-03f, 5.118131137e-03f, 5.113968482e-03f, 5.109797195e-03f, 5.105617283e-03f, 5.101428754e-03f,
+5.097231617e-03f, 5.093025877e-03f, 5.088811544e-03f, 5.084588624e-03f, 5.080357126e-03f, 5.076117057e-03f, 5.071868425e-03f, 5.067611238e-03f, 5.063345504e-03f, 5.059071229e-03f,
+5.054788423e-03f, 5.050497093e-03f, 5.046197247e-03f, 5.041888892e-03f, 5.037572037e-03f, 5.033246689e-03f, 5.028912856e-03f, 5.024570547e-03f, 5.020219769e-03f, 5.015860529e-03f,
+5.011492837e-03f, 5.007116700e-03f, 5.002732125e-03f, 4.998339122e-03f, 4.993937697e-03f, 4.989527860e-03f, 4.985109617e-03f, 4.980682977e-03f, 4.976247949e-03f, 4.971804539e-03f,
+4.967352757e-03f, 4.962892610e-03f, 4.958424107e-03f, 4.953947255e-03f, 4.949462063e-03f, 4.944968539e-03f, 4.940466691e-03f, 4.935956527e-03f, 4.931438056e-03f, 4.926911285e-03f,
+4.922376224e-03f, 4.917832879e-03f, 4.913281260e-03f, 4.908721375e-03f, 4.904153231e-03f, 4.899576838e-03f, 4.894992204e-03f, 4.890399336e-03f, 4.885798244e-03f, 4.881188935e-03f,
+4.876571418e-03f, 4.871945702e-03f, 4.867311794e-03f, 4.862669704e-03f, 4.858019439e-03f, 4.853361008e-03f, 4.848694420e-03f, 4.844019682e-03f, 4.839336804e-03f, 4.834645794e-03f,
+4.829946661e-03f, 4.825239412e-03f, 4.820524057e-03f, 4.815800604e-03f, 4.811069061e-03f, 4.806329438e-03f, 4.801581742e-03f, 4.796825983e-03f, 4.792062169e-03f, 4.787290308e-03f,
+4.782510409e-03f, 4.777722482e-03f, 4.772926534e-03f, 4.768122574e-03f, 4.763310611e-03f, 4.758490654e-03f, 4.753662711e-03f, 4.748826791e-03f, 4.743982903e-03f, 4.739131056e-03f,
+4.734271258e-03f, 4.729403518e-03f, 4.724527846e-03f, 4.719644249e-03f, 4.714752736e-03f, 4.709853317e-03f, 4.704946001e-03f, 4.700030795e-03f, 4.695107710e-03f, 4.690176754e-03f,
+4.685237935e-03f, 4.680291263e-03f, 4.675336747e-03f, 4.670374396e-03f, 4.665404218e-03f, 4.660426223e-03f, 4.655440420e-03f, 4.650446817e-03f, 4.645445424e-03f, 4.640436249e-03f,
+4.635419302e-03f, 4.630394591e-03f, 4.625362127e-03f, 4.620321917e-03f, 4.615273972e-03f, 4.610218299e-03f, 4.605154908e-03f, 4.600083809e-03f, 4.595005010e-03f, 4.589918521e-03f,
+4.584824351e-03f, 4.579722508e-03f, 4.574613003e-03f, 4.569495844e-03f, 4.564371041e-03f, 4.559238602e-03f, 4.554098537e-03f, 4.548950856e-03f, 4.543795567e-03f, 4.538632680e-03f,
+4.533462204e-03f, 4.528284149e-03f, 4.523098523e-03f, 4.517905337e-03f, 4.512704599e-03f, 4.507496319e-03f, 4.502280506e-03f, 4.497057169e-03f, 4.491826319e-03f, 4.486587963e-03f,
+4.481342113e-03f, 4.476088777e-03f, 4.470827964e-03f, 4.465559685e-03f, 4.460283948e-03f, 4.455000763e-03f, 4.449710140e-03f, 4.444412088e-03f, 4.439106616e-03f, 4.433793735e-03f,
+4.428473453e-03f, 4.423145781e-03f, 4.417810727e-03f, 4.412468302e-03f, 4.407118514e-03f, 4.401761374e-03f, 4.396396892e-03f, 4.391025076e-03f, 4.385645937e-03f, 4.380259484e-03f,
+4.374865726e-03f, 4.369464675e-03f, 4.364056338e-03f, 4.358640726e-03f, 4.353217849e-03f, 4.347787716e-03f, 4.342350337e-03f, 4.336905722e-03f, 4.331453881e-03f, 4.325994822e-03f,
+4.320528557e-03f, 4.315055095e-03f, 4.309574446e-03f, 4.304086619e-03f, 4.298591625e-03f, 4.293089473e-03f, 4.287580173e-03f, 4.282063735e-03f, 4.276540169e-03f, 4.271009485e-03f,
+4.265471692e-03f, 4.259926801e-03f, 4.254374821e-03f, 4.248815763e-03f, 4.243249636e-03f, 4.237676451e-03f, 4.232096217e-03f, 4.226508945e-03f, 4.220914643e-03f, 4.215313323e-03f,
+4.209704995e-03f, 4.204089668e-03f, 4.198467352e-03f, 4.192838058e-03f, 4.187201796e-03f, 4.181558575e-03f, 4.175908406e-03f, 4.170251299e-03f, 4.164587264e-03f, 4.158916311e-03f,
+4.153238450e-03f, 4.147553692e-03f, 4.141862046e-03f, 4.136163523e-03f, 4.130458133e-03f, 4.124745886e-03f, 4.119026792e-03f, 4.113300862e-03f, 4.107568106e-03f, 4.101828534e-03f,
+4.096082156e-03f, 4.090328982e-03f, 4.084569024e-03f, 4.078802290e-03f, 4.073028792e-03f, 4.067248540e-03f, 4.061461544e-03f, 4.055667814e-03f, 4.049867360e-03f, 4.044060194e-03f,
+4.038246326e-03f, 4.032425765e-03f, 4.026598522e-03f, 4.020764608e-03f, 4.014924033e-03f, 4.009076807e-03f, 4.003222941e-03f, 3.997362446e-03f, 3.991495331e-03f, 3.985621607e-03f,
+3.979741285e-03f, 3.973854375e-03f, 3.967960888e-03f, 3.962060835e-03f, 3.956154224e-03f, 3.950241068e-03f, 3.944321377e-03f, 3.938395161e-03f, 3.932462431e-03f, 3.926523197e-03f,
+3.920577471e-03f, 3.914625262e-03f, 3.908666581e-03f, 3.902701439e-03f, 3.896729847e-03f, 3.890751815e-03f, 3.884767353e-03f, 3.878776473e-03f, 3.872779185e-03f, 3.866775499e-03f,
+3.860765427e-03f, 3.854748980e-03f, 3.848726167e-03f, 3.842696999e-03f, 3.836661488e-03f, 3.830619644e-03f, 3.824571478e-03f, 3.818517000e-03f, 3.812456222e-03f, 3.806389154e-03f,
+3.800315806e-03f, 3.794236191e-03f, 3.788150318e-03f, 3.782058198e-03f, 3.775959842e-03f, 3.769855262e-03f, 3.763744467e-03f, 3.757627469e-03f, 3.751504279e-03f, 3.745374907e-03f,
+3.739239365e-03f, 3.733097663e-03f, 3.726949812e-03f, 3.720795823e-03f, 3.714635707e-03f, 3.708469476e-03f, 3.702297139e-03f, 3.696118708e-03f, 3.689934194e-03f, 3.683743608e-03f,
+3.677546961e-03f, 3.671344264e-03f, 3.665135528e-03f, 3.658920764e-03f, 3.652699983e-03f, 3.646473196e-03f, 3.640240414e-03f, 3.634001648e-03f, 3.627756909e-03f, 3.621506209e-03f,
+3.615249558e-03f, 3.608986967e-03f, 3.602718448e-03f, 3.596444012e-03f, 3.590163670e-03f, 3.583877433e-03f, 3.577585312e-03f, 3.571287318e-03f, 3.564983463e-03f, 3.558673757e-03f,
+3.552358213e-03f, 3.546036840e-03f, 3.539709651e-03f, 3.533376656e-03f, 3.527037868e-03f, 3.520693296e-03f, 3.514342952e-03f, 3.507986847e-03f, 3.501624994e-03f, 3.495257402e-03f,
+3.488884084e-03f, 3.482505051e-03f, 3.476120313e-03f, 3.469729883e-03f, 3.463333771e-03f, 3.456931989e-03f, 3.450524548e-03f, 3.444111460e-03f, 3.437692735e-03f, 3.431268386e-03f,
+3.424838424e-03f, 3.418402860e-03f, 3.411961705e-03f, 3.405514971e-03f, 3.399062669e-03f, 3.392604811e-03f, 3.386141408e-03f, 3.379672472e-03f, 3.373198014e-03f, 3.366718045e-03f,
+3.360232577e-03f, 3.353741622e-03f, 3.347245190e-03f, 3.340743294e-03f, 3.334235945e-03f, 3.327723154e-03f, 3.321204933e-03f, 3.314681294e-03f, 3.308152248e-03f, 3.301617806e-03f,
+3.295077981e-03f, 3.288532783e-03f, 3.281982224e-03f, 3.275426316e-03f, 3.268865071e-03f, 3.262298499e-03f, 3.255726614e-03f, 3.249149425e-03f, 3.242566946e-03f, 3.235979187e-03f,
+3.229386160e-03f, 3.222787877e-03f, 3.216184349e-03f, 3.209575589e-03f, 3.202961607e-03f, 3.196342416e-03f, 3.189718027e-03f, 3.183088452e-03f, 3.176453703e-03f, 3.169813791e-03f,
+3.163168728e-03f, 3.156518526e-03f, 3.149863196e-03f, 3.143202751e-03f, 3.136537202e-03f, 3.129866560e-03f, 3.123190838e-03f, 3.116510048e-03f, 3.109824201e-03f, 3.103133308e-03f,
+3.096437383e-03f, 3.089736436e-03f, 3.083030479e-03f, 3.076319525e-03f, 3.069603585e-03f, 3.062882671e-03f, 3.056156795e-03f, 3.049425968e-03f, 3.042690203e-03f, 3.035949512e-03f,
+3.029203905e-03f, 3.022453396e-03f, 3.015697997e-03f, 3.008937718e-03f, 3.002172572e-03f, 2.995402571e-03f, 2.988627727e-03f, 2.981848052e-03f, 2.975063557e-03f, 2.968274255e-03f,
+2.961480158e-03f, 2.954681277e-03f, 2.947877625e-03f, 2.941069214e-03f, 2.934256055e-03f, 2.927438161e-03f, 2.920615544e-03f, 2.913788215e-03f, 2.906956187e-03f, 2.900119472e-03f,
+2.893278081e-03f, 2.886432027e-03f, 2.879581322e-03f, 2.872725978e-03f, 2.865866007e-03f, 2.859001422e-03f, 2.852132233e-03f, 2.845258454e-03f, 2.838380096e-03f, 2.831497171e-03f,
+2.824609692e-03f, 2.817717671e-03f, 2.810821120e-03f, 2.803920051e-03f, 2.797014476e-03f, 2.790104407e-03f, 2.783189857e-03f, 2.776270837e-03f, 2.769347360e-03f, 2.762419439e-03f,
+2.755487084e-03f, 2.748550309e-03f, 2.741609125e-03f, 2.734663546e-03f, 2.727713582e-03f, 2.720759246e-03f, 2.713800551e-03f, 2.706837509e-03f, 2.699870132e-03f, 2.692898432e-03f,
+2.685922421e-03f, 2.678942112e-03f, 2.671957517e-03f, 2.664968649e-03f, 2.657975519e-03f, 2.650978140e-03f, 2.643976524e-03f, 2.636970684e-03f, 2.629960631e-03f, 2.622946379e-03f,
+2.615927939e-03f, 2.608905323e-03f, 2.601878545e-03f, 2.594847617e-03f, 2.587812550e-03f, 2.580773357e-03f, 2.573730051e-03f, 2.566682644e-03f, 2.559631148e-03f, 2.552575576e-03f,
+2.545515940e-03f, 2.538452252e-03f, 2.531384526e-03f, 2.524312772e-03f, 2.517237005e-03f, 2.510157235e-03f, 2.503073476e-03f, 2.495985740e-03f, 2.488894040e-03f, 2.481798387e-03f,
+2.474698795e-03f, 2.467595275e-03f, 2.460487841e-03f, 2.453376505e-03f, 2.446261278e-03f, 2.439142175e-03f, 2.432019207e-03f, 2.424892386e-03f, 2.417761726e-03f, 2.410627238e-03f,
+2.403488936e-03f, 2.396346832e-03f, 2.389200937e-03f, 2.382051266e-03f, 2.374897830e-03f, 2.367740642e-03f, 2.360579714e-03f, 2.353415060e-03f, 2.346246691e-03f, 2.339074620e-03f,
+2.331898860e-03f, 2.324719423e-03f, 2.317536322e-03f, 2.310349569e-03f, 2.303159178e-03f, 2.295965161e-03f, 2.288767529e-03f, 2.281566297e-03f, 2.274361476e-03f, 2.267153079e-03f,
+2.259941120e-03f, 2.252725609e-03f, 2.245506561e-03f, 2.238283987e-03f, 2.231057901e-03f, 2.223828315e-03f, 2.216595241e-03f, 2.209358693e-03f, 2.202118683e-03f, 2.194875224e-03f,
+2.187628328e-03f, 2.180378008e-03f, 2.173124278e-03f, 2.165867148e-03f, 2.158606633e-03f, 2.151342745e-03f, 2.144075496e-03f, 2.136804900e-03f, 2.129530969e-03f, 2.122253715e-03f,
+2.114973153e-03f, 2.107689293e-03f, 2.100402150e-03f, 2.093111735e-03f, 2.085818063e-03f, 2.078521144e-03f, 2.071220992e-03f, 2.063917621e-03f, 2.056611042e-03f, 2.049301268e-03f,
+2.041988313e-03f, 2.034672189e-03f, 2.027352909e-03f, 2.020030485e-03f, 2.012704930e-03f, 2.005376258e-03f, 1.998044481e-03f, 1.990709612e-03f, 1.983371664e-03f, 1.976030649e-03f,
+1.968686580e-03f, 1.961339471e-03f, 1.953989334e-03f, 1.946636182e-03f, 1.939280027e-03f, 1.931920883e-03f, 1.924558763e-03f, 1.917193679e-03f, 1.909825644e-03f, 1.902454671e-03f,
+1.895080773e-03f, 1.887703964e-03f, 1.880324255e-03f, 1.872941659e-03f, 1.865556190e-03f, 1.858167861e-03f, 1.850776684e-03f, 1.843382672e-03f, 1.835985839e-03f, 1.828586196e-03f,
+1.821183758e-03f, 1.813778537e-03f, 1.806370545e-03f, 1.798959797e-03f, 1.791546304e-03f, 1.784130080e-03f, 1.776711137e-03f, 1.769289490e-03f, 1.761865150e-03f, 1.754438130e-03f,
+1.747008444e-03f, 1.739576104e-03f, 1.732141124e-03f, 1.724703516e-03f, 1.717263294e-03f, 1.709820470e-03f, 1.702375058e-03f, 1.694927070e-03f, 1.687476519e-03f, 1.680023419e-03f,
+1.672567782e-03f, 1.665109621e-03f, 1.657648950e-03f, 1.650185781e-03f, 1.642720128e-03f, 1.635252003e-03f, 1.627781420e-03f, 1.620308391e-03f, 1.612832930e-03f, 1.605355049e-03f,
+1.597874762e-03f, 1.590392082e-03f, 1.582907022e-03f, 1.575419594e-03f, 1.567929812e-03f, 1.560437689e-03f, 1.552943238e-03f, 1.545446472e-03f, 1.537947404e-03f, 1.530446047e-03f,
+1.522942414e-03f, 1.515436519e-03f, 1.507928374e-03f, 1.500417992e-03f, 1.492905387e-03f, 1.485390572e-03f, 1.477873560e-03f, 1.470354363e-03f, 1.462832995e-03f, 1.455309470e-03f,
+1.447783799e-03f, 1.440255997e-03f, 1.432726076e-03f, 1.425194050e-03f, 1.417659931e-03f, 1.410123733e-03f, 1.402585469e-03f, 1.395045152e-03f, 1.387502795e-03f, 1.379958411e-03f,
+1.372412014e-03f, 1.364863616e-03f, 1.357313231e-03f, 1.349760871e-03f, 1.342206551e-03f, 1.334650283e-03f, 1.327092080e-03f, 1.319531955e-03f, 1.311969922e-03f, 1.304405994e-03f,
+1.296840183e-03f, 1.289272504e-03f, 1.281702969e-03f, 1.274131591e-03f, 1.266558384e-03f, 1.258983361e-03f, 1.251406534e-03f, 1.243827918e-03f, 1.236247525e-03f, 1.228665369e-03f,
+1.221081462e-03f, 1.213495818e-03f, 1.205908450e-03f, 1.198319371e-03f, 1.190728595e-03f, 1.183136135e-03f, 1.175542003e-03f, 1.167946214e-03f, 1.160348779e-03f, 1.152749714e-03f,
+1.145149029e-03f, 1.137546740e-03f, 1.129942859e-03f, 1.122337399e-03f, 1.114730374e-03f, 1.107121797e-03f, 1.099511680e-03f, 1.091900038e-03f, 1.084286883e-03f, 1.076672229e-03f,
+1.069056089e-03f, 1.061438476e-03f, 1.053819404e-03f, 1.046198885e-03f, 1.038576933e-03f, 1.030953561e-03f, 1.023328782e-03f, 1.015702610e-03f, 1.008075058e-03f, 1.000446139e-03f,
+9.928158662e-04f, 9.851842531e-04f, 9.775513128e-04f, 9.699170585e-04f, 9.622815037e-04f, 9.546446614e-04f, 9.470065451e-04f, 9.393671678e-04f, 9.317265430e-04f, 9.240846838e-04f,
+9.164416036e-04f, 9.087973155e-04f, 9.011518329e-04f, 8.935051691e-04f, 8.858573373e-04f, 8.782083507e-04f, 8.705582227e-04f, 8.629069665e-04f, 8.552545954e-04f, 8.476011227e-04f,
+8.399465617e-04f, 8.322909256e-04f, 8.246342277e-04f, 8.169764813e-04f, 8.093176998e-04f, 8.016578963e-04f, 7.939970841e-04f, 7.863352766e-04f, 7.786724871e-04f, 7.710087288e-04f,
+7.633440150e-04f, 7.556783590e-04f, 7.480117741e-04f, 7.403442736e-04f, 7.326758708e-04f, 7.250065790e-04f, 7.173364115e-04f, 7.096653816e-04f, 7.019935025e-04f, 6.943207876e-04f,
+6.866472502e-04f, 6.789729035e-04f, 6.712977610e-04f, 6.636218358e-04f, 6.559451413e-04f, 6.482676908e-04f, 6.405894975e-04f, 6.329105749e-04f, 6.252309362e-04f, 6.175505946e-04f,
+6.098695636e-04f, 6.021878564e-04f, 5.945054863e-04f, 5.868224666e-04f, 5.791388107e-04f, 5.714545318e-04f, 5.637696433e-04f, 5.560841585e-04f, 5.483980906e-04f, 5.407114530e-04f,
+5.330242590e-04f, 5.253365219e-04f, 5.176482551e-04f, 5.099594717e-04f, 5.022701852e-04f, 4.945804089e-04f, 4.868901560e-04f, 4.791994399e-04f, 4.715082739e-04f, 4.638166713e-04f,
+4.561246454e-04f, 4.484322095e-04f, 4.407393770e-04f, 4.330461611e-04f, 4.253525752e-04f, 4.176586326e-04f, 4.099643465e-04f, 4.022697304e-04f, 3.945747974e-04f, 3.868795610e-04f,
+3.791840345e-04f, 3.714882311e-04f, 3.637921641e-04f, 3.560958470e-04f, 3.483992929e-04f, 3.407025152e-04f, 3.330055272e-04f, 3.253083423e-04f, 3.176109736e-04f, 3.099134347e-04f,
+3.022157386e-04f, 2.945178989e-04f, 2.868199286e-04f, 2.791218413e-04f, 2.714236502e-04f, 2.637253685e-04f, 2.560270097e-04f, 2.483285869e-04f, 2.406301136e-04f, 2.329316030e-04f,
+2.252330684e-04f, 2.175345231e-04f, 2.098359805e-04f, 2.021374538e-04f, 1.944389563e-04f, 1.867405013e-04f, 1.790421022e-04f, 1.713437723e-04f, 1.636455248e-04f, 1.559473730e-04f,
+1.482493302e-04f, 1.405514098e-04f, 1.328536250e-04f, 1.251559891e-04f, 1.174585154e-04f, 1.097612173e-04f, 1.020641079e-04f, 9.436720066e-05f, 8.667050878e-05f, 7.897404557e-05f,
+7.127782432e-05f, 6.358185831e-05f, 5.588616083e-05f, 4.819074518e-05f, 4.049562462e-05f, 3.280081245e-05f, 2.510632194e-05f, 1.741216638e-05f, 9.718359047e-06f, 2.024913214e-06f,
+-5.668157842e-06f, -1.336084084e-05f, -2.105312252e-05f, -2.874498959e-05f, -3.643642879e-05f, -4.412742685e-05f, -5.181797050e-05f, -5.950804648e-05f, -6.719764151e-05f, -7.488674234e-05f,
+-8.257533570e-05f, -9.026340833e-05f, -9.795094697e-05f, -1.056379384e-04f, -1.133243693e-04f, -1.210102264e-04f, -1.286954965e-04f, -1.363801664e-04f, -1.440642227e-04f, -1.517476523e-04f,
+-1.594304419e-04f, -1.671125783e-04f, -1.747940481e-04f, -1.824748383e-04f, -1.901549354e-04f, -1.978343263e-04f, -2.055129978e-04f, -2.131909367e-04f, -2.208681296e-04f, -2.285445633e-04f,
+-2.362202247e-04f, -2.438951006e-04f, -2.515691776e-04f, -2.592424425e-04f, -2.669148822e-04f, -2.745864835e-04f, -2.822572330e-04f, -2.899271177e-04f, -2.975961242e-04f, -3.052642394e-04f,
+-3.129314501e-04f, -3.205977431e-04f, -3.282631051e-04f, -3.359275230e-04f, -3.435909835e-04f, -3.512534736e-04f, -3.589149799e-04f, -3.665754893e-04f, -3.742349886e-04f, -3.818934646e-04f,
+-3.895509041e-04f, -3.972072940e-04f, -4.048626211e-04f, -4.125168721e-04f, -4.201700340e-04f, -4.278220936e-04f, -4.354730376e-04f, -4.431228529e-04f, -4.507715264e-04f, -4.584190449e-04f,
+-4.660653952e-04f, -4.737105642e-04f, -4.813545387e-04f, -4.889973056e-04f, -4.966388517e-04f, -5.042791639e-04f, -5.119182290e-04f, -5.195560340e-04f, -5.271925656e-04f, -5.348278108e-04f,
+-5.424617563e-04f, -5.500943891e-04f, -5.577256961e-04f, -5.653556641e-04f, -5.729842800e-04f, -5.806115308e-04f, -5.882374032e-04f, -5.958618841e-04f, -6.034849606e-04f, -6.111066194e-04f,
+-6.187268474e-04f, -6.263456317e-04f, -6.339629590e-04f, -6.415788162e-04f, -6.491931904e-04f, -6.568060684e-04f, -6.644174371e-04f, -6.720272834e-04f, -6.796355943e-04f, -6.872423568e-04f,
+-6.948475576e-04f, -7.024511838e-04f, -7.100532223e-04f, -7.176536601e-04f, -7.252524841e-04f, -7.328496812e-04f, -7.404452384e-04f, -7.480391426e-04f, -7.556313809e-04f, -7.632219401e-04f,
+-7.708108072e-04f, -7.783979693e-04f, -7.859834133e-04f, -7.935671261e-04f, -8.011490947e-04f, -8.087293061e-04f, -8.163077474e-04f, -8.238844055e-04f, -8.314592673e-04f, -8.390323200e-04f,
+-8.466035504e-04f, -8.541729457e-04f, -8.617404928e-04f, -8.693061786e-04f, -8.768699904e-04f, -8.844319150e-04f, -8.919919395e-04f, -8.995500509e-04f, -9.071062363e-04f, -9.146604827e-04f,
+-9.222127771e-04f, -9.297631066e-04f, -9.373114582e-04f, -9.448578190e-04f, -9.524021761e-04f, -9.599445164e-04f, -9.674848272e-04f, -9.750230953e-04f, -9.825593080e-04f, -9.900934523e-04f,
+-9.976255153e-04f, -1.005155484e-03f, -1.012683346e-03f, -1.020209087e-03f, -1.027732696e-03f, -1.035254158e-03f, -1.042773462e-03f, -1.050290595e-03f, -1.057805543e-03f, -1.065318293e-03f,
+-1.072828833e-03f, -1.080337150e-03f, -1.087843231e-03f, -1.095347064e-03f, -1.102848634e-03f, -1.110347930e-03f, -1.117844939e-03f, -1.125339647e-03f, -1.132832042e-03f, -1.140322112e-03f,
+-1.147809842e-03f, -1.155295221e-03f, -1.162778236e-03f, -1.170258873e-03f, -1.177737120e-03f, -1.185212965e-03f, -1.192686394e-03f, -1.200157394e-03f, -1.207625953e-03f, -1.215092059e-03f,
+-1.222555697e-03f, -1.230016856e-03f, -1.237475523e-03f, -1.244931684e-03f, -1.252385328e-03f, -1.259836441e-03f, -1.267285011e-03f, -1.274731024e-03f, -1.282174469e-03f, -1.289615332e-03f,
+-1.297053601e-03f, -1.304489263e-03f, -1.311922305e-03f, -1.319352715e-03f, -1.326780479e-03f, -1.334205586e-03f, -1.341628022e-03f, -1.349047775e-03f, -1.356464831e-03f, -1.363879179e-03f,
+-1.371290806e-03f, -1.378699699e-03f, -1.386105845e-03f, -1.393509232e-03f, -1.400909846e-03f, -1.408307676e-03f, -1.415702709e-03f, -1.423094932e-03f, -1.430484332e-03f, -1.437870897e-03f,
+-1.445254614e-03f, -1.452635471e-03f, -1.460013455e-03f, -1.467388553e-03f, -1.474760753e-03f, -1.482130042e-03f, -1.489496407e-03f, -1.496859837e-03f, -1.504220318e-03f, -1.511577837e-03f,
+-1.518932383e-03f, -1.526283943e-03f, -1.533632503e-03f, -1.540978052e-03f, -1.548320578e-03f, -1.555660066e-03f, -1.562996506e-03f, -1.570329884e-03f, -1.577660188e-03f, -1.584987405e-03f,
+-1.592311524e-03f, -1.599632530e-03f, -1.606950413e-03f, -1.614265159e-03f, -1.621576755e-03f, -1.628885191e-03f, -1.636190452e-03f, -1.643492526e-03f, -1.650791402e-03f, -1.658087066e-03f,
+-1.665379506e-03f, -1.672668710e-03f, -1.679954666e-03f, -1.687237360e-03f, -1.694516780e-03f, -1.701792914e-03f, -1.709065750e-03f, -1.716335275e-03f, -1.723601477e-03f, -1.730864343e-03f,
+-1.738123861e-03f, -1.745380019e-03f, -1.752632804e-03f, -1.759882203e-03f, -1.767128205e-03f, -1.774370798e-03f, -1.781609968e-03f, -1.788845703e-03f, -1.796077992e-03f, -1.803306821e-03f,
+-1.810532179e-03f, -1.817754053e-03f, -1.824972431e-03f, -1.832187301e-03f, -1.839398649e-03f, -1.846606465e-03f, -1.853810735e-03f, -1.861011448e-03f, -1.868208590e-03f, -1.875402151e-03f,
+-1.882592117e-03f, -1.889778477e-03f, -1.896961218e-03f, -1.904140327e-03f, -1.911315793e-03f, -1.918487604e-03f, -1.925655747e-03f, -1.932820210e-03f, -1.939980981e-03f, -1.947138047e-03f,
+-1.954291397e-03f, -1.961441018e-03f, -1.968586898e-03f, -1.975729026e-03f, -1.982867388e-03f, -1.990001972e-03f, -1.997132767e-03f, -2.004259761e-03f, -2.011382940e-03f, -2.018502294e-03f,
+-2.025617809e-03f, -2.032729475e-03f, -2.039837278e-03f, -2.046941207e-03f, -2.054041250e-03f, -2.061137394e-03f, -2.068229628e-03f, -2.075317939e-03f, -2.082402315e-03f, -2.089482744e-03f,
+-2.096559215e-03f, -2.103631715e-03f, -2.110700232e-03f, -2.117764755e-03f, -2.124825270e-03f, -2.131881767e-03f, -2.138934233e-03f, -2.145982656e-03f, -2.153027024e-03f, -2.160067325e-03f,
+-2.167103548e-03f, -2.174135680e-03f, -2.181163709e-03f, -2.188187624e-03f, -2.195207412e-03f, -2.202223061e-03f, -2.209234561e-03f, -2.216241898e-03f, -2.223245060e-03f, -2.230244037e-03f,
+-2.237238816e-03f, -2.244229384e-03f, -2.251215731e-03f, -2.258197845e-03f, -2.265175713e-03f, -2.272149323e-03f, -2.279118665e-03f, -2.286083725e-03f, -2.293044493e-03f, -2.300000956e-03f,
+-2.306953103e-03f, -2.313900921e-03f, -2.320844399e-03f, -2.327783526e-03f, -2.334718289e-03f, -2.341648676e-03f, -2.348574677e-03f, -2.355496278e-03f, -2.362413469e-03f, -2.369326238e-03f,
+-2.376234572e-03f, -2.383138461e-03f, -2.390037892e-03f, -2.396932854e-03f, -2.403823335e-03f, -2.410709324e-03f, -2.417590808e-03f, -2.424467776e-03f, -2.431340217e-03f, -2.438208118e-03f,
+-2.445071469e-03f, -2.451930257e-03f, -2.458784470e-03f, -2.465634098e-03f, -2.472479129e-03f, -2.479319550e-03f, -2.486155351e-03f, -2.492986520e-03f, -2.499813045e-03f, -2.506634915e-03f,
+-2.513452117e-03f, -2.520264642e-03f, -2.527072476e-03f, -2.533875609e-03f, -2.540674029e-03f, -2.547467724e-03f, -2.554256683e-03f, -2.561040895e-03f, -2.567820348e-03f, -2.574595030e-03f,
+-2.581364930e-03f, -2.588130036e-03f, -2.594890338e-03f, -2.601645823e-03f, -2.608396481e-03f, -2.615142299e-03f, -2.621883267e-03f, -2.628619373e-03f, -2.635350605e-03f, -2.642076952e-03f,
+-2.648798403e-03f, -2.655514947e-03f, -2.662226571e-03f, -2.668933265e-03f, -2.675635018e-03f, -2.682331817e-03f, -2.689023652e-03f, -2.695710512e-03f, -2.702392384e-03f, -2.709069259e-03f,
+-2.715741123e-03f, -2.722407967e-03f, -2.729069779e-03f, -2.735726547e-03f, -2.742378261e-03f, -2.749024909e-03f, -2.755666479e-03f, -2.762302962e-03f, -2.768934344e-03f, -2.775560616e-03f,
+-2.782181767e-03f, -2.788797783e-03f, -2.795408656e-03f, -2.802014373e-03f, -2.808614923e-03f, -2.815210296e-03f, -2.821800479e-03f, -2.828385463e-03f, -2.834965235e-03f, -2.841539785e-03f,
+-2.848109101e-03f, -2.854673173e-03f, -2.861231990e-03f, -2.867785539e-03f, -2.874333811e-03f, -2.880876794e-03f, -2.887414477e-03f, -2.893946849e-03f, -2.900473900e-03f, -2.906995617e-03f,
+-2.913511991e-03f, -2.920023009e-03f, -2.926528662e-03f, -2.933028937e-03f, -2.939523825e-03f, -2.946013314e-03f, -2.952497393e-03f, -2.958976051e-03f, -2.965449278e-03f, -2.971917062e-03f,
+-2.978379393e-03f, -2.984836259e-03f, -2.991287650e-03f, -2.997733555e-03f, -3.004173963e-03f, -3.010608863e-03f, -3.017038244e-03f, -3.023462096e-03f, -3.029880407e-03f, -3.036293167e-03f,
+-3.042700366e-03f, -3.049101991e-03f, -3.055498032e-03f, -3.061888480e-03f, -3.068273322e-03f, -3.074652548e-03f, -3.081026147e-03f, -3.087394110e-03f, -3.093756424e-03f, -3.100113079e-03f,
+-3.106464064e-03f, -3.112809370e-03f, -3.119148984e-03f, -3.125482897e-03f, -3.131811098e-03f, -3.138133576e-03f, -3.144450320e-03f, -3.150761320e-03f, -3.157066565e-03f, -3.163366044e-03f,
+-3.169659748e-03f, -3.175947665e-03f, -3.182229785e-03f, -3.188506097e-03f, -3.194776591e-03f, -3.201041256e-03f, -3.207300081e-03f, -3.213553056e-03f, -3.219800171e-03f, -3.226041415e-03f,
+-3.232276778e-03f, -3.238506249e-03f, -3.244729817e-03f, -3.250947472e-03f, -3.257159204e-03f, -3.263365002e-03f, -3.269564856e-03f, -3.275758755e-03f, -3.281946689e-03f, -3.288128648e-03f,
+-3.294304621e-03f, -3.300474598e-03f, -3.306638568e-03f, -3.312796521e-03f, -3.318948447e-03f, -3.325094335e-03f, -3.331234175e-03f, -3.337367957e-03f, -3.343495670e-03f, -3.349617305e-03f,
+-3.355732850e-03f, -3.361842297e-03f, -3.367945633e-03f, -3.374042849e-03f, -3.380133936e-03f, -3.386218882e-03f, -3.392297677e-03f, -3.398370312e-03f, -3.404436776e-03f, -3.410497058e-03f,
+-3.416551149e-03f, -3.422599039e-03f, -3.428640717e-03f, -3.434676173e-03f, -3.440705398e-03f, -3.446728380e-03f, -3.452745111e-03f, -3.458755579e-03f, -3.464759775e-03f, -3.470757689e-03f,
+-3.476749310e-03f, -3.482734629e-03f, -3.488713635e-03f, -3.494686319e-03f, -3.500652671e-03f, -3.506612680e-03f, -3.512566336e-03f, -3.518513630e-03f, -3.524454552e-03f, -3.530389091e-03f,
+-3.536317238e-03f, -3.542238983e-03f, -3.548154315e-03f, -3.554063226e-03f, -3.559965704e-03f, -3.565861741e-03f, -3.571751326e-03f, -3.577634449e-03f, -3.583511101e-03f, -3.589381272e-03f,
+-3.595244952e-03f, -3.601102130e-03f, -3.606952799e-03f, -3.612796946e-03f, -3.618634563e-03f, -3.624465641e-03f, -3.630290168e-03f, -3.636108136e-03f, -3.641919535e-03f, -3.647724355e-03f,
+-3.653522586e-03f, -3.659314218e-03f, -3.665099243e-03f, -3.670877650e-03f, -3.676649430e-03f, -3.682414572e-03f, -3.688173068e-03f, -3.693924907e-03f, -3.699670081e-03f, -3.705408579e-03f,
+-3.711140392e-03f, -3.716865510e-03f, -3.722583924e-03f, -3.728295624e-03f, -3.734000601e-03f, -3.739698845e-03f, -3.745390347e-03f, -3.751075097e-03f, -3.756753085e-03f, -3.762424303e-03f,
+-3.768088740e-03f, -3.773746387e-03f, -3.779397236e-03f, -3.785041275e-03f, -3.790678497e-03f, -3.796308891e-03f, -3.801932448e-03f, -3.807549159e-03f, -3.813159014e-03f, -3.818762005e-03f,
+-3.824358121e-03f, -3.829947353e-03f, -3.835529693e-03f, -3.841105130e-03f, -3.846673656e-03f, -3.852235260e-03f, -3.857789935e-03f, -3.863337670e-03f, -3.868878457e-03f, -3.874412286e-03f,
+-3.879939147e-03f, -3.885459033e-03f, -3.890971933e-03f, -3.896477838e-03f, -3.901976740e-03f, -3.907468628e-03f, -3.912953494e-03f, -3.918431329e-03f, -3.923902124e-03f, -3.929365869e-03f,
+-3.934822556e-03f, -3.940272175e-03f, -3.945714717e-03f, -3.951150173e-03f, -3.956578535e-03f, -3.961999792e-03f, -3.967413937e-03f, -3.972820960e-03f, -3.978220852e-03f, -3.983613604e-03f,
+-3.988999207e-03f, -3.994377652e-03f, -3.999748931e-03f, -4.005113034e-03f, -4.010469953e-03f, -4.015819678e-03f, -4.021162200e-03f, -4.026497512e-03f, -4.031825603e-03f, -4.037146465e-03f,
+-4.042460089e-03f, -4.047766467e-03f, -4.053065589e-03f, -4.058357448e-03f, -4.063642033e-03f, -4.068919336e-03f, -4.074189348e-03f, -4.079452062e-03f, -4.084707467e-03f, -4.089955556e-03f,
+-4.095196319e-03f, -4.100429747e-03f, -4.105655833e-03f, -4.110874568e-03f, -4.116085942e-03f, -4.121289947e-03f, -4.126486575e-03f, -4.131675817e-03f, -4.136857664e-03f, -4.142032108e-03f,
+-4.147199140e-03f, -4.152358752e-03f, -4.157510934e-03f, -4.162655679e-03f, -4.167792978e-03f, -4.172922823e-03f, -4.178045205e-03f, -4.183160114e-03f, -4.188267544e-03f, -4.193367486e-03f,
+-4.198459931e-03f, -4.203544870e-03f, -4.208622295e-03f, -4.213692199e-03f, -4.218754572e-03f, -4.223809406e-03f, -4.228856692e-03f, -4.233896423e-03f, -4.238928590e-03f, -4.243953185e-03f,
+-4.248970199e-03f, -4.253979624e-03f, -4.258981452e-03f, -4.263975675e-03f, -4.268962284e-03f, -4.273941270e-03f, -4.278912627e-03f, -4.283876345e-03f, -4.288832417e-03f, -4.293780834e-03f,
+-4.298721588e-03f, -4.303654671e-03f, -4.308580074e-03f, -4.313497791e-03f, -4.318407811e-03f, -4.323310128e-03f, -4.328204733e-03f, -4.333091619e-03f, -4.337970776e-03f, -4.342842198e-03f,
+-4.347705876e-03f, -4.352561802e-03f, -4.357409967e-03f, -4.362250365e-03f, -4.367082987e-03f, -4.371907825e-03f, -4.376724871e-03f, -4.381534117e-03f, -4.386335555e-03f, -4.391129178e-03f,
+-4.395914977e-03f, -4.400692944e-03f, -4.405463073e-03f, -4.410225354e-03f, -4.414979780e-03f, -4.419726343e-03f, -4.424465036e-03f, -4.429195850e-03f, -4.433918778e-03f, -4.438633811e-03f,
+-4.443340943e-03f, -4.448040166e-03f, -4.452731471e-03f, -4.457414851e-03f, -4.462090299e-03f, -4.466757806e-03f, -4.471417365e-03f, -4.476068968e-03f, -4.480712608e-03f, -4.485348277e-03f,
+-4.489975968e-03f, -4.494595672e-03f, -4.499207382e-03f, -4.503811091e-03f, -4.508406791e-03f, -4.512994474e-03f, -4.517574134e-03f, -4.522145762e-03f, -4.526709351e-03f, -4.531264893e-03f,
+-4.535812381e-03f, -4.540351808e-03f, -4.544883166e-03f, -4.549406447e-03f, -4.553921645e-03f, -4.558428752e-03f, -4.562927760e-03f, -4.567418662e-03f, -4.571901450e-03f, -4.576376118e-03f,
+-4.580842658e-03f, -4.585301063e-03f, -4.589751325e-03f, -4.594193437e-03f, -4.598627392e-03f, -4.603053183e-03f, -4.607470801e-03f, -4.611880241e-03f, -4.616281495e-03f, -4.620674556e-03f,
+-4.625059415e-03f, -4.629436068e-03f, -4.633804505e-03f, -4.638164720e-03f, -4.642516706e-03f, -4.646860456e-03f, -4.651195963e-03f, -4.655523219e-03f, -4.659842218e-03f, -4.664152952e-03f,
+-4.668455414e-03f, -4.672749598e-03f, -4.677035496e-03f, -4.681313101e-03f, -4.685582407e-03f, -4.689843406e-03f, -4.694096092e-03f, -4.698340457e-03f, -4.702576495e-03f, -4.706804198e-03f,
+-4.711023560e-03f, -4.715234574e-03f, -4.719437233e-03f, -4.723631530e-03f, -4.727817459e-03f, -4.731995012e-03f, -4.736164183e-03f, -4.740324964e-03f, -4.744477350e-03f, -4.748621333e-03f,
+-4.752756907e-03f, -4.756884064e-03f, -4.761002799e-03f, -4.765113105e-03f, -4.769214974e-03f, -4.773308400e-03f, -4.777393376e-03f, -4.781469897e-03f, -4.785537954e-03f, -4.789597543e-03f,
+-4.793648655e-03f, -4.797691284e-03f, -4.801725424e-03f, -4.805751069e-03f, -4.809768211e-03f, -4.813776845e-03f, -4.817776963e-03f, -4.821768559e-03f, -4.825751627e-03f, -4.829726161e-03f,
+-4.833692153e-03f, -4.837649597e-03f, -4.841598488e-03f, -4.845538818e-03f, -4.849470581e-03f, -4.853393771e-03f, -4.857308381e-03f, -4.861214405e-03f, -4.865111838e-03f, -4.869000671e-03f,
+-4.872880900e-03f, -4.876752518e-03f, -4.880615518e-03f, -4.884469895e-03f, -4.888315641e-03f, -4.892152752e-03f, -4.895981220e-03f, -4.899801040e-03f, -4.903612205e-03f, -4.907414709e-03f,
+-4.911208547e-03f, -4.914993711e-03f, -4.918770196e-03f, -4.922537995e-03f, -4.926297104e-03f, -4.930047514e-03f, -4.933789222e-03f, -4.937522219e-03f, -4.941246501e-03f, -4.944962062e-03f,
+-4.948668894e-03f, -4.952366994e-03f, -4.956056353e-03f, -4.959736968e-03f, -4.963408831e-03f, -4.967071936e-03f, -4.970726278e-03f, -4.974371852e-03f, -4.978008650e-03f, -4.981636667e-03f,
+-4.985255898e-03f, -4.988866336e-03f, -4.992467976e-03f, -4.996060812e-03f, -4.999644838e-03f, -5.003220049e-03f, -5.006786438e-03f, -5.010344000e-03f, -5.013892729e-03f, -5.017432619e-03f,
+-5.020963666e-03f, -5.024485863e-03f, -5.027999204e-03f, -5.031503684e-03f, -5.034999297e-03f, -5.038486038e-03f, -5.041963901e-03f, -5.045432880e-03f, -5.048892970e-03f, -5.052344166e-03f,
+-5.055786461e-03f, -5.059219851e-03f, -5.062644330e-03f, -5.066059892e-03f, -5.069466532e-03f, -5.072864244e-03f, -5.076253024e-03f, -5.079632865e-03f, -5.083003762e-03f, -5.086365710e-03f,
+-5.089718704e-03f, -5.093062737e-03f, -5.096397806e-03f, -5.099723904e-03f, -5.103041025e-03f, -5.106349166e-03f, -5.109648320e-03f, -5.112938483e-03f, -5.116219649e-03f, -5.119491812e-03f,
+-5.122754968e-03f, -5.126009112e-03f, -5.129254238e-03f, -5.132490341e-03f, -5.135717415e-03f, -5.138935457e-03f, -5.142144460e-03f, -5.145344420e-03f, -5.148535332e-03f, -5.151717189e-03f,
+-5.154889988e-03f, -5.158053724e-03f, -5.161208391e-03f, -5.164353984e-03f, -5.167490498e-03f, -5.170617929e-03f, -5.173736271e-03f, -5.176845520e-03f, -5.179945670e-03f, -5.183036717e-03f,
+-5.186118655e-03f, -5.189191481e-03f, -5.192255188e-03f, -5.195309772e-03f, -5.198355229e-03f, -5.201391553e-03f, -5.204418740e-03f, -5.207436785e-03f, -5.210445683e-03f, -5.213445430e-03f,
+-5.216436020e-03f, -5.219417449e-03f, -5.222389712e-03f, -5.225352805e-03f, -5.228306722e-03f, -5.231251460e-03f, -5.234187014e-03f, -5.237113378e-03f, -5.240030549e-03f, -5.242938522e-03f,
+-5.245837291e-03f, -5.248726854e-03f, -5.251607205e-03f, -5.254478339e-03f, -5.257340252e-03f, -5.260192940e-03f, -5.263036398e-03f, -5.265870621e-03f, -5.268695606e-03f, -5.271511348e-03f,
+-5.274317842e-03f, -5.277115084e-03f, -5.279903069e-03f, -5.282681794e-03f, -5.285451254e-03f, -5.288211444e-03f, -5.290962361e-03f, -5.293703999e-03f, -5.296436355e-03f, -5.299159425e-03f,
+-5.301873203e-03f, -5.304577687e-03f, -5.307272871e-03f, -5.309958752e-03f, -5.312635325e-03f, -5.315302586e-03f, -5.317960531e-03f, -5.320609157e-03f, -5.323248457e-03f, -5.325878430e-03f,
+-5.328499070e-03f, -5.331110373e-03f, -5.333712336e-03f, -5.336304955e-03f, -5.338888225e-03f, -5.341462142e-03f, -5.344026702e-03f, -5.346581902e-03f, -5.349127738e-03f, -5.351664204e-03f,
+-5.354191299e-03f, -5.356709017e-03f, -5.359217355e-03f, -5.361716309e-03f, -5.364205875e-03f, -5.366686049e-03f, -5.369156828e-03f, -5.371618207e-03f, -5.374070183e-03f, -5.376512752e-03f,
+-5.378945911e-03f, -5.381369654e-03f, -5.383783980e-03f, -5.386188884e-03f, -5.388584362e-03f, -5.390970411e-03f, -5.393347027e-03f, -5.395714206e-03f, -5.398071946e-03f, -5.400420241e-03f,
+-5.402759089e-03f, -5.405088486e-03f, -5.407408429e-03f, -5.409718913e-03f, -5.412019936e-03f, -5.414311494e-03f, -5.416593583e-03f, -5.418866200e-03f, -5.421129341e-03f, -5.423383003e-03f,
+-5.425627183e-03f, -5.427861878e-03f, -5.430087083e-03f, -5.432302795e-03f, -5.434509011e-03f, -5.436705728e-03f, -5.438892943e-03f, -5.441070651e-03f, -5.443238850e-03f, -5.445397537e-03f,
+-5.447546707e-03f, -5.449686359e-03f, -5.451816489e-03f, -5.453937093e-03f, -5.456048168e-03f, -5.458149711e-03f, -5.460241720e-03f, -5.462324190e-03f, -5.464397119e-03f, -5.466460504e-03f,
+-5.468514341e-03f, -5.470558627e-03f, -5.472593360e-03f, -5.474618536e-03f, -5.476634152e-03f, -5.478640206e-03f, -5.480636694e-03f, -5.482623613e-03f, -5.484600960e-03f, -5.486568733e-03f,
+-5.488526929e-03f, -5.490475543e-03f, -5.492414575e-03f, -5.494344020e-03f, -5.496263876e-03f, -5.498174140e-03f, -5.500074810e-03f, -5.501965881e-03f, -5.503847353e-03f, -5.505719221e-03f,
+-5.507581483e-03f, -5.509434137e-03f, -5.511277179e-03f, -5.513110607e-03f, -5.514934418e-03f, -5.516748610e-03f, -5.518553180e-03f, -5.520348125e-03f, -5.522133442e-03f, -5.523909129e-03f,
+-5.525675184e-03f, -5.527431603e-03f, -5.529178385e-03f, -5.530915526e-03f, -5.532643025e-03f, -5.534360878e-03f, -5.536069083e-03f, -5.537767638e-03f, -5.539456541e-03f, -5.541135788e-03f,
+-5.542805377e-03f, -5.544465306e-03f, -5.546115573e-03f, -5.547756175e-03f, -5.549387110e-03f, -5.551008375e-03f, -5.552619968e-03f, -5.554221887e-03f, -5.555814130e-03f, -5.557396694e-03f,
+-5.558969577e-03f, -5.560532776e-03f, -5.562086290e-03f, -5.563630117e-03f, -5.565164253e-03f, -5.566688698e-03f, -5.568203448e-03f, -5.569708502e-03f, -5.571203858e-03f, -5.572689513e-03f,
+-5.574165465e-03f, -5.575631713e-03f, -5.577088253e-03f, -5.578535085e-03f, -5.579972206e-03f, -5.581399615e-03f, -5.582817308e-03f, -5.584225284e-03f, -5.585623542e-03f, -5.587012079e-03f,
+-5.588390893e-03f, -5.589759983e-03f, -5.591119347e-03f, -5.592468982e-03f, -5.593808887e-03f, -5.595139059e-03f, -5.596459499e-03f, -5.597770202e-03f, -5.599071168e-03f, -5.600362395e-03f,
+-5.601643881e-03f, -5.602915624e-03f, -5.604177623e-03f, -5.605429876e-03f, -5.606672381e-03f, -5.607905137e-03f, -5.609128141e-03f, -5.610341393e-03f, -5.611544890e-03f, -5.612738632e-03f,
+-5.613922616e-03f, -5.615096841e-03f, -5.616261305e-03f, -5.617416007e-03f, -5.618560946e-03f, -5.619696119e-03f, -5.620821526e-03f, -5.621937164e-03f, -5.623043033e-03f, -5.624139131e-03f,
+-5.625225456e-03f, -5.626302008e-03f, -5.627368785e-03f, -5.628425784e-03f, -5.629473006e-03f, -5.630510449e-03f, -5.631538111e-03f, -5.632555992e-03f, -5.633564089e-03f, -5.634562402e-03f,
+-5.635550929e-03f, -5.636529670e-03f, -5.637498622e-03f, -5.638457785e-03f, -5.639407158e-03f, -5.640346739e-03f, -5.641276527e-03f, -5.642196522e-03f, -5.643106721e-03f, -5.644007125e-03f,
+-5.644897731e-03f, -5.645778539e-03f, -5.646649548e-03f, -5.647510757e-03f, -5.648362164e-03f, -5.649203769e-03f, -5.650035571e-03f, -5.650857569e-03f, -5.651669762e-03f, -5.652472148e-03f,
+-5.653264728e-03f, -5.654047500e-03f, -5.654820463e-03f, -5.655583617e-03f, -5.656336960e-03f, -5.657080492e-03f, -5.657814212e-03f, -5.658538119e-03f, -5.659252213e-03f, -5.659956492e-03f,
+-5.660650957e-03f, -5.661335605e-03f, -5.662010437e-03f, -5.662675452e-03f, -5.663330649e-03f, -5.663976028e-03f, -5.664611588e-03f, -5.665237327e-03f, -5.665853247e-03f, -5.666459346e-03f,
+-5.667055623e-03f, -5.667642078e-03f, -5.668218711e-03f, -5.668785520e-03f, -5.669342506e-03f, -5.669889668e-03f, -5.670427006e-03f, -5.670954519e-03f, -5.671472206e-03f, -5.671980067e-03f,
+-5.672478103e-03f, -5.672966312e-03f, -5.673444693e-03f, -5.673913248e-03f, -5.674371975e-03f, -5.674820874e-03f, -5.675259945e-03f, -5.675689188e-03f, -5.676108602e-03f, -5.676518187e-03f,
+-5.676917942e-03f, -5.677307869e-03f, -5.677687965e-03f, -5.678058232e-03f, -5.678418670e-03f, -5.678769277e-03f, -5.679110054e-03f, -5.679441000e-03f, -5.679762116e-03f, -5.680073402e-03f,
+-5.680374858e-03f, -5.680666483e-03f, -5.680948277e-03f, -5.681220241e-03f, -5.681482374e-03f, -5.681734677e-03f, -5.681977149e-03f, -5.682209791e-03f, -5.682432602e-03f, -5.682645584e-03f,
+-5.682848735e-03f, -5.683042056e-03f, -5.683225548e-03f, -5.683399209e-03f, -5.683563042e-03f, -5.683717045e-03f, -5.683861219e-03f, -5.683995564e-03f, -5.684120081e-03f, -5.684234769e-03f,
+-5.684339629e-03f, -5.684434662e-03f, -5.684519867e-03f, -5.684595246e-03f, -5.684660797e-03f, -5.684716522e-03f, -5.684762422e-03f, -5.684798495e-03f, -5.684824744e-03f, -5.684841168e-03f,
+-5.684847767e-03f, -5.684844543e-03f, -5.684831496e-03f, -5.684808626e-03f, -5.684775934e-03f, -5.684733420e-03f, -5.684681084e-03f, -5.684618929e-03f, -5.684546953e-03f, -5.684465158e-03f,
+-5.684373544e-03f, -5.684272112e-03f, -5.684160863e-03f, -5.684039796e-03f, -5.683908914e-03f, -5.683768217e-03f, -5.683617704e-03f, -5.683457378e-03f, -5.683287239e-03f, -5.683107287e-03f,
+-5.682917524e-03f, -5.682717950e-03f, -5.682508566e-03f, -5.682289373e-03f, -5.682060372e-03f, -5.681821563e-03f, -5.681572948e-03f, -5.681314527e-03f, -5.681046302e-03f, -5.680768273e-03f,
+-5.680480442e-03f, -5.680182808e-03f, -5.679875374e-03f, -5.679558140e-03f, -5.679231108e-03f, -5.678894278e-03f, -5.678547651e-03f, -5.678191229e-03f, -5.677825012e-03f, -5.677449002e-03f,
+-5.677063200e-03f, -5.676667607e-03f, -5.676262224e-03f, -5.675847053e-03f, -5.675422094e-03f, -5.674987348e-03f, -5.674542818e-03f, -5.674088504e-03f, -5.673624408e-03f, -5.673150530e-03f,
+-5.672666872e-03f, -5.672173436e-03f, -5.671670222e-03f, -5.671157233e-03f, -5.670634469e-03f, -5.670101932e-03f, -5.669559623e-03f, -5.669007543e-03f, -5.668445695e-03f, -5.667874080e-03f,
+-5.667292698e-03f, -5.666701552e-03f, -5.666100643e-03f, -5.665489972e-03f, -5.664869541e-03f, -5.664239352e-03f, -5.663599407e-03f, -5.662949706e-03f, -5.662290251e-03f, -5.661621044e-03f,
+-5.660942087e-03f, -5.660253381e-03f, -5.659554928e-03f, -5.658846730e-03f, -5.658128788e-03f, -5.657401104e-03f, -5.656663680e-03f, -5.655916517e-03f, -5.655159618e-03f, -5.654392984e-03f,
+-5.653616616e-03f, -5.652830518e-03f, -5.652034690e-03f, -5.651229134e-03f, -5.650413853e-03f, -5.649588847e-03f, -5.648754120e-03f, -5.647909673e-03f, -5.647055508e-03f, -5.646191626e-03f,
+-5.645318031e-03f, -5.644434723e-03f, -5.643541705e-03f, -5.642638979e-03f, -5.641726547e-03f, -5.640804411e-03f, -5.639872573e-03f, -5.638931035e-03f, -5.637979799e-03f, -5.637018868e-03f,
+-5.636048243e-03f, -5.635067926e-03f, -5.634077921e-03f, -5.633078228e-03f, -5.632068851e-03f, -5.631049791e-03f, -5.630021050e-03f, -5.628982632e-03f, -5.627934537e-03f, -5.626876769e-03f,
+-5.625809330e-03f, -5.624732222e-03f, -5.623645448e-03f, -5.622549009e-03f, -5.621442908e-03f, -5.620327148e-03f, -5.619201731e-03f, -5.618066659e-03f, -5.616921935e-03f, -5.615767561e-03f,
+-5.614603540e-03f, -5.613429874e-03f, -5.612246565e-03f, -5.611053617e-03f, -5.609851032e-03f, -5.608638812e-03f, -5.607416960e-03f, -5.606185478e-03f, -5.604944369e-03f, -5.603693636e-03f,
+-5.602433281e-03f, -5.601163308e-03f, -5.599883718e-03f, -5.598594514e-03f, -5.597295699e-03f, -5.595987276e-03f, -5.594669247e-03f, -5.593341616e-03f, -5.592004384e-03f, -5.590657556e-03f,
+-5.589301133e-03f, -5.587935118e-03f, -5.586559514e-03f, -5.585174325e-03f, -5.583779552e-03f, -5.582375200e-03f, -5.580961270e-03f, -5.579537765e-03f, -5.578104689e-03f, -5.576662045e-03f,
+-5.575209835e-03f, -5.573748062e-03f, -5.572276730e-03f, -5.570795842e-03f, -5.569305399e-03f, -5.567805407e-03f, -5.566295867e-03f, -5.564776782e-03f, -5.563248157e-03f, -5.561709993e-03f,
+-5.560162294e-03f, -5.558605063e-03f, -5.557038304e-03f, -5.555462019e-03f, -5.553876212e-03f, -5.552280885e-03f, -5.550676043e-03f, -5.549061688e-03f, -5.547437823e-03f, -5.545804453e-03f,
+-5.544161580e-03f, -5.542509207e-03f, -5.540847338e-03f, -5.539175976e-03f, -5.537495124e-03f, -5.535804786e-03f, -5.534104966e-03f, -5.532395666e-03f, -5.530676890e-03f, -5.528948642e-03f,
+-5.527210925e-03f, -5.525463742e-03f, -5.523707097e-03f, -5.521940993e-03f, -5.520165435e-03f, -5.518380424e-03f, -5.516585966e-03f, -5.514782063e-03f, -5.512968720e-03f, -5.511145939e-03f,
+-5.509313725e-03f, -5.507472080e-03f, -5.505621010e-03f, -5.503760516e-03f, -5.501890604e-03f, -5.500011276e-03f, -5.498122536e-03f, -5.496224389e-03f, -5.494316837e-03f, -5.492399886e-03f,
+-5.490473537e-03f, -5.488537796e-03f, -5.486592665e-03f, -5.484638150e-03f, -5.482674253e-03f, -5.480700979e-03f, -5.478718330e-03f, -5.476726313e-03f, -5.474724929e-03f, -5.472714183e-03f,
+-5.470694080e-03f, -5.468664622e-03f, -5.466625815e-03f, -5.464577661e-03f, -5.462520165e-03f, -5.460453331e-03f, -5.458377163e-03f, -5.456291665e-03f, -5.454196842e-03f, -5.452092696e-03f,
+-5.449979232e-03f, -5.447856455e-03f, -5.445724369e-03f, -5.443582976e-03f, -5.441432283e-03f, -5.439272293e-03f, -5.437103010e-03f, -5.434924438e-03f, -5.432736582e-03f, -5.430539445e-03f,
+-5.428333033e-03f, -5.426117349e-03f, -5.423892397e-03f, -5.421658183e-03f, -5.419414709e-03f, -5.417161982e-03f, -5.414900004e-03f, -5.412628780e-03f, -5.410348315e-03f, -5.408058613e-03f,
+-5.405759679e-03f, -5.403451516e-03f, -5.401134130e-03f, -5.398807524e-03f, -5.396471704e-03f, -5.394126674e-03f, -5.391772438e-03f, -5.389409000e-03f, -5.387036366e-03f, -5.384654540e-03f,
+-5.382263526e-03f, -5.379863329e-03f, -5.377453954e-03f, -5.375035405e-03f, -5.372607687e-03f, -5.370170804e-03f, -5.367724762e-03f, -5.365269564e-03f, -5.362805216e-03f, -5.360331722e-03f,
+-5.357849087e-03f, -5.355357316e-03f, -5.352856413e-03f, -5.350346384e-03f, -5.347827232e-03f, -5.345298963e-03f, -5.342761582e-03f, -5.340215094e-03f, -5.337659503e-03f, -5.335094814e-03f,
+-5.332521032e-03f, -5.329938161e-03f, -5.327346208e-03f, -5.324745177e-03f, -5.322135072e-03f, -5.319515899e-03f, -5.316887663e-03f, -5.314250368e-03f, -5.311604020e-03f, -5.308948624e-03f,
+-5.306284184e-03f, -5.303610706e-03f, -5.300928195e-03f, -5.298236656e-03f, -5.295536094e-03f, -5.292826514e-03f, -5.290107921e-03f, -5.287380320e-03f, -5.284643717e-03f, -5.281898117e-03f,
+-5.279143525e-03f, -5.276379945e-03f, -5.273607384e-03f, -5.270825847e-03f, -5.268035338e-03f, -5.265235863e-03f, -5.262427428e-03f, -5.259610037e-03f, -5.256783696e-03f, -5.253948411e-03f,
+-5.251104186e-03f, -5.248251027e-03f, -5.245388939e-03f, -5.242517928e-03f, -5.239637999e-03f, -5.236749158e-03f, -5.233851409e-03f, -5.230944759e-03f, -5.228029213e-03f, -5.225104776e-03f,
+-5.222171454e-03f, -5.219229252e-03f, -5.216278176e-03f, -5.213318232e-03f, -5.210349424e-03f, -5.207371759e-03f, -5.204385242e-03f, -5.201389878e-03f, -5.198385674e-03f, -5.195372635e-03f,
+-5.192350766e-03f, -5.189320074e-03f, -5.186280563e-03f, -5.183232240e-03f, -5.180175110e-03f, -5.177109180e-03f, -5.174034454e-03f, -5.170950938e-03f, -5.167858639e-03f, -5.164757561e-03f,
+-5.161647712e-03f, -5.158529095e-03f, -5.155401719e-03f, -5.152265587e-03f, -5.149120707e-03f, -5.145967084e-03f, -5.142804723e-03f, -5.139633631e-03f, -5.136453814e-03f, -5.133265278e-03f,
+-5.130068028e-03f, -5.126862070e-03f, -5.123647411e-03f, -5.120424056e-03f, -5.117192012e-03f, -5.113951284e-03f, -5.110701878e-03f, -5.107443801e-03f, -5.104177059e-03f, -5.100901657e-03f,
+-5.097617601e-03f, -5.094324899e-03f, -5.091023556e-03f, -5.087713577e-03f, -5.084394970e-03f, -5.081067740e-03f, -5.077731894e-03f, -5.074387437e-03f, -5.071034376e-03f, -5.067672717e-03f,
+-5.064302467e-03f, -5.060923631e-03f, -5.057536217e-03f, -5.054140229e-03f, -5.050735675e-03f, -5.047322560e-03f, -5.043900892e-03f, -5.040470676e-03f, -5.037031918e-03f, -5.033584626e-03f,
+-5.030128805e-03f, -5.026664462e-03f, -5.023191604e-03f, -5.019710236e-03f, -5.016220365e-03f, -5.012721998e-03f, -5.009215141e-03f, -5.005699800e-03f, -5.002175982e-03f, -4.998643694e-03f,
+-4.995102942e-03f, -4.991553733e-03f, -4.987996072e-03f, -4.984429967e-03f, -4.980855425e-03f, -4.977272451e-03f, -4.973681053e-03f, -4.970081237e-03f, -4.966473009e-03f, -4.962856377e-03f,
+-4.959231347e-03f, -4.955597926e-03f, -4.951956120e-03f, -4.948305936e-03f, -4.944647381e-03f, -4.940980462e-03f, -4.937305185e-03f, -4.933621557e-03f, -4.929929584e-03f, -4.926229275e-03f,
+-4.922520634e-03f, -4.918803670e-03f, -4.915078389e-03f, -4.911344798e-03f, -4.907602904e-03f, -4.903852714e-03f, -4.900094234e-03f, -4.896327471e-03f, -4.892552433e-03f, -4.888769126e-03f,
+-4.884977558e-03f, -4.881177734e-03f, -4.877369663e-03f, -4.873553351e-03f, -4.869728805e-03f, -4.865896032e-03f, -4.862055039e-03f, -4.858205834e-03f, -4.854348423e-03f, -4.850482813e-03f,
+-4.846609012e-03f, -4.842727027e-03f, -4.838836864e-03f, -4.834938530e-03f, -4.831032034e-03f, -4.827117382e-03f, -4.823194581e-03f, -4.819263638e-03f, -4.815324561e-03f, -4.811377357e-03f,
+-4.807422033e-03f, -4.803458596e-03f, -4.799487054e-03f, -4.795507413e-03f, -4.791519682e-03f, -4.787523866e-03f, -4.783519975e-03f, -4.779508014e-03f, -4.775487992e-03f, -4.771459916e-03f,
+-4.767423792e-03f, -4.763379629e-03f, -4.759327433e-03f, -4.755267213e-03f, -4.751198975e-03f, -4.747122727e-03f, -4.743038477e-03f, -4.738946231e-03f, -4.734845998e-03f, -4.730737784e-03f,
+-4.726621598e-03f, -4.722497447e-03f, -4.718365338e-03f, -4.714225279e-03f, -4.710077277e-03f, -4.705921340e-03f, -4.701757476e-03f, -4.697585692e-03f, -4.693405995e-03f, -4.689218394e-03f,
+-4.685022896e-03f, -4.680819508e-03f, -4.676608239e-03f, -4.672389096e-03f, -4.668162086e-03f, -4.663927217e-03f, -4.659684498e-03f, -4.655433935e-03f, -4.651175536e-03f, -4.646909310e-03f,
+-4.642635264e-03f, -4.638353405e-03f, -4.634063742e-03f, -4.629766282e-03f, -4.625461033e-03f, -4.621148003e-03f, -4.616827200e-03f, -4.612498631e-03f, -4.608162305e-03f, -4.603818229e-03f,
+-4.599466412e-03f, -4.595106860e-03f, -4.590739583e-03f, -4.586364587e-03f, -4.581981882e-03f, -4.577591474e-03f, -4.573193372e-03f, -4.568787584e-03f, -4.564374118e-03f, -4.559952981e-03f,
+-4.555524183e-03f, -4.551087730e-03f, -4.546643631e-03f, -4.542191894e-03f, -4.537732527e-03f, -4.533265538e-03f, -4.528790935e-03f, -4.524308726e-03f, -4.519818920e-03f, -4.515321525e-03f,
+-4.510816548e-03f, -4.506303998e-03f, -4.501783883e-03f, -4.497256211e-03f, -4.492720990e-03f, -4.488178230e-03f, -4.483627937e-03f, -4.479070120e-03f, -4.474504787e-03f, -4.469931947e-03f,
+-4.465351607e-03f, -4.460763777e-03f, -4.456168464e-03f, -4.451565677e-03f, -4.446955424e-03f, -4.442337714e-03f, -4.437712554e-03f, -4.433079953e-03f, -4.428439919e-03f, -4.423792462e-03f,
+-4.419137588e-03f, -4.414475307e-03f, -4.409805628e-03f, -4.405128558e-03f, -4.400444105e-03f, -4.395752279e-03f, -4.391053088e-03f, -4.386346541e-03f, -4.381632645e-03f, -4.376911409e-03f,
+-4.372182843e-03f, -4.367446953e-03f, -4.362703750e-03f, -4.357953241e-03f, -4.353195436e-03f, -4.348430341e-03f, -4.343657968e-03f, -4.338878323e-03f, -4.334091415e-03f, -4.329297254e-03f,
+-4.324495847e-03f, -4.319687203e-03f, -4.314871332e-03f, -4.310048242e-03f, -4.305217940e-03f, -4.300380437e-03f, -4.295535741e-03f, -4.290683860e-03f, -4.285824804e-03f, -4.280958581e-03f,
+-4.276085199e-03f, -4.271204668e-03f, -4.266316997e-03f, -4.261422193e-03f, -4.256520267e-03f, -4.251611226e-03f, -4.246695080e-03f, -4.241771837e-03f, -4.236841507e-03f, -4.231904098e-03f,
+-4.226959619e-03f, -4.222008079e-03f, -4.217049487e-03f, -4.212083851e-03f, -4.207111182e-03f, -4.202131486e-03f, -4.197144775e-03f, -4.192151056e-03f, -4.187150339e-03f, -4.182142632e-03f,
+-4.177127945e-03f, -4.172106286e-03f, -4.167077665e-03f, -4.162042090e-03f, -4.156999571e-03f, -4.151950116e-03f, -4.146893736e-03f, -4.141830438e-03f, -4.136760232e-03f, -4.131683127e-03f,
+-4.126599132e-03f, -4.121508257e-03f, -4.116410510e-03f, -4.111305900e-03f, -4.106194437e-03f, -4.101076130e-03f, -4.095950988e-03f, -4.090819020e-03f, -4.085680236e-03f, -4.080534644e-03f,
+-4.075382254e-03f, -4.070223076e-03f, -4.065057117e-03f, -4.059884389e-03f, -4.054704899e-03f, -4.049518657e-03f, -4.044325673e-03f, -4.039125956e-03f, -4.033919514e-03f, -4.028706358e-03f,
+-4.023486497e-03f, -4.018259940e-03f, -4.013026697e-03f, -4.007786776e-03f, -4.002540188e-03f, -3.997286941e-03f, -3.992027045e-03f, -3.986760510e-03f, -3.981487344e-03f, -3.976207558e-03f,
+-3.970921160e-03f, -3.965628161e-03f, -3.960328570e-03f, -3.955022395e-03f, -3.949709648e-03f, -3.944390336e-03f, -3.939064470e-03f, -3.933732060e-03f, -3.928393114e-03f, -3.923047642e-03f,
+-3.917695654e-03f, -3.912337160e-03f, -3.906972168e-03f, -3.901600690e-03f, -3.896222733e-03f, -3.890838308e-03f, -3.885447425e-03f, -3.880050093e-03f, -3.874646321e-03f, -3.869236120e-03f,
+-3.863819498e-03f, -3.858396467e-03f, -3.852967035e-03f, -3.847531212e-03f, -3.842089007e-03f, -3.836640432e-03f, -3.831185494e-03f, -3.825724204e-03f, -3.820256573e-03f, -3.814782608e-03f,
+-3.809302321e-03f, -3.803815721e-03f, -3.798322818e-03f, -3.792823621e-03f, -3.787318141e-03f, -3.781806387e-03f, -3.776288369e-03f, -3.770764097e-03f, -3.765233581e-03f, -3.759696830e-03f,
+-3.754153855e-03f, -3.748604666e-03f, -3.743049271e-03f, -3.737487682e-03f, -3.731919908e-03f, -3.726345960e-03f, -3.720765846e-03f, -3.715179577e-03f, -3.709587163e-03f, -3.703988614e-03f,
+-3.698383939e-03f, -3.692773150e-03f, -3.687156255e-03f, -3.681533265e-03f, -3.675904190e-03f, -3.670269040e-03f, -3.664627824e-03f, -3.658980554e-03f, -3.653327239e-03f, -3.647667888e-03f,
+-3.642002513e-03f, -3.636331123e-03f, -3.630653729e-03f, -3.624970340e-03f, -3.619280966e-03f, -3.613585618e-03f, -3.607884306e-03f, -3.602177040e-03f, -3.596463830e-03f, -3.590744686e-03f,
+-3.585019619e-03f, -3.579288638e-03f, -3.573551754e-03f, -3.567808977e-03f, -3.562060318e-03f, -3.556305786e-03f, -3.550545391e-03f, -3.544779145e-03f, -3.539007056e-03f, -3.533229137e-03f,
+-3.527445396e-03f, -3.521655843e-03f, -3.515860491e-03f, -3.510059348e-03f, -3.504252424e-03f, -3.498439731e-03f, -3.492621279e-03f, -3.486797077e-03f, -3.480967137e-03f, -3.475131468e-03f,
+-3.469290081e-03f, -3.463442987e-03f, -3.457590195e-03f, -3.451731717e-03f, -3.445867561e-03f, -3.439997740e-03f, -3.434122263e-03f, -3.428241141e-03f, -3.422354385e-03f, -3.416462004e-03f,
+-3.410564009e-03f, -3.404660410e-03f, -3.398751219e-03f, -3.392836445e-03f, -3.386916099e-03f, -3.380990192e-03f, -3.375058734e-03f, -3.369121736e-03f, -3.363179208e-03f, -3.357231160e-03f,
+-3.351277604e-03f, -3.345318549e-03f, -3.339354007e-03f, -3.333383987e-03f, -3.327408502e-03f, -3.321427560e-03f, -3.315441173e-03f, -3.309449351e-03f, -3.303452105e-03f, -3.297449446e-03f,
+-3.291441384e-03f, -3.285427930e-03f, -3.279409095e-03f, -3.273384888e-03f, -3.267355322e-03f, -3.261320406e-03f, -3.255280151e-03f, -3.249234568e-03f, -3.243183668e-03f, -3.237127461e-03f,
+-3.231065958e-03f, -3.224999170e-03f, -3.218927108e-03f, -3.212849782e-03f, -3.206767203e-03f, -3.200679382e-03f, -3.194586329e-03f, -3.188488056e-03f, -3.182384573e-03f, -3.176275892e-03f,
+-3.170162022e-03f, -3.164042974e-03f, -3.157918760e-03f, -3.151789390e-03f, -3.145654876e-03f, -3.139515227e-03f, -3.133370456e-03f, -3.127220572e-03f, -3.121065587e-03f, -3.114905511e-03f,
+-3.108740355e-03f, -3.102570131e-03f, -3.096394849e-03f, -3.090214521e-03f, -3.084029156e-03f, -3.077838766e-03f, -3.071643362e-03f, -3.065442956e-03f, -3.059237557e-03f, -3.053027176e-03f,
+-3.046811826e-03f, -3.040591516e-03f, -3.034366258e-03f, -3.028136063e-03f, -3.021900942e-03f, -3.015660906e-03f, -3.009415965e-03f, -3.003166131e-03f, -2.996911415e-03f, -2.990651828e-03f,
+-2.984387381e-03f, -2.978118085e-03f, -2.971843951e-03f, -2.965564991e-03f, -2.959281215e-03f, -2.952992634e-03f, -2.946699259e-03f, -2.940401103e-03f, -2.934098175e-03f, -2.927790487e-03f,
+-2.921478049e-03f, -2.915160874e-03f, -2.908838973e-03f, -2.902512355e-03f, -2.896181034e-03f, -2.889845019e-03f, -2.883504322e-03f, -2.877158954e-03f, -2.870808927e-03f, -2.864454251e-03f,
+-2.858094937e-03f, -2.851730998e-03f, -2.845362444e-03f, -2.838989287e-03f, -2.832611537e-03f, -2.826229206e-03f, -2.819842305e-03f, -2.813450845e-03f, -2.807054839e-03f, -2.800654296e-03f,
+-2.794249228e-03f, -2.787839647e-03f, -2.781425564e-03f, -2.775006990e-03f, -2.768583937e-03f, -2.762156415e-03f, -2.755724436e-03f, -2.749288012e-03f, -2.742847154e-03f, -2.736401873e-03f,
+-2.729952180e-03f, -2.723498087e-03f, -2.717039605e-03f, -2.710576746e-03f, -2.704109521e-03f, -2.697637941e-03f, -2.691162018e-03f, -2.684681763e-03f, -2.678197188e-03f, -2.671708304e-03f,
+-2.665215122e-03f, -2.658717654e-03f, -2.652215911e-03f, -2.645709905e-03f, -2.639199647e-03f, -2.632685149e-03f, -2.626166422e-03f, -2.619643477e-03f, -2.613116327e-03f, -2.606584982e-03f,
+-2.600049454e-03f, -2.593509755e-03f, -2.586965896e-03f, -2.580417888e-03f, -2.573865744e-03f, -2.567309474e-03f, -2.560749090e-03f, -2.554184604e-03f, -2.547616027e-03f, -2.541043370e-03f,
+-2.534466647e-03f, -2.527885867e-03f, -2.521301042e-03f, -2.514712185e-03f, -2.508119306e-03f, -2.501522417e-03f, -2.494921531e-03f, -2.488316657e-03f, -2.481707809e-03f, -2.475094997e-03f,
+-2.468478234e-03f, -2.461857531e-03f, -2.455232899e-03f, -2.448604350e-03f, -2.441971896e-03f, -2.435335548e-03f, -2.428695319e-03f, -2.422051219e-03f, -2.415403261e-03f, -2.408751456e-03f,
+-2.402095816e-03f, -2.395436352e-03f, -2.388773077e-03f, -2.382106002e-03f, -2.375435138e-03f, -2.368760497e-03f, -2.362082092e-03f, -2.355399933e-03f, -2.348714033e-03f, -2.342024403e-03f,
+-2.335331055e-03f, -2.328634001e-03f, -2.321933252e-03f, -2.315228821e-03f, -2.308520718e-03f, -2.301808957e-03f, -2.295093547e-03f, -2.288374503e-03f, -2.281651834e-03f, -2.274925554e-03f,
+-2.268195673e-03f, -2.261462204e-03f, -2.254725158e-03f, -2.247984547e-03f, -2.241240383e-03f, -2.234492678e-03f, -2.227741444e-03f, -2.220986692e-03f, -2.214228435e-03f, -2.207466684e-03f,
+-2.200701451e-03f, -2.193932747e-03f, -2.187160586e-03f, -2.180384978e-03f, -2.173605936e-03f, -2.166823471e-03f, -2.160037596e-03f, -2.153248322e-03f, -2.146455660e-03f, -2.139659624e-03f,
+-2.132860225e-03f, -2.126057475e-03f, -2.119251385e-03f, -2.112441968e-03f, -2.105629236e-03f, -2.098813200e-03f, -2.091993872e-03f, -2.085171266e-03f, -2.078345391e-03f, -2.071516261e-03f,
+-2.064683887e-03f, -2.057848281e-03f, -2.051009456e-03f, -2.044167423e-03f, -2.037322194e-03f, -2.030473781e-03f, -2.023622196e-03f, -2.016767452e-03f, -2.009909560e-03f, -2.003048532e-03f,
+-1.996184380e-03f, -1.989317116e-03f, -1.982446752e-03f, -1.975573301e-03f, -1.968696774e-03f, -1.961817183e-03f, -1.954934541e-03f, -1.948048859e-03f, -1.941160150e-03f, -1.934268425e-03f,
+-1.927373696e-03f, -1.920475976e-03f, -1.913575277e-03f, -1.906671610e-03f, -1.899764989e-03f, -1.892855424e-03f, -1.885942928e-03f, -1.879027514e-03f, -1.872109192e-03f, -1.865187976e-03f,
+-1.858263877e-03f, -1.851336908e-03f, -1.844407080e-03f, -1.837474406e-03f, -1.830538897e-03f, -1.823600567e-03f, -1.816659427e-03f, -1.809715489e-03f, -1.802768765e-03f, -1.795819268e-03f,
+-1.788867009e-03f, -1.781912001e-03f, -1.774954256e-03f, -1.767993786e-03f, -1.761030604e-03f, -1.754064721e-03f, -1.747096149e-03f, -1.740124901e-03f, -1.733150989e-03f, -1.726174426e-03f,
+-1.719195222e-03f, -1.712213391e-03f, -1.705228945e-03f, -1.698241896e-03f, -1.691252256e-03f, -1.684260037e-03f, -1.677265251e-03f, -1.670267911e-03f, -1.663268030e-03f, -1.656265618e-03f,
+-1.649260689e-03f, -1.642253254e-03f, -1.635243326e-03f, -1.628230918e-03f, -1.621216040e-03f, -1.614198707e-03f, -1.607178929e-03f, -1.600156719e-03f, -1.593132089e-03f, -1.586105052e-03f,
+-1.579075620e-03f, -1.572043805e-03f, -1.565009619e-03f, -1.557973075e-03f, -1.550934185e-03f, -1.543892961e-03f, -1.536849415e-03f, -1.529803560e-03f, -1.522755409e-03f, -1.515704972e-03f,
+-1.508652264e-03f, -1.501597295e-03f, -1.494540078e-03f, -1.487480626e-03f, -1.480418951e-03f, -1.473355065e-03f, -1.466288981e-03f, -1.459220710e-03f, -1.452150266e-03f, -1.445077659e-03f,
+-1.438002904e-03f, -1.430926012e-03f, -1.423846995e-03f, -1.416765866e-03f, -1.409682637e-03f, -1.402597321e-03f, -1.395509929e-03f, -1.388420475e-03f, -1.381328970e-03f, -1.374235426e-03f,
+-1.367139858e-03f, -1.360042275e-03f, -1.352942692e-03f, -1.345841120e-03f, -1.338737572e-03f, -1.331632059e-03f, -1.324524595e-03f, -1.317415192e-03f, -1.310303862e-03f, -1.303190618e-03f,
+-1.296075472e-03f, -1.288958436e-03f, -1.281839523e-03f, -1.274718744e-03f, -1.267596114e-03f, -1.260471643e-03f, -1.253345345e-03f, -1.246217231e-03f, -1.239087315e-03f, -1.231955608e-03f,
+-1.224822123e-03f, -1.217686872e-03f, -1.210549868e-03f, -1.203411124e-03f, -1.196270651e-03f, -1.189128462e-03f, -1.181984570e-03f, -1.174838986e-03f, -1.167691724e-03f, -1.160542796e-03f,
+-1.153392213e-03f, -1.146239990e-03f, -1.139086138e-03f, -1.131930669e-03f, -1.124773596e-03f, -1.117614931e-03f, -1.110454688e-03f, -1.103292877e-03f, -1.096129513e-03f, -1.088964607e-03f,
+-1.081798171e-03f, -1.074630218e-03f, -1.067460762e-03f, -1.060289813e-03f, -1.053117385e-03f, -1.045943489e-03f, -1.038768140e-03f, -1.031591348e-03f, -1.024413126e-03f, -1.017233488e-03f,
+-1.010052445e-03f, -1.002870009e-03f, -9.956861943e-04f, -9.885010121e-04f, -9.813144752e-04f, -9.741265961e-04f, -9.669373872e-04f, -9.597468611e-04f, -9.525550302e-04f, -9.453619070e-04f,
+-9.381675041e-04f, -9.309718339e-04f, -9.237749089e-04f, -9.165767416e-04f, -9.093773445e-04f, -9.021767301e-04f, -8.949749110e-04f, -8.877718996e-04f, -8.805677084e-04f, -8.733623499e-04f,
+-8.661558367e-04f, -8.589481812e-04f, -8.517393960e-04f, -8.445294936e-04f, -8.373184865e-04f, -8.301063871e-04f, -8.228932081e-04f, -8.156789619e-04f, -8.084636611e-04f, -8.012473182e-04f,
+-7.940299457e-04f, -7.868115560e-04f, -7.795921619e-04f, -7.723717757e-04f, -7.651504100e-04f, -7.579280773e-04f, -7.507047902e-04f, -7.434805611e-04f, -7.362554027e-04f, -7.290293274e-04f,
+-7.218023477e-04f, -7.145744763e-04f, -7.073457256e-04f, -7.001161082e-04f, -6.928856366e-04f, -6.856543234e-04f, -6.784221810e-04f, -6.711892221e-04f, -6.639554591e-04f, -6.567209046e-04f,
+-6.494855711e-04f, -6.422494713e-04f, -6.350126175e-04f, -6.277750225e-04f, -6.205366986e-04f, -6.132976585e-04f, -6.060579147e-04f, -5.988174797e-04f, -5.915763661e-04f, -5.843345865e-04f,
+-5.770921533e-04f, -5.698490791e-04f, -5.626053766e-04f, -5.553610581e-04f, -5.481161364e-04f, -5.408706238e-04f, -5.336245331e-04f, -5.263778766e-04f, -5.191306670e-04f, -5.118829169e-04f,
+-5.046346387e-04f, -4.973858450e-04f, -4.901365484e-04f, -4.828867615e-04f, -4.756364967e-04f, -4.683857667e-04f, -4.611345839e-04f, -4.538829610e-04f, -4.466309104e-04f, -4.393784448e-04f,
+-4.321255767e-04f, -4.248723187e-04f, -4.176186832e-04f, -4.103646829e-04f, -4.031103304e-04f, -3.958556380e-04f, -3.886006185e-04f, -3.813452844e-04f, -3.740896481e-04f, -3.668337224e-04f,
+-3.595775196e-04f, -3.523210525e-04f, -3.450643334e-04f, -3.378073751e-04f, -3.305501900e-04f, -3.232927906e-04f, -3.160351896e-04f, -3.087773995e-04f, -3.015194328e-04f, -2.942613022e-04f,
+-2.870030200e-04f, -2.797445990e-04f, -2.724860516e-04f, -2.652273903e-04f, -2.579686279e-04f, -2.507097767e-04f, -2.434508493e-04f, -2.361918583e-04f, -2.289328162e-04f, -2.216737356e-04f,
+-2.144146291e-04f, -2.071555091e-04f, -1.998963882e-04f, -1.926372789e-04f, -1.853781939e-04f, -1.781191456e-04f, -1.708601466e-04f, -1.636012094e-04f, -1.563423465e-04f, -1.490835706e-04f,
+-1.418248941e-04f, -1.345663296e-04f, -1.273078896e-04f, -1.200495867e-04f, -1.127914333e-04f, -1.055334421e-04f, -9.827562555e-05f, -9.101799618e-05f, -8.376056654e-05f, -7.650334915e-05f,
+-6.924635654e-05f, -6.198960126e-05f, -5.473309581e-05f, -4.747685274e-05f, -4.022088456e-05f, -3.296520381e-05f, -2.570982300e-05f, -1.845475466e-05f, -1.120001131e-05f, -3.945605472e-06f,
+3.308450339e-06f, 1.056214360e-05f, 1.781546180e-05f, 2.506839242e-05f, 3.232092294e-05f, 3.957304086e-05f, 4.682473366e-05f, 5.407598883e-05f, 6.132679386e-05f, 6.857713625e-05f,
+7.582700349e-05f, 8.307638307e-05f, 9.032526250e-05f, 9.757362926e-05f, 1.048214709e-04f, 1.120687748e-04f, 1.193155286e-04f, 1.265617197e-04f, 1.338073357e-04f, 1.410523641e-04f,
+1.482967923e-04f, 1.555406079e-04f, 1.627837984e-04f, 1.700263513e-04f, 1.772682541e-04f, 1.845094944e-04f, 1.917500597e-04f, 1.989899374e-04f, 2.062291151e-04f, 2.134675804e-04f,
+2.207053207e-04f, 2.279423236e-04f, 2.351785766e-04f, 2.424140673e-04f, 2.496487832e-04f, 2.568827118e-04f, 2.641158406e-04f, 2.713481572e-04f, 2.785796492e-04f, 2.858103041e-04f,
+2.930401094e-04f, 3.002690527e-04f, 3.074971215e-04f, 3.147243034e-04f, 3.219505859e-04f, 3.291759567e-04f, 3.364004032e-04f, 3.436239130e-04f, 3.508464737e-04f, 3.580680728e-04f,
+3.652886980e-04f, 3.725083367e-04f, 3.797269766e-04f, 3.869446052e-04f, 3.941612102e-04f, 4.013767790e-04f, 4.085912993e-04f, 4.158047586e-04f, 4.230171446e-04f, 4.302284449e-04f,
+4.374386469e-04f, 4.446477384e-04f, 4.518557069e-04f, 4.590625400e-04f, 4.662682254e-04f, 4.734727505e-04f, 4.806761031e-04f, 4.878782708e-04f, 4.950792411e-04f, 5.022790016e-04f,
+5.094775401e-04f, 5.166748441e-04f, 5.238709012e-04f, 5.310656990e-04f, 5.382592252e-04f, 5.454514675e-04f, 5.526424134e-04f, 5.598320506e-04f, 5.670203668e-04f, 5.742073495e-04f,
+5.813929864e-04f, 5.885772653e-04f, 5.957601736e-04f, 6.029416991e-04f, 6.101218295e-04f, 6.173005523e-04f, 6.244778554e-04f, 6.316537262e-04f, 6.388281526e-04f, 6.460011221e-04f,
+6.531726224e-04f, 6.603426414e-04f, 6.675111665e-04f, 6.746781855e-04f, 6.818436861e-04f, 6.890076560e-04f, 6.961700828e-04f, 7.033309544e-04f, 7.104902583e-04f, 7.176479823e-04f,
+7.248041141e-04f, 7.319586414e-04f, 7.391115519e-04f, 7.462628334e-04f, 7.534124735e-04f, 7.605604600e-04f, 7.677067806e-04f, 7.748514231e-04f, 7.819943752e-04f, 7.891356246e-04f,
+7.962751590e-04f, 8.034129663e-04f, 8.105490341e-04f, 8.176833503e-04f, 8.248159026e-04f, 8.319466787e-04f, 8.390756664e-04f, 8.462028534e-04f, 8.533282276e-04f, 8.604517768e-04f,
+8.675734887e-04f, 8.746933510e-04f, 8.818113516e-04f, 8.889274783e-04f, 8.960417188e-04f, 9.031540611e-04f, 9.102644927e-04f, 9.173730017e-04f, 9.244795757e-04f, 9.315842026e-04f,
+9.386868703e-04f, 9.457875665e-04f, 9.528862790e-04f, 9.599829958e-04f, 9.670777046e-04f, 9.741703932e-04f, 9.812610496e-04f, 9.883496615e-04f, 9.954362168e-04f, 1.002520703e-03f,
+1.009603109e-03f, 1.016683422e-03f, 1.023761629e-03f, 1.030837720e-03f, 1.037911681e-03f, 1.044983500e-03f, 1.052053166e-03f, 1.059120666e-03f, 1.066185988e-03f, 1.073249120e-03f,
+1.080310051e-03f, 1.087368767e-03f, 1.094425257e-03f, 1.101479508e-03f, 1.108531509e-03f, 1.115581248e-03f, 1.122628712e-03f, 1.129673890e-03f, 1.136716769e-03f, 1.143757337e-03f,
+1.150795582e-03f, 1.157831493e-03f, 1.164865056e-03f, 1.171896261e-03f, 1.178925095e-03f, 1.185951546e-03f, 1.192975602e-03f, 1.199997251e-03f, 1.207016481e-03f, 1.214033279e-03f,
+1.221047635e-03f, 1.228059536e-03f, 1.235068970e-03f, 1.242075924e-03f, 1.249080388e-03f, 1.256082349e-03f, 1.263081794e-03f, 1.270078713e-03f, 1.277073093e-03f, 1.284064922e-03f,
+1.291054188e-03f, 1.298040879e-03f, 1.305024984e-03f, 1.312006490e-03f, 1.318985385e-03f, 1.325961658e-03f, 1.332935296e-03f, 1.339906288e-03f, 1.346874622e-03f, 1.353840285e-03f,
+1.360803267e-03f, 1.367763554e-03f, 1.374721135e-03f, 1.381675999e-03f, 1.388628133e-03f, 1.395577525e-03f, 1.402524164e-03f, 1.409468038e-03f, 1.416409134e-03f, 1.423347441e-03f,
+1.430282948e-03f, 1.437215642e-03f, 1.444145511e-03f, 1.451072543e-03f, 1.457996728e-03f, 1.464918052e-03f, 1.471836505e-03f, 1.478752074e-03f, 1.485664747e-03f, 1.492574513e-03f,
+1.499481360e-03f, 1.506385276e-03f, 1.513286250e-03f, 1.520184269e-03f, 1.527079321e-03f, 1.533971396e-03f, 1.540860481e-03f, 1.547746564e-03f, 1.554629635e-03f, 1.561509680e-03f,
+1.568386688e-03f, 1.575260648e-03f, 1.582131547e-03f, 1.588999375e-03f, 1.595864119e-03f, 1.602725768e-03f, 1.609584309e-03f, 1.616439732e-03f, 1.623292024e-03f, 1.630141174e-03f,
+1.636987170e-03f, 1.643830001e-03f, 1.650669655e-03f, 1.657506119e-03f, 1.664339384e-03f, 1.671169436e-03f, 1.677996264e-03f, 1.684819857e-03f, 1.691640202e-03f, 1.698457289e-03f,
+1.705271106e-03f, 1.712081641e-03f, 1.718888882e-03f, 1.725692818e-03f, 1.732493438e-03f, 1.739290729e-03f, 1.746084680e-03f, 1.752875279e-03f, 1.759662516e-03f, 1.766446378e-03f,
+1.773226854e-03f, 1.780003932e-03f, 1.786777601e-03f, 1.793547849e-03f, 1.800314665e-03f, 1.807078036e-03f, 1.813837953e-03f, 1.820594402e-03f, 1.827347374e-03f, 1.834096855e-03f,
+1.840842835e-03f, 1.847585302e-03f, 1.854324245e-03f, 1.861059651e-03f, 1.867791511e-03f, 1.874519812e-03f, 1.881244543e-03f, 1.887965692e-03f, 1.894683248e-03f, 1.901397199e-03f,
+1.908107535e-03f, 1.914814243e-03f, 1.921517312e-03f, 1.928216732e-03f, 1.934912489e-03f, 1.941604574e-03f, 1.948292974e-03f, 1.954977679e-03f, 1.961658677e-03f, 1.968335956e-03f,
+1.975009505e-03f, 1.981679314e-03f, 1.988345369e-03f, 1.995007661e-03f, 2.001666178e-03f, 2.008320908e-03f, 2.014971841e-03f, 2.021618964e-03f, 2.028262267e-03f, 2.034901739e-03f,
+2.041537367e-03f, 2.048169141e-03f, 2.054797050e-03f, 2.061421082e-03f, 2.068041225e-03f, 2.074657470e-03f, 2.081269804e-03f, 2.087878216e-03f, 2.094482696e-03f, 2.101083231e-03f,
+2.107679810e-03f, 2.114272423e-03f, 2.120861059e-03f, 2.127445705e-03f, 2.134026351e-03f, 2.140602986e-03f, 2.147175598e-03f, 2.153744176e-03f, 2.160308710e-03f, 2.166869187e-03f,
+2.173425598e-03f, 2.179977930e-03f, 2.186526173e-03f, 2.193070315e-03f, 2.199610346e-03f, 2.206146254e-03f, 2.212678029e-03f, 2.219205658e-03f, 2.225729131e-03f, 2.232248438e-03f,
+2.238763566e-03f, 2.245274506e-03f, 2.251781245e-03f, 2.258283772e-03f, 2.264782078e-03f, 2.271276151e-03f, 2.277765979e-03f, 2.284251551e-03f, 2.290732858e-03f, 2.297209887e-03f,
+2.303682628e-03f, 2.310151070e-03f, 2.316615202e-03f, 2.323075012e-03f, 2.329530490e-03f, 2.335981626e-03f, 2.342428407e-03f, 2.348870823e-03f, 2.355308864e-03f, 2.361742518e-03f,
+2.368171774e-03f, 2.374596622e-03f, 2.381017050e-03f, 2.387433048e-03f, 2.393844605e-03f, 2.400251710e-03f, 2.406654352e-03f, 2.413052520e-03f, 2.419446204e-03f, 2.425835392e-03f,
+2.432220074e-03f, 2.438600239e-03f, 2.444975877e-03f, 2.451346975e-03f, 2.457713525e-03f, 2.464075514e-03f, 2.470432932e-03f, 2.476785769e-03f, 2.483134013e-03f, 2.489477653e-03f,
+2.495816680e-03f, 2.502151083e-03f, 2.508480849e-03f, 2.514805970e-03f, 2.521126434e-03f, 2.527442231e-03f, 2.533753349e-03f, 2.540059778e-03f, 2.546361508e-03f, 2.552658528e-03f,
+2.558950827e-03f, 2.565238395e-03f, 2.571521220e-03f, 2.577799293e-03f, 2.584072602e-03f, 2.590341138e-03f, 2.596604889e-03f, 2.602863844e-03f, 2.609117994e-03f, 2.615367328e-03f,
+2.621611835e-03f, 2.627851505e-03f, 2.634086326e-03f, 2.640316290e-03f, 2.646541384e-03f, 2.652761598e-03f, 2.658976923e-03f, 2.665187347e-03f, 2.671392860e-03f, 2.677593452e-03f,
+2.683789112e-03f, 2.689979829e-03f, 2.696165593e-03f, 2.702346394e-03f, 2.708522221e-03f, 2.714693064e-03f, 2.720858913e-03f, 2.727019756e-03f, 2.733175584e-03f, 2.739326386e-03f,
+2.745472152e-03f, 2.751612872e-03f, 2.757748534e-03f, 2.763879130e-03f, 2.770004647e-03f, 2.776125077e-03f, 2.782240408e-03f, 2.788350631e-03f, 2.794455735e-03f, 2.800555709e-03f,
+2.806650544e-03f, 2.812740230e-03f, 2.818824755e-03f, 2.824904110e-03f, 2.830978284e-03f, 2.837047268e-03f, 2.843111050e-03f, 2.849169622e-03f, 2.855222972e-03f, 2.861271090e-03f,
+2.867313966e-03f, 2.873351590e-03f, 2.879383952e-03f, 2.885411042e-03f, 2.891432849e-03f, 2.897449363e-03f, 2.903460575e-03f, 2.909466474e-03f, 2.915467049e-03f, 2.921462291e-03f,
+2.927452191e-03f, 2.933436736e-03f, 2.939415918e-03f, 2.945389727e-03f, 2.951358152e-03f, 2.957321184e-03f, 2.963278812e-03f, 2.969231026e-03f, 2.975177817e-03f, 2.981119173e-03f,
+2.987055087e-03f, 2.992985546e-03f, 2.998910542e-03f, 3.004830064e-03f, 3.010744102e-03f, 3.016652647e-03f, 3.022555688e-03f, 3.028453216e-03f, 3.034345221e-03f, 3.040231692e-03f,
+3.046112620e-03f, 3.051987995e-03f, 3.057857807e-03f, 3.063722047e-03f, 3.069580703e-03f, 3.075433768e-03f, 3.081281230e-03f, 3.087123079e-03f, 3.092959307e-03f, 3.098789903e-03f,
+3.104614857e-03f, 3.110434160e-03f, 3.116247801e-03f, 3.122055772e-03f, 3.127858062e-03f, 3.133654662e-03f, 3.139445561e-03f, 3.145230751e-03f, 3.151010221e-03f, 3.156783961e-03f,
+3.162551963e-03f, 3.168314215e-03f, 3.174070710e-03f, 3.179821436e-03f, 3.185566385e-03f, 3.191305546e-03f, 3.197038911e-03f, 3.202766469e-03f, 3.208488210e-03f, 3.214204126e-03f,
+3.219914206e-03f, 3.225618442e-03f, 3.231316822e-03f, 3.237009339e-03f, 3.242695982e-03f, 3.248376742e-03f, 3.254051609e-03f, 3.259720574e-03f, 3.265383627e-03f, 3.271040759e-03f,
+3.276691960e-03f, 3.282337221e-03f, 3.287976532e-03f, 3.293609885e-03f, 3.299237268e-03f, 3.304858674e-03f, 3.310474092e-03f, 3.316083513e-03f, 3.321686929e-03f, 3.327284328e-03f,
+3.332875703e-03f, 3.338461043e-03f, 3.344040340e-03f, 3.349613583e-03f, 3.355180764e-03f, 3.360741874e-03f, 3.366296902e-03f, 3.371845841e-03f, 3.377388679e-03f, 3.382925409e-03f,
+3.388456020e-03f, 3.393980504e-03f, 3.399498852e-03f, 3.405011053e-03f, 3.410517100e-03f, 3.416016982e-03f, 3.421510691e-03f, 3.426998217e-03f, 3.432479551e-03f, 3.437954684e-03f,
+3.443423607e-03f, 3.448886310e-03f, 3.454342785e-03f, 3.459793023e-03f, 3.465237013e-03f, 3.470674748e-03f, 3.476106218e-03f, 3.481531414e-03f, 3.486950327e-03f, 3.492362948e-03f,
+3.497769268e-03f, 3.503169277e-03f, 3.508562967e-03f, 3.513950330e-03f, 3.519331354e-03f, 3.524706033e-03f, 3.530074357e-03f, 3.535436316e-03f, 3.540791902e-03f, 3.546141106e-03f,
+3.551483920e-03f, 3.556820333e-03f, 3.562150338e-03f, 3.567473925e-03f, 3.572791085e-03f, 3.578101810e-03f, 3.583406091e-03f, 3.588703918e-03f, 3.593995284e-03f, 3.599280178e-03f,
+3.604558594e-03f, 3.609830520e-03f, 3.615095950e-03f, 3.620354873e-03f, 3.625607282e-03f, 3.630853167e-03f, 3.636092520e-03f, 3.641325332e-03f, 3.646551594e-03f, 3.651771298e-03f,
+3.656984435e-03f, 3.662190995e-03f, 3.667390972e-03f, 3.672584355e-03f, 3.677771137e-03f, 3.682951308e-03f, 3.688124860e-03f, 3.693291784e-03f, 3.698452072e-03f, 3.703605715e-03f,
+3.708752705e-03f, 3.713893033e-03f, 3.719026690e-03f, 3.724153668e-03f, 3.729273958e-03f, 3.734387552e-03f, 3.739494442e-03f, 3.744594618e-03f, 3.749688073e-03f, 3.754774798e-03f,
+3.759854784e-03f, 3.764928023e-03f, 3.769994507e-03f, 3.775054226e-03f, 3.780107174e-03f, 3.785153341e-03f, 3.790192718e-03f, 3.795225299e-03f, 3.800251073e-03f, 3.805270034e-03f,
+3.810282171e-03f, 3.815287478e-03f, 3.820285946e-03f, 3.825277567e-03f, 3.830262331e-03f, 3.835240232e-03f, 3.840211260e-03f, 3.845175408e-03f, 3.850132668e-03f, 3.855083030e-03f,
+3.860026487e-03f, 3.864963030e-03f, 3.869892652e-03f, 3.874815345e-03f, 3.879731099e-03f, 3.884639907e-03f, 3.889541761e-03f, 3.894436653e-03f, 3.899324574e-03f, 3.904205516e-03f,
+3.909079472e-03f, 3.913946433e-03f, 3.918806392e-03f, 3.923659339e-03f, 3.928505268e-03f, 3.933344169e-03f, 3.938176036e-03f, 3.943000860e-03f, 3.947818633e-03f, 3.952629346e-03f,
+3.957432993e-03f, 3.962229565e-03f, 3.967019055e-03f, 3.971801453e-03f, 3.976576753e-03f, 3.981344947e-03f, 3.986106026e-03f, 3.990859983e-03f, 3.995606809e-03f, 4.000346498e-03f,
+4.005079040e-03f, 4.009804430e-03f, 4.014522657e-03f, 4.019233715e-03f, 4.023937596e-03f, 4.028634293e-03f, 4.033323796e-03f, 4.038006100e-03f, 4.042681195e-03f, 4.047349074e-03f,
+4.052009730e-03f, 4.056663155e-03f, 4.061309340e-03f, 4.065948279e-03f, 4.070579964e-03f, 4.075204387e-03f, 4.079821541e-03f, 4.084431417e-03f, 4.089034008e-03f, 4.093629307e-03f,
+4.098217306e-03f, 4.102797998e-03f, 4.107371375e-03f, 4.111937429e-03f, 4.116496152e-03f, 4.121047538e-03f, 4.125591579e-03f, 4.130128268e-03f, 4.134657596e-03f, 4.139179556e-03f,
+4.143694142e-03f, 4.148201345e-03f, 4.152701158e-03f, 4.157193574e-03f, 4.161678585e-03f, 4.166156184e-03f, 4.170626364e-03f, 4.175089116e-03f, 4.179544435e-03f, 4.183992312e-03f,
+4.188432740e-03f, 4.192865712e-03f, 4.197291220e-03f, 4.201709258e-03f, 4.206119818e-03f, 4.210522892e-03f, 4.214918474e-03f, 4.219306557e-03f, 4.223687132e-03f, 4.228060193e-03f,
+4.232425733e-03f, 4.236783745e-03f, 4.241134221e-03f, 4.245477154e-03f, 4.249812537e-03f, 4.254140363e-03f, 4.258460625e-03f, 4.262773316e-03f, 4.267078428e-03f, 4.271375955e-03f,
+4.275665890e-03f, 4.279948225e-03f, 4.284222953e-03f, 4.288490068e-03f, 4.292749563e-03f, 4.297001430e-03f, 4.301245662e-03f, 4.305482253e-03f, 4.309711196e-03f, 4.313932483e-03f,
+4.318146108e-03f, 4.322352064e-03f, 4.326550344e-03f, 4.330740941e-03f, 4.334923849e-03f, 4.339099059e-03f, 4.343266567e-03f, 4.347426364e-03f, 4.351578443e-03f, 4.355722799e-03f,
+4.359859425e-03f, 4.363988312e-03f, 4.368109456e-03f, 4.372222849e-03f, 4.376328484e-03f, 4.380426355e-03f, 4.384516454e-03f, 4.388598776e-03f, 4.392673314e-03f, 4.396740060e-03f,
+4.400799009e-03f, 4.404850153e-03f, 4.408893487e-03f, 4.412929002e-03f, 4.416956694e-03f, 4.420976555e-03f, 4.424988578e-03f, 4.428992758e-03f, 4.432989088e-03f, 4.436977560e-03f,
+4.440958169e-03f, 4.444930908e-03f, 4.448895771e-03f, 4.452852751e-03f, 4.456801842e-03f, 4.460743036e-03f, 4.464676329e-03f, 4.468601713e-03f, 4.472519183e-03f, 4.476428731e-03f,
+4.480330351e-03f, 4.484224037e-03f, 4.488109783e-03f, 4.491987582e-03f, 4.495857428e-03f, 4.499719315e-03f, 4.503573236e-03f, 4.507419185e-03f, 4.511257157e-03f, 4.515087144e-03f,
+4.518909140e-03f, 4.522723139e-03f, 4.526529136e-03f, 4.530327123e-03f, 4.534117095e-03f, 4.537899045e-03f, 4.541672968e-03f, 4.545438857e-03f, 4.549196706e-03f, 4.552946510e-03f,
+4.556688261e-03f, 4.560421954e-03f, 4.564147583e-03f, 4.567865141e-03f, 4.571574624e-03f, 4.575276024e-03f, 4.578969335e-03f, 4.582654553e-03f, 4.586331670e-03f, 4.590000682e-03f,
+4.593661581e-03f, 4.597314362e-03f, 4.600959019e-03f, 4.604595546e-03f, 4.608223937e-03f, 4.611844187e-03f, 4.615456290e-03f, 4.619060239e-03f, 4.622656029e-03f, 4.626243654e-03f,
+4.629823108e-03f, 4.633394386e-03f, 4.636957481e-03f, 4.640512389e-03f, 4.644059102e-03f, 4.647597616e-03f, 4.651127925e-03f, 4.654650023e-03f, 4.658163904e-03f, 4.661669564e-03f,
+4.665166995e-03f, 4.668656192e-03f, 4.672137151e-03f, 4.675609864e-03f, 4.679074328e-03f, 4.682530535e-03f, 4.685978481e-03f, 4.689418159e-03f, 4.692849565e-03f, 4.696272693e-03f,
+4.699687537e-03f, 4.703094092e-03f, 4.706492353e-03f, 4.709882313e-03f, 4.713263968e-03f, 4.716637311e-03f, 4.720002339e-03f, 4.723359044e-03f, 4.726707423e-03f, 4.730047469e-03f,
+4.733379176e-03f, 4.736702541e-03f, 4.740017557e-03f, 4.743324219e-03f, 4.746622522e-03f, 4.749912460e-03f, 4.753194029e-03f, 4.756467222e-03f, 4.759732035e-03f, 4.762988463e-03f,
+4.766236500e-03f, 4.769476141e-03f, 4.772707380e-03f, 4.775930214e-03f, 4.779144636e-03f, 4.782350641e-03f, 4.785548225e-03f, 4.788737382e-03f, 4.791918107e-03f, 4.795090395e-03f,
+4.798254241e-03f, 4.801409639e-03f, 4.804556586e-03f, 4.807695075e-03f, 4.810825103e-03f, 4.813946663e-03f, 4.817059751e-03f, 4.820164361e-03f, 4.823260490e-03f, 4.826348131e-03f,
+4.829427281e-03f, 4.832497934e-03f, 4.835560085e-03f, 4.838613730e-03f, 4.841658863e-03f, 4.844695480e-03f, 4.847723575e-03f, 4.850743145e-03f, 4.853754184e-03f, 4.856756688e-03f,
+4.859750651e-03f, 4.862736069e-03f, 4.865712938e-03f, 4.868681252e-03f, 4.871641006e-03f, 4.874592197e-03f, 4.877534819e-03f, 4.880468868e-03f, 4.883394340e-03f, 4.886311228e-03f,
+4.889219530e-03f, 4.892119239e-03f, 4.895010353e-03f, 4.897892865e-03f, 4.900766772e-03f, 4.903632069e-03f, 4.906488751e-03f, 4.909336815e-03f, 4.912176255e-03f, 4.915007067e-03f,
+4.917829246e-03f, 4.920642788e-03f, 4.923447689e-03f, 4.926243945e-03f, 4.929031550e-03f, 4.931810500e-03f, 4.934580791e-03f, 4.937342419e-03f, 4.940095380e-03f, 4.942839668e-03f,
+4.945575280e-03f, 4.948302212e-03f, 4.951020458e-03f, 4.953730015e-03f, 4.956430879e-03f, 4.959123045e-03f, 4.961806510e-03f, 4.964481268e-03f, 4.967147316e-03f, 4.969804649e-03f,
+4.972453264e-03f, 4.975093156e-03f, 4.977724321e-03f, 4.980346755e-03f, 4.982960453e-03f, 4.985565413e-03f, 4.988161629e-03f, 4.990749098e-03f, 4.993327815e-03f, 4.995897777e-03f,
+4.998458980e-03f, 5.001011419e-03f, 5.003555091e-03f, 5.006089991e-03f, 5.008616116e-03f, 5.011133462e-03f, 5.013642025e-03f, 5.016141800e-03f, 5.018632785e-03f, 5.021114975e-03f,
+5.023588366e-03f, 5.026052954e-03f, 5.028508736e-03f, 5.030955708e-03f, 5.033393866e-03f, 5.035823206e-03f, 5.038243725e-03f, 5.040655418e-03f, 5.043058283e-03f, 5.045452315e-03f,
+5.047837510e-03f, 5.050213865e-03f, 5.052581377e-03f, 5.054940041e-03f, 5.057289853e-03f, 5.059630812e-03f, 5.061962912e-03f, 5.064286150e-03f, 5.066600522e-03f, 5.068906026e-03f,
+5.071202657e-03f, 5.073490411e-03f, 5.075769287e-03f, 5.078039279e-03f, 5.080300384e-03f, 5.082552599e-03f, 5.084795921e-03f, 5.087030346e-03f, 5.089255870e-03f, 5.091472491e-03f,
+5.093680204e-03f, 5.095879007e-03f, 5.098068896e-03f, 5.100249867e-03f, 5.102421918e-03f, 5.104585045e-03f, 5.106739245e-03f, 5.108884514e-03f, 5.111020850e-03f, 5.113148248e-03f,
+5.115266706e-03f, 5.117376221e-03f, 5.119476789e-03f, 5.121568407e-03f, 5.123651072e-03f, 5.125724780e-03f, 5.127789530e-03f, 5.129845317e-03f, 5.131892138e-03f, 5.133929990e-03f,
+5.135958871e-03f, 5.137978777e-03f, 5.139989705e-03f, 5.141991652e-03f, 5.143984615e-03f, 5.145968592e-03f, 5.147943578e-03f, 5.149909571e-03f, 5.151866569e-03f, 5.153814568e-03f,
+5.155753565e-03f, 5.157683557e-03f, 5.159604542e-03f, 5.161516516e-03f, 5.163419478e-03f, 5.165313423e-03f, 5.167198349e-03f, 5.169074253e-03f, 5.170941133e-03f, 5.172798986e-03f,
+5.174647808e-03f, 5.176487598e-03f, 5.178318352e-03f, 5.180140068e-03f, 5.181952742e-03f, 5.183756373e-03f, 5.185550958e-03f, 5.187336494e-03f, 5.189112978e-03f, 5.190880408e-03f,
+5.192638781e-03f, 5.194388094e-03f, 5.196128345e-03f, 5.197859532e-03f, 5.199581652e-03f, 5.201294702e-03f, 5.202998679e-03f, 5.204693582e-03f, 5.206379408e-03f, 5.208056154e-03f,
+5.209723818e-03f, 5.211382398e-03f, 5.213031890e-03f, 5.214672294e-03f, 5.216303605e-03f, 5.217925822e-03f, 5.219538943e-03f, 5.221142965e-03f, 5.222737886e-03f, 5.224323703e-03f,
+5.225900415e-03f, 5.227468019e-03f, 5.229026512e-03f, 5.230575893e-03f, 5.232116159e-03f, 5.233647308e-03f, 5.235169338e-03f, 5.236682247e-03f, 5.238186032e-03f, 5.239680692e-03f,
+5.241166223e-03f, 5.242642625e-03f, 5.244109895e-03f, 5.245568031e-03f, 5.247017030e-03f, 5.248456892e-03f, 5.249887613e-03f, 5.251309191e-03f, 5.252721626e-03f, 5.254124914e-03f,
+5.255519054e-03f, 5.256904044e-03f, 5.258279881e-03f, 5.259646565e-03f, 5.261004092e-03f, 5.262352462e-03f, 5.263691672e-03f, 5.265021720e-03f, 5.266342604e-03f, 5.267654324e-03f,
+5.268956876e-03f, 5.270250259e-03f, 5.271534472e-03f, 5.272809512e-03f, 5.274075378e-03f, 5.275332068e-03f, 5.276579580e-03f, 5.277817913e-03f, 5.279047065e-03f, 5.280267034e-03f,
+5.281477819e-03f, 5.282679417e-03f, 5.283871828e-03f, 5.285055050e-03f, 5.286229081e-03f, 5.287393919e-03f, 5.288549563e-03f, 5.289696012e-03f, 5.290833264e-03f, 5.291961317e-03f,
+5.293080170e-03f, 5.294189821e-03f, 5.295290269e-03f, 5.296381513e-03f, 5.297463551e-03f, 5.298536382e-03f, 5.299600004e-03f, 5.300654415e-03f, 5.301699616e-03f, 5.302735603e-03f,
+5.303762376e-03f, 5.304779934e-03f, 5.305788275e-03f, 5.306787398e-03f, 5.307777301e-03f, 5.308757984e-03f, 5.309729445e-03f, 5.310691683e-03f, 5.311644697e-03f, 5.312588485e-03f,
+5.313523046e-03f, 5.314448380e-03f, 5.315364484e-03f, 5.316271359e-03f, 5.317169002e-03f, 5.318057413e-03f, 5.318936591e-03f, 5.319806534e-03f, 5.320667241e-03f, 5.321518713e-03f,
+5.322360946e-03f, 5.323193941e-03f, 5.324017696e-03f, 5.324832211e-03f, 5.325637485e-03f, 5.326433516e-03f, 5.327220304e-03f, 5.327997847e-03f, 5.328766145e-03f, 5.329525198e-03f,
+5.330275003e-03f, 5.331015561e-03f, 5.331746871e-03f, 5.332468931e-03f, 5.333181741e-03f, 5.333885300e-03f, 5.334579607e-03f, 5.335264662e-03f, 5.335940464e-03f, 5.336607012e-03f,
+5.337264305e-03f, 5.337912344e-03f, 5.338551126e-03f, 5.339180652e-03f, 5.339800921e-03f, 5.340411932e-03f, 5.341013684e-03f, 5.341606178e-03f, 5.342189412e-03f, 5.342763386e-03f,
+5.343328100e-03f, 5.343883552e-03f, 5.344429742e-03f, 5.344966671e-03f, 5.345494337e-03f, 5.346012740e-03f, 5.346521879e-03f, 5.347021755e-03f, 5.347512366e-03f, 5.347993712e-03f,
+5.348465794e-03f, 5.348928609e-03f, 5.349382160e-03f, 5.349826444e-03f, 5.350261461e-03f, 5.350687212e-03f, 5.351103696e-03f, 5.351510912e-03f, 5.351908861e-03f, 5.352297542e-03f,
+5.352676956e-03f, 5.353047101e-03f, 5.353407978e-03f, 5.353759586e-03f, 5.354101925e-03f, 5.354434996e-03f, 5.354758798e-03f, 5.355073331e-03f, 5.355378594e-03f, 5.355674589e-03f,
+5.355961314e-03f, 5.356238770e-03f, 5.356506957e-03f, 5.356765874e-03f, 5.357015522e-03f, 5.357255901e-03f, 5.357487010e-03f, 5.357708851e-03f, 5.357921422e-03f, 5.358124724e-03f,
+5.358318758e-03f, 5.358503522e-03f, 5.358679018e-03f, 5.358845245e-03f, 5.359002204e-03f, 5.359149895e-03f, 5.359288318e-03f, 5.359417473e-03f, 5.359537361e-03f, 5.359647981e-03f,
+5.359749335e-03f, 5.359841421e-03f, 5.359924242e-03f, 5.359997796e-03f, 5.360062085e-03f, 5.360117108e-03f, 5.360162866e-03f, 5.360199359e-03f, 5.360226588e-03f, 5.360244553e-03f,
+5.360253255e-03f, 5.360252693e-03f, 5.360242869e-03f, 5.360223783e-03f, 5.360195436e-03f, 5.360157827e-03f, 5.360110958e-03f, 5.360054829e-03f, 5.359989440e-03f, 5.359914792e-03f,
+5.359830886e-03f, 5.359737722e-03f, 5.359635302e-03f, 5.359523624e-03f, 5.359402691e-03f, 5.359272503e-03f, 5.359133060e-03f, 5.358984363e-03f, 5.358826414e-03f, 5.358659212e-03f,
+5.358482758e-03f, 5.358297053e-03f, 5.358102099e-03f, 5.357897895e-03f, 5.357684443e-03f, 5.357461743e-03f, 5.357229796e-03f, 5.356988603e-03f, 5.356738166e-03f, 5.356478484e-03f,
+5.356209558e-03f, 5.355931391e-03f, 5.355643982e-03f, 5.355347332e-03f, 5.355041443e-03f, 5.354726316e-03f, 5.354401951e-03f, 5.354068349e-03f, 5.353725512e-03f, 5.353373441e-03f,
+5.353012136e-03f, 5.352641599e-03f, 5.352261830e-03f, 5.351872832e-03f, 5.351474604e-03f, 5.351067149e-03f, 5.350650467e-03f, 5.350224560e-03f, 5.349789428e-03f, 5.349345074e-03f,
+5.348891497e-03f, 5.348428700e-03f, 5.347956683e-03f, 5.347475448e-03f, 5.346984997e-03f, 5.346485330e-03f, 5.345976448e-03f, 5.345458354e-03f, 5.344931049e-03f, 5.344394533e-03f,
+5.343848808e-03f, 5.343293876e-03f, 5.342729738e-03f, 5.342156396e-03f, 5.341573850e-03f, 5.340982103e-03f, 5.340381155e-03f, 5.339771009e-03f, 5.339151666e-03f, 5.338523127e-03f,
+5.337885394e-03f, 5.337238469e-03f, 5.336582352e-03f, 5.335917046e-03f, 5.335242553e-03f, 5.334558873e-03f, 5.333866008e-03f, 5.333163961e-03f, 5.332452732e-03f, 5.331732324e-03f,
+5.331002739e-03f, 5.330263977e-03f, 5.329516040e-03f, 5.328758931e-03f, 5.327992651e-03f, 5.327217202e-03f, 5.326432585e-03f, 5.325638803e-03f, 5.324835858e-03f, 5.324023750e-03f,
+5.323202483e-03f, 5.322372057e-03f, 5.321532475e-03f, 5.320683739e-03f, 5.319825850e-03f, 5.318958811e-03f, 5.318082623e-03f, 5.317197288e-03f, 5.316302809e-03f, 5.315399188e-03f,
+5.314486425e-03f, 5.313564525e-03f, 5.312633487e-03f, 5.311693315e-03f, 5.310744011e-03f, 5.309785577e-03f, 5.308818014e-03f, 5.307841325e-03f, 5.306855512e-03f, 5.305860578e-03f,
+5.304856524e-03f, 5.303843352e-03f, 5.302821065e-03f, 5.301789665e-03f, 5.300749154e-03f, 5.299699535e-03f, 5.298640810e-03f, 5.297572980e-03f, 5.296496049e-03f, 5.295410018e-03f,
+5.294314890e-03f, 5.293210668e-03f, 5.292097353e-03f, 5.290974948e-03f, 5.289843455e-03f, 5.288702878e-03f, 5.287553217e-03f, 5.286394476e-03f, 5.285226657e-03f, 5.284049763e-03f,
+5.282863795e-03f, 5.281668758e-03f, 5.280464652e-03f, 5.279251481e-03f, 5.278029247e-03f, 5.276797952e-03f, 5.275557600e-03f, 5.274308192e-03f, 5.273049732e-03f, 5.271782222e-03f,
+5.270505665e-03f, 5.269220063e-03f, 5.267925419e-03f, 5.266621736e-03f, 5.265309016e-03f, 5.263987262e-03f, 5.262656477e-03f, 5.261316664e-03f, 5.259967825e-03f, 5.258609963e-03f,
+5.257243080e-03f, 5.255867181e-03f, 5.254482267e-03f, 5.253088341e-03f, 5.251685407e-03f, 5.250273467e-03f, 5.248852523e-03f, 5.247422580e-03f, 5.245983639e-03f, 5.244535704e-03f,
+5.243078778e-03f, 5.241612863e-03f, 5.240137963e-03f, 5.238654080e-03f, 5.237161218e-03f, 5.235659380e-03f, 5.234148568e-03f, 5.232628786e-03f, 5.231100036e-03f, 5.229562323e-03f,
+5.228015648e-03f, 5.226460016e-03f, 5.224895428e-03f, 5.223321889e-03f, 5.221739402e-03f, 5.220147969e-03f, 5.218547594e-03f, 5.216938280e-03f, 5.215320030e-03f, 5.213692848e-03f,
+5.212056736e-03f, 5.210411699e-03f, 5.208757739e-03f, 5.207094859e-03f, 5.205423064e-03f, 5.203742355e-03f, 5.202052737e-03f, 5.200354214e-03f, 5.198646787e-03f, 5.196930461e-03f,
+5.195205240e-03f, 5.193471126e-03f, 5.191728123e-03f, 5.189976234e-03f, 5.188215463e-03f, 5.186445813e-03f, 5.184667289e-03f, 5.182879893e-03f, 5.181083628e-03f, 5.179278499e-03f,
+5.177464509e-03f, 5.175641662e-03f, 5.173809961e-03f, 5.171969409e-03f, 5.170120011e-03f, 5.168261770e-03f, 5.166394690e-03f, 5.164518774e-03f, 5.162634025e-03f, 5.160740449e-03f,
+5.158838048e-03f, 5.156926826e-03f, 5.155006786e-03f, 5.153077934e-03f, 5.151140272e-03f, 5.149193804e-03f, 5.147238533e-03f, 5.145274465e-03f, 5.143301602e-03f, 5.141319949e-03f,
+5.139329508e-03f, 5.137330285e-03f, 5.135322283e-03f, 5.133305506e-03f, 5.131279958e-03f, 5.129245643e-03f, 5.127202564e-03f, 5.125150726e-03f, 5.123090133e-03f, 5.121020788e-03f,
+5.118942696e-03f, 5.116855861e-03f, 5.114760286e-03f, 5.112655977e-03f, 5.110542936e-03f, 5.108421168e-03f, 5.106290677e-03f, 5.104151467e-03f, 5.102003542e-03f, 5.099846907e-03f,
+5.097681565e-03f, 5.095507521e-03f, 5.093324779e-03f, 5.091133343e-03f, 5.088933218e-03f, 5.086724407e-03f, 5.084506915e-03f, 5.082280745e-03f, 5.080045904e-03f, 5.077802393e-03f,
+5.075550219e-03f, 5.073289385e-03f, 5.071019895e-03f, 5.068741755e-03f, 5.066454968e-03f, 5.064159538e-03f, 5.061855470e-03f, 5.059542769e-03f, 5.057221439e-03f, 5.054891484e-03f,
+5.052552909e-03f, 5.050205718e-03f, 5.047849916e-03f, 5.045485507e-03f, 5.043112496e-03f, 5.040730887e-03f, 5.038340685e-03f, 5.035941894e-03f, 5.033534519e-03f, 5.031118564e-03f,
+5.028694035e-03f, 5.026260935e-03f, 5.023819270e-03f, 5.021369044e-03f, 5.018910261e-03f, 5.016442926e-03f, 5.013967045e-03f, 5.011482621e-03f, 5.008989659e-03f, 5.006488165e-03f,
+5.003978143e-03f, 5.001459597e-03f, 4.998932532e-03f, 4.996396954e-03f, 4.993852867e-03f, 4.991300275e-03f, 4.988739184e-03f, 4.986169599e-03f, 4.983591523e-03f, 4.981004964e-03f,
+4.978409924e-03f, 4.975806409e-03f, 4.973194424e-03f, 4.970573974e-03f, 4.967945063e-03f, 4.965307697e-03f, 4.962661882e-03f, 4.960007620e-03f, 4.957344919e-03f, 4.954673782e-03f,
+4.951994215e-03f, 4.949306222e-03f, 4.946609810e-03f, 4.943904982e-03f, 4.941191745e-03f, 4.938470103e-03f, 4.935740060e-03f, 4.933001624e-03f, 4.930254797e-03f, 4.927499587e-03f,
+4.924735997e-03f, 4.921964033e-03f, 4.919183701e-03f, 4.916395005e-03f, 4.913597950e-03f, 4.910792543e-03f, 4.907978787e-03f, 4.905156690e-03f, 4.902326254e-03f, 4.899487487e-03f,
+4.896640394e-03f, 4.893784979e-03f, 4.890921248e-03f, 4.888049206e-03f, 4.885168859e-03f, 4.882280213e-03f, 4.879383272e-03f, 4.876478042e-03f, 4.873564528e-03f, 4.870642736e-03f,
+4.867712671e-03f, 4.864774340e-03f, 4.861827746e-03f, 4.858872896e-03f, 4.855909796e-03f, 4.852938450e-03f, 4.849958864e-03f, 4.846971045e-03f, 4.843974997e-03f, 4.840970726e-03f,
+4.837958237e-03f, 4.834937537e-03f, 4.831908631e-03f, 4.828871524e-03f, 4.825826222e-03f, 4.822772731e-03f, 4.819711057e-03f, 4.816641204e-03f, 4.813563180e-03f, 4.810476989e-03f,
+4.807382638e-03f, 4.804280132e-03f, 4.801169477e-03f, 4.798050678e-03f, 4.794923742e-03f, 4.791788674e-03f, 4.788645480e-03f, 4.785494165e-03f, 4.782334737e-03f, 4.779167200e-03f,
+4.775991561e-03f, 4.772807825e-03f, 4.769615998e-03f, 4.766416087e-03f, 4.763208096e-03f, 4.759992033e-03f, 4.756767903e-03f, 4.753535711e-03f, 4.750295465e-03f, 4.747047169e-03f,
+4.743790830e-03f, 4.740526455e-03f, 4.737254048e-03f, 4.733973616e-03f, 4.730685166e-03f, 4.727388703e-03f, 4.724084233e-03f, 4.720771762e-03f, 4.717451297e-03f, 4.714122843e-03f,
+4.710786408e-03f, 4.707441996e-03f, 4.704089614e-03f, 4.700729269e-03f, 4.697360966e-03f, 4.693984712e-03f, 4.690600513e-03f, 4.687208375e-03f, 4.683808305e-03f, 4.680400308e-03f,
+4.676984391e-03f, 4.673560560e-03f, 4.670128822e-03f, 4.666689183e-03f, 4.663241649e-03f, 4.659786227e-03f, 4.656322922e-03f, 4.652851742e-03f, 4.649372693e-03f, 4.645885780e-03f,
+4.642391012e-03f, 4.638888393e-03f, 4.635377930e-03f, 4.631859630e-03f, 4.628333500e-03f, 4.624799545e-03f, 4.621257773e-03f, 4.617708189e-03f, 4.614150801e-03f, 4.610585614e-03f,
+4.607012636e-03f, 4.603431873e-03f, 4.599843331e-03f, 4.596247018e-03f, 4.592642939e-03f, 4.589031101e-03f, 4.585411511e-03f, 4.581784176e-03f, 4.578149101e-03f, 4.574506295e-03f,
+4.570855763e-03f, 4.567197513e-03f, 4.563531550e-03f, 4.559857882e-03f, 4.556176515e-03f, 4.552487457e-03f, 4.548790713e-03f, 4.545086291e-03f, 4.541374197e-03f, 4.537654439e-03f,
+4.533927022e-03f, 4.530191955e-03f, 4.526449243e-03f, 4.522698893e-03f, 4.518940913e-03f, 4.515175309e-03f, 4.511402088e-03f, 4.507621257e-03f, 4.503832823e-03f, 4.500036793e-03f,
+4.496233173e-03f, 4.492421972e-03f, 4.488603195e-03f, 4.484776849e-03f, 4.480942942e-03f, 4.477101481e-03f, 4.473252473e-03f, 4.469395924e-03f, 4.465531841e-03f, 4.461660233e-03f,
+4.457781105e-03f, 4.453894465e-03f, 4.450000320e-03f, 4.446098678e-03f, 4.442189544e-03f, 4.438272926e-03f, 4.434348832e-03f, 4.430417269e-03f, 4.426478243e-03f, 4.422531763e-03f,
+4.418577834e-03f, 4.414616464e-03f, 4.410647662e-03f, 4.406671432e-03f, 4.402687784e-03f, 4.398696724e-03f, 4.394698260e-03f, 4.390692398e-03f, 4.386679146e-03f, 4.382658512e-03f,
+4.378630502e-03f, 4.374595124e-03f, 4.370552386e-03f, 4.366502294e-03f, 4.362444856e-03f, 4.358380080e-03f, 4.354307972e-03f, 4.350228541e-03f, 4.346141793e-03f, 4.342047736e-03f,
+4.337946378e-03f, 4.333837725e-03f, 4.329721786e-03f, 4.325598568e-03f, 4.321468077e-03f, 4.317330323e-03f, 4.313185312e-03f, 4.309033052e-03f, 4.304873550e-03f, 4.300706814e-03f,
+4.296532852e-03f, 4.292351670e-03f, 4.288163278e-03f, 4.283967681e-03f, 4.279764888e-03f, 4.275554907e-03f, 4.271337745e-03f, 4.267113409e-03f, 4.262881908e-03f, 4.258643248e-03f,
+4.254397439e-03f, 4.250144486e-03f, 4.245884399e-03f, 4.241617185e-03f, 4.237342851e-03f, 4.233061405e-03f, 4.228772856e-03f, 4.224477210e-03f, 4.220174476e-03f, 4.215864661e-03f,
+4.211547773e-03f, 4.207223820e-03f, 4.202892809e-03f, 4.198554750e-03f, 4.194209648e-03f, 4.189857513e-03f, 4.185498353e-03f, 4.181132174e-03f, 4.176758985e-03f, 4.172378794e-03f,
+4.167991608e-03f, 4.163597437e-03f, 4.159196286e-03f, 4.154788166e-03f, 4.150373083e-03f, 4.145951045e-03f, 4.141522061e-03f, 4.137086138e-03f, 4.132643285e-03f, 4.128193509e-03f,
+4.123736818e-03f, 4.119273222e-03f, 4.114802726e-03f, 4.110325341e-03f, 4.105841073e-03f, 4.101349931e-03f, 4.096851923e-03f, 4.092347057e-03f, 4.087835341e-03f, 4.083316784e-03f,
+4.078791392e-03f, 4.074259176e-03f, 4.069720142e-03f, 4.065174299e-03f, 4.060621656e-03f, 4.056062219e-03f, 4.051495998e-03f, 4.046923001e-03f, 4.042343236e-03f, 4.037756712e-03f,
+4.033163435e-03f, 4.028563416e-03f, 4.023956661e-03f, 4.019343180e-03f, 4.014722981e-03f, 4.010096071e-03f, 4.005462460e-03f, 4.000822156e-03f, 3.996175166e-03f, 3.991521500e-03f,
+3.986861166e-03f, 3.982194171e-03f, 3.977520526e-03f, 3.972840237e-03f, 3.968153313e-03f, 3.963459763e-03f, 3.958759595e-03f, 3.954052818e-03f, 3.949339440e-03f, 3.944619470e-03f,
+3.939892915e-03f, 3.935159785e-03f, 3.930420088e-03f, 3.925673833e-03f, 3.920921027e-03f, 3.916161681e-03f, 3.911395801e-03f, 3.906623397e-03f, 3.901844478e-03f, 3.897059051e-03f,
+3.892267126e-03f, 3.887468710e-03f, 3.882663814e-03f, 3.877852444e-03f, 3.873034611e-03f, 3.868210322e-03f, 3.863379586e-03f, 3.858542412e-03f, 3.853698809e-03f, 3.848848785e-03f,
+3.843992349e-03f, 3.839129509e-03f, 3.834260275e-03f, 3.829384655e-03f, 3.824502658e-03f, 3.819614292e-03f, 3.814719567e-03f, 3.809818491e-03f, 3.804911073e-03f, 3.799997321e-03f,
+3.795077245e-03f, 3.790150853e-03f, 3.785218154e-03f, 3.780279157e-03f, 3.775333871e-03f, 3.770382305e-03f, 3.765424467e-03f, 3.760460367e-03f, 3.755490013e-03f, 3.750513414e-03f,
+3.745530579e-03f, 3.740541517e-03f, 3.735546237e-03f, 3.730544748e-03f, 3.725537059e-03f, 3.720523179e-03f, 3.715503116e-03f, 3.710476880e-03f, 3.705444480e-03f, 3.700405924e-03f,
+3.695361222e-03f, 3.690310383e-03f, 3.685253416e-03f, 3.680190330e-03f, 3.675121133e-03f, 3.670045835e-03f, 3.664964446e-03f, 3.659876973e-03f, 3.654783427e-03f, 3.649683816e-03f,
+3.644578149e-03f, 3.639466436e-03f, 3.634348685e-03f, 3.629224906e-03f, 3.624095108e-03f, 3.618959301e-03f, 3.613817492e-03f, 3.608669692e-03f, 3.603515909e-03f, 3.598356154e-03f,
+3.593190434e-03f, 3.588018760e-03f, 3.582841140e-03f, 3.577657584e-03f, 3.572468101e-03f, 3.567272700e-03f, 3.562071391e-03f, 3.556864182e-03f, 3.551651083e-03f, 3.546432104e-03f,
+3.541207254e-03f, 3.535976541e-03f, 3.530739976e-03f, 3.525497568e-03f, 3.520249325e-03f, 3.514995258e-03f, 3.509735376e-03f, 3.504469688e-03f, 3.499198203e-03f, 3.493920931e-03f,
+3.488637882e-03f, 3.483349064e-03f, 3.478054487e-03f, 3.472754161e-03f, 3.467448095e-03f, 3.462136299e-03f, 3.456818781e-03f, 3.451495552e-03f, 3.446166620e-03f, 3.440831996e-03f,
+3.435491689e-03f, 3.430145708e-03f, 3.424794063e-03f, 3.419436763e-03f, 3.414073819e-03f, 3.408705239e-03f, 3.403331033e-03f, 3.397951210e-03f, 3.392565781e-03f, 3.387174754e-03f,
+3.381778140e-03f, 3.376375948e-03f, 3.370968188e-03f, 3.365554868e-03f, 3.360136000e-03f, 3.354711592e-03f, 3.349281654e-03f, 3.343846195e-03f, 3.338405226e-03f, 3.332958757e-03f,
+3.327506796e-03f, 3.322049353e-03f, 3.316586439e-03f, 3.311118062e-03f, 3.305644234e-03f, 3.300164962e-03f, 3.294680258e-03f, 3.289190130e-03f, 3.283694589e-03f, 3.278193644e-03f,
+3.272687306e-03f, 3.267175583e-03f, 3.261658486e-03f, 3.256136024e-03f, 3.250608208e-03f, 3.245075046e-03f, 3.239536550e-03f, 3.233992728e-03f, 3.228443591e-03f, 3.222889149e-03f,
+3.217329411e-03f, 3.211764386e-03f, 3.206194086e-03f, 3.200618520e-03f, 3.195037698e-03f, 3.189451629e-03f, 3.183860324e-03f, 3.178263793e-03f, 3.172662045e-03f, 3.167055091e-03f,
+3.161442940e-03f, 3.155825602e-03f, 3.150203087e-03f, 3.144575406e-03f, 3.138942568e-03f, 3.133304583e-03f, 3.127661462e-03f, 3.122013214e-03f, 3.116359848e-03f, 3.110701377e-03f,
+3.105037808e-03f, 3.099369153e-03f, 3.093695421e-03f, 3.088016623e-03f, 3.082332768e-03f, 3.076643866e-03f, 3.070949929e-03f, 3.065250965e-03f, 3.059546985e-03f, 3.053837998e-03f,
+3.048124016e-03f, 3.042405048e-03f, 3.036681104e-03f, 3.030952195e-03f, 3.025218330e-03f, 3.019479520e-03f, 3.013735775e-03f, 3.007987105e-03f, 3.002233520e-03f, 2.996475031e-03f,
+2.990711647e-03f, 2.984943379e-03f, 2.979170237e-03f, 2.973392231e-03f, 2.967609372e-03f, 2.961821669e-03f, 2.956029133e-03f, 2.950231775e-03f, 2.944429604e-03f, 2.938622630e-03f,
+2.932810865e-03f, 2.926994317e-03f, 2.921172999e-03f, 2.915346919e-03f, 2.909516088e-03f, 2.903680517e-03f, 2.897840215e-03f, 2.891995194e-03f, 2.886145462e-03f, 2.880291032e-03f,
+2.874431913e-03f, 2.868568115e-03f, 2.862699649e-03f, 2.856826525e-03f, 2.850948754e-03f, 2.845066346e-03f, 2.839179311e-03f, 2.833287660e-03f, 2.827391403e-03f, 2.821490550e-03f,
+2.815585113e-03f, 2.809675101e-03f, 2.803760525e-03f, 2.797841395e-03f, 2.791917722e-03f, 2.785989516e-03f, 2.780056788e-03f, 2.774119548e-03f, 2.768177806e-03f, 2.762231574e-03f,
+2.756280862e-03f, 2.750325679e-03f, 2.744366037e-03f, 2.738401947e-03f, 2.732433418e-03f, 2.726460461e-03f, 2.720483087e-03f, 2.714501306e-03f, 2.708515130e-03f, 2.702524567e-03f,
+2.696529630e-03f, 2.690530328e-03f, 2.684526672e-03f, 2.678518673e-03f, 2.672506342e-03f, 2.666489688e-03f, 2.660468723e-03f, 2.654443457e-03f, 2.648413901e-03f, 2.642380065e-03f,
+2.636341960e-03f, 2.630299598e-03f, 2.624252987e-03f, 2.618202139e-03f, 2.612147065e-03f, 2.606087776e-03f, 2.600024281e-03f, 2.593956592e-03f, 2.587884720e-03f, 2.581808674e-03f,
+2.575728467e-03f, 2.569644108e-03f, 2.563555608e-03f, 2.557462978e-03f, 2.551366229e-03f, 2.545265371e-03f, 2.539160416e-03f, 2.533051373e-03f, 2.526938254e-03f, 2.520821070e-03f,
+2.514699830e-03f, 2.508574547e-03f, 2.502445231e-03f, 2.496311892e-03f, 2.490174541e-03f, 2.484033190e-03f, 2.477887848e-03f, 2.471738528e-03f, 2.465585239e-03f, 2.459427992e-03f,
+2.453266799e-03f, 2.447101670e-03f, 2.440932616e-03f, 2.434759647e-03f, 2.428582776e-03f, 2.422402012e-03f, 2.416217366e-03f, 2.410028850e-03f, 2.403836474e-03f, 2.397640248e-03f,
+2.391440185e-03f, 2.385236295e-03f, 2.379028589e-03f, 2.372817077e-03f, 2.366601771e-03f, 2.360382681e-03f, 2.354159819e-03f, 2.347933195e-03f, 2.341702821e-03f, 2.335468707e-03f,
+2.329230864e-03f, 2.322989304e-03f, 2.316744037e-03f, 2.310495074e-03f, 2.304242426e-03f, 2.297986104e-03f, 2.291726119e-03f, 2.285462483e-03f, 2.279195206e-03f, 2.272924298e-03f,
+2.266649772e-03f, 2.260371639e-03f, 2.254089908e-03f, 2.247804592e-03f, 2.241515700e-03f, 2.235223246e-03f, 2.228927238e-03f, 2.222627689e-03f, 2.216324610e-03f, 2.210018011e-03f,
+2.203707904e-03f, 2.197394299e-03f, 2.191077209e-03f, 2.184756643e-03f, 2.178432613e-03f, 2.172105130e-03f, 2.165774205e-03f, 2.159439850e-03f, 2.153102075e-03f, 2.146760892e-03f,
+2.140416311e-03f, 2.134068344e-03f, 2.127717002e-03f, 2.121362296e-03f, 2.115004237e-03f, 2.108642836e-03f, 2.102278105e-03f, 2.095910055e-03f, 2.089538697e-03f, 2.083164041e-03f,
+2.076786100e-03f, 2.070404884e-03f, 2.064020405e-03f, 2.057632673e-03f, 2.051241701e-03f, 2.044847498e-03f, 2.038450077e-03f, 2.032049449e-03f, 2.025645624e-03f, 2.019238614e-03f,
+2.012828431e-03f, 2.006415085e-03f, 1.999998588e-03f, 1.993578951e-03f, 1.987156185e-03f, 1.980730301e-03f, 1.974301311e-03f, 1.967869226e-03f, 1.961434058e-03f, 1.954995817e-03f,
+1.948554515e-03f, 1.942110162e-03f, 1.935662772e-03f, 1.929212354e-03f, 1.922758919e-03f, 1.916302480e-03f, 1.909843048e-03f, 1.903380634e-03f, 1.896915248e-03f, 1.890446904e-03f,
+1.883975611e-03f, 1.877501381e-03f, 1.871024226e-03f, 1.864544156e-03f, 1.858061184e-03f, 1.851575320e-03f, 1.845086577e-03f, 1.838594964e-03f, 1.832100494e-03f, 1.825603178e-03f,
+1.819103027e-03f, 1.812600053e-03f, 1.806094267e-03f, 1.799585680e-03f, 1.793074304e-03f, 1.786560151e-03f, 1.780043231e-03f, 1.773523556e-03f, 1.767001137e-03f, 1.760475987e-03f,
+1.753948115e-03f, 1.747417534e-03f, 1.740884255e-03f, 1.734348290e-03f, 1.727809650e-03f, 1.721268346e-03f, 1.714724389e-03f, 1.708177792e-03f, 1.701628566e-03f, 1.695076721e-03f,
+1.688522271e-03f, 1.681965225e-03f, 1.675405596e-03f, 1.668843394e-03f, 1.662278632e-03f, 1.655711321e-03f, 1.649141473e-03f, 1.642569098e-03f, 1.635994208e-03f, 1.629416815e-03f,
+1.622836931e-03f, 1.616254566e-03f, 1.609669732e-03f, 1.603082441e-03f, 1.596492705e-03f, 1.589900534e-03f, 1.583305941e-03f, 1.576708936e-03f, 1.570109532e-03f, 1.563507739e-03f,
+1.556903570e-03f, 1.550297036e-03f, 1.543688149e-03f, 1.537076919e-03f, 1.530463359e-03f, 1.523847479e-03f, 1.517229293e-03f, 1.510608810e-03f, 1.503986044e-03f, 1.497361004e-03f,
+1.490733703e-03f, 1.484104153e-03f, 1.477472365e-03f, 1.470838350e-03f, 1.464202120e-03f, 1.457563687e-03f, 1.450923063e-03f, 1.444280258e-03f, 1.437635284e-03f, 1.430988154e-03f,
+1.424338878e-03f, 1.417687468e-03f, 1.411033936e-03f, 1.404378294e-03f, 1.397720552e-03f, 1.391060723e-03f, 1.384398819e-03f, 1.377734850e-03f, 1.371068829e-03f, 1.364400767e-03f,
+1.357730675e-03f, 1.351058566e-03f, 1.344384451e-03f, 1.337708341e-03f, 1.331030249e-03f, 1.324350185e-03f, 1.317668162e-03f, 1.310984191e-03f, 1.304298284e-03f, 1.297610452e-03f,
+1.290920708e-03f, 1.284229062e-03f, 1.277535526e-03f, 1.270840113e-03f, 1.264142833e-03f, 1.257443699e-03f, 1.250742722e-03f, 1.244039914e-03f, 1.237335286e-03f, 1.230628850e-03f,
+1.223920617e-03f, 1.217210601e-03f, 1.210498811e-03f, 1.203785260e-03f, 1.197069960e-03f, 1.190352922e-03f, 1.183634158e-03f, 1.176913679e-03f, 1.170191498e-03f, 1.163467625e-03f,
+1.156742073e-03f, 1.150014854e-03f, 1.143285979e-03f, 1.136555459e-03f, 1.129823307e-03f, 1.123089534e-03f, 1.116354153e-03f, 1.109617173e-03f, 1.102878609e-03f, 1.096138470e-03f,
+1.089396769e-03f, 1.082653518e-03f, 1.075908728e-03f, 1.069162411e-03f, 1.062414579e-03f, 1.055665243e-03f, 1.048914415e-03f, 1.042162108e-03f, 1.035408332e-03f, 1.028653099e-03f,
+1.021896422e-03f, 1.015138312e-03f, 1.008378780e-03f, 1.001617839e-03f, 9.948554997e-04f, 9.880917747e-04f, 9.813266753e-04f, 9.745602133e-04f, 9.677924006e-04f, 9.610232489e-04f,
+9.542527698e-04f, 9.474809753e-04f, 9.407078771e-04f, 9.339334869e-04f, 9.271578166e-04f, 9.203808778e-04f, 9.136026823e-04f, 9.068232420e-04f, 9.000425687e-04f, 8.932606739e-04f,
+8.864775697e-04f, 8.796932677e-04f, 8.729077798e-04f, 8.661211176e-04f, 8.593332931e-04f, 8.525443179e-04f, 8.457542039e-04f, 8.389629629e-04f, 8.321706066e-04f, 8.253771469e-04f,
+8.185825955e-04f, 8.117869643e-04f, 8.049902650e-04f, 7.981925094e-04f, 7.913937094e-04f, 7.845938766e-04f, 7.777930231e-04f, 7.709911604e-04f, 7.641883005e-04f, 7.573844551e-04f,
+7.505796361e-04f, 7.437738553e-04f, 7.369671244e-04f, 7.301594552e-04f, 7.233508597e-04f, 7.165413496e-04f, 7.097309366e-04f, 7.029196327e-04f, 6.961074496e-04f, 6.892943992e-04f,
+6.824804932e-04f, 6.756657435e-04f, 6.688501619e-04f, 6.620337603e-04f, 6.552165503e-04f, 6.483985440e-04f, 6.415797530e-04f, 6.347601892e-04f, 6.279398644e-04f, 6.211187905e-04f,
+6.142969793e-04f, 6.074744425e-04f, 6.006511921e-04f, 5.938272398e-04f, 5.870025975e-04f, 5.801772770e-04f, 5.733512901e-04f, 5.665246487e-04f, 5.596973646e-04f, 5.528694496e-04f,
+5.460409156e-04f, 5.392117743e-04f, 5.323820376e-04f, 5.255517174e-04f, 5.187208254e-04f, 5.118893736e-04f, 5.050573737e-04f, 4.982248375e-04f, 4.913917770e-04f, 4.845582039e-04f,
+4.777241300e-04f, 4.708895673e-04f, 4.640545275e-04f, 4.572190225e-04f, 4.503830641e-04f, 4.435466642e-04f, 4.367098345e-04f, 4.298725870e-04f, 4.230349334e-04f, 4.161968855e-04f,
+4.093584554e-04f, 4.025196546e-04f, 3.956804952e-04f, 3.888409889e-04f, 3.820011476e-04f, 3.751609831e-04f, 3.683205072e-04f, 3.614797318e-04f, 3.546386687e-04f, 3.477973297e-04f,
+3.409557268e-04f, 3.341138716e-04f, 3.272717762e-04f, 3.204294522e-04f, 3.135869115e-04f, 3.067441660e-04f, 2.999012275e-04f, 2.930581078e-04f, 2.862148188e-04f, 2.793713723e-04f,
+2.725277801e-04f, 2.656840541e-04f, 2.588402061e-04f, 2.519962479e-04f, 2.451521914e-04f, 2.383080484e-04f, 2.314638307e-04f, 2.246195501e-04f, 2.177752186e-04f, 2.109308479e-04f,
+2.040864498e-04f, 1.972420362e-04f, 1.903976189e-04f, 1.835532097e-04f, 1.767088205e-04f, 1.698644630e-04f, 1.630201492e-04f, 1.561758908e-04f, 1.493316997e-04f, 1.424875877e-04f,
+1.356435666e-04f, 1.287996482e-04f, 1.219558443e-04f, 1.151121668e-04f, 1.082686276e-04f, 1.014252383e-04f, 9.458201087e-05f, 8.773895708e-05f, 8.089608876e-05f, 7.405341771e-05f,
+6.721095577e-05f, 6.036871473e-05f, 5.352670642e-05f, 4.668494263e-05f, 3.984343520e-05f, 3.300219592e-05f, 2.616123660e-05f, 1.932056905e-05f, 1.248020509e-05f, 5.640156501e-06f,
+-1.199564896e-06f, -8.038947301e-06f, -1.487797891e-05f, -2.171664793e-05f, -2.855494255e-05f, -3.539285098e-05f, -4.223036142e-05f, -4.906746207e-05f, -5.590414115e-05f, -6.274038685e-05f,
+-6.957618738e-05f, -7.641153095e-05f, -8.324640578e-05f, -9.008080008e-05f, -9.691470205e-05f, -1.037480999e-04f, -1.105809819e-04f, -1.174133362e-04f, -1.242451511e-04f, -1.310764147e-04f,
+-1.379071153e-04f, -1.447372411e-04f, -1.515667804e-04f, -1.583957213e-04f, -1.652240521e-04f, -1.720517611e-04f, -1.788788364e-04f, -1.857052663e-04f, -1.925310391e-04f, -1.993561428e-04f,
+-2.061805659e-04f, -2.130042966e-04f, -2.198273230e-04f, -2.266496335e-04f, -2.334712162e-04f, -2.402920595e-04f, -2.471121515e-04f, -2.539314805e-04f, -2.607500349e-04f, -2.675678027e-04f,
+-2.743847724e-04f, -2.812009321e-04f, -2.880162701e-04f, -2.948307747e-04f, -3.016444341e-04f, -3.084572367e-04f, -3.152691706e-04f, -3.220802241e-04f, -3.288903856e-04f, -3.356996433e-04f,
+-3.425079854e-04f, -3.493154003e-04f, -3.561218763e-04f, -3.629274015e-04f, -3.697319644e-04f, -3.765355532e-04f, -3.833381561e-04f, -3.901397615e-04f, -3.969403577e-04f, -4.037399330e-04f,
+-4.105384757e-04f, -4.173359740e-04f, -4.241324163e-04f, -4.309277909e-04f, -4.377220861e-04f, -4.445152902e-04f, -4.513073915e-04f, -4.580983784e-04f, -4.648882391e-04f, -4.716769620e-04f,
+-4.784645355e-04f, -4.852509477e-04f, -4.920361871e-04f, -4.988202421e-04f, -5.056031008e-04f, -5.123847518e-04f, -5.191651832e-04f, -5.259443835e-04f, -5.327223410e-04f, -5.394990440e-04f,
+-5.462744810e-04f, -5.530486402e-04f, -5.598215100e-04f, -5.665930788e-04f, -5.733633349e-04f, -5.801322667e-04f, -5.868998626e-04f, -5.936661109e-04f, -6.004310000e-04f, -6.071945184e-04f,
+-6.139566543e-04f, -6.207173961e-04f, -6.274767323e-04f, -6.342346512e-04f, -6.409911412e-04f, -6.477461907e-04f, -6.544997882e-04f, -6.612519219e-04f, -6.680025804e-04f, -6.747517520e-04f,
+-6.814994251e-04f, -6.882455881e-04f, -6.949902296e-04f, -7.017333378e-04f, -7.084749012e-04f, -7.152149082e-04f, -7.219533473e-04f, -7.286902069e-04f, -7.354254755e-04f, -7.421591414e-04f,
+-7.488911931e-04f, -7.556216191e-04f, -7.623504077e-04f, -7.690775476e-04f, -7.758030270e-04f, -7.825268346e-04f, -7.892489586e-04f, -7.959693877e-04f, -8.026881103e-04f, -8.094051148e-04f,
+-8.161203897e-04f, -8.228339236e-04f, -8.295457048e-04f, -8.362557219e-04f, -8.429639634e-04f, -8.496704178e-04f, -8.563750735e-04f, -8.630779191e-04f, -8.697789430e-04f, -8.764781339e-04f,
+-8.831754802e-04f, -8.898709703e-04f, -8.965645929e-04f, -9.032563365e-04f, -9.099461896e-04f, -9.166341407e-04f, -9.233201783e-04f, -9.300042911e-04f, -9.366864675e-04f, -9.433666961e-04f,
+-9.500449654e-04f, -9.567212640e-04f, -9.633955805e-04f, -9.700679035e-04f, -9.767382214e-04f, -9.834065229e-04f, -9.900727965e-04f, -9.967370309e-04f, -1.003399215e-03f, -1.010059336e-03f,
+-1.016717384e-03f, -1.023373347e-03f, -1.030027214e-03f, -1.036678973e-03f, -1.043328613e-03f, -1.049976123e-03f, -1.056621490e-03f, -1.063264705e-03f, -1.069905755e-03f, -1.076544628e-03f,
+-1.083181315e-03f, -1.089815802e-03f, -1.096448080e-03f, -1.103078136e-03f, -1.109705960e-03f, -1.116331539e-03f, -1.122954863e-03f, -1.129575920e-03f, -1.136194699e-03f, -1.142811189e-03f,
+-1.149425377e-03f, -1.156037254e-03f, -1.162646807e-03f, -1.169254026e-03f, -1.175858898e-03f, -1.182461414e-03f, -1.189061560e-03f, -1.195659327e-03f, -1.202254703e-03f, -1.208847676e-03f,
+-1.215438235e-03f, -1.222026370e-03f, -1.228612068e-03f, -1.235195319e-03f, -1.241776111e-03f, -1.248354433e-03f, -1.254930273e-03f, -1.261503621e-03f, -1.268074466e-03f, -1.274642795e-03f,
+-1.281208598e-03f, -1.287771864e-03f, -1.294332581e-03f, -1.300890738e-03f, -1.307446324e-03f, -1.313999328e-03f, -1.320549739e-03f, -1.327097545e-03f, -1.333642735e-03f, -1.340185298e-03f,
+-1.346725222e-03f, -1.353262498e-03f, -1.359797112e-03f, -1.366329056e-03f, -1.372858316e-03f, -1.379384882e-03f, -1.385908743e-03f, -1.392429888e-03f, -1.398948306e-03f, -1.405463984e-03f,
+-1.411976914e-03f, -1.418487082e-03f, -1.424994479e-03f, -1.431499092e-03f, -1.438000911e-03f, -1.444499925e-03f, -1.450996123e-03f, -1.457489494e-03f, -1.463980026e-03f, -1.470467708e-03f,
+-1.476952530e-03f, -1.483434480e-03f, -1.489913547e-03f, -1.496389720e-03f, -1.502862989e-03f, -1.509333342e-03f, -1.515800768e-03f, -1.522265255e-03f, -1.528726794e-03f, -1.535185373e-03f,
+-1.541640981e-03f, -1.548093606e-03f, -1.554543239e-03f, -1.560989868e-03f, -1.567433481e-03f, -1.573874069e-03f, -1.580311619e-03f, -1.586746122e-03f, -1.593177566e-03f, -1.599605939e-03f,
+-1.606031232e-03f, -1.612453433e-03f, -1.618872532e-03f, -1.625288516e-03f, -1.631701376e-03f, -1.638111100e-03f, -1.644517678e-03f, -1.650921099e-03f, -1.657321351e-03f, -1.663718424e-03f,
+-1.670112307e-03f, -1.676502989e-03f, -1.682890459e-03f, -1.689274706e-03f, -1.695655719e-03f, -1.702033488e-03f, -1.708408002e-03f, -1.714779249e-03f, -1.721147220e-03f, -1.727511902e-03f,
+-1.733873286e-03f, -1.740231360e-03f, -1.746586113e-03f, -1.752937536e-03f, -1.759285616e-03f, -1.765630344e-03f, -1.771971708e-03f, -1.778309697e-03f, -1.784644301e-03f, -1.790975510e-03f,
+-1.797303311e-03f, -1.803627695e-03f, -1.809948650e-03f, -1.816266167e-03f, -1.822580234e-03f, -1.828890840e-03f, -1.835197975e-03f, -1.841501628e-03f, -1.847801788e-03f, -1.854098445e-03f,
+-1.860391587e-03f, -1.866681205e-03f, -1.872967287e-03f, -1.879249823e-03f, -1.885528802e-03f, -1.891804213e-03f, -1.898076046e-03f, -1.904344290e-03f, -1.910608935e-03f, -1.916869969e-03f,
+-1.923127383e-03f, -1.929381165e-03f, -1.935631305e-03f, -1.941877792e-03f, -1.948120615e-03f, -1.954359765e-03f, -1.960595230e-03f, -1.966827000e-03f, -1.973055065e-03f, -1.979279412e-03f,
+-1.985500033e-03f, -1.991716917e-03f, -1.997930052e-03f, -2.004139429e-03f, -2.010345037e-03f, -2.016546865e-03f, -2.022744903e-03f, -2.028939140e-03f, -2.035129566e-03f, -2.041316170e-03f,
+-2.047498942e-03f, -2.053677871e-03f, -2.059852947e-03f, -2.066024159e-03f, -2.072191497e-03f, -2.078354950e-03f, -2.084514508e-03f, -2.090670161e-03f, -2.096821897e-03f, -2.102969708e-03f,
+-2.109113581e-03f, -2.115253507e-03f, -2.121389475e-03f, -2.127521475e-03f, -2.133649497e-03f, -2.139773529e-03f, -2.145893562e-03f, -2.152009586e-03f, -2.158121590e-03f, -2.164229563e-03f,
+-2.170333495e-03f, -2.176433376e-03f, -2.182529196e-03f, -2.188620944e-03f, -2.194708609e-03f, -2.200792183e-03f, -2.206871653e-03f, -2.212947011e-03f, -2.219018245e-03f, -2.225085345e-03f,
+-2.231148302e-03f, -2.237207104e-03f, -2.243261742e-03f, -2.249312205e-03f, -2.255358483e-03f, -2.261400566e-03f, -2.267438444e-03f, -2.273472105e-03f, -2.279501541e-03f, -2.285526741e-03f,
+-2.291547694e-03f, -2.297564391e-03f, -2.303576822e-03f, -2.309584975e-03f, -2.315588841e-03f, -2.321588410e-03f, -2.327583672e-03f, -2.333574616e-03f, -2.339561233e-03f, -2.345543512e-03f,
+-2.351521442e-03f, -2.357495015e-03f, -2.363464220e-03f, -2.369429046e-03f, -2.375389484e-03f, -2.381345524e-03f, -2.387297155e-03f, -2.393244368e-03f, -2.399187152e-03f, -2.405125497e-03f,
+-2.411059394e-03f, -2.416988832e-03f, -2.422913801e-03f, -2.428834291e-03f, -2.434750293e-03f, -2.440661796e-03f, -2.446568790e-03f, -2.452471265e-03f, -2.458369211e-03f, -2.464262619e-03f,
+-2.470151478e-03f, -2.476035778e-03f, -2.481915510e-03f, -2.487790663e-03f, -2.493661228e-03f, -2.499527195e-03f, -2.505388553e-03f, -2.511245293e-03f, -2.517097405e-03f, -2.522944879e-03f,
+-2.528787705e-03f, -2.534625873e-03f, -2.540459374e-03f, -2.546288197e-03f, -2.552112334e-03f, -2.557931773e-03f, -2.563746505e-03f, -2.569556520e-03f, -2.575361809e-03f, -2.581162362e-03f,
+-2.586958168e-03f, -2.592749219e-03f, -2.598535504e-03f, -2.604317013e-03f, -2.610093738e-03f, -2.615865667e-03f, -2.621632792e-03f, -2.627395102e-03f, -2.633152588e-03f, -2.638905240e-03f,
+-2.644653049e-03f, -2.650396004e-03f, -2.656134097e-03f, -2.661867317e-03f, -2.667595654e-03f, -2.673319100e-03f, -2.679037644e-03f, -2.684751277e-03f, -2.690459989e-03f, -2.696163771e-03f,
+-2.701862613e-03f, -2.707556504e-03f, -2.713245437e-03f, -2.718929401e-03f, -2.724608386e-03f, -2.730282383e-03f, -2.735951383e-03f, -2.741615375e-03f, -2.747274351e-03f, -2.752928301e-03f,
+-2.758577215e-03f, -2.764221084e-03f, -2.769859898e-03f, -2.775493647e-03f, -2.781122323e-03f, -2.786745916e-03f, -2.792364416e-03f, -2.797977814e-03f, -2.803586101e-03f, -2.809189266e-03f,
+-2.814787301e-03f, -2.820380196e-03f, -2.825967942e-03f, -2.831550529e-03f, -2.837127948e-03f, -2.842700190e-03f, -2.848267245e-03f, -2.853829104e-03f, -2.859385757e-03f, -2.864937195e-03f,
+-2.870483409e-03f, -2.876024389e-03f, -2.881560127e-03f, -2.887090612e-03f, -2.892615836e-03f, -2.898135789e-03f, -2.903650462e-03f, -2.909159846e-03f, -2.914663931e-03f, -2.920162708e-03f,
+-2.925656169e-03f, -2.931144303e-03f, -2.936627101e-03f, -2.942104555e-03f, -2.947576655e-03f, -2.953043391e-03f, -2.958504756e-03f, -2.963960739e-03f, -2.969411331e-03f, -2.974856523e-03f,
+-2.980296307e-03f, -2.985730672e-03f, -2.991159610e-03f, -2.996583112e-03f, -3.002001169e-03f, -3.007413771e-03f, -3.012820909e-03f, -3.018222575e-03f, -3.023618759e-03f, -3.029009452e-03f,
+-3.034394645e-03f, -3.039774330e-03f, -3.045148496e-03f, -3.050517136e-03f, -3.055880240e-03f, -3.061237799e-03f, -3.066589804e-03f, -3.071936246e-03f, -3.077277116e-03f, -3.082612405e-03f,
+-3.087942105e-03f, -3.093266206e-03f, -3.098584700e-03f, -3.103897576e-03f, -3.109204828e-03f, -3.114506445e-03f, -3.119802419e-03f, -3.125092741e-03f, -3.130377402e-03f, -3.135656394e-03f,
+-3.140929706e-03f, -3.146197331e-03f, -3.151459260e-03f, -3.156715484e-03f, -3.161965994e-03f, -3.167210781e-03f, -3.172449837e-03f, -3.177683153e-03f, -3.182910719e-03f, -3.188132528e-03f,
+-3.193348570e-03f, -3.198558837e-03f, -3.203763320e-03f, -3.208962011e-03f, -3.214154900e-03f, -3.219341979e-03f, -3.224523239e-03f, -3.229698673e-03f, -3.234868270e-03f, -3.240032022e-03f,
+-3.245189921e-03f, -3.250341958e-03f, -3.255488124e-03f, -3.260628412e-03f, -3.265762811e-03f, -3.270891315e-03f, -3.276013913e-03f, -3.281130598e-03f, -3.286241361e-03f, -3.291346193e-03f,
+-3.296445086e-03f, -3.301538032e-03f, -3.306625022e-03f, -3.311706047e-03f, -3.316781098e-03f, -3.321850169e-03f, -3.326913249e-03f, -3.331970331e-03f, -3.337021406e-03f, -3.342066465e-03f,
+-3.347105501e-03f, -3.352138504e-03f, -3.357165467e-03f, -3.362186381e-03f, -3.367201238e-03f, -3.372210028e-03f, -3.377212745e-03f, -3.382209379e-03f, -3.387199923e-03f, -3.392184367e-03f,
+-3.397162704e-03f, -3.402134926e-03f, -3.407101023e-03f, -3.412060988e-03f, -3.417014812e-03f, -3.421962488e-03f, -3.426904007e-03f, -3.431839360e-03f, -3.436768540e-03f, -3.441691538e-03f,
+-3.446608346e-03f, -3.451518956e-03f, -3.456423360e-03f, -3.461321549e-03f, -3.466213516e-03f, -3.471099251e-03f, -3.475978748e-03f, -3.480851998e-03f, -3.485718993e-03f, -3.490579725e-03f,
+-3.495434185e-03f, -3.500282365e-03f, -3.505124259e-03f, -3.509959856e-03f, -3.514789151e-03f, -3.519612133e-03f, -3.524428796e-03f, -3.529239131e-03f, -3.534043130e-03f, -3.538840786e-03f,
+-3.543632091e-03f, -3.548417035e-03f, -3.553195612e-03f, -3.557967814e-03f, -3.562733632e-03f, -3.567493059e-03f, -3.572246086e-03f, -3.576992706e-03f, -3.581732912e-03f, -3.586466694e-03f,
+-3.591194046e-03f, -3.595914959e-03f, -3.600629425e-03f, -3.605337437e-03f, -3.610038987e-03f, -3.614734067e-03f, -3.619422670e-03f, -3.624104787e-03f, -3.628780410e-03f, -3.633449533e-03f,
+-3.638112147e-03f, -3.642768244e-03f, -3.647417817e-03f, -3.652060858e-03f, -3.656697359e-03f, -3.661327313e-03f, -3.665950712e-03f, -3.670567548e-03f, -3.675177814e-03f, -3.679781502e-03f,
+-3.684378605e-03f, -3.688969114e-03f, -3.693553022e-03f, -3.698130322e-03f, -3.702701005e-03f, -3.707265065e-03f, -3.711822494e-03f, -3.716373284e-03f, -3.720917428e-03f, -3.725454919e-03f,
+-3.729985747e-03f, -3.734509908e-03f, -3.739027391e-03f, -3.743538191e-03f, -3.748042300e-03f, -3.752539710e-03f, -3.757030414e-03f, -3.761514405e-03f, -3.765991674e-03f, -3.770462215e-03f,
+-3.774926021e-03f, -3.779383083e-03f, -3.783833395e-03f, -3.788276948e-03f, -3.792713737e-03f, -3.797143753e-03f, -3.801566989e-03f, -3.805983438e-03f, -3.810393092e-03f, -3.814795945e-03f,
+-3.819191989e-03f, -3.823581216e-03f, -3.827963620e-03f, -3.832339193e-03f, -3.836707928e-03f, -3.841069817e-03f, -3.845424855e-03f, -3.849773032e-03f, -3.854114343e-03f, -3.858448780e-03f,
+-3.862776336e-03f, -3.867097004e-03f, -3.871410776e-03f, -3.875717646e-03f, -3.880017606e-03f, -3.884310649e-03f, -3.888596769e-03f, -3.892875958e-03f, -3.897148209e-03f, -3.901413515e-03f,
+-3.905671869e-03f, -3.909923264e-03f, -3.914167693e-03f, -3.918405150e-03f, -3.922635626e-03f, -3.926859115e-03f, -3.931075611e-03f, -3.935285106e-03f, -3.939487593e-03f, -3.943683065e-03f,
+-3.947871516e-03f, -3.952052938e-03f, -3.956227325e-03f, -3.960394670e-03f, -3.964554966e-03f, -3.968708206e-03f, -3.972854383e-03f, -3.976993491e-03f, -3.981125522e-03f, -3.985250470e-03f,
+-3.989368329e-03f, -3.993479090e-03f, -3.997582749e-03f, -4.001679297e-03f, -4.005768728e-03f, -4.009851035e-03f, -4.013926213e-03f, -4.017994253e-03f, -4.022055149e-03f, -4.026108896e-03f,
+-4.030155485e-03f, -4.034194910e-03f, -4.038227166e-03f, -4.042252244e-03f, -4.046270139e-03f, -4.050280844e-03f, -4.054284352e-03f, -4.058280657e-03f, -4.062269752e-03f, -4.066251631e-03f,
+-4.070226287e-03f, -4.074193714e-03f, -4.078153905e-03f, -4.082106853e-03f, -4.086052553e-03f, -4.089990997e-03f, -4.093922180e-03f, -4.097846095e-03f, -4.101762735e-03f, -4.105672094e-03f,
+-4.109574166e-03f, -4.113468944e-03f, -4.117356421e-03f, -4.121236593e-03f, -4.125109451e-03f, -4.128974991e-03f, -4.132833204e-03f, -4.136684086e-03f, -4.140527630e-03f, -4.144363830e-03f,
+-4.148192679e-03f, -4.152014171e-03f, -4.155828300e-03f, -4.159635060e-03f, -4.163434444e-03f, -4.167226446e-03f, -4.171011060e-03f, -4.174788280e-03f, -4.178558100e-03f, -4.182320514e-03f,
+-4.186075514e-03f, -4.189823096e-03f, -4.193563254e-03f, -4.197295980e-03f, -4.201021269e-03f, -4.204739116e-03f, -4.208449513e-03f, -4.212152455e-03f, -4.215847936e-03f, -4.219535949e-03f,
+-4.223216489e-03f, -4.226889550e-03f, -4.230555126e-03f, -4.234213211e-03f, -4.237863799e-03f, -4.241506883e-03f, -4.245142459e-03f, -4.248770519e-03f, -4.252391059e-03f, -4.256004072e-03f,
+-4.259609553e-03f, -4.263207495e-03f, -4.266797893e-03f, -4.270380741e-03f, -4.273956033e-03f, -4.277523763e-03f, -4.281083926e-03f, -4.284636515e-03f, -4.288181526e-03f, -4.291718951e-03f,
+-4.295248786e-03f, -4.298771025e-03f, -4.302285662e-03f, -4.305792691e-03f, -4.309292107e-03f, -4.312783903e-03f, -4.316268075e-03f, -4.319744617e-03f, -4.323213522e-03f, -4.326674786e-03f,
+-4.330128403e-03f, -4.333574367e-03f, -4.337012673e-03f, -4.340443315e-03f, -4.343866287e-03f, -4.347281584e-03f, -4.350689201e-03f, -4.354089132e-03f, -4.357481371e-03f, -4.360865913e-03f,
+-4.364242753e-03f, -4.367611884e-03f, -4.370973302e-03f, -4.374327002e-03f, -4.377672977e-03f, -4.381011222e-03f, -4.384341733e-03f, -4.387664503e-03f, -4.390979527e-03f, -4.394286801e-03f,
+-4.397586317e-03f, -4.400878072e-03f, -4.404162060e-03f, -4.407438276e-03f, -4.410706714e-03f, -4.413967369e-03f, -4.417220235e-03f, -4.420465309e-03f, -4.423702584e-03f, -4.426932055e-03f,
+-4.430153717e-03f, -4.433367564e-03f, -4.436573593e-03f, -4.439771797e-03f, -4.442962171e-03f, -4.446144710e-03f, -4.449319410e-03f, -4.452486264e-03f, -4.455645268e-03f, -4.458796418e-03f,
+-4.461939707e-03f, -4.465075130e-03f, -4.468202684e-03f, -4.471322362e-03f, -4.474434159e-03f, -4.477538072e-03f, -4.480634094e-03f, -4.483722221e-03f, -4.486802448e-03f, -4.489874769e-03f,
+-4.492939181e-03f, -4.495995677e-03f, -4.499044254e-03f, -4.502084906e-03f, -4.505117628e-03f, -4.508142416e-03f, -4.511159265e-03f, -4.514168170e-03f, -4.517169125e-03f, -4.520162127e-03f,
+-4.523147171e-03f, -4.526124251e-03f, -4.529093363e-03f, -4.532054503e-03f, -4.535007665e-03f, -4.537952845e-03f, -4.540890038e-03f, -4.543819239e-03f, -4.546740445e-03f, -4.549653649e-03f,
+-4.552558848e-03f, -4.555456037e-03f, -4.558345211e-03f, -4.561226366e-03f, -4.564099496e-03f, -4.566964599e-03f, -4.569821668e-03f, -4.572670700e-03f, -4.575511689e-03f, -4.578344632e-03f,
+-4.581169524e-03f, -4.583986360e-03f, -4.586795136e-03f, -4.589595847e-03f, -4.592388490e-03f, -4.595173059e-03f, -4.597949550e-03f, -4.600717959e-03f, -4.603478282e-03f, -4.606230513e-03f,
+-4.608974649e-03f, -4.611710686e-03f, -4.614438618e-03f, -4.617158442e-03f, -4.619870154e-03f, -4.622573748e-03f, -4.625269222e-03f, -4.627956570e-03f, -4.630635788e-03f, -4.633306872e-03f,
+-4.635969818e-03f, -4.638624622e-03f, -4.641271280e-03f, -4.643909786e-03f, -4.646540138e-03f, -4.649162331e-03f, -4.651776360e-03f, -4.654382223e-03f, -4.656979914e-03f, -4.659569430e-03f,
+-4.662150766e-03f, -4.664723919e-03f, -4.667288884e-03f, -4.669845657e-03f, -4.672394235e-03f, -4.674934613e-03f, -4.677466787e-03f, -4.679990754e-03f, -4.682506510e-03f, -4.685014050e-03f,
+-4.687513370e-03f, -4.690004467e-03f, -4.692487337e-03f, -4.694961976e-03f, -4.697428380e-03f, -4.699886545e-03f, -4.702336467e-03f, -4.704778143e-03f, -4.707211568e-03f, -4.709636739e-03f,
+-4.712053652e-03f, -4.714462304e-03f, -4.716862690e-03f, -4.719254807e-03f, -4.721638652e-03f, -4.724014219e-03f, -4.726381506e-03f, -4.728740509e-03f, -4.731091225e-03f, -4.733433649e-03f,
+-4.735767779e-03f, -4.738093609e-03f, -4.740411138e-03f, -4.742720360e-03f, -4.745021274e-03f, -4.747313874e-03f, -4.749598158e-03f, -4.751874122e-03f, -4.754141762e-03f, -4.756401076e-03f,
+-4.758652058e-03f, -4.760894707e-03f, -4.763129018e-03f, -4.765354989e-03f, -4.767572615e-03f, -4.769781893e-03f, -4.771982820e-03f, -4.774175392e-03f, -4.776359606e-03f, -4.778535459e-03f,
+-4.780702948e-03f, -4.782862068e-03f, -4.785012817e-03f, -4.787155191e-03f, -4.789289188e-03f, -4.791414803e-03f, -4.793532034e-03f, -4.795640877e-03f, -4.797741329e-03f, -4.799833387e-03f,
+-4.801917047e-03f, -4.803992307e-03f, -4.806059163e-03f, -4.808117613e-03f, -4.810167652e-03f, -4.812209278e-03f, -4.814242488e-03f, -4.816267279e-03f, -4.818283647e-03f, -4.820291590e-03f,
+-4.822291104e-03f, -4.824282187e-03f, -4.826264835e-03f, -4.828239045e-03f, -4.830204814e-03f, -4.832162140e-03f, -4.834111020e-03f, -4.836051450e-03f, -4.837983427e-03f, -4.839906949e-03f,
+-4.841822013e-03f, -4.843728615e-03f, -4.845626754e-03f, -4.847516425e-03f, -4.849397627e-03f, -4.851270356e-03f, -4.853134610e-03f, -4.854990385e-03f, -4.856837680e-03f, -4.858676491e-03f,
+-4.860506815e-03f, -4.862328649e-03f, -4.864141992e-03f, -4.865946840e-03f, -4.867743191e-03f, -4.869531041e-03f, -4.871310389e-03f, -4.873081231e-03f, -4.874843565e-03f, -4.876597388e-03f,
+-4.878342698e-03f, -4.880079492e-03f, -4.881807768e-03f, -4.883527522e-03f, -4.885238753e-03f, -4.886941458e-03f, -4.888635634e-03f, -4.890321278e-03f, -4.891998389e-03f, -4.893666964e-03f,
+-4.895327001e-03f, -4.896978496e-03f, -4.898621447e-03f, -4.900255853e-03f, -4.901881711e-03f, -4.903499017e-03f, -4.905107771e-03f, -4.906707969e-03f, -4.908299609e-03f, -4.909882689e-03f,
+-4.911457207e-03f, -4.913023160e-03f, -4.914580546e-03f, -4.916129363e-03f, -4.917669608e-03f, -4.919201280e-03f, -4.920724375e-03f, -4.922238892e-03f, -4.923744829e-03f, -4.925242183e-03f,
+-4.926730952e-03f, -4.928211135e-03f, -4.929682728e-03f, -4.931145731e-03f, -4.932600140e-03f, -4.934045953e-03f, -4.935483170e-03f, -4.936911786e-03f, -4.938331801e-03f, -4.939743213e-03f,
+-4.941146019e-03f, -4.942540218e-03f, -4.943925807e-03f, -4.945302784e-03f, -4.946671148e-03f, -4.948030896e-03f, -4.949382028e-03f, -4.950724540e-03f, -4.952058430e-03f, -4.953383698e-03f,
+-4.954700341e-03f, -4.956008357e-03f, -4.957307744e-03f, -4.958598501e-03f, -4.959880626e-03f, -4.961154117e-03f, -4.962418972e-03f, -4.963675189e-03f, -4.964922768e-03f, -4.966161705e-03f,
+-4.967391999e-03f, -4.968613649e-03f, -4.969826653e-03f, -4.971031009e-03f, -4.972226716e-03f, -4.973413772e-03f, -4.974592175e-03f, -4.975761923e-03f, -4.976923016e-03f, -4.978075451e-03f,
+-4.979219227e-03f, -4.980354343e-03f, -4.981480796e-03f, -4.982598586e-03f, -4.983707711e-03f, -4.984808169e-03f, -4.985899959e-03f, -4.986983079e-03f, -4.988057528e-03f, -4.989123305e-03f,
+-4.990180408e-03f, -4.991228836e-03f, -4.992268587e-03f, -4.993299659e-03f, -4.994322053e-03f, -4.995335766e-03f, -4.996340797e-03f, -4.997337144e-03f, -4.998324807e-03f, -4.999303784e-03f,
+-5.000274074e-03f, -5.001235675e-03f, -5.002188587e-03f, -5.003132808e-03f, -5.004068336e-03f, -5.004995172e-03f, -5.005913313e-03f, -5.006822758e-03f, -5.007723507e-03f, -5.008615557e-03f,
+-5.009498909e-03f, -5.010373561e-03f, -5.011239511e-03f, -5.012096759e-03f, -5.012945304e-03f, -5.013785145e-03f, -5.014616280e-03f, -5.015438709e-03f, -5.016252431e-03f, -5.017057444e-03f,
+-5.017853748e-03f, -5.018641342e-03f, -5.019420224e-03f, -5.020190395e-03f, -5.020951852e-03f, -5.021704596e-03f, -5.022448625e-03f, -5.023183938e-03f, -5.023910535e-03f, -5.024628415e-03f,
+-5.025337576e-03f, -5.026038019e-03f, -5.026729742e-03f, -5.027412744e-03f, -5.028087026e-03f, -5.028752585e-03f, -5.029409422e-03f, -5.030057536e-03f, -5.030696925e-03f, -5.031327590e-03f,
+-5.031949530e-03f, -5.032562743e-03f, -5.033167230e-03f, -5.033762990e-03f, -5.034350022e-03f, -5.034928325e-03f, -5.035497899e-03f, -5.036058744e-03f, -5.036610859e-03f, -5.037154243e-03f,
+-5.037688896e-03f, -5.038214818e-03f, -5.038732007e-03f, -5.039240464e-03f, -5.039740188e-03f, -5.040231178e-03f, -5.040713435e-03f, -5.041186957e-03f, -5.041651745e-03f, -5.042107797e-03f,
+-5.042555114e-03f, -5.042993696e-03f, -5.043423541e-03f, -5.043844651e-03f, -5.044257023e-03f, -5.044660659e-03f, -5.045055557e-03f, -5.045441718e-03f, -5.045819141e-03f, -5.046187826e-03f,
+-5.046547774e-03f, -5.046898983e-03f, -5.047241453e-03f, -5.047575185e-03f, -5.047900178e-03f, -5.048216432e-03f, -5.048523947e-03f, -5.048822723e-03f, -5.049112760e-03f, -5.049394057e-03f,
+-5.049666615e-03f, -5.049930434e-03f, -5.050185513e-03f, -5.050431853e-03f, -5.050669453e-03f, -5.050898314e-03f, -5.051118436e-03f, -5.051329818e-03f, -5.051532461e-03f, -5.051726365e-03f,
+-5.051911530e-03f, -5.052087956e-03f, -5.052255643e-03f, -5.052414592e-03f, -5.052564802e-03f, -5.052706273e-03f, -5.052839006e-03f, -5.052963002e-03f, -5.053078259e-03f, -5.053184780e-03f,
+-5.053282562e-03f, -5.053371608e-03f, -5.053451917e-03f, -5.053523490e-03f, -5.053586326e-03f, -5.053640427e-03f, -5.053685792e-03f, -5.053722422e-03f, -5.053750317e-03f, -5.053769478e-03f,
+-5.053779905e-03f, -5.053781599e-03f, -5.053774559e-03f, -5.053758786e-03f, -5.053734282e-03f, -5.053701045e-03f, -5.053659077e-03f, -5.053608379e-03f, -5.053548950e-03f, -5.053480791e-03f,
+-5.053403904e-03f, -5.053318287e-03f, -5.053223943e-03f, -5.053120871e-03f, -5.053009073e-03f, -5.052888548e-03f, -5.052759297e-03f, -5.052621322e-03f, -5.052474622e-03f, -5.052319199e-03f,
+-5.052155053e-03f, -5.051982185e-03f, -5.051800595e-03f, -5.051610285e-03f, -5.051411255e-03f, -5.051203506e-03f, -5.050987038e-03f, -5.050761853e-03f, -5.050527951e-03f, -5.050285333e-03f,
+-5.050034000e-03f, -5.049773953e-03f, -5.049505192e-03f, -5.049227719e-03f, -5.048941535e-03f, -5.048646640e-03f, -5.048343035e-03f, -5.048030722e-03f, -5.047709701e-03f, -5.047379973e-03f,
+-5.047041540e-03f, -5.046694402e-03f, -5.046338560e-03f, -5.045974015e-03f, -5.045600769e-03f, -5.045218822e-03f, -5.044828176e-03f, -5.044428832e-03f, -5.044020790e-03f, -5.043604052e-03f,
+-5.043178620e-03f, -5.042744493e-03f, -5.042301675e-03f, -5.041850164e-03f, -5.041389964e-03f, -5.040921074e-03f, -5.040443497e-03f, -5.039957233e-03f, -5.039462285e-03f, -5.038958652e-03f,
+-5.038446337e-03f, -5.037925340e-03f, -5.037395663e-03f, -5.036857308e-03f, -5.036310276e-03f, -5.035754567e-03f, -5.035190184e-03f, -5.034617128e-03f, -5.034035401e-03f, -5.033445003e-03f,
+-5.032845936e-03f, -5.032238202e-03f, -5.031621802e-03f, -5.030996738e-03f, -5.030363010e-03f, -5.029720622e-03f, -5.029069574e-03f, -5.028409867e-03f, -5.027741504e-03f, -5.027064485e-03f,
+-5.026378813e-03f, -5.025684490e-03f, -5.024981516e-03f, -5.024269893e-03f, -5.023549623e-03f, -5.022820708e-03f, -5.022083150e-03f, -5.021336950e-03f, -5.020582109e-03f, -5.019818630e-03f,
+-5.019046514e-03f, -5.018265763e-03f, -5.017476379e-03f, -5.016678364e-03f, -5.015871719e-03f, -5.015056446e-03f, -5.014232547e-03f, -5.013400025e-03f, -5.012558880e-03f, -5.011709114e-03f,
+-5.010850730e-03f, -5.009983730e-03f, -5.009108115e-03f, -5.008223888e-03f, -5.007331049e-03f, -5.006429602e-03f, -5.005519548e-03f, -5.004600889e-03f, -5.003673628e-03f, -5.002737766e-03f,
+-5.001793305e-03f, -5.000840247e-03f, -4.999878595e-03f, -4.998908351e-03f, -4.997929516e-03f, -4.996942092e-03f, -4.995946083e-03f, -4.994941489e-03f, -4.993928314e-03f, -4.992906559e-03f,
+-4.991876227e-03f, -4.990837319e-03f, -4.989789838e-03f, -4.988733787e-03f, -4.987669166e-03f, -4.986595980e-03f, -4.985514229e-03f, -4.984423917e-03f, -4.983325045e-03f, -4.982217617e-03f,
+-4.981101633e-03f, -4.979977097e-03f, -4.978844011e-03f, -4.977702377e-03f, -4.976552198e-03f, -4.975393476e-03f, -4.974226214e-03f, -4.973050413e-03f, -4.971866077e-03f, -4.970673208e-03f,
+-4.969471808e-03f, -4.968261880e-03f, -4.967043427e-03f, -4.965816450e-03f, -4.964580953e-03f, -4.963336938e-03f, -4.962084407e-03f, -4.960823364e-03f, -4.959553810e-03f, -4.958275749e-03f,
+-4.956989183e-03f, -4.955694114e-03f, -4.954390546e-03f, -4.953078481e-03f, -4.951757921e-03f, -4.950428870e-03f, -4.949091330e-03f, -4.947745303e-03f, -4.946390794e-03f, -4.945027803e-03f,
+-4.943656335e-03f, -4.942276391e-03f, -4.940887975e-03f, -4.939491090e-03f, -4.938085738e-03f, -4.936671922e-03f, -4.935249645e-03f, -4.933818910e-03f, -4.932379720e-03f, -4.930932077e-03f,
+-4.929475986e-03f, -4.928011447e-03f, -4.926538466e-03f, -4.925057043e-03f, -4.923567183e-03f, -4.922068889e-03f, -4.920562163e-03f, -4.919047008e-03f, -4.917523428e-03f, -4.915991426e-03f,
+-4.914451004e-03f, -4.912902165e-03f, -4.911344914e-03f, -4.909779252e-03f, -4.908205184e-03f, -4.906622711e-03f, -4.905031838e-03f, -4.903432567e-03f, -4.901824902e-03f, -4.900208846e-03f,
+-4.898584401e-03f, -4.896951572e-03f, -4.895310361e-03f, -4.893660772e-03f, -4.892002809e-03f, -4.890336473e-03f, -4.888661769e-03f, -4.886978699e-03f, -4.885287268e-03f, -4.883587479e-03f,
+-4.881879334e-03f, -4.880162838e-03f, -4.878437993e-03f, -4.876704803e-03f, -4.874963272e-03f, -4.873213402e-03f, -4.871455198e-03f, -4.869688662e-03f, -4.867913799e-03f, -4.866130611e-03f,
+-4.864339102e-03f, -4.862539276e-03f, -4.860731136e-03f, -4.858914686e-03f, -4.857089930e-03f, -4.855256870e-03f, -4.853415510e-03f, -4.851565854e-03f, -4.849707906e-03f, -4.847841669e-03f,
+-4.845967147e-03f, -4.844084344e-03f, -4.842193263e-03f, -4.840293907e-03f, -4.838386281e-03f, -4.836470389e-03f, -4.834546233e-03f, -4.832613818e-03f, -4.830673147e-03f, -4.828724225e-03f,
+-4.826767054e-03f, -4.824801639e-03f, -4.822827984e-03f, -4.820846092e-03f, -4.818855968e-03f, -4.816857614e-03f, -4.814851035e-03f, -4.812836235e-03f, -4.810813218e-03f, -4.808781988e-03f,
+-4.806742547e-03f, -4.804694902e-03f, -4.802639054e-03f, -4.800575009e-03f, -4.798502770e-03f, -4.796422342e-03f, -4.794333727e-03f, -4.792236931e-03f, -4.790131958e-03f, -4.788018810e-03f,
+-4.785897493e-03f, -4.783768011e-03f, -4.781630367e-03f, -4.779484566e-03f, -4.777330611e-03f, -4.775168508e-03f, -4.772998259e-03f, -4.770819870e-03f, -4.768633344e-03f, -4.766438685e-03f,
+-4.764235898e-03f, -4.762024988e-03f, -4.759805957e-03f, -4.757578810e-03f, -4.755343553e-03f, -4.753100188e-03f, -4.750848720e-03f, -4.748589154e-03f, -4.746321493e-03f, -4.744045743e-03f,
+-4.741761907e-03f, -4.739469990e-03f, -4.737169996e-03f, -4.734861929e-03f, -4.732545794e-03f, -4.730221596e-03f, -4.727889338e-03f, -4.725549026e-03f, -4.723200663e-03f, -4.720844253e-03f,
+-4.718479803e-03f, -4.716107315e-03f, -4.713726795e-03f, -4.711338247e-03f, -4.708941675e-03f, -4.706537085e-03f, -4.704124480e-03f, -4.701703865e-03f, -4.699275244e-03f, -4.696838624e-03f,
+-4.694394007e-03f, -4.691941398e-03f, -4.689480803e-03f, -4.687012226e-03f, -4.684535671e-03f, -4.682051143e-03f, -4.679558647e-03f, -4.677058188e-03f, -4.674549769e-03f, -4.672033397e-03f,
+-4.669509076e-03f, -4.666976810e-03f, -4.664436604e-03f, -4.661888463e-03f, -4.659332393e-03f, -4.656768396e-03f, -4.654196480e-03f, -4.651616647e-03f, -4.649028904e-03f, -4.646433254e-03f,
+-4.643829704e-03f, -4.641218257e-03f, -4.638598919e-03f, -4.635971694e-03f, -4.633336588e-03f, -4.630693606e-03f, -4.628042752e-03f, -4.625384031e-03f, -4.622717449e-03f, -4.620043010e-03f,
+-4.617360719e-03f, -4.614670582e-03f, -4.611972603e-03f, -4.609266787e-03f, -4.606553140e-03f, -4.603831667e-03f, -4.601102372e-03f, -4.598365262e-03f, -4.595620340e-03f, -4.592867612e-03f,
+-4.590107083e-03f, -4.587338759e-03f, -4.584562644e-03f, -4.581778744e-03f, -4.578987064e-03f, -4.576187609e-03f, -4.573380384e-03f, -4.570565395e-03f, -4.567742646e-03f, -4.564912144e-03f,
+-4.562073893e-03f, -4.559227898e-03f, -4.556374166e-03f, -4.553512700e-03f, -4.550643508e-03f, -4.547766593e-03f, -4.544881961e-03f, -4.541989618e-03f, -4.539089569e-03f, -4.536181819e-03f,
+-4.533266374e-03f, -4.530343240e-03f, -4.527412421e-03f, -4.524473923e-03f, -4.521527751e-03f, -4.518573912e-03f, -4.515612410e-03f, -4.512643251e-03f, -4.509666441e-03f, -4.506681984e-03f,
+-4.503689887e-03f, -4.500690156e-03f, -4.497682795e-03f, -4.494667810e-03f, -4.491645207e-03f, -4.488614991e-03f, -4.485577168e-03f, -4.482531744e-03f, -4.479478725e-03f, -4.476418115e-03f,
+-4.473349921e-03f, -4.470274148e-03f, -4.467190802e-03f, -4.464099889e-03f, -4.461001414e-03f, -4.457895383e-03f, -4.454781802e-03f, -4.451660677e-03f, -4.448532013e-03f, -4.445395816e-03f,
+-4.442252093e-03f, -4.439100848e-03f, -4.435942087e-03f, -4.432775817e-03f, -4.429602043e-03f, -4.426420771e-03f, -4.423232007e-03f, -4.420035757e-03f, -4.416832027e-03f, -4.413620823e-03f,
+-4.410402149e-03f, -4.407176014e-03f, -4.403942422e-03f, -4.400701379e-03f, -4.397452891e-03f, -4.394196965e-03f, -4.390933606e-03f, -4.387662821e-03f, -4.384384615e-03f, -4.381098994e-03f,
+-4.377805965e-03f, -4.374505533e-03f, -4.371197705e-03f, -4.367882486e-03f, -4.364559883e-03f, -4.361229902e-03f, -4.357892549e-03f, -4.354547829e-03f, -4.351195751e-03f, -4.347836318e-03f,
+-4.344469538e-03f, -4.341095417e-03f, -4.337713960e-03f, -4.334325175e-03f, -4.330929067e-03f, -4.327525643e-03f, -4.324114908e-03f, -4.320696870e-03f, -4.317271534e-03f, -4.313838906e-03f,
+-4.310398994e-03f, -4.306951802e-03f, -4.303497338e-03f, -4.300035608e-03f, -4.296566619e-03f, -4.293090375e-03f, -4.289606885e-03f, -4.286116154e-03f, -4.282618188e-03f, -4.279112995e-03f,
+-4.275600580e-03f, -4.272080950e-03f, -4.268554112e-03f, -4.265020071e-03f, -4.261478834e-03f, -4.257930409e-03f, -4.254374800e-03f, -4.250812015e-03f, -4.247242061e-03f, -4.243664943e-03f,
+-4.240080668e-03f, -4.236489244e-03f, -4.232890675e-03f, -4.229284970e-03f, -4.225672134e-03f, -4.222052175e-03f, -4.218425098e-03f, -4.214790911e-03f, -4.211149619e-03f, -4.207501230e-03f,
+-4.203845751e-03f, -4.200183187e-03f, -4.196513546e-03f, -4.192836835e-03f, -4.189153059e-03f, -4.185462227e-03f, -4.181764343e-03f, -4.178059416e-03f, -4.174347452e-03f, -4.170628458e-03f,
+-4.166902440e-03f, -4.163169406e-03f, -4.159429361e-03f, -4.155682314e-03f, -4.151928270e-03f, -4.148167237e-03f, -4.144399221e-03f, -4.140624229e-03f, -4.136842269e-03f, -4.133053346e-03f,
+-4.129257469e-03f, -4.125454643e-03f, -4.121644876e-03f, -4.117828174e-03f, -4.114004545e-03f, -4.110173996e-03f, -4.106336533e-03f, -4.102492164e-03f, -4.098640895e-03f, -4.094782733e-03f,
+-4.090917686e-03f, -4.087045760e-03f, -4.083166963e-03f, -4.079281301e-03f, -4.075388782e-03f, -4.071489413e-03f, -4.067583200e-03f, -4.063670151e-03f, -4.059750273e-03f, -4.055823573e-03f,
+-4.051890058e-03f, -4.047949736e-03f, -4.044002613e-03f, -4.040048696e-03f, -4.036087993e-03f, -4.032120511e-03f, -4.028146258e-03f, -4.024165239e-03f, -4.020177463e-03f, -4.016182937e-03f,
+-4.012181668e-03f, -4.008173663e-03f, -4.004158930e-03f, -4.000137475e-03f, -3.996109307e-03f, -3.992074431e-03f, -3.988032857e-03f, -3.983984590e-03f, -3.979929639e-03f, -3.975868010e-03f,
+-3.971799711e-03f, -3.967724750e-03f, -3.963643133e-03f, -3.959554868e-03f, -3.955459963e-03f, -3.951358425e-03f, -3.947250261e-03f, -3.943135479e-03f, -3.939014085e-03f, -3.934886089e-03f,
+-3.930751496e-03f, -3.926610315e-03f, -3.922462554e-03f, -3.918308218e-03f, -3.914147317e-03f, -3.909979857e-03f, -3.905805846e-03f, -3.901625292e-03f, -3.897438202e-03f, -3.893244583e-03f,
+-3.889044444e-03f, -3.884837792e-03f, -3.880624634e-03f, -3.876404978e-03f, -3.872178832e-03f, -3.867946203e-03f, -3.863707099e-03f, -3.859461528e-03f, -3.855209496e-03f, -3.850951013e-03f,
+-3.846686085e-03f, -3.842414720e-03f, -3.838136927e-03f, -3.833852712e-03f, -3.829562083e-03f, -3.825265048e-03f, -3.820961616e-03f, -3.816651793e-03f, -3.812335587e-03f, -3.808013006e-03f,
+-3.803684058e-03f, -3.799348751e-03f, -3.795007093e-03f, -3.790659090e-03f, -3.786304752e-03f, -3.781944086e-03f, -3.777577100e-03f, -3.773203802e-03f, -3.768824199e-03f, -3.764438299e-03f,
+-3.760046111e-03f, -3.755647642e-03f, -3.751242900e-03f, -3.746831893e-03f, -3.742414629e-03f, -3.737991117e-03f, -3.733561363e-03f, -3.729125376e-03f, -3.724683163e-03f, -3.720234734e-03f,
+-3.715780095e-03f, -3.711319256e-03f, -3.706852223e-03f, -3.702379004e-03f, -3.697899609e-03f, -3.693414045e-03f, -3.688922320e-03f, -3.684424441e-03f, -3.679920418e-03f, -3.675410258e-03f,
+-3.670893970e-03f, -3.666371560e-03f, -3.661843039e-03f, -3.657308413e-03f, -3.652767691e-03f, -3.648220880e-03f, -3.643667990e-03f, -3.639109028e-03f, -3.634544003e-03f, -3.629972922e-03f,
+-3.625395794e-03f, -3.620812627e-03f, -3.616223430e-03f, -3.611628209e-03f, -3.607026975e-03f, -3.602419735e-03f, -3.597806496e-03f, -3.593187269e-03f, -3.588562060e-03f, -3.583930878e-03f,
+-3.579293731e-03f, -3.574650628e-03f, -3.570001578e-03f, -3.565346587e-03f, -3.560685665e-03f, -3.556018820e-03f, -3.551346061e-03f, -3.546667395e-03f, -3.541982832e-03f, -3.537292378e-03f,
+-3.532596044e-03f, -3.527893837e-03f, -3.523185766e-03f, -3.518471839e-03f, -3.513752064e-03f, -3.509026450e-03f, -3.504295006e-03f, -3.499557740e-03f, -3.494814660e-03f, -3.490065775e-03f,
+-3.485311094e-03f, -3.480550624e-03f, -3.475784375e-03f, -3.471012355e-03f, -3.466234572e-03f, -3.461451035e-03f, -3.456661753e-03f, -3.451866733e-03f, -3.447065986e-03f, -3.442259518e-03f,
+-3.437447340e-03f, -3.432629459e-03f, -3.427805884e-03f, -3.422976623e-03f, -3.418141686e-03f, -3.413301081e-03f, -3.408454817e-03f, -3.403602901e-03f, -3.398745344e-03f, -3.393882153e-03f,
+-3.389013337e-03f, -3.384138905e-03f, -3.379258866e-03f, -3.374373228e-03f, -3.369482000e-03f, -3.364585191e-03f, -3.359682810e-03f, -3.354774864e-03f, -3.349861364e-03f, -3.344942318e-03f,
+-3.340017734e-03f, -3.335087621e-03f, -3.330151989e-03f, -3.325210845e-03f, -3.320264199e-03f, -3.315312060e-03f, -3.310354437e-03f, -3.305391337e-03f, -3.300422771e-03f, -3.295448746e-03f,
+-3.290469272e-03f, -3.285484358e-03f, -3.280494013e-03f, -3.275498245e-03f, -3.270497063e-03f, -3.265490477e-03f, -3.260478494e-03f, -3.255461125e-03f, -3.250438378e-03f, -3.245410262e-03f,
+-3.240376786e-03f, -3.235337959e-03f, -3.230293789e-03f, -3.225244287e-03f, -3.220189460e-03f, -3.215129318e-03f, -3.210063870e-03f, -3.204993125e-03f, -3.199917092e-03f, -3.194835779e-03f,
+-3.189749197e-03f, -3.184657354e-03f, -3.179560258e-03f, -3.174457920e-03f, -3.169350348e-03f, -3.164237551e-03f, -3.159119539e-03f, -3.153996320e-03f, -3.148867904e-03f, -3.143734300e-03f,
+-3.138595516e-03f, -3.133451563e-03f, -3.128302448e-03f, -3.123148182e-03f, -3.117988773e-03f, -3.112824231e-03f, -3.107654565e-03f, -3.102479783e-03f, -3.097299896e-03f, -3.092114912e-03f,
+-3.086924841e-03f, -3.081729692e-03f, -3.076529473e-03f, -3.071324195e-03f, -3.066113867e-03f, -3.060898497e-03f, -3.055678095e-03f, -3.050452670e-03f, -3.045222233e-03f, -3.039986790e-03f,
+-3.034746354e-03f, -3.029500931e-03f, -3.024250532e-03f, -3.018995167e-03f, -3.013734844e-03f, -3.008469572e-03f, -3.003199362e-03f, -2.997924222e-03f, -2.992644162e-03f, -2.987359191e-03f,
+-2.982069319e-03f, -2.976774554e-03f, -2.971474907e-03f, -2.966170387e-03f, -2.960861002e-03f, -2.955546764e-03f, -2.950227680e-03f, -2.944903761e-03f, -2.939575015e-03f, -2.934241453e-03f,
+-2.928903083e-03f, -2.923559916e-03f, -2.918211960e-03f, -2.912859226e-03f, -2.907501722e-03f, -2.902139458e-03f, -2.896772444e-03f, -2.891400689e-03f, -2.886024203e-03f, -2.880642995e-03f,
+-2.875257074e-03f, -2.869866451e-03f, -2.864471135e-03f, -2.859071135e-03f, -2.853666461e-03f, -2.848257122e-03f, -2.842843128e-03f, -2.837424489e-03f, -2.832001215e-03f, -2.826573314e-03f,
+-2.821140796e-03f, -2.815703672e-03f, -2.810261951e-03f, -2.804815641e-03f, -2.799364754e-03f, -2.793909298e-03f, -2.788449284e-03f, -2.782984720e-03f, -2.777515617e-03f, -2.772041984e-03f,
+-2.766563831e-03f, -2.761081168e-03f, -2.755594004e-03f, -2.750102350e-03f, -2.744606213e-03f, -2.739105606e-03f, -2.733600536e-03f, -2.728091015e-03f, -2.722577051e-03f, -2.717058655e-03f,
+-2.711535835e-03f, -2.706008603e-03f, -2.700476967e-03f, -2.694940938e-03f, -2.689400525e-03f, -2.683855738e-03f, -2.678306587e-03f, -2.672753082e-03f, -2.667195232e-03f, -2.661633048e-03f,
+-2.656066538e-03f, -2.650495713e-03f, -2.644920584e-03f, -2.639341158e-03f, -2.633757448e-03f, -2.628169461e-03f, -2.622577209e-03f, -2.616980701e-03f, -2.611379947e-03f, -2.605774957e-03f,
+-2.600165740e-03f, -2.594552307e-03f, -2.588934668e-03f, -2.583312832e-03f, -2.577686810e-03f, -2.572056611e-03f, -2.566422245e-03f, -2.560783722e-03f, -2.555141053e-03f, -2.549494246e-03f,
+-2.543843313e-03f, -2.538188263e-03f, -2.532529105e-03f, -2.526865851e-03f, -2.521198510e-03f, -2.515527091e-03f, -2.509851606e-03f, -2.504172063e-03f, -2.498488474e-03f, -2.492800848e-03f,
+-2.487109194e-03f, -2.481413524e-03f, -2.475713847e-03f, -2.470010173e-03f, -2.464302513e-03f, -2.458590875e-03f, -2.452875271e-03f, -2.447155710e-03f, -2.441432203e-03f, -2.435704760e-03f,
+-2.429973390e-03f, -2.424238104e-03f, -2.418498912e-03f, -2.412755824e-03f, -2.407008850e-03f, -2.401258000e-03f, -2.395503284e-03f, -2.389744713e-03f, -2.383982297e-03f, -2.378216045e-03f,
+-2.372445969e-03f, -2.366672077e-03f, -2.360894381e-03f, -2.355112890e-03f, -2.349327615e-03f, -2.343538566e-03f, -2.337745753e-03f, -2.331949185e-03f, -2.326148875e-03f, -2.320344830e-03f,
+-2.314537063e-03f, -2.308725583e-03f, -2.302910400e-03f, -2.297091524e-03f, -2.291268966e-03f, -2.285442736e-03f, -2.279612845e-03f, -2.273779302e-03f, -2.267942117e-03f, -2.262101302e-03f,
+-2.256256866e-03f, -2.250408819e-03f, -2.244557172e-03f, -2.238701936e-03f, -2.232843119e-03f, -2.226980734e-03f, -2.221114790e-03f, -2.215245297e-03f, -2.209372265e-03f, -2.203495706e-03f,
+-2.197615629e-03f, -2.191732044e-03f, -2.185844963e-03f, -2.179954395e-03f, -2.174060350e-03f, -2.168162840e-03f, -2.162261874e-03f, -2.156357463e-03f, -2.150449617e-03f, -2.144538346e-03f,
+-2.138623661e-03f, -2.132705573e-03f, -2.126784092e-03f, -2.120859227e-03f, -2.114930990e-03f, -2.108999391e-03f, -2.103064440e-03f, -2.097126148e-03f, -2.091184525e-03f, -2.085239582e-03f,
+-2.079291329e-03f, -2.073339776e-03f, -2.067384935e-03f, -2.061426814e-03f, -2.055465426e-03f, -2.049500780e-03f, -2.043532886e-03f, -2.037561756e-03f, -2.031587400e-03f, -2.025609828e-03f,
+-2.019629050e-03f, -2.013645078e-03f, -2.007657921e-03f, -2.001667591e-03f, -1.995674097e-03f, -1.989677451e-03f, -1.983677662e-03f, -1.977674742e-03f, -1.971668700e-03f, -1.965659548e-03f,
+-1.959647295e-03f, -1.953631953e-03f, -1.947613532e-03f, -1.941592042e-03f, -1.935567495e-03f, -1.929539900e-03f, -1.923509268e-03f, -1.917475610e-03f, -1.911438936e-03f, -1.905399258e-03f,
+-1.899356585e-03f, -1.893310927e-03f, -1.887262297e-03f, -1.881210704e-03f, -1.875156159e-03f, -1.869098672e-03f, -1.863038254e-03f, -1.856974916e-03f, -1.850908669e-03f, -1.844839522e-03f,
+-1.838767487e-03f, -1.832692574e-03f, -1.826614794e-03f, -1.820534158e-03f, -1.814450676e-03f, -1.808364359e-03f, -1.802275217e-03f, -1.796183261e-03f, -1.790088502e-03f, -1.783990951e-03f,
+-1.777890618e-03f, -1.771787513e-03f, -1.765681649e-03f, -1.759573034e-03f, -1.753461680e-03f, -1.747347598e-03f, -1.741230798e-03f, -1.735111291e-03f, -1.728989088e-03f, -1.722864200e-03f,
+-1.716736636e-03f, -1.710606409e-03f, -1.704473527e-03f, -1.698338004e-03f, -1.692199848e-03f, -1.686059071e-03f, -1.679915684e-03f, -1.673769697e-03f, -1.667621121e-03f, -1.661469966e-03f,
+-1.655316244e-03f, -1.649159966e-03f, -1.643001142e-03f, -1.636839782e-03f, -1.630675898e-03f, -1.624509500e-03f, -1.618340600e-03f, -1.612169207e-03f, -1.605995334e-03f, -1.599818989e-03f,
+-1.593640185e-03f, -1.587458933e-03f, -1.581275242e-03f, -1.575089124e-03f, -1.568900589e-03f, -1.562709649e-03f, -1.556516313e-03f, -1.550320594e-03f, -1.544122502e-03f, -1.537922047e-03f,
+-1.531719241e-03f, -1.525514094e-03f, -1.519306617e-03f, -1.513096822e-03f, -1.506884718e-03f, -1.500670316e-03f, -1.494453628e-03f, -1.488234665e-03f, -1.482013437e-03f, -1.475789955e-03f,
+-1.469564230e-03f, -1.463336273e-03f, -1.457106094e-03f, -1.450873705e-03f, -1.444639117e-03f, -1.438402340e-03f, -1.432163385e-03f, -1.425922263e-03f, -1.419678986e-03f, -1.413433563e-03f,
+-1.407186006e-03f, -1.400936326e-03f, -1.394684533e-03f, -1.388430639e-03f, -1.382174654e-03f, -1.375916590e-03f, -1.369656457e-03f, -1.363394266e-03f, -1.357130028e-03f, -1.350863755e-03f,
+-1.344595456e-03f, -1.338325143e-03f, -1.332052827e-03f, -1.325778519e-03f, -1.319502230e-03f, -1.313223970e-03f, -1.306943751e-03f, -1.300661583e-03f, -1.294377478e-03f, -1.288091446e-03f,
+-1.281803499e-03f, -1.275513647e-03f, -1.269221902e-03f, -1.262928273e-03f, -1.256632773e-03f, -1.250335413e-03f, -1.244036202e-03f, -1.237735153e-03f, -1.231432276e-03f, -1.225127582e-03f,
+-1.218821082e-03f, -1.212512788e-03f, -1.206202709e-03f, -1.199890858e-03f, -1.193577244e-03f, -1.187261880e-03f, -1.180944776e-03f, -1.174625943e-03f, -1.168305392e-03f, -1.161983135e-03f,
+-1.155659181e-03f, -1.149333543e-03f, -1.143006230e-03f, -1.136677255e-03f, -1.130346628e-03f, -1.124014361e-03f, -1.117680463e-03f, -1.111344947e-03f, -1.105007823e-03f, -1.098669103e-03f,
+-1.092328797e-03f, -1.085986916e-03f, -1.079643471e-03f, -1.073298475e-03f, -1.066951936e-03f, -1.060603867e-03f, -1.054254279e-03f, -1.047903183e-03f, -1.041550589e-03f, -1.035196509e-03f,
+-1.028840953e-03f, -1.022483934e-03f, -1.016125461e-03f, -1.009765547e-03f, -1.003404201e-03f, -9.970414357e-04f, -9.906772615e-04f, -9.843116894e-04f, -9.779447307e-04f, -9.715763964e-04f,
+-9.652066975e-04f, -9.588356451e-04f, -9.524632503e-04f, -9.460895242e-04f, -9.397144779e-04f, -9.333381224e-04f, -9.269604688e-04f, -9.205815282e-04f, -9.142013117e-04f, -9.078198304e-04f,
+-9.014370954e-04f, -8.950531177e-04f, -8.886679085e-04f, -8.822814789e-04f, -8.758938399e-04f, -8.695050026e-04f, -8.631149782e-04f, -8.567237777e-04f, -8.503314123e-04f, -8.439378931e-04f,
+-8.375432311e-04f, -8.311474375e-04f, -8.247505233e-04f, -8.183524998e-04f, -8.119533779e-04f, -8.055531688e-04f, -7.991518837e-04f, -7.927495336e-04f, -7.863461297e-04f, -7.799416830e-04f,
+-7.735362047e-04f, -7.671297060e-04f, -7.607221978e-04f, -7.543136914e-04f, -7.479041979e-04f, -7.414937285e-04f, -7.350822941e-04f, -7.286699060e-04f, -7.222565752e-04f, -7.158423130e-04f,
+-7.094271305e-04f, -7.030110387e-04f, -6.965940488e-04f, -6.901761720e-04f, -6.837574193e-04f, -6.773378019e-04f, -6.709173310e-04f, -6.644960177e-04f, -6.580738731e-04f, -6.516509084e-04f,
+-6.452271347e-04f, -6.388025631e-04f, -6.323772048e-04f, -6.259510709e-04f, -6.195241726e-04f, -6.130965210e-04f, -6.066681273e-04f, -6.002390025e-04f, -5.938091579e-04f, -5.873786047e-04f,
+-5.809473538e-04f, -5.745154166e-04f, -5.680828041e-04f, -5.616495275e-04f, -5.552155979e-04f, -5.487810265e-04f, -5.423458245e-04f, -5.359100030e-04f, -5.294735731e-04f, -5.230365460e-04f,
+-5.165989328e-04f, -5.101607448e-04f, -5.037219930e-04f, -4.972826887e-04f, -4.908428429e-04f, -4.844024668e-04f, -4.779615716e-04f, -4.715201685e-04f, -4.650782686e-04f, -4.586358830e-04f,
+-4.521930229e-04f, -4.457496994e-04f, -4.393059238e-04f, -4.328617072e-04f, -4.264170607e-04f, -4.199719955e-04f, -4.135265228e-04f, -4.070806537e-04f, -4.006343993e-04f, -3.941877709e-04f,
+-3.877407796e-04f, -3.812934365e-04f, -3.748457528e-04f, -3.683977397e-04f, -3.619494083e-04f, -3.555007698e-04f, -3.490518353e-04f, -3.426026160e-04f, -3.361531231e-04f, -3.297033677e-04f,
+-3.232533610e-04f, -3.168031142e-04f, -3.103526383e-04f, -3.039019446e-04f, -2.974510441e-04f, -2.909999482e-04f, -2.845486679e-04f, -2.780972143e-04f, -2.716455987e-04f, -2.651938322e-04f,
+-2.587419260e-04f, -2.522898912e-04f, -2.458377389e-04f, -2.393854804e-04f, -2.329331267e-04f, -2.264806891e-04f, -2.200281786e-04f, -2.135756065e-04f, -2.071229839e-04f, -2.006703220e-04f,
+-1.942176318e-04f, -1.877649246e-04f, -1.813122115e-04f, -1.748595037e-04f, -1.684068122e-04f, -1.619541484e-04f, -1.555015232e-04f, -1.490489479e-04f, -1.425964335e-04f, -1.361439914e-04f,
+-1.296916325e-04f, -1.232393681e-04f, -1.167872092e-04f, -1.103351671e-04f, -1.038832529e-04f, -9.743147771e-05f, -9.097985267e-05f, -8.452838893e-05f, -7.807709764e-05f, -7.162598993e-05f,
+-6.517507695e-05f, -5.872436983e-05f, -5.227387970e-05f, -4.582361772e-05f, -3.937359500e-05f, -3.292382269e-05f, -2.647431192e-05f, -2.002507382e-05f, -1.357611952e-05f, -7.127460151e-06f,
+-6.791068466e-07f, 5.768929267e-06f, 1.221663706e-05f, 1.866400542e-05f, 2.511102320e-05f, 3.155767929e-05f, 3.800396257e-05f, 4.444986192e-05f, 5.089536620e-05f, 5.734046432e-05f,
+6.378514514e-05f, 7.022939755e-05f, 7.667321043e-05f, 8.311657268e-05f, 8.955947318e-05f, 9.600190082e-05f, 1.024438445e-04f, 1.088852931e-04f, 1.153262355e-04f, 1.217666606e-04f,
+1.282065573e-04f, 1.346459145e-04f, 1.410847211e-04f, 1.475229661e-04f, 1.539606382e-04f, 1.603977264e-04f, 1.668342197e-04f, 1.732701068e-04f, 1.797053768e-04f, 1.861400185e-04f,
+1.925740209e-04f, 1.990073728e-04f, 2.054400632e-04f, 2.118720810e-04f, 2.183034151e-04f, 2.247340544e-04f, 2.311639879e-04f, 2.375932045e-04f, 2.440216930e-04f, 2.504494425e-04f,
+2.568764419e-04f, 2.633026800e-04f, 2.697281458e-04f, 2.761528283e-04f, 2.825767164e-04f, 2.889997990e-04f, 2.954220651e-04f, 3.018435036e-04f, 3.082641034e-04f, 3.146838536e-04f,
+3.211027430e-04f, 3.275207605e-04f, 3.339378953e-04f, 3.403541361e-04f, 3.467694720e-04f, 3.531838919e-04f, 3.595973848e-04f, 3.660099397e-04f, 3.724215454e-04f, 3.788321911e-04f,
+3.852418655e-04f, 3.916505578e-04f, 3.980582569e-04f, 4.044649517e-04f, 4.108706313e-04f, 4.172752846e-04f, 4.236789006e-04f, 4.300814683e-04f, 4.364829766e-04f, 4.428834147e-04f,
+4.492827714e-04f, 4.556810358e-04f, 4.620781968e-04f, 4.684742434e-04f, 4.748691648e-04f, 4.812629497e-04f, 4.876555874e-04f, 4.940470667e-04f, 5.004373767e-04f, 5.068265064e-04f,
+5.132144449e-04f, 5.196011810e-04f, 5.259867040e-04f, 5.323710027e-04f, 5.387540662e-04f, 5.451358836e-04f, 5.515164439e-04f, 5.578957361e-04f, 5.642737492e-04f, 5.706504723e-04f,
+5.770258945e-04f, 5.834000048e-04f, 5.897727922e-04f, 5.961442457e-04f, 6.025143546e-04f, 6.088831077e-04f, 6.152504942e-04f, 6.216165031e-04f, 6.279811235e-04f, 6.343443445e-04f,
+6.407061551e-04f, 6.470665444e-04f, 6.534255016e-04f, 6.597830156e-04f, 6.661390755e-04f, 6.724936705e-04f, 6.788467897e-04f, 6.851984220e-04f, 6.915485567e-04f, 6.978971829e-04f,
+7.042442895e-04f, 7.105898658e-04f, 7.169339009e-04f, 7.232763838e-04f, 7.296173037e-04f, 7.359566497e-04f, 7.422944109e-04f, 7.486305765e-04f, 7.549651355e-04f, 7.612980772e-04f,
+7.676293906e-04f, 7.739590649e-04f, 7.802870892e-04f, 7.866134526e-04f, 7.929381445e-04f, 7.992611537e-04f, 8.055824696e-04f, 8.119020814e-04f, 8.182199780e-04f, 8.245361488e-04f,
+8.308505829e-04f, 8.371632694e-04f, 8.434741976e-04f, 8.497833566e-04f, 8.560907356e-04f, 8.623963239e-04f, 8.687001105e-04f, 8.750020847e-04f, 8.813022356e-04f, 8.876005526e-04f,
+8.938970248e-04f, 9.001916413e-04f, 9.064843915e-04f, 9.127752645e-04f, 9.190642496e-04f, 9.253513360e-04f, 9.316365128e-04f, 9.379197694e-04f, 9.442010950e-04f, 9.504804788e-04f,
+9.567579101e-04f, 9.630333781e-04f, 9.693068721e-04f, 9.755783812e-04f, 9.818478949e-04f, 9.881154023e-04f, 9.943808928e-04f, 1.000644355e-03f, 1.006905780e-03f, 1.013165155e-03f,
+1.019422470e-03f, 1.025677715e-03f, 1.031930878e-03f, 1.038181950e-03f, 1.044430918e-03f, 1.050677774e-03f, 1.056922505e-03f, 1.063165101e-03f, 1.069405552e-03f, 1.075643847e-03f,
+1.081879975e-03f, 1.088113926e-03f, 1.094345689e-03f, 1.100575252e-03f, 1.106802607e-03f, 1.113027741e-03f, 1.119250644e-03f, 1.125471306e-03f, 1.131689716e-03f, 1.137905863e-03f,
+1.144119737e-03f, 1.150331328e-03f, 1.156540623e-03f, 1.162747613e-03f, 1.168952288e-03f, 1.175154636e-03f, 1.181354648e-03f, 1.187552311e-03f, 1.193747617e-03f, 1.199940553e-03f,
+1.206131111e-03f, 1.212319278e-03f, 1.218505045e-03f, 1.224688401e-03f, 1.230869335e-03f, 1.237047837e-03f, 1.243223896e-03f, 1.249397502e-03f, 1.255568644e-03f, 1.261737312e-03f,
+1.267903494e-03f, 1.274067181e-03f, 1.280228363e-03f, 1.286387027e-03f, 1.292543165e-03f, 1.298696765e-03f, 1.304847817e-03f, 1.310996310e-03f, 1.317142235e-03f, 1.323285579e-03f,
+1.329426334e-03f, 1.335564488e-03f, 1.341700031e-03f, 1.347832953e-03f, 1.353963243e-03f, 1.360090890e-03f, 1.366215884e-03f, 1.372338215e-03f, 1.378457873e-03f, 1.384574846e-03f,
+1.390689124e-03f, 1.396800697e-03f, 1.402909555e-03f, 1.409015687e-03f, 1.415119082e-03f, 1.421219731e-03f, 1.427317622e-03f, 1.433412746e-03f, 1.439505092e-03f, 1.445594649e-03f,
+1.451681408e-03f, 1.457765358e-03f, 1.463846488e-03f, 1.469924788e-03f, 1.476000248e-03f, 1.482072857e-03f, 1.488142605e-03f, 1.494209483e-03f, 1.500273478e-03f, 1.506334581e-03f,
+1.512392782e-03f, 1.518448071e-03f, 1.524500436e-03f, 1.530549869e-03f, 1.536596357e-03f, 1.542639892e-03f, 1.548680462e-03f, 1.554718058e-03f, 1.560752670e-03f, 1.566784286e-03f,
+1.572812897e-03f, 1.578838492e-03f, 1.584861062e-03f, 1.590880595e-03f, 1.596897082e-03f, 1.602910512e-03f, 1.608920876e-03f, 1.614928162e-03f, 1.620932361e-03f, 1.626933463e-03f,
+1.632931456e-03f, 1.638926332e-03f, 1.644918080e-03f, 1.650906689e-03f, 1.656892150e-03f, 1.662874452e-03f, 1.668853584e-03f, 1.674829538e-03f, 1.680802303e-03f, 1.686771868e-03f,
+1.692738223e-03f, 1.698701359e-03f, 1.704661265e-03f, 1.710617931e-03f, 1.716571346e-03f, 1.722521501e-03f, 1.728468386e-03f, 1.734411991e-03f, 1.740352304e-03f, 1.746289317e-03f,
+1.752223019e-03f, 1.758153400e-03f, 1.764080450e-03f, 1.770004159e-03f, 1.775924517e-03f, 1.781841513e-03f, 1.787755139e-03f, 1.793665382e-03f, 1.799572235e-03f, 1.805475686e-03f,
+1.811375725e-03f, 1.817272343e-03f, 1.823165530e-03f, 1.829055275e-03f, 1.834941568e-03f, 1.840824400e-03f, 1.846703760e-03f, 1.852579639e-03f, 1.858452026e-03f, 1.864320912e-03f,
+1.870186286e-03f, 1.876048139e-03f, 1.881906461e-03f, 1.887761241e-03f, 1.893612470e-03f, 1.899460138e-03f, 1.905304234e-03f, 1.911144750e-03f, 1.916981674e-03f, 1.922814998e-03f,
+1.928644711e-03f, 1.934470803e-03f, 1.940293265e-03f, 1.946112086e-03f, 1.951927257e-03f, 1.957738767e-03f, 1.963546608e-03f, 1.969350768e-03f, 1.975151239e-03f, 1.980948011e-03f,
+1.986741073e-03f, 1.992530415e-03f, 1.998316029e-03f, 2.004097903e-03f, 2.009876029e-03f, 2.015650396e-03f, 2.021420995e-03f, 2.027187816e-03f, 2.032950850e-03f, 2.038710085e-03f,
+2.044465513e-03f, 2.050217124e-03f, 2.055964908e-03f, 2.061708855e-03f, 2.067448956e-03f, 2.073185201e-03f, 2.078917580e-03f, 2.084646083e-03f, 2.090370702e-03f, 2.096091425e-03f,
+2.101808243e-03f, 2.107521147e-03f, 2.113230127e-03f, 2.118935174e-03f, 2.124636277e-03f, 2.130333427e-03f, 2.136026614e-03f, 2.141715829e-03f, 2.147401063e-03f, 2.153082304e-03f,
+2.158759544e-03f, 2.164432774e-03f, 2.170101983e-03f, 2.175767162e-03f, 2.181428302e-03f, 2.187085392e-03f, 2.192738423e-03f, 2.198387387e-03f, 2.204032272e-03f, 2.209673070e-03f,
+2.215309771e-03f, 2.220942365e-03f, 2.226570843e-03f, 2.232195196e-03f, 2.237815413e-03f, 2.243431486e-03f, 2.249043405e-03f, 2.254651160e-03f, 2.260254743e-03f, 2.265854142e-03f,
+2.271449350e-03f, 2.277040356e-03f, 2.282627151e-03f, 2.288209726e-03f, 2.293788070e-03f, 2.299362176e-03f, 2.304932033e-03f, 2.310497632e-03f, 2.316058963e-03f, 2.321616017e-03f,
+2.327168785e-03f, 2.332717258e-03f, 2.338261425e-03f, 2.343801278e-03f, 2.349336807e-03f, 2.354868003e-03f, 2.360394856e-03f, 2.365917358e-03f, 2.371435499e-03f, 2.376949269e-03f,
+2.382458659e-03f, 2.387963660e-03f, 2.393464263e-03f, 2.398960458e-03f, 2.404452236e-03f, 2.409939587e-03f, 2.415422504e-03f, 2.420900975e-03f, 2.426374993e-03f, 2.431844547e-03f,
+2.437309629e-03f, 2.442770229e-03f, 2.448226339e-03f, 2.453677948e-03f, 2.459125048e-03f, 2.464567629e-03f, 2.470005683e-03f, 2.475439200e-03f, 2.480868170e-03f, 2.486292586e-03f,
+2.491712437e-03f, 2.497127715e-03f, 2.502538410e-03f, 2.507944514e-03f, 2.513346016e-03f, 2.518742909e-03f, 2.524135183e-03f, 2.529522828e-03f, 2.534905836e-03f, 2.540284198e-03f,
+2.545657905e-03f, 2.551026947e-03f, 2.556391316e-03f, 2.561751002e-03f, 2.567105997e-03f, 2.572456291e-03f, 2.577801876e-03f, 2.583142742e-03f, 2.588478880e-03f, 2.593810282e-03f,
+2.599136938e-03f, 2.604458840e-03f, 2.609775979e-03f, 2.615088344e-03f, 2.620395929e-03f, 2.625698723e-03f, 2.630996718e-03f, 2.636289905e-03f, 2.641578275e-03f, 2.646861819e-03f,
+2.652140528e-03f, 2.657414393e-03f, 2.662683406e-03f, 2.667947557e-03f, 2.673206838e-03f, 2.678461240e-03f, 2.683710753e-03f, 2.688955370e-03f, 2.694195081e-03f, 2.699429878e-03f,
+2.704659752e-03f, 2.709884693e-03f, 2.715104693e-03f, 2.720319744e-03f, 2.725529836e-03f, 2.730734962e-03f, 2.735935111e-03f, 2.741130276e-03f, 2.746320447e-03f, 2.751505616e-03f,
+2.756685774e-03f, 2.761860913e-03f, 2.767031024e-03f, 2.772196097e-03f, 2.777356125e-03f, 2.782511099e-03f, 2.787661010e-03f, 2.792805850e-03f, 2.797945609e-03f, 2.803080279e-03f,
+2.808209852e-03f, 2.813334319e-03f, 2.818453671e-03f, 2.823567899e-03f, 2.828676996e-03f, 2.833780953e-03f, 2.838879760e-03f, 2.843973410e-03f, 2.849061894e-03f, 2.854145204e-03f,
+2.859223330e-03f, 2.864296264e-03f, 2.869363998e-03f, 2.874426524e-03f, 2.879483832e-03f, 2.884535915e-03f, 2.889582763e-03f, 2.894624369e-03f, 2.899660724e-03f, 2.904691820e-03f,
+2.909717647e-03f, 2.914738198e-03f, 2.919753464e-03f, 2.924763438e-03f, 2.929768109e-03f, 2.934767471e-03f, 2.939761514e-03f, 2.944750230e-03f, 2.949733612e-03f, 2.954711650e-03f,
+2.959684336e-03f, 2.964651662e-03f, 2.969613620e-03f, 2.974570201e-03f, 2.979521397e-03f, 2.984467200e-03f, 2.989407601e-03f, 2.994342593e-03f, 2.999272166e-03f, 3.004196313e-03f,
+3.009115025e-03f, 3.014028295e-03f, 3.018936113e-03f, 3.023838472e-03f, 3.028735364e-03f, 3.033626780e-03f, 3.038512712e-03f, 3.043393152e-03f, 3.048268092e-03f, 3.053137523e-03f,
+3.058001439e-03f, 3.062859829e-03f, 3.067712687e-03f, 3.072560004e-03f, 3.077401772e-03f, 3.082237983e-03f, 3.087068628e-03f, 3.091893701e-03f, 3.096713192e-03f, 3.101527094e-03f,
+3.106335399e-03f, 3.111138098e-03f, 3.115935184e-03f, 3.120726649e-03f, 3.125512484e-03f, 3.130292681e-03f, 3.135067234e-03f, 3.139836132e-03f, 3.144599370e-03f, 3.149356938e-03f,
+3.154108829e-03f, 3.158855035e-03f, 3.163595548e-03f, 3.168330360e-03f, 3.173059462e-03f, 3.177782848e-03f, 3.182500510e-03f, 3.187212439e-03f, 3.191918627e-03f, 3.196619068e-03f,
+3.201313752e-03f, 3.206002672e-03f, 3.210685821e-03f, 3.215363190e-03f, 3.220034771e-03f, 3.224700558e-03f, 3.229360542e-03f, 3.234014715e-03f, 3.238663069e-03f, 3.243305598e-03f,
+3.247942292e-03f, 3.252573145e-03f, 3.257198149e-03f, 3.261817295e-03f, 3.266430577e-03f, 3.271037987e-03f, 3.275639516e-03f, 3.280235158e-03f, 3.284824904e-03f, 3.289408747e-03f,
+3.293986679e-03f, 3.298558694e-03f, 3.303124782e-03f, 3.307684937e-03f, 3.312239150e-03f, 3.316787415e-03f, 3.321329724e-03f, 3.325866069e-03f, 3.330396443e-03f, 3.334920838e-03f,
+3.339439246e-03f, 3.343951661e-03f, 3.348458074e-03f, 3.352958479e-03f, 3.357452867e-03f, 3.361941231e-03f, 3.366423564e-03f, 3.370899858e-03f, 3.375370106e-03f, 3.379834300e-03f,
+3.384292433e-03f, 3.388744498e-03f, 3.393190487e-03f, 3.397630393e-03f, 3.402064208e-03f, 3.406491926e-03f, 3.410913538e-03f, 3.415329037e-03f, 3.419738417e-03f, 3.424141669e-03f,
+3.428538786e-03f, 3.432929762e-03f, 3.437314589e-03f, 3.441693259e-03f, 3.446065765e-03f, 3.450432101e-03f, 3.454792258e-03f, 3.459146230e-03f, 3.463494010e-03f, 3.467835589e-03f,
+3.472170961e-03f, 3.476500120e-03f, 3.480823056e-03f, 3.485139765e-03f, 3.489450237e-03f, 3.493754467e-03f, 3.498052447e-03f, 3.502344169e-03f, 3.506629627e-03f, 3.510908815e-03f,
+3.515181723e-03f, 3.519448346e-03f, 3.523708677e-03f, 3.527962708e-03f, 3.532210433e-03f, 3.536451844e-03f, 3.540686934e-03f, 3.544915696e-03f, 3.549138124e-03f, 3.553354210e-03f,
+3.557563948e-03f, 3.561767330e-03f, 3.565964350e-03f, 3.570155000e-03f, 3.574339273e-03f, 3.578517163e-03f, 3.582688663e-03f, 3.586853766e-03f, 3.591012465e-03f, 3.595164754e-03f,
+3.599310624e-03f, 3.603450070e-03f, 3.607583084e-03f, 3.611709660e-03f, 3.615829791e-03f, 3.619943471e-03f, 3.624050691e-03f, 3.628151447e-03f, 3.632245730e-03f, 3.636333534e-03f,
+3.640414852e-03f, 3.644489678e-03f, 3.648558005e-03f, 3.652619826e-03f, 3.656675135e-03f, 3.660723924e-03f, 3.664766187e-03f, 3.668801918e-03f, 3.672831110e-03f, 3.676853756e-03f,
+3.680869849e-03f, 3.684879383e-03f, 3.688882352e-03f, 3.692878748e-03f, 3.696868565e-03f, 3.700851797e-03f, 3.704828437e-03f, 3.708798478e-03f, 3.712761914e-03f, 3.716718739e-03f,
+3.720668945e-03f, 3.724612527e-03f, 3.728549478e-03f, 3.732479791e-03f, 3.736403460e-03f, 3.740320479e-03f, 3.744230840e-03f, 3.748134539e-03f, 3.752031567e-03f, 3.755921919e-03f,
+3.759805589e-03f, 3.763682570e-03f, 3.767552855e-03f, 3.771416439e-03f, 3.775273315e-03f, 3.779123476e-03f, 3.782966917e-03f, 3.786803630e-03f, 3.790633611e-03f, 3.794456851e-03f,
+3.798273346e-03f, 3.802083089e-03f, 3.805886073e-03f, 3.809682293e-03f, 3.813471742e-03f, 3.817254414e-03f, 3.821030303e-03f, 3.824799402e-03f, 3.828561706e-03f, 3.832317207e-03f,
+3.836065901e-03f, 3.839807781e-03f, 3.843542841e-03f, 3.847271074e-03f, 3.850992475e-03f, 3.854707037e-03f, 3.858414754e-03f, 3.862115621e-03f, 3.865809632e-03f, 3.869496779e-03f,
+3.873177058e-03f, 3.876850462e-03f, 3.880516985e-03f, 3.884176621e-03f, 3.887829364e-03f, 3.891475209e-03f, 3.895114148e-03f, 3.898746178e-03f, 3.902371290e-03f, 3.905989480e-03f,
+3.909600741e-03f, 3.913205068e-03f, 3.916802455e-03f, 3.920392896e-03f, 3.923976385e-03f, 3.927552915e-03f, 3.931122483e-03f, 3.934685080e-03f, 3.938240703e-03f, 3.941789344e-03f,
+3.945330998e-03f, 3.948865660e-03f, 3.952393323e-03f, 3.955913982e-03f, 3.959427631e-03f, 3.962934265e-03f, 3.966433877e-03f, 3.969926462e-03f, 3.973412015e-03f, 3.976890528e-03f,
+3.980361998e-03f, 3.983826418e-03f, 3.987283783e-03f, 3.990734087e-03f, 3.994177324e-03f, 3.997613489e-03f, 4.001042576e-03f, 4.004464579e-03f, 4.007879494e-03f, 4.011287314e-03f,
+4.014688034e-03f, 4.018081649e-03f, 4.021468153e-03f, 4.024847540e-03f, 4.028219804e-03f, 4.031584942e-03f, 4.034942946e-03f, 4.038293812e-03f, 4.041637534e-03f, 4.044974107e-03f,
+4.048303525e-03f, 4.051625782e-03f, 4.054940875e-03f, 4.058248796e-03f, 4.061549541e-03f, 4.064843105e-03f, 4.068129481e-03f, 4.071408666e-03f, 4.074680652e-03f, 4.077945436e-03f,
+4.081203012e-03f, 4.084453374e-03f, 4.087696518e-03f, 4.090932438e-03f, 4.094161128e-03f, 4.097382584e-03f, 4.100596801e-03f, 4.103803772e-03f, 4.107003494e-03f, 4.110195960e-03f,
+4.113381167e-03f, 4.116559107e-03f, 4.119729777e-03f, 4.122893172e-03f, 4.126049285e-03f, 4.129198113e-03f, 4.132339650e-03f, 4.135473890e-03f, 4.138600830e-03f, 4.141720463e-03f,
+4.144832785e-03f, 4.147937791e-03f, 4.151035476e-03f, 4.154125834e-03f, 4.157208861e-03f, 4.160284552e-03f, 4.163352902e-03f, 4.166413906e-03f, 4.169467559e-03f, 4.172513856e-03f,
+4.175552793e-03f, 4.178584363e-03f, 4.181608563e-03f, 4.184625388e-03f, 4.187634832e-03f, 4.190636892e-03f, 4.193631561e-03f, 4.196618836e-03f, 4.199598711e-03f, 4.202571182e-03f,
+4.205536243e-03f, 4.208493891e-03f, 4.211444121e-03f, 4.214386926e-03f, 4.217322304e-03f, 4.220250250e-03f, 4.223170757e-03f, 4.226083823e-03f, 4.228989442e-03f, 4.231887609e-03f,
+4.234778321e-03f, 4.237661571e-03f, 4.240537357e-03f, 4.243405672e-03f, 4.246266513e-03f, 4.249119875e-03f, 4.251965753e-03f, 4.254804143e-03f, 4.257635041e-03f, 4.260458441e-03f,
+4.263274339e-03f, 4.266082731e-03f, 4.268883613e-03f, 4.271676979e-03f, 4.274462825e-03f, 4.277241148e-03f, 4.280011942e-03f, 4.282775203e-03f, 4.285530926e-03f, 4.288279108e-03f,
+4.291019744e-03f, 4.293752829e-03f, 4.296478360e-03f, 4.299196331e-03f, 4.301906739e-03f, 4.304609579e-03f, 4.307304847e-03f, 4.309992538e-03f, 4.312672649e-03f, 4.315345175e-03f,
+4.318010112e-03f, 4.320667456e-03f, 4.323317202e-03f, 4.325959346e-03f, 4.328593884e-03f, 4.331220812e-03f, 4.333840126e-03f, 4.336451821e-03f, 4.339055893e-03f, 4.341652339e-03f,
+4.344241154e-03f, 4.346822334e-03f, 4.349395875e-03f, 4.351961773e-03f, 4.354520024e-03f, 4.357070624e-03f, 4.359613568e-03f, 4.362148853e-03f, 4.364676475e-03f, 4.367196429e-03f,
+4.369708713e-03f, 4.372213321e-03f, 4.374710250e-03f, 4.377199496e-03f, 4.379681056e-03f, 4.382154924e-03f, 4.384621097e-03f, 4.387079572e-03f, 4.389530344e-03f, 4.391973410e-03f,
+4.394408766e-03f, 4.396836407e-03f, 4.399256331e-03f, 4.401668533e-03f, 4.404073010e-03f, 4.406469757e-03f, 4.408858771e-03f, 4.411240049e-03f, 4.413613586e-03f, 4.415979379e-03f,
+4.418337424e-03f, 4.420687718e-03f, 4.423030256e-03f, 4.425365036e-03f, 4.427692052e-03f, 4.430011303e-03f, 4.432322784e-03f, 4.434626491e-03f, 4.436922421e-03f, 4.439210571e-03f,
+4.441490936e-03f, 4.443763514e-03f, 4.446028300e-03f, 4.448285292e-03f, 4.450534485e-03f, 4.452775876e-03f, 4.455009462e-03f, 4.457235239e-03f, 4.459453204e-03f, 4.461663353e-03f,
+4.463865683e-03f, 4.466060191e-03f, 4.468246872e-03f, 4.470425725e-03f, 4.472596744e-03f, 4.474759927e-03f, 4.476915271e-03f, 4.479062772e-03f, 4.481202427e-03f, 4.483334233e-03f,
+4.485458186e-03f, 4.487574282e-03f, 4.489682520e-03f, 4.491782895e-03f, 4.493875404e-03f, 4.495960044e-03f, 4.498036812e-03f, 4.500105705e-03f, 4.502166719e-03f, 4.504219851e-03f,
+4.506265099e-03f, 4.508302458e-03f, 4.510331926e-03f, 4.512353500e-03f, 4.514367176e-03f, 4.516372952e-03f, 4.518370824e-03f, 4.520360789e-03f, 4.522342845e-03f, 4.524316988e-03f,
+4.526283216e-03f, 4.528241524e-03f, 4.530191911e-03f, 4.532134373e-03f, 4.534068908e-03f, 4.535995512e-03f, 4.537914182e-03f, 4.539824915e-03f, 4.541727710e-03f, 4.543622562e-03f,
+4.545509468e-03f, 4.547388427e-03f, 4.549259435e-03f, 4.551122489e-03f, 4.552977586e-03f, 4.554824724e-03f, 4.556663900e-03f, 4.558495111e-03f, 4.560318354e-03f, 4.562133627e-03f,
+4.563940926e-03f, 4.565740250e-03f, 4.567531594e-03f, 4.569314958e-03f, 4.571090337e-03f, 4.572857729e-03f, 4.574617132e-03f, 4.576368543e-03f, 4.578111959e-03f, 4.579847378e-03f,
+4.581574797e-03f, 4.583294214e-03f, 4.585005625e-03f, 4.586709029e-03f, 4.588404423e-03f, 4.590091804e-03f, 4.591771169e-03f, 4.593442517e-03f, 4.595105845e-03f, 4.596761150e-03f,
+4.598408430e-03f, 4.600047682e-03f, 4.601678904e-03f, 4.603302093e-03f, 4.604917248e-03f, 4.606524365e-03f, 4.608123443e-03f, 4.609714479e-03f, 4.611297470e-03f, 4.612872415e-03f,
+4.614439310e-03f, 4.615998154e-03f, 4.617548945e-03f, 4.619091679e-03f, 4.620626355e-03f, 4.622152971e-03f, 4.623671524e-03f, 4.625182012e-03f, 4.626684434e-03f, 4.628178785e-03f,
+4.629665065e-03f, 4.631143272e-03f, 4.632613403e-03f, 4.634075455e-03f, 4.635529428e-03f, 4.636975318e-03f, 4.638413124e-03f, 4.639842844e-03f, 4.641264475e-03f, 4.642678015e-03f,
+4.644083463e-03f, 4.645480817e-03f, 4.646870073e-03f, 4.648251232e-03f, 4.649624289e-03f, 4.650989244e-03f, 4.652346094e-03f, 4.653694838e-03f, 4.655035474e-03f, 4.656367999e-03f,
+4.657692412e-03f, 4.659008710e-03f, 4.660316893e-03f, 4.661616958e-03f, 4.662908903e-03f, 4.664192727e-03f, 4.665468427e-03f, 4.666736002e-03f, 4.667995451e-03f, 4.669246770e-03f,
+4.670489959e-03f, 4.671725016e-03f, 4.672951939e-03f, 4.674170726e-03f, 4.675381376e-03f, 4.676583886e-03f, 4.677778256e-03f, 4.678964484e-03f, 4.680142567e-03f, 4.681312505e-03f,
+4.682474296e-03f, 4.683627937e-03f, 4.684773428e-03f, 4.685910767e-03f, 4.687039953e-03f, 4.688160983e-03f, 4.689273856e-03f, 4.690378572e-03f, 4.691475127e-03f, 4.692563521e-03f,
+4.693643753e-03f, 4.694715820e-03f, 4.695779722e-03f, 4.696835457e-03f, 4.697883023e-03f, 4.698922419e-03f, 4.699953644e-03f, 4.700976696e-03f, 4.701991574e-03f, 4.702998277e-03f,
+4.703996803e-03f, 4.704987152e-03f, 4.705969320e-03f, 4.706943309e-03f, 4.707909115e-03f, 4.708866738e-03f, 4.709816177e-03f, 4.710757430e-03f, 4.711690496e-03f, 4.712615374e-03f,
+4.713532062e-03f, 4.714440561e-03f, 4.715340867e-03f, 4.716232981e-03f, 4.717116901e-03f, 4.717992626e-03f, 4.718860155e-03f, 4.719719486e-03f, 4.720570619e-03f, 4.721413553e-03f,
+4.722248286e-03f, 4.723074818e-03f, 4.723893147e-03f, 4.724703273e-03f, 4.725505195e-03f, 4.726298911e-03f, 4.727084420e-03f, 4.727861722e-03f, 4.728630816e-03f, 4.729391700e-03f,
+4.730144374e-03f, 4.730888837e-03f, 4.731625089e-03f, 4.732353127e-03f, 4.733072952e-03f, 4.733784562e-03f, 4.734487957e-03f, 4.735183135e-03f, 4.735870097e-03f, 4.736548841e-03f,
+4.737219367e-03f, 4.737881673e-03f, 4.738535760e-03f, 4.739181626e-03f, 4.739819270e-03f, 4.740448692e-03f, 4.741069892e-03f, 4.741682868e-03f, 4.742287619e-03f, 4.742884147e-03f,
+4.743472448e-03f, 4.744052524e-03f, 4.744624373e-03f, 4.745187996e-03f, 4.745743390e-03f, 4.746290556e-03f, 4.746829493e-03f, 4.747360201e-03f, 4.747882679e-03f, 4.748396927e-03f,
+4.748902944e-03f, 4.749400730e-03f, 4.749890284e-03f, 4.750371606e-03f, 4.750844695e-03f, 4.751309551e-03f, 4.751766173e-03f, 4.752214562e-03f, 4.752654717e-03f, 4.753086637e-03f,
+4.753510323e-03f, 4.753925773e-03f, 4.754332988e-03f, 4.754731966e-03f, 4.755122709e-03f, 4.755505216e-03f, 4.755879486e-03f, 4.756245519e-03f, 4.756603315e-03f, 4.756952873e-03f,
+4.757294195e-03f, 4.757627278e-03f, 4.757952124e-03f, 4.758268732e-03f, 4.758577102e-03f, 4.758877233e-03f, 4.759169126e-03f, 4.759452781e-03f, 4.759728197e-03f, 4.759995375e-03f,
+4.760254314e-03f, 4.760505014e-03f, 4.760747475e-03f, 4.760981698e-03f, 4.761207682e-03f, 4.761425427e-03f, 4.761634934e-03f, 4.761836202e-03f, 4.762029231e-03f, 4.762214022e-03f,
+4.762390575e-03f, 4.762558889e-03f, 4.762718965e-03f, 4.762870803e-03f, 4.763014403e-03f, 4.763149765e-03f, 4.763276890e-03f, 4.763395777e-03f, 4.763506427e-03f, 4.763608841e-03f,
+4.763703017e-03f, 4.763788957e-03f, 4.763866660e-03f, 4.763936128e-03f, 4.763997360e-03f, 4.764050357e-03f, 4.764095118e-03f, 4.764131645e-03f, 4.764159937e-03f, 4.764179995e-03f,
+4.764191820e-03f, 4.764195411e-03f, 4.764190770e-03f, 4.764177896e-03f, 4.764156790e-03f, 4.764127452e-03f, 4.764089884e-03f, 4.764044084e-03f, 4.763990055e-03f, 4.763927795e-03f,
+4.763857307e-03f, 4.763778590e-03f, 4.763691645e-03f, 4.763596472e-03f, 4.763493073e-03f, 4.763381447e-03f, 4.763261595e-03f, 4.763133518e-03f, 4.762997216e-03f, 4.762852691e-03f,
+4.762699942e-03f, 4.762538971e-03f, 4.762369778e-03f, 4.762192364e-03f, 4.762006729e-03f, 4.761812875e-03f, 4.761610801e-03f, 4.761400510e-03f, 4.761182001e-03f, 4.760955275e-03f,
+4.760720333e-03f, 4.760477176e-03f, 4.760225805e-03f, 4.759966221e-03f, 4.759698424e-03f, 4.759422415e-03f, 4.759138195e-03f, 4.758845766e-03f, 4.758545127e-03f, 4.758236281e-03f,
+4.757919227e-03f, 4.757593967e-03f, 4.757260502e-03f, 4.756918833e-03f, 4.756568961e-03f, 4.756210886e-03f, 4.755844610e-03f, 4.755470134e-03f, 4.755087459e-03f, 4.754696585e-03f,
+4.754297515e-03f, 4.753890249e-03f, 4.753474788e-03f, 4.753051134e-03f, 4.752619287e-03f, 4.752179248e-03f, 4.751731020e-03f, 4.751274602e-03f, 4.750809997e-03f, 4.750337205e-03f,
+4.749856228e-03f, 4.749367067e-03f, 4.748869722e-03f, 4.748364196e-03f, 4.747850490e-03f, 4.747328605e-03f, 4.746798542e-03f, 4.746260302e-03f, 4.745713887e-03f, 4.745159299e-03f,
+4.744596538e-03f, 4.744025607e-03f, 4.743446505e-03f, 4.742859236e-03f, 4.742263799e-03f, 4.741660197e-03f, 4.741048432e-03f, 4.740428504e-03f, 4.739800415e-03f, 4.739164166e-03f,
+4.738519759e-03f, 4.737867196e-03f, 4.737206478e-03f, 4.736537607e-03f, 4.735860584e-03f, 4.735175410e-03f, 4.734482088e-03f, 4.733780619e-03f, 4.733071004e-03f, 4.732353246e-03f,
+4.731627345e-03f, 4.730893304e-03f, 4.730151124e-03f, 4.729400806e-03f, 4.728642353e-03f, 4.727875767e-03f, 4.727101048e-03f, 4.726318200e-03f, 4.725527222e-03f, 4.724728118e-03f,
+4.723920889e-03f, 4.723105537e-03f, 4.722282063e-03f, 4.721450470e-03f, 4.720610759e-03f, 4.719762932e-03f, 4.718906991e-03f, 4.718042938e-03f, 4.717170775e-03f, 4.716290503e-03f,
+4.715402125e-03f, 4.714505643e-03f, 4.713601058e-03f, 4.712688373e-03f, 4.711767589e-03f, 4.710838708e-03f, 4.709901733e-03f, 4.708956665e-03f, 4.708003507e-03f, 4.707042260e-03f,
+4.706072927e-03f, 4.705095510e-03f, 4.704110010e-03f, 4.703116430e-03f, 4.702114773e-03f, 4.701105039e-03f, 4.700087231e-03f, 4.699061352e-03f, 4.698027404e-03f, 4.696985388e-03f,
+4.695935308e-03f, 4.694877164e-03f, 4.693810960e-03f, 4.692736697e-03f, 4.691654379e-03f, 4.690564006e-03f, 4.689465582e-03f, 4.688359109e-03f, 4.687244589e-03f, 4.686122024e-03f,
+4.684991417e-03f, 4.683852770e-03f, 4.682706085e-03f, 4.681551366e-03f, 4.680388613e-03f, 4.679217830e-03f, 4.678039019e-03f, 4.676852183e-03f, 4.675657323e-03f, 4.674454443e-03f,
+4.673243545e-03f, 4.672024631e-03f, 4.670797704e-03f, 4.669562766e-03f, 4.668319820e-03f, 4.667068869e-03f, 4.665809915e-03f, 4.664542960e-03f, 4.663268007e-03f, 4.661985059e-03f,
+4.660694119e-03f, 4.659395188e-03f, 4.658088270e-03f, 4.656773368e-03f, 4.655450483e-03f, 4.654119619e-03f, 4.652780778e-03f, 4.651433963e-03f, 4.650079177e-03f, 4.648716423e-03f,
+4.647345703e-03f, 4.645967020e-03f, 4.644580376e-03f, 4.643185775e-03f, 4.641783220e-03f, 4.640372712e-03f, 4.638954256e-03f, 4.637527854e-03f, 4.636093508e-03f, 4.634651222e-03f,
+4.633200998e-03f, 4.631742840e-03f, 4.630276750e-03f, 4.628802731e-03f, 4.627320786e-03f, 4.625830919e-03f, 4.624333131e-03f, 4.622827427e-03f, 4.621313809e-03f, 4.619792279e-03f,
+4.618262842e-03f, 4.616725500e-03f, 4.615180256e-03f, 4.613627113e-03f, 4.612066075e-03f, 4.610497144e-03f, 4.608920323e-03f, 4.607335616e-03f, 4.605743026e-03f, 4.604142556e-03f,
+4.602534208e-03f, 4.600917987e-03f, 4.599293895e-03f, 4.597661936e-03f, 4.596022113e-03f, 4.594374428e-03f, 4.592718886e-03f, 4.591055489e-03f, 4.589384241e-03f, 4.587705145e-03f,
+4.586018205e-03f, 4.584323423e-03f, 4.582620803e-03f, 4.580910348e-03f, 4.579192062e-03f, 4.577465947e-03f, 4.575732008e-03f, 4.573990248e-03f, 4.572240670e-03f, 4.570483278e-03f,
+4.568718074e-03f, 4.566945063e-03f, 4.565164247e-03f, 4.563375631e-03f, 4.561579218e-03f, 4.559775011e-03f, 4.557963014e-03f, 4.556143230e-03f, 4.554315663e-03f, 4.552480316e-03f,
+4.550637193e-03f, 4.548786297e-03f, 4.546927633e-03f, 4.545061203e-03f, 4.543187012e-03f, 4.541305063e-03f, 4.539415359e-03f, 4.537517904e-03f, 4.535612702e-03f, 4.533699756e-03f,
+4.531779071e-03f, 4.529850650e-03f, 4.527914496e-03f, 4.525970614e-03f, 4.524019007e-03f, 4.522059678e-03f, 4.520092632e-03f, 4.518117873e-03f, 4.516135404e-03f, 4.514145229e-03f,
+4.512147351e-03f, 4.510141776e-03f, 4.508128505e-03f, 4.506107544e-03f, 4.504078897e-03f, 4.502042566e-03f, 4.499998557e-03f, 4.497946872e-03f, 4.495887516e-03f, 4.493820494e-03f,
+4.491745807e-03f, 4.489663462e-03f, 4.487573461e-03f, 4.485475809e-03f, 4.483370510e-03f, 4.481257567e-03f, 4.479136985e-03f, 4.477008768e-03f, 4.474872919e-03f, 4.472729444e-03f,
+4.470578345e-03f, 4.468419627e-03f, 4.466253295e-03f, 4.464079352e-03f, 4.461897803e-03f, 4.459708650e-03f, 4.457511900e-03f, 4.455307556e-03f, 4.453095621e-03f, 4.450876101e-03f,
+4.448649000e-03f, 4.446414321e-03f, 4.444172069e-03f, 4.441922249e-03f, 4.439664863e-03f, 4.437399918e-03f, 4.435127417e-03f, 4.432847363e-03f, 4.430559763e-03f, 4.428264620e-03f,
+4.425961937e-03f, 4.423651721e-03f, 4.421333975e-03f, 4.419008702e-03f, 4.416675909e-03f, 4.414335599e-03f, 4.411987777e-03f, 4.409632446e-03f, 4.407269612e-03f, 4.404899280e-03f,
+4.402521452e-03f, 4.400136134e-03f, 4.397743331e-03f, 4.395343047e-03f, 4.392935286e-03f, 4.390520053e-03f, 4.388097352e-03f, 4.385667189e-03f, 4.383229567e-03f, 4.380784491e-03f,
+4.378331966e-03f, 4.375871996e-03f, 4.373404587e-03f, 4.370929742e-03f, 4.368447466e-03f, 4.365957764e-03f, 4.363460641e-03f, 4.360956101e-03f, 4.358444150e-03f, 4.355924790e-03f,
+4.353398029e-03f, 4.350863869e-03f, 4.348322316e-03f, 4.345773375e-03f, 4.343217051e-03f, 4.340653347e-03f, 4.338082270e-03f, 4.335503823e-03f, 4.332918012e-03f, 4.330324842e-03f,
+4.327724316e-03f, 4.325116441e-03f, 4.322501221e-03f, 4.319878661e-03f, 4.317248766e-03f, 4.314611540e-03f, 4.311966989e-03f, 4.309315118e-03f, 4.306655931e-03f, 4.303989433e-03f,
+4.301315630e-03f, 4.298634527e-03f, 4.295946128e-03f, 4.293250438e-03f, 4.290547462e-03f, 4.287837207e-03f, 4.285119675e-03f, 4.282394874e-03f, 4.279662807e-03f, 4.276923479e-03f,
+4.274176897e-03f, 4.271423064e-03f, 4.268661986e-03f, 4.265893669e-03f, 4.263118117e-03f, 4.260335335e-03f, 4.257545329e-03f, 4.254748104e-03f, 4.251943665e-03f, 4.249132017e-03f,
+4.246313165e-03f, 4.243487115e-03f, 4.240653872e-03f, 4.237813441e-03f, 4.234965827e-03f, 4.232111037e-03f, 4.229249074e-03f, 4.226379944e-03f, 4.223503653e-03f, 4.220620206e-03f,
+4.217729608e-03f, 4.214831865e-03f, 4.211926981e-03f, 4.209014963e-03f, 4.206095816e-03f, 4.203169545e-03f, 4.200236155e-03f, 4.197295652e-03f, 4.194348042e-03f, 4.191393329e-03f,
+4.188431520e-03f, 4.185462619e-03f, 4.182486633e-03f, 4.179503566e-03f, 4.176513425e-03f, 4.173516214e-03f, 4.170511940e-03f, 4.167500607e-03f, 4.164482222e-03f, 4.161456790e-03f,
+4.158424316e-03f, 4.155384806e-03f, 4.152338266e-03f, 4.149284702e-03f, 4.146224118e-03f, 4.143156521e-03f, 4.140081916e-03f, 4.137000309e-03f, 4.133911705e-03f, 4.130816111e-03f,
+4.127713531e-03f, 4.124603973e-03f, 4.121487440e-03f, 4.118363940e-03f, 4.115233477e-03f, 4.112096058e-03f, 4.108951689e-03f, 4.105800374e-03f, 4.102642121e-03f, 4.099476934e-03f,
+4.096304820e-03f, 4.093125784e-03f, 4.089939832e-03f, 4.086746970e-03f, 4.083547204e-03f, 4.080340540e-03f, 4.077126984e-03f, 4.073906541e-03f, 4.070679217e-03f, 4.067445019e-03f,
+4.064203952e-03f, 4.060956023e-03f, 4.057701236e-03f, 4.054439599e-03f, 4.051171117e-03f, 4.047895796e-03f, 4.044613642e-03f, 4.041324661e-03f, 4.038028860e-03f, 4.034726243e-03f,
+4.031416818e-03f, 4.028100590e-03f, 4.024777566e-03f, 4.021447750e-03f, 4.018111151e-03f, 4.014767773e-03f, 4.011417622e-03f, 4.008060706e-03f, 4.004697029e-03f, 4.001326599e-03f,
+3.997949421e-03f, 3.994565501e-03f, 3.991174846e-03f, 3.987777462e-03f, 3.984373355e-03f, 3.980962531e-03f, 3.977544997e-03f, 3.974120758e-03f, 3.970689822e-03f, 3.967252193e-03f,
+3.963807879e-03f, 3.960356886e-03f, 3.956899220e-03f, 3.953434887e-03f, 3.949963894e-03f, 3.946486247e-03f, 3.943001953e-03f, 3.939511017e-03f, 3.936013446e-03f, 3.932509247e-03f,
+3.928998425e-03f, 3.925480988e-03f, 3.921956941e-03f, 3.918426291e-03f, 3.914889045e-03f, 3.911345209e-03f, 3.907794789e-03f, 3.904237792e-03f, 3.900674224e-03f, 3.897104092e-03f,
+3.893527403e-03f, 3.889944162e-03f, 3.886354376e-03f, 3.882758053e-03f, 3.879155197e-03f, 3.875545817e-03f, 3.871929918e-03f, 3.868307507e-03f, 3.864678590e-03f, 3.861043175e-03f,
+3.857401268e-03f, 3.853752875e-03f, 3.850098003e-03f, 3.846436659e-03f, 3.842768850e-03f, 3.839094581e-03f, 3.835413860e-03f, 3.831726693e-03f, 3.828033088e-03f, 3.824333050e-03f,
+3.820626586e-03f, 3.816913704e-03f, 3.813194410e-03f, 3.809468710e-03f, 3.805736612e-03f, 3.801998122e-03f, 3.798253247e-03f, 3.794501993e-03f, 3.790744368e-03f, 3.786980379e-03f,
+3.783210032e-03f, 3.779433333e-03f, 3.775650291e-03f, 3.771860911e-03f, 3.768065201e-03f, 3.764263167e-03f, 3.760454817e-03f, 3.756640157e-03f, 3.752819194e-03f, 3.748991935e-03f,
+3.745158386e-03f, 3.741318556e-03f, 3.737472451e-03f, 3.733620077e-03f, 3.729761442e-03f, 3.725896553e-03f, 3.722025417e-03f, 3.718148040e-03f, 3.714264430e-03f, 3.710374594e-03f,
+3.706478539e-03f, 3.702576271e-03f, 3.698667798e-03f, 3.694753127e-03f, 3.690832266e-03f, 3.686905220e-03f, 3.682971998e-03f, 3.679032605e-03f, 3.675087051e-03f, 3.671135340e-03f,
+3.667177482e-03f, 3.663213482e-03f, 3.659243348e-03f, 3.655267087e-03f, 3.651284707e-03f, 3.647296214e-03f, 3.643301615e-03f, 3.639300919e-03f, 3.635294131e-03f, 3.631281260e-03f,
+3.627262313e-03f, 3.623237296e-03f, 3.619206217e-03f, 3.615169084e-03f, 3.611125903e-03f, 3.607076683e-03f, 3.603021429e-03f, 3.598960150e-03f, 3.594892852e-03f, 3.590819544e-03f,
+3.586740232e-03f, 3.582654924e-03f, 3.578563627e-03f, 3.574466349e-03f, 3.570363097e-03f, 3.566253878e-03f, 3.562138699e-03f, 3.558017569e-03f, 3.553890494e-03f, 3.549757482e-03f,
+3.545618541e-03f, 3.541473677e-03f, 3.537322899e-03f, 3.533166213e-03f, 3.529003628e-03f, 3.524835150e-03f, 3.520660788e-03f, 3.516480548e-03f, 3.512294438e-03f, 3.508102466e-03f,
+3.503904640e-03f, 3.499700966e-03f, 3.495491453e-03f, 3.491276107e-03f, 3.487054938e-03f, 3.482827951e-03f, 3.478595155e-03f, 3.474356557e-03f, 3.470112165e-03f, 3.465861987e-03f,
+3.461606029e-03f, 3.457344301e-03f, 3.453076809e-03f, 3.448803561e-03f, 3.444524565e-03f, 3.440239828e-03f, 3.435949359e-03f, 3.431653164e-03f, 3.427351252e-03f, 3.423043630e-03f,
+3.418730306e-03f, 3.414411288e-03f, 3.410086583e-03f, 3.405756200e-03f, 3.401420145e-03f, 3.397078428e-03f, 3.392731055e-03f, 3.388378034e-03f, 3.384019373e-03f, 3.379655080e-03f,
+3.375285163e-03f, 3.370909630e-03f, 3.366528488e-03f, 3.362141746e-03f, 3.357749410e-03f, 3.353351490e-03f, 3.348947992e-03f, 3.344538926e-03f, 3.340124298e-03f, 3.335704116e-03f,
+3.331278389e-03f, 3.326847124e-03f, 3.322410330e-03f, 3.317968014e-03f, 3.313520185e-03f, 3.309066849e-03f, 3.304608016e-03f, 3.300143693e-03f, 3.295673888e-03f, 3.291198609e-03f,
+3.286717864e-03f, 3.282231661e-03f, 3.277740009e-03f, 3.273242914e-03f, 3.268740386e-03f, 3.264232432e-03f, 3.259719061e-03f, 3.255200280e-03f, 3.250676097e-03f, 3.246146521e-03f,
+3.241611560e-03f, 3.237071222e-03f, 3.232525514e-03f, 3.227974445e-03f, 3.223418024e-03f, 3.218856258e-03f, 3.214289155e-03f, 3.209716724e-03f, 3.205138972e-03f, 3.200555909e-03f,
+3.195967541e-03f, 3.191373878e-03f, 3.186774928e-03f, 3.182170698e-03f, 3.177561197e-03f, 3.172946433e-03f, 3.168326414e-03f, 3.163701149e-03f, 3.159070646e-03f, 3.154434914e-03f,
+3.149793959e-03f, 3.145147791e-03f, 3.140496419e-03f, 3.135839849e-03f, 3.131178091e-03f, 3.126511153e-03f, 3.121839043e-03f, 3.117161770e-03f, 3.112479342e-03f, 3.107791767e-03f,
+3.103099053e-03f, 3.098401209e-03f, 3.093698244e-03f, 3.088990165e-03f, 3.084276982e-03f, 3.079558702e-03f, 3.074835334e-03f, 3.070106886e-03f, 3.065373367e-03f, 3.060634785e-03f,
+3.055891148e-03f, 3.051142466e-03f, 3.046388746e-03f, 3.041629997e-03f, 3.036866228e-03f, 3.032097446e-03f, 3.027323661e-03f, 3.022544881e-03f, 3.017761114e-03f, 3.012972369e-03f,
+3.008178655e-03f, 3.003379979e-03f, 2.998576351e-03f, 2.993767780e-03f, 2.988954272e-03f, 2.984135838e-03f, 2.979312486e-03f, 2.974484224e-03f, 2.969651061e-03f, 2.964813005e-03f,
+2.959970066e-03f, 2.955122251e-03f, 2.950269569e-03f, 2.945412030e-03f, 2.940549641e-03f, 2.935682411e-03f, 2.930810350e-03f, 2.925933465e-03f, 2.921051765e-03f, 2.916165259e-03f,
+2.911273955e-03f, 2.906377863e-03f, 2.901476991e-03f, 2.896571347e-03f, 2.891660941e-03f, 2.886745781e-03f, 2.881825875e-03f, 2.876901234e-03f, 2.871971864e-03f, 2.867037776e-03f,
+2.862098977e-03f, 2.857155478e-03f, 2.852207285e-03f, 2.847254409e-03f, 2.842296857e-03f, 2.837334640e-03f, 2.832367764e-03f, 2.827396241e-03f, 2.822420077e-03f, 2.817439283e-03f,
+2.812453866e-03f, 2.807463836e-03f, 2.802469201e-03f, 2.797469971e-03f, 2.792466155e-03f, 2.787457760e-03f, 2.782444796e-03f, 2.777427273e-03f, 2.772405198e-03f, 2.767378580e-03f,
+2.762347430e-03f, 2.757311755e-03f, 2.752271564e-03f, 2.747226867e-03f, 2.742177673e-03f, 2.737123989e-03f, 2.732065826e-03f, 2.727003192e-03f, 2.721936096e-03f, 2.716864547e-03f,
+2.711788555e-03f, 2.706708127e-03f, 2.701623274e-03f, 2.696534004e-03f, 2.691440326e-03f, 2.686342249e-03f, 2.681239783e-03f, 2.676132936e-03f, 2.671021717e-03f, 2.665906135e-03f,
+2.660786200e-03f, 2.655661920e-03f, 2.650533304e-03f, 2.645400363e-03f, 2.640263103e-03f, 2.635121536e-03f, 2.629975670e-03f, 2.624825513e-03f, 2.619671076e-03f, 2.614512367e-03f,
+2.609349395e-03f, 2.604182170e-03f, 2.599010700e-03f, 2.593834995e-03f, 2.588655064e-03f, 2.583470916e-03f, 2.578282560e-03f, 2.573090006e-03f, 2.567893262e-03f, 2.562692338e-03f,
+2.557487243e-03f, 2.552277986e-03f, 2.547064577e-03f, 2.541847024e-03f, 2.536625337e-03f, 2.531399525e-03f, 2.526169597e-03f, 2.520935563e-03f, 2.515697432e-03f, 2.510455212e-03f,
+2.505208914e-03f, 2.499958547e-03f, 2.494704119e-03f, 2.489445640e-03f, 2.484183120e-03f, 2.478916568e-03f, 2.473645992e-03f, 2.468371403e-03f, 2.463092810e-03f, 2.457810221e-03f,
+2.452523647e-03f, 2.447233096e-03f, 2.441938578e-03f, 2.436640103e-03f, 2.431337679e-03f, 2.426031316e-03f, 2.420721023e-03f, 2.415406810e-03f, 2.410088687e-03f, 2.404766661e-03f,
+2.399440744e-03f, 2.394110944e-03f, 2.388777271e-03f, 2.383439733e-03f, 2.378098342e-03f, 2.372753105e-03f, 2.367404032e-03f, 2.362051133e-03f, 2.356694418e-03f, 2.351333895e-03f,
+2.345969574e-03f, 2.340601465e-03f, 2.335229577e-03f, 2.329853920e-03f, 2.324474502e-03f, 2.319091334e-03f, 2.313704425e-03f, 2.308313784e-03f, 2.302919422e-03f, 2.297521346e-03f,
+2.292119568e-03f, 2.286714096e-03f, 2.281304941e-03f, 2.275892110e-03f, 2.270475615e-03f, 2.265055465e-03f, 2.259631668e-03f, 2.254204236e-03f, 2.248773177e-03f, 2.243338500e-03f,
+2.237900216e-03f, 2.232458334e-03f, 2.227012864e-03f, 2.221563814e-03f, 2.216111196e-03f, 2.210655018e-03f, 2.205195290e-03f, 2.199732021e-03f, 2.194265221e-03f, 2.188794901e-03f,
+2.183321069e-03f, 2.177843735e-03f, 2.172362908e-03f, 2.166878599e-03f, 2.161390817e-03f, 2.155899572e-03f, 2.150404873e-03f, 2.144906730e-03f, 2.139405153e-03f, 2.133900151e-03f,
+2.128391734e-03f, 2.122879911e-03f, 2.117364694e-03f, 2.111846090e-03f, 2.106324110e-03f, 2.100798763e-03f, 2.095270060e-03f, 2.089738010e-03f, 2.084202622e-03f, 2.078663907e-03f,
+2.073121874e-03f, 2.067576533e-03f, 2.062027894e-03f, 2.056475966e-03f, 2.050920759e-03f, 2.045362283e-03f, 2.039800547e-03f, 2.034235562e-03f, 2.028667338e-03f, 2.023095883e-03f,
+2.017521208e-03f, 2.011943323e-03f, 2.006362237e-03f, 2.000777960e-03f, 1.995190502e-03f, 1.989599874e-03f, 1.984006083e-03f, 1.978409141e-03f, 1.972809058e-03f, 1.967205842e-03f,
+1.961599505e-03f, 1.955990055e-03f, 1.950377503e-03f, 1.944761859e-03f, 1.939143131e-03f, 1.933521331e-03f, 1.927896469e-03f, 1.922268553e-03f, 1.916637594e-03f, 1.911003601e-03f,
+1.905366585e-03f, 1.899726556e-03f, 1.894083523e-03f, 1.888437496e-03f, 1.882788486e-03f, 1.877136502e-03f, 1.871481553e-03f, 1.865823651e-03f, 1.860162804e-03f, 1.854499024e-03f,
+1.848832319e-03f, 1.843162699e-03f, 1.837490175e-03f, 1.831814757e-03f, 1.826136454e-03f, 1.820455277e-03f, 1.814771235e-03f, 1.809084339e-03f, 1.803394598e-03f, 1.797702022e-03f,
+1.792006621e-03f, 1.786308406e-03f, 1.780607386e-03f, 1.774903571e-03f, 1.769196972e-03f, 1.763487597e-03f, 1.757775459e-03f, 1.752060565e-03f, 1.746342926e-03f, 1.740622553e-03f,
+1.734899455e-03f, 1.729173643e-03f, 1.723445126e-03f, 1.717713914e-03f, 1.711980018e-03f, 1.706243447e-03f, 1.700504212e-03f, 1.694762322e-03f, 1.689017788e-03f, 1.683270619e-03f,
+1.677520827e-03f, 1.671768420e-03f, 1.666013409e-03f, 1.660255804e-03f, 1.654495615e-03f, 1.648732852e-03f, 1.642967525e-03f, 1.637199645e-03f, 1.631429221e-03f, 1.625656264e-03f,
+1.619880783e-03f, 1.614102789e-03f, 1.608322291e-03f, 1.602539301e-03f, 1.596753827e-03f, 1.590965881e-03f, 1.585175472e-03f, 1.579382610e-03f, 1.573587306e-03f, 1.567789570e-03f,
+1.561989411e-03f, 1.556186841e-03f, 1.550381868e-03f, 1.544574504e-03f, 1.538764758e-03f, 1.532952641e-03f, 1.527138163e-03f, 1.521321333e-03f, 1.515502162e-03f, 1.509680661e-03f,
+1.503856839e-03f, 1.498030707e-03f, 1.492202274e-03f, 1.486371552e-03f, 1.480538549e-03f, 1.474703277e-03f, 1.468865746e-03f, 1.463025965e-03f, 1.457183945e-03f, 1.451339696e-03f,
+1.445493229e-03f, 1.439644553e-03f, 1.433793679e-03f, 1.427940617e-03f, 1.422085377e-03f, 1.416227970e-03f, 1.410368405e-03f, 1.404506693e-03f, 1.398642845e-03f, 1.392776870e-03f,
+1.386908778e-03f, 1.381038580e-03f, 1.375166287e-03f, 1.369291908e-03f, 1.363415453e-03f, 1.357536934e-03f, 1.351656359e-03f, 1.345773740e-03f, 1.339889087e-03f, 1.334002409e-03f,
+1.328113718e-03f, 1.322223023e-03f, 1.316330335e-03f, 1.310435665e-03f, 1.304539021e-03f, 1.298640415e-03f, 1.292739857e-03f, 1.286837358e-03f, 1.280932927e-03f, 1.275026574e-03f,
+1.269118311e-03f, 1.263208147e-03f, 1.257296093e-03f, 1.251382159e-03f, 1.245466355e-03f, 1.239548692e-03f, 1.233629180e-03f, 1.227707830e-03f, 1.221784651e-03f, 1.215859654e-03f,
+1.209932849e-03f, 1.204004247e-03f, 1.198073857e-03f, 1.192141691e-03f, 1.186207759e-03f, 1.180272071e-03f, 1.174334637e-03f, 1.168395467e-03f, 1.162454573e-03f, 1.156511964e-03f,
+1.150567651e-03f, 1.144621644e-03f, 1.138673953e-03f, 1.132724589e-03f, 1.126773562e-03f, 1.120820883e-03f, 1.114866562e-03f, 1.108910608e-03f, 1.102953034e-03f, 1.096993849e-03f,
+1.091033063e-03f, 1.085070686e-03f, 1.079106730e-03f, 1.073141205e-03f, 1.067174120e-03f, 1.061205487e-03f, 1.055235315e-03f, 1.049263616e-03f, 1.043290399e-03f, 1.037315675e-03f,
+1.031339454e-03f, 1.025361747e-03f, 1.019382564e-03f, 1.013401915e-03f, 1.007419812e-03f, 1.001436264e-03f, 9.954512810e-04f, 9.894648747e-04f, 9.834770549e-04f, 9.774878321e-04f,
+9.714972167e-04f, 9.655052191e-04f, 9.595118498e-04f, 9.535171191e-04f, 9.475210376e-04f, 9.415236155e-04f, 9.355248635e-04f, 9.295247918e-04f, 9.235234109e-04f, 9.175207313e-04f,
+9.115167634e-04f, 9.055115177e-04f, 8.995050045e-04f, 8.934972343e-04f, 8.874882177e-04f, 8.814779649e-04f, 8.754664865e-04f, 8.694537929e-04f, 8.634398945e-04f, 8.574248019e-04f,
+8.514085254e-04f, 8.453910756e-04f, 8.393724628e-04f, 8.333526976e-04f, 8.273317903e-04f, 8.213097515e-04f, 8.152865917e-04f, 8.092623212e-04f, 8.032369506e-04f, 7.972104903e-04f,
+7.911829508e-04f, 7.851543425e-04f, 7.791246760e-04f, 7.730939617e-04f, 7.670622100e-04f, 7.610294315e-04f, 7.549956366e-04f, 7.489608358e-04f, 7.429250396e-04f, 7.368882584e-04f,
+7.308505028e-04f, 7.248117833e-04f, 7.187721102e-04f, 7.127314941e-04f, 7.066899455e-04f, 7.006474748e-04f, 6.946040926e-04f, 6.885598094e-04f, 6.825146355e-04f, 6.764685816e-04f,
+6.704216581e-04f, 6.643738755e-04f, 6.583252443e-04f, 6.522757750e-04f, 6.462254781e-04f, 6.401743641e-04f, 6.341224434e-04f, 6.280697267e-04f, 6.220162243e-04f, 6.159619468e-04f,
+6.099069047e-04f, 6.038511084e-04f, 5.977945686e-04f, 5.917372956e-04f, 5.856793000e-04f, 5.796205924e-04f, 5.735611831e-04f, 5.675010827e-04f, 5.614403018e-04f, 5.553788507e-04f,
+5.493167401e-04f, 5.432539805e-04f, 5.371905823e-04f, 5.311265560e-04f, 5.250619123e-04f, 5.189966615e-04f, 5.129308142e-04f, 5.068643808e-04f, 5.007973721e-04f, 4.947297983e-04f,
+4.886616701e-04f, 4.825929979e-04f, 4.765237923e-04f, 4.704540638e-04f, 4.643838229e-04f, 4.583130801e-04f, 4.522418460e-04f, 4.461701310e-04f, 4.400979456e-04f, 4.340253005e-04f,
+4.279522060e-04f, 4.218786728e-04f, 4.158047112e-04f, 4.097303320e-04f, 4.036555455e-04f, 3.975803623e-04f, 3.915047928e-04f, 3.854288478e-04f, 3.793525375e-04f, 3.732758726e-04f,
+3.671988636e-04f, 3.611215210e-04f, 3.550438553e-04f, 3.489658771e-04f, 3.428875968e-04f, 3.368090249e-04f, 3.307301721e-04f, 3.246510488e-04f, 3.185716655e-04f, 3.124920327e-04f,
+3.064121610e-04f, 3.003320610e-04f, 2.942517430e-04f, 2.881712176e-04f, 2.820904954e-04f, 2.760095868e-04f, 2.699285024e-04f, 2.638472527e-04f, 2.577658482e-04f, 2.516842994e-04f,
+2.456026169e-04f, 2.395208112e-04f, 2.334388927e-04f, 2.273568720e-04f, 2.212747596e-04f, 2.151925661e-04f, 2.091103019e-04f, 2.030279775e-04f, 1.969456035e-04f, 1.908631904e-04f,
+1.847807487e-04f, 1.786982889e-04f, 1.726158215e-04f, 1.665333570e-04f, 1.604509060e-04f, 1.543684789e-04f, 1.482860863e-04f, 1.422037386e-04f, 1.361214464e-04f, 1.300392203e-04f,
+1.239570706e-04f, 1.178750079e-04f, 1.117930427e-04f, 1.057111856e-04f, 9.962944691e-05f, 9.354783729e-05f, 8.746636719e-05f, 8.138504712e-05f, 7.530388758e-05f, 6.922289907e-05f,
+6.314209209e-05f, 5.706147714e-05f, 5.098106472e-05f, 4.490086533e-05f, 3.882088946e-05f, 3.274114761e-05f, 2.666165027e-05f, 2.058240794e-05f, 1.450343111e-05f, 8.424730278e-06f,
+2.346315926e-06f, -3.731801452e-06f, -9.809611368e-06f, -1.588710333e-05f, -2.196426686e-05f, -2.804109146e-05f, -3.411756666e-05f, -4.019368196e-05f, -4.626942690e-05f, -5.234479097e-05f,
+-5.841976371e-05f, -6.449433464e-05f, -7.056849327e-05f, -7.664222914e-05f, -8.271553176e-05f, -8.878839067e-05f, -9.486079538e-05f, -1.009327354e-04f, -1.070042004e-04f, -1.130751797e-04f,
+-1.191456629e-04f, -1.252156397e-04f, -1.312850994e-04f, -1.373540317e-04f, -1.434224260e-04f, -1.494902720e-04f, -1.555575591e-04f, -1.616242769e-04f, -1.676904150e-04f, -1.737559628e-04f,
+-1.798209100e-04f, -1.858852461e-04f, -1.919489606e-04f, -1.980120431e-04f, -2.040744832e-04f, -2.101362703e-04f, -2.161973941e-04f, -2.222578442e-04f, -2.283176100e-04f, -2.343766811e-04f,
+-2.404350471e-04f, -2.464926976e-04f, -2.525496222e-04f, -2.586058103e-04f, -2.646612516e-04f, -2.707159356e-04f, -2.767698520e-04f, -2.828229903e-04f, -2.888753400e-04f, -2.949268908e-04f,
+-3.009776322e-04f, -3.070275538e-04f, -3.130766453e-04f, -3.191248961e-04f, -3.251722959e-04f, -3.312188343e-04f, -3.372645009e-04f, -3.433092852e-04f, -3.493531769e-04f, -3.553961655e-04f,
+-3.614382407e-04f, -3.674793920e-04f, -3.735196092e-04f, -3.795588817e-04f, -3.855971992e-04f, -3.916345513e-04f, -3.976709276e-04f, -4.037063177e-04f, -4.097407113e-04f, -4.157740980e-04f,
+-4.218064674e-04f, -4.278378091e-04f, -4.338681127e-04f, -4.398973679e-04f, -4.459255643e-04f, -4.519526916e-04f, -4.579787394e-04f, -4.640036973e-04f, -4.700275549e-04f, -4.760503020e-04f,
+-4.820719281e-04f, -4.880924230e-04f, -4.941117762e-04f, -5.001299774e-04f, -5.061470163e-04f, -5.121628825e-04f, -5.181775657e-04f, -5.241910556e-04f, -5.302033418e-04f, -5.362144139e-04f,
+-5.422242618e-04f, -5.482328750e-04f, -5.542402432e-04f, -5.602463561e-04f, -5.662512034e-04f, -5.722547748e-04f, -5.782570599e-04f, -5.842580485e-04f, -5.902577302e-04f, -5.962560947e-04f,
+-6.022531318e-04f, -6.082488311e-04f, -6.142431824e-04f, -6.202361753e-04f, -6.262277996e-04f, -6.322180449e-04f, -6.382069011e-04f, -6.441943578e-04f, -6.501804047e-04f, -6.561650315e-04f,
+-6.621482281e-04f, -6.681299840e-04f, -6.741102891e-04f, -6.800891332e-04f, -6.860665058e-04f, -6.920423968e-04f, -6.980167959e-04f, -7.039896929e-04f, -7.099610776e-04f, -7.159309396e-04f,
+-7.218992687e-04f, -7.278660548e-04f, -7.338312875e-04f, -7.397949566e-04f, -7.457570519e-04f, -7.517175633e-04f, -7.576764803e-04f, -7.636337930e-04f, -7.695894909e-04f, -7.755435639e-04f,
+-7.814960019e-04f, -7.874467945e-04f, -7.933959317e-04f, -7.993434031e-04f, -8.052891986e-04f, -8.112333081e-04f, -8.171757212e-04f, -8.231164279e-04f, -8.290554180e-04f, -8.349926812e-04f,
+-8.409282074e-04f, -8.468619865e-04f, -8.527940082e-04f, -8.587242624e-04f, -8.646527389e-04f, -8.705794276e-04f, -8.765043184e-04f, -8.824274010e-04f, -8.883486653e-04f, -8.942681013e-04f,
+-9.001856987e-04f, -9.061014473e-04f, -9.120153372e-04f, -9.179273581e-04f, -9.238375000e-04f, -9.297457527e-04f, -9.356521060e-04f, -9.415565500e-04f, -9.474590744e-04f, -9.533596691e-04f,
+-9.592583242e-04f, -9.651550294e-04f, -9.710497746e-04f, -9.769425499e-04f, -9.828333450e-04f, -9.887221500e-04f, -9.946089547e-04f, -1.000493749e-03f, -1.006376523e-03f, -1.012257267e-03f,
+-1.018135969e-03f, -1.024012622e-03f, -1.029887214e-03f, -1.035759735e-03f, -1.041630175e-03f, -1.047498524e-03f, -1.053364773e-03f, -1.059228911e-03f, -1.065090928e-03f, -1.070950814e-03f,
+-1.076808559e-03f, -1.082664153e-03f, -1.088517586e-03f, -1.094368848e-03f, -1.100217930e-03f, -1.106064820e-03f, -1.111909509e-03f, -1.117751987e-03f, -1.123592245e-03f, -1.129430271e-03f,
+-1.135266057e-03f, -1.141099591e-03f, -1.146930865e-03f, -1.152759868e-03f, -1.158586590e-03f, -1.164411022e-03f, -1.170233153e-03f, -1.176052973e-03f, -1.181870473e-03f, -1.187685642e-03f,
+-1.193498470e-03f, -1.199308949e-03f, -1.205117066e-03f, -1.210922814e-03f, -1.216726182e-03f, -1.222527159e-03f, -1.228325737e-03f, -1.234121905e-03f, -1.239915653e-03f, -1.245706971e-03f,
+-1.251495850e-03f, -1.257282279e-03f, -1.263066249e-03f, -1.268847750e-03f, -1.274626772e-03f, -1.280403305e-03f, -1.286177339e-03f, -1.291948865e-03f, -1.297717872e-03f, -1.303484351e-03f,
+-1.309248292e-03f, -1.315009684e-03f, -1.320768519e-03f, -1.326524786e-03f, -1.332278476e-03f, -1.338029579e-03f, -1.343778084e-03f, -1.349523983e-03f, -1.355267265e-03f, -1.361007920e-03f,
+-1.366745939e-03f, -1.372481312e-03f, -1.378214029e-03f, -1.383944081e-03f, -1.389671457e-03f, -1.395396148e-03f, -1.401118144e-03f, -1.406837436e-03f, -1.412554013e-03f, -1.418267865e-03f,
+-1.423978984e-03f, -1.429687360e-03f, -1.435392982e-03f, -1.441095841e-03f, -1.446795927e-03f, -1.452493230e-03f, -1.458187741e-03f, -1.463879451e-03f, -1.469568349e-03f, -1.475254425e-03f,
+-1.480937670e-03f, -1.486618075e-03f, -1.492295630e-03f, -1.497970324e-03f, -1.503642149e-03f, -1.509311094e-03f, -1.514977150e-03f, -1.520640308e-03f, -1.526300557e-03f, -1.531957889e-03f,
+-1.537612292e-03f, -1.543263759e-03f, -1.548912279e-03f, -1.554557842e-03f, -1.560200440e-03f, -1.565840061e-03f, -1.571476698e-03f, -1.577110339e-03f, -1.582740976e-03f, -1.588368600e-03f,
+-1.593993199e-03f, -1.599614766e-03f, -1.605233289e-03f, -1.610848761e-03f, -1.616461170e-03f, -1.622070509e-03f, -1.627676766e-03f, -1.633279933e-03f, -1.638880000e-03f, -1.644476957e-03f,
+-1.650070795e-03f, -1.655661505e-03f, -1.661249077e-03f, -1.666833501e-03f, -1.672414768e-03f, -1.677992869e-03f, -1.683567793e-03f, -1.689139533e-03f, -1.694708077e-03f, -1.700273417e-03f,
+-1.705835542e-03f, -1.711394445e-03f, -1.716950115e-03f, -1.722502542e-03f, -1.728051718e-03f, -1.733597633e-03f, -1.739140277e-03f, -1.744679641e-03f, -1.750215717e-03f, -1.755748493e-03f,
+-1.761277961e-03f, -1.766804112e-03f, -1.772326935e-03f, -1.777846423e-03f, -1.783362564e-03f, -1.788875351e-03f, -1.794384773e-03f, -1.799890822e-03f, -1.805393487e-03f, -1.810892760e-03f,
+-1.816388632e-03f, -1.821881092e-03f, -1.827370132e-03f, -1.832855742e-03f, -1.838337913e-03f, -1.843816635e-03f, -1.849291900e-03f, -1.854763698e-03f, -1.860232020e-03f, -1.865696856e-03f,
+-1.871158198e-03f, -1.876616035e-03f, -1.882070359e-03f, -1.887521161e-03f, -1.892968431e-03f, -1.898412159e-03f, -1.903852338e-03f, -1.909288957e-03f, -1.914722007e-03f, -1.920151480e-03f,
+-1.925577365e-03f, -1.930999654e-03f, -1.936418337e-03f, -1.941833406e-03f, -1.947244851e-03f, -1.952652663e-03f, -1.958056832e-03f, -1.963457350e-03f, -1.968854208e-03f, -1.974247396e-03f,
+-1.979636905e-03f, -1.985022727e-03f, -1.990404851e-03f, -1.995783269e-03f, -2.001157971e-03f, -2.006528950e-03f, -2.011896194e-03f, -2.017259697e-03f, -2.022619447e-03f, -2.027975437e-03f,
+-2.033327657e-03f, -2.038676098e-03f, -2.044020751e-03f, -2.049361607e-03f, -2.054698657e-03f, -2.060031892e-03f, -2.065361303e-03f, -2.070686881e-03f, -2.076008617e-03f, -2.081326502e-03f,
+-2.086640526e-03f, -2.091950681e-03f, -2.097256959e-03f, -2.102559349e-03f, -2.107857843e-03f, -2.113152432e-03f, -2.118443107e-03f, -2.123729859e-03f, -2.129012680e-03f, -2.134291559e-03f,
+-2.139566489e-03f, -2.144837460e-03f, -2.150104464e-03f, -2.155367491e-03f, -2.160626533e-03f, -2.165881581e-03f, -2.171132625e-03f, -2.176379657e-03f, -2.181622669e-03f, -2.186861651e-03f,
+-2.192096594e-03f, -2.197327490e-03f, -2.202554329e-03f, -2.207777104e-03f, -2.212995804e-03f, -2.218210422e-03f, -2.223420948e-03f, -2.228627374e-03f, -2.233829690e-03f, -2.239027889e-03f,
+-2.244221961e-03f, -2.249411897e-03f, -2.254597689e-03f, -2.259779329e-03f, -2.264956806e-03f, -2.270130113e-03f, -2.275299241e-03f, -2.280464180e-03f, -2.285624923e-03f, -2.290781461e-03f,
+-2.295933784e-03f, -2.301081885e-03f, -2.306225754e-03f, -2.311365383e-03f, -2.316500764e-03f, -2.321631886e-03f, -2.326758743e-03f, -2.331881325e-03f, -2.336999623e-03f, -2.342113630e-03f,
+-2.347223335e-03f, -2.352328732e-03f, -2.357429810e-03f, -2.362526562e-03f, -2.367618978e-03f, -2.372707052e-03f, -2.377790772e-03f, -2.382870132e-03f, -2.387945123e-03f, -2.393015735e-03f,
+-2.398081961e-03f, -2.403143792e-03f, -2.408201220e-03f, -2.413254235e-03f, -2.418302830e-03f, -2.423346995e-03f, -2.428386723e-03f, -2.433422005e-03f, -2.438452832e-03f, -2.443479196e-03f,
+-2.448501089e-03f, -2.453518502e-03f, -2.458531426e-03f, -2.463539853e-03f, -2.468543775e-03f, -2.473543184e-03f, -2.478538070e-03f, -2.483528426e-03f, -2.488514242e-03f, -2.493495512e-03f,
+-2.498472225e-03f, -2.503444375e-03f, -2.508411952e-03f, -2.513374948e-03f, -2.518333355e-03f, -2.523287165e-03f, -2.528236369e-03f, -2.533180958e-03f, -2.538120925e-03f, -2.543056262e-03f,
+-2.547986959e-03f, -2.552913009e-03f, -2.557834403e-03f, -2.562751133e-03f, -2.567663191e-03f, -2.572570568e-03f, -2.577473257e-03f, -2.582371249e-03f, -2.587264536e-03f, -2.592153109e-03f,
+-2.597036960e-03f, -2.601916082e-03f, -2.606790466e-03f, -2.611660103e-03f, -2.616524987e-03f, -2.621385107e-03f, -2.626240457e-03f, -2.631091028e-03f, -2.635936812e-03f, -2.640777801e-03f,
+-2.645613986e-03f, -2.650445360e-03f, -2.655271915e-03f, -2.660093642e-03f, -2.664910533e-03f, -2.669722580e-03f, -2.674529776e-03f, -2.679332111e-03f, -2.684129579e-03f, -2.688922170e-03f,
+-2.693709878e-03f, -2.698492693e-03f, -2.703270608e-03f, -2.708043615e-03f, -2.712811706e-03f, -2.717574873e-03f, -2.722333107e-03f, -2.727086401e-03f, -2.731834748e-03f, -2.736578138e-03f,
+-2.741316564e-03f, -2.746050018e-03f, -2.750778493e-03f, -2.755501979e-03f, -2.760220470e-03f, -2.764933957e-03f, -2.769642433e-03f, -2.774345889e-03f, -2.779044318e-03f, -2.783737712e-03f,
+-2.788426062e-03f, -2.793109362e-03f, -2.797787603e-03f, -2.802460778e-03f, -2.807128878e-03f, -2.811791896e-03f, -2.816449824e-03f, -2.821102654e-03f, -2.825750378e-03f, -2.830392990e-03f,
+-2.835030480e-03f, -2.839662841e-03f, -2.844290065e-03f, -2.848912145e-03f, -2.853529073e-03f, -2.858140841e-03f, -2.862747442e-03f, -2.867348867e-03f, -2.871945109e-03f, -2.876536161e-03f,
+-2.881122014e-03f, -2.885702662e-03f, -2.890278095e-03f, -2.894848308e-03f, -2.899413291e-03f, -2.903973038e-03f, -2.908527541e-03f, -2.913076792e-03f, -2.917620783e-03f, -2.922159508e-03f,
+-2.926692957e-03f, -2.931221125e-03f, -2.935744003e-03f, -2.940261584e-03f, -2.944773860e-03f, -2.949280824e-03f, -2.953782467e-03f, -2.958278784e-03f, -2.962769765e-03f, -2.967255404e-03f,
+-2.971735694e-03f, -2.976210625e-03f, -2.980680192e-03f, -2.985144387e-03f, -2.989603202e-03f, -2.994056630e-03f, -2.998504663e-03f, -3.002947295e-03f, -3.007384516e-03f, -3.011816321e-03f,
+-3.016242702e-03f, -3.020663651e-03f, -3.025079162e-03f, -3.029489226e-03f, -3.033893836e-03f, -3.038292985e-03f, -3.042686666e-03f, -3.047074871e-03f, -3.051457593e-03f, -3.055834825e-03f,
+-3.060206559e-03f, -3.064572789e-03f, -3.068933506e-03f, -3.073288704e-03f, -3.077638375e-03f, -3.081982513e-03f, -3.086321109e-03f, -3.090654157e-03f, -3.094981649e-03f, -3.099303579e-03f,
+-3.103619939e-03f, -3.107930721e-03f, -3.112235919e-03f, -3.116535526e-03f, -3.120829534e-03f, -3.125117936e-03f, -3.129400726e-03f, -3.133677895e-03f, -3.137949437e-03f, -3.142215345e-03f,
+-3.146475612e-03f, -3.150730230e-03f, -3.154979193e-03f, -3.159222493e-03f, -3.163460124e-03f, -3.167692077e-03f, -3.171918348e-03f, -3.176138927e-03f, -3.180353809e-03f, -3.184562986e-03f,
+-3.188766451e-03f, -3.192964198e-03f, -3.197156219e-03f, -3.201342508e-03f, -3.205523056e-03f, -3.209697859e-03f, -3.213866908e-03f, -3.218030196e-03f, -3.222187718e-03f, -3.226339465e-03f,
+-3.230485431e-03f, -3.234625609e-03f, -3.238759992e-03f, -3.242888574e-03f, -3.247011347e-03f, -3.251128305e-03f, -3.255239440e-03f, -3.259344747e-03f, -3.263444218e-03f, -3.267537846e-03f,
+-3.271625625e-03f, -3.275707548e-03f, -3.279783608e-03f, -3.283853798e-03f, -3.287918112e-03f, -3.291976542e-03f, -3.296029083e-03f, -3.300075727e-03f, -3.304116468e-03f, -3.308151299e-03f,
+-3.312180213e-03f, -3.316203204e-03f, -3.320220266e-03f, -3.324231390e-03f, -3.328236571e-03f, -3.332235802e-03f, -3.336229077e-03f, -3.340216389e-03f, -3.344197731e-03f, -3.348173097e-03f,
+-3.352142480e-03f, -3.356105873e-03f, -3.360063270e-03f, -3.364014665e-03f, -3.367960051e-03f, -3.371899422e-03f, -3.375832770e-03f, -3.379760090e-03f, -3.383681374e-03f, -3.387596617e-03f,
+-3.391505812e-03f, -3.395408953e-03f, -3.399306033e-03f, -3.403197045e-03f, -3.407081984e-03f, -3.410960842e-03f, -3.414833614e-03f, -3.418700293e-03f, -3.422560873e-03f, -3.426415346e-03f,
+-3.430263708e-03f, -3.434105951e-03f, -3.437942070e-03f, -3.441772058e-03f, -3.445595908e-03f, -3.449413614e-03f, -3.453225170e-03f, -3.457030571e-03f, -3.460829808e-03f, -3.464622877e-03f,
+-3.468409771e-03f, -3.472190483e-03f, -3.475965008e-03f, -3.479733339e-03f, -3.483495470e-03f, -3.487251395e-03f, -3.491001108e-03f, -3.494744602e-03f, -3.498481872e-03f, -3.502212910e-03f,
+-3.505937712e-03f, -3.509656271e-03f, -3.513368580e-03f, -3.517074635e-03f, -3.520774428e-03f, -3.524467953e-03f, -3.528155205e-03f, -3.531836177e-03f, -3.535510864e-03f, -3.539179258e-03f,
+-3.542841356e-03f, -3.546497149e-03f, -3.550146633e-03f, -3.553789801e-03f, -3.557426647e-03f, -3.561057165e-03f, -3.564681350e-03f, -3.568299196e-03f, -3.571910695e-03f, -3.575515844e-03f,
+-3.579114635e-03f, -3.582707062e-03f, -3.586293121e-03f, -3.589872804e-03f, -3.593446106e-03f, -3.597013022e-03f, -3.600573545e-03f, -3.604127670e-03f, -3.607675390e-03f, -3.611216700e-03f,
+-3.614751594e-03f, -3.618280067e-03f, -3.621802112e-03f, -3.625317724e-03f, -3.628826896e-03f, -3.632329625e-03f, -3.635825902e-03f, -3.639315723e-03f, -3.642799083e-03f, -3.646275975e-03f,
+-3.649746393e-03f, -3.653210333e-03f, -3.656667788e-03f, -3.660118752e-03f, -3.663563221e-03f, -3.667001188e-03f, -3.670432648e-03f, -3.673857595e-03f, -3.677276024e-03f, -3.680687928e-03f,
+-3.684093303e-03f, -3.687492143e-03f, -3.690884443e-03f, -3.694270196e-03f, -3.697649398e-03f, -3.701022042e-03f, -3.704388123e-03f, -3.707747636e-03f, -3.711100576e-03f, -3.714446936e-03f,
+-3.717786712e-03f, -3.721119898e-03f, -3.724446488e-03f, -3.727766477e-03f, -3.731079860e-03f, -3.734386631e-03f, -3.737686785e-03f, -3.740980316e-03f, -3.744267219e-03f, -3.747547490e-03f,
+-3.750821121e-03f, -3.754088109e-03f, -3.757348448e-03f, -3.760602132e-03f, -3.763849156e-03f, -3.767089516e-03f, -3.770323204e-03f, -3.773550218e-03f, -3.776770550e-03f, -3.779984196e-03f,
+-3.783191151e-03f, -3.786391410e-03f, -3.789584966e-03f, -3.792771816e-03f, -3.795951954e-03f, -3.799125374e-03f, -3.802292072e-03f, -3.805452043e-03f, -3.808605281e-03f, -3.811751781e-03f,
+-3.814891538e-03f, -3.818024547e-03f, -3.821150803e-03f, -3.824270301e-03f, -3.827383036e-03f, -3.830489002e-03f, -3.833588196e-03f, -3.836680611e-03f, -3.839766243e-03f, -3.842845086e-03f,
+-3.845917136e-03f, -3.848982388e-03f, -3.852040837e-03f, -3.855092478e-03f, -3.858137305e-03f, -3.861175315e-03f, -3.864206501e-03f, -3.867230860e-03f, -3.870248386e-03f, -3.873259075e-03f,
+-3.876262921e-03f, -3.879259919e-03f, -3.882250066e-03f, -3.885233356e-03f, -3.888209784e-03f, -3.891179345e-03f, -3.894142035e-03f, -3.897097849e-03f, -3.900046781e-03f, -3.902988829e-03f,
+-3.905923985e-03f, -3.908852247e-03f, -3.911773609e-03f, -3.914688066e-03f, -3.917595614e-03f, -3.920496247e-03f, -3.923389963e-03f, -3.926276755e-03f, -3.929156619e-03f, -3.932029550e-03f,
+-3.934895545e-03f, -3.937754597e-03f, -3.940606704e-03f, -3.943451859e-03f, -3.946290058e-03f, -3.949121298e-03f, -3.951945573e-03f, -3.954762879e-03f, -3.957573211e-03f, -3.960376564e-03f,
+-3.963172936e-03f, -3.965962319e-03f, -3.968744712e-03f, -3.971520108e-03f, -3.974288503e-03f, -3.977049894e-03f, -3.979804275e-03f, -3.982551642e-03f, -3.985291991e-03f, -3.988025317e-03f,
+-3.990751616e-03f, -3.993470884e-03f, -3.996183116e-03f, -3.998888308e-03f, -4.001586456e-03f, -4.004277555e-03f, -4.006961601e-03f, -4.009638589e-03f, -4.012308516e-03f, -4.014971377e-03f,
+-4.017627168e-03f, -4.020275885e-03f, -4.022917523e-03f, -4.025552079e-03f, -4.028179547e-03f, -4.030799924e-03f, -4.033413206e-03f, -4.036019388e-03f, -4.038618467e-03f, -4.041210438e-03f,
+-4.043795297e-03f, -4.046373040e-03f, -4.048943663e-03f, -4.051507161e-03f, -4.054063532e-03f, -4.056612769e-03f, -4.059154871e-03f, -4.061689832e-03f, -4.064217648e-03f, -4.066738316e-03f,
+-4.069251832e-03f, -4.071758191e-03f, -4.074257389e-03f, -4.076749423e-03f, -4.079234289e-03f, -4.081711983e-03f, -4.084182500e-03f, -4.086645837e-03f, -4.089101990e-03f, -4.091550954e-03f,
+-4.093992728e-03f, -4.096427305e-03f, -4.098854683e-03f, -4.101274857e-03f, -4.103687825e-03f, -4.106093581e-03f, -4.108492122e-03f, -4.110883445e-03f, -4.113267546e-03f, -4.115644420e-03f,
+-4.118014064e-03f, -4.120376475e-03f, -4.122731649e-03f, -4.125079581e-03f, -4.127420269e-03f, -4.129753708e-03f, -4.132079895e-03f, -4.134398826e-03f, -4.136710498e-03f, -4.139014907e-03f,
+-4.141312049e-03f, -4.143601921e-03f, -4.145884518e-03f, -4.148159839e-03f, -4.150427878e-03f, -4.152688633e-03f, -4.154942100e-03f, -4.157188275e-03f, -4.159427154e-03f, -4.161658735e-03f,
+-4.163883014e-03f, -4.166099987e-03f, -4.168309651e-03f, -4.170512003e-03f, -4.172707038e-03f, -4.174894754e-03f, -4.177075147e-03f, -4.179248213e-03f, -4.181413950e-03f, -4.183572354e-03f,
+-4.185723421e-03f, -4.187867149e-03f, -4.190003533e-03f, -4.192132571e-03f, -4.194254259e-03f, -4.196368594e-03f, -4.198475573e-03f, -4.200575192e-03f, -4.202667448e-03f, -4.204752338e-03f,
+-4.206829859e-03f, -4.208900007e-03f, -4.210962779e-03f, -4.213018172e-03f, -4.215066183e-03f, -4.217106808e-03f, -4.219140045e-03f, -4.221165890e-03f, -4.223184341e-03f, -4.225195393e-03f,
+-4.227199044e-03f, -4.229195292e-03f, -4.231184132e-03f, -4.233165561e-03f, -4.235139577e-03f, -4.237106177e-03f, -4.239065357e-03f, -4.241017115e-03f, -4.242961448e-03f, -4.244898352e-03f,
+-4.246827824e-03f, -4.248749862e-03f, -4.250664463e-03f, -4.252571624e-03f, -4.254471341e-03f, -4.256363612e-03f, -4.258248434e-03f, -4.260125804e-03f, -4.261995719e-03f, -4.263858177e-03f,
+-4.265713174e-03f, -4.267560708e-03f, -4.269400775e-03f, -4.271233374e-03f, -4.273058501e-03f, -4.274876153e-03f, -4.276686328e-03f, -4.278489023e-03f, -4.280284235e-03f, -4.282071961e-03f,
+-4.283852199e-03f, -4.285624947e-03f, -4.287390200e-03f, -4.289147957e-03f, -4.290898215e-03f, -4.292640972e-03f, -4.294376224e-03f, -4.296103969e-03f, -4.297824205e-03f, -4.299536928e-03f,
+-4.301242137e-03f, -4.302939828e-03f, -4.304630000e-03f, -4.306312649e-03f, -4.307987773e-03f, -4.309655369e-03f, -4.311315436e-03f, -4.312967970e-03f, -4.314612969e-03f, -4.316250431e-03f,
+-4.317880353e-03f, -4.319502732e-03f, -4.321117567e-03f, -4.322724855e-03f, -4.324324592e-03f, -4.325916778e-03f, -4.327501410e-03f, -4.329078485e-03f, -4.330648001e-03f, -4.332209955e-03f,
+-4.333764346e-03f, -4.335311170e-03f, -4.336850427e-03f, -4.338382112e-03f, -4.339906225e-03f, -4.341422763e-03f, -4.342931723e-03f, -4.344433104e-03f, -4.345926902e-03f, -4.347413117e-03f,
+-4.348891745e-03f, -4.350362785e-03f, -4.351826235e-03f, -4.353282091e-03f, -4.354730353e-03f, -4.356171018e-03f, -4.357604084e-03f, -4.359029548e-03f, -4.360447409e-03f, -4.361857665e-03f,
+-4.363260313e-03f, -4.364655352e-03f, -4.366042779e-03f, -4.367422593e-03f, -4.368794791e-03f, -4.370159372e-03f, -4.371516333e-03f, -4.372865672e-03f, -4.374207388e-03f, -4.375541479e-03f,
+-4.376867943e-03f, -4.378186777e-03f, -4.379497980e-03f, -4.380801550e-03f, -4.382097485e-03f, -4.383385784e-03f, -4.384666444e-03f, -4.385939463e-03f, -4.387204840e-03f, -4.388462573e-03f,
+-4.389712661e-03f, -4.390955100e-03f, -4.392189890e-03f, -4.393417029e-03f, -4.394636516e-03f, -4.395848347e-03f, -4.397052522e-03f, -4.398249039e-03f, -4.399437897e-03f, -4.400619093e-03f,
+-4.401792626e-03f, -4.402958494e-03f, -4.404116696e-03f, -4.405267230e-03f, -4.406410094e-03f, -4.407545287e-03f, -4.408672807e-03f, -4.409792654e-03f, -4.410904824e-03f, -4.412009316e-03f,
+-4.413106130e-03f, -4.414195264e-03f, -4.415276715e-03f, -4.416350483e-03f, -4.417416566e-03f, -4.418474963e-03f, -4.419525671e-03f, -4.420568691e-03f, -4.421604020e-03f, -4.422631657e-03f,
+-4.423651600e-03f, -4.424663848e-03f, -4.425668400e-03f, -4.426665255e-03f, -4.427654411e-03f, -4.428635866e-03f, -4.429609620e-03f, -4.430575671e-03f, -4.431534017e-03f, -4.432484659e-03f,
+-4.433427593e-03f, -4.434362820e-03f, -4.435290337e-03f, -4.436210144e-03f, -4.437122240e-03f, -4.438026622e-03f, -4.438923291e-03f, -4.439812245e-03f, -4.440693482e-03f, -4.441567002e-03f,
+-4.442432803e-03f, -4.443290884e-03f, -4.444141245e-03f, -4.444983884e-03f, -4.445818800e-03f, -4.446645992e-03f, -4.447465459e-03f, -4.448277200e-03f, -4.449081213e-03f, -4.449877499e-03f,
+-4.450666055e-03f, -4.451446882e-03f, -4.452219977e-03f, -4.452985340e-03f, -4.453742971e-03f, -4.454492867e-03f, -4.455235029e-03f, -4.455969455e-03f, -4.456696145e-03f, -4.457415097e-03f,
+-4.458126311e-03f, -4.458829786e-03f, -4.459525520e-03f, -4.460213514e-03f, -4.460893767e-03f, -4.461566277e-03f, -4.462231043e-03f, -4.462888066e-03f, -4.463537344e-03f, -4.464178877e-03f,
+-4.464812664e-03f, -4.465438704e-03f, -4.466056996e-03f, -4.466667540e-03f, -4.467270335e-03f, -4.467865381e-03f, -4.468452676e-03f, -4.469032221e-03f, -4.469604014e-03f, -4.470168055e-03f,
+-4.470724343e-03f, -4.471272878e-03f, -4.471813660e-03f, -4.472346687e-03f, -4.472871959e-03f, -4.473389476e-03f, -4.473899237e-03f, -4.474401241e-03f, -4.474895489e-03f, -4.475381979e-03f,
+-4.475860711e-03f, -4.476331685e-03f, -4.476794901e-03f, -4.477250357e-03f, -4.477698054e-03f, -4.478137991e-03f, -4.478570168e-03f, -4.478994584e-03f, -4.479411239e-03f, -4.479820133e-03f,
+-4.480221265e-03f, -4.480614636e-03f, -4.481000244e-03f, -4.481378089e-03f, -4.481748172e-03f, -4.482110492e-03f, -4.482465048e-03f, -4.482811841e-03f, -4.483150871e-03f, -4.483482136e-03f,
+-4.483805637e-03f, -4.484121374e-03f, -4.484429347e-03f, -4.484729554e-03f, -4.485021998e-03f, -4.485306676e-03f, -4.485583589e-03f, -4.485852738e-03f, -4.486114121e-03f, -4.486367739e-03f,
+-4.486613592e-03f, -4.486851679e-03f, -4.487082002e-03f, -4.487304558e-03f, -4.487519350e-03f, -4.487726376e-03f, -4.487925637e-03f, -4.488117133e-03f, -4.488300864e-03f, -4.488476829e-03f,
+-4.488645030e-03f, -4.488805465e-03f, -4.488958136e-03f, -4.489103042e-03f, -4.489240183e-03f, -4.489369560e-03f, -4.489491173e-03f, -4.489605021e-03f, -4.489711106e-03f, -4.489809427e-03f,
+-4.489899985e-03f, -4.489982779e-03f, -4.490057810e-03f, -4.490125079e-03f, -4.490184584e-03f, -4.490236328e-03f, -4.490280310e-03f, -4.490316530e-03f, -4.490344989e-03f, -4.490365688e-03f,
+-4.490378625e-03f, -4.490383802e-03f, -4.490381220e-03f, -4.490370877e-03f, -4.490352776e-03f, -4.490326917e-03f, -4.490293298e-03f, -4.490251923e-03f, -4.490202790e-03f, -4.490145900e-03f,
+-4.490081253e-03f, -4.490008851e-03f, -4.489928694e-03f, -4.489840781e-03f, -4.489745114e-03f, -4.489641694e-03f, -4.489530520e-03f, -4.489411594e-03f, -4.489284916e-03f, -4.489150486e-03f,
+-4.489008306e-03f, -4.488858375e-03f, -4.488700695e-03f, -4.488535266e-03f, -4.488362089e-03f, -4.488181164e-03f, -4.487992492e-03f, -4.487796075e-03f, -4.487591912e-03f, -4.487380004e-03f,
+-4.487160352e-03f, -4.486932958e-03f, -4.486697821e-03f, -4.486454942e-03f, -4.486204323e-03f, -4.485945963e-03f, -4.485679865e-03f, -4.485406028e-03f, -4.485124454e-03f, -4.484835143e-03f,
+-4.484538097e-03f, -4.484233316e-03f, -4.483920801e-03f, -4.483600553e-03f, -4.483272573e-03f, -4.482936862e-03f, -4.482593421e-03f, -4.482242251e-03f, -4.481883353e-03f, -4.481516728e-03f,
+-4.481142377e-03f, -4.480760300e-03f, -4.480370500e-03f, -4.479972976e-03f, -4.479567731e-03f, -4.479154765e-03f, -4.478734079e-03f, -4.478305675e-03f, -4.477869553e-03f, -4.477425715e-03f,
+-4.476974161e-03f, -4.476514894e-03f, -4.476047914e-03f, -4.475573222e-03f, -4.475090820e-03f, -4.474600708e-03f, -4.474102888e-03f, -4.473597362e-03f, -4.473084130e-03f, -4.472563194e-03f,
+-4.472034555e-03f, -4.471498214e-03f, -4.470954173e-03f, -4.470402433e-03f, -4.469842995e-03f, -4.469275861e-03f, -4.468701032e-03f, -4.468118509e-03f, -4.467528294e-03f, -4.466930389e-03f,
+-4.466324794e-03f, -4.465711510e-03f, -4.465090541e-03f, -4.464461886e-03f, -4.463825548e-03f, -4.463181527e-03f, -4.462529826e-03f, -4.461870446e-03f, -4.461203388e-03f, -4.460528654e-03f,
+-4.459846245e-03f, -4.459156164e-03f, -4.458458411e-03f, -4.457752988e-03f, -4.457039897e-03f, -4.456319140e-03f, -4.455590717e-03f, -4.454854632e-03f, -4.454110884e-03f, -4.453359477e-03f,
+-4.452600411e-03f, -4.451833689e-03f, -4.451059311e-03f, -4.450277281e-03f, -4.449487598e-03f, -4.448690267e-03f, -4.447885287e-03f, -4.447072661e-03f, -4.446252390e-03f, -4.445424477e-03f,
+-4.444588923e-03f, -4.443745730e-03f, -4.442894900e-03f, -4.442036435e-03f, -4.441170336e-03f, -4.440296605e-03f, -4.439415245e-03f, -4.438526257e-03f, -4.437629643e-03f, -4.436725406e-03f,
+-4.435813546e-03f, -4.434894066e-03f, -4.433966968e-03f, -4.433032254e-03f, -4.432089926e-03f, -4.431139986e-03f, -4.430182435e-03f, -4.429217277e-03f, -4.428244513e-03f, -4.427264144e-03f,
+-4.426276174e-03f, -4.425280604e-03f, -4.424277436e-03f, -4.423266673e-03f, -4.422248316e-03f, -4.421222368e-03f, -4.420188831e-03f, -4.419147707e-03f, -4.418098998e-03f, -4.417042706e-03f,
+-4.415978834e-03f, -4.414907383e-03f, -4.413828357e-03f, -4.412741757e-03f, -4.411647585e-03f, -4.410545844e-03f, -4.409436536e-03f, -4.408319664e-03f, -4.407195229e-03f, -4.406063234e-03f,
+-4.404923681e-03f, -4.403776573e-03f, -4.402621912e-03f, -4.401459700e-03f, -4.400289940e-03f, -4.399112634e-03f, -4.397927785e-03f, -4.396735394e-03f, -4.395535465e-03f, -4.394328000e-03f,
+-4.393113001e-03f, -4.391890471e-03f, -4.390660413e-03f, -4.389422828e-03f, -4.388177719e-03f, -4.386925089e-03f, -4.385664941e-03f, -4.384397276e-03f, -4.383122098e-03f, -4.381839408e-03f,
+-4.380549211e-03f, -4.379251508e-03f, -4.377946301e-03f, -4.376633594e-03f, -4.375313389e-03f, -4.373985689e-03f, -4.372650496e-03f, -4.371307814e-03f, -4.369957644e-03f, -4.368599990e-03f,
+-4.367234854e-03f, -4.365862238e-03f, -4.364482147e-03f, -4.363094582e-03f, -4.361699546e-03f, -4.360297043e-03f, -4.358887074e-03f, -4.357469642e-03f, -4.356044751e-03f, -4.354612404e-03f,
+-4.353172602e-03f, -4.351725350e-03f, -4.350270649e-03f, -4.348808503e-03f, -4.347338914e-03f, -4.345861886e-03f, -4.344377422e-03f, -4.342885524e-03f, -4.341386195e-03f, -4.339879438e-03f,
+-4.338365257e-03f, -4.336843654e-03f, -4.335314632e-03f, -4.333778195e-03f, -4.332234345e-03f, -4.330683085e-03f, -4.329124418e-03f, -4.327558348e-03f, -4.325984877e-03f, -4.324404009e-03f,
+-4.322815747e-03f, -4.321220093e-03f, -4.319617051e-03f, -4.318006625e-03f, -4.316388816e-03f, -4.314763629e-03f, -4.313131067e-03f, -4.311491132e-03f, -4.309843828e-03f, -4.308189158e-03f,
+-4.306527126e-03f, -4.304857734e-03f, -4.303180986e-03f, -4.301496885e-03f, -4.299805435e-03f, -4.298106638e-03f, -4.296400498e-03f, -4.294687018e-03f, -4.292966202e-03f, -4.291238053e-03f,
+-4.289502575e-03f, -4.287759770e-03f, -4.286009642e-03f, -4.284252194e-03f, -4.282487430e-03f, -4.280715354e-03f, -4.278935968e-03f, -4.277149276e-03f, -4.275355282e-03f, -4.273553989e-03f,
+-4.271745401e-03f, -4.269929520e-03f, -4.268106351e-03f, -4.266275896e-03f, -4.264438161e-03f, -4.262593147e-03f, -4.260740859e-03f, -4.258881300e-03f, -4.257014474e-03f, -4.255140384e-03f,
+-4.253259034e-03f, -4.251370428e-03f, -4.249474569e-03f, -4.247571461e-03f, -4.245661107e-03f, -4.243743511e-03f, -4.241818677e-03f, -4.239886608e-03f, -4.237947309e-03f, -4.236000782e-03f,
+-4.234047032e-03f, -4.232086063e-03f, -4.230117877e-03f, -4.228142479e-03f, -4.226159873e-03f, -4.224170063e-03f, -4.222173051e-03f, -4.220168843e-03f, -4.218157441e-03f, -4.216138850e-03f,
+-4.214113073e-03f, -4.212080115e-03f, -4.210039979e-03f, -4.207992670e-03f, -4.205938190e-03f, -4.203876544e-03f, -4.201807736e-03f, -4.199731769e-03f, -4.197648649e-03f, -4.195558378e-03f,
+-4.193460960e-03f, -4.191356400e-03f, -4.189244702e-03f, -4.187125870e-03f, -4.184999907e-03f, -4.182866817e-03f, -4.180726606e-03f, -4.178579276e-03f, -4.176424832e-03f, -4.174263277e-03f,
+-4.172094617e-03f, -4.169918855e-03f, -4.167735995e-03f, -4.165546041e-03f, -4.163348997e-03f, -4.161144869e-03f, -4.158933659e-03f, -4.156715372e-03f, -4.154490012e-03f, -4.152257583e-03f,
+-4.150018090e-03f, -4.147771536e-03f, -4.145517927e-03f, -4.143257265e-03f, -4.140989556e-03f, -4.138714804e-03f, -4.136433013e-03f, -4.134144187e-03f, -4.131848331e-03f, -4.129545449e-03f,
+-4.127235545e-03f, -4.124918623e-03f, -4.122594689e-03f, -4.120263746e-03f, -4.117925798e-03f, -4.115580851e-03f, -4.113228908e-03f, -4.110869974e-03f, -4.108504053e-03f, -4.106131150e-03f,
+-4.103751269e-03f, -4.101364415e-03f, -4.098970592e-03f, -4.096569805e-03f, -4.094162057e-03f, -4.091747355e-03f, -4.089325701e-03f, -4.086897101e-03f, -4.084461559e-03f, -4.082019080e-03f,
+-4.079569668e-03f, -4.077113329e-03f, -4.074650065e-03f, -4.072179883e-03f, -4.069702786e-03f, -4.067218780e-03f, -4.064727869e-03f, -4.062230057e-03f, -4.059725350e-03f, -4.057213751e-03f,
+-4.054695266e-03f, -4.052169900e-03f, -4.049637656e-03f, -4.047098540e-03f, -4.044552557e-03f, -4.041999711e-03f, -4.039440006e-03f, -4.036873449e-03f, -4.034300043e-03f, -4.031719793e-03f,
+-4.029132704e-03f, -4.026538782e-03f, -4.023938030e-03f, -4.021330453e-03f, -4.018716057e-03f, -4.016094846e-03f, -4.013466825e-03f, -4.010831999e-03f, -4.008190373e-03f, -4.005541952e-03f,
+-4.002886741e-03f, -4.000224744e-03f, -3.997555967e-03f, -3.994880414e-03f, -3.992198091e-03f, -3.989509002e-03f, -3.986813152e-03f, -3.984110547e-03f, -3.981401192e-03f, -3.978685090e-03f,
+-3.975962249e-03f, -3.973232672e-03f, -3.970496364e-03f, -3.967753331e-03f, -3.965003578e-03f, -3.962247109e-03f, -3.959483931e-03f, -3.956714047e-03f, -3.953937464e-03f, -3.951154185e-03f,
+-3.948364217e-03f, -3.945567565e-03f, -3.942764233e-03f, -3.939954228e-03f, -3.937137553e-03f, -3.934314214e-03f, -3.931484218e-03f, -3.928647567e-03f, -3.925804269e-03f, -3.922954328e-03f,
+-3.920097749e-03f, -3.917234538e-03f, -3.914364700e-03f, -3.911488240e-03f, -3.908605164e-03f, -3.905715476e-03f, -3.902819183e-03f, -3.899916289e-03f, -3.897006800e-03f, -3.894090722e-03f,
+-3.891168059e-03f, -3.888238817e-03f, -3.885303001e-03f, -3.882360617e-03f, -3.879411670e-03f, -3.876456166e-03f, -3.873494110e-03f, -3.870525507e-03f, -3.867550363e-03f, -3.864568684e-03f,
+-3.861580474e-03f, -3.858585740e-03f, -3.855584487e-03f, -3.852576720e-03f, -3.849562445e-03f, -3.846541667e-03f, -3.843514392e-03f, -3.840480626e-03f, -3.837440374e-03f, -3.834393641e-03f,
+-3.831340434e-03f, -3.828280758e-03f, -3.825214618e-03f, -3.822142020e-03f, -3.819062969e-03f, -3.815977473e-03f, -3.812885535e-03f, -3.809787161e-03f, -3.806682358e-03f, -3.803571132e-03f,
+-3.800453486e-03f, -3.797329429e-03f, -3.794198964e-03f, -3.791062098e-03f, -3.787918837e-03f, -3.784769186e-03f, -3.781613151e-03f, -3.778450738e-03f, -3.775281953e-03f, -3.772106801e-03f,
+-3.768925289e-03f, -3.765737421e-03f, -3.762543205e-03f, -3.759342645e-03f, -3.756135748e-03f, -3.752922519e-03f, -3.749702964e-03f, -3.746477090e-03f, -3.743244902e-03f, -3.740006405e-03f,
+-3.736761607e-03f, -3.733510512e-03f, -3.730253127e-03f, -3.726989458e-03f, -3.723719510e-03f, -3.720443290e-03f, -3.717160804e-03f, -3.713872057e-03f, -3.710577055e-03f, -3.707275805e-03f,
+-3.703968313e-03f, -3.700654584e-03f, -3.697334625e-03f, -3.694008442e-03f, -3.690676040e-03f, -3.687337426e-03f, -3.683992606e-03f, -3.680641585e-03f, -3.677284371e-03f, -3.673920969e-03f,
+-3.670551385e-03f, -3.667175626e-03f, -3.663793697e-03f, -3.660405605e-03f, -3.657011356e-03f, -3.653610956e-03f, -3.650204411e-03f, -3.646791727e-03f, -3.643372911e-03f, -3.639947969e-03f,
+-3.636516907e-03f, -3.633079731e-03f, -3.629636448e-03f, -3.626187064e-03f, -3.622731584e-03f, -3.619270016e-03f, -3.615802365e-03f, -3.612328639e-03f, -3.608848842e-03f, -3.605362982e-03f,
+-3.601871065e-03f, -3.598373097e-03f, -3.594869085e-03f, -3.591359034e-03f, -3.587842952e-03f, -3.584320844e-03f, -3.580792717e-03f, -3.577258578e-03f, -3.573718433e-03f, -3.570172287e-03f,
+-3.566620149e-03f, -3.563062023e-03f, -3.559497917e-03f, -3.555927837e-03f, -3.552351789e-03f, -3.548769781e-03f, -3.545181817e-03f, -3.541587906e-03f, -3.537988053e-03f, -3.534382265e-03f,
+-3.530770548e-03f, -3.527152910e-03f, -3.523529356e-03f, -3.519899893e-03f, -3.516264527e-03f, -3.512623266e-03f, -3.508976116e-03f, -3.505323083e-03f, -3.501664174e-03f, -3.497999396e-03f,
+-3.494328755e-03f, -3.490652258e-03f, -3.486969912e-03f, -3.483281722e-03f, -3.479587697e-03f, -3.475887842e-03f, -3.472182164e-03f, -3.468470670e-03f, -3.464753367e-03f, -3.461030261e-03f,
+-3.457301359e-03f, -3.453566668e-03f, -3.449826195e-03f, -3.446079945e-03f, -3.442327927e-03f, -3.438570147e-03f, -3.434806611e-03f, -3.431037326e-03f, -3.427262300e-03f, -3.423481538e-03f,
+-3.419695049e-03f, -3.415902838e-03f, -3.412104912e-03f, -3.408301279e-03f, -3.404491945e-03f, -3.400676917e-03f, -3.396856202e-03f, -3.393029807e-03f, -3.389197738e-03f, -3.385360003e-03f,
+-3.381516608e-03f, -3.377667561e-03f, -3.373812868e-03f, -3.369952537e-03f, -3.366086574e-03f, -3.362214986e-03f, -3.358337780e-03f, -3.354454963e-03f, -3.350566543e-03f, -3.346672525e-03f,
+-3.342772918e-03f, -3.338867728e-03f, -3.334956962e-03f, -3.331040628e-03f, -3.327118731e-03f, -3.323191280e-03f, -3.319258282e-03f, -3.315319742e-03f, -3.311375670e-03f, -3.307426071e-03f,
+-3.303470953e-03f, -3.299510322e-03f, -3.295544187e-03f, -3.291572553e-03f, -3.287595429e-03f, -3.283612822e-03f, -3.279624737e-03f, -3.275631184e-03f, -3.271632168e-03f, -3.267627698e-03f,
+-3.263617779e-03f, -3.259602420e-03f, -3.255581628e-03f, -3.251555410e-03f, -3.247523772e-03f, -3.243486723e-03f, -3.239444270e-03f, -3.235396419e-03f, -3.231343179e-03f, -3.227284556e-03f,
+-3.223220557e-03f, -3.219151191e-03f, -3.215076463e-03f, -3.210996383e-03f, -3.206910956e-03f, -3.202820190e-03f, -3.198724093e-03f, -3.194622672e-03f, -3.190515933e-03f, -3.186403886e-03f,
+-3.182286536e-03f, -3.178163892e-03f, -3.174035961e-03f, -3.169902749e-03f, -3.165764265e-03f, -3.161620516e-03f, -3.157471509e-03f, -3.153317253e-03f, -3.149157753e-03f, -3.144993018e-03f,
+-3.140823055e-03f, -3.136647872e-03f, -3.132467476e-03f, -3.128281874e-03f, -3.124091074e-03f, -3.119895084e-03f, -3.115693911e-03f, -3.111487563e-03f, -3.107276047e-03f, -3.103059370e-03f,
+-3.098837540e-03f, -3.094610565e-03f, -3.090378453e-03f, -3.086141210e-03f, -3.081898845e-03f, -3.077651365e-03f, -3.073398777e-03f, -3.069141090e-03f, -3.064878310e-03f, -3.060610446e-03f,
+-3.056337505e-03f, -3.052059495e-03f, -3.047776423e-03f, -3.043488297e-03f, -3.039195124e-03f, -3.034896913e-03f, -3.030593671e-03f, -3.026285406e-03f, -3.021972125e-03f, -3.017653836e-03f,
+-3.013330547e-03f, -3.009002266e-03f, -3.004669000e-03f, -3.000330757e-03f, -2.995987544e-03f, -2.991639370e-03f, -2.987286242e-03f, -2.982928169e-03f, -2.978565157e-03f, -2.974197215e-03f,
+-2.969824350e-03f, -2.965446570e-03f, -2.961063883e-03f, -2.956676297e-03f, -2.952283820e-03f, -2.947886459e-03f, -2.943484222e-03f, -2.939077118e-03f, -2.934665154e-03f, -2.930248337e-03f,
+-2.925826676e-03f, -2.921400179e-03f, -2.916968854e-03f, -2.912532708e-03f, -2.908091749e-03f, -2.903645985e-03f, -2.899195425e-03f, -2.894740075e-03f, -2.890279945e-03f, -2.885815042e-03f,
+-2.881345373e-03f, -2.876870948e-03f, -2.872391773e-03f, -2.867907857e-03f, -2.863419208e-03f, -2.858925834e-03f, -2.854427743e-03f, -2.849924942e-03f, -2.845417440e-03f, -2.840905246e-03f,
+-2.836388366e-03f, -2.831866809e-03f, -2.827340582e-03f, -2.822809695e-03f, -2.818274155e-03f, -2.813733971e-03f, -2.809189149e-03f, -2.804639699e-03f, -2.800085628e-03f, -2.795526945e-03f,
+-2.790963657e-03f, -2.786395773e-03f, -2.781823301e-03f, -2.777246248e-03f, -2.772664624e-03f, -2.768078437e-03f, -2.763487693e-03f, -2.758892402e-03f, -2.754292572e-03f, -2.749688211e-03f,
+-2.745079327e-03f, -2.740465928e-03f, -2.735848023e-03f, -2.731225620e-03f, -2.726598726e-03f, -2.721967350e-03f, -2.717331501e-03f, -2.712691187e-03f, -2.708046415e-03f, -2.703397194e-03f,
+-2.698743533e-03f, -2.694085439e-03f, -2.689422921e-03f, -2.684755987e-03f, -2.680084646e-03f, -2.675408905e-03f, -2.670728773e-03f, -2.666044259e-03f, -2.661355370e-03f, -2.656662116e-03f,
+-2.651964503e-03f, -2.647262541e-03f, -2.642556238e-03f, -2.637845603e-03f, -2.633130643e-03f, -2.628411367e-03f, -2.623687783e-03f, -2.618959900e-03f, -2.614227727e-03f, -2.609491271e-03f,
+-2.604750541e-03f, -2.600005545e-03f, -2.595256292e-03f, -2.590502790e-03f, -2.585745048e-03f, -2.580983073e-03f, -2.576216876e-03f, -2.571446463e-03f, -2.566671843e-03f, -2.561893026e-03f,
+-2.557110018e-03f, -2.552322830e-03f, -2.547531468e-03f, -2.542735943e-03f, -2.537936261e-03f, -2.533132433e-03f, -2.528324466e-03f, -2.523512368e-03f, -2.518696149e-03f, -2.513875816e-03f,
+-2.509051379e-03f, -2.504222846e-03f, -2.499390225e-03f, -2.494553525e-03f, -2.489712755e-03f, -2.484867923e-03f, -2.480019037e-03f, -2.475166107e-03f, -2.470309141e-03f, -2.465448147e-03f,
+-2.460583134e-03f, -2.455714111e-03f, -2.450841086e-03f, -2.445964068e-03f, -2.441083065e-03f, -2.436198087e-03f, -2.431309141e-03f, -2.426416237e-03f, -2.421519383e-03f, -2.416618588e-03f,
+-2.411713860e-03f, -2.406805208e-03f, -2.401892641e-03f, -2.396976168e-03f, -2.392055796e-03f, -2.387131536e-03f, -2.382203394e-03f, -2.377271382e-03f, -2.372335506e-03f, -2.367395776e-03f,
+-2.362452200e-03f, -2.357504787e-03f, -2.352553547e-03f, -2.347598486e-03f, -2.342639616e-03f, -2.337676943e-03f, -2.332710478e-03f, -2.327740228e-03f, -2.322766202e-03f, -2.317788410e-03f,
+-2.312806860e-03f, -2.307821560e-03f, -2.302832520e-03f, -2.297839749e-03f, -2.292843255e-03f, -2.287843047e-03f, -2.282839134e-03f, -2.277831524e-03f, -2.272820227e-03f, -2.267805252e-03f,
+-2.262786607e-03f, -2.257764301e-03f, -2.252738343e-03f, -2.247708741e-03f, -2.242675506e-03f, -2.237638645e-03f, -2.232598167e-03f, -2.227554082e-03f, -2.222506398e-03f, -2.217455125e-03f,
+-2.212400270e-03f, -2.207341843e-03f, -2.202279854e-03f, -2.197214310e-03f, -2.192145221e-03f, -2.187072595e-03f, -2.181996442e-03f, -2.176916771e-03f, -2.171833590e-03f, -2.166746909e-03f,
+-2.161656736e-03f, -2.156563081e-03f, -2.151465952e-03f, -2.146365359e-03f, -2.141261310e-03f, -2.136153814e-03f, -2.131042880e-03f, -2.125928518e-03f, -2.120810737e-03f, -2.115689544e-03f,
+-2.110564950e-03f, -2.105436964e-03f, -2.100305594e-03f, -2.095170850e-03f, -2.090032740e-03f, -2.084891273e-03f, -2.079746460e-03f, -2.074598308e-03f, -2.069446826e-03f, -2.064292025e-03f,
+-2.059133912e-03f, -2.053972498e-03f, -2.048807790e-03f, -2.043639799e-03f, -2.038468533e-03f, -2.033294001e-03f, -2.028116213e-03f, -2.022935177e-03f, -2.017750903e-03f, -2.012563400e-03f,
+-2.007372677e-03f, -2.002178742e-03f, -1.996981606e-03f, -1.991781278e-03f, -1.986577765e-03f, -1.981371079e-03f, -1.976161227e-03f, -1.970948219e-03f, -1.965732064e-03f, -1.960512771e-03f,
+-1.955290350e-03f, -1.950064810e-03f, -1.944836159e-03f, -1.939604407e-03f, -1.934369564e-03f, -1.929131638e-03f, -1.923890638e-03f, -1.918646574e-03f, -1.913399456e-03f, -1.908149291e-03f,
+-1.902896091e-03f, -1.897639862e-03f, -1.892380616e-03f, -1.887118361e-03f, -1.881853106e-03f, -1.876584861e-03f, -1.871313635e-03f, -1.866039437e-03f, -1.860762277e-03f, -1.855482163e-03f,
+-1.850199105e-03f, -1.844913113e-03f, -1.839624195e-03f, -1.834332361e-03f, -1.829037620e-03f, -1.823739981e-03f, -1.818439454e-03f, -1.813136048e-03f, -1.807829773e-03f, -1.802520637e-03f,
+-1.797208650e-03f, -1.791893821e-03f, -1.786576160e-03f, -1.781255675e-03f, -1.775932377e-03f, -1.770606275e-03f, -1.765277377e-03f, -1.759945694e-03f, -1.754611235e-03f, -1.749274008e-03f,
+-1.743934024e-03f, -1.738591292e-03f, -1.733245820e-03f, -1.727897619e-03f, -1.722546698e-03f, -1.717193066e-03f, -1.711836733e-03f, -1.706477708e-03f, -1.701116000e-03f, -1.695751619e-03f,
+-1.690384574e-03f, -1.685014875e-03f, -1.679642531e-03f, -1.674267551e-03f, -1.668889945e-03f, -1.663509723e-03f, -1.658126893e-03f, -1.652741465e-03f, -1.647353449e-03f, -1.641962854e-03f,
+-1.636569689e-03f, -1.631173964e-03f, -1.625775689e-03f, -1.620374872e-03f, -1.614971524e-03f, -1.609565653e-03f, -1.604157270e-03f, -1.598746383e-03f, -1.593333003e-03f, -1.587917138e-03f,
+-1.582498798e-03f, -1.577077993e-03f, -1.571654732e-03f, -1.566229024e-03f, -1.560800879e-03f, -1.555370308e-03f, -1.549937318e-03f, -1.544501920e-03f, -1.539064122e-03f, -1.533623936e-03f,
+-1.528181370e-03f, -1.522736433e-03f, -1.517289136e-03f, -1.511839487e-03f, -1.506387496e-03f, -1.500933174e-03f, -1.495476528e-03f, -1.490017570e-03f, -1.484556308e-03f, -1.479092752e-03f,
+-1.473626912e-03f, -1.468158796e-03f, -1.462688416e-03f, -1.457215779e-03f, -1.451740896e-03f, -1.446263777e-03f, -1.440784431e-03f, -1.435302867e-03f, -1.429819096e-03f, -1.424333126e-03f,
+-1.418844967e-03f, -1.413354629e-03f, -1.407862122e-03f, -1.402367455e-03f, -1.396870637e-03f, -1.391371679e-03f, -1.385870589e-03f, -1.380367379e-03f, -1.374862056e-03f, -1.369354631e-03f,
+-1.363845113e-03f, -1.358333513e-03f, -1.352819839e-03f, -1.347304101e-03f, -1.341786309e-03f, -1.336266473e-03f, -1.330744602e-03f, -1.325220706e-03f, -1.319694794e-03f, -1.314166876e-03f,
+-1.308636962e-03f, -1.303105061e-03f, -1.297571184e-03f, -1.292035339e-03f, -1.286497537e-03f, -1.280957786e-03f, -1.275416098e-03f, -1.269872481e-03f, -1.264326945e-03f, -1.258779499e-03f,
+-1.253230154e-03f, -1.247678920e-03f, -1.242125805e-03f, -1.236570819e-03f, -1.231013973e-03f, -1.225455276e-03f, -1.219894737e-03f, -1.214332367e-03f, -1.208768174e-03f, -1.203202170e-03f,
+-1.197634362e-03f, -1.192064762e-03f, -1.186493379e-03f, -1.180920222e-03f, -1.175345301e-03f, -1.169768627e-03f, -1.164190208e-03f, -1.158610055e-03f, -1.153028177e-03f, -1.147444583e-03f,
+-1.141859285e-03f, -1.136272291e-03f, -1.130683610e-03f, -1.125093254e-03f, -1.119501232e-03f, -1.113907552e-03f, -1.108312226e-03f, -1.102715263e-03f, -1.097116672e-03f, -1.091516464e-03f,
+-1.085914648e-03f, -1.080311233e-03f, -1.074706231e-03f, -1.069099649e-03f, -1.063491499e-03f, -1.057881790e-03f, -1.052270532e-03f, -1.046657734e-03f, -1.041043406e-03f, -1.035427558e-03f,
+-1.029810201e-03f, -1.024191342e-03f, -1.018570994e-03f, -1.012949164e-03f, -1.007325863e-03f, -1.001701102e-03f, -9.960748883e-04f, -9.904472333e-04f, -9.848181465e-04f, -9.791876376e-04f,
+-9.735557165e-04f, -9.679223930e-04f, -9.622876768e-04f, -9.566515777e-04f, -9.510141056e-04f, -9.453752704e-04f, -9.397350817e-04f, -9.340935494e-04f, -9.284506833e-04f, -9.228064933e-04f,
+-9.171609891e-04f, -9.115141807e-04f, -9.058660777e-04f, -9.002166901e-04f, -8.945660276e-04f, -8.889141001e-04f, -8.832609175e-04f, -8.776064894e-04f, -8.719508259e-04f, -8.662939367e-04f,
+-8.606358316e-04f, -8.549765206e-04f, -8.493160133e-04f, -8.436543198e-04f, -8.379914498e-04f, -8.323274131e-04f, -8.266622196e-04f, -8.209958792e-04f, -8.153284017e-04f, -8.096597970e-04f,
+-8.039900748e-04f, -7.983192452e-04f, -7.926473178e-04f, -7.869743026e-04f, -7.813002095e-04f, -7.756250482e-04f, -7.699488287e-04f, -7.642715608e-04f, -7.585932544e-04f, -7.529139193e-04f,
+-7.472335655e-04f, -7.415522027e-04f, -7.358698408e-04f, -7.301864898e-04f, -7.245021595e-04f, -7.188168597e-04f, -7.131306003e-04f, -7.074433912e-04f, -7.017552423e-04f, -6.960661635e-04f,
+-6.903761646e-04f, -6.846852555e-04f, -6.789934461e-04f, -6.733007463e-04f, -6.676071659e-04f, -6.619127149e-04f, -6.562174031e-04f, -6.505212404e-04f, -6.448242367e-04f, -6.391264019e-04f,
+-6.334277458e-04f, -6.277282784e-04f, -6.220280095e-04f, -6.163269491e-04f, -6.106251070e-04f, -6.049224931e-04f, -5.992191174e-04f, -5.935149896e-04f, -5.878101198e-04f, -5.821045177e-04f,
+-5.763981934e-04f, -5.706911566e-04f, -5.649834173e-04f, -5.592749855e-04f, -5.535658709e-04f, -5.478560835e-04f, -5.421456331e-04f, -5.364345298e-04f, -5.307227834e-04f, -5.250104038e-04f,
+-5.192974008e-04f, -5.135837845e-04f, -5.078695647e-04f, -5.021547513e-04f, -4.964393542e-04f, -4.907233833e-04f, -4.850068486e-04f, -4.792897599e-04f, -4.735721271e-04f, -4.678539602e-04f,
+-4.621352691e-04f, -4.564160636e-04f, -4.506963537e-04f, -4.449761493e-04f, -4.392554603e-04f, -4.335342966e-04f, -4.278126681e-04f, -4.220905847e-04f, -4.163680564e-04f, -4.106450931e-04f,
+-4.049217046e-04f, -3.991979009e-04f, -3.934736918e-04f, -3.877490874e-04f, -3.820240975e-04f, -3.762987320e-04f, -3.705730009e-04f, -3.648469140e-04f, -3.591204813e-04f, -3.533937126e-04f,
+-3.476666179e-04f, -3.419392072e-04f, -3.362114903e-04f, -3.304834771e-04f, -3.247551775e-04f, -3.190266015e-04f, -3.132977590e-04f, -3.075686598e-04f, -3.018393140e-04f, -2.961097314e-04f,
+-2.903799219e-04f, -2.846498954e-04f, -2.789196619e-04f, -2.731892313e-04f, -2.674586134e-04f, -2.617278183e-04f, -2.559968557e-04f, -2.502657357e-04f, -2.445344681e-04f, -2.388030628e-04f,
+-2.330715297e-04f, -2.273398789e-04f, -2.216081201e-04f, -2.158762633e-04f, -2.101443184e-04f, -2.044122953e-04f, -1.986802039e-04f, -1.929480541e-04f, -1.872158559e-04f, -1.814836191e-04f,
+-1.757513536e-04f, -1.700190694e-04f, -1.642867764e-04f, -1.585544844e-04f, -1.528222034e-04f, -1.470899433e-04f, -1.413577140e-04f, -1.356255254e-04f, -1.298933874e-04f, -1.241613099e-04f,
+-1.184293027e-04f, -1.126973759e-04f, -1.069655393e-04f, -1.012338028e-04f, -9.550217628e-05f, -8.977066969e-05f, -8.403929290e-05f, -7.830805581e-05f, -7.257696832e-05f, -6.684604034e-05f,
+-6.111528174e-05f, -5.538470244e-05f, -4.965431231e-05f, -4.392412127e-05f, -3.819413919e-05f, -3.246437598e-05f, -2.673484151e-05f, -2.100554569e-05f, -1.527649840e-05f, -9.547709531e-06f,
+-3.819188968e-06f, 1.909053402e-06f, 7.637007694e-06f, 1.336466402e-05f, 1.909201250e-05f, 2.481904326e-05f, 3.054574640e-05f, 3.627211205e-05f, 4.199813033e-05f, 4.772379137e-05f,
+5.344908528e-05f, 5.917400219e-05f, 6.489853223e-05f, 7.062266551e-05f, 7.634639218e-05f, 8.206970235e-05f, 8.779258616e-05f, 9.351503374e-05f, 9.923703522e-05f, 1.049585807e-04f,
+1.106796604e-04f, 1.164002644e-04f, 1.221203828e-04f, 1.278400059e-04f, 1.335591236e-04f, 1.392777262e-04f, 1.449958038e-04f, 1.507133466e-04f, 1.564303447e-04f, 1.621467882e-04f,
+1.678626673e-04f, 1.735779721e-04f, 1.792926929e-04f, 1.850068197e-04f, 1.907203427e-04f, 1.964332520e-04f, 2.021455379e-04f, 2.078571905e-04f, 2.135681999e-04f, 2.192785563e-04f,
+2.249882498e-04f, 2.306972707e-04f, 2.364056091e-04f, 2.421132552e-04f, 2.478201990e-04f, 2.535264310e-04f, 2.592319410e-04f, 2.649367195e-04f, 2.706407565e-04f, 2.763440422e-04f,
+2.820465668e-04f, 2.877483205e-04f, 2.934492935e-04f, 2.991494759e-04f, 3.048488579e-04f, 3.105474298e-04f, 3.162451817e-04f, 3.219421039e-04f, 3.276381864e-04f, 3.333334196e-04f,
+3.390277936e-04f, 3.447212986e-04f, 3.504139248e-04f, 3.561056624e-04f, 3.617965017e-04f, 3.674864328e-04f, 3.731754460e-04f, 3.788635314e-04f, 3.845506794e-04f, 3.902368800e-04f,
+3.959221236e-04f, 4.016064003e-04f, 4.072897004e-04f, 4.129720141e-04f, 4.186533316e-04f, 4.243336431e-04f, 4.300129390e-04f, 4.356912094e-04f, 4.413684446e-04f, 4.470446348e-04f,
+4.527197702e-04f, 4.583938411e-04f, 4.640668378e-04f, 4.697387505e-04f, 4.754095694e-04f, 4.810792848e-04f, 4.867478870e-04f, 4.924153661e-04f, 4.980817126e-04f, 5.037469166e-04f,
+5.094109684e-04f, 5.150738583e-04f, 5.207355765e-04f, 5.263961134e-04f, 5.320554592e-04f, 5.377136041e-04f, 5.433705385e-04f, 5.490262526e-04f, 5.546807368e-04f, 5.603339813e-04f,
+5.659859764e-04f, 5.716367124e-04f, 5.772861796e-04f, 5.829343684e-04f, 5.885812689e-04f, 5.942268715e-04f, 5.998711666e-04f, 6.055141444e-04f, 6.111557952e-04f, 6.167961094e-04f,
+6.224350773e-04f, 6.280726892e-04f, 6.337089354e-04f, 6.393438063e-04f, 6.449772921e-04f, 6.506093833e-04f, 6.562400701e-04f, 6.618693429e-04f, 6.674971921e-04f, 6.731236079e-04f,
+6.787485808e-04f, 6.843721010e-04f, 6.899941590e-04f, 6.956147451e-04f, 7.012338496e-04f, 7.068514630e-04f, 7.124675755e-04f, 7.180821776e-04f, 7.236952596e-04f, 7.293068119e-04f,
+7.349168248e-04f, 7.405252889e-04f, 7.461321943e-04f, 7.517375316e-04f, 7.573412911e-04f, 7.629434633e-04f, 7.685440384e-04f, 7.741430070e-04f, 7.797403594e-04f, 7.853360860e-04f,
+7.909301772e-04f, 7.965226235e-04f, 8.021134153e-04f, 8.077025430e-04f, 8.132899969e-04f, 8.188757676e-04f, 8.244598455e-04f, 8.300422210e-04f, 8.356228845e-04f, 8.412018265e-04f,
+8.467790374e-04f, 8.523545077e-04f, 8.579282279e-04f, 8.635001883e-04f, 8.690703794e-04f, 8.746387918e-04f, 8.802054158e-04f, 8.857702420e-04f, 8.913332607e-04f, 8.968944626e-04f,
+9.024538380e-04f, 9.080113775e-04f, 9.135670714e-04f, 9.191209105e-04f, 9.246728850e-04f, 9.302229856e-04f, 9.357712027e-04f, 9.413175268e-04f, 9.468619484e-04f, 9.524044581e-04f,
+9.579450463e-04f, 9.634837037e-04f, 9.690204206e-04f, 9.745551877e-04f, 9.800879955e-04f, 9.856188344e-04f, 9.911476951e-04f, 9.966745681e-04f, 1.002199444e-03f, 1.007722313e-03f,
+1.013243166e-03f, 1.018761994e-03f, 1.024278787e-03f, 1.029793535e-03f, 1.035306230e-03f, 1.040816861e-03f, 1.046325420e-03f, 1.051831896e-03f, 1.057336282e-03f, 1.062838566e-03f,
+1.068338740e-03f, 1.073836794e-03f, 1.079332720e-03f, 1.084826506e-03f, 1.090318145e-03f, 1.095807627e-03f, 1.101294942e-03f, 1.106780081e-03f, 1.112263035e-03f, 1.117743794e-03f,
+1.123222349e-03f, 1.128698690e-03f, 1.134172809e-03f, 1.139644696e-03f, 1.145114340e-03f, 1.150581735e-03f, 1.156046869e-03f, 1.161509733e-03f, 1.166970319e-03f, 1.172428616e-03f,
+1.177884616e-03f, 1.183338309e-03f, 1.188789686e-03f, 1.194238738e-03f, 1.199685455e-03f, 1.205129828e-03f, 1.210571848e-03f, 1.216011505e-03f, 1.221448790e-03f, 1.226883694e-03f,
+1.232316207e-03f, 1.237746321e-03f, 1.243174026e-03f, 1.248599313e-03f, 1.254022172e-03f, 1.259442595e-03f, 1.264860571e-03f, 1.270276093e-03f, 1.275689150e-03f, 1.281099733e-03f,
+1.286507833e-03f, 1.291913441e-03f, 1.297316548e-03f, 1.302717145e-03f, 1.308115221e-03f, 1.313510769e-03f, 1.318903778e-03f, 1.324294240e-03f, 1.329682145e-03f, 1.335067485e-03f,
+1.340450250e-03f, 1.345830431e-03f, 1.351208018e-03f, 1.356583003e-03f, 1.361955377e-03f, 1.367325129e-03f, 1.372692252e-03f, 1.378056736e-03f, 1.383418571e-03f, 1.388777750e-03f,
+1.394134262e-03f, 1.399488098e-03f, 1.404839250e-03f, 1.410187708e-03f, 1.415533462e-03f, 1.420876505e-03f, 1.426216827e-03f, 1.431554419e-03f, 1.436889271e-03f, 1.442221375e-03f,
+1.447550722e-03f, 1.452877302e-03f, 1.458201106e-03f, 1.463522126e-03f, 1.468840352e-03f, 1.474155776e-03f, 1.479468387e-03f, 1.484778178e-03f, 1.490085139e-03f, 1.495389260e-03f,
+1.500690534e-03f, 1.505988951e-03f, 1.511284502e-03f, 1.516577178e-03f, 1.521866971e-03f, 1.527153870e-03f, 1.532437867e-03f, 1.537718953e-03f, 1.542997119e-03f, 1.548272356e-03f,
+1.553544656e-03f, 1.558814008e-03f, 1.564080405e-03f, 1.569343837e-03f, 1.574604295e-03f, 1.579861771e-03f, 1.585116255e-03f, 1.590367738e-03f, 1.595616212e-03f, 1.600861668e-03f,
+1.606104096e-03f, 1.611343489e-03f, 1.616579836e-03f, 1.621813129e-03f, 1.627043359e-03f, 1.632270517e-03f, 1.637494595e-03f, 1.642715583e-03f, 1.647933473e-03f, 1.653148255e-03f,
+1.658359922e-03f, 1.663568463e-03f, 1.668773871e-03f, 1.673976136e-03f, 1.679175249e-03f, 1.684371202e-03f, 1.689563986e-03f, 1.694753592e-03f, 1.699940012e-03f, 1.705123235e-03f,
+1.710303255e-03f, 1.715480061e-03f, 1.720653645e-03f, 1.725823998e-03f, 1.730991112e-03f, 1.736154978e-03f, 1.741315587e-03f, 1.746472930e-03f, 1.751626998e-03f, 1.756777783e-03f,
+1.761925276e-03f, 1.767069468e-03f, 1.772210351e-03f, 1.777347915e-03f, 1.782482153e-03f, 1.787613055e-03f, 1.792740613e-03f, 1.797864817e-03f, 1.802985660e-03f, 1.808103133e-03f,
+1.813217226e-03f, 1.818327932e-03f, 1.823435241e-03f, 1.828539146e-03f, 1.833639636e-03f, 1.838736704e-03f, 1.843830342e-03f, 1.848920539e-03f, 1.854007288e-03f, 1.859090581e-03f,
+1.864170408e-03f, 1.869246761e-03f, 1.874319631e-03f, 1.879389010e-03f, 1.884454889e-03f, 1.889517260e-03f, 1.894576113e-03f, 1.899631441e-03f, 1.904683235e-03f, 1.909731486e-03f,
+1.914776186e-03f, 1.919817327e-03f, 1.924854898e-03f, 1.929888893e-03f, 1.934919303e-03f, 1.939946118e-03f, 1.944969332e-03f, 1.949988934e-03f, 1.955004917e-03f, 1.960017272e-03f,
+1.965025991e-03f, 1.970031065e-03f, 1.975032485e-03f, 1.980030244e-03f, 1.985024333e-03f, 1.990014742e-03f, 1.995001465e-03f, 1.999984492e-03f, 2.004963816e-03f, 2.009939427e-03f,
+2.014911317e-03f, 2.019879477e-03f, 2.024843901e-03f, 2.029804578e-03f, 2.034761500e-03f, 2.039714660e-03f, 2.044664049e-03f, 2.049609659e-03f, 2.054551480e-03f, 2.059489505e-03f,
+2.064423726e-03f, 2.069354134e-03f, 2.074280720e-03f, 2.079203477e-03f, 2.084122396e-03f, 2.089037469e-03f, 2.093948687e-03f, 2.098856043e-03f, 2.103759527e-03f, 2.108659132e-03f,
+2.113554850e-03f, 2.118446671e-03f, 2.123334589e-03f, 2.128218594e-03f, 2.133098678e-03f, 2.137974834e-03f, 2.142847052e-03f, 2.147715325e-03f, 2.152579644e-03f, 2.157440002e-03f,
+2.162296390e-03f, 2.167148799e-03f, 2.171997222e-03f, 2.176841651e-03f, 2.181682077e-03f, 2.186518492e-03f, 2.191350887e-03f, 2.196179256e-03f, 2.201003589e-03f, 2.205823879e-03f,
+2.210640118e-03f, 2.215452296e-03f, 2.220260407e-03f, 2.225064442e-03f, 2.229864392e-03f, 2.234660251e-03f, 2.239452009e-03f, 2.244239660e-03f, 2.249023193e-03f, 2.253802603e-03f,
+2.258577879e-03f, 2.263349016e-03f, 2.268116003e-03f, 2.272878834e-03f, 2.277637501e-03f, 2.282391995e-03f, 2.287142308e-03f, 2.291888432e-03f, 2.296630360e-03f, 2.301368083e-03f,
+2.306101594e-03f, 2.310830884e-03f, 2.315555946e-03f, 2.320276771e-03f, 2.324993351e-03f, 2.329705679e-03f, 2.334413747e-03f, 2.339117547e-03f, 2.343817070e-03f, 2.348512310e-03f,
+2.353203257e-03f, 2.357889905e-03f, 2.362572245e-03f, 2.367250269e-03f, 2.371923969e-03f, 2.376593339e-03f, 2.381258369e-03f, 2.385919052e-03f, 2.390575380e-03f, 2.395227346e-03f,
+2.399874941e-03f, 2.404518157e-03f, 2.409156987e-03f, 2.413791424e-03f, 2.418421459e-03f, 2.423047084e-03f, 2.427668291e-03f, 2.432285074e-03f, 2.436897424e-03f, 2.441505333e-03f,
+2.446108794e-03f, 2.450707799e-03f, 2.455302340e-03f, 2.459892410e-03f, 2.464478000e-03f, 2.469059104e-03f, 2.473635713e-03f, 2.478207819e-03f, 2.482775416e-03f, 2.487338495e-03f,
+2.491897049e-03f, 2.496451069e-03f, 2.501000549e-03f, 2.505545481e-03f, 2.510085857e-03f, 2.514621670e-03f, 2.519152911e-03f, 2.523679574e-03f, 2.528201650e-03f, 2.532719133e-03f,
+2.537232014e-03f, 2.541740286e-03f, 2.546243941e-03f, 2.550742972e-03f, 2.555237372e-03f, 2.559727132e-03f, 2.564212246e-03f, 2.568692705e-03f, 2.573168503e-03f, 2.577639631e-03f,
+2.582106082e-03f, 2.586567850e-03f, 2.591024925e-03f, 2.595477301e-03f, 2.599924971e-03f, 2.604367926e-03f, 2.608806160e-03f, 2.613239665e-03f, 2.617668433e-03f, 2.622092458e-03f,
+2.626511731e-03f, 2.630926246e-03f, 2.635335995e-03f, 2.639740970e-03f, 2.644141164e-03f, 2.648536570e-03f, 2.652927181e-03f, 2.657312989e-03f, 2.661693986e-03f, 2.666070166e-03f,
+2.670441521e-03f, 2.674808044e-03f, 2.679169727e-03f, 2.683526564e-03f, 2.687878546e-03f, 2.692225667e-03f, 2.696567920e-03f, 2.700905296e-03f, 2.705237790e-03f, 2.709565393e-03f,
+2.713888098e-03f, 2.718205899e-03f, 2.722518787e-03f, 2.726826757e-03f, 2.731129799e-03f, 2.735427908e-03f, 2.739721077e-03f, 2.744009297e-03f, 2.748292562e-03f, 2.752570864e-03f,
+2.756844197e-03f, 2.761112554e-03f, 2.765375927e-03f, 2.769634308e-03f, 2.773887692e-03f, 2.778136071e-03f, 2.782379438e-03f, 2.786617785e-03f, 2.790851106e-03f, 2.795079393e-03f,
+2.799302640e-03f, 2.803520840e-03f, 2.807733985e-03f, 2.811942068e-03f, 2.816145083e-03f, 2.820343022e-03f, 2.824535879e-03f, 2.828723646e-03f, 2.832906316e-03f, 2.837083883e-03f,
+2.841256339e-03f, 2.845423678e-03f, 2.849585892e-03f, 2.853742975e-03f, 2.857894920e-03f, 2.862041719e-03f, 2.866183366e-03f, 2.870319855e-03f, 2.874451177e-03f, 2.878577326e-03f,
+2.882698296e-03f, 2.886814080e-03f, 2.890924669e-03f, 2.895030059e-03f, 2.899130242e-03f, 2.903225210e-03f, 2.907314958e-03f, 2.911399479e-03f, 2.915478765e-03f, 2.919552809e-03f,
+2.923621606e-03f, 2.927685149e-03f, 2.931743430e-03f, 2.935796442e-03f, 2.939844180e-03f, 2.943886636e-03f, 2.947923804e-03f, 2.951955677e-03f, 2.955982248e-03f, 2.960003510e-03f,
+2.964019457e-03f, 2.968030082e-03f, 2.972035379e-03f, 2.976035341e-03f, 2.980029961e-03f, 2.984019232e-03f, 2.988003148e-03f, 2.991981703e-03f, 2.995954889e-03f, 2.999922700e-03f,
+3.003885130e-03f, 3.007842172e-03f, 3.011793819e-03f, 3.015740065e-03f, 3.019680903e-03f, 3.023616327e-03f, 3.027546329e-03f, 3.031470905e-03f, 3.035390047e-03f, 3.039303748e-03f,
+3.043212002e-03f, 3.047114803e-03f, 3.051012145e-03f, 3.054904020e-03f, 3.058790422e-03f, 3.062671345e-03f, 3.066546782e-03f, 3.070416728e-03f, 3.074281175e-03f, 3.078140117e-03f,
+3.081993547e-03f, 3.085841461e-03f, 3.089683850e-03f, 3.093520708e-03f, 3.097352030e-03f, 3.101177809e-03f, 3.104998039e-03f, 3.108812712e-03f, 3.112621824e-03f, 3.116425367e-03f,
+3.120223336e-03f, 3.124015724e-03f, 3.127802524e-03f, 3.131583731e-03f, 3.135359338e-03f, 3.139129339e-03f, 3.142893728e-03f, 3.146652499e-03f, 3.150405645e-03f, 3.154153160e-03f,
+3.157895038e-03f, 3.161631272e-03f, 3.165361857e-03f, 3.169086787e-03f, 3.172806055e-03f, 3.176519655e-03f, 3.180227581e-03f, 3.183929826e-03f, 3.187626386e-03f, 3.191317253e-03f,
+3.195002421e-03f, 3.198681885e-03f, 3.202355639e-03f, 3.206023675e-03f, 3.209685989e-03f, 3.213342574e-03f, 3.216993424e-03f, 3.220638534e-03f, 3.224277896e-03f, 3.227911506e-03f,
+3.231539357e-03f, 3.235161443e-03f, 3.238777758e-03f, 3.242388296e-03f, 3.245993051e-03f, 3.249592018e-03f, 3.253185190e-03f, 3.256772562e-03f, 3.260354127e-03f, 3.263929880e-03f,
+3.267499815e-03f, 3.271063925e-03f, 3.274622206e-03f, 3.278174651e-03f, 3.281721254e-03f, 3.285262009e-03f, 3.288796911e-03f, 3.292325954e-03f, 3.295849132e-03f, 3.299366439e-03f,
+3.302877870e-03f, 3.306383418e-03f, 3.309883078e-03f, 3.313376845e-03f, 3.316864711e-03f, 3.320346673e-03f, 3.323822723e-03f, 3.327292856e-03f, 3.330757067e-03f, 3.334215350e-03f,
+3.337667699e-03f, 3.341114108e-03f, 3.344554573e-03f, 3.347989086e-03f, 3.351417643e-03f, 3.354840238e-03f, 3.358256865e-03f, 3.361667519e-03f, 3.365072194e-03f, 3.368470884e-03f,
+3.371863584e-03f, 3.375250289e-03f, 3.378630992e-03f, 3.382005689e-03f, 3.385374373e-03f, 3.388737040e-03f, 3.392093683e-03f, 3.395444297e-03f, 3.398788877e-03f, 3.402127418e-03f,
+3.405459913e-03f, 3.408786357e-03f, 3.412106745e-03f, 3.415421072e-03f, 3.418729331e-03f, 3.422031519e-03f, 3.425327628e-03f, 3.428617654e-03f, 3.431901591e-03f, 3.435179435e-03f,
+3.438451179e-03f, 3.441716818e-03f, 3.444976347e-03f, 3.448229761e-03f, 3.451477054e-03f, 3.454718222e-03f, 3.457953258e-03f, 3.461182157e-03f, 3.464404914e-03f, 3.467621525e-03f,
+3.470831983e-03f, 3.474036283e-03f, 3.477234421e-03f, 3.480426390e-03f, 3.483612186e-03f, 3.486791804e-03f, 3.489965238e-03f, 3.493132484e-03f, 3.496293535e-03f, 3.499448387e-03f,
+3.502597035e-03f, 3.505739473e-03f, 3.508875697e-03f, 3.512005701e-03f, 3.515129480e-03f, 3.518247030e-03f, 3.521358344e-03f, 3.524463419e-03f, 3.527562248e-03f, 3.530654828e-03f,
+3.533741152e-03f, 3.536821216e-03f, 3.539895015e-03f, 3.542962544e-03f, 3.546023798e-03f, 3.549078771e-03f, 3.552127460e-03f, 3.555169858e-03f, 3.558205962e-03f, 3.561235765e-03f,
+3.564259264e-03f, 3.567276453e-03f, 3.570287327e-03f, 3.573291881e-03f, 3.576290112e-03f, 3.579282013e-03f, 3.582267579e-03f, 3.585246807e-03f, 3.588219691e-03f, 3.591186226e-03f,
+3.594146408e-03f, 3.597100232e-03f, 3.600047692e-03f, 3.602988785e-03f, 3.605923505e-03f, 3.608851848e-03f, 3.611773808e-03f, 3.614689382e-03f, 3.617598564e-03f, 3.620501351e-03f,
+3.623397736e-03f, 3.626287715e-03f, 3.629171284e-03f, 3.632048438e-03f, 3.634919173e-03f, 3.637783483e-03f, 3.640641364e-03f, 3.643492812e-03f, 3.646337822e-03f, 3.649176389e-03f,
+3.652008509e-03f, 3.654834177e-03f, 3.657653388e-03f, 3.660466138e-03f, 3.663272423e-03f, 3.666072238e-03f, 3.668865578e-03f, 3.671652439e-03f, 3.674432817e-03f, 3.677206706e-03f,
+3.679974103e-03f, 3.682735003e-03f, 3.685489402e-03f, 3.688237294e-03f, 3.690978677e-03f, 3.693713544e-03f, 3.696441893e-03f, 3.699163718e-03f, 3.701879015e-03f, 3.704587780e-03f,
+3.707290008e-03f, 3.709985696e-03f, 3.712674838e-03f, 3.715357430e-03f, 3.718033469e-03f, 3.720702949e-03f, 3.723365867e-03f, 3.726022218e-03f, 3.728671998e-03f, 3.731315203e-03f,
+3.733951828e-03f, 3.736581869e-03f, 3.739205323e-03f, 3.741822184e-03f, 3.744432449e-03f, 3.747036113e-03f, 3.749633173e-03f, 3.752223624e-03f, 3.754807461e-03f, 3.757384682e-03f,
+3.759955281e-03f, 3.762519255e-03f, 3.765076599e-03f, 3.767627310e-03f, 3.770171383e-03f, 3.772708814e-03f, 3.775239600e-03f, 3.777763735e-03f, 3.780281217e-03f, 3.782792041e-03f,
+3.785296203e-03f, 3.787793699e-03f, 3.790284525e-03f, 3.792768678e-03f, 3.795246152e-03f, 3.797716945e-03f, 3.800181052e-03f, 3.802638469e-03f, 3.805089193e-03f, 3.807533220e-03f,
+3.809970545e-03f, 3.812401165e-03f, 3.814825076e-03f, 3.817242274e-03f, 3.819652755e-03f, 3.822056515e-03f, 3.824453552e-03f, 3.826843859e-03f, 3.829227435e-03f, 3.831604275e-03f,
+3.833974376e-03f, 3.836337733e-03f, 3.838694343e-03f, 3.841044202e-03f, 3.843387307e-03f, 3.845723653e-03f, 3.848053238e-03f, 3.850376057e-03f, 3.852692106e-03f, 3.855001382e-03f,
+3.857303882e-03f, 3.859599602e-03f, 3.861888537e-03f, 3.864170685e-03f, 3.866446042e-03f, 3.868714604e-03f, 3.870976368e-03f, 3.873231330e-03f, 3.875479486e-03f, 3.877720834e-03f,
+3.879955369e-03f, 3.882183088e-03f, 3.884403987e-03f, 3.886618063e-03f, 3.888825313e-03f, 3.891025733e-03f, 3.893219319e-03f, 3.895406068e-03f, 3.897585977e-03f, 3.899759042e-03f,
+3.901925260e-03f, 3.904084627e-03f, 3.906237140e-03f, 3.908382796e-03f, 3.910521591e-03f, 3.912653522e-03f, 3.914778585e-03f, 3.916896778e-03f, 3.919008097e-03f, 3.921112538e-03f,
+3.923210098e-03f, 3.925300775e-03f, 3.927384564e-03f, 3.929461463e-03f, 3.931531468e-03f, 3.933594575e-03f, 3.935650783e-03f, 3.937700088e-03f, 3.939742485e-03f, 3.941777973e-03f,
+3.943806548e-03f, 3.945828207e-03f, 3.947842946e-03f, 3.949850763e-03f, 3.951851655e-03f, 3.953845617e-03f, 3.955832648e-03f, 3.957812745e-03f, 3.959785903e-03f, 3.961752120e-03f,
+3.963711393e-03f, 3.965663719e-03f, 3.967609095e-03f, 3.969547518e-03f, 3.971478985e-03f, 3.973403492e-03f, 3.975321038e-03f, 3.977231618e-03f, 3.979135230e-03f, 3.981031872e-03f,
+3.982921539e-03f, 3.984804230e-03f, 3.986679941e-03f, 3.988548669e-03f, 3.990410412e-03f, 3.992265166e-03f, 3.994112929e-03f, 3.995953698e-03f, 3.997787470e-03f, 3.999614243e-03f,
+4.001434013e-03f, 4.003246777e-03f, 4.005052533e-03f, 4.006851279e-03f, 4.008643011e-03f, 4.010427726e-03f, 4.012205423e-03f, 4.013976097e-03f, 4.015739747e-03f, 4.017496370e-03f,
+4.019245962e-03f, 4.020988522e-03f, 4.022724047e-03f, 4.024452534e-03f, 4.026173980e-03f, 4.027888383e-03f, 4.029595741e-03f, 4.031296049e-03f, 4.032989307e-03f, 4.034675512e-03f,
+4.036354660e-03f, 4.038026749e-03f, 4.039691778e-03f, 4.041349742e-03f, 4.043000640e-03f, 4.044644470e-03f, 4.046281228e-03f, 4.047910913e-03f, 4.049533521e-03f, 4.051149051e-03f,
+4.052757499e-03f, 4.054358864e-03f, 4.055953143e-03f, 4.057540334e-03f, 4.059120434e-03f, 4.060693441e-03f, 4.062259353e-03f, 4.063818167e-03f, 4.065369880e-03f, 4.066914491e-03f,
+4.068451998e-03f, 4.069982397e-03f, 4.071505687e-03f, 4.073021865e-03f, 4.074530929e-03f, 4.076032877e-03f, 4.077527707e-03f, 4.079015416e-03f, 4.080496002e-03f, 4.081969463e-03f,
+4.083435797e-03f, 4.084895001e-03f, 4.086347074e-03f, 4.087792013e-03f, 4.089229816e-03f, 4.090660481e-03f, 4.092084005e-03f, 4.093500388e-03f, 4.094909626e-03f, 4.096311718e-03f,
+4.097706661e-03f, 4.099094454e-03f, 4.100475094e-03f, 4.101848579e-03f, 4.103214908e-03f, 4.104574078e-03f, 4.105926088e-03f, 4.107270935e-03f, 4.108608617e-03f, 4.109939133e-03f,
+4.111262480e-03f, 4.112578657e-03f, 4.113887662e-03f, 4.115189492e-03f, 4.116484146e-03f, 4.117771622e-03f, 4.119051919e-03f, 4.120325033e-03f, 4.121590964e-03f, 4.122849710e-03f,
+4.124101268e-03f, 4.125345637e-03f, 4.126582816e-03f, 4.127812802e-03f, 4.129035593e-03f, 4.130251189e-03f, 4.131459586e-03f, 4.132660784e-03f, 4.133854781e-03f, 4.135041574e-03f,
+4.136221163e-03f, 4.137393546e-03f, 4.138558720e-03f, 4.139716685e-03f, 4.140867439e-03f, 4.142010979e-03f, 4.143147305e-03f, 4.144276414e-03f, 4.145398306e-03f, 4.146512979e-03f,
+4.147620430e-03f, 4.148720659e-03f, 4.149813664e-03f, 4.150899443e-03f, 4.151977996e-03f, 4.153049320e-03f, 4.154113413e-03f, 4.155170275e-03f, 4.156219904e-03f, 4.157262299e-03f,
+4.158297458e-03f, 4.159325379e-03f, 4.160346061e-03f, 4.161359504e-03f, 4.162365705e-03f, 4.163364663e-03f, 4.164356376e-03f, 4.165340844e-03f, 4.166318065e-03f, 4.167288038e-03f,
+4.168250761e-03f, 4.169206233e-03f, 4.170154453e-03f, 4.171095419e-03f, 4.172029131e-03f, 4.172955586e-03f, 4.173874784e-03f, 4.174786724e-03f, 4.175691404e-03f, 4.176588823e-03f,
+4.177478980e-03f, 4.178361874e-03f, 4.179237503e-03f, 4.180105867e-03f, 4.180966964e-03f, 4.181820793e-03f, 4.182667354e-03f, 4.183506644e-03f, 4.184338663e-03f, 4.185163409e-03f,
+4.185980883e-03f, 4.186791082e-03f, 4.187594006e-03f, 4.188389653e-03f, 4.189178023e-03f, 4.189959114e-03f, 4.190732926e-03f, 4.191499458e-03f, 4.192258709e-03f, 4.193010677e-03f,
+4.193755361e-03f, 4.194492762e-03f, 4.195222878e-03f, 4.195945707e-03f, 4.196661250e-03f, 4.197369505e-03f, 4.198070471e-03f, 4.198764148e-03f, 4.199450535e-03f, 4.200129631e-03f,
+4.200801435e-03f, 4.201465946e-03f, 4.202123163e-03f, 4.202773087e-03f, 4.203415715e-03f, 4.204051047e-03f, 4.204679083e-03f, 4.205299822e-03f, 4.205913263e-03f, 4.206519405e-03f,
+4.207118248e-03f, 4.207709791e-03f, 4.208294033e-03f, 4.208870974e-03f, 4.209440613e-03f, 4.210002950e-03f, 4.210557983e-03f, 4.211105713e-03f, 4.211646138e-03f, 4.212179259e-03f,
+4.212705074e-03f, 4.213223583e-03f, 4.213734785e-03f, 4.214238680e-03f, 4.214735268e-03f, 4.215224548e-03f, 4.215706519e-03f, 4.216181181e-03f, 4.216648534e-03f, 4.217108577e-03f,
+4.217561309e-03f, 4.218006731e-03f, 4.218444842e-03f, 4.218875641e-03f, 4.219299128e-03f, 4.219715303e-03f, 4.220124165e-03f, 4.220525714e-03f, 4.220919950e-03f, 4.221306872e-03f,
+4.221686480e-03f, 4.222058774e-03f, 4.222423754e-03f, 4.222781418e-03f, 4.223131768e-03f, 4.223474802e-03f, 4.223810521e-03f, 4.224138924e-03f, 4.224460012e-03f, 4.224773783e-03f,
+4.225080238e-03f, 4.225379376e-03f, 4.225671198e-03f, 4.225955703e-03f, 4.226232891e-03f, 4.226502762e-03f, 4.226765316e-03f, 4.227020553e-03f, 4.227268472e-03f, 4.227509074e-03f,
+4.227742359e-03f, 4.227968327e-03f, 4.228186977e-03f, 4.228398309e-03f, 4.228602324e-03f, 4.228799022e-03f, 4.228988402e-03f, 4.229170465e-03f, 4.229345211e-03f, 4.229512639e-03f,
+4.229672750e-03f, 4.229825544e-03f, 4.229971021e-03f, 4.230109181e-03f, 4.230240024e-03f, 4.230363551e-03f, 4.230479761e-03f, 4.230588655e-03f, 4.230690232e-03f, 4.230784494e-03f,
+4.230871440e-03f, 4.230951071e-03f, 4.231023386e-03f, 4.231088386e-03f, 4.231146071e-03f, 4.231196442e-03f, 4.231239498e-03f, 4.231275241e-03f, 4.231303670e-03f, 4.231324785e-03f,
+4.231338587e-03f, 4.231345077e-03f, 4.231344255e-03f, 4.231336120e-03f, 4.231320674e-03f, 4.231297916e-03f, 4.231267848e-03f, 4.231230469e-03f, 4.231185781e-03f, 4.231133783e-03f,
+4.231074476e-03f, 4.231007860e-03f, 4.230933936e-03f, 4.230852704e-03f, 4.230764166e-03f, 4.230668321e-03f, 4.230565169e-03f, 4.230454712e-03f, 4.230336951e-03f, 4.230211884e-03f,
+4.230079514e-03f, 4.229939841e-03f, 4.229792865e-03f, 4.229638587e-03f, 4.229477008e-03f, 4.229308128e-03f, 4.229131947e-03f, 4.228948468e-03f, 4.228757690e-03f, 4.228559613e-03f,
+4.228354239e-03f, 4.228141569e-03f, 4.227921603e-03f, 4.227694342e-03f, 4.227459786e-03f, 4.227217936e-03f, 4.226968794e-03f, 4.226712360e-03f, 4.226448634e-03f, 4.226177619e-03f,
+4.225899313e-03f, 4.225613719e-03f, 4.225320837e-03f, 4.225020668e-03f, 4.224713212e-03f, 4.224398472e-03f, 4.224076447e-03f, 4.223747139e-03f, 4.223410548e-03f, 4.223066676e-03f,
+4.222715523e-03f, 4.222357090e-03f, 4.221991379e-03f, 4.221618390e-03f, 4.221238125e-03f, 4.220850584e-03f, 4.220455768e-03f, 4.220053679e-03f, 4.219644318e-03f, 4.219227685e-03f,
+4.218803781e-03f, 4.218372609e-03f, 4.217934168e-03f, 4.217488461e-03f, 4.217035487e-03f, 4.216575249e-03f, 4.216107747e-03f, 4.215632983e-03f, 4.215150957e-03f, 4.214661672e-03f,
+4.214165128e-03f, 4.213661326e-03f, 4.213150268e-03f, 4.212631954e-03f, 4.212106387e-03f, 4.211573567e-03f, 4.211033496e-03f, 4.210486175e-03f, 4.209931606e-03f, 4.209369788e-03f,
+4.208800725e-03f, 4.208224417e-03f, 4.207640866e-03f, 4.207050073e-03f, 4.206452039e-03f, 4.205846766e-03f, 4.205234255e-03f, 4.204614508e-03f, 4.203987526e-03f, 4.203353310e-03f,
+4.202711862e-03f, 4.202063184e-03f, 4.201407276e-03f, 4.200744141e-03f, 4.200073780e-03f, 4.199396195e-03f, 4.198711386e-03f, 4.198019356e-03f, 4.197320105e-03f, 4.196613637e-03f,
+4.195899951e-03f, 4.195179051e-03f, 4.194450937e-03f, 4.193715611e-03f, 4.192973074e-03f, 4.192223329e-03f, 4.191466377e-03f, 4.190702219e-03f, 4.189930857e-03f, 4.189152294e-03f,
+4.188366530e-03f, 4.187573568e-03f, 4.186773409e-03f, 4.185966055e-03f, 4.185151507e-03f, 4.184329768e-03f, 4.183500839e-03f, 4.182664721e-03f, 4.181821418e-03f, 4.180970930e-03f,
+4.180113260e-03f, 4.179248409e-03f, 4.178376379e-03f, 4.177497172e-03f, 4.176610789e-03f, 4.175717234e-03f, 4.174816507e-03f, 4.173908611e-03f, 4.172993547e-03f, 4.172071317e-03f,
+4.171141924e-03f, 4.170205370e-03f, 4.169261655e-03f, 4.168310783e-03f, 4.167352755e-03f, 4.166387574e-03f, 4.165415241e-03f, 4.164435758e-03f, 4.163449127e-03f, 4.162455351e-03f,
+4.161454432e-03f, 4.160446371e-03f, 4.159431171e-03f, 4.158408834e-03f, 4.157379362e-03f, 4.156342756e-03f, 4.155299021e-03f, 4.154248156e-03f, 4.153190165e-03f, 4.152125050e-03f,
+4.151052813e-03f, 4.149973456e-03f, 4.148886981e-03f, 4.147793391e-03f, 4.146692688e-03f, 4.145584874e-03f, 4.144469951e-03f, 4.143347922e-03f, 4.142218789e-03f, 4.141082554e-03f,
+4.139939220e-03f, 4.138788789e-03f, 4.137631263e-03f, 4.136466644e-03f, 4.135294936e-03f, 4.134116140e-03f, 4.132930258e-03f, 4.131737294e-03f, 4.130537249e-03f, 4.129330127e-03f,
+4.128115928e-03f, 4.126894657e-03f, 4.125666315e-03f, 4.124430905e-03f, 4.123188429e-03f, 4.121938890e-03f, 4.120682290e-03f, 4.119418632e-03f, 4.118147918e-03f, 4.116870152e-03f,
+4.115585335e-03f, 4.114293469e-03f, 4.112994559e-03f, 4.111688606e-03f, 4.110375612e-03f, 4.109055581e-03f, 4.107728515e-03f, 4.106394417e-03f, 4.105053289e-03f, 4.103705135e-03f,
+4.102349956e-03f, 4.100987755e-03f, 4.099618536e-03f, 4.098242300e-03f, 4.096859051e-03f, 4.095468791e-03f, 4.094071524e-03f, 4.092667251e-03f, 4.091255976e-03f, 4.089837701e-03f,
+4.088412429e-03f, 4.086980164e-03f, 4.085540907e-03f, 4.084094662e-03f, 4.082641432e-03f, 4.081181218e-03f, 4.079714026e-03f, 4.078239856e-03f, 4.076758712e-03f, 4.075270597e-03f,
+4.073775514e-03f, 4.072273466e-03f, 4.070764455e-03f, 4.069248486e-03f, 4.067725560e-03f, 4.066195680e-03f, 4.064658850e-03f, 4.063115073e-03f, 4.061564351e-03f, 4.060006688e-03f,
+4.058442087e-03f, 4.056870550e-03f, 4.055292082e-03f, 4.053706684e-03f, 4.052114360e-03f, 4.050515113e-03f, 4.048908947e-03f, 4.047295863e-03f, 4.045675866e-03f, 4.044048959e-03f,
+4.042415144e-03f, 4.040774426e-03f, 4.039126806e-03f, 4.037472288e-03f, 4.035810877e-03f, 4.034142573e-03f, 4.032467382e-03f, 4.030785306e-03f, 4.029096348e-03f, 4.027400512e-03f,
+4.025697801e-03f, 4.023988218e-03f, 4.022271766e-03f, 4.020548449e-03f, 4.018818271e-03f, 4.017081234e-03f, 4.015337342e-03f, 4.013586598e-03f, 4.011829005e-03f, 4.010064568e-03f,
+4.008293288e-03f, 4.006515171e-03f, 4.004730218e-03f, 4.002938434e-03f, 4.001139823e-03f, 3.999334386e-03f, 3.997522129e-03f, 3.995703053e-03f, 3.993877164e-03f, 3.992044464e-03f,
+3.990204957e-03f, 3.988358646e-03f, 3.986505535e-03f, 3.984645628e-03f, 3.982778928e-03f, 3.980905438e-03f, 3.979025162e-03f, 3.977138104e-03f, 3.975244267e-03f, 3.973343656e-03f,
+3.971436273e-03f, 3.969522122e-03f, 3.967601206e-03f, 3.965673531e-03f, 3.963739098e-03f, 3.961797913e-03f, 3.959849978e-03f, 3.957895297e-03f, 3.955933874e-03f, 3.953965713e-03f,
+3.951990817e-03f, 3.950009190e-03f, 3.948020836e-03f, 3.946025759e-03f, 3.944023963e-03f, 3.942015450e-03f, 3.940000226e-03f, 3.937978294e-03f, 3.935949657e-03f, 3.933914320e-03f,
+3.931872287e-03f, 3.929823560e-03f, 3.927768145e-03f, 3.925706045e-03f, 3.923637264e-03f, 3.921561805e-03f, 3.919479674e-03f, 3.917390873e-03f, 3.915295406e-03f, 3.913193279e-03f,
+3.911084493e-03f, 3.908969055e-03f, 3.906846967e-03f, 3.904718233e-03f, 3.902582858e-03f, 3.900440845e-03f, 3.898292199e-03f, 3.896136924e-03f, 3.893975023e-03f, 3.891806502e-03f,
+3.889631362e-03f, 3.887449610e-03f, 3.885261249e-03f, 3.883066283e-03f, 3.880864716e-03f, 3.878656553e-03f, 3.876441797e-03f, 3.874220453e-03f, 3.871992524e-03f, 3.869758016e-03f,
+3.867516932e-03f, 3.865269276e-03f, 3.863015053e-03f, 3.860754267e-03f, 3.858486921e-03f, 3.856213022e-03f, 3.853932571e-03f, 3.851645575e-03f, 3.849352037e-03f, 3.847051961e-03f,
+3.844745352e-03f, 3.842432214e-03f, 3.840112551e-03f, 3.837786368e-03f, 3.835453669e-03f, 3.833114458e-03f, 3.830768740e-03f, 3.828416520e-03f, 3.826057800e-03f, 3.823692587e-03f,
+3.821320884e-03f, 3.818942696e-03f, 3.816558027e-03f, 3.814166882e-03f, 3.811769264e-03f, 3.809365180e-03f, 3.806954632e-03f, 3.804537626e-03f, 3.802114166e-03f, 3.799684256e-03f,
+3.797247902e-03f, 3.794805107e-03f, 3.792355876e-03f, 3.789900214e-03f, 3.787438125e-03f, 3.784969614e-03f, 3.782494685e-03f, 3.780013344e-03f, 3.777525594e-03f, 3.775031440e-03f,
+3.772530887e-03f, 3.770023940e-03f, 3.767510602e-03f, 3.764990880e-03f, 3.762464777e-03f, 3.759932298e-03f, 3.757393448e-03f, 3.754848232e-03f, 3.752296654e-03f, 3.749738719e-03f,
+3.747174431e-03f, 3.744603796e-03f, 3.742026819e-03f, 3.739443503e-03f, 3.736853854e-03f, 3.734257877e-03f, 3.731655577e-03f, 3.729046957e-03f, 3.726432024e-03f, 3.723810781e-03f,
+3.721183234e-03f, 3.718549388e-03f, 3.715909247e-03f, 3.713262816e-03f, 3.710610101e-03f, 3.707951106e-03f, 3.705285835e-03f, 3.702614295e-03f, 3.699936489e-03f, 3.697252424e-03f,
+3.694562103e-03f, 3.691865531e-03f, 3.689162715e-03f, 3.686453658e-03f, 3.683738365e-03f, 3.681016843e-03f, 3.678289095e-03f, 3.675555127e-03f, 3.672814943e-03f, 3.670068549e-03f,
+3.667315950e-03f, 3.664557151e-03f, 3.661792157e-03f, 3.659020973e-03f, 3.656243604e-03f, 3.653460056e-03f, 3.650670332e-03f, 3.647874440e-03f, 3.645072383e-03f, 3.642264166e-03f,
+3.639449796e-03f, 3.636629277e-03f, 3.633802614e-03f, 3.630969813e-03f, 3.628130878e-03f, 3.625285815e-03f, 3.622434630e-03f, 3.619577327e-03f, 3.616713911e-03f, 3.613844388e-03f,
+3.610968764e-03f, 3.608087043e-03f, 3.605199230e-03f, 3.602305332e-03f, 3.599405352e-03f, 3.596499298e-03f, 3.593587173e-03f, 3.590668984e-03f, 3.587744735e-03f, 3.584814432e-03f,
+3.581878080e-03f, 3.578935686e-03f, 3.575987253e-03f, 3.573032788e-03f, 3.570072295e-03f, 3.567105781e-03f, 3.564133251e-03f, 3.561154710e-03f, 3.558170163e-03f, 3.555179617e-03f,
+3.552183076e-03f, 3.549180546e-03f, 3.546172033e-03f, 3.543157542e-03f, 3.540137078e-03f, 3.537110647e-03f, 3.534078255e-03f, 3.531039907e-03f, 3.527995608e-03f, 3.524945365e-03f,
+3.521889183e-03f, 3.518827067e-03f, 3.515759022e-03f, 3.512685056e-03f, 3.509605172e-03f, 3.506519378e-03f, 3.503427677e-03f, 3.500330077e-03f, 3.497226582e-03f, 3.494117199e-03f,
+3.491001933e-03f, 3.487880789e-03f, 3.484753774e-03f, 3.481620893e-03f, 3.478482151e-03f, 3.475337555e-03f, 3.472187111e-03f, 3.469030823e-03f, 3.465868698e-03f, 3.462700741e-03f,
+3.459526959e-03f, 3.456347356e-03f, 3.453161939e-03f, 3.449970714e-03f, 3.446773687e-03f, 3.443570862e-03f, 3.440362247e-03f, 3.437147846e-03f, 3.433927666e-03f, 3.430701712e-03f,
+3.427469991e-03f, 3.424232509e-03f, 3.420989270e-03f, 3.417740281e-03f, 3.414485549e-03f, 3.411225078e-03f, 3.407958875e-03f, 3.404686946e-03f, 3.401409296e-03f, 3.398125932e-03f,
+3.394836860e-03f, 3.391542085e-03f, 3.388241614e-03f, 3.384935452e-03f, 3.381623605e-03f, 3.378306080e-03f, 3.374982883e-03f, 3.371654019e-03f, 3.368319495e-03f, 3.364979316e-03f,
+3.361633489e-03f, 3.358282020e-03f, 3.354924915e-03f, 3.351562179e-03f, 3.348193820e-03f, 3.344819842e-03f, 3.341440253e-03f, 3.338055058e-03f, 3.334664264e-03f, 3.331267876e-03f,
+3.327865901e-03f, 3.324458345e-03f, 3.321045214e-03f, 3.317626514e-03f, 3.314202251e-03f, 3.310772432e-03f, 3.307337063e-03f, 3.303896150e-03f, 3.300449700e-03f, 3.296997718e-03f,
+3.293540210e-03f, 3.290077184e-03f, 3.286608644e-03f, 3.283134599e-03f, 3.279655053e-03f, 3.276170013e-03f, 3.272679485e-03f, 3.269183477e-03f, 3.265681993e-03f, 3.262175041e-03f,
+3.258662626e-03f, 3.255144755e-03f, 3.251621435e-03f, 3.248092671e-03f, 3.244558470e-03f, 3.241018839e-03f, 3.237473784e-03f, 3.233923311e-03f, 3.230367426e-03f, 3.226806137e-03f,
+3.223239449e-03f, 3.219667369e-03f, 3.216089903e-03f, 3.212507059e-03f, 3.208918841e-03f, 3.205325257e-03f, 3.201726314e-03f, 3.198122017e-03f, 3.194512374e-03f, 3.190897390e-03f,
+3.187277072e-03f, 3.183651427e-03f, 3.180020462e-03f, 3.176384182e-03f, 3.172742594e-03f, 3.169095706e-03f, 3.165443523e-03f, 3.161786052e-03f, 3.158123299e-03f, 3.154455272e-03f,
+3.150781977e-03f, 3.147103420e-03f, 3.143419609e-03f, 3.139730549e-03f, 3.136036247e-03f, 3.132336711e-03f, 3.128631946e-03f, 3.124921959e-03f, 3.121206757e-03f, 3.117486347e-03f,
+3.113760736e-03f, 3.110029929e-03f, 3.106293934e-03f, 3.102552758e-03f, 3.098806406e-03f, 3.095054887e-03f, 3.091298207e-03f, 3.087536371e-03f, 3.083769388e-03f, 3.079997264e-03f,
+3.076220006e-03f, 3.072437620e-03f, 3.068650113e-03f, 3.064857493e-03f, 3.061059765e-03f, 3.057256937e-03f, 3.053449016e-03f, 3.049636008e-03f, 3.045817920e-03f, 3.041994760e-03f,
+3.038166533e-03f, 3.034333247e-03f, 3.030494909e-03f, 3.026651525e-03f, 3.022803103e-03f, 3.018949649e-03f, 3.015091171e-03f, 3.011227674e-03f, 3.007359167e-03f, 3.003485656e-03f,
+2.999607147e-03f, 2.995723649e-03f, 2.991835168e-03f, 2.987941710e-03f, 2.984043284e-03f, 2.980139895e-03f, 2.976231551e-03f, 2.972318259e-03f, 2.968400026e-03f, 2.964476858e-03f,
+2.960548764e-03f, 2.956615749e-03f, 2.952677821e-03f, 2.948734988e-03f, 2.944787255e-03f, 2.940834631e-03f, 2.936877122e-03f, 2.932914735e-03f, 2.928947477e-03f, 2.924975356e-03f,
+2.920998379e-03f, 2.917016552e-03f, 2.913029883e-03f, 2.909038379e-03f, 2.905042047e-03f, 2.901040895e-03f, 2.897034929e-03f, 2.893024156e-03f, 2.889008584e-03f, 2.884988220e-03f,
+2.880963071e-03f, 2.876933145e-03f, 2.872898448e-03f, 2.868858987e-03f, 2.864814771e-03f, 2.860765806e-03f, 2.856712099e-03f, 2.852653658e-03f, 2.848590489e-03f, 2.844522601e-03f,
+2.840450000e-03f, 2.836372694e-03f, 2.832290690e-03f, 2.828203995e-03f, 2.824112617e-03f, 2.820016562e-03f, 2.815915839e-03f, 2.811810454e-03f, 2.807700415e-03f, 2.803585729e-03f,
+2.799466404e-03f, 2.795342446e-03f, 2.791213864e-03f, 2.787080664e-03f, 2.782942854e-03f, 2.778800441e-03f, 2.774653434e-03f, 2.770501838e-03f, 2.766345661e-03f, 2.762184912e-03f,
+2.758019597e-03f, 2.753849724e-03f, 2.749675300e-03f, 2.745496332e-03f, 2.741312829e-03f, 2.737124797e-03f, 2.732932244e-03f, 2.728735178e-03f, 2.724533605e-03f, 2.720327534e-03f,
+2.716116972e-03f, 2.711901927e-03f, 2.707682405e-03f, 2.703458415e-03f, 2.699229963e-03f, 2.694997059e-03f, 2.690759708e-03f, 2.686517919e-03f, 2.682271699e-03f, 2.678021056e-03f,
+2.673765997e-03f, 2.669506529e-03f, 2.665242662e-03f, 2.660974401e-03f, 2.656701755e-03f, 2.652424731e-03f, 2.648143336e-03f, 2.643857580e-03f, 2.639567468e-03f, 2.635273009e-03f,
+2.630974210e-03f, 2.626671080e-03f, 2.622363625e-03f, 2.618051853e-03f, 2.613735772e-03f, 2.609415390e-03f, 2.605090714e-03f, 2.600761752e-03f, 2.596428512e-03f, 2.592091001e-03f,
+2.587749227e-03f, 2.583403199e-03f, 2.579052922e-03f, 2.574698406e-03f, 2.570339658e-03f, 2.565976686e-03f, 2.561609497e-03f, 2.557238099e-03f, 2.552862501e-03f, 2.548482709e-03f,
+2.544098732e-03f, 2.539710577e-03f, 2.535318252e-03f, 2.530921765e-03f, 2.526521124e-03f, 2.522116337e-03f, 2.517707411e-03f, 2.513294354e-03f, 2.508877174e-03f, 2.504455879e-03f,
+2.500030477e-03f, 2.495600975e-03f, 2.491167382e-03f, 2.486729705e-03f, 2.482287953e-03f, 2.477842132e-03f, 2.473392251e-03f, 2.468938318e-03f, 2.464480341e-03f, 2.460018328e-03f,
+2.455552286e-03f, 2.451082223e-03f, 2.446608148e-03f, 2.442130068e-03f, 2.437647992e-03f, 2.433161927e-03f, 2.428671881e-03f, 2.424177862e-03f, 2.419679878e-03f, 2.415177937e-03f,
+2.410672047e-03f, 2.406162216e-03f, 2.401648453e-03f, 2.397130764e-03f, 2.392609158e-03f, 2.388083643e-03f, 2.383554228e-03f, 2.379020919e-03f, 2.374483726e-03f, 2.369942655e-03f,
+2.365397716e-03f, 2.360848916e-03f, 2.356296263e-03f, 2.351739766e-03f, 2.347179432e-03f, 2.342615269e-03f, 2.338047286e-03f, 2.333475490e-03f, 2.328899891e-03f, 2.324320495e-03f,
+2.319737311e-03f, 2.315150347e-03f, 2.310559611e-03f, 2.305965112e-03f, 2.301366856e-03f, 2.296764854e-03f, 2.292159112e-03f, 2.287549639e-03f, 2.282936442e-03f, 2.278319531e-03f,
+2.273698914e-03f, 2.269074597e-03f, 2.264446591e-03f, 2.259814902e-03f, 2.255179539e-03f, 2.250540510e-03f, 2.245897824e-03f, 2.241251488e-03f, 2.236601511e-03f, 2.231947901e-03f,
+2.227290667e-03f, 2.222629816e-03f, 2.217965356e-03f, 2.213297297e-03f, 2.208625646e-03f, 2.203950411e-03f, 2.199271601e-03f, 2.194589224e-03f, 2.189903288e-03f, 2.185213802e-03f,
+2.180520773e-03f, 2.175824211e-03f, 2.171124123e-03f, 2.166420518e-03f, 2.161713404e-03f, 2.157002789e-03f, 2.152288681e-03f, 2.147571090e-03f, 2.142850023e-03f, 2.138125488e-03f,
+2.133397494e-03f, 2.128666050e-03f, 2.123931163e-03f, 2.119192843e-03f, 2.114451096e-03f, 2.109705933e-03f, 2.104957360e-03f, 2.100205387e-03f, 2.095450021e-03f, 2.090691272e-03f,
+2.085929148e-03f, 2.081163656e-03f, 2.076394806e-03f, 2.071622606e-03f, 2.066847064e-03f, 2.062068189e-03f, 2.057285988e-03f, 2.052500472e-03f, 2.047711647e-03f, 2.042919523e-03f,
+2.038124107e-03f, 2.033325409e-03f, 2.028523436e-03f, 2.023718198e-03f, 2.018909702e-03f, 2.014097958e-03f, 2.009282973e-03f, 2.004464756e-03f, 1.999643316e-03f, 1.994818661e-03f,
+1.989990800e-03f, 1.985159740e-03f, 1.980325491e-03f, 1.975488062e-03f, 1.970647460e-03f, 1.965803694e-03f, 1.960956773e-03f, 1.956106705e-03f, 1.951253499e-03f, 1.946397163e-03f,
+1.941537706e-03f, 1.936675136e-03f, 1.931809462e-03f, 1.926940693e-03f, 1.922068837e-03f, 1.917193903e-03f, 1.912315898e-03f, 1.907434833e-03f, 1.902550715e-03f, 1.897663553e-03f,
+1.892773356e-03f, 1.887880132e-03f, 1.882983890e-03f, 1.878084638e-03f, 1.873182385e-03f, 1.868277140e-03f, 1.863368911e-03f, 1.858457707e-03f, 1.853543537e-03f, 1.848626409e-03f,
+1.843706331e-03f, 1.838783313e-03f, 1.833857364e-03f, 1.828928491e-03f, 1.823996704e-03f, 1.819062010e-03f, 1.814124420e-03f, 1.809183941e-03f, 1.804240582e-03f, 1.799294352e-03f,
+1.794345260e-03f, 1.789393314e-03f, 1.784438523e-03f, 1.779480895e-03f, 1.774520440e-03f, 1.769557166e-03f, 1.764591082e-03f, 1.759622196e-03f, 1.754650518e-03f, 1.749676055e-03f,
+1.744698818e-03f, 1.739718813e-03f, 1.734736051e-03f, 1.729750540e-03f, 1.724762288e-03f, 1.719771305e-03f, 1.714777600e-03f, 1.709781180e-03f, 1.704782055e-03f, 1.699780233e-03f,
+1.694775724e-03f, 1.689768536e-03f, 1.684758677e-03f, 1.679746158e-03f, 1.674730985e-03f, 1.669713169e-03f, 1.664692719e-03f, 1.659669642e-03f, 1.654643947e-03f, 1.649615645e-03f,
+1.644584742e-03f, 1.639551249e-03f, 1.634515173e-03f, 1.629476525e-03f, 1.624435312e-03f, 1.619391543e-03f, 1.614345228e-03f, 1.609296375e-03f, 1.604244993e-03f, 1.599191091e-03f,
+1.594134678e-03f, 1.589075762e-03f, 1.584014353e-03f, 1.578950459e-03f, 1.573884089e-03f, 1.568815253e-03f, 1.563743958e-03f, 1.558670214e-03f, 1.553594030e-03f, 1.548515415e-03f,
+1.543434377e-03f, 1.538350926e-03f, 1.533265070e-03f, 1.528176818e-03f, 1.523086180e-03f, 1.517993163e-03f, 1.512897778e-03f, 1.507800032e-03f, 1.502699935e-03f, 1.497597497e-03f,
+1.492492724e-03f, 1.487385628e-03f, 1.482276216e-03f, 1.477164498e-03f, 1.472050482e-03f, 1.466934178e-03f, 1.461815594e-03f, 1.456694739e-03f, 1.451571623e-03f, 1.446446254e-03f,
+1.441318642e-03f, 1.436188794e-03f, 1.431056721e-03f, 1.425922431e-03f, 1.420785933e-03f, 1.415647237e-03f, 1.410506350e-03f, 1.405363283e-03f, 1.400218044e-03f, 1.395070642e-03f,
+1.389921086e-03f, 1.384769386e-03f, 1.379615549e-03f, 1.374459586e-03f, 1.369301505e-03f, 1.364141315e-03f, 1.358979026e-03f, 1.353814645e-03f, 1.348648183e-03f, 1.343479649e-03f,
+1.338309050e-03f, 1.333136397e-03f, 1.327961699e-03f, 1.322784964e-03f, 1.317606202e-03f, 1.312425421e-03f, 1.307242631e-03f, 1.302057840e-03f, 1.296871059e-03f, 1.291682295e-03f,
+1.286491558e-03f, 1.281298857e-03f, 1.276104201e-03f, 1.270907599e-03f, 1.265709060e-03f, 1.260508594e-03f, 1.255306209e-03f, 1.250101914e-03f, 1.244895719e-03f, 1.239687633e-03f,
+1.234477664e-03f, 1.229265822e-03f, 1.224052116e-03f, 1.218836555e-03f, 1.213619148e-03f, 1.208399905e-03f, 1.203178833e-03f, 1.197955944e-03f, 1.192731244e-03f, 1.187504745e-03f,
+1.182276454e-03f, 1.177046381e-03f, 1.171814535e-03f, 1.166580926e-03f, 1.161345562e-03f, 1.156108452e-03f, 1.150869606e-03f, 1.145629032e-03f, 1.140386741e-03f, 1.135142740e-03f,
+1.129897040e-03f, 1.124649649e-03f, 1.119400577e-03f, 1.114149832e-03f, 1.108897424e-03f, 1.103643361e-03f, 1.098387654e-03f, 1.093130312e-03f, 1.087871342e-03f, 1.082610756e-03f,
+1.077348561e-03f, 1.072084767e-03f, 1.066819383e-03f, 1.061552419e-03f, 1.056283883e-03f, 1.051013785e-03f, 1.045742133e-03f, 1.040468938e-03f, 1.035194208e-03f, 1.029917952e-03f,
+1.024640180e-03f, 1.019360901e-03f, 1.014080124e-03f, 1.008797858e-03f, 1.003514113e-03f, 9.982288969e-04f, 9.929422200e-04f, 9.876540910e-04f, 9.823645194e-04f, 9.770735142e-04f,
+9.717810847e-04f, 9.664872402e-04f, 9.611919897e-04f, 9.558953426e-04f, 9.505973081e-04f, 9.452978954e-04f, 9.399971138e-04f, 9.346949723e-04f, 9.293914804e-04f, 9.240866472e-04f,
+9.187804819e-04f, 9.134729939e-04f, 9.081641923e-04f, 9.028540863e-04f, 8.975426852e-04f, 8.922299984e-04f, 8.869160349e-04f, 8.816008040e-04f, 8.762843151e-04f, 8.709665773e-04f,
+8.656475999e-04f, 8.603273921e-04f, 8.550059633e-04f, 8.496833226e-04f, 8.443594794e-04f, 8.390344428e-04f, 8.337082222e-04f, 8.283808268e-04f, 8.230522659e-04f, 8.177225488e-04f,
+8.123916846e-04f, 8.070596827e-04f, 8.017265524e-04f, 7.963923029e-04f, 7.910569435e-04f, 7.857204835e-04f, 7.803829321e-04f, 7.750442987e-04f, 7.697045925e-04f, 7.643638228e-04f,
+7.590219988e-04f, 7.536791300e-04f, 7.483352254e-04f, 7.429902945e-04f, 7.376443465e-04f, 7.322973908e-04f, 7.269494365e-04f, 7.216004930e-04f, 7.162505697e-04f, 7.108996757e-04f,
+7.055478203e-04f, 7.001950130e-04f, 6.948412629e-04f, 6.894865794e-04f, 6.841309718e-04f, 6.787744493e-04f, 6.734170214e-04f, 6.680586972e-04f, 6.626994860e-04f, 6.573393973e-04f,
+6.519784403e-04f, 6.466166243e-04f, 6.412539586e-04f, 6.358904525e-04f, 6.305261153e-04f, 6.251609564e-04f, 6.197949851e-04f, 6.144282107e-04f, 6.090606424e-04f, 6.036922896e-04f,
+5.983231617e-04f, 5.929532679e-04f, 5.875826175e-04f, 5.822112200e-04f, 5.768390845e-04f, 5.714662204e-04f, 5.660926371e-04f, 5.607183439e-04f, 5.553433500e-04f, 5.499676648e-04f,
+5.445912977e-04f, 5.392142579e-04f, 5.338365548e-04f, 5.284581978e-04f, 5.230791960e-04f, 5.176995590e-04f, 5.123192959e-04f, 5.069384161e-04f, 5.015569290e-04f, 4.961748439e-04f,
+4.907921701e-04f, 4.854089170e-04f, 4.800250938e-04f, 4.746407099e-04f, 4.692557747e-04f, 4.638702975e-04f, 4.584842876e-04f, 4.530977543e-04f, 4.477107070e-04f, 4.423231550e-04f,
+4.369351077e-04f, 4.315465744e-04f, 4.261575644e-04f, 4.207680870e-04f, 4.153781517e-04f, 4.099877677e-04f, 4.045969443e-04f, 3.992056910e-04f, 3.938140170e-04f, 3.884219318e-04f,
+3.830294445e-04f, 3.776365647e-04f, 3.722433015e-04f, 3.668496644e-04f, 3.614556626e-04f, 3.560613056e-04f, 3.506666027e-04f, 3.452715632e-04f, 3.398761964e-04f, 3.344805117e-04f,
+3.290845184e-04f, 3.236882260e-04f, 3.182916436e-04f, 3.128947807e-04f, 3.074976465e-04f, 3.021002505e-04f, 2.967026020e-04f, 2.913047103e-04f, 2.859065847e-04f, 2.805082347e-04f,
+2.751096694e-04f, 2.697108984e-04f, 2.643119308e-04f, 2.589127762e-04f, 2.535134437e-04f, 2.481139427e-04f, 2.427142827e-04f, 2.373144728e-04f, 2.319145225e-04f, 2.265144411e-04f,
+2.211142379e-04f, 2.157139223e-04f, 2.103135036e-04f, 2.049129912e-04f, 1.995123943e-04f, 1.941117224e-04f, 1.887109847e-04f, 1.833101906e-04f, 1.779093495e-04f, 1.725084706e-04f,
+1.671075633e-04f, 1.617066370e-04f, 1.563057009e-04f, 1.509047645e-04f, 1.455038369e-04f, 1.401029277e-04f, 1.347020461e-04f, 1.293012014e-04f, 1.239004029e-04f, 1.184996601e-04f,
+1.130989822e-04f, 1.076983786e-04f, 1.022978586e-04f, 9.689743148e-05f, 9.149710662e-05f, 8.609689334e-05f, 8.069680096e-05f, 7.529683882e-05f, 6.989701623e-05f, 6.449734252e-05f,
+5.909782701e-05f, 5.369847904e-05f, 4.829930791e-05f, 4.290032296e-05f, 3.750153350e-05f, 3.210294886e-05f, 2.670457835e-05f, 2.130643129e-05f, 1.590851700e-05f, 1.051084480e-05f,
+5.113424005e-06f, -2.837360749e-07f, -5.680626123e-06f, -1.107723682e-05f, -1.647355887e-05f, -2.186958295e-05f, -2.726529974e-05f, -3.266069995e-05f, -3.805577426e-05f, -4.345051336e-05f,
+-4.884490796e-05f, -5.423894874e-05f, -5.963262640e-05f, -6.502593163e-05f, -7.041885514e-05f, -7.581138763e-05f, -8.120351979e-05f, -8.659524232e-05f, -9.198654594e-05f, -9.737742133e-05f,
+-1.027678592e-04f, -1.081578503e-04f, -1.135473853e-04f, -1.189364549e-04f, -1.243250498e-04f, -1.297131607e-04f, -1.351007784e-04f, -1.404878935e-04f, -1.458744968e-04f, -1.512605790e-04f,
+-1.566461309e-04f, -1.620311430e-04f, -1.674156062e-04f, -1.727995111e-04f, -1.781828486e-04f, -1.835656093e-04f, -1.889477839e-04f, -1.943293632e-04f, -1.997103378e-04f, -2.050906987e-04f,
+-2.104704363e-04f, -2.158495416e-04f, -2.212280053e-04f, -2.266058180e-04f, -2.319829705e-04f, -2.373594535e-04f, -2.427352579e-04f, -2.481103743e-04f, -2.534847934e-04f, -2.588585061e-04f,
+-2.642315031e-04f, -2.696037751e-04f, -2.749753129e-04f, -2.803461072e-04f, -2.857161488e-04f, -2.910854285e-04f, -2.964539369e-04f, -3.018216650e-04f, -3.071886033e-04f, -3.125547428e-04f,
+-3.179200741e-04f, -3.232845880e-04f, -3.286482754e-04f, -3.340111269e-04f, -3.393731333e-04f, -3.447342855e-04f, -3.500945742e-04f, -3.554539901e-04f, -3.608125241e-04f, -3.661701670e-04f,
+-3.715269094e-04f, -3.768827423e-04f, -3.822376564e-04f, -3.875916425e-04f, -3.929446914e-04f, -3.982967939e-04f, -4.036479407e-04f, -4.089981228e-04f, -4.143473308e-04f, -4.196955556e-04f,
+-4.250427880e-04f, -4.303890188e-04f, -4.357342389e-04f, -4.410784389e-04f, -4.464216098e-04f, -4.517637424e-04f, -4.571048275e-04f, -4.624448558e-04f, -4.677838183e-04f, -4.731217057e-04f,
+-4.784585090e-04f, -4.837942188e-04f, -4.891288261e-04f, -4.944623217e-04f, -4.997946964e-04f, -5.051259410e-04f, -5.104560465e-04f, -5.157850036e-04f, -5.211128032e-04f, -5.264394362e-04f,
+-5.317648934e-04f, -5.370891656e-04f, -5.424122438e-04f, -5.477341187e-04f, -5.530547813e-04f, -5.583742224e-04f, -5.636924328e-04f, -5.690094035e-04f, -5.743251254e-04f, -5.796395892e-04f,
+-5.849527859e-04f, -5.902647063e-04f, -5.955753414e-04f, -6.008846820e-04f, -6.061927190e-04f, -6.114994433e-04f, -6.168048458e-04f, -6.221089175e-04f, -6.274116491e-04f, -6.327130316e-04f,
+-6.380130559e-04f, -6.433117130e-04f, -6.486089937e-04f, -6.539048889e-04f, -6.591993895e-04f, -6.644924866e-04f, -6.697841709e-04f, -6.750744335e-04f, -6.803632652e-04f, -6.856506570e-04f,
+-6.909365999e-04f, -6.962210846e-04f, -7.015041023e-04f, -7.067856439e-04f, -7.120657002e-04f, -7.173442622e-04f, -7.226213210e-04f, -7.278968674e-04f, -7.331708923e-04f, -7.384433869e-04f,
+-7.437143420e-04f, -7.489837486e-04f, -7.542515976e-04f, -7.595178801e-04f, -7.647825870e-04f, -7.700457093e-04f, -7.753072380e-04f, -7.805671641e-04f, -7.858254785e-04f, -7.910821723e-04f,
+-7.963372364e-04f, -8.015906619e-04f, -8.068424397e-04f, -8.120925609e-04f, -8.173410165e-04f, -8.225877974e-04f, -8.278328948e-04f, -8.330762995e-04f, -8.383180027e-04f, -8.435579954e-04f,
+-8.487962685e-04f, -8.540328132e-04f, -8.592676205e-04f, -8.645006814e-04f, -8.697319869e-04f, -8.749615281e-04f, -8.801892961e-04f, -8.854152818e-04f, -8.906394765e-04f, -8.958618710e-04f,
+-9.010824565e-04f, -9.063012241e-04f, -9.115181648e-04f, -9.167332698e-04f, -9.219465300e-04f, -9.271579365e-04f, -9.323674805e-04f, -9.375751531e-04f, -9.427809453e-04f, -9.479848482e-04f,
+-9.531868530e-04f, -9.583869506e-04f, -9.635851324e-04f, -9.687813893e-04f, -9.739757124e-04f, -9.791680930e-04f, -9.843585221e-04f, -9.895469908e-04f, -9.947334903e-04f, -9.999180117e-04f,
+-1.005100546e-03f, -1.010281085e-03f, -1.015459619e-03f, -1.020636139e-03f, -1.025810638e-03f, -1.030983104e-03f, -1.036153531e-03f, -1.041321909e-03f, -1.046488230e-03f, -1.051652484e-03f,
+-1.056814662e-03f, -1.061974756e-03f, -1.067132758e-03f, -1.072288657e-03f, -1.077442446e-03f, -1.082594116e-03f, -1.087743657e-03f, -1.092891062e-03f, -1.098036320e-03f, -1.103179425e-03f,
+-1.108320365e-03f, -1.113459134e-03f, -1.118595722e-03f, -1.123730120e-03f, -1.128862320e-03f, -1.133992312e-03f, -1.139120089e-03f, -1.144245641e-03f, -1.149368959e-03f, -1.154490036e-03f,
+-1.159608861e-03f, -1.164725427e-03f, -1.169839725e-03f, -1.174951745e-03f, -1.180061479e-03f, -1.185168919e-03f, -1.190274056e-03f, -1.195376881e-03f, -1.200477385e-03f, -1.205575560e-03f,
+-1.210671397e-03f, -1.215764887e-03f, -1.220856021e-03f, -1.225944792e-03f, -1.231031190e-03f, -1.236115206e-03f, -1.241196832e-03f, -1.246276059e-03f, -1.251352879e-03f, -1.256427283e-03f,
+-1.261499262e-03f, -1.266568808e-03f, -1.271635912e-03f, -1.276700565e-03f, -1.281762759e-03f, -1.286822484e-03f, -1.291879734e-03f, -1.296934498e-03f, -1.301986768e-03f, -1.307036536e-03f,
+-1.312083793e-03f, -1.317128531e-03f, -1.322170740e-03f, -1.327210413e-03f, -1.332247540e-03f, -1.337282114e-03f, -1.342314124e-03f, -1.347343564e-03f, -1.352370424e-03f, -1.357394697e-03f,
+-1.362416372e-03f, -1.367435442e-03f, -1.372451898e-03f, -1.377465732e-03f, -1.382476935e-03f, -1.387485499e-03f, -1.392491414e-03f, -1.397494673e-03f, -1.402495268e-03f, -1.407493188e-03f,
+-1.412488427e-03f, -1.417480975e-03f, -1.422470825e-03f, -1.427457967e-03f, -1.432442392e-03f, -1.437424094e-03f, -1.442403062e-03f, -1.447379290e-03f, -1.452352767e-03f, -1.457323486e-03f,
+-1.462291438e-03f, -1.467256615e-03f, -1.472219009e-03f, -1.477178610e-03f, -1.482135411e-03f, -1.487089403e-03f, -1.492040578e-03f, -1.496988927e-03f, -1.501934442e-03f, -1.506877114e-03f,
+-1.511816935e-03f, -1.516753897e-03f, -1.521687991e-03f, -1.526619209e-03f, -1.531547542e-03f, -1.536472982e-03f, -1.541395522e-03f, -1.546315151e-03f, -1.551231863e-03f, -1.556145648e-03f,
+-1.561056499e-03f, -1.565964406e-03f, -1.570869362e-03f, -1.575771359e-03f, -1.580670387e-03f, -1.585566440e-03f, -1.590459507e-03f, -1.595349582e-03f, -1.600236655e-03f, -1.605120719e-03f,
+-1.610001765e-03f, -1.614879785e-03f, -1.619754770e-03f, -1.624626713e-03f, -1.629495605e-03f, -1.634361438e-03f, -1.639224203e-03f, -1.644083893e-03f, -1.648940498e-03f, -1.653794012e-03f,
+-1.658644425e-03f, -1.663491729e-03f, -1.668335917e-03f, -1.673176979e-03f, -1.678014908e-03f, -1.682849696e-03f, -1.687681334e-03f, -1.692509814e-03f, -1.697335128e-03f, -1.702157267e-03f,
+-1.706976224e-03f, -1.711791991e-03f, -1.716604559e-03f, -1.721413920e-03f, -1.726220066e-03f, -1.731022989e-03f, -1.735822680e-03f, -1.740619132e-03f, -1.745412336e-03f, -1.750202284e-03f,
+-1.754988969e-03f, -1.759772382e-03f, -1.764552514e-03f, -1.769329359e-03f, -1.774102907e-03f, -1.778873151e-03f, -1.783640082e-03f, -1.788403693e-03f, -1.793163975e-03f, -1.797920921e-03f,
+-1.802674522e-03f, -1.807424771e-03f, -1.812171658e-03f, -1.816915177e-03f, -1.821655319e-03f, -1.826392076e-03f, -1.831125440e-03f, -1.835855404e-03f, -1.840581958e-03f, -1.845305096e-03f,
+-1.850024809e-03f, -1.854741089e-03f, -1.859453928e-03f, -1.864163318e-03f, -1.868869252e-03f, -1.873571720e-03f, -1.878270717e-03f, -1.882966232e-03f, -1.887658259e-03f, -1.892346789e-03f,
+-1.897031815e-03f, -1.901713329e-03f, -1.906391322e-03f, -1.911065787e-03f, -1.915736716e-03f, -1.920404101e-03f, -1.925067935e-03f, -1.929728208e-03f, -1.934384914e-03f, -1.939038044e-03f,
+-1.943687591e-03f, -1.948333547e-03f, -1.952975904e-03f, -1.957614654e-03f, -1.962249789e-03f, -1.966881301e-03f, -1.971509183e-03f, -1.976133427e-03f, -1.980754025e-03f, -1.985370969e-03f,
+-1.989984252e-03f, -1.994593865e-03f, -1.999199800e-03f, -2.003802051e-03f, -2.008400609e-03f, -2.012995467e-03f, -2.017586616e-03f, -2.022174050e-03f, -2.026757759e-03f, -2.031337737e-03f,
+-2.035913976e-03f, -2.040486468e-03f, -2.045055206e-03f, -2.049620181e-03f, -2.054181386e-03f, -2.058738813e-03f, -2.063292455e-03f, -2.067842303e-03f, -2.072388351e-03f, -2.076930590e-03f,
+-2.081469014e-03f, -2.086003613e-03f, -2.090534381e-03f, -2.095061310e-03f, -2.099584393e-03f, -2.104103621e-03f, -2.108618987e-03f, -2.113130483e-03f, -2.117638103e-03f, -2.122141838e-03f,
+-2.126641680e-03f, -2.131137622e-03f, -2.135629657e-03f, -2.140117777e-03f, -2.144601975e-03f, -2.149082242e-03f, -2.153558571e-03f, -2.158030955e-03f, -2.162499387e-03f, -2.166963858e-03f,
+-2.171424361e-03f, -2.175880889e-03f, -2.180333434e-03f, -2.184781989e-03f, -2.189226546e-03f, -2.193667098e-03f, -2.198103637e-03f, -2.202536155e-03f, -2.206964646e-03f, -2.211389102e-03f,
+-2.215809515e-03f, -2.220225879e-03f, -2.224638184e-03f, -2.229046425e-03f, -2.233450594e-03f, -2.237850682e-03f, -2.242246684e-03f, -2.246638591e-03f, -2.251026397e-03f, -2.255410093e-03f,
+-2.259789672e-03f, -2.264165127e-03f, -2.268536452e-03f, -2.272903637e-03f, -2.277266676e-03f, -2.281625562e-03f, -2.285980287e-03f, -2.290330845e-03f, -2.294677226e-03f, -2.299019426e-03f,
+-2.303357435e-03f, -2.307691247e-03f, -2.312020855e-03f, -2.316346251e-03f, -2.320667428e-03f, -2.324984378e-03f, -2.329297095e-03f, -2.333605571e-03f, -2.337909800e-03f, -2.342209772e-03f,
+-2.346505483e-03f, -2.350796924e-03f, -2.355084088e-03f, -2.359366968e-03f, -2.363645556e-03f, -2.367919847e-03f, -2.372189831e-03f, -2.376455503e-03f, -2.380716855e-03f, -2.384973880e-03f,
+-2.389226571e-03f, -2.393474920e-03f, -2.397718921e-03f, -2.401958566e-03f, -2.406193849e-03f, -2.410424761e-03f, -2.414651297e-03f, -2.418873449e-03f, -2.423091210e-03f, -2.427304573e-03f,
+-2.431513530e-03f, -2.435718076e-03f, -2.439918202e-03f, -2.444113901e-03f, -2.448305168e-03f, -2.452491994e-03f, -2.456674372e-03f, -2.460852296e-03f, -2.465025759e-03f, -2.469194754e-03f,
+-2.473359273e-03f, -2.477519309e-03f, -2.481674857e-03f, -2.485825908e-03f, -2.489972456e-03f, -2.494114494e-03f, -2.498252014e-03f, -2.502385011e-03f, -2.506513477e-03f, -2.510637405e-03f,
+-2.514756788e-03f, -2.518871620e-03f, -2.522981893e-03f, -2.527087601e-03f, -2.531188736e-03f, -2.535285293e-03f, -2.539377263e-03f, -2.543464641e-03f, -2.547547419e-03f, -2.551625590e-03f,
+-2.555699149e-03f, -2.559768087e-03f, -2.563832398e-03f, -2.567892076e-03f, -2.571947113e-03f, -2.575997503e-03f, -2.580043239e-03f, -2.584084314e-03f, -2.588120722e-03f, -2.592152455e-03f,
+-2.596179508e-03f, -2.600201872e-03f, -2.604219542e-03f, -2.608232512e-03f, -2.612240773e-03f, -2.616244320e-03f, -2.620243145e-03f, -2.624237243e-03f, -2.628226606e-03f, -2.632211228e-03f,
+-2.636191102e-03f, -2.640166221e-03f, -2.644136580e-03f, -2.648102170e-03f, -2.652062986e-03f, -2.656019022e-03f, -2.659970269e-03f, -2.663916723e-03f, -2.667858375e-03f, -2.671795221e-03f,
+-2.675727252e-03f, -2.679654463e-03f, -2.683576848e-03f, -2.687494398e-03f, -2.691407109e-03f, -2.695314973e-03f, -2.699217984e-03f, -2.703116135e-03f, -2.707009420e-03f, -2.710897833e-03f,
+-2.714781366e-03f, -2.718660015e-03f, -2.722533771e-03f, -2.726402628e-03f, -2.730266581e-03f, -2.734125623e-03f, -2.737979747e-03f, -2.741828947e-03f, -2.745673216e-03f, -2.749512548e-03f,
+-2.753346937e-03f, -2.757176376e-03f, -2.761000860e-03f, -2.764820380e-03f, -2.768634932e-03f, -2.772444509e-03f, -2.776249105e-03f, -2.780048712e-03f, -2.783843326e-03f, -2.787632939e-03f,
+-2.791417545e-03f, -2.795197139e-03f, -2.798971713e-03f, -2.802741261e-03f, -2.806505778e-03f, -2.810265257e-03f, -2.814019691e-03f, -2.817769075e-03f, -2.821513402e-03f, -2.825252666e-03f,
+-2.828986861e-03f, -2.832715980e-03f, -2.836440018e-03f, -2.840158968e-03f, -2.843872824e-03f, -2.847581580e-03f, -2.851285230e-03f, -2.854983767e-03f, -2.858677186e-03f, -2.862365480e-03f,
+-2.866048643e-03f, -2.869726670e-03f, -2.873399553e-03f, -2.877067287e-03f, -2.880729866e-03f, -2.884387284e-03f, -2.888039535e-03f, -2.891686612e-03f, -2.895328510e-03f, -2.898965222e-03f,
+-2.902596743e-03f, -2.906223066e-03f, -2.909844186e-03f, -2.913460096e-03f, -2.917070791e-03f, -2.920676265e-03f, -2.924276511e-03f, -2.927871523e-03f, -2.931461297e-03f, -2.935045825e-03f,
+-2.938625102e-03f, -2.942199121e-03f, -2.945767878e-03f, -2.949331366e-03f, -2.952889578e-03f, -2.956442511e-03f, -2.959990156e-03f, -2.963532509e-03f, -2.967069564e-03f, -2.970601314e-03f,
+-2.974127755e-03f, -2.977648879e-03f, -2.981164682e-03f, -2.984675158e-03f, -2.988180300e-03f, -2.991680103e-03f, -2.995174561e-03f, -2.998663669e-03f, -3.002147420e-03f, -3.005625810e-03f,
+-3.009098831e-03f, -3.012566479e-03f, -3.016028747e-03f, -3.019485630e-03f, -3.022937123e-03f, -3.026383219e-03f, -3.029823913e-03f, -3.033259199e-03f, -3.036689071e-03f, -3.040113525e-03f,
+-3.043532554e-03f, -3.046946152e-03f, -3.050354314e-03f, -3.053757035e-03f, -3.057154308e-03f, -3.060546129e-03f, -3.063932491e-03f, -3.067313388e-03f, -3.070688817e-03f, -3.074058770e-03f,
+-3.077423242e-03f, -3.080782229e-03f, -3.084135723e-03f, -3.087483720e-03f, -3.090826214e-03f, -3.094163200e-03f, -3.097494672e-03f, -3.100820625e-03f, -3.104141053e-03f, -3.107455951e-03f,
+-3.110765313e-03f, -3.114069134e-03f, -3.117367409e-03f, -3.120660131e-03f, -3.123947296e-03f, -3.127228898e-03f, -3.130504932e-03f, -3.133775393e-03f, -3.137040274e-03f, -3.140299572e-03f,
+-3.143553279e-03f, -3.146801392e-03f, -3.150043904e-03f, -3.153280811e-03f, -3.156512106e-03f, -3.159737786e-03f, -3.162957843e-03f, -3.166172274e-03f, -3.169381073e-03f, -3.172584234e-03f,
+-3.175781753e-03f, -3.178973624e-03f, -3.182159842e-03f, -3.185340401e-03f, -3.188515297e-03f, -3.191684524e-03f, -3.194848077e-03f, -3.198005951e-03f, -3.201158140e-03f, -3.204304640e-03f,
+-3.207445446e-03f, -3.210580551e-03f, -3.213709952e-03f, -3.216833643e-03f, -3.219951619e-03f, -3.223063874e-03f, -3.226170404e-03f, -3.229271204e-03f, -3.232366268e-03f, -3.235455591e-03f,
+-3.238539169e-03f, -3.241616996e-03f, -3.244689068e-03f, -3.247755379e-03f, -3.250815924e-03f, -3.253870699e-03f, -3.256919697e-03f, -3.259962915e-03f, -3.263000348e-03f, -3.266031990e-03f,
+-3.269057836e-03f, -3.272077882e-03f, -3.275092122e-03f, -3.278100552e-03f, -3.281103167e-03f, -3.284099961e-03f, -3.287090931e-03f, -3.290076070e-03f, -3.293055375e-03f, -3.296028840e-03f,
+-3.298996461e-03f, -3.301958232e-03f, -3.304914149e-03f, -3.307864207e-03f, -3.310808401e-03f, -3.313746727e-03f, -3.316679180e-03f, -3.319605754e-03f, -3.322526445e-03f, -3.325441249e-03f,
+-3.328350161e-03f, -3.331253175e-03f, -3.334150287e-03f, -3.337041493e-03f, -3.339926788e-03f, -3.342806166e-03f, -3.345679624e-03f, -3.348547157e-03f, -3.351408760e-03f, -3.354264428e-03f,
+-3.357114157e-03f, -3.359957942e-03f, -3.362795778e-03f, -3.365627662e-03f, -3.368453588e-03f, -3.371273551e-03f, -3.374087548e-03f, -3.376895573e-03f, -3.379697622e-03f, -3.382493691e-03f,
+-3.385283774e-03f, -3.388067868e-03f, -3.390845968e-03f, -3.393618070e-03f, -3.396384168e-03f, -3.399144259e-03f, -3.401898338e-03f, -3.404646400e-03f, -3.407388441e-03f, -3.410124457e-03f,
+-3.412854443e-03f, -3.415578395e-03f, -3.418296309e-03f, -3.421008179e-03f, -3.423714002e-03f, -3.426413773e-03f, -3.429107488e-03f, -3.431795143e-03f, -3.434476732e-03f, -3.437152253e-03f,
+-3.439821700e-03f, -3.442485069e-03f, -3.445142356e-03f, -3.447793557e-03f, -3.450438667e-03f, -3.453077683e-03f, -3.455710599e-03f, -3.458337411e-03f, -3.460958116e-03f, -3.463572709e-03f,
+-3.466181186e-03f, -3.468783543e-03f, -3.471379775e-03f, -3.473969879e-03f, -3.476553850e-03f, -3.479131683e-03f, -3.481703376e-03f, -3.484268923e-03f, -3.486828321e-03f, -3.489381566e-03f,
+-3.491928652e-03f, -3.494469577e-03f, -3.497004337e-03f, -3.499532926e-03f, -3.502055341e-03f, -3.504571579e-03f, -3.507081634e-03f, -3.509585504e-03f, -3.512083183e-03f, -3.514574668e-03f,
+-3.517059955e-03f, -3.519539041e-03f, -3.522011920e-03f, -3.524478589e-03f, -3.526939044e-03f, -3.529393281e-03f, -3.531841296e-03f, -3.534283086e-03f, -3.536718646e-03f, -3.539147973e-03f,
+-3.541571062e-03f, -3.543987909e-03f, -3.546398512e-03f, -3.548802865e-03f, -3.551200966e-03f, -3.553592810e-03f, -3.555978394e-03f, -3.558357713e-03f, -3.560730764e-03f, -3.563097543e-03f,
+-3.565458046e-03f, -3.567812270e-03f, -3.570160211e-03f, -3.572501864e-03f, -3.574837228e-03f, -3.577166296e-03f, -3.579489067e-03f, -3.581805536e-03f, -3.584115699e-03f, -3.586419553e-03f,
+-3.588717094e-03f, -3.591008319e-03f, -3.593293223e-03f, -3.595571804e-03f, -3.597844057e-03f, -3.600109980e-03f, -3.602369567e-03f, -3.604622817e-03f, -3.606869725e-03f, -3.609110287e-03f,
+-3.611344501e-03f, -3.613572362e-03f, -3.615793867e-03f, -3.618009012e-03f, -3.620217795e-03f, -3.622420211e-03f, -3.624616257e-03f, -3.626805930e-03f, -3.628989226e-03f, -3.631166141e-03f,
+-3.633336673e-03f, -3.635500817e-03f, -3.637658570e-03f, -3.639809930e-03f, -3.641954892e-03f, -3.644093453e-03f, -3.646225610e-03f, -3.648351359e-03f, -3.650470697e-03f, -3.652583621e-03f,
+-3.654690128e-03f, -3.656790213e-03f, -3.658883874e-03f, -3.660971108e-03f, -3.663051911e-03f, -3.665126279e-03f, -3.667194210e-03f, -3.669255701e-03f, -3.671310748e-03f, -3.673359347e-03f,
+-3.675401496e-03f, -3.677437192e-03f, -3.679466431e-03f, -3.681489210e-03f, -3.683505526e-03f, -3.685515376e-03f, -3.687518756e-03f, -3.689515664e-03f, -3.691506096e-03f, -3.693490049e-03f,
+-3.695467521e-03f, -3.697438507e-03f, -3.699403006e-03f, -3.701361013e-03f, -3.703312526e-03f, -3.705257542e-03f, -3.707196058e-03f, -3.709128070e-03f, -3.711053576e-03f, -3.712972573e-03f,
+-3.714885057e-03f, -3.716791027e-03f, -3.718690477e-03f, -3.720583407e-03f, -3.722469813e-03f, -3.724349691e-03f, -3.726223040e-03f, -3.728089855e-03f, -3.729950135e-03f, -3.731803876e-03f,
+-3.733651075e-03f, -3.735491730e-03f, -3.737325838e-03f, -3.739153396e-03f, -3.740974400e-03f, -3.742788849e-03f, -3.744596739e-03f, -3.746398068e-03f, -3.748192833e-03f, -3.749981030e-03f,
+-3.751762658e-03f, -3.753537714e-03f, -3.755306194e-03f, -3.757068096e-03f, -3.758823418e-03f, -3.760572156e-03f, -3.762314309e-03f, -3.764049872e-03f, -3.765778845e-03f, -3.767501223e-03f,
+-3.769217004e-03f, -3.770926186e-03f, -3.772628766e-03f, -3.774324742e-03f, -3.776014110e-03f, -3.777696869e-03f, -3.779373015e-03f, -3.781042547e-03f, -3.782705461e-03f, -3.784361755e-03f,
+-3.786011426e-03f, -3.787654473e-03f, -3.789290891e-03f, -3.790920680e-03f, -3.792543836e-03f, -3.794160358e-03f, -3.795770241e-03f, -3.797373485e-03f, -3.798970087e-03f, -3.800560043e-03f,
+-3.802143353e-03f, -3.803720013e-03f, -3.805290021e-03f, -3.806853374e-03f, -3.808410071e-03f, -3.809960109e-03f, -3.811503485e-03f, -3.813040197e-03f, -3.814570243e-03f, -3.816093621e-03f,
+-3.817610328e-03f, -3.819120363e-03f, -3.820623721e-03f, -3.822120403e-03f, -3.823610404e-03f, -3.825093724e-03f, -3.826570359e-03f, -3.828040308e-03f, -3.829503568e-03f, -3.830960137e-03f,
+-3.832410013e-03f, -3.833853194e-03f, -3.835289677e-03f, -3.836719461e-03f, -3.838142543e-03f, -3.839558922e-03f, -3.840968594e-03f, -3.842371559e-03f, -3.843767813e-03f, -3.845157356e-03f,
+-3.846540183e-03f, -3.847916295e-03f, -3.849285688e-03f, -3.850648361e-03f, -3.852004312e-03f, -3.853353538e-03f, -3.854696038e-03f, -3.856031809e-03f, -3.857360850e-03f, -3.858683159e-03f,
+-3.859998733e-03f, -3.861307572e-03f, -3.862609672e-03f, -3.863905032e-03f, -3.865193650e-03f, -3.866475525e-03f, -3.867750653e-03f, -3.869019034e-03f, -3.870280666e-03f, -3.871535546e-03f,
+-3.872783674e-03f, -3.874025046e-03f, -3.875259662e-03f, -3.876487519e-03f, -3.877708616e-03f, -3.878922950e-03f, -3.880130521e-03f, -3.881331327e-03f, -3.882525365e-03f, -3.883712634e-03f,
+-3.884893132e-03f, -3.886066858e-03f, -3.887233810e-03f, -3.888393985e-03f, -3.889547384e-03f, -3.890694003e-03f, -3.891833841e-03f, -3.892966897e-03f, -3.894093169e-03f, -3.895212655e-03f,
+-3.896325355e-03f, -3.897431265e-03f, -3.898530385e-03f, -3.899622712e-03f, -3.900708247e-03f, -3.901786986e-03f, -3.902858929e-03f, -3.903924074e-03f, -3.904982419e-03f, -3.906033963e-03f,
+-3.907078705e-03f, -3.908116642e-03f, -3.909147774e-03f, -3.910172099e-03f, -3.911189616e-03f, -3.912200323e-03f, -3.913204219e-03f, -3.914201303e-03f, -3.915191572e-03f, -3.916175026e-03f,
+-3.917151664e-03f, -3.918121483e-03f, -3.919084484e-03f, -3.920040663e-03f, -3.920990021e-03f, -3.921932555e-03f, -3.922868265e-03f, -3.923797149e-03f, -3.924719205e-03f, -3.925634434e-03f,
+-3.926542833e-03f, -3.927444401e-03f, -3.928339137e-03f, -3.929227039e-03f, -3.930108108e-03f, -3.930982341e-03f, -3.931849736e-03f, -3.932710294e-03f, -3.933564013e-03f, -3.934410892e-03f,
+-3.935250929e-03f, -3.936084124e-03f, -3.936910476e-03f, -3.937729983e-03f, -3.938542644e-03f, -3.939348458e-03f, -3.940147424e-03f, -3.940939542e-03f, -3.941724810e-03f, -3.942503227e-03f,
+-3.943274791e-03f, -3.944039504e-03f, -3.944797362e-03f, -3.945548365e-03f, -3.946292513e-03f, -3.947029804e-03f, -3.947760237e-03f, -3.948483811e-03f, -3.949200526e-03f, -3.949910381e-03f,
+-3.950613375e-03f, -3.951309506e-03f, -3.951998774e-03f, -3.952681179e-03f, -3.953356719e-03f, -3.954025393e-03f, -3.954687201e-03f, -3.955342142e-03f, -3.955990215e-03f, -3.956631419e-03f,
+-3.957265754e-03f, -3.957893219e-03f, -3.958513813e-03f, -3.959127535e-03f, -3.959734384e-03f, -3.960334361e-03f, -3.960927464e-03f, -3.961513692e-03f, -3.962093045e-03f, -3.962665523e-03f,
+-3.963231124e-03f, -3.963789848e-03f, -3.964341694e-03f, -3.964886662e-03f, -3.965424751e-03f, -3.965955961e-03f, -3.966480290e-03f, -3.966997739e-03f, -3.967508307e-03f, -3.968011993e-03f,
+-3.968508797e-03f, -3.968998718e-03f, -3.969481756e-03f, -3.969957910e-03f, -3.970427180e-03f, -3.970889565e-03f, -3.971345065e-03f, -3.971793680e-03f, -3.972235408e-03f, -3.972670251e-03f,
+-3.973098206e-03f, -3.973519274e-03f, -3.973933454e-03f, -3.974340747e-03f, -3.974741151e-03f, -3.975134666e-03f, -3.975521293e-03f, -3.975901030e-03f, -3.976273877e-03f, -3.976639835e-03f,
+-3.976998902e-03f, -3.977351078e-03f, -3.977696364e-03f, -3.978034759e-03f, -3.978366263e-03f, -3.978690875e-03f, -3.979008595e-03f, -3.979319424e-03f, -3.979623360e-03f, -3.979920404e-03f,
+-3.980210555e-03f, -3.980493814e-03f, -3.980770181e-03f, -3.981039654e-03f, -3.981302234e-03f, -3.981557921e-03f, -3.981806715e-03f, -3.982048616e-03f, -3.982283623e-03f, -3.982511737e-03f,
+-3.982732957e-03f, -3.982947284e-03f, -3.983154717e-03f, -3.983355257e-03f, -3.983548903e-03f, -3.983735655e-03f, -3.983915514e-03f, -3.984088480e-03f, -3.984254552e-03f, -3.984413730e-03f,
+-3.984566015e-03f, -3.984711407e-03f, -3.984849906e-03f, -3.984981512e-03f, -3.985106225e-03f, -3.985224045e-03f, -3.985334973e-03f, -3.985439008e-03f, -3.985536150e-03f, -3.985626401e-03f,
+-3.985709759e-03f, -3.985786226e-03f, -3.985855801e-03f, -3.985918485e-03f, -3.985974278e-03f, -3.986023179e-03f, -3.986065191e-03f, -3.986100312e-03f, -3.986128543e-03f, -3.986149884e-03f,
+-3.986164335e-03f, -3.986171898e-03f, -3.986172572e-03f, -3.986166357e-03f, -3.986153255e-03f, -3.986133264e-03f, -3.986106387e-03f, -3.986072622e-03f, -3.986031971e-03f, -3.985984434e-03f,
+-3.985930011e-03f, -3.985868703e-03f, -3.985800510e-03f, -3.985725432e-03f, -3.985643471e-03f, -3.985554626e-03f, -3.985458899e-03f, -3.985356289e-03f, -3.985246797e-03f, -3.985130424e-03f,
+-3.985007170e-03f, -3.984877036e-03f, -3.984740023e-03f, -3.984596130e-03f, -3.984445359e-03f, -3.984287710e-03f, -3.984123183e-03f, -3.983951780e-03f, -3.983773502e-03f, -3.983588347e-03f,
+-3.983396318e-03f, -3.983197416e-03f, -3.982991639e-03f, -3.982778991e-03f, -3.982559470e-03f, -3.982333078e-03f, -3.982099816e-03f, -3.981859684e-03f, -3.981612683e-03f, -3.981358814e-03f,
+-3.981098077e-03f, -3.980830474e-03f, -3.980556006e-03f, -3.980274672e-03f, -3.979986474e-03f, -3.979691413e-03f, -3.979389490e-03f, -3.979080704e-03f, -3.978765059e-03f, -3.978442553e-03f,
+-3.978113189e-03f, -3.977776966e-03f, -3.977433887e-03f, -3.977083951e-03f, -3.976727160e-03f, -3.976363515e-03f, -3.975993017e-03f, -3.975615667e-03f, -3.975231465e-03f, -3.974840413e-03f,
+-3.974442512e-03f, -3.974037762e-03f, -3.973626166e-03f, -3.973207723e-03f, -3.972782435e-03f, -3.972350303e-03f, -3.971911329e-03f, -3.971465512e-03f, -3.971012855e-03f, -3.970553359e-03f,
+-3.970087024e-03f, -3.969613851e-03f, -3.969133843e-03f, -3.968647000e-03f, -3.968153323e-03f, -3.967652813e-03f, -3.967145472e-03f, -3.966631301e-03f, -3.966110302e-03f, -3.965582474e-03f,
+-3.965047820e-03f, -3.964506341e-03f, -3.963958038e-03f, -3.963402913e-03f, -3.962840966e-03f, -3.962272200e-03f, -3.961696614e-03f, -3.961114212e-03f, -3.960524993e-03f, -3.959928960e-03f,
+-3.959326114e-03f, -3.958716456e-03f, -3.958099987e-03f, -3.957476710e-03f, -3.956846625e-03f, -3.956209734e-03f, -3.955566038e-03f, -3.954915538e-03f, -3.954258237e-03f, -3.953594136e-03f,
+-3.952923236e-03f, -3.952245538e-03f, -3.951561044e-03f, -3.950869757e-03f, -3.950171676e-03f, -3.949466804e-03f, -3.948755143e-03f, -3.948036693e-03f, -3.947311457e-03f, -3.946579436e-03f,
+-3.945840632e-03f, -3.945095046e-03f, -3.944342680e-03f, -3.943583535e-03f, -3.942817614e-03f, -3.942044917e-03f, -3.941265448e-03f, -3.940479206e-03f, -3.939686194e-03f, -3.938886414e-03f,
+-3.938079867e-03f, -3.937266556e-03f, -3.936446481e-03f, -3.935619645e-03f, -3.934786049e-03f, -3.933945695e-03f, -3.933098585e-03f, -3.932244721e-03f, -3.931384105e-03f, -3.930516738e-03f,
+-3.929642622e-03f, -3.928761759e-03f, -3.927874151e-03f, -3.926979800e-03f, -3.926078708e-03f, -3.925170876e-03f, -3.924256306e-03f, -3.923335001e-03f, -3.922406963e-03f, -3.921472192e-03f,
+-3.920530692e-03f, -3.919582464e-03f, -3.918627510e-03f, -3.917665833e-03f, -3.916697433e-03f, -3.915722314e-03f, -3.914740477e-03f, -3.913751924e-03f, -3.912756657e-03f, -3.911754678e-03f,
+-3.910745990e-03f, -3.909730595e-03f, -3.908708494e-03f, -3.907679689e-03f, -3.906644184e-03f, -3.905601979e-03f, -3.904553077e-03f, -3.903497481e-03f, -3.902435192e-03f, -3.901366212e-03f,
+-3.900290544e-03f, -3.899208190e-03f, -3.898119152e-03f, -3.897023432e-03f, -3.895921033e-03f, -3.894811956e-03f, -3.893696205e-03f, -3.892573781e-03f, -3.891444686e-03f, -3.890308923e-03f,
+-3.889166495e-03f, -3.888017403e-03f, -3.886861649e-03f, -3.885699237e-03f, -3.884530168e-03f, -3.883354445e-03f, -3.882172070e-03f, -3.880983046e-03f, -3.879787375e-03f, -3.878585058e-03f,
+-3.877376100e-03f, -3.876160502e-03f, -3.874938266e-03f, -3.873709396e-03f, -3.872473893e-03f, -3.871231760e-03f, -3.869982999e-03f, -3.868727613e-03f, -3.867465605e-03f, -3.866196976e-03f,
+-3.864921730e-03f, -3.863639869e-03f, -3.862351396e-03f, -3.861056313e-03f, -3.859754622e-03f, -3.858446327e-03f, -3.857131429e-03f, -3.855809932e-03f, -3.854481838e-03f, -3.853147150e-03f,
+-3.851805870e-03f, -3.850458001e-03f, -3.849103546e-03f, -3.847742507e-03f, -3.846374887e-03f, -3.845000688e-03f, -3.843619914e-03f, -3.842232567e-03f, -3.840838650e-03f, -3.839438166e-03f,
+-3.838031116e-03f, -3.836617505e-03f, -3.835197335e-03f, -3.833770608e-03f, -3.832337328e-03f, -3.830897497e-03f, -3.829451118e-03f, -3.827998194e-03f, -3.826538727e-03f, -3.825072722e-03f,
+-3.823600179e-03f, -3.822121103e-03f, -3.820635496e-03f, -3.819143361e-03f, -3.817644701e-03f, -3.816139519e-03f, -3.814627818e-03f, -3.813109601e-03f, -3.811584870e-03f, -3.810053629e-03f,
+-3.808515881e-03f, -3.806971628e-03f, -3.805420874e-03f, -3.803863621e-03f, -3.802299873e-03f, -3.800729633e-03f, -3.799152904e-03f, -3.797569688e-03f, -3.795979989e-03f, -3.794383810e-03f,
+-3.792781154e-03f, -3.791172024e-03f, -3.789556423e-03f, -3.787934354e-03f, -3.786305821e-03f, -3.784670827e-03f, -3.783029374e-03f, -3.781381466e-03f, -3.779727106e-03f, -3.778066297e-03f,
+-3.776399043e-03f, -3.774725346e-03f, -3.773045211e-03f, -3.771358639e-03f, -3.769665634e-03f, -3.767966200e-03f, -3.766260340e-03f, -3.764548057e-03f, -3.762829355e-03f, -3.761104236e-03f,
+-3.759372703e-03f, -3.757634762e-03f, -3.755890413e-03f, -3.754139662e-03f, -3.752382511e-03f, -3.750618963e-03f, -3.748849023e-03f, -3.747072693e-03f, -3.745289977e-03f, -3.743500877e-03f,
+-3.741705399e-03f, -3.739903544e-03f, -3.738095317e-03f, -3.736280721e-03f, -3.734459759e-03f, -3.732632435e-03f, -3.730798752e-03f, -3.728958714e-03f, -3.727112324e-03f, -3.725259586e-03f,
+-3.723400503e-03f, -3.721535079e-03f, -3.719663317e-03f, -3.717785222e-03f, -3.715900795e-03f, -3.714010042e-03f, -3.712112966e-03f, -3.710209569e-03f, -3.708299857e-03f, -3.706383832e-03f,
+-3.704461498e-03f, -3.702532859e-03f, -3.700597918e-03f, -3.698656679e-03f, -3.696709146e-03f, -3.694755322e-03f, -3.692795211e-03f, -3.690828817e-03f, -3.688856144e-03f, -3.686877194e-03f,
+-3.684891973e-03f, -3.682900484e-03f, -3.680902729e-03f, -3.678898714e-03f, -3.676888442e-03f, -3.674871917e-03f, -3.672849143e-03f, -3.670820122e-03f, -3.668784860e-03f, -3.666743360e-03f,
+-3.664695626e-03f, -3.662641662e-03f, -3.660581471e-03f, -3.658515057e-03f, -3.656442425e-03f, -3.654363578e-03f, -3.652278521e-03f, -3.650187256e-03f, -3.648089788e-03f, -3.645986122e-03f,
+-3.643876260e-03f, -3.641760207e-03f, -3.639637966e-03f, -3.637509543e-03f, -3.635374940e-03f, -3.633234162e-03f, -3.631087212e-03f, -3.628934096e-03f, -3.626774816e-03f, -3.624609377e-03f,
+-3.622437783e-03f, -3.620260038e-03f, -3.618076146e-03f, -3.615886111e-03f, -3.613689938e-03f, -3.611487629e-03f, -3.609279190e-03f, -3.607064625e-03f, -3.604843937e-03f, -3.602617131e-03f,
+-3.600384211e-03f, -3.598145181e-03f, -3.595900046e-03f, -3.593648809e-03f, -3.591391474e-03f, -3.589128047e-03f, -3.586858531e-03f, -3.584582930e-03f, -3.582301249e-03f, -3.580013491e-03f,
+-3.577719662e-03f, -3.575419765e-03f, -3.573113804e-03f, -3.570801785e-03f, -3.568483710e-03f, -3.566159586e-03f, -3.563829415e-03f, -3.561493202e-03f, -3.559150952e-03f, -3.556802669e-03f,
+-3.554448357e-03f, -3.552088020e-03f, -3.549721664e-03f, -3.547349292e-03f, -3.544970908e-03f, -3.542586518e-03f, -3.540196126e-03f, -3.537799735e-03f, -3.535397351e-03f, -3.532988978e-03f,
+-3.530574621e-03f, -3.528154283e-03f, -3.525727970e-03f, -3.523295685e-03f, -3.520857434e-03f, -3.518413221e-03f, -3.515963050e-03f, -3.513506926e-03f, -3.511044853e-03f, -3.508576837e-03f,
+-3.506102881e-03f, -3.503622990e-03f, -3.501137169e-03f, -3.498645423e-03f, -3.496147755e-03f, -3.493644171e-03f, -3.491134674e-03f, -3.488619271e-03f, -3.486097965e-03f, -3.483570762e-03f,
+-3.481037665e-03f, -3.478498679e-03f, -3.475953810e-03f, -3.473403061e-03f, -3.470846438e-03f, -3.468283945e-03f, -3.465715587e-03f, -3.463141369e-03f, -3.460561295e-03f, -3.457975371e-03f,
+-3.455383600e-03f, -3.452785988e-03f, -3.450182539e-03f, -3.447573259e-03f, -3.444958152e-03f, -3.442337223e-03f, -3.439710476e-03f, -3.437077917e-03f, -3.434439551e-03f, -3.431795381e-03f,
+-3.429145414e-03f, -3.426489654e-03f, -3.423828105e-03f, -3.421160774e-03f, -3.418487664e-03f, -3.415808780e-03f, -3.413124128e-03f, -3.410433712e-03f, -3.407737538e-03f, -3.405035610e-03f,
+-3.402327933e-03f, -3.399614513e-03f, -3.396895353e-03f, -3.394170460e-03f, -3.391439838e-03f, -3.388703492e-03f, -3.385961427e-03f, -3.383213649e-03f, -3.380460161e-03f, -3.377700971e-03f,
+-3.374936081e-03f, -3.372165498e-03f, -3.369389226e-03f, -3.366607271e-03f, -3.363819637e-03f, -3.361026331e-03f, -3.358227356e-03f, -3.355422718e-03f, -3.352612422e-03f, -3.349796474e-03f,
+-3.346974878e-03f, -3.344147639e-03f, -3.341314763e-03f, -3.338476256e-03f, -3.335632121e-03f, -3.332782365e-03f, -3.329926992e-03f, -3.327066008e-03f, -3.324199417e-03f, -3.321327226e-03f,
+-3.318449440e-03f, -3.315566063e-03f, -3.312677101e-03f, -3.309782559e-03f, -3.306882443e-03f, -3.303976758e-03f, -3.301065508e-03f, -3.298148700e-03f, -3.295226339e-03f, -3.292298430e-03f,
+-3.289364978e-03f, -3.286425989e-03f, -3.283481469e-03f, -3.280531421e-03f, -3.277575853e-03f, -3.274614768e-03f, -3.271648173e-03f, -3.268676074e-03f, -3.265698474e-03f, -3.262715381e-03f,
+-3.259726799e-03f, -3.256732733e-03f, -3.253733190e-03f, -3.250728175e-03f, -3.247717692e-03f, -3.244701748e-03f, -3.241680348e-03f, -3.238653498e-03f, -3.235621203e-03f, -3.232583468e-03f,
+-3.229540299e-03f, -3.226491702e-03f, -3.223437682e-03f, -3.220378245e-03f, -3.217313397e-03f, -3.214243142e-03f, -3.211167486e-03f, -3.208086435e-03f, -3.204999996e-03f, -3.201908172e-03f,
+-3.198810970e-03f, -3.195708395e-03f, -3.192600454e-03f, -3.189487151e-03f, -3.186368493e-03f, -3.183244485e-03f, -3.180115132e-03f, -3.176980441e-03f, -3.173840417e-03f, -3.170695065e-03f,
+-3.167544392e-03f, -3.164388403e-03f, -3.161227104e-03f, -3.158060501e-03f, -3.154888599e-03f, -3.151711404e-03f, -3.148528922e-03f, -3.145341158e-03f, -3.142148119e-03f, -3.138949810e-03f,
+-3.135746237e-03f, -3.132537406e-03f, -3.129323323e-03f, -3.126103992e-03f, -3.122879421e-03f, -3.119649615e-03f, -3.116414580e-03f, -3.113174322e-03f, -3.109928846e-03f, -3.106678159e-03f,
+-3.103422266e-03f, -3.100161173e-03f, -3.096894887e-03f, -3.093623412e-03f, -3.090346756e-03f, -3.087064923e-03f, -3.083777920e-03f, -3.080485753e-03f, -3.077188428e-03f, -3.073885950e-03f,
+-3.070578326e-03f, -3.067265561e-03f, -3.063947663e-03f, -3.060624635e-03f, -3.057296485e-03f, -3.053963219e-03f, -3.050624843e-03f, -3.047281362e-03f, -3.043932782e-03f, -3.040579111e-03f,
+-3.037220353e-03f, -3.033856515e-03f, -3.030487603e-03f, -3.027113622e-03f, -3.023734580e-03f, -3.020350482e-03f, -3.016961334e-03f, -3.013567143e-03f, -3.010167914e-03f, -3.006763653e-03f,
+-3.003354368e-03f, -2.999940063e-03f, -2.996520745e-03f, -2.993096420e-03f, -2.989667095e-03f, -2.986232775e-03f, -2.982793467e-03f, -2.979349177e-03f, -2.975899911e-03f, -2.972445675e-03f,
+-2.968986476e-03f, -2.965522320e-03f, -2.962053213e-03f, -2.958579160e-03f, -2.955100170e-03f, -2.951616247e-03f, -2.948127398e-03f, -2.944633629e-03f, -2.941134947e-03f, -2.937631358e-03f,
+-2.934122868e-03f, -2.930609484e-03f, -2.927091211e-03f, -2.923568057e-03f, -2.920040027e-03f, -2.916507127e-03f, -2.912969365e-03f, -2.909426747e-03f, -2.905879278e-03f, -2.902326965e-03f,
+-2.898769815e-03f, -2.895207835e-03f, -2.891641029e-03f, -2.888069406e-03f, -2.884492970e-03f, -2.880911730e-03f, -2.877325690e-03f, -2.873734858e-03f, -2.870139240e-03f, -2.866538842e-03f,
+-2.862933672e-03f, -2.859323734e-03f, -2.855709037e-03f, -2.852089585e-03f, -2.848465387e-03f, -2.844836448e-03f, -2.841202775e-03f, -2.837564374e-03f, -2.833921252e-03f, -2.830273415e-03f,
+-2.826620870e-03f, -2.822963624e-03f, -2.819301683e-03f, -2.815635053e-03f, -2.811963742e-03f, -2.808287755e-03f, -2.804607100e-03f, -2.800921783e-03f, -2.797231810e-03f, -2.793537188e-03f,
+-2.789837925e-03f, -2.786134025e-03f, -2.782425497e-03f, -2.778712346e-03f, -2.774994580e-03f, -2.771272204e-03f, -2.767545226e-03f, -2.763813653e-03f, -2.760077490e-03f, -2.756336746e-03f,
+-2.752591425e-03f, -2.748841536e-03f, -2.745087084e-03f, -2.741328077e-03f, -2.737564521e-03f, -2.733796424e-03f, -2.730023791e-03f, -2.726246629e-03f, -2.722464945e-03f, -2.718678747e-03f,
+-2.714888040e-03f, -2.711092832e-03f, -2.707293129e-03f, -2.703488938e-03f, -2.699680266e-03f, -2.695867120e-03f, -2.692049506e-03f, -2.688227431e-03f, -2.684400903e-03f, -2.680569928e-03f,
+-2.676734512e-03f, -2.672894663e-03f, -2.669050388e-03f, -2.665201693e-03f, -2.661348586e-03f, -2.657491072e-03f, -2.653629160e-03f, -2.649762856e-03f, -2.645892166e-03f, -2.642017099e-03f,
+-2.638137659e-03f, -2.634253856e-03f, -2.630365695e-03f, -2.626473184e-03f, -2.622576328e-03f, -2.618675137e-03f, -2.614769615e-03f, -2.610859771e-03f, -2.606945612e-03f, -2.603027143e-03f,
+-2.599104373e-03f, -2.595177308e-03f, -2.591245955e-03f, -2.587310321e-03f, -2.583370414e-03f, -2.579426240e-03f, -2.575477806e-03f, -2.571525119e-03f, -2.567568187e-03f, -2.563607017e-03f,
+-2.559641615e-03f, -2.555671988e-03f, -2.551698144e-03f, -2.547720090e-03f, -2.543737833e-03f, -2.539751379e-03f, -2.535760737e-03f, -2.531765912e-03f, -2.527766913e-03f, -2.523763746e-03f,
+-2.519756419e-03f, -2.515744938e-03f, -2.511729311e-03f, -2.507709545e-03f, -2.503685647e-03f, -2.499657624e-03f, -2.495625483e-03f, -2.491589232e-03f, -2.487548878e-03f, -2.483504428e-03f,
+-2.479455889e-03f, -2.475403268e-03f, -2.471346572e-03f, -2.467285810e-03f, -2.463220987e-03f, -2.459152111e-03f, -2.455079190e-03f, -2.451002231e-03f, -2.446921240e-03f, -2.442836226e-03f,
+-2.438747195e-03f, -2.434654154e-03f, -2.430557112e-03f, -2.426456075e-03f, -2.422351051e-03f, -2.418242046e-03f, -2.414129068e-03f, -2.410012125e-03f, -2.405891224e-03f, -2.401766372e-03f,
+-2.397637576e-03f, -2.393504843e-03f, -2.389368182e-03f, -2.385227600e-03f, -2.381083103e-03f, -2.376934699e-03f, -2.372782396e-03f, -2.368626200e-03f, -2.364466120e-03f, -2.360302163e-03f,
+-2.356134335e-03f, -2.351962645e-03f, -2.347787100e-03f, -2.343607707e-03f, -2.339424473e-03f, -2.335237407e-03f, -2.331046515e-03f, -2.326851805e-03f, -2.322653284e-03f, -2.318450961e-03f,
+-2.314244841e-03f, -2.310034933e-03f, -2.305821245e-03f, -2.301603783e-03f, -2.297382555e-03f, -2.293157569e-03f, -2.288928832e-03f, -2.284696352e-03f, -2.280460135e-03f, -2.276220191e-03f,
+-2.271976525e-03f, -2.267729146e-03f, -2.263478061e-03f, -2.259223279e-03f, -2.254964805e-03f, -2.250702648e-03f, -2.246436815e-03f, -2.242167315e-03f, -2.237894153e-03f, -2.233617339e-03f,
+-2.229336880e-03f, -2.225052782e-03f, -2.220765055e-03f, -2.216473705e-03f, -2.212178739e-03f, -2.207880167e-03f, -2.203577994e-03f, -2.199272230e-03f, -2.194962880e-03f, -2.190649954e-03f,
+-2.186333459e-03f, -2.182013401e-03f, -2.177689790e-03f, -2.173362632e-03f, -2.169031936e-03f, -2.164697709e-03f, -2.160359958e-03f, -2.156018691e-03f, -2.151673917e-03f, -2.147325642e-03f,
+-2.142973874e-03f, -2.138618621e-03f, -2.134259891e-03f, -2.129897692e-03f, -2.125532030e-03f, -2.121162915e-03f, -2.116790353e-03f, -2.112414352e-03f, -2.108034921e-03f, -2.103652066e-03f,
+-2.099265796e-03f, -2.094876118e-03f, -2.090483040e-03f, -2.086086570e-03f, -2.081686715e-03f, -2.077283484e-03f, -2.072876884e-03f, -2.068466923e-03f, -2.064053609e-03f, -2.059636949e-03f,
+-2.055216951e-03f, -2.050793624e-03f, -2.046366974e-03f, -2.041937010e-03f, -2.037503740e-03f, -2.033067171e-03f, -2.028627311e-03f, -2.024184168e-03f, -2.019737750e-03f, -2.015288065e-03f,
+-2.010835121e-03f, -2.006378925e-03f, -2.001919485e-03f, -1.997456810e-03f, -1.992990906e-03f, -1.988521783e-03f, -1.984049447e-03f, -1.979573907e-03f, -1.975095171e-03f, -1.970613246e-03f,
+-1.966128141e-03f, -1.961639862e-03f, -1.957148420e-03f, -1.952653820e-03f, -1.948156071e-03f, -1.943655182e-03f, -1.939151159e-03f, -1.934644012e-03f, -1.930133747e-03f, -1.925620373e-03f,
+-1.921103897e-03f, -1.916584329e-03f, -1.912061675e-03f, -1.907535944e-03f, -1.903007143e-03f, -1.898475281e-03f, -1.893940366e-03f, -1.889402405e-03f, -1.884861406e-03f, -1.880317379e-03f,
+-1.875770330e-03f, -1.871220267e-03f, -1.866667199e-03f, -1.862111134e-03f, -1.857552079e-03f, -1.852990043e-03f, -1.848425034e-03f, -1.843857060e-03f, -1.839286128e-03f, -1.834712247e-03f,
+-1.830135425e-03f, -1.825555670e-03f, -1.820972990e-03f, -1.816387393e-03f, -1.811798887e-03f, -1.807207481e-03f, -1.802613182e-03f, -1.798015998e-03f, -1.793415937e-03f, -1.788813009e-03f,
+-1.784207220e-03f, -1.779598578e-03f, -1.774987093e-03f, -1.770372771e-03f, -1.765755622e-03f, -1.761135653e-03f, -1.756512872e-03f, -1.751887288e-03f, -1.747258908e-03f, -1.742627741e-03f,
+-1.737993795e-03f, -1.733357079e-03f, -1.728717599e-03f, -1.724075365e-03f, -1.719430384e-03f, -1.714782665e-03f, -1.710132215e-03f, -1.705479044e-03f, -1.700823159e-03f, -1.696164568e-03f,
+-1.691503280e-03f, -1.686839303e-03f, -1.682172645e-03f, -1.677503314e-03f, -1.672831318e-03f, -1.668156666e-03f, -1.663479365e-03f, -1.658799425e-03f, -1.654116853e-03f, -1.649431657e-03f,
+-1.644743846e-03f, -1.640053428e-03f, -1.635360411e-03f, -1.630664803e-03f, -1.625966613e-03f, -1.621265849e-03f, -1.616562519e-03f, -1.611856632e-03f, -1.607148195e-03f, -1.602437217e-03f,
+-1.597723706e-03f, -1.593007671e-03f, -1.588289119e-03f, -1.583568059e-03f, -1.578844500e-03f, -1.574118450e-03f, -1.569389916e-03f, -1.564658907e-03f, -1.559925432e-03f, -1.555189499e-03f,
+-1.550451115e-03f, -1.545710290e-03f, -1.540967032e-03f, -1.536221349e-03f, -1.531473249e-03f, -1.526722741e-03f, -1.521969833e-03f, -1.517214534e-03f, -1.512456850e-03f, -1.507696793e-03f,
+-1.502934368e-03f, -1.498169585e-03f, -1.493402452e-03f, -1.488632978e-03f, -1.483861170e-03f, -1.479087038e-03f, -1.474310589e-03f, -1.469531832e-03f, -1.464750775e-03f, -1.459967427e-03f,
+-1.455181796e-03f, -1.450393891e-03f, -1.445603719e-03f, -1.440811289e-03f, -1.436016610e-03f, -1.431219690e-03f, -1.426420538e-03f, -1.421619161e-03f, -1.416815568e-03f, -1.412009768e-03f,
+-1.407201769e-03f, -1.402391580e-03f, -1.397579208e-03f, -1.392764663e-03f, -1.387947952e-03f, -1.383129085e-03f, -1.378308069e-03f, -1.373484913e-03f, -1.368659626e-03f, -1.363832216e-03f,
+-1.359002691e-03f, -1.354171060e-03f, -1.349337331e-03f, -1.344501513e-03f, -1.339663614e-03f, -1.334823643e-03f, -1.329981608e-03f, -1.325137517e-03f, -1.320291380e-03f, -1.315443204e-03f,
+-1.310592999e-03f, -1.305740771e-03f, -1.300886531e-03f, -1.296030287e-03f, -1.291172046e-03f, -1.286311818e-03f, -1.281449611e-03f, -1.276585433e-03f, -1.271719293e-03f, -1.266851200e-03f,
+-1.261981162e-03f, -1.257109188e-03f, -1.252235285e-03f, -1.247359463e-03f, -1.242481730e-03f, -1.237602095e-03f, -1.232720566e-03f, -1.227837152e-03f, -1.222951861e-03f, -1.218064701e-03f,
+-1.213175682e-03f, -1.208284812e-03f, -1.203392099e-03f, -1.198497552e-03f, -1.193601180e-03f, -1.188702990e-03f, -1.183802992e-03f, -1.178901195e-03f, -1.173997606e-03f, -1.169092234e-03f,
+-1.164185088e-03f, -1.159276177e-03f, -1.154365508e-03f, -1.149453091e-03f, -1.144538935e-03f, -1.139623046e-03f, -1.134705436e-03f, -1.129786111e-03f, -1.124865080e-03f, -1.119942353e-03f,
+-1.115017937e-03f, -1.110091842e-03f, -1.105164075e-03f, -1.100234646e-03f, -1.095303563e-03f, -1.090370835e-03f, -1.085436469e-03f, -1.080500476e-03f, -1.075562863e-03f, -1.070623639e-03f,
+-1.065682813e-03f, -1.060740394e-03f, -1.055796389e-03f, -1.050850808e-03f, -1.045903659e-03f, -1.040954951e-03f, -1.036004692e-03f, -1.031052891e-03f, -1.026099558e-03f, -1.021144699e-03f,
+-1.016188325e-03f, -1.011230443e-03f, -1.006271062e-03f, -1.001310192e-03f, -9.963478397e-04f, -9.913840150e-04f, -9.864187261e-04f, -9.814519818e-04f, -9.764837906e-04f, -9.715141613e-04f,
+-9.665431026e-04f, -9.615706230e-04f, -9.565967313e-04f, -9.516214360e-04f, -9.466447460e-04f, -9.416666698e-04f, -9.366872162e-04f, -9.317063937e-04f, -9.267242111e-04f, -9.217406771e-04f,
+-9.167558003e-04f, -9.117695894e-04f, -9.067820531e-04f, -9.017932001e-04f, -8.968030391e-04f, -8.918115788e-04f, -8.868188278e-04f, -8.818247948e-04f, -8.768294886e-04f, -8.718329179e-04f,
+-8.668350913e-04f, -8.618360175e-04f, -8.568357052e-04f, -8.518341633e-04f, -8.468314002e-04f, -8.418274248e-04f, -8.368222458e-04f, -8.318158719e-04f, -8.268083117e-04f, -8.217995741e-04f,
+-8.167896676e-04f, -8.117786011e-04f, -8.067663833e-04f, -8.017530228e-04f, -7.967385284e-04f, -7.917229088e-04f, -7.867061728e-04f, -7.816883291e-04f, -7.766693863e-04f, -7.716493532e-04f,
+-7.666282387e-04f, -7.616060513e-04f, -7.565827998e-04f, -7.515584929e-04f, -7.465331395e-04f, -7.415067482e-04f, -7.364793277e-04f, -7.314508869e-04f, -7.264214344e-04f, -7.213909790e-04f,
+-7.163595294e-04f, -7.113270944e-04f, -7.062936827e-04f, -7.012593031e-04f, -6.962239643e-04f, -6.911876751e-04f, -6.861504442e-04f, -6.811122804e-04f, -6.760731924e-04f, -6.710331890e-04f,
+-6.659922789e-04f, -6.609504709e-04f, -6.559077738e-04f, -6.508641963e-04f, -6.458197472e-04f, -6.407744352e-04f, -6.357282691e-04f, -6.306812577e-04f, -6.256334097e-04f, -6.205847339e-04f,
+-6.155352390e-04f, -6.104849339e-04f, -6.054338273e-04f, -6.003819279e-04f, -5.953292446e-04f, -5.902757861e-04f, -5.852215611e-04f, -5.801665786e-04f, -5.751108471e-04f, -5.700543755e-04f,
+-5.649971727e-04f, -5.599392472e-04f, -5.548806080e-04f, -5.498212638e-04f, -5.447612234e-04f, -5.397004956e-04f, -5.346390891e-04f, -5.295770128e-04f, -5.245142753e-04f, -5.194508856e-04f,
+-5.143868523e-04f, -5.093221843e-04f, -5.042568903e-04f, -4.991909792e-04f, -4.941244597e-04f, -4.890573406e-04f, -4.839896307e-04f, -4.789213387e-04f, -4.738524735e-04f, -4.687830439e-04f,
+-4.637130586e-04f, -4.586425265e-04f, -4.535714562e-04f, -4.484998567e-04f, -4.434277367e-04f, -4.383551050e-04f, -4.332819704e-04f, -4.282083417e-04f, -4.231342276e-04f, -4.180596370e-04f,
+-4.129845787e-04f, -4.079090614e-04f, -4.028330940e-04f, -3.977566852e-04f, -3.926798439e-04f, -3.876025788e-04f, -3.825248988e-04f, -3.774468125e-04f, -3.723683289e-04f, -3.672894567e-04f,
+-3.622102048e-04f, -3.571305818e-04f, -3.520505967e-04f, -3.469702582e-04f, -3.418895750e-04f, -3.368085561e-04f, -3.317272102e-04f, -3.266455461e-04f, -3.215635726e-04f, -3.164812985e-04f,
+-3.113987326e-04f, -3.063158836e-04f, -3.012327605e-04f, -2.961493720e-04f, -2.910657268e-04f, -2.859818339e-04f, -2.808977019e-04f, -2.758133397e-04f, -2.707287561e-04f, -2.656439599e-04f,
+-2.605589598e-04f, -2.554737647e-04f, -2.503883834e-04f, -2.453028247e-04f, -2.402170973e-04f, -2.351312102e-04f, -2.300451719e-04f, -2.249589915e-04f, -2.198726776e-04f, -2.147862390e-04f,
+-2.096996847e-04f, -2.046130232e-04f, -1.995262635e-04f, -1.944394144e-04f, -1.893524846e-04f, -1.842654829e-04f, -1.791784181e-04f, -1.740912991e-04f, -1.690041346e-04f, -1.639169334e-04f,
+-1.588297043e-04f, -1.537424561e-04f, -1.486551976e-04f, -1.435679375e-04f, -1.384806848e-04f, -1.333934481e-04f, -1.283062363e-04f, -1.232190581e-04f, -1.181319223e-04f, -1.130448378e-04f,
+-1.079578133e-04f, -1.028708576e-04f, -9.778397946e-05f, -9.269718773e-05f, -8.761049115e-05f, -8.252389853e-05f, -7.743741865e-05f, -7.235106028e-05f, -6.726483222e-05f, -6.217874325e-05f,
+-5.709280215e-05f, -5.200701771e-05f, -4.692139870e-05f, -4.183595390e-05f, -3.675069210e-05f, -3.166562208e-05f, -2.658075261e-05f, -2.149609247e-05f, -1.641165043e-05f, -1.132743528e-05f,
+-6.243455792e-06f, -1.159720732e-06f, 3.923761121e-06f, 9.006980995e-06f, 1.408993012e-05f, 1.917259972e-05f, 2.425498103e-05f, 2.933706529e-05f, 3.441884371e-05f, 3.950030754e-05f,
+4.458144801e-05f, 4.966225635e-05f, 5.474272381e-05f, 5.982284161e-05f, 6.490260100e-05f, 6.998199321e-05f, 7.506100949e-05f, 8.013964107e-05f, 8.521787920e-05f, 9.029571513e-05f,
+9.537314009e-05f, 1.004501453e-04f, 1.055267221e-04f, 1.106028617e-04f, 1.156785552e-04f, 1.207537941e-04f, 1.258285695e-04f, 1.309028727e-04f, 1.359766949e-04f, 1.410500274e-04f,
+1.461228614e-04f, 1.511951883e-04f, 1.562669992e-04f, 1.613382855e-04f, 1.664090383e-04f, 1.714792490e-04f, 1.765489088e-04f, 1.816180090e-04f, 1.866865409e-04f, 1.917544957e-04f,
+1.968218647e-04f, 2.018886391e-04f, 2.069548103e-04f, 2.120203695e-04f, 2.170853079e-04f, 2.221496170e-04f, 2.272132879e-04f, 2.322763119e-04f, 2.373386803e-04f, 2.424003844e-04f,
+2.474614155e-04f, 2.525217649e-04f, 2.575814238e-04f, 2.626403836e-04f, 2.676986355e-04f, 2.727561709e-04f, 2.778129810e-04f, 2.828690571e-04f, 2.879243905e-04f, 2.929789725e-04f,
+2.980327945e-04f, 3.030858477e-04f, 3.081381235e-04f, 3.131896131e-04f, 3.182403078e-04f, 3.232901991e-04f, 3.283392781e-04f, 3.333875362e-04f, 3.384349647e-04f, 3.434815549e-04f,
+3.485272982e-04f, 3.535721859e-04f, 3.586162092e-04f, 3.636593596e-04f, 3.687016283e-04f, 3.737430068e-04f, 3.787834862e-04f, 3.838230580e-04f, 3.888617135e-04f, 3.938994439e-04f,
+3.989362408e-04f, 4.039720954e-04f, 4.090069990e-04f, 4.140409430e-04f, 4.190739188e-04f, 4.241059176e-04f, 4.291369309e-04f, 4.341669500e-04f, 4.391959663e-04f, 4.442239711e-04f,
+4.492509557e-04f, 4.542769116e-04f, 4.593018302e-04f, 4.643257027e-04f, 4.693485205e-04f, 4.743702751e-04f, 4.793909578e-04f, 4.844105599e-04f, 4.894290729e-04f, 4.944464881e-04f,
+4.994627970e-04f, 5.044779908e-04f, 5.094920611e-04f, 5.145049991e-04f, 5.195167963e-04f, 5.245274441e-04f, 5.295369339e-04f, 5.345452570e-04f, 5.395524049e-04f, 5.445583690e-04f,
+5.495631407e-04f, 5.545667114e-04f, 5.595690725e-04f, 5.645702154e-04f, 5.695701316e-04f, 5.745688124e-04f, 5.795662494e-04f, 5.845624338e-04f, 5.895573573e-04f, 5.945510110e-04f,
+5.995433866e-04f, 6.045344755e-04f, 6.095242690e-04f, 6.145127587e-04f, 6.194999359e-04f, 6.244857921e-04f, 6.294703189e-04f, 6.344535075e-04f, 6.394353495e-04f, 6.444158364e-04f,
+6.493949595e-04f, 6.543727104e-04f, 6.593490806e-04f, 6.643240614e-04f, 6.692976444e-04f, 6.742698211e-04f, 6.792405828e-04f, 6.842099212e-04f, 6.891778276e-04f, 6.941442937e-04f,
+6.991093107e-04f, 7.040728704e-04f, 7.090349641e-04f, 7.139955833e-04f, 7.189547196e-04f, 7.239123644e-04f, 7.288685093e-04f, 7.338231457e-04f, 7.387762652e-04f, 7.437278594e-04f,
+7.486779196e-04f, 7.536264375e-04f, 7.585734045e-04f, 7.635188123e-04f, 7.684626522e-04f, 7.734049160e-04f, 7.783455950e-04f, 7.832846808e-04f, 7.882221651e-04f, 7.931580393e-04f,
+7.980922949e-04f, 8.030249236e-04f, 8.079559169e-04f, 8.128852663e-04f, 8.178129635e-04f, 8.227389999e-04f, 8.276633672e-04f, 8.325860569e-04f, 8.375070606e-04f, 8.424263699e-04f,
+8.473439764e-04f, 8.522598716e-04f, 8.571740472e-04f, 8.620864947e-04f, 8.669972057e-04f, 8.719061719e-04f, 8.768133848e-04f, 8.817188361e-04f, 8.866225173e-04f, 8.915244201e-04f,
+8.964245361e-04f, 9.013228568e-04f, 9.062193741e-04f, 9.111140794e-04f, 9.160069644e-04f, 9.208980207e-04f, 9.257872400e-04f, 9.306746139e-04f, 9.355601341e-04f, 9.404437922e-04f,
+9.453255798e-04f, 9.502054887e-04f, 9.550835104e-04f, 9.599596367e-04f, 9.648338592e-04f, 9.697061696e-04f, 9.745765596e-04f, 9.794450208e-04f, 9.843115449e-04f, 9.891761237e-04f,
+9.940387487e-04f, 9.988994118e-04f, 1.003758105e-03f, 1.008614819e-03f, 1.013469546e-03f, 1.018322278e-03f, 1.023173007e-03f, 1.028021723e-03f, 1.032868420e-03f, 1.037713089e-03f,
+1.042555721e-03f, 1.047396308e-03f, 1.052234842e-03f, 1.057071314e-03f, 1.061905717e-03f, 1.066738042e-03f, 1.071568281e-03f, 1.076396426e-03f, 1.081222468e-03f, 1.086046399e-03f,
+1.090868211e-03f, 1.095687896e-03f, 1.100505445e-03f, 1.105320851e-03f, 1.110134105e-03f, 1.114945198e-03f, 1.119754123e-03f, 1.124560872e-03f, 1.129365435e-03f, 1.134167806e-03f,
+1.138967976e-03f, 1.143765936e-03f, 1.148561679e-03f, 1.153355196e-03f, 1.158146479e-03f, 1.162935521e-03f, 1.167722312e-03f, 1.172506844e-03f, 1.177289111e-03f, 1.182069102e-03f,
+1.186846811e-03f, 1.191622229e-03f, 1.196395347e-03f, 1.201166159e-03f, 1.205934655e-03f, 1.210700828e-03f, 1.215464669e-03f, 1.220226170e-03f, 1.224985324e-03f, 1.229742121e-03f,
+1.234496555e-03f, 1.239248616e-03f, 1.243998297e-03f, 1.248745590e-03f, 1.253490487e-03f, 1.258232979e-03f, 1.262973058e-03f, 1.267710717e-03f, 1.272445947e-03f, 1.277178741e-03f,
+1.281909090e-03f, 1.286636985e-03f, 1.291362420e-03f, 1.296085386e-03f, 1.300805875e-03f, 1.305523879e-03f, 1.310239390e-03f, 1.314952400e-03f, 1.319662900e-03f, 1.324370884e-03f,
+1.329076343e-03f, 1.333779268e-03f, 1.338479652e-03f, 1.343177487e-03f, 1.347872766e-03f, 1.352565478e-03f, 1.357255618e-03f, 1.361943177e-03f, 1.366628147e-03f, 1.371310520e-03f,
+1.375990288e-03f, 1.380667443e-03f, 1.385341977e-03f, 1.390013882e-03f, 1.394683151e-03f, 1.399349775e-03f, 1.404013746e-03f, 1.408675057e-03f, 1.413333699e-03f, 1.417989665e-03f,
+1.422642946e-03f, 1.427293536e-03f, 1.431941425e-03f, 1.436586606e-03f, 1.441229072e-03f, 1.445868813e-03f, 1.450505823e-03f, 1.455140094e-03f, 1.459771617e-03f, 1.464400384e-03f,
+1.469026389e-03f, 1.473649623e-03f, 1.478270077e-03f, 1.482887745e-03f, 1.487502619e-03f, 1.492114690e-03f, 1.496723951e-03f, 1.501330394e-03f, 1.505934011e-03f, 1.510534795e-03f,
+1.515132737e-03f, 1.519727830e-03f, 1.524320065e-03f, 1.528909436e-03f, 1.533495935e-03f, 1.538079552e-03f, 1.542660282e-03f, 1.547238116e-03f, 1.551813046e-03f, 1.556385064e-03f,
+1.560954163e-03f, 1.565520335e-03f, 1.570083573e-03f, 1.574643868e-03f, 1.579201212e-03f, 1.583755599e-03f, 1.588307020e-03f, 1.592855468e-03f, 1.597400935e-03f, 1.601943412e-03f,
+1.606482894e-03f, 1.611019371e-03f, 1.615552836e-03f, 1.620083282e-03f, 1.624610700e-03f, 1.629135084e-03f, 1.633656425e-03f, 1.638174715e-03f, 1.642689948e-03f, 1.647202115e-03f,
+1.651711209e-03f, 1.656217223e-03f, 1.660720147e-03f, 1.665219976e-03f, 1.669716701e-03f, 1.674210314e-03f, 1.678700809e-03f, 1.683188177e-03f, 1.687672411e-03f, 1.692153503e-03f,
+1.696631446e-03f, 1.701106232e-03f, 1.705577854e-03f, 1.710046303e-03f, 1.714511573e-03f, 1.718973656e-03f, 1.723432544e-03f, 1.727888230e-03f, 1.732340706e-03f, 1.736789965e-03f,
+1.741235998e-03f, 1.745678800e-03f, 1.750118361e-03f, 1.754554675e-03f, 1.758987734e-03f, 1.763417531e-03f, 1.767844058e-03f, 1.772267308e-03f, 1.776687272e-03f, 1.781103945e-03f,
+1.785517317e-03f, 1.789927382e-03f, 1.794334133e-03f, 1.798737561e-03f, 1.803137660e-03f, 1.807534421e-03f, 1.811927839e-03f, 1.816317904e-03f, 1.820704610e-03f, 1.825087949e-03f,
+1.829467914e-03f, 1.833844498e-03f, 1.838217692e-03f, 1.842587490e-03f, 1.846953885e-03f, 1.851316868e-03f, 1.855676433e-03f, 1.860032573e-03f, 1.864385279e-03f, 1.868734544e-03f,
+1.873080362e-03f, 1.877422724e-03f, 1.881761624e-03f, 1.886097054e-03f, 1.890429007e-03f, 1.894757475e-03f, 1.899082452e-03f, 1.903403930e-03f, 1.907721901e-03f, 1.912036358e-03f,
+1.916347295e-03f, 1.920654703e-03f, 1.924958576e-03f, 1.929258906e-03f, 1.933555686e-03f, 1.937848909e-03f, 1.942138567e-03f, 1.946424654e-03f, 1.950707161e-03f, 1.954986083e-03f,
+1.959261411e-03f, 1.963533138e-03f, 1.967801258e-03f, 1.972065763e-03f, 1.976326645e-03f, 1.980583898e-03f, 1.984837515e-03f, 1.989087488e-03f, 1.993333810e-03f, 1.997576474e-03f,
+2.001815473e-03f, 2.006050799e-03f, 2.010282447e-03f, 2.014510407e-03f, 2.018734674e-03f, 2.022955240e-03f, 2.027172098e-03f, 2.031385241e-03f, 2.035594662e-03f, 2.039800354e-03f,
+2.044002309e-03f, 2.048200521e-03f, 2.052394983e-03f, 2.056585687e-03f, 2.060772627e-03f, 2.064955795e-03f, 2.069135184e-03f, 2.073310788e-03f, 2.077482599e-03f, 2.081650611e-03f,
+2.085814815e-03f, 2.089975206e-03f, 2.094131776e-03f, 2.098284519e-03f, 2.102433427e-03f, 2.106578493e-03f, 2.110719710e-03f, 2.114857072e-03f, 2.118990572e-03f, 2.123120201e-03f,
+2.127245955e-03f, 2.131367825e-03f, 2.135485804e-03f, 2.139599887e-03f, 2.143710065e-03f, 2.147816332e-03f, 2.151918682e-03f, 2.156017106e-03f, 2.160111599e-03f, 2.164202153e-03f,
+2.168288761e-03f, 2.172371417e-03f, 2.176450114e-03f, 2.180524845e-03f, 2.184595603e-03f, 2.188662381e-03f, 2.192725173e-03f, 2.196783971e-03f, 2.200838770e-03f, 2.204889561e-03f,
+2.208936338e-03f, 2.212979095e-03f, 2.217017824e-03f, 2.221052519e-03f, 2.225083173e-03f, 2.229109780e-03f, 2.233132332e-03f, 2.237150823e-03f, 2.241165246e-03f, 2.245175594e-03f,
+2.249181861e-03f, 2.253184039e-03f, 2.257182123e-03f, 2.261176106e-03f, 2.265165980e-03f, 2.269151739e-03f, 2.273133377e-03f, 2.277110886e-03f, 2.281084261e-03f, 2.285053493e-03f,
+2.289018578e-03f, 2.292979508e-03f, 2.296936276e-03f, 2.300888876e-03f, 2.304837301e-03f, 2.308781545e-03f, 2.312721601e-03f, 2.316657462e-03f, 2.320589122e-03f, 2.324516574e-03f,
+2.328439812e-03f, 2.332358829e-03f, 2.336273619e-03f, 2.340184174e-03f, 2.344090489e-03f, 2.347992557e-03f, 2.351890371e-03f, 2.355783925e-03f, 2.359673212e-03f, 2.363558226e-03f,
+2.367438961e-03f, 2.371315409e-03f, 2.375187565e-03f, 2.379055421e-03f, 2.382918972e-03f, 2.386778211e-03f, 2.390633131e-03f, 2.394483726e-03f, 2.398329990e-03f, 2.402171916e-03f,
+2.406009498e-03f, 2.409842729e-03f, 2.413671603e-03f, 2.417496114e-03f, 2.421316255e-03f, 2.425132019e-03f, 2.428943401e-03f, 2.432750394e-03f, 2.436552991e-03f, 2.440351187e-03f,
+2.444144975e-03f, 2.447934348e-03f, 2.451719301e-03f, 2.455499827e-03f, 2.459275919e-03f, 2.463047572e-03f, 2.466814779e-03f, 2.470577533e-03f, 2.474335829e-03f, 2.478089661e-03f,
+2.481839021e-03f, 2.485583904e-03f, 2.489324303e-03f, 2.493060213e-03f, 2.496791627e-03f, 2.500518538e-03f, 2.504240941e-03f, 2.507958830e-03f, 2.511672197e-03f, 2.515381038e-03f,
+2.519085345e-03f, 2.522785113e-03f, 2.526480335e-03f, 2.530171006e-03f, 2.533857119e-03f, 2.537538668e-03f, 2.541215646e-03f, 2.544888049e-03f, 2.548555869e-03f, 2.552219100e-03f,
+2.555877737e-03f, 2.559531774e-03f, 2.563181203e-03f, 2.566826020e-03f, 2.570466218e-03f, 2.574101790e-03f, 2.577732732e-03f, 2.581359037e-03f, 2.584980699e-03f, 2.588597711e-03f,
+2.592210069e-03f, 2.595817765e-03f, 2.599420794e-03f, 2.603019150e-03f, 2.606612827e-03f, 2.610201819e-03f, 2.613786120e-03f, 2.617365723e-03f, 2.620940624e-03f, 2.624510816e-03f,
+2.628076293e-03f, 2.631637049e-03f, 2.635193079e-03f, 2.638744376e-03f, 2.642290934e-03f, 2.645832748e-03f, 2.649369812e-03f, 2.652902120e-03f, 2.656429665e-03f, 2.659952443e-03f,
+2.663470447e-03f, 2.666983672e-03f, 2.670492111e-03f, 2.673995759e-03f, 2.677494610e-03f, 2.680988658e-03f, 2.684477897e-03f, 2.687962323e-03f, 2.691441927e-03f, 2.694916706e-03f,
+2.698386654e-03f, 2.701851763e-03f, 2.705312030e-03f, 2.708767447e-03f, 2.712218010e-03f, 2.715663713e-03f, 2.719104549e-03f, 2.722540514e-03f, 2.725971601e-03f, 2.729397805e-03f,
+2.732819120e-03f, 2.736235540e-03f, 2.739647060e-03f, 2.743053675e-03f, 2.746455377e-03f, 2.749852163e-03f, 2.753244026e-03f, 2.756630961e-03f, 2.760012962e-03f, 2.763390023e-03f,
+2.766762139e-03f, 2.770129304e-03f, 2.773491513e-03f, 2.776848760e-03f, 2.780201040e-03f, 2.783548347e-03f, 2.786890675e-03f, 2.790228019e-03f, 2.793560374e-03f, 2.796887734e-03f,
+2.800210093e-03f, 2.803527446e-03f, 2.806839788e-03f, 2.810147112e-03f, 2.813449414e-03f, 2.816746689e-03f, 2.820038930e-03f, 2.823326132e-03f, 2.826608290e-03f, 2.829885398e-03f,
+2.833157451e-03f, 2.836424444e-03f, 2.839686371e-03f, 2.842943227e-03f, 2.846195006e-03f, 2.849441703e-03f, 2.852683313e-03f, 2.855919831e-03f, 2.859151250e-03f, 2.862377566e-03f,
+2.865598773e-03f, 2.868814867e-03f, 2.872025841e-03f, 2.875231690e-03f, 2.878432410e-03f, 2.881627995e-03f, 2.884818439e-03f, 2.888003738e-03f, 2.891183886e-03f, 2.894358877e-03f,
+2.897528708e-03f, 2.900693372e-03f, 2.903852864e-03f, 2.907007179e-03f, 2.910156312e-03f, 2.913300258e-03f, 2.916439011e-03f, 2.919572566e-03f, 2.922700919e-03f, 2.925824064e-03f,
+2.928941995e-03f, 2.932054709e-03f, 2.935162199e-03f, 2.938264460e-03f, 2.941361488e-03f, 2.944453278e-03f, 2.947539824e-03f, 2.950621121e-03f, 2.953697164e-03f, 2.956767948e-03f,
+2.959833468e-03f, 2.962893719e-03f, 2.965948696e-03f, 2.968998395e-03f, 2.972042809e-03f, 2.975081934e-03f, 2.978115765e-03f, 2.981144297e-03f, 2.984167526e-03f, 2.987185445e-03f,
+2.990198050e-03f, 2.993205337e-03f, 2.996207300e-03f, 2.999203934e-03f, 3.002195235e-03f, 3.005181197e-03f, 3.008161816e-03f, 3.011137087e-03f, 3.014107005e-03f, 3.017071564e-03f,
+3.020030761e-03f, 3.022984590e-03f, 3.025933047e-03f, 3.028876126e-03f, 3.031813824e-03f, 3.034746134e-03f, 3.037673052e-03f, 3.040594574e-03f, 3.043510695e-03f, 3.046421410e-03f,
+3.049326714e-03f, 3.052226602e-03f, 3.055121070e-03f, 3.058010112e-03f, 3.060893725e-03f, 3.063771904e-03f, 3.066644643e-03f, 3.069511939e-03f, 3.072373786e-03f, 3.075230179e-03f,
+3.078081115e-03f, 3.080926588e-03f, 3.083766594e-03f, 3.086601129e-03f, 3.089430187e-03f, 3.092253763e-03f, 3.095071854e-03f, 3.097884455e-03f, 3.100691561e-03f, 3.103493168e-03f,
+3.106289270e-03f, 3.109079864e-03f, 3.111864945e-03f, 3.114644509e-03f, 3.117418550e-03f, 3.120187064e-03f, 3.122950048e-03f, 3.125707496e-03f, 3.128459403e-03f, 3.131205766e-03f,
+3.133946580e-03f, 3.136681840e-03f, 3.139411542e-03f, 3.142135682e-03f, 3.144854255e-03f, 3.147567257e-03f, 3.150274683e-03f, 3.152976529e-03f, 3.155672790e-03f, 3.158363463e-03f,
+3.161048542e-03f, 3.163728024e-03f, 3.166401904e-03f, 3.169070177e-03f, 3.171732840e-03f, 3.174389888e-03f, 3.177041317e-03f, 3.179687122e-03f, 3.182327299e-03f, 3.184961845e-03f,
+3.187590754e-03f, 3.190214022e-03f, 3.192831645e-03f, 3.195443620e-03f, 3.198049940e-03f, 3.200650604e-03f, 3.203245605e-03f, 3.205834941e-03f, 3.208418606e-03f, 3.210996597e-03f,
+3.213568910e-03f, 3.216135540e-03f, 3.218696483e-03f, 3.221251735e-03f, 3.223801292e-03f, 3.226345149e-03f, 3.228883304e-03f, 3.231415751e-03f, 3.233942486e-03f, 3.236463506e-03f,
+3.238978806e-03f, 3.241488382e-03f, 3.243992231e-03f, 3.246490348e-03f, 3.248982729e-03f, 3.251469370e-03f, 3.253950267e-03f, 3.256425416e-03f, 3.258894814e-03f, 3.261358455e-03f,
+3.263816337e-03f, 3.266268455e-03f, 3.268714806e-03f, 3.271155384e-03f, 3.273590187e-03f, 3.276019211e-03f, 3.278442451e-03f, 3.280859904e-03f, 3.283271566e-03f, 3.285677432e-03f,
+3.288077500e-03f, 3.290471765e-03f, 3.292860223e-03f, 3.295242871e-03f, 3.297619705e-03f, 3.299990720e-03f, 3.302355914e-03f, 3.304715281e-03f, 3.307068820e-03f, 3.309416525e-03f,
+3.311758393e-03f, 3.314094420e-03f, 3.316424603e-03f, 3.318748937e-03f, 3.321067419e-03f, 3.323380046e-03f, 3.325686814e-03f, 3.327987718e-03f, 3.330282755e-03f, 3.332571922e-03f,
+3.334855215e-03f, 3.337132630e-03f, 3.339404164e-03f, 3.341669813e-03f, 3.343929573e-03f, 3.346183441e-03f, 3.348431413e-03f, 3.350673485e-03f, 3.352909655e-03f, 3.355139918e-03f,
+3.357364270e-03f, 3.359582710e-03f, 3.361795231e-03f, 3.364001832e-03f, 3.366202509e-03f, 3.368397258e-03f, 3.370586076e-03f, 3.372768959e-03f, 3.374945904e-03f, 3.377116907e-03f,
+3.379281965e-03f, 3.381441074e-03f, 3.383594232e-03f, 3.385741434e-03f, 3.387882677e-03f, 3.390017958e-03f, 3.392147273e-03f, 3.394270619e-03f, 3.396387993e-03f, 3.398499391e-03f,
+3.400604809e-03f, 3.402704246e-03f, 3.404797697e-03f, 3.406885158e-03f, 3.408966627e-03f, 3.411042101e-03f, 3.413111575e-03f, 3.415175048e-03f, 3.417232515e-03f, 3.419283973e-03f,
+3.421329419e-03f, 3.423368849e-03f, 3.425402262e-03f, 3.427429652e-03f, 3.429451018e-03f, 3.431466356e-03f, 3.433475662e-03f, 3.435478934e-03f, 3.437476169e-03f, 3.439467363e-03f,
+3.441452513e-03f, 3.443431616e-03f, 3.445404668e-03f, 3.447371668e-03f, 3.449332611e-03f, 3.451287495e-03f, 3.453236317e-03f, 3.455179073e-03f, 3.457115760e-03f, 3.459046376e-03f,
+3.460970917e-03f, 3.462889381e-03f, 3.464801763e-03f, 3.466708062e-03f, 3.468608275e-03f, 3.470502398e-03f, 3.472390428e-03f, 3.474272363e-03f, 3.476148199e-03f, 3.478017933e-03f,
+3.479881564e-03f, 3.481739087e-03f, 3.483590500e-03f, 3.485435799e-03f, 3.487274983e-03f, 3.489108048e-03f, 3.490934991e-03f, 3.492755810e-03f, 3.494570502e-03f, 3.496379063e-03f,
+3.498181491e-03f, 3.499977783e-03f, 3.501767937e-03f, 3.503551949e-03f, 3.505329817e-03f, 3.507101538e-03f, 3.508867110e-03f, 3.510626529e-03f, 3.512379793e-03f, 3.514126899e-03f,
+3.515867844e-03f, 3.517602626e-03f, 3.519331242e-03f, 3.521053689e-03f, 3.522769965e-03f, 3.524480067e-03f, 3.526183993e-03f, 3.527881739e-03f, 3.529573303e-03f, 3.531258683e-03f,
+3.532937875e-03f, 3.534610878e-03f, 3.536277689e-03f, 3.537938305e-03f, 3.539592723e-03f, 3.541240942e-03f, 3.542882957e-03f, 3.544518768e-03f, 3.546148372e-03f, 3.547771765e-03f,
+3.549388946e-03f, 3.550999912e-03f, 3.552604660e-03f, 3.554203189e-03f, 3.555795495e-03f, 3.557381576e-03f, 3.558961430e-03f, 3.560535054e-03f, 3.562102446e-03f, 3.563663604e-03f,
+3.565218525e-03f, 3.566767206e-03f, 3.568309646e-03f, 3.569845843e-03f, 3.571375792e-03f, 3.572899493e-03f, 3.574416944e-03f, 3.575928141e-03f, 3.577433082e-03f, 3.578931766e-03f,
+3.580424189e-03f, 3.581910350e-03f, 3.583390247e-03f, 3.584863877e-03f, 3.586331237e-03f, 3.587792326e-03f, 3.589247142e-03f, 3.590695682e-03f, 3.592137944e-03f, 3.593573926e-03f,
+3.595003626e-03f, 3.596427041e-03f, 3.597844170e-03f, 3.599255010e-03f, 3.600659559e-03f, 3.602057816e-03f, 3.603449777e-03f, 3.604835441e-03f, 3.606214807e-03f, 3.607587870e-03f,
+3.608954631e-03f, 3.610315086e-03f, 3.611669234e-03f, 3.613017072e-03f, 3.614358599e-03f, 3.615693813e-03f, 3.617022711e-03f, 3.618345291e-03f, 3.619661553e-03f, 3.620971493e-03f,
+3.622275110e-03f, 3.623572401e-03f, 3.624863366e-03f, 3.626148001e-03f, 3.627426306e-03f, 3.628698277e-03f, 3.629963914e-03f, 3.631223215e-03f, 3.632476177e-03f, 3.633722798e-03f,
+3.634963078e-03f, 3.636197014e-03f, 3.637424604e-03f, 3.638645846e-03f, 3.639860739e-03f, 3.641069281e-03f, 3.642271470e-03f, 3.643467304e-03f, 3.644656782e-03f, 3.645839902e-03f,
+3.647016662e-03f, 3.648187060e-03f, 3.649351095e-03f, 3.650508766e-03f, 3.651660069e-03f, 3.652805004e-03f, 3.653943570e-03f, 3.655075763e-03f, 3.656201583e-03f, 3.657321029e-03f,
+3.658434098e-03f, 3.659540789e-03f, 3.660641100e-03f, 3.661735030e-03f, 3.662822577e-03f, 3.663903740e-03f, 3.664978516e-03f, 3.666046906e-03f, 3.667108906e-03f, 3.668164515e-03f,
+3.669213733e-03f, 3.670256557e-03f, 3.671292987e-03f, 3.672323019e-03f, 3.673346654e-03f, 3.674363889e-03f, 3.675374724e-03f, 3.676379156e-03f, 3.677377185e-03f, 3.678368809e-03f,
+3.679354026e-03f, 3.680332836e-03f, 3.681305236e-03f, 3.682271226e-03f, 3.683230803e-03f, 3.684183968e-03f, 3.685130718e-03f, 3.686071052e-03f, 3.687004969e-03f, 3.687932468e-03f,
+3.688853546e-03f, 3.689768204e-03f, 3.690676440e-03f, 3.691578252e-03f, 3.692473639e-03f, 3.693362600e-03f, 3.694245134e-03f, 3.695121240e-03f, 3.695990916e-03f, 3.696854162e-03f,
+3.697710975e-03f, 3.698561356e-03f, 3.699405302e-03f, 3.700242812e-03f, 3.701073887e-03f, 3.701898523e-03f, 3.702716721e-03f, 3.703528480e-03f, 3.704333797e-03f, 3.705132672e-03f,
+3.705925105e-03f, 3.706711093e-03f, 3.707490637e-03f, 3.708263734e-03f, 3.709030384e-03f, 3.709790586e-03f, 3.710544339e-03f, 3.711291642e-03f, 3.712032493e-03f, 3.712766893e-03f,
+3.713494840e-03f, 3.714216333e-03f, 3.714931371e-03f, 3.715639954e-03f, 3.716342079e-03f, 3.717037748e-03f, 3.717726958e-03f, 3.718409709e-03f, 3.719085999e-03f, 3.719755829e-03f,
+3.720419197e-03f, 3.721076102e-03f, 3.721726544e-03f, 3.722370522e-03f, 3.723008035e-03f, 3.723639082e-03f, 3.724263662e-03f, 3.724881775e-03f, 3.725493421e-03f, 3.726098597e-03f,
+3.726697304e-03f, 3.727289541e-03f, 3.727875307e-03f, 3.728454601e-03f, 3.729027423e-03f, 3.729593772e-03f, 3.730153648e-03f, 3.730707049e-03f, 3.731253975e-03f, 3.731794426e-03f,
+3.732328401e-03f, 3.732855900e-03f, 3.733376921e-03f, 3.733891464e-03f, 3.734399529e-03f, 3.734901115e-03f, 3.735396221e-03f, 3.735884848e-03f, 3.736366994e-03f, 3.736842659e-03f,
+3.737311842e-03f, 3.737774544e-03f, 3.738230762e-03f, 3.738680498e-03f, 3.739123751e-03f, 3.739560520e-03f, 3.739990804e-03f, 3.740414604e-03f, 3.740831918e-03f, 3.741242748e-03f,
+3.741647091e-03f, 3.742044948e-03f, 3.742436318e-03f, 3.742821202e-03f, 3.743199598e-03f, 3.743571507e-03f, 3.743936927e-03f, 3.744295860e-03f, 3.744648304e-03f, 3.744994259e-03f,
+3.745333725e-03f, 3.745666701e-03f, 3.745993188e-03f, 3.746313186e-03f, 3.746626693e-03f, 3.746933710e-03f, 3.747234236e-03f, 3.747528272e-03f, 3.747815817e-03f, 3.748096870e-03f,
+3.748371433e-03f, 3.748639504e-03f, 3.748901084e-03f, 3.749156172e-03f, 3.749404769e-03f, 3.749646874e-03f, 3.749882487e-03f, 3.750111607e-03f, 3.750334236e-03f, 3.750550373e-03f,
+3.750760018e-03f, 3.750963170e-03f, 3.751159830e-03f, 3.751349998e-03f, 3.751533674e-03f, 3.751710857e-03f, 3.751881548e-03f, 3.752045748e-03f, 3.752203454e-03f, 3.752354669e-03f,
+3.752499392e-03f, 3.752637623e-03f, 3.752769362e-03f, 3.752894610e-03f, 3.753013366e-03f, 3.753125630e-03f, 3.753231403e-03f, 3.753330684e-03f, 3.753423475e-03f, 3.753509774e-03f,
+3.753589583e-03f, 3.753662902e-03f, 3.753729730e-03f, 3.753790068e-03f, 3.753843916e-03f, 3.753891274e-03f, 3.753932143e-03f, 3.753966522e-03f, 3.753994413e-03f, 3.754015815e-03f,
+3.754030729e-03f, 3.754039155e-03f, 3.754041093e-03f, 3.754036544e-03f, 3.754025507e-03f, 3.754007984e-03f, 3.753983974e-03f, 3.753953479e-03f, 3.753916498e-03f, 3.753873031e-03f,
+3.753823080e-03f, 3.753766644e-03f, 3.753703725e-03f, 3.753634322e-03f, 3.753558435e-03f, 3.753476066e-03f, 3.753387215e-03f, 3.753291882e-03f, 3.753190068e-03f, 3.753081773e-03f,
+3.752966998e-03f, 3.752845744e-03f, 3.752718010e-03f, 3.752583798e-03f, 3.752443107e-03f, 3.752295939e-03f, 3.752142295e-03f, 3.751982173e-03f, 3.751815577e-03f, 3.751642505e-03f,
+3.751462959e-03f, 3.751276939e-03f, 3.751084445e-03f, 3.750885479e-03f, 3.750680042e-03f, 3.750468133e-03f, 3.750249754e-03f, 3.750024905e-03f, 3.749793587e-03f, 3.749555800e-03f,
+3.749311547e-03f, 3.749060826e-03f, 3.748803639e-03f, 3.748539987e-03f, 3.748269870e-03f, 3.747993289e-03f, 3.747710246e-03f, 3.747420741e-03f, 3.747124774e-03f, 3.746822347e-03f,
+3.746513460e-03f, 3.746198114e-03f, 3.745876311e-03f, 3.745548050e-03f, 3.745213334e-03f, 3.744872162e-03f, 3.744524536e-03f, 3.744170456e-03f, 3.743809924e-03f, 3.743442941e-03f,
+3.743069507e-03f, 3.742689624e-03f, 3.742303292e-03f, 3.741910512e-03f, 3.741511286e-03f, 3.741105614e-03f, 3.740693498e-03f, 3.740274938e-03f, 3.739849936e-03f, 3.739418493e-03f,
+3.738980609e-03f, 3.738536286e-03f, 3.738085525e-03f, 3.737628326e-03f, 3.737164692e-03f, 3.736694623e-03f, 3.736218120e-03f, 3.735735185e-03f, 3.735245819e-03f, 3.734750022e-03f,
+3.734247796e-03f, 3.733739143e-03f, 3.733224062e-03f, 3.732702557e-03f, 3.732174627e-03f, 3.731640274e-03f, 3.731099500e-03f, 3.730552305e-03f, 3.729998691e-03f, 3.729438659e-03f,
+3.728872211e-03f, 3.728299347e-03f, 3.727720069e-03f, 3.727134379e-03f, 3.726542277e-03f, 3.725943765e-03f, 3.725338845e-03f, 3.724727517e-03f, 3.724109784e-03f, 3.723485646e-03f,
+3.722855105e-03f, 3.722218162e-03f, 3.721574819e-03f, 3.720925078e-03f, 3.720268938e-03f, 3.719606403e-03f, 3.718937474e-03f, 3.718262152e-03f, 3.717580438e-03f, 3.716892334e-03f,
+3.716197841e-03f, 3.715496962e-03f, 3.714789697e-03f, 3.714076049e-03f, 3.713356018e-03f, 3.712629606e-03f, 3.711896816e-03f, 3.711157647e-03f, 3.710412103e-03f, 3.709660184e-03f,
+3.708901893e-03f, 3.708137230e-03f, 3.707366198e-03f, 3.706588798e-03f, 3.705805032e-03f, 3.705014901e-03f, 3.704218408e-03f, 3.703415553e-03f, 3.702606340e-03f, 3.701790768e-03f,
+3.700968841e-03f, 3.700140559e-03f, 3.699305925e-03f, 3.698464940e-03f, 3.697617606e-03f, 3.696763925e-03f, 3.695903899e-03f, 3.695037529e-03f, 3.694164818e-03f, 3.693285766e-03f,
+3.692400377e-03f, 3.691508651e-03f, 3.690610591e-03f, 3.689706199e-03f, 3.688795476e-03f, 3.687878424e-03f, 3.686955045e-03f, 3.686025342e-03f, 3.685089315e-03f, 3.684146968e-03f,
+3.683198301e-03f, 3.682243318e-03f, 3.681282019e-03f, 3.680314407e-03f, 3.679340484e-03f, 3.678360252e-03f, 3.677373712e-03f, 3.676380868e-03f, 3.675381720e-03f, 3.674376271e-03f,
+3.673364524e-03f, 3.672346479e-03f, 3.671322139e-03f, 3.670291507e-03f, 3.669254584e-03f, 3.668211372e-03f, 3.667161874e-03f, 3.666106092e-03f, 3.665044028e-03f, 3.663975683e-03f,
+3.662901060e-03f, 3.661820162e-03f, 3.660732991e-03f, 3.659639548e-03f, 3.658539836e-03f, 3.657433857e-03f, 3.656321613e-03f, 3.655203107e-03f, 3.654078341e-03f, 3.652947317e-03f,
+3.651810037e-03f, 3.650666504e-03f, 3.649516719e-03f, 3.648360686e-03f, 3.647198407e-03f, 3.646029883e-03f, 3.644855118e-03f, 3.643674113e-03f, 3.642486871e-03f, 3.641293394e-03f,
+3.640093685e-03f, 3.638887746e-03f, 3.637675579e-03f, 3.636457187e-03f, 3.635232572e-03f, 3.634001737e-03f, 3.632764685e-03f, 3.631521416e-03f, 3.630271935e-03f, 3.629016243e-03f,
+3.627754344e-03f, 3.626486238e-03f, 3.625211930e-03f, 3.623931421e-03f, 3.622644715e-03f, 3.621351812e-03f, 3.620052717e-03f, 3.618747432e-03f, 3.617435959e-03f, 3.616118300e-03f,
+3.614794459e-03f, 3.613464438e-03f, 3.612128240e-03f, 3.610785867e-03f, 3.609437321e-03f, 3.608082606e-03f, 3.606721725e-03f, 3.605354679e-03f, 3.603981472e-03f, 3.602602105e-03f,
+3.601216583e-03f, 3.599824907e-03f, 3.598427081e-03f, 3.597023106e-03f, 3.595612986e-03f, 3.594196724e-03f, 3.592774322e-03f, 3.591345783e-03f, 3.589911110e-03f, 3.588470305e-03f,
+3.587023372e-03f, 3.585570313e-03f, 3.584111131e-03f, 3.582645829e-03f, 3.581174409e-03f, 3.579696875e-03f, 3.578213230e-03f, 3.576723475e-03f, 3.575227615e-03f, 3.573725652e-03f,
+3.572217589e-03f, 3.570703429e-03f, 3.569183174e-03f, 3.567656828e-03f, 3.566124394e-03f, 3.564585874e-03f, 3.563041272e-03f, 3.561490591e-03f, 3.559933833e-03f, 3.558371002e-03f,
+3.556802100e-03f, 3.555227130e-03f, 3.553646097e-03f, 3.552059002e-03f, 3.550465848e-03f, 3.548866640e-03f, 3.547261379e-03f, 3.545650069e-03f, 3.544032713e-03f, 3.542409314e-03f,
+3.540779875e-03f, 3.539144400e-03f, 3.537502891e-03f, 3.535855351e-03f, 3.534201785e-03f, 3.532542194e-03f, 3.530876582e-03f, 3.529204952e-03f, 3.527527308e-03f, 3.525843653e-03f,
+3.524153989e-03f, 3.522458321e-03f, 3.520756650e-03f, 3.519048982e-03f, 3.517335318e-03f, 3.515615662e-03f, 3.513890017e-03f, 3.512158387e-03f, 3.510420775e-03f, 3.508677185e-03f,
+3.506927618e-03f, 3.505172080e-03f, 3.503410573e-03f, 3.501643100e-03f, 3.499869665e-03f, 3.498090272e-03f, 3.496304923e-03f, 3.494513622e-03f, 3.492716372e-03f, 3.490913178e-03f,
+3.489104041e-03f, 3.487288967e-03f, 3.485467957e-03f, 3.483641016e-03f, 3.481808147e-03f, 3.479969353e-03f, 3.478124638e-03f, 3.476274006e-03f, 3.474417460e-03f, 3.472555003e-03f,
+3.470686639e-03f, 3.468812371e-03f, 3.466932203e-03f, 3.465046140e-03f, 3.463154183e-03f, 3.461256336e-03f, 3.459352605e-03f, 3.457442990e-03f, 3.455527498e-03f, 3.453606130e-03f,
+3.451678891e-03f, 3.449745785e-03f, 3.447806814e-03f, 3.445861983e-03f, 3.443911295e-03f, 3.441954754e-03f, 3.439992363e-03f, 3.438024127e-03f, 3.436050049e-03f, 3.434070132e-03f,
+3.432084381e-03f, 3.430092799e-03f, 3.428095389e-03f, 3.426092156e-03f, 3.424083104e-03f, 3.422068236e-03f, 3.420047555e-03f, 3.418021066e-03f, 3.415988773e-03f, 3.413950679e-03f,
+3.411906788e-03f, 3.409857104e-03f, 3.407801631e-03f, 3.405740372e-03f, 3.403673331e-03f, 3.401600513e-03f, 3.399521922e-03f, 3.397437560e-03f, 3.395347432e-03f, 3.393251542e-03f,
+3.391149893e-03f, 3.389042491e-03f, 3.386929338e-03f, 3.384810438e-03f, 3.382685796e-03f, 3.380555416e-03f, 3.378419301e-03f, 3.376277455e-03f, 3.374129883e-03f, 3.371976588e-03f,
+3.369817575e-03f, 3.367652847e-03f, 3.365482408e-03f, 3.363306263e-03f, 3.361124416e-03f, 3.358936870e-03f, 3.356743630e-03f, 3.354544699e-03f, 3.352340083e-03f, 3.350129784e-03f,
+3.347913808e-03f, 3.345692157e-03f, 3.343464837e-03f, 3.341231852e-03f, 3.338993204e-03f, 3.336748900e-03f, 3.334498942e-03f, 3.332243336e-03f, 3.329982085e-03f, 3.327715193e-03f,
+3.325442665e-03f, 3.323164504e-03f, 3.320880716e-03f, 3.318591304e-03f, 3.316296273e-03f, 3.313995626e-03f, 3.311689369e-03f, 3.309377504e-03f, 3.307060038e-03f, 3.304736973e-03f,
+3.302408314e-03f, 3.300074066e-03f, 3.297734233e-03f, 3.295388818e-03f, 3.293037828e-03f, 3.290681265e-03f, 3.288319134e-03f, 3.285951440e-03f, 3.283578186e-03f, 3.281199378e-03f,
+3.278815020e-03f, 3.276425115e-03f, 3.274029669e-03f, 3.271628686e-03f, 3.269222170e-03f, 3.266810126e-03f, 3.264392559e-03f, 3.261969472e-03f, 3.259540870e-03f, 3.257106757e-03f,
+3.254667139e-03f, 3.252222019e-03f, 3.249771402e-03f, 3.247315293e-03f, 3.244853697e-03f, 3.242386616e-03f, 3.239914057e-03f, 3.237436024e-03f, 3.234952521e-03f, 3.232463553e-03f,
+3.229969124e-03f, 3.227469239e-03f, 3.224963903e-03f, 3.222453120e-03f, 3.219936895e-03f, 3.217415232e-03f, 3.214888137e-03f, 3.212355613e-03f, 3.209817666e-03f, 3.207274299e-03f,
+3.204725519e-03f, 3.202171328e-03f, 3.199611733e-03f, 3.197046738e-03f, 3.194476347e-03f, 3.191900565e-03f, 3.189319397e-03f, 3.186732848e-03f, 3.184140922e-03f, 3.181543625e-03f,
+3.178940960e-03f, 3.176332933e-03f, 3.173719548e-03f, 3.171100811e-03f, 3.168476726e-03f, 3.165847297e-03f, 3.163212530e-03f, 3.160572430e-03f, 3.157927000e-03f, 3.155276247e-03f,
+3.152620175e-03f, 3.149958789e-03f, 3.147292094e-03f, 3.144620094e-03f, 3.141942795e-03f, 3.139260201e-03f, 3.136572317e-03f, 3.133879148e-03f, 3.131180700e-03f, 3.128476976e-03f,
+3.125767983e-03f, 3.123053724e-03f, 3.120334206e-03f, 3.117609432e-03f, 3.114879408e-03f, 3.112144138e-03f, 3.109403629e-03f, 3.106657884e-03f, 3.103906909e-03f, 3.101150709e-03f,
+3.098389289e-03f, 3.095622654e-03f, 3.092850808e-03f, 3.090073758e-03f, 3.087291508e-03f, 3.084504062e-03f, 3.081711427e-03f, 3.078913607e-03f, 3.076110608e-03f, 3.073302434e-03f,
+3.070489091e-03f, 3.067670583e-03f, 3.064846916e-03f, 3.062018095e-03f, 3.059184125e-03f, 3.056345012e-03f, 3.053500760e-03f, 3.050651375e-03f, 3.047796861e-03f, 3.044937224e-03f,
+3.042072470e-03f, 3.039202603e-03f, 3.036327629e-03f, 3.033447552e-03f, 3.030562379e-03f, 3.027672114e-03f, 3.024776763e-03f, 3.021876330e-03f, 3.018970821e-03f, 3.016060242e-03f,
+3.013144598e-03f, 3.010223893e-03f, 3.007298134e-03f, 3.004367326e-03f, 3.001431473e-03f, 2.998490581e-03f, 2.995544657e-03f, 2.992593704e-03f, 2.989637728e-03f, 2.986676735e-03f,
+2.983710730e-03f, 2.980739718e-03f, 2.977763705e-03f, 2.974782696e-03f, 2.971796697e-03f, 2.968805713e-03f, 2.965809749e-03f, 2.962808811e-03f, 2.959802904e-03f, 2.956792034e-03f,
+2.953776206e-03f, 2.950755426e-03f, 2.947729698e-03f, 2.944699030e-03f, 2.941663425e-03f, 2.938622890e-03f, 2.935577430e-03f, 2.932527051e-03f, 2.929471757e-03f, 2.926411556e-03f,
+2.923346451e-03f, 2.920276449e-03f, 2.917201556e-03f, 2.914121776e-03f, 2.911037115e-03f, 2.907947580e-03f, 2.904853175e-03f, 2.901753906e-03f, 2.898649779e-03f, 2.895540799e-03f,
+2.892426972e-03f, 2.889308304e-03f, 2.886184800e-03f, 2.883056466e-03f, 2.879923307e-03f, 2.876785330e-03f, 2.873642539e-03f, 2.870494941e-03f, 2.867342541e-03f, 2.864185345e-03f,
+2.861023359e-03f, 2.857856588e-03f, 2.854685037e-03f, 2.851508714e-03f, 2.848327623e-03f, 2.845141770e-03f, 2.841951161e-03f, 2.838755802e-03f, 2.835555698e-03f, 2.832350856e-03f,
+2.829141280e-03f, 2.825926977e-03f, 2.822707953e-03f, 2.819484213e-03f, 2.816255764e-03f, 2.813022610e-03f, 2.809784758e-03f, 2.806542214e-03f, 2.803294984e-03f, 2.800043072e-03f,
+2.796786486e-03f, 2.793525231e-03f, 2.790259313e-03f, 2.786988738e-03f, 2.783713511e-03f, 2.780433639e-03f, 2.777149128e-03f, 2.773859983e-03f, 2.770566210e-03f, 2.767267816e-03f,
+2.763964805e-03f, 2.760657185e-03f, 2.757344961e-03f, 2.754028139e-03f, 2.750706725e-03f, 2.747380725e-03f, 2.744050145e-03f, 2.740714991e-03f, 2.737375269e-03f, 2.734030984e-03f,
+2.730682144e-03f, 2.727328754e-03f, 2.723970819e-03f, 2.720608347e-03f, 2.717241342e-03f, 2.713869812e-03f, 2.710493762e-03f, 2.707113198e-03f, 2.703728127e-03f, 2.700338554e-03f,
+2.696944485e-03f, 2.693545927e-03f, 2.690142885e-03f, 2.686735366e-03f, 2.683323376e-03f, 2.679906921e-03f, 2.676486008e-03f, 2.673060641e-03f, 2.669630828e-03f, 2.666196574e-03f,
+2.662757886e-03f, 2.659314770e-03f, 2.655867232e-03f, 2.652415279e-03f, 2.648958915e-03f, 2.645498149e-03f, 2.642032985e-03f, 2.638563430e-03f, 2.635089490e-03f, 2.631611172e-03f,
+2.628128482e-03f, 2.624641425e-03f, 2.621150009e-03f, 2.617654239e-03f, 2.614154122e-03f, 2.610649664e-03f, 2.607140871e-03f, 2.603627750e-03f, 2.600110306e-03f, 2.596588546e-03f,
+2.593062477e-03f, 2.589532105e-03f, 2.585997436e-03f, 2.582458476e-03f, 2.578915232e-03f, 2.575367710e-03f, 2.571815916e-03f, 2.568259857e-03f, 2.564699539e-03f, 2.561134969e-03f,
+2.557566152e-03f, 2.553993096e-03f, 2.550415806e-03f, 2.546834289e-03f, 2.543248552e-03f, 2.539658601e-03f, 2.536064441e-03f, 2.532466081e-03f, 2.528863525e-03f, 2.525256782e-03f,
+2.521645856e-03f, 2.518030754e-03f, 2.514411484e-03f, 2.510788050e-03f, 2.507160461e-03f, 2.503528722e-03f, 2.499892839e-03f, 2.496252820e-03f, 2.492608671e-03f, 2.488960398e-03f,
+2.485308008e-03f, 2.481651507e-03f, 2.477990902e-03f, 2.474326200e-03f, 2.470657406e-03f, 2.466984528e-03f, 2.463307572e-03f, 2.459626544e-03f, 2.455941452e-03f, 2.452252301e-03f,
+2.448559099e-03f, 2.444861851e-03f, 2.441160565e-03f, 2.437455247e-03f, 2.433745904e-03f, 2.430032542e-03f, 2.426315168e-03f, 2.422593788e-03f, 2.418868410e-03f, 2.415139039e-03f,
+2.411405683e-03f, 2.407668349e-03f, 2.403927041e-03f, 2.400181769e-03f, 2.396432537e-03f, 2.392679354e-03f, 2.388922224e-03f, 2.385161156e-03f, 2.381396156e-03f, 2.377627231e-03f,
+2.373854386e-03f, 2.370077630e-03f, 2.366296968e-03f, 2.362512408e-03f, 2.358723956e-03f, 2.354931619e-03f, 2.351135404e-03f, 2.347335317e-03f, 2.343531366e-03f, 2.339723556e-03f,
+2.335911895e-03f, 2.332096390e-03f, 2.328277047e-03f, 2.324453873e-03f, 2.320626876e-03f, 2.316796060e-03f, 2.312961435e-03f, 2.309123005e-03f, 2.305280779e-03f, 2.301434763e-03f,
+2.297584964e-03f, 2.293731389e-03f, 2.289874044e-03f, 2.286012936e-03f, 2.282148073e-03f, 2.278279461e-03f, 2.274407107e-03f, 2.270531017e-03f, 2.266651200e-03f, 2.262767661e-03f,
+2.258880408e-03f, 2.254989447e-03f, 2.251094786e-03f, 2.247196431e-03f, 2.243294389e-03f, 2.239388668e-03f, 2.235479273e-03f, 2.231566213e-03f, 2.227649493e-03f, 2.223729122e-03f,
+2.219805105e-03f, 2.215877450e-03f, 2.211946164e-03f, 2.208011254e-03f, 2.204072727e-03f, 2.200130590e-03f, 2.196184849e-03f, 2.192235512e-03f, 2.188282586e-03f, 2.184326077e-03f,
+2.180365994e-03f, 2.176402342e-03f, 2.172435129e-03f, 2.168464362e-03f, 2.164490048e-03f, 2.160512194e-03f, 2.156530807e-03f, 2.152545894e-03f, 2.148557463e-03f, 2.144565519e-03f,
+2.140570071e-03f, 2.136571126e-03f, 2.132568689e-03f, 2.128562770e-03f, 2.124553374e-03f, 2.120540509e-03f, 2.116524182e-03f, 2.112504399e-03f, 2.108481169e-03f, 2.104454498e-03f,
+2.100424394e-03f, 2.096390863e-03f, 2.092353913e-03f, 2.088313550e-03f, 2.084269783e-03f, 2.080222618e-03f, 2.076172062e-03f, 2.072118122e-03f, 2.068060806e-03f, 2.064000121e-03f,
+2.059936074e-03f, 2.055868672e-03f, 2.051797923e-03f, 2.047723833e-03f, 2.043646410e-03f, 2.039565661e-03f, 2.035481594e-03f, 2.031394215e-03f, 2.027303531e-03f, 2.023209551e-03f,
+2.019112280e-03f, 2.015011728e-03f, 2.010907900e-03f, 2.006800803e-03f, 2.002690446e-03f, 1.998576836e-03f, 1.994459979e-03f, 1.990339883e-03f, 1.986216556e-03f, 1.982090004e-03f,
+1.977960235e-03f, 1.973827257e-03f, 1.969691076e-03f, 1.965551699e-03f, 1.961409135e-03f, 1.957263390e-03f, 1.953114472e-03f, 1.948962389e-03f, 1.944807146e-03f, 1.940648752e-03f,
+1.936487215e-03f, 1.932322541e-03f, 1.928154738e-03f, 1.923983813e-03f, 1.919809773e-03f, 1.915632627e-03f, 1.911452380e-03f, 1.907269042e-03f, 1.903082618e-03f, 1.898893117e-03f,
+1.894700546e-03f, 1.890504912e-03f, 1.886306223e-03f, 1.882104486e-03f, 1.877899709e-03f, 1.873691898e-03f, 1.869481061e-03f, 1.865267207e-03f, 1.861050341e-03f, 1.856830473e-03f,
+1.852607608e-03f, 1.848381755e-03f, 1.844152921e-03f, 1.839921113e-03f, 1.835686339e-03f, 1.831448607e-03f, 1.827207923e-03f, 1.822964296e-03f, 1.818717732e-03f, 1.814468240e-03f,
+1.810215827e-03f, 1.805960500e-03f, 1.801702266e-03f, 1.797441134e-03f, 1.793177111e-03f, 1.788910204e-03f, 1.784640421e-03f, 1.780367770e-03f, 1.776092257e-03f, 1.771813891e-03f,
+1.767532678e-03f, 1.763248627e-03f, 1.758961745e-03f, 1.754672040e-03f, 1.750379519e-03f, 1.746084190e-03f, 1.741786060e-03f, 1.737485136e-03f, 1.733181428e-03f, 1.728874941e-03f,
+1.724565684e-03f, 1.720253664e-03f, 1.715938888e-03f, 1.711621366e-03f, 1.707301103e-03f, 1.702978107e-03f, 1.698652387e-03f, 1.694323950e-03f, 1.689992803e-03f, 1.685658954e-03f,
+1.681322411e-03f, 1.676983181e-03f, 1.672641271e-03f, 1.668296691e-03f, 1.663949447e-03f, 1.659599546e-03f, 1.655246997e-03f, 1.650891807e-03f, 1.646533984e-03f, 1.642173536e-03f,
+1.637810469e-03f, 1.633444793e-03f, 1.629076514e-03f, 1.624705640e-03f, 1.620332179e-03f, 1.615956139e-03f, 1.611577526e-03f, 1.607196350e-03f, 1.602812617e-03f, 1.598426336e-03f,
+1.594037514e-03f, 1.589646158e-03f, 1.585252278e-03f, 1.580855879e-03f, 1.576456970e-03f, 1.572055559e-03f, 1.567651653e-03f, 1.563245260e-03f, 1.558836389e-03f, 1.554425046e-03f,
+1.550011239e-03f, 1.545594976e-03f, 1.541176265e-03f, 1.536755114e-03f, 1.532331530e-03f, 1.527905522e-03f, 1.523477096e-03f, 1.519046261e-03f, 1.514613025e-03f, 1.510177395e-03f,
+1.505739379e-03f, 1.501298984e-03f, 1.496856220e-03f, 1.492411093e-03f, 1.487963611e-03f, 1.483513782e-03f, 1.479061614e-03f, 1.474607114e-03f, 1.470150292e-03f, 1.465691153e-03f,
+1.461229707e-03f, 1.456765960e-03f, 1.452299921e-03f, 1.447831598e-03f, 1.443360999e-03f, 1.438888130e-03f, 1.434413001e-03f, 1.429935619e-03f, 1.425455992e-03f, 1.420974127e-03f,
+1.416490033e-03f, 1.412003717e-03f, 1.407515188e-03f, 1.403024453e-03f, 1.398531520e-03f, 1.394036396e-03f, 1.389539091e-03f, 1.385039611e-03f, 1.380537965e-03f, 1.376034160e-03f,
+1.371528204e-03f, 1.367020106e-03f, 1.362509873e-03f, 1.357997512e-03f, 1.353483033e-03f, 1.348966443e-03f, 1.344447749e-03f, 1.339926960e-03f, 1.335404084e-03f, 1.330879128e-03f,
+1.326352100e-03f, 1.321823009e-03f, 1.317291862e-03f, 1.312758668e-03f, 1.308223433e-03f, 1.303686167e-03f, 1.299146877e-03f, 1.294605571e-03f, 1.290062256e-03f, 1.285516942e-03f,
+1.280969635e-03f, 1.276420345e-03f, 1.271869078e-03f, 1.267315842e-03f, 1.262760647e-03f, 1.258203499e-03f, 1.253644407e-03f, 1.249083378e-03f, 1.244520421e-03f, 1.239955544e-03f,
+1.235388754e-03f, 1.230820060e-03f, 1.226249470e-03f, 1.221676991e-03f, 1.217102631e-03f, 1.212526399e-03f, 1.207948303e-03f, 1.203368350e-03f, 1.198786549e-03f, 1.194202907e-03f,
+1.189617433e-03f, 1.185030135e-03f, 1.180441020e-03f, 1.175850097e-03f, 1.171257373e-03f, 1.166662858e-03f, 1.162066558e-03f, 1.157468481e-03f, 1.152868637e-03f, 1.148267033e-03f,
+1.143663676e-03f, 1.139058575e-03f, 1.134451738e-03f, 1.129843174e-03f, 1.125232889e-03f, 1.120620893e-03f, 1.116007192e-03f, 1.111391796e-03f, 1.106774713e-03f, 1.102155950e-03f,
+1.097535515e-03f, 1.092913416e-03f, 1.088289663e-03f, 1.083664262e-03f, 1.079037221e-03f, 1.074408550e-03f, 1.069778255e-03f, 1.065146346e-03f, 1.060512829e-03f, 1.055877714e-03f,
+1.051241008e-03f, 1.046602719e-03f, 1.041962855e-03f, 1.037321426e-03f, 1.032678438e-03f, 1.028033899e-03f, 1.023387819e-03f, 1.018740204e-03f, 1.014091064e-03f, 1.009440405e-03f,
+1.004788237e-03f, 1.000134567e-03f, 9.954794044e-04f, 9.908227559e-04f, 9.861646302e-04f, 9.815050354e-04f, 9.768439797e-04f, 9.721814710e-04f, 9.675175177e-04f, 9.628521278e-04f,
+9.581853094e-04f, 9.535170707e-04f, 9.488474199e-04f, 9.441763650e-04f, 9.395039142e-04f, 9.348300757e-04f, 9.301548576e-04f, 9.254782680e-04f, 9.208003152e-04f, 9.161210072e-04f,
+9.114403522e-04f, 9.067583584e-04f, 9.020750339e-04f, 8.973903869e-04f, 8.927044256e-04f, 8.880171581e-04f, 8.833285926e-04f, 8.786387372e-04f, 8.739476002e-04f, 8.692551896e-04f,
+8.645615138e-04f, 8.598665807e-04f, 8.551703987e-04f, 8.504729759e-04f, 8.457743205e-04f, 8.410744407e-04f, 8.363733446e-04f, 8.316710404e-04f, 8.269675364e-04f, 8.222628406e-04f,
+8.175569614e-04f, 8.128499069e-04f, 8.081416852e-04f, 8.034323047e-04f, 7.987217734e-04f, 7.940100996e-04f, 7.892972915e-04f, 7.845833573e-04f, 7.798683052e-04f, 7.751521434e-04f,
+7.704348800e-04f, 7.657165234e-04f, 7.609970817e-04f, 7.562765631e-04f, 7.515549759e-04f, 7.468323282e-04f, 7.421086283e-04f, 7.373838843e-04f, 7.326581046e-04f, 7.279312973e-04f,
+7.232034706e-04f, 7.184746329e-04f, 7.137447922e-04f, 7.090139568e-04f, 7.042821349e-04f, 6.995493349e-04f, 6.948155648e-04f, 6.900808330e-04f, 6.853451476e-04f, 6.806085169e-04f,
+6.758709491e-04f, 6.711324525e-04f, 6.663930353e-04f, 6.616527057e-04f, 6.569114720e-04f, 6.521693424e-04f, 6.474263252e-04f, 6.426824285e-04f, 6.379376607e-04f, 6.331920300e-04f,
+6.284455446e-04f, 6.236982128e-04f, 6.189500427e-04f, 6.142010428e-04f, 6.094512212e-04f, 6.047005861e-04f, 5.999491459e-04f, 5.951969087e-04f, 5.904438828e-04f, 5.856900766e-04f,
+5.809354981e-04f, 5.761801558e-04f, 5.714240577e-04f, 5.666672123e-04f, 5.619096278e-04f, 5.571513124e-04f, 5.523922743e-04f, 5.476325219e-04f, 5.428720634e-04f, 5.381109071e-04f,
+5.333490612e-04f, 5.285865340e-04f, 5.238233337e-04f, 5.190594687e-04f, 5.142949472e-04f, 5.095297774e-04f, 5.047639677e-04f, 4.999975262e-04f, 4.952304613e-04f, 4.904627813e-04f,
+4.856944943e-04f, 4.809256088e-04f, 4.761561329e-04f, 4.713860749e-04f, 4.666154431e-04f, 4.618442458e-04f, 4.570724912e-04f, 4.523001876e-04f, 4.475273433e-04f, 4.427539666e-04f,
+4.379800658e-04f, 4.332056490e-04f, 4.284307247e-04f, 4.236553010e-04f, 4.188793863e-04f, 4.141029889e-04f, 4.093261169e-04f, 4.045487787e-04f, 3.997709826e-04f, 3.949927369e-04f,
+3.902140498e-04f, 3.854349296e-04f, 3.806553846e-04f, 3.758754231e-04f, 3.710950533e-04f, 3.663142836e-04f, 3.615331222e-04f, 3.567515774e-04f, 3.519696575e-04f, 3.471873707e-04f,
+3.424047255e-04f, 3.376217299e-04f, 3.328383924e-04f, 3.280547212e-04f, 3.232707246e-04f, 3.184864108e-04f, 3.137017882e-04f, 3.089168651e-04f, 3.041316497e-04f, 2.993461503e-04f,
+2.945603751e-04f, 2.897743326e-04f, 2.849880310e-04f, 2.802014785e-04f, 2.754146834e-04f, 2.706276540e-04f, 2.658403987e-04f, 2.610529256e-04f, 2.562652432e-04f, 2.514773596e-04f,
+2.466892831e-04f, 2.419010221e-04f, 2.371125847e-04f, 2.323239794e-04f, 2.275352144e-04f, 2.227462979e-04f, 2.179572383e-04f, 2.131680438e-04f, 2.083787227e-04f, 2.035892834e-04f,
+1.987997340e-04f, 1.940100829e-04f, 1.892203383e-04f, 1.844305086e-04f, 1.796406020e-04f, 1.748506268e-04f, 1.700605912e-04f, 1.652705037e-04f, 1.604803723e-04f, 1.556902055e-04f,
+1.509000115e-04f, 1.461097986e-04f, 1.413195750e-04f, 1.365293491e-04f, 1.317391291e-04f, 1.269489233e-04f, 1.221587400e-04f, 1.173685874e-04f, 1.125784738e-04f, 1.077884076e-04f,
+1.029983969e-04f, 9.820845014e-05f, 9.341857548e-05f, 8.862878122e-05f, 8.383907564e-05f, 7.904946701e-05f, 7.425996361e-05f, 6.947057371e-05f, 6.468130557e-05f, 5.989216748e-05f,
+5.510316770e-05f, 5.031431450e-05f, 4.552561615e-05f, 4.073708091e-05f, 3.594871706e-05f, 3.116053286e-05f, 2.637253658e-05f, 2.158473648e-05f, 1.679714083e-05f, 1.200975788e-05f,
+7.222595914e-06f, 2.435663180e-06f, -2.351032057e-06f, -7.137481536e-06f, -1.192367700e-05f, -1.670961019e-05f, -2.149527284e-05f, -2.628065670e-05f, -3.106575352e-05f, -3.585055503e-05f,
+-4.063505299e-05f, -4.541923913e-05f, -5.020310522e-05f, -5.498664299e-05f, -5.976984420e-05f, -6.455270059e-05f, -6.933520393e-05f, -7.411734595e-05f, -7.889911842e-05f, -8.368051308e-05f,
+-8.846152171e-05f, -9.324213604e-05f, -9.802234784e-05f, -1.028021489e-04f, -1.075815309e-04f, -1.123604857e-04f, -1.171390050e-04f, -1.219170805e-04f, -1.266947041e-04f, -1.314718675e-04f,
+-1.362485625e-04f, -1.410247808e-04f, -1.458005143e-04f, -1.505757546e-04f, -1.553504936e-04f, -1.601247230e-04f, -1.648984346e-04f, -1.696716202e-04f, -1.744442715e-04f, -1.792163804e-04f,
+-1.839879386e-04f, -1.887589379e-04f, -1.935293701e-04f, -1.982992269e-04f, -2.030685002e-04f, -2.078371818e-04f, -2.126052633e-04f, -2.173727367e-04f, -2.221395937e-04f, -2.269058261e-04f,
+-2.316714257e-04f, -2.364363842e-04f, -2.412006936e-04f, -2.459643456e-04f, -2.507273319e-04f, -2.554896444e-04f, -2.602512750e-04f, -2.650122153e-04f, -2.697724572e-04f, -2.745319925e-04f,
+-2.792908131e-04f, -2.840489107e-04f, -2.888062772e-04f, -2.935629043e-04f, -2.983187839e-04f, -3.030739078e-04f, -3.078282678e-04f, -3.125818558e-04f, -3.173346635e-04f, -3.220866829e-04f,
+-3.268379056e-04f, -3.315883236e-04f, -3.363379287e-04f, -3.410867126e-04f, -3.458346674e-04f, -3.505817847e-04f, -3.553280564e-04f, -3.600734744e-04f, -3.648180305e-04f, -3.695617166e-04f,
+-3.743045244e-04f, -3.790464459e-04f, -3.837874729e-04f, -3.885275972e-04f, -3.932668107e-04f, -3.980051052e-04f, -4.027424727e-04f, -4.074789049e-04f, -4.122143938e-04f, -4.169489311e-04f,
+-4.216825089e-04f, -4.264151188e-04f, -4.311467528e-04f, -4.358774029e-04f, -4.406070607e-04f, -4.453357183e-04f, -4.500633674e-04f, -4.547900001e-04f, -4.595156081e-04f, -4.642401833e-04f,
+-4.689637177e-04f, -4.736862031e-04f, -4.784076315e-04f, -4.831279946e-04f, -4.878472844e-04f, -4.925654928e-04f, -4.972826118e-04f, -5.019986331e-04f, -5.067135487e-04f, -5.114273506e-04f,
+-5.161400306e-04f, -5.208515806e-04f, -5.255619926e-04f, -5.302712584e-04f, -5.349793701e-04f, -5.396863194e-04f, -5.443920984e-04f, -5.490966990e-04f, -5.538001130e-04f, -5.585023325e-04f,
+-5.632033493e-04f, -5.679031554e-04f, -5.726017427e-04f, -5.772991032e-04f, -5.819952288e-04f, -5.866901115e-04f, -5.913837432e-04f, -5.960761159e-04f, -6.007672214e-04f, -6.054570519e-04f,
+-6.101455992e-04f, -6.148328553e-04f, -6.195188121e-04f, -6.242034617e-04f, -6.288867959e-04f, -6.335688068e-04f, -6.382494864e-04f, -6.429288266e-04f, -6.476068194e-04f, -6.522834568e-04f,
+-6.569587307e-04f, -6.616326333e-04f, -6.663051563e-04f, -6.709762920e-04f, -6.756460321e-04f, -6.803143688e-04f, -6.849812941e-04f, -6.896467999e-04f, -6.943108783e-04f, -6.989735212e-04f,
+-7.036347208e-04f, -7.082944689e-04f, -7.129527577e-04f, -7.176095791e-04f, -7.222649252e-04f, -7.269187880e-04f, -7.315711595e-04f, -7.362220319e-04f, -7.408713970e-04f, -7.455192469e-04f,
+-7.501655738e-04f, -7.548103696e-04f, -7.594536264e-04f, -7.640953362e-04f, -7.687354912e-04f, -7.733740833e-04f, -7.780111046e-04f, -7.826465472e-04f, -7.872804032e-04f, -7.919126646e-04f,
+-7.965433235e-04f, -8.011723720e-04f, -8.057998021e-04f, -8.104256060e-04f, -8.150497758e-04f, -8.196723034e-04f, -8.242931811e-04f, -8.289124009e-04f, -8.335299549e-04f, -8.381458352e-04f,
+-8.427600340e-04f, -8.473725433e-04f, -8.519833553e-04f, -8.565924620e-04f, -8.611998556e-04f, -8.658055283e-04f, -8.704094721e-04f, -8.750116791e-04f, -8.796121416e-04f, -8.842108516e-04f,
+-8.888078013e-04f, -8.934029828e-04f, -8.979963883e-04f, -9.025880100e-04f, -9.071778399e-04f, -9.117658702e-04f, -9.163520932e-04f, -9.209365010e-04f, -9.255190856e-04f, -9.300998394e-04f,
+-9.346787545e-04f, -9.392558230e-04f, -9.438310372e-04f, -9.484043893e-04f, -9.529758713e-04f, -9.575454756e-04f, -9.621131943e-04f, -9.666790196e-04f, -9.712429438e-04f, -9.758049589e-04f,
+-9.803650573e-04f, -9.849232312e-04f, -9.894794728e-04f, -9.940337742e-04f, -9.985861278e-04f, -1.003136526e-03f, -1.007684960e-03f, -1.012231424e-03f, -1.016775908e-03f, -1.021318406e-03f,
+-1.025858909e-03f, -1.030397411e-03f, -1.034933902e-03f, -1.039468375e-03f, -1.044000824e-03f, -1.048531239e-03f, -1.053059613e-03f, -1.057585939e-03f, -1.062110208e-03f, -1.066632414e-03f,
+-1.071152547e-03f, -1.075670602e-03f, -1.080186569e-03f, -1.084700441e-03f, -1.089212211e-03f, -1.093721870e-03f, -1.098229412e-03f, -1.102734828e-03f, -1.107238111e-03f, -1.111739253e-03f,
+-1.116238246e-03f, -1.120735083e-03f, -1.125229756e-03f, -1.129722258e-03f, -1.134212580e-03f, -1.138700716e-03f, -1.143186657e-03f, -1.147670395e-03f, -1.152151924e-03f, -1.156631235e-03f,
+-1.161108322e-03f, -1.165583175e-03f, -1.170055788e-03f, -1.174526154e-03f, -1.178994264e-03f, -1.183460110e-03f, -1.187923686e-03f, -1.192384983e-03f, -1.196843995e-03f, -1.201300713e-03f,
+-1.205755129e-03f, -1.210207237e-03f, -1.214657029e-03f, -1.219104497e-03f, -1.223549633e-03f, -1.227992431e-03f, -1.232432882e-03f, -1.236870978e-03f, -1.241306714e-03f, -1.245740079e-03f,
+-1.250171068e-03f, -1.254599673e-03f, -1.259025886e-03f, -1.263449700e-03f, -1.267871106e-03f, -1.272290099e-03f, -1.276706669e-03f, -1.281120810e-03f, -1.285532514e-03f, -1.289941773e-03f,
+-1.294348581e-03f, -1.298752929e-03f, -1.303154810e-03f, -1.307554217e-03f, -1.311951142e-03f, -1.316345578e-03f, -1.320737517e-03f, -1.325126951e-03f, -1.329513874e-03f, -1.333898277e-03f,
+-1.338280154e-03f, -1.342659497e-03f, -1.347036298e-03f, -1.351410551e-03f, -1.355782247e-03f, -1.360151379e-03f, -1.364517940e-03f, -1.368881922e-03f, -1.373243318e-03f, -1.377602121e-03f,
+-1.381958322e-03f, -1.386311916e-03f, -1.390662894e-03f, -1.395011248e-03f, -1.399356973e-03f, -1.403700059e-03f, -1.408040501e-03f, -1.412378289e-03f, -1.416713418e-03f, -1.421045880e-03f,
+-1.425375666e-03f, -1.429702771e-03f, -1.434027187e-03f, -1.438348906e-03f, -1.442667921e-03f, -1.446984224e-03f, -1.451297809e-03f, -1.455608668e-03f, -1.459916794e-03f, -1.464222179e-03f,
+-1.468524816e-03f, -1.472824699e-03f, -1.477121818e-03f, -1.481416168e-03f, -1.485707741e-03f, -1.489996529e-03f, -1.494282526e-03f, -1.498565724e-03f, -1.502846116e-03f, -1.507123695e-03f,
+-1.511398453e-03f, -1.515670383e-03f, -1.519939478e-03f, -1.524205730e-03f, -1.528469133e-03f, -1.532729680e-03f, -1.536987362e-03f, -1.541242173e-03f, -1.545494105e-03f, -1.549743152e-03f,
+-1.553989306e-03f, -1.558232561e-03f, -1.562472907e-03f, -1.566710340e-03f, -1.570944851e-03f, -1.575176433e-03f, -1.579405079e-03f, -1.583630782e-03f, -1.587853535e-03f, -1.592073331e-03f,
+-1.596290162e-03f, -1.600504021e-03f, -1.604714902e-03f, -1.608922797e-03f, -1.613127698e-03f, -1.617329600e-03f, -1.621528494e-03f, -1.625724374e-03f, -1.629917232e-03f, -1.634107062e-03f,
+-1.638293857e-03f, -1.642477608e-03f, -1.646658310e-03f, -1.650835955e-03f, -1.655010536e-03f, -1.659182045e-03f, -1.663350477e-03f, -1.667515824e-03f, -1.671678079e-03f, -1.675837234e-03f,
+-1.679993283e-03f, -1.684146219e-03f, -1.688296035e-03f, -1.692442723e-03f, -1.696586278e-03f, -1.700726690e-03f, -1.704863955e-03f, -1.708998064e-03f, -1.713129011e-03f, -1.717256789e-03f,
+-1.721381391e-03f, -1.725502809e-03f, -1.729621038e-03f, -1.733736069e-03f, -1.737847896e-03f, -1.741956512e-03f, -1.746061910e-03f, -1.750164084e-03f, -1.754263025e-03f, -1.758358728e-03f,
+-1.762451186e-03f, -1.766540390e-03f, -1.770626336e-03f, -1.774709015e-03f, -1.778788420e-03f, -1.782864546e-03f, -1.786937385e-03f, -1.791006930e-03f, -1.795073174e-03f, -1.799136110e-03f,
+-1.803195732e-03f, -1.807252033e-03f, -1.811305006e-03f, -1.815354643e-03f, -1.819400939e-03f, -1.823443887e-03f, -1.827483478e-03f, -1.831519708e-03f, -1.835552569e-03f, -1.839582053e-03f,
+-1.843608155e-03f, -1.847630868e-03f, -1.851650184e-03f, -1.855666098e-03f, -1.859678601e-03f, -1.863687688e-03f, -1.867693352e-03f, -1.871695586e-03f, -1.875694383e-03f, -1.879689737e-03f,
+-1.883681640e-03f, -1.887670086e-03f, -1.891655069e-03f, -1.895636581e-03f, -1.899614616e-03f, -1.903589168e-03f, -1.907560229e-03f, -1.911527792e-03f, -1.915491852e-03f, -1.919452401e-03f,
+-1.923409434e-03f, -1.927362942e-03f, -1.931312920e-03f, -1.935259360e-03f, -1.939202257e-03f, -1.943141603e-03f, -1.947077393e-03f, -1.951009618e-03f, -1.954938273e-03f, -1.958863352e-03f,
+-1.962784847e-03f, -1.966702752e-03f, -1.970617060e-03f, -1.974527764e-03f, -1.978434859e-03f, -1.982338338e-03f, -1.986238193e-03f, -1.990134419e-03f, -1.994027009e-03f, -1.997915956e-03f,
+-2.001801254e-03f, -2.005682896e-03f, -2.009560877e-03f, -2.013435188e-03f, -2.017305824e-03f, -2.021172778e-03f, -2.025036044e-03f, -2.028895616e-03f, -2.032751486e-03f, -2.036603648e-03f,
+-2.040452096e-03f, -2.044296824e-03f, -2.048137824e-03f, -2.051975091e-03f, -2.055808618e-03f, -2.059638398e-03f, -2.063464426e-03f, -2.067286694e-03f, -2.071105196e-03f, -2.074919927e-03f,
+-2.078730879e-03f, -2.082538046e-03f, -2.086341422e-03f, -2.090141000e-03f, -2.093936774e-03f, -2.097728737e-03f, -2.101516884e-03f, -2.105301208e-03f, -2.109081702e-03f, -2.112858361e-03f,
+-2.116631177e-03f, -2.120400145e-03f, -2.124165258e-03f, -2.127926510e-03f, -2.131683894e-03f, -2.135437405e-03f, -2.139187036e-03f, -2.142932780e-03f, -2.146674632e-03f, -2.150412585e-03f,
+-2.154146633e-03f, -2.157876770e-03f, -2.161602989e-03f, -2.165325284e-03f, -2.169043649e-03f, -2.172758078e-03f, -2.176468564e-03f, -2.180175102e-03f, -2.183877684e-03f, -2.187576306e-03f,
+-2.191270960e-03f, -2.194961640e-03f, -2.198648341e-03f, -2.202331056e-03f, -2.206009779e-03f, -2.209684504e-03f, -2.213355224e-03f, -2.217021934e-03f, -2.220684628e-03f, -2.224343299e-03f,
+-2.227997940e-03f, -2.231648547e-03f, -2.235295113e-03f, -2.238937631e-03f, -2.242576097e-03f, -2.246210503e-03f, -2.249840843e-03f, -2.253467112e-03f, -2.257089304e-03f, -2.260707412e-03f,
+-2.264321430e-03f, -2.267931352e-03f, -2.271537173e-03f, -2.275138886e-03f, -2.278736486e-03f, -2.282329965e-03f, -2.285919319e-03f, -2.289504541e-03f, -2.293085625e-03f, -2.296662566e-03f,
+-2.300235356e-03f, -2.303803991e-03f, -2.307368465e-03f, -2.310928771e-03f, -2.314484903e-03f, -2.318036856e-03f, -2.321584624e-03f, -2.325128200e-03f, -2.328667579e-03f, -2.332202755e-03f,
+-2.335733722e-03f, -2.339260474e-03f, -2.342783005e-03f, -2.346301309e-03f, -2.349815381e-03f, -2.353325215e-03f, -2.356830804e-03f, -2.360332143e-03f, -2.363829227e-03f, -2.367322048e-03f,
+-2.370810602e-03f, -2.374294883e-03f, -2.377774884e-03f, -2.381250601e-03f, -2.384722026e-03f, -2.388189155e-03f, -2.391651982e-03f, -2.395110501e-03f, -2.398564705e-03f, -2.402014591e-03f,
+-2.405460150e-03f, -2.408901379e-03f, -2.412338271e-03f, -2.415770820e-03f, -2.419199021e-03f, -2.422622869e-03f, -2.426042356e-03f, -2.429457478e-03f, -2.432868229e-03f, -2.436274604e-03f,
+-2.439676596e-03f, -2.443074200e-03f, -2.446467410e-03f, -2.449856221e-03f, -2.453240627e-03f, -2.456620623e-03f, -2.459996202e-03f, -2.463367359e-03f, -2.466734089e-03f, -2.470096386e-03f,
+-2.473454245e-03f, -2.476807659e-03f, -2.480156624e-03f, -2.483501133e-03f, -2.486841181e-03f, -2.490176763e-03f, -2.493507874e-03f, -2.496834506e-03f, -2.500156656e-03f, -2.503474317e-03f,
+-2.506787484e-03f, -2.510096151e-03f, -2.513400314e-03f, -2.516699966e-03f, -2.519995102e-03f, -2.523285717e-03f, -2.526571804e-03f, -2.529853360e-03f, -2.533130377e-03f, -2.536402852e-03f,
+-2.539670778e-03f, -2.542934149e-03f, -2.546192962e-03f, -2.549447209e-03f, -2.552696886e-03f, -2.555941988e-03f, -2.559182508e-03f, -2.562418442e-03f, -2.565649784e-03f, -2.568876530e-03f,
+-2.572098672e-03f, -2.575316207e-03f, -2.578529129e-03f, -2.581737433e-03f, -2.584941112e-03f, -2.588140163e-03f, -2.591334579e-03f, -2.594524356e-03f, -2.597709488e-03f, -2.600889969e-03f,
+-2.604065795e-03f, -2.607236961e-03f, -2.610403460e-03f, -2.613565289e-03f, -2.616722440e-03f, -2.619874911e-03f, -2.623022694e-03f, -2.626165786e-03f, -2.629304180e-03f, -2.632437872e-03f,
+-2.635566856e-03f, -2.638691127e-03f, -2.641810681e-03f, -2.644925511e-03f, -2.648035614e-03f, -2.651140982e-03f, -2.654241613e-03f, -2.657337500e-03f, -2.660428638e-03f, -2.663515022e-03f,
+-2.666596647e-03f, -2.669673509e-03f, -2.672745601e-03f, -2.675812919e-03f, -2.678875458e-03f, -2.681933213e-03f, -2.684986178e-03f, -2.688034349e-03f, -2.691077721e-03f, -2.694116288e-03f,
+-2.697150046e-03f, -2.700178990e-03f, -2.703203114e-03f, -2.706222414e-03f, -2.709236884e-03f, -2.712246521e-03f, -2.715251318e-03f, -2.718251270e-03f, -2.721246374e-03f, -2.724236624e-03f,
+-2.727222014e-03f, -2.730202541e-03f, -2.733178199e-03f, -2.736148983e-03f, -2.739114889e-03f, -2.742075911e-03f, -2.745032045e-03f, -2.747983285e-03f, -2.750929628e-03f, -2.753871067e-03f,
+-2.756807599e-03f, -2.759739219e-03f, -2.762665921e-03f, -2.765587701e-03f, -2.768504553e-03f, -2.771416474e-03f, -2.774323459e-03f, -2.777225502e-03f, -2.780122599e-03f, -2.783014745e-03f,
+-2.785901936e-03f, -2.788784166e-03f, -2.791661431e-03f, -2.794533726e-03f, -2.797401047e-03f, -2.800263389e-03f, -2.803120746e-03f, -2.805973115e-03f, -2.808820491e-03f, -2.811662869e-03f,
+-2.814500244e-03f, -2.817332612e-03f, -2.820159968e-03f, -2.822982308e-03f, -2.825799626e-03f, -2.828611919e-03f, -2.831419181e-03f, -2.834221409e-03f, -2.837018596e-03f, -2.839810740e-03f,
+-2.842597835e-03f, -2.845379877e-03f, -2.848156860e-03f, -2.850928782e-03f, -2.853695636e-03f, -2.856457420e-03f, -2.859214127e-03f, -2.861965754e-03f, -2.864712295e-03f, -2.867453748e-03f,
+-2.870190106e-03f, -2.872921366e-03f, -2.875647523e-03f, -2.878368573e-03f, -2.881084512e-03f, -2.883795334e-03f, -2.886501035e-03f, -2.889201611e-03f, -2.891897058e-03f, -2.894587371e-03f,
+-2.897272546e-03f, -2.899952578e-03f, -2.902627464e-03f, -2.905297198e-03f, -2.907961776e-03f, -2.910621194e-03f, -2.913275448e-03f, -2.915924533e-03f, -2.918568445e-03f, -2.921207180e-03f,
+-2.923840733e-03f, -2.926469100e-03f, -2.929092278e-03f, -2.931710260e-03f, -2.934323044e-03f, -2.936930625e-03f, -2.939532999e-03f, -2.942130161e-03f, -2.944722108e-03f, -2.947308834e-03f,
+-2.949890337e-03f, -2.952466611e-03f, -2.955037653e-03f, -2.957603458e-03f, -2.960164023e-03f, -2.962719342e-03f, -2.965269412e-03f, -2.967814229e-03f, -2.970353789e-03f, -2.972888086e-03f,
+-2.975417119e-03f, -2.977940881e-03f, -2.980459370e-03f, -2.982972581e-03f, -2.985480510e-03f, -2.987983152e-03f, -2.990480505e-03f, -2.992972563e-03f, -2.995459323e-03f, -2.997940781e-03f,
+-3.000416933e-03f, -3.002887774e-03f, -3.005353301e-03f, -3.007813510e-03f, -3.010268396e-03f, -3.012717956e-03f, -3.015162186e-03f, -3.017601082e-03f, -3.020034640e-03f, -3.022462856e-03f,
+-3.024885726e-03f, -3.027303245e-03f, -3.029715411e-03f, -3.032122220e-03f, -3.034523667e-03f, -3.036919748e-03f, -3.039310460e-03f, -3.041695799e-03f, -3.044075761e-03f, -3.046450342e-03f,
+-3.048819538e-03f, -3.051183346e-03f, -3.053541761e-03f, -3.055894781e-03f, -3.058242400e-03f, -3.060584616e-03f, -3.062921424e-03f, -3.065252820e-03f, -3.067578802e-03f, -3.069899365e-03f,
+-3.072214506e-03f, -3.074524220e-03f, -3.076828505e-03f, -3.079127355e-03f, -3.081420769e-03f, -3.083708741e-03f, -3.085991269e-03f, -3.088268348e-03f, -3.090539975e-03f, -3.092806147e-03f,
+-3.095066859e-03f, -3.097322108e-03f, -3.099571891e-03f, -3.101816204e-03f, -3.104055042e-03f, -3.106288403e-03f, -3.108516284e-03f, -3.110738680e-03f, -3.112955587e-03f, -3.115167003e-03f,
+-3.117372924e-03f, -3.119573346e-03f, -3.121768266e-03f, -3.123957680e-03f, -3.126141584e-03f, -3.128319976e-03f, -3.130492852e-03f, -3.132660208e-03f, -3.134822040e-03f, -3.136978346e-03f,
+-3.139129122e-03f, -3.141274365e-03f, -3.143414070e-03f, -3.145548235e-03f, -3.147676856e-03f, -3.149799930e-03f, -3.151917453e-03f, -3.154029423e-03f, -3.156135835e-03f, -3.158236686e-03f,
+-3.160331973e-03f, -3.162421693e-03f, -3.164505842e-03f, -3.166584418e-03f, -3.168657415e-03f, -3.170724833e-03f, -3.172786666e-03f, -3.174842912e-03f, -3.176893567e-03f, -3.178938629e-03f,
+-3.180978094e-03f, -3.183011958e-03f, -3.185040219e-03f, -3.187062874e-03f, -3.189079918e-03f, -3.191091349e-03f, -3.193097164e-03f, -3.195097360e-03f, -3.197091933e-03f, -3.199080880e-03f,
+-3.201064198e-03f, -3.203041884e-03f, -3.205013934e-03f, -3.206980347e-03f, -3.208941118e-03f, -3.210896244e-03f, -3.212845722e-03f, -3.214789550e-03f, -3.216727724e-03f, -3.218660241e-03f,
+-3.220587098e-03f, -3.222508292e-03f, -3.224423820e-03f, -3.226333679e-03f, -3.228237866e-03f, -3.230136378e-03f, -3.232029212e-03f, -3.233916365e-03f, -3.235797833e-03f, -3.237673615e-03f,
+-3.239543707e-03f, -3.241408106e-03f, -3.243266809e-03f, -3.245119813e-03f, -3.246967116e-03f, -3.248808714e-03f, -3.250644604e-03f, -3.252474785e-03f, -3.254299252e-03f, -3.256118003e-03f,
+-3.257931035e-03f, -3.259738345e-03f, -3.261539931e-03f, -3.263335789e-03f, -3.265125917e-03f, -3.266910312e-03f, -3.268688971e-03f, -3.270461891e-03f, -3.272229070e-03f, -3.273990505e-03f,
+-3.275746193e-03f, -3.277496131e-03f, -3.279240317e-03f, -3.280978748e-03f, -3.282711420e-03f, -3.284438333e-03f, -3.286159482e-03f, -3.287874865e-03f, -3.289584480e-03f, -3.291288323e-03f,
+-3.292986393e-03f, -3.294678685e-03f, -3.296365199e-03f, -3.298045931e-03f, -3.299720879e-03f, -3.301390039e-03f, -3.303053410e-03f, -3.304710989e-03f, -3.306362773e-03f, -3.308008759e-03f,
+-3.309648946e-03f, -3.311283330e-03f, -3.312911910e-03f, -3.314534682e-03f, -3.316151644e-03f, -3.317762793e-03f, -3.319368128e-03f, -3.320967645e-03f, -3.322561342e-03f, -3.324149217e-03f,
+-3.325731267e-03f, -3.327307489e-03f, -3.328877882e-03f, -3.330442443e-03f, -3.332001170e-03f, -3.333554059e-03f, -3.335101109e-03f, -3.336642318e-03f, -3.338177682e-03f, -3.339707200e-03f,
+-3.341230869e-03f, -3.342748687e-03f, -3.344260652e-03f, -3.345766761e-03f, -3.347267012e-03f, -3.348761403e-03f, -3.350249931e-03f, -3.351732594e-03f, -3.353209389e-03f, -3.354680316e-03f,
+-3.356145371e-03f, -3.357604551e-03f, -3.359057856e-03f, -3.360505283e-03f, -3.361946828e-03f, -3.363382492e-03f, -3.364812270e-03f, -3.366236161e-03f, -3.367654163e-03f, -3.369066273e-03f,
+-3.370472490e-03f, -3.371872811e-03f, -3.373267234e-03f, -3.374655758e-03f, -3.376038379e-03f, -3.377415096e-03f, -3.378785907e-03f, -3.380150810e-03f, -3.381509803e-03f, -3.382862883e-03f,
+-3.384210048e-03f, -3.385551298e-03f, -3.386886629e-03f, -3.388216039e-03f, -3.389539527e-03f, -3.390857090e-03f, -3.392168727e-03f, -3.393474436e-03f, -3.394774214e-03f, -3.396068060e-03f,
+-3.397355972e-03f, -3.398637947e-03f, -3.399913984e-03f, -3.401184082e-03f, -3.402448238e-03f, -3.403706449e-03f, -3.404958716e-03f, -3.406205034e-03f, -3.407445404e-03f, -3.408679822e-03f,
+-3.409908287e-03f, -3.411130797e-03f, -3.412347351e-03f, -3.413557946e-03f, -3.414762581e-03f, -3.415961254e-03f, -3.417153963e-03f, -3.418340706e-03f, -3.419521483e-03f, -3.420696290e-03f,
+-3.421865126e-03f, -3.423027990e-03f, -3.424184880e-03f, -3.425335794e-03f, -3.426480730e-03f, -3.427619687e-03f, -3.428752663e-03f, -3.429879657e-03f, -3.431000666e-03f, -3.432115689e-03f,
+-3.433224725e-03f, -3.434327772e-03f, -3.435424828e-03f, -3.436515892e-03f, -3.437600962e-03f, -3.438680036e-03f, -3.439753114e-03f, -3.440820193e-03f, -3.441881271e-03f, -3.442936349e-03f,
+-3.443985423e-03f, -3.445028492e-03f, -3.446065555e-03f, -3.447096611e-03f, -3.448121657e-03f, -3.449140693e-03f, -3.450153717e-03f, -3.451160727e-03f, -3.452161723e-03f, -3.453156702e-03f,
+-3.454145663e-03f, -3.455128605e-03f, -3.456105527e-03f, -3.457076426e-03f, -3.458041303e-03f, -3.459000154e-03f, -3.459952980e-03f, -3.460899778e-03f, -3.461840547e-03f, -3.462775287e-03f,
+-3.463703995e-03f, -3.464626670e-03f, -3.465543312e-03f, -3.466453918e-03f, -3.467358488e-03f, -3.468257020e-03f, -3.469149513e-03f, -3.470035966e-03f, -3.470916377e-03f, -3.471790746e-03f,
+-3.472659071e-03f, -3.473521350e-03f, -3.474377584e-03f, -3.475227770e-03f, -3.476071908e-03f, -3.476909995e-03f, -3.477742032e-03f, -3.478568017e-03f, -3.479387949e-03f, -3.480201827e-03f,
+-3.481009649e-03f, -3.481811415e-03f, -3.482607123e-03f, -3.483396772e-03f, -3.484180362e-03f, -3.484957892e-03f, -3.485729359e-03f, -3.486494764e-03f, -3.487254105e-03f, -3.488007382e-03f,
+-3.488754592e-03f, -3.489495736e-03f, -3.490230812e-03f, -3.490959820e-03f, -3.491682758e-03f, -3.492399625e-03f, -3.493110421e-03f, -3.493815144e-03f, -3.494513794e-03f, -3.495206369e-03f,
+-3.495892870e-03f, -3.496573295e-03f, -3.497247642e-03f, -3.497915912e-03f, -3.498578103e-03f, -3.499234215e-03f, -3.499884247e-03f, -3.500528198e-03f, -3.501166066e-03f, -3.501797852e-03f,
+-3.502423555e-03f, -3.503043173e-03f, -3.503656707e-03f, -3.504264155e-03f, -3.504865516e-03f, -3.505460790e-03f, -3.506049976e-03f, -3.506633073e-03f, -3.507210081e-03f, -3.507781000e-03f,
+-3.508345827e-03f, -3.508904563e-03f, -3.509457207e-03f, -3.510003758e-03f, -3.510544216e-03f, -3.511078580e-03f, -3.511606850e-03f, -3.512129024e-03f, -3.512645103e-03f, -3.513155085e-03f,
+-3.513658970e-03f, -3.514156758e-03f, -3.514648448e-03f, -3.515134039e-03f, -3.515613531e-03f, -3.516086924e-03f, -3.516554216e-03f, -3.517015408e-03f, -3.517470499e-03f, -3.517919488e-03f,
+-3.518362375e-03f, -3.518799160e-03f, -3.519229842e-03f, -3.519654420e-03f, -3.520072894e-03f, -3.520485264e-03f, -3.520891530e-03f, -3.521291690e-03f, -3.521685746e-03f, -3.522073695e-03f,
+-3.522455538e-03f, -3.522831275e-03f, -3.523200905e-03f, -3.523564428e-03f, -3.523921843e-03f, -3.524273150e-03f, -3.524618350e-03f, -3.524957441e-03f, -3.525290423e-03f, -3.525617296e-03f,
+-3.525938061e-03f, -3.526252715e-03f, -3.526561261e-03f, -3.526863696e-03f, -3.527160021e-03f, -3.527450236e-03f, -3.527734340e-03f, -3.528012334e-03f, -3.528284217e-03f, -3.528549989e-03f,
+-3.528809650e-03f, -3.529063199e-03f, -3.529310638e-03f, -3.529551964e-03f, -3.529787179e-03f, -3.530016282e-03f, -3.530239274e-03f, -3.530456153e-03f, -3.530666920e-03f, -3.530871576e-03f,
+-3.531070119e-03f, -3.531262551e-03f, -3.531448870e-03f, -3.531629077e-03f, -3.531803172e-03f, -3.531971155e-03f, -3.532133025e-03f, -3.532288784e-03f, -3.532438430e-03f, -3.532581965e-03f,
+-3.532719388e-03f, -3.532850698e-03f, -3.532975897e-03f, -3.533094985e-03f, -3.533207961e-03f, -3.533314825e-03f, -3.533415578e-03f, -3.533510220e-03f, -3.533598750e-03f, -3.533681170e-03f,
+-3.533757479e-03f, -3.533827678e-03f, -3.533891766e-03f, -3.533949744e-03f, -3.534001612e-03f, -3.534047370e-03f, -3.534087019e-03f, -3.534120559e-03f, -3.534147989e-03f, -3.534169311e-03f,
+-3.534184524e-03f, -3.534193630e-03f, -3.534196627e-03f, -3.534193516e-03f, -3.534184299e-03f, -3.534168974e-03f, -3.534147543e-03f, -3.534120005e-03f, -3.534086362e-03f, -3.534046613e-03f,
+-3.534000759e-03f, -3.533948800e-03f, -3.533890736e-03f, -3.533826569e-03f, -3.533756298e-03f, -3.533679924e-03f, -3.533597447e-03f, -3.533508869e-03f, -3.533414188e-03f, -3.533313406e-03f,
+-3.533206523e-03f, -3.533093540e-03f, -3.532974457e-03f, -3.532849275e-03f, -3.532717994e-03f, -3.532580614e-03f, -3.532437137e-03f, -3.532287563e-03f, -3.532131892e-03f, -3.531970126e-03f,
+-3.531802264e-03f, -3.531628307e-03f, -3.531448256e-03f, -3.531262111e-03f, -3.531069873e-03f, -3.530871543e-03f, -3.530667122e-03f, -3.530456609e-03f, -3.530240006e-03f, -3.530017314e-03f,
+-3.529788532e-03f, -3.529553663e-03f, -3.529312705e-03f, -3.529065661e-03f, -3.528812531e-03f, -3.528553316e-03f, -3.528288016e-03f, -3.528016632e-03f, -3.527739165e-03f, -3.527455616e-03f,
+-3.527165986e-03f, -3.526870274e-03f, -3.526568484e-03f, -3.526260614e-03f, -3.525946666e-03f, -3.525626640e-03f, -3.525300539e-03f, -3.524968361e-03f, -3.524630109e-03f, -3.524285783e-03f,
+-3.523935385e-03f, -3.523578914e-03f, -3.523216372e-03f, -3.522847761e-03f, -3.522473080e-03f, -3.522092331e-03f, -3.521705514e-03f, -3.521312632e-03f, -3.520913684e-03f, -3.520508671e-03f,
+-3.520097596e-03f, -3.519680458e-03f, -3.519257259e-03f, -3.518828000e-03f, -3.518392682e-03f, -3.517951305e-03f, -3.517503872e-03f, -3.517050383e-03f, -3.516590838e-03f, -3.516125240e-03f,
+-3.515653590e-03f, -3.515175888e-03f, -3.514692135e-03f, -3.514202334e-03f, -3.513706484e-03f, -3.513204587e-03f, -3.512696645e-03f, -3.512182658e-03f, -3.511662627e-03f, -3.511136555e-03f,
+-3.510604441e-03f, -3.510066288e-03f, -3.509522096e-03f, -3.508971867e-03f, -3.508415602e-03f, -3.507853303e-03f, -3.507284970e-03f, -3.506710604e-03f, -3.506130208e-03f, -3.505543783e-03f,
+-3.504951329e-03f, -3.504352848e-03f, -3.503748342e-03f, -3.503137811e-03f, -3.502521258e-03f, -3.501898683e-03f, -3.501270088e-03f, -3.500635474e-03f, -3.499994844e-03f, -3.499348197e-03f,
+-3.498695535e-03f, -3.498036861e-03f, -3.497372175e-03f, -3.496701479e-03f, -3.496024774e-03f, -3.495342062e-03f, -3.494653345e-03f, -3.493958623e-03f, -3.493257898e-03f, -3.492551173e-03f,
+-3.491838447e-03f, -3.491119724e-03f, -3.490395003e-03f, -3.489664288e-03f, -3.488927579e-03f, -3.488184879e-03f, -3.487436188e-03f, -3.486681508e-03f, -3.485920842e-03f, -3.485154189e-03f,
+-3.484381553e-03f, -3.483602935e-03f, -3.482818336e-03f, -3.482027759e-03f, -3.481231204e-03f, -3.480428673e-03f, -3.479620169e-03f, -3.478805692e-03f, -3.477985245e-03f, -3.477158829e-03f,
+-3.476326446e-03f, -3.475488098e-03f, -3.474643787e-03f, -3.473793513e-03f, -3.472937280e-03f, -3.472075088e-03f, -3.471206940e-03f, -3.470332838e-03f, -3.469452782e-03f, -3.468566776e-03f,
+-3.467674821e-03f, -3.466776918e-03f, -3.465873070e-03f, -3.464963278e-03f, -3.464047544e-03f, -3.463125871e-03f, -3.462198260e-03f, -3.461264712e-03f, -3.460325231e-03f, -3.459379817e-03f,
+-3.458428473e-03f, -3.457471201e-03f, -3.456508003e-03f, -3.455538880e-03f, -3.454563834e-03f, -3.453582868e-03f, -3.452595984e-03f, -3.451603184e-03f, -3.450604469e-03f, -3.449599841e-03f,
+-3.448589303e-03f, -3.447572857e-03f, -3.446550505e-03f, -3.445522248e-03f, -3.444488090e-03f, -3.443448031e-03f, -3.442402074e-03f, -3.441350222e-03f, -3.440292476e-03f, -3.439228838e-03f,
+-3.438159311e-03f, -3.437083896e-03f, -3.436002597e-03f, -3.434915414e-03f, -3.433822351e-03f, -3.432723409e-03f, -3.431618591e-03f, -3.430507898e-03f, -3.429391334e-03f, -3.428268899e-03f,
+-3.427140598e-03f, -3.426006430e-03f, -3.424866400e-03f, -3.423720509e-03f, -3.422568760e-03f, -3.421411155e-03f, -3.420247695e-03f, -3.419078384e-03f, -3.417903224e-03f, -3.416722217e-03f,
+-3.415535365e-03f, -3.414342671e-03f, -3.413144137e-03f, -3.411939766e-03f, -3.410729559e-03f, -3.409513520e-03f, -3.408291650e-03f, -3.407063953e-03f, -3.405830430e-03f, -3.404591083e-03f,
+-3.403345916e-03f, -3.402094931e-03f, -3.400838130e-03f, -3.399575516e-03f, -3.398307091e-03f, -3.397032857e-03f, -3.395752818e-03f, -3.394466975e-03f, -3.393175332e-03f, -3.391877890e-03f,
+-3.390574653e-03f, -3.389265622e-03f, -3.387950801e-03f, -3.386630191e-03f, -3.385303796e-03f, -3.383971618e-03f, -3.382633660e-03f, -3.381289924e-03f, -3.379940413e-03f, -3.378585130e-03f,
+-3.377224076e-03f, -3.375857255e-03f, -3.374484670e-03f, -3.373106323e-03f, -3.371722217e-03f, -3.370332354e-03f, -3.368936737e-03f, -3.367535370e-03f, -3.366128253e-03f, -3.364715391e-03f,
+-3.363296787e-03f, -3.361872441e-03f, -3.360442359e-03f, -3.359006542e-03f, -3.357564992e-03f, -3.356117714e-03f, -3.354664709e-03f, -3.353205981e-03f, -3.351741532e-03f, -3.350271365e-03f,
+-3.348795483e-03f, -3.347313888e-03f, -3.345826584e-03f, -3.344333574e-03f, -3.342834860e-03f, -3.341330445e-03f, -3.339820333e-03f, -3.338304525e-03f, -3.336783025e-03f, -3.335255836e-03f,
+-3.333722961e-03f, -3.332184402e-03f, -3.330640163e-03f, -3.329090247e-03f, -3.327534656e-03f, -3.325973394e-03f, -3.324406463e-03f, -3.322833866e-03f, -3.321255608e-03f, -3.319671689e-03f,
+-3.318082115e-03f, -3.316486886e-03f, -3.314886008e-03f, -3.313279482e-03f, -3.311667312e-03f, -3.310049501e-03f, -3.308426051e-03f, -3.306796967e-03f, -3.305162251e-03f, -3.303521905e-03f,
+-3.301875935e-03f, -3.300224341e-03f, -3.298567129e-03f, -3.296904299e-03f, -3.295235857e-03f, -3.293561805e-03f, -3.291882146e-03f, -3.290196884e-03f, -3.288506021e-03f, -3.286809561e-03f,
+-3.285107507e-03f, -3.283399863e-03f, -3.281686631e-03f, -3.279967814e-03f, -3.278243417e-03f, -3.276513442e-03f, -3.274777892e-03f, -3.273036771e-03f, -3.271290083e-03f, -3.269537830e-03f,
+-3.267780015e-03f, -3.266016643e-03f, -3.264247715e-03f, -3.262473237e-03f, -3.260693211e-03f, -3.258907640e-03f, -3.257116528e-03f, -3.255319878e-03f, -3.253517693e-03f, -3.251709978e-03f,
+-3.249896735e-03f, -3.248077967e-03f, -3.246253679e-03f, -3.244423874e-03f, -3.242588554e-03f, -3.240747724e-03f, -3.238901387e-03f, -3.237049546e-03f, -3.235192206e-03f, -3.233329369e-03f,
+-3.231461038e-03f, -3.229587218e-03f, -3.227707912e-03f, -3.225823124e-03f, -3.223932856e-03f, -3.222037113e-03f, -3.220135898e-03f, -3.218229215e-03f, -3.216317067e-03f, -3.214399457e-03f,
+-3.212476390e-03f, -3.210547870e-03f, -3.208613898e-03f, -3.206674480e-03f, -3.204729619e-03f, -3.202779318e-03f, -3.200823582e-03f, -3.198862413e-03f, -3.196895816e-03f, -3.194923793e-03f,
+-3.192946350e-03f, -3.190963489e-03f, -3.188975215e-03f, -3.186981530e-03f, -3.184982439e-03f, -3.182977945e-03f, -3.180968052e-03f, -3.178952765e-03f, -3.176932085e-03f, -3.174906019e-03f,
+-3.172874568e-03f, -3.170837737e-03f, -3.168795530e-03f, -3.166747951e-03f, -3.164695003e-03f, -3.162636690e-03f, -3.160573016e-03f, -3.158503984e-03f, -3.156429600e-03f, -3.154349866e-03f,
+-3.152264786e-03f, -3.150174365e-03f, -3.148078606e-03f, -3.145977513e-03f, -3.143871090e-03f, -3.141759340e-03f, -3.139642269e-03f, -3.137519879e-03f, -3.135392175e-03f, -3.133259160e-03f,
+-3.131120839e-03f, -3.128977216e-03f, -3.126828294e-03f, -3.124674077e-03f, -3.122514570e-03f, -3.120349776e-03f, -3.118179700e-03f, -3.116004346e-03f, -3.113823716e-03f, -3.111637817e-03f,
+-3.109446651e-03f, -3.107250222e-03f, -3.105048536e-03f, -3.102841595e-03f, -3.100629404e-03f, -3.098411967e-03f, -3.096189288e-03f, -3.093961371e-03f, -3.091728220e-03f, -3.089489840e-03f,
+-3.087246234e-03f, -3.084997407e-03f, -3.082743363e-03f, -3.080484106e-03f, -3.078219640e-03f, -3.075949969e-03f, -3.073675098e-03f, -3.071395030e-03f, -3.069109771e-03f, -3.066819323e-03f,
+-3.064523692e-03f, -3.062222882e-03f, -3.059916896e-03f, -3.057605739e-03f, -3.055289416e-03f, -3.052967930e-03f, -3.050641287e-03f, -3.048309489e-03f, -3.045972542e-03f, -3.043630449e-03f,
+-3.041283216e-03f, -3.038930846e-03f, -3.036573343e-03f, -3.034210713e-03f, -3.031842959e-03f, -3.029470085e-03f, -3.027092097e-03f, -3.024708998e-03f, -3.022320793e-03f, -3.019927487e-03f,
+-3.017529083e-03f, -3.015125585e-03f, -3.012717000e-03f, -3.010303330e-03f, -3.007884580e-03f, -3.005460755e-03f, -3.003031860e-03f, -3.000597897e-03f, -2.998158873e-03f, -2.995714792e-03f,
+-2.993265657e-03f, -2.990811474e-03f, -2.988352247e-03f, -2.985887981e-03f, -2.983418680e-03f, -2.980944348e-03f, -2.978464990e-03f, -2.975980611e-03f, -2.973491215e-03f, -2.970996807e-03f,
+-2.968497391e-03f, -2.965992972e-03f, -2.963483554e-03f, -2.960969143e-03f, -2.958449742e-03f, -2.955925356e-03f, -2.953395990e-03f, -2.950861649e-03f, -2.948322337e-03f, -2.945778058e-03f,
+-2.943228818e-03f, -2.940674621e-03f, -2.938115472e-03f, -2.935551375e-03f, -2.932982335e-03f, -2.930408357e-03f, -2.927829446e-03f, -2.925245605e-03f, -2.922656841e-03f, -2.920063157e-03f,
+-2.917464559e-03f, -2.914861050e-03f, -2.912252637e-03f, -2.909639323e-03f, -2.907021114e-03f, -2.904398013e-03f, -2.901770027e-03f, -2.899137159e-03f, -2.896499415e-03f, -2.893856799e-03f,
+-2.891209316e-03f, -2.888556971e-03f, -2.885899769e-03f, -2.883237715e-03f, -2.880570813e-03f, -2.877899068e-03f, -2.875222485e-03f, -2.872541070e-03f, -2.869854827e-03f, -2.867163760e-03f,
+-2.864467875e-03f, -2.861767177e-03f, -2.859061670e-03f, -2.856351359e-03f, -2.853636250e-03f, -2.850916348e-03f, -2.848191656e-03f, -2.845462181e-03f, -2.842727927e-03f, -2.839988899e-03f,
+-2.837245102e-03f, -2.834496542e-03f, -2.831743222e-03f, -2.828985149e-03f, -2.826222326e-03f, -2.823454760e-03f, -2.820682455e-03f, -2.817905416e-03f, -2.815123648e-03f, -2.812337157e-03f,
+-2.809545946e-03f, -2.806750022e-03f, -2.803949390e-03f, -2.801144054e-03f, -2.798334020e-03f, -2.795519292e-03f, -2.792699877e-03f, -2.789875778e-03f, -2.787047001e-03f, -2.784213551e-03f,
+-2.781375434e-03f, -2.778532654e-03f, -2.775685217e-03f, -2.772833127e-03f, -2.769976390e-03f, -2.767115012e-03f, -2.764248996e-03f, -2.761378350e-03f, -2.758503076e-03f, -2.755623182e-03f,
+-2.752738672e-03f, -2.749849551e-03f, -2.746955824e-03f, -2.744057497e-03f, -2.741154575e-03f, -2.738247064e-03f, -2.735334968e-03f, -2.732418292e-03f, -2.729497043e-03f, -2.726571225e-03f,
+-2.723640844e-03f, -2.720705904e-03f, -2.717766412e-03f, -2.714822372e-03f, -2.711873790e-03f, -2.708920671e-03f, -2.705963021e-03f, -2.703000845e-03f, -2.700034147e-03f, -2.697062934e-03f,
+-2.694087212e-03f, -2.691106984e-03f, -2.688122257e-03f, -2.685133036e-03f, -2.682139327e-03f, -2.679141134e-03f, -2.676138464e-03f, -2.673131321e-03f, -2.670119711e-03f, -2.667103640e-03f,
+-2.664083113e-03f, -2.661058135e-03f, -2.658028712e-03f, -2.654994849e-03f, -2.651956552e-03f, -2.648913827e-03f, -2.645866678e-03f, -2.642815111e-03f, -2.639759132e-03f, -2.636698747e-03f,
+-2.633633960e-03f, -2.630564777e-03f, -2.627491204e-03f, -2.624413246e-03f, -2.621330910e-03f, -2.618244200e-03f, -2.615153121e-03f, -2.612057680e-03f, -2.608957883e-03f, -2.605853734e-03f,
+-2.602745239e-03f, -2.599632404e-03f, -2.596515235e-03f, -2.593393737e-03f, -2.590267915e-03f, -2.587137776e-03f, -2.584003324e-03f, -2.580864567e-03f, -2.577721508e-03f, -2.574574154e-03f,
+-2.571422511e-03f, -2.568266584e-03f, -2.565106379e-03f, -2.561941901e-03f, -2.558773157e-03f, -2.555600152e-03f, -2.552422891e-03f, -2.549241380e-03f, -2.546055626e-03f, -2.542865633e-03f,
+-2.539671408e-03f, -2.536472956e-03f, -2.533270283e-03f, -2.530063394e-03f, -2.526852296e-03f, -2.523636995e-03f, -2.520417495e-03f, -2.517193803e-03f, -2.513965925e-03f, -2.510733866e-03f,
+-2.507497632e-03f, -2.504257229e-03f, -2.501012663e-03f, -2.497763940e-03f, -2.494511065e-03f, -2.491254044e-03f, -2.487992883e-03f, -2.484727588e-03f, -2.481458165e-03f, -2.478184620e-03f,
+-2.474906958e-03f, -2.471625185e-03f, -2.468339308e-03f, -2.465049332e-03f, -2.461755263e-03f, -2.458457107e-03f, -2.455154870e-03f, -2.451848557e-03f, -2.448538175e-03f, -2.445223730e-03f,
+-2.441905227e-03f, -2.438582673e-03f, -2.435256073e-03f, -2.431925434e-03f, -2.428590761e-03f, -2.425252060e-03f, -2.421909338e-03f, -2.418562600e-03f, -2.415211852e-03f, -2.411857101e-03f,
+-2.408498351e-03f, -2.405135610e-03f, -2.401768883e-03f, -2.398398177e-03f, -2.395023497e-03f, -2.391644849e-03f, -2.388262240e-03f, -2.384875675e-03f, -2.381485160e-03f, -2.378090702e-03f,
+-2.374692307e-03f, -2.371289981e-03f, -2.367883729e-03f, -2.364473558e-03f, -2.361059474e-03f, -2.357641483e-03f, -2.354219591e-03f, -2.350793805e-03f, -2.347364130e-03f, -2.343930572e-03f,
+-2.340493138e-03f, -2.337051834e-03f, -2.333606666e-03f, -2.330157640e-03f, -2.326704762e-03f, -2.323248039e-03f, -2.319787476e-03f, -2.316323080e-03f, -2.312854857e-03f, -2.309382813e-03f,
+-2.305906954e-03f, -2.302427286e-03f, -2.298943817e-03f, -2.295456551e-03f, -2.291965496e-03f, -2.288470657e-03f, -2.284972040e-03f, -2.281469653e-03f, -2.277963500e-03f, -2.274453589e-03f,
+-2.270939925e-03f, -2.267422515e-03f, -2.263901366e-03f, -2.260376482e-03f, -2.256847872e-03f, -2.253315540e-03f, -2.249779494e-03f, -2.246239739e-03f, -2.242696282e-03f, -2.239149130e-03f,
+-2.235598287e-03f, -2.232043762e-03f, -2.228485560e-03f, -2.224923687e-03f, -2.221358150e-03f, -2.217788955e-03f, -2.214216109e-03f, -2.210639618e-03f, -2.207059488e-03f, -2.203475726e-03f,
+-2.199888337e-03f, -2.196297329e-03f, -2.192702708e-03f, -2.189104480e-03f, -2.185502651e-03f, -2.181897229e-03f, -2.178288219e-03f, -2.174675628e-03f, -2.171059462e-03f, -2.167439727e-03f,
+-2.163816431e-03f, -2.160189579e-03f, -2.156559179e-03f, -2.152925236e-03f, -2.149287756e-03f, -2.145646747e-03f, -2.142002215e-03f, -2.138354167e-03f, -2.134702608e-03f, -2.131047545e-03f,
+-2.127388985e-03f, -2.123726935e-03f, -2.120061400e-03f, -2.116392388e-03f, -2.112719905e-03f, -2.109043956e-03f, -2.105364550e-03f, -2.101681692e-03f, -2.097995389e-03f, -2.094305648e-03f,
+-2.090612475e-03f, -2.086915876e-03f, -2.083215859e-03f, -2.079512429e-03f, -2.075805593e-03f, -2.072095359e-03f, -2.068381732e-03f, -2.064664719e-03f, -2.060944326e-03f, -2.057220561e-03f,
+-2.053493430e-03f, -2.049762940e-03f, -2.046029096e-03f, -2.042291906e-03f, -2.038551377e-03f, -2.034807514e-03f, -2.031060325e-03f, -2.027309817e-03f, -2.023555995e-03f, -2.019798867e-03f,
+-2.016038439e-03f, -2.012274718e-03f, -2.008507711e-03f, -2.004737424e-03f, -2.000963864e-03f, -1.997187037e-03f, -1.993406951e-03f, -1.989623612e-03f, -1.985837027e-03f, -1.982047202e-03f,
+-1.978254144e-03f, -1.974457860e-03f, -1.970658357e-03f, -1.966855641e-03f, -1.963049719e-03f, -1.959240597e-03f, -1.955428284e-03f, -1.951612784e-03f, -1.947794106e-03f, -1.943972255e-03f,
+-1.940147240e-03f, -1.936319065e-03f, -1.932487739e-03f, -1.928653267e-03f, -1.924815657e-03f, -1.920974916e-03f, -1.917131050e-03f, -1.913284066e-03f, -1.909433971e-03f, -1.905580771e-03f,
+-1.901724474e-03f, -1.897865087e-03f, -1.894002615e-03f, -1.890137067e-03f, -1.886268448e-03f, -1.882396766e-03f, -1.878522028e-03f, -1.874644240e-03f, -1.870763409e-03f, -1.866879542e-03f,
+-1.862992647e-03f, -1.859102729e-03f, -1.855209796e-03f, -1.851313854e-03f, -1.847414911e-03f, -1.843512973e-03f, -1.839608048e-03f, -1.835700141e-03f, -1.831789261e-03f, -1.827875414e-03f,
+-1.823958606e-03f, -1.820038846e-03f, -1.816116139e-03f, -1.812190493e-03f, -1.808261914e-03f, -1.804330410e-03f, -1.800395987e-03f, -1.796458653e-03f, -1.792518414e-03f, -1.788575278e-03f,
+-1.784629251e-03f, -1.780680340e-03f, -1.776728552e-03f, -1.772773894e-03f, -1.768816374e-03f, -1.764855998e-03f, -1.760892773e-03f, -1.756926706e-03f, -1.752957805e-03f, -1.748986075e-03f,
+-1.745011525e-03f, -1.741034161e-03f, -1.737053990e-03f, -1.733071019e-03f, -1.729085256e-03f, -1.725096706e-03f, -1.721105378e-03f, -1.717111279e-03f, -1.713114415e-03f, -1.709114793e-03f,
+-1.705112421e-03f, -1.701107305e-03f, -1.697099453e-03f, -1.693088871e-03f, -1.689075568e-03f, -1.685059549e-03f, -1.681040822e-03f, -1.677019394e-03f, -1.672995272e-03f, -1.668968463e-03f,
+-1.664938975e-03f, -1.660906813e-03f, -1.656871987e-03f, -1.652834502e-03f, -1.648794365e-03f, -1.644751584e-03f, -1.640706167e-03f, -1.636658119e-03f, -1.632607448e-03f, -1.628554162e-03f,
+-1.624498267e-03f, -1.620439771e-03f, -1.616378681e-03f, -1.612315003e-03f, -1.608248745e-03f, -1.604179915e-03f, -1.600108519e-03f, -1.596034564e-03f, -1.591958059e-03f, -1.587879009e-03f,
+-1.583797422e-03f, -1.579713305e-03f, -1.575626666e-03f, -1.571537511e-03f, -1.567445848e-03f, -1.563351684e-03f, -1.559255027e-03f, -1.555155883e-03f, -1.551054259e-03f, -1.546950163e-03f,
+-1.542843602e-03f, -1.538734584e-03f, -1.534623115e-03f, -1.530509203e-03f, -1.526392854e-03f, -1.522274077e-03f, -1.518152879e-03f, -1.514029266e-03f, -1.509903246e-03f, -1.505774826e-03f,
+-1.501644014e-03f, -1.497510816e-03f, -1.493375240e-03f, -1.489237294e-03f, -1.485096984e-03f, -1.480954318e-03f, -1.476809303e-03f, -1.472661946e-03f, -1.468512255e-03f, -1.464360237e-03f,
+-1.460205899e-03f, -1.456049248e-03f, -1.451890293e-03f, -1.447729039e-03f, -1.443565495e-03f, -1.439399668e-03f, -1.435231565e-03f, -1.431061193e-03f, -1.426888560e-03f, -1.422713673e-03f,
+-1.418536539e-03f, -1.414357166e-03f, -1.410175561e-03f, -1.405991731e-03f, -1.401805684e-03f, -1.397617427e-03f, -1.393426967e-03f, -1.389234313e-03f, -1.385039470e-03f, -1.380842447e-03f,
+-1.376643251e-03f, -1.372441888e-03f, -1.368238368e-03f, -1.364032696e-03f, -1.359824881e-03f, -1.355614930e-03f, -1.351402849e-03f, -1.347188647e-03f, -1.342972331e-03f, -1.338753909e-03f,
+-1.334533386e-03f, -1.330310772e-03f, -1.326086074e-03f, -1.321859298e-03f, -1.317630453e-03f, -1.313399545e-03f, -1.309166583e-03f, -1.304931573e-03f, -1.300694522e-03f, -1.296455440e-03f,
+-1.292214332e-03f, -1.287971206e-03f, -1.283726070e-03f, -1.279478932e-03f, -1.275229798e-03f, -1.270978675e-03f, -1.266725573e-03f, -1.262470497e-03f, -1.258213455e-03f, -1.253954456e-03f,
+-1.249693505e-03f, -1.245430612e-03f, -1.241165782e-03f, -1.236899025e-03f, -1.232630346e-03f, -1.228359754e-03f, -1.224087257e-03f, -1.219812860e-03f, -1.215536573e-03f, -1.211258403e-03f,
+-1.206978356e-03f, -1.202696441e-03f, -1.198412665e-03f, -1.194127036e-03f, -1.189839560e-03f, -1.185550246e-03f, -1.181259102e-03f, -1.176966133e-03f, -1.172671349e-03f, -1.168374757e-03f,
+-1.164076363e-03f, -1.159776176e-03f, -1.155474203e-03f, -1.151170452e-03f, -1.146864930e-03f, -1.142557645e-03f, -1.138248604e-03f, -1.133937815e-03f, -1.129625285e-03f, -1.125311022e-03f,
+-1.120995034e-03f, -1.116677327e-03f, -1.112357910e-03f, -1.108036790e-03f, -1.103713975e-03f, -1.099389472e-03f, -1.095063288e-03f, -1.090735432e-03f, -1.086405911e-03f, -1.082074732e-03f,
+-1.077741903e-03f, -1.073407432e-03f, -1.069071326e-03f, -1.064733592e-03f, -1.060394239e-03f, -1.056053274e-03f, -1.051710704e-03f, -1.047366537e-03f, -1.043020781e-03f, -1.038673444e-03f,
+-1.034324532e-03f, -1.029974053e-03f, -1.025622015e-03f, -1.021268426e-03f, -1.016913294e-03f, -1.012556625e-03f, -1.008198427e-03f, -1.003838709e-03f, -9.994774773e-04f, -9.951147399e-04f,
+-9.907505043e-04f, -9.863847782e-04f, -9.820175693e-04f, -9.776488851e-04f, -9.732787333e-04f, -9.689071215e-04f, -9.645340574e-04f, -9.601595485e-04f, -9.557836025e-04f, -9.514062270e-04f,
+-9.470274297e-04f, -9.426472183e-04f, -9.382656002e-04f, -9.338825833e-04f, -9.294981751e-04f, -9.251123834e-04f, -9.207252156e-04f, -9.163366796e-04f, -9.119467829e-04f, -9.075555332e-04f,
+-9.031629381e-04f, -8.987690054e-04f, -8.943737427e-04f, -8.899771576e-04f, -8.855792578e-04f, -8.811800510e-04f, -8.767795449e-04f, -8.723777471e-04f, -8.679746652e-04f, -8.635703071e-04f,
+-8.591646803e-04f, -8.547577925e-04f, -8.503496514e-04f, -8.459402647e-04f, -8.415296400e-04f, -8.371177852e-04f, -8.327047077e-04f, -8.282904154e-04f, -8.238749159e-04f, -8.194582170e-04f,
+-8.150403262e-04f, -8.106212513e-04f, -8.062010001e-04f, -8.017795801e-04f, -7.973569992e-04f, -7.929332649e-04f, -7.885083851e-04f, -7.840823673e-04f, -7.796552194e-04f, -7.752269490e-04f,
+-7.707975639e-04f, -7.663670717e-04f, -7.619354801e-04f, -7.575027970e-04f, -7.530690299e-04f, -7.486341867e-04f, -7.441982749e-04f, -7.397613025e-04f, -7.353232770e-04f, -7.308842062e-04f,
+-7.264440978e-04f, -7.220029596e-04f, -7.175607992e-04f, -7.131176245e-04f, -7.086734431e-04f, -7.042282627e-04f, -6.997820912e-04f, -6.953349362e-04f, -6.908868054e-04f, -6.864377067e-04f,
+-6.819876477e-04f, -6.775366362e-04f, -6.730846799e-04f, -6.686317866e-04f, -6.641779640e-04f, -6.597232199e-04f, -6.552675619e-04f, -6.508109980e-04f, -6.463535357e-04f, -6.418951828e-04f,
+-6.374359472e-04f, -6.329758365e-04f, -6.285148585e-04f, -6.240530209e-04f, -6.195903316e-04f, -6.151267982e-04f, -6.106624285e-04f, -6.061972304e-04f, -6.017312114e-04f, -5.972643795e-04f,
+-5.927967423e-04f, -5.883283077e-04f, -5.838590833e-04f, -5.793890770e-04f, -5.749182965e-04f, -5.704467496e-04f, -5.659744440e-04f, -5.615013875e-04f, -5.570275879e-04f, -5.525530530e-04f,
+-5.480777905e-04f, -5.436018082e-04f, -5.391251139e-04f, -5.346477152e-04f, -5.301696202e-04f, -5.256908364e-04f, -5.212113716e-04f, -5.167312337e-04f, -5.122504304e-04f, -5.077689696e-04f,
+-5.032868588e-04f, -4.988041061e-04f, -4.943207191e-04f, -4.898367055e-04f, -4.853520733e-04f, -4.808668302e-04f, -4.763809839e-04f, -4.718945423e-04f, -4.674075130e-04f, -4.629199040e-04f,
+-4.584317230e-04f, -4.539429778e-04f, -4.494536761e-04f, -4.449638258e-04f, -4.404734346e-04f, -4.359825104e-04f, -4.314910609e-04f, -4.269990939e-04f, -4.225066172e-04f, -4.180136386e-04f,
+-4.135201658e-04f, -4.090262067e-04f, -4.045317691e-04f, -4.000368607e-04f, -3.955414894e-04f, -3.910456629e-04f, -3.865493891e-04f, -3.820526756e-04f, -3.775555304e-04f, -3.730579612e-04f,
+-3.685599758e-04f, -3.640615820e-04f, -3.595627876e-04f, -3.550636004e-04f, -3.505640282e-04f, -3.460640787e-04f, -3.415637598e-04f, -3.370630793e-04f, -3.325620450e-04f, -3.280606647e-04f,
+-3.235589461e-04f, -3.190568970e-04f, -3.145545254e-04f, -3.100518389e-04f, -3.055488453e-04f, -3.010455525e-04f, -2.965419683e-04f, -2.920381004e-04f, -2.875339566e-04f, -2.830295448e-04f,
+-2.785248727e-04f, -2.740199482e-04f, -2.695147790e-04f, -2.650093730e-04f, -2.605037379e-04f, -2.559978815e-04f, -2.514918117e-04f, -2.469855362e-04f, -2.424790628e-04f, -2.379723994e-04f,
+-2.334655537e-04f, -2.289585335e-04f, -2.244513467e-04f, -2.199440009e-04f, -2.154365041e-04f, -2.109288640e-04f, -2.064210885e-04f, -2.019131852e-04f, -1.974051620e-04f, -1.928970268e-04f,
+-1.883887873e-04f, -1.838804512e-04f, -1.793720265e-04f, -1.748635208e-04f, -1.703549421e-04f, -1.658462980e-04f, -1.613375964e-04f, -1.568288451e-04f, -1.523200519e-04f, -1.478112245e-04f,
+-1.433023708e-04f, -1.387934985e-04f, -1.342846155e-04f, -1.297757295e-04f, -1.252668484e-04f, -1.207579798e-04f, -1.162491317e-04f, -1.117403118e-04f, -1.072315279e-04f, -1.027227878e-04f,
+-9.821409928e-05f, -9.370547011e-05f, -8.919690810e-05f, -8.468842104e-05f, -8.018001671e-05f, -7.567170291e-05f, -7.116348741e-05f, -6.665537800e-05f, -6.214738248e-05f, -5.763950862e-05f,
+-5.313176421e-05f, -4.862415703e-05f, -4.411669488e-05f, -3.960938552e-05f, -3.510223674e-05f, -3.059525633e-05f, -2.608845206e-05f, -2.158183171e-05f, -1.707540307e-05f, -1.256917390e-05f,
+-8.063152001e-06f, -3.557345134e-06f, 9.482389208e-07f, 5.453592388e-06f, 9.958707493e-06f, 1.446357646e-05f, 1.896819152e-05f, 2.347254490e-05f, 2.797662882e-05f, 3.248043553e-05f,
+3.698395724e-05f, 4.148718618e-05f, 4.599011460e-05f, 5.049273472e-05f, 5.499503878e-05f, 5.949701902e-05f, 6.399866766e-05f, 6.849997694e-05f, 7.300093911e-05f, 7.750154640e-05f,
+8.200179106e-05f, 8.650166532e-05f, 9.100116142e-05f, 9.550027161e-05f, 9.999898813e-05f, 1.044973032e-04f, 1.089952091e-04f, 1.134926981e-04f, 1.179897625e-04f, 1.224863943e-04f,
+1.269825860e-04f, 1.314783298e-04f, 1.359736179e-04f, 1.404684426e-04f, 1.449627961e-04f, 1.494566707e-04f, 1.539500586e-04f, 1.584429522e-04f, 1.629353436e-04f, 1.674272251e-04f,
+1.719185891e-04f, 1.764094276e-04f, 1.808997332e-04f, 1.853894979e-04f, 1.898787140e-04f, 1.943673739e-04f, 1.988554698e-04f, 2.033429939e-04f, 2.078299386e-04f, 2.123162961e-04f,
+2.168020587e-04f, 2.212872187e-04f, 2.257717683e-04f, 2.302556999e-04f, 2.347390056e-04f, 2.392216779e-04f, 2.437037089e-04f, 2.481850910e-04f, 2.526658165e-04f, 2.571458776e-04f,
+2.616252666e-04f, 2.661039759e-04f, 2.705819977e-04f, 2.750593243e-04f, 2.795359480e-04f, 2.840118612e-04f, 2.884870560e-04f, 2.929615249e-04f, 2.974352601e-04f, 3.019082539e-04f,
+3.063804987e-04f, 3.108519867e-04f, 3.153227103e-04f, 3.197926617e-04f, 3.242618333e-04f, 3.287302174e-04f, 3.331978063e-04f, 3.376645924e-04f, 3.421305679e-04f, 3.465957252e-04f,
+3.510600565e-04f, 3.555235544e-04f, 3.599862109e-04f, 3.644480186e-04f, 3.689089697e-04f, 3.733690565e-04f, 3.778282714e-04f, 3.822866068e-04f, 3.867440549e-04f, 3.912006081e-04f,
+3.956562587e-04f, 4.001109992e-04f, 4.045648218e-04f, 4.090177189e-04f, 4.134696829e-04f, 4.179207060e-04f, 4.223707807e-04f, 4.268198993e-04f, 4.312680542e-04f, 4.357152377e-04f,
+4.401614422e-04f, 4.446066601e-04f, 4.490508837e-04f, 4.534941053e-04f, 4.579363175e-04f, 4.623775125e-04f, 4.668176827e-04f, 4.712568205e-04f, 4.756949183e-04f, 4.801319685e-04f,
+4.845679634e-04f, 4.890028955e-04f, 4.934367570e-04f, 4.978695405e-04f, 5.023012383e-04f, 5.067318428e-04f, 5.111613464e-04f, 5.155897415e-04f, 5.200170205e-04f, 5.244431758e-04f,
+5.288681998e-04f, 5.332920850e-04f, 5.377148237e-04f, 5.421364084e-04f, 5.465568314e-04f, 5.509760852e-04f, 5.553941623e-04f, 5.598110550e-04f, 5.642267557e-04f, 5.686412570e-04f,
+5.730545511e-04f, 5.774666307e-04f, 5.818774880e-04f, 5.862871156e-04f, 5.906955058e-04f, 5.951026512e-04f, 5.995085441e-04f, 6.039131771e-04f, 6.083165425e-04f, 6.127186328e-04f,
+6.171194406e-04f, 6.215189581e-04f, 6.259171780e-04f, 6.303140926e-04f, 6.347096945e-04f, 6.391039761e-04f, 6.434969298e-04f, 6.478885482e-04f, 6.522788238e-04f, 6.566677489e-04f,
+6.610553162e-04f, 6.654415180e-04f, 6.698263469e-04f, 6.742097953e-04f, 6.785918559e-04f, 6.829725209e-04f, 6.873517830e-04f, 6.917296347e-04f, 6.961060685e-04f, 7.004810768e-04f,
+7.048546522e-04f, 7.092267871e-04f, 7.135974742e-04f, 7.179667060e-04f, 7.223344749e-04f, 7.267007734e-04f, 7.310655942e-04f, 7.354289297e-04f, 7.397907725e-04f, 7.441511151e-04f,
+7.485099501e-04f, 7.528672700e-04f, 7.572230673e-04f, 7.615773346e-04f, 7.659300645e-04f, 7.702812494e-04f, 7.746308820e-04f, 7.789789549e-04f, 7.833254605e-04f, 7.876703915e-04f,
+7.920137404e-04f, 7.963554998e-04f, 8.006956623e-04f, 8.050342204e-04f, 8.093711668e-04f, 8.137064940e-04f, 8.180401946e-04f, 8.223722613e-04f, 8.267026865e-04f, 8.310314630e-04f,
+8.353585832e-04f, 8.396840399e-04f, 8.440078256e-04f, 8.483299329e-04f, 8.526503545e-04f, 8.569690830e-04f, 8.612861109e-04f, 8.656014310e-04f, 8.699150358e-04f, 8.742269180e-04f,
+8.785370702e-04f, 8.828454850e-04f, 8.871521552e-04f, 8.914570733e-04f, 8.957602320e-04f, 9.000616239e-04f, 9.043612417e-04f, 9.086590781e-04f, 9.129551257e-04f, 9.172493772e-04f,
+9.215418253e-04f, 9.258324626e-04f, 9.301212818e-04f, 9.344082755e-04f, 9.386934366e-04f, 9.429767576e-04f, 9.472582313e-04f, 9.515378503e-04f, 9.558156073e-04f, 9.600914951e-04f,
+9.643655064e-04f, 9.686376338e-04f, 9.729078700e-04f, 9.771762079e-04f, 9.814426401e-04f, 9.857071593e-04f, 9.899697582e-04f, 9.942304297e-04f, 9.984891663e-04f, 1.002745961e-03f,
+1.007000806e-03f, 1.011253695e-03f, 1.015504620e-03f, 1.019753574e-03f, 1.024000550e-03f, 1.028245540e-03f, 1.032488537e-03f, 1.036729534e-03f, 1.040968524e-03f, 1.045205500e-03f,
+1.049440454e-03f, 1.053673379e-03f, 1.057904268e-03f, 1.062133114e-03f, 1.066359909e-03f, 1.070584646e-03f, 1.074807319e-03f, 1.079027919e-03f, 1.083246441e-03f, 1.087462875e-03f,
+1.091677216e-03f, 1.095889457e-03f, 1.100099589e-03f, 1.104307606e-03f, 1.108513500e-03f, 1.112717266e-03f, 1.116918894e-03f, 1.121118379e-03f, 1.125315712e-03f, 1.129510888e-03f,
+1.133703898e-03f, 1.137894736e-03f, 1.142083395e-03f, 1.146269867e-03f, 1.150454145e-03f, 1.154636222e-03f, 1.158816091e-03f, 1.162993745e-03f, 1.167169177e-03f, 1.171342380e-03f,
+1.175513346e-03f, 1.179682068e-03f, 1.183848540e-03f, 1.188012755e-03f, 1.192174704e-03f, 1.196334382e-03f, 1.200491780e-03f, 1.204646893e-03f, 1.208799713e-03f, 1.212950232e-03f,
+1.217098445e-03f, 1.221244343e-03f, 1.225387920e-03f, 1.229529168e-03f, 1.233668081e-03f, 1.237804652e-03f, 1.241938873e-03f, 1.246070738e-03f, 1.250200240e-03f, 1.254327371e-03f,
+1.258452124e-03f, 1.262574493e-03f, 1.266694470e-03f, 1.270812049e-03f, 1.274927223e-03f, 1.279039984e-03f, 1.283150325e-03f, 1.287258240e-03f, 1.291363721e-03f, 1.295466763e-03f,
+1.299567356e-03f, 1.303665496e-03f, 1.307761174e-03f, 1.311854384e-03f, 1.315945118e-03f, 1.320033371e-03f, 1.324119134e-03f, 1.328202402e-03f, 1.332283166e-03f, 1.336361421e-03f,
+1.340437159e-03f, 1.344510373e-03f, 1.348581056e-03f, 1.352649202e-03f, 1.356714804e-03f, 1.360777854e-03f, 1.364838346e-03f, 1.368896273e-03f, 1.372951628e-03f, 1.377004404e-03f,
+1.381054594e-03f, 1.385102192e-03f, 1.389147190e-03f, 1.393189582e-03f, 1.397229361e-03f, 1.401266520e-03f, 1.405301051e-03f, 1.409332950e-03f, 1.413362207e-03f, 1.417388817e-03f,
+1.421412773e-03f, 1.425434068e-03f, 1.429452696e-03f, 1.433468648e-03f, 1.437481919e-03f, 1.441492502e-03f, 1.445500390e-03f, 1.449505576e-03f, 1.453508053e-03f, 1.457507815e-03f,
+1.461504855e-03f, 1.465499166e-03f, 1.469490741e-03f, 1.473479573e-03f, 1.477465657e-03f, 1.481448984e-03f, 1.485429549e-03f, 1.489407345e-03f, 1.493382364e-03f, 1.497354600e-03f,
+1.501324046e-03f, 1.505290697e-03f, 1.509254544e-03f, 1.513215581e-03f, 1.517173802e-03f, 1.521129200e-03f, 1.525081768e-03f, 1.529031499e-03f, 1.532978387e-03f, 1.536922425e-03f,
+1.540863607e-03f, 1.544801925e-03f, 1.548737374e-03f, 1.552669946e-03f, 1.556599634e-03f, 1.560526433e-03f, 1.564450335e-03f, 1.568371335e-03f, 1.572289424e-03f, 1.576204597e-03f,
+1.580116847e-03f, 1.584026167e-03f, 1.587932552e-03f, 1.591835993e-03f, 1.595736485e-03f, 1.599634021e-03f, 1.603528594e-03f, 1.607420198e-03f, 1.611308826e-03f, 1.615194472e-03f,
+1.619077130e-03f, 1.622956791e-03f, 1.626833451e-03f, 1.630707102e-03f, 1.634577738e-03f, 1.638445353e-03f, 1.642309939e-03f, 1.646171490e-03f, 1.650030001e-03f, 1.653885464e-03f,
+1.657737872e-03f, 1.661587220e-03f, 1.665433500e-03f, 1.669276707e-03f, 1.673116834e-03f, 1.676953874e-03f, 1.680787820e-03f, 1.684618668e-03f, 1.688446409e-03f, 1.692271037e-03f,
+1.696092547e-03f, 1.699910931e-03f, 1.703726183e-03f, 1.707538297e-03f, 1.711347266e-03f, 1.715153084e-03f, 1.718955745e-03f, 1.722755241e-03f, 1.726551567e-03f, 1.730344717e-03f,
+1.734134683e-03f, 1.737921459e-03f, 1.741705040e-03f, 1.745485418e-03f, 1.749262587e-03f, 1.753036542e-03f, 1.756807275e-03f, 1.760574780e-03f, 1.764339051e-03f, 1.768100081e-03f,
+1.771857865e-03f, 1.775612396e-03f, 1.779363667e-03f, 1.783111672e-03f, 1.786856406e-03f, 1.790597861e-03f, 1.794336031e-03f, 1.798070910e-03f, 1.801802492e-03f, 1.805530770e-03f,
+1.809255739e-03f, 1.812977391e-03f, 1.816695721e-03f, 1.820410723e-03f, 1.824122390e-03f, 1.827830715e-03f, 1.831535693e-03f, 1.835237318e-03f, 1.838935582e-03f, 1.842630481e-03f,
+1.846322008e-03f, 1.850010155e-03f, 1.853694919e-03f, 1.857376291e-03f, 1.861054267e-03f, 1.864728839e-03f, 1.868400002e-03f, 1.872067749e-03f, 1.875732074e-03f, 1.879392972e-03f,
+1.883050435e-03f, 1.886704458e-03f, 1.890355035e-03f, 1.894002160e-03f, 1.897645826e-03f, 1.901286027e-03f, 1.904922757e-03f, 1.908556010e-03f, 1.912185781e-03f, 1.915812062e-03f,
+1.919434848e-03f, 1.923054132e-03f, 1.926669909e-03f, 1.930282173e-03f, 1.933890917e-03f, 1.937496136e-03f, 1.941097823e-03f, 1.944695972e-03f, 1.948290578e-03f, 1.951881633e-03f,
+1.955469133e-03f, 1.959053072e-03f, 1.962633442e-03f, 1.966210239e-03f, 1.969783455e-03f, 1.973353086e-03f, 1.976919125e-03f, 1.980481567e-03f, 1.984040404e-03f, 1.987595632e-03f,
+1.991147244e-03f, 1.994695235e-03f, 1.998239598e-03f, 2.001780327e-03f, 2.005317417e-03f, 2.008850862e-03f, 2.012380655e-03f, 2.015906791e-03f, 2.019429264e-03f, 2.022948068e-03f,
+2.026463197e-03f, 2.029974645e-03f, 2.033482407e-03f, 2.036986475e-03f, 2.040486846e-03f, 2.043983512e-03f, 2.047476468e-03f, 2.050965708e-03f, 2.054451226e-03f, 2.057933017e-03f,
+2.061411074e-03f, 2.064885391e-03f, 2.068355964e-03f, 2.071822785e-03f, 2.075285850e-03f, 2.078745152e-03f, 2.082200686e-03f, 2.085652446e-03f, 2.089100426e-03f, 2.092544620e-03f,
+2.095985023e-03f, 2.099421629e-03f, 2.102854432e-03f, 2.106283426e-03f, 2.109708605e-03f, 2.113129965e-03f, 2.116547499e-03f, 2.119961201e-03f, 2.123371066e-03f, 2.126777088e-03f,
+2.130179262e-03f, 2.133577581e-03f, 2.136972040e-03f, 2.140362634e-03f, 2.143749356e-03f, 2.147132201e-03f, 2.150511163e-03f, 2.153886238e-03f, 2.157257418e-03f, 2.160624699e-03f,
+2.163988075e-03f, 2.167347540e-03f, 2.170703088e-03f, 2.174054715e-03f, 2.177402414e-03f, 2.180746179e-03f, 2.184086007e-03f, 2.187421889e-03f, 2.190753822e-03f, 2.194081800e-03f,
+2.197405816e-03f, 2.200725866e-03f, 2.204041944e-03f, 2.207354044e-03f, 2.210662162e-03f, 2.213966290e-03f, 2.217266425e-03f, 2.220562560e-03f, 2.223854689e-03f, 2.227142808e-03f,
+2.230426911e-03f, 2.233706993e-03f, 2.236983047e-03f, 2.240255069e-03f, 2.243523053e-03f, 2.246786994e-03f, 2.250046886e-03f, 2.253302723e-03f, 2.256554501e-03f, 2.259802214e-03f,
+2.263045857e-03f, 2.266285423e-03f, 2.269520908e-03f, 2.272752307e-03f, 2.275979613e-03f, 2.279202823e-03f, 2.282421929e-03f, 2.285636927e-03f, 2.288847812e-03f, 2.292054578e-03f,
+2.295257220e-03f, 2.298455733e-03f, 2.301650110e-03f, 2.304840348e-03f, 2.308026440e-03f, 2.311208382e-03f, 2.314386167e-03f, 2.317559791e-03f, 2.320729249e-03f, 2.323894535e-03f,
+2.327055644e-03f, 2.330212571e-03f, 2.333365310e-03f, 2.336513856e-03f, 2.339658204e-03f, 2.342798349e-03f, 2.345934286e-03f, 2.349066009e-03f, 2.352193513e-03f, 2.355316793e-03f,
+2.358435844e-03f, 2.361550661e-03f, 2.364661238e-03f, 2.367767570e-03f, 2.370869652e-03f, 2.373967479e-03f, 2.377061047e-03f, 2.380150348e-03f, 2.383235380e-03f, 2.386316136e-03f,
+2.389392611e-03f, 2.392464801e-03f, 2.395532700e-03f, 2.398596302e-03f, 2.401655604e-03f, 2.404710600e-03f, 2.407761285e-03f, 2.410807654e-03f, 2.413849701e-03f, 2.416887422e-03f,
+2.419920812e-03f, 2.422949865e-03f, 2.425974578e-03f, 2.428994944e-03f, 2.432010958e-03f, 2.435022617e-03f, 2.438029914e-03f, 2.441032844e-03f, 2.444031404e-03f, 2.447025587e-03f,
+2.450015390e-03f, 2.453000806e-03f, 2.455981831e-03f, 2.458958460e-03f, 2.461930688e-03f, 2.464898511e-03f, 2.467861922e-03f, 2.470820919e-03f, 2.473775494e-03f, 2.476725645e-03f,
+2.479671365e-03f, 2.482612650e-03f, 2.485549495e-03f, 2.488481895e-03f, 2.491409846e-03f, 2.494333342e-03f, 2.497252379e-03f, 2.500166952e-03f, 2.503077056e-03f, 2.505982686e-03f,
+2.508883837e-03f, 2.511780505e-03f, 2.514672686e-03f, 2.517560373e-03f, 2.520443562e-03f, 2.523322250e-03f, 2.526196430e-03f, 2.529066098e-03f, 2.531931250e-03f, 2.534791880e-03f,
+2.537647985e-03f, 2.540499558e-03f, 2.543346596e-03f, 2.546189094e-03f, 2.549027048e-03f, 2.551860452e-03f, 2.554689301e-03f, 2.557513592e-03f, 2.560333319e-03f, 2.563148479e-03f,
+2.565959065e-03f, 2.568765075e-03f, 2.571566502e-03f, 2.574363343e-03f, 2.577155592e-03f, 2.579943246e-03f, 2.582726299e-03f, 2.585504748e-03f, 2.588278587e-03f, 2.591047812e-03f,
+2.593812418e-03f, 2.596572402e-03f, 2.599327757e-03f, 2.602078481e-03f, 2.604824567e-03f, 2.607566013e-03f, 2.610302812e-03f, 2.613034962e-03f, 2.615762456e-03f, 2.618485292e-03f,
+2.621203464e-03f, 2.623916968e-03f, 2.626625799e-03f, 2.629329953e-03f, 2.632029426e-03f, 2.634724213e-03f, 2.637414309e-03f, 2.640099711e-03f, 2.642780414e-03f, 2.645456413e-03f,
+2.648127705e-03f, 2.650794284e-03f, 2.653456146e-03f, 2.656113288e-03f, 2.658765704e-03f, 2.661413390e-03f, 2.664056343e-03f, 2.666694557e-03f, 2.669328028e-03f, 2.671956753e-03f,
+2.674580726e-03f, 2.677199944e-03f, 2.679814401e-03f, 2.682424095e-03f, 2.685029020e-03f, 2.687629173e-03f, 2.690224548e-03f, 2.692815143e-03f, 2.695400952e-03f, 2.697981972e-03f,
+2.700558197e-03f, 2.703129625e-03f, 2.705696250e-03f, 2.708258069e-03f, 2.710815078e-03f, 2.713367271e-03f, 2.715914646e-03f, 2.718457197e-03f, 2.720994922e-03f, 2.723527815e-03f,
+2.726055872e-03f, 2.728579090e-03f, 2.731097464e-03f, 2.733610990e-03f, 2.736119664e-03f, 2.738623482e-03f, 2.741122440e-03f, 2.743616533e-03f, 2.746105759e-03f, 2.748590112e-03f,
+2.751069589e-03f, 2.753544185e-03f, 2.756013897e-03f, 2.758478720e-03f, 2.760938651e-03f, 2.763393686e-03f, 2.765843820e-03f, 2.768289050e-03f, 2.770729371e-03f, 2.773164780e-03f,
+2.775595272e-03f, 2.778020844e-03f, 2.780441492e-03f, 2.782857212e-03f, 2.785267999e-03f, 2.787673851e-03f, 2.790074763e-03f, 2.792470731e-03f, 2.794861751e-03f, 2.797247819e-03f,
+2.799628932e-03f, 2.802005086e-03f, 2.804376277e-03f, 2.806742501e-03f, 2.809103753e-03f, 2.811460031e-03f, 2.813811331e-03f, 2.816157648e-03f, 2.818498979e-03f, 2.820835321e-03f,
+2.823166668e-03f, 2.825493018e-03f, 2.827814367e-03f, 2.830130711e-03f, 2.832442046e-03f, 2.834748369e-03f, 2.837049675e-03f, 2.839345962e-03f, 2.841637224e-03f, 2.843923460e-03f,
+2.846204664e-03f, 2.848480834e-03f, 2.850751965e-03f, 2.853018055e-03f, 2.855279098e-03f, 2.857535092e-03f, 2.859786033e-03f, 2.862031918e-03f, 2.864272742e-03f, 2.866508502e-03f,
+2.868739195e-03f, 2.870964817e-03f, 2.873185364e-03f, 2.875400832e-03f, 2.877611219e-03f, 2.879816521e-03f, 2.882016733e-03f, 2.884211853e-03f, 2.886401877e-03f, 2.888586802e-03f,
+2.890766623e-03f, 2.892941338e-03f, 2.895110942e-03f, 2.897275433e-03f, 2.899434808e-03f, 2.901589061e-03f, 2.903738191e-03f, 2.905882193e-03f, 2.908021064e-03f, 2.910154801e-03f,
+2.912283400e-03f, 2.914406858e-03f, 2.916525172e-03f, 2.918638337e-03f, 2.920746351e-03f, 2.922849211e-03f, 2.924946912e-03f, 2.927039452e-03f, 2.929126827e-03f, 2.931209034e-03f,
+2.933286069e-03f, 2.935357929e-03f, 2.937424612e-03f, 2.939486113e-03f, 2.941542429e-03f, 2.943593557e-03f, 2.945639494e-03f, 2.947680236e-03f, 2.949715780e-03f, 2.951746123e-03f,
+2.953771262e-03f, 2.955791193e-03f, 2.957805914e-03f, 2.959815420e-03f, 2.961819709e-03f, 2.963818778e-03f, 2.965812623e-03f, 2.967801242e-03f, 2.969784630e-03f, 2.971762785e-03f,
+2.973735704e-03f, 2.975703383e-03f, 2.977665820e-03f, 2.979623011e-03f, 2.981574954e-03f, 2.983521644e-03f, 2.985463080e-03f, 2.987399257e-03f, 2.989330173e-03f, 2.991255825e-03f,
+2.993176210e-03f, 2.995091324e-03f, 2.997001165e-03f, 2.998905729e-03f, 3.000805014e-03f, 3.002699016e-03f, 3.004587733e-03f, 3.006471162e-03f, 3.008349299e-03f, 3.010222142e-03f,
+3.012089687e-03f, 3.013951932e-03f, 3.015808874e-03f, 3.017660509e-03f, 3.019506835e-03f, 3.021347849e-03f, 3.023183548e-03f, 3.025013929e-03f, 3.026838990e-03f, 3.028658727e-03f,
+3.030473137e-03f, 3.032282217e-03f, 3.034085966e-03f, 3.035884379e-03f, 3.037677455e-03f, 3.039465189e-03f, 3.041247580e-03f, 3.043024625e-03f, 3.044796320e-03f, 3.046562664e-03f,
+3.048323652e-03f, 3.050079283e-03f, 3.051829554e-03f, 3.053574462e-03f, 3.055314004e-03f, 3.057048177e-03f, 3.058776979e-03f, 3.060500407e-03f, 3.062218458e-03f, 3.063931130e-03f,
+3.065638420e-03f, 3.067340326e-03f, 3.069036844e-03f, 3.070727971e-03f, 3.072413706e-03f, 3.074094046e-03f, 3.075768988e-03f, 3.077438529e-03f, 3.079102667e-03f, 3.080761399e-03f,
+3.082414723e-03f, 3.084062635e-03f, 3.085705135e-03f, 3.087342218e-03f, 3.088973882e-03f, 3.090600125e-03f, 3.092220945e-03f, 3.093836338e-03f, 3.095446302e-03f, 3.097050835e-03f,
+3.098649935e-03f, 3.100243598e-03f, 3.101831822e-03f, 3.103414605e-03f, 3.104991944e-03f, 3.106563837e-03f, 3.108130282e-03f, 3.109691276e-03f, 3.111246816e-03f, 3.112796900e-03f,
+3.114341526e-03f, 3.115880692e-03f, 3.117414394e-03f, 3.118942631e-03f, 3.120465401e-03f, 3.121982700e-03f, 3.123494527e-03f, 3.125000879e-03f, 3.126501754e-03f, 3.127997150e-03f,
+3.129487063e-03f, 3.130971493e-03f, 3.132450437e-03f, 3.133923892e-03f, 3.135391856e-03f, 3.136854327e-03f, 3.138311303e-03f, 3.139762781e-03f, 3.141208759e-03f, 3.142649235e-03f,
+3.144084207e-03f, 3.145513673e-03f, 3.146937630e-03f, 3.148356076e-03f, 3.149769009e-03f, 3.151176427e-03f, 3.152578328e-03f, 3.153974709e-03f, 3.155365569e-03f, 3.156750905e-03f,
+3.158130715e-03f, 3.159504997e-03f, 3.160873750e-03f, 3.162236970e-03f, 3.163594656e-03f, 3.164946806e-03f, 3.166293417e-03f, 3.167634489e-03f, 3.168970018e-03f, 3.170300002e-03f,
+3.171624440e-03f, 3.172943330e-03f, 3.174256669e-03f, 3.175564456e-03f, 3.176866689e-03f, 3.178163365e-03f, 3.179454483e-03f, 3.180740040e-03f, 3.182020036e-03f, 3.183294467e-03f,
+3.184563333e-03f, 3.185826630e-03f, 3.187084358e-03f, 3.188336513e-03f, 3.189583096e-03f, 3.190824102e-03f, 3.192059532e-03f, 3.193289382e-03f, 3.194513651e-03f, 3.195732338e-03f,
+3.196945439e-03f, 3.198152955e-03f, 3.199354881e-03f, 3.200551218e-03f, 3.201741963e-03f, 3.202927114e-03f, 3.204106670e-03f, 3.205280629e-03f, 3.206448989e-03f, 3.207611748e-03f,
+3.208768905e-03f, 3.209920457e-03f, 3.211066404e-03f, 3.212206744e-03f, 3.213341474e-03f, 3.214470593e-03f, 3.215594100e-03f, 3.216711993e-03f, 3.217824270e-03f, 3.218930930e-03f,
+3.220031970e-03f, 3.221127390e-03f, 3.222217187e-03f, 3.223301361e-03f, 3.224379909e-03f, 3.225452830e-03f, 3.226520123e-03f, 3.227581785e-03f, 3.228637815e-03f, 3.229688213e-03f,
+3.230732975e-03f, 3.231772101e-03f, 3.232805590e-03f, 3.233833439e-03f, 3.234855647e-03f, 3.235872213e-03f, 3.236883135e-03f, 3.237888412e-03f, 3.238888042e-03f, 3.239882024e-03f,
+3.240870357e-03f, 3.241853039e-03f, 3.242830068e-03f, 3.243801444e-03f, 3.244767164e-03f, 3.245727228e-03f, 3.246681634e-03f, 3.247630381e-03f, 3.248573467e-03f, 3.249510891e-03f,
+3.250442652e-03f, 3.251368748e-03f, 3.252289178e-03f, 3.253203941e-03f, 3.254113036e-03f, 3.255016460e-03f, 3.255914214e-03f, 3.256806295e-03f, 3.257692703e-03f, 3.258573436e-03f,
+3.259448492e-03f, 3.260317872e-03f, 3.261181573e-03f, 3.262039594e-03f, 3.262891935e-03f, 3.263738593e-03f, 3.264579568e-03f, 3.265414859e-03f, 3.266244464e-03f, 3.267068382e-03f,
+3.267886612e-03f, 3.268699154e-03f, 3.269506005e-03f, 3.270307165e-03f, 3.271102633e-03f, 3.271892408e-03f, 3.272676488e-03f, 3.273454872e-03f, 3.274227560e-03f, 3.274994551e-03f,
+3.275755842e-03f, 3.276511434e-03f, 3.277261326e-03f, 3.278005515e-03f, 3.278744002e-03f, 3.279476786e-03f, 3.280203864e-03f, 3.280925237e-03f, 3.281640903e-03f, 3.282350862e-03f,
+3.283055113e-03f, 3.283753654e-03f, 3.284446485e-03f, 3.285133604e-03f, 3.285815011e-03f, 3.286490706e-03f, 3.287160686e-03f, 3.287824952e-03f, 3.288483502e-03f, 3.289136336e-03f,
+3.289783453e-03f, 3.290424851e-03f, 3.291060531e-03f, 3.291690490e-03f, 3.292314730e-03f, 3.292933248e-03f, 3.293546043e-03f, 3.294153116e-03f, 3.294754466e-03f, 3.295350091e-03f,
+3.295939991e-03f, 3.296524165e-03f, 3.297102612e-03f, 3.297675333e-03f, 3.298242325e-03f, 3.298803589e-03f, 3.299359123e-03f, 3.299908927e-03f, 3.300453001e-03f, 3.300991344e-03f,
+3.301523954e-03f, 3.302050832e-03f, 3.302571977e-03f, 3.303087388e-03f, 3.303597065e-03f, 3.304101006e-03f, 3.304599212e-03f, 3.305091682e-03f, 3.305578416e-03f, 3.306059412e-03f,
+3.306534670e-03f, 3.307004190e-03f, 3.307467971e-03f, 3.307926013e-03f, 3.308378315e-03f, 3.308824877e-03f, 3.309265698e-03f, 3.309700778e-03f, 3.310130116e-03f, 3.310553711e-03f,
+3.310971565e-03f, 3.311383675e-03f, 3.311790042e-03f, 3.312190664e-03f, 3.312585543e-03f, 3.312974677e-03f, 3.313358066e-03f, 3.313735709e-03f, 3.314107607e-03f, 3.314473759e-03f,
+3.314834164e-03f, 3.315188822e-03f, 3.315537734e-03f, 3.315880898e-03f, 3.316218314e-03f, 3.316549982e-03f, 3.316875902e-03f, 3.317196073e-03f, 3.317510496e-03f, 3.317819169e-03f,
+3.318122093e-03f, 3.318419268e-03f, 3.318710692e-03f, 3.318996367e-03f, 3.319276292e-03f, 3.319550466e-03f, 3.319818890e-03f, 3.320081563e-03f, 3.320338486e-03f, 3.320589657e-03f,
+3.320835077e-03f, 3.321074745e-03f, 3.321308663e-03f, 3.321536829e-03f, 3.321759243e-03f, 3.321975905e-03f, 3.322186816e-03f, 3.322391975e-03f, 3.322591382e-03f, 3.322785036e-03f,
+3.322972939e-03f, 3.323155090e-03f, 3.323331489e-03f, 3.323502135e-03f, 3.323667030e-03f, 3.323826172e-03f, 3.323979563e-03f, 3.324127201e-03f, 3.324269087e-03f, 3.324405222e-03f,
+3.324535604e-03f, 3.324660235e-03f, 3.324779114e-03f, 3.324892241e-03f, 3.324999617e-03f, 3.325101241e-03f, 3.325197114e-03f, 3.325287236e-03f, 3.325371606e-03f, 3.325450226e-03f,
+3.325523095e-03f, 3.325590213e-03f, 3.325651581e-03f, 3.325707199e-03f, 3.325757067e-03f, 3.325801184e-03f, 3.325839553e-03f, 3.325872171e-03f, 3.325899041e-03f, 3.325920162e-03f,
+3.325935534e-03f, 3.325945158e-03f, 3.325949033e-03f, 3.325947161e-03f, 3.325939541e-03f, 3.325926174e-03f, 3.325907061e-03f, 3.325882200e-03f, 3.325851593e-03f, 3.325815241e-03f,
+3.325773143e-03f, 3.325725300e-03f, 3.325671712e-03f, 3.325612379e-03f, 3.325547303e-03f, 3.325476482e-03f, 3.325399919e-03f, 3.325317613e-03f, 3.325229565e-03f, 3.325135775e-03f,
+3.325036243e-03f, 3.324930970e-03f, 3.324819957e-03f, 3.324703204e-03f, 3.324580711e-03f, 3.324452479e-03f, 3.324318509e-03f, 3.324178801e-03f, 3.324033355e-03f, 3.323882173e-03f,
+3.323725254e-03f, 3.323562599e-03f, 3.323394210e-03f, 3.323220085e-03f, 3.323040227e-03f, 3.322854635e-03f, 3.322663310e-03f, 3.322466253e-03f, 3.322263465e-03f, 3.322054945e-03f,
+3.321840696e-03f, 3.321620716e-03f, 3.321395008e-03f, 3.321163572e-03f, 3.320926408e-03f, 3.320683517e-03f, 3.320434900e-03f, 3.320180558e-03f, 3.319920491e-03f, 3.319654700e-03f,
+3.319383186e-03f, 3.319105949e-03f, 3.318822991e-03f, 3.318534312e-03f, 3.318239912e-03f, 3.317939794e-03f, 3.317633957e-03f, 3.317322402e-03f, 3.317005131e-03f, 3.316682143e-03f,
+3.316353441e-03f, 3.316019024e-03f, 3.315678893e-03f, 3.315333051e-03f, 3.314981496e-03f, 3.314624231e-03f, 3.314261256e-03f, 3.313892572e-03f, 3.313518180e-03f, 3.313138081e-03f,
+3.312752276e-03f, 3.312360766e-03f, 3.311963551e-03f, 3.311560634e-03f, 3.311152014e-03f, 3.310737693e-03f, 3.310317671e-03f, 3.309891951e-03f, 3.309460532e-03f, 3.309023417e-03f,
+3.308580605e-03f, 3.308132098e-03f, 3.307677897e-03f, 3.307218003e-03f, 3.306752418e-03f, 3.306281142e-03f, 3.305804176e-03f, 3.305321522e-03f, 3.304833180e-03f, 3.304339152e-03f,
+3.303839439e-03f, 3.303334042e-03f, 3.302822963e-03f, 3.302306201e-03f, 3.301783760e-03f, 3.301255639e-03f, 3.300721840e-03f, 3.300182364e-03f, 3.299637213e-03f, 3.299086387e-03f,
+3.298529888e-03f, 3.297967718e-03f, 3.297399877e-03f, 3.296826366e-03f, 3.296247187e-03f, 3.295662342e-03f, 3.295071831e-03f, 3.294475656e-03f, 3.293873819e-03f, 3.293266319e-03f,
+3.292653160e-03f, 3.292034342e-03f, 3.291409866e-03f, 3.290779734e-03f, 3.290143948e-03f, 3.289502508e-03f, 3.288855416e-03f, 3.288202674e-03f, 3.287544282e-03f, 3.286880243e-03f,
+3.286210558e-03f, 3.285535228e-03f, 3.284854254e-03f, 3.284167639e-03f, 3.283475383e-03f, 3.282777489e-03f, 3.282073957e-03f, 3.281364789e-03f, 3.280649986e-03f, 3.279929551e-03f,
+3.279203484e-03f, 3.278471788e-03f, 3.277734463e-03f, 3.276991512e-03f, 3.276242935e-03f, 3.275488735e-03f, 3.274728913e-03f, 3.273963471e-03f, 3.273192410e-03f, 3.272415731e-03f,
+3.271633438e-03f, 3.270845530e-03f, 3.270052010e-03f, 3.269252880e-03f, 3.268448141e-03f, 3.267637794e-03f, 3.266821842e-03f, 3.266000286e-03f, 3.265173128e-03f, 3.264340370e-03f,
+3.263502013e-03f, 3.262658059e-03f, 3.261808510e-03f, 3.260953367e-03f, 3.260092633e-03f, 3.259226309e-03f, 3.258354396e-03f, 3.257476897e-03f, 3.256593814e-03f, 3.255705148e-03f,
+3.254810901e-03f, 3.253911075e-03f, 3.253005672e-03f, 3.252094694e-03f, 3.251178141e-03f, 3.250256018e-03f, 3.249328324e-03f, 3.248395063e-03f, 3.247456235e-03f, 3.246511844e-03f,
+3.245561890e-03f, 3.244606376e-03f, 3.243645304e-03f, 3.242678675e-03f, 3.241706492e-03f, 3.240728756e-03f, 3.239745470e-03f, 3.238756636e-03f, 3.237762255e-03f, 3.236762329e-03f,
+3.235756861e-03f, 3.234745853e-03f, 3.233729306e-03f, 3.232707223e-03f, 3.231679605e-03f, 3.230646455e-03f, 3.229607775e-03f, 3.228563566e-03f, 3.227513832e-03f, 3.226458573e-03f,
+3.225397793e-03f, 3.224331493e-03f, 3.223259675e-03f, 3.222182342e-03f, 3.221099496e-03f, 3.220011138e-03f, 3.218917271e-03f, 3.217817898e-03f, 3.216713020e-03f, 3.215602639e-03f,
+3.214486758e-03f, 3.213365379e-03f, 3.212238504e-03f, 3.211106135e-03f, 3.209968275e-03f, 3.208824926e-03f, 3.207676090e-03f, 3.206521769e-03f, 3.205361966e-03f, 3.204196683e-03f,
+3.203025922e-03f, 3.201849686e-03f, 3.200667976e-03f, 3.199480796e-03f, 3.198288147e-03f, 3.197090032e-03f, 3.195886453e-03f, 3.194677413e-03f, 3.193462914e-03f, 3.192242957e-03f,
+3.191017547e-03f, 3.189786685e-03f, 3.188550373e-03f, 3.187308614e-03f, 3.186061410e-03f, 3.184808764e-03f, 3.183550678e-03f, 3.182287155e-03f, 3.181018197e-03f, 3.179743806e-03f,
+3.178463986e-03f, 3.177178738e-03f, 3.175888065e-03f, 3.174591970e-03f, 3.173290455e-03f, 3.171983522e-03f, 3.170671174e-03f, 3.169353415e-03f, 3.168030245e-03f, 3.166701668e-03f,
+3.165367687e-03f, 3.164028303e-03f, 3.162683520e-03f, 3.161333340e-03f, 3.159977766e-03f, 3.158616800e-03f, 3.157250445e-03f, 3.155878704e-03f, 3.154501579e-03f, 3.153119073e-03f,
+3.151731188e-03f, 3.150337928e-03f, 3.148939295e-03f, 3.147535291e-03f, 3.146125920e-03f, 3.144711183e-03f, 3.143291085e-03f, 3.141865627e-03f, 3.140434812e-03f, 3.138998643e-03f,
+3.137557123e-03f, 3.136110254e-03f, 3.134658040e-03f, 3.133200482e-03f, 3.131737585e-03f, 3.130269350e-03f, 3.128795780e-03f, 3.127316879e-03f, 3.125832649e-03f, 3.124343093e-03f,
+3.122848213e-03f, 3.121348013e-03f, 3.119842496e-03f, 3.118331664e-03f, 3.116815520e-03f, 3.115294068e-03f, 3.113767309e-03f, 3.112235248e-03f, 3.110697886e-03f, 3.109155227e-03f,
+3.107607274e-03f, 3.106054030e-03f, 3.104495497e-03f, 3.102931678e-03f, 3.101362578e-03f, 3.099788198e-03f, 3.098208541e-03f, 3.096623611e-03f, 3.095033410e-03f, 3.093437942e-03f,
+3.091837210e-03f, 3.090231216e-03f, 3.088619964e-03f, 3.087003457e-03f, 3.085381697e-03f, 3.083754689e-03f, 3.082122434e-03f, 3.080484936e-03f, 3.078842198e-03f, 3.077194224e-03f,
+3.075541016e-03f, 3.073882577e-03f, 3.072218911e-03f, 3.070550021e-03f, 3.068875910e-03f, 3.067196580e-03f, 3.065512036e-03f, 3.063822281e-03f, 3.062127316e-03f, 3.060427147e-03f,
+3.058721776e-03f, 3.057011206e-03f, 3.055295440e-03f, 3.053574482e-03f, 3.051848335e-03f, 3.050117002e-03f, 3.048380486e-03f, 3.046638791e-03f, 3.044891920e-03f, 3.043139876e-03f,
+3.041382663e-03f, 3.039620283e-03f, 3.037852741e-03f, 3.036080039e-03f, 3.034302180e-03f, 3.032519169e-03f, 3.030731008e-03f, 3.028937702e-03f, 3.027139252e-03f, 3.025335663e-03f,
+3.023526937e-03f, 3.021713079e-03f, 3.019894092e-03f, 3.018069979e-03f, 3.016240743e-03f, 3.014406388e-03f, 3.012566918e-03f, 3.010722335e-03f, 3.008872644e-03f, 3.007017847e-03f,
+3.005157949e-03f, 3.003292952e-03f, 3.001422860e-03f, 2.999547677e-03f, 2.997667406e-03f, 2.995782051e-03f, 2.993891615e-03f, 2.991996102e-03f, 2.990095514e-03f, 2.988189857e-03f,
+2.986279133e-03f, 2.984363346e-03f, 2.982442499e-03f, 2.980516596e-03f, 2.978585641e-03f, 2.976649637e-03f, 2.974708588e-03f, 2.972762497e-03f, 2.970811368e-03f, 2.968855205e-03f,
+2.966894011e-03f, 2.964927791e-03f, 2.962956546e-03f, 2.960980283e-03f, 2.958999003e-03f, 2.957012710e-03f, 2.955021409e-03f, 2.953025103e-03f, 2.951023796e-03f, 2.949017491e-03f,
+2.947006192e-03f, 2.944989903e-03f, 2.942968628e-03f, 2.940942370e-03f, 2.938911134e-03f, 2.936874922e-03f, 2.934833739e-03f, 2.932787588e-03f, 2.930736473e-03f, 2.928680399e-03f,
+2.926619368e-03f, 2.924553385e-03f, 2.922482454e-03f, 2.920406578e-03f, 2.918325761e-03f, 2.916240007e-03f, 2.914149319e-03f, 2.912053703e-03f, 2.909953161e-03f, 2.907847698e-03f,
+2.905737317e-03f, 2.903622022e-03f, 2.901501817e-03f, 2.899376707e-03f, 2.897246694e-03f, 2.895111784e-03f, 2.892971979e-03f, 2.890827284e-03f, 2.888677703e-03f, 2.886523240e-03f,
+2.884363898e-03f, 2.882199682e-03f, 2.880030596e-03f, 2.877856643e-03f, 2.875677828e-03f, 2.873494155e-03f, 2.871305628e-03f, 2.869112250e-03f, 2.866914026e-03f, 2.864710960e-03f,
+2.862503056e-03f, 2.860290318e-03f, 2.858072750e-03f, 2.855850356e-03f, 2.853623140e-03f, 2.851391106e-03f, 2.849154259e-03f, 2.846912602e-03f, 2.844666140e-03f, 2.842414877e-03f,
+2.840158817e-03f, 2.837897963e-03f, 2.835632321e-03f, 2.833361894e-03f, 2.831086687e-03f, 2.828806704e-03f, 2.826521948e-03f, 2.824232424e-03f, 2.821938137e-03f, 2.819639090e-03f,
+2.817335288e-03f, 2.815026734e-03f, 2.812713434e-03f, 2.810395391e-03f, 2.808072610e-03f, 2.805745095e-03f, 2.803412850e-03f, 2.801075879e-03f, 2.798734187e-03f, 2.796387778e-03f,
+2.794036657e-03f, 2.791680827e-03f, 2.789320293e-03f, 2.786955059e-03f, 2.784585129e-03f, 2.782210509e-03f, 2.779831202e-03f, 2.777447212e-03f, 2.775058544e-03f, 2.772665203e-03f,
+2.770267192e-03f, 2.767864517e-03f, 2.765457180e-03f, 2.763045188e-03f, 2.760628544e-03f, 2.758207253e-03f, 2.755781318e-03f, 2.753350746e-03f, 2.750915539e-03f, 2.748475703e-03f,
+2.746031241e-03f, 2.743582159e-03f, 2.741128461e-03f, 2.738670151e-03f, 2.736207233e-03f, 2.733739713e-03f, 2.731267595e-03f, 2.728790883e-03f, 2.726309582e-03f, 2.723823696e-03f,
+2.721333230e-03f, 2.718838188e-03f, 2.716338575e-03f, 2.713834395e-03f, 2.711325654e-03f, 2.708812355e-03f, 2.706294503e-03f, 2.703772104e-03f, 2.701245160e-03f, 2.698713677e-03f,
+2.696177660e-03f, 2.693637113e-03f, 2.691092041e-03f, 2.688542449e-03f, 2.685988340e-03f, 2.683429720e-03f, 2.680866593e-03f, 2.678298965e-03f, 2.675726839e-03f, 2.673150220e-03f,
+2.670569114e-03f, 2.667983524e-03f, 2.665393456e-03f, 2.662798913e-03f, 2.660199902e-03f, 2.657596426e-03f, 2.654988490e-03f, 2.652376100e-03f, 2.649759259e-03f, 2.647137973e-03f,
+2.644512246e-03f, 2.641882083e-03f, 2.639247488e-03f, 2.636608468e-03f, 2.633965026e-03f, 2.631317167e-03f, 2.628664896e-03f, 2.626008217e-03f, 2.623347136e-03f, 2.620681658e-03f,
+2.618011787e-03f, 2.615337528e-03f, 2.612658886e-03f, 2.609975866e-03f, 2.607288472e-03f, 2.604596710e-03f, 2.601900585e-03f, 2.599200100e-03f, 2.596495262e-03f, 2.593786075e-03f,
+2.591072543e-03f, 2.588354673e-03f, 2.585632469e-03f, 2.582905935e-03f, 2.580175077e-03f, 2.577439899e-03f, 2.574700407e-03f, 2.571956605e-03f, 2.569208499e-03f, 2.566456094e-03f,
+2.563699393e-03f, 2.560938403e-03f, 2.558173129e-03f, 2.555403575e-03f, 2.552629746e-03f, 2.549851648e-03f, 2.547069285e-03f, 2.544282662e-03f, 2.541491785e-03f, 2.538696659e-03f,
+2.535897288e-03f, 2.533093677e-03f, 2.530285833e-03f, 2.527473759e-03f, 2.524657461e-03f, 2.521836944e-03f, 2.519012212e-03f, 2.516183272e-03f, 2.513350128e-03f, 2.510512786e-03f,
+2.507671250e-03f, 2.504825525e-03f, 2.501975617e-03f, 2.499121531e-03f, 2.496263272e-03f, 2.493400845e-03f, 2.490534255e-03f, 2.487663508e-03f, 2.484788608e-03f, 2.481909561e-03f,
+2.479026372e-03f, 2.476139047e-03f, 2.473247589e-03f, 2.470352006e-03f, 2.467452301e-03f, 2.464548480e-03f, 2.461640548e-03f, 2.458728511e-03f, 2.455812374e-03f, 2.452892141e-03f,
+2.449967819e-03f, 2.447039412e-03f, 2.444106927e-03f, 2.441170367e-03f, 2.438229738e-03f, 2.435285046e-03f, 2.432336296e-03f, 2.429383494e-03f, 2.426426643e-03f, 2.423465751e-03f,
+2.420500822e-03f, 2.417531861e-03f, 2.414558874e-03f, 2.411581867e-03f, 2.408600844e-03f, 2.405615810e-03f, 2.402626773e-03f, 2.399633735e-03f, 2.396636704e-03f, 2.393635684e-03f,
+2.390630681e-03f, 2.387621700e-03f, 2.384608746e-03f, 2.381591826e-03f, 2.378570944e-03f, 2.375546106e-03f, 2.372517317e-03f, 2.369484583e-03f, 2.366447909e-03f, 2.363407300e-03f,
+2.360362763e-03f, 2.357314302e-03f, 2.354261923e-03f, 2.351205631e-03f, 2.348145433e-03f, 2.345081332e-03f, 2.342013336e-03f, 2.338941449e-03f, 2.335865677e-03f, 2.332786026e-03f,
+2.329702500e-03f, 2.326615106e-03f, 2.323523849e-03f, 2.320428735e-03f, 2.317329769e-03f, 2.314226956e-03f, 2.311120302e-03f, 2.308009814e-03f, 2.304895495e-03f, 2.301777353e-03f,
+2.298655392e-03f, 2.295529618e-03f, 2.292400037e-03f, 2.289266654e-03f, 2.286129476e-03f, 2.282988506e-03f, 2.279843752e-03f, 2.276695219e-03f, 2.273542912e-03f, 2.270386837e-03f,
+2.267227000e-03f, 2.264063406e-03f, 2.260896061e-03f, 2.257724971e-03f, 2.254550141e-03f, 2.251371577e-03f, 2.248189285e-03f, 2.245003270e-03f, 2.241813539e-03f, 2.238620096e-03f,
+2.235422948e-03f, 2.232222100e-03f, 2.229017558e-03f, 2.225809327e-03f, 2.222597414e-03f, 2.219381825e-03f, 2.216162564e-03f, 2.212939637e-03f, 2.209713052e-03f, 2.206482812e-03f,
+2.203248924e-03f, 2.200011394e-03f, 2.196770227e-03f, 2.193525430e-03f, 2.190277008e-03f, 2.187024967e-03f, 2.183769312e-03f, 2.180510050e-03f, 2.177247186e-03f, 2.173980726e-03f,
+2.170710676e-03f, 2.167437042e-03f, 2.164159830e-03f, 2.160879045e-03f, 2.157594694e-03f, 2.154306781e-03f, 2.151015314e-03f, 2.147720297e-03f, 2.144421738e-03f, 2.141119641e-03f,
+2.137814013e-03f, 2.134504859e-03f, 2.131192185e-03f, 2.127875998e-03f, 2.124556303e-03f, 2.121233106e-03f, 2.117906413e-03f, 2.114576230e-03f, 2.111242563e-03f, 2.107905418e-03f,
+2.104564800e-03f, 2.101220716e-03f, 2.097873172e-03f, 2.094522174e-03f, 2.091167727e-03f, 2.087809838e-03f, 2.084448512e-03f, 2.081083756e-03f, 2.077715575e-03f, 2.074343976e-03f,
+2.070968964e-03f, 2.067590546e-03f, 2.064208727e-03f, 2.060823514e-03f, 2.057434913e-03f, 2.054042929e-03f, 2.050647569e-03f, 2.047248839e-03f, 2.043846744e-03f, 2.040441291e-03f,
+2.037032486e-03f, 2.033620335e-03f, 2.030204843e-03f, 2.026786018e-03f, 2.023363865e-03f, 2.019938391e-03f, 2.016509600e-03f, 2.013077500e-03f, 2.009642097e-03f, 2.006203396e-03f,
+2.002761403e-03f, 1.999316126e-03f, 1.995867569e-03f, 1.992415740e-03f, 1.988960644e-03f, 1.985502287e-03f, 1.982040676e-03f, 1.978575816e-03f, 1.975107715e-03f, 1.971636377e-03f,
+1.968161809e-03f, 1.964684018e-03f, 1.961203009e-03f, 1.957718788e-03f, 1.954231363e-03f, 1.950740738e-03f, 1.947246921e-03f, 1.943749917e-03f, 1.940249733e-03f, 1.936746375e-03f,
+1.933239849e-03f, 1.929730161e-03f, 1.926217317e-03f, 1.922701325e-03f, 1.919182189e-03f, 1.915659917e-03f, 1.912134514e-03f, 1.908605986e-03f, 1.905074341e-03f, 1.901539584e-03f,
+1.898001721e-03f, 1.894460760e-03f, 1.890916705e-03f, 1.887369564e-03f, 1.883819342e-03f, 1.880266046e-03f, 1.876709683e-03f, 1.873150258e-03f, 1.869587778e-03f, 1.866022249e-03f,
+1.862453677e-03f, 1.858882069e-03f, 1.855307432e-03f, 1.851729770e-03f, 1.848149092e-03f, 1.844565403e-03f, 1.840978709e-03f, 1.837389017e-03f, 1.833796333e-03f, 1.830200664e-03f,
+1.826602016e-03f, 1.823000395e-03f, 1.819395808e-03f, 1.815788260e-03f, 1.812177760e-03f, 1.808564312e-03f, 1.804947923e-03f, 1.801328600e-03f, 1.797706349e-03f, 1.794081176e-03f,
+1.790453088e-03f, 1.786822091e-03f, 1.783188193e-03f, 1.779551398e-03f, 1.775911714e-03f, 1.772269146e-03f, 1.768623703e-03f, 1.764975389e-03f, 1.761324211e-03f, 1.757670176e-03f,
+1.754013291e-03f, 1.750353561e-03f, 1.746690994e-03f, 1.743025595e-03f, 1.739357371e-03f, 1.735686329e-03f, 1.732012475e-03f, 1.728335815e-03f, 1.724656357e-03f, 1.720974106e-03f,
+1.717289070e-03f, 1.713601254e-03f, 1.709910665e-03f, 1.706217310e-03f, 1.702521195e-03f, 1.698822327e-03f, 1.695120712e-03f, 1.691416356e-03f, 1.687709267e-03f, 1.683999451e-03f,
+1.680286915e-03f, 1.676571664e-03f, 1.672853706e-03f, 1.669133047e-03f, 1.665409694e-03f, 1.661683653e-03f, 1.657954931e-03f, 1.654223534e-03f, 1.650489469e-03f, 1.646752743e-03f,
+1.643013362e-03f, 1.639271332e-03f, 1.635526662e-03f, 1.631779356e-03f, 1.628029421e-03f, 1.624276865e-03f, 1.620521694e-03f, 1.616763914e-03f, 1.613003532e-03f, 1.609240555e-03f,
+1.605474989e-03f, 1.601706842e-03f, 1.597936119e-03f, 1.594162827e-03f, 1.590386973e-03f, 1.586608564e-03f, 1.582827606e-03f, 1.579044106e-03f, 1.575258070e-03f, 1.571469506e-03f,
+1.567678419e-03f, 1.563884818e-03f, 1.560088707e-03f, 1.556290095e-03f, 1.552488987e-03f, 1.548685391e-03f, 1.544879312e-03f, 1.541070759e-03f, 1.537259737e-03f, 1.533446253e-03f,
+1.529630314e-03f, 1.525811927e-03f, 1.521991098e-03f, 1.518167834e-03f, 1.514342142e-03f, 1.510514028e-03f, 1.506683500e-03f, 1.502850564e-03f, 1.499015227e-03f, 1.495177495e-03f,
+1.491337376e-03f, 1.487494875e-03f, 1.483650001e-03f, 1.479802759e-03f, 1.475953156e-03f, 1.472101200e-03f, 1.468246896e-03f, 1.464390252e-03f, 1.460531275e-03f, 1.456669971e-03f,
+1.452806347e-03f, 1.448940409e-03f, 1.445072166e-03f, 1.441201623e-03f, 1.437328787e-03f, 1.433453665e-03f, 1.429576264e-03f, 1.425696591e-03f, 1.421814652e-03f, 1.417930455e-03f,
+1.414044006e-03f, 1.410155311e-03f, 1.406264379e-03f, 1.402371215e-03f, 1.398475827e-03f, 1.394578222e-03f, 1.390678405e-03f, 1.386776385e-03f, 1.382872167e-03f, 1.378965759e-03f,
+1.375057168e-03f, 1.371146401e-03f, 1.367233464e-03f, 1.363318364e-03f, 1.359401108e-03f, 1.355481703e-03f, 1.351560156e-03f, 1.347636474e-03f, 1.343710664e-03f, 1.339782732e-03f,
+1.335852686e-03f, 1.331920532e-03f, 1.327986277e-03f, 1.324049929e-03f, 1.320111494e-03f, 1.316170978e-03f, 1.312228390e-03f, 1.308283735e-03f, 1.304337021e-03f, 1.300388255e-03f,
+1.296437444e-03f, 1.292484594e-03f, 1.288529712e-03f, 1.284572806e-03f, 1.280613883e-03f, 1.276652948e-03f, 1.272690010e-03f, 1.268725075e-03f, 1.264758151e-03f, 1.260789243e-03f,
+1.256818360e-03f, 1.252845507e-03f, 1.248870693e-03f, 1.244893923e-03f, 1.240915206e-03f, 1.236934547e-03f, 1.232951955e-03f, 1.228967435e-03f, 1.224980995e-03f, 1.220992642e-03f,
+1.217002383e-03f, 1.213010225e-03f, 1.209016175e-03f, 1.205020239e-03f, 1.201022426e-03f, 1.197022741e-03f, 1.193021192e-03f, 1.189017786e-03f, 1.185012530e-03f, 1.181005431e-03f,
+1.176996495e-03f, 1.172985731e-03f, 1.168973145e-03f, 1.164958743e-03f, 1.160942534e-03f, 1.156924524e-03f, 1.152904719e-03f, 1.148883128e-03f, 1.144859758e-03f, 1.140834614e-03f,
+1.136807705e-03f, 1.132779037e-03f, 1.128748617e-03f, 1.124716453e-03f, 1.120682551e-03f, 1.116646919e-03f, 1.112609564e-03f, 1.108570492e-03f, 1.104529711e-03f, 1.100487227e-03f,
+1.096443049e-03f, 1.092397183e-03f, 1.088349635e-03f, 1.084300414e-03f, 1.080249526e-03f, 1.076196978e-03f, 1.072142778e-03f, 1.068086932e-03f, 1.064029448e-03f, 1.059970333e-03f,
+1.055909593e-03f, 1.051847236e-03f, 1.047783269e-03f, 1.043717699e-03f, 1.039650533e-03f, 1.035581779e-03f, 1.031511443e-03f, 1.027439533e-03f, 1.023366055e-03f, 1.019291017e-03f,
+1.015214426e-03f, 1.011136289e-03f, 1.007056613e-03f, 1.002975405e-03f, 9.988926726e-04f, 9.948084229e-04f, 9.907226628e-04f, 9.866353995e-04f, 9.825466402e-04f, 9.784563919e-04f,
+9.743646620e-04f, 9.702714574e-04f, 9.661767853e-04f, 9.620806529e-04f, 9.579830674e-04f, 9.538840359e-04f, 9.497835655e-04f, 9.456816634e-04f, 9.415783369e-04f, 9.374735929e-04f,
+9.333674388e-04f, 9.292598817e-04f, 9.251509287e-04f, 9.210405870e-04f, 9.169288638e-04f, 9.128157663e-04f, 9.087013017e-04f, 9.045854771e-04f, 9.004682997e-04f, 8.963497767e-04f,
+8.922299153e-04f, 8.881087227e-04f, 8.839862060e-04f, 8.798623725e-04f, 8.757372294e-04f, 8.716107838e-04f, 8.674830429e-04f, 8.633540141e-04f, 8.592237043e-04f, 8.550921209e-04f,
+8.509592711e-04f, 8.468251620e-04f, 8.426898010e-04f, 8.385531951e-04f, 8.344153516e-04f, 8.302762777e-04f, 8.261359807e-04f, 8.219944677e-04f, 8.178517460e-04f, 8.137078227e-04f,
+8.095627052e-04f, 8.054164007e-04f, 8.012689162e-04f, 7.971202592e-04f, 7.929704368e-04f, 7.888194563e-04f, 7.846673249e-04f, 7.805140498e-04f, 7.763596382e-04f, 7.722040974e-04f,
+7.680474347e-04f, 7.638896573e-04f, 7.597307724e-04f, 7.555707872e-04f, 7.514097091e-04f, 7.472475452e-04f, 7.430843029e-04f, 7.389199893e-04f, 7.347546117e-04f, 7.305881773e-04f,
+7.264206935e-04f, 7.222521675e-04f, 7.180826065e-04f, 7.139120178e-04f, 7.097404086e-04f, 7.055677863e-04f, 7.013941580e-04f, 6.972195311e-04f, 6.930439128e-04f, 6.888673104e-04f,
+6.846897311e-04f, 6.805111822e-04f, 6.763316710e-04f, 6.721512048e-04f, 6.679697908e-04f, 6.637874363e-04f, 6.596041486e-04f, 6.554199349e-04f, 6.512348026e-04f, 6.470487589e-04f,
+6.428618111e-04f, 6.386739665e-04f, 6.344852324e-04f, 6.302956160e-04f, 6.261051246e-04f, 6.219137656e-04f, 6.177215462e-04f, 6.135284737e-04f, 6.093345554e-04f, 6.051397985e-04f,
+6.009442105e-04f, 5.967477985e-04f, 5.925505699e-04f, 5.883525319e-04f, 5.841536919e-04f, 5.799540572e-04f, 5.757536350e-04f, 5.715524326e-04f, 5.673504574e-04f, 5.631477167e-04f,
+5.589442177e-04f, 5.547399678e-04f, 5.505349743e-04f, 5.463292444e-04f, 5.421227855e-04f, 5.379156049e-04f, 5.337077099e-04f, 5.294991078e-04f, 5.252898059e-04f, 5.210798116e-04f,
+5.168691320e-04f, 5.126577746e-04f, 5.084457467e-04f, 5.042330555e-04f, 5.000197085e-04f, 4.958057128e-04f, 4.915910759e-04f, 4.873758050e-04f, 4.831599074e-04f, 4.789433905e-04f,
+4.747262616e-04f, 4.705085280e-04f, 4.662901971e-04f, 4.620712761e-04f, 4.578517724e-04f, 4.536316933e-04f, 4.494110460e-04f, 4.451898381e-04f, 4.409680767e-04f, 4.367457692e-04f,
+4.325229229e-04f, 4.282995451e-04f, 4.240756433e-04f, 4.198512246e-04f, 4.156262964e-04f, 4.114008661e-04f, 4.071749410e-04f, 4.029485284e-04f, 3.987216356e-04f, 3.944942700e-04f,
+3.902664388e-04f, 3.860381495e-04f, 3.818094094e-04f, 3.775802258e-04f, 3.733506059e-04f, 3.691205573e-04f, 3.648900871e-04f, 3.606592027e-04f, 3.564279115e-04f, 3.521962208e-04f,
+3.479641379e-04f, 3.437316702e-04f, 3.394988249e-04f, 3.352656095e-04f, 3.310320312e-04f, 3.267980975e-04f, 3.225638155e-04f, 3.183291928e-04f, 3.140942365e-04f, 3.098589540e-04f,
+3.056233528e-04f, 3.013874400e-04f, 2.971512232e-04f, 2.929147094e-04f, 2.886779063e-04f, 2.844408209e-04f, 2.802034608e-04f, 2.759658332e-04f, 2.717279455e-04f, 2.674898049e-04f,
+2.632514190e-04f, 2.590127949e-04f, 2.547739400e-04f, 2.505348617e-04f, 2.462955673e-04f, 2.420560642e-04f, 2.378163596e-04f, 2.335764609e-04f, 2.293363754e-04f, 2.250961106e-04f,
+2.208556736e-04f, 2.166150720e-04f, 2.123743129e-04f, 2.081334038e-04f, 2.038923519e-04f, 1.996511647e-04f, 1.954098494e-04f, 1.911684133e-04f, 1.869268639e-04f, 1.826852085e-04f,
+1.784434543e-04f, 1.742016088e-04f, 1.699596792e-04f, 1.657176730e-04f, 1.614755974e-04f, 1.572334597e-04f, 1.529912673e-04f, 1.487490276e-04f, 1.445067479e-04f, 1.402644355e-04f,
+1.360220977e-04f, 1.317797418e-04f, 1.275373753e-04f, 1.232950054e-04f, 1.190526395e-04f, 1.148102849e-04f, 1.105679490e-04f, 1.063256390e-04f, 1.020833623e-04f, 9.784112620e-05f,
+9.359893807e-05f, 8.935680524e-05f, 8.511473501e-05f, 8.087273473e-05f, 7.663081172e-05f, 7.238897330e-05f, 6.814722681e-05f, 6.390557957e-05f, 5.966403890e-05f, 5.542261214e-05f,
+5.118130660e-05f, 4.694012960e-05f, 4.269908848e-05f, 3.845819056e-05f, 3.421744315e-05f, 2.997685359e-05f, 2.573642918e-05f, 2.149617725e-05f, 1.725610512e-05f, 1.301622011e-05f,
+8.776529531e-06f, 4.537040709e-06f, 2.977609569e-07f, -3.941302409e-06f, -8.180142073e-06f, -1.241875072e-05f, -1.665712104e-05f, -2.089524572e-05f, -2.513311744e-05f, -2.937072890e-05f,
+-3.360807278e-05f, -3.784514177e-05f, -4.208192857e-05f, -4.631842587e-05f, -5.055462636e-05f, -5.479052274e-05f, -5.902610769e-05f, -6.326137392e-05f, -6.749631412e-05f, -7.173092098e-05f,
+-7.596518722e-05f, -8.019910552e-05f, -8.443266860e-05f, -8.866586914e-05f, -9.289869985e-05f, -9.713115343e-05f, -1.013632226e-04f, -1.055949000e-04f, -1.098261785e-04f, -1.140570506e-04f,
+-1.182875092e-04f, -1.225175468e-04f, -1.267471563e-04f, -1.309763304e-04f, -1.352050617e-04f, -1.394333429e-04f, -1.436611668e-04f, -1.478885262e-04f, -1.521154136e-04f, -1.563418219e-04f,
+-1.605677438e-04f, -1.647931719e-04f, -1.690180990e-04f, -1.732425179e-04f, -1.774664212e-04f, -1.816898016e-04f, -1.859126520e-04f, -1.901349650e-04f, -1.943567334e-04f, -1.985779499e-04f,
+-2.027986071e-04f, -2.070186980e-04f, -2.112382151e-04f, -2.154571513e-04f, -2.196754993e-04f, -2.238932517e-04f, -2.281104014e-04f, -2.323269411e-04f, -2.365428636e-04f, -2.407581615e-04f,
+-2.449728277e-04f, -2.491868548e-04f, -2.534002357e-04f, -2.576129630e-04f, -2.618250296e-04f, -2.660364281e-04f, -2.702471514e-04f, -2.744571923e-04f, -2.786665433e-04f, -2.828751974e-04f,
+-2.870831472e-04f, -2.912903857e-04f, -2.954969054e-04f, -2.997026992e-04f, -3.039077598e-04f, -3.081120800e-04f, -3.123156527e-04f, -3.165184705e-04f, -3.207205262e-04f, -3.249218126e-04f,
+-3.291223225e-04f, -3.333220487e-04f, -3.375209840e-04f, -3.417191211e-04f, -3.459164528e-04f, -3.501129719e-04f, -3.543086712e-04f, -3.585035435e-04f, -3.626975815e-04f, -3.668907782e-04f,
+-3.710831262e-04f, -3.752746184e-04f, -3.794652475e-04f, -3.836550064e-04f, -3.878438879e-04f, -3.920318848e-04f, -3.962189898e-04f, -4.004051959e-04f, -4.045904957e-04f, -4.087748822e-04f,
+-4.129583481e-04f, -4.171408862e-04f, -4.213224894e-04f, -4.255031505e-04f, -4.296828623e-04f, -4.338616177e-04f, -4.380394094e-04f, -4.422162303e-04f, -4.463920733e-04f, -4.505669311e-04f,
+-4.547407966e-04f, -4.589136626e-04f, -4.630855220e-04f, -4.672563675e-04f, -4.714261922e-04f, -4.755949887e-04f, -4.797627500e-04f, -4.839294689e-04f, -4.880951383e-04f, -4.922597509e-04f,
+-4.964232997e-04f, -5.005857776e-04f, -5.047471773e-04f, -5.089074917e-04f, -5.130667138e-04f, -5.172248363e-04f, -5.213818522e-04f, -5.255377543e-04f, -5.296925354e-04f, -5.338461886e-04f,
+-5.379987066e-04f, -5.421500823e-04f, -5.463003087e-04f, -5.504493785e-04f, -5.545972848e-04f, -5.587440203e-04f, -5.628895780e-04f, -5.670339507e-04f, -5.711771314e-04f, -5.753191130e-04f,
+-5.794598884e-04f, -5.835994504e-04f, -5.877377920e-04f, -5.918749061e-04f, -5.960107856e-04f, -6.001454234e-04f, -6.042788125e-04f, -6.084109457e-04f, -6.125418160e-04f, -6.166714163e-04f,
+-6.207997396e-04f, -6.249267787e-04f, -6.290525266e-04f, -6.331769762e-04f, -6.373001205e-04f, -6.414219525e-04f, -6.455424649e-04f, -6.496616509e-04f, -6.537795034e-04f, -6.578960152e-04f,
+-6.620111794e-04f, -6.661249889e-04f, -6.702374367e-04f, -6.743485157e-04f, -6.784582189e-04f, -6.825665393e-04f, -6.866734698e-04f, -6.907790035e-04f, -6.948831332e-04f, -6.989858520e-04f,
+-7.030871528e-04f, -7.071870287e-04f, -7.112854726e-04f, -7.153824775e-04f, -7.194780364e-04f, -7.235721423e-04f, -7.276647882e-04f, -7.317559671e-04f, -7.358456720e-04f, -7.399338959e-04f,
+-7.440206318e-04f, -7.481058728e-04f, -7.521896118e-04f, -7.562718419e-04f, -7.603525561e-04f, -7.644317474e-04f, -7.685094088e-04f, -7.725855334e-04f, -7.766601142e-04f, -7.807331443e-04f,
+-7.848046166e-04f, -7.888745243e-04f, -7.929428604e-04f, -7.970096179e-04f, -8.010747898e-04f, -8.051383693e-04f, -8.092003494e-04f, -8.132607231e-04f, -8.173194836e-04f, -8.213766238e-04f,
+-8.254321369e-04f, -8.294860159e-04f, -8.335382540e-04f, -8.375888441e-04f, -8.416377794e-04f, -8.456850529e-04f, -8.497306578e-04f, -8.537745872e-04f, -8.578168341e-04f, -8.618573916e-04f,
+-8.658962529e-04f, -8.699334110e-04f, -8.739688591e-04f, -8.780025902e-04f, -8.820345976e-04f, -8.860648742e-04f, -8.900934133e-04f, -8.941202079e-04f, -8.981452513e-04f, -9.021685364e-04f,
+-9.061900565e-04f, -9.102098047e-04f, -9.142277742e-04f, -9.182439580e-04f, -9.222583494e-04f, -9.262709415e-04f, -9.302817274e-04f, -9.342907003e-04f, -9.382978534e-04f, -9.423031799e-04f,
+-9.463066729e-04f, -9.503083255e-04f, -9.543081310e-04f, -9.583060826e-04f, -9.623021734e-04f, -9.662963967e-04f, -9.702887455e-04f, -9.742792132e-04f, -9.782677928e-04f, -9.822544777e-04f,
+-9.862392610e-04f, -9.902221360e-04f, -9.942030957e-04f, -9.981821336e-04f, -1.002159243e-03f, -1.006134416e-03f, -1.010107648e-03f, -1.014078930e-03f, -1.018048257e-03f, -1.022015621e-03f,
+-1.025981015e-03f, -1.029944434e-03f, -1.033905870e-03f, -1.037865316e-03f, -1.041822766e-03f, -1.045778213e-03f, -1.049731650e-03f, -1.053683071e-03f, -1.057632469e-03f, -1.061579836e-03f,
+-1.065525167e-03f, -1.069468454e-03f, -1.073409692e-03f, -1.077348873e-03f, -1.081285990e-03f, -1.085221037e-03f, -1.089154007e-03f, -1.093084893e-03f, -1.097013689e-03f, -1.100940389e-03f,
+-1.104864984e-03f, -1.108787469e-03f, -1.112707838e-03f, -1.116626082e-03f, -1.120542197e-03f, -1.124456174e-03f, -1.128368008e-03f, -1.132277692e-03f, -1.136185218e-03f, -1.140090581e-03f,
+-1.143993774e-03f, -1.147894790e-03f, -1.151793623e-03f, -1.155690265e-03f, -1.159584711e-03f, -1.163476953e-03f, -1.167366986e-03f, -1.171254802e-03f, -1.175140395e-03f, -1.179023758e-03f,
+-1.182904884e-03f, -1.186783768e-03f, -1.190660402e-03f, -1.194534780e-03f, -1.198406895e-03f, -1.202276741e-03f, -1.206144312e-03f, -1.210009599e-03f, -1.213872598e-03f, -1.217733301e-03f,
+-1.221591702e-03f, -1.225447795e-03f, -1.229301572e-03f, -1.233153028e-03f, -1.237002155e-03f, -1.240848947e-03f, -1.244693399e-03f, -1.248535502e-03f, -1.252375251e-03f, -1.256212639e-03f,
+-1.260047659e-03f, -1.263880306e-03f, -1.267710572e-03f, -1.271538451e-03f, -1.275363937e-03f, -1.279187023e-03f, -1.283007703e-03f, -1.286825970e-03f, -1.290641817e-03f, -1.294455239e-03f,
+-1.298266228e-03f, -1.302074779e-03f, -1.305880884e-03f, -1.309684538e-03f, -1.313485733e-03f, -1.317284465e-03f, -1.321080725e-03f, -1.324874507e-03f, -1.328665806e-03f, -1.332454615e-03f,
+-1.336240927e-03f, -1.340024736e-03f, -1.343806035e-03f, -1.347584818e-03f, -1.351361079e-03f, -1.355134812e-03f, -1.358906009e-03f, -1.362674665e-03f, -1.366440772e-03f, -1.370204326e-03f,
+-1.373965319e-03f, -1.377723745e-03f, -1.381479597e-03f, -1.385232870e-03f, -1.388983557e-03f, -1.392731651e-03f, -1.396477147e-03f, -1.400220037e-03f, -1.403960316e-03f, -1.407697977e-03f,
+-1.411433014e-03f, -1.415165421e-03f, -1.418895191e-03f, -1.422622318e-03f, -1.426346795e-03f, -1.430068617e-03f, -1.433787777e-03f, -1.437504268e-03f, -1.441218085e-03f, -1.444929221e-03f,
+-1.448637670e-03f, -1.452343426e-03f, -1.456046482e-03f, -1.459746833e-03f, -1.463444471e-03f, -1.467139390e-03f, -1.470831585e-03f, -1.474521049e-03f, -1.478207776e-03f, -1.481891760e-03f,
+-1.485572994e-03f, -1.489251472e-03f, -1.492927188e-03f, -1.496600136e-03f, -1.500270310e-03f, -1.503937702e-03f, -1.507602308e-03f, -1.511264121e-03f, -1.514923135e-03f, -1.518579343e-03f,
+-1.522232740e-03f, -1.525883319e-03f, -1.529531074e-03f, -1.533175999e-03f, -1.536818088e-03f, -1.540457335e-03f, -1.544093733e-03f, -1.547727276e-03f, -1.551357959e-03f, -1.554985774e-03f,
+-1.558610717e-03f, -1.562232780e-03f, -1.565851958e-03f, -1.569468245e-03f, -1.573081634e-03f, -1.576692120e-03f, -1.580299696e-03f, -1.583904356e-03f, -1.587506095e-03f, -1.591104905e-03f,
+-1.594700782e-03f, -1.598293718e-03f, -1.601883709e-03f, -1.605470747e-03f, -1.609054827e-03f, -1.612635943e-03f, -1.616214088e-03f, -1.619789258e-03f, -1.623361444e-03f, -1.626930643e-03f,
+-1.630496847e-03f, -1.634060051e-03f, -1.637620248e-03f, -1.641177433e-03f, -1.644731600e-03f, -1.648282742e-03f, -1.651830854e-03f, -1.655375929e-03f, -1.658917963e-03f, -1.662456947e-03f,
+-1.665992878e-03f, -1.669525749e-03f, -1.673055553e-03f, -1.676582285e-03f, -1.680105940e-03f, -1.683626510e-03f, -1.687143991e-03f, -1.690658375e-03f, -1.694169658e-03f, -1.697677834e-03f,
+-1.701182896e-03f, -1.704684838e-03f, -1.708183655e-03f, -1.711679341e-03f, -1.715171890e-03f, -1.718661296e-03f, -1.722147553e-03f, -1.725630655e-03f, -1.729110597e-03f, -1.732587372e-03f,
+-1.736060975e-03f, -1.739531401e-03f, -1.742998642e-03f, -1.746462693e-03f, -1.749923549e-03f, -1.753381203e-03f, -1.756835651e-03f, -1.760286885e-03f, -1.763734900e-03f, -1.767179691e-03f,
+-1.770621251e-03f, -1.774059576e-03f, -1.777494658e-03f, -1.780926492e-03f, -1.784355073e-03f, -1.787780395e-03f, -1.791202452e-03f, -1.794621238e-03f, -1.798036748e-03f, -1.801448975e-03f,
+-1.804857915e-03f, -1.808263560e-03f, -1.811665907e-03f, -1.815064948e-03f, -1.818460678e-03f, -1.821853092e-03f, -1.825242184e-03f, -1.828627948e-03f, -1.832010378e-03f, -1.835389469e-03f,
+-1.838765215e-03f, -1.842137610e-03f, -1.845506650e-03f, -1.848872327e-03f, -1.852234637e-03f, -1.855593574e-03f, -1.858949132e-03f, -1.862301305e-03f, -1.865650089e-03f, -1.868995476e-03f,
+-1.872337463e-03f, -1.875676042e-03f, -1.879011210e-03f, -1.882342959e-03f, -1.885671284e-03f, -1.888996180e-03f, -1.892317642e-03f, -1.895635663e-03f, -1.898950238e-03f, -1.902261362e-03f,
+-1.905569029e-03f, -1.908873233e-03f, -1.912173969e-03f, -1.915471232e-03f, -1.918765015e-03f, -1.922055314e-03f, -1.925342122e-03f, -1.928625435e-03f, -1.931905247e-03f, -1.935181552e-03f,
+-1.938454346e-03f, -1.941723621e-03f, -1.944989373e-03f, -1.948251597e-03f, -1.951510287e-03f, -1.954765438e-03f, -1.958017043e-03f, -1.961265099e-03f, -1.964509598e-03f, -1.967750536e-03f,
+-1.970987908e-03f, -1.974221708e-03f, -1.977451930e-03f, -1.980678570e-03f, -1.983901621e-03f, -1.987121079e-03f, -1.990336938e-03f, -1.993549192e-03f, -1.996757837e-03f, -1.999962867e-03f,
+-2.003164276e-03f, -2.006362059e-03f, -2.009556212e-03f, -2.012746728e-03f, -2.015933602e-03f, -2.019116829e-03f, -2.022296403e-03f, -2.025472320e-03f, -2.028644574e-03f, -2.031813160e-03f,
+-2.034978072e-03f, -2.038139305e-03f, -2.041296854e-03f, -2.044450713e-03f, -2.047600878e-03f, -2.050747343e-03f, -2.053890103e-03f, -2.057029152e-03f, -2.060164485e-03f, -2.063296098e-03f,
+-2.066423985e-03f, -2.069548140e-03f, -2.072668558e-03f, -2.075785235e-03f, -2.078898165e-03f, -2.082007343e-03f, -2.085112764e-03f, -2.088214422e-03f, -2.091312312e-03f, -2.094406430e-03f,
+-2.097496769e-03f, -2.100583326e-03f, -2.103666094e-03f, -2.106745069e-03f, -2.109820245e-03f, -2.112891618e-03f, -2.115959182e-03f, -2.119022932e-03f, -2.122082864e-03f, -2.125138971e-03f,
+-2.128191249e-03f, -2.131239692e-03f, -2.134284297e-03f, -2.137325057e-03f, -2.140361968e-03f, -2.143395024e-03f, -2.146424221e-03f, -2.149449553e-03f, -2.152471016e-03f, -2.155488604e-03f,
+-2.158502312e-03f, -2.161512136e-03f, -2.164518070e-03f, -2.167520110e-03f, -2.170518250e-03f, -2.173512485e-03f, -2.176502811e-03f, -2.179489223e-03f, -2.182471714e-03f, -2.185450282e-03f,
+-2.188424920e-03f, -2.191395623e-03f, -2.194362388e-03f, -2.197325208e-03f, -2.200284079e-03f, -2.203238996e-03f, -2.206189954e-03f, -2.209136949e-03f, -2.212079974e-03f, -2.215019026e-03f,
+-2.217954100e-03f, -2.220885190e-03f, -2.223812292e-03f, -2.226735401e-03f, -2.229654512e-03f, -2.232569620e-03f, -2.235480721e-03f, -2.238387809e-03f, -2.241290880e-03f, -2.244189929e-03f,
+-2.247084952e-03f, -2.249975942e-03f, -2.252862896e-03f, -2.255745809e-03f, -2.258624676e-03f, -2.261499493e-03f, -2.264370253e-03f, -2.267236954e-03f, -2.270099589e-03f, -2.272958155e-03f,
+-2.275812646e-03f, -2.278663058e-03f, -2.281509386e-03f, -2.284351626e-03f, -2.287189772e-03f, -2.290023820e-03f, -2.292853765e-03f, -2.295679603e-03f, -2.298501329e-03f, -2.301318938e-03f,
+-2.304132426e-03f, -2.306941788e-03f, -2.309747019e-03f, -2.312548114e-03f, -2.315345070e-03f, -2.318137881e-03f, -2.320926543e-03f, -2.323711051e-03f, -2.326491401e-03f, -2.329267588e-03f,
+-2.332039607e-03f, -2.334807454e-03f, -2.337571124e-03f, -2.340330613e-03f, -2.343085916e-03f, -2.345837029e-03f, -2.348583947e-03f, -2.351326665e-03f, -2.354065180e-03f, -2.356799486e-03f,
+-2.359529579e-03f, -2.362255454e-03f, -2.364977107e-03f, -2.367694534e-03f, -2.370407730e-03f, -2.373116691e-03f, -2.375821411e-03f, -2.378521887e-03f, -2.381218115e-03f, -2.383910089e-03f,
+-2.386597805e-03f, -2.389281259e-03f, -2.391960447e-03f, -2.394635364e-03f, -2.397306005e-03f, -2.399972367e-03f, -2.402634444e-03f, -2.405292233e-03f, -2.407945729e-03f, -2.410594928e-03f,
+-2.413239825e-03f, -2.415880416e-03f, -2.418516697e-03f, -2.421148663e-03f, -2.423776311e-03f, -2.426399635e-03f, -2.429018631e-03f, -2.431633295e-03f, -2.434243623e-03f, -2.436849611e-03f,
+-2.439451254e-03f, -2.442048548e-03f, -2.444641488e-03f, -2.447230071e-03f, -2.449814292e-03f, -2.452394147e-03f, -2.454969632e-03f, -2.457540742e-03f, -2.460107474e-03f, -2.462669822e-03f,
+-2.465227783e-03f, -2.467781353e-03f, -2.470330528e-03f, -2.472875302e-03f, -2.475415673e-03f, -2.477951636e-03f, -2.480483186e-03f, -2.483010320e-03f, -2.485533034e-03f, -2.488051322e-03f,
+-2.490565183e-03f, -2.493074610e-03f, -2.495579600e-03f, -2.498080149e-03f, -2.500576253e-03f, -2.503067907e-03f, -2.505555108e-03f, -2.508037852e-03f, -2.510516134e-03f, -2.512989951e-03f,
+-2.515459298e-03f, -2.517924172e-03f, -2.520384568e-03f, -2.522840482e-03f, -2.525291910e-03f, -2.527738849e-03f, -2.530181294e-03f, -2.532619241e-03f, -2.535052686e-03f, -2.537481626e-03f,
+-2.539906057e-03f, -2.542325973e-03f, -2.544741373e-03f, -2.547152250e-03f, -2.549558602e-03f, -2.551960425e-03f, -2.554357715e-03f, -2.556750467e-03f, -2.559138679e-03f, -2.561522345e-03f,
+-2.563901463e-03f, -2.566276028e-03f, -2.568646036e-03f, -2.571011484e-03f, -2.573372367e-03f, -2.575728682e-03f, -2.578080426e-03f, -2.580427593e-03f, -2.582770181e-03f, -2.585108185e-03f,
+-2.587441602e-03f, -2.589770428e-03f, -2.592094659e-03f, -2.594414292e-03f, -2.596729322e-03f, -2.599039746e-03f, -2.601345559e-03f, -2.603646760e-03f, -2.605943342e-03f, -2.608235304e-03f,
+-2.610522641e-03f, -2.612805349e-03f, -2.615083425e-03f, -2.617356864e-03f, -2.619625664e-03f, -2.621889821e-03f, -2.624149331e-03f, -2.626404190e-03f, -2.628654394e-03f, -2.630899941e-03f,
+-2.633140825e-03f, -2.635377045e-03f, -2.637608596e-03f, -2.639835474e-03f, -2.642057675e-03f, -2.644275197e-03f, -2.646488036e-03f, -2.648696188e-03f, -2.650899649e-03f, -2.653098416e-03f,
+-2.655292486e-03f, -2.657481854e-03f, -2.659666518e-03f, -2.661846473e-03f, -2.664021717e-03f, -2.666192245e-03f, -2.668358054e-03f, -2.670519141e-03f, -2.672675502e-03f, -2.674827134e-03f,
+-2.676974033e-03f, -2.679116196e-03f, -2.681253619e-03f, -2.683386299e-03f, -2.685514233e-03f, -2.687637416e-03f, -2.689755846e-03f, -2.691869519e-03f, -2.693978432e-03f, -2.696082581e-03f,
+-2.698181963e-03f, -2.700276574e-03f, -2.702366412e-03f, -2.704451473e-03f, -2.706531752e-03f, -2.708607248e-03f, -2.710677957e-03f, -2.712743875e-03f, -2.714804999e-03f, -2.716861326e-03f,
+-2.718912853e-03f, -2.720959575e-03f, -2.723001491e-03f, -2.725038596e-03f, -2.727070887e-03f, -2.729098362e-03f, -2.731121016e-03f, -2.733138846e-03f, -2.735151850e-03f, -2.737160025e-03f,
+-2.739163366e-03f, -2.741161870e-03f, -2.743155535e-03f, -2.745144357e-03f, -2.747128334e-03f, -2.749107461e-03f, -2.751081736e-03f, -2.753051155e-03f, -2.755015716e-03f, -2.756975414e-03f,
+-2.758930248e-03f, -2.760880214e-03f, -2.762825309e-03f, -2.764765530e-03f, -2.766700873e-03f, -2.768631336e-03f, -2.770556915e-03f, -2.772477607e-03f, -2.774393410e-03f, -2.776304320e-03f,
+-2.778210334e-03f, -2.780111450e-03f, -2.782007663e-03f, -2.783898971e-03f, -2.785785372e-03f, -2.787666862e-03f, -2.789543437e-03f, -2.791415096e-03f, -2.793281835e-03f, -2.795143651e-03f,
+-2.797000541e-03f, -2.798852502e-03f, -2.800699532e-03f, -2.802541626e-03f, -2.804378784e-03f, -2.806211000e-03f, -2.808038273e-03f, -2.809860600e-03f, -2.811677977e-03f, -2.813490403e-03f,
+-2.815297873e-03f, -2.817100385e-03f, -2.818897937e-03f, -2.820690525e-03f, -2.822478147e-03f, -2.824260799e-03f, -2.826038479e-03f, -2.827811184e-03f, -2.829578912e-03f, -2.831341658e-03f,
+-2.833099422e-03f, -2.834852199e-03f, -2.836599988e-03f, -2.838342785e-03f, -2.840080587e-03f, -2.841813393e-03f, -2.843541198e-03f, -2.845264001e-03f, -2.846981798e-03f, -2.848694587e-03f,
+-2.850402366e-03f, -2.852105131e-03f, -2.853802880e-03f, -2.855495610e-03f, -2.857183319e-03f, -2.858866003e-03f, -2.860543661e-03f, -2.862216289e-03f, -2.863883886e-03f, -2.865546447e-03f,
+-2.867203971e-03f, -2.868856455e-03f, -2.870503897e-03f, -2.872146294e-03f, -2.873783643e-03f, -2.875415941e-03f, -2.877043187e-03f, -2.878665378e-03f, -2.880282510e-03f, -2.881894582e-03f,
+-2.883501591e-03f, -2.885103535e-03f, -2.886700411e-03f, -2.888292216e-03f, -2.889878948e-03f, -2.891460604e-03f, -2.893037183e-03f, -2.894608681e-03f, -2.896175097e-03f, -2.897736427e-03f,
+-2.899292669e-03f, -2.900843821e-03f, -2.902389881e-03f, -2.903930845e-03f, -2.905466712e-03f, -2.906997480e-03f, -2.908523145e-03f, -2.910043705e-03f, -2.911559159e-03f, -2.913069503e-03f,
+-2.914574736e-03f, -2.916074854e-03f, -2.917569857e-03f, -2.919059740e-03f, -2.920544503e-03f, -2.922024143e-03f, -2.923498657e-03f, -2.924968043e-03f, -2.926432299e-03f, -2.927891423e-03f,
+-2.929345412e-03f, -2.930794264e-03f, -2.932237977e-03f, -2.933676549e-03f, -2.935109977e-03f, -2.936538259e-03f, -2.937961393e-03f, -2.939379378e-03f, -2.940792209e-03f, -2.942199887e-03f,
+-2.943602407e-03f, -2.944999769e-03f, -2.946391969e-03f, -2.947779007e-03f, -2.949160879e-03f, -2.950537584e-03f, -2.951909119e-03f, -2.953275482e-03f, -2.954636672e-03f, -2.955992686e-03f,
+-2.957343522e-03f, -2.958689178e-03f, -2.960029652e-03f, -2.961364942e-03f, -2.962695046e-03f, -2.964019962e-03f, -2.965339687e-03f, -2.966654221e-03f, -2.967963560e-03f, -2.969267703e-03f,
+-2.970566647e-03f, -2.971860392e-03f, -2.973148934e-03f, -2.974432272e-03f, -2.975710405e-03f, -2.976983329e-03f, -2.978251043e-03f, -2.979513546e-03f, -2.980770834e-03f, -2.982022907e-03f,
+-2.983269763e-03f, -2.984511399e-03f, -2.985747814e-03f, -2.986979005e-03f, -2.988204972e-03f, -2.989425711e-03f, -2.990641222e-03f, -2.991851502e-03f, -2.993056550e-03f, -2.994256364e-03f,
+-2.995450941e-03f, -2.996640281e-03f, -2.997824381e-03f, -2.999003240e-03f, -3.000176856e-03f, -3.001345226e-03f, -3.002508350e-03f, -3.003666226e-03f, -3.004818852e-03f, -3.005966225e-03f,
+-3.007108345e-03f, -3.008245210e-03f, -3.009376818e-03f, -3.010503167e-03f, -3.011624256e-03f, -3.012740083e-03f, -3.013850646e-03f, -3.014955944e-03f, -3.016055975e-03f, -3.017150737e-03f,
+-3.018240229e-03f, -3.019324450e-03f, -3.020403397e-03f, -3.021477069e-03f, -3.022545464e-03f, -3.023608581e-03f, -3.024666419e-03f, -3.025718975e-03f, -3.026766248e-03f, -3.027808237e-03f,
+-3.028844940e-03f, -3.029876355e-03f, -3.030902482e-03f, -3.031923318e-03f, -3.032938862e-03f, -3.033949113e-03f, -3.034954069e-03f, -3.035953729e-03f, -3.036948090e-03f, -3.037937153e-03f,
+-3.038920914e-03f, -3.039899374e-03f, -3.040872530e-03f, -3.041840381e-03f, -3.042802926e-03f, -3.043760163e-03f, -3.044712091e-03f, -3.045658708e-03f, -3.046600014e-03f, -3.047536006e-03f,
+-3.048466684e-03f, -3.049392045e-03f, -3.050312090e-03f, -3.051226816e-03f, -3.052136222e-03f, -3.053040307e-03f, -3.053939070e-03f, -3.054832509e-03f, -3.055720622e-03f, -3.056603410e-03f,
+-3.057480870e-03f, -3.058353001e-03f, -3.059219803e-03f, -3.060081273e-03f, -3.060937411e-03f, -3.061788215e-03f, -3.062633684e-03f, -3.063473817e-03f, -3.064308613e-03f, -3.065138071e-03f,
+-3.065962189e-03f, -3.066780966e-03f, -3.067594402e-03f, -3.068402495e-03f, -3.069205244e-03f, -3.070002647e-03f, -3.070794704e-03f, -3.071581414e-03f, -3.072362775e-03f, -3.073138787e-03f,
+-3.073909448e-03f, -3.074674758e-03f, -3.075434715e-03f, -3.076189318e-03f, -3.076938566e-03f, -3.077682458e-03f, -3.078420994e-03f, -3.079154172e-03f, -3.079881991e-03f, -3.080604450e-03f,
+-3.081321549e-03f, -3.082033286e-03f, -3.082739660e-03f, -3.083440670e-03f, -3.084136316e-03f, -3.084826596e-03f, -3.085511510e-03f, -3.086191057e-03f, -3.086865236e-03f, -3.087534045e-03f,
+-3.088197484e-03f, -3.088855553e-03f, -3.089508250e-03f, -3.090155574e-03f, -3.090797525e-03f, -3.091434101e-03f, -3.092065303e-03f, -3.092691129e-03f, -3.093311577e-03f, -3.093926649e-03f,
+-3.094536342e-03f, -3.095140656e-03f, -3.095739591e-03f, -3.096333144e-03f, -3.096921317e-03f, -3.097504107e-03f, -3.098081515e-03f, -3.098653539e-03f, -3.099220178e-03f, -3.099781433e-03f,
+-3.100337302e-03f, -3.100887785e-03f, -3.101432881e-03f, -3.101972589e-03f, -3.102506909e-03f, -3.103035840e-03f, -3.103559382e-03f, -3.104077533e-03f, -3.104590293e-03f, -3.105097662e-03f,
+-3.105599639e-03f, -3.106096223e-03f, -3.106587414e-03f, -3.107073211e-03f, -3.107553614e-03f, -3.108028622e-03f, -3.108498234e-03f, -3.108962450e-03f, -3.109421270e-03f, -3.109874693e-03f,
+-3.110322718e-03f, -3.110765346e-03f, -3.111202575e-03f, -3.111634404e-03f, -3.112060835e-03f, -3.112481865e-03f, -3.112897495e-03f, -3.113307724e-03f, -3.113712552e-03f, -3.114111978e-03f,
+-3.114506002e-03f, -3.114894624e-03f, -3.115277843e-03f, -3.115655658e-03f, -3.116028070e-03f, -3.116395078e-03f, -3.116756681e-03f, -3.117112880e-03f, -3.117463673e-03f, -3.117809062e-03f,
+-3.118149044e-03f, -3.118483621e-03f, -3.118812791e-03f, -3.119136554e-03f, -3.119454911e-03f, -3.119767861e-03f, -3.120075403e-03f, -3.120377537e-03f, -3.120674264e-03f, -3.120965582e-03f,
+-3.121251492e-03f, -3.121531993e-03f, -3.121807086e-03f, -3.122076769e-03f, -3.122341044e-03f, -3.122599909e-03f, -3.122853364e-03f, -3.123101410e-03f, -3.123344046e-03f, -3.123581271e-03f,
+-3.123813087e-03f, -3.124039493e-03f, -3.124260488e-03f, -3.124476072e-03f, -3.124686246e-03f, -3.124891010e-03f, -3.125090363e-03f, -3.125284304e-03f, -3.125472835e-03f, -3.125655956e-03f,
+-3.125833665e-03f, -3.126005963e-03f, -3.126172850e-03f, -3.126334326e-03f, -3.126490392e-03f, -3.126641046e-03f, -3.126786289e-03f, -3.126926122e-03f, -3.127060543e-03f, -3.127189553e-03f,
+-3.127313153e-03f, -3.127431342e-03f, -3.127544121e-03f, -3.127651488e-03f, -3.127753445e-03f, -3.127849992e-03f, -3.127941129e-03f, -3.128026855e-03f, -3.128107172e-03f, -3.128182078e-03f,
+-3.128251575e-03f, -3.128315662e-03f, -3.128374339e-03f, -3.128427608e-03f, -3.128475467e-03f, -3.128517918e-03f, -3.128554960e-03f, -3.128586593e-03f, -3.128612818e-03f, -3.128633635e-03f,
+-3.128649045e-03f, -3.128659047e-03f, -3.128663641e-03f, -3.128662829e-03f, -3.128656610e-03f, -3.128644985e-03f, -3.128627953e-03f, -3.128605516e-03f, -3.128577673e-03f, -3.128544425e-03f,
+-3.128505772e-03f, -3.128461715e-03f, -3.128412254e-03f, -3.128357389e-03f, -3.128297120e-03f, -3.128231449e-03f, -3.128160374e-03f, -3.128083898e-03f, -3.128002020e-03f, -3.127914740e-03f,
+-3.127822060e-03f, -3.127723979e-03f, -3.127620498e-03f, -3.127511617e-03f, -3.127397337e-03f, -3.127277659e-03f, -3.127152582e-03f, -3.127022107e-03f, -3.126886236e-03f, -3.126744967e-03f,
+-3.126598303e-03f, -3.126446243e-03f, -3.126288787e-03f, -3.126125938e-03f, -3.125957694e-03f, -3.125784057e-03f, -3.125605027e-03f, -3.125420604e-03f, -3.125230790e-03f, -3.125035585e-03f,
+-3.124834990e-03f, -3.124629005e-03f, -3.124417630e-03f, -3.124200867e-03f, -3.123978716e-03f, -3.123751178e-03f, -3.123518253e-03f, -3.123279943e-03f, -3.123036247e-03f, -3.122787167e-03f,
+-3.122532703e-03f, -3.122272856e-03f, -3.122007626e-03f, -3.121737015e-03f, -3.121461023e-03f, -3.121179651e-03f, -3.120892900e-03f, -3.120600770e-03f, -3.120303262e-03f, -3.120000377e-03f,
+-3.119692116e-03f, -3.119378480e-03f, -3.119059469e-03f, -3.118735084e-03f, -3.118405326e-03f, -3.118070196e-03f, -3.117729696e-03f, -3.117383824e-03f, -3.117032583e-03f, -3.116675974e-03f,
+-3.116313997e-03f, -3.115946653e-03f, -3.115573943e-03f, -3.115195868e-03f, -3.114812430e-03f, -3.114423628e-03f, -3.114029463e-03f, -3.113629938e-03f, -3.113225053e-03f, -3.112814808e-03f,
+-3.112399205e-03f, -3.111978244e-03f, -3.111551928e-03f, -3.111120256e-03f, -3.110683230e-03f, -3.110240850e-03f, -3.109793119e-03f, -3.109340036e-03f, -3.108881603e-03f, -3.108417822e-03f,
+-3.107948692e-03f, -3.107474215e-03f, -3.106994393e-03f, -3.106509226e-03f, -3.106018716e-03f, -3.105522863e-03f, -3.105021669e-03f, -3.104515134e-03f, -3.104003261e-03f, -3.103486050e-03f,
+-3.102963502e-03f, -3.102435619e-03f, -3.101902401e-03f, -3.101363851e-03f, -3.100819968e-03f, -3.100270755e-03f, -3.099716212e-03f, -3.099156341e-03f, -3.098591143e-03f, -3.098020620e-03f,
+-3.097444771e-03f, -3.096863600e-03f, -3.096277107e-03f, -3.095685293e-03f, -3.095088160e-03f, -3.094485708e-03f, -3.093877940e-03f, -3.093264857e-03f, -3.092646459e-03f, -3.092022749e-03f,
+-3.091393728e-03f, -3.090759396e-03f, -3.090119756e-03f, -3.089474808e-03f, -3.088824555e-03f, -3.088168997e-03f, -3.087508136e-03f, -3.086841973e-03f, -3.086170510e-03f, -3.085493748e-03f,
+-3.084811689e-03f, -3.084124334e-03f, -3.083431684e-03f, -3.082733742e-03f, -3.082030508e-03f, -3.081321984e-03f, -3.080608171e-03f, -3.079889072e-03f, -3.079164687e-03f, -3.078435018e-03f,
+-3.077700066e-03f, -3.076959834e-03f, -3.076214322e-03f, -3.075463532e-03f, -3.074707466e-03f, -3.073946126e-03f, -3.073179512e-03f, -3.072407627e-03f, -3.071630472e-03f, -3.070848049e-03f,
+-3.070060359e-03f, -3.069267404e-03f, -3.068469186e-03f, -3.067665706e-03f, -3.066856966e-03f, -3.066042968e-03f, -3.065223713e-03f, -3.064399203e-03f, -3.063569440e-03f, -3.062734425e-03f,
+-3.061894160e-03f, -3.061048647e-03f, -3.060197887e-03f, -3.059341883e-03f, -3.058480636e-03f, -3.057614147e-03f, -3.056742420e-03f, -3.055865454e-03f, -3.054983253e-03f, -3.054095817e-03f,
+-3.053203149e-03f, -3.052305251e-03f, -3.051402124e-03f, -3.050493770e-03f, -3.049580192e-03f, -3.048661390e-03f, -3.047737367e-03f, -3.046808124e-03f, -3.045873664e-03f, -3.044933988e-03f,
+-3.043989099e-03f, -3.043038998e-03f, -3.042083686e-03f, -3.041123167e-03f, -3.040157441e-03f, -3.039186512e-03f, -3.038210380e-03f, -3.037229048e-03f, -3.036242517e-03f, -3.035250790e-03f,
+-3.034253869e-03f, -3.033251756e-03f, -3.032244452e-03f, -3.031231960e-03f, -3.030214281e-03f, -3.029191418e-03f, -3.028163373e-03f, -3.027130147e-03f, -3.026091744e-03f, -3.025048164e-03f,
+-3.023999410e-03f, -3.022945484e-03f, -3.021886389e-03f, -3.020822125e-03f, -3.019752696e-03f, -3.018678103e-03f, -3.017598349e-03f, -3.016513435e-03f, -3.015423365e-03f, -3.014328139e-03f,
+-3.013227760e-03f, -3.012122231e-03f, -3.011011553e-03f, -3.009895729e-03f, -3.008774760e-03f, -3.007648650e-03f, -3.006517400e-03f, -3.005381012e-03f, -3.004239489e-03f, -3.003092833e-03f,
+-3.001941046e-03f, -3.000784131e-03f, -2.999622089e-03f, -2.998454923e-03f, -2.997282636e-03f, -2.996105229e-03f, -2.994922704e-03f, -2.993735065e-03f, -2.992542314e-03f, -2.991344452e-03f,
+-2.990141483e-03f, -2.988933407e-03f, -2.987720229e-03f, -2.986501950e-03f, -2.985278572e-03f, -2.984050098e-03f, -2.982816531e-03f, -2.981577872e-03f, -2.980334124e-03f, -2.979085290e-03f,
+-2.977831372e-03f, -2.976572372e-03f, -2.975308293e-03f, -2.974039137e-03f, -2.972764907e-03f, -2.971485605e-03f, -2.970201233e-03f, -2.968911795e-03f, -2.967617292e-03f, -2.966317728e-03f,
+-2.965013104e-03f, -2.963703423e-03f, -2.962388687e-03f, -2.961068900e-03f, -2.959744064e-03f, -2.958414181e-03f, -2.957079253e-03f, -2.955739284e-03f, -2.954394276e-03f, -2.953044232e-03f,
+-2.951689153e-03f, -2.950329044e-03f, -2.948963905e-03f, -2.947593741e-03f, -2.946218553e-03f, -2.944838345e-03f, -2.943453118e-03f, -2.942062876e-03f, -2.940667621e-03f, -2.939267356e-03f,
+-2.937862083e-03f, -2.936451806e-03f, -2.935036526e-03f, -2.933616247e-03f, -2.932190972e-03f, -2.930760702e-03f, -2.929325441e-03f, -2.927885192e-03f, -2.926439957e-03f, -2.924989739e-03f,
+-2.923534541e-03f, -2.922074365e-03f, -2.920609214e-03f, -2.919139092e-03f, -2.917664001e-03f, -2.916183943e-03f, -2.914698922e-03f, -2.913208940e-03f, -2.911714000e-03f, -2.910214105e-03f,
+-2.908709258e-03f, -2.907199462e-03f, -2.905684720e-03f, -2.904165034e-03f, -2.902640407e-03f, -2.901110842e-03f, -2.899576343e-03f, -2.898036911e-03f, -2.896492551e-03f, -2.894943264e-03f,
+-2.893389054e-03f, -2.891829924e-03f, -2.890265876e-03f, -2.888696914e-03f, -2.887123041e-03f, -2.885544259e-03f, -2.883960572e-03f, -2.882371982e-03f, -2.880778493e-03f, -2.879180108e-03f,
+-2.877576829e-03f, -2.875968659e-03f, -2.874355602e-03f, -2.872737661e-03f, -2.871114838e-03f, -2.869487138e-03f, -2.867854562e-03f, -2.866217114e-03f, -2.864574796e-03f, -2.862927613e-03f,
+-2.861275567e-03f, -2.859618662e-03f, -2.857956899e-03f, -2.856290283e-03f, -2.854618817e-03f, -2.852942504e-03f, -2.851261346e-03f, -2.849575348e-03f, -2.847884511e-03f, -2.846188840e-03f,
+-2.844488338e-03f, -2.842783007e-03f, -2.841072852e-03f, -2.839357874e-03f, -2.837638078e-03f, -2.835913467e-03f, -2.834184043e-03f, -2.832449810e-03f, -2.830710772e-03f, -2.828966931e-03f,
+-2.827218291e-03f, -2.825464855e-03f, -2.823706626e-03f, -2.821943608e-03f, -2.820175804e-03f, -2.818403218e-03f, -2.816625851e-03f, -2.814843709e-03f, -2.813056794e-03f, -2.811265109e-03f,
+-2.809468658e-03f, -2.807667445e-03f, -2.805861472e-03f, -2.804050742e-03f, -2.802235261e-03f, -2.800415030e-03f, -2.798590053e-03f, -2.796760333e-03f, -2.794925874e-03f, -2.793086680e-03f,
+-2.791242753e-03f, -2.789394098e-03f, -2.787540717e-03f, -2.785682614e-03f, -2.783819793e-03f, -2.781952256e-03f, -2.780080008e-03f, -2.778203052e-03f, -2.776321391e-03f, -2.774435030e-03f,
+-2.772543970e-03f, -2.770648217e-03f, -2.768747772e-03f, -2.766842641e-03f, -2.764932826e-03f, -2.763018332e-03f, -2.761099160e-03f, -2.759175316e-03f, -2.757246803e-03f, -2.755313624e-03f,
+-2.753375782e-03f, -2.751433283e-03f, -2.749486128e-03f, -2.747534321e-03f, -2.745577867e-03f, -2.743616769e-03f, -2.741651031e-03f, -2.739680655e-03f, -2.737705646e-03f, -2.735726008e-03f,
+-2.733741744e-03f, -2.731752857e-03f, -2.729759352e-03f, -2.727761232e-03f, -2.725758501e-03f, -2.723751162e-03f, -2.721739219e-03f, -2.719722677e-03f, -2.717701538e-03f, -2.715675806e-03f,
+-2.713645486e-03f, -2.711610580e-03f, -2.709571093e-03f, -2.707527028e-03f, -2.705478389e-03f, -2.703425181e-03f, -2.701367406e-03f, -2.699305068e-03f, -2.697238172e-03f, -2.695166721e-03f,
+-2.693090718e-03f, -2.691010169e-03f, -2.688925076e-03f, -2.686835443e-03f, -2.684741274e-03f, -2.682642574e-03f, -2.680539346e-03f, -2.678431593e-03f, -2.676319320e-03f, -2.674202531e-03f,
+-2.672081229e-03f, -2.669955418e-03f, -2.667825103e-03f, -2.665690287e-03f, -2.663550974e-03f, -2.661407168e-03f, -2.659258873e-03f, -2.657106093e-03f, -2.654948831e-03f, -2.652787093e-03f,
+-2.650620881e-03f, -2.648450200e-03f, -2.646275054e-03f, -2.644095446e-03f, -2.641911382e-03f, -2.639722864e-03f, -2.637529896e-03f, -2.635332484e-03f, -2.633130630e-03f, -2.630924339e-03f,
+-2.628713615e-03f, -2.626498462e-03f, -2.624278884e-03f, -2.622054884e-03f, -2.619826468e-03f, -2.617593639e-03f, -2.615356402e-03f, -2.613114759e-03f, -2.610868716e-03f, -2.608618277e-03f,
+-2.606363445e-03f, -2.604104226e-03f, -2.601840622e-03f, -2.599572638e-03f, -2.597300278e-03f, -2.595023547e-03f, -2.592742448e-03f, -2.590456986e-03f, -2.588167165e-03f, -2.585872989e-03f,
+-2.583574462e-03f, -2.581271589e-03f, -2.578964373e-03f, -2.576652819e-03f, -2.574336931e-03f, -2.572016713e-03f, -2.569692170e-03f, -2.567363306e-03f, -2.565030124e-03f, -2.562692630e-03f,
+-2.560350828e-03f, -2.558004721e-03f, -2.555654314e-03f, -2.553299612e-03f, -2.550940618e-03f, -2.548577338e-03f, -2.546209774e-03f, -2.543837932e-03f, -2.541461816e-03f, -2.539081430e-03f,
+-2.536696779e-03f, -2.534307867e-03f, -2.531914697e-03f, -2.529517276e-03f, -2.527115606e-03f, -2.524709693e-03f, -2.522299540e-03f, -2.519885153e-03f, -2.517466534e-03f, -2.515043690e-03f,
+-2.512616624e-03f, -2.510185341e-03f, -2.507749845e-03f, -2.505310140e-03f, -2.502866231e-03f, -2.500418123e-03f, -2.497965819e-03f, -2.495509325e-03f, -2.493048645e-03f, -2.490583782e-03f,
+-2.488114743e-03f, -2.485641530e-03f, -2.483164150e-03f, -2.480682605e-03f, -2.478196901e-03f, -2.475707043e-03f, -2.473213034e-03f, -2.470714879e-03f, -2.468212583e-03f, -2.465706150e-03f,
+-2.463195585e-03f, -2.460680893e-03f, -2.458162077e-03f, -2.455639143e-03f, -2.453112095e-03f, -2.450580938e-03f, -2.448045676e-03f, -2.445506314e-03f, -2.442962856e-03f, -2.440415307e-03f,
+-2.437863672e-03f, -2.435307956e-03f, -2.432748162e-03f, -2.430184295e-03f, -2.427616361e-03f, -2.425044364e-03f, -2.422468308e-03f, -2.419888198e-03f, -2.417304039e-03f, -2.414715836e-03f,
+-2.412123593e-03f, -2.409527314e-03f, -2.406927005e-03f, -2.404322671e-03f, -2.401714315e-03f, -2.399101943e-03f, -2.396485560e-03f, -2.393865169e-03f, -2.391240777e-03f, -2.388612387e-03f,
+-2.385980004e-03f, -2.383343633e-03f, -2.380703280e-03f, -2.378058948e-03f, -2.375410642e-03f, -2.372758367e-03f, -2.370102129e-03f, -2.367441931e-03f, -2.364777779e-03f, -2.362109677e-03f,
+-2.359437631e-03f, -2.356761644e-03f, -2.354081722e-03f, -2.351397870e-03f, -2.348710093e-03f, -2.346018395e-03f, -2.343322781e-03f, -2.340623256e-03f, -2.337919825e-03f, -2.335212493e-03f,
+-2.332501264e-03f, -2.329786145e-03f, -2.327067138e-03f, -2.324344250e-03f, -2.321617485e-03f, -2.318886849e-03f, -2.316152346e-03f, -2.313413980e-03f, -2.310671758e-03f, -2.307925683e-03f,
+-2.305175762e-03f, -2.302421998e-03f, -2.299664397e-03f, -2.296902963e-03f, -2.294137703e-03f, -2.291368620e-03f, -2.288595719e-03f, -2.285819007e-03f, -2.283038487e-03f, -2.280254164e-03f,
+-2.277466044e-03f, -2.274674132e-03f, -2.271878433e-03f, -2.269078951e-03f, -2.266275692e-03f, -2.263468660e-03f, -2.260657862e-03f, -2.257843301e-03f, -2.255024984e-03f, -2.252202914e-03f,
+-2.249377098e-03f, -2.246547539e-03f, -2.243714244e-03f, -2.240877217e-03f, -2.238036463e-03f, -2.235191988e-03f, -2.232343797e-03f, -2.229491894e-03f, -2.226636285e-03f, -2.223776976e-03f,
+-2.220913970e-03f, -2.218047273e-03f, -2.215176891e-03f, -2.212302829e-03f, -2.209425091e-03f, -2.206543683e-03f, -2.203658610e-03f, -2.200769877e-03f, -2.197877490e-03f, -2.194981453e-03f,
+-2.192081772e-03f, -2.189178452e-03f, -2.186271498e-03f, -2.183360915e-03f, -2.180446709e-03f, -2.177528885e-03f, -2.174607448e-03f, -2.171682403e-03f, -2.168753756e-03f, -2.165821512e-03f,
+-2.162885675e-03f, -2.159946252e-03f, -2.157003247e-03f, -2.154056666e-03f, -2.151106515e-03f, -2.148152797e-03f, -2.145195520e-03f, -2.142234687e-03f, -2.139270304e-03f, -2.136302377e-03f,
+-2.133330911e-03f, -2.130355912e-03f, -2.127377383e-03f, -2.124395332e-03f, -2.121409762e-03f, -2.118420681e-03f, -2.115428092e-03f, -2.112432001e-03f, -2.109432414e-03f, -2.106429336e-03f,
+-2.103422772e-03f, -2.100412728e-03f, -2.097399209e-03f, -2.094382220e-03f, -2.091361767e-03f, -2.088337856e-03f, -2.085310491e-03f, -2.082279678e-03f, -2.079245423e-03f, -2.076207730e-03f,
+-2.073166606e-03f, -2.070122056e-03f, -2.067074085e-03f, -2.064022698e-03f, -2.060967902e-03f, -2.057909701e-03f, -2.054848101e-03f, -2.051783108e-03f, -2.048714726e-03f, -2.045642962e-03f,
+-2.042567821e-03f, -2.039489308e-03f, -2.036407429e-03f, -2.033322190e-03f, -2.030233595e-03f, -2.027141651e-03f, -2.024046363e-03f, -2.020947736e-03f, -2.017845776e-03f, -2.014740489e-03f,
+-2.011631880e-03f, -2.008519954e-03f, -2.005404717e-03f, -2.002286176e-03f, -1.999164334e-03f, -1.996039198e-03f, -1.992910774e-03f, -1.989779066e-03f, -1.986644081e-03f, -1.983505824e-03f,
+-1.980364301e-03f, -1.977219517e-03f, -1.974071478e-03f, -1.970920190e-03f, -1.967765658e-03f, -1.964607887e-03f, -1.961446884e-03f, -1.958282654e-03f, -1.955115203e-03f, -1.951944536e-03f,
+-1.948770658e-03f, -1.945593577e-03f, -1.942413296e-03f, -1.939229823e-03f, -1.936043162e-03f, -1.932853319e-03f, -1.929660300e-03f, -1.926464111e-03f, -1.923264757e-03f, -1.920062244e-03f,
+-1.916856578e-03f, -1.913647764e-03f, -1.910435808e-03f, -1.907220716e-03f, -1.904002494e-03f, -1.900781147e-03f, -1.897556680e-03f, -1.894329101e-03f, -1.891098414e-03f, -1.887864625e-03f,
+-1.884627740e-03f, -1.881387764e-03f, -1.878144704e-03f, -1.874898566e-03f, -1.871649354e-03f, -1.868397075e-03f, -1.865141734e-03f, -1.861883338e-03f, -1.858621892e-03f, -1.855357402e-03f,
+-1.852089873e-03f, -1.848819312e-03f, -1.845545725e-03f, -1.842269116e-03f, -1.838989493e-03f, -1.835706860e-03f, -1.832421223e-03f, -1.829132590e-03f, -1.825840964e-03f, -1.822546352e-03f,
+-1.819248761e-03f, -1.815948195e-03f, -1.812644661e-03f, -1.809338164e-03f, -1.806028711e-03f, -1.802716307e-03f, -1.799400958e-03f, -1.796082671e-03f, -1.792761450e-03f, -1.789437302e-03f,
+-1.786110232e-03f, -1.782780247e-03f, -1.779447353e-03f, -1.776111555e-03f, -1.772772860e-03f, -1.769431272e-03f, -1.766086799e-03f, -1.762739446e-03f, -1.759389219e-03f, -1.756036124e-03f,
+-1.752680166e-03f, -1.749321353e-03f, -1.745959690e-03f, -1.742595182e-03f, -1.739227836e-03f, -1.735857657e-03f, -1.732484653e-03f, -1.729108828e-03f, -1.725730188e-03f, -1.722348740e-03f,
+-1.718964490e-03f, -1.715577443e-03f, -1.712187606e-03f, -1.708794985e-03f, -1.705399585e-03f, -1.702001412e-03f, -1.698600474e-03f, -1.695196774e-03f, -1.691790321e-03f, -1.688381119e-03f,
+-1.684969175e-03f, -1.681554495e-03f, -1.678137085e-03f, -1.674716950e-03f, -1.671294097e-03f, -1.667868532e-03f, -1.664440262e-03f, -1.661009291e-03f, -1.657575626e-03f, -1.654139274e-03f,
+-1.650700240e-03f, -1.647258531e-03f, -1.643814151e-03f, -1.640367109e-03f, -1.636917409e-03f, -1.633465058e-03f, -1.630010061e-03f, -1.626552426e-03f, -1.623092158e-03f, -1.619629263e-03f,
+-1.616163747e-03f, -1.612695616e-03f, -1.609224878e-03f, -1.605751536e-03f, -1.602275599e-03f, -1.598797072e-03f, -1.595315961e-03f, -1.591832272e-03f, -1.588346011e-03f, -1.584857185e-03f,
+-1.581365800e-03f, -1.577871862e-03f, -1.574375377e-03f, -1.570876351e-03f, -1.567374790e-03f, -1.563870701e-03f, -1.560364090e-03f, -1.556854963e-03f, -1.553343326e-03f, -1.549829185e-03f,
+-1.546312547e-03f, -1.542793418e-03f, -1.539271804e-03f, -1.535747711e-03f, -1.532221145e-03f, -1.528692114e-03f, -1.525160622e-03f, -1.521626676e-03f, -1.518090282e-03f, -1.514551447e-03f,
+-1.511010177e-03f, -1.507466478e-03f, -1.503920356e-03f, -1.500371818e-03f, -1.496820869e-03f, -1.493267517e-03f, -1.489711767e-03f, -1.486153626e-03f, -1.482593099e-03f, -1.479030194e-03f,
+-1.475464916e-03f, -1.471897272e-03f, -1.468327268e-03f, -1.464754911e-03f, -1.461180205e-03f, -1.457603159e-03f, -1.454023778e-03f, -1.450442069e-03f, -1.446858037e-03f, -1.443271690e-03f,
+-1.439683033e-03f, -1.436092072e-03f, -1.432498815e-03f, -1.428903268e-03f, -1.425305436e-03f, -1.421705326e-03f, -1.418102944e-03f, -1.414498298e-03f, -1.410891392e-03f, -1.407282234e-03f,
+-1.403670830e-03f, -1.400057186e-03f, -1.396441309e-03f, -1.392823204e-03f, -1.389202879e-03f, -1.385580340e-03f, -1.381955592e-03f, -1.378328643e-03f, -1.374699499e-03f, -1.371068166e-03f,
+-1.367434650e-03f, -1.363798958e-03f, -1.360161097e-03f, -1.356521073e-03f, -1.352878891e-03f, -1.349234560e-03f, -1.345588084e-03f, -1.341939470e-03f, -1.338288726e-03f, -1.334635856e-03f,
+-1.330980869e-03f, -1.327323769e-03f, -1.323664564e-03f, -1.320003259e-03f, -1.316339863e-03f, -1.312674379e-03f, -1.309006817e-03f, -1.305337180e-03f, -1.301665477e-03f, -1.297991714e-03f,
+-1.294315897e-03f, -1.290638032e-03f, -1.286958126e-03f, -1.283276185e-03f, -1.279592217e-03f, -1.275906226e-03f, -1.272218221e-03f, -1.268528207e-03f, -1.264836191e-03f, -1.261142179e-03f,
+-1.257446178e-03f, -1.253748194e-03f, -1.250048234e-03f, -1.246346304e-03f, -1.242642411e-03f, -1.238936561e-03f, -1.235228761e-03f, -1.231519017e-03f, -1.227807336e-03f, -1.224093724e-03f,
+-1.220378188e-03f, -1.216660735e-03f, -1.212941370e-03f, -1.209220101e-03f, -1.205496933e-03f, -1.201771874e-03f, -1.198044931e-03f, -1.194316108e-03f, -1.190585414e-03f, -1.186852854e-03f,
+-1.183118435e-03f, -1.179382164e-03f, -1.175644048e-03f, -1.171904092e-03f, -1.168162304e-03f, -1.164418689e-03f, -1.160673255e-03f, -1.156926008e-03f, -1.153176955e-03f, -1.149426102e-03f,
+-1.145673455e-03f, -1.141919022e-03f, -1.138162809e-03f, -1.134404823e-03f, -1.130645069e-03f, -1.126883556e-03f, -1.123120288e-03f, -1.119355274e-03f, -1.115588519e-03f, -1.111820030e-03f,
+-1.108049814e-03f, -1.104277877e-03f, -1.100504225e-03f, -1.096728867e-03f, -1.092951807e-03f, -1.089173054e-03f, -1.085392612e-03f, -1.081610490e-03f, -1.077826693e-03f, -1.074041229e-03f,
+-1.070254103e-03f, -1.066465323e-03f, -1.062674895e-03f, -1.058882825e-03f, -1.055089121e-03f, -1.051293789e-03f, -1.047496836e-03f, -1.043698268e-03f, -1.039898092e-03f, -1.036096315e-03f,
+-1.032292943e-03f, -1.028487983e-03f, -1.024681441e-03f, -1.020873325e-03f, -1.017063641e-03f, -1.013252395e-03f, -1.009439594e-03f, -1.005625246e-03f, -1.001809355e-03f, -9.979919306e-04f,
+-9.941729777e-04f, -9.903525034e-04f, -9.865305144e-04f, -9.827070174e-04f, -9.788820191e-04f, -9.750555261e-04f, -9.712275451e-04f, -9.673980829e-04f, -9.635671461e-04f, -9.597347415e-04f,
+-9.559008756e-04f, -9.520655553e-04f, -9.482287872e-04f, -9.443905781e-04f, -9.405509346e-04f, -9.367098635e-04f, -9.328673714e-04f, -9.290234651e-04f, -9.251781513e-04f, -9.213314367e-04f,
+-9.174833280e-04f, -9.136338320e-04f, -9.097829554e-04f, -9.059307049e-04f, -9.020770872e-04f, -8.982221091e-04f, -8.943657773e-04f, -8.905080986e-04f, -8.866490796e-04f, -8.827887271e-04f,
+-8.789270478e-04f, -8.750640486e-04f, -8.711997361e-04f, -8.673341171e-04f, -8.634671983e-04f, -8.595989865e-04f, -8.557294884e-04f, -8.518587108e-04f, -8.479866605e-04f, -8.441133441e-04f,
+-8.402387685e-04f, -8.363629405e-04f, -8.324858667e-04f, -8.286075540e-04f, -8.247280091e-04f, -8.208472387e-04f, -8.169652498e-04f, -8.130820489e-04f, -8.091976430e-04f, -8.053120387e-04f,
+-8.014252429e-04f, -7.975372623e-04f, -7.936481038e-04f, -7.897577740e-04f, -7.858662798e-04f, -7.819736280e-04f, -7.780798253e-04f, -7.741848786e-04f, -7.702887946e-04f, -7.663915801e-04f,
+-7.624932420e-04f, -7.585937869e-04f, -7.546932218e-04f, -7.507915534e-04f, -7.468887884e-04f, -7.429849338e-04f, -7.390799963e-04f, -7.351739828e-04f, -7.312668999e-04f, -7.273587546e-04f,
+-7.234495536e-04f, -7.195393038e-04f, -7.156280119e-04f, -7.117156849e-04f, -7.078023294e-04f, -7.038879523e-04f, -6.999725604e-04f, -6.960561606e-04f, -6.921387597e-04f, -6.882203644e-04f,
+-6.843009817e-04f, -6.803806183e-04f, -6.764592810e-04f, -6.725369768e-04f, -6.686137123e-04f, -6.646894946e-04f, -6.607643303e-04f, -6.568382263e-04f, -6.529111894e-04f, -6.489832266e-04f,
+-6.450543445e-04f, -6.411245501e-04f, -6.371938502e-04f, -6.332622517e-04f, -6.293297613e-04f, -6.253963859e-04f, -6.214621324e-04f, -6.175270076e-04f, -6.135910184e-04f, -6.096541715e-04f,
+-6.057164740e-04f, -6.017779325e-04f, -5.978385539e-04f, -5.938983452e-04f, -5.899573131e-04f, -5.860154645e-04f, -5.820728062e-04f, -5.781293452e-04f, -5.741850883e-04f, -5.702400423e-04f,
+-5.662942141e-04f, -5.623476105e-04f, -5.584002384e-04f, -5.544521047e-04f, -5.505032163e-04f, -5.465535799e-04f, -5.426032026e-04f, -5.386520910e-04f, -5.347002521e-04f, -5.307476928e-04f,
+-5.267944200e-04f, -5.228404404e-04f, -5.188857610e-04f, -5.149303887e-04f, -5.109743302e-04f, -5.070175926e-04f, -5.030601826e-04f, -4.991021071e-04f, -4.951433731e-04f, -4.911839873e-04f,
+-4.872239567e-04f, -4.832632881e-04f, -4.793019885e-04f, -4.753400646e-04f, -4.713775234e-04f, -4.674143718e-04f, -4.634506166e-04f, -4.594862647e-04f, -4.555213231e-04f, -4.515557985e-04f,
+-4.475896979e-04f, -4.436230281e-04f, -4.396557961e-04f, -4.356880086e-04f, -4.317196727e-04f, -4.277507952e-04f, -4.237813830e-04f, -4.198114429e-04f, -4.158409819e-04f, -4.118700069e-04f,
+-4.078985247e-04f, -4.039265422e-04f, -3.999540663e-04f, -3.959811039e-04f, -3.920076620e-04f, -3.880337473e-04f, -3.840593668e-04f, -3.800845274e-04f, -3.761092360e-04f, -3.721334994e-04f,
+-3.681573246e-04f, -3.641807184e-04f, -3.602036878e-04f, -3.562262396e-04f, -3.522483808e-04f, -3.482701182e-04f, -3.442914587e-04f, -3.403124093e-04f, -3.363329767e-04f, -3.323531681e-04f,
+-3.283729901e-04f, -3.243924497e-04f, -3.204115539e-04f, -3.164303095e-04f, -3.124487234e-04f, -3.084668025e-04f, -3.044845537e-04f, -3.005019839e-04f, -2.965191001e-04f, -2.925359090e-04f,
+-2.885524177e-04f, -2.845686329e-04f, -2.805845617e-04f, -2.766002109e-04f, -2.726155874e-04f, -2.686306982e-04f, -2.646455500e-04f, -2.606601498e-04f, -2.566745046e-04f, -2.526886212e-04f,
+-2.487025065e-04f, -2.447161674e-04f, -2.407296109e-04f, -2.367428437e-04f, -2.327558729e-04f, -2.287687053e-04f, -2.247813478e-04f, -2.207938074e-04f, -2.168060909e-04f, -2.128182052e-04f,
+-2.088301572e-04f, -2.048419539e-04f, -2.008536021e-04f, -1.968651087e-04f, -1.928764807e-04f, -1.888877249e-04f, -1.848988482e-04f, -1.809098576e-04f, -1.769207599e-04f, -1.729315620e-04f,
+-1.689422709e-04f, -1.649528934e-04f, -1.609634364e-04f, -1.569739069e-04f, -1.529843116e-04f, -1.489946577e-04f, -1.450049518e-04f, -1.410152010e-04f, -1.370254120e-04f, -1.330355919e-04f,
+-1.290457476e-04f, -1.250558858e-04f, -1.210660135e-04f, -1.170761377e-04f, -1.130862652e-04f, -1.090964028e-04f, -1.051065576e-04f, -1.011167363e-04f, -9.712694591e-05f, -9.313719330e-05f,
+-8.914748536e-05f, -8.515782899e-05f, -8.116823107e-05f, -7.717869850e-05f, -7.318923817e-05f, -6.919985697e-05f, -6.521056179e-05f, -6.122135952e-05f, -5.723225706e-05f, -5.324326128e-05f,
+-4.925437908e-05f, -4.526561736e-05f, -4.127698298e-05f, -3.728848285e-05f, -3.330012385e-05f, -2.931191286e-05f, -2.532385677e-05f, -2.133596247e-05f, -1.734823683e-05f, -1.336068675e-05f,
+-9.373319098e-06f, -5.386140763e-06f, -1.399158625e-06f, 2.587620435e-06f, 6.574189537e-06f, 1.056054180e-05f, 1.454667035e-05f, 1.853256831e-05f, 2.251822880e-05f, 2.650364494e-05f,
+3.048880985e-05f, 3.447371668e-05f, 3.845835853e-05f, 4.244272854e-05f, 4.642681984e-05f, 5.041062554e-05f, 5.439413880e-05f, 5.837735272e-05f, 6.236026045e-05f, 6.634285512e-05f,
+7.032512985e-05f, 7.430707779e-05f, 7.828869207e-05f, 8.226996582e-05f, 8.625089218e-05f, 9.023146430e-05f, 9.421167530e-05f, 9.819151832e-05f, 1.021709865e-04f, 1.061500730e-04f,
+1.101287710e-04f, 1.141070735e-04f, 1.180849738e-04f, 1.220624650e-04f, 1.260395402e-04f, 1.300161926e-04f, 1.339924153e-04f, 1.379682015e-04f, 1.419435443e-04f, 1.459184369e-04f,
+1.498928725e-04f, 1.538668441e-04f, 1.578403450e-04f, 1.618133683e-04f, 1.657859071e-04f, 1.697579547e-04f, 1.737295042e-04f, 1.777005487e-04f, 1.816710814e-04f, 1.856410954e-04f,
+1.896105840e-04f, 1.935795403e-04f, 1.975479575e-04f, 2.015158287e-04f, 2.054831472e-04f, 2.094499060e-04f, 2.134160983e-04f, 2.173817174e-04f, 2.213467564e-04f, 2.253112085e-04f,
+2.292750668e-04f, 2.332383246e-04f, 2.372009750e-04f, 2.411630112e-04f, 2.451244263e-04f, 2.490852137e-04f, 2.530453664e-04f, 2.570048777e-04f, 2.609637407e-04f, 2.649219486e-04f,
+2.688794947e-04f, 2.728363720e-04f, 2.767925739e-04f, 2.807480935e-04f, 2.847029240e-04f, 2.886570586e-04f, 2.926104906e-04f, 2.965632130e-04f, 3.005152192e-04f, 3.044665022e-04f,
+3.084170555e-04f, 3.123668720e-04f, 3.163159451e-04f, 3.202642680e-04f, 3.242118339e-04f, 3.281586360e-04f, 3.321046675e-04f, 3.360499216e-04f, 3.399943916e-04f, 3.439380706e-04f,
+3.478809520e-04f, 3.518230289e-04f, 3.557642946e-04f, 3.597047423e-04f, 3.636443652e-04f, 3.675831565e-04f, 3.715211096e-04f, 3.754582175e-04f, 3.793944737e-04f, 3.833298712e-04f,
+3.872644035e-04f, 3.911980636e-04f, 3.951308448e-04f, 3.990627405e-04f, 4.029937438e-04f, 4.069238480e-04f, 4.108530463e-04f, 4.147813320e-04f, 4.187086984e-04f, 4.226351388e-04f,
+4.265606463e-04f, 4.304852142e-04f, 4.344088359e-04f, 4.383315046e-04f, 4.422532135e-04f, 4.461739559e-04f, 4.500937251e-04f, 4.540125144e-04f, 4.579303170e-04f, 4.618471263e-04f,
+4.657629355e-04f, 4.696777379e-04f, 4.735915267e-04f, 4.775042953e-04f, 4.814160370e-04f, 4.853267451e-04f, 4.892364127e-04f, 4.931450334e-04f, 4.970526002e-04f, 5.009591066e-04f,
+5.048645459e-04f, 5.087689113e-04f, 5.126721961e-04f, 5.165743938e-04f, 5.204754975e-04f, 5.243755006e-04f, 5.282743964e-04f, 5.321721782e-04f, 5.360688394e-04f, 5.399643732e-04f,
+5.438587731e-04f, 5.477520323e-04f, 5.516441441e-04f, 5.555351019e-04f, 5.594248990e-04f, 5.633135288e-04f, 5.672009846e-04f, 5.710872598e-04f, 5.749723476e-04f, 5.788562415e-04f,
+5.827389347e-04f, 5.866204207e-04f, 5.905006927e-04f, 5.943797442e-04f, 5.982575685e-04f, 6.021341590e-04f, 6.060095090e-04f, 6.098836119e-04f, 6.137564610e-04f, 6.176280498e-04f,
+6.214983716e-04f, 6.253674197e-04f, 6.292351876e-04f, 6.331016687e-04f, 6.369668563e-04f, 6.408307438e-04f, 6.446933246e-04f, 6.485545921e-04f, 6.524145397e-04f, 6.562731608e-04f,
+6.601304487e-04f, 6.639863970e-04f, 6.678409989e-04f, 6.716942479e-04f, 6.755461375e-04f, 6.793966609e-04f, 6.832458117e-04f, 6.870935833e-04f, 6.909399690e-04f, 6.947849623e-04f,
+6.986285567e-04f, 7.024707455e-04f, 7.063115222e-04f, 7.101508802e-04f, 7.139888130e-04f, 7.178253140e-04f, 7.216603766e-04f, 7.254939944e-04f, 7.293261606e-04f, 7.331568689e-04f,
+7.369861126e-04f, 7.408138852e-04f, 7.446401801e-04f, 7.484649909e-04f, 7.522883110e-04f, 7.561101338e-04f, 7.599304529e-04f, 7.637492617e-04f, 7.675665536e-04f, 7.713823223e-04f,
+7.751965611e-04f, 7.790092635e-04f, 7.828204230e-04f, 7.866300332e-04f, 7.904380875e-04f, 7.942445794e-04f, 7.980495024e-04f, 8.018528500e-04f, 8.056546158e-04f, 8.094547932e-04f,
+8.132533758e-04f, 8.170503570e-04f, 8.208457304e-04f, 8.246394896e-04f, 8.284316279e-04f, 8.322221391e-04f, 8.360110165e-04f, 8.397982538e-04f, 8.435838445e-04f, 8.473677821e-04f,
+8.511500601e-04f, 8.549306722e-04f, 8.587096118e-04f, 8.624868726e-04f, 8.662624480e-04f, 8.700363317e-04f, 8.738085172e-04f, 8.775789981e-04f, 8.813477679e-04f, 8.851148202e-04f,
+8.888801486e-04f, 8.926437467e-04f, 8.964056081e-04f, 9.001657263e-04f, 9.039240950e-04f, 9.076807077e-04f, 9.114355580e-04f, 9.151886396e-04f, 9.189399461e-04f, 9.226894709e-04f,
+9.264372079e-04f, 9.301831505e-04f, 9.339272924e-04f, 9.376696272e-04f, 9.414101486e-04f, 9.451488501e-04f, 9.488857255e-04f, 9.526207683e-04f, 9.563539721e-04f, 9.600853307e-04f,
+9.638148377e-04f, 9.675424867e-04f, 9.712682713e-04f, 9.749921853e-04f, 9.787142222e-04f, 9.824343759e-04f, 9.861526398e-04f, 9.898690077e-04f, 9.935834733e-04f, 9.972960302e-04f,
+1.001006672e-03f, 1.004715393e-03f, 1.008422186e-03f, 1.012127045e-03f, 1.015829964e-03f, 1.019530937e-03f, 1.023229956e-03f, 1.026927017e-03f, 1.030622112e-03f, 1.034315235e-03f,
+1.038006381e-03f, 1.041695542e-03f, 1.045382713e-03f, 1.049067887e-03f, 1.052751058e-03f, 1.056432220e-03f, 1.060111366e-03f, 1.063788490e-03f, 1.067463587e-03f, 1.071136648e-03f,
+1.074807670e-03f, 1.078476644e-03f, 1.082143566e-03f, 1.085808428e-03f, 1.089471225e-03f, 1.093131950e-03f, 1.096790597e-03f, 1.100447160e-03f, 1.104101633e-03f, 1.107754009e-03f,
+1.111404283e-03f, 1.115052447e-03f, 1.118698496e-03f, 1.122342424e-03f, 1.125984224e-03f, 1.129623891e-03f, 1.133261417e-03f, 1.136896798e-03f, 1.140530026e-03f, 1.144161096e-03f,
+1.147790001e-03f, 1.151416735e-03f, 1.155041293e-03f, 1.158663668e-03f, 1.162283853e-03f, 1.165901843e-03f, 1.169517631e-03f, 1.173131212e-03f, 1.176742579e-03f, 1.180351726e-03f,
+1.183958647e-03f, 1.187563336e-03f, 1.191165787e-03f, 1.194765993e-03f, 1.198363949e-03f, 1.201959648e-03f, 1.205553085e-03f, 1.209144253e-03f, 1.212733146e-03f, 1.216319758e-03f,
+1.219904083e-03f, 1.223486115e-03f, 1.227065848e-03f, 1.230643276e-03f, 1.234218392e-03f, 1.237791191e-03f, 1.241361666e-03f, 1.244929813e-03f, 1.248495623e-03f, 1.252059092e-03f,
+1.255620214e-03f, 1.259178981e-03f, 1.262735390e-03f, 1.266289432e-03f, 1.269841103e-03f, 1.273390396e-03f, 1.276937305e-03f, 1.280481825e-03f, 1.284023949e-03f, 1.287563671e-03f,
+1.291100985e-03f, 1.294635886e-03f, 1.298168367e-03f, 1.301698422e-03f, 1.305226046e-03f, 1.308751232e-03f, 1.312273974e-03f, 1.315794267e-03f, 1.319312104e-03f, 1.322827480e-03f,
+1.326340389e-03f, 1.329850824e-03f, 1.333358780e-03f, 1.336864250e-03f, 1.340367229e-03f, 1.343867712e-03f, 1.347365691e-03f, 1.350861161e-03f, 1.354354117e-03f, 1.357844552e-03f,
+1.361332460e-03f, 1.364817835e-03f, 1.368300672e-03f, 1.371780965e-03f, 1.375258708e-03f, 1.378733894e-03f, 1.382206519e-03f, 1.385676575e-03f, 1.389144058e-03f, 1.392608962e-03f,
+1.396071280e-03f, 1.399531006e-03f, 1.402988136e-03f, 1.406442663e-03f, 1.409894580e-03f, 1.413343884e-03f, 1.416790566e-03f, 1.420234623e-03f, 1.423676047e-03f, 1.427114834e-03f,
+1.430550977e-03f, 1.433984470e-03f, 1.437415308e-03f, 1.440843485e-03f, 1.444268995e-03f, 1.447691832e-03f, 1.451111991e-03f, 1.454529466e-03f, 1.457944250e-03f, 1.461356339e-03f,
+1.464765727e-03f, 1.468172407e-03f, 1.471576374e-03f, 1.474977623e-03f, 1.478376146e-03f, 1.481771940e-03f, 1.485164998e-03f, 1.488555314e-03f, 1.491942883e-03f, 1.495327698e-03f,
+1.498709755e-03f, 1.502089047e-03f, 1.505465569e-03f, 1.508839315e-03f, 1.512210280e-03f, 1.515578457e-03f, 1.518943841e-03f, 1.522306427e-03f, 1.525666208e-03f, 1.529023180e-03f,
+1.532377335e-03f, 1.535728670e-03f, 1.539077177e-03f, 1.542422852e-03f, 1.545765689e-03f, 1.549105682e-03f, 1.552442826e-03f, 1.555777114e-03f, 1.559108542e-03f, 1.562437104e-03f,
+1.565762794e-03f, 1.569085606e-03f, 1.572405535e-03f, 1.575722575e-03f, 1.579036721e-03f, 1.582347968e-03f, 1.585656308e-03f, 1.588961738e-03f, 1.592264252e-03f, 1.595563843e-03f,
+1.598860506e-03f, 1.602154237e-03f, 1.605445028e-03f, 1.608732876e-03f, 1.612017773e-03f, 1.615299715e-03f, 1.618578697e-03f, 1.621854712e-03f, 1.625127755e-03f, 1.628397821e-03f,
+1.631664904e-03f, 1.634928998e-03f, 1.638190099e-03f, 1.641448200e-03f, 1.644703296e-03f, 1.647955383e-03f, 1.651204453e-03f, 1.654450502e-03f, 1.657693525e-03f, 1.660933515e-03f,
+1.664170468e-03f, 1.667404378e-03f, 1.670635239e-03f, 1.673863047e-03f, 1.677087795e-03f, 1.680309479e-03f, 1.683528092e-03f, 1.686743630e-03f, 1.689956088e-03f, 1.693165458e-03f,
+1.696371738e-03f, 1.699574920e-03f, 1.702774999e-03f, 1.705971971e-03f, 1.709165830e-03f, 1.712356570e-03f, 1.715544186e-03f, 1.718728673e-03f, 1.721910025e-03f, 1.725088238e-03f,
+1.728263305e-03f, 1.731435222e-03f, 1.734603983e-03f, 1.737769582e-03f, 1.740932015e-03f, 1.744091276e-03f, 1.747247361e-03f, 1.750400262e-03f, 1.753549976e-03f, 1.756696497e-03f,
+1.759839820e-03f, 1.762979939e-03f, 1.766116850e-03f, 1.769250546e-03f, 1.772381024e-03f, 1.775508276e-03f, 1.778632299e-03f, 1.781753087e-03f, 1.784870635e-03f, 1.787984937e-03f,
+1.791095989e-03f, 1.794203785e-03f, 1.797308320e-03f, 1.800409588e-03f, 1.803507585e-03f, 1.806602305e-03f, 1.809693744e-03f, 1.812781895e-03f, 1.815866755e-03f, 1.818948317e-03f,
+1.822026576e-03f, 1.825101528e-03f, 1.828173168e-03f, 1.831241489e-03f, 1.834306487e-03f, 1.837368157e-03f, 1.840426494e-03f, 1.843481492e-03f, 1.846533147e-03f, 1.849581453e-03f,
+1.852626406e-03f, 1.855668000e-03f, 1.858706230e-03f, 1.861741091e-03f, 1.864772578e-03f, 1.867800685e-03f, 1.870825409e-03f, 1.873846743e-03f, 1.876864684e-03f, 1.879879225e-03f,
+1.882890361e-03f, 1.885898088e-03f, 1.888902401e-03f, 1.891903295e-03f, 1.894900764e-03f, 1.897894803e-03f, 1.900885409e-03f, 1.903872575e-03f, 1.906856296e-03f, 1.909836568e-03f,
+1.912813386e-03f, 1.915786744e-03f, 1.918756639e-03f, 1.921723064e-03f, 1.924686015e-03f, 1.927645486e-03f, 1.930601474e-03f, 1.933553973e-03f, 1.936502978e-03f, 1.939448484e-03f,
+1.942390486e-03f, 1.945328980e-03f, 1.948263960e-03f, 1.951195422e-03f, 1.954123360e-03f, 1.957047771e-03f, 1.959968648e-03f, 1.962885987e-03f, 1.965799784e-03f, 1.968710033e-03f,
+1.971616729e-03f, 1.974519869e-03f, 1.977419446e-03f, 1.980315456e-03f, 1.983207894e-03f, 1.986096756e-03f, 1.988982036e-03f, 1.991863730e-03f, 1.994741833e-03f, 1.997616340e-03f,
+2.000487247e-03f, 2.003354548e-03f, 2.006218240e-03f, 2.009078316e-03f, 2.011934773e-03f, 2.014787605e-03f, 2.017636808e-03f, 2.020482377e-03f, 2.023324308e-03f, 2.026162595e-03f,
+2.028997234e-03f, 2.031828221e-03f, 2.034655550e-03f, 2.037479217e-03f, 2.040299217e-03f, 2.043115545e-03f, 2.045928198e-03f, 2.048737169e-03f, 2.051542455e-03f, 2.054344050e-03f,
+2.057141951e-03f, 2.059936152e-03f, 2.062726649e-03f, 2.065513438e-03f, 2.068296513e-03f, 2.071075870e-03f, 2.073851504e-03f, 2.076623411e-03f, 2.079391586e-03f, 2.082156025e-03f,
+2.084916723e-03f, 2.087673675e-03f, 2.090426877e-03f, 2.093176324e-03f, 2.095922012e-03f, 2.098663937e-03f, 2.101402092e-03f, 2.104136475e-03f, 2.106867081e-03f, 2.109593904e-03f,
+2.112316941e-03f, 2.115036187e-03f, 2.117751638e-03f, 2.120463288e-03f, 2.123171134e-03f, 2.125875171e-03f, 2.128575395e-03f, 2.131271801e-03f, 2.133964384e-03f, 2.136653140e-03f,
+2.139338065e-03f, 2.142019155e-03f, 2.144696404e-03f, 2.147369809e-03f, 2.150039364e-03f, 2.152705067e-03f, 2.155366911e-03f, 2.158024893e-03f, 2.160679008e-03f, 2.163329253e-03f,
+2.165975622e-03f, 2.168618111e-03f, 2.171256716e-03f, 2.173891433e-03f, 2.176522257e-03f, 2.179149183e-03f, 2.181772208e-03f, 2.184391328e-03f, 2.187006536e-03f, 2.189617831e-03f,
+2.192225206e-03f, 2.194828659e-03f, 2.197428184e-03f, 2.200023777e-03f, 2.202615435e-03f, 2.205203152e-03f, 2.207786924e-03f, 2.210366748e-03f, 2.212942618e-03f, 2.215514532e-03f,
+2.218082483e-03f, 2.220646469e-03f, 2.223206485e-03f, 2.225762527e-03f, 2.228314590e-03f, 2.230862671e-03f, 2.233406765e-03f, 2.235946868e-03f, 2.238482975e-03f, 2.241015083e-03f,
+2.243543188e-03f, 2.246067285e-03f, 2.248587370e-03f, 2.251103438e-03f, 2.253615487e-03f, 2.256123512e-03f, 2.258627508e-03f, 2.261127471e-03f, 2.263623398e-03f, 2.266115284e-03f,
+2.268603125e-03f, 2.271086917e-03f, 2.273566656e-03f, 2.276042338e-03f, 2.278513959e-03f, 2.280981514e-03f, 2.283445000e-03f, 2.285904413e-03f, 2.288359749e-03f, 2.290811003e-03f,
+2.293258171e-03f, 2.295701250e-03f, 2.298140236e-03f, 2.300575124e-03f, 2.303005911e-03f, 2.305432592e-03f, 2.307855164e-03f, 2.310273622e-03f, 2.312687963e-03f, 2.315098182e-03f,
+2.317504276e-03f, 2.319906241e-03f, 2.322304073e-03f, 2.324697768e-03f, 2.327087321e-03f, 2.329472730e-03f, 2.331853990e-03f, 2.334231097e-03f, 2.336604047e-03f, 2.338972837e-03f,
+2.341337462e-03f, 2.343697919e-03f, 2.346054204e-03f, 2.348406312e-03f, 2.350754241e-03f, 2.353097986e-03f, 2.355437544e-03f, 2.357772910e-03f, 2.360104081e-03f, 2.362431053e-03f,
+2.364753823e-03f, 2.367072385e-03f, 2.369386737e-03f, 2.371696875e-03f, 2.374002795e-03f, 2.376304494e-03f, 2.378601967e-03f, 2.380895210e-03f, 2.383184221e-03f, 2.385468995e-03f,
+2.387749528e-03f, 2.390025817e-03f, 2.392297859e-03f, 2.394565648e-03f, 2.396829183e-03f, 2.399088458e-03f, 2.401343471e-03f, 2.403594217e-03f, 2.405840694e-03f, 2.408082896e-03f,
+2.410320822e-03f, 2.412554466e-03f, 2.414783826e-03f, 2.417008897e-03f, 2.419229677e-03f, 2.421446161e-03f, 2.423658346e-03f, 2.425866228e-03f, 2.428069804e-03f, 2.430269071e-03f,
+2.432464023e-03f, 2.434654659e-03f, 2.436840974e-03f, 2.439022965e-03f, 2.441200628e-03f, 2.443373960e-03f, 2.445542957e-03f, 2.447707616e-03f, 2.449867933e-03f, 2.452023904e-03f,
+2.454175527e-03f, 2.456322798e-03f, 2.458465712e-03f, 2.460604268e-03f, 2.462738460e-03f, 2.464868287e-03f, 2.466993744e-03f, 2.469114827e-03f, 2.471231534e-03f, 2.473343862e-03f,
+2.475451805e-03f, 2.477555362e-03f, 2.479654529e-03f, 2.481749301e-03f, 2.483839677e-03f, 2.485925653e-03f, 2.488007224e-03f, 2.490084389e-03f, 2.492157143e-03f, 2.494225483e-03f,
+2.496289406e-03f, 2.498348908e-03f, 2.500403986e-03f, 2.502454637e-03f, 2.504500858e-03f, 2.506542645e-03f, 2.508579994e-03f, 2.510612903e-03f, 2.512641368e-03f, 2.514665387e-03f,
+2.516684955e-03f, 2.518700069e-03f, 2.520710727e-03f, 2.522716925e-03f, 2.524718659e-03f, 2.526715927e-03f, 2.528708725e-03f, 2.530697051e-03f, 2.532680900e-03f, 2.534660270e-03f,
+2.536635157e-03f, 2.538605558e-03f, 2.540571471e-03f, 2.542532892e-03f, 2.544489817e-03f, 2.546442244e-03f, 2.548390170e-03f, 2.550333591e-03f, 2.552272504e-03f, 2.554206906e-03f,
+2.556136795e-03f, 2.558062166e-03f, 2.559983017e-03f, 2.561899345e-03f, 2.563811146e-03f, 2.565718418e-03f, 2.567621158e-03f, 2.569519362e-03f, 2.571413027e-03f, 2.573302151e-03f,
+2.575186730e-03f, 2.577066762e-03f, 2.578942242e-03f, 2.580813170e-03f, 2.582679540e-03f, 2.584541351e-03f, 2.586398599e-03f, 2.588251281e-03f, 2.590099395e-03f, 2.591942937e-03f,
+2.593781905e-03f, 2.595616295e-03f, 2.597446105e-03f, 2.599271332e-03f, 2.601091972e-03f, 2.602908024e-03f, 2.604719483e-03f, 2.606526347e-03f, 2.608328614e-03f, 2.610126279e-03f,
+2.611919342e-03f, 2.613707797e-03f, 2.615491644e-03f, 2.617270878e-03f, 2.619045498e-03f, 2.620815499e-03f, 2.622580880e-03f, 2.624341638e-03f, 2.626097769e-03f, 2.627849271e-03f,
+2.629596142e-03f, 2.631338378e-03f, 2.633075976e-03f, 2.634808935e-03f, 2.636537250e-03f, 2.638260920e-03f, 2.639979942e-03f, 2.641694312e-03f, 2.643404029e-03f, 2.645109089e-03f,
+2.646809490e-03f, 2.648505229e-03f, 2.650196303e-03f, 2.651882710e-03f, 2.653564447e-03f, 2.655241511e-03f, 2.656913900e-03f, 2.658581611e-03f, 2.660244642e-03f, 2.661902989e-03f,
+2.663556650e-03f, 2.665205623e-03f, 2.666849905e-03f, 2.668489493e-03f, 2.670124385e-03f, 2.671754578e-03f, 2.673380070e-03f, 2.675000857e-03f, 2.676616939e-03f, 2.678228311e-03f,
+2.679834971e-03f, 2.681436917e-03f, 2.683034147e-03f, 2.684626657e-03f, 2.686214445e-03f, 2.687797510e-03f, 2.689375847e-03f, 2.690949456e-03f, 2.692518332e-03f, 2.694082475e-03f,
+2.695641881e-03f, 2.697196548e-03f, 2.698746473e-03f, 2.700291655e-03f, 2.701832090e-03f, 2.703367776e-03f, 2.704898711e-03f, 2.706424893e-03f, 2.707946319e-03f, 2.709462986e-03f,
+2.710974892e-03f, 2.712482036e-03f, 2.713984414e-03f, 2.715482024e-03f, 2.716974864e-03f, 2.718462932e-03f, 2.719946225e-03f, 2.721424740e-03f, 2.722898476e-03f, 2.724367431e-03f,
+2.725831601e-03f, 2.727290985e-03f, 2.728745581e-03f, 2.730195386e-03f, 2.731640397e-03f, 2.733080614e-03f, 2.734516032e-03f, 2.735946651e-03f, 2.737372468e-03f, 2.738793480e-03f,
+2.740209686e-03f, 2.741621084e-03f, 2.743027670e-03f, 2.744429444e-03f, 2.745826402e-03f, 2.747218543e-03f, 2.748605864e-03f, 2.749988364e-03f, 2.751366039e-03f, 2.752738889e-03f,
+2.754106911e-03f, 2.755470102e-03f, 2.756828461e-03f, 2.758181986e-03f, 2.759530674e-03f, 2.760874524e-03f, 2.762213533e-03f, 2.763547700e-03f, 2.764877021e-03f, 2.766201496e-03f,
+2.767521122e-03f, 2.768835897e-03f, 2.770145819e-03f, 2.771450886e-03f, 2.772751096e-03f, 2.774046447e-03f, 2.775336938e-03f, 2.776622565e-03f, 2.777903328e-03f, 2.779179224e-03f,
+2.780450251e-03f, 2.781716407e-03f, 2.782977691e-03f, 2.784234100e-03f, 2.785485632e-03f, 2.786732286e-03f, 2.787974060e-03f, 2.789210952e-03f, 2.790442959e-03f, 2.791670081e-03f,
+2.792892315e-03f, 2.794109659e-03f, 2.795322111e-03f, 2.796529670e-03f, 2.797732334e-03f, 2.798930101e-03f, 2.800122969e-03f, 2.801310936e-03f, 2.802494001e-03f, 2.803672161e-03f,
+2.804845415e-03f, 2.806013762e-03f, 2.807177199e-03f, 2.808335725e-03f, 2.809489337e-03f, 2.810638035e-03f, 2.811781816e-03f, 2.812920679e-03f, 2.814054621e-03f, 2.815183643e-03f,
+2.816307740e-03f, 2.817426913e-03f, 2.818541159e-03f, 2.819650476e-03f, 2.820754863e-03f, 2.821854319e-03f, 2.822948841e-03f, 2.824038428e-03f, 2.825123078e-03f, 2.826202790e-03f,
+2.827277562e-03f, 2.828347393e-03f, 2.829412280e-03f, 2.830472223e-03f, 2.831527220e-03f, 2.832577269e-03f, 2.833622368e-03f, 2.834662516e-03f, 2.835697712e-03f, 2.836727954e-03f,
+2.837753241e-03f, 2.838773570e-03f, 2.839788941e-03f, 2.840799352e-03f, 2.841804801e-03f, 2.842805287e-03f, 2.843800808e-03f, 2.844791364e-03f, 2.845776952e-03f, 2.846757572e-03f,
+2.847733221e-03f, 2.848703898e-03f, 2.849669602e-03f, 2.850630332e-03f, 2.851586085e-03f, 2.852536862e-03f, 2.853482659e-03f, 2.854423477e-03f, 2.855359312e-03f, 2.856290165e-03f,
+2.857216034e-03f, 2.858136918e-03f, 2.859052814e-03f, 2.859963722e-03f, 2.860869641e-03f, 2.861770568e-03f, 2.862666504e-03f, 2.863557446e-03f, 2.864443394e-03f, 2.865324345e-03f,
+2.866200300e-03f, 2.867071255e-03f, 2.867937212e-03f, 2.868798167e-03f, 2.869654119e-03f, 2.870505069e-03f, 2.871351014e-03f, 2.872191953e-03f, 2.873027884e-03f, 2.873858808e-03f,
+2.874684722e-03f, 2.875505626e-03f, 2.876321518e-03f, 2.877132397e-03f, 2.877938262e-03f, 2.878739112e-03f, 2.879534945e-03f, 2.880325762e-03f, 2.881111559e-03f, 2.881892337e-03f,
+2.882668095e-03f, 2.883438830e-03f, 2.884204543e-03f, 2.884965232e-03f, 2.885720895e-03f, 2.886471533e-03f, 2.887217144e-03f, 2.887957727e-03f, 2.888693280e-03f, 2.889423804e-03f,
+2.890149296e-03f, 2.890869756e-03f, 2.891585183e-03f, 2.892295576e-03f, 2.893000934e-03f, 2.893701257e-03f, 2.894396542e-03f, 2.895086789e-03f, 2.895771997e-03f, 2.896452166e-03f,
+2.897127294e-03f, 2.897797380e-03f, 2.898462424e-03f, 2.899122425e-03f, 2.899777381e-03f, 2.900427292e-03f, 2.901072157e-03f, 2.901711976e-03f, 2.902346747e-03f, 2.902976469e-03f,
+2.903601142e-03f, 2.904220765e-03f, 2.904835337e-03f, 2.905444857e-03f, 2.906049324e-03f, 2.906648738e-03f, 2.907243099e-03f, 2.907832404e-03f, 2.908416653e-03f, 2.908995847e-03f,
+2.909569983e-03f, 2.910139061e-03f, 2.910703081e-03f, 2.911262041e-03f, 2.911815941e-03f, 2.912364781e-03f, 2.912908560e-03f, 2.913447276e-03f, 2.913980929e-03f, 2.914509520e-03f,
+2.915033046e-03f, 2.915551507e-03f, 2.916064904e-03f, 2.916573234e-03f, 2.917076498e-03f, 2.917574694e-03f, 2.918067823e-03f, 2.918555883e-03f, 2.919038875e-03f, 2.919516797e-03f,
+2.919989649e-03f, 2.920457430e-03f, 2.920920140e-03f, 2.921377779e-03f, 2.921830345e-03f, 2.922277839e-03f, 2.922720259e-03f, 2.923157605e-03f, 2.923589878e-03f, 2.924017075e-03f,
+2.924439197e-03f, 2.924856244e-03f, 2.925268214e-03f, 2.925675108e-03f, 2.926076925e-03f, 2.926473664e-03f, 2.926865326e-03f, 2.927251909e-03f, 2.927633413e-03f, 2.928009839e-03f,
+2.928381185e-03f, 2.928747450e-03f, 2.929108636e-03f, 2.929464741e-03f, 2.929815765e-03f, 2.930161708e-03f, 2.930502570e-03f, 2.930838349e-03f, 2.931169046e-03f, 2.931494660e-03f,
+2.931815192e-03f, 2.932130640e-03f, 2.932441005e-03f, 2.932746286e-03f, 2.933046483e-03f, 2.933341596e-03f, 2.933631624e-03f, 2.933916568e-03f, 2.934196427e-03f, 2.934471200e-03f,
+2.934740888e-03f, 2.935005491e-03f, 2.935265007e-03f, 2.935519438e-03f, 2.935768782e-03f, 2.936013041e-03f, 2.936252212e-03f, 2.936486297e-03f, 2.936715296e-03f, 2.936939207e-03f,
+2.937158031e-03f, 2.937371769e-03f, 2.937580418e-03f, 2.937783981e-03f, 2.937982456e-03f, 2.938175844e-03f, 2.938364144e-03f, 2.938547356e-03f, 2.938725481e-03f, 2.938898517e-03f,
+2.939066467e-03f, 2.939229328e-03f, 2.939387101e-03f, 2.939539787e-03f, 2.939687384e-03f, 2.939829894e-03f, 2.939967316e-03f, 2.940099651e-03f, 2.940226897e-03f, 2.940349056e-03f,
+2.940466127e-03f, 2.940578111e-03f, 2.940685007e-03f, 2.940786815e-03f, 2.940883536e-03f, 2.940975170e-03f, 2.941061717e-03f, 2.941143176e-03f, 2.941219549e-03f, 2.941290835e-03f,
+2.941357034e-03f, 2.941418147e-03f, 2.941474173e-03f, 2.941525113e-03f, 2.941570968e-03f, 2.941611736e-03f, 2.941647419e-03f, 2.941678016e-03f, 2.941703528e-03f, 2.941723955e-03f,
+2.941739297e-03f, 2.941749555e-03f, 2.941754728e-03f, 2.941754818e-03f, 2.941749823e-03f, 2.941739745e-03f, 2.941724584e-03f, 2.941704340e-03f, 2.941679013e-03f, 2.941648604e-03f,
+2.941613113e-03f, 2.941572540e-03f, 2.941526886e-03f, 2.941476151e-03f, 2.941420335e-03f, 2.941359439e-03f, 2.941293462e-03f, 2.941222407e-03f, 2.941146272e-03f, 2.941065058e-03f,
+2.940978766e-03f, 2.940887396e-03f, 2.940790949e-03f, 2.940689424e-03f, 2.940582823e-03f, 2.940471145e-03f, 2.940354392e-03f, 2.940232563e-03f, 2.940105659e-03f, 2.939973681e-03f,
+2.939836630e-03f, 2.939694504e-03f, 2.939547306e-03f, 2.939395036e-03f, 2.939237694e-03f, 2.939075280e-03f, 2.938907796e-03f, 2.938735242e-03f, 2.938557618e-03f, 2.938374925e-03f,
+2.938187163e-03f, 2.937994334e-03f, 2.937796437e-03f, 2.937593473e-03f, 2.937385444e-03f, 2.937172349e-03f, 2.936954189e-03f, 2.936730965e-03f, 2.936502677e-03f, 2.936269327e-03f,
+2.936030914e-03f, 2.935787440e-03f, 2.935538905e-03f, 2.935285309e-03f, 2.935026655e-03f, 2.934762941e-03f, 2.934494169e-03f, 2.934220340e-03f, 2.933941455e-03f, 2.933657514e-03f,
+2.933368517e-03f, 2.933074466e-03f, 2.932775362e-03f, 2.932471205e-03f, 2.932161996e-03f, 2.931847736e-03f, 2.931528425e-03f, 2.931204065e-03f, 2.930874655e-03f, 2.930540198e-03f,
+2.930200694e-03f, 2.929856144e-03f, 2.929506548e-03f, 2.929151908e-03f, 2.928792224e-03f, 2.928427498e-03f, 2.928057729e-03f, 2.927682920e-03f, 2.927303070e-03f, 2.926918181e-03f,
+2.926528255e-03f, 2.926133290e-03f, 2.925733290e-03f, 2.925328254e-03f, 2.924918184e-03f, 2.924503080e-03f, 2.924082943e-03f, 2.923657776e-03f, 2.923227577e-03f, 2.922792350e-03f,
+2.922352093e-03f, 2.921906810e-03f, 2.921456499e-03f, 2.921001164e-03f, 2.920540804e-03f, 2.920075421e-03f, 2.919605015e-03f, 2.919129589e-03f, 2.918649142e-03f, 2.918163676e-03f,
+2.917673193e-03f, 2.917177692e-03f, 2.916677176e-03f, 2.916171646e-03f, 2.915661102e-03f, 2.915145546e-03f, 2.914624978e-03f, 2.914099401e-03f, 2.913568815e-03f, 2.913033222e-03f,
+2.912492621e-03f, 2.911947016e-03f, 2.911396407e-03f, 2.910840795e-03f, 2.910280181e-03f, 2.909714567e-03f, 2.909143954e-03f, 2.908568342e-03f, 2.907987735e-03f, 2.907402131e-03f,
+2.906811534e-03f, 2.906215944e-03f, 2.905615363e-03f, 2.905009791e-03f, 2.904399230e-03f, 2.903783681e-03f, 2.903163147e-03f, 2.902537627e-03f, 2.901907124e-03f, 2.901271638e-03f,
+2.900631172e-03f, 2.899985725e-03f, 2.899335301e-03f, 2.898679900e-03f, 2.898019524e-03f, 2.897354173e-03f, 2.896683850e-03f, 2.896008556e-03f, 2.895328292e-03f, 2.894643059e-03f,
+2.893952860e-03f, 2.893257695e-03f, 2.892557566e-03f, 2.891852475e-03f, 2.891142423e-03f, 2.890427411e-03f, 2.889707441e-03f, 2.888982514e-03f, 2.888252633e-03f, 2.887517797e-03f,
+2.886778010e-03f, 2.886033273e-03f, 2.885283586e-03f, 2.884528952e-03f, 2.883769372e-03f, 2.883004848e-03f, 2.882235382e-03f, 2.881460974e-03f, 2.880681627e-03f, 2.879897342e-03f,
+2.879108120e-03f, 2.878313964e-03f, 2.877514875e-03f, 2.876710854e-03f, 2.875901904e-03f, 2.875088025e-03f, 2.874269221e-03f, 2.873445491e-03f, 2.872616838e-03f, 2.871783264e-03f,
+2.870944770e-03f, 2.870101358e-03f, 2.869253030e-03f, 2.868399788e-03f, 2.867541632e-03f, 2.866678565e-03f, 2.865810589e-03f, 2.864937706e-03f, 2.864059916e-03f, 2.863177223e-03f,
+2.862289627e-03f, 2.861397131e-03f, 2.860499736e-03f, 2.859597444e-03f, 2.858690257e-03f, 2.857778176e-03f, 2.856861205e-03f, 2.855939343e-03f, 2.855012594e-03f, 2.854080959e-03f,
+2.853144440e-03f, 2.852203039e-03f, 2.851256757e-03f, 2.850305598e-03f, 2.849349561e-03f, 2.848388650e-03f, 2.847422866e-03f, 2.846452212e-03f, 2.845476689e-03f, 2.844496299e-03f,
+2.843511044e-03f, 2.842520925e-03f, 2.841525946e-03f, 2.840526108e-03f, 2.839521413e-03f, 2.838511862e-03f, 2.837497459e-03f, 2.836478204e-03f, 2.835454101e-03f, 2.834425150e-03f,
+2.833391354e-03f, 2.832352716e-03f, 2.831309236e-03f, 2.830260917e-03f, 2.829207762e-03f, 2.828149772e-03f, 2.827086949e-03f, 2.826019296e-03f, 2.824946814e-03f, 2.823869506e-03f,
+2.822787373e-03f, 2.821700418e-03f, 2.820608643e-03f, 2.819512051e-03f, 2.818410642e-03f, 2.817304420e-03f, 2.816193387e-03f, 2.815077544e-03f, 2.813956894e-03f, 2.812831440e-03f,
+2.811701182e-03f, 2.810566124e-03f, 2.809426268e-03f, 2.808281616e-03f, 2.807132169e-03f, 2.805977932e-03f, 2.804818905e-03f, 2.803655090e-03f, 2.802486491e-03f, 2.801313109e-03f,
+2.800134947e-03f, 2.798952007e-03f, 2.797764291e-03f, 2.796571802e-03f, 2.795374541e-03f, 2.794172512e-03f, 2.792965716e-03f, 2.791754156e-03f, 2.790537835e-03f, 2.789316753e-03f,
+2.788090915e-03f, 2.786860322e-03f, 2.785624976e-03f, 2.784384881e-03f, 2.783140038e-03f, 2.781890449e-03f, 2.780636118e-03f, 2.779377047e-03f, 2.778113237e-03f, 2.776844692e-03f,
+2.775571414e-03f, 2.774293405e-03f, 2.773010668e-03f, 2.771723205e-03f, 2.770431019e-03f, 2.769134112e-03f, 2.767832487e-03f, 2.766526146e-03f, 2.765215092e-03f, 2.763899327e-03f,
+2.762578853e-03f, 2.761253674e-03f, 2.759923792e-03f, 2.758589209e-03f, 2.757249928e-03f, 2.755905951e-03f, 2.754557281e-03f, 2.753203921e-03f, 2.751845873e-03f, 2.750483139e-03f,
+2.749115723e-03f, 2.747743627e-03f, 2.746366854e-03f, 2.744985405e-03f, 2.743599285e-03f, 2.742208495e-03f, 2.740813038e-03f, 2.739412916e-03f, 2.738008133e-03f, 2.736598692e-03f,
+2.735184593e-03f, 2.733765842e-03f, 2.732342439e-03f, 2.730914389e-03f, 2.729481692e-03f, 2.728044353e-03f, 2.726602374e-03f, 2.725155758e-03f, 2.723704507e-03f, 2.722248625e-03f,
+2.720788113e-03f, 2.719322975e-03f, 2.717853214e-03f, 2.716378832e-03f, 2.714899832e-03f, 2.713416216e-03f, 2.711927989e-03f, 2.710435152e-03f, 2.708937708e-03f, 2.707435660e-03f,
+2.705929011e-03f, 2.704417764e-03f, 2.702901922e-03f, 2.701381487e-03f, 2.699856462e-03f, 2.698326851e-03f, 2.696792656e-03f, 2.695253880e-03f, 2.693710526e-03f, 2.692162596e-03f,
+2.690610094e-03f, 2.689053023e-03f, 2.687491386e-03f, 2.685925185e-03f, 2.684354423e-03f, 2.682779104e-03f, 2.681199230e-03f, 2.679614805e-03f, 2.678025830e-03f, 2.676432310e-03f,
+2.674834248e-03f, 2.673231645e-03f, 2.671624506e-03f, 2.670012833e-03f, 2.668396630e-03f, 2.666775898e-03f, 2.665150643e-03f, 2.663520865e-03f, 2.661886569e-03f, 2.660247758e-03f,
+2.658604434e-03f, 2.656956600e-03f, 2.655304261e-03f, 2.653647418e-03f, 2.651986075e-03f, 2.650320236e-03f, 2.648649902e-03f, 2.646975078e-03f, 2.645295766e-03f, 2.643611969e-03f,
+2.641923692e-03f, 2.640230936e-03f, 2.638533705e-03f, 2.636832002e-03f, 2.635125830e-03f, 2.633415193e-03f, 2.631700094e-03f, 2.629980536e-03f, 2.628256521e-03f, 2.626528054e-03f,
+2.624795137e-03f, 2.623057775e-03f, 2.621315969e-03f, 2.619569723e-03f, 2.617819041e-03f, 2.616063925e-03f, 2.614304379e-03f, 2.612540407e-03f, 2.610772011e-03f, 2.608999195e-03f,
+2.607221962e-03f, 2.605440316e-03f, 2.603654259e-03f, 2.601863795e-03f, 2.600068928e-03f, 2.598269660e-03f, 2.596465995e-03f, 2.594657937e-03f, 2.592845488e-03f, 2.591028653e-03f,
+2.589207433e-03f, 2.587381834e-03f, 2.585551858e-03f, 2.583717508e-03f, 2.581878789e-03f, 2.580035702e-03f, 2.578188253e-03f, 2.576336444e-03f, 2.574480278e-03f, 2.572619760e-03f,
+2.570754892e-03f, 2.568885678e-03f, 2.567012121e-03f, 2.565134225e-03f, 2.563251994e-03f, 2.561365430e-03f, 2.559474538e-03f, 2.557579321e-03f, 2.555679782e-03f, 2.553775924e-03f,
+2.551867752e-03f, 2.549955269e-03f, 2.548038478e-03f, 2.546117384e-03f, 2.544191988e-03f, 2.542262296e-03f, 2.540328310e-03f, 2.538390034e-03f, 2.536447472e-03f, 2.534500628e-03f,
+2.532549504e-03f, 2.530594105e-03f, 2.528634433e-03f, 2.526670494e-03f, 2.524702289e-03f, 2.522729824e-03f, 2.520753101e-03f, 2.518772124e-03f, 2.516786898e-03f, 2.514797424e-03f,
+2.512803708e-03f, 2.510805752e-03f, 2.508803561e-03f, 2.506797139e-03f, 2.504786488e-03f, 2.502771612e-03f, 2.500752516e-03f, 2.498729203e-03f, 2.496701676e-03f, 2.494669940e-03f,
+2.492633997e-03f, 2.490593853e-03f, 2.488549510e-03f, 2.486500973e-03f, 2.484448245e-03f, 2.482391329e-03f, 2.480330230e-03f, 2.478264952e-03f, 2.476195498e-03f, 2.474121872e-03f,
+2.472044077e-03f, 2.469962118e-03f, 2.467875999e-03f, 2.465785723e-03f, 2.463691294e-03f, 2.461592715e-03f, 2.459489992e-03f, 2.457383127e-03f, 2.455272125e-03f, 2.453156988e-03f,
+2.451037722e-03f, 2.448914331e-03f, 2.446786817e-03f, 2.444655184e-03f, 2.442519438e-03f, 2.440379581e-03f, 2.438235618e-03f, 2.436087552e-03f, 2.433935388e-03f, 2.431779129e-03f,
+2.429618779e-03f, 2.427454342e-03f, 2.425285823e-03f, 2.423113224e-03f, 2.420936551e-03f, 2.418755807e-03f, 2.416570995e-03f, 2.414382121e-03f, 2.412189188e-03f, 2.409992200e-03f,
+2.407791161e-03f, 2.405586074e-03f, 2.403376945e-03f, 2.401163777e-03f, 2.398946574e-03f, 2.396725341e-03f, 2.394500080e-03f, 2.392270797e-03f, 2.390037495e-03f, 2.387800178e-03f,
+2.385558851e-03f, 2.383313518e-03f, 2.381064182e-03f, 2.378810848e-03f, 2.376553519e-03f, 2.374292201e-03f, 2.372026897e-03f, 2.369757610e-03f, 2.367484346e-03f, 2.365207109e-03f,
+2.362925902e-03f, 2.360640730e-03f, 2.358351597e-03f, 2.356058507e-03f, 2.353761464e-03f, 2.351460472e-03f, 2.349155536e-03f, 2.346846660e-03f, 2.344533847e-03f, 2.342217103e-03f,
+2.339896431e-03f, 2.337571836e-03f, 2.335243322e-03f, 2.332910892e-03f, 2.330574552e-03f, 2.328234305e-03f, 2.325890156e-03f, 2.323542109e-03f, 2.321190169e-03f, 2.318834339e-03f,
+2.316474623e-03f, 2.314111027e-03f, 2.311743554e-03f, 2.309372209e-03f, 2.306996996e-03f, 2.304617919e-03f, 2.302234982e-03f, 2.299848191e-03f, 2.297457548e-03f, 2.295063059e-03f,
+2.292664729e-03f, 2.290262560e-03f, 2.287856558e-03f, 2.285446727e-03f, 2.283033071e-03f, 2.280615595e-03f, 2.278194303e-03f, 2.275769199e-03f, 2.273340288e-03f, 2.270907574e-03f,
+2.268471062e-03f, 2.266030756e-03f, 2.263586661e-03f, 2.261138780e-03f, 2.258687119e-03f, 2.256231681e-03f, 2.253772471e-03f, 2.251309494e-03f, 2.248842754e-03f, 2.246372256e-03f,
+2.243898004e-03f, 2.241420002e-03f, 2.238938255e-03f, 2.236452767e-03f, 2.233963543e-03f, 2.231470588e-03f, 2.228973906e-03f, 2.226473501e-03f, 2.223969377e-03f, 2.221461541e-03f,
+2.218949995e-03f, 2.216434745e-03f, 2.213915795e-03f, 2.211393149e-03f, 2.208866813e-03f, 2.206336790e-03f, 2.203803086e-03f, 2.201265704e-03f, 2.198724650e-03f, 2.196179927e-03f,
+2.193631542e-03f, 2.191079497e-03f, 2.188523799e-03f, 2.185964450e-03f, 2.183401457e-03f, 2.180834823e-03f, 2.178264554e-03f, 2.175690653e-03f, 2.173113126e-03f, 2.170531977e-03f,
+2.167947210e-03f, 2.165358832e-03f, 2.162766845e-03f, 2.160171255e-03f, 2.157572066e-03f, 2.154969284e-03f, 2.152362913e-03f, 2.149752957e-03f, 2.147139421e-03f, 2.144522310e-03f,
+2.141901628e-03f, 2.139277381e-03f, 2.136649573e-03f, 2.134018209e-03f, 2.131383293e-03f, 2.128744831e-03f, 2.126102827e-03f, 2.123457285e-03f, 2.120808210e-03f, 2.118155608e-03f,
+2.115499483e-03f, 2.112839840e-03f, 2.110176684e-03f, 2.107510018e-03f, 2.104839849e-03f, 2.102166181e-03f, 2.099489019e-03f, 2.096808367e-03f, 2.094124230e-03f, 2.091436614e-03f,
+2.088745522e-03f, 2.086050961e-03f, 2.083352934e-03f, 2.080651447e-03f, 2.077946504e-03f, 2.075238110e-03f, 2.072526270e-03f, 2.069810990e-03f, 2.067092273e-03f, 2.064370125e-03f,
+2.061644550e-03f, 2.058915554e-03f, 2.056183141e-03f, 2.053447317e-03f, 2.050708085e-03f, 2.047965452e-03f, 2.045219422e-03f, 2.042470000e-03f, 2.039717190e-03f, 2.036960998e-03f,
+2.034201429e-03f, 2.031438488e-03f, 2.028672179e-03f, 2.025902508e-03f, 2.023129480e-03f, 2.020353099e-03f, 2.017573370e-03f, 2.014790299e-03f, 2.012003890e-03f, 2.009214148e-03f,
+2.006421080e-03f, 2.003624688e-03f, 2.000824979e-03f, 1.998021957e-03f, 1.995215628e-03f, 1.992405996e-03f, 1.989593067e-03f, 1.986776845e-03f, 1.983957336e-03f, 1.981134544e-03f,
+1.978308475e-03f, 1.975479134e-03f, 1.972646525e-03f, 1.969810655e-03f, 1.966971527e-03f, 1.964129147e-03f, 1.961283521e-03f, 1.958434652e-03f, 1.955582547e-03f, 1.952727210e-03f,
+1.949868646e-03f, 1.947006861e-03f, 1.944141860e-03f, 1.941273647e-03f, 1.938402229e-03f, 1.935527609e-03f, 1.932649794e-03f, 1.929768788e-03f, 1.926884596e-03f, 1.923997224e-03f,
+1.921106676e-03f, 1.918212959e-03f, 1.915316077e-03f, 1.912416035e-03f, 1.909512838e-03f, 1.906606492e-03f, 1.903697002e-03f, 1.900784372e-03f, 1.897868609e-03f, 1.894949718e-03f,
+1.892027702e-03f, 1.889102569e-03f, 1.886174323e-03f, 1.883242969e-03f, 1.880308512e-03f, 1.877370958e-03f, 1.874430312e-03f, 1.871486580e-03f, 1.868539765e-03f, 1.865589875e-03f,
+1.862636913e-03f, 1.859680886e-03f, 1.856721798e-03f, 1.853759654e-03f, 1.850794461e-03f, 1.847826223e-03f, 1.844854946e-03f, 1.841880635e-03f, 1.838903294e-03f, 1.835922931e-03f,
+1.832939549e-03f, 1.829953154e-03f, 1.826963751e-03f, 1.823971347e-03f, 1.820975945e-03f, 1.817977552e-03f, 1.814976172e-03f, 1.811971812e-03f, 1.808964476e-03f, 1.805954170e-03f,
+1.802940899e-03f, 1.799924669e-03f, 1.796905484e-03f, 1.793883351e-03f, 1.790858274e-03f, 1.787830259e-03f, 1.784799312e-03f, 1.781765437e-03f, 1.778728641e-03f, 1.775688928e-03f,
+1.772646304e-03f, 1.769600775e-03f, 1.766552345e-03f, 1.763501021e-03f, 1.760446807e-03f, 1.757389709e-03f, 1.754329733e-03f, 1.751266884e-03f, 1.748201167e-03f, 1.745132588e-03f,
+1.742061152e-03f, 1.738986865e-03f, 1.735909732e-03f, 1.732829759e-03f, 1.729746951e-03f, 1.726661314e-03f, 1.723572852e-03f, 1.720481572e-03f, 1.717387480e-03f, 1.714290580e-03f,
+1.711190878e-03f, 1.708088379e-03f, 1.704983090e-03f, 1.701875015e-03f, 1.698764160e-03f, 1.695650531e-03f, 1.692534133e-03f, 1.689414972e-03f, 1.686293053e-03f, 1.683168382e-03f,
+1.680040964e-03f, 1.676910804e-03f, 1.673777910e-03f, 1.670642285e-03f, 1.667503935e-03f, 1.664362867e-03f, 1.661219085e-03f, 1.658072596e-03f, 1.654923404e-03f, 1.651771516e-03f,
+1.648616937e-03f, 1.645459672e-03f, 1.642299727e-03f, 1.639137108e-03f, 1.635971821e-03f, 1.632803870e-03f, 1.629633263e-03f, 1.626460003e-03f, 1.623284097e-03f, 1.620105550e-03f,
+1.616924369e-03f, 1.613740558e-03f, 1.610554124e-03f, 1.607365072e-03f, 1.604173407e-03f, 1.600979135e-03f, 1.597782263e-03f, 1.594582795e-03f, 1.591380737e-03f, 1.588176096e-03f,
+1.584968876e-03f, 1.581759083e-03f, 1.578546723e-03f, 1.575331802e-03f, 1.572114325e-03f, 1.568894299e-03f, 1.565671728e-03f, 1.562446618e-03f, 1.559218976e-03f, 1.555988806e-03f,
+1.552756115e-03f, 1.549520908e-03f, 1.546283192e-03f, 1.543042971e-03f, 1.539800251e-03f, 1.536555039e-03f, 1.533307339e-03f, 1.530057159e-03f, 1.526804503e-03f, 1.523549376e-03f,
+1.520291786e-03f, 1.517031738e-03f, 1.513769237e-03f, 1.510504289e-03f, 1.507236900e-03f, 1.503967076e-03f, 1.500694822e-03f, 1.497420145e-03f, 1.494143050e-03f, 1.490863543e-03f,
+1.487581629e-03f, 1.484297315e-03f, 1.481010606e-03f, 1.477721509e-03f, 1.474430028e-03f, 1.471136170e-03f, 1.467839940e-03f, 1.464541345e-03f, 1.461240390e-03f, 1.457937081e-03f,
+1.454631423e-03f, 1.451323424e-03f, 1.448013088e-03f, 1.444700421e-03f, 1.441385429e-03f, 1.438068119e-03f, 1.434748495e-03f, 1.431426564e-03f, 1.428102332e-03f, 1.424775804e-03f,
+1.421446987e-03f, 1.418115886e-03f, 1.414782506e-03f, 1.411446855e-03f, 1.408108938e-03f, 1.404768760e-03f, 1.401426328e-03f, 1.398081648e-03f, 1.394734725e-03f, 1.391385565e-03f,
+1.388034175e-03f, 1.384680559e-03f, 1.381324725e-03f, 1.377966678e-03f, 1.374606423e-03f, 1.371243968e-03f, 1.367879317e-03f, 1.364512477e-03f, 1.361143453e-03f, 1.357772252e-03f,
+1.354398879e-03f, 1.351023341e-03f, 1.347645643e-03f, 1.344265791e-03f, 1.340883792e-03f, 1.337499651e-03f, 1.334113374e-03f, 1.330724967e-03f, 1.327334436e-03f, 1.323941788e-03f,
+1.320547027e-03f, 1.317150161e-03f, 1.313751194e-03f, 1.310350133e-03f, 1.306946985e-03f, 1.303541754e-03f, 1.300134447e-03f, 1.296725071e-03f, 1.293313630e-03f, 1.289900131e-03f,
+1.286484580e-03f, 1.283066983e-03f, 1.279647346e-03f, 1.276225676e-03f, 1.272801977e-03f, 1.269376256e-03f, 1.265948519e-03f, 1.262518772e-03f, 1.259087022e-03f, 1.255653274e-03f,
+1.252217533e-03f, 1.248779808e-03f, 1.245340102e-03f, 1.241898423e-03f, 1.238454776e-03f, 1.235009167e-03f, 1.231561603e-03f, 1.228112090e-03f, 1.224660633e-03f, 1.221207239e-03f,
+1.217751914e-03f, 1.214294663e-03f, 1.210835494e-03f, 1.207374411e-03f, 1.203911421e-03f, 1.200446531e-03f, 1.196979746e-03f, 1.193511072e-03f, 1.190040516e-03f, 1.186568083e-03f,
+1.183093779e-03f, 1.179617612e-03f, 1.176139586e-03f, 1.172659708e-03f, 1.169177984e-03f, 1.165694421e-03f, 1.162209023e-03f, 1.158721798e-03f, 1.155232752e-03f, 1.151741890e-03f,
+1.148249219e-03f, 1.144754745e-03f, 1.141258474e-03f, 1.137760412e-03f, 1.134260565e-03f, 1.130758940e-03f, 1.127255542e-03f, 1.123750378e-03f, 1.120243454e-03f, 1.116734776e-03f,
+1.113224350e-03f, 1.109712182e-03f, 1.106198279e-03f, 1.102682647e-03f, 1.099165291e-03f, 1.095646219e-03f, 1.092125436e-03f, 1.088602948e-03f, 1.085078761e-03f, 1.081552882e-03f,
+1.078025318e-03f, 1.074496073e-03f, 1.070965154e-03f, 1.067432568e-03f, 1.063898321e-03f, 1.060362418e-03f, 1.056824866e-03f, 1.053285672e-03f, 1.049744841e-03f, 1.046202380e-03f,
+1.042658294e-03f, 1.039112591e-03f, 1.035565276e-03f, 1.032016355e-03f, 1.028465835e-03f, 1.024913722e-03f, 1.021360022e-03f, 1.017804742e-03f, 1.014247887e-03f, 1.010689464e-03f,
+1.007129479e-03f, 1.003567938e-03f, 1.000004848e-03f, 9.964402140e-04f, 9.928740435e-04f, 9.893063422e-04f, 9.857371164e-04f, 9.821663723e-04f, 9.785941163e-04f, 9.750203544e-04f,
+9.714450931e-04f, 9.678683385e-04f, 9.642900969e-04f, 9.607103746e-04f, 9.571291779e-04f, 9.535465129e-04f, 9.499623860e-04f, 9.463768034e-04f, 9.427897715e-04f, 9.392012964e-04f,
+9.356113845e-04f, 9.320200421e-04f, 9.284272753e-04f, 9.248330906e-04f, 9.212374942e-04f, 9.176404923e-04f, 9.140420914e-04f, 9.104422976e-04f, 9.068411172e-04f, 9.032385566e-04f,
+8.996346220e-04f, 8.960293198e-04f, 8.924226563e-04f, 8.888146377e-04f, 8.852052703e-04f, 8.815945606e-04f, 8.779825147e-04f, 8.743691390e-04f, 8.707544398e-04f, 8.671384235e-04f,
+8.635210962e-04f, 8.599024645e-04f, 8.562825345e-04f, 8.526613126e-04f, 8.490388052e-04f, 8.454150185e-04f, 8.417899589e-04f, 8.381636328e-04f, 8.345360464e-04f, 8.309072061e-04f,
+8.272771182e-04f, 8.236457890e-04f, 8.200132250e-04f, 8.163794324e-04f, 8.127444176e-04f, 8.091081870e-04f, 8.054707468e-04f, 8.018321035e-04f, 7.981922634e-04f, 7.945512328e-04f,
+7.909090181e-04f, 7.872656256e-04f, 7.836210618e-04f, 7.799753329e-04f, 7.763284453e-04f, 7.726804055e-04f, 7.690312197e-04f, 7.653808943e-04f, 7.617294357e-04f, 7.580768503e-04f,
+7.544231444e-04f, 7.507683244e-04f, 7.471123967e-04f, 7.434553676e-04f, 7.397972436e-04f, 7.361380310e-04f, 7.324777362e-04f, 7.288163656e-04f, 7.251539255e-04f, 7.214904224e-04f,
+7.178258626e-04f, 7.141602525e-04f, 7.104935986e-04f, 7.068259071e-04f, 7.031571846e-04f, 6.994874373e-04f, 6.958166717e-04f, 6.921448942e-04f, 6.884721112e-04f, 6.847983291e-04f,
+6.811235542e-04f, 6.774477930e-04f, 6.737710519e-04f, 6.700933374e-04f, 6.664146557e-04f, 6.627350133e-04f, 6.590544166e-04f, 6.553728721e-04f, 6.516903861e-04f, 6.480069651e-04f,
+6.443226154e-04f, 6.406373435e-04f, 6.369511559e-04f, 6.332640588e-04f, 6.295760588e-04f, 6.258871623e-04f, 6.221973756e-04f, 6.185067052e-04f, 6.148151576e-04f, 6.111227392e-04f,
+6.074294563e-04f, 6.037353154e-04f, 6.000403230e-04f, 5.963444854e-04f, 5.926478092e-04f, 5.889503007e-04f, 5.852519663e-04f, 5.815528126e-04f, 5.778528459e-04f, 5.741520727e-04f,
+5.704504994e-04f, 5.667481325e-04f, 5.630449783e-04f, 5.593410434e-04f, 5.556363342e-04f, 5.519308571e-04f, 5.482246185e-04f, 5.445176250e-04f, 5.408098829e-04f, 5.371013987e-04f,
+5.333921789e-04f, 5.296822299e-04f, 5.259715581e-04f, 5.222601700e-04f, 5.185480721e-04f, 5.148352708e-04f, 5.111217726e-04f, 5.074075838e-04f, 5.036927110e-04f, 4.999771607e-04f,
+4.962609392e-04f, 4.925440531e-04f, 4.888265088e-04f, 4.851083127e-04f, 4.813894714e-04f, 4.776699912e-04f, 4.739498787e-04f, 4.702291402e-04f, 4.665077824e-04f, 4.627858115e-04f,
+4.590632342e-04f, 4.553400568e-04f, 4.516162858e-04f, 4.478919278e-04f, 4.441669891e-04f, 4.404414762e-04f, 4.367153956e-04f, 4.329887538e-04f, 4.292615572e-04f, 4.255338123e-04f,
+4.218055256e-04f, 4.180767035e-04f, 4.143473526e-04f, 4.106174793e-04f, 4.068870900e-04f, 4.031561913e-04f, 3.994247895e-04f, 3.956928913e-04f, 3.919605031e-04f, 3.882276313e-04f,
+3.844942824e-04f, 3.807604629e-04f, 3.770261793e-04f, 3.732914380e-04f, 3.695562456e-04f, 3.658206084e-04f, 3.620845331e-04f, 3.583480260e-04f, 3.546110937e-04f, 3.508737427e-04f,
+3.471359793e-04f, 3.433978101e-04f, 3.396592416e-04f, 3.359202803e-04f, 3.321809326e-04f, 3.284412050e-04f, 3.247011041e-04f, 3.209606362e-04f, 3.172198079e-04f, 3.134786256e-04f,
+3.097370959e-04f, 3.059952253e-04f, 3.022530201e-04f, 2.985104869e-04f, 2.947676323e-04f, 2.910244625e-04f, 2.872809843e-04f, 2.835372040e-04f, 2.797931281e-04f, 2.760487631e-04f,
+2.723041155e-04f, 2.685591918e-04f, 2.648139985e-04f, 2.610685420e-04f, 2.573228289e-04f, 2.535768656e-04f, 2.498306586e-04f, 2.460842145e-04f, 2.423375396e-04f, 2.385906405e-04f,
+2.348435237e-04f, 2.310961957e-04f, 2.273486628e-04f, 2.236009318e-04f, 2.198530089e-04f, 2.161049008e-04f, 2.123566138e-04f, 2.086081545e-04f, 2.048595294e-04f, 2.011107450e-04f,
+1.973618077e-04f, 1.936127241e-04f, 1.898635005e-04f, 1.861141436e-04f, 1.823646597e-04f, 1.786150555e-04f, 1.748653373e-04f, 1.711155116e-04f, 1.673655851e-04f, 1.636155640e-04f,
+1.598654549e-04f, 1.561152644e-04f, 1.523649988e-04f, 1.486146647e-04f, 1.448642686e-04f, 1.411138169e-04f, 1.373633161e-04f, 1.336127727e-04f, 1.298621933e-04f, 1.261115842e-04f,
+1.223609519e-04f, 1.186103031e-04f, 1.148596440e-04f, 1.111089813e-04f, 1.073583213e-04f, 1.036076707e-04f, 9.985703578e-05f, 9.610642312e-05f, 9.235583918e-05f, 8.860529044e-05f,
+8.485478338e-05f, 8.110432449e-05f, 7.735392025e-05f, 7.360357712e-05f, 6.985330159e-05f, 6.610310014e-05f, 6.235297925e-05f, 5.860294540e-05f, 5.485300505e-05f, 5.110316469e-05f,
+4.735343079e-05f, 4.360380983e-05f, 3.985430828e-05f, 3.610493262e-05f, 3.235568931e-05f, 2.860658484e-05f, 2.485762568e-05f, 2.110881829e-05f, 1.736016915e-05f, 1.361168474e-05f,
+9.863371507e-06f, 6.115235937e-06f, 2.367284494e-06f, -1.380476354e-06f, -5.128040138e-06f, -8.875400392e-06f, -1.262255065e-05f, -1.636948445e-05f, -2.011619532e-05f, -2.386267680e-05f,
+-2.760892243e-05f, -3.135492574e-05f, -3.510068027e-05f, -3.884617957e-05f, -4.259141716e-05f, -4.633638660e-05f, -5.008108143e-05f, -5.382549517e-05f, -5.756962139e-05f, -6.131345362e-05f,
+-6.505698541e-05f, -6.880021030e-05f, -7.254312183e-05f, -7.628571357e-05f, -8.002797905e-05f, -8.376991182e-05f, -8.751150544e-05f, -9.125275345e-05f, -9.499364941e-05f, -9.873418687e-05f,
+-1.024743594e-04f, -1.062141605e-04f, -1.099535838e-04f, -1.136926228e-04f, -1.174312711e-04f, -1.211695222e-04f, -1.249073697e-04f, -1.286448072e-04f, -1.323818281e-04f, -1.361184262e-04f,
+-1.398545949e-04f, -1.435903279e-04f, -1.473256186e-04f, -1.510604606e-04f, -1.547948476e-04f, -1.585287730e-04f, -1.622622305e-04f, -1.659952136e-04f, -1.697277159e-04f, -1.734597310e-04f,
+-1.771912524e-04f, -1.809222738e-04f, -1.846527886e-04f, -1.883827906e-04f, -1.921122732e-04f, -1.958412300e-04f, -1.995696546e-04f, -2.032975407e-04f, -2.070248817e-04f, -2.107516714e-04f,
+-2.144779031e-04f, -2.182035707e-04f, -2.219286676e-04f, -2.256531874e-04f, -2.293771237e-04f, -2.331004702e-04f, -2.368232204e-04f, -2.405453679e-04f, -2.442669063e-04f, -2.479878292e-04f,
+-2.517081303e-04f, -2.554278030e-04f, -2.591468411e-04f, -2.628652381e-04f, -2.665829876e-04f, -2.703000833e-04f, -2.740165187e-04f, -2.777322875e-04f, -2.814473832e-04f, -2.851617995e-04f,
+-2.888755301e-04f, -2.925885684e-04f, -2.963009082e-04f, -3.000125431e-04f, -3.037234666e-04f, -3.074336725e-04f, -3.111431542e-04f, -3.148519055e-04f, -3.185599200e-04f, -3.222671914e-04f,
+-3.259737131e-04f, -3.296794789e-04f, -3.333844825e-04f, -3.370887174e-04f, -3.407921772e-04f, -3.444948557e-04f, -3.481967465e-04f, -3.518978432e-04f, -3.555981394e-04f, -3.592976288e-04f,
+-3.629963051e-04f, -3.666941619e-04f, -3.703911928e-04f, -3.740873915e-04f, -3.777827517e-04f, -3.814772670e-04f, -3.851709310e-04f, -3.888637375e-04f, -3.925556801e-04f, -3.962467524e-04f,
+-3.999369482e-04f, -4.036262610e-04f, -4.073146847e-04f, -4.110022127e-04f, -4.146888389e-04f, -4.183745568e-04f, -4.220593602e-04f, -4.257432427e-04f, -4.294261981e-04f, -4.331082199e-04f,
+-4.367893020e-04f, -4.404694379e-04f, -4.441486214e-04f, -4.478268461e-04f, -4.515041057e-04f, -4.551803941e-04f, -4.588557047e-04f, -4.625300314e-04f, -4.662033678e-04f, -4.698757076e-04f,
+-4.735470446e-04f, -4.772173725e-04f, -4.808866849e-04f, -4.845549755e-04f, -4.882222382e-04f, -4.918884665e-04f, -4.955536543e-04f, -4.992177952e-04f, -5.028808829e-04f, -5.065429113e-04f,
+-5.102038739e-04f, -5.138637646e-04f, -5.175225770e-04f, -5.211803049e-04f, -5.248369421e-04f, -5.284924822e-04f, -5.321469191e-04f, -5.358002464e-04f, -5.394524578e-04f, -5.431035472e-04f,
+-5.467535083e-04f, -5.504023349e-04f, -5.540500206e-04f, -5.576965592e-04f, -5.613419446e-04f, -5.649861704e-04f, -5.686292305e-04f, -5.722711185e-04f, -5.759118283e-04f, -5.795513536e-04f,
+-5.831896882e-04f, -5.868268258e-04f, -5.904627603e-04f, -5.940974855e-04f, -5.977309950e-04f, -6.013632827e-04f, -6.049943424e-04f, -6.086241678e-04f, -6.122527528e-04f, -6.158800911e-04f,
+-6.195061766e-04f, -6.231310030e-04f, -6.267545641e-04f, -6.303768538e-04f, -6.339978658e-04f, -6.376175940e-04f, -6.412360321e-04f, -6.448531740e-04f, -6.484690135e-04f, -6.520835445e-04f,
+-6.556967606e-04f, -6.593086558e-04f, -6.629192239e-04f, -6.665284587e-04f, -6.701363540e-04f, -6.737429038e-04f, -6.773481017e-04f, -6.809519417e-04f, -6.845544175e-04f, -6.881555231e-04f,
+-6.917552523e-04f, -6.953535990e-04f, -6.989505569e-04f, -7.025461199e-04f, -7.061402820e-04f, -7.097330369e-04f, -7.133243786e-04f, -7.169143008e-04f, -7.205027975e-04f, -7.240898626e-04f,
+-7.276754898e-04f, -7.312596731e-04f, -7.348424064e-04f, -7.384236836e-04f, -7.420034985e-04f, -7.455818450e-04f, -7.491587170e-04f, -7.527341085e-04f, -7.563080132e-04f, -7.598804252e-04f,
+-7.634513383e-04f, -7.670207463e-04f, -7.705886434e-04f, -7.741550232e-04f, -7.777198798e-04f, -7.812832071e-04f, -7.848449990e-04f, -7.884052494e-04f, -7.919639522e-04f, -7.955211014e-04f,
+-7.990766910e-04f, -8.026307147e-04f, -8.061831667e-04f, -8.097340408e-04f, -8.132833309e-04f, -8.168310310e-04f, -8.203771352e-04f, -8.239216372e-04f, -8.274645311e-04f, -8.310058109e-04f,
+-8.345454705e-04f, -8.380835038e-04f, -8.416199049e-04f, -8.451546677e-04f, -8.486877861e-04f, -8.522192543e-04f, -8.557490661e-04f, -8.592772155e-04f, -8.628036965e-04f, -8.663285032e-04f,
+-8.698516295e-04f, -8.733730694e-04f, -8.768928168e-04f, -8.804108659e-04f, -8.839272107e-04f, -8.874418450e-04f, -8.909547630e-04f, -8.944659587e-04f, -8.979754261e-04f, -9.014831591e-04f,
+-9.049891519e-04f, -9.084933985e-04f, -9.119958929e-04f, -9.154966291e-04f, -9.189956012e-04f, -9.224928033e-04f, -9.259882293e-04f, -9.294818733e-04f, -9.329737294e-04f, -9.364637917e-04f,
+-9.399520541e-04f, -9.434385108e-04f, -9.469231559e-04f, -9.504059833e-04f, -9.538869872e-04f, -9.573661617e-04f, -9.608435008e-04f, -9.643189987e-04f, -9.677926493e-04f, -9.712644469e-04f,
+-9.747343855e-04f, -9.782024591e-04f, -9.816686620e-04f, -9.851329882e-04f, -9.885954318e-04f, -9.920559869e-04f, -9.955146477e-04f, -9.989714083e-04f, -1.002426263e-03f, -1.005879205e-03f,
+-1.009330230e-03f, -1.012779331e-03f, -1.016226502e-03f, -1.019671738e-03f, -1.023115033e-03f, -1.026556380e-03f, -1.029995775e-03f, -1.033433211e-03f, -1.036868682e-03f, -1.040302182e-03f,
+-1.043733706e-03f, -1.047163248e-03f, -1.050590803e-03f, -1.054016363e-03f, -1.057439924e-03f, -1.060861479e-03f, -1.064281023e-03f, -1.067698550e-03f, -1.071114054e-03f, -1.074527529e-03f,
+-1.077938970e-03f, -1.081348371e-03f, -1.084755726e-03f, -1.088161029e-03f, -1.091564274e-03f, -1.094965457e-03f, -1.098364570e-03f, -1.101761608e-03f, -1.105156565e-03f, -1.108549436e-03f,
+-1.111940215e-03f, -1.115328896e-03f, -1.118715473e-03f, -1.122099941e-03f, -1.125482293e-03f, -1.128862525e-03f, -1.132240630e-03f, -1.135616603e-03f, -1.138990438e-03f, -1.142362129e-03f,
+-1.145731670e-03f, -1.149099057e-03f, -1.152464282e-03f, -1.155827341e-03f, -1.159188227e-03f, -1.162546935e-03f, -1.165903460e-03f, -1.169257795e-03f, -1.172609935e-03f, -1.175959874e-03f,
+-1.179307607e-03f, -1.182653128e-03f, -1.185996431e-03f, -1.189337511e-03f, -1.192676361e-03f, -1.196012977e-03f, -1.199347352e-03f, -1.202679481e-03f, -1.206009359e-03f, -1.209336979e-03f,
+-1.212662336e-03f, -1.215985425e-03f, -1.219306239e-03f, -1.222624774e-03f, -1.225941023e-03f, -1.229254981e-03f, -1.232566642e-03f, -1.235876001e-03f, -1.239183052e-03f, -1.242487790e-03f,
+-1.245790209e-03f, -1.249090303e-03f, -1.252388066e-03f, -1.255683494e-03f, -1.258976581e-03f, -1.262267320e-03f, -1.265555707e-03f, -1.268841736e-03f, -1.272125401e-03f, -1.275406697e-03f,
+-1.278685618e-03f, -1.281962159e-03f, -1.285236314e-03f, -1.288508078e-03f, -1.291777445e-03f, -1.295044410e-03f, -1.298308966e-03f, -1.301571109e-03f, -1.304830833e-03f, -1.308088133e-03f,
+-1.311343002e-03f, -1.314595436e-03f, -1.317845429e-03f, -1.321092976e-03f, -1.324338071e-03f, -1.327580708e-03f, -1.330820882e-03f, -1.334058588e-03f, -1.337293820e-03f, -1.340526573e-03f,
+-1.343756841e-03f, -1.346984619e-03f, -1.350209901e-03f, -1.353432682e-03f, -1.356652956e-03f, -1.359870719e-03f, -1.363085964e-03f, -1.366298686e-03f, -1.369508880e-03f, -1.372716540e-03f,
+-1.375921661e-03f, -1.379124238e-03f, -1.382324264e-03f, -1.385521736e-03f, -1.388716646e-03f, -1.391908991e-03f, -1.395098764e-03f, -1.398285960e-03f, -1.401470574e-03f, -1.404652600e-03f,
+-1.407832034e-03f, -1.411008869e-03f, -1.414183100e-03f, -1.417354722e-03f, -1.420523730e-03f, -1.423690118e-03f, -1.426853882e-03f, -1.430015014e-03f, -1.433173511e-03f, -1.436329367e-03f,
+-1.439482577e-03f, -1.442633135e-03f, -1.445781036e-03f, -1.448926275e-03f, -1.452068846e-03f, -1.455208744e-03f, -1.458345964e-03f, -1.461480501e-03f, -1.464612349e-03f, -1.467741503e-03f,
+-1.470867958e-03f, -1.473991708e-03f, -1.477112749e-03f, -1.480231074e-03f, -1.483346679e-03f, -1.486459559e-03f, -1.489569708e-03f, -1.492677121e-03f, -1.495781792e-03f, -1.498883717e-03f,
+-1.501982891e-03f, -1.505079308e-03f, -1.508172962e-03f, -1.511263849e-03f, -1.514351964e-03f, -1.517437301e-03f, -1.520519856e-03f, -1.523599622e-03f, -1.526676595e-03f, -1.529750769e-03f,
+-1.532822140e-03f, -1.535890703e-03f, -1.538956451e-03f, -1.542019380e-03f, -1.545079485e-03f, -1.548136761e-03f, -1.551191203e-03f, -1.554242804e-03f, -1.557291561e-03f, -1.560337469e-03f,
+-1.563380521e-03f, -1.566420713e-03f, -1.569458040e-03f, -1.572492497e-03f, -1.575524078e-03f, -1.578552779e-03f, -1.581578594e-03f, -1.584601519e-03f, -1.587621548e-03f, -1.590638676e-03f,
+-1.593652898e-03f, -1.596664210e-03f, -1.599672605e-03f, -1.602678080e-03f, -1.605680628e-03f, -1.608680245e-03f, -1.611676927e-03f, -1.614670667e-03f, -1.617661461e-03f, -1.620649304e-03f,
+-1.623634190e-03f, -1.626616116e-03f, -1.629595075e-03f, -1.632571063e-03f, -1.635544075e-03f, -1.638514106e-03f, -1.641481151e-03f, -1.644445204e-03f, -1.647406262e-03f, -1.650364318e-03f,
+-1.653319369e-03f, -1.656271408e-03f, -1.659220432e-03f, -1.662166434e-03f, -1.665109411e-03f, -1.668049358e-03f, -1.670986269e-03f, -1.673920139e-03f, -1.676850964e-03f, -1.679778738e-03f,
+-1.682703457e-03f, -1.685625116e-03f, -1.688543710e-03f, -1.691459234e-03f, -1.694371683e-03f, -1.697281053e-03f, -1.700187338e-03f, -1.703090534e-03f, -1.705990635e-03f, -1.708887637e-03f,
+-1.711781536e-03f, -1.714672325e-03f, -1.717560001e-03f, -1.720444558e-03f, -1.723325993e-03f, -1.726204299e-03f, -1.729079472e-03f, -1.731951507e-03f, -1.734820400e-03f, -1.737686145e-03f,
+-1.740548739e-03f, -1.743408175e-03f, -1.746264450e-03f, -1.749117559e-03f, -1.751967496e-03f, -1.754814257e-03f, -1.757657838e-03f, -1.760498233e-03f, -1.763335437e-03f, -1.766169447e-03f,
+-1.769000258e-03f, -1.771827863e-03f, -1.774652260e-03f, -1.777473443e-03f, -1.780291407e-03f, -1.783106148e-03f, -1.785917661e-03f, -1.788725942e-03f, -1.791530985e-03f, -1.794332786e-03f,
+-1.797131340e-03f, -1.799926643e-03f, -1.802718690e-03f, -1.805507476e-03f, -1.808292997e-03f, -1.811075249e-03f, -1.813854225e-03f, -1.816629922e-03f, -1.819402336e-03f, -1.822171460e-03f,
+-1.824937292e-03f, -1.827699826e-03f, -1.830459058e-03f, -1.833214983e-03f, -1.835967596e-03f, -1.838716893e-03f, -1.841462870e-03f, -1.844205521e-03f, -1.846944843e-03f, -1.849680830e-03f,
+-1.852413478e-03f, -1.855142783e-03f, -1.857868740e-03f, -1.860591344e-03f, -1.863310591e-03f, -1.866026477e-03f, -1.868738996e-03f, -1.871448145e-03f, -1.874153919e-03f, -1.876856313e-03f,
+-1.879555323e-03f, -1.882250944e-03f, -1.884943172e-03f, -1.887632003e-03f, -1.890317431e-03f, -1.892999453e-03f, -1.895678064e-03f, -1.898353260e-03f, -1.901025035e-03f, -1.903693387e-03f,
+-1.906358309e-03f, -1.909019799e-03f, -1.911677851e-03f, -1.914332460e-03f, -1.916983624e-03f, -1.919631336e-03f, -1.922275594e-03f, -1.924916391e-03f, -1.927553725e-03f, -1.930187591e-03f,
+-1.932817983e-03f, -1.935444899e-03f, -1.938068333e-03f, -1.940688281e-03f, -1.943304739e-03f, -1.945917702e-03f, -1.948527167e-03f, -1.951133129e-03f, -1.953735583e-03f, -1.956334525e-03f,
+-1.958929951e-03f, -1.961521856e-03f, -1.964110237e-03f, -1.966695089e-03f, -1.969276408e-03f, -1.971854189e-03f, -1.974428428e-03f, -1.976999121e-03f, -1.979566264e-03f, -1.982129852e-03f,
+-1.984689881e-03f, -1.987246347e-03f, -1.989799246e-03f, -1.992348573e-03f, -1.994894325e-03f, -1.997436496e-03f, -1.999975084e-03f, -2.002510083e-03f, -2.005041489e-03f, -2.007569298e-03f,
+-2.010093507e-03f, -2.012614110e-03f, -2.015131104e-03f, -2.017644485e-03f, -2.020154248e-03f, -2.022660389e-03f, -2.025162904e-03f, -2.027661789e-03f, -2.030157040e-03f, -2.032648653e-03f,
+-2.035136623e-03f, -2.037620947e-03f, -2.040101620e-03f, -2.042578638e-03f, -2.045051998e-03f, -2.047521694e-03f, -2.049987724e-03f, -2.052450082e-03f, -2.054908766e-03f, -2.057363770e-03f,
+-2.059815091e-03f, -2.062262724e-03f, -2.064706667e-03f, -2.067146914e-03f, -2.069583461e-03f, -2.072016305e-03f, -2.074445442e-03f, -2.076870868e-03f, -2.079292577e-03f, -2.081710568e-03f,
+-2.084124835e-03f, -2.086535375e-03f, -2.088942183e-03f, -2.091345256e-03f, -2.093744590e-03f, -2.096140181e-03f, -2.098532024e-03f, -2.100920117e-03f, -2.103304454e-03f, -2.105685032e-03f,
+-2.108061848e-03f, -2.110434896e-03f, -2.112804174e-03f, -2.115169678e-03f, -2.117531403e-03f, -2.119889345e-03f, -2.122243501e-03f, -2.124593868e-03f, -2.126940440e-03f, -2.129283214e-03f,
+-2.131622187e-03f, -2.133957354e-03f, -2.136288711e-03f, -2.138616256e-03f, -2.140939983e-03f, -2.143259890e-03f, -2.145575972e-03f, -2.147888225e-03f, -2.150196646e-03f, -2.152501231e-03f,
+-2.154801976e-03f, -2.157098878e-03f, -2.159391932e-03f, -2.161681135e-03f, -2.163966484e-03f, -2.166247973e-03f, -2.168525600e-03f, -2.170799361e-03f, -2.173069252e-03f, -2.175335270e-03f,
+-2.177597410e-03f, -2.179855670e-03f, -2.182110044e-03f, -2.184360530e-03f, -2.186607124e-03f, -2.188849823e-03f, -2.191088621e-03f, -2.193323517e-03f, -2.195554506e-03f, -2.197781585e-03f,
+-2.200004749e-03f, -2.202223996e-03f, -2.204439322e-03f, -2.206650722e-03f, -2.208858194e-03f, -2.211061734e-03f, -2.213261338e-03f, -2.215457002e-03f, -2.217648724e-03f, -2.219836499e-03f,
+-2.222020324e-03f, -2.224200195e-03f, -2.226376109e-03f, -2.228548062e-03f, -2.230716051e-03f, -2.232880071e-03f, -2.235040121e-03f, -2.237196195e-03f, -2.239348291e-03f, -2.241496405e-03f,
+-2.243640533e-03f, -2.245780673e-03f, -2.247916820e-03f, -2.250048970e-03f, -2.252177122e-03f, -2.254301270e-03f, -2.256421413e-03f, -2.258537545e-03f, -2.260649664e-03f, -2.262757766e-03f,
+-2.264861848e-03f, -2.266961907e-03f, -2.269057938e-03f, -2.271149939e-03f, -2.273237906e-03f, -2.275321836e-03f, -2.277401726e-03f, -2.279477571e-03f, -2.281549369e-03f, -2.283617116e-03f,
+-2.285680809e-03f, -2.287740445e-03f, -2.289796019e-03f, -2.291847530e-03f, -2.293894973e-03f, -2.295938345e-03f, -2.297977643e-03f, -2.300012864e-03f, -2.302044004e-03f, -2.304071060e-03f,
+-2.306094028e-03f, -2.308112906e-03f, -2.310127690e-03f, -2.312138377e-03f, -2.314144963e-03f, -2.316147445e-03f, -2.318145821e-03f, -2.320140087e-03f, -2.322130239e-03f, -2.324116274e-03f,
+-2.326098189e-03f, -2.328075982e-03f, -2.330049648e-03f, -2.332019185e-03f, -2.333984589e-03f, -2.335945857e-03f, -2.337902986e-03f, -2.339855973e-03f, -2.341804815e-03f, -2.343749508e-03f,
+-2.345690049e-03f, -2.347626436e-03f, -2.349558665e-03f, -2.351486733e-03f, -2.353410636e-03f, -2.355330373e-03f, -2.357245939e-03f, -2.359157331e-03f, -2.361064547e-03f, -2.362967583e-03f,
+-2.364866437e-03f, -2.366761105e-03f, -2.368651584e-03f, -2.370537872e-03f, -2.372419964e-03f, -2.374297858e-03f, -2.376171552e-03f, -2.378041041e-03f, -2.379906324e-03f, -2.381767396e-03f,
+-2.383624256e-03f, -2.385476899e-03f, -2.387325324e-03f, -2.389169527e-03f, -2.391009504e-03f, -2.392845254e-03f, -2.394676773e-03f, -2.396504058e-03f, -2.398327107e-03f, -2.400145916e-03f,
+-2.401960482e-03f, -2.403770803e-03f, -2.405576875e-03f, -2.407378697e-03f, -2.409176264e-03f, -2.410969574e-03f, -2.412758624e-03f, -2.414543411e-03f, -2.416323932e-03f, -2.418100185e-03f,
+-2.419872167e-03f, -2.421639874e-03f, -2.423403305e-03f, -2.425162455e-03f, -2.426917323e-03f, -2.428667905e-03f, -2.430414199e-03f, -2.432156202e-03f, -2.433893911e-03f, -2.435627324e-03f,
+-2.437356437e-03f, -2.439081247e-03f, -2.440801753e-03f, -2.442517951e-03f, -2.444229839e-03f, -2.445937413e-03f, -2.447640672e-03f, -2.449339612e-03f, -2.451034230e-03f, -2.452724525e-03f,
+-2.454410493e-03f, -2.456092131e-03f, -2.457769437e-03f, -2.459442409e-03f, -2.461111043e-03f, -2.462775337e-03f, -2.464435288e-03f, -2.466090893e-03f, -2.467742151e-03f, -2.469389058e-03f,
+-2.471031612e-03f, -2.472669810e-03f, -2.474303649e-03f, -2.475933128e-03f, -2.477558242e-03f, -2.479178991e-03f, -2.480795370e-03f, -2.482407378e-03f, -2.484015012e-03f, -2.485618270e-03f,
+-2.487217148e-03f, -2.488811645e-03f, -2.490401758e-03f, -2.491987484e-03f, -2.493568821e-03f, -2.495145767e-03f, -2.496718318e-03f, -2.498286473e-03f, -2.499850228e-03f, -2.501409582e-03f,
+-2.502964532e-03f, -2.504515075e-03f, -2.506061209e-03f, -2.507602932e-03f, -2.509140241e-03f, -2.510673134e-03f, -2.512201608e-03f, -2.513725661e-03f, -2.515245291e-03f, -2.516760494e-03f,
+-2.518271270e-03f, -2.519777614e-03f, -2.521279526e-03f, -2.522777002e-03f, -2.524270040e-03f, -2.525758638e-03f, -2.527242794e-03f, -2.528722505e-03f, -2.530197769e-03f, -2.531668583e-03f,
+-2.533134946e-03f, -2.534596855e-03f, -2.536054307e-03f, -2.537507301e-03f, -2.538955833e-03f, -2.540399903e-03f, -2.541839507e-03f, -2.543274643e-03f, -2.544705310e-03f, -2.546131504e-03f,
+-2.547553224e-03f, -2.548970467e-03f, -2.550383232e-03f, -2.551791515e-03f, -2.553195315e-03f, -2.554594629e-03f, -2.555989456e-03f, -2.557379793e-03f, -2.558765638e-03f, -2.560146989e-03f,
+-2.561523844e-03f, -2.562896200e-03f, -2.564264056e-03f, -2.565627408e-03f, -2.566986256e-03f, -2.568340597e-03f, -2.569690429e-03f, -2.571035750e-03f, -2.572376558e-03f, -2.573712850e-03f,
+-2.575044625e-03f, -2.576371880e-03f, -2.577694614e-03f, -2.579012824e-03f, -2.580326509e-03f, -2.581635666e-03f, -2.582940293e-03f, -2.584240389e-03f, -2.585535950e-03f, -2.586826977e-03f,
+-2.588113465e-03f, -2.589395414e-03f, -2.590672821e-03f, -2.591945684e-03f, -2.593214002e-03f, -2.594477772e-03f, -2.595736993e-03f, -2.596991662e-03f, -2.598241778e-03f, -2.599487338e-03f,
+-2.600728341e-03f, -2.601964786e-03f, -2.603196669e-03f, -2.604423989e-03f, -2.605646744e-03f, -2.606864933e-03f, -2.608078553e-03f, -2.609287603e-03f, -2.610492080e-03f, -2.611691984e-03f,
+-2.612887311e-03f, -2.614078061e-03f, -2.615264231e-03f, -2.616445819e-03f, -2.617622825e-03f, -2.618795245e-03f, -2.619963079e-03f, -2.621126324e-03f, -2.622284979e-03f, -2.623439041e-03f,
+-2.624588510e-03f, -2.625733383e-03f, -2.626873659e-03f, -2.628009336e-03f, -2.629140412e-03f, -2.630266886e-03f, -2.631388755e-03f, -2.632506018e-03f, -2.633618674e-03f, -2.634726720e-03f,
+-2.635830156e-03f, -2.636928979e-03f, -2.638023187e-03f, -2.639112780e-03f, -2.640197755e-03f, -2.641278111e-03f, -2.642353846e-03f, -2.643424958e-03f, -2.644491446e-03f, -2.645553309e-03f,
+-2.646610545e-03f, -2.647663151e-03f, -2.648711127e-03f, -2.649754471e-03f, -2.650793182e-03f, -2.651827257e-03f, -2.652856696e-03f, -2.653881497e-03f, -2.654901658e-03f, -2.655917177e-03f,
+-2.656928054e-03f, -2.657934287e-03f, -2.658935873e-03f, -2.659932813e-03f, -2.660925104e-03f, -2.661912744e-03f, -2.662895733e-03f, -2.663874069e-03f, -2.664847750e-03f, -2.665816775e-03f,
+-2.666781143e-03f, -2.667740851e-03f, -2.668695900e-03f, -2.669646287e-03f, -2.670592010e-03f, -2.671533070e-03f, -2.672469463e-03f, -2.673401189e-03f, -2.674328246e-03f, -2.675250634e-03f,
+-2.676168350e-03f, -2.677081393e-03f, -2.677989763e-03f, -2.678893457e-03f, -2.679792474e-03f, -2.680686814e-03f, -2.681576474e-03f, -2.682461454e-03f, -2.683341751e-03f, -2.684217366e-03f,
+-2.685088296e-03f, -2.685954541e-03f, -2.686816099e-03f, -2.687672968e-03f, -2.688525149e-03f, -2.689372638e-03f, -2.690215436e-03f, -2.691053541e-03f, -2.691886951e-03f, -2.692715666e-03f,
+-2.693539684e-03f, -2.694359005e-03f, -2.695173626e-03f, -2.695983548e-03f, -2.696788768e-03f, -2.697589286e-03f, -2.698385100e-03f, -2.699176209e-03f, -2.699962613e-03f, -2.700744309e-03f,
+-2.701521298e-03f, -2.702293577e-03f, -2.703061146e-03f, -2.703824004e-03f, -2.704582149e-03f, -2.705335581e-03f, -2.706084298e-03f, -2.706828300e-03f, -2.707567585e-03f, -2.708302153e-03f,
+-2.709032002e-03f, -2.709757131e-03f, -2.710477540e-03f, -2.711193226e-03f, -2.711904190e-03f, -2.712610431e-03f, -2.713311947e-03f, -2.714008737e-03f, -2.714700801e-03f, -2.715388137e-03f,
+-2.716070745e-03f, -2.716748623e-03f, -2.717421771e-03f, -2.718090188e-03f, -2.718753872e-03f, -2.719412824e-03f, -2.720067042e-03f, -2.720716524e-03f, -2.721361272e-03f, -2.722001282e-03f,
+-2.722636556e-03f, -2.723267090e-03f, -2.723892886e-03f, -2.724513942e-03f, -2.725130257e-03f, -2.725741831e-03f, -2.726348662e-03f, -2.726950750e-03f, -2.727548094e-03f, -2.728140693e-03f,
+-2.728728547e-03f, -2.729311654e-03f, -2.729890014e-03f, -2.730463627e-03f, -2.731032490e-03f, -2.731596605e-03f, -2.732155969e-03f, -2.732710583e-03f, -2.733260445e-03f, -2.733805555e-03f,
+-2.734345912e-03f, -2.734881516e-03f, -2.735412365e-03f, -2.735938460e-03f, -2.736459799e-03f, -2.736976381e-03f, -2.737488207e-03f, -2.737995275e-03f, -2.738497586e-03f, -2.738995137e-03f,
+-2.739487929e-03f, -2.739975961e-03f, -2.740459233e-03f, -2.740937743e-03f, -2.741411492e-03f, -2.741880478e-03f, -2.742344702e-03f, -2.742804162e-03f, -2.743258858e-03f, -2.743708790e-03f,
+-2.744153956e-03f, -2.744594358e-03f, -2.745029993e-03f, -2.745460861e-03f, -2.745886963e-03f, -2.746308296e-03f, -2.746724862e-03f, -2.747136660e-03f, -2.747543688e-03f, -2.747945947e-03f,
+-2.748343436e-03f, -2.748736155e-03f, -2.749124103e-03f, -2.749507280e-03f, -2.749885685e-03f, -2.750259319e-03f, -2.750628180e-03f, -2.750992268e-03f, -2.751351583e-03f, -2.751706125e-03f,
+-2.752055892e-03f, -2.752400886e-03f, -2.752741105e-03f, -2.753076549e-03f, -2.753407218e-03f, -2.753733111e-03f, -2.754054228e-03f, -2.754370569e-03f, -2.754682134e-03f, -2.754988922e-03f,
+-2.755290933e-03f, -2.755588166e-03f, -2.755880622e-03f, -2.756168300e-03f, -2.756451200e-03f, -2.756729322e-03f, -2.757002665e-03f, -2.757271229e-03f, -2.757535014e-03f, -2.757794020e-03f,
+-2.758048247e-03f, -2.758297694e-03f, -2.758542361e-03f, -2.758782248e-03f, -2.759017355e-03f, -2.759247682e-03f, -2.759473229e-03f, -2.759693995e-03f, -2.759909980e-03f, -2.760121184e-03f,
+-2.760327607e-03f, -2.760529250e-03f, -2.760726111e-03f, -2.760918191e-03f, -2.761105489e-03f, -2.761288007e-03f, -2.761465742e-03f, -2.761638697e-03f, -2.761806869e-03f, -2.761970260e-03f,
+-2.762128870e-03f, -2.762282697e-03f, -2.762431743e-03f, -2.762576008e-03f, -2.762715490e-03f, -2.762850191e-03f, -2.762980110e-03f, -2.763105248e-03f, -2.763225604e-03f, -2.763341178e-03f,
+-2.763451971e-03f, -2.763557983e-03f, -2.763659213e-03f, -2.763755662e-03f, -2.763847329e-03f, -2.763934215e-03f, -2.764016321e-03f, -2.764093645e-03f, -2.764166189e-03f, -2.764233951e-03f,
+-2.764296934e-03f, -2.764355135e-03f, -2.764408557e-03f, -2.764457198e-03f, -2.764501060e-03f, -2.764540141e-03f, -2.764574443e-03f, -2.764603966e-03f, -2.764628709e-03f, -2.764648674e-03f,
+-2.764663859e-03f, -2.764674266e-03f, -2.764679895e-03f, -2.764680746e-03f, -2.764676818e-03f, -2.764668113e-03f, -2.764654631e-03f, -2.764636372e-03f, -2.764613336e-03f, -2.764585523e-03f,
+-2.764552935e-03f, -2.764515570e-03f, -2.764473430e-03f, -2.764426514e-03f, -2.764374824e-03f, -2.764318359e-03f, -2.764257120e-03f, -2.764191107e-03f, -2.764120320e-03f, -2.764044760e-03f,
+-2.763964428e-03f, -2.763879323e-03f, -2.763789446e-03f, -2.763694797e-03f, -2.763595377e-03f, -2.763491187e-03f, -2.763382226e-03f, -2.763268496e-03f, -2.763149996e-03f, -2.763026727e-03f,
+-2.762898689e-03f, -2.762765883e-03f, -2.762628310e-03f, -2.762485970e-03f, -2.762338863e-03f, -2.762186990e-03f, -2.762030351e-03f, -2.761868948e-03f, -2.761702780e-03f, -2.761531847e-03f,
+-2.761356152e-03f, -2.761175693e-03f, -2.760990472e-03f, -2.760800490e-03f, -2.760605746e-03f, -2.760406241e-03f, -2.760201977e-03f, -2.759992953e-03f, -2.759779170e-03f, -2.759560630e-03f,
+-2.759337331e-03f, -2.759109276e-03f, -2.758876464e-03f, -2.758638897e-03f, -2.758396575e-03f, -2.758149498e-03f, -2.757897668e-03f, -2.757641085e-03f, -2.757379749e-03f, -2.757113662e-03f,
+-2.756842824e-03f, -2.756567236e-03f, -2.756286899e-03f, -2.756001813e-03f, -2.755711979e-03f, -2.755417397e-03f, -2.755118070e-03f, -2.754813996e-03f, -2.754505178e-03f, -2.754191616e-03f,
+-2.753873310e-03f, -2.753550262e-03f, -2.753222472e-03f, -2.752889941e-03f, -2.752552670e-03f, -2.752210660e-03f, -2.751863911e-03f, -2.751512425e-03f, -2.751156202e-03f, -2.750795244e-03f,
+-2.750429550e-03f, -2.750059122e-03f, -2.749683961e-03f, -2.749304067e-03f, -2.748919443e-03f, -2.748530087e-03f, -2.748136002e-03f, -2.747737189e-03f, -2.747333647e-03f, -2.746925379e-03f,
+-2.746512385e-03f, -2.746094667e-03f, -2.745672224e-03f, -2.745245058e-03f, -2.744813171e-03f, -2.744376562e-03f, -2.743935234e-03f, -2.743489186e-03f, -2.743038421e-03f, -2.742582939e-03f,
+-2.742122741e-03f, -2.741657828e-03f, -2.741188201e-03f, -2.740713862e-03f, -2.740234811e-03f, -2.739751049e-03f, -2.739262578e-03f, -2.738769399e-03f, -2.738271512e-03f, -2.737768919e-03f,
+-2.737261621e-03f, -2.736749619e-03f, -2.736232914e-03f, -2.735711507e-03f, -2.735185400e-03f, -2.734654594e-03f, -2.734119089e-03f, -2.733578887e-03f, -2.733033990e-03f, -2.732484397e-03f,
+-2.731930112e-03f, -2.731371133e-03f, -2.730807464e-03f, -2.730239105e-03f, -2.729666057e-03f, -2.729088322e-03f, -2.728505901e-03f, -2.727918795e-03f, -2.727327005e-03f, -2.726730533e-03f,
+-2.726129379e-03f, -2.725523546e-03f, -2.724913034e-03f, -2.724297845e-03f, -2.723677981e-03f, -2.723053441e-03f, -2.722424228e-03f, -2.721790344e-03f, -2.721151788e-03f, -2.720508564e-03f,
+-2.719860671e-03f, -2.719208112e-03f, -2.718550888e-03f, -2.717889000e-03f, -2.717222449e-03f, -2.716551238e-03f, -2.715875367e-03f, -2.715194837e-03f, -2.714509651e-03f, -2.713819810e-03f,
+-2.713125314e-03f, -2.712426167e-03f, -2.711722368e-03f, -2.711013919e-03f, -2.710300823e-03f, -2.709583080e-03f, -2.708860691e-03f, -2.708133659e-03f, -2.707401985e-03f, -2.706665670e-03f,
+-2.705924716e-03f, -2.705179125e-03f, -2.704428897e-03f, -2.703674035e-03f, -2.702914540e-03f, -2.702150413e-03f, -2.701381657e-03f, -2.700608272e-03f, -2.699830261e-03f, -2.699047624e-03f,
+-2.698260364e-03f, -2.697468482e-03f, -2.696671979e-03f, -2.695870858e-03f, -2.695065120e-03f, -2.694254766e-03f, -2.693439799e-03f, -2.692620219e-03f, -2.691796029e-03f, -2.690967229e-03f,
+-2.690133823e-03f, -2.689295811e-03f, -2.688453196e-03f, -2.687605978e-03f, -2.686754160e-03f, -2.685897743e-03f, -2.685036730e-03f, -2.684171121e-03f, -2.683300918e-03f, -2.682426124e-03f,
+-2.681546740e-03f, -2.680662767e-03f, -2.679774208e-03f, -2.678881064e-03f, -2.677983338e-03f, -2.677081030e-03f, -2.676174143e-03f, -2.675262678e-03f, -2.674346638e-03f, -2.673426024e-03f,
+-2.672500837e-03f, -2.671571081e-03f, -2.670636756e-03f, -2.669697864e-03f, -2.668754408e-03f, -2.667806389e-03f, -2.666853809e-03f, -2.665896670e-03f, -2.664934974e-03f, -2.663968723e-03f,
+-2.662997918e-03f, -2.662022562e-03f, -2.661042657e-03f, -2.660058204e-03f, -2.659069205e-03f, -2.658075662e-03f, -2.657077578e-03f, -2.656074954e-03f, -2.655067793e-03f, -2.654056095e-03f,
+-2.653039864e-03f, -2.652019100e-03f, -2.650993807e-03f, -2.649963986e-03f, -2.648929640e-03f, -2.647890769e-03f, -2.646847377e-03f, -2.645799465e-03f, -2.644747035e-03f, -2.643690090e-03f,
+-2.642628631e-03f, -2.641562661e-03f, -2.640492181e-03f, -2.639417194e-03f, -2.638337701e-03f, -2.637253706e-03f, -2.636165210e-03f, -2.635072214e-03f, -2.633974722e-03f, -2.632872735e-03f,
+-2.631766256e-03f, -2.630655286e-03f, -2.629539828e-03f, -2.628419884e-03f, -2.627295457e-03f, -2.626166547e-03f, -2.625033158e-03f, -2.623895292e-03f, -2.622752950e-03f, -2.621606136e-03f,
+-2.620454851e-03f, -2.619299097e-03f, -2.618138877e-03f, -2.616974194e-03f, -2.615805048e-03f, -2.614631443e-03f, -2.613453381e-03f, -2.612270863e-03f, -2.611083893e-03f, -2.609892473e-03f,
+-2.608696604e-03f, -2.607496290e-03f, -2.606291532e-03f, -2.605082333e-03f, -2.603868695e-03f, -2.602650621e-03f, -2.601428112e-03f, -2.600201171e-03f, -2.598969801e-03f, -2.597734004e-03f,
+-2.596493782e-03f, -2.595249137e-03f, -2.594000073e-03f, -2.592746590e-03f, -2.591488693e-03f, -2.590226383e-03f, -2.588959662e-03f, -2.587688533e-03f, -2.586412999e-03f, -2.585133061e-03f,
+-2.583848723e-03f, -2.582559986e-03f, -2.581266854e-03f, -2.579969329e-03f, -2.578667412e-03f, -2.577361107e-03f, -2.576050416e-03f, -2.574735342e-03f, -2.573415887e-03f, -2.572092054e-03f,
+-2.570763844e-03f, -2.569431261e-03f, -2.568094308e-03f, -2.566752986e-03f, -2.565407298e-03f, -2.564057248e-03f, -2.562702836e-03f, -2.561344067e-03f, -2.559980942e-03f, -2.558613464e-03f,
+-2.557241636e-03f, -2.555865460e-03f, -2.554484939e-03f, -2.553100076e-03f, -2.551710872e-03f, -2.550317332e-03f, -2.548919456e-03f, -2.547517249e-03f, -2.546110713e-03f, -2.544699850e-03f,
+-2.543284663e-03f, -2.541865154e-03f, -2.540441327e-03f, -2.539013184e-03f, -2.537580728e-03f, -2.536143961e-03f, -2.534702886e-03f, -2.533257506e-03f, -2.531807824e-03f, -2.530353842e-03f,
+-2.528895563e-03f, -2.527432990e-03f, -2.525966125e-03f, -2.524494972e-03f, -2.523019533e-03f, -2.521539811e-03f, -2.520055808e-03f, -2.518567528e-03f, -2.517074972e-03f, -2.515578145e-03f,
+-2.514077049e-03f, -2.512571686e-03f, -2.511062060e-03f, -2.509548174e-03f, -2.508030029e-03f, -2.506507629e-03f, -2.504980977e-03f, -2.503450076e-03f, -2.501914928e-03f, -2.500375537e-03f,
+-2.498831905e-03f, -2.497284036e-03f, -2.495731931e-03f, -2.494175595e-03f, -2.492615029e-03f, -2.491050237e-03f, -2.489481222e-03f, -2.487907987e-03f, -2.486330534e-03f, -2.484748867e-03f,
+-2.483162989e-03f, -2.481572902e-03f, -2.479978609e-03f, -2.478380114e-03f, -2.476777419e-03f, -2.475170528e-03f, -2.473559443e-03f, -2.471944167e-03f, -2.470324704e-03f, -2.468701057e-03f,
+-2.467073228e-03f, -2.465441220e-03f, -2.463805037e-03f, -2.462164681e-03f, -2.460520156e-03f, -2.458871465e-03f, -2.457218611e-03f, -2.455561596e-03f, -2.453900425e-03f, -2.452235099e-03f,
+-2.450565622e-03f, -2.448891998e-03f, -2.447214229e-03f, -2.445532318e-03f, -2.443846269e-03f, -2.442156085e-03f, -2.440461768e-03f, -2.438763323e-03f, -2.437060751e-03f, -2.435354057e-03f,
+-2.433643243e-03f, -2.431928313e-03f, -2.430209269e-03f, -2.428486116e-03f, -2.426758856e-03f, -2.425027492e-03f, -2.423292028e-03f, -2.421552466e-03f, -2.419808810e-03f, -2.418061064e-03f,
+-2.416309230e-03f, -2.414553312e-03f, -2.412793313e-03f, -2.411029236e-03f, -2.409261085e-03f, -2.407488862e-03f, -2.405712571e-03f, -2.403932216e-03f, -2.402147799e-03f, -2.400359324e-03f,
+-2.398566794e-03f, -2.396770213e-03f, -2.394969584e-03f, -2.393164910e-03f, -2.391356194e-03f, -2.389543440e-03f, -2.387726651e-03f, -2.385905831e-03f, -2.384080982e-03f, -2.382252109e-03f,
+-2.380419214e-03f, -2.378582302e-03f, -2.376741374e-03f, -2.374896436e-03f, -2.373047489e-03f, -2.371194538e-03f, -2.369337587e-03f, -2.367476637e-03f, -2.365611693e-03f, -2.363742759e-03f,
+-2.361869837e-03f, -2.359992931e-03f, -2.358112045e-03f, -2.356227182e-03f, -2.354338346e-03f, -2.352445539e-03f, -2.350548766e-03f, -2.348648030e-03f, -2.346743334e-03f, -2.344834682e-03f,
+-2.342922078e-03f, -2.341005524e-03f, -2.339085025e-03f, -2.337160584e-03f, -2.335232205e-03f, -2.333299890e-03f, -2.331363644e-03f, -2.329423471e-03f, -2.327479373e-03f, -2.325531354e-03f,
+-2.323579418e-03f, -2.321623569e-03f, -2.319663810e-03f, -2.317700144e-03f, -2.315732575e-03f, -2.313761107e-03f, -2.311785744e-03f, -2.309806489e-03f, -2.307823345e-03f, -2.305836317e-03f,
+-2.303845407e-03f, -2.301850620e-03f, -2.299851960e-03f, -2.297849429e-03f, -2.295843032e-03f, -2.293832772e-03f, -2.291818653e-03f, -2.289800678e-03f, -2.287778852e-03f, -2.285753177e-03f,
+-2.283723659e-03f, -2.281690299e-03f, -2.279653103e-03f, -2.277612074e-03f, -2.275567215e-03f, -2.273518530e-03f, -2.271466024e-03f, -2.269409699e-03f, -2.267349559e-03f, -2.265285609e-03f,
+-2.263217852e-03f, -2.261146292e-03f, -2.259070932e-03f, -2.256991777e-03f, -2.254908830e-03f, -2.252822095e-03f, -2.250731575e-03f, -2.248637275e-03f, -2.246539199e-03f, -2.244437350e-03f,
+-2.242331731e-03f, -2.240222348e-03f, -2.238109203e-03f, -2.235992301e-03f, -2.233871646e-03f, -2.231747240e-03f, -2.229619089e-03f, -2.227487196e-03f, -2.225351565e-03f, -2.223212200e-03f,
+-2.221069104e-03f, -2.218922282e-03f, -2.216771737e-03f, -2.214617474e-03f, -2.212459496e-03f, -2.210297807e-03f, -2.208132412e-03f, -2.205963313e-03f, -2.203790516e-03f, -2.201614023e-03f,
+-2.199433840e-03f, -2.197249970e-03f, -2.195062416e-03f, -2.192871183e-03f, -2.190676275e-03f, -2.188477696e-03f, -2.186275450e-03f, -2.184069541e-03f, -2.181859972e-03f, -2.179646748e-03f,
+-2.177429873e-03f, -2.175209351e-03f, -2.172985186e-03f, -2.170757382e-03f, -2.168525942e-03f, -2.166290872e-03f, -2.164052175e-03f, -2.161809855e-03f, -2.159563916e-03f, -2.157314362e-03f,
+-2.155061198e-03f, -2.152804427e-03f, -2.150544054e-03f, -2.148280082e-03f, -2.146012516e-03f, -2.143741360e-03f, -2.141466617e-03f, -2.139188293e-03f, -2.136906391e-03f, -2.134620915e-03f,
+-2.132331870e-03f, -2.130039259e-03f, -2.127743087e-03f, -2.125443358e-03f, -2.123140075e-03f, -2.120833245e-03f, -2.118522869e-03f, -2.116208953e-03f, -2.113891501e-03f, -2.111570516e-03f,
+-2.109246004e-03f, -2.106917968e-03f, -2.104586413e-03f, -2.102251343e-03f, -2.099912761e-03f, -2.097570673e-03f, -2.095225082e-03f, -2.092875993e-03f, -2.090523409e-03f, -2.088167336e-03f,
+-2.085807777e-03f, -2.083444737e-03f, -2.081078220e-03f, -2.078708230e-03f, -2.076334772e-03f, -2.073957849e-03f, -2.071577466e-03f, -2.069193628e-03f, -2.066806338e-03f, -2.064415602e-03f,
+-2.062021422e-03f, -2.059623805e-03f, -2.057222753e-03f, -2.054818271e-03f, -2.052410364e-03f, -2.049999036e-03f, -2.047584291e-03f, -2.045166134e-03f, -2.042744569e-03f, -2.040319600e-03f,
+-2.037891232e-03f, -2.035459468e-03f, -2.033024315e-03f, -2.030585775e-03f, -2.028143853e-03f, -2.025698555e-03f, -2.023249883e-03f, -2.020797842e-03f, -2.018342438e-03f, -2.015883673e-03f,
+-2.013421554e-03f, -2.010956084e-03f, -2.008487267e-03f, -2.006015108e-03f, -2.003539612e-03f, -2.001060782e-03f, -1.998578624e-03f, -1.996093142e-03f, -1.993604340e-03f, -1.991112223e-03f,
+-1.988616795e-03f, -1.986118061e-03f, -1.983616025e-03f, -1.981110692e-03f, -1.978602066e-03f, -1.976090152e-03f, -1.973574954e-03f, -1.971056477e-03f, -1.968534725e-03f, -1.966009703e-03f,
+-1.963481416e-03f, -1.960949867e-03f, -1.958415062e-03f, -1.955877005e-03f, -1.953335700e-03f, -1.950791153e-03f, -1.948243367e-03f, -1.945692348e-03f, -1.943138099e-03f, -1.940580626e-03f,
+-1.938019933e-03f, -1.935456024e-03f, -1.932888905e-03f, -1.930318579e-03f, -1.927745052e-03f, -1.925168328e-03f, -1.922588411e-03f, -1.920005307e-03f, -1.917419020e-03f, -1.914829554e-03f,
+-1.912236915e-03f, -1.909641106e-03f, -1.907042133e-03f, -1.904440000e-03f, -1.901834712e-03f, -1.899226273e-03f, -1.896614689e-03f, -1.893999963e-03f, -1.891382101e-03f, -1.888761107e-03f,
+-1.886136986e-03f, -1.883509742e-03f, -1.880879381e-03f, -1.878245907e-03f, -1.875609325e-03f, -1.872969639e-03f, -1.870326854e-03f, -1.867680975e-03f, -1.865032007e-03f, -1.862379954e-03f,
+-1.859724821e-03f, -1.857066613e-03f, -1.854405335e-03f, -1.851740991e-03f, -1.849073586e-03f, -1.846403125e-03f, -1.843729613e-03f, -1.841053054e-03f, -1.838373454e-03f, -1.835690817e-03f,
+-1.833005147e-03f, -1.830316450e-03f, -1.827624731e-03f, -1.824929994e-03f, -1.822232244e-03f, -1.819531485e-03f, -1.816827724e-03f, -1.814120964e-03f, -1.811411210e-03f, -1.808698468e-03f,
+-1.805982742e-03f, -1.803264037e-03f, -1.800542357e-03f, -1.797817708e-03f, -1.795090095e-03f, -1.792359522e-03f, -1.789625994e-03f, -1.786889516e-03f, -1.784150094e-03f, -1.781407731e-03f,
+-1.778662433e-03f, -1.775914205e-03f, -1.773163051e-03f, -1.770408977e-03f, -1.767651987e-03f, -1.764892086e-03f, -1.762129280e-03f, -1.759363573e-03f, -1.756594970e-03f, -1.753823476e-03f,
+-1.751049096e-03f, -1.748271835e-03f, -1.745491698e-03f, -1.742708690e-03f, -1.739922816e-03f, -1.737134080e-03f, -1.734342488e-03f, -1.731548045e-03f, -1.728750755e-03f, -1.725950624e-03f,
+-1.723147657e-03f, -1.720341858e-03f, -1.717533233e-03f, -1.714721787e-03f, -1.711907524e-03f, -1.709090450e-03f, -1.706270570e-03f, -1.703447888e-03f, -1.700622410e-03f, -1.697794141e-03f,
+-1.694963086e-03f, -1.692129250e-03f, -1.689292637e-03f, -1.686453253e-03f, -1.683611103e-03f, -1.680766193e-03f, -1.677918526e-03f, -1.675068109e-03f, -1.672214945e-03f, -1.669359041e-03f,
+-1.666500402e-03f, -1.663639032e-03f, -1.660774936e-03f, -1.657908120e-03f, -1.655038589e-03f, -1.652166348e-03f, -1.649291402e-03f, -1.646413755e-03f, -1.643533414e-03f, -1.640650383e-03f,
+-1.637764668e-03f, -1.634876273e-03f, -1.631985204e-03f, -1.629091466e-03f, -1.626195063e-03f, -1.623296002e-03f, -1.620394287e-03f, -1.617489923e-03f, -1.614582916e-03f, -1.611673271e-03f,
+-1.608760992e-03f, -1.605846086e-03f, -1.602928557e-03f, -1.600008410e-03f, -1.597085651e-03f, -1.594160284e-03f, -1.591232316e-03f, -1.588301751e-03f, -1.585368594e-03f, -1.582432851e-03f,
+-1.579494526e-03f, -1.576553626e-03f, -1.573610155e-03f, -1.570664118e-03f, -1.567715521e-03f, -1.564764369e-03f, -1.561810667e-03f, -1.558854420e-03f, -1.555895634e-03f, -1.552934314e-03f,
+-1.549970465e-03f, -1.547004092e-03f, -1.544035201e-03f, -1.541063797e-03f, -1.538089885e-03f, -1.535113470e-03f, -1.532134558e-03f, -1.529153154e-03f, -1.526169263e-03f, -1.523182891e-03f,
+-1.520194043e-03f, -1.517202724e-03f, -1.514208939e-03f, -1.511212694e-03f, -1.508213995e-03f, -1.505212845e-03f, -1.502209251e-03f, -1.499203218e-03f, -1.496194752e-03f, -1.493183857e-03f,
+-1.490170539e-03f, -1.487154803e-03f, -1.484136656e-03f, -1.481116101e-03f, -1.478093144e-03f, -1.475067791e-03f, -1.472040047e-03f, -1.469009918e-03f, -1.465977408e-03f, -1.462942523e-03f,
+-1.459905269e-03f, -1.456865651e-03f, -1.453823674e-03f, -1.450779344e-03f, -1.447732665e-03f, -1.444683645e-03f, -1.441632286e-03f, -1.438578597e-03f, -1.435522580e-03f, -1.432464243e-03f,
+-1.429403590e-03f, -1.426340627e-03f, -1.423275359e-03f, -1.420207792e-03f, -1.417137930e-03f, -1.414065781e-03f, -1.410991348e-03f, -1.407914638e-03f, -1.404835655e-03f, -1.401754406e-03f,
+-1.398670895e-03f, -1.395585128e-03f, -1.392497111e-03f, -1.389406849e-03f, -1.386314348e-03f, -1.383219612e-03f, -1.380122648e-03f, -1.377023461e-03f, -1.373922056e-03f, -1.370818439e-03f,
+-1.367712615e-03f, -1.364604590e-03f, -1.361494370e-03f, -1.358381959e-03f, -1.355267363e-03f, -1.352150588e-03f, -1.349031640e-03f, -1.345910523e-03f, -1.342787243e-03f, -1.339661807e-03f,
+-1.336534218e-03f, -1.333404484e-03f, -1.330272608e-03f, -1.327138598e-03f, -1.324002458e-03f, -1.320864194e-03f, -1.317723811e-03f, -1.314581316e-03f, -1.311436713e-03f, -1.308290008e-03f,
+-1.305141207e-03f, -1.301990314e-03f, -1.298837337e-03f, -1.295682280e-03f, -1.292525149e-03f, -1.289365949e-03f, -1.286204686e-03f, -1.283041366e-03f, -1.279875994e-03f, -1.276708576e-03f,
+-1.273539117e-03f, -1.270367623e-03f, -1.267194099e-03f, -1.264018551e-03f, -1.260840985e-03f, -1.257661407e-03f, -1.254479821e-03f, -1.251296234e-03f, -1.248110650e-03f, -1.244923077e-03f,
+-1.241733519e-03f, -1.238541981e-03f, -1.235348470e-03f, -1.232152992e-03f, -1.228955551e-03f, -1.225756153e-03f, -1.222554805e-03f, -1.219351511e-03f, -1.216146278e-03f, -1.212939110e-03f,
+-1.209730014e-03f, -1.206518996e-03f, -1.203306060e-03f, -1.200091213e-03f, -1.196874460e-03f, -1.193655807e-03f, -1.190435259e-03f, -1.187212823e-03f, -1.183988503e-03f, -1.180762306e-03f,
+-1.177534238e-03f, -1.174304303e-03f, -1.171072507e-03f, -1.167838857e-03f, -1.164603358e-03f, -1.161366016e-03f, -1.158126835e-03f, -1.154885823e-03f, -1.151642985e-03f, -1.148398326e-03f,
+-1.145151852e-03f, -1.141903569e-03f, -1.138653482e-03f, -1.135401598e-03f, -1.132147921e-03f, -1.128892458e-03f, -1.125635215e-03f, -1.122376197e-03f, -1.119115409e-03f, -1.115852859e-03f,
+-1.112588550e-03f, -1.109322489e-03f, -1.106054683e-03f, -1.102785135e-03f, -1.099513853e-03f, -1.096240842e-03f, -1.092966108e-03f, -1.089689656e-03f, -1.086411493e-03f, -1.083131623e-03f,
+-1.079850054e-03f, -1.076566789e-03f, -1.073281836e-03f, -1.069995200e-03f, -1.066706887e-03f, -1.063416903e-03f, -1.060125253e-03f, -1.056831942e-03f, -1.053536978e-03f, -1.050240366e-03f,
+-1.046942111e-03f, -1.043642219e-03f, -1.040340697e-03f, -1.037037549e-03f, -1.033732782e-03f, -1.030426401e-03f, -1.027118413e-03f, -1.023808822e-03f, -1.020497636e-03f, -1.017184859e-03f,
+-1.013870497e-03f, -1.010554557e-03f, -1.007237044e-03f, -1.003917964e-03f, -1.000597322e-03f, -9.972751250e-04f, -9.939513784e-04f, -9.906260880e-04f, -9.872992595e-04f, -9.839708990e-04f,
+-9.806410121e-04f, -9.773096047e-04f, -9.739766826e-04f, -9.706422518e-04f, -9.673063180e-04f, -9.639688870e-04f, -9.606299648e-04f, -9.572895572e-04f, -9.539476700e-04f, -9.506043090e-04f,
+-9.472594802e-04f, -9.439131894e-04f, -9.405654424e-04f, -9.372162452e-04f, -9.338656035e-04f, -9.305135232e-04f, -9.271600103e-04f, -9.238050705e-04f, -9.204487099e-04f, -9.170909341e-04f,
+-9.137317491e-04f, -9.103711609e-04f, -9.070091752e-04f, -9.036457979e-04f, -9.002810350e-04f, -8.969148924e-04f, -8.935473758e-04f, -8.901784913e-04f, -8.868082446e-04f, -8.834366418e-04f,
+-8.800636886e-04f, -8.766893911e-04f, -8.733137550e-04f, -8.699367864e-04f, -8.665584911e-04f, -8.631788749e-04f, -8.597979440e-04f, -8.564157040e-04f, -8.530321611e-04f, -8.496473209e-04f,
+-8.462611896e-04f, -8.428737730e-04f, -8.394850770e-04f, -8.360951076e-04f, -8.327038707e-04f, -8.293113722e-04f, -8.259176180e-04f, -8.225226141e-04f, -8.191263664e-04f, -8.157288808e-04f,
+-8.123301633e-04f, -8.089302198e-04f, -8.055290563e-04f, -8.021266786e-04f, -7.987230928e-04f, -7.953183048e-04f, -7.919123206e-04f, -7.885051460e-04f, -7.850967870e-04f, -7.816872496e-04f,
+-7.782765398e-04f, -7.748646635e-04f, -7.714516266e-04f, -7.680374352e-04f, -7.646220951e-04f, -7.612056123e-04f, -7.577879929e-04f, -7.543692428e-04f, -7.509493678e-04f, -7.475283741e-04f,
+-7.441062676e-04f, -7.406830542e-04f, -7.372587399e-04f, -7.338333308e-04f, -7.304068327e-04f, -7.269792517e-04f, -7.235505937e-04f, -7.201208648e-04f, -7.166900708e-04f, -7.132582179e-04f,
+-7.098253119e-04f, -7.063913589e-04f, -7.029563649e-04f, -6.995203358e-04f, -6.960832776e-04f, -6.926451964e-04f, -6.892060981e-04f, -6.857659887e-04f, -6.823248743e-04f, -6.788827608e-04f,
+-6.754396542e-04f, -6.719955606e-04f, -6.685504858e-04f, -6.651044361e-04f, -6.616574173e-04f, -6.582094354e-04f, -6.547604965e-04f, -6.513106066e-04f, -6.478597716e-04f, -6.444079977e-04f,
+-6.409552908e-04f, -6.375016569e-04f, -6.340471021e-04f, -6.305916324e-04f, -6.271352537e-04f, -6.236779722e-04f, -6.202197937e-04f, -6.167607245e-04f, -6.133007704e-04f, -6.098399376e-04f,
+-6.063782320e-04f, -6.029156596e-04f, -5.994522266e-04f, -5.959879388e-04f, -5.925228025e-04f, -5.890568235e-04f, -5.855900080e-04f, -5.821223619e-04f, -5.786538913e-04f, -5.751846023e-04f,
+-5.717145008e-04f, -5.682435930e-04f, -5.647718848e-04f, -5.612993823e-04f, -5.578260916e-04f, -5.543520186e-04f, -5.508771695e-04f, -5.474015503e-04f, -5.439251670e-04f, -5.404480257e-04f,
+-5.369701323e-04f, -5.334914931e-04f, -5.300121140e-04f, -5.265320011e-04f, -5.230511604e-04f, -5.195695980e-04f, -5.160873200e-04f, -5.126043323e-04f, -5.091206411e-04f, -5.056362524e-04f,
+-5.021511723e-04f, -4.986654068e-04f, -4.951789620e-04f, -4.916918439e-04f, -4.882040587e-04f, -4.847156124e-04f, -4.812265110e-04f, -4.777367606e-04f, -4.742463672e-04f, -4.707553371e-04f,
+-4.672636761e-04f, -4.637713904e-04f, -4.602784860e-04f, -4.567849690e-04f, -4.532908456e-04f, -4.497961217e-04f, -4.463008034e-04f, -4.428048968e-04f, -4.393084079e-04f, -4.358113430e-04f,
+-4.323137079e-04f, -4.288155088e-04f, -4.253167518e-04f, -4.218174429e-04f, -4.183175883e-04f, -4.148171940e-04f, -4.113162660e-04f, -4.078148105e-04f, -4.043128335e-04f, -4.008103411e-04f,
+-3.973073395e-04f, -3.938038346e-04f, -3.902998326e-04f, -3.867953395e-04f, -3.832903614e-04f, -3.797849044e-04f, -3.762789747e-04f, -3.727725782e-04f, -3.692657210e-04f, -3.657584093e-04f,
+-3.622506492e-04f, -3.587424466e-04f, -3.552338078e-04f, -3.517247387e-04f, -3.482152456e-04f, -3.447053343e-04f, -3.411950112e-04f, -3.376842822e-04f, -3.341731534e-04f, -3.306616309e-04f,
+-3.271497209e-04f, -3.236374293e-04f, -3.201247623e-04f, -3.166117260e-04f, -3.130983265e-04f, -3.095845699e-04f, -3.060704622e-04f, -3.025560095e-04f, -2.990412180e-04f, -2.955260937e-04f,
+-2.920106428e-04f, -2.884948713e-04f, -2.849787852e-04f, -2.814623908e-04f, -2.779456941e-04f, -2.744287012e-04f, -2.709114181e-04f, -2.673938511e-04f, -2.638760061e-04f, -2.603578893e-04f,
+-2.568395067e-04f, -2.533208645e-04f, -2.498019688e-04f, -2.462828256e-04f, -2.427634411e-04f, -2.392438213e-04f, -2.357239723e-04f, -2.322039003e-04f, -2.286836113e-04f, -2.251631114e-04f,
+-2.216424067e-04f, -2.181215034e-04f, -2.146004074e-04f, -2.110791250e-04f, -2.075576622e-04f, -2.040360250e-04f, -2.005142197e-04f, -1.969922522e-04f, -1.934701288e-04f, -1.899478554e-04f,
+-1.864254382e-04f, -1.829028832e-04f, -1.793801966e-04f, -1.758573845e-04f, -1.723344530e-04f, -1.688114081e-04f, -1.652882559e-04f, -1.617650026e-04f, -1.582416542e-04f, -1.547182169e-04f,
+-1.511946966e-04f, -1.476710996e-04f, -1.441474319e-04f, -1.406236997e-04f, -1.370999089e-04f, -1.335760657e-04f, -1.300521762e-04f, -1.265282465e-04f, -1.230042826e-04f, -1.194802908e-04f,
+-1.159562769e-04f, -1.124322473e-04f, -1.089082078e-04f, -1.053841648e-04f, -1.018601241e-04f, -9.833609193e-05f, -9.481207438e-05f, -9.128807752e-05f, -8.776410745e-05f, -8.424017026e-05f,
+-8.071627202e-05f, -7.719241884e-05f, -7.366861680e-05f, -7.014487198e-05f, -6.662119048e-05f, -6.309757838e-05f, -5.957404177e-05f, -5.605058673e-05f, -5.252721935e-05f, -4.900394571e-05f,
+-4.548077190e-05f, -4.195770401e-05f, -3.843474811e-05f, -3.491191029e-05f, -3.138919663e-05f, -2.786661322e-05f, -2.434416613e-05f, -2.082186145e-05f, -1.729970525e-05f, -1.377770362e-05f,
+-1.025586264e-05f, -6.734188376e-06f, -3.212686917e-06f, 3.086356630e-07f, 3.829773287e-06f, 7.350719879e-06f, 1.087146936e-05f, 1.439201567e-05f, 1.791235271e-05f, 2.143247443e-05f,
+2.495237474e-05f, 2.847204758e-05f, 3.199148687e-05f, 3.551068655e-05f, 3.902964054e-05f, 4.254834278e-05f, 4.606678719e-05f, 4.958496771e-05f, 5.310287827e-05f, 5.662051281e-05f,
+6.013786526e-05f, 6.365492955e-05f, 6.717169963e-05f, 7.068816942e-05f, 7.420433287e-05f, 7.772018392e-05f, 8.123571651e-05f, 8.475092457e-05f, 8.826580205e-05f, 9.178034290e-05f,
+9.529454104e-05f, 9.880839044e-05f, 1.023218850e-04f, 1.058350187e-04f, 1.093477856e-04f, 1.128601794e-04f, 1.163721942e-04f, 1.198838240e-04f, 1.233950626e-04f, 1.269059041e-04f,
+1.304163424e-04f, 1.339263714e-04f, 1.374359851e-04f, 1.409451775e-04f, 1.444539424e-04f, 1.479622740e-04f, 1.514701661e-04f, 1.549776126e-04f, 1.584846076e-04f, 1.619911450e-04f,
+1.654972188e-04f, 1.690028229e-04f, 1.725079514e-04f, 1.760125981e-04f, 1.795167570e-04f, 1.830204221e-04f, 1.865235875e-04f, 1.900262470e-04f, 1.935283945e-04f, 1.970300242e-04f,
+2.005311300e-04f, 2.040317058e-04f, 2.075317457e-04f, 2.110312435e-04f, 2.145301933e-04f, 2.180285891e-04f, 2.215264249e-04f, 2.250236945e-04f, 2.285203921e-04f, 2.320165116e-04f,
+2.355120470e-04f, 2.390069923e-04f, 2.425013414e-04f, 2.459950884e-04f, 2.494882273e-04f, 2.529807520e-04f, 2.564726565e-04f, 2.599639349e-04f, 2.634545812e-04f, 2.669445892e-04f,
+2.704339532e-04f, 2.739226669e-04f, 2.774107245e-04f, 2.808981200e-04f, 2.843848473e-04f, 2.878709006e-04f, 2.913562736e-04f, 2.948409606e-04f, 2.983249555e-04f, 3.018082523e-04f,
+3.052908451e-04f, 3.087727278e-04f, 3.122538945e-04f, 3.157343392e-04f, 3.192140559e-04f, 3.226930386e-04f, 3.261712814e-04f, 3.296487783e-04f, 3.331255233e-04f, 3.366015105e-04f,
+3.400767339e-04f, 3.435511875e-04f, 3.470248653e-04f, 3.504977615e-04f, 3.539698699e-04f, 3.574411848e-04f, 3.609117000e-04f, 3.643814097e-04f, 3.678503079e-04f, 3.713183887e-04f,
+3.747856460e-04f, 3.782520740e-04f, 3.817176667e-04f, 3.851824182e-04f, 3.886463224e-04f, 3.921093735e-04f, 3.955715656e-04f, 3.990328926e-04f, 4.024933487e-04f, 4.059529279e-04f,
+4.094116243e-04f, 4.128694320e-04f, 4.163263449e-04f, 4.197823573e-04f, 4.232374631e-04f, 4.266916565e-04f, 4.301449314e-04f, 4.335972821e-04f, 4.370487026e-04f, 4.404991869e-04f,
+4.439487292e-04f, 4.473973235e-04f, 4.508449640e-04f, 4.542916446e-04f, 4.577373596e-04f, 4.611821030e-04f, 4.646258688e-04f, 4.680686513e-04f, 4.715104445e-04f, 4.749512425e-04f,
+4.783910394e-04f, 4.818298293e-04f, 4.852676064e-04f, 4.887043647e-04f, 4.921400984e-04f, 4.955748015e-04f, 4.990084682e-04f, 5.024410926e-04f, 5.058726688e-04f, 5.093031910e-04f,
+5.127326533e-04f, 5.161610498e-04f, 5.195883746e-04f, 5.230146219e-04f, 5.264397858e-04f, 5.298638604e-04f, 5.332868399e-04f, 5.367087184e-04f, 5.401294901e-04f, 5.435491491e-04f,
+5.469676896e-04f, 5.503851057e-04f, 5.538013915e-04f, 5.572165413e-04f, 5.606305491e-04f, 5.640434092e-04f, 5.674551156e-04f, 5.708656626e-04f, 5.742750443e-04f, 5.776832550e-04f,
+5.810902887e-04f, 5.844961396e-04f, 5.879008019e-04f, 5.913042698e-04f, 5.947065375e-04f, 5.981075992e-04f, 6.015074489e-04f, 6.049060810e-04f, 6.083034897e-04f, 6.116996690e-04f,
+6.150946132e-04f, 6.184883165e-04f, 6.218807731e-04f, 6.252719772e-04f, 6.286619231e-04f, 6.320506048e-04f, 6.354380166e-04f, 6.388241528e-04f, 6.422090076e-04f, 6.455925750e-04f,
+6.489748495e-04f, 6.523558252e-04f, 6.557354963e-04f, 6.591138571e-04f, 6.624909017e-04f, 6.658666245e-04f, 6.692410196e-04f, 6.726140813e-04f, 6.759858039e-04f, 6.793561815e-04f,
+6.827252084e-04f, 6.860928789e-04f, 6.894591872e-04f, 6.928241276e-04f, 6.961876943e-04f, 6.995498816e-04f, 7.029106838e-04f, 7.062700950e-04f, 7.096281096e-04f, 7.129847219e-04f,
+7.163399261e-04f, 7.196937165e-04f, 7.230460873e-04f, 7.263970329e-04f, 7.297465476e-04f, 7.330946255e-04f, 7.364412611e-04f, 7.397864485e-04f, 7.431301822e-04f, 7.464724563e-04f,
+7.498132653e-04f, 7.531526033e-04f, 7.564904647e-04f, 7.598268439e-04f, 7.631617350e-04f, 7.664951325e-04f, 7.698270306e-04f, 7.731574237e-04f, 7.764863061e-04f, 7.798136722e-04f,
+7.831395161e-04f, 7.864638324e-04f, 7.897866152e-04f, 7.931078590e-04f, 7.964275581e-04f, 7.997457068e-04f, 8.030622995e-04f, 8.063773306e-04f, 8.096907943e-04f, 8.130026850e-04f,
+8.163129972e-04f, 8.196217251e-04f, 8.229288631e-04f, 8.262344056e-04f, 8.295383470e-04f, 8.328406816e-04f, 8.361414038e-04f, 8.394405080e-04f, 8.427379885e-04f, 8.460338399e-04f,
+8.493280563e-04f, 8.526206324e-04f, 8.559115623e-04f, 8.592008406e-04f, 8.624884616e-04f, 8.657744197e-04f, 8.690587094e-04f, 8.723413251e-04f, 8.756222611e-04f, 8.789015119e-04f,
+8.821790719e-04f, 8.854549356e-04f, 8.887290973e-04f, 8.920015515e-04f, 8.952722926e-04f, 8.985413151e-04f, 9.018086134e-04f, 9.050741819e-04f, 9.083380151e-04f, 9.116001075e-04f,
+9.148604535e-04f, 9.181190475e-04f, 9.213758840e-04f, 9.246309575e-04f, 9.278842624e-04f, 9.311357933e-04f, 9.343855445e-04f, 9.376335106e-04f, 9.408796860e-04f, 9.441240652e-04f,
+9.473666428e-04f, 9.506074131e-04f, 9.538463708e-04f, 9.570835102e-04f, 9.603188259e-04f, 9.635523125e-04f, 9.667839643e-04f, 9.700137759e-04f, 9.732417419e-04f, 9.764678567e-04f,
+9.796921149e-04f, 9.829145109e-04f, 9.861350394e-04f, 9.893536948e-04f, 9.925704717e-04f, 9.957853647e-04f, 9.989983682e-04f, 1.002209477e-03f, 1.005418685e-03f, 1.008625988e-03f,
+1.011831379e-03f, 1.015034853e-03f, 1.018236406e-03f, 1.021436031e-03f, 1.024633723e-03f, 1.027829476e-03f, 1.031023286e-03f, 1.034215147e-03f, 1.037405053e-03f, 1.040592998e-03f,
+1.043778979e-03f, 1.046962988e-03f, 1.050145022e-03f, 1.053325073e-03f, 1.056503138e-03f, 1.059679210e-03f, 1.062853284e-03f, 1.066025355e-03f, 1.069195417e-03f, 1.072363466e-03f,
+1.075529495e-03f, 1.078693500e-03f, 1.081855474e-03f, 1.085015413e-03f, 1.088173311e-03f, 1.091329163e-03f, 1.094482964e-03f, 1.097634708e-03f, 1.100784389e-03f, 1.103932003e-03f,
+1.107077545e-03f, 1.110221008e-03f, 1.113362387e-03f, 1.116501678e-03f, 1.119638875e-03f, 1.122773972e-03f, 1.125906965e-03f, 1.129037848e-03f, 1.132166615e-03f, 1.135293262e-03f,
+1.138417782e-03f, 1.141540172e-03f, 1.144660425e-03f, 1.147778536e-03f, 1.150894500e-03f, 1.154008312e-03f, 1.157119966e-03f, 1.160229457e-03f, 1.163336781e-03f, 1.166441930e-03f,
+1.169544902e-03f, 1.172645689e-03f, 1.175744287e-03f, 1.178840691e-03f, 1.181934895e-03f, 1.185026894e-03f, 1.188116684e-03f, 1.191204258e-03f, 1.194289611e-03f, 1.197372739e-03f,
+1.200453636e-03f, 1.203532297e-03f, 1.206608716e-03f, 1.209682889e-03f, 1.212754810e-03f, 1.215824474e-03f, 1.218891876e-03f, 1.221957010e-03f, 1.225019872e-03f, 1.228080457e-03f,
+1.231138759e-03f, 1.234194772e-03f, 1.237248493e-03f, 1.240299915e-03f, 1.243349034e-03f, 1.246395844e-03f, 1.249440340e-03f, 1.252482518e-03f, 1.255522371e-03f, 1.258559895e-03f,
+1.261595085e-03f, 1.264627936e-03f, 1.267658442e-03f, 1.270686598e-03f, 1.273712399e-03f, 1.276735841e-03f, 1.279756918e-03f, 1.282775624e-03f, 1.285791956e-03f, 1.288805907e-03f,
+1.291817473e-03f, 1.294826648e-03f, 1.297833428e-03f, 1.300837807e-03f, 1.303839781e-03f, 1.306839344e-03f, 1.309836491e-03f, 1.312831218e-03f, 1.315823518e-03f, 1.318813388e-03f,
+1.321800822e-03f, 1.324785814e-03f, 1.327768361e-03f, 1.330748457e-03f, 1.333726096e-03f, 1.336701275e-03f, 1.339673987e-03f, 1.342644229e-03f, 1.345611994e-03f, 1.348577278e-03f,
+1.351540076e-03f, 1.354500383e-03f, 1.357458194e-03f, 1.360413504e-03f, 1.363366308e-03f, 1.366316601e-03f, 1.369264378e-03f, 1.372209634e-03f, 1.375152364e-03f, 1.378092563e-03f,
+1.381030226e-03f, 1.383965349e-03f, 1.386897926e-03f, 1.389827952e-03f, 1.392755423e-03f, 1.395680333e-03f, 1.398602678e-03f, 1.401522453e-03f, 1.404439653e-03f, 1.407354272e-03f,
+1.410266306e-03f, 1.413175751e-03f, 1.416082600e-03f, 1.418986850e-03f, 1.421888495e-03f, 1.424787531e-03f, 1.427683953e-03f, 1.430577755e-03f, 1.433468933e-03f, 1.436357482e-03f,
+1.439243398e-03f, 1.442126674e-03f, 1.445007308e-03f, 1.447885293e-03f, 1.450760625e-03f, 1.453633299e-03f, 1.456503310e-03f, 1.459370653e-03f, 1.462235324e-03f, 1.465097318e-03f,
+1.467956629e-03f, 1.470813254e-03f, 1.473667187e-03f, 1.476518424e-03f, 1.479366959e-03f, 1.482212789e-03f, 1.485055907e-03f, 1.487896310e-03f, 1.490733993e-03f, 1.493568951e-03f,
+1.496401178e-03f, 1.499230672e-03f, 1.502057425e-03f, 1.504881435e-03f, 1.507702696e-03f, 1.510521203e-03f, 1.513336952e-03f, 1.516149938e-03f, 1.518960156e-03f, 1.521767602e-03f,
+1.524572271e-03f, 1.527374157e-03f, 1.530173258e-03f, 1.532969567e-03f, 1.535763080e-03f, 1.538553792e-03f, 1.541341699e-03f, 1.544126796e-03f, 1.546909079e-03f, 1.549688542e-03f,
+1.552465181e-03f, 1.555238992e-03f, 1.558009970e-03f, 1.560778109e-03f, 1.563543406e-03f, 1.566305856e-03f, 1.569065455e-03f, 1.571822196e-03f, 1.574576077e-03f, 1.577327092e-03f,
+1.580075237e-03f, 1.582820508e-03f, 1.585562898e-03f, 1.588302405e-03f, 1.591039023e-03f, 1.593772748e-03f, 1.596503575e-03f, 1.599231500e-03f, 1.601956518e-03f, 1.604678625e-03f,
+1.607397816e-03f, 1.610114086e-03f, 1.612827431e-03f, 1.615537847e-03f, 1.618245328e-03f, 1.620949871e-03f, 1.623651470e-03f, 1.626350122e-03f, 1.629045822e-03f, 1.631738565e-03f,
+1.634428346e-03f, 1.637115162e-03f, 1.639799008e-03f, 1.642479879e-03f, 1.645157771e-03f, 1.647832680e-03f, 1.650504600e-03f, 1.653173528e-03f, 1.655839459e-03f, 1.658502388e-03f,
+1.661162312e-03f, 1.663819225e-03f, 1.666473123e-03f, 1.669124002e-03f, 1.671771858e-03f, 1.674416685e-03f, 1.677058480e-03f, 1.679697238e-03f, 1.682332955e-03f, 1.684965626e-03f,
+1.687595248e-03f, 1.690221814e-03f, 1.692845322e-03f, 1.695465767e-03f, 1.698083144e-03f, 1.700697450e-03f, 1.703308679e-03f, 1.705916827e-03f, 1.708521890e-03f, 1.711123864e-03f,
+1.713722745e-03f, 1.716318527e-03f, 1.718911208e-03f, 1.721500781e-03f, 1.724087244e-03f, 1.726670591e-03f, 1.729250819e-03f, 1.731827923e-03f, 1.734401899e-03f, 1.736972742e-03f,
+1.739540449e-03f, 1.742105015e-03f, 1.744666435e-03f, 1.747224706e-03f, 1.749779824e-03f, 1.752331783e-03f, 1.754880580e-03f, 1.757426211e-03f, 1.759968671e-03f, 1.762507956e-03f,
+1.765044061e-03f, 1.767576984e-03f, 1.770106719e-03f, 1.772633262e-03f, 1.775156609e-03f, 1.777676755e-03f, 1.780193698e-03f, 1.782707432e-03f, 1.785217953e-03f, 1.787725257e-03f,
+1.790229340e-03f, 1.792730198e-03f, 1.795227826e-03f, 1.797722221e-03f, 1.800213379e-03f, 1.802701294e-03f, 1.805185964e-03f, 1.807667383e-03f, 1.810145548e-03f, 1.812620455e-03f,
+1.815092100e-03f, 1.817560478e-03f, 1.820025585e-03f, 1.822487418e-03f, 1.824945972e-03f, 1.827401243e-03f, 1.829853228e-03f, 1.832301921e-03f, 1.834747319e-03f, 1.837189418e-03f,
+1.839628214e-03f, 1.842063703e-03f, 1.844495881e-03f, 1.846924743e-03f, 1.849350286e-03f, 1.851772506e-03f, 1.854191398e-03f, 1.856606959e-03f, 1.859019185e-03f, 1.861428072e-03f,
+1.863833615e-03f, 1.866235811e-03f, 1.868634656e-03f, 1.871030145e-03f, 1.873422275e-03f, 1.875811042e-03f, 1.878196442e-03f, 1.880578471e-03f, 1.882957125e-03f, 1.885332400e-03f,
+1.887704293e-03f, 1.890072798e-03f, 1.892437913e-03f, 1.894799633e-03f, 1.897157955e-03f, 1.899512874e-03f, 1.901864387e-03f, 1.904212490e-03f, 1.906557179e-03f, 1.908898450e-03f,
+1.911236299e-03f, 1.913570722e-03f, 1.915901716e-03f, 1.918229276e-03f, 1.920553400e-03f, 1.922874082e-03f, 1.925191319e-03f, 1.927505108e-03f, 1.929815444e-03f, 1.932122324e-03f,
+1.934425744e-03f, 1.936725700e-03f, 1.939022188e-03f, 1.941315205e-03f, 1.943604746e-03f, 1.945890808e-03f, 1.948173388e-03f, 1.950452481e-03f, 1.952728083e-03f, 1.955000192e-03f,
+1.957268802e-03f, 1.959533911e-03f, 1.961795515e-03f, 1.964053609e-03f, 1.966308191e-03f, 1.968559257e-03f, 1.970806802e-03f, 1.973050823e-03f, 1.975291317e-03f, 1.977528280e-03f,
+1.979761707e-03f, 1.981991596e-03f, 1.984217943e-03f, 1.986440744e-03f, 1.988659995e-03f, 1.990875693e-03f, 1.993087834e-03f, 1.995296414e-03f, 1.997501431e-03f, 1.999702879e-03f,
+2.001900757e-03f, 2.004095059e-03f, 2.006285782e-03f, 2.008472924e-03f, 2.010656479e-03f, 2.012836445e-03f, 2.015012819e-03f, 2.017185595e-03f, 2.019354772e-03f, 2.021520345e-03f,
+2.023682310e-03f, 2.025840665e-03f, 2.027995406e-03f, 2.030146529e-03f, 2.032294030e-03f, 2.034437907e-03f, 2.036578155e-03f, 2.038714771e-03f, 2.040847751e-03f, 2.042977093e-03f,
+2.045102793e-03f, 2.047224846e-03f, 2.049343250e-03f, 2.051458002e-03f, 2.053569097e-03f, 2.055676532e-03f, 2.057780304e-03f, 2.059880409e-03f, 2.061976845e-03f, 2.064069607e-03f,
+2.066158691e-03f, 2.068244096e-03f, 2.070325817e-03f, 2.072403850e-03f, 2.074478193e-03f, 2.076548842e-03f, 2.078615794e-03f, 2.080679045e-03f, 2.082738592e-03f, 2.084794431e-03f,
+2.086846560e-03f, 2.088894974e-03f, 2.090939671e-03f, 2.092980647e-03f, 2.095017899e-03f, 2.097051423e-03f, 2.099081217e-03f, 2.101107276e-03f, 2.103129598e-03f, 2.105148179e-03f,
+2.107163016e-03f, 2.109174106e-03f, 2.111181445e-03f, 2.113185031e-03f, 2.115184859e-03f, 2.117180926e-03f, 2.119173231e-03f, 2.121161768e-03f, 2.123146535e-03f, 2.125127528e-03f,
+2.127104745e-03f, 2.129078183e-03f, 2.131047837e-03f, 2.133013705e-03f, 2.134975783e-03f, 2.136934069e-03f, 2.138888559e-03f, 2.140839250e-03f, 2.142786139e-03f, 2.144729223e-03f,
+2.146668498e-03f, 2.148603961e-03f, 2.150535610e-03f, 2.152463440e-03f, 2.154387450e-03f, 2.156307636e-03f, 2.158223994e-03f, 2.160136522e-03f, 2.162045216e-03f, 2.163950073e-03f,
+2.165851091e-03f, 2.167748267e-03f, 2.169641596e-03f, 2.171531076e-03f, 2.173416704e-03f, 2.175298478e-03f, 2.177176393e-03f, 2.179050447e-03f, 2.180920637e-03f, 2.182786959e-03f,
+2.184649412e-03f, 2.186507991e-03f, 2.188362694e-03f, 2.190213517e-03f, 2.192060459e-03f, 2.193903515e-03f, 2.195742683e-03f, 2.197577959e-03f, 2.199409342e-03f, 2.201236827e-03f,
+2.203060413e-03f, 2.204880095e-03f, 2.206695871e-03f, 2.208507738e-03f, 2.210315694e-03f, 2.212119735e-03f, 2.213919858e-03f, 2.215716060e-03f, 2.217508339e-03f, 2.219296692e-03f,
+2.221081116e-03f, 2.222861607e-03f, 2.224638163e-03f, 2.226410782e-03f, 2.228179460e-03f, 2.229944194e-03f, 2.231704982e-03f, 2.233461820e-03f, 2.235214707e-03f, 2.236963638e-03f,
+2.238708612e-03f, 2.240449625e-03f, 2.242186675e-03f, 2.243919759e-03f, 2.245648874e-03f, 2.247374018e-03f, 2.249095187e-03f, 2.250812378e-03f, 2.252525590e-03f, 2.254234819e-03f,
+2.255940062e-03f, 2.257641318e-03f, 2.259338582e-03f, 2.261031853e-03f, 2.262721127e-03f, 2.264406402e-03f, 2.266087675e-03f, 2.267764944e-03f, 2.269438206e-03f, 2.271107458e-03f,
+2.272772697e-03f, 2.274433921e-03f, 2.276091127e-03f, 2.277744313e-03f, 2.279393476e-03f, 2.281038612e-03f, 2.282679721e-03f, 2.284316798e-03f, 2.285949841e-03f, 2.287578849e-03f,
+2.289203817e-03f, 2.290824744e-03f, 2.292441627e-03f, 2.294054463e-03f, 2.295663250e-03f, 2.297267985e-03f, 2.298868666e-03f, 2.300465289e-03f, 2.302057854e-03f, 2.303646356e-03f,
+2.305230794e-03f, 2.306811165e-03f, 2.308387466e-03f, 2.309959695e-03f, 2.311527849e-03f, 2.313091927e-03f, 2.314651924e-03f, 2.316207840e-03f, 2.317759671e-03f, 2.319307416e-03f,
+2.320851070e-03f, 2.322390633e-03f, 2.323926102e-03f, 2.325457473e-03f, 2.326984746e-03f, 2.328507916e-03f, 2.330026983e-03f, 2.331541943e-03f, 2.333052795e-03f, 2.334559535e-03f,
+2.336062161e-03f, 2.337560671e-03f, 2.339055063e-03f, 2.340545334e-03f, 2.342031482e-03f, 2.343513505e-03f, 2.344991399e-03f, 2.346465164e-03f, 2.347934796e-03f, 2.349400293e-03f,
+2.350861652e-03f, 2.352318873e-03f, 2.353771951e-03f, 2.355220886e-03f, 2.356665674e-03f, 2.358106314e-03f, 2.359542803e-03f, 2.360975138e-03f, 2.362403318e-03f, 2.363827341e-03f,
+2.365247203e-03f, 2.366662904e-03f, 2.368074440e-03f, 2.369481809e-03f, 2.370885010e-03f, 2.372284040e-03f, 2.373678896e-03f, 2.375069577e-03f, 2.376456080e-03f, 2.377838404e-03f,
+2.379216546e-03f, 2.380590503e-03f, 2.381960275e-03f, 2.383325857e-03f, 2.384687250e-03f, 2.386044450e-03f, 2.387397454e-03f, 2.388746262e-03f, 2.390090871e-03f, 2.391431279e-03f,
+2.392767484e-03f, 2.394099483e-03f, 2.395427275e-03f, 2.396750857e-03f, 2.398070228e-03f, 2.399385386e-03f, 2.400696327e-03f, 2.402003051e-03f, 2.403305555e-03f, 2.404603838e-03f,
+2.405897896e-03f, 2.407187729e-03f, 2.408473334e-03f, 2.409754709e-03f, 2.411031853e-03f, 2.412304763e-03f, 2.413573436e-03f, 2.414837873e-03f, 2.416098069e-03f, 2.417354024e-03f,
+2.418605735e-03f, 2.419853201e-03f, 2.421096419e-03f, 2.422335388e-03f, 2.423570105e-03f, 2.424800570e-03f, 2.426026779e-03f, 2.427248731e-03f, 2.428466424e-03f, 2.429679857e-03f,
+2.430889026e-03f, 2.432093932e-03f, 2.433294570e-03f, 2.434490941e-03f, 2.435683042e-03f, 2.436870870e-03f, 2.438054425e-03f, 2.439233704e-03f, 2.440408706e-03f, 2.441579429e-03f,
+2.442745871e-03f, 2.443908029e-03f, 2.445065904e-03f, 2.446219492e-03f, 2.447368792e-03f, 2.448513802e-03f, 2.449654520e-03f, 2.450790945e-03f, 2.451923075e-03f, 2.453050908e-03f,
+2.454174443e-03f, 2.455293677e-03f, 2.456408609e-03f, 2.457519238e-03f, 2.458625561e-03f, 2.459727577e-03f, 2.460825285e-03f, 2.461918682e-03f, 2.463007767e-03f, 2.464092538e-03f,
+2.465172993e-03f, 2.466249132e-03f, 2.467320952e-03f, 2.468388452e-03f, 2.469451630e-03f, 2.470510484e-03f, 2.471565014e-03f, 2.472615216e-03f, 2.473661091e-03f, 2.474702635e-03f,
+2.475739848e-03f, 2.476772728e-03f, 2.477801273e-03f, 2.478825482e-03f, 2.479845354e-03f, 2.480860886e-03f, 2.481872078e-03f, 2.482878927e-03f, 2.483881433e-03f, 2.484879593e-03f,
+2.485873407e-03f, 2.486862872e-03f, 2.487847988e-03f, 2.488828752e-03f, 2.489805164e-03f, 2.490777222e-03f, 2.491744924e-03f, 2.492708269e-03f, 2.493667255e-03f, 2.494621882e-03f,
+2.495572147e-03f, 2.496518050e-03f, 2.497459588e-03f, 2.498396761e-03f, 2.499329567e-03f, 2.500258005e-03f, 2.501182073e-03f, 2.502101770e-03f, 2.503017095e-03f, 2.503928046e-03f,
+2.504834621e-03f, 2.505736821e-03f, 2.506634642e-03f, 2.507528085e-03f, 2.508417147e-03f, 2.509301827e-03f, 2.510182125e-03f, 2.511058038e-03f, 2.511929565e-03f, 2.512796706e-03f,
+2.513659458e-03f, 2.514517821e-03f, 2.515371794e-03f, 2.516221374e-03f, 2.517066562e-03f, 2.517907355e-03f, 2.518743752e-03f, 2.519575753e-03f, 2.520403356e-03f, 2.521226559e-03f,
+2.522045363e-03f, 2.522859764e-03f, 2.523669763e-03f, 2.524475358e-03f, 2.525276548e-03f, 2.526073331e-03f, 2.526865708e-03f, 2.527653675e-03f, 2.528437233e-03f, 2.529216381e-03f,
+2.529991116e-03f, 2.530761439e-03f, 2.531527347e-03f, 2.532288840e-03f, 2.533045917e-03f, 2.533798577e-03f, 2.534546818e-03f, 2.535290639e-03f, 2.536030041e-03f, 2.536765020e-03f,
+2.537495577e-03f, 2.538221711e-03f, 2.538943419e-03f, 2.539660702e-03f, 2.540373559e-03f, 2.541081987e-03f, 2.541785987e-03f, 2.542485558e-03f, 2.543180697e-03f, 2.543871405e-03f,
+2.544557681e-03f, 2.545239523e-03f, 2.545916931e-03f, 2.546589903e-03f, 2.547258439e-03f, 2.547922537e-03f, 2.548582198e-03f, 2.549237419e-03f, 2.549888200e-03f, 2.550534541e-03f,
+2.551176440e-03f, 2.551813896e-03f, 2.552446908e-03f, 2.553075477e-03f, 2.553699600e-03f, 2.554319277e-03f, 2.554934507e-03f, 2.555545289e-03f, 2.556151623e-03f, 2.556753508e-03f,
+2.557350942e-03f, 2.557943926e-03f, 2.558532457e-03f, 2.559116537e-03f, 2.559696162e-03f, 2.560271334e-03f, 2.560842051e-03f, 2.561408313e-03f, 2.561970118e-03f, 2.562527466e-03f,
+2.563080356e-03f, 2.563628787e-03f, 2.564172760e-03f, 2.564712272e-03f, 2.565247324e-03f, 2.565777915e-03f, 2.566304043e-03f, 2.566825709e-03f, 2.567342911e-03f, 2.567855650e-03f,
+2.568363924e-03f, 2.568867732e-03f, 2.569367075e-03f, 2.569861951e-03f, 2.570352360e-03f, 2.570838301e-03f, 2.571319773e-03f, 2.571796777e-03f, 2.572269311e-03f, 2.572737375e-03f,
+2.573200968e-03f, 2.573660089e-03f, 2.574114739e-03f, 2.574564917e-03f, 2.575010621e-03f, 2.575451852e-03f, 2.575888609e-03f, 2.576320891e-03f, 2.576748699e-03f, 2.577172031e-03f,
+2.577590886e-03f, 2.578005265e-03f, 2.578415168e-03f, 2.578820592e-03f, 2.579221539e-03f, 2.579618007e-03f, 2.580009996e-03f, 2.580397506e-03f, 2.580780537e-03f, 2.581159087e-03f,
+2.581533156e-03f, 2.581902745e-03f, 2.582267852e-03f, 2.582628477e-03f, 2.582984620e-03f, 2.583336281e-03f, 2.583683458e-03f, 2.584026152e-03f, 2.584364363e-03f, 2.584698089e-03f,
+2.585027332e-03f, 2.585352089e-03f, 2.585672362e-03f, 2.585988149e-03f, 2.586299450e-03f, 2.586606266e-03f, 2.586908595e-03f, 2.587206438e-03f, 2.587499794e-03f, 2.587788663e-03f,
+2.588073044e-03f, 2.588352938e-03f, 2.588628344e-03f, 2.588899262e-03f, 2.589165692e-03f, 2.589427633e-03f, 2.589685085e-03f, 2.589938049e-03f, 2.590186523e-03f, 2.590430508e-03f,
+2.590670003e-03f, 2.590905009e-03f, 2.591135524e-03f, 2.591361550e-03f, 2.591583085e-03f, 2.591800130e-03f, 2.592012685e-03f, 2.592220749e-03f, 2.592424322e-03f, 2.592623404e-03f,
+2.592817996e-03f, 2.593008096e-03f, 2.593193705e-03f, 2.593374823e-03f, 2.593551449e-03f, 2.593723584e-03f, 2.593891228e-03f, 2.594054380e-03f, 2.594213041e-03f, 2.594367210e-03f,
+2.594516887e-03f, 2.594662073e-03f, 2.594802767e-03f, 2.594938969e-03f, 2.595070680e-03f, 2.595197899e-03f, 2.595320626e-03f, 2.595438862e-03f, 2.595552606e-03f, 2.595661858e-03f,
+2.595766619e-03f, 2.595866889e-03f, 2.595962667e-03f, 2.596053954e-03f, 2.596140750e-03f, 2.596223054e-03f, 2.596300868e-03f, 2.596374190e-03f, 2.596443022e-03f, 2.596507363e-03f,
+2.596567213e-03f, 2.596622573e-03f, 2.596673442e-03f, 2.596719822e-03f, 2.596761711e-03f, 2.596799110e-03f, 2.596832020e-03f, 2.596860440e-03f, 2.596884371e-03f, 2.596903813e-03f,
+2.596918766e-03f, 2.596929230e-03f, 2.596935205e-03f, 2.596936693e-03f, 2.596933692e-03f, 2.596926204e-03f, 2.596914227e-03f, 2.596897764e-03f, 2.596876814e-03f, 2.596851377e-03f,
+2.596821453e-03f, 2.596787043e-03f, 2.596748147e-03f, 2.596704766e-03f, 2.596656899e-03f, 2.596604548e-03f, 2.596547712e-03f, 2.596486391e-03f, 2.596420587e-03f, 2.596350299e-03f,
+2.596275527e-03f, 2.596196273e-03f, 2.596112536e-03f, 2.596024317e-03f, 2.595931617e-03f, 2.595834435e-03f, 2.595732772e-03f, 2.595626628e-03f, 2.595516005e-03f, 2.595400902e-03f,
+2.595281319e-03f, 2.595157258e-03f, 2.595028718e-03f, 2.594895700e-03f, 2.594758205e-03f, 2.594616233e-03f, 2.594469785e-03f, 2.594318860e-03f, 2.594163460e-03f, 2.594003585e-03f,
+2.593839236e-03f, 2.593670412e-03f, 2.593497115e-03f, 2.593319346e-03f, 2.593137104e-03f, 2.592950390e-03f, 2.592759204e-03f, 2.592563548e-03f, 2.592363422e-03f, 2.592158827e-03f,
+2.591949762e-03f, 2.591736229e-03f, 2.591518229e-03f, 2.591295761e-03f, 2.591068827e-03f, 2.590837427e-03f, 2.590601561e-03f, 2.590361231e-03f, 2.590116437e-03f, 2.589867180e-03f,
+2.589613460e-03f, 2.589355278e-03f, 2.589092635e-03f, 2.588825531e-03f, 2.588553968e-03f, 2.588277945e-03f, 2.587997463e-03f, 2.587712524e-03f, 2.587423128e-03f, 2.587129276e-03f,
+2.586830968e-03f, 2.586528205e-03f, 2.586220988e-03f, 2.585909318e-03f, 2.585593195e-03f, 2.585272621e-03f, 2.584947596e-03f, 2.584618120e-03f, 2.584284195e-03f, 2.583945822e-03f,
+2.583603001e-03f, 2.583255733e-03f, 2.582904019e-03f, 2.582547860e-03f, 2.582187256e-03f, 2.581822209e-03f, 2.581452720e-03f, 2.581078788e-03f, 2.580700416e-03f, 2.580317603e-03f,
+2.579930352e-03f, 2.579538662e-03f, 2.579142535e-03f, 2.578741972e-03f, 2.578336973e-03f, 2.577927540e-03f, 2.577513673e-03f, 2.577095373e-03f, 2.576672642e-03f, 2.576245480e-03f,
+2.575813889e-03f, 2.575377868e-03f, 2.574937420e-03f, 2.574492545e-03f, 2.574043245e-03f, 2.573589519e-03f, 2.573131370e-03f, 2.572668798e-03f, 2.572201804e-03f, 2.571730390e-03f,
+2.571254556e-03f, 2.570774304e-03f, 2.570289634e-03f, 2.569800548e-03f, 2.569307046e-03f, 2.568809130e-03f, 2.568306801e-03f, 2.567800060e-03f, 2.567288908e-03f, 2.566773346e-03f,
+2.566253375e-03f, 2.565728997e-03f, 2.565200212e-03f, 2.564667023e-03f, 2.564129428e-03f, 2.563587431e-03f, 2.563041033e-03f, 2.562490233e-03f, 2.561935034e-03f, 2.561375437e-03f,
+2.560811442e-03f, 2.560243052e-03f, 2.559670267e-03f, 2.559093089e-03f, 2.558511519e-03f, 2.557925557e-03f, 2.557335206e-03f, 2.556740467e-03f, 2.556141340e-03f, 2.555537827e-03f,
+2.554929930e-03f, 2.554317649e-03f, 2.553700986e-03f, 2.553079942e-03f, 2.552454519e-03f, 2.551824718e-03f, 2.551190540e-03f, 2.550551986e-03f, 2.549909058e-03f, 2.549261757e-03f,
+2.548610085e-03f, 2.547954042e-03f, 2.547293631e-03f, 2.546628852e-03f, 2.545959708e-03f, 2.545286198e-03f, 2.544608325e-03f, 2.543926091e-03f, 2.543239496e-03f, 2.542548542e-03f,
+2.541853230e-03f, 2.541153562e-03f, 2.540449540e-03f, 2.539741164e-03f, 2.539028436e-03f, 2.538311358e-03f, 2.537589931e-03f, 2.536864157e-03f, 2.536134036e-03f, 2.535399571e-03f,
+2.534660763e-03f, 2.533917614e-03f, 2.533170125e-03f, 2.532418297e-03f, 2.531662132e-03f, 2.530901633e-03f, 2.530136799e-03f, 2.529367633e-03f, 2.528594136e-03f, 2.527816310e-03f,
+2.527034156e-03f, 2.526247677e-03f, 2.525456873e-03f, 2.524661746e-03f, 2.523862298e-03f, 2.523058531e-03f, 2.522250445e-03f, 2.521438043e-03f, 2.520621326e-03f, 2.519800296e-03f,
+2.518974955e-03f, 2.518145304e-03f, 2.517311345e-03f, 2.516473079e-03f, 2.515630509e-03f, 2.514783635e-03f, 2.513932460e-03f, 2.513076986e-03f, 2.512217213e-03f, 2.511353144e-03f,
+2.510484780e-03f, 2.509612124e-03f, 2.508735176e-03f, 2.507853939e-03f, 2.506968415e-03f, 2.506078604e-03f, 2.505184509e-03f, 2.504286132e-03f, 2.503383475e-03f, 2.502476539e-03f,
+2.501565325e-03f, 2.500649837e-03f, 2.499730075e-03f, 2.498806041e-03f, 2.497877738e-03f, 2.496945167e-03f, 2.496008330e-03f, 2.495067228e-03f, 2.494121865e-03f, 2.493172240e-03f,
+2.492218357e-03f, 2.491260217e-03f, 2.490297823e-03f, 2.489331175e-03f, 2.488360276e-03f, 2.487385128e-03f, 2.486405733e-03f, 2.485422092e-03f, 2.484434208e-03f, 2.483442082e-03f,
+2.482445716e-03f, 2.481445113e-03f, 2.480440274e-03f, 2.479431202e-03f, 2.478417898e-03f, 2.477400363e-03f, 2.476378601e-03f, 2.475352614e-03f, 2.474322402e-03f, 2.473287968e-03f,
+2.472249315e-03f, 2.471206444e-03f, 2.470159357e-03f, 2.469108056e-03f, 2.468052544e-03f, 2.466992822e-03f, 2.465928892e-03f, 2.464860757e-03f, 2.463788418e-03f, 2.462711878e-03f,
+2.461631138e-03f, 2.460546202e-03f, 2.459457070e-03f, 2.458363745e-03f, 2.457266229e-03f, 2.456164524e-03f, 2.455058633e-03f, 2.453948557e-03f, 2.452834298e-03f, 2.451715860e-03f,
+2.450593243e-03f, 2.449466450e-03f, 2.448335484e-03f, 2.447200345e-03f, 2.446061038e-03f, 2.444917563e-03f, 2.443769923e-03f, 2.442618120e-03f, 2.441462157e-03f, 2.440302035e-03f,
+2.439137757e-03f, 2.437969325e-03f, 2.436796741e-03f, 2.435620008e-03f, 2.434439127e-03f, 2.433254102e-03f, 2.432064934e-03f, 2.430871625e-03f, 2.429674178e-03f, 2.428472596e-03f,
+2.427266880e-03f, 2.426057032e-03f, 2.424843056e-03f, 2.423624952e-03f, 2.422402725e-03f, 2.421176376e-03f, 2.419945907e-03f, 2.418711320e-03f, 2.417472619e-03f, 2.416229805e-03f,
+2.414982881e-03f, 2.413731848e-03f, 2.412476711e-03f, 2.411217470e-03f, 2.409954129e-03f, 2.408686689e-03f, 2.407415153e-03f, 2.406139524e-03f, 2.404859804e-03f, 2.403575995e-03f,
+2.402288100e-03f, 2.400996121e-03f, 2.399700061e-03f, 2.398399922e-03f, 2.397095706e-03f, 2.395787417e-03f, 2.394475056e-03f, 2.393158626e-03f, 2.391838130e-03f, 2.390513569e-03f,
+2.389184948e-03f, 2.387852267e-03f, 2.386515529e-03f, 2.385174738e-03f, 2.383829896e-03f, 2.382481004e-03f, 2.381128066e-03f, 2.379771085e-03f, 2.378410062e-03f, 2.377045000e-03f,
+2.375675903e-03f, 2.374302771e-03f, 2.372925609e-03f, 2.371544419e-03f, 2.370159203e-03f, 2.368769964e-03f, 2.367376704e-03f, 2.365979427e-03f, 2.364578134e-03f, 2.363172828e-03f,
+2.361763513e-03f, 2.360350190e-03f, 2.358932862e-03f, 2.357511533e-03f, 2.356086204e-03f, 2.354656878e-03f, 2.353223559e-03f, 2.351786248e-03f, 2.350344949e-03f, 2.348899663e-03f,
+2.347450394e-03f, 2.345997145e-03f, 2.344539918e-03f, 2.343078716e-03f, 2.341613542e-03f, 2.340144398e-03f, 2.338671288e-03f, 2.337194213e-03f, 2.335713177e-03f, 2.334228182e-03f,
+2.332739232e-03f, 2.331246328e-03f, 2.329749475e-03f, 2.328248674e-03f, 2.326743928e-03f, 2.325235241e-03f, 2.323722615e-03f, 2.322206052e-03f, 2.320685557e-03f, 2.319161130e-03f,
+2.317632776e-03f, 2.316100498e-03f, 2.314564297e-03f, 2.313024177e-03f, 2.311480141e-03f, 2.309932192e-03f, 2.308380332e-03f, 2.306824565e-03f, 2.305264893e-03f, 2.303701319e-03f,
+2.302133846e-03f, 2.300562478e-03f, 2.298987216e-03f, 2.297408065e-03f, 2.295825026e-03f, 2.294238103e-03f, 2.292647298e-03f, 2.291052615e-03f, 2.289454057e-03f, 2.287851627e-03f,
+2.286245327e-03f, 2.284635161e-03f, 2.283021131e-03f, 2.281403240e-03f, 2.279781493e-03f, 2.278155890e-03f, 2.276526437e-03f, 2.274893135e-03f, 2.273255987e-03f, 2.271614997e-03f,
+2.269970168e-03f, 2.268321503e-03f, 2.266669004e-03f, 2.265012675e-03f, 2.263352519e-03f, 2.261688539e-03f, 2.260020738e-03f, 2.258349119e-03f, 2.256673686e-03f, 2.254994440e-03f,
+2.253311386e-03f, 2.251624527e-03f, 2.249933865e-03f, 2.248239404e-03f, 2.246541147e-03f, 2.244839097e-03f, 2.243133257e-03f, 2.241423630e-03f, 2.239710220e-03f, 2.237993029e-03f,
+2.236272061e-03f, 2.234547320e-03f, 2.232818807e-03f, 2.231086527e-03f, 2.229350482e-03f, 2.227610676e-03f, 2.225867111e-03f, 2.224119792e-03f, 2.222368722e-03f, 2.220613903e-03f,
+2.218855338e-03f, 2.217093032e-03f, 2.215326987e-03f, 2.213557207e-03f, 2.211783694e-03f, 2.210006453e-03f, 2.208225485e-03f, 2.206440796e-03f, 2.204652387e-03f, 2.202860262e-03f,
+2.201064425e-03f, 2.199264879e-03f, 2.197461627e-03f, 2.195654672e-03f, 2.193844018e-03f, 2.192029667e-03f, 2.190211625e-03f, 2.188389893e-03f, 2.186564474e-03f, 2.184735374e-03f,
+2.182902594e-03f, 2.181066138e-03f, 2.179226009e-03f, 2.177382212e-03f, 2.175534748e-03f, 2.173683623e-03f, 2.171828838e-03f, 2.169970397e-03f, 2.168108305e-03f, 2.166242564e-03f,
+2.164373177e-03f, 2.162500148e-03f, 2.160623481e-03f, 2.158743179e-03f, 2.156859245e-03f, 2.154971683e-03f, 2.153080496e-03f, 2.151185687e-03f, 2.149287262e-03f, 2.147385221e-03f,
+2.145479570e-03f, 2.143570311e-03f, 2.141657449e-03f, 2.139740986e-03f, 2.137820926e-03f, 2.135897273e-03f, 2.133970030e-03f, 2.132039201e-03f, 2.130104789e-03f, 2.128166797e-03f,
+2.126225230e-03f, 2.124280090e-03f, 2.122331382e-03f, 2.120379109e-03f, 2.118423274e-03f, 2.116463882e-03f, 2.114500934e-03f, 2.112534436e-03f, 2.110564391e-03f, 2.108590802e-03f,
+2.106613673e-03f, 2.104633008e-03f, 2.102648810e-03f, 2.100661082e-03f, 2.098669829e-03f, 2.096675054e-03f, 2.094676761e-03f, 2.092674953e-03f, 2.090669634e-03f, 2.088660808e-03f,
+2.086648477e-03f, 2.084632647e-03f, 2.082613320e-03f, 2.080590501e-03f, 2.078564193e-03f, 2.076534399e-03f, 2.074501123e-03f, 2.072464370e-03f, 2.070424142e-03f, 2.068380443e-03f,
+2.066333278e-03f, 2.064282650e-03f, 2.062228562e-03f, 2.060171018e-03f, 2.058110023e-03f, 2.056045580e-03f, 2.053977691e-03f, 2.051906363e-03f, 2.049831597e-03f, 2.047753398e-03f,
+2.045671770e-03f, 2.043586716e-03f, 2.041498241e-03f, 2.039406347e-03f, 2.037311039e-03f, 2.035212321e-03f, 2.033110196e-03f, 2.031004668e-03f, 2.028895741e-03f, 2.026783419e-03f,
+2.024667706e-03f, 2.022548605e-03f, 2.020426121e-03f, 2.018300256e-03f, 2.016171016e-03f, 2.014038404e-03f, 2.011902423e-03f, 2.009763078e-03f, 2.007620373e-03f, 2.005474311e-03f,
+2.003324896e-03f, 2.001172132e-03f, 1.999016023e-03f, 1.996856574e-03f, 1.994693787e-03f, 1.992527667e-03f, 1.990358217e-03f, 1.988185443e-03f, 1.986009346e-03f, 1.983829933e-03f,
+1.981647205e-03f, 1.979461168e-03f, 1.977271826e-03f, 1.975079182e-03f, 1.972883240e-03f, 1.970684004e-03f, 1.968481478e-03f, 1.966275667e-03f, 1.964066573e-03f, 1.961854202e-03f,
+1.959638557e-03f, 1.957419642e-03f, 1.955197462e-03f, 1.952972019e-03f, 1.950743319e-03f, 1.948511365e-03f, 1.946276161e-03f, 1.944037711e-03f, 1.941796020e-03f, 1.939551091e-03f,
+1.937302929e-03f, 1.935051537e-03f, 1.932796919e-03f, 1.930539080e-03f, 1.928278024e-03f, 1.926013755e-03f, 1.923746276e-03f, 1.921475592e-03f, 1.919201707e-03f, 1.916924626e-03f,
+1.914644351e-03f, 1.912360888e-03f, 1.910074241e-03f, 1.907784413e-03f, 1.905491408e-03f, 1.903195232e-03f, 1.900895887e-03f, 1.898593378e-03f, 1.896287710e-03f, 1.893978886e-03f,
+1.891666911e-03f, 1.889351788e-03f, 1.887033522e-03f, 1.884712118e-03f, 1.882387578e-03f, 1.880059908e-03f, 1.877729111e-03f, 1.875395193e-03f, 1.873058156e-03f, 1.870718005e-03f,
+1.868374745e-03f, 1.866028380e-03f, 1.863678913e-03f, 1.861326349e-03f, 1.858970693e-03f, 1.856611948e-03f, 1.854250119e-03f, 1.851885210e-03f, 1.849517225e-03f, 1.847146169e-03f,
+1.844772045e-03f, 1.842394858e-03f, 1.840014613e-03f, 1.837631314e-03f, 1.835244964e-03f, 1.832855568e-03f, 1.830463131e-03f, 1.828067657e-03f, 1.825669149e-03f, 1.823267613e-03f,
+1.820863053e-03f, 1.818455472e-03f, 1.816044876e-03f, 1.813631268e-03f, 1.811214654e-03f, 1.808795036e-03f, 1.806372420e-03f, 1.803946811e-03f, 1.801518211e-03f, 1.799086626e-03f,
+1.796652060e-03f, 1.794214518e-03f, 1.791774003e-03f, 1.789330521e-03f, 1.786884075e-03f, 1.784434669e-03f, 1.781982310e-03f, 1.779526999e-03f, 1.777068743e-03f, 1.774607546e-03f,
+1.772143411e-03f, 1.769676344e-03f, 1.767206348e-03f, 1.764733428e-03f, 1.762257589e-03f, 1.759778836e-03f, 1.757297171e-03f, 1.754812600e-03f, 1.752325128e-03f, 1.749834759e-03f,
+1.747341496e-03f, 1.744845346e-03f, 1.742346312e-03f, 1.739844398e-03f, 1.737339609e-03f, 1.734831950e-03f, 1.732321426e-03f, 1.729808039e-03f, 1.727291796e-03f, 1.724772700e-03f,
+1.722250757e-03f, 1.719725970e-03f, 1.717198344e-03f, 1.714667884e-03f, 1.712134594e-03f, 1.709598478e-03f, 1.707059542e-03f, 1.704517789e-03f, 1.701973225e-03f, 1.699425854e-03f,
+1.696875680e-03f, 1.694322708e-03f, 1.691766942e-03f, 1.689208388e-03f, 1.686647049e-03f, 1.684082930e-03f, 1.681516036e-03f, 1.678946371e-03f, 1.676373941e-03f, 1.673798749e-03f,
+1.671220800e-03f, 1.668640099e-03f, 1.666056650e-03f, 1.663470458e-03f, 1.660881528e-03f, 1.658289863e-03f, 1.655695470e-03f, 1.653098352e-03f, 1.650498514e-03f, 1.647895961e-03f,
+1.645290698e-03f, 1.642682728e-03f, 1.640072057e-03f, 1.637458689e-03f, 1.634842629e-03f, 1.632223882e-03f, 1.629602452e-03f, 1.626978344e-03f, 1.624351562e-03f, 1.621722112e-03f,
+1.619089998e-03f, 1.616455225e-03f, 1.613817797e-03f, 1.611177719e-03f, 1.608534996e-03f, 1.605889633e-03f, 1.603241633e-03f, 1.600591003e-03f, 1.597937746e-03f, 1.595281868e-03f,
+1.592623372e-03f, 1.589962265e-03f, 1.587298550e-03f, 1.584632232e-03f, 1.581963317e-03f, 1.579291808e-03f, 1.576617711e-03f, 1.573941030e-03f, 1.571261770e-03f, 1.568579936e-03f,
+1.565895533e-03f, 1.563208565e-03f, 1.560519037e-03f, 1.557826955e-03f, 1.555132321e-03f, 1.552435143e-03f, 1.549735424e-03f, 1.547033169e-03f, 1.544328383e-03f, 1.541621070e-03f,
+1.538911236e-03f, 1.536198886e-03f, 1.533484024e-03f, 1.530766654e-03f, 1.528046783e-03f, 1.525324414e-03f, 1.522599553e-03f, 1.519872204e-03f, 1.517142372e-03f, 1.514410063e-03f,
+1.511675280e-03f, 1.508938029e-03f, 1.506198315e-03f, 1.503456142e-03f, 1.500711516e-03f, 1.497964440e-03f, 1.495214921e-03f, 1.492462963e-03f, 1.489708571e-03f, 1.486951749e-03f,
+1.484192503e-03f, 1.481430838e-03f, 1.478666758e-03f, 1.475900269e-03f, 1.473131375e-03f, 1.470360081e-03f, 1.467586392e-03f, 1.464810313e-03f, 1.462031849e-03f, 1.459251005e-03f,
+1.456467785e-03f, 1.453682196e-03f, 1.450894241e-03f, 1.448103925e-03f, 1.445311255e-03f, 1.442516233e-03f, 1.439718867e-03f, 1.436919159e-03f, 1.434117116e-03f, 1.431312743e-03f,
+1.428506044e-03f, 1.425697024e-03f, 1.422885688e-03f, 1.420072041e-03f, 1.417256089e-03f, 1.414437836e-03f, 1.411617288e-03f, 1.408794448e-03f, 1.405969323e-03f, 1.403141917e-03f,
+1.400312235e-03f, 1.397480282e-03f, 1.394646064e-03f, 1.391809585e-03f, 1.388970850e-03f, 1.386129865e-03f, 1.383286634e-03f, 1.380441162e-03f, 1.377593455e-03f, 1.374743517e-03f,
+1.371891354e-03f, 1.369036970e-03f, 1.366180371e-03f, 1.363321561e-03f, 1.360460547e-03f, 1.357597332e-03f, 1.354731921e-03f, 1.351864321e-03f, 1.348994536e-03f, 1.346122571e-03f,
+1.343248431e-03f, 1.340372121e-03f, 1.337493646e-03f, 1.334613012e-03f, 1.331730223e-03f, 1.328845285e-03f, 1.325958203e-03f, 1.323068981e-03f, 1.320177625e-03f, 1.317284140e-03f,
+1.314388532e-03f, 1.311490804e-03f, 1.308590963e-03f, 1.305689014e-03f, 1.302784960e-03f, 1.299878809e-03f, 1.296970565e-03f, 1.294060232e-03f, 1.291147817e-03f, 1.288233324e-03f,
+1.285316758e-03f, 1.282398125e-03f, 1.279477430e-03f, 1.276554678e-03f, 1.273629873e-03f, 1.270703022e-03f, 1.267774129e-03f, 1.264843200e-03f, 1.261910240e-03f, 1.258975253e-03f,
+1.256038246e-03f, 1.253099222e-03f, 1.250158189e-03f, 1.247215150e-03f, 1.244270110e-03f, 1.241323076e-03f, 1.238374052e-03f, 1.235423043e-03f, 1.232470055e-03f, 1.229515093e-03f,
+1.226558162e-03f, 1.223599267e-03f, 1.220638414e-03f, 1.217675607e-03f, 1.214710852e-03f, 1.211744155e-03f, 1.208775520e-03f, 1.205804952e-03f, 1.202832457e-03f, 1.199858041e-03f,
+1.196881707e-03f, 1.193903463e-03f, 1.190923312e-03f, 1.187941260e-03f, 1.184957312e-03f, 1.181971475e-03f, 1.178983752e-03f, 1.175994149e-03f, 1.173002671e-03f, 1.170009324e-03f,
+1.167014113e-03f, 1.164017044e-03f, 1.161018120e-03f, 1.158017349e-03f, 1.155014734e-03f, 1.152010282e-03f, 1.149003998e-03f, 1.145995886e-03f, 1.142985953e-03f, 1.139974203e-03f,
+1.136960642e-03f, 1.133945275e-03f, 1.130928107e-03f, 1.127909144e-03f, 1.124888392e-03f, 1.121865854e-03f, 1.118841537e-03f, 1.115815447e-03f, 1.112787587e-03f, 1.109757964e-03f,
+1.106726584e-03f, 1.103693450e-03f, 1.100658569e-03f, 1.097621946e-03f, 1.094583587e-03f, 1.091543496e-03f, 1.088501679e-03f, 1.085458141e-03f, 1.082412888e-03f, 1.079365926e-03f,
+1.076317258e-03f, 1.073266892e-03f, 1.070214831e-03f, 1.067161082e-03f, 1.064105650e-03f, 1.061048540e-03f, 1.057989758e-03f, 1.054929309e-03f, 1.051867198e-03f, 1.048803431e-03f,
+1.045738013e-03f, 1.042670950e-03f, 1.039602246e-03f, 1.036531908e-03f, 1.033459940e-03f, 1.030386349e-03f, 1.027311139e-03f, 1.024234315e-03f, 1.021155885e-03f, 1.018075851e-03f,
+1.014994221e-03f, 1.011911000e-03f, 1.008826192e-03f, 1.005739804e-03f, 1.002651840e-03f, 9.995623066e-04f, 9.964712088e-04f, 9.933785520e-04f, 9.902843417e-04f, 9.871885832e-04f,
+9.840912820e-04f, 9.809924436e-04f, 9.778920734e-04f, 9.747901768e-04f, 9.716867592e-04f, 9.685818262e-04f, 9.654753831e-04f, 9.623674354e-04f, 9.592579886e-04f, 9.561470480e-04f,
+9.530346193e-04f, 9.499207077e-04f, 9.468053189e-04f, 9.436884581e-04f, 9.405701310e-04f, 9.374503430e-04f, 9.343290995e-04f, 9.312064060e-04f, 9.280822680e-04f, 9.249566910e-04f,
+9.218296804e-04f, 9.187012418e-04f, 9.155713805e-04f, 9.124401021e-04f, 9.093074122e-04f, 9.061733160e-04f, 9.030378193e-04f, 8.999009274e-04f, 8.967626458e-04f, 8.936229801e-04f,
+8.904819357e-04f, 8.873395182e-04f, 8.841957330e-04f, 8.810505857e-04f, 8.779040817e-04f, 8.747562266e-04f, 8.716070259e-04f, 8.684564851e-04f, 8.653046097e-04f, 8.621514052e-04f,
+8.589968772e-04f, 8.558410311e-04f, 8.526838726e-04f, 8.495254071e-04f, 8.463656401e-04f, 8.432045772e-04f, 8.400422240e-04f, 8.368785858e-04f, 8.337136684e-04f, 8.305474772e-04f,
+8.273800177e-04f, 8.242112956e-04f, 8.210413163e-04f, 8.178700853e-04f, 8.146976084e-04f, 8.115238909e-04f, 8.083489384e-04f, 8.051727566e-04f, 8.019953508e-04f, 7.988167268e-04f,
+7.956368901e-04f, 7.924558461e-04f, 7.892736006e-04f, 7.860901590e-04f, 7.829055269e-04f, 7.797197099e-04f, 7.765327135e-04f, 7.733445433e-04f, 7.701552050e-04f, 7.669647040e-04f,
+7.637730459e-04f, 7.605802363e-04f, 7.573862809e-04f, 7.541911851e-04f, 7.509949546e-04f, 7.477975949e-04f, 7.445991117e-04f, 7.413995104e-04f, 7.381987968e-04f, 7.349969764e-04f,
+7.317940547e-04f, 7.285900375e-04f, 7.253849302e-04f, 7.221787385e-04f, 7.189714679e-04f, 7.157631242e-04f, 7.125537128e-04f, 7.093432394e-04f, 7.061317096e-04f, 7.029191290e-04f,
+6.997055031e-04f, 6.964908377e-04f, 6.932751383e-04f, 6.900584105e-04f, 6.868406600e-04f, 6.836218924e-04f, 6.804021132e-04f, 6.771813281e-04f, 6.739595427e-04f, 6.707367627e-04f,
+6.675129936e-04f, 6.642882411e-04f, 6.610625109e-04f, 6.578358084e-04f, 6.546081394e-04f, 6.513795096e-04f, 6.481499244e-04f, 6.449193896e-04f, 6.416879108e-04f, 6.384554936e-04f,
+6.352221437e-04f, 6.319878667e-04f, 6.287526682e-04f, 6.255165540e-04f, 6.222795295e-04f, 6.190416005e-04f, 6.158027726e-04f, 6.125630515e-04f, 6.093224427e-04f, 6.060809520e-04f,
+6.028385850e-04f, 5.995953474e-04f, 5.963512447e-04f, 5.931062827e-04f, 5.898604671e-04f, 5.866138033e-04f, 5.833662972e-04f, 5.801179544e-04f, 5.768687805e-04f, 5.736187812e-04f,
+5.703679621e-04f, 5.671163290e-04f, 5.638638874e-04f, 5.606106431e-04f, 5.573566017e-04f, 5.541017689e-04f, 5.508461503e-04f, 5.475897516e-04f, 5.443325785e-04f, 5.410746366e-04f,
+5.378159317e-04f, 5.345564694e-04f, 5.312962553e-04f, 5.280352952e-04f, 5.247735947e-04f, 5.215111594e-04f, 5.182479952e-04f, 5.149841076e-04f, 5.117195023e-04f, 5.084541851e-04f,
+5.051881615e-04f, 5.019214373e-04f, 4.986540182e-04f, 4.953859098e-04f, 4.921171179e-04f, 4.888476480e-04f, 4.855775059e-04f, 4.823066974e-04f, 4.790352280e-04f, 4.757631034e-04f,
+4.724903295e-04f, 4.692169117e-04f, 4.659428559e-04f, 4.626681678e-04f, 4.593928529e-04f, 4.561169171e-04f, 4.528403659e-04f, 4.495632052e-04f, 4.462854406e-04f, 4.430070778e-04f,
+4.397281225e-04f, 4.364485803e-04f, 4.331684571e-04f, 4.298877585e-04f, 4.266064901e-04f, 4.233246578e-04f, 4.200422672e-04f, 4.167593239e-04f, 4.134758338e-04f, 4.101918025e-04f,
+4.069072357e-04f, 4.036221391e-04f, 4.003365184e-04f, 3.970503794e-04f, 3.937637277e-04f, 3.904765690e-04f, 3.871889091e-04f, 3.839007537e-04f, 3.806121084e-04f, 3.773229790e-04f,
+3.740333712e-04f, 3.707432908e-04f, 3.674527433e-04f, 3.641617346e-04f, 3.608702703e-04f, 3.575783561e-04f, 3.542859978e-04f, 3.509932011e-04f, 3.476999717e-04f, 3.444063153e-04f,
+3.411122376e-04f, 3.378177444e-04f, 3.345228413e-04f, 3.312275341e-04f, 3.279318285e-04f, 3.246357302e-04f, 3.213392449e-04f, 3.180423783e-04f, 3.147451362e-04f, 3.114475243e-04f,
+3.081495483e-04f, 3.048512139e-04f, 3.015525269e-04f, 2.982534929e-04f, 2.949541177e-04f, 2.916544069e-04f, 2.883543664e-04f, 2.850540019e-04f, 2.817533190e-04f, 2.784523235e-04f,
+2.751510210e-04f, 2.718494175e-04f, 2.685475184e-04f, 2.652453297e-04f, 2.619428569e-04f, 2.586401058e-04f, 2.553370822e-04f, 2.520337918e-04f, 2.487302402e-04f, 2.454264333e-04f,
+2.421223766e-04f, 2.388180761e-04f, 2.355135373e-04f, 2.322087660e-04f, 2.289037680e-04f, 2.255985489e-04f, 2.222931145e-04f, 2.189874705e-04f, 2.156816227e-04f, 2.123755766e-04f,
+2.090693382e-04f, 2.057629131e-04f, 2.024563070e-04f, 1.991495256e-04f, 1.958425747e-04f, 1.925354600e-04f, 1.892281873e-04f, 1.859207622e-04f, 1.826131904e-04f, 1.793054778e-04f,
+1.759976300e-04f, 1.726896527e-04f, 1.693815517e-04f, 1.660733327e-04f, 1.627650014e-04f, 1.594565636e-04f, 1.561480249e-04f, 1.528393911e-04f, 1.495306680e-04f, 1.462218612e-04f,
+1.429129764e-04f, 1.396040194e-04f, 1.362949960e-04f, 1.329859117e-04f, 1.296767724e-04f, 1.263675838e-04f, 1.230583516e-04f, 1.197490815e-04f, 1.164397793e-04f, 1.131304506e-04f,
+1.098211012e-04f, 1.065117368e-04f, 1.032023631e-04f, 9.989298586e-05f, 9.658361079e-05f, 9.327424361e-05f, 8.996489004e-05f, 8.665555579e-05f, 8.334624658e-05f, 8.003696814e-05f,
+7.672772617e-05f, 7.341852640e-05f, 7.010937454e-05f, 6.680027632e-05f, 6.349123744e-05f, 6.018226362e-05f, 5.687336059e-05f, 5.356453405e-05f, 5.025578972e-05f, 4.694713331e-05f,
+4.363857055e-05f, 4.033010713e-05f, 3.702174878e-05f, 3.371350120e-05f, 3.040537012e-05f, 2.709736123e-05f, 2.378948026e-05f, 2.048173291e-05f, 1.717412489e-05f, 1.386666191e-05f,
+1.055934969e-05f, 7.252193920e-06f, 3.945200319e-06f, 6.383745921e-07f, -2.668277554e-06f, -5.974750414e-06f, -9.281038283e-06f, -1.258713545e-05f, -1.589303623e-05f, -1.919873489e-05f,
+-2.250422575e-05f, -2.580950310e-05f, -2.911456124e-05f, -3.241939447e-05f, -3.572399709e-05f, -3.902836340e-05f, -4.233248770e-05f, -4.563636429e-05f, -4.893998747e-05f, -5.224335155e-05f,
+-5.554645084e-05f, -5.884927963e-05f, -6.215183224e-05f, -6.545410297e-05f, -6.875608612e-05f, -7.205777601e-05f, -7.535916695e-05f, -7.866025324e-05f, -8.196102919e-05f, -8.526148912e-05f,
+-8.856162734e-05f, -9.186143816e-05f, -9.516091589e-05f, -9.846005486e-05f, -1.017588494e-04f, -1.050572937e-04f, -1.083553823e-04f, -1.116531093e-04f, -1.149504692e-04f, -1.182474562e-04f,
+-1.215440647e-04f, -1.248402889e-04f, -1.281361233e-04f, -1.314315621e-04f, -1.347265996e-04f, -1.380212302e-04f, -1.413154483e-04f, -1.446092480e-04f, -1.479026239e-04f, -1.511955701e-04f,
+-1.544880810e-04f, -1.577801510e-04f, -1.610717744e-04f, -1.643629456e-04f, -1.676536587e-04f, -1.709439083e-04f, -1.742336887e-04f, -1.775229941e-04f, -1.808118189e-04f, -1.841001574e-04f,
+-1.873880041e-04f, -1.906753532e-04f, -1.939621991e-04f, -1.972485361e-04f, -2.005343586e-04f, -2.038196609e-04f, -2.071044375e-04f, -2.103886825e-04f, -2.136723904e-04f, -2.169555555e-04f,
+-2.202381723e-04f, -2.235202349e-04f, -2.268017379e-04f, -2.300826755e-04f, -2.333630421e-04f, -2.366428321e-04f, -2.399220399e-04f, -2.432006597e-04f, -2.464786860e-04f, -2.497561131e-04f,
+-2.530329355e-04f, -2.563091474e-04f, -2.595847432e-04f, -2.628597173e-04f, -2.661340641e-04f, -2.694077780e-04f, -2.726808533e-04f, -2.759532844e-04f, -2.792250656e-04f, -2.824961915e-04f,
+-2.857666562e-04f, -2.890364543e-04f, -2.923055801e-04f, -2.955740280e-04f, -2.988417924e-04f, -3.021088677e-04f, -3.053752482e-04f, -3.086409283e-04f, -3.119059025e-04f, -3.151701652e-04f,
+-3.184337106e-04f, -3.216965333e-04f, -3.249586276e-04f, -3.282199880e-04f, -3.314806088e-04f, -3.347404844e-04f, -3.379996092e-04f, -3.412579777e-04f, -3.445155843e-04f, -3.477724233e-04f,
+-3.510284892e-04f, -3.542837763e-04f, -3.575382792e-04f, -3.607919922e-04f, -3.640449097e-04f, -3.672970262e-04f, -3.705483361e-04f, -3.737988338e-04f, -3.770485136e-04f, -3.802973702e-04f,
+-3.835453978e-04f, -3.867925910e-04f, -3.900389440e-04f, -3.932844515e-04f, -3.965291078e-04f, -3.997729073e-04f, -4.030158445e-04f, -4.062579138e-04f, -4.094991097e-04f, -4.127394266e-04f,
+-4.159788590e-04f, -4.192174013e-04f, -4.224550479e-04f, -4.256917934e-04f, -4.289276321e-04f, -4.321625585e-04f, -4.353965671e-04f, -4.386296524e-04f, -4.418618087e-04f, -4.450930306e-04f,
+-4.483233125e-04f, -4.515526489e-04f, -4.547810342e-04f, -4.580084630e-04f, -4.612349297e-04f, -4.644604288e-04f, -4.676849547e-04f, -4.709085019e-04f, -4.741310649e-04f, -4.773526383e-04f,
+-4.805732164e-04f, -4.837927937e-04f, -4.870113648e-04f, -4.902289242e-04f, -4.934454663e-04f, -4.966609856e-04f, -4.998754766e-04f, -5.030889339e-04f, -5.063013518e-04f, -5.095127250e-04f,
+-5.127230480e-04f, -5.159323151e-04f, -5.191405210e-04f, -5.223476602e-04f, -5.255537271e-04f, -5.287587163e-04f, -5.319626223e-04f, -5.351654397e-04f, -5.383671629e-04f, -5.415677864e-04f,
+-5.447673048e-04f, -5.479657127e-04f, -5.511630045e-04f, -5.543591748e-04f, -5.575542181e-04f, -5.607481290e-04f, -5.639409020e-04f, -5.671325316e-04f, -5.703230124e-04f, -5.735123389e-04f,
+-5.767005057e-04f, -5.798875074e-04f, -5.830733384e-04f, -5.862579934e-04f, -5.894414668e-04f, -5.926237533e-04f, -5.958048474e-04f, -5.989847437e-04f, -6.021634368e-04f, -6.053409212e-04f,
+-6.085171915e-04f, -6.116922422e-04f, -6.148660680e-04f, -6.180386634e-04f, -6.212100230e-04f, -6.243801414e-04f, -6.275490132e-04f, -6.307166329e-04f, -6.338829952e-04f, -6.370480946e-04f,
+-6.402119258e-04f, -6.433744833e-04f, -6.465357618e-04f, -6.496957558e-04f, -6.528544600e-04f, -6.560118689e-04f, -6.591679773e-04f, -6.623227796e-04f, -6.654762705e-04f, -6.686284446e-04f,
+-6.717792966e-04f, -6.749288210e-04f, -6.780770126e-04f, -6.812238658e-04f, -6.843693754e-04f, -6.875135361e-04f, -6.906563423e-04f, -6.937977888e-04f, -6.969378702e-04f, -7.000765812e-04f,
+-7.032139164e-04f, -7.063498704e-04f, -7.094844379e-04f, -7.126176136e-04f, -7.157493922e-04f, -7.188797682e-04f, -7.220087363e-04f, -7.251362912e-04f, -7.282624277e-04f, -7.313871403e-04f,
+-7.345104237e-04f, -7.376322726e-04f, -7.407526817e-04f, -7.438716456e-04f, -7.469891591e-04f, -7.501052169e-04f, -7.532198136e-04f, -7.563329439e-04f, -7.594446025e-04f, -7.625547842e-04f,
+-7.656634836e-04f, -7.687706954e-04f, -7.718764143e-04f, -7.749806351e-04f, -7.780833525e-04f, -7.811845611e-04f, -7.842842557e-04f, -7.873824311e-04f, -7.904790819e-04f, -7.935742029e-04f,
+-7.966677888e-04f, -7.997598343e-04f, -8.028503342e-04f, -8.059392833e-04f, -8.090266762e-04f, -8.121125077e-04f, -8.151967725e-04f, -8.182794655e-04f, -8.213605813e-04f, -8.244401148e-04f,
+-8.275180606e-04f, -8.305944136e-04f, -8.336691685e-04f, -8.367423201e-04f, -8.398138631e-04f, -8.428837924e-04f, -8.459521027e-04f, -8.490187888e-04f, -8.520838455e-04f, -8.551472675e-04f,
+-8.582090497e-04f, -8.612691869e-04f, -8.643276738e-04f, -8.673845052e-04f, -8.704396761e-04f, -8.734931811e-04f, -8.765450150e-04f, -8.795951728e-04f, -8.826436492e-04f, -8.856904390e-04f,
+-8.887355370e-04f, -8.917789381e-04f, -8.948206372e-04f, -8.978606289e-04f, -9.008989083e-04f, -9.039354700e-04f, -9.069703091e-04f, -9.100034202e-04f, -9.130347983e-04f, -9.160644381e-04f,
+-9.190923347e-04f, -9.221184827e-04f, -9.251428772e-04f, -9.281655128e-04f, -9.311863846e-04f, -9.342054874e-04f, -9.372228161e-04f, -9.402383655e-04f, -9.432521305e-04f, -9.462641060e-04f,
+-9.492742869e-04f, -9.522826681e-04f, -9.552892445e-04f, -9.582940110e-04f, -9.612969624e-04f, -9.642980938e-04f, -9.672974000e-04f, -9.702948758e-04f, -9.732905163e-04f, -9.762843164e-04f,
+-9.792762709e-04f, -9.822663748e-04f, -9.852546230e-04f, -9.882410106e-04f, -9.912255323e-04f, -9.942081831e-04f, -9.971889580e-04f, -1.000167852e-03f, -1.003144860e-03f, -1.006119977e-03f,
+-1.009093198e-03f, -1.012064517e-03f, -1.015033931e-03f, -1.018001433e-03f, -1.020967019e-03f, -1.023930684e-03f, -1.026892422e-03f, -1.029852229e-03f, -1.032810100e-03f, -1.035766029e-03f,
+-1.038720013e-03f, -1.041672044e-03f, -1.044622120e-03f, -1.047570234e-03f, -1.050516382e-03f, -1.053460558e-03f, -1.056402759e-03f, -1.059342978e-03f, -1.062281210e-03f, -1.065217452e-03f,
+-1.068151697e-03f, -1.071083941e-03f, -1.074014179e-03f, -1.076942406e-03f, -1.079868617e-03f, -1.082792807e-03f, -1.085714971e-03f, -1.088635104e-03f, -1.091553201e-03f, -1.094469258e-03f,
+-1.097383269e-03f, -1.100295229e-03f, -1.103205133e-03f, -1.106112978e-03f, -1.109018756e-03f, -1.111922465e-03f, -1.114824098e-03f, -1.117723652e-03f, -1.120621120e-03f, -1.123516498e-03f,
+-1.126409782e-03f, -1.129300966e-03f, -1.132190045e-03f, -1.135077015e-03f, -1.137961870e-03f, -1.140844607e-03f, -1.143725219e-03f, -1.146603702e-03f, -1.149480052e-03f, -1.152354262e-03f,
+-1.155226330e-03f, -1.158096249e-03f, -1.160964014e-03f, -1.163829622e-03f, -1.166693067e-03f, -1.169554344e-03f, -1.172413448e-03f, -1.175270375e-03f, -1.178125120e-03f, -1.180977678e-03f,
+-1.183828044e-03f, -1.186676213e-03f, -1.189522181e-03f, -1.192365942e-03f, -1.195207493e-03f, -1.198046828e-03f, -1.200883942e-03f, -1.203718830e-03f, -1.206551489e-03f, -1.209381912e-03f,
+-1.212210095e-03f, -1.215036035e-03f, -1.217859724e-03f, -1.220681160e-03f, -1.223500337e-03f, -1.226317250e-03f, -1.229131895e-03f, -1.231944267e-03f, -1.234754361e-03f, -1.237562173e-03f,
+-1.240367697e-03f, -1.243170929e-03f, -1.245971865e-03f, -1.248770499e-03f, -1.251566826e-03f, -1.254360843e-03f, -1.257152545e-03f, -1.259941926e-03f, -1.262728982e-03f, -1.265513709e-03f,
+-1.268296101e-03f, -1.271076154e-03f, -1.273853863e-03f, -1.276629224e-03f, -1.279402232e-03f, -1.282172882e-03f, -1.284941170e-03f, -1.287707090e-03f, -1.290470639e-03f, -1.293231811e-03f,
+-1.295990603e-03f, -1.298747009e-03f, -1.301501024e-03f, -1.304252645e-03f, -1.307001866e-03f, -1.309748682e-03f, -1.312493090e-03f, -1.315235085e-03f, -1.317974661e-03f, -1.320711815e-03f,
+-1.323446541e-03f, -1.326178836e-03f, -1.328908694e-03f, -1.331636111e-03f, -1.334361083e-03f, -1.337083604e-03f, -1.339803671e-03f, -1.342521278e-03f, -1.345236421e-03f, -1.347949096e-03f,
+-1.350659298e-03f, -1.353367022e-03f, -1.356072264e-03f, -1.358775020e-03f, -1.361475284e-03f, -1.364173052e-03f, -1.366868320e-03f, -1.369561084e-03f, -1.372251338e-03f, -1.374939078e-03f,
+-1.377624300e-03f, -1.380306998e-03f, -1.382987170e-03f, -1.385664809e-03f, -1.388339913e-03f, -1.391012475e-03f, -1.393682492e-03f, -1.396349959e-03f, -1.399014872e-03f, -1.401677226e-03f,
+-1.404337017e-03f, -1.406994240e-03f, -1.409648891e-03f, -1.412300966e-03f, -1.414950459e-03f, -1.417597367e-03f, -1.420241685e-03f, -1.422883409e-03f, -1.425522533e-03f, -1.428159055e-03f,
+-1.430792969e-03f, -1.433424271e-03f, -1.436052956e-03f, -1.438679021e-03f, -1.441302460e-03f, -1.443923269e-03f, -1.446541445e-03f, -1.449156982e-03f, -1.451769876e-03f, -1.454380123e-03f,
+-1.456987719e-03f, -1.459592658e-03f, -1.462194938e-03f, -1.464794552e-03f, -1.467391498e-03f, -1.469985770e-03f, -1.472577365e-03f, -1.475166277e-03f, -1.477752503e-03f, -1.480336039e-03f,
+-1.482916879e-03f, -1.485495020e-03f, -1.488070457e-03f, -1.490643187e-03f, -1.493213204e-03f, -1.495780505e-03f, -1.498345085e-03f, -1.500906939e-03f, -1.503466064e-03f, -1.506022456e-03f,
+-1.508576109e-03f, -1.511127021e-03f, -1.513675185e-03f, -1.516220599e-03f, -1.518763258e-03f, -1.521303158e-03f, -1.523840294e-03f, -1.526374663e-03f, -1.528906259e-03f, -1.531435079e-03f,
+-1.533961119e-03f, -1.536484374e-03f, -1.539004840e-03f, -1.541522514e-03f, -1.544037389e-03f, -1.546549464e-03f, -1.549058733e-03f, -1.551565191e-03f, -1.554068836e-03f, -1.556569663e-03f,
+-1.559067667e-03f, -1.561562844e-03f, -1.564055191e-03f, -1.566544703e-03f, -1.569031376e-03f, -1.571515206e-03f, -1.573996188e-03f, -1.576474319e-03f, -1.578949594e-03f, -1.581422010e-03f,
+-1.583891562e-03f, -1.586358245e-03f, -1.588822057e-03f, -1.591282992e-03f, -1.593741047e-03f, -1.596196218e-03f, -1.598648501e-03f, -1.601097890e-03f, -1.603544383e-03f, -1.605987976e-03f,
+-1.608428663e-03f, -1.610866442e-03f, -1.613301308e-03f, -1.615733257e-03f, -1.618162285e-03f, -1.620588387e-03f, -1.623011561e-03f, -1.625431802e-03f, -1.627849105e-03f, -1.630263467e-03f,
+-1.632674884e-03f, -1.635083352e-03f, -1.637488867e-03f, -1.639891424e-03f, -1.642291020e-03f, -1.644687651e-03f, -1.647081313e-03f, -1.649472001e-03f, -1.651859713e-03f, -1.654244443e-03f,
+-1.656626188e-03f, -1.659004944e-03f, -1.661380708e-03f, -1.663753474e-03f, -1.666123239e-03f, -1.668490000e-03f, -1.670853752e-03f, -1.673214491e-03f, -1.675572213e-03f, -1.677926915e-03f,
+-1.680278593e-03f, -1.682627242e-03f, -1.684972859e-03f, -1.687315440e-03f, -1.689654981e-03f, -1.691991478e-03f, -1.694324928e-03f, -1.696655325e-03f, -1.698982667e-03f, -1.701306950e-03f,
+-1.703628170e-03f, -1.705946322e-03f, -1.708261404e-03f, -1.710573411e-03f, -1.712882339e-03f, -1.715188185e-03f, -1.717490944e-03f, -1.719790614e-03f, -1.722087189e-03f, -1.724380667e-03f,
+-1.726671044e-03f, -1.728958315e-03f, -1.731242477e-03f, -1.733523527e-03f, -1.735801459e-03f, -1.738076272e-03f, -1.740347960e-03f, -1.742616520e-03f, -1.744881949e-03f, -1.747144242e-03f,
+-1.749403396e-03f, -1.751659407e-03f, -1.753912271e-03f, -1.756161986e-03f, -1.758408546e-03f, -1.760651948e-03f, -1.762892189e-03f, -1.765129264e-03f, -1.767363171e-03f, -1.769593905e-03f,
+-1.771821462e-03f, -1.774045840e-03f, -1.776267034e-03f, -1.778485041e-03f, -1.780699856e-03f, -1.782911478e-03f, -1.785119900e-03f, -1.787325121e-03f, -1.789527136e-03f, -1.791725942e-03f,
+-1.793921536e-03f, -1.796113912e-03f, -1.798303069e-03f, -1.800489002e-03f, -1.802671707e-03f, -1.804851182e-03f, -1.807027422e-03f, -1.809200424e-03f, -1.811370184e-03f, -1.813536699e-03f,
+-1.815699966e-03f, -1.817859979e-03f, -1.820016737e-03f, -1.822170235e-03f, -1.824320471e-03f, -1.826467439e-03f, -1.828611137e-03f, -1.830751562e-03f, -1.832888710e-03f, -1.835022576e-03f,
+-1.837153159e-03f, -1.839280454e-03f, -1.841404457e-03f, -1.843525166e-03f, -1.845642576e-03f, -1.847756685e-03f, -1.849867489e-03f, -1.851974983e-03f, -1.854079166e-03f, -1.856180033e-03f,
+-1.858277581e-03f, -1.860371806e-03f, -1.862462706e-03f, -1.864550276e-03f, -1.866634513e-03f, -1.868715414e-03f, -1.870792975e-03f, -1.872867194e-03f, -1.874938065e-03f, -1.877005587e-03f,
+-1.879069756e-03f, -1.881130567e-03f, -1.883188019e-03f, -1.885242107e-03f, -1.887292829e-03f, -1.889340180e-03f, -1.891384158e-03f, -1.893424758e-03f, -1.895461979e-03f, -1.897495816e-03f,
+-1.899526266e-03f, -1.901553326e-03f, -1.903576992e-03f, -1.905597261e-03f, -1.907614130e-03f, -1.909627595e-03f, -1.911637654e-03f, -1.913644303e-03f, -1.915647538e-03f, -1.917647356e-03f,
+-1.919643755e-03f, -1.921636730e-03f, -1.923626279e-03f, -1.925612398e-03f, -1.927595084e-03f, -1.929574333e-03f, -1.931550144e-03f, -1.933522511e-03f, -1.935491433e-03f, -1.937456905e-03f,
+-1.939418925e-03f, -1.941377490e-03f, -1.943332595e-03f, -1.945284239e-03f, -1.947232417e-03f, -1.949177127e-03f, -1.951118366e-03f, -1.953056130e-03f, -1.954990416e-03f, -1.956921221e-03f,
+-1.958848542e-03f, -1.960772375e-03f, -1.962692718e-03f, -1.964609567e-03f, -1.966522920e-03f, -1.968432773e-03f, -1.970339122e-03f, -1.972241966e-03f, -1.974141301e-03f, -1.976037123e-03f,
+-1.977929430e-03f, -1.979818218e-03f, -1.981703485e-03f, -1.983585227e-03f, -1.985463442e-03f, -1.987338126e-03f, -1.989209276e-03f, -1.991076889e-03f, -1.992940962e-03f, -1.994801492e-03f,
+-1.996658477e-03f, -1.998511912e-03f, -2.000361796e-03f, -2.002208125e-03f, -2.004050895e-03f, -2.005890105e-03f, -2.007725750e-03f, -2.009557829e-03f, -2.011386338e-03f, -2.013211273e-03f,
+-2.015032633e-03f, -2.016850414e-03f, -2.018664614e-03f, -2.020475228e-03f, -2.022282255e-03f, -2.024085692e-03f, -2.025885534e-03f, -2.027681781e-03f, -2.029474428e-03f, -2.031263472e-03f,
+-2.033048912e-03f, -2.034830743e-03f, -2.036608964e-03f, -2.038383570e-03f, -2.040154560e-03f, -2.041921931e-03f, -2.043685679e-03f, -2.045445801e-03f, -2.047202296e-03f, -2.048955159e-03f,
+-2.050704389e-03f, -2.052449982e-03f, -2.054191935e-03f, -2.055930246e-03f, -2.057664912e-03f, -2.059395931e-03f, -2.061123298e-03f, -2.062847012e-03f, -2.064567069e-03f, -2.066283468e-03f,
+-2.067996204e-03f, -2.069705277e-03f, -2.071410681e-03f, -2.073112416e-03f, -2.074810477e-03f, -2.076504863e-03f, -2.078195571e-03f, -2.079882598e-03f, -2.081565940e-03f, -2.083245597e-03f,
+-2.084921564e-03f, -2.086593839e-03f, -2.088262419e-03f, -2.089927302e-03f, -2.091588486e-03f, -2.093245966e-03f, -2.094899741e-03f, -2.096549808e-03f, -2.098196165e-03f, -2.099838808e-03f,
+-2.101477736e-03f, -2.103112944e-03f, -2.104744432e-03f, -2.106372195e-03f, -2.107996233e-03f, -2.109616541e-03f, -2.111233117e-03f, -2.112845960e-03f, -2.114455065e-03f, -2.116060431e-03f,
+-2.117662055e-03f, -2.119259934e-03f, -2.120854067e-03f, -2.122444449e-03f, -2.124031080e-03f, -2.125613955e-03f, -2.127193073e-03f, -2.128768432e-03f, -2.130340028e-03f, -2.131907859e-03f,
+-2.133471922e-03f, -2.135032216e-03f, -2.136588738e-03f, -2.138141484e-03f, -2.139690453e-03f, -2.141235642e-03f, -2.142777049e-03f, -2.144314671e-03f, -2.145848506e-03f, -2.147378551e-03f,
+-2.148904804e-03f, -2.150427263e-03f, -2.151945924e-03f, -2.153460786e-03f, -2.154971846e-03f, -2.156479102e-03f, -2.157982551e-03f, -2.159482191e-03f, -2.160978020e-03f, -2.162470035e-03f,
+-2.163958233e-03f, -2.165442613e-03f, -2.166923172e-03f, -2.168399908e-03f, -2.169872818e-03f, -2.171341900e-03f, -2.172807152e-03f, -2.174268571e-03f, -2.175726155e-03f, -2.177179902e-03f,
+-2.178629809e-03f, -2.180075875e-03f, -2.181518096e-03f, -2.182956471e-03f, -2.184390996e-03f, -2.185821671e-03f, -2.187248493e-03f, -2.188671458e-03f, -2.190090566e-03f, -2.191505814e-03f,
+-2.192917200e-03f, -2.194324721e-03f, -2.195728375e-03f, -2.197128160e-03f, -2.198524074e-03f, -2.199916115e-03f, -2.201304280e-03f, -2.202688567e-03f, -2.204068974e-03f, -2.205445499e-03f,
+-2.206818139e-03f, -2.208186893e-03f, -2.209551758e-03f, -2.210912733e-03f, -2.212269814e-03f, -2.213623000e-03f, -2.214972289e-03f, -2.216317679e-03f, -2.217659167e-03f, -2.218996752e-03f,
+-2.220330430e-03f, -2.221660201e-03f, -2.222986062e-03f, -2.224308011e-03f, -2.225626046e-03f, -2.226940165e-03f, -2.228250365e-03f, -2.229556645e-03f, -2.230859003e-03f, -2.232157437e-03f,
+-2.233451944e-03f, -2.234742523e-03f, -2.236029171e-03f, -2.237311887e-03f, -2.238590668e-03f, -2.239865513e-03f, -2.241136419e-03f, -2.242403385e-03f, -2.243666408e-03f, -2.244925487e-03f,
+-2.246180620e-03f, -2.247431804e-03f, -2.248679038e-03f, -2.249922320e-03f, -2.251161647e-03f, -2.252397019e-03f, -2.253628432e-03f, -2.254855886e-03f, -2.256079377e-03f, -2.257298905e-03f,
+-2.258514467e-03f, -2.259726062e-03f, -2.260933687e-03f, -2.262137340e-03f, -2.263337021e-03f, -2.264532726e-03f, -2.265724455e-03f, -2.266912205e-03f, -2.268095974e-03f, -2.269275761e-03f,
+-2.270451563e-03f, -2.271623379e-03f, -2.272791208e-03f, -2.273955047e-03f, -2.275114894e-03f, -2.276270748e-03f, -2.277422607e-03f, -2.278570469e-03f, -2.279714332e-03f, -2.280854195e-03f,
+-2.281990056e-03f, -2.283121912e-03f, -2.284249764e-03f, -2.285373607e-03f, -2.286493442e-03f, -2.287609266e-03f, -2.288721077e-03f, -2.289828874e-03f, -2.290932655e-03f, -2.292032418e-03f,
+-2.293128162e-03f, -2.294219885e-03f, -2.295307585e-03f, -2.296391261e-03f, -2.297470911e-03f, -2.298546533e-03f, -2.299618125e-03f, -2.300685687e-03f, -2.301749216e-03f, -2.302808711e-03f,
+-2.303864170e-03f, -2.304915592e-03f, -2.305962974e-03f, -2.307006316e-03f, -2.308045615e-03f, -2.309080871e-03f, -2.310112081e-03f, -2.311139245e-03f, -2.312162360e-03f, -2.313181424e-03f,
+-2.314196437e-03f, -2.315207397e-03f, -2.316214302e-03f, -2.317217151e-03f, -2.318215943e-03f, -2.319210674e-03f, -2.320201346e-03f, -2.321187954e-03f, -2.322170500e-03f, -2.323148979e-03f,
+-2.324123393e-03f, -2.325093738e-03f, -2.326060013e-03f, -2.327022217e-03f, -2.327980349e-03f, -2.328934407e-03f, -2.329884389e-03f, -2.330830294e-03f, -2.331772122e-03f, -2.332709869e-03f,
+-2.333643535e-03f, -2.334573119e-03f, -2.335498619e-03f, -2.336420034e-03f, -2.337337362e-03f, -2.338250603e-03f, -2.339159753e-03f, -2.340064814e-03f, -2.340965782e-03f, -2.341862656e-03f,
+-2.342755436e-03f, -2.343644120e-03f, -2.344528707e-03f, -2.345409194e-03f, -2.346285582e-03f, -2.347157869e-03f, -2.348026053e-03f, -2.348890133e-03f, -2.349750107e-03f, -2.350605976e-03f,
+-2.351457737e-03f, -2.352305389e-03f, -2.353148930e-03f, -2.353988361e-03f, -2.354823678e-03f, -2.355654882e-03f, -2.356481971e-03f, -2.357304943e-03f, -2.358123798e-03f, -2.358938534e-03f,
+-2.359749151e-03f, -2.360555646e-03f, -2.361358019e-03f, -2.362156268e-03f, -2.362950393e-03f, -2.363740393e-03f, -2.364526265e-03f, -2.365308009e-03f, -2.366085624e-03f, -2.366859109e-03f,
+-2.367628463e-03f, -2.368393684e-03f, -2.369154771e-03f, -2.369911724e-03f, -2.370664541e-03f, -2.371413221e-03f, -2.372157763e-03f, -2.372898166e-03f, -2.373634429e-03f, -2.374366550e-03f,
+-2.375094530e-03f, -2.375818366e-03f, -2.376538059e-03f, -2.377253606e-03f, -2.377965006e-03f, -2.378672259e-03f, -2.379375364e-03f, -2.380074320e-03f, -2.380769125e-03f, -2.381459780e-03f,
+-2.382146282e-03f, -2.382828630e-03f, -2.383506825e-03f, -2.384180864e-03f, -2.384850747e-03f, -2.385516474e-03f, -2.386178042e-03f, -2.386835452e-03f, -2.387488702e-03f, -2.388137791e-03f,
+-2.388782718e-03f, -2.389423483e-03f, -2.390060085e-03f, -2.390692522e-03f, -2.391320795e-03f, -2.391944901e-03f, -2.392564841e-03f, -2.393180613e-03f, -2.393792216e-03f, -2.394399650e-03f,
+-2.395002914e-03f, -2.395602006e-03f, -2.396196927e-03f, -2.396787676e-03f, -2.397374250e-03f, -2.397956651e-03f, -2.398534877e-03f, -2.399108926e-03f, -2.399678800e-03f, -2.400244496e-03f,
+-2.400806013e-03f, -2.401363352e-03f, -2.401916512e-03f, -2.402465491e-03f, -2.403010289e-03f, -2.403550905e-03f, -2.404087339e-03f, -2.404619590e-03f, -2.405147657e-03f, -2.405671539e-03f,
+-2.406191236e-03f, -2.406706747e-03f, -2.407218072e-03f, -2.407725209e-03f, -2.408228158e-03f, -2.408726919e-03f, -2.409221491e-03f, -2.409711872e-03f, -2.410198064e-03f, -2.410680064e-03f,
+-2.411157873e-03f, -2.411631489e-03f, -2.412100912e-03f, -2.412566142e-03f, -2.413027178e-03f, -2.413484019e-03f, -2.413936665e-03f, -2.414385116e-03f, -2.414829370e-03f, -2.415269427e-03f,
+-2.415705287e-03f, -2.416136949e-03f, -2.416564412e-03f, -2.416987676e-03f, -2.417406741e-03f, -2.417821606e-03f, -2.418232271e-03f, -2.418638734e-03f, -2.419040997e-03f, -2.419439057e-03f,
+-2.419832915e-03f, -2.420222570e-03f, -2.420608022e-03f, -2.420989270e-03f, -2.421366314e-03f, -2.421739153e-03f, -2.422107787e-03f, -2.422472216e-03f, -2.422832439e-03f, -2.423188456e-03f,
+-2.423540266e-03f, -2.423887870e-03f, -2.424231265e-03f, -2.424570453e-03f, -2.424905433e-03f, -2.425236205e-03f, -2.425562768e-03f, -2.425885121e-03f, -2.426203265e-03f, -2.426517199e-03f,
+-2.426826923e-03f, -2.427132437e-03f, -2.427433740e-03f, -2.427730832e-03f, -2.428023712e-03f, -2.428312381e-03f, -2.428596838e-03f, -2.428877083e-03f, -2.429153115e-03f, -2.429424935e-03f,
+-2.429692541e-03f, -2.429955935e-03f, -2.430215115e-03f, -2.430470081e-03f, -2.430720834e-03f, -2.430967373e-03f, -2.431209697e-03f, -2.431447807e-03f, -2.431681702e-03f, -2.431911383e-03f,
+-2.432136848e-03f, -2.432358098e-03f, -2.432575133e-03f, -2.432787953e-03f, -2.432996557e-03f, -2.433200945e-03f, -2.433401117e-03f, -2.433597073e-03f, -2.433788813e-03f, -2.433976337e-03f,
+-2.434159645e-03f, -2.434338736e-03f, -2.434513610e-03f, -2.434684268e-03f, -2.434850710e-03f, -2.435012935e-03f, -2.435170942e-03f, -2.435324733e-03f, -2.435474308e-03f, -2.435619665e-03f,
+-2.435760805e-03f, -2.435897729e-03f, -2.436030435e-03f, -2.436158925e-03f, -2.436283197e-03f, -2.436403253e-03f, -2.436519091e-03f, -2.436630713e-03f, -2.436738118e-03f, -2.436841306e-03f,
+-2.436940277e-03f, -2.437035031e-03f, -2.437125569e-03f, -2.437211890e-03f, -2.437293994e-03f, -2.437371882e-03f, -2.437445554e-03f, -2.437515009e-03f, -2.437580249e-03f, -2.437641272e-03f,
+-2.437698079e-03f, -2.437750670e-03f, -2.437799046e-03f, -2.437843206e-03f, -2.437883151e-03f, -2.437918880e-03f, -2.437950394e-03f, -2.437977694e-03f, -2.438000778e-03f, -2.438019649e-03f,
+-2.438034304e-03f, -2.438044746e-03f, -2.438050973e-03f, -2.438052987e-03f, -2.438050788e-03f, -2.438044375e-03f, -2.438033749e-03f, -2.438018910e-03f, -2.437999858e-03f, -2.437976594e-03f,
+-2.437949119e-03f, -2.437917431e-03f, -2.437881532e-03f, -2.437841421e-03f, -2.437797100e-03f, -2.437748568e-03f, -2.437695826e-03f, -2.437638874e-03f, -2.437577712e-03f, -2.437512340e-03f,
+-2.437442760e-03f, -2.437368971e-03f, -2.437290974e-03f, -2.437208768e-03f, -2.437122355e-03f, -2.437031735e-03f, -2.436936908e-03f, -2.436837875e-03f, -2.436734635e-03f, -2.436627190e-03f,
+-2.436515539e-03f, -2.436399684e-03f, -2.436279624e-03f, -2.436155361e-03f, -2.436026893e-03f, -2.435894223e-03f, -2.435757350e-03f, -2.435616275e-03f, -2.435470998e-03f, -2.435321519e-03f,
+-2.435167840e-03f, -2.435009961e-03f, -2.434847882e-03f, -2.434681604e-03f, -2.434511126e-03f, -2.434336451e-03f, -2.434157578e-03f, -2.433974508e-03f, -2.433787241e-03f, -2.433595777e-03f,
+-2.433400119e-03f, -2.433200265e-03f, -2.432996217e-03f, -2.432787975e-03f, -2.432575540e-03f, -2.432358912e-03f, -2.432138092e-03f, -2.431913080e-03f, -2.431683878e-03f, -2.431450485e-03f,
+-2.431212903e-03f, -2.430971131e-03f, -2.430725172e-03f, -2.430475024e-03f, -2.430220690e-03f, -2.429962169e-03f, -2.429699463e-03f, -2.429432571e-03f, -2.429161495e-03f, -2.428886235e-03f,
+-2.428606793e-03f, -2.428323168e-03f, -2.428035362e-03f, -2.427743374e-03f, -2.427447207e-03f, -2.427146860e-03f, -2.426842335e-03f, -2.426533631e-03f, -2.426220751e-03f, -2.425903694e-03f,
+-2.425582462e-03f, -2.425257054e-03f, -2.424927473e-03f, -2.424593719e-03f, -2.424255792e-03f, -2.423913693e-03f, -2.423567423e-03f, -2.423216984e-03f, -2.422862375e-03f, -2.422503598e-03f,
+-2.422140654e-03f, -2.421773542e-03f, -2.421402265e-03f, -2.421026823e-03f, -2.420647217e-03f, -2.420263448e-03f, -2.419875517e-03f, -2.419483424e-03f, -2.419087170e-03f, -2.418686757e-03f,
+-2.418282185e-03f, -2.417873456e-03f, -2.417460569e-03f, -2.417043527e-03f, -2.416622329e-03f, -2.416196978e-03f, -2.415767473e-03f, -2.415333817e-03f, -2.414896009e-03f, -2.414454051e-03f,
+-2.414007944e-03f, -2.413557688e-03f, -2.413103286e-03f, -2.412644737e-03f, -2.412182043e-03f, -2.411715205e-03f, -2.411244224e-03f, -2.410769101e-03f, -2.410289836e-03f, -2.409806432e-03f,
+-2.409318889e-03f, -2.408827208e-03f, -2.408331390e-03f, -2.407831436e-03f, -2.407327347e-03f, -2.406819125e-03f, -2.406306771e-03f, -2.405790285e-03f, -2.405269669e-03f, -2.404744924e-03f,
+-2.404216051e-03f, -2.403683050e-03f, -2.403145925e-03f, -2.402604674e-03f, -2.402059300e-03f, -2.401509804e-03f, -2.400956187e-03f, -2.400398450e-03f, -2.399836594e-03f, -2.399270620e-03f,
+-2.398700530e-03f, -2.398126325e-03f, -2.397548006e-03f, -2.396965575e-03f, -2.396379032e-03f, -2.395788378e-03f, -2.395193616e-03f, -2.394594745e-03f, -2.393991769e-03f, -2.393384686e-03f,
+-2.392773500e-03f, -2.392158212e-03f, -2.391538821e-03f, -2.390915331e-03f, -2.390287742e-03f, -2.389656055e-03f, -2.389020272e-03f, -2.388380394e-03f, -2.387736422e-03f, -2.387088358e-03f,
+-2.386436203e-03f, -2.385779959e-03f, -2.385119626e-03f, -2.384455206e-03f, -2.383786701e-03f, -2.383114112e-03f, -2.382437440e-03f, -2.381756686e-03f, -2.381071853e-03f, -2.380382940e-03f,
+-2.379689951e-03f, -2.378992886e-03f, -2.378291747e-03f, -2.377586534e-03f, -2.376877250e-03f, -2.376163897e-03f, -2.375446474e-03f, -2.374724984e-03f, -2.373999429e-03f, -2.373269810e-03f,
+-2.372536127e-03f, -2.371798384e-03f, -2.371056581e-03f, -2.370310719e-03f, -2.369560801e-03f, -2.368806827e-03f, -2.368048800e-03f, -2.367286721e-03f, -2.366520590e-03f, -2.365750411e-03f,
+-2.364976184e-03f, -2.364197912e-03f, -2.363415594e-03f, -2.362629234e-03f, -2.361838832e-03f, -2.361044391e-03f, -2.360245912e-03f, -2.359443395e-03f, -2.358636844e-03f, -2.357826260e-03f,
+-2.357011644e-03f, -2.356192998e-03f, -2.355370323e-03f, -2.354543621e-03f, -2.353712895e-03f, -2.352878144e-03f, -2.352039372e-03f, -2.351196579e-03f, -2.350349768e-03f, -2.349498940e-03f,
+-2.348644097e-03f, -2.347785240e-03f, -2.346922372e-03f, -2.346055493e-03f, -2.345184606e-03f, -2.344309712e-03f, -2.343430813e-03f, -2.342547911e-03f, -2.341661008e-03f, -2.340770105e-03f,
+-2.339875203e-03f, -2.338976306e-03f, -2.338073414e-03f, -2.337166529e-03f, -2.336255654e-03f, -2.335340789e-03f, -2.334421937e-03f, -2.333499099e-03f, -2.332572278e-03f, -2.331641475e-03f,
+-2.330706692e-03f, -2.329767930e-03f, -2.328825192e-03f, -2.327878479e-03f, -2.326927794e-03f, -2.325973137e-03f, -2.325014512e-03f, -2.324051919e-03f, -2.323085362e-03f, -2.322114840e-03f,
+-2.321140358e-03f, -2.320161915e-03f, -2.319179515e-03f, -2.318193159e-03f, -2.317202849e-03f, -2.316208587e-03f, -2.315210375e-03f, -2.314208215e-03f, -2.313202109e-03f, -2.312192059e-03f,
+-2.311178066e-03f, -2.310160133e-03f, -2.309138261e-03f, -2.308112454e-03f, -2.307082711e-03f, -2.306049037e-03f, -2.305011432e-03f, -2.303969899e-03f, -2.302924439e-03f, -2.301875055e-03f,
+-2.300821748e-03f, -2.299764521e-03f, -2.298703376e-03f, -2.297638315e-03f, -2.296569339e-03f, -2.295496451e-03f, -2.294419654e-03f, -2.293338948e-03f, -2.292254336e-03f, -2.291165820e-03f,
+-2.290073403e-03f, -2.288977086e-03f, -2.287876871e-03f, -2.286772761e-03f, -2.285664758e-03f, -2.284552863e-03f, -2.283437079e-03f, -2.282317408e-03f, -2.281193853e-03f, -2.280066414e-03f,
+-2.278935096e-03f, -2.277799899e-03f, -2.276660825e-03f, -2.275517878e-03f, -2.274371059e-03f, -2.273220370e-03f, -2.272065814e-03f, -2.270907392e-03f, -2.269745108e-03f, -2.268578962e-03f,
+-2.267408958e-03f, -2.266235098e-03f, -2.265057383e-03f, -2.263875817e-03f, -2.262690401e-03f, -2.261501137e-03f, -2.260308029e-03f, -2.259111077e-03f, -2.257910285e-03f, -2.256705655e-03f,
+-2.255497188e-03f, -2.254284888e-03f, -2.253068756e-03f, -2.251848795e-03f, -2.250625008e-03f, -2.249397395e-03f, -2.248165961e-03f, -2.246930707e-03f, -2.245691635e-03f, -2.244448748e-03f,
+-2.243202048e-03f, -2.241951538e-03f, -2.240697220e-03f, -2.239439096e-03f, -2.238177168e-03f, -2.236911440e-03f, -2.235641913e-03f, -2.234368589e-03f, -2.233091473e-03f, -2.231810564e-03f,
+-2.230525867e-03f, -2.229237383e-03f, -2.227945115e-03f, -2.226649065e-03f, -2.225349236e-03f, -2.224045631e-03f, -2.222738251e-03f, -2.221427099e-03f, -2.220112178e-03f, -2.218793489e-03f,
+-2.217471037e-03f, -2.216144822e-03f, -2.214814848e-03f, -2.213481117e-03f, -2.212143631e-03f, -2.210802394e-03f, -2.209457407e-03f, -2.208108673e-03f, -2.206756194e-03f, -2.205399974e-03f,
+-2.204040015e-03f, -2.202676318e-03f, -2.201308888e-03f, -2.199937726e-03f, -2.198562835e-03f, -2.197184217e-03f, -2.195801875e-03f, -2.194415812e-03f, -2.193026031e-03f, -2.191632533e-03f,
+-2.190235321e-03f, -2.188834399e-03f, -2.187429768e-03f, -2.186021432e-03f, -2.184609393e-03f, -2.183193653e-03f, -2.181774215e-03f, -2.180351083e-03f, -2.178924258e-03f, -2.177493743e-03f,
+-2.176059541e-03f, -2.174621654e-03f, -2.173180086e-03f, -2.171734838e-03f, -2.170285915e-03f, -2.168833317e-03f, -2.167377049e-03f, -2.165917112e-03f, -2.164453509e-03f, -2.162986244e-03f,
+-2.161515319e-03f, -2.160040736e-03f, -2.158562499e-03f, -2.157080610e-03f, -2.155595072e-03f, -2.154105887e-03f, -2.152613059e-03f, -2.151116590e-03f, -2.149616483e-03f, -2.148112740e-03f,
+-2.146605365e-03f, -2.145094361e-03f, -2.143579730e-03f, -2.142061474e-03f, -2.140539598e-03f, -2.139014103e-03f, -2.137484992e-03f, -2.135952269e-03f, -2.134415935e-03f, -2.132875995e-03f,
+-2.131332451e-03f, -2.129785305e-03f, -2.128234560e-03f, -2.126680220e-03f, -2.125122288e-03f, -2.123560765e-03f, -2.121995656e-03f, -2.120426962e-03f, -2.118854687e-03f, -2.117278834e-03f,
+-2.115699406e-03f, -2.114116405e-03f, -2.112529835e-03f, -2.110939698e-03f, -2.109345998e-03f, -2.107748737e-03f, -2.106147918e-03f, -2.104543545e-03f, -2.102935619e-03f, -2.101324145e-03f,
+-2.099709125e-03f, -2.098090562e-03f, -2.096468459e-03f, -2.094842819e-03f, -2.093213646e-03f, -2.091580941e-03f, -2.089944708e-03f, -2.088304951e-03f, -2.086661672e-03f, -2.085014874e-03f,
+-2.083364560e-03f, -2.081710733e-03f, -2.080053397e-03f, -2.078392554e-03f, -2.076728207e-03f, -2.075060360e-03f, -2.073389015e-03f, -2.071714176e-03f, -2.070035845e-03f, -2.068354027e-03f,
+-2.066668723e-03f, -2.064979937e-03f, -2.063287672e-03f, -2.061591932e-03f, -2.059892718e-03f, -2.058190035e-03f, -2.056483886e-03f, -2.054774273e-03f, -2.053061200e-03f, -2.051344670e-03f,
+-2.049624686e-03f, -2.047901252e-03f, -2.046174369e-03f, -2.044444043e-03f, -2.042710275e-03f, -2.040973069e-03f, -2.039232428e-03f, -2.037488355e-03f, -2.035740854e-03f, -2.033989928e-03f,
+-2.032235580e-03f, -2.030477812e-03f, -2.028716630e-03f, -2.026952034e-03f, -2.025184030e-03f, -2.023412619e-03f, -2.021637806e-03f, -2.019859593e-03f, -2.018077985e-03f, -2.016292983e-03f,
+-2.014504591e-03f, -2.012712814e-03f, -2.010917653e-03f, -2.009119112e-03f, -2.007317194e-03f, -2.005511904e-03f, -2.003703243e-03f, -2.001891216e-03f, -2.000075825e-03f, -1.998257074e-03f,
+-1.996434967e-03f, -1.994609506e-03f, -1.992780695e-03f, -1.990948538e-03f, -1.989113037e-03f, -1.987274196e-03f, -1.985432018e-03f, -1.983586507e-03f, -1.981737666e-03f, -1.979885499e-03f,
+-1.978030008e-03f, -1.976171198e-03f, -1.974309071e-03f, -1.972443631e-03f, -1.970574882e-03f, -1.968702826e-03f, -1.966827468e-03f, -1.964948810e-03f, -1.963066856e-03f, -1.961181610e-03f,
+-1.959293074e-03f, -1.957401253e-03f, -1.955506150e-03f, -1.953607768e-03f, -1.951706110e-03f, -1.949801181e-03f, -1.947892984e-03f, -1.945981521e-03f, -1.944066797e-03f, -1.942148815e-03f,
+-1.940227579e-03f, -1.938303092e-03f, -1.936375357e-03f, -1.934444378e-03f, -1.932510159e-03f, -1.930572703e-03f, -1.928632013e-03f, -1.926688094e-03f, -1.924740948e-03f, -1.922790579e-03f,
+-1.920836991e-03f, -1.918880187e-03f, -1.916920171e-03f, -1.914956947e-03f, -1.912990517e-03f, -1.911020886e-03f, -1.909048057e-03f, -1.907072034e-03f, -1.905092820e-03f, -1.903110419e-03f,
+-1.901124834e-03f, -1.899136069e-03f, -1.897144128e-03f, -1.895149015e-03f, -1.893150732e-03f, -1.891149283e-03f, -1.889144673e-03f, -1.887136904e-03f, -1.885125981e-03f, -1.883111907e-03f,
+-1.881094685e-03f, -1.879074320e-03f, -1.877050815e-03f, -1.875024174e-03f, -1.872994399e-03f, -1.870961496e-03f, -1.868925468e-03f, -1.866886318e-03f, -1.864844050e-03f, -1.862798667e-03f,
+-1.860750175e-03f, -1.858698575e-03f, -1.856643872e-03f, -1.854586070e-03f, -1.852525172e-03f, -1.850461182e-03f, -1.848394104e-03f, -1.846323942e-03f, -1.844250699e-03f, -1.842174378e-03f,
+-1.840094985e-03f, -1.838012522e-03f, -1.835926993e-03f, -1.833838402e-03f, -1.831746753e-03f, -1.829652050e-03f, -1.827554296e-03f, -1.825453495e-03f, -1.823349651e-03f, -1.821242768e-03f,
+-1.819132850e-03f, -1.817019899e-03f, -1.814903921e-03f, -1.812784919e-03f, -1.810662897e-03f, -1.808537859e-03f, -1.806409808e-03f, -1.804278748e-03f, -1.802144683e-03f, -1.800007618e-03f,
+-1.797867555e-03f, -1.795724499e-03f, -1.793578453e-03f, -1.791429422e-03f, -1.789277410e-03f, -1.787122419e-03f, -1.784964455e-03f, -1.782803520e-03f, -1.780639620e-03f, -1.778472757e-03f,
+-1.776302936e-03f, -1.774130160e-03f, -1.771954434e-03f, -1.769775762e-03f, -1.767594146e-03f, -1.765409592e-03f, -1.763222103e-03f, -1.761031684e-03f, -1.758838337e-03f, -1.756642067e-03f,
+-1.754442878e-03f, -1.752240775e-03f, -1.750035760e-03f, -1.747827838e-03f, -1.745617012e-03f, -1.743403288e-03f, -1.741186668e-03f, -1.738967157e-03f, -1.736744759e-03f, -1.734519477e-03f,
+-1.732291317e-03f, -1.730060281e-03f, -1.727826373e-03f, -1.725589599e-03f, -1.723349961e-03f, -1.721107464e-03f, -1.718862112e-03f, -1.716613909e-03f, -1.714362859e-03f, -1.712108966e-03f,
+-1.709852233e-03f, -1.707592666e-03f, -1.705330268e-03f, -1.703065043e-03f, -1.700796995e-03f, -1.698526129e-03f, -1.696252447e-03f, -1.693975956e-03f, -1.691696658e-03f, -1.689414557e-03f,
+-1.687129658e-03f, -1.684841965e-03f, -1.682551482e-03f, -1.680258213e-03f, -1.677962163e-03f, -1.675663334e-03f, -1.673361732e-03f, -1.671057360e-03f, -1.668750223e-03f, -1.666440325e-03f,
+-1.664127669e-03f, -1.661812261e-03f, -1.659494104e-03f, -1.657173202e-03f, -1.654849560e-03f, -1.652523181e-03f, -1.650194070e-03f, -1.647862231e-03f, -1.645527669e-03f, -1.643190387e-03f,
+-1.640850389e-03f, -1.638507680e-03f, -1.636162264e-03f, -1.633814145e-03f, -1.631463328e-03f, -1.629109816e-03f, -1.626753613e-03f, -1.624394725e-03f, -1.622033155e-03f, -1.619668907e-03f,
+-1.617301986e-03f, -1.614932396e-03f, -1.612560141e-03f, -1.610185225e-03f, -1.607807653e-03f, -1.605427429e-03f, -1.603044556e-03f, -1.600659041e-03f, -1.598270885e-03f, -1.595880095e-03f,
+-1.593486674e-03f, -1.591090626e-03f, -1.588691956e-03f, -1.586290668e-03f, -1.583886767e-03f, -1.581480256e-03f, -1.579071139e-03f, -1.576659422e-03f, -1.574245109e-03f, -1.571828203e-03f,
+-1.569408710e-03f, -1.566986632e-03f, -1.564561976e-03f, -1.562134745e-03f, -1.559704943e-03f, -1.557272575e-03f, -1.554837645e-03f, -1.552400158e-03f, -1.549960117e-03f, -1.547517527e-03f,
+-1.545072393e-03f, -1.542624719e-03f, -1.540174509e-03f, -1.537721768e-03f, -1.535266500e-03f, -1.532808709e-03f, -1.530348399e-03f, -1.527885576e-03f, -1.525420244e-03f, -1.522952406e-03f,
+-1.520482068e-03f, -1.518009233e-03f, -1.515533906e-03f, -1.513056092e-03f, -1.510575795e-03f, -1.508093020e-03f, -1.505607770e-03f, -1.503120050e-03f, -1.500629865e-03f, -1.498137219e-03f,
+-1.495642117e-03f, -1.493144562e-03f, -1.490644560e-03f, -1.488142115e-03f, -1.485637231e-03f, -1.483129913e-03f, -1.480620165e-03f, -1.478107992e-03f, -1.475593398e-03f, -1.473076388e-03f,
+-1.470556966e-03f, -1.468035136e-03f, -1.465510904e-03f, -1.462984273e-03f, -1.460455248e-03f, -1.457923834e-03f, -1.455390035e-03f, -1.452853855e-03f, -1.450315300e-03f, -1.447774373e-03f,
+-1.445231079e-03f, -1.442685423e-03f, -1.440137410e-03f, -1.437587043e-03f, -1.435034327e-03f, -1.432479267e-03f, -1.429921867e-03f, -1.427362132e-03f, -1.424800067e-03f, -1.422235675e-03f,
+-1.419668962e-03f, -1.417099932e-03f, -1.414528590e-03f, -1.411954940e-03f, -1.409378987e-03f, -1.406800735e-03f, -1.404220189e-03f, -1.401637354e-03f, -1.399052234e-03f, -1.396464833e-03f,
+-1.393875157e-03f, -1.391283209e-03f, -1.388688996e-03f, -1.386092520e-03f, -1.383493787e-03f, -1.380892801e-03f, -1.378289567e-03f, -1.375684090e-03f, -1.373076374e-03f, -1.370466423e-03f,
+-1.367854243e-03f, -1.365239839e-03f, -1.362623213e-03f, -1.360004373e-03f, -1.357383321e-03f, -1.354760063e-03f, -1.352134603e-03f, -1.349506946e-03f, -1.346877096e-03f, -1.344245059e-03f,
+-1.341610839e-03f, -1.338974441e-03f, -1.336335868e-03f, -1.333695127e-03f, -1.331052221e-03f, -1.328407156e-03f, -1.325759935e-03f, -1.323110564e-03f, -1.320459048e-03f, -1.317805391e-03f,
+-1.315149597e-03f, -1.312491672e-03f, -1.309831620e-03f, -1.307169446e-03f, -1.304505155e-03f, -1.301838751e-03f, -1.299170239e-03f, -1.296499623e-03f, -1.293826910e-03f, -1.291152102e-03f,
+-1.288475206e-03f, -1.285796225e-03f, -1.283115164e-03f, -1.280432029e-03f, -1.277746824e-03f, -1.275059553e-03f, -1.272370222e-03f, -1.269678835e-03f, -1.266985397e-03f, -1.264289913e-03f,
+-1.261592387e-03f, -1.258892825e-03f, -1.256191230e-03f, -1.253487609e-03f, -1.250781965e-03f, -1.248074303e-03f, -1.245364629e-03f, -1.242652946e-03f, -1.239939260e-03f, -1.237223576e-03f,
+-1.234505898e-03f, -1.231786232e-03f, -1.229064581e-03f, -1.226340951e-03f, -1.223615346e-03f, -1.220887772e-03f, -1.218158234e-03f, -1.215426735e-03f, -1.212693281e-03f, -1.209957877e-03f,
+-1.207220527e-03f, -1.204481237e-03f, -1.201740011e-03f, -1.198996854e-03f, -1.196251771e-03f, -1.193504766e-03f, -1.190755845e-03f, -1.188005013e-03f, -1.185252274e-03f, -1.182497633e-03f,
+-1.179741095e-03f, -1.176982665e-03f, -1.174222347e-03f, -1.171460148e-03f, -1.168696070e-03f, -1.165930121e-03f, -1.163162303e-03f, -1.160392623e-03f, -1.157621084e-03f, -1.154847693e-03f,
+-1.152072453e-03f, -1.149295370e-03f, -1.146516448e-03f, -1.143735693e-03f, -1.140953110e-03f, -1.138168702e-03f, -1.135382476e-03f, -1.132594436e-03f, -1.129804588e-03f, -1.127012935e-03f,
+-1.124219483e-03f, -1.121424236e-03f, -1.118627201e-03f, -1.115828381e-03f, -1.113027782e-03f, -1.110225408e-03f, -1.107421265e-03f, -1.104615357e-03f, -1.101807690e-03f, -1.098998267e-03f,
+-1.096187095e-03f, -1.093374179e-03f, -1.090559522e-03f, -1.087743131e-03f, -1.084925009e-03f, -1.082105163e-03f, -1.079283597e-03f, -1.076460315e-03f, -1.073635324e-03f, -1.070808627e-03f,
+-1.067980231e-03f, -1.065150139e-03f, -1.062318357e-03f, -1.059484890e-03f, -1.056649742e-03f, -1.053812920e-03f, -1.050974427e-03f, -1.048134270e-03f, -1.045292451e-03f, -1.042448978e-03f,
+-1.039603855e-03f, -1.036757086e-03f, -1.033908677e-03f, -1.031058633e-03f, -1.028206959e-03f, -1.025353660e-03f, -1.022498740e-03f, -1.019642206e-03f, -1.016784061e-03f, -1.013924311e-03f,
+-1.011062962e-03f, -1.008200017e-03f, -1.005335482e-03f, -1.002469363e-03f, -9.996016631e-04f, -9.967323888e-04f, -9.938615446e-04f, -9.909891356e-04f, -9.881151670e-04f, -9.852396436e-04f,
+-9.823625707e-04f, -9.794839532e-04f, -9.766037962e-04f, -9.737221047e-04f, -9.708388839e-04f, -9.679541388e-04f, -9.650678744e-04f, -9.621800958e-04f, -9.592908082e-04f, -9.564000165e-04f,
+-9.535077258e-04f, -9.506139413e-04f, -9.477186680e-04f, -9.448219110e-04f, -9.419236753e-04f, -9.390239661e-04f, -9.361227885e-04f, -9.332201475e-04f, -9.303160483e-04f, -9.274104959e-04f,
+-9.245034954e-04f, -9.215950520e-04f, -9.186851707e-04f, -9.157738567e-04f, -9.128611150e-04f, -9.099469508e-04f, -9.070313691e-04f, -9.041143752e-04f, -9.011959741e-04f, -8.982761709e-04f,
+-8.953549707e-04f, -8.924323788e-04f, -8.895084001e-04f, -8.865830398e-04f, -8.836563032e-04f, -8.807281952e-04f, -8.777987210e-04f, -8.748678858e-04f, -8.719356947e-04f, -8.690021528e-04f,
+-8.660672653e-04f, -8.631310374e-04f, -8.601934741e-04f, -8.572545806e-04f, -8.543143621e-04f, -8.513728237e-04f, -8.484299706e-04f, -8.454858079e-04f, -8.425403409e-04f, -8.395935745e-04f,
+-8.366455141e-04f, -8.336961648e-04f, -8.307455317e-04f, -8.277936200e-04f, -8.248404349e-04f, -8.218859816e-04f, -8.189302652e-04f, -8.159732909e-04f, -8.130150639e-04f, -8.100555893e-04f,
+-8.070948724e-04f, -8.041329184e-04f, -8.011697323e-04f, -7.982053194e-04f, -7.952396849e-04f, -7.922728340e-04f, -7.893047719e-04f, -7.863355038e-04f, -7.833650348e-04f, -7.803933702e-04f,
+-7.774205151e-04f, -7.744464748e-04f, -7.714712544e-04f, -7.684948593e-04f, -7.655172945e-04f, -7.625385653e-04f, -7.595586769e-04f, -7.565776345e-04f, -7.535954434e-04f, -7.506121086e-04f,
+-7.476276356e-04f, -7.446420294e-04f, -7.416552953e-04f, -7.386674385e-04f, -7.356784643e-04f, -7.326883778e-04f, -7.296971844e-04f, -7.267048891e-04f, -7.237114973e-04f, -7.207170142e-04f,
+-7.177214451e-04f, -7.147247951e-04f, -7.117270694e-04f, -7.087282734e-04f, -7.057284123e-04f, -7.027274913e-04f, -6.997255157e-04f, -6.967224906e-04f, -6.937184214e-04f, -6.907133133e-04f,
+-6.877071716e-04f, -6.847000014e-04f, -6.816918081e-04f, -6.786825969e-04f, -6.756723731e-04f, -6.726611419e-04f, -6.696489085e-04f, -6.666356783e-04f, -6.636214565e-04f, -6.606062483e-04f,
+-6.575900590e-04f, -6.545728940e-04f, -6.515547584e-04f, -6.485356575e-04f, -6.455155966e-04f, -6.424945810e-04f, -6.394726159e-04f, -6.364497066e-04f, -6.334258584e-04f, -6.304010765e-04f,
+-6.273753663e-04f, -6.243487330e-04f, -6.213211819e-04f, -6.182927183e-04f, -6.152633474e-04f, -6.122330746e-04f, -6.092019051e-04f, -6.061698443e-04f, -6.031368973e-04f, -6.001030696e-04f,
+-5.970683663e-04f, -5.940327928e-04f, -5.909963544e-04f, -5.879590563e-04f, -5.849209039e-04f, -5.818819025e-04f, -5.788420573e-04f, -5.758013737e-04f, -5.727598569e-04f, -5.697175123e-04f,
+-5.666743451e-04f, -5.636303607e-04f, -5.605855644e-04f, -5.575399614e-04f, -5.544935571e-04f, -5.514463568e-04f, -5.483983659e-04f, -5.453495895e-04f, -5.423000330e-04f, -5.392497018e-04f,
+-5.361986011e-04f, -5.331467362e-04f, -5.300941126e-04f, -5.270407354e-04f, -5.239866101e-04f, -5.209317418e-04f, -5.178761360e-04f, -5.148197980e-04f, -5.117627331e-04f, -5.087049466e-04f,
+-5.056464438e-04f, -5.025872301e-04f, -4.995273107e-04f, -4.964666911e-04f, -4.934053765e-04f, -4.903433723e-04f, -4.872806838e-04f, -4.842173163e-04f, -4.811532751e-04f, -4.780885657e-04f,
+-4.750231933e-04f, -4.719571632e-04f, -4.688904808e-04f, -4.658231514e-04f, -4.627551804e-04f, -4.596865731e-04f, -4.566173349e-04f, -4.535474710e-04f, -4.504769868e-04f, -4.474058877e-04f,
+-4.443341789e-04f, -4.412618659e-04f, -4.381889540e-04f, -4.351154485e-04f, -4.320413548e-04f, -4.289666782e-04f, -4.258914240e-04f, -4.228155976e-04f, -4.197392044e-04f, -4.166622497e-04f,
+-4.135847388e-04f, -4.105066771e-04f, -4.074280699e-04f, -4.043489227e-04f, -4.012692407e-04f, -3.981890292e-04f, -3.951082938e-04f, -3.920270396e-04f, -3.889452720e-04f, -3.858629965e-04f,
+-3.827802184e-04f, -3.796969429e-04f, -3.766131755e-04f, -3.735289216e-04f, -3.704441864e-04f, -3.673589754e-04f, -3.642732939e-04f, -3.611871472e-04f, -3.581005408e-04f, -3.550134799e-04f,
+-3.519259699e-04f, -3.488380163e-04f, -3.457496243e-04f, -3.426607993e-04f, -3.395715468e-04f, -3.364818719e-04f, -3.333917802e-04f, -3.303012769e-04f, -3.272103674e-04f, -3.241190572e-04f,
+-3.210273515e-04f, -3.179352557e-04f, -3.148427753e-04f, -3.117499154e-04f, -3.086566817e-04f, -3.055630792e-04f, -3.024691136e-04f, -2.993747901e-04f, -2.962801140e-04f, -2.931850908e-04f,
+-2.900897259e-04f, -2.869940245e-04f, -2.838979921e-04f, -2.808016340e-04f, -2.777049556e-04f, -2.746079623e-04f, -2.715106594e-04f, -2.684130523e-04f, -2.653151464e-04f, -2.622169471e-04f,
+-2.591184597e-04f, -2.560196895e-04f, -2.529206421e-04f, -2.498213226e-04f, -2.467217366e-04f, -2.436218893e-04f, -2.405217862e-04f, -2.374214326e-04f, -2.343208339e-04f, -2.312199954e-04f,
+-2.281189226e-04f, -2.250176208e-04f, -2.219160954e-04f, -2.188143517e-04f, -2.157123952e-04f, -2.126102311e-04f, -2.095078649e-04f, -2.064053020e-04f, -2.033025477e-04f, -2.001996073e-04f,
+-1.970964864e-04f, -1.939931901e-04f, -1.908897240e-04f, -1.877860934e-04f, -1.846823036e-04f, -1.815783600e-04f, -1.784742680e-04f, -1.753700331e-04f, -1.722656604e-04f, -1.691611555e-04f,
+-1.660565237e-04f, -1.629517703e-04f, -1.598469008e-04f, -1.567419205e-04f, -1.536368347e-04f, -1.505316490e-04f, -1.474263685e-04f, -1.443209988e-04f, -1.412155451e-04f, -1.381100129e-04f,
+-1.350044075e-04f, -1.318987342e-04f, -1.287929986e-04f, -1.256872058e-04f, -1.225813614e-04f, -1.194754707e-04f, -1.163695389e-04f, -1.132635716e-04f, -1.101575741e-04f, -1.070515518e-04f,
+-1.039455099e-04f, -1.008394540e-04f, -9.773338931e-05f, -9.462732126e-05f, -9.152125521e-05f, -8.841519654e-05f, -8.530915059e-05f, -8.220312276e-05f, -7.909711839e-05f, -7.599114287e-05f,
+-7.288520155e-05f, -6.977929981e-05f, -6.667344300e-05f, -6.356763650e-05f, -6.046188567e-05f, -5.735619588e-05f, -5.425057248e-05f, -5.114502085e-05f, -4.803954635e-05f, -4.493415434e-05f,
+-4.182885019e-05f, -3.872363925e-05f, -3.561852689e-05f, -3.251351847e-05f, -2.940861935e-05f, -2.630383490e-05f, -2.319917047e-05f, -2.009463142e-05f, -1.699022312e-05f, -1.388595091e-05f,
+-1.078182016e-05f, -7.677836232e-06f, -4.574004475e-06f, -1.470330248e-06f, 1.633181093e-06f, 4.736524192e-06f, 7.839693695e-06f, 1.094268425e-05f, 1.404549050e-05f, 1.714810709e-05f,
+2.025052867e-05f, 2.335274989e-05f, 2.645476539e-05f, 2.955656983e-05f, 3.265815786e-05f, 3.575952413e-05f, 3.886066328e-05f, 4.196156998e-05f, 4.506223887e-05f, 4.816266460e-05f,
+5.126284184e-05f, 5.436276523e-05f, 5.746242944e-05f, 6.056182911e-05f, 6.366095891e-05f, 6.675981349e-05f, 6.985838751e-05f, 7.295667563e-05f, 7.605467252e-05f, 7.915237282e-05f,
+8.224977121e-05f, 8.534686235e-05f, 8.844364089e-05f, 9.154010151e-05f, 9.463623887e-05f, 9.773204763e-05f, 1.008275225e-04f, 1.039226580e-04f, 1.070174490e-04f, 1.101118901e-04f,
+1.132059759e-04f, 1.162997011e-04f, 1.193930604e-04f, 1.224860485e-04f, 1.255786600e-04f, 1.286708896e-04f, 1.317627320e-04f, 1.348541819e-04f, 1.379452339e-04f, 1.410358827e-04f,
+1.441261231e-04f, 1.472159496e-04f, 1.503053570e-04f, 1.533943399e-04f, 1.564828930e-04f, 1.595710111e-04f, 1.626586887e-04f, 1.657459207e-04f, 1.688327016e-04f, 1.719190262e-04f,
+1.750048891e-04f, 1.780902851e-04f, 1.811752088e-04f, 1.842596549e-04f, 1.873436182e-04f, 1.904270933e-04f, 1.935100748e-04f, 1.965925576e-04f, 1.996745364e-04f, 2.027560057e-04f,
+2.058369603e-04f, 2.089173950e-04f, 2.119973043e-04f, 2.150766831e-04f, 2.181555260e-04f, 2.212338278e-04f, 2.243115831e-04f, 2.273887866e-04f, 2.304654331e-04f, 2.335415173e-04f,
+2.366170339e-04f, 2.396919776e-04f, 2.427663431e-04f, 2.458401251e-04f, 2.489133184e-04f, 2.519859176e-04f, 2.550579176e-04f, 2.581293130e-04f, 2.612000985e-04f, 2.642702689e-04f,
+2.673398188e-04f, 2.704087431e-04f, 2.734770365e-04f, 2.765446936e-04f, 2.796117092e-04f, 2.826780781e-04f, 2.857437950e-04f, 2.888088545e-04f, 2.918732516e-04f, 2.949369808e-04f,
+2.980000369e-04f, 3.010624148e-04f, 3.041241090e-04f, 3.071851144e-04f, 3.102454257e-04f, 3.133050376e-04f, 3.163639450e-04f, 3.194221425e-04f, 3.224796249e-04f, 3.255363870e-04f,
+3.285924235e-04f, 3.316477292e-04f, 3.347022988e-04f, 3.377561271e-04f, 3.408092088e-04f, 3.438615387e-04f, 3.469131117e-04f, 3.499639223e-04f, 3.530139655e-04f, 3.560632360e-04f,
+3.591117285e-04f, 3.621594378e-04f, 3.652063587e-04f, 3.682524860e-04f, 3.712978145e-04f, 3.743423389e-04f, 3.773860540e-04f, 3.804289546e-04f, 3.834710354e-04f, 3.865122914e-04f,
+3.895527171e-04f, 3.925923076e-04f, 3.956310574e-04f, 3.986689615e-04f, 4.017060146e-04f, 4.047422115e-04f, 4.077775470e-04f, 4.108120159e-04f, 4.138456130e-04f, 4.168783332e-04f,
+4.199101712e-04f, 4.229411218e-04f, 4.259711798e-04f, 4.290003401e-04f, 4.320285974e-04f, 4.350559466e-04f, 4.380823825e-04f, 4.411079000e-04f, 4.441324937e-04f, 4.471561586e-04f,
+4.501788894e-04f, 4.532006811e-04f, 4.562215283e-04f, 4.592414261e-04f, 4.622603691e-04f, 4.652783522e-04f, 4.682953703e-04f, 4.713114181e-04f, 4.743264906e-04f, 4.773405826e-04f,
+4.803536889e-04f, 4.833658043e-04f, 4.863769237e-04f, 4.893870420e-04f, 4.923961540e-04f, 4.954042545e-04f, 4.984113384e-04f, 5.014174006e-04f, 5.044224360e-04f, 5.074264393e-04f,
+5.104294055e-04f, 5.134313293e-04f, 5.164322058e-04f, 5.194320297e-04f, 5.224307959e-04f, 5.254284993e-04f, 5.284251348e-04f, 5.314206973e-04f, 5.344151815e-04f, 5.374085825e-04f,
+5.404008950e-04f, 5.433921141e-04f, 5.463822345e-04f, 5.493712511e-04f, 5.523591590e-04f, 5.553459528e-04f, 5.583316276e-04f, 5.613161782e-04f, 5.642995996e-04f, 5.672818867e-04f,
+5.702630342e-04f, 5.732430373e-04f, 5.762218907e-04f, 5.791995894e-04f, 5.821761282e-04f, 5.851515022e-04f, 5.881257063e-04f, 5.910987353e-04f, 5.940705841e-04f, 5.970412478e-04f,
+6.000107212e-04f, 6.029789993e-04f, 6.059460770e-04f, 6.089119492e-04f, 6.118766109e-04f, 6.148400570e-04f, 6.178022824e-04f, 6.207632822e-04f, 6.237230512e-04f, 6.266815844e-04f,
+6.296388768e-04f, 6.325949232e-04f, 6.355497188e-04f, 6.385032583e-04f, 6.414555369e-04f, 6.444065493e-04f, 6.473562908e-04f, 6.503047560e-04f, 6.532519402e-04f, 6.561978382e-04f,
+6.591424450e-04f, 6.620857555e-04f, 6.650277649e-04f, 6.679684680e-04f, 6.709078598e-04f, 6.738459354e-04f, 6.767826897e-04f, 6.797181177e-04f, 6.826522145e-04f, 6.855849749e-04f,
+6.885163941e-04f, 6.914464670e-04f, 6.943751886e-04f, 6.973025540e-04f, 7.002285581e-04f, 7.031531959e-04f, 7.060764626e-04f, 7.089983531e-04f, 7.119188624e-04f, 7.148379855e-04f,
+7.177557176e-04f, 7.206720535e-04f, 7.235869884e-04f, 7.265005173e-04f, 7.294126352e-04f, 7.323233372e-04f, 7.352326183e-04f, 7.381404735e-04f, 7.410468980e-04f, 7.439518867e-04f,
+7.468554347e-04f, 7.497575371e-04f, 7.526581890e-04f, 7.555573853e-04f, 7.584551212e-04f, 7.613513918e-04f, 7.642461920e-04f, 7.671395171e-04f, 7.700313620e-04f, 7.729217218e-04f,
+7.758105917e-04f, 7.786979667e-04f, 7.815838419e-04f, 7.844682123e-04f, 7.873510732e-04f, 7.902324195e-04f, 7.931122465e-04f, 7.959905491e-04f, 7.988673225e-04f, 8.017425619e-04f,
+8.046162622e-04f, 8.074884187e-04f, 8.103590264e-04f, 8.132280805e-04f, 8.160955761e-04f, 8.189615083e-04f, 8.218258723e-04f, 8.246886632e-04f, 8.275498761e-04f, 8.304095061e-04f,
+8.332675484e-04f, 8.361239982e-04f, 8.389788506e-04f, 8.418321008e-04f, 8.446837438e-04f, 8.475337749e-04f, 8.503821892e-04f, 8.532289819e-04f, 8.560741481e-04f, 8.589176831e-04f,
+8.617595819e-04f, 8.645998398e-04f, 8.674384520e-04f, 8.702754136e-04f, 8.731107197e-04f, 8.759443657e-04f, 8.787763467e-04f, 8.816066578e-04f, 8.844352943e-04f, 8.872622514e-04f,
+8.900875243e-04f, 8.929111081e-04f, 8.957329982e-04f, 8.985531897e-04f, 9.013716778e-04f, 9.041884577e-04f, 9.070035247e-04f, 9.098168740e-04f, 9.126285009e-04f, 9.154384005e-04f,
+9.182465680e-04f, 9.210529988e-04f, 9.238576881e-04f, 9.266606311e-04f, 9.294618231e-04f, 9.322612593e-04f, 9.350589349e-04f, 9.378548453e-04f, 9.406489857e-04f, 9.434413513e-04f,
+9.462319375e-04f, 9.490207395e-04f, 9.518077525e-04f, 9.545929719e-04f, 9.573763929e-04f, 9.601580108e-04f, 9.629378210e-04f, 9.657158186e-04f, 9.684919991e-04f, 9.712663576e-04f,
+9.740388895e-04f, 9.768095901e-04f, 9.795784548e-04f, 9.823454787e-04f, 9.851106573e-04f, 9.878739859e-04f, 9.906354597e-04f, 9.933950741e-04f, 9.961528245e-04f, 9.989087061e-04f,
+1.001662714e-03f, 1.004414845e-03f, 1.007165092e-03f, 1.009913452e-03f, 1.012659920e-03f, 1.015404492e-03f, 1.018147162e-03f, 1.020887926e-03f, 1.023626779e-03f, 1.026363718e-03f,
+1.029098736e-03f, 1.031831830e-03f, 1.034562995e-03f, 1.037292227e-03f, 1.040019520e-03f, 1.042744870e-03f, 1.045468272e-03f, 1.048189723e-03f, 1.050909216e-03f, 1.053626749e-03f,
+1.056342315e-03f, 1.059055911e-03f, 1.061767532e-03f, 1.064477173e-03f, 1.067184829e-03f, 1.069890497e-03f, 1.072594172e-03f, 1.075295849e-03f, 1.077995523e-03f, 1.080693190e-03f,
+1.083388845e-03f, 1.086082484e-03f, 1.088774103e-03f, 1.091463696e-03f, 1.094151259e-03f, 1.096836788e-03f, 1.099520278e-03f, 1.102201725e-03f, 1.104881123e-03f, 1.107558469e-03f,
+1.110233758e-03f, 1.112906986e-03f, 1.115578148e-03f, 1.118247239e-03f, 1.120914255e-03f, 1.123579191e-03f, 1.126242044e-03f, 1.128902808e-03f, 1.131561479e-03f, 1.134218052e-03f,
+1.136872524e-03f, 1.139524889e-03f, 1.142175143e-03f, 1.144823282e-03f, 1.147469301e-03f, 1.150113195e-03f, 1.152754961e-03f, 1.155394594e-03f, 1.158032089e-03f, 1.160667442e-03f,
+1.163300648e-03f, 1.165931704e-03f, 1.168560603e-03f, 1.171187344e-03f, 1.173811919e-03f, 1.176434326e-03f, 1.179054560e-03f, 1.181672617e-03f, 1.184288491e-03f, 1.186902180e-03f,
+1.189513677e-03f, 1.192122980e-03f, 1.194730082e-03f, 1.197334981e-03f, 1.199937672e-03f, 1.202538150e-03f, 1.205136411e-03f, 1.207732450e-03f, 1.210326264e-03f, 1.212917847e-03f,
+1.215507196e-03f, 1.218094306e-03f, 1.220679173e-03f, 1.223261792e-03f, 1.225842160e-03f, 1.228420271e-03f, 1.230996121e-03f, 1.233569707e-03f, 1.236141023e-03f, 1.238710066e-03f,
+1.241276830e-03f, 1.243841313e-03f, 1.246403509e-03f, 1.248963414e-03f, 1.251521024e-03f, 1.254076335e-03f, 1.256629342e-03f, 1.259180041e-03f, 1.261728428e-03f, 1.264274498e-03f,
+1.266818247e-03f, 1.269359671e-03f, 1.271898766e-03f, 1.274435527e-03f, 1.276969950e-03f, 1.279502031e-03f, 1.282031765e-03f, 1.284559149e-03f, 1.287084178e-03f, 1.289606847e-03f,
+1.292127154e-03f, 1.294645092e-03f, 1.297160659e-03f, 1.299673850e-03f, 1.302184660e-03f, 1.304693086e-03f, 1.307199124e-03f, 1.309702768e-03f, 1.312204015e-03f, 1.314702861e-03f,
+1.317199301e-03f, 1.319693332e-03f, 1.322184949e-03f, 1.324674148e-03f, 1.327160925e-03f, 1.329645275e-03f, 1.332127194e-03f, 1.334606679e-03f, 1.337083726e-03f, 1.339558329e-03f,
+1.342030485e-03f, 1.344500189e-03f, 1.346967438e-03f, 1.349432228e-03f, 1.351894554e-03f, 1.354354412e-03f, 1.356811798e-03f, 1.359266708e-03f, 1.361719138e-03f, 1.364169083e-03f,
+1.366616541e-03f, 1.369061505e-03f, 1.371503973e-03f, 1.373943941e-03f, 1.376381404e-03f, 1.378816357e-03f, 1.381248798e-03f, 1.383678722e-03f, 1.386106125e-03f, 1.388531003e-03f,
+1.390953352e-03f, 1.393373168e-03f, 1.395790446e-03f, 1.398205183e-03f, 1.400617374e-03f, 1.403027017e-03f, 1.405434106e-03f, 1.407838637e-03f, 1.410240607e-03f, 1.412640012e-03f,
+1.415036847e-03f, 1.417431108e-03f, 1.419822792e-03f, 1.422211895e-03f, 1.424598412e-03f, 1.426982340e-03f, 1.429363674e-03f, 1.431742411e-03f, 1.434118547e-03f, 1.436492077e-03f,
+1.438862998e-03f, 1.441231306e-03f, 1.443596996e-03f, 1.445960065e-03f, 1.448320510e-03f, 1.450678325e-03f, 1.453033507e-03f, 1.455386052e-03f, 1.457735956e-03f, 1.460083216e-03f,
+1.462427827e-03f, 1.464769785e-03f, 1.467109087e-03f, 1.469445728e-03f, 1.471779705e-03f, 1.474111014e-03f, 1.476439651e-03f, 1.478765612e-03f, 1.481088893e-03f, 1.483409490e-03f,
+1.485727400e-03f, 1.488042618e-03f, 1.490355141e-03f, 1.492664965e-03f, 1.494972086e-03f, 1.497276500e-03f, 1.499578204e-03f, 1.501877192e-03f, 1.504173463e-03f, 1.506467011e-03f,
+1.508757834e-03f, 1.511045926e-03f, 1.513331285e-03f, 1.515613907e-03f, 1.517893787e-03f, 1.520170922e-03f, 1.522445309e-03f, 1.524716943e-03f, 1.526985820e-03f, 1.529251938e-03f,
+1.531515292e-03f, 1.533775877e-03f, 1.536033692e-03f, 1.538288731e-03f, 1.540540992e-03f, 1.542790469e-03f, 1.545037161e-03f, 1.547281062e-03f, 1.549522169e-03f, 1.551760479e-03f,
+1.553995987e-03f, 1.556228690e-03f, 1.558458585e-03f, 1.560685667e-03f, 1.562909933e-03f, 1.565131379e-03f, 1.567350002e-03f, 1.569565797e-03f, 1.571778762e-03f, 1.573988892e-03f,
+1.576196184e-03f, 1.578400633e-03f, 1.580602238e-03f, 1.582800993e-03f, 1.584996895e-03f, 1.587189941e-03f, 1.589380126e-03f, 1.591567448e-03f, 1.593751902e-03f, 1.595933486e-03f,
+1.598112195e-03f, 1.600288025e-03f, 1.602460974e-03f, 1.604631037e-03f, 1.606798211e-03f, 1.608962492e-03f, 1.611123878e-03f, 1.613282363e-03f, 1.615437945e-03f, 1.617590620e-03f,
+1.619740385e-03f, 1.621887235e-03f, 1.624031168e-03f, 1.626172180e-03f, 1.628310267e-03f, 1.630445425e-03f, 1.632577652e-03f, 1.634706943e-03f, 1.636833296e-03f, 1.638956706e-03f,
+1.641077171e-03f, 1.643194686e-03f, 1.645309248e-03f, 1.647420853e-03f, 1.649529499e-03f, 1.651635181e-03f, 1.653737897e-03f, 1.655837642e-03f, 1.657934413e-03f, 1.660028207e-03f,
+1.662119021e-03f, 1.664206850e-03f, 1.666291692e-03f, 1.668373542e-03f, 1.670452398e-03f, 1.672528256e-03f, 1.674601113e-03f, 1.676670964e-03f, 1.678737808e-03f, 1.680801640e-03f,
+1.682862457e-03f, 1.684920255e-03f, 1.686975032e-03f, 1.689026784e-03f, 1.691075506e-03f, 1.693121197e-03f, 1.695163853e-03f, 1.697203470e-03f, 1.699240044e-03f, 1.701273573e-03f,
+1.703304054e-03f, 1.705331482e-03f, 1.707355855e-03f, 1.709377169e-03f, 1.711395421e-03f, 1.713410607e-03f, 1.715422725e-03f, 1.717431770e-03f, 1.719437740e-03f, 1.721440631e-03f,
+1.723440441e-03f, 1.725437165e-03f, 1.727430800e-03f, 1.729421343e-03f, 1.731408792e-03f, 1.733393142e-03f, 1.735374390e-03f, 1.737352533e-03f, 1.739327568e-03f, 1.741299492e-03f,
+1.743268301e-03f, 1.745233992e-03f, 1.747196562e-03f, 1.749156007e-03f, 1.751112325e-03f, 1.753065512e-03f, 1.755015565e-03f, 1.756962481e-03f, 1.758906256e-03f, 1.760846888e-03f,
+1.762784373e-03f, 1.764718708e-03f, 1.766649890e-03f, 1.768577915e-03f, 1.770502781e-03f, 1.772424484e-03f, 1.774343022e-03f, 1.776258390e-03f, 1.778170587e-03f, 1.780079608e-03f,
+1.781985451e-03f, 1.783888112e-03f, 1.785787589e-03f, 1.787683878e-03f, 1.789576977e-03f, 1.791466881e-03f, 1.793353588e-03f, 1.795237095e-03f, 1.797117400e-03f, 1.798994497e-03f,
+1.800868386e-03f, 1.802739062e-03f, 1.804606522e-03f, 1.806470764e-03f, 1.808331785e-03f, 1.810189580e-03f, 1.812044149e-03f, 1.813895486e-03f, 1.815743590e-03f, 1.817588457e-03f,
+1.819430084e-03f, 1.821268468e-03f, 1.823103607e-03f, 1.824935497e-03f, 1.826764135e-03f, 1.828589519e-03f, 1.830411644e-03f, 1.832230509e-03f, 1.834046110e-03f, 1.835858445e-03f,
+1.837667510e-03f, 1.839473302e-03f, 1.841275819e-03f, 1.843075058e-03f, 1.844871015e-03f, 1.846663688e-03f, 1.848453074e-03f, 1.850239169e-03f, 1.852021972e-03f, 1.853801478e-03f,
+1.855577686e-03f, 1.857350592e-03f, 1.859120193e-03f, 1.860886487e-03f, 1.862649470e-03f, 1.864409140e-03f, 1.866165494e-03f, 1.867918529e-03f, 1.869668242e-03f, 1.871414630e-03f,
+1.873157691e-03f, 1.874897422e-03f, 1.876633819e-03f, 1.878366880e-03f, 1.880096603e-03f, 1.881822983e-03f, 1.883546020e-03f, 1.885265709e-03f, 1.886982048e-03f, 1.888695034e-03f,
+1.890404665e-03f, 1.892110937e-03f, 1.893813848e-03f, 1.895513395e-03f, 1.897209576e-03f, 1.898902387e-03f, 1.900591825e-03f, 1.902277889e-03f, 1.903960576e-03f, 1.905639881e-03f,
+1.907315804e-03f, 1.908988341e-03f, 1.910657490e-03f, 1.912323247e-03f, 1.913985610e-03f, 1.915644577e-03f, 1.917300144e-03f, 1.918952310e-03f, 1.920601070e-03f, 1.922246424e-03f,
+1.923888367e-03f, 1.925526898e-03f, 1.927162013e-03f, 1.928793711e-03f, 1.930421988e-03f, 1.932046842e-03f, 1.933668269e-03f, 1.935286269e-03f, 1.936900837e-03f, 1.938511972e-03f,
+1.940119670e-03f, 1.941723930e-03f, 1.943324748e-03f, 1.944922122e-03f, 1.946516050e-03f, 1.948106528e-03f, 1.949693554e-03f, 1.951277127e-03f, 1.952857242e-03f, 1.954433898e-03f,
+1.956007092e-03f, 1.957576821e-03f, 1.959143084e-03f, 1.960705877e-03f, 1.962265198e-03f, 1.963821044e-03f, 1.965373413e-03f, 1.966922303e-03f, 1.968467711e-03f, 1.970009634e-03f,
+1.971548070e-03f, 1.973083016e-03f, 1.974614471e-03f, 1.976142431e-03f, 1.977666895e-03f, 1.979187859e-03f, 1.980705321e-03f, 1.982219279e-03f, 1.983729731e-03f, 1.985236673e-03f,
+1.986740104e-03f, 1.988240021e-03f, 1.989736422e-03f, 1.991229304e-03f, 1.992718665e-03f, 1.994204503e-03f, 1.995686815e-03f, 1.997165598e-03f, 1.998640851e-03f, 2.000112571e-03f,
+2.001580756e-03f, 2.003045403e-03f, 2.004506510e-03f, 2.005964075e-03f, 2.007418095e-03f, 2.008868568e-03f, 2.010315492e-03f, 2.011758864e-03f, 2.013198683e-03f, 2.014634945e-03f,
+2.016067649e-03f, 2.017496792e-03f, 2.018922371e-03f, 2.020344386e-03f, 2.021762833e-03f, 2.023177710e-03f, 2.024589015e-03f, 2.025996745e-03f, 2.027400899e-03f, 2.028801474e-03f,
+2.030198468e-03f, 2.031591879e-03f, 2.032981704e-03f, 2.034367942e-03f, 2.035750589e-03f, 2.037129645e-03f, 2.038505106e-03f, 2.039876970e-03f, 2.041245236e-03f, 2.042609901e-03f,
+2.043970963e-03f, 2.045328420e-03f, 2.046682270e-03f, 2.048032510e-03f, 2.049379138e-03f, 2.050722153e-03f, 2.052061551e-03f, 2.053397332e-03f, 2.054729493e-03f, 2.056058031e-03f,
+2.057382945e-03f, 2.058704233e-03f, 2.060021892e-03f, 2.061335920e-03f, 2.062646316e-03f, 2.063953077e-03f, 2.065256202e-03f, 2.066555687e-03f, 2.067851531e-03f, 2.069143733e-03f,
+2.070432289e-03f, 2.071717199e-03f, 2.072998459e-03f, 2.074276068e-03f, 2.075550024e-03f, 2.076820326e-03f, 2.078086970e-03f, 2.079349954e-03f, 2.080609278e-03f, 2.081864939e-03f,
+2.083116934e-03f, 2.084365263e-03f, 2.085609923e-03f, 2.086850912e-03f, 2.088088227e-03f, 2.089321868e-03f, 2.090551833e-03f, 2.091778118e-03f, 2.093000723e-03f, 2.094219646e-03f,
+2.095434884e-03f, 2.096646436e-03f, 2.097854299e-03f, 2.099058472e-03f, 2.100258954e-03f, 2.101455741e-03f, 2.102648833e-03f, 2.103838227e-03f, 2.105023922e-03f, 2.106205915e-03f,
+2.107384205e-03f, 2.108558790e-03f, 2.109729668e-03f, 2.110896838e-03f, 2.112060297e-03f, 2.113220044e-03f, 2.114376076e-03f, 2.115528393e-03f, 2.116676992e-03f, 2.117821872e-03f,
+2.118963030e-03f, 2.120100465e-03f, 2.121234176e-03f, 2.122364160e-03f, 2.123490415e-03f, 2.124612941e-03f, 2.125731734e-03f, 2.126846795e-03f, 2.127958119e-03f, 2.129065707e-03f,
+2.130169556e-03f, 2.131269665e-03f, 2.132366032e-03f, 2.133458655e-03f, 2.134547532e-03f, 2.135632662e-03f, 2.136714043e-03f, 2.137791674e-03f, 2.138865553e-03f, 2.139935678e-03f,
+2.141002047e-03f, 2.142064659e-03f, 2.143123512e-03f, 2.144178605e-03f, 2.145229936e-03f, 2.146277503e-03f, 2.147321305e-03f, 2.148361341e-03f, 2.149397607e-03f, 2.150430104e-03f,
+2.151458829e-03f, 2.152483781e-03f, 2.153504958e-03f, 2.154522359e-03f, 2.155535982e-03f, 2.156545825e-03f, 2.157551888e-03f, 2.158554168e-03f, 2.159552664e-03f, 2.160547374e-03f,
+2.161538297e-03f, 2.162525432e-03f, 2.163508777e-03f, 2.164488330e-03f, 2.165464090e-03f, 2.166436055e-03f, 2.167404224e-03f, 2.168368596e-03f, 2.169329169e-03f, 2.170285941e-03f,
+2.171238912e-03f, 2.172188079e-03f, 2.173133441e-03f, 2.174074998e-03f, 2.175012746e-03f, 2.175946686e-03f, 2.176876815e-03f, 2.177803132e-03f, 2.178725636e-03f, 2.179644325e-03f,
+2.180559199e-03f, 2.181470255e-03f, 2.182377492e-03f, 2.183280909e-03f, 2.184180504e-03f, 2.185076277e-03f, 2.185968225e-03f, 2.186856348e-03f, 2.187740645e-03f, 2.188621112e-03f,
+2.189497751e-03f, 2.190370558e-03f, 2.191239534e-03f, 2.192104676e-03f, 2.192965984e-03f, 2.193823455e-03f, 2.194677089e-03f, 2.195526885e-03f, 2.196372841e-03f, 2.197214955e-03f,
+2.198053228e-03f, 2.198887657e-03f, 2.199718241e-03f, 2.200544979e-03f, 2.201367870e-03f, 2.202186913e-03f, 2.203002106e-03f, 2.203813447e-03f, 2.204620937e-03f, 2.205424574e-03f,
+2.206224356e-03f, 2.207020283e-03f, 2.207812353e-03f, 2.208600565e-03f, 2.209384918e-03f, 2.210165410e-03f, 2.210942041e-03f, 2.211714810e-03f, 2.212483715e-03f, 2.213248755e-03f,
+2.214009930e-03f, 2.214767237e-03f, 2.215520676e-03f, 2.216270247e-03f, 2.217015946e-03f, 2.217757775e-03f, 2.218495731e-03f, 2.219229813e-03f, 2.219960021e-03f, 2.220686353e-03f,
+2.221408809e-03f, 2.222127387e-03f, 2.222842086e-03f, 2.223552906e-03f, 2.224259844e-03f, 2.224962901e-03f, 2.225662075e-03f, 2.226357365e-03f, 2.227048770e-03f, 2.227736290e-03f,
+2.228419923e-03f, 2.229099668e-03f, 2.229775524e-03f, 2.230447490e-03f, 2.231115566e-03f, 2.231779751e-03f, 2.232440043e-03f, 2.233096441e-03f, 2.233748945e-03f, 2.234397554e-03f,
+2.235042266e-03f, 2.235683082e-03f, 2.236319999e-03f, 2.236953018e-03f, 2.237582136e-03f, 2.238207354e-03f, 2.238828671e-03f, 2.239446085e-03f, 2.240059595e-03f, 2.240669202e-03f,
+2.241274904e-03f, 2.241876700e-03f, 2.242474589e-03f, 2.243068571e-03f, 2.243658644e-03f, 2.244244808e-03f, 2.244827063e-03f, 2.245405407e-03f, 2.245979839e-03f, 2.246550359e-03f,
+2.247116966e-03f, 2.247679660e-03f, 2.248238438e-03f, 2.248793302e-03f, 2.249344249e-03f, 2.249891279e-03f, 2.250434392e-03f, 2.250973587e-03f, 2.251508862e-03f, 2.252040218e-03f,
+2.252567654e-03f, 2.253091168e-03f, 2.253610760e-03f, 2.254126430e-03f, 2.254638177e-03f, 2.255146000e-03f, 2.255649898e-03f, 2.256149871e-03f, 2.256645919e-03f, 2.257138040e-03f,
+2.257626233e-03f, 2.258110499e-03f, 2.258590836e-03f, 2.259067245e-03f, 2.259539724e-03f, 2.260008272e-03f, 2.260472890e-03f, 2.260933576e-03f, 2.261390330e-03f, 2.261843152e-03f,
+2.262292041e-03f, 2.262736995e-03f, 2.263178016e-03f, 2.263615101e-03f, 2.264048251e-03f, 2.264477466e-03f, 2.264902744e-03f, 2.265324084e-03f, 2.265741488e-03f, 2.266154953e-03f,
+2.266564480e-03f, 2.266970067e-03f, 2.267371716e-03f, 2.267769424e-03f, 2.268163192e-03f, 2.268553019e-03f, 2.268938904e-03f, 2.269320848e-03f, 2.269698849e-03f, 2.270072907e-03f,
+2.270443023e-03f, 2.270809195e-03f, 2.271171422e-03f, 2.271529705e-03f, 2.271884044e-03f, 2.272234437e-03f, 2.272580885e-03f, 2.272923386e-03f, 2.273261941e-03f, 2.273596549e-03f,
+2.273927210e-03f, 2.274253924e-03f, 2.274576690e-03f, 2.274895507e-03f, 2.275210376e-03f, 2.275521296e-03f, 2.275828267e-03f, 2.276131288e-03f, 2.276430359e-03f, 2.276725481e-03f,
+2.277016651e-03f, 2.277303871e-03f, 2.277587140e-03f, 2.277866458e-03f, 2.278141824e-03f, 2.278413239e-03f, 2.278680701e-03f, 2.278944210e-03f, 2.279203768e-03f, 2.279459372e-03f,
+2.279711023e-03f, 2.279958721e-03f, 2.280202466e-03f, 2.280442257e-03f, 2.280678093e-03f, 2.280909976e-03f, 2.281137905e-03f, 2.281361879e-03f, 2.281581898e-03f, 2.281797962e-03f,
+2.282010072e-03f, 2.282218226e-03f, 2.282422425e-03f, 2.282622669e-03f, 2.282818957e-03f, 2.283011289e-03f, 2.283199666e-03f, 2.283384086e-03f, 2.283564551e-03f, 2.283741059e-03f,
+2.283913611e-03f, 2.284082207e-03f, 2.284246847e-03f, 2.284407530e-03f, 2.284564256e-03f, 2.284717026e-03f, 2.284865839e-03f, 2.285010696e-03f, 2.285151595e-03f, 2.285288538e-03f,
+2.285421525e-03f, 2.285550554e-03f, 2.285675627e-03f, 2.285796742e-03f, 2.285913901e-03f, 2.286027103e-03f, 2.286136349e-03f, 2.286241637e-03f, 2.286342969e-03f, 2.286440344e-03f,
+2.286533763e-03f, 2.286623224e-03f, 2.286708730e-03f, 2.286790279e-03f, 2.286867871e-03f, 2.286941507e-03f, 2.287011187e-03f, 2.287076910e-03f, 2.287138678e-03f, 2.287196489e-03f,
+2.287250345e-03f, 2.287300245e-03f, 2.287346190e-03f, 2.287388178e-03f, 2.287426212e-03f, 2.287460290e-03f, 2.287490414e-03f, 2.287516582e-03f, 2.287538796e-03f, 2.287557055e-03f,
+2.287571360e-03f, 2.287581711e-03f, 2.287588107e-03f, 2.287590550e-03f, 2.287589040e-03f, 2.287583576e-03f, 2.287574159e-03f, 2.287560789e-03f, 2.287543466e-03f, 2.287522191e-03f,
+2.287496963e-03f, 2.287467784e-03f, 2.287434653e-03f, 2.287397571e-03f, 2.287356538e-03f, 2.287311553e-03f, 2.287262619e-03f, 2.287209734e-03f, 2.287152899e-03f, 2.287092114e-03f,
+2.287027380e-03f, 2.286958697e-03f, 2.286886066e-03f, 2.286809486e-03f, 2.286728958e-03f, 2.286644482e-03f, 2.286556059e-03f, 2.286463690e-03f, 2.286367373e-03f, 2.286267111e-03f,
+2.286162903e-03f, 2.286054749e-03f, 2.285942650e-03f, 2.285826607e-03f, 2.285706620e-03f, 2.285582688e-03f, 2.285454814e-03f, 2.285322997e-03f, 2.285187237e-03f, 2.285047535e-03f,
+2.284903892e-03f, 2.284756307e-03f, 2.284604782e-03f, 2.284449317e-03f, 2.284289912e-03f, 2.284126567e-03f, 2.283959284e-03f, 2.283788063e-03f, 2.283612905e-03f, 2.283433809e-03f,
+2.283250776e-03f, 2.283063807e-03f, 2.282872903e-03f, 2.282678063e-03f, 2.282479289e-03f, 2.282276581e-03f, 2.282069940e-03f, 2.281859366e-03f, 2.281644859e-03f, 2.281426421e-03f,
+2.281204052e-03f, 2.280977753e-03f, 2.280747523e-03f, 2.280513364e-03f, 2.280275277e-03f, 2.280033261e-03f, 2.279787318e-03f, 2.279537448e-03f, 2.279283652e-03f, 2.279025931e-03f,
+2.278764285e-03f, 2.278498714e-03f, 2.278229221e-03f, 2.277955804e-03f, 2.277678465e-03f, 2.277397205e-03f, 2.277112024e-03f, 2.276822923e-03f, 2.276529902e-03f, 2.276232963e-03f,
+2.275932106e-03f, 2.275627332e-03f, 2.275318641e-03f, 2.275006035e-03f, 2.274689514e-03f, 2.274369078e-03f, 2.274044729e-03f, 2.273716468e-03f, 2.273384294e-03f, 2.273048210e-03f,
+2.272708215e-03f, 2.272364311e-03f, 2.272016498e-03f, 2.271664777e-03f, 2.271309149e-03f, 2.270949614e-03f, 2.270586175e-03f, 2.270218830e-03f, 2.269847582e-03f, 2.269472432e-03f,
+2.269093379e-03f, 2.268710425e-03f, 2.268323570e-03f, 2.267932816e-03f, 2.267538164e-03f, 2.267139614e-03f, 2.266737167e-03f, 2.266330825e-03f, 2.265920587e-03f, 2.265506456e-03f,
+2.265088431e-03f, 2.264666514e-03f, 2.264240706e-03f, 2.263811008e-03f, 2.263377420e-03f, 2.262939944e-03f, 2.262498581e-03f, 2.262053331e-03f, 2.261604196e-03f, 2.261151176e-03f,
+2.260694273e-03f, 2.260233487e-03f, 2.259768820e-03f, 2.259300272e-03f, 2.258827845e-03f, 2.258351540e-03f, 2.257871357e-03f, 2.257387298e-03f, 2.256899363e-03f, 2.256407554e-03f,
+2.255911872e-03f, 2.255412318e-03f, 2.254908893e-03f, 2.254401598e-03f, 2.253890433e-03f, 2.253375401e-03f, 2.252856503e-03f, 2.252333738e-03f, 2.251807110e-03f, 2.251276618e-03f,
+2.250742263e-03f, 2.250204048e-03f, 2.249661972e-03f, 2.249116038e-03f, 2.248566245e-03f, 2.248012597e-03f, 2.247455093e-03f, 2.246893735e-03f, 2.246328523e-03f, 2.245759460e-03f,
+2.245186546e-03f, 2.244609783e-03f, 2.244029172e-03f, 2.243444713e-03f, 2.242856409e-03f, 2.242264260e-03f, 2.241668267e-03f, 2.241068433e-03f, 2.240464757e-03f, 2.239857242e-03f,
+2.239245889e-03f, 2.238630698e-03f, 2.238011671e-03f, 2.237388810e-03f, 2.236762116e-03f, 2.236131590e-03f, 2.235497232e-03f, 2.234859046e-03f, 2.234217031e-03f, 2.233571190e-03f,
+2.232921523e-03f, 2.232268032e-03f, 2.231610718e-03f, 2.230949582e-03f, 2.230284627e-03f, 2.229615852e-03f, 2.228943261e-03f, 2.228266853e-03f, 2.227586630e-03f, 2.226902595e-03f,
+2.226214747e-03f, 2.225523089e-03f, 2.224827621e-03f, 2.224128346e-03f, 2.223425265e-03f, 2.222718379e-03f, 2.222007689e-03f, 2.221293198e-03f, 2.220574905e-03f, 2.219852814e-03f,
+2.219126925e-03f, 2.218397240e-03f, 2.217663760e-03f, 2.216926486e-03f, 2.216185421e-03f, 2.215440566e-03f, 2.214691922e-03f, 2.213939490e-03f, 2.213183272e-03f, 2.212423271e-03f,
+2.211659486e-03f, 2.210891920e-03f, 2.210120574e-03f, 2.209345450e-03f, 2.208566550e-03f, 2.207783874e-03f, 2.206997425e-03f, 2.206207204e-03f, 2.205413212e-03f, 2.204615451e-03f,
+2.203813923e-03f, 2.203008630e-03f, 2.202199572e-03f, 2.201386752e-03f, 2.200570170e-03f, 2.199749830e-03f, 2.198925732e-03f, 2.198097878e-03f, 2.197266269e-03f, 2.196430908e-03f,
+2.195591795e-03f, 2.194748933e-03f, 2.193902323e-03f, 2.193051968e-03f, 2.192197867e-03f, 2.191340024e-03f, 2.190478439e-03f, 2.189613116e-03f, 2.188744054e-03f, 2.187871256e-03f,
+2.186994724e-03f, 2.186114460e-03f, 2.185230464e-03f, 2.184342740e-03f, 2.183451288e-03f, 2.182556110e-03f, 2.181657208e-03f, 2.180754584e-03f, 2.179848240e-03f, 2.178938177e-03f,
+2.178024397e-03f, 2.177106902e-03f, 2.176185694e-03f, 2.175260774e-03f, 2.174332145e-03f, 2.173399807e-03f, 2.172463763e-03f, 2.171524015e-03f, 2.170580565e-03f, 2.169633414e-03f,
+2.168682564e-03f, 2.167728017e-03f, 2.166769775e-03f, 2.165807839e-03f, 2.164842213e-03f, 2.163872896e-03f, 2.162899892e-03f, 2.161923203e-03f, 2.160942829e-03f, 2.159958773e-03f,
+2.158971037e-03f, 2.157979623e-03f, 2.156984533e-03f, 2.155985768e-03f, 2.154983331e-03f, 2.153977223e-03f, 2.152967446e-03f, 2.151954003e-03f, 2.150936896e-03f, 2.149916125e-03f,
+2.148891694e-03f, 2.147863604e-03f, 2.146831857e-03f, 2.145796455e-03f, 2.144757400e-03f, 2.143714694e-03f, 2.142668340e-03f, 2.141618338e-03f, 2.140564692e-03f, 2.139507402e-03f,
+2.138446472e-03f, 2.137381903e-03f, 2.136313698e-03f, 2.135241857e-03f, 2.134166384e-03f, 2.133087280e-03f, 2.132004548e-03f, 2.130918189e-03f, 2.129828205e-03f, 2.128734600e-03f,
+2.127637374e-03f, 2.126536529e-03f, 2.125432069e-03f, 2.124323995e-03f, 2.123212308e-03f, 2.122097012e-03f, 2.120978109e-03f, 2.119855600e-03f, 2.118729487e-03f, 2.117599773e-03f,
+2.116466461e-03f, 2.115329551e-03f, 2.114189046e-03f, 2.113044949e-03f, 2.111897261e-03f, 2.110745985e-03f, 2.109591123e-03f, 2.108432677e-03f, 2.107270649e-03f, 2.106105042e-03f,
+2.104935857e-03f, 2.103763098e-03f, 2.102586765e-03f, 2.101406862e-03f, 2.100223390e-03f, 2.099036352e-03f, 2.097845751e-03f, 2.096651587e-03f, 2.095453864e-03f, 2.094252584e-03f,
+2.093047749e-03f, 2.091839362e-03f, 2.090627424e-03f, 2.089411938e-03f, 2.088192906e-03f, 2.086970330e-03f, 2.085744214e-03f, 2.084514558e-03f, 2.083281366e-03f, 2.082044640e-03f,
+2.080804382e-03f, 2.079560594e-03f, 2.078313279e-03f, 2.077062439e-03f, 2.075808077e-03f, 2.074550195e-03f, 2.073288794e-03f, 2.072023878e-03f, 2.070755449e-03f, 2.069483510e-03f,
+2.068208062e-03f, 2.066929108e-03f, 2.065646650e-03f, 2.064360692e-03f, 2.063071235e-03f, 2.061778281e-03f, 2.060481834e-03f, 2.059181895e-03f, 2.057878467e-03f, 2.056571553e-03f,
+2.055261154e-03f, 2.053947274e-03f, 2.052629914e-03f, 2.051309078e-03f, 2.049984768e-03f, 2.048656986e-03f, 2.047325734e-03f, 2.045991016e-03f, 2.044652833e-03f, 2.043311188e-03f,
+2.041966084e-03f, 2.040617524e-03f, 2.039265508e-03f, 2.037910042e-03f, 2.036551125e-03f, 2.035188763e-03f, 2.033822955e-03f, 2.032453707e-03f, 2.031081019e-03f, 2.029704895e-03f,
+2.028325336e-03f, 2.026942347e-03f, 2.025555928e-03f, 2.024166083e-03f, 2.022772815e-03f, 2.021376125e-03f, 2.019976017e-03f, 2.018572493e-03f, 2.017165556e-03f, 2.015755208e-03f,
+2.014341452e-03f, 2.012924291e-03f, 2.011503727e-03f, 2.010079763e-03f, 2.008652401e-03f, 2.007221645e-03f, 2.005787496e-03f, 2.004349958e-03f, 2.002909033e-03f, 2.001464724e-03f,
+2.000017033e-03f, 1.998565964e-03f, 1.997111518e-03f, 1.995653699e-03f, 1.994192509e-03f, 1.992727951e-03f, 1.991260028e-03f, 1.989788742e-03f, 1.988314096e-03f, 1.986836093e-03f,
+1.985354736e-03f, 1.983870027e-03f, 1.982381969e-03f, 1.980890565e-03f, 1.979395818e-03f, 1.977897730e-03f, 1.976396304e-03f, 1.974891542e-03f, 1.973383449e-03f, 1.971872026e-03f,
+1.970357276e-03f, 1.968839202e-03f, 1.967317807e-03f, 1.965793094e-03f, 1.964265065e-03f, 1.962733724e-03f, 1.961199072e-03f, 1.959661114e-03f, 1.958119851e-03f, 1.956575287e-03f,
+1.955027424e-03f, 1.953476266e-03f, 1.951921815e-03f, 1.950364074e-03f, 1.948803045e-03f, 1.947238733e-03f, 1.945671139e-03f, 1.944100267e-03f, 1.942526119e-03f, 1.940948698e-03f,
+1.939368008e-03f, 1.937784051e-03f, 1.936196830e-03f, 1.934606347e-03f, 1.933012607e-03f, 1.931415612e-03f, 1.929815364e-03f, 1.928211867e-03f, 1.926605123e-03f, 1.924995137e-03f,
+1.923381909e-03f, 1.921765445e-03f, 1.920145746e-03f, 1.918522815e-03f, 1.916896655e-03f, 1.915267270e-03f, 1.913634663e-03f, 1.911998836e-03f, 1.910359792e-03f, 1.908717535e-03f,
+1.907072067e-03f, 1.905423391e-03f, 1.903771511e-03f, 1.902116429e-03f, 1.900458149e-03f, 1.898796674e-03f, 1.897132006e-03f, 1.895464149e-03f, 1.893793105e-03f, 1.892118878e-03f,
+1.890441471e-03f, 1.888760887e-03f, 1.887077129e-03f, 1.885390200e-03f, 1.883700103e-03f, 1.882006841e-03f, 1.880310418e-03f, 1.878610835e-03f, 1.876908098e-03f, 1.875202208e-03f,
+1.873493169e-03f, 1.871780984e-03f, 1.870065655e-03f, 1.868347187e-03f, 1.866625583e-03f, 1.864900844e-03f, 1.863172975e-03f, 1.861441979e-03f, 1.859707859e-03f, 1.857970618e-03f,
+1.856230259e-03f, 1.854486785e-03f, 1.852740200e-03f, 1.850990507e-03f, 1.849237709e-03f, 1.847481809e-03f, 1.845722810e-03f, 1.843960716e-03f, 1.842195529e-03f, 1.840427254e-03f,
+1.838655893e-03f, 1.836881449e-03f, 1.835103926e-03f, 1.833323326e-03f, 1.831539654e-03f, 1.829752913e-03f, 1.827963105e-03f, 1.826170233e-03f, 1.824374303e-03f, 1.822575315e-03f,
+1.820773274e-03f, 1.818968183e-03f, 1.817160046e-03f, 1.815348865e-03f, 1.813534644e-03f, 1.811717386e-03f, 1.809897094e-03f, 1.808073772e-03f, 1.806247424e-03f, 1.804418051e-03f,
+1.802585659e-03f, 1.800750249e-03f, 1.798911826e-03f, 1.797070393e-03f, 1.795225952e-03f, 1.793378508e-03f, 1.791528064e-03f, 1.789674623e-03f, 1.787818189e-03f, 1.785958764e-03f,
+1.784096353e-03f, 1.782230958e-03f, 1.780362583e-03f, 1.778491232e-03f, 1.776616907e-03f, 1.774739613e-03f, 1.772859352e-03f, 1.770976128e-03f, 1.769089945e-03f, 1.767200805e-03f,
+1.765308713e-03f, 1.763413671e-03f, 1.761515684e-03f, 1.759614754e-03f, 1.757710885e-03f, 1.755804081e-03f, 1.753894344e-03f, 1.751981679e-03f, 1.750066088e-03f, 1.748147576e-03f,
+1.746226146e-03f, 1.744301801e-03f, 1.742374545e-03f, 1.740444380e-03f, 1.738511312e-03f, 1.736575343e-03f, 1.734636476e-03f, 1.732694716e-03f, 1.730750065e-03f, 1.728802528e-03f,
+1.726852107e-03f, 1.724898807e-03f, 1.722942630e-03f, 1.720983581e-03f, 1.719021663e-03f, 1.717056879e-03f, 1.715089233e-03f, 1.713118729e-03f, 1.711145370e-03f, 1.709169159e-03f,
+1.707190101e-03f, 1.705208198e-03f, 1.703223455e-03f, 1.701235875e-03f, 1.699245461e-03f, 1.697252218e-03f, 1.695256148e-03f, 1.693257256e-03f, 1.691255545e-03f, 1.689251018e-03f,
+1.687243679e-03f, 1.685233532e-03f, 1.683220581e-03f, 1.681204828e-03f, 1.679186279e-03f, 1.677164935e-03f, 1.675140802e-03f, 1.673113882e-03f, 1.671084179e-03f, 1.669051698e-03f,
+1.667016441e-03f, 1.664978412e-03f, 1.662937615e-03f, 1.660894054e-03f, 1.658847732e-03f, 1.656798653e-03f, 1.654746821e-03f, 1.652692239e-03f, 1.650634911e-03f, 1.648574841e-03f,
+1.646512032e-03f, 1.644446489e-03f, 1.642378214e-03f, 1.640307212e-03f, 1.638233487e-03f, 1.636157041e-03f, 1.634077879e-03f, 1.631996005e-03f, 1.629911422e-03f, 1.627824134e-03f,
+1.625734145e-03f, 1.623641459e-03f, 1.621546079e-03f, 1.619448008e-03f, 1.617347252e-03f, 1.615243813e-03f, 1.613137696e-03f, 1.611028904e-03f, 1.608917441e-03f, 1.606803311e-03f,
+1.604686517e-03f, 1.602567063e-03f, 1.600444954e-03f, 1.598320193e-03f, 1.596192784e-03f, 1.594062730e-03f, 1.591930035e-03f, 1.589794704e-03f, 1.587656740e-03f, 1.585516147e-03f,
+1.583372929e-03f, 1.581227089e-03f, 1.579078632e-03f, 1.576927561e-03f, 1.574773880e-03f, 1.572617594e-03f, 1.570458705e-03f, 1.568297218e-03f, 1.566133136e-03f, 1.563966465e-03f,
+1.561797206e-03f, 1.559625365e-03f, 1.557450946e-03f, 1.555273951e-03f, 1.553094385e-03f, 1.550912252e-03f, 1.548727556e-03f, 1.546540301e-03f, 1.544350490e-03f, 1.542158128e-03f,
+1.539963219e-03f, 1.537765766e-03f, 1.535565773e-03f, 1.533363245e-03f, 1.531158184e-03f, 1.528950596e-03f, 1.526740485e-03f, 1.524527853e-03f, 1.522312705e-03f, 1.520095045e-03f,
+1.517874878e-03f, 1.515652206e-03f, 1.513427034e-03f, 1.511199366e-03f, 1.508969206e-03f, 1.506736558e-03f, 1.504501426e-03f, 1.502263814e-03f, 1.500023725e-03f, 1.497781165e-03f,
+1.495536136e-03f, 1.493288643e-03f, 1.491038691e-03f, 1.488786282e-03f, 1.486531421e-03f, 1.484274112e-03f, 1.482014359e-03f, 1.479752166e-03f, 1.477487537e-03f, 1.475220477e-03f,
+1.472950989e-03f, 1.470679077e-03f, 1.468404745e-03f, 1.466127997e-03f, 1.463848838e-03f, 1.461567272e-03f, 1.459283302e-03f, 1.456996933e-03f, 1.454708168e-03f, 1.452417013e-03f,
+1.450123470e-03f, 1.447827544e-03f, 1.445529240e-03f, 1.443228560e-03f, 1.440925510e-03f, 1.438620093e-03f, 1.436312314e-03f, 1.434002177e-03f, 1.431689685e-03f, 1.429374843e-03f,
+1.427057655e-03f, 1.424738125e-03f, 1.422416258e-03f, 1.420092057e-03f, 1.417765526e-03f, 1.415436670e-03f, 1.413105494e-03f, 1.410772000e-03f, 1.408436193e-03f, 1.406098077e-03f,
+1.403757657e-03f, 1.401414937e-03f, 1.399069921e-03f, 1.396722612e-03f, 1.394373016e-03f, 1.392021136e-03f, 1.389666977e-03f, 1.387310542e-03f, 1.384951836e-03f, 1.382590864e-03f,
+1.380227629e-03f, 1.377862135e-03f, 1.375494387e-03f, 1.373124389e-03f, 1.370752146e-03f, 1.368377661e-03f, 1.366000938e-03f, 1.363621982e-03f, 1.361240798e-03f, 1.358857388e-03f,
+1.356471759e-03f, 1.354083913e-03f, 1.351693855e-03f, 1.349301589e-03f, 1.346907120e-03f, 1.344510452e-03f, 1.342111589e-03f, 1.339710536e-03f, 1.337307296e-03f, 1.334901873e-03f,
+1.332494273e-03f, 1.330084500e-03f, 1.327672557e-03f, 1.325258449e-03f, 1.322842180e-03f, 1.320423755e-03f, 1.318003178e-03f, 1.315580453e-03f, 1.313155585e-03f, 1.310728577e-03f,
+1.308299435e-03f, 1.305868162e-03f, 1.303434762e-03f, 1.300999241e-03f, 1.298561602e-03f, 1.296121850e-03f, 1.293679989e-03f, 1.291236023e-03f, 1.288789957e-03f, 1.286341795e-03f,
+1.283891541e-03f, 1.281439200e-03f, 1.278984776e-03f, 1.276528274e-03f, 1.274069697e-03f, 1.271609051e-03f, 1.269146339e-03f, 1.266681566e-03f, 1.264214736e-03f, 1.261745854e-03f,
+1.259274924e-03f, 1.256801950e-03f, 1.254326937e-03f, 1.251849889e-03f, 1.249370811e-03f, 1.246889707e-03f, 1.244406581e-03f, 1.241921437e-03f, 1.239434281e-03f, 1.236945117e-03f,
+1.234453948e-03f, 1.231960780e-03f, 1.229465617e-03f, 1.226968463e-03f, 1.224469322e-03f, 1.221968200e-03f, 1.219465100e-03f, 1.216960027e-03f, 1.214452985e-03f, 1.211943980e-03f,
+1.209433014e-03f, 1.206920093e-03f, 1.204405222e-03f, 1.201888403e-03f, 1.199369643e-03f, 1.196848946e-03f, 1.194326315e-03f, 1.191801756e-03f, 1.189275273e-03f, 1.186746870e-03f,
+1.184216552e-03f, 1.181684323e-03f, 1.179150188e-03f, 1.176614151e-03f, 1.174076218e-03f, 1.171536391e-03f, 1.168994676e-03f, 1.166451077e-03f, 1.163905599e-03f, 1.161358247e-03f,
+1.158809024e-03f, 1.156257935e-03f, 1.153704985e-03f, 1.151150178e-03f, 1.148593520e-03f, 1.146035013e-03f, 1.143474663e-03f, 1.140912475e-03f, 1.138348452e-03f, 1.135782600e-03f,
+1.133214923e-03f, 1.130645425e-03f, 1.128074112e-03f, 1.125500986e-03f, 1.122926054e-03f, 1.120349320e-03f, 1.117770788e-03f, 1.115190462e-03f, 1.112608348e-03f, 1.110024450e-03f,
+1.107438772e-03f, 1.104851319e-03f, 1.102262096e-03f, 1.099671107e-03f, 1.097078357e-03f, 1.094483849e-03f, 1.091887590e-03f, 1.089289583e-03f, 1.086689833e-03f, 1.084088345e-03f,
+1.081485123e-03f, 1.078880172e-03f, 1.076273496e-03f, 1.073665100e-03f, 1.071054989e-03f, 1.068443167e-03f, 1.065829639e-03f, 1.063214409e-03f, 1.060597482e-03f, 1.057978863e-03f,
+1.055358556e-03f, 1.052736566e-03f, 1.050112898e-03f, 1.047487555e-03f, 1.044860544e-03f, 1.042231867e-03f, 1.039601531e-03f, 1.036969539e-03f, 1.034335897e-03f, 1.031700609e-03f,
+1.029063679e-03f, 1.026425112e-03f, 1.023784913e-03f, 1.021143087e-03f, 1.018499638e-03f, 1.015854571e-03f, 1.013207890e-03f, 1.010559600e-03f, 1.007909706e-03f, 1.005258213e-03f,
+1.002605125e-03f, 9.999504462e-04f, 9.972941822e-04f, 9.946363375e-04f, 9.919769165e-04f, 9.893159241e-04f, 9.866533649e-04f, 9.839892436e-04f, 9.813235649e-04f, 9.786563335e-04f,
+9.759875540e-04f, 9.733172312e-04f, 9.706453697e-04f, 9.679719743e-04f, 9.652970497e-04f, 9.626206005e-04f, 9.599426315e-04f, 9.572631474e-04f, 9.545821529e-04f, 9.518996528e-04f,
+9.492156516e-04f, 9.465301543e-04f, 9.438431653e-04f, 9.411546896e-04f, 9.384647319e-04f, 9.357732967e-04f, 9.330803890e-04f, 9.303860134e-04f, 9.276901746e-04f, 9.249928775e-04f,
+9.222941266e-04f, 9.195939269e-04f, 9.168922830e-04f, 9.141891996e-04f, 9.114846816e-04f, 9.087787336e-04f, 9.060713605e-04f, 9.033625669e-04f, 9.006523577e-04f, 8.979407376e-04f,
+8.952277113e-04f, 8.925132837e-04f, 8.897974595e-04f, 8.870802434e-04f, 8.843616403e-04f, 8.816416549e-04f, 8.789202919e-04f, 8.761975563e-04f, 8.734734526e-04f, 8.707479858e-04f,
+8.680211606e-04f, 8.652929818e-04f, 8.625634542e-04f, 8.598325825e-04f, 8.571003716e-04f, 8.543668263e-04f, 8.516319513e-04f, 8.488957515e-04f, 8.461582316e-04f, 8.434193965e-04f,
+8.406792510e-04f, 8.379377998e-04f, 8.351950478e-04f, 8.324509998e-04f, 8.297056606e-04f, 8.269590350e-04f, 8.242111278e-04f, 8.214619439e-04f, 8.187114880e-04f, 8.159597651e-04f,
+8.132067798e-04f, 8.104525371e-04f, 8.076970418e-04f, 8.049402986e-04f, 8.021823125e-04f, 7.994230883e-04f, 7.966626308e-04f, 7.939009448e-04f, 7.911380351e-04f, 7.883739067e-04f,
+7.856085644e-04f, 7.828420130e-04f, 7.800742573e-04f, 7.773053022e-04f, 7.745351526e-04f, 7.717638133e-04f, 7.689912892e-04f, 7.662175850e-04f, 7.634427058e-04f, 7.606666562e-04f,
+7.578894413e-04f, 7.551110658e-04f, 7.523315347e-04f, 7.495508527e-04f, 7.467690248e-04f, 7.439860558e-04f, 7.412019506e-04f, 7.384167140e-04f, 7.356303511e-04f, 7.328428665e-04f,
+7.300542652e-04f, 7.272645522e-04f, 7.244737321e-04f, 7.216818100e-04f, 7.188887908e-04f, 7.160946793e-04f, 7.132994803e-04f, 7.105031989e-04f, 7.077058398e-04f, 7.049074081e-04f,
+7.021079085e-04f, 6.993073459e-04f, 6.965057254e-04f, 6.937030517e-04f, 6.908993297e-04f, 6.880945644e-04f, 6.852887607e-04f, 6.824819235e-04f, 6.796740577e-04f, 6.768651681e-04f,
+6.740552598e-04f, 6.712443376e-04f, 6.684324064e-04f, 6.656194711e-04f, 6.628055367e-04f, 6.599906081e-04f, 6.571746902e-04f, 6.543577879e-04f, 6.515399061e-04f, 6.487210498e-04f,
+6.459012238e-04f, 6.430804332e-04f, 6.402586828e-04f, 6.374359776e-04f, 6.346123225e-04f, 6.317877224e-04f, 6.289621823e-04f, 6.261357070e-04f, 6.233083016e-04f, 6.204799710e-04f,
+6.176507200e-04f, 6.148205537e-04f, 6.119894770e-04f, 6.091574948e-04f, 6.063246121e-04f, 6.034908338e-04f, 6.006561649e-04f, 5.978206103e-04f, 5.949841750e-04f, 5.921468638e-04f,
+5.893086818e-04f, 5.864696340e-04f, 5.836297251e-04f, 5.807889604e-04f, 5.779473446e-04f, 5.751048827e-04f, 5.722615797e-04f, 5.694174406e-04f, 5.665724703e-04f, 5.637266737e-04f,
+5.608800559e-04f, 5.580326218e-04f, 5.551843764e-04f, 5.523353246e-04f, 5.494854714e-04f, 5.466348218e-04f, 5.437833807e-04f, 5.409311531e-04f, 5.380781441e-04f, 5.352243584e-04f,
+5.323698012e-04f, 5.295144775e-04f, 5.266583921e-04f, 5.238015500e-04f, 5.209439563e-04f, 5.180856160e-04f, 5.152265339e-04f, 5.123667151e-04f, 5.095061646e-04f, 5.066448873e-04f,
+5.037828882e-04f, 5.009201724e-04f, 4.980567448e-04f, 4.951926103e-04f, 4.923277741e-04f, 4.894622410e-04f, 4.865960161e-04f, 4.837291043e-04f, 4.808615107e-04f, 4.779932402e-04f,
+4.751242978e-04f, 4.722546886e-04f, 4.693844175e-04f, 4.665134895e-04f, 4.636419096e-04f, 4.607696829e-04f, 4.578968142e-04f, 4.550233087e-04f, 4.521491713e-04f, 4.492744070e-04f,
+4.463990208e-04f, 4.435230177e-04f, 4.406464028e-04f, 4.377691810e-04f, 4.348913573e-04f, 4.320129368e-04f, 4.291339244e-04f, 4.262543252e-04f, 4.233741441e-04f, 4.204933862e-04f,
+4.176120565e-04f, 4.147301601e-04f, 4.118477018e-04f, 4.089646867e-04f, 4.060811199e-04f, 4.031970063e-04f, 4.003123510e-04f, 3.974271590e-04f, 3.945414352e-04f, 3.916551848e-04f,
+3.887684127e-04f, 3.858811239e-04f, 3.829933235e-04f, 3.801050165e-04f, 3.772162079e-04f, 3.743269027e-04f, 3.714371059e-04f, 3.685468227e-04f, 3.656560578e-04f, 3.627648166e-04f,
+3.598731038e-04f, 3.569809246e-04f, 3.540882839e-04f, 3.511951869e-04f, 3.483016385e-04f, 3.454076437e-04f, 3.425132077e-04f, 3.396183353e-04f, 3.367230317e-04f, 3.338273018e-04f,
+3.309311507e-04f, 3.280345834e-04f, 3.251376050e-04f, 3.222402205e-04f, 3.193424348e-04f, 3.164442531e-04f, 3.135456804e-04f, 3.106467216e-04f, 3.077473819e-04f, 3.048476662e-04f,
+3.019475796e-04f, 2.990471272e-04f, 2.961463139e-04f, 2.932451448e-04f, 2.903436249e-04f, 2.874417593e-04f, 2.845395530e-04f, 2.816370110e-04f, 2.787341384e-04f, 2.758309401e-04f,
+2.729274213e-04f, 2.700235870e-04f, 2.671194421e-04f, 2.642149918e-04f, 2.613102411e-04f, 2.584051950e-04f, 2.554998586e-04f, 2.525942368e-04f, 2.496883348e-04f, 2.467821575e-04f,
+2.438757100e-04f, 2.409689974e-04f, 2.380620246e-04f, 2.351547968e-04f, 2.322473189e-04f, 2.293395960e-04f, 2.264316331e-04f, 2.235234354e-04f, 2.206150077e-04f, 2.177063551e-04f,
+2.147974828e-04f, 2.118883957e-04f, 2.089790989e-04f, 2.060695973e-04f, 2.031598962e-04f, 2.002500004e-04f, 1.973399150e-04f, 1.944296451e-04f, 1.915191957e-04f, 1.886085719e-04f,
+1.856977787e-04f, 1.827868210e-04f, 1.798757041e-04f, 1.769644329e-04f, 1.740530124e-04f, 1.711414477e-04f, 1.682297438e-04f, 1.653179058e-04f, 1.624059388e-04f, 1.594938476e-04f,
+1.565816375e-04f, 1.536693134e-04f, 1.507568803e-04f, 1.478443434e-04f, 1.449317076e-04f, 1.420189781e-04f, 1.391061597e-04f, 1.361932576e-04f, 1.332802768e-04f, 1.303672224e-04f,
+1.274540994e-04f, 1.245409127e-04f, 1.216276676e-04f, 1.187143689e-04f, 1.158010218e-04f, 1.128876313e-04f, 1.099742024e-04f, 1.070607401e-04f, 1.041472495e-04f, 1.012337357e-04f,
+9.832020363e-05f, 9.540665836e-05f, 9.249310493e-05f, 8.957954838e-05f, 8.666599373e-05f, 8.375244604e-05f, 8.083891033e-05f, 7.792539164e-05f, 7.501189500e-05f, 7.209842544e-05f,
+6.918498801e-05f, 6.627158774e-05f, 6.335822966e-05f, 6.044491880e-05f, 5.753166019e-05f, 5.461845888e-05f, 5.170531988e-05f, 4.879224824e-05f, 4.587924899e-05f, 4.296632714e-05f,
+4.005348775e-05f, 3.714073582e-05f, 3.422807641e-05f, 3.131551453e-05f, 2.840305521e-05f, 2.549070349e-05f, 2.257846439e-05f, 1.966634293e-05f, 1.675434415e-05f, 1.384247307e-05f,
+1.093073472e-05f, 8.019134123e-06f, 5.107676304e-06f, 2.196366288e-06f, -7.147909011e-07f, -3.625790239e-06f, -6.536626704e-06f, -9.447295273e-06f, -1.235779092e-05f, -1.526810864e-05f,
+-1.817824339e-05f, -2.108819016e-05f, -2.399794393e-05f, -2.690749968e-05f, -2.981685240e-05f, -3.272599706e-05f, -3.563492866e-05f, -3.854364216e-05f, -4.145213256e-05f, -4.436039484e-05f,
+-4.726842399e-05f, -5.017621499e-05f, -5.308376283e-05f, -5.599106249e-05f, -5.889810898e-05f, -6.180489726e-05f, -6.471142234e-05f, -6.761767921e-05f, -7.052366285e-05f, -7.342936826e-05f,
+-7.633479043e-05f, -7.923992436e-05f, -8.214476503e-05f, -8.504930745e-05f, -8.795354660e-05f, -9.085747749e-05f, -9.376109512e-05f, -9.666439447e-05f, -9.956737055e-05f, -1.024700184e-04f,
+-1.053723329e-04f, -1.082743092e-04f, -1.111759422e-04f, -1.140772269e-04f, -1.169781584e-04f, -1.198787317e-04f, -1.227789416e-04f, -1.256787834e-04f, -1.285782519e-04f, -1.314773422e-04f,
+-1.343760493e-04f, -1.372743681e-04f, -1.401722938e-04f, -1.430698213e-04f, -1.459669456e-04f, -1.488636618e-04f, -1.517599648e-04f, -1.546558497e-04f, -1.575513115e-04f, -1.604463452e-04f,
+-1.633409458e-04f, -1.662351084e-04f, -1.691288280e-04f, -1.720220996e-04f, -1.749149182e-04f, -1.778072788e-04f, -1.806991765e-04f, -1.835906063e-04f, -1.864815632e-04f, -1.893720422e-04f,
+-1.922620385e-04f, -1.951515469e-04f, -1.980405626e-04f, -2.009290806e-04f, -2.038170959e-04f, -2.067046035e-04f, -2.095915985e-04f, -2.124780760e-04f, -2.153640309e-04f, -2.182494582e-04f,
+-2.211343532e-04f, -2.240187107e-04f, -2.269025258e-04f, -2.297857936e-04f, -2.326685092e-04f, -2.355506674e-04f, -2.384322635e-04f, -2.413132925e-04f, -2.441937494e-04f, -2.470736292e-04f,
+-2.499529271e-04f, -2.528316380e-04f, -2.557097571e-04f, -2.585872793e-04f, -2.614641998e-04f, -2.643405136e-04f, -2.672162157e-04f, -2.700913013e-04f, -2.729657654e-04f, -2.758396030e-04f,
+-2.787128093e-04f, -2.815853792e-04f, -2.844573079e-04f, -2.873285904e-04f, -2.901992219e-04f, -2.930691973e-04f, -2.959385117e-04f, -2.988071603e-04f, -3.016751381e-04f, -3.045424402e-04f,
+-3.074090616e-04f, -3.102749975e-04f, -3.131402429e-04f, -3.160047930e-04f, -3.188686427e-04f, -3.217317872e-04f, -3.245942216e-04f, -3.274559409e-04f, -3.303169404e-04f, -3.331772149e-04f,
+-3.360367598e-04f, -3.388955699e-04f, -3.417536405e-04f, -3.446109667e-04f, -3.474675435e-04f, -3.503233660e-04f, -3.531784294e-04f, -3.560327288e-04f, -3.588862592e-04f, -3.617390158e-04f,
+-3.645909937e-04f, -3.674421879e-04f, -3.702925937e-04f, -3.731422061e-04f, -3.759910203e-04f, -3.788390313e-04f, -3.816862344e-04f, -3.845326245e-04f, -3.873781968e-04f, -3.902229465e-04f,
+-3.930668687e-04f, -3.959099585e-04f, -3.987522111e-04f, -4.015936215e-04f, -4.044341850e-04f, -4.072738965e-04f, -4.101127514e-04f, -4.129507447e-04f, -4.157878716e-04f, -4.186241271e-04f,
+-4.214595065e-04f, -4.242940050e-04f, -4.271276175e-04f, -4.299603394e-04f, -4.327921657e-04f, -4.356230916e-04f, -4.384531123e-04f, -4.412822228e-04f, -4.441104185e-04f, -4.469376944e-04f,
+-4.497640457e-04f, -4.525894675e-04f, -4.554139551e-04f, -4.582375036e-04f, -4.610601081e-04f, -4.638817639e-04f, -4.667024661e-04f, -4.695222099e-04f, -4.723409904e-04f, -4.751588029e-04f,
+-4.779756425e-04f, -4.807915044e-04f, -4.836063839e-04f, -4.864202760e-04f, -4.892331760e-04f, -4.920450790e-04f, -4.948559804e-04f, -4.976658751e-04f, -5.004747585e-04f, -5.032826258e-04f,
+-5.060894722e-04f, -5.088952927e-04f, -5.117000828e-04f, -5.145038375e-04f, -5.173065521e-04f, -5.201082218e-04f, -5.229088418e-04f, -5.257084073e-04f, -5.285069136e-04f, -5.313043558e-04f,
+-5.341007292e-04f, -5.368960290e-04f, -5.396902504e-04f, -5.424833887e-04f, -5.452754391e-04f, -5.480663968e-04f, -5.508562570e-04f, -5.536450151e-04f, -5.564326662e-04f, -5.592192055e-04f,
+-5.620046284e-04f, -5.647889301e-04f, -5.675721057e-04f, -5.703541507e-04f, -5.731350601e-04f, -5.759148293e-04f, -5.786934536e-04f, -5.814709281e-04f, -5.842472481e-04f, -5.870224090e-04f,
+-5.897964060e-04f, -5.925692343e-04f, -5.953408892e-04f, -5.981113660e-04f, -6.008806599e-04f, -6.036487663e-04f, -6.064156804e-04f, -6.091813975e-04f, -6.119459129e-04f, -6.147092219e-04f,
+-6.174713197e-04f, -6.202322017e-04f, -6.229918631e-04f, -6.257502993e-04f, -6.285075055e-04f, -6.312634770e-04f, -6.340182092e-04f, -6.367716973e-04f, -6.395239367e-04f, -6.422749226e-04f,
+-6.450246504e-04f, -6.477731154e-04f, -6.505203130e-04f, -6.532662383e-04f, -6.560108868e-04f, -6.587542538e-04f, -6.614963345e-04f, -6.642371244e-04f, -6.669766188e-04f, -6.697148130e-04f,
+-6.724517023e-04f, -6.751872821e-04f, -6.779215477e-04f, -6.806544945e-04f, -6.833861178e-04f, -6.861164129e-04f, -6.888453753e-04f, -6.915730002e-04f, -6.942992830e-04f, -6.970242192e-04f,
+-6.997478040e-04f, -7.024700328e-04f, -7.051909010e-04f, -7.079104039e-04f, -7.106285370e-04f, -7.133452955e-04f, -7.160606750e-04f, -7.187746707e-04f, -7.214872780e-04f, -7.241984924e-04f,
+-7.269083092e-04f, -7.296167238e-04f, -7.323237316e-04f, -7.350293280e-04f, -7.377335084e-04f, -7.404362682e-04f, -7.431376029e-04f, -7.458375077e-04f, -7.485359782e-04f, -7.512330097e-04f,
+-7.539285976e-04f, -7.566227375e-04f, -7.593154246e-04f, -7.620066544e-04f, -7.646964224e-04f, -7.673847240e-04f, -7.700715546e-04f, -7.727569096e-04f, -7.754407845e-04f, -7.781231747e-04f,
+-7.808040757e-04f, -7.834834829e-04f, -7.861613918e-04f, -7.888377977e-04f, -7.915126963e-04f, -7.941860828e-04f, -7.968579529e-04f, -7.995283019e-04f, -8.021971253e-04f, -8.048644186e-04f,
+-8.075301773e-04f, -8.101943968e-04f, -8.128570726e-04f, -8.155182002e-04f, -8.181777751e-04f, -8.208357927e-04f, -8.234922486e-04f, -8.261471383e-04f, -8.288004572e-04f, -8.314522008e-04f,
+-8.341023646e-04f, -8.367509442e-04f, -8.393979351e-04f, -8.420433327e-04f, -8.446871326e-04f, -8.473293303e-04f, -8.499699213e-04f, -8.526089011e-04f, -8.552462653e-04f, -8.578820094e-04f,
+-8.605161289e-04f, -8.631486194e-04f, -8.657794763e-04f, -8.684086953e-04f, -8.710362718e-04f, -8.736622015e-04f, -8.762864799e-04f, -8.789091025e-04f, -8.815300648e-04f, -8.841493625e-04f,
+-8.867669911e-04f, -8.893829462e-04f, -8.919972233e-04f, -8.946098180e-04f, -8.972207260e-04f, -8.998299426e-04f, -9.024374637e-04f, -9.050432846e-04f, -9.076474011e-04f, -9.102498086e-04f,
+-9.128505029e-04f, -9.154494795e-04f, -9.180467339e-04f, -9.206422619e-04f, -9.232360590e-04f, -9.258281208e-04f, -9.284184429e-04f, -9.310070210e-04f, -9.335938507e-04f, -9.361789275e-04f,
+-9.387622471e-04f, -9.413438053e-04f, -9.439235974e-04f, -9.465016193e-04f, -9.490778666e-04f, -9.516523348e-04f, -9.542250197e-04f, -9.567959169e-04f, -9.593650221e-04f, -9.619323308e-04f,
+-9.644978388e-04f, -9.670615417e-04f, -9.696234353e-04f, -9.721835150e-04f, -9.747417768e-04f, -9.772982161e-04f, -9.798528287e-04f, -9.824056103e-04f, -9.849565565e-04f, -9.875056631e-04f,
+-9.900529257e-04f, -9.925983401e-04f, -9.951419019e-04f, -9.976836068e-04f, -1.000223451e-03f, -1.002761429e-03f, -1.005297538e-03f, -1.007831772e-03f, -1.010364128e-03f, -1.012894602e-03f,
+-1.015423189e-03f, -1.017949885e-03f, -1.020474685e-03f, -1.022997586e-03f, -1.025518583e-03f, -1.028037672e-03f, -1.030554848e-03f, -1.033070108e-03f, -1.035583447e-03f, -1.038094860e-03f,
+-1.040604345e-03f, -1.043111895e-03f, -1.045617508e-03f, -1.048121179e-03f, -1.050622904e-03f, -1.053122678e-03f, -1.055620497e-03f, -1.058116357e-03f, -1.060610254e-03f, -1.063102184e-03f,
+-1.065592143e-03f, -1.068080125e-03f, -1.070566128e-03f, -1.073050147e-03f, -1.075532177e-03f, -1.078012215e-03f, -1.080490256e-03f, -1.082966296e-03f, -1.085440331e-03f, -1.087912357e-03f,
+-1.090382370e-03f, -1.092850365e-03f, -1.095316339e-03f, -1.097780286e-03f, -1.100242204e-03f, -1.102702087e-03f, -1.105159933e-03f, -1.107615736e-03f, -1.110069492e-03f, -1.112521198e-03f,
+-1.114970849e-03f, -1.117418441e-03f, -1.119863970e-03f, -1.122307431e-03f, -1.124748822e-03f, -1.127188137e-03f, -1.129625373e-03f, -1.132060525e-03f, -1.134493589e-03f, -1.136924562e-03f,
+-1.139353439e-03f, -1.141780216e-03f, -1.144204889e-03f, -1.146627453e-03f, -1.149047906e-03f, -1.151466242e-03f, -1.153882458e-03f, -1.156296550e-03f, -1.158708513e-03f, -1.161118344e-03f,
+-1.163526038e-03f, -1.165931592e-03f, -1.168335001e-03f, -1.170736261e-03f, -1.173135369e-03f, -1.175532320e-03f, -1.177927110e-03f, -1.180319735e-03f, -1.182710192e-03f, -1.185098475e-03f,
+-1.187484582e-03f, -1.189868509e-03f, -1.192250250e-03f, -1.194629802e-03f, -1.197007162e-03f, -1.199382325e-03f, -1.201755287e-03f, -1.204126044e-03f, -1.206494593e-03f, -1.208860928e-03f,
+-1.211225047e-03f, -1.213586946e-03f, -1.215946619e-03f, -1.218304064e-03f, -1.220659277e-03f, -1.223012253e-03f, -1.225362989e-03f, -1.227711480e-03f, -1.230057723e-03f, -1.232401713e-03f,
+-1.234743448e-03f, -1.237082922e-03f, -1.239420132e-03f, -1.241755075e-03f, -1.244087745e-03f, -1.246418140e-03f, -1.248746255e-03f, -1.251072086e-03f, -1.253395630e-03f, -1.255716882e-03f,
+-1.258035840e-03f, -1.260352498e-03f, -1.262666853e-03f, -1.264978901e-03f, -1.267288638e-03f, -1.269596061e-03f, -1.271901165e-03f, -1.274203947e-03f, -1.276504402e-03f, -1.278802528e-03f,
+-1.281098319e-03f, -1.283391773e-03f, -1.285682885e-03f, -1.287971652e-03f, -1.290258070e-03f, -1.292542134e-03f, -1.294823842e-03f, -1.297103188e-03f, -1.299380171e-03f, -1.301654785e-03f,
+-1.303927026e-03f, -1.306196892e-03f, -1.308464378e-03f, -1.310729480e-03f, -1.312992196e-03f, -1.315252520e-03f, -1.317510449e-03f, -1.319765979e-03f, -1.322019107e-03f, -1.324269829e-03f,
+-1.326518141e-03f, -1.328764039e-03f, -1.331007520e-03f, -1.333248579e-03f, -1.335487214e-03f, -1.337723420e-03f, -1.339957193e-03f, -1.342188531e-03f, -1.344417428e-03f, -1.346643882e-03f,
+-1.348867888e-03f, -1.351089444e-03f, -1.353308544e-03f, -1.355525187e-03f, -1.357739367e-03f, -1.359951081e-03f, -1.362160326e-03f, -1.364367097e-03f, -1.366571392e-03f, -1.368773206e-03f,
+-1.370972536e-03f, -1.373169378e-03f, -1.375363728e-03f, -1.377555583e-03f, -1.379744939e-03f, -1.381931793e-03f, -1.384116141e-03f, -1.386297978e-03f, -1.388477303e-03f, -1.390654110e-03f,
+-1.392828396e-03f, -1.395000158e-03f, -1.397169392e-03f, -1.399336095e-03f, -1.401500262e-03f, -1.403661891e-03f, -1.405820977e-03f, -1.407977518e-03f, -1.410131508e-03f, -1.412282946e-03f,
+-1.414431827e-03f, -1.416578147e-03f, -1.418721904e-03f, -1.420863093e-03f, -1.423001711e-03f, -1.425137755e-03f, -1.427271220e-03f, -1.429402104e-03f, -1.431530403e-03f, -1.433656113e-03f,
+-1.435779230e-03f, -1.437899752e-03f, -1.440017675e-03f, -1.442132994e-03f, -1.444245707e-03f, -1.446355811e-03f, -1.448463301e-03f, -1.450568174e-03f, -1.452670426e-03f, -1.454770055e-03f,
+-1.456867056e-03f, -1.458961427e-03f, -1.461053163e-03f, -1.463142262e-03f, -1.465228719e-03f, -1.467312531e-03f, -1.469393695e-03f, -1.471472208e-03f, -1.473548065e-03f, -1.475621264e-03f,
+-1.477691801e-03f, -1.479759672e-03f, -1.481824875e-03f, -1.483887405e-03f, -1.485947260e-03f, -1.488004435e-03f, -1.490058928e-03f, -1.492110735e-03f, -1.494159853e-03f, -1.496206278e-03f,
+-1.498250007e-03f, -1.500291036e-03f, -1.502329363e-03f, -1.504364983e-03f, -1.506397893e-03f, -1.508428091e-03f, -1.510455572e-03f, -1.512480333e-03f, -1.514502372e-03f, -1.516521683e-03f,
+-1.518538266e-03f, -1.520552115e-03f, -1.522563227e-03f, -1.524571600e-03f, -1.526577230e-03f, -1.528580113e-03f, -1.530580246e-03f, -1.532577627e-03f, -1.534572251e-03f, -1.536564115e-03f,
+-1.538553217e-03f, -1.540539552e-03f, -1.542523118e-03f, -1.544503911e-03f, -1.546481928e-03f, -1.548457166e-03f, -1.550429621e-03f, -1.552399290e-03f, -1.554366170e-03f, -1.556330257e-03f,
+-1.558291550e-03f, -1.560250043e-03f, -1.562205734e-03f, -1.564158620e-03f, -1.566108697e-03f, -1.568055963e-03f, -1.570000413e-03f, -1.571942046e-03f, -1.573880857e-03f, -1.575816843e-03f,
+-1.577750002e-03f, -1.579680330e-03f, -1.581607823e-03f, -1.583532479e-03f, -1.585454295e-03f, -1.587373267e-03f, -1.589289393e-03f, -1.591202668e-03f, -1.593113090e-03f, -1.595020656e-03f,
+-1.596925362e-03f, -1.598827206e-03f, -1.600726184e-03f, -1.602622294e-03f, -1.604515531e-03f, -1.606405893e-03f, -1.608293377e-03f, -1.610177980e-03f, -1.612059699e-03f, -1.613938529e-03f,
+-1.615814470e-03f, -1.617687517e-03f, -1.619557666e-03f, -1.621424917e-03f, -1.623289264e-03f, -1.625150705e-03f, -1.627009237e-03f, -1.628864858e-03f, -1.630717563e-03f, -1.632567349e-03f,
+-1.634414215e-03f, -1.636258156e-03f, -1.638099171e-03f, -1.639937254e-03f, -1.641772405e-03f, -1.643604619e-03f, -1.645433894e-03f, -1.647260226e-03f, -1.649083614e-03f, -1.650904052e-03f,
+-1.652721540e-03f, -1.654536073e-03f, -1.656347649e-03f, -1.658156265e-03f, -1.659961917e-03f, -1.661764603e-03f, -1.663564320e-03f, -1.665361065e-03f, -1.667154835e-03f, -1.668945627e-03f,
+-1.670733438e-03f, -1.672518266e-03f, -1.674300106e-03f, -1.676078957e-03f, -1.677854815e-03f, -1.679627678e-03f, -1.681397542e-03f, -1.683164405e-03f, -1.684928264e-03f, -1.686689116e-03f,
+-1.688446957e-03f, -1.690201786e-03f, -1.691953600e-03f, -1.693702394e-03f, -1.695448167e-03f, -1.697190916e-03f, -1.698930638e-03f, -1.700667330e-03f, -1.702400989e-03f, -1.704131612e-03f,
+-1.705859197e-03f, -1.707583741e-03f, -1.709305240e-03f, -1.711023693e-03f, -1.712739095e-03f, -1.714451446e-03f, -1.716160741e-03f, -1.717866977e-03f, -1.719570153e-03f, -1.721270265e-03f,
+-1.722967311e-03f, -1.724661288e-03f, -1.726352192e-03f, -1.728040022e-03f, -1.729724774e-03f, -1.731406446e-03f, -1.733085035e-03f, -1.734760539e-03f, -1.736432953e-03f, -1.738102277e-03f,
+-1.739768507e-03f, -1.741431640e-03f, -1.743091674e-03f, -1.744748606e-03f, -1.746402433e-03f, -1.748053153e-03f, -1.749700763e-03f, -1.751345260e-03f, -1.752986641e-03f, -1.754624905e-03f,
+-1.756260047e-03f, -1.757892066e-03f, -1.759520960e-03f, -1.761146724e-03f, -1.762769357e-03f, -1.764388856e-03f, -1.766005218e-03f, -1.767618441e-03f, -1.769228523e-03f, -1.770835459e-03f,
+-1.772439249e-03f, -1.774039889e-03f, -1.775637376e-03f, -1.777231709e-03f, -1.778822884e-03f, -1.780410900e-03f, -1.781995752e-03f, -1.783577440e-03f, -1.785155959e-03f, -1.786731309e-03f,
+-1.788303485e-03f, -1.789872486e-03f, -1.791438309e-03f, -1.793000951e-03f, -1.794560411e-03f, -1.796116685e-03f, -1.797669771e-03f, -1.799219666e-03f, -1.800766368e-03f, -1.802309875e-03f,
+-1.803850184e-03f, -1.805387292e-03f, -1.806921197e-03f, -1.808451896e-03f, -1.809979387e-03f, -1.811503668e-03f, -1.813024736e-03f, -1.814542589e-03f, -1.816057224e-03f, -1.817568638e-03f,
+-1.819076830e-03f, -1.820581797e-03f, -1.822083536e-03f, -1.823582045e-03f, -1.825077321e-03f, -1.826569363e-03f, -1.828058168e-03f, -1.829543732e-03f, -1.831026055e-03f, -1.832505134e-03f,
+-1.833980965e-03f, -1.835453548e-03f, -1.836922879e-03f, -1.838388956e-03f, -1.839851777e-03f, -1.841311339e-03f, -1.842767640e-03f, -1.844220678e-03f, -1.845670450e-03f, -1.847116955e-03f,
+-1.848560189e-03f, -1.850000150e-03f, -1.851436836e-03f, -1.852870246e-03f, -1.854300375e-03f, -1.855727223e-03f, -1.857150787e-03f, -1.858571064e-03f, -1.859988053e-03f, -1.861401751e-03f,
+-1.862812155e-03f, -1.864219264e-03f, -1.865623076e-03f, -1.867023587e-03f, -1.868420796e-03f, -1.869814701e-03f, -1.871205299e-03f, -1.872592588e-03f, -1.873976566e-03f, -1.875357230e-03f,
+-1.876734579e-03f, -1.878108611e-03f, -1.879479322e-03f, -1.880846711e-03f, -1.882210776e-03f, -1.883571515e-03f, -1.884928924e-03f, -1.886283003e-03f, -1.887633749e-03f, -1.888981160e-03f,
+-1.890325233e-03f, -1.891665967e-03f, -1.893003359e-03f, -1.894337408e-03f, -1.895668111e-03f, -1.896995466e-03f, -1.898319470e-03f, -1.899640123e-03f, -1.900957421e-03f, -1.902271363e-03f,
+-1.903581947e-03f, -1.904889170e-03f, -1.906193030e-03f, -1.907493525e-03f, -1.908790654e-03f, -1.910084414e-03f, -1.911374803e-03f, -1.912661819e-03f, -1.913945460e-03f, -1.915225725e-03f,
+-1.916502610e-03f, -1.917776114e-03f, -1.919046235e-03f, -1.920312970e-03f, -1.921576319e-03f, -1.922836279e-03f, -1.924092847e-03f, -1.925346023e-03f, -1.926595803e-03f, -1.927842186e-03f,
+-1.929085171e-03f, -1.930324754e-03f, -1.931560934e-03f, -1.932793710e-03f, -1.934023078e-03f, -1.935249038e-03f, -1.936471587e-03f, -1.937690724e-03f, -1.938906446e-03f, -1.940118751e-03f,
+-1.941327638e-03f, -1.942533105e-03f, -1.943735149e-03f, -1.944933769e-03f, -1.946128964e-03f, -1.947320730e-03f, -1.948509067e-03f, -1.949693972e-03f, -1.950875444e-03f, -1.952053480e-03f,
+-1.953228079e-03f, -1.954399239e-03f, -1.955566959e-03f, -1.956731235e-03f, -1.957892067e-03f, -1.959049453e-03f, -1.960203391e-03f, -1.961353878e-03f, -1.962500914e-03f, -1.963644496e-03f,
+-1.964784623e-03f, -1.965921293e-03f, -1.967054504e-03f, -1.968184254e-03f, -1.969310542e-03f, -1.970433365e-03f, -1.971552723e-03f, -1.972668612e-03f, -1.973781033e-03f, -1.974889982e-03f,
+-1.975995458e-03f, -1.977097460e-03f, -1.978195985e-03f, -1.979291032e-03f, -1.980382599e-03f, -1.981470685e-03f, -1.982555288e-03f, -1.983636406e-03f, -1.984714037e-03f, -1.985788180e-03f,
+-1.986858833e-03f, -1.987925995e-03f, -1.988989663e-03f, -1.990049837e-03f, -1.991106514e-03f, -1.992159693e-03f, -1.993209372e-03f, -1.994255550e-03f, -1.995298225e-03f, -1.996337395e-03f,
+-1.997373059e-03f, -1.998405215e-03f, -1.999433862e-03f, -2.000458998e-03f, -2.001480621e-03f, -2.002498730e-03f, -2.003513323e-03f, -2.004524399e-03f, -2.005531956e-03f, -2.006535993e-03f,
+-2.007536508e-03f, -2.008533499e-03f, -2.009526965e-03f, -2.010516905e-03f, -2.011503316e-03f, -2.012486198e-03f, -2.013465549e-03f, -2.014441367e-03f, -2.015413651e-03f, -2.016382400e-03f,
+-2.017347611e-03f, -2.018309284e-03f, -2.019267417e-03f, -2.020222008e-03f, -2.021173057e-03f, -2.022120561e-03f, -2.023064519e-03f, -2.024004930e-03f, -2.024941792e-03f, -2.025875105e-03f,
+-2.026804865e-03f, -2.027731073e-03f, -2.028653726e-03f, -2.029572823e-03f, -2.030488363e-03f, -2.031400345e-03f, -2.032308766e-03f, -2.033213627e-03f, -2.034114924e-03f, -2.035012658e-03f,
+-2.035906826e-03f, -2.036797427e-03f, -2.037684460e-03f, -2.038567924e-03f, -2.039447817e-03f, -2.040324137e-03f, -2.041196885e-03f, -2.042066057e-03f, -2.042931653e-03f, -2.043793672e-03f,
+-2.044652113e-03f, -2.045506973e-03f, -2.046358252e-03f, -2.047205949e-03f, -2.048050061e-03f, -2.048890589e-03f, -2.049727530e-03f, -2.050560884e-03f, -2.051390649e-03f, -2.052216823e-03f,
+-2.053039407e-03f, -2.053858398e-03f, -2.054673795e-03f, -2.055485597e-03f, -2.056293803e-03f, -2.057098412e-03f, -2.057899422e-03f, -2.058696832e-03f, -2.059490641e-03f, -2.060280848e-03f,
+-2.061067452e-03f, -2.061850452e-03f, -2.062629845e-03f, -2.063405632e-03f, -2.064177811e-03f, -2.064946381e-03f, -2.065711341e-03f, -2.066472689e-03f, -2.067230425e-03f, -2.067984548e-03f,
+-2.068735056e-03f, -2.069481948e-03f, -2.070225223e-03f, -2.070964880e-03f, -2.071700918e-03f, -2.072433336e-03f, -2.073162133e-03f, -2.073887307e-03f, -2.074608858e-03f, -2.075326785e-03f,
+-2.076041087e-03f, -2.076751762e-03f, -2.077458809e-03f, -2.078162228e-03f, -2.078862017e-03f, -2.079558176e-03f, -2.080250704e-03f, -2.080939599e-03f, -2.081624860e-03f, -2.082306487e-03f,
+-2.082984478e-03f, -2.083658833e-03f, -2.084329550e-03f, -2.084996629e-03f, -2.085660068e-03f, -2.086319867e-03f, -2.086976025e-03f, -2.087628541e-03f, -2.088277414e-03f, -2.088922642e-03f,
+-2.089564225e-03f, -2.090202163e-03f, -2.090836454e-03f, -2.091467097e-03f, -2.092094091e-03f, -2.092717436e-03f, -2.093337131e-03f, -2.093953175e-03f, -2.094565566e-03f, -2.095174304e-03f,
+-2.095779389e-03f, -2.096380819e-03f, -2.096978593e-03f, -2.097572711e-03f, -2.098163172e-03f, -2.098749975e-03f, -2.099333119e-03f, -2.099912603e-03f, -2.100488427e-03f, -2.101060590e-03f,
+-2.101629091e-03f, -2.102193929e-03f, -2.102755103e-03f, -2.103312613e-03f, -2.103866458e-03f, -2.104416637e-03f, -2.104963149e-03f, -2.105505994e-03f, -2.106045171e-03f, -2.106580679e-03f,
+-2.107112518e-03f, -2.107640686e-03f, -2.108165183e-03f, -2.108686009e-03f, -2.109203162e-03f, -2.109716641e-03f, -2.110226447e-03f, -2.110732579e-03f, -2.111235036e-03f, -2.111733816e-03f,
+-2.112228920e-03f, -2.112720347e-03f, -2.113208096e-03f, -2.113692167e-03f, -2.114172558e-03f, -2.114649270e-03f, -2.115122302e-03f, -2.115591652e-03f, -2.116057321e-03f, -2.116519308e-03f,
+-2.116977612e-03f, -2.117432233e-03f, -2.117883169e-03f, -2.118330421e-03f, -2.118773988e-03f, -2.119213870e-03f, -2.119650065e-03f, -2.120082573e-03f, -2.120511394e-03f, -2.120936527e-03f,
+-2.121357971e-03f, -2.121775727e-03f, -2.122189793e-03f, -2.122600169e-03f, -2.123006855e-03f, -2.123409850e-03f, -2.123809153e-03f, -2.124204764e-03f, -2.124596682e-03f, -2.124984908e-03f,
+-2.125369440e-03f, -2.125750279e-03f, -2.126127423e-03f, -2.126500872e-03f, -2.126870626e-03f, -2.127236684e-03f, -2.127599046e-03f, -2.127957711e-03f, -2.128312680e-03f, -2.128663951e-03f,
+-2.129011525e-03f, -2.129355400e-03f, -2.129695576e-03f, -2.130032054e-03f, -2.130364832e-03f, -2.130693911e-03f, -2.131019289e-03f, -2.131340967e-03f, -2.131658944e-03f, -2.131973220e-03f,
+-2.132283795e-03f, -2.132590667e-03f, -2.132893838e-03f, -2.133193306e-03f, -2.133489071e-03f, -2.133781133e-03f, -2.134069491e-03f, -2.134354146e-03f, -2.134635097e-03f, -2.134912343e-03f,
+-2.135185885e-03f, -2.135455722e-03f, -2.135721854e-03f, -2.135984280e-03f, -2.136243001e-03f, -2.136498016e-03f, -2.136749324e-03f, -2.136996927e-03f, -2.137240823e-03f, -2.137481012e-03f,
+-2.137717493e-03f, -2.137950268e-03f, -2.138179335e-03f, -2.138404695e-03f, -2.138626347e-03f, -2.138844291e-03f, -2.139058526e-03f, -2.139269053e-03f, -2.139475872e-03f, -2.139678982e-03f,
+-2.139878383e-03f, -2.140074075e-03f, -2.140266059e-03f, -2.140454332e-03f, -2.140638897e-03f, -2.140819752e-03f, -2.140996897e-03f, -2.141170333e-03f, -2.141340059e-03f, -2.141506075e-03f,
+-2.141668381e-03f, -2.141826977e-03f, -2.141981863e-03f, -2.142133038e-03f, -2.142280504e-03f, -2.142424259e-03f, -2.142564304e-03f, -2.142700638e-03f, -2.142833262e-03f, -2.142962175e-03f,
+-2.143087378e-03f, -2.143208870e-03f, -2.143326652e-03f, -2.143440723e-03f, -2.143551084e-03f, -2.143657735e-03f, -2.143760674e-03f, -2.143859904e-03f, -2.143955423e-03f, -2.144047231e-03f,
+-2.144135329e-03f, -2.144219717e-03f, -2.144300395e-03f, -2.144377362e-03f, -2.144450619e-03f, -2.144520166e-03f, -2.144586003e-03f, -2.144648131e-03f, -2.144706548e-03f, -2.144761256e-03f,
+-2.144812254e-03f, -2.144859543e-03f, -2.144903122e-03f, -2.144942992e-03f, -2.144979153e-03f, -2.145011605e-03f, -2.145040349e-03f, -2.145065383e-03f, -2.145086709e-03f, -2.145104327e-03f,
+-2.145118236e-03f, -2.145128438e-03f, -2.145134931e-03f, -2.145137717e-03f, -2.145136796e-03f, -2.145132167e-03f, -2.145123832e-03f, -2.145111789e-03f, -2.145096040e-03f, -2.145076585e-03f,
+-2.145053423e-03f, -2.145026556e-03f, -2.144995983e-03f, -2.144961704e-03f, -2.144923720e-03f, -2.144882032e-03f, -2.144836639e-03f, -2.144787542e-03f, -2.144734740e-03f, -2.144678235e-03f,
+-2.144618026e-03f, -2.144554115e-03f, -2.144486500e-03f, -2.144415183e-03f, -2.144340164e-03f, -2.144261443e-03f, -2.144179020e-03f, -2.144092896e-03f, -2.144003072e-03f, -2.143909547e-03f,
+-2.143812321e-03f, -2.143711396e-03f, -2.143606772e-03f, -2.143498449e-03f, -2.143386427e-03f, -2.143270707e-03f, -2.143151289e-03f, -2.143028174e-03f, -2.142901361e-03f, -2.142770853e-03f,
+-2.142636648e-03f, -2.142498747e-03f, -2.142357151e-03f, -2.142211860e-03f, -2.142062875e-03f, -2.141910196e-03f, -2.141753823e-03f, -2.141593758e-03f, -2.141430000e-03f, -2.141262550e-03f,
+-2.141091408e-03f, -2.140916575e-03f, -2.140738052e-03f, -2.140555839e-03f, -2.140369936e-03f, -2.140180344e-03f, -2.139987064e-03f, -2.139790096e-03f, -2.139589440e-03f, -2.139385098e-03f,
+-2.139177069e-03f, -2.138965355e-03f, -2.138749955e-03f, -2.138530871e-03f, -2.138308103e-03f, -2.138081651e-03f, -2.137851517e-03f, -2.137617700e-03f, -2.137380201e-03f, -2.137139022e-03f,
+-2.136894162e-03f, -2.136645622e-03f, -2.136393403e-03f, -2.136137506e-03f, -2.135877931e-03f, -2.135614678e-03f, -2.135347749e-03f, -2.135077144e-03f, -2.134802863e-03f, -2.134524908e-03f,
+-2.134243280e-03f, -2.133957977e-03f, -2.133669003e-03f, -2.133376356e-03f, -2.133080039e-03f, -2.132780051e-03f, -2.132476393e-03f, -2.132169066e-03f, -2.131858071e-03f, -2.131543408e-03f,
+-2.131225079e-03f, -2.130903084e-03f, -2.130577423e-03f, -2.130248098e-03f, -2.129915109e-03f, -2.129578457e-03f, -2.129238143e-03f, -2.128894168e-03f, -2.128546531e-03f, -2.128195236e-03f,
+-2.127840281e-03f, -2.127481667e-03f, -2.127119397e-03f, -2.126753470e-03f, -2.126383887e-03f, -2.126010649e-03f, -2.125633758e-03f, -2.125253213e-03f, -2.124869015e-03f, -2.124481167e-03f,
+-2.124089667e-03f, -2.123694518e-03f, -2.123295720e-03f, -2.122893274e-03f, -2.122487181e-03f, -2.122077442e-03f, -2.121664057e-03f, -2.121247028e-03f, -2.120826356e-03f, -2.120402041e-03f,
+-2.119974085e-03f, -2.119542487e-03f, -2.119107251e-03f, -2.118668375e-03f, -2.118225862e-03f, -2.117779711e-03f, -2.117329925e-03f, -2.116876504e-03f, -2.116419449e-03f, -2.115958761e-03f,
+-2.115494441e-03f, -2.115026491e-03f, -2.114554910e-03f, -2.114079700e-03f, -2.113600863e-03f, -2.113118398e-03f, -2.112632308e-03f, -2.112142593e-03f, -2.111649254e-03f, -2.111152292e-03f,
+-2.110651709e-03f, -2.110147505e-03f, -2.109639681e-03f, -2.109128239e-03f, -2.108613180e-03f, -2.108094504e-03f, -2.107572213e-03f, -2.107046308e-03f, -2.106516790e-03f, -2.105983660e-03f,
+-2.105446919e-03f, -2.104906569e-03f, -2.104362610e-03f, -2.103815043e-03f, -2.103263871e-03f, -2.102709093e-03f, -2.102150711e-03f, -2.101588727e-03f, -2.101023141e-03f, -2.100453954e-03f,
+-2.099881168e-03f, -2.099304784e-03f, -2.098724803e-03f, -2.098141227e-03f, -2.097554056e-03f, -2.096963291e-03f, -2.096368935e-03f, -2.095770987e-03f, -2.095169450e-03f, -2.094564325e-03f,
+-2.093955613e-03f, -2.093343314e-03f, -2.092727431e-03f, -2.092107965e-03f, -2.091484916e-03f, -2.090858286e-03f, -2.090228077e-03f, -2.089594290e-03f, -2.088956926e-03f, -2.088315986e-03f,
+-2.087671471e-03f, -2.087023383e-03f, -2.086371724e-03f, -2.085716494e-03f, -2.085057695e-03f, -2.084395328e-03f, -2.083729395e-03f, -2.083059896e-03f, -2.082386834e-03f, -2.081710209e-03f,
+-2.081030023e-03f, -2.080346278e-03f, -2.079658974e-03f, -2.078968113e-03f, -2.078273697e-03f, -2.077575726e-03f, -2.076874203e-03f, -2.076169128e-03f, -2.075460503e-03f, -2.074748330e-03f,
+-2.074032610e-03f, -2.073313344e-03f, -2.072590534e-03f, -2.071864181e-03f, -2.071134286e-03f, -2.070400852e-03f, -2.069663879e-03f, -2.068923369e-03f, -2.068179324e-03f, -2.067431745e-03f,
+-2.066680633e-03f, -2.065925990e-03f, -2.065167817e-03f, -2.064406117e-03f, -2.063640890e-03f, -2.062872137e-03f, -2.062099862e-03f, -2.061324064e-03f, -2.060544746e-03f, -2.059761909e-03f,
+-2.058975554e-03f, -2.058185684e-03f, -2.057392299e-03f, -2.056595402e-03f, -2.055794993e-03f, -2.054991075e-03f, -2.054183649e-03f, -2.053372716e-03f, -2.052558279e-03f, -2.051740339e-03f,
+-2.050918896e-03f, -2.050093954e-03f, -2.049265513e-03f, -2.048433576e-03f, -2.047598143e-03f, -2.046759217e-03f, -2.045916799e-03f, -2.045070891e-03f, -2.044221494e-03f, -2.043368611e-03f,
+-2.042512242e-03f, -2.041652389e-03f, -2.040789054e-03f, -2.039922240e-03f, -2.039051946e-03f, -2.038178176e-03f, -2.037300931e-03f, -2.036420212e-03f, -2.035536021e-03f, -2.034648361e-03f,
+-2.033757232e-03f, -2.032862636e-03f, -2.031964576e-03f, -2.031063053e-03f, -2.030158068e-03f, -2.029249623e-03f, -2.028337721e-03f, -2.027422363e-03f, -2.026503550e-03f, -2.025581285e-03f,
+-2.024655569e-03f, -2.023726404e-03f, -2.022793791e-03f, -2.021857734e-03f, -2.020918233e-03f, -2.019975290e-03f, -2.019028907e-03f, -2.018079086e-03f, -2.017125828e-03f, -2.016169137e-03f,
+-2.015209012e-03f, -2.014245457e-03f, -2.013278473e-03f, -2.012308061e-03f, -2.011334225e-03f, -2.010356965e-03f, -2.009376284e-03f, -2.008392183e-03f, -2.007404664e-03f, -2.006413729e-03f,
+-2.005419381e-03f, -2.004421621e-03f, -2.003420450e-03f, -2.002415871e-03f, -2.001407886e-03f, -2.000396497e-03f, -1.999381705e-03f, -1.998363513e-03f, -1.997341922e-03f, -1.996316935e-03f,
+-1.995288553e-03f, -1.994256778e-03f, -1.993221613e-03f, -1.992183059e-03f, -1.991141118e-03f, -1.990095792e-03f, -1.989047084e-03f, -1.987994995e-03f, -1.986939527e-03f, -1.985880682e-03f,
+-1.984818463e-03f, -1.983752870e-03f, -1.982683907e-03f, -1.981611576e-03f, -1.980535878e-03f, -1.979456815e-03f, -1.978374389e-03f, -1.977288603e-03f, -1.976199459e-03f, -1.975106958e-03f,
+-1.974011103e-03f, -1.972911896e-03f, -1.971809338e-03f, -1.970703433e-03f, -1.969594181e-03f, -1.968481586e-03f, -1.967365649e-03f, -1.966246372e-03f, -1.965123757e-03f, -1.963997807e-03f,
+-1.962868524e-03f, -1.961735910e-03f, -1.960599967e-03f, -1.959460696e-03f, -1.958318101e-03f, -1.957172184e-03f, -1.956022946e-03f, -1.954870390e-03f, -1.953714517e-03f, -1.952555331e-03f,
+-1.951392833e-03f, -1.950227026e-03f, -1.949057911e-03f, -1.947885491e-03f, -1.946709768e-03f, -1.945530744e-03f, -1.944348422e-03f, -1.943162803e-03f, -1.941973891e-03f, -1.940781687e-03f,
+-1.939586193e-03f, -1.938387411e-03f, -1.937185345e-03f, -1.935979996e-03f, -1.934771366e-03f, -1.933559458e-03f, -1.932344274e-03f, -1.931125816e-03f, -1.929904086e-03f, -1.928679088e-03f,
+-1.927450822e-03f, -1.926219292e-03f, -1.924984500e-03f, -1.923746447e-03f, -1.922505137e-03f, -1.921260572e-03f, -1.920012754e-03f, -1.918761684e-03f, -1.917507367e-03f, -1.916249804e-03f,
+-1.914988997e-03f, -1.913724948e-03f, -1.912457661e-03f, -1.911187137e-03f, -1.909913379e-03f, -1.908636389e-03f, -1.907356170e-03f, -1.906072723e-03f, -1.904786052e-03f, -1.903496159e-03f,
+-1.902203046e-03f, -1.900906715e-03f, -1.899607170e-03f, -1.898304411e-03f, -1.896998443e-03f, -1.895689267e-03f, -1.894376885e-03f, -1.893061301e-03f, -1.891742516e-03f, -1.890420533e-03f,
+-1.889095355e-03f, -1.887766984e-03f, -1.886435422e-03f, -1.885100672e-03f, -1.883762736e-03f, -1.882421617e-03f, -1.881077318e-03f, -1.879729840e-03f, -1.878379187e-03f, -1.877025360e-03f,
+-1.875668363e-03f, -1.874308198e-03f, -1.872944867e-03f, -1.871578373e-03f, -1.870208719e-03f, -1.868835906e-03f, -1.867459938e-03f, -1.866080817e-03f, -1.864698546e-03f, -1.863313127e-03f,
+-1.861924563e-03f, -1.860532856e-03f, -1.859138009e-03f, -1.857740025e-03f, -1.856338905e-03f, -1.854934654e-03f, -1.853527272e-03f, -1.852116764e-03f, -1.850703130e-03f, -1.849286375e-03f,
+-1.847866501e-03f, -1.846443510e-03f, -1.845017405e-03f, -1.843588189e-03f, -1.842155864e-03f, -1.840720432e-03f, -1.839281897e-03f, -1.837840262e-03f, -1.836395528e-03f, -1.834947699e-03f,
+-1.833496777e-03f, -1.832042765e-03f, -1.830585665e-03f, -1.829125480e-03f, -1.827662214e-03f, -1.826195868e-03f, -1.824726445e-03f, -1.823253949e-03f, -1.821778381e-03f, -1.820299744e-03f,
+-1.818818042e-03f, -1.817333276e-03f, -1.815845451e-03f, -1.814354567e-03f, -1.812860629e-03f, -1.811363638e-03f, -1.809863598e-03f, -1.808360512e-03f, -1.806854381e-03f, -1.805345210e-03f,
+-1.803833000e-03f, -1.802317755e-03f, -1.800799476e-03f, -1.799278168e-03f, -1.797753833e-03f, -1.796226473e-03f, -1.794696092e-03f, -1.793162692e-03f, -1.791626275e-03f, -1.790086846e-03f,
+-1.788544407e-03f, -1.786998960e-03f, -1.785450508e-03f, -1.783899054e-03f, -1.782344602e-03f, -1.780787153e-03f, -1.779226711e-03f, -1.777663279e-03f, -1.776096859e-03f, -1.774527454e-03f,
+-1.772955068e-03f, -1.771379702e-03f, -1.769801361e-03f, -1.768220046e-03f, -1.766635761e-03f, -1.765048509e-03f, -1.763458293e-03f, -1.761865114e-03f, -1.760268978e-03f, -1.758669885e-03f,
+-1.757067840e-03f, -1.755462845e-03f, -1.753854902e-03f, -1.752244016e-03f, -1.750630189e-03f, -1.749013424e-03f, -1.747393724e-03f, -1.745771091e-03f, -1.744145529e-03f, -1.742517041e-03f,
+-1.740885630e-03f, -1.739251298e-03f, -1.737614049e-03f, -1.735973886e-03f, -1.734330811e-03f, -1.732684828e-03f, -1.731035940e-03f, -1.729384149e-03f, -1.727729459e-03f, -1.726071873e-03f,
+-1.724411393e-03f, -1.722748024e-03f, -1.721081767e-03f, -1.719412625e-03f, -1.717740603e-03f, -1.716065702e-03f, -1.714387927e-03f, -1.712707279e-03f, -1.711023763e-03f, -1.709337381e-03f,
+-1.707648136e-03f, -1.705956031e-03f, -1.704261069e-03f, -1.702563254e-03f, -1.700862589e-03f, -1.699159076e-03f, -1.697452719e-03f, -1.695743521e-03f, -1.694031484e-03f, -1.692316613e-03f,
+-1.690598910e-03f, -1.688878378e-03f, -1.687155020e-03f, -1.685428840e-03f, -1.683699841e-03f, -1.681968026e-03f, -1.680233397e-03f, -1.678495959e-03f, -1.676755714e-03f, -1.675012665e-03f,
+-1.673266816e-03f, -1.671518170e-03f, -1.669766730e-03f, -1.668012499e-03f, -1.666255480e-03f, -1.664495676e-03f, -1.662733092e-03f, -1.660967729e-03f, -1.659199591e-03f, -1.657428682e-03f,
+-1.655655004e-03f, -1.653878561e-03f, -1.652099356e-03f, -1.650317391e-03f, -1.648532672e-03f, -1.646745200e-03f, -1.644954978e-03f, -1.643162011e-03f, -1.641366302e-03f, -1.639567853e-03f,
+-1.637766667e-03f, -1.635962749e-03f, -1.634156101e-03f, -1.632346727e-03f, -1.630534630e-03f, -1.628719813e-03f, -1.626902280e-03f, -1.625082033e-03f, -1.623259077e-03f, -1.621433414e-03f,
+-1.619605047e-03f, -1.617773981e-03f, -1.615940217e-03f, -1.614103761e-03f, -1.612264614e-03f, -1.610422781e-03f, -1.608578264e-03f, -1.606731067e-03f, -1.604881194e-03f, -1.603028647e-03f,
+-1.601173430e-03f, -1.599315546e-03f, -1.597454999e-03f, -1.595591792e-03f, -1.593725928e-03f, -1.591857411e-03f, -1.589986245e-03f, -1.588112431e-03f, -1.586235975e-03f, -1.584356879e-03f,
+-1.582475146e-03f, -1.580590781e-03f, -1.578703786e-03f, -1.576814165e-03f, -1.574921921e-03f, -1.573027058e-03f, -1.571129579e-03f, -1.569229488e-03f, -1.567326787e-03f, -1.565421481e-03f,
+-1.563513573e-03f, -1.561603065e-03f, -1.559689963e-03f, -1.557774269e-03f, -1.555855986e-03f, -1.553935119e-03f, -1.552011669e-03f, -1.550085642e-03f, -1.548157041e-03f, -1.546225868e-03f,
+-1.544292128e-03f, -1.542355823e-03f, -1.540416958e-03f, -1.538475536e-03f, -1.536531560e-03f, -1.534585034e-03f, -1.532635961e-03f, -1.530684345e-03f, -1.528730189e-03f, -1.526773498e-03f,
+-1.524814273e-03f, -1.522852520e-03f, -1.520888241e-03f, -1.518921440e-03f, -1.516952121e-03f, -1.514980287e-03f, -1.513005941e-03f, -1.511029087e-03f, -1.509049729e-03f, -1.507067871e-03f,
+-1.505083515e-03f, -1.503096665e-03f, -1.501107326e-03f, -1.499115500e-03f, -1.497121191e-03f, -1.495124403e-03f, -1.493125139e-03f, -1.491123403e-03f, -1.489119199e-03f, -1.487112529e-03f,
+-1.485103398e-03f, -1.483091810e-03f, -1.481077767e-03f, -1.479061274e-03f, -1.477042334e-03f, -1.475020951e-03f, -1.472997128e-03f, -1.470970869e-03f, -1.468942177e-03f, -1.466911057e-03f,
+-1.464877512e-03f, -1.462841545e-03f, -1.460803161e-03f, -1.458762362e-03f, -1.456719153e-03f, -1.454673537e-03f, -1.452625518e-03f, -1.450575099e-03f, -1.448522285e-03f, -1.446467078e-03f,
+-1.444409483e-03f, -1.442349503e-03f, -1.440287142e-03f, -1.438222404e-03f, -1.436155292e-03f, -1.434085810e-03f, -1.432013962e-03f, -1.429939751e-03f, -1.427863181e-03f, -1.425784256e-03f,
+-1.423702980e-03f, -1.421619356e-03f, -1.419533388e-03f, -1.417445080e-03f, -1.415354435e-03f, -1.413261458e-03f, -1.411166152e-03f, -1.409068520e-03f, -1.406968567e-03f, -1.404866296e-03f,
+-1.402761711e-03f, -1.400654815e-03f, -1.398545614e-03f, -1.396434109e-03f, -1.394320306e-03f, -1.392204207e-03f, -1.390085817e-03f, -1.387965140e-03f, -1.385842179e-03f, -1.383716938e-03f,
+-1.381589420e-03f, -1.379459630e-03f, -1.377327572e-03f, -1.375193249e-03f, -1.373056664e-03f, -1.370917823e-03f, -1.368776728e-03f, -1.366633384e-03f, -1.364487794e-03f, -1.362339962e-03f,
+-1.360189892e-03f, -1.358037588e-03f, -1.355883054e-03f, -1.353726293e-03f, -1.351567310e-03f, -1.349406107e-03f, -1.347242690e-03f, -1.345077062e-03f, -1.342909226e-03f, -1.340739187e-03f,
+-1.338566949e-03f, -1.336392515e-03f, -1.334215889e-03f, -1.332037075e-03f, -1.329856078e-03f, -1.327672900e-03f, -1.325487546e-03f, -1.323300020e-03f, -1.321110325e-03f, -1.318918466e-03f,
+-1.316724446e-03f, -1.314528270e-03f, -1.312329941e-03f, -1.310129463e-03f, -1.307926840e-03f, -1.305722076e-03f, -1.303515175e-03f, -1.301306141e-03f, -1.299094977e-03f, -1.296881689e-03f,
+-1.294666279e-03f, -1.292448751e-03f, -1.290229110e-03f, -1.288007360e-03f, -1.285783504e-03f, -1.283557546e-03f, -1.281329491e-03f, -1.279099343e-03f, -1.276867104e-03f, -1.274632780e-03f,
+-1.272396374e-03f, -1.270157890e-03f, -1.267917333e-03f, -1.265674706e-03f, -1.263430012e-03f, -1.261183258e-03f, -1.258934445e-03f, -1.256683578e-03f, -1.254430662e-03f, -1.252175700e-03f,
+-1.249918696e-03f, -1.247659654e-03f, -1.245398578e-03f, -1.243135473e-03f, -1.240870342e-03f, -1.238603189e-03f, -1.236334019e-03f, -1.234062835e-03f, -1.231789641e-03f, -1.229514441e-03f,
+-1.227237240e-03f, -1.224958042e-03f, -1.222676850e-03f, -1.220393669e-03f, -1.218108502e-03f, -1.215821355e-03f, -1.213532229e-03f, -1.211241131e-03f, -1.208948064e-03f, -1.206653031e-03f,
+-1.204356038e-03f, -1.202057088e-03f, -1.199756185e-03f, -1.197453333e-03f, -1.195148537e-03f, -1.192841800e-03f, -1.190533126e-03f, -1.188222521e-03f, -1.185909987e-03f, -1.183595529e-03f,
+-1.181279151e-03f, -1.178960856e-03f, -1.176640651e-03f, -1.174318537e-03f, -1.171994520e-03f, -1.169668603e-03f, -1.167340791e-03f, -1.165011088e-03f, -1.162679497e-03f, -1.160346024e-03f,
+-1.158010672e-03f, -1.155673445e-03f, -1.153334347e-03f, -1.150993384e-03f, -1.148650558e-03f, -1.146305873e-03f, -1.143959335e-03f, -1.141610947e-03f, -1.139260714e-03f, -1.136908639e-03f,
+-1.134554726e-03f, -1.132198981e-03f, -1.129841406e-03f, -1.127482007e-03f, -1.125120787e-03f, -1.122757751e-03f, -1.120392902e-03f, -1.118026245e-03f, -1.115657785e-03f, -1.113287525e-03f,
+-1.110915469e-03f, -1.108541622e-03f, -1.106165988e-03f, -1.103788571e-03f, -1.101409375e-03f, -1.099028405e-03f, -1.096645664e-03f, -1.094261158e-03f, -1.091874889e-03f, -1.089486863e-03f,
+-1.087097084e-03f, -1.084705556e-03f, -1.082312282e-03f, -1.079917268e-03f, -1.077520517e-03f, -1.075122034e-03f, -1.072721823e-03f, -1.070319889e-03f, -1.067916235e-03f, -1.065510865e-03f,
+-1.063103785e-03f, -1.060694997e-03f, -1.058284508e-03f, -1.055872320e-03f, -1.053458438e-03f, -1.051042866e-03f, -1.048625609e-03f, -1.046206671e-03f, -1.043786055e-03f, -1.041363768e-03f,
+-1.038939811e-03f, -1.036514191e-03f, -1.034086911e-03f, -1.031657975e-03f, -1.029227389e-03f, -1.026795155e-03f, -1.024361278e-03f, -1.021925764e-03f, -1.019488615e-03f, -1.017049836e-03f,
+-1.014609432e-03f, -1.012167407e-03f, -1.009723765e-03f, -1.007278511e-03f, -1.004831648e-03f, -1.002383182e-03f, -9.999331158e-04f, -9.974814544e-04f, -9.950282022e-04f, -9.925733634e-04f,
+-9.901169423e-04f, -9.876589433e-04f, -9.851993707e-04f, -9.827382288e-04f, -9.802755220e-04f, -9.778112547e-04f, -9.753454311e-04f, -9.728780556e-04f, -9.704091325e-04f, -9.679386663e-04f,
+-9.654666613e-04f, -9.629931217e-04f, -9.605180521e-04f, -9.580414567e-04f, -9.555633399e-04f, -9.530837060e-04f, -9.506025596e-04f, -9.481199048e-04f, -9.456357461e-04f, -9.431500878e-04f,
+-9.406629344e-04f, -9.381742902e-04f, -9.356841596e-04f, -9.331925470e-04f, -9.306994568e-04f, -9.282048933e-04f, -9.257088610e-04f, -9.232113642e-04f, -9.207124073e-04f, -9.182119948e-04f,
+-9.157101311e-04f, -9.132068205e-04f, -9.107020674e-04f, -9.081958763e-04f, -9.056882515e-04f, -9.031791975e-04f, -9.006687188e-04f, -8.981568196e-04f, -8.956435044e-04f, -8.931287778e-04f,
+-8.906126439e-04f, -8.880951074e-04f, -8.855761726e-04f, -8.830558440e-04f, -8.805341259e-04f, -8.780110229e-04f, -8.754865393e-04f, -8.729606796e-04f, -8.704334482e-04f, -8.679048497e-04f,
+-8.653748883e-04f, -8.628435686e-04f, -8.603108951e-04f, -8.577768721e-04f, -8.552415041e-04f, -8.527047956e-04f, -8.501667510e-04f, -8.476273749e-04f, -8.450866716e-04f, -8.425446456e-04f,
+-8.400013014e-04f, -8.374566434e-04f, -8.349106762e-04f, -8.323634042e-04f, -8.298148318e-04f, -8.272649636e-04f, -8.247138040e-04f, -8.221613574e-04f, -8.196076285e-04f, -8.170526217e-04f,
+-8.144963414e-04f, -8.119387921e-04f, -8.093799784e-04f, -8.068199046e-04f, -8.042585754e-04f, -8.016959952e-04f, -7.991321685e-04f, -7.965670998e-04f, -7.940007937e-04f, -7.914332545e-04f,
+-7.888644868e-04f, -7.862944952e-04f, -7.837232840e-04f, -7.811508580e-04f, -7.785772214e-04f, -7.760023790e-04f, -7.734263351e-04f, -7.708490943e-04f, -7.682706611e-04f, -7.656910401e-04f,
+-7.631102357e-04f, -7.605282526e-04f, -7.579450951e-04f, -7.553607679e-04f, -7.527752754e-04f, -7.501886223e-04f, -7.476008130e-04f, -7.450118520e-04f, -7.424217440e-04f, -7.398304935e-04f,
+-7.372381049e-04f, -7.346445829e-04f, -7.320499319e-04f, -7.294541566e-04f, -7.268572614e-04f, -7.242592510e-04f, -7.216601298e-04f, -7.190599024e-04f, -7.164585735e-04f, -7.138561475e-04f,
+-7.112526289e-04f, -7.086480225e-04f, -7.060423326e-04f, -7.034355639e-04f, -7.008277210e-04f, -6.982188083e-04f, -6.956088306e-04f, -6.929977922e-04f, -6.903856979e-04f, -6.877725522e-04f,
+-6.851583596e-04f, -6.825431248e-04f, -6.799268523e-04f, -6.773095467e-04f, -6.746912125e-04f, -6.720718544e-04f, -6.694514770e-04f, -6.668300847e-04f, -6.642076823e-04f, -6.615842742e-04f,
+-6.589598652e-04f, -6.563344597e-04f, -6.537080623e-04f, -6.510806778e-04f, -6.484523106e-04f, -6.458229653e-04f, -6.431926466e-04f, -6.405613590e-04f, -6.379291072e-04f, -6.352958957e-04f,
+-6.326617292e-04f, -6.300266122e-04f, -6.273905494e-04f, -6.247535453e-04f, -6.221156047e-04f, -6.194767320e-04f, -6.168369320e-04f, -6.141962091e-04f, -6.115545681e-04f, -6.089120135e-04f,
+-6.062685500e-04f, -6.036241822e-04f, -6.009789146e-04f, -5.983327520e-04f, -5.956856990e-04f, -5.930377601e-04f, -5.903889400e-04f, -5.877392433e-04f, -5.850886747e-04f, -5.824372387e-04f,
+-5.797849400e-04f, -5.771317833e-04f, -5.744777732e-04f, -5.718229142e-04f, -5.691672111e-04f, -5.665106685e-04f, -5.638532909e-04f, -5.611950832e-04f, -5.585360498e-04f, -5.558761954e-04f,
+-5.532155247e-04f, -5.505540423e-04f, -5.478917529e-04f, -5.452286611e-04f, -5.425647716e-04f, -5.399000889e-04f, -5.372346178e-04f, -5.345683629e-04f, -5.319013288e-04f, -5.292335202e-04f,
+-5.265649418e-04f, -5.238955982e-04f, -5.212254941e-04f, -5.185546340e-04f, -5.158830228e-04f, -5.132106650e-04f, -5.105375653e-04f, -5.078637283e-04f, -5.051891588e-04f, -5.025138613e-04f,
+-4.998378406e-04f, -4.971611013e-04f, -4.944836481e-04f, -4.918054856e-04f, -4.891266185e-04f, -4.864470515e-04f, -4.837667892e-04f, -4.810858364e-04f, -4.784041976e-04f, -4.757218777e-04f,
+-4.730388811e-04f, -4.703552126e-04f, -4.676708770e-04f, -4.649858788e-04f, -4.623002227e-04f, -4.596139134e-04f, -4.569269557e-04f, -4.542393541e-04f, -4.515511133e-04f, -4.488622381e-04f,
+-4.461727331e-04f, -4.434826030e-04f, -4.407918525e-04f, -4.381004863e-04f, -4.354085090e-04f, -4.327159253e-04f, -4.300227400e-04f, -4.273289577e-04f, -4.246345831e-04f, -4.219396209e-04f,
+-4.192440757e-04f, -4.165479523e-04f, -4.138512554e-04f, -4.111539897e-04f, -4.084561598e-04f, -4.057577704e-04f, -4.030588263e-04f, -4.003593321e-04f, -3.976592925e-04f, -3.949587123e-04f,
+-3.922575960e-04f, -3.895559485e-04f, -3.868537744e-04f, -3.841510784e-04f, -3.814478653e-04f, -3.787441396e-04f, -3.760399062e-04f, -3.733351697e-04f, -3.706299348e-04f, -3.679242063e-04f,
+-3.652179887e-04f, -3.625112869e-04f, -3.598041056e-04f, -3.570964494e-04f, -3.543883230e-04f, -3.516797312e-04f, -3.489706786e-04f, -3.462611700e-04f, -3.435512101e-04f, -3.408408036e-04f,
+-3.381299552e-04f, -3.354186696e-04f, -3.327069515e-04f, -3.299948056e-04f, -3.272822366e-04f, -3.245692493e-04f, -3.218558484e-04f, -3.191420385e-04f, -3.164278244e-04f, -3.137132108e-04f,
+-3.109982025e-04f, -3.082828040e-04f, -3.055670202e-04f, -3.028508558e-04f, -3.001343154e-04f, -2.974174038e-04f, -2.947001257e-04f, -2.919824858e-04f, -2.892644889e-04f, -2.865461396e-04f,
+-2.838274427e-04f, -2.811084029e-04f, -2.783890249e-04f, -2.756693134e-04f, -2.729492732e-04f, -2.702289089e-04f, -2.675082253e-04f, -2.647872271e-04f, -2.620659191e-04f, -2.593443059e-04f,
+-2.566223922e-04f, -2.539001829e-04f, -2.511776825e-04f, -2.484548959e-04f, -2.457318277e-04f, -2.430084827e-04f, -2.402848656e-04f, -2.375609812e-04f, -2.348368340e-04f, -2.321124290e-04f,
+-2.293877707e-04f, -2.266628639e-04f, -2.239377134e-04f, -2.212123238e-04f, -2.184866999e-04f, -2.157608464e-04f, -2.130347680e-04f, -2.103084695e-04f, -2.075819555e-04f, -2.048552309e-04f,
+-2.021283003e-04f, -1.994011684e-04f, -1.966738400e-04f, -1.939463199e-04f, -1.912186126e-04f, -1.884907230e-04f, -1.857626557e-04f, -1.830344156e-04f, -1.803060073e-04f, -1.775774355e-04f,
+-1.748487050e-04f, -1.721198205e-04f, -1.693907868e-04f, -1.666616085e-04f, -1.639322903e-04f, -1.612028371e-04f, -1.584732535e-04f, -1.557435442e-04f, -1.530137140e-04f, -1.502837676e-04f,
+-1.475537098e-04f, -1.448235452e-04f, -1.420932785e-04f, -1.393629146e-04f, -1.366324581e-04f, -1.339019137e-04f, -1.311712862e-04f, -1.284405803e-04f, -1.257098007e-04f, -1.229789522e-04f,
+-1.202480395e-04f, -1.175170672e-04f, -1.147860402e-04f, -1.120549630e-04f, -1.093238406e-04f, -1.065926775e-04f, -1.038614786e-04f, -1.011302485e-04f, -9.839899193e-05f, -9.566771365e-05f,
+-9.293641836e-05f, -9.020511080e-05f, -8.747379568e-05f, -8.474247773e-05f, -8.201116166e-05f, -7.927985219e-05f, -7.654855406e-05f, -7.381727197e-05f, -7.108601064e-05f, -6.835477481e-05f,
+-6.562356918e-05f, -6.289239847e-05f, -6.016126741e-05f, -5.743018071e-05f, -5.469914309e-05f, -5.196815928e-05f, -4.923723397e-05f, -4.650637190e-05f, -4.377557778e-05f, -4.104485633e-05f,
+-3.831421226e-05f, -3.558365029e-05f, -3.285317513e-05f, -3.012279150e-05f, -2.739250411e-05f, -2.466231767e-05f, -2.193223691e-05f, -1.920226653e-05f, -1.647241125e-05f, -1.374267577e-05f,
+-1.101306481e-05f, -8.283583085e-06f, -5.554235300e-06f, -2.825026167e-06f, -9.596039480e-08f, 2.632957306e-06f, 5.361722228e-06f, 8.090329661e-06f, 1.081877490e-05f, 1.354705323e-05f,
+1.627515996e-05f, 1.900309037e-05f, 2.173083976e-05f, 2.445840342e-05f, 2.718577665e-05f, 2.991295475e-05f, 3.263993301e-05f, 3.536670673e-05f, 3.809327121e-05f, 4.081962174e-05f,
+4.354575363e-05f, 4.627166218e-05f, 4.899734268e-05f, 5.172279044e-05f, 5.444800076e-05f, 5.717296893e-05f, 5.989769028e-05f, 6.262216009e-05f, 6.534637368e-05f, 6.807032634e-05f,
+7.079401339e-05f, 7.351743013e-05f, 7.624057187e-05f, 7.896343391e-05f, 8.168601157e-05f, 8.440830015e-05f, 8.713029497e-05f, 8.985199133e-05f, 9.257338456e-05f, 9.529446995e-05f,
+9.801524283e-05f, 1.007356985e-04f, 1.034558323e-04f, 1.061756395e-04f, 1.088951155e-04f, 1.116142555e-04f, 1.143330549e-04f, 1.170515090e-04f, 1.197696132e-04f, 1.224873626e-04f,
+1.252047528e-04f, 1.279217789e-04f, 1.306384363e-04f, 1.333547204e-04f, 1.360706264e-04f, 1.387861497e-04f, 1.415012856e-04f, 1.442160295e-04f, 1.469303766e-04f, 1.496443224e-04f,
+1.523578620e-04f, 1.550709910e-04f, 1.577837045e-04f, 1.604959979e-04f, 1.632078667e-04f, 1.659193060e-04f, 1.686303112e-04f, 1.713408778e-04f, 1.740510009e-04f, 1.767606760e-04f,
+1.794698984e-04f, 1.821786634e-04f, 1.848869664e-04f, 1.875948027e-04f, 1.903021677e-04f, 1.930090567e-04f, 1.957154650e-04f, 1.984213881e-04f, 2.011268212e-04f, 2.038317597e-04f,
+2.065361990e-04f, 2.092401344e-04f, 2.119435613e-04f, 2.146464749e-04f, 2.173488708e-04f, 2.200507442e-04f, 2.227520905e-04f, 2.254529050e-04f, 2.281531832e-04f, 2.308529203e-04f,
+2.335521117e-04f, 2.362507529e-04f, 2.389488391e-04f, 2.416463658e-04f, 2.443433282e-04f, 2.470397219e-04f, 2.497355420e-04f, 2.524307841e-04f, 2.551254435e-04f, 2.578195155e-04f,
+2.605129955e-04f, 2.632058790e-04f, 2.658981613e-04f, 2.685898377e-04f, 2.712809037e-04f, 2.739713546e-04f, 2.766611858e-04f, 2.793503927e-04f, 2.820389707e-04f, 2.847269151e-04f,
+2.874142215e-04f, 2.901008850e-04f, 2.927869012e-04f, 2.954722655e-04f, 2.981569731e-04f, 3.008410196e-04f, 3.035244003e-04f, 3.062071106e-04f, 3.088891460e-04f, 3.115705017e-04f,
+3.142511733e-04f, 3.169311561e-04f, 3.196104455e-04f, 3.222890370e-04f, 3.249669258e-04f, 3.276441076e-04f, 3.303205776e-04f, 3.329963313e-04f, 3.356713640e-04f, 3.383456713e-04f,
+3.410192485e-04f, 3.436920911e-04f, 3.463641944e-04f, 3.490355538e-04f, 3.517061649e-04f, 3.543760230e-04f, 3.570451236e-04f, 3.597134620e-04f, 3.623810338e-04f, 3.650478343e-04f,
+3.677138590e-04f, 3.703791033e-04f, 3.730435626e-04f, 3.757072325e-04f, 3.783701082e-04f, 3.810321853e-04f, 3.836934592e-04f, 3.863539254e-04f, 3.890135792e-04f, 3.916724162e-04f,
+3.943304318e-04f, 3.969876214e-04f, 3.996439805e-04f, 4.022995046e-04f, 4.049541890e-04f, 4.076080293e-04f, 4.102610210e-04f, 4.129131594e-04f, 4.155644400e-04f, 4.182148584e-04f,
+4.208644099e-04f, 4.235130900e-04f, 4.261608943e-04f, 4.288078181e-04f, 4.314538570e-04f, 4.340990064e-04f, 4.367432618e-04f, 4.393866187e-04f, 4.420290726e-04f, 4.446706189e-04f,
+4.473112531e-04f, 4.499509707e-04f, 4.525897672e-04f, 4.552276381e-04f, 4.578645789e-04f, 4.605005850e-04f, 4.631356520e-04f, 4.657697754e-04f, 4.684029506e-04f, 4.710351732e-04f,
+4.736664387e-04f, 4.762967425e-04f, 4.789260801e-04f, 4.815544472e-04f, 4.841818391e-04f, 4.868082515e-04f, 4.894336797e-04f, 4.920581194e-04f, 4.946815660e-04f, 4.973040151e-04f,
+4.999254622e-04f, 5.025459028e-04f, 5.051653324e-04f, 5.077837466e-04f, 5.104011409e-04f, 5.130175108e-04f, 5.156328519e-04f, 5.182471596e-04f, 5.208604296e-04f, 5.234726573e-04f,
+5.260838384e-04f, 5.286939683e-04f, 5.313030426e-04f, 5.339110569e-04f, 5.365180067e-04f, 5.391238875e-04f, 5.417286949e-04f, 5.443324245e-04f, 5.469350718e-04f, 5.495366323e-04f,
+5.521371017e-04f, 5.547364755e-04f, 5.573347493e-04f, 5.599319187e-04f, 5.625279791e-04f, 5.651229262e-04f, 5.677167556e-04f, 5.703094628e-04f, 5.729010434e-04f, 5.754914931e-04f,
+5.780808073e-04f, 5.806689817e-04f, 5.832560118e-04f, 5.858418933e-04f, 5.884266217e-04f, 5.910101927e-04f, 5.935926017e-04f, 5.961738446e-04f, 5.987539167e-04f, 6.013328138e-04f,
+6.039105315e-04f, 6.064870653e-04f, 6.090624108e-04f, 6.116365637e-04f, 6.142095197e-04f, 6.167812742e-04f, 6.193518230e-04f, 6.219211616e-04f, 6.244892857e-04f, 6.270561909e-04f,
+6.296218728e-04f, 6.321863271e-04f, 6.347495494e-04f, 6.373115354e-04f, 6.398722806e-04f, 6.424317807e-04f, 6.449900314e-04f, 6.475470283e-04f, 6.501027671e-04f, 6.526572433e-04f,
+6.552104528e-04f, 6.577623910e-04f, 6.603130537e-04f, 6.628624366e-04f, 6.654105352e-04f, 6.679573453e-04f, 6.705028625e-04f, 6.730470826e-04f, 6.755900011e-04f, 6.781316138e-04f,
+6.806719162e-04f, 6.832109042e-04f, 6.857485734e-04f, 6.882849195e-04f, 6.908199381e-04f, 6.933536250e-04f, 6.958859758e-04f, 6.984169863e-04f, 7.009466521e-04f, 7.034749690e-04f,
+7.060019326e-04f, 7.085275387e-04f, 7.110517829e-04f, 7.135746610e-04f, 7.160961686e-04f, 7.186163016e-04f, 7.211350556e-04f, 7.236524263e-04f, 7.261684095e-04f, 7.286830009e-04f,
+7.311961962e-04f, 7.337079912e-04f, 7.362183815e-04f, 7.387273630e-04f, 7.412349313e-04f, 7.437410823e-04f, 7.462458116e-04f, 7.487491150e-04f, 7.512509882e-04f, 7.537514271e-04f,
+7.562504273e-04f, 7.587479846e-04f, 7.612440948e-04f, 7.637387537e-04f, 7.662319569e-04f, 7.687237004e-04f, 7.712139798e-04f, 7.737027909e-04f, 7.761901296e-04f, 7.786759915e-04f,
+7.811603725e-04f, 7.836432684e-04f, 7.861246749e-04f, 7.886045878e-04f, 7.910830030e-04f, 7.935599162e-04f, 7.960353232e-04f, 7.985092199e-04f, 8.009816020e-04f, 8.034524654e-04f,
+8.059218059e-04f, 8.083896192e-04f, 8.108559012e-04f, 8.133206477e-04f, 8.157838545e-04f, 8.182455176e-04f, 8.207056326e-04f, 8.231641954e-04f, 8.256212019e-04f, 8.280766479e-04f,
+8.305305293e-04f, 8.329828418e-04f, 8.354335813e-04f, 8.378827438e-04f, 8.403303249e-04f, 8.427763207e-04f, 8.452207269e-04f, 8.476635394e-04f, 8.501047540e-04f, 8.525443667e-04f,
+8.549823733e-04f, 8.574187697e-04f, 8.598535518e-04f, 8.622867154e-04f, 8.647182564e-04f, 8.671481707e-04f, 8.695764542e-04f, 8.720031028e-04f, 8.744281124e-04f, 8.768514788e-04f,
+8.792731981e-04f, 8.816932660e-04f, 8.841116785e-04f, 8.865284315e-04f, 8.889435209e-04f, 8.913569426e-04f, 8.937686926e-04f, 8.961787668e-04f, 8.985871610e-04f, 9.009938713e-04f,
+9.033988935e-04f, 9.058022236e-04f, 9.082038576e-04f, 9.106037913e-04f, 9.130020207e-04f, 9.153985418e-04f, 9.177933505e-04f, 9.201864427e-04f, 9.225778145e-04f, 9.249674618e-04f,
+9.273553805e-04f, 9.297415666e-04f, 9.321260161e-04f, 9.345087249e-04f, 9.368896891e-04f, 9.392689046e-04f, 9.416463674e-04f, 9.440220735e-04f, 9.463960188e-04f, 9.487681994e-04f,
+9.511386113e-04f, 9.535072504e-04f, 9.558741127e-04f, 9.582391944e-04f, 9.606024913e-04f, 9.629639995e-04f, 9.653237150e-04f, 9.676816338e-04f, 9.700377519e-04f, 9.723920654e-04f,
+9.747445703e-04f, 9.770952627e-04f, 9.794441385e-04f, 9.817911938e-04f, 9.841364246e-04f, 9.864798271e-04f, 9.888213972e-04f, 9.911611309e-04f, 9.934990244e-04f, 9.958350738e-04f,
+9.981692750e-04f, 1.000501624e-03f, 1.002832117e-03f, 1.005160750e-03f, 1.007487520e-03f, 1.009812421e-03f, 1.012135451e-03f, 1.014456606e-03f, 1.016775880e-03f, 1.019093272e-03f,
+1.021408776e-03f, 1.023722389e-03f, 1.026034106e-03f, 1.028343925e-03f, 1.030651841e-03f, 1.032957850e-03f, 1.035261948e-03f, 1.037564132e-03f, 1.039864398e-03f, 1.042162741e-03f,
+1.044459158e-03f, 1.046753645e-03f, 1.049046198e-03f, 1.051336813e-03f, 1.053625487e-03f, 1.055912215e-03f, 1.058196994e-03f, 1.060479820e-03f, 1.062760689e-03f, 1.065039597e-03f,
+1.067316541e-03f, 1.069591516e-03f, 1.071864519e-03f, 1.074135545e-03f, 1.076404592e-03f, 1.078671655e-03f, 1.080936730e-03f, 1.083199814e-03f, 1.085460903e-03f, 1.087719993e-03f,
+1.089977080e-03f, 1.092232160e-03f, 1.094485231e-03f, 1.096736287e-03f, 1.098985325e-03f, 1.101232341e-03f, 1.103477332e-03f, 1.105720294e-03f, 1.107961223e-03f, 1.110200115e-03f,
+1.112436966e-03f, 1.114671774e-03f, 1.116904533e-03f, 1.119135240e-03f, 1.121363892e-03f, 1.123590485e-03f, 1.125815014e-03f, 1.128037477e-03f, 1.130257870e-03f, 1.132476188e-03f,
+1.134692428e-03f, 1.136906587e-03f, 1.139118660e-03f, 1.141328645e-03f, 1.143536536e-03f, 1.145742331e-03f, 1.147946026e-03f, 1.150147618e-03f, 1.152347101e-03f, 1.154544474e-03f,
+1.156739731e-03f, 1.158932870e-03f, 1.161123886e-03f, 1.163312777e-03f, 1.165499538e-03f, 1.167684166e-03f, 1.169866657e-03f, 1.172047007e-03f, 1.174225213e-03f, 1.176401271e-03f,
+1.178575178e-03f, 1.180746929e-03f, 1.182916522e-03f, 1.185083952e-03f, 1.187249216e-03f, 1.189412311e-03f, 1.191573232e-03f, 1.193731976e-03f, 1.195888540e-03f, 1.198042919e-03f,
+1.200195111e-03f, 1.202345112e-03f, 1.204492917e-03f, 1.206638524e-03f, 1.208781929e-03f, 1.210923128e-03f, 1.213062118e-03f, 1.215198895e-03f, 1.217333455e-03f, 1.219465795e-03f,
+1.221595912e-03f, 1.223723802e-03f, 1.225849461e-03f, 1.227972886e-03f, 1.230094072e-03f, 1.232213018e-03f, 1.234329719e-03f, 1.236444171e-03f, 1.238556371e-03f, 1.240666316e-03f,
+1.242774002e-03f, 1.244879425e-03f, 1.246982582e-03f, 1.249083470e-03f, 1.251182085e-03f, 1.253278423e-03f, 1.255372481e-03f, 1.257464255e-03f, 1.259553742e-03f, 1.261640939e-03f,
+1.263725842e-03f, 1.265808447e-03f, 1.267888751e-03f, 1.269966751e-03f, 1.272042443e-03f, 1.274115824e-03f, 1.276186889e-03f, 1.278255637e-03f, 1.280322062e-03f, 1.282386163e-03f,
+1.284447935e-03f, 1.286507375e-03f, 1.288564479e-03f, 1.290619244e-03f, 1.292671667e-03f, 1.294721744e-03f, 1.296769473e-03f, 1.298814848e-03f, 1.300857867e-03f, 1.302898528e-03f,
+1.304936825e-03f, 1.306972756e-03f, 1.309006317e-03f, 1.311037506e-03f, 1.313066318e-03f, 1.315092750e-03f, 1.317116800e-03f, 1.319138462e-03f, 1.321157735e-03f, 1.323174615e-03f,
+1.325189098e-03f, 1.327201182e-03f, 1.329210862e-03f, 1.331218135e-03f, 1.333222999e-03f, 1.335225449e-03f, 1.337225482e-03f, 1.339223096e-03f, 1.341218287e-03f, 1.343211050e-03f,
+1.345201384e-03f, 1.347189285e-03f, 1.349174750e-03f, 1.351157774e-03f, 1.353138356e-03f, 1.355116491e-03f, 1.357092176e-03f, 1.359065409e-03f, 1.361036185e-03f, 1.363004502e-03f,
+1.364970356e-03f, 1.366933744e-03f, 1.368894662e-03f, 1.370853108e-03f, 1.372809079e-03f, 1.374762570e-03f, 1.376713579e-03f, 1.378662103e-03f, 1.380608138e-03f, 1.382551681e-03f,
+1.384492728e-03f, 1.386431277e-03f, 1.388367325e-03f, 1.390300868e-03f, 1.392231903e-03f, 1.394160426e-03f, 1.396086435e-03f, 1.398009926e-03f, 1.399930897e-03f, 1.401849344e-03f,
+1.403765263e-03f, 1.405678652e-03f, 1.407589507e-03f, 1.409497826e-03f, 1.411403605e-03f, 1.413306841e-03f, 1.415207531e-03f, 1.417105671e-03f, 1.419001259e-03f, 1.420894292e-03f,
+1.422784765e-03f, 1.424672677e-03f, 1.426558024e-03f, 1.428440803e-03f, 1.430321010e-03f, 1.432198644e-03f, 1.434073699e-03f, 1.435946175e-03f, 1.437816066e-03f, 1.439683371e-03f,
+1.441548087e-03f, 1.443410209e-03f, 1.445269735e-03f, 1.447126663e-03f, 1.448980988e-03f, 1.450832708e-03f, 1.452681820e-03f, 1.454528320e-03f, 1.456372206e-03f, 1.458213475e-03f,
+1.460052124e-03f, 1.461888149e-03f, 1.463721547e-03f, 1.465552316e-03f, 1.467380453e-03f, 1.469205954e-03f, 1.471028816e-03f, 1.472849037e-03f, 1.474666614e-03f, 1.476481542e-03f,
+1.478293821e-03f, 1.480103445e-03f, 1.481910414e-03f, 1.483714722e-03f, 1.485516368e-03f, 1.487315349e-03f, 1.489111662e-03f, 1.490905302e-03f, 1.492696269e-03f, 1.494484559e-03f,
+1.496270168e-03f, 1.498053094e-03f, 1.499833334e-03f, 1.501610885e-03f, 1.503385744e-03f, 1.505157908e-03f, 1.506927374e-03f, 1.508694139e-03f, 1.510458201e-03f, 1.512219557e-03f,
+1.513978203e-03f, 1.515734137e-03f, 1.517487355e-03f, 1.519237856e-03f, 1.520985636e-03f, 1.522730691e-03f, 1.524473020e-03f, 1.526212620e-03f, 1.527949487e-03f, 1.529683619e-03f,
+1.531415013e-03f, 1.533143666e-03f, 1.534869575e-03f, 1.536592737e-03f, 1.538313150e-03f, 1.540030811e-03f, 1.541745716e-03f, 1.543457864e-03f, 1.545167251e-03f, 1.546873874e-03f,
+1.548577731e-03f, 1.550278819e-03f, 1.551977136e-03f, 1.553672677e-03f, 1.555365441e-03f, 1.557055425e-03f, 1.558742625e-03f, 1.560427040e-03f, 1.562108666e-03f, 1.563787501e-03f,
+1.565463543e-03f, 1.567136787e-03f, 1.568807231e-03f, 1.570474874e-03f, 1.572139711e-03f, 1.573801741e-03f, 1.575460960e-03f, 1.577117366e-03f, 1.578770957e-03f, 1.580421728e-03f,
+1.582069679e-03f, 1.583714805e-03f, 1.585357105e-03f, 1.586996576e-03f, 1.588633214e-03f, 1.590267018e-03f, 1.591897984e-03f, 1.593526111e-03f, 1.595151394e-03f, 1.596773833e-03f,
+1.598393423e-03f, 1.600010163e-03f, 1.601624049e-03f, 1.603235080e-03f, 1.604843252e-03f, 1.606448563e-03f, 1.608051010e-03f, 1.609650591e-03f, 1.611247303e-03f, 1.612841143e-03f,
+1.614432109e-03f, 1.616020198e-03f, 1.617605407e-03f, 1.619187735e-03f, 1.620767178e-03f, 1.622343735e-03f, 1.623917401e-03f, 1.625488175e-03f, 1.627056055e-03f, 1.628621037e-03f,
+1.630183119e-03f, 1.631742298e-03f, 1.633298573e-03f, 1.634851940e-03f, 1.636402397e-03f, 1.637949942e-03f, 1.639494571e-03f, 1.641036283e-03f, 1.642575075e-03f, 1.644110944e-03f,
+1.645643888e-03f, 1.647173905e-03f, 1.648700991e-03f, 1.650225145e-03f, 1.651746364e-03f, 1.653264645e-03f, 1.654779987e-03f, 1.656292386e-03f, 1.657801840e-03f, 1.659308347e-03f,
+1.660811904e-03f, 1.662312509e-03f, 1.663810159e-03f, 1.665304852e-03f, 1.666796586e-03f, 1.668285358e-03f, 1.669771165e-03f, 1.671254006e-03f, 1.672733877e-03f, 1.674210778e-03f,
+1.675684704e-03f, 1.677155654e-03f, 1.678623625e-03f, 1.680088615e-03f, 1.681550622e-03f, 1.683009643e-03f, 1.684465676e-03f, 1.685918718e-03f, 1.687368768e-03f, 1.688815822e-03f,
+1.690259879e-03f, 1.691700936e-03f, 1.693138991e-03f, 1.694574041e-03f, 1.696006084e-03f, 1.697435118e-03f, 1.698861141e-03f, 1.700284150e-03f, 1.701704144e-03f, 1.703121118e-03f,
+1.704535072e-03f, 1.705946004e-03f, 1.707353910e-03f, 1.708758788e-03f, 1.710160637e-03f, 1.711559454e-03f, 1.712955237e-03f, 1.714347983e-03f, 1.715737691e-03f, 1.717124358e-03f,
+1.718507981e-03f, 1.719888559e-03f, 1.721266090e-03f, 1.722640570e-03f, 1.724011999e-03f, 1.725380374e-03f, 1.726745691e-03f, 1.728107951e-03f, 1.729467149e-03f, 1.730823285e-03f,
+1.732176355e-03f, 1.733526358e-03f, 1.734873292e-03f, 1.736217153e-03f, 1.737557941e-03f, 1.738895653e-03f, 1.740230287e-03f, 1.741561841e-03f, 1.742890312e-03f, 1.744215698e-03f,
+1.745537998e-03f, 1.746857210e-03f, 1.748173330e-03f, 1.749486357e-03f, 1.750796290e-03f, 1.752103125e-03f, 1.753406860e-03f, 1.754707495e-03f, 1.756005026e-03f, 1.757299451e-03f,
+1.758590769e-03f, 1.759878977e-03f, 1.761164074e-03f, 1.762446057e-03f, 1.763724924e-03f, 1.765000673e-03f, 1.766273302e-03f, 1.767542810e-03f, 1.768809193e-03f, 1.770072450e-03f,
+1.771332580e-03f, 1.772589580e-03f, 1.773843447e-03f, 1.775094181e-03f, 1.776341778e-03f, 1.777586238e-03f, 1.778827558e-03f, 1.780065736e-03f, 1.781300770e-03f, 1.782532658e-03f,
+1.783761399e-03f, 1.784986989e-03f, 1.786209428e-03f, 1.787428714e-03f, 1.788644843e-03f, 1.789857816e-03f, 1.791067629e-03f, 1.792274280e-03f, 1.793477768e-03f, 1.794678092e-03f,
+1.795875248e-03f, 1.797069235e-03f, 1.798260051e-03f, 1.799447695e-03f, 1.800632164e-03f, 1.801813456e-03f, 1.802991570e-03f, 1.804166504e-03f, 1.805338256e-03f, 1.806506824e-03f,
+1.807672206e-03f, 1.808834400e-03f, 1.809993405e-03f, 1.811149219e-03f, 1.812301839e-03f, 1.813451265e-03f, 1.814597494e-03f, 1.815740524e-03f, 1.816880355e-03f, 1.818016982e-03f,
+1.819150406e-03f, 1.820280625e-03f, 1.821407636e-03f, 1.822531437e-03f, 1.823652028e-03f, 1.824769405e-03f, 1.825883568e-03f, 1.826994515e-03f, 1.828102244e-03f, 1.829206753e-03f,
+1.830308041e-03f, 1.831406105e-03f, 1.832500944e-03f, 1.833592557e-03f, 1.834680941e-03f, 1.835766095e-03f, 1.836848017e-03f, 1.837926706e-03f, 1.839002160e-03f, 1.840074376e-03f,
+1.841143354e-03f, 1.842209092e-03f, 1.843271588e-03f, 1.844330841e-03f, 1.845386848e-03f, 1.846439609e-03f, 1.847489121e-03f, 1.848535383e-03f, 1.849578393e-03f, 1.850618150e-03f,
+1.851654651e-03f, 1.852687897e-03f, 1.853717883e-03f, 1.854744611e-03f, 1.855768076e-03f, 1.856788279e-03f, 1.857805217e-03f, 1.858818889e-03f, 1.859829293e-03f, 1.860836428e-03f,
+1.861840292e-03f, 1.862840883e-03f, 1.863838201e-03f, 1.864832243e-03f, 1.865823007e-03f, 1.866810494e-03f, 1.867794700e-03f, 1.868775624e-03f, 1.869753266e-03f, 1.870727622e-03f,
+1.871698693e-03f, 1.872666475e-03f, 1.873630969e-03f, 1.874592172e-03f, 1.875550082e-03f, 1.876504699e-03f, 1.877456021e-03f, 1.878404047e-03f, 1.879348774e-03f, 1.880290202e-03f,
+1.881228329e-03f, 1.882163153e-03f, 1.883094674e-03f, 1.884022890e-03f, 1.884947799e-03f, 1.885869399e-03f, 1.886787691e-03f, 1.887702671e-03f, 1.888614339e-03f, 1.889522694e-03f,
+1.890427733e-03f, 1.891329456e-03f, 1.892227861e-03f, 1.893122947e-03f, 1.894014712e-03f, 1.894903155e-03f, 1.895788275e-03f, 1.896670071e-03f, 1.897548540e-03f, 1.898423682e-03f,
+1.899295495e-03f, 1.900163979e-03f, 1.901029131e-03f, 1.901890950e-03f, 1.902749436e-03f, 1.903604586e-03f, 1.904456400e-03f, 1.905304876e-03f, 1.906150013e-03f, 1.906991810e-03f,
+1.907830264e-03f, 1.908665376e-03f, 1.909497144e-03f, 1.910325567e-03f, 1.911150642e-03f, 1.911972370e-03f, 1.912790749e-03f, 1.913605777e-03f, 1.914417453e-03f, 1.915225777e-03f,
+1.916030747e-03f, 1.916832361e-03f, 1.917630619e-03f, 1.918425519e-03f, 1.919217061e-03f, 1.920005242e-03f, 1.920790062e-03f, 1.921571520e-03f, 1.922349614e-03f, 1.923124344e-03f,
+1.923895707e-03f, 1.924663704e-03f, 1.925428332e-03f, 1.926189591e-03f, 1.926947480e-03f, 1.927701997e-03f, 1.928453142e-03f, 1.929200912e-03f, 1.929945308e-03f, 1.930686328e-03f,
+1.931423970e-03f, 1.932158235e-03f, 1.932889120e-03f, 1.933616624e-03f, 1.934340748e-03f, 1.935061489e-03f, 1.935778846e-03f, 1.936492818e-03f, 1.937203405e-03f, 1.937910606e-03f,
+1.938614418e-03f, 1.939314842e-03f, 1.940011876e-03f, 1.940705519e-03f, 1.941395770e-03f, 1.942082628e-03f, 1.942766093e-03f, 1.943446162e-03f, 1.944122836e-03f, 1.944796113e-03f,
+1.945465992e-03f, 1.946132473e-03f, 1.946795553e-03f, 1.947455233e-03f, 1.948111512e-03f, 1.948764387e-03f, 1.949413860e-03f, 1.950059927e-03f, 1.950702590e-03f, 1.951341845e-03f,
+1.951977694e-03f, 1.952610135e-03f, 1.953239166e-03f, 1.953864787e-03f, 1.954486998e-03f, 1.955105797e-03f, 1.955721183e-03f, 1.956333155e-03f, 1.956941713e-03f, 1.957546856e-03f,
+1.958148583e-03f, 1.958746893e-03f, 1.959341785e-03f, 1.959933258e-03f, 1.960521312e-03f, 1.961105945e-03f, 1.961687158e-03f, 1.962264948e-03f, 1.962839316e-03f, 1.963410260e-03f,
+1.963977779e-03f, 1.964541873e-03f, 1.965102542e-03f, 1.965659783e-03f, 1.966213597e-03f, 1.966763983e-03f, 1.967310940e-03f, 1.967854467e-03f, 1.968394563e-03f, 1.968931228e-03f,
+1.969464461e-03f, 1.969994261e-03f, 1.970520627e-03f, 1.971043560e-03f, 1.971563057e-03f, 1.972079119e-03f, 1.972591744e-03f, 1.973100932e-03f, 1.973606683e-03f, 1.974108994e-03f,
+1.974607867e-03f, 1.975103300e-03f, 1.975595293e-03f, 1.976083844e-03f, 1.976568953e-03f, 1.977050620e-03f, 1.977528844e-03f, 1.978003625e-03f, 1.978474960e-03f, 1.978942851e-03f,
+1.979407296e-03f, 1.979868295e-03f, 1.980325848e-03f, 1.980779952e-03f, 1.981230609e-03f, 1.981677817e-03f, 1.982121576e-03f, 1.982561885e-03f, 1.982998743e-03f, 1.983432151e-03f,
+1.983862107e-03f, 1.984288611e-03f, 1.984711662e-03f, 1.985131261e-03f, 1.985547405e-03f, 1.985960096e-03f, 1.986369332e-03f, 1.986775112e-03f, 1.987177437e-03f, 1.987576305e-03f,
+1.987971717e-03f, 1.988363671e-03f, 1.988752168e-03f, 1.989137206e-03f, 1.989518785e-03f, 1.989896906e-03f, 1.990271567e-03f, 1.990642767e-03f, 1.991010507e-03f, 1.991374786e-03f,
+1.991735604e-03f, 1.992092960e-03f, 1.992446853e-03f, 1.992797283e-03f, 1.993144251e-03f, 1.993487755e-03f, 1.993827795e-03f, 1.994164370e-03f, 1.994497481e-03f, 1.994827127e-03f,
+1.995153307e-03f, 1.995476021e-03f, 1.995795269e-03f, 1.996111050e-03f, 1.996423364e-03f, 1.996732211e-03f, 1.997037590e-03f, 1.997339501e-03f, 1.997637944e-03f, 1.997932918e-03f,
+1.998224423e-03f, 1.998512459e-03f, 1.998797025e-03f, 1.999078121e-03f, 1.999355747e-03f, 1.999629902e-03f, 1.999900587e-03f, 2.000167800e-03f, 2.000431543e-03f, 2.000691813e-03f,
+2.000948612e-03f, 2.001201938e-03f, 2.001451792e-03f, 2.001698174e-03f, 2.001941082e-03f, 2.002180518e-03f, 2.002416480e-03f, 2.002648969e-03f, 2.002877983e-03f, 2.003103524e-03f,
+2.003325591e-03f, 2.003544183e-03f, 2.003759301e-03f, 2.003970944e-03f, 2.004179112e-03f, 2.004383806e-03f, 2.004585023e-03f, 2.004782766e-03f, 2.004977033e-03f, 2.005167824e-03f,
+2.005355140e-03f, 2.005538979e-03f, 2.005719342e-03f, 2.005896229e-03f, 2.006069640e-03f, 2.006239575e-03f, 2.006406032e-03f, 2.006569014e-03f, 2.006728518e-03f, 2.006884546e-03f,
+2.007037096e-03f, 2.007186170e-03f, 2.007331767e-03f, 2.007473886e-03f, 2.007612528e-03f, 2.007747694e-03f, 2.007879382e-03f, 2.008007592e-03f, 2.008132325e-03f, 2.008253581e-03f,
+2.008371360e-03f, 2.008485661e-03f, 2.008596485e-03f, 2.008703831e-03f, 2.008807700e-03f, 2.008908092e-03f, 2.009005006e-03f, 2.009098443e-03f, 2.009188402e-03f, 2.009274885e-03f,
+2.009357890e-03f, 2.009437418e-03f, 2.009513468e-03f, 2.009586042e-03f, 2.009655139e-03f, 2.009720758e-03f, 2.009782901e-03f, 2.009841567e-03f, 2.009896756e-03f, 2.009948469e-03f,
+2.009996705e-03f, 2.010041465e-03f, 2.010082748e-03f, 2.010120556e-03f, 2.010154887e-03f, 2.010185742e-03f, 2.010213122e-03f, 2.010237026e-03f, 2.010257454e-03f, 2.010274407e-03f,
+2.010287885e-03f, 2.010297888e-03f, 2.010304416e-03f, 2.010307470e-03f, 2.010307049e-03f, 2.010303153e-03f, 2.010295784e-03f, 2.010284940e-03f, 2.010270624e-03f, 2.010252833e-03f,
+2.010231569e-03f, 2.010206833e-03f, 2.010178623e-03f, 2.010146941e-03f, 2.010111787e-03f, 2.010073160e-03f, 2.010031062e-03f, 2.009985493e-03f, 2.009936452e-03f, 2.009883940e-03f,
+2.009827957e-03f, 2.009768504e-03f, 2.009705581e-03f, 2.009639188e-03f, 2.009569325e-03f, 2.009495993e-03f, 2.009419193e-03f, 2.009338923e-03f, 2.009255186e-03f, 2.009167980e-03f,
+2.009077307e-03f, 2.008983167e-03f, 2.008885560e-03f, 2.008784486e-03f, 2.008679947e-03f, 2.008571941e-03f, 2.008460470e-03f, 2.008345534e-03f, 2.008227133e-03f, 2.008105268e-03f,
+2.007979939e-03f, 2.007851147e-03f, 2.007718892e-03f, 2.007583174e-03f, 2.007443994e-03f, 2.007301352e-03f, 2.007155249e-03f, 2.007005685e-03f, 2.006852661e-03f, 2.006696176e-03f,
+2.006536232e-03f, 2.006372829e-03f, 2.006205968e-03f, 2.006035648e-03f, 2.005861871e-03f, 2.005684636e-03f, 2.005503945e-03f, 2.005319798e-03f, 2.005132195e-03f, 2.004941137e-03f,
+2.004746624e-03f, 2.004548657e-03f, 2.004347237e-03f, 2.004142364e-03f, 2.003934038e-03f, 2.003722261e-03f, 2.003507032e-03f, 2.003288352e-03f, 2.003066222e-03f, 2.002840642e-03f,
+2.002611613e-03f, 2.002379136e-03f, 2.002143211e-03f, 2.001903838e-03f, 2.001661019e-03f, 2.001414753e-03f, 2.001165043e-03f, 2.000911887e-03f, 2.000655287e-03f, 2.000395243e-03f,
+2.000131757e-03f, 1.999864828e-03f, 1.999594457e-03f, 1.999320646e-03f, 1.999043394e-03f, 1.998762702e-03f, 1.998478571e-03f, 1.998191002e-03f, 1.997899995e-03f, 1.997605552e-03f,
+1.997307672e-03f, 1.997006356e-03f, 1.996701606e-03f, 1.996393421e-03f, 1.996081803e-03f, 1.995766752e-03f, 1.995448270e-03f, 1.995126356e-03f, 1.994801011e-03f, 1.994472237e-03f,
+1.994140034e-03f, 1.993804402e-03f, 1.993465344e-03f, 1.993122858e-03f, 1.992776947e-03f, 1.992427610e-03f, 1.992074849e-03f, 1.991718665e-03f, 1.991359057e-03f, 1.990996028e-03f,
+1.990629578e-03f, 1.990259708e-03f, 1.989886418e-03f, 1.989509709e-03f, 1.989129583e-03f, 1.988746039e-03f, 1.988359080e-03f, 1.987968705e-03f, 1.987574916e-03f, 1.987177714e-03f,
+1.986777098e-03f, 1.986373071e-03f, 1.985965633e-03f, 1.985554786e-03f, 1.985140529e-03f, 1.984722863e-03f, 1.984301791e-03f, 1.983877312e-03f, 1.983449428e-03f, 1.983018139e-03f,
+1.982583447e-03f, 1.982145352e-03f, 1.981703855e-03f, 1.981258957e-03f, 1.980810660e-03f, 1.980358964e-03f, 1.979903870e-03f, 1.979445379e-03f, 1.978983492e-03f, 1.978518210e-03f,
+1.978049534e-03f, 1.977577466e-03f, 1.977102005e-03f, 1.976623153e-03f, 1.976140912e-03f, 1.975655281e-03f, 1.975166263e-03f, 1.974673857e-03f, 1.974178066e-03f, 1.973678890e-03f,
+1.973176331e-03f, 1.972670388e-03f, 1.972161064e-03f, 1.971648360e-03f, 1.971132276e-03f, 1.970612813e-03f, 1.970089973e-03f, 1.969563757e-03f, 1.969034166e-03f, 1.968501201e-03f,
+1.967964863e-03f, 1.967425153e-03f, 1.966882072e-03f, 1.966335621e-03f, 1.965785803e-03f, 1.965232616e-03f, 1.964676064e-03f, 1.964116147e-03f, 1.963552865e-03f, 1.962986221e-03f,
+1.962416216e-03f, 1.961842850e-03f, 1.961266124e-03f, 1.960686041e-03f, 1.960102601e-03f, 1.959515805e-03f, 1.958925655e-03f, 1.958332151e-03f, 1.957735295e-03f, 1.957135089e-03f,
+1.956531533e-03f, 1.955924628e-03f, 1.955314376e-03f, 1.954700779e-03f, 1.954083836e-03f, 1.953463550e-03f, 1.952839922e-03f, 1.952212953e-03f, 1.951582645e-03f, 1.950948998e-03f,
+1.950312014e-03f, 1.949671694e-03f, 1.949028039e-03f, 1.948381052e-03f, 1.947730732e-03f, 1.947077082e-03f, 1.946420102e-03f, 1.945759795e-03f, 1.945096160e-03f, 1.944429201e-03f,
+1.943758917e-03f, 1.943085311e-03f, 1.942408383e-03f, 1.941728135e-03f, 1.941044569e-03f, 1.940357685e-03f, 1.939667486e-03f, 1.938973972e-03f, 1.938277145e-03f, 1.937577006e-03f,
+1.936873557e-03f, 1.936166799e-03f, 1.935456733e-03f, 1.934743361e-03f, 1.934026684e-03f, 1.933306704e-03f, 1.932583422e-03f, 1.931856840e-03f, 1.931126958e-03f, 1.930393779e-03f,
+1.929657304e-03f, 1.928917534e-03f, 1.928174471e-03f, 1.927428116e-03f, 1.926678471e-03f, 1.925925537e-03f, 1.925169316e-03f, 1.924409809e-03f, 1.923647017e-03f, 1.922880943e-03f,
+1.922111587e-03f, 1.921338951e-03f, 1.920563037e-03f, 1.919783847e-03f, 1.919001381e-03f, 1.918215641e-03f, 1.917426629e-03f, 1.916634346e-03f, 1.915838794e-03f, 1.915039975e-03f,
+1.914237889e-03f, 1.913432539e-03f, 1.912623926e-03f, 1.911812052e-03f, 1.910996918e-03f, 1.910178526e-03f, 1.909356878e-03f, 1.908531974e-03f, 1.907703817e-03f, 1.906872409e-03f,
+1.906037750e-03f, 1.905199843e-03f, 1.904358689e-03f, 1.903514290e-03f, 1.902666647e-03f, 1.901815762e-03f, 1.900961637e-03f, 1.900104273e-03f, 1.899243672e-03f, 1.898379835e-03f,
+1.897512766e-03f, 1.896642464e-03f, 1.895768931e-03f, 1.894892171e-03f, 1.894012183e-03f, 1.893128970e-03f, 1.892242533e-03f, 1.891352875e-03f, 1.890459996e-03f, 1.889563899e-03f,
+1.888664586e-03f, 1.887762057e-03f, 1.886856316e-03f, 1.885947362e-03f, 1.885035200e-03f, 1.884119829e-03f, 1.883201252e-03f, 1.882279470e-03f, 1.881354486e-03f, 1.880426301e-03f,
+1.879494917e-03f, 1.878560335e-03f, 1.877622558e-03f, 1.876681587e-03f, 1.875737424e-03f, 1.874790071e-03f, 1.873839530e-03f, 1.872885802e-03f, 1.871928890e-03f, 1.870968794e-03f,
+1.870005518e-03f, 1.869039062e-03f, 1.868069429e-03f, 1.867096621e-03f, 1.866120639e-03f, 1.865141485e-03f, 1.864159161e-03f, 1.863173669e-03f, 1.862185011e-03f, 1.861193189e-03f,
+1.860198204e-03f, 1.859200059e-03f, 1.858198755e-03f, 1.857194294e-03f, 1.856186679e-03f, 1.855175911e-03f, 1.854161992e-03f, 1.853144923e-03f, 1.852124708e-03f, 1.851101347e-03f,
+1.850074844e-03f, 1.849045199e-03f, 1.848012414e-03f, 1.846976492e-03f, 1.845937435e-03f, 1.844895245e-03f, 1.843849922e-03f, 1.842801471e-03f, 1.841749892e-03f, 1.840695187e-03f,
+1.839637359e-03f, 1.838576409e-03f, 1.837512340e-03f, 1.836445153e-03f, 1.835374851e-03f, 1.834301435e-03f, 1.833224908e-03f, 1.832145271e-03f, 1.831062527e-03f, 1.829976677e-03f,
+1.828887725e-03f, 1.827795670e-03f, 1.826700517e-03f, 1.825602267e-03f, 1.824500922e-03f, 1.823396483e-03f, 1.822288954e-03f, 1.821178336e-03f, 1.820064631e-03f, 1.818947841e-03f,
+1.817827969e-03f, 1.816705016e-03f, 1.815578986e-03f, 1.814449878e-03f, 1.813317697e-03f, 1.812182444e-03f, 1.811044121e-03f, 1.809902730e-03f, 1.808758274e-03f, 1.807610754e-03f,
+1.806460173e-03f, 1.805306533e-03f, 1.804149836e-03f, 1.802990084e-03f, 1.801827279e-03f, 1.800661424e-03f, 1.799492521e-03f, 1.798320572e-03f, 1.797145578e-03f, 1.795967543e-03f,
+1.794786469e-03f, 1.793602357e-03f, 1.792415211e-03f, 1.791225031e-03f, 1.790031821e-03f, 1.788835582e-03f, 1.787636317e-03f, 1.786434029e-03f, 1.785228718e-03f, 1.784020388e-03f,
+1.782809041e-03f, 1.781594680e-03f, 1.780377305e-03f, 1.779156920e-03f, 1.777933527e-03f, 1.776707128e-03f, 1.775477726e-03f, 1.774245322e-03f, 1.773009919e-03f, 1.771771520e-03f,
+1.770530126e-03f, 1.769285740e-03f, 1.768038365e-03f, 1.766788002e-03f, 1.765534654e-03f, 1.764278323e-03f, 1.763019012e-03f, 1.761756723e-03f, 1.760491458e-03f, 1.759223219e-03f,
+1.757952010e-03f, 1.756677832e-03f, 1.755400687e-03f, 1.754120579e-03f, 1.752837509e-03f, 1.751551479e-03f, 1.750262493e-03f, 1.748970553e-03f, 1.747675660e-03f, 1.746377818e-03f,
+1.745077029e-03f, 1.743773295e-03f, 1.742466618e-03f, 1.741157002e-03f, 1.739844448e-03f, 1.738528959e-03f, 1.737210537e-03f, 1.735889185e-03f, 1.734564905e-03f, 1.733237699e-03f,
+1.731907571e-03f, 1.730574523e-03f, 1.729238556e-03f, 1.727899674e-03f, 1.726557879e-03f, 1.725213173e-03f, 1.723865559e-03f, 1.722515040e-03f, 1.721161617e-03f, 1.719805294e-03f,
+1.718446073e-03f, 1.717083956e-03f, 1.715718946e-03f, 1.714351046e-03f, 1.712980258e-03f, 1.711606584e-03f, 1.710230027e-03f, 1.708850589e-03f, 1.707468274e-03f, 1.706083084e-03f,
+1.704695020e-03f, 1.703304087e-03f, 1.701910285e-03f, 1.700513619e-03f, 1.699114090e-03f, 1.697711701e-03f, 1.696306455e-03f, 1.694898354e-03f, 1.693487400e-03f, 1.692073597e-03f,
+1.690656947e-03f, 1.689237453e-03f, 1.687815117e-03f, 1.686389941e-03f, 1.684961929e-03f, 1.683531084e-03f, 1.682097406e-03f, 1.680660900e-03f, 1.679221568e-03f, 1.677779413e-03f,
+1.676334437e-03f, 1.674886643e-03f, 1.673436033e-03f, 1.671982611e-03f, 1.670526378e-03f, 1.669067338e-03f, 1.667605493e-03f, 1.666140846e-03f, 1.664673400e-03f, 1.663203157e-03f,
+1.661730120e-03f, 1.660254291e-03f, 1.658775674e-03f, 1.657294271e-03f, 1.655810085e-03f, 1.654323118e-03f, 1.652833374e-03f, 1.651340854e-03f, 1.649845563e-03f, 1.648347501e-03f,
+1.646846673e-03f, 1.645343081e-03f, 1.643836727e-03f, 1.642327615e-03f, 1.640815747e-03f, 1.639301126e-03f, 1.637783754e-03f, 1.636263636e-03f, 1.634740772e-03f, 1.633215166e-03f,
+1.631686822e-03f, 1.630155741e-03f, 1.628621926e-03f, 1.627085380e-03f, 1.625546107e-03f, 1.624004108e-03f, 1.622459387e-03f, 1.620911947e-03f, 1.619361790e-03f, 1.617808918e-03f,
+1.616253336e-03f, 1.614695046e-03f, 1.613134050e-03f, 1.611570352e-03f, 1.610003954e-03f, 1.608434859e-03f, 1.606863071e-03f, 1.605288591e-03f, 1.603711423e-03f, 1.602131569e-03f,
+1.600549034e-03f, 1.598963818e-03f, 1.597375926e-03f, 1.595785360e-03f, 1.594192123e-03f, 1.592596218e-03f, 1.590997648e-03f, 1.589396416e-03f, 1.587792524e-03f, 1.586185977e-03f,
+1.584576775e-03f, 1.582964923e-03f, 1.581350424e-03f, 1.579733280e-03f, 1.578113494e-03f, 1.576491069e-03f, 1.574866009e-03f, 1.573238315e-03f, 1.571607992e-03f, 1.569975042e-03f,
+1.568339468e-03f, 1.566701273e-03f, 1.565060459e-03f, 1.563417031e-03f, 1.561770991e-03f, 1.560122341e-03f, 1.558471086e-03f, 1.556817227e-03f, 1.555160768e-03f, 1.553501712e-03f,
+1.551840062e-03f, 1.550175821e-03f, 1.548508992e-03f, 1.546839578e-03f, 1.545167582e-03f, 1.543493007e-03f, 1.541815855e-03f, 1.540136132e-03f, 1.538453838e-03f, 1.536768977e-03f,
+1.535081553e-03f, 1.533391568e-03f, 1.531699025e-03f, 1.530003928e-03f, 1.528306279e-03f, 1.526606082e-03f, 1.524903339e-03f, 1.523198054e-03f, 1.521490230e-03f, 1.519779870e-03f,
+1.518066977e-03f, 1.516351554e-03f, 1.514633604e-03f, 1.512913131e-03f, 1.511190137e-03f, 1.509464625e-03f, 1.507736599e-03f, 1.506006062e-03f, 1.504273017e-03f, 1.502537467e-03f,
+1.500799415e-03f, 1.499058865e-03f, 1.497315819e-03f, 1.495570280e-03f, 1.493822253e-03f, 1.492071739e-03f, 1.490318742e-03f, 1.488563266e-03f, 1.486805313e-03f, 1.485044887e-03f,
+1.483281990e-03f, 1.481516626e-03f, 1.479748799e-03f, 1.477978511e-03f, 1.476205765e-03f, 1.474430565e-03f, 1.472652915e-03f, 1.470872816e-03f, 1.469090272e-03f, 1.467305288e-03f,
+1.465517865e-03f, 1.463728007e-03f, 1.461935717e-03f, 1.460140999e-03f, 1.458343855e-03f, 1.456544289e-03f, 1.454742305e-03f, 1.452937905e-03f, 1.451131092e-03f, 1.449321871e-03f,
+1.447510244e-03f, 1.445696214e-03f, 1.443879785e-03f, 1.442060960e-03f, 1.440239742e-03f, 1.438416135e-03f, 1.436590142e-03f, 1.434761766e-03f, 1.432931010e-03f, 1.431097878e-03f,
+1.429262373e-03f, 1.427424498e-03f, 1.425584257e-03f, 1.423741652e-03f, 1.421896688e-03f, 1.420049368e-03f, 1.418199694e-03f, 1.416347671e-03f, 1.414493301e-03f, 1.412636588e-03f,
+1.410777536e-03f, 1.408916146e-03f, 1.407052424e-03f, 1.405186372e-03f, 1.403317994e-03f, 1.401447292e-03f, 1.399574271e-03f, 1.397698933e-03f, 1.395821283e-03f, 1.393941323e-03f,
+1.392059057e-03f, 1.390174487e-03f, 1.388287619e-03f, 1.386398454e-03f, 1.384506997e-03f, 1.382613251e-03f, 1.380717218e-03f, 1.378818903e-03f, 1.376918310e-03f, 1.375015440e-03f,
+1.373110298e-03f, 1.371202888e-03f, 1.369293211e-03f, 1.367381273e-03f, 1.365467077e-03f, 1.363550625e-03f, 1.361631922e-03f, 1.359710970e-03f, 1.357787774e-03f, 1.355862336e-03f,
+1.353934661e-03f, 1.352004751e-03f, 1.350072609e-03f, 1.348138241e-03f, 1.346201648e-03f, 1.344262835e-03f, 1.342321805e-03f, 1.340378561e-03f, 1.338433107e-03f, 1.336485446e-03f,
+1.334535582e-03f, 1.332583518e-03f, 1.330629258e-03f, 1.328672805e-03f, 1.326714164e-03f, 1.324753336e-03f, 1.322790326e-03f, 1.320825138e-03f, 1.318857774e-03f, 1.316888239e-03f,
+1.314916536e-03f, 1.312942668e-03f, 1.310966639e-03f, 1.308988452e-03f, 1.307008112e-03f, 1.305025621e-03f, 1.303040983e-03f, 1.301054202e-03f, 1.299065281e-03f, 1.297074224e-03f,
+1.295081034e-03f, 1.293085715e-03f, 1.291088270e-03f, 1.289088703e-03f, 1.287087018e-03f, 1.285083218e-03f, 1.283077307e-03f, 1.281069288e-03f, 1.279059165e-03f, 1.277046942e-03f,
+1.275032621e-03f, 1.273016207e-03f, 1.270997704e-03f, 1.268977114e-03f, 1.266954442e-03f, 1.264929691e-03f, 1.262902865e-03f, 1.260873967e-03f, 1.258843001e-03f, 1.256809971e-03f,
+1.254774879e-03f, 1.252737731e-03f, 1.250698529e-03f, 1.248657277e-03f, 1.246613979e-03f, 1.244568638e-03f, 1.242521259e-03f, 1.240471844e-03f, 1.238420397e-03f, 1.236366922e-03f,
+1.234311423e-03f, 1.232253904e-03f, 1.230194367e-03f, 1.228132817e-03f, 1.226069257e-03f, 1.224003691e-03f, 1.221936123e-03f, 1.219866557e-03f, 1.217794995e-03f, 1.215721442e-03f,
+1.213645902e-03f, 1.211568377e-03f, 1.209488873e-03f, 1.207407392e-03f, 1.205323938e-03f, 1.203238516e-03f, 1.201151128e-03f, 1.199061778e-03f, 1.196970470e-03f, 1.194877208e-03f,
+1.192781996e-03f, 1.190684837e-03f, 1.188585735e-03f, 1.186484694e-03f, 1.184381717e-03f, 1.182276809e-03f, 1.180169972e-03f, 1.178061212e-03f, 1.175950530e-03f, 1.173837932e-03f,
+1.171723421e-03f, 1.169607000e-03f, 1.167488674e-03f, 1.165368447e-03f, 1.163246321e-03f, 1.161122301e-03f, 1.158996391e-03f, 1.156868594e-03f, 1.154738914e-03f, 1.152607355e-03f,
+1.150473921e-03f, 1.148338615e-03f, 1.146201442e-03f, 1.144062405e-03f, 1.141921507e-03f, 1.139778753e-03f, 1.137634147e-03f, 1.135487692e-03f, 1.133339392e-03f, 1.131189251e-03f,
+1.129037273e-03f, 1.126883462e-03f, 1.124727820e-03f, 1.122570353e-03f, 1.120411065e-03f, 1.118249957e-03f, 1.116087036e-03f, 1.113922304e-03f, 1.111755766e-03f, 1.109587425e-03f,
+1.107417284e-03f, 1.105245349e-03f, 1.103071623e-03f, 1.100896109e-03f, 1.098718812e-03f, 1.096539735e-03f, 1.094358882e-03f, 1.092176257e-03f, 1.089991865e-03f, 1.087805708e-03f,
+1.085617791e-03f, 1.083428117e-03f, 1.081236691e-03f, 1.079043516e-03f, 1.076848597e-03f, 1.074651936e-03f, 1.072453539e-03f, 1.070253408e-03f, 1.068051549e-03f, 1.065847964e-03f,
+1.063642657e-03f, 1.061435633e-03f, 1.059226896e-03f, 1.057016449e-03f, 1.054804296e-03f, 1.052590441e-03f, 1.050374889e-03f, 1.048157642e-03f, 1.045938705e-03f, 1.043718083e-03f,
+1.041495778e-03f, 1.039271794e-03f, 1.037046137e-03f, 1.034818809e-03f, 1.032589814e-03f, 1.030359158e-03f, 1.028126842e-03f, 1.025892872e-03f, 1.023657251e-03f, 1.021419984e-03f,
+1.019181073e-03f, 1.016940524e-03f, 1.014698340e-03f, 1.012454526e-03f, 1.010209084e-03f, 1.007962019e-03f, 1.005713336e-03f, 1.003463037e-03f, 1.001211128e-03f, 9.989576113e-04f,
+9.967024918e-04f, 9.944457731e-04f, 9.921874595e-04f, 9.899275547e-04f, 9.876660629e-04f, 9.854029880e-04f, 9.831383340e-04f, 9.808721049e-04f, 9.786043048e-04f, 9.763349375e-04f,
+9.740640073e-04f, 9.717915179e-04f, 9.695174735e-04f, 9.672418781e-04f, 9.649647357e-04f, 9.626860503e-04f, 9.604058259e-04f, 9.581240666e-04f, 9.558407763e-04f, 9.535559592e-04f,
+9.512696193e-04f, 9.489817605e-04f, 9.466923870e-04f, 9.444015027e-04f, 9.421091118e-04f, 9.398152182e-04f, 9.375198260e-04f, 9.352229392e-04f, 9.329245620e-04f, 9.306246983e-04f,
+9.283233522e-04f, 9.260205278e-04f, 9.237162291e-04f, 9.214104603e-04f, 9.191032252e-04f, 9.167945282e-04f, 9.144843731e-04f, 9.121727641e-04f, 9.098597052e-04f, 9.075452006e-04f,
+9.052292543e-04f, 9.029118704e-04f, 9.005930529e-04f, 8.982728061e-04f, 8.959511338e-04f, 8.936280403e-04f, 8.913035297e-04f, 8.889776059e-04f, 8.866502732e-04f, 8.843215356e-04f,
+8.819913973e-04f, 8.796598623e-04f, 8.773269347e-04f, 8.749926187e-04f, 8.726569183e-04f, 8.703198377e-04f, 8.679813810e-04f, 8.656415523e-04f, 8.633003557e-04f, 8.609577954e-04f,
+8.586138755e-04f, 8.562686000e-04f, 8.539219732e-04f, 8.515739991e-04f, 8.492246819e-04f, 8.468740257e-04f, 8.445220347e-04f, 8.421687130e-04f, 8.398140647e-04f, 8.374580940e-04f,
+8.351008050e-04f, 8.327422019e-04f, 8.303822888e-04f, 8.280210699e-04f, 8.256585493e-04f, 8.232947311e-04f, 8.209296196e-04f, 8.185632189e-04f, 8.161955332e-04f, 8.138265666e-04f,
+8.114563232e-04f, 8.090848074e-04f, 8.067120231e-04f, 8.043379746e-04f, 8.019626661e-04f, 7.995861017e-04f, 7.972082856e-04f, 7.948292220e-04f, 7.924489151e-04f, 7.900673691e-04f,
+7.876845880e-04f, 7.853005762e-04f, 7.829153379e-04f, 7.805288771e-04f, 7.781411981e-04f, 7.757523051e-04f, 7.733622023e-04f, 7.709708939e-04f, 7.685783840e-04f, 7.661846770e-04f,
+7.637897769e-04f, 7.613936880e-04f, 7.589964145e-04f, 7.565979606e-04f, 7.541983306e-04f, 7.517975285e-04f, 7.493955587e-04f, 7.469924254e-04f, 7.445881327e-04f, 7.421826850e-04f,
+7.397760863e-04f, 7.373683410e-04f, 7.349594532e-04f, 7.325494273e-04f, 7.301382673e-04f, 7.277259776e-04f, 7.253125624e-04f, 7.228980259e-04f, 7.204823724e-04f, 7.180656060e-04f,
+7.156477310e-04f, 7.132287517e-04f, 7.108086724e-04f, 7.083874971e-04f, 7.059652303e-04f, 7.035418761e-04f, 7.011174388e-04f, 6.986919226e-04f, 6.962653318e-04f, 6.938376706e-04f,
+6.914089434e-04f, 6.889791543e-04f, 6.865483076e-04f, 6.841164075e-04f, 6.816834585e-04f, 6.792494646e-04f, 6.768144301e-04f, 6.743783594e-04f, 6.719412567e-04f, 6.695031262e-04f,
+6.670639723e-04f, 6.646237992e-04f, 6.621826111e-04f, 6.597404124e-04f, 6.572972074e-04f, 6.548530002e-04f, 6.524077953e-04f, 6.499615968e-04f, 6.475144090e-04f, 6.450662363e-04f,
+6.426170829e-04f, 6.401669531e-04f, 6.377158513e-04f, 6.352637816e-04f, 6.328107483e-04f, 6.303567559e-04f, 6.279018085e-04f, 6.254459105e-04f, 6.229890661e-04f, 6.205312797e-04f,
+6.180725555e-04f, 6.156128979e-04f, 6.131523112e-04f, 6.106907996e-04f, 6.082283675e-04f, 6.057650192e-04f, 6.033007590e-04f, 6.008355911e-04f, 5.983695200e-04f, 5.959025498e-04f,
+5.934346850e-04f, 5.909659299e-04f, 5.884962887e-04f, 5.860257658e-04f, 5.835543654e-04f, 5.810820920e-04f, 5.786089499e-04f, 5.761349433e-04f, 5.736600765e-04f, 5.711843540e-04f,
+5.687077800e-04f, 5.662303589e-04f, 5.637520950e-04f, 5.612729926e-04f, 5.587930560e-04f, 5.563122896e-04f, 5.538306978e-04f, 5.513482848e-04f, 5.488650549e-04f, 5.463810126e-04f,
+5.438961622e-04f, 5.414105080e-04f, 5.389240543e-04f, 5.364368055e-04f, 5.339487659e-04f, 5.314599399e-04f, 5.289703318e-04f, 5.264799460e-04f, 5.239887867e-04f, 5.214968585e-04f,
+5.190041655e-04f, 5.165107122e-04f, 5.140165029e-04f, 5.115215420e-04f, 5.090258338e-04f, 5.065293826e-04f, 5.040321929e-04f, 5.015342690e-04f, 4.990356152e-04f, 4.965362359e-04f,
+4.940361354e-04f, 4.915353182e-04f, 4.890337886e-04f, 4.865315509e-04f, 4.840286095e-04f, 4.815249688e-04f, 4.790206331e-04f, 4.765156068e-04f, 4.740098943e-04f, 4.715035000e-04f,
+4.689964281e-04f, 4.664886832e-04f, 4.639802695e-04f, 4.614711914e-04f, 4.589614533e-04f, 4.564510596e-04f, 4.539400146e-04f, 4.514283228e-04f, 4.489159885e-04f, 4.464030160e-04f,
+4.438894098e-04f, 4.413751743e-04f, 4.388603138e-04f, 4.363448326e-04f, 4.338287353e-04f, 4.313120261e-04f, 4.287947094e-04f, 4.262767897e-04f, 4.237582713e-04f, 4.212391587e-04f,
+4.187194561e-04f, 4.161991679e-04f, 4.136782987e-04f, 4.111568527e-04f, 4.086348343e-04f, 4.061122480e-04f, 4.035890981e-04f, 4.010653891e-04f, 3.985411252e-04f, 3.960163110e-04f,
+3.934909507e-04f, 3.909650489e-04f, 3.884386098e-04f, 3.859116379e-04f, 3.833841376e-04f, 3.808561133e-04f, 3.783275694e-04f, 3.757985102e-04f, 3.732689403e-04f, 3.707388639e-04f,
+3.682082854e-04f, 3.656772094e-04f, 3.631456402e-04f, 3.606135821e-04f, 3.580810396e-04f, 3.555480172e-04f, 3.530145191e-04f, 3.504805498e-04f, 3.479461137e-04f, 3.454112153e-04f,
+3.428758589e-04f, 3.403400489e-04f, 3.378037897e-04f, 3.352670858e-04f, 3.327299416e-04f, 3.301923614e-04f, 3.276543497e-04f, 3.251159109e-04f, 3.225770493e-04f, 3.200377695e-04f,
+3.174980758e-04f, 3.149579727e-04f, 3.124174644e-04f, 3.098765556e-04f, 3.073352505e-04f, 3.047935536e-04f, 3.022514693e-04f, 2.997090020e-04f, 2.971661562e-04f, 2.946229362e-04f,
+2.920793465e-04f, 2.895353915e-04f, 2.869910755e-04f, 2.844464031e-04f, 2.819013786e-04f, 2.793560065e-04f, 2.768102911e-04f, 2.742642369e-04f, 2.717178484e-04f, 2.691711299e-04f,
+2.666240858e-04f, 2.640767206e-04f, 2.615290387e-04f, 2.589810445e-04f, 2.564327424e-04f, 2.538841369e-04f, 2.513352324e-04f, 2.487860332e-04f, 2.462365439e-04f, 2.436867689e-04f,
+2.411367125e-04f, 2.385863792e-04f, 2.360357734e-04f, 2.334848995e-04f, 2.309337620e-04f, 2.283823653e-04f, 2.258307138e-04f, 2.232788120e-04f, 2.207266642e-04f, 2.181742749e-04f,
+2.156216484e-04f, 2.130687894e-04f, 2.105157021e-04f, 2.079623909e-04f, 2.054088604e-04f, 2.028551149e-04f, 2.003011589e-04f, 1.977469968e-04f, 1.951926330e-04f, 1.926380719e-04f,
+1.900833180e-04f, 1.875283757e-04f, 1.849732494e-04f, 1.824179436e-04f, 1.798624626e-04f, 1.773068109e-04f, 1.747509930e-04f, 1.721950132e-04f, 1.696388760e-04f, 1.670825858e-04f,
+1.645261470e-04f, 1.619695641e-04f, 1.594128415e-04f, 1.568559836e-04f, 1.542989948e-04f, 1.517418796e-04f, 1.491846424e-04f, 1.466272877e-04f, 1.440698197e-04f, 1.415122431e-04f,
+1.389545621e-04f, 1.363967813e-04f, 1.338389051e-04f, 1.312809378e-04f, 1.287228839e-04f, 1.261647479e-04f, 1.236065341e-04f, 1.210482470e-04f, 1.184898911e-04f, 1.159314706e-04f,
+1.133729902e-04f, 1.108144541e-04f, 1.082558669e-04f, 1.056972328e-04f, 1.031385565e-04f, 1.005798422e-04f, 9.802109449e-05f, 9.546231769e-05f, 9.290351626e-05f, 9.034469461e-05f,
+8.778585718e-05f, 8.522700838e-05f, 8.266815265e-05f, 8.010929440e-05f, 7.755043806e-05f, 7.499158805e-05f, 7.243274879e-05f, 6.987392471e-05f, 6.731512022e-05f, 6.475633975e-05f,
+6.219758772e-05f, 5.963886856e-05f, 5.708018667e-05f, 5.452154649e-05f, 5.196295244e-05f, 4.940440893e-05f, 4.684592037e-05f, 4.428749121e-05f, 4.172912584e-05f, 3.917082869e-05f,
+3.661260419e-05f, 3.405445673e-05f, 3.149639075e-05f, 2.893841067e-05f, 2.638052088e-05f, 2.382272583e-05f, 2.126502991e-05f, 1.870743755e-05f, 1.614995315e-05f, 1.359258114e-05f,
+1.103532594e-05f, 8.478191940e-06f, 5.921183570e-06f, 3.364305239e-06f, 8.075613591e-07f, -1.749043657e-06f, -4.305505399e-06f, -6.861819455e-06f, -9.417981415e-06f, -1.197398687e-05f,
+-1.452983141e-05f, -1.708551062e-05f, -1.964102010e-05f, -2.219635544e-05f, -2.475151223e-05f, -2.730648607e-05f, -2.986127255e-05f, -3.241586726e-05f, -3.497026580e-05f, -3.752446376e-05f,
+-4.007845674e-05f, -4.263224034e-05f, -4.518581015e-05f, -4.773916178e-05f, -5.029229081e-05f, -5.284519286e-05f, -5.539786351e-05f, -5.795029838e-05f, -6.050249305e-05f, -6.305444314e-05f,
+-6.560614424e-05f, -6.815759196e-05f, -7.070878191e-05f, -7.325970968e-05f, -7.581037088e-05f, -7.836076111e-05f, -8.091087600e-05f, -8.346071113e-05f, -8.601026212e-05f, -8.855952458e-05f,
+-9.110849412e-05f, -9.365716634e-05f, -9.620553687e-05f, -9.875360130e-05f, -1.013013553e-04f, -1.038487943e-04f, -1.063959142e-04f, -1.089427104e-04f, -1.114891786e-04f, -1.140353144e-04f,
+-1.165811134e-04f, -1.191265712e-04f, -1.216716835e-04f, -1.242164458e-04f, -1.267608539e-04f, -1.293049032e-04f, -1.318485895e-04f, -1.343919084e-04f, -1.369348554e-04f, -1.394774263e-04f,
+-1.420196165e-04f, -1.445614219e-04f, -1.471028379e-04f, -1.496438603e-04f, -1.521844845e-04f, -1.547247064e-04f, -1.572645215e-04f, -1.598039254e-04f, -1.623429138e-04f, -1.648814823e-04f,
+-1.674196265e-04f, -1.699573421e-04f, -1.724946247e-04f, -1.750314700e-04f, -1.775678736e-04f, -1.801038311e-04f, -1.826393382e-04f, -1.851743905e-04f, -1.877089837e-04f, -1.902431133e-04f,
+-1.927767751e-04f, -1.953099647e-04f, -1.978426778e-04f, -2.003749099e-04f, -2.029066568e-04f, -2.054379141e-04f, -2.079686774e-04f, -2.104989424e-04f, -2.130287048e-04f, -2.155579601e-04f,
+-2.180867041e-04f, -2.206149325e-04f, -2.231426408e-04f, -2.256698247e-04f, -2.281964800e-04f, -2.307226022e-04f, -2.332481870e-04f, -2.357732301e-04f, -2.382977272e-04f, -2.408216738e-04f,
+-2.433450658e-04f, -2.458678987e-04f, -2.483901682e-04f, -2.509118700e-04f, -2.534329998e-04f, -2.559535533e-04f, -2.584735260e-04f, -2.609929137e-04f, -2.635117121e-04f, -2.660299169e-04f,
+-2.685475236e-04f, -2.710645281e-04f, -2.735809260e-04f, -2.760967129e-04f, -2.786118846e-04f, -2.811264368e-04f, -2.836403650e-04f, -2.861536651e-04f, -2.886663328e-04f, -2.911783636e-04f,
+-2.936897533e-04f, -2.962004976e-04f, -2.987105922e-04f, -3.012200327e-04f, -3.037288150e-04f, -3.062369346e-04f, -3.087443873e-04f, -3.112511688e-04f, -3.137572748e-04f, -3.162627010e-04f,
+-3.187674431e-04f, -3.212714968e-04f, -3.237748578e-04f, -3.262775218e-04f, -3.287794846e-04f, -3.312807419e-04f, -3.337812893e-04f, -3.362811226e-04f, -3.387802375e-04f, -3.412786297e-04f,
+-3.437762950e-04f, -3.462732290e-04f, -3.487694275e-04f, -3.512648863e-04f, -3.537596010e-04f, -3.562535674e-04f, -3.587467812e-04f, -3.612392381e-04f, -3.637309339e-04f, -3.662218643e-04f,
+-3.687120251e-04f, -3.712014119e-04f, -3.736900205e-04f, -3.761778467e-04f, -3.786648862e-04f, -3.811511348e-04f, -3.836365882e-04f, -3.861212421e-04f, -3.886050922e-04f, -3.910881345e-04f,
+-3.935703645e-04f, -3.960517781e-04f, -3.985323709e-04f, -4.010121389e-04f, -4.034910776e-04f, -4.059691830e-04f, -4.084464507e-04f, -4.109228765e-04f, -4.133984561e-04f, -4.158731854e-04f,
+-4.183470602e-04f, -4.208200760e-04f, -4.232922289e-04f, -4.257635145e-04f, -4.282339286e-04f, -4.307034669e-04f, -4.331721254e-04f, -4.356398996e-04f, -4.381067855e-04f, -4.405727788e-04f,
+-4.430378753e-04f, -4.455020708e-04f, -4.479653611e-04f, -4.504277419e-04f, -4.528892091e-04f, -4.553497584e-04f, -4.578093857e-04f, -4.602680868e-04f, -4.627258574e-04f, -4.651826933e-04f,
+-4.676385905e-04f, -4.700935446e-04f, -4.725475514e-04f, -4.750006069e-04f, -4.774527067e-04f, -4.799038468e-04f, -4.823540229e-04f, -4.848032308e-04f, -4.872514664e-04f, -4.896987255e-04f,
+-4.921450039e-04f, -4.945902975e-04f, -4.970346020e-04f, -4.994779133e-04f, -5.019202272e-04f, -5.043615396e-04f, -5.068018463e-04f, -5.092411431e-04f, -5.116794259e-04f, -5.141166905e-04f,
+-5.165529327e-04f, -5.189881485e-04f, -5.214223335e-04f, -5.238554838e-04f, -5.262875952e-04f, -5.287186634e-04f, -5.311486844e-04f, -5.335776540e-04f, -5.360055680e-04f, -5.384324224e-04f,
+-5.408582130e-04f, -5.432829357e-04f, -5.457065863e-04f, -5.481291607e-04f, -5.505506547e-04f, -5.529710643e-04f, -5.553903854e-04f, -5.578086137e-04f, -5.602257452e-04f, -5.626417757e-04f,
+-5.650567012e-04f, -5.674705176e-04f, -5.698832206e-04f, -5.722948063e-04f, -5.747052705e-04f, -5.771146090e-04f, -5.795228179e-04f, -5.819298930e-04f, -5.843358301e-04f, -5.867406253e-04f,
+-5.891442743e-04f, -5.915467732e-04f, -5.939481178e-04f, -5.963483041e-04f, -5.987473279e-04f, -6.011451851e-04f, -6.035418718e-04f, -6.059373838e-04f, -6.083317170e-04f, -6.107248673e-04f,
+-6.131168308e-04f, -6.155076033e-04f, -6.178971807e-04f, -6.202855590e-04f, -6.226727342e-04f, -6.250587021e-04f, -6.274434587e-04f, -6.298270000e-04f, -6.322093219e-04f, -6.345904203e-04f,
+-6.369702912e-04f, -6.393489306e-04f, -6.417263344e-04f, -6.441024985e-04f, -6.464774190e-04f, -6.488510918e-04f, -6.512235128e-04f, -6.535946781e-04f, -6.559645836e-04f, -6.583332252e-04f,
+-6.607005990e-04f, -6.630667009e-04f, -6.654315269e-04f, -6.677950730e-04f, -6.701573351e-04f, -6.725183094e-04f, -6.748779916e-04f, -6.772363779e-04f, -6.795934643e-04f, -6.819492466e-04f,
+-6.843037210e-04f, -6.866568835e-04f, -6.890087300e-04f, -6.913592565e-04f, -6.937084591e-04f, -6.960563337e-04f, -6.984028764e-04f, -7.007480833e-04f, -7.030919502e-04f, -7.054344733e-04f,
+-7.077756485e-04f, -7.101154720e-04f, -7.124539396e-04f, -7.147910476e-04f, -7.171267918e-04f, -7.194611683e-04f, -7.217941732e-04f, -7.241258025e-04f, -7.264560523e-04f, -7.287849186e-04f,
+-7.311123974e-04f, -7.334384848e-04f, -7.357631770e-04f, -7.380864698e-04f, -7.404083594e-04f, -7.427288418e-04f, -7.450479132e-04f, -7.473655696e-04f, -7.496818070e-04f, -7.519966215e-04f,
+-7.543100092e-04f, -7.566219663e-04f, -7.589324887e-04f, -7.612415725e-04f, -7.635492139e-04f, -7.658554089e-04f, -7.681601536e-04f, -7.704634442e-04f, -7.727652767e-04f, -7.750656472e-04f,
+-7.773645518e-04f, -7.796619866e-04f, -7.819579478e-04f, -7.842524315e-04f, -7.865454337e-04f, -7.888369506e-04f, -7.911269783e-04f, -7.934155129e-04f, -7.957025506e-04f, -7.979880875e-04f,
+-8.002721197e-04f, -8.025546433e-04f, -8.048356546e-04f, -8.071151495e-04f, -8.093931244e-04f, -8.116695753e-04f, -8.139444983e-04f, -8.162178896e-04f, -8.184897455e-04f, -8.207600619e-04f,
+-8.230288352e-04f, -8.252960614e-04f, -8.275617367e-04f, -8.298258573e-04f, -8.320884194e-04f, -8.343494191e-04f, -8.366088526e-04f, -8.388667162e-04f, -8.411230059e-04f, -8.433777180e-04f,
+-8.456308486e-04f, -8.478823940e-04f, -8.501323503e-04f, -8.523807137e-04f, -8.546274805e-04f, -8.568726469e-04f, -8.591162090e-04f, -8.613581631e-04f, -8.635985053e-04f, -8.658372320e-04f,
+-8.680743392e-04f, -8.703098233e-04f, -8.725436804e-04f, -8.747759069e-04f, -8.770064988e-04f, -8.792354525e-04f, -8.814627642e-04f, -8.836884302e-04f, -8.859124466e-04f, -8.881348097e-04f,
+-8.903555158e-04f, -8.925745611e-04f, -8.947919419e-04f, -8.970076544e-04f, -8.992216949e-04f, -9.014340597e-04f, -9.036447451e-04f, -9.058537472e-04f, -9.080610624e-04f, -9.102666870e-04f,
+-9.124706172e-04f, -9.146728493e-04f, -9.168733796e-04f, -9.190722044e-04f, -9.212693200e-04f, -9.234647227e-04f, -9.256584088e-04f, -9.278503745e-04f, -9.300406163e-04f, -9.322291303e-04f,
+-9.344159130e-04f, -9.366009606e-04f, -9.387842694e-04f, -9.409658359e-04f, -9.431456562e-04f, -9.453237267e-04f, -9.475000438e-04f, -9.496746037e-04f, -9.518474029e-04f, -9.540184377e-04f,
+-9.561877043e-04f, -9.583551993e-04f, -9.605209188e-04f, -9.626848593e-04f, -9.648470171e-04f, -9.670073886e-04f, -9.691659702e-04f, -9.713227582e-04f, -9.734777489e-04f, -9.756309388e-04f,
+-9.777823243e-04f, -9.799319016e-04f, -9.820796673e-04f, -9.842256176e-04f, -9.863697490e-04f, -9.885120579e-04f, -9.906525407e-04f, -9.927911937e-04f, -9.949280134e-04f, -9.970629961e-04f,
+-9.991961384e-04f, -1.001327437e-03f, -1.003456887e-03f, -1.005584486e-03f, -1.007710231e-03f, -1.009834117e-03f, -1.011956141e-03f, -1.014076299e-03f, -1.016194589e-03f, -1.018311005e-03f,
+-1.020425546e-03f, -1.022538206e-03f, -1.024648984e-03f, -1.026757874e-03f, -1.028864875e-03f, -1.030969981e-03f, -1.033073189e-03f, -1.035174497e-03f, -1.037273900e-03f, -1.039371395e-03f,
+-1.041466979e-03f, -1.043560647e-03f, -1.045652397e-03f, -1.047742225e-03f, -1.049830127e-03f, -1.051916100e-03f, -1.054000140e-03f, -1.056082245e-03f, -1.058162409e-03f, -1.060240631e-03f,
+-1.062316906e-03f, -1.064391230e-03f, -1.066463602e-03f, -1.068534016e-03f, -1.070602470e-03f, -1.072668959e-03f, -1.074733482e-03f, -1.076796033e-03f, -1.078856610e-03f, -1.080915209e-03f,
+-1.082971827e-03f, -1.085026461e-03f, -1.087079106e-03f, -1.089129760e-03f, -1.091178418e-03f, -1.093225078e-03f, -1.095269737e-03f, -1.097312390e-03f, -1.099353034e-03f, -1.101391666e-03f,
+-1.103428283e-03f, -1.105462880e-03f, -1.107495456e-03f, -1.109526005e-03f, -1.111554526e-03f, -1.113581013e-03f, -1.115605465e-03f, -1.117627878e-03f, -1.119648248e-03f, -1.121666571e-03f,
+-1.123682846e-03f, -1.125697067e-03f, -1.127709232e-03f, -1.129719338e-03f, -1.131727380e-03f, -1.133733357e-03f, -1.135737263e-03f, -1.137739097e-03f, -1.139738854e-03f, -1.141736532e-03f,
+-1.143732127e-03f, -1.145725635e-03f, -1.147717053e-03f, -1.149706379e-03f, -1.151693608e-03f, -1.153678738e-03f, -1.155661764e-03f, -1.157642684e-03f, -1.159621495e-03f, -1.161598193e-03f,
+-1.163572774e-03f, -1.165545236e-03f, -1.167515576e-03f, -1.169483789e-03f, -1.171449872e-03f, -1.173413823e-03f, -1.175375639e-03f, -1.177335315e-03f, -1.179292848e-03f, -1.181248236e-03f,
+-1.183201475e-03f, -1.185152561e-03f, -1.187101492e-03f, -1.189048264e-03f, -1.190992874e-03f, -1.192935319e-03f, -1.194875596e-03f, -1.196813701e-03f, -1.198749630e-03f, -1.200683382e-03f,
+-1.202614952e-03f, -1.204544338e-03f, -1.206471535e-03f, -1.208396542e-03f, -1.210319354e-03f, -1.212239969e-03f, -1.214158384e-03f, -1.216074594e-03f, -1.217988597e-03f, -1.219900391e-03f,
+-1.221809970e-03f, -1.223717333e-03f, -1.225622477e-03f, -1.227525397e-03f, -1.229426092e-03f, -1.231324557e-03f, -1.233220789e-03f, -1.235114786e-03f, -1.237006545e-03f, -1.238896061e-03f,
+-1.240783332e-03f, -1.242668356e-03f, -1.244551128e-03f, -1.246431645e-03f, -1.248309905e-03f, -1.250185904e-03f, -1.252059640e-03f, -1.253931108e-03f, -1.255800307e-03f, -1.257667232e-03f,
+-1.259531881e-03f, -1.261394251e-03f, -1.263254339e-03f, -1.265112141e-03f, -1.266967654e-03f, -1.268820876e-03f, -1.270671803e-03f, -1.272520432e-03f, -1.274366760e-03f, -1.276210784e-03f,
+-1.278052501e-03f, -1.279891908e-03f, -1.281729002e-03f, -1.283563780e-03f, -1.285396239e-03f, -1.287226375e-03f, -1.289054186e-03f, -1.290879669e-03f, -1.292702820e-03f, -1.294523637e-03f,
+-1.296342117e-03f, -1.298158256e-03f, -1.299972052e-03f, -1.301783501e-03f, -1.303592601e-03f, -1.305399348e-03f, -1.307203740e-03f, -1.309005774e-03f, -1.310805446e-03f, -1.312602754e-03f,
+-1.314397694e-03f, -1.316190264e-03f, -1.317980461e-03f, -1.319768282e-03f, -1.321553723e-03f, -1.323336782e-03f, -1.325117456e-03f, -1.326895742e-03f, -1.328671637e-03f, -1.330445138e-03f,
+-1.332216242e-03f, -1.333984947e-03f, -1.335751248e-03f, -1.337515144e-03f, -1.339276631e-03f, -1.341035707e-03f, -1.342792369e-03f, -1.344546613e-03f, -1.346298437e-03f, -1.348047837e-03f,
+-1.349794812e-03f, -1.351539358e-03f, -1.353281472e-03f, -1.355021152e-03f, -1.356758394e-03f, -1.358493196e-03f, -1.360225554e-03f, -1.361955467e-03f, -1.363682930e-03f, -1.365407941e-03f,
+-1.367130498e-03f, -1.368850598e-03f, -1.370568237e-03f, -1.372283413e-03f, -1.373996123e-03f, -1.375706364e-03f, -1.377414133e-03f, -1.379119428e-03f, -1.380822246e-03f, -1.382522584e-03f,
+-1.384220438e-03f, -1.385915808e-03f, -1.387608688e-03f, -1.389299077e-03f, -1.390986973e-03f, -1.392672371e-03f, -1.394355270e-03f, -1.396035667e-03f, -1.397713558e-03f, -1.399388942e-03f,
+-1.401061814e-03f, -1.402732174e-03f, -1.404400017e-03f, -1.406065341e-03f, -1.407728144e-03f, -1.409388422e-03f, -1.411046173e-03f, -1.412701395e-03f, -1.414354084e-03f, -1.416004237e-03f,
+-1.417651853e-03f, -1.419296927e-03f, -1.420939459e-03f, -1.422579444e-03f, -1.424216881e-03f, -1.425851766e-03f, -1.427484096e-03f, -1.429113870e-03f, -1.430741085e-03f, -1.432365737e-03f,
+-1.433987824e-03f, -1.435607344e-03f, -1.437224294e-03f, -1.438838671e-03f, -1.440450472e-03f, -1.442059695e-03f, -1.443666338e-03f, -1.445270397e-03f, -1.446871869e-03f, -1.448470754e-03f,
+-1.450067047e-03f, -1.451660746e-03f, -1.453251848e-03f, -1.454840352e-03f, -1.456426253e-03f, -1.458009551e-03f, -1.459590241e-03f, -1.461168322e-03f, -1.462743791e-03f, -1.464316645e-03f,
+-1.465886882e-03f, -1.467454499e-03f, -1.469019494e-03f, -1.470581864e-03f, -1.472141606e-03f, -1.473698718e-03f, -1.475253198e-03f, -1.476805042e-03f, -1.478354249e-03f, -1.479900816e-03f,
+-1.481444740e-03f, -1.482986018e-03f, -1.484524649e-03f, -1.486060629e-03f, -1.487593957e-03f, -1.489124630e-03f, -1.490652644e-03f, -1.492177998e-03f, -1.493700690e-03f, -1.495220716e-03f,
+-1.496738075e-03f, -1.498252763e-03f, -1.499764778e-03f, -1.501274119e-03f, -1.502780781e-03f, -1.504284764e-03f, -1.505786064e-03f, -1.507284679e-03f, -1.508780607e-03f, -1.510273844e-03f,
+-1.511764390e-03f, -1.513252241e-03f, -1.514737394e-03f, -1.516219848e-03f, -1.517699600e-03f, -1.519176648e-03f, -1.520650989e-03f, -1.522122620e-03f, -1.523591540e-03f, -1.525057746e-03f,
+-1.526521236e-03f, -1.527982007e-03f, -1.529440056e-03f, -1.530895383e-03f, -1.532347983e-03f, -1.533797855e-03f, -1.535244997e-03f, -1.536689405e-03f, -1.538131079e-03f, -1.539570015e-03f,
+-1.541006210e-03f, -1.542439664e-03f, -1.543870373e-03f, -1.545298335e-03f, -1.546723548e-03f, -1.548146009e-03f, -1.549565716e-03f, -1.550982667e-03f, -1.552396860e-03f, -1.553808292e-03f,
+-1.555216960e-03f, -1.556622864e-03f, -1.558026000e-03f, -1.559426366e-03f, -1.560823959e-03f, -1.562218779e-03f, -1.563610822e-03f, -1.565000085e-03f, -1.566386568e-03f, -1.567770267e-03f,
+-1.569151181e-03f, -1.570529306e-03f, -1.571904642e-03f, -1.573277185e-03f, -1.574646933e-03f, -1.576013885e-03f, -1.577378038e-03f, -1.578739390e-03f, -1.580097938e-03f, -1.581453681e-03f,
+-1.582806616e-03f, -1.584156740e-03f, -1.585504053e-03f, -1.586848552e-03f, -1.588190234e-03f, -1.589529097e-03f, -1.590865140e-03f, -1.592198359e-03f, -1.593528754e-03f, -1.594856321e-03f,
+-1.596181059e-03f, -1.597502965e-03f, -1.598822038e-03f, -1.600138275e-03f, -1.601451674e-03f, -1.602762233e-03f, -1.604069949e-03f, -1.605374822e-03f, -1.606676848e-03f, -1.607976026e-03f,
+-1.609272354e-03f, -1.610565828e-03f, -1.611856449e-03f, -1.613144212e-03f, -1.614429117e-03f, -1.615711160e-03f, -1.616990341e-03f, -1.618266657e-03f, -1.619540106e-03f, -1.620810685e-03f,
+-1.622078394e-03f, -1.623343229e-03f, -1.624605189e-03f, -1.625864272e-03f, -1.627120476e-03f, -1.628373799e-03f, -1.629624238e-03f, -1.630871792e-03f, -1.632116459e-03f, -1.633358237e-03f,
+-1.634597123e-03f, -1.635833116e-03f, -1.637066214e-03f, -1.638296415e-03f, -1.639523717e-03f, -1.640748118e-03f, -1.641969615e-03f, -1.643188208e-03f, -1.644403894e-03f, -1.645616671e-03f,
+-1.646826537e-03f, -1.648033490e-03f, -1.649237529e-03f, -1.650438651e-03f, -1.651636854e-03f, -1.652832137e-03f, -1.654024498e-03f, -1.655213935e-03f, -1.656400445e-03f, -1.657584027e-03f,
+-1.658764680e-03f, -1.659942401e-03f, -1.661117188e-03f, -1.662289040e-03f, -1.663457954e-03f, -1.664623929e-03f, -1.665786963e-03f, -1.666947054e-03f, -1.668104200e-03f, -1.669258400e-03f,
+-1.670409651e-03f, -1.671557952e-03f, -1.672703300e-03f, -1.673845695e-03f, -1.674985134e-03f, -1.676121616e-03f, -1.677255138e-03f, -1.678385699e-03f, -1.679513297e-03f, -1.680637931e-03f,
+-1.681759598e-03f, -1.682878296e-03f, -1.683994025e-03f, -1.685106782e-03f, -1.686216565e-03f, -1.687323373e-03f, -1.688427204e-03f, -1.689528056e-03f, -1.690625927e-03f, -1.691720817e-03f,
+-1.692812722e-03f, -1.693901641e-03f, -1.694987573e-03f, -1.696070516e-03f, -1.697150468e-03f, -1.698227428e-03f, -1.699301393e-03f, -1.700372362e-03f, -1.701440333e-03f, -1.702505306e-03f,
+-1.703567277e-03f, -1.704626245e-03f, -1.705682209e-03f, -1.706735168e-03f, -1.707785118e-03f, -1.708832059e-03f, -1.709875989e-03f, -1.710916907e-03f, -1.711954810e-03f, -1.712989698e-03f,
+-1.714021568e-03f, -1.715050419e-03f, -1.716076249e-03f, -1.717099057e-03f, -1.718118841e-03f, -1.719135600e-03f, -1.720149331e-03f, -1.721160034e-03f, -1.722167707e-03f, -1.723172347e-03f,
+-1.724173955e-03f, -1.725172527e-03f, -1.726168063e-03f, -1.727160560e-03f, -1.728150019e-03f, -1.729136435e-03f, -1.730119810e-03f, -1.731100139e-03f, -1.732077424e-03f, -1.733051660e-03f,
+-1.734022848e-03f, -1.734990986e-03f, -1.735956072e-03f, -1.736918104e-03f, -1.737877082e-03f, -1.738833004e-03f, -1.739785867e-03f, -1.740735672e-03f, -1.741682415e-03f, -1.742626096e-03f,
+-1.743566714e-03f, -1.744504267e-03f, -1.745438753e-03f, -1.746370171e-03f, -1.747298519e-03f, -1.748223797e-03f, -1.749146002e-03f, -1.750065133e-03f, -1.750981190e-03f, -1.751894169e-03f,
+-1.752804071e-03f, -1.753710893e-03f, -1.754614634e-03f, -1.755515294e-03f, -1.756412869e-03f, -1.757307360e-03f, -1.758198764e-03f, -1.759087081e-03f, -1.759972308e-03f, -1.760854445e-03f,
+-1.761733491e-03f, -1.762609443e-03f, -1.763482300e-03f, -1.764352062e-03f, -1.765218727e-03f, -1.766082293e-03f, -1.766942759e-03f, -1.767800125e-03f, -1.768654387e-03f, -1.769505546e-03f,
+-1.770353600e-03f, -1.771198548e-03f, -1.772040388e-03f, -1.772879119e-03f, -1.773714740e-03f, -1.774547249e-03f, -1.775376646e-03f, -1.776202929e-03f, -1.777026096e-03f, -1.777846147e-03f,
+-1.778663080e-03f, -1.779476895e-03f, -1.780287589e-03f, -1.781095161e-03f, -1.781899611e-03f, -1.782700937e-03f, -1.783499138e-03f, -1.784294212e-03f, -1.785086159e-03f, -1.785874978e-03f,
+-1.786660666e-03f, -1.787443223e-03f, -1.788222648e-03f, -1.788998940e-03f, -1.789772097e-03f, -1.790542118e-03f, -1.791309002e-03f, -1.792072749e-03f, -1.792833356e-03f, -1.793590822e-03f,
+-1.794345147e-03f, -1.795096329e-03f, -1.795844368e-03f, -1.796589262e-03f, -1.797331009e-03f, -1.798069610e-03f, -1.798805062e-03f, -1.799537365e-03f, -1.800266518e-03f, -1.800992519e-03f,
+-1.801715368e-03f, -1.802435063e-03f, -1.803151603e-03f, -1.803864987e-03f, -1.804575215e-03f, -1.805282284e-03f, -1.805986195e-03f, -1.806686946e-03f, -1.807384535e-03f, -1.808078963e-03f,
+-1.808770228e-03f, -1.809458328e-03f, -1.810143263e-03f, -1.810825032e-03f, -1.811503634e-03f, -1.812179068e-03f, -1.812851333e-03f, -1.813520428e-03f, -1.814186351e-03f, -1.814849103e-03f,
+-1.815508681e-03f, -1.816165085e-03f, -1.816818315e-03f, -1.817468368e-03f, -1.818115245e-03f, -1.818758944e-03f, -1.819399464e-03f, -1.820036804e-03f, -1.820670964e-03f, -1.821301942e-03f,
+-1.821929738e-03f, -1.822554350e-03f, -1.823175779e-03f, -1.823794022e-03f, -1.824409079e-03f, -1.825020948e-03f, -1.825629631e-03f, -1.826235124e-03f, -1.826837428e-03f, -1.827436541e-03f,
+-1.828032464e-03f, -1.828625194e-03f, -1.829214731e-03f, -1.829801074e-03f, -1.830384222e-03f, -1.830964175e-03f, -1.831540932e-03f, -1.832114491e-03f, -1.832684853e-03f, -1.833252016e-03f,
+-1.833815979e-03f, -1.834376741e-03f, -1.834934303e-03f, -1.835488663e-03f, -1.836039819e-03f, -1.836587773e-03f, -1.837132522e-03f, -1.837674066e-03f, -1.838212404e-03f, -1.838747535e-03f,
+-1.839279460e-03f, -1.839808176e-03f, -1.840333683e-03f, -1.840855981e-03f, -1.841375069e-03f, -1.841890945e-03f, -1.842403610e-03f, -1.842913062e-03f, -1.843419302e-03f, -1.843922327e-03f,
+-1.844422138e-03f, -1.844918734e-03f, -1.845412114e-03f, -1.845902278e-03f, -1.846389224e-03f, -1.846872952e-03f, -1.847353462e-03f, -1.847830753e-03f, -1.848304824e-03f, -1.848775674e-03f,
+-1.849243303e-03f, -1.849707711e-03f, -1.850168896e-03f, -1.850626858e-03f, -1.851081596e-03f, -1.851533111e-03f, -1.851981400e-03f, -1.852426464e-03f, -1.852868302e-03f, -1.853306914e-03f,
+-1.853742298e-03f, -1.854174454e-03f, -1.854603383e-03f, -1.855029082e-03f, -1.855451552e-03f, -1.855870792e-03f, -1.856286801e-03f, -1.856699579e-03f, -1.857109126e-03f, -1.857515441e-03f,
+-1.857918522e-03f, -1.858318371e-03f, -1.858714986e-03f, -1.859108367e-03f, -1.859498513e-03f, -1.859885424e-03f, -1.860269099e-03f, -1.860649538e-03f, -1.861026740e-03f, -1.861400706e-03f,
+-1.861771433e-03f, -1.862138923e-03f, -1.862503174e-03f, -1.862864186e-03f, -1.863221958e-03f, -1.863576491e-03f, -1.863927784e-03f, -1.864275835e-03f, -1.864620646e-03f, -1.864962215e-03f,
+-1.865300542e-03f, -1.865635627e-03f, -1.865967469e-03f, -1.866296068e-03f, -1.866621423e-03f, -1.866943534e-03f, -1.867262401e-03f, -1.867578023e-03f, -1.867890400e-03f, -1.868199532e-03f,
+-1.868505418e-03f, -1.868808058e-03f, -1.869107451e-03f, -1.869403598e-03f, -1.869696497e-03f, -1.869986149e-03f, -1.870272553e-03f, -1.870555709e-03f, -1.870835617e-03f, -1.871112276e-03f,
+-1.871385686e-03f, -1.871655846e-03f, -1.871922757e-03f, -1.872186418e-03f, -1.872446829e-03f, -1.872703990e-03f, -1.872957899e-03f, -1.873208558e-03f, -1.873455966e-03f, -1.873700122e-03f,
+-1.873941026e-03f, -1.874178679e-03f, -1.874413079e-03f, -1.874644227e-03f, -1.874872122e-03f, -1.875096764e-03f, -1.875318154e-03f, -1.875536290e-03f, -1.875751173e-03f, -1.875962802e-03f,
+-1.876171177e-03f, -1.876376298e-03f, -1.876578165e-03f, -1.876776778e-03f, -1.876972136e-03f, -1.877164239e-03f, -1.877353088e-03f, -1.877538682e-03f, -1.877721020e-03f, -1.877900104e-03f,
+-1.878075932e-03f, -1.878248504e-03f, -1.878417821e-03f, -1.878583882e-03f, -1.878746687e-03f, -1.878906236e-03f, -1.879062530e-03f, -1.879215567e-03f, -1.879365348e-03f, -1.879511872e-03f,
+-1.879655141e-03f, -1.879795152e-03f, -1.879931908e-03f, -1.880065406e-03f, -1.880195648e-03f, -1.880322634e-03f, -1.880446363e-03f, -1.880566835e-03f, -1.880684050e-03f, -1.880798009e-03f,
+-1.880908710e-03f, -1.881016155e-03f, -1.881120343e-03f, -1.881221274e-03f, -1.881318949e-03f, -1.881413366e-03f, -1.881504527e-03f, -1.881592431e-03f, -1.881677079e-03f, -1.881758469e-03f,
+-1.881836603e-03f, -1.881911481e-03f, -1.881983102e-03f, -1.882051466e-03f, -1.882116574e-03f, -1.882178425e-03f, -1.882237020e-03f, -1.882292359e-03f, -1.882344442e-03f, -1.882393268e-03f,
+-1.882438839e-03f, -1.882481154e-03f, -1.882520213e-03f, -1.882556017e-03f, -1.882588564e-03f, -1.882617857e-03f, -1.882643894e-03f, -1.882666676e-03f, -1.882686203e-03f, -1.882702475e-03f,
+-1.882715493e-03f, -1.882725256e-03f, -1.882731765e-03f, -1.882735019e-03f, -1.882735019e-03f, -1.882731766e-03f, -1.882725258e-03f, -1.882715498e-03f, -1.882702484e-03f, -1.882686217e-03f,
+-1.882666697e-03f, -1.882643924e-03f, -1.882617899e-03f, -1.882588621e-03f, -1.882556092e-03f, -1.882520311e-03f, -1.882481278e-03f, -1.882438994e-03f, -1.882393459e-03f, -1.882344674e-03f,
+-1.882292638e-03f, -1.882237351e-03f, -1.882178815e-03f, -1.882117029e-03f, -1.882051993e-03f, -1.881983709e-03f, -1.881912175e-03f, -1.881837393e-03f, -1.881759363e-03f, -1.881678085e-03f,
+-1.881593560e-03f, -1.881505787e-03f, -1.881414768e-03f, -1.881320501e-03f, -1.881222989e-03f, -1.881122231e-03f, -1.881018227e-03f, -1.880910978e-03f, -1.880800484e-03f, -1.880686746e-03f,
+-1.880569764e-03f, -1.880449538e-03f, -1.880326068e-03f, -1.880199356e-03f, -1.880069402e-03f, -1.879936205e-03f, -1.879799767e-03f, -1.879660087e-03f, -1.879517166e-03f, -1.879371006e-03f,
+-1.879221605e-03f, -1.879068964e-03f, -1.878913085e-03f, -1.878753966e-03f, -1.878591610e-03f, -1.878426016e-03f, -1.878257184e-03f, -1.878085116e-03f, -1.877909811e-03f, -1.877731271e-03f,
+-1.877549495e-03f, -1.877364484e-03f, -1.877176239e-03f, -1.876984760e-03f, -1.876790047e-03f, -1.876592102e-03f, -1.876390924e-03f, -1.876186515e-03f, -1.875978874e-03f, -1.875768003e-03f,
+-1.875553901e-03f, -1.875336570e-03f, -1.875116010e-03f, -1.874892221e-03f, -1.874665204e-03f, -1.874434960e-03f, -1.874201488e-03f, -1.873964791e-03f, -1.873724868e-03f, -1.873481720e-03f,
+-1.873235348e-03f, -1.872985751e-03f, -1.872732931e-03f, -1.872476889e-03f, -1.872217625e-03f, -1.871955139e-03f, -1.871689433e-03f, -1.871420506e-03f, -1.871148360e-03f, -1.870872995e-03f,
+-1.870594412e-03f, -1.870312612e-03f, -1.870027594e-03f, -1.869739361e-03f, -1.869447912e-03f, -1.869153248e-03f, -1.868855369e-03f, -1.868554278e-03f, -1.868249974e-03f, -1.867942457e-03f,
+-1.867631730e-03f, -1.867317791e-03f, -1.867000643e-03f, -1.866680286e-03f, -1.866356720e-03f, -1.866029946e-03f, -1.865699966e-03f, -1.865366779e-03f, -1.865030387e-03f, -1.864690790e-03f,
+-1.864347989e-03f, -1.864001985e-03f, -1.863652778e-03f, -1.863300370e-03f, -1.862944761e-03f, -1.862585952e-03f, -1.862223944e-03f, -1.861858737e-03f, -1.861490333e-03f, -1.861118732e-03f,
+-1.860743934e-03f, -1.860365942e-03f, -1.859984755e-03f, -1.859600375e-03f, -1.859212802e-03f, -1.858822037e-03f, -1.858428081e-03f, -1.858030936e-03f, -1.857630600e-03f, -1.857227077e-03f,
+-1.856820366e-03f, -1.856410468e-03f, -1.855997385e-03f, -1.855581116e-03f, -1.855161664e-03f, -1.854739028e-03f, -1.854313211e-03f, -1.853884212e-03f, -1.853452033e-03f, -1.853016674e-03f,
+-1.852578137e-03f, -1.852136423e-03f, -1.851691531e-03f, -1.851243464e-03f, -1.850792223e-03f, -1.850337807e-03f, -1.849880219e-03f, -1.849419459e-03f, -1.848955528e-03f, -1.848488427e-03f,
+-1.848018157e-03f, -1.847544720e-03f, -1.847068115e-03f, -1.846588345e-03f, -1.846105409e-03f, -1.845619310e-03f, -1.845130047e-03f, -1.844637623e-03f, -1.844142038e-03f, -1.843643293e-03f,
+-1.843141390e-03f, -1.842636328e-03f, -1.842128110e-03f, -1.841616736e-03f, -1.841102208e-03f, -1.840584526e-03f, -1.840063692e-03f, -1.839539706e-03f, -1.839012570e-03f, -1.838482285e-03f,
+-1.837948851e-03f, -1.837412271e-03f, -1.836872545e-03f, -1.836329673e-03f, -1.835783659e-03f, -1.835234501e-03f, -1.834682202e-03f, -1.834126763e-03f, -1.833568184e-03f, -1.833006468e-03f,
+-1.832441614e-03f, -1.831873625e-03f, -1.831302501e-03f, -1.830728243e-03f, -1.830150854e-03f, -1.829570333e-03f, -1.828986682e-03f, -1.828399902e-03f, -1.827809995e-03f, -1.827216962e-03f,
+-1.826620803e-03f, -1.826021520e-03f, -1.825419115e-03f, -1.824813587e-03f, -1.824204940e-03f, -1.823593173e-03f, -1.822978289e-03f, -1.822360288e-03f, -1.821739171e-03f, -1.821114940e-03f,
+-1.820487597e-03f, -1.819857141e-03f, -1.819223576e-03f, -1.818586901e-03f, -1.817947118e-03f, -1.817304228e-03f, -1.816658234e-03f, -1.816009135e-03f, -1.815356934e-03f, -1.814701631e-03f,
+-1.814043228e-03f, -1.813381726e-03f, -1.812717127e-03f, -1.812049431e-03f, -1.811378641e-03f, -1.810704757e-03f, -1.810027781e-03f, -1.809347714e-03f, -1.808664557e-03f, -1.807978312e-03f,
+-1.807288981e-03f, -1.806596564e-03f, -1.805901063e-03f, -1.805202480e-03f, -1.804500815e-03f, -1.803796070e-03f, -1.803088246e-03f, -1.802377346e-03f, -1.801663369e-03f, -1.800946319e-03f,
+-1.800226195e-03f, -1.799503000e-03f, -1.798776734e-03f, -1.798047400e-03f, -1.797314999e-03f, -1.796579532e-03f, -1.795841001e-03f, -1.795099406e-03f, -1.794354750e-03f, -1.793607035e-03f,
+-1.792856260e-03f, -1.792102429e-03f, -1.791345541e-03f, -1.790585600e-03f, -1.789822606e-03f, -1.789056561e-03f, -1.788287466e-03f, -1.787515323e-03f, -1.786740133e-03f, -1.785961898e-03f,
+-1.785180619e-03f, -1.784396299e-03f, -1.783608937e-03f, -1.782818537e-03f, -1.782025099e-03f, -1.781228625e-03f, -1.780429116e-03f, -1.779626575e-03f, -1.778821002e-03f, -1.778012399e-03f,
+-1.777200768e-03f, -1.776386110e-03f, -1.775568428e-03f, -1.774747722e-03f, -1.773923993e-03f, -1.773097245e-03f, -1.772267477e-03f, -1.771434693e-03f, -1.770598893e-03f, -1.769760079e-03f,
+-1.768918253e-03f, -1.768073416e-03f, -1.767225570e-03f, -1.766374716e-03f, -1.765520857e-03f, -1.764663994e-03f, -1.763804128e-03f, -1.762941261e-03f, -1.762075395e-03f, -1.761206531e-03f,
+-1.760334672e-03f, -1.759459818e-03f, -1.758581972e-03f, -1.757701135e-03f, -1.756817309e-03f, -1.755930495e-03f, -1.755040696e-03f, -1.754147912e-03f, -1.753252147e-03f, -1.752353400e-03f,
+-1.751451675e-03f, -1.750546972e-03f, -1.749639294e-03f, -1.748728642e-03f, -1.747815018e-03f, -1.746898424e-03f, -1.745978862e-03f, -1.745056332e-03f, -1.744130838e-03f, -1.743202381e-03f,
+-1.742270961e-03f, -1.741336583e-03f, -1.740399246e-03f, -1.739458953e-03f, -1.738515706e-03f, -1.737569507e-03f, -1.736620356e-03f, -1.735668257e-03f, -1.734713210e-03f, -1.733755218e-03f,
+-1.732794283e-03f, -1.731830406e-03f, -1.730863589e-03f, -1.729893834e-03f, -1.728921143e-03f, -1.727945518e-03f, -1.726966960e-03f, -1.725985471e-03f, -1.725001054e-03f, -1.724013710e-03f,
+-1.723023440e-03f, -1.722030248e-03f, -1.721034134e-03f, -1.720035101e-03f, -1.719033150e-03f, -1.718028284e-03f, -1.717020504e-03f, -1.716009812e-03f, -1.714996210e-03f, -1.713979700e-03f,
+-1.712960284e-03f, -1.711937964e-03f, -1.710912742e-03f, -1.709884619e-03f, -1.708853598e-03f, -1.707819680e-03f, -1.706782868e-03f, -1.705743164e-03f, -1.704700569e-03f, -1.703655085e-03f,
+-1.702606715e-03f, -1.701555460e-03f, -1.700501322e-03f, -1.699444303e-03f, -1.698384406e-03f, -1.697321632e-03f, -1.696255983e-03f, -1.695187462e-03f, -1.694116070e-03f, -1.693041809e-03f,
+-1.691964681e-03f, -1.690884689e-03f, -1.689801834e-03f, -1.688716118e-03f, -1.687627544e-03f, -1.686536113e-03f, -1.685441828e-03f, -1.684344690e-03f, -1.683244702e-03f, -1.682141865e-03f,
+-1.681036183e-03f, -1.679927655e-03f, -1.678816286e-03f, -1.677702077e-03f, -1.676585029e-03f, -1.675465146e-03f, -1.674342429e-03f, -1.673216880e-03f, -1.672088502e-03f, -1.670957296e-03f,
+-1.669823265e-03f, -1.668686410e-03f, -1.667546734e-03f, -1.666404240e-03f, -1.665258928e-03f, -1.664110801e-03f, -1.662959862e-03f, -1.661806113e-03f, -1.660649555e-03f, -1.659490191e-03f,
+-1.658328023e-03f, -1.657163053e-03f, -1.655995283e-03f, -1.654824716e-03f, -1.653651353e-03f, -1.652475198e-03f, -1.651296251e-03f, -1.650114516e-03f, -1.648929994e-03f, -1.647742687e-03f,
+-1.646552599e-03f, -1.645359730e-03f, -1.644164084e-03f, -1.642965662e-03f, -1.641764467e-03f, -1.640560501e-03f, -1.639353766e-03f, -1.638144264e-03f, -1.636931998e-03f, -1.635716970e-03f,
+-1.634499182e-03f, -1.633278636e-03f, -1.632055336e-03f, -1.630829282e-03f, -1.629600477e-03f, -1.628368924e-03f, -1.627134624e-03f, -1.625897581e-03f, -1.624657795e-03f, -1.623415271e-03f,
+-1.622170009e-03f, -1.620922013e-03f, -1.619671284e-03f, -1.618417825e-03f, -1.617161638e-03f, -1.615902726e-03f, -1.614641090e-03f, -1.613376734e-03f, -1.612109659e-03f, -1.610839868e-03f,
+-1.609567363e-03f, -1.608292147e-03f, -1.607014221e-03f, -1.605733589e-03f, -1.604450252e-03f, -1.603164214e-03f, -1.601875475e-03f, -1.600584040e-03f, -1.599289909e-03f, -1.597993086e-03f,
+-1.596693573e-03f, -1.595391372e-03f, -1.594086485e-03f, -1.592778916e-03f, -1.591468666e-03f, -1.590155738e-03f, -1.588840135e-03f, -1.587521858e-03f, -1.586200910e-03f, -1.584877294e-03f,
+-1.583551012e-03f, -1.582222066e-03f, -1.580890459e-03f, -1.579556194e-03f, -1.578219272e-03f, -1.576879697e-03f, -1.575537470e-03f, -1.574192595e-03f, -1.572845073e-03f, -1.571494907e-03f,
+-1.570142100e-03f, -1.568786654e-03f, -1.567428572e-03f, -1.566067856e-03f, -1.564704508e-03f, -1.563338531e-03f, -1.561969928e-03f, -1.560598702e-03f, -1.559224853e-03f, -1.557848386e-03f,
+-1.556469302e-03f, -1.555087605e-03f, -1.553703296e-03f, -1.552316379e-03f, -1.550926855e-03f, -1.549534728e-03f, -1.548140000e-03f, -1.546742673e-03f, -1.545342750e-03f, -1.543940234e-03f,
+-1.542535126e-03f, -1.541127431e-03f, -1.539717150e-03f, -1.538304285e-03f, -1.536888840e-03f, -1.535470818e-03f, -1.534050219e-03f, -1.532627048e-03f, -1.531201307e-03f, -1.529772998e-03f,
+-1.528342125e-03f, -1.526908689e-03f, -1.525472693e-03f, -1.524034140e-03f, -1.522593033e-03f, -1.521149374e-03f, -1.519703165e-03f, -1.518254410e-03f, -1.516803111e-03f, -1.515349271e-03f,
+-1.513892893e-03f, -1.512433978e-03f, -1.510972530e-03f, -1.509508551e-03f, -1.508042045e-03f, -1.506573013e-03f, -1.505101459e-03f, -1.503627384e-03f, -1.502150793e-03f, -1.500671687e-03f,
+-1.499190069e-03f, -1.497705942e-03f, -1.496219308e-03f, -1.494730171e-03f, -1.493238533e-03f, -1.491744396e-03f, -1.490247764e-03f, -1.488748639e-03f, -1.487247024e-03f, -1.485742921e-03f,
+-1.484236334e-03f, -1.482727265e-03f, -1.481215716e-03f, -1.479701692e-03f, -1.478185193e-03f, -1.476666224e-03f, -1.475144787e-03f, -1.473620884e-03f, -1.472094518e-03f, -1.470565693e-03f,
+-1.469034411e-03f, -1.467500674e-03f, -1.465964486e-03f, -1.464425849e-03f, -1.462884766e-03f, -1.461341241e-03f, -1.459795274e-03f, -1.458246871e-03f, -1.456696033e-03f, -1.455142762e-03f,
+-1.453587063e-03f, -1.452028938e-03f, -1.450468389e-03f, -1.448905419e-03f, -1.447340032e-03f, -1.445772230e-03f, -1.444202016e-03f, -1.442629393e-03f, -1.441054363e-03f, -1.439476930e-03f,
+-1.437897096e-03f, -1.436314865e-03f, -1.434730238e-03f, -1.433143220e-03f, -1.431553812e-03f, -1.429962018e-03f, -1.428367841e-03f, -1.426771283e-03f, -1.425172347e-03f, -1.423571037e-03f,
+-1.421967355e-03f, -1.420361304e-03f, -1.418752887e-03f, -1.417142107e-03f, -1.415528967e-03f, -1.413913470e-03f, -1.412295618e-03f, -1.410675414e-03f, -1.409052863e-03f, -1.407427965e-03f,
+-1.405800725e-03f, -1.404171146e-03f, -1.402539229e-03f, -1.400904979e-03f, -1.399268398e-03f, -1.397629490e-03f, -1.395988256e-03f, -1.394344700e-03f, -1.392698826e-03f, -1.391050635e-03f,
+-1.389400131e-03f, -1.387747318e-03f, -1.386092197e-03f, -1.384434772e-03f, -1.382775046e-03f, -1.381113022e-03f, -1.379448703e-03f, -1.377782092e-03f, -1.376113192e-03f, -1.374442006e-03f,
+-1.372768536e-03f, -1.371092787e-03f, -1.369414761e-03f, -1.367734460e-03f, -1.366051889e-03f, -1.364367050e-03f, -1.362679946e-03f, -1.360990580e-03f, -1.359298955e-03f, -1.357605075e-03f,
+-1.355908942e-03f, -1.354210559e-03f, -1.352509930e-03f, -1.350807057e-03f, -1.349101944e-03f, -1.347394593e-03f, -1.345685009e-03f, -1.343973193e-03f, -1.342259148e-03f, -1.340542879e-03f,
+-1.338824388e-03f, -1.337103678e-03f, -1.335380752e-03f, -1.333655613e-03f, -1.331928265e-03f, -1.330198711e-03f, -1.328466953e-03f, -1.326732995e-03f, -1.324996840e-03f, -1.323258490e-03f,
+-1.321517950e-03f, -1.319775223e-03f, -1.318030310e-03f, -1.316283216e-03f, -1.314533944e-03f, -1.312782497e-03f, -1.311028878e-03f, -1.309273089e-03f, -1.307515135e-03f, -1.305755019e-03f,
+-1.303992743e-03f, -1.302228311e-03f, -1.300461726e-03f, -1.298692990e-03f, -1.296922109e-03f, -1.295149083e-03f, -1.293373917e-03f, -1.291596615e-03f, -1.289817178e-03f, -1.288035610e-03f,
+-1.286251915e-03f, -1.284466095e-03f, -1.282678154e-03f, -1.280888095e-03f, -1.279095922e-03f, -1.277301637e-03f, -1.275505243e-03f, -1.273706745e-03f, -1.271906144e-03f, -1.270103445e-03f,
+-1.268298651e-03f, -1.266491764e-03f, -1.264682788e-03f, -1.262871727e-03f, -1.261058583e-03f, -1.259243360e-03f, -1.257426061e-03f, -1.255606689e-03f, -1.253785248e-03f, -1.251961741e-03f,
+-1.250136171e-03f, -1.248308541e-03f, -1.246478855e-03f, -1.244647115e-03f, -1.242813326e-03f, -1.240977490e-03f, -1.239139611e-03f, -1.237299692e-03f, -1.235457737e-03f, -1.233613748e-03f,
+-1.231767729e-03f, -1.229919683e-03f, -1.228069614e-03f, -1.226217525e-03f, -1.224363418e-03f, -1.222507299e-03f, -1.220649169e-03f, -1.218789032e-03f, -1.216926891e-03f, -1.215062751e-03f,
+-1.213196613e-03f, -1.211328482e-03f, -1.209458361e-03f, -1.207586253e-03f, -1.205712161e-03f, -1.203836089e-03f, -1.201958041e-03f, -1.200078019e-03f, -1.198196026e-03f, -1.196312067e-03f,
+-1.194426145e-03f, -1.192538263e-03f, -1.190648424e-03f, -1.188756631e-03f, -1.186862889e-03f, -1.184967201e-03f, -1.183069569e-03f, -1.181169997e-03f, -1.179268489e-03f, -1.177365048e-03f,
+-1.175459678e-03f, -1.173552381e-03f, -1.171643162e-03f, -1.169732023e-03f, -1.167818969e-03f, -1.165904002e-03f, -1.163987126e-03f, -1.162068344e-03f, -1.160147659e-03f, -1.158225076e-03f,
+-1.156300598e-03f, -1.154374228e-03f, -1.152445969e-03f, -1.150515825e-03f, -1.148583799e-03f, -1.146649895e-03f, -1.144714116e-03f, -1.142776466e-03f, -1.140836948e-03f, -1.138895566e-03f,
+-1.136952322e-03f, -1.135007222e-03f, -1.133060267e-03f, -1.131111461e-03f, -1.129160809e-03f, -1.127208313e-03f, -1.125253976e-03f, -1.123297803e-03f, -1.121339797e-03f, -1.119379961e-03f,
+-1.117418299e-03f, -1.115454814e-03f, -1.113489510e-03f, -1.111522391e-03f, -1.109553459e-03f, -1.107582718e-03f, -1.105610172e-03f, -1.103635824e-03f, -1.101659679e-03f, -1.099681738e-03f,
+-1.097702007e-03f, -1.095720487e-03f, -1.093737184e-03f, -1.091752100e-03f, -1.089765239e-03f, -1.087776604e-03f, -1.085786200e-03f, -1.083794029e-03f, -1.081800095e-03f, -1.079804402e-03f,
+-1.077806952e-03f, -1.075807751e-03f, -1.073806801e-03f, -1.071804106e-03f, -1.069799669e-03f, -1.067793494e-03f, -1.065785585e-03f, -1.063775944e-03f, -1.061764577e-03f, -1.059751485e-03f,
+-1.057736674e-03f, -1.055720145e-03f, -1.053701904e-03f, -1.051681954e-03f, -1.049660297e-03f, -1.047636938e-03f, -1.045611881e-03f, -1.043585128e-03f, -1.041556684e-03f, -1.039526552e-03f,
+-1.037494735e-03f, -1.035461238e-03f, -1.033426064e-03f, -1.031389217e-03f, -1.029350699e-03f, -1.027310516e-03f, -1.025268669e-03f, -1.023225164e-03f, -1.021180003e-03f, -1.019133191e-03f,
+-1.017084730e-03f, -1.015034625e-03f, -1.012982879e-03f, -1.010929496e-03f, -1.008874480e-03f, -1.006817833e-03f, -1.004759560e-03f, -1.002699665e-03f, -1.000638150e-03f, -9.985750201e-04f,
+-9.965102785e-04f, -9.944439289e-04f, -9.923759749e-04f, -9.903064202e-04f, -9.882352685e-04f, -9.861625235e-04f, -9.840881887e-04f, -9.820122679e-04f, -9.799347647e-04f, -9.778556829e-04f,
+-9.757750261e-04f, -9.736927980e-04f, -9.716090023e-04f, -9.695236426e-04f, -9.674367227e-04f, -9.653482463e-04f, -9.632582170e-04f, -9.611666385e-04f, -9.590735146e-04f, -9.569788490e-04f,
+-9.548826453e-04f, -9.527849073e-04f, -9.506856386e-04f, -9.485848431e-04f, -9.464825244e-04f, -9.443786861e-04f, -9.422733322e-04f, -9.401664662e-04f, -9.380580919e-04f, -9.359482130e-04f,
+-9.338368333e-04f, -9.317239564e-04f, -9.296095862e-04f, -9.274937263e-04f, -9.253763806e-04f, -9.232575526e-04f, -9.211372463e-04f, -9.190154653e-04f, -9.168922133e-04f, -9.147674942e-04f,
+-9.126413117e-04f, -9.105136695e-04f, -9.083845714e-04f, -9.062540212e-04f, -9.041220226e-04f, -9.019885794e-04f, -8.998536953e-04f, -8.977173742e-04f, -8.955796197e-04f, -8.934404358e-04f,
+-8.912998261e-04f, -8.891577944e-04f, -8.870143445e-04f, -8.848694802e-04f, -8.827232053e-04f, -8.805755236e-04f, -8.784264388e-04f, -8.762759547e-04f, -8.741240752e-04f, -8.719708041e-04f,
+-8.698161451e-04f, -8.676601020e-04f, -8.655026787e-04f, -8.633438789e-04f, -8.611837064e-04f, -8.590221652e-04f, -8.568592589e-04f, -8.546949914e-04f, -8.525293665e-04f, -8.503623880e-04f,
+-8.481940598e-04f, -8.460243857e-04f, -8.438533694e-04f, -8.416810149e-04f, -8.395073259e-04f, -8.373323063e-04f, -8.351559600e-04f, -8.329782906e-04f, -8.307993022e-04f, -8.286189985e-04f,
+-8.264373833e-04f, -8.242544606e-04f, -8.220702341e-04f, -8.198847077e-04f, -8.176978853e-04f, -8.155097707e-04f, -8.133203678e-04f, -8.111296803e-04f, -8.089377123e-04f, -8.067444674e-04f,
+-8.045499497e-04f, -8.023541629e-04f, -8.001571110e-04f, -7.979587977e-04f, -7.957592270e-04f, -7.935584027e-04f, -7.913563288e-04f, -7.891530090e-04f, -7.869484473e-04f, -7.847426475e-04f,
+-7.825356135e-04f, -7.803273492e-04f, -7.781178586e-04f, -7.759071454e-04f, -7.736952135e-04f, -7.714820670e-04f, -7.692677095e-04f, -7.670521451e-04f, -7.648353777e-04f, -7.626174111e-04f,
+-7.603982492e-04f, -7.581778959e-04f, -7.559563552e-04f, -7.537336310e-04f, -7.515097271e-04f, -7.492846475e-04f, -7.470583960e-04f, -7.448309766e-04f, -7.426023933e-04f, -7.403726498e-04f,
+-7.381417502e-04f, -7.359096984e-04f, -7.336764982e-04f, -7.314421537e-04f, -7.292066686e-04f, -7.269700471e-04f, -7.247322929e-04f, -7.224934100e-04f, -7.202534024e-04f, -7.180122740e-04f,
+-7.157700286e-04f, -7.135266704e-04f, -7.112822031e-04f, -7.090366308e-04f, -7.067899573e-04f, -7.045421867e-04f, -7.022933228e-04f, -7.000433697e-04f, -6.977923312e-04f, -6.955402114e-04f,
+-6.932870141e-04f, -6.910327433e-04f, -6.887774030e-04f, -6.865209972e-04f, -6.842635298e-04f, -6.820050047e-04f, -6.797454259e-04f, -6.774847974e-04f, -6.752231232e-04f, -6.729604072e-04f,
+-6.706966534e-04f, -6.684318657e-04f, -6.661660481e-04f, -6.638992047e-04f, -6.616313393e-04f, -6.593624560e-04f, -6.570925587e-04f, -6.548216515e-04f, -6.525497382e-04f, -6.502768229e-04f,
+-6.480029096e-04f, -6.457280022e-04f, -6.434521047e-04f, -6.411752212e-04f, -6.388973555e-04f, -6.366185118e-04f, -6.343386940e-04f, -6.320579060e-04f, -6.297761520e-04f, -6.274934358e-04f,
+-6.252097615e-04f, -6.229251331e-04f, -6.206395546e-04f, -6.183530300e-04f, -6.160655633e-04f, -6.137771584e-04f, -6.114878195e-04f, -6.091975505e-04f, -6.069063554e-04f, -6.046142383e-04f,
+-6.023212031e-04f, -6.000272538e-04f, -5.977323946e-04f, -5.954366293e-04f, -5.931399621e-04f, -5.908423969e-04f, -5.885439378e-04f, -5.862445887e-04f, -5.839443537e-04f, -5.816432369e-04f,
+-5.793412422e-04f, -5.770383737e-04f, -5.747346355e-04f, -5.724300314e-04f, -5.701245656e-04f, -5.678182422e-04f, -5.655110651e-04f, -5.632030383e-04f, -5.608941660e-04f, -5.585844521e-04f,
+-5.562739007e-04f, -5.539625158e-04f, -5.516503015e-04f, -5.493372618e-04f, -5.470234008e-04f, -5.447087224e-04f, -5.423932308e-04f, -5.400769300e-04f, -5.377598241e-04f, -5.354419170e-04f,
+-5.331232129e-04f, -5.308037158e-04f, -5.284834297e-04f, -5.261623587e-04f, -5.238405069e-04f, -5.215178783e-04f, -5.191944770e-04f, -5.168703070e-04f, -5.145453724e-04f, -5.122196773e-04f,
+-5.098932256e-04f, -5.075660216e-04f, -5.052380692e-04f, -5.029093725e-04f, -5.005799355e-04f, -4.982497624e-04f, -4.959188573e-04f, -4.935872241e-04f, -4.912548669e-04f, -4.889217899e-04f,
+-4.865879970e-04f, -4.842534925e-04f, -4.819182802e-04f, -4.795823644e-04f, -4.772457491e-04f, -4.749084384e-04f, -4.725704363e-04f, -4.702317469e-04f, -4.678923744e-04f, -4.655523227e-04f,
+-4.632115960e-04f, -4.608701984e-04f, -4.585281339e-04f, -4.561854066e-04f, -4.538420207e-04f, -4.514979802e-04f, -4.491532891e-04f, -4.468079516e-04f, -4.444619718e-04f, -4.421153538e-04f,
+-4.397681016e-04f, -4.374202193e-04f, -4.350717111e-04f, -4.327225810e-04f, -4.303728331e-04f, -4.280224715e-04f, -4.256715004e-04f, -4.233199238e-04f, -4.209677458e-04f, -4.186149705e-04f,
+-4.162616020e-04f, -4.139076444e-04f, -4.115531018e-04f, -4.091979784e-04f, -4.068422781e-04f, -4.044860052e-04f, -4.021291637e-04f, -3.997717578e-04f, -3.974137915e-04f, -3.950552689e-04f,
+-3.926961942e-04f, -3.903365714e-04f, -3.879764047e-04f, -3.856156982e-04f, -3.832544560e-04f, -3.808926822e-04f, -3.785303809e-04f, -3.761675562e-04f, -3.738042122e-04f, -3.714403531e-04f,
+-3.690759830e-04f, -3.667111060e-04f, -3.643457261e-04f, -3.619798476e-04f, -3.596134745e-04f, -3.572466109e-04f, -3.548792611e-04f, -3.525114290e-04f, -3.501431188e-04f, -3.477743346e-04f,
+-3.454050806e-04f, -3.430353608e-04f, -3.406651795e-04f, -3.382945406e-04f, -3.359234484e-04f, -3.335519069e-04f, -3.311799203e-04f, -3.288074928e-04f, -3.264346283e-04f, -3.240613312e-04f,
+-3.216876054e-04f, -3.193134551e-04f, -3.169388844e-04f, -3.145638975e-04f, -3.121884986e-04f, -3.098126916e-04f, -3.074364808e-04f, -3.050598703e-04f, -3.026828641e-04f, -3.003054666e-04f,
+-2.979276817e-04f, -2.955495136e-04f, -2.931709664e-04f, -2.907920443e-04f, -2.884127514e-04f, -2.860330919e-04f, -2.836530698e-04f, -2.812726893e-04f, -2.788919546e-04f, -2.765108697e-04f,
+-2.741294389e-04f, -2.717476661e-04f, -2.693655557e-04f, -2.669831117e-04f, -2.646003382e-04f, -2.622172394e-04f, -2.598338195e-04f, -2.574500825e-04f, -2.550660326e-04f, -2.526816739e-04f,
+-2.502970106e-04f, -2.479120469e-04f, -2.455267868e-04f, -2.431412345e-04f, -2.407553941e-04f, -2.383692698e-04f, -2.359828657e-04f, -2.335961860e-04f, -2.312092347e-04f, -2.288220161e-04f,
+-2.264345343e-04f, -2.240467934e-04f, -2.216587975e-04f, -2.192705509e-04f, -2.168820576e-04f, -2.144933218e-04f, -2.121043476e-04f, -2.097151392e-04f, -2.073257007e-04f, -2.049360363e-04f,
+-2.025461501e-04f, -2.001560462e-04f, -1.977657288e-04f, -1.953752020e-04f, -1.929844700e-04f, -1.905935369e-04f, -1.882024069e-04f, -1.858110841e-04f, -1.834195726e-04f, -1.810278766e-04f,
+-1.786360003e-04f, -1.762439478e-04f, -1.738517231e-04f, -1.714593306e-04f, -1.690667743e-04f, -1.666740583e-04f, -1.642811868e-04f, -1.618881640e-04f, -1.594949940e-04f, -1.571016809e-04f,
+-1.547082289e-04f, -1.523146422e-04f, -1.499209248e-04f, -1.475270809e-04f, -1.451331147e-04f, -1.427390303e-04f, -1.403448319e-04f, -1.379505235e-04f, -1.355561094e-04f, -1.331615937e-04f,
+-1.307669805e-04f, -1.283722740e-04f, -1.259774784e-04f, -1.235825976e-04f, -1.211876360e-04f, -1.187925977e-04f, -1.163974867e-04f, -1.140023073e-04f, -1.116070636e-04f, -1.092117597e-04f,
+-1.068163998e-04f, -1.044209880e-04f, -1.020255284e-04f, -9.963002529e-05f, -9.723448270e-05f, -9.483890479e-05f, -9.244329572e-05f, -9.004765963e-05f, -8.765200065e-05f, -8.525632293e-05f,
+-8.286063061e-05f, -8.046492784e-05f, -7.806921875e-05f, -7.567350749e-05f, -7.327779819e-05f, -7.088209501e-05f, -6.848640207e-05f, -6.609072352e-05f, -6.369506351e-05f, -6.129942616e-05f,
+-5.890381562e-05f, -5.650823603e-05f, -5.411269153e-05f, -5.171718625e-05f, -4.932172434e-05f, -4.692630993e-05f, -4.453094717e-05f, -4.213564018e-05f, -3.974039311e-05f, -3.734521009e-05f,
+-3.495009526e-05f, -3.255505275e-05f, -3.016008671e-05f, -2.776520126e-05f, -2.537040055e-05f, -2.297568870e-05f, -2.058106985e-05f, -1.818654814e-05f, -1.579212769e-05f, -1.339781265e-05f,
+-1.100360715e-05f, -8.609515306e-06f, -6.215541265e-06f, -3.821689154e-06f, -1.427963105e-06f, 9.656327529e-07f, 3.359094288e-06f, 5.752417372e-06f, 8.145597874e-06f, 1.053863167e-05f,
+1.293151462e-05f, 1.532424261e-05f, 1.771681151e-05f, 2.010921718e-05f, 2.250145551e-05f, 2.489352237e-05f, 2.728541363e-05f, 2.967712517e-05f, 3.206865286e-05f, 3.445999258e-05f,
+3.685114022e-05f, 3.924209163e-05f, 4.163284271e-05f, 4.402338933e-05f, 4.641372737e-05f, 4.880385271e-05f, 5.119376124e-05f, 5.358344882e-05f, 5.597291135e-05f, 5.836214470e-05f,
+6.075114477e-05f, 6.313990743e-05f, 6.552842856e-05f, 6.791670405e-05f, 7.030472979e-05f, 7.269250167e-05f, 7.508001556e-05f, 7.746726736e-05f, 7.985425296e-05f, 8.224096824e-05f,
+8.462740909e-05f, 8.701357141e-05f, 8.939945108e-05f, 9.178504400e-05f, 9.417034606e-05f, 9.655535315e-05f, 9.894006116e-05f, 1.013244660e-04f, 1.037085635e-04f, 1.060923497e-04f,
+1.084758204e-04f, 1.108589715e-04f, 1.132417988e-04f, 1.156242984e-04f, 1.180064661e-04f, 1.203882978e-04f, 1.227697894e-04f, 1.251509368e-04f, 1.275317359e-04f, 1.299121827e-04f,
+1.322922729e-04f, 1.346720026e-04f, 1.370513676e-04f, 1.394303639e-04f, 1.418089873e-04f, 1.441872337e-04f, 1.465650992e-04f, 1.489425795e-04f, 1.513196706e-04f, 1.536963684e-04f,
+1.560726688e-04f, 1.584485678e-04f, 1.608240612e-04f, 1.631991449e-04f, 1.655738150e-04f, 1.679480672e-04f, 1.703218976e-04f, 1.726953020e-04f, 1.750682763e-04f, 1.774408166e-04f,
+1.798129186e-04f, 1.821845784e-04f, 1.845557918e-04f, 1.869265548e-04f, 1.892968633e-04f, 1.916667133e-04f, 1.940361006e-04f, 1.964050212e-04f, 1.987734711e-04f, 2.011414461e-04f,
+2.035089421e-04f, 2.058759553e-04f, 2.082424813e-04f, 2.106085163e-04f, 2.129740561e-04f, 2.153390967e-04f, 2.177036340e-04f, 2.200676639e-04f, 2.224311825e-04f, 2.247941855e-04f,
+2.271566691e-04f, 2.295186291e-04f, 2.318800614e-04f, 2.342409621e-04f, 2.366013271e-04f, 2.389611523e-04f, 2.413204336e-04f, 2.436791671e-04f, 2.460373486e-04f, 2.483949742e-04f,
+2.507520398e-04f, 2.531085413e-04f, 2.554644747e-04f, 2.578198359e-04f, 2.601746210e-04f, 2.625288259e-04f, 2.648824465e-04f, 2.672354788e-04f, 2.695879188e-04f, 2.719397625e-04f,
+2.742910057e-04f, 2.766416446e-04f, 2.789916749e-04f, 2.813410928e-04f, 2.836898942e-04f, 2.860380751e-04f, 2.883856314e-04f, 2.907325591e-04f, 2.930788543e-04f, 2.954245128e-04f,
+2.977695306e-04f, 3.001139038e-04f, 3.024576283e-04f, 3.048007002e-04f, 3.071431153e-04f, 3.094848697e-04f, 3.118259594e-04f, 3.141663803e-04f, 3.165061285e-04f, 3.188452000e-04f,
+3.211835907e-04f, 3.235212966e-04f, 3.258583138e-04f, 3.281946381e-04f, 3.305302658e-04f, 3.328651926e-04f, 3.351994147e-04f, 3.375329280e-04f, 3.398657286e-04f, 3.421978125e-04f,
+3.445291756e-04f, 3.468598139e-04f, 3.491897236e-04f, 3.515189005e-04f, 3.538473408e-04f, 3.561750404e-04f, 3.585019953e-04f, 3.608282016e-04f, 3.631536553e-04f, 3.654783524e-04f,
+3.678022890e-04f, 3.701254610e-04f, 3.724478644e-04f, 3.747694954e-04f, 3.770903499e-04f, 3.794104240e-04f, 3.817297137e-04f, 3.840482151e-04f, 3.863659241e-04f, 3.886828369e-04f,
+3.909989494e-04f, 3.933142576e-04f, 3.956287578e-04f, 3.979424458e-04f, 4.002553177e-04f, 4.025673696e-04f, 4.048785975e-04f, 4.071889976e-04f, 4.094985657e-04f, 4.118072980e-04f,
+4.141151906e-04f, 4.164222394e-04f, 4.187284406e-04f, 4.210337902e-04f, 4.233382843e-04f, 4.256419189e-04f, 4.279446902e-04f, 4.302465941e-04f, 4.325476267e-04f, 4.348477842e-04f,
+4.371470626e-04f, 4.394454579e-04f, 4.417429662e-04f, 4.440395837e-04f, 4.463353064e-04f, 4.486301303e-04f, 4.509240516e-04f, 4.532170663e-04f, 4.555091706e-04f, 4.578003605e-04f,
+4.600906321e-04f, 4.623799815e-04f, 4.646684048e-04f, 4.669558981e-04f, 4.692424575e-04f, 4.715280790e-04f, 4.738127589e-04f, 4.760964931e-04f, 4.783792779e-04f, 4.806611092e-04f,
+4.829419833e-04f, 4.852218962e-04f, 4.875008440e-04f, 4.897788229e-04f, 4.920558290e-04f, 4.943318583e-04f, 4.966069070e-04f, 4.988809713e-04f, 5.011540472e-04f, 5.034261309e-04f,
+5.056972185e-04f, 5.079673061e-04f, 5.102363899e-04f, 5.125044660e-04f, 5.147715306e-04f, 5.170375797e-04f, 5.193026095e-04f, 5.215666162e-04f, 5.238295958e-04f, 5.260915446e-04f,
+5.283524587e-04f, 5.306123343e-04f, 5.328711674e-04f, 5.351289543e-04f, 5.373856910e-04f, 5.396413739e-04f, 5.418959989e-04f, 5.441495623e-04f, 5.464020603e-04f, 5.486534890e-04f,
+5.509038445e-04f, 5.531531231e-04f, 5.554013209e-04f, 5.576484341e-04f, 5.598944588e-04f, 5.621393913e-04f, 5.643832277e-04f, 5.666259643e-04f, 5.688675971e-04f, 5.711081224e-04f,
+5.733475364e-04f, 5.755858352e-04f, 5.778230150e-04f, 5.800590722e-04f, 5.822940027e-04f, 5.845278029e-04f, 5.867604689e-04f, 5.889919970e-04f, 5.912223834e-04f, 5.934516242e-04f,
+5.956797156e-04f, 5.979066540e-04f, 6.001324354e-04f, 6.023570562e-04f, 6.045805125e-04f, 6.068028006e-04f, 6.090239166e-04f, 6.112438568e-04f, 6.134626175e-04f, 6.156801948e-04f,
+6.178965850e-04f, 6.201117844e-04f, 6.223257891e-04f, 6.245385955e-04f, 6.267501996e-04f, 6.289605979e-04f, 6.311697865e-04f, 6.333777617e-04f, 6.355845197e-04f, 6.377900569e-04f,
+6.399943693e-04f, 6.421974534e-04f, 6.443993053e-04f, 6.465999214e-04f, 6.487992979e-04f, 6.509974310e-04f, 6.531943170e-04f, 6.553899522e-04f, 6.575843330e-04f, 6.597774554e-04f,
+6.619693159e-04f, 6.641599107e-04f, 6.663492361e-04f, 6.685372884e-04f, 6.707240638e-04f, 6.729095587e-04f, 6.750937694e-04f, 6.772766921e-04f, 6.794583231e-04f, 6.816386589e-04f,
+6.838176955e-04f, 6.859954294e-04f, 6.881718569e-04f, 6.903469742e-04f, 6.925207778e-04f, 6.946932638e-04f, 6.968644287e-04f, 6.990342687e-04f, 7.012027802e-04f, 7.033699594e-04f,
+7.055358028e-04f, 7.077003066e-04f, 7.098634672e-04f, 7.120252810e-04f, 7.141857441e-04f, 7.163448531e-04f, 7.185026042e-04f, 7.206589938e-04f, 7.228140183e-04f, 7.249676739e-04f,
+7.271199570e-04f, 7.292708641e-04f, 7.314203914e-04f, 7.335685353e-04f, 7.357152922e-04f, 7.378606584e-04f, 7.400046303e-04f, 7.421472044e-04f, 7.442883768e-04f, 7.464281441e-04f,
+7.485665027e-04f, 7.507034488e-04f, 7.528389789e-04f, 7.549730893e-04f, 7.571057765e-04f, 7.592370369e-04f, 7.613668668e-04f, 7.634952627e-04f, 7.656222209e-04f, 7.677477378e-04f,
+7.698718099e-04f, 7.719944336e-04f, 7.741156052e-04f, 7.762353212e-04f, 7.783535780e-04f, 7.804703720e-04f, 7.825856997e-04f, 7.846995575e-04f, 7.868119417e-04f, 7.889228489e-04f,
+7.910322754e-04f, 7.931402178e-04f, 7.952466724e-04f, 7.973516356e-04f, 7.994551040e-04f, 8.015570739e-04f, 8.036575419e-04f, 8.057565043e-04f, 8.078539577e-04f, 8.099498984e-04f,
+8.120443230e-04f, 8.141372279e-04f, 8.162286096e-04f, 8.183184645e-04f, 8.204067891e-04f, 8.224935800e-04f, 8.245788335e-04f, 8.266625461e-04f, 8.287447144e-04f, 8.308253348e-04f,
+8.329044039e-04f, 8.349819180e-04f, 8.370578737e-04f, 8.391322676e-04f, 8.412050960e-04f, 8.432763555e-04f, 8.453460427e-04f, 8.474141540e-04f, 8.494806859e-04f, 8.515456349e-04f,
+8.536089976e-04f, 8.556707706e-04f, 8.577309502e-04f, 8.597895330e-04f, 8.618465157e-04f, 8.639018946e-04f, 8.659556664e-04f, 8.680078275e-04f, 8.700583746e-04f, 8.721073042e-04f,
+8.741546127e-04f, 8.762002969e-04f, 8.782443531e-04f, 8.802867780e-04f, 8.823275682e-04f, 8.843667202e-04f, 8.864042305e-04f, 8.884400958e-04f, 8.904743126e-04f, 8.925068774e-04f,
+8.945377869e-04f, 8.965670377e-04f, 8.985946263e-04f, 9.006205493e-04f, 9.026448034e-04f, 9.046673850e-04f, 9.066882908e-04f, 9.087075174e-04f, 9.107250614e-04f, 9.127409194e-04f,
+9.147550881e-04f, 9.167675639e-04f, 9.187783437e-04f, 9.207874238e-04f, 9.227948011e-04f, 9.248004720e-04f, 9.268044333e-04f, 9.288066816e-04f, 9.308072134e-04f, 9.328060255e-04f,
+9.348031145e-04f, 9.367984770e-04f, 9.387921097e-04f, 9.407840092e-04f, 9.427741721e-04f, 9.447625952e-04f, 9.467492751e-04f, 9.487342084e-04f, 9.507173919e-04f, 9.526988221e-04f,
+9.546784958e-04f, 9.566564096e-04f, 9.586325602e-04f, 9.606069444e-04f, 9.625795587e-04f, 9.645503999e-04f, 9.665194646e-04f, 9.684867496e-04f, 9.704522515e-04f, 9.724159671e-04f,
+9.743778931e-04f, 9.763380261e-04f, 9.782963629e-04f, 9.802529003e-04f, 9.822076348e-04f, 9.841605632e-04f, 9.861116823e-04f, 9.880609888e-04f, 9.900084794e-04f, 9.919541509e-04f,
+9.938980000e-04f, 9.958400234e-04f, 9.977802178e-04f, 9.997185801e-04f, 1.001655107e-03f, 1.003589795e-03f, 1.005522641e-03f, 1.007453643e-03f, 1.009382795e-03f, 1.011310096e-03f,
+1.013235543e-03f, 1.015159131e-03f, 1.017080858e-03f, 1.019000720e-03f, 1.020918715e-03f, 1.022834839e-03f, 1.024749088e-03f, 1.026661460e-03f, 1.028571952e-03f, 1.030480560e-03f,
+1.032387281e-03f, 1.034292112e-03f, 1.036195049e-03f, 1.038096090e-03f, 1.039995232e-03f, 1.041892470e-03f, 1.043787803e-03f, 1.045681226e-03f, 1.047572737e-03f, 1.049462332e-03f,
+1.051350009e-03f, 1.053235763e-03f, 1.055119593e-03f, 1.057001495e-03f, 1.058881465e-03f, 1.060759501e-03f, 1.062635599e-03f, 1.064509756e-03f, 1.066381970e-03f, 1.068252237e-03f,
+1.070120553e-03f, 1.071986917e-03f, 1.073851324e-03f, 1.075713771e-03f, 1.077574256e-03f, 1.079432775e-03f, 1.081289326e-03f, 1.083143905e-03f, 1.084996508e-03f, 1.086847134e-03f,
+1.088695778e-03f, 1.090542438e-03f, 1.092387111e-03f, 1.094229794e-03f, 1.096070483e-03f, 1.097909175e-03f, 1.099745868e-03f, 1.101580558e-03f, 1.103413243e-03f, 1.105243918e-03f,
+1.107072582e-03f, 1.108899231e-03f, 1.110723862e-03f, 1.112546472e-03f, 1.114367058e-03f, 1.116185616e-03f, 1.118002145e-03f, 1.119816641e-03f, 1.121629100e-03f, 1.123439521e-03f,
+1.125247899e-03f, 1.127054232e-03f, 1.128858517e-03f, 1.130660750e-03f, 1.132460930e-03f, 1.134259052e-03f, 1.136055114e-03f, 1.137849113e-03f, 1.139641045e-03f, 1.141430909e-03f,
+1.143218700e-03f, 1.145004417e-03f, 1.146788055e-03f, 1.148569612e-03f, 1.150349085e-03f, 1.152126471e-03f, 1.153901767e-03f, 1.155674971e-03f, 1.157446078e-03f, 1.159215087e-03f,
+1.160981994e-03f, 1.162746797e-03f, 1.164509491e-03f, 1.166270076e-03f, 1.168028547e-03f, 1.169784901e-03f, 1.171539136e-03f, 1.173291249e-03f, 1.175041237e-03f, 1.176789097e-03f,
+1.178534826e-03f, 1.180278421e-03f, 1.182019880e-03f, 1.183759199e-03f, 1.185496375e-03f, 1.187231406e-03f, 1.188964289e-03f, 1.190695020e-03f, 1.192423598e-03f, 1.194150019e-03f,
+1.195874280e-03f, 1.197596378e-03f, 1.199316311e-03f, 1.201034076e-03f, 1.202749669e-03f, 1.204463089e-03f, 1.206174332e-03f, 1.207883395e-03f, 1.209590275e-03f, 1.211294970e-03f,
+1.212997477e-03f, 1.214697793e-03f, 1.216395915e-03f, 1.218091841e-03f, 1.219785567e-03f, 1.221477091e-03f, 1.223166410e-03f, 1.224853521e-03f, 1.226538422e-03f, 1.228221109e-03f,
+1.229901580e-03f, 1.231579831e-03f, 1.233255862e-03f, 1.234929667e-03f, 1.236601246e-03f, 1.238270594e-03f, 1.239937709e-03f, 1.241602589e-03f, 1.243265231e-03f, 1.244925631e-03f,
+1.246583787e-03f, 1.248239697e-03f, 1.249893358e-03f, 1.251544767e-03f, 1.253193921e-03f, 1.254840817e-03f, 1.256485453e-03f, 1.258127826e-03f, 1.259767934e-03f, 1.261405773e-03f,
+1.263041341e-03f, 1.264674636e-03f, 1.266305654e-03f, 1.267934392e-03f, 1.269560849e-03f, 1.271185022e-03f, 1.272806907e-03f, 1.274426502e-03f, 1.276043805e-03f, 1.277658812e-03f,
+1.279271522e-03f, 1.280881931e-03f, 1.282490037e-03f, 1.284095837e-03f, 1.285699328e-03f, 1.287300508e-03f, 1.288899375e-03f, 1.290495925e-03f, 1.292090156e-03f, 1.293682066e-03f,
+1.295271651e-03f, 1.296858909e-03f, 1.298443837e-03f, 1.300026434e-03f, 1.301606696e-03f, 1.303184620e-03f, 1.304760204e-03f, 1.306333446e-03f, 1.307904343e-03f, 1.309472892e-03f,
+1.311039091e-03f, 1.312602937e-03f, 1.314164427e-03f, 1.315723559e-03f, 1.317280331e-03f, 1.318834740e-03f, 1.320386783e-03f, 1.321936457e-03f, 1.323483761e-03f, 1.325028692e-03f,
+1.326571247e-03f, 1.328111423e-03f, 1.329649218e-03f, 1.331184630e-03f, 1.332717656e-03f, 1.334248293e-03f, 1.335776540e-03f, 1.337302393e-03f, 1.338825849e-03f, 1.340346908e-03f,
+1.341865565e-03f, 1.343381819e-03f, 1.344895666e-03f, 1.346407106e-03f, 1.347916134e-03f, 1.349422749e-03f, 1.350926947e-03f, 1.352428728e-03f, 1.353928088e-03f, 1.355425024e-03f,
+1.356919535e-03f, 1.358411617e-03f, 1.359901269e-03f, 1.361388488e-03f, 1.362873271e-03f, 1.364355616e-03f, 1.365835521e-03f, 1.367312983e-03f, 1.368788000e-03f, 1.370260569e-03f,
+1.371730688e-03f, 1.373198355e-03f, 1.374663567e-03f, 1.376126321e-03f, 1.377586616e-03f, 1.379044449e-03f, 1.380499818e-03f, 1.381952720e-03f, 1.383403153e-03f, 1.384851114e-03f,
+1.386296601e-03f, 1.387739612e-03f, 1.389180144e-03f, 1.390618196e-03f, 1.392053764e-03f, 1.393486846e-03f, 1.394917441e-03f, 1.396345545e-03f, 1.397771156e-03f, 1.399194273e-03f,
+1.400614892e-03f, 1.402033011e-03f, 1.403448629e-03f, 1.404861742e-03f, 1.406272349e-03f, 1.407680447e-03f, 1.409086034e-03f, 1.410489108e-03f, 1.411889665e-03f, 1.413287705e-03f,
+1.414683224e-03f, 1.416076221e-03f, 1.417466693e-03f, 1.418854638e-03f, 1.420240054e-03f, 1.421622938e-03f, 1.423003288e-03f, 1.424381103e-03f, 1.425756379e-03f, 1.427129114e-03f,
+1.428499306e-03f, 1.429866954e-03f, 1.431232054e-03f, 1.432594605e-03f, 1.433954604e-03f, 1.435312049e-03f, 1.436666938e-03f, 1.438019269e-03f, 1.439369040e-03f, 1.440716248e-03f,
+1.442060890e-03f, 1.443402966e-03f, 1.444742473e-03f, 1.446079408e-03f, 1.447413770e-03f, 1.448745556e-03f, 1.450074764e-03f, 1.451401392e-03f, 1.452725438e-03f, 1.454046899e-03f,
+1.455365774e-03f, 1.456682061e-03f, 1.457995757e-03f, 1.459306859e-03f, 1.460615367e-03f, 1.461921278e-03f, 1.463224590e-03f, 1.464525300e-03f, 1.465823407e-03f, 1.467118908e-03f,
+1.468411802e-03f, 1.469702086e-03f, 1.470989758e-03f, 1.472274816e-03f, 1.473557259e-03f, 1.474837083e-03f, 1.476114287e-03f, 1.477388869e-03f, 1.478660827e-03f, 1.479930159e-03f,
+1.481196862e-03f, 1.482460935e-03f, 1.483722376e-03f, 1.484981182e-03f, 1.486237352e-03f, 1.487490883e-03f, 1.488741773e-03f, 1.489990022e-03f, 1.491235625e-03f, 1.492478582e-03f,
+1.493718891e-03f, 1.494956549e-03f, 1.496191555e-03f, 1.497423906e-03f, 1.498653600e-03f, 1.499880636e-03f, 1.501105012e-03f, 1.502326725e-03f, 1.503545774e-03f, 1.504762157e-03f,
+1.505975871e-03f, 1.507186915e-03f, 1.508395287e-03f, 1.509600984e-03f, 1.510804006e-03f, 1.512004350e-03f, 1.513202013e-03f, 1.514396995e-03f, 1.515589293e-03f, 1.516778906e-03f,
+1.517965831e-03f, 1.519150066e-03f, 1.520331610e-03f, 1.521510461e-03f, 1.522686617e-03f, 1.523860075e-03f, 1.525030835e-03f, 1.526198894e-03f, 1.527364250e-03f, 1.528526902e-03f,
+1.529686847e-03f, 1.530844084e-03f, 1.531998611e-03f, 1.533150427e-03f, 1.534299528e-03f, 1.535445914e-03f, 1.536589582e-03f, 1.537730531e-03f, 1.538868759e-03f, 1.540004264e-03f,
+1.541137044e-03f, 1.542267098e-03f, 1.543394424e-03f, 1.544519019e-03f, 1.545640883e-03f, 1.546760013e-03f, 1.547876407e-03f, 1.548990064e-03f, 1.550100982e-03f, 1.551209159e-03f,
+1.552314594e-03f, 1.553417285e-03f, 1.554517229e-03f, 1.555614425e-03f, 1.556708872e-03f, 1.557800568e-03f, 1.558889511e-03f, 1.559975699e-03f, 1.561059130e-03f, 1.562139803e-03f,
+1.563217716e-03f, 1.564292868e-03f, 1.565365256e-03f, 1.566434880e-03f, 1.567501736e-03f, 1.568565824e-03f, 1.569627142e-03f, 1.570685688e-03f, 1.571741461e-03f, 1.572794459e-03f,
+1.573844680e-03f, 1.574892122e-03f, 1.575936784e-03f, 1.576978665e-03f, 1.578017762e-03f, 1.579054074e-03f, 1.580087599e-03f, 1.581118336e-03f, 1.582146283e-03f, 1.583171439e-03f,
+1.584193801e-03f, 1.585213368e-03f, 1.586230140e-03f, 1.587244113e-03f, 1.588255286e-03f, 1.589263658e-03f, 1.590269228e-03f, 1.591271993e-03f, 1.592271952e-03f, 1.593269104e-03f,
+1.594263446e-03f, 1.595254978e-03f, 1.596243698e-03f, 1.597229604e-03f, 1.598212695e-03f, 1.599192969e-03f, 1.600170424e-03f, 1.601145060e-03f, 1.602116874e-03f, 1.603085865e-03f,
+1.604052031e-03f, 1.605015372e-03f, 1.605975885e-03f, 1.606933569e-03f, 1.607888423e-03f, 1.608840445e-03f, 1.609789633e-03f, 1.610735986e-03f, 1.611679503e-03f, 1.612620181e-03f,
+1.613558021e-03f, 1.614493019e-03f, 1.615425175e-03f, 1.616354488e-03f, 1.617280955e-03f, 1.618204576e-03f, 1.619125348e-03f, 1.620043271e-03f, 1.620958343e-03f, 1.621870563e-03f,
+1.622779929e-03f, 1.623686439e-03f, 1.624590093e-03f, 1.625490889e-03f, 1.626388826e-03f, 1.627283902e-03f, 1.628176115e-03f, 1.629065465e-03f, 1.629951950e-03f, 1.630835569e-03f,
+1.631716320e-03f, 1.632594202e-03f, 1.633469213e-03f, 1.634341353e-03f, 1.635210619e-03f, 1.636077011e-03f, 1.636940528e-03f, 1.637801167e-03f, 1.638658928e-03f, 1.639513809e-03f,
+1.640365808e-03f, 1.641214926e-03f, 1.642061159e-03f, 1.642904508e-03f, 1.643744970e-03f, 1.644582545e-03f, 1.645417231e-03f, 1.646249026e-03f, 1.647077931e-03f, 1.647903942e-03f,
+1.648727059e-03f, 1.649547282e-03f, 1.650364607e-03f, 1.651179035e-03f, 1.651990564e-03f, 1.652799192e-03f, 1.653604919e-03f, 1.654407744e-03f, 1.655207664e-03f, 1.656004679e-03f,
+1.656798788e-03f, 1.657589990e-03f, 1.658378282e-03f, 1.659163664e-03f, 1.659946136e-03f, 1.660725694e-03f, 1.661502340e-03f, 1.662276070e-03f, 1.663046885e-03f, 1.663814782e-03f,
+1.664579761e-03f, 1.665341821e-03f, 1.666100960e-03f, 1.666857178e-03f, 1.667610472e-03f, 1.668360843e-03f, 1.669108288e-03f, 1.669852807e-03f, 1.670594399e-03f, 1.671333062e-03f,
+1.672068796e-03f, 1.672801598e-03f, 1.673531469e-03f, 1.674258407e-03f, 1.674982411e-03f, 1.675703480e-03f, 1.676421612e-03f, 1.677136808e-03f, 1.677849065e-03f, 1.678558382e-03f,
+1.679264759e-03f, 1.679968195e-03f, 1.680668687e-03f, 1.681366237e-03f, 1.682060841e-03f, 1.682752500e-03f, 1.683441212e-03f, 1.684126976e-03f, 1.684809791e-03f, 1.685489657e-03f,
+1.686166572e-03f, 1.686840535e-03f, 1.687511545e-03f, 1.688179601e-03f, 1.688844702e-03f, 1.689506848e-03f, 1.690166037e-03f, 1.690822268e-03f, 1.691475540e-03f, 1.692125852e-03f,
+1.692773204e-03f, 1.693417594e-03f, 1.694059022e-03f, 1.694697486e-03f, 1.695332986e-03f, 1.695965520e-03f, 1.696595088e-03f, 1.697221689e-03f, 1.697845322e-03f, 1.698465986e-03f,
+1.699083679e-03f, 1.699698402e-03f, 1.700310153e-03f, 1.700918931e-03f, 1.701524736e-03f, 1.702127566e-03f, 1.702727421e-03f, 1.703324300e-03f, 1.703918202e-03f, 1.704509126e-03f,
+1.705097071e-03f, 1.705682036e-03f, 1.706264021e-03f, 1.706843025e-03f, 1.707419047e-03f, 1.707992085e-03f, 1.708562140e-03f, 1.709129210e-03f, 1.709693295e-03f, 1.710254394e-03f,
+1.710812505e-03f, 1.711367629e-03f, 1.711919764e-03f, 1.712468910e-03f, 1.713015065e-03f, 1.713558230e-03f, 1.714098402e-03f, 1.714635583e-03f, 1.715169770e-03f, 1.715700963e-03f,
+1.716229161e-03f, 1.716754363e-03f, 1.717276570e-03f, 1.717795779e-03f, 1.718311991e-03f, 1.718825204e-03f, 1.719335418e-03f, 1.719842632e-03f, 1.720346845e-03f, 1.720848057e-03f,
+1.721346267e-03f, 1.721841475e-03f, 1.722333679e-03f, 1.722822879e-03f, 1.723309074e-03f, 1.723792264e-03f, 1.724272447e-03f, 1.724749624e-03f, 1.725223794e-03f, 1.725694955e-03f,
+1.726163108e-03f, 1.726628251e-03f, 1.727090384e-03f, 1.727549507e-03f, 1.728005618e-03f, 1.728458718e-03f, 1.728908805e-03f, 1.729355879e-03f, 1.729799939e-03f, 1.730240985e-03f,
+1.730679016e-03f, 1.731114032e-03f, 1.731546031e-03f, 1.731975014e-03f, 1.732400980e-03f, 1.732823927e-03f, 1.733243857e-03f, 1.733660767e-03f, 1.734074659e-03f, 1.734485530e-03f,
+1.734893380e-03f, 1.735298209e-03f, 1.735700017e-03f, 1.736098803e-03f, 1.736494566e-03f, 1.736887306e-03f, 1.737277022e-03f, 1.737663714e-03f, 1.738047381e-03f, 1.738428023e-03f,
+1.738805639e-03f, 1.739180229e-03f, 1.739551792e-03f, 1.739920329e-03f, 1.740285838e-03f, 1.740648318e-03f, 1.741007770e-03f, 1.741364194e-03f, 1.741717587e-03f, 1.742067951e-03f,
+1.742415285e-03f, 1.742759588e-03f, 1.743100859e-03f, 1.743439100e-03f, 1.743774308e-03f, 1.744106484e-03f, 1.744435626e-03f, 1.744761736e-03f, 1.745084812e-03f, 1.745404855e-03f,
+1.745721862e-03f, 1.746035835e-03f, 1.746346773e-03f, 1.746654676e-03f, 1.746959542e-03f, 1.747261373e-03f, 1.747560166e-03f, 1.747855923e-03f, 1.748148643e-03f, 1.748438325e-03f,
+1.748724969e-03f, 1.749008575e-03f, 1.749289142e-03f, 1.749566670e-03f, 1.749841159e-03f, 1.750112609e-03f, 1.750381019e-03f, 1.750646388e-03f, 1.750908718e-03f, 1.751168006e-03f,
+1.751424254e-03f, 1.751677461e-03f, 1.751927626e-03f, 1.752174749e-03f, 1.752418830e-03f, 1.752659869e-03f, 1.752897865e-03f, 1.753132819e-03f, 1.753364730e-03f, 1.753593597e-03f,
+1.753819421e-03f, 1.754042201e-03f, 1.754261938e-03f, 1.754478630e-03f, 1.754692278e-03f, 1.754902882e-03f, 1.755110440e-03f, 1.755314954e-03f, 1.755516423e-03f, 1.755714847e-03f,
+1.755910225e-03f, 1.756102557e-03f, 1.756291844e-03f, 1.756478085e-03f, 1.756661280e-03f, 1.756841429e-03f, 1.757018531e-03f, 1.757192587e-03f, 1.757363596e-03f, 1.757531558e-03f,
+1.757696474e-03f, 1.757858342e-03f, 1.758017164e-03f, 1.758172938e-03f, 1.758325665e-03f, 1.758475345e-03f, 1.758621977e-03f, 1.758765561e-03f, 1.758906098e-03f, 1.759043587e-03f,
+1.759178029e-03f, 1.759309422e-03f, 1.759437768e-03f, 1.759563066e-03f, 1.759685315e-03f, 1.759804517e-03f, 1.759920670e-03f, 1.760033776e-03f, 1.760143833e-03f, 1.760250842e-03f,
+1.760354803e-03f, 1.760455716e-03f, 1.760553581e-03f, 1.760648397e-03f, 1.760740165e-03f, 1.760828885e-03f, 1.760914557e-03f, 1.760997181e-03f, 1.761076756e-03f, 1.761153284e-03f,
+1.761226764e-03f, 1.761297195e-03f, 1.761364579e-03f, 1.761428914e-03f, 1.761490202e-03f, 1.761548442e-03f, 1.761603635e-03f, 1.761655779e-03f, 1.761704877e-03f, 1.761750926e-03f,
+1.761793929e-03f, 1.761833884e-03f, 1.761870792e-03f, 1.761904653e-03f, 1.761935467e-03f, 1.761963234e-03f, 1.761987954e-03f, 1.762009628e-03f, 1.762028255e-03f, 1.762043836e-03f,
+1.762056371e-03f, 1.762065859e-03f, 1.762072302e-03f, 1.762075699e-03f, 1.762076051e-03f, 1.762073357e-03f, 1.762067618e-03f, 1.762058834e-03f, 1.762047005e-03f, 1.762032132e-03f,
+1.762014214e-03f, 1.761993251e-03f, 1.761969245e-03f, 1.761942195e-03f, 1.761912101e-03f, 1.761878964e-03f, 1.761842783e-03f, 1.761803560e-03f, 1.761761294e-03f, 1.761715985e-03f,
+1.761667634e-03f, 1.761616242e-03f, 1.761561807e-03f, 1.761504331e-03f, 1.761443814e-03f, 1.761380256e-03f, 1.761313658e-03f, 1.761244019e-03f, 1.761171340e-03f, 1.761095621e-03f,
+1.761016862e-03f, 1.760935065e-03f, 1.760850229e-03f, 1.760762354e-03f, 1.760671441e-03f, 1.760577490e-03f, 1.760480502e-03f, 1.760380476e-03f, 1.760277414e-03f, 1.760171315e-03f,
+1.760062180e-03f, 1.759950009e-03f, 1.759834802e-03f, 1.759716561e-03f, 1.759595285e-03f, 1.759470974e-03f, 1.759343630e-03f, 1.759213252e-03f, 1.759079841e-03f, 1.758943397e-03f,
+1.758803920e-03f, 1.758661412e-03f, 1.758515872e-03f, 1.758367301e-03f, 1.758215700e-03f, 1.758061068e-03f, 1.757903407e-03f, 1.757742716e-03f, 1.757578996e-03f, 1.757412247e-03f,
+1.757242471e-03f, 1.757069667e-03f, 1.756893836e-03f, 1.756714978e-03f, 1.756533094e-03f, 1.756348185e-03f, 1.756160250e-03f, 1.755969291e-03f, 1.755775307e-03f, 1.755578300e-03f,
+1.755378270e-03f, 1.755175217e-03f, 1.754969142e-03f, 1.754760045e-03f, 1.754547927e-03f, 1.754332789e-03f, 1.754114631e-03f, 1.753893453e-03f, 1.753669256e-03f, 1.753442041e-03f,
+1.753211808e-03f, 1.752978558e-03f, 1.752742292e-03f, 1.752503009e-03f, 1.752260711e-03f, 1.752015398e-03f, 1.751767070e-03f, 1.751515729e-03f, 1.751261375e-03f, 1.751004008e-03f,
+1.750743629e-03f, 1.750480239e-03f, 1.750213839e-03f, 1.749944428e-03f, 1.749672008e-03f, 1.749396579e-03f, 1.749118142e-03f, 1.748836698e-03f, 1.748552247e-03f, 1.748264789e-03f,
+1.747974326e-03f, 1.747680859e-03f, 1.747384387e-03f, 1.747084912e-03f, 1.746782434e-03f, 1.746476954e-03f, 1.746168472e-03f, 1.745856990e-03f, 1.745542508e-03f, 1.745225027e-03f,
+1.744904547e-03f, 1.744581069e-03f, 1.744254594e-03f, 1.743925123e-03f, 1.743592656e-03f, 1.743257194e-03f, 1.742918738e-03f, 1.742577289e-03f, 1.742232847e-03f, 1.741885413e-03f,
+1.741534988e-03f, 1.741181573e-03f, 1.740825168e-03f, 1.740465774e-03f, 1.740103393e-03f, 1.739738024e-03f, 1.739369669e-03f, 1.738998328e-03f, 1.738624002e-03f, 1.738246692e-03f,
+1.737866400e-03f, 1.737483125e-03f, 1.737096868e-03f, 1.736707631e-03f, 1.736315414e-03f, 1.735920217e-03f, 1.735522043e-03f, 1.735120892e-03f, 1.734716764e-03f, 1.734309660e-03f,
+1.733899582e-03f, 1.733486530e-03f, 1.733070505e-03f, 1.732651508e-03f, 1.732229540e-03f, 1.731804601e-03f, 1.731376693e-03f, 1.730945817e-03f, 1.730511973e-03f, 1.730075163e-03f,
+1.729635387e-03f, 1.729192646e-03f, 1.728746941e-03f, 1.728298273e-03f, 1.727846643e-03f, 1.727392052e-03f, 1.726934502e-03f, 1.726473992e-03f, 1.726010523e-03f, 1.725544098e-03f,
+1.725074716e-03f, 1.724602379e-03f, 1.724127088e-03f, 1.723648844e-03f, 1.723167647e-03f, 1.722683499e-03f, 1.722196401e-03f, 1.721706353e-03f, 1.721213357e-03f, 1.720717414e-03f,
+1.720218524e-03f, 1.719716690e-03f, 1.719211911e-03f, 1.718704189e-03f, 1.718193525e-03f, 1.717679920e-03f, 1.717163374e-03f, 1.716643890e-03f, 1.716121468e-03f, 1.715596109e-03f,
+1.715067815e-03f, 1.714536585e-03f, 1.714002422e-03f, 1.713465327e-03f, 1.712925300e-03f, 1.712382343e-03f, 1.711836457e-03f, 1.711287642e-03f, 1.710735901e-03f, 1.710181233e-03f,
+1.709623641e-03f, 1.709063126e-03f, 1.708499687e-03f, 1.707933328e-03f, 1.707364048e-03f, 1.706791849e-03f, 1.706216732e-03f, 1.705638698e-03f, 1.705057749e-03f, 1.704473886e-03f,
+1.703887109e-03f, 1.703297420e-03f, 1.702704820e-03f, 1.702109310e-03f, 1.701510892e-03f, 1.700909566e-03f, 1.700305335e-03f, 1.699698198e-03f, 1.699088158e-03f, 1.698475215e-03f,
+1.697859371e-03f, 1.697240627e-03f, 1.696618984e-03f, 1.695994443e-03f, 1.695367007e-03f, 1.694736675e-03f, 1.694103449e-03f, 1.693467330e-03f, 1.692828321e-03f, 1.692186421e-03f,
+1.691541632e-03f, 1.690893956e-03f, 1.690243394e-03f, 1.689589947e-03f, 1.688933616e-03f, 1.688274402e-03f, 1.687612308e-03f, 1.686947334e-03f, 1.686279481e-03f, 1.685608751e-03f,
+1.684935146e-03f, 1.684258666e-03f, 1.683579313e-03f, 1.682897088e-03f, 1.682211992e-03f, 1.681524027e-03f, 1.680833195e-03f, 1.680139496e-03f, 1.679442932e-03f, 1.678743504e-03f,
+1.678041214e-03f, 1.677336063e-03f, 1.676628053e-03f, 1.675917184e-03f, 1.675203458e-03f, 1.674486877e-03f, 1.673767442e-03f, 1.673045154e-03f, 1.672320015e-03f, 1.671592027e-03f,
+1.670861189e-03f, 1.670127505e-03f, 1.669390976e-03f, 1.668651602e-03f, 1.667909385e-03f, 1.667164328e-03f, 1.666416430e-03f, 1.665665694e-03f, 1.664912121e-03f, 1.664155713e-03f,
+1.663396471e-03f, 1.662634396e-03f, 1.661869491e-03f, 1.661101756e-03f, 1.660331193e-03f, 1.659557803e-03f, 1.658781588e-03f, 1.658002550e-03f, 1.657220689e-03f, 1.656436008e-03f,
+1.655648508e-03f, 1.654858191e-03f, 1.654065057e-03f, 1.653269109e-03f, 1.652470348e-03f, 1.651668776e-03f, 1.650864394e-03f, 1.650057203e-03f, 1.649247206e-03f, 1.648434403e-03f,
+1.647618797e-03f, 1.646800389e-03f, 1.645979181e-03f, 1.645155173e-03f, 1.644328368e-03f, 1.643498767e-03f, 1.642666373e-03f, 1.641831185e-03f, 1.640993207e-03f, 1.640152439e-03f,
+1.639308883e-03f, 1.638462542e-03f, 1.637613416e-03f, 1.636761506e-03f, 1.635906816e-03f, 1.635049346e-03f, 1.634189098e-03f, 1.633326074e-03f, 1.632460274e-03f, 1.631591702e-03f,
+1.630720359e-03f, 1.629846245e-03f, 1.628969364e-03f, 1.628089716e-03f, 1.627207303e-03f, 1.626322128e-03f, 1.625434191e-03f, 1.624543494e-03f, 1.623650039e-03f, 1.622753828e-03f,
+1.621854862e-03f, 1.620953144e-03f, 1.620048674e-03f, 1.619141455e-03f, 1.618231488e-03f, 1.617318775e-03f, 1.616403318e-03f, 1.615485118e-03f, 1.614564178e-03f, 1.613640498e-03f,
+1.612714081e-03f, 1.611784929e-03f, 1.610853042e-03f, 1.609918424e-03f, 1.608981076e-03f, 1.608040999e-03f, 1.607098195e-03f, 1.606152666e-03f, 1.605204414e-03f, 1.604253441e-03f,
+1.603299748e-03f, 1.602343338e-03f, 1.601384211e-03f, 1.600422370e-03f, 1.599457817e-03f, 1.598490554e-03f, 1.597520582e-03f, 1.596547903e-03f, 1.595572519e-03f, 1.594594431e-03f,
+1.593613643e-03f, 1.592630155e-03f, 1.591643969e-03f, 1.590655087e-03f, 1.589663512e-03f, 1.588669244e-03f, 1.587672286e-03f, 1.586672640e-03f, 1.585670307e-03f, 1.584665290e-03f,
+1.583657590e-03f, 1.582647209e-03f, 1.581634150e-03f, 1.580618413e-03f, 1.579600002e-03f, 1.578578917e-03f, 1.577555161e-03f, 1.576528735e-03f, 1.575499642e-03f, 1.574467884e-03f,
+1.573433462e-03f, 1.572396378e-03f, 1.571356635e-03f, 1.570314234e-03f, 1.569269177e-03f, 1.568221466e-03f, 1.567171103e-03f, 1.566118091e-03f, 1.565062430e-03f, 1.564004124e-03f,
+1.562943173e-03f, 1.561879581e-03f, 1.560813348e-03f, 1.559744478e-03f, 1.558672971e-03f, 1.557598830e-03f, 1.556522058e-03f, 1.555442655e-03f, 1.554360624e-03f, 1.553275967e-03f,
+1.552188687e-03f, 1.551098784e-03f, 1.550006261e-03f, 1.548911121e-03f, 1.547813364e-03f, 1.546712994e-03f, 1.545610012e-03f, 1.544504420e-03f, 1.543396221e-03f, 1.542285416e-03f,
+1.541172007e-03f, 1.540055997e-03f, 1.538937388e-03f, 1.537816181e-03f, 1.536692379e-03f, 1.535565984e-03f, 1.534436998e-03f, 1.533305423e-03f, 1.532171261e-03f, 1.531034514e-03f,
+1.529895185e-03f, 1.528753275e-03f, 1.527608787e-03f, 1.526461723e-03f, 1.525312084e-03f, 1.524159873e-03f, 1.523005093e-03f, 1.521847744e-03f, 1.520687830e-03f, 1.519525353e-03f,
+1.518360314e-03f, 1.517192716e-03f, 1.516022562e-03f, 1.514849852e-03f, 1.513674590e-03f, 1.512496777e-03f, 1.511316416e-03f, 1.510133508e-03f, 1.508948057e-03f, 1.507760064e-03f,
+1.506569532e-03f, 1.505376462e-03f, 1.504180857e-03f, 1.502982719e-03f, 1.501782051e-03f, 1.500578853e-03f, 1.499373130e-03f, 1.498164883e-03f, 1.496954113e-03f, 1.495740824e-03f,
+1.494525018e-03f, 1.493306697e-03f, 1.492085863e-03f, 1.490862518e-03f, 1.489636664e-03f, 1.488408305e-03f, 1.487177442e-03f, 1.485944077e-03f, 1.484708213e-03f, 1.483469852e-03f,
+1.482228996e-03f, 1.480985648e-03f, 1.479739809e-03f, 1.478491483e-03f, 1.477240671e-03f, 1.475987376e-03f, 1.474731599e-03f, 1.473473345e-03f, 1.472212613e-03f, 1.470949408e-03f,
+1.469683731e-03f, 1.468415585e-03f, 1.467144971e-03f, 1.465871893e-03f, 1.464596352e-03f, 1.463318351e-03f, 1.462037893e-03f, 1.460754979e-03f, 1.459469613e-03f, 1.458181795e-03f,
+1.456891530e-03f, 1.455598818e-03f, 1.454303663e-03f, 1.453006067e-03f, 1.451706032e-03f, 1.450403560e-03f, 1.449098655e-03f, 1.447791318e-03f, 1.446481551e-03f, 1.445169358e-03f,
+1.443854740e-03f, 1.442537701e-03f, 1.441218242e-03f, 1.439896365e-03f, 1.438572074e-03f, 1.437245370e-03f, 1.435916257e-03f, 1.434584736e-03f, 1.433250810e-03f, 1.431914482e-03f,
+1.430575753e-03f, 1.429234626e-03f, 1.427891105e-03f, 1.426545190e-03f, 1.425196885e-03f, 1.423846192e-03f, 1.422493114e-03f, 1.421137653e-03f, 1.419779811e-03f, 1.418419592e-03f,
+1.417056996e-03f, 1.415692028e-03f, 1.414324690e-03f, 1.412954983e-03f, 1.411582911e-03f, 1.410208475e-03f, 1.408831680e-03f, 1.407452526e-03f, 1.406071016e-03f, 1.404687154e-03f,
+1.403300941e-03f, 1.401912381e-03f, 1.400521475e-03f, 1.399128226e-03f, 1.397732637e-03f, 1.396334710e-03f, 1.394934447e-03f, 1.393531853e-03f, 1.392126928e-03f, 1.390719675e-03f,
+1.389310097e-03f, 1.387898197e-03f, 1.386483977e-03f, 1.385067440e-03f, 1.383648588e-03f, 1.382227424e-03f, 1.380803951e-03f, 1.379378170e-03f, 1.377950085e-03f, 1.376519699e-03f,
+1.375087013e-03f, 1.373652031e-03f, 1.372214754e-03f, 1.370775187e-03f, 1.369333330e-03f, 1.367889188e-03f, 1.366442762e-03f, 1.364994055e-03f, 1.363543070e-03f, 1.362089809e-03f,
+1.360634276e-03f, 1.359176472e-03f, 1.357716400e-03f, 1.356254064e-03f, 1.354789465e-03f, 1.353322606e-03f, 1.351853490e-03f, 1.350382120e-03f, 1.348908499e-03f, 1.347432628e-03f,
+1.345954511e-03f, 1.344474150e-03f, 1.342991549e-03f, 1.341506709e-03f, 1.340019633e-03f, 1.338530324e-03f, 1.337038786e-03f, 1.335545019e-03f, 1.334049028e-03f, 1.332550815e-03f,
+1.331050383e-03f, 1.329547734e-03f, 1.328042871e-03f, 1.326535796e-03f, 1.325026513e-03f, 1.323515025e-03f, 1.322001333e-03f, 1.320485441e-03f, 1.318967352e-03f, 1.317447068e-03f,
+1.315924592e-03f, 1.314399926e-03f, 1.312873074e-03f, 1.311344038e-03f, 1.309812822e-03f, 1.308279427e-03f, 1.306743856e-03f, 1.305206113e-03f, 1.303666200e-03f, 1.302124120e-03f,
+1.300579875e-03f, 1.299033469e-03f, 1.297484904e-03f, 1.295934184e-03f, 1.294381310e-03f, 1.292826285e-03f, 1.291269114e-03f, 1.289709797e-03f, 1.288148339e-03f, 1.286584741e-03f,
+1.285019007e-03f, 1.283451140e-03f, 1.281881142e-03f, 1.280309017e-03f, 1.278734766e-03f, 1.277158393e-03f, 1.275579901e-03f, 1.273999293e-03f, 1.272416571e-03f, 1.270831738e-03f,
+1.269244798e-03f, 1.267655752e-03f, 1.266064605e-03f, 1.264471358e-03f, 1.262876014e-03f, 1.261278578e-03f, 1.259679050e-03f, 1.258077435e-03f, 1.256473735e-03f, 1.254867953e-03f,
+1.253260091e-03f, 1.251650154e-03f, 1.250038143e-03f, 1.248424062e-03f, 1.246807914e-03f, 1.245189701e-03f, 1.243569426e-03f, 1.241947092e-03f, 1.240322703e-03f, 1.238696261e-03f,
+1.237067768e-03f, 1.235437229e-03f, 1.233804645e-03f, 1.232170021e-03f, 1.230533358e-03f, 1.228894660e-03f, 1.227253929e-03f, 1.225611169e-03f, 1.223966383e-03f, 1.222319573e-03f,
+1.220670742e-03f, 1.219019894e-03f, 1.217367031e-03f, 1.215712157e-03f, 1.214055274e-03f, 1.212396385e-03f, 1.210735494e-03f, 1.209072603e-03f, 1.207407715e-03f, 1.205740833e-03f,
+1.204071961e-03f, 1.202401101e-03f, 1.200728256e-03f, 1.199053429e-03f, 1.197376624e-03f, 1.195697843e-03f, 1.194017089e-03f, 1.192334365e-03f, 1.190649675e-03f, 1.188963021e-03f,
+1.187274406e-03f, 1.185583834e-03f, 1.183891307e-03f, 1.182196828e-03f, 1.180500401e-03f, 1.178802029e-03f, 1.177101714e-03f, 1.175399459e-03f, 1.173695269e-03f, 1.171989145e-03f,
+1.170281091e-03f, 1.168571109e-03f, 1.166859204e-03f, 1.165145377e-03f, 1.163429633e-03f, 1.161711974e-03f, 1.159992402e-03f, 1.158270922e-03f, 1.156547537e-03f, 1.154822249e-03f,
+1.153095061e-03f, 1.151365977e-03f, 1.149635000e-03f, 1.147902132e-03f, 1.146167378e-03f, 1.144430739e-03f, 1.142692219e-03f, 1.140951822e-03f, 1.139209550e-03f, 1.137465407e-03f,
+1.135719395e-03f, 1.133971517e-03f, 1.132221778e-03f, 1.130470179e-03f, 1.128716725e-03f, 1.126961418e-03f, 1.125204261e-03f, 1.123445258e-03f, 1.121684411e-03f, 1.119921724e-03f,
+1.118157200e-03f, 1.116390842e-03f, 1.114622653e-03f, 1.112852637e-03f, 1.111080796e-03f, 1.109307134e-03f, 1.107531654e-03f, 1.105754359e-03f, 1.103975252e-03f, 1.102194337e-03f,
+1.100411616e-03f, 1.098627093e-03f, 1.096840771e-03f, 1.095052653e-03f, 1.093262742e-03f, 1.091471042e-03f, 1.089677556e-03f, 1.087882286e-03f, 1.086085237e-03f, 1.084286411e-03f,
+1.082485812e-03f, 1.080683442e-03f, 1.078879305e-03f, 1.077073405e-03f, 1.075265744e-03f, 1.073456325e-03f, 1.071645153e-03f, 1.069832229e-03f, 1.068017558e-03f, 1.066201143e-03f,
+1.064382986e-03f, 1.062563091e-03f, 1.060741461e-03f, 1.058918100e-03f, 1.057093011e-03f, 1.055266197e-03f, 1.053437661e-03f, 1.051607406e-03f, 1.049775437e-03f, 1.047941755e-03f,
+1.046106365e-03f, 1.044269269e-03f, 1.042430471e-03f, 1.040589975e-03f, 1.038747782e-03f, 1.036903898e-03f, 1.035058324e-03f, 1.033211065e-03f, 1.031362123e-03f, 1.029511502e-03f,
+1.027659205e-03f, 1.025805236e-03f, 1.023949597e-03f, 1.022092292e-03f, 1.020233325e-03f, 1.018372698e-03f, 1.016510415e-03f, 1.014646479e-03f, 1.012780894e-03f, 1.010913663e-03f,
+1.009044789e-03f, 1.007174275e-03f, 1.005302126e-03f, 1.003428343e-03f, 1.001552931e-03f, 9.996758933e-04f, 9.977972323e-04f, 9.959169518e-04f, 9.940350552e-04f, 9.921515458e-04f,
+9.902664269e-04f, 9.883797019e-04f, 9.864913741e-04f, 9.846014469e-04f, 9.827099237e-04f, 9.808168078e-04f, 9.789221025e-04f, 9.770258113e-04f, 9.751279374e-04f, 9.732284844e-04f,
+9.713274554e-04f, 9.694248540e-04f, 9.675206835e-04f, 9.656149472e-04f, 9.637076486e-04f, 9.617987910e-04f, 9.598883778e-04f, 9.579764125e-04f, 9.560628983e-04f, 9.541478387e-04f,
+9.522312371e-04f, 9.503130970e-04f, 9.483934216e-04f, 9.464722144e-04f, 9.445494788e-04f, 9.426252182e-04f, 9.406994360e-04f, 9.387721357e-04f, 9.368433206e-04f, 9.349129942e-04f,
+9.329811599e-04f, 9.310478210e-04f, 9.291129812e-04f, 9.271766437e-04f, 9.252388120e-04f, 9.232994895e-04f, 9.213586798e-04f, 9.194163861e-04f, 9.174726119e-04f, 9.155273608e-04f,
+9.135806361e-04f, 9.116324413e-04f, 9.096827798e-04f, 9.077316550e-04f, 9.057790706e-04f, 9.038250298e-04f, 9.018695362e-04f, 8.999125932e-04f, 8.979542042e-04f, 8.959943728e-04f,
+8.940331025e-04f, 8.920703966e-04f, 8.901062586e-04f, 8.881406921e-04f, 8.861737006e-04f, 8.842052874e-04f, 8.822354560e-04f, 8.802642100e-04f, 8.782915529e-04f, 8.763174881e-04f,
+8.743420191e-04f, 8.723651495e-04f, 8.703868826e-04f, 8.684072220e-04f, 8.664261713e-04f, 8.644437339e-04f, 8.624599132e-04f, 8.604747129e-04f, 8.584881365e-04f, 8.565001873e-04f,
+8.545108690e-04f, 8.525201851e-04f, 8.505281391e-04f, 8.485347345e-04f, 8.465399748e-04f, 8.445438635e-04f, 8.425464042e-04f, 8.405476004e-04f, 8.385474557e-04f, 8.365459735e-04f,
+8.345431575e-04f, 8.325390110e-04f, 8.305335378e-04f, 8.285267412e-04f, 8.265186249e-04f, 8.245091924e-04f, 8.224984473e-04f, 8.204863931e-04f, 8.184730333e-04f, 8.164583715e-04f,
+8.144424113e-04f, 8.124251562e-04f, 8.104066098e-04f, 8.083867756e-04f, 8.063656572e-04f, 8.043432581e-04f, 8.023195821e-04f, 8.002946325e-04f, 7.982684130e-04f, 7.962409271e-04f,
+7.942121784e-04f, 7.921821706e-04f, 7.901509071e-04f, 7.881183916e-04f, 7.860846277e-04f, 7.840496188e-04f, 7.820133687e-04f, 7.799758809e-04f, 7.779371590e-04f, 7.758972066e-04f,
+7.738560272e-04f, 7.718136246e-04f, 7.697700022e-04f, 7.677251637e-04f, 7.656791127e-04f, 7.636318528e-04f, 7.615833875e-04f, 7.595337206e-04f, 7.574828556e-04f, 7.554307961e-04f,
+7.533775458e-04f, 7.513231082e-04f, 7.492674869e-04f, 7.472106857e-04f, 7.451527081e-04f, 7.430935577e-04f, 7.410332382e-04f, 7.389717531e-04f, 7.369091062e-04f, 7.348453010e-04f,
+7.327803412e-04f, 7.307142304e-04f, 7.286469723e-04f, 7.265785704e-04f, 7.245090285e-04f, 7.224383501e-04f, 7.203665390e-04f, 7.182935987e-04f, 7.162195329e-04f, 7.141443452e-04f,
+7.120680394e-04f, 7.099906189e-04f, 7.079120876e-04f, 7.058324491e-04f, 7.037517069e-04f, 7.016698649e-04f, 6.995869265e-04f, 6.975028956e-04f, 6.954177757e-04f, 6.933315705e-04f,
+6.912442838e-04f, 6.891559190e-04f, 6.870664800e-04f, 6.849759704e-04f, 6.828843939e-04f, 6.807917542e-04f, 6.786980548e-04f, 6.766032996e-04f, 6.745074921e-04f, 6.724106361e-04f,
+6.703127352e-04f, 6.682137932e-04f, 6.661138137e-04f, 6.640128004e-04f, 6.619107570e-04f, 6.598076872e-04f, 6.577035946e-04f, 6.555984831e-04f, 6.534923562e-04f, 6.513852176e-04f,
+6.492770712e-04f, 6.471679205e-04f, 6.450577692e-04f, 6.429466212e-04f, 6.408344800e-04f, 6.387213494e-04f, 6.366072331e-04f, 6.344921348e-04f, 6.323760582e-04f, 6.302590070e-04f,
+6.281409849e-04f, 6.260219958e-04f, 6.239020431e-04f, 6.217811308e-04f, 6.196592625e-04f, 6.175364419e-04f, 6.154126727e-04f, 6.132879588e-04f, 6.111623037e-04f, 6.090357112e-04f,
+6.069081852e-04f, 6.047797292e-04f, 6.026503470e-04f, 6.005200423e-04f, 5.983888190e-04f, 5.962566806e-04f, 5.941236311e-04f, 5.919896740e-04f, 5.898548131e-04f, 5.877190522e-04f,
+5.855823951e-04f, 5.834448454e-04f, 5.813064069e-04f, 5.791670833e-04f, 5.770268785e-04f, 5.748857961e-04f, 5.727438398e-04f, 5.706010136e-04f, 5.684573210e-04f, 5.663127659e-04f,
+5.641673520e-04f, 5.620210831e-04f, 5.598739628e-04f, 5.577259951e-04f, 5.555771836e-04f, 5.534275321e-04f, 5.512770444e-04f, 5.491257242e-04f, 5.469735753e-04f, 5.448206015e-04f,
+5.426668065e-04f, 5.405121941e-04f, 5.383567680e-04f, 5.362005322e-04f, 5.340434902e-04f, 5.318856459e-04f, 5.297270030e-04f, 5.275675654e-04f, 5.254073369e-04f, 5.232463211e-04f,
+5.210845218e-04f, 5.189219430e-04f, 5.167585882e-04f, 5.145944614e-04f, 5.124295663e-04f, 5.102639067e-04f, 5.080974863e-04f, 5.059303090e-04f, 5.037623786e-04f, 5.015936987e-04f,
+4.994242734e-04f, 4.972541062e-04f, 4.950832010e-04f, 4.929115617e-04f, 4.907391919e-04f, 4.885660956e-04f, 4.863922764e-04f, 4.842177383e-04f, 4.820424849e-04f, 4.798665201e-04f,
+4.776898477e-04f, 4.755124715e-04f, 4.733343953e-04f, 4.711556229e-04f, 4.689761581e-04f, 4.667960047e-04f, 4.646151665e-04f, 4.624336474e-04f, 4.602514511e-04f, 4.580685814e-04f,
+4.558850422e-04f, 4.537008373e-04f, 4.515159705e-04f, 4.493304455e-04f, 4.471442662e-04f, 4.449574365e-04f, 4.427699601e-04f, 4.405818409e-04f, 4.383930827e-04f, 4.362036892e-04f,
+4.340136644e-04f, 4.318230120e-04f, 4.296317358e-04f, 4.274398398e-04f, 4.252473276e-04f, 4.230542032e-04f, 4.208604703e-04f, 4.186661328e-04f, 4.164711946e-04f, 4.142756593e-04f,
+4.120795309e-04f, 4.098828132e-04f, 4.076855101e-04f, 4.054876252e-04f, 4.032891626e-04f, 4.010901260e-04f, 3.988905192e-04f, 3.966903461e-04f, 3.944896106e-04f, 3.922883164e-04f,
+3.900864674e-04f, 3.878840674e-04f, 3.856811202e-04f, 3.834776298e-04f, 3.812736000e-04f, 3.790690345e-04f, 3.768639372e-04f, 3.746583120e-04f, 3.724521627e-04f, 3.702454932e-04f,
+3.680383072e-04f, 3.658306087e-04f, 3.636224015e-04f, 3.614136894e-04f, 3.592044763e-04f, 3.569947659e-04f, 3.547845623e-04f, 3.525738692e-04f, 3.503626904e-04f, 3.481510299e-04f,
+3.459388914e-04f, 3.437262789e-04f, 3.415131961e-04f, 3.392996469e-04f, 3.370856352e-04f, 3.348711648e-04f, 3.326562396e-04f, 3.304408634e-04f, 3.282250401e-04f, 3.260087736e-04f,
+3.237920676e-04f, 3.215749261e-04f, 3.193573529e-04f, 3.171393519e-04f, 3.149209269e-04f, 3.127020818e-04f, 3.104828204e-04f, 3.082631466e-04f, 3.060430643e-04f, 3.038225773e-04f,
+3.016016895e-04f, 2.993804047e-04f, 2.971587268e-04f, 2.949366597e-04f, 2.927142073e-04f, 2.904913733e-04f, 2.882681617e-04f, 2.860445763e-04f, 2.838206210e-04f, 2.815962996e-04f,
+2.793716160e-04f, 2.771465742e-04f, 2.749211779e-04f, 2.726954310e-04f, 2.704693373e-04f, 2.682429008e-04f, 2.660161254e-04f, 2.637890148e-04f, 2.615615730e-04f, 2.593338038e-04f,
+2.571057111e-04f, 2.548772987e-04f, 2.526485706e-04f, 2.504195305e-04f, 2.481901825e-04f, 2.459605303e-04f, 2.437305778e-04f, 2.415003288e-04f, 2.392697874e-04f, 2.370389572e-04f,
+2.348078423e-04f, 2.325764464e-04f, 2.303447735e-04f, 2.281128274e-04f, 2.258806120e-04f, 2.236481311e-04f, 2.214153887e-04f, 2.191823886e-04f, 2.169491347e-04f, 2.147156308e-04f,
+2.124818809e-04f, 2.102478888e-04f, 2.080136584e-04f, 2.057791935e-04f, 2.035444981e-04f, 2.013095759e-04f, 1.990744310e-04f, 1.968390671e-04f, 1.946034882e-04f, 1.923676981e-04f,
+1.901317007e-04f, 1.878954998e-04f, 1.856590994e-04f, 1.834225034e-04f, 1.811857155e-04f, 1.789487397e-04f, 1.767115798e-04f, 1.744742398e-04f, 1.722367235e-04f, 1.699990348e-04f,
+1.677611775e-04f, 1.655231556e-04f, 1.632849729e-04f, 1.610466333e-04f, 1.588081407e-04f, 1.565694989e-04f, 1.543307119e-04f, 1.520917834e-04f, 1.498527175e-04f, 1.476135179e-04f,
+1.453741886e-04f, 1.431347334e-04f, 1.408951562e-04f, 1.386554608e-04f, 1.364156512e-04f, 1.341757313e-04f, 1.319357048e-04f, 1.296955758e-04f, 1.274553480e-04f, 1.252150254e-04f,
+1.229746118e-04f, 1.207341110e-04f, 1.184935271e-04f, 1.162528638e-04f, 1.140121251e-04f, 1.117713147e-04f, 1.095304367e-04f, 1.072894948e-04f, 1.050484929e-04f, 1.028074350e-04f,
+1.005663249e-04f, 9.832516644e-05f, 9.608396354e-05f, 9.384272006e-05f, 9.160143988e-05f, 8.936012688e-05f, 8.711878494e-05f, 8.487741792e-05f, 8.263602972e-05f, 8.039462419e-05f,
+7.815320523e-05f, 7.591177669e-05f, 7.367034246e-05f, 7.142890642e-05f, 6.918747243e-05f, 6.694604437e-05f, 6.470462611e-05f, 6.246322154e-05f, 6.022183451e-05f, 5.798046892e-05f,
+5.573912862e-05f, 5.349781749e-05f, 5.125653941e-05f, 4.901529824e-05f, 4.677409786e-05f, 4.453294214e-05f, 4.229183495e-05f, 4.005078017e-05f, 3.780978166e-05f, 3.556884329e-05f,
+3.332796894e-05f, 3.108716247e-05f, 2.884642776e-05f, 2.660576867e-05f, 2.436518907e-05f, 2.212469283e-05f, 1.988428381e-05f, 1.764396590e-05f, 1.540374295e-05f, 1.316361882e-05f,
+1.092359740e-05f, 8.683682538e-06f, 6.443878106e-06f, 4.204187967e-06f, 1.964615989e-06f, -2.748339660e-07f, -2.514158032e-06f, -4.753352347e-06f, -6.992413046e-06f, -9.231336267e-06f,
+-1.147011815e-05f, -1.370875483e-05f, -1.594724244e-05f, -1.818557713e-05f, -2.042375504e-05f, -2.266177230e-05f, -2.489962505e-05f, -2.713730944e-05f, -2.937482161e-05f, -3.161215770e-05f,
+-3.384931385e-05f, -3.608628621e-05f, -3.832307091e-05f, -4.055966411e-05f, -4.279606195e-05f, -4.503226056e-05f, -4.726825611e-05f, -4.950404474e-05f, -5.173962258e-05f, -5.397498579e-05f,
+-5.621013053e-05f, -5.844505292e-05f, -6.067974914e-05f, -6.291421532e-05f, -6.514844761e-05f, -6.738244218e-05f, -6.961619516e-05f, -7.184970271e-05f, -7.408296099e-05f, -7.631596614e-05f,
+-7.854871433e-05f, -8.078120171e-05f, -8.301342443e-05f, -8.524537864e-05f, -8.747706052e-05f, -8.970846621e-05f, -9.193959187e-05f, -9.417043366e-05f, -9.640098774e-05f, -9.863125028e-05f,
+-1.008612174e-04f, -1.030908853e-04f, -1.053202502e-04f, -1.075493082e-04f, -1.097780554e-04f, -1.120064881e-04f, -1.142346023e-04f, -1.164623943e-04f, -1.186898603e-04f, -1.209169963e-04f,
+-1.231437986e-04f, -1.253702634e-04f, -1.275963867e-04f, -1.298221648e-04f, -1.320475939e-04f, -1.342726701e-04f, -1.364973896e-04f, -1.387217486e-04f, -1.409457432e-04f, -1.431693696e-04f,
+-1.453926241e-04f, -1.476155027e-04f, -1.498380016e-04f, -1.520601171e-04f, -1.542818453e-04f, -1.565031825e-04f, -1.587241246e-04f, -1.609446681e-04f, -1.631648090e-04f, -1.653845435e-04f,
+-1.676038679e-04f, -1.698227782e-04f, -1.720412708e-04f, -1.742593417e-04f, -1.764769872e-04f, -1.786942034e-04f, -1.809109866e-04f, -1.831273330e-04f, -1.853432386e-04f, -1.875586999e-04f,
+-1.897737128e-04f, -1.919882737e-04f, -1.942023787e-04f, -1.964160240e-04f, -1.986292058e-04f, -2.008419203e-04f, -2.030541638e-04f, -2.052659324e-04f, -2.074772223e-04f, -2.096880297e-04f,
+-2.118983509e-04f, -2.141081820e-04f, -2.163175193e-04f, -2.185263589e-04f, -2.207346971e-04f, -2.229425301e-04f, -2.251498541e-04f, -2.273566653e-04f, -2.295629599e-04f, -2.317687341e-04f,
+-2.339739842e-04f, -2.361787063e-04f, -2.383828968e-04f, -2.405865517e-04f, -2.427896674e-04f, -2.449922400e-04f, -2.471942658e-04f, -2.493957410e-04f, -2.515966618e-04f, -2.537970245e-04f,
+-2.559968252e-04f, -2.581960603e-04f, -2.603947259e-04f, -2.625928182e-04f, -2.647903336e-04f, -2.669872682e-04f, -2.691836182e-04f, -2.713793800e-04f, -2.735745497e-04f, -2.757691236e-04f,
+-2.779630979e-04f, -2.801564689e-04f, -2.823492327e-04f, -2.845413858e-04f, -2.867329242e-04f, -2.889238442e-04f, -2.911141422e-04f, -2.933038143e-04f, -2.954928567e-04f, -2.976812659e-04f,
+-2.998690379e-04f, -3.020561690e-04f, -3.042426556e-04f, -3.064284938e-04f, -3.086136799e-04f, -3.107982102e-04f, -3.129820809e-04f, -3.151652883e-04f, -3.173478287e-04f, -3.195296983e-04f,
+-3.217108934e-04f, -3.238914103e-04f, -3.260712452e-04f, -3.282503944e-04f, -3.304288541e-04f, -3.326066207e-04f, -3.347836905e-04f, -3.369600596e-04f, -3.391357244e-04f, -3.413106811e-04f,
+-3.434849261e-04f, -3.456584555e-04f, -3.478312658e-04f, -3.500033532e-04f, -3.521747139e-04f, -3.543453442e-04f, -3.565152405e-04f, -3.586843991e-04f, -3.608528161e-04f, -3.630204880e-04f,
+-3.651874110e-04f, -3.673535814e-04f, -3.695189955e-04f, -3.716836496e-04f, -3.738475400e-04f, -3.760106630e-04f, -3.781730149e-04f, -3.803345921e-04f, -3.824953908e-04f, -3.846554073e-04f,
+-3.868146379e-04f, -3.889730790e-04f, -3.911307269e-04f, -3.932875779e-04f, -3.954436282e-04f, -3.975988743e-04f, -3.997533124e-04f, -4.019069389e-04f, -4.040597500e-04f, -4.062117422e-04f,
+-4.083629117e-04f, -4.105132548e-04f, -4.126627679e-04f, -4.148114474e-04f, -4.169592895e-04f, -4.191062906e-04f, -4.212524470e-04f, -4.233977551e-04f, -4.255422112e-04f, -4.276858116e-04f,
+-4.298285527e-04f, -4.319704309e-04f, -4.341114424e-04f, -4.362515836e-04f, -4.383908509e-04f, -4.405292406e-04f, -4.426667491e-04f, -4.448033727e-04f, -4.469391078e-04f, -4.490739508e-04f,
+-4.512078980e-04f, -4.533409457e-04f, -4.554730903e-04f, -4.576043283e-04f, -4.597346559e-04f, -4.618640695e-04f, -4.639925656e-04f, -4.661201404e-04f, -4.682467903e-04f, -4.703725118e-04f,
+-4.724973012e-04f, -4.746211549e-04f, -4.767440692e-04f, -4.788660405e-04f, -4.809870653e-04f, -4.831071399e-04f, -4.852262607e-04f, -4.873444241e-04f, -4.894616265e-04f, -4.915778643e-04f,
+-4.936931339e-04f, -4.958074316e-04f, -4.979207539e-04f, -5.000330971e-04f, -5.021444578e-04f, -5.042548322e-04f, -5.063642169e-04f, -5.084726081e-04f, -5.105800023e-04f, -5.126863960e-04f,
+-5.147917855e-04f, -5.168961673e-04f, -5.189995377e-04f, -5.211018933e-04f, -5.232032304e-04f, -5.253035454e-04f, -5.274028348e-04f, -5.295010950e-04f, -5.315983224e-04f, -5.336945135e-04f,
+-5.357896647e-04f, -5.378837724e-04f, -5.399768331e-04f, -5.420688432e-04f, -5.441597992e-04f, -5.462496974e-04f, -5.483385345e-04f, -5.504263067e-04f, -5.525130106e-04f, -5.545986426e-04f,
+-5.566831991e-04f, -5.587666767e-04f, -5.608490717e-04f, -5.629303807e-04f, -5.650106000e-04f, -5.670897262e-04f, -5.691677558e-04f, -5.712446852e-04f, -5.733205108e-04f, -5.753952292e-04f,
+-5.774688368e-04f, -5.795413301e-04f, -5.816127056e-04f, -5.836829597e-04f, -5.857520890e-04f, -5.878200899e-04f, -5.898869590e-04f, -5.919526926e-04f, -5.940172874e-04f, -5.960807398e-04f,
+-5.981430462e-04f, -6.002042033e-04f, -6.022642074e-04f, -6.043230552e-04f, -6.063807431e-04f, -6.084372676e-04f, -6.104926252e-04f, -6.125468124e-04f, -6.145998258e-04f, -6.166516619e-04f,
+-6.187023172e-04f, -6.207517882e-04f, -6.228000714e-04f, -6.248471634e-04f, -6.268930607e-04f, -6.289377598e-04f, -6.309812572e-04f, -6.330235496e-04f, -6.350646333e-04f, -6.371045051e-04f,
+-6.391431613e-04f, -6.411805986e-04f, -6.432168135e-04f, -6.452518025e-04f, -6.472855623e-04f, -6.493180893e-04f, -6.513493801e-04f, -6.533794313e-04f, -6.554082394e-04f, -6.574358010e-04f,
+-6.594621126e-04f, -6.614871709e-04f, -6.635109723e-04f, -6.655335136e-04f, -6.675547911e-04f, -6.695748016e-04f, -6.715935416e-04f, -6.736110076e-04f, -6.756271963e-04f, -6.776421043e-04f,
+-6.796557281e-04f, -6.816680643e-04f, -6.836791096e-04f, -6.856888605e-04f, -6.876973136e-04f, -6.897044655e-04f, -6.917103128e-04f, -6.937148521e-04f, -6.957180801e-04f, -6.977199934e-04f,
+-6.997205885e-04f, -7.017198620e-04f, -7.037178107e-04f, -7.057144311e-04f, -7.077097198e-04f, -7.097036735e-04f, -7.116962888e-04f, -7.136875623e-04f, -7.156774907e-04f, -7.176660705e-04f,
+-7.196532985e-04f, -7.216391712e-04f, -7.236236854e-04f, -7.256068376e-04f, -7.275886246e-04f, -7.295690429e-04f, -7.315480892e-04f, -7.335257602e-04f, -7.355020525e-04f, -7.374769628e-04f,
+-7.394504877e-04f, -7.414226240e-04f, -7.433933682e-04f, -7.453627171e-04f, -7.473306674e-04f, -7.492972157e-04f, -7.512623586e-04f, -7.532260929e-04f, -7.551884153e-04f, -7.571493224e-04f,
+-7.591088110e-04f, -7.610668777e-04f, -7.630235192e-04f, -7.649787322e-04f, -7.669325134e-04f, -7.688848596e-04f, -7.708357674e-04f, -7.727852335e-04f, -7.747332547e-04f, -7.766798276e-04f,
+-7.786249491e-04f, -7.805686157e-04f, -7.825108242e-04f, -7.844515714e-04f, -7.863908539e-04f, -7.883286686e-04f, -7.902650121e-04f, -7.921998811e-04f, -7.941332725e-04f, -7.960651829e-04f,
+-7.979956091e-04f, -7.999245478e-04f, -8.018519959e-04f, -8.037779499e-04f, -8.057024068e-04f, -8.076253632e-04f, -8.095468159e-04f, -8.114667617e-04f, -8.133851974e-04f, -8.153021196e-04f,
+-8.172175253e-04f, -8.191314110e-04f, -8.210437738e-04f, -8.229546102e-04f, -8.248639171e-04f, -8.267716913e-04f, -8.286779296e-04f, -8.305826287e-04f, -8.324857855e-04f, -8.343873967e-04f,
+-8.362874592e-04f, -8.381859698e-04f, -8.400829252e-04f, -8.419783222e-04f, -8.438721578e-04f, -8.457644286e-04f, -8.476551315e-04f, -8.495442634e-04f, -8.514318210e-04f, -8.533178012e-04f,
+-8.552022008e-04f, -8.570850166e-04f, -8.589662456e-04f, -8.608458844e-04f, -8.627239299e-04f, -8.646003791e-04f, -8.664752287e-04f, -8.683484755e-04f, -8.702201165e-04f, -8.720901486e-04f,
+-8.739585684e-04f, -8.758253730e-04f, -8.776905591e-04f, -8.795541237e-04f, -8.814160636e-04f, -8.832763757e-04f, -8.851350568e-04f, -8.869921039e-04f, -8.888475138e-04f, -8.907012834e-04f,
+-8.925534096e-04f, -8.944038892e-04f, -8.962527193e-04f, -8.980998966e-04f, -8.999454181e-04f, -9.017892807e-04f, -9.036314813e-04f, -9.054720167e-04f, -9.073108840e-04f, -9.091480799e-04f,
+-9.109836015e-04f, -9.128174457e-04f, -9.146496093e-04f, -9.164800894e-04f, -9.183088828e-04f, -9.201359865e-04f, -9.219613973e-04f, -9.237851124e-04f, -9.256071285e-04f, -9.274274426e-04f,
+-9.292460518e-04f, -9.310629529e-04f, -9.328781428e-04f, -9.346916187e-04f, -9.365033773e-04f, -9.383134157e-04f, -9.401217309e-04f, -9.419283198e-04f, -9.437331793e-04f, -9.455363066e-04f,
+-9.473376985e-04f, -9.491373520e-04f, -9.509352641e-04f, -9.527314319e-04f, -9.545258522e-04f, -9.563185222e-04f, -9.581094387e-04f, -9.598985989e-04f, -9.616859996e-04f, -9.634716380e-04f,
+-9.652555110e-04f, -9.670376157e-04f, -9.688179490e-04f, -9.705965080e-04f, -9.723732897e-04f, -9.741482911e-04f, -9.759215093e-04f, -9.776929413e-04f, -9.794625842e-04f, -9.812304349e-04f,
+-9.829964906e-04f, -9.847607482e-04f, -9.865232049e-04f, -9.882838577e-04f, -9.900427036e-04f, -9.917997397e-04f, -9.935549631e-04f, -9.953083708e-04f, -9.970599599e-04f, -9.988097275e-04f,
+-1.000557671e-03f, -1.002303786e-03f, -1.004048072e-03f, -1.005790524e-03f, -1.007531140e-03f, -1.009269918e-03f, -1.011006853e-03f, -1.012741943e-03f, -1.014475186e-03f, -1.016206578e-03f,
+-1.017936117e-03f, -1.019663800e-03f, -1.021389623e-03f, -1.023113584e-03f, -1.024835680e-03f, -1.026555908e-03f, -1.028274265e-03f, -1.029990749e-03f, -1.031705356e-03f, -1.033418084e-03f,
+-1.035128930e-03f, -1.036837890e-03f, -1.038544963e-03f, -1.040250145e-03f, -1.041953434e-03f, -1.043654826e-03f, -1.045354319e-03f, -1.047051910e-03f, -1.048747596e-03f, -1.050441374e-03f,
+-1.052133241e-03f, -1.053823196e-03f, -1.055511234e-03f, -1.057197353e-03f, -1.058881550e-03f, -1.060563823e-03f, -1.062244168e-03f, -1.063922583e-03f, -1.065599065e-03f, -1.067273611e-03f,
+-1.068946219e-03f, -1.070616886e-03f, -1.072285608e-03f, -1.073952383e-03f, -1.075617209e-03f, -1.077280082e-03f, -1.078941000e-03f, -1.080599960e-03f, -1.082256960e-03f, -1.083911996e-03f,
+-1.085565065e-03f, -1.087216166e-03f, -1.088865295e-03f, -1.090512450e-03f, -1.092157627e-03f, -1.093800824e-03f, -1.095442039e-03f, -1.097081268e-03f, -1.098718510e-03f, -1.100353760e-03f,
+-1.101987017e-03f, -1.103618277e-03f, -1.105247539e-03f, -1.106874799e-03f, -1.108500055e-03f, -1.110123303e-03f, -1.111744542e-03f, -1.113363768e-03f, -1.114980980e-03f, -1.116596173e-03f,
+-1.118209346e-03f, -1.119820496e-03f, -1.121429620e-03f, -1.123036715e-03f, -1.124641780e-03f, -1.126244810e-03f, -1.127845804e-03f, -1.129444759e-03f, -1.131041672e-03f, -1.132636541e-03f,
+-1.134229362e-03f, -1.135820134e-03f, -1.137408853e-03f, -1.138995518e-03f, -1.140580125e-03f, -1.142162671e-03f, -1.143743155e-03f, -1.145321574e-03f, -1.146897924e-03f, -1.148472204e-03f,
+-1.150044410e-03f, -1.151614540e-03f, -1.153182592e-03f, -1.154748563e-03f, -1.156312450e-03f, -1.157874251e-03f, -1.159433963e-03f, -1.160991584e-03f, -1.162547110e-03f, -1.164100540e-03f,
+-1.165651871e-03f, -1.167201101e-03f, -1.168748225e-03f, -1.170293244e-03f, -1.171836152e-03f, -1.173376949e-03f, -1.174915632e-03f, -1.176452197e-03f, -1.177986643e-03f, -1.179518967e-03f,
+-1.181049166e-03f, -1.182577238e-03f, -1.184103180e-03f, -1.185626991e-03f, -1.187148666e-03f, -1.188668205e-03f, -1.190185603e-03f, -1.191700860e-03f, -1.193213972e-03f, -1.194724936e-03f,
+-1.196233751e-03f, -1.197740414e-03f, -1.199244922e-03f, -1.200747273e-03f, -1.202247464e-03f, -1.203745493e-03f, -1.205241358e-03f, -1.206735056e-03f, -1.208226584e-03f, -1.209715940e-03f,
+-1.211203122e-03f, -1.212688127e-03f, -1.214170953e-03f, -1.215651597e-03f, -1.217130056e-03f, -1.218606330e-03f, -1.220080414e-03f, -1.221552307e-03f, -1.223022006e-03f, -1.224489508e-03f,
+-1.225954812e-03f, -1.227417915e-03f, -1.228878815e-03f, -1.230337508e-03f, -1.231793993e-03f, -1.233248268e-03f, -1.234700329e-03f, -1.236150175e-03f, -1.237597803e-03f, -1.239043210e-03f,
+-1.240486396e-03f, -1.241927356e-03f, -1.243366089e-03f, -1.244802592e-03f, -1.246236863e-03f, -1.247668899e-03f, -1.249098699e-03f, -1.250526260e-03f, -1.251951579e-03f, -1.253374655e-03f,
+-1.254795484e-03f, -1.256214065e-03f, -1.257630395e-03f, -1.259044472e-03f, -1.260456293e-03f, -1.261865857e-03f, -1.263273161e-03f, -1.264678202e-03f, -1.266080979e-03f, -1.267481489e-03f,
+-1.268879729e-03f, -1.270275698e-03f, -1.271669394e-03f, -1.273060813e-03f, -1.274449953e-03f, -1.275836813e-03f, -1.277221391e-03f, -1.278603682e-03f, -1.279983687e-03f, -1.281361402e-03f,
+-1.282736824e-03f, -1.284109953e-03f, -1.285480785e-03f, -1.286849319e-03f, -1.288215551e-03f, -1.289579481e-03f, -1.290941105e-03f, -1.292300421e-03f, -1.293657427e-03f, -1.295012122e-03f,
+-1.296364502e-03f, -1.297714566e-03f, -1.299062311e-03f, -1.300407735e-03f, -1.301750836e-03f, -1.303091612e-03f, -1.304430060e-03f, -1.305766179e-03f, -1.307099966e-03f, -1.308431419e-03f,
+-1.309760536e-03f, -1.311087315e-03f, -1.312411753e-03f, -1.313733848e-03f, -1.315053599e-03f, -1.316371002e-03f, -1.317686057e-03f, -1.318998760e-03f, -1.320309110e-03f, -1.321617105e-03f,
+-1.322922741e-03f, -1.324226019e-03f, -1.325526934e-03f, -1.326825485e-03f, -1.328121670e-03f, -1.329415487e-03f, -1.330706934e-03f, -1.331996008e-03f, -1.333282708e-03f, -1.334567031e-03f,
+-1.335848975e-03f, -1.337128539e-03f, -1.338405720e-03f, -1.339680515e-03f, -1.340952924e-03f, -1.342222944e-03f, -1.343490573e-03f, -1.344755809e-03f, -1.346018649e-03f, -1.347279092e-03f,
+-1.348537136e-03f, -1.349792778e-03f, -1.351046017e-03f, -1.352296851e-03f, -1.353545277e-03f, -1.354791294e-03f, -1.356034899e-03f, -1.357276090e-03f, -1.358514867e-03f, -1.359751225e-03f,
+-1.360985164e-03f, -1.362216682e-03f, -1.363445776e-03f, -1.364672445e-03f, -1.365896686e-03f, -1.367118497e-03f, -1.368337878e-03f, -1.369554824e-03f, -1.370769336e-03f, -1.371981410e-03f,
+-1.373191045e-03f, -1.374398238e-03f, -1.375602989e-03f, -1.376805294e-03f, -1.378005152e-03f, -1.379202561e-03f, -1.380397519e-03f, -1.381590024e-03f, -1.382780075e-03f, -1.383967668e-03f,
+-1.385152804e-03f, -1.386335478e-03f, -1.387515690e-03f, -1.388693438e-03f, -1.389868719e-03f, -1.391041533e-03f, -1.392211876e-03f, -1.393379747e-03f, -1.394545145e-03f, -1.395708067e-03f,
+-1.396868511e-03f, -1.398026476e-03f, -1.399181959e-03f, -1.400334960e-03f, -1.401485475e-03f, -1.402633504e-03f, -1.403779044e-03f, -1.404922093e-03f, -1.406062651e-03f, -1.407200713e-03f,
+-1.408336280e-03f, -1.409469349e-03f, -1.410599919e-03f, -1.411727987e-03f, -1.412853551e-03f, -1.413976611e-03f, -1.415097164e-03f, -1.416215208e-03f, -1.417330741e-03f, -1.418443762e-03f,
+-1.419554269e-03f, -1.420662261e-03f, -1.421767735e-03f, -1.422870689e-03f, -1.423971122e-03f, -1.425069033e-03f, -1.426164418e-03f, -1.427257278e-03f, -1.428347609e-03f, -1.429435410e-03f,
+-1.430520680e-03f, -1.431603416e-03f, -1.432683618e-03f, -1.433761282e-03f, -1.434836408e-03f, -1.435908993e-03f, -1.436979037e-03f, -1.438046537e-03f, -1.439111492e-03f, -1.440173899e-03f,
+-1.441233758e-03f, -1.442291067e-03f, -1.443345823e-03f, -1.444398025e-03f, -1.445447672e-03f, -1.446494762e-03f, -1.447539293e-03f, -1.448581263e-03f, -1.449620671e-03f, -1.450657516e-03f,
+-1.451691795e-03f, -1.452723507e-03f, -1.453752650e-03f, -1.454779223e-03f, -1.455803224e-03f, -1.456824651e-03f, -1.457843503e-03f, -1.458859778e-03f, -1.459873475e-03f, -1.460884591e-03f,
+-1.461893126e-03f, -1.462899078e-03f, -1.463902445e-03f, -1.464903225e-03f, -1.465901417e-03f, -1.466897020e-03f, -1.467890031e-03f, -1.468880450e-03f, -1.469868274e-03f, -1.470853503e-03f,
+-1.471836134e-03f, -1.472816166e-03f, -1.473793597e-03f, -1.474768427e-03f, -1.475740652e-03f, -1.476710273e-03f, -1.477677287e-03f, -1.478641692e-03f, -1.479603488e-03f, -1.480562673e-03f,
+-1.481519244e-03f, -1.482473202e-03f, -1.483424544e-03f, -1.484373268e-03f, -1.485319374e-03f, -1.486262859e-03f, -1.487203723e-03f, -1.488141963e-03f, -1.489077579e-03f, -1.490010568e-03f,
+-1.490940930e-03f, -1.491868663e-03f, -1.492793765e-03f, -1.493716236e-03f, -1.494636073e-03f, -1.495553275e-03f, -1.496467840e-03f, -1.497379768e-03f, -1.498289057e-03f, -1.499195705e-03f,
+-1.500099711e-03f, -1.501001073e-03f, -1.501899791e-03f, -1.502795863e-03f, -1.503689286e-03f, -1.504580061e-03f, -1.505468185e-03f, -1.506353658e-03f, -1.507236477e-03f, -1.508116642e-03f,
+-1.508994151e-03f, -1.509869002e-03f, -1.510741195e-03f, -1.511610727e-03f, -1.512477599e-03f, -1.513341807e-03f, -1.514203351e-03f, -1.515062230e-03f, -1.515918443e-03f, -1.516771987e-03f,
+-1.517622861e-03f, -1.518471065e-03f, -1.519316597e-03f, -1.520159456e-03f, -1.520999639e-03f, -1.521837147e-03f, -1.522671978e-03f, -1.523504130e-03f, -1.524333602e-03f, -1.525160393e-03f,
+-1.525984501e-03f, -1.526805926e-03f, -1.527624666e-03f, -1.528440719e-03f, -1.529254086e-03f, -1.530064763e-03f, -1.530872750e-03f, -1.531678047e-03f, -1.532480650e-03f, -1.533280560e-03f,
+-1.534077775e-03f, -1.534872294e-03f, -1.535664116e-03f, -1.536453238e-03f, -1.537239661e-03f, -1.538023383e-03f, -1.538804403e-03f, -1.539582719e-03f, -1.540358331e-03f, -1.541131237e-03f,
+-1.541901436e-03f, -1.542668927e-03f, -1.543433708e-03f, -1.544195779e-03f, -1.544955138e-03f, -1.545711784e-03f, -1.546465716e-03f, -1.547216934e-03f, -1.547965434e-03f, -1.548711218e-03f,
+-1.549454283e-03f, -1.550194628e-03f, -1.550932252e-03f, -1.551667154e-03f, -1.552399333e-03f, -1.553128788e-03f, -1.553855518e-03f, -1.554579522e-03f, -1.555300797e-03f, -1.556019345e-03f,
+-1.556735162e-03f, -1.557448249e-03f, -1.558158604e-03f, -1.558866226e-03f, -1.559571114e-03f, -1.560273267e-03f, -1.560972684e-03f, -1.561669364e-03f, -1.562363305e-03f, -1.563054508e-03f,
+-1.563742970e-03f, -1.564428690e-03f, -1.565111669e-03f, -1.565791903e-03f, -1.566469394e-03f, -1.567144139e-03f, -1.567816137e-03f, -1.568485389e-03f, -1.569151891e-03f, -1.569815645e-03f,
+-1.570476647e-03f, -1.571134899e-03f, -1.571790398e-03f, -1.572443143e-03f, -1.573093134e-03f, -1.573740370e-03f, -1.574384850e-03f, -1.575026572e-03f, -1.575665536e-03f, -1.576301741e-03f,
+-1.576935186e-03f, -1.577565869e-03f, -1.578193791e-03f, -1.578818950e-03f, -1.579441345e-03f, -1.580060975e-03f, -1.580677840e-03f, -1.581291938e-03f, -1.581903268e-03f, -1.582511830e-03f,
+-1.583117623e-03f, -1.583720646e-03f, -1.584320897e-03f, -1.584918377e-03f, -1.585513084e-03f, -1.586105017e-03f, -1.586694176e-03f, -1.587280559e-03f, -1.587864166e-03f, -1.588444995e-03f,
+-1.589023047e-03f, -1.589598320e-03f, -1.590170813e-03f, -1.590740526e-03f, -1.591307457e-03f, -1.591871607e-03f, -1.592432973e-03f, -1.592991555e-03f, -1.593547353e-03f, -1.594100366e-03f,
+-1.594650592e-03f, -1.595198031e-03f, -1.595742683e-03f, -1.596284546e-03f, -1.596823620e-03f, -1.597359903e-03f, -1.597893396e-03f, -1.598424097e-03f, -1.598952005e-03f, -1.599477121e-03f,
+-1.599999442e-03f, -1.600518969e-03f, -1.601035701e-03f, -1.601549636e-03f, -1.602060774e-03f, -1.602569115e-03f, -1.603074658e-03f, -1.603577401e-03f, -1.604077345e-03f, -1.604574488e-03f,
+-1.605068830e-03f, -1.605560370e-03f, -1.606049108e-03f, -1.606535042e-03f, -1.607018173e-03f, -1.607498499e-03f, -1.607976020e-03f, -1.608450734e-03f, -1.608922642e-03f, -1.609391743e-03f,
+-1.609858036e-03f, -1.610321521e-03f, -1.610782196e-03f, -1.611240061e-03f, -1.611695116e-03f, -1.612147360e-03f, -1.612596792e-03f, -1.613043412e-03f, -1.613487219e-03f, -1.613928212e-03f,
+-1.614366391e-03f, -1.614801755e-03f, -1.615234304e-03f, -1.615664037e-03f, -1.616090954e-03f, -1.616515053e-03f, -1.616936335e-03f, -1.617354798e-03f, -1.617770443e-03f, -1.618183268e-03f,
+-1.618593273e-03f, -1.619000458e-03f, -1.619404822e-03f, -1.619806364e-03f, -1.620205084e-03f, -1.620600982e-03f, -1.620994056e-03f, -1.621384306e-03f, -1.621771733e-03f, -1.622156334e-03f,
+-1.622538111e-03f, -1.622917062e-03f, -1.623293186e-03f, -1.623666484e-03f, -1.624036954e-03f, -1.624404597e-03f, -1.624769412e-03f, -1.625131398e-03f, -1.625490555e-03f, -1.625846883e-03f,
+-1.626200380e-03f, -1.626551048e-03f, -1.626898884e-03f, -1.627243888e-03f, -1.627586062e-03f, -1.627925402e-03f, -1.628261910e-03f, -1.628595586e-03f, -1.628926427e-03f, -1.629254435e-03f,
+-1.629579608e-03f, -1.629901947e-03f, -1.630221451e-03f, -1.630538119e-03f, -1.630851951e-03f, -1.631162947e-03f, -1.631471106e-03f, -1.631776429e-03f, -1.632078913e-03f, -1.632378561e-03f,
+-1.632675370e-03f, -1.632969340e-03f, -1.633260472e-03f, -1.633548765e-03f, -1.633834218e-03f, -1.634116831e-03f, -1.634396604e-03f, -1.634673537e-03f, -1.634947629e-03f, -1.635218880e-03f,
+-1.635487289e-03f, -1.635752857e-03f, -1.636015582e-03f, -1.636275465e-03f, -1.636532506e-03f, -1.636786704e-03f, -1.637038059e-03f, -1.637286570e-03f, -1.637532237e-03f, -1.637775061e-03f,
+-1.638015040e-03f, -1.638252175e-03f, -1.638486465e-03f, -1.638717910e-03f, -1.638946509e-03f, -1.639172264e-03f, -1.639395172e-03f, -1.639615235e-03f, -1.639832452e-03f, -1.640046822e-03f,
+-1.640258346e-03f, -1.640467022e-03f, -1.640672852e-03f, -1.640875835e-03f, -1.641075971e-03f, -1.641273258e-03f, -1.641467698e-03f, -1.641659291e-03f, -1.641848035e-03f, -1.642033931e-03f,
+-1.642216978e-03f, -1.642397177e-03f, -1.642574528e-03f, -1.642749029e-03f, -1.642920681e-03f, -1.643089485e-03f, -1.643255439e-03f, -1.643418543e-03f, -1.643578799e-03f, -1.643736204e-03f,
+-1.643890760e-03f, -1.644042466e-03f, -1.644191322e-03f, -1.644337328e-03f, -1.644480484e-03f, -1.644620789e-03f, -1.644758244e-03f, -1.644892849e-03f, -1.645024604e-03f, -1.645153508e-03f,
+-1.645279561e-03f, -1.645402764e-03f, -1.645523116e-03f, -1.645640617e-03f, -1.645755268e-03f, -1.645867067e-03f, -1.645976016e-03f, -1.646082114e-03f, -1.646185361e-03f, -1.646285757e-03f,
+-1.646383302e-03f, -1.646477997e-03f, -1.646569840e-03f, -1.646658832e-03f, -1.646744974e-03f, -1.646828264e-03f, -1.646908704e-03f, -1.646986293e-03f, -1.647061030e-03f, -1.647132917e-03f,
+-1.647201954e-03f, -1.647268139e-03f, -1.647331474e-03f, -1.647391958e-03f, -1.647449591e-03f, -1.647504374e-03f, -1.647556307e-03f, -1.647605389e-03f, -1.647651621e-03f, -1.647695002e-03f,
+-1.647735534e-03f, -1.647773215e-03f, -1.647808046e-03f, -1.647840028e-03f, -1.647869159e-03f, -1.647895441e-03f, -1.647918874e-03f, -1.647939457e-03f, -1.647957190e-03f, -1.647972075e-03f,
+-1.647984110e-03f, -1.647993297e-03f, -1.647999635e-03f, -1.648003124e-03f, -1.648003765e-03f, -1.648001557e-03f, -1.647996502e-03f, -1.647988598e-03f, -1.647977847e-03f, -1.647964248e-03f,
+-1.647947802e-03f, -1.647928508e-03f, -1.647906367e-03f, -1.647881380e-03f, -1.647853546e-03f, -1.647822865e-03f, -1.647789338e-03f, -1.647752966e-03f, -1.647713747e-03f, -1.647671683e-03f,
+-1.647626774e-03f, -1.647579019e-03f, -1.647528420e-03f, -1.647474976e-03f, -1.647418688e-03f, -1.647359556e-03f, -1.647297580e-03f, -1.647232760e-03f, -1.647165097e-03f, -1.647094591e-03f,
+-1.647021243e-03f, -1.646945051e-03f, -1.646866018e-03f, -1.646784143e-03f, -1.646699427e-03f, -1.646611869e-03f, -1.646521470e-03f, -1.646428231e-03f, -1.646332151e-03f, -1.646233232e-03f,
+-1.646131473e-03f, -1.646026874e-03f, -1.645919437e-03f, -1.645809161e-03f, -1.645696047e-03f, -1.645580095e-03f, -1.645461305e-03f, -1.645339678e-03f, -1.645215214e-03f, -1.645087914e-03f,
+-1.644957778e-03f, -1.644824806e-03f, -1.644688999e-03f, -1.644550357e-03f, -1.644408881e-03f, -1.644264571e-03f, -1.644117426e-03f, -1.643967449e-03f, -1.643814639e-03f, -1.643658996e-03f,
+-1.643500521e-03f, -1.643339215e-03f, -1.643175078e-03f, -1.643008110e-03f, -1.642838312e-03f, -1.642665684e-03f, -1.642490227e-03f, -1.642311941e-03f, -1.642130826e-03f, -1.641946884e-03f,
+-1.641760114e-03f, -1.641570517e-03f, -1.641378094e-03f, -1.641182845e-03f, -1.640984770e-03f, -1.640783871e-03f, -1.640580147e-03f, -1.640373599e-03f, -1.640164227e-03f, -1.639952033e-03f,
+-1.639737016e-03f, -1.639519177e-03f, -1.639298517e-03f, -1.639075037e-03f, -1.638848736e-03f, -1.638619615e-03f, -1.638387675e-03f, -1.638152917e-03f, -1.637915341e-03f, -1.637674947e-03f,
+-1.637431736e-03f, -1.637185709e-03f, -1.636936866e-03f, -1.636685209e-03f, -1.636430736e-03f, -1.636173450e-03f, -1.635913351e-03f, -1.635650438e-03f, -1.635384714e-03f, -1.635116178e-03f,
+-1.634844832e-03f, -1.634570675e-03f, -1.634293708e-03f, -1.634013933e-03f, -1.633731349e-03f, -1.633445957e-03f, -1.633157759e-03f, -1.632866754e-03f, -1.632572944e-03f, -1.632276328e-03f,
+-1.631976908e-03f, -1.631674684e-03f, -1.631369658e-03f, -1.631061829e-03f, -1.630751198e-03f, -1.630437767e-03f, -1.630121535e-03f, -1.629802504e-03f, -1.629480673e-03f, -1.629156045e-03f,
+-1.628828619e-03f, -1.628498397e-03f, -1.628165379e-03f, -1.627829565e-03f, -1.627490957e-03f, -1.627149556e-03f, -1.626805361e-03f, -1.626458374e-03f, -1.626108596e-03f, -1.625756027e-03f,
+-1.625400668e-03f, -1.625042519e-03f, -1.624681583e-03f, -1.624317858e-03f, -1.623951347e-03f, -1.623582050e-03f, -1.623209968e-03f, -1.622835101e-03f, -1.622457451e-03f, -1.622077017e-03f,
+-1.621693802e-03f, -1.621307806e-03f, -1.620919029e-03f, -1.620527472e-03f, -1.620133137e-03f, -1.619736024e-03f, -1.619336134e-03f, -1.618933468e-03f, -1.618528027e-03f, -1.618119811e-03f,
+-1.617708821e-03f, -1.617295059e-03f, -1.616878524e-03f, -1.616459219e-03f, -1.616037144e-03f, -1.615612299e-03f, -1.615184686e-03f, -1.614754306e-03f, -1.614321159e-03f, -1.613885247e-03f,
+-1.613446569e-03f, -1.613005128e-03f, -1.612560924e-03f, -1.612113958e-03f, -1.611664231e-03f, -1.611211744e-03f, -1.610756498e-03f, -1.610298493e-03f, -1.609837732e-03f, -1.609374213e-03f,
+-1.608907940e-03f, -1.608438912e-03f, -1.607967131e-03f, -1.607492597e-03f, -1.607015311e-03f, -1.606535275e-03f, -1.606052490e-03f, -1.605566956e-03f, -1.605078674e-03f, -1.604587646e-03f,
+-1.604093873e-03f, -1.603597354e-03f, -1.603098093e-03f, -1.602596088e-03f, -1.602091343e-03f, -1.601583856e-03f, -1.601073631e-03f, -1.600560667e-03f, -1.600044965e-03f, -1.599526528e-03f,
+-1.599005355e-03f, -1.598481447e-03f, -1.597954807e-03f, -1.597425435e-03f, -1.596893331e-03f, -1.596358498e-03f, -1.595820935e-03f, -1.595280645e-03f, -1.594737629e-03f, -1.594191886e-03f,
+-1.593643420e-03f, -1.593092229e-03f, -1.592538317e-03f, -1.591981683e-03f, -1.591422329e-03f, -1.590860257e-03f, -1.590295466e-03f, -1.589727959e-03f, -1.589157736e-03f, -1.588584799e-03f,
+-1.588009148e-03f, -1.587430786e-03f, -1.586849712e-03f, -1.586265929e-03f, -1.585679436e-03f, -1.585090237e-03f, -1.584498331e-03f, -1.583903720e-03f, -1.583306405e-03f, -1.582706387e-03f,
+-1.582103668e-03f, -1.581498248e-03f, -1.580890129e-03f, -1.580279312e-03f, -1.579665798e-03f, -1.579049589e-03f, -1.578430685e-03f, -1.577809088e-03f, -1.577184800e-03f, -1.576557820e-03f,
+-1.575928151e-03f, -1.575295794e-03f, -1.574660750e-03f, -1.574023020e-03f, -1.573382606e-03f, -1.572739509e-03f, -1.572093729e-03f, -1.571445269e-03f, -1.570794130e-03f, -1.570140313e-03f,
+-1.569483818e-03f, -1.568824648e-03f, -1.568162804e-03f, -1.567498287e-03f, -1.566831098e-03f, -1.566161239e-03f, -1.565488711e-03f, -1.564813515e-03f, -1.564135652e-03f, -1.563455125e-03f,
+-1.562771934e-03f, -1.562086080e-03f, -1.561397565e-03f, -1.560706390e-03f, -1.560012557e-03f, -1.559316067e-03f, -1.558616921e-03f, -1.557915121e-03f, -1.557210668e-03f, -1.556503563e-03f,
+-1.555793808e-03f, -1.555081404e-03f, -1.554366352e-03f, -1.553648655e-03f, -1.552928312e-03f, -1.552205327e-03f, -1.551479699e-03f, -1.550751431e-03f, -1.550020524e-03f, -1.549286979e-03f,
+-1.548550797e-03f, -1.547811981e-03f, -1.547070531e-03f, -1.546326450e-03f, -1.545579738e-03f, -1.544830396e-03f, -1.544078427e-03f, -1.543323832e-03f, -1.542566611e-03f, -1.541806768e-03f,
+-1.541044303e-03f, -1.540279217e-03f, -1.539511512e-03f, -1.538741190e-03f, -1.537968251e-03f, -1.537192699e-03f, -1.536414533e-03f, -1.535633755e-03f, -1.534850368e-03f, -1.534064372e-03f,
+-1.533275769e-03f, -1.532484561e-03f, -1.531690748e-03f, -1.530894333e-03f, -1.530095317e-03f, -1.529293702e-03f, -1.528489489e-03f, -1.527682679e-03f, -1.526873275e-03f, -1.526061277e-03f,
+-1.525246688e-03f, -1.524429508e-03f, -1.523609740e-03f, -1.522787384e-03f, -1.521962444e-03f, -1.521134919e-03f, -1.520304812e-03f, -1.519472124e-03f, -1.518636857e-03f, -1.517799013e-03f,
+-1.516958592e-03f, -1.516115597e-03f, -1.515270029e-03f, -1.514421890e-03f, -1.513571182e-03f, -1.512717905e-03f, -1.511862063e-03f, -1.511003655e-03f, -1.510142684e-03f, -1.509279152e-03f,
+-1.508413060e-03f, -1.507544410e-03f, -1.506673204e-03f, -1.505799442e-03f, -1.504923128e-03f, -1.504044261e-03f, -1.503162845e-03f, -1.502278881e-03f, -1.501392370e-03f, -1.500503314e-03f,
+-1.499611715e-03f, -1.498717574e-03f, -1.497820894e-03f, -1.496921675e-03f, -1.496019920e-03f, -1.495115631e-03f, -1.494208808e-03f, -1.493299454e-03f, -1.492387570e-03f, -1.491473158e-03f,
+-1.490556221e-03f, -1.489636758e-03f, -1.488714774e-03f, -1.487790268e-03f, -1.486863242e-03f, -1.485933700e-03f, -1.485001641e-03f, -1.484067069e-03f, -1.483129984e-03f, -1.482190389e-03f,
+-1.481248286e-03f, -1.480303675e-03f, -1.479356559e-03f, -1.478406940e-03f, -1.477454819e-03f, -1.476500198e-03f, -1.475543080e-03f, -1.474583465e-03f, -1.473621355e-03f, -1.472656753e-03f,
+-1.471689661e-03f, -1.470720079e-03f, -1.469748010e-03f, -1.468773456e-03f, -1.467796418e-03f, -1.466816898e-03f, -1.465834899e-03f, -1.464850421e-03f, -1.463863467e-03f, -1.462874039e-03f,
+-1.461882139e-03f, -1.460887768e-03f, -1.459890927e-03f, -1.458891621e-03f, -1.457889849e-03f, -1.456885613e-03f, -1.455878917e-03f, -1.454869761e-03f, -1.453858147e-03f, -1.452844078e-03f,
+-1.451827555e-03f, -1.450808580e-03f, -1.449787155e-03f, -1.448763283e-03f, -1.447736963e-03f, -1.446708200e-03f, -1.445676994e-03f, -1.444643348e-03f, -1.443607264e-03f, -1.442568743e-03f,
+-1.441527787e-03f, -1.440484398e-03f, -1.439438579e-03f, -1.438390331e-03f, -1.437339656e-03f, -1.436286556e-03f, -1.435231033e-03f, -1.434173089e-03f, -1.433112726e-03f, -1.432049947e-03f,
+-1.430984752e-03f, -1.429917143e-03f, -1.428847124e-03f, -1.427774696e-03f, -1.426699860e-03f, -1.425622619e-03f, -1.424542976e-03f, -1.423460931e-03f, -1.422376486e-03f, -1.421289645e-03f,
+-1.420200409e-03f, -1.419108779e-03f, -1.418014758e-03f, -1.416918349e-03f, -1.415819552e-03f, -1.414718370e-03f, -1.413614805e-03f, -1.412508860e-03f, -1.411400535e-03f, -1.410289834e-03f,
+-1.409176758e-03f, -1.408061309e-03f, -1.406943489e-03f, -1.405823301e-03f, -1.404700747e-03f, -1.403575828e-03f, -1.402448546e-03f, -1.401318905e-03f, -1.400186905e-03f, -1.399052549e-03f,
+-1.397915839e-03f, -1.396776777e-03f, -1.395635365e-03f, -1.394491606e-03f, -1.393345500e-03f, -1.392197052e-03f, -1.391046262e-03f, -1.389893133e-03f, -1.388737667e-03f, -1.387579865e-03f,
+-1.386419731e-03f, -1.385257266e-03f, -1.384092473e-03f, -1.382925353e-03f, -1.381755909e-03f, -1.380584143e-03f, -1.379410056e-03f, -1.378233652e-03f, -1.377054933e-03f, -1.375873899e-03f,
+-1.374690555e-03f, -1.373504901e-03f, -1.372316941e-03f, -1.371126675e-03f, -1.369934107e-03f, -1.368739239e-03f, -1.367542072e-03f, -1.366342610e-03f, -1.365140853e-03f, -1.363936805e-03f,
+-1.362730468e-03f, -1.361521843e-03f, -1.360310934e-03f, -1.359097741e-03f, -1.357882269e-03f, -1.356664518e-03f, -1.355444491e-03f, -1.354222190e-03f, -1.352997617e-03f, -1.351770776e-03f,
+-1.350541667e-03f, -1.349310293e-03f, -1.348076657e-03f, -1.346840761e-03f, -1.345602606e-03f, -1.344362196e-03f, -1.343119532e-03f, -1.341874617e-03f, -1.340627453e-03f, -1.339378043e-03f,
+-1.338126388e-03f, -1.336872491e-03f, -1.335616354e-03f, -1.334357980e-03f, -1.333097370e-03f, -1.331834528e-03f, -1.330569455e-03f, -1.329302153e-03f, -1.328032626e-03f, -1.326760876e-03f,
+-1.325486903e-03f, -1.324210712e-03f, -1.322932305e-03f, -1.321651683e-03f, -1.320368849e-03f, -1.319083805e-03f, -1.317796554e-03f, -1.316507098e-03f, -1.315215440e-03f, -1.313921581e-03f,
+-1.312625525e-03f, -1.311327273e-03f, -1.310026827e-03f, -1.308724192e-03f, -1.307419367e-03f, -1.306112357e-03f, -1.304803163e-03f, -1.303491788e-03f, -1.302178234e-03f, -1.300862503e-03f,
+-1.299544599e-03f, -1.298224523e-03f, -1.296902277e-03f, -1.295577865e-03f, -1.294251289e-03f, -1.292922550e-03f, -1.291591652e-03f, -1.290258596e-03f, -1.288923386e-03f, -1.287586023e-03f,
+-1.286246511e-03f, -1.284904851e-03f, -1.283561046e-03f, -1.282215099e-03f, -1.280867011e-03f, -1.279516786e-03f, -1.278164426e-03f, -1.276809933e-03f, -1.275453309e-03f, -1.274094558e-03f,
+-1.272733681e-03f, -1.271370682e-03f, -1.270005562e-03f, -1.268638324e-03f, -1.267268970e-03f, -1.265897504e-03f, -1.264523927e-03f, -1.263148243e-03f, -1.261770452e-03f, -1.260390559e-03f,
+-1.259008566e-03f, -1.257624474e-03f, -1.256238287e-03f, -1.254850007e-03f, -1.253459636e-03f, -1.252067178e-03f, -1.250672634e-03f, -1.249276008e-03f, -1.247877301e-03f, -1.246476516e-03f,
+-1.245073656e-03f, -1.243668723e-03f, -1.242261721e-03f, -1.240852650e-03f, -1.239441515e-03f, -1.238028317e-03f, -1.236613059e-03f, -1.235195744e-03f, -1.233776373e-03f, -1.232354951e-03f,
+-1.230931479e-03f, -1.229505960e-03f, -1.228078396e-03f, -1.226648791e-03f, -1.225217146e-03f, -1.223783464e-03f, -1.222347748e-03f, -1.220910001e-03f, -1.219470225e-03f, -1.218028422e-03f,
+-1.216584595e-03f, -1.215138748e-03f, -1.213690881e-03f, -1.212240999e-03f, -1.210789104e-03f, -1.209335198e-03f, -1.207879284e-03f, -1.206421364e-03f, -1.204961442e-03f, -1.203499520e-03f,
+-1.202035600e-03f, -1.200569685e-03f, -1.199101778e-03f, -1.197631881e-03f, -1.196159998e-03f, -1.194686130e-03f, -1.193210280e-03f, -1.191732452e-03f, -1.190252647e-03f, -1.188770869e-03f,
+-1.187287120e-03f, -1.185801403e-03f, -1.184313720e-03f, -1.182824074e-03f, -1.181332468e-03f, -1.179838904e-03f, -1.178343386e-03f, -1.176845915e-03f, -1.175346496e-03f, -1.173845129e-03f,
+-1.172341818e-03f, -1.170836566e-03f, -1.169329376e-03f, -1.167820249e-03f, -1.166309189e-03f, -1.164796199e-03f, -1.163281282e-03f, -1.161764439e-03f, -1.160245674e-03f, -1.158724989e-03f,
+-1.157202388e-03f, -1.155677872e-03f, -1.154151445e-03f, -1.152623110e-03f, -1.151092869e-03f, -1.149560725e-03f, -1.148026680e-03f, -1.146490738e-03f, -1.144952901e-03f, -1.143413172e-03f,
+-1.141871554e-03f, -1.140328049e-03f, -1.138782661e-03f, -1.137235392e-03f, -1.135686244e-03f, -1.134135222e-03f, -1.132582326e-03f, -1.131027561e-03f, -1.129470929e-03f, -1.127912433e-03f,
+-1.126352075e-03f, -1.124789859e-03f, -1.123225787e-03f, -1.121659861e-03f, -1.120092086e-03f, -1.118522463e-03f, -1.116950996e-03f, -1.115377687e-03f, -1.113802540e-03f, -1.112225556e-03f,
+-1.110646739e-03f, -1.109066091e-03f, -1.107483616e-03f, -1.105899316e-03f, -1.104313195e-03f, -1.102725254e-03f, -1.101135497e-03f, -1.099543927e-03f, -1.097950546e-03f, -1.096355357e-03f,
+-1.094758364e-03f, -1.093159569e-03f, -1.091558975e-03f, -1.089956584e-03f, -1.088352401e-03f, -1.086746427e-03f, -1.085138665e-03f, -1.083529119e-03f, -1.081917790e-03f, -1.080304683e-03f,
+-1.078689800e-03f, -1.077073144e-03f, -1.075454717e-03f, -1.073834524e-03f, -1.072212565e-03f, -1.070588846e-03f, -1.068963367e-03f, -1.067336133e-03f, -1.065707146e-03f, -1.064076409e-03f,
+-1.062443926e-03f, -1.060809698e-03f, -1.059173729e-03f, -1.057536021e-03f, -1.055896579e-03f, -1.054255404e-03f, -1.052612500e-03f, -1.050967869e-03f, -1.049321515e-03f, -1.047673440e-03f,
+-1.046023648e-03f, -1.044372140e-03f, -1.042718921e-03f, -1.041063994e-03f, -1.039407360e-03f, -1.037749024e-03f, -1.036088988e-03f, -1.034427254e-03f, -1.032763827e-03f, -1.031098709e-03f,
+-1.029431902e-03f, -1.027763411e-03f, -1.026093238e-03f, -1.024421385e-03f, -1.022747857e-03f, -1.021072655e-03f, -1.019395783e-03f, -1.017717244e-03f, -1.016037041e-03f, -1.014355177e-03f,
+-1.012671654e-03f, -1.010986477e-03f, -1.009299647e-03f, -1.007611168e-03f, -1.005921043e-03f, -1.004229275e-03f, -1.002535867e-03f, -1.000840822e-03f, -9.991441425e-04f, -9.974458322e-04f,
+-9.957458940e-04f, -9.940443308e-04f, -9.923411457e-04f, -9.906363417e-04f, -9.889299219e-04f, -9.872218893e-04f, -9.855122469e-04f, -9.838009977e-04f, -9.820881449e-04f, -9.803736915e-04f,
+-9.786576405e-04f, -9.769399951e-04f, -9.752207581e-04f, -9.734999328e-04f, -9.717775222e-04f, -9.700535293e-04f, -9.683279572e-04f, -9.666008090e-04f, -9.648720878e-04f, -9.631417966e-04f,
+-9.614099385e-04f, -9.596765166e-04f, -9.579415340e-04f, -9.562049938e-04f, -9.544668990e-04f, -9.527272528e-04f, -9.509860582e-04f, -9.492433184e-04f, -9.474990364e-04f, -9.457532154e-04f,
+-9.440058584e-04f, -9.422569686e-04f, -9.405065490e-04f, -9.387546029e-04f, -9.370011332e-04f, -9.352461431e-04f, -9.334896358e-04f, -9.317316143e-04f, -9.299720818e-04f, -9.282110414e-04f,
+-9.264484962e-04f, -9.246844494e-04f, -9.229189041e-04f, -9.211518635e-04f, -9.193833306e-04f, -9.176133086e-04f, -9.158418007e-04f, -9.140688100e-04f, -9.122943396e-04f, -9.105183928e-04f,
+-9.087409726e-04f, -9.069620822e-04f, -9.051817248e-04f, -9.033999036e-04f, -9.016166216e-04f, -8.998318821e-04f, -8.980456882e-04f, -8.962580431e-04f, -8.944689500e-04f, -8.926784120e-04f,
+-8.908864323e-04f, -8.890930142e-04f, -8.872981607e-04f, -8.855018751e-04f, -8.837041605e-04f, -8.819050202e-04f, -8.801044573e-04f, -8.783024750e-04f, -8.764990766e-04f, -8.746942651e-04f,
+-8.728880439e-04f, -8.710804161e-04f, -8.692713849e-04f, -8.674609535e-04f, -8.656491252e-04f, -8.638359031e-04f, -8.620212904e-04f, -8.602052905e-04f, -8.583879064e-04f, -8.565691414e-04f,
+-8.547489988e-04f, -8.529274817e-04f, -8.511045934e-04f, -8.492803372e-04f, -8.474547161e-04f, -8.456277336e-04f, -8.437993927e-04f, -8.419696968e-04f, -8.401386491e-04f, -8.383062528e-04f,
+-8.364725111e-04f, -8.346374274e-04f, -8.328010049e-04f, -8.309632468e-04f, -8.291241563e-04f, -8.272837367e-04f, -8.254419914e-04f, -8.235989234e-04f, -8.217545362e-04f, -8.199088329e-04f,
+-8.180618169e-04f, -8.162134913e-04f, -8.143638595e-04f, -8.125129247e-04f, -8.106606903e-04f, -8.088071594e-04f, -8.069523353e-04f, -8.050962214e-04f, -8.032388210e-04f, -8.013801372e-04f,
+-7.995201734e-04f, -7.976589328e-04f, -7.957964189e-04f, -7.939326348e-04f, -7.920675838e-04f, -7.902012693e-04f, -7.883336945e-04f, -7.864648628e-04f, -7.845947773e-04f, -7.827234416e-04f,
+-7.808508588e-04f, -7.789770322e-04f, -7.771019652e-04f, -7.752256611e-04f, -7.733481232e-04f, -7.714693548e-04f, -7.695893592e-04f, -7.677081397e-04f, -7.658256997e-04f, -7.639420425e-04f,
+-7.620571714e-04f, -7.601710898e-04f, -7.582838009e-04f, -7.563953081e-04f, -7.545056147e-04f, -7.526147241e-04f, -7.507226396e-04f, -7.488293646e-04f, -7.469349023e-04f, -7.450392561e-04f,
+-7.431424294e-04f, -7.412444255e-04f, -7.393452477e-04f, -7.374448995e-04f, -7.355433841e-04f, -7.336407049e-04f, -7.317368653e-04f, -7.298318686e-04f, -7.279257182e-04f, -7.260184174e-04f,
+-7.241099696e-04f, -7.222003782e-04f, -7.202896465e-04f, -7.183777779e-04f, -7.164647758e-04f, -7.145506435e-04f, -7.126353844e-04f, -7.107190019e-04f, -7.088014994e-04f, -7.068828802e-04f,
+-7.049631477e-04f, -7.030423053e-04f, -7.011203564e-04f, -6.991973043e-04f, -6.972731525e-04f, -6.953479044e-04f, -6.934215633e-04f, -6.914941326e-04f, -6.895656157e-04f, -6.876360160e-04f,
+-6.857053369e-04f, -6.837735819e-04f, -6.818407542e-04f, -6.799068574e-04f, -6.779718947e-04f, -6.760358697e-04f, -6.740987857e-04f, -6.721606461e-04f, -6.702214543e-04f, -6.682812139e-04f,
+-6.663399280e-04f, -6.643976003e-04f, -6.624542340e-04f, -6.605098327e-04f, -6.585643997e-04f, -6.566179384e-04f, -6.546704523e-04f, -6.527219449e-04f, -6.507724194e-04f, -6.488218794e-04f,
+-6.468703283e-04f, -6.449177695e-04f, -6.429642064e-04f, -6.410096426e-04f, -6.390540813e-04f, -6.370975261e-04f, -6.351399804e-04f, -6.331814476e-04f, -6.312219311e-04f, -6.292614345e-04f,
+-6.272999612e-04f, -6.253375145e-04f, -6.233740980e-04f, -6.214097151e-04f, -6.194443693e-04f, -6.174780639e-04f, -6.155108025e-04f, -6.135425885e-04f, -6.115734254e-04f, -6.096033166e-04f,
+-6.076322655e-04f, -6.056602758e-04f, -6.036873507e-04f, -6.017134938e-04f, -5.997387085e-04f, -5.977629983e-04f, -5.957863667e-04f, -5.938088171e-04f, -5.918303530e-04f, -5.898509779e-04f,
+-5.878706952e-04f, -5.858895084e-04f, -5.839074211e-04f, -5.819244366e-04f, -5.799405585e-04f, -5.779557902e-04f, -5.759701352e-04f, -5.739835971e-04f, -5.719961792e-04f, -5.700078850e-04f,
+-5.680187182e-04f, -5.660286820e-04f, -5.640377801e-04f, -5.620460159e-04f, -5.600533930e-04f, -5.580599147e-04f, -5.560655846e-04f, -5.540704062e-04f, -5.520743830e-04f, -5.500775185e-04f,
+-5.480798162e-04f, -5.460812796e-04f, -5.440819121e-04f, -5.420817174e-04f, -5.400806988e-04f, -5.380788600e-04f, -5.360762043e-04f, -5.340727354e-04f, -5.320684567e-04f, -5.300633717e-04f,
+-5.280574840e-04f, -5.260507971e-04f, -5.240433144e-04f, -5.220350395e-04f, -5.200259759e-04f, -5.180161272e-04f, -5.160054968e-04f, -5.139940882e-04f, -5.119819050e-04f, -5.099689508e-04f,
+-5.079552289e-04f, -5.059407430e-04f, -5.039254966e-04f, -5.019094932e-04f, -4.998927363e-04f, -4.978752295e-04f, -4.958569763e-04f, -4.938379802e-04f, -4.918182447e-04f, -4.897977734e-04f,
+-4.877765699e-04f, -4.857546376e-04f, -4.837319801e-04f, -4.817086009e-04f, -4.796845036e-04f, -4.776596917e-04f, -4.756341688e-04f, -4.736079383e-04f, -4.715810038e-04f, -4.695533690e-04f,
+-4.675250372e-04f, -4.654960122e-04f, -4.634662973e-04f, -4.614358962e-04f, -4.594048124e-04f, -4.573730494e-04f, -4.553406109e-04f, -4.533075003e-04f, -4.512737212e-04f, -4.492392772e-04f,
+-4.472041718e-04f, -4.451684086e-04f, -4.431319911e-04f, -4.410949229e-04f, -4.390572075e-04f, -4.370188486e-04f, -4.349798496e-04f, -4.329402141e-04f, -4.308999457e-04f, -4.288590480e-04f,
+-4.268175244e-04f, -4.247753787e-04f, -4.227326143e-04f, -4.206892348e-04f, -4.186452437e-04f, -4.166006448e-04f, -4.145554414e-04f, -4.125096372e-04f, -4.104632357e-04f, -4.084162406e-04f,
+-4.063686554e-04f, -4.043204836e-04f, -4.022717289e-04f, -4.002223948e-04f, -3.981724848e-04f, -3.961220027e-04f, -3.940709518e-04f, -3.920193359e-04f, -3.899671585e-04f, -3.879144232e-04f,
+-3.858611335e-04f, -3.838072931e-04f, -3.817529055e-04f, -3.796979743e-04f, -3.776425030e-04f, -3.755864954e-04f, -3.735299549e-04f, -3.714728851e-04f, -3.694152896e-04f, -3.673571721e-04f,
+-3.652985360e-04f, -3.632393851e-04f, -3.611797228e-04f, -3.591195527e-04f, -3.570588785e-04f, -3.549977038e-04f, -3.529360321e-04f, -3.508738670e-04f, -3.488112121e-04f, -3.467480711e-04f,
+-3.446844474e-04f, -3.426203447e-04f, -3.405557667e-04f, -3.384907168e-04f, -3.364251987e-04f, -3.343592160e-04f, -3.322927723e-04f, -3.302258711e-04f, -3.281585161e-04f, -3.260907109e-04f,
+-3.240224591e-04f, -3.219537643e-04f, -3.198846300e-04f, -3.178150599e-04f, -3.157450576e-04f, -3.136746266e-04f, -3.116037707e-04f, -3.095324933e-04f, -3.074607982e-04f, -3.053886888e-04f,
+-3.033161688e-04f, -3.012432419e-04f, -2.991699115e-04f, -2.970961814e-04f, -2.950220551e-04f, -2.929475363e-04f, -2.908726285e-04f, -2.887973353e-04f, -2.867216604e-04f, -2.846456074e-04f,
+-2.825691799e-04f, -2.804923814e-04f, -2.784152157e-04f, -2.763376863e-04f, -2.742597968e-04f, -2.721815508e-04f, -2.701029520e-04f, -2.680240040e-04f, -2.659447103e-04f, -2.638650747e-04f,
+-2.617851006e-04f, -2.597047918e-04f, -2.576241517e-04f, -2.555431842e-04f, -2.534618927e-04f, -2.513802809e-04f, -2.492983524e-04f, -2.472161108e-04f, -2.451335597e-04f, -2.430507028e-04f,
+-2.409675436e-04f, -2.388840859e-04f, -2.368003331e-04f, -2.347162890e-04f, -2.326319571e-04f, -2.305473410e-04f, -2.284624445e-04f, -2.263772710e-04f, -2.242918243e-04f, -2.222061079e-04f,
+-2.201201254e-04f, -2.180338806e-04f, -2.159473769e-04f, -2.138606181e-04f, -2.117736077e-04f, -2.096863494e-04f, -2.075988467e-04f, -2.055111034e-04f, -2.034231230e-04f, -2.013349092e-04f,
+-1.992464655e-04f, -1.971577957e-04f, -1.950689033e-04f, -1.929797919e-04f, -1.908904652e-04f, -1.888009268e-04f, -1.867111803e-04f, -1.846212293e-04f, -1.825310775e-04f, -1.804407285e-04f,
+-1.783501860e-04f, -1.762594534e-04f, -1.741685346e-04f, -1.720774330e-04f, -1.699861523e-04f, -1.678946962e-04f, -1.658030683e-04f, -1.637112721e-04f, -1.616193113e-04f, -1.595271896e-04f,
+-1.574349106e-04f, -1.553424779e-04f, -1.532498950e-04f, -1.511571658e-04f, -1.490642936e-04f, -1.469712823e-04f, -1.448781354e-04f, -1.427848566e-04f, -1.406914494e-04f, -1.385979175e-04f,
+-1.365042646e-04f, -1.344104942e-04f, -1.323166100e-04f, -1.302226156e-04f, -1.281285146e-04f, -1.260343106e-04f, -1.239400074e-04f, -1.218456084e-04f, -1.197511174e-04f, -1.176565379e-04f,
+-1.155618737e-04f, -1.134671282e-04f, -1.113723052e-04f, -1.092774082e-04f, -1.071824409e-04f, -1.050874069e-04f, -1.029923099e-04f, -1.008971534e-04f, -9.880194107e-05f, -9.670667658e-05f,
+-9.461136352e-05f, -9.251600552e-05f, -9.042060621e-05f, -8.832516921e-05f, -8.622969813e-05f, -8.413419662e-05f, -8.203866828e-05f, -7.994311675e-05f, -7.784754565e-05f, -7.575195860e-05f,
+-7.365635923e-05f, -7.156075115e-05f, -6.946513799e-05f, -6.736952338e-05f, -6.527391093e-05f, -6.317830427e-05f, -6.108270702e-05f, -5.898712281e-05f, -5.689155525e-05f, -5.479600796e-05f,
+-5.270048457e-05f, -5.060498870e-05f, -4.850952396e-05f, -4.641409399e-05f, -4.431870239e-05f, -4.222335279e-05f, -4.012804881e-05f, -3.803279406e-05f, -3.593759218e-05f, -3.384244676e-05f,
+-3.174736144e-05f, -2.965233984e-05f, -2.755738556e-05f, -2.546250223e-05f, -2.336769346e-05f, -2.127296287e-05f, -1.917831408e-05f, -1.708375071e-05f, -1.498927636e-05f, -1.289489466e-05f,
+-1.080060921e-05f, -8.706423645e-06f, -6.612341565e-06f, -4.518366587e-06f, -2.424502325e-06f, -3.307523924e-07f, 1.762879599e-06f, 3.856390035e-06f, 5.949775306e-06f, 8.043031800e-06f,
+1.013615590e-05f, 1.222914401e-05f, 1.432199251e-05f, 1.641469778e-05f, 1.850725623e-05f, 2.059966424e-05f, 2.269191821e-05f, 2.478401452e-05f, 2.687594957e-05f, 2.896771976e-05f,
+3.105932147e-05f, 3.315075110e-05f, 3.524200504e-05f, 3.733307969e-05f, 3.942397145e-05f, 4.151467671e-05f, 4.360519187e-05f, 4.569551332e-05f, 4.778563746e-05f, 4.987556070e-05f,
+5.196527942e-05f, 5.405479003e-05f, 5.614408894e-05f, 5.823317253e-05f, 6.032203721e-05f, 6.241067938e-05f, 6.449909545e-05f, 6.658728182e-05f, 6.867523488e-05f, 7.076295105e-05f,
+7.285042673e-05f, 7.493765833e-05f, 7.702464224e-05f, 7.911137488e-05f, 8.119785266e-05f, 8.328407197e-05f, 8.537002924e-05f, 8.745572087e-05f, 8.954114326e-05f, 9.162629284e-05f,
+9.371116600e-05f, 9.579575917e-05f, 9.788006876e-05f, 9.996409117e-05f, 1.020478228e-04f, 1.041312601e-04f, 1.062143995e-04f, 1.082972374e-04f, 1.103797702e-04f, 1.124619943e-04f,
+1.145439061e-04f, 1.166255021e-04f, 1.187067787e-04f, 1.207877322e-04f, 1.228683592e-04f, 1.249486561e-04f, 1.270286192e-04f, 1.291082450e-04f, 1.311875299e-04f, 1.332664703e-04f,
+1.353450627e-04f, 1.374233035e-04f, 1.395011891e-04f, 1.415787160e-04f, 1.436558805e-04f, 1.457326792e-04f, 1.478091084e-04f, 1.498851645e-04f, 1.519608441e-04f, 1.540361434e-04f,
+1.561110591e-04f, 1.581855874e-04f, 1.602597249e-04f, 1.623334680e-04f, 1.644068131e-04f, 1.664797566e-04f, 1.685522951e-04f, 1.706244248e-04f, 1.726961424e-04f, 1.747674441e-04f,
+1.768383265e-04f, 1.789087861e-04f, 1.809788191e-04f, 1.830484222e-04f, 1.851175917e-04f, 1.871863241e-04f, 1.892546158e-04f, 1.913224633e-04f, 1.933898631e-04f, 1.954568115e-04f,
+1.975233051e-04f, 1.995893403e-04f, 2.016549135e-04f, 2.037200212e-04f, 2.057846599e-04f, 2.078488261e-04f, 2.099125161e-04f, 2.119757264e-04f, 2.140384535e-04f, 2.161006939e-04f,
+2.181624441e-04f, 2.202237004e-04f, 2.222844594e-04f, 2.243447175e-04f, 2.264044711e-04f, 2.284637169e-04f, 2.305224511e-04f, 2.325806704e-04f, 2.346383711e-04f, 2.366955497e-04f,
+2.387522028e-04f, 2.408083267e-04f, 2.428639181e-04f, 2.449189732e-04f, 2.469734887e-04f, 2.490274610e-04f, 2.510808865e-04f, 2.531337618e-04f, 2.551860833e-04f, 2.572378476e-04f,
+2.592890511e-04f, 2.613396902e-04f, 2.633897616e-04f, 2.654392616e-04f, 2.674881868e-04f, 2.695365337e-04f, 2.715842986e-04f, 2.736314783e-04f, 2.756780690e-04f, 2.777240674e-04f,
+2.797694699e-04f, 2.818142730e-04f, 2.838584732e-04f, 2.859020671e-04f, 2.879450511e-04f, 2.899874217e-04f, 2.920291755e-04f, 2.940703089e-04f, 2.961108184e-04f, 2.981507006e-04f,
+3.001899519e-04f, 3.022285689e-04f, 3.042665481e-04f, 3.063038860e-04f, 3.083405791e-04f, 3.103766240e-04f, 3.124120171e-04f, 3.144467549e-04f, 3.164808340e-04f, 3.185142510e-04f,
+3.205470022e-04f, 3.225790844e-04f, 3.246104939e-04f, 3.266412273e-04f, 3.286712811e-04f, 3.307006519e-04f, 3.327293362e-04f, 3.347573305e-04f, 3.367846313e-04f, 3.388112353e-04f,
+3.408371389e-04f, 3.428623386e-04f, 3.448868311e-04f, 3.469106128e-04f, 3.489336803e-04f, 3.509560301e-04f, 3.529776588e-04f, 3.549985629e-04f, 3.570187390e-04f, 3.590381836e-04f,
+3.610568933e-04f, 3.630748646e-04f, 3.650920941e-04f, 3.671085783e-04f, 3.691243138e-04f, 3.711392972e-04f, 3.731535249e-04f, 3.751669936e-04f, 3.771796999e-04f, 3.791916402e-04f,
+3.812028112e-04f, 3.832132095e-04f, 3.852228315e-04f, 3.872316739e-04f, 3.892397332e-04f, 3.912470060e-04f, 3.932534890e-04f, 3.952591785e-04f, 3.972640714e-04f, 3.992681640e-04f,
+4.012714530e-04f, 4.032739351e-04f, 4.052756066e-04f, 4.072764644e-04f, 4.092765049e-04f, 4.112757247e-04f, 4.132741204e-04f, 4.152716886e-04f, 4.172684260e-04f, 4.192643290e-04f,
+4.212593944e-04f, 4.232536186e-04f, 4.252469984e-04f, 4.272395302e-04f, 4.292312108e-04f, 4.312220366e-04f, 4.332120044e-04f, 4.352011107e-04f, 4.371893521e-04f, 4.391767253e-04f,
+4.411632269e-04f, 4.431488534e-04f, 4.451336015e-04f, 4.471174678e-04f, 4.491004490e-04f, 4.510825416e-04f, 4.530637423e-04f, 4.550440477e-04f, 4.570234545e-04f, 4.590019592e-04f,
+4.609795585e-04f, 4.629562490e-04f, 4.649320274e-04f, 4.669068903e-04f, 4.688808344e-04f, 4.708538562e-04f, 4.728259524e-04f, 4.747971197e-04f, 4.767673547e-04f, 4.787366540e-04f,
+4.807050144e-04f, 4.826724324e-04f, 4.846389047e-04f, 4.866044280e-04f, 4.885689989e-04f, 4.905326141e-04f, 4.924952702e-04f, 4.944569639e-04f, 4.964176918e-04f, 4.983774507e-04f,
+5.003362372e-04f, 5.022940480e-04f, 5.042508797e-04f, 5.062067289e-04f, 5.081615925e-04f, 5.101154671e-04f, 5.120683492e-04f, 5.140202357e-04f, 5.159711232e-04f, 5.179210084e-04f,
+5.198698879e-04f, 5.218177585e-04f, 5.237646168e-04f, 5.257104596e-04f, 5.276552836e-04f, 5.295990853e-04f, 5.315418616e-04f, 5.334836091e-04f, 5.354243246e-04f, 5.373640046e-04f,
+5.393026461e-04f, 5.412402455e-04f, 5.431767997e-04f, 5.451123054e-04f, 5.470467593e-04f, 5.489801581e-04f, 5.509124985e-04f, 5.528437772e-04f, 5.547739910e-04f, 5.567031366e-04f,
+5.586312107e-04f, 5.605582100e-04f, 5.624841312e-04f, 5.644089712e-04f, 5.663327266e-04f, 5.682553942e-04f, 5.701769707e-04f, 5.720974528e-04f, 5.740168374e-04f, 5.759351210e-04f,
+5.778523005e-04f, 5.797683727e-04f, 5.816833342e-04f, 5.835971819e-04f, 5.855099125e-04f, 5.874215227e-04f, 5.893320093e-04f, 5.912413691e-04f, 5.931495988e-04f, 5.950566951e-04f,
+5.969626550e-04f, 5.988674751e-04f, 6.007711522e-04f, 6.026736830e-04f, 6.045750644e-04f, 6.064752932e-04f, 6.083743660e-04f, 6.102722798e-04f, 6.121690312e-04f, 6.140646171e-04f,
+6.159590343e-04f, 6.178522795e-04f, 6.197443495e-04f, 6.216352412e-04f, 6.235249513e-04f, 6.254134767e-04f, 6.273008141e-04f, 6.291869603e-04f, 6.310719122e-04f, 6.329556666e-04f,
+6.348382202e-04f, 6.367195699e-04f, 6.385997125e-04f, 6.404786448e-04f, 6.423563637e-04f, 6.442328659e-04f, 6.461081484e-04f, 6.479822078e-04f, 6.498550411e-04f, 6.517266451e-04f,
+6.535970166e-04f, 6.554661524e-04f, 6.573340494e-04f, 6.592007045e-04f, 6.610661144e-04f, 6.629302761e-04f, 6.647931863e-04f, 6.666548420e-04f, 6.685152399e-04f, 6.703743769e-04f,
+6.722322500e-04f, 6.740888559e-04f, 6.759441914e-04f, 6.777982536e-04f, 6.796510392e-04f, 6.815025451e-04f, 6.833527682e-04f, 6.852017054e-04f, 6.870493535e-04f, 6.888957094e-04f,
+6.907407700e-04f, 6.925845322e-04f, 6.944269928e-04f, 6.962681488e-04f, 6.981079971e-04f, 6.999465345e-04f, 7.017837579e-04f, 7.036196643e-04f, 7.054542505e-04f, 7.072875134e-04f,
+7.091194500e-04f, 7.109500572e-04f, 7.127793318e-04f, 7.146072707e-04f, 7.164338710e-04f, 7.182591295e-04f, 7.200830432e-04f, 7.219056088e-04f, 7.237268235e-04f, 7.255466841e-04f,
+7.273651875e-04f, 7.291823307e-04f, 7.309981107e-04f, 7.328125242e-04f, 7.346255684e-04f, 7.364372401e-04f, 7.382475363e-04f, 7.400564539e-04f, 7.418639899e-04f, 7.436701412e-04f,
+7.454749049e-04f, 7.472782778e-04f, 7.490802568e-04f, 7.508808391e-04f, 7.526800215e-04f, 7.544778011e-04f, 7.562741747e-04f, 7.580691394e-04f, 7.598626921e-04f, 7.616548298e-04f,
+7.634455495e-04f, 7.652348483e-04f, 7.670227230e-04f, 7.688091706e-04f, 7.705941882e-04f, 7.723777728e-04f, 7.741599213e-04f, 7.759406307e-04f, 7.777198981e-04f, 7.794977205e-04f,
+7.812740949e-04f, 7.830490182e-04f, 7.848224875e-04f, 7.865944998e-04f, 7.883650522e-04f, 7.901341416e-04f, 7.919017651e-04f, 7.936679197e-04f, 7.954326024e-04f, 7.971958103e-04f,
+7.989575404e-04f, 8.007177897e-04f, 8.024765554e-04f, 8.042338343e-04f, 8.059896237e-04f, 8.077439204e-04f, 8.094967217e-04f, 8.112480244e-04f, 8.129978258e-04f, 8.147461228e-04f,
+8.164929125e-04f, 8.182381920e-04f, 8.199819584e-04f, 8.217242086e-04f, 8.234649399e-04f, 8.252041492e-04f, 8.269418337e-04f, 8.286779904e-04f, 8.304126164e-04f, 8.321457089e-04f,
+8.338772648e-04f, 8.356072814e-04f, 8.373357556e-04f, 8.390626846e-04f, 8.407880655e-04f, 8.425118954e-04f, 8.442341714e-04f, 8.459548906e-04f, 8.476740502e-04f, 8.493916472e-04f,
+8.511076788e-04f, 8.528221420e-04f, 8.545350341e-04f, 8.562463521e-04f, 8.579560932e-04f, 8.596642545e-04f, 8.613708331e-04f, 8.630758263e-04f, 8.647792310e-04f, 8.664810446e-04f,
+8.681812640e-04f, 8.698798865e-04f, 8.715769093e-04f, 8.732723294e-04f, 8.749661441e-04f, 8.766583505e-04f, 8.783489457e-04f, 8.800379270e-04f, 8.817252915e-04f, 8.834110365e-04f,
+8.850951589e-04f, 8.867776562e-04f, 8.884585253e-04f, 8.901377636e-04f, 8.918153682e-04f, 8.934913363e-04f, 8.951656650e-04f, 8.968383517e-04f, 8.985093935e-04f, 9.001787876e-04f,
+9.018465312e-04f, 9.035126215e-04f, 9.051770558e-04f, 9.068398312e-04f, 9.085009449e-04f, 9.101603943e-04f, 9.118181765e-04f, 9.134742887e-04f, 9.151287283e-04f, 9.167814923e-04f,
+9.184325781e-04f, 9.200819829e-04f, 9.217297039e-04f, 9.233757385e-04f, 9.250200837e-04f, 9.266627370e-04f, 9.283036955e-04f, 9.299429565e-04f, 9.315805173e-04f, 9.332163751e-04f,
+9.348505272e-04f, 9.364829709e-04f, 9.381137034e-04f, 9.397427221e-04f, 9.413700242e-04f, 9.429956070e-04f, 9.446194678e-04f, 9.462416038e-04f, 9.478620124e-04f, 9.494806909e-04f,
+9.510976365e-04f, 9.527128467e-04f, 9.543263185e-04f, 9.559380495e-04f, 9.575480369e-04f, 9.591562780e-04f, 9.607627701e-04f, 9.623675106e-04f, 9.639704967e-04f, 9.655717259e-04f,
+9.671711954e-04f, 9.687689025e-04f, 9.703648447e-04f, 9.719590193e-04f, 9.735514235e-04f, 9.751420548e-04f, 9.767309105e-04f, 9.783179880e-04f, 9.799032845e-04f, 9.814867975e-04f,
+9.830685244e-04f, 9.846484625e-04f, 9.862266091e-04f, 9.878029617e-04f, 9.893775176e-04f, 9.909502742e-04f, 9.925212289e-04f, 9.940903791e-04f, 9.956577221e-04f, 9.972232554e-04f,
+9.987869764e-04f, 1.000348882e-03f, 1.001908971e-03f, 1.003467239e-03f, 1.005023685e-03f, 1.006578305e-03f, 1.008131097e-03f, 1.009682059e-03f, 1.011231188e-03f, 1.012778481e-03f,
+1.014323936e-03f, 1.015867551e-03f, 1.017409322e-03f, 1.018949247e-03f, 1.020487323e-03f, 1.022023549e-03f, 1.023557921e-03f, 1.025090437e-03f, 1.026621094e-03f, 1.028149890e-03f,
+1.029676822e-03f, 1.031201889e-03f, 1.032725086e-03f, 1.034246412e-03f, 1.035765864e-03f, 1.037283440e-03f, 1.038799137e-03f, 1.040312952e-03f, 1.041824884e-03f, 1.043334929e-03f,
+1.044843086e-03f, 1.046349351e-03f, 1.047853722e-03f, 1.049356196e-03f, 1.050856772e-03f, 1.052355447e-03f, 1.053852217e-03f, 1.055347081e-03f, 1.056840037e-03f, 1.058331081e-03f,
+1.059820211e-03f, 1.061307426e-03f, 1.062792721e-03f, 1.064276095e-03f, 1.065757546e-03f, 1.067237071e-03f, 1.068714667e-03f, 1.070190332e-03f, 1.071664064e-03f, 1.073135860e-03f,
+1.074605718e-03f, 1.076073635e-03f, 1.077539610e-03f, 1.079003638e-03f, 1.080465719e-03f, 1.081925849e-03f, 1.083384026e-03f, 1.084840249e-03f, 1.086294513e-03f, 1.087746818e-03f,
+1.089197160e-03f, 1.090645538e-03f, 1.092091948e-03f, 1.093536389e-03f, 1.094978857e-03f, 1.096419352e-03f, 1.097857869e-03f, 1.099294408e-03f, 1.100728965e-03f, 1.102161538e-03f,
+1.103592125e-03f, 1.105020724e-03f, 1.106447332e-03f, 1.107871946e-03f, 1.109294565e-03f, 1.110715186e-03f, 1.112133806e-03f, 1.113550424e-03f, 1.114965037e-03f, 1.116377642e-03f,
+1.117788238e-03f, 1.119196822e-03f, 1.120603392e-03f, 1.122007945e-03f, 1.123410479e-03f, 1.124810992e-03f, 1.126209481e-03f, 1.127605945e-03f, 1.129000380e-03f, 1.130392785e-03f,
+1.131783158e-03f, 1.133171495e-03f, 1.134557795e-03f, 1.135942056e-03f, 1.137324274e-03f, 1.138704449e-03f, 1.140082577e-03f, 1.141458656e-03f, 1.142832685e-03f, 1.144204660e-03f,
+1.145574580e-03f, 1.146942442e-03f, 1.148308244e-03f, 1.149671985e-03f, 1.151033660e-03f, 1.152393269e-03f, 1.153750809e-03f, 1.155106279e-03f, 1.156459674e-03f, 1.157810994e-03f,
+1.159160237e-03f, 1.160507399e-03f, 1.161852479e-03f, 1.163195475e-03f, 1.164536384e-03f, 1.165875205e-03f, 1.167211934e-03f, 1.168546570e-03f, 1.169879111e-03f, 1.171209554e-03f,
+1.172537897e-03f, 1.173864139e-03f, 1.175188276e-03f, 1.176510307e-03f, 1.177830230e-03f, 1.179148042e-03f, 1.180463741e-03f, 1.181777326e-03f, 1.183088793e-03f, 1.184398141e-03f,
+1.185705368e-03f, 1.187010471e-03f, 1.188313449e-03f, 1.189614299e-03f, 1.190913019e-03f, 1.192209607e-03f, 1.193504061e-03f, 1.194796378e-03f, 1.196086558e-03f, 1.197374596e-03f,
+1.198660492e-03f, 1.199944244e-03f, 1.201225849e-03f, 1.202505305e-03f, 1.203782610e-03f, 1.205057761e-03f, 1.206330758e-03f, 1.207601598e-03f, 1.208870278e-03f, 1.210136797e-03f,
+1.211401152e-03f, 1.212663342e-03f, 1.213923365e-03f, 1.215181218e-03f, 1.216436899e-03f, 1.217690407e-03f, 1.218941738e-03f, 1.220190893e-03f, 1.221437867e-03f, 1.222682659e-03f,
+1.223925268e-03f, 1.225165690e-03f, 1.226403925e-03f, 1.227639970e-03f, 1.228873823e-03f, 1.230105482e-03f, 1.231334945e-03f, 1.232562210e-03f, 1.233787275e-03f, 1.235010138e-03f,
+1.236230797e-03f, 1.237449250e-03f, 1.238665496e-03f, 1.239879531e-03f, 1.241091355e-03f, 1.242300965e-03f, 1.243508359e-03f, 1.244713535e-03f, 1.245916492e-03f, 1.247117227e-03f,
+1.248315738e-03f, 1.249512024e-03f, 1.250706082e-03f, 1.251897911e-03f, 1.253087509e-03f, 1.254274873e-03f, 1.255460002e-03f, 1.256642894e-03f, 1.257823547e-03f, 1.259001959e-03f,
+1.260178128e-03f, 1.261352052e-03f, 1.262523729e-03f, 1.263693158e-03f, 1.264860337e-03f, 1.266025263e-03f, 1.267187935e-03f, 1.268348351e-03f, 1.269506508e-03f, 1.270662406e-03f,
+1.271816042e-03f, 1.272967414e-03f, 1.274116521e-03f, 1.275263361e-03f, 1.276407931e-03f, 1.277550231e-03f, 1.278690257e-03f, 1.279828009e-03f, 1.280963484e-03f, 1.282096681e-03f,
+1.283227597e-03f, 1.284356232e-03f, 1.285482582e-03f, 1.286606647e-03f, 1.287728425e-03f, 1.288847913e-03f, 1.289965110e-03f, 1.291080014e-03f, 1.292192623e-03f, 1.293302936e-03f,
+1.294410950e-03f, 1.295516665e-03f, 1.296620077e-03f, 1.297721186e-03f, 1.298819989e-03f, 1.299916486e-03f, 1.301010673e-03f, 1.302102550e-03f, 1.303192114e-03f, 1.304279364e-03f,
+1.305364298e-03f, 1.306446914e-03f, 1.307527211e-03f, 1.308605186e-03f, 1.309680839e-03f, 1.310754167e-03f, 1.311825169e-03f, 1.312893842e-03f, 1.313960186e-03f, 1.315024198e-03f,
+1.316085877e-03f, 1.317145221e-03f, 1.318202229e-03f, 1.319256898e-03f, 1.320309227e-03f, 1.321359214e-03f, 1.322406859e-03f, 1.323452158e-03f, 1.324495110e-03f, 1.325535714e-03f,
+1.326573968e-03f, 1.327609870e-03f, 1.328643419e-03f, 1.329674612e-03f, 1.330703449e-03f, 1.331729928e-03f, 1.332754047e-03f, 1.333775804e-03f, 1.334795198e-03f, 1.335812227e-03f,
+1.336826889e-03f, 1.337839184e-03f, 1.338849108e-03f, 1.339856662e-03f, 1.340861842e-03f, 1.341864648e-03f, 1.342865078e-03f, 1.343863130e-03f, 1.344858803e-03f, 1.345852094e-03f,
+1.346843004e-03f, 1.347831529e-03f, 1.348817669e-03f, 1.349801421e-03f, 1.350782784e-03f, 1.351761758e-03f, 1.352738339e-03f, 1.353712527e-03f, 1.354684320e-03f, 1.355653716e-03f,
+1.356620715e-03f, 1.357585313e-03f, 1.358547511e-03f, 1.359507306e-03f, 1.360464696e-03f, 1.361419681e-03f, 1.362372259e-03f, 1.363322428e-03f, 1.364270187e-03f, 1.365215534e-03f,
+1.366158467e-03f, 1.367098986e-03f, 1.368037089e-03f, 1.368972774e-03f, 1.369906040e-03f, 1.370836886e-03f, 1.371765309e-03f, 1.372691308e-03f, 1.373614883e-03f, 1.374536031e-03f,
+1.375454751e-03f, 1.376371041e-03f, 1.377284901e-03f, 1.378196328e-03f, 1.379105322e-03f, 1.380011880e-03f, 1.380916002e-03f, 1.381817685e-03f, 1.382716930e-03f, 1.383613733e-03f,
+1.384508094e-03f, 1.385400012e-03f, 1.386289484e-03f, 1.387176510e-03f, 1.388061088e-03f, 1.388943217e-03f, 1.389822895e-03f, 1.390700120e-03f, 1.391574893e-03f, 1.392447211e-03f,
+1.393317072e-03f, 1.394184476e-03f, 1.395049422e-03f, 1.395911906e-03f, 1.396771930e-03f, 1.397629490e-03f, 1.398484586e-03f, 1.399337217e-03f, 1.400187380e-03f, 1.401035075e-03f,
+1.401880301e-03f, 1.402723056e-03f, 1.403563338e-03f, 1.404401147e-03f, 1.405236481e-03f, 1.406069339e-03f, 1.406899719e-03f, 1.407727621e-03f, 1.408553043e-03f, 1.409375983e-03f,
+1.410196440e-03f, 1.411014414e-03f, 1.411829903e-03f, 1.412642905e-03f, 1.413453419e-03f, 1.414261444e-03f, 1.415066980e-03f, 1.415870023e-03f, 1.416670574e-03f, 1.417468631e-03f,
+1.418264193e-03f, 1.419057259e-03f, 1.419847826e-03f, 1.420635895e-03f, 1.421421464e-03f, 1.422204532e-03f, 1.422985097e-03f, 1.423763158e-03f, 1.424538714e-03f, 1.425311764e-03f,
+1.426082307e-03f, 1.426850341e-03f, 1.427615866e-03f, 1.428378879e-03f, 1.429139381e-03f, 1.429897369e-03f, 1.430652843e-03f, 1.431405802e-03f, 1.432156243e-03f, 1.432904167e-03f,
+1.433649572e-03f, 1.434392456e-03f, 1.435132820e-03f, 1.435870661e-03f, 1.436605978e-03f, 1.437338770e-03f, 1.438069037e-03f, 1.438796777e-03f, 1.439521988e-03f, 1.440244671e-03f,
+1.440964823e-03f, 1.441682444e-03f, 1.442397532e-03f, 1.443110087e-03f, 1.443820107e-03f, 1.444527591e-03f, 1.445232539e-03f, 1.445934949e-03f, 1.446634819e-03f, 1.447332150e-03f,
+1.448026940e-03f, 1.448719187e-03f, 1.449408891e-03f, 1.450096051e-03f, 1.450780666e-03f, 1.451462734e-03f, 1.452142255e-03f, 1.452819228e-03f, 1.453493651e-03f, 1.454165523e-03f,
+1.454834845e-03f, 1.455501613e-03f, 1.456165829e-03f, 1.456827489e-03f, 1.457486595e-03f, 1.458143144e-03f, 1.458797135e-03f, 1.459448568e-03f, 1.460097441e-03f, 1.460743754e-03f,
+1.461387506e-03f, 1.462028696e-03f, 1.462667322e-03f, 1.463303383e-03f, 1.463936880e-03f, 1.464567810e-03f, 1.465196174e-03f, 1.465821969e-03f, 1.466445195e-03f, 1.467065852e-03f,
+1.467683937e-03f, 1.468299451e-03f, 1.468912392e-03f, 1.469522759e-03f, 1.470130552e-03f, 1.470735770e-03f, 1.471338411e-03f, 1.471938475e-03f, 1.472535961e-03f, 1.473130868e-03f,
+1.473723195e-03f, 1.474312941e-03f, 1.474900106e-03f, 1.475484688e-03f, 1.476066687e-03f, 1.476646101e-03f, 1.477222931e-03f, 1.477797175e-03f, 1.478368831e-03f, 1.478937901e-03f,
+1.479504382e-03f, 1.480068273e-03f, 1.480629575e-03f, 1.481188285e-03f, 1.481744404e-03f, 1.482297930e-03f, 1.482848863e-03f, 1.483397202e-03f, 1.483942946e-03f, 1.484486094e-03f,
+1.485026645e-03f, 1.485564600e-03f, 1.486099956e-03f, 1.486632713e-03f, 1.487162870e-03f, 1.487690427e-03f, 1.488215383e-03f, 1.488737737e-03f, 1.489257488e-03f, 1.489774635e-03f,
+1.490289179e-03f, 1.490801117e-03f, 1.491310450e-03f, 1.491817176e-03f, 1.492321296e-03f, 1.492822807e-03f, 1.493321710e-03f, 1.493818003e-03f, 1.494311686e-03f, 1.494802759e-03f,
+1.495291220e-03f, 1.495777069e-03f, 1.496260306e-03f, 1.496740928e-03f, 1.497218937e-03f, 1.497694331e-03f, 1.498167109e-03f, 1.498637271e-03f, 1.499104816e-03f, 1.499569744e-03f,
+1.500032053e-03f, 1.500491744e-03f, 1.500948815e-03f, 1.501403266e-03f, 1.501855096e-03f, 1.502304305e-03f, 1.502750892e-03f, 1.503194856e-03f, 1.503636197e-03f, 1.504074914e-03f,
+1.504511007e-03f, 1.504944474e-03f, 1.505375316e-03f, 1.505803532e-03f, 1.506229120e-03f, 1.506652082e-03f, 1.507072415e-03f, 1.507490120e-03f, 1.507905195e-03f, 1.508317641e-03f,
+1.508727456e-03f, 1.509134640e-03f, 1.509539194e-03f, 1.509941115e-03f, 1.510340403e-03f, 1.510737059e-03f, 1.511131080e-03f, 1.511522468e-03f, 1.511911221e-03f, 1.512297339e-03f,
+1.512680821e-03f, 1.513061667e-03f, 1.513439877e-03f, 1.513815449e-03f, 1.514188383e-03f, 1.514558679e-03f, 1.514926337e-03f, 1.515291355e-03f, 1.515653733e-03f, 1.516013472e-03f,
+1.516370569e-03f, 1.516725026e-03f, 1.517076841e-03f, 1.517426014e-03f, 1.517772545e-03f, 1.518116433e-03f, 1.518457677e-03f, 1.518796277e-03f, 1.519132234e-03f, 1.519465545e-03f,
+1.519796212e-03f, 1.520124233e-03f, 1.520449608e-03f, 1.520772337e-03f, 1.521092419e-03f, 1.521409854e-03f, 1.521724641e-03f, 1.522036781e-03f, 1.522346272e-03f, 1.522653114e-03f,
+1.522957308e-03f, 1.523258852e-03f, 1.523557746e-03f, 1.523853989e-03f, 1.524147583e-03f, 1.524438525e-03f, 1.524726816e-03f, 1.525012455e-03f, 1.525295443e-03f, 1.525575778e-03f,
+1.525853461e-03f, 1.526128490e-03f, 1.526400866e-03f, 1.526670589e-03f, 1.526937658e-03f, 1.527202072e-03f, 1.527463832e-03f, 1.527722937e-03f, 1.527979387e-03f, 1.528233182e-03f,
+1.528484320e-03f, 1.528732803e-03f, 1.528978630e-03f, 1.529221800e-03f, 1.529462313e-03f, 1.529700169e-03f, 1.529935368e-03f, 1.530167909e-03f, 1.530397792e-03f, 1.530625017e-03f,
+1.530849584e-03f, 1.531071492e-03f, 1.531290742e-03f, 1.531507332e-03f, 1.531721263e-03f, 1.531932535e-03f, 1.532141147e-03f, 1.532347099e-03f, 1.532550390e-03f, 1.532751022e-03f,
+1.532948993e-03f, 1.533144303e-03f, 1.533336953e-03f, 1.533526941e-03f, 1.533714269e-03f, 1.533898934e-03f, 1.534080939e-03f, 1.534260281e-03f, 1.534436962e-03f, 1.534610980e-03f,
+1.534782336e-03f, 1.534951030e-03f, 1.535117062e-03f, 1.535280431e-03f, 1.535441137e-03f, 1.535599180e-03f, 1.535754560e-03f, 1.535907277e-03f, 1.536057331e-03f, 1.536204721e-03f,
+1.536349448e-03f, 1.536491512e-03f, 1.536630912e-03f, 1.536767648e-03f, 1.536901720e-03f, 1.537033128e-03f, 1.537161873e-03f, 1.537287953e-03f, 1.537411369e-03f, 1.537532121e-03f,
+1.537650209e-03f, 1.537765633e-03f, 1.537878392e-03f, 1.537988487e-03f, 1.538095918e-03f, 1.538200684e-03f, 1.538302785e-03f, 1.538402222e-03f, 1.538498995e-03f, 1.538593103e-03f,
+1.538684546e-03f, 1.538773325e-03f, 1.538859440e-03f, 1.538942889e-03f, 1.539023675e-03f, 1.539101795e-03f, 1.539177252e-03f, 1.539250043e-03f, 1.539320171e-03f, 1.539387633e-03f,
+1.539452432e-03f, 1.539514566e-03f, 1.539574036e-03f, 1.539630841e-03f, 1.539684982e-03f, 1.539736460e-03f, 1.539785273e-03f, 1.539831422e-03f, 1.539874907e-03f, 1.539915728e-03f,
+1.539953885e-03f, 1.539989379e-03f, 1.540022209e-03f, 1.540052375e-03f, 1.540079878e-03f, 1.540104718e-03f, 1.540126895e-03f, 1.540146408e-03f, 1.540163258e-03f, 1.540177446e-03f,
+1.540188971e-03f, 1.540197833e-03f, 1.540204033e-03f, 1.540207570e-03f, 1.540208445e-03f, 1.540206659e-03f, 1.540202210e-03f, 1.540195100e-03f, 1.540185328e-03f, 1.540172894e-03f,
+1.540157800e-03f, 1.540140044e-03f, 1.540119628e-03f, 1.540096551e-03f, 1.540070813e-03f, 1.540042415e-03f, 1.540011357e-03f, 1.539977639e-03f, 1.539941262e-03f, 1.539902225e-03f,
+1.539860529e-03f, 1.539816174e-03f, 1.539769160e-03f, 1.539719487e-03f, 1.539667156e-03f, 1.539612168e-03f, 1.539554521e-03f, 1.539494217e-03f, 1.539431255e-03f, 1.539365636e-03f,
+1.539297361e-03f, 1.539226429e-03f, 1.539152841e-03f, 1.539076597e-03f, 1.538997697e-03f, 1.538916142e-03f, 1.538831931e-03f, 1.538745066e-03f, 1.538655546e-03f, 1.538563372e-03f,
+1.538468545e-03f, 1.538371063e-03f, 1.538270929e-03f, 1.538168141e-03f, 1.538062701e-03f, 1.537954608e-03f, 1.537843864e-03f, 1.537730468e-03f, 1.537614421e-03f, 1.537495723e-03f,
+1.537374374e-03f, 1.537250375e-03f, 1.537123727e-03f, 1.536994429e-03f, 1.536862482e-03f, 1.536727886e-03f, 1.536590642e-03f, 1.536450750e-03f, 1.536308210e-03f, 1.536163023e-03f,
+1.536015190e-03f, 1.535864710e-03f, 1.535711584e-03f, 1.535555813e-03f, 1.535397397e-03f, 1.535236336e-03f, 1.535072631e-03f, 1.534906282e-03f, 1.534737290e-03f, 1.534565655e-03f,
+1.534391377e-03f, 1.534214457e-03f, 1.534034896e-03f, 1.533852694e-03f, 1.533667851e-03f, 1.533480368e-03f, 1.533290245e-03f, 1.533097483e-03f, 1.532902083e-03f, 1.532704044e-03f,
+1.532503367e-03f, 1.532300053e-03f, 1.532094103e-03f, 1.531885516e-03f, 1.531674293e-03f, 1.531460435e-03f, 1.531243943e-03f, 1.531024816e-03f, 1.530803056e-03f, 1.530578663e-03f,
+1.530351637e-03f, 1.530121979e-03f, 1.529889689e-03f, 1.529654769e-03f, 1.529417218e-03f, 1.529177038e-03f, 1.528934228e-03f, 1.528688789e-03f, 1.528440723e-03f, 1.528190029e-03f,
+1.527936708e-03f, 1.527680760e-03f, 1.527422187e-03f, 1.527160989e-03f, 1.526897166e-03f, 1.526630719e-03f, 1.526361649e-03f, 1.526089956e-03f, 1.525815641e-03f, 1.525538705e-03f,
+1.525259147e-03f, 1.524976970e-03f, 1.524692172e-03f, 1.524404756e-03f, 1.524114722e-03f, 1.523822070e-03f, 1.523526801e-03f, 1.523228915e-03f, 1.522928414e-03f, 1.522625298e-03f,
+1.522319567e-03f, 1.522011223e-03f, 1.521700266e-03f, 1.521386697e-03f, 1.521070516e-03f, 1.520751724e-03f, 1.520430322e-03f, 1.520106310e-03f, 1.519779690e-03f, 1.519450461e-03f,
+1.519118625e-03f, 1.518784183e-03f, 1.518447135e-03f, 1.518107481e-03f, 1.517765223e-03f, 1.517420361e-03f, 1.517072897e-03f, 1.516722830e-03f, 1.516370161e-03f, 1.516014892e-03f,
+1.515657023e-03f, 1.515296555e-03f, 1.514933489e-03f, 1.514567824e-03f, 1.514199563e-03f, 1.513828706e-03f, 1.513455254e-03f, 1.513079207e-03f, 1.512700566e-03f, 1.512319333e-03f,
+1.511935507e-03f, 1.511549091e-03f, 1.511160084e-03f, 1.510768487e-03f, 1.510374301e-03f, 1.509977527e-03f, 1.509578167e-03f, 1.509176220e-03f, 1.508771687e-03f, 1.508364570e-03f,
+1.507954869e-03f, 1.507542585e-03f, 1.507127719e-03f, 1.506710272e-03f, 1.506290245e-03f, 1.505867638e-03f, 1.505442453e-03f, 1.505014690e-03f, 1.504584350e-03f, 1.504151434e-03f,
+1.503715943e-03f, 1.503277879e-03f, 1.502837241e-03f, 1.502394030e-03f, 1.501948248e-03f, 1.501499896e-03f, 1.501048974e-03f, 1.500595484e-03f, 1.500139426e-03f, 1.499680801e-03f,
+1.499219610e-03f, 1.498755855e-03f, 1.498289535e-03f, 1.497820653e-03f, 1.497349208e-03f, 1.496875203e-03f, 1.496398637e-03f, 1.495919512e-03f, 1.495437829e-03f, 1.494953589e-03f,
+1.494466793e-03f, 1.493977442e-03f, 1.493485536e-03f, 1.492991077e-03f, 1.492494066e-03f, 1.491994504e-03f, 1.491492391e-03f, 1.490987729e-03f, 1.490480519e-03f, 1.489970762e-03f,
+1.489458459e-03f, 1.488943611e-03f, 1.488426219e-03f, 1.487906283e-03f, 1.487383806e-03f, 1.486858788e-03f, 1.486331230e-03f, 1.485801133e-03f, 1.485268498e-03f, 1.484733327e-03f,
+1.484195620e-03f, 1.483655378e-03f, 1.483112603e-03f, 1.482567296e-03f, 1.482019457e-03f, 1.481469088e-03f, 1.480916190e-03f, 1.480360764e-03f, 1.479802811e-03f, 1.479242332e-03f,
+1.478679329e-03f, 1.478113802e-03f, 1.477545753e-03f, 1.476975182e-03f, 1.476402091e-03f, 1.475826481e-03f, 1.475248353e-03f, 1.474667708e-03f, 1.474084548e-03f, 1.473498873e-03f,
+1.472910685e-03f, 1.472319984e-03f, 1.471726773e-03f, 1.471131052e-03f, 1.470532822e-03f, 1.469932084e-03f, 1.469328841e-03f, 1.468723092e-03f, 1.468114839e-03f, 1.467504084e-03f,
+1.466890827e-03f, 1.466275070e-03f, 1.465656813e-03f, 1.465036059e-03f, 1.464412808e-03f, 1.463787062e-03f, 1.463158821e-03f, 1.462528087e-03f, 1.461894861e-03f, 1.461259145e-03f,
+1.460620940e-03f, 1.459980246e-03f, 1.459337066e-03f, 1.458691400e-03f, 1.458043250e-03f, 1.457392617e-03f, 1.456739501e-03f, 1.456083906e-03f, 1.455425831e-03f, 1.454765278e-03f,
+1.454102249e-03f, 1.453436744e-03f, 1.452768765e-03f, 1.452098313e-03f, 1.451425390e-03f, 1.450749997e-03f, 1.450072134e-03f, 1.449391804e-03f, 1.448709008e-03f, 1.448023747e-03f,
+1.447336022e-03f, 1.446645835e-03f, 1.445953187e-03f, 1.445258080e-03f, 1.444560514e-03f, 1.443860491e-03f, 1.443158013e-03f, 1.442453080e-03f, 1.441745694e-03f, 1.441035857e-03f,
+1.440323570e-03f, 1.439608834e-03f, 1.438891651e-03f, 1.438172022e-03f, 1.437449948e-03f, 1.436725431e-03f, 1.435998472e-03f, 1.435269072e-03f, 1.434537234e-03f, 1.433802958e-03f,
+1.433066245e-03f, 1.432327098e-03f, 1.431585517e-03f, 1.430841505e-03f, 1.430095061e-03f, 1.429346189e-03f, 1.428594889e-03f, 1.427841163e-03f, 1.427085011e-03f, 1.426326437e-03f,
+1.425565440e-03f, 1.424802023e-03f, 1.424036187e-03f, 1.423267934e-03f, 1.422497264e-03f, 1.421724180e-03f, 1.420948683e-03f, 1.420170773e-03f, 1.419390454e-03f, 1.418607726e-03f,
+1.417822591e-03f, 1.417035050e-03f, 1.416245105e-03f, 1.415452757e-03f, 1.414658008e-03f, 1.413860859e-03f, 1.413061312e-03f, 1.412259369e-03f, 1.411455030e-03f, 1.410648297e-03f,
+1.409839173e-03f, 1.409027658e-03f, 1.408213754e-03f, 1.407397462e-03f, 1.406578785e-03f, 1.405757723e-03f, 1.404934278e-03f, 1.404108452e-03f, 1.403280247e-03f, 1.402449663e-03f,
+1.401616703e-03f, 1.400781367e-03f, 1.399943659e-03f, 1.399103578e-03f, 1.398261127e-03f, 1.397416308e-03f, 1.396569122e-03f, 1.395719570e-03f, 1.394867654e-03f, 1.394013376e-03f,
+1.393156737e-03f, 1.392297740e-03f, 1.391436385e-03f, 1.390572674e-03f, 1.389706609e-03f, 1.388838192e-03f, 1.387967424e-03f, 1.387094306e-03f, 1.386218841e-03f, 1.385341030e-03f,
+1.384460875e-03f, 1.383578377e-03f, 1.382693538e-03f, 1.381806360e-03f, 1.380916844e-03f, 1.380024992e-03f, 1.379130806e-03f, 1.378234287e-03f, 1.377335437e-03f, 1.376434258e-03f,
+1.375530751e-03f, 1.374624919e-03f, 1.373716762e-03f, 1.372806283e-03f, 1.371893483e-03f, 1.370978365e-03f, 1.370060928e-03f, 1.369141177e-03f, 1.368219111e-03f, 1.367294733e-03f,
+1.366368044e-03f, 1.365439047e-03f, 1.364507743e-03f, 1.363574134e-03f, 1.362638221e-03f, 1.361700007e-03f, 1.360759492e-03f, 1.359816680e-03f, 1.358871570e-03f, 1.357924167e-03f,
+1.356974470e-03f, 1.356022482e-03f, 1.355068204e-03f, 1.354111639e-03f, 1.353152789e-03f, 1.352191654e-03f, 1.351228237e-03f, 1.350262539e-03f, 1.349294563e-03f, 1.348324310e-03f,
+1.347351782e-03f, 1.346376981e-03f, 1.345399908e-03f, 1.344420566e-03f, 1.343438956e-03f, 1.342455080e-03f, 1.341468940e-03f, 1.340480537e-03f, 1.339489874e-03f, 1.338496953e-03f,
+1.337501775e-03f, 1.336504342e-03f, 1.335504656e-03f, 1.334502718e-03f, 1.333498532e-03f, 1.332492097e-03f, 1.331483418e-03f, 1.330472494e-03f, 1.329459329e-03f, 1.328443923e-03f,
+1.327426280e-03f, 1.326406400e-03f, 1.325384286e-03f, 1.324359940e-03f, 1.323333363e-03f, 1.322304558e-03f, 1.321273525e-03f, 1.320240268e-03f, 1.319204788e-03f, 1.318167087e-03f,
+1.317127167e-03f, 1.316085030e-03f, 1.315040678e-03f, 1.313994112e-03f, 1.312945335e-03f, 1.311894349e-03f, 1.310841155e-03f, 1.309785755e-03f, 1.308728152e-03f, 1.307668348e-03f,
+1.306606344e-03f, 1.305542142e-03f, 1.304475744e-03f, 1.303407153e-03f, 1.302336370e-03f, 1.301263397e-03f, 1.300188236e-03f, 1.299110889e-03f, 1.298031359e-03f, 1.296949646e-03f,
+1.295865754e-03f, 1.294779684e-03f, 1.293691438e-03f, 1.292601018e-03f, 1.291508426e-03f, 1.290413664e-03f, 1.289316735e-03f, 1.288217640e-03f, 1.287116381e-03f, 1.286012960e-03f,
+1.284907379e-03f, 1.283799641e-03f, 1.282689747e-03f, 1.281577699e-03f, 1.280463500e-03f, 1.279347152e-03f, 1.278228656e-03f, 1.277108014e-03f, 1.275985229e-03f, 1.274860303e-03f,
+1.273733238e-03f, 1.272604035e-03f, 1.271472697e-03f, 1.270339227e-03f, 1.269203625e-03f, 1.268065895e-03f, 1.266926037e-03f, 1.265784056e-03f, 1.264639951e-03f, 1.263493726e-03f,
+1.262345383e-03f, 1.261194923e-03f, 1.260042350e-03f, 1.258887664e-03f, 1.257730868e-03f, 1.256571965e-03f, 1.255410956e-03f, 1.254247843e-03f, 1.253082629e-03f, 1.251915316e-03f,
+1.250745905e-03f, 1.249574400e-03f, 1.248400801e-03f, 1.247225112e-03f, 1.246047334e-03f, 1.244867470e-03f, 1.243685522e-03f, 1.242501492e-03f, 1.241315381e-03f, 1.240127193e-03f,
+1.238936929e-03f, 1.237744592e-03f, 1.236550184e-03f, 1.235353707e-03f, 1.234155162e-03f, 1.232954554e-03f, 1.231751882e-03f, 1.230547150e-03f, 1.229340361e-03f, 1.228131515e-03f,
+1.226920616e-03f, 1.225707665e-03f, 1.224492665e-03f, 1.223275618e-03f, 1.222056526e-03f, 1.220835392e-03f, 1.219612217e-03f, 1.218387004e-03f, 1.217159756e-03f, 1.215930473e-03f,
+1.214699159e-03f, 1.213465816e-03f, 1.212230446e-03f, 1.210993052e-03f, 1.209753635e-03f, 1.208512198e-03f, 1.207268743e-03f, 1.206023272e-03f, 1.204775788e-03f, 1.203526293e-03f,
+1.202274789e-03f, 1.201021278e-03f, 1.199765763e-03f, 1.198508247e-03f, 1.197248730e-03f, 1.195987216e-03f, 1.194723707e-03f, 1.193458206e-03f, 1.192190714e-03f, 1.190921233e-03f,
+1.189649767e-03f, 1.188376317e-03f, 1.187100886e-03f, 1.185823476e-03f, 1.184544089e-03f, 1.183262728e-03f, 1.181979395e-03f, 1.180694092e-03f, 1.179406822e-03f, 1.178117587e-03f,
+1.176826390e-03f, 1.175533232e-03f, 1.174238116e-03f, 1.172941045e-03f, 1.171642020e-03f, 1.170341045e-03f, 1.169038121e-03f, 1.167733251e-03f, 1.166426437e-03f, 1.165117681e-03f,
+1.163806987e-03f, 1.162494356e-03f, 1.161179791e-03f, 1.159863293e-03f, 1.158544867e-03f, 1.157224513e-03f, 1.155902234e-03f, 1.154578033e-03f, 1.153251912e-03f, 1.151923874e-03f,
+1.150593920e-03f, 1.149262054e-03f, 1.147928277e-03f, 1.146592592e-03f, 1.145255002e-03f, 1.143915509e-03f, 1.142574115e-03f, 1.141230823e-03f, 1.139885636e-03f, 1.138538555e-03f,
+1.137189583e-03f, 1.135838722e-03f, 1.134485975e-03f, 1.133131345e-03f, 1.131774834e-03f, 1.130416444e-03f, 1.129056178e-03f, 1.127694038e-03f, 1.126330027e-03f, 1.124964147e-03f,
+1.123596400e-03f, 1.122226790e-03f, 1.120855318e-03f, 1.119481987e-03f, 1.118106800e-03f, 1.116729759e-03f, 1.115350866e-03f, 1.113970124e-03f, 1.112587536e-03f, 1.111203104e-03f,
+1.109816830e-03f, 1.108428717e-03f, 1.107038768e-03f, 1.105646984e-03f, 1.104253369e-03f, 1.102857925e-03f, 1.101460655e-03f, 1.100061561e-03f, 1.098660645e-03f, 1.097257910e-03f,
+1.095853359e-03f, 1.094446994e-03f, 1.093038818e-03f, 1.091628833e-03f, 1.090217042e-03f, 1.088803447e-03f, 1.087388051e-03f, 1.085970856e-03f, 1.084551865e-03f, 1.083131081e-03f,
+1.081708506e-03f, 1.080284142e-03f, 1.078857993e-03f, 1.077430060e-03f, 1.076000347e-03f, 1.074568856e-03f, 1.073135589e-03f, 1.071700549e-03f, 1.070263739e-03f, 1.068825161e-03f,
+1.067384818e-03f, 1.065942712e-03f, 1.064498846e-03f, 1.063053223e-03f, 1.061605845e-03f, 1.060156715e-03f, 1.058705835e-03f, 1.057253208e-03f, 1.055798837e-03f, 1.054342724e-03f,
+1.052884872e-03f, 1.051425284e-03f, 1.049963961e-03f, 1.048500907e-03f, 1.047036125e-03f, 1.045569617e-03f, 1.044101385e-03f, 1.042631432e-03f, 1.041159761e-03f, 1.039686375e-03f,
+1.038211276e-03f, 1.036734467e-03f, 1.035255950e-03f, 1.033775728e-03f, 1.032293805e-03f, 1.030810181e-03f, 1.029324861e-03f, 1.027837846e-03f, 1.026349140e-03f, 1.024858745e-03f,
+1.023366664e-03f, 1.021872899e-03f, 1.020377453e-03f, 1.018880329e-03f, 1.017381530e-03f, 1.015881057e-03f, 1.014378915e-03f, 1.012875105e-03f, 1.011369631e-03f, 1.009862494e-03f,
+1.008353698e-03f, 1.006843245e-03f, 1.005331139e-03f, 1.003817381e-03f, 1.002301975e-03f, 1.000784922e-03f, 9.992662272e-04f, 9.977458915e-04f, 9.962239182e-04f, 9.947003100e-04f,
+9.931750696e-04f, 9.916481997e-04f, 9.901197031e-04f, 9.885895824e-04f, 9.870578405e-04f, 9.855244801e-04f, 9.839895039e-04f, 9.824529146e-04f, 9.809147150e-04f, 9.793749079e-04f,
+9.778334961e-04f, 9.762904821e-04f, 9.747458690e-04f, 9.731996593e-04f, 9.716518558e-04f, 9.701024614e-04f, 9.685514788e-04f, 9.669989107e-04f, 9.654447599e-04f, 9.638890293e-04f,
+9.623317216e-04f, 9.607728395e-04f, 9.592123859e-04f, 9.576503635e-04f, 9.560867752e-04f, 9.545216237e-04f, 9.529549118e-04f, 9.513866423e-04f, 9.498168181e-04f, 9.482454419e-04f,
+9.466725164e-04f, 9.450980447e-04f, 9.435220293e-04f, 9.419444733e-04f, 9.403653793e-04f, 9.387847501e-04f, 9.372025887e-04f, 9.356188978e-04f, 9.340336803e-04f, 9.324469390e-04f,
+9.308586766e-04f, 9.292688961e-04f, 9.276776003e-04f, 9.260847920e-04f, 9.244904741e-04f, 9.228946493e-04f, 9.212973206e-04f, 9.196984908e-04f, 9.180981627e-04f, 9.164963393e-04f,
+9.148930232e-04f, 9.132882175e-04f, 9.116819249e-04f, 9.100741483e-04f, 9.084648907e-04f, 9.068541547e-04f, 9.052419434e-04f, 9.036282596e-04f, 9.020131062e-04f, 9.003964860e-04f,
+8.987784019e-04f, 8.971588568e-04f, 8.955378536e-04f, 8.939153952e-04f, 8.922914844e-04f, 8.906661242e-04f, 8.890393174e-04f, 8.874110669e-04f, 8.857813757e-04f, 8.841502466e-04f,
+8.825176825e-04f, 8.808836864e-04f, 8.792482611e-04f, 8.776114096e-04f, 8.759731347e-04f, 8.743334394e-04f, 8.726923266e-04f, 8.710497992e-04f, 8.694058601e-04f, 8.677605122e-04f,
+8.661137586e-04f, 8.644656020e-04f, 8.628160455e-04f, 8.611650919e-04f, 8.595127442e-04f, 8.578590054e-04f, 8.562038783e-04f, 8.545473659e-04f, 8.528894712e-04f, 8.512301971e-04f,
+8.495695465e-04f, 8.479075224e-04f, 8.462441278e-04f, 8.445793656e-04f, 8.429132387e-04f, 8.412457501e-04f, 8.395769028e-04f, 8.379066997e-04f, 8.362351438e-04f, 8.345622381e-04f,
+8.328879855e-04f, 8.312123891e-04f, 8.295354517e-04f, 8.278571763e-04f, 8.261775660e-04f, 8.244966237e-04f, 8.228143524e-04f, 8.211307551e-04f, 8.194458347e-04f, 8.177595943e-04f,
+8.160720368e-04f, 8.143831653e-04f, 8.126929827e-04f, 8.110014920e-04f, 8.093086962e-04f, 8.076145983e-04f, 8.059192014e-04f, 8.042225084e-04f, 8.025245224e-04f, 8.008252463e-04f,
+7.991246831e-04f, 7.974228359e-04f, 7.957197077e-04f, 7.940153015e-04f, 7.923096203e-04f, 7.906026672e-04f, 7.888944452e-04f, 7.871849572e-04f, 7.854742063e-04f, 7.837621956e-04f,
+7.820489281e-04f, 7.803344068e-04f, 7.786186347e-04f, 7.769016149e-04f, 7.751833505e-04f, 7.734638444e-04f, 7.717430997e-04f, 7.700211195e-04f, 7.682979068e-04f, 7.665734646e-04f,
+7.648477960e-04f, 7.631209041e-04f, 7.613927919e-04f, 7.596634625e-04f, 7.579329189e-04f, 7.562011641e-04f, 7.544682014e-04f, 7.527340336e-04f, 7.509986639e-04f, 7.492620954e-04f,
+7.475243311e-04f, 7.457853740e-04f, 7.440452274e-04f, 7.423038942e-04f, 7.405613775e-04f, 7.388176804e-04f, 7.370728060e-04f, 7.353267573e-04f, 7.335795375e-04f, 7.318311496e-04f,
+7.300815968e-04f, 7.283308820e-04f, 7.265790085e-04f, 7.248259793e-04f, 7.230717975e-04f, 7.213164662e-04f, 7.195599884e-04f, 7.178023674e-04f, 7.160436062e-04f, 7.142837079e-04f,
+7.125226756e-04f, 7.107605124e-04f, 7.089972215e-04f, 7.072328059e-04f, 7.054672687e-04f, 7.037006132e-04f, 7.019328423e-04f, 7.001639593e-04f, 6.983939672e-04f, 6.966228691e-04f,
+6.948506682e-04f, 6.930773677e-04f, 6.913029705e-04f, 6.895274800e-04f, 6.877508991e-04f, 6.859732311e-04f, 6.841944791e-04f, 6.824146461e-04f, 6.806337354e-04f, 6.788517501e-04f,
+6.770686933e-04f, 6.752845681e-04f, 6.734993778e-04f, 6.717131254e-04f, 6.699258142e-04f, 6.681374472e-04f, 6.663480276e-04f, 6.645575586e-04f, 6.627660433e-04f, 6.609734848e-04f,
+6.591798864e-04f, 6.573852512e-04f, 6.555895824e-04f, 6.537928830e-04f, 6.519951564e-04f, 6.501964056e-04f, 6.483966338e-04f, 6.465958442e-04f, 6.447940399e-04f, 6.429912242e-04f,
+6.411874002e-04f, 6.393825710e-04f, 6.375767399e-04f, 6.357699101e-04f, 6.339620846e-04f, 6.321532668e-04f, 6.303434597e-04f, 6.285326666e-04f, 6.267208907e-04f, 6.249081351e-04f,
+6.230944030e-04f, 6.212796976e-04f, 6.194640222e-04f, 6.176473799e-04f, 6.158297738e-04f, 6.140112073e-04f, 6.121916834e-04f, 6.103712055e-04f, 6.085497766e-04f, 6.067274001e-04f,
+6.049040791e-04f, 6.030798167e-04f, 6.012546163e-04f, 5.994284810e-04f, 5.976014141e-04f, 5.957734187e-04f, 5.939444981e-04f, 5.921146554e-04f, 5.902838939e-04f, 5.884522169e-04f,
+5.866196274e-04f, 5.847861289e-04f, 5.829517243e-04f, 5.811164171e-04f, 5.792802104e-04f, 5.774431075e-04f, 5.756051115e-04f, 5.737662257e-04f, 5.719264533e-04f, 5.700857976e-04f,
+5.682442617e-04f, 5.664018490e-04f, 5.645585627e-04f, 5.627144059e-04f, 5.608693820e-04f, 5.590234941e-04f, 5.571767456e-04f, 5.553291396e-04f, 5.534806794e-04f, 5.516313682e-04f,
+5.497812093e-04f, 5.479302060e-04f, 5.460783614e-04f, 5.442256789e-04f, 5.423721616e-04f, 5.405178128e-04f, 5.386626359e-04f, 5.368066340e-04f, 5.349498103e-04f, 5.330921683e-04f,
+5.312337110e-04f, 5.293744418e-04f, 5.275143639e-04f, 5.256534806e-04f, 5.237917952e-04f, 5.219293108e-04f, 5.200660309e-04f, 5.182019586e-04f, 5.163370972e-04f, 5.144714500e-04f,
+5.126050202e-04f, 5.107378112e-04f, 5.088698261e-04f, 5.070010684e-04f, 5.051315411e-04f, 5.032612477e-04f, 5.013901914e-04f, 4.995183755e-04f, 4.976458032e-04f, 4.957724778e-04f,
+4.938984027e-04f, 4.920235810e-04f, 4.901480161e-04f, 4.882717113e-04f, 4.863946699e-04f, 4.845168950e-04f, 4.826383901e-04f, 4.807591585e-04f, 4.788792033e-04f, 4.769985279e-04f,
+4.751171356e-04f, 4.732350297e-04f, 4.713522134e-04f, 4.694686901e-04f, 4.675844631e-04f, 4.656995357e-04f, 4.638139111e-04f, 4.619275926e-04f, 4.600405837e-04f, 4.581528875e-04f,
+4.562645073e-04f, 4.543754465e-04f, 4.524857084e-04f, 4.505952963e-04f, 4.487042134e-04f, 4.468124632e-04f, 4.449200488e-04f, 4.430269737e-04f, 4.411332410e-04f, 4.392388542e-04f,
+4.373438166e-04f, 4.354481314e-04f, 4.335518019e-04f, 4.316548316e-04f, 4.297572236e-04f, 4.278589814e-04f, 4.259601082e-04f, 4.240606073e-04f, 4.221604821e-04f, 4.202597359e-04f,
+4.183583720e-04f, 4.164563938e-04f, 4.145538045e-04f, 4.126506074e-04f, 4.107468060e-04f, 4.088424036e-04f, 4.069374033e-04f, 4.050318087e-04f, 4.031256230e-04f, 4.012188495e-04f,
+3.993114916e-04f, 3.974035525e-04f, 3.954950358e-04f, 3.935859445e-04f, 3.916762822e-04f, 3.897660521e-04f, 3.878552576e-04f, 3.859439020e-04f, 3.840319886e-04f, 3.821195208e-04f,
+3.802065019e-04f, 3.782929352e-04f, 3.763788241e-04f, 3.744641720e-04f, 3.725489821e-04f, 3.706332579e-04f, 3.687170026e-04f, 3.668002196e-04f, 3.648829122e-04f, 3.629650838e-04f,
+3.610467377e-04f, 3.591278773e-04f, 3.572085060e-04f, 3.552886270e-04f, 3.533682437e-04f, 3.514473595e-04f, 3.495259776e-04f, 3.476041016e-04f, 3.456817347e-04f, 3.437588802e-04f,
+3.418355415e-04f, 3.399117220e-04f, 3.379874251e-04f, 3.360626540e-04f, 3.341374121e-04f, 3.322117028e-04f, 3.302855295e-04f, 3.283588954e-04f, 3.264318040e-04f, 3.245042586e-04f,
+3.225762626e-04f, 3.206478193e-04f, 3.187189321e-04f, 3.167896043e-04f, 3.148598393e-04f, 3.129296405e-04f, 3.109990112e-04f, 3.090679548e-04f, 3.071364747e-04f, 3.052045742e-04f,
+3.032722566e-04f, 3.013395254e-04f, 2.994063839e-04f, 2.974728355e-04f, 2.955388835e-04f, 2.936045313e-04f, 2.916697823e-04f, 2.897346398e-04f, 2.877991072e-04f, 2.858631879e-04f,
+2.839268852e-04f, 2.819902026e-04f, 2.800531433e-04f, 2.781157108e-04f, 2.761779083e-04f, 2.742397394e-04f, 2.723012074e-04f, 2.703623155e-04f, 2.684230673e-04f, 2.664834661e-04f,
+2.645435152e-04f, 2.626032180e-04f, 2.606625779e-04f, 2.587215983e-04f, 2.567802826e-04f, 2.548386340e-04f, 2.528966561e-04f, 2.509543521e-04f, 2.490117255e-04f, 2.470687796e-04f,
+2.451255178e-04f, 2.431819435e-04f, 2.412380601e-04f, 2.392938709e-04f, 2.373493793e-04f, 2.354045886e-04f, 2.334595024e-04f, 2.315141239e-04f, 2.295684565e-04f, 2.276225037e-04f,
+2.256762687e-04f, 2.237297550e-04f, 2.217829660e-04f, 2.198359050e-04f, 2.178885754e-04f, 2.159409806e-04f, 2.139931239e-04f, 2.120450089e-04f, 2.100966387e-04f, 2.081480169e-04f,
+2.061991468e-04f, 2.042500318e-04f, 2.023006752e-04f, 2.003510805e-04f, 1.984012511e-04f, 1.964511902e-04f, 1.945009014e-04f, 1.925503880e-04f, 1.905996533e-04f, 1.886487008e-04f,
+1.866975339e-04f, 1.847461559e-04f, 1.827945701e-04f, 1.808427801e-04f, 1.788907892e-04f, 1.769386008e-04f, 1.749862182e-04f, 1.730336448e-04f, 1.710808841e-04f, 1.691279394e-04f,
+1.671748141e-04f, 1.652215116e-04f, 1.632680353e-04f, 1.613143885e-04f, 1.593605747e-04f, 1.574065972e-04f, 1.554524594e-04f, 1.534981648e-04f, 1.515437166e-04f, 1.495891183e-04f,
+1.476343733e-04f, 1.456794850e-04f, 1.437244567e-04f, 1.417692918e-04f, 1.398139938e-04f, 1.378585660e-04f, 1.359030117e-04f, 1.339473345e-04f, 1.319915376e-04f, 1.300356245e-04f,
+1.280795985e-04f, 1.261234631e-04f, 1.241672216e-04f, 1.222108774e-04f, 1.202544339e-04f, 1.182978944e-04f, 1.163412625e-04f, 1.143845414e-04f, 1.124277346e-04f, 1.104708454e-04f,
+1.085138772e-04f, 1.065568334e-04f, 1.045997174e-04f, 1.026425327e-04f, 1.006852824e-04f, 9.872797018e-05f, 9.677059927e-05f, 9.481317310e-05f, 9.285569504e-05f, 9.089816848e-05f,
+8.894059682e-05f, 8.698298344e-05f, 8.502533172e-05f, 8.306764506e-05f, 8.110992683e-05f, 7.915218043e-05f, 7.719440923e-05f, 7.523661663e-05f, 7.327880601e-05f, 7.132098076e-05f,
+6.936314426e-05f, 6.740529989e-05f, 6.544745104e-05f, 6.348960110e-05f, 6.153175345e-05f, 5.957391147e-05f, 5.761607855e-05f, 5.565825807e-05f, 5.370045342e-05f, 5.174266797e-05f,
+4.978490512e-05f, 4.782716824e-05f, 4.586946072e-05f, 4.391178594e-05f, 4.195414727e-05f, 3.999654812e-05f, 3.803899184e-05f, 3.608148184e-05f, 3.412402148e-05f, 3.216661415e-05f,
+3.020926323e-05f, 2.825197210e-05f, 2.629474414e-05f, 2.433758273e-05f, 2.238049124e-05f, 2.042347307e-05f, 1.846653158e-05f, 1.650967015e-05f, 1.455289217e-05f, 1.259620100e-05f,
+1.063960004e-05f, 8.683092647e-06f, 6.726682207e-06f, 4.770372095e-06f, 2.814165686e-06f, 8.580663563e-07f, -1.097922519e-06f, -3.053797566e-06f, -5.009555409e-06f, -6.965192674e-06f,
+-8.920705989e-06f, -1.087609198e-05f, -1.283134727e-05f, -1.478646850e-05f, -1.674145228e-05f, -1.869629525e-05f, -2.065099403e-05f, -2.260554526e-05f, -2.455994557e-05f, -2.651419158e-05f,
+-2.846827993e-05f, -3.042220724e-05f, -3.237597015e-05f, -3.432956530e-05f, -3.628298930e-05f, -3.823623881e-05f, -4.018931044e-05f, -4.214220084e-05f, -4.409490664e-05f, -4.604742448e-05f,
+-4.799975098e-05f, -4.995188279e-05f, -5.190381654e-05f, -5.385554887e-05f, -5.580707642e-05f, -5.775839582e-05f, -5.970950372e-05f, -6.166039676e-05f, -6.361107156e-05f, -6.556152479e-05f,
+-6.751175306e-05f, -6.946175304e-05f, -7.141152136e-05f, -7.336105465e-05f, -7.531034958e-05f, -7.725940278e-05f, -7.920821089e-05f, -8.115677056e-05f, -8.310507843e-05f, -8.505313116e-05f,
+-8.700092539e-05f, -8.894845777e-05f, -9.089572494e-05f, -9.284272356e-05f, -9.478945028e-05f, -9.673590174e-05f, -9.868207460e-05f, -1.006279655e-04f, -1.025735711e-04f, -1.045188881e-04f,
+-1.064639130e-04f, -1.084086427e-04f, -1.103530736e-04f, -1.122972025e-04f, -1.142410261e-04f, -1.161845409e-04f, -1.181277437e-04f, -1.200706311e-04f, -1.220131998e-04f, -1.239554464e-04f,
+-1.258973675e-04f, -1.278389599e-04f, -1.297802203e-04f, -1.317211452e-04f, -1.336617313e-04f, -1.356019753e-04f, -1.375418740e-04f, -1.394814238e-04f, -1.414206215e-04f, -1.433594639e-04f,
+-1.452979474e-04f, -1.472360689e-04f, -1.491738249e-04f, -1.511112122e-04f, -1.530482274e-04f, -1.549848672e-04f, -1.569211283e-04f, -1.588570073e-04f, -1.607925010e-04f, -1.627276059e-04f,
+-1.646623188e-04f, -1.665966364e-04f, -1.685305552e-04f, -1.704640721e-04f, -1.723971837e-04f, -1.743298867e-04f, -1.762621777e-04f, -1.781940535e-04f, -1.801255107e-04f, -1.820565459e-04f,
+-1.839871560e-04f, -1.859173376e-04f, -1.878470873e-04f, -1.897764019e-04f, -1.917052780e-04f, -1.936337124e-04f, -1.955617017e-04f, -1.974892426e-04f, -1.994163319e-04f, -2.013429661e-04f,
+-2.032691421e-04f, -2.051948565e-04f, -2.071201059e-04f, -2.090448872e-04f, -2.109691970e-04f, -2.128930319e-04f, -2.148163888e-04f, -2.167392643e-04f, -2.186616551e-04f, -2.205835579e-04f,
+-2.225049694e-04f, -2.244258863e-04f, -2.263463054e-04f, -2.282662233e-04f, -2.301856368e-04f, -2.321045425e-04f, -2.340229372e-04f, -2.359408176e-04f, -2.378581804e-04f, -2.397750223e-04f,
+-2.416913401e-04f, -2.436071304e-04f, -2.455223899e-04f, -2.474371155e-04f, -2.493513038e-04f, -2.512649515e-04f, -2.531780553e-04f, -2.550906121e-04f, -2.570026184e-04f, -2.589140711e-04f,
+-2.608249668e-04f, -2.627353023e-04f, -2.646450744e-04f, -2.665542797e-04f, -2.684629149e-04f, -2.703709769e-04f, -2.722784624e-04f, -2.741853680e-04f, -2.760916905e-04f, -2.779974267e-04f,
+-2.799025733e-04f, -2.818071270e-04f, -2.837110846e-04f, -2.856144429e-04f, -2.875171985e-04f, -2.894193482e-04f, -2.913208888e-04f, -2.932218170e-04f, -2.951221295e-04f, -2.970218232e-04f,
+-2.989208947e-04f, -3.008193408e-04f, -3.027171583e-04f, -3.046143439e-04f, -3.065108944e-04f, -3.084068065e-04f, -3.103020770e-04f, -3.121967027e-04f, -3.140906803e-04f, -3.159840066e-04f,
+-3.178766783e-04f, -3.197686922e-04f, -3.216600451e-04f, -3.235507338e-04f, -3.254407550e-04f, -3.273301054e-04f, -3.292187820e-04f, -3.311067813e-04f, -3.329941003e-04f, -3.348807356e-04f,
+-3.367666841e-04f, -3.386519426e-04f, -3.405365078e-04f, -3.424203765e-04f, -3.443035454e-04f, -3.461860115e-04f, -3.480677714e-04f, -3.499488220e-04f, -3.518291600e-04f, -3.537087822e-04f,
+-3.555876854e-04f, -3.574658665e-04f, -3.593433221e-04f, -3.612200492e-04f, -3.630960445e-04f, -3.649713047e-04f, -3.668458268e-04f, -3.687196075e-04f, -3.705926435e-04f, -3.724649318e-04f,
+-3.743364691e-04f, -3.762072523e-04f, -3.780772780e-04f, -3.799465432e-04f, -3.818150447e-04f, -3.836827792e-04f, -3.855497437e-04f, -3.874159348e-04f, -3.892813494e-04f, -3.911459844e-04f,
+-3.930098366e-04f, -3.948729027e-04f, -3.967351797e-04f, -3.985966643e-04f, -4.004573533e-04f, -4.023172437e-04f, -4.041763321e-04f, -4.060346156e-04f, -4.078920908e-04f, -4.097487546e-04f,
+-4.116046039e-04f, -4.134596355e-04f, -4.153138463e-04f, -4.171672330e-04f, -4.190197926e-04f, -4.208715218e-04f, -4.227224176e-04f, -4.245724767e-04f, -4.264216960e-04f, -4.282700724e-04f,
+-4.301176028e-04f, -4.319642839e-04f, -4.338101126e-04f, -4.356550858e-04f, -4.374992004e-04f, -4.393424532e-04f, -4.411848411e-04f, -4.430263609e-04f, -4.448670095e-04f, -4.467067838e-04f,
+-4.485456806e-04f, -4.503836969e-04f, -4.522208294e-04f, -4.540570751e-04f, -4.558924309e-04f, -4.577268936e-04f, -4.595604600e-04f, -4.613931272e-04f, -4.632248919e-04f, -4.650557510e-04f,
+-4.668857015e-04f, -4.687147403e-04f, -4.705428641e-04f, -4.723700700e-04f, -4.741963547e-04f, -4.760217153e-04f, -4.778461485e-04f, -4.796696514e-04f, -4.814922207e-04f, -4.833138535e-04f,
+-4.851345465e-04f, -4.869542968e-04f, -4.887731012e-04f, -4.905909566e-04f, -4.924078599e-04f, -4.942238081e-04f, -4.960387981e-04f, -4.978528268e-04f, -4.996658911e-04f, -5.014779879e-04f,
+-5.032891141e-04f, -5.050992668e-04f, -5.069084427e-04f, -5.087166389e-04f, -5.105238522e-04f, -5.123300796e-04f, -5.141353181e-04f, -5.159395645e-04f, -5.177428159e-04f, -5.195450690e-04f,
+-5.213463210e-04f, -5.231465687e-04f, -5.249458091e-04f, -5.267440390e-04f, -5.285412556e-04f, -5.303374557e-04f, -5.321326363e-04f, -5.339267943e-04f, -5.357199266e-04f, -5.375120304e-04f,
+-5.393031024e-04f, -5.410931397e-04f, -5.428821393e-04f, -5.446700980e-04f, -5.464570130e-04f, -5.482428810e-04f, -5.500276992e-04f, -5.518114645e-04f, -5.535941738e-04f, -5.553758242e-04f,
+-5.571564127e-04f, -5.589359361e-04f, -5.607143916e-04f, -5.624917760e-04f, -5.642680864e-04f, -5.660433197e-04f, -5.678174730e-04f, -5.695905433e-04f, -5.713625275e-04f, -5.731334227e-04f,
+-5.749032258e-04f, -5.766719339e-04f, -5.784395439e-04f, -5.802060529e-04f, -5.819714578e-04f, -5.837357558e-04f, -5.854989437e-04f, -5.872610187e-04f, -5.890219777e-04f, -5.907818178e-04f,
+-5.925405359e-04f, -5.942981291e-04f, -5.960545945e-04f, -5.978099290e-04f, -5.995641297e-04f, -6.013171936e-04f, -6.030691177e-04f, -6.048198992e-04f, -6.065695350e-04f, -6.083180221e-04f,
+-6.100653577e-04f, -6.118115387e-04f, -6.135565622e-04f, -6.153004253e-04f, -6.170431250e-04f, -6.187846584e-04f, -6.205250225e-04f, -6.222642143e-04f, -6.240022310e-04f, -6.257390696e-04f,
+-6.274747272e-04f, -6.292092008e-04f, -6.309424875e-04f, -6.326745843e-04f, -6.344054884e-04f, -6.361351969e-04f, -6.378637067e-04f, -6.395910151e-04f, -6.413171190e-04f, -6.430420156e-04f,
+-6.447657019e-04f, -6.464881750e-04f, -6.482094320e-04f, -6.499294701e-04f, -6.516482863e-04f, -6.533658777e-04f, -6.550822414e-04f, -6.567973745e-04f, -6.585112742e-04f, -6.602239375e-04f,
+-6.619353615e-04f, -6.636455434e-04f, -6.653544802e-04f, -6.670621691e-04f, -6.687686073e-04f, -6.704737917e-04f, -6.721777197e-04f, -6.738803882e-04f, -6.755817944e-04f, -6.772819354e-04f,
+-6.789808084e-04f, -6.806784106e-04f, -6.823747389e-04f, -6.840697907e-04f, -6.857635630e-04f, -6.874560529e-04f, -6.891472577e-04f, -6.908371745e-04f, -6.925258004e-04f, -6.942131326e-04f,
+-6.958991682e-04f, -6.975839044e-04f, -6.992673383e-04f, -7.009494672e-04f, -7.026302882e-04f, -7.043097985e-04f, -7.059879952e-04f, -7.076648755e-04f, -7.093404366e-04f, -7.110146756e-04f,
+-7.126875898e-04f, -7.143591763e-04f, -7.160294324e-04f, -7.176983551e-04f, -7.193659418e-04f, -7.210321895e-04f, -7.226970955e-04f, -7.243606570e-04f, -7.260228712e-04f, -7.276837353e-04f,
+-7.293432465e-04f, -7.310014020e-04f, -7.326581991e-04f, -7.343136348e-04f, -7.359677065e-04f, -7.376204114e-04f, -7.392717467e-04f, -7.409217095e-04f, -7.425702972e-04f, -7.442175070e-04f,
+-7.458633361e-04f, -7.475077817e-04f, -7.491508411e-04f, -7.507925116e-04f, -7.524327902e-04f, -7.540716744e-04f, -7.557091613e-04f, -7.573452482e-04f, -7.589799323e-04f, -7.606132110e-04f,
+-7.622450814e-04f, -7.638755408e-04f, -7.655045865e-04f, -7.671322157e-04f, -7.687584258e-04f, -7.703832140e-04f, -7.720065775e-04f, -7.736285136e-04f, -7.752490196e-04f, -7.768680929e-04f,
+-7.784857306e-04f, -7.801019300e-04f, -7.817166886e-04f, -7.833300034e-04f, -7.849418719e-04f, -7.865522913e-04f, -7.881612590e-04f, -7.897687722e-04f, -7.913748282e-04f, -7.929794244e-04f,
+-7.945825580e-04f, -7.961842264e-04f, -7.977844269e-04f, -7.993831567e-04f, -8.009804133e-04f, -8.025761940e-04f, -8.041704960e-04f, -8.057633167e-04f, -8.073546534e-04f, -8.089445035e-04f,
+-8.105328644e-04f, -8.121197332e-04f, -8.137051074e-04f, -8.152889844e-04f, -8.168713615e-04f, -8.184522359e-04f, -8.200316052e-04f, -8.216094666e-04f, -8.231858175e-04f, -8.247606552e-04f,
+-8.263339772e-04f, -8.279057807e-04f, -8.294760633e-04f, -8.310448221e-04f, -8.326120547e-04f, -8.341777583e-04f, -8.357419304e-04f, -8.373045684e-04f, -8.388656696e-04f, -8.404252315e-04f,
+-8.419832513e-04f, -8.435397266e-04f, -8.450946547e-04f, -8.466480330e-04f, -8.481998589e-04f, -8.497501299e-04f, -8.512988433e-04f, -8.528459965e-04f, -8.543915870e-04f, -8.559356122e-04f,
+-8.574780695e-04f, -8.590189563e-04f, -8.605582700e-04f, -8.620960082e-04f, -8.636321681e-04f, -8.651667473e-04f, -8.666997432e-04f, -8.682311532e-04f, -8.697609748e-04f, -8.712892054e-04f,
+-8.728158425e-04f, -8.743408834e-04f, -8.758643258e-04f, -8.773861670e-04f, -8.789064045e-04f, -8.804250357e-04f, -8.819420582e-04f, -8.834574693e-04f, -8.849712666e-04f, -8.864834476e-04f,
+-8.879940097e-04f, -8.895029504e-04f, -8.910102672e-04f, -8.925159575e-04f, -8.940200190e-04f, -8.955224489e-04f, -8.970232450e-04f, -8.985224046e-04f, -9.000199252e-04f, -9.015158044e-04f,
+-9.030100397e-04f, -9.045026286e-04f, -9.059935686e-04f, -9.074828572e-04f, -9.089704919e-04f, -9.104564703e-04f, -9.119407898e-04f, -9.134234481e-04f, -9.149044426e-04f, -9.163837709e-04f,
+-9.178614306e-04f, -9.193374190e-04f, -9.208117339e-04f, -9.222843728e-04f, -9.237553331e-04f, -9.252246125e-04f, -9.266922086e-04f, -9.281581188e-04f, -9.296223407e-04f, -9.310848719e-04f,
+-9.325457100e-04f, -9.340048526e-04f, -9.354622972e-04f, -9.369180413e-04f, -9.383720827e-04f, -9.398244188e-04f, -9.412750472e-04f, -9.427239656e-04f, -9.441711715e-04f, -9.456166626e-04f,
+-9.470604364e-04f, -9.485024905e-04f, -9.499428225e-04f, -9.513814301e-04f, -9.528183109e-04f, -9.542534624e-04f, -9.556868824e-04f, -9.571185683e-04f, -9.585485179e-04f, -9.599767287e-04f,
+-9.614031984e-04f, -9.628279247e-04f, -9.642509052e-04f, -9.656721374e-04f, -9.670916191e-04f, -9.685093479e-04f, -9.699253214e-04f, -9.713395374e-04f, -9.727519934e-04f, -9.741626871e-04f,
+-9.755716162e-04f, -9.769787784e-04f, -9.783841713e-04f, -9.797877925e-04f, -9.811896398e-04f, -9.825897109e-04f, -9.839880034e-04f, -9.853845149e-04f, -9.867792433e-04f, -9.881721862e-04f,
+-9.895633412e-04f, -9.909527062e-04f, -9.923402787e-04f, -9.937260565e-04f, -9.951100373e-04f, -9.964922188e-04f, -9.978725987e-04f, -9.992511747e-04f, -1.000627945e-03f, -1.002002906e-03f,
+-1.003376057e-03f, -1.004747395e-03f, -1.006116917e-03f, -1.007484622e-03f, -1.008850508e-03f, -1.010214571e-03f, -1.011576810e-03f, -1.012937223e-03f, -1.014295806e-03f, -1.015652559e-03f,
+-1.017007479e-03f, -1.018360563e-03f, -1.019711809e-03f, -1.021061215e-03f, -1.022408780e-03f, -1.023754500e-03f, -1.025098373e-03f, -1.026440397e-03f, -1.027780570e-03f, -1.029118890e-03f,
+-1.030455355e-03f, -1.031789962e-03f, -1.033122709e-03f, -1.034453594e-03f, -1.035782615e-03f, -1.037109769e-03f, -1.038435055e-03f, -1.039758470e-03f, -1.041080011e-03f, -1.042399678e-03f,
+-1.043717467e-03f, -1.045033377e-03f, -1.046347405e-03f, -1.047659549e-03f, -1.048969808e-03f, -1.050278178e-03f, -1.051584657e-03f, -1.052889245e-03f, -1.054191937e-03f, -1.055492733e-03f,
+-1.056791630e-03f, -1.058088626e-03f, -1.059383719e-03f, -1.060676906e-03f, -1.061968186e-03f, -1.063257557e-03f, -1.064545015e-03f, -1.065830560e-03f, -1.067114190e-03f, -1.068395901e-03f,
+-1.069675692e-03f, -1.070953560e-03f, -1.072229505e-03f, -1.073503523e-03f, -1.074775613e-03f, -1.076045772e-03f, -1.077313998e-03f, -1.078580289e-03f, -1.079844644e-03f, -1.081107060e-03f,
+-1.082367535e-03f, -1.083626067e-03f, -1.084882653e-03f, -1.086137293e-03f, -1.087389983e-03f, -1.088640722e-03f, -1.089889508e-03f, -1.091136338e-03f, -1.092381211e-03f, -1.093624124e-03f,
+-1.094865076e-03f, -1.096104065e-03f, -1.097341088e-03f, -1.098576143e-03f, -1.099809229e-03f, -1.101040343e-03f, -1.102269483e-03f, -1.103496648e-03f, -1.104721835e-03f, -1.105945042e-03f,
+-1.107166268e-03f, -1.108385510e-03f, -1.109602767e-03f, -1.110818035e-03f, -1.112031315e-03f, -1.113242602e-03f, -1.114451896e-03f, -1.115659195e-03f, -1.116864495e-03f, -1.118067797e-03f,
+-1.119269097e-03f, -1.120468393e-03f, -1.121665684e-03f, -1.122860968e-03f, -1.124054242e-03f, -1.125245506e-03f, -1.126434756e-03f, -1.127621990e-03f, -1.128807208e-03f, -1.129990407e-03f,
+-1.131171585e-03f, -1.132350740e-03f, -1.133527870e-03f, -1.134702973e-03f, -1.135876048e-03f, -1.137047093e-03f, -1.138216105e-03f, -1.139383082e-03f, -1.140548024e-03f, -1.141710927e-03f,
+-1.142871790e-03f, -1.144030611e-03f, -1.145187389e-03f, -1.146342121e-03f, -1.147494805e-03f, -1.148645440e-03f, -1.149794023e-03f, -1.150940553e-03f, -1.152085029e-03f, -1.153227447e-03f,
+-1.154367807e-03f, -1.155506106e-03f, -1.156642342e-03f, -1.157776515e-03f, -1.158908621e-03f, -1.160038659e-03f, -1.161166627e-03f, -1.162292524e-03f, -1.163416347e-03f, -1.164538095e-03f,
+-1.165657765e-03f, -1.166775357e-03f, -1.167890868e-03f, -1.169004297e-03f, -1.170115641e-03f, -1.171224899e-03f, -1.172332069e-03f, -1.173437149e-03f, -1.174540138e-03f, -1.175641033e-03f,
+-1.176739833e-03f, -1.177836537e-03f, -1.178931141e-03f, -1.180023645e-03f, -1.181114047e-03f, -1.182202345e-03f, -1.183288538e-03f, -1.184372623e-03f, -1.185454598e-03f, -1.186534463e-03f,
+-1.187612214e-03f, -1.188687852e-03f, -1.189761373e-03f, -1.190832776e-03f, -1.191902059e-03f, -1.192969222e-03f, -1.194034260e-03f, -1.195097174e-03f, -1.196157962e-03f, -1.197216621e-03f,
+-1.198273150e-03f, -1.199327548e-03f, -1.200379812e-03f, -1.201429941e-03f, -1.202477933e-03f, -1.203523787e-03f, -1.204567501e-03f, -1.205609073e-03f, -1.206648501e-03f, -1.207685784e-03f,
+-1.208720920e-03f, -1.209753908e-03f, -1.210784745e-03f, -1.211813431e-03f, -1.212839963e-03f, -1.213864340e-03f, -1.214886560e-03f, -1.215906622e-03f, -1.216924524e-03f, -1.217940264e-03f,
+-1.218953840e-03f, -1.219965252e-03f, -1.220974497e-03f, -1.221981574e-03f, -1.222986481e-03f, -1.223989217e-03f, -1.224989779e-03f, -1.225988167e-03f, -1.226984378e-03f, -1.227978412e-03f,
+-1.228970266e-03f, -1.229959940e-03f, -1.230947430e-03f, -1.231932737e-03f, -1.232915857e-03f, -1.233896790e-03f, -1.234875535e-03f, -1.235852088e-03f, -1.236826450e-03f, -1.237798618e-03f,
+-1.238768591e-03f, -1.239736367e-03f, -1.240701945e-03f, -1.241665323e-03f, -1.242626500e-03f, -1.243585474e-03f, -1.244542244e-03f, -1.245496807e-03f, -1.246449163e-03f, -1.247399310e-03f,
+-1.248347247e-03f, -1.249292971e-03f, -1.250236482e-03f, -1.251177778e-03f, -1.252116858e-03f, -1.253053719e-03f, -1.253988361e-03f, -1.254920782e-03f, -1.255850981e-03f, -1.256778955e-03f,
+-1.257704704e-03f, -1.258628226e-03f, -1.259549520e-03f, -1.260468584e-03f, -1.261385416e-03f, -1.262300016e-03f, -1.263212382e-03f, -1.264122511e-03f, -1.265030404e-03f, -1.265936058e-03f,
+-1.266839473e-03f, -1.267740645e-03f, -1.268639575e-03f, -1.269536261e-03f, -1.270430701e-03f, -1.271322894e-03f, -1.272212838e-03f, -1.273100533e-03f, -1.273985976e-03f, -1.274869166e-03f,
+-1.275750102e-03f, -1.276628783e-03f, -1.277505206e-03f, -1.278379372e-03f, -1.279251277e-03f, -1.280120922e-03f, -1.280988304e-03f, -1.281853423e-03f, -1.282716276e-03f, -1.283576862e-03f,
+-1.284435181e-03f, -1.285291231e-03f, -1.286145009e-03f, -1.286996516e-03f, -1.287845750e-03f, -1.288692709e-03f, -1.289537392e-03f, -1.290379798e-03f, -1.291219925e-03f, -1.292057772e-03f,
+-1.292893338e-03f, -1.293726622e-03f, -1.294557621e-03f, -1.295386335e-03f, -1.296212763e-03f, -1.297036903e-03f, -1.297858754e-03f, -1.298678315e-03f, -1.299495584e-03f, -1.300310560e-03f,
+-1.301123242e-03f, -1.301933628e-03f, -1.302741718e-03f, -1.303547510e-03f, -1.304351002e-03f, -1.305152194e-03f, -1.305951084e-03f, -1.306747671e-03f, -1.307541954e-03f, -1.308333931e-03f,
+-1.309123602e-03f, -1.309910964e-03f, -1.310696017e-03f, -1.311478760e-03f, -1.312259191e-03f, -1.313037310e-03f, -1.313813114e-03f, -1.314586603e-03f, -1.315357775e-03f, -1.316126630e-03f,
+-1.316893166e-03f, -1.317657382e-03f, -1.318419276e-03f, -1.319178848e-03f, -1.319936097e-03f, -1.320691020e-03f, -1.321443618e-03f, -1.322193888e-03f, -1.322941830e-03f, -1.323687443e-03f,
+-1.324430725e-03f, -1.325171675e-03f, -1.325910293e-03f, -1.326646576e-03f, -1.327380524e-03f, -1.328112136e-03f, -1.328841410e-03f, -1.329568346e-03f, -1.330292942e-03f, -1.331015197e-03f,
+-1.331735110e-03f, -1.332452680e-03f, -1.333167906e-03f, -1.333880786e-03f, -1.334591321e-03f, -1.335299507e-03f, -1.336005346e-03f, -1.336708834e-03f, -1.337409972e-03f, -1.338108758e-03f,
+-1.338805191e-03f, -1.339499271e-03f, -1.340190995e-03f, -1.340880363e-03f, -1.341567374e-03f, -1.342252027e-03f, -1.342934321e-03f, -1.343614254e-03f, -1.344291826e-03f, -1.344967036e-03f,
+-1.345639883e-03f, -1.346310365e-03f, -1.346978481e-03f, -1.347644232e-03f, -1.348307614e-03f, -1.348968629e-03f, -1.349627273e-03f, -1.350283548e-03f, -1.350937451e-03f, -1.351588981e-03f,
+-1.352238138e-03f, -1.352884920e-03f, -1.353529328e-03f, -1.354171358e-03f, -1.354811012e-03f, -1.355448287e-03f, -1.356083182e-03f, -1.356715698e-03f, -1.357345832e-03f, -1.357973584e-03f,
+-1.358598953e-03f, -1.359221937e-03f, -1.359842537e-03f, -1.360460751e-03f, -1.361076578e-03f, -1.361690017e-03f, -1.362301068e-03f, -1.362909729e-03f, -1.363515999e-03f, -1.364119878e-03f,
+-1.364721364e-03f, -1.365320457e-03f, -1.365917156e-03f, -1.366511460e-03f, -1.367103368e-03f, -1.367692879e-03f, -1.368279992e-03f, -1.368864707e-03f, -1.369447022e-03f, -1.370026937e-03f,
+-1.370604451e-03f, -1.371179562e-03f, -1.371752271e-03f, -1.372322576e-03f, -1.372890476e-03f, -1.373455971e-03f, -1.374019060e-03f, -1.374579741e-03f, -1.375138014e-03f, -1.375693879e-03f,
+-1.376247334e-03f, -1.376798379e-03f, -1.377347012e-03f, -1.377893233e-03f, -1.378437041e-03f, -1.378978436e-03f, -1.379517416e-03f, -1.380053981e-03f, -1.380588130e-03f, -1.381119862e-03f,
+-1.381649176e-03f, -1.382176072e-03f, -1.382700549e-03f, -1.383222606e-03f, -1.383742243e-03f, -1.384259457e-03f, -1.384774250e-03f, -1.385286619e-03f, -1.385796565e-03f, -1.386304087e-03f,
+-1.386809183e-03f, -1.387311853e-03f, -1.387812097e-03f, -1.388309913e-03f, -1.388805302e-03f, -1.389298261e-03f, -1.389788791e-03f, -1.390276891e-03f, -1.390762559e-03f, -1.391245796e-03f,
+-1.391726601e-03f, -1.392204973e-03f, -1.392680911e-03f, -1.393154414e-03f, -1.393625483e-03f, -1.394094116e-03f, -1.394560312e-03f, -1.395024071e-03f, -1.395485393e-03f, -1.395944276e-03f,
+-1.396400720e-03f, -1.396854725e-03f, -1.397306289e-03f, -1.397755412e-03f, -1.398202093e-03f, -1.398646332e-03f, -1.399088129e-03f, -1.399527481e-03f, -1.399964390e-03f, -1.400398854e-03f,
+-1.400830872e-03f, -1.401260445e-03f, -1.401687571e-03f, -1.402112250e-03f, -1.402534481e-03f, -1.402954264e-03f, -1.403371598e-03f, -1.403786482e-03f, -1.404198916e-03f, -1.404608900e-03f,
+-1.405016432e-03f, -1.405421513e-03f, -1.405824141e-03f, -1.406224317e-03f, -1.406622038e-03f, -1.407017306e-03f, -1.407410120e-03f, -1.407800478e-03f, -1.408188381e-03f, -1.408573827e-03f,
+-1.408956817e-03f, -1.409337350e-03f, -1.409715425e-03f, -1.410091042e-03f, -1.410464200e-03f, -1.410834899e-03f, -1.411203138e-03f, -1.411568917e-03f, -1.411932235e-03f, -1.412293092e-03f,
+-1.412651487e-03f, -1.413007420e-03f, -1.413360891e-03f, -1.413711898e-03f, -1.414060442e-03f, -1.414406522e-03f, -1.414750137e-03f, -1.415091287e-03f, -1.415429972e-03f, -1.415766192e-03f,
+-1.416099944e-03f, -1.416431231e-03f, -1.416760050e-03f, -1.417086401e-03f, -1.417410285e-03f, -1.417731700e-03f, -1.418050646e-03f, -1.418367123e-03f, -1.418681131e-03f, -1.418992668e-03f,
+-1.419301735e-03f, -1.419608331e-03f, -1.419912456e-03f, -1.420214110e-03f, -1.420513291e-03f, -1.420810000e-03f, -1.421104237e-03f, -1.421396000e-03f, -1.421685290e-03f, -1.421972106e-03f,
+-1.422256448e-03f, -1.422538315e-03f, -1.422817707e-03f, -1.423094625e-03f, -1.423369067e-03f, -1.423641033e-03f, -1.423910522e-03f, -1.424177536e-03f, -1.424442072e-03f, -1.424704131e-03f,
+-1.424963713e-03f, -1.425220817e-03f, -1.425475443e-03f, -1.425727591e-03f, -1.425977260e-03f, -1.426224450e-03f, -1.426469161e-03f, -1.426711392e-03f, -1.426951144e-03f, -1.427188415e-03f,
+-1.427423206e-03f, -1.427655517e-03f, -1.427885347e-03f, -1.428112695e-03f, -1.428337563e-03f, -1.428559948e-03f, -1.428779852e-03f, -1.428997274e-03f, -1.429212213e-03f, -1.429424670e-03f,
+-1.429634644e-03f, -1.429842136e-03f, -1.430047144e-03f, -1.430249668e-03f, -1.430449709e-03f, -1.430647266e-03f, -1.430842339e-03f, -1.431034928e-03f, -1.431225033e-03f, -1.431412653e-03f,
+-1.431597788e-03f, -1.431780438e-03f, -1.431960603e-03f, -1.432138283e-03f, -1.432313477e-03f, -1.432486186e-03f, -1.432656409e-03f, -1.432824146e-03f, -1.432989397e-03f, -1.433152162e-03f,
+-1.433312440e-03f, -1.433470232e-03f, -1.433625538e-03f, -1.433778356e-03f, -1.433928688e-03f, -1.434076533e-03f, -1.434221890e-03f, -1.434364761e-03f, -1.434505144e-03f, -1.434643040e-03f,
+-1.434778448e-03f, -1.434911369e-03f, -1.435041802e-03f, -1.435169747e-03f, -1.435295205e-03f, -1.435418174e-03f, -1.435538656e-03f, -1.435656649e-03f, -1.435772155e-03f, -1.435885172e-03f,
+-1.435995701e-03f, -1.436103742e-03f, -1.436209295e-03f, -1.436312359e-03f, -1.436412935e-03f, -1.436511022e-03f, -1.436606621e-03f, -1.436699731e-03f, -1.436790353e-03f, -1.436878487e-03f,
+-1.436964132e-03f, -1.437047289e-03f, -1.437127957e-03f, -1.437206136e-03f, -1.437281827e-03f, -1.437355030e-03f, -1.437425744e-03f, -1.437493970e-03f, -1.437559707e-03f, -1.437622956e-03f,
+-1.437683716e-03f, -1.437741989e-03f, -1.437797773e-03f, -1.437851068e-03f, -1.437901876e-03f, -1.437950195e-03f, -1.437996027e-03f, -1.438039370e-03f, -1.438080226e-03f, -1.438118593e-03f,
+-1.438154473e-03f, -1.438187865e-03f, -1.438218770e-03f, -1.438247187e-03f, -1.438273116e-03f, -1.438296559e-03f, -1.438317514e-03f, -1.438335981e-03f, -1.438351962e-03f, -1.438365456e-03f,
+-1.438376464e-03f, -1.438384984e-03f, -1.438391018e-03f, -1.438394566e-03f, -1.438395627e-03f, -1.438394203e-03f, -1.438390292e-03f, -1.438383896e-03f, -1.438375014e-03f, -1.438363646e-03f,
+-1.438349793e-03f, -1.438333455e-03f, -1.438314632e-03f, -1.438293324e-03f, -1.438269531e-03f, -1.438243254e-03f, -1.438214493e-03f, -1.438183248e-03f, -1.438149518e-03f, -1.438113305e-03f,
+-1.438074609e-03f, -1.438033429e-03f, -1.437989766e-03f, -1.437943621e-03f, -1.437894993e-03f, -1.437843882e-03f, -1.437790289e-03f, -1.437734215e-03f, -1.437675658e-03f, -1.437614621e-03f,
+-1.437551102e-03f, -1.437485102e-03f, -1.437416621e-03f, -1.437345660e-03f, -1.437272219e-03f, -1.437196298e-03f, -1.437117897e-03f, -1.437037017e-03f, -1.436953658e-03f, -1.436867821e-03f,
+-1.436779505e-03f, -1.436688710e-03f, -1.436595438e-03f, -1.436499688e-03f, -1.436401461e-03f, -1.436300757e-03f, -1.436197576e-03f, -1.436091919e-03f, -1.435983786e-03f, -1.435873178e-03f,
+-1.435760094e-03f, -1.435644535e-03f, -1.435526501e-03f, -1.435405993e-03f, -1.435283012e-03f, -1.435157556e-03f, -1.435029627e-03f, -1.434899226e-03f, -1.434766352e-03f, -1.434631006e-03f,
+-1.434493188e-03f, -1.434352899e-03f, -1.434210138e-03f, -1.434064908e-03f, -1.433917206e-03f, -1.433767036e-03f, -1.433614395e-03f, -1.433459286e-03f, -1.433301708e-03f, -1.433141662e-03f,
+-1.432979148e-03f, -1.432814167e-03f, -1.432646719e-03f, -1.432476805e-03f, -1.432304424e-03f, -1.432129578e-03f, -1.431952267e-03f, -1.431772491e-03f, -1.431590251e-03f, -1.431405547e-03f,
+-1.431218379e-03f, -1.431028749e-03f, -1.430836656e-03f, -1.430642102e-03f, -1.430445086e-03f, -1.430245609e-03f, -1.430043671e-03f, -1.429839274e-03f, -1.429632417e-03f, -1.429423101e-03f,
+-1.429211326e-03f, -1.428997094e-03f, -1.428780404e-03f, -1.428561257e-03f, -1.428339654e-03f, -1.428115594e-03f, -1.427889080e-03f, -1.427660110e-03f, -1.427428687e-03f, -1.427194809e-03f,
+-1.426958478e-03f, -1.426719695e-03f, -1.426478459e-03f, -1.426234772e-03f, -1.425988634e-03f, -1.425740045e-03f, -1.425489007e-03f, -1.425235519e-03f, -1.424979583e-03f, -1.424721198e-03f,
+-1.424460366e-03f, -1.424197087e-03f, -1.423931362e-03f, -1.423663190e-03f, -1.423392574e-03f, -1.423119513e-03f, -1.422844009e-03f, -1.422566060e-03f, -1.422285670e-03f, -1.422002837e-03f,
+-1.421717563e-03f, -1.421429847e-03f, -1.421139692e-03f, -1.420847097e-03f, -1.420552064e-03f, -1.420254592e-03f, -1.419954682e-03f, -1.419652336e-03f, -1.419347554e-03f, -1.419040335e-03f,
+-1.418730682e-03f, -1.418418595e-03f, -1.418104074e-03f, -1.417787120e-03f, -1.417467734e-03f, -1.417145917e-03f, -1.416821669e-03f, -1.416494991e-03f, -1.416165883e-03f, -1.415834346e-03f,
+-1.415500382e-03f, -1.415163991e-03f, -1.414825172e-03f, -1.414483928e-03f, -1.414140259e-03f, -1.413794166e-03f, -1.413445649e-03f, -1.413094709e-03f, -1.412741347e-03f, -1.412385564e-03f,
+-1.412027360e-03f, -1.411666737e-03f, -1.411303694e-03f, -1.410938233e-03f, -1.410570354e-03f, -1.410200058e-03f, -1.409827347e-03f, -1.409452220e-03f, -1.409074679e-03f, -1.408694724e-03f,
+-1.408312357e-03f, -1.407927577e-03f, -1.407540386e-03f, -1.407150785e-03f, -1.406758774e-03f, -1.406364354e-03f, -1.405967527e-03f, -1.405568292e-03f, -1.405166651e-03f, -1.404762604e-03f,
+-1.404356153e-03f, -1.403947298e-03f, -1.403536040e-03f, -1.403122379e-03f, -1.402706318e-03f, -1.402287856e-03f, -1.401866995e-03f, -1.401443734e-03f, -1.401018077e-03f, -1.400590022e-03f,
+-1.400159571e-03f, -1.399726725e-03f, -1.399291484e-03f, -1.398853851e-03f, -1.398413824e-03f, -1.397971406e-03f, -1.397526598e-03f, -1.397079399e-03f, -1.396629812e-03f, -1.396177837e-03f,
+-1.395723475e-03f, -1.395266726e-03f, -1.394807592e-03f, -1.394346075e-03f, -1.393882173e-03f, -1.393415890e-03f, -1.392947225e-03f, -1.392476179e-03f, -1.392002754e-03f, -1.391526950e-03f,
+-1.391048769e-03f, -1.390568210e-03f, -1.390085277e-03f, -1.389599968e-03f, -1.389112286e-03f, -1.388622231e-03f, -1.388129804e-03f, -1.387635006e-03f, -1.387137838e-03f, -1.386638302e-03f,
+-1.386136398e-03f, -1.385632127e-03f, -1.385125490e-03f, -1.384616488e-03f, -1.384105123e-03f, -1.383591395e-03f, -1.383075305e-03f, -1.382556854e-03f, -1.382036044e-03f, -1.381512875e-03f,
+-1.380987348e-03f, -1.380459465e-03f, -1.379929227e-03f, -1.379396633e-03f, -1.378861687e-03f, -1.378324388e-03f, -1.377784738e-03f, -1.377242738e-03f, -1.376698388e-03f, -1.376151691e-03f,
+-1.375602646e-03f, -1.375051256e-03f, -1.374497520e-03f, -1.373941442e-03f, -1.373383020e-03f, -1.372822257e-03f, -1.372259153e-03f, -1.371693711e-03f, -1.371125930e-03f, -1.370555811e-03f,
+-1.369983357e-03f, -1.369408568e-03f, -1.368831446e-03f, -1.368251991e-03f, -1.367670204e-03f, -1.367086087e-03f, -1.366499641e-03f, -1.365910867e-03f, -1.365319766e-03f, -1.364726339e-03f,
+-1.364130588e-03f, -1.363532514e-03f, -1.362932117e-03f, -1.362329399e-03f, -1.361724362e-03f, -1.361117005e-03f, -1.360507331e-03f, -1.359895341e-03f, -1.359281036e-03f, -1.358664417e-03f,
+-1.358045485e-03f, -1.357424241e-03f, -1.356800688e-03f, -1.356174825e-03f, -1.355546654e-03f, -1.354916176e-03f, -1.354283394e-03f, -1.353648307e-03f, -1.353010916e-03f, -1.352371225e-03f,
+-1.351729232e-03f, -1.351084941e-03f, -1.350438351e-03f, -1.349789464e-03f, -1.349138282e-03f, -1.348484806e-03f, -1.347829037e-03f, -1.347170976e-03f, -1.346510624e-03f, -1.345847984e-03f,
+-1.345183055e-03f, -1.344515840e-03f, -1.343846339e-03f, -1.343174555e-03f, -1.342500487e-03f, -1.341824138e-03f, -1.341145509e-03f, -1.340464601e-03f, -1.339781416e-03f, -1.339095954e-03f,
+-1.338408217e-03f, -1.337718207e-03f, -1.337025925e-03f, -1.336331371e-03f, -1.335634548e-03f, -1.334935456e-03f, -1.334234098e-03f, -1.333530474e-03f, -1.332824586e-03f, -1.332116434e-03f,
+-1.331406022e-03f, -1.330693349e-03f, -1.329978417e-03f, -1.329261227e-03f, -1.328541782e-03f, -1.327820082e-03f, -1.327096128e-03f, -1.326369923e-03f, -1.325641467e-03f, -1.324910761e-03f,
+-1.324177808e-03f, -1.323442609e-03f, -1.322705164e-03f, -1.321965476e-03f, -1.321223546e-03f, -1.320479375e-03f, -1.319732964e-03f, -1.318984316e-03f, -1.318233431e-03f, -1.317480311e-03f,
+-1.316724957e-03f, -1.315967371e-03f, -1.315207555e-03f, -1.314445509e-03f, -1.313681235e-03f, -1.312914734e-03f, -1.312146009e-03f, -1.311375060e-03f, -1.310601888e-03f, -1.309826497e-03f,
+-1.309048886e-03f, -1.308269057e-03f, -1.307487012e-03f, -1.306702753e-03f, -1.305916280e-03f, -1.305127596e-03f, -1.304336701e-03f, -1.303543597e-03f, -1.302748286e-03f, -1.301950770e-03f,
+-1.301151049e-03f, -1.300349125e-03f, -1.299545000e-03f, -1.298738676e-03f, -1.297930153e-03f, -1.297119433e-03f, -1.296306519e-03f, -1.295491410e-03f, -1.294674110e-03f, -1.293854619e-03f,
+-1.293032939e-03f, -1.292209072e-03f, -1.291383019e-03f, -1.290554781e-03f, -1.289724360e-03f, -1.288891759e-03f, -1.288056977e-03f, -1.287220018e-03f, -1.286380882e-03f, -1.285539571e-03f,
+-1.284696087e-03f, -1.283850430e-03f, -1.283002604e-03f, -1.282152609e-03f, -1.281300447e-03f, -1.280446120e-03f, -1.279589629e-03f, -1.278730975e-03f, -1.277870161e-03f, -1.277007188e-03f,
+-1.276142058e-03f, -1.275274772e-03f, -1.274405331e-03f, -1.273533738e-03f, -1.272659995e-03f, -1.271784102e-03f, -1.270906061e-03f, -1.270025875e-03f, -1.269143544e-03f, -1.268259070e-03f,
+-1.267372456e-03f, -1.266483702e-03f, -1.265592811e-03f, -1.264699783e-03f, -1.263804621e-03f, -1.262907326e-03f, -1.262007901e-03f, -1.261106346e-03f, -1.260202663e-03f, -1.259296854e-03f,
+-1.258388921e-03f, -1.257478866e-03f, -1.256566689e-03f, -1.255652393e-03f, -1.254735980e-03f, -1.253817451e-03f, -1.252896808e-03f, -1.251974053e-03f, -1.251049186e-03f, -1.250122211e-03f,
+-1.249193129e-03f, -1.248261941e-03f, -1.247328650e-03f, -1.246393256e-03f, -1.245455762e-03f, -1.244516170e-03f, -1.243574481e-03f, -1.242630697e-03f, -1.241684819e-03f, -1.240736850e-03f,
+-1.239786791e-03f, -1.238834644e-03f, -1.237880411e-03f, -1.236924094e-03f, -1.235965693e-03f, -1.235005212e-03f, -1.234042652e-03f, -1.233078014e-03f, -1.232111300e-03f, -1.231142513e-03f,
+-1.230171654e-03f, -1.229198725e-03f, -1.228223727e-03f, -1.227246663e-03f, -1.226267534e-03f, -1.225286342e-03f, -1.224303088e-03f, -1.223317776e-03f, -1.222330406e-03f, -1.221340980e-03f,
+-1.220349500e-03f, -1.219355969e-03f, -1.218360387e-03f, -1.217362756e-03f, -1.216363080e-03f, -1.215361358e-03f, -1.214357594e-03f, -1.213351789e-03f, -1.212343944e-03f, -1.211334063e-03f,
+-1.210322146e-03f, -1.209308196e-03f, -1.208292213e-03f, -1.207274201e-03f, -1.206254162e-03f, -1.205232096e-03f, -1.204208006e-03f, -1.203181894e-03f, -1.202153761e-03f, -1.201123610e-03f,
+-1.200091443e-03f, -1.199057260e-03f, -1.198021065e-03f, -1.196982859e-03f, -1.195942645e-03f, -1.194900423e-03f, -1.193856196e-03f, -1.192809966e-03f, -1.191761734e-03f, -1.190711503e-03f,
+-1.189659275e-03f, -1.188605052e-03f, -1.187548834e-03f, -1.186490626e-03f, -1.185430427e-03f, -1.184368241e-03f, -1.183304069e-03f, -1.182237913e-03f, -1.181169776e-03f, -1.180099658e-03f,
+-1.179027563e-03f, -1.177953492e-03f, -1.176877446e-03f, -1.175799429e-03f, -1.174719442e-03f, -1.173637486e-03f, -1.172553565e-03f, -1.171467679e-03f, -1.170379832e-03f, -1.169290024e-03f,
+-1.168198258e-03f, -1.167104536e-03f, -1.166008860e-03f, -1.164911232e-03f, -1.163811654e-03f, -1.162710127e-03f, -1.161606655e-03f, -1.160501239e-03f, -1.159393880e-03f, -1.158284582e-03f,
+-1.157173346e-03f, -1.156060174e-03f, -1.154945068e-03f, -1.153828030e-03f, -1.152709062e-03f, -1.151588166e-03f, -1.150465345e-03f, -1.149340600e-03f, -1.148213934e-03f, -1.147085348e-03f,
+-1.145954844e-03f, -1.144822425e-03f, -1.143688093e-03f, -1.142551850e-03f, -1.141413697e-03f, -1.140273637e-03f, -1.139131672e-03f, -1.137987804e-03f, -1.136842036e-03f, -1.135694368e-03f,
+-1.134544804e-03f, -1.133393345e-03f, -1.132239994e-03f, -1.131084752e-03f, -1.129927622e-03f, -1.128768606e-03f, -1.127607706e-03f, -1.126444924e-03f, -1.125280262e-03f, -1.124113722e-03f,
+-1.122945307e-03f, -1.121775018e-03f, -1.120602858e-03f, -1.119428829e-03f, -1.118252933e-03f, -1.117075172e-03f, -1.115895548e-03f, -1.114714063e-03f, -1.113530720e-03f, -1.112345521e-03f,
+-1.111158467e-03f, -1.109969562e-03f, -1.108778806e-03f, -1.107586203e-03f, -1.106391755e-03f, -1.105195463e-03f, -1.103997330e-03f, -1.102797358e-03f, -1.101595549e-03f, -1.100391905e-03f,
+-1.099186429e-03f, -1.097979123e-03f, -1.096769989e-03f, -1.095559029e-03f, -1.094346245e-03f, -1.093131640e-03f, -1.091915216e-03f, -1.090696974e-03f, -1.089476918e-03f, -1.088255049e-03f,
+-1.087031369e-03f, -1.085805882e-03f, -1.084578588e-03f, -1.083349491e-03f, -1.082118592e-03f, -1.080885894e-03f, -1.079651399e-03f, -1.078415109e-03f, -1.077177027e-03f, -1.075937154e-03f,
+-1.074695493e-03f, -1.073452047e-03f, -1.072206816e-03f, -1.070959805e-03f, -1.069711014e-03f, -1.068460447e-03f, -1.067208105e-03f, -1.065953991e-03f, -1.064698107e-03f, -1.063440455e-03f,
+-1.062181037e-03f, -1.060919857e-03f, -1.059656915e-03f, -1.058392215e-03f, -1.057125759e-03f, -1.055857549e-03f, -1.054587587e-03f, -1.053315875e-03f, -1.052042417e-03f, -1.050767213e-03f,
+-1.049490267e-03f, -1.048211581e-03f, -1.046931157e-03f, -1.045648997e-03f, -1.044365104e-03f, -1.043079480e-03f, -1.041792128e-03f, -1.040503049e-03f, -1.039212246e-03f, -1.037919721e-03f,
+-1.036625477e-03f, -1.035329517e-03f, -1.034031841e-03f, -1.032732453e-03f, -1.031431356e-03f, -1.030128550e-03f, -1.028824040e-03f, -1.027517826e-03f, -1.026209912e-03f, -1.024900300e-03f,
+-1.023588992e-03f, -1.022275990e-03f, -1.020961298e-03f, -1.019644916e-03f, -1.018326849e-03f, -1.017007097e-03f, -1.015685664e-03f, -1.014362551e-03f, -1.013037762e-03f, -1.011711298e-03f,
+-1.010383162e-03f, -1.009053357e-03f, -1.007721884e-03f, -1.006388746e-03f, -1.005053946e-03f, -1.003717486e-03f, -1.002379368e-03f, -1.001039595e-03f, -9.996981693e-04f, -9.983550929e-04f,
+-9.970103686e-04f, -9.956639986e-04f, -9.943159855e-04f, -9.929663317e-04f, -9.916150395e-04f, -9.902621114e-04f, -9.889075499e-04f, -9.875513574e-04f, -9.861935363e-04f, -9.848340891e-04f,
+-9.834730182e-04f, -9.821103260e-04f, -9.807460150e-04f, -9.793800877e-04f, -9.780125465e-04f, -9.766433939e-04f, -9.752726323e-04f, -9.739002641e-04f, -9.725262920e-04f, -9.711507182e-04f,
+-9.697735454e-04f, -9.683947759e-04f, -9.670144122e-04f, -9.656324569e-04f, -9.642489124e-04f, -9.628637811e-04f, -9.614770656e-04f, -9.600887684e-04f, -9.586988919e-04f, -9.573074387e-04f,
+-9.559144112e-04f, -9.545198119e-04f, -9.531236434e-04f, -9.517259081e-04f, -9.503266086e-04f, -9.489257473e-04f, -9.475233268e-04f, -9.461193496e-04f, -9.447138182e-04f, -9.433067350e-04f,
+-9.418981028e-04f, -9.404879239e-04f, -9.390762009e-04f, -9.376629363e-04f, -9.362481327e-04f, -9.348317926e-04f, -9.334139184e-04f, -9.319945129e-04f, -9.305735785e-04f, -9.291511177e-04f,
+-9.277271331e-04f, -9.263016272e-04f, -9.248746027e-04f, -9.234460620e-04f, -9.220160078e-04f, -9.205844425e-04f, -9.191513687e-04f, -9.177167890e-04f, -9.162807060e-04f, -9.148431222e-04f,
+-9.134040403e-04f, -9.119634627e-04f, -9.105213920e-04f, -9.090778309e-04f, -9.076327820e-04f, -9.061862477e-04f, -9.047382307e-04f, -9.032887335e-04f, -9.018377589e-04f, -9.003853093e-04f,
+-8.989313873e-04f, -8.974759957e-04f, -8.960191368e-04f, -8.945608134e-04f, -8.931010281e-04f, -8.916397835e-04f, -8.901770821e-04f, -8.887129266e-04f, -8.872473197e-04f, -8.857802638e-04f,
+-8.843117617e-04f, -8.828418160e-04f, -8.813704292e-04f, -8.798976041e-04f, -8.784233433e-04f, -8.769476493e-04f, -8.754705248e-04f, -8.739919724e-04f, -8.725119949e-04f, -8.710305947e-04f,
+-8.695477747e-04f, -8.680635373e-04f, -8.665778854e-04f, -8.650908214e-04f, -8.636023481e-04f, -8.621124681e-04f, -8.606211841e-04f, -8.591284987e-04f, -8.576344146e-04f, -8.561389345e-04f,
+-8.546420610e-04f, -8.531437968e-04f, -8.516441445e-04f, -8.501431069e-04f, -8.486406866e-04f, -8.471368863e-04f, -8.456317086e-04f, -8.441251563e-04f, -8.426172321e-04f, -8.411079385e-04f,
+-8.395972784e-04f, -8.380852543e-04f, -8.365718690e-04f, -8.350571252e-04f, -8.335410256e-04f, -8.320235729e-04f, -8.305047697e-04f, -8.289846189e-04f, -8.274631230e-04f, -8.259402848e-04f,
+-8.244161070e-04f, -8.228905923e-04f, -8.213637435e-04f, -8.198355632e-04f, -8.183060542e-04f, -8.167752192e-04f, -8.152430608e-04f, -8.137095820e-04f, -8.121747852e-04f, -8.106386734e-04f,
+-8.091012492e-04f, -8.075625153e-04f, -8.060224746e-04f, -8.044811296e-04f, -8.029384833e-04f, -8.013945382e-04f, -7.998492972e-04f, -7.983027630e-04f, -7.967549384e-04f, -7.952058260e-04f,
+-7.936554287e-04f, -7.921037492e-04f, -7.905507903e-04f, -7.889965547e-04f, -7.874410451e-04f, -7.858842644e-04f, -7.843262153e-04f, -7.827669006e-04f, -7.812063231e-04f, -7.796444854e-04f,
+-7.780813904e-04f, -7.765170409e-04f, -7.749514396e-04f, -7.733845894e-04f, -7.718164929e-04f, -7.702471530e-04f, -7.686765725e-04f, -7.671047541e-04f, -7.655317007e-04f, -7.639574150e-04f,
+-7.623818998e-04f, -7.608051579e-04f, -7.592271921e-04f, -7.576480053e-04f, -7.560676001e-04f, -7.544859795e-04f, -7.529031462e-04f, -7.513191030e-04f, -7.497338528e-04f, -7.481473983e-04f,
+-7.465597423e-04f, -7.449708877e-04f, -7.433808373e-04f, -7.417895939e-04f, -7.401971603e-04f, -7.386035393e-04f, -7.370087339e-04f, -7.354127467e-04f, -7.338155806e-04f, -7.322172385e-04f,
+-7.306177231e-04f, -7.290170374e-04f, -7.274151841e-04f, -7.258121660e-04f, -7.242079861e-04f, -7.226026472e-04f, -7.209961521e-04f, -7.193885036e-04f, -7.177797046e-04f, -7.161697579e-04f,
+-7.145586664e-04f, -7.129464330e-04f, -7.113330604e-04f, -7.097185516e-04f, -7.081029094e-04f, -7.064861367e-04f, -7.048682363e-04f, -7.032492110e-04f, -7.016290638e-04f, -7.000077976e-04f,
+-6.983854151e-04f, -6.967619192e-04f, -6.951373129e-04f, -6.935115989e-04f, -6.918847803e-04f, -6.902568597e-04f, -6.886278402e-04f, -6.869977246e-04f, -6.853665157e-04f, -6.837342166e-04f,
+-6.821008299e-04f, -6.804663587e-04f, -6.788308059e-04f, -6.771941742e-04f, -6.755564666e-04f, -6.739176861e-04f, -6.722778354e-04f, -6.706369175e-04f, -6.689949353e-04f, -6.673518917e-04f,
+-6.657077896e-04f, -6.640626318e-04f, -6.624164214e-04f, -6.607691611e-04f, -6.591208540e-04f, -6.574715029e-04f, -6.558211107e-04f, -6.541696803e-04f, -6.525172148e-04f, -6.508637169e-04f,
+-6.492091895e-04f, -6.475536357e-04f, -6.458970584e-04f, -6.442394603e-04f, -6.425808446e-04f, -6.409212141e-04f, -6.392605717e-04f, -6.375989203e-04f, -6.359362630e-04f, -6.342726026e-04f,
+-6.326079420e-04f, -6.309422842e-04f, -6.292756322e-04f, -6.276079888e-04f, -6.259393571e-04f, -6.242697399e-04f, -6.225991402e-04f, -6.209275609e-04f, -6.192550050e-04f, -6.175814755e-04f,
+-6.159069752e-04f, -6.142315072e-04f, -6.125550743e-04f, -6.108776796e-04f, -6.091993260e-04f, -6.075200164e-04f, -6.058397538e-04f, -6.041585412e-04f, -6.024763816e-04f, -6.007932778e-04f,
+-5.991092329e-04f, -5.974242498e-04f, -5.957383315e-04f, -5.940514809e-04f, -5.923637011e-04f, -5.906749950e-04f, -5.889853655e-04f, -5.872948157e-04f, -5.856033485e-04f, -5.839109669e-04f,
+-5.822176739e-04f, -5.805234724e-04f, -5.788283655e-04f, -5.771323560e-04f, -5.754354471e-04f, -5.737376417e-04f, -5.720389427e-04f, -5.703393533e-04f, -5.686388762e-04f, -5.669375146e-04f,
+-5.652352715e-04f, -5.635321497e-04f, -5.618281524e-04f, -5.601232825e-04f, -5.584175430e-04f, -5.567109370e-04f, -5.550034673e-04f, -5.532951371e-04f, -5.515859493e-04f, -5.498759069e-04f,
+-5.481650129e-04f, -5.464532704e-04f, -5.447406823e-04f, -5.430272517e-04f, -5.413129815e-04f, -5.395978748e-04f, -5.378819346e-04f, -5.361651639e-04f, -5.344475657e-04f, -5.327291431e-04f,
+-5.310098990e-04f, -5.292898365e-04f, -5.275689586e-04f, -5.258472682e-04f, -5.241247686e-04f, -5.224014626e-04f, -5.206773532e-04f, -5.189524436e-04f, -5.172267368e-04f, -5.155002357e-04f,
+-5.137729434e-04f, -5.120448629e-04f, -5.103159974e-04f, -5.085863497e-04f, -5.068559229e-04f, -5.051247201e-04f, -5.033927444e-04f, -5.016599987e-04f, -4.999264860e-04f, -4.981922095e-04f,
+-4.964571722e-04f, -4.947213771e-04f, -4.929848272e-04f, -4.912475257e-04f, -4.895094755e-04f, -4.877706797e-04f, -4.860311413e-04f, -4.842908634e-04f, -4.825498491e-04f, -4.808081014e-04f,
+-4.790656234e-04f, -4.773224180e-04f, -4.755784884e-04f, -4.738338376e-04f, -4.720884687e-04f, -4.703423848e-04f, -4.685955888e-04f, -4.668480839e-04f, -4.650998731e-04f, -4.633509595e-04f,
+-4.616013462e-04f, -4.598510361e-04f, -4.581000324e-04f, -4.563483382e-04f, -4.545959565e-04f, -4.528428903e-04f, -4.510891428e-04f, -4.493347171e-04f, -4.475796161e-04f, -4.458238429e-04f,
+-4.440674008e-04f, -4.423102926e-04f, -4.405525215e-04f, -4.387940906e-04f, -4.370350029e-04f, -4.352752616e-04f, -4.335148696e-04f, -4.317538302e-04f, -4.299921463e-04f, -4.282298210e-04f,
+-4.264668575e-04f, -4.247032588e-04f, -4.229390280e-04f, -4.211741682e-04f, -4.194086825e-04f, -4.176425739e-04f, -4.158758456e-04f, -4.141085006e-04f, -4.123405420e-04f, -4.105719730e-04f,
+-4.088027966e-04f, -4.070330159e-04f, -4.052626339e-04f, -4.034916539e-04f, -4.017200789e-04f, -3.999479120e-04f, -3.981751563e-04f, -3.964018148e-04f, -3.946278908e-04f, -3.928533872e-04f,
+-3.910783072e-04f, -3.893026539e-04f, -3.875264304e-04f, -3.857496398e-04f, -3.839722852e-04f, -3.821943697e-04f, -3.804158964e-04f, -3.786368684e-04f, -3.768572889e-04f, -3.750771608e-04f,
+-3.732964875e-04f, -3.715152718e-04f, -3.697335170e-04f, -3.679512263e-04f, -3.661684025e-04f, -3.643850490e-04f, -3.626011688e-04f, -3.608167650e-04f, -3.590318408e-04f, -3.572463992e-04f,
+-3.554604434e-04f, -3.536739765e-04f, -3.518870015e-04f, -3.500995217e-04f, -3.483115402e-04f, -3.465230600e-04f, -3.447340843e-04f, -3.429446162e-04f, -3.411546588e-04f, -3.393642153e-04f,
+-3.375732887e-04f, -3.357818822e-04f, -3.339899990e-04f, -3.321976421e-04f, -3.304048147e-04f, -3.286115198e-04f, -3.268177607e-04f, -3.250235405e-04f, -3.232288622e-04f, -3.214337290e-04f,
+-3.196381441e-04f, -3.178421105e-04f, -3.160456315e-04f, -3.142487100e-04f, -3.124513494e-04f, -3.106535526e-04f, -3.088553228e-04f, -3.070566632e-04f, -3.052575769e-04f, -3.034580671e-04f,
+-3.016581368e-04f, -2.998577892e-04f, -2.980570274e-04f, -2.962558546e-04f, -2.944542739e-04f, -2.926522885e-04f, -2.908499014e-04f, -2.890471159e-04f, -2.872439351e-04f, -2.854403620e-04f,
+-2.836363999e-04f, -2.818320519e-04f, -2.800273211e-04f, -2.782222107e-04f, -2.764167237e-04f, -2.746108635e-04f, -2.728046330e-04f, -2.709980355e-04f, -2.691910741e-04f, -2.673837519e-04f,
+-2.655760720e-04f, -2.637680377e-04f, -2.619596521e-04f, -2.601509183e-04f, -2.583418394e-04f, -2.565324186e-04f, -2.547226591e-04f, -2.529125640e-04f, -2.511021364e-04f, -2.492913796e-04f,
+-2.474802966e-04f, -2.456688906e-04f, -2.438571647e-04f, -2.420451221e-04f, -2.402327660e-04f, -2.384200995e-04f, -2.366071257e-04f, -2.347938479e-04f, -2.329802691e-04f, -2.311663925e-04f,
+-2.293522212e-04f, -2.275377585e-04f, -2.257230075e-04f, -2.239079712e-04f, -2.220926530e-04f, -2.202770558e-04f, -2.184611830e-04f, -2.166450376e-04f, -2.148286228e-04f, -2.130119417e-04f,
+-2.111949975e-04f, -2.093777934e-04f, -2.075603325e-04f, -2.057426180e-04f, -2.039246531e-04f, -2.021064408e-04f, -2.002879843e-04f, -1.984692869e-04f, -1.966503516e-04f, -1.948311816e-04f,
+-1.930117801e-04f, -1.911921503e-04f, -1.893722952e-04f, -1.875522181e-04f, -1.857319221e-04f, -1.839114104e-04f, -1.820906861e-04f, -1.802697524e-04f, -1.784486124e-04f, -1.766272694e-04f,
+-1.748057264e-04f, -1.729839867e-04f, -1.711620533e-04f, -1.693399295e-04f, -1.675176184e-04f, -1.656951232e-04f, -1.638724470e-04f, -1.620495931e-04f, -1.602265644e-04f, -1.584033643e-04f,
+-1.565799959e-04f, -1.547564623e-04f, -1.529327667e-04f, -1.511089123e-04f, -1.492849022e-04f, -1.474607396e-04f, -1.456364276e-04f, -1.438119695e-04f, -1.419873683e-04f, -1.401626273e-04f,
+-1.383377496e-04f, -1.365127383e-04f, -1.346875967e-04f, -1.328623278e-04f, -1.310369349e-04f, -1.292114212e-04f, -1.273857897e-04f, -1.255600436e-04f, -1.237341861e-04f, -1.219082204e-04f,
+-1.200821496e-04f, -1.182559769e-04f, -1.164297055e-04f, -1.146033385e-04f, -1.127768790e-04f, -1.109503303e-04f, -1.091236955e-04f, -1.072969778e-04f, -1.054701803e-04f, -1.036433061e-04f,
+-1.018163586e-04f, -9.998934072e-05f, -9.816225574e-05f, -9.633510680e-05f, -9.450789706e-05f, -9.268062969e-05f, -9.085330784e-05f, -8.902593468e-05f, -8.719851337e-05f, -8.537104707e-05f,
+-8.354353894e-05f, -8.171599214e-05f, -7.988840984e-05f, -7.806079520e-05f, -7.623315137e-05f, -7.440548153e-05f, -7.257778882e-05f, -7.075007642e-05f, -6.892234747e-05f, -6.709460515e-05f,
+-6.526685260e-05f, -6.343909300e-05f, -6.161132951e-05f, -5.978356527e-05f, -5.795580345e-05f, -5.612804722e-05f, -5.430029972e-05f, -5.247256412e-05f, -5.064484358e-05f, -4.881714126e-05f,
+-4.698946031e-05f, -4.516180389e-05f, -4.333417517e-05f, -4.150657729e-05f, -3.967901341e-05f, -3.785148670e-05f, -3.602400031e-05f, -3.419655740e-05f, -3.236916112e-05f, -3.054181463e-05f,
+-2.871452108e-05f, -2.688728363e-05f, -2.506010544e-05f, -2.323298966e-05f, -2.140593945e-05f, -1.957895796e-05f, -1.775204834e-05f, -1.592521375e-05f, -1.409845734e-05f, -1.227178227e-05f,
+-1.044519169e-05f, -8.618688746e-06f, -6.792276597e-06f, -4.965958392e-06f, -3.139737285e-06f, -1.313616425e-06f, 5.124010351e-07f, 2.338311946e-06f, 4.164113158e-06f, 5.989801520e-06f,
+7.815373883e-06f, 9.640827099e-06f, 1.146615802e-05f, 1.329136349e-05f, 1.511644037e-05f, 1.694138552e-05f, 1.876619577e-05f, 2.059086799e-05f, 2.241539903e-05f, 2.423978575e-05f,
+2.606402499e-05f, 2.788811362e-05f, 2.971204849e-05f, 3.153582646e-05f, 3.335944437e-05f, 3.518289910e-05f, 3.700618749e-05f, 3.882930641e-05f, 4.065225271e-05f, 4.247502325e-05f,
+4.429761489e-05f, 4.612002449e-05f, 4.794224891e-05f, 4.976428501e-05f, 5.158612966e-05f, 5.340777971e-05f, 5.522923202e-05f, 5.705048347e-05f, 5.887153091e-05f, 6.069237121e-05f,
+6.251300122e-05f, 6.433341783e-05f, 6.615361788e-05f, 6.797359825e-05f, 6.979335581e-05f, 7.161288742e-05f, 7.343218995e-05f, 7.525126026e-05f, 7.707009524e-05f, 7.888869174e-05f,
+8.070704663e-05f, 8.252515679e-05f, 8.434301909e-05f, 8.616063040e-05f, 8.797798760e-05f, 8.979508755e-05f, 9.161192713e-05f, 9.342850321e-05f, 9.524481267e-05f, 9.706085239e-05f,
+9.887661924e-05f, 1.006921101e-04f, 1.025073218e-04f, 1.043222514e-04f, 1.061368955e-04f, 1.079512512e-04f, 1.097653153e-04f, 1.115790846e-04f, 1.133925561e-04f, 1.152057267e-04f,
+1.170185932e-04f, 1.188311526e-04f, 1.206434016e-04f, 1.224553372e-04f, 1.242669563e-04f, 1.260782557e-04f, 1.278892324e-04f, 1.296998832e-04f, 1.315102050e-04f, 1.333201948e-04f,
+1.351298493e-04f, 1.369391656e-04f, 1.387481404e-04f, 1.405567707e-04f, 1.423650534e-04f, 1.441729854e-04f, 1.459805635e-04f, 1.477877846e-04f, 1.495946458e-04f, 1.514011437e-04f,
+1.532072755e-04f, 1.550130378e-04f, 1.568184277e-04f, 1.586234421e-04f, 1.604280778e-04f, 1.622323318e-04f, 1.640362009e-04f, 1.658396821e-04f, 1.676427723e-04f, 1.694454683e-04f,
+1.712477671e-04f, 1.730496656e-04f, 1.748511606e-04f, 1.766522492e-04f, 1.784529282e-04f, 1.802531945e-04f, 1.820530451e-04f, 1.838524768e-04f, 1.856514865e-04f, 1.874500713e-04f,
+1.892482279e-04f, 1.910459533e-04f, 1.928432445e-04f, 1.946400983e-04f, 1.964365117e-04f, 1.982324815e-04f, 2.000280048e-04f, 2.018230784e-04f, 2.036176992e-04f, 2.054118642e-04f,
+2.072055703e-04f, 2.089988144e-04f, 2.107915935e-04f, 2.125839045e-04f, 2.143757443e-04f, 2.161671098e-04f, 2.179579979e-04f, 2.197484057e-04f, 2.215383300e-04f, 2.233277678e-04f,
+2.251167160e-04f, 2.269051715e-04f, 2.286931313e-04f, 2.304805923e-04f, 2.322675515e-04f, 2.340540057e-04f, 2.358399520e-04f, 2.376253873e-04f, 2.394103084e-04f, 2.411947125e-04f,
+2.429785963e-04f, 2.447619569e-04f, 2.465447912e-04f, 2.483270962e-04f, 2.501088687e-04f, 2.518901058e-04f, 2.536708045e-04f, 2.554509615e-04f, 2.572305740e-04f, 2.590096388e-04f,
+2.607881530e-04f, 2.625661135e-04f, 2.643435171e-04f, 2.661203610e-04f, 2.678966421e-04f, 2.696723572e-04f, 2.714475035e-04f, 2.732220778e-04f, 2.749960771e-04f, 2.767694983e-04f,
+2.785423386e-04f, 2.803145947e-04f, 2.820862638e-04f, 2.838573427e-04f, 2.856278284e-04f, 2.873977179e-04f, 2.891670083e-04f, 2.909356963e-04f, 2.927037791e-04f, 2.944712537e-04f,
+2.962381169e-04f, 2.980043658e-04f, 2.997699973e-04f, 3.015350085e-04f, 3.032993963e-04f, 3.050631577e-04f, 3.068262897e-04f, 3.085887893e-04f, 3.103506535e-04f, 3.121118793e-04f,
+3.138724636e-04f, 3.156324035e-04f, 3.173916959e-04f, 3.191503378e-04f, 3.209083263e-04f, 3.226656584e-04f, 3.244223310e-04f, 3.261783411e-04f, 3.279336858e-04f, 3.296883620e-04f,
+3.314423668e-04f, 3.331956972e-04f, 3.349483501e-04f, 3.367003226e-04f, 3.384516117e-04f, 3.402022144e-04f, 3.419521277e-04f, 3.437013486e-04f, 3.454498742e-04f, 3.471977015e-04f,
+3.489448275e-04f, 3.506912491e-04f, 3.524369635e-04f, 3.541819677e-04f, 3.559262586e-04f, 3.576698333e-04f, 3.594126888e-04f, 3.611548222e-04f, 3.628962305e-04f, 3.646369107e-04f,
+3.663768599e-04f, 3.681160751e-04f, 3.698545533e-04f, 3.715922915e-04f, 3.733292869e-04f, 3.750655363e-04f, 3.768010370e-04f, 3.785357859e-04f, 3.802697801e-04f, 3.820030166e-04f,
+3.837354924e-04f, 3.854672047e-04f, 3.871981504e-04f, 3.889283267e-04f, 3.906577305e-04f, 3.923863589e-04f, 3.941142091e-04f, 3.958412779e-04f, 3.975675626e-04f, 3.992930601e-04f,
+4.010177676e-04f, 4.027416821e-04f, 4.044648006e-04f, 4.061871202e-04f, 4.079086380e-04f, 4.096293511e-04f, 4.113492565e-04f, 4.130683513e-04f, 4.147866327e-04f, 4.165040975e-04f,
+4.182207430e-04f, 4.199365663e-04f, 4.216515643e-04f, 4.233657342e-04f, 4.250790731e-04f, 4.267915781e-04f, 4.285032461e-04f, 4.302140745e-04f, 4.319240601e-04f, 4.336332002e-04f,
+4.353414917e-04f, 4.370489319e-04f, 4.387555178e-04f, 4.404612465e-04f, 4.421661151e-04f, 4.438701207e-04f, 4.455732604e-04f, 4.472755313e-04f, 4.489769306e-04f, 4.506774553e-04f,
+4.523771025e-04f, 4.540758694e-04f, 4.557737531e-04f, 4.574707507e-04f, 4.591668592e-04f, 4.608620759e-04f, 4.625563979e-04f, 4.642498222e-04f, 4.659423460e-04f, 4.676339665e-04f,
+4.693246807e-04f, 4.710144858e-04f, 4.727033789e-04f, 4.743913571e-04f, 4.760784176e-04f, 4.777645576e-04f, 4.794497741e-04f, 4.811340643e-04f, 4.828174253e-04f, 4.844998543e-04f,
+4.861813484e-04f, 4.878619049e-04f, 4.895415207e-04f, 4.912201931e-04f, 4.928979193e-04f, 4.945746963e-04f, 4.962505214e-04f, 4.979253917e-04f, 4.995993043e-04f, 5.012722565e-04f,
+5.029442453e-04f, 5.046152680e-04f, 5.062853217e-04f, 5.079544036e-04f, 5.096225109e-04f, 5.112896407e-04f, 5.129557901e-04f, 5.146209565e-04f, 5.162851370e-04f, 5.179483286e-04f,
+5.196105287e-04f, 5.212717344e-04f, 5.229319429e-04f, 5.245911514e-04f, 5.262493571e-04f, 5.279065571e-04f, 5.295627487e-04f, 5.312179290e-04f, 5.328720953e-04f, 5.345252447e-04f,
+5.361773745e-04f, 5.378284818e-04f, 5.394785639e-04f, 5.411276179e-04f, 5.427756411e-04f, 5.444226307e-04f, 5.460685839e-04f, 5.477134980e-04f, 5.493573700e-04f, 5.510001973e-04f,
+5.526419771e-04f, 5.542827065e-04f, 5.559223829e-04f, 5.575610034e-04f, 5.591985653e-04f, 5.608350658e-04f, 5.624705021e-04f, 5.641048715e-04f, 5.657381712e-04f, 5.673703984e-04f,
+5.690015504e-04f, 5.706316245e-04f, 5.722606178e-04f, 5.738885277e-04f, 5.755153513e-04f, 5.771410859e-04f, 5.787657288e-04f, 5.803892772e-04f, 5.820117284e-04f, 5.836330797e-04f,
+5.852533283e-04f, 5.868724714e-04f, 5.884905063e-04f, 5.901074304e-04f, 5.917232408e-04f, 5.933379349e-04f, 5.949515098e-04f, 5.965639630e-04f, 5.981752916e-04f, 5.997854930e-04f,
+6.013945644e-04f, 6.030025031e-04f, 6.046093064e-04f, 6.062149716e-04f, 6.078194959e-04f, 6.094228768e-04f, 6.110251114e-04f, 6.126261970e-04f, 6.142261311e-04f, 6.158249107e-04f,
+6.174225334e-04f, 6.190189963e-04f, 6.206142968e-04f, 6.222084321e-04f, 6.238013997e-04f, 6.253931968e-04f, 6.269838207e-04f, 6.285732688e-04f, 6.301615383e-04f, 6.317486266e-04f,
+6.333345310e-04f, 6.349192489e-04f, 6.365027775e-04f, 6.380851143e-04f, 6.396662564e-04f, 6.412462014e-04f, 6.428249464e-04f, 6.444024890e-04f, 6.459788263e-04f, 6.475539557e-04f,
+6.491278746e-04f, 6.507005804e-04f, 6.522720703e-04f, 6.538423418e-04f, 6.554113922e-04f, 6.569792189e-04f, 6.585458191e-04f, 6.601111904e-04f, 6.616753300e-04f, 6.632382353e-04f,
+6.647999036e-04f, 6.663603325e-04f, 6.679195191e-04f, 6.694774610e-04f, 6.710341555e-04f, 6.725895999e-04f, 6.741437916e-04f, 6.756967281e-04f, 6.772484068e-04f, 6.787988249e-04f,
+6.803479800e-04f, 6.818958693e-04f, 6.834424904e-04f, 6.849878405e-04f, 6.865319172e-04f, 6.880747177e-04f, 6.896162396e-04f, 6.911564802e-04f, 6.926954369e-04f, 6.942331072e-04f,
+6.957694885e-04f, 6.973045781e-04f, 6.988383735e-04f, 7.003708722e-04f, 7.019020715e-04f, 7.034319690e-04f, 7.049605619e-04f, 7.064878478e-04f, 7.080138240e-04f, 7.095384881e-04f,
+7.110618374e-04f, 7.125838695e-04f, 7.141045817e-04f, 7.156239715e-04f, 7.171420363e-04f, 7.186587737e-04f, 7.201741810e-04f, 7.216882557e-04f, 7.232009953e-04f, 7.247123972e-04f,
+7.262224590e-04f, 7.277311780e-04f, 7.292385517e-04f, 7.307445776e-04f, 7.322492533e-04f, 7.337525761e-04f, 7.352545435e-04f, 7.367551531e-04f, 7.382544023e-04f, 7.397522885e-04f,
+7.412488094e-04f, 7.427439623e-04f, 7.442377448e-04f, 7.457301544e-04f, 7.472211885e-04f, 7.487108448e-04f, 7.501991206e-04f, 7.516860135e-04f, 7.531715209e-04f, 7.546556405e-04f,
+7.561383697e-04f, 7.576197061e-04f, 7.590996471e-04f, 7.605781903e-04f, 7.620553332e-04f, 7.635310733e-04f, 7.650054082e-04f, 7.664783354e-04f, 7.679498524e-04f, 7.694199568e-04f,
+7.708886461e-04f, 7.723559179e-04f, 7.738217697e-04f, 7.752861990e-04f, 7.767492034e-04f, 7.782107805e-04f, 7.796709278e-04f, 7.811296429e-04f, 7.825869233e-04f, 7.840427665e-04f,
+7.854971703e-04f, 7.869501321e-04f, 7.884016494e-04f, 7.898517200e-04f, 7.913003413e-04f, 7.927475110e-04f, 7.941932265e-04f, 7.956374856e-04f, 7.970802858e-04f, 7.985216246e-04f,
+7.999614997e-04f, 8.013999087e-04f, 8.028368492e-04f, 8.042723187e-04f, 8.057063149e-04f, 8.071388354e-04f, 8.085698778e-04f, 8.099994396e-04f, 8.114275186e-04f, 8.128541123e-04f,
+8.142792184e-04f, 8.157028345e-04f, 8.171249581e-04f, 8.185455870e-04f, 8.199647188e-04f, 8.213823510e-04f, 8.227984814e-04f, 8.242131075e-04f, 8.256262271e-04f, 8.270378377e-04f,
+8.284479370e-04f, 8.298565227e-04f, 8.312635923e-04f, 8.326691437e-04f, 8.340731744e-04f, 8.354756820e-04f, 8.368766643e-04f, 8.382761189e-04f, 8.396740435e-04f, 8.410704357e-04f,
+8.424652933e-04f, 8.438586139e-04f, 8.452503951e-04f, 8.466406348e-04f, 8.480293305e-04f, 8.494164799e-04f, 8.508020808e-04f, 8.521861308e-04f, 8.535686276e-04f, 8.549495690e-04f,
+8.563289526e-04f, 8.577067762e-04f, 8.590830374e-04f, 8.604577339e-04f, 8.618308635e-04f, 8.632024240e-04f, 8.645724129e-04f, 8.659408281e-04f, 8.673076672e-04f, 8.686729280e-04f,
+8.700366082e-04f, 8.713987056e-04f, 8.727592179e-04f, 8.741181428e-04f, 8.754754781e-04f, 8.768312215e-04f, 8.781853708e-04f, 8.795379237e-04f, 8.808888780e-04f, 8.822382314e-04f,
+8.835859817e-04f, 8.849321267e-04f, 8.862766641e-04f, 8.876195916e-04f, 8.889609072e-04f, 8.903006085e-04f, 8.916386933e-04f, 8.929751594e-04f, 8.943100045e-04f, 8.956432266e-04f,
+8.969748233e-04f, 8.983047924e-04f, 8.996331318e-04f, 9.009598393e-04f, 9.022849125e-04f, 9.036083495e-04f, 9.049301479e-04f, 9.062503055e-04f, 9.075688203e-04f, 9.088856899e-04f,
+9.102009122e-04f, 9.115144851e-04f, 9.128264063e-04f, 9.141366738e-04f, 9.154452852e-04f, 9.167522385e-04f, 9.180575315e-04f, 9.193611620e-04f, 9.206631279e-04f, 9.219634271e-04f,
+9.232620573e-04f, 9.245590164e-04f, 9.258543022e-04f, 9.271479128e-04f, 9.284398458e-04f, 9.297300992e-04f, 9.310186708e-04f, 9.323055584e-04f, 9.335907601e-04f, 9.348742736e-04f,
+9.361560969e-04f, 9.374362277e-04f, 9.387146640e-04f, 9.399914037e-04f, 9.412664447e-04f, 9.425397849e-04f, 9.438114221e-04f, 9.450813543e-04f, 9.463495793e-04f, 9.476160951e-04f,
+9.488808996e-04f, 9.501439907e-04f, 9.514053664e-04f, 9.526650244e-04f, 9.539229628e-04f, 9.551791795e-04f, 9.564336724e-04f, 9.576864394e-04f, 9.589374785e-04f, 9.601867877e-04f,
+9.614343647e-04f, 9.626802077e-04f, 9.639243145e-04f, 9.651666831e-04f, 9.664073115e-04f, 9.676461975e-04f, 9.688833393e-04f, 9.701187346e-04f, 9.713523816e-04f, 9.725842780e-04f,
+9.738144221e-04f, 9.750428116e-04f, 9.762694446e-04f, 9.774943191e-04f, 9.787174331e-04f, 9.799387845e-04f, 9.811583713e-04f, 9.823761915e-04f, 9.835922432e-04f, 9.848065243e-04f,
+9.860190328e-04f, 9.872297667e-04f, 9.884387241e-04f, 9.896459030e-04f, 9.908513013e-04f, 9.920549171e-04f, 9.932567484e-04f, 9.944567933e-04f, 9.956550497e-04f, 9.968515158e-04f,
+9.980461895e-04f, 9.992390688e-04f, 1.000430152e-03f, 1.001619437e-03f, 1.002806921e-03f, 1.003992604e-03f, 1.005176482e-03f, 1.006358555e-03f, 1.007538819e-03f, 1.008717274e-03f,
+1.009893917e-03f, 1.011068746e-03f, 1.012241759e-03f, 1.013412955e-03f, 1.014582331e-03f, 1.015749886e-03f, 1.016915617e-03f, 1.018079523e-03f, 1.019241602e-03f, 1.020401852e-03f,
+1.021560271e-03f, 1.022716857e-03f, 1.023871608e-03f, 1.025024523e-03f, 1.026175599e-03f, 1.027324835e-03f, 1.028472228e-03f, 1.029617777e-03f, 1.030761480e-03f, 1.031903336e-03f,
+1.033043341e-03f, 1.034181495e-03f, 1.035317795e-03f, 1.036452240e-03f, 1.037584828e-03f, 1.038715557e-03f, 1.039844425e-03f, 1.040971430e-03f, 1.042096570e-03f, 1.043219844e-03f,
+1.044341250e-03f, 1.045460785e-03f, 1.046578449e-03f, 1.047694239e-03f, 1.048808153e-03f, 1.049920190e-03f, 1.051030348e-03f, 1.052138625e-03f, 1.053245019e-03f, 1.054349528e-03f,
+1.055452151e-03f, 1.056552886e-03f, 1.057651730e-03f, 1.058748683e-03f, 1.059843743e-03f, 1.060936907e-03f, 1.062028174e-03f, 1.063117541e-03f, 1.064205009e-03f, 1.065290573e-03f,
+1.066374234e-03f, 1.067455988e-03f, 1.068535835e-03f, 1.069613772e-03f, 1.070689798e-03f, 1.071763911e-03f, 1.072836110e-03f, 1.073906391e-03f, 1.074974755e-03f, 1.076041198e-03f,
+1.077105720e-03f, 1.078168319e-03f, 1.079228992e-03f, 1.080287738e-03f, 1.081344556e-03f, 1.082399443e-03f, 1.083452399e-03f, 1.084503420e-03f, 1.085552507e-03f, 1.086599656e-03f,
+1.087644866e-03f, 1.088688136e-03f, 1.089729463e-03f, 1.090768847e-03f, 1.091806285e-03f, 1.092841776e-03f, 1.093875317e-03f, 1.094906908e-03f, 1.095936547e-03f, 1.096964232e-03f,
+1.097989962e-03f, 1.099013734e-03f, 1.100035547e-03f, 1.101055399e-03f, 1.102073289e-03f, 1.103089216e-03f, 1.104103176e-03f, 1.105115170e-03f, 1.106125195e-03f, 1.107133249e-03f,
+1.108139332e-03f, 1.109143440e-03f, 1.110145574e-03f, 1.111145730e-03f, 1.112143908e-03f, 1.113140106e-03f, 1.114134322e-03f, 1.115126554e-03f, 1.116116802e-03f, 1.117105063e-03f,
+1.118091336e-03f, 1.119075619e-03f, 1.120057911e-03f, 1.121038210e-03f, 1.122016515e-03f, 1.122992823e-03f, 1.123967134e-03f, 1.124939445e-03f, 1.125909756e-03f, 1.126878065e-03f,
+1.127844369e-03f, 1.128808669e-03f, 1.129770961e-03f, 1.130731244e-03f, 1.131689518e-03f, 1.132645780e-03f, 1.133600029e-03f, 1.134552263e-03f, 1.135502481e-03f, 1.136450681e-03f,
+1.137396862e-03f, 1.138341022e-03f, 1.139283159e-03f, 1.140223273e-03f, 1.141161362e-03f, 1.142097424e-03f, 1.143031457e-03f, 1.143963461e-03f, 1.144893433e-03f, 1.145821373e-03f,
+1.146747278e-03f, 1.147671148e-03f, 1.148592980e-03f, 1.149512774e-03f, 1.150430527e-03f, 1.151346239e-03f, 1.152259907e-03f, 1.153171531e-03f, 1.154081109e-03f, 1.154988639e-03f,
+1.155894121e-03f, 1.156797552e-03f, 1.157698931e-03f, 1.158598257e-03f, 1.159495528e-03f, 1.160390744e-03f, 1.161283901e-03f, 1.162175000e-03f, 1.163064038e-03f, 1.163951014e-03f,
+1.164835927e-03f, 1.165718775e-03f, 1.166599558e-03f, 1.167478272e-03f, 1.168354918e-03f, 1.169229494e-03f, 1.170101998e-03f, 1.170972429e-03f, 1.171840786e-03f, 1.172707067e-03f,
+1.173571270e-03f, 1.174433395e-03f, 1.175293440e-03f, 1.176151404e-03f, 1.177007285e-03f, 1.177861082e-03f, 1.178712794e-03f, 1.179562419e-03f, 1.180409956e-03f, 1.181255404e-03f,
+1.182098761e-03f, 1.182940025e-03f, 1.183779197e-03f, 1.184616273e-03f, 1.185451254e-03f, 1.186284137e-03f, 1.187114921e-03f, 1.187943606e-03f, 1.188770189e-03f, 1.189594669e-03f,
+1.190417046e-03f, 1.191237317e-03f, 1.192055481e-03f, 1.192871538e-03f, 1.193685486e-03f, 1.194497323e-03f, 1.195307049e-03f, 1.196114662e-03f, 1.196920160e-03f, 1.197723543e-03f,
+1.198524809e-03f, 1.199323957e-03f, 1.200120986e-03f, 1.200915894e-03f, 1.201708680e-03f, 1.202499344e-03f, 1.203287883e-03f, 1.204074296e-03f, 1.204858583e-03f, 1.205640742e-03f,
+1.206420772e-03f, 1.207198671e-03f, 1.207974438e-03f, 1.208748073e-03f, 1.209519573e-03f, 1.210288938e-03f, 1.211056167e-03f, 1.211821258e-03f, 1.212584210e-03f, 1.213345022e-03f,
+1.214103692e-03f, 1.214860220e-03f, 1.215614605e-03f, 1.216366844e-03f, 1.217116938e-03f, 1.217864884e-03f, 1.218610682e-03f, 1.219354330e-03f, 1.220095828e-03f, 1.220835174e-03f,
+1.221572367e-03f, 1.222307405e-03f, 1.223040289e-03f, 1.223771016e-03f, 1.224499585e-03f, 1.225225996e-03f, 1.225950246e-03f, 1.226672336e-03f, 1.227392264e-03f, 1.228110028e-03f,
+1.228825629e-03f, 1.229539063e-03f, 1.230250331e-03f, 1.230959432e-03f, 1.231666364e-03f, 1.232371126e-03f, 1.233073717e-03f, 1.233774136e-03f, 1.234472382e-03f, 1.235168453e-03f,
+1.235862350e-03f, 1.236554070e-03f, 1.237243612e-03f, 1.237930977e-03f, 1.238616161e-03f, 1.239299165e-03f, 1.239979988e-03f, 1.240658627e-03f, 1.241335083e-03f, 1.242009354e-03f,
+1.242681440e-03f, 1.243351338e-03f, 1.244019049e-03f, 1.244684570e-03f, 1.245347902e-03f, 1.246009043e-03f, 1.246667992e-03f, 1.247324747e-03f, 1.247979309e-03f, 1.248631676e-03f,
+1.249281847e-03f, 1.249929821e-03f, 1.250575596e-03f, 1.251219173e-03f, 1.251860550e-03f, 1.252499726e-03f, 1.253136700e-03f, 1.253771471e-03f, 1.254404038e-03f, 1.255034400e-03f,
+1.255662557e-03f, 1.256288507e-03f, 1.256912249e-03f, 1.257533782e-03f, 1.258153106e-03f, 1.258770220e-03f, 1.259385121e-03f, 1.259997811e-03f, 1.260608287e-03f, 1.261216549e-03f,
+1.261822595e-03f, 1.262426426e-03f, 1.263028039e-03f, 1.263627435e-03f, 1.264224611e-03f, 1.264819568e-03f, 1.265412305e-03f, 1.266002819e-03f, 1.266591112e-03f, 1.267177181e-03f,
+1.267761025e-03f, 1.268342645e-03f, 1.268922039e-03f, 1.269499206e-03f, 1.270074145e-03f, 1.270646856e-03f, 1.271217337e-03f, 1.271785588e-03f, 1.272351607e-03f, 1.272915395e-03f,
+1.273476950e-03f, 1.274036271e-03f, 1.274593358e-03f, 1.275148209e-03f, 1.275700825e-03f, 1.276251203e-03f, 1.276799343e-03f, 1.277345245e-03f, 1.277888907e-03f, 1.278430329e-03f,
+1.278969510e-03f, 1.279506449e-03f, 1.280041146e-03f, 1.280573599e-03f, 1.281103807e-03f, 1.281631771e-03f, 1.282157489e-03f, 1.282680960e-03f, 1.283202184e-03f, 1.283721160e-03f,
+1.284237887e-03f, 1.284752364e-03f, 1.285264591e-03f, 1.285774566e-03f, 1.286282290e-03f, 1.286787761e-03f, 1.287290978e-03f, 1.287791942e-03f, 1.288290650e-03f, 1.288787103e-03f,
+1.289281299e-03f, 1.289773239e-03f, 1.290262920e-03f, 1.290750344e-03f, 1.291235507e-03f, 1.291718411e-03f, 1.292199055e-03f, 1.292677437e-03f, 1.293153556e-03f, 1.293627414e-03f,
+1.294099007e-03f, 1.294568337e-03f, 1.295035402e-03f, 1.295500202e-03f, 1.295962735e-03f, 1.296423001e-03f, 1.296881001e-03f, 1.297336732e-03f, 1.297790194e-03f, 1.298241387e-03f,
+1.298690309e-03f, 1.299136961e-03f, 1.299581342e-03f, 1.300023451e-03f, 1.300463287e-03f, 1.300900850e-03f, 1.301336138e-03f, 1.301769153e-03f, 1.302199892e-03f, 1.302628356e-03f,
+1.303054543e-03f, 1.303478453e-03f, 1.303900086e-03f, 1.304319441e-03f, 1.304736517e-03f, 1.305151313e-03f, 1.305563830e-03f, 1.305974066e-03f, 1.306382022e-03f, 1.306787695e-03f,
+1.307191087e-03f, 1.307592195e-03f, 1.307991021e-03f, 1.308387562e-03f, 1.308781819e-03f, 1.309173791e-03f, 1.309563477e-03f, 1.309950878e-03f, 1.310335992e-03f, 1.310718818e-03f,
+1.311099357e-03f, 1.311477608e-03f, 1.311853570e-03f, 1.312227243e-03f, 1.312598626e-03f, 1.312967719e-03f, 1.313334521e-03f, 1.313699032e-03f, 1.314061251e-03f, 1.314421178e-03f,
+1.314778812e-03f, 1.315134153e-03f, 1.315487201e-03f, 1.315837954e-03f, 1.316186412e-03f, 1.316532575e-03f, 1.316876443e-03f, 1.317218015e-03f, 1.317557290e-03f, 1.317894268e-03f,
+1.318228949e-03f, 1.318561332e-03f, 1.318891417e-03f, 1.319219203e-03f, 1.319544690e-03f, 1.319867877e-03f, 1.320188764e-03f, 1.320507351e-03f, 1.320823637e-03f, 1.321137622e-03f,
+1.321449305e-03f, 1.321758685e-03f, 1.322065764e-03f, 1.322370539e-03f, 1.322673012e-03f, 1.322973180e-03f, 1.323271045e-03f, 1.323566605e-03f, 1.323859861e-03f, 1.324150811e-03f,
+1.324439456e-03f, 1.324725794e-03f, 1.325009827e-03f, 1.325291553e-03f, 1.325570972e-03f, 1.325848083e-03f, 1.326122887e-03f, 1.326395383e-03f, 1.326665571e-03f, 1.326933449e-03f,
+1.327199019e-03f, 1.327462280e-03f, 1.327723231e-03f, 1.327981872e-03f, 1.328238202e-03f, 1.328492222e-03f, 1.328743931e-03f, 1.328993329e-03f, 1.329240416e-03f, 1.329485190e-03f,
+1.329727653e-03f, 1.329967803e-03f, 1.330205641e-03f, 1.330441165e-03f, 1.330674377e-03f, 1.330905275e-03f, 1.331133859e-03f, 1.331360129e-03f, 1.331584085e-03f, 1.331805727e-03f,
+1.332025054e-03f, 1.332242065e-03f, 1.332456762e-03f, 1.332669143e-03f, 1.332879209e-03f, 1.333086958e-03f, 1.333292391e-03f, 1.333495508e-03f, 1.333696309e-03f, 1.333894792e-03f,
+1.334090959e-03f, 1.334284808e-03f, 1.334476340e-03f, 1.334665555e-03f, 1.334852451e-03f, 1.335037030e-03f, 1.335219290e-03f, 1.335399232e-03f, 1.335576856e-03f, 1.335752161e-03f,
+1.335925147e-03f, 1.336095813e-03f, 1.336264161e-03f, 1.336430189e-03f, 1.336593898e-03f, 1.336755288e-03f, 1.336914357e-03f, 1.337071106e-03f, 1.337225536e-03f, 1.337377645e-03f,
+1.337527434e-03f, 1.337674902e-03f, 1.337820050e-03f, 1.337962877e-03f, 1.338103384e-03f, 1.338241569e-03f, 1.338377434e-03f, 1.338510977e-03f, 1.338642199e-03f, 1.338771100e-03f,
+1.338897679e-03f, 1.339021937e-03f, 1.339143873e-03f, 1.339263488e-03f, 1.339380781e-03f, 1.339495753e-03f, 1.339608402e-03f, 1.339718730e-03f, 1.339826735e-03f, 1.339932419e-03f,
+1.340035780e-03f, 1.340136820e-03f, 1.340235537e-03f, 1.340331932e-03f, 1.340426005e-03f, 1.340517756e-03f, 1.340607185e-03f, 1.340694291e-03f, 1.340779075e-03f, 1.340861537e-03f,
+1.340941676e-03f, 1.341019493e-03f, 1.341094988e-03f, 1.341168160e-03f, 1.341239010e-03f, 1.341307538e-03f, 1.341373744e-03f, 1.341437627e-03f, 1.341499188e-03f, 1.341558427e-03f,
+1.341615344e-03f, 1.341669939e-03f, 1.341722212e-03f, 1.341772162e-03f, 1.341819791e-03f, 1.341865097e-03f, 1.341908082e-03f, 1.341948745e-03f, 1.341987086e-03f, 1.342023106e-03f,
+1.342056804e-03f, 1.342088180e-03f, 1.342117235e-03f, 1.342143969e-03f, 1.342168381e-03f, 1.342190472e-03f, 1.342210242e-03f, 1.342227692e-03f, 1.342242820e-03f, 1.342255627e-03f,
+1.342266114e-03f, 1.342274280e-03f, 1.342280126e-03f, 1.342283651e-03f, 1.342284857e-03f, 1.342283742e-03f, 1.342280307e-03f, 1.342274553e-03f, 1.342266479e-03f, 1.342256086e-03f,
+1.342243373e-03f, 1.342228341e-03f, 1.342210990e-03f, 1.342191320e-03f, 1.342169332e-03f, 1.342145025e-03f, 1.342118400e-03f, 1.342089457e-03f, 1.342058195e-03f, 1.342024616e-03f,
+1.341988720e-03f, 1.341950506e-03f, 1.341909975e-03f, 1.341867127e-03f, 1.341821962e-03f, 1.341774481e-03f, 1.341724683e-03f, 1.341672569e-03f, 1.341618140e-03f, 1.341561394e-03f,
+1.341502334e-03f, 1.341440958e-03f, 1.341377267e-03f, 1.341311262e-03f, 1.341242942e-03f, 1.341172307e-03f, 1.341099359e-03f, 1.341024098e-03f, 1.340946523e-03f, 1.340866634e-03f,
+1.340784433e-03f, 1.340699919e-03f, 1.340613093e-03f, 1.340523955e-03f, 1.340432506e-03f, 1.340338744e-03f, 1.340242672e-03f, 1.340144289e-03f, 1.340043595e-03f, 1.339940591e-03f,
+1.339835277e-03f, 1.339727654e-03f, 1.339617721e-03f, 1.339505479e-03f, 1.339390929e-03f, 1.339274070e-03f, 1.339154904e-03f, 1.339033429e-03f, 1.338909648e-03f, 1.338783559e-03f,
+1.338655164e-03f, 1.338524463e-03f, 1.338391456e-03f, 1.338256143e-03f, 1.338118526e-03f, 1.337978603e-03f, 1.337836376e-03f, 1.337691846e-03f, 1.337545011e-03f, 1.337395873e-03f,
+1.337244433e-03f, 1.337090690e-03f, 1.336934645e-03f, 1.336776298e-03f, 1.336615650e-03f, 1.336452702e-03f, 1.336287453e-03f, 1.336119904e-03f, 1.335950055e-03f, 1.335777907e-03f,
+1.335603461e-03f, 1.335426716e-03f, 1.335247674e-03f, 1.335066334e-03f, 1.334882697e-03f, 1.334696763e-03f, 1.334508534e-03f, 1.334318009e-03f, 1.334125189e-03f, 1.333930074e-03f,
+1.333732666e-03f, 1.333532963e-03f, 1.333330967e-03f, 1.333126679e-03f, 1.332920098e-03f, 1.332711226e-03f, 1.332500062e-03f, 1.332286607e-03f, 1.332070863e-03f, 1.331852828e-03f,
+1.331632504e-03f, 1.331409892e-03f, 1.331184991e-03f, 1.330957803e-03f, 1.330728327e-03f, 1.330496565e-03f, 1.330262517e-03f, 1.330026183e-03f, 1.329787564e-03f, 1.329546661e-03f,
+1.329303473e-03f, 1.329058003e-03f, 1.328810249e-03f, 1.328560214e-03f, 1.328307896e-03f, 1.328053298e-03f, 1.327796419e-03f, 1.327537260e-03f, 1.327275821e-03f, 1.327012104e-03f,
+1.326746109e-03f, 1.326477836e-03f, 1.326207286e-03f, 1.325934459e-03f, 1.325659357e-03f, 1.325381979e-03f, 1.325102327e-03f, 1.324820401e-03f, 1.324536201e-03f, 1.324249729e-03f,
+1.323960985e-03f, 1.323669969e-03f, 1.323376682e-03f, 1.323081125e-03f, 1.322783299e-03f, 1.322483204e-03f, 1.322180840e-03f, 1.321876209e-03f, 1.321569310e-03f, 1.321260146e-03f,
+1.320948716e-03f, 1.320635021e-03f, 1.320319061e-03f, 1.320000838e-03f, 1.319680352e-03f, 1.319357604e-03f, 1.319032595e-03f, 1.318705324e-03f, 1.318375793e-03f, 1.318044003e-03f,
+1.317709954e-03f, 1.317373647e-03f, 1.317035083e-03f, 1.316694262e-03f, 1.316351185e-03f, 1.316005853e-03f, 1.315658267e-03f, 1.315308427e-03f, 1.314956334e-03f, 1.314601989e-03f,
+1.314245392e-03f, 1.313886544e-03f, 1.313525447e-03f, 1.313162100e-03f, 1.312796505e-03f, 1.312428662e-03f, 1.312058572e-03f, 1.311686236e-03f, 1.311311655e-03f, 1.310934829e-03f,
+1.310555759e-03f, 1.310174446e-03f, 1.309790891e-03f, 1.309405094e-03f, 1.309017057e-03f, 1.308626779e-03f, 1.308234263e-03f, 1.307839508e-03f, 1.307442516e-03f, 1.307043288e-03f,
+1.306641823e-03f, 1.306238124e-03f, 1.305832191e-03f, 1.305424024e-03f, 1.305013624e-03f, 1.304600993e-03f, 1.304186131e-03f, 1.303769040e-03f, 1.303349719e-03f, 1.302928170e-03f,
+1.302504393e-03f, 1.302078390e-03f, 1.301650161e-03f, 1.301219708e-03f, 1.300787030e-03f, 1.300352130e-03f, 1.299915007e-03f, 1.299475663e-03f, 1.299034099e-03f, 1.298590315e-03f,
+1.298144313e-03f, 1.297696093e-03f, 1.297245656e-03f, 1.296793003e-03f, 1.296338135e-03f, 1.295881054e-03f, 1.295421759e-03f, 1.294960251e-03f, 1.294496533e-03f, 1.294030604e-03f,
+1.293562466e-03f, 1.293092119e-03f, 1.292619565e-03f, 1.292144804e-03f, 1.291667837e-03f, 1.291188666e-03f, 1.290707291e-03f, 1.290223713e-03f, 1.289737934e-03f, 1.289249953e-03f,
+1.288759773e-03f, 1.288267394e-03f, 1.287772817e-03f, 1.287276042e-03f, 1.286777072e-03f, 1.286275907e-03f, 1.285772548e-03f, 1.285266996e-03f, 1.284759252e-03f, 1.284249317e-03f,
+1.283737193e-03f, 1.283222879e-03f, 1.282706377e-03f, 1.282187688e-03f, 1.281666814e-03f, 1.281143755e-03f, 1.280618511e-03f, 1.280091085e-03f, 1.279561478e-03f, 1.279029689e-03f,
+1.278495721e-03f, 1.277959574e-03f, 1.277421250e-03f, 1.276880749e-03f, 1.276338073e-03f, 1.275793222e-03f, 1.275246199e-03f, 1.274697002e-03f, 1.274145635e-03f, 1.273592098e-03f,
+1.273036391e-03f, 1.272478517e-03f, 1.271918476e-03f, 1.271356269e-03f, 1.270791898e-03f, 1.270225363e-03f, 1.269656666e-03f, 1.269085807e-03f, 1.268512788e-03f, 1.267937610e-03f,
+1.267360274e-03f, 1.266780781e-03f, 1.266199133e-03f, 1.265615330e-03f, 1.265029373e-03f, 1.264441265e-03f, 1.263851005e-03f, 1.263258595e-03f, 1.262664036e-03f, 1.262067329e-03f,
+1.261468476e-03f, 1.260867478e-03f, 1.260264335e-03f, 1.259659049e-03f, 1.259051622e-03f, 1.258442053e-03f, 1.257830345e-03f, 1.257216499e-03f, 1.256600516e-03f, 1.255982396e-03f,
+1.255362142e-03f, 1.254739754e-03f, 1.254115234e-03f, 1.253488582e-03f, 1.252859801e-03f, 1.252228891e-03f, 1.251595853e-03f, 1.250960689e-03f, 1.250323400e-03f, 1.249683987e-03f,
+1.249042451e-03f, 1.248398794e-03f, 1.247753016e-03f, 1.247105120e-03f, 1.246455106e-03f, 1.245802976e-03f, 1.245148730e-03f, 1.244492370e-03f, 1.243833898e-03f, 1.243173314e-03f,
+1.242510620e-03f, 1.241845817e-03f, 1.241178907e-03f, 1.240509890e-03f, 1.239838768e-03f, 1.239165542e-03f, 1.238490214e-03f, 1.237812784e-03f, 1.237133255e-03f, 1.236451627e-03f,
+1.235767902e-03f, 1.235082080e-03f, 1.234394164e-03f, 1.233704154e-03f, 1.233012053e-03f, 1.232317860e-03f, 1.231621579e-03f, 1.230923209e-03f, 1.230222752e-03f, 1.229520210e-03f,
+1.228815583e-03f, 1.228108874e-03f, 1.227400084e-03f, 1.226689213e-03f, 1.225976264e-03f, 1.225261237e-03f, 1.224544134e-03f, 1.223824956e-03f, 1.223103705e-03f, 1.222380383e-03f,
+1.221654989e-03f, 1.220927527e-03f, 1.220197996e-03f, 1.219466399e-03f, 1.218732738e-03f, 1.217997012e-03f, 1.217259224e-03f, 1.216519375e-03f, 1.215777467e-03f, 1.215033501e-03f,
+1.214287478e-03f, 1.213539400e-03f, 1.212789268e-03f, 1.212037083e-03f, 1.211282848e-03f, 1.210526563e-03f, 1.209768229e-03f, 1.209007849e-03f, 1.208245424e-03f, 1.207480955e-03f,
+1.206714443e-03f, 1.205945891e-03f, 1.205175299e-03f, 1.204402669e-03f, 1.203628002e-03f, 1.202851300e-03f, 1.202072564e-03f, 1.201291796e-03f, 1.200508998e-03f, 1.199724170e-03f,
+1.198937314e-03f, 1.198148432e-03f, 1.197357525e-03f, 1.196564594e-03f, 1.195769642e-03f, 1.194972669e-03f, 1.194173678e-03f, 1.193372669e-03f, 1.192569644e-03f, 1.191764605e-03f,
+1.190957552e-03f, 1.190148489e-03f, 1.189337415e-03f, 1.188524334e-03f, 1.187709245e-03f, 1.186892151e-03f, 1.186073053e-03f, 1.185251954e-03f, 1.184428853e-03f, 1.183603753e-03f,
+1.182776656e-03f, 1.181947563e-03f, 1.181116475e-03f, 1.180283394e-03f, 1.179448322e-03f, 1.178611259e-03f, 1.177772209e-03f, 1.176931172e-03f, 1.176088150e-03f, 1.175243144e-03f,
+1.174396156e-03f, 1.173547188e-03f, 1.172696240e-03f, 1.171843316e-03f, 1.170988416e-03f, 1.170131542e-03f, 1.169272695e-03f, 1.168411878e-03f, 1.167549091e-03f, 1.166684337e-03f,
+1.165817616e-03f, 1.164948932e-03f, 1.164078284e-03f, 1.163205675e-03f, 1.162331107e-03f, 1.161454580e-03f, 1.160576097e-03f, 1.159695660e-03f, 1.158813269e-03f, 1.157928927e-03f,
+1.157042636e-03f, 1.156154396e-03f, 1.155264210e-03f, 1.154372078e-03f, 1.153478004e-03f, 1.152581988e-03f, 1.151684033e-03f, 1.150784139e-03f, 1.149882308e-03f, 1.148978543e-03f,
+1.148072845e-03f, 1.147165215e-03f, 1.146255655e-03f, 1.145344167e-03f, 1.144430753e-03f, 1.143515414e-03f, 1.142598152e-03f, 1.141678968e-03f, 1.140757865e-03f, 1.139834844e-03f,
+1.138909907e-03f, 1.137983055e-03f, 1.137054291e-03f, 1.136123615e-03f, 1.135191030e-03f, 1.134256537e-03f, 1.133320138e-03f, 1.132381835e-03f, 1.131441630e-03f, 1.130499524e-03f,
+1.129555519e-03f, 1.128609616e-03f, 1.127661818e-03f, 1.126712127e-03f, 1.125760543e-03f, 1.124807069e-03f, 1.123851707e-03f, 1.122894458e-03f, 1.121935324e-03f, 1.120974307e-03f,
+1.120011408e-03f, 1.119046630e-03f, 1.118079973e-03f, 1.117111441e-03f, 1.116141035e-03f, 1.115168755e-03f, 1.114194606e-03f, 1.113218587e-03f, 1.112240701e-03f, 1.111260950e-03f,
+1.110279335e-03f, 1.109295858e-03f, 1.108310522e-03f, 1.107323327e-03f, 1.106334276e-03f, 1.105343371e-03f, 1.104350613e-03f, 1.103356004e-03f, 1.102359546e-03f, 1.101361241e-03f,
+1.100361091e-03f, 1.099359097e-03f, 1.098355261e-03f, 1.097349586e-03f, 1.096342072e-03f, 1.095332723e-03f, 1.094321539e-03f, 1.093308523e-03f, 1.092293676e-03f, 1.091277001e-03f,
+1.090258498e-03f, 1.089238171e-03f, 1.088216020e-03f, 1.087192049e-03f, 1.086166258e-03f, 1.085138649e-03f, 1.084109225e-03f, 1.083077987e-03f, 1.082044938e-03f, 1.081010078e-03f,
+1.079973411e-03f, 1.078934937e-03f, 1.077894659e-03f, 1.076852579e-03f, 1.075808698e-03f, 1.074763019e-03f, 1.073715543e-03f, 1.072666272e-03f, 1.071615209e-03f, 1.070562355e-03f,
+1.069507712e-03f, 1.068451282e-03f, 1.067393067e-03f, 1.066333068e-03f, 1.065271289e-03f, 1.064207730e-03f, 1.063142394e-03f, 1.062075283e-03f, 1.061006398e-03f, 1.059935742e-03f,
+1.058863316e-03f, 1.057789123e-03f, 1.056713164e-03f, 1.055635441e-03f, 1.054555957e-03f, 1.053474713e-03f, 1.052391711e-03f, 1.051306954e-03f, 1.050220442e-03f, 1.049132179e-03f,
+1.048042166e-03f, 1.046950406e-03f, 1.045856899e-03f, 1.044761649e-03f, 1.043664657e-03f, 1.042565925e-03f, 1.041465455e-03f, 1.040363249e-03f, 1.039259309e-03f, 1.038153638e-03f,
+1.037046237e-03f, 1.035937107e-03f, 1.034826253e-03f, 1.033713674e-03f, 1.032599374e-03f, 1.031483354e-03f, 1.030365616e-03f, 1.029246162e-03f, 1.028124995e-03f, 1.027002117e-03f,
+1.025877529e-03f, 1.024751233e-03f, 1.023623232e-03f, 1.022493527e-03f, 1.021362121e-03f, 1.020229016e-03f, 1.019094214e-03f, 1.017957716e-03f, 1.016819526e-03f, 1.015679644e-03f,
+1.014538073e-03f, 1.013394816e-03f, 1.012249873e-03f, 1.011103248e-03f, 1.009954942e-03f, 1.008804958e-03f, 1.007653297e-03f, 1.006499962e-03f, 1.005344954e-03f, 1.004188276e-03f,
+1.003029930e-03f, 1.001869918e-03f, 1.000708242e-03f, 9.995449041e-04f, 9.983799066e-04f, 9.972132514e-04f, 9.960449408e-04f, 9.948749768e-04f, 9.937033616e-04f, 9.925300972e-04f,
+9.913551858e-04f, 9.901786295e-04f, 9.890004305e-04f, 9.878205908e-04f, 9.866391127e-04f, 9.854559982e-04f, 9.842712495e-04f, 9.830848688e-04f, 9.818968581e-04f, 9.807072196e-04f,
+9.795159556e-04f, 9.783230681e-04f, 9.771285592e-04f, 9.759324313e-04f, 9.747346863e-04f, 9.735353265e-04f, 9.723343541e-04f, 9.711317712e-04f, 9.699275799e-04f, 9.687217826e-04f,
+9.675143813e-04f, 9.663053782e-04f, 9.650947755e-04f, 9.638825754e-04f, 9.626687801e-04f, 9.614533918e-04f, 9.602364126e-04f, 9.590178448e-04f, 9.577976906e-04f, 9.565759521e-04f,
+9.553526316e-04f, 9.541277313e-04f, 9.529012534e-04f, 9.516732000e-04f, 9.504435735e-04f, 9.492123760e-04f, 9.479796098e-04f, 9.467452770e-04f, 9.455093799e-04f, 9.442719208e-04f,
+9.430329018e-04f, 9.417923252e-04f, 9.405501933e-04f, 9.393065082e-04f, 9.380612722e-04f, 9.368144875e-04f, 9.355661564e-04f, 9.343162812e-04f, 9.330648641e-04f, 9.318119073e-04f,
+9.305574131e-04f, 9.293013838e-04f, 9.280438216e-04f, 9.267847288e-04f, 9.255241076e-04f, 9.242619603e-04f, 9.229982892e-04f, 9.217330966e-04f, 9.204663848e-04f, 9.191981559e-04f,
+9.179284123e-04f, 9.166571564e-04f, 9.153843902e-04f, 9.141101163e-04f, 9.128343368e-04f, 9.115570540e-04f, 9.102782702e-04f, 9.089979878e-04f, 9.077162090e-04f, 9.064329362e-04f,
+9.051481716e-04f, 9.038619175e-04f, 9.025741763e-04f, 9.012849503e-04f, 8.999942417e-04f, 8.987020530e-04f, 8.974083864e-04f, 8.961132442e-04f, 8.948166288e-04f, 8.935185425e-04f,
+8.922189877e-04f, 8.909179666e-04f, 8.896154816e-04f, 8.883115350e-04f, 8.870061292e-04f, 8.856992665e-04f, 8.843909493e-04f, 8.830811799e-04f, 8.817699606e-04f, 8.804572939e-04f,
+8.791431820e-04f, 8.778276273e-04f, 8.765106322e-04f, 8.751921990e-04f, 8.738723301e-04f, 8.725510279e-04f, 8.712282947e-04f, 8.699041329e-04f, 8.685785449e-04f, 8.672515330e-04f,
+8.659230997e-04f, 8.645932473e-04f, 8.632619781e-04f, 8.619292946e-04f, 8.605951992e-04f, 8.592596942e-04f, 8.579227821e-04f, 8.565844652e-04f, 8.552447459e-04f, 8.539036266e-04f,
+8.525611098e-04f, 8.512171977e-04f, 8.498718929e-04f, 8.485251978e-04f, 8.471771147e-04f, 8.458276460e-04f, 8.444767942e-04f, 8.431245617e-04f, 8.417709509e-04f, 8.404159642e-04f,
+8.390596041e-04f, 8.377018730e-04f, 8.363427732e-04f, 8.349823073e-04f, 8.336204776e-04f, 8.322572866e-04f, 8.308927368e-04f, 8.295268305e-04f, 8.281595702e-04f, 8.267909584e-04f,
+8.254209975e-04f, 8.240496899e-04f, 8.226770381e-04f, 8.213030446e-04f, 8.199277117e-04f, 8.185510420e-04f, 8.171730379e-04f, 8.157937019e-04f, 8.144130364e-04f, 8.130310439e-04f,
+8.116477269e-04f, 8.102630878e-04f, 8.088771291e-04f, 8.074898533e-04f, 8.061012628e-04f, 8.047113601e-04f, 8.033201478e-04f, 8.019276282e-04f, 8.005338040e-04f, 7.991386774e-04f,
+7.977422511e-04f, 7.963445276e-04f, 7.949455093e-04f, 7.935451987e-04f, 7.921435983e-04f, 7.907407106e-04f, 7.893365382e-04f, 7.879310834e-04f, 7.865243489e-04f, 7.851163371e-04f,
+7.837070506e-04f, 7.822964917e-04f, 7.808846632e-04f, 7.794715674e-04f, 7.780572069e-04f, 7.766415843e-04f, 7.752247019e-04f, 7.738065624e-04f, 7.723871683e-04f, 7.709665221e-04f,
+7.695446264e-04f, 7.681214836e-04f, 7.666970962e-04f, 7.652714670e-04f, 7.638445983e-04f, 7.624164927e-04f, 7.609871527e-04f, 7.595565810e-04f, 7.581247800e-04f, 7.566917522e-04f,
+7.552575003e-04f, 7.538220268e-04f, 7.523853342e-04f, 7.509474252e-04f, 7.495083021e-04f, 7.480679677e-04f, 7.466264244e-04f, 7.451836749e-04f, 7.437397217e-04f, 7.422945673e-04f,
+7.408482143e-04f, 7.394006654e-04f, 7.379519230e-04f, 7.365019898e-04f, 7.350508683e-04f, 7.335985611e-04f, 7.321450707e-04f, 7.306903999e-04f, 7.292345510e-04f, 7.277775268e-04f,
+7.263193299e-04f, 7.248599627e-04f, 7.233994279e-04f, 7.219377281e-04f, 7.204748659e-04f, 7.190108439e-04f, 7.175456647e-04f, 7.160793308e-04f, 7.146118449e-04f, 7.131432097e-04f,
+7.116734276e-04f, 7.102025013e-04f, 7.087304334e-04f, 7.072572265e-04f, 7.057828833e-04f, 7.043074063e-04f, 7.028307982e-04f, 7.013530616e-04f, 6.998741991e-04f, 6.983942133e-04f,
+6.969131069e-04f, 6.954308824e-04f, 6.939475425e-04f, 6.924630899e-04f, 6.909775272e-04f, 6.894908569e-04f, 6.880030818e-04f, 6.865142044e-04f, 6.850242275e-04f, 6.835331536e-04f,
+6.820409854e-04f, 6.805477255e-04f, 6.790533766e-04f, 6.775579413e-04f, 6.760614223e-04f, 6.745638222e-04f, 6.730651437e-04f, 6.715653894e-04f, 6.700645620e-04f, 6.685626642e-04f,
+6.670596985e-04f, 6.655556677e-04f, 6.640505745e-04f, 6.625444214e-04f, 6.610372112e-04f, 6.595289464e-04f, 6.580196299e-04f, 6.565092643e-04f, 6.549978521e-04f, 6.534853962e-04f,
+6.519718991e-04f, 6.504573637e-04f, 6.489417924e-04f, 6.474251881e-04f, 6.459075533e-04f, 6.443888909e-04f, 6.428692034e-04f, 6.413484935e-04f, 6.398267640e-04f, 6.383040176e-04f,
+6.367802568e-04f, 6.352554845e-04f, 6.337297033e-04f, 6.322029159e-04f, 6.306751250e-04f, 6.291463333e-04f, 6.276165436e-04f, 6.260857584e-04f, 6.245539805e-04f, 6.230212127e-04f,
+6.214874576e-04f, 6.199527180e-04f, 6.184169964e-04f, 6.168802958e-04f, 6.153426187e-04f, 6.138039679e-04f, 6.122643461e-04f, 6.107237561e-04f, 6.091822005e-04f, 6.076396820e-04f,
+6.060962034e-04f, 6.045517675e-04f, 6.030063769e-04f, 6.014600343e-04f, 5.999127426e-04f, 5.983645043e-04f, 5.968153223e-04f, 5.952651994e-04f, 5.937141381e-04f, 5.921621413e-04f,
+5.906092117e-04f, 5.890553520e-04f, 5.875005650e-04f, 5.859448534e-04f, 5.843882200e-04f, 5.828306675e-04f, 5.812721986e-04f, 5.797128162e-04f, 5.781525228e-04f, 5.765913214e-04f,
+5.750292147e-04f, 5.734662053e-04f, 5.719022961e-04f, 5.703374898e-04f, 5.687717892e-04f, 5.672051970e-04f, 5.656377160e-04f, 5.640693490e-04f, 5.625000987e-04f, 5.609299678e-04f,
+5.593589592e-04f, 5.577870757e-04f, 5.562143199e-04f, 5.546406946e-04f, 5.530662027e-04f, 5.514908469e-04f, 5.499146299e-04f, 5.483375546e-04f, 5.467596237e-04f, 5.451808400e-04f,
+5.436012062e-04f, 5.420207253e-04f, 5.404393998e-04f, 5.388572327e-04f, 5.372742267e-04f, 5.356903846e-04f, 5.341057091e-04f, 5.325202032e-04f, 5.309338694e-04f, 5.293467108e-04f,
+5.277587299e-04f, 5.261699297e-04f, 5.245803129e-04f, 5.229898824e-04f, 5.213986408e-04f, 5.198065911e-04f, 5.182137360e-04f, 5.166200783e-04f, 5.150256208e-04f, 5.134303664e-04f,
+5.118343177e-04f, 5.102374777e-04f, 5.086398491e-04f, 5.070414348e-04f, 5.054422375e-04f, 5.038422601e-04f, 5.022415054e-04f, 5.006399761e-04f, 4.990376752e-04f, 4.974346054e-04f,
+4.958307695e-04f, 4.942261703e-04f, 4.926208107e-04f, 4.910146936e-04f, 4.894078216e-04f, 4.878001976e-04f, 4.861918245e-04f, 4.845827051e-04f, 4.829728422e-04f, 4.813622386e-04f,
+4.797508971e-04f, 4.781388207e-04f, 4.765260120e-04f, 4.749124740e-04f, 4.732982095e-04f, 4.716832213e-04f, 4.700675123e-04f, 4.684510852e-04f, 4.668339429e-04f, 4.652160883e-04f,
+4.635975242e-04f, 4.619782534e-04f, 4.603582787e-04f, 4.587376031e-04f, 4.571162294e-04f, 4.554941603e-04f, 4.538713988e-04f, 4.522479477e-04f, 4.506238098e-04f, 4.489989880e-04f,
+4.473734851e-04f, 4.457473040e-04f, 4.441204475e-04f, 4.424929186e-04f, 4.408647199e-04f, 4.392358545e-04f, 4.376063251e-04f, 4.359761346e-04f, 4.343452858e-04f, 4.327137817e-04f,
+4.310816250e-04f, 4.294488187e-04f, 4.278153656e-04f, 4.261812685e-04f, 4.245465304e-04f, 4.229111540e-04f, 4.212751423e-04f, 4.196384981e-04f, 4.180012242e-04f, 4.163633236e-04f,
+4.147247992e-04f, 4.130856537e-04f, 4.114458900e-04f, 4.098055111e-04f, 4.081645197e-04f, 4.065229189e-04f, 4.048807114e-04f, 4.032379000e-04f, 4.015944878e-04f, 3.999504775e-04f,
+3.983058721e-04f, 3.966606744e-04f, 3.950148873e-04f, 3.933685137e-04f, 3.917215564e-04f, 3.900740184e-04f, 3.884259025e-04f, 3.867772116e-04f, 3.851279486e-04f, 3.834781163e-04f,
+3.818277178e-04f, 3.801767557e-04f, 3.785252331e-04f, 3.768731528e-04f, 3.752205177e-04f, 3.735673307e-04f, 3.719135947e-04f, 3.702593126e-04f, 3.686044872e-04f, 3.669491215e-04f,
+3.652932184e-04f, 3.636367807e-04f, 3.619798113e-04f, 3.603223132e-04f, 3.586642892e-04f, 3.570057422e-04f, 3.553466752e-04f, 3.536870910e-04f, 3.520269925e-04f, 3.503663827e-04f,
+3.487052643e-04f, 3.470436404e-04f, 3.453815139e-04f, 3.437188875e-04f, 3.420557643e-04f, 3.403921472e-04f, 3.387280389e-04f, 3.370634426e-04f, 3.353983609e-04f, 3.337327970e-04f,
+3.320667536e-04f, 3.304002337e-04f, 3.287332402e-04f, 3.270657760e-04f, 3.253978439e-04f, 3.237294470e-04f, 3.220605882e-04f, 3.203912702e-04f, 3.187214961e-04f, 3.170512688e-04f,
+3.153805912e-04f, 3.137094661e-04f, 3.120378966e-04f, 3.103658855e-04f, 3.086934357e-04f, 3.070205502e-04f, 3.053472318e-04f, 3.036734836e-04f, 3.019993083e-04f, 3.003247090e-04f,
+2.986496885e-04f, 2.969742498e-04f, 2.952983958e-04f, 2.936221294e-04f, 2.919454536e-04f, 2.902683712e-04f, 2.885908851e-04f, 2.869129984e-04f, 2.852347139e-04f, 2.835560346e-04f,
+2.818769633e-04f, 2.801975030e-04f, 2.785176566e-04f, 2.768374271e-04f, 2.751568174e-04f, 2.734758304e-04f, 2.717944690e-04f, 2.701127362e-04f, 2.684306349e-04f, 2.667481680e-04f,
+2.650653384e-04f, 2.633821492e-04f, 2.616986031e-04f, 2.600147032e-04f, 2.583304524e-04f, 2.566458535e-04f, 2.549609096e-04f, 2.532756236e-04f, 2.515899984e-04f, 2.499040369e-04f,
+2.482177421e-04f, 2.465311169e-04f, 2.448441643e-04f, 2.431568871e-04f, 2.414692884e-04f, 2.397813710e-04f, 2.380931378e-04f, 2.364045919e-04f, 2.347157362e-04f, 2.330265736e-04f,
+2.313371070e-04f, 2.296473393e-04f, 2.279572736e-04f, 2.262669128e-04f, 2.245762597e-04f, 2.228853173e-04f, 2.211940887e-04f, 2.195025766e-04f, 2.178107841e-04f, 2.161187141e-04f,
+2.144263695e-04f, 2.127337533e-04f, 2.110408684e-04f, 2.093477178e-04f, 2.076543044e-04f, 2.059606311e-04f, 2.042667009e-04f, 2.025725167e-04f, 2.008780815e-04f, 1.991833982e-04f,
+1.974884698e-04f, 1.957932992e-04f, 1.940978894e-04f, 1.924022432e-04f, 1.907063637e-04f, 1.890102538e-04f, 1.873139164e-04f, 1.856173545e-04f, 1.839205710e-04f, 1.822235688e-04f,
+1.805263510e-04f, 1.788289205e-04f, 1.771312801e-04f, 1.754334330e-04f, 1.737353819e-04f, 1.720371298e-04f, 1.703386798e-04f, 1.686400347e-04f, 1.669411975e-04f, 1.652421712e-04f,
+1.635429586e-04f, 1.618435628e-04f, 1.601439866e-04f, 1.584442331e-04f, 1.567443052e-04f, 1.550442058e-04f, 1.533439379e-04f, 1.516435044e-04f, 1.499429083e-04f, 1.482421525e-04f,
+1.465412400e-04f, 1.448401738e-04f, 1.431389567e-04f, 1.414375917e-04f, 1.397360818e-04f, 1.380344299e-04f, 1.363326390e-04f, 1.346307121e-04f, 1.329286520e-04f, 1.312264617e-04f,
+1.295241442e-04f, 1.278217025e-04f, 1.261191394e-04f, 1.244164579e-04f, 1.227136610e-04f, 1.210107517e-04f, 1.193077328e-04f, 1.176046074e-04f, 1.159013783e-04f, 1.141980485e-04f,
+1.124946211e-04f, 1.107910988e-04f, 1.090874848e-04f, 1.073837818e-04f, 1.056799930e-04f, 1.039761212e-04f, 1.022721693e-04f, 1.005681404e-04f, 9.886403741e-05f, 9.715986321e-05f,
+9.545562080e-05f, 9.375131312e-05f, 9.204694312e-05f, 9.034251375e-05f, 8.863802797e-05f, 8.693348871e-05f, 8.522889893e-05f, 8.352426159e-05f, 8.181957962e-05f, 8.011485599e-05f,
+7.841009363e-05f, 7.670529550e-05f, 7.500046455e-05f, 7.329560372e-05f, 7.159071597e-05f, 6.988580424e-05f, 6.818087149e-05f, 6.647592065e-05f, 6.477095469e-05f, 6.306597654e-05f,
+6.136098915e-05f, 5.965599548e-05f, 5.795099847e-05f, 5.624600107e-05f, 5.454100622e-05f, 5.283601688e-05f, 5.113103599e-05f, 4.942606649e-05f, 4.772111134e-05f, 4.601617348e-05f,
+4.431125585e-05f, 4.260636141e-05f, 4.090149309e-05f, 3.919665385e-05f, 3.749184662e-05f, 3.578707436e-05f, 3.408234001e-05f, 3.237764652e-05f, 3.067299682e-05f, 2.896839386e-05f,
+2.726384059e-05f, 2.555933995e-05f, 2.385489489e-05f, 2.215050834e-05f, 2.044618325e-05f, 1.874192256e-05f, 1.703772922e-05f, 1.533360616e-05f, 1.362955633e-05f, 1.192558268e-05f,
+1.022168813e-05f, 8.517875632e-06f, 6.814148129e-06f, 5.110508557e-06f, 3.406959858e-06f, 1.703504971e-06f, 1.468342492e-10f, -1.703111612e-06f, -3.406267431e-06f, -5.109317682e-06f,
+-6.812259430e-06f, -8.515089735e-06f, -1.021780566e-05f, -1.192040427e-05f, -1.362288263e-05f, -1.532523780e-05f, -1.702746685e-05f, -1.872956684e-05f, -2.043153483e-05f, -2.213336790e-05f,
+-2.383506311e-05f, -2.553661752e-05f, -2.723802820e-05f, -2.893929222e-05f, -3.064040664e-05f, -3.234136854e-05f, -3.404217498e-05f, -3.574282304e-05f, -3.744330978e-05f, -3.914363226e-05f,
+-4.084378757e-05f, -4.254377277e-05f, -4.424358494e-05f, -4.594322114e-05f, -4.764267844e-05f, -4.934195393e-05f, -5.104104467e-05f, -5.273994774e-05f, -5.443866021e-05f, -5.613717915e-05f,
+-5.783550165e-05f, -5.953362477e-05f, -6.123154559e-05f, -6.292926120e-05f, -6.462676866e-05f, -6.632406505e-05f, -6.802114746e-05f, -6.971801296e-05f, -7.141465863e-05f, -7.311108155e-05f,
+-7.480727881e-05f, -7.650324747e-05f, -7.819898463e-05f, -7.989448737e-05f, -8.158975276e-05f, -8.328477790e-05f, -8.497955987e-05f, -8.667409574e-05f, -8.836838261e-05f, -9.006241757e-05f,
+-9.175619769e-05f, -9.344972006e-05f, -9.514298178e-05f, -9.683597993e-05f, -9.852871160e-05f, -1.002211739e-04f, -1.019133639e-04f, -1.036052786e-04f, -1.052969153e-04f, -1.069882709e-04f,
+-1.086793426e-04f, -1.103701274e-04f, -1.120606225e-04f, -1.137508250e-04f, -1.154407319e-04f, -1.171303403e-04f, -1.188196474e-04f, -1.205086502e-04f, -1.221973458e-04f, -1.238857314e-04f,
+-1.255738040e-04f, -1.272615607e-04f, -1.289489986e-04f, -1.306361149e-04f, -1.323229066e-04f, -1.340093709e-04f, -1.356955048e-04f, -1.373813054e-04f, -1.390667699e-04f, -1.407518954e-04f,
+-1.424366789e-04f, -1.441211176e-04f, -1.458052086e-04f, -1.474889489e-04f, -1.491723358e-04f, -1.508553663e-04f, -1.525380375e-04f, -1.542203465e-04f, -1.559022905e-04f, -1.575838665e-04f,
+-1.592650717e-04f, -1.609459032e-04f, -1.626263581e-04f, -1.643064336e-04f, -1.659861267e-04f, -1.676654345e-04f, -1.693443542e-04f, -1.710228829e-04f, -1.727010178e-04f, -1.743787559e-04f,
+-1.760560943e-04f, -1.777330303e-04f, -1.794095608e-04f, -1.810856831e-04f, -1.827613943e-04f, -1.844366915e-04f, -1.861115718e-04f, -1.877860323e-04f, -1.894600703e-04f, -1.911336827e-04f,
+-1.928068668e-04f, -1.944796197e-04f, -1.961519385e-04f, -1.978238203e-04f, -1.994952623e-04f, -2.011662616e-04f, -2.028368154e-04f, -2.045069208e-04f, -2.061765749e-04f, -2.078457749e-04f,
+-2.095145179e-04f, -2.111828010e-04f, -2.128506215e-04f, -2.145179764e-04f, -2.161848629e-04f, -2.178512781e-04f, -2.195172192e-04f, -2.211826833e-04f, -2.228476676e-04f, -2.245121693e-04f,
+-2.261761854e-04f, -2.278397131e-04f, -2.295027497e-04f, -2.311652921e-04f, -2.328273377e-04f, -2.344888835e-04f, -2.361499267e-04f, -2.378104645e-04f, -2.394704940e-04f, -2.411300124e-04f,
+-2.427890168e-04f, -2.444475044e-04f, -2.461054724e-04f, -2.477629180e-04f, -2.494198382e-04f, -2.510762303e-04f, -2.527320915e-04f, -2.543874188e-04f, -2.560422095e-04f, -2.576964608e-04f,
+-2.593501697e-04f, -2.610033336e-04f, -2.626559495e-04f, -2.643080147e-04f, -2.659595263e-04f, -2.676104814e-04f, -2.692608773e-04f, -2.709107112e-04f, -2.725599802e-04f, -2.742086816e-04f,
+-2.758568124e-04f, -2.775043699e-04f, -2.791513513e-04f, -2.807977537e-04f, -2.824435743e-04f, -2.840888104e-04f, -2.857334591e-04f, -2.873775176e-04f, -2.890209832e-04f, -2.906638529e-04f,
+-2.923061240e-04f, -2.939477937e-04f, -2.955888592e-04f, -2.972293176e-04f, -2.988691663e-04f, -3.005084023e-04f, -3.021470229e-04f, -3.037850254e-04f, -3.054224068e-04f, -3.070591644e-04f,
+-3.086952954e-04f, -3.103307970e-04f, -3.119656665e-04f, -3.135999010e-04f, -3.152334977e-04f, -3.168664539e-04f, -3.184987668e-04f, -3.201304336e-04f, -3.217614514e-04f, -3.233918177e-04f,
+-3.250215294e-04f, -3.266505840e-04f, -3.282789785e-04f, -3.299067102e-04f, -3.315337764e-04f, -3.331601742e-04f, -3.347859010e-04f, -3.364109539e-04f, -3.380353301e-04f, -3.396590269e-04f,
+-3.412820415e-04f, -3.429043712e-04f, -3.445260131e-04f, -3.461469646e-04f, -3.477672229e-04f, -3.493867852e-04f, -3.510056487e-04f, -3.526238106e-04f, -3.542412684e-04f, -3.558580191e-04f,
+-3.574740600e-04f, -3.590893884e-04f, -3.607040015e-04f, -3.623178966e-04f, -3.639310709e-04f, -3.655435217e-04f, -3.671552462e-04f, -3.687662417e-04f, -3.703765054e-04f, -3.719860347e-04f,
+-3.735948267e-04f, -3.752028788e-04f, -3.768101881e-04f, -3.784167520e-04f, -3.800225677e-04f, -3.816276325e-04f, -3.832319437e-04f, -3.848354985e-04f, -3.864382942e-04f, -3.880403281e-04f,
+-3.896415975e-04f, -3.912420995e-04f, -3.928418316e-04f, -3.944407910e-04f, -3.960389749e-04f, -3.976363807e-04f, -3.992330056e-04f, -4.008288469e-04f, -4.024239020e-04f, -4.040181680e-04f,
+-4.056116424e-04f, -4.072043223e-04f, -4.087962051e-04f, -4.103872880e-04f, -4.119775684e-04f, -4.135670436e-04f, -4.151557108e-04f, -4.167435674e-04f, -4.183306107e-04f, -4.199168379e-04f,
+-4.215022464e-04f, -4.230868335e-04f, -4.246705965e-04f, -4.262535327e-04f, -4.278356394e-04f, -4.294169139e-04f, -4.309973536e-04f, -4.325769557e-04f, -4.341557176e-04f, -4.357336366e-04f,
+-4.373107101e-04f, -4.388869352e-04f, -4.404623095e-04f, -4.420368301e-04f, -4.436104945e-04f, -4.451832999e-04f, -4.467552437e-04f, -4.483263232e-04f, -4.498965357e-04f, -4.514658787e-04f,
+-4.530343493e-04f, -4.546019451e-04f, -4.561686632e-04f, -4.577345011e-04f, -4.592994561e-04f, -4.608635256e-04f, -4.624267068e-04f, -4.639889972e-04f, -4.655503940e-04f, -4.671108947e-04f,
+-4.686704966e-04f, -4.702291971e-04f, -4.717869935e-04f, -4.733438831e-04f, -4.748998634e-04f, -4.764549317e-04f, -4.780090853e-04f, -4.795623217e-04f, -4.811146382e-04f, -4.826660322e-04f,
+-4.842165010e-04f, -4.857660420e-04f, -4.873146526e-04f, -4.888623302e-04f, -4.904090721e-04f, -4.919548758e-04f, -4.934997385e-04f, -4.950436578e-04f, -4.965866310e-04f, -4.981286554e-04f,
+-4.996697285e-04f, -5.012098477e-04f, -5.027490103e-04f, -5.042872137e-04f, -5.058244554e-04f, -5.073607327e-04f, -5.088960431e-04f, -5.104303839e-04f, -5.119637526e-04f, -5.134961465e-04f,
+-5.150275630e-04f, -5.165579997e-04f, -5.180874538e-04f, -5.196159229e-04f, -5.211434042e-04f, -5.226698953e-04f, -5.241953935e-04f, -5.257198963e-04f, -5.272434011e-04f, -5.287659053e-04f,
+-5.302874063e-04f, -5.318079017e-04f, -5.333273887e-04f, -5.348458649e-04f, -5.363633276e-04f, -5.378797743e-04f, -5.393952025e-04f, -5.409096096e-04f, -5.424229930e-04f, -5.439353502e-04f,
+-5.454466786e-04f, -5.469569757e-04f, -5.484662388e-04f, -5.499744656e-04f, -5.514816533e-04f, -5.529877996e-04f, -5.544929018e-04f, -5.559969573e-04f, -5.574999637e-04f, -5.590019185e-04f,
+-5.605028190e-04f, -5.620026627e-04f, -5.635014472e-04f, -5.649991699e-04f, -5.664958282e-04f, -5.679914197e-04f, -5.694859418e-04f, -5.709793920e-04f, -5.724717677e-04f, -5.739630666e-04f,
+-5.754532859e-04f, -5.769424233e-04f, -5.784304762e-04f, -5.799174422e-04f, -5.814033186e-04f, -5.828881030e-04f, -5.843717930e-04f, -5.858543859e-04f, -5.873358793e-04f, -5.888162707e-04f,
+-5.902955577e-04f, -5.917737376e-04f, -5.932508081e-04f, -5.947267666e-04f, -5.962016106e-04f, -5.976753378e-04f, -5.991479455e-04f, -6.006194313e-04f, -6.020897927e-04f, -6.035590273e-04f,
+-6.050271326e-04f, -6.064941060e-04f, -6.079599452e-04f, -6.094246477e-04f, -6.108882110e-04f, -6.123506326e-04f, -6.138119100e-04f, -6.152720409e-04f, -6.167310228e-04f, -6.181888532e-04f,
+-6.196455296e-04f, -6.211010496e-04f, -6.225554108e-04f, -6.240086107e-04f, -6.254606469e-04f, -6.269115169e-04f, -6.283612182e-04f, -6.298097485e-04f, -6.312571054e-04f, -6.327032863e-04f,
+-6.341482888e-04f, -6.355921106e-04f, -6.370347491e-04f, -6.384762021e-04f, -6.399164669e-04f, -6.413555413e-04f, -6.427934228e-04f, -6.442301090e-04f, -6.456655975e-04f, -6.470998858e-04f,
+-6.485329716e-04f, -6.499648525e-04f, -6.513955259e-04f, -6.528249897e-04f, -6.542532413e-04f, -6.556802783e-04f, -6.571060983e-04f, -6.585306991e-04f, -6.599540781e-04f, -6.613762329e-04f,
+-6.627971613e-04f, -6.642168607e-04f, -6.656353289e-04f, -6.670525635e-04f, -6.684685620e-04f, -6.698833220e-04f, -6.712968413e-04f, -6.727091175e-04f, -6.741201481e-04f, -6.755299308e-04f,
+-6.769384633e-04f, -6.783457432e-04f, -6.797517681e-04f, -6.811565357e-04f, -6.825600436e-04f, -6.839622894e-04f, -6.853632709e-04f, -6.867629856e-04f, -6.881614312e-04f, -6.895586055e-04f,
+-6.909545059e-04f, -6.923491303e-04f, -6.937424762e-04f, -6.951345413e-04f, -6.965253234e-04f, -6.979148200e-04f, -6.993030289e-04f, -7.006899476e-04f, -7.020755740e-04f, -7.034599056e-04f,
+-7.048429402e-04f, -7.062246755e-04f, -7.076051091e-04f, -7.089842387e-04f, -7.103620620e-04f, -7.117385767e-04f, -7.131137805e-04f, -7.144876712e-04f, -7.158602463e-04f, -7.172315037e-04f,
+-7.186014409e-04f, -7.199700558e-04f, -7.213373461e-04f, -7.227033094e-04f, -7.240679434e-04f, -7.254312460e-04f, -7.267932148e-04f, -7.281538475e-04f, -7.295131418e-04f, -7.308710956e-04f,
+-7.322277065e-04f, -7.335829722e-04f, -7.349368905e-04f, -7.362894592e-04f, -7.376406759e-04f, -7.389905384e-04f, -7.403390445e-04f, -7.416861919e-04f, -7.430319784e-04f, -7.443764016e-04f,
+-7.457194595e-04f, -7.470611496e-04f, -7.484014699e-04f, -7.497404180e-04f, -7.510779917e-04f, -7.524141888e-04f, -7.537490071e-04f, -7.550824443e-04f, -7.564144982e-04f, -7.577451666e-04f,
+-7.590744472e-04f, -7.604023379e-04f, -7.617288364e-04f, -7.630539406e-04f, -7.643776482e-04f, -7.656999569e-04f, -7.670208647e-04f, -7.683403693e-04f, -7.696584685e-04f, -7.709751601e-04f,
+-7.722904419e-04f, -7.736043117e-04f, -7.749167674e-04f, -7.762278067e-04f, -7.775374275e-04f, -7.788456276e-04f, -7.801524048e-04f, -7.814577569e-04f, -7.827616817e-04f, -7.840641772e-04f,
+-7.853652411e-04f, -7.866648712e-04f, -7.879630654e-04f, -7.892598216e-04f, -7.905551375e-04f, -7.918490111e-04f, -7.931414401e-04f, -7.944324225e-04f, -7.957219560e-04f, -7.970100385e-04f,
+-7.982966680e-04f, -7.995818421e-04f, -8.008655589e-04f, -8.021478162e-04f, -8.034286118e-04f, -8.047079437e-04f, -8.059858096e-04f, -8.072622075e-04f, -8.085371353e-04f, -8.098105907e-04f,
+-8.110825719e-04f, -8.123530765e-04f, -8.136221025e-04f, -8.148896478e-04f, -8.161557102e-04f, -8.174202878e-04f, -8.186833783e-04f, -8.199449798e-04f, -8.212050900e-04f, -8.224637069e-04f,
+-8.237208285e-04f, -8.249764525e-04f, -8.262305770e-04f, -8.274831999e-04f, -8.287343191e-04f, -8.299839325e-04f, -8.312320380e-04f, -8.324786336e-04f, -8.337237172e-04f, -8.349672868e-04f,
+-8.362093402e-04f, -8.374498755e-04f, -8.386888905e-04f, -8.399263833e-04f, -8.411623517e-04f, -8.423967938e-04f, -8.436297074e-04f, -8.448610905e-04f, -8.460909412e-04f, -8.473192573e-04f,
+-8.485460368e-04f, -8.497712777e-04f, -8.509949780e-04f, -8.522171356e-04f, -8.534377486e-04f, -8.546568149e-04f, -8.558743324e-04f, -8.570902992e-04f, -8.583047133e-04f, -8.595175726e-04f,
+-8.607288752e-04f, -8.619386190e-04f, -8.631468020e-04f, -8.643534223e-04f, -8.655584779e-04f, -8.667619667e-04f, -8.679638868e-04f, -8.691642361e-04f, -8.703630128e-04f, -8.715602148e-04f,
+-8.727558402e-04f, -8.739498869e-04f, -8.751423530e-04f, -8.763332366e-04f, -8.775225356e-04f, -8.787102481e-04f, -8.798963722e-04f, -8.810809058e-04f, -8.822638471e-04f, -8.834451941e-04f,
+-8.846249448e-04f, -8.858030973e-04f, -8.869796496e-04f, -8.881545998e-04f, -8.893279460e-04f, -8.904996862e-04f, -8.916698186e-04f, -8.928383411e-04f, -8.940052518e-04f, -8.951705489e-04f,
+-8.963342304e-04f, -8.974962943e-04f, -8.986567389e-04f, -8.998155621e-04f, -9.009727621e-04f, -9.021283369e-04f, -9.032822846e-04f, -9.044346034e-04f, -9.055852914e-04f, -9.067343466e-04f,
+-9.078817672e-04f, -9.090275512e-04f, -9.101716969e-04f, -9.113142023e-04f, -9.124550655e-04f, -9.135942847e-04f, -9.147318579e-04f, -9.158677834e-04f, -9.170020592e-04f, -9.181346835e-04f,
+-9.192656544e-04f, -9.203949701e-04f, -9.215226288e-04f, -9.226486284e-04f, -9.237729673e-04f, -9.248956435e-04f, -9.260166553e-04f, -9.271360008e-04f, -9.282536781e-04f, -9.293696854e-04f,
+-9.304840208e-04f, -9.315966827e-04f, -9.327076690e-04f, -9.338169781e-04f, -9.349246080e-04f, -9.360305570e-04f, -9.371348233e-04f, -9.382374050e-04f, -9.393383004e-04f, -9.404375075e-04f,
+-9.415350247e-04f, -9.426308502e-04f, -9.437249821e-04f, -9.448174186e-04f, -9.459081580e-04f, -9.469971985e-04f, -9.480845382e-04f, -9.491701755e-04f, -9.502541085e-04f, -9.513363354e-04f,
+-9.524168546e-04f, -9.534956641e-04f, -9.545727623e-04f, -9.556481474e-04f, -9.567218177e-04f, -9.577937713e-04f, -9.588640066e-04f, -9.599325217e-04f, -9.609993150e-04f, -9.620643846e-04f,
+-9.631277290e-04f, -9.641893462e-04f, -9.652492346e-04f, -9.663073924e-04f, -9.673638180e-04f, -9.684185096e-04f, -9.694714654e-04f, -9.705226838e-04f, -9.715721631e-04f, -9.726199014e-04f,
+-9.736658972e-04f, -9.747101487e-04f, -9.757526543e-04f, -9.767934121e-04f, -9.778324205e-04f, -9.788696779e-04f, -9.799051825e-04f, -9.809389327e-04f, -9.819709267e-04f, -9.830011629e-04f,
+-9.840296396e-04f, -9.850563551e-04f, -9.860813078e-04f, -9.871044959e-04f, -9.881259179e-04f, -9.891455721e-04f, -9.901634567e-04f, -9.911795702e-04f, -9.921939109e-04f, -9.932064771e-04f,
+-9.942172673e-04f, -9.952262797e-04f, -9.962335127e-04f, -9.972389646e-04f, -9.982426340e-04f, -9.992445190e-04f, -1.000244618e-03f, -1.001242930e-03f, -1.002239452e-03f, -1.003234184e-03f,
+-1.004227123e-03f, -1.005218268e-03f, -1.006207618e-03f, -1.007195170e-03f, -1.008180924e-03f, -1.009164877e-03f, -1.010147029e-03f, -1.011127376e-03f, -1.012105919e-03f, -1.013082654e-03f,
+-1.014057582e-03f, -1.015030699e-03f, -1.016002005e-03f, -1.016971497e-03f, -1.017939176e-03f, -1.018905037e-03f, -1.019869082e-03f, -1.020831306e-03f, -1.021791710e-03f, -1.022750292e-03f,
+-1.023707049e-03f, -1.024661981e-03f, -1.025615086e-03f, -1.026566362e-03f, -1.027515808e-03f, -1.028463422e-03f, -1.029409203e-03f, -1.030353149e-03f, -1.031295259e-03f, -1.032235531e-03f,
+-1.033173964e-03f, -1.034110556e-03f, -1.035045306e-03f, -1.035978211e-03f, -1.036909272e-03f, -1.037838485e-03f, -1.038765851e-03f, -1.039691366e-03f, -1.040615030e-03f, -1.041536841e-03f,
+-1.042456798e-03f, -1.043374899e-03f, -1.044291143e-03f, -1.045205528e-03f, -1.046118052e-03f, -1.047028715e-03f, -1.047937515e-03f, -1.048844451e-03f, -1.049749520e-03f, -1.050652722e-03f,
+-1.051554054e-03f, -1.052453517e-03f, -1.053351107e-03f, -1.054246824e-03f, -1.055140666e-03f, -1.056032632e-03f, -1.056922721e-03f, -1.057810930e-03f, -1.058697259e-03f, -1.059581706e-03f,
+-1.060464270e-03f, -1.061344949e-03f, -1.062223742e-03f, -1.063100647e-03f, -1.063975663e-03f, -1.064848789e-03f, -1.065720024e-03f, -1.066589365e-03f, -1.067456811e-03f, -1.068322362e-03f,
+-1.069186015e-03f, -1.070047770e-03f, -1.070907624e-03f, -1.071765577e-03f, -1.072621627e-03f, -1.073475773e-03f, -1.074328014e-03f, -1.075178347e-03f, -1.076026773e-03f, -1.076873288e-03f,
+-1.077717893e-03f, -1.078560585e-03f, -1.079401364e-03f, -1.080240227e-03f, -1.081077175e-03f, -1.081912204e-03f, -1.082745315e-03f, -1.083576505e-03f, -1.084405774e-03f, -1.085233119e-03f,
+-1.086058540e-03f, -1.086882036e-03f, -1.087703605e-03f, -1.088523245e-03f, -1.089340956e-03f, -1.090156736e-03f, -1.090970584e-03f, -1.091782498e-03f, -1.092592478e-03f, -1.093400522e-03f,
+-1.094206628e-03f, -1.095010796e-03f, -1.095813024e-03f, -1.096613311e-03f, -1.097411656e-03f, -1.098208057e-03f, -1.099002513e-03f, -1.099795022e-03f, -1.100585585e-03f, -1.101374198e-03f,
+-1.102160862e-03f, -1.102945575e-03f, -1.103728335e-03f, -1.104509141e-03f, -1.105287993e-03f, -1.106064888e-03f, -1.106839826e-03f, -1.107612806e-03f, -1.108383825e-03f, -1.109152884e-03f,
+-1.109919980e-03f, -1.110685113e-03f, -1.111448282e-03f, -1.112209484e-03f, -1.112968720e-03f, -1.113725987e-03f, -1.114481285e-03f, -1.115234612e-03f, -1.115985967e-03f, -1.116735349e-03f,
+-1.117482757e-03f, -1.118228190e-03f, -1.118971646e-03f, -1.119713125e-03f, -1.120452624e-03f, -1.121190144e-03f, -1.121925682e-03f, -1.122659238e-03f, -1.123390811e-03f, -1.124120399e-03f,
+-1.124848001e-03f, -1.125573616e-03f, -1.126297243e-03f, -1.127018881e-03f, -1.127738529e-03f, -1.128456185e-03f, -1.129171848e-03f, -1.129885518e-03f, -1.130597193e-03f, -1.131306872e-03f,
+-1.132014554e-03f, -1.132720238e-03f, -1.133423923e-03f, -1.134125607e-03f, -1.134825290e-03f, -1.135522970e-03f, -1.136218647e-03f, -1.136912319e-03f, -1.137603985e-03f, -1.138293644e-03f,
+-1.138981296e-03f, -1.139666938e-03f, -1.140350570e-03f, -1.141032192e-03f, -1.141711801e-03f, -1.142389396e-03f, -1.143064978e-03f, -1.143738544e-03f, -1.144410093e-03f, -1.145079625e-03f,
+-1.145747139e-03f, -1.146412633e-03f, -1.147076107e-03f, -1.147737559e-03f, -1.148396988e-03f, -1.149054394e-03f, -1.149709775e-03f, -1.150363130e-03f, -1.151014459e-03f, -1.151663760e-03f,
+-1.152311032e-03f, -1.152956275e-03f, -1.153599487e-03f, -1.154240667e-03f, -1.154879815e-03f, -1.155516929e-03f, -1.156152008e-03f, -1.156785052e-03f, -1.157416059e-03f, -1.158045029e-03f,
+-1.158671960e-03f, -1.159296852e-03f, -1.159919703e-03f, -1.160540513e-03f, -1.161159280e-03f, -1.161776004e-03f, -1.162390684e-03f, -1.163003319e-03f, -1.163613907e-03f, -1.164222449e-03f,
+-1.164828942e-03f, -1.165433387e-03f, -1.166035782e-03f, -1.166636126e-03f, -1.167234418e-03f, -1.167830658e-03f, -1.168424844e-03f, -1.169016975e-03f, -1.169607052e-03f, -1.170195072e-03f,
+-1.170781035e-03f, -1.171364940e-03f, -1.171946786e-03f, -1.172526573e-03f, -1.173104298e-03f, -1.173679963e-03f, -1.174253564e-03f, -1.174825103e-03f, -1.175394577e-03f, -1.175961986e-03f,
+-1.176527330e-03f, -1.177090606e-03f, -1.177651816e-03f, -1.178210956e-03f, -1.178768028e-03f, -1.179323029e-03f, -1.179875959e-03f, -1.180426818e-03f, -1.180975604e-03f, -1.181522316e-03f,
+-1.182066954e-03f, -1.182609517e-03f, -1.183150005e-03f, -1.183688415e-03f, -1.184224748e-03f, -1.184759003e-03f, -1.185291178e-03f, -1.185821274e-03f, -1.186349289e-03f, -1.186875222e-03f,
+-1.187399073e-03f, -1.187920841e-03f, -1.188440525e-03f, -1.188958124e-03f, -1.189473638e-03f, -1.189987066e-03f, -1.190498407e-03f, -1.191007660e-03f, -1.191514825e-03f, -1.192019900e-03f,
+-1.192522886e-03f, -1.193023781e-03f, -1.193522584e-03f, -1.194019295e-03f, -1.194513913e-03f, -1.195006438e-03f, -1.195496868e-03f, -1.195985203e-03f, -1.196471442e-03f, -1.196955585e-03f,
+-1.197437630e-03f, -1.197917577e-03f, -1.198395426e-03f, -1.198871175e-03f, -1.199344825e-03f, -1.199816373e-03f, -1.200285820e-03f, -1.200753165e-03f, -1.201218407e-03f, -1.201681545e-03f,
+-1.202142579e-03f, -1.202601509e-03f, -1.203058332e-03f, -1.203513050e-03f, -1.203965661e-03f, -1.204416164e-03f, -1.204864559e-03f, -1.205310845e-03f, -1.205755021e-03f, -1.206197088e-03f,
+-1.206637043e-03f, -1.207074888e-03f, -1.207510620e-03f, -1.207944240e-03f, -1.208375746e-03f, -1.208805138e-03f, -1.209232416e-03f, -1.209657579e-03f, -1.210080626e-03f, -1.210501556e-03f,
+-1.210920370e-03f, -1.211337066e-03f, -1.211751644e-03f, -1.212164103e-03f, -1.212574442e-03f, -1.212982662e-03f, -1.213388761e-03f, -1.213792740e-03f, -1.214194596e-03f, -1.214594330e-03f,
+-1.214991942e-03f, -1.215387430e-03f, -1.215780794e-03f, -1.216172034e-03f, -1.216561149e-03f, -1.216948138e-03f, -1.217333001e-03f, -1.217715737e-03f, -1.218096346e-03f, -1.218474828e-03f,
+-1.218851181e-03f, -1.219225405e-03f, -1.219597500e-03f, -1.219967466e-03f, -1.220335300e-03f, -1.220701005e-03f, -1.221064577e-03f, -1.221426018e-03f, -1.221785327e-03f, -1.222142502e-03f,
+-1.222497544e-03f, -1.222850453e-03f, -1.223201227e-03f, -1.223549866e-03f, -1.223896370e-03f, -1.224240739e-03f, -1.224582971e-03f, -1.224923066e-03f, -1.225261024e-03f, -1.225596845e-03f,
+-1.225930528e-03f, -1.226262072e-03f, -1.226591477e-03f, -1.226918742e-03f, -1.227243868e-03f, -1.227566854e-03f, -1.227887699e-03f, -1.228206402e-03f, -1.228522965e-03f, -1.228837385e-03f,
+-1.229149663e-03f, -1.229459797e-03f, -1.229767789e-03f, -1.230073637e-03f, -1.230377341e-03f, -1.230678901e-03f, -1.230978316e-03f, -1.231275585e-03f, -1.231570709e-03f, -1.231863687e-03f,
+-1.232154519e-03f, -1.232443203e-03f, -1.232729741e-03f, -1.233014131e-03f, -1.233296374e-03f, -1.233576468e-03f, -1.233854413e-03f, -1.234130210e-03f, -1.234403857e-03f, -1.234675355e-03f,
+-1.234944703e-03f, -1.235211900e-03f, -1.235476947e-03f, -1.235739843e-03f, -1.236000587e-03f, -1.236259180e-03f, -1.236515621e-03f, -1.236769909e-03f, -1.237022045e-03f, -1.237272029e-03f,
+-1.237519858e-03f, -1.237765535e-03f, -1.238009058e-03f, -1.238250426e-03f, -1.238489640e-03f, -1.238726700e-03f, -1.238961604e-03f, -1.239194354e-03f, -1.239424948e-03f, -1.239653386e-03f,
+-1.239879668e-03f, -1.240103793e-03f, -1.240325762e-03f, -1.240545575e-03f, -1.240763230e-03f, -1.240978728e-03f, -1.241192068e-03f, -1.241403251e-03f, -1.241612275e-03f, -1.241819141e-03f,
+-1.242023849e-03f, -1.242226398e-03f, -1.242426788e-03f, -1.242625018e-03f, -1.242821090e-03f, -1.243015001e-03f, -1.243206753e-03f, -1.243396345e-03f, -1.243583777e-03f, -1.243769048e-03f,
+-1.243952159e-03f, -1.244133108e-03f, -1.244311897e-03f, -1.244488525e-03f, -1.244662991e-03f, -1.244835296e-03f, -1.245005439e-03f, -1.245173420e-03f, -1.245339239e-03f, -1.245502896e-03f,
+-1.245664390e-03f, -1.245823722e-03f, -1.245980892e-03f, -1.246135898e-03f, -1.246288742e-03f, -1.246439423e-03f, -1.246587940e-03f, -1.246734294e-03f, -1.246878485e-03f, -1.247020512e-03f,
+-1.247160375e-03f, -1.247298075e-03f, -1.247433610e-03f, -1.247566982e-03f, -1.247698189e-03f, -1.247827233e-03f, -1.247954111e-03f, -1.248078826e-03f, -1.248201376e-03f, -1.248321761e-03f,
+-1.248439982e-03f, -1.248556038e-03f, -1.248669929e-03f, -1.248781655e-03f, -1.248891217e-03f, -1.248998613e-03f, -1.249103844e-03f, -1.249206910e-03f, -1.249307811e-03f, -1.249406547e-03f,
+-1.249503117e-03f, -1.249597522e-03f, -1.249689762e-03f, -1.249779836e-03f, -1.249867745e-03f, -1.249953488e-03f, -1.250037066e-03f, -1.250118479e-03f, -1.250197726e-03f, -1.250274807e-03f,
+-1.250349723e-03f, -1.250422474e-03f, -1.250493059e-03f, -1.250561479e-03f, -1.250627733e-03f, -1.250691821e-03f, -1.250753744e-03f, -1.250813502e-03f, -1.250871094e-03f, -1.250926521e-03f,
+-1.250979783e-03f, -1.251030879e-03f, -1.251079810e-03f, -1.251126576e-03f, -1.251171176e-03f, -1.251213611e-03f, -1.251253882e-03f, -1.251291987e-03f, -1.251327927e-03f, -1.251361703e-03f,
+-1.251393313e-03f, -1.251422759e-03f, -1.251450040e-03f, -1.251475157e-03f, -1.251498109e-03f, -1.251518896e-03f, -1.251537519e-03f, -1.251553978e-03f, -1.251568273e-03f, -1.251580404e-03f,
+-1.251590371e-03f, -1.251598174e-03f, -1.251603813e-03f, -1.251607289e-03f, -1.251608601e-03f, -1.251607750e-03f, -1.251604736e-03f, -1.251599558e-03f, -1.251592218e-03f, -1.251582715e-03f,
+-1.251571049e-03f, -1.251557220e-03f, -1.251541230e-03f, -1.251523077e-03f, -1.251502762e-03f, -1.251480285e-03f, -1.251455646e-03f, -1.251428846e-03f, -1.251399884e-03f, -1.251368762e-03f,
+-1.251335478e-03f, -1.251300033e-03f, -1.251262428e-03f, -1.251222662e-03f, -1.251180736e-03f, -1.251136650e-03f, -1.251090404e-03f, -1.251041998e-03f, -1.250991433e-03f, -1.250938709e-03f,
+-1.250883826e-03f, -1.250826784e-03f, -1.250767583e-03f, -1.250706224e-03f, -1.250642707e-03f, -1.250577032e-03f, -1.250509200e-03f, -1.250439210e-03f, -1.250367063e-03f, -1.250292759e-03f,
+-1.250216298e-03f, -1.250137681e-03f, -1.250056908e-03f, -1.249973979e-03f, -1.249888895e-03f, -1.249801655e-03f, -1.249712261e-03f, -1.249620711e-03f, -1.249527007e-03f, -1.249431149e-03f,
+-1.249333137e-03f, -1.249232972e-03f, -1.249130653e-03f, -1.249026181e-03f, -1.248919557e-03f, -1.248810780e-03f, -1.248699851e-03f, -1.248586771e-03f, -1.248471539e-03f, -1.248354156e-03f,
+-1.248234622e-03f, -1.248112938e-03f, -1.247989104e-03f, -1.247863120e-03f, -1.247734987e-03f, -1.247604705e-03f, -1.247472274e-03f, -1.247337695e-03f, -1.247200967e-03f, -1.247062092e-03f,
+-1.246921070e-03f, -1.246777901e-03f, -1.246632586e-03f, -1.246485124e-03f, -1.246335517e-03f, -1.246183764e-03f, -1.246029867e-03f, -1.245873824e-03f, -1.245715638e-03f, -1.245555308e-03f,
+-1.245392834e-03f, -1.245228218e-03f, -1.245061459e-03f, -1.244892558e-03f, -1.244721515e-03f, -1.244548331e-03f, -1.244373006e-03f, -1.244195540e-03f, -1.244015935e-03f, -1.243834190e-03f,
+-1.243650305e-03f, -1.243464283e-03f, -1.243276121e-03f, -1.243085822e-03f, -1.242893386e-03f, -1.242698813e-03f, -1.242502103e-03f, -1.242303258e-03f, -1.242102277e-03f, -1.241899161e-03f,
+-1.241693910e-03f, -1.241486526e-03f, -1.241277008e-03f, -1.241065356e-03f, -1.240851573e-03f, -1.240635657e-03f, -1.240417609e-03f, -1.240197431e-03f, -1.239975122e-03f, -1.239750682e-03f,
+-1.239524113e-03f, -1.239295416e-03f, -1.239064589e-03f, -1.238831635e-03f, -1.238596553e-03f, -1.238359344e-03f, -1.238120009e-03f, -1.237878548e-03f, -1.237634962e-03f, -1.237389250e-03f,
+-1.237141415e-03f, -1.236891456e-03f, -1.236639374e-03f, -1.236385169e-03f, -1.236128842e-03f, -1.235870394e-03f, -1.235609825e-03f, -1.235347136e-03f, -1.235082327e-03f, -1.234815399e-03f,
+-1.234546353e-03f, -1.234275188e-03f, -1.234001906e-03f, -1.233726508e-03f, -1.233448993e-03f, -1.233169362e-03f, -1.232887617e-03f, -1.232603758e-03f, -1.232317784e-03f, -1.232029698e-03f,
+-1.231739499e-03f, -1.231447189e-03f, -1.231152767e-03f, -1.230856234e-03f, -1.230557592e-03f, -1.230256840e-03f, -1.229953980e-03f, -1.229649011e-03f, -1.229341936e-03f, -1.229032753e-03f,
+-1.228721465e-03f, -1.228408071e-03f, -1.228092572e-03f, -1.227774970e-03f, -1.227455264e-03f, -1.227133455e-03f, -1.226809545e-03f, -1.226483533e-03f, -1.226155420e-03f, -1.225825207e-03f,
+-1.225492895e-03f, -1.225158485e-03f, -1.224821977e-03f, -1.224483371e-03f, -1.224142669e-03f, -1.223799872e-03f, -1.223454979e-03f, -1.223107992e-03f, -1.222758912e-03f, -1.222407738e-03f,
+-1.222054473e-03f, -1.221699116e-03f, -1.221341668e-03f, -1.220982131e-03f, -1.220620504e-03f, -1.220256790e-03f, -1.219890987e-03f, -1.219523097e-03f, -1.219153122e-03f, -1.218781061e-03f,
+-1.218406915e-03f, -1.218030685e-03f, -1.217652373e-03f, -1.217271978e-03f, -1.216889501e-03f, -1.216504944e-03f, -1.216118307e-03f, -1.215729591e-03f, -1.215338796e-03f, -1.214945924e-03f,
+-1.214550975e-03f, -1.214153950e-03f, -1.213754850e-03f, -1.213353676e-03f, -1.212950428e-03f, -1.212545107e-03f, -1.212137715e-03f, -1.211728251e-03f, -1.211316717e-03f, -1.210903114e-03f,
+-1.210487443e-03f, -1.210069703e-03f, -1.209649897e-03f, -1.209228025e-03f, -1.208804087e-03f, -1.208378085e-03f, -1.207950020e-03f, -1.207519892e-03f, -1.207087703e-03f, -1.206653452e-03f,
+-1.206217142e-03f, -1.205778772e-03f, -1.205338344e-03f, -1.204895859e-03f, -1.204451318e-03f, -1.204004721e-03f, -1.203556069e-03f, -1.203105363e-03f, -1.202652605e-03f, -1.202197794e-03f,
+-1.201740932e-03f, -1.201282021e-03f, -1.200821060e-03f, -1.200358050e-03f, -1.199892994e-03f, -1.199425890e-03f, -1.198956742e-03f, -1.198485548e-03f, -1.198012311e-03f, -1.197537031e-03f,
+-1.197059710e-03f, -1.196580347e-03f, -1.196098945e-03f, -1.195615503e-03f, -1.195130024e-03f, -1.194642507e-03f, -1.194152955e-03f, -1.193661367e-03f, -1.193167745e-03f, -1.192672090e-03f,
+-1.192174403e-03f, -1.191674684e-03f, -1.191172936e-03f, -1.190669158e-03f, -1.190163352e-03f, -1.189655518e-03f, -1.189145658e-03f, -1.188633773e-03f, -1.188119864e-03f, -1.187603932e-03f,
+-1.187085977e-03f, -1.186566001e-03f, -1.186044004e-03f, -1.185519989e-03f, -1.184993955e-03f, -1.184465905e-03f, -1.183935838e-03f, -1.183403756e-03f, -1.182869660e-03f, -1.182333551e-03f,
+-1.181795430e-03f, -1.181255298e-03f, -1.180713157e-03f, -1.180169006e-03f, -1.179622848e-03f, -1.179074683e-03f, -1.178524513e-03f, -1.177972338e-03f, -1.177418160e-03f, -1.176861979e-03f,
+-1.176303797e-03f, -1.175743614e-03f, -1.175181433e-03f, -1.174617253e-03f, -1.174051077e-03f, -1.173482905e-03f, -1.172912738e-03f, -1.172340577e-03f, -1.171766424e-03f, -1.171190279e-03f,
+-1.170612144e-03f, -1.170032020e-03f, -1.169449907e-03f, -1.168865808e-03f, -1.168279723e-03f, -1.167691653e-03f, -1.167101600e-03f, -1.166509564e-03f, -1.165915547e-03f, -1.165319549e-03f,
+-1.164721573e-03f, -1.164121619e-03f, -1.163519688e-03f, -1.162915782e-03f, -1.162309901e-03f, -1.161702047e-03f, -1.161092221e-03f, -1.160480424e-03f, -1.159866657e-03f, -1.159250922e-03f,
+-1.158633219e-03f, -1.158013551e-03f, -1.157391917e-03f, -1.156768319e-03f, -1.156142759e-03f, -1.155515238e-03f, -1.154885756e-03f, -1.154254315e-03f, -1.153620917e-03f, -1.152985562e-03f,
+-1.152348252e-03f, -1.151708987e-03f, -1.151067770e-03f, -1.150424600e-03f, -1.149779481e-03f, -1.149132412e-03f, -1.148483395e-03f, -1.147832431e-03f, -1.147179522e-03f, -1.146524668e-03f,
+-1.145867872e-03f, -1.145209133e-03f, -1.144548454e-03f, -1.143885836e-03f, -1.143221280e-03f, -1.142554787e-03f, -1.141886359e-03f, -1.141215996e-03f, -1.140543700e-03f, -1.139869473e-03f,
+-1.139193315e-03f, -1.138515228e-03f, -1.137835213e-03f, -1.137153272e-03f, -1.136469406e-03f, -1.135783615e-03f, -1.135095902e-03f, -1.134406268e-03f, -1.133714713e-03f, -1.133021240e-03f,
+-1.132325849e-03f, -1.131628542e-03f, -1.130929321e-03f, -1.130228186e-03f, -1.129525139e-03f, -1.128820181e-03f, -1.128113313e-03f, -1.127404537e-03f, -1.126693855e-03f, -1.125981267e-03f,
+-1.125266775e-03f, -1.124550380e-03f, -1.123832084e-03f, -1.123111887e-03f, -1.122389792e-03f, -1.121665800e-03f, -1.120939911e-03f, -1.120212128e-03f, -1.119482452e-03f, -1.118750884e-03f,
+-1.118017425e-03f, -1.117282077e-03f, -1.116544841e-03f, -1.115805719e-03f, -1.115064712e-03f, -1.114321822e-03f, -1.113577049e-03f, -1.112830396e-03f, -1.112081863e-03f, -1.111331452e-03f,
+-1.110579164e-03f, -1.109825002e-03f, -1.109068965e-03f, -1.108311057e-03f, -1.107551277e-03f, -1.106789628e-03f, -1.106026111e-03f, -1.105260727e-03f, -1.104493478e-03f, -1.103724365e-03f,
+-1.102953390e-03f, -1.102180554e-03f, -1.101405858e-03f, -1.100629305e-03f, -1.099850895e-03f, -1.099070630e-03f, -1.098288511e-03f, -1.097504541e-03f, -1.096718719e-03f, -1.095931048e-03f,
+-1.095141530e-03f, -1.094350165e-03f, -1.093556956e-03f, -1.092761903e-03f, -1.091965008e-03f, -1.091166273e-03f, -1.090365699e-03f, -1.089563287e-03f, -1.088759040e-03f, -1.087952959e-03f,
+-1.087145044e-03f, -1.086335298e-03f, -1.085523723e-03f, -1.084710319e-03f, -1.083895088e-03f, -1.083078031e-03f, -1.082259151e-03f, -1.081438449e-03f, -1.080615926e-03f, -1.079791584e-03f,
+-1.078965424e-03f, -1.078137447e-03f, -1.077307657e-03f, -1.076476053e-03f, -1.075642637e-03f, -1.074807412e-03f, -1.073970378e-03f, -1.073131537e-03f, -1.072290891e-03f, -1.071448442e-03f,
+-1.070604190e-03f, -1.069758137e-03f, -1.068910285e-03f, -1.068060636e-03f, -1.067209191e-03f, -1.066355951e-03f, -1.065500919e-03f, -1.064644096e-03f, -1.063785483e-03f, -1.062925082e-03f,
+-1.062062894e-03f, -1.061198922e-03f, -1.060333167e-03f, -1.059465629e-03f, -1.058596312e-03f, -1.057725217e-03f, -1.056852345e-03f, -1.055977697e-03f, -1.055101276e-03f, -1.054223083e-03f,
+-1.053343120e-03f, -1.052461388e-03f, -1.051577889e-03f, -1.050692624e-03f, -1.049805596e-03f, -1.048916806e-03f, -1.048026255e-03f, -1.047133945e-03f, -1.046239878e-03f, -1.045344055e-03f,
+-1.044446479e-03f, -1.043547150e-03f, -1.042646070e-03f, -1.041743242e-03f, -1.040838666e-03f, -1.039932345e-03f, -1.039024279e-03f, -1.038114472e-03f, -1.037202924e-03f, -1.036289637e-03f,
+-1.035374612e-03f, -1.034457852e-03f, -1.033539359e-03f, -1.032619133e-03f, -1.031697176e-03f, -1.030773491e-03f, -1.029848078e-03f, -1.028920941e-03f, -1.027992079e-03f, -1.027061496e-03f,
+-1.026129192e-03f, -1.025195170e-03f, -1.024259431e-03f, -1.023321976e-03f, -1.022382809e-03f, -1.021441929e-03f, -1.020499340e-03f, -1.019555042e-03f, -1.018609038e-03f, -1.017661330e-03f,
+-1.016711918e-03f, -1.015760805e-03f, -1.014807992e-03f, -1.013853482e-03f, -1.012897275e-03f, -1.011939375e-03f, -1.010979782e-03f, -1.010018498e-03f, -1.009055525e-03f, -1.008090864e-03f,
+-1.007124519e-03f, -1.006156489e-03f, -1.005186778e-03f, -1.004215387e-03f, -1.003242317e-03f, -1.002267570e-03f, -1.001291149e-03f, -1.000313055e-03f, -9.993332894e-04f, -9.983518544e-04f,
+-9.973687519e-04f, -9.963839834e-04f, -9.953975510e-04f, -9.944094563e-04f, -9.934197011e-04f, -9.924282873e-04f, -9.914352167e-04f, -9.904404911e-04f, -9.894441124e-04f, -9.884460822e-04f,
+-9.874464025e-04f, -9.864450751e-04f, -9.854421018e-04f, -9.844374845e-04f, -9.834312249e-04f, -9.824233249e-04f, -9.814137864e-04f, -9.804026112e-04f, -9.793898011e-04f, -9.783753580e-04f,
+-9.773592837e-04f, -9.763415802e-04f, -9.753222491e-04f, -9.743012925e-04f, -9.732787121e-04f, -9.722545099e-04f, -9.712286876e-04f, -9.702012472e-04f, -9.691721906e-04f, -9.681415195e-04f,
+-9.671092359e-04f, -9.660753417e-04f, -9.650398388e-04f, -9.640027289e-04f, -9.629640141e-04f, -9.619236962e-04f, -9.608817771e-04f, -9.598382587e-04f, -9.587931429e-04f, -9.577464316e-04f,
+-9.566981266e-04f, -9.556482300e-04f, -9.545967436e-04f, -9.535436694e-04f, -9.524890091e-04f, -9.514327649e-04f, -9.503749385e-04f, -9.493155319e-04f, -9.482545470e-04f, -9.471919858e-04f,
+-9.461278501e-04f, -9.450621420e-04f, -9.439948633e-04f, -9.429260160e-04f, -9.418556020e-04f, -9.407836233e-04f, -9.397100818e-04f, -9.386349795e-04f, -9.375583183e-04f, -9.364801001e-04f,
+-9.354003270e-04f, -9.343190008e-04f, -9.332361236e-04f, -9.321516973e-04f, -9.310657239e-04f, -9.299782053e-04f, -9.288891435e-04f, -9.277985405e-04f, -9.267063983e-04f, -9.256127188e-04f,
+-9.245175040e-04f, -9.234207559e-04f, -9.223224765e-04f, -9.212226678e-04f, -9.201213318e-04f, -9.190184704e-04f, -9.179140857e-04f, -9.168081796e-04f, -9.157007542e-04f, -9.145918115e-04f,
+-9.134813535e-04f, -9.123693821e-04f, -9.112558994e-04f, -9.101409075e-04f, -9.090244082e-04f, -9.079064037e-04f, -9.067868960e-04f, -9.056658870e-04f, -9.045433789e-04f, -9.034193736e-04f,
+-9.022938732e-04f, -9.011668797e-04f, -9.000383951e-04f, -8.989084216e-04f, -8.977769610e-04f, -8.966440155e-04f, -8.955095872e-04f, -8.943736780e-04f, -8.932362900e-04f, -8.920974252e-04f,
+-8.909570858e-04f, -8.898152738e-04f, -8.886719913e-04f, -8.875272402e-04f, -8.863810227e-04f, -8.852333409e-04f, -8.840841967e-04f, -8.829335924e-04f, -8.817815299e-04f, -8.806280113e-04f,
+-8.794730388e-04f, -8.783166143e-04f, -8.771587401e-04f, -8.759994181e-04f, -8.748386504e-04f, -8.736764392e-04f, -8.725127866e-04f, -8.713476946e-04f, -8.701811654e-04f, -8.690132010e-04f,
+-8.678438035e-04f, -8.666729751e-04f, -8.655007179e-04f, -8.643270339e-04f, -8.631519253e-04f, -8.619753942e-04f, -8.607974428e-04f, -8.596180730e-04f, -8.584372872e-04f, -8.572550873e-04f,
+-8.560714755e-04f, -8.548864540e-04f, -8.537000249e-04f, -8.525121902e-04f, -8.513229522e-04f, -8.501323130e-04f, -8.489402747e-04f, -8.477468395e-04f, -8.465520095e-04f, -8.453557869e-04f,
+-8.441581737e-04f, -8.429591723e-04f, -8.417587846e-04f, -8.405570130e-04f, -8.393538594e-04f, -8.381493262e-04f, -8.369434154e-04f, -8.357361293e-04f, -8.345274699e-04f, -8.333174395e-04f,
+-8.321060402e-04f, -8.308932743e-04f, -8.296791438e-04f, -8.284636510e-04f, -8.272467981e-04f, -8.260285872e-04f, -8.248090205e-04f, -8.235881002e-04f, -8.223658286e-04f, -8.211422077e-04f,
+-8.199172398e-04f, -8.186909271e-04f, -8.174632717e-04f, -8.162342760e-04f, -8.150039420e-04f, -8.137722721e-04f, -8.125392683e-04f, -8.113049329e-04f, -8.100692682e-04f, -8.088322763e-04f,
+-8.075939595e-04f, -8.063543200e-04f, -8.051133599e-04f, -8.038710816e-04f, -8.026274872e-04f, -8.013825789e-04f, -8.001363591e-04f, -7.988888299e-04f, -7.976399936e-04f, -7.963898524e-04f,
+-7.951384085e-04f, -7.938856642e-04f, -7.926316217e-04f, -7.913762833e-04f, -7.901196513e-04f, -7.888617277e-04f, -7.876025150e-04f, -7.863420154e-04f, -7.850802311e-04f, -7.838171643e-04f,
+-7.825528174e-04f, -7.812871926e-04f, -7.800202922e-04f, -7.787521184e-04f, -7.774826735e-04f, -7.762119597e-04f, -7.749399794e-04f, -7.736667348e-04f, -7.723922282e-04f, -7.711164619e-04f,
+-7.698394381e-04f, -7.685611591e-04f, -7.672816272e-04f, -7.660008448e-04f, -7.647188140e-04f, -7.634355372e-04f, -7.621510166e-04f, -7.608652547e-04f, -7.595782535e-04f, -7.582900156e-04f,
+-7.570005430e-04f, -7.557098383e-04f, -7.544179036e-04f, -7.531247412e-04f, -7.518303536e-04f, -7.505347429e-04f, -7.492379115e-04f, -7.479398617e-04f, -7.466405959e-04f, -7.453401162e-04f,
+-7.440384252e-04f, -7.427355250e-04f, -7.414314181e-04f, -7.401261067e-04f, -7.388195931e-04f, -7.375118797e-04f, -7.362029689e-04f, -7.348928629e-04f, -7.335815641e-04f, -7.322690748e-04f,
+-7.309553974e-04f, -7.296405342e-04f, -7.283244876e-04f, -7.270072599e-04f, -7.256888534e-04f, -7.243692705e-04f, -7.230485135e-04f, -7.217265848e-04f, -7.204034868e-04f, -7.190792218e-04f,
+-7.177537922e-04f, -7.164272002e-04f, -7.150994484e-04f, -7.137705390e-04f, -7.124404744e-04f, -7.111092571e-04f, -7.097768892e-04f, -7.084433733e-04f, -7.071087117e-04f, -7.057729068e-04f,
+-7.044359609e-04f, -7.030978764e-04f, -7.017586558e-04f, -7.004183013e-04f, -6.990768154e-04f, -6.977342005e-04f, -6.963904589e-04f, -6.950455930e-04f, -6.936996053e-04f, -6.923524981e-04f,
+-6.910042738e-04f, -6.896549348e-04f, -6.883044836e-04f, -6.869529224e-04f, -6.856002538e-04f, -6.842464801e-04f, -6.828916037e-04f, -6.815356270e-04f, -6.801785525e-04f, -6.788203825e-04f,
+-6.774611195e-04f, -6.761007658e-04f, -6.747393240e-04f, -6.733767963e-04f, -6.720131853e-04f, -6.706484934e-04f, -6.692827229e-04f, -6.679158763e-04f, -6.665479560e-04f, -6.651789645e-04f,
+-6.638089042e-04f, -6.624377775e-04f, -6.610655868e-04f, -6.596923346e-04f, -6.583180234e-04f, -6.569426555e-04f, -6.555662334e-04f, -6.541887595e-04f, -6.528102363e-04f, -6.514306663e-04f,
+-6.500500518e-04f, -6.486683953e-04f, -6.472856993e-04f, -6.459019663e-04f, -6.445171986e-04f, -6.431313987e-04f, -6.417445692e-04f, -6.403567124e-04f, -6.389678307e-04f, -6.375779268e-04f,
+-6.361870030e-04f, -6.347950618e-04f, -6.334021057e-04f, -6.320081370e-04f, -6.306131584e-04f, -6.292171723e-04f, -6.278201811e-04f, -6.264221873e-04f, -6.250231934e-04f, -6.236232019e-04f,
+-6.222222152e-04f, -6.208202359e-04f, -6.194172664e-04f, -6.180133092e-04f, -6.166083668e-04f, -6.152024416e-04f, -6.137955362e-04f, -6.123876530e-04f, -6.109787946e-04f, -6.095689634e-04f,
+-6.081581620e-04f, -6.067463928e-04f, -6.053336582e-04f, -6.039199610e-04f, -6.025053034e-04f, -6.010896881e-04f, -5.996731174e-04f, -5.982555941e-04f, -5.968371204e-04f, -5.954176990e-04f,
+-5.939973324e-04f, -5.925760230e-04f, -5.911537735e-04f, -5.897305862e-04f, -5.883064637e-04f, -5.868814085e-04f, -5.854554232e-04f, -5.840285103e-04f, -5.826006723e-04f, -5.811719116e-04f,
+-5.797422309e-04f, -5.783116327e-04f, -5.768801195e-04f, -5.754476937e-04f, -5.740143581e-04f, -5.725801150e-04f, -5.711449670e-04f, -5.697089166e-04f, -5.682719665e-04f, -5.668341191e-04f,
+-5.653953769e-04f, -5.639557425e-04f, -5.625152185e-04f, -5.610738073e-04f, -5.596315116e-04f, -5.581883338e-04f, -5.567442766e-04f, -5.552993424e-04f, -5.538535339e-04f, -5.524068535e-04f,
+-5.509593038e-04f, -5.495108875e-04f, -5.480616069e-04f, -5.466114647e-04f, -5.451604635e-04f, -5.437086058e-04f, -5.422558941e-04f, -5.408023311e-04f, -5.393479192e-04f, -5.378926612e-04f,
+-5.364365594e-04f, -5.349796165e-04f, -5.335218351e-04f, -5.320632176e-04f, -5.306037668e-04f, -5.291434852e-04f, -5.276823753e-04f, -5.262204397e-04f, -5.247576810e-04f, -5.232941017e-04f,
+-5.218297045e-04f, -5.203644920e-04f, -5.188984666e-04f, -5.174316310e-04f, -5.159639878e-04f, -5.144955396e-04f, -5.130262889e-04f, -5.115562384e-04f, -5.100853905e-04f, -5.086137480e-04f,
+-5.071413134e-04f, -5.056680892e-04f, -5.041940782e-04f, -5.027192828e-04f, -5.012437057e-04f, -4.997673495e-04f, -4.982902167e-04f, -4.968123101e-04f, -4.953336321e-04f, -4.938541853e-04f,
+-4.923739725e-04f, -4.908929961e-04f, -4.894112588e-04f, -4.879287632e-04f, -4.864455119e-04f, -4.849615076e-04f, -4.834767527e-04f, -4.819912500e-04f, -4.805050020e-04f, -4.790180113e-04f,
+-4.775302807e-04f, -4.760418126e-04f, -4.745526097e-04f, -4.730626746e-04f, -4.715720100e-04f, -4.700806184e-04f, -4.685885026e-04f, -4.670956650e-04f, -4.656021083e-04f, -4.641078352e-04f,
+-4.626128483e-04f, -4.611171502e-04f, -4.596207435e-04f, -4.581236308e-04f, -4.566258149e-04f, -4.551272982e-04f, -4.536280836e-04f, -4.521281735e-04f, -4.506275706e-04f, -4.491262776e-04f,
+-4.476242970e-04f, -4.461216316e-04f, -4.446182840e-04f, -4.431142567e-04f, -4.416095525e-04f, -4.401041740e-04f, -4.385981238e-04f, -4.370914046e-04f, -4.355840190e-04f, -4.340759696e-04f,
+-4.325672592e-04f, -4.310578903e-04f, -4.295478656e-04f, -4.280371878e-04f, -4.265258594e-04f, -4.250138832e-04f, -4.235012618e-04f, -4.219879979e-04f, -4.204740941e-04f, -4.189595530e-04f,
+-4.174443774e-04f, -4.159285699e-04f, -4.144121330e-04f, -4.128950696e-04f, -4.113773822e-04f, -4.098590736e-04f, -4.083401463e-04f, -4.068206031e-04f, -4.053004465e-04f, -4.037796793e-04f,
+-4.022583042e-04f, -4.007363237e-04f, -3.992137406e-04f, -3.976905576e-04f, -3.961667772e-04f, -3.946424022e-04f, -3.931174353e-04f, -3.915918790e-04f, -3.900657362e-04f, -3.885390094e-04f,
+-3.870117013e-04f, -3.854838146e-04f, -3.839553521e-04f, -3.824263162e-04f, -3.808967098e-04f, -3.793665355e-04f, -3.778357960e-04f, -3.763044940e-04f, -3.747726321e-04f, -3.732402130e-04f,
+-3.717072395e-04f, -3.701737142e-04f, -3.686396397e-04f, -3.671050188e-04f, -3.655698541e-04f, -3.640341484e-04f, -3.624979043e-04f, -3.609611245e-04f, -3.594238117e-04f, -3.578859686e-04f,
+-3.563475979e-04f, -3.548087022e-04f, -3.532692843e-04f, -3.517293468e-04f, -3.501888925e-04f, -3.486479240e-04f, -3.471064441e-04f, -3.455644554e-04f, -3.440219606e-04f, -3.424789624e-04f,
+-3.409354635e-04f, -3.393914667e-04f, -3.378469745e-04f, -3.363019898e-04f, -3.347565151e-04f, -3.332105533e-04f, -3.316641070e-04f, -3.301171789e-04f, -3.285697718e-04f, -3.270218882e-04f,
+-3.254735310e-04f, -3.239247028e-04f, -3.223754063e-04f, -3.208256443e-04f, -3.192754194e-04f, -3.177247344e-04f, -3.161735919e-04f, -3.146219947e-04f, -3.130699455e-04f, -3.115174470e-04f,
+-3.099645019e-04f, -3.084111129e-04f, -3.068572827e-04f, -3.053030140e-04f, -3.037483096e-04f, -3.021931721e-04f, -3.006376044e-04f, -2.990816090e-04f, -2.975251887e-04f, -2.959683462e-04f,
+-2.944110843e-04f, -2.928534056e-04f, -2.912953129e-04f, -2.897368089e-04f, -2.881778963e-04f, -2.866185778e-04f, -2.850588562e-04f, -2.834987341e-04f, -2.819382143e-04f, -2.803772995e-04f,
+-2.788159925e-04f, -2.772542959e-04f, -2.756922124e-04f, -2.741297449e-04f, -2.725668960e-04f, -2.710036684e-04f, -2.694400649e-04f, -2.678760882e-04f, -2.663117410e-04f, -2.647470261e-04f,
+-2.631819461e-04f, -2.616165039e-04f, -2.600507021e-04f, -2.584845434e-04f, -2.569180306e-04f, -2.553511664e-04f, -2.537839536e-04f, -2.522163948e-04f, -2.506484929e-04f, -2.490802504e-04f,
+-2.475116703e-04f, -2.459427551e-04f, -2.443735077e-04f, -2.428039307e-04f, -2.412340269e-04f, -2.396637991e-04f, -2.380932499e-04f, -2.365223821e-04f, -2.349511984e-04f, -2.333797016e-04f,
+-2.318078944e-04f, -2.302357796e-04f, -2.286633598e-04f, -2.270906378e-04f, -2.255176163e-04f, -2.239442982e-04f, -2.223706860e-04f, -2.207967826e-04f, -2.192225907e-04f, -2.176481131e-04f,
+-2.160733524e-04f, -2.144983114e-04f, -2.129229928e-04f, -2.113473995e-04f, -2.097715341e-04f, -2.081953993e-04f, -2.066189980e-04f, -2.050423328e-04f, -2.034654065e-04f, -2.018882218e-04f,
+-2.003107815e-04f, -1.987330883e-04f, -1.971551450e-04f, -1.955769543e-04f, -1.939985189e-04f, -1.924198416e-04f, -1.908409252e-04f, -1.892617723e-04f, -1.876823857e-04f, -1.861027682e-04f,
+-1.845229225e-04f, -1.829428514e-04f, -1.813625576e-04f, -1.797820438e-04f, -1.782013127e-04f, -1.766203672e-04f, -1.750392100e-04f, -1.734578439e-04f, -1.718762714e-04f, -1.702944955e-04f,
+-1.687125189e-04f, -1.671303443e-04f, -1.655479744e-04f, -1.639654120e-04f, -1.623826599e-04f, -1.607997208e-04f, -1.592165974e-04f, -1.576332925e-04f, -1.560498089e-04f, -1.544661492e-04f,
+-1.528823163e-04f, -1.512983128e-04f, -1.497141416e-04f, -1.481298054e-04f, -1.465453069e-04f, -1.449606489e-04f, -1.433758341e-04f, -1.417908652e-04f, -1.402057452e-04f, -1.386204765e-04f,
+-1.370350621e-04f, -1.354495047e-04f, -1.338638070e-04f, -1.322779718e-04f, -1.306920018e-04f, -1.291058997e-04f, -1.275196684e-04f, -1.259333106e-04f, -1.243468289e-04f, -1.227602263e-04f,
+-1.211735054e-04f, -1.195866689e-04f, -1.179997196e-04f, -1.164126604e-04f, -1.148254938e-04f, -1.132382227e-04f, -1.116508498e-04f, -1.100633779e-04f, -1.084758098e-04f, -1.068881480e-04f,
+-1.053003956e-04f, -1.037125550e-04f, -1.021246292e-04f, -1.005366209e-04f, -9.894853281e-05f, -9.736036767e-05f, -9.577212826e-05f, -9.418381731e-05f, -9.259543759e-05f, -9.100699184e-05f,
+-8.941848280e-05f, -8.782991324e-05f, -8.624128590e-05f, -8.465260352e-05f, -8.306386887e-05f, -8.147508468e-05f, -7.988625372e-05f, -7.829737872e-05f, -7.670846243e-05f, -7.511950762e-05f,
+-7.353051701e-05f, -7.194149338e-05f, -7.035243945e-05f, -6.876335799e-05f, -6.717425173e-05f, -6.558512344e-05f, -6.399597585e-05f, -6.240681172e-05f, -6.081763379e-05f, -5.922844482e-05f,
+-5.763924754e-05f, -5.605004471e-05f, -5.446083908e-05f, -5.287163339e-05f, -5.128243039e-05f, -4.969323282e-05f, -4.810404344e-05f, -4.651486499e-05f, -4.492570021e-05f, -4.333655186e-05f,
+-4.174742268e-05f, -4.015831542e-05f, -3.856923281e-05f, -3.698017761e-05f, -3.539115257e-05f, -3.380216042e-05f, -3.221320391e-05f, -3.062428579e-05f, -2.903540880e-05f, -2.744657569e-05f,
+-2.585778920e-05f, -2.426905207e-05f, -2.268036705e-05f, -2.109173688e-05f, -1.950316430e-05f, -1.791465205e-05f, -1.632620289e-05f, -1.473781955e-05f, -1.314950476e-05f, -1.156126129e-05f,
+-9.973091856e-06f, -8.384999211e-06f, -6.796986093e-06f, -5.209055244e-06f, -3.621209403e-06f, -2.033451309e-06f, -4.457837033e-07f, 1.141790676e-06f, 2.729269089e-06f, 4.316648799e-06f,
+5.903927065e-06f, 7.491101152e-06f, 9.078168320e-06f, 1.066512583e-05f, 1.225197095e-05f, 1.383870095e-05f, 1.542531308e-05f, 1.701180460e-05f, 1.859817279e-05f, 2.018441492e-05f,
+2.177052823e-05f, 2.335651000e-05f, 2.494235751e-05f, 2.652806800e-05f, 2.811363875e-05f, 2.969906703e-05f, 3.128435011e-05f, 3.286948525e-05f, 3.445446972e-05f, 3.603930079e-05f,
+3.762397573e-05f, 3.920849180e-05f, 4.079284629e-05f, 4.237703646e-05f, 4.396105958e-05f, 4.554491293e-05f, 4.712859377e-05f, 4.871209937e-05f, 5.029542702e-05f, 5.187857398e-05f,
+5.346153753e-05f, 5.504431495e-05f, 5.662690350e-05f, 5.820930046e-05f, 5.979150311e-05f, 6.137350873e-05f, 6.295531459e-05f, 6.453691796e-05f, 6.611831614e-05f, 6.769950639e-05f,
+6.928048600e-05f, 7.086125223e-05f, 7.244180239e-05f, 7.402213373e-05f, 7.560224356e-05f, 7.718212914e-05f, 7.876178776e-05f, 8.034121670e-05f, 8.192041324e-05f, 8.349937468e-05f,
+8.507809829e-05f, 8.665658135e-05f, 8.823482116e-05f, 8.981281500e-05f, 9.139056016e-05f, 9.296805392e-05f, 9.454529358e-05f, 9.612227641e-05f, 9.769899971e-05f, 9.927546077e-05f,
+1.008516569e-04f, 1.024275853e-04f, 1.040032434e-04f, 1.055786284e-04f, 1.071537376e-04f, 1.087285684e-04f, 1.103031179e-04f, 1.118773836e-04f, 1.134513626e-04f, 1.150250523e-04f,
+1.165984500e-04f, 1.181715530e-04f, 1.197443586e-04f, 1.213168641e-04f, 1.228890667e-04f, 1.244609638e-04f, 1.260325527e-04f, 1.276038307e-04f, 1.291747951e-04f, 1.307454431e-04f,
+1.323157722e-04f, 1.338857795e-04f, 1.354554625e-04f, 1.370248183e-04f, 1.385938444e-04f, 1.401625380e-04f, 1.417308964e-04f, 1.432989169e-04f, 1.448665969e-04f, 1.464339337e-04f,
+1.480009245e-04f, 1.495675667e-04f, 1.511338576e-04f, 1.526997945e-04f, 1.542653747e-04f, 1.558305956e-04f, 1.573954544e-04f, 1.589599484e-04f, 1.605240751e-04f, 1.620878316e-04f,
+1.636512154e-04f, 1.652142237e-04f, 1.667768538e-04f, 1.683391032e-04f, 1.699009690e-04f, 1.714624487e-04f, 1.730235395e-04f, 1.745842388e-04f, 1.761445438e-04f, 1.777044520e-04f,
+1.792639607e-04f, 1.808230671e-04f, 1.823817686e-04f, 1.839400626e-04f, 1.854979464e-04f, 1.870554172e-04f, 1.886124725e-04f, 1.901691095e-04f, 1.917253256e-04f, 1.932811182e-04f,
+1.948364845e-04f, 1.963914219e-04f, 1.979459278e-04f, 1.994999994e-04f, 2.010536342e-04f, 2.026068294e-04f, 2.041595824e-04f, 2.057118905e-04f, 2.072637512e-04f, 2.088151617e-04f,
+2.103661193e-04f, 2.119166215e-04f, 2.134666655e-04f, 2.150162487e-04f, 2.165653685e-04f, 2.181140222e-04f, 2.196622072e-04f, 2.212099208e-04f, 2.227571603e-04f, 2.243039232e-04f,
+2.258502067e-04f, 2.273960083e-04f, 2.289413252e-04f, 2.304861549e-04f, 2.320304947e-04f, 2.335743420e-04f, 2.351176940e-04f, 2.366605483e-04f, 2.382029021e-04f, 2.397447528e-04f,
+2.412860977e-04f, 2.428269343e-04f, 2.443672600e-04f, 2.459070719e-04f, 2.474463677e-04f, 2.489851445e-04f, 2.505233998e-04f, 2.520611309e-04f, 2.535983353e-04f, 2.551350103e-04f,
+2.566711533e-04f, 2.582067616e-04f, 2.597418326e-04f, 2.612763637e-04f, 2.628103523e-04f, 2.643437958e-04f, 2.658766915e-04f, 2.674090369e-04f, 2.689408292e-04f, 2.704720660e-04f,
+2.720027445e-04f, 2.735328622e-04f, 2.750624165e-04f, 2.765914047e-04f, 2.781198242e-04f, 2.796476725e-04f, 2.811749469e-04f, 2.827016448e-04f, 2.842277636e-04f, 2.857533007e-04f,
+2.872782536e-04f, 2.888026195e-04f, 2.903263959e-04f, 2.918495802e-04f, 2.933721699e-04f, 2.948941622e-04f, 2.964155547e-04f, 2.979363446e-04f, 2.994565295e-04f, 3.009761067e-04f,
+3.024950737e-04f, 3.040134278e-04f, 3.055311665e-04f, 3.070482871e-04f, 3.085647872e-04f, 3.100806640e-04f, 3.115959151e-04f, 3.131105378e-04f, 3.146245295e-04f, 3.161378878e-04f,
+3.176506099e-04f, 3.191626934e-04f, 3.206741356e-04f, 3.221849339e-04f, 3.236950859e-04f, 3.252045889e-04f, 3.267134403e-04f, 3.282216377e-04f, 3.297291783e-04f, 3.312360597e-04f,
+3.327422793e-04f, 3.342478345e-04f, 3.357527227e-04f, 3.372569415e-04f, 3.387604881e-04f, 3.402633602e-04f, 3.417655550e-04f, 3.432670701e-04f, 3.447679030e-04f, 3.462680509e-04f,
+3.477675115e-04f, 3.492662821e-04f, 3.507643602e-04f, 3.522617433e-04f, 3.537584287e-04f, 3.552544140e-04f, 3.567496966e-04f, 3.582442740e-04f, 3.597381436e-04f, 3.612313029e-04f,
+3.627237493e-04f, 3.642154803e-04f, 3.657064934e-04f, 3.671967860e-04f, 3.686863556e-04f, 3.701751997e-04f, 3.716633158e-04f, 3.731507012e-04f, 3.746373535e-04f, 3.761232702e-04f,
+3.776084487e-04f, 3.790928865e-04f, 3.805765811e-04f, 3.820595300e-04f, 3.835417306e-04f, 3.850231804e-04f, 3.865038769e-04f, 3.879838176e-04f, 3.894630000e-04f, 3.909414216e-04f,
+3.924190798e-04f, 3.938959722e-04f, 3.953720962e-04f, 3.968474493e-04f, 3.983220291e-04f, 3.997958330e-04f, 4.012688585e-04f, 4.027411032e-04f, 4.042125645e-04f, 4.056832399e-04f,
+4.071531269e-04f, 4.086222231e-04f, 4.100905259e-04f, 4.115580328e-04f, 4.130247415e-04f, 4.144906493e-04f, 4.159557538e-04f, 4.174200525e-04f, 4.188835429e-04f, 4.203462225e-04f,
+4.218080890e-04f, 4.232691397e-04f, 4.247293721e-04f, 4.261887840e-04f, 4.276473726e-04f, 4.291051357e-04f, 4.305620707e-04f, 4.320181750e-04f, 4.334734464e-04f, 4.349278823e-04f,
+4.363814802e-04f, 4.378342377e-04f, 4.392861523e-04f, 4.407372215e-04f, 4.421874430e-04f, 4.436368142e-04f, 4.450853327e-04f, 4.465329960e-04f, 4.479798017e-04f, 4.494257473e-04f,
+4.508708304e-04f, 4.523150485e-04f, 4.537583992e-04f, 4.552008801e-04f, 4.566424886e-04f, 4.580832225e-04f, 4.595230791e-04f, 4.609620561e-04f, 4.624001511e-04f, 4.638373616e-04f,
+4.652736852e-04f, 4.667091195e-04f, 4.681436619e-04f, 4.695773102e-04f, 4.710100618e-04f, 4.724419144e-04f, 4.738728655e-04f, 4.753029127e-04f, 4.767320537e-04f, 4.781602858e-04f,
+4.795876069e-04f, 4.810140144e-04f, 4.824395059e-04f, 4.838640790e-04f, 4.852877314e-04f, 4.867104605e-04f, 4.881322641e-04f, 4.895531397e-04f, 4.909730848e-04f, 4.923920972e-04f,
+4.938101743e-04f, 4.952273139e-04f, 4.966435135e-04f, 4.980587707e-04f, 4.994730831e-04f, 5.008864483e-04f, 5.022988641e-04f, 5.037103278e-04f, 5.051208373e-04f, 5.065303901e-04f,
+5.079389838e-04f, 5.093466160e-04f, 5.107532844e-04f, 5.121589866e-04f, 5.135637202e-04f, 5.149674828e-04f, 5.163702722e-04f, 5.177720858e-04f, 5.191729214e-04f, 5.205727766e-04f,
+5.219716490e-04f, 5.233695362e-04f, 5.247664360e-04f, 5.261623459e-04f, 5.275572636e-04f, 5.289511867e-04f, 5.303441130e-04f, 5.317360400e-04f, 5.331269653e-04f, 5.345168867e-04f,
+5.359058018e-04f, 5.372937083e-04f, 5.386806038e-04f, 5.400664860e-04f, 5.414513526e-04f, 5.428352011e-04f, 5.442180294e-04f, 5.455998350e-04f, 5.469806156e-04f, 5.483603689e-04f,
+5.497390927e-04f, 5.511167844e-04f, 5.524934419e-04f, 5.538690628e-04f, 5.552436448e-04f, 5.566171856e-04f, 5.579896829e-04f, 5.593611343e-04f, 5.607315376e-04f, 5.621008904e-04f,
+5.634691905e-04f, 5.648364355e-04f, 5.662026232e-04f, 5.675677511e-04f, 5.689318172e-04f, 5.702948189e-04f, 5.716567541e-04f, 5.730176205e-04f, 5.743774158e-04f, 5.757361376e-04f,
+5.770937837e-04f, 5.784503519e-04f, 5.798058398e-04f, 5.811602451e-04f, 5.825135657e-04f, 5.838657991e-04f, 5.852169431e-04f, 5.865669956e-04f, 5.879159541e-04f, 5.892638164e-04f,
+5.906105803e-04f, 5.919562435e-04f, 5.933008037e-04f, 5.946442587e-04f, 5.959866062e-04f, 5.973278440e-04f, 5.986679698e-04f, 6.000069814e-04f, 6.013448764e-04f, 6.026816527e-04f,
+6.040173081e-04f, 6.053518402e-04f, 6.066852469e-04f, 6.080175259e-04f, 6.093486749e-04f, 6.106786918e-04f, 6.120075742e-04f, 6.133353200e-04f, 6.146619270e-04f, 6.159873929e-04f,
+6.173117154e-04f, 6.186348925e-04f, 6.199569218e-04f, 6.212778011e-04f, 6.225975282e-04f, 6.239161010e-04f, 6.252335171e-04f, 6.265497744e-04f, 6.278648707e-04f, 6.291788038e-04f,
+6.304915714e-04f, 6.318031714e-04f, 6.331136016e-04f, 6.344228597e-04f, 6.357309437e-04f, 6.370378512e-04f, 6.383435801e-04f, 6.396481283e-04f, 6.409514934e-04f, 6.422536734e-04f,
+6.435546661e-04f, 6.448544693e-04f, 6.461530808e-04f, 6.474504984e-04f, 6.487467200e-04f, 6.500417433e-04f, 6.513355663e-04f, 6.526281868e-04f, 6.539196025e-04f, 6.552098114e-04f,
+6.564988113e-04f, 6.577866000e-04f, 6.590731753e-04f, 6.603585352e-04f, 6.616426775e-04f, 6.629255999e-04f, 6.642073004e-04f, 6.654877769e-04f, 6.667670271e-04f, 6.680450490e-04f,
+6.693218404e-04f, 6.705973992e-04f, 6.718717232e-04f, 6.731448104e-04f, 6.744166585e-04f, 6.756872655e-04f, 6.769566293e-04f, 6.782247476e-04f, 6.794916185e-04f, 6.807572398e-04f,
+6.820216093e-04f, 6.832847250e-04f, 6.845465847e-04f, 6.858071864e-04f, 6.870665279e-04f, 6.883246072e-04f, 6.895814221e-04f, 6.908369705e-04f, 6.920912504e-04f, 6.933442597e-04f,
+6.945959962e-04f, 6.958464578e-04f, 6.970956426e-04f, 6.983435484e-04f, 6.995901731e-04f, 7.008355146e-04f, 7.020795709e-04f, 7.033223399e-04f, 7.045638195e-04f, 7.058040077e-04f,
+7.070429023e-04f, 7.082805014e-04f, 7.095168028e-04f, 7.107518046e-04f, 7.119855045e-04f, 7.132179007e-04f, 7.144489909e-04f, 7.156787733e-04f, 7.169072457e-04f, 7.181344060e-04f,
+7.193602523e-04f, 7.205847825e-04f, 7.218079946e-04f, 7.230298865e-04f, 7.242504562e-04f, 7.254697016e-04f, 7.266876208e-04f, 7.279042117e-04f, 7.291194723e-04f, 7.303334005e-04f,
+7.315459943e-04f, 7.327572518e-04f, 7.339671709e-04f, 7.351757495e-04f, 7.363829858e-04f, 7.375888776e-04f, 7.387934230e-04f, 7.399966200e-04f, 7.411984666e-04f, 7.423989607e-04f,
+7.435981004e-04f, 7.447958837e-04f, 7.459923086e-04f, 7.471873730e-04f, 7.483810752e-04f, 7.495734129e-04f, 7.507643843e-04f, 7.519539874e-04f, 7.531422202e-04f, 7.543290807e-04f,
+7.555145670e-04f, 7.566986771e-04f, 7.578814090e-04f, 7.590627608e-04f, 7.602427305e-04f, 7.614213161e-04f, 7.625985157e-04f, 7.637743274e-04f, 7.649487492e-04f, 7.661217791e-04f,
+7.672934152e-04f, 7.684636556e-04f, 7.696324982e-04f, 7.707999413e-04f, 7.719659828e-04f, 7.731306208e-04f, 7.742938534e-04f, 7.754556786e-04f, 7.766160946e-04f, 7.777750993e-04f,
+7.789326910e-04f, 7.800888676e-04f, 7.812436273e-04f, 7.823969681e-04f, 7.835488882e-04f, 7.846993855e-04f, 7.858484583e-04f, 7.869961046e-04f, 7.881423226e-04f, 7.892871102e-04f,
+7.904304657e-04f, 7.915723871e-04f, 7.927128726e-04f, 7.938519202e-04f, 7.949895281e-04f, 7.961256944e-04f, 7.972604173e-04f, 7.983936947e-04f, 7.995255250e-04f, 8.006559061e-04f,
+8.017848362e-04f, 8.029123136e-04f, 8.040383362e-04f, 8.051629023e-04f, 8.062860099e-04f, 8.074076573e-04f, 8.085278426e-04f, 8.096465639e-04f, 8.107638193e-04f, 8.118796071e-04f,
+8.129939254e-04f, 8.141067724e-04f, 8.152181462e-04f, 8.163280449e-04f, 8.174364668e-04f, 8.185434101e-04f, 8.196488728e-04f, 8.207528532e-04f, 8.218553495e-04f, 8.229563598e-04f,
+8.240558823e-04f, 8.251539152e-04f, 8.262504568e-04f, 8.273455051e-04f, 8.284390584e-04f, 8.295311150e-04f, 8.306216729e-04f, 8.317107303e-04f, 8.327982856e-04f, 8.338843369e-04f,
+8.349688825e-04f, 8.360519204e-04f, 8.371334490e-04f, 8.382134665e-04f, 8.392919711e-04f, 8.403689610e-04f, 8.414444344e-04f, 8.425183896e-04f, 8.435908248e-04f, 8.446617383e-04f,
+8.457311283e-04f, 8.467989930e-04f, 8.478653307e-04f, 8.489301396e-04f, 8.499934179e-04f, 8.510551640e-04f, 8.521153761e-04f, 8.531740524e-04f, 8.542311912e-04f, 8.552867908e-04f,
+8.563408494e-04f, 8.573933652e-04f, 8.584443367e-04f, 8.594937620e-04f, 8.605416395e-04f, 8.615879673e-04f, 8.626327438e-04f, 8.636759673e-04f, 8.647176361e-04f, 8.657577484e-04f,
+8.667963026e-04f, 8.678332969e-04f, 8.688687296e-04f, 8.699025991e-04f, 8.709349037e-04f, 8.719656416e-04f, 8.729948112e-04f, 8.740224108e-04f, 8.750484387e-04f, 8.760728932e-04f,
+8.770957726e-04f, 8.781170754e-04f, 8.791367997e-04f, 8.801549439e-04f, 8.811715064e-04f, 8.821864856e-04f, 8.831998796e-04f, 8.842116870e-04f, 8.852219059e-04f, 8.862305349e-04f,
+8.872375721e-04f, 8.882430161e-04f, 8.892468651e-04f, 8.902491174e-04f, 8.912497716e-04f, 8.922488258e-04f, 8.932462786e-04f, 8.942421282e-04f, 8.952363731e-04f, 8.962290115e-04f,
+8.972200420e-04f, 8.982094628e-04f, 8.991972724e-04f, 9.001834691e-04f, 9.011680514e-04f, 9.021510176e-04f, 9.031323661e-04f, 9.041120954e-04f, 9.050902038e-04f, 9.060666897e-04f,
+9.070415516e-04f, 9.080147878e-04f, 9.089863968e-04f, 9.099563769e-04f, 9.109247267e-04f, 9.118914446e-04f, 9.128565288e-04f, 9.138199780e-04f, 9.147817904e-04f, 9.157419647e-04f,
+9.167004991e-04f, 9.176573921e-04f, 9.186126422e-04f, 9.195662478e-04f, 9.205182074e-04f, 9.214685194e-04f, 9.224171823e-04f, 9.233641945e-04f, 9.243095545e-04f, 9.252532608e-04f,
+9.261953118e-04f, 9.271357060e-04f, 9.280744418e-04f, 9.290115178e-04f, 9.299469324e-04f, 9.308806841e-04f, 9.318127714e-04f, 9.327431928e-04f, 9.336719467e-04f, 9.345990317e-04f,
+9.355244463e-04f, 9.364481889e-04f, 9.373702580e-04f, 9.382906522e-04f, 9.392093700e-04f, 9.401264099e-04f, 9.410417704e-04f, 9.419554499e-04f, 9.428674472e-04f, 9.437777605e-04f,
+9.446863886e-04f, 9.455933299e-04f, 9.464985829e-04f, 9.474021462e-04f, 9.483040183e-04f, 9.492041977e-04f, 9.501026831e-04f, 9.509994730e-04f, 9.518945658e-04f, 9.527879602e-04f,
+9.536796547e-04f, 9.545696478e-04f, 9.554579383e-04f, 9.563445245e-04f, 9.572294050e-04f, 9.581125786e-04f, 9.589940436e-04f, 9.598737987e-04f, 9.607518425e-04f, 9.616281736e-04f,
+9.625027905e-04f, 9.633756918e-04f, 9.642468762e-04f, 9.651163421e-04f, 9.659840884e-04f, 9.668501134e-04f, 9.677144158e-04f, 9.685769943e-04f, 9.694378475e-04f, 9.702969739e-04f,
+9.711543722e-04f, 9.720100410e-04f, 9.728639789e-04f, 9.737161846e-04f, 9.745666566e-04f, 9.754153937e-04f, 9.762623944e-04f, 9.771076574e-04f, 9.779511813e-04f, 9.787929648e-04f,
+9.796330065e-04f, 9.804713051e-04f, 9.813078593e-04f, 9.821426676e-04f, 9.829757287e-04f, 9.838070414e-04f, 9.846366043e-04f, 9.854644160e-04f, 9.862904752e-04f, 9.871147806e-04f,
+9.879373309e-04f, 9.887581248e-04f, 9.895771609e-04f, 9.903944379e-04f, 9.912099546e-04f, 9.920237096e-04f, 9.928357016e-04f, 9.936459293e-04f, 9.944543914e-04f, 9.952610867e-04f,
+9.960660138e-04f, 9.968691714e-04f, 9.976705584e-04f, 9.984701733e-04f, 9.992680149e-04f, 1.000064082e-03f, 1.000858373e-03f, 1.001650887e-03f, 1.002441623e-03f, 1.003230579e-03f,
+1.004017755e-03f, 1.004803148e-03f, 1.005586757e-03f, 1.006368583e-03f, 1.007148622e-03f, 1.007926874e-03f, 1.008703338e-03f, 1.009478012e-03f, 1.010250895e-03f, 1.011021986e-03f,
+1.011791284e-03f, 1.012558788e-03f, 1.013324495e-03f, 1.014088406e-03f, 1.014850519e-03f, 1.015610832e-03f, 1.016369345e-03f, 1.017126055e-03f, 1.017880963e-03f, 1.018634067e-03f,
+1.019385365e-03f, 1.020134857e-03f, 1.020882541e-03f, 1.021628416e-03f, 1.022372481e-03f, 1.023114734e-03f, 1.023855175e-03f, 1.024593803e-03f, 1.025330615e-03f, 1.026065612e-03f,
+1.026798792e-03f, 1.027530153e-03f, 1.028259694e-03f, 1.028987416e-03f, 1.029713315e-03f, 1.030437391e-03f, 1.031159644e-03f, 1.031880071e-03f, 1.032598672e-03f, 1.033315445e-03f,
+1.034030390e-03f, 1.034743505e-03f, 1.035454789e-03f, 1.036164241e-03f, 1.036871860e-03f, 1.037577645e-03f, 1.038281594e-03f, 1.038983708e-03f, 1.039683983e-03f, 1.040382420e-03f,
+1.041079017e-03f, 1.041773774e-03f, 1.042466688e-03f, 1.043157760e-03f, 1.043846987e-03f, 1.044534370e-03f, 1.045219906e-03f, 1.045903594e-03f, 1.046585435e-03f, 1.047265425e-03f,
+1.047943566e-03f, 1.048619854e-03f, 1.049294291e-03f, 1.049966873e-03f, 1.050637600e-03f, 1.051306472e-03f, 1.051973487e-03f, 1.052638644e-03f, 1.053301942e-03f, 1.053963380e-03f,
+1.054622958e-03f, 1.055280673e-03f, 1.055936525e-03f, 1.056590513e-03f, 1.057242635e-03f, 1.057892892e-03f, 1.058541282e-03f, 1.059187803e-03f, 1.059832455e-03f, 1.060475238e-03f,
+1.061116148e-03f, 1.061755187e-03f, 1.062392353e-03f, 1.063027645e-03f, 1.063661061e-03f, 1.064292601e-03f, 1.064922264e-03f, 1.065550050e-03f, 1.066175956e-03f, 1.066799982e-03f,
+1.067422127e-03f, 1.068042390e-03f, 1.068660771e-03f, 1.069277267e-03f, 1.069891879e-03f, 1.070504605e-03f, 1.071115444e-03f, 1.071724395e-03f, 1.072331458e-03f, 1.072936632e-03f,
+1.073539915e-03f, 1.074141306e-03f, 1.074740806e-03f, 1.075338412e-03f, 1.075934123e-03f, 1.076527940e-03f, 1.077119861e-03f, 1.077709885e-03f, 1.078298011e-03f, 1.078884238e-03f,
+1.079468566e-03f, 1.080050993e-03f, 1.080631519e-03f, 1.081210143e-03f, 1.081786863e-03f, 1.082361679e-03f, 1.082934591e-03f, 1.083505596e-03f, 1.084074695e-03f, 1.084641886e-03f,
+1.085207169e-03f, 1.085770542e-03f, 1.086332006e-03f, 1.086891558e-03f, 1.087449199e-03f, 1.088004926e-03f, 1.088558740e-03f, 1.089110640e-03f, 1.089660625e-03f, 1.090208693e-03f,
+1.090754844e-03f, 1.091299078e-03f, 1.091841393e-03f, 1.092381789e-03f, 1.092920265e-03f, 1.093456819e-03f, 1.093991452e-03f, 1.094524162e-03f, 1.095054948e-03f, 1.095583810e-03f,
+1.096110747e-03f, 1.096635759e-03f, 1.097158843e-03f, 1.097680000e-03f, 1.098199229e-03f, 1.098716529e-03f, 1.099231899e-03f, 1.099745339e-03f, 1.100256847e-03f, 1.100766423e-03f,
+1.101274066e-03f, 1.101779776e-03f, 1.102283551e-03f, 1.102785391e-03f, 1.103285295e-03f, 1.103783262e-03f, 1.104279292e-03f, 1.104773384e-03f, 1.105265537e-03f, 1.105755750e-03f,
+1.106244023e-03f, 1.106730355e-03f, 1.107214745e-03f, 1.107697192e-03f, 1.108177697e-03f, 1.108656257e-03f, 1.109132872e-03f, 1.109607543e-03f, 1.110080267e-03f, 1.110551044e-03f,
+1.111019874e-03f, 1.111486755e-03f, 1.111951688e-03f, 1.112414671e-03f, 1.112875704e-03f, 1.113334786e-03f, 1.113791917e-03f, 1.114247095e-03f, 1.114700320e-03f, 1.115151591e-03f,
+1.115600909e-03f, 1.116048271e-03f, 1.116493678e-03f, 1.116937128e-03f, 1.117378621e-03f, 1.117818157e-03f, 1.118255735e-03f, 1.118691354e-03f, 1.119125014e-03f, 1.119556713e-03f,
+1.119986452e-03f, 1.120414229e-03f, 1.120840044e-03f, 1.121263897e-03f, 1.121685786e-03f, 1.122105712e-03f, 1.122523673e-03f, 1.122939669e-03f, 1.123353699e-03f, 1.123765764e-03f,
+1.124175861e-03f, 1.124583991e-03f, 1.124990153e-03f, 1.125394346e-03f, 1.125796570e-03f, 1.126196825e-03f, 1.126595109e-03f, 1.126991422e-03f, 1.127385763e-03f, 1.127778133e-03f,
+1.128168530e-03f, 1.128556953e-03f, 1.128943403e-03f, 1.129327879e-03f, 1.129710380e-03f, 1.130090906e-03f, 1.130469455e-03f, 1.130846029e-03f, 1.131220625e-03f, 1.131593244e-03f,
+1.131963884e-03f, 1.132332546e-03f, 1.132699230e-03f, 1.133063933e-03f, 1.133426656e-03f, 1.133787399e-03f, 1.134146161e-03f, 1.134502941e-03f, 1.134857739e-03f, 1.135210554e-03f,
+1.135561386e-03f, 1.135910235e-03f, 1.136257100e-03f, 1.136601980e-03f, 1.136944874e-03f, 1.137285784e-03f, 1.137624707e-03f, 1.137961644e-03f, 1.138296594e-03f, 1.138629557e-03f,
+1.138960532e-03f, 1.139289519e-03f, 1.139616516e-03f, 1.139941525e-03f, 1.140264544e-03f, 1.140585573e-03f, 1.140904611e-03f, 1.141221659e-03f, 1.141536715e-03f, 1.141849779e-03f,
+1.142160852e-03f, 1.142469931e-03f, 1.142777017e-03f, 1.143082110e-03f, 1.143385210e-03f, 1.143686314e-03f, 1.143985424e-03f, 1.144282539e-03f, 1.144577659e-03f, 1.144870783e-03f,
+1.145161910e-03f, 1.145451041e-03f, 1.145738175e-03f, 1.146023311e-03f, 1.146306450e-03f, 1.146587590e-03f, 1.146866732e-03f, 1.147143875e-03f, 1.147419019e-03f, 1.147692164e-03f,
+1.147963308e-03f, 1.148232452e-03f, 1.148499595e-03f, 1.148764738e-03f, 1.149027879e-03f, 1.149289018e-03f, 1.149548156e-03f, 1.149805291e-03f, 1.150060423e-03f, 1.150313553e-03f,
+1.150564679e-03f, 1.150813802e-03f, 1.151060921e-03f, 1.151306035e-03f, 1.151549145e-03f, 1.151790250e-03f, 1.152029350e-03f, 1.152266445e-03f, 1.152501534e-03f, 1.152734617e-03f,
+1.152965694e-03f, 1.153194764e-03f, 1.153421827e-03f, 1.153646883e-03f, 1.153869932e-03f, 1.154090973e-03f, 1.154310006e-03f, 1.154527032e-03f, 1.154742048e-03f, 1.154955056e-03f,
+1.155166055e-03f, 1.155375045e-03f, 1.155582026e-03f, 1.155786997e-03f, 1.155989958e-03f, 1.156190909e-03f, 1.156389849e-03f, 1.156586779e-03f, 1.156781698e-03f, 1.156974606e-03f,
+1.157165503e-03f, 1.157354389e-03f, 1.157541263e-03f, 1.157726125e-03f, 1.157908975e-03f, 1.158089813e-03f, 1.158268638e-03f, 1.158445451e-03f, 1.158620251e-03f, 1.158793038e-03f,
+1.158963812e-03f, 1.159132572e-03f, 1.159299319e-03f, 1.159464053e-03f, 1.159626772e-03f, 1.159787478e-03f, 1.159946169e-03f, 1.160102846e-03f, 1.160257508e-03f, 1.160410156e-03f,
+1.160560790e-03f, 1.160709408e-03f, 1.160856011e-03f, 1.161000599e-03f, 1.161143172e-03f, 1.161283729e-03f, 1.161422271e-03f, 1.161558797e-03f, 1.161693307e-03f, 1.161825802e-03f,
+1.161956280e-03f, 1.162084743e-03f, 1.162211189e-03f, 1.162335619e-03f, 1.162458032e-03f, 1.162578429e-03f, 1.162696809e-03f, 1.162813173e-03f, 1.162927520e-03f, 1.163039850e-03f,
+1.163150163e-03f, 1.163258459e-03f, 1.163364738e-03f, 1.163469000e-03f, 1.163571245e-03f, 1.163671473e-03f, 1.163769683e-03f, 1.163865876e-03f, 1.163960052e-03f, 1.164052210e-03f,
+1.164142351e-03f, 1.164230474e-03f, 1.164316580e-03f, 1.164400668e-03f, 1.164482739e-03f, 1.164562792e-03f, 1.164640828e-03f, 1.164716845e-03f, 1.164790846e-03f, 1.164862828e-03f,
+1.164932793e-03f, 1.165000740e-03f, 1.165066670e-03f, 1.165130582e-03f, 1.165192476e-03f, 1.165252353e-03f, 1.165310212e-03f, 1.165366053e-03f, 1.165419877e-03f, 1.165471684e-03f,
+1.165521472e-03f, 1.165569244e-03f, 1.165614998e-03f, 1.165658734e-03f, 1.165700454e-03f, 1.165740156e-03f, 1.165777840e-03f, 1.165813508e-03f, 1.165847158e-03f, 1.165878791e-03f,
+1.165908408e-03f, 1.165936007e-03f, 1.165961589e-03f, 1.165985155e-03f, 1.166006704e-03f, 1.166026236e-03f, 1.166043752e-03f, 1.166059252e-03f, 1.166072735e-03f, 1.166084201e-03f,
+1.166093652e-03f, 1.166101086e-03f, 1.166106505e-03f, 1.166109908e-03f, 1.166111295e-03f, 1.166110666e-03f, 1.166108022e-03f, 1.166103362e-03f, 1.166096688e-03f, 1.166087998e-03f,
+1.166077293e-03f, 1.166064574e-03f, 1.166049839e-03f, 1.166033090e-03f, 1.166014327e-03f, 1.165993550e-03f, 1.165970758e-03f, 1.165945953e-03f, 1.165919133e-03f, 1.165890301e-03f,
+1.165859454e-03f, 1.165826595e-03f, 1.165791722e-03f, 1.165754837e-03f, 1.165715938e-03f, 1.165675028e-03f, 1.165632105e-03f, 1.165587169e-03f, 1.165540222e-03f, 1.165491263e-03f,
+1.165440293e-03f, 1.165387311e-03f, 1.165332318e-03f, 1.165275314e-03f, 1.165216300e-03f, 1.165155275e-03f, 1.165092240e-03f, 1.165027195e-03f, 1.164960140e-03f, 1.164891075e-03f,
+1.164820001e-03f, 1.164746918e-03f, 1.164671827e-03f, 1.164594726e-03f, 1.164515618e-03f, 1.164434501e-03f, 1.164351377e-03f, 1.164266245e-03f, 1.164179105e-03f, 1.164089959e-03f,
+1.163998806e-03f, 1.163905647e-03f, 1.163810481e-03f, 1.163713310e-03f, 1.163614133e-03f, 1.163512950e-03f, 1.163409763e-03f, 1.163304571e-03f, 1.163197374e-03f, 1.163088174e-03f,
+1.162976969e-03f, 1.162863762e-03f, 1.162748551e-03f, 1.162631337e-03f, 1.162512120e-03f, 1.162390902e-03f, 1.162267681e-03f, 1.162142459e-03f, 1.162015236e-03f, 1.161886012e-03f,
+1.161754787e-03f, 1.161621562e-03f, 1.161486337e-03f, 1.161349113e-03f, 1.161209890e-03f, 1.161068668e-03f, 1.160925448e-03f, 1.160780229e-03f, 1.160633013e-03f, 1.160483799e-03f,
+1.160332589e-03f, 1.160179382e-03f, 1.160024179e-03f, 1.159866981e-03f, 1.159707786e-03f, 1.159546597e-03f, 1.159383414e-03f, 1.159218236e-03f, 1.159051064e-03f, 1.158881899e-03f,
+1.158710741e-03f, 1.158537591e-03f, 1.158362448e-03f, 1.158185314e-03f, 1.158006188e-03f, 1.157825072e-03f, 1.157641965e-03f, 1.157456868e-03f, 1.157269781e-03f, 1.157080706e-03f,
+1.156889642e-03f, 1.156696589e-03f, 1.156501549e-03f, 1.156304522e-03f, 1.156105508e-03f, 1.155904507e-03f, 1.155701521e-03f, 1.155496549e-03f, 1.155289592e-03f, 1.155080650e-03f,
+1.154869725e-03f, 1.154656816e-03f, 1.154441924e-03f, 1.154225049e-03f, 1.154006193e-03f, 1.153785354e-03f, 1.153562535e-03f, 1.153337735e-03f, 1.153110955e-03f, 1.152882196e-03f,
+1.152651457e-03f, 1.152418740e-03f, 1.152184045e-03f, 1.151947373e-03f, 1.151708724e-03f, 1.151468098e-03f, 1.151225496e-03f, 1.150980919e-03f, 1.150734367e-03f, 1.150485841e-03f,
+1.150235341e-03f, 1.149982868e-03f, 1.149728423e-03f, 1.149472005e-03f, 1.149213616e-03f, 1.148953256e-03f, 1.148690926e-03f, 1.148426625e-03f, 1.148160356e-03f, 1.147892118e-03f,
+1.147621912e-03f, 1.147349738e-03f, 1.147075598e-03f, 1.146799491e-03f, 1.146521419e-03f, 1.146241381e-03f, 1.145959379e-03f, 1.145675413e-03f, 1.145389484e-03f, 1.145101592e-03f,
+1.144811738e-03f, 1.144519923e-03f, 1.144226146e-03f, 1.143930410e-03f, 1.143632714e-03f, 1.143333059e-03f, 1.143031446e-03f, 1.142727875e-03f, 1.142422347e-03f, 1.142114863e-03f,
+1.141805423e-03f, 1.141494028e-03f, 1.141180678e-03f, 1.140865375e-03f, 1.140548119e-03f, 1.140228910e-03f, 1.139907749e-03f, 1.139584638e-03f, 1.139259576e-03f, 1.138932564e-03f,
+1.138603603e-03f, 1.138272694e-03f, 1.137939837e-03f, 1.137605033e-03f, 1.137268282e-03f, 1.136929587e-03f, 1.136588946e-03f, 1.136246361e-03f, 1.135901832e-03f, 1.135555361e-03f,
+1.135206948e-03f, 1.134856593e-03f, 1.134504298e-03f, 1.134150063e-03f, 1.133793888e-03f, 1.133435775e-03f, 1.133075725e-03f, 1.132713737e-03f, 1.132349814e-03f, 1.131983954e-03f,
+1.131616160e-03f, 1.131246433e-03f, 1.130874771e-03f, 1.130501178e-03f, 1.130125652e-03f, 1.129748196e-03f, 1.129368810e-03f, 1.128987494e-03f, 1.128604249e-03f, 1.128219077e-03f,
+1.127831977e-03f, 1.127442952e-03f, 1.127052000e-03f, 1.126659124e-03f, 1.126264324e-03f, 1.125867601e-03f, 1.125468956e-03f, 1.125068389e-03f, 1.124665902e-03f, 1.124261494e-03f,
+1.123855168e-03f, 1.123446923e-03f, 1.123036761e-03f, 1.122624682e-03f, 1.122210687e-03f, 1.121794777e-03f, 1.121376953e-03f, 1.120957216e-03f, 1.120535567e-03f, 1.120112005e-03f,
+1.119686533e-03f, 1.119259151e-03f, 1.118829860e-03f, 1.118398661e-03f, 1.117965555e-03f, 1.117530542e-03f, 1.117093623e-03f, 1.116654799e-03f, 1.116214072e-03f, 1.115771442e-03f,
+1.115326909e-03f, 1.114880475e-03f, 1.114432141e-03f, 1.113981908e-03f, 1.113529776e-03f, 1.113075746e-03f, 1.112619819e-03f, 1.112161996e-03f, 1.111702279e-03f, 1.111240667e-03f,
+1.110777163e-03f, 1.110311765e-03f, 1.109844477e-03f, 1.109375298e-03f, 1.108904230e-03f, 1.108431273e-03f, 1.107956429e-03f, 1.107479697e-03f, 1.107001080e-03f, 1.106520579e-03f,
+1.106038193e-03f, 1.105553924e-03f, 1.105067774e-03f, 1.104579742e-03f, 1.104089830e-03f, 1.103598039e-03f, 1.103104370e-03f, 1.102608824e-03f, 1.102111402e-03f, 1.101612104e-03f,
+1.101110932e-03f, 1.100607887e-03f, 1.100102969e-03f, 1.099596180e-03f, 1.099087521e-03f, 1.098576992e-03f, 1.098064595e-03f, 1.097550331e-03f, 1.097034200e-03f, 1.096516204e-03f,
+1.095996343e-03f, 1.095474620e-03f, 1.094951034e-03f, 1.094425586e-03f, 1.093898278e-03f, 1.093369111e-03f, 1.092838086e-03f, 1.092305204e-03f, 1.091770465e-03f, 1.091233871e-03f,
+1.090695423e-03f, 1.090155122e-03f, 1.089612969e-03f, 1.089068965e-03f, 1.088523111e-03f, 1.087975408e-03f, 1.087425858e-03f, 1.086874460e-03f, 1.086321217e-03f, 1.085766129e-03f,
+1.085209198e-03f, 1.084650424e-03f, 1.084089809e-03f, 1.083527354e-03f, 1.082963059e-03f, 1.082396926e-03f, 1.081828956e-03f, 1.081259150e-03f, 1.080687509e-03f, 1.080114034e-03f,
+1.079538727e-03f, 1.078961588e-03f, 1.078382619e-03f, 1.077801820e-03f, 1.077219193e-03f, 1.076634739e-03f, 1.076048458e-03f, 1.075460353e-03f, 1.074870424e-03f, 1.074278673e-03f,
+1.073685100e-03f, 1.073089706e-03f, 1.072492493e-03f, 1.071893463e-03f, 1.071292615e-03f, 1.070689951e-03f, 1.070085473e-03f, 1.069479181e-03f, 1.068871077e-03f, 1.068261162e-03f,
+1.067649437e-03f, 1.067035902e-03f, 1.066420561e-03f, 1.065803412e-03f, 1.065184458e-03f, 1.064563700e-03f, 1.063941140e-03f, 1.063316777e-03f, 1.062690614e-03f, 1.062062651e-03f,
+1.061432890e-03f, 1.060801332e-03f, 1.060167978e-03f, 1.059532829e-03f, 1.058895887e-03f, 1.058257153e-03f, 1.057616628e-03f, 1.056974313e-03f, 1.056330209e-03f, 1.055684318e-03f,
+1.055036641e-03f, 1.054387179e-03f, 1.053735934e-03f, 1.053082905e-03f, 1.052428096e-03f, 1.051771507e-03f, 1.051113139e-03f, 1.050452993e-03f, 1.049791071e-03f, 1.049127374e-03f,
+1.048461904e-03f, 1.047794661e-03f, 1.047125646e-03f, 1.046454862e-03f, 1.045782309e-03f, 1.045107989e-03f, 1.044431902e-03f, 1.043754051e-03f, 1.043074435e-03f, 1.042393058e-03f,
+1.041709920e-03f, 1.041025021e-03f, 1.040338365e-03f, 1.039649951e-03f, 1.038959781e-03f, 1.038267857e-03f, 1.037574179e-03f, 1.036878749e-03f, 1.036181569e-03f, 1.035482639e-03f,
+1.034781962e-03f, 1.034079537e-03f, 1.033375367e-03f, 1.032669453e-03f, 1.031961796e-03f, 1.031252398e-03f, 1.030541260e-03f, 1.029828383e-03f, 1.029113768e-03f, 1.028397418e-03f,
+1.027679332e-03f, 1.026959513e-03f, 1.026237962e-03f, 1.025514681e-03f, 1.024789670e-03f, 1.024062930e-03f, 1.023334465e-03f, 1.022604274e-03f, 1.021872359e-03f, 1.021138721e-03f,
+1.020403363e-03f, 1.019666284e-03f, 1.018927487e-03f, 1.018186973e-03f, 1.017444743e-03f, 1.016700799e-03f, 1.015955143e-03f, 1.015207774e-03f, 1.014458696e-03f, 1.013707908e-03f,
+1.012955414e-03f, 1.012201213e-03f, 1.011445308e-03f, 1.010687700e-03f, 1.009928391e-03f, 1.009167381e-03f, 1.008404672e-03f, 1.007640265e-03f, 1.006874163e-03f, 1.006106366e-03f,
+1.005336876e-03f, 1.004565694e-03f, 1.003792822e-03f, 1.003018261e-03f, 1.002242012e-03f, 1.001464078e-03f, 1.000684459e-03f, 9.999031570e-04f, 9.991201733e-04f, 9.983355094e-04f,
+9.975491668e-04f, 9.967611470e-04f, 9.959714513e-04f, 9.951800813e-04f, 9.943870385e-04f, 9.935923242e-04f, 9.927959400e-04f, 9.919978874e-04f, 9.911981678e-04f, 9.903967827e-04f,
+9.895937336e-04f, 9.887890220e-04f, 9.879826493e-04f, 9.871746171e-04f, 9.863649269e-04f, 9.855535802e-04f, 9.847405784e-04f, 9.839259231e-04f, 9.831096157e-04f, 9.822916579e-04f,
+9.814720510e-04f, 9.806507967e-04f, 9.798278964e-04f, 9.790033516e-04f, 9.781771639e-04f, 9.773493348e-04f, 9.765198658e-04f, 9.756887585e-04f, 9.748560144e-04f, 9.740216351e-04f,
+9.731856220e-04f, 9.723479767e-04f, 9.715087008e-04f, 9.706677958e-04f, 9.698252632e-04f, 9.689811047e-04f, 9.681353217e-04f, 9.672879159e-04f, 9.664388887e-04f, 9.655882418e-04f,
+9.647359768e-04f, 9.638820951e-04f, 9.630265984e-04f, 9.621694882e-04f, 9.613107662e-04f, 9.604504338e-04f, 9.595884927e-04f, 9.587249445e-04f, 9.578597908e-04f, 9.569930331e-04f,
+9.561246731e-04f, 9.552547122e-04f, 9.543831523e-04f, 9.535099947e-04f, 9.526352413e-04f, 9.517588934e-04f, 9.508809529e-04f, 9.500014212e-04f, 9.491203000e-04f, 9.482375909e-04f,
+9.473532955e-04f, 9.464674155e-04f, 9.455799525e-04f, 9.446909081e-04f, 9.438002839e-04f, 9.429080816e-04f, 9.420143028e-04f, 9.411189492e-04f, 9.402220223e-04f, 9.393235239e-04f,
+9.384234556e-04f, 9.375218190e-04f, 9.366186158e-04f, 9.357138476e-04f, 9.348075161e-04f, 9.338996230e-04f, 9.329901699e-04f, 9.320791585e-04f, 9.311665904e-04f, 9.302524674e-04f,
+9.293367910e-04f, 9.284195630e-04f, 9.275007851e-04f, 9.265804589e-04f, 9.256585862e-04f, 9.247351685e-04f, 9.238102076e-04f, 9.228837052e-04f, 9.219556630e-04f, 9.210260826e-04f,
+9.200949658e-04f, 9.191623143e-04f, 9.182281297e-04f, 9.172924139e-04f, 9.163551684e-04f, 9.154163950e-04f, 9.144760955e-04f, 9.135342714e-04f, 9.125909247e-04f, 9.116460569e-04f,
+9.106996697e-04f, 9.097517651e-04f, 9.088023445e-04f, 9.078514099e-04f, 9.068989629e-04f, 9.059450052e-04f, 9.049895386e-04f, 9.040325649e-04f, 9.030740857e-04f, 9.021141029e-04f,
+9.011526181e-04f, 9.001896332e-04f, 8.992251498e-04f, 8.982591698e-04f, 8.972916949e-04f, 8.963227269e-04f, 8.953522675e-04f, 8.943803184e-04f, 8.934068816e-04f, 8.924319587e-04f,
+8.914555514e-04f, 8.904776617e-04f, 8.894982912e-04f, 8.885174418e-04f, 8.875351152e-04f, 8.865513132e-04f, 8.855660376e-04f, 8.845792902e-04f, 8.835910728e-04f, 8.826013871e-04f,
+8.816102351e-04f, 8.806176184e-04f, 8.796235389e-04f, 8.786279985e-04f, 8.776309988e-04f, 8.766325417e-04f, 8.756326291e-04f, 8.746312627e-04f, 8.736284443e-04f, 8.726241758e-04f,
+8.716184591e-04f, 8.706112958e-04f, 8.696026879e-04f, 8.685926372e-04f, 8.675811455e-04f, 8.665682147e-04f, 8.655538465e-04f, 8.645380429e-04f, 8.635208056e-04f, 8.625021366e-04f,
+8.614820376e-04f, 8.604605105e-04f, 8.594375572e-04f, 8.584131795e-04f, 8.573873792e-04f, 8.563601583e-04f, 8.553315186e-04f, 8.543014619e-04f, 8.532699901e-04f, 8.522371051e-04f,
+8.512028088e-04f, 8.501671030e-04f, 8.491299896e-04f, 8.480914704e-04f, 8.470515475e-04f, 8.460102225e-04f, 8.449674975e-04f, 8.439233743e-04f, 8.428778548e-04f, 8.418309409e-04f,
+8.407826344e-04f, 8.397329373e-04f, 8.386818515e-04f, 8.376293789e-04f, 8.365755213e-04f, 8.355202808e-04f, 8.344636591e-04f, 8.334056582e-04f, 8.323462800e-04f, 8.312855264e-04f,
+8.302233994e-04f, 8.291599008e-04f, 8.280950326e-04f, 8.270287967e-04f, 8.259611950e-04f, 8.248922295e-04f, 8.238219020e-04f, 8.227502146e-04f, 8.216771691e-04f, 8.206027675e-04f,
+8.195270117e-04f, 8.184499036e-04f, 8.173714453e-04f, 8.162916386e-04f, 8.152104855e-04f, 8.141279879e-04f, 8.130441479e-04f, 8.119589673e-04f, 8.108724481e-04f, 8.097845922e-04f,
+8.086954017e-04f, 8.076048785e-04f, 8.065130245e-04f, 8.054198417e-04f, 8.043253321e-04f, 8.032294977e-04f, 8.021323404e-04f, 8.010338622e-04f, 7.999340651e-04f, 7.988329511e-04f,
+7.977305221e-04f, 7.966267802e-04f, 7.955217272e-04f, 7.944153653e-04f, 7.933076964e-04f, 7.921987225e-04f, 7.910884455e-04f, 7.899768675e-04f, 7.888639905e-04f, 7.877498165e-04f,
+7.866343475e-04f, 7.855175855e-04f, 7.843995325e-04f, 7.832801905e-04f, 7.821595615e-04f, 7.810376475e-04f, 7.799144506e-04f, 7.787899728e-04f, 7.776642161e-04f, 7.765371825e-04f,
+7.754088740e-04f, 7.742792927e-04f, 7.731484405e-04f, 7.720163196e-04f, 7.708829320e-04f, 7.697482796e-04f, 7.686123646e-04f, 7.674751890e-04f, 7.663367547e-04f, 7.651970640e-04f,
+7.640561187e-04f, 7.629139209e-04f, 7.617704728e-04f, 7.606257763e-04f, 7.594798335e-04f, 7.583326464e-04f, 7.571842172e-04f, 7.560345479e-04f, 7.548836404e-04f, 7.537314970e-04f,
+7.525781197e-04f, 7.514235104e-04f, 7.502676714e-04f, 7.491106046e-04f, 7.479523122e-04f, 7.467927962e-04f, 7.456320587e-04f, 7.444701018e-04f, 7.433069276e-04f, 7.421425381e-04f,
+7.409769354e-04f, 7.398101216e-04f, 7.386420988e-04f, 7.374728692e-04f, 7.363024347e-04f, 7.351307975e-04f, 7.339579597e-04f, 7.327839234e-04f, 7.316086906e-04f, 7.304322636e-04f,
+7.292546443e-04f, 7.280758350e-04f, 7.268958376e-04f, 7.257146544e-04f, 7.245322874e-04f, 7.233487387e-04f, 7.221640105e-04f, 7.209781049e-04f, 7.197910240e-04f, 7.186027699e-04f,
+7.174133448e-04f, 7.162227507e-04f, 7.150309898e-04f, 7.138380643e-04f, 7.126439762e-04f, 7.114487278e-04f, 7.102523210e-04f, 7.090547581e-04f, 7.078560413e-04f, 7.066561726e-04f,
+7.054551542e-04f, 7.042529882e-04f, 7.030496768e-04f, 7.018452222e-04f, 7.006396264e-04f, 6.994328917e-04f, 6.982250201e-04f, 6.970160139e-04f, 6.958058752e-04f, 6.945946062e-04f,
+6.933822090e-04f, 6.921686858e-04f, 6.909540388e-04f, 6.897382701e-04f, 6.885213818e-04f, 6.873033762e-04f, 6.860842555e-04f, 6.848640218e-04f, 6.836426772e-04f, 6.824202240e-04f,
+6.811966644e-04f, 6.799720004e-04f, 6.787462344e-04f, 6.775193685e-04f, 6.762914048e-04f, 6.750623457e-04f, 6.738321931e-04f, 6.726009494e-04f, 6.713686168e-04f, 6.701351974e-04f,
+6.689006934e-04f, 6.676651071e-04f, 6.664284405e-04f, 6.651906961e-04f, 6.639518758e-04f, 6.627119820e-04f, 6.614710169e-04f, 6.602289826e-04f, 6.589858814e-04f, 6.577417155e-04f,
+6.564964871e-04f, 6.552501984e-04f, 6.540028516e-04f, 6.527544490e-04f, 6.515049928e-04f, 6.502544852e-04f, 6.490029283e-04f, 6.477503246e-04f, 6.464966761e-04f, 6.452419851e-04f,
+6.439862539e-04f, 6.427294846e-04f, 6.414716795e-04f, 6.402128409e-04f, 6.389529710e-04f, 6.376920719e-04f, 6.364301461e-04f, 6.351671956e-04f, 6.339032228e-04f, 6.326382299e-04f,
+6.313722191e-04f, 6.301051927e-04f, 6.288371530e-04f, 6.275681021e-04f, 6.262980424e-04f, 6.250269761e-04f, 6.237549055e-04f, 6.224818328e-04f, 6.212077603e-04f, 6.199326902e-04f,
+6.186566248e-04f, 6.173795664e-04f, 6.161015172e-04f, 6.148224796e-04f, 6.135424557e-04f, 6.122614479e-04f, 6.109794584e-04f, 6.096964895e-04f, 6.084125435e-04f, 6.071276226e-04f,
+6.058417292e-04f, 6.045548655e-04f, 6.032670338e-04f, 6.019782364e-04f, 6.006884755e-04f, 5.993977535e-04f, 5.981060726e-04f, 5.968134352e-04f, 5.955198435e-04f, 5.942252998e-04f,
+5.929298064e-04f, 5.916333656e-04f, 5.903359798e-04f, 5.890376511e-04f, 5.877383819e-04f, 5.864381746e-04f, 5.851370314e-04f, 5.838349546e-04f, 5.825319465e-04f, 5.812280095e-04f,
+5.799231458e-04f, 5.786173577e-04f, 5.773106476e-04f, 5.760030178e-04f, 5.746944706e-04f, 5.733850083e-04f, 5.720746333e-04f, 5.707633478e-04f, 5.694511541e-04f, 5.681380547e-04f,
+5.668240518e-04f, 5.655091477e-04f, 5.641933448e-04f, 5.628766454e-04f, 5.615590519e-04f, 5.602405665e-04f, 5.589211916e-04f, 5.576009295e-04f, 5.562797826e-04f, 5.549577531e-04f,
+5.536348436e-04f, 5.523110562e-04f, 5.509863933e-04f, 5.496608573e-04f, 5.483344505e-04f, 5.470071752e-04f, 5.456790338e-04f, 5.443500287e-04f, 5.430201622e-04f, 5.416894366e-04f,
+5.403578543e-04f, 5.390254177e-04f, 5.376921291e-04f, 5.363579908e-04f, 5.350230052e-04f, 5.336871748e-04f, 5.323505017e-04f, 5.310129885e-04f, 5.296746374e-04f, 5.283354508e-04f,
+5.269954311e-04f, 5.256545807e-04f, 5.243129019e-04f, 5.229703971e-04f, 5.216270686e-04f, 5.202829189e-04f, 5.189379503e-04f, 5.175921651e-04f, 5.162455658e-04f, 5.148981548e-04f,
+5.135499343e-04f, 5.122009069e-04f, 5.108510748e-04f, 5.095004404e-04f, 5.081490062e-04f, 5.067967745e-04f, 5.054437477e-04f, 5.040899282e-04f, 5.027353184e-04f, 5.013799206e-04f,
+5.000237373e-04f, 4.986667708e-04f, 4.973090236e-04f, 4.959504980e-04f, 4.945911964e-04f, 4.932311213e-04f, 4.918702750e-04f, 4.905086599e-04f, 4.891462784e-04f, 4.877831330e-04f,
+4.864192259e-04f, 4.850545597e-04f, 4.836891367e-04f, 4.823229594e-04f, 4.809560301e-04f, 4.795883513e-04f, 4.782199253e-04f, 4.768507546e-04f, 4.754808415e-04f, 4.741101886e-04f,
+4.727387982e-04f, 4.713666727e-04f, 4.699938145e-04f, 4.686202261e-04f, 4.672459099e-04f, 4.658708682e-04f, 4.644951036e-04f, 4.631186184e-04f, 4.617414151e-04f, 4.603634961e-04f,
+4.589848637e-04f, 4.576055205e-04f, 4.562254689e-04f, 4.548447113e-04f, 4.534632500e-04f, 4.520810876e-04f, 4.506982265e-04f, 4.493146691e-04f, 4.479304179e-04f, 4.465454752e-04f,
+4.451598436e-04f, 4.437735254e-04f, 4.423865231e-04f, 4.409988391e-04f, 4.396104759e-04f, 4.382214359e-04f, 4.368317215e-04f, 4.354413352e-04f, 4.340502795e-04f, 4.326585568e-04f,
+4.312661694e-04f, 4.298731200e-04f, 4.284794109e-04f, 4.270850445e-04f, 4.256900234e-04f, 4.242943499e-04f, 4.228980266e-04f, 4.215010558e-04f, 4.201034401e-04f, 4.187051819e-04f,
+4.173062835e-04f, 4.159067476e-04f, 4.145065766e-04f, 4.131057728e-04f, 4.117043389e-04f, 4.103022771e-04f, 4.088995901e-04f, 4.074962802e-04f, 4.060923499e-04f, 4.046878017e-04f,
+4.032826381e-04f, 4.018768614e-04f, 4.004704743e-04f, 3.990634791e-04f, 3.976558783e-04f, 3.962476744e-04f, 3.948388699e-04f, 3.934294672e-04f, 3.920194688e-04f, 3.906088771e-04f,
+3.891976947e-04f, 3.877859241e-04f, 3.863735676e-04f, 3.849606278e-04f, 3.835471072e-04f, 3.821330082e-04f, 3.807183333e-04f, 3.793030850e-04f, 3.778872658e-04f, 3.764708781e-04f,
+3.750539244e-04f, 3.736364073e-04f, 3.722183292e-04f, 3.707996926e-04f, 3.693804999e-04f, 3.679607537e-04f, 3.665404564e-04f, 3.651196106e-04f, 3.636982187e-04f, 3.622762833e-04f,
+3.608538067e-04f, 3.594307915e-04f, 3.580072402e-04f, 3.565831553e-04f, 3.551585393e-04f, 3.537333947e-04f, 3.523077239e-04f, 3.508815294e-04f, 3.494548139e-04f, 3.480275797e-04f,
+3.465998293e-04f, 3.451715653e-04f, 3.437427902e-04f, 3.423135064e-04f, 3.408837164e-04f, 3.394534229e-04f, 3.380226281e-04f, 3.365913348e-04f, 3.351595453e-04f, 3.337272622e-04f,
+3.322944880e-04f, 3.308612251e-04f, 3.294274761e-04f, 3.279932436e-04f, 3.265585299e-04f, 3.251233377e-04f, 3.236876694e-04f, 3.222515275e-04f, 3.208149146e-04f, 3.193778331e-04f,
+3.179402856e-04f, 3.165022746e-04f, 3.150638026e-04f, 3.136248721e-04f, 3.121854856e-04f, 3.107456457e-04f, 3.093053548e-04f, 3.078646155e-04f, 3.064234303e-04f, 3.049818017e-04f,
+3.035397322e-04f, 3.020972244e-04f, 3.006542808e-04f, 2.992109038e-04f, 2.977670961e-04f, 2.963228601e-04f, 2.948781983e-04f, 2.934331134e-04f, 2.919876077e-04f, 2.905416838e-04f,
+2.890953443e-04f, 2.876485917e-04f, 2.862014285e-04f, 2.847538572e-04f, 2.833058804e-04f, 2.818575005e-04f, 2.804087202e-04f, 2.789595418e-04f, 2.775099681e-04f, 2.760600015e-04f,
+2.746096444e-04f, 2.731588996e-04f, 2.717077694e-04f, 2.702562565e-04f, 2.688043633e-04f, 2.673520923e-04f, 2.658994462e-04f, 2.644464275e-04f, 2.629930386e-04f, 2.615392822e-04f,
+2.600851607e-04f, 2.586306767e-04f, 2.571758328e-04f, 2.557206314e-04f, 2.542650751e-04f, 2.528091664e-04f, 2.513529079e-04f, 2.498963022e-04f, 2.484393517e-04f, 2.469820590e-04f,
+2.455244266e-04f, 2.440664571e-04f, 2.426081530e-04f, 2.411495168e-04f, 2.396905512e-04f, 2.382312586e-04f, 2.367716415e-04f, 2.353117026e-04f, 2.338514444e-04f, 2.323908694e-04f,
+2.309299801e-04f, 2.294687791e-04f, 2.280072690e-04f, 2.265454522e-04f, 2.250833314e-04f, 2.236209091e-04f, 2.221581878e-04f, 2.206951700e-04f, 2.192318584e-04f, 2.177682555e-04f,
+2.163043637e-04f, 2.148401858e-04f, 2.133757241e-04f, 2.119109813e-04f, 2.104459599e-04f, 2.089806624e-04f, 2.075150915e-04f, 2.060492496e-04f, 2.045831393e-04f, 2.031167632e-04f,
+2.016501238e-04f, 2.001832236e-04f, 1.987160653e-04f, 1.972486513e-04f, 1.957809842e-04f, 1.943130666e-04f, 1.928449010e-04f, 1.913764900e-04f, 1.899078361e-04f, 1.884389419e-04f,
+1.869698099e-04f, 1.855004428e-04f, 1.840308429e-04f, 1.825610129e-04f, 1.810909554e-04f, 1.796206729e-04f, 1.781501680e-04f, 1.766794432e-04f, 1.752085010e-04f, 1.737373441e-04f,
+1.722659749e-04f, 1.707943961e-04f, 1.693226102e-04f, 1.678506198e-04f, 1.663784273e-04f, 1.649060354e-04f, 1.634334467e-04f, 1.619606636e-04f, 1.604876887e-04f, 1.590145247e-04f,
+1.575411740e-04f, 1.560676392e-04f, 1.545939229e-04f, 1.531200277e-04f, 1.516459560e-04f, 1.501717104e-04f, 1.486972936e-04f, 1.472227080e-04f, 1.457479563e-04f, 1.442730409e-04f,
+1.427979645e-04f, 1.413227296e-04f, 1.398473387e-04f, 1.383717945e-04f, 1.368960994e-04f, 1.354202561e-04f, 1.339442671e-04f, 1.324681350e-04f, 1.309918623e-04f, 1.295154516e-04f,
+1.280389054e-04f, 1.265622263e-04f, 1.250854169e-04f, 1.236084797e-04f, 1.221314173e-04f, 1.206542322e-04f, 1.191769271e-04f, 1.176995044e-04f, 1.162219668e-04f, 1.147443167e-04f,
+1.132665568e-04f, 1.117886896e-04f, 1.103107177e-04f, 1.088326437e-04f, 1.073544700e-04f, 1.058761993e-04f, 1.043978341e-04f, 1.029193770e-04f, 1.014408306e-04f, 9.996219733e-05f,
+9.848347984e-05f, 9.700468069e-05f, 9.552580243e-05f, 9.404684761e-05f, 9.256781881e-05f, 9.108871859e-05f, 8.960954949e-05f, 8.813031410e-05f, 8.665101496e-05f, 8.517165464e-05f,
+8.369223570e-05f, 8.221276070e-05f, 8.073323220e-05f, 7.925365276e-05f, 7.777402494e-05f, 7.629435131e-05f, 7.481463443e-05f, 7.333487685e-05f, 7.185508113e-05f, 7.037524985e-05f,
+6.889538554e-05f, 6.741549079e-05f, 6.593556814e-05f, 6.445562016e-05f, 6.297564940e-05f, 6.149565844e-05f, 6.001564981e-05f, 5.853562610e-05f, 5.705558985e-05f, 5.557554362e-05f,
+5.409548998e-05f, 5.261543149e-05f, 5.113537069e-05f, 4.965531015e-05f, 4.817525244e-05f, 4.669520010e-05f, 4.521515570e-05f, 4.373512179e-05f, 4.225510093e-05f, 4.077509569e-05f,
+3.929510861e-05f, 3.781514225e-05f, 3.633519918e-05f, 3.485528195e-05f, 3.337539311e-05f, 3.189553523e-05f, 3.041571085e-05f, 2.893592254e-05f, 2.745617285e-05f, 2.597646434e-05f,
+2.449679956e-05f, 2.301718107e-05f, 2.153761142e-05f, 2.005809317e-05f, 1.857862887e-05f, 1.709922107e-05f, 1.561987234e-05f, 1.414058522e-05f, 1.266136227e-05f, 1.118220604e-05f,
+9.703119091e-06f, 8.224103965e-06f, 6.745163218e-06f, 5.266299403e-06f, 3.787515073e-06f, 2.308812778e-06f, 8.301950700e-07f, -6.483354998e-07f, -2.126776381e-06f, -3.605125023e-06f,
+-5.083378875e-06f, -6.561535388e-06f, -8.039592013e-06f, -9.517546200e-06f, -1.099539540e-05f, -1.247313706e-05f, -1.395076865e-05f, -1.542828760e-05f, -1.690569137e-05f, -1.838297741e-05f,
+-1.986014319e-05f, -2.133718614e-05f, -2.281410373e-05f, -2.429089341e-05f, -2.576755263e-05f, -2.724407885e-05f, -2.872046953e-05f, -3.019672212e-05f, -3.167283407e-05f, -3.314880284e-05f,
+-3.462462590e-05f, -3.610030070e-05f, -3.757582469e-05f, -3.905119533e-05f, -4.052641009e-05f, -4.200146641e-05f, -4.347636177e-05f, -4.495109362e-05f, -4.642565942e-05f, -4.790005664e-05f,
+-4.937428273e-05f, -5.084833515e-05f, -5.232221137e-05f, -5.379590885e-05f, -5.526942505e-05f, -5.674275744e-05f, -5.821590348e-05f, -5.968886064e-05f, -6.116162638e-05f, -6.263419816e-05f,
+-6.410657345e-05f, -6.557874972e-05f, -6.705072444e-05f, -6.852249507e-05f, -6.999405908e-05f, -7.146541394e-05f, -7.293655711e-05f, -7.440748608e-05f, -7.587819830e-05f, -7.734869125e-05f,
+-7.881896240e-05f, -8.028900921e-05f, -8.175882917e-05f, -8.322841975e-05f, -8.469777842e-05f, -8.616690264e-05f, -8.763578991e-05f, -8.910443768e-05f, -9.057284344e-05f, -9.204100467e-05f,
+-9.350891883e-05f, -9.497658341e-05f, -9.644399589e-05f, -9.791115374e-05f, -9.937805444e-05f, -1.008446955e-04f, -1.023110743e-04f, -1.037771884e-04f, -1.052430354e-04f, -1.067086125e-04f,
+-1.081739174e-04f, -1.096389476e-04f, -1.111037004e-04f, -1.125681734e-04f, -1.140323641e-04f, -1.154962699e-04f, -1.169598884e-04f, -1.184232171e-04f, -1.198862533e-04f, -1.213489947e-04f,
+-1.228114387e-04f, -1.242735827e-04f, -1.257354244e-04f, -1.271969611e-04f, -1.286581903e-04f, -1.301191096e-04f, -1.315797165e-04f, -1.330400084e-04f, -1.344999829e-04f, -1.359596373e-04f,
+-1.374189693e-04f, -1.388779763e-04f, -1.403366559e-04f, -1.417950054e-04f, -1.432530225e-04f, -1.447107046e-04f, -1.461680492e-04f, -1.476250538e-04f, -1.490817160e-04f, -1.505380331e-04f,
+-1.519940028e-04f, -1.534496225e-04f, -1.549048898e-04f, -1.563598021e-04f, -1.578143569e-04f, -1.592685518e-04f, -1.607223842e-04f, -1.621758517e-04f, -1.636289518e-04f, -1.650816820e-04f,
+-1.665340397e-04f, -1.679860226e-04f, -1.694376281e-04f, -1.708888537e-04f, -1.723396970e-04f, -1.737901554e-04f, -1.752402266e-04f, -1.766899079e-04f, -1.781391969e-04f, -1.795880911e-04f,
+-1.810365882e-04f, -1.824846854e-04f, -1.839323805e-04f, -1.853796709e-04f, -1.868265541e-04f, -1.882730276e-04f, -1.897190891e-04f, -1.911647359e-04f, -1.926099657e-04f, -1.940547759e-04f,
+-1.954991642e-04f, -1.969431279e-04f, -1.983866647e-04f, -1.998297720e-04f, -2.012724475e-04f, -2.027146886e-04f, -2.041564928e-04f, -2.055978578e-04f, -2.070387810e-04f, -2.084792600e-04f,
+-2.099192923e-04f, -2.113588754e-04f, -2.127980069e-04f, -2.142366843e-04f, -2.156749052e-04f, -2.171126671e-04f, -2.185499676e-04f, -2.199868041e-04f, -2.214231743e-04f, -2.228590756e-04f,
+-2.242945057e-04f, -2.257294621e-04f, -2.271639422e-04f, -2.285979437e-04f, -2.300314642e-04f, -2.314645011e-04f, -2.328970521e-04f, -2.343291146e-04f, -2.357606862e-04f, -2.371917645e-04f,
+-2.386223471e-04f, -2.400524314e-04f, -2.414820151e-04f, -2.429110957e-04f, -2.443396708e-04f, -2.457677379e-04f, -2.471952946e-04f, -2.486223384e-04f, -2.500488670e-04f, -2.514748778e-04f,
+-2.529003685e-04f, -2.543253366e-04f, -2.557497797e-04f, -2.571736954e-04f, -2.585970811e-04f, -2.600199346e-04f, -2.614422533e-04f, -2.628640349e-04f, -2.642852769e-04f, -2.657059768e-04f,
+-2.671261324e-04f, -2.685457411e-04f, -2.699648005e-04f, -2.713833082e-04f, -2.728012617e-04f, -2.742186588e-04f, -2.756354969e-04f, -2.770517736e-04f, -2.784674865e-04f, -2.798826333e-04f,
+-2.812972114e-04f, -2.827112185e-04f, -2.841246522e-04f, -2.855375100e-04f, -2.869497896e-04f, -2.883614885e-04f, -2.897726044e-04f, -2.911831348e-04f, -2.925930774e-04f, -2.940024296e-04f,
+-2.954111892e-04f, -2.968193538e-04f, -2.982269208e-04f, -2.996338880e-04f, -3.010402529e-04f, -3.024460132e-04f, -3.038511664e-04f, -3.052557102e-04f, -3.066596421e-04f, -3.080629598e-04f,
+-3.094656609e-04f, -3.108677430e-04f, -3.122692037e-04f, -3.136700406e-04f, -3.150702514e-04f, -3.164698336e-04f, -3.178687849e-04f, -3.192671028e-04f, -3.206647851e-04f, -3.220618294e-04f,
+-3.234582331e-04f, -3.248539941e-04f, -3.262491099e-04f, -3.276435781e-04f, -3.290373964e-04f, -3.304305624e-04f, -3.318230737e-04f, -3.332149279e-04f, -3.346061228e-04f, -3.359966559e-04f,
+-3.373865248e-04f, -3.387757272e-04f, -3.401642608e-04f, -3.415521231e-04f, -3.429393119e-04f, -3.443258247e-04f, -3.457116592e-04f, -3.470968131e-04f, -3.484812840e-04f, -3.498650695e-04f,
+-3.512481673e-04f, -3.526305750e-04f, -3.540122903e-04f, -3.553933109e-04f, -3.567736344e-04f, -3.581532584e-04f, -3.595321806e-04f, -3.609103987e-04f, -3.622879104e-04f, -3.636647132e-04f,
+-3.650408049e-04f, -3.664161831e-04f, -3.677908454e-04f, -3.691647897e-04f, -3.705380134e-04f, -3.719105143e-04f, -3.732822901e-04f, -3.746533384e-04f, -3.760236570e-04f, -3.773932434e-04f,
+-3.787620953e-04f, -3.801302105e-04f, -3.814975866e-04f, -3.828642212e-04f, -3.842301122e-04f, -3.855952571e-04f, -3.869596536e-04f, -3.883232995e-04f, -3.896861924e-04f, -3.910483300e-04f,
+-3.924097100e-04f, -3.937703301e-04f, -3.951301879e-04f, -3.964892812e-04f, -3.978476077e-04f, -3.992051651e-04f, -4.005619510e-04f, -4.019179632e-04f, -4.032731994e-04f, -4.046276572e-04f,
+-4.059813344e-04f, -4.073342287e-04f, -4.086863379e-04f, -4.100376595e-04f, -4.113881913e-04f, -4.127379310e-04f, -4.140868764e-04f, -4.154350252e-04f, -4.167823750e-04f, -4.181289236e-04f,
+-4.194746687e-04f, -4.208196081e-04f, -4.221637394e-04f, -4.235070605e-04f, -4.248495689e-04f, -4.261912624e-04f, -4.275321389e-04f, -4.288721959e-04f, -4.302114312e-04f, -4.315498427e-04f,
+-4.328874279e-04f, -4.342241846e-04f, -4.355601107e-04f, -4.368952037e-04f, -4.382294616e-04f, -4.395628819e-04f, -4.408954624e-04f, -4.422272010e-04f, -4.435580953e-04f, -4.448881431e-04f,
+-4.462173421e-04f, -4.475456902e-04f, -4.488731850e-04f, -4.501998243e-04f, -4.515256058e-04f, -4.528505274e-04f, -4.541745868e-04f, -4.554977817e-04f, -4.568201100e-04f, -4.581415693e-04f,
+-4.594621574e-04f, -4.607818722e-04f, -4.621007114e-04f, -4.634186727e-04f, -4.647357540e-04f, -4.660519530e-04f, -4.673672675e-04f, -4.686816952e-04f, -4.699952340e-04f, -4.713078816e-04f,
+-4.726196358e-04f, -4.739304945e-04f, -4.752404553e-04f, -4.765495161e-04f, -4.778576747e-04f, -4.791649288e-04f, -4.804712763e-04f, -4.817767149e-04f, -4.830812425e-04f, -4.843848569e-04f,
+-4.856875558e-04f, -4.869893370e-04f, -4.882901984e-04f, -4.895901378e-04f, -4.908891529e-04f, -4.921872417e-04f, -4.934844018e-04f, -4.947806311e-04f, -4.960759275e-04f, -4.973702887e-04f,
+-4.986637125e-04f, -4.999561968e-04f, -5.012477395e-04f, -5.025383382e-04f, -5.038279909e-04f, -5.051166954e-04f, -5.064044495e-04f, -5.076912510e-04f, -5.089770978e-04f, -5.102619877e-04f,
+-5.115459185e-04f, -5.128288881e-04f, -5.141108944e-04f, -5.153919351e-04f, -5.166720081e-04f, -5.179511112e-04f, -5.192292423e-04f, -5.205063993e-04f, -5.217825800e-04f, -5.230577822e-04f,
+-5.243320038e-04f, -5.256052427e-04f, -5.268774967e-04f, -5.281487636e-04f, -5.294190414e-04f, -5.306883280e-04f, -5.319566210e-04f, -5.332239185e-04f, -5.344902183e-04f, -5.357555183e-04f,
+-5.370198163e-04f, -5.382831102e-04f, -5.395453980e-04f, -5.408066774e-04f, -5.420669463e-04f, -5.433262027e-04f, -5.445844444e-04f, -5.458416693e-04f, -5.470978753e-04f, -5.483530603e-04f,
+-5.496072222e-04f, -5.508603588e-04f, -5.521124681e-04f, -5.533635479e-04f, -5.546135962e-04f, -5.558626109e-04f, -5.571105898e-04f, -5.583575309e-04f, -5.596034321e-04f, -5.608482912e-04f,
+-5.620921063e-04f, -5.633348751e-04f, -5.645765957e-04f, -5.658172659e-04f, -5.670568836e-04f, -5.682954468e-04f, -5.695329535e-04f, -5.707694014e-04f, -5.720047886e-04f, -5.732391130e-04f,
+-5.744723724e-04f, -5.757045649e-04f, -5.769356884e-04f, -5.781657408e-04f, -5.793947200e-04f, -5.806226240e-04f, -5.818494507e-04f, -5.830751981e-04f, -5.842998641e-04f, -5.855234467e-04f,
+-5.867459438e-04f, -5.879673534e-04f, -5.891876733e-04f, -5.904069017e-04f, -5.916250363e-04f, -5.928420753e-04f, -5.940580165e-04f, -5.952728580e-04f, -5.964865976e-04f, -5.976992334e-04f,
+-5.989107633e-04f, -6.001211852e-04f, -6.013304973e-04f, -6.025386974e-04f, -6.037457835e-04f, -6.049517536e-04f, -6.061566057e-04f, -6.073603378e-04f, -6.085629478e-04f, -6.097644338e-04f,
+-6.109647937e-04f, -6.121640255e-04f, -6.133621272e-04f, -6.145590969e-04f, -6.157549325e-04f, -6.169496320e-04f, -6.181431934e-04f, -6.193356147e-04f, -6.205268940e-04f, -6.217170292e-04f,
+-6.229060183e-04f, -6.240938594e-04f, -6.252805505e-04f, -6.264660896e-04f, -6.276504748e-04f, -6.288337039e-04f, -6.300157751e-04f, -6.311966864e-04f, -6.323764358e-04f, -6.335550214e-04f,
+-6.347324412e-04f, -6.359086931e-04f, -6.370837753e-04f, -6.382576859e-04f, -6.394304227e-04f, -6.406019839e-04f, -6.417723675e-04f, -6.429415716e-04f, -6.441095942e-04f, -6.452764334e-04f,
+-6.464420872e-04f, -6.476065537e-04f, -6.487698309e-04f, -6.499319169e-04f, -6.510928098e-04f, -6.522525076e-04f, -6.534110084e-04f, -6.545683102e-04f, -6.557244112e-04f, -6.568793094e-04f,
+-6.580330029e-04f, -6.591854897e-04f, -6.603367679e-04f, -6.614868357e-04f, -6.626356911e-04f, -6.637833322e-04f, -6.649297570e-04f, -6.660749638e-04f, -6.672189505e-04f, -6.683617152e-04f,
+-6.695032562e-04f, -6.706435713e-04f, -6.717826589e-04f, -6.729205169e-04f, -6.740571435e-04f, -6.751925367e-04f, -6.763266948e-04f, -6.774596157e-04f, -6.785912977e-04f, -6.797217388e-04f,
+-6.808509372e-04f, -6.819788910e-04f, -6.831055983e-04f, -6.842310572e-04f, -6.853552658e-04f, -6.864782224e-04f, -6.875999250e-04f, -6.887203718e-04f, -6.898395608e-04f, -6.909574904e-04f,
+-6.920741585e-04f, -6.931895633e-04f, -6.943037030e-04f, -6.954165758e-04f, -6.965281797e-04f, -6.976385130e-04f, -6.987475737e-04f, -6.998553602e-04f, -7.009618704e-04f, -7.020671026e-04f,
+-7.031710550e-04f, -7.042737256e-04f, -7.053751128e-04f, -7.064752146e-04f, -7.075740293e-04f, -7.086715549e-04f, -7.097677898e-04f, -7.108627320e-04f, -7.119563798e-04f, -7.130487313e-04f,
+-7.141397848e-04f, -7.152295383e-04f, -7.163179903e-04f, -7.174051387e-04f, -7.184909818e-04f, -7.195755179e-04f, -7.206587451e-04f, -7.217406616e-04f, -7.228212656e-04f, -7.239005554e-04f,
+-7.249785291e-04f, -7.260551850e-04f, -7.271305214e-04f, -7.282045363e-04f, -7.292772280e-04f, -7.303485949e-04f, -7.314186350e-04f, -7.324873466e-04f, -7.335547280e-04f, -7.346207773e-04f,
+-7.356854929e-04f, -7.367488730e-04f, -7.378109157e-04f, -7.388716194e-04f, -7.399309823e-04f, -7.409890026e-04f, -7.420456786e-04f, -7.431010086e-04f, -7.441549908e-04f, -7.452076235e-04f,
+-7.462589048e-04f, -7.473088332e-04f, -7.483574068e-04f, -7.494046240e-04f, -7.504504829e-04f, -7.514949819e-04f, -7.525381193e-04f, -7.535798932e-04f, -7.546203021e-04f, -7.556593442e-04f,
+-7.566970177e-04f, -7.577333210e-04f, -7.587682524e-04f, -7.598018101e-04f, -7.608339924e-04f, -7.618647977e-04f, -7.628942243e-04f, -7.639222703e-04f, -7.649489343e-04f, -7.659742143e-04f,
+-7.669981089e-04f, -7.680206162e-04f, -7.690417347e-04f, -7.700614625e-04f, -7.710797981e-04f, -7.720967397e-04f, -7.731122858e-04f, -7.741264345e-04f, -7.751391843e-04f, -7.761505334e-04f,
+-7.771604803e-04f, -7.781690233e-04f, -7.791761606e-04f, -7.801818906e-04f, -7.811862118e-04f, -7.821891224e-04f, -7.831906207e-04f, -7.841907052e-04f, -7.851893742e-04f, -7.861866260e-04f,
+-7.871824591e-04f, -7.881768717e-04f, -7.891698622e-04f, -7.901614291e-04f, -7.911515706e-04f, -7.921402852e-04f, -7.931275713e-04f, -7.941134271e-04f, -7.950978511e-04f, -7.960808418e-04f,
+-7.970623973e-04f, -7.980425163e-04f, -7.990211969e-04f, -7.999984377e-04f, -8.009742371e-04f, -8.019485934e-04f, -8.029215050e-04f, -8.038929704e-04f, -8.048629879e-04f, -8.058315560e-04f,
+-8.067986730e-04f, -8.077643374e-04f, -8.087285477e-04f, -8.096913021e-04f, -8.106525993e-04f, -8.116124375e-04f, -8.125708152e-04f, -8.135277308e-04f, -8.144831828e-04f, -8.154371696e-04f,
+-8.163896897e-04f, -8.173407414e-04f, -8.182903233e-04f, -8.192384337e-04f, -8.201850712e-04f, -8.211302341e-04f, -8.220739210e-04f, -8.230161303e-04f, -8.239568604e-04f, -8.248961098e-04f,
+-8.258338770e-04f, -8.267701605e-04f, -8.277049587e-04f, -8.286382700e-04f, -8.295700930e-04f, -8.305004262e-04f, -8.314292680e-04f, -8.323566169e-04f, -8.332824714e-04f, -8.342068300e-04f,
+-8.351296911e-04f, -8.360510534e-04f, -8.369709152e-04f, -8.378892750e-04f, -8.388061314e-04f, -8.397214830e-04f, -8.406353281e-04f, -8.415476652e-04f, -8.424584930e-04f, -8.433678100e-04f,
+-8.442756145e-04f, -8.451819053e-04f, -8.460866807e-04f, -8.469899393e-04f, -8.478916797e-04f, -8.487919004e-04f, -8.496905998e-04f, -8.505877766e-04f, -8.514834294e-04f, -8.523775565e-04f,
+-8.532701566e-04f, -8.541612283e-04f, -8.550507700e-04f, -8.559387804e-04f, -8.568252580e-04f, -8.577102013e-04f, -8.585936089e-04f, -8.594754795e-04f, -8.603558114e-04f, -8.612346034e-04f,
+-8.621118540e-04f, -8.629875617e-04f, -8.638617252e-04f, -8.647343430e-04f, -8.656054137e-04f, -8.664749359e-04f, -8.673429082e-04f, -8.682093292e-04f, -8.690741975e-04f, -8.699375116e-04f,
+-8.707992702e-04f, -8.716594719e-04f, -8.725181153e-04f, -8.733751990e-04f, -8.742307216e-04f, -8.750846817e-04f, -8.759370779e-04f, -8.767879089e-04f, -8.776371733e-04f, -8.784848697e-04f,
+-8.793309968e-04f, -8.801755531e-04f, -8.810185373e-04f, -8.818599481e-04f, -8.826997840e-04f, -8.835380438e-04f, -8.843747260e-04f, -8.852098294e-04f, -8.860433525e-04f, -8.868752940e-04f,
+-8.877056527e-04f, -8.885344270e-04f, -8.893616158e-04f, -8.901872176e-04f, -8.910112312e-04f, -8.918336552e-04f, -8.926544883e-04f, -8.934737291e-04f, -8.942913764e-04f, -8.951074287e-04f,
+-8.959218849e-04f, -8.967347436e-04f, -8.975460035e-04f, -8.983556632e-04f, -8.991637215e-04f, -8.999701771e-04f, -9.007750287e-04f, -9.015782749e-04f, -9.023799145e-04f, -9.031799463e-04f,
+-9.039783688e-04f, -9.047751809e-04f, -9.055703812e-04f, -9.063639685e-04f, -9.071559414e-04f, -9.079462989e-04f, -9.087350394e-04f, -9.095221619e-04f, -9.103076649e-04f, -9.110915474e-04f,
+-9.118738079e-04f, -9.126544453e-04f, -9.134334583e-04f, -9.142108457e-04f, -9.149866061e-04f, -9.157607384e-04f, -9.165332414e-04f, -9.173041137e-04f, -9.180733541e-04f, -9.188409615e-04f,
+-9.196069346e-04f, -9.203712721e-04f, -9.211339729e-04f, -9.218950357e-04f, -9.226544593e-04f, -9.234122424e-04f, -9.241683840e-04f, -9.249228827e-04f, -9.256757374e-04f, -9.264269468e-04f,
+-9.271765098e-04f, -9.279244252e-04f, -9.286706917e-04f, -9.294153083e-04f, -9.301582736e-04f, -9.308995865e-04f, -9.316392458e-04f, -9.323772504e-04f, -9.331135990e-04f, -9.338482906e-04f,
+-9.345813238e-04f, -9.353126976e-04f, -9.360424108e-04f, -9.367704623e-04f, -9.374968508e-04f, -9.382215752e-04f, -9.389446344e-04f, -9.396660272e-04f, -9.403857524e-04f, -9.411038090e-04f,
+-9.418201958e-04f, -9.425349116e-04f, -9.432479553e-04f, -9.439593258e-04f, -9.446690219e-04f, -9.453770426e-04f, -9.460833867e-04f, -9.467880530e-04f, -9.474910405e-04f, -9.481923480e-04f,
+-9.488919745e-04f, -9.495899188e-04f, -9.502861798e-04f, -9.509807564e-04f, -9.516736476e-04f, -9.523648521e-04f, -9.530543690e-04f, -9.537421972e-04f, -9.544283355e-04f, -9.551127828e-04f,
+-9.557955382e-04f, -9.564766004e-04f, -9.571559685e-04f, -9.578336413e-04f, -9.585096178e-04f, -9.591838969e-04f, -9.598564776e-04f, -9.605273588e-04f, -9.611965395e-04f, -9.618640185e-04f,
+-9.625297948e-04f, -9.631938675e-04f, -9.638562353e-04f, -9.645168974e-04f, -9.651758526e-04f, -9.658331000e-04f, -9.664886384e-04f, -9.671424669e-04f, -9.677945844e-04f, -9.684449899e-04f,
+-9.690936825e-04f, -9.697406609e-04f, -9.703859243e-04f, -9.710294717e-04f, -9.716713020e-04f, -9.723114142e-04f, -9.729498073e-04f, -9.735864804e-04f, -9.742214323e-04f, -9.748546622e-04f,
+-9.754861691e-04f, -9.761159518e-04f, -9.767440096e-04f, -9.773703413e-04f, -9.779949460e-04f, -9.786178227e-04f, -9.792389705e-04f, -9.798583884e-04f, -9.804760754e-04f, -9.810920306e-04f,
+-9.817062529e-04f, -9.823187415e-04f, -9.829294953e-04f, -9.835385135e-04f, -9.841457951e-04f, -9.847513391e-04f, -9.853551446e-04f, -9.859572106e-04f, -9.865575363e-04f, -9.871561206e-04f,
+-9.877529627e-04f, -9.883480616e-04f, -9.889414165e-04f, -9.895330263e-04f, -9.901228902e-04f, -9.907110072e-04f, -9.912973764e-04f, -9.918819970e-04f, -9.924648680e-04f, -9.930459886e-04f,
+-9.936253577e-04f, -9.942029746e-04f, -9.947788383e-04f, -9.953529480e-04f, -9.959253027e-04f, -9.964959016e-04f, -9.970647437e-04f, -9.976318283e-04f, -9.981971544e-04f, -9.987607212e-04f,
+-9.993225278e-04f, -9.998825733e-04f, -1.000440857e-03f, -1.000997378e-03f, -1.001552135e-03f, -1.002105128e-03f, -1.002656355e-03f, -1.003205816e-03f, -1.003753510e-03f, -1.004299436e-03f,
+-1.004843594e-03f, -1.005385982e-03f, -1.005926599e-03f, -1.006465446e-03f, -1.007002520e-03f, -1.007537821e-03f, -1.008071349e-03f, -1.008603103e-03f, -1.009133081e-03f, -1.009661282e-03f,
+-1.010187707e-03f, -1.010712355e-03f, -1.011235223e-03f, -1.011756313e-03f, -1.012275622e-03f, -1.012793150e-03f, -1.013308897e-03f, -1.013822861e-03f, -1.014335042e-03f, -1.014845439e-03f,
+-1.015354051e-03f, -1.015860878e-03f, -1.016365918e-03f, -1.016869171e-03f, -1.017370636e-03f, -1.017870313e-03f, -1.018368200e-03f, -1.018864297e-03f, -1.019358603e-03f, -1.019851118e-03f,
+-1.020341840e-03f, -1.020830769e-03f, -1.021317904e-03f, -1.021803245e-03f, -1.022286790e-03f, -1.022768539e-03f, -1.023248491e-03f, -1.023726646e-03f, -1.024203003e-03f, -1.024677560e-03f,
+-1.025150318e-03f, -1.025621276e-03f, -1.026090433e-03f, -1.026557788e-03f, -1.027023340e-03f, -1.027487089e-03f, -1.027949035e-03f, -1.028409175e-03f, -1.028867511e-03f, -1.029324041e-03f,
+-1.029778764e-03f, -1.030231679e-03f, -1.030682787e-03f, -1.031132086e-03f, -1.031579576e-03f, -1.032025256e-03f, -1.032469126e-03f, -1.032911184e-03f, -1.033351430e-03f, -1.033789864e-03f,
+-1.034226484e-03f, -1.034661290e-03f, -1.035094282e-03f, -1.035525459e-03f, -1.035954820e-03f, -1.036382365e-03f, -1.036808092e-03f, -1.037232002e-03f, -1.037654094e-03f, -1.038074366e-03f,
+-1.038492819e-03f, -1.038909452e-03f, -1.039324264e-03f, -1.039737255e-03f, -1.040148424e-03f, -1.040557770e-03f, -1.040965293e-03f, -1.041370993e-03f, -1.041774868e-03f, -1.042176917e-03f,
+-1.042577142e-03f, -1.042975540e-03f, -1.043372112e-03f, -1.043766856e-03f, -1.044159773e-03f, -1.044550861e-03f, -1.044940120e-03f, -1.045327549e-03f, -1.045713149e-03f, -1.046096917e-03f,
+-1.046478855e-03f, -1.046858961e-03f, -1.047237234e-03f, -1.047613675e-03f, -1.047988282e-03f, -1.048361055e-03f, -1.048731994e-03f, -1.049101098e-03f, -1.049468366e-03f, -1.049833799e-03f,
+-1.050197394e-03f, -1.050559153e-03f, -1.050919074e-03f, -1.051277157e-03f, -1.051633401e-03f, -1.051987806e-03f, -1.052340371e-03f, -1.052691097e-03f, -1.053039982e-03f, -1.053387025e-03f,
+-1.053732227e-03f, -1.054075587e-03f, -1.054417104e-03f, -1.054756779e-03f, -1.055094609e-03f, -1.055430596e-03f, -1.055764738e-03f, -1.056097036e-03f, -1.056427488e-03f, -1.056756094e-03f,
+-1.057082854e-03f, -1.057407766e-03f, -1.057730832e-03f, -1.058052050e-03f, -1.058371420e-03f, -1.058688942e-03f, -1.059004614e-03f, -1.059318437e-03f, -1.059630410e-03f, -1.059940533e-03f,
+-1.060248805e-03f, -1.060555226e-03f, -1.060859795e-03f, -1.061162513e-03f, -1.061463378e-03f, -1.061762390e-03f, -1.062059549e-03f, -1.062354855e-03f, -1.062648306e-03f, -1.062939903e-03f,
+-1.063229646e-03f, -1.063517533e-03f, -1.063803564e-03f, -1.064087740e-03f, -1.064370059e-03f, -1.064650522e-03f, -1.064929128e-03f, -1.065205876e-03f, -1.065480766e-03f, -1.065753798e-03f,
+-1.066024972e-03f, -1.066294286e-03f, -1.066561742e-03f, -1.066827338e-03f, -1.067091074e-03f, -1.067352949e-03f, -1.067612964e-03f, -1.067871119e-03f, -1.068127411e-03f, -1.068381842e-03f,
+-1.068634412e-03f, -1.068885119e-03f, -1.069133963e-03f, -1.069380944e-03f, -1.069626063e-03f, -1.069869317e-03f, -1.070110708e-03f, -1.070350235e-03f, -1.070587897e-03f, -1.070823694e-03f,
+-1.071057626e-03f, -1.071289693e-03f, -1.071519895e-03f, -1.071748230e-03f, -1.071974700e-03f, -1.072199302e-03f, -1.072422038e-03f, -1.072642907e-03f, -1.072861909e-03f, -1.073079043e-03f,
+-1.073294309e-03f, -1.073507708e-03f, -1.073719238e-03f, -1.073928899e-03f, -1.074136691e-03f, -1.074342615e-03f, -1.074546668e-03f, -1.074748853e-03f, -1.074949167e-03f, -1.075147612e-03f,
+-1.075344186e-03f, -1.075538890e-03f, -1.075731723e-03f, -1.075922685e-03f, -1.076111776e-03f, -1.076298996e-03f, -1.076484344e-03f, -1.076667820e-03f, -1.076849424e-03f, -1.077029156e-03f,
+-1.077207015e-03f, -1.077383002e-03f, -1.077557116e-03f, -1.077729357e-03f, -1.077899725e-03f, -1.078068220e-03f, -1.078234841e-03f, -1.078399588e-03f, -1.078562462e-03f, -1.078723462e-03f,
+-1.078882587e-03f, -1.079039838e-03f, -1.079195214e-03f, -1.079348716e-03f, -1.079500343e-03f, -1.079650095e-03f, -1.079797971e-03f, -1.079943973e-03f, -1.080088099e-03f, -1.080230349e-03f,
+-1.080370724e-03f, -1.080509223e-03f, -1.080645846e-03f, -1.080780593e-03f, -1.080913464e-03f, -1.081044459e-03f, -1.081173577e-03f, -1.081300819e-03f, -1.081426184e-03f, -1.081549672e-03f,
+-1.081671283e-03f, -1.081791018e-03f, -1.081908875e-03f, -1.082024856e-03f, -1.082138959e-03f, -1.082251185e-03f, -1.082361533e-03f, -1.082470004e-03f, -1.082576598e-03f, -1.082681314e-03f,
+-1.082784152e-03f, -1.082885113e-03f, -1.082984195e-03f, -1.083081400e-03f, -1.083176727e-03f, -1.083270177e-03f, -1.083361748e-03f, -1.083451441e-03f, -1.083539256e-03f, -1.083625193e-03f,
+-1.083709251e-03f, -1.083791432e-03f, -1.083871734e-03f, -1.083950158e-03f, -1.084026704e-03f, -1.084101371e-03f, -1.084174161e-03f, -1.084245071e-03f, -1.084314104e-03f, -1.084381258e-03f,
+-1.084446534e-03f, -1.084509932e-03f, -1.084571451e-03f, -1.084631092e-03f, -1.084688854e-03f, -1.084744739e-03f, -1.084798744e-03f, -1.084850872e-03f, -1.084901122e-03f, -1.084949493e-03f,
+-1.084995986e-03f, -1.085040601e-03f, -1.085083338e-03f, -1.085124197e-03f, -1.085163177e-03f, -1.085200280e-03f, -1.085235505e-03f, -1.085268852e-03f, -1.085300321e-03f, -1.085329912e-03f,
+-1.085357625e-03f, -1.085383461e-03f, -1.085407420e-03f, -1.085429501e-03f, -1.085449704e-03f, -1.085468030e-03f, -1.085484479e-03f, -1.085499050e-03f, -1.085511745e-03f, -1.085522562e-03f,
+-1.085531503e-03f, -1.085538567e-03f, -1.085543754e-03f, -1.085547064e-03f, -1.085548498e-03f, -1.085548056e-03f, -1.085545737e-03f, -1.085541542e-03f, -1.085535471e-03f, -1.085527524e-03f,
+-1.085517702e-03f, -1.085506003e-03f, -1.085492429e-03f, -1.085476980e-03f, -1.085459656e-03f, -1.085440456e-03f, -1.085419381e-03f, -1.085396432e-03f, -1.085371608e-03f, -1.085344909e-03f,
+-1.085316337e-03f, -1.085285890e-03f, -1.085253568e-03f, -1.085219373e-03f, -1.085183305e-03f, -1.085145363e-03f, -1.085105547e-03f, -1.085063859e-03f, -1.085020297e-03f, -1.084974863e-03f,
+-1.084927556e-03f, -1.084878377e-03f, -1.084827325e-03f, -1.084774402e-03f, -1.084719607e-03f, -1.084662940e-03f, -1.084604402e-03f, -1.084543992e-03f, -1.084481712e-03f, -1.084417561e-03f,
+-1.084351540e-03f, -1.084283648e-03f, -1.084213886e-03f, -1.084142255e-03f, -1.084068754e-03f, -1.083993383e-03f, -1.083916144e-03f, -1.083837035e-03f, -1.083756059e-03f, -1.083673213e-03f,
+-1.083588500e-03f, -1.083501919e-03f, -1.083413470e-03f, -1.083323154e-03f, -1.083230971e-03f, -1.083136922e-03f, -1.083041005e-03f, -1.082943223e-03f, -1.082843575e-03f, -1.082742061e-03f,
+-1.082638682e-03f, -1.082533437e-03f, -1.082426328e-03f, -1.082317355e-03f, -1.082206517e-03f, -1.082093816e-03f, -1.081979251e-03f, -1.081862822e-03f, -1.081744531e-03f, -1.081624377e-03f,
+-1.081502361e-03f, -1.081378483e-03f, -1.081252744e-03f, -1.081125143e-03f, -1.080995681e-03f, -1.080864358e-03f, -1.080731175e-03f, -1.080596132e-03f, -1.080459230e-03f, -1.080320468e-03f,
+-1.080179847e-03f, -1.080037368e-03f, -1.079893031e-03f, -1.079746836e-03f, -1.079598783e-03f, -1.079448873e-03f, -1.079297107e-03f, -1.079143484e-03f, -1.078988005e-03f, -1.078830671e-03f,
+-1.078671481e-03f, -1.078510437e-03f, -1.078347538e-03f, -1.078182785e-03f, -1.078016178e-03f, -1.077847718e-03f, -1.077677406e-03f, -1.077505241e-03f, -1.077331224e-03f, -1.077155355e-03f,
+-1.076977635e-03f, -1.076798064e-03f, -1.076616643e-03f, -1.076433372e-03f, -1.076248252e-03f, -1.076061282e-03f, -1.075872464e-03f, -1.075681797e-03f, -1.075489283e-03f, -1.075294922e-03f,
+-1.075098713e-03f, -1.074900658e-03f, -1.074700758e-03f, -1.074499011e-03f, -1.074295420e-03f, -1.074089984e-03f, -1.073882704e-03f, -1.073673581e-03f, -1.073462614e-03f, -1.073249804e-03f,
+-1.073035152e-03f, -1.072818659e-03f, -1.072600324e-03f, -1.072380149e-03f, -1.072158133e-03f, -1.071934277e-03f, -1.071708583e-03f, -1.071481049e-03f, -1.071251677e-03f, -1.071020467e-03f,
+-1.070787420e-03f, -1.070552537e-03f, -1.070315817e-03f, -1.070077261e-03f, -1.069836871e-03f, -1.069594645e-03f, -1.069350585e-03f, -1.069104692e-03f, -1.068856966e-03f, -1.068607407e-03f,
+-1.068356017e-03f, -1.068102794e-03f, -1.067847741e-03f, -1.067590858e-03f, -1.067332145e-03f, -1.067071602e-03f, -1.066809231e-03f, -1.066545032e-03f, -1.066279006e-03f, -1.066011152e-03f,
+-1.065741472e-03f, -1.065469966e-03f, -1.065196635e-03f, -1.064921479e-03f, -1.064644500e-03f, -1.064365696e-03f, -1.064085070e-03f, -1.063802622e-03f, -1.063518352e-03f, -1.063232260e-03f,
+-1.062944349e-03f, -1.062654617e-03f, -1.062363066e-03f, -1.062069697e-03f, -1.061774509e-03f, -1.061477504e-03f, -1.061178682e-03f, -1.060878045e-03f, -1.060575591e-03f, -1.060271323e-03f,
+-1.059965240e-03f, -1.059657344e-03f, -1.059347635e-03f, -1.059036113e-03f, -1.058722780e-03f, -1.058407635e-03f, -1.058090681e-03f, -1.057771916e-03f, -1.057451343e-03f, -1.057128961e-03f,
+-1.056804771e-03f, -1.056478774e-03f, -1.056150971e-03f, -1.055821362e-03f, -1.055489948e-03f, -1.055156730e-03f, -1.054821708e-03f, -1.054484883e-03f, -1.054146256e-03f, -1.053805827e-03f,
+-1.053463597e-03f, -1.053119567e-03f, -1.052773737e-03f, -1.052426109e-03f, -1.052076683e-03f, -1.051725459e-03f, -1.051372438e-03f, -1.051017622e-03f, -1.050661010e-03f, -1.050302604e-03f,
+-1.049942404e-03f, -1.049580411e-03f, -1.049216626e-03f, -1.048851049e-03f, -1.048483681e-03f, -1.048114523e-03f, -1.047743576e-03f, -1.047370841e-03f, -1.046996317e-03f, -1.046620007e-03f,
+-1.046241910e-03f, -1.045862027e-03f, -1.045480360e-03f, -1.045096908e-03f, -1.044711674e-03f, -1.044324657e-03f, -1.043935858e-03f, -1.043545278e-03f, -1.043152918e-03f, -1.042758779e-03f,
+-1.042362861e-03f, -1.041965166e-03f, -1.041565693e-03f, -1.041164444e-03f, -1.040761420e-03f, -1.040356621e-03f, -1.039950049e-03f, -1.039541703e-03f, -1.039131585e-03f, -1.038719696e-03f,
+-1.038306037e-03f, -1.037890608e-03f, -1.037473409e-03f, -1.037054443e-03f, -1.036633710e-03f, -1.036211210e-03f, -1.035786945e-03f, -1.035360915e-03f, -1.034933121e-03f, -1.034503564e-03f,
+-1.034072245e-03f, -1.033639164e-03f, -1.033204324e-03f, -1.032767723e-03f, -1.032329364e-03f, -1.031889247e-03f, -1.031447373e-03f, -1.031003742e-03f, -1.030558357e-03f, -1.030111217e-03f,
+-1.029662324e-03f, -1.029211678e-03f, -1.028759280e-03f, -1.028305131e-03f, -1.027849233e-03f, -1.027391585e-03f, -1.026932189e-03f, -1.026471046e-03f, -1.026008156e-03f, -1.025543521e-03f,
+-1.025077142e-03f, -1.024609018e-03f, -1.024139153e-03f, -1.023667545e-03f, -1.023194196e-03f, -1.022719107e-03f, -1.022242280e-03f, -1.021763714e-03f, -1.021283411e-03f, -1.020801372e-03f,
+-1.020317597e-03f, -1.019832088e-03f, -1.019344846e-03f, -1.018855871e-03f, -1.018365164e-03f, -1.017872727e-03f, -1.017378561e-03f, -1.016882666e-03f, -1.016385043e-03f, -1.015885693e-03f,
+-1.015384617e-03f, -1.014881817e-03f, -1.014377293e-03f, -1.013871046e-03f, -1.013363077e-03f, -1.012853387e-03f, -1.012341978e-03f, -1.011828849e-03f, -1.011314003e-03f, -1.010797439e-03f,
+-1.010279160e-03f, -1.009759166e-03f, -1.009237457e-03f, -1.008714036e-03f, -1.008188903e-03f, -1.007662059e-03f, -1.007133505e-03f, -1.006603242e-03f, -1.006071272e-03f, -1.005537594e-03f,
+-1.005002211e-03f, -1.004465123e-03f, -1.003926331e-03f, -1.003385837e-03f, -1.002843640e-03f, -1.002299743e-03f, -1.001754147e-03f, -1.001206852e-03f, -1.000657859e-03f, -1.000107170e-03f,
+-9.995547861e-04f, -9.990007074e-04f, -9.984449354e-04f, -9.978874712e-04f, -9.973283158e-04f, -9.967674703e-04f, -9.962049359e-04f, -9.956407135e-04f, -9.950748042e-04f, -9.945072092e-04f,
+-9.939379294e-04f, -9.933669661e-04f, -9.927943202e-04f, -9.922199929e-04f, -9.916439853e-04f, -9.910662984e-04f, -9.904869334e-04f, -9.899058913e-04f, -9.893231733e-04f, -9.887387805e-04f,
+-9.881527140e-04f, -9.875649749e-04f, -9.869755643e-04f, -9.863844833e-04f, -9.857917331e-04f, -9.851973148e-04f, -9.846012295e-04f, -9.840034783e-04f, -9.834040625e-04f, -9.828029830e-04f,
+-9.822002411e-04f, -9.815958379e-04f, -9.809897746e-04f, -9.803820522e-04f, -9.797726720e-04f, -9.791616351e-04f, -9.785489426e-04f, -9.779345958e-04f, -9.773185957e-04f, -9.767009436e-04f,
+-9.760816405e-04f, -9.754606878e-04f, -9.748380865e-04f, -9.742138378e-04f, -9.735879429e-04f, -9.729604030e-04f, -9.723312193e-04f, -9.717003929e-04f, -9.710679251e-04f, -9.704338170e-04f,
+-9.697980699e-04f, -9.691606848e-04f, -9.685216632e-04f, -9.678810060e-04f, -9.672387146e-04f, -9.665947901e-04f, -9.659492338e-04f, -9.653020469e-04f, -9.646532306e-04f, -9.640027861e-04f,
+-9.633507146e-04f, -9.626970174e-04f, -9.620416957e-04f, -9.613847507e-04f, -9.607261837e-04f, -9.600659958e-04f, -9.594041884e-04f, -9.587407626e-04f, -9.580757198e-04f, -9.574090611e-04f,
+-9.567407879e-04f, -9.560709013e-04f, -9.553994027e-04f, -9.547262932e-04f, -9.540515741e-04f, -9.533752468e-04f, -9.526973124e-04f, -9.520177723e-04f, -9.513366277e-04f, -9.506538799e-04f,
+-9.499695301e-04f, -9.492835797e-04f, -9.485960299e-04f, -9.479068821e-04f, -9.472161374e-04f, -9.465237972e-04f, -9.458298628e-04f, -9.451343355e-04f, -9.444372165e-04f, -9.437385073e-04f,
+-9.430382090e-04f, -9.423363230e-04f, -9.416328506e-04f, -9.409277931e-04f, -9.402211518e-04f, -9.395129281e-04f, -9.388031232e-04f, -9.380917386e-04f, -9.373787754e-04f, -9.366642351e-04f,
+-9.359481189e-04f, -9.352304282e-04f, -9.345111644e-04f, -9.337903287e-04f, -9.330679226e-04f, -9.323439473e-04f, -9.316184043e-04f, -9.308912947e-04f, -9.301626201e-04f, -9.294323818e-04f,
+-9.287005810e-04f, -9.279672193e-04f, -9.272322979e-04f, -9.264958182e-04f, -9.257577815e-04f, -9.250181893e-04f, -9.242770429e-04f, -9.235343437e-04f, -9.227900931e-04f, -9.220442924e-04f,
+-9.212969430e-04f, -9.205480464e-04f, -9.197976038e-04f, -9.190456168e-04f, -9.182920866e-04f, -9.175370147e-04f, -9.167804025e-04f, -9.160222514e-04f, -9.152625628e-04f, -9.145013380e-04f,
+-9.137385786e-04f, -9.129742859e-04f, -9.122084613e-04f, -9.114411062e-04f, -9.106722221e-04f, -9.099018104e-04f, -9.091298725e-04f, -9.083564098e-04f, -9.075814238e-04f, -9.068049158e-04f,
+-9.060268874e-04f, -9.052473400e-04f, -9.044662750e-04f, -9.036836938e-04f, -9.028995979e-04f, -9.021139887e-04f, -9.013268678e-04f, -9.005382364e-04f, -8.997480962e-04f, -8.989564485e-04f,
+-8.981632948e-04f, -8.973686366e-04f, -8.965724754e-04f, -8.957748125e-04f, -8.949756495e-04f, -8.941749879e-04f, -8.933728290e-04f, -8.925691745e-04f, -8.917640258e-04f, -8.909573843e-04f,
+-8.901492515e-04f, -8.893396290e-04f, -8.885285182e-04f, -8.877159207e-04f, -8.869018378e-04f, -8.860862711e-04f, -8.852692222e-04f, -8.844506924e-04f, -8.836306834e-04f, -8.828091965e-04f,
+-8.819862334e-04f, -8.811617956e-04f, -8.803358844e-04f, -8.795085016e-04f, -8.786796485e-04f, -8.778493268e-04f, -8.770175379e-04f, -8.761842833e-04f, -8.753495647e-04f, -8.745133835e-04f,
+-8.736757412e-04f, -8.728366394e-04f, -8.719960796e-04f, -8.711540634e-04f, -8.703105924e-04f, -8.694656680e-04f, -8.686192918e-04f, -8.677714653e-04f, -8.669221902e-04f, -8.660714679e-04f,
+-8.652193001e-04f, -8.643656883e-04f, -8.635106340e-04f, -8.626541388e-04f, -8.617962043e-04f, -8.609368321e-04f, -8.600760237e-04f, -8.592137807e-04f, -8.583501046e-04f, -8.574849972e-04f,
+-8.566184598e-04f, -8.557504942e-04f, -8.548811019e-04f, -8.540102845e-04f, -8.531380436e-04f, -8.522643808e-04f, -8.513892977e-04f, -8.505127958e-04f, -8.496348769e-04f, -8.487555424e-04f,
+-8.478747940e-04f, -8.469926333e-04f, -8.461090619e-04f, -8.452240814e-04f, -8.443376935e-04f, -8.434498997e-04f, -8.425607017e-04f, -8.416701011e-04f, -8.407780995e-04f, -8.398846986e-04f,
+-8.389898999e-04f, -8.380937051e-04f, -8.371961159e-04f, -8.362971339e-04f, -8.353967607e-04f, -8.344949979e-04f, -8.335918472e-04f, -8.326873103e-04f, -8.317813888e-04f, -8.308740843e-04f,
+-8.299653985e-04f, -8.290553330e-04f, -8.281438895e-04f, -8.272310698e-04f, -8.263168753e-04f, -8.254013078e-04f, -8.244843690e-04f, -8.235660605e-04f, -8.226463840e-04f, -8.217253411e-04f,
+-8.208029336e-04f, -8.198791631e-04f, -8.189540313e-04f, -8.180275399e-04f, -8.170996905e-04f, -8.161704849e-04f, -8.152399247e-04f, -8.143080116e-04f, -8.133747474e-04f, -8.124401337e-04f,
+-8.115041721e-04f, -8.105668645e-04f, -8.096282125e-04f, -8.086882178e-04f, -8.077468822e-04f, -8.068042072e-04f, -8.058601948e-04f, -8.049148464e-04f, -8.039681639e-04f, -8.030201491e-04f,
+-8.020708035e-04f, -8.011201289e-04f, -8.001681271e-04f, -7.992147998e-04f, -7.982601487e-04f, -7.973041755e-04f, -7.963468819e-04f, -7.953882698e-04f, -7.944283408e-04f, -7.934670967e-04f,
+-7.925045392e-04f, -7.915406701e-04f, -7.905754911e-04f, -7.896090039e-04f, -7.886412104e-04f, -7.876721122e-04f, -7.867017111e-04f, -7.857300088e-04f, -7.847570072e-04f, -7.837827080e-04f,
+-7.828071130e-04f, -7.818302238e-04f, -7.808520424e-04f, -7.798725703e-04f, -7.788918096e-04f, -7.779097618e-04f, -7.769264287e-04f, -7.759418122e-04f, -7.749559141e-04f, -7.739687360e-04f,
+-7.729802799e-04f, -7.719905474e-04f, -7.709995404e-04f, -7.700072607e-04f, -7.690137100e-04f, -7.680188901e-04f, -7.670228029e-04f, -7.660254502e-04f, -7.650268336e-04f, -7.640269551e-04f,
+-7.630258165e-04f, -7.620234195e-04f, -7.610197660e-04f, -7.600148577e-04f, -7.590086966e-04f, -7.580012843e-04f, -7.569926228e-04f, -7.559827138e-04f, -7.549715592e-04f, -7.539591607e-04f,
+-7.529455203e-04f, -7.519306397e-04f, -7.509145207e-04f, -7.498971653e-04f, -7.488785752e-04f, -7.478587522e-04f, -7.468376983e-04f, -7.458154152e-04f, -7.447919047e-04f, -7.437671689e-04f,
+-7.427412093e-04f, -7.417140281e-04f, -7.406856268e-04f, -7.396560075e-04f, -7.386251720e-04f, -7.375931221e-04f, -7.365598597e-04f, -7.355253867e-04f, -7.344897048e-04f, -7.334528161e-04f,
+-7.324147222e-04f, -7.313754252e-04f, -7.303349269e-04f, -7.292932291e-04f, -7.282503337e-04f, -7.272062426e-04f, -7.261609577e-04f, -7.251144809e-04f, -7.240668139e-04f, -7.230179588e-04f,
+-7.219679174e-04f, -7.209166916e-04f, -7.198642833e-04f, -7.188106943e-04f, -7.177559266e-04f, -7.166999821e-04f, -7.156428626e-04f, -7.145845700e-04f, -7.135251063e-04f, -7.124644734e-04f,
+-7.114026731e-04f, -7.103397074e-04f, -7.092755782e-04f, -7.082102873e-04f, -7.071438367e-04f, -7.060762284e-04f, -7.050074641e-04f, -7.039375459e-04f, -7.028664757e-04f, -7.017942554e-04f,
+-7.007208868e-04f, -6.996463720e-04f, -6.985707128e-04f, -6.974939113e-04f, -6.964159692e-04f, -6.953368886e-04f, -6.942566713e-04f, -6.931753194e-04f, -6.920928348e-04f, -6.910092193e-04f,
+-6.899244750e-04f, -6.888386038e-04f, -6.877516076e-04f, -6.866634883e-04f, -6.855742480e-04f, -6.844838886e-04f, -6.833924119e-04f, -6.822998201e-04f, -6.812061150e-04f, -6.801112986e-04f,
+-6.790153729e-04f, -6.779183397e-04f, -6.768202012e-04f, -6.757209592e-04f, -6.746206157e-04f, -6.735191727e-04f, -6.724166321e-04f, -6.713129960e-04f, -6.702082663e-04f, -6.691024449e-04f,
+-6.679955339e-04f, -6.668875352e-04f, -6.657784508e-04f, -6.646682828e-04f, -6.635570330e-04f, -6.624447035e-04f, -6.613312962e-04f, -6.602168132e-04f, -6.591012564e-04f, -6.579846278e-04f,
+-6.568669295e-04f, -6.557481634e-04f, -6.546283315e-04f, -6.535074358e-04f, -6.523854784e-04f, -6.512624612e-04f, -6.501383862e-04f, -6.490132554e-04f, -6.478870709e-04f, -6.467598347e-04f,
+-6.456315487e-04f, -6.445022151e-04f, -6.433718357e-04f, -6.422404126e-04f, -6.411079479e-04f, -6.399744435e-04f, -6.388399015e-04f, -6.377043240e-04f, -6.365677128e-04f, -6.354300701e-04f,
+-6.342913979e-04f, -6.331516982e-04f, -6.320109731e-04f, -6.308692245e-04f, -6.297264546e-04f, -6.285826653e-04f, -6.274378588e-04f, -6.262920369e-04f, -6.251452018e-04f, -6.239973556e-04f,
+-6.228485002e-04f, -6.216986378e-04f, -6.205477703e-04f, -6.193958998e-04f, -6.182430284e-04f, -6.170891581e-04f, -6.159342910e-04f, -6.147784291e-04f, -6.136215745e-04f, -6.124637293e-04f,
+-6.113048954e-04f, -6.101450751e-04f, -6.089842702e-04f, -6.078224830e-04f, -6.066597155e-04f, -6.054959697e-04f, -6.043312477e-04f, -6.031655516e-04f, -6.019988835e-04f, -6.008312454e-04f,
+-5.996626394e-04f, -5.984930676e-04f, -5.973225321e-04f, -5.961510349e-04f, -5.949785782e-04f, -5.938051640e-04f, -5.926307944e-04f, -5.914554715e-04f, -5.902791974e-04f, -5.891019741e-04f,
+-5.879238039e-04f, -5.867446887e-04f, -5.855646306e-04f, -5.843836319e-04f, -5.832016944e-04f, -5.820188205e-04f, -5.808350120e-04f, -5.796502713e-04f, -5.784646003e-04f, -5.772780012e-04f,
+-5.760904760e-04f, -5.749020270e-04f, -5.737126561e-04f, -5.725223656e-04f, -5.713311575e-04f, -5.701390339e-04f, -5.689459969e-04f, -5.677520488e-04f, -5.665571915e-04f, -5.653614272e-04f,
+-5.641647581e-04f, -5.629671862e-04f, -5.617687137e-04f, -5.605693428e-04f, -5.593690754e-04f, -5.581679138e-04f, -5.569658601e-04f, -5.557629165e-04f, -5.545590850e-04f, -5.533543678e-04f,
+-5.521487670e-04f, -5.509422848e-04f, -5.497349233e-04f, -5.485266847e-04f, -5.473175710e-04f, -5.461075845e-04f, -5.448967272e-04f, -5.436850014e-04f, -5.424724092e-04f, -5.412589527e-04f,
+-5.400446340e-04f, -5.388294554e-04f, -5.376134189e-04f, -5.363965268e-04f, -5.351787811e-04f, -5.339601841e-04f, -5.327407379e-04f, -5.315204447e-04f, -5.302993066e-04f, -5.290773257e-04f,
+-5.278545043e-04f, -5.266308445e-04f, -5.254063485e-04f, -5.241810184e-04f, -5.229548565e-04f, -5.217278648e-04f, -5.205000456e-04f, -5.192714010e-04f, -5.180419332e-04f, -5.168116444e-04f,
+-5.155805367e-04f, -5.143486124e-04f, -5.131158735e-04f, -5.118823224e-04f, -5.106479611e-04f, -5.094127919e-04f, -5.081768169e-04f, -5.069400384e-04f, -5.057024584e-04f, -5.044640793e-04f,
+-5.032249031e-04f, -5.019849321e-04f, -5.007441685e-04f, -4.995026145e-04f, -4.982602722e-04f, -4.970171438e-04f, -4.957732317e-04f, -4.945285378e-04f, -4.932830645e-04f, -4.920368140e-04f,
+-4.907897883e-04f, -4.895419899e-04f, -4.882934208e-04f, -4.870440832e-04f, -4.857939795e-04f, -4.845431117e-04f, -4.832914820e-04f, -4.820390928e-04f, -4.807859462e-04f, -4.795320443e-04f,
+-4.782773896e-04f, -4.770219840e-04f, -4.757658299e-04f, -4.745089295e-04f, -4.732512850e-04f, -4.719928986e-04f, -4.707337725e-04f, -4.694739090e-04f, -4.682133102e-04f, -4.669519785e-04f,
+-4.656899160e-04f, -4.644271249e-04f, -4.631636075e-04f, -4.618993660e-04f, -4.606344027e-04f, -4.593687197e-04f, -4.581023193e-04f, -4.568352038e-04f, -4.555673753e-04f, -4.542988361e-04f,
+-4.530295884e-04f, -4.517596345e-04f, -4.504889767e-04f, -4.492176170e-04f, -4.479455579e-04f, -4.466728015e-04f, -4.453993501e-04f, -4.441252059e-04f, -4.428503711e-04f, -4.415748481e-04f,
+-4.402986390e-04f, -4.390217461e-04f, -4.377441717e-04f, -4.364659180e-04f, -4.351869872e-04f, -4.339073816e-04f, -4.326271035e-04f, -4.313461551e-04f, -4.300645387e-04f, -4.287822565e-04f,
+-4.274993107e-04f, -4.262157037e-04f, -4.249314377e-04f, -4.236465150e-04f, -4.223609378e-04f, -4.210747083e-04f, -4.197878289e-04f, -4.185003018e-04f, -4.172121293e-04f, -4.159233136e-04f,
+-4.146338570e-04f, -4.133437618e-04f, -4.120530302e-04f, -4.107616645e-04f, -4.094696670e-04f, -4.081770400e-04f, -4.068837857e-04f, -4.055899064e-04f, -4.042954044e-04f, -4.030002819e-04f,
+-4.017045413e-04f, -4.004081847e-04f, -3.991112145e-04f, -3.978136330e-04f, -3.965154425e-04f, -3.952166451e-04f, -3.939172433e-04f, -3.926172393e-04f, -3.913166353e-04f, -3.900154337e-04f,
+-3.887136367e-04f, -3.874112467e-04f, -3.861082658e-04f, -3.848046965e-04f, -3.835005410e-04f, -3.821958015e-04f, -3.808904805e-04f, -3.795845801e-04f, -3.782781026e-04f, -3.769710504e-04f,
+-3.756634258e-04f, -3.743552310e-04f, -3.730464683e-04f, -3.717371401e-04f, -3.704272486e-04f, -3.691167961e-04f, -3.678057850e-04f, -3.664942175e-04f, -3.651820959e-04f, -3.638694225e-04f,
+-3.625561997e-04f, -3.612424298e-04f, -3.599281150e-04f, -3.586132576e-04f, -3.572978600e-04f, -3.559819244e-04f, -3.546654532e-04f, -3.533484487e-04f, -3.520309132e-04f, -3.507128490e-04f,
+-3.493942584e-04f, -3.480751437e-04f, -3.467555072e-04f, -3.454353513e-04f, -3.441146782e-04f, -3.427934904e-04f, -3.414717900e-04f, -3.401495794e-04f, -3.388268609e-04f, -3.375036368e-04f,
+-3.361799096e-04f, -3.348556813e-04f, -3.335309545e-04f, -3.322057314e-04f, -3.308800143e-04f, -3.295538056e-04f, -3.282271076e-04f, -3.268999226e-04f, -3.255722529e-04f, -3.242441008e-04f,
+-3.229154687e-04f, -3.215863590e-04f, -3.202567738e-04f, -3.189267156e-04f, -3.175961867e-04f, -3.162651894e-04f, -3.149337261e-04f, -3.136017990e-04f, -3.122694105e-04f, -3.109365630e-04f,
+-3.096032587e-04f, -3.082695000e-04f, -3.069352893e-04f, -3.056006288e-04f, -3.042655209e-04f, -3.029299679e-04f, -3.015939723e-04f, -3.002575362e-04f, -2.989206621e-04f, -2.975833522e-04f,
+-2.962456090e-04f, -2.949074348e-04f, -2.935688318e-04f, -2.922298025e-04f, -2.908903491e-04f, -2.895504741e-04f, -2.882101797e-04f, -2.868694684e-04f, -2.855283424e-04f, -2.841868041e-04f,
+-2.828448558e-04f, -2.815024999e-04f, -2.801597387e-04f, -2.788165746e-04f, -2.774730099e-04f, -2.761290470e-04f, -2.747846882e-04f, -2.734399358e-04f, -2.720947923e-04f, -2.707492599e-04f,
+-2.694033410e-04f, -2.680570380e-04f, -2.667103532e-04f, -2.653632890e-04f, -2.640158477e-04f, -2.626680316e-04f, -2.613198431e-04f, -2.599712847e-04f, -2.586223585e-04f, -2.572730670e-04f,
+-2.559234126e-04f, -2.545733975e-04f, -2.532230242e-04f, -2.518722950e-04f, -2.505212122e-04f, -2.491697783e-04f, -2.478179955e-04f, -2.464658662e-04f, -2.451133929e-04f, -2.437605778e-04f,
+-2.424074232e-04f, -2.410539317e-04f, -2.397001055e-04f, -2.383459470e-04f, -2.369914585e-04f, -2.356366424e-04f, -2.342815011e-04f, -2.329260369e-04f, -2.315702523e-04f, -2.302141494e-04f,
+-2.288577308e-04f, -2.275009988e-04f, -2.261439558e-04f, -2.247866041e-04f, -2.234289460e-04f, -2.220709840e-04f, -2.207127204e-04f, -2.193541576e-04f, -2.179952979e-04f, -2.166361438e-04f,
+-2.152766975e-04f, -2.139169615e-04f, -2.125569381e-04f, -2.111966297e-04f, -2.098360386e-04f, -2.084751673e-04f, -2.071140180e-04f, -2.057525932e-04f, -2.043908953e-04f, -2.030289265e-04f,
+-2.016666894e-04f, -2.003041861e-04f, -1.989414192e-04f, -1.975783910e-04f, -1.962151039e-04f, -1.948515601e-04f, -1.934877622e-04f, -1.921237125e-04f, -1.907594133e-04f, -1.893948671e-04f,
+-1.880300761e-04f, -1.866650428e-04f, -1.852997696e-04f, -1.839342588e-04f, -1.825685128e-04f, -1.812025340e-04f, -1.798363247e-04f, -1.784698874e-04f, -1.771032243e-04f, -1.757363380e-04f,
+-1.743692306e-04f, -1.730019048e-04f, -1.716343627e-04f, -1.702666068e-04f, -1.688986395e-04f, -1.675304631e-04f, -1.661620800e-04f, -1.647934927e-04f, -1.634247034e-04f, -1.620557146e-04f,
+-1.606865286e-04f, -1.593171478e-04f, -1.579475746e-04f, -1.565778113e-04f, -1.552078605e-04f, -1.538377243e-04f, -1.524674053e-04f, -1.510969057e-04f, -1.497262281e-04f, -1.483553746e-04f,
+-1.469843478e-04f, -1.456131500e-04f, -1.442417836e-04f, -1.428702510e-04f, -1.414985546e-04f, -1.401266966e-04f, -1.387546796e-04f, -1.373825059e-04f, -1.360101779e-04f, -1.346376979e-04f,
+-1.332650684e-04f, -1.318922916e-04f, -1.305193701e-04f, -1.291463062e-04f, -1.277731023e-04f, -1.263997607e-04f, -1.250262839e-04f, -1.236526742e-04f, -1.222789339e-04f, -1.209050656e-04f,
+-1.195310715e-04f, -1.181569541e-04f, -1.167827157e-04f, -1.154083588e-04f, -1.140338856e-04f, -1.126592986e-04f, -1.112846002e-04f, -1.099097927e-04f, -1.085348786e-04f, -1.071598602e-04f,
+-1.057847399e-04f, -1.044095200e-04f, -1.030342031e-04f, -1.016587913e-04f, -1.002832873e-04f, -9.890769318e-05f, -9.753201152e-05f, -9.615624464e-05f, -9.478039492e-05f, -9.340446476e-05f,
+-9.202845653e-05f, -9.065237263e-05f, -8.927621542e-05f, -8.789998730e-05f, -8.652369064e-05f, -8.514732784e-05f, -8.377090128e-05f, -8.239441333e-05f, -8.101786639e-05f, -7.964126283e-05f,
+-7.826460504e-05f, -7.688789541e-05f, -7.551113630e-05f, -7.413433012e-05f, -7.275747924e-05f, -7.138058604e-05f, -7.000365291e-05f, -6.862668223e-05f, -6.724967638e-05f, -6.587263775e-05f,
+-6.449556871e-05f, -6.311847166e-05f, -6.174134897e-05f, -6.036420302e-05f, -5.898703620e-05f, -5.760985089e-05f, -5.623264947e-05f, -5.485543432e-05f, -5.347820783e-05f, -5.210097237e-05f,
+-5.072373033e-05f, -4.934648409e-05f, -4.796923604e-05f, -4.659198854e-05f, -4.521474398e-05f, -4.383750475e-05f, -4.246027322e-05f, -4.108305177e-05f, -3.970584279e-05f, -3.832864865e-05f,
+-3.695147174e-05f, -3.557431443e-05f, -3.419717910e-05f, -3.282006814e-05f, -3.144298392e-05f, -3.006592882e-05f, -2.868890522e-05f, -2.731191550e-05f, -2.593496203e-05f, -2.455804720e-05f,
+-2.318117339e-05f, -2.180434296e-05f, -2.042755830e-05f, -1.905082179e-05f, -1.767413581e-05f, -1.629750272e-05f, -1.492092491e-05f, -1.354440475e-05f, -1.216794462e-05f, -1.079154690e-05f,
+-9.415213955e-06f, -8.038948169e-06f, -6.662751914e-06f, -5.286627565e-06f, -3.910577498e-06f, -2.534604085e-06f, -1.158709702e-06f, 2.171032776e-07f, 1.592832481e-06f, 2.968475534e-06f,
+4.344030065e-06f, 5.719493700e-06f, 7.094864067e-06f, 8.470138794e-06f, 9.845315510e-06f, 1.122039184e-05f, 1.259536542e-05f, 1.397023388e-05f, 1.534499483e-05f, 1.671964593e-05f,
+1.809418479e-05f, 1.946860904e-05f, 2.084291632e-05f, 2.221710426e-05f, 2.359117048e-05f, 2.496511263e-05f, 2.633892833e-05f, 2.771261522e-05f, 2.908617093e-05f, 3.045959309e-05f,
+3.183287933e-05f, 3.320602730e-05f, 3.457903462e-05f, 3.595189893e-05f, 3.732461787e-05f, 3.869718906e-05f, 4.006961016e-05f, 4.144187879e-05f, 4.281399258e-05f, 4.418594919e-05f,
+4.555774624e-05f, 4.692938138e-05f, 4.830085223e-05f, 4.967215645e-05f, 5.104329167e-05f, 5.241425554e-05f, 5.378504568e-05f, 5.515565974e-05f, 5.652609537e-05f, 5.789635020e-05f,
+5.926642188e-05f, 6.063630804e-05f, 6.200600635e-05f, 6.337551442e-05f, 6.474482992e-05f, 6.611395048e-05f, 6.748287375e-05f, 6.885159737e-05f, 7.022011900e-05f, 7.158843627e-05f,
+7.295654684e-05f, 7.432444834e-05f, 7.569213844e-05f, 7.705961477e-05f, 7.842687500e-05f, 7.979391675e-05f, 8.116073770e-05f, 8.252733548e-05f, 8.389370774e-05f, 8.525985215e-05f,
+8.662576635e-05f, 8.799144799e-05f, 8.935689473e-05f, 9.072210422e-05f, 9.208707411e-05f, 9.345180206e-05f, 9.481628573e-05f, 9.618052277e-05f, 9.754451084e-05f, 9.890824759e-05f,
+1.002717307e-04f, 1.016349578e-04f, 1.029979265e-04f, 1.043606346e-04f, 1.057230797e-04f, 1.070852594e-04f, 1.084471713e-04f, 1.098088133e-04f, 1.111701829e-04f, 1.125312777e-04f,
+1.138920956e-04f, 1.152526340e-04f, 1.166128907e-04f, 1.179728634e-04f, 1.193325497e-04f, 1.206919472e-04f, 1.220510537e-04f, 1.234098668e-04f, 1.247683842e-04f, 1.261266036e-04f,
+1.274845226e-04f, 1.288421388e-04f, 1.301994501e-04f, 1.315564539e-04f, 1.329131481e-04f, 1.342695303e-04f, 1.356255981e-04f, 1.369813492e-04f, 1.383367814e-04f, 1.396918923e-04f,
+1.410466795e-04f, 1.424011407e-04f, 1.437552737e-04f, 1.451090760e-04f, 1.464625454e-04f, 1.478156796e-04f, 1.491684762e-04f, 1.505209330e-04f, 1.518730475e-04f, 1.532248175e-04f,
+1.545762407e-04f, 1.559273148e-04f, 1.572780374e-04f, 1.586284062e-04f, 1.599784189e-04f, 1.613280732e-04f, 1.626773668e-04f, 1.640262974e-04f, 1.653748626e-04f, 1.667230602e-04f,
+1.680708879e-04f, 1.694183433e-04f, 1.707654241e-04f, 1.721121280e-04f, 1.734584528e-04f, 1.748043961e-04f, 1.761499556e-04f, 1.774951291e-04f, 1.788399141e-04f, 1.801843085e-04f,
+1.815283098e-04f, 1.828719159e-04f, 1.842151244e-04f, 1.855579329e-04f, 1.869003393e-04f, 1.882423413e-04f, 1.895839364e-04f, 1.909251225e-04f, 1.922658972e-04f, 1.936062582e-04f,
+1.949462033e-04f, 1.962857302e-04f, 1.976248365e-04f, 1.989635200e-04f, 2.003017784e-04f, 2.016396094e-04f, 2.029770108e-04f, 2.043139801e-04f, 2.056505152e-04f, 2.069866137e-04f,
+2.083222735e-04f, 2.096574921e-04f, 2.109922673e-04f, 2.123265969e-04f, 2.136604785e-04f, 2.149939099e-04f, 2.163268888e-04f, 2.176594129e-04f, 2.189914800e-04f, 2.203230877e-04f,
+2.216542338e-04f, 2.229849160e-04f, 2.243151321e-04f, 2.256448798e-04f, 2.269741568e-04f, 2.283029608e-04f, 2.296312895e-04f, 2.309591408e-04f, 2.322865123e-04f, 2.336134018e-04f,
+2.349398070e-04f, 2.362657256e-04f, 2.375911554e-04f, 2.389160941e-04f, 2.402405395e-04f, 2.415644893e-04f, 2.428879412e-04f, 2.442108930e-04f, 2.455333424e-04f, 2.468552872e-04f,
+2.481767251e-04f, 2.494976538e-04f, 2.508180712e-04f, 2.521379749e-04f, 2.534573627e-04f, 2.547762324e-04f, 2.560945816e-04f, 2.574124083e-04f, 2.587297100e-04f, 2.600464846e-04f,
+2.613627298e-04f, 2.626784434e-04f, 2.639936232e-04f, 2.653082668e-04f, 2.666223721e-04f, 2.679359368e-04f, 2.692489587e-04f, 2.705614355e-04f, 2.718733651e-04f, 2.731847451e-04f,
+2.744955733e-04f, 2.758058476e-04f, 2.771155656e-04f, 2.784247251e-04f, 2.797333240e-04f, 2.810413599e-04f, 2.823488308e-04f, 2.836557342e-04f, 2.849620680e-04f, 2.862678301e-04f,
+2.875730180e-04f, 2.888776298e-04f, 2.901816630e-04f, 2.914851155e-04f, 2.927879852e-04f, 2.940902696e-04f, 2.953919668e-04f, 2.966930743e-04f, 2.979935901e-04f, 2.992935119e-04f,
+3.005928375e-04f, 3.018915647e-04f, 3.031896912e-04f, 3.044872149e-04f, 3.057841336e-04f, 3.070804450e-04f, 3.083761470e-04f, 3.096712374e-04f, 3.109657138e-04f, 3.122595743e-04f,
+3.135528165e-04f, 3.148454382e-04f, 3.161374373e-04f, 3.174288115e-04f, 3.187195587e-04f, 3.200096767e-04f, 3.212991632e-04f, 3.225880162e-04f, 3.238762333e-04f, 3.251638124e-04f,
+3.264507514e-04f, 3.277370480e-04f, 3.290227000e-04f, 3.303077054e-04f, 3.315920618e-04f, 3.328757671e-04f, 3.341588191e-04f, 3.354412157e-04f, 3.367229546e-04f, 3.380040337e-04f,
+3.392844509e-04f, 3.405642039e-04f, 3.418432905e-04f, 3.431217087e-04f, 3.443994562e-04f, 3.456765309e-04f, 3.469529305e-04f, 3.482286530e-04f, 3.495036962e-04f, 3.507780578e-04f,
+3.520517358e-04f, 3.533247280e-04f, 3.545970322e-04f, 3.558686463e-04f, 3.571395681e-04f, 3.584097954e-04f, 3.596793262e-04f, 3.609481582e-04f, 3.622162892e-04f, 3.634837173e-04f,
+3.647504401e-04f, 3.660164556e-04f, 3.672817615e-04f, 3.685463559e-04f, 3.698102364e-04f, 3.710734011e-04f, 3.723358477e-04f, 3.735975740e-04f, 3.748585780e-04f, 3.761188576e-04f,
+3.773784105e-04f, 3.786372347e-04f, 3.798953281e-04f, 3.811526884e-04f, 3.824093135e-04f, 3.836652015e-04f, 3.849203500e-04f, 3.861747570e-04f, 3.874284203e-04f, 3.886813380e-04f,
+3.899335077e-04f, 3.911849274e-04f, 3.924355950e-04f, 3.936855084e-04f, 3.949346654e-04f, 3.961830639e-04f, 3.974307019e-04f, 3.986775772e-04f, 3.999236877e-04f, 4.011690313e-04f,
+4.024136059e-04f, 4.036574093e-04f, 4.049004396e-04f, 4.061426945e-04f, 4.073841720e-04f, 4.086248700e-04f, 4.098647864e-04f, 4.111039190e-04f, 4.123422659e-04f, 4.135798248e-04f,
+4.148165937e-04f, 4.160525706e-04f, 4.172877533e-04f, 4.185221397e-04f, 4.197557278e-04f, 4.209885155e-04f, 4.222205006e-04f, 4.234516812e-04f, 4.246820551e-04f, 4.259116202e-04f,
+4.271403745e-04f, 4.283683159e-04f, 4.295954424e-04f, 4.308217518e-04f, 4.320472420e-04f, 4.332719111e-04f, 4.344957569e-04f, 4.357187775e-04f, 4.369409706e-04f, 4.381623343e-04f,
+4.393828664e-04f, 4.406025650e-04f, 4.418214280e-04f, 4.430394533e-04f, 4.442566389e-04f, 4.454729827e-04f, 4.466884826e-04f, 4.479031366e-04f, 4.491169427e-04f, 4.503298989e-04f,
+4.515420030e-04f, 4.527532530e-04f, 4.539636469e-04f, 4.551731826e-04f, 4.563818581e-04f, 4.575896714e-04f, 4.587966205e-04f, 4.600027032e-04f, 4.612079176e-04f, 4.624122616e-04f,
+4.636157333e-04f, 4.648183305e-04f, 4.660200512e-04f, 4.672208935e-04f, 4.684208553e-04f, 4.696199346e-04f, 4.708181293e-04f, 4.720154375e-04f, 4.732118571e-04f, 4.744073862e-04f,
+4.756020226e-04f, 4.767957644e-04f, 4.779886096e-04f, 4.791805562e-04f, 4.803716021e-04f, 4.815617454e-04f, 4.827509841e-04f, 4.839393161e-04f, 4.851267395e-04f, 4.863132523e-04f,
+4.874988524e-04f, 4.886835379e-04f, 4.898673068e-04f, 4.910501570e-04f, 4.922320867e-04f, 4.934130938e-04f, 4.945931763e-04f, 4.957723322e-04f, 4.969505597e-04f, 4.981278566e-04f,
+4.993042210e-04f, 5.004796509e-04f, 5.016541443e-04f, 5.028276994e-04f, 5.040003141e-04f, 5.051719863e-04f, 5.063427143e-04f, 5.075124960e-04f, 5.086813293e-04f, 5.098492125e-04f,
+5.110161435e-04f, 5.121821203e-04f, 5.133471410e-04f, 5.145112037e-04f, 5.156743063e-04f, 5.168364470e-04f, 5.179976238e-04f, 5.191578346e-04f, 5.203170777e-04f, 5.214753510e-04f,
+5.226326526e-04f, 5.237889806e-04f, 5.249443329e-04f, 5.260987078e-04f, 5.272521032e-04f, 5.284045172e-04f, 5.295559478e-04f, 5.307063932e-04f, 5.318558514e-04f, 5.330043205e-04f,
+5.341517986e-04f, 5.352982837e-04f, 5.364437739e-04f, 5.375882673e-04f, 5.387317620e-04f, 5.398742561e-04f, 5.410157476e-04f, 5.421562346e-04f, 5.432957153e-04f, 5.444341876e-04f,
+5.455716498e-04f, 5.467080999e-04f, 5.478435360e-04f, 5.489779561e-04f, 5.501113585e-04f, 5.512437412e-04f, 5.523751023e-04f, 5.535054399e-04f, 5.546347521e-04f, 5.557630370e-04f,
+5.568902928e-04f, 5.580165175e-04f, 5.591417094e-04f, 5.602658664e-04f, 5.613889867e-04f, 5.625110684e-04f, 5.636321097e-04f, 5.647521087e-04f, 5.658710635e-04f, 5.669889722e-04f,
+5.681058329e-04f, 5.692216439e-04f, 5.703364032e-04f, 5.714501090e-04f, 5.725627594e-04f, 5.736743525e-04f, 5.747848865e-04f, 5.758943596e-04f, 5.770027698e-04f, 5.781101154e-04f,
+5.792163945e-04f, 5.803216052e-04f, 5.814257456e-04f, 5.825288140e-04f, 5.836308086e-04f, 5.847317273e-04f, 5.858315686e-04f, 5.869303304e-04f, 5.880280109e-04f, 5.891246084e-04f,
+5.902201209e-04f, 5.913145468e-04f, 5.924078840e-04f, 5.935001309e-04f, 5.945912856e-04f, 5.956813462e-04f, 5.967703110e-04f, 5.978581782e-04f, 5.989449459e-04f, 6.000306122e-04f,
+6.011151755e-04f, 6.021986339e-04f, 6.032809856e-04f, 6.043622287e-04f, 6.054423615e-04f, 6.065213823e-04f, 6.075992891e-04f, 6.086760801e-04f, 6.097517537e-04f, 6.108263080e-04f,
+6.118997412e-04f, 6.129720516e-04f, 6.140432372e-04f, 6.151132965e-04f, 6.161822275e-04f, 6.172500285e-04f, 6.183166977e-04f, 6.193822334e-04f, 6.204466337e-04f, 6.215098970e-04f,
+6.225720214e-04f, 6.236330051e-04f, 6.246928464e-04f, 6.257515436e-04f, 6.268090949e-04f, 6.278654984e-04f, 6.289207526e-04f, 6.299748555e-04f, 6.310278055e-04f, 6.320796008e-04f,
+6.331302396e-04f, 6.341797203e-04f, 6.352280410e-04f, 6.362752001e-04f, 6.373211957e-04f, 6.383660262e-04f, 6.394096898e-04f, 6.404521848e-04f, 6.414935094e-04f, 6.425336619e-04f,
+6.435726406e-04f, 6.446104438e-04f, 6.456470698e-04f, 6.466825167e-04f, 6.477167830e-04f, 6.487498668e-04f, 6.497817665e-04f, 6.508124804e-04f, 6.518420068e-04f, 6.528703438e-04f,
+6.538974900e-04f, 6.549234434e-04f, 6.559482025e-04f, 6.569717655e-04f, 6.579941308e-04f, 6.590152966e-04f, 6.600352613e-04f, 6.610540231e-04f, 6.620715804e-04f, 6.630879315e-04f,
+6.641030746e-04f, 6.651170082e-04f, 6.661297306e-04f, 6.671412400e-04f, 6.681515348e-04f, 6.691606133e-04f, 6.701684739e-04f, 6.711751149e-04f, 6.721805345e-04f, 6.731847312e-04f,
+6.741877033e-04f, 6.751894492e-04f, 6.761899671e-04f, 6.771892554e-04f, 6.781873124e-04f, 6.791841366e-04f, 6.801797263e-04f, 6.811740797e-04f, 6.821671954e-04f, 6.831590716e-04f,
+6.841497066e-04f, 6.851390990e-04f, 6.861272469e-04f, 6.871141488e-04f, 6.880998031e-04f, 6.890842081e-04f, 6.900673623e-04f, 6.910492639e-04f, 6.920299113e-04f, 6.930093030e-04f,
+6.939874374e-04f, 6.949643127e-04f, 6.959399274e-04f, 6.969142799e-04f, 6.978873686e-04f, 6.988591919e-04f, 6.998297481e-04f, 7.007990357e-04f, 7.017670531e-04f, 7.027337987e-04f,
+7.036992708e-04f, 7.046634679e-04f, 7.056263884e-04f, 7.065880308e-04f, 7.075483933e-04f, 7.085074745e-04f, 7.094652728e-04f, 7.104217866e-04f, 7.113770142e-04f, 7.123309542e-04f,
+7.132836050e-04f, 7.142349650e-04f, 7.151850326e-04f, 7.161338063e-04f, 7.170812844e-04f, 7.180274656e-04f, 7.189723481e-04f, 7.199159304e-04f, 7.208582111e-04f, 7.217991885e-04f,
+7.227388610e-04f, 7.236772272e-04f, 7.246142855e-04f, 7.255500344e-04f, 7.264844723e-04f, 7.274175976e-04f, 7.283494090e-04f, 7.292799047e-04f, 7.302090833e-04f, 7.311369433e-04f,
+7.320634832e-04f, 7.329887013e-04f, 7.339125963e-04f, 7.348351666e-04f, 7.357564106e-04f, 7.366763268e-04f, 7.375949139e-04f, 7.385121701e-04f, 7.394280941e-04f, 7.403426844e-04f,
+7.412559393e-04f, 7.421678575e-04f, 7.430784375e-04f, 7.439876777e-04f, 7.448955766e-04f, 7.458021329e-04f, 7.467073449e-04f, 7.476112112e-04f, 7.485137303e-04f, 7.494149008e-04f,
+7.503147211e-04f, 7.512131898e-04f, 7.521103055e-04f, 7.530060666e-04f, 7.539004717e-04f, 7.547935193e-04f, 7.556852080e-04f, 7.565755363e-04f, 7.574645027e-04f, 7.583521058e-04f,
+7.592383442e-04f, 7.601232163e-04f, 7.610067208e-04f, 7.618888562e-04f, 7.627696211e-04f, 7.636490139e-04f, 7.645270334e-04f, 7.654036780e-04f, 7.662789463e-04f, 7.671528370e-04f,
+7.680253484e-04f, 7.688964793e-04f, 7.697662283e-04f, 7.706345938e-04f, 7.715015745e-04f, 7.723671689e-04f, 7.732313757e-04f, 7.740941935e-04f, 7.749556208e-04f, 7.758156562e-04f,
+7.766742983e-04f, 7.775315458e-04f, 7.783873972e-04f, 7.792418511e-04f, 7.800949062e-04f, 7.809465610e-04f, 7.817968142e-04f, 7.826456643e-04f, 7.834931101e-04f, 7.843391501e-04f,
+7.851837830e-04f, 7.860270073e-04f, 7.868688217e-04f, 7.877092248e-04f, 7.885482153e-04f, 7.893857918e-04f, 7.902219529e-04f, 7.910566973e-04f, 7.918900236e-04f, 7.927219304e-04f,
+7.935524165e-04f, 7.943814804e-04f, 7.952091209e-04f, 7.960353365e-04f, 7.968601260e-04f, 7.976834879e-04f, 7.985054210e-04f, 7.993259239e-04f, 8.001449953e-04f, 8.009626339e-04f,
+8.017788383e-04f, 8.025936072e-04f, 8.034069393e-04f, 8.042188332e-04f, 8.050292877e-04f, 8.058383015e-04f, 8.066458731e-04f, 8.074520014e-04f, 8.082566850e-04f, 8.090599226e-04f,
+8.098617130e-04f, 8.106620547e-04f, 8.114609466e-04f, 8.122583872e-04f, 8.130543755e-04f, 8.138489099e-04f, 8.146419893e-04f, 8.154336124e-04f, 8.162237779e-04f, 8.170124845e-04f,
+8.177997310e-04f, 8.185855160e-04f, 8.193698383e-04f, 8.201526967e-04f, 8.209340898e-04f, 8.217140165e-04f, 8.224924754e-04f, 8.232694653e-04f, 8.240449849e-04f, 8.248190330e-04f,
+8.255916084e-04f, 8.263627098e-04f, 8.271323359e-04f, 8.279004855e-04f, 8.286671574e-04f, 8.294323504e-04f, 8.301960631e-04f, 8.309582944e-04f, 8.317190431e-04f, 8.324783079e-04f,
+8.332360876e-04f, 8.339923809e-04f, 8.347471868e-04f, 8.355005038e-04f, 8.362523310e-04f, 8.370026669e-04f, 8.377515105e-04f, 8.384988604e-04f, 8.392447156e-04f, 8.399890748e-04f,
+8.407319369e-04f, 8.414733005e-04f, 8.422131646e-04f, 8.429515280e-04f, 8.436883894e-04f, 8.444237477e-04f, 8.451576017e-04f, 8.458899503e-04f, 8.466207921e-04f, 8.473501262e-04f,
+8.480779513e-04f, 8.488042662e-04f, 8.495290698e-04f, 8.502523609e-04f, 8.509741384e-04f, 8.516944010e-04f, 8.524131478e-04f, 8.531303774e-04f, 8.538460888e-04f, 8.545602808e-04f,
+8.552729523e-04f, 8.559841021e-04f, 8.566937290e-04f, 8.574018321e-04f, 8.581084100e-04f, 8.588134618e-04f, 8.595169862e-04f, 8.602189822e-04f, 8.609194486e-04f, 8.616183843e-04f,
+8.623157882e-04f, 8.630116592e-04f, 8.637059962e-04f, 8.643987980e-04f, 8.650900636e-04f, 8.657797918e-04f, 8.664679816e-04f, 8.671546319e-04f, 8.678397416e-04f, 8.685233095e-04f,
+8.692053346e-04f, 8.698858158e-04f, 8.705647520e-04f, 8.712421422e-04f, 8.719179853e-04f, 8.725922801e-04f, 8.732650257e-04f, 8.739362209e-04f, 8.746058647e-04f, 8.752739560e-04f,
+8.759404938e-04f, 8.766054770e-04f, 8.772689045e-04f, 8.779307754e-04f, 8.785910885e-04f, 8.792498428e-04f, 8.799070372e-04f, 8.805626708e-04f, 8.812167424e-04f, 8.818692511e-04f,
+8.825201958e-04f, 8.831695755e-04f, 8.838173891e-04f, 8.844636357e-04f, 8.851083141e-04f, 8.857514235e-04f, 8.863929627e-04f, 8.870329308e-04f, 8.876713267e-04f, 8.883081495e-04f,
+8.889433980e-04f, 8.895770715e-04f, 8.902091687e-04f, 8.908396888e-04f, 8.914686307e-04f, 8.920959935e-04f, 8.927217761e-04f, 8.933459777e-04f, 8.939685971e-04f, 8.945896334e-04f,
+8.952090856e-04f, 8.958269528e-04f, 8.964432340e-04f, 8.970579282e-04f, 8.976710345e-04f, 8.982825519e-04f, 8.988924793e-04f, 8.995008160e-04f, 9.001075609e-04f, 9.007127130e-04f,
+9.013162715e-04f, 9.019182353e-04f, 9.025186036e-04f, 9.031173753e-04f, 9.037145496e-04f, 9.043101255e-04f, 9.049041020e-04f, 9.054964784e-04f, 9.060872535e-04f, 9.066764266e-04f,
+9.072639966e-04f, 9.078499627e-04f, 9.084343239e-04f, 9.090170794e-04f, 9.095982281e-04f, 9.101777693e-04f, 9.107557021e-04f, 9.113320254e-04f, 9.119067384e-04f, 9.124798403e-04f,
+9.130513300e-04f, 9.136212069e-04f, 9.141894698e-04f, 9.147561180e-04f, 9.153211506e-04f, 9.158845667e-04f, 9.164463655e-04f, 9.170065459e-04f, 9.175651073e-04f, 9.181220487e-04f,
+9.186773692e-04f, 9.192310681e-04f, 9.197831443e-04f, 9.203335972e-04f, 9.208824258e-04f, 9.214296292e-04f, 9.219752067e-04f, 9.225191573e-04f, 9.230614803e-04f, 9.236021748e-04f,
+9.241412400e-04f, 9.246786750e-04f, 9.252144790e-04f, 9.257486512e-04f, 9.262811908e-04f, 9.268120969e-04f, 9.273413687e-04f, 9.278690054e-04f, 9.283950061e-04f, 9.289193702e-04f,
+9.294420967e-04f, 9.299631849e-04f, 9.304826340e-04f, 9.310004431e-04f, 9.315166115e-04f, 9.320311384e-04f, 9.325440230e-04f, 9.330552645e-04f, 9.335648621e-04f, 9.340728150e-04f,
+9.345791225e-04f, 9.350837838e-04f, 9.355867981e-04f, 9.360881646e-04f, 9.365878826e-04f, 9.370859513e-04f, 9.375823700e-04f, 9.380771379e-04f, 9.385702542e-04f, 9.390617182e-04f,
+9.395515292e-04f, 9.400396863e-04f, 9.405261889e-04f, 9.410110362e-04f, 9.414942275e-04f, 9.419757620e-04f, 9.424556390e-04f, 9.429338578e-04f, 9.434104177e-04f, 9.438853179e-04f,
+9.443585576e-04f, 9.448301363e-04f, 9.453000532e-04f, 9.457683075e-04f, 9.462348986e-04f, 9.466998257e-04f, 9.471630882e-04f, 9.476246854e-04f, 9.480846165e-04f, 9.485428808e-04f,
+9.489994778e-04f, 9.494544066e-04f, 9.499076666e-04f, 9.503592571e-04f, 9.508091775e-04f, 9.512574270e-04f, 9.517040050e-04f, 9.521489108e-04f, 9.525921438e-04f, 9.530337033e-04f,
+9.534735886e-04f, 9.539117990e-04f, 9.543483340e-04f, 9.547831928e-04f, 9.552163748e-04f, 9.556478794e-04f, 9.560777059e-04f, 9.565058537e-04f, 9.569323221e-04f, 9.573571106e-04f,
+9.577802184e-04f, 9.582016449e-04f, 9.586213896e-04f, 9.590394517e-04f, 9.594558307e-04f, 9.598705260e-04f, 9.602835369e-04f, 9.606948629e-04f, 9.611045032e-04f, 9.615124574e-04f,
+9.619187248e-04f, 9.623233048e-04f, 9.627261968e-04f, 9.631274003e-04f, 9.635269146e-04f, 9.639247391e-04f, 9.643208733e-04f, 9.647153165e-04f, 9.651080683e-04f, 9.654991280e-04f,
+9.658884950e-04f, 9.662761688e-04f, 9.666621488e-04f, 9.670464345e-04f, 9.674290253e-04f, 9.678099206e-04f, 9.681891198e-04f, 9.685666225e-04f, 9.689424281e-04f, 9.693165360e-04f,
+9.696889456e-04f, 9.700596565e-04f, 9.704286682e-04f, 9.707959799e-04f, 9.711615914e-04f, 9.715255019e-04f, 9.718877110e-04f, 9.722482182e-04f, 9.726070229e-04f, 9.729641247e-04f,
+9.733195229e-04f, 9.736732172e-04f, 9.740252070e-04f, 9.743754917e-04f, 9.747240710e-04f, 9.750709442e-04f, 9.754161109e-04f, 9.757595706e-04f, 9.761013229e-04f, 9.764413671e-04f,
+9.767797029e-04f, 9.771163298e-04f, 9.774512472e-04f, 9.777844548e-04f, 9.781159520e-04f, 9.784457383e-04f, 9.787738133e-04f, 9.791001766e-04f, 9.794248277e-04f, 9.797477661e-04f,
+9.800689913e-04f, 9.803885030e-04f, 9.807063006e-04f, 9.810223838e-04f, 9.813367520e-04f, 9.816494049e-04f, 9.819603420e-04f, 9.822695628e-04f, 9.825770670e-04f, 9.828828541e-04f,
+9.831869237e-04f, 9.834892754e-04f, 9.837899087e-04f, 9.840888233e-04f, 9.843860187e-04f, 9.846814945e-04f, 9.849752503e-04f, 9.852672857e-04f, 9.855576004e-04f, 9.858461938e-04f,
+9.861330657e-04f, 9.864182155e-04f, 9.867016431e-04f, 9.869833478e-04f, 9.872633295e-04f, 9.875415876e-04f, 9.878181218e-04f, 9.880929318e-04f, 9.883660172e-04f, 9.886373775e-04f,
+9.889070125e-04f, 9.891749218e-04f, 9.894411050e-04f, 9.897055618e-04f, 9.899682918e-04f, 9.902292946e-04f, 9.904885700e-04f, 9.907461175e-04f, 9.910019369e-04f, 9.912560278e-04f,
+9.915083899e-04f, 9.917590227e-04f, 9.920079261e-04f, 9.922550997e-04f, 9.925005431e-04f, 9.927442561e-04f, 9.929862383e-04f, 9.932264894e-04f, 9.934650091e-04f, 9.937017971e-04f,
+9.939368531e-04f, 9.941701768e-04f, 9.944017679e-04f, 9.946316261e-04f, 9.948597510e-04f, 9.950861426e-04f, 9.953108003e-04f, 9.955337240e-04f, 9.957549133e-04f, 9.959743681e-04f,
+9.961920879e-04f, 9.964080727e-04f, 9.966223220e-04f, 9.968348356e-04f, 9.970456132e-04f, 9.972546547e-04f, 9.974619597e-04f, 9.976675280e-04f, 9.978713593e-04f, 9.980734534e-04f,
+9.982738101e-04f, 9.984724291e-04f, 9.986693101e-04f, 9.988644530e-04f, 9.990578575e-04f, 9.992495234e-04f, 9.994394504e-04f, 9.996276383e-04f, 9.998140870e-04f, 9.999987961e-04f,
+1.000181766e-03f, 1.000362995e-03f, 1.000542484e-03f, 1.000720233e-03f, 1.000896242e-03f, 1.001070510e-03f, 1.001243036e-03f, 1.001413822e-03f, 1.001582866e-03f, 1.001750169e-03f,
+1.001915730e-03f, 1.002079550e-03f, 1.002241627e-03f, 1.002401962e-03f, 1.002560555e-03f, 1.002717405e-03f, 1.002872512e-03f, 1.003025876e-03f, 1.003177498e-03f, 1.003327376e-03f,
+1.003475511e-03f, 1.003621902e-03f, 1.003766550e-03f, 1.003909454e-03f, 1.004050614e-03f, 1.004190030e-03f, 1.004327701e-03f, 1.004463629e-03f, 1.004597812e-03f, 1.004730250e-03f,
+1.004860944e-03f, 1.004989892e-03f, 1.005117096e-03f, 1.005242555e-03f, 1.005366269e-03f, 1.005488237e-03f, 1.005608460e-03f, 1.005726937e-03f, 1.005843669e-03f, 1.005958655e-03f,
+1.006071895e-03f, 1.006183390e-03f, 1.006293139e-03f, 1.006401141e-03f, 1.006507397e-03f, 1.006611908e-03f, 1.006714672e-03f, 1.006815689e-03f, 1.006914960e-03f, 1.007012485e-03f,
+1.007108263e-03f, 1.007202295e-03f, 1.007294580e-03f, 1.007385118e-03f, 1.007473910e-03f, 1.007560954e-03f, 1.007646252e-03f, 1.007729803e-03f, 1.007811607e-03f, 1.007891665e-03f,
+1.007969975e-03f, 1.008046538e-03f, 1.008121354e-03f, 1.008194423e-03f, 1.008265745e-03f, 1.008335320e-03f, 1.008403147e-03f, 1.008469228e-03f, 1.008533561e-03f, 1.008596148e-03f,
+1.008656987e-03f, 1.008716079e-03f, 1.008773424e-03f, 1.008829022e-03f, 1.008882872e-03f, 1.008934976e-03f, 1.008985332e-03f, 1.009033942e-03f, 1.009080804e-03f, 1.009125919e-03f,
+1.009169288e-03f, 1.009210909e-03f, 1.009250783e-03f, 1.009288911e-03f, 1.009325292e-03f, 1.009359926e-03f, 1.009392813e-03f, 1.009423953e-03f, 1.009453347e-03f, 1.009480994e-03f,
+1.009506895e-03f, 1.009531049e-03f, 1.009553457e-03f, 1.009574118e-03f, 1.009593034e-03f, 1.009610202e-03f, 1.009625625e-03f, 1.009639302e-03f, 1.009651233e-03f, 1.009661418e-03f,
+1.009669857e-03f, 1.009676550e-03f, 1.009681498e-03f, 1.009684701e-03f, 1.009686158e-03f, 1.009685869e-03f, 1.009683836e-03f, 1.009680057e-03f, 1.009674534e-03f, 1.009667265e-03f,
+1.009658252e-03f, 1.009647494e-03f, 1.009634992e-03f, 1.009620745e-03f, 1.009604755e-03f, 1.009587020e-03f, 1.009567541e-03f, 1.009546318e-03f, 1.009523352e-03f, 1.009498642e-03f,
+1.009472188e-03f, 1.009443992e-03f, 1.009414052e-03f, 1.009382370e-03f, 1.009348945e-03f, 1.009313777e-03f, 1.009276866e-03f, 1.009238214e-03f, 1.009197819e-03f, 1.009155683e-03f,
+1.009111805e-03f, 1.009066185e-03f, 1.009018824e-03f, 1.008969722e-03f, 1.008918878e-03f, 1.008866294e-03f, 1.008811970e-03f, 1.008755905e-03f, 1.008698100e-03f, 1.008638554e-03f,
+1.008577269e-03f, 1.008514245e-03f, 1.008449481e-03f, 1.008382978e-03f, 1.008314736e-03f, 1.008244756e-03f, 1.008173037e-03f, 1.008099580e-03f, 1.008024385e-03f, 1.007947452e-03f,
+1.007868781e-03f, 1.007788373e-03f, 1.007706229e-03f, 1.007622347e-03f, 1.007536729e-03f, 1.007449375e-03f, 1.007360285e-03f, 1.007269459e-03f, 1.007176897e-03f, 1.007082600e-03f,
+1.006986568e-03f, 1.006888802e-03f, 1.006789301e-03f, 1.006688066e-03f, 1.006585097e-03f, 1.006480395e-03f, 1.006373959e-03f, 1.006265791e-03f, 1.006155889e-03f, 1.006044255e-03f,
+1.005930890e-03f, 1.005815792e-03f, 1.005698963e-03f, 1.005580402e-03f, 1.005460111e-03f, 1.005338089e-03f, 1.005214337e-03f, 1.005088855e-03f, 1.004961644e-03f, 1.004832703e-03f,
+1.004702033e-03f, 1.004569634e-03f, 1.004435508e-03f, 1.004299653e-03f, 1.004162071e-03f, 1.004022761e-03f, 1.003881725e-03f, 1.003738961e-03f, 1.003594472e-03f, 1.003448257e-03f,
+1.003300316e-03f, 1.003150650e-03f, 1.002999260e-03f, 1.002846145e-03f, 1.002691306e-03f, 1.002534743e-03f, 1.002376457e-03f, 1.002216448e-03f, 1.002054717e-03f, 1.001891263e-03f,
+1.001726088e-03f, 1.001559191e-03f, 1.001390573e-03f, 1.001220235e-03f, 1.001048176e-03f, 1.000874398e-03f, 1.000698900e-03f, 1.000521683e-03f, 1.000342748e-03f, 1.000162095e-03f,
+9.999797237e-04f, 9.997956354e-04f, 9.996098301e-04f, 9.994223084e-04f, 9.992330706e-04f, 9.990421172e-04f, 9.988494487e-04f, 9.986550655e-04f, 9.984589680e-04f, 9.982611566e-04f,
+9.980616318e-04f, 9.978603941e-04f, 9.976574440e-04f, 9.974527817e-04f, 9.972464079e-04f, 9.970383230e-04f, 9.968285274e-04f, 9.966170217e-04f, 9.964038062e-04f, 9.961888815e-04f,
+9.959722480e-04f, 9.957539063e-04f, 9.955338567e-04f, 9.953120998e-04f, 9.950886361e-04f, 9.948634660e-04f, 9.946365901e-04f, 9.944080088e-04f, 9.941777227e-04f, 9.939457322e-04f,
+9.937120379e-04f, 9.934766402e-04f, 9.932395397e-04f, 9.930007369e-04f, 9.927602323e-04f, 9.925180265e-04f, 9.922741198e-04f, 9.920285130e-04f, 9.917812064e-04f, 9.915322006e-04f,
+9.912814963e-04f, 9.910290938e-04f, 9.907749938e-04f, 9.905191967e-04f, 9.902617032e-04f, 9.900025137e-04f, 9.897416289e-04f, 9.894790493e-04f, 9.892147754e-04f, 9.889488078e-04f,
+9.886811471e-04f, 9.884117938e-04f, 9.881407485e-04f, 9.878680118e-04f, 9.875935842e-04f, 9.873174664e-04f, 9.870396588e-04f, 9.867601622e-04f, 9.864789770e-04f, 9.861961039e-04f,
+9.859115434e-04f, 9.856252962e-04f, 9.853373628e-04f, 9.850477439e-04f, 9.847564400e-04f, 9.844634518e-04f, 9.841687799e-04f, 9.838724248e-04f, 9.835743873e-04f, 9.832746678e-04f,
+9.829732671e-04f, 9.826701857e-04f, 9.823654244e-04f, 9.820589836e-04f, 9.817508641e-04f, 9.814410664e-04f, 9.811295913e-04f, 9.808164394e-04f, 9.805016112e-04f, 9.801851075e-04f,
+9.798669289e-04f, 9.795470760e-04f, 9.792255496e-04f, 9.789023502e-04f, 9.785774785e-04f, 9.782509353e-04f, 9.779227211e-04f, 9.775928366e-04f, 9.772612825e-04f, 9.769280595e-04f,
+9.765931682e-04f, 9.762566094e-04f, 9.759183836e-04f, 9.755784917e-04f, 9.752369343e-04f, 9.748937120e-04f, 9.745488257e-04f, 9.742022759e-04f, 9.738540633e-04f, 9.735041888e-04f,
+9.731526530e-04f, 9.727994565e-04f, 9.724446001e-04f, 9.720880846e-04f, 9.717299106e-04f, 9.713700789e-04f, 9.710085901e-04f, 9.706454451e-04f, 9.702806445e-04f, 9.699141891e-04f,
+9.695460795e-04f, 9.691763167e-04f, 9.688049012e-04f, 9.684318338e-04f, 9.680571153e-04f, 9.676807464e-04f, 9.673027279e-04f, 9.669230605e-04f, 9.665417449e-04f, 9.661587821e-04f,
+9.657741726e-04f, 9.653879173e-04f, 9.650000169e-04f, 9.646104723e-04f, 9.642192841e-04f, 9.638264532e-04f, 9.634319803e-04f, 9.630358663e-04f, 9.626381118e-04f, 9.622387178e-04f,
+9.618376849e-04f, 9.614350140e-04f, 9.610307059e-04f, 9.606247614e-04f, 9.602171812e-04f, 9.598079662e-04f, 9.593971172e-04f, 9.589846350e-04f, 9.585705204e-04f, 9.581547742e-04f,
+9.577373973e-04f, 9.573183904e-04f, 9.568977544e-04f, 9.564754902e-04f, 9.560515984e-04f, 9.556260801e-04f, 9.551989359e-04f, 9.547701668e-04f, 9.543397736e-04f, 9.539077572e-04f,
+9.534741183e-04f, 9.530388578e-04f, 9.526019766e-04f, 9.521634756e-04f, 9.517233555e-04f, 9.512816173e-04f, 9.508382618e-04f, 9.503932898e-04f, 9.499467024e-04f, 9.494985002e-04f,
+9.490486842e-04f, 9.485972553e-04f, 9.481442143e-04f, 9.476895622e-04f, 9.472332997e-04f, 9.467754279e-04f, 9.463159475e-04f, 9.458548596e-04f, 9.453921649e-04f, 9.449278644e-04f,
+9.444619589e-04f, 9.439944494e-04f, 9.435253368e-04f, 9.430546220e-04f, 9.425823059e-04f, 9.421083894e-04f, 9.416328735e-04f, 9.411557590e-04f, 9.406770469e-04f, 9.401967381e-04f,
+9.397148335e-04f, 9.392313341e-04f, 9.387462407e-04f, 9.382595544e-04f, 9.377712761e-04f, 9.372814067e-04f, 9.367899471e-04f, 9.362968984e-04f, 9.358022613e-04f, 9.353060370e-04f,
+9.348082264e-04f, 9.343088303e-04f, 9.338078498e-04f, 9.333052859e-04f, 9.328011395e-04f, 9.322954115e-04f, 9.317881030e-04f, 9.312792149e-04f, 9.307687482e-04f, 9.302567038e-04f,
+9.297430829e-04f, 9.292278862e-04f, 9.287111149e-04f, 9.281927698e-04f, 9.276728521e-04f, 9.271513627e-04f, 9.266283026e-04f, 9.261036728e-04f, 9.255774743e-04f, 9.250497080e-04f,
+9.245203751e-04f, 9.239894766e-04f, 9.234570133e-04f, 9.229229864e-04f, 9.223873969e-04f, 9.218502458e-04f, 9.213115341e-04f, 9.207712629e-04f, 9.202294331e-04f, 9.196860458e-04f,
+9.191411021e-04f, 9.185946029e-04f, 9.180465494e-04f, 9.174969425e-04f, 9.169457833e-04f, 9.163930729e-04f, 9.158388123e-04f, 9.152830025e-04f, 9.147256446e-04f, 9.141667398e-04f,
+9.136062889e-04f, 9.130442931e-04f, 9.124807535e-04f, 9.119156711e-04f, 9.113490471e-04f, 9.107808824e-04f, 9.102111781e-04f, 9.096399354e-04f, 9.090671553e-04f, 9.084928388e-04f,
+9.079169872e-04f, 9.073396014e-04f, 9.067606826e-04f, 9.061802318e-04f, 9.055982502e-04f, 9.050147388e-04f, 9.044296988e-04f, 9.038431313e-04f, 9.032550373e-04f, 9.026654180e-04f,
+9.020742745e-04f, 9.014816079e-04f, 9.008874193e-04f, 9.002917099e-04f, 8.996944807e-04f, 8.990957329e-04f, 8.984954676e-04f, 8.978936860e-04f, 8.972903892e-04f, 8.966855782e-04f,
+8.960792544e-04f, 8.954714187e-04f, 8.948620724e-04f, 8.942512165e-04f, 8.936388523e-04f, 8.930249808e-04f, 8.924096033e-04f, 8.917927209e-04f, 8.911743348e-04f, 8.905544460e-04f,
+8.899330559e-04f, 8.893101654e-04f, 8.886857759e-04f, 8.880598885e-04f, 8.874325043e-04f, 8.868036245e-04f, 8.861732504e-04f, 8.855413830e-04f, 8.849080236e-04f, 8.842731734e-04f,
+8.836368335e-04f, 8.829990052e-04f, 8.823596896e-04f, 8.817188879e-04f, 8.810766014e-04f, 8.804328312e-04f, 8.797875785e-04f, 8.791408445e-04f, 8.784926305e-04f, 8.778429377e-04f,
+8.771917672e-04f, 8.765391203e-04f, 8.758849983e-04f, 8.752294022e-04f, 8.745723334e-04f, 8.739137931e-04f, 8.732537825e-04f, 8.725923028e-04f, 8.719293553e-04f, 8.712649411e-04f,
+8.705990617e-04f, 8.699317181e-04f, 8.692629116e-04f, 8.685926435e-04f, 8.679209151e-04f, 8.672477275e-04f, 8.665730820e-04f, 8.658969799e-04f, 8.652194225e-04f, 8.645404109e-04f,
+8.638599465e-04f, 8.631780305e-04f, 8.624946642e-04f, 8.618098489e-04f, 8.611235858e-04f, 8.604358763e-04f, 8.597467215e-04f, 8.590561228e-04f, 8.583640814e-04f, 8.576705986e-04f,
+8.569756758e-04f, 8.562793142e-04f, 8.555815151e-04f, 8.548822798e-04f, 8.541816096e-04f, 8.534795058e-04f, 8.527759696e-04f, 8.520710025e-04f, 8.513646057e-04f, 8.506567804e-04f,
+8.499475281e-04f, 8.492368501e-04f, 8.485247475e-04f, 8.478112219e-04f, 8.470962744e-04f, 8.463799065e-04f, 8.456621194e-04f, 8.449429145e-04f, 8.442222930e-04f, 8.435002564e-04f,
+8.427768060e-04f, 8.420519430e-04f, 8.413256689e-04f, 8.405979850e-04f, 8.398688925e-04f, 8.391383930e-04f, 8.384064877e-04f, 8.376731780e-04f, 8.369384651e-04f, 8.362023506e-04f,
+8.354648357e-04f, 8.347259218e-04f, 8.339856103e-04f, 8.332439025e-04f, 8.325007998e-04f, 8.317563035e-04f, 8.310104151e-04f, 8.302631359e-04f, 8.295144673e-04f, 8.287644107e-04f,
+8.280129674e-04f, 8.272601388e-04f, 8.265059264e-04f, 8.257503315e-04f, 8.249933555e-04f, 8.242349997e-04f, 8.234752657e-04f, 8.227141547e-04f, 8.219516683e-04f, 8.211878077e-04f,
+8.204225744e-04f, 8.196559698e-04f, 8.188879953e-04f, 8.181186523e-04f, 8.173479423e-04f, 8.165758666e-04f, 8.158024267e-04f, 8.150276240e-04f, 8.142514599e-04f, 8.134739358e-04f,
+8.126950532e-04f, 8.119148134e-04f, 8.111332180e-04f, 8.103502684e-04f, 8.095659659e-04f, 8.087803121e-04f, 8.079933084e-04f, 8.072049562e-04f, 8.064152569e-04f, 8.056242120e-04f,
+8.048318230e-04f, 8.040380914e-04f, 8.032430184e-04f, 8.024466058e-04f, 8.016488547e-04f, 8.008497669e-04f, 8.000493436e-04f, 7.992475864e-04f, 7.984444968e-04f, 7.976400761e-04f,
+7.968343259e-04f, 7.960272477e-04f, 7.952188430e-04f, 7.944091131e-04f, 7.935980596e-04f, 7.927856840e-04f, 7.919719877e-04f, 7.911569723e-04f, 7.903406393e-04f, 7.895229900e-04f,
+7.887040261e-04f, 7.878837490e-04f, 7.870621602e-04f, 7.862392613e-04f, 7.854150536e-04f, 7.845895388e-04f, 7.837627183e-04f, 7.829345936e-04f, 7.821051663e-04f, 7.812744379e-04f,
+7.804424099e-04f, 7.796090837e-04f, 7.787744610e-04f, 7.779385432e-04f, 7.771013318e-04f, 7.762628285e-04f, 7.754230347e-04f, 7.745819519e-04f, 7.737395817e-04f, 7.728959257e-04f,
+7.720509853e-04f, 7.712047620e-04f, 7.703572576e-04f, 7.695084734e-04f, 7.686584110e-04f, 7.678070720e-04f, 7.669544579e-04f, 7.661005703e-04f, 7.652454108e-04f, 7.643889808e-04f,
+7.635312819e-04f, 7.626723158e-04f, 7.618120839e-04f, 7.609505879e-04f, 7.600878293e-04f, 7.592238096e-04f, 7.583585304e-04f, 7.574919934e-04f, 7.566242001e-04f, 7.557551520e-04f,
+7.548848508e-04f, 7.540132979e-04f, 7.531404951e-04f, 7.522664439e-04f, 7.513911459e-04f, 7.505146026e-04f, 7.496368157e-04f, 7.487577867e-04f, 7.478775173e-04f, 7.469960090e-04f,
+7.461132635e-04f, 7.452292824e-04f, 7.443440671e-04f, 7.434576195e-04f, 7.425699410e-04f, 7.416810332e-04f, 7.407908979e-04f, 7.398995366e-04f, 7.390069508e-04f, 7.381131424e-04f,
+7.372181127e-04f, 7.363218636e-04f, 7.354243965e-04f, 7.345257132e-04f, 7.336258152e-04f, 7.327247042e-04f, 7.318223818e-04f, 7.309188497e-04f, 7.300141095e-04f, 7.291081628e-04f,
+7.282010112e-04f, 7.272926565e-04f, 7.263831002e-04f, 7.254723440e-04f, 7.245603895e-04f, 7.236472385e-04f, 7.227328925e-04f, 7.218173531e-04f, 7.209006222e-04f, 7.199827012e-04f,
+7.190635920e-04f, 7.181432960e-04f, 7.172218151e-04f, 7.162991508e-04f, 7.153753049e-04f, 7.144502789e-04f, 7.135240747e-04f, 7.125966937e-04f, 7.116681378e-04f, 7.107384086e-04f,
+7.098075078e-04f, 7.088754370e-04f, 7.079421979e-04f, 7.070077923e-04f, 7.060722218e-04f, 7.051354881e-04f, 7.041975929e-04f, 7.032585379e-04f, 7.023183247e-04f, 7.013769552e-04f,
+7.004344308e-04f, 6.994907535e-04f, 6.985459249e-04f, 6.975999466e-04f, 6.966528204e-04f, 6.957045480e-04f, 6.947551311e-04f, 6.938045714e-04f, 6.928528706e-04f, 6.919000305e-04f,
+6.909460527e-04f, 6.899909390e-04f, 6.890346911e-04f, 6.880773107e-04f, 6.871187996e-04f, 6.861591594e-04f, 6.851983919e-04f, 6.842364989e-04f, 6.832734820e-04f, 6.823093430e-04f,
+6.813440837e-04f, 6.803777057e-04f, 6.794102108e-04f, 6.784416007e-04f, 6.774718773e-04f, 6.765010422e-04f, 6.755290971e-04f, 6.745560439e-04f, 6.735818843e-04f, 6.726066200e-04f,
+6.716302527e-04f, 6.706527843e-04f, 6.696742165e-04f, 6.686945511e-04f, 6.677137898e-04f, 6.667319343e-04f, 6.657489865e-04f, 6.647649481e-04f, 6.637798209e-04f, 6.627936067e-04f,
+6.618063071e-04f, 6.608179240e-04f, 6.598284592e-04f, 6.588379145e-04f, 6.578462915e-04f, 6.568535922e-04f, 6.558598183e-04f, 6.548649715e-04f, 6.538690536e-04f, 6.528720666e-04f,
+6.518740120e-04f, 6.508748917e-04f, 6.498747076e-04f, 6.488734614e-04f, 6.478711549e-04f, 6.468677898e-04f, 6.458633681e-04f, 6.448578915e-04f, 6.438513618e-04f, 6.428437807e-04f,
+6.418351502e-04f, 6.408254721e-04f, 6.398147480e-04f, 6.388029799e-04f, 6.377901695e-04f, 6.367763188e-04f, 6.357614294e-04f, 6.347455032e-04f, 6.337285420e-04f, 6.327105477e-04f,
+6.316915220e-04f, 6.306714669e-04f, 6.296503840e-04f, 6.286282753e-04f, 6.276051426e-04f, 6.265809877e-04f, 6.255558125e-04f, 6.245296187e-04f, 6.235024082e-04f, 6.224741829e-04f,
+6.214449446e-04f, 6.204146951e-04f, 6.193834362e-04f, 6.183511699e-04f, 6.173178980e-04f, 6.162836223e-04f, 6.152483446e-04f, 6.142120669e-04f, 6.131747909e-04f, 6.121365186e-04f,
+6.110972517e-04f, 6.100569921e-04f, 6.090157418e-04f, 6.079735025e-04f, 6.069302761e-04f, 6.058860645e-04f, 6.048408696e-04f, 6.037946932e-04f, 6.027475371e-04f, 6.016994033e-04f,
+6.006502936e-04f, 5.996002100e-04f, 5.985491542e-04f, 5.974971281e-04f, 5.964441337e-04f, 5.953901728e-04f, 5.943352472e-04f, 5.932793590e-04f, 5.922225099e-04f, 5.911647018e-04f,
+5.901059367e-04f, 5.890462164e-04f, 5.879855428e-04f, 5.869239178e-04f, 5.858613432e-04f, 5.847978211e-04f, 5.837333533e-04f, 5.826679416e-04f, 5.816015881e-04f, 5.805342945e-04f,
+5.794660628e-04f, 5.783968949e-04f, 5.773267927e-04f, 5.762557580e-04f, 5.751837930e-04f, 5.741108993e-04f, 5.730370789e-04f, 5.719623339e-04f, 5.708866659e-04f, 5.698100771e-04f,
+5.687325692e-04f, 5.676541443e-04f, 5.665748042e-04f, 5.654945508e-04f, 5.644133862e-04f, 5.633313121e-04f, 5.622483306e-04f, 5.611644435e-04f, 5.600796528e-04f, 5.589939605e-04f,
+5.579073683e-04f, 5.568198784e-04f, 5.557314926e-04f, 5.546422129e-04f, 5.535520411e-04f, 5.524609793e-04f, 5.513690294e-04f, 5.502761932e-04f, 5.491824729e-04f, 5.480878702e-04f,
+5.469923872e-04f, 5.458960258e-04f, 5.447987879e-04f, 5.437006755e-04f, 5.426016906e-04f, 5.415018351e-04f, 5.404011110e-04f, 5.392995201e-04f, 5.381970645e-04f, 5.370937462e-04f,
+5.359895671e-04f, 5.348845291e-04f, 5.337786342e-04f, 5.326718844e-04f, 5.315642817e-04f, 5.304558279e-04f, 5.293465252e-04f, 5.282363754e-04f, 5.271253805e-04f, 5.260135425e-04f,
+5.249008634e-04f, 5.237873451e-04f, 5.226729896e-04f, 5.215577990e-04f, 5.204417751e-04f, 5.193249200e-04f, 5.182072356e-04f, 5.170887239e-04f, 5.159693870e-04f, 5.148492267e-04f,
+5.137282451e-04f, 5.126064442e-04f, 5.114838259e-04f, 5.103603923e-04f, 5.092361453e-04f, 5.081110869e-04f, 5.069852192e-04f, 5.058585441e-04f, 5.047310636e-04f, 5.036027798e-04f,
+5.024736945e-04f, 5.013438099e-04f, 5.002131279e-04f, 4.990816505e-04f, 4.979493798e-04f, 4.968163177e-04f, 4.956824662e-04f, 4.945478274e-04f, 4.934124032e-04f, 4.922761957e-04f,
+4.911392069e-04f, 4.900014388e-04f, 4.888628934e-04f, 4.877235728e-04f, 4.865834789e-04f, 4.854426137e-04f, 4.843009794e-04f, 4.831585778e-04f, 4.820154111e-04f, 4.808714812e-04f,
+4.797267902e-04f, 4.785813400e-04f, 4.774351329e-04f, 4.762881706e-04f, 4.751404554e-04f, 4.739919891e-04f, 4.728427739e-04f, 4.716928118e-04f, 4.705421048e-04f, 4.693906550e-04f,
+4.682384643e-04f, 4.670855348e-04f, 4.659318686e-04f, 4.647774677e-04f, 4.636223342e-04f, 4.624664700e-04f, 4.613098772e-04f, 4.601525579e-04f, 4.589945142e-04f, 4.578357479e-04f,
+4.566762613e-04f, 4.555160563e-04f, 4.543551351e-04f, 4.531934996e-04f, 4.520311519e-04f, 4.508680941e-04f, 4.497043281e-04f, 4.485398562e-04f, 4.473746803e-04f, 4.462088024e-04f,
+4.450422247e-04f, 4.438749492e-04f, 4.427069780e-04f, 4.415383131e-04f, 4.403689566e-04f, 4.391989105e-04f, 4.380281769e-04f, 4.368567579e-04f, 4.356846556e-04f, 4.345118720e-04f,
+4.333384092e-04f, 4.321642692e-04f, 4.309894542e-04f, 4.298139661e-04f, 4.286378072e-04f, 4.274609794e-04f, 4.262834848e-04f, 4.251053255e-04f, 4.239265036e-04f, 4.227470211e-04f,
+4.215668802e-04f, 4.203860829e-04f, 4.192046313e-04f, 4.180225274e-04f, 4.168397735e-04f, 4.156563715e-04f, 4.144723235e-04f, 4.132876316e-04f, 4.121022980e-04f, 4.109163246e-04f,
+4.097297136e-04f, 4.085424671e-04f, 4.073545872e-04f, 4.061660759e-04f, 4.049769354e-04f, 4.037871678e-04f, 4.025967750e-04f, 4.014057593e-04f, 4.002141228e-04f, 3.990218675e-04f,
+3.978289955e-04f, 3.966355090e-04f, 3.954414100e-04f, 3.942467006e-04f, 3.930513829e-04f, 3.918554591e-04f, 3.906589313e-04f, 3.894618015e-04f, 3.882640719e-04f, 3.870657445e-04f,
+3.858668215e-04f, 3.846673050e-04f, 3.834671971e-04f, 3.822664999e-04f, 3.810652155e-04f, 3.798633460e-04f, 3.786608936e-04f, 3.774578604e-04f, 3.762542484e-04f, 3.750500598e-04f,
+3.738452967e-04f, 3.726399612e-04f, 3.714340555e-04f, 3.702275817e-04f, 3.690205418e-04f, 3.678129380e-04f, 3.666047725e-04f, 3.653960473e-04f, 3.641867646e-04f, 3.629769265e-04f,
+3.617665351e-04f, 3.605555925e-04f, 3.593441010e-04f, 3.581320625e-04f, 3.569194793e-04f, 3.557063534e-04f, 3.544926871e-04f, 3.532784823e-04f, 3.520637414e-04f, 3.508484663e-04f,
+3.496326592e-04f, 3.484163223e-04f, 3.471994577e-04f, 3.459820675e-04f, 3.447641539e-04f, 3.435457190e-04f, 3.423267650e-04f, 3.411072939e-04f, 3.398873080e-04f, 3.386668093e-04f,
+3.374458000e-04f, 3.362242823e-04f, 3.350022582e-04f, 3.337797300e-04f, 3.325566998e-04f, 3.313331697e-04f, 3.301091418e-04f, 3.288846184e-04f, 3.276596015e-04f, 3.264340934e-04f,
+3.252080961e-04f, 3.239816118e-04f, 3.227546427e-04f, 3.215271908e-04f, 3.202992585e-04f, 3.190708478e-04f, 3.178419608e-04f, 3.166125997e-04f, 3.153827667e-04f, 3.141524640e-04f,
+3.129216936e-04f, 3.116904578e-04f, 3.104587587e-04f, 3.092265984e-04f, 3.079939792e-04f, 3.067609031e-04f, 3.055273724e-04f, 3.042933891e-04f, 3.030589555e-04f, 3.018240737e-04f,
+3.005887459e-04f, 2.993529743e-04f, 2.981167609e-04f, 2.968801081e-04f, 2.956430178e-04f, 2.944054924e-04f, 2.931675339e-04f, 2.919291446e-04f, 2.906903265e-04f, 2.894510819e-04f,
+2.882114130e-04f, 2.869713219e-04f, 2.857308107e-04f, 2.844898817e-04f, 2.832485370e-04f, 2.820067788e-04f, 2.807646093e-04f, 2.795220306e-04f, 2.782790449e-04f, 2.770356543e-04f,
+2.757918612e-04f, 2.745476675e-04f, 2.733030756e-04f, 2.720580875e-04f, 2.708127056e-04f, 2.695669318e-04f, 2.683207684e-04f, 2.670742177e-04f, 2.658272817e-04f, 2.645799627e-04f,
+2.633322628e-04f, 2.620841841e-04f, 2.608357290e-04f, 2.595868996e-04f, 2.583376980e-04f, 2.570881265e-04f, 2.558381871e-04f, 2.545878822e-04f, 2.533372139e-04f, 2.520861843e-04f,
+2.508347957e-04f, 2.495830502e-04f, 2.483309500e-04f, 2.470784974e-04f, 2.458256944e-04f, 2.445725434e-04f, 2.433190464e-04f, 2.420652057e-04f, 2.408110234e-04f, 2.395565018e-04f,
+2.383016430e-04f, 2.370464492e-04f, 2.357909227e-04f, 2.345350655e-04f, 2.332788800e-04f, 2.320223682e-04f, 2.307655324e-04f, 2.295083747e-04f, 2.282508975e-04f, 2.269931027e-04f,
+2.257349928e-04f, 2.244765698e-04f, 2.232178359e-04f, 2.219587933e-04f, 2.206994443e-04f, 2.194397910e-04f, 2.181798357e-04f, 2.169195804e-04f, 2.156590275e-04f, 2.143981791e-04f,
+2.131370373e-04f, 2.118756045e-04f, 2.106138829e-04f, 2.093518745e-04f, 2.080895816e-04f, 2.068270064e-04f, 2.055641512e-04f, 2.043010180e-04f, 2.030376092e-04f, 2.017739268e-04f,
+2.005099732e-04f, 1.992457505e-04f, 1.979812609e-04f, 1.967165066e-04f, 1.954514898e-04f, 1.941862128e-04f, 1.929206776e-04f, 1.916548867e-04f, 1.903888420e-04f, 1.891225459e-04f,
+1.878560005e-04f, 1.865892080e-04f, 1.853221708e-04f, 1.840548908e-04f, 1.827873705e-04f, 1.815196119e-04f, 1.802516173e-04f, 1.789833888e-04f, 1.777149288e-04f, 1.764462393e-04f,
+1.751773227e-04f, 1.739081810e-04f, 1.726388166e-04f, 1.713692316e-04f, 1.700994283e-04f, 1.688294087e-04f, 1.675591753e-04f, 1.662887301e-04f, 1.650180754e-04f, 1.637472133e-04f,
+1.624761461e-04f, 1.612048761e-04f, 1.599334053e-04f, 1.586617361e-04f, 1.573898706e-04f, 1.561178111e-04f, 1.548455597e-04f, 1.535731186e-04f, 1.523004902e-04f, 1.510276765e-04f,
+1.497546798e-04f, 1.484815023e-04f, 1.472081463e-04f, 1.459346139e-04f, 1.446609073e-04f, 1.433870289e-04f, 1.421129806e-04f, 1.408387649e-04f, 1.395643839e-04f, 1.382898397e-04f,
+1.370151347e-04f, 1.357402711e-04f, 1.344652510e-04f, 1.331900767e-04f, 1.319147503e-04f, 1.306392742e-04f, 1.293636504e-04f, 1.280878813e-04f, 1.268119690e-04f, 1.255359158e-04f,
+1.242597238e-04f, 1.229833953e-04f, 1.217069325e-04f, 1.204303377e-04f, 1.191536129e-04f, 1.178767605e-04f, 1.165997827e-04f, 1.153226816e-04f, 1.140454595e-04f, 1.127681187e-04f,
+1.114906612e-04f, 1.102130894e-04f, 1.089354054e-04f, 1.076576115e-04f, 1.063797099e-04f, 1.051017028e-04f, 1.038235923e-04f, 1.025453809e-04f, 1.012670705e-04f, 9.998866356e-05f,
+9.871016216e-05f, 9.743156856e-05f, 9.615288497e-05f, 9.487411361e-05f, 9.359525669e-05f, 9.231631643e-05f, 9.103729504e-05f, 8.975819474e-05f, 8.847901775e-05f, 8.719976628e-05f,
+8.592044255e-05f, 8.464104878e-05f, 8.336158718e-05f, 8.208205996e-05f, 8.080246935e-05f, 7.952281756e-05f, 7.824310680e-05f, 7.696333930e-05f, 7.568351726e-05f, 7.440364291e-05f,
+7.312371845e-05f, 7.184374611e-05f, 7.056372810e-05f, 6.928366664e-05f, 6.800356394e-05f, 6.672342221e-05f, 6.544324368e-05f, 6.416303056e-05f, 6.288278506e-05f, 6.160250940e-05f,
+6.032220580e-05f, 5.904187646e-05f, 5.776152361e-05f, 5.648114946e-05f, 5.520075622e-05f, 5.392034611e-05f, 5.263992134e-05f, 5.135948413e-05f, 5.007903669e-05f, 4.879858124e-05f,
+4.751811999e-05f, 4.623765516e-05f, 4.495718895e-05f, 4.367672359e-05f, 4.239626128e-05f, 4.111580424e-05f, 3.983535468e-05f, 3.855491482e-05f, 3.727448687e-05f, 3.599407304e-05f,
+3.471367554e-05f, 3.343329659e-05f, 3.215293840e-05f, 3.087260318e-05f, 2.959229314e-05f, 2.831201050e-05f, 2.703175747e-05f, 2.575153625e-05f, 2.447134907e-05f, 2.319119812e-05f,
+2.191108563e-05f, 2.063101380e-05f, 1.935098484e-05f, 1.807100096e-05f, 1.679106438e-05f, 1.551117730e-05f, 1.423134194e-05f, 1.295156049e-05f, 1.167183518e-05f, 1.039216821e-05f,
+9.112561781e-06f, 7.833018115e-06f, 6.553539413e-06f, 5.274127885e-06f, 3.994785738e-06f, 2.715515180e-06f, 1.436318418e-06f, 1.571976585e-07f, -1.121844892e-06f, -2.400807026e-06f,
+-3.679686538e-06f, -4.958481223e-06f, -6.237188874e-06f, -7.515807286e-06f, -8.794334255e-06f, -1.007276758e-05f, -1.135110504e-05f, -1.262934445e-05f, -1.390748360e-05f, -1.518552029e-05f,
+-1.646345231e-05f, -1.774127746e-05f, -1.901899353e-05f, -2.029659834e-05f, -2.157408966e-05f, -2.285146531e-05f, -2.412872307e-05f, -2.540586076e-05f, -2.668287616e-05f, -2.795976709e-05f,
+-2.923653133e-05f, -3.051316669e-05f, -3.178967098e-05f, -3.306604198e-05f, -3.434227751e-05f, -3.561837536e-05f, -3.689433334e-05f, -3.817014925e-05f, -3.944582090e-05f, -4.072134608e-05f,
+-4.199672260e-05f, -4.327194827e-05f, -4.454702088e-05f, -4.582193825e-05f, -4.709669819e-05f, -4.837129848e-05f, -4.964573695e-05f, -5.092001140e-05f, -5.219411963e-05f, -5.346805946e-05f,
+-5.474182869e-05f, -5.601542513e-05f, -5.728884659e-05f, -5.856209088e-05f, -5.983515580e-05f, -6.110803917e-05f, -6.238073880e-05f, -6.365325250e-05f, -6.492557808e-05f, -6.619771336e-05f,
+-6.746965613e-05f, -6.874140423e-05f, -7.001295546e-05f, -7.128430764e-05f, -7.255545857e-05f, -7.382640608e-05f, -7.509714798e-05f, -7.636768208e-05f, -7.763800621e-05f, -7.890811817e-05f,
+-8.017801579e-05f, -8.144769689e-05f, -8.271715927e-05f, -8.398640077e-05f, -8.525541920e-05f, -8.652421237e-05f, -8.779277812e-05f, -8.906111426e-05f, -9.032921861e-05f, -9.159708899e-05f,
+-9.286472324e-05f, -9.413211916e-05f, -9.539927458e-05f, -9.666618733e-05f, -9.793285524e-05f, -9.919927612e-05f, -1.004654478e-04f, -1.017313681e-04f, -1.029970349e-04f, -1.042624459e-04f,
+-1.055275991e-04f, -1.067924922e-04f, -1.080571231e-04f, -1.093214896e-04f, -1.105855895e-04f, -1.118494207e-04f, -1.131129809e-04f, -1.143762681e-04f, -1.156392801e-04f, -1.169020146e-04f,
+-1.181644695e-04f, -1.194266428e-04f, -1.206885321e-04f, -1.219501353e-04f, -1.232114503e-04f, -1.244724750e-04f, -1.257332070e-04f, -1.269936444e-04f, -1.282537848e-04f, -1.295136262e-04f,
+-1.307731665e-04f, -1.320324033e-04f, -1.332913347e-04f, -1.345499583e-04f, -1.358082722e-04f, -1.370662740e-04f, -1.383239617e-04f, -1.395813331e-04f, -1.408383861e-04f, -1.420951184e-04f,
+-1.433515280e-04f, -1.446076127e-04f, -1.458633703e-04f, -1.471187987e-04f, -1.483738957e-04f, -1.496286592e-04f, -1.508830871e-04f, -1.521371771e-04f, -1.533909272e-04f, -1.546443352e-04f,
+-1.558973989e-04f, -1.571501162e-04f, -1.584024850e-04f, -1.596545031e-04f, -1.609061684e-04f, -1.621574787e-04f, -1.634084319e-04f, -1.646590258e-04f, -1.659092584e-04f, -1.671591274e-04f,
+-1.684086307e-04f, -1.696577663e-04f, -1.709065319e-04f, -1.721549254e-04f, -1.734029447e-04f, -1.746505877e-04f, -1.758978521e-04f, -1.771447360e-04f, -1.783912371e-04f, -1.796373533e-04f,
+-1.808830825e-04f, -1.821284226e-04f, -1.833733714e-04f, -1.846179268e-04f, -1.858620867e-04f, -1.871058489e-04f, -1.883492114e-04f, -1.895921719e-04f, -1.908347284e-04f, -1.920768788e-04f,
+-1.933186209e-04f, -1.945599526e-04f, -1.958008718e-04f, -1.970413763e-04f, -1.982814641e-04f, -1.995211330e-04f, -2.007603810e-04f, -2.019992058e-04f, -2.032376054e-04f, -2.044755777e-04f,
+-2.057131205e-04f, -2.069502317e-04f, -2.081869093e-04f, -2.094231511e-04f, -2.106589550e-04f, -2.118943189e-04f, -2.131292406e-04f, -2.143637181e-04f, -2.155977494e-04f, -2.168313321e-04f,
+-2.180644643e-04f, -2.192971439e-04f, -2.205293688e-04f, -2.217611367e-04f, -2.229924458e-04f, -2.242232937e-04f, -2.254536785e-04f, -2.266835981e-04f, -2.279130503e-04f, -2.291420331e-04f,
+-2.303705443e-04f, -2.315985819e-04f, -2.328261438e-04f, -2.340532278e-04f, -2.352798319e-04f, -2.365059540e-04f, -2.377315920e-04f, -2.389567439e-04f, -2.401814074e-04f, -2.414055806e-04f,
+-2.426292613e-04f, -2.438524475e-04f, -2.450751371e-04f, -2.462973280e-04f, -2.475190181e-04f, -2.487402053e-04f, -2.499608876e-04f, -2.511810629e-04f, -2.524007291e-04f, -2.536198841e-04f,
+-2.548385258e-04f, -2.560566522e-04f, -2.572742612e-04f, -2.584913507e-04f, -2.597079187e-04f, -2.609239630e-04f, -2.621394816e-04f, -2.633544725e-04f, -2.645689336e-04f, -2.657828628e-04f,
+-2.669962580e-04f, -2.682091171e-04f, -2.694214382e-04f, -2.706332191e-04f, -2.718444578e-04f, -2.730551523e-04f, -2.742653004e-04f, -2.754749001e-04f, -2.766839493e-04f, -2.778924461e-04f,
+-2.791003882e-04f, -2.803077738e-04f, -2.815146007e-04f, -2.827208668e-04f, -2.839265702e-04f, -2.851317088e-04f, -2.863362805e-04f, -2.875402833e-04f, -2.887437151e-04f, -2.899465739e-04f,
+-2.911488576e-04f, -2.923505642e-04f, -2.935516917e-04f, -2.947522381e-04f, -2.959522011e-04f, -2.971515790e-04f, -2.983503695e-04f, -2.995485707e-04f, -3.007461805e-04f, -3.019431969e-04f,
+-3.031396179e-04f, -3.043354414e-04f, -3.055306654e-04f, -3.067252879e-04f, -3.079193069e-04f, -3.091127202e-04f, -3.103055259e-04f, -3.114977220e-04f, -3.126893065e-04f, -3.138802772e-04f,
+-3.150706323e-04f, -3.162603696e-04f, -3.174494872e-04f, -3.186379830e-04f, -3.198258550e-04f, -3.210131013e-04f, -3.221997198e-04f, -3.233857084e-04f, -3.245710652e-04f, -3.257557882e-04f,
+-3.269398753e-04f, -3.281233245e-04f, -3.293061339e-04f, -3.304883015e-04f, -3.316698251e-04f, -3.328507029e-04f, -3.340309328e-04f, -3.352105128e-04f, -3.363894409e-04f, -3.375677152e-04f,
+-3.387453336e-04f, -3.399222941e-04f, -3.410985947e-04f, -3.422742335e-04f, -3.434492085e-04f, -3.446235176e-04f, -3.457971589e-04f, -3.469701303e-04f, -3.481424300e-04f, -3.493140559e-04f,
+-3.504850060e-04f, -3.516552783e-04f, -3.528248709e-04f, -3.539937818e-04f, -3.551620090e-04f, -3.563295505e-04f, -3.574964044e-04f, -3.586625687e-04f, -3.598280413e-04f, -3.609928204e-04f,
+-3.621569039e-04f, -3.633202900e-04f, -3.644829765e-04f, -3.656449616e-04f, -3.668062433e-04f, -3.679668196e-04f, -3.691266886e-04f, -3.702858482e-04f, -3.714442966e-04f, -3.726020318e-04f,
+-3.737590518e-04f, -3.749153547e-04f, -3.760709385e-04f, -3.772258012e-04f, -3.783799410e-04f, -3.795333558e-04f, -3.806860437e-04f, -3.818380027e-04f, -3.829892310e-04f, -3.841397265e-04f,
+-3.852894873e-04f, -3.864385116e-04f, -3.875867972e-04f, -3.887343424e-04f, -3.898811451e-04f, -3.910272034e-04f, -3.921725154e-04f, -3.933170792e-04f, -3.944608928e-04f, -3.956039543e-04f,
+-3.967462617e-04f, -3.978878131e-04f, -3.990286067e-04f, -4.001686404e-04f, -4.013079124e-04f, -4.024464207e-04f, -4.035841635e-04f, -4.047211387e-04f, -4.058573445e-04f, -4.069927789e-04f,
+-4.081274401e-04f, -4.092613261e-04f, -4.103944350e-04f, -4.115267649e-04f, -4.126583139e-04f, -4.137890800e-04f, -4.149190615e-04f, -4.160482563e-04f, -4.171766626e-04f, -4.183042784e-04f,
+-4.194311019e-04f, -4.205571312e-04f, -4.216823643e-04f, -4.228067994e-04f, -4.239304346e-04f, -4.250532680e-04f, -4.261752976e-04f, -4.272965217e-04f, -4.284169382e-04f, -4.295365454e-04f,
+-4.306553413e-04f, -4.317733240e-04f, -4.328904918e-04f, -4.340068426e-04f, -4.351223746e-04f, -4.362370860e-04f, -4.373509748e-04f, -4.384640392e-04f, -4.395762773e-04f, -4.406876872e-04f,
+-4.417982671e-04f, -4.429080150e-04f, -4.440169292e-04f, -4.451250078e-04f, -4.462322489e-04f, -4.473386505e-04f, -4.484442110e-04f, -4.495489284e-04f, -4.506528008e-04f, -4.517558264e-04f,
+-4.528580034e-04f, -4.539593298e-04f, -4.550598039e-04f, -4.561594238e-04f, -4.572581876e-04f, -4.583560935e-04f, -4.594531397e-04f, -4.605493243e-04f, -4.616446454e-04f, -4.627391012e-04f,
+-4.638326899e-04f, -4.649254097e-04f, -4.660172587e-04f, -4.671082350e-04f, -4.681983369e-04f, -4.692875625e-04f, -4.703759100e-04f, -4.714633775e-04f, -4.725499633e-04f, -4.736356655e-04f,
+-4.747204822e-04f, -4.758044117e-04f, -4.768874522e-04f, -4.779696018e-04f, -4.790508586e-04f, -4.801312210e-04f, -4.812106871e-04f, -4.822892550e-04f, -4.833669230e-04f, -4.844436892e-04f,
+-4.855195519e-04f, -4.865945092e-04f, -4.876685594e-04f, -4.887417006e-04f, -4.898139310e-04f, -4.908852489e-04f, -4.919556524e-04f, -4.930251398e-04f, -4.940937093e-04f, -4.951613590e-04f,
+-4.962280871e-04f, -4.972938920e-04f, -4.983587718e-04f, -4.994227247e-04f, -5.004857489e-04f, -5.015478427e-04f, -5.026090043e-04f, -5.036692318e-04f, -5.047285236e-04f, -5.057868779e-04f,
+-5.068442928e-04f, -5.079007666e-04f, -5.089562976e-04f, -5.100108840e-04f, -5.110645239e-04f, -5.121172157e-04f, -5.131689576e-04f, -5.142197478e-04f, -5.152695846e-04f, -5.163184662e-04f,
+-5.173663908e-04f, -5.184133568e-04f, -5.194593623e-04f, -5.205044056e-04f, -5.215484849e-04f, -5.225915986e-04f, -5.236337448e-04f, -5.246749219e-04f, -5.257151280e-04f, -5.267543615e-04f,
+-5.277926206e-04f, -5.288299035e-04f, -5.298662086e-04f, -5.309015341e-04f, -5.319358783e-04f, -5.329692394e-04f, -5.340016158e-04f, -5.350330056e-04f, -5.360634073e-04f, -5.370928190e-04f,
+-5.381212390e-04f, -5.391486656e-04f, -5.401750972e-04f, -5.412005319e-04f, -5.422249681e-04f, -5.432484041e-04f, -5.442708382e-04f, -5.452922686e-04f, -5.463126937e-04f, -5.473321117e-04f,
+-5.483505210e-04f, -5.493679198e-04f, -5.503843065e-04f, -5.513996793e-04f, -5.524140366e-04f, -5.534273767e-04f, -5.544396979e-04f, -5.554509984e-04f, -5.564612767e-04f, -5.574705310e-04f,
+-5.584787597e-04f, -5.594859610e-04f, -5.604921333e-04f, -5.614972750e-04f, -5.625013842e-04f, -5.635044595e-04f, -5.645064990e-04f, -5.655075012e-04f, -5.665074643e-04f, -5.675063867e-04f,
+-5.685042668e-04f, -5.695011028e-04f, -5.704968932e-04f, -5.714916362e-04f, -5.724853302e-04f, -5.734779735e-04f, -5.744695646e-04f, -5.754601017e-04f, -5.764495832e-04f, -5.774380074e-04f,
+-5.784253728e-04f, -5.794116776e-04f, -5.803969202e-04f, -5.813810991e-04f, -5.823642125e-04f, -5.833462588e-04f, -5.843272364e-04f, -5.853071436e-04f, -5.862859789e-04f, -5.872637406e-04f,
+-5.882404271e-04f, -5.892160367e-04f, -5.901905679e-04f, -5.911640190e-04f, -5.921363883e-04f, -5.931076744e-04f, -5.940778755e-04f, -5.950469902e-04f, -5.960150166e-04f, -5.969819533e-04f,
+-5.979477987e-04f, -5.989125511e-04f, -5.998762089e-04f, -6.008387706e-04f, -6.018002345e-04f, -6.027605991e-04f, -6.037198627e-04f, -6.046780238e-04f, -6.056350808e-04f, -6.065910320e-04f,
+-6.075458760e-04f, -6.084996111e-04f, -6.094522358e-04f, -6.104037484e-04f, -6.113541474e-04f, -6.123034312e-04f, -6.132515982e-04f, -6.141986470e-04f, -6.151445758e-04f, -6.160893832e-04f,
+-6.170330675e-04f, -6.179756272e-04f, -6.189170608e-04f, -6.198573667e-04f, -6.207965433e-04f, -6.217345891e-04f, -6.226715026e-04f, -6.236072821e-04f, -6.245419261e-04f, -6.254754331e-04f,
+-6.264078016e-04f, -6.273390300e-04f, -6.282691167e-04f, -6.291980602e-04f, -6.301258591e-04f, -6.310525117e-04f, -6.319780165e-04f, -6.329023719e-04f, -6.338255766e-04f, -6.347476289e-04f,
+-6.356685273e-04f, -6.365882703e-04f, -6.375068564e-04f, -6.384242840e-04f, -6.393405517e-04f, -6.402556579e-04f, -6.411696012e-04f, -6.420823799e-04f, -6.429939927e-04f, -6.439044379e-04f,
+-6.448137142e-04f, -6.457218199e-04f, -6.466287537e-04f, -6.475345140e-04f, -6.484390992e-04f, -6.493425080e-04f, -6.502447389e-04f, -6.511457902e-04f, -6.520456607e-04f, -6.529443487e-04f,
+-6.538418528e-04f, -6.547381715e-04f, -6.556333033e-04f, -6.565272468e-04f, -6.574200005e-04f, -6.583115630e-04f, -6.592019327e-04f, -6.600911081e-04f, -6.609790879e-04f, -6.618658706e-04f,
+-6.627514547e-04f, -6.636358387e-04f, -6.645190212e-04f, -6.654010007e-04f, -6.662817758e-04f, -6.671613451e-04f, -6.680397071e-04f, -6.689168603e-04f, -6.697928033e-04f, -6.706675347e-04f,
+-6.715410530e-04f, -6.724133568e-04f, -6.732844446e-04f, -6.741543151e-04f, -6.750229668e-04f, -6.758903983e-04f, -6.767566081e-04f, -6.776215949e-04f, -6.784853571e-04f, -6.793478934e-04f,
+-6.802092024e-04f, -6.810692827e-04f, -6.819281328e-04f, -6.827857514e-04f, -6.836421370e-04f, -6.844972882e-04f, -6.853512036e-04f, -6.862038819e-04f, -6.870553216e-04f, -6.879055213e-04f,
+-6.887544796e-04f, -6.896021952e-04f, -6.904486667e-04f, -6.912938926e-04f, -6.921378716e-04f, -6.929806024e-04f, -6.938220834e-04f, -6.946623134e-04f, -6.955012910e-04f, -6.963390147e-04f,
+-6.971754833e-04f, -6.980106953e-04f, -6.988446495e-04f, -6.996773443e-04f, -7.005087785e-04f, -7.013389507e-04f, -7.021678596e-04f, -7.029955038e-04f, -7.038218819e-04f, -7.046469925e-04f,
+-7.054708345e-04f, -7.062934063e-04f, -7.071147066e-04f, -7.079347342e-04f, -7.087534876e-04f, -7.095709656e-04f, -7.103871668e-04f, -7.112020898e-04f, -7.120157334e-04f, -7.128280961e-04f,
+-7.136391768e-04f, -7.144489740e-04f, -7.152574864e-04f, -7.160647128e-04f, -7.168706517e-04f, -7.176753020e-04f, -7.184786622e-04f, -7.192807311e-04f, -7.200815073e-04f, -7.208809896e-04f,
+-7.216791766e-04f, -7.224760671e-04f, -7.232716598e-04f, -7.240659533e-04f, -7.248589464e-04f, -7.256506377e-04f, -7.264410260e-04f, -7.272301101e-04f, -7.280178885e-04f, -7.288043601e-04f,
+-7.295895235e-04f, -7.303733775e-04f, -7.311559208e-04f, -7.319371521e-04f, -7.327170702e-04f, -7.334956738e-04f, -7.342729616e-04f, -7.350489324e-04f, -7.358235849e-04f, -7.365969179e-04f,
+-7.373689300e-04f, -7.381396200e-04f, -7.389089868e-04f, -7.396770290e-04f, -7.404437454e-04f, -7.412091347e-04f, -7.419731957e-04f, -7.427359272e-04f, -7.434973279e-04f, -7.442573967e-04f,
+-7.450161322e-04f, -7.457735332e-04f, -7.465295985e-04f, -7.472843269e-04f, -7.480377172e-04f, -7.487897681e-04f, -7.495404785e-04f, -7.502898470e-04f, -7.510378725e-04f, -7.517845539e-04f,
+-7.525298897e-04f, -7.532738790e-04f, -7.540165204e-04f, -7.547578128e-04f, -7.554977550e-04f, -7.562363457e-04f, -7.569735838e-04f, -7.577094681e-04f, -7.584439974e-04f, -7.591771705e-04f,
+-7.599089863e-04f, -7.606394434e-04f, -7.613685409e-04f, -7.620962774e-04f, -7.628226518e-04f, -7.635476630e-04f, -7.642713098e-04f, -7.649935910e-04f, -7.657145054e-04f, -7.664340519e-04f,
+-7.671522293e-04f, -7.678690364e-04f, -7.685844722e-04f, -7.692985354e-04f, -7.700112250e-04f, -7.707225397e-04f, -7.714324784e-04f, -7.721410400e-04f, -7.728482233e-04f, -7.735540272e-04f,
+-7.742584505e-04f, -7.749614922e-04f, -7.756631511e-04f, -7.763634260e-04f, -7.770623159e-04f, -7.777598196e-04f, -7.784559360e-04f, -7.791506640e-04f, -7.798440024e-04f, -7.805359502e-04f,
+-7.812265062e-04f, -7.819156694e-04f, -7.826034386e-04f, -7.832898127e-04f, -7.839747906e-04f, -7.846583713e-04f, -7.853405535e-04f, -7.860213364e-04f, -7.867007186e-04f, -7.873786992e-04f,
+-7.880552771e-04f, -7.887304512e-04f, -7.894042204e-04f, -7.900765836e-04f, -7.907475397e-04f, -7.914170878e-04f, -7.920852266e-04f, -7.927519552e-04f, -7.934172725e-04f, -7.940811773e-04f,
+-7.947436688e-04f, -7.954047457e-04f, -7.960644070e-04f, -7.967226518e-04f, -7.973794788e-04f, -7.980348872e-04f, -7.986888757e-04f, -7.993414435e-04f, -7.999925894e-04f, -8.006423125e-04f,
+-8.012906116e-04f, -8.019374858e-04f, -8.025829340e-04f, -8.032269552e-04f, -8.038695483e-04f, -8.045107124e-04f, -8.051504464e-04f, -8.057887493e-04f, -8.064256201e-04f, -8.070610577e-04f,
+-8.076950613e-04f, -8.083276297e-04f, -8.089587619e-04f, -8.095884570e-04f, -8.102167139e-04f, -8.108435317e-04f, -8.114689093e-04f, -8.120928458e-04f, -8.127153402e-04f, -8.133363914e-04f,
+-8.139559986e-04f, -8.145741606e-04f, -8.151908767e-04f, -8.158061456e-04f, -8.164199666e-04f, -8.170323386e-04f, -8.176432606e-04f, -8.182527317e-04f, -8.188607509e-04f, -8.194673173e-04f,
+-8.200724298e-04f, -8.206760876e-04f, -8.212782897e-04f, -8.218790351e-04f, -8.224783229e-04f, -8.230761521e-04f, -8.236725218e-04f, -8.242674311e-04f, -8.248608790e-04f, -8.254528646e-04f,
+-8.260433869e-04f, -8.266324450e-04f, -8.272200380e-04f, -8.278061650e-04f, -8.283908250e-04f, -8.289740171e-04f, -8.295557404e-04f, -8.301359940e-04f, -8.307147770e-04f, -8.312920884e-04f,
+-8.318679274e-04f, -8.324422930e-04f, -8.330151844e-04f, -8.335866006e-04f, -8.341565408e-04f, -8.347250040e-04f, -8.352919894e-04f, -8.358574961e-04f, -8.364215231e-04f, -8.369840697e-04f,
+-8.375451349e-04f, -8.381047178e-04f, -8.386628176e-04f, -8.392194334e-04f, -8.397745643e-04f, -8.403282094e-04f, -8.408803680e-04f, -8.414310391e-04f, -8.419802218e-04f, -8.425279154e-04f,
+-8.430741189e-04f, -8.436188315e-04f, -8.441620523e-04f, -8.447037806e-04f, -8.452440154e-04f, -8.457827560e-04f, -8.463200014e-04f, -8.468557508e-04f, -8.473900035e-04f, -8.479227585e-04f,
+-8.484540151e-04f, -8.489837724e-04f, -8.495120296e-04f, -8.500387859e-04f, -8.505640404e-04f, -8.510877924e-04f, -8.516100410e-04f, -8.521307855e-04f, -8.526500249e-04f, -8.531677585e-04f,
+-8.536839856e-04f, -8.541987053e-04f, -8.547119167e-04f, -8.552236192e-04f, -8.557338119e-04f, -8.562424940e-04f, -8.567496648e-04f, -8.572553235e-04f, -8.577594692e-04f, -8.582621012e-04f,
+-8.587632188e-04f, -8.592628211e-04f, -8.597609074e-04f, -8.602574769e-04f, -8.607525289e-04f, -8.612460626e-04f, -8.617380772e-04f, -8.622285719e-04f, -8.627175461e-04f, -8.632049990e-04f,
+-8.636909297e-04f, -8.641753377e-04f, -8.646582220e-04f, -8.651395821e-04f, -8.656194171e-04f, -8.660977263e-04f, -8.665745090e-04f, -8.670497645e-04f, -8.675234919e-04f, -8.679956907e-04f,
+-8.684663601e-04f, -8.689354993e-04f, -8.694031076e-04f, -8.698691844e-04f, -8.703337289e-04f, -8.707967404e-04f, -8.712582181e-04f, -8.717181615e-04f, -8.721765698e-04f, -8.726334423e-04f,
+-8.730887783e-04f, -8.735425771e-04f, -8.739948380e-04f, -8.744455603e-04f, -8.748947434e-04f, -8.753423866e-04f, -8.757884892e-04f, -8.762330504e-04f, -8.766760697e-04f, -8.771175464e-04f,
+-8.775574798e-04f, -8.779958692e-04f, -8.784327140e-04f, -8.788680134e-04f, -8.793017670e-04f, -8.797339739e-04f, -8.801646336e-04f, -8.805937454e-04f, -8.810213086e-04f, -8.814473227e-04f,
+-8.818717869e-04f, -8.822947007e-04f, -8.827160633e-04f, -8.831358742e-04f, -8.835541327e-04f, -8.839708382e-04f, -8.843859902e-04f, -8.847995878e-04f, -8.852116306e-04f, -8.856221180e-04f,
+-8.860310492e-04f, -8.864384237e-04f, -8.868442409e-04f, -8.872485002e-04f, -8.876512010e-04f, -8.880523427e-04f, -8.884519246e-04f, -8.888499462e-04f, -8.892464069e-04f, -8.896413062e-04f,
+-8.900346433e-04f, -8.904264178e-04f, -8.908166290e-04f, -8.912052764e-04f, -8.915923594e-04f, -8.919778775e-04f, -8.923618300e-04f, -8.927442164e-04f, -8.931250361e-04f, -8.935042886e-04f,
+-8.938819732e-04f, -8.942580896e-04f, -8.946326370e-04f, -8.950056150e-04f, -8.953770229e-04f, -8.957468604e-04f, -8.961151267e-04f, -8.964818214e-04f, -8.968469439e-04f, -8.972104938e-04f,
+-8.975724704e-04f, -8.979328732e-04f, -8.982917017e-04f, -8.986489555e-04f, -8.990046339e-04f, -8.993587364e-04f, -8.997112626e-04f, -9.000622119e-04f, -9.004115838e-04f, -9.007593779e-04f,
+-9.011055935e-04f, -9.014502302e-04f, -9.017932875e-04f, -9.021347650e-04f, -9.024746620e-04f, -9.028129782e-04f, -9.031497130e-04f, -9.034848660e-04f, -9.038184366e-04f, -9.041504244e-04f,
+-9.044808290e-04f, -9.048096498e-04f, -9.051368863e-04f, -9.054625382e-04f, -9.057866048e-04f, -9.061090859e-04f, -9.064299809e-04f, -9.067492893e-04f, -9.070670108e-04f, -9.073831447e-04f,
+-9.076976908e-04f, -9.080106486e-04f, -9.083220175e-04f, -9.086317973e-04f, -9.089399873e-04f, -9.092465873e-04f, -9.095515968e-04f, -9.098550152e-04f, -9.101568423e-04f, -9.104570776e-04f,
+-9.107557207e-04f, -9.110527711e-04f, -9.113482284e-04f, -9.116420923e-04f, -9.119343623e-04f, -9.122250379e-04f, -9.125141189e-04f, -9.128016048e-04f, -9.130874952e-04f, -9.133717897e-04f,
+-9.136544879e-04f, -9.139355894e-04f, -9.142150939e-04f, -9.144930009e-04f, -9.147693101e-04f, -9.150440210e-04f, -9.153171334e-04f, -9.155886469e-04f, -9.158585609e-04f, -9.161268753e-04f,
+-9.163935897e-04f, -9.166587036e-04f, -9.169222167e-04f, -9.171841287e-04f, -9.174444391e-04f, -9.177031478e-04f, -9.179602542e-04f, -9.182157581e-04f, -9.184696591e-04f, -9.187219568e-04f,
+-9.189726510e-04f, -9.192217414e-04f, -9.194692274e-04f, -9.197151090e-04f, -9.199593856e-04f, -9.202020570e-04f, -9.204431229e-04f, -9.206825830e-04f, -9.209204369e-04f, -9.211566843e-04f,
+-9.213913249e-04f, -9.216243585e-04f, -9.218557847e-04f, -9.220856031e-04f, -9.223138136e-04f, -9.225404158e-04f, -9.227654094e-04f, -9.229887941e-04f, -9.232105697e-04f, -9.234307358e-04f,
+-9.236492922e-04f, -9.238662386e-04f, -9.240815748e-04f, -9.242953004e-04f, -9.245074151e-04f, -9.247179188e-04f, -9.249268111e-04f, -9.251340919e-04f, -9.253397607e-04f, -9.255438174e-04f,
+-9.257462617e-04f, -9.259470934e-04f, -9.261463123e-04f, -9.263439180e-04f, -9.265399103e-04f, -9.267342890e-04f, -9.269270539e-04f, -9.271182047e-04f, -9.273077412e-04f, -9.274956631e-04f,
+-9.276819703e-04f, -9.278666626e-04f, -9.280497396e-04f, -9.282312012e-04f, -9.284110471e-04f, -9.285892772e-04f, -9.287658913e-04f, -9.289408891e-04f, -9.291142704e-04f, -9.292860351e-04f,
+-9.294561829e-04f, -9.296247137e-04f, -9.297916272e-04f, -9.299569233e-04f, -9.301206017e-04f, -9.302826624e-04f, -9.304431051e-04f, -9.306019296e-04f, -9.307591358e-04f, -9.309147234e-04f,
+-9.310686924e-04f, -9.312210426e-04f, -9.313717737e-04f, -9.315208857e-04f, -9.316683783e-04f, -9.318142515e-04f, -9.319585050e-04f, -9.321011388e-04f, -9.322421526e-04f, -9.323815463e-04f,
+-9.325193199e-04f, -9.326554730e-04f, -9.327900057e-04f, -9.329229178e-04f, -9.330542091e-04f, -9.331838796e-04f, -9.333119290e-04f, -9.334383573e-04f, -9.335631644e-04f, -9.336863501e-04f,
+-9.338079144e-04f, -9.339278571e-04f, -9.340461780e-04f, -9.341628772e-04f, -9.342779545e-04f, -9.343914098e-04f, -9.345032431e-04f, -9.346134541e-04f, -9.347220429e-04f, -9.348290093e-04f,
+-9.349343532e-04f, -9.350380747e-04f, -9.351401735e-04f, -9.352406496e-04f, -9.353395030e-04f, -9.354367336e-04f, -9.355323413e-04f, -9.356263260e-04f, -9.357186876e-04f, -9.358094263e-04f,
+-9.358985417e-04f, -9.359860340e-04f, -9.360719030e-04f, -9.361561488e-04f, -9.362387712e-04f, -9.363197702e-04f, -9.363991458e-04f, -9.364768979e-04f, -9.365530266e-04f, -9.366275317e-04f,
+-9.367004133e-04f, -9.367716713e-04f, -9.368413057e-04f, -9.369093165e-04f, -9.369757036e-04f, -9.370404671e-04f, -9.371036069e-04f, -9.371651231e-04f, -9.372250156e-04f, -9.372832844e-04f,
+-9.373399295e-04f, -9.373949509e-04f, -9.374483487e-04f, -9.375001227e-04f, -9.375502732e-04f, -9.375988000e-04f, -9.376457031e-04f, -9.376909827e-04f, -9.377346386e-04f, -9.377766710e-04f,
+-9.378170799e-04f, -9.378558653e-04f, -9.378930272e-04f, -9.379285656e-04f, -9.379624807e-04f, -9.379947724e-04f, -9.380254408e-04f, -9.380544859e-04f, -9.380819079e-04f, -9.381077066e-04f,
+-9.381318823e-04f, -9.381544349e-04f, -9.381753645e-04f, -9.381946712e-04f, -9.382123551e-04f, -9.382284162e-04f, -9.382428545e-04f, -9.382556702e-04f, -9.382668634e-04f, -9.382764341e-04f,
+-9.382843824e-04f, -9.382907083e-04f, -9.382954121e-04f, -9.382984937e-04f, -9.382999533e-04f, -9.382997910e-04f, -9.382980068e-04f, -9.382946009e-04f, -9.382895734e-04f, -9.382829244e-04f,
+-9.382746539e-04f, -9.382647622e-04f, -9.382532493e-04f, -9.382401153e-04f, -9.382253604e-04f, -9.382089847e-04f, -9.381909884e-04f, -9.381713714e-04f, -9.381501341e-04f, -9.381272765e-04f,
+-9.381027988e-04f, -9.380767010e-04f, -9.380489834e-04f, -9.380196462e-04f, -9.379886893e-04f, -9.379561131e-04f, -9.379219176e-04f, -9.378861031e-04f, -9.378486696e-04f, -9.378096174e-04f,
+-9.377689466e-04f, -9.377266574e-04f, -9.376827499e-04f, -9.376372244e-04f, -9.375900810e-04f, -9.375413198e-04f, -9.374909412e-04f, -9.374389452e-04f, -9.373853320e-04f, -9.373301020e-04f,
+-9.372732551e-04f, -9.372147917e-04f, -9.371547119e-04f, -9.370930160e-04f, -9.370297041e-04f, -9.369647765e-04f, -9.368982333e-04f, -9.368300749e-04f, -9.367603013e-04f, -9.366889129e-04f,
+-9.366159098e-04f, -9.365412923e-04f, -9.364650606e-04f, -9.363872149e-04f, -9.363077555e-04f, -9.362266826e-04f, -9.361439964e-04f, -9.360596973e-04f, -9.359737853e-04f, -9.358862608e-04f,
+-9.357971241e-04f, -9.357063754e-04f, -9.356140148e-04f, -9.355200428e-04f, -9.354244596e-04f, -9.353272654e-04f, -9.352284604e-04f, -9.351280451e-04f, -9.350260196e-04f, -9.349223842e-04f,
+-9.348171391e-04f, -9.347102848e-04f, -9.346018214e-04f, -9.344917493e-04f, -9.343800686e-04f, -9.342667799e-04f, -9.341518832e-04f, -9.340353790e-04f, -9.339172674e-04f, -9.337975489e-04f,
+-9.336762238e-04f, -9.335532922e-04f, -9.334287546e-04f, -9.333026113e-04f, -9.331748626e-04f, -9.330455087e-04f, -9.329145501e-04f, -9.327819871e-04f, -9.326478199e-04f, -9.325120489e-04f,
+-9.323746745e-04f, -9.322356969e-04f, -9.320951166e-04f, -9.319529338e-04f, -9.318091490e-04f, -9.316637624e-04f, -9.315167743e-04f, -9.313681853e-04f, -9.312179955e-04f, -9.310662055e-04f,
+-9.309128154e-04f, -9.307578258e-04f, -9.306012369e-04f, -9.304430492e-04f, -9.302832629e-04f, -9.301218785e-04f, -9.299588964e-04f, -9.297943170e-04f, -9.296281405e-04f, -9.294603675e-04f,
+-9.292909982e-04f, -9.291200331e-04f, -9.289474727e-04f, -9.287733171e-04f, -9.285975670e-04f, -9.284202227e-04f, -9.282412845e-04f, -9.280607529e-04f, -9.278786283e-04f, -9.276949112e-04f,
+-9.275096018e-04f, -9.273227008e-04f, -9.271342084e-04f, -9.269441251e-04f, -9.267524513e-04f, -9.265591874e-04f, -9.263643340e-04f, -9.261678913e-04f, -9.259698600e-04f, -9.257702403e-04f,
+-9.255690328e-04f, -9.253662378e-04f, -9.251618559e-04f, -9.249558875e-04f, -9.247483330e-04f, -9.245391929e-04f, -9.243284677e-04f, -9.241161578e-04f, -9.239022636e-04f, -9.236867858e-04f,
+-9.234697246e-04f, -9.232510807e-04f, -9.230308544e-04f, -9.228090462e-04f, -9.225856567e-04f, -9.223606863e-04f, -9.221341355e-04f, -9.219060048e-04f, -9.216762947e-04f, -9.214450057e-04f,
+-9.212121382e-04f, -9.209776928e-04f, -9.207416700e-04f, -9.205040703e-04f, -9.202648941e-04f, -9.200241421e-04f, -9.197818147e-04f, -9.195379124e-04f, -9.192924357e-04f, -9.190453853e-04f,
+-9.187967615e-04f, -9.185465650e-04f, -9.182947962e-04f, -9.180414556e-04f, -9.177865440e-04f, -9.175300616e-04f, -9.172720092e-04f, -9.170123872e-04f, -9.167511962e-04f, -9.164884367e-04f,
+-9.162241093e-04f, -9.159582146e-04f, -9.156907531e-04f, -9.154217253e-04f, -9.151511318e-04f, -9.148789732e-04f, -9.146052501e-04f, -9.143299630e-04f, -9.140531125e-04f, -9.137746991e-04f,
+-9.134947235e-04f, -9.132131862e-04f, -9.129300879e-04f, -9.126454290e-04f, -9.123592102e-04f, -9.120714321e-04f, -9.117820952e-04f, -9.114912002e-04f, -9.111987477e-04f, -9.109047383e-04f,
+-9.106091725e-04f, -9.103120510e-04f, -9.100133744e-04f, -9.097131433e-04f, -9.094113583e-04f, -9.091080200e-04f, -9.088031291e-04f, -9.084966861e-04f, -9.081886918e-04f, -9.078791467e-04f,
+-9.075680515e-04f, -9.072554067e-04f, -9.069412131e-04f, -9.066254712e-04f, -9.063081818e-04f, -9.059893454e-04f, -9.056689627e-04f, -9.053470344e-04f, -9.050235611e-04f, -9.046985434e-04f,
+-9.043719821e-04f, -9.040438777e-04f, -9.037142310e-04f, -9.033830425e-04f, -9.030503131e-04f, -9.027160433e-04f, -9.023802338e-04f, -9.020428853e-04f, -9.017039984e-04f, -9.013635739e-04f,
+-9.010216125e-04f, -9.006781147e-04f, -9.003330814e-04f, -8.999865131e-04f, -8.996384107e-04f, -8.992887748e-04f, -8.989376060e-04f, -8.985849051e-04f, -8.982306729e-04f, -8.978749099e-04f,
+-8.975176169e-04f, -8.971587947e-04f, -8.967984439e-04f, -8.964365653e-04f, -8.960731595e-04f, -8.957082273e-04f, -8.953417695e-04f, -8.949737867e-04f, -8.946042797e-04f, -8.942332492e-04f,
+-8.938606960e-04f, -8.934866207e-04f, -8.931110242e-04f, -8.927339072e-04f, -8.923552704e-04f, -8.919751145e-04f, -8.915934404e-04f, -8.912102487e-04f, -8.908255403e-04f, -8.904393158e-04f,
+-8.900515761e-04f, -8.896623220e-04f, -8.892715540e-04f, -8.888792732e-04f, -8.884854802e-04f, -8.880901757e-04f, -8.876933607e-04f, -8.872950357e-04f, -8.868952018e-04f, -8.864938595e-04f,
+-8.860910097e-04f, -8.856866533e-04f, -8.852807909e-04f, -8.848734234e-04f, -8.844645516e-04f, -8.840541762e-04f, -8.836422982e-04f, -8.832289182e-04f, -8.828140371e-04f, -8.823976557e-04f,
+-8.819797748e-04f, -8.815603953e-04f, -8.811395179e-04f, -8.807171435e-04f, -8.802932729e-04f, -8.798679069e-04f, -8.794410463e-04f, -8.790126920e-04f, -8.785828448e-04f, -8.781515056e-04f,
+-8.777186751e-04f, -8.772843543e-04f, -8.768485439e-04f, -8.764112448e-04f, -8.759724579e-04f, -8.755321840e-04f, -8.750904240e-04f, -8.746471786e-04f, -8.742024489e-04f, -8.737562356e-04f,
+-8.733085396e-04f, -8.728593617e-04f, -8.724087029e-04f, -8.719565640e-04f, -8.715029458e-04f, -8.710478494e-04f, -8.705912754e-04f, -8.701332249e-04f, -8.696736986e-04f, -8.692126975e-04f,
+-8.687502225e-04f, -8.682862745e-04f, -8.678208543e-04f, -8.673539628e-04f, -8.668856010e-04f, -8.664157698e-04f, -8.659444700e-04f, -8.654717025e-04f, -8.649974683e-04f, -8.645217683e-04f,
+-8.640446034e-04f, -8.635659744e-04f, -8.630858824e-04f, -8.626043282e-04f, -8.621213128e-04f, -8.616368371e-04f, -8.611509020e-04f, -8.606635084e-04f, -8.601746574e-04f, -8.596843497e-04f,
+-8.591925864e-04f, -8.586993683e-04f, -8.582046966e-04f, -8.577085720e-04f, -8.572109955e-04f, -8.567119681e-04f, -8.562114907e-04f, -8.557095643e-04f, -8.552061898e-04f, -8.547013683e-04f,
+-8.541951006e-04f, -8.536873878e-04f, -8.531782307e-04f, -8.526676304e-04f, -8.521555878e-04f, -8.516421040e-04f, -8.511271798e-04f, -8.506108163e-04f, -8.500930145e-04f, -8.495737753e-04f,
+-8.490530997e-04f, -8.485309887e-04f, -8.480074433e-04f, -8.474824646e-04f, -8.469560534e-04f, -8.464282108e-04f, -8.458989377e-04f, -8.453682353e-04f, -8.448361045e-04f, -8.443025463e-04f,
+-8.437675617e-04f, -8.432311517e-04f, -8.426933174e-04f, -8.421540597e-04f, -8.416133797e-04f, -8.410712785e-04f, -8.405277569e-04f, -8.399828162e-04f, -8.394364572e-04f, -8.388886810e-04f,
+-8.383394887e-04f, -8.377888813e-04f, -8.372368598e-04f, -8.366834253e-04f, -8.361285788e-04f, -8.355723214e-04f, -8.350146541e-04f, -8.344555780e-04f, -8.338950941e-04f, -8.333332034e-04f,
+-8.327699071e-04f, -8.322052062e-04f, -8.316391017e-04f, -8.310715948e-04f, -8.305026864e-04f, -8.299323778e-04f, -8.293606698e-04f, -8.287875637e-04f, -8.282130604e-04f, -8.276371611e-04f,
+-8.270598669e-04f, -8.264811788e-04f, -8.259010979e-04f, -8.253196253e-04f, -8.247367621e-04f, -8.241525094e-04f, -8.235668683e-04f, -8.229798399e-04f, -8.223914252e-04f, -8.218016255e-04f,
+-8.212104418e-04f, -8.206178751e-04f, -8.200239267e-04f, -8.194285976e-04f, -8.188318889e-04f, -8.182338018e-04f, -8.176343374e-04f, -8.170334967e-04f, -8.164312810e-04f, -8.158276914e-04f,
+-8.152227289e-04f, -8.146163947e-04f, -8.140086899e-04f, -8.133996158e-04f, -8.127891733e-04f, -8.121773637e-04f, -8.115641881e-04f, -8.109496476e-04f, -8.103337435e-04f, -8.097164767e-04f,
+-8.090978486e-04f, -8.084778601e-04f, -8.078565126e-04f, -8.072338072e-04f, -8.066097449e-04f, -8.059843270e-04f, -8.053575547e-04f, -8.047294291e-04f, -8.040999514e-04f, -8.034691227e-04f,
+-8.028369442e-04f, -8.022034172e-04f, -8.015685427e-04f, -8.009323220e-04f, -8.002947562e-04f, -7.996558466e-04f, -7.990155943e-04f, -7.983740005e-04f, -7.977310664e-04f, -7.970867931e-04f,
+-7.964411820e-04f, -7.957942342e-04f, -7.951459509e-04f, -7.944963332e-04f, -7.938453825e-04f, -7.931930998e-04f, -7.925394865e-04f, -7.918845437e-04f, -7.912282727e-04f, -7.905706746e-04f,
+-7.899117507e-04f, -7.892515023e-04f, -7.885899304e-04f, -7.879270364e-04f, -7.872628214e-04f, -7.865972868e-04f, -7.859304337e-04f, -7.852622634e-04f, -7.845927771e-04f, -7.839219761e-04f,
+-7.832498615e-04f, -7.825764347e-04f, -7.819016969e-04f, -7.812256493e-04f, -7.805482931e-04f, -7.798696297e-04f, -7.791896603e-04f, -7.785083862e-04f, -7.778258085e-04f, -7.771419286e-04f,
+-7.764567477e-04f, -7.757702671e-04f, -7.750824880e-04f, -7.743934118e-04f, -7.737030397e-04f, -7.730113729e-04f, -7.723184128e-04f, -7.716241606e-04f, -7.709286176e-04f, -7.702317851e-04f,
+-7.695336644e-04f, -7.688342567e-04f, -7.681335634e-04f, -7.674315857e-04f, -7.667283249e-04f, -7.660237824e-04f, -7.653179594e-04f, -7.646108572e-04f, -7.639024771e-04f, -7.631928205e-04f,
+-7.624818886e-04f, -7.617696827e-04f, -7.610562042e-04f, -7.603414543e-04f, -7.596254345e-04f, -7.589081459e-04f, -7.581895899e-04f, -7.574697679e-04f, -7.567486811e-04f, -7.560263309e-04f,
+-7.553027186e-04f, -7.545778455e-04f, -7.538517131e-04f, -7.531243225e-04f, -7.523956751e-04f, -7.516657723e-04f, -7.509346155e-04f, -7.502022059e-04f, -7.494685449e-04f, -7.487336338e-04f,
+-7.479974740e-04f, -7.472600669e-04f, -7.465214138e-04f, -7.457815160e-04f, -7.450403749e-04f, -7.442979919e-04f, -7.435543683e-04f, -7.428095055e-04f, -7.420634048e-04f, -7.413160677e-04f,
+-7.405674955e-04f, -7.398176895e-04f, -7.390666511e-04f, -7.383143817e-04f, -7.375608827e-04f, -7.368061555e-04f, -7.360502014e-04f, -7.352930218e-04f, -7.345346182e-04f, -7.337749918e-04f,
+-7.330141441e-04f, -7.322520765e-04f, -7.314887904e-04f, -7.307242871e-04f, -7.299585681e-04f, -7.291916347e-04f, -7.284234884e-04f, -7.276541306e-04f, -7.268835626e-04f, -7.261117859e-04f,
+-7.253388018e-04f, -7.245646119e-04f, -7.237892175e-04f, -7.230126200e-04f, -7.222348208e-04f, -7.214558214e-04f, -7.206756232e-04f, -7.198942276e-04f, -7.191116360e-04f, -7.183278499e-04f,
+-7.175428706e-04f, -7.167566997e-04f, -7.159693385e-04f, -7.151807885e-04f, -7.143910511e-04f, -7.136001277e-04f, -7.128080199e-04f, -7.120147290e-04f, -7.112202565e-04f, -7.104246038e-04f,
+-7.096277724e-04f, -7.088297637e-04f, -7.080305793e-04f, -7.072302204e-04f, -7.064286887e-04f, -7.056259855e-04f, -7.048221123e-04f, -7.040170706e-04f, -7.032108618e-04f, -7.024034874e-04f,
+-7.015949489e-04f, -7.007852478e-04f, -6.999743855e-04f, -6.991623634e-04f, -6.983491831e-04f, -6.975348461e-04f, -6.967193538e-04f, -6.959027077e-04f, -6.950849092e-04f, -6.942659600e-04f,
+-6.934458614e-04f, -6.926246149e-04f, -6.918022221e-04f, -6.909786844e-04f, -6.901540034e-04f, -6.893281804e-04f, -6.885012171e-04f, -6.876731149e-04f, -6.868438753e-04f, -6.860134999e-04f,
+-6.851819901e-04f, -6.843493474e-04f, -6.835155734e-04f, -6.826806695e-04f, -6.818446373e-04f, -6.810074783e-04f, -6.801691940e-04f, -6.793297859e-04f, -6.784892556e-04f, -6.776476046e-04f,
+-6.768048343e-04f, -6.759609463e-04f, -6.751159423e-04f, -6.742698235e-04f, -6.734225917e-04f, -6.725742484e-04f, -6.717247950e-04f, -6.708742331e-04f, -6.700225643e-04f, -6.691697901e-04f,
+-6.683159120e-04f, -6.674609316e-04f, -6.666048504e-04f, -6.657476701e-04f, -6.648893920e-04f, -6.640300178e-04f, -6.631695491e-04f, -6.623079873e-04f, -6.614453341e-04f, -6.605815910e-04f,
+-6.597167595e-04f, -6.588508413e-04f, -6.579838379e-04f, -6.571157508e-04f, -6.562465817e-04f, -6.553763320e-04f, -6.545050034e-04f, -6.536325975e-04f, -6.527591158e-04f, -6.518845598e-04f,
+-6.510089313e-04f, -6.501322316e-04f, -6.492544626e-04f, -6.483756256e-04f, -6.474957223e-04f, -6.466147543e-04f, -6.457327232e-04f, -6.448496306e-04f, -6.439654780e-04f, -6.430802671e-04f,
+-6.421939995e-04f, -6.413066766e-04f, -6.404183003e-04f, -6.395288720e-04f, -6.386383933e-04f, -6.377468659e-04f, -6.368542913e-04f, -6.359606712e-04f, -6.350660072e-04f, -6.341703009e-04f,
+-6.332735539e-04f, -6.323757678e-04f, -6.314769443e-04f, -6.305770849e-04f, -6.296761913e-04f, -6.287742651e-04f, -6.278713078e-04f, -6.269673213e-04f, -6.260623070e-04f, -6.251562666e-04f,
+-6.242492017e-04f, -6.233411140e-04f, -6.224320051e-04f, -6.215218766e-04f, -6.206107302e-04f, -6.196985674e-04f, -6.187853900e-04f, -6.178711997e-04f, -6.169559979e-04f, -6.160397864e-04f,
+-6.151225668e-04f, -6.142043408e-04f, -6.132851100e-04f, -6.123648761e-04f, -6.114436406e-04f, -6.105214054e-04f, -6.095981720e-04f, -6.086739421e-04f, -6.077487173e-04f, -6.068224994e-04f,
+-6.058952899e-04f, -6.049670905e-04f, -6.040379030e-04f, -6.031077289e-04f, -6.021765700e-04f, -6.012444279e-04f, -6.003113043e-04f, -5.993772008e-04f, -5.984421191e-04f, -5.975060610e-04f,
+-5.965690281e-04f, -5.956310220e-04f, -5.946920445e-04f, -5.937520972e-04f, -5.928111818e-04f, -5.918693000e-04f, -5.909264536e-04f, -5.899826441e-04f, -5.890378733e-04f, -5.880921428e-04f,
+-5.871454544e-04f, -5.861978098e-04f, -5.852492107e-04f, -5.842996586e-04f, -5.833491555e-04f, -5.823977029e-04f, -5.814453026e-04f, -5.804919562e-04f, -5.795376655e-04f, -5.785824322e-04f,
+-5.776262580e-04f, -5.766691446e-04f, -5.757110937e-04f, -5.747521070e-04f, -5.737921863e-04f, -5.728313332e-04f, -5.718695496e-04f, -5.709068370e-04f, -5.699431973e-04f, -5.689786321e-04f,
+-5.680131431e-04f, -5.670467322e-04f, -5.660794010e-04f, -5.651111513e-04f, -5.641419847e-04f, -5.631719031e-04f, -5.622009081e-04f, -5.612290015e-04f, -5.602561851e-04f, -5.592824605e-04f,
+-5.583078295e-04f, -5.573322938e-04f, -5.563558552e-04f, -5.553785155e-04f, -5.544002764e-04f, -5.534211395e-04f, -5.524411068e-04f, -5.514601798e-04f, -5.504783605e-04f, -5.494956504e-04f,
+-5.485120515e-04f, -5.475275653e-04f, -5.465421938e-04f, -5.455559386e-04f, -5.445688015e-04f, -5.435807843e-04f, -5.425918888e-04f, -5.416021166e-04f, -5.406114696e-04f, -5.396199495e-04f,
+-5.386275582e-04f, -5.376342973e-04f, -5.366401686e-04f, -5.356451739e-04f, -5.346493151e-04f, -5.336525938e-04f, -5.326550118e-04f, -5.316565709e-04f, -5.306572730e-04f, -5.296571197e-04f,
+-5.286561129e-04f, -5.276542543e-04f, -5.266515457e-04f, -5.256479890e-04f, -5.246435858e-04f, -5.236383381e-04f, -5.226322475e-04f, -5.216253159e-04f, -5.206175450e-04f, -5.196089367e-04f,
+-5.185994928e-04f, -5.175892150e-04f, -5.165781052e-04f, -5.155661651e-04f, -5.145533965e-04f, -5.135398013e-04f, -5.125253813e-04f, -5.115101382e-04f, -5.104940739e-04f, -5.094771902e-04f,
+-5.084594888e-04f, -5.074409716e-04f, -5.064216405e-04f, -5.054014971e-04f, -5.043805434e-04f, -5.033587811e-04f, -5.023362121e-04f, -5.013128382e-04f, -5.002886612e-04f, -4.992636829e-04f,
+-4.982379051e-04f, -4.972113297e-04f, -4.961839584e-04f, -4.951557932e-04f, -4.941268359e-04f, -4.930970882e-04f, -4.920665520e-04f, -4.910352291e-04f, -4.900031214e-04f, -4.889702306e-04f,
+-4.879365587e-04f, -4.869021075e-04f, -4.858668788e-04f, -4.848308743e-04f, -4.837940961e-04f, -4.827565459e-04f, -4.817182256e-04f, -4.806791369e-04f, -4.796392818e-04f, -4.785986621e-04f,
+-4.775572796e-04f, -4.765151362e-04f, -4.754722337e-04f, -4.744285740e-04f, -4.733841590e-04f, -4.723389904e-04f, -4.712930702e-04f, -4.702464001e-04f, -4.691989822e-04f, -4.681508181e-04f,
+-4.671019098e-04f, -4.660522591e-04f, -4.650018679e-04f, -4.639507380e-04f, -4.628988714e-04f, -4.618462698e-04f, -4.607929352e-04f, -4.597388694e-04f, -4.586840742e-04f, -4.576285516e-04f,
+-4.565723035e-04f, -4.555153316e-04f, -4.544576378e-04f, -4.533992241e-04f, -4.523400923e-04f, -4.512802442e-04f, -4.502196819e-04f, -4.491584070e-04f, -4.480964216e-04f, -4.470337274e-04f,
+-4.459703265e-04f, -4.449062206e-04f, -4.438414116e-04f, -4.427759015e-04f, -4.417096920e-04f, -4.406427852e-04f, -4.395751828e-04f, -4.385068868e-04f, -4.374378991e-04f, -4.363682216e-04f,
+-4.352978560e-04f, -4.342268045e-04f, -4.331550687e-04f, -4.320826507e-04f, -4.310095523e-04f, -4.299357754e-04f, -4.288613220e-04f, -4.277861938e-04f, -4.267103929e-04f, -4.256339211e-04f,
+-4.245567803e-04f, -4.234789725e-04f, -4.224004995e-04f, -4.213213632e-04f, -4.202415656e-04f, -4.191611085e-04f, -4.180799939e-04f, -4.169982237e-04f, -4.159157997e-04f, -4.148327240e-04f,
+-4.137489983e-04f, -4.126646247e-04f, -4.115796050e-04f, -4.104939411e-04f, -4.094076351e-04f, -4.083206887e-04f, -4.072331039e-04f, -4.061448826e-04f, -4.050560268e-04f, -4.039665384e-04f,
+-4.028764192e-04f, -4.017856713e-04f, -4.006942965e-04f, -3.996022967e-04f, -3.985096740e-04f, -3.974164301e-04f, -3.963225672e-04f, -3.952280870e-04f, -3.941329915e-04f, -3.930372826e-04f,
+-3.919409623e-04f, -3.908440325e-04f, -3.897464952e-04f, -3.886483522e-04f, -3.875496055e-04f, -3.864502571e-04f, -3.853503089e-04f, -3.842497628e-04f, -3.831486207e-04f, -3.820468847e-04f,
+-3.809445566e-04f, -3.798416383e-04f, -3.787381320e-04f, -3.776340394e-04f, -3.765293625e-04f, -3.754241032e-04f, -3.743182636e-04f, -3.732118456e-04f, -3.721048510e-04f, -3.709972820e-04f,
+-3.698891403e-04f, -3.687804280e-04f, -3.676711470e-04f, -3.665612992e-04f, -3.654508867e-04f, -3.643399114e-04f, -3.632283752e-04f, -3.621162800e-04f, -3.610036280e-04f, -3.598904209e-04f,
+-3.587766608e-04f, -3.576623496e-04f, -3.565474892e-04f, -3.554320818e-04f, -3.543161291e-04f, -3.531996332e-04f, -3.520825960e-04f, -3.509650195e-04f, -3.498469057e-04f, -3.487282566e-04f,
+-3.476090740e-04f, -3.464893599e-04f, -3.453691164e-04f, -3.442483454e-04f, -3.431270489e-04f, -3.420052289e-04f, -3.408828872e-04f, -3.397600259e-04f, -3.386366470e-04f, -3.375127524e-04f,
+-3.363883442e-04f, -3.352634242e-04f, -3.341379944e-04f, -3.330120570e-04f, -3.318856137e-04f, -3.307586666e-04f, -3.296312178e-04f, -3.285032690e-04f, -3.273748224e-04f, -3.262458799e-04f,
+-3.251164436e-04f, -3.239865153e-04f, -3.228560971e-04f, -3.217251909e-04f, -3.205937988e-04f, -3.194619227e-04f, -3.183295646e-04f, -3.171967265e-04f, -3.160634104e-04f, -3.149296182e-04f,
+-3.137953521e-04f, -3.126606139e-04f, -3.115254056e-04f, -3.103897293e-04f, -3.092535869e-04f, -3.081169805e-04f, -3.069799119e-04f, -3.058423833e-04f, -3.047043966e-04f, -3.035659538e-04f,
+-3.024270568e-04f, -3.012877078e-04f, -3.001479087e-04f, -2.990076615e-04f, -2.978669681e-04f, -2.967258307e-04f, -2.955842511e-04f, -2.944422315e-04f, -2.932997737e-04f, -2.921568798e-04f,
+-2.910135519e-04f, -2.898697918e-04f, -2.887256017e-04f, -2.875809834e-04f, -2.864359391e-04f, -2.852904707e-04f, -2.841445803e-04f, -2.829982697e-04f, -2.818515412e-04f, -2.807043965e-04f,
+-2.795568379e-04f, -2.784088672e-04f, -2.772604865e-04f, -2.761116978e-04f, -2.749625031e-04f, -2.738129044e-04f, -2.726629037e-04f, -2.715125031e-04f, -2.703617046e-04f, -2.692105101e-04f,
+-2.680589217e-04f, -2.669069414e-04f, -2.657545712e-04f, -2.646018132e-04f, -2.634486693e-04f, -2.622951415e-04f, -2.611412320e-04f, -2.599869427e-04f, -2.588322755e-04f, -2.576772327e-04f,
+-2.565218161e-04f, -2.553660277e-04f, -2.542098697e-04f, -2.530533440e-04f, -2.518964527e-04f, -2.507391977e-04f, -2.495815812e-04f, -2.484236050e-04f, -2.472652713e-04f, -2.461065820e-04f,
+-2.449475393e-04f, -2.437881451e-04f, -2.426284014e-04f, -2.414683103e-04f, -2.403078738e-04f, -2.391470939e-04f, -2.379859726e-04f, -2.368245121e-04f, -2.356627143e-04f, -2.345005812e-04f,
+-2.333381148e-04f, -2.321753173e-04f, -2.310121906e-04f, -2.298487368e-04f, -2.286849579e-04f, -2.275208559e-04f, -2.263564328e-04f, -2.251916908e-04f, -2.240266318e-04f, -2.228612578e-04f,
+-2.216955710e-04f, -2.205295732e-04f, -2.193632667e-04f, -2.181966533e-04f, -2.170297352e-04f, -2.158625143e-04f, -2.146949927e-04f, -2.135271725e-04f, -2.123590557e-04f, -2.111906443e-04f,
+-2.100219404e-04f, -2.088529460e-04f, -2.076836631e-04f, -2.065140937e-04f, -2.053442400e-04f, -2.041741040e-04f, -2.030036876e-04f, -2.018329930e-04f, -2.006620222e-04f, -1.994907772e-04f,
+-1.983192600e-04f, -1.971474728e-04f, -1.959754175e-04f, -1.948030962e-04f, -1.936305109e-04f, -1.924576637e-04f, -1.912845566e-04f, -1.901111917e-04f, -1.889375710e-04f, -1.877636965e-04f,
+-1.865895704e-04f, -1.854151946e-04f, -1.842405712e-04f, -1.830657022e-04f, -1.818905897e-04f, -1.807152358e-04f, -1.795396424e-04f, -1.783638116e-04f, -1.771877456e-04f, -1.760114462e-04f,
+-1.748349156e-04f, -1.736581558e-04f, -1.724811689e-04f, -1.713039569e-04f, -1.701265219e-04f, -1.689488659e-04f, -1.677709909e-04f, -1.665928990e-04f, -1.654145924e-04f, -1.642360729e-04f,
+-1.630573427e-04f, -1.618784038e-04f, -1.606992582e-04f, -1.595199081e-04f, -1.583403555e-04f, -1.571606024e-04f, -1.559806508e-04f, -1.548005029e-04f, -1.536201606e-04f, -1.524396261e-04f,
+-1.512589014e-04f, -1.500779885e-04f, -1.488968894e-04f, -1.477156064e-04f, -1.465341413e-04f, -1.453524963e-04f, -1.441706733e-04f, -1.429886746e-04f, -1.418065020e-04f, -1.406241577e-04f,
+-1.394416438e-04f, -1.382589622e-04f, -1.370761150e-04f, -1.358931044e-04f, -1.347099322e-04f, -1.335266007e-04f, -1.323431118e-04f, -1.311594676e-04f, -1.299756702e-04f, -1.287917217e-04f,
+-1.276076240e-04f, -1.264233792e-04f, -1.252389894e-04f, -1.240544567e-04f, -1.228697830e-04f, -1.216849706e-04f, -1.205000213e-04f, -1.193149373e-04f, -1.181297207e-04f, -1.169443734e-04f,
+-1.157588976e-04f, -1.145732953e-04f, -1.133875686e-04f, -1.122017194e-04f, -1.110157500e-04f, -1.098296623e-04f, -1.086434584e-04f, -1.074571403e-04f, -1.062707101e-04f, -1.050841699e-04f,
+-1.038975217e-04f, -1.027107676e-04f, -1.015239097e-04f, -1.003369499e-04f, -9.914989045e-05f, -9.796273327e-05f, -9.677548046e-05f, -9.558813409e-05f, -9.440069621e-05f, -9.321316888e-05f,
+-9.202555416e-05f, -9.083785411e-05f, -8.965007078e-05f, -8.846220624e-05f, -8.727426253e-05f, -8.608624174e-05f, -8.489814590e-05f, -8.370997708e-05f, -8.252173734e-05f, -8.133342873e-05f,
+-8.014505332e-05f, -7.895661317e-05f, -7.776811032e-05f, -7.657954685e-05f, -7.539092481e-05f, -7.420224625e-05f, -7.301351324e-05f, -7.182472784e-05f, -7.063589210e-05f, -6.944700808e-05f,
+-6.825807784e-05f, -6.706910344e-05f, -6.588008694e-05f, -6.469103040e-05f, -6.350193586e-05f, -6.231280540e-05f, -6.112364107e-05f, -5.993444492e-05f, -5.874521902e-05f, -5.755596543e-05f,
+-5.636668619e-05f, -5.517738337e-05f, -5.398805903e-05f, -5.279871522e-05f, -5.160935401e-05f, -5.041997744e-05f, -4.923058758e-05f, -4.804118647e-05f, -4.685177619e-05f, -4.566235879e-05f,
+-4.447293631e-05f, -4.328351083e-05f, -4.209408440e-05f, -4.090465906e-05f, -3.971523689e-05f, -3.852581993e-05f, -3.733641024e-05f, -3.614700987e-05f, -3.495762089e-05f, -3.376824535e-05f,
+-3.257888530e-05f, -3.138954280e-05f, -3.020021990e-05f, -2.901091866e-05f, -2.782164113e-05f, -2.663238937e-05f, -2.544316544e-05f, -2.425397138e-05f, -2.306480925e-05f, -2.187568110e-05f,
+-2.068658900e-05f, -1.949753498e-05f, -1.830852111e-05f, -1.711954944e-05f, -1.593062201e-05f, -1.474174090e-05f, -1.355290813e-05f, -1.236412578e-05f, -1.117539589e-05f, -9.986720503e-06f,
+-8.798101686e-06f, -7.609541483e-06f, -6.421041947e-06f, -5.232605128e-06f, -4.044233078e-06f, -2.855927846e-06f, -1.667691482e-06f, -4.795260375e-07f, 7.085664387e-07f, 1.896583897e-06f,
+3.084524288e-06f, 4.272385563e-06f, 5.460165673e-06f, 6.647862570e-06f, 7.835474206e-06f, 9.022998532e-06f, 1.021043350e-05f, 1.139777707e-05f, 1.258502718e-05f, 1.377218180e-05f,
+1.495923887e-05f, 1.614619635e-05f, 1.733305220e-05f, 1.851980436e-05f, 1.970645079e-05f, 2.089298946e-05f, 2.207941830e-05f, 2.326573529e-05f, 2.445193837e-05f, 2.563802550e-05f,
+2.682399464e-05f, 2.800984375e-05f, 2.919557077e-05f, 3.038117368e-05f, 3.156665042e-05f, 3.275199897e-05f, 3.393721726e-05f, 3.512230327e-05f, 3.630725495e-05f, 3.749207027e-05f,
+3.867674718e-05f, 3.986128365e-05f, 4.104567762e-05f, 4.222992708e-05f, 4.341402997e-05f, 4.459798426e-05f, 4.578178791e-05f, 4.696543889e-05f, 4.814893516e-05f, 4.933227468e-05f,
+5.051545541e-05f, 5.169847532e-05f, 5.288133238e-05f, 5.406402454e-05f, 5.524654979e-05f, 5.642890607e-05f, 5.761109136e-05f, 5.879310362e-05f, 5.997494083e-05f, 6.115660095e-05f,
+6.233808194e-05f, 6.351938178e-05f, 6.470049843e-05f, 6.588142987e-05f, 6.706217407e-05f, 6.824272898e-05f, 6.942309260e-05f, 7.060326288e-05f, 7.178323779e-05f, 7.296301532e-05f,
+7.414259344e-05f, 7.532197010e-05f, 7.650114330e-05f, 7.768011100e-05f, 7.885887118e-05f, 8.003742182e-05f, 8.121576088e-05f, 8.239388635e-05f, 8.357179620e-05f, 8.474948841e-05f,
+8.592696095e-05f, 8.710421181e-05f, 8.828123896e-05f, 8.945804038e-05f, 9.063461405e-05f, 9.181095795e-05f, 9.298707007e-05f, 9.416294838e-05f, 9.533859086e-05f, 9.651399550e-05f,
+9.768916028e-05f, 9.886408318e-05f, 1.000387622e-04f, 1.012131953e-04f, 1.023873805e-04f, 1.035613157e-04f, 1.047349990e-04f, 1.059084283e-04f, 1.070816016e-04f, 1.082545170e-04f,
+1.094271723e-04f, 1.105995656e-04f, 1.117716949e-04f, 1.129435582e-04f, 1.141151534e-04f, 1.152864786e-04f, 1.164575317e-04f, 1.176283107e-04f, 1.187988137e-04f, 1.199690386e-04f,
+1.211389834e-04f, 1.223086461e-04f, 1.234780247e-04f, 1.246471171e-04f, 1.258159215e-04f, 1.269844358e-04f, 1.281526580e-04f, 1.293205860e-04f, 1.304882180e-04f, 1.316555518e-04f,
+1.328225855e-04f, 1.339893171e-04f, 1.351557446e-04f, 1.363218660e-04f, 1.374876793e-04f, 1.386531825e-04f, 1.398183736e-04f, 1.409832506e-04f, 1.421478115e-04f, 1.433120543e-04f,
+1.444759771e-04f, 1.456395777e-04f, 1.468028544e-04f, 1.479658050e-04f, 1.491284275e-04f, 1.502907200e-04f, 1.514526805e-04f, 1.526143070e-04f, 1.537755975e-04f, 1.549365500e-04f,
+1.560971626e-04f, 1.572574332e-04f, 1.584173599e-04f, 1.595769406e-04f, 1.607361735e-04f, 1.618950565e-04f, 1.630535876e-04f, 1.642117648e-04f, 1.653695862e-04f, 1.665270499e-04f,
+1.676841537e-04f, 1.688408958e-04f, 1.699972741e-04f, 1.711532867e-04f, 1.723089316e-04f, 1.734642069e-04f, 1.746191105e-04f, 1.757736404e-04f, 1.769277948e-04f, 1.780815717e-04f,
+1.792349690e-04f, 1.803879848e-04f, 1.815406171e-04f, 1.826928640e-04f, 1.838447234e-04f, 1.849961935e-04f, 1.861472723e-04f, 1.872979577e-04f, 1.884482479e-04f, 1.895981408e-04f,
+1.907476345e-04f, 1.918967271e-04f, 1.930454165e-04f, 1.941937009e-04f, 1.953415782e-04f, 1.964890465e-04f, 1.976361038e-04f, 1.987827482e-04f, 1.999289777e-04f, 2.010747904e-04f,
+2.022201843e-04f, 2.033651575e-04f, 2.045097080e-04f, 2.056538338e-04f, 2.067975330e-04f, 2.079408037e-04f, 2.090836438e-04f, 2.102260516e-04f, 2.113680249e-04f, 2.125095618e-04f,
+2.136506605e-04f, 2.147913190e-04f, 2.159315352e-04f, 2.170713073e-04f, 2.182106334e-04f, 2.193495115e-04f, 2.204879396e-04f, 2.216259158e-04f, 2.227634381e-04f, 2.239005047e-04f,
+2.250371136e-04f, 2.261732629e-04f, 2.273089506e-04f, 2.284441747e-04f, 2.295789334e-04f, 2.307132248e-04f, 2.318470468e-04f, 2.329803976e-04f, 2.341132752e-04f, 2.352456777e-04f,
+2.363776031e-04f, 2.375090496e-04f, 2.386400153e-04f, 2.397704981e-04f, 2.409004961e-04f, 2.420300076e-04f, 2.431590304e-04f, 2.442875627e-04f, 2.454156027e-04f, 2.465431482e-04f,
+2.476701975e-04f, 2.487967487e-04f, 2.499227997e-04f, 2.510483487e-04f, 2.521733938e-04f, 2.532979331e-04f, 2.544219646e-04f, 2.555454865e-04f, 2.566684967e-04f, 2.577909935e-04f,
+2.589129749e-04f, 2.600344390e-04f, 2.611553839e-04f, 2.622758077e-04f, 2.633957085e-04f, 2.645150843e-04f, 2.656339333e-04f, 2.667522536e-04f, 2.678700433e-04f, 2.689873004e-04f,
+2.701040232e-04f, 2.712202096e-04f, 2.723358577e-04f, 2.734509658e-04f, 2.745655319e-04f, 2.756795540e-04f, 2.767930304e-04f, 2.779059591e-04f, 2.790183382e-04f, 2.801301659e-04f,
+2.812414402e-04f, 2.823521592e-04f, 2.834623212e-04f, 2.845719241e-04f, 2.856809662e-04f, 2.867894455e-04f, 2.878973601e-04f, 2.890047082e-04f, 2.901114879e-04f, 2.912176972e-04f,
+2.923233345e-04f, 2.934283976e-04f, 2.945328849e-04f, 2.956367943e-04f, 2.967401241e-04f, 2.978428724e-04f, 2.989450372e-04f, 3.000466168e-04f, 3.011476092e-04f, 3.022480126e-04f,
+3.033478252e-04f, 3.044470450e-04f, 3.055456702e-04f, 3.066436989e-04f, 3.077411293e-04f, 3.088379595e-04f, 3.099341876e-04f, 3.110298119e-04f, 3.121248304e-04f, 3.132192413e-04f,
+3.143130427e-04f, 3.154062327e-04f, 3.164988096e-04f, 3.175907715e-04f, 3.186821165e-04f, 3.197728428e-04f, 3.208629485e-04f, 3.219524317e-04f, 3.230412907e-04f, 3.241295237e-04f,
+3.252171286e-04f, 3.263041038e-04f, 3.273904473e-04f, 3.284761574e-04f, 3.295612321e-04f, 3.306456697e-04f, 3.317294684e-04f, 3.328126262e-04f, 3.338951414e-04f, 3.349770121e-04f,
+3.360582365e-04f, 3.371388127e-04f, 3.382187390e-04f, 3.392980135e-04f, 3.403766344e-04f, 3.414545998e-04f, 3.425319080e-04f, 3.436085571e-04f, 3.446845453e-04f, 3.457598707e-04f,
+3.468345317e-04f, 3.479085262e-04f, 3.489818526e-04f, 3.500545090e-04f, 3.511264936e-04f, 3.521978046e-04f, 3.532684402e-04f, 3.543383985e-04f, 3.554076778e-04f, 3.564762762e-04f,
+3.575441920e-04f, 3.586114234e-04f, 3.596779685e-04f, 3.607438255e-04f, 3.618089927e-04f, 3.628734682e-04f, 3.639372503e-04f, 3.650003371e-04f, 3.660627268e-04f, 3.671244178e-04f,
+3.681854081e-04f, 3.692456959e-04f, 3.703052796e-04f, 3.713641573e-04f, 3.724223272e-04f, 3.734797875e-04f, 3.745365365e-04f, 3.755925723e-04f, 3.766478932e-04f, 3.777024974e-04f,
+3.787563831e-04f, 3.798095486e-04f, 3.808619921e-04f, 3.819137117e-04f, 3.829647058e-04f, 3.840149725e-04f, 3.850645101e-04f, 3.861133168e-04f, 3.871613909e-04f, 3.882087305e-04f,
+3.892553340e-04f, 3.903011994e-04f, 3.913463252e-04f, 3.923907095e-04f, 3.934343506e-04f, 3.944772467e-04f, 3.955193960e-04f, 3.965607968e-04f, 3.976014474e-04f, 3.986413460e-04f,
+3.996804907e-04f, 4.007188800e-04f, 4.017565121e-04f, 4.027933851e-04f, 4.038294973e-04f, 4.048648471e-04f, 4.058994326e-04f, 4.069332522e-04f, 4.079663040e-04f, 4.089985864e-04f,
+4.100300976e-04f, 4.110608359e-04f, 4.120907995e-04f, 4.131199867e-04f, 4.141483957e-04f, 4.151760250e-04f, 4.162028726e-04f, 4.172289369e-04f, 4.182542162e-04f, 4.192787087e-04f,
+4.203024128e-04f, 4.213253266e-04f, 4.223474486e-04f, 4.233687768e-04f, 4.243893098e-04f, 4.254090456e-04f, 4.264279827e-04f, 4.274461193e-04f, 4.284634537e-04f, 4.294799841e-04f,
+4.304957090e-04f, 4.315106265e-04f, 4.325247350e-04f, 4.335380327e-04f, 4.345505180e-04f, 4.355621892e-04f, 4.365730445e-04f, 4.375830823e-04f, 4.385923009e-04f, 4.396006985e-04f,
+4.406082736e-04f, 4.416150243e-04f, 4.426209491e-04f, 4.436260461e-04f, 4.446303138e-04f, 4.456337505e-04f, 4.466363544e-04f, 4.476381239e-04f, 4.486390573e-04f, 4.496391529e-04f,
+4.506384091e-04f, 4.516368241e-04f, 4.526343964e-04f, 4.536311241e-04f, 4.546270058e-04f, 4.556220396e-04f, 4.566162239e-04f, 4.576095571e-04f, 4.586020375e-04f, 4.595936634e-04f,
+4.605844332e-04f, 4.615743452e-04f, 4.625633977e-04f, 4.635515891e-04f, 4.645389178e-04f, 4.655253821e-04f, 4.665109802e-04f, 4.674957107e-04f, 4.684795718e-04f, 4.694625619e-04f,
+4.704446793e-04f, 4.714259224e-04f, 4.724062896e-04f, 4.733857792e-04f, 4.743643896e-04f, 4.753421191e-04f, 4.763189661e-04f, 4.772949290e-04f, 4.782700061e-04f, 4.792441958e-04f,
+4.802174966e-04f, 4.811899066e-04f, 4.821614244e-04f, 4.831320483e-04f, 4.841017767e-04f, 4.850706079e-04f, 4.860385404e-04f, 4.870055725e-04f, 4.879717026e-04f, 4.889369291e-04f,
+4.899012503e-04f, 4.908646648e-04f, 4.918271708e-04f, 4.927887667e-04f, 4.937494510e-04f, 4.947092221e-04f, 4.956680782e-04f, 4.966260180e-04f, 4.975830396e-04f, 4.985391416e-04f,
+4.994943224e-04f, 5.004485803e-04f, 5.014019137e-04f, 5.023543212e-04f, 5.033058010e-04f, 5.042563516e-04f, 5.052059714e-04f, 5.061546589e-04f, 5.071024124e-04f, 5.080492303e-04f,
+5.089951111e-04f, 5.099400533e-04f, 5.108840551e-04f, 5.118271152e-04f, 5.127692318e-04f, 5.137104034e-04f, 5.146506285e-04f, 5.155899054e-04f, 5.165282327e-04f, 5.174656087e-04f,
+5.184020320e-04f, 5.193375008e-04f, 5.202720138e-04f, 5.212055692e-04f, 5.221381656e-04f, 5.230698014e-04f, 5.240004751e-04f, 5.249301851e-04f, 5.258589299e-04f, 5.267867078e-04f,
+5.277135175e-04f, 5.286393573e-04f, 5.295642257e-04f, 5.304881211e-04f, 5.314110421e-04f, 5.323329870e-04f, 5.332539544e-04f, 5.341739427e-04f, 5.350929504e-04f, 5.360109759e-04f,
+5.369280178e-04f, 5.378440745e-04f, 5.387591445e-04f, 5.396732262e-04f, 5.405863182e-04f, 5.414984190e-04f, 5.424095269e-04f, 5.433196406e-04f, 5.442287584e-04f, 5.451368790e-04f,
+5.460440007e-04f, 5.469501220e-04f, 5.478552416e-04f, 5.487593578e-04f, 5.496624691e-04f, 5.505645741e-04f, 5.514656713e-04f, 5.523657592e-04f, 5.532648362e-04f, 5.541629010e-04f,
+5.550599519e-04f, 5.559559875e-04f, 5.568510063e-04f, 5.577450069e-04f, 5.586379878e-04f, 5.595299474e-04f, 5.604208843e-04f, 5.613107971e-04f, 5.621996841e-04f, 5.630875441e-04f,
+5.639743755e-04f, 5.648601767e-04f, 5.657449465e-04f, 5.666286833e-04f, 5.675113856e-04f, 5.683930519e-04f, 5.692736809e-04f, 5.701532711e-04f, 5.710318209e-04f, 5.719093290e-04f,
+5.727857939e-04f, 5.736612141e-04f, 5.745355883e-04f, 5.754089149e-04f, 5.762811925e-04f, 5.771524196e-04f, 5.780225949e-04f, 5.788917168e-04f, 5.797597841e-04f, 5.806267951e-04f,
+5.814927485e-04f, 5.823576428e-04f, 5.832214767e-04f, 5.840842486e-04f, 5.849459572e-04f, 5.858066011e-04f, 5.866661788e-04f, 5.875246889e-04f, 5.883821299e-04f, 5.892385005e-04f,
+5.900937993e-04f, 5.909480248e-04f, 5.918011757e-04f, 5.926532505e-04f, 5.935042478e-04f, 5.943541662e-04f, 5.952030043e-04f, 5.960507607e-04f, 5.968974340e-04f, 5.977430229e-04f,
+5.985875259e-04f, 5.994309416e-04f, 6.002732686e-04f, 6.011145056e-04f, 6.019546512e-04f, 6.027937039e-04f, 6.036316624e-04f, 6.044685254e-04f, 6.053042913e-04f, 6.061389590e-04f,
+6.069725269e-04f, 6.078049938e-04f, 6.086363582e-04f, 6.094666187e-04f, 6.102957741e-04f, 6.111238229e-04f, 6.119507638e-04f, 6.127765954e-04f, 6.136013164e-04f, 6.144249254e-04f,
+6.152474210e-04f, 6.160688019e-04f, 6.168890668e-04f, 6.177082143e-04f, 6.185262430e-04f, 6.193431517e-04f, 6.201589389e-04f, 6.209736033e-04f, 6.217871436e-04f, 6.225995585e-04f,
+6.234108465e-04f, 6.242210065e-04f, 6.250300370e-04f, 6.258379367e-04f, 6.266447044e-04f, 6.274503386e-04f, 6.282548380e-04f, 6.290582014e-04f, 6.298604274e-04f, 6.306615147e-04f,
+6.314614620e-04f, 6.322602679e-04f, 6.330579312e-04f, 6.338544506e-04f, 6.346498247e-04f, 6.354440523e-04f, 6.362371320e-04f, 6.370290625e-04f, 6.378198426e-04f, 6.386094709e-04f,
+6.393979462e-04f, 6.401852671e-04f, 6.409714325e-04f, 6.417564409e-04f, 6.425402911e-04f, 6.433229818e-04f, 6.441045118e-04f, 6.448848798e-04f, 6.456640844e-04f, 6.464421244e-04f,
+6.472189986e-04f, 6.479947056e-04f, 6.487692443e-04f, 6.495426132e-04f, 6.503148113e-04f, 6.510858371e-04f, 6.518556895e-04f, 6.526243671e-04f, 6.533918688e-04f, 6.541581933e-04f,
+6.549233393e-04f, 6.556873056e-04f, 6.564500909e-04f, 6.572116940e-04f, 6.579721137e-04f, 6.587313486e-04f, 6.594893976e-04f, 6.602462594e-04f, 6.610019329e-04f, 6.617564166e-04f,
+6.625097096e-04f, 6.632618104e-04f, 6.640127178e-04f, 6.647624308e-04f, 6.655109479e-04f, 6.662582681e-04f, 6.670043901e-04f, 6.677493126e-04f, 6.684930345e-04f, 6.692355546e-04f,
+6.699768716e-04f, 6.707169843e-04f, 6.714558916e-04f, 6.721935922e-04f, 6.729300849e-04f, 6.736653685e-04f, 6.743994419e-04f, 6.751323039e-04f, 6.758639532e-04f, 6.765943886e-04f,
+6.773236091e-04f, 6.780516133e-04f, 6.787784001e-04f, 6.795039683e-04f, 6.802283168e-04f, 6.809514444e-04f, 6.816733499e-04f, 6.823940321e-04f, 6.831134898e-04f, 6.838317219e-04f,
+6.845487273e-04f, 6.852645047e-04f, 6.859790530e-04f, 6.866923711e-04f, 6.874044577e-04f, 6.881153118e-04f, 6.888249321e-04f, 6.895333176e-04f, 6.902404670e-04f, 6.909463793e-04f,
+6.916510533e-04f, 6.923544878e-04f, 6.930566818e-04f, 6.937576340e-04f, 6.944573433e-04f, 6.951558087e-04f, 6.958530289e-04f, 6.965490029e-04f, 6.972437295e-04f, 6.979372076e-04f,
+6.986294361e-04f, 6.993204138e-04f, 7.000101397e-04f, 7.006986126e-04f, 7.013858315e-04f, 7.020717951e-04f, 7.027565025e-04f, 7.034399524e-04f, 7.041221438e-04f, 7.048030757e-04f,
+7.054827468e-04f, 7.061611561e-04f, 7.068383025e-04f, 7.075141849e-04f, 7.081888022e-04f, 7.088621534e-04f, 7.095342373e-04f, 7.102050529e-04f, 7.108745991e-04f, 7.115428747e-04f,
+7.122098788e-04f, 7.128756103e-04f, 7.135400680e-04f, 7.142032510e-04f, 7.148651580e-04f, 7.155257882e-04f, 7.161851404e-04f, 7.168432136e-04f, 7.175000066e-04f, 7.181555185e-04f,
+7.188097482e-04f, 7.194626946e-04f, 7.201143567e-04f, 7.207647335e-04f, 7.214138239e-04f, 7.220616268e-04f, 7.227081412e-04f, 7.233533662e-04f, 7.239973005e-04f, 7.246399433e-04f,
+7.252812935e-04f, 7.259213500e-04f, 7.265601119e-04f, 7.271975781e-04f, 7.278337475e-04f, 7.284686192e-04f, 7.291021922e-04f, 7.297344654e-04f, 7.303654378e-04f, 7.309951084e-04f,
+7.316234763e-04f, 7.322505403e-04f, 7.328762995e-04f, 7.335007529e-04f, 7.341238996e-04f, 7.347457384e-04f, 7.353662684e-04f, 7.359854887e-04f, 7.366033982e-04f, 7.372199959e-04f,
+7.378352809e-04f, 7.384492522e-04f, 7.390619087e-04f, 7.396732496e-04f, 7.402832738e-04f, 7.408919804e-04f, 7.414993684e-04f, 7.421054369e-04f, 7.427101848e-04f, 7.433136112e-04f,
+7.439157151e-04f, 7.445164957e-04f, 7.451159518e-04f, 7.457140827e-04f, 7.463108873e-04f, 7.469063646e-04f, 7.475005138e-04f, 7.480933338e-04f, 7.486848238e-04f, 7.492749828e-04f,
+7.498638099e-04f, 7.504513041e-04f, 7.510374645e-04f, 7.516222902e-04f, 7.522057802e-04f, 7.527879336e-04f, 7.533687495e-04f, 7.539482270e-04f, 7.545263651e-04f, 7.551031630e-04f,
+7.556786197e-04f, 7.562527343e-04f, 7.568255059e-04f, 7.573969336e-04f, 7.579670165e-04f, 7.585357537e-04f, 7.591031443e-04f, 7.596691874e-04f, 7.602338820e-04f, 7.607972274e-04f,
+7.613592226e-04f, 7.619198667e-04f, 7.624791589e-04f, 7.630370983e-04f, 7.635936839e-04f, 7.641489149e-04f, 7.647027904e-04f, 7.652553097e-04f, 7.658064716e-04f, 7.663562756e-04f,
+7.669047205e-04f, 7.674518057e-04f, 7.679975301e-04f, 7.685418931e-04f, 7.690848936e-04f, 7.696265310e-04f, 7.701668042e-04f, 7.707057124e-04f, 7.712432549e-04f, 7.717794308e-04f,
+7.723142392e-04f, 7.728476792e-04f, 7.733797502e-04f, 7.739104511e-04f, 7.744397812e-04f, 7.749677397e-04f, 7.754943257e-04f, 7.760195384e-04f, 7.765433769e-04f, 7.770658406e-04f,
+7.775869284e-04f, 7.781066397e-04f, 7.786249736e-04f, 7.791419294e-04f, 7.796575061e-04f, 7.801717030e-04f, 7.806845193e-04f, 7.811959541e-04f, 7.817060068e-04f, 7.822146765e-04f,
+7.827219623e-04f, 7.832278636e-04f, 7.837323795e-04f, 7.842355092e-04f, 7.847372520e-04f, 7.852376070e-04f, 7.857365736e-04f, 7.862341508e-04f, 7.867303380e-04f, 7.872251344e-04f,
+7.877185391e-04f, 7.882105516e-04f, 7.887011708e-04f, 7.891903962e-04f, 7.896782270e-04f, 7.901646623e-04f, 7.906497015e-04f, 7.911333438e-04f, 7.916155884e-04f, 7.920964346e-04f,
+7.925758817e-04f, 7.930539289e-04f, 7.935305754e-04f, 7.940058206e-04f, 7.944796637e-04f, 7.949521039e-04f, 7.954231406e-04f, 7.958927730e-04f, 7.963610004e-04f, 7.968278220e-04f,
+7.972932372e-04f, 7.977572453e-04f, 7.982198454e-04f, 7.986810370e-04f, 7.991408192e-04f, 7.995991914e-04f, 8.000561530e-04f, 8.005117030e-04f, 8.009658410e-04f, 8.014185662e-04f,
+8.018698778e-04f, 8.023197753e-04f, 8.027682578e-04f, 8.032153248e-04f, 8.036609755e-04f, 8.041052093e-04f, 8.045480254e-04f, 8.049894232e-04f, 8.054294021e-04f, 8.058679613e-04f,
+8.063051002e-04f, 8.067408181e-04f, 8.071751143e-04f, 8.076079883e-04f, 8.080394392e-04f, 8.084694666e-04f, 8.088980696e-04f, 8.093252477e-04f, 8.097510002e-04f, 8.101753265e-04f,
+8.105982259e-04f, 8.110196978e-04f, 8.114397416e-04f, 8.118583565e-04f, 8.122755420e-04f, 8.126912975e-04f, 8.131056222e-04f, 8.135185156e-04f, 8.139299771e-04f, 8.143400060e-04f,
+8.147486018e-04f, 8.151557637e-04f, 8.155614912e-04f, 8.159657837e-04f, 8.163686405e-04f, 8.167700611e-04f, 8.171700449e-04f, 8.175685912e-04f, 8.179656994e-04f, 8.183613690e-04f,
+8.187555994e-04f, 8.191483899e-04f, 8.195397400e-04f, 8.199296491e-04f, 8.203181166e-04f, 8.207051419e-04f, 8.210907244e-04f, 8.214748637e-04f, 8.218575590e-04f, 8.222388098e-04f,
+8.226186156e-04f, 8.229969758e-04f, 8.233738898e-04f, 8.237493571e-04f, 8.241233771e-04f, 8.244959492e-04f, 8.248670729e-04f, 8.252367477e-04f, 8.256049729e-04f, 8.259717481e-04f,
+8.263370727e-04f, 8.267009462e-04f, 8.270633680e-04f, 8.274243375e-04f, 8.277838544e-04f, 8.281419179e-04f, 8.284985277e-04f, 8.288536831e-04f, 8.292073837e-04f, 8.295596289e-04f,
+8.299104182e-04f, 8.302597510e-04f, 8.306076270e-04f, 8.309540455e-04f, 8.312990061e-04f, 8.316425083e-04f, 8.319845515e-04f, 8.323251352e-04f, 8.326642591e-04f, 8.330019224e-04f,
+8.333381249e-04f, 8.336728659e-04f, 8.340061450e-04f, 8.343379617e-04f, 8.346683155e-04f, 8.349972060e-04f, 8.353246326e-04f, 8.356505949e-04f, 8.359750924e-04f, 8.362981247e-04f,
+8.366196913e-04f, 8.369397917e-04f, 8.372584254e-04f, 8.375755920e-04f, 8.378912911e-04f, 8.382055222e-04f, 8.385182847e-04f, 8.388295784e-04f, 8.391394027e-04f, 8.394477572e-04f,
+8.397546415e-04f, 8.400600550e-04f, 8.403639975e-04f, 8.406664684e-04f, 8.409674672e-04f, 8.412669937e-04f, 8.415650474e-04f, 8.418616277e-04f, 8.421567344e-04f, 8.424503670e-04f,
+8.427425250e-04f, 8.430332082e-04f, 8.433224159e-04f, 8.436101480e-04f, 8.438964038e-04f, 8.441811832e-04f, 8.444644855e-04f, 8.447463105e-04f, 8.450266577e-04f, 8.453055268e-04f,
+8.455829174e-04f, 8.458588290e-04f, 8.461332614e-04f, 8.464062140e-04f, 8.466776866e-04f, 8.469476787e-04f, 8.472161900e-04f, 8.474832201e-04f, 8.477487687e-04f, 8.480128353e-04f,
+8.482754196e-04f, 8.485365213e-04f, 8.487961400e-04f, 8.490542753e-04f, 8.493109269e-04f, 8.495660944e-04f, 8.498197775e-04f, 8.500719758e-04f, 8.503226890e-04f, 8.505719167e-04f,
+8.508196587e-04f, 8.510659146e-04f, 8.513106839e-04f, 8.515539665e-04f, 8.517957620e-04f, 8.520360701e-04f, 8.522748903e-04f, 8.525122225e-04f, 8.527480663e-04f, 8.529824214e-04f,
+8.532152874e-04f, 8.534466641e-04f, 8.536765512e-04f, 8.539049483e-04f, 8.541318552e-04f, 8.543572715e-04f, 8.545811970e-04f, 8.548036313e-04f, 8.550245742e-04f, 8.552440253e-04f,
+8.554619845e-04f, 8.556784514e-04f, 8.558934257e-04f, 8.561069071e-04f, 8.563188954e-04f, 8.565293903e-04f, 8.567383916e-04f, 8.569458989e-04f, 8.571519120e-04f, 8.573564306e-04f,
+8.575594546e-04f, 8.577609835e-04f, 8.579610172e-04f, 8.581595554e-04f, 8.583565978e-04f, 8.585521443e-04f, 8.587461945e-04f, 8.589387482e-04f, 8.591298053e-04f, 8.593193654e-04f,
+8.595074283e-04f, 8.596939937e-04f, 8.598790616e-04f, 8.600626315e-04f, 8.602447034e-04f, 8.604252769e-04f, 8.606043519e-04f, 8.607819281e-04f, 8.609580054e-04f, 8.611325835e-04f,
+8.613056622e-04f, 8.614772414e-04f, 8.616473207e-04f, 8.618159000e-04f, 8.619829792e-04f, 8.621485579e-04f, 8.623126361e-04f, 8.624752135e-04f, 8.626362899e-04f, 8.627958652e-04f,
+8.629539392e-04f, 8.631105117e-04f, 8.632655824e-04f, 8.634191514e-04f, 8.635712183e-04f, 8.637217830e-04f, 8.638708453e-04f, 8.640184051e-04f, 8.641644623e-04f, 8.643090166e-04f,
+8.644520678e-04f, 8.645936160e-04f, 8.647336608e-04f, 8.648722021e-04f, 8.650092399e-04f, 8.651447739e-04f, 8.652788040e-04f, 8.654113301e-04f, 8.655423521e-04f, 8.656718698e-04f,
+8.657998830e-04f, 8.659263917e-04f, 8.660513957e-04f, 8.661748949e-04f, 8.662968893e-04f, 8.664173785e-04f, 8.665363627e-04f, 8.666538416e-04f, 8.667698151e-04f, 8.668842831e-04f,
+8.669972456e-04f, 8.671087024e-04f, 8.672186534e-04f, 8.673270985e-04f, 8.674340377e-04f, 8.675394708e-04f, 8.676433978e-04f, 8.677458186e-04f, 8.678467330e-04f, 8.679461410e-04f,
+8.680440426e-04f, 8.681404376e-04f, 8.682353260e-04f, 8.683287077e-04f, 8.684205827e-04f, 8.685109508e-04f, 8.685998121e-04f, 8.686871664e-04f, 8.687730137e-04f, 8.688573540e-04f,
+8.689401871e-04f, 8.690215131e-04f, 8.691013319e-04f, 8.691796435e-04f, 8.692564477e-04f, 8.693317447e-04f, 8.694055343e-04f, 8.694778165e-04f, 8.695485912e-04f, 8.696178585e-04f,
+8.696856184e-04f, 8.697518707e-04f, 8.698166155e-04f, 8.698798528e-04f, 8.699415825e-04f, 8.700018046e-04f, 8.700605192e-04f, 8.701177262e-04f, 8.701734256e-04f, 8.702276174e-04f,
+8.702803016e-04f, 8.703314782e-04f, 8.703811472e-04f, 8.704293087e-04f, 8.704759626e-04f, 8.705211090e-04f, 8.705647478e-04f, 8.706068791e-04f, 8.706475029e-04f, 8.706866193e-04f,
+8.707242282e-04f, 8.707603296e-04f, 8.707949237e-04f, 8.708280105e-04f, 8.708595900e-04f, 8.708896621e-04f, 8.709182271e-04f, 8.709452848e-04f, 8.709708355e-04f, 8.709948790e-04f,
+8.710174155e-04f, 8.710384450e-04f, 8.710579676e-04f, 8.710759834e-04f, 8.710924923e-04f, 8.711074946e-04f, 8.711209901e-04f, 8.711329791e-04f, 8.711434615e-04f, 8.711524375e-04f,
+8.711599071e-04f, 8.711658705e-04f, 8.711703276e-04f, 8.711732787e-04f, 8.711747237e-04f, 8.711746627e-04f, 8.711730960e-04f, 8.711700235e-04f, 8.711654453e-04f, 8.711593616e-04f,
+8.711517725e-04f, 8.711426781e-04f, 8.711320784e-04f, 8.711199736e-04f, 8.711063638e-04f, 8.710912492e-04f, 8.710746298e-04f, 8.710565058e-04f, 8.710368772e-04f, 8.710157443e-04f,
+8.709931072e-04f, 8.709689659e-04f, 8.709433206e-04f, 8.709161715e-04f, 8.708875187e-04f, 8.708573624e-04f, 8.708257026e-04f, 8.707925396e-04f, 8.707578735e-04f, 8.707217044e-04f,
+8.706840325e-04f, 8.706448580e-04f, 8.706041810e-04f, 8.705620017e-04f, 8.705183202e-04f, 8.704731367e-04f, 8.704264515e-04f, 8.703782646e-04f, 8.703285763e-04f, 8.702773867e-04f,
+8.702246960e-04f, 8.701705043e-04f, 8.701148120e-04f, 8.700576191e-04f, 8.699989259e-04f, 8.699387326e-04f, 8.698770393e-04f, 8.698138463e-04f, 8.697491537e-04f, 8.696829618e-04f,
+8.696152708e-04f, 8.695460808e-04f, 8.694753921e-04f, 8.694032050e-04f, 8.693295196e-04f, 8.692543361e-04f, 8.691776548e-04f, 8.690994760e-04f, 8.690197997e-04f, 8.689386263e-04f,
+8.688559560e-04f, 8.687717891e-04f, 8.686861257e-04f, 8.685989661e-04f, 8.685103106e-04f, 8.684201593e-04f, 8.683285127e-04f, 8.682353708e-04f, 8.681407340e-04f, 8.680446025e-04f,
+8.679469766e-04f, 8.678478566e-04f, 8.677472426e-04f, 8.676451350e-04f, 8.675415340e-04f, 8.674364400e-04f, 8.673298531e-04f, 8.672217738e-04f, 8.671122021e-04f, 8.670011385e-04f,
+8.668885832e-04f, 8.667745365e-04f, 8.666589987e-04f, 8.665419701e-04f, 8.664234509e-04f, 8.663034416e-04f, 8.661819423e-04f, 8.660589534e-04f, 8.659344752e-04f, 8.658085079e-04f,
+8.656810520e-04f, 8.655521077e-04f, 8.654216754e-04f, 8.652897553e-04f, 8.651563478e-04f, 8.650214531e-04f, 8.648850717e-04f, 8.647472039e-04f, 8.646078499e-04f, 8.644670102e-04f,
+8.643246850e-04f, 8.641808747e-04f, 8.640355797e-04f, 8.638888002e-04f, 8.637405367e-04f, 8.635907894e-04f, 8.634395588e-04f, 8.632868451e-04f, 8.631326488e-04f, 8.629769702e-04f,
+8.628198096e-04f, 8.626611675e-04f, 8.625010441e-04f, 8.623394399e-04f, 8.621763553e-04f, 8.620117905e-04f, 8.618457461e-04f, 8.616782223e-04f, 8.615092195e-04f, 8.613387382e-04f,
+8.611667787e-04f, 8.609933414e-04f, 8.608184267e-04f, 8.606420350e-04f, 8.604641667e-04f, 8.602848221e-04f, 8.601040018e-04f, 8.599217061e-04f, 8.597379353e-04f, 8.595526900e-04f,
+8.593659705e-04f, 8.591777773e-04f, 8.589881107e-04f, 8.587969712e-04f, 8.586043592e-04f, 8.584102752e-04f, 8.582147195e-04f, 8.580176925e-04f, 8.578191948e-04f, 8.576192268e-04f,
+8.574177888e-04f, 8.572148814e-04f, 8.570105049e-04f, 8.568046599e-04f, 8.565973467e-04f, 8.563885659e-04f, 8.561783178e-04f, 8.559666030e-04f, 8.557534218e-04f, 8.555387748e-04f,
+8.553226623e-04f, 8.551050850e-04f, 8.548860432e-04f, 8.546655374e-04f, 8.544435681e-04f, 8.542201357e-04f, 8.539952408e-04f, 8.537688838e-04f, 8.535410651e-04f, 8.533117854e-04f,
+8.530810451e-04f, 8.528488446e-04f, 8.526151844e-04f, 8.523800651e-04f, 8.521434872e-04f, 8.519054511e-04f, 8.516659573e-04f, 8.514250064e-04f, 8.511825989e-04f, 8.509387352e-04f,
+8.506934160e-04f, 8.504466416e-04f, 8.501984126e-04f, 8.499487296e-04f, 8.496975931e-04f, 8.494450035e-04f, 8.491909615e-04f, 8.489354674e-04f, 8.486785220e-04f, 8.484201257e-04f,
+8.481602790e-04f, 8.478989825e-04f, 8.476362368e-04f, 8.473720423e-04f, 8.471063997e-04f, 8.468393094e-04f, 8.465707720e-04f, 8.463007881e-04f, 8.460293583e-04f, 8.457564831e-04f,
+8.454821630e-04f, 8.452063986e-04f, 8.449291906e-04f, 8.446505394e-04f, 8.443704456e-04f, 8.440889098e-04f, 8.438059327e-04f, 8.435215147e-04f, 8.432356564e-04f, 8.429483584e-04f,
+8.426596214e-04f, 8.423694459e-04f, 8.420778325e-04f, 8.417847817e-04f, 8.414902943e-04f, 8.411943707e-04f, 8.408970117e-04f, 8.405982177e-04f, 8.402979894e-04f, 8.399963275e-04f,
+8.396932324e-04f, 8.393887049e-04f, 8.390827455e-04f, 8.387753549e-04f, 8.384665337e-04f, 8.381562825e-04f, 8.378446019e-04f, 8.375314926e-04f, 8.372169552e-04f, 8.369009903e-04f,
+8.365835986e-04f, 8.362647807e-04f, 8.359445372e-04f, 8.356228688e-04f, 8.352997762e-04f, 8.349752599e-04f, 8.346493207e-04f, 8.343219591e-04f, 8.339931759e-04f, 8.336629716e-04f,
+8.333313471e-04f, 8.329983028e-04f, 8.326638395e-04f, 8.323279579e-04f, 8.319906585e-04f, 8.316519422e-04f, 8.313118095e-04f, 8.309702612e-04f, 8.306272979e-04f, 8.302829203e-04f,
+8.299371290e-04f, 8.295899249e-04f, 8.292413084e-04f, 8.288912805e-04f, 8.285398417e-04f, 8.281869927e-04f, 8.278327343e-04f, 8.274770671e-04f, 8.271199918e-04f, 8.267615092e-04f,
+8.264016199e-04f, 8.260403247e-04f, 8.256776243e-04f, 8.253135194e-04f, 8.249480107e-04f, 8.245810989e-04f, 8.242127847e-04f, 8.238430690e-04f, 8.234719523e-04f, 8.230994355e-04f,
+8.227255192e-04f, 8.223502042e-04f, 8.219734913e-04f, 8.215953811e-04f, 8.212158745e-04f, 8.208349721e-04f, 8.204526747e-04f, 8.200689830e-04f, 8.196838979e-04f, 8.192974200e-04f,
+8.189095501e-04f, 8.185202890e-04f, 8.181296374e-04f, 8.177375961e-04f, 8.173441659e-04f, 8.169493475e-04f, 8.165531416e-04f, 8.161555492e-04f, 8.157565708e-04f, 8.153562074e-04f,
+8.149544597e-04f, 8.145513284e-04f, 8.141468144e-04f, 8.137409185e-04f, 8.133336414e-04f, 8.129249839e-04f, 8.125149468e-04f, 8.121035309e-04f, 8.116907370e-04f, 8.112765660e-04f,
+8.108610185e-04f, 8.104440955e-04f, 8.100257977e-04f, 8.096061259e-04f, 8.091850809e-04f, 8.087626637e-04f, 8.083388748e-04f, 8.079137153e-04f, 8.074871859e-04f, 8.070592874e-04f,
+8.066300207e-04f, 8.061993865e-04f, 8.057673858e-04f, 8.053340193e-04f, 8.048992879e-04f, 8.044631925e-04f, 8.040257338e-04f, 8.035869127e-04f, 8.031467300e-04f, 8.027051866e-04f,
+8.022622834e-04f, 8.018180212e-04f, 8.013724008e-04f, 8.009254231e-04f, 8.004770890e-04f, 8.000273992e-04f, 7.995763548e-04f, 7.991239565e-04f, 7.986702052e-04f, 7.982151018e-04f,
+7.977586472e-04f, 7.973008422e-04f, 7.968416876e-04f, 7.963811845e-04f, 7.959193336e-04f, 7.954561359e-04f, 7.949915922e-04f, 7.945257034e-04f, 7.940584704e-04f, 7.935898941e-04f,
+7.931199754e-04f, 7.926487152e-04f, 7.921761144e-04f, 7.917021739e-04f, 7.912268945e-04f, 7.907502773e-04f, 7.902723230e-04f, 7.897930327e-04f, 7.893124072e-04f, 7.888304474e-04f,
+7.883471543e-04f, 7.878625288e-04f, 7.873765717e-04f, 7.868892841e-04f, 7.864006669e-04f, 7.859107209e-04f, 7.854194471e-04f, 7.849268465e-04f, 7.844329199e-04f, 7.839376683e-04f,
+7.834410927e-04f, 7.829431940e-04f, 7.824439731e-04f, 7.819434310e-04f, 7.814415686e-04f, 7.809383869e-04f, 7.804338868e-04f, 7.799280693e-04f, 7.794209353e-04f, 7.789124859e-04f,
+7.784027219e-04f, 7.778916443e-04f, 7.773792542e-04f, 7.768655523e-04f, 7.763505399e-04f, 7.758342177e-04f, 7.753165868e-04f, 7.747976481e-04f, 7.742774027e-04f, 7.737558515e-04f,
+7.732329955e-04f, 7.727088357e-04f, 7.721833730e-04f, 7.716566085e-04f, 7.711285432e-04f, 7.705991780e-04f, 7.700685139e-04f, 7.695365520e-04f, 7.690032933e-04f, 7.684687387e-04f,
+7.679328892e-04f, 7.673957459e-04f, 7.668573098e-04f, 7.663175818e-04f, 7.657765631e-04f, 7.652342545e-04f, 7.646906572e-04f, 7.641457721e-04f, 7.635996003e-04f, 7.630521428e-04f,
+7.625034007e-04f, 7.619533748e-04f, 7.614020664e-04f, 7.608494764e-04f, 7.602956058e-04f, 7.597404558e-04f, 7.591840272e-04f, 7.586263213e-04f, 7.580673389e-04f, 7.575070812e-04f,
+7.569455493e-04f, 7.563827440e-04f, 7.558186667e-04f, 7.552533181e-04f, 7.546866995e-04f, 7.541188119e-04f, 7.535496564e-04f, 7.529792339e-04f, 7.524075456e-04f, 7.518345926e-04f,
+7.512603759e-04f, 7.506848966e-04f, 7.501081557e-04f, 7.495301544e-04f, 7.489508936e-04f, 7.483703746e-04f, 7.477885984e-04f, 7.472055660e-04f, 7.466212785e-04f, 7.460357371e-04f,
+7.454489429e-04f, 7.448608968e-04f, 7.442716001e-04f, 7.436810538e-04f, 7.430892589e-04f, 7.424962167e-04f, 7.419019283e-04f, 7.413063946e-04f, 7.407096169e-04f, 7.401115962e-04f,
+7.395123336e-04f, 7.389118304e-04f, 7.383100875e-04f, 7.377071061e-04f, 7.371028873e-04f, 7.364974322e-04f, 7.358907421e-04f, 7.352828179e-04f, 7.346736608e-04f, 7.340632720e-04f,
+7.334516526e-04f, 7.328388037e-04f, 7.322247264e-04f, 7.316094219e-04f, 7.309928914e-04f, 7.303751360e-04f, 7.297561567e-04f, 7.291359548e-04f, 7.285145315e-04f, 7.278918878e-04f,
+7.272680249e-04f, 7.266429440e-04f, 7.260166462e-04f, 7.253891328e-04f, 7.247604047e-04f, 7.241304633e-04f, 7.234993097e-04f, 7.228669450e-04f, 7.222333704e-04f, 7.215985871e-04f,
+7.209625963e-04f, 7.203253991e-04f, 7.196869967e-04f, 7.190473903e-04f, 7.184065811e-04f, 7.177645702e-04f, 7.171213589e-04f, 7.164769483e-04f, 7.158313396e-04f, 7.151845341e-04f,
+7.145365328e-04f, 7.138873370e-04f, 7.132369480e-04f, 7.125853668e-04f, 7.119325947e-04f, 7.112786329e-04f, 7.106234826e-04f, 7.099671450e-04f, 7.093096213e-04f, 7.086509128e-04f,
+7.079910206e-04f, 7.073299460e-04f, 7.066676901e-04f, 7.060042543e-04f, 7.053396396e-04f, 7.046738474e-04f, 7.040068788e-04f, 7.033387352e-04f, 7.026694176e-04f, 7.019989274e-04f,
+7.013272658e-04f, 7.006544340e-04f, 6.999804333e-04f, 6.993052648e-04f, 6.986289299e-04f, 6.979514297e-04f, 6.972727656e-04f, 6.965929387e-04f, 6.959119503e-04f, 6.952298017e-04f,
+6.945464942e-04f, 6.938620288e-04f, 6.931764070e-04f, 6.924896300e-04f, 6.918016991e-04f, 6.911126154e-04f, 6.904223803e-04f, 6.897309950e-04f, 6.890384608e-04f, 6.883447790e-04f,
+6.876499509e-04f, 6.869539776e-04f, 6.862568606e-04f, 6.855586010e-04f, 6.848592001e-04f, 6.841586593e-04f, 6.834569798e-04f, 6.827541628e-04f, 6.820502098e-04f, 6.813451219e-04f,
+6.806389004e-04f, 6.799315467e-04f, 6.792230621e-04f, 6.785134478e-04f, 6.778027051e-04f, 6.770908354e-04f, 6.763778399e-04f, 6.756637199e-04f, 6.749484768e-04f, 6.742321118e-04f,
+6.735146263e-04f, 6.727960215e-04f, 6.720762989e-04f, 6.713554596e-04f, 6.706335051e-04f, 6.699104365e-04f, 6.691862554e-04f, 6.684609629e-04f, 6.677345604e-04f, 6.670070492e-04f,
+6.662784307e-04f, 6.655487061e-04f, 6.648178769e-04f, 6.640859443e-04f, 6.633529096e-04f, 6.626187743e-04f, 6.618835397e-04f, 6.611472070e-04f, 6.604097777e-04f, 6.596712530e-04f,
+6.589316343e-04f, 6.581909231e-04f, 6.574491205e-04f, 6.567062280e-04f, 6.559622470e-04f, 6.552171787e-04f, 6.544710245e-04f, 6.537237858e-04f, 6.529754640e-04f, 6.522260604e-04f,
+6.514755764e-04f, 6.507240133e-04f, 6.499713725e-04f, 6.492176554e-04f, 6.484628633e-04f, 6.477069977e-04f, 6.469500598e-04f, 6.461920511e-04f, 6.454329730e-04f, 6.446728268e-04f,
+6.439116139e-04f, 6.431493356e-04f, 6.423859935e-04f, 6.416215888e-04f, 6.408561230e-04f, 6.400895974e-04f, 6.393220134e-04f, 6.385533724e-04f, 6.377836759e-04f, 6.370129252e-04f,
+6.362411217e-04f, 6.354682668e-04f, 6.346943619e-04f, 6.339194085e-04f, 6.331434079e-04f, 6.323663615e-04f, 6.315882707e-04f, 6.308091370e-04f, 6.300289618e-04f, 6.292477464e-04f,
+6.284654924e-04f, 6.276822010e-04f, 6.268978738e-04f, 6.261125121e-04f, 6.253261174e-04f, 6.245386912e-04f, 6.237502347e-04f, 6.229607495e-04f, 6.221702369e-04f, 6.213786985e-04f,
+6.205861356e-04f, 6.197925497e-04f, 6.189979423e-04f, 6.182023146e-04f, 6.174056683e-04f, 6.166080047e-04f, 6.158093253e-04f, 6.150096315e-04f, 6.142089248e-04f, 6.134072065e-04f,
+6.126044783e-04f, 6.118007415e-04f, 6.109959975e-04f, 6.101902479e-04f, 6.093834940e-04f, 6.085757374e-04f, 6.077669795e-04f, 6.069572217e-04f, 6.061464655e-04f, 6.053347125e-04f,
+6.045219640e-04f, 6.037082215e-04f, 6.028934865e-04f, 6.020777604e-04f, 6.012610448e-04f, 6.004433411e-04f, 5.996246507e-04f, 5.988049753e-04f, 5.979843161e-04f, 5.971626748e-04f,
+5.963400528e-04f, 5.955164515e-04f, 5.946918726e-04f, 5.938663173e-04f, 5.930397873e-04f, 5.922122841e-04f, 5.913838091e-04f, 5.905543638e-04f, 5.897239497e-04f, 5.888925683e-04f,
+5.880602211e-04f, 5.872269096e-04f, 5.863926354e-04f, 5.855573998e-04f, 5.847212045e-04f, 5.838840509e-04f, 5.830459405e-04f, 5.822068748e-04f, 5.813668554e-04f, 5.805258838e-04f,
+5.796839614e-04f, 5.788410898e-04f, 5.779972705e-04f, 5.771525051e-04f, 5.763067950e-04f, 5.754601417e-04f, 5.746125468e-04f, 5.737640119e-04f, 5.729145384e-04f, 5.720641278e-04f,
+5.712127818e-04f, 5.703605017e-04f, 5.695072893e-04f, 5.686531459e-04f, 5.677980731e-04f, 5.669420725e-04f, 5.660851456e-04f, 5.652272939e-04f, 5.643685191e-04f, 5.635088225e-04f,
+5.626482058e-04f, 5.617866705e-04f, 5.609242182e-04f, 5.600608504e-04f, 5.591965686e-04f, 5.583313745e-04f, 5.574652695e-04f, 5.565982553e-04f, 5.557303333e-04f, 5.548615051e-04f,
+5.539917723e-04f, 5.531211365e-04f, 5.522495992e-04f, 5.513771620e-04f, 5.505038264e-04f, 5.496295940e-04f, 5.487544663e-04f, 5.478784451e-04f, 5.470015317e-04f, 5.461237278e-04f,
+5.452450350e-04f, 5.443654548e-04f, 5.434849888e-04f, 5.426036387e-04f, 5.417214058e-04f, 5.408382920e-04f, 5.399542986e-04f, 5.390694274e-04f, 5.381836798e-04f, 5.372970576e-04f,
+5.364095622e-04f, 5.355211953e-04f, 5.346319584e-04f, 5.337418532e-04f, 5.328508812e-04f, 5.319590440e-04f, 5.310663433e-04f, 5.301727806e-04f, 5.292783575e-04f, 5.283830757e-04f,
+5.274869366e-04f, 5.265899420e-04f, 5.256920934e-04f, 5.247933925e-04f, 5.238938408e-04f, 5.229934400e-04f, 5.220921916e-04f, 5.211900973e-04f, 5.202871587e-04f, 5.193833774e-04f,
+5.184787550e-04f, 5.175732932e-04f, 5.166669935e-04f, 5.157598575e-04f, 5.148518870e-04f, 5.139430835e-04f, 5.130334486e-04f, 5.121229840e-04f, 5.112116913e-04f, 5.102995720e-04f,
+5.093866280e-04f, 5.084728607e-04f, 5.075582718e-04f, 5.066428629e-04f, 5.057266358e-04f, 5.048095919e-04f, 5.038917330e-04f, 5.029730606e-04f, 5.020535765e-04f, 5.011332823e-04f,
+5.002121795e-04f, 4.992902699e-04f, 4.983675551e-04f, 4.974440367e-04f, 4.965197165e-04f, 4.955945959e-04f, 4.946686768e-04f, 4.937419606e-04f, 4.928144492e-04f, 4.918861441e-04f,
+4.909570470e-04f, 4.900271595e-04f, 4.890964833e-04f, 4.881650202e-04f, 4.872327716e-04f, 4.862997393e-04f, 4.853659250e-04f, 4.844313303e-04f, 4.834959569e-04f, 4.825598064e-04f,
+4.816228805e-04f, 4.806851809e-04f, 4.797467092e-04f, 4.788074672e-04f, 4.778674564e-04f, 4.769266787e-04f, 4.759851355e-04f, 4.750428287e-04f, 4.740997599e-04f, 4.731559307e-04f,
+4.722113429e-04f, 4.712659981e-04f, 4.703198981e-04f, 4.693730444e-04f, 4.684254388e-04f, 4.674770830e-04f, 4.665279786e-04f, 4.655781274e-04f, 4.646275310e-04f, 4.636761911e-04f,
+4.627241094e-04f, 4.617712876e-04f, 4.608177274e-04f, 4.598634305e-04f, 4.589083986e-04f, 4.579526334e-04f, 4.569961366e-04f, 4.560389099e-04f, 4.550809549e-04f, 4.541222734e-04f,
+4.531628671e-04f, 4.522027377e-04f, 4.512418869e-04f, 4.502803164e-04f, 4.493180279e-04f, 4.483550232e-04f, 4.473913038e-04f, 4.464268716e-04f, 4.454617283e-04f, 4.444958755e-04f,
+4.435293150e-04f, 4.425620485e-04f, 4.415940777e-04f, 4.406254044e-04f, 4.396560302e-04f, 4.386859569e-04f, 4.377151861e-04f, 4.367437197e-04f, 4.357715593e-04f, 4.347987066e-04f,
+4.338251635e-04f, 4.328509315e-04f, 4.318760125e-04f, 4.309004082e-04f, 4.299241203e-04f, 4.289471505e-04f, 4.279695005e-04f, 4.269911721e-04f, 4.260121671e-04f, 4.250324871e-04f,
+4.240521340e-04f, 4.230711093e-04f, 4.220894150e-04f, 4.211070526e-04f, 4.201240240e-04f, 4.191403309e-04f, 4.181559750e-04f, 4.171709581e-04f, 4.161852820e-04f, 4.151989483e-04f,
+4.142119588e-04f, 4.132243153e-04f, 4.122360195e-04f, 4.112470731e-04f, 4.102574780e-04f, 4.092672358e-04f, 4.082763484e-04f, 4.072848174e-04f, 4.062926446e-04f, 4.052998319e-04f,
+4.043063808e-04f, 4.033122933e-04f, 4.023175710e-04f, 4.013222157e-04f, 4.003262292e-04f, 3.993296132e-04f, 3.983323696e-04f, 3.973344999e-04f, 3.963360061e-04f, 3.953368899e-04f,
+3.943371531e-04f, 3.933367974e-04f, 3.923358246e-04f, 3.913342364e-04f, 3.903320347e-04f, 3.893292211e-04f, 3.883257976e-04f, 3.873217658e-04f, 3.863171275e-04f, 3.853118845e-04f,
+3.843060386e-04f, 3.832995915e-04f, 3.822925451e-04f, 3.812849010e-04f, 3.802766612e-04f, 3.792678273e-04f, 3.782584012e-04f, 3.772483846e-04f, 3.762377793e-04f, 3.752265871e-04f,
+3.742148098e-04f, 3.732024492e-04f, 3.721895070e-04f, 3.711759850e-04f, 3.701618851e-04f, 3.691472090e-04f, 3.681319586e-04f, 3.671161355e-04f, 3.660997416e-04f, 3.650827787e-04f,
+3.640652486e-04f, 3.630471531e-04f, 3.620284939e-04f, 3.610092729e-04f, 3.599894919e-04f, 3.589691526e-04f, 3.579482569e-04f, 3.569268066e-04f, 3.559048034e-04f, 3.548822492e-04f,
+3.538591458e-04f, 3.528354949e-04f, 3.518112984e-04f, 3.507865581e-04f, 3.497612758e-04f, 3.487354533e-04f, 3.477090923e-04f, 3.466821948e-04f, 3.456547625e-04f, 3.446267972e-04f,
+3.435983008e-04f, 3.425692750e-04f, 3.415397217e-04f, 3.405096426e-04f, 3.394790397e-04f, 3.384479146e-04f, 3.374162693e-04f, 3.363841054e-04f, 3.353514250e-04f, 3.343182297e-04f,
+3.332845214e-04f, 3.322503019e-04f, 3.312155730e-04f, 3.301803366e-04f, 3.291445945e-04f, 3.281083484e-04f, 3.270716003e-04f, 3.260343519e-04f, 3.249966051e-04f, 3.239583616e-04f,
+3.229196234e-04f, 3.218803922e-04f, 3.208406699e-04f, 3.198004583e-04f, 3.187597592e-04f, 3.177185745e-04f, 3.166769059e-04f, 3.156347554e-04f, 3.145921247e-04f, 3.135490158e-04f,
+3.125054303e-04f, 3.114613702e-04f, 3.104168372e-04f, 3.093718333e-04f, 3.083263603e-04f, 3.072804199e-04f, 3.062340141e-04f, 3.051871447e-04f, 3.041398134e-04f, 3.030920222e-04f,
+3.020437729e-04f, 3.009950674e-04f, 2.999459074e-04f, 2.988962948e-04f, 2.978462315e-04f, 2.967957193e-04f, 2.957447600e-04f, 2.946933555e-04f, 2.936415077e-04f, 2.925892183e-04f,
+2.915364893e-04f, 2.904833224e-04f, 2.894297196e-04f, 2.883756826e-04f, 2.873212134e-04f, 2.862663138e-04f, 2.852109855e-04f, 2.841552306e-04f, 2.830990508e-04f, 2.820424479e-04f,
+2.809854239e-04f, 2.799279806e-04f, 2.788701199e-04f, 2.778118435e-04f, 2.767531534e-04f, 2.756940514e-04f, 2.746345393e-04f, 2.735746191e-04f, 2.725142926e-04f, 2.714535616e-04f,
+2.703924280e-04f, 2.693308937e-04f, 2.682689605e-04f, 2.672066303e-04f, 2.661439049e-04f, 2.650807862e-04f, 2.640172761e-04f, 2.629533765e-04f, 2.618890891e-04f, 2.608244159e-04f,
+2.597593587e-04f, 2.586939194e-04f, 2.576280998e-04f, 2.565619019e-04f, 2.554953275e-04f, 2.544283784e-04f, 2.533610566e-04f, 2.522933638e-04f, 2.512253020e-04f, 2.501568731e-04f,
+2.490880788e-04f, 2.480189212e-04f, 2.469494019e-04f, 2.458795230e-04f, 2.448092863e-04f, 2.437386936e-04f, 2.426677469e-04f, 2.415964480e-04f, 2.405247988e-04f, 2.394528011e-04f,
+2.383804568e-04f, 2.373077679e-04f, 2.362347362e-04f, 2.351613635e-04f, 2.340876517e-04f, 2.330136028e-04f, 2.319392186e-04f, 2.308645009e-04f, 2.297894517e-04f, 2.287140728e-04f,
+2.276383661e-04f, 2.265623336e-04f, 2.254859770e-04f, 2.244092982e-04f, 2.233322992e-04f, 2.222549818e-04f, 2.211773479e-04f, 2.200993994e-04f, 2.190211382e-04f, 2.179425661e-04f,
+2.168636850e-04f, 2.157844969e-04f, 2.147050035e-04f, 2.136252069e-04f, 2.125451088e-04f, 2.114647112e-04f, 2.103840159e-04f, 2.093030249e-04f, 2.082217400e-04f, 2.071401631e-04f,
+2.060582961e-04f, 2.049761409e-04f, 2.038936994e-04f, 2.028109734e-04f, 2.017279649e-04f, 2.006446758e-04f, 1.995611078e-04f, 1.984772631e-04f, 1.973931433e-04f, 1.963087504e-04f,
+1.952240863e-04f, 1.941391530e-04f, 1.930539522e-04f, 1.919684859e-04f, 1.908827559e-04f, 1.897967643e-04f, 1.887105128e-04f, 1.876240033e-04f, 1.865372378e-04f, 1.854502182e-04f,
+1.843629463e-04f, 1.832754240e-04f, 1.821876532e-04f, 1.810996359e-04f, 1.800113739e-04f, 1.789228691e-04f, 1.778341235e-04f, 1.767451388e-04f, 1.756559171e-04f, 1.745664602e-04f,
+1.734767700e-04f, 1.723868484e-04f, 1.712966973e-04f, 1.702063186e-04f, 1.691157142e-04f, 1.680248860e-04f, 1.669338360e-04f, 1.658425659e-04f, 1.647510777e-04f, 1.636593734e-04f,
+1.625674547e-04f, 1.614753237e-04f, 1.603829822e-04f, 1.592904320e-04f, 1.581976752e-04f, 1.571047137e-04f, 1.560115492e-04f, 1.549181837e-04f, 1.538246192e-04f, 1.527308575e-04f,
+1.516369006e-04f, 1.505427502e-04f, 1.494484084e-04f, 1.483538771e-04f, 1.472591581e-04f, 1.461642533e-04f, 1.450691647e-04f, 1.439738942e-04f, 1.428784436e-04f, 1.417828149e-04f,
+1.406870100e-04f, 1.395910307e-04f, 1.384948791e-04f, 1.373985569e-04f, 1.363020661e-04f, 1.352054087e-04f, 1.341085864e-04f, 1.330116013e-04f, 1.319144552e-04f, 1.308171500e-04f,
+1.297196877e-04f, 1.286220701e-04f, 1.275242991e-04f, 1.264263768e-04f, 1.253283049e-04f, 1.242300853e-04f, 1.231317201e-04f, 1.220332110e-04f, 1.209345601e-04f, 1.198357691e-04f,
+1.187368401e-04f, 1.176377749e-04f, 1.165385754e-04f, 1.154392436e-04f, 1.143397813e-04f, 1.132401905e-04f, 1.121404731e-04f, 1.110406309e-04f, 1.099406660e-04f, 1.088405801e-04f,
+1.077403752e-04f, 1.066400533e-04f, 1.055396162e-04f, 1.044390658e-04f, 1.033384041e-04f, 1.022376329e-04f, 1.011367542e-04f, 1.000357698e-04f, 9.893468179e-05f, 9.783349194e-05f,
+9.673220220e-05f, 9.563081447e-05f, 9.452933068e-05f, 9.342775272e-05f, 9.232608251e-05f, 9.122432196e-05f, 9.012247298e-05f, 8.902053748e-05f, 8.791851737e-05f, 8.681641456e-05f,
+8.571423096e-05f, 8.461196848e-05f, 8.350962904e-05f, 8.240721454e-05f, 8.130472689e-05f, 8.020216801e-05f, 7.909953980e-05f, 7.799684418e-05f, 7.689408306e-05f, 7.579125834e-05f,
+7.468837195e-05f, 7.358542578e-05f, 7.248242175e-05f, 7.137936176e-05f, 7.027624774e-05f, 6.917308159e-05f, 6.806986523e-05f, 6.696660055e-05f, 6.586328947e-05f, 6.475993391e-05f,
+6.365653577e-05f, 6.255309697e-05f, 6.144961940e-05f, 6.034610499e-05f, 5.924255565e-05f, 5.813897328e-05f, 5.703535979e-05f, 5.593171709e-05f, 5.482804710e-05f, 5.372435173e-05f,
+5.262063287e-05f, 5.151689245e-05f, 5.041313238e-05f, 4.930935455e-05f, 4.820556088e-05f, 4.710175329e-05f, 4.599793367e-05f, 4.489410395e-05f, 4.379026602e-05f, 4.268642180e-05f,
+4.158257320e-05f, 4.047872211e-05f, 3.937487047e-05f, 3.827102016e-05f, 3.716717310e-05f, 3.606333120e-05f, 3.495949637e-05f, 3.385567051e-05f, 3.275185553e-05f, 3.164805334e-05f,
+3.054426585e-05f, 2.944049496e-05f, 2.833674259e-05f, 2.723301063e-05f, 2.612930099e-05f, 2.502561559e-05f, 2.392195633e-05f, 2.281832512e-05f, 2.171472385e-05f, 2.061115444e-05f,
+1.950761880e-05f, 1.840411882e-05f, 1.730065642e-05f, 1.619723350e-05f, 1.509385197e-05f, 1.399051372e-05f, 1.288722067e-05f, 1.178397472e-05f, 1.068077777e-05f, 9.577631735e-06f,
+8.474538509e-06f, 7.371499999e-06f, 6.268518109e-06f, 5.165594741e-06f, 4.062731800e-06f, 2.959931187e-06f, 1.857194806e-06f, 7.545245588e-07f, -3.480776521e-07f, -1.450609925e-06f,
+-2.553070357e-06f, -3.655457049e-06f, -4.757768097e-06f, -5.860001602e-06f, -6.962155663e-06f, -8.064228379e-06f, -9.166217850e-06f, -1.026812218e-05f, -1.136993946e-05f, -1.247166779e-05f,
+-1.357330529e-05f, -1.467485004e-05f, -1.577630015e-05f, -1.687765372e-05f, -1.797890886e-05f, -1.908006366e-05f, -2.018111622e-05f, -2.128206466e-05f, -2.238290708e-05f, -2.348364157e-05f,
+-2.458426624e-05f, -2.568477919e-05f, -2.678517854e-05f, -2.788546238e-05f, -2.898562882e-05f, -3.008567596e-05f, -3.118560191e-05f, -3.228540479e-05f, -3.338508268e-05f, -3.448463370e-05f,
+-3.558405596e-05f, -3.668334756e-05f, -3.778250661e-05f, -3.888153123e-05f, -3.998041951e-05f, -4.107916956e-05f, -4.217777951e-05f, -4.327624745e-05f, -4.437457149e-05f, -4.547274975e-05f,
+-4.657078033e-05f, -4.766866135e-05f, -4.876639092e-05f, -4.986396715e-05f, -5.096138815e-05f, -5.205865203e-05f, -5.315575691e-05f, -5.425270090e-05f, -5.534948212e-05f, -5.644609867e-05f,
+-5.754254868e-05f, -5.863883025e-05f, -5.973494151e-05f, -6.083088056e-05f, -6.192664553e-05f, -6.302223453e-05f, -6.411764568e-05f, -6.521287709e-05f, -6.630792689e-05f, -6.740279318e-05f,
+-6.849747410e-05f, -6.959196776e-05f, -7.068627227e-05f, -7.178038577e-05f, -7.287430636e-05f, -7.396803217e-05f, -7.506156133e-05f, -7.615489194e-05f, -7.724802215e-05f, -7.834095006e-05f,
+-7.943367380e-05f, -8.052619150e-05f, -8.161850127e-05f, -8.271060125e-05f, -8.380248956e-05f, -8.489416432e-05f, -8.598562367e-05f, -8.707686572e-05f, -8.816788860e-05f, -8.925869045e-05f,
+-9.034926939e-05f, -9.143962354e-05f, -9.252975105e-05f, -9.361965003e-05f, -9.470931861e-05f, -9.579875494e-05f, -9.688795713e-05f, -9.797692332e-05f, -9.906565165e-05f, -1.001541402e-04f,
+-1.012423872e-04f, -1.023303908e-04f, -1.034181489e-04f, -1.045056599e-04f, -1.055929219e-04f, -1.066799329e-04f, -1.077666911e-04f, -1.088531946e-04f, -1.099394417e-04f, -1.110254303e-04f,
+-1.121111588e-04f, -1.131966251e-04f, -1.142818274e-04f, -1.153667640e-04f, -1.164514329e-04f, -1.175358322e-04f, -1.186199601e-04f, -1.197038148e-04f, -1.207873944e-04f, -1.218706970e-04f,
+-1.229537208e-04f, -1.240364639e-04f, -1.251189245e-04f, -1.262011007e-04f, -1.272829906e-04f, -1.283645925e-04f, -1.294459045e-04f, -1.305269246e-04f, -1.316076511e-04f, -1.326880821e-04f,
+-1.337682158e-04f, -1.348480503e-04f, -1.359275837e-04f, -1.370068143e-04f, -1.380857401e-04f, -1.391643593e-04f, -1.402426702e-04f, -1.413206707e-04f, -1.423983592e-04f, -1.434757336e-04f,
+-1.445527923e-04f, -1.456295334e-04f, -1.467059549e-04f, -1.477820552e-04f, -1.488578323e-04f, -1.499332843e-04f, -1.510084095e-04f, -1.520832061e-04f, -1.531576721e-04f, -1.542318058e-04f,
+-1.553056053e-04f, -1.563790687e-04f, -1.574521943e-04f, -1.585249802e-04f, -1.595974246e-04f, -1.606695256e-04f, -1.617412814e-04f, -1.628126902e-04f, -1.638837502e-04f, -1.649544594e-04f,
+-1.660248161e-04f, -1.670948185e-04f, -1.681644648e-04f, -1.692337530e-04f, -1.703026814e-04f, -1.713712482e-04f, -1.724394515e-04f, -1.735072895e-04f, -1.745747603e-04f, -1.756418623e-04f,
+-1.767085934e-04f, -1.777749520e-04f, -1.788409362e-04f, -1.799065441e-04f, -1.809717740e-04f, -1.820366241e-04f, -1.831010925e-04f, -1.841651773e-04f, -1.852288769e-04f, -1.862921893e-04f,
+-1.873551129e-04f, -1.884176456e-04f, -1.894797858e-04f, -1.905415316e-04f, -1.916028812e-04f, -1.926638329e-04f, -1.937243847e-04f, -1.947845349e-04f, -1.958442817e-04f, -1.969036233e-04f,
+-1.979625578e-04f, -1.990210835e-04f, -2.000791985e-04f, -2.011369011e-04f, -2.021941895e-04f, -2.032510618e-04f, -2.043075162e-04f, -2.053635510e-04f, -2.064191644e-04f, -2.074743545e-04f,
+-2.085291195e-04f, -2.095834577e-04f, -2.106373673e-04f, -2.116908464e-04f, -2.127438933e-04f, -2.137965062e-04f, -2.148486832e-04f, -2.159004227e-04f, -2.169517227e-04f, -2.180025816e-04f,
+-2.190529974e-04f, -2.201029686e-04f, -2.211524931e-04f, -2.222015694e-04f, -2.232501954e-04f, -2.242983696e-04f, -2.253460901e-04f, -2.263933552e-04f, -2.274401629e-04f, -2.284865116e-04f,
+-2.295323996e-04f, -2.305778249e-04f, -2.316227858e-04f, -2.326672806e-04f, -2.337113074e-04f, -2.347548646e-04f, -2.357979502e-04f, -2.368405626e-04f, -2.378827000e-04f, -2.389243606e-04f,
+-2.399655426e-04f, -2.410062443e-04f, -2.420464639e-04f, -2.430861996e-04f, -2.441254496e-04f, -2.451642122e-04f, -2.462024857e-04f, -2.472402682e-04f, -2.482775581e-04f, -2.493143534e-04f,
+-2.503506526e-04f, -2.513864537e-04f, -2.524217551e-04f, -2.534565550e-04f, -2.544908516e-04f, -2.555246432e-04f, -2.565579281e-04f, -2.575907044e-04f, -2.586229704e-04f, -2.596547244e-04f,
+-2.606859647e-04f, -2.617166893e-04f, -2.627468967e-04f, -2.637765851e-04f, -2.648057527e-04f, -2.658343977e-04f, -2.668625185e-04f, -2.678901132e-04f, -2.689171802e-04f, -2.699437177e-04f,
+-2.709697240e-04f, -2.719951972e-04f, -2.730201358e-04f, -2.740445378e-04f, -2.750684017e-04f, -2.760917256e-04f, -2.771145079e-04f, -2.781367468e-04f, -2.791584405e-04f, -2.801795873e-04f,
+-2.812001856e-04f, -2.822202335e-04f, -2.832397293e-04f, -2.842586714e-04f, -2.852770579e-04f, -2.862948872e-04f, -2.873121576e-04f, -2.883288672e-04f, -2.893450144e-04f, -2.903605975e-04f,
+-2.913756148e-04f, -2.923900644e-04f, -2.934039448e-04f, -2.944172542e-04f, -2.954299909e-04f, -2.964421531e-04f, -2.974537391e-04f, -2.984647473e-04f, -2.994751759e-04f, -3.004850233e-04f,
+-3.014942876e-04f, -3.025029672e-04f, -3.035110604e-04f, -3.045185655e-04f, -3.055254808e-04f, -3.065318046e-04f, -3.075375351e-04f, -3.085426707e-04f, -3.095472097e-04f, -3.105511503e-04f,
+-3.115544909e-04f, -3.125572298e-04f, -3.135593652e-04f, -3.145608956e-04f, -3.155618191e-04f, -3.165621342e-04f, -3.175618390e-04f, -3.185609320e-04f, -3.195594114e-04f, -3.205572755e-04f,
+-3.215545227e-04f, -3.225511513e-04f, -3.235471595e-04f, -3.245425458e-04f, -3.255373084e-04f, -3.265314456e-04f, -3.275249558e-04f, -3.285178372e-04f, -3.295100883e-04f, -3.305017073e-04f,
+-3.314926926e-04f, -3.324830424e-04f, -3.334727552e-04f, -3.344618292e-04f, -3.354502627e-04f, -3.364380542e-04f, -3.374252019e-04f, -3.384117042e-04f, -3.393975594e-04f, -3.403827658e-04f,
+-3.413673218e-04f, -3.423512257e-04f, -3.433344758e-04f, -3.443170706e-04f, -3.452990083e-04f, -3.462802873e-04f, -3.472609059e-04f, -3.482408625e-04f, -3.492201554e-04f, -3.501987830e-04f,
+-3.511767436e-04f, -3.521540356e-04f, -3.531306573e-04f, -3.541066071e-04f, -3.550818833e-04f, -3.560564843e-04f, -3.570304085e-04f, -3.580036541e-04f, -3.589762197e-04f, -3.599481034e-04f,
+-3.609193038e-04f, -3.618898191e-04f, -3.628596477e-04f, -3.638287880e-04f, -3.647972384e-04f, -3.657649972e-04f, -3.667320627e-04f, -3.676984335e-04f, -3.686641078e-04f, -3.696290840e-04f,
+-3.705933605e-04f, -3.715569356e-04f, -3.725198078e-04f, -3.734819755e-04f, -3.744434369e-04f, -3.754041905e-04f, -3.763642347e-04f, -3.773235678e-04f, -3.782821883e-04f, -3.792400945e-04f,
+-3.801972848e-04f, -3.811537577e-04f, -3.821095114e-04f, -3.830645445e-04f, -3.840188552e-04f, -3.849724420e-04f, -3.859253033e-04f, -3.868774374e-04f, -3.878288429e-04f, -3.887795180e-04f,
+-3.897294612e-04f, -3.906786708e-04f, -3.916271454e-04f, -3.925748833e-04f, -3.935218829e-04f, -3.944681425e-04f, -3.954136608e-04f, -3.963584359e-04f, -3.973024664e-04f, -3.982457507e-04f,
+-3.991882871e-04f, -4.001300742e-04f, -4.010711102e-04f, -4.020113937e-04f, -4.029509231e-04f, -4.038896967e-04f, -4.048277131e-04f, -4.057649705e-04f, -4.067014676e-04f, -4.076372026e-04f,
+-4.085721741e-04f, -4.095063804e-04f, -4.104398200e-04f, -4.113724913e-04f, -4.123043927e-04f, -4.132355228e-04f, -4.141658799e-04f, -4.150954625e-04f, -4.160242689e-04f, -4.169522978e-04f,
+-4.178795474e-04f, -4.188060163e-04f, -4.197317028e-04f, -4.206566056e-04f, -4.215807229e-04f, -4.225040532e-04f, -4.234265951e-04f, -4.243483469e-04f, -4.252693071e-04f, -4.261894742e-04f,
+-4.271088466e-04f, -4.280274228e-04f, -4.289452012e-04f, -4.298621804e-04f, -4.307783588e-04f, -4.316937347e-04f, -4.326083068e-04f, -4.335220735e-04f, -4.344350332e-04f, -4.353471845e-04f,
+-4.362585258e-04f, -4.371690555e-04f, -4.380787722e-04f, -4.389876743e-04f, -4.398957603e-04f, -4.408030287e-04f, -4.417094780e-04f, -4.426151066e-04f, -4.435199131e-04f, -4.444238960e-04f,
+-4.453270536e-04f, -4.462293846e-04f, -4.471308873e-04f, -4.480315604e-04f, -4.489314022e-04f, -4.498304114e-04f, -4.507285863e-04f, -4.516259255e-04f, -4.525224275e-04f, -4.534180908e-04f,
+-4.543129139e-04f, -4.552068953e-04f, -4.561000335e-04f, -4.569923271e-04f, -4.578837744e-04f, -4.587743741e-04f, -4.596641247e-04f, -4.605530246e-04f, -4.614410724e-04f, -4.623282666e-04f,
+-4.632146057e-04f, -4.641000883e-04f, -4.649847129e-04f, -4.658684779e-04f, -4.667513820e-04f, -4.676334236e-04f, -4.685146013e-04f, -4.693949136e-04f, -4.702743591e-04f, -4.711529362e-04f,
+-4.720306435e-04f, -4.729074796e-04f, -4.737834430e-04f, -4.746585322e-04f, -4.755327458e-04f, -4.764060822e-04f, -4.772785402e-04f, -4.781501181e-04f, -4.790208147e-04f, -4.798906283e-04f,
+-4.807595575e-04f, -4.816276010e-04f, -4.824947573e-04f, -4.833610249e-04f, -4.842264023e-04f, -4.850908882e-04f, -4.859544811e-04f, -4.868171796e-04f, -4.876789822e-04f, -4.885398875e-04f,
+-4.893998940e-04f, -4.902590004e-04f, -4.911172052e-04f, -4.919745070e-04f, -4.928309044e-04f, -4.936863958e-04f, -4.945409800e-04f, -4.953946555e-04f, -4.962474208e-04f, -4.970992746e-04f,
+-4.979502155e-04f, -4.988002419e-04f, -4.996493526e-04f, -5.004975461e-04f, -5.013448209e-04f, -5.021911758e-04f, -5.030366092e-04f, -5.038811198e-04f, -5.047247062e-04f, -5.055673670e-04f,
+-5.064091007e-04f, -5.072499061e-04f, -5.080897816e-04f, -5.089287259e-04f, -5.097667376e-04f, -5.106038153e-04f, -5.114399576e-04f, -5.122751632e-04f, -5.131094306e-04f, -5.139427585e-04f,
+-5.147751455e-04f, -5.156065902e-04f, -5.164370912e-04f, -5.172666472e-04f, -5.180952567e-04f, -5.189229185e-04f, -5.197496310e-04f, -5.205753931e-04f, -5.214002032e-04f, -5.222240601e-04f,
+-5.230469623e-04f, -5.238689086e-04f, -5.246898974e-04f, -5.255099276e-04f, -5.263289977e-04f, -5.271471064e-04f, -5.279642522e-04f, -5.287804340e-04f, -5.295956503e-04f, -5.304098997e-04f,
+-5.312231809e-04f, -5.320354927e-04f, -5.328468335e-04f, -5.336572021e-04f, -5.344665972e-04f, -5.352750174e-04f, -5.360824614e-04f, -5.368889278e-04f, -5.376944154e-04f, -5.384989227e-04f,
+-5.393024484e-04f, -5.401049913e-04f, -5.409065500e-04f, -5.417071231e-04f, -5.425067094e-04f, -5.433053076e-04f, -5.441029162e-04f, -5.448995340e-04f, -5.456951598e-04f, -5.464897920e-04f,
+-5.472834296e-04f, -5.480760711e-04f, -5.488677152e-04f, -5.496583607e-04f, -5.504480061e-04f, -5.512366504e-04f, -5.520242920e-04f, -5.528109298e-04f, -5.535965624e-04f, -5.543811885e-04f,
+-5.551648069e-04f, -5.559474163e-04f, -5.567290153e-04f, -5.575096026e-04f, -5.582891771e-04f, -5.590677374e-04f, -5.598452822e-04f, -5.606218102e-04f, -5.613973202e-04f, -5.621718109e-04f,
+-5.629452811e-04f, -5.637177293e-04f, -5.644891544e-04f, -5.652595552e-04f, -5.660289302e-04f, -5.667972784e-04f, -5.675645983e-04f, -5.683308888e-04f, -5.690961485e-04f, -5.698603763e-04f,
+-5.706235709e-04f, -5.713857310e-04f, -5.721468553e-04f, -5.729069426e-04f, -5.736659917e-04f, -5.744240014e-04f, -5.751809703e-04f, -5.759368972e-04f, -5.766917809e-04f, -5.774456202e-04f,
+-5.781984137e-04f, -5.789501604e-04f, -5.797008589e-04f, -5.804505080e-04f, -5.811991064e-04f, -5.819466531e-04f, -5.826931466e-04f, -5.834385859e-04f, -5.841829696e-04f, -5.849262966e-04f,
+-5.856685656e-04f, -5.864097755e-04f, -5.871499250e-04f, -5.878890128e-04f, -5.886270379e-04f, -5.893639989e-04f, -5.900998947e-04f, -5.908347241e-04f, -5.915684858e-04f, -5.923011787e-04f,
+-5.930328015e-04f, -5.937633531e-04f, -5.944928323e-04f, -5.952212378e-04f, -5.959485686e-04f, -5.966748233e-04f, -5.974000008e-04f, -5.981241000e-04f, -5.988471196e-04f, -5.995690584e-04f,
+-6.002899153e-04f, -6.010096891e-04f, -6.017283786e-04f, -6.024459827e-04f, -6.031625002e-04f, -6.038779298e-04f, -6.045922705e-04f, -6.053055211e-04f, -6.060176803e-04f, -6.067287471e-04f,
+-6.074387203e-04f, -6.081475987e-04f, -6.088553812e-04f, -6.095620666e-04f, -6.102676537e-04f, -6.109721415e-04f, -6.116755287e-04f, -6.123778143e-04f, -6.130789970e-04f, -6.137790757e-04f,
+-6.144780493e-04f, -6.151759167e-04f, -6.158726766e-04f, -6.165683281e-04f, -6.172628699e-04f, -6.179563009e-04f, -6.186486199e-04f, -6.193398260e-04f, -6.200299179e-04f, -6.207188944e-04f,
+-6.214067546e-04f, -6.220934972e-04f, -6.227791212e-04f, -6.234636255e-04f, -6.241470088e-04f, -6.248292702e-04f, -6.255104085e-04f, -6.261904225e-04f, -6.268693113e-04f, -6.275470737e-04f,
+-6.282237085e-04f, -6.288992148e-04f, -6.295735913e-04f, -6.302468370e-04f, -6.309189509e-04f, -6.315899318e-04f, -6.322597785e-04f, -6.329284902e-04f, -6.335960656e-04f, -6.342625036e-04f,
+-6.349278033e-04f, -6.355919635e-04f, -6.362549831e-04f, -6.369168611e-04f, -6.375775964e-04f, -6.382371879e-04f, -6.388956345e-04f, -6.395529353e-04f, -6.402090891e-04f, -6.408640948e-04f,
+-6.415179514e-04f, -6.421706579e-04f, -6.428222132e-04f, -6.434726162e-04f, -6.441218659e-04f, -6.447699612e-04f, -6.454169012e-04f, -6.460626846e-04f, -6.467073106e-04f, -6.473507780e-04f,
+-6.479930858e-04f, -6.486342330e-04f, -6.492742186e-04f, -6.499130414e-04f, -6.505507006e-04f, -6.511871950e-04f, -6.518225236e-04f, -6.524566854e-04f, -6.530896794e-04f, -6.537215045e-04f,
+-6.543521598e-04f, -6.549816442e-04f, -6.556099567e-04f, -6.562370964e-04f, -6.568630620e-04f, -6.574878528e-04f, -6.581114676e-04f, -6.587339055e-04f, -6.593551655e-04f, -6.599752465e-04f,
+-6.605941476e-04f, -6.612118678e-04f, -6.618284060e-04f, -6.624437614e-04f, -6.630579328e-04f, -6.636709193e-04f, -6.642827200e-04f, -6.648933338e-04f, -6.655027598e-04f, -6.661109969e-04f,
+-6.667180443e-04f, -6.673239009e-04f, -6.679285657e-04f, -6.685320378e-04f, -6.691343163e-04f, -6.697354001e-04f, -6.703352883e-04f, -6.709339799e-04f, -6.715314740e-04f, -6.721277696e-04f,
+-6.727228658e-04f, -6.733167616e-04f, -6.739094560e-04f, -6.745009481e-04f, -6.750912370e-04f, -6.756803217e-04f, -6.762682013e-04f, -6.768548748e-04f, -6.774403413e-04f, -6.780245999e-04f,
+-6.786076496e-04f, -6.791894894e-04f, -6.797701185e-04f, -6.803495360e-04f, -6.809277409e-04f, -6.815047322e-04f, -6.820805092e-04f, -6.826550707e-04f, -6.832284160e-04f, -6.838005441e-04f,
+-6.843714541e-04f, -6.849411451e-04f, -6.855096162e-04f, -6.860768665e-04f, -6.866428950e-04f, -6.872077009e-04f, -6.877712833e-04f, -6.883336413e-04f, -6.888947739e-04f, -6.894546804e-04f,
+-6.900133597e-04f, -6.905708111e-04f, -6.911270335e-04f, -6.916820262e-04f, -6.922357883e-04f, -6.927883188e-04f, -6.933396170e-04f, -6.938896819e-04f, -6.944385126e-04f, -6.949861083e-04f,
+-6.955324681e-04f, -6.960775912e-04f, -6.966214766e-04f, -6.971641236e-04f, -6.977055312e-04f, -6.982456986e-04f, -6.987846250e-04f, -6.993223094e-04f, -6.998587512e-04f, -7.003939493e-04f,
+-7.009279029e-04f, -7.014606112e-04f, -7.019920734e-04f, -7.025222887e-04f, -7.030512561e-04f, -7.035789748e-04f, -7.041054441e-04f, -7.046306630e-04f, -7.051546308e-04f, -7.056773466e-04f,
+-7.061988096e-04f, -7.067190190e-04f, -7.072379740e-04f, -7.077556736e-04f, -7.082721172e-04f, -7.087873040e-04f, -7.093012330e-04f, -7.098139035e-04f, -7.103253147e-04f, -7.108354657e-04f,
+-7.113443559e-04f, -7.118519843e-04f, -7.123583502e-04f, -7.128634528e-04f, -7.133672912e-04f, -7.138698648e-04f, -7.143711726e-04f, -7.148712140e-04f, -7.153699881e-04f, -7.158674942e-04f,
+-7.163637315e-04f, -7.168586991e-04f, -7.173523964e-04f, -7.178448225e-04f, -7.183359767e-04f, -7.188258582e-04f, -7.193144662e-04f, -7.198018000e-04f, -7.202878589e-04f, -7.207726419e-04f,
+-7.212561485e-04f, -7.217383778e-04f, -7.222193291e-04f, -7.226990017e-04f, -7.231773947e-04f, -7.236545075e-04f, -7.241303393e-04f, -7.246048893e-04f, -7.250781569e-04f, -7.255501412e-04f,
+-7.260208416e-04f, -7.264902573e-04f, -7.269583875e-04f, -7.274252317e-04f, -7.278907889e-04f, -7.283550586e-04f, -7.288180399e-04f, -7.292797322e-04f, -7.297401348e-04f, -7.301992468e-04f,
+-7.306570678e-04f, -7.311135968e-04f, -7.315688332e-04f, -7.320227763e-04f, -7.324754254e-04f, -7.329267798e-04f, -7.333768388e-04f, -7.338256017e-04f, -7.342730678e-04f, -7.347192364e-04f,
+-7.351641069e-04f, -7.356076785e-04f, -7.360499505e-04f, -7.364909223e-04f, -7.369305932e-04f, -7.373689625e-04f, -7.378060295e-04f, -7.382417936e-04f, -7.386762541e-04f, -7.391094103e-04f,
+-7.395412615e-04f, -7.399718072e-04f, -7.404010466e-04f, -7.408289790e-04f, -7.412556039e-04f, -7.416809205e-04f, -7.421049282e-04f, -7.425276264e-04f, -7.429490144e-04f, -7.433690915e-04f,
+-7.437878572e-04f, -7.442053107e-04f, -7.446214515e-04f, -7.450362789e-04f, -7.454497922e-04f, -7.458619909e-04f, -7.462728743e-04f, -7.466824417e-04f, -7.470906927e-04f, -7.474976264e-04f,
+-7.479032423e-04f, -7.483075399e-04f, -7.487105184e-04f, -7.491121773e-04f, -7.495125159e-04f, -7.499115337e-04f, -7.503092300e-04f, -7.507056042e-04f, -7.511006558e-04f, -7.514943841e-04f,
+-7.518867885e-04f, -7.522778685e-04f, -7.526676234e-04f, -7.530560527e-04f, -7.534431558e-04f, -7.538289320e-04f, -7.542133808e-04f, -7.545965017e-04f, -7.549782940e-04f, -7.553587571e-04f,
+-7.557378906e-04f, -7.561156937e-04f, -7.564921660e-04f, -7.568673069e-04f, -7.572411159e-04f, -7.576135922e-04f, -7.579847355e-04f, -7.583545451e-04f, -7.587230205e-04f, -7.590901611e-04f,
+-7.594559664e-04f, -7.598204359e-04f, -7.601835689e-04f, -7.605453650e-04f, -7.609058236e-04f, -7.612649441e-04f, -7.616227261e-04f, -7.619791689e-04f, -7.623342721e-04f, -7.626880352e-04f,
+-7.630404576e-04f, -7.633915387e-04f, -7.637412781e-04f, -7.640896753e-04f, -7.644367296e-04f, -7.647824407e-04f, -7.651268080e-04f, -7.654698309e-04f, -7.658115090e-04f, -7.661518418e-04f,
+-7.664908288e-04f, -7.668284694e-04f, -7.671647632e-04f, -7.674997097e-04f, -7.678333083e-04f, -7.681655586e-04f, -7.684964602e-04f, -7.688260124e-04f, -7.691542148e-04f, -7.694810670e-04f,
+-7.698065685e-04f, -7.701307187e-04f, -7.704535173e-04f, -7.707749637e-04f, -7.710950574e-04f, -7.714137981e-04f, -7.717311852e-04f, -7.720472182e-04f, -7.723618968e-04f, -7.726752204e-04f,
+-7.729871886e-04f, -7.732978010e-04f, -7.736070570e-04f, -7.739149563e-04f, -7.742214984e-04f, -7.745266828e-04f, -7.748305091e-04f, -7.751329769e-04f, -7.754340858e-04f, -7.757338352e-04f,
+-7.760322248e-04f, -7.763292541e-04f, -7.766249228e-04f, -7.769192303e-04f, -7.772121763e-04f, -7.775037603e-04f, -7.777939819e-04f, -7.780828408e-04f, -7.783703364e-04f, -7.786564684e-04f,
+-7.789412364e-04f, -7.792246399e-04f, -7.795066787e-04f, -7.797873521e-04f, -7.800666600e-04f, -7.803446018e-04f, -7.806211772e-04f, -7.808963857e-04f, -7.811702271e-04f, -7.814427008e-04f,
+-7.817138066e-04f, -7.819835440e-04f, -7.822519126e-04f, -7.825189122e-04f, -7.827845422e-04f, -7.830488024e-04f, -7.833116923e-04f, -7.835732117e-04f, -7.838333600e-04f, -7.840921370e-04f,
+-7.843495424e-04f, -7.846055756e-04f, -7.848602365e-04f, -7.851135246e-04f, -7.853654396e-04f, -7.856159811e-04f, -7.858651488e-04f, -7.861129423e-04f, -7.863593614e-04f, -7.866044056e-04f,
+-7.868480746e-04f, -7.870903682e-04f, -7.873312859e-04f, -7.875708274e-04f, -7.878089924e-04f, -7.880457807e-04f, -7.882811917e-04f, -7.885152253e-04f, -7.887478812e-04f, -7.889791589e-04f,
+-7.892090583e-04f, -7.894375789e-04f, -7.896647205e-04f, -7.898904827e-04f, -7.901148653e-04f, -7.903378680e-04f, -7.905594905e-04f, -7.907797324e-04f, -7.909985935e-04f, -7.912160735e-04f,
+-7.914321721e-04f, -7.916468890e-04f, -7.918602239e-04f, -7.920721766e-04f, -7.922827467e-04f, -7.924919341e-04f, -7.926997383e-04f, -7.929061592e-04f, -7.931111964e-04f, -7.933148498e-04f,
+-7.935171190e-04f, -7.937180038e-04f, -7.939175039e-04f, -7.941156191e-04f, -7.943123491e-04f, -7.945076936e-04f, -7.947016525e-04f, -7.948942254e-04f, -7.950854121e-04f, -7.952752124e-04f,
+-7.954636260e-04f, -7.956506527e-04f, -7.958362923e-04f, -7.960205445e-04f, -7.962034091e-04f, -7.963848858e-04f, -7.965649745e-04f, -7.967436749e-04f, -7.969209868e-04f, -7.970969100e-04f,
+-7.972714442e-04f, -7.974445892e-04f, -7.976163449e-04f, -7.977867111e-04f, -7.979556874e-04f, -7.981232737e-04f, -7.982894699e-04f, -7.984542757e-04f, -7.986176908e-04f, -7.987797152e-04f,
+-7.989403487e-04f, -7.990995909e-04f, -7.992574418e-04f, -7.994139012e-04f, -7.995689689e-04f, -7.997226446e-04f, -7.998749283e-04f, -8.000258198e-04f, -8.001753188e-04f, -8.003234252e-04f,
+-8.004701388e-04f, -8.006154596e-04f, -8.007593872e-04f, -8.009019216e-04f, -8.010430626e-04f, -8.011828100e-04f, -8.013211637e-04f, -8.014581235e-04f, -8.015936893e-04f, -8.017278609e-04f,
+-8.018606382e-04f, -8.019920211e-04f, -8.021220094e-04f, -8.022506030e-04f, -8.023778017e-04f, -8.025036054e-04f, -8.026280140e-04f, -8.027510273e-04f, -8.028726453e-04f, -8.029928677e-04f,
+-8.031116946e-04f, -8.032291257e-04f, -8.033451610e-04f, -8.034598003e-04f, -8.035730436e-04f, -8.036848907e-04f, -8.037953415e-04f, -8.039043959e-04f, -8.040120538e-04f, -8.041183151e-04f,
+-8.042231798e-04f, -8.043266477e-04f, -8.044287188e-04f, -8.045293929e-04f, -8.046286699e-04f, -8.047265499e-04f, -8.048230326e-04f, -8.049181181e-04f, -8.050118062e-04f, -8.051040969e-04f,
+-8.051949901e-04f, -8.052844857e-04f, -8.053725837e-04f, -8.054592840e-04f, -8.055445865e-04f, -8.056284912e-04f, -8.057109981e-04f, -8.057921070e-04f, -8.058718179e-04f, -8.059501308e-04f,
+-8.060270456e-04f, -8.061025624e-04f, -8.061766809e-04f, -8.062494012e-04f, -8.063207234e-04f, -8.063906472e-04f, -8.064591727e-04f, -8.065262999e-04f, -8.065920287e-04f, -8.066563591e-04f,
+-8.067192911e-04f, -8.067808247e-04f, -8.068409599e-04f, -8.068996965e-04f, -8.069570347e-04f, -8.070129744e-04f, -8.070675156e-04f, -8.071206583e-04f, -8.071724025e-04f, -8.072227481e-04f,
+-8.072716953e-04f, -8.073192440e-04f, -8.073653941e-04f, -8.074101458e-04f, -8.074534990e-04f, -8.074954537e-04f, -8.075360100e-04f, -8.075751679e-04f, -8.076129273e-04f, -8.076492884e-04f,
+-8.076842511e-04f, -8.077178155e-04f, -8.077499815e-04f, -8.077807493e-04f, -8.078101189e-04f, -8.078380903e-04f, -8.078646635e-04f, -8.078898386e-04f, -8.079136156e-04f, -8.079359946e-04f,
+-8.079569756e-04f, -8.079765587e-04f, -8.079947440e-04f, -8.080115314e-04f, -8.080269211e-04f, -8.080409131e-04f, -8.080535075e-04f, -8.080647044e-04f, -8.080745037e-04f, -8.080829056e-04f,
+-8.080899102e-04f, -8.080955175e-04f, -8.080997277e-04f, -8.081025407e-04f, -8.081039567e-04f, -8.081039758e-04f, -8.081025980e-04f, -8.080998235e-04f, -8.080956523e-04f, -8.080900845e-04f,
+-8.080831203e-04f, -8.080747597e-04f, -8.080650028e-04f, -8.080538498e-04f, -8.080413007e-04f, -8.080273556e-04f, -8.080120148e-04f, -8.079952782e-04f, -8.079771460e-04f, -8.079576184e-04f,
+-8.079366954e-04f, -8.079143771e-04f, -8.078906637e-04f, -8.078655554e-04f, -8.078390522e-04f, -8.078111543e-04f, -8.077818619e-04f, -8.077511750e-04f, -8.077190938e-04f, -8.076856184e-04f,
+-8.076507491e-04f, -8.076144859e-04f, -8.075768290e-04f, -8.075377785e-04f, -8.074973346e-04f, -8.074554975e-04f, -8.074122673e-04f, -8.073676443e-04f, -8.073216284e-04f, -8.072742200e-04f,
+-8.072254191e-04f, -8.071752261e-04f, -8.071236409e-04f, -8.070706639e-04f, -8.070162951e-04f, -8.069605349e-04f, -8.069033833e-04f, -8.068448405e-04f, -8.067849068e-04f, -8.067235823e-04f,
+-8.066608672e-04f, -8.065967617e-04f, -8.065312661e-04f, -8.064643805e-04f, -8.063961051e-04f, -8.063264401e-04f, -8.062553857e-04f, -8.061829422e-04f, -8.061091098e-04f, -8.060338886e-04f,
+-8.059572789e-04f, -8.058792810e-04f, -8.057998949e-04f, -8.057191211e-04f, -8.056369596e-04f, -8.055534107e-04f, -8.054684747e-04f, -8.053821518e-04f, -8.052944422e-04f, -8.052053461e-04f,
+-8.051148639e-04f, -8.050229957e-04f, -8.049297418e-04f, -8.048351024e-04f, -8.047390778e-04f, -8.046416683e-04f, -8.045428741e-04f, -8.044426955e-04f, -8.043411326e-04f, -8.042381859e-04f,
+-8.041338555e-04f, -8.040281417e-04f, -8.039210448e-04f, -8.038125651e-04f, -8.037027028e-04f, -8.035914582e-04f, -8.034788317e-04f, -8.033648234e-04f, -8.032494336e-04f, -8.031326627e-04f,
+-8.030145110e-04f, -8.028949787e-04f, -8.027740661e-04f, -8.026517735e-04f, -8.025281012e-04f, -8.024030496e-04f, -8.022766189e-04f, -8.021488094e-04f, -8.020196214e-04f, -8.018890553e-04f,
+-8.017571114e-04f, -8.016237899e-04f, -8.014890912e-04f, -8.013530157e-04f, -8.012155635e-04f, -8.010767352e-04f, -8.009365309e-04f, -8.007949511e-04f, -8.006519960e-04f, -8.005076659e-04f,
+-8.003619613e-04f, -8.002148825e-04f, -8.000664297e-04f, -7.999166034e-04f, -7.997654039e-04f, -7.996128316e-04f, -7.994588867e-04f, -7.993035697e-04f, -7.991468808e-04f, -7.989888205e-04f,
+-7.988293892e-04f, -7.986685871e-04f, -7.985064146e-04f, -7.983428722e-04f, -7.981779601e-04f, -7.980116788e-04f, -7.978440286e-04f, -7.976750100e-04f, -7.975046232e-04f, -7.973328686e-04f,
+-7.971597467e-04f, -7.969852579e-04f, -7.968094024e-04f, -7.966321808e-04f, -7.964535934e-04f, -7.962736405e-04f, -7.960923227e-04f, -7.959096403e-04f, -7.957255936e-04f, -7.955401832e-04f,
+-7.953534093e-04f, -7.951652725e-04f, -7.949757732e-04f, -7.947849116e-04f, -7.945926883e-04f, -7.943991037e-04f, -7.942041582e-04f, -7.940078523e-04f, -7.938101862e-04f, -7.936111606e-04f,
+-7.934107757e-04f, -7.932090321e-04f, -7.930059302e-04f, -7.928014704e-04f, -7.925956531e-04f, -7.923884788e-04f, -7.921799480e-04f, -7.919700610e-04f, -7.917588184e-04f, -7.915462205e-04f,
+-7.913322679e-04f, -7.911169610e-04f, -7.909003002e-04f, -7.906822860e-04f, -7.904629189e-04f, -7.902421994e-04f, -7.900201278e-04f, -7.897967048e-04f, -7.895719306e-04f, -7.893458059e-04f,
+-7.891183311e-04f, -7.888895067e-04f, -7.886593331e-04f, -7.884278108e-04f, -7.881949404e-04f, -7.879607223e-04f, -7.877251570e-04f, -7.874882450e-04f, -7.872499868e-04f, -7.870103829e-04f,
+-7.867694337e-04f, -7.865271399e-04f, -7.862835018e-04f, -7.860385201e-04f, -7.857921951e-04f, -7.855445275e-04f, -7.852955177e-04f, -7.850451662e-04f, -7.847934737e-04f, -7.845404405e-04f,
+-7.842860672e-04f, -7.840303543e-04f, -7.837733024e-04f, -7.835149120e-04f, -7.832551836e-04f, -7.829941178e-04f, -7.827317150e-04f, -7.824679759e-04f, -7.822029010e-04f, -7.819364908e-04f,
+-7.816687458e-04f, -7.813996666e-04f, -7.811292538e-04f, -7.808575079e-04f, -7.805844294e-04f, -7.803100190e-04f, -7.800342771e-04f, -7.797572044e-04f, -7.794788014e-04f, -7.791990687e-04f,
+-7.789180067e-04f, -7.786356162e-04f, -7.783518977e-04f, -7.780668517e-04f, -7.777804788e-04f, -7.774927797e-04f, -7.772037548e-04f, -7.769134048e-04f, -7.766217303e-04f, -7.763287318e-04f,
+-7.760344099e-04f, -7.757387653e-04f, -7.754417985e-04f, -7.751435101e-04f, -7.748439008e-04f, -7.745429710e-04f, -7.742407215e-04f, -7.739371528e-04f, -7.736322656e-04f, -7.733260604e-04f,
+-7.730185379e-04f, -7.727096986e-04f, -7.723995433e-04f, -7.720880725e-04f, -7.717752868e-04f, -7.714611868e-04f, -7.711457733e-04f, -7.708290468e-04f, -7.705110079e-04f, -7.701916573e-04f,
+-7.698709956e-04f, -7.695490235e-04f, -7.692257415e-04f, -7.689011504e-04f, -7.685752508e-04f, -7.682480433e-04f, -7.679195286e-04f, -7.675897073e-04f, -7.672585801e-04f, -7.669261476e-04f,
+-7.665924105e-04f, -7.662573694e-04f, -7.659210251e-04f, -7.655833781e-04f, -7.652444292e-04f, -7.649041790e-04f, -7.645626282e-04f, -7.642197774e-04f, -7.638756274e-04f, -7.635301787e-04f,
+-7.631834322e-04f, -7.628353884e-04f, -7.624860480e-04f, -7.621354118e-04f, -7.617834805e-04f, -7.614302546e-04f, -7.610757350e-04f, -7.607199222e-04f, -7.603628171e-04f, -7.600044203e-04f,
+-7.596447324e-04f, -7.592837543e-04f, -7.589214866e-04f, -7.585579300e-04f, -7.581930852e-04f, -7.578269530e-04f, -7.574595340e-04f, -7.570908290e-04f, -7.567208387e-04f, -7.563495638e-04f,
+-7.559770050e-04f, -7.556031631e-04f, -7.552280388e-04f, -7.548516328e-04f, -7.544739459e-04f, -7.540949787e-04f, -7.537147321e-04f, -7.533332067e-04f, -7.529504034e-04f, -7.525663228e-04f,
+-7.521809656e-04f, -7.517943327e-04f, -7.514064248e-04f, -7.510172426e-04f, -7.506267869e-04f, -7.502350585e-04f, -7.498420581e-04f, -7.494477864e-04f, -7.490522442e-04f, -7.486554324e-04f,
+-7.482573516e-04f, -7.478580026e-04f, -7.474573862e-04f, -7.470555032e-04f, -7.466523543e-04f, -7.462479404e-04f, -7.458422621e-04f, -7.454353204e-04f, -7.450271159e-04f, -7.446176494e-04f,
+-7.442069218e-04f, -7.437949339e-04f, -7.433816863e-04f, -7.429671800e-04f, -7.425514156e-04f, -7.421343941e-04f, -7.417161162e-04f, -7.412965827e-04f, -7.408757945e-04f, -7.404537522e-04f,
+-7.400304568e-04f, -7.396059090e-04f, -7.391801097e-04f, -7.387530597e-04f, -7.383247598e-04f, -7.378952108e-04f, -7.374644135e-04f, -7.370323687e-04f, -7.365990774e-04f, -7.361645403e-04f,
+-7.357287582e-04f, -7.352917320e-04f, -7.348534625e-04f, -7.344139505e-04f, -7.339731969e-04f, -7.335312026e-04f, -7.330879683e-04f, -7.326434949e-04f, -7.321977833e-04f, -7.317508343e-04f,
+-7.313026488e-04f, -7.308532275e-04f, -7.304025715e-04f, -7.299506815e-04f, -7.294975583e-04f, -7.290432029e-04f, -7.285876161e-04f, -7.281307988e-04f, -7.276727518e-04f, -7.272134761e-04f,
+-7.267529724e-04f, -7.262912417e-04f, -7.258282848e-04f, -7.253641027e-04f, -7.248986961e-04f, -7.244320660e-04f, -7.239642133e-04f, -7.234951388e-04f, -7.230248435e-04f, -7.225533281e-04f,
+-7.220805937e-04f, -7.216066412e-04f, -7.211314713e-04f, -7.206550850e-04f, -7.201774833e-04f, -7.196986669e-04f, -7.192186369e-04f, -7.187373941e-04f, -7.182549394e-04f, -7.177712738e-04f,
+-7.172863981e-04f, -7.168003133e-04f, -7.163130203e-04f, -7.158245199e-04f, -7.153348133e-04f, -7.148439011e-04f, -7.143517845e-04f, -7.138584642e-04f, -7.133639413e-04f, -7.128682167e-04f,
+-7.123712912e-04f, -7.118731659e-04f, -7.113738416e-04f, -7.108733194e-04f, -7.103716001e-04f, -7.098686847e-04f, -7.093645742e-04f, -7.088592694e-04f, -7.083527713e-04f, -7.078450810e-04f,
+-7.073361993e-04f, -7.068261272e-04f, -7.063148656e-04f, -7.058024156e-04f, -7.052887780e-04f, -7.047739538e-04f, -7.042579441e-04f, -7.037407497e-04f, -7.032223717e-04f, -7.027028110e-04f,
+-7.021820686e-04f, -7.016601454e-04f, -7.011370425e-04f, -7.006127607e-04f, -7.000873012e-04f, -6.995606649e-04f, -6.990328527e-04f, -6.985038656e-04f, -6.979737047e-04f, -6.974423710e-04f,
+-6.969098654e-04f, -6.963761888e-04f, -6.958413424e-04f, -6.953053271e-04f, -6.947681440e-04f, -6.942297939e-04f, -6.936902780e-04f, -6.931495972e-04f, -6.926077525e-04f, -6.920647450e-04f,
+-6.915205757e-04f, -6.909752455e-04f, -6.904287555e-04f, -6.898811068e-04f, -6.893323002e-04f, -6.887823369e-04f, -6.882312179e-04f, -6.876789442e-04f, -6.871255169e-04f, -6.865709369e-04f,
+-6.860152052e-04f, -6.854583231e-04f, -6.849002913e-04f, -6.843411111e-04f, -6.837807834e-04f, -6.832193093e-04f, -6.826566899e-04f, -6.820929261e-04f, -6.815280190e-04f, -6.809619697e-04f,
+-6.803947792e-04f, -6.798264485e-04f, -6.792569788e-04f, -6.786863711e-04f, -6.781146264e-04f, -6.775417459e-04f, -6.769677304e-04f, -6.763925813e-04f, -6.758162994e-04f, -6.752388859e-04f,
+-6.746603418e-04f, -6.740806682e-04f, -6.734998662e-04f, -6.729179368e-04f, -6.723348812e-04f, -6.717507004e-04f, -6.711653955e-04f, -6.705789676e-04f, -6.699914177e-04f, -6.694027470e-04f,
+-6.688129565e-04f, -6.682220473e-04f, -6.676300206e-04f, -6.670368773e-04f, -6.664426187e-04f, -6.658472458e-04f, -6.652507597e-04f, -6.646531615e-04f, -6.640544524e-04f, -6.634546333e-04f,
+-6.628537055e-04f, -6.622516700e-04f, -6.616485280e-04f, -6.610442805e-04f, -6.604389287e-04f, -6.598324737e-04f, -6.592249166e-04f, -6.586162586e-04f, -6.580065007e-04f, -6.573956440e-04f,
+-6.567836898e-04f, -6.561706391e-04f, -6.555564931e-04f, -6.549412528e-04f, -6.543249195e-04f, -6.537074942e-04f, -6.530889782e-04f, -6.524693724e-04f, -6.518486782e-04f, -6.512268966e-04f,
+-6.506040287e-04f, -6.499800757e-04f, -6.493550388e-04f, -6.487289191e-04f, -6.481017177e-04f, -6.474734359e-04f, -6.468440747e-04f, -6.462136353e-04f, -6.455821189e-04f, -6.449495267e-04f,
+-6.443158597e-04f, -6.436811193e-04f, -6.430453064e-04f, -6.424084223e-04f, -6.417704682e-04f, -6.411314453e-04f, -6.404913546e-04f, -6.398501975e-04f, -6.392079750e-04f, -6.385646883e-04f,
+-6.379203386e-04f, -6.372749272e-04f, -6.366284551e-04f, -6.359809236e-04f, -6.353323338e-04f, -6.346826870e-04f, -6.340319843e-04f, -6.333802270e-04f, -6.327274162e-04f, -6.320735530e-04f,
+-6.314186388e-04f, -6.307626747e-04f, -6.301056619e-04f, -6.294476016e-04f, -6.287884950e-04f, -6.281283434e-04f, -6.274671479e-04f, -6.268049097e-04f, -6.261416301e-04f, -6.254773102e-04f,
+-6.248119513e-04f, -6.241455546e-04f, -6.234781214e-04f, -6.228096527e-04f, -6.221401499e-04f, -6.214696142e-04f, -6.207980468e-04f, -6.201254489e-04f, -6.194518217e-04f, -6.187771666e-04f,
+-6.181014847e-04f, -6.174247772e-04f, -6.167470454e-04f, -6.160682905e-04f, -6.153885138e-04f, -6.147077165e-04f, -6.140258998e-04f, -6.133430650e-04f, -6.126592134e-04f, -6.119743461e-04f,
+-6.112884644e-04f, -6.106015697e-04f, -6.099136630e-04f, -6.092247458e-04f, -6.085348191e-04f, -6.078438844e-04f, -6.071519428e-04f, -6.064589957e-04f, -6.057650442e-04f, -6.050700896e-04f,
+-6.043741333e-04f, -6.036771764e-04f, -6.029792202e-04f, -6.022802661e-04f, -6.015803152e-04f, -6.008793689e-04f, -6.001774285e-04f, -5.994744951e-04f, -5.987705701e-04f, -5.980656548e-04f,
+-5.973597504e-04f, -5.966528583e-04f, -5.959449796e-04f, -5.952361158e-04f, -5.945262681e-04f, -5.938154377e-04f, -5.931036260e-04f, -5.923908343e-04f, -5.916770638e-04f, -5.909623158e-04f,
+-5.902465918e-04f, -5.895298928e-04f, -5.888122203e-04f, -5.880935756e-04f, -5.873739599e-04f, -5.866533746e-04f, -5.859318210e-04f, -5.852093003e-04f, -5.844858140e-04f, -5.837613632e-04f,
+-5.830359493e-04f, -5.823095737e-04f, -5.815822376e-04f, -5.808539424e-04f, -5.801246894e-04f, -5.793944799e-04f, -5.786633152e-04f, -5.779311966e-04f, -5.771981256e-04f, -5.764641033e-04f,
+-5.757291312e-04f, -5.749932106e-04f, -5.742563428e-04f, -5.735185291e-04f, -5.727797709e-04f, -5.720400694e-04f, -5.712994262e-04f, -5.705578424e-04f, -5.698153194e-04f, -5.690718587e-04f,
+-5.683274614e-04f, -5.675821290e-04f, -5.668358628e-04f, -5.660886642e-04f, -5.653405345e-04f, -5.645914751e-04f, -5.638414873e-04f, -5.630905724e-04f, -5.623387319e-04f, -5.615859671e-04f,
+-5.608322793e-04f, -5.600776699e-04f, -5.593221404e-04f, -5.585656919e-04f, -5.578083260e-04f, -5.570500439e-04f, -5.562908471e-04f, -5.555307369e-04f, -5.547697147e-04f, -5.540077818e-04f,
+-5.532449397e-04f, -5.524811897e-04f, -5.517165331e-04f, -5.509509715e-04f, -5.501845061e-04f, -5.494171383e-04f, -5.486488695e-04f, -5.478797012e-04f, -5.471096346e-04f, -5.463386712e-04f,
+-5.455668124e-04f, -5.447940595e-04f, -5.440204140e-04f, -5.432458772e-04f, -5.424704506e-04f, -5.416941355e-04f, -5.409169334e-04f, -5.401388456e-04f, -5.393598735e-04f, -5.385800185e-04f,
+-5.377992821e-04f, -5.370176657e-04f, -5.362351706e-04f, -5.354517983e-04f, -5.346675502e-04f, -5.338824276e-04f, -5.330964321e-04f, -5.323095649e-04f, -5.315218276e-04f, -5.307332216e-04f,
+-5.299437482e-04f, -5.291534089e-04f, -5.283622051e-04f, -5.275701382e-04f, -5.267772097e-04f, -5.259834210e-04f, -5.251887734e-04f, -5.243932686e-04f, -5.235969077e-04f, -5.227996924e-04f,
+-5.220016240e-04f, -5.212027040e-04f, -5.204029338e-04f, -5.196023148e-04f, -5.188008485e-04f, -5.179985363e-04f, -5.171953796e-04f, -5.163913800e-04f, -5.155865387e-04f, -5.147808574e-04f,
+-5.139743374e-04f, -5.131669802e-04f, -5.123587872e-04f, -5.115497599e-04f, -5.107398997e-04f, -5.099292081e-04f, -5.091176865e-04f, -5.083053364e-04f, -5.074921593e-04f, -5.066781566e-04f,
+-5.058633297e-04f, -5.050476802e-04f, -5.042312095e-04f, -5.034139190e-04f, -5.025958103e-04f, -5.017768847e-04f, -5.009571438e-04f, -5.001365890e-04f, -4.993152218e-04f, -4.984930437e-04f,
+-4.976700561e-04f, -4.968462605e-04f, -4.960216584e-04f, -4.951962513e-04f, -4.943700406e-04f, -4.935430278e-04f, -4.927152145e-04f, -4.918866020e-04f, -4.910571919e-04f, -4.902269856e-04f,
+-4.893959847e-04f, -4.885641906e-04f, -4.877316048e-04f, -4.868982289e-04f, -4.860640642e-04f, -4.852291123e-04f, -4.843933747e-04f, -4.835568529e-04f, -4.827195483e-04f, -4.818814625e-04f,
+-4.810425970e-04f, -4.802029533e-04f, -4.793625328e-04f, -4.785213371e-04f, -4.776793676e-04f, -4.768366260e-04f, -4.759931136e-04f, -4.751488320e-04f, -4.743037827e-04f, -4.734579673e-04f,
+-4.726113871e-04f, -4.717640438e-04f, -4.709159388e-04f, -4.700670737e-04f, -4.692174500e-04f, -4.683670692e-04f, -4.675159328e-04f, -4.666640423e-04f, -4.658113993e-04f, -4.649580052e-04f,
+-4.641038617e-04f, -4.632489701e-04f, -4.623933321e-04f, -4.615369492e-04f, -4.606798229e-04f, -4.598219548e-04f, -4.589633462e-04f, -4.581039989e-04f, -4.572439143e-04f, -4.563830940e-04f,
+-4.555215395e-04f, -4.546592523e-04f, -4.537962340e-04f, -4.529324860e-04f, -4.520680101e-04f, -4.512028076e-04f, -4.503368801e-04f, -4.494702292e-04f, -4.486028565e-04f, -4.477347634e-04f,
+-4.468659515e-04f, -4.459964223e-04f, -4.451261775e-04f, -4.442552185e-04f, -4.433835469e-04f, -4.425111643e-04f, -4.416380722e-04f, -4.407642722e-04f, -4.398897658e-04f, -4.390145546e-04f,
+-4.381386401e-04f, -4.372620239e-04f, -4.363847076e-04f, -4.355066927e-04f, -4.346279807e-04f, -4.337485733e-04f, -4.328684720e-04f, -4.319876784e-04f, -4.311061941e-04f, -4.302240205e-04f,
+-4.293411593e-04f, -4.284576121e-04f, -4.275733804e-04f, -4.266884658e-04f, -4.258028698e-04f, -4.249165941e-04f, -4.240296402e-04f, -4.231420097e-04f, -4.222537042e-04f, -4.213647252e-04f,
+-4.204750743e-04f, -4.195847531e-04f, -4.186937633e-04f, -4.178021063e-04f, -4.169097837e-04f, -4.160167972e-04f, -4.151231484e-04f, -4.142288387e-04f, -4.133338698e-04f, -4.124382434e-04f,
+-4.115419609e-04f, -4.106450240e-04f, -4.097474343e-04f, -4.088491933e-04f, -4.079503027e-04f, -4.070507640e-04f, -4.061505788e-04f, -4.052497489e-04f, -4.043482756e-04f, -4.034461607e-04f,
+-4.025434057e-04f, -4.016400123e-04f, -4.007359820e-04f, -3.998313165e-04f, -3.989260173e-04f, -3.980200861e-04f, -3.971135244e-04f, -3.962063340e-04f, -3.952985162e-04f, -3.943900729e-04f,
+-3.934810056e-04f, -3.925713159e-04f, -3.916610054e-04f, -3.907500758e-04f, -3.898385286e-04f, -3.889263655e-04f, -3.880135880e-04f, -3.871001979e-04f, -3.861861967e-04f, -3.852715860e-04f,
+-3.843563674e-04f, -3.834405427e-04f, -3.825241133e-04f, -3.816070810e-04f, -3.806894473e-04f, -3.797712139e-04f, -3.788523824e-04f, -3.779329544e-04f, -3.770129315e-04f, -3.760923154e-04f,
+-3.751711078e-04f, -3.742493102e-04f, -3.733269242e-04f, -3.724039516e-04f, -3.714803938e-04f, -3.705562527e-04f, -3.696315298e-04f, -3.687062267e-04f, -3.677803450e-04f, -3.668538865e-04f,
+-3.659268527e-04f, -3.649992454e-04f, -3.640710660e-04f, -3.631423164e-04f, -3.622129980e-04f, -3.612831126e-04f, -3.603526618e-04f, -3.594216473e-04f, -3.584900706e-04f, -3.575579335e-04f,
+-3.566252375e-04f, -3.556919844e-04f, -3.547581758e-04f, -3.538238133e-04f, -3.528888986e-04f, -3.519534333e-04f, -3.510174191e-04f, -3.500808577e-04f, -3.491437506e-04f, -3.482060996e-04f,
+-3.472679063e-04f, -3.463291723e-04f, -3.453898994e-04f, -3.444500891e-04f, -3.435097432e-04f, -3.425688633e-04f, -3.416274510e-04f, -3.406855080e-04f, -3.397430360e-04f, -3.388000367e-04f,
+-3.378565117e-04f, -3.369124626e-04f, -3.359678912e-04f, -3.350227990e-04f, -3.340771879e-04f, -3.331310593e-04f, -3.321844151e-04f, -3.312372569e-04f, -3.302895863e-04f, -3.293414050e-04f,
+-3.283927147e-04f, -3.274435170e-04f, -3.264938137e-04f, -3.255436064e-04f, -3.245928968e-04f, -3.236416865e-04f, -3.226899773e-04f, -3.217377708e-04f, -3.207850687e-04f, -3.198318726e-04f,
+-3.188781843e-04f, -3.179240054e-04f, -3.169693376e-04f, -3.160141827e-04f, -3.150585421e-04f, -3.141024178e-04f, -3.131458113e-04f, -3.121887243e-04f, -3.112311585e-04f, -3.102731156e-04f,
+-3.093145973e-04f, -3.083556052e-04f, -3.073961411e-04f, -3.064362067e-04f, -3.054758036e-04f, -3.045149335e-04f, -3.035535981e-04f, -3.025917992e-04f, -3.016295383e-04f, -3.006668173e-04f,
+-2.997036377e-04f, -2.987400013e-04f, -2.977759098e-04f, -2.968113648e-04f, -2.958463681e-04f, -2.948809214e-04f, -2.939150264e-04f, -2.929486847e-04f, -2.919818980e-04f, -2.910146682e-04f,
+-2.900469968e-04f, -2.890788855e-04f, -2.881103361e-04f, -2.871413503e-04f, -2.861719298e-04f, -2.852020762e-04f, -2.842317913e-04f, -2.832610768e-04f, -2.822899344e-04f, -2.813183657e-04f,
+-2.803463726e-04f, -2.793739567e-04f, -2.784011197e-04f, -2.774278633e-04f, -2.764541892e-04f, -2.754800992e-04f, -2.745055950e-04f, -2.735306782e-04f, -2.725553506e-04f, -2.715796139e-04f,
+-2.706034698e-04f, -2.696269200e-04f, -2.686499662e-04f, -2.676726102e-04f, -2.666948536e-04f, -2.657166982e-04f, -2.647381458e-04f, -2.637591979e-04f, -2.627798563e-04f, -2.618001228e-04f,
+-2.608199991e-04f, -2.598394868e-04f, -2.588585878e-04f, -2.578773036e-04f, -2.568956362e-04f, -2.559135871e-04f, -2.549311580e-04f, -2.539483508e-04f, -2.529651671e-04f, -2.519816087e-04f,
+-2.509976773e-04f, -2.500133745e-04f, -2.490287023e-04f, -2.480436621e-04f, -2.470582559e-04f, -2.460724852e-04f, -2.450863519e-04f, -2.440998577e-04f, -2.431130043e-04f, -2.421257934e-04f,
+-2.411382267e-04f, -2.401503060e-04f, -2.391620331e-04f, -2.381734096e-04f, -2.371844373e-04f, -2.361951178e-04f, -2.352054531e-04f, -2.342154447e-04f, -2.332250944e-04f, -2.322344039e-04f,
+-2.312433751e-04f, -2.302520095e-04f, -2.292603090e-04f, -2.282682753e-04f, -2.272759101e-04f, -2.262832151e-04f, -2.252901922e-04f, -2.242968429e-04f, -2.233031692e-04f, -2.223091726e-04f,
+-2.213148551e-04f, -2.203202181e-04f, -2.193252637e-04f, -2.183299933e-04f, -2.173344089e-04f, -2.163385122e-04f, -2.153423048e-04f, -2.143457886e-04f, -2.133489652e-04f, -2.123518365e-04f,
+-2.113544041e-04f, -2.103566698e-04f, -2.093586354e-04f, -2.083603026e-04f, -2.073616731e-04f, -2.063627487e-04f, -2.053635311e-04f, -2.043640221e-04f, -2.033642234e-04f, -2.023641368e-04f,
+-2.013637640e-04f, -2.003631068e-04f, -1.993621669e-04f, -1.983609461e-04f, -1.973594460e-04f, -1.963576686e-04f, -1.953556154e-04f, -1.943532883e-04f, -1.933506890e-04f, -1.923478193e-04f,
+-1.913446809e-04f, -1.903412755e-04f, -1.893376049e-04f, -1.883336710e-04f, -1.873294753e-04f, -1.863250197e-04f, -1.853203060e-04f, -1.843153358e-04f, -1.833101109e-04f, -1.823046332e-04f,
+-1.812989043e-04f, -1.802929259e-04f, -1.792867000e-04f, -1.782802281e-04f, -1.772735121e-04f, -1.762665537e-04f, -1.752593547e-04f, -1.742519168e-04f, -1.732442418e-04f, -1.722363315e-04f,
+-1.712281876e-04f, -1.702198118e-04f, -1.692112059e-04f, -1.682023717e-04f, -1.671933110e-04f, -1.661840254e-04f, -1.651745168e-04f, -1.641647869e-04f, -1.631548375e-04f, -1.621446704e-04f,
+-1.611342872e-04f, -1.601236897e-04f, -1.591128798e-04f, -1.581018592e-04f, -1.570906296e-04f, -1.560791928e-04f, -1.550675506e-04f, -1.540557046e-04f, -1.530436568e-04f, -1.520314088e-04f,
+-1.510189625e-04f, -1.500063195e-04f, -1.489934816e-04f, -1.479804507e-04f, -1.469672284e-04f, -1.459538165e-04f, -1.449402169e-04f, -1.439264311e-04f, -1.429124611e-04f, -1.418983086e-04f,
+-1.408839754e-04f, -1.398694632e-04f, -1.388547737e-04f, -1.378399088e-04f, -1.368248702e-04f, -1.358096597e-04f, -1.347942790e-04f, -1.337787300e-04f, -1.327630143e-04f, -1.317471338e-04f,
+-1.307310901e-04f, -1.297148852e-04f, -1.286985207e-04f, -1.276819984e-04f, -1.266653201e-04f, -1.256484876e-04f, -1.246315025e-04f, -1.236143668e-04f, -1.225970821e-04f, -1.215796502e-04f,
+-1.205620729e-04f, -1.195443520e-04f, -1.185264892e-04f, -1.175084863e-04f, -1.164903450e-04f, -1.154720672e-04f, -1.144536546e-04f, -1.134351089e-04f, -1.124164320e-04f, -1.113976256e-04f,
+-1.103786915e-04f, -1.093596315e-04f, -1.083404472e-04f, -1.073211406e-04f, -1.063017133e-04f, -1.052821671e-04f, -1.042625039e-04f, -1.032427253e-04f, -1.022228331e-04f, -1.012028292e-04f,
+-1.001827152e-04f, -9.916249303e-05f, -9.814216435e-05f, -9.712173096e-05f, -9.610119464e-05f, -9.508055716e-05f, -9.405982028e-05f, -9.303898578e-05f, -9.201805543e-05f, -9.099703100e-05f,
+-8.997591427e-05f, -8.895470699e-05f, -8.793341095e-05f, -8.691202792e-05f, -8.589055966e-05f, -8.486900795e-05f, -8.384737456e-05f, -8.282566127e-05f, -8.180386983e-05f, -8.078200203e-05f,
+-7.976005964e-05f, -7.873804443e-05f, -7.771595816e-05f, -7.669380262e-05f, -7.567157956e-05f, -7.464929077e-05f, -7.362693802e-05f, -7.260452308e-05f, -7.158204771e-05f, -7.055951370e-05f,
+-6.953692280e-05f, -6.851427680e-05f, -6.749157747e-05f, -6.646882657e-05f, -6.544602588e-05f, -6.442317717e-05f, -6.340028222e-05f, -6.237734278e-05f, -6.135436064e-05f, -6.033133756e-05f,
+-5.930827533e-05f, -5.828517569e-05f, -5.726204044e-05f, -5.623887134e-05f, -5.521567016e-05f, -5.419243868e-05f, -5.316917865e-05f, -5.214589186e-05f, -5.112258008e-05f, -5.009924507e-05f,
+-4.907588861e-05f, -4.805251247e-05f, -4.702911842e-05f, -4.600570822e-05f, -4.498228365e-05f, -4.395884648e-05f, -4.293539848e-05f, -4.191194143e-05f, -4.088847708e-05f, -3.986500721e-05f,
+-3.884153359e-05f, -3.781805799e-05f, -3.679458217e-05f, -3.577110792e-05f, -3.474763699e-05f, -3.372417116e-05f, -3.270071220e-05f, -3.167726187e-05f, -3.065382194e-05f, -2.963039419e-05f,
+-2.860698038e-05f, -2.758358228e-05f, -2.656020166e-05f, -2.553684028e-05f, -2.451349992e-05f, -2.349018234e-05f, -2.246688931e-05f, -2.144362260e-05f, -2.042038397e-05f, -1.939717520e-05f,
+-1.837399804e-05f, -1.735085427e-05f, -1.632774566e-05f, -1.530467396e-05f, -1.428164095e-05f, -1.325864840e-05f, -1.223569806e-05f, -1.121279171e-05f, -1.018993110e-05f, -9.167118017e-06f,
+-8.144354211e-06f, -7.121641452e-06f, -6.098981503e-06f, -5.076376130e-06f, -4.053827098e-06f, -3.031336170e-06f, -2.008905111e-06f, -9.865356841e-07f, 3.577034625e-08f, 1.058011217e-06f,
+2.080185165e-06f, 3.102290427e-06f, 4.124325240e-06f, 5.146287843e-06f, 6.168176472e-06f, 7.189989365e-06f, 8.211724762e-06f, 9.233380900e-06f, 1.025495602e-05f, 1.127644835e-05f,
+1.229785615e-05f, 1.331917764e-05f, 1.434041107e-05f, 1.536155468e-05f, 1.638260670e-05f, 1.740356539e-05f, 1.842442897e-05f, 1.944519569e-05f, 2.046586380e-05f, 2.148643152e-05f,
+2.250689712e-05f, 2.352725881e-05f, 2.454751486e-05f, 2.556766350e-05f, 2.658770298e-05f, 2.760763154e-05f, 2.862744742e-05f, 2.964714886e-05f, 3.066673412e-05f, 3.168620143e-05f,
+3.270554905e-05f, 3.372477521e-05f, 3.474387816e-05f, 3.576285615e-05f, 3.678170742e-05f, 3.780043022e-05f, 3.881902280e-05f, 3.983748341e-05f, 4.085581028e-05f, 4.187400168e-05f,
+4.289205585e-05f, 4.390997103e-05f, 4.492774548e-05f, 4.594537744e-05f, 4.696286517e-05f, 4.798020691e-05f, 4.899740092e-05f, 5.001444545e-05f, 5.103133874e-05f, 5.204807905e-05f,
+5.306466463e-05f, 5.408109374e-05f, 5.509736462e-05f, 5.611347553e-05f, 5.712942472e-05f, 5.814521045e-05f, 5.916083097e-05f, 6.017628453e-05f, 6.119156939e-05f, 6.220668381e-05f,
+6.322162604e-05f, 6.423639434e-05f, 6.525098696e-05f, 6.626540216e-05f, 6.727963820e-05f, 6.829369334e-05f, 6.930756583e-05f, 7.032125394e-05f, 7.133475592e-05f, 7.234807003e-05f,
+7.336119453e-05f, 7.437412768e-05f, 7.538686775e-05f, 7.639941300e-05f, 7.741176168e-05f, 7.842391206e-05f, 7.943586241e-05f, 8.044761097e-05f, 8.145915603e-05f, 8.247049584e-05f,
+8.348162867e-05f, 8.449255278e-05f, 8.550326644e-05f, 8.651376791e-05f, 8.752405546e-05f, 8.853412736e-05f, 8.954398188e-05f, 9.055361727e-05f, 9.156303182e-05f, 9.257222379e-05f,
+9.358119145e-05f, 9.458993307e-05f, 9.559844692e-05f, 9.660673126e-05f, 9.761478438e-05f, 9.862260455e-05f, 9.963019003e-05f, 1.006375391e-04f, 1.016446500e-04f, 1.026515211e-04f,
+1.036581506e-04f, 1.046645367e-04f, 1.056706779e-04f, 1.066765722e-04f, 1.076822181e-04f, 1.086876138e-04f, 1.096927575e-04f, 1.106976476e-04f, 1.117022823e-04f, 1.127066600e-04f,
+1.137107788e-04f, 1.147146370e-04f, 1.157182331e-04f, 1.167215651e-04f, 1.177246315e-04f, 1.187274304e-04f, 1.197299603e-04f, 1.207322192e-04f, 1.217342057e-04f, 1.227359179e-04f,
+1.237373540e-04f, 1.247385125e-04f, 1.257393916e-04f, 1.267399896e-04f, 1.277403047e-04f, 1.287403352e-04f, 1.297400795e-04f, 1.307395359e-04f, 1.317387026e-04f, 1.327375778e-04f,
+1.337361600e-04f, 1.347344474e-04f, 1.357324383e-04f, 1.367301309e-04f, 1.377275236e-04f, 1.387246147e-04f, 1.397214025e-04f, 1.407178853e-04f, 1.417140612e-04f, 1.427099288e-04f,
+1.437054862e-04f, 1.447007318e-04f, 1.456956638e-04f, 1.466902805e-04f, 1.476845804e-04f, 1.486785615e-04f, 1.496722224e-04f, 1.506655612e-04f, 1.516585762e-04f, 1.526512658e-04f,
+1.536436283e-04f, 1.546356620e-04f, 1.556273651e-04f, 1.566187360e-04f, 1.576097731e-04f, 1.586004745e-04f, 1.595908386e-04f, 1.605808638e-04f, 1.615705483e-04f, 1.625598904e-04f,
+1.635488885e-04f, 1.645375409e-04f, 1.655258458e-04f, 1.665138016e-04f, 1.675014066e-04f, 1.684886592e-04f, 1.694755575e-04f, 1.704621001e-04f, 1.714482851e-04f, 1.724341109e-04f,
+1.734195757e-04f, 1.744046781e-04f, 1.753894161e-04f, 1.763737882e-04f, 1.773577928e-04f, 1.783414280e-04f, 1.793246922e-04f, 1.803075838e-04f, 1.812901011e-04f, 1.822722424e-04f,
+1.832540060e-04f, 1.842353903e-04f, 1.852163936e-04f, 1.861970141e-04f, 1.871772503e-04f, 1.881571005e-04f, 1.891365630e-04f, 1.901156362e-04f, 1.910943182e-04f, 1.920726076e-04f,
+1.930505027e-04f, 1.940280016e-04f, 1.950051029e-04f, 1.959818049e-04f, 1.969581058e-04f, 1.979340040e-04f, 1.989094978e-04f, 1.998845857e-04f, 2.008592659e-04f, 2.018335368e-04f,
+2.028073966e-04f, 2.037808439e-04f, 2.047538768e-04f, 2.057264937e-04f, 2.066986931e-04f, 2.076704732e-04f, 2.086418324e-04f, 2.096127690e-04f, 2.105832813e-04f, 2.115533678e-04f,
+2.125230268e-04f, 2.134922566e-04f, 2.144610556e-04f, 2.154294221e-04f, 2.163973545e-04f, 2.173648511e-04f, 2.183319103e-04f, 2.192985305e-04f, 2.202647099e-04f, 2.212304471e-04f,
+2.221957402e-04f, 2.231605878e-04f, 2.241249880e-04f, 2.250889394e-04f, 2.260524403e-04f, 2.270154889e-04f, 2.279780838e-04f, 2.289402232e-04f, 2.299019056e-04f, 2.308631292e-04f,
+2.318238925e-04f, 2.327841938e-04f, 2.337440315e-04f, 2.347034039e-04f, 2.356623095e-04f, 2.366207466e-04f, 2.375787136e-04f, 2.385362088e-04f, 2.394932307e-04f, 2.404497776e-04f,
+2.414058478e-04f, 2.423614398e-04f, 2.433165519e-04f, 2.442711826e-04f, 2.452253301e-04f, 2.461789929e-04f, 2.471321694e-04f, 2.480848579e-04f, 2.490370568e-04f, 2.499887646e-04f,
+2.509399795e-04f, 2.518907001e-04f, 2.528409246e-04f, 2.537906514e-04f, 2.547398790e-04f, 2.556886058e-04f, 2.566368300e-04f, 2.575845502e-04f, 2.585317647e-04f, 2.594784720e-04f,
+2.604246703e-04f, 2.613703581e-04f, 2.623155339e-04f, 2.632601959e-04f, 2.642043426e-04f, 2.651479725e-04f, 2.660910838e-04f, 2.670336751e-04f, 2.679757446e-04f, 2.689172909e-04f,
+2.698583123e-04f, 2.707988072e-04f, 2.717387740e-04f, 2.726782112e-04f, 2.736171171e-04f, 2.745554902e-04f, 2.754933289e-04f, 2.764306315e-04f, 2.773673966e-04f, 2.783036224e-04f,
+2.792393075e-04f, 2.801744502e-04f, 2.811090490e-04f, 2.820431023e-04f, 2.829766085e-04f, 2.839095660e-04f, 2.848419733e-04f, 2.857738287e-04f, 2.867051307e-04f, 2.876358777e-04f,
+2.885660682e-04f, 2.894957005e-04f, 2.904247732e-04f, 2.913532845e-04f, 2.922812331e-04f, 2.932086172e-04f, 2.941354353e-04f, 2.950616859e-04f, 2.959873674e-04f, 2.969124783e-04f,
+2.978370169e-04f, 2.987609816e-04f, 2.996843711e-04f, 3.006071836e-04f, 3.015294176e-04f, 3.024510716e-04f, 3.033721440e-04f, 3.042926333e-04f, 3.052125379e-04f, 3.061318562e-04f,
+3.070505867e-04f, 3.079687279e-04f, 3.088862781e-04f, 3.098032359e-04f, 3.107195997e-04f, 3.116353679e-04f, 3.125505391e-04f, 3.134651116e-04f, 3.143790839e-04f, 3.152924545e-04f,
+3.162052219e-04f, 3.171173844e-04f, 3.180289406e-04f, 3.189398889e-04f, 3.198502279e-04f, 3.207599558e-04f, 3.216690713e-04f, 3.225775727e-04f, 3.234854586e-04f, 3.243927275e-04f,
+3.252993777e-04f, 3.262054078e-04f, 3.271108162e-04f, 3.280156014e-04f, 3.289197619e-04f, 3.298232962e-04f, 3.307262028e-04f, 3.316284800e-04f, 3.325301264e-04f, 3.334311406e-04f,
+3.343315209e-04f, 3.352312658e-04f, 3.361303739e-04f, 3.370288436e-04f, 3.379266734e-04f, 3.388238618e-04f, 3.397204072e-04f, 3.406163083e-04f, 3.415115634e-04f, 3.424061711e-04f,
+3.433001298e-04f, 3.441934381e-04f, 3.450860945e-04f, 3.459780974e-04f, 3.468694453e-04f, 3.477601368e-04f, 3.486501703e-04f, 3.495395444e-04f, 3.504282576e-04f, 3.513163083e-04f,
+3.522036950e-04f, 3.530904164e-04f, 3.539764708e-04f, 3.548618569e-04f, 3.557465730e-04f, 3.566306178e-04f, 3.575139897e-04f, 3.583966873e-04f, 3.592787090e-04f, 3.601600534e-04f,
+3.610407191e-04f, 3.619207044e-04f, 3.628000080e-04f, 3.636786284e-04f, 3.645565641e-04f, 3.654338136e-04f, 3.663103754e-04f, 3.671862482e-04f, 3.680614303e-04f, 3.689359204e-04f,
+3.698097169e-04f, 3.706828185e-04f, 3.715552236e-04f, 3.724269308e-04f, 3.732979386e-04f, 3.741682455e-04f, 3.750378501e-04f, 3.759067510e-04f, 3.767749467e-04f, 3.776424356e-04f,
+3.785092165e-04f, 3.793752877e-04f, 3.802406479e-04f, 3.811052956e-04f, 3.819692294e-04f, 3.828324478e-04f, 3.836949494e-04f, 3.845567326e-04f, 3.854177962e-04f, 3.862781386e-04f,
+3.871377583e-04f, 3.879966541e-04f, 3.888548243e-04f, 3.897122676e-04f, 3.905689826e-04f, 3.914249678e-04f, 3.922802217e-04f, 3.931347430e-04f, 3.939885301e-04f, 3.948415818e-04f,
+3.956938965e-04f, 3.965454729e-04f, 3.973963094e-04f, 3.982464047e-04f, 3.990957574e-04f, 3.999443660e-04f, 4.007922291e-04f, 4.016393453e-04f, 4.024857132e-04f, 4.033313313e-04f,
+4.041761983e-04f, 4.050203128e-04f, 4.058636732e-04f, 4.067062783e-04f, 4.075481266e-04f, 4.083892166e-04f, 4.092295471e-04f, 4.100691165e-04f, 4.109079236e-04f, 4.117459668e-04f,
+4.125832448e-04f, 4.134197562e-04f, 4.142554996e-04f, 4.150904735e-04f, 4.159246767e-04f, 4.167581077e-04f, 4.175907651e-04f, 4.184226475e-04f, 4.192537535e-04f, 4.200840818e-04f,
+4.209136309e-04f, 4.217423995e-04f, 4.225703862e-04f, 4.233975897e-04f, 4.242240084e-04f, 4.250496411e-04f, 4.258744864e-04f, 4.266985429e-04f, 4.275218092e-04f, 4.283442839e-04f,
+4.291659657e-04f, 4.299868533e-04f, 4.308069452e-04f, 4.316262400e-04f, 4.324447365e-04f, 4.332624332e-04f, 4.340793288e-04f, 4.348954219e-04f, 4.357107112e-04f, 4.365251953e-04f,
+4.373388728e-04f, 4.381517424e-04f, 4.389638027e-04f, 4.397750525e-04f, 4.405854902e-04f, 4.413951147e-04f, 4.422039245e-04f, 4.430119183e-04f, 4.438190947e-04f, 4.446254524e-04f,
+4.454309901e-04f, 4.462357064e-04f, 4.470396000e-04f, 4.478426695e-04f, 4.486449137e-04f, 4.494463311e-04f, 4.502469204e-04f, 4.510466804e-04f, 4.518456096e-04f, 4.526437068e-04f,
+4.534409706e-04f, 4.542373997e-04f, 4.550329928e-04f, 4.558277486e-04f, 4.566216657e-04f, 4.574147427e-04f, 4.582069785e-04f, 4.589983717e-04f, 4.597889209e-04f, 4.605786249e-04f,
+4.613674823e-04f, 4.621554919e-04f, 4.629426523e-04f, 4.637289622e-04f, 4.645144203e-04f, 4.652990253e-04f, 4.660827759e-04f, 4.668656709e-04f, 4.676477088e-04f, 4.684288885e-04f,
+4.692092085e-04f, 4.699886677e-04f, 4.707672647e-04f, 4.715449983e-04f, 4.723218670e-04f, 4.730978698e-04f, 4.738730052e-04f, 4.746472720e-04f, 4.754206689e-04f, 4.761931946e-04f,
+4.769648479e-04f, 4.777356274e-04f, 4.785055320e-04f, 4.792745602e-04f, 4.800427109e-04f, 4.808099827e-04f, 4.815763744e-04f, 4.823418848e-04f, 4.831065125e-04f, 4.838702563e-04f,
+4.846331150e-04f, 4.853950872e-04f, 4.861561717e-04f, 4.869163673e-04f, 4.876756726e-04f, 4.884340865e-04f, 4.891916077e-04f, 4.899482349e-04f, 4.907039669e-04f, 4.914588024e-04f,
+4.922127401e-04f, 4.929657789e-04f, 4.937179175e-04f, 4.944691547e-04f, 4.952194891e-04f, 4.959689196e-04f, 4.967174450e-04f, 4.974650639e-04f, 4.982117752e-04f, 4.989575776e-04f,
+4.997024699e-04f, 5.004464508e-04f, 5.011895192e-04f, 5.019316738e-04f, 5.026729134e-04f, 5.034132367e-04f, 5.041526426e-04f, 5.048911298e-04f, 5.056286971e-04f, 5.063653433e-04f,
+5.071010671e-04f, 5.078358674e-04f, 5.085697429e-04f, 5.093026925e-04f, 5.100347149e-04f, 5.107658089e-04f, 5.114959734e-04f, 5.122252070e-04f, 5.129535087e-04f, 5.136808771e-04f,
+5.144073112e-04f, 5.151328097e-04f, 5.158573714e-04f, 5.165809952e-04f, 5.173036798e-04f, 5.180254240e-04f, 5.187462267e-04f, 5.194660867e-04f, 5.201850027e-04f, 5.209029737e-04f,
+5.216199984e-04f, 5.223360756e-04f, 5.230512042e-04f, 5.237653830e-04f, 5.244786109e-04f, 5.251908865e-04f, 5.259022089e-04f, 5.266125767e-04f, 5.273219889e-04f, 5.280304443e-04f,
+5.287379417e-04f, 5.294444799e-04f, 5.301500578e-04f, 5.308546743e-04f, 5.315583281e-04f, 5.322610182e-04f, 5.329627433e-04f, 5.336635023e-04f, 5.343632941e-04f, 5.350621175e-04f,
+5.357599714e-04f, 5.364568546e-04f, 5.371527659e-04f, 5.378477044e-04f, 5.385416687e-04f, 5.392346578e-04f, 5.399266705e-04f, 5.406177057e-04f, 5.413077623e-04f, 5.419968391e-04f,
+5.426849350e-04f, 5.433720489e-04f, 5.440581796e-04f, 5.447433261e-04f, 5.454274871e-04f, 5.461106617e-04f, 5.467928486e-04f, 5.474740468e-04f, 5.481542551e-04f, 5.488334724e-04f,
+5.495116976e-04f, 5.501889297e-04f, 5.508651674e-04f, 5.515404098e-04f, 5.522146556e-04f, 5.528879038e-04f, 5.535601533e-04f, 5.542314029e-04f, 5.549016517e-04f, 5.555708984e-04f,
+5.562391421e-04f, 5.569063816e-04f, 5.575726157e-04f, 5.582378436e-04f, 5.589020639e-04f, 5.595652757e-04f, 5.602274780e-04f, 5.608886695e-04f, 5.615488492e-04f, 5.622080161e-04f,
+5.628661690e-04f, 5.635233069e-04f, 5.641794288e-04f, 5.648345335e-04f, 5.654886200e-04f, 5.661416873e-04f, 5.667937342e-04f, 5.674447597e-04f, 5.680947627e-04f, 5.687437422e-04f,
+5.693916971e-04f, 5.700386264e-04f, 5.706845290e-04f, 5.713294039e-04f, 5.719732499e-04f, 5.726160662e-04f, 5.732578516e-04f, 5.738986050e-04f, 5.745383255e-04f, 5.751770119e-04f,
+5.758146634e-04f, 5.764512787e-04f, 5.770868569e-04f, 5.777213970e-04f, 5.783548979e-04f, 5.789873586e-04f, 5.796187781e-04f, 5.802491553e-04f, 5.808784892e-04f, 5.815067788e-04f,
+5.821340231e-04f, 5.827602211e-04f, 5.833853717e-04f, 5.840094739e-04f, 5.846325268e-04f, 5.852545292e-04f, 5.858754803e-04f, 5.864953789e-04f, 5.871142241e-04f, 5.877320150e-04f,
+5.883487504e-04f, 5.889644294e-04f, 5.895790509e-04f, 5.901926141e-04f, 5.908051179e-04f, 5.914165613e-04f, 5.920269433e-04f, 5.926362629e-04f, 5.932445192e-04f, 5.938517111e-04f,
+5.944578378e-04f, 5.950628981e-04f, 5.956668911e-04f, 5.962698159e-04f, 5.968716715e-04f, 5.974724569e-04f, 5.980721711e-04f, 5.986708132e-04f, 5.992683821e-04f, 5.998648770e-04f,
+6.004602969e-04f, 6.010546408e-04f, 6.016479077e-04f, 6.022400967e-04f, 6.028312069e-04f, 6.034212372e-04f, 6.040101868e-04f, 6.045980547e-04f, 6.051848398e-04f, 6.057705414e-04f,
+6.063551585e-04f, 6.069386900e-04f, 6.075211351e-04f, 6.081024929e-04f, 6.086827623e-04f, 6.092619425e-04f, 6.098400325e-04f, 6.104170314e-04f, 6.109929383e-04f, 6.115677523e-04f,
+6.121414723e-04f, 6.127140976e-04f, 6.132856271e-04f, 6.138560600e-04f, 6.144253954e-04f, 6.149936322e-04f, 6.155607697e-04f, 6.161268069e-04f, 6.166917429e-04f, 6.172555768e-04f,
+6.178183077e-04f, 6.183799347e-04f, 6.189404569e-04f, 6.194998733e-04f, 6.200581831e-04f, 6.206153855e-04f, 6.211714794e-04f, 6.217264641e-04f, 6.222803385e-04f, 6.228331020e-04f,
+6.233847534e-04f, 6.239352921e-04f, 6.244847170e-04f, 6.250330274e-04f, 6.255802222e-04f, 6.261263008e-04f, 6.266712621e-04f, 6.272151054e-04f, 6.277578296e-04f, 6.282994341e-04f,
+6.288399179e-04f, 6.293792802e-04f, 6.299175200e-04f, 6.304546366e-04f, 6.309906290e-04f, 6.315254965e-04f, 6.320592381e-04f, 6.325918531e-04f, 6.331233405e-04f, 6.336536996e-04f,
+6.341829294e-04f, 6.347110292e-04f, 6.352379980e-04f, 6.357638351e-04f, 6.362885397e-04f, 6.368121108e-04f, 6.373345477e-04f, 6.378558494e-04f, 6.383760153e-04f, 6.388950445e-04f,
+6.394129361e-04f, 6.399296893e-04f, 6.404453033e-04f, 6.409597773e-04f, 6.414731104e-04f, 6.419853019e-04f, 6.424963509e-04f, 6.430062567e-04f, 6.435150183e-04f, 6.440226351e-04f,
+6.445291062e-04f, 6.450344308e-04f, 6.455386081e-04f, 6.460416373e-04f, 6.465435176e-04f, 6.470442482e-04f, 6.475438283e-04f, 6.480422572e-04f, 6.485395340e-04f, 6.490356579e-04f,
+6.495306283e-04f, 6.500244442e-04f, 6.505171049e-04f, 6.510086097e-04f, 6.514989577e-04f, 6.519881482e-04f, 6.524761805e-04f, 6.529630536e-04f, 6.534487670e-04f, 6.539333197e-04f,
+6.544167111e-04f, 6.548989404e-04f, 6.553800068e-04f, 6.558599096e-04f, 6.563386479e-04f, 6.568162212e-04f, 6.572926285e-04f, 6.577678692e-04f, 6.582419425e-04f, 6.587148477e-04f,
+6.591865840e-04f, 6.596571507e-04f, 6.601265470e-04f, 6.605947722e-04f, 6.610618256e-04f, 6.615277065e-04f, 6.619924140e-04f, 6.624559476e-04f, 6.629183064e-04f, 6.633794897e-04f,
+6.638394968e-04f, 6.642983270e-04f, 6.647559796e-04f, 6.652124538e-04f, 6.656677490e-04f, 6.661218644e-04f, 6.665747993e-04f, 6.670265530e-04f, 6.674771249e-04f, 6.679265141e-04f,
+6.683747200e-04f, 6.688217420e-04f, 6.692675792e-04f, 6.697122311e-04f, 6.701556968e-04f, 6.705979758e-04f, 6.710390674e-04f, 6.714789707e-04f, 6.719176853e-04f, 6.723552103e-04f,
+6.727915451e-04f, 6.732266891e-04f, 6.736606415e-04f, 6.740934017e-04f, 6.745249690e-04f, 6.749553427e-04f, 6.753845221e-04f, 6.758125067e-04f, 6.762392957e-04f, 6.766648885e-04f,
+6.770892844e-04f, 6.775124827e-04f, 6.779344829e-04f, 6.783552842e-04f, 6.787748860e-04f, 6.791932876e-04f, 6.796104885e-04f, 6.800264879e-04f, 6.804412852e-04f, 6.808548798e-04f,
+6.812672711e-04f, 6.816784583e-04f, 6.820884409e-04f, 6.824972183e-04f, 6.829047897e-04f, 6.833111547e-04f, 6.837163124e-04f, 6.841202624e-04f, 6.845230041e-04f, 6.849245367e-04f,
+6.853248597e-04f, 6.857239724e-04f, 6.861218743e-04f, 6.865185647e-04f, 6.869140431e-04f, 6.873083087e-04f, 6.877013611e-04f, 6.880931996e-04f, 6.884838237e-04f, 6.888732326e-04f,
+6.892614258e-04f, 6.896484028e-04f, 6.900341629e-04f, 6.904187056e-04f, 6.908020302e-04f, 6.911841362e-04f, 6.915650230e-04f, 6.919446900e-04f, 6.923231367e-04f, 6.927003624e-04f,
+6.930763666e-04f, 6.934511487e-04f, 6.938247081e-04f, 6.941970443e-04f, 6.945681568e-04f, 6.949380448e-04f, 6.953067080e-04f, 6.956741457e-04f, 6.960403573e-04f, 6.964053424e-04f,
+6.967691003e-04f, 6.971316305e-04f, 6.974929325e-04f, 6.978530058e-04f, 6.982118496e-04f, 6.985694637e-04f, 6.989258473e-04f, 6.992809999e-04f, 6.996349211e-04f, 6.999876103e-04f,
+7.003390669e-04f, 7.006892905e-04f, 7.010382804e-04f, 7.013860362e-04f, 7.017325574e-04f, 7.020778434e-04f, 7.024218937e-04f, 7.027647079e-04f, 7.031062853e-04f, 7.034466254e-04f,
+7.037857279e-04f, 7.041235921e-04f, 7.044602175e-04f, 7.047956037e-04f, 7.051297502e-04f, 7.054626564e-04f, 7.057943219e-04f, 7.061247461e-04f, 7.064539286e-04f, 7.067818688e-04f,
+7.071085664e-04f, 7.074340207e-04f, 7.077582314e-04f, 7.080811980e-04f, 7.084029198e-04f, 7.087233966e-04f, 7.090426278e-04f, 7.093606129e-04f, 7.096773515e-04f, 7.099928431e-04f,
+7.103070873e-04f, 7.106200835e-04f, 7.109318313e-04f, 7.112423303e-04f, 7.115515799e-04f, 7.118595798e-04f, 7.121663295e-04f, 7.124718286e-04f, 7.127760765e-04f, 7.130790729e-04f,
+7.133808172e-04f, 7.136813092e-04f, 7.139805482e-04f, 7.142785339e-04f, 7.145752659e-04f, 7.148707437e-04f, 7.151649669e-04f, 7.154579350e-04f, 7.157496477e-04f, 7.160401044e-04f,
+7.163293049e-04f, 7.166172486e-04f, 7.169039351e-04f, 7.171893641e-04f, 7.174735351e-04f, 7.177564477e-04f, 7.180381015e-04f, 7.183184961e-04f, 7.185976311e-04f, 7.188755061e-04f,
+7.191521207e-04f, 7.194274744e-04f, 7.197015670e-04f, 7.199743979e-04f, 7.202459668e-04f, 7.205162734e-04f, 7.207853172e-04f, 7.210530979e-04f, 7.213196150e-04f, 7.215848682e-04f,
+7.218488571e-04f, 7.221115814e-04f, 7.223730406e-04f, 7.226332344e-04f, 7.228921624e-04f, 7.231498243e-04f, 7.234062197e-04f, 7.236613481e-04f, 7.239152094e-04f, 7.241678031e-04f,
+7.244191288e-04f, 7.246691862e-04f, 7.249179750e-04f, 7.251654948e-04f, 7.254117452e-04f, 7.256567259e-04f, 7.259004367e-04f, 7.261428770e-04f, 7.263840466e-04f, 7.266239452e-04f,
+7.268625724e-04f, 7.270999279e-04f, 7.273360113e-04f, 7.275708224e-04f, 7.278043608e-04f, 7.280366261e-04f, 7.282676182e-04f, 7.284973366e-04f, 7.287257810e-04f, 7.289529511e-04f,
+7.291788467e-04f, 7.294034673e-04f, 7.296268128e-04f, 7.298488827e-04f, 7.300696768e-04f, 7.302891948e-04f, 7.305074364e-04f, 7.307244013e-04f, 7.309400892e-04f, 7.311544997e-04f,
+7.313676327e-04f, 7.315794879e-04f, 7.317900649e-04f, 7.319993634e-04f, 7.322073832e-04f, 7.324141241e-04f, 7.326195857e-04f, 7.328237677e-04f, 7.330266699e-04f, 7.332282920e-04f,
+7.334286338e-04f, 7.336276950e-04f, 7.338254753e-04f, 7.340219745e-04f, 7.342171923e-04f, 7.344111284e-04f, 7.346037826e-04f, 7.347951547e-04f, 7.349852444e-04f, 7.351740514e-04f,
+7.353615755e-04f, 7.355478165e-04f, 7.357327741e-04f, 7.359164482e-04f, 7.360988383e-04f, 7.362799444e-04f, 7.364597662e-04f, 7.366383034e-04f, 7.368155559e-04f, 7.369915234e-04f,
+7.371662056e-04f, 7.373396025e-04f, 7.375117137e-04f, 7.376825390e-04f, 7.378520782e-04f, 7.380203312e-04f, 7.381872977e-04f, 7.383529774e-04f, 7.385173703e-04f, 7.386804760e-04f,
+7.388422944e-04f, 7.390028254e-04f, 7.391620686e-04f, 7.393200239e-04f, 7.394766912e-04f, 7.396320701e-04f, 7.397861606e-04f, 7.399389625e-04f, 7.400904756e-04f, 7.402406996e-04f,
+7.403896345e-04f, 7.405372800e-04f, 7.406836359e-04f, 7.408287022e-04f, 7.409724786e-04f, 7.411149650e-04f, 7.412561612e-04f, 7.413960670e-04f, 7.415346823e-04f, 7.416720069e-04f,
+7.418080407e-04f, 7.419427835e-04f, 7.420762352e-04f, 7.422083956e-04f, 7.423392646e-04f, 7.424688420e-04f, 7.425971277e-04f, 7.427241215e-04f, 7.428498233e-04f, 7.429742331e-04f,
+7.430973505e-04f, 7.432191756e-04f, 7.433397082e-04f, 7.434589482e-04f, 7.435768953e-04f, 7.436935496e-04f, 7.438089109e-04f, 7.439229791e-04f, 7.440357540e-04f, 7.441472356e-04f,
+7.442574238e-04f, 7.443663184e-04f, 7.444739193e-04f, 7.445802264e-04f, 7.446852397e-04f, 7.447889590e-04f, 7.448913842e-04f, 7.449925153e-04f, 7.450923521e-04f, 7.451908946e-04f,
+7.452881426e-04f, 7.453840961e-04f, 7.454787551e-04f, 7.455721193e-04f, 7.456641888e-04f, 7.457549635e-04f, 7.458444432e-04f, 7.459326280e-04f, 7.460195177e-04f, 7.461051123e-04f,
+7.461894117e-04f, 7.462724159e-04f, 7.463541248e-04f, 7.464345383e-04f, 7.465136564e-04f, 7.465914790e-04f, 7.466680061e-04f, 7.467432376e-04f, 7.468171735e-04f, 7.468898137e-04f,
+7.469611583e-04f, 7.470312070e-04f, 7.470999600e-04f, 7.471674172e-04f, 7.472335785e-04f, 7.472984439e-04f, 7.473620134e-04f, 7.474242869e-04f, 7.474852645e-04f, 7.475449461e-04f,
+7.476033317e-04f, 7.476604213e-04f, 7.477162148e-04f, 7.477707122e-04f, 7.478239136e-04f, 7.478758189e-04f, 7.479264281e-04f, 7.479757412e-04f, 7.480237583e-04f, 7.480704792e-04f,
+7.481159041e-04f, 7.481600328e-04f, 7.482028655e-04f, 7.482444021e-04f, 7.482846427e-04f, 7.483235872e-04f, 7.483612357e-04f, 7.483975882e-04f, 7.484326447e-04f, 7.484664052e-04f,
+7.484988697e-04f, 7.485300384e-04f, 7.485599112e-04f, 7.485884881e-04f, 7.486157691e-04f, 7.486417544e-04f, 7.486664440e-04f, 7.486898378e-04f, 7.487119360e-04f, 7.487327385e-04f,
+7.487522455e-04f, 7.487704570e-04f, 7.487873729e-04f, 7.488029935e-04f, 7.488173187e-04f, 7.488303486e-04f, 7.488420832e-04f, 7.488525227e-04f, 7.488616670e-04f, 7.488695163e-04f,
+7.488760706e-04f, 7.488813300e-04f, 7.488852946e-04f, 7.488879644e-04f, 7.488893395e-04f, 7.488894200e-04f, 7.488882060e-04f, 7.488856976e-04f, 7.488818948e-04f, 7.488767978e-04f,
+7.488704066e-04f, 7.488627213e-04f, 7.488537421e-04f, 7.488434690e-04f, 7.488319021e-04f, 7.488190415e-04f, 7.488048874e-04f, 7.487894398e-04f, 7.487726989e-04f, 7.487546647e-04f,
+7.487353374e-04f, 7.487147171e-04f, 7.486928039e-04f, 7.486695979e-04f, 7.486450993e-04f, 7.486193082e-04f, 7.485922246e-04f, 7.485638488e-04f, 7.485341809e-04f, 7.485032210e-04f,
+7.484709692e-04f, 7.484374257e-04f, 7.484025906e-04f, 7.483664641e-04f, 7.483290463e-04f, 7.482903373e-04f, 7.482503373e-04f, 7.482090465e-04f, 7.481664650e-04f, 7.481225930e-04f,
+7.480774306e-04f, 7.480309780e-04f, 7.479832353e-04f, 7.479342027e-04f, 7.478838804e-04f, 7.478322686e-04f, 7.477793674e-04f, 7.477251770e-04f, 7.476696975e-04f, 7.476129292e-04f,
+7.475548723e-04f, 7.474955268e-04f, 7.474348931e-04f, 7.473729712e-04f, 7.473097614e-04f, 7.472452639e-04f, 7.471794789e-04f, 7.471124065e-04f, 7.470440469e-04f, 7.469744005e-04f,
+7.469034672e-04f, 7.468312475e-04f, 7.467577414e-04f, 7.466829492e-04f, 7.466068711e-04f, 7.465295073e-04f, 7.464508581e-04f, 7.463709235e-04f, 7.462897040e-04f, 7.462071996e-04f,
+7.461234106e-04f, 7.460383373e-04f, 7.459519799e-04f, 7.458643385e-04f, 7.457754135e-04f, 7.456852050e-04f, 7.455937134e-04f, 7.455009388e-04f, 7.454068815e-04f, 7.453115417e-04f,
+7.452149197e-04f, 7.451170157e-04f, 7.450178301e-04f, 7.449173629e-04f, 7.448156146e-04f, 7.447125853e-04f, 7.446082753e-04f, 7.445026849e-04f, 7.443958143e-04f, 7.442876639e-04f,
+7.441782338e-04f, 7.440675243e-04f, 7.439555358e-04f, 7.438422685e-04f, 7.437277226e-04f, 7.436118985e-04f, 7.434947964e-04f, 7.433764166e-04f, 7.432567595e-04f, 7.431358252e-04f,
+7.430136141e-04f, 7.428901265e-04f, 7.427653627e-04f, 7.426393230e-04f, 7.425120076e-04f, 7.423834169e-04f, 7.422535511e-04f, 7.421224107e-04f, 7.419899958e-04f, 7.418563068e-04f,
+7.417213441e-04f, 7.415851079e-04f, 7.414475985e-04f, 7.413088163e-04f, 7.411687616e-04f, 7.410274347e-04f, 7.408848359e-04f, 7.407409656e-04f, 7.405958241e-04f, 7.404494117e-04f,
+7.403017288e-04f, 7.401527757e-04f, 7.400025527e-04f, 7.398510602e-04f, 7.396982985e-04f, 7.395442680e-04f, 7.393889690e-04f, 7.392324019e-04f, 7.390745670e-04f, 7.389154646e-04f,
+7.387550952e-04f, 7.385934591e-04f, 7.384305566e-04f, 7.382663881e-04f, 7.381009541e-04f, 7.379342547e-04f, 7.377662905e-04f, 7.375970617e-04f, 7.374265688e-04f, 7.372548121e-04f,
+7.370817921e-04f, 7.369075090e-04f, 7.367319633e-04f, 7.365551554e-04f, 7.363770856e-04f, 7.361977543e-04f, 7.360171620e-04f, 7.358353090e-04f, 7.356521957e-04f, 7.354678225e-04f,
+7.352821898e-04f, 7.350952980e-04f, 7.349071476e-04f, 7.347177388e-04f, 7.345270722e-04f, 7.343351481e-04f, 7.341419670e-04f, 7.339475292e-04f, 7.337518353e-04f, 7.335548855e-04f,
+7.333566803e-04f, 7.331572202e-04f, 7.329565056e-04f, 7.327545369e-04f, 7.325513145e-04f, 7.323468388e-04f, 7.321411104e-04f, 7.319341295e-04f, 7.317258968e-04f, 7.315164125e-04f,
+7.313056772e-04f, 7.310936913e-04f, 7.308804553e-04f, 7.306659695e-04f, 7.304502345e-04f, 7.302332507e-04f, 7.300150185e-04f, 7.297955384e-04f, 7.295748109e-04f, 7.293528364e-04f,
+7.291296154e-04f, 7.289051484e-04f, 7.286794358e-04f, 7.284524781e-04f, 7.282242758e-04f, 7.279948293e-04f, 7.277641391e-04f, 7.275322057e-04f, 7.272990296e-04f, 7.270646113e-04f,
+7.268289512e-04f, 7.265920498e-04f, 7.263539077e-04f, 7.261145253e-04f, 7.258739031e-04f, 7.256320416e-04f, 7.253889413e-04f, 7.251446027e-04f, 7.248990263e-04f, 7.246522126e-04f,
+7.244041621e-04f, 7.241548753e-04f, 7.239043528e-04f, 7.236525950e-04f, 7.233996024e-04f, 7.231453757e-04f, 7.228899152e-04f, 7.226332216e-04f, 7.223752952e-04f, 7.221161368e-04f,
+7.218557467e-04f, 7.215941256e-04f, 7.213312739e-04f, 7.210671921e-04f, 7.208018809e-04f, 7.205353408e-04f, 7.202675723e-04f, 7.199985758e-04f, 7.197283521e-04f, 7.194569016e-04f,
+7.191842249e-04f, 7.189103225e-04f, 7.186351949e-04f, 7.183588428e-04f, 7.180812667e-04f, 7.178024672e-04f, 7.175224447e-04f, 7.172411999e-04f, 7.169587334e-04f, 7.166750456e-04f,
+7.163901372e-04f, 7.161040088e-04f, 7.158166609e-04f, 7.155280940e-04f, 7.152383088e-04f, 7.149473059e-04f, 7.146550858e-04f, 7.143616491e-04f, 7.140669964e-04f, 7.137711283e-04f,
+7.134740453e-04f, 7.131757481e-04f, 7.128762373e-04f, 7.125755134e-04f, 7.122735771e-04f, 7.119704289e-04f, 7.116660695e-04f, 7.113604994e-04f, 7.110537193e-04f, 7.107457297e-04f,
+7.104365314e-04f, 7.101261248e-04f, 7.098145106e-04f, 7.095016895e-04f, 7.091876620e-04f, 7.088724287e-04f, 7.085559904e-04f, 7.082383475e-04f, 7.079195008e-04f, 7.075994508e-04f,
+7.072781983e-04f, 7.069557437e-04f, 7.066320878e-04f, 7.063072313e-04f, 7.059811746e-04f, 7.056539185e-04f, 7.053254637e-04f, 7.049958107e-04f, 7.046649602e-04f, 7.043329129e-04f,
+7.039996694e-04f, 7.036652303e-04f, 7.033295964e-04f, 7.029927682e-04f, 7.026547465e-04f, 7.023155319e-04f, 7.019751250e-04f, 7.016335266e-04f, 7.012907372e-04f, 7.009467576e-04f,
+7.006015885e-04f, 7.002552304e-04f, 6.999076841e-04f, 6.995589503e-04f, 6.992090296e-04f, 6.988579227e-04f, 6.985056303e-04f, 6.981521531e-04f, 6.977974918e-04f, 6.974416470e-04f,
+6.970846195e-04f, 6.967264099e-04f, 6.963670190e-04f, 6.960064474e-04f, 6.956446959e-04f, 6.952817650e-04f, 6.949176557e-04f, 6.945523684e-04f, 6.941859040e-04f, 6.938182632e-04f,
+6.934494467e-04f, 6.930794551e-04f, 6.927082893e-04f, 6.923359498e-04f, 6.919624375e-04f, 6.915877531e-04f, 6.912118972e-04f, 6.908348706e-04f, 6.904566741e-04f, 6.900773083e-04f,
+6.896967741e-04f, 6.893150720e-04f, 6.889322029e-04f, 6.885481675e-04f, 6.881629666e-04f, 6.877766008e-04f, 6.873890710e-04f, 6.870003778e-04f, 6.866105220e-04f, 6.862195044e-04f,
+6.858273257e-04f, 6.854339866e-04f, 6.850394880e-04f, 6.846438306e-04f, 6.842470150e-04f, 6.838490422e-04f, 6.834499128e-04f, 6.830496277e-04f, 6.826481875e-04f, 6.822455931e-04f,
+6.818418452e-04f, 6.814369446e-04f, 6.810308921e-04f, 6.806236884e-04f, 6.802153344e-04f, 6.798058307e-04f, 6.793951783e-04f, 6.789833778e-04f, 6.785704300e-04f, 6.781563358e-04f,
+6.777410960e-04f, 6.773247112e-04f, 6.769071824e-04f, 6.764885103e-04f, 6.760686957e-04f, 6.756477394e-04f, 6.752256422e-04f, 6.748024050e-04f, 6.743780284e-04f, 6.739525134e-04f,
+6.735258607e-04f, 6.730980712e-04f, 6.726691456e-04f, 6.722390847e-04f, 6.718078895e-04f, 6.713755607e-04f, 6.709420991e-04f, 6.705075055e-04f, 6.700717808e-04f, 6.696349259e-04f,
+6.691969414e-04f, 6.687578283e-04f, 6.683175874e-04f, 6.678762195e-04f, 6.674337255e-04f, 6.669901061e-04f, 6.665453623e-04f, 6.660994949e-04f, 6.656525046e-04f, 6.652043925e-04f,
+6.647551592e-04f, 6.643048057e-04f, 6.638533329e-04f, 6.634007414e-04f, 6.629470323e-04f, 6.624922064e-04f, 6.620362645e-04f, 6.615792075e-04f, 6.611210362e-04f, 6.606617515e-04f,
+6.602013543e-04f, 6.597398455e-04f, 6.592772259e-04f, 6.588134964e-04f, 6.583486578e-04f, 6.578827111e-04f, 6.574156571e-04f, 6.569474966e-04f, 6.564782307e-04f, 6.560078601e-04f,
+6.555363857e-04f, 6.550638085e-04f, 6.545901292e-04f, 6.541153489e-04f, 6.536394684e-04f, 6.531624885e-04f, 6.526844102e-04f, 6.522052344e-04f, 6.517249620e-04f, 6.512435939e-04f,
+6.507611309e-04f, 6.502775741e-04f, 6.497929242e-04f, 6.493071822e-04f, 6.488203490e-04f, 6.483324256e-04f, 6.478434128e-04f, 6.473533115e-04f, 6.468621227e-04f, 6.463698473e-04f,
+6.458764862e-04f, 6.453820403e-04f, 6.448865106e-04f, 6.443898980e-04f, 6.438922033e-04f, 6.433934276e-04f, 6.428935718e-04f, 6.423926368e-04f, 6.418906235e-04f, 6.413875329e-04f,
+6.408833659e-04f, 6.403781235e-04f, 6.398718066e-04f, 6.393644161e-04f, 6.388559530e-04f, 6.383464182e-04f, 6.378358128e-04f, 6.373241375e-04f, 6.368113935e-04f, 6.362975816e-04f,
+6.357827028e-04f, 6.352667581e-04f, 6.347497484e-04f, 6.342316747e-04f, 6.337125379e-04f, 6.331923391e-04f, 6.326710791e-04f, 6.321487590e-04f, 6.316253797e-04f, 6.311009422e-04f,
+6.305754475e-04f, 6.300488965e-04f, 6.295212902e-04f, 6.289926297e-04f, 6.284629158e-04f, 6.279321496e-04f, 6.274003321e-04f, 6.268674642e-04f, 6.263335470e-04f, 6.257985813e-04f,
+6.252625683e-04f, 6.247255089e-04f, 6.241874041e-04f, 6.236482549e-04f, 6.231080623e-04f, 6.225668273e-04f, 6.220245509e-04f, 6.214812341e-04f, 6.209368779e-04f, 6.203914834e-04f,
+6.198450515e-04f, 6.192975832e-04f, 6.187490796e-04f, 6.181995417e-04f, 6.176489704e-04f, 6.170973669e-04f, 6.165447320e-04f, 6.159910670e-04f, 6.154363727e-04f, 6.148806502e-04f,
+6.143239005e-04f, 6.137661247e-04f, 6.132073237e-04f, 6.126474987e-04f, 6.120866506e-04f, 6.115247805e-04f, 6.109618894e-04f, 6.103979784e-04f, 6.098330485e-04f, 6.092671007e-04f,
+6.087001361e-04f, 6.081321558e-04f, 6.075631607e-04f, 6.069931520e-04f, 6.064221306e-04f, 6.058500976e-04f, 6.052770542e-04f, 6.047030013e-04f, 6.041279399e-04f, 6.035518713e-04f,
+6.029747963e-04f, 6.023967162e-04f, 6.018176319e-04f, 6.012375444e-04f, 6.006564550e-04f, 6.000743646e-04f, 5.994912744e-04f, 5.989071853e-04f, 5.983220984e-04f, 5.977360150e-04f,
+5.971489359e-04f, 5.965608623e-04f, 5.959717953e-04f, 5.953817360e-04f, 5.947906854e-04f, 5.941986446e-04f, 5.936056148e-04f, 5.930115969e-04f, 5.924165922e-04f, 5.918206016e-04f,
+5.912236263e-04f, 5.906256674e-04f, 5.900267259e-04f, 5.894268031e-04f, 5.888258999e-04f, 5.882240174e-04f, 5.876211569e-04f, 5.870173193e-04f, 5.864125058e-04f, 5.858067175e-04f,
+5.851999555e-04f, 5.845922210e-04f, 5.839835149e-04f, 5.833738385e-04f, 5.827631929e-04f, 5.821515792e-04f, 5.815389984e-04f, 5.809254518e-04f, 5.803109404e-04f, 5.796954654e-04f,
+5.790790279e-04f, 5.784616290e-04f, 5.778432699e-04f, 5.772239516e-04f, 5.766036753e-04f, 5.759824423e-04f, 5.753602534e-04f, 5.747371100e-04f, 5.741130132e-04f, 5.734879641e-04f,
+5.728619638e-04f, 5.722350135e-04f, 5.716071143e-04f, 5.709782674e-04f, 5.703484740e-04f, 5.697177351e-04f, 5.690860519e-04f, 5.684534256e-04f, 5.678198573e-04f, 5.671853483e-04f,
+5.665498995e-04f, 5.659135123e-04f, 5.652761878e-04f, 5.646379271e-04f, 5.639987313e-04f, 5.633586018e-04f, 5.627175395e-04f, 5.620755458e-04f, 5.614326217e-04f, 5.607887684e-04f,
+5.601439871e-04f, 5.594982791e-04f, 5.588516454e-04f, 5.582040872e-04f, 5.575556057e-04f, 5.569062021e-04f, 5.562558776e-04f, 5.556046334e-04f, 5.549524706e-04f, 5.542993904e-04f,
+5.536453941e-04f, 5.529904827e-04f, 5.523346576e-04f, 5.516779198e-04f, 5.510202707e-04f, 5.503617113e-04f, 5.497022429e-04f, 5.490418667e-04f, 5.483805838e-04f, 5.477183956e-04f,
+5.470553031e-04f, 5.463913076e-04f, 5.457264103e-04f, 5.450606124e-04f, 5.443939151e-04f, 5.437263196e-04f, 5.430578272e-04f, 5.423884390e-04f, 5.417181562e-04f, 5.410469802e-04f,
+5.403749120e-04f, 5.397019529e-04f, 5.390281042e-04f, 5.383533670e-04f, 5.376777427e-04f, 5.370012323e-04f, 5.363238371e-04f, 5.356455584e-04f, 5.349663974e-04f, 5.342863554e-04f,
+5.336054334e-04f, 5.329236329e-04f, 5.322409550e-04f, 5.315574009e-04f, 5.308729720e-04f, 5.301876693e-04f, 5.295014943e-04f, 5.288144480e-04f, 5.281265319e-04f, 5.274377470e-04f,
+5.267480947e-04f, 5.260575762e-04f, 5.253661928e-04f, 5.246739456e-04f, 5.239808360e-04f, 5.232868653e-04f, 5.225920345e-04f, 5.218963452e-04f, 5.211997983e-04f, 5.205023954e-04f,
+5.198041375e-04f, 5.191050260e-04f, 5.184050621e-04f, 5.177042471e-04f, 5.170025823e-04f, 5.163000689e-04f, 5.155967081e-04f, 5.148925014e-04f, 5.141874499e-04f, 5.134815549e-04f,
+5.127748176e-04f, 5.120672395e-04f, 5.113588216e-04f, 5.106495654e-04f, 5.099394721e-04f, 5.092285430e-04f, 5.085167793e-04f, 5.078041824e-04f, 5.070907535e-04f, 5.063764939e-04f,
+5.056614049e-04f, 5.049454879e-04f, 5.042287440e-04f, 5.035111745e-04f, 5.027927809e-04f, 5.020735643e-04f, 5.013535261e-04f, 5.006326676e-04f, 4.999109900e-04f, 4.991884947e-04f,
+4.984651829e-04f, 4.977410560e-04f, 4.970161153e-04f, 4.962903620e-04f, 4.955637976e-04f, 4.948364232e-04f, 4.941082402e-04f, 4.933792500e-04f, 4.926494537e-04f, 4.919188528e-04f,
+4.911874486e-04f, 4.904552423e-04f, 4.897222353e-04f, 4.889884289e-04f, 4.882538245e-04f, 4.875184233e-04f, 4.867822266e-04f, 4.860452359e-04f, 4.853074523e-04f, 4.845688773e-04f,
+4.838295122e-04f, 4.830893583e-04f, 4.823484169e-04f, 4.816066894e-04f, 4.808641771e-04f, 4.801208813e-04f, 4.793768034e-04f, 4.786319447e-04f, 4.778863065e-04f, 4.771398902e-04f,
+4.763926971e-04f, 4.756447286e-04f, 4.748959860e-04f, 4.741464707e-04f, 4.733961839e-04f, 4.726451271e-04f, 4.718933016e-04f, 4.711407087e-04f, 4.703873498e-04f, 4.696332263e-04f,
+4.688783394e-04f, 4.681226906e-04f, 4.673662812e-04f, 4.666091126e-04f, 4.658511860e-04f, 4.650925030e-04f, 4.643330648e-04f, 4.635728728e-04f, 4.628119284e-04f, 4.620502329e-04f,
+4.612877876e-04f, 4.605245941e-04f, 4.597606536e-04f, 4.589959674e-04f, 4.582305370e-04f, 4.574643638e-04f, 4.566974491e-04f, 4.559297943e-04f, 4.551614007e-04f, 4.543922697e-04f,
+4.536224028e-04f, 4.528518012e-04f, 4.520804665e-04f, 4.513083998e-04f, 4.505356027e-04f, 4.497620765e-04f, 4.489878227e-04f, 4.482128425e-04f, 4.474371373e-04f, 4.466607087e-04f,
+4.458835578e-04f, 4.451056863e-04f, 4.443270953e-04f, 4.435477864e-04f, 4.427677608e-04f, 4.419870201e-04f, 4.412055656e-04f, 4.404233987e-04f, 4.396405208e-04f, 4.388569333e-04f,
+4.380726376e-04f, 4.372876351e-04f, 4.365019272e-04f, 4.357155153e-04f, 4.349284008e-04f, 4.341405852e-04f, 4.333520698e-04f, 4.325628560e-04f, 4.317729452e-04f, 4.309823389e-04f,
+4.301910385e-04f, 4.293990453e-04f, 4.286063609e-04f, 4.278129865e-04f, 4.270189237e-04f, 4.262241738e-04f, 4.254287383e-04f, 4.246326185e-04f, 4.238358160e-04f, 4.230383320e-04f,
+4.222401681e-04f, 4.214413257e-04f, 4.206418062e-04f, 4.198416110e-04f, 4.190407415e-04f, 4.182391992e-04f, 4.174369855e-04f, 4.166341019e-04f, 4.158305497e-04f, 4.150263304e-04f,
+4.142214454e-04f, 4.134158962e-04f, 4.126096842e-04f, 4.118028108e-04f, 4.109952775e-04f, 4.101870857e-04f, 4.093782368e-04f, 4.085687324e-04f, 4.077585738e-04f, 4.069477624e-04f,
+4.061362998e-04f, 4.053241873e-04f, 4.045114265e-04f, 4.036980187e-04f, 4.028839654e-04f, 4.020692681e-04f, 4.012539282e-04f, 4.004379471e-04f, 3.996213263e-04f, 3.988040673e-04f,
+3.979861715e-04f, 3.971676404e-04f, 3.963484754e-04f, 3.955286780e-04f, 3.947082496e-04f, 3.938871918e-04f, 3.930655059e-04f, 3.922431934e-04f, 3.914202558e-04f, 3.905966945e-04f,
+3.897725110e-04f, 3.889477069e-04f, 3.881222834e-04f, 3.872962422e-04f, 3.864695846e-04f, 3.856423122e-04f, 3.848144264e-04f, 3.839859287e-04f, 3.831568206e-04f, 3.823271035e-04f,
+3.814967788e-04f, 3.806658482e-04f, 3.798343130e-04f, 3.790021748e-04f, 3.781694349e-04f, 3.773360950e-04f, 3.765021564e-04f, 3.756676206e-04f, 3.748324892e-04f, 3.739967636e-04f,
+3.731604452e-04f, 3.723235357e-04f, 3.714860364e-04f, 3.706479489e-04f, 3.698092746e-04f, 3.689700150e-04f, 3.681301716e-04f, 3.672897460e-04f, 3.664487395e-04f, 3.656071537e-04f,
+3.647649901e-04f, 3.639222501e-04f, 3.630789353e-04f, 3.622350472e-04f, 3.613905872e-04f, 3.605455569e-04f, 3.596999577e-04f, 3.588537912e-04f, 3.580070588e-04f, 3.571597621e-04f,
+3.563119025e-04f, 3.554634815e-04f, 3.546145007e-04f, 3.537649616e-04f, 3.529148656e-04f, 3.520642143e-04f, 3.512130091e-04f, 3.503612517e-04f, 3.495089434e-04f, 3.486560858e-04f,
+3.478026805e-04f, 3.469487288e-04f, 3.460942324e-04f, 3.452391927e-04f, 3.443836113e-04f, 3.435274897e-04f, 3.426708293e-04f, 3.418136317e-04f, 3.409558985e-04f, 3.400976311e-04f,
+3.392388310e-04f, 3.383794998e-04f, 3.375196390e-04f, 3.366592501e-04f, 3.357983347e-04f, 3.349368942e-04f, 3.340749301e-04f, 3.332124441e-04f, 3.323494376e-04f, 3.314859122e-04f,
+3.306218693e-04f, 3.297573106e-04f, 3.288922375e-04f, 3.280266515e-04f, 3.271605543e-04f, 3.262939472e-04f, 3.254268319e-04f, 3.245592099e-04f, 3.236910828e-04f, 3.228224519e-04f,
+3.219533190e-04f, 3.210836855e-04f, 3.202135529e-04f, 3.193429229e-04f, 3.184717969e-04f, 3.176001764e-04f, 3.167280630e-04f, 3.158554583e-04f, 3.149823638e-04f, 3.141087810e-04f,
+3.132347115e-04f, 3.123601568e-04f, 3.114851185e-04f, 3.106095980e-04f, 3.097335970e-04f, 3.088571170e-04f, 3.079801595e-04f, 3.071027262e-04f, 3.062248184e-04f, 3.053464378e-04f,
+3.044675860e-04f, 3.035882644e-04f, 3.027084747e-04f, 3.018282183e-04f, 3.009474969e-04f, 3.000663120e-04f, 2.991846651e-04f, 2.983025577e-04f, 2.974199916e-04f, 2.965369681e-04f,
+2.956534889e-04f, 2.947695556e-04f, 2.938851695e-04f, 2.930003325e-04f, 2.921150459e-04f, 2.912293113e-04f, 2.903431304e-04f, 2.894565047e-04f, 2.885694356e-04f, 2.876819249e-04f,
+2.867939740e-04f, 2.859055846e-04f, 2.850167581e-04f, 2.841274962e-04f, 2.832378004e-04f, 2.823476723e-04f, 2.814571134e-04f, 2.805661254e-04f, 2.796747097e-04f, 2.787828680e-04f,
+2.778906018e-04f, 2.769979127e-04f, 2.761048023e-04f, 2.752112721e-04f, 2.743173237e-04f, 2.734229587e-04f, 2.725281786e-04f, 2.716329851e-04f, 2.707373796e-04f, 2.698413639e-04f,
+2.689449393e-04f, 2.680481077e-04f, 2.671508704e-04f, 2.662532291e-04f, 2.653551853e-04f, 2.644567407e-04f, 2.635578968e-04f, 2.626586552e-04f, 2.617590175e-04f, 2.608589852e-04f,
+2.599585600e-04f, 2.590577434e-04f, 2.581565370e-04f, 2.572549424e-04f, 2.563529612e-04f, 2.554505949e-04f, 2.545478451e-04f, 2.536447135e-04f, 2.527412016e-04f, 2.518373110e-04f,
+2.509330432e-04f, 2.500284000e-04f, 2.491233828e-04f, 2.482179933e-04f, 2.473122330e-04f, 2.464061035e-04f, 2.454996064e-04f, 2.445927434e-04f, 2.436855159e-04f, 2.427779257e-04f,
+2.418699742e-04f, 2.409616631e-04f, 2.400529940e-04f, 2.391439685e-04f, 2.382345881e-04f, 2.373248545e-04f, 2.364147692e-04f, 2.355043339e-04f, 2.345935501e-04f, 2.336824195e-04f,
+2.327709436e-04f, 2.318591240e-04f, 2.309469624e-04f, 2.300344603e-04f, 2.291216193e-04f, 2.282084411e-04f, 2.272949272e-04f, 2.263810793e-04f, 2.254668989e-04f, 2.245523876e-04f,
+2.236375471e-04f, 2.227223789e-04f, 2.218068847e-04f, 2.208910660e-04f, 2.199749245e-04f, 2.190584618e-04f, 2.181416794e-04f, 2.172245790e-04f, 2.163071621e-04f, 2.153894305e-04f,
+2.144713856e-04f, 2.135530291e-04f, 2.126343627e-04f, 2.117153879e-04f, 2.107961062e-04f, 2.098765195e-04f, 2.089566291e-04f, 2.080364369e-04f, 2.071159442e-04f, 2.061951529e-04f,
+2.052740644e-04f, 2.043526805e-04f, 2.034310026e-04f, 2.025090325e-04f, 2.015867717e-04f, 2.006642219e-04f, 1.997413846e-04f, 1.988182615e-04f, 1.978948541e-04f, 1.969711642e-04f,
+1.960471933e-04f, 1.951229431e-04f, 1.941984151e-04f, 1.932736109e-04f, 1.923485323e-04f, 1.914231807e-04f, 1.904975579e-04f, 1.895716654e-04f, 1.886455048e-04f, 1.877190779e-04f,
+1.867923861e-04f, 1.858654311e-04f, 1.849382146e-04f, 1.840107381e-04f, 1.830830033e-04f, 1.821550118e-04f, 1.812267652e-04f, 1.802982651e-04f, 1.793695132e-04f, 1.784405111e-04f,
+1.775112603e-04f, 1.765817626e-04f, 1.756520195e-04f, 1.747220327e-04f, 1.737918038e-04f, 1.728613344e-04f, 1.719306262e-04f, 1.709996807e-04f, 1.700684996e-04f, 1.691370845e-04f,
+1.682054371e-04f, 1.672735589e-04f, 1.663414517e-04f, 1.654091169e-04f, 1.644765563e-04f, 1.635437715e-04f, 1.626107640e-04f, 1.616775356e-04f, 1.607440878e-04f, 1.598104224e-04f,
+1.588765408e-04f, 1.579424448e-04f, 1.570081359e-04f, 1.560736159e-04f, 1.551388862e-04f, 1.542039487e-04f, 1.532688048e-04f, 1.523334562e-04f, 1.513979046e-04f, 1.504621515e-04f,
+1.495261987e-04f, 1.485900477e-04f, 1.476537001e-04f, 1.467171577e-04f, 1.457804220e-04f, 1.448434947e-04f, 1.439063773e-04f, 1.429690716e-04f, 1.420315792e-04f, 1.410939017e-04f,
+1.401560406e-04f, 1.392179978e-04f, 1.382797747e-04f, 1.373413731e-04f, 1.364027945e-04f, 1.354640407e-04f, 1.345251131e-04f, 1.335860136e-04f, 1.326467436e-04f, 1.317073049e-04f,
+1.307676990e-04f, 1.298279277e-04f, 1.288879925e-04f, 1.279478950e-04f, 1.270076370e-04f, 1.260672200e-04f, 1.251266458e-04f, 1.241859158e-04f, 1.232450318e-04f, 1.223039954e-04f,
+1.213628082e-04f, 1.204214719e-04f, 1.194799881e-04f, 1.185383585e-04f, 1.175965846e-04f, 1.166546681e-04f, 1.157126107e-04f, 1.147704140e-04f, 1.138280796e-04f, 1.128856092e-04f,
+1.119430044e-04f, 1.110002669e-04f, 1.100573982e-04f, 1.091144001e-04f, 1.081712741e-04f, 1.072280219e-04f, 1.062846452e-04f, 1.053411455e-04f, 1.043975246e-04f, 1.034537840e-04f,
+1.025099254e-04f, 1.015659505e-04f, 1.006218608e-04f, 9.967765802e-05f, 9.873334382e-05f, 9.778891981e-05f, 9.684438764e-05f, 9.589974894e-05f, 9.495500536e-05f, 9.401015853e-05f,
+9.306521010e-05f, 9.212016171e-05f, 9.117501499e-05f, 9.022977159e-05f, 8.928443314e-05f, 8.833900130e-05f, 8.739347769e-05f, 8.644786396e-05f, 8.550216175e-05f, 8.455637270e-05f,
+8.361049846e-05f, 8.266454065e-05f, 8.171850093e-05f, 8.077238093e-05f, 7.982618230e-05f, 7.887990667e-05f, 7.793355569e-05f, 7.698713100e-05f, 7.604063424e-05f, 7.509406705e-05f,
+7.414743107e-05f, 7.320072794e-05f, 7.225395930e-05f, 7.130712680e-05f, 7.036023208e-05f, 6.941327677e-05f, 6.846626252e-05f, 6.751919097e-05f, 6.657206375e-05f, 6.562488253e-05f,
+6.467764892e-05f, 6.373036457e-05f, 6.278303114e-05f, 6.183565024e-05f, 6.088822354e-05f, 5.994075266e-05f, 5.899323925e-05f, 5.804568494e-05f, 5.709809139e-05f, 5.615046023e-05f,
+5.520279311e-05f, 5.425509165e-05f, 5.330735751e-05f, 5.235959232e-05f, 5.141179773e-05f, 5.046397538e-05f, 4.951612690e-05f, 4.856825393e-05f, 4.762035813e-05f, 4.667244111e-05f,
+4.572450454e-05f, 4.477655005e-05f, 4.382857927e-05f, 4.288059385e-05f, 4.193259543e-05f, 4.098458564e-05f, 4.003656614e-05f, 3.908853855e-05f, 3.814050451e-05f, 3.719246567e-05f,
+3.624442367e-05f, 3.529638014e-05f, 3.434833673e-05f, 3.340029507e-05f, 3.245225680e-05f, 3.150422357e-05f, 3.055619700e-05f, 2.960817874e-05f, 2.866017043e-05f, 2.771217370e-05f,
+2.676419020e-05f, 2.581622155e-05f, 2.486826941e-05f, 2.392033541e-05f, 2.297242118e-05f, 2.202452836e-05f, 2.107665860e-05f, 2.012881352e-05f, 1.918099477e-05f, 1.823320398e-05f,
+1.728544278e-05f, 1.633771283e-05f, 1.539001574e-05f, 1.444235317e-05f, 1.349472674e-05f, 1.254713809e-05f, 1.159958885e-05f, 1.065208067e-05f, 9.704615177e-06f, 8.757194007e-06f,
+7.809818795e-06f, 6.862491176e-06f, 5.915212786e-06f, 4.967985258e-06f, 4.020810228e-06f, 3.073689328e-06f, 2.126624195e-06f, 1.179616460e-06f, 2.326677590e-07f, -7.142202763e-07f,
+-1.661046012e-06f, -2.607807815e-06f, -3.554504053e-06f, -4.501133094e-06f, -5.447693304e-06f, -6.394183052e-06f, -7.340600706e-06f, -8.286944634e-06f, -9.233213205e-06f, -1.017940479e-05f,
+-1.112551775e-05f, -1.207155046e-05f, -1.301750130e-05f, -1.396336862e-05f, -1.490915080e-05f, -1.585484621e-05f, -1.680045323e-05f, -1.774597021e-05f, -1.869139553e-05f, -1.963672757e-05f,
+-2.058196470e-05f, -2.152710528e-05f, -2.247214769e-05f, -2.341709030e-05f, -2.436193148e-05f, -2.530666961e-05f, -2.625130307e-05f, -2.719583021e-05f, -2.814024943e-05f, -2.908455909e-05f,
+-3.002875756e-05f, -3.097284322e-05f, -3.191681445e-05f, -3.286066962e-05f, -3.380440711e-05f, -3.474802529e-05f, -3.569152254e-05f, -3.663489724e-05f, -3.757814776e-05f, -3.852127248e-05f,
+-3.946426977e-05f, -4.040713802e-05f, -4.134987561e-05f, -4.229248090e-05f, -4.323495229e-05f, -4.417728814e-05f, -4.511948685e-05f, -4.606154678e-05f, -4.700346633e-05f, -4.794524386e-05f,
+-4.888687777e-05f, -4.982836642e-05f, -5.076970821e-05f, -5.171090152e-05f, -5.265194472e-05f, -5.359283620e-05f, -5.453357435e-05f, -5.547415754e-05f, -5.641458417e-05f, -5.735485261e-05f,
+-5.829496125e-05f, -5.923490847e-05f, -6.017469266e-05f, -6.111431221e-05f, -6.205376550e-05f, -6.299305092e-05f, -6.393216685e-05f, -6.487111169e-05f, -6.580988381e-05f, -6.674848161e-05f,
+-6.768690348e-05f, -6.862514781e-05f, -6.956321297e-05f, -7.050109738e-05f, -7.143879940e-05f, -7.237631744e-05f, -7.331364989e-05f, -7.425079513e-05f, -7.518775157e-05f, -7.612451758e-05f,
+-7.706109157e-05f, -7.799747192e-05f, -7.893365704e-05f, -7.986964531e-05f, -8.080543512e-05f, -8.174102489e-05f, -8.267641299e-05f, -8.361159782e-05f, -8.454657779e-05f, -8.548135129e-05f,
+-8.641591671e-05f, -8.735027245e-05f, -8.828441691e-05f, -8.921834849e-05f, -9.015206559e-05f, -9.108556661e-05f, -9.201884995e-05f, -9.295191400e-05f, -9.388475718e-05f, -9.481737787e-05f,
+-9.574977449e-05f, -9.668194543e-05f, -9.761388910e-05f, -9.854560390e-05f, -9.947708824e-05f, -1.004083405e-04f, -1.013393591e-04f, -1.022701425e-04f, -1.032006890e-04f, -1.041309971e-04f,
+-1.050610652e-04f, -1.059908916e-04f, -1.069204748e-04f, -1.078498132e-04f, -1.087789052e-04f, -1.097077493e-04f, -1.106363437e-04f, -1.115646870e-04f, -1.124927775e-04f, -1.134206137e-04f,
+-1.143481939e-04f, -1.152755166e-04f, -1.162025803e-04f, -1.171293832e-04f, -1.180559238e-04f, -1.189822006e-04f, -1.199082120e-04f, -1.208339563e-04f, -1.217594319e-04f, -1.226846374e-04f,
+-1.236095711e-04f, -1.245342315e-04f, -1.254586169e-04f, -1.263827258e-04f, -1.273065566e-04f, -1.282301077e-04f, -1.291533775e-04f, -1.300763645e-04f, -1.309990671e-04f, -1.319214837e-04f,
+-1.328436127e-04f, -1.337654526e-04f, -1.346870017e-04f, -1.356082586e-04f, -1.365292216e-04f, -1.374498891e-04f, -1.383702597e-04f, -1.392903316e-04f, -1.402101034e-04f, -1.411295734e-04f,
+-1.420487402e-04f, -1.429676021e-04f, -1.438861575e-04f, -1.448044050e-04f, -1.457223428e-04f, -1.466399696e-04f, -1.475572836e-04f, -1.484742833e-04f, -1.493909672e-04f, -1.503073337e-04f,
+-1.512233813e-04f, -1.521391083e-04f, -1.530545132e-04f, -1.539695944e-04f, -1.548843505e-04f, -1.557987797e-04f, -1.567128807e-04f, -1.576266517e-04f, -1.585400913e-04f, -1.594531978e-04f,
+-1.603659698e-04f, -1.612784057e-04f, -1.621905039e-04f, -1.631022628e-04f, -1.640136810e-04f, -1.649247568e-04f, -1.658354887e-04f, -1.667458752e-04f, -1.676559146e-04f, -1.685656055e-04f,
+-1.694749463e-04f, -1.703839355e-04f, -1.712925714e-04f, -1.722008526e-04f, -1.731087775e-04f, -1.740163446e-04f, -1.749235522e-04f, -1.758303990e-04f, -1.767368832e-04f, -1.776430034e-04f,
+-1.785487581e-04f, -1.794541456e-04f, -1.803591645e-04f, -1.812638132e-04f, -1.821680902e-04f, -1.830719939e-04f, -1.839755228e-04f, -1.848786753e-04f, -1.857814499e-04f, -1.866838452e-04f,
+-1.875858594e-04f, -1.884874912e-04f, -1.893887390e-04f, -1.902896011e-04f, -1.911900762e-04f, -1.920901627e-04f, -1.929898590e-04f, -1.938891636e-04f, -1.947880750e-04f, -1.956865917e-04f,
+-1.965847121e-04f, -1.974824347e-04f, -1.983797579e-04f, -1.992766804e-04f, -2.001732004e-04f, -2.010693165e-04f, -2.019650272e-04f, -2.028603310e-04f, -2.037552263e-04f, -2.046497116e-04f,
+-2.055437854e-04f, -2.064374461e-04f, -2.073306923e-04f, -2.082235225e-04f, -2.091159351e-04f, -2.100079285e-04f, -2.108995014e-04f, -2.117906521e-04f, -2.126813792e-04f, -2.135716812e-04f,
+-2.144615564e-04f, -2.153510035e-04f, -2.162400209e-04f, -2.171286072e-04f, -2.180167607e-04f, -2.189044800e-04f, -2.197917635e-04f, -2.206786099e-04f, -2.215650175e-04f, -2.224509849e-04f,
+-2.233365106e-04f, -2.242215930e-04f, -2.251062307e-04f, -2.259904221e-04f, -2.268741658e-04f, -2.277574603e-04f, -2.286403040e-04f, -2.295226955e-04f, -2.304046332e-04f, -2.312861157e-04f,
+-2.321671415e-04f, -2.330477091e-04f, -2.339278170e-04f, -2.348074636e-04f, -2.356866476e-04f, -2.365653674e-04f, -2.374436215e-04f, -2.383214085e-04f, -2.391987268e-04f, -2.400755750e-04f,
+-2.409519515e-04f, -2.418278550e-04f, -2.427032838e-04f, -2.435782366e-04f, -2.444527119e-04f, -2.453267081e-04f, -2.462002238e-04f, -2.470732575e-04f, -2.479458077e-04f, -2.488178730e-04f,
+-2.496894518e-04f, -2.505605428e-04f, -2.514311443e-04f, -2.523012551e-04f, -2.531708735e-04f, -2.540399981e-04f, -2.549086274e-04f, -2.557767600e-04f, -2.566443944e-04f, -2.575115291e-04f,
+-2.583781627e-04f, -2.592442937e-04f, -2.601099206e-04f, -2.609750420e-04f, -2.618396564e-04f, -2.627037623e-04f, -2.635673584e-04f, -2.644304430e-04f, -2.652930148e-04f, -2.661550723e-04f,
+-2.670166140e-04f, -2.678776385e-04f, -2.687381444e-04f, -2.695981301e-04f, -2.704575943e-04f, -2.713165355e-04f, -2.721749521e-04f, -2.730328429e-04f, -2.738902062e-04f, -2.747470407e-04f,
+-2.756033450e-04f, -2.764591176e-04f, -2.773143569e-04f, -2.781690617e-04f, -2.790232304e-04f, -2.798768617e-04f, -2.807299539e-04f, -2.815825059e-04f, -2.824345160e-04f, -2.832859828e-04f,
+-2.841369050e-04f, -2.849872810e-04f, -2.858371095e-04f, -2.866863890e-04f, -2.875351180e-04f, -2.883832952e-04f, -2.892309192e-04f, -2.900779883e-04f, -2.909245014e-04f, -2.917704569e-04f,
+-2.926158533e-04f, -2.934606894e-04f, -2.943049635e-04f, -2.951486744e-04f, -2.959918207e-04f, -2.968344008e-04f, -2.976764133e-04f, -2.985178569e-04f, -2.993587301e-04f, -3.001990315e-04f,
+-3.010387598e-04f, -3.018779133e-04f, -3.027164909e-04f, -3.035544910e-04f, -3.043919122e-04f, -3.052287532e-04f, -3.060650125e-04f, -3.069006887e-04f, -3.077357804e-04f, -3.085702862e-04f,
+-3.094042047e-04f, -3.102375344e-04f, -3.110702741e-04f, -3.119024222e-04f, -3.127339775e-04f, -3.135649384e-04f, -3.143953036e-04f, -3.152250716e-04f, -3.160542412e-04f, -3.168828109e-04f,
+-3.177107793e-04f, -3.185381449e-04f, -3.193649065e-04f, -3.201910627e-04f, -3.210166119e-04f, -3.218415530e-04f, -3.226658844e-04f, -3.234896047e-04f, -3.243127127e-04f, -3.251352068e-04f,
+-3.259570858e-04f, -3.267783483e-04f, -3.275989928e-04f, -3.284190180e-04f, -3.292384225e-04f, -3.300572049e-04f, -3.308753639e-04f, -3.316928981e-04f, -3.325098061e-04f, -3.333260865e-04f,
+-3.341417380e-04f, -3.349567592e-04f, -3.357711487e-04f, -3.365849052e-04f, -3.373980273e-04f, -3.382105136e-04f, -3.390223628e-04f, -3.398335735e-04f, -3.406441443e-04f, -3.414540740e-04f,
+-3.422633610e-04f, -3.430720041e-04f, -3.438800019e-04f, -3.446873531e-04f, -3.454940563e-04f, -3.463001101e-04f, -3.471055132e-04f, -3.479102643e-04f, -3.487143620e-04f, -3.495178049e-04f,
+-3.503205917e-04f, -3.511227211e-04f, -3.519241917e-04f, -3.527250021e-04f, -3.535251511e-04f, -3.543246373e-04f, -3.551234593e-04f, -3.559216159e-04f, -3.567191056e-04f, -3.575159271e-04f,
+-3.583120791e-04f, -3.591075604e-04f, -3.599023694e-04f, -3.606965050e-04f, -3.614899657e-04f, -3.622827503e-04f, -3.630748574e-04f, -3.638662857e-04f, -3.646570338e-04f, -3.654471006e-04f,
+-3.662364845e-04f, -3.670251844e-04f, -3.678131988e-04f, -3.686005265e-04f, -3.693871662e-04f, -3.701731164e-04f, -3.709583761e-04f, -3.717429437e-04f, -3.725268180e-04f, -3.733099977e-04f,
+-3.740924815e-04f, -3.748742680e-04f, -3.756553560e-04f, -3.764357442e-04f, -3.772154312e-04f, -3.779944158e-04f, -3.787726966e-04f, -3.795502724e-04f, -3.803271418e-04f, -3.811033036e-04f,
+-3.818787564e-04f, -3.826534990e-04f, -3.834275300e-04f, -3.842008483e-04f, -3.849734524e-04f, -3.857453411e-04f, -3.865165131e-04f, -3.872869671e-04f, -3.880567019e-04f, -3.888257161e-04f,
+-3.895940085e-04f, -3.903615778e-04f, -3.911284226e-04f, -3.918945418e-04f, -3.926599341e-04f, -3.934245981e-04f, -3.941885326e-04f, -3.949517364e-04f, -3.957142081e-04f, -3.964759464e-04f,
+-3.972369502e-04f, -3.979972181e-04f, -3.987567489e-04f, -3.995155413e-04f, -4.002735941e-04f, -4.010309059e-04f, -4.017874756e-04f, -4.025433018e-04f, -4.032983833e-04f, -4.040527189e-04f,
+-4.048063072e-04f, -4.055591471e-04f, -4.063112373e-04f, -4.070625765e-04f, -4.078131634e-04f, -4.085629969e-04f, -4.093120757e-04f, -4.100603985e-04f, -4.108079641e-04f, -4.115547713e-04f,
+-4.123008188e-04f, -4.130461053e-04f, -4.137906296e-04f, -4.145343906e-04f, -4.152773869e-04f, -4.160196173e-04f, -4.167610805e-04f, -4.175017755e-04f, -4.182417008e-04f, -4.189808554e-04f,
+-4.197192379e-04f, -4.204568471e-04f, -4.211936818e-04f, -4.219297408e-04f, -4.226650229e-04f, -4.233995269e-04f, -4.241332514e-04f, -4.248661954e-04f, -4.255983575e-04f, -4.263297366e-04f,
+-4.270603315e-04f, -4.277901409e-04f, -4.285191636e-04f, -4.292473985e-04f, -4.299748443e-04f, -4.307014998e-04f, -4.314273638e-04f, -4.321524351e-04f, -4.328767125e-04f, -4.336001947e-04f,
+-4.343228807e-04f, -4.350447692e-04f, -4.357658590e-04f, -4.364861489e-04f, -4.372056377e-04f, -4.379243243e-04f, -4.386422073e-04f, -4.393592857e-04f, -4.400755583e-04f, -4.407910238e-04f,
+-4.415056811e-04f, -4.422195291e-04f, -4.429325664e-04f, -4.436447920e-04f, -4.443562046e-04f, -4.450668031e-04f, -4.457765863e-04f, -4.464855531e-04f, -4.471937022e-04f, -4.479010325e-04f,
+-4.486075428e-04f, -4.493132319e-04f, -4.500180988e-04f, -4.507221421e-04f, -4.514253608e-04f, -4.521277537e-04f, -4.528293196e-04f, -4.535300574e-04f, -4.542299659e-04f, -4.549290440e-04f,
+-4.556272904e-04f, -4.563247041e-04f, -4.570212839e-04f, -4.577170286e-04f, -4.584119372e-04f, -4.591060083e-04f, -4.597992410e-04f, -4.604916340e-04f, -4.611831863e-04f, -4.618738966e-04f,
+-4.625637639e-04f, -4.632527869e-04f, -4.639409646e-04f, -4.646282958e-04f, -4.653147795e-04f, -4.660004143e-04f, -4.666851993e-04f, -4.673691333e-04f, -4.680522152e-04f, -4.687344438e-04f,
+-4.694158180e-04f, -4.700963368e-04f, -4.707759989e-04f, -4.714548032e-04f, -4.721327487e-04f, -4.728098343e-04f, -4.734860587e-04f, -4.741614209e-04f, -4.748359198e-04f, -4.755095543e-04f,
+-4.761823232e-04f, -4.768542255e-04f, -4.775252601e-04f, -4.781954257e-04f, -4.788647215e-04f, -4.795331461e-04f, -4.802006986e-04f, -4.808673779e-04f, -4.815331828e-04f, -4.821981123e-04f,
+-4.828621652e-04f, -4.835253405e-04f, -4.841876370e-04f, -4.848490538e-04f, -4.855095897e-04f, -4.861692435e-04f, -4.868280144e-04f, -4.874859010e-04f, -4.881429025e-04f, -4.887990176e-04f,
+-4.894542454e-04f, -4.901085847e-04f, -4.907620345e-04f, -4.914145936e-04f, -4.920662611e-04f, -4.927170359e-04f, -4.933669168e-04f, -4.940159029e-04f, -4.946639930e-04f, -4.953111861e-04f,
+-4.959574812e-04f, -4.966028771e-04f, -4.972473729e-04f, -4.978909674e-04f, -4.985336596e-04f, -4.991754485e-04f, -4.998163330e-04f, -5.004563121e-04f, -5.010953846e-04f, -5.017335496e-04f,
+-5.023708060e-04f, -5.030071528e-04f, -5.036425890e-04f, -5.042771134e-04f, -5.049107251e-04f, -5.055434230e-04f, -5.061752061e-04f, -5.068060733e-04f, -5.074360236e-04f, -5.080650561e-04f,
+-5.086931696e-04f, -5.093203631e-04f, -5.099466357e-04f, -5.105719862e-04f, -5.111964137e-04f, -5.118199171e-04f, -5.124424955e-04f, -5.130641477e-04f, -5.136848729e-04f, -5.143046700e-04f,
+-5.149235379e-04f, -5.155414757e-04f, -5.161584823e-04f, -5.167745568e-04f, -5.173896981e-04f, -5.180039052e-04f, -5.186171772e-04f, -5.192295130e-04f, -5.198409117e-04f, -5.204513722e-04f,
+-5.210608936e-04f, -5.216694748e-04f, -5.222771148e-04f, -5.228838128e-04f, -5.234895676e-04f, -5.240943783e-04f, -5.246982439e-04f, -5.253011635e-04f, -5.259031360e-04f, -5.265041605e-04f,
+-5.271042360e-04f, -5.277033615e-04f, -5.283015360e-04f, -5.288987586e-04f, -5.294950283e-04f, -5.300903441e-04f, -5.306847051e-04f, -5.312781103e-04f, -5.318705587e-04f, -5.324620494e-04f,
+-5.330525814e-04f, -5.336421538e-04f, -5.342307655e-04f, -5.348184157e-04f, -5.354051033e-04f, -5.359908275e-04f, -5.365755873e-04f, -5.371593817e-04f, -5.377422098e-04f, -5.383240706e-04f,
+-5.389049632e-04f, -5.394848867e-04f, -5.400638401e-04f, -5.406418224e-04f, -5.412188328e-04f, -5.417948704e-04f, -5.423699340e-04f, -5.429440230e-04f, -5.435171362e-04f, -5.440892728e-04f,
+-5.446604319e-04f, -5.452306125e-04f, -5.457998137e-04f, -5.463680346e-04f, -5.469352743e-04f, -5.475015319e-04f, -5.480668063e-04f, -5.486310968e-04f, -5.491944024e-04f, -5.497567223e-04f,
+-5.503180554e-04f, -5.508784009e-04f, -5.514377579e-04f, -5.519961254e-04f, -5.525535027e-04f, -5.531098887e-04f, -5.536652826e-04f, -5.542196835e-04f, -5.547730904e-04f, -5.553255026e-04f,
+-5.558769191e-04f, -5.564273390e-04f, -5.569767614e-04f, -5.575251855e-04f, -5.580726103e-04f, -5.586190351e-04f, -5.591644588e-04f, -5.597088806e-04f, -5.602522997e-04f, -5.607947152e-04f,
+-5.613361261e-04f, -5.618765317e-04f, -5.624159311e-04f, -5.629543233e-04f, -5.634917076e-04f, -5.640280830e-04f, -5.645634487e-04f, -5.650978039e-04f, -5.656311476e-04f, -5.661634791e-04f,
+-5.666947974e-04f, -5.672251017e-04f, -5.677543913e-04f, -5.682826651e-04f, -5.688099224e-04f, -5.693361623e-04f, -5.698613840e-04f, -5.703855866e-04f, -5.709087694e-04f, -5.714309313e-04f,
+-5.719520717e-04f, -5.724721897e-04f, -5.729912845e-04f, -5.735093551e-04f, -5.740264009e-04f, -5.745424209e-04f, -5.750574144e-04f, -5.755713804e-04f, -5.760843183e-04f, -5.765962271e-04f,
+-5.771071061e-04f, -5.776169544e-04f, -5.781257713e-04f, -5.786335558e-04f, -5.791403073e-04f, -5.796460248e-04f, -5.801507076e-04f, -5.806543549e-04f, -5.811569659e-04f, -5.816585397e-04f,
+-5.821590756e-04f, -5.826585728e-04f, -5.831570305e-04f, -5.836544478e-04f, -5.841508240e-04f, -5.846461584e-04f, -5.851404500e-04f, -5.856336981e-04f, -5.861259020e-04f, -5.866170609e-04f,
+-5.871071739e-04f, -5.875962403e-04f, -5.880842593e-04f, -5.885712301e-04f, -5.890571521e-04f, -5.895420243e-04f, -5.900258460e-04f, -5.905086165e-04f, -5.909903349e-04f, -5.914710006e-04f,
+-5.919506128e-04f, -5.924291706e-04f, -5.929066734e-04f, -5.933831204e-04f, -5.938585107e-04f, -5.943328438e-04f, -5.948061188e-04f, -5.952783349e-04f, -5.957494915e-04f, -5.962195878e-04f,
+-5.966886229e-04f, -5.971565963e-04f, -5.976235071e-04f, -5.980893547e-04f, -5.985541382e-04f, -5.990178569e-04f, -5.994805102e-04f, -5.999420972e-04f, -6.004026173e-04f, -6.008620697e-04f,
+-6.013204537e-04f, -6.017777685e-04f, -6.022340136e-04f, -6.026891880e-04f, -6.031432912e-04f, -6.035963223e-04f, -6.040482808e-04f, -6.044991658e-04f, -6.049489767e-04f, -6.053977127e-04f,
+-6.058453732e-04f, -6.062919574e-04f, -6.067374646e-04f, -6.071818942e-04f, -6.076252455e-04f, -6.080675177e-04f, -6.085087101e-04f, -6.089488221e-04f, -6.093878529e-04f, -6.098258020e-04f,
+-6.102626685e-04f, -6.106984518e-04f, -6.111331513e-04f, -6.115667661e-04f, -6.119992958e-04f, -6.124307395e-04f, -6.128610967e-04f, -6.132903665e-04f, -6.137185485e-04f, -6.141456418e-04f,
+-6.145716458e-04f, -6.149965600e-04f, -6.154203835e-04f, -6.158431157e-04f, -6.162647560e-04f, -6.166853037e-04f, -6.171047582e-04f, -6.175231188e-04f, -6.179403848e-04f, -6.183565556e-04f,
+-6.187716306e-04f, -6.191856091e-04f, -6.195984904e-04f, -6.200102740e-04f, -6.204209591e-04f, -6.208305452e-04f, -6.212390315e-04f, -6.216464176e-04f, -6.220527026e-04f, -6.224578861e-04f,
+-6.228619674e-04f, -6.232649457e-04f, -6.236668206e-04f, -6.240675914e-04f, -6.244672575e-04f, -6.248658182e-04f, -6.252632730e-04f, -6.256596212e-04f, -6.260548622e-04f, -6.264489954e-04f,
+-6.268420202e-04f, -6.272339359e-04f, -6.276247420e-04f, -6.280144379e-04f, -6.284030230e-04f, -6.287904966e-04f, -6.291768583e-04f, -6.295621072e-04f, -6.299462430e-04f, -6.303292649e-04f,
+-6.307111725e-04f, -6.310919650e-04f, -6.314716420e-04f, -6.318502028e-04f, -6.322276469e-04f, -6.326039737e-04f, -6.329791825e-04f, -6.333532729e-04f, -6.337262442e-04f, -6.340980959e-04f,
+-6.344688274e-04f, -6.348384381e-04f, -6.352069275e-04f, -6.355742951e-04f, -6.359405401e-04f, -6.363056622e-04f, -6.366696606e-04f, -6.370325350e-04f, -6.373942846e-04f, -6.377549090e-04f,
+-6.381144076e-04f, -6.384727799e-04f, -6.388300253e-04f, -6.391861433e-04f, -6.395411333e-04f, -6.398949947e-04f, -6.402477272e-04f, -6.405993300e-04f, -6.409498027e-04f, -6.412991448e-04f,
+-6.416473556e-04f, -6.419944348e-04f, -6.423403817e-04f, -6.426851959e-04f, -6.430288767e-04f, -6.433714238e-04f, -6.437128365e-04f, -6.440531143e-04f, -6.443922569e-04f, -6.447302635e-04f,
+-6.450671337e-04f, -6.454028671e-04f, -6.457374631e-04f, -6.460709211e-04f, -6.464032408e-04f, -6.467344215e-04f, -6.470644628e-04f, -6.473933642e-04f, -6.477211253e-04f, -6.480477454e-04f,
+-6.483732242e-04f, -6.486975610e-04f, -6.490207556e-04f, -6.493428072e-04f, -6.496637156e-04f, -6.499834801e-04f, -6.503021004e-04f, -6.506195759e-04f, -6.509359062e-04f, -6.512510907e-04f,
+-6.515651291e-04f, -6.518780208e-04f, -6.521897654e-04f, -6.525003624e-04f, -6.528098114e-04f, -6.531181119e-04f, -6.534252634e-04f, -6.537312655e-04f, -6.540361178e-04f, -6.543398197e-04f,
+-6.546423708e-04f, -6.549437707e-04f, -6.552440189e-04f, -6.555431150e-04f, -6.558410586e-04f, -6.561378492e-04f, -6.564334863e-04f, -6.567279695e-04f, -6.570212985e-04f, -6.573134727e-04f,
+-6.576044917e-04f, -6.578943551e-04f, -6.581830625e-04f, -6.584706135e-04f, -6.587570076e-04f, -6.590422444e-04f, -6.593263235e-04f, -6.596092444e-04f, -6.598910068e-04f, -6.601716103e-04f,
+-6.604510544e-04f, -6.607293387e-04f, -6.610064629e-04f, -6.612824265e-04f, -6.615572291e-04f, -6.618308703e-04f, -6.621033497e-04f, -6.623746670e-04f, -6.626448216e-04f, -6.629138134e-04f,
+-6.631816417e-04f, -6.634483064e-04f, -6.637138069e-04f, -6.639781429e-04f, -6.642413140e-04f, -6.645033199e-04f, -6.647641601e-04f, -6.650238342e-04f, -6.652823420e-04f, -6.655396830e-04f,
+-6.657958569e-04f, -6.660508633e-04f, -6.663047018e-04f, -6.665573721e-04f, -6.668088738e-04f, -6.670592065e-04f, -6.673083699e-04f, -6.675563637e-04f, -6.678031874e-04f, -6.680488408e-04f,
+-6.682933235e-04f, -6.685366351e-04f, -6.687787753e-04f, -6.690197437e-04f, -6.692595401e-04f, -6.694981640e-04f, -6.697356151e-04f, -6.699718932e-04f, -6.702069978e-04f, -6.704409287e-04f,
+-6.706736854e-04f, -6.709052678e-04f, -6.711356754e-04f, -6.713649079e-04f, -6.715929650e-04f, -6.718198465e-04f, -6.720455519e-04f, -6.722700810e-04f, -6.724934335e-04f, -6.727156090e-04f,
+-6.729366072e-04f, -6.731564278e-04f, -6.733750706e-04f, -6.735925352e-04f, -6.738088214e-04f, -6.740239288e-04f, -6.742378571e-04f, -6.744506060e-04f, -6.746621753e-04f, -6.748725646e-04f,
+-6.750817737e-04f, -6.752898024e-04f, -6.754966502e-04f, -6.757023169e-04f, -6.759068023e-04f, -6.761101060e-04f, -6.763122278e-04f, -6.765131675e-04f, -6.767129247e-04f, -6.769114992e-04f,
+-6.771088907e-04f, -6.773050989e-04f, -6.775001236e-04f, -6.776939646e-04f, -6.778866215e-04f, -6.780780941e-04f, -6.782683822e-04f, -6.784574855e-04f, -6.786454037e-04f, -6.788321367e-04f,
+-6.790176841e-04f, -6.792020457e-04f, -6.793852213e-04f, -6.795672106e-04f, -6.797480134e-04f, -6.799276295e-04f, -6.801060586e-04f, -6.802833005e-04f, -6.804593550e-04f, -6.806342218e-04f,
+-6.808079007e-04f, -6.809803915e-04f, -6.811516940e-04f, -6.813218079e-04f, -6.814907331e-04f, -6.816584693e-04f, -6.818250162e-04f, -6.819903738e-04f, -6.821545418e-04f, -6.823175199e-04f,
+-6.824793080e-04f, -6.826399059e-04f, -6.827993134e-04f, -6.829575302e-04f, -6.831145562e-04f, -6.832703912e-04f, -6.834250350e-04f, -6.835784873e-04f, -6.837307481e-04f, -6.838818171e-04f,
+-6.840316942e-04f, -6.841803791e-04f, -6.843278717e-04f, -6.844741718e-04f, -6.846192792e-04f, -6.847631938e-04f, -6.849059153e-04f, -6.850474437e-04f, -6.851877787e-04f, -6.853269202e-04f,
+-6.854648680e-04f, -6.856016219e-04f, -6.857371819e-04f, -6.858715477e-04f, -6.860047192e-04f, -6.861366962e-04f, -6.862674786e-04f, -6.863970662e-04f, -6.865254589e-04f, -6.866526566e-04f,
+-6.867786590e-04f, -6.869034661e-04f, -6.870270777e-04f, -6.871494938e-04f, -6.872707140e-04f, -6.873907384e-04f, -6.875095668e-04f, -6.876271990e-04f, -6.877436349e-04f, -6.878588745e-04f,
+-6.879729176e-04f, -6.880857640e-04f, -6.881974137e-04f, -6.883078665e-04f, -6.884171223e-04f, -6.885251811e-04f, -6.886320426e-04f, -6.887377069e-04f, -6.888421737e-04f, -6.889454430e-04f,
+-6.890475148e-04f, -6.891483888e-04f, -6.892480649e-04f, -6.893465432e-04f, -6.894438235e-04f, -6.895399057e-04f, -6.896347898e-04f, -6.897284755e-04f, -6.898209629e-04f, -6.899122519e-04f,
+-6.900023424e-04f, -6.900912343e-04f, -6.901789276e-04f, -6.902654221e-04f, -6.903507177e-04f, -6.904348146e-04f, -6.905177124e-04f, -6.905994113e-04f, -6.906799111e-04f, -6.907592117e-04f,
+-6.908373132e-04f, -6.909142154e-04f, -6.909899183e-04f, -6.910644218e-04f, -6.911377259e-04f, -6.912098306e-04f, -6.912807358e-04f, -6.913504414e-04f, -6.914189474e-04f, -6.914862538e-04f,
+-6.915523605e-04f, -6.916172674e-04f, -6.916809747e-04f, -6.917434822e-04f, -6.918047898e-04f, -6.918648976e-04f, -6.919238056e-04f, -6.919815137e-04f, -6.920380219e-04f, -6.920933301e-04f,
+-6.921474384e-04f, -6.922003467e-04f, -6.922520551e-04f, -6.923025635e-04f, -6.923518719e-04f, -6.923999802e-04f, -6.924468886e-04f, -6.924925970e-04f, -6.925371053e-04f, -6.925804137e-04f,
+-6.926225220e-04f, -6.926634303e-04f, -6.927031386e-04f, -6.927416470e-04f, -6.927789553e-04f, -6.928150637e-04f, -6.928499722e-04f, -6.928836807e-04f, -6.929161893e-04f, -6.929474981e-04f,
+-6.929776069e-04f, -6.930065159e-04f, -6.930342252e-04f, -6.930607346e-04f, -6.930860443e-04f, -6.931101542e-04f, -6.931330645e-04f, -6.931547752e-04f, -6.931752862e-04f, -6.931945977e-04f,
+-6.932127097e-04f, -6.932296222e-04f, -6.932453352e-04f, -6.932598490e-04f, -6.932731634e-04f, -6.932852785e-04f, -6.932961944e-04f, -6.933059112e-04f, -6.933144290e-04f, -6.933217476e-04f,
+-6.933278674e-04f, -6.933327882e-04f, -6.933365103e-04f, -6.933390335e-04f, -6.933403581e-04f, -6.933404841e-04f, -6.933394116e-04f, -6.933371407e-04f, -6.933336714e-04f, -6.933290038e-04f,
+-6.933231380e-04f, -6.933160741e-04f, -6.933078122e-04f, -6.932983524e-04f, -6.932876948e-04f, -6.932758394e-04f, -6.932627864e-04f, -6.932485358e-04f, -6.932330879e-04f, -6.932164426e-04f,
+-6.931986001e-04f, -6.931795605e-04f, -6.931593239e-04f, -6.931378904e-04f, -6.931152601e-04f, -6.930914331e-04f, -6.930664097e-04f, -6.930401898e-04f, -6.930127736e-04f, -6.929841613e-04f,
+-6.929543529e-04f, -6.929233486e-04f, -6.928911485e-04f, -6.928577528e-04f, -6.928231616e-04f, -6.927873750e-04f, -6.927503932e-04f, -6.927122162e-04f, -6.926728444e-04f, -6.926322777e-04f,
+-6.925905163e-04f, -6.925475605e-04f, -6.925034103e-04f, -6.924580659e-04f, -6.924115275e-04f, -6.923637951e-04f, -6.923148691e-04f, -6.922647495e-04f, -6.922134364e-04f, -6.921609302e-04f,
+-6.921072309e-04f, -6.920523386e-04f, -6.919962537e-04f, -6.919389762e-04f, -6.918805064e-04f, -6.918208443e-04f, -6.917599902e-04f, -6.916979443e-04f, -6.916347068e-04f, -6.915702778e-04f,
+-6.915046575e-04f, -6.914378461e-04f, -6.913698439e-04f, -6.913006510e-04f, -6.912302675e-04f, -6.911586938e-04f, -6.910859300e-04f, -6.910119763e-04f, -6.909368329e-04f, -6.908605000e-04f,
+-6.907829778e-04f, -6.907042666e-04f, -6.906243665e-04f, -6.905432779e-04f, -6.904610008e-04f, -6.903775354e-04f, -6.902928822e-04f, -6.902070412e-04f, -6.901200126e-04f, -6.900317968e-04f,
+-6.899423938e-04f, -6.898518041e-04f, -6.897600278e-04f, -6.896670650e-04f, -6.895729162e-04f, -6.894775815e-04f, -6.893810611e-04f, -6.892833553e-04f, -6.891844644e-04f, -6.890843885e-04f,
+-6.889831280e-04f, -6.888806831e-04f, -6.887770541e-04f, -6.886722411e-04f, -6.885662445e-04f, -6.884590645e-04f, -6.883507014e-04f, -6.882411555e-04f, -6.881304269e-04f, -6.880185161e-04f,
+-6.879054232e-04f, -6.877911485e-04f, -6.876756923e-04f, -6.875590549e-04f, -6.874412366e-04f, -6.873222376e-04f, -6.872020582e-04f, -6.870806987e-04f, -6.869581594e-04f, -6.868344405e-04f,
+-6.867095425e-04f, -6.865834655e-04f, -6.864562098e-04f, -6.863277758e-04f, -6.861981637e-04f, -6.860673739e-04f, -6.859354067e-04f, -6.858022623e-04f, -6.856679410e-04f, -6.855324433e-04f,
+-6.853957693e-04f, -6.852579194e-04f, -6.851188939e-04f, -6.849786931e-04f, -6.848373174e-04f, -6.846947671e-04f, -6.845510424e-04f, -6.844061438e-04f, -6.842600715e-04f, -6.841128258e-04f,
+-6.839644072e-04f, -6.838148159e-04f, -6.836640522e-04f, -6.835121166e-04f, -6.833590093e-04f, -6.832047307e-04f, -6.830492811e-04f, -6.828926609e-04f, -6.827348704e-04f, -6.825759100e-04f,
+-6.824157800e-04f, -6.822544807e-04f, -6.820920126e-04f, -6.819283760e-04f, -6.817635712e-04f, -6.815975986e-04f, -6.814304585e-04f, -6.812621514e-04f, -6.810926776e-04f, -6.809220375e-04f,
+-6.807502314e-04f, -6.805772597e-04f, -6.804031228e-04f, -6.802278210e-04f, -6.800513548e-04f, -6.798737245e-04f, -6.796949305e-04f, -6.795149732e-04f, -6.793338529e-04f, -6.791515702e-04f,
+-6.789681252e-04f, -6.787835185e-04f, -6.785977505e-04f, -6.784108215e-04f, -6.782227319e-04f, -6.780334822e-04f, -6.778430727e-04f, -6.776515038e-04f, -6.774587760e-04f, -6.772648897e-04f,
+-6.770698452e-04f, -6.768736430e-04f, -6.766762835e-04f, -6.764777671e-04f, -6.762780942e-04f, -6.760772653e-04f, -6.758752808e-04f, -6.756721410e-04f, -6.754678465e-04f, -6.752623976e-04f,
+-6.750557948e-04f, -6.748480385e-04f, -6.746391292e-04f, -6.744290672e-04f, -6.742178531e-04f, -6.740054873e-04f, -6.737919701e-04f, -6.735773021e-04f, -6.733614836e-04f, -6.731445153e-04f,
+-6.729263974e-04f, -6.727071304e-04f, -6.724867149e-04f, -6.722651512e-04f, -6.720424398e-04f, -6.718185812e-04f, -6.715935758e-04f, -6.713674241e-04f, -6.711401265e-04f, -6.709116836e-04f,
+-6.706820958e-04f, -6.704513636e-04f, -6.702194874e-04f, -6.699864677e-04f, -6.697523050e-04f, -6.695169998e-04f, -6.692805525e-04f, -6.690429637e-04f, -6.688042338e-04f, -6.685643633e-04f,
+-6.683233527e-04f, -6.680812025e-04f, -6.678379131e-04f, -6.675934852e-04f, -6.673479191e-04f, -6.671012154e-04f, -6.668533745e-04f, -6.666043971e-04f, -6.663542835e-04f, -6.661030343e-04f,
+-6.658506499e-04f, -6.655971310e-04f, -6.653424780e-04f, -6.650866915e-04f, -6.648297718e-04f, -6.645717197e-04f, -6.643125355e-04f, -6.640522198e-04f, -6.637907732e-04f, -6.635281961e-04f,
+-6.632644890e-04f, -6.629996526e-04f, -6.627336874e-04f, -6.624665938e-04f, -6.621983724e-04f, -6.619290237e-04f, -6.616585484e-04f, -6.613869468e-04f, -6.611142197e-04f, -6.608403674e-04f,
+-6.605653906e-04f, -6.602892898e-04f, -6.600120656e-04f, -6.597337185e-04f, -6.594542491e-04f, -6.591736578e-04f, -6.588919454e-04f, -6.586091123e-04f, -6.583251591e-04f, -6.580400863e-04f,
+-6.577538946e-04f, -6.574665845e-04f, -6.571781565e-04f, -6.568886113e-04f, -6.565979494e-04f, -6.563061714e-04f, -6.560132779e-04f, -6.557192694e-04f, -6.554241465e-04f, -6.551279098e-04f,
+-6.548305599e-04f, -6.545320974e-04f, -6.542325229e-04f, -6.539318369e-04f, -6.536300400e-04f, -6.533271329e-04f, -6.530231162e-04f, -6.527179904e-04f, -6.524117561e-04f, -6.521044139e-04f,
+-6.517959645e-04f, -6.514864084e-04f, -6.511757463e-04f, -6.508639788e-04f, -6.505511064e-04f, -6.502371298e-04f, -6.499220496e-04f, -6.496058664e-04f, -6.492885808e-04f, -6.489701935e-04f,
+-6.486507051e-04f, -6.483301162e-04f, -6.480084274e-04f, -6.476856394e-04f, -6.473617527e-04f, -6.470367681e-04f, -6.467106861e-04f, -6.463835073e-04f, -6.460552326e-04f, -6.457258623e-04f,
+-6.453953973e-04f, -6.450638381e-04f, -6.447311854e-04f, -6.443974398e-04f, -6.440626020e-04f, -6.437266727e-04f, -6.433896524e-04f, -6.430515418e-04f, -6.427123417e-04f, -6.423720526e-04f,
+-6.420306752e-04f, -6.416882102e-04f, -6.413446582e-04f, -6.410000199e-04f, -6.406542959e-04f, -6.403074870e-04f, -6.399595938e-04f, -6.396106170e-04f, -6.392605572e-04f, -6.389094151e-04f,
+-6.385571915e-04f, -6.382038869e-04f, -6.378495021e-04f, -6.374940377e-04f, -6.371374944e-04f, -6.367798730e-04f, -6.364211741e-04f, -6.360613983e-04f, -6.357005465e-04f, -6.353386192e-04f,
+-6.349756172e-04f, -6.346115411e-04f, -6.342463918e-04f, -6.338801698e-04f, -6.335128759e-04f, -6.331445108e-04f, -6.327750751e-04f, -6.324045697e-04f, -6.320329951e-04f, -6.316603522e-04f,
+-6.312866416e-04f, -6.309118640e-04f, -6.305360202e-04f, -6.301591109e-04f, -6.297811368e-04f, -6.294020986e-04f, -6.290219971e-04f, -6.286408330e-04f, -6.282586069e-04f, -6.278753197e-04f,
+-6.274909721e-04f, -6.271055647e-04f, -6.267190984e-04f, -6.263315739e-04f, -6.259429919e-04f, -6.255533531e-04f, -6.251626583e-04f, -6.247709083e-04f, -6.243781037e-04f, -6.239842454e-04f,
+-6.235893341e-04f, -6.231933705e-04f, -6.227963553e-04f, -6.223982895e-04f, -6.219991736e-04f, -6.215990084e-04f, -6.211977948e-04f, -6.207955335e-04f, -6.203922252e-04f, -6.199878707e-04f,
+-6.195824708e-04f, -6.191760262e-04f, -6.187685378e-04f, -6.183600062e-04f, -6.179504323e-04f, -6.175398168e-04f, -6.171281605e-04f, -6.167154642e-04f, -6.163017287e-04f, -6.158869548e-04f,
+-6.154711432e-04f, -6.150542947e-04f, -6.146364102e-04f, -6.142174903e-04f, -6.137975359e-04f, -6.133765479e-04f, -6.129545269e-04f, -6.125314738e-04f, -6.121073894e-04f, -6.116822744e-04f,
+-6.112561298e-04f, -6.108289562e-04f, -6.104007545e-04f, -6.099715256e-04f, -6.095412701e-04f, -6.091099890e-04f, -6.086776829e-04f, -6.082443529e-04f, -6.078099996e-04f, -6.073746238e-04f,
+-6.069382265e-04f, -6.065008084e-04f, -6.060623703e-04f, -6.056229131e-04f, -6.051824376e-04f, -6.047409446e-04f, -6.042984350e-04f, -6.038549095e-04f, -6.034103690e-04f, -6.029648144e-04f,
+-6.025182465e-04f, -6.020706661e-04f, -6.016220741e-04f, -6.011724713e-04f, -6.007218585e-04f, -6.002702366e-04f, -5.998176064e-04f, -5.993639689e-04f, -5.989093247e-04f, -5.984536749e-04f,
+-5.979970202e-04f, -5.975393615e-04f, -5.970806996e-04f, -5.966210355e-04f, -5.961603699e-04f, -5.956987038e-04f, -5.952360379e-04f, -5.947723732e-04f, -5.943077106e-04f, -5.938420508e-04f,
+-5.933753948e-04f, -5.929077434e-04f, -5.924390976e-04f, -5.919694581e-04f, -5.914988259e-04f, -5.910272018e-04f, -5.905545868e-04f, -5.900809816e-04f, -5.896063872e-04f, -5.891308045e-04f,
+-5.886542344e-04f, -5.881766777e-04f, -5.876981353e-04f, -5.872186082e-04f, -5.867380972e-04f, -5.862566032e-04f, -5.857741271e-04f, -5.852906698e-04f, -5.848062322e-04f, -5.843208152e-04f,
+-5.838344197e-04f, -5.833470467e-04f, -5.828586970e-04f, -5.823693715e-04f, -5.818790711e-04f, -5.813877968e-04f, -5.808955495e-04f, -5.804023300e-04f, -5.799081393e-04f, -5.794129784e-04f,
+-5.789168480e-04f, -5.784197493e-04f, -5.779216830e-04f, -5.774226501e-04f, -5.769226515e-04f, -5.764216882e-04f, -5.759197610e-04f, -5.754168710e-04f, -5.749130190e-04f, -5.744082059e-04f,
+-5.739024328e-04f, -5.733957006e-04f, -5.728880101e-04f, -5.723793624e-04f, -5.718697583e-04f, -5.713591988e-04f, -5.708476849e-04f, -5.703352175e-04f, -5.698217976e-04f, -5.693074260e-04f,
+-5.687921038e-04f, -5.682758319e-04f, -5.677586113e-04f, -5.672404429e-04f, -5.667213276e-04f, -5.662012665e-04f, -5.656802605e-04f, -5.651583105e-04f, -5.646354176e-04f, -5.641115826e-04f,
+-5.635868066e-04f, -5.630610905e-04f, -5.625344353e-04f, -5.620068420e-04f, -5.614783115e-04f, -5.609488448e-04f, -5.604184429e-04f, -5.598871068e-04f, -5.593548374e-04f, -5.588216357e-04f,
+-5.582875027e-04f, -5.577524395e-04f, -5.572164469e-04f, -5.566795259e-04f, -5.561416776e-04f, -5.556029030e-04f, -5.550632030e-04f, -5.545225786e-04f, -5.539810309e-04f, -5.534385607e-04f,
+-5.528951692e-04f, -5.523508573e-04f, -5.518056260e-04f, -5.512594764e-04f, -5.507124093e-04f, -5.501644259e-04f, -5.496155272e-04f, -5.490657140e-04f, -5.485149876e-04f, -5.479633487e-04f,
+-5.474107986e-04f, -5.468573382e-04f, -5.463029685e-04f, -5.457476905e-04f, -5.451915052e-04f, -5.446344138e-04f, -5.440764171e-04f, -5.435175162e-04f, -5.429577122e-04f, -5.423970060e-04f,
+-5.418353988e-04f, -5.412728914e-04f, -5.407094850e-04f, -5.401451806e-04f, -5.395799792e-04f, -5.390138819e-04f, -5.384468897e-04f, -5.378790036e-04f, -5.373102246e-04f, -5.367405539e-04f,
+-5.361699925e-04f, -5.355985413e-04f, -5.350262015e-04f, -5.344529741e-04f, -5.338788601e-04f, -5.333038607e-04f, -5.327279767e-04f, -5.321512094e-04f, -5.315735597e-04f, -5.309950288e-04f,
+-5.304156176e-04f, -5.298353272e-04f, -5.292541587e-04f, -5.286721132e-04f, -5.280891917e-04f, -5.275053952e-04f, -5.269207249e-04f, -5.263351819e-04f, -5.257487670e-04f, -5.251614816e-04f,
+-5.245733266e-04f, -5.239843030e-04f, -5.233944121e-04f, -5.228036547e-04f, -5.222120322e-04f, -5.216195454e-04f, -5.210261955e-04f, -5.204319835e-04f, -5.198369107e-04f, -5.192409779e-04f,
+-5.186441864e-04f, -5.180465372e-04f, -5.174480314e-04f, -5.168486700e-04f, -5.162484543e-04f, -5.156473852e-04f, -5.150454639e-04f, -5.144426915e-04f, -5.138390690e-04f, -5.132345976e-04f,
+-5.126292784e-04f, -5.120231124e-04f, -5.114161008e-04f, -5.108082447e-04f, -5.101995451e-04f, -5.095900033e-04f, -5.089796202e-04f, -5.083683970e-04f, -5.077563348e-04f, -5.071434348e-04f,
+-5.065296980e-04f, -5.059151256e-04f, -5.052997187e-04f, -5.046834783e-04f, -5.040664057e-04f, -5.034485018e-04f, -5.028297680e-04f, -5.022102052e-04f, -5.015898147e-04f, -5.009685974e-04f,
+-5.003465546e-04f, -4.997236875e-04f, -4.990999970e-04f, -4.984754844e-04f, -4.978501508e-04f, -4.972239973e-04f, -4.965970250e-04f, -4.959692352e-04f, -4.953406288e-04f, -4.947112072e-04f,
+-4.940809713e-04f, -4.934499225e-04f, -4.928180617e-04f, -4.921853901e-04f, -4.915519090e-04f, -4.909176194e-04f, -4.902825225e-04f, -4.896466194e-04f, -4.890099113e-04f, -4.883723994e-04f,
+-4.877340847e-04f, -4.870949685e-04f, -4.864550520e-04f, -4.858143362e-04f, -4.851728223e-04f, -4.845305115e-04f, -4.838874050e-04f, -4.832435039e-04f, -4.825988094e-04f, -4.819533226e-04f,
+-4.813070447e-04f, -4.806599769e-04f, -4.800121204e-04f, -4.793634763e-04f, -4.787140459e-04f, -4.780638301e-04f, -4.774128304e-04f, -4.767610477e-04f, -4.761084834e-04f, -4.754551386e-04f,
+-4.748010144e-04f, -4.741461120e-04f, -4.734904327e-04f, -4.728339776e-04f, -4.721767479e-04f, -4.715187448e-04f, -4.708599695e-04f, -4.702004231e-04f, -4.695401069e-04f, -4.688790220e-04f,
+-4.682171696e-04f, -4.675545510e-04f, -4.668911673e-04f, -4.662270198e-04f, -4.655621095e-04f, -4.648964378e-04f, -4.642300058e-04f, -4.635628147e-04f, -4.628948658e-04f, -4.622261602e-04f,
+-4.615566991e-04f, -4.608864837e-04f, -4.602155154e-04f, -4.595437951e-04f, -4.588713243e-04f, -4.581981040e-04f, -4.575241355e-04f, -4.568494201e-04f, -4.561739588e-04f, -4.554977530e-04f,
+-4.548208039e-04f, -4.541431126e-04f, -4.534646804e-04f, -4.527855086e-04f, -4.521055982e-04f, -4.514249507e-04f, -4.507435671e-04f, -4.500614488e-04f, -4.493785969e-04f, -4.486950126e-04f,
+-4.480106973e-04f, -4.473256521e-04f, -4.466398782e-04f, -4.459533770e-04f, -4.452661496e-04f, -4.445781972e-04f, -4.438895212e-04f, -4.432001227e-04f, -4.425100029e-04f, -4.418191632e-04f,
+-4.411276048e-04f, -4.404353288e-04f, -4.397423366e-04f, -4.390486294e-04f, -4.383542085e-04f, -4.376590750e-04f, -4.369632302e-04f, -4.362666755e-04f, -4.355694119e-04f, -4.348714409e-04f,
+-4.341727636e-04f, -4.334733812e-04f, -4.327732952e-04f, -4.320725066e-04f, -4.313710168e-04f, -4.306688270e-04f, -4.299659385e-04f, -4.292623525e-04f, -4.285580703e-04f, -4.278530932e-04f,
+-4.271474224e-04f, -4.264410592e-04f, -4.257340049e-04f, -4.250262607e-04f, -4.243178279e-04f, -4.236087077e-04f, -4.228989015e-04f, -4.221884105e-04f, -4.214772360e-04f, -4.207653793e-04f,
+-4.200528415e-04f, -4.193396241e-04f, -4.186257283e-04f, -4.179111553e-04f, -4.171959065e-04f, -4.164799831e-04f, -4.157633864e-04f, -4.150461176e-04f, -4.143281782e-04f, -4.136095693e-04f,
+-4.128902923e-04f, -4.121703483e-04f, -4.114497389e-04f, -4.107284651e-04f, -4.100065283e-04f, -4.092839298e-04f, -4.085606708e-04f, -4.078367528e-04f, -4.071121769e-04f, -4.063869445e-04f,
+-4.056610569e-04f, -4.049345153e-04f, -4.042073210e-04f, -4.034794755e-04f, -4.027509798e-04f, -4.020218355e-04f, -4.012920437e-04f, -4.005616058e-04f, -3.998305230e-04f, -3.990987968e-04f,
+-3.983664283e-04f, -3.976334189e-04f, -3.968997699e-04f, -3.961654826e-04f, -3.954305584e-04f, -3.946949985e-04f, -3.939588042e-04f, -3.932219769e-04f, -3.924845179e-04f, -3.917464284e-04f,
+-3.910077099e-04f, -3.902683637e-04f, -3.895283909e-04f, -3.887877931e-04f, -3.880465714e-04f, -3.873047272e-04f, -3.865622619e-04f, -3.858191767e-04f, -3.850754731e-04f, -3.843311522e-04f,
+-3.835862155e-04f, -3.828406642e-04f, -3.820944998e-04f, -3.813477234e-04f, -3.806003365e-04f, -3.798523405e-04f, -3.791037365e-04f, -3.783545260e-04f, -3.776047103e-04f, -3.768542907e-04f,
+-3.761032685e-04f, -3.753516452e-04f, -3.745994220e-04f, -3.738466003e-04f, -3.730931814e-04f, -3.723391667e-04f, -3.715845575e-04f, -3.708293551e-04f, -3.700735609e-04f, -3.693171763e-04f,
+-3.685602025e-04f, -3.678026410e-04f, -3.670444931e-04f, -3.662857600e-04f, -3.655264433e-04f, -3.647665442e-04f, -3.640060641e-04f, -3.632450043e-04f, -3.624833661e-04f, -3.617211511e-04f,
+-3.609583604e-04f, -3.601949955e-04f, -3.594310577e-04f, -3.586665483e-04f, -3.579014688e-04f, -3.571358205e-04f, -3.563696047e-04f, -3.556028229e-04f, -3.548354763e-04f, -3.540675663e-04f,
+-3.532990944e-04f, -3.525300618e-04f, -3.517604699e-04f, -3.509903201e-04f, -3.502196139e-04f, -3.494483524e-04f, -3.486765372e-04f, -3.479041695e-04f, -3.471312508e-04f, -3.463577824e-04f,
+-3.455837656e-04f, -3.448092020e-04f, -3.440340928e-04f, -3.432584394e-04f, -3.424822432e-04f, -3.417055056e-04f, -3.409282279e-04f, -3.401504116e-04f, -3.393720580e-04f, -3.385931684e-04f,
+-3.378137444e-04f, -3.370337871e-04f, -3.362532982e-04f, -3.354722788e-04f, -3.346907304e-04f, -3.339086545e-04f, -3.331260523e-04f, -3.323429253e-04f, -3.315592748e-04f, -3.307751023e-04f,
+-3.299904091e-04f, -3.292051966e-04f, -3.284194663e-04f, -3.276332195e-04f, -3.268464575e-04f, -3.260591819e-04f, -3.252713939e-04f, -3.244830950e-04f, -3.236942866e-04f, -3.229049701e-04f,
+-3.221151469e-04f, -3.213248183e-04f, -3.205339858e-04f, -3.197426508e-04f, -3.189508146e-04f, -3.181584788e-04f, -3.173656446e-04f, -3.165723135e-04f, -3.157784868e-04f, -3.149841661e-04f,
+-3.141893526e-04f, -3.133940479e-04f, -3.125982533e-04f, -3.118019702e-04f, -3.110052000e-04f, -3.102079441e-04f, -3.094102040e-04f, -3.086119811e-04f, -3.078132767e-04f, -3.070140923e-04f,
+-3.062144293e-04f, -3.054142891e-04f, -3.046136731e-04f, -3.038125828e-04f, -3.030110195e-04f, -3.022089847e-04f, -3.014064797e-04f, -3.006035061e-04f, -2.998000652e-04f, -2.989961585e-04f,
+-2.981917873e-04f, -2.973869530e-04f, -2.965816572e-04f, -2.957759013e-04f, -2.949696865e-04f, -2.941630145e-04f, -2.933558866e-04f, -2.925483041e-04f, -2.917402687e-04f, -2.909317816e-04f,
+-2.901228443e-04f, -2.893134582e-04f, -2.885036248e-04f, -2.876933455e-04f, -2.868826218e-04f, -2.860714549e-04f, -2.852598465e-04f, -2.844477979e-04f, -2.836353105e-04f, -2.828223858e-04f,
+-2.820090252e-04f, -2.811952302e-04f, -2.803810021e-04f, -2.795663425e-04f, -2.787512528e-04f, -2.779357343e-04f, -2.771197885e-04f, -2.763034170e-04f, -2.754866210e-04f, -2.746694021e-04f,
+-2.738517617e-04f, -2.730337013e-04f, -2.722152222e-04f, -2.713963259e-04f, -2.705770138e-04f, -2.697572875e-04f, -2.689371484e-04f, -2.681165978e-04f, -2.672956372e-04f, -2.664742682e-04f,
+-2.656524921e-04f, -2.648303103e-04f, -2.640077244e-04f, -2.631847358e-04f, -2.623613458e-04f, -2.615375561e-04f, -2.607133680e-04f, -2.598887829e-04f, -2.590638024e-04f, -2.582384279e-04f,
+-2.574126608e-04f, -2.565865026e-04f, -2.557599547e-04f, -2.549330186e-04f, -2.541056958e-04f, -2.532779877e-04f, -2.524498957e-04f, -2.516214214e-04f, -2.507925661e-04f, -2.499633313e-04f,
+-2.491337186e-04f, -2.483037293e-04f, -2.474733649e-04f, -2.466426269e-04f, -2.458115167e-04f, -2.449800358e-04f, -2.441481857e-04f, -2.433159677e-04f, -2.424833835e-04f, -2.416504344e-04f,
+-2.408171219e-04f, -2.399834474e-04f, -2.391494126e-04f, -2.383150187e-04f, -2.374802672e-04f, -2.366451598e-04f, -2.358096977e-04f, -2.349738825e-04f, -2.341377156e-04f, -2.333011985e-04f,
+-2.324643327e-04f, -2.316271196e-04f, -2.307895608e-04f, -2.299516576e-04f, -2.291134116e-04f, -2.282748243e-04f, -2.274358970e-04f, -2.265966313e-04f, -2.257570286e-04f, -2.249170905e-04f,
+-2.240768184e-04f, -2.232362137e-04f, -2.223952780e-04f, -2.215540126e-04f, -2.207124192e-04f, -2.198704992e-04f, -2.190282540e-04f, -2.181856851e-04f, -2.173427941e-04f, -2.164995823e-04f,
+-2.156560512e-04f, -2.148122025e-04f, -2.139680374e-04f, -2.131235575e-04f, -2.122787644e-04f, -2.114336593e-04f, -2.105882440e-04f, -2.097425197e-04f, -2.088964881e-04f, -2.080501505e-04f,
+-2.072035085e-04f, -2.063565636e-04f, -2.055093172e-04f, -2.046617708e-04f, -2.038139260e-04f, -2.029657841e-04f, -2.021173468e-04f, -2.012686154e-04f, -2.004195914e-04f, -1.995702764e-04f,
+-1.987206719e-04f, -1.978707792e-04f, -1.970205999e-04f, -1.961701356e-04f, -1.953193876e-04f, -1.944683575e-04f, -1.936170468e-04f, -1.927654569e-04f, -1.919135893e-04f, -1.910614456e-04f,
+-1.902090272e-04f, -1.893563357e-04f, -1.885033724e-04f, -1.876501389e-04f, -1.867966368e-04f, -1.859428674e-04f, -1.850888323e-04f, -1.842345330e-04f, -1.833799709e-04f, -1.825251476e-04f,
+-1.816700646e-04f, -1.808147233e-04f, -1.799591253e-04f, -1.791032720e-04f, -1.782471650e-04f, -1.773908057e-04f, -1.765341956e-04f, -1.756773363e-04f, -1.748202292e-04f, -1.739628758e-04f,
+-1.731052777e-04f, -1.722474363e-04f, -1.713893531e-04f, -1.705310296e-04f, -1.696724674e-04f, -1.688136679e-04f, -1.679546326e-04f, -1.670953631e-04f, -1.662358607e-04f, -1.653761271e-04f,
+-1.645161637e-04f, -1.636559721e-04f, -1.627955537e-04f, -1.619349100e-04f, -1.610740426e-04f, -1.602129529e-04f, -1.593516424e-04f, -1.584901127e-04f, -1.576283653e-04f, -1.567664016e-04f,
+-1.559042232e-04f, -1.550418315e-04f, -1.541792281e-04f, -1.533164145e-04f, -1.524533922e-04f, -1.515901626e-04f, -1.507267274e-04f, -1.498630879e-04f, -1.489992458e-04f, -1.481352024e-04f,
+-1.472709594e-04f, -1.464065182e-04f, -1.455418804e-04f, -1.446770473e-04f, -1.438120207e-04f, -1.429468019e-04f, -1.420813924e-04f, -1.412157939e-04f, -1.403500077e-04f, -1.394840354e-04f,
+-1.386178785e-04f, -1.377515386e-04f, -1.368850170e-04f, -1.360183154e-04f, -1.351514353e-04f, -1.342843780e-04f, -1.334171453e-04f, -1.325497385e-04f, -1.316821592e-04f, -1.308144089e-04f,
+-1.299464892e-04f, -1.290784014e-04f, -1.282101472e-04f, -1.273417280e-04f, -1.264731454e-04f, -1.256044008e-04f, -1.247354958e-04f, -1.238664319e-04f, -1.229972107e-04f, -1.221278335e-04f,
+-1.212583020e-04f, -1.203886176e-04f, -1.195187819e-04f, -1.186487964e-04f, -1.177786625e-04f, -1.169083819e-04f, -1.160379559e-04f, -1.151673862e-04f, -1.142966743e-04f, -1.134258216e-04f,
+-1.125548297e-04f, -1.116837001e-04f, -1.108124342e-04f, -1.099410337e-04f, -1.090695001e-04f, -1.081978348e-04f, -1.073260393e-04f, -1.064541153e-04f, -1.055820641e-04f, -1.047098874e-04f,
+-1.038375866e-04f, -1.029651632e-04f, -1.020926188e-04f, -1.012199549e-04f, -1.003471730e-04f, -9.947427458e-05f, -9.860126121e-05f, -9.772813438e-05f, -9.685489562e-05f, -9.598154644e-05f,
+-9.510808837e-05f, -9.423452290e-05f, -9.336085158e-05f, -9.248707590e-05f, -9.161319739e-05f, -9.073921757e-05f, -8.986513796e-05f, -8.899096006e-05f, -8.811668541e-05f, -8.724231551e-05f,
+-8.636785189e-05f, -8.549329606e-05f, -8.461864955e-05f, -8.374391386e-05f, -8.286909053e-05f, -8.199418106e-05f, -8.111918697e-05f, -8.024410979e-05f, -7.936895103e-05f, -7.849371222e-05f,
+-7.761839485e-05f, -7.674300047e-05f, -7.586753058e-05f, -7.499198671e-05f, -7.411637037e-05f, -7.324068308e-05f, -7.236492636e-05f, -7.148910173e-05f, -7.061321071e-05f, -6.973725482e-05f,
+-6.886123557e-05f, -6.798515448e-05f, -6.710901308e-05f, -6.623281288e-05f, -6.535655540e-05f, -6.448024215e-05f, -6.360387467e-05f, -6.272745446e-05f, -6.185098305e-05f, -6.097446195e-05f,
+-6.009789268e-05f, -5.922127676e-05f, -5.834461572e-05f, -5.746791106e-05f, -5.659116431e-05f, -5.571437699e-05f, -5.483755061e-05f, -5.396068670e-05f, -5.308378676e-05f, -5.220685233e-05f,
+-5.132988492e-05f, -5.045288604e-05f, -4.957585722e-05f, -4.869879997e-05f, -4.782171581e-05f, -4.694460627e-05f, -4.606747285e-05f, -4.519031708e-05f, -4.431314047e-05f, -4.343594455e-05f,
+-4.255873082e-05f, -4.168150082e-05f, -4.080425605e-05f, -3.992699803e-05f, -3.904972829e-05f, -3.817244833e-05f, -3.729515968e-05f, -3.641786385e-05f, -3.554056237e-05f, -3.466325674e-05f,
+-3.378594849e-05f, -3.290863913e-05f, -3.203133018e-05f, -3.115402316e-05f, -3.027671958e-05f, -2.939942095e-05f, -2.852212881e-05f, -2.764484465e-05f, -2.676757001e-05f, -2.589030639e-05f,
+-2.501305531e-05f, -2.413581828e-05f, -2.325859683e-05f, -2.238139247e-05f, -2.150420671e-05f, -2.062704107e-05f, -1.974989707e-05f, -1.887277621e-05f, -1.799568002e-05f, -1.711861001e-05f,
+-1.624156769e-05f, -1.536455458e-05f, -1.448757219e-05f, -1.361062205e-05f, -1.273370565e-05f, -1.185682452e-05f, -1.097998016e-05f, -1.010317410e-05f, -9.226407851e-06f, -8.349682918e-06f,
+-7.473000817e-06f, -6.596363062e-06f, -5.719771166e-06f, -4.843226641e-06f, -3.966730999e-06f, -3.090285753e-06f, -2.213892416e-06f, -1.337552498e-06f, -4.612675114e-07f, 4.149610321e-07f,
+1.291131621e-06f, 2.167242745e-06f, 3.043292893e-06f, 3.919280554e-06f, 4.795204217e-06f, 5.671062373e-06f, 6.546853511e-06f, 7.422576122e-06f, 8.298228695e-06f, 9.173809722e-06f,
+1.004931769e-05f, 1.092475110e-05f, 1.180010843e-05f, 1.267538818e-05f, 1.355058884e-05f, 1.442570891e-05f, 1.530074686e-05f, 1.617570120e-05f, 1.705057043e-05f, 1.792535302e-05f,
+1.880004748e-05f, 1.967465230e-05f, 2.054916597e-05f, 2.142358698e-05f, 2.229791384e-05f, 2.317214503e-05f, 2.404627905e-05f, 2.492031440e-05f, 2.579424956e-05f, 2.666808304e-05f,
+2.754181334e-05f, 2.841543894e-05f, 2.928895834e-05f, 3.016237004e-05f, 3.103567254e-05f, 3.190886434e-05f, 3.278194393e-05f, 3.365490980e-05f, 3.452776047e-05f, 3.540049442e-05f,
+3.627311016e-05f, 3.714560618e-05f, 3.801798098e-05f, 3.889023307e-05f, 3.976236093e-05f, 4.063436309e-05f, 4.150623802e-05f, 4.237798424e-05f, 4.324960025e-05f, 4.412108454e-05f,
+4.499243562e-05f, 4.586365199e-05f, 4.673473216e-05f, 4.760567462e-05f, 4.847647789e-05f, 4.934714045e-05f, 5.021766082e-05f, 5.108803751e-05f, 5.195826900e-05f, 5.282835382e-05f,
+5.369829047e-05f, 5.456807744e-05f, 5.543771326e-05f, 5.630719641e-05f, 5.717652542e-05f, 5.804569879e-05f, 5.891471501e-05f, 5.978357262e-05f, 6.065227010e-05f, 6.152080597e-05f,
+6.238917874e-05f, 6.325738691e-05f, 6.412542900e-05f, 6.499330352e-05f, 6.586100898e-05f, 6.672854388e-05f, 6.759590675e-05f, 6.846309608e-05f, 6.933011040e-05f, 7.019694821e-05f,
+7.106360803e-05f, 7.193008837e-05f, 7.279638775e-05f, 7.366250468e-05f, 7.452843766e-05f, 7.539418523e-05f, 7.625974589e-05f, 7.712511816e-05f, 7.799030055e-05f, 7.885529159e-05f,
+7.972008978e-05f, 8.058469365e-05f, 8.144910172e-05f, 8.231331249e-05f, 8.317732450e-05f, 8.404113626e-05f, 8.490474628e-05f, 8.576815310e-05f, 8.663135523e-05f, 8.749435118e-05f,
+8.835713949e-05f, 8.921971867e-05f, 9.008208725e-05f, 9.094424375e-05f, 9.180618669e-05f, 9.266791460e-05f, 9.352942600e-05f, 9.439071941e-05f, 9.525179336e-05f, 9.611264638e-05f,
+9.697327699e-05f, 9.783368371e-05f, 9.869386508e-05f, 9.955381963e-05f, 1.004135459e-04f, 1.012730423e-04f, 1.021323076e-04f, 1.029913401e-04f, 1.038501384e-04f, 1.047087011e-04f,
+1.055670267e-04f, 1.064251137e-04f, 1.072829606e-04f, 1.081405660e-04f, 1.089979284e-04f, 1.098550463e-04f, 1.107119183e-04f, 1.115685429e-04f, 1.124249187e-04f, 1.132810442e-04f,
+1.141369178e-04f, 1.149925382e-04f, 1.158479040e-04f, 1.167030135e-04f, 1.175578654e-04f, 1.184124582e-04f, 1.192667905e-04f, 1.201208607e-04f, 1.209746675e-04f, 1.218282093e-04f,
+1.226814847e-04f, 1.235344923e-04f, 1.243872306e-04f, 1.252396981e-04f, 1.260918934e-04f, 1.269438150e-04f, 1.277954615e-04f, 1.286468314e-04f, 1.294979233e-04f, 1.303487357e-04f,
+1.311992671e-04f, 1.320495161e-04f, 1.328994813e-04f, 1.337491612e-04f, 1.345985543e-04f, 1.354476593e-04f, 1.362964745e-04f, 1.371449987e-04f, 1.379932303e-04f, 1.388411680e-04f,
+1.396888102e-04f, 1.405361555e-04f, 1.413832025e-04f, 1.422299497e-04f, 1.430763956e-04f, 1.439225390e-04f, 1.447683782e-04f, 1.456139118e-04f, 1.464591385e-04f, 1.473040567e-04f,
+1.481486650e-04f, 1.489929621e-04f, 1.498369463e-04f, 1.506806164e-04f, 1.515239709e-04f, 1.523670082e-04f, 1.532097271e-04f, 1.540521260e-04f, 1.548942036e-04f, 1.557359583e-04f,
+1.565773888e-04f, 1.574184936e-04f, 1.582592713e-04f, 1.590997205e-04f, 1.599398397e-04f, 1.607796274e-04f, 1.616190823e-04f, 1.624582030e-04f, 1.632969880e-04f, 1.641354358e-04f,
+1.649735451e-04f, 1.658113144e-04f, 1.666487423e-04f, 1.674858273e-04f, 1.683225681e-04f, 1.691589632e-04f, 1.699950112e-04f, 1.708307107e-04f, 1.716660603e-04f, 1.725010584e-04f,
+1.733357038e-04f, 1.741699950e-04f, 1.750039305e-04f, 1.758375090e-04f, 1.766707290e-04f, 1.775035891e-04f, 1.783360879e-04f, 1.791682240e-04f, 1.799999960e-04f, 1.808314024e-04f,
+1.816624419e-04f, 1.824931130e-04f, 1.833234143e-04f, 1.841533444e-04f, 1.849829019e-04f, 1.858120854e-04f, 1.866408935e-04f, 1.874693247e-04f, 1.882973777e-04f, 1.891250510e-04f,
+1.899523433e-04f, 1.907792531e-04f, 1.916057791e-04f, 1.924319197e-04f, 1.932576738e-04f, 1.940830397e-04f, 1.949080161e-04f, 1.957326017e-04f, 1.965567950e-04f, 1.973805946e-04f,
+1.982039992e-04f, 1.990270073e-04f, 1.998496175e-04f, 2.006718284e-04f, 2.014936387e-04f, 2.023150469e-04f, 2.031360517e-04f, 2.039566516e-04f, 2.047768453e-04f, 2.055966313e-04f,
+2.064160084e-04f, 2.072349750e-04f, 2.080535298e-04f, 2.088716715e-04f, 2.096893985e-04f, 2.105067096e-04f, 2.113236034e-04f, 2.121400784e-04f, 2.129561333e-04f, 2.137717668e-04f,
+2.145869773e-04f, 2.154017636e-04f, 2.162161242e-04f, 2.170300578e-04f, 2.178435630e-04f, 2.186566384e-04f, 2.194692826e-04f, 2.202814944e-04f, 2.210932722e-04f, 2.219046147e-04f,
+2.227155205e-04f, 2.235259883e-04f, 2.243360168e-04f, 2.251456044e-04f, 2.259547499e-04f, 2.267634518e-04f, 2.275717089e-04f, 2.283795197e-04f, 2.291868828e-04f, 2.299937970e-04f,
+2.308002608e-04f, 2.316062729e-04f, 2.324118320e-04f, 2.332169365e-04f, 2.340215853e-04f, 2.348257768e-04f, 2.356295099e-04f, 2.364327830e-04f, 2.372355949e-04f, 2.380379442e-04f,
+2.388398295e-04f, 2.396412494e-04f, 2.404422027e-04f, 2.412426880e-04f, 2.420427039e-04f, 2.428422490e-04f, 2.436413221e-04f, 2.444399217e-04f, 2.452380465e-04f, 2.460356952e-04f,
+2.468328663e-04f, 2.476295587e-04f, 2.484257709e-04f, 2.492215015e-04f, 2.500167493e-04f, 2.508115128e-04f, 2.516057908e-04f, 2.523995819e-04f, 2.531928847e-04f, 2.539856980e-04f,
+2.547780204e-04f, 2.555698505e-04f, 2.563611870e-04f, 2.571520285e-04f, 2.579423738e-04f, 2.587322216e-04f, 2.595215703e-04f, 2.603104189e-04f, 2.610987658e-04f, 2.618866098e-04f,
+2.626739495e-04f, 2.634607837e-04f, 2.642471110e-04f, 2.650329300e-04f, 2.658182394e-04f, 2.666030380e-04f, 2.673873244e-04f, 2.681710972e-04f, 2.689543552e-04f, 2.697370970e-04f,
+2.705193213e-04f, 2.713010268e-04f, 2.720822122e-04f, 2.728628761e-04f, 2.736430173e-04f, 2.744226344e-04f, 2.752017261e-04f, 2.759802911e-04f, 2.767583281e-04f, 2.775358357e-04f,
+2.783128127e-04f, 2.790892578e-04f, 2.798651696e-04f, 2.806405469e-04f, 2.814153883e-04f, 2.821896926e-04f, 2.829634583e-04f, 2.837366843e-04f, 2.845093692e-04f, 2.852815118e-04f,
+2.860531107e-04f, 2.868241645e-04f, 2.875946722e-04f, 2.883646322e-04f, 2.891340434e-04f, 2.899029044e-04f, 2.906712140e-04f, 2.914389709e-04f, 2.922061737e-04f, 2.929728211e-04f,
+2.937389120e-04f, 2.945044450e-04f, 2.952694187e-04f, 2.960338320e-04f, 2.967976836e-04f, 2.975609721e-04f, 2.983236962e-04f, 2.990858548e-04f, 2.998474465e-04f, 3.006084700e-04f,
+3.013689240e-04f, 3.021288073e-04f, 3.028881187e-04f, 3.036468567e-04f, 3.044050202e-04f, 3.051626079e-04f, 3.059196184e-04f, 3.066760506e-04f, 3.074319032e-04f, 3.081871748e-04f,
+3.089418643e-04f, 3.096959704e-04f, 3.104494917e-04f, 3.112024271e-04f, 3.119547752e-04f, 3.127065348e-04f, 3.134577047e-04f, 3.142082835e-04f, 3.149582701e-04f, 3.157076631e-04f,
+3.164564614e-04f, 3.172046636e-04f, 3.179522685e-04f, 3.186992748e-04f, 3.194456813e-04f, 3.201914868e-04f, 3.209366899e-04f, 3.216812895e-04f, 3.224252843e-04f, 3.231686730e-04f,
+3.239114545e-04f, 3.246536273e-04f, 3.253951904e-04f, 3.261361425e-04f, 3.268764823e-04f, 3.276162086e-04f, 3.283553201e-04f, 3.290938157e-04f, 3.298316940e-04f, 3.305689539e-04f,
+3.313055940e-04f, 3.320416133e-04f, 3.327770104e-04f, 3.335117841e-04f, 3.342459331e-04f, 3.349794564e-04f, 3.357123525e-04f, 3.364446204e-04f, 3.371762587e-04f, 3.379072663e-04f,
+3.386376419e-04f, 3.393673843e-04f, 3.400964923e-04f, 3.408249646e-04f, 3.415528001e-04f, 3.422799976e-04f, 3.430065558e-04f, 3.437324734e-04f, 3.444577494e-04f, 3.451823824e-04f,
+3.459063713e-04f, 3.466297148e-04f, 3.473524118e-04f, 3.480744611e-04f, 3.487958614e-04f, 3.495166115e-04f, 3.502367102e-04f, 3.509561564e-04f, 3.516749488e-04f, 3.523930862e-04f,
+3.531105674e-04f, 3.538273912e-04f, 3.545435565e-04f, 3.552590621e-04f, 3.559739066e-04f, 3.566880890e-04f, 3.574016081e-04f, 3.581144626e-04f, 3.588266515e-04f, 3.595381734e-04f,
+3.602490272e-04f, 3.609592117e-04f, 3.616687258e-04f, 3.623775682e-04f, 3.630857378e-04f, 3.637932333e-04f, 3.645000537e-04f, 3.652061978e-04f, 3.659116642e-04f, 3.666164520e-04f,
+3.673205598e-04f, 3.680239866e-04f, 3.687267312e-04f, 3.694287923e-04f, 3.701301689e-04f, 3.708308597e-04f, 3.715308637e-04f, 3.722301795e-04f, 3.729288061e-04f, 3.736267423e-04f,
+3.743239869e-04f, 3.750205388e-04f, 3.757163968e-04f, 3.764115598e-04f, 3.771060266e-04f, 3.777997960e-04f, 3.784928669e-04f, 3.791852382e-04f, 3.798769086e-04f, 3.805678771e-04f,
+3.812581424e-04f, 3.819477036e-04f, 3.826365593e-04f, 3.833247084e-04f, 3.840121499e-04f, 3.846988825e-04f, 3.853849052e-04f, 3.860702167e-04f, 3.867548160e-04f, 3.874387019e-04f,
+3.881218733e-04f, 3.888043290e-04f, 3.894860679e-04f, 3.901670889e-04f, 3.908473908e-04f, 3.915269726e-04f, 3.922058330e-04f, 3.928839710e-04f, 3.935613854e-04f, 3.942380752e-04f,
+3.949140391e-04f, 3.955892761e-04f, 3.962637851e-04f, 3.969375649e-04f, 3.976106144e-04f, 3.982829324e-04f, 3.989545180e-04f, 3.996253700e-04f, 4.002954872e-04f, 4.009648685e-04f,
+4.016335129e-04f, 4.023014192e-04f, 4.029685863e-04f, 4.036350132e-04f, 4.043006986e-04f, 4.049656416e-04f, 4.056298410e-04f, 4.062932957e-04f, 4.069560046e-04f, 4.076179666e-04f,
+4.082791807e-04f, 4.089396457e-04f, 4.095993605e-04f, 4.102583240e-04f, 4.109165352e-04f, 4.115739930e-04f, 4.122306962e-04f, 4.128866438e-04f, 4.135418348e-04f, 4.141962679e-04f,
+4.148499422e-04f, 4.155028565e-04f, 4.161550099e-04f, 4.168064011e-04f, 4.174570292e-04f, 4.181068930e-04f, 4.187559915e-04f, 4.194043235e-04f, 4.200518882e-04f, 4.206986843e-04f,
+4.213447107e-04f, 4.219899666e-04f, 4.226344506e-04f, 4.232781619e-04f, 4.239210994e-04f, 4.245632619e-04f, 4.252046484e-04f, 4.258452579e-04f, 4.264850892e-04f, 4.271241415e-04f,
+4.277624135e-04f, 4.283999043e-04f, 4.290366127e-04f, 4.296725378e-04f, 4.303076785e-04f, 4.309420338e-04f, 4.315756025e-04f, 4.322083837e-04f, 4.328403763e-04f, 4.334715793e-04f,
+4.341019917e-04f, 4.347316123e-04f, 4.353604402e-04f, 4.359884743e-04f, 4.366157136e-04f, 4.372421570e-04f, 4.378678036e-04f, 4.384926523e-04f, 4.391167020e-04f, 4.397399518e-04f,
+4.403624006e-04f, 4.409840474e-04f, 4.416048912e-04f, 4.422249309e-04f, 4.428441656e-04f, 4.434625942e-04f, 4.440802156e-04f, 4.446970290e-04f, 4.453130332e-04f, 4.459282273e-04f,
+4.465426102e-04f, 4.471561809e-04f, 4.477689385e-04f, 4.483808819e-04f, 4.489920102e-04f, 4.496023222e-04f, 4.502118171e-04f, 4.508204937e-04f, 4.514283512e-04f, 4.520353885e-04f,
+4.526416046e-04f, 4.532469986e-04f, 4.538515693e-04f, 4.544553160e-04f, 4.550582374e-04f, 4.556603328e-04f, 4.562616010e-04f, 4.568620411e-04f, 4.574616521e-04f, 4.580604331e-04f,
+4.586583830e-04f, 4.592555008e-04f, 4.598517856e-04f, 4.604472365e-04f, 4.610418524e-04f, 4.616356323e-04f, 4.622285754e-04f, 4.628206805e-04f, 4.634119469e-04f, 4.640023733e-04f,
+4.645919591e-04f, 4.651807030e-04f, 4.657686043e-04f, 4.663556619e-04f, 4.669418749e-04f, 4.675272422e-04f, 4.681117631e-04f, 4.686954364e-04f, 4.692782613e-04f, 4.698602368e-04f,
+4.704413619e-04f, 4.710216357e-04f, 4.716010573e-04f, 4.721796256e-04f, 4.727573398e-04f, 4.733341990e-04f, 4.739102021e-04f, 4.744853482e-04f, 4.750596365e-04f, 4.756330659e-04f,
+4.762056355e-04f, 4.767773444e-04f, 4.773481917e-04f, 4.779181764e-04f, 4.784872975e-04f, 4.790555543e-04f, 4.796229457e-04f, 4.801894708e-04f, 4.807551288e-04f, 4.813199186e-04f,
+4.818838393e-04f, 4.824468901e-04f, 4.830090701e-04f, 4.835703782e-04f, 4.841308136e-04f, 4.846903754e-04f, 4.852490627e-04f, 4.858068745e-04f, 4.863638100e-04f, 4.869198683e-04f,
+4.874750484e-04f, 4.880293494e-04f, 4.885827705e-04f, 4.891353107e-04f, 4.896869692e-04f, 4.902377450e-04f, 4.907876373e-04f, 4.913366452e-04f, 4.918847677e-04f, 4.924320040e-04f,
+4.929783532e-04f, 4.935238144e-04f, 4.940683867e-04f, 4.946120693e-04f, 4.951548612e-04f, 4.956967616e-04f, 4.962377696e-04f, 4.967778843e-04f, 4.973171049e-04f, 4.978554305e-04f,
+4.983928601e-04f, 4.989293930e-04f, 4.994650282e-04f, 4.999997650e-04f, 5.005336024e-04f, 5.010665395e-04f, 5.015985755e-04f, 5.021297096e-04f, 5.026599409e-04f, 5.031892685e-04f,
+5.037176915e-04f, 5.042452092e-04f, 5.047718206e-04f, 5.052975250e-04f, 5.058223214e-04f, 5.063462090e-04f, 5.068691870e-04f, 5.073912545e-04f, 5.079124107e-04f, 5.084326548e-04f,
+5.089519858e-04f, 5.094704030e-04f, 5.099879055e-04f, 5.105044925e-04f, 5.110201632e-04f, 5.115349167e-04f, 5.120487522e-04f, 5.125616688e-04f, 5.130736658e-04f, 5.135847423e-04f,
+5.140948975e-04f, 5.146041306e-04f, 5.151124407e-04f, 5.156198271e-04f, 5.161262889e-04f, 5.166318252e-04f, 5.171364354e-04f, 5.176401185e-04f, 5.181428738e-04f, 5.186447005e-04f,
+5.191455977e-04f, 5.196455647e-04f, 5.201446006e-04f, 5.206427046e-04f, 5.211398760e-04f, 5.216361139e-04f, 5.221314176e-04f, 5.226257862e-04f, 5.231192189e-04f, 5.236117151e-04f,
+5.241032738e-04f, 5.245938943e-04f, 5.250835757e-04f, 5.255723174e-04f, 5.260601186e-04f, 5.265469784e-04f, 5.270328960e-04f, 5.275178708e-04f, 5.280019018e-04f, 5.284849884e-04f,
+5.289671298e-04f, 5.294483251e-04f, 5.299285737e-04f, 5.304078747e-04f, 5.308862274e-04f, 5.313636311e-04f, 5.318400849e-04f, 5.323155881e-04f, 5.327901399e-04f, 5.332637396e-04f,
+5.337363865e-04f, 5.342080797e-04f, 5.346788185e-04f, 5.351486022e-04f, 5.356174301e-04f, 5.360853012e-04f, 5.365522151e-04f, 5.370181707e-04f, 5.374831676e-04f, 5.379472048e-04f,
+5.384102816e-04f, 5.388723974e-04f, 5.393335514e-04f, 5.397937428e-04f, 5.402529709e-04f, 5.407112350e-04f, 5.411685344e-04f, 5.416248683e-04f, 5.420802360e-04f, 5.425346367e-04f,
+5.429880699e-04f, 5.434405346e-04f, 5.438920303e-04f, 5.443425561e-04f, 5.447921115e-04f, 5.452406956e-04f, 5.456883078e-04f, 5.461349473e-04f, 5.465806135e-04f, 5.470253056e-04f,
+5.474690229e-04f, 5.479117647e-04f, 5.483535304e-04f, 5.487943192e-04f, 5.492341304e-04f, 5.496729634e-04f, 5.501108173e-04f, 5.505476917e-04f, 5.509835856e-04f, 5.514184985e-04f,
+5.518524297e-04f, 5.522853785e-04f, 5.527173442e-04f, 5.531483261e-04f, 5.535783236e-04f, 5.540073359e-04f, 5.544353624e-04f, 5.548624024e-04f, 5.552884552e-04f, 5.557135202e-04f,
+5.561375967e-04f, 5.565606840e-04f, 5.569827815e-04f, 5.574038884e-04f, 5.578240042e-04f, 5.582431282e-04f, 5.586612597e-04f, 5.590783980e-04f, 5.594945425e-04f, 5.599096926e-04f,
+5.603238475e-04f, 5.607370067e-04f, 5.611491694e-04f, 5.615603352e-04f, 5.619705032e-04f, 5.623796728e-04f, 5.627878435e-04f, 5.631950145e-04f, 5.636011853e-04f, 5.640063551e-04f,
+5.644105234e-04f, 5.648136896e-04f, 5.652158529e-04f, 5.656170128e-04f, 5.660171687e-04f, 5.664163198e-04f, 5.668144657e-04f, 5.672116056e-04f, 5.676077389e-04f, 5.680028651e-04f,
+5.683969835e-04f, 5.687900934e-04f, 5.691821944e-04f, 5.695732857e-04f, 5.699633668e-04f, 5.703524370e-04f, 5.707404958e-04f, 5.711275425e-04f, 5.715135765e-04f, 5.718985973e-04f,
+5.722826042e-04f, 5.726655967e-04f, 5.730475741e-04f, 5.734285358e-04f, 5.738084813e-04f, 5.741874100e-04f, 5.745653212e-04f, 5.749422145e-04f, 5.753180891e-04f, 5.756929446e-04f,
+5.760667803e-04f, 5.764395957e-04f, 5.768113901e-04f, 5.771821631e-04f, 5.775519140e-04f, 5.779206422e-04f, 5.782883473e-04f, 5.786550286e-04f, 5.790206855e-04f, 5.793853175e-04f,
+5.797489241e-04f, 5.801115046e-04f, 5.804730585e-04f, 5.808335853e-04f, 5.811930844e-04f, 5.815515552e-04f, 5.819089972e-04f, 5.822654099e-04f, 5.826207926e-04f, 5.829751448e-04f,
+5.833284661e-04f, 5.836807558e-04f, 5.840320135e-04f, 5.843822385e-04f, 5.847314303e-04f, 5.850795884e-04f, 5.854267123e-04f, 5.857728015e-04f, 5.861178553e-04f, 5.864618733e-04f,
+5.868048549e-04f, 5.871467997e-04f, 5.874877071e-04f, 5.878275765e-04f, 5.881664075e-04f, 5.885041996e-04f, 5.888409521e-04f, 5.891766647e-04f, 5.895113368e-04f, 5.898449678e-04f,
+5.901775574e-04f, 5.905091049e-04f, 5.908396099e-04f, 5.911690718e-04f, 5.914974902e-04f, 5.918248646e-04f, 5.921511944e-04f, 5.924764792e-04f, 5.928007185e-04f, 5.931239117e-04f,
+5.934460585e-04f, 5.937671582e-04f, 5.940872105e-04f, 5.944062148e-04f, 5.947241707e-04f, 5.950410776e-04f, 5.953569351e-04f, 5.956717428e-04f, 5.959855001e-04f, 5.962982065e-04f,
+5.966098617e-04f, 5.969204650e-04f, 5.972300161e-04f, 5.975385145e-04f, 5.978459598e-04f, 5.981523514e-04f, 5.984576889e-04f, 5.987619718e-04f, 5.990651997e-04f, 5.993673722e-04f,
+5.996684888e-04f, 5.999685489e-04f, 6.002675523e-04f, 6.005654983e-04f, 6.008623867e-04f, 6.011582169e-04f, 6.014529885e-04f, 6.017467011e-04f, 6.020393541e-04f, 6.023309473e-04f,
+6.026214801e-04f, 6.029109521e-04f, 6.031993630e-04f, 6.034867121e-04f, 6.037729992e-04f, 6.040582238e-04f, 6.043423855e-04f, 6.046254839e-04f, 6.049075184e-04f, 6.051884888e-04f,
+6.054683946e-04f, 6.057472354e-04f, 6.060250108e-04f, 6.063017204e-04f, 6.065773637e-04f, 6.068519403e-04f, 6.071254500e-04f, 6.073978921e-04f, 6.076692664e-04f, 6.079395725e-04f,
+6.082088099e-04f, 6.084769782e-04f, 6.087440771e-04f, 6.090101062e-04f, 6.092750651e-04f, 6.095389533e-04f, 6.098017706e-04f, 6.100635165e-04f, 6.103241906e-04f, 6.105837926e-04f,
+6.108423220e-04f, 6.110997786e-04f, 6.113561619e-04f, 6.116114715e-04f, 6.118657071e-04f, 6.121188684e-04f, 6.123709549e-04f, 6.126219662e-04f, 6.128719021e-04f, 6.131207622e-04f,
+6.133685460e-04f, 6.136152533e-04f, 6.138608837e-04f, 6.141054368e-04f, 6.143489123e-04f, 6.145913098e-04f, 6.148326290e-04f, 6.150728695e-04f, 6.153120311e-04f, 6.155501132e-04f,
+6.157871157e-04f, 6.160230381e-04f, 6.162578802e-04f, 6.164916416e-04f, 6.167243219e-04f, 6.169559208e-04f, 6.171864381e-04f, 6.174158733e-04f, 6.176442262e-04f, 6.178714964e-04f,
+6.180976836e-04f, 6.183227875e-04f, 6.185468078e-04f, 6.187697441e-04f, 6.189915961e-04f, 6.192123635e-04f, 6.194320461e-04f, 6.196506435e-04f, 6.198681553e-04f, 6.200845814e-04f,
+6.202999213e-04f, 6.205141749e-04f, 6.207273417e-04f, 6.209394215e-04f, 6.211504140e-04f, 6.213603189e-04f, 6.215691359e-04f, 6.217768647e-04f, 6.219835051e-04f, 6.221890567e-04f,
+6.223935193e-04f, 6.225968925e-04f, 6.227991762e-04f, 6.230003700e-04f, 6.232004736e-04f, 6.233994868e-04f, 6.235974093e-04f, 6.237942408e-04f, 6.239899811e-04f, 6.241846299e-04f,
+6.243781869e-04f, 6.245706519e-04f, 6.247620246e-04f, 6.249523047e-04f, 6.251414920e-04f, 6.253295863e-04f, 6.255165872e-04f, 6.257024946e-04f, 6.258873081e-04f, 6.260710276e-04f,
+6.262536527e-04f, 6.264351833e-04f, 6.266156191e-04f, 6.267949599e-04f, 6.269732053e-04f, 6.271503553e-04f, 6.273264095e-04f, 6.275013677e-04f, 6.276752297e-04f, 6.278479953e-04f,
+6.280196642e-04f, 6.281902362e-04f, 6.283597111e-04f, 6.285280887e-04f, 6.286953687e-04f, 6.288615509e-04f, 6.290266352e-04f, 6.291906212e-04f, 6.293535088e-04f, 6.295152978e-04f,
+6.296759880e-04f, 6.298355791e-04f, 6.299940710e-04f, 6.301514635e-04f, 6.303077563e-04f, 6.304629493e-04f, 6.306170423e-04f, 6.307700350e-04f, 6.309219273e-04f, 6.310727189e-04f,
+6.312224098e-04f, 6.313709997e-04f, 6.315184884e-04f, 6.316648758e-04f, 6.318101616e-04f, 6.319543458e-04f, 6.320974280e-04f, 6.322394082e-04f, 6.323802861e-04f, 6.325200616e-04f,
+6.326587345e-04f, 6.327963047e-04f, 6.329327720e-04f, 6.330681362e-04f, 6.332023972e-04f, 6.333355547e-04f, 6.334676088e-04f, 6.335985591e-04f, 6.337284055e-04f, 6.338571479e-04f,
+6.339847862e-04f, 6.341113201e-04f, 6.342367496e-04f, 6.343610745e-04f, 6.344842946e-04f, 6.346064099e-04f, 6.347274201e-04f, 6.348473251e-04f, 6.349661249e-04f, 6.350838192e-04f,
+6.352004080e-04f, 6.353158911e-04f, 6.354302683e-04f, 6.355435396e-04f, 6.356557049e-04f, 6.357667639e-04f, 6.358767167e-04f, 6.359855630e-04f, 6.360933028e-04f, 6.361999360e-04f,
+6.363054623e-04f, 6.364098818e-04f, 6.365131944e-04f, 6.366153998e-04f, 6.367164980e-04f, 6.368164890e-04f, 6.369153725e-04f, 6.370131486e-04f, 6.371098171e-04f, 6.372053778e-04f,
+6.372998308e-04f, 6.373931760e-04f, 6.374854132e-04f, 6.375765423e-04f, 6.376665634e-04f, 6.377554762e-04f, 6.378432807e-04f, 6.379299769e-04f, 6.380155646e-04f, 6.381000438e-04f,
+6.381834144e-04f, 6.382656763e-04f, 6.383468295e-04f, 6.384268739e-04f, 6.385058094e-04f, 6.385836360e-04f, 6.386603536e-04f, 6.387359621e-04f, 6.388104616e-04f, 6.388838518e-04f,
+6.389561329e-04f, 6.390273047e-04f, 6.390973671e-04f, 6.391663202e-04f, 6.392341639e-04f, 6.393008981e-04f, 6.393665228e-04f, 6.394310379e-04f, 6.394944435e-04f, 6.395567394e-04f,
+6.396179257e-04f, 6.396780023e-04f, 6.397369692e-04f, 6.397948264e-04f, 6.398515737e-04f, 6.399072113e-04f, 6.399617390e-04f, 6.400151569e-04f, 6.400674649e-04f, 6.401186631e-04f,
+6.401687513e-04f, 6.402177297e-04f, 6.402655981e-04f, 6.403123566e-04f, 6.403580051e-04f, 6.404025437e-04f, 6.404459724e-04f, 6.404882910e-04f, 6.405294998e-04f, 6.405695986e-04f,
+6.406085874e-04f, 6.406464663e-04f, 6.406832353e-04f, 6.407188943e-04f, 6.407534434e-04f, 6.407868827e-04f, 6.408192120e-04f, 6.408504315e-04f, 6.408805411e-04f, 6.409095409e-04f,
+6.409374308e-04f, 6.409642110e-04f, 6.409898815e-04f, 6.410144422e-04f, 6.410378932e-04f, 6.410602346e-04f, 6.410814663e-04f, 6.411015885e-04f, 6.411206011e-04f, 6.411385041e-04f,
+6.411552977e-04f, 6.411709819e-04f, 6.411855567e-04f, 6.411990221e-04f, 6.412113783e-04f, 6.412226252e-04f, 6.412327630e-04f, 6.412417916e-04f, 6.412497111e-04f, 6.412565217e-04f,
+6.412622233e-04f, 6.412668160e-04f, 6.412702999e-04f, 6.412726750e-04f, 6.412739415e-04f, 6.412740994e-04f, 6.412731487e-04f, 6.412710895e-04f, 6.412679219e-04f, 6.412636461e-04f,
+6.412582620e-04f, 6.412517697e-04f, 6.412441694e-04f, 6.412354611e-04f, 6.412256450e-04f, 6.412147210e-04f, 6.412026893e-04f, 6.411895500e-04f, 6.411753032e-04f, 6.411599489e-04f,
+6.411434873e-04f, 6.411259185e-04f, 6.411072426e-04f, 6.410874597e-04f, 6.410665699e-04f, 6.410445732e-04f, 6.410214699e-04f, 6.409972600e-04f, 6.409719437e-04f, 6.409455210e-04f,
+6.409179920e-04f, 6.408893570e-04f, 6.408596160e-04f, 6.408287691e-04f, 6.407968165e-04f, 6.407637583e-04f, 6.407295946e-04f, 6.406943256e-04f, 6.406579513e-04f, 6.406204720e-04f,
+6.405818878e-04f, 6.405421987e-04f, 6.405014050e-04f, 6.404595068e-04f, 6.404165042e-04f, 6.403723974e-04f, 6.403271866e-04f, 6.402808718e-04f, 6.402334532e-04f, 6.401849310e-04f,
+6.401353054e-04f, 6.400845764e-04f, 6.400327444e-04f, 6.399798093e-04f, 6.399257715e-04f, 6.398706309e-04f, 6.398143880e-04f, 6.397570427e-04f, 6.396985952e-04f, 6.396390458e-04f,
+6.395783946e-04f, 6.395166418e-04f, 6.394537876e-04f, 6.393898321e-04f, 6.393247756e-04f, 6.392586181e-04f, 6.391913600e-04f, 6.391230014e-04f, 6.390535424e-04f, 6.389829833e-04f,
+6.389113243e-04f, 6.388385656e-04f, 6.387647073e-04f, 6.386897497e-04f, 6.386136929e-04f, 6.385365373e-04f, 6.384582828e-04f, 6.383789299e-04f, 6.382984787e-04f, 6.382169294e-04f,
+6.381342822e-04f, 6.380505373e-04f, 6.379656949e-04f, 6.378797554e-04f, 6.377927188e-04f, 6.377045855e-04f, 6.376153555e-04f, 6.375250293e-04f, 6.374336069e-04f, 6.373410886e-04f,
+6.372474747e-04f, 6.371527654e-04f, 6.370569609e-04f, 6.369600615e-04f, 6.368620674e-04f, 6.367629788e-04f, 6.366627960e-04f, 6.365615192e-04f, 6.364591487e-04f, 6.363556847e-04f,
+6.362511275e-04f, 6.361454773e-04f, 6.360387344e-04f, 6.359308991e-04f, 6.358219715e-04f, 6.357119520e-04f, 6.356008409e-04f, 6.354886383e-04f, 6.353753445e-04f, 6.352609599e-04f,
+6.351454847e-04f, 6.350289191e-04f, 6.349112634e-04f, 6.347925180e-04f, 6.346726831e-04f, 6.345517589e-04f, 6.344297457e-04f, 6.343066439e-04f, 6.341824537e-04f, 6.340571754e-04f,
+6.339308092e-04f, 6.338033556e-04f, 6.336748147e-04f, 6.335451868e-04f, 6.334144724e-04f, 6.332826715e-04f, 6.331497847e-04f, 6.330158121e-04f, 6.328807540e-04f, 6.327446108e-04f,
+6.326073828e-04f, 6.324690702e-04f, 6.323296735e-04f, 6.321891928e-04f, 6.320476286e-04f, 6.319049811e-04f, 6.317612506e-04f, 6.316164375e-04f, 6.314705421e-04f, 6.313235647e-04f,
+6.311755056e-04f, 6.310263653e-04f, 6.308761439e-04f, 6.307248418e-04f, 6.305724594e-04f, 6.304189969e-04f, 6.302644549e-04f, 6.301088334e-04f, 6.299521330e-04f, 6.297943539e-04f,
+6.296354966e-04f, 6.294755612e-04f, 6.293145483e-04f, 6.291524581e-04f, 6.289892909e-04f, 6.288250473e-04f, 6.286597274e-04f, 6.284933316e-04f, 6.283258604e-04f, 6.281573140e-04f,
+6.279876929e-04f, 6.278169973e-04f, 6.276452278e-04f, 6.274723845e-04f, 6.272984680e-04f, 6.271234785e-04f, 6.269474165e-04f, 6.267702822e-04f, 6.265920762e-04f, 6.264127988e-04f,
+6.262324503e-04f, 6.260510311e-04f, 6.258685417e-04f, 6.256849823e-04f, 6.255003535e-04f, 6.253146556e-04f, 6.251278889e-04f, 6.249400539e-04f, 6.247511509e-04f, 6.245611804e-04f,
+6.243701428e-04f, 6.241780384e-04f, 6.239848677e-04f, 6.237906311e-04f, 6.235953289e-04f, 6.233989616e-04f, 6.232015296e-04f, 6.230030333e-04f, 6.228034731e-04f, 6.226028495e-04f,
+6.224011628e-04f, 6.221984134e-04f, 6.219946019e-04f, 6.217897285e-04f, 6.215837938e-04f, 6.213767981e-04f, 6.211687419e-04f, 6.209596257e-04f, 6.207494498e-04f, 6.205382146e-04f,
+6.203259207e-04f, 6.201125684e-04f, 6.198981582e-04f, 6.196826906e-04f, 6.194661659e-04f, 6.192485846e-04f, 6.190299472e-04f, 6.188102541e-04f, 6.185895057e-04f, 6.183677026e-04f,
+6.181448451e-04f, 6.179209338e-04f, 6.176959690e-04f, 6.174699512e-04f, 6.172428810e-04f, 6.170147587e-04f, 6.167855848e-04f, 6.165553598e-04f, 6.163240841e-04f, 6.160917582e-04f,
+6.158583827e-04f, 6.156239579e-04f, 6.153884844e-04f, 6.151519625e-04f, 6.149143929e-04f, 6.146757759e-04f, 6.144361121e-04f, 6.141954019e-04f, 6.139536458e-04f, 6.137108443e-04f,
+6.134669980e-04f, 6.132221072e-04f, 6.129761725e-04f, 6.127291943e-04f, 6.124811733e-04f, 6.122321098e-04f, 6.119820043e-04f, 6.117308575e-04f, 6.114786696e-04f, 6.112254414e-04f,
+6.109711733e-04f, 6.107158657e-04f, 6.104595192e-04f, 6.102021344e-04f, 6.099437116e-04f, 6.096842515e-04f, 6.094237546e-04f, 6.091622213e-04f, 6.088996522e-04f, 6.086360479e-04f,
+6.083714087e-04f, 6.081057354e-04f, 6.078390283e-04f, 6.075712880e-04f, 6.073025151e-04f, 6.070327101e-04f, 6.067618735e-04f, 6.064900059e-04f, 6.062171077e-04f, 6.059431796e-04f,
+6.056682221e-04f, 6.053922357e-04f, 6.051152209e-04f, 6.048371784e-04f, 6.045581086e-04f, 6.042780121e-04f, 6.039968895e-04f, 6.037147412e-04f, 6.034315680e-04f, 6.031473703e-04f,
+6.028621486e-04f, 6.025759037e-04f, 6.022886359e-04f, 6.020003459e-04f, 6.017110342e-04f, 6.014207014e-04f, 6.011293481e-04f, 6.008369749e-04f, 6.005435822e-04f, 6.002491708e-04f,
+5.999537411e-04f, 5.996572938e-04f, 5.993598294e-04f, 5.990613485e-04f, 5.987618517e-04f, 5.984613395e-04f, 5.981598127e-04f, 5.978572716e-04f, 5.975537170e-04f, 5.972491495e-04f,
+5.969435696e-04f, 5.966369778e-04f, 5.963293749e-04f, 5.960207614e-04f, 5.957111380e-04f, 5.954005051e-04f, 5.950888635e-04f, 5.947762136e-04f, 5.944625563e-04f, 5.941478919e-04f,
+5.938322212e-04f, 5.935155448e-04f, 5.931978632e-04f, 5.928791772e-04f, 5.925594872e-04f, 5.922387940e-04f, 5.919170981e-04f, 5.915944002e-04f, 5.912707008e-04f, 5.909460007e-04f,
+5.906203005e-04f, 5.902936007e-04f, 5.899659020e-04f, 5.896372051e-04f, 5.893075105e-04f, 5.889768190e-04f, 5.886451311e-04f, 5.883124475e-04f, 5.879787688e-04f, 5.876440956e-04f,
+5.873084287e-04f, 5.869717687e-04f, 5.866341161e-04f, 5.862954717e-04f, 5.859558361e-04f, 5.856152100e-04f, 5.852735940e-04f, 5.849309887e-04f, 5.845873949e-04f, 5.842428132e-04f,
+5.838972442e-04f, 5.835506886e-04f, 5.832031471e-04f, 5.828546203e-04f, 5.825051089e-04f, 5.821546136e-04f, 5.818031351e-04f, 5.814506739e-04f, 5.810972309e-04f, 5.807428066e-04f,
+5.803874018e-04f, 5.800310171e-04f, 5.796736532e-04f, 5.793153108e-04f, 5.789559905e-04f, 5.785956932e-04f, 5.782344193e-04f, 5.778721697e-04f, 5.775089450e-04f, 5.771447460e-04f,
+5.767795732e-04f, 5.764134275e-04f, 5.760463094e-04f, 5.756782198e-04f, 5.753091592e-04f, 5.749391285e-04f, 5.745681283e-04f, 5.741961592e-04f, 5.738232221e-04f, 5.734493177e-04f,
+5.730744465e-04f, 5.726986095e-04f, 5.723218071e-04f, 5.719440403e-04f, 5.715653096e-04f, 5.711856159e-04f, 5.708049598e-04f, 5.704233421e-04f, 5.700407634e-04f, 5.696572246e-04f,
+5.692727262e-04f, 5.688872692e-04f, 5.685008541e-04f, 5.681134817e-04f, 5.677251528e-04f, 5.673358681e-04f, 5.669456282e-04f, 5.665544341e-04f, 5.661622863e-04f, 5.657691857e-04f,
+5.653751330e-04f, 5.649801289e-04f, 5.645841742e-04f, 5.641872696e-04f, 5.637894158e-04f, 5.633906137e-04f, 5.629908639e-04f, 5.625901673e-04f, 5.621885245e-04f, 5.617859364e-04f,
+5.613824037e-04f, 5.609779271e-04f, 5.605725074e-04f, 5.601661455e-04f, 5.597588419e-04f, 5.593505976e-04f, 5.589414132e-04f, 5.585312896e-04f, 5.581202275e-04f, 5.577082277e-04f,
+5.572952910e-04f, 5.568814181e-04f, 5.564666098e-04f, 5.560508670e-04f, 5.556341903e-04f, 5.552165805e-04f, 5.547980385e-04f, 5.543785650e-04f, 5.539581609e-04f, 5.535368268e-04f,
+5.531145636e-04f, 5.526913721e-04f, 5.522672531e-04f, 5.518422074e-04f, 5.514162357e-04f, 5.509893389e-04f, 5.505615177e-04f, 5.501327730e-04f, 5.497031056e-04f, 5.492725162e-04f,
+5.488410057e-04f, 5.484085749e-04f, 5.479752246e-04f, 5.475409556e-04f, 5.471057687e-04f, 5.466696647e-04f, 5.462326445e-04f, 5.457947088e-04f, 5.453558585e-04f, 5.449160943e-04f,
+5.444754172e-04f, 5.440338279e-04f, 5.435913273e-04f, 5.431479161e-04f, 5.427035953e-04f, 5.422583656e-04f, 5.418122279e-04f, 5.413651829e-04f, 5.409172316e-04f, 5.404683748e-04f,
+5.400186132e-04f, 5.395679478e-04f, 5.391163794e-04f, 5.386639087e-04f, 5.382105368e-04f, 5.377562643e-04f, 5.373010922e-04f, 5.368450213e-04f, 5.363880524e-04f, 5.359301864e-04f,
+5.354714241e-04f, 5.350117665e-04f, 5.345512143e-04f, 5.340897683e-04f, 5.336274296e-04f, 5.331641988e-04f, 5.327000770e-04f, 5.322350649e-04f, 5.317691633e-04f, 5.313023733e-04f,
+5.308346955e-04f, 5.303661310e-04f, 5.298966805e-04f, 5.294263450e-04f, 5.289551252e-04f, 5.284830222e-04f, 5.280100367e-04f, 5.275361696e-04f, 5.270614219e-04f, 5.265857943e-04f,
+5.261092878e-04f, 5.256319032e-04f, 5.251536415e-04f, 5.246745035e-04f, 5.241944901e-04f, 5.237136022e-04f, 5.232318406e-04f, 5.227492063e-04f, 5.222657002e-04f, 5.217813232e-04f,
+5.212960761e-04f, 5.208099598e-04f, 5.203229753e-04f, 5.198351235e-04f, 5.193464051e-04f, 5.188568213e-04f, 5.183663727e-04f, 5.178750605e-04f, 5.173828853e-04f, 5.168898483e-04f,
+5.163959502e-04f, 5.159011921e-04f, 5.154055747e-04f, 5.149090990e-04f, 5.144117660e-04f, 5.139135765e-04f, 5.134145315e-04f, 5.129146319e-04f, 5.124138785e-04f, 5.119122724e-04f,
+5.114098145e-04f, 5.109065056e-04f, 5.104023467e-04f, 5.098973387e-04f, 5.093914827e-04f, 5.088847793e-04f, 5.083772298e-04f, 5.078688348e-04f, 5.073595955e-04f, 5.068495126e-04f,
+5.063385873e-04f, 5.058268203e-04f, 5.053142127e-04f, 5.048007654e-04f, 5.042864792e-04f, 5.037713553e-04f, 5.032553945e-04f, 5.027385977e-04f, 5.022209660e-04f, 5.017025002e-04f,
+5.011832013e-04f, 5.006630703e-04f, 5.001421081e-04f, 4.996203157e-04f, 4.990976940e-04f, 4.985742440e-04f, 4.980499666e-04f, 4.975248629e-04f, 4.969989338e-04f, 4.964721801e-04f,
+4.959446030e-04f, 4.954162034e-04f, 4.948869822e-04f, 4.943569404e-04f, 4.938260789e-04f, 4.932943989e-04f, 4.927619011e-04f, 4.922285866e-04f, 4.916944564e-04f, 4.911595115e-04f,
+4.906237528e-04f, 4.900871813e-04f, 4.895497980e-04f, 4.890116038e-04f, 4.884725999e-04f, 4.879327870e-04f, 4.873921663e-04f, 4.868507387e-04f, 4.863085052e-04f, 4.857654668e-04f,
+4.852216245e-04f, 4.846769793e-04f, 4.841315321e-04f, 4.835852841e-04f, 4.830382361e-04f, 4.824903891e-04f, 4.819417442e-04f, 4.813923024e-04f, 4.808420647e-04f, 4.802910321e-04f,
+4.797392055e-04f, 4.791865860e-04f, 4.786331746e-04f, 4.780789723e-04f, 4.775239801e-04f, 4.769681991e-04f, 4.764116302e-04f, 4.758542744e-04f, 4.752961328e-04f, 4.747372064e-04f,
+4.741774962e-04f, 4.736170032e-04f, 4.730557285e-04f, 4.724936730e-04f, 4.719308378e-04f, 4.713672240e-04f, 4.708028325e-04f, 4.702376643e-04f, 4.696717205e-04f, 4.691050022e-04f,
+4.685375103e-04f, 4.679692459e-04f, 4.674002100e-04f, 4.668304037e-04f, 4.662598280e-04f, 4.656884839e-04f, 4.651163724e-04f, 4.645434947e-04f, 4.639698517e-04f, 4.633954446e-04f,
+4.628202742e-04f, 4.622443417e-04f, 4.616676482e-04f, 4.610901946e-04f, 4.605119821e-04f, 4.599330116e-04f, 4.593532842e-04f, 4.587728010e-04f, 4.581915631e-04f, 4.576095714e-04f,
+4.570268270e-04f, 4.564433311e-04f, 4.558590846e-04f, 4.552740886e-04f, 4.546883442e-04f, 4.541018525e-04f, 4.535146144e-04f, 4.529266311e-04f, 4.523379036e-04f, 4.517484330e-04f,
+4.511582204e-04f, 4.505672668e-04f, 4.499755734e-04f, 4.493831411e-04f, 4.487899710e-04f, 4.481960643e-04f, 4.476014220e-04f, 4.470060452e-04f, 4.464099349e-04f, 4.458130922e-04f,
+4.452155183e-04f, 4.446172141e-04f, 4.440181809e-04f, 4.434184195e-04f, 4.428179313e-04f, 4.422167172e-04f, 4.416147783e-04f, 4.410121157e-04f, 4.404087305e-04f, 4.398046237e-04f,
+4.391997966e-04f, 4.385942502e-04f, 4.379879855e-04f, 4.373810037e-04f, 4.367733058e-04f, 4.361648930e-04f, 4.355557664e-04f, 4.349459270e-04f, 4.343353759e-04f, 4.337241144e-04f,
+4.331121434e-04f, 4.324994641e-04f, 4.318860775e-04f, 4.312719849e-04f, 4.306571872e-04f, 4.300416856e-04f, 4.294254813e-04f, 4.288085753e-04f, 4.281909687e-04f, 4.275726626e-04f,
+4.269536583e-04f, 4.263339567e-04f, 4.257135590e-04f, 4.250924663e-04f, 4.244706798e-04f, 4.238482005e-04f, 4.232250297e-04f, 4.226011683e-04f, 4.219766175e-04f, 4.213513785e-04f,
+4.207254524e-04f, 4.200988403e-04f, 4.194715433e-04f, 4.188435626e-04f, 4.182148993e-04f, 4.175855546e-04f, 4.169555294e-04f, 4.163248251e-04f, 4.156934428e-04f, 4.150613834e-04f,
+4.144286483e-04f, 4.137952386e-04f, 4.131611553e-04f, 4.125263996e-04f, 4.118909728e-04f, 4.112548758e-04f, 4.106181099e-04f, 4.099806761e-04f, 4.093425758e-04f, 4.087038099e-04f,
+4.080643796e-04f, 4.074242862e-04f, 4.067835307e-04f, 4.061421143e-04f, 4.055000381e-04f, 4.048573033e-04f, 4.042139111e-04f, 4.035698626e-04f, 4.029251589e-04f, 4.022798013e-04f,
+4.016337909e-04f, 4.009871288e-04f, 4.003398162e-04f, 3.996918543e-04f, 3.990432442e-04f, 3.983939871e-04f, 3.977440841e-04f, 3.970935365e-04f, 3.964423454e-04f, 3.957905119e-04f,
+3.951380373e-04f, 3.944849227e-04f, 3.938311692e-04f, 3.931767781e-04f, 3.925217505e-04f, 3.918660876e-04f, 3.912097906e-04f, 3.905528606e-04f, 3.898952988e-04f, 3.892371064e-04f,
+3.885782846e-04f, 3.879188346e-04f, 3.872587575e-04f, 3.865980546e-04f, 3.859367269e-04f, 3.852747758e-04f, 3.846122023e-04f, 3.839490077e-04f, 3.832851932e-04f, 3.826207598e-04f,
+3.819557090e-04f, 3.812900417e-04f, 3.806237593e-04f, 3.799568628e-04f, 3.792893536e-04f, 3.786212328e-04f, 3.779525015e-04f, 3.772831611e-04f, 3.766132126e-04f, 3.759426573e-04f,
+3.752714964e-04f, 3.745997311e-04f, 3.739273625e-04f, 3.732543920e-04f, 3.725808206e-04f, 3.719066496e-04f, 3.712318803e-04f, 3.705565137e-04f, 3.698805511e-04f, 3.692039938e-04f,
+3.685268429e-04f, 3.678490997e-04f, 3.671707652e-04f, 3.664918409e-04f, 3.658123278e-04f, 3.651322272e-04f, 3.644515404e-04f, 3.637702684e-04f, 3.630884126e-04f, 3.624059741e-04f,
+3.617229542e-04f, 3.610393541e-04f, 3.603551750e-04f, 3.596704182e-04f, 3.589850848e-04f, 3.582991760e-04f, 3.576126932e-04f, 3.569256375e-04f, 3.562380101e-04f, 3.555498124e-04f,
+3.548610454e-04f, 3.541717105e-04f, 3.534818088e-04f, 3.527913416e-04f, 3.521003102e-04f, 3.514087157e-04f, 3.507165594e-04f, 3.500238425e-04f, 3.493305663e-04f, 3.486367320e-04f,
+3.479423408e-04f, 3.472473940e-04f, 3.465518928e-04f, 3.458558384e-04f, 3.451592321e-04f, 3.444620752e-04f, 3.437643688e-04f, 3.430661142e-04f, 3.423673127e-04f, 3.416679655e-04f,
+3.409680738e-04f, 3.402676389e-04f, 3.395666621e-04f, 3.388651445e-04f, 3.381630875e-04f, 3.374604922e-04f, 3.367573600e-04f, 3.360536921e-04f, 3.353494897e-04f, 3.346447541e-04f,
+3.339394865e-04f, 3.332336883e-04f, 3.325273606e-04f, 3.318205046e-04f, 3.311131218e-04f, 3.304052133e-04f, 3.296967804e-04f, 3.289878243e-04f, 3.282783463e-04f, 3.275683477e-04f,
+3.268578297e-04f, 3.261467936e-04f, 3.254352406e-04f, 3.247231721e-04f, 3.240105892e-04f, 3.232974933e-04f, 3.225838856e-04f, 3.218697674e-04f, 3.211551399e-04f, 3.204400045e-04f,
+3.197243623e-04f, 3.190082147e-04f, 3.182915630e-04f, 3.175744083e-04f, 3.168567520e-04f, 3.161385954e-04f, 3.154199397e-04f, 3.147007862e-04f, 3.139811362e-04f, 3.132609909e-04f,
+3.125403516e-04f, 3.118192197e-04f, 3.110975964e-04f, 3.103754829e-04f, 3.096528806e-04f, 3.089297907e-04f, 3.082062146e-04f, 3.074821534e-04f, 3.067576085e-04f, 3.060325812e-04f,
+3.053070728e-04f, 3.045810844e-04f, 3.038546176e-04f, 3.031276734e-04f, 3.024002532e-04f, 3.016723583e-04f, 3.009439900e-04f, 3.002151496e-04f, 2.994858383e-04f, 2.987560575e-04f,
+2.980258084e-04f, 2.972950924e-04f, 2.965639107e-04f, 2.958322647e-04f, 2.951001555e-04f, 2.943675846e-04f, 2.936345532e-04f, 2.929010627e-04f, 2.921671142e-04f, 2.914327092e-04f,
+2.906978489e-04f, 2.899625346e-04f, 2.892267676e-04f, 2.884905492e-04f, 2.877538808e-04f, 2.870167635e-04f, 2.862791989e-04f, 2.855411880e-04f, 2.848027323e-04f, 2.840638330e-04f,
+2.833244915e-04f, 2.825847091e-04f, 2.818444870e-04f, 2.811038266e-04f, 2.803627291e-04f, 2.796211960e-04f, 2.788792285e-04f, 2.781368279e-04f, 2.773939956e-04f, 2.766507327e-04f,
+2.759070408e-04f, 2.751629210e-04f, 2.744183747e-04f, 2.736734032e-04f, 2.729280078e-04f, 2.721821899e-04f, 2.714359507e-04f, 2.706892916e-04f, 2.699422139e-04f, 2.691947189e-04f,
+2.684468079e-04f, 2.676984823e-04f, 2.669497433e-04f, 2.662005923e-04f, 2.654510307e-04f, 2.647010597e-04f, 2.639506806e-04f, 2.631998949e-04f, 2.624487037e-04f, 2.616971085e-04f,
+2.609451106e-04f, 2.601927112e-04f, 2.594399118e-04f, 2.586867136e-04f, 2.579331180e-04f, 2.571791263e-04f, 2.564247398e-04f, 2.556699599e-04f, 2.549147878e-04f, 2.541592251e-04f,
+2.534032728e-04f, 2.526469325e-04f, 2.518902054e-04f, 2.511330928e-04f, 2.503755961e-04f, 2.496177167e-04f, 2.488594558e-04f, 2.481008149e-04f, 2.473417951e-04f, 2.465823980e-04f,
+2.458226247e-04f, 2.450624767e-04f, 2.443019553e-04f, 2.435410619e-04f, 2.427797977e-04f, 2.420181641e-04f, 2.412561624e-04f, 2.404937941e-04f, 2.397310604e-04f, 2.389679627e-04f,
+2.382045022e-04f, 2.374406805e-04f, 2.366764988e-04f, 2.359119584e-04f, 2.351470607e-04f, 2.343818071e-04f, 2.336161989e-04f, 2.328502374e-04f, 2.320839240e-04f, 2.313172600e-04f,
+2.305502468e-04f, 2.297828858e-04f, 2.290151783e-04f, 2.282471255e-04f, 2.274787290e-04f, 2.267099900e-04f, 2.259409099e-04f, 2.251714900e-04f, 2.244017318e-04f, 2.236316365e-04f,
+2.228612054e-04f, 2.220904401e-04f, 2.213193417e-04f, 2.205479117e-04f, 2.197761515e-04f, 2.190040623e-04f, 2.182316455e-04f, 2.174589026e-04f, 2.166858348e-04f, 2.159124434e-04f,
+2.151387300e-04f, 2.143646958e-04f, 2.135903422e-04f, 2.128156705e-04f, 2.120406821e-04f, 2.112653784e-04f, 2.104897607e-04f, 2.097138304e-04f, 2.089375888e-04f, 2.081610374e-04f,
+2.073841774e-04f, 2.066070103e-04f, 2.058295374e-04f, 2.050517601e-04f, 2.042736797e-04f, 2.034952976e-04f, 2.027166151e-04f, 2.019376337e-04f, 2.011583547e-04f, 2.003787794e-04f,
+1.995989093e-04f, 1.988187457e-04f, 1.980382899e-04f, 1.972575434e-04f, 1.964765075e-04f, 1.956951836e-04f, 1.949135730e-04f, 1.941316771e-04f, 1.933494973e-04f, 1.925670350e-04f,
+1.917842915e-04f, 1.910012682e-04f, 1.902179665e-04f, 1.894343877e-04f, 1.886505333e-04f, 1.878664045e-04f, 1.870820028e-04f, 1.862973296e-04f, 1.855123861e-04f, 1.847271739e-04f,
+1.839416942e-04f, 1.831559485e-04f, 1.823699381e-04f, 1.815836643e-04f, 1.807971287e-04f, 1.800103325e-04f, 1.792232771e-04f, 1.784359639e-04f, 1.776483943e-04f, 1.768605697e-04f,
+1.760724914e-04f, 1.752841609e-04f, 1.744955794e-04f, 1.737067484e-04f, 1.729176693e-04f, 1.721283434e-04f, 1.713387721e-04f, 1.705489569e-04f, 1.697588990e-04f, 1.689685999e-04f,
+1.681780609e-04f, 1.673872835e-04f, 1.665962690e-04f, 1.658050188e-04f, 1.650135343e-04f, 1.642218168e-04f, 1.634298678e-04f, 1.626376886e-04f, 1.618452807e-04f, 1.610526453e-04f,
+1.602597839e-04f, 1.594666979e-04f, 1.586733887e-04f, 1.578798576e-04f, 1.570861061e-04f, 1.562921355e-04f, 1.554979472e-04f, 1.547035426e-04f, 1.539089231e-04f, 1.531140900e-04f,
+1.523190448e-04f, 1.515237889e-04f, 1.507283236e-04f, 1.499326503e-04f, 1.491367704e-04f, 1.483406854e-04f, 1.475443966e-04f, 1.467479053e-04f, 1.459512130e-04f, 1.451543211e-04f,
+1.443572309e-04f, 1.435599439e-04f, 1.427624615e-04f, 1.419647850e-04f, 1.411669158e-04f, 1.403688553e-04f, 1.395706049e-04f, 1.387721661e-04f, 1.379735401e-04f, 1.371747284e-04f,
+1.363757324e-04f, 1.355765535e-04f, 1.347771931e-04f, 1.339776525e-04f, 1.331779332e-04f, 1.323780366e-04f, 1.315779639e-04f, 1.307777168e-04f, 1.299772965e-04f, 1.291767044e-04f,
+1.283759419e-04f, 1.275750105e-04f, 1.267739115e-04f, 1.259726463e-04f, 1.251712163e-04f, 1.243696229e-04f, 1.235678676e-04f, 1.227659516e-04f, 1.219638764e-04f, 1.211616435e-04f,
+1.203592541e-04f, 1.195567098e-04f, 1.187540118e-04f, 1.179511616e-04f, 1.171481606e-04f, 1.163450102e-04f, 1.155417118e-04f, 1.147382668e-04f, 1.139346765e-04f, 1.131309425e-04f,
+1.123270660e-04f, 1.115230485e-04f, 1.107188914e-04f, 1.099145960e-04f, 1.091101638e-04f, 1.083055963e-04f, 1.075008947e-04f, 1.066960604e-04f, 1.058910950e-04f, 1.050859997e-04f,
+1.042807760e-04f, 1.034754253e-04f, 1.026699490e-04f, 1.018643485e-04f, 1.010586251e-04f, 1.002527804e-04f, 9.944681559e-05f, 9.864073220e-05f, 9.783453160e-05f, 9.702821519e-05f,
+9.622178438e-05f, 9.541524057e-05f, 9.460858515e-05f, 9.380181953e-05f, 9.299494511e-05f, 9.218796330e-05f, 9.138087550e-05f, 9.057368310e-05f, 8.976638752e-05f, 8.895899015e-05f,
+8.815149240e-05f, 8.734389566e-05f, 8.653620135e-05f, 8.572841087e-05f, 8.492052562e-05f, 8.411254699e-05f, 8.330447641e-05f, 8.249631526e-05f, 8.168806495e-05f, 8.087972689e-05f,
+8.007130248e-05f, 7.926279311e-05f, 7.845420021e-05f, 7.764552516e-05f, 7.683676938e-05f, 7.602793426e-05f, 7.521902121e-05f, 7.441003164e-05f, 7.360096695e-05f, 7.279182853e-05f,
+7.198261780e-05f, 7.117333616e-05f, 7.036398502e-05f, 6.955456577e-05f, 6.874507983e-05f, 6.793552858e-05f, 6.712591345e-05f, 6.631623584e-05f, 6.550649713e-05f, 6.469669876e-05f,
+6.388684210e-05f, 6.307692858e-05f, 6.226695959e-05f, 6.145693654e-05f, 6.064686083e-05f, 5.983673387e-05f, 5.902655706e-05f, 5.821633180e-05f, 5.740605950e-05f, 5.659574157e-05f,
+5.578537940e-05f, 5.497497440e-05f, 5.416452797e-05f, 5.335404153e-05f, 5.254351647e-05f, 5.173295419e-05f, 5.092235611e-05f, 5.011172362e-05f, 4.930105813e-05f, 4.849036104e-05f,
+4.767963376e-05f, 4.686887768e-05f, 4.605809423e-05f, 4.524728478e-05f, 4.443645076e-05f, 4.362559357e-05f, 4.281471460e-05f, 4.200381526e-05f, 4.119289696e-05f, 4.038196110e-05f,
+3.957100908e-05f, 3.876004230e-05f, 3.794906217e-05f, 3.713807009e-05f, 3.632706747e-05f, 3.551605570e-05f, 3.470503619e-05f, 3.389401035e-05f, 3.308297956e-05f, 3.227194525e-05f,
+3.146090881e-05f, 3.064987164e-05f, 2.983883515e-05f, 2.902780073e-05f, 2.821676979e-05f, 2.740574374e-05f, 2.659472396e-05f, 2.578371188e-05f, 2.497270888e-05f, 2.416171637e-05f,
+2.335073574e-05f, 2.253976842e-05f, 2.172881578e-05f, 2.091787924e-05f, 2.010696019e-05f, 1.929606004e-05f, 1.848518019e-05f, 1.767432203e-05f, 1.686348697e-05f, 1.605267641e-05f,
+1.524189175e-05f, 1.443113439e-05f, 1.362040573e-05f, 1.280970716e-05f, 1.199904010e-05f, 1.118840593e-05f, 1.037780606e-05f, 9.567241887e-06f, 8.756714810e-06f, 7.946226228e-06f,
+7.135777540e-06f, 6.325370144e-06f, 5.515005439e-06f, 4.704684823e-06f, 3.894409694e-06f, 3.084181451e-06f, 2.274001490e-06f, 1.463871210e-06f, 6.537920085e-07f, -1.562347178e-07f,
+-9.662075718e-07f, -1.776125156e-06f, -2.585986075e-06f, -3.395788931e-06f, -4.205532329e-06f, -5.015214871e-06f, -5.824835162e-06f, -6.634391807e-06f, -7.443883410e-06f, -8.253308575e-06f,
+-9.062665908e-06f, -9.871954013e-06f, -1.068117150e-05f, -1.149031696e-05f, -1.229938902e-05f, -1.310838627e-05f, -1.391730732e-05f, -1.472615078e-05f, -1.553491525e-05f, -1.634359935e-05f,
+-1.715220167e-05f, -1.796072083e-05f, -1.876915543e-05f, -1.957750409e-05f, -2.038576540e-05f, -2.119393798e-05f, -2.200202043e-05f, -2.281001137e-05f, -2.361790941e-05f, -2.442571314e-05f,
+-2.523342119e-05f, -2.604103216e-05f, -2.684854466e-05f, -2.765595731e-05f, -2.846326871e-05f, -2.927047747e-05f, -3.007758221e-05f, -3.088458153e-05f, -3.169147406e-05f, -3.249825839e-05f,
+-3.330493314e-05f, -3.411149693e-05f, -3.491794837e-05f, -3.572428607e-05f, -3.653050864e-05f, -3.733661470e-05f, -3.814260286e-05f, -3.894847174e-05f, -3.975421995e-05f, -4.055984610e-05f,
+-4.136534882e-05f, -4.217072671e-05f, -4.297597839e-05f, -4.378110248e-05f, -4.458609759e-05f, -4.539096234e-05f, -4.619569535e-05f, -4.700029524e-05f, -4.780476062e-05f, -4.860909011e-05f,
+-4.941328233e-05f, -5.021733589e-05f, -5.102124942e-05f, -5.182502154e-05f, -5.262865087e-05f, -5.343213602e-05f, -5.423547561e-05f, -5.503866827e-05f, -5.584171262e-05f, -5.664460728e-05f,
+-5.744735087e-05f, -5.824994201e-05f, -5.905237932e-05f, -5.985466143e-05f, -6.065678697e-05f, -6.145875455e-05f, -6.226056279e-05f, -6.306221033e-05f, -6.386369578e-05f, -6.466501778e-05f,
+-6.546617494e-05f, -6.626716590e-05f, -6.706798928e-05f, -6.786864370e-05f, -6.866912779e-05f, -6.946944018e-05f, -7.026957950e-05f, -7.106954437e-05f, -7.186933343e-05f, -7.266894530e-05f,
+-7.346837861e-05f, -7.426763199e-05f, -7.506670408e-05f, -7.586559349e-05f, -7.666429887e-05f, -7.746281884e-05f, -7.826115203e-05f, -7.905929708e-05f, -7.985725263e-05f, -8.065501729e-05f,
+-8.145258971e-05f, -8.224996852e-05f, -8.304715235e-05f, -8.384413984e-05f, -8.464092962e-05f, -8.543752033e-05f, -8.623391061e-05f, -8.703009909e-05f, -8.782608440e-05f, -8.862186519e-05f,
+-8.941744009e-05f, -9.021280774e-05f, -9.100796678e-05f, -9.180291585e-05f, -9.259765358e-05f, -9.339217862e-05f, -9.418648961e-05f, -9.498058519e-05f, -9.577446400e-05f, -9.656812467e-05f,
+-9.736156587e-05f, -9.815478621e-05f, -9.894778436e-05f, -9.974055895e-05f, -1.005331086e-04f, -1.013254320e-04f, -1.021175278e-04f, -1.029093946e-04f, -1.037010311e-04f, -1.044924359e-04f,
+-1.052836076e-04f, -1.060745450e-04f, -1.068652466e-04f, -1.076557111e-04f, -1.084459372e-04f, -1.092359235e-04f, -1.100256686e-04f, -1.108151712e-04f, -1.116044300e-04f, -1.123934436e-04f,
+-1.131822107e-04f, -1.139707299e-04f, -1.147589998e-04f, -1.155470191e-04f, -1.163347866e-04f, -1.171223007e-04f, -1.179095602e-04f, -1.186965638e-04f, -1.194833101e-04f, -1.202697977e-04f,
+-1.210560253e-04f, -1.218419916e-04f, -1.226276952e-04f, -1.234131348e-04f, -1.241983090e-04f, -1.249832166e-04f, -1.257678561e-04f, -1.265522262e-04f, -1.273363256e-04f, -1.281201530e-04f,
+-1.289037069e-04f, -1.296869862e-04f, -1.304699894e-04f, -1.312527151e-04f, -1.320351622e-04f, -1.328173292e-04f, -1.335992148e-04f, -1.343808176e-04f, -1.351621364e-04f, -1.359431698e-04f,
+-1.367239164e-04f, -1.375043750e-04f, -1.382845442e-04f, -1.390644227e-04f, -1.398440091e-04f, -1.406233021e-04f, -1.414023005e-04f, -1.421810028e-04f, -1.429594077e-04f, -1.437375140e-04f,
+-1.445153202e-04f, -1.452928251e-04f, -1.460700274e-04f, -1.468469256e-04f, -1.476235185e-04f, -1.483998049e-04f, -1.491757832e-04f, -1.499514523e-04f, -1.507268108e-04f, -1.515018574e-04f,
+-1.522765907e-04f, -1.530510095e-04f, -1.538251124e-04f, -1.545988981e-04f, -1.553723653e-04f, -1.561455127e-04f, -1.569183389e-04f, -1.576908427e-04f, -1.584630228e-04f, -1.592348777e-04f,
+-1.600064063e-04f, -1.607776071e-04f, -1.615484790e-04f, -1.623190205e-04f, -1.630892303e-04f, -1.638591072e-04f, -1.646286499e-04f, -1.653978570e-04f, -1.661667272e-04f, -1.669352592e-04f,
+-1.677034517e-04f, -1.684713035e-04f, -1.692388131e-04f, -1.700059794e-04f, -1.707728009e-04f, -1.715392764e-04f, -1.723054046e-04f, -1.730711842e-04f, -1.738366139e-04f, -1.746016924e-04f,
+-1.753664183e-04f, -1.761307905e-04f, -1.768948075e-04f, -1.776584681e-04f, -1.784217710e-04f, -1.791847149e-04f, -1.799472985e-04f, -1.807095205e-04f, -1.814713797e-04f, -1.822328746e-04f,
+-1.829940041e-04f, -1.837547668e-04f, -1.845151615e-04f, -1.852751868e-04f, -1.860348415e-04f, -1.867941242e-04f, -1.875530338e-04f, -1.883115688e-04f, -1.890697281e-04f, -1.898275102e-04f,
+-1.905849141e-04f, -1.913419383e-04f, -1.920985815e-04f, -1.928548426e-04f, -1.936107201e-04f, -1.943662129e-04f, -1.951213197e-04f, -1.958760391e-04f, -1.966303699e-04f, -1.973843108e-04f,
+-1.981378605e-04f, -1.988910178e-04f, -1.996437813e-04f, -2.003961499e-04f, -2.011481222e-04f, -2.018996969e-04f, -2.026508729e-04f, -2.034016487e-04f, -2.041520232e-04f, -2.049019950e-04f,
+-2.056515630e-04f, -2.064007257e-04f, -2.071494820e-04f, -2.078978306e-04f, -2.086457703e-04f, -2.093932997e-04f, -2.101404176e-04f, -2.108871227e-04f, -2.116334137e-04f, -2.123792895e-04f,
+-2.131247487e-04f, -2.138697901e-04f, -2.146144125e-04f, -2.153586144e-04f, -2.161023948e-04f, -2.168457523e-04f, -2.175886857e-04f, -2.183311937e-04f, -2.190732751e-04f, -2.198149286e-04f,
+-2.205561530e-04f, -2.212969470e-04f, -2.220373093e-04f, -2.227772387e-04f, -2.235167340e-04f, -2.242557939e-04f, -2.249944172e-04f, -2.257326026e-04f, -2.264703488e-04f, -2.272076546e-04f,
+-2.279445188e-04f, -2.286809402e-04f, -2.294169174e-04f, -2.301524492e-04f, -2.308875345e-04f, -2.316221719e-04f, -2.323563602e-04f, -2.330900982e-04f, -2.338233846e-04f, -2.345562182e-04f,
+-2.352885978e-04f, -2.360205221e-04f, -2.367519898e-04f, -2.374829999e-04f, -2.382135509e-04f, -2.389436418e-04f, -2.396732712e-04f, -2.404024379e-04f, -2.411311407e-04f, -2.418593784e-04f,
+-2.425871497e-04f, -2.433144534e-04f, -2.440412883e-04f, -2.447676532e-04f, -2.454935468e-04f, -2.462189679e-04f, -2.469439153e-04f, -2.476683877e-04f, -2.483923840e-04f, -2.491159029e-04f,
+-2.498389433e-04f, -2.505615038e-04f, -2.512835832e-04f, -2.520051805e-04f, -2.527262942e-04f, -2.534469233e-04f, -2.541670665e-04f, -2.548867225e-04f, -2.556058903e-04f, -2.563245685e-04f,
+-2.570427560e-04f, -2.577604515e-04f, -2.584776539e-04f, -2.591943619e-04f, -2.599105743e-04f, -2.606262900e-04f, -2.613415076e-04f, -2.620562261e-04f, -2.627704442e-04f, -2.634841608e-04f,
+-2.641973745e-04f, -2.649100842e-04f, -2.656222887e-04f, -2.663339869e-04f, -2.670451775e-04f, -2.677558592e-04f, -2.684660311e-04f, -2.691756917e-04f, -2.698848400e-04f, -2.705934747e-04f,
+-2.713015947e-04f, -2.720091987e-04f, -2.727162857e-04f, -2.734228543e-04f, -2.741289034e-04f, -2.748344318e-04f, -2.755394383e-04f, -2.762439218e-04f, -2.769478810e-04f, -2.776513149e-04f,
+-2.783542221e-04f, -2.790566015e-04f, -2.797584520e-04f, -2.804597723e-04f, -2.811605613e-04f, -2.818608178e-04f, -2.825605407e-04f, -2.832597286e-04f, -2.839583806e-04f, -2.846564954e-04f,
+-2.853540718e-04f, -2.860511087e-04f, -2.867476049e-04f, -2.874435592e-04f, -2.881389704e-04f, -2.888338375e-04f, -2.895281592e-04f, -2.902219343e-04f, -2.909151618e-04f, -2.916078404e-04f,
+-2.922999689e-04f, -2.929915463e-04f, -2.936825714e-04f, -2.943730429e-04f, -2.950629598e-04f, -2.957523209e-04f, -2.964411250e-04f, -2.971293710e-04f, -2.978170577e-04f, -2.985041839e-04f,
+-2.991907486e-04f, -2.998767506e-04f, -3.005621887e-04f, -3.012470618e-04f, -3.019313687e-04f, -3.026151083e-04f, -3.032982794e-04f, -3.039808809e-04f, -3.046629117e-04f, -3.053443706e-04f,
+-3.060252564e-04f, -3.067055681e-04f, -3.073853045e-04f, -3.080644644e-04f, -3.087430467e-04f, -3.094210504e-04f, -3.100984742e-04f, -3.107753170e-04f, -3.114515777e-04f, -3.121272551e-04f,
+-3.128023482e-04f, -3.134768558e-04f, -3.141507767e-04f, -3.148241099e-04f, -3.154968542e-04f, -3.161690085e-04f, -3.168405717e-04f, -3.175115426e-04f, -3.181819202e-04f, -3.188517032e-04f,
+-3.195208907e-04f, -3.201894814e-04f, -3.208574743e-04f, -3.215248682e-04f, -3.221916621e-04f, -3.228578547e-04f, -3.235234451e-04f, -3.241884320e-04f, -3.248528145e-04f, -3.255165913e-04f,
+-3.261797614e-04f, -3.268423236e-04f, -3.275042769e-04f, -3.281656201e-04f, -3.288263522e-04f, -3.294864720e-04f, -3.301459785e-04f, -3.308048705e-04f, -3.314631470e-04f, -3.321208068e-04f,
+-3.327778489e-04f, -3.334342721e-04f, -3.340900754e-04f, -3.347452576e-04f, -3.353998178e-04f, -3.360537547e-04f, -3.367070673e-04f, -3.373597545e-04f, -3.380118153e-04f, -3.386632485e-04f,
+-3.393140530e-04f, -3.399642278e-04f, -3.406137718e-04f, -3.412626839e-04f, -3.419109631e-04f, -3.425586081e-04f, -3.432056181e-04f, -3.438519918e-04f, -3.444977283e-04f, -3.451428264e-04f,
+-3.457872850e-04f, -3.464311032e-04f, -3.470742798e-04f, -3.477168138e-04f, -3.483587040e-04f, -3.489999495e-04f, -3.496405491e-04f, -3.502805018e-04f, -3.509198065e-04f, -3.515584622e-04f,
+-3.521964679e-04f, -3.528338223e-04f, -3.534705245e-04f, -3.541065735e-04f, -3.547419682e-04f, -3.553767074e-04f, -3.560107902e-04f, -3.566442156e-04f, -3.572769823e-04f, -3.579090895e-04f,
+-3.585405361e-04f, -3.591713210e-04f, -3.598014431e-04f, -3.604309014e-04f, -3.610596949e-04f, -3.616878226e-04f, -3.623152833e-04f, -3.629420761e-04f, -3.635681999e-04f, -3.641936537e-04f,
+-3.648184364e-04f, -3.654425470e-04f, -3.660659844e-04f, -3.666887477e-04f, -3.673108358e-04f, -3.679322477e-04f, -3.685529823e-04f, -3.691730386e-04f, -3.697924156e-04f, -3.704111122e-04f,
+-3.710291275e-04f, -3.716464604e-04f, -3.722631099e-04f, -3.728790749e-04f, -3.734943545e-04f, -3.741089476e-04f, -3.747228532e-04f, -3.753360703e-04f, -3.759485979e-04f, -3.765604350e-04f,
+-3.771715805e-04f, -3.777820335e-04f, -3.783917929e-04f, -3.790008577e-04f, -3.796092269e-04f, -3.802168996e-04f, -3.808238746e-04f, -3.814301511e-04f, -3.820357280e-04f, -3.826406042e-04f,
+-3.832447789e-04f, -3.838482510e-04f, -3.844510195e-04f, -3.850530834e-04f, -3.856544417e-04f, -3.862550935e-04f, -3.868550377e-04f, -3.874542733e-04f, -3.880527994e-04f, -3.886506150e-04f,
+-3.892477190e-04f, -3.898441105e-04f, -3.904397886e-04f, -3.910347521e-04f, -3.916290003e-04f, -3.922225319e-04f, -3.928153462e-04f, -3.934074421e-04f, -3.939988186e-04f, -3.945894748e-04f,
+-3.951794097e-04f, -3.957686223e-04f, -3.963571116e-04f, -3.969448767e-04f, -3.975319166e-04f, -3.981182304e-04f, -3.987038170e-04f, -3.992886756e-04f, -3.998728051e-04f, -4.004562045e-04f,
+-4.010388730e-04f, -4.016208096e-04f, -4.022020133e-04f, -4.027824831e-04f, -4.033622181e-04f, -4.039412174e-04f, -4.045194799e-04f, -4.050970048e-04f, -4.056737911e-04f, -4.062498379e-04f,
+-4.068251441e-04f, -4.073997089e-04f, -4.079735313e-04f, -4.085466103e-04f, -4.091189451e-04f, -4.096905346e-04f, -4.102613780e-04f, -4.108314743e-04f, -4.114008226e-04f, -4.119694219e-04f,
+-4.125372713e-04f, -4.131043699e-04f, -4.136707167e-04f, -4.142363109e-04f, -4.148011514e-04f, -4.153652373e-04f, -4.159285678e-04f, -4.164911419e-04f, -4.170529587e-04f, -4.176140172e-04f,
+-4.181743166e-04f, -4.187338559e-04f, -4.192926342e-04f, -4.198506506e-04f, -4.204079042e-04f, -4.209643940e-04f, -4.215201192e-04f, -4.220750789e-04f, -4.226292720e-04f, -4.231826978e-04f,
+-4.237353553e-04f, -4.242872437e-04f, -4.248383619e-04f, -4.253887092e-04f, -4.259382845e-04f, -4.264870871e-04f, -4.270351160e-04f, -4.275823703e-04f, -4.281288492e-04f, -4.286745516e-04f,
+-4.292194768e-04f, -4.297636239e-04f, -4.303069919e-04f, -4.308495799e-04f, -4.313913872e-04f, -4.319324127e-04f, -4.324726557e-04f, -4.330121152e-04f, -4.335507904e-04f, -4.340886803e-04f,
+-4.346257841e-04f, -4.351621009e-04f, -4.356976299e-04f, -4.362323702e-04f, -4.367663208e-04f, -4.372994810e-04f, -4.378318498e-04f, -4.383634265e-04f, -4.388942100e-04f, -4.394241996e-04f,
+-4.399533944e-04f, -4.404817935e-04f, -4.410093961e-04f, -4.415362013e-04f, -4.420622083e-04f, -4.425874162e-04f, -4.431118241e-04f, -4.436354312e-04f, -4.441582366e-04f, -4.446802395e-04f,
+-4.452014391e-04f, -4.457218344e-04f, -4.462414247e-04f, -4.467602091e-04f, -4.472781867e-04f, -4.477953568e-04f, -4.483117184e-04f, -4.488272707e-04f, -4.493420130e-04f, -4.498559443e-04f,
+-4.503690638e-04f, -4.508813707e-04f, -4.513928642e-04f, -4.519035434e-04f, -4.524134075e-04f, -4.529224557e-04f, -4.534306871e-04f, -4.539381009e-04f, -4.544446964e-04f, -4.549504726e-04f,
+-4.554554287e-04f, -4.559595641e-04f, -4.564628777e-04f, -4.569653688e-04f, -4.574670366e-04f, -4.579678803e-04f, -4.584678991e-04f, -4.589670921e-04f, -4.594654586e-04f, -4.599629977e-04f,
+-4.604597087e-04f, -4.609555907e-04f, -4.614506429e-04f, -4.619448645e-04f, -4.624382548e-04f, -4.629308129e-04f, -4.634225381e-04f, -4.639134295e-04f, -4.644034863e-04f, -4.648927078e-04f,
+-4.653810931e-04f, -4.658686416e-04f, -4.663553523e-04f, -4.668412245e-04f, -4.673262575e-04f, -4.678104503e-04f, -4.682938024e-04f, -4.687763128e-04f, -4.692579808e-04f, -4.697388056e-04f,
+-4.702187865e-04f, -4.706979226e-04f, -4.711762132e-04f, -4.716536576e-04f, -4.721302549e-04f, -4.726060044e-04f, -4.730809054e-04f, -4.735549569e-04f, -4.740281584e-04f, -4.745005091e-04f,
+-4.749720080e-04f, -4.754426547e-04f, -4.759124481e-04f, -4.763813877e-04f, -4.768494726e-04f, -4.773167021e-04f, -4.777830755e-04f, -4.782485919e-04f, -4.787132507e-04f, -4.791770511e-04f,
+-4.796399924e-04f, -4.801020738e-04f, -4.805632945e-04f, -4.810236539e-04f, -4.814831511e-04f, -4.819417855e-04f, -4.823995564e-04f, -4.828564629e-04f, -4.833125043e-04f, -4.837676800e-04f,
+-4.842219892e-04f, -4.846754312e-04f, -4.851280051e-04f, -4.855797104e-04f, -4.860305463e-04f, -4.864805121e-04f, -4.869296070e-04f, -4.873778303e-04f, -4.878251813e-04f, -4.882716593e-04f,
+-4.887172636e-04f, -4.891619935e-04f, -4.896058483e-04f, -4.900488272e-04f, -4.904909295e-04f, -4.909321545e-04f, -4.913725016e-04f, -4.918119701e-04f, -4.922505591e-04f, -4.926882681e-04f,
+-4.931250963e-04f, -4.935610430e-04f, -4.939961076e-04f, -4.944302893e-04f, -4.948635874e-04f, -4.952960013e-04f, -4.957275303e-04f, -4.961581737e-04f, -4.965879308e-04f, -4.970168008e-04f,
+-4.974447833e-04f, -4.978718773e-04f, -4.982980823e-04f, -4.987233977e-04f, -4.991478226e-04f, -4.995713565e-04f, -4.999939986e-04f, -5.004157484e-04f, -5.008366051e-04f, -5.012565680e-04f,
+-5.016756365e-04f, -5.020938100e-04f, -5.025110877e-04f, -5.029274690e-04f, -5.033429532e-04f, -5.037575398e-04f, -5.041712279e-04f, -5.045840171e-04f, -5.049959065e-04f, -5.054068956e-04f,
+-5.058169837e-04f, -5.062261702e-04f, -5.066344544e-04f, -5.070418357e-04f, -5.074483133e-04f, -5.078538868e-04f, -5.082585554e-04f, -5.086623185e-04f, -5.090651755e-04f, -5.094671257e-04f,
+-5.098681685e-04f, -5.102683033e-04f, -5.106675293e-04f, -5.110658461e-04f, -5.114632530e-04f, -5.118597493e-04f, -5.122553344e-04f, -5.126500077e-04f, -5.130437685e-04f, -5.134366164e-04f,
+-5.138285505e-04f, -5.142195704e-04f, -5.146096754e-04f, -5.149988649e-04f, -5.153871382e-04f, -5.157744948e-04f, -5.161609341e-04f, -5.165464554e-04f, -5.169310581e-04f, -5.173147417e-04f,
+-5.176975056e-04f, -5.180793490e-04f, -5.184602715e-04f, -5.188402725e-04f, -5.192193513e-04f, -5.195975073e-04f, -5.199747400e-04f, -5.203510488e-04f, -5.207264330e-04f, -5.211008921e-04f,
+-5.214744256e-04f, -5.218470327e-04f, -5.222187130e-04f, -5.225894659e-04f, -5.229592907e-04f, -5.233281869e-04f, -5.236961540e-04f, -5.240631913e-04f, -5.244292982e-04f, -5.247944743e-04f,
+-5.251587189e-04f, -5.255220315e-04f, -5.258844114e-04f, -5.262458583e-04f, -5.266063713e-04f, -5.269659501e-04f, -5.273245941e-04f, -5.276823026e-04f, -5.280390752e-04f, -5.283949113e-04f,
+-5.287498102e-04f, -5.291037716e-04f, -5.294567948e-04f, -5.298088793e-04f, -5.301600245e-04f, -5.305102299e-04f, -5.308594949e-04f, -5.312078191e-04f, -5.315552018e-04f, -5.319016426e-04f,
+-5.322471408e-04f, -5.325916960e-04f, -5.329353076e-04f, -5.332779751e-04f, -5.336196980e-04f, -5.339604757e-04f, -5.343003077e-04f, -5.346391935e-04f, -5.349771326e-04f, -5.353141244e-04f,
+-5.356501684e-04f, -5.359852641e-04f, -5.363194110e-04f, -5.366526086e-04f, -5.369848563e-04f, -5.373161537e-04f, -5.376465002e-04f, -5.379758953e-04f, -5.383043386e-04f, -5.386318294e-04f,
+-5.389583674e-04f, -5.392839520e-04f, -5.396085827e-04f, -5.399322591e-04f, -5.402549805e-04f, -5.405767466e-04f, -5.408975568e-04f, -5.412174106e-04f, -5.415363076e-04f, -5.418542473e-04f,
+-5.421712291e-04f, -5.424872527e-04f, -5.428023174e-04f, -5.431164229e-04f, -5.434295686e-04f, -5.437417541e-04f, -5.440529789e-04f, -5.443632425e-04f, -5.446725445e-04f, -5.449808843e-04f,
+-5.452882615e-04f, -5.455946757e-04f, -5.459001264e-04f, -5.462046131e-04f, -5.465081353e-04f, -5.468106926e-04f, -5.471122846e-04f, -5.474129107e-04f, -5.477125705e-04f, -5.480112636e-04f,
+-5.483089895e-04f, -5.486057478e-04f, -5.489015380e-04f, -5.491963596e-04f, -5.494902123e-04f, -5.497830956e-04f, -5.500750089e-04f, -5.503659520e-04f, -5.506559243e-04f, -5.509449255e-04f,
+-5.512329550e-04f, -5.515200125e-04f, -5.518060975e-04f, -5.520912096e-04f, -5.523753483e-04f, -5.526585133e-04f, -5.529407041e-04f, -5.532219203e-04f, -5.535021614e-04f, -5.537814271e-04f,
+-5.540597169e-04f, -5.543370304e-04f, -5.546133672e-04f, -5.548887269e-04f, -5.551631091e-04f, -5.554365133e-04f, -5.557089392e-04f, -5.559803863e-04f, -5.562508543e-04f, -5.565203427e-04f,
+-5.567888511e-04f, -5.570563792e-04f, -5.573229266e-04f, -5.575884928e-04f, -5.578530774e-04f, -5.581166801e-04f, -5.583793005e-04f, -5.586409381e-04f, -5.589015927e-04f, -5.591612638e-04f,
+-5.594199510e-04f, -5.596776539e-04f, -5.599343722e-04f, -5.601901055e-04f, -5.604448534e-04f, -5.606986155e-04f, -5.609513915e-04f, -5.612031810e-04f, -5.614539836e-04f, -5.617037990e-04f,
+-5.619526267e-04f, -5.622004665e-04f, -5.624473179e-04f, -5.626931807e-04f, -5.629380543e-04f, -5.631819386e-04f, -5.634248330e-04f, -5.636667374e-04f, -5.639076512e-04f, -5.641475743e-04f,
+-5.643865061e-04f, -5.646244464e-04f, -5.648613949e-04f, -5.650973511e-04f, -5.653323148e-04f, -5.655662856e-04f, -5.657992631e-04f, -5.660312470e-04f, -5.662622371e-04f, -5.664922329e-04f,
+-5.667212341e-04f, -5.669492404e-04f, -5.671762515e-04f, -5.674022671e-04f, -5.676272867e-04f, -5.678513102e-04f, -5.680743371e-04f, -5.682963671e-04f, -5.685174001e-04f, -5.687374355e-04f,
+-5.689564731e-04f, -5.691745126e-04f, -5.693915537e-04f, -5.696075961e-04f, -5.698226395e-04f, -5.700366835e-04f, -5.702497278e-04f, -5.704617723e-04f, -5.706728164e-04f, -5.708828601e-04f,
+-5.710919029e-04f, -5.712999445e-04f, -5.715069848e-04f, -5.717130233e-04f, -5.719180598e-04f, -5.721220940e-04f, -5.723251256e-04f, -5.725271544e-04f, -5.727281800e-04f, -5.729282022e-04f,
+-5.731272206e-04f, -5.733252351e-04f, -5.735222454e-04f, -5.737182510e-04f, -5.739132519e-04f, -5.741072477e-04f, -5.743002382e-04f, -5.744922230e-04f, -5.746832020e-04f, -5.748731748e-04f,
+-5.750621412e-04f, -5.752501010e-04f, -5.754370538e-04f, -5.756229995e-04f, -5.758079377e-04f, -5.759918682e-04f, -5.761747909e-04f, -5.763567053e-04f, -5.765376113e-04f, -5.767175086e-04f,
+-5.768963970e-04f, -5.770742762e-04f, -5.772511460e-04f, -5.774270062e-04f, -5.776018565e-04f, -5.777756966e-04f, -5.779485265e-04f, -5.781203457e-04f, -5.782911542e-04f, -5.784609516e-04f,
+-5.786297377e-04f, -5.787975123e-04f, -5.789642753e-04f, -5.791300263e-04f, -5.792947651e-04f, -5.794584916e-04f, -5.796212055e-04f, -5.797829066e-04f, -5.799435947e-04f, -5.801032695e-04f,
+-5.802619310e-04f, -5.804195788e-04f, -5.805762127e-04f, -5.807318326e-04f, -5.808864383e-04f, -5.810400295e-04f, -5.811926060e-04f, -5.813441678e-04f, -5.814947144e-04f, -5.816442459e-04f,
+-5.817927619e-04f, -5.819402624e-04f, -5.820867470e-04f, -5.822322156e-04f, -5.823766681e-04f, -5.825201042e-04f, -5.826625238e-04f, -5.828039267e-04f, -5.829443127e-04f, -5.830836817e-04f,
+-5.832220334e-04f, -5.833593677e-04f, -5.834956845e-04f, -5.836309834e-04f, -5.837652645e-04f, -5.838985276e-04f, -5.840307723e-04f, -5.841619987e-04f, -5.842922065e-04f, -5.844213957e-04f,
+-5.845495659e-04f, -5.846767171e-04f, -5.848028492e-04f, -5.849279619e-04f, -5.850520552e-04f, -5.851751288e-04f, -5.852971827e-04f, -5.854182166e-04f, -5.855382305e-04f, -5.856572242e-04f,
+-5.857751976e-04f, -5.858921506e-04f, -5.860080829e-04f, -5.861229945e-04f, -5.862368853e-04f, -5.863497550e-04f, -5.864616037e-04f, -5.865724310e-04f, -5.866822371e-04f, -5.867910216e-04f,
+-5.868987846e-04f, -5.870055258e-04f, -5.871112451e-04f, -5.872159425e-04f, -5.873196179e-04f, -5.874222710e-04f, -5.875239019e-04f, -5.876245104e-04f, -5.877240963e-04f, -5.878226597e-04f,
+-5.879202003e-04f, -5.880167182e-04f, -5.881122131e-04f, -5.882066850e-04f, -5.883001338e-04f, -5.883925594e-04f, -5.884839618e-04f, -5.885743407e-04f, -5.886636962e-04f, -5.887520281e-04f,
+-5.888393364e-04f, -5.889256210e-04f, -5.890108818e-04f, -5.890951187e-04f, -5.891783316e-04f, -5.892605205e-04f, -5.893416853e-04f, -5.894218259e-04f, -5.895009423e-04f, -5.895790343e-04f,
+-5.896561020e-04f, -5.897321452e-04f, -5.898071639e-04f, -5.898811580e-04f, -5.899541275e-04f, -5.900260723e-04f, -5.900969923e-04f, -5.901668876e-04f, -5.902357580e-04f, -5.903036035e-04f,
+-5.903704240e-04f, -5.904362195e-04f, -5.905009900e-04f, -5.905647353e-04f, -5.906274556e-04f, -5.906891507e-04f, -5.907498205e-04f, -5.908094651e-04f, -5.908680844e-04f, -5.909256784e-04f,
+-5.909822471e-04f, -5.910377904e-04f, -5.910923082e-04f, -5.911458007e-04f, -5.911982676e-04f, -5.912497091e-04f, -5.913001251e-04f, -5.913495156e-04f, -5.913978806e-04f, -5.914452200e-04f,
+-5.914915338e-04f, -5.915368220e-04f, -5.915810847e-04f, -5.916243218e-04f, -5.916665332e-04f, -5.917077191e-04f, -5.917478794e-04f, -5.917870140e-04f, -5.918251230e-04f, -5.918622065e-04f,
+-5.918982643e-04f, -5.919332965e-04f, -5.919673031e-04f, -5.920002842e-04f, -5.920322397e-04f, -5.920631696e-04f, -5.920930740e-04f, -5.921219529e-04f, -5.921498062e-04f, -5.921766341e-04f,
+-5.922024365e-04f, -5.922272135e-04f, -5.922509651e-04f, -5.922736912e-04f, -5.922953920e-04f, -5.923160675e-04f, -5.923357177e-04f, -5.923543426e-04f, -5.923719423e-04f, -5.923885168e-04f,
+-5.924040662e-04f, -5.924185905e-04f, -5.924320897e-04f, -5.924445638e-04f, -5.924560131e-04f, -5.924664373e-04f, -5.924758368e-04f, -5.924842113e-04f, -5.924915612e-04f, -5.924978863e-04f,
+-5.925031867e-04f, -5.925074626e-04f, -5.925107139e-04f, -5.925129408e-04f, -5.925141432e-04f, -5.925143214e-04f, -5.925134752e-04f, -5.925116048e-04f, -5.925087103e-04f, -5.925047918e-04f,
+-5.924998492e-04f, -5.924938828e-04f, -5.924868925e-04f, -5.924788785e-04f, -5.924698408e-04f, -5.924597795e-04f, -5.924486947e-04f, -5.924365866e-04f, -5.924234551e-04f, -5.924093003e-04f,
+-5.923941225e-04f, -5.923779215e-04f, -5.923606977e-04f, -5.923424510e-04f, -5.923231815e-04f, -5.923028894e-04f, -5.922815748e-04f, -5.922592377e-04f, -5.922358783e-04f, -5.922114966e-04f,
+-5.921860929e-04f, -5.921596671e-04f, -5.921322194e-04f, -5.921037500e-04f, -5.920742589e-04f, -5.920437463e-04f, -5.920122123e-04f, -5.919796570e-04f, -5.919460805e-04f, -5.919114830e-04f,
+-5.918758645e-04f, -5.918392253e-04f, -5.918015654e-04f, -5.917628850e-04f, -5.917231842e-04f, -5.916824631e-04f, -5.916407220e-04f, -5.915979609e-04f, -5.915541799e-04f, -5.915093793e-04f,
+-5.914635591e-04f, -5.914167195e-04f, -5.913688607e-04f, -5.913199828e-04f, -5.912700859e-04f, -5.912191703e-04f, -5.911672360e-04f, -5.911142833e-04f, -5.910603122e-04f, -5.910053230e-04f,
+-5.909493158e-04f, -5.908922908e-04f, -5.908342481e-04f, -5.907751879e-04f, -5.907151104e-04f, -5.906540158e-04f, -5.905919042e-04f, -5.905287757e-04f, -5.904646307e-04f, -5.903994692e-04f,
+-5.903332914e-04f, -5.902660976e-04f, -5.901978879e-04f, -5.901286624e-04f, -5.900584215e-04f, -5.899871651e-04f, -5.899148937e-04f, -5.898416073e-04f, -5.897673061e-04f, -5.896919904e-04f,
+-5.896156603e-04f, -5.895383160e-04f, -5.894599578e-04f, -5.893805858e-04f, -5.893002003e-04f, -5.892188014e-04f, -5.891363893e-04f, -5.890529644e-04f, -5.889685267e-04f, -5.888830765e-04f,
+-5.887966140e-04f, -5.887091394e-04f, -5.886206530e-04f, -5.885311550e-04f, -5.884406455e-04f, -5.883491249e-04f, -5.882565932e-04f, -5.881630509e-04f, -5.880684980e-04f, -5.879729349e-04f,
+-5.878763617e-04f, -5.877787787e-04f, -5.876801862e-04f, -5.875805843e-04f, -5.874799733e-04f, -5.873783534e-04f, -5.872757250e-04f, -5.871720881e-04f, -5.870674432e-04f, -5.869617904e-04f,
+-5.868551299e-04f, -5.867474621e-04f, -5.866387872e-04f, -5.865291054e-04f, -5.864184170e-04f, -5.863067222e-04f, -5.861940214e-04f, -5.860803147e-04f, -5.859656025e-04f, -5.858498849e-04f,
+-5.857331624e-04f, -5.856154351e-04f, -5.854967032e-04f, -5.853769672e-04f, -5.852562272e-04f, -5.851344836e-04f, -5.850117366e-04f, -5.848879864e-04f, -5.847632334e-04f, -5.846374779e-04f,
+-5.845107201e-04f, -5.843829604e-04f, -5.842541989e-04f, -5.841244360e-04f, -5.839936721e-04f, -5.838619073e-04f, -5.837291419e-04f, -5.835953764e-04f, -5.834606109e-04f, -5.833248458e-04f,
+-5.831880814e-04f, -5.830503179e-04f, -5.829115558e-04f, -5.827717952e-04f, -5.826310365e-04f, -5.824892800e-04f, -5.823465260e-04f, -5.822027749e-04f, -5.820580269e-04f, -5.819122823e-04f,
+-5.817655416e-04f, -5.816178049e-04f, -5.814690726e-04f, -5.813193452e-04f, -5.811686227e-04f, -5.810169057e-04f, -5.808641944e-04f, -5.807104891e-04f, -5.805557903e-04f, -5.804000981e-04f,
+-5.802434130e-04f, -5.800857354e-04f, -5.799270654e-04f, -5.797674035e-04f, -5.796067500e-04f, -5.794451053e-04f, -5.792824697e-04f, -5.791188436e-04f, -5.789542272e-04f, -5.787886210e-04f,
+-5.786220253e-04f, -5.784544405e-04f, -5.782858669e-04f, -5.781163048e-04f, -5.779457547e-04f, -5.777742168e-04f, -5.776016917e-04f, -5.774281795e-04f, -5.772536807e-04f, -5.770781957e-04f,
+-5.769017248e-04f, -5.767242683e-04f, -5.765458268e-04f, -5.763664005e-04f, -5.761859898e-04f, -5.760045950e-04f, -5.758222167e-04f, -5.756388551e-04f, -5.754545106e-04f, -5.752691837e-04f,
+-5.750828747e-04f, -5.748955839e-04f, -5.747073118e-04f, -5.745180588e-04f, -5.743278253e-04f, -5.741366116e-04f, -5.739444182e-04f, -5.737512454e-04f, -5.735570937e-04f, -5.733619634e-04f,
+-5.731658550e-04f, -5.729687689e-04f, -5.727707054e-04f, -5.725716650e-04f, -5.723716480e-04f, -5.721706550e-04f, -5.719686863e-04f, -5.717657423e-04f, -5.715618234e-04f, -5.713569300e-04f,
+-5.711510627e-04f, -5.709442217e-04f, -5.707364076e-04f, -5.705276207e-04f, -5.703178614e-04f, -5.701071303e-04f, -5.698954277e-04f, -5.696827540e-04f, -5.694691097e-04f, -5.692544952e-04f,
+-5.690389110e-04f, -5.688223575e-04f, -5.686048351e-04f, -5.683863443e-04f, -5.681668855e-04f, -5.679464592e-04f, -5.677250657e-04f, -5.675027057e-04f, -5.672793794e-04f, -5.670550874e-04f,
+-5.668298300e-04f, -5.666036079e-04f, -5.663764213e-04f, -5.661482708e-04f, -5.659191569e-04f, -5.656890799e-04f, -5.654580404e-04f, -5.652260388e-04f, -5.649930756e-04f, -5.647591512e-04f,
+-5.645242661e-04f, -5.642884209e-04f, -5.640516159e-04f, -5.638138516e-04f, -5.635751285e-04f, -5.633354471e-04f, -5.630948079e-04f, -5.628532113e-04f, -5.626106578e-04f, -5.623671479e-04f,
+-5.621226822e-04f, -5.618772610e-04f, -5.616308849e-04f, -5.613835543e-04f, -5.611352697e-04f, -5.608860318e-04f, -5.606358408e-04f, -5.603846974e-04f, -5.601326020e-04f, -5.598795551e-04f,
+-5.596255573e-04f, -5.593706089e-04f, -5.591147107e-04f, -5.588578629e-04f, -5.586000662e-04f, -5.583413211e-04f, -5.580816280e-04f, -5.578209876e-04f, -5.575594002e-04f, -5.572968664e-04f,
+-5.570333867e-04f, -5.567689617e-04f, -5.565035919e-04f, -5.562372777e-04f, -5.559700197e-04f, -5.557018185e-04f, -5.554326746e-04f, -5.551625884e-04f, -5.548915606e-04f, -5.546195916e-04f,
+-5.543466820e-04f, -5.540728323e-04f, -5.537980430e-04f, -5.535223148e-04f, -5.532456481e-04f, -5.529680434e-04f, -5.526895014e-04f, -5.524100226e-04f, -5.521296074e-04f, -5.518482565e-04f,
+-5.515659704e-04f, -5.512827497e-04f, -5.509985948e-04f, -5.507135064e-04f, -5.504274851e-04f, -5.501405313e-04f, -5.498526456e-04f, -5.495638286e-04f, -5.492740809e-04f, -5.489834029e-04f,
+-5.486917954e-04f, -5.483992588e-04f, -5.481057937e-04f, -5.478114007e-04f, -5.475160803e-04f, -5.472198332e-04f, -5.469226599e-04f, -5.466245609e-04f, -5.463255369e-04f, -5.460255884e-04f,
+-5.457247160e-04f, -5.454229203e-04f, -5.451202019e-04f, -5.448165614e-04f, -5.445119993e-04f, -5.442065162e-04f, -5.439001128e-04f, -5.435927896e-04f, -5.432845471e-04f, -5.429753861e-04f,
+-5.426653071e-04f, -5.423543107e-04f, -5.420423975e-04f, -5.417295680e-04f, -5.414158230e-04f, -5.411011630e-04f, -5.407855885e-04f, -5.404691003e-04f, -5.401516989e-04f, -5.398333850e-04f,
+-5.395141590e-04f, -5.391940218e-04f, -5.388729738e-04f, -5.385510157e-04f, -5.382281480e-04f, -5.379043716e-04f, -5.375796868e-04f, -5.372540944e-04f, -5.369275950e-04f, -5.366001892e-04f,
+-5.362718777e-04f, -5.359426610e-04f, -5.356125398e-04f, -5.352815147e-04f, -5.349495864e-04f, -5.346167555e-04f, -5.342830227e-04f, -5.339483885e-04f, -5.336128535e-04f, -5.332764186e-04f,
+-5.329390842e-04f, -5.326008511e-04f, -5.322617198e-04f, -5.319216911e-04f, -5.315807655e-04f, -5.312389437e-04f, -5.308962265e-04f, -5.305526143e-04f, -5.302081079e-04f, -5.298627080e-04f,
+-5.295164151e-04f, -5.291692300e-04f, -5.288211533e-04f, -5.284721856e-04f, -5.281223277e-04f, -5.277715802e-04f, -5.274199437e-04f, -5.270674190e-04f, -5.267140067e-04f, -5.263597074e-04f,
+-5.260045219e-04f, -5.256484508e-04f, -5.252914947e-04f, -5.249336545e-04f, -5.245749307e-04f, -5.242153240e-04f, -5.238548351e-04f, -5.234934646e-04f, -5.231312134e-04f, -5.227680820e-04f,
+-5.224040711e-04f, -5.220391815e-04f, -5.216734138e-04f, -5.213067686e-04f, -5.209392468e-04f, -5.205708490e-04f, -5.202015759e-04f, -5.198314281e-04f, -5.194604065e-04f, -5.190885116e-04f,
+-5.187157442e-04f, -5.183421050e-04f, -5.179675947e-04f, -5.175922140e-04f, -5.172159636e-04f, -5.168388442e-04f, -5.164608565e-04f, -5.160820012e-04f, -5.157022792e-04f, -5.153216909e-04f,
+-5.149402373e-04f, -5.145579189e-04f, -5.141747366e-04f, -5.137906910e-04f, -5.134057828e-04f, -5.130200129e-04f, -5.126333818e-04f, -5.122458904e-04f, -5.118575393e-04f, -5.114683293e-04f,
+-5.110782611e-04f, -5.106873355e-04f, -5.102955532e-04f, -5.099029148e-04f, -5.095094212e-04f, -5.091150732e-04f, -5.087198713e-04f, -5.083238164e-04f, -5.079269092e-04f, -5.075291505e-04f,
+-5.071305410e-04f, -5.067310814e-04f, -5.063307725e-04f, -5.059296150e-04f, -5.055276098e-04f, -5.051247574e-04f, -5.047210588e-04f, -5.043165146e-04f, -5.039111257e-04f, -5.035048926e-04f,
+-5.030978164e-04f, -5.026898976e-04f, -5.022811370e-04f, -5.018715354e-04f, -5.014610936e-04f, -5.010498124e-04f, -5.006376925e-04f, -5.002247346e-04f, -4.998109395e-04f, -4.993963081e-04f,
+-4.989808411e-04f, -4.985645392e-04f, -4.981474033e-04f, -4.977294341e-04f, -4.973106323e-04f, -4.968909989e-04f, -4.964705345e-04f, -4.960492399e-04f, -4.956271159e-04f, -4.952041634e-04f,
+-4.947803830e-04f, -4.943557756e-04f, -4.939303420e-04f, -4.935040829e-04f, -4.930769992e-04f, -4.926490917e-04f, -4.922203610e-04f, -4.917908081e-04f, -4.913604338e-04f, -4.909292387e-04f,
+-4.904972238e-04f, -4.900643899e-04f, -4.896307377e-04f, -4.891962680e-04f, -4.887609816e-04f, -4.883248794e-04f, -4.878879622e-04f, -4.874502308e-04f, -4.870116859e-04f, -4.865723284e-04f,
+-4.861321592e-04f, -4.856911789e-04f, -4.852493885e-04f, -4.848067888e-04f, -4.843633805e-04f, -4.839191646e-04f, -4.834741417e-04f, -4.830283129e-04f, -4.825816787e-04f, -4.821342402e-04f,
+-4.816859981e-04f, -4.812369533e-04f, -4.807871065e-04f, -4.803364586e-04f, -4.798850105e-04f, -4.794327630e-04f, -4.789797169e-04f, -4.785258730e-04f, -4.780712322e-04f, -4.776157954e-04f,
+-4.771595633e-04f, -4.767025369e-04f, -4.762447169e-04f, -4.757861041e-04f, -4.753266996e-04f, -4.748665040e-04f, -4.744055183e-04f, -4.739437432e-04f, -4.734811797e-04f, -4.730178286e-04f,
+-4.725536908e-04f, -4.720887670e-04f, -4.716230583e-04f, -4.711565653e-04f, -4.706892890e-04f, -4.702212302e-04f, -4.697523899e-04f, -4.692827688e-04f, -4.688123678e-04f, -4.683411878e-04f,
+-4.678692297e-04f, -4.673964943e-04f, -4.669229824e-04f, -4.664486951e-04f, -4.659736331e-04f, -4.654977973e-04f, -4.650211886e-04f, -4.645438078e-04f, -4.640656559e-04f, -4.635867337e-04f,
+-4.631070421e-04f, -4.626265820e-04f, -4.621453542e-04f, -4.616633597e-04f, -4.611805992e-04f, -4.606970739e-04f, -4.602127844e-04f, -4.597277316e-04f, -4.592419166e-04f, -4.587553401e-04f,
+-4.582680031e-04f, -4.577799065e-04f, -4.572910511e-04f, -4.568014378e-04f, -4.563110676e-04f, -4.558199413e-04f, -4.553280599e-04f, -4.548354242e-04f, -4.543420351e-04f, -4.538478936e-04f,
+-4.533530005e-04f, -4.528573568e-04f, -4.523609633e-04f, -4.518638211e-04f, -4.513659309e-04f, -4.508672937e-04f, -4.503679104e-04f, -4.498677819e-04f, -4.493669091e-04f, -4.488652930e-04f,
+-4.483629345e-04f, -4.478598344e-04f, -4.473559938e-04f, -4.468514134e-04f, -4.463460944e-04f, -4.458400374e-04f, -4.453332436e-04f, -4.448257138e-04f, -4.443174489e-04f, -4.438084499e-04f,
+-4.432987177e-04f, -4.427882533e-04f, -4.422770575e-04f, -4.417651313e-04f, -4.412524756e-04f, -4.407390914e-04f, -4.402249796e-04f, -4.397101411e-04f, -4.391945769e-04f, -4.386782879e-04f,
+-4.381612751e-04f, -4.376435394e-04f, -4.371250817e-04f, -4.366059030e-04f, -4.360860043e-04f, -4.355653864e-04f, -4.350440504e-04f, -4.345219971e-04f, -4.339992276e-04f, -4.334757427e-04f,
+-4.329515435e-04f, -4.324266309e-04f, -4.319010058e-04f, -4.313746692e-04f, -4.308476221e-04f, -4.303198654e-04f, -4.297914000e-04f, -4.292622270e-04f, -4.287323473e-04f, -4.282017619e-04f,
+-4.276704717e-04f, -4.271384777e-04f, -4.266057808e-04f, -4.260723821e-04f, -4.255382825e-04f, -4.250034829e-04f, -4.244679844e-04f, -4.239317879e-04f, -4.233948944e-04f, -4.228573048e-04f,
+-4.223190202e-04f, -4.217800415e-04f, -4.212403696e-04f, -4.207000057e-04f, -4.201589506e-04f, -4.196172053e-04f, -4.190747709e-04f, -4.185316482e-04f, -4.179878384e-04f, -4.174433423e-04f,
+-4.168981609e-04f, -4.163522953e-04f, -4.158057465e-04f, -4.152585154e-04f, -4.147106030e-04f, -4.141620103e-04f, -4.136127383e-04f, -4.130627880e-04f, -4.125121604e-04f, -4.119608565e-04f,
+-4.114088773e-04f, -4.108562238e-04f, -4.103028970e-04f, -4.097488979e-04f, -4.091942275e-04f, -4.086388867e-04f, -4.080828767e-04f, -4.075261984e-04f, -4.069688528e-04f, -4.064108410e-04f,
+-4.058521639e-04f, -4.052928225e-04f, -4.047328179e-04f, -4.041721511e-04f, -4.036108230e-04f, -4.030488348e-04f, -4.024861873e-04f, -4.019228817e-04f, -4.013589190e-04f, -4.007943001e-04f,
+-4.002290261e-04f, -3.996630980e-04f, -3.990965169e-04f, -3.985292837e-04f, -3.979613995e-04f, -3.973928653e-04f, -3.968236821e-04f, -3.962538510e-04f, -3.956833730e-04f, -3.951122491e-04f,
+-3.945404804e-04f, -3.939680678e-04f, -3.933950125e-04f, -3.928213154e-04f, -3.922469775e-04f, -3.916720000e-04f, -3.910963839e-04f, -3.905201301e-04f, -3.899432398e-04f, -3.893657139e-04f,
+-3.887875536e-04f, -3.882087598e-04f, -3.876293336e-04f, -3.870492761e-04f, -3.864685882e-04f, -3.858872711e-04f, -3.853053258e-04f, -3.847227533e-04f, -3.841395546e-04f, -3.835557309e-04f,
+-3.829712832e-04f, -3.823862125e-04f, -3.818005199e-04f, -3.812142065e-04f, -3.806272732e-04f, -3.800397212e-04f, -3.794515515e-04f, -3.788627651e-04f, -3.782733632e-04f, -3.776833468e-04f,
+-3.770927169e-04f, -3.765014746e-04f, -3.759096210e-04f, -3.753171571e-04f, -3.747240841e-04f, -3.741304029e-04f, -3.735361146e-04f, -3.729412204e-04f, -3.723457212e-04f, -3.717496181e-04f,
+-3.711529123e-04f, -3.705556048e-04f, -3.699576966e-04f, -3.693591889e-04f, -3.687600826e-04f, -3.681603790e-04f, -3.675600790e-04f, -3.669591837e-04f, -3.663576943e-04f, -3.657556117e-04f,
+-3.651529372e-04f, -3.645496717e-04f, -3.639458163e-04f, -3.633413721e-04f, -3.627363403e-04f, -3.621307219e-04f, -3.615245179e-04f, -3.609177295e-04f, -3.603103578e-04f, -3.597024038e-04f,
+-3.590938687e-04f, -3.584847535e-04f, -3.578750593e-04f, -3.572647872e-04f, -3.566539383e-04f, -3.560425137e-04f, -3.554305146e-04f, -3.548179419e-04f, -3.542047968e-04f, -3.535910804e-04f,
+-3.529767937e-04f, -3.523619380e-04f, -3.517465143e-04f, -3.511305236e-04f, -3.505139672e-04f, -3.498968460e-04f, -3.492791612e-04f, -3.486609140e-04f, -3.480421054e-04f, -3.474227365e-04f,
+-3.468028084e-04f, -3.461823222e-04f, -3.455612792e-04f, -3.449396802e-04f, -3.443175266e-04f, -3.436948193e-04f, -3.430715596e-04f, -3.424477484e-04f, -3.418233870e-04f, -3.411984764e-04f,
+-3.405730178e-04f, -3.399470123e-04f, -3.393204610e-04f, -3.386933650e-04f, -3.380657254e-04f, -3.374375434e-04f, -3.368088201e-04f, -3.361795566e-04f, -3.355497541e-04f, -3.349194136e-04f,
+-3.342885362e-04f, -3.336571232e-04f, -3.330251756e-04f, -3.323926946e-04f, -3.317596813e-04f, -3.311261368e-04f, -3.304920623e-04f, -3.298574589e-04f, -3.292223276e-04f, -3.285866698e-04f,
+-3.279504864e-04f, -3.273137786e-04f, -3.266765477e-04f, -3.260387946e-04f, -3.254005205e-04f, -3.247617266e-04f, -3.241224140e-04f, -3.234825839e-04f, -3.228422374e-04f, -3.222013756e-04f,
+-3.215599997e-04f, -3.209181108e-04f, -3.202757100e-04f, -3.196327986e-04f, -3.189893776e-04f, -3.183454483e-04f, -3.177010117e-04f, -3.170560690e-04f, -3.164106213e-04f, -3.157646698e-04f,
+-3.151182157e-04f, -3.144712601e-04f, -3.138238041e-04f, -3.131758489e-04f, -3.125273957e-04f, -3.118784456e-04f, -3.112289998e-04f, -3.105790594e-04f, -3.099286255e-04f, -3.092776994e-04f,
+-3.086262822e-04f, -3.079743751e-04f, -3.073219792e-04f, -3.066690956e-04f, -3.060157256e-04f, -3.053618703e-04f, -3.047075308e-04f, -3.040527084e-04f, -3.033974042e-04f, -3.027416193e-04f,
+-3.020853549e-04f, -3.014286123e-04f, -3.007713925e-04f, -3.001136967e-04f, -2.994555261e-04f, -2.987968819e-04f, -2.981377652e-04f, -2.974781772e-04f, -2.968181191e-04f, -2.961575920e-04f,
+-2.954965972e-04f, -2.948351358e-04f, -2.941732089e-04f, -2.935108178e-04f, -2.928479636e-04f, -2.921846475e-04f, -2.915208707e-04f, -2.908566343e-04f, -2.901919396e-04f, -2.895267877e-04f,
+-2.888611798e-04f, -2.881951171e-04f, -2.875286008e-04f, -2.868616319e-04f, -2.861942119e-04f, -2.855263417e-04f, -2.848580226e-04f, -2.841892558e-04f, -2.835200425e-04f, -2.828503838e-04f,
+-2.821802810e-04f, -2.815097352e-04f, -2.808387476e-04f, -2.801673194e-04f, -2.794954519e-04f, -2.788231461e-04f, -2.781504033e-04f, -2.774772247e-04f, -2.768036115e-04f, -2.761295648e-04f,
+-2.754550859e-04f, -2.747801759e-04f, -2.741048361e-04f, -2.734290676e-04f, -2.727528717e-04f, -2.720762495e-04f, -2.713992022e-04f, -2.707217311e-04f, -2.700438373e-04f, -2.693655221e-04f,
+-2.686867865e-04f, -2.680076320e-04f, -2.673280596e-04f, -2.666480705e-04f, -2.659676659e-04f, -2.652868472e-04f, -2.646056153e-04f, -2.639239717e-04f, -2.632419174e-04f, -2.625594537e-04f,
+-2.618765818e-04f, -2.611933028e-04f, -2.605096181e-04f, -2.598255288e-04f, -2.591410361e-04f, -2.584561412e-04f, -2.577708454e-04f, -2.570851498e-04f, -2.563990557e-04f, -2.557125642e-04f,
+-2.550256767e-04f, -2.543383942e-04f, -2.536507181e-04f, -2.529626495e-04f, -2.522741897e-04f, -2.515853399e-04f, -2.508961012e-04f, -2.502064749e-04f, -2.495164623e-04f, -2.488260645e-04f,
+-2.481352827e-04f, -2.474441182e-04f, -2.467525723e-04f, -2.460606460e-04f, -2.453683407e-04f, -2.446756576e-04f, -2.439825979e-04f, -2.432891627e-04f, -2.425953534e-04f, -2.419011712e-04f,
+-2.412066173e-04f, -2.405116928e-04f, -2.398163992e-04f, -2.391207374e-04f, -2.384247089e-04f, -2.377283148e-04f, -2.370315563e-04f, -2.363344347e-04f, -2.356369513e-04f, -2.349391071e-04f,
+-2.342409036e-04f, -2.335423418e-04f, -2.328434231e-04f, -2.321441486e-04f, -2.314445197e-04f, -2.307445374e-04f, -2.300442032e-04f, -2.293435181e-04f, -2.286424835e-04f, -2.279411005e-04f,
+-2.272393705e-04f, -2.265372946e-04f, -2.258348740e-04f, -2.251321101e-04f, -2.244290041e-04f, -2.237255571e-04f, -2.230217705e-04f, -2.223176454e-04f, -2.216131832e-04f, -2.209083850e-04f,
+-2.202032521e-04f, -2.194977857e-04f, -2.187919872e-04f, -2.180858576e-04f, -2.173793983e-04f, -2.166726105e-04f, -2.159654955e-04f, -2.152580545e-04f, -2.145502887e-04f, -2.138421994e-04f,
+-2.131337878e-04f, -2.124250552e-04f, -2.117160028e-04f, -2.110066320e-04f, -2.102969438e-04f, -2.095869396e-04f, -2.088766206e-04f, -2.081659881e-04f, -2.074550433e-04f, -2.067437875e-04f,
+-2.060322219e-04f, -2.053203477e-04f, -2.046081663e-04f, -2.038956789e-04f, -2.031828866e-04f, -2.024697909e-04f, -2.017563929e-04f, -2.010426939e-04f, -2.003286951e-04f, -1.996143978e-04f,
+-1.988998033e-04f, -1.981849127e-04f, -1.974697275e-04f, -1.967542487e-04f, -1.960384777e-04f, -1.953224158e-04f, -1.946060641e-04f, -1.938894240e-04f, -1.931724967e-04f, -1.924552834e-04f,
+-1.917377855e-04f, -1.910200042e-04f, -1.903019407e-04f, -1.895835963e-04f, -1.888649722e-04f, -1.881460698e-04f, -1.874268903e-04f, -1.867074349e-04f, -1.859877050e-04f, -1.852677017e-04f,
+-1.845474263e-04f, -1.838268802e-04f, -1.831060645e-04f, -1.823849805e-04f, -1.816636296e-04f, -1.809420129e-04f, -1.802201317e-04f, -1.794979873e-04f, -1.787755810e-04f, -1.780529140e-04f,
+-1.773299876e-04f, -1.766068030e-04f, -1.758833616e-04f, -1.751596645e-04f, -1.744357132e-04f, -1.737115087e-04f, -1.729870525e-04f, -1.722623457e-04f, -1.715373897e-04f, -1.708121856e-04f,
+-1.700867349e-04f, -1.693610387e-04f, -1.686350983e-04f, -1.679089150e-04f, -1.671824901e-04f, -1.664558248e-04f, -1.657289205e-04f, -1.650017783e-04f, -1.642743996e-04f, -1.635467856e-04f,
+-1.628189376e-04f, -1.620908568e-04f, -1.613625447e-04f, -1.606340023e-04f, -1.599052311e-04f, -1.591762322e-04f, -1.584470070e-04f, -1.577175568e-04f, -1.569878827e-04f, -1.562579861e-04f,
+-1.555278683e-04f, -1.547975305e-04f, -1.540669740e-04f, -1.533362001e-04f, -1.526052101e-04f, -1.518740052e-04f, -1.511425868e-04f, -1.504109560e-04f, -1.496791143e-04f, -1.489470628e-04f,
+-1.482148028e-04f, -1.474823357e-04f, -1.467496627e-04f, -1.460167851e-04f, -1.452837041e-04f, -1.445504211e-04f, -1.438169373e-04f, -1.430832540e-04f, -1.423493725e-04f, -1.416152941e-04f,
+-1.408810201e-04f, -1.401465517e-04f, -1.394118902e-04f, -1.386770369e-04f, -1.379419931e-04f, -1.372067601e-04f, -1.364713391e-04f, -1.357357315e-04f, -1.349999385e-04f, -1.342639614e-04f,
+-1.335278015e-04f, -1.327914601e-04f, -1.320549384e-04f, -1.313182378e-04f, -1.305813596e-04f, -1.298443049e-04f, -1.291070752e-04f, -1.283696717e-04f, -1.276320956e-04f, -1.268943483e-04f,
+-1.261564311e-04f, -1.254183452e-04f, -1.246800920e-04f, -1.239416726e-04f, -1.232030885e-04f, -1.224643409e-04f, -1.217254310e-04f, -1.209863602e-04f, -1.202471298e-04f, -1.195077410e-04f,
+-1.187681952e-04f, -1.180284936e-04f, -1.172886375e-04f, -1.165486282e-04f, -1.158084670e-04f, -1.150681552e-04f, -1.143276941e-04f, -1.135870849e-04f, -1.128463290e-04f, -1.121054277e-04f,
+-1.113643822e-04f, -1.106231938e-04f, -1.098818638e-04f, -1.091403936e-04f, -1.083987843e-04f, -1.076570373e-04f, -1.069151540e-04f, -1.061731355e-04f, -1.054309831e-04f, -1.046886983e-04f,
+-1.039462822e-04f, -1.032037361e-04f, -1.024610614e-04f, -1.017182593e-04f, -1.009753311e-04f, -1.002322782e-04f, -9.948910175e-05f, -9.874580312e-05f, -9.800238358e-05f, -9.725884444e-05f,
+-9.651518699e-05f, -9.577141251e-05f, -9.502752231e-05f, -9.428351767e-05f, -9.353939990e-05f, -9.279517028e-05f, -9.205083011e-05f, -9.130638068e-05f, -9.056182329e-05f, -8.981715924e-05f,
+-8.907238981e-05f, -8.832751631e-05f, -8.758254002e-05f, -8.683746224e-05f, -8.609228428e-05f, -8.534700741e-05f, -8.460163294e-05f, -8.385616217e-05f, -8.311059638e-05f, -8.236493688e-05f,
+-8.161918496e-05f, -8.087334191e-05f, -8.012740904e-05f, -7.938138763e-05f, -7.863527898e-05f, -7.788908440e-05f, -7.714280516e-05f, -7.639644258e-05f, -7.564999795e-05f, -7.490347255e-05f,
+-7.415686770e-05f, -7.341018468e-05f, -7.266342479e-05f, -7.191658933e-05f, -7.116967960e-05f, -7.042269688e-05f, -6.967564248e-05f, -6.892851770e-05f, -6.818132383e-05f, -6.743406216e-05f,
+-6.668673399e-05f, -6.593934063e-05f, -6.519188336e-05f, -6.444436349e-05f, -6.369678230e-05f, -6.294914111e-05f, -6.220144119e-05f, -6.145368386e-05f, -6.070587040e-05f, -5.995800212e-05f,
+-5.921008030e-05f, -5.846210626e-05f, -5.771408128e-05f, -5.696600665e-05f, -5.621788369e-05f, -5.546971368e-05f, -5.472149792e-05f, -5.397323771e-05f, -5.322493435e-05f, -5.247658912e-05f,
+-5.172820334e-05f, -5.097977829e-05f, -5.023131527e-05f, -4.948281558e-05f, -4.873428051e-05f, -4.798571136e-05f, -4.723710944e-05f, -4.648847603e-05f, -4.573981242e-05f, -4.499111993e-05f,
+-4.424239984e-05f, -4.349365345e-05f, -4.274488206e-05f, -4.199608697e-05f, -4.124726946e-05f, -4.049843084e-05f, -3.974957239e-05f, -3.900069543e-05f, -3.825180125e-05f, -3.750289113e-05f,
+-3.675396638e-05f, -3.600502829e-05f, -3.525607816e-05f, -3.450711728e-05f, -3.375814695e-05f, -3.300916847e-05f, -3.226018313e-05f, -3.151119223e-05f, -3.076219705e-05f, -3.001319891e-05f,
+-2.926419908e-05f, -2.851519888e-05f, -2.776619958e-05f, -2.701720250e-05f, -2.626820891e-05f, -2.551922013e-05f, -2.477023743e-05f, -2.402126212e-05f, -2.327229550e-05f, -2.252333885e-05f,
+-2.177439347e-05f, -2.102546065e-05f, -2.027654169e-05f, -1.952763788e-05f, -1.877875052e-05f, -1.802988090e-05f, -1.728103032e-05f, -1.653220006e-05f, -1.578339142e-05f, -1.503460569e-05f,
+-1.428584417e-05f, -1.353710815e-05f, -1.278839893e-05f, -1.203971779e-05f, -1.129106602e-05f, -1.054244493e-05f, -9.793855802e-06f, -9.045299928e-06f, -8.296778602e-06f, -7.548293115e-06f,
+-6.799844759e-06f, -6.051434825e-06f, -5.303064606e-06f, -4.554735392e-06f, -3.806448474e-06f, -3.058205144e-06f, -2.310006692e-06f, -1.561854410e-06f, -8.137495866e-07f, -6.569351339e-08f,
+6.823125199e-07f, 1.430267223e-06f, 2.178169307e-06f, 2.926017480e-06f, 3.673810456e-06f, 4.421546942e-06f, 5.169225652e-06f, 5.916845295e-06f, 6.664404584e-06f, 7.411902229e-06f,
+8.159336942e-06f, 8.906707436e-06f, 9.654012421e-06f, 1.040125061e-05f, 1.114842072e-05f, 1.189552145e-05f, 1.264255153e-05f, 1.338950967e-05f, 1.413639457e-05f, 1.488320496e-05f,
+1.562993954e-05f, 1.637659703e-05f, 1.712317615e-05f, 1.786967560e-05f, 1.861609411e-05f, 1.936243038e-05f, 2.010868314e-05f, 2.085485110e-05f, 2.160093297e-05f, 2.234692747e-05f,
+2.309283331e-05f, 2.383864922e-05f, 2.458437390e-05f, 2.533000608e-05f, 2.607554448e-05f, 2.682098780e-05f, 2.756633477e-05f, 2.831158410e-05f, 2.905673451e-05f, 2.980178473e-05f,
+3.054673346e-05f, 3.129157943e-05f, 3.203632136e-05f, 3.278095797e-05f, 3.352548797e-05f, 3.426991008e-05f, 3.501422304e-05f, 3.575842554e-05f, 3.650251633e-05f, 3.724649411e-05f,
+3.799035761e-05f, 3.873410555e-05f, 3.947773665e-05f, 4.022124963e-05f, 4.096464322e-05f, 4.170791614e-05f, 4.245106712e-05f, 4.319409486e-05f, 4.393699811e-05f, 4.467977558e-05f,
+4.542242599e-05f, 4.616494808e-05f, 4.690734056e-05f, 4.764960216e-05f, 4.839173161e-05f, 4.913372763e-05f, 4.987558895e-05f, 5.061731429e-05f, 5.135890238e-05f, 5.210035196e-05f,
+5.284166173e-05f, 5.358283044e-05f, 5.432385681e-05f, 5.506473957e-05f, 5.580547744e-05f, 5.654606916e-05f, 5.728651346e-05f, 5.802680906e-05f, 5.876695470e-05f, 5.950694910e-05f,
+6.024679100e-05f, 6.098647913e-05f, 6.172601221e-05f, 6.246538899e-05f, 6.320460818e-05f, 6.394366854e-05f, 6.468256878e-05f, 6.542130764e-05f, 6.615988385e-05f, 6.689829615e-05f,
+6.763654328e-05f, 6.837462396e-05f, 6.911253693e-05f, 6.985028093e-05f, 7.058785469e-05f, 7.132525696e-05f, 7.206248645e-05f, 7.279954192e-05f, 7.353642210e-05f, 7.427312573e-05f,
+7.500965154e-05f, 7.574599828e-05f, 7.648216468e-05f, 7.721814948e-05f, 7.795395142e-05f, 7.868956924e-05f, 7.942500169e-05f, 8.016024750e-05f, 8.089530541e-05f, 8.163017417e-05f,
+8.236485251e-05f, 8.309933919e-05f, 8.383363294e-05f, 8.456773250e-05f, 8.530163662e-05f, 8.603534405e-05f, 8.676885353e-05f, 8.750216380e-05f, 8.823527361e-05f, 8.896818171e-05f,
+8.970088684e-05f, 9.043338774e-05f, 9.116568317e-05f, 9.189777187e-05f, 9.262965260e-05f, 9.336132409e-05f, 9.409278510e-05f, 9.482403438e-05f, 9.555507068e-05f, 9.628589275e-05f,
+9.701649933e-05f, 9.774688918e-05f, 9.847706106e-05f, 9.920701370e-05f, 9.993674588e-05f, 1.006662563e-04f, 1.013955438e-04f, 1.021246071e-04f, 1.028534449e-04f, 1.035820560e-04f,
+1.043104392e-04f, 1.050385931e-04f, 1.057665167e-04f, 1.064942085e-04f, 1.072216675e-04f, 1.079488922e-04f, 1.086758816e-04f, 1.094026343e-04f, 1.101291491e-04f, 1.108554248e-04f,
+1.115814601e-04f, 1.123072539e-04f, 1.130328047e-04f, 1.137581115e-04f, 1.144831730e-04f, 1.152079879e-04f, 1.159325550e-04f, 1.166568731e-04f, 1.173809409e-04f, 1.181047572e-04f,
+1.188283208e-04f, 1.195516304e-04f, 1.202746848e-04f, 1.209974828e-04f, 1.217200230e-04f, 1.224423044e-04f, 1.231643257e-04f, 1.238860856e-04f, 1.246075829e-04f, 1.253288163e-04f,
+1.260497847e-04f, 1.267704869e-04f, 1.274909215e-04f, 1.282110873e-04f, 1.289309832e-04f, 1.296506080e-04f, 1.303699603e-04f, 1.310890389e-04f, 1.318078427e-04f, 1.325263704e-04f,
+1.332446207e-04f, 1.339625926e-04f, 1.346802846e-04f, 1.353976957e-04f, 1.361148245e-04f, 1.368316700e-04f, 1.375482308e-04f, 1.382645057e-04f, 1.389804935e-04f, 1.396961930e-04f,
+1.404116030e-04f, 1.411267223e-04f, 1.418415496e-04f, 1.425560837e-04f, 1.432703234e-04f, 1.439842675e-04f, 1.446979148e-04f, 1.454112641e-04f, 1.461243141e-04f, 1.468370636e-04f,
+1.475495115e-04f, 1.482616565e-04f, 1.489734973e-04f, 1.496850329e-04f, 1.503962620e-04f, 1.511071833e-04f, 1.518177957e-04f, 1.525280980e-04f, 1.532380889e-04f, 1.539477672e-04f,
+1.546571318e-04f, 1.553661814e-04f, 1.560749148e-04f, 1.567833309e-04f, 1.574914284e-04f, 1.581992061e-04f, 1.589066628e-04f, 1.596137973e-04f, 1.603206084e-04f, 1.610270950e-04f,
+1.617332557e-04f, 1.624390895e-04f, 1.631445951e-04f, 1.638497713e-04f, 1.645546169e-04f, 1.652591307e-04f, 1.659633116e-04f, 1.666671582e-04f, 1.673706696e-04f, 1.680738443e-04f,
+1.687766813e-04f, 1.694791794e-04f, 1.701813373e-04f, 1.708831539e-04f, 1.715846280e-04f, 1.722857584e-04f, 1.729865439e-04f, 1.736869833e-04f, 1.743870754e-04f, 1.750868190e-04f,
+1.757862131e-04f, 1.764852562e-04f, 1.771839474e-04f, 1.778822854e-04f, 1.785802689e-04f, 1.792778969e-04f, 1.799751682e-04f, 1.806720815e-04f, 1.813686357e-04f, 1.820648296e-04f,
+1.827606620e-04f, 1.834561318e-04f, 1.841512378e-04f, 1.848459787e-04f, 1.855403535e-04f, 1.862343609e-04f, 1.869279997e-04f, 1.876212689e-04f, 1.883141671e-04f, 1.890066933e-04f,
+1.896988463e-04f, 1.903906249e-04f, 1.910820278e-04f, 1.917730541e-04f, 1.924637024e-04f, 1.931539717e-04f, 1.938438607e-04f, 1.945333683e-04f, 1.952224933e-04f, 1.959112345e-04f,
+1.965995909e-04f, 1.972875611e-04f, 1.979751441e-04f, 1.986623387e-04f, 1.993491438e-04f, 2.000355581e-04f, 2.007215805e-04f, 2.014072099e-04f, 2.020924450e-04f, 2.027772848e-04f,
+2.034617281e-04f, 2.041457737e-04f, 2.048294204e-04f, 2.055126672e-04f, 2.061955128e-04f, 2.068779561e-04f, 2.075599959e-04f, 2.082416312e-04f, 2.089228607e-04f, 2.096036832e-04f,
+2.102840978e-04f, 2.109641031e-04f, 2.116436980e-04f, 2.123228815e-04f, 2.130016523e-04f, 2.136800093e-04f, 2.143579513e-04f, 2.150354773e-04f, 2.157125861e-04f, 2.163892764e-04f,
+2.170655473e-04f, 2.177413975e-04f, 2.184168259e-04f, 2.190918314e-04f, 2.197664128e-04f, 2.204405690e-04f, 2.211142988e-04f, 2.217876012e-04f, 2.224604749e-04f, 2.231329189e-04f,
+2.238049320e-04f, 2.244765131e-04f, 2.251476610e-04f, 2.258183746e-04f, 2.264886528e-04f, 2.271584945e-04f, 2.278278985e-04f, 2.284968637e-04f, 2.291653890e-04f, 2.298334732e-04f,
+2.305011152e-04f, 2.311683139e-04f, 2.318350682e-04f, 2.325013769e-04f, 2.331672390e-04f, 2.338326533e-04f, 2.344976186e-04f, 2.351621339e-04f, 2.358261981e-04f, 2.364898099e-04f,
+2.371529684e-04f, 2.378156724e-04f, 2.384779208e-04f, 2.391397124e-04f, 2.398010462e-04f, 2.404619210e-04f, 2.411223357e-04f, 2.417822893e-04f, 2.424417805e-04f, 2.431008084e-04f,
+2.437593717e-04f, 2.444174694e-04f, 2.450751004e-04f, 2.457322635e-04f, 2.463889578e-04f, 2.470451819e-04f, 2.477009350e-04f, 2.483562157e-04f, 2.490110232e-04f, 2.496653561e-04f,
+2.503192136e-04f, 2.509725944e-04f, 2.516254974e-04f, 2.522779216e-04f, 2.529298659e-04f, 2.535813291e-04f, 2.542323102e-04f, 2.548828081e-04f, 2.555328216e-04f, 2.561823498e-04f,
+2.568313915e-04f, 2.574799455e-04f, 2.581280110e-04f, 2.587755866e-04f, 2.594226714e-04f, 2.600692643e-04f, 2.607153641e-04f, 2.613609699e-04f, 2.620060805e-04f, 2.626506948e-04f,
+2.632948117e-04f, 2.639384302e-04f, 2.645815492e-04f, 2.652241677e-04f, 2.658662844e-04f, 2.665078985e-04f, 2.671490087e-04f, 2.677896140e-04f, 2.684297133e-04f, 2.690693057e-04f,
+2.697083899e-04f, 2.703469649e-04f, 2.709850297e-04f, 2.716225831e-04f, 2.722596242e-04f, 2.728961518e-04f, 2.735321649e-04f, 2.741676624e-04f, 2.748026433e-04f, 2.754371064e-04f,
+2.760710508e-04f, 2.767044753e-04f, 2.773373790e-04f, 2.779697607e-04f, 2.786016193e-04f, 2.792329539e-04f, 2.798637634e-04f, 2.804940467e-04f, 2.811238027e-04f, 2.817530305e-04f,
+2.823817289e-04f, 2.830098969e-04f, 2.836375335e-04f, 2.842646376e-04f, 2.848912081e-04f, 2.855172441e-04f, 2.861427444e-04f, 2.867677080e-04f, 2.873921339e-04f, 2.880160210e-04f,
+2.886393683e-04f, 2.892621748e-04f, 2.898844393e-04f, 2.905061609e-04f, 2.911273386e-04f, 2.917479712e-04f, 2.923680578e-04f, 2.929875973e-04f, 2.936065887e-04f, 2.942250309e-04f,
+2.948429230e-04f, 2.954602638e-04f, 2.960770524e-04f, 2.966932877e-04f, 2.973089687e-04f, 2.979240944e-04f, 2.985386637e-04f, 2.991526756e-04f, 2.997661292e-04f, 3.003790233e-04f,
+3.009913569e-04f, 3.016031291e-04f, 3.022143388e-04f, 3.028249849e-04f, 3.034350666e-04f, 3.040445827e-04f, 3.046535322e-04f, 3.052619142e-04f, 3.058697275e-04f, 3.064769713e-04f,
+3.070836444e-04f, 3.076897459e-04f, 3.082952748e-04f, 3.089002301e-04f, 3.095046106e-04f, 3.101084156e-04f, 3.107116438e-04f, 3.113142944e-04f, 3.119163663e-04f, 3.125178586e-04f,
+3.131187702e-04f, 3.137191001e-04f, 3.143188473e-04f, 3.149180108e-04f, 3.155165897e-04f, 3.161145829e-04f, 3.167119895e-04f, 3.173088084e-04f, 3.179050387e-04f, 3.185006793e-04f,
+3.190957293e-04f, 3.196901877e-04f, 3.202840535e-04f, 3.208773257e-04f, 3.214700033e-04f, 3.220620854e-04f, 3.226535709e-04f, 3.232444589e-04f, 3.238347484e-04f, 3.244244384e-04f,
+3.250135279e-04f, 3.256020160e-04f, 3.261899016e-04f, 3.267771839e-04f, 3.273638618e-04f, 3.279499343e-04f, 3.285354005e-04f, 3.291202594e-04f, 3.297045101e-04f, 3.302881515e-04f,
+3.308711827e-04f, 3.314536028e-04f, 3.320354107e-04f, 3.326166055e-04f, 3.331971863e-04f, 3.337771520e-04f, 3.343565017e-04f, 3.349352345e-04f, 3.355133494e-04f, 3.360908455e-04f,
+3.366677217e-04f, 3.372439771e-04f, 3.378196108e-04f, 3.383946218e-04f, 3.389690092e-04f, 3.395427720e-04f, 3.401159092e-04f, 3.406884200e-04f, 3.412603033e-04f, 3.418315583e-04f,
+3.424021839e-04f, 3.429721793e-04f, 3.435415434e-04f, 3.441102754e-04f, 3.446783742e-04f, 3.452458391e-04f, 3.458126690e-04f, 3.463788629e-04f, 3.469444200e-04f, 3.475093393e-04f,
+3.480736199e-04f, 3.486372609e-04f, 3.492002612e-04f, 3.497626201e-04f, 3.503243365e-04f, 3.508854095e-04f, 3.514458383e-04f, 3.520056218e-04f, 3.525647592e-04f, 3.531232495e-04f,
+3.536810918e-04f, 3.542382852e-04f, 3.547948287e-04f, 3.553507215e-04f, 3.559059626e-04f, 3.564605512e-04f, 3.570144862e-04f, 3.575677669e-04f, 3.581203922e-04f, 3.586723612e-04f,
+3.592236731e-04f, 3.597743270e-04f, 3.603243219e-04f, 3.608736569e-04f, 3.614223311e-04f, 3.619703437e-04f, 3.625176937e-04f, 3.630643801e-04f, 3.636104022e-04f, 3.641557590e-04f,
+3.647004497e-04f, 3.652444732e-04f, 3.657878287e-04f, 3.663305154e-04f, 3.668725323e-04f, 3.674138786e-04f, 3.679545533e-04f, 3.684945556e-04f, 3.690338845e-04f, 3.695725392e-04f,
+3.701105188e-04f, 3.706478225e-04f, 3.711844492e-04f, 3.717203982e-04f, 3.722556686e-04f, 3.727902595e-04f, 3.733241700e-04f, 3.738573992e-04f, 3.743899462e-04f, 3.749218103e-04f,
+3.754529904e-04f, 3.759834858e-04f, 3.765132955e-04f, 3.770424188e-04f, 3.775708546e-04f, 3.780986022e-04f, 3.786256607e-04f, 3.791520292e-04f, 3.796777069e-04f, 3.802026929e-04f,
+3.807269863e-04f, 3.812505863e-04f, 3.817734921e-04f, 3.822957026e-04f, 3.828172172e-04f, 3.833380350e-04f, 3.838581550e-04f, 3.843775765e-04f, 3.848962985e-04f, 3.854143203e-04f,
+3.859316411e-04f, 3.864482598e-04f, 3.869641758e-04f, 3.874793881e-04f, 3.879938959e-04f, 3.885076984e-04f, 3.890207947e-04f, 3.895331840e-04f, 3.900448655e-04f, 3.905558383e-04f,
+3.910661015e-04f, 3.915756544e-04f, 3.920844961e-04f, 3.925926258e-04f, 3.931000427e-04f, 3.936067458e-04f, 3.941127345e-04f, 3.946180078e-04f, 3.951225650e-04f, 3.956264051e-04f,
+3.961295275e-04f, 3.966319312e-04f, 3.971336155e-04f, 3.976345795e-04f, 3.981348224e-04f, 3.986343434e-04f, 3.991331417e-04f, 3.996312165e-04f, 4.001285669e-04f, 4.006251921e-04f,
+4.011210914e-04f, 4.016162639e-04f, 4.021107089e-04f, 4.026044254e-04f, 4.030974127e-04f, 4.035896701e-04f, 4.040811966e-04f, 4.045719916e-04f, 4.050620542e-04f, 4.055513835e-04f,
+4.060399789e-04f, 4.065278394e-04f, 4.070149644e-04f, 4.075013530e-04f, 4.079870045e-04f, 4.084719180e-04f, 4.089560927e-04f, 4.094395279e-04f, 4.099222228e-04f, 4.104041766e-04f,
+4.108853885e-04f, 4.113658577e-04f, 4.118455835e-04f, 4.123245650e-04f, 4.128028015e-04f, 4.132802923e-04f, 4.137570365e-04f, 4.142330333e-04f, 4.147082820e-04f, 4.151827819e-04f,
+4.156565321e-04f, 4.161295319e-04f, 4.166017805e-04f, 4.170732772e-04f, 4.175440211e-04f, 4.180140116e-04f, 4.184832478e-04f, 4.189517290e-04f, 4.194194544e-04f, 4.198864234e-04f,
+4.203526350e-04f, 4.208180887e-04f, 4.212827835e-04f, 4.217467188e-04f, 4.222098938e-04f, 4.226723078e-04f, 4.231339600e-04f, 4.235948496e-04f, 4.240549760e-04f, 4.245143384e-04f,
+4.249729359e-04f, 4.254307680e-04f, 4.258878339e-04f, 4.263441327e-04f, 4.267996638e-04f, 4.272544265e-04f, 4.277084200e-04f, 4.281616435e-04f, 4.286140964e-04f, 4.290657779e-04f,
+4.295166872e-04f, 4.299668238e-04f, 4.304161867e-04f, 4.308647754e-04f, 4.313125890e-04f, 4.317596269e-04f, 4.322058883e-04f, 4.326513725e-04f, 4.330960789e-04f, 4.335400066e-04f,
+4.339831550e-04f, 4.344255233e-04f, 4.348671109e-04f, 4.353079170e-04f, 4.357479409e-04f, 4.361871820e-04f, 4.366256394e-04f, 4.370633126e-04f, 4.375002007e-04f, 4.379363031e-04f,
+4.383716192e-04f, 4.388061481e-04f, 4.392398892e-04f, 4.396728418e-04f, 4.401050052e-04f, 4.405363787e-04f, 4.409669616e-04f, 4.413967533e-04f, 4.418257529e-04f, 4.422539600e-04f,
+4.426813737e-04f, 4.431079933e-04f, 4.435338182e-04f, 4.439588478e-04f, 4.443830813e-04f, 4.448065180e-04f, 4.452291572e-04f, 4.456509984e-04f, 4.460720408e-04f, 4.464922837e-04f,
+4.469117265e-04f, 4.473303685e-04f, 4.477482089e-04f, 4.481652473e-04f, 4.485814828e-04f, 4.489969149e-04f, 4.494115428e-04f, 4.498253659e-04f, 4.502383836e-04f, 4.506505951e-04f,
+4.510619998e-04f, 4.514725971e-04f, 4.518823863e-04f, 4.522913668e-04f, 4.526995378e-04f, 4.531068988e-04f, 4.535134491e-04f, 4.539191880e-04f, 4.543241149e-04f, 4.547282292e-04f,
+4.551315302e-04f, 4.555340173e-04f, 4.559356898e-04f, 4.563365470e-04f, 4.567365885e-04f, 4.571358134e-04f, 4.575342212e-04f, 4.579318112e-04f, 4.583285829e-04f, 4.587245355e-04f,
+4.591196685e-04f, 4.595139812e-04f, 4.599074730e-04f, 4.603001433e-04f, 4.606919914e-04f, 4.610830168e-04f, 4.614732187e-04f, 4.618625967e-04f, 4.622511500e-04f, 4.626388780e-04f,
+4.630257802e-04f, 4.634118559e-04f, 4.637971045e-04f, 4.641815254e-04f, 4.645651180e-04f, 4.649478817e-04f, 4.653298158e-04f, 4.657109199e-04f, 4.660911932e-04f, 4.664706351e-04f,
+4.668492452e-04f, 4.672270227e-04f, 4.676039671e-04f, 4.679800777e-04f, 4.683553540e-04f, 4.687297955e-04f, 4.691034014e-04f, 4.694761712e-04f, 4.698481044e-04f, 4.702192002e-04f,
+4.705894583e-04f, 4.709588779e-04f, 4.713274584e-04f, 4.716951994e-04f, 4.720621002e-04f, 4.724281602e-04f, 4.727933789e-04f, 4.731577557e-04f, 4.735212901e-04f, 4.738839813e-04f,
+4.742458290e-04f, 4.746068324e-04f, 4.749669911e-04f, 4.753263045e-04f, 4.756847719e-04f, 4.760423930e-04f, 4.763991670e-04f, 4.767550934e-04f, 4.771101717e-04f, 4.774644013e-04f,
+4.778177817e-04f, 4.781703123e-04f, 4.785219925e-04f, 4.788728218e-04f, 4.792227997e-04f, 4.795719255e-04f, 4.799201989e-04f, 4.802676191e-04f, 4.806141857e-04f, 4.809598981e-04f,
+4.813047558e-04f, 4.816487583e-04f, 4.819919050e-04f, 4.823341953e-04f, 4.826756288e-04f, 4.830162049e-04f, 4.833559230e-04f, 4.836947827e-04f, 4.840327835e-04f, 4.843699247e-04f,
+4.847062059e-04f, 4.850416265e-04f, 4.853761861e-04f, 4.857098840e-04f, 4.860427198e-04f, 4.863746930e-04f, 4.867058031e-04f, 4.870360494e-04f, 4.873654316e-04f, 4.876939491e-04f,
+4.880216014e-04f, 4.883483880e-04f, 4.886743084e-04f, 4.889993621e-04f, 4.893235485e-04f, 4.896468672e-04f, 4.899693177e-04f, 4.902908995e-04f, 4.906116120e-04f, 4.909314548e-04f,
+4.912504274e-04f, 4.915685293e-04f, 4.918857600e-04f, 4.922021190e-04f, 4.925176058e-04f, 4.928322200e-04f, 4.931459610e-04f, 4.934588283e-04f, 4.937708216e-04f, 4.940819403e-04f,
+4.943921839e-04f, 4.947015519e-04f, 4.950100439e-04f, 4.953176595e-04f, 4.956243980e-04f, 4.959302591e-04f, 4.962352423e-04f, 4.965393471e-04f, 4.968425730e-04f, 4.971449196e-04f,
+4.974463865e-04f, 4.977469731e-04f, 4.980466790e-04f, 4.983455037e-04f, 4.986434469e-04f, 4.989405079e-04f, 4.992366864e-04f, 4.995319820e-04f, 4.998263941e-04f, 5.001199223e-04f,
+5.004125662e-04f, 5.007043253e-04f, 5.009951993e-04f, 5.012851875e-04f, 5.015742896e-04f, 5.018625052e-04f, 5.021498338e-04f, 5.024362750e-04f, 5.027218283e-04f, 5.030064934e-04f,
+5.032902697e-04f, 5.035731568e-04f, 5.038551544e-04f, 5.041362619e-04f, 5.044164791e-04f, 5.046958053e-04f, 5.049742403e-04f, 5.052517836e-04f, 5.055284347e-04f, 5.058041933e-04f,
+5.060790589e-04f, 5.063530312e-04f, 5.066261097e-04f, 5.068982940e-04f, 5.071695836e-04f, 5.074399782e-04f, 5.077094775e-04f, 5.079780808e-04f, 5.082457880e-04f, 5.085125985e-04f,
+5.087785119e-04f, 5.090435279e-04f, 5.093076461e-04f, 5.095708661e-04f, 5.098331874e-04f, 5.100946097e-04f, 5.103551325e-04f, 5.106147556e-04f, 5.108734785e-04f, 5.111313008e-04f,
+5.113882221e-04f, 5.116442421e-04f, 5.118993604e-04f, 5.121535765e-04f, 5.124068902e-04f, 5.126593010e-04f, 5.129108086e-04f, 5.131614125e-04f, 5.134111125e-04f, 5.136599081e-04f,
+5.139077989e-04f, 5.141547847e-04f, 5.144008650e-04f, 5.146460395e-04f, 5.148903078e-04f, 5.151336696e-04f, 5.153761244e-04f, 5.156176720e-04f, 5.158583119e-04f, 5.160980439e-04f,
+5.163368675e-04f, 5.165747825e-04f, 5.168117884e-04f, 5.170478849e-04f, 5.172830717e-04f, 5.175173484e-04f, 5.177507147e-04f, 5.179831703e-04f, 5.182147147e-04f, 5.184453477e-04f,
+5.186750690e-04f, 5.189038781e-04f, 5.191317747e-04f, 5.193587586e-04f, 5.195848294e-04f, 5.198099867e-04f, 5.200342303e-04f, 5.202575597e-04f, 5.204799748e-04f, 5.207014751e-04f,
+5.209220603e-04f, 5.211417302e-04f, 5.213604843e-04f, 5.215783225e-04f, 5.217952443e-04f, 5.220112494e-04f, 5.222263376e-04f, 5.224405086e-04f, 5.226537619e-04f, 5.228660974e-04f,
+5.230775147e-04f, 5.232880134e-04f, 5.234975934e-04f, 5.237062543e-04f, 5.239139958e-04f, 5.241208176e-04f, 5.243267195e-04f, 5.245317010e-04f, 5.247357620e-04f, 5.249389021e-04f,
+5.251411210e-04f, 5.253424186e-04f, 5.255427943e-04f, 5.257422481e-04f, 5.259407796e-04f, 5.261383885e-04f, 5.263350745e-04f, 5.265308375e-04f, 5.267256770e-04f, 5.269195928e-04f,
+5.271125847e-04f, 5.273046523e-04f, 5.274957954e-04f, 5.276860138e-04f, 5.278753072e-04f, 5.280636752e-04f, 5.282511177e-04f, 5.284376343e-04f, 5.286232249e-04f, 5.288078892e-04f,
+5.289916268e-04f, 5.291744376e-04f, 5.293563213e-04f, 5.295372776e-04f, 5.297173063e-04f, 5.298964072e-04f, 5.300745799e-04f, 5.302518243e-04f, 5.304281401e-04f, 5.306035271e-04f,
+5.307779850e-04f, 5.309515136e-04f, 5.311241126e-04f, 5.312957818e-04f, 5.314665210e-04f, 5.316363300e-04f, 5.318052084e-04f, 5.319731562e-04f, 5.321401730e-04f, 5.323062586e-04f,
+5.324714128e-04f, 5.326356355e-04f, 5.327989262e-04f, 5.329612850e-04f, 5.331227114e-04f, 5.332832054e-04f, 5.334427666e-04f, 5.336013949e-04f, 5.337590901e-04f, 5.339158520e-04f,
+5.340716803e-04f, 5.342265749e-04f, 5.343805354e-04f, 5.345335619e-04f, 5.346856539e-04f, 5.348368114e-04f, 5.349870342e-04f, 5.351363219e-04f, 5.352846746e-04f, 5.354320918e-04f,
+5.355785735e-04f, 5.357241195e-04f, 5.358687296e-04f, 5.360124036e-04f, 5.361551413e-04f, 5.362969425e-04f, 5.364378070e-04f, 5.365777347e-04f, 5.367167254e-04f, 5.368547789e-04f,
+5.369918950e-04f, 5.371280736e-04f, 5.372633145e-04f, 5.373976174e-04f, 5.375309824e-04f, 5.376634091e-04f, 5.377948974e-04f, 5.379254471e-04f, 5.380550582e-04f, 5.381837303e-04f,
+5.383114635e-04f, 5.384382574e-04f, 5.385641120e-04f, 5.386890271e-04f, 5.388130025e-04f, 5.389360382e-04f, 5.390581338e-04f, 5.391792894e-04f, 5.392995047e-04f, 5.394187797e-04f,
+5.395371140e-04f, 5.396545077e-04f, 5.397709606e-04f, 5.398864726e-04f, 5.400010434e-04f, 5.401146730e-04f, 5.402273613e-04f, 5.403391081e-04f, 5.404499132e-04f, 5.405597766e-04f,
+5.406686981e-04f, 5.407766777e-04f, 5.408837151e-04f, 5.409898102e-04f, 5.410949630e-04f, 5.411991733e-04f, 5.413024410e-04f, 5.414047660e-04f, 5.415061482e-04f, 5.416065874e-04f,
+5.417060836e-04f, 5.418046366e-04f, 5.419022464e-04f, 5.419989128e-04f, 5.420946357e-04f, 5.421894150e-04f, 5.422832507e-04f, 5.423761426e-04f, 5.424680906e-04f, 5.425590946e-04f,
+5.426491546e-04f, 5.427382705e-04f, 5.428264421e-04f, 5.429136693e-04f, 5.429999522e-04f, 5.430852905e-04f, 5.431696842e-04f, 5.432531333e-04f, 5.433356377e-04f, 5.434171972e-04f,
+5.434978118e-04f, 5.435774814e-04f, 5.436562059e-04f, 5.437339853e-04f, 5.438108196e-04f, 5.438867085e-04f, 5.439616521e-04f, 5.440356504e-04f, 5.441087031e-04f, 5.441808103e-04f,
+5.442519720e-04f, 5.443221879e-04f, 5.443914582e-04f, 5.444597827e-04f, 5.445271614e-04f, 5.445935942e-04f, 5.446590811e-04f, 5.447236221e-04f, 5.447872170e-04f, 5.448498658e-04f,
+5.449115686e-04f, 5.449723252e-04f, 5.450321356e-04f, 5.450909997e-04f, 5.451489176e-04f, 5.452058892e-04f, 5.452619145e-04f, 5.453169933e-04f, 5.453711258e-04f, 5.454243118e-04f,
+5.454765514e-04f, 5.455278445e-04f, 5.455781910e-04f, 5.456275910e-04f, 5.456760445e-04f, 5.457235514e-04f, 5.457701117e-04f, 5.458157253e-04f, 5.458603924e-04f, 5.459041128e-04f,
+5.459468865e-04f, 5.459887136e-04f, 5.460295940e-04f, 5.460695277e-04f, 5.461085147e-04f, 5.461465551e-04f, 5.461836487e-04f, 5.462197957e-04f, 5.462549960e-04f, 5.462892496e-04f,
+5.463225565e-04f, 5.463549167e-04f, 5.463863303e-04f, 5.464167972e-04f, 5.464463174e-04f, 5.464748911e-04f, 5.465025181e-04f, 5.465291984e-04f, 5.465549323e-04f, 5.465797195e-04f,
+5.466035602e-04f, 5.466264544e-04f, 5.466484020e-04f, 5.466694032e-04f, 5.466894580e-04f, 5.467085663e-04f, 5.467267283e-04f, 5.467439439e-04f, 5.467602132e-04f, 5.467755362e-04f,
+5.467899129e-04f, 5.468033435e-04f, 5.468158279e-04f, 5.468273661e-04f, 5.468379583e-04f, 5.468476044e-04f, 5.468563046e-04f, 5.468640588e-04f, 5.468708671e-04f, 5.468767296e-04f,
+5.468816463e-04f, 5.468856173e-04f, 5.468886426e-04f, 5.468907223e-04f, 5.468918564e-04f, 5.468920451e-04f, 5.468912883e-04f, 5.468895862e-04f, 5.468869388e-04f, 5.468833461e-04f,
+5.468788083e-04f, 5.468733254e-04f, 5.468668975e-04f, 5.468595247e-04f, 5.468512070e-04f, 5.468419445e-04f, 5.468317373e-04f, 5.468205855e-04f, 5.468084892e-04f, 5.467954484e-04f,
+5.467814632e-04f, 5.467665338e-04f, 5.467506601e-04f, 5.467338424e-04f, 5.467160807e-04f, 5.466973750e-04f, 5.466777256e-04f, 5.466571324e-04f, 5.466355956e-04f, 5.466131153e-04f,
+5.465896916e-04f, 5.465653245e-04f, 5.465400143e-04f, 5.465137609e-04f, 5.464865646e-04f, 5.464584254e-04f, 5.464293434e-04f, 5.463993188e-04f, 5.463683517e-04f, 5.463364421e-04f,
+5.463035902e-04f, 5.462697962e-04f, 5.462350601e-04f, 5.461993820e-04f, 5.461627622e-04f, 5.461252006e-04f, 5.460866976e-04f, 5.460472530e-04f, 5.460068672e-04f, 5.459655403e-04f,
+5.459232723e-04f, 5.458800634e-04f, 5.458359138e-04f, 5.457908236e-04f, 5.457447929e-04f, 5.456978219e-04f, 5.456499107e-04f, 5.456010595e-04f, 5.455512684e-04f, 5.455005375e-04f,
+5.454488671e-04f, 5.453962573e-04f, 5.453427081e-04f, 5.452882199e-04f, 5.452327926e-04f, 5.451764266e-04f, 5.451191219e-04f, 5.450608788e-04f, 5.450016973e-04f, 5.449415777e-04f,
+5.448805201e-04f, 5.448185247e-04f, 5.447555916e-04f, 5.446917211e-04f, 5.446269133e-04f, 5.445611683e-04f, 5.444944864e-04f, 5.444268677e-04f, 5.443583125e-04f, 5.442888208e-04f,
+5.442183929e-04f, 5.441470290e-04f, 5.440747292e-04f, 5.440014938e-04f, 5.439273229e-04f, 5.438522167e-04f, 5.437761754e-04f, 5.436991992e-04f, 5.436212884e-04f, 5.435424430e-04f,
+5.434626633e-04f, 5.433819495e-04f, 5.433003019e-04f, 5.432177205e-04f, 5.431342057e-04f, 5.430497575e-04f, 5.429643763e-04f, 5.428780623e-04f, 5.427908156e-04f, 5.427026364e-04f,
+5.426135250e-04f, 5.425234817e-04f, 5.424325065e-04f, 5.423405998e-04f, 5.422477618e-04f, 5.421539926e-04f, 5.420592926e-04f, 5.419636618e-04f, 5.418671007e-04f, 5.417696093e-04f,
+5.416711880e-04f, 5.415718369e-04f, 5.414715563e-04f, 5.413703464e-04f, 5.412682075e-04f, 5.411651398e-04f, 5.410611435e-04f, 5.409562189e-04f, 5.408503663e-04f, 5.407435858e-04f,
+5.406358778e-04f, 5.405272424e-04f, 5.404176800e-04f, 5.403071907e-04f, 5.401957749e-04f, 5.400834328e-04f, 5.399701645e-04f, 5.398559705e-04f, 5.397408510e-04f, 5.396248062e-04f,
+5.395078363e-04f, 5.393899417e-04f, 5.392711227e-04f, 5.391513794e-04f, 5.390307121e-04f, 5.389091212e-04f, 5.387866069e-04f, 5.386631694e-04f, 5.385388091e-04f, 5.384135263e-04f,
+5.382873211e-04f, 5.381601939e-04f, 5.380321450e-04f, 5.379031746e-04f, 5.377732830e-04f, 5.376424706e-04f, 5.375107376e-04f, 5.373780843e-04f, 5.372445110e-04f, 5.371100179e-04f,
+5.369746055e-04f, 5.368382739e-04f, 5.367010235e-04f, 5.365628545e-04f, 5.364237673e-04f, 5.362837623e-04f, 5.361428395e-04f, 5.360009995e-04f, 5.358582425e-04f, 5.357145687e-04f,
+5.355699786e-04f, 5.354244724e-04f, 5.352780505e-04f, 5.351307130e-04f, 5.349824605e-04f, 5.348332931e-04f, 5.346832113e-04f, 5.345322153e-04f, 5.343803054e-04f, 5.342274820e-04f,
+5.340737454e-04f, 5.339190959e-04f, 5.337635339e-04f, 5.336070597e-04f, 5.334496736e-04f, 5.332913759e-04f, 5.331321671e-04f, 5.329720473e-04f, 5.328110170e-04f, 5.326490766e-04f,
+5.324862262e-04f, 5.323224664e-04f, 5.321577974e-04f, 5.319922196e-04f, 5.318257333e-04f, 5.316583389e-04f, 5.314900367e-04f, 5.313208271e-04f, 5.311507104e-04f, 5.309796870e-04f,
+5.308077572e-04f, 5.306349215e-04f, 5.304611801e-04f, 5.302865335e-04f, 5.301109819e-04f, 5.299345258e-04f, 5.297571655e-04f, 5.295789014e-04f, 5.293997338e-04f, 5.292196632e-04f,
+5.290386899e-04f, 5.288568142e-04f, 5.286740366e-04f, 5.284903575e-04f, 5.283057771e-04f, 5.281202959e-04f, 5.279339143e-04f, 5.277466326e-04f, 5.275584513e-04f, 5.273693707e-04f,
+5.271793912e-04f, 5.269885132e-04f, 5.267967370e-04f, 5.266040632e-04f, 5.264104920e-04f, 5.262160239e-04f, 5.260206593e-04f, 5.258243985e-04f, 5.256272420e-04f, 5.254291902e-04f,
+5.252302434e-04f, 5.250304021e-04f, 5.248296667e-04f, 5.246280376e-04f, 5.244255151e-04f, 5.242220998e-04f, 5.240177920e-04f, 5.238125921e-04f, 5.236065005e-04f, 5.233995178e-04f,
+5.231916442e-04f, 5.229828802e-04f, 5.227732262e-04f, 5.225626827e-04f, 5.223512500e-04f, 5.221389287e-04f, 5.219257190e-04f, 5.217116215e-04f, 5.214966366e-04f, 5.212807647e-04f,
+5.210640063e-04f, 5.208463617e-04f, 5.206278314e-04f, 5.204084159e-04f, 5.201881156e-04f, 5.199669310e-04f, 5.197448624e-04f, 5.195219103e-04f, 5.192980752e-04f, 5.190733575e-04f,
+5.188477576e-04f, 5.186212761e-04f, 5.183939133e-04f, 5.181656697e-04f, 5.179365458e-04f, 5.177065421e-04f, 5.174756589e-04f, 5.172438967e-04f, 5.170112561e-04f, 5.167777374e-04f,
+5.165433411e-04f, 5.163080677e-04f, 5.160719177e-04f, 5.158348915e-04f, 5.155969896e-04f, 5.153582124e-04f, 5.151185605e-04f, 5.148780343e-04f, 5.146366342e-04f, 5.143943609e-04f,
+5.141512146e-04f, 5.139071960e-04f, 5.136623055e-04f, 5.134165435e-04f, 5.131699107e-04f, 5.129224073e-04f, 5.126740340e-04f, 5.124247912e-04f, 5.121746795e-04f, 5.119236992e-04f,
+5.116718510e-04f, 5.114191352e-04f, 5.111655524e-04f, 5.109111031e-04f, 5.106557878e-04f, 5.103996069e-04f, 5.101425611e-04f, 5.098846507e-04f, 5.096258763e-04f, 5.093662384e-04f,
+5.091057375e-04f, 5.088443742e-04f, 5.085821488e-04f, 5.083190620e-04f, 5.080551143e-04f, 5.077903061e-04f, 5.075246379e-04f, 5.072581104e-04f, 5.069907240e-04f, 5.067224792e-04f,
+5.064533766e-04f, 5.061834166e-04f, 5.059125999e-04f, 5.056409269e-04f, 5.053683981e-04f, 5.050950142e-04f, 5.048207755e-04f, 5.045456827e-04f, 5.042697363e-04f, 5.039929368e-04f,
+5.037152848e-04f, 5.034367807e-04f, 5.031574252e-04f, 5.028772188e-04f, 5.025961620e-04f, 5.023142553e-04f, 5.020314993e-04f, 5.017478946e-04f, 5.014634417e-04f, 5.011781411e-04f,
+5.008919934e-04f, 5.006049992e-04f, 5.003171589e-04f, 5.000284732e-04f, 4.997389427e-04f, 4.994485678e-04f, 4.991573491e-04f, 4.988652872e-04f, 4.985723827e-04f, 4.982786361e-04f,
+4.979840480e-04f, 4.976886189e-04f, 4.973923494e-04f, 4.970952401e-04f, 4.967972916e-04f, 4.964985044e-04f, 4.961988791e-04f, 4.958984163e-04f, 4.955971165e-04f, 4.952949803e-04f,
+4.949920084e-04f, 4.946882012e-04f, 4.943835594e-04f, 4.940780836e-04f, 4.937717743e-04f, 4.934646321e-04f, 4.931566576e-04f, 4.928478514e-04f, 4.925382142e-04f, 4.922277464e-04f,
+4.919164486e-04f, 4.916043216e-04f, 4.912913657e-04f, 4.909775818e-04f, 4.906629703e-04f, 4.903475319e-04f, 4.900312671e-04f, 4.897141766e-04f, 4.893962610e-04f, 4.890775208e-04f,
+4.887579568e-04f, 4.884375694e-04f, 4.881163593e-04f, 4.877943271e-04f, 4.874714734e-04f, 4.871477989e-04f, 4.868233041e-04f, 4.864979897e-04f, 4.861718562e-04f, 4.858449044e-04f,
+4.855171348e-04f, 4.851885480e-04f, 4.848591447e-04f, 4.845289255e-04f, 4.841978911e-04f, 4.838660419e-04f, 4.835333788e-04f, 4.831999022e-04f, 4.828656129e-04f, 4.825305115e-04f,
+4.821945985e-04f, 4.818578748e-04f, 4.815203407e-04f, 4.811819972e-04f, 4.808428446e-04f, 4.805028838e-04f, 4.801621153e-04f, 4.798205398e-04f, 4.794781579e-04f, 4.791349703e-04f,
+4.787909776e-04f, 4.784461805e-04f, 4.781005796e-04f, 4.777541756e-04f, 4.774069691e-04f, 4.770589608e-04f, 4.767101513e-04f, 4.763605414e-04f, 4.760101315e-04f, 4.756589225e-04f,
+4.753069150e-04f, 4.749541097e-04f, 4.746005071e-04f, 4.742461080e-04f, 4.738909130e-04f, 4.735349228e-04f, 4.731781381e-04f, 4.728205596e-04f, 4.724621878e-04f, 4.721030236e-04f,
+4.717430675e-04f, 4.713823202e-04f, 4.710207825e-04f, 4.706584550e-04f, 4.702953383e-04f, 4.699314332e-04f, 4.695667403e-04f, 4.692012604e-04f, 4.688349940e-04f, 4.684679420e-04f,
+4.681001049e-04f, 4.677314835e-04f, 4.673620785e-04f, 4.669918905e-04f, 4.666209203e-04f, 4.662491685e-04f, 4.658766358e-04f, 4.655033230e-04f, 4.651292307e-04f, 4.647543597e-04f,
+4.643787105e-04f, 4.640022840e-04f, 4.636250809e-04f, 4.632471018e-04f, 4.628683474e-04f, 4.624888185e-04f, 4.621085157e-04f, 4.617274398e-04f, 4.613455915e-04f, 4.609629716e-04f,
+4.605795806e-04f, 4.601954193e-04f, 4.598104885e-04f, 4.594247888e-04f, 4.590383211e-04f, 4.586510859e-04f, 4.582630840e-04f, 4.578743162e-04f, 4.574847832e-04f, 4.570944856e-04f,
+4.567034243e-04f, 4.563115999e-04f, 4.559190132e-04f, 4.555256649e-04f, 4.551315557e-04f, 4.547366865e-04f, 4.543410578e-04f, 4.539446704e-04f, 4.535475252e-04f, 4.531496227e-04f,
+4.527509638e-04f, 4.523515492e-04f, 4.519513797e-04f, 4.515504559e-04f, 4.511487786e-04f, 4.507463486e-04f, 4.503431666e-04f, 4.499392334e-04f, 4.495345497e-04f, 4.491291163e-04f,
+4.487229339e-04f, 4.483160033e-04f, 4.479083251e-04f, 4.474999003e-04f, 4.470907295e-04f, 4.466808135e-04f, 4.462701530e-04f, 4.458587489e-04f, 4.454466018e-04f, 4.450337126e-04f,
+4.446200819e-04f, 4.442057107e-04f, 4.437905995e-04f, 4.433747493e-04f, 4.429581607e-04f, 4.425408346e-04f, 4.421227717e-04f, 4.417039728e-04f, 4.412844386e-04f, 4.408641700e-04f,
+4.404431677e-04f, 4.400214325e-04f, 4.395989651e-04f, 4.391757664e-04f, 4.387518371e-04f, 4.383271780e-04f, 4.379017899e-04f, 4.374756736e-04f, 4.370488299e-04f, 4.366212595e-04f,
+4.361929633e-04f, 4.357639419e-04f, 4.353341963e-04f, 4.349037273e-04f, 4.344725355e-04f, 4.340406218e-04f, 4.336079870e-04f, 4.331746320e-04f, 4.327405574e-04f, 4.323057641e-04f,
+4.318702529e-04f, 4.314340246e-04f, 4.309970799e-04f, 4.305594198e-04f, 4.301210450e-04f, 4.296819563e-04f, 4.292421545e-04f, 4.288016405e-04f, 4.283604149e-04f, 4.279184788e-04f,
+4.274758328e-04f, 4.270324777e-04f, 4.265884145e-04f, 4.261436438e-04f, 4.256981666e-04f, 4.252519836e-04f, 4.248050957e-04f, 4.243575037e-04f, 4.239092083e-04f, 4.234602105e-04f,
+4.230105110e-04f, 4.225601107e-04f, 4.221090104e-04f, 4.216572110e-04f, 4.212047131e-04f, 4.207515178e-04f, 4.202976258e-04f, 4.198430379e-04f, 4.193877550e-04f, 4.189317779e-04f,
+4.184751075e-04f, 4.180177445e-04f, 4.175596899e-04f, 4.171009445e-04f, 4.166415090e-04f, 4.161813844e-04f, 4.157205715e-04f, 4.152590711e-04f, 4.147968841e-04f, 4.143340112e-04f,
+4.138704535e-04f, 4.134062117e-04f, 4.129412866e-04f, 4.124756792e-04f, 4.120093902e-04f, 4.115424205e-04f, 4.110747710e-04f, 4.106064426e-04f, 4.101374360e-04f, 4.096677521e-04f,
+4.091973919e-04f, 4.087263561e-04f, 4.082546456e-04f, 4.077822613e-04f, 4.073092040e-04f, 4.068354746e-04f, 4.063610740e-04f, 4.058860030e-04f, 4.054102626e-04f, 4.049338535e-04f,
+4.044567766e-04f, 4.039790328e-04f, 4.035006231e-04f, 4.030215481e-04f, 4.025418089e-04f, 4.020614063e-04f, 4.015803411e-04f, 4.010986144e-04f, 4.006162268e-04f, 4.001331793e-04f,
+3.996494729e-04f, 3.991651082e-04f, 3.986800864e-04f, 3.981944082e-04f, 3.977080745e-04f, 3.972210861e-04f, 3.967334441e-04f, 3.962451493e-04f, 3.957562025e-04f, 3.952666047e-04f,
+3.947763567e-04f, 3.942854595e-04f, 3.937939138e-04f, 3.933017207e-04f, 3.928088811e-04f, 3.923153957e-04f, 3.918212656e-04f, 3.913264915e-04f, 3.908310745e-04f, 3.903350153e-04f,
+3.898383150e-04f, 3.893409744e-04f, 3.888429944e-04f, 3.883443759e-04f, 3.878451199e-04f, 3.873452272e-04f, 3.868446987e-04f, 3.863435353e-04f, 3.858417381e-04f, 3.853393077e-04f,
+3.848362453e-04f, 3.843325517e-04f, 3.838282277e-04f, 3.833232744e-04f, 3.828176926e-04f, 3.823114833e-04f, 3.818046473e-04f, 3.812971856e-04f, 3.807890992e-04f, 3.802803888e-04f,
+3.797710555e-04f, 3.792611002e-04f, 3.787505238e-04f, 3.782393272e-04f, 3.777275113e-04f, 3.772150772e-04f, 3.767020256e-04f, 3.761883575e-04f, 3.756740740e-04f, 3.751591758e-04f,
+3.746436639e-04f, 3.741275393e-04f, 3.736108029e-04f, 3.730934556e-04f, 3.725754984e-04f, 3.720569321e-04f, 3.715377579e-04f, 3.710179764e-04f, 3.704975888e-04f, 3.699765960e-04f,
+3.694549989e-04f, 3.689327984e-04f, 3.684099954e-04f, 3.678865911e-04f, 3.673625861e-04f, 3.668379816e-04f, 3.663127785e-04f, 3.657869777e-04f, 3.652605802e-04f, 3.647335869e-04f,
+3.642059987e-04f, 3.636778167e-04f, 3.631490418e-04f, 3.626196748e-04f, 3.620897169e-04f, 3.615591689e-04f, 3.610280318e-04f, 3.604963066e-04f, 3.599639942e-04f, 3.594310956e-04f,
+3.588976117e-04f, 3.583635435e-04f, 3.578288920e-04f, 3.572936580e-04f, 3.567578427e-04f, 3.562214470e-04f, 3.556844718e-04f, 3.551469180e-04f, 3.546087867e-04f, 3.540700789e-04f,
+3.535307955e-04f, 3.529909374e-04f, 3.524505057e-04f, 3.519095013e-04f, 3.513679252e-04f, 3.508257783e-04f, 3.502830617e-04f, 3.497397763e-04f, 3.491959232e-04f, 3.486515032e-04f,
+3.481065173e-04f, 3.475609666e-04f, 3.470148520e-04f, 3.464681746e-04f, 3.459209352e-04f, 3.453731348e-04f, 3.448247746e-04f, 3.442758553e-04f, 3.437263781e-04f, 3.431763440e-04f,
+3.426257538e-04f, 3.420746086e-04f, 3.415229094e-04f, 3.409706572e-04f, 3.404178529e-04f, 3.398644976e-04f, 3.393105923e-04f, 3.387561379e-04f, 3.382011355e-04f, 3.376455860e-04f,
+3.370894904e-04f, 3.365328498e-04f, 3.359756652e-04f, 3.354179374e-04f, 3.348596676e-04f, 3.343008568e-04f, 3.337415059e-04f, 3.331816159e-04f, 3.326211879e-04f, 3.320602229e-04f,
+3.314987218e-04f, 3.309366857e-04f, 3.303741156e-04f, 3.298110125e-04f, 3.292473774e-04f, 3.286832112e-04f, 3.281185151e-04f, 3.275532901e-04f, 3.269875371e-04f, 3.264212571e-04f,
+3.258544512e-04f, 3.252871205e-04f, 3.247192658e-04f, 3.241508882e-04f, 3.235819888e-04f, 3.230125686e-04f, 3.224426285e-04f, 3.218721697e-04f, 3.213011931e-04f, 3.207296997e-04f,
+3.201576906e-04f, 3.195851668e-04f, 3.190121293e-04f, 3.184385791e-04f, 3.178645173e-04f, 3.172899449e-04f, 3.167148630e-04f, 3.161392725e-04f, 3.155631745e-04f, 3.149865700e-04f,
+3.144094600e-04f, 3.138318457e-04f, 3.132537279e-04f, 3.126751078e-04f, 3.120959864e-04f, 3.115163647e-04f, 3.109362437e-04f, 3.103556245e-04f, 3.097745082e-04f, 3.091928957e-04f,
+3.086107881e-04f, 3.080281865e-04f, 3.074450918e-04f, 3.068615052e-04f, 3.062774277e-04f, 3.056928602e-04f, 3.051078040e-04f, 3.045222599e-04f, 3.039362290e-04f, 3.033497125e-04f,
+3.027627113e-04f, 3.021752265e-04f, 3.015872591e-04f, 3.009988102e-04f, 3.004098809e-04f, 2.998204721e-04f, 2.992305850e-04f, 2.986402205e-04f, 2.980493798e-04f, 2.974580639e-04f,
+2.968662739e-04f, 2.962740108e-04f, 2.956812756e-04f, 2.950880694e-04f, 2.944943934e-04f, 2.939002484e-04f, 2.933056357e-04f, 2.927105562e-04f, 2.921150110e-04f, 2.915190013e-04f,
+2.909225279e-04f, 2.903255921e-04f, 2.897281948e-04f, 2.891303371e-04f, 2.885320202e-04f, 2.879332450e-04f, 2.873340126e-04f, 2.867343241e-04f, 2.861341806e-04f, 2.855335831e-04f,
+2.849325328e-04f, 2.843310305e-04f, 2.837290776e-04f, 2.831266749e-04f, 2.825238236e-04f, 2.819205248e-04f, 2.813167795e-04f, 2.807125888e-04f, 2.801079538e-04f, 2.795028756e-04f,
+2.788973552e-04f, 2.782913937e-04f, 2.776849921e-04f, 2.770781517e-04f, 2.764708734e-04f, 2.758631583e-04f, 2.752550075e-04f, 2.746464221e-04f, 2.740374031e-04f, 2.734279517e-04f,
+2.728180690e-04f, 2.722077559e-04f, 2.715970137e-04f, 2.709858433e-04f, 2.703742459e-04f, 2.697622226e-04f, 2.691497744e-04f, 2.685369025e-04f, 2.679236078e-04f, 2.673098916e-04f,
+2.666957549e-04f, 2.660811987e-04f, 2.654662243e-04f, 2.648508326e-04f, 2.642350248e-04f, 2.636188019e-04f, 2.630021651e-04f, 2.623851154e-04f, 2.617676540e-04f, 2.611497819e-04f,
+2.605315003e-04f, 2.599128102e-04f, 2.592937127e-04f, 2.586742089e-04f, 2.580542999e-04f, 2.574339869e-04f, 2.568132709e-04f, 2.561921530e-04f, 2.555706344e-04f, 2.549487160e-04f,
+2.543263991e-04f, 2.537036848e-04f, 2.530805740e-04f, 2.524570680e-04f, 2.518331679e-04f, 2.512088747e-04f, 2.505841896e-04f, 2.499591136e-04f, 2.493336479e-04f, 2.487077935e-04f,
+2.480815517e-04f, 2.474549234e-04f, 2.468279099e-04f, 2.462005122e-04f, 2.455727314e-04f, 2.449445686e-04f, 2.443160250e-04f, 2.436871017e-04f, 2.430577997e-04f, 2.424281202e-04f,
+2.417980643e-04f, 2.411676332e-04f, 2.405368279e-04f, 2.399056495e-04f, 2.392740992e-04f, 2.386421781e-04f, 2.380098872e-04f, 2.373772278e-04f, 2.367442010e-04f, 2.361108078e-04f,
+2.354770494e-04f, 2.348429269e-04f, 2.342084414e-04f, 2.335735940e-04f, 2.329383859e-04f, 2.323028182e-04f, 2.316668920e-04f, 2.310306085e-04f, 2.303939687e-04f, 2.297569738e-04f,
+2.291196248e-04f, 2.284819231e-04f, 2.278438696e-04f, 2.272054655e-04f, 2.265667119e-04f, 2.259276099e-04f, 2.252881607e-04f, 2.246483655e-04f, 2.240082252e-04f, 2.233677411e-04f,
+2.227269143e-04f, 2.220857460e-04f, 2.214442372e-04f, 2.208023891e-04f, 2.201602028e-04f, 2.195176794e-04f, 2.188748202e-04f, 2.182316262e-04f, 2.175880985e-04f, 2.169442383e-04f,
+2.163000468e-04f, 2.156555250e-04f, 2.150106741e-04f, 2.143654953e-04f, 2.137199897e-04f, 2.130741583e-04f, 2.124280024e-04f, 2.117815231e-04f, 2.111347216e-04f, 2.104875989e-04f,
+2.098401562e-04f, 2.091923947e-04f, 2.085443155e-04f, 2.078959197e-04f, 2.072472086e-04f, 2.065981831e-04f, 2.059488445e-04f, 2.052991939e-04f, 2.046492325e-04f, 2.039989614e-04f,
+2.033483817e-04f, 2.026974946e-04f, 2.020463013e-04f, 2.013948028e-04f, 2.007430004e-04f, 2.000908952e-04f, 1.994384883e-04f, 1.987857808e-04f, 1.981327740e-04f, 1.974794690e-04f,
+1.968258669e-04f, 1.961719689e-04f, 1.955177761e-04f, 1.948632897e-04f, 1.942085108e-04f, 1.935534406e-04f, 1.928980802e-04f, 1.922424309e-04f, 1.915864936e-04f, 1.909302697e-04f,
+1.902737602e-04f, 1.896169663e-04f, 1.889598891e-04f, 1.883025299e-04f, 1.876448898e-04f, 1.869869698e-04f, 1.863287713e-04f, 1.856702953e-04f, 1.850115430e-04f, 1.843525155e-04f,
+1.836932141e-04f, 1.830336398e-04f, 1.823737939e-04f, 1.817136774e-04f, 1.810532916e-04f, 1.803926376e-04f, 1.797317166e-04f, 1.790705297e-04f, 1.784090781e-04f, 1.777473630e-04f,
+1.770853854e-04f, 1.764231467e-04f, 1.757606478e-04f, 1.750978901e-04f, 1.744348747e-04f, 1.737716027e-04f, 1.731080753e-04f, 1.724442936e-04f, 1.717802589e-04f, 1.711159722e-04f,
+1.704514349e-04f, 1.697866479e-04f, 1.691216125e-04f, 1.684563299e-04f, 1.677908012e-04f, 1.671250276e-04f, 1.664590103e-04f, 1.657927503e-04f, 1.651262490e-04f, 1.644595074e-04f,
+1.637925268e-04f, 1.631253083e-04f, 1.624578530e-04f, 1.617901622e-04f, 1.611222370e-04f, 1.604540786e-04f, 1.597856881e-04f, 1.591170668e-04f, 1.584482157e-04f, 1.577791362e-04f,
+1.571098292e-04f, 1.564402961e-04f, 1.557705380e-04f, 1.551005560e-04f, 1.544303514e-04f, 1.537599253e-04f, 1.530892788e-04f, 1.524184132e-04f, 1.517473297e-04f, 1.510760294e-04f,
+1.504045134e-04f, 1.497327830e-04f, 1.490608393e-04f, 1.483886836e-04f, 1.477163169e-04f, 1.470437405e-04f, 1.463709555e-04f, 1.456979632e-04f, 1.450247647e-04f, 1.443513611e-04f,
+1.436777537e-04f, 1.430039436e-04f, 1.423299320e-04f, 1.416557201e-04f, 1.409813091e-04f, 1.403067001e-04f, 1.396318944e-04f, 1.389568931e-04f, 1.382816973e-04f, 1.376063084e-04f,
+1.369307273e-04f, 1.362549555e-04f, 1.355789939e-04f, 1.349028438e-04f, 1.342265064e-04f, 1.335499829e-04f, 1.328732744e-04f, 1.321963821e-04f, 1.315193072e-04f, 1.308420509e-04f,
+1.301646144e-04f, 1.294869989e-04f, 1.288092055e-04f, 1.281312354e-04f, 1.274530898e-04f, 1.267747699e-04f, 1.260962769e-04f, 1.254176120e-04f, 1.247387763e-04f, 1.240597710e-04f,
+1.233805974e-04f, 1.227012566e-04f, 1.220217497e-04f, 1.213420781e-04f, 1.206622428e-04f, 1.199822450e-04f, 1.193020860e-04f, 1.186217669e-04f, 1.179412890e-04f, 1.172606533e-04f,
+1.165798611e-04f, 1.158989136e-04f, 1.152178119e-04f, 1.145365573e-04f, 1.138551509e-04f, 1.131735940e-04f, 1.124918877e-04f, 1.118100332e-04f, 1.111280316e-04f, 1.104458843e-04f,
+1.097635923e-04f, 1.090811569e-04f, 1.083985793e-04f, 1.077158606e-04f, 1.070330020e-04f, 1.063500047e-04f, 1.056668700e-04f, 1.049835989e-04f, 1.043001928e-04f, 1.036166527e-04f,
+1.029329799e-04f, 1.022491756e-04f, 1.015652409e-04f, 1.008811771e-04f, 1.001969853e-04f, 9.951266677e-05f, 9.882822265e-05f, 9.814365414e-05f, 9.745896244e-05f, 9.677414875e-05f,
+9.608921424e-05f, 9.540416012e-05f, 9.471898758e-05f, 9.403369782e-05f, 9.334829201e-05f, 9.266277136e-05f, 9.197713706e-05f, 9.129139031e-05f, 9.060553229e-05f, 8.991956420e-05f,
+8.923348724e-05f, 8.854730259e-05f, 8.786101145e-05f, 8.717461502e-05f, 8.648811449e-05f, 8.580151105e-05f, 8.511480590e-05f, 8.442800023e-05f, 8.374109523e-05f, 8.305409211e-05f,
+8.236699205e-05f, 8.167979625e-05f, 8.099250590e-05f, 8.030512220e-05f, 7.961764635e-05f, 7.893007954e-05f, 7.824242296e-05f, 7.755467781e-05f, 7.686684528e-05f, 7.617892657e-05f,
+7.549092288e-05f, 7.480283540e-05f, 7.411466532e-05f, 7.342641385e-05f, 7.273808217e-05f, 7.204967149e-05f, 7.136118299e-05f, 7.067261788e-05f, 6.998397734e-05f, 6.929526258e-05f,
+6.860647480e-05f, 6.791761518e-05f, 6.722868492e-05f, 6.653968523e-05f, 6.585061728e-05f, 6.516148230e-05f, 6.447228145e-05f, 6.378301596e-05f, 6.309368700e-05f, 6.240429578e-05f,
+6.171484349e-05f, 6.102533133e-05f, 6.033576049e-05f, 5.964613218e-05f, 5.895644758e-05f, 5.826670790e-05f, 5.757691433e-05f, 5.688706806e-05f, 5.619717030e-05f, 5.550722224e-05f,
+5.481722507e-05f, 5.412718000e-05f, 5.343708821e-05f, 5.274695091e-05f, 5.205676929e-05f, 5.136654455e-05f, 5.067627789e-05f, 4.998597049e-05f, 4.929562357e-05f, 4.860523830e-05f,
+4.791481590e-05f, 4.722435755e-05f, 4.653386445e-05f, 4.584333781e-05f, 4.515277880e-05f, 4.446218864e-05f, 4.377156852e-05f, 4.308091963e-05f, 4.239024317e-05f, 4.169954034e-05f,
+4.100881233e-05f, 4.031806033e-05f, 3.962728556e-05f, 3.893648919e-05f, 3.824567242e-05f, 3.755483646e-05f, 3.686398250e-05f, 3.617311173e-05f, 3.548222535e-05f, 3.479132455e-05f,
+3.410041054e-05f, 3.340948450e-05f, 3.271854763e-05f, 3.202760113e-05f, 3.133664619e-05f, 3.064568401e-05f, 2.995471578e-05f, 2.926374270e-05f, 2.857276596e-05f, 2.788178676e-05f,
+2.719080630e-05f, 2.649982576e-05f, 2.580884634e-05f, 2.511786924e-05f, 2.442689566e-05f, 2.373592678e-05f, 2.304496380e-05f, 2.235400792e-05f, 2.166306032e-05f, 2.097212221e-05f,
+2.028119478e-05f, 1.959027922e-05f, 1.889937672e-05f, 1.820848849e-05f, 1.751761570e-05f, 1.682675957e-05f, 1.613592127e-05f, 1.544510201e-05f, 1.475430297e-05f, 1.406352535e-05f,
+1.337277035e-05f, 1.268203914e-05f, 1.199133294e-05f, 1.130065293e-05f, 1.061000030e-05f, 9.919376250e-06f, 9.228781965e-06f, 8.538218639e-06f, 7.847687466e-06f, 7.157189635e-06f,
+6.466726340e-06f, 5.776298772e-06f, 5.085908121e-06f, 4.395555580e-06f, 3.705242340e-06f, 3.014969590e-06f, 2.324738523e-06f, 1.634550329e-06f, 9.444061980e-07f, 2.543073207e-07f,
+-4.357451128e-07f, -1.125749912e-06f, -1.815705888e-06f, -2.505611851e-06f, -3.195466611e-06f, -3.885268978e-06f, -4.575017764e-06f, -5.264711780e-06f, -5.954349837e-06f, -6.643930745e-06f,
+-7.333453317e-06f, -8.022916365e-06f, -8.712318700e-06f, -9.401659134e-06f, -1.009093648e-05f, -1.078014955e-05f, -1.146929716e-05f, -1.215837811e-05f, -1.284739123e-05f, -1.353633533e-05f,
+-1.422520921e-05f, -1.491401170e-05f, -1.560274160e-05f, -1.629139773e-05f, -1.697997891e-05f, -1.766848395e-05f, -1.835691167e-05f, -1.904526087e-05f, -1.973353037e-05f, -2.042171900e-05f,
+-2.110982556e-05f, -2.179784887e-05f, -2.248578775e-05f, -2.317364101e-05f, -2.386140748e-05f, -2.454908595e-05f, -2.523667527e-05f, -2.592417423e-05f, -2.661158166e-05f, -2.729889637e-05f,
+-2.798611719e-05f, -2.867324293e-05f, -2.936027240e-05f, -3.004720444e-05f, -3.073403785e-05f, -3.142077146e-05f, -3.210740409e-05f, -3.279393455e-05f, -3.348036167e-05f, -3.416668426e-05f,
+-3.485290114e-05f, -3.553901114e-05f, -3.622501308e-05f, -3.691090578e-05f, -3.759668806e-05f, -3.828235874e-05f, -3.896791664e-05f, -3.965336059e-05f, -4.033868940e-05f, -4.102390191e-05f,
+-4.170899693e-05f, -4.239397329e-05f, -4.307882981e-05f, -4.376356531e-05f, -4.444817863e-05f, -4.513266858e-05f, -4.581703398e-05f, -4.650127367e-05f, -4.718538647e-05f, -4.786937121e-05f,
+-4.855322671e-05f, -4.923695179e-05f, -4.992054529e-05f, -5.060400603e-05f, -5.128733283e-05f, -5.197052454e-05f, -5.265357996e-05f, -5.333649794e-05f, -5.401927730e-05f, -5.470191687e-05f,
+-5.538441548e-05f, -5.606677195e-05f, -5.674898512e-05f, -5.743105382e-05f, -5.811297688e-05f, -5.879475313e-05f, -5.947638139e-05f, -6.015786051e-05f, -6.083918931e-05f, -6.152036663e-05f,
+-6.220139130e-05f, -6.288226214e-05f, -6.356297800e-05f, -6.424353771e-05f, -6.492394010e-05f, -6.560418400e-05f, -6.628426826e-05f, -6.696419170e-05f, -6.764395316e-05f, -6.832355147e-05f,
+-6.900298548e-05f, -6.968225402e-05f, -7.036135592e-05f, -7.104029002e-05f, -7.171905516e-05f, -7.239765018e-05f, -7.307607392e-05f, -7.375432521e-05f, -7.443240289e-05f, -7.511030580e-05f,
+-7.578803279e-05f, -7.646558269e-05f, -7.714295434e-05f, -7.782014659e-05f, -7.849715827e-05f, -7.917398823e-05f, -7.985063530e-05f, -8.052709834e-05f, -8.120337618e-05f, -8.187946767e-05f,
+-8.255537165e-05f, -8.323108696e-05f, -8.390661245e-05f, -8.458194697e-05f, -8.525708936e-05f, -8.593203846e-05f, -8.660679312e-05f, -8.728135219e-05f, -8.795571451e-05f, -8.862987894e-05f,
+-8.930384432e-05f, -8.997760949e-05f, -9.065117331e-05f, -9.132453463e-05f, -9.199769229e-05f, -9.267064514e-05f, -9.334339204e-05f, -9.401593184e-05f, -9.468826338e-05f, -9.536038552e-05f,
+-9.603229711e-05f, -9.670399701e-05f, -9.737548406e-05f, -9.804675712e-05f, -9.871781505e-05f, -9.938865669e-05f, -1.000592809e-04f, -1.007296865e-04f, -1.013998725e-04f, -1.020698375e-04f,
+-1.027395806e-04f, -1.034091005e-04f, -1.040783961e-04f, -1.047474663e-04f, -1.054163100e-04f, -1.060849259e-04f, -1.067533129e-04f, -1.074214700e-04f, -1.080893959e-04f, -1.087570895e-04f,
+-1.094245498e-04f, -1.100917755e-04f, -1.107587655e-04f, -1.114255186e-04f, -1.120920339e-04f, -1.127583100e-04f, -1.134243458e-04f, -1.140901403e-04f, -1.147556923e-04f, -1.154210007e-04f,
+-1.160860643e-04f, -1.167508820e-04f, -1.174154526e-04f, -1.180797751e-04f, -1.187438483e-04f, -1.194076710e-04f, -1.200712422e-04f, -1.207345607e-04f, -1.213976253e-04f, -1.220604350e-04f,
+-1.227229886e-04f, -1.233852850e-04f, -1.240473231e-04f, -1.247091017e-04f, -1.253706197e-04f, -1.260318760e-04f, -1.266928694e-04f, -1.273535989e-04f, -1.280140633e-04f, -1.286742614e-04f,
+-1.293341922e-04f, -1.299938546e-04f, -1.306532473e-04f, -1.313123694e-04f, -1.319712196e-04f, -1.326297969e-04f, -1.332881001e-04f, -1.339461281e-04f, -1.346038798e-04f, -1.352613541e-04f,
+-1.359185498e-04f, -1.365754659e-04f, -1.372321012e-04f, -1.378884546e-04f, -1.385445250e-04f, -1.392003112e-04f, -1.398558122e-04f, -1.405110269e-04f, -1.411659541e-04f, -1.418205927e-04f,
+-1.424749416e-04f, -1.431289997e-04f, -1.437827658e-04f, -1.444362390e-04f, -1.450894180e-04f, -1.457423018e-04f, -1.463948892e-04f, -1.470471791e-04f, -1.476991705e-04f, -1.483508622e-04f,
+-1.490022531e-04f, -1.496533421e-04f, -1.503041282e-04f, -1.509546101e-04f, -1.516047868e-04f, -1.522546572e-04f, -1.529042202e-04f, -1.535534747e-04f, -1.542024195e-04f, -1.548510537e-04f,
+-1.554993760e-04f, -1.561473854e-04f, -1.567950808e-04f, -1.574424611e-04f, -1.580895251e-04f, -1.587362719e-04f, -1.593827002e-04f, -1.600288091e-04f, -1.606745973e-04f, -1.613200639e-04f,
+-1.619652076e-04f, -1.626100275e-04f, -1.632545224e-04f, -1.638986913e-04f, -1.645425330e-04f, -1.651860464e-04f, -1.658292305e-04f, -1.664720842e-04f, -1.671146063e-04f, -1.677567959e-04f,
+-1.683986517e-04f, -1.690401728e-04f, -1.696813580e-04f, -1.703222062e-04f, -1.709627164e-04f, -1.716028875e-04f, -1.722427184e-04f, -1.728822080e-04f, -1.735213552e-04f, -1.741601590e-04f,
+-1.747986182e-04f, -1.754367318e-04f, -1.760744987e-04f, -1.767119178e-04f, -1.773489881e-04f, -1.779857084e-04f, -1.786220778e-04f, -1.792580950e-04f, -1.798937591e-04f, -1.805290690e-04f,
+-1.811640235e-04f, -1.817986217e-04f, -1.824328624e-04f, -1.830667446e-04f, -1.837002671e-04f, -1.843334290e-04f, -1.849662292e-04f, -1.855986665e-04f, -1.862307400e-04f, -1.868624485e-04f,
+-1.874937910e-04f, -1.881247664e-04f, -1.887553737e-04f, -1.893856117e-04f, -1.900154795e-04f, -1.906449759e-04f, -1.912740999e-04f, -1.919028504e-04f, -1.925312265e-04f, -1.931592269e-04f,
+-1.937868506e-04f, -1.944140967e-04f, -1.950409640e-04f, -1.956674514e-04f, -1.962935580e-04f, -1.969192826e-04f, -1.975446243e-04f, -1.981695819e-04f, -1.987941543e-04f, -1.994183406e-04f,
+-2.000421397e-04f, -2.006655505e-04f, -2.012885720e-04f, -2.019112032e-04f, -2.025334429e-04f, -2.031552901e-04f, -2.037767438e-04f, -2.043978030e-04f, -2.050184665e-04f, -2.056387334e-04f,
+-2.062586026e-04f, -2.068780730e-04f, -2.074971437e-04f, -2.081158135e-04f, -2.087340814e-04f, -2.093519464e-04f, -2.099694074e-04f, -2.105864635e-04f, -2.112031135e-04f, -2.118193564e-04f,
+-2.124351912e-04f, -2.130506168e-04f, -2.136656323e-04f, -2.142802365e-04f, -2.148944285e-04f, -2.155082071e-04f, -2.161215715e-04f, -2.167345205e-04f, -2.173470530e-04f, -2.179591682e-04f,
+-2.185708649e-04f, -2.191821422e-04f, -2.197929989e-04f, -2.204034341e-04f, -2.210134467e-04f, -2.216230357e-04f, -2.222322001e-04f, -2.228409389e-04f, -2.234492510e-04f, -2.240571354e-04f,
+-2.246645911e-04f, -2.252716171e-04f, -2.258782123e-04f, -2.264843757e-04f, -2.270901064e-04f, -2.276954033e-04f, -2.283002653e-04f, -2.289046915e-04f, -2.295086808e-04f, -2.301122323e-04f,
+-2.307153449e-04f, -2.313180176e-04f, -2.319202493e-04f, -2.325220392e-04f, -2.331233861e-04f, -2.337242891e-04f, -2.343247472e-04f, -2.349247592e-04f, -2.355243243e-04f, -2.361234415e-04f,
+-2.367221096e-04f, -2.373203278e-04f, -2.379180950e-04f, -2.385154102e-04f, -2.391122725e-04f, -2.397086807e-04f, -2.403046339e-04f, -2.409001312e-04f, -2.414951714e-04f, -2.420897537e-04f,
+-2.426838770e-04f, -2.432775403e-04f, -2.438707426e-04f, -2.444634830e-04f, -2.450557604e-04f, -2.456475739e-04f, -2.462389223e-04f, -2.468298049e-04f, -2.474202205e-04f, -2.480101682e-04f,
+-2.485996471e-04f, -2.491886560e-04f, -2.497771940e-04f, -2.503652602e-04f, -2.509528535e-04f, -2.515399730e-04f, -2.521266176e-04f, -2.527127865e-04f, -2.532984786e-04f, -2.538836929e-04f,
+-2.544684285e-04f, -2.550526844e-04f, -2.556364596e-04f, -2.562197531e-04f, -2.568025640e-04f, -2.573848912e-04f, -2.579667338e-04f, -2.585480909e-04f, -2.591289614e-04f, -2.597093444e-04f,
+-2.602892390e-04f, -2.608686440e-04f, -2.614475587e-04f, -2.620259820e-04f, -2.626039129e-04f, -2.631813505e-04f, -2.637582938e-04f, -2.643347418e-04f, -2.649106937e-04f, -2.654861483e-04f,
+-2.660611049e-04f, -2.666355623e-04f, -2.672095197e-04f, -2.677829760e-04f, -2.683559304e-04f, -2.689283819e-04f, -2.695003294e-04f, -2.700717722e-04f, -2.706427091e-04f, -2.712131393e-04f,
+-2.717830618e-04f, -2.723524757e-04f, -2.729213799e-04f, -2.734897736e-04f, -2.740576558e-04f, -2.746250256e-04f, -2.751918820e-04f, -2.757582240e-04f, -2.763240508e-04f, -2.768893613e-04f,
+-2.774541547e-04f, -2.780184300e-04f, -2.785821862e-04f, -2.791454225e-04f, -2.797081378e-04f, -2.802703313e-04f, -2.808320019e-04f, -2.813931489e-04f, -2.819537711e-04f, -2.825138678e-04f,
+-2.830734379e-04f, -2.836324806e-04f, -2.841909949e-04f, -2.847489798e-04f, -2.853064345e-04f, -2.858633580e-04f, -2.864197494e-04f, -2.869756078e-04f, -2.875309322e-04f, -2.880857217e-04f,
+-2.886399754e-04f, -2.891936924e-04f, -2.897468718e-04f, -2.902995125e-04f, -2.908516138e-04f, -2.914031747e-04f, -2.919541942e-04f, -2.925046715e-04f, -2.930546057e-04f, -2.936039958e-04f,
+-2.941528409e-04f, -2.947011401e-04f, -2.952488925e-04f, -2.957960972e-04f, -2.963427533e-04f, -2.968888598e-04f, -2.974344160e-04f, -2.979794207e-04f, -2.985238732e-04f, -2.990677726e-04f,
+-2.996111179e-04f, -3.001539083e-04f, -3.006961428e-04f, -3.012378205e-04f, -3.017789406e-04f, -3.023195022e-04f, -3.028595042e-04f, -3.033989460e-04f, -3.039378265e-04f, -3.044761449e-04f,
+-3.050139002e-04f, -3.055510916e-04f, -3.060877183e-04f, -3.066237792e-04f, -3.071592735e-04f, -3.076942004e-04f, -3.082285589e-04f, -3.087623481e-04f, -3.092955673e-04f, -3.098282154e-04f,
+-3.103602916e-04f, -3.108917951e-04f, -3.114227249e-04f, -3.119530801e-04f, -3.124828600e-04f, -3.130120636e-04f, -3.135406900e-04f, -3.140687383e-04f, -3.145962078e-04f, -3.151230974e-04f,
+-3.156494064e-04f, -3.161751339e-04f, -3.167002790e-04f, -3.172248408e-04f, -3.177488185e-04f, -3.182722112e-04f, -3.187950180e-04f, -3.193172381e-04f, -3.198388706e-04f, -3.203599147e-04f,
+-3.208803694e-04f, -3.214002339e-04f, -3.219195075e-04f, -3.224381891e-04f, -3.229562780e-04f, -3.234737733e-04f, -3.239906741e-04f, -3.245069797e-04f, -3.250226890e-04f, -3.255378014e-04f,
+-3.260523159e-04f, -3.265662317e-04f, -3.270795479e-04f, -3.275922637e-04f, -3.281043782e-04f, -3.286158907e-04f, -3.291268002e-04f, -3.296371060e-04f, -3.301468071e-04f, -3.306559027e-04f,
+-3.311643921e-04f, -3.316722743e-04f, -3.321795485e-04f, -3.326862140e-04f, -3.331922697e-04f, -3.336977150e-04f, -3.342025490e-04f, -3.347067708e-04f, -3.352103797e-04f, -3.357133748e-04f,
+-3.362157552e-04f, -3.367175202e-04f, -3.372186688e-04f, -3.377192004e-04f, -3.382191140e-04f, -3.387184089e-04f, -3.392170842e-04f, -3.397151392e-04f, -3.402125729e-04f, -3.407093845e-04f,
+-3.412055733e-04f, -3.417011385e-04f, -3.421960792e-04f, -3.426903945e-04f, -3.431840838e-04f, -3.436771462e-04f, -3.441695808e-04f, -3.446613869e-04f, -3.451525637e-04f, -3.456431103e-04f,
+-3.461330259e-04f, -3.466223099e-04f, -3.471109612e-04f, -3.475989792e-04f, -3.480863630e-04f, -3.485731118e-04f, -3.490592249e-04f, -3.495447015e-04f, -3.500295407e-04f, -3.505137417e-04f,
+-3.509973038e-04f, -3.514802261e-04f, -3.519625080e-04f, -3.524441485e-04f, -3.529251469e-04f, -3.534055024e-04f, -3.538852142e-04f, -3.543642816e-04f, -3.548427037e-04f, -3.553204798e-04f,
+-3.557976090e-04f, -3.562740907e-04f, -3.567499240e-04f, -3.572251081e-04f, -3.576996423e-04f, -3.581735258e-04f, -3.586467578e-04f, -3.591193376e-04f, -3.595912643e-04f, -3.600625372e-04f,
+-3.605331556e-04f, -3.610031186e-04f, -3.614724254e-04f, -3.619410755e-04f, -3.624090678e-04f, -3.628764018e-04f, -3.633430766e-04f, -3.638090915e-04f, -3.642744456e-04f, -3.647391384e-04f,
+-3.652031689e-04f, -3.656665364e-04f, -3.661292402e-04f, -3.665912796e-04f, -3.670526537e-04f, -3.675133618e-04f, -3.679734032e-04f, -3.684327771e-04f, -3.688914828e-04f, -3.693495195e-04f,
+-3.698068864e-04f, -3.702635829e-04f, -3.707196082e-04f, -3.711749615e-04f, -3.716296421e-04f, -3.720836493e-04f, -3.725369822e-04f, -3.729896403e-04f, -3.734416227e-04f, -3.738929287e-04f,
+-3.743435576e-04f, -3.747935086e-04f, -3.752427811e-04f, -3.756913742e-04f, -3.761392873e-04f, -3.765865196e-04f, -3.770330703e-04f, -3.774789389e-04f, -3.779241245e-04f, -3.783686264e-04f,
+-3.788124439e-04f, -3.792555763e-04f, -3.796980229e-04f, -3.801397829e-04f, -3.805808556e-04f, -3.810212403e-04f, -3.814609363e-04f, -3.818999429e-04f, -3.823382594e-04f, -3.827758850e-04f,
+-3.832128191e-04f, -3.836490609e-04f, -3.840846097e-04f, -3.845194649e-04f, -3.849536256e-04f, -3.853870913e-04f, -3.858198613e-04f, -3.862519347e-04f, -3.866833109e-04f, -3.871139893e-04f,
+-3.875439691e-04f, -3.879732496e-04f, -3.884018301e-04f, -3.888297100e-04f, -3.892568885e-04f, -3.896833650e-04f, -3.901091387e-04f, -3.905342090e-04f, -3.909585752e-04f, -3.913822366e-04f,
+-3.918051926e-04f, -3.922274423e-04f, -3.926489852e-04f, -3.930698206e-04f, -3.934899478e-04f, -3.939093660e-04f, -3.943280748e-04f, -3.947460732e-04f, -3.951633608e-04f, -3.955799368e-04f,
+-3.959958005e-04f, -3.964109513e-04f, -3.968253885e-04f, -3.972391115e-04f, -3.976521195e-04f, -3.980644119e-04f, -3.984759880e-04f, -3.988868472e-04f, -3.992969889e-04f, -3.997064123e-04f,
+-4.001151168e-04f, -4.005231017e-04f, -4.009303664e-04f, -4.013369102e-04f, -4.017427325e-04f, -4.021478326e-04f, -4.025522099e-04f, -4.029558637e-04f, -4.033587934e-04f, -4.037609983e-04f,
+-4.041624778e-04f, -4.045632312e-04f, -4.049632579e-04f, -4.053625573e-04f, -4.057611286e-04f, -4.061589713e-04f, -4.065560848e-04f, -4.069524683e-04f, -4.073481213e-04f, -4.077430431e-04f,
+-4.081372331e-04f, -4.085306907e-04f, -4.089234151e-04f, -4.093154059e-04f, -4.097066624e-04f, -4.100971839e-04f, -4.104869698e-04f, -4.108760195e-04f, -4.112643323e-04f, -4.116519078e-04f,
+-4.120387451e-04f, -4.124248438e-04f, -4.128102031e-04f, -4.131948226e-04f, -4.135787015e-04f, -4.139618392e-04f, -4.143442352e-04f, -4.147258888e-04f, -4.151067995e-04f, -4.154869665e-04f,
+-4.158663893e-04f, -4.162450674e-04f, -4.166230000e-04f, -4.170001867e-04f, -4.173766267e-04f, -4.177523195e-04f, -4.181272645e-04f, -4.185014611e-04f, -4.188749087e-04f, -4.192476067e-04f,
+-4.196195545e-04f, -4.199907516e-04f, -4.203611972e-04f, -4.207308909e-04f, -4.210998321e-04f, -4.214680201e-04f, -4.218354544e-04f, -4.222021344e-04f, -4.225680595e-04f, -4.229332291e-04f,
+-4.232976427e-04f, -4.236612997e-04f, -4.240241995e-04f, -4.243863414e-04f, -4.247477251e-04f, -4.251083497e-04f, -4.254682149e-04f, -4.258273201e-04f, -4.261856646e-04f, -4.265432478e-04f,
+-4.269000693e-04f, -4.272561285e-04f, -4.276114248e-04f, -4.279659576e-04f, -4.283197263e-04f, -4.286727305e-04f, -4.290249696e-04f, -4.293764429e-04f, -4.297271500e-04f, -4.300770903e-04f,
+-4.304262632e-04f, -4.307746682e-04f, -4.311223048e-04f, -4.314691723e-04f, -4.318152703e-04f, -4.321605982e-04f, -4.325051554e-04f, -4.328489414e-04f, -4.331919557e-04f, -4.335341977e-04f,
+-4.338756669e-04f, -4.342163627e-04f, -4.345562847e-04f, -4.348954322e-04f, -4.352338048e-04f, -4.355714019e-04f, -4.359082230e-04f, -4.362442675e-04f, -4.365795349e-04f, -4.369140248e-04f,
+-4.372477365e-04f, -4.375806695e-04f, -4.379128234e-04f, -4.382441976e-04f, -4.385747915e-04f, -4.389046047e-04f, -4.392336367e-04f, -4.395618869e-04f, -4.398893548e-04f, -4.402160399e-04f,
+-4.405419418e-04f, -4.408670598e-04f, -4.411913934e-04f, -4.415149423e-04f, -4.418377058e-04f, -4.421596834e-04f, -4.424808747e-04f, -4.428012792e-04f, -4.431208963e-04f, -4.434397256e-04f,
+-4.437577665e-04f, -4.440750186e-04f, -4.443914813e-04f, -4.447071542e-04f, -4.450220368e-04f, -4.453361286e-04f, -4.456494291e-04f, -4.459619378e-04f, -4.462736542e-04f, -4.465845779e-04f,
+-4.468947083e-04f, -4.472040450e-04f, -4.475125874e-04f, -4.478203352e-04f, -4.481272879e-04f, -4.484334449e-04f, -4.487388057e-04f, -4.490433700e-04f, -4.493471372e-04f, -4.496501069e-04f,
+-4.499522786e-04f, -4.502536519e-04f, -4.505542261e-04f, -4.508540010e-04f, -4.511529760e-04f, -4.514511507e-04f, -4.517485246e-04f, -4.520450973e-04f, -4.523408683e-04f, -4.526358370e-04f,
+-4.529300032e-04f, -4.532233663e-04f, -4.535159259e-04f, -4.538076815e-04f, -4.540986327e-04f, -4.543887790e-04f, -4.546781199e-04f, -4.549666552e-04f, -4.552543842e-04f, -4.555413065e-04f,
+-4.558274218e-04f, -4.561127295e-04f, -4.563972293e-04f, -4.566809206e-04f, -4.569638031e-04f, -4.572458764e-04f, -4.575271399e-04f, -4.578075933e-04f, -4.580872361e-04f, -4.583660679e-04f,
+-4.586440883e-04f, -4.589212968e-04f, -4.591976931e-04f, -4.594732766e-04f, -4.597480471e-04f, -4.600220040e-04f, -4.602951470e-04f, -4.605674755e-04f, -4.608389893e-04f, -4.611096879e-04f,
+-4.613795709e-04f, -4.616486379e-04f, -4.619168884e-04f, -4.621843221e-04f, -4.624509385e-04f, -4.627167373e-04f, -4.629817180e-04f, -4.632458803e-04f, -4.635092237e-04f, -4.637717478e-04f,
+-4.640334523e-04f, -4.642943367e-04f, -4.645544007e-04f, -4.648136438e-04f, -4.650720657e-04f, -4.653296659e-04f, -4.655864442e-04f, -4.658424000e-04f, -4.660975331e-04f, -4.663518429e-04f,
+-4.666053293e-04f, -4.668579916e-04f, -4.671098297e-04f, -4.673608430e-04f, -4.676110313e-04f, -4.678603941e-04f, -4.681089311e-04f, -4.683566419e-04f, -4.686035261e-04f, -4.688495834e-04f,
+-4.690948133e-04f, -4.693392156e-04f, -4.695827898e-04f, -4.698255356e-04f, -4.700674526e-04f, -4.703085405e-04f, -4.705487989e-04f, -4.707882274e-04f, -4.710268257e-04f, -4.712645935e-04f,
+-4.715015303e-04f, -4.717376358e-04f, -4.719729097e-04f, -4.722073517e-04f, -4.724409613e-04f, -4.726737382e-04f, -4.729056821e-04f, -4.731367927e-04f, -4.733670695e-04f, -4.735965123e-04f,
+-4.738251207e-04f, -4.740528943e-04f, -4.742798330e-04f, -4.745059362e-04f, -4.747312036e-04f, -4.749556351e-04f, -4.751792301e-04f, -4.754019884e-04f, -4.756239096e-04f, -4.758449934e-04f,
+-4.760652396e-04f, -4.762846477e-04f, -4.765032175e-04f, -4.767209486e-04f, -4.769378407e-04f, -4.771538935e-04f, -4.773691066e-04f, -4.775834798e-04f, -4.777970128e-04f, -4.780097052e-04f,
+-4.782215568e-04f, -4.784325671e-04f, -4.786427360e-04f, -4.788520630e-04f, -4.790605480e-04f, -4.792681905e-04f, -4.794749904e-04f, -4.796809472e-04f, -4.798860607e-04f, -4.800903306e-04f,
+-4.802937567e-04f, -4.804963385e-04f, -4.806980758e-04f, -4.808989684e-04f, -4.810990159e-04f, -4.812982181e-04f, -4.814965746e-04f, -4.816940852e-04f, -4.818907495e-04f, -4.820865674e-04f,
+-4.822815385e-04f, -4.824756626e-04f, -4.826689393e-04f, -4.828613684e-04f, -4.830529497e-04f, -4.832436828e-04f, -4.834335674e-04f, -4.836226034e-04f, -4.838107904e-04f, -4.839981281e-04f,
+-4.841846164e-04f, -4.843702549e-04f, -4.845550434e-04f, -4.847389815e-04f, -4.849220692e-04f, -4.851043060e-04f, -4.852856918e-04f, -4.854662262e-04f, -4.856459091e-04f, -4.858247401e-04f,
+-4.860027191e-04f, -4.861798458e-04f, -4.863561198e-04f, -4.865315411e-04f, -4.867061093e-04f, -4.868798241e-04f, -4.870526855e-04f, -4.872246930e-04f, -4.873958465e-04f, -4.875661457e-04f,
+-4.877355904e-04f, -4.879041804e-04f, -4.880719154e-04f, -4.882387953e-04f, -4.884048196e-04f, -4.885699883e-04f, -4.887343012e-04f, -4.888977579e-04f, -4.890603582e-04f, -4.892221020e-04f,
+-4.893829890e-04f, -4.895430191e-04f, -4.897021919e-04f, -4.898605072e-04f, -4.900179649e-04f, -4.901745647e-04f, -4.903303065e-04f, -4.904851900e-04f, -4.906392149e-04f, -4.907923812e-04f,
+-4.909446885e-04f, -4.910961367e-04f, -4.912467256e-04f, -4.913964550e-04f, -4.915453247e-04f, -4.916933344e-04f, -4.918404840e-04f, -4.919867733e-04f, -4.921322021e-04f, -4.922767702e-04f,
+-4.924204774e-04f, -4.925633235e-04f, -4.927053084e-04f, -4.928464318e-04f, -4.929866935e-04f, -4.931260934e-04f, -4.932646313e-04f, -4.934023071e-04f, -4.935391204e-04f, -4.936750712e-04f,
+-4.938101593e-04f, -4.939443845e-04f, -4.940777466e-04f, -4.942102455e-04f, -4.943418810e-04f, -4.944726529e-04f, -4.946025610e-04f, -4.947316053e-04f, -4.948597854e-04f, -4.949871013e-04f,
+-4.951135528e-04f, -4.952391398e-04f, -4.953638620e-04f, -4.954877194e-04f, -4.956107117e-04f, -4.957328389e-04f, -4.958541007e-04f, -4.959744970e-04f, -4.960940277e-04f, -4.962126926e-04f,
+-4.963304916e-04f, -4.964474245e-04f, -4.965634912e-04f, -4.966786915e-04f, -4.967930253e-04f, -4.969064925e-04f, -4.970190929e-04f, -4.971308265e-04f, -4.972416929e-04f, -4.973516922e-04f,
+-4.974608242e-04f, -4.975690888e-04f, -4.976764858e-04f, -4.977830151e-04f, -4.978886766e-04f, -4.979934701e-04f, -4.980973956e-04f, -4.982004529e-04f, -4.983026419e-04f, -4.984039625e-04f,
+-4.985044146e-04f, -4.986039980e-04f, -4.987027127e-04f, -4.988005584e-04f, -4.988975352e-04f, -4.989936430e-04f, -4.990888815e-04f, -4.991832507e-04f, -4.992767505e-04f, -4.993693808e-04f,
+-4.994611415e-04f, -4.995520325e-04f, -4.996420537e-04f, -4.997312050e-04f, -4.998194862e-04f, -4.999068974e-04f, -4.999934385e-04f, -5.000791092e-04f, -5.001639096e-04f, -5.002478395e-04f,
+-5.003308989e-04f, -5.004130877e-04f, -5.004944058e-04f, -5.005748531e-04f, -5.006544296e-04f, -5.007331351e-04f, -5.008109696e-04f, -5.008879330e-04f, -5.009640252e-04f, -5.010392462e-04f,
+-5.011135960e-04f, -5.011870743e-04f, -5.012596812e-04f, -5.013314165e-04f, -5.014022804e-04f, -5.014722725e-04f, -5.015413930e-04f, -5.016096417e-04f, -5.016770186e-04f, -5.017435236e-04f,
+-5.018091568e-04f, -5.018739179e-04f, -5.019378070e-04f, -5.020008240e-04f, -5.020629688e-04f, -5.021242415e-04f, -5.021846420e-04f, -5.022441701e-04f, -5.023028260e-04f, -5.023606095e-04f,
+-5.024175206e-04f, -5.024735593e-04f, -5.025287255e-04f, -5.025830192e-04f, -5.026364403e-04f, -5.026889889e-04f, -5.027406648e-04f, -5.027914682e-04f, -5.028413988e-04f, -5.028904568e-04f,
+-5.029386420e-04f, -5.029859545e-04f, -5.030323942e-04f, -5.030779612e-04f, -5.031226553e-04f, -5.031664766e-04f, -5.032094251e-04f, -5.032515008e-04f, -5.032927035e-04f, -5.033330334e-04f,
+-5.033724904e-04f, -5.034110745e-04f, -5.034487857e-04f, -5.034856240e-04f, -5.035215894e-04f, -5.035566819e-04f, -5.035909014e-04f, -5.036242481e-04f, -5.036567218e-04f, -5.036883226e-04f,
+-5.037190505e-04f, -5.037489055e-04f, -5.037778876e-04f, -5.038059969e-04f, -5.038332333e-04f, -5.038595968e-04f, -5.038850874e-04f, -5.039097053e-04f, -5.039334503e-04f, -5.039563226e-04f,
+-5.039783220e-04f, -5.039994487e-04f, -5.040197027e-04f, -5.040390840e-04f, -5.040575926e-04f, -5.040752286e-04f, -5.040919920e-04f, -5.041078827e-04f, -5.041229009e-04f, -5.041370466e-04f,
+-5.041503198e-04f, -5.041627206e-04f, -5.041742489e-04f, -5.041849048e-04f, -5.041946885e-04f, -5.042035998e-04f, -5.042116389e-04f, -5.042188058e-04f, -5.042251005e-04f, -5.042305232e-04f,
+-5.042350738e-04f, -5.042387524e-04f, -5.042415590e-04f, -5.042434937e-04f, -5.042445567e-04f, -5.042447478e-04f, -5.042440672e-04f, -5.042425150e-04f, -5.042400911e-04f, -5.042367957e-04f,
+-5.042326289e-04f, -5.042275907e-04f, -5.042216811e-04f, -5.042149002e-04f, -5.042072482e-04f, -5.041987251e-04f, -5.041893309e-04f, -5.041790657e-04f, -5.041679297e-04f, -5.041559228e-04f,
+-5.041430452e-04f, -5.041292970e-04f, -5.041146782e-04f, -5.040991889e-04f, -5.040828292e-04f, -5.040655992e-04f, -5.040474990e-04f, -5.040285286e-04f, -5.040086883e-04f, -5.039879779e-04f,
+-5.039663978e-04f, -5.039439479e-04f, -5.039206283e-04f, -5.038964392e-04f, -5.038713806e-04f, -5.038454527e-04f, -5.038186555e-04f, -5.037909892e-04f, -5.037624539e-04f, -5.037330497e-04f,
+-5.037027766e-04f, -5.036716349e-04f, -5.036396245e-04f, -5.036067457e-04f, -5.035729986e-04f, -5.035383831e-04f, -5.035028996e-04f, -5.034665481e-04f, -5.034293287e-04f, -5.033912416e-04f,
+-5.033522868e-04f, -5.033124645e-04f, -5.032717749e-04f, -5.032302180e-04f, -5.031877940e-04f, -5.031445030e-04f, -5.031003452e-04f, -5.030553207e-04f, -5.030094296e-04f, -5.029626721e-04f,
+-5.029150483e-04f, -5.028665583e-04f, -5.028172023e-04f, -5.027669805e-04f, -5.027158929e-04f, -5.026639398e-04f, -5.026111213e-04f, -5.025574375e-04f, -5.025028885e-04f, -5.024474746e-04f,
+-5.023911959e-04f, -5.023340526e-04f, -5.022760447e-04f, -5.022171726e-04f, -5.021574362e-04f, -5.020968358e-04f, -5.020353716e-04f, -5.019730437e-04f, -5.019098523e-04f, -5.018457975e-04f,
+-5.017808796e-04f, -5.017150986e-04f, -5.016484548e-04f, -5.015809484e-04f, -5.015125795e-04f, -5.014433482e-04f, -5.013732549e-04f, -5.013022996e-04f, -5.012304825e-04f, -5.011578039e-04f,
+-5.010842638e-04f, -5.010098625e-04f, -5.009346002e-04f, -5.008584771e-04f, -5.007814933e-04f, -5.007036491e-04f, -5.006249446e-04f, -5.005453801e-04f, -5.004649557e-04f, -5.003836716e-04f,
+-5.003015280e-04f, -5.002185252e-04f, -5.001346633e-04f, -5.000499426e-04f, -4.999643631e-04f, -4.998779253e-04f, -4.997906292e-04f, -4.997024750e-04f, -4.996134630e-04f, -4.995235935e-04f,
+-4.994328665e-04f, -4.993412823e-04f, -4.992488412e-04f, -4.991555434e-04f, -4.990613890e-04f, -4.989663783e-04f, -4.988705115e-04f, -4.987737889e-04f, -4.986762106e-04f, -4.985777769e-04f,
+-4.984784881e-04f, -4.983783443e-04f, -4.982773458e-04f, -4.981754928e-04f, -4.980727856e-04f, -4.979692244e-04f, -4.978648093e-04f, -4.977595408e-04f, -4.976534190e-04f, -4.975464441e-04f,
+-4.974386164e-04f, -4.973299362e-04f, -4.972204036e-04f, -4.971100189e-04f, -4.969987825e-04f, -4.968866945e-04f, -4.967737551e-04f, -4.966599647e-04f, -4.965453235e-04f, -4.964298317e-04f,
+-4.963134897e-04f, -4.961962976e-04f, -4.960782557e-04f, -4.959593644e-04f, -4.958396237e-04f, -4.957190341e-04f, -4.955975958e-04f, -4.954753090e-04f, -4.953521741e-04f, -4.952281912e-04f,
+-4.951033607e-04f, -4.949776829e-04f, -4.948511579e-04f, -4.947237862e-04f, -4.945955679e-04f, -4.944665034e-04f, -4.943365929e-04f, -4.942058367e-04f, -4.940742351e-04f, -4.939417884e-04f,
+-4.938084969e-04f, -4.936743608e-04f, -4.935393804e-04f, -4.934035561e-04f, -4.932668882e-04f, -4.931293768e-04f, -4.929910224e-04f, -4.928518252e-04f, -4.927117855e-04f, -4.925709036e-04f,
+-4.924291799e-04f, -4.922866145e-04f, -4.921432079e-04f, -4.919989603e-04f, -4.918538721e-04f, -4.917079435e-04f, -4.915611748e-04f, -4.914135664e-04f, -4.912651186e-04f, -4.911158317e-04f,
+-4.909657060e-04f, -4.908147418e-04f, -4.906629394e-04f, -4.905102993e-04f, -4.903568216e-04f, -4.902025067e-04f, -4.900473549e-04f, -4.898913666e-04f, -4.897345421e-04f, -4.895768817e-04f,
+-4.894183857e-04f, -4.892590545e-04f, -4.890988884e-04f, -4.889378878e-04f, -4.887760529e-04f, -4.886133841e-04f, -4.884498818e-04f, -4.882855463e-04f, -4.881203779e-04f, -4.879543770e-04f,
+-4.877875439e-04f, -4.876198790e-04f, -4.874513826e-04f, -4.872820550e-04f, -4.871118966e-04f, -4.869409078e-04f, -4.867690890e-04f, -4.865964403e-04f, -4.864229623e-04f, -4.862486553e-04f,
+-4.860735196e-04f, -4.858975556e-04f, -4.857207637e-04f, -4.855431442e-04f, -4.853646975e-04f, -4.851854239e-04f, -4.850053238e-04f, -4.848243976e-04f, -4.846426457e-04f, -4.844600684e-04f,
+-4.842766661e-04f, -4.840924391e-04f, -4.839073879e-04f, -4.837215128e-04f, -4.835348143e-04f, -4.833472926e-04f, -4.831589481e-04f, -4.829697813e-04f, -4.827797925e-04f, -4.825889821e-04f,
+-4.823973505e-04f, -4.822048981e-04f, -4.820116253e-04f, -4.818175324e-04f, -4.816226199e-04f, -4.814268881e-04f, -4.812303375e-04f, -4.810329684e-04f, -4.808347812e-04f, -4.806357764e-04f,
+-4.804359543e-04f, -4.802353153e-04f, -4.800338599e-04f, -4.798315884e-04f, -4.796285012e-04f, -4.794245988e-04f, -4.792198816e-04f, -4.790143500e-04f, -4.788080043e-04f, -4.786008450e-04f,
+-4.783928725e-04f, -4.781840873e-04f, -4.779744897e-04f, -4.777640801e-04f, -4.775528591e-04f, -4.773408269e-04f, -4.771279841e-04f, -4.769143309e-04f, -4.766998680e-04f, -4.764845957e-04f,
+-4.762685144e-04f, -4.760516245e-04f, -4.758339265e-04f, -4.756154209e-04f, -4.753961080e-04f, -4.751759882e-04f, -4.749550621e-04f, -4.747333301e-04f, -4.745107925e-04f, -4.742874499e-04f,
+-4.740633026e-04f, -4.738383512e-04f, -4.736125960e-04f, -4.733860376e-04f, -4.731586763e-04f, -4.729305125e-04f, -4.727015469e-04f, -4.724717797e-04f, -4.722412116e-04f, -4.720098428e-04f,
+-4.717776738e-04f, -4.715447052e-04f, -4.713109374e-04f, -4.710763708e-04f, -4.708410059e-04f, -4.706048432e-04f, -4.703678831e-04f, -4.701301261e-04f, -4.698915726e-04f, -4.696522231e-04f,
+-4.694120781e-04f, -4.691711381e-04f, -4.689294035e-04f, -4.686868749e-04f, -4.684435525e-04f, -4.681994371e-04f, -4.679545289e-04f, -4.677088286e-04f, -4.674623365e-04f, -4.672150533e-04f,
+-4.669669792e-04f, -4.667181149e-04f, -4.664684608e-04f, -4.662180174e-04f, -4.659667851e-04f, -4.657147646e-04f, -4.654619562e-04f, -4.652083604e-04f, -4.649539779e-04f, -4.646988089e-04f,
+-4.644428541e-04f, -4.641861139e-04f, -4.639285888e-04f, -4.636702794e-04f, -4.634111861e-04f, -4.631513095e-04f, -4.628906499e-04f, -4.626292080e-04f, -4.623669843e-04f, -4.621039792e-04f,
+-4.618401932e-04f, -4.615756269e-04f, -4.613102809e-04f, -4.610441554e-04f, -4.607772512e-04f, -4.605095688e-04f, -4.602411085e-04f, -4.599718710e-04f, -4.597018568e-04f, -4.594310664e-04f,
+-4.591595003e-04f, -4.588871590e-04f, -4.586140431e-04f, -4.583401531e-04f, -4.580654894e-04f, -4.577900528e-04f, -4.575138436e-04f, -4.572368623e-04f, -4.569591097e-04f, -4.566805861e-04f,
+-4.564012920e-04f, -4.561212282e-04f, -4.558403950e-04f, -4.555587930e-04f, -4.552764227e-04f, -4.549932848e-04f, -4.547093797e-04f, -4.544247079e-04f, -4.541392701e-04f, -4.538530667e-04f,
+-4.535660984e-04f, -4.532783656e-04f, -4.529898690e-04f, -4.527006090e-04f, -4.524105862e-04f, -4.521198012e-04f, -4.518282545e-04f, -4.515359467e-04f, -4.512428783e-04f, -4.509490499e-04f,
+-4.506544621e-04f, -4.503591154e-04f, -4.500630104e-04f, -4.497661477e-04f, -4.494685277e-04f, -4.491701512e-04f, -4.488710185e-04f, -4.485711304e-04f, -4.482704874e-04f, -4.479690900e-04f,
+-4.476669389e-04f, -4.473640346e-04f, -4.470603776e-04f, -4.467559686e-04f, -4.464508082e-04f, -4.461448968e-04f, -4.458382352e-04f, -4.455308238e-04f, -4.452226632e-04f, -4.449137542e-04f,
+-4.446040971e-04f, -4.442936927e-04f, -4.439825414e-04f, -4.436706440e-04f, -4.433580009e-04f, -4.430446128e-04f, -4.427304803e-04f, -4.424156039e-04f, -4.420999843e-04f, -4.417836221e-04f,
+-4.414665177e-04f, -4.411486720e-04f, -4.408300854e-04f, -4.405107585e-04f, -4.401906920e-04f, -4.398698865e-04f, -4.395483425e-04f, -4.392260607e-04f, -4.389030417e-04f, -4.385792860e-04f,
+-4.382547944e-04f, -4.379295673e-04f, -4.376036055e-04f, -4.372769096e-04f, -4.369494800e-04f, -4.366213176e-04f, -4.362924228e-04f, -4.359627963e-04f, -4.356324388e-04f, -4.353013508e-04f,
+-4.349695330e-04f, -4.346369859e-04f, -4.343037103e-04f, -4.339697067e-04f, -4.336349758e-04f, -4.332995182e-04f, -4.329633345e-04f, -4.326264254e-04f, -4.322887915e-04f, -4.319504334e-04f,
+-4.316113518e-04f, -4.312715472e-04f, -4.309310204e-04f, -4.305897720e-04f, -4.302478026e-04f, -4.299051128e-04f, -4.295617033e-04f, -4.292175748e-04f, -4.288727278e-04f, -4.285271631e-04f,
+-4.281808812e-04f, -4.278338829e-04f, -4.274861687e-04f, -4.271377394e-04f, -4.267885955e-04f, -4.264387378e-04f, -4.260881668e-04f, -4.257368833e-04f, -4.253848878e-04f, -4.250321811e-04f,
+-4.246787638e-04f, -4.243246366e-04f, -4.239698001e-04f, -4.236142550e-04f, -4.232580020e-04f, -4.229010416e-04f, -4.225433747e-04f, -4.221850018e-04f, -4.218259236e-04f, -4.214661408e-04f,
+-4.211056541e-04f, -4.207444640e-04f, -4.203825714e-04f, -4.200199769e-04f, -4.196566811e-04f, -4.192926848e-04f, -4.189279885e-04f, -4.185625931e-04f, -4.181964991e-04f, -4.178297072e-04f,
+-4.174622182e-04f, -4.170940327e-04f, -4.167251513e-04f, -4.163555749e-04f, -4.159853040e-04f, -4.156143394e-04f, -4.152426817e-04f, -4.148703316e-04f, -4.144972899e-04f, -4.141235572e-04f,
+-4.137491342e-04f, -4.133740216e-04f, -4.129982201e-04f, -4.126217304e-04f, -4.122445532e-04f, -4.118666892e-04f, -4.114881391e-04f, -4.111089036e-04f, -4.107289834e-04f, -4.103483792e-04f,
+-4.099670917e-04f, -4.095851216e-04f, -4.092024696e-04f, -4.088191365e-04f, -4.084351229e-04f, -4.080504296e-04f, -4.076650572e-04f, -4.072790065e-04f, -4.068922782e-04f, -4.065048730e-04f,
+-4.061167916e-04f, -4.057280347e-04f, -4.053386031e-04f, -4.049484975e-04f, -4.045577186e-04f, -4.041662671e-04f, -4.037741438e-04f, -4.033813493e-04f, -4.029878844e-04f, -4.025937498e-04f,
+-4.021989463e-04f, -4.018034745e-04f, -4.014073353e-04f, -4.010105293e-04f, -4.006130572e-04f, -4.002149199e-04f, -3.998161179e-04f, -3.994166522e-04f, -3.990165233e-04f, -3.986157321e-04f,
+-3.982142793e-04f, -3.978121656e-04f, -3.974093918e-04f, -3.970059585e-04f, -3.966018666e-04f, -3.961971168e-04f, -3.957917098e-04f, -3.953856464e-04f, -3.949789274e-04f, -3.945715534e-04f,
+-3.941635252e-04f, -3.937548436e-04f, -3.933455094e-04f, -3.929355232e-04f, -3.925248858e-04f, -3.921135981e-04f, -3.917016606e-04f, -3.912890743e-04f, -3.908758399e-04f, -3.904619580e-04f,
+-3.900474295e-04f, -3.896322552e-04f, -3.892164358e-04f, -3.887999720e-04f, -3.883828647e-04f, -3.879651145e-04f, -3.875467223e-04f, -3.871276889e-04f, -3.867080149e-04f, -3.862877012e-04f,
+-3.858667485e-04f, -3.854451577e-04f, -3.850229294e-04f, -3.846000645e-04f, -3.841765637e-04f, -3.837524278e-04f, -3.833276576e-04f, -3.829022538e-04f, -3.824762173e-04f, -3.820495488e-04f,
+-3.816222492e-04f, -3.811943191e-04f, -3.807657593e-04f, -3.803365707e-04f, -3.799067541e-04f, -3.794763101e-04f, -3.790452397e-04f, -3.786135436e-04f, -3.781812225e-04f, -3.777482774e-04f,
+-3.773147089e-04f, -3.768805178e-04f, -3.764457050e-04f, -3.760102713e-04f, -3.755742174e-04f, -3.751375441e-04f, -3.747002523e-04f, -3.742623427e-04f, -3.738238162e-04f, -3.733846735e-04f,
+-3.729449154e-04f, -3.725045428e-04f, -3.720635564e-04f, -3.716219571e-04f, -3.711797456e-04f, -3.707369228e-04f, -3.702934894e-04f, -3.698494464e-04f, -3.694047944e-04f, -3.689595343e-04f,
+-3.685136669e-04f, -3.680671931e-04f, -3.676201135e-04f, -3.671724292e-04f, -3.667241408e-04f, -3.662752492e-04f, -3.658257551e-04f, -3.653756595e-04f, -3.649249632e-04f, -3.644736669e-04f,
+-3.640217714e-04f, -3.635692777e-04f, -3.631161865e-04f, -3.626624987e-04f, -3.622082150e-04f, -3.617533363e-04f, -3.612978635e-04f, -3.608417973e-04f, -3.603851386e-04f, -3.599278883e-04f,
+-3.594700470e-04f, -3.590116158e-04f, -3.585525954e-04f, -3.580929866e-04f, -3.576327903e-04f, -3.571720073e-04f, -3.567106385e-04f, -3.562486847e-04f, -3.557861467e-04f, -3.553230254e-04f,
+-3.548593215e-04f, -3.543950361e-04f, -3.539301698e-04f, -3.534647236e-04f, -3.529986983e-04f, -3.525320947e-04f, -3.520649137e-04f, -3.515971561e-04f, -3.511288228e-04f, -3.506599146e-04f,
+-3.501904324e-04f, -3.497203770e-04f, -3.492497493e-04f, -3.487785501e-04f, -3.483067803e-04f, -3.478344408e-04f, -3.473615323e-04f, -3.468880558e-04f, -3.464140121e-04f, -3.459394021e-04f,
+-3.454642266e-04f, -3.449884865e-04f, -3.445121826e-04f, -3.440353159e-04f, -3.435578871e-04f, -3.430798971e-04f, -3.426013469e-04f, -3.421222372e-04f, -3.416425690e-04f, -3.411623431e-04f,
+-3.406815603e-04f, -3.402002216e-04f, -3.397183278e-04f, -3.392358798e-04f, -3.387528785e-04f, -3.382693247e-04f, -3.377852192e-04f, -3.373005631e-04f, -3.368153571e-04f, -3.363296022e-04f,
+-3.358432991e-04f, -3.353564489e-04f, -3.348690523e-04f, -3.343811102e-04f, -3.338926236e-04f, -3.334035933e-04f, -3.329140202e-04f, -3.324239052e-04f, -3.319332491e-04f, -3.314420529e-04f,
+-3.309503174e-04f, -3.304580435e-04f, -3.299652322e-04f, -3.294718842e-04f, -3.289780005e-04f, -3.284835821e-04f, -3.279886296e-04f, -3.274931442e-04f, -3.269971266e-04f, -3.265005777e-04f,
+-3.260034985e-04f, -3.255058898e-04f, -3.250077526e-04f, -3.245090877e-04f, -3.240098961e-04f, -3.235101785e-04f, -3.230099360e-04f, -3.225091695e-04f, -3.220078798e-04f, -3.215060678e-04f,
+-3.210037345e-04f, -3.205008807e-04f, -3.199975073e-04f, -3.194936153e-04f, -3.189892056e-04f, -3.184842791e-04f, -3.179788366e-04f, -3.174728792e-04f, -3.169664076e-04f, -3.164594228e-04f,
+-3.159519258e-04f, -3.154439174e-04f, -3.149353986e-04f, -3.144263702e-04f, -3.139168332e-04f, -3.134067885e-04f, -3.128962370e-04f, -3.123851797e-04f, -3.118736174e-04f, -3.113615510e-04f,
+-3.108489816e-04f, -3.103359099e-04f, -3.098223370e-04f, -3.093082637e-04f, -3.087936911e-04f, -3.082786199e-04f, -3.077630511e-04f, -3.072469857e-04f, -3.067304246e-04f, -3.062133686e-04f,
+-3.056958188e-04f, -3.051777761e-04f, -3.046592414e-04f, -3.041402155e-04f, -3.036206996e-04f, -3.031006944e-04f, -3.025802009e-04f, -3.020592201e-04f, -3.015377529e-04f, -3.010158001e-04f,
+-3.004933629e-04f, -2.999704420e-04f, -2.994470385e-04f, -2.989231532e-04f, -2.983987871e-04f, -2.978739412e-04f, -2.973486164e-04f, -2.968228136e-04f, -2.962965338e-04f, -2.957697779e-04f,
+-2.952425468e-04f, -2.947148415e-04f, -2.941866630e-04f, -2.936580122e-04f, -2.931288900e-04f, -2.925992974e-04f, -2.920692353e-04f, -2.915387048e-04f, -2.910077066e-04f, -2.904762418e-04f,
+-2.899443114e-04f, -2.894119163e-04f, -2.888790573e-04f, -2.883457356e-04f, -2.878119520e-04f, -2.872777076e-04f, -2.867430031e-04f, -2.862078397e-04f, -2.856722183e-04f, -2.851361398e-04f,
+-2.845996051e-04f, -2.840626153e-04f, -2.835251713e-04f, -2.829872741e-04f, -2.824489246e-04f, -2.819101238e-04f, -2.813708726e-04f, -2.808311720e-04f, -2.802910231e-04f, -2.797504266e-04f,
+-2.792093837e-04f, -2.786678952e-04f, -2.781259622e-04f, -2.775835856e-04f, -2.770407663e-04f, -2.764975054e-04f, -2.759538038e-04f, -2.754096625e-04f, -2.748650825e-04f, -2.743200647e-04f,
+-2.737746101e-04f, -2.732287196e-04f, -2.726823943e-04f, -2.721356352e-04f, -2.715884431e-04f, -2.710408191e-04f, -2.704927641e-04f, -2.699442792e-04f, -2.693953653e-04f, -2.688460233e-04f,
+-2.682962543e-04f, -2.677460593e-04f, -2.671954392e-04f, -2.666443950e-04f, -2.660929276e-04f, -2.655410382e-04f, -2.649887276e-04f, -2.644359968e-04f, -2.638828468e-04f, -2.633292787e-04f,
+-2.627752933e-04f, -2.622208918e-04f, -2.616660749e-04f, -2.611108439e-04f, -2.605551996e-04f, -2.599991430e-04f, -2.594426751e-04f, -2.588857970e-04f, -2.583285095e-04f, -2.577708138e-04f,
+-2.572127107e-04f, -2.566542013e-04f, -2.560952866e-04f, -2.555359675e-04f, -2.549762451e-04f, -2.544161204e-04f, -2.538555943e-04f, -2.532946679e-04f, -2.527333421e-04f, -2.521716180e-04f,
+-2.516094965e-04f, -2.510469786e-04f, -2.504840654e-04f, -2.499207579e-04f, -2.493570570e-04f, -2.487929637e-04f, -2.482284791e-04f, -2.476636041e-04f, -2.470983398e-04f, -2.465326872e-04f,
+-2.459666472e-04f, -2.454002209e-04f, -2.448334092e-04f, -2.442662133e-04f, -2.436986340e-04f, -2.431306725e-04f, -2.425623296e-04f, -2.419936065e-04f, -2.414245040e-04f, -2.408550234e-04f,
+-2.402851654e-04f, -2.397149312e-04f, -2.391443218e-04f, -2.385733382e-04f, -2.380019814e-04f, -2.374302523e-04f, -2.368581521e-04f, -2.362856817e-04f, -2.357128422e-04f, -2.351396346e-04f,
+-2.345660598e-04f, -2.339921189e-04f, -2.334178130e-04f, -2.328431430e-04f, -2.322681099e-04f, -2.316927148e-04f, -2.311169587e-04f, -2.305408427e-04f, -2.299643676e-04f, -2.293875346e-04f,
+-2.288103447e-04f, -2.282327989e-04f, -2.276548983e-04f, -2.270766437e-04f, -2.264980364e-04f, -2.259190772e-04f, -2.253397673e-04f, -2.247601076e-04f, -2.241800992e-04f, -2.235997431e-04f,
+-2.230190403e-04f, -2.224379919e-04f, -2.218565988e-04f, -2.212748622e-04f, -2.206927830e-04f, -2.201103623e-04f, -2.195276011e-04f, -2.189445005e-04f, -2.183610614e-04f, -2.177772849e-04f,
+-2.171931720e-04f, -2.166087238e-04f, -2.160239413e-04f, -2.154388256e-04f, -2.148533775e-04f, -2.142675983e-04f, -2.136814890e-04f, -2.130950505e-04f, -2.125082839e-04f, -2.119211903e-04f,
+-2.113337707e-04f, -2.107460260e-04f, -2.101579575e-04f, -2.095695660e-04f, -2.089808527e-04f, -2.083918186e-04f, -2.078024647e-04f, -2.072127920e-04f, -2.066228017e-04f, -2.060324947e-04f,
+-2.054418721e-04f, -2.048509349e-04f, -2.042596842e-04f, -2.036681210e-04f, -2.030762464e-04f, -2.024840614e-04f, -2.018915671e-04f, -2.012987644e-04f, -2.007056545e-04f, -2.001122384e-04f,
+-1.995185171e-04f, -1.989244917e-04f, -1.983301633e-04f, -1.977355328e-04f, -1.971406014e-04f, -1.965453700e-04f, -1.959498398e-04f, -1.953540117e-04f, -1.947578869e-04f, -1.941614664e-04f,
+-1.935647512e-04f, -1.929677424e-04f, -1.923704411e-04f, -1.917728482e-04f, -1.911749649e-04f, -1.905767922e-04f, -1.899783311e-04f, -1.893795827e-04f, -1.887805481e-04f, -1.881812284e-04f,
+-1.875816245e-04f, -1.869817375e-04f, -1.863815685e-04f, -1.857811186e-04f, -1.851803888e-04f, -1.845793801e-04f, -1.839780936e-04f, -1.833765305e-04f, -1.827746916e-04f, -1.821725782e-04f,
+-1.815701912e-04f, -1.809675318e-04f, -1.803646009e-04f, -1.797613997e-04f, -1.791579291e-04f, -1.785541903e-04f, -1.779501844e-04f, -1.773459123e-04f, -1.767413752e-04f, -1.761365741e-04f,
+-1.755315101e-04f, -1.749261842e-04f, -1.743205976e-04f, -1.737147512e-04f, -1.731086461e-04f, -1.725022835e-04f, -1.718956643e-04f, -1.712887897e-04f, -1.706816606e-04f, -1.700742783e-04f,
+-1.694666436e-04f, -1.688587578e-04f, -1.682506219e-04f, -1.676422369e-04f, -1.670336039e-04f, -1.664247240e-04f, -1.658155982e-04f, -1.652062277e-04f, -1.645966135e-04f, -1.639867566e-04f,
+-1.633766582e-04f, -1.627663193e-04f, -1.621557409e-04f, -1.615449242e-04f, -1.609338702e-04f, -1.603225801e-04f, -1.597110547e-04f, -1.590992954e-04f, -1.584873030e-04f, -1.578750788e-04f,
+-1.572626237e-04f, -1.566499388e-04f, -1.560370253e-04f, -1.554238842e-04f, -1.548105165e-04f, -1.541969234e-04f, -1.535831058e-04f, -1.529690650e-04f, -1.523548020e-04f, -1.517403178e-04f,
+-1.511256135e-04f, -1.505106903e-04f, -1.498955491e-04f, -1.492801911e-04f, -1.486646174e-04f, -1.480488289e-04f, -1.474328269e-04f, -1.468166123e-04f, -1.462001864e-04f, -1.455835500e-04f,
+-1.449667044e-04f, -1.443496506e-04f, -1.437323896e-04f, -1.431149227e-04f, -1.424972507e-04f, -1.418793749e-04f, -1.412612964e-04f, -1.406430161e-04f, -1.400245352e-04f, -1.394058547e-04f,
+-1.387869759e-04f, -1.381678996e-04f, -1.375486270e-04f, -1.369291593e-04f, -1.363094974e-04f, -1.356896425e-04f, -1.350695957e-04f, -1.344493579e-04f, -1.338289305e-04f, -1.332083143e-04f,
+-1.325875105e-04f, -1.319665202e-04f, -1.313453444e-04f, -1.307239844e-04f, -1.301024410e-04f, -1.294807155e-04f, -1.288588089e-04f, -1.282367223e-04f, -1.276144568e-04f, -1.269920135e-04f,
+-1.263693935e-04f, -1.257465978e-04f, -1.251236275e-04f, -1.245004838e-04f, -1.238771678e-04f, -1.232536804e-04f, -1.226300228e-04f, -1.220061962e-04f, -1.213822015e-04f, -1.207580399e-04f,
+-1.201337125e-04f, -1.195092203e-04f, -1.188845645e-04f, -1.182597461e-04f, -1.176347662e-04f, -1.170096260e-04f, -1.163843265e-04f, -1.157588688e-04f, -1.151332540e-04f, -1.145074832e-04f,
+-1.138815575e-04f, -1.132554779e-04f, -1.126292457e-04f, -1.120028617e-04f, -1.113763273e-04f, -1.107496434e-04f, -1.101228112e-04f, -1.094958316e-04f, -1.088687060e-04f, -1.082414352e-04f,
+-1.076140205e-04f, -1.069864629e-04f, -1.063587635e-04f, -1.057309234e-04f, -1.051029438e-04f, -1.044748256e-04f, -1.038465700e-04f, -1.032181781e-04f, -1.025896510e-04f, -1.019609898e-04f,
+-1.013321955e-04f, -1.007032694e-04f, -1.000742124e-04f, -9.944502567e-05f, -9.881571031e-05f, -9.818626742e-05f, -9.755669808e-05f, -9.692700340e-05f, -9.629718448e-05f, -9.566724241e-05f,
+-9.503717829e-05f, -9.440699322e-05f, -9.377668829e-05f, -9.314626461e-05f, -9.251572327e-05f, -9.188506537e-05f, -9.125429201e-05f, -9.062340429e-05f, -8.999240331e-05f, -8.936129016e-05f,
+-8.873006594e-05f, -8.809873176e-05f, -8.746728871e-05f, -8.683573790e-05f, -8.620408041e-05f, -8.557231736e-05f, -8.494044984e-05f, -8.430847894e-05f, -8.367640578e-05f, -8.304423145e-05f,
+-8.241195705e-05f, -8.177958368e-05f, -8.114711245e-05f, -8.051454444e-05f, -7.988188076e-05f, -7.924912252e-05f, -7.861627081e-05f, -7.798332674e-05f, -7.735029140e-05f, -7.671716589e-05f,
+-7.608395132e-05f, -7.545064879e-05f, -7.481725940e-05f, -7.418378424e-05f, -7.355022443e-05f, -7.291658106e-05f, -7.228285524e-05f, -7.164904805e-05f, -7.101516062e-05f, -7.038119403e-05f,
+-6.974714940e-05f, -6.911302781e-05f, -6.847883038e-05f, -6.784455821e-05f, -6.721021239e-05f, -6.657579403e-05f, -6.594130424e-05f, -6.530674410e-05f, -6.467211473e-05f, -6.403741723e-05f,
+-6.340265270e-05f, -6.276782224e-05f, -6.213292695e-05f, -6.149796794e-05f, -6.086294631e-05f, -6.022786316e-05f, -5.959271960e-05f, -5.895751672e-05f, -5.832225562e-05f, -5.768693742e-05f,
+-5.705156321e-05f, -5.641613410e-05f, -5.578065118e-05f, -5.514511557e-05f, -5.450952836e-05f, -5.387389065e-05f, -5.323820356e-05f, -5.260246817e-05f, -5.196668560e-05f, -5.133085694e-05f,
+-5.069498331e-05f, -5.005906579e-05f, -4.942310550e-05f, -4.878710354e-05f, -4.815106100e-05f, -4.751497900e-05f, -4.687885863e-05f, -4.624270100e-05f, -4.560650720e-05f, -4.497027835e-05f,
+-4.433401555e-05f, -4.369771989e-05f, -4.306139248e-05f, -4.242503442e-05f, -4.178864682e-05f, -4.115223078e-05f, -4.051578739e-05f, -3.987931777e-05f, -3.924282301e-05f, -3.860630422e-05f,
+-3.796976249e-05f, -3.733319894e-05f, -3.669661466e-05f, -3.606001076e-05f, -3.542338833e-05f, -3.478674848e-05f, -3.415009232e-05f, -3.351342094e-05f, -3.287673544e-05f, -3.224003693e-05f,
+-3.160332652e-05f, -3.096660529e-05f, -3.032987435e-05f, -2.969313481e-05f, -2.905638777e-05f, -2.841963432e-05f, -2.778287558e-05f, -2.714611263e-05f, -2.650934659e-05f, -2.587257854e-05f,
+-2.523580961e-05f, -2.459904088e-05f, -2.396227345e-05f, -2.332550843e-05f, -2.268874692e-05f, -2.205199003e-05f, -2.141523884e-05f, -2.077849446e-05f, -2.014175799e-05f, -1.950503053e-05f,
+-1.886831319e-05f, -1.823160705e-05f, -1.759491323e-05f, -1.695823283e-05f, -1.632156693e-05f, -1.568491665e-05f, -1.504828308e-05f, -1.441166732e-05f, -1.377507047e-05f, -1.313849364e-05f,
+-1.250193791e-05f, -1.186540440e-05f, -1.122889419e-05f, -1.059240839e-05f, -9.955948094e-06f, -9.319514405e-06f, -8.683108421e-06f, -8.046731239e-06f, -7.410383958e-06f, -6.774067675e-06f,
+-6.137783491e-06f, -5.501532501e-06f, -4.865315805e-06f, -4.229134499e-06f, -3.592989682e-06f, -2.956882452e-06f, -2.320813904e-06f, -1.684785137e-06f, -1.048797247e-06f, -4.128513325e-07f,
+2.230515113e-07f, 8.589101872e-07f, 1.494723599e-06f, 2.130490650e-06f, 2.766210244e-06f, 3.401881286e-06f, 4.037502680e-06f, 4.673073329e-06f, 5.308592138e-06f, 5.944058012e-06f,
+6.579469857e-06f, 7.214826576e-06f, 7.850127075e-06f, 8.485370260e-06f, 9.120555035e-06f, 9.755680307e-06f, 1.039074498e-05f, 1.102574796e-05f, 1.166068816e-05f, 1.229556448e-05f,
+1.293037583e-05f, 1.356512111e-05f, 1.419979923e-05f, 1.483440910e-05f, 1.546894963e-05f, 1.610341972e-05f, 1.673781828e-05f, 1.737214423e-05f, 1.800639646e-05f, 1.864057388e-05f,
+1.927467541e-05f, 1.990869996e-05f, 2.054264642e-05f, 2.117651372e-05f, 2.181030076e-05f, 2.244400645e-05f, 2.307762969e-05f, 2.371116941e-05f, 2.434462451e-05f, 2.497799390e-05f,
+2.561127650e-05f, 2.624447120e-05f, 2.687757693e-05f, 2.751059260e-05f, 2.814351711e-05f, 2.877634938e-05f, 2.940908832e-05f, 3.004173284e-05f, 3.067428186e-05f, 3.130673429e-05f,
+3.193908904e-05f, 3.257134503e-05f, 3.320350116e-05f, 3.383555636e-05f, 3.446750953e-05f, 3.509935960e-05f, 3.573110547e-05f, 3.636274606e-05f, 3.699428028e-05f, 3.762570705e-05f,
+3.825702529e-05f, 3.888823392e-05f, 3.951933184e-05f, 4.015031797e-05f, 4.078119124e-05f, 4.141195055e-05f, 4.204259483e-05f, 4.267312299e-05f, 4.330353395e-05f, 4.393382662e-05f,
+4.456399994e-05f, 4.519405281e-05f, 4.582398415e-05f, 4.645379289e-05f, 4.708347794e-05f, 4.771303822e-05f, 4.834247265e-05f, 4.897178015e-05f, 4.960095965e-05f, 5.023001006e-05f,
+5.085893031e-05f, 5.148771931e-05f, 5.211637600e-05f, 5.274489928e-05f, 5.337328808e-05f, 5.400154133e-05f, 5.462965795e-05f, 5.525763686e-05f, 5.588547698e-05f, 5.651317725e-05f,
+5.714073658e-05f, 5.776815389e-05f, 5.839542812e-05f, 5.902255819e-05f, 5.964954302e-05f, 6.027638154e-05f, 6.090307267e-05f, 6.152961535e-05f, 6.215600850e-05f, 6.278225104e-05f,
+6.340834191e-05f, 6.403428002e-05f, 6.466006432e-05f, 6.528569373e-05f, 6.591116717e-05f, 6.653648358e-05f, 6.716164189e-05f, 6.778664102e-05f, 6.841147991e-05f, 6.903615748e-05f,
+6.966067268e-05f, 7.028502442e-05f, 7.090921164e-05f, 7.153323327e-05f, 7.215708825e-05f, 7.278077551e-05f, 7.340429398e-05f, 7.402764259e-05f, 7.465082028e-05f, 7.527382599e-05f,
+7.589665864e-05f, 7.651931717e-05f, 7.714180052e-05f, 7.776410762e-05f, 7.838623741e-05f, 7.900818883e-05f, 7.962996081e-05f, 8.025155229e-05f, 8.087296220e-05f, 8.149418949e-05f,
+8.211523310e-05f, 8.273609196e-05f, 8.335676501e-05f, 8.397725119e-05f, 8.459754944e-05f, 8.521765870e-05f, 8.583757792e-05f, 8.645730602e-05f, 8.707684197e-05f, 8.769618469e-05f,
+8.831533313e-05f, 8.893428623e-05f, 8.955304294e-05f, 9.017160219e-05f, 9.078996294e-05f, 9.140812413e-05f, 9.202608470e-05f, 9.264384359e-05f, 9.326139976e-05f, 9.387875215e-05f,
+9.449589971e-05f, 9.511284138e-05f, 9.572957610e-05f, 9.634610284e-05f, 9.696242053e-05f, 9.757852813e-05f, 9.819442458e-05f, 9.881010884e-05f, 9.942557985e-05f, 1.000408366e-04f,
+1.006558779e-04f, 1.012707029e-04f, 1.018853104e-04f, 1.024996995e-04f, 1.031138690e-04f, 1.037278179e-04f, 1.043415452e-04f, 1.049550498e-04f, 1.055683307e-04f, 1.061813869e-04f,
+1.067942172e-04f, 1.074068206e-04f, 1.080191962e-04f, 1.086313428e-04f, 1.092432595e-04f, 1.098549451e-04f, 1.104663986e-04f, 1.110776190e-04f, 1.116886053e-04f, 1.122993564e-04f,
+1.129098713e-04f, 1.135201489e-04f, 1.141301881e-04f, 1.147399881e-04f, 1.153495476e-04f, 1.159588657e-04f, 1.165679414e-04f, 1.171767736e-04f, 1.177853612e-04f, 1.183937033e-04f,
+1.190017987e-04f, 1.196096466e-04f, 1.202172457e-04f, 1.208245952e-04f, 1.214316939e-04f, 1.220385408e-04f, 1.226451349e-04f, 1.232514752e-04f, 1.238575607e-04f, 1.244633902e-04f,
+1.250689628e-04f, 1.256742775e-04f, 1.262793332e-04f, 1.268841289e-04f, 1.274886635e-04f, 1.280929360e-04f, 1.286969455e-04f, 1.293006908e-04f, 1.299041710e-04f, 1.305073851e-04f,
+1.311103319e-04f, 1.317130105e-04f, 1.323154199e-04f, 1.329175590e-04f, 1.335194268e-04f, 1.341210223e-04f, 1.347223445e-04f, 1.353233923e-04f, 1.359241647e-04f, 1.365246608e-04f,
+1.371248794e-04f, 1.377248196e-04f, 1.383244804e-04f, 1.389238606e-04f, 1.395229594e-04f, 1.401217757e-04f, 1.407203085e-04f, 1.413185568e-04f, 1.419165195e-04f, 1.425141956e-04f,
+1.431115841e-04f, 1.437086841e-04f, 1.443054945e-04f, 1.449020142e-04f, 1.454982424e-04f, 1.460941779e-04f, 1.466898197e-04f, 1.472851669e-04f, 1.478802184e-04f, 1.484749733e-04f,
+1.490694305e-04f, 1.496635889e-04f, 1.502574477e-04f, 1.508510058e-04f, 1.514442622e-04f, 1.520372159e-04f, 1.526298658e-04f, 1.532222110e-04f, 1.538142506e-04f, 1.544059833e-04f,
+1.549974084e-04f, 1.555885247e-04f, 1.561793313e-04f, 1.567698272e-04f, 1.573600113e-04f, 1.579498827e-04f, 1.585394403e-04f, 1.591286833e-04f, 1.597176105e-04f, 1.603062210e-04f,
+1.608945138e-04f, 1.614824879e-04f, 1.620701422e-04f, 1.626574759e-04f, 1.632444879e-04f, 1.638311772e-04f, 1.644175428e-04f, 1.650035837e-04f, 1.655892990e-04f, 1.661746876e-04f,
+1.667597486e-04f, 1.673444809e-04f, 1.679288837e-04f, 1.685129558e-04f, 1.690966963e-04f, 1.696801043e-04f, 1.702631787e-04f, 1.708459185e-04f, 1.714283228e-04f, 1.720103906e-04f,
+1.725921209e-04f, 1.731735127e-04f, 1.737545650e-04f, 1.743352769e-04f, 1.749156474e-04f, 1.754956754e-04f, 1.760753600e-04f, 1.766547003e-04f, 1.772336953e-04f, 1.778123439e-04f,
+1.783906452e-04f, 1.789685982e-04f, 1.795462020e-04f, 1.801234556e-04f, 1.807003580e-04f, 1.812769081e-04f, 1.818531052e-04f, 1.824289481e-04f, 1.830044360e-04f, 1.835795677e-04f,
+1.841543425e-04f, 1.847287592e-04f, 1.853028170e-04f, 1.858765149e-04f, 1.864498518e-04f, 1.870228269e-04f, 1.875954391e-04f, 1.881676876e-04f, 1.887395713e-04f, 1.893110892e-04f,
+1.898822405e-04f, 1.904530241e-04f, 1.910234391e-04f, 1.915934845e-04f, 1.921631594e-04f, 1.927324628e-04f, 1.933013937e-04f, 1.938699512e-04f, 1.944381344e-04f, 1.950059422e-04f,
+1.955733737e-04f, 1.961404280e-04f, 1.967071041e-04f, 1.972734011e-04f, 1.978393180e-04f, 1.984048538e-04f, 1.989700076e-04f, 1.995347785e-04f, 2.000991654e-04f, 2.006631675e-04f,
+2.012267838e-04f, 2.017900134e-04f, 2.023528552e-04f, 2.029153084e-04f, 2.034773720e-04f, 2.040390451e-04f, 2.046003267e-04f, 2.051612159e-04f, 2.057217117e-04f, 2.062818133e-04f,
+2.068415195e-04f, 2.074008296e-04f, 2.079597425e-04f, 2.085182574e-04f, 2.090763733e-04f, 2.096340892e-04f, 2.101914043e-04f, 2.107483175e-04f, 2.113048280e-04f, 2.118609348e-04f,
+2.124166370e-04f, 2.129719336e-04f, 2.135268237e-04f, 2.140813064e-04f, 2.146353808e-04f, 2.151890459e-04f, 2.157423008e-04f, 2.162951445e-04f, 2.168475762e-04f, 2.173995949e-04f,
+2.179511997e-04f, 2.185023897e-04f, 2.190531639e-04f, 2.196035214e-04f, 2.201534612e-04f, 2.207029826e-04f, 2.212520845e-04f, 2.218007660e-04f, 2.223490262e-04f, 2.228968642e-04f,
+2.234442791e-04f, 2.239912699e-04f, 2.245378358e-04f, 2.250839758e-04f, 2.256296890e-04f, 2.261749744e-04f, 2.267198313e-04f, 2.272642586e-04f, 2.278082554e-04f, 2.283518209e-04f,
+2.288949542e-04f, 2.294376542e-04f, 2.299799202e-04f, 2.305217512e-04f, 2.310631462e-04f, 2.316041045e-04f, 2.321446250e-04f, 2.326847069e-04f, 2.332243493e-04f, 2.337635513e-04f,
+2.343023120e-04f, 2.348406304e-04f, 2.353785057e-04f, 2.359159370e-04f, 2.364529233e-04f, 2.369894638e-04f, 2.375255576e-04f, 2.380612038e-04f, 2.385964015e-04f, 2.391311497e-04f,
+2.396654477e-04f, 2.401992944e-04f, 2.407326891e-04f, 2.412656308e-04f, 2.417981187e-04f, 2.423301517e-04f, 2.428617292e-04f, 2.433928501e-04f, 2.439235136e-04f, 2.444537187e-04f,
+2.449834647e-04f, 2.455127506e-04f, 2.460415756e-04f, 2.465699387e-04f, 2.470978391e-04f, 2.476252759e-04f, 2.481522482e-04f, 2.486787551e-04f, 2.492047958e-04f, 2.497303694e-04f,
+2.502554750e-04f, 2.507801117e-04f, 2.513042787e-04f, 2.518279750e-04f, 2.523511999e-04f, 2.528739523e-04f, 2.533962316e-04f, 2.539180367e-04f, 2.544393669e-04f, 2.549602212e-04f,
+2.554805988e-04f, 2.560004989e-04f, 2.565199205e-04f, 2.570388627e-04f, 2.575573248e-04f, 2.580753059e-04f, 2.585928051e-04f, 2.591098214e-04f, 2.596263542e-04f, 2.601424025e-04f,
+2.606579655e-04f, 2.611730422e-04f, 2.616876319e-04f, 2.622017337e-04f, 2.627153467e-04f, 2.632284701e-04f, 2.637411030e-04f, 2.642532446e-04f, 2.647648940e-04f, 2.652760504e-04f,
+2.657867128e-04f, 2.662968806e-04f, 2.668065528e-04f, 2.673157285e-04f, 2.678244070e-04f, 2.683325874e-04f, 2.688402688e-04f, 2.693474504e-04f, 2.698541314e-04f, 2.703603108e-04f,
+2.708659880e-04f, 2.713711619e-04f, 2.718758319e-04f, 2.723799970e-04f, 2.728836564e-04f, 2.733868094e-04f, 2.738894549e-04f, 2.743915923e-04f, 2.748932207e-04f, 2.753943392e-04f,
+2.758949470e-04f, 2.763950433e-04f, 2.768946272e-04f, 2.773936980e-04f, 2.778922548e-04f, 2.783902968e-04f, 2.788878231e-04f, 2.793848329e-04f, 2.798813254e-04f, 2.803772998e-04f,
+2.808727553e-04f, 2.813676910e-04f, 2.818621061e-04f, 2.823559998e-04f, 2.828493713e-04f, 2.833422197e-04f, 2.838345443e-04f, 2.843263442e-04f, 2.848176186e-04f, 2.853083667e-04f,
+2.857985877e-04f, 2.862882808e-04f, 2.867774452e-04f, 2.872660800e-04f, 2.877541845e-04f, 2.882417578e-04f, 2.887287991e-04f, 2.892153077e-04f, 2.897012827e-04f, 2.901867233e-04f,
+2.906716287e-04f, 2.911559982e-04f, 2.916398308e-04f, 2.921231259e-04f, 2.926058826e-04f, 2.930881002e-04f, 2.935697777e-04f, 2.940509145e-04f, 2.945315097e-04f, 2.950115626e-04f,
+2.954910723e-04f, 2.959700381e-04f, 2.964484591e-04f, 2.969263346e-04f, 2.974036638e-04f, 2.978804459e-04f, 2.983566802e-04f, 2.988323657e-04f, 2.993075018e-04f, 2.997820876e-04f,
+3.002561225e-04f, 3.007296055e-04f, 3.012025359e-04f, 3.016749130e-04f, 3.021467359e-04f, 3.026180039e-04f, 3.030887162e-04f, 3.035588721e-04f, 3.040284706e-04f, 3.044975112e-04f,
+3.049659930e-04f, 3.054339152e-04f, 3.059012771e-04f, 3.063680778e-04f, 3.068343167e-04f, 3.072999930e-04f, 3.077651058e-04f, 3.082296545e-04f, 3.086936382e-04f, 3.091570563e-04f,
+3.096199078e-04f, 3.100821922e-04f, 3.105439086e-04f, 3.110050562e-04f, 3.114656343e-04f, 3.119256422e-04f, 3.123850790e-04f, 3.128439441e-04f, 3.133022367e-04f, 3.137599559e-04f,
+3.142171012e-04f, 3.146736717e-04f, 3.151296666e-04f, 3.155850853e-04f, 3.160399269e-04f, 3.164941908e-04f, 3.169478761e-04f, 3.174009822e-04f, 3.178535083e-04f, 3.183054537e-04f,
+3.187568175e-04f, 3.192075991e-04f, 3.196577978e-04f, 3.201074127e-04f, 3.205564432e-04f, 3.210048885e-04f, 3.214527480e-04f, 3.219000207e-04f, 3.223467061e-04f, 3.227928033e-04f,
+3.232383118e-04f, 3.236832306e-04f, 3.241275591e-04f, 3.245712966e-04f, 3.250144424e-04f, 3.254569957e-04f, 3.258989557e-04f, 3.263403219e-04f, 3.267810933e-04f, 3.272212695e-04f,
+3.276608495e-04f, 3.280998327e-04f, 3.285382183e-04f, 3.289760058e-04f, 3.294131942e-04f, 3.298497830e-04f, 3.302857714e-04f, 3.307211587e-04f, 3.311559442e-04f, 3.315901271e-04f,
+3.320237069e-04f, 3.324566826e-04f, 3.328890538e-04f, 3.333208195e-04f, 3.337519793e-04f, 3.341825322e-04f, 3.346124777e-04f, 3.350418150e-04f, 3.354705435e-04f, 3.358986624e-04f,
+3.363261710e-04f, 3.367530687e-04f, 3.371793547e-04f, 3.376050283e-04f, 3.380300889e-04f, 3.384545358e-04f, 3.388783682e-04f, 3.393015855e-04f, 3.397241870e-04f, 3.401461720e-04f,
+3.405675398e-04f, 3.409882898e-04f, 3.414084212e-04f, 3.418279333e-04f, 3.422468255e-04f, 3.426650972e-04f, 3.430827475e-04f, 3.434997759e-04f, 3.439161816e-04f, 3.443319640e-04f,
+3.447471224e-04f, 3.451616562e-04f, 3.455755646e-04f, 3.459888470e-04f, 3.464015027e-04f, 3.468135310e-04f, 3.472249313e-04f, 3.476357029e-04f, 3.480458452e-04f, 3.484553574e-04f,
+3.488642390e-04f, 3.492724892e-04f, 3.496801073e-04f, 3.500870928e-04f, 3.504934450e-04f, 3.508991631e-04f, 3.513042466e-04f, 3.517086948e-04f, 3.521125070e-04f, 3.525156826e-04f,
+3.529182209e-04f, 3.533201213e-04f, 3.537213831e-04f, 3.541220057e-04f, 3.545219884e-04f, 3.549213306e-04f, 3.553200316e-04f, 3.557180908e-04f, 3.561155075e-04f, 3.565122812e-04f,
+3.569084111e-04f, 3.573038966e-04f, 3.576987371e-04f, 3.580929319e-04f, 3.584864804e-04f, 3.588793820e-04f, 3.592716361e-04f, 3.596632419e-04f, 3.600541989e-04f, 3.604445064e-04f,
+3.608341638e-04f, 3.612231705e-04f, 3.616115259e-04f, 3.619992292e-04f, 3.623862800e-04f, 3.627726775e-04f, 3.631584212e-04f, 3.635435104e-04f, 3.639279445e-04f, 3.643117229e-04f,
+3.646948450e-04f, 3.650773101e-04f, 3.654591177e-04f, 3.658402671e-04f, 3.662207576e-04f, 3.666005888e-04f, 3.669797600e-04f, 3.673582705e-04f, 3.677361198e-04f, 3.681133073e-04f,
+3.684898323e-04f, 3.688656942e-04f, 3.692408925e-04f, 3.696154265e-04f, 3.699892957e-04f, 3.703624994e-04f, 3.707350370e-04f, 3.711069080e-04f, 3.714781117e-04f, 3.718486476e-04f,
+3.722185150e-04f, 3.725877133e-04f, 3.729562421e-04f, 3.733241006e-04f, 3.736912883e-04f, 3.740578046e-04f, 3.744236488e-04f, 3.747888206e-04f, 3.751533191e-04f, 3.755171439e-04f,
+3.758802944e-04f, 3.762427700e-04f, 3.766045700e-04f, 3.769656941e-04f, 3.773261414e-04f, 3.776859115e-04f, 3.780450039e-04f, 3.784034179e-04f, 3.787611529e-04f, 3.791182084e-04f,
+3.794745838e-04f, 3.798302785e-04f, 3.801852921e-04f, 3.805396238e-04f, 3.808932732e-04f, 3.812462397e-04f, 3.815985226e-04f, 3.819501216e-04f, 3.823010359e-04f, 3.826512650e-04f,
+3.830008085e-04f, 3.833496656e-04f, 3.836978359e-04f, 3.840453188e-04f, 3.843921138e-04f, 3.847382203e-04f, 3.850836377e-04f, 3.854283655e-04f, 3.857724032e-04f, 3.861157502e-04f,
+3.864584059e-04f, 3.868003699e-04f, 3.871416415e-04f, 3.874822203e-04f, 3.878221056e-04f, 3.881612970e-04f, 3.884997939e-04f, 3.888375958e-04f, 3.891747021e-04f, 3.895111124e-04f,
+3.898468259e-04f, 3.901818424e-04f, 3.905161611e-04f, 3.908497816e-04f, 3.911827033e-04f, 3.915149258e-04f, 3.918464485e-04f, 3.921772708e-04f, 3.925073923e-04f, 3.928368124e-04f,
+3.931655306e-04f, 3.934935463e-04f, 3.938208592e-04f, 3.941474686e-04f, 3.944733740e-04f, 3.947985749e-04f, 3.951230708e-04f, 3.954468612e-04f, 3.957699456e-04f, 3.960923235e-04f,
+3.964139943e-04f, 3.967349576e-04f, 3.970552128e-04f, 3.973747594e-04f, 3.976935970e-04f, 3.980117250e-04f, 3.983291430e-04f, 3.986458504e-04f, 3.989618467e-04f, 3.992771315e-04f,
+3.995917042e-04f, 3.999055643e-04f, 4.002187114e-04f, 4.005311450e-04f, 4.008428645e-04f, 4.011538696e-04f, 4.014641596e-04f, 4.017737341e-04f, 4.020825926e-04f, 4.023907347e-04f,
+4.026981598e-04f, 4.030048675e-04f, 4.033108573e-04f, 4.036161287e-04f, 4.039206812e-04f, 4.042245144e-04f, 4.045276277e-04f, 4.048300208e-04f, 4.051316931e-04f, 4.054326441e-04f,
+4.057328735e-04f, 4.060323806e-04f, 4.063311651e-04f, 4.066292265e-04f, 4.069265644e-04f, 4.072231781e-04f, 4.075190674e-04f, 4.078142317e-04f, 4.081086706e-04f, 4.084023835e-04f,
+4.086953702e-04f, 4.089876300e-04f, 4.092791626e-04f, 4.095699674e-04f, 4.098600441e-04f, 4.101493922e-04f, 4.104380113e-04f, 4.107259008e-04f, 4.110130603e-04f, 4.112994894e-04f,
+4.115851877e-04f, 4.118701547e-04f, 4.121543900e-04f, 4.124378931e-04f, 4.127206635e-04f, 4.130027009e-04f, 4.132840048e-04f, 4.135645748e-04f, 4.138444105e-04f, 4.141235113e-04f,
+4.144018769e-04f, 4.146795068e-04f, 4.149564007e-04f, 4.152325580e-04f, 4.155079784e-04f, 4.157826614e-04f, 4.160566067e-04f, 4.163298137e-04f, 4.166022821e-04f, 4.168740114e-04f,
+4.171450013e-04f, 4.174152512e-04f, 4.176847609e-04f, 4.179535298e-04f, 4.182215576e-04f, 4.184888439e-04f, 4.187553882e-04f, 4.190211901e-04f, 4.192862492e-04f, 4.195505652e-04f,
+4.198141376e-04f, 4.200769660e-04f, 4.203390499e-04f, 4.206003891e-04f, 4.208609831e-04f, 4.211208315e-04f, 4.213799339e-04f, 4.216382899e-04f, 4.218958991e-04f, 4.221527611e-04f,
+4.224088756e-04f, 4.226642421e-04f, 4.229188602e-04f, 4.231727296e-04f, 4.234258499e-04f, 4.236782206e-04f, 4.239298415e-04f, 4.241807121e-04f, 4.244308320e-04f, 4.246802008e-04f,
+4.249288182e-04f, 4.251766839e-04f, 4.254237973e-04f, 4.256701582e-04f, 4.259157662e-04f, 4.261606208e-04f, 4.264047218e-04f, 4.266480687e-04f, 4.268906613e-04f, 4.271324990e-04f,
+4.273735816e-04f, 4.276139087e-04f, 4.278534800e-04f, 4.280922950e-04f, 4.283303533e-04f, 4.285676548e-04f, 4.288041989e-04f, 4.290399854e-04f, 4.292750138e-04f, 4.295092839e-04f,
+4.297427952e-04f, 4.299755474e-04f, 4.302075402e-04f, 4.304387733e-04f, 4.306692462e-04f, 4.308989586e-04f, 4.311279102e-04f, 4.313561006e-04f, 4.315835296e-04f, 4.318101967e-04f,
+4.320361016e-04f, 4.322612440e-04f, 4.324856235e-04f, 4.327092398e-04f, 4.329320926e-04f, 4.331541816e-04f, 4.333755064e-04f, 4.335960666e-04f, 4.338158620e-04f, 4.340348922e-04f,
+4.342531569e-04f, 4.344706558e-04f, 4.346873885e-04f, 4.349033548e-04f, 4.351185543e-04f, 4.353329866e-04f, 4.355466515e-04f, 4.357595487e-04f, 4.359716779e-04f, 4.361830386e-04f,
+4.363936307e-04f, 4.366034537e-04f, 4.368125075e-04f, 4.370207916e-04f, 4.372283059e-04f, 4.374350499e-04f, 4.376410233e-04f, 4.378462260e-04f, 4.380506575e-04f, 4.382543175e-04f,
+4.384572058e-04f, 4.386593221e-04f, 4.388606661e-04f, 4.390612374e-04f, 4.392610359e-04f, 4.394600611e-04f, 4.396583128e-04f, 4.398557907e-04f, 4.400524946e-04f, 4.402484241e-04f,
+4.404435789e-04f, 4.406379588e-04f, 4.408315635e-04f, 4.410243927e-04f, 4.412164461e-04f, 4.414077235e-04f, 4.415982245e-04f, 4.417879490e-04f, 4.419768965e-04f, 4.421650669e-04f,
+4.423524599e-04f, 4.425390752e-04f, 4.427249125e-04f, 4.429099716e-04f, 4.430942522e-04f, 4.432777540e-04f, 4.434604768e-04f, 4.436424203e-04f, 4.438235842e-04f, 4.440039684e-04f,
+4.441835725e-04f, 4.443623962e-04f, 4.445404394e-04f, 4.447177018e-04f, 4.448941831e-04f, 4.450698830e-04f, 4.452448013e-04f, 4.454189378e-04f, 4.455922923e-04f, 4.457648644e-04f,
+4.459366539e-04f, 4.461076606e-04f, 4.462778843e-04f, 4.464473247e-04f, 4.466159815e-04f, 4.467838546e-04f, 4.469509437e-04f, 4.471172485e-04f, 4.472827688e-04f, 4.474475045e-04f,
+4.476114552e-04f, 4.477746207e-04f, 4.479370009e-04f, 4.480985954e-04f, 4.482594041e-04f, 4.484194267e-04f, 4.485786630e-04f, 4.487371128e-04f, 4.488947758e-04f, 4.490516520e-04f,
+4.492077409e-04f, 4.493630425e-04f, 4.495175564e-04f, 4.496712826e-04f, 4.498242208e-04f, 4.499763707e-04f, 4.501277321e-04f, 4.502783050e-04f, 4.504280889e-04f, 4.505770838e-04f,
+4.507252895e-04f, 4.508727057e-04f, 4.510193322e-04f, 4.511651689e-04f, 4.513102155e-04f, 4.514544719e-04f, 4.515979378e-04f, 4.517406131e-04f, 4.518824975e-04f, 4.520235909e-04f,
+4.521638931e-04f, 4.523034039e-04f, 4.524421232e-04f, 4.525800506e-04f, 4.527171861e-04f, 4.528535294e-04f, 4.529890805e-04f, 4.531238390e-04f, 4.532578048e-04f, 4.533909778e-04f,
+4.535233578e-04f, 4.536549445e-04f, 4.537857379e-04f, 4.539157378e-04f, 4.540449439e-04f, 4.541733561e-04f, 4.543009743e-04f, 4.544277983e-04f, 4.545538278e-04f, 4.546790629e-04f,
+4.548035032e-04f, 4.549271486e-04f, 4.550499991e-04f, 4.551720543e-04f, 4.552933142e-04f, 4.554137786e-04f, 4.555334474e-04f, 4.556523204e-04f, 4.557703974e-04f, 4.558876783e-04f,
+4.560041630e-04f, 4.561198513e-04f, 4.562347430e-04f, 4.563488381e-04f, 4.564621363e-04f, 4.565746376e-04f, 4.566863417e-04f, 4.567972487e-04f, 4.569073582e-04f, 4.570166702e-04f,
+4.571251846e-04f, 4.572329012e-04f, 4.573398199e-04f, 4.574459406e-04f, 4.575512631e-04f, 4.576557873e-04f, 4.577595131e-04f, 4.578624403e-04f, 4.579645689e-04f, 4.580658986e-04f,
+4.581664295e-04f, 4.582661613e-04f, 4.583650940e-04f, 4.584632275e-04f, 4.585605615e-04f, 4.586570961e-04f, 4.587528311e-04f, 4.588477663e-04f, 4.589419018e-04f, 4.590352373e-04f,
+4.591277728e-04f, 4.592195082e-04f, 4.593104433e-04f, 4.594005780e-04f, 4.594899124e-04f, 4.595784462e-04f, 4.596661793e-04f, 4.597531118e-04f, 4.598392434e-04f, 4.599245740e-04f,
+4.600091037e-04f, 4.600928322e-04f, 4.601757596e-04f, 4.602578857e-04f, 4.603392104e-04f, 4.604197336e-04f, 4.604994553e-04f, 4.605783754e-04f, 4.606564938e-04f, 4.607338104e-04f,
+4.608103252e-04f, 4.608860380e-04f, 4.609609488e-04f, 4.610350576e-04f, 4.611083641e-04f, 4.611808685e-04f, 4.612525705e-04f, 4.613234702e-04f, 4.613935674e-04f, 4.614628621e-04f,
+4.615313543e-04f, 4.615990439e-04f, 4.616659307e-04f, 4.617320148e-04f, 4.617972961e-04f, 4.618617746e-04f, 4.619254501e-04f, 4.619883226e-04f, 4.620503922e-04f, 4.621116586e-04f,
+4.621721219e-04f, 4.622317821e-04f, 4.622906390e-04f, 4.623486926e-04f, 4.624059429e-04f, 4.624623899e-04f, 4.625180334e-04f, 4.625728735e-04f, 4.626269102e-04f, 4.626801433e-04f,
+4.627325728e-04f, 4.627841988e-04f, 4.628350211e-04f, 4.628850398e-04f, 4.629342548e-04f, 4.629826661e-04f, 4.630302736e-04f, 4.630770774e-04f, 4.631230773e-04f, 4.631682735e-04f,
+4.632126658e-04f, 4.632562542e-04f, 4.632990387e-04f, 4.633410194e-04f, 4.633821961e-04f, 4.634225689e-04f, 4.634621378e-04f, 4.635009026e-04f, 4.635388636e-04f, 4.635760205e-04f,
+4.636123734e-04f, 4.636479223e-04f, 4.636826673e-04f, 4.637166082e-04f, 4.637497451e-04f, 4.637820780e-04f, 4.638136069e-04f, 4.638443318e-04f, 4.638742526e-04f, 4.639033695e-04f,
+4.639316823e-04f, 4.639591912e-04f, 4.639858961e-04f, 4.640117970e-04f, 4.640368939e-04f, 4.640611869e-04f, 4.640846759e-04f, 4.641073611e-04f, 4.641292423e-04f, 4.641503196e-04f,
+4.641705930e-04f, 4.641900626e-04f, 4.642087284e-04f, 4.642265904e-04f, 4.642436486e-04f, 4.642599030e-04f, 4.642753537e-04f, 4.642900007e-04f, 4.643038441e-04f, 4.643168838e-04f,
+4.643291199e-04f, 4.643405524e-04f, 4.643511815e-04f, 4.643610070e-04f, 4.643700290e-04f, 4.643782477e-04f, 4.643856630e-04f, 4.643922749e-04f, 4.643980836e-04f, 4.644030890e-04f,
+4.644072912e-04f, 4.644106903e-04f, 4.644132863e-04f, 4.644150792e-04f, 4.644160691e-04f, 4.644162561e-04f, 4.644156403e-04f, 4.644142216e-04f, 4.644120001e-04f, 4.644089759e-04f,
+4.644051491e-04f, 4.644005197e-04f, 4.643950877e-04f, 4.643888533e-04f, 4.643818166e-04f, 4.643739775e-04f, 4.643653361e-04f, 4.643558926e-04f, 4.643456469e-04f, 4.643345992e-04f,
+4.643227496e-04f, 4.643100980e-04f, 4.642966447e-04f, 4.642823896e-04f, 4.642673329e-04f, 4.642514746e-04f, 4.642348148e-04f, 4.642173536e-04f, 4.641990911e-04f, 4.641800274e-04f,
+4.641601625e-04f, 4.641394966e-04f, 4.641180297e-04f, 4.640957619e-04f, 4.640726934e-04f, 4.640488242e-04f, 4.640241545e-04f, 4.639986842e-04f, 4.639724136e-04f, 4.639453426e-04f,
+4.639174715e-04f, 4.638888004e-04f, 4.638593292e-04f, 4.638290582e-04f, 4.637979874e-04f, 4.637661170e-04f, 4.637334471e-04f, 4.636999777e-04f, 4.636657090e-04f, 4.636306411e-04f,
+4.635947741e-04f, 4.635581082e-04f, 4.635206434e-04f, 4.634823799e-04f, 4.634433178e-04f, 4.634034572e-04f, 4.633627983e-04f, 4.633213411e-04f, 4.632790858e-04f, 4.632360326e-04f,
+4.631921815e-04f, 4.631475327e-04f, 4.631020863e-04f, 4.630558425e-04f, 4.630088013e-04f, 4.629609630e-04f, 4.629123276e-04f, 4.628628954e-04f, 4.628126664e-04f, 4.627616407e-04f,
+4.627098186e-04f, 4.626572002e-04f, 4.626037856e-04f, 4.625495749e-04f, 4.624945684e-04f, 4.624387661e-04f, 4.623821683e-04f, 4.623247750e-04f, 4.622665864e-04f, 4.622076028e-04f,
+4.621478241e-04f, 4.620872507e-04f, 4.620258826e-04f, 4.619637200e-04f, 4.619007632e-04f, 4.618370121e-04f, 4.617724671e-04f, 4.617071282e-04f, 4.616409957e-04f, 4.615740697e-04f,
+4.615063504e-04f, 4.614378379e-04f, 4.613685325e-04f, 4.612984342e-04f, 4.612275434e-04f, 4.611558601e-04f, 4.610833846e-04f, 4.610101169e-04f, 4.609360574e-04f, 4.608612061e-04f,
+4.607855633e-04f, 4.607091292e-04f, 4.606319039e-04f, 4.605538876e-04f, 4.604750805e-04f, 4.603954829e-04f, 4.603150948e-04f, 4.602339166e-04f, 4.601519483e-04f, 4.600691902e-04f,
+4.599856425e-04f, 4.599013054e-04f, 4.598161791e-04f, 4.597302638e-04f, 4.596435596e-04f, 4.595560668e-04f, 4.594677857e-04f, 4.593787163e-04f, 4.592888590e-04f, 4.591982138e-04f,
+4.591067812e-04f, 4.590145611e-04f, 4.589215540e-04f, 4.588277599e-04f, 4.587331791e-04f, 4.586378118e-04f, 4.585416582e-04f, 4.584447186e-04f, 4.583469932e-04f, 4.582484822e-04f,
+4.581491858e-04f, 4.580491043e-04f, 4.579482378e-04f, 4.578465866e-04f, 4.577441510e-04f, 4.576409312e-04f, 4.575369273e-04f, 4.574321397e-04f, 4.573265686e-04f, 4.572202141e-04f,
+4.571130766e-04f, 4.570051563e-04f, 4.568964534e-04f, 4.567869682e-04f, 4.566767009e-04f, 4.565656518e-04f, 4.564538210e-04f, 4.563412090e-04f, 4.562278158e-04f, 4.561136417e-04f,
+4.559986871e-04f, 4.558829521e-04f, 4.557664371e-04f, 4.556491422e-04f, 4.555310677e-04f, 4.554122139e-04f, 4.552925810e-04f, 4.551721693e-04f, 4.550509791e-04f, 4.549290107e-04f,
+4.548062642e-04f, 4.546827400e-04f, 4.545584383e-04f, 4.544333594e-04f, 4.543075035e-04f, 4.541808710e-04f, 4.540534621e-04f, 4.539252771e-04f, 4.537963162e-04f, 4.536665798e-04f,
+4.535360681e-04f, 4.534047814e-04f, 4.532727199e-04f, 4.531398840e-04f, 4.530062740e-04f, 4.528718900e-04f, 4.527367325e-04f, 4.526008017e-04f, 4.524640978e-04f, 4.523266213e-04f,
+4.521883723e-04f, 4.520493511e-04f, 4.519095582e-04f, 4.517689936e-04f, 4.516276578e-04f, 4.514855511e-04f, 4.513426737e-04f, 4.511990259e-04f, 4.510546081e-04f, 4.509094205e-04f,
+4.507634635e-04f, 4.506167373e-04f, 4.504692423e-04f, 4.503209788e-04f, 4.501719471e-04f, 4.500221474e-04f, 4.498715802e-04f, 4.497202457e-04f, 4.495681442e-04f, 4.494152761e-04f,
+4.492616416e-04f, 4.491072411e-04f, 4.489520749e-04f, 4.487961434e-04f, 4.486394468e-04f, 4.484819855e-04f, 4.483237598e-04f, 4.481647700e-04f, 4.480050165e-04f, 4.478444995e-04f,
+4.476832195e-04f, 4.475211767e-04f, 4.473583715e-04f, 4.471948042e-04f, 4.470304752e-04f, 4.468653847e-04f, 4.466995332e-04f, 4.465329209e-04f, 4.463655483e-04f, 4.461974156e-04f,
+4.460285232e-04f, 4.458588714e-04f, 4.456884606e-04f, 4.455172911e-04f, 4.453453633e-04f, 4.451726776e-04f, 4.449992342e-04f, 4.448250336e-04f, 4.446500760e-04f, 4.444743619e-04f,
+4.442978916e-04f, 4.441206654e-04f, 4.439426837e-04f, 4.437639470e-04f, 4.435844554e-04f, 4.434042095e-04f, 4.432232095e-04f, 4.430414558e-04f, 4.428589489e-04f, 4.426756890e-04f,
+4.424916765e-04f, 4.423069118e-04f, 4.421213953e-04f, 4.419351274e-04f, 4.417481084e-04f, 4.415603386e-04f, 4.413718186e-04f, 4.411825486e-04f, 4.409925290e-04f, 4.408017602e-04f,
+4.406102427e-04f, 4.404179767e-04f, 4.402249626e-04f, 4.400312009e-04f, 4.398366920e-04f, 4.396414361e-04f, 4.394454338e-04f, 4.392486854e-04f, 4.390511912e-04f, 4.388529518e-04f,
+4.386539674e-04f, 4.384542385e-04f, 4.382537655e-04f, 4.380525487e-04f, 4.378505887e-04f, 4.376478857e-04f, 4.374444401e-04f, 4.372402525e-04f, 4.370353231e-04f, 4.368296524e-04f,
+4.366232408e-04f, 4.364160887e-04f, 4.362081966e-04f, 4.359995647e-04f, 4.357901936e-04f, 4.355800836e-04f, 4.353692352e-04f, 4.351576488e-04f, 4.349453248e-04f, 4.347322636e-04f,
+4.345184656e-04f, 4.343039313e-04f, 4.340886611e-04f, 4.338726553e-04f, 4.336559145e-04f, 4.334384391e-04f, 4.332202294e-04f, 4.330012859e-04f, 4.327816091e-04f, 4.325611993e-04f,
+4.323400570e-04f, 4.321181827e-04f, 4.318955767e-04f, 4.316722395e-04f, 4.314481716e-04f, 4.312233733e-04f, 4.309978452e-04f, 4.307715876e-04f, 4.305446010e-04f, 4.303168859e-04f,
+4.300884426e-04f, 4.298592717e-04f, 4.296293736e-04f, 4.293987486e-04f, 4.291673974e-04f, 4.289353203e-04f, 4.287025177e-04f, 4.284689902e-04f, 4.282347382e-04f, 4.279997621e-04f,
+4.277640625e-04f, 4.275276396e-04f, 4.272904941e-04f, 4.270526264e-04f, 4.268140369e-04f, 4.265747261e-04f, 4.263346945e-04f, 4.260939425e-04f, 4.258524705e-04f, 4.256102792e-04f,
+4.253673689e-04f, 4.251237400e-04f, 4.248793932e-04f, 4.246343288e-04f, 4.243885473e-04f, 4.241420492e-04f, 4.238948349e-04f, 4.236469050e-04f, 4.233982600e-04f, 4.231489002e-04f,
+4.228988262e-04f, 4.226480385e-04f, 4.223965376e-04f, 4.221443238e-04f, 4.218913978e-04f, 4.216377600e-04f, 4.213834109e-04f, 4.211283510e-04f, 4.208725807e-04f, 4.206161006e-04f,
+4.203589112e-04f, 4.201010129e-04f, 4.198424063e-04f, 4.195830918e-04f, 4.193230700e-04f, 4.190623413e-04f, 4.188009062e-04f, 4.185387653e-04f, 4.182759190e-04f, 4.180123678e-04f,
+4.177481124e-04f, 4.174831530e-04f, 4.172174904e-04f, 4.169511249e-04f, 4.166840571e-04f, 4.164162874e-04f, 4.161478165e-04f, 4.158786448e-04f, 4.156087729e-04f, 4.153382011e-04f,
+4.150669302e-04f, 4.147949605e-04f, 4.145222926e-04f, 4.142489271e-04f, 4.139748643e-04f, 4.137001050e-04f, 4.134246495e-04f, 4.131484985e-04f, 4.128716523e-04f, 4.125941117e-04f,
+4.123158770e-04f, 4.120369489e-04f, 4.117573278e-04f, 4.114770142e-04f, 4.111960089e-04f, 4.109143121e-04f, 4.106319245e-04f, 4.103488467e-04f, 4.100650791e-04f, 4.097806223e-04f,
+4.094954769e-04f, 4.092096433e-04f, 4.089231222e-04f, 4.086359140e-04f, 4.083480193e-04f, 4.080594387e-04f, 4.077701726e-04f, 4.074802217e-04f, 4.071895866e-04f, 4.068982676e-04f,
+4.066062655e-04f, 4.063135807e-04f, 4.060202138e-04f, 4.057261654e-04f, 4.054314360e-04f, 4.051360261e-04f, 4.048399364e-04f, 4.045431674e-04f, 4.042457196e-04f, 4.039475936e-04f,
+4.036487900e-04f, 4.033493094e-04f, 4.030491522e-04f, 4.027483191e-04f, 4.024468106e-04f, 4.021446274e-04f, 4.018417699e-04f, 4.015382388e-04f, 4.012340345e-04f, 4.009291578e-04f,
+4.006236091e-04f, 4.003173891e-04f, 4.000104982e-04f, 3.997029372e-04f, 3.993947065e-04f, 3.990858068e-04f, 3.987762386e-04f, 3.984660025e-04f, 3.981550991e-04f, 3.978435290e-04f,
+3.975312927e-04f, 3.972183909e-04f, 3.969048241e-04f, 3.965905929e-04f, 3.962756980e-04f, 3.959601399e-04f, 3.956439191e-04f, 3.953270364e-04f, 3.950094922e-04f, 3.946912872e-04f,
+3.943724219e-04f, 3.940528971e-04f, 3.937327132e-04f, 3.934118709e-04f, 3.930903707e-04f, 3.927682133e-04f, 3.924453993e-04f, 3.921219293e-04f, 3.917978038e-04f, 3.914730236e-04f,
+3.911475891e-04f, 3.908215010e-04f, 3.904947600e-04f, 3.901673666e-04f, 3.898393214e-04f, 3.895106250e-04f, 3.891812781e-04f, 3.888512813e-04f, 3.885206352e-04f, 3.881893403e-04f,
+3.878573974e-04f, 3.875248071e-04f, 3.871915699e-04f, 3.868576865e-04f, 3.865231575e-04f, 3.861879835e-04f, 3.858521652e-04f, 3.855157032e-04f, 3.851785981e-04f, 3.848408505e-04f,
+3.845024611e-04f, 3.841634305e-04f, 3.838237593e-04f, 3.834834481e-04f, 3.831424976e-04f, 3.828009085e-04f, 3.824586813e-04f, 3.821158167e-04f, 3.817723154e-04f, 3.814281779e-04f,
+3.810834049e-04f, 3.807379971e-04f, 3.803919551e-04f, 3.800452795e-04f, 3.796979709e-04f, 3.793500301e-04f, 3.790014577e-04f, 3.786522543e-04f, 3.783024205e-04f, 3.779519570e-04f,
+3.776008645e-04f, 3.772491437e-04f, 3.768967950e-04f, 3.765438193e-04f, 3.761902172e-04f, 3.758359893e-04f, 3.754811362e-04f, 3.751256587e-04f, 3.747695574e-04f, 3.744128330e-04f,
+3.740554860e-04f, 3.736975172e-04f, 3.733389273e-04f, 3.729797169e-04f, 3.726198866e-04f, 3.722594372e-04f, 3.718983693e-04f, 3.715366835e-04f, 3.711743805e-04f, 3.708114611e-04f,
+3.704479258e-04f, 3.700837754e-04f, 3.697190105e-04f, 3.693536318e-04f, 3.689876399e-04f, 3.686210356e-04f, 3.682538195e-04f, 3.678859923e-04f, 3.675175547e-04f, 3.671485073e-04f,
+3.667788508e-04f, 3.664085860e-04f, 3.660377134e-04f, 3.656662339e-04f, 3.652941480e-04f, 3.649214564e-04f, 3.645481599e-04f, 3.641742591e-04f, 3.637997547e-04f, 3.634246474e-04f,
+3.630489379e-04f, 3.626726269e-04f, 3.622957151e-04f, 3.619182031e-04f, 3.615400917e-04f, 3.611613816e-04f, 3.607820734e-04f, 3.604021679e-04f, 3.600216657e-04f, 3.596405676e-04f,
+3.592588742e-04f, 3.588765863e-04f, 3.584937045e-04f, 3.581102296e-04f, 3.577261623e-04f, 3.573415032e-04f, 3.569562531e-04f, 3.565704127e-04f, 3.561839827e-04f, 3.557969637e-04f,
+3.554093566e-04f, 3.550211620e-04f, 3.546323806e-04f, 3.542430132e-04f, 3.538530605e-04f, 3.534625231e-04f, 3.530714018e-04f, 3.526796973e-04f, 3.522874103e-04f, 3.518945416e-04f,
+3.515010918e-04f, 3.511070618e-04f, 3.507124521e-04f, 3.503172636e-04f, 3.499214969e-04f, 3.495251528e-04f, 3.491282320e-04f, 3.487307352e-04f, 3.483326632e-04f, 3.479340166e-04f,
+3.475347963e-04f, 3.471350029e-04f, 3.467346372e-04f, 3.463336999e-04f, 3.459321918e-04f, 3.455301135e-04f, 3.451274658e-04f, 3.447242495e-04f, 3.443204653e-04f, 3.439161139e-04f,
+3.435111960e-04f, 3.431057124e-04f, 3.426996639e-04f, 3.422930512e-04f, 3.418858749e-04f, 3.414781360e-04f, 3.410698350e-04f, 3.406609728e-04f, 3.402515501e-04f, 3.398415677e-04f,
+3.394310262e-04f, 3.390199265e-04f, 3.386082693e-04f, 3.381960553e-04f, 3.377832853e-04f, 3.373699601e-04f, 3.369560804e-04f, 3.365416469e-04f, 3.361266605e-04f, 3.357111218e-04f,
+3.352950316e-04f, 3.348783907e-04f, 3.344611999e-04f, 3.340434598e-04f, 3.336251713e-04f, 3.332063352e-04f, 3.327869521e-04f, 3.323670229e-04f, 3.319465482e-04f, 3.315255290e-04f,
+3.311039659e-04f, 3.306818597e-04f, 3.302592112e-04f, 3.298360211e-04f, 3.294122903e-04f, 3.289880194e-04f, 3.285632093e-04f, 3.281378607e-04f, 3.277119744e-04f, 3.272855512e-04f,
+3.268585918e-04f, 3.264310971e-04f, 3.260030678e-04f, 3.255745046e-04f, 3.251454084e-04f, 3.247157800e-04f, 3.242856200e-04f, 3.238549294e-04f, 3.234237088e-04f, 3.229919591e-04f,
+3.225596811e-04f, 3.221268754e-04f, 3.216935430e-04f, 3.212596846e-04f, 3.208253010e-04f, 3.203903929e-04f, 3.199549612e-04f, 3.195190067e-04f, 3.190825301e-04f, 3.186455322e-04f,
+3.182080139e-04f, 3.177699759e-04f, 3.173314189e-04f, 3.168923439e-04f, 3.164527516e-04f, 3.160126428e-04f, 3.155720183e-04f, 3.151308789e-04f, 3.146892254e-04f, 3.142470585e-04f,
+3.138043792e-04f, 3.133611881e-04f, 3.129174862e-04f, 3.124732741e-04f, 3.120285528e-04f, 3.115833229e-04f, 3.111375854e-04f, 3.106913409e-04f, 3.102445904e-04f, 3.097973346e-04f,
+3.093495744e-04f, 3.089013105e-04f, 3.084525438e-04f, 3.080032750e-04f, 3.075535050e-04f, 3.071032346e-04f, 3.066524646e-04f, 3.062011959e-04f, 3.057494291e-04f, 3.052971653e-04f,
+3.048444050e-04f, 3.043911493e-04f, 3.039373989e-04f, 3.034831546e-04f, 3.030284173e-04f, 3.025731877e-04f, 3.021174667e-04f, 3.016612551e-04f, 3.012045537e-04f, 3.007473634e-04f,
+3.002896850e-04f, 2.998315193e-04f, 2.993728671e-04f, 2.989137292e-04f, 2.984541066e-04f, 2.979939999e-04f, 2.975334102e-04f, 2.970723380e-04f, 2.966107844e-04f, 2.961487501e-04f,
+2.956862360e-04f, 2.952232429e-04f, 2.947597716e-04f, 2.942958230e-04f, 2.938313979e-04f, 2.933664971e-04f, 2.929011215e-04f, 2.924352720e-04f, 2.919689492e-04f, 2.915021542e-04f,
+2.910348877e-04f, 2.905671506e-04f, 2.900989437e-04f, 2.896302679e-04f, 2.891611239e-04f, 2.886915127e-04f, 2.882214351e-04f, 2.877508919e-04f, 2.872798840e-04f, 2.868084123e-04f,
+2.863364775e-04f, 2.858640805e-04f, 2.853912222e-04f, 2.849179035e-04f, 2.844441251e-04f, 2.839698879e-04f, 2.834951928e-04f, 2.830200406e-04f, 2.825444322e-04f, 2.820683685e-04f,
+2.815918502e-04f, 2.811148783e-04f, 2.806374536e-04f, 2.801595769e-04f, 2.796812492e-04f, 2.792024713e-04f, 2.787232439e-04f, 2.782435681e-04f, 2.777634446e-04f, 2.772828744e-04f,
+2.768018582e-04f, 2.763203970e-04f, 2.758384916e-04f, 2.753561428e-04f, 2.748733516e-04f, 2.743901188e-04f, 2.739064452e-04f, 2.734223318e-04f, 2.729377794e-04f, 2.724527888e-04f,
+2.719673610e-04f, 2.714814968e-04f, 2.709951971e-04f, 2.705084627e-04f, 2.700212946e-04f, 2.695336935e-04f, 2.690456604e-04f, 2.685571962e-04f, 2.680683017e-04f, 2.675789777e-04f,
+2.670892253e-04f, 2.665990452e-04f, 2.661084383e-04f, 2.656174055e-04f, 2.651259477e-04f, 2.646340657e-04f, 2.641417605e-04f, 2.636490329e-04f, 2.631558838e-04f, 2.626623141e-04f,
+2.621683246e-04f, 2.616739163e-04f, 2.611790901e-04f, 2.606838467e-04f, 2.601881872e-04f, 2.596921123e-04f, 2.591956230e-04f, 2.586987202e-04f, 2.582014047e-04f, 2.577036775e-04f,
+2.572055394e-04f, 2.567069913e-04f, 2.562080342e-04f, 2.557086688e-04f, 2.552088961e-04f, 2.547087170e-04f, 2.542081324e-04f, 2.537071432e-04f, 2.532057502e-04f, 2.527039544e-04f,
+2.522017566e-04f, 2.516991579e-04f, 2.511961589e-04f, 2.506927607e-04f, 2.501889642e-04f, 2.496847702e-04f, 2.491801796e-04f, 2.486751934e-04f, 2.481698124e-04f, 2.476640376e-04f,
+2.471578698e-04f, 2.466513100e-04f, 2.461443591e-04f, 2.456370179e-04f, 2.451292873e-04f, 2.446211683e-04f, 2.441126618e-04f, 2.436037687e-04f, 2.430944899e-04f, 2.425848263e-04f,
+2.420747787e-04f, 2.415643482e-04f, 2.410535356e-04f, 2.405423419e-04f, 2.400307679e-04f, 2.395188145e-04f, 2.390064827e-04f, 2.384937733e-04f, 2.379806874e-04f, 2.374672258e-04f,
+2.369533894e-04f, 2.364391791e-04f, 2.359245958e-04f, 2.354096405e-04f, 2.348943141e-04f, 2.343786175e-04f, 2.338625516e-04f, 2.333461174e-04f, 2.328293157e-04f, 2.323121474e-04f,
+2.317946136e-04f, 2.312767150e-04f, 2.307584527e-04f, 2.302398276e-04f, 2.297208405e-04f, 2.292014924e-04f, 2.286817842e-04f, 2.281617169e-04f, 2.276412913e-04f, 2.271205084e-04f,
+2.265993692e-04f, 2.260778745e-04f, 2.255560252e-04f, 2.250338224e-04f, 2.245112669e-04f, 2.239883596e-04f, 2.234651015e-04f, 2.229414936e-04f, 2.224175366e-04f, 2.218932317e-04f,
+2.213685796e-04f, 2.208435814e-04f, 2.203182380e-04f, 2.197925502e-04f, 2.192665191e-04f, 2.187401455e-04f, 2.182134304e-04f, 2.176863748e-04f, 2.171589795e-04f, 2.166312456e-04f,
+2.161031738e-04f, 2.155747653e-04f, 2.150460209e-04f, 2.145169415e-04f, 2.139875281e-04f, 2.134577816e-04f, 2.129277030e-04f, 2.123972932e-04f, 2.118665532e-04f, 2.113354838e-04f,
+2.108040861e-04f, 2.102723609e-04f, 2.097403093e-04f, 2.092079321e-04f, 2.086752303e-04f, 2.081422049e-04f, 2.076088567e-04f, 2.070751868e-04f, 2.065411960e-04f, 2.060068854e-04f,
+2.054722558e-04f, 2.049373083e-04f, 2.044020437e-04f, 2.038664630e-04f, 2.033305672e-04f, 2.027943572e-04f, 2.022578340e-04f, 2.017209984e-04f, 2.011838515e-04f, 2.006463943e-04f,
+2.001086275e-04f, 1.995705523e-04f, 1.990321696e-04f, 1.984934802e-04f, 1.979544853e-04f, 1.974151856e-04f, 1.968755822e-04f, 1.963356761e-04f, 1.957954681e-04f, 1.952549592e-04f,
+1.947141505e-04f, 1.941730428e-04f, 1.936316371e-04f, 1.930899344e-04f, 1.925479356e-04f, 1.920056416e-04f, 1.914630535e-04f, 1.909201722e-04f, 1.903769987e-04f, 1.898335338e-04f,
+1.892897787e-04f, 1.887457341e-04f, 1.882014012e-04f, 1.876567808e-04f, 1.871118740e-04f, 1.865666816e-04f, 1.860212046e-04f, 1.854754441e-04f, 1.849294009e-04f, 1.843830761e-04f,
+1.838364705e-04f, 1.832895853e-04f, 1.827424212e-04f, 1.821949794e-04f, 1.816472607e-04f, 1.810992661e-04f, 1.805509966e-04f, 1.800024532e-04f, 1.794536368e-04f, 1.789045484e-04f,
+1.783551889e-04f, 1.778055594e-04f, 1.772556608e-04f, 1.767054941e-04f, 1.761550602e-04f, 1.756043601e-04f, 1.750533948e-04f, 1.745021652e-04f, 1.739506724e-04f, 1.733989173e-04f,
+1.728469008e-04f, 1.722946240e-04f, 1.717420878e-04f, 1.711892932e-04f, 1.706362411e-04f, 1.700829326e-04f, 1.695293686e-04f, 1.689755501e-04f, 1.684214780e-04f, 1.678671534e-04f,
+1.673125772e-04f, 1.667577503e-04f, 1.662026739e-04f, 1.656473488e-04f, 1.650917760e-04f, 1.645359565e-04f, 1.639798913e-04f, 1.634235813e-04f, 1.628670276e-04f, 1.623102311e-04f,
+1.617531928e-04f, 1.611959136e-04f, 1.606383947e-04f, 1.600806368e-04f, 1.595226411e-04f, 1.589644084e-04f, 1.584059399e-04f, 1.578472364e-04f, 1.572882990e-04f, 1.567291285e-04f,
+1.561697261e-04f, 1.556100927e-04f, 1.550502293e-04f, 1.544901368e-04f, 1.539298163e-04f, 1.533692687e-04f, 1.528084950e-04f, 1.522474962e-04f, 1.516862733e-04f, 1.511248273e-04f,
+1.505631591e-04f, 1.500012698e-04f, 1.494391603e-04f, 1.488768317e-04f, 1.483142848e-04f, 1.477515208e-04f, 1.471885405e-04f, 1.466253450e-04f, 1.460619353e-04f, 1.454983123e-04f,
+1.449344770e-04f, 1.443704305e-04f, 1.438061737e-04f, 1.432417077e-04f, 1.426770333e-04f, 1.421121516e-04f, 1.415470636e-04f, 1.409817703e-04f, 1.404162726e-04f, 1.398505716e-04f,
+1.392846682e-04f, 1.387185635e-04f, 1.381522585e-04f, 1.375857540e-04f, 1.370190512e-04f, 1.364521510e-04f, 1.358850544e-04f, 1.353177625e-04f, 1.347502761e-04f, 1.341825963e-04f,
+1.336147241e-04f, 1.330466605e-04f, 1.324784065e-04f, 1.319099630e-04f, 1.313413311e-04f, 1.307725118e-04f, 1.302035061e-04f, 1.296343149e-04f, 1.290649393e-04f, 1.284953802e-04f,
+1.279256387e-04f, 1.273557158e-04f, 1.267856124e-04f, 1.262153295e-04f, 1.256448682e-04f, 1.250742295e-04f, 1.245034143e-04f, 1.239324236e-04f, 1.233612585e-04f, 1.227899199e-04f,
+1.222184089e-04f, 1.216467264e-04f, 1.210748735e-04f, 1.205028511e-04f, 1.199306603e-04f, 1.193583020e-04f, 1.187857772e-04f, 1.182130871e-04f, 1.176402324e-04f, 1.170672143e-04f,
+1.164940338e-04f, 1.159206919e-04f, 1.153471895e-04f, 1.147735276e-04f, 1.141997074e-04f, 1.136257297e-04f, 1.130515956e-04f, 1.124773060e-04f, 1.119028621e-04f, 1.113282647e-04f,
+1.107535150e-04f, 1.101786138e-04f, 1.096035622e-04f, 1.090283612e-04f, 1.084530119e-04f, 1.078775151e-04f, 1.073018720e-04f, 1.067260835e-04f, 1.061501507e-04f, 1.055740744e-04f,
+1.049978559e-04f, 1.044214959e-04f, 1.038449957e-04f, 1.032683561e-04f, 1.026915781e-04f, 1.021146629e-04f, 1.015376113e-04f, 1.009604244e-04f, 1.003831033e-04f, 9.980564878e-05f,
+9.922806203e-05f, 9.865034400e-05f, 9.807249570e-05f, 9.749451814e-05f, 9.691641233e-05f, 9.633817928e-05f, 9.575981999e-05f, 9.518133548e-05f, 9.460272675e-05f, 9.402399481e-05f,
+9.344514068e-05f, 9.286616536e-05f, 9.228706986e-05f, 9.170785518e-05f, 9.112852235e-05f, 9.054907238e-05f, 8.996950626e-05f, 8.938982501e-05f, 8.881002965e-05f, 8.823012117e-05f,
+8.765010060e-05f, 8.706996895e-05f, 8.648972721e-05f, 8.590937642e-05f, 8.532891757e-05f, 8.474835168e-05f, 8.416767975e-05f, 8.358690281e-05f, 8.300602186e-05f, 8.242503792e-05f,
+8.184395199e-05f, 8.126276508e-05f, 8.068147822e-05f, 8.010009241e-05f, 7.951860867e-05f, 7.893702800e-05f, 7.835535142e-05f, 7.777357994e-05f, 7.719171457e-05f, 7.660975633e-05f,
+7.602770623e-05f, 7.544556529e-05f, 7.486333450e-05f, 7.428101490e-05f, 7.369860749e-05f, 7.311611328e-05f, 7.253353329e-05f, 7.195086853e-05f, 7.136812002e-05f, 7.078528877e-05f,
+7.020237578e-05f, 6.961938209e-05f, 6.903630869e-05f, 6.845315660e-05f, 6.786992684e-05f, 6.728662043e-05f, 6.670323837e-05f, 6.611978167e-05f, 6.553625136e-05f, 6.495264845e-05f,
+6.436897395e-05f, 6.378522887e-05f, 6.320141424e-05f, 6.261753105e-05f, 6.203358034e-05f, 6.144956311e-05f, 6.086548038e-05f, 6.028133316e-05f, 5.969712247e-05f, 5.911284932e-05f,
+5.852851472e-05f, 5.794411970e-05f, 5.735966526e-05f, 5.677515242e-05f, 5.619058220e-05f, 5.560595561e-05f, 5.502127366e-05f, 5.443653737e-05f, 5.385174776e-05f, 5.326690584e-05f,
+5.268201262e-05f, 5.209706912e-05f, 5.151207636e-05f, 5.092703534e-05f, 5.034194709e-05f, 4.975681262e-05f, 4.917163294e-05f, 4.858640908e-05f, 4.800114204e-05f, 4.741583283e-05f,
+4.683048249e-05f, 4.624509201e-05f, 4.565966242e-05f, 4.507419472e-05f, 4.448868995e-05f, 4.390314910e-05f, 4.331757319e-05f, 4.273196325e-05f, 4.214632028e-05f, 4.156064531e-05f,
+4.097493933e-05f, 4.038920338e-05f, 3.980343846e-05f, 3.921764559e-05f, 3.863182579e-05f, 3.804598007e-05f, 3.746010944e-05f, 3.687421492e-05f, 3.628829752e-05f, 3.570235826e-05f,
+3.511639816e-05f, 3.453041822e-05f, 3.394441947e-05f, 3.335840291e-05f, 3.277236957e-05f, 3.218632045e-05f, 3.160025658e-05f, 3.101417896e-05f, 3.042808861e-05f, 2.984198654e-05f,
+2.925587377e-05f, 2.866975131e-05f, 2.808362019e-05f, 2.749748140e-05f, 2.691133597e-05f, 2.632518490e-05f, 2.573902922e-05f, 2.515286994e-05f, 2.456670807e-05f, 2.398054462e-05f,
+2.339438061e-05f, 2.280821705e-05f, 2.222205496e-05f, 2.163589535e-05f, 2.104973923e-05f, 2.046358761e-05f, 1.987744151e-05f, 1.929130195e-05f, 1.870516993e-05f, 1.811904647e-05f,
+1.753293258e-05f, 1.694682927e-05f, 1.636073757e-05f, 1.577465847e-05f, 1.518859299e-05f, 1.460254214e-05f, 1.401650695e-05f, 1.343048841e-05f, 1.284448754e-05f, 1.225850536e-05f,
+1.167254287e-05f, 1.108660109e-05f, 1.050068103e-05f, 9.914783696e-06f, 9.328910106e-06f, 8.743061269e-06f, 8.157238198e-06f, 7.571441902e-06f, 6.985673393e-06f, 6.399933683e-06f,
+5.814223781e-06f, 5.228544699e-06f, 4.642897447e-06f, 4.057283035e-06f, 3.471702475e-06f, 2.886156775e-06f, 2.300646947e-06f, 1.715174000e-06f, 1.129738945e-06f, 5.443427897e-07f,
+-4.101345511e-08f, -6.263287802e-07f, -1.211602176e-06f, -1.796832634e-06f, -2.382019146e-06f, -2.967160701e-06f, -3.552256291e-06f, -4.137304909e-06f, -4.722305545e-06f, -5.307257192e-06f,
+-5.892158840e-06f, -6.477009483e-06f, -7.061808113e-06f, -7.646553721e-06f, -8.231245302e-06f, -8.815881846e-06f, -9.400462348e-06f, -9.984985799e-06f, -1.056945119e-05f, -1.115385753e-05f,
+-1.173820379e-05f, -1.232248898e-05f, -1.290671208e-05f, -1.349087210e-05f, -1.407496802e-05f, -1.465899885e-05f, -1.524296357e-05f, -1.582686118e-05f, -1.641069067e-05f, -1.699445105e-05f,
+-1.757814130e-05f, -1.816176043e-05f, -1.874530742e-05f, -1.932878127e-05f, -1.991218099e-05f, -2.049550556e-05f, -2.107875398e-05f, -2.166192526e-05f, -2.224501837e-05f, -2.282803234e-05f,
+-2.341096614e-05f, -2.399381878e-05f, -2.457658926e-05f, -2.515927657e-05f, -2.574187971e-05f, -2.632439769e-05f, -2.690682949e-05f, -2.748917413e-05f, -2.807143059e-05f, -2.865359787e-05f,
+-2.923567499e-05f, -2.981766093e-05f, -3.039955469e-05f, -3.098135529e-05f, -3.156306171e-05f, -3.214467295e-05f, -3.272618803e-05f, -3.330760593e-05f, -3.388892567e-05f, -3.447014624e-05f,
+-3.505126664e-05f, -3.563228588e-05f, -3.621320296e-05f, -3.679401688e-05f, -3.737472665e-05f, -3.795533126e-05f, -3.853582972e-05f, -3.911622104e-05f, -3.969650422e-05f, -4.027667826e-05f,
+-4.085674217e-05f, -4.143669495e-05f, -4.201653560e-05f, -4.259626314e-05f, -4.317587656e-05f, -4.375537488e-05f, -4.433475710e-05f, -4.491402222e-05f, -4.549316925e-05f, -4.607219720e-05f,
+-4.665110508e-05f, -4.722989189e-05f, -4.780855664e-05f, -4.838709834e-05f, -4.896551599e-05f, -4.954380862e-05f, -5.012197521e-05f, -5.070001479e-05f, -5.127792636e-05f, -5.185570893e-05f,
+-5.243336151e-05f, -5.301088311e-05f, -5.358827275e-05f, -5.416552943e-05f, -5.474265217e-05f, -5.531963997e-05f, -5.589649184e-05f, -5.647320681e-05f, -5.704978388e-05f, -5.762622206e-05f,
+-5.820252037e-05f, -5.877867782e-05f, -5.935469343e-05f, -5.993056620e-05f, -6.050629516e-05f, -6.108187931e-05f, -6.165731767e-05f, -6.223260926e-05f, -6.280775309e-05f, -6.338274818e-05f,
+-6.395759354e-05f, -6.453228820e-05f, -6.510683116e-05f, -6.568122144e-05f, -6.625545807e-05f, -6.682954005e-05f, -6.740346641e-05f, -6.797723617e-05f, -6.855084835e-05f, -6.912430196e-05f,
+-6.969759602e-05f, -7.027072955e-05f, -7.084370158e-05f, -7.141651112e-05f, -7.198915719e-05f, -7.256163883e-05f, -7.313395503e-05f, -7.370610484e-05f, -7.427808727e-05f, -7.484990135e-05f,
+-7.542154609e-05f, -7.599302052e-05f, -7.656432366e-05f, -7.713545455e-05f, -7.770641219e-05f, -7.827719563e-05f, -7.884780387e-05f, -7.941823596e-05f, -7.998849091e-05f, -8.055856775e-05f,
+-8.112846550e-05f, -8.169818320e-05f, -8.226771988e-05f, -8.283707455e-05f, -8.340624625e-05f, -8.397523400e-05f, -8.454403684e-05f, -8.511265380e-05f, -8.568108390e-05f, -8.624932617e-05f,
+-8.681737965e-05f, -8.738524336e-05f, -8.795291634e-05f, -8.852039762e-05f, -8.908768623e-05f, -8.965478121e-05f, -9.022168158e-05f, -9.078838638e-05f, -9.135489464e-05f, -9.192120540e-05f,
+-9.248731769e-05f, -9.305323055e-05f, -9.361894301e-05f, -9.418445411e-05f, -9.474976288e-05f, -9.531486837e-05f, -9.587976960e-05f, -9.644446562e-05f, -9.700895546e-05f, -9.757323816e-05f,
+-9.813731276e-05f, -9.870117831e-05f, -9.926483383e-05f, -9.982827837e-05f, -1.003915110e-04f, -1.009545307e-04f, -1.015173365e-04f, -1.020799275e-04f, -1.026423028e-04f, -1.032044613e-04f,
+-1.037664021e-04f, -1.043281243e-04f, -1.048896269e-04f, -1.054509089e-04f, -1.060119694e-04f, -1.065728075e-04f, -1.071334221e-04f, -1.076938123e-04f, -1.082539773e-04f, -1.088139159e-04f,
+-1.093736273e-04f, -1.099331105e-04f, -1.104923646e-04f, -1.110513886e-04f, -1.116101816e-04f, -1.121687425e-04f, -1.127270706e-04f, -1.132851647e-04f, -1.138430240e-04f, -1.144006475e-04f,
+-1.149580343e-04f, -1.155151834e-04f, -1.160720939e-04f, -1.166287648e-04f, -1.171851952e-04f, -1.177413841e-04f, -1.182973306e-04f, -1.188530338e-04f, -1.194084927e-04f, -1.199637063e-04f,
+-1.205186737e-04f, -1.210733940e-04f, -1.216278663e-04f, -1.221820895e-04f, -1.227360628e-04f, -1.232897852e-04f, -1.238432558e-04f, -1.243964736e-04f, -1.249494377e-04f, -1.255021471e-04f,
+-1.260546009e-04f, -1.266067983e-04f, -1.271587381e-04f, -1.277104196e-04f, -1.282618417e-04f, -1.288130036e-04f, -1.293639043e-04f, -1.299145428e-04f, -1.304649183e-04f, -1.310150297e-04f,
+-1.315648763e-04f, -1.321144569e-04f, -1.326637707e-04f, -1.332128169e-04f, -1.337615943e-04f, -1.343101022e-04f, -1.348583395e-04f, -1.354063054e-04f, -1.359539989e-04f, -1.365014191e-04f,
+-1.370485651e-04f, -1.375954359e-04f, -1.381420306e-04f, -1.386883483e-04f, -1.392343880e-04f, -1.397801489e-04f, -1.403256300e-04f, -1.408708304e-04f, -1.414157491e-04f, -1.419603853e-04f,
+-1.425047380e-04f, -1.430488063e-04f, -1.435925893e-04f, -1.441360860e-04f, -1.446792956e-04f, -1.452222171e-04f, -1.457648496e-04f, -1.463071921e-04f, -1.468492439e-04f, -1.473910039e-04f,
+-1.479324712e-04f, -1.484736449e-04f, -1.490145241e-04f, -1.495551079e-04f, -1.500953954e-04f, -1.506353856e-04f, -1.511750777e-04f, -1.517144707e-04f, -1.522535637e-04f, -1.527923558e-04f,
+-1.533308461e-04f, -1.538690337e-04f, -1.544069177e-04f, -1.549444972e-04f, -1.554817712e-04f, -1.560187389e-04f, -1.565553993e-04f, -1.570917515e-04f, -1.576277947e-04f, -1.581635279e-04f,
+-1.586989502e-04f, -1.592340608e-04f, -1.597688587e-04f, -1.603033429e-04f, -1.608375127e-04f, -1.613713671e-04f, -1.619049052e-04f, -1.624381261e-04f, -1.629710290e-04f, -1.635036128e-04f,
+-1.640358767e-04f, -1.645678199e-04f, -1.650994413e-04f, -1.656307402e-04f, -1.661617156e-04f, -1.666923666e-04f, -1.672226923e-04f, -1.677526919e-04f, -1.682823645e-04f, -1.688117090e-04f,
+-1.693407248e-04f, -1.698694108e-04f, -1.703977661e-04f, -1.709257900e-04f, -1.714534814e-04f, -1.719808396e-04f, -1.725078635e-04f, -1.730345524e-04f, -1.735609054e-04f, -1.740869215e-04f,
+-1.746125998e-04f, -1.751379395e-04f, -1.756629398e-04f, -1.761875996e-04f, -1.767119182e-04f, -1.772358946e-04f, -1.777595280e-04f, -1.782828175e-04f, -1.788057621e-04f, -1.793283611e-04f,
+-1.798506136e-04f, -1.803725186e-04f, -1.808940753e-04f, -1.814152828e-04f, -1.819361402e-04f, -1.824566467e-04f, -1.829768013e-04f, -1.834966033e-04f, -1.840160517e-04f, -1.845351456e-04f,
+-1.850538843e-04f, -1.855722667e-04f, -1.860902921e-04f, -1.866079596e-04f, -1.871252682e-04f, -1.876422172e-04f, -1.881588057e-04f, -1.886750327e-04f, -1.891908975e-04f, -1.897063991e-04f,
+-1.902215367e-04f, -1.907363095e-04f, -1.912507165e-04f, -1.917647569e-04f, -1.922784298e-04f, -1.927917345e-04f, -1.933046699e-04f, -1.938172353e-04f, -1.943294298e-04f, -1.948412525e-04f,
+-1.953527025e-04f, -1.958637791e-04f, -1.963744814e-04f, -1.968848084e-04f, -1.973947594e-04f, -1.979043335e-04f, -1.984135298e-04f, -1.989223474e-04f, -1.994307856e-04f, -1.999388435e-04f,
+-2.004465202e-04f, -2.009538149e-04f, -2.014607267e-04f, -2.019672547e-04f, -2.024733982e-04f, -2.029791562e-04f, -2.034845280e-04f, -2.039895126e-04f, -2.044941093e-04f, -2.049983172e-04f,
+-2.055021353e-04f, -2.060055630e-04f, -2.065085994e-04f, -2.070112435e-04f, -2.075134947e-04f, -2.080153519e-04f, -2.085168145e-04f, -2.090178814e-04f, -2.095185520e-04f, -2.100188254e-04f,
+-2.105187007e-04f, -2.110181771e-04f, -2.115172538e-04f, -2.120159298e-04f, -2.125142045e-04f, -2.130120770e-04f, -2.135095463e-04f, -2.140066118e-04f, -2.145032725e-04f, -2.149995277e-04f,
+-2.154953764e-04f, -2.159908179e-04f, -2.164858514e-04f, -2.169804760e-04f, -2.174746909e-04f, -2.179684952e-04f, -2.184618882e-04f, -2.189548690e-04f, -2.194474368e-04f, -2.199395908e-04f,
+-2.204313301e-04f, -2.209226539e-04f, -2.214135614e-04f, -2.219040519e-04f, -2.223941243e-04f, -2.228837781e-04f, -2.233730122e-04f, -2.238618260e-04f, -2.243502186e-04f, -2.248381892e-04f,
+-2.253257369e-04f, -2.258128610e-04f, -2.262995606e-04f, -2.267858350e-04f, -2.272716832e-04f, -2.277571046e-04f, -2.282420983e-04f, -2.287266635e-04f, -2.292107994e-04f, -2.296945051e-04f,
+-2.301777799e-04f, -2.306606230e-04f, -2.311430335e-04f, -2.316250107e-04f, -2.321065537e-04f, -2.325876618e-04f, -2.330683341e-04f, -2.335485699e-04f, -2.340283683e-04f, -2.345077286e-04f,
+-2.349866499e-04f, -2.354651315e-04f, -2.359431726e-04f, -2.364207723e-04f, -2.368979298e-04f, -2.373746445e-04f, -2.378509154e-04f, -2.383267418e-04f, -2.388021229e-04f, -2.392770579e-04f,
+-2.397515460e-04f, -2.402255864e-04f, -2.406991784e-04f, -2.411723211e-04f, -2.416450137e-04f, -2.421172556e-04f, -2.425890458e-04f, -2.430603837e-04f, -2.435312683e-04f, -2.440016991e-04f,
+-2.444716750e-04f, -2.449411955e-04f, -2.454102596e-04f, -2.458788667e-04f, -2.463470159e-04f, -2.468147064e-04f, -2.472819376e-04f, -2.477487085e-04f, -2.482150185e-04f, -2.486808668e-04f,
+-2.491462525e-04f, -2.496111750e-04f, -2.500756333e-04f, -2.505396269e-04f, -2.510031549e-04f, -2.514662165e-04f, -2.519288110e-04f, -2.523909375e-04f, -2.528525954e-04f, -2.533137839e-04f,
+-2.537745022e-04f, -2.542347495e-04f, -2.546945251e-04f, -2.551538282e-04f, -2.556126580e-04f, -2.560710139e-04f, -2.565288950e-04f, -2.569863005e-04f, -2.574432298e-04f, -2.578996820e-04f,
+-2.583556564e-04f, -2.588111523e-04f, -2.592661689e-04f, -2.597207054e-04f, -2.601747611e-04f, -2.606283352e-04f, -2.610814271e-04f, -2.615340358e-04f, -2.619861608e-04f, -2.624378012e-04f,
+-2.628889563e-04f, -2.633396253e-04f, -2.637898075e-04f, -2.642395022e-04f, -2.646887086e-04f, -2.651374260e-04f, -2.655856536e-04f, -2.660333907e-04f, -2.664806366e-04f, -2.669273904e-04f,
+-2.673736515e-04f, -2.678194192e-04f, -2.682646926e-04f, -2.687094712e-04f, -2.691537540e-04f, -2.695975405e-04f, -2.700408298e-04f, -2.704836212e-04f, -2.709259140e-04f, -2.713677075e-04f,
+-2.718090010e-04f, -2.722497936e-04f, -2.726900848e-04f, -2.731298737e-04f, -2.735691596e-04f, -2.740079419e-04f, -2.744462197e-04f, -2.748839924e-04f, -2.753212592e-04f, -2.757580195e-04f,
+-2.761942724e-04f, -2.766300174e-04f, -2.770652536e-04f, -2.774999803e-04f, -2.779341969e-04f, -2.783679026e-04f, -2.788010967e-04f, -2.792337785e-04f, -2.796659473e-04f, -2.800976023e-04f,
+-2.805287429e-04f, -2.809593683e-04f, -2.813894779e-04f, -2.818190709e-04f, -2.822481466e-04f, -2.826767043e-04f, -2.831047433e-04f, -2.835322630e-04f, -2.839592625e-04f, -2.843857413e-04f,
+-2.848116986e-04f, -2.852371336e-04f, -2.856620458e-04f, -2.860864344e-04f, -2.865102986e-04f, -2.869336379e-04f, -2.873564515e-04f, -2.877787387e-04f, -2.882004989e-04f, -2.886217313e-04f,
+-2.890424352e-04f, -2.894626100e-04f, -2.898822549e-04f, -2.903013693e-04f, -2.907199526e-04f, -2.911380039e-04f, -2.915555226e-04f, -2.919725080e-04f, -2.923889595e-04f, -2.928048764e-04f,
+-2.932202580e-04f, -2.936351035e-04f, -2.940494124e-04f, -2.944631839e-04f, -2.948764174e-04f, -2.952891122e-04f, -2.957012675e-04f, -2.961128829e-04f, -2.965239574e-04f, -2.969344906e-04f,
+-2.973444817e-04f, -2.977539300e-04f, -2.981628350e-04f, -2.985711958e-04f, -2.989790119e-04f, -2.993862825e-04f, -2.997930070e-04f, -3.001991848e-04f, -3.006048152e-04f, -3.010098975e-04f,
+-3.014144310e-04f, -3.018184151e-04f, -3.022218492e-04f, -3.026247325e-04f, -3.030270645e-04f, -3.034288444e-04f, -3.038300716e-04f, -3.042307454e-04f, -3.046308653e-04f, -3.050304304e-04f,
+-3.054294403e-04f, -3.058278942e-04f, -3.062257915e-04f, -3.066231315e-04f, -3.070199136e-04f, -3.074161372e-04f, -3.078118015e-04f, -3.082069060e-04f, -3.086014500e-04f, -3.089954329e-04f,
+-3.093888540e-04f, -3.097817127e-04f, -3.101740083e-04f, -3.105657402e-04f, -3.109569078e-04f, -3.113475104e-04f, -3.117375474e-04f, -3.121270181e-04f, -3.125159220e-04f, -3.129042584e-04f,
+-3.132920266e-04f, -3.136792260e-04f, -3.140658561e-04f, -3.144519161e-04f, -3.148374054e-04f, -3.152223235e-04f, -3.156066697e-04f, -3.159904433e-04f, -3.163736437e-04f, -3.167562704e-04f,
+-3.171383227e-04f, -3.175197999e-04f, -3.179007015e-04f, -3.182810269e-04f, -3.186607753e-04f, -3.190399463e-04f, -3.194185392e-04f, -3.197965533e-04f, -3.201739881e-04f, -3.205508430e-04f,
+-3.209271172e-04f, -3.213028104e-04f, -3.216779217e-04f, -3.220524506e-04f, -3.224263966e-04f, -3.227997589e-04f, -3.231725371e-04f, -3.235447304e-04f, -3.239163384e-04f, -3.242873603e-04f,
+-3.246577956e-04f, -3.250276437e-04f, -3.253969039e-04f, -3.257655758e-04f, -3.261336587e-04f, -3.265011519e-04f, -3.268680550e-04f, -3.272343673e-04f, -3.276000882e-04f, -3.279652171e-04f,
+-3.283297535e-04f, -3.286936967e-04f, -3.290570462e-04f, -3.294198013e-04f, -3.297819616e-04f, -3.301435263e-04f, -3.305044950e-04f, -3.308648670e-04f, -3.312246418e-04f, -3.315838187e-04f,
+-3.319423973e-04f, -3.323003768e-04f, -3.326577569e-04f, -3.330145367e-04f, -3.333707159e-04f, -3.337262938e-04f, -3.340812698e-04f, -3.344356435e-04f, -3.347894141e-04f, -3.351425811e-04f,
+-3.354951440e-04f, -3.358471023e-04f, -3.361984552e-04f, -3.365492023e-04f, -3.368993430e-04f, -3.372488768e-04f, -3.375978030e-04f, -3.379461212e-04f, -3.382938307e-04f, -3.386409310e-04f,
+-3.389874216e-04f, -3.393333018e-04f, -3.396785712e-04f, -3.400232291e-04f, -3.403672751e-04f, -3.407107085e-04f, -3.410535289e-04f, -3.413957356e-04f, -3.417373282e-04f, -3.420783060e-04f,
+-3.424186685e-04f, -3.427584152e-04f, -3.430975456e-04f, -3.434360591e-04f, -3.437739551e-04f, -3.441112331e-04f, -3.444478926e-04f, -3.447839330e-04f, -3.451193538e-04f, -3.454541545e-04f,
+-3.457883345e-04f, -3.461218933e-04f, -3.464548303e-04f, -3.467871450e-04f, -3.471188370e-04f, -3.474499056e-04f, -3.477803503e-04f, -3.481101707e-04f, -3.484393661e-04f, -3.487679361e-04f,
+-3.490958801e-04f, -3.494231976e-04f, -3.497498881e-04f, -3.500759510e-04f, -3.504013859e-04f, -3.507261922e-04f, -3.510503695e-04f, -3.513739171e-04f, -3.516968346e-04f, -3.520191214e-04f,
+-3.523407771e-04f, -3.526618011e-04f, -3.529821930e-04f, -3.533019521e-04f, -3.536210781e-04f, -3.539395704e-04f, -3.542574284e-04f, -3.545746518e-04f, -3.548912399e-04f, -3.552071923e-04f,
+-3.555225085e-04f, -3.558371879e-04f, -3.561512302e-04f, -3.564646347e-04f, -3.567774010e-04f, -3.570895285e-04f, -3.574010169e-04f, -3.577118656e-04f, -3.580220741e-04f, -3.583316418e-04f,
+-3.586405684e-04f, -3.589488534e-04f, -3.592564962e-04f, -3.595634963e-04f, -3.598698533e-04f, -3.601755667e-04f, -3.604806360e-04f, -3.607850607e-04f, -3.610888404e-04f, -3.613919745e-04f,
+-3.616944626e-04f, -3.619963042e-04f, -3.622974988e-04f, -3.625980460e-04f, -3.628979453e-04f, -3.631971961e-04f, -3.634957981e-04f, -3.637937508e-04f, -3.640910536e-04f, -3.643877062e-04f,
+-3.646837080e-04f, -3.649790586e-04f, -3.652737575e-04f, -3.655678043e-04f, -3.658611985e-04f, -3.661539396e-04f, -3.664460272e-04f, -3.667374609e-04f, -3.670282400e-04f, -3.673183643e-04f,
+-3.676078332e-04f, -3.678966463e-04f, -3.681848032e-04f, -3.684723033e-04f, -3.687591462e-04f, -3.690453316e-04f, -3.693308589e-04f, -3.696157276e-04f, -3.698999374e-04f, -3.701834878e-04f,
+-3.704663784e-04f, -3.707486086e-04f, -3.710301781e-04f, -3.713110865e-04f, -3.715913332e-04f, -3.718709179e-04f, -3.721498401e-04f, -3.724280994e-04f, -3.727056953e-04f, -3.729826274e-04f,
+-3.732588953e-04f, -3.735344985e-04f, -3.738094366e-04f, -3.740837093e-04f, -3.743573160e-04f, -3.746302563e-04f, -3.749025298e-04f, -3.751741361e-04f, -3.754450748e-04f, -3.757153453e-04f,
+-3.759849475e-04f, -3.762538807e-04f, -3.765221446e-04f, -3.767897387e-04f, -3.770566627e-04f, -3.773229161e-04f, -3.775884986e-04f, -3.778534096e-04f, -3.781176489e-04f, -3.783812159e-04f,
+-3.786441103e-04f, -3.789063317e-04f, -3.791678796e-04f, -3.794287537e-04f, -3.796889535e-04f, -3.799484787e-04f, -3.802073289e-04f, -3.804655036e-04f, -3.807230024e-04f, -3.809798250e-04f,
+-3.812359710e-04f, -3.814914399e-04f, -3.817462313e-04f, -3.820003450e-04f, -3.822537804e-04f, -3.825065372e-04f, -3.827586150e-04f, -3.830100135e-04f, -3.832607321e-04f, -3.835107706e-04f,
+-3.837601286e-04f, -3.840088056e-04f, -3.842568013e-04f, -3.845041153e-04f, -3.847507473e-04f, -3.849966967e-04f, -3.852419634e-04f, -3.854865469e-04f, -3.857304467e-04f, -3.859736627e-04f,
+-3.862161943e-04f, -3.864580412e-04f, -3.866992030e-04f, -3.869396794e-04f, -3.871794700e-04f, -3.874185744e-04f, -3.876569923e-04f, -3.878947233e-04f, -3.881317670e-04f, -3.883681231e-04f,
+-3.886037912e-04f, -3.888387709e-04f, -3.890730620e-04f, -3.893066640e-04f, -3.895395766e-04f, -3.897717994e-04f, -3.900033321e-04f, -3.902341743e-04f, -3.904643257e-04f, -3.906937859e-04f,
+-3.909225546e-04f, -3.911506314e-04f, -3.913780160e-04f, -3.916047081e-04f, -3.918307072e-04f, -3.920560131e-04f, -3.922806254e-04f, -3.925045437e-04f, -3.927277678e-04f, -3.929502974e-04f,
+-3.931721319e-04f, -3.933932712e-04f, -3.936137149e-04f, -3.938334626e-04f, -3.940525141e-04f, -3.942708689e-04f, -3.944885269e-04f, -3.947054876e-04f, -3.949217506e-04f, -3.951373158e-04f,
+-3.953521828e-04f, -3.955663512e-04f, -3.957798207e-04f, -3.959925910e-04f, -3.962046618e-04f, -3.964160328e-04f, -3.966267036e-04f, -3.968366739e-04f, -3.970459435e-04f, -3.972545120e-04f,
+-3.974623791e-04f, -3.976695444e-04f, -3.978760078e-04f, -3.980817688e-04f, -3.982868271e-04f, -3.984911826e-04f, -3.986948347e-04f, -3.988977834e-04f, -3.991000282e-04f, -3.993015688e-04f,
+-3.995024050e-04f, -3.997025364e-04f, -3.999019628e-04f, -4.001006838e-04f, -4.002986992e-04f, -4.004960087e-04f, -4.006926120e-04f, -4.008885087e-04f, -4.010836987e-04f, -4.012781815e-04f,
+-4.014719570e-04f, -4.016650249e-04f, -4.018573848e-04f, -4.020490364e-04f, -4.022399796e-04f, -4.024302139e-04f, -4.026197392e-04f, -4.028085552e-04f, -4.029966615e-04f, -4.031840580e-04f,
+-4.033707442e-04f, -4.035567200e-04f, -4.037419851e-04f, -4.039265393e-04f, -4.041103821e-04f, -4.042935134e-04f, -4.044759330e-04f, -4.046576405e-04f, -4.048386356e-04f, -4.050189182e-04f,
+-4.051984879e-04f, -4.053773445e-04f, -4.055554878e-04f, -4.057329174e-04f, -4.059096332e-04f, -4.060856348e-04f, -4.062609220e-04f, -4.064354946e-04f, -4.066093523e-04f, -4.067824949e-04f,
+-4.069549220e-04f, -4.071266335e-04f, -4.072976291e-04f, -4.074679086e-04f, -4.076374717e-04f, -4.078063182e-04f, -4.079744478e-04f, -4.081418603e-04f, -4.083085555e-04f, -4.084745331e-04f,
+-4.086397928e-04f, -4.088043345e-04f, -4.089681580e-04f, -4.091312629e-04f, -4.092936490e-04f, -4.094553162e-04f, -4.096162642e-04f, -4.097764927e-04f, -4.099360015e-04f, -4.100947905e-04f,
+-4.102528593e-04f, -4.104102078e-04f, -4.105668358e-04f, -4.107227430e-04f, -4.108779291e-04f, -4.110323941e-04f, -4.111861376e-04f, -4.113391595e-04f, -4.114914595e-04f, -4.116430374e-04f,
+-4.117938931e-04f, -4.119440262e-04f, -4.120934367e-04f, -4.122421242e-04f, -4.123900886e-04f, -4.125373297e-04f, -4.126838472e-04f, -4.128296411e-04f, -4.129747109e-04f, -4.131190567e-04f,
+-4.132626781e-04f, -4.134055750e-04f, -4.135477472e-04f, -4.136891944e-04f, -4.138299166e-04f, -4.139699134e-04f, -4.141091847e-04f, -4.142477304e-04f, -4.143855501e-04f, -4.145226439e-04f,
+-4.146590113e-04f, -4.147946523e-04f, -4.149295667e-04f, -4.150637543e-04f, -4.151972149e-04f, -4.153299484e-04f, -4.154619545e-04f, -4.155932331e-04f, -4.157237840e-04f, -4.158536070e-04f,
+-4.159827020e-04f, -4.161110688e-04f, -4.162387072e-04f, -4.163656171e-04f, -4.164917982e-04f, -4.166172504e-04f, -4.167419736e-04f, -4.168659676e-04f, -4.169892321e-04f, -4.171117672e-04f,
+-4.172335725e-04f, -4.173546479e-04f, -4.174749934e-04f, -4.175946086e-04f, -4.177134936e-04f, -4.178316480e-04f, -4.179490718e-04f, -4.180657648e-04f, -4.181817268e-04f, -4.182969578e-04f,
+-4.184114575e-04f, -4.185252258e-04f, -4.186382626e-04f, -4.187505677e-04f, -4.188621410e-04f, -4.189729823e-04f, -4.190830915e-04f, -4.191924685e-04f, -4.193011131e-04f, -4.194090252e-04f,
+-4.195162046e-04f, -4.196226513e-04f, -4.197283650e-04f, -4.198333457e-04f, -4.199375932e-04f, -4.200411074e-04f, -4.201438881e-04f, -4.202459353e-04f, -4.203472488e-04f, -4.204478285e-04f,
+-4.205476743e-04f, -4.206467860e-04f, -4.207451635e-04f, -4.208428067e-04f, -4.209397156e-04f, -4.210358899e-04f, -4.211313295e-04f, -4.212260344e-04f, -4.213200045e-04f, -4.214132395e-04f,
+-4.215057395e-04f, -4.215975043e-04f, -4.216885338e-04f, -4.217788278e-04f, -4.218683864e-04f, -4.219572093e-04f, -4.220452965e-04f, -4.221326479e-04f, -4.222192634e-04f, -4.223051429e-04f,
+-4.223902862e-04f, -4.224746934e-04f, -4.225583642e-04f, -4.226412987e-04f, -4.227234966e-04f, -4.228049580e-04f, -4.228856827e-04f, -4.229656707e-04f, -4.230449218e-04f, -4.231234360e-04f,
+-4.232012132e-04f, -4.232782532e-04f, -4.233545561e-04f, -4.234301218e-04f, -4.235049501e-04f, -4.235790410e-04f, -4.236523944e-04f, -4.237250103e-04f, -4.237968885e-04f, -4.238680290e-04f,
+-4.239384317e-04f, -4.240080966e-04f, -4.240770236e-04f, -4.241452125e-04f, -4.242126634e-04f, -4.242793762e-04f, -4.243453508e-04f, -4.244105872e-04f, -4.244750853e-04f, -4.245388450e-04f,
+-4.246018663e-04f, -4.246641491e-04f, -4.247256933e-04f, -4.247864990e-04f, -4.248465660e-04f, -4.249058943e-04f, -4.249644839e-04f, -4.250223347e-04f, -4.250794467e-04f, -4.251358197e-04f,
+-4.251914538e-04f, -4.252463490e-04f, -4.253005051e-04f, -4.253539221e-04f, -4.254066001e-04f, -4.254585389e-04f, -4.255097385e-04f, -4.255601989e-04f, -4.256099200e-04f, -4.256589019e-04f,
+-4.257071444e-04f, -4.257546476e-04f, -4.258014113e-04f, -4.258474357e-04f, -4.258927207e-04f, -4.259372661e-04f, -4.259810721e-04f, -4.260241386e-04f, -4.260664655e-04f, -4.261080528e-04f,
+-4.261489006e-04f, -4.261890088e-04f, -4.262283774e-04f, -4.262670063e-04f, -4.263048956e-04f, -4.263420452e-04f, -4.263784552e-04f, -4.264141255e-04f, -4.264490560e-04f, -4.264832469e-04f,
+-4.265166981e-04f, -4.265494096e-04f, -4.265813813e-04f, -4.266126133e-04f, -4.266431056e-04f, -4.266728581e-04f, -4.267018710e-04f, -4.267301441e-04f, -4.267576775e-04f, -4.267844712e-04f,
+-4.268105251e-04f, -4.268358394e-04f, -4.268604140e-04f, -4.268842488e-04f, -4.269073441e-04f, -4.269296996e-04f, -4.269513155e-04f, -4.269721918e-04f, -4.269923284e-04f, -4.270117254e-04f,
+-4.270303829e-04f, -4.270483008e-04f, -4.270654791e-04f, -4.270819179e-04f, -4.270976173e-04f, -4.271125771e-04f, -4.271267975e-04f, -4.271402785e-04f, -4.271530201e-04f, -4.271650224e-04f,
+-4.271762853e-04f, -4.271868089e-04f, -4.271965932e-04f, -4.272056383e-04f, -4.272139443e-04f, -4.272215110e-04f, -4.272283387e-04f, -4.272344273e-04f, -4.272397768e-04f, -4.272443874e-04f,
+-4.272482590e-04f, -4.272513917e-04f, -4.272537855e-04f, -4.272554406e-04f, -4.272563569e-04f, -4.272565344e-04f, -4.272559733e-04f, -4.272546737e-04f, -4.272526354e-04f, -4.272498587e-04f,
+-4.272463435e-04f, -4.272420900e-04f, -4.272370981e-04f, -4.272313679e-04f, -4.272248996e-04f, -4.272176931e-04f, -4.272097486e-04f, -4.272010661e-04f, -4.271916456e-04f, -4.271814872e-04f,
+-4.271705911e-04f, -4.271589572e-04f, -4.271465856e-04f, -4.271334765e-04f, -4.271196298e-04f, -4.271050458e-04f, -4.270897243e-04f, -4.270736656e-04f, -4.270568697e-04f, -4.270393366e-04f,
+-4.270210666e-04f, -4.270020595e-04f, -4.269823156e-04f, -4.269618350e-04f, -4.269406176e-04f, -4.269186636e-04f, -4.268959731e-04f, -4.268725462e-04f, -4.268483829e-04f, -4.268234834e-04f,
+-4.267978477e-04f, -4.267714760e-04f, -4.267443683e-04f, -4.267165248e-04f, -4.266879456e-04f, -4.266586306e-04f, -4.266285802e-04f, -4.265977942e-04f, -4.265662730e-04f, -4.265340165e-04f,
+-4.265010248e-04f, -4.264672982e-04f, -4.264328366e-04f, -4.263976402e-04f, -4.263617092e-04f, -4.263250436e-04f, -4.262876435e-04f, -4.262495091e-04f, -4.262106404e-04f, -4.261710377e-04f,
+-4.261307009e-04f, -4.260896303e-04f, -4.260478260e-04f, -4.260052880e-04f, -4.259620165e-04f, -4.259180117e-04f, -4.258732737e-04f, -4.258278025e-04f, -4.257815983e-04f, -4.257346613e-04f,
+-4.256869916e-04f, -4.256385893e-04f, -4.255894546e-04f, -4.255395875e-04f, -4.254889883e-04f, -4.254376570e-04f, -4.253855939e-04f, -4.253327990e-04f, -4.252792725e-04f, -4.252250145e-04f,
+-4.251700252e-04f, -4.251143047e-04f, -4.250578532e-04f, -4.250006709e-04f, -4.249427578e-04f, -4.248841141e-04f, -4.248247400e-04f, -4.247646356e-04f, -4.247038011e-04f, -4.246422367e-04f,
+-4.245799425e-04f, -4.245169186e-04f, -4.244531652e-04f, -4.243886826e-04f, -4.243234707e-04f, -4.242575299e-04f, -4.241908603e-04f, -4.241234620e-04f, -4.240553352e-04f, -4.239864801e-04f,
+-4.239168968e-04f, -4.238465856e-04f, -4.237755465e-04f, -4.237037798e-04f, -4.236312857e-04f, -4.235580642e-04f, -4.234841157e-04f, -4.234094402e-04f, -4.233340380e-04f, -4.232579092e-04f,
+-4.231810541e-04f, -4.231034727e-04f, -4.230251654e-04f, -4.229461322e-04f, -4.228663733e-04f, -4.227858891e-04f, -4.227046795e-04f, -4.226227449e-04f, -4.225400854e-04f, -4.224567013e-04f,
+-4.223725926e-04f, -4.222877597e-04f, -4.222022027e-04f, -4.221159218e-04f, -4.220289171e-04f, -4.219411890e-04f, -4.218527377e-04f, -4.217635632e-04f, -4.216736658e-04f, -4.215830458e-04f,
+-4.214917033e-04f, -4.213996385e-04f, -4.213068517e-04f, -4.212133431e-04f, -4.211191128e-04f, -4.210241611e-04f, -4.209284883e-04f, -4.208320944e-04f, -4.207349798e-04f, -4.206371446e-04f,
+-4.205385891e-04f, -4.204393136e-04f, -4.203393181e-04f, -4.202386030e-04f, -4.201371684e-04f, -4.200350147e-04f, -4.199321419e-04f, -4.198285504e-04f, -4.197242404e-04f, -4.196192121e-04f,
+-4.195134658e-04f, -4.194070016e-04f, -4.192998198e-04f, -4.191919207e-04f, -4.190833044e-04f, -4.189739713e-04f, -4.188639216e-04f, -4.187531554e-04f, -4.186416731e-04f, -4.185294748e-04f,
+-4.184165609e-04f, -4.183029316e-04f, -4.181885871e-04f, -4.180735277e-04f, -4.179577536e-04f, -4.178412650e-04f, -4.177240623e-04f, -4.176061457e-04f, -4.174875154e-04f, -4.173681716e-04f,
+-4.172481148e-04f, -4.171273450e-04f, -4.170058625e-04f, -4.168836677e-04f, -4.167607608e-04f, -4.166371420e-04f, -4.165128116e-04f, -4.163877699e-04f, -4.162620171e-04f, -4.161355535e-04f,
+-4.160083794e-04f, -4.158804951e-04f, -4.157519007e-04f, -4.156225967e-04f, -4.154925832e-04f, -4.153618605e-04f, -4.152304290e-04f, -4.150982888e-04f, -4.149654403e-04f, -4.148318838e-04f,
+-4.146976194e-04f, -4.145626476e-04f, -4.144269686e-04f, -4.142905826e-04f, -4.141534901e-04f, -4.140156911e-04f, -4.138771861e-04f, -4.137379753e-04f, -4.135980591e-04f, -4.134574376e-04f,
+-4.133161112e-04f, -4.131740803e-04f, -4.130313450e-04f, -4.128879057e-04f, -4.127437627e-04f, -4.125989163e-04f, -4.124533667e-04f, -4.123071144e-04f, -4.121601595e-04f, -4.120125024e-04f,
+-4.118641434e-04f, -4.117150828e-04f, -4.115653209e-04f, -4.114148580e-04f, -4.112636945e-04f, -4.111118306e-04f, -4.109592666e-04f, -4.108060029e-04f, -4.106520397e-04f, -4.104973775e-04f,
+-4.103420164e-04f, -4.101859569e-04f, -4.100291992e-04f, -4.098717437e-04f, -4.097135907e-04f, -4.095547405e-04f, -4.093951934e-04f, -4.092349497e-04f, -4.090740099e-04f, -4.089123741e-04f,
+-4.087500428e-04f, -4.085870163e-04f, -4.084232948e-04f, -4.082588788e-04f, -4.080937685e-04f, -4.079279644e-04f, -4.077614667e-04f, -4.075942757e-04f, -4.074263918e-04f, -4.072578154e-04f,
+-4.070885468e-04f, -4.069185863e-04f, -4.067479343e-04f, -4.065765911e-04f, -4.064045570e-04f, -4.062318325e-04f, -4.060584178e-04f, -4.058843133e-04f, -4.057095194e-04f, -4.055340363e-04f,
+-4.053578645e-04f, -4.051810044e-04f, -4.050034561e-04f, -4.048252202e-04f, -4.046462970e-04f, -4.044666868e-04f, -4.042863900e-04f, -4.041054069e-04f, -4.039237379e-04f, -4.037413835e-04f,
+-4.035583438e-04f, -4.033746194e-04f, -4.031902105e-04f, -4.030051175e-04f, -4.028193409e-04f, -4.026328809e-04f, -4.024457380e-04f, -4.022579125e-04f, -4.020694047e-04f, -4.018802152e-04f,
+-4.016903441e-04f, -4.014997920e-04f, -4.013085592e-04f, -4.011166460e-04f, -4.009240529e-04f, -4.007307802e-04f, -4.005368283e-04f, -4.003421976e-04f, -4.001468885e-04f, -3.999509013e-04f,
+-3.997542365e-04f, -3.995568944e-04f, -3.993588755e-04f, -3.991601801e-04f, -3.989608086e-04f, -3.987607614e-04f, -3.985600388e-04f, -3.983586414e-04f, -3.981565695e-04f, -3.979538234e-04f,
+-3.977504036e-04f, -3.975463105e-04f, -3.973415444e-04f, -3.971361059e-04f, -3.969299952e-04f, -3.967232128e-04f, -3.965157591e-04f, -3.963076345e-04f, -3.960988394e-04f, -3.958893742e-04f,
+-3.956792394e-04f, -3.954684352e-04f, -3.952569622e-04f, -3.950448208e-04f, -3.948320113e-04f, -3.946185343e-04f, -3.944043900e-04f, -3.941895789e-04f, -3.939741015e-04f, -3.937579581e-04f,
+-3.935411492e-04f, -3.933236752e-04f, -3.931055366e-04f, -3.928867336e-04f, -3.926672669e-04f, -3.924471367e-04f, -3.922263436e-04f, -3.920048879e-04f, -3.917827701e-04f, -3.915599906e-04f,
+-3.913365499e-04f, -3.911124483e-04f, -3.908876863e-04f, -3.906622644e-04f, -3.904361830e-04f, -3.902094425e-04f, -3.899820433e-04f, -3.897539860e-04f, -3.895252709e-04f, -3.892958984e-04f,
+-3.890658691e-04f, -3.888351834e-04f, -3.886038417e-04f, -3.883718444e-04f, -3.881391920e-04f, -3.879058850e-04f, -3.876719238e-04f, -3.874373089e-04f, -3.872020406e-04f, -3.869661195e-04f,
+-3.867295461e-04f, -3.864923206e-04f, -3.862544438e-04f, -3.860159159e-04f, -3.857767374e-04f, -3.855369088e-04f, -3.852964306e-04f, -3.850553033e-04f, -3.848135272e-04f, -3.845711028e-04f,
+-3.843280307e-04f, -3.840843112e-04f, -3.838399449e-04f, -3.835949322e-04f, -3.833492736e-04f, -3.831029695e-04f, -3.828560205e-04f, -3.826084269e-04f, -3.823601893e-04f, -3.821113082e-04f,
+-3.818617840e-04f, -3.816116172e-04f, -3.813608082e-04f, -3.811093577e-04f, -3.808572659e-04f, -3.806045335e-04f, -3.803511608e-04f, -3.800971485e-04f, -3.798424969e-04f, -3.795872065e-04f,
+-3.793312779e-04f, -3.790747115e-04f, -3.788175078e-04f, -3.785596674e-04f, -3.783011906e-04f, -3.780420780e-04f, -3.777823301e-04f, -3.775219473e-04f, -3.772609302e-04f, -3.769992793e-04f,
+-3.767369950e-04f, -3.764740779e-04f, -3.762105285e-04f, -3.759463472e-04f, -3.756815345e-04f, -3.754160910e-04f, -3.751500172e-04f, -3.748833136e-04f, -3.746159806e-04f, -3.743480188e-04f,
+-3.740794287e-04f, -3.738102108e-04f, -3.735403656e-04f, -3.732698936e-04f, -3.729987953e-04f, -3.727270713e-04f, -3.724547221e-04f, -3.721817481e-04f, -3.719081499e-04f, -3.716339280e-04f,
+-3.713590829e-04f, -3.710836151e-04f, -3.708075253e-04f, -3.705308138e-04f, -3.702534812e-04f, -3.699755280e-04f, -3.696969548e-04f, -3.694177621e-04f, -3.691379503e-04f, -3.688575201e-04f,
+-3.685764720e-04f, -3.682948064e-04f, -3.680125240e-04f, -3.677296252e-04f, -3.674461106e-04f, -3.671619807e-04f, -3.668772361e-04f, -3.665918773e-04f, -3.663059047e-04f, -3.660193191e-04f,
+-3.657321208e-04f, -3.654443105e-04f, -3.651558887e-04f, -3.648668559e-04f, -3.645772126e-04f, -3.642869595e-04f, -3.639960970e-04f, -3.637046258e-04f, -3.634125462e-04f, -3.631198590e-04f,
+-3.628265646e-04f, -3.625326636e-04f, -3.622381566e-04f, -3.619430440e-04f, -3.616473265e-04f, -3.613510046e-04f, -3.610540789e-04f, -3.607565498e-04f, -3.604584181e-04f, -3.601596841e-04f,
+-3.598603486e-04f, -3.595604120e-04f, -3.592598750e-04f, -3.589587379e-04f, -3.586570016e-04f, -3.583546664e-04f, -3.580517330e-04f, -3.577482019e-04f, -3.574440737e-04f, -3.571393490e-04f,
+-3.568340283e-04f, -3.565281123e-04f, -3.562216013e-04f, -3.559144962e-04f, -3.556067973e-04f, -3.552985054e-04f, -3.549896209e-04f, -3.546801445e-04f, -3.543700767e-04f, -3.540594180e-04f,
+-3.537481692e-04f, -3.534363307e-04f, -3.531239032e-04f, -3.528108872e-04f, -3.524972832e-04f, -3.521830920e-04f, -3.518683140e-04f, -3.515529499e-04f, -3.512370002e-04f, -3.509204656e-04f,
+-3.506033466e-04f, -3.502856438e-04f, -3.499673578e-04f, -3.496484892e-04f, -3.493290385e-04f, -3.490090065e-04f, -3.486883936e-04f, -3.483672004e-04f, -3.480454277e-04f, -3.477230759e-04f,
+-3.474001456e-04f, -3.470766375e-04f, -3.467525522e-04f, -3.464278902e-04f, -3.461026522e-04f, -3.457768388e-04f, -3.454504505e-04f, -3.451234880e-04f, -3.447959518e-04f, -3.444678427e-04f,
+-3.441391611e-04f, -3.438099078e-04f, -3.434800832e-04f, -3.431496881e-04f, -3.428187230e-04f, -3.424871886e-04f, -3.421550854e-04f, -3.418224141e-04f, -3.414891752e-04f, -3.411553695e-04f,
+-3.408209975e-04f, -3.404860598e-04f, -3.401505571e-04f, -3.398144900e-04f, -3.394778591e-04f, -3.391406650e-04f, -3.388029083e-04f, -3.384645897e-04f, -3.381257098e-04f, -3.377862692e-04f,
+-3.374462686e-04f, -3.371057085e-04f, -3.367645897e-04f, -3.364229126e-04f, -3.360806781e-04f, -3.357378866e-04f, -3.353945388e-04f, -3.350506354e-04f, -3.347061770e-04f, -3.343611642e-04f,
+-3.340155976e-04f, -3.336694780e-04f, -3.333228059e-04f, -3.329755820e-04f, -3.326278068e-04f, -3.322794812e-04f, -3.319306056e-04f, -3.315811807e-04f, -3.312312073e-04f, -3.308806858e-04f,
+-3.305296170e-04f, -3.301780016e-04f, -3.298258400e-04f, -3.294731331e-04f, -3.291198815e-04f, -3.287660857e-04f, -3.284117466e-04f, -3.280568646e-04f, -3.277014404e-04f, -3.273454748e-04f,
+-3.269889683e-04f, -3.266319217e-04f, -3.262743355e-04f, -3.259162105e-04f, -3.255575472e-04f, -3.251983464e-04f, -3.248386087e-04f, -3.244783348e-04f, -3.241175252e-04f, -3.237561808e-04f,
+-3.233943021e-04f, -3.230318899e-04f, -3.226689447e-04f, -3.223054672e-04f, -3.219414582e-04f, -3.215769182e-04f, -3.212118480e-04f, -3.208462481e-04f, -3.204801194e-04f, -3.201134624e-04f,
+-3.197462778e-04f, -3.193785664e-04f, -3.190103287e-04f, -3.186415654e-04f, -3.182722772e-04f, -3.179024649e-04f, -3.175321290e-04f, -3.171612702e-04f, -3.167898893e-04f, -3.164179869e-04f,
+-3.160455637e-04f, -3.156726203e-04f, -3.152991575e-04f, -3.149251758e-04f, -3.145506762e-04f, -3.141756590e-04f, -3.138001252e-04f, -3.134240754e-04f, -3.130475102e-04f, -3.126704303e-04f,
+-3.122928364e-04f, -3.119147293e-04f, -3.115361096e-04f, -3.111569780e-04f, -3.107773351e-04f, -3.103971818e-04f, -3.100165186e-04f, -3.096353463e-04f, -3.092536656e-04f, -3.088714771e-04f,
+-3.084887815e-04f, -3.081055797e-04f, -3.077218721e-04f, -3.073376597e-04f, -3.069529429e-04f, -3.065677227e-04f, -3.061819996e-04f, -3.057957743e-04f, -3.054090476e-04f, -3.050218202e-04f,
+-3.046340927e-04f, -3.042458659e-04f, -3.038571405e-04f, -3.034679171e-04f, -3.030781966e-04f, -3.026879796e-04f, -3.022972668e-04f, -3.019060589e-04f, -3.015143566e-04f, -3.011221607e-04f,
+-3.007294719e-04f, -3.003362908e-04f, -2.999426183e-04f, -2.995484549e-04f, -2.991538015e-04f, -2.987586587e-04f, -2.983630272e-04f, -2.979669078e-04f, -2.975703013e-04f, -2.971732082e-04f,
+-2.967756294e-04f, -2.963775655e-04f, -2.959790173e-04f, -2.955799855e-04f, -2.951804708e-04f, -2.947804740e-04f, -2.943799958e-04f, -2.939790369e-04f, -2.935775980e-04f, -2.931756798e-04f,
+-2.927732832e-04f, -2.923704088e-04f, -2.919670573e-04f, -2.915632295e-04f, -2.911589261e-04f, -2.907541479e-04f, -2.903488955e-04f, -2.899431697e-04f, -2.895369713e-04f, -2.891303010e-04f,
+-2.887231595e-04f, -2.883155475e-04f, -2.879074659e-04f, -2.874989152e-04f, -2.870898964e-04f, -2.866804100e-04f, -2.862704570e-04f, -2.858600379e-04f, -2.854491535e-04f, -2.850378046e-04f,
+-2.846259920e-04f, -2.842137163e-04f, -2.838009783e-04f, -2.833877788e-04f, -2.829741186e-04f, -2.825599982e-04f, -2.821454186e-04f, -2.817303804e-04f, -2.813148844e-04f, -2.808989314e-04f,
+-2.804825221e-04f, -2.800656573e-04f, -2.796483376e-04f, -2.792305640e-04f, -2.788123370e-04f, -2.783936576e-04f, -2.779745263e-04f, -2.775549441e-04f, -2.771349115e-04f, -2.767144295e-04f,
+-2.762934988e-04f, -2.758721201e-04f, -2.754502941e-04f, -2.750280217e-04f, -2.746053037e-04f, -2.741821406e-04f, -2.737585334e-04f, -2.733344828e-04f, -2.729099896e-04f, -2.724850545e-04f,
+-2.720596783e-04f, -2.716338617e-04f, -2.712076055e-04f, -2.707809106e-04f, -2.703537776e-04f, -2.699262073e-04f, -2.694982006e-04f, -2.690697581e-04f, -2.686408806e-04f, -2.682115690e-04f,
+-2.677818239e-04f, -2.673516462e-04f, -2.669210367e-04f, -2.664899961e-04f, -2.660585251e-04f, -2.656266246e-04f, -2.651942954e-04f, -2.647615382e-04f, -2.643283537e-04f, -2.638947429e-04f,
+-2.634607064e-04f, -2.630262450e-04f, -2.625913596e-04f, -2.621560508e-04f, -2.617203196e-04f, -2.612841666e-04f, -2.608475926e-04f, -2.604105985e-04f, -2.599731850e-04f, -2.595353529e-04f,
+-2.590971030e-04f, -2.586584361e-04f, -2.582193530e-04f, -2.577798544e-04f, -2.573399411e-04f, -2.568996140e-04f, -2.564588739e-04f, -2.560177214e-04f, -2.555761574e-04f, -2.551341828e-04f,
+-2.546917982e-04f, -2.542490045e-04f, -2.538058026e-04f, -2.533621930e-04f, -2.529181768e-04f, -2.524737546e-04f, -2.520289273e-04f, -2.515836957e-04f, -2.511380605e-04f, -2.506920226e-04f,
+-2.502455828e-04f, -2.497987418e-04f, -2.493515005e-04f, -2.489038597e-04f, -2.484558201e-04f, -2.480073826e-04f, -2.475585479e-04f, -2.471093170e-04f, -2.466596905e-04f, -2.462096693e-04f,
+-2.457592542e-04f, -2.453084461e-04f, -2.448572456e-04f, -2.444056536e-04f, -2.439536710e-04f, -2.435012985e-04f, -2.430485369e-04f, -2.425953871e-04f, -2.421418499e-04f, -2.416879260e-04f,
+-2.412336164e-04f, -2.407789217e-04f, -2.403238428e-04f, -2.398683806e-04f, -2.394125358e-04f, -2.389563093e-04f, -2.384997019e-04f, -2.380427143e-04f, -2.375853475e-04f, -2.371276022e-04f,
+-2.366694792e-04f, -2.362109794e-04f, -2.357521036e-04f, -2.352928525e-04f, -2.348332271e-04f, -2.343732282e-04f, -2.339128565e-04f, -2.334521129e-04f, -2.329909982e-04f, -2.325295133e-04f,
+-2.320676589e-04f, -2.316054359e-04f, -2.311428451e-04f, -2.306798873e-04f, -2.302165634e-04f, -2.297528742e-04f, -2.292888205e-04f, -2.288244032e-04f, -2.283596230e-04f, -2.278944808e-04f,
+-2.274289775e-04f, -2.269631138e-04f, -2.264968906e-04f, -2.260303088e-04f, -2.255633691e-04f, -2.250960723e-04f, -2.246284195e-04f, -2.241604112e-04f, -2.236920485e-04f, -2.232233321e-04f,
+-2.227542628e-04f, -2.222848416e-04f, -2.218150692e-04f, -2.213449464e-04f, -2.208744742e-04f, -2.204036533e-04f, -2.199324846e-04f, -2.194609690e-04f, -2.189891071e-04f, -2.185169000e-04f,
+-2.180443485e-04f, -2.175714533e-04f, -2.170982154e-04f, -2.166246355e-04f, -2.161507146e-04f, -2.156764534e-04f, -2.152018528e-04f, -2.147269137e-04f, -2.142516369e-04f, -2.137760232e-04f,
+-2.133000734e-04f, -2.128237886e-04f, -2.123471694e-04f, -2.118702167e-04f, -2.113929314e-04f, -2.109153143e-04f, -2.104373663e-04f, -2.099590882e-04f, -2.094804809e-04f, -2.090015453e-04f,
+-2.085222821e-04f, -2.080426922e-04f, -2.075627765e-04f, -2.070825358e-04f, -2.066019710e-04f, -2.061210830e-04f, -2.056398726e-04f, -2.051583406e-04f, -2.046764879e-04f, -2.041943154e-04f,
+-2.037118239e-04f, -2.032290142e-04f, -2.027458873e-04f, -2.022624440e-04f, -2.017786852e-04f, -2.012946116e-04f, -2.008102242e-04f, -2.003255238e-04f, -1.998405114e-04f, -1.993551876e-04f,
+-1.988695535e-04f, -1.983836098e-04f, -1.978973575e-04f, -1.974107974e-04f, -1.969239303e-04f, -1.964367571e-04f, -1.959492788e-04f, -1.954614961e-04f, -1.949734098e-04f, -1.944850210e-04f,
+-1.939963304e-04f, -1.935073390e-04f, -1.930180475e-04f, -1.925284568e-04f, -1.920385679e-04f, -1.915483816e-04f, -1.910578987e-04f, -1.905671201e-04f, -1.900760467e-04f, -1.895846794e-04f,
+-1.890930190e-04f, -1.886010664e-04f, -1.881088224e-04f, -1.876162880e-04f, -1.871234641e-04f, -1.866303514e-04f, -1.861369509e-04f, -1.856432634e-04f, -1.851492898e-04f, -1.846550310e-04f,
+-1.841604879e-04f, -1.836656613e-04f, -1.831705521e-04f, -1.826751612e-04f, -1.821794894e-04f, -1.816835377e-04f, -1.811873069e-04f, -1.806907979e-04f, -1.801940116e-04f, -1.796969488e-04f,
+-1.791996105e-04f, -1.787019975e-04f, -1.782041106e-04f, -1.777059508e-04f, -1.772075190e-04f, -1.767088160e-04f, -1.762098427e-04f, -1.757106000e-04f, -1.752110888e-04f, -1.747113100e-04f,
+-1.742112644e-04f, -1.737109529e-04f, -1.732103764e-04f, -1.727095358e-04f, -1.722084320e-04f, -1.717070659e-04f, -1.712054383e-04f, -1.707035502e-04f, -1.702014023e-04f, -1.696989957e-04f,
+-1.691963312e-04f, -1.686934096e-04f, -1.681902320e-04f, -1.676867991e-04f, -1.671831118e-04f, -1.666791711e-04f, -1.661749778e-04f, -1.656705328e-04f, -1.651658370e-04f, -1.646608913e-04f,
+-1.641556966e-04f, -1.636502538e-04f, -1.631445638e-04f, -1.626386274e-04f, -1.621324456e-04f, -1.616260192e-04f, -1.611193491e-04f, -1.606124363e-04f, -1.601052816e-04f, -1.595978860e-04f,
+-1.590902502e-04f, -1.585823753e-04f, -1.580742620e-04f, -1.575659114e-04f, -1.570573242e-04f, -1.565485015e-04f, -1.560394440e-04f, -1.555301528e-04f, -1.550206286e-04f, -1.545108724e-04f,
+-1.540008850e-04f, -1.534906675e-04f, -1.529802206e-04f, -1.524695453e-04f, -1.519586425e-04f, -1.514475130e-04f, -1.509361578e-04f, -1.504245778e-04f, -1.499127739e-04f, -1.494007469e-04f,
+-1.488884978e-04f, -1.483760275e-04f, -1.478633368e-04f, -1.473504268e-04f, -1.468372982e-04f, -1.463239520e-04f, -1.458103891e-04f, -1.452966104e-04f, -1.447826168e-04f, -1.442684092e-04f,
+-1.437539885e-04f, -1.432393556e-04f, -1.427245114e-04f, -1.422094568e-04f, -1.416941928e-04f, -1.411787202e-04f, -1.406630399e-04f, -1.401471529e-04f, -1.396310600e-04f, -1.391147622e-04f,
+-1.385982603e-04f, -1.380815553e-04f, -1.375646481e-04f, -1.370475396e-04f, -1.365302306e-04f, -1.360127222e-04f, -1.354950152e-04f, -1.349771105e-04f, -1.344590091e-04f, -1.339407117e-04f,
+-1.334222195e-04f, -1.329035332e-04f, -1.323846537e-04f, -1.318655821e-04f, -1.313463191e-04f, -1.308268658e-04f, -1.303072230e-04f, -1.297873916e-04f, -1.292673725e-04f, -1.287471667e-04f,
+-1.282267751e-04f, -1.277061985e-04f, -1.271854380e-04f, -1.266644943e-04f, -1.261433685e-04f, -1.256220614e-04f, -1.251005740e-04f, -1.245789071e-04f, -1.240570617e-04f, -1.235350387e-04f,
+-1.230128390e-04f, -1.224904635e-04f, -1.219679132e-04f, -1.214451889e-04f, -1.209222916e-04f, -1.203992222e-04f, -1.198759816e-04f, -1.193525707e-04f, -1.188289904e-04f, -1.183052417e-04f,
+-1.177813255e-04f, -1.172572427e-04f, -1.167329942e-04f, -1.162085809e-04f, -1.156840037e-04f, -1.151592637e-04f, -1.146343616e-04f, -1.141092984e-04f, -1.135840750e-04f, -1.130586924e-04f,
+-1.125331514e-04f, -1.120074530e-04f, -1.114815982e-04f, -1.109555877e-04f, -1.104294226e-04f, -1.099031038e-04f, -1.093766321e-04f, -1.088500085e-04f, -1.083232340e-04f, -1.077963094e-04f,
+-1.072692357e-04f, -1.067420138e-04f, -1.062146446e-04f, -1.056871290e-04f, -1.051594680e-04f, -1.046316625e-04f, -1.041037134e-04f, -1.035756216e-04f, -1.030473881e-04f, -1.025190137e-04f,
+-1.019904995e-04f, -1.014618462e-04f, -1.009330550e-04f, -1.004041265e-04f, -9.987506191e-05f, -9.934586201e-05f, -9.881652775e-05f, -9.828706006e-05f, -9.775745987e-05f, -9.722772809e-05f,
+-9.669786566e-05f, -9.616787350e-05f, -9.563775253e-05f, -9.510750369e-05f, -9.457712790e-05f, -9.404662608e-05f, -9.351599915e-05f, -9.298524806e-05f, -9.245437372e-05f, -9.192337706e-05f,
+-9.139225900e-05f, -9.086102048e-05f, -9.032966242e-05f, -8.979818574e-05f, -8.926659139e-05f, -8.873488027e-05f, -8.820305333e-05f, -8.767111148e-05f, -8.713905566e-05f, -8.660688680e-05f,
+-8.607460582e-05f, -8.554221365e-05f, -8.500971122e-05f, -8.447709946e-05f, -8.394437929e-05f, -8.341155165e-05f, -8.287861747e-05f, -8.234557767e-05f, -8.181243318e-05f, -8.127918494e-05f,
+-8.074583386e-05f, -8.021238089e-05f, -7.967882695e-05f, -7.914517297e-05f, -7.861141988e-05f, -7.807756862e-05f, -7.754362010e-05f, -7.700957526e-05f, -7.647543504e-05f, -7.594120036e-05f,
+-7.540687215e-05f, -7.487245134e-05f, -7.433793887e-05f, -7.380333566e-05f, -7.326864264e-05f, -7.273386076e-05f, -7.219899093e-05f, -7.166403408e-05f, -7.112899116e-05f, -7.059386309e-05f,
+-7.005865080e-05f, -6.952335522e-05f, -6.898797729e-05f, -6.845251793e-05f, -6.791697809e-05f, -6.738135868e-05f, -6.684566065e-05f, -6.630988492e-05f, -6.577403242e-05f, -6.523810410e-05f,
+-6.470210087e-05f, -6.416602368e-05f, -6.362987345e-05f, -6.309365112e-05f, -6.255735761e-05f, -6.202099387e-05f, -6.148456082e-05f, -6.094805940e-05f, -6.041149054e-05f, -5.987485517e-05f,
+-5.933815422e-05f, -5.880138863e-05f, -5.826455933e-05f, -5.772766726e-05f, -5.719071333e-05f, -5.665369850e-05f, -5.611662369e-05f, -5.557948983e-05f, -5.504229786e-05f, -5.450504871e-05f,
+-5.396774331e-05f, -5.343038260e-05f, -5.289296751e-05f, -5.235549898e-05f, -5.181797792e-05f, -5.128040529e-05f, -5.074278201e-05f, -5.020510901e-05f, -4.966738724e-05f, -4.912961761e-05f,
+-4.859180108e-05f, -4.805393856e-05f, -4.751603099e-05f, -4.697807931e-05f, -4.644008444e-05f, -4.590204733e-05f, -4.536396891e-05f, -4.482585010e-05f, -4.428769185e-05f, -4.374949508e-05f,
+-4.321126073e-05f, -4.267298973e-05f, -4.213468302e-05f, -4.159634153e-05f, -4.105796619e-05f, -4.051955794e-05f, -3.998111771e-05f, -3.944264643e-05f, -3.890414503e-05f, -3.836561446e-05f,
+-3.782705564e-05f, -3.728846950e-05f, -3.674985698e-05f, -3.621121902e-05f, -3.567255654e-05f, -3.513387048e-05f, -3.459516178e-05f, -3.405643135e-05f, -3.351768015e-05f, -3.297890910e-05f,
+-3.244011913e-05f, -3.190131118e-05f, -3.136248618e-05f, -3.082364507e-05f, -3.028478877e-05f, -2.974591822e-05f, -2.920703435e-05f, -2.866813810e-05f, -2.812923039e-05f, -2.759031217e-05f,
+-2.705138436e-05f, -2.651244789e-05f, -2.597350370e-05f, -2.543455273e-05f, -2.489559589e-05f, -2.435663414e-05f, -2.381766839e-05f, -2.327869958e-05f, -2.273972864e-05f, -2.220075651e-05f,
+-2.166178411e-05f, -2.112281239e-05f, -2.058384226e-05f, -2.004487467e-05f, -1.950591054e-05f, -1.896695080e-05f, -1.842799640e-05f, -1.788904825e-05f, -1.735010730e-05f, -1.681117447e-05f,
+-1.627225069e-05f, -1.573333689e-05f, -1.519443402e-05f, -1.465554299e-05f, -1.411666474e-05f, -1.357780019e-05f, -1.303895029e-05f, -1.250011596e-05f, -1.196129813e-05f, -1.142249773e-05f,
+-1.088371570e-05f, -1.034495296e-05f, -9.806210440e-06f, -9.267489075e-06f, -8.728789794e-06f, -8.190113526e-06f, -7.651461202e-06f, -7.112833751e-06f, -6.574232103e-06f, -6.035657188e-06f,
+-5.497109934e-06f, -4.958591271e-06f, -4.420102129e-06f, -3.881643436e-06f, -3.343216121e-06f, -2.804821114e-06f, -2.266459342e-06f, -1.728131735e-06f, -1.189839222e-06f, -6.515827292e-07f,
+-1.133631863e-07f, 4.248184788e-07f, 9.629613383e-07f, 1.501064464e-06f, 2.039126929e-06f, 2.577147805e-06f, 3.115126165e-06f, 3.653061082e-06f, 4.190951628e-06f, 4.728796876e-06f,
+5.266595900e-06f, 5.804347772e-06f, 6.342051567e-06f, 6.879706358e-06f, 7.417311219e-06f, 7.954865223e-06f, 8.492367444e-06f, 9.029816958e-06f, 9.567212837e-06f, 1.010455416e-05f,
+1.064183999e-05f, 1.117906942e-05f, 1.171624151e-05f, 1.225335534e-05f, 1.279040999e-05f, 1.332740452e-05f, 1.386433803e-05f, 1.440120957e-05f, 1.493801824e-05f, 1.547476310e-05f,
+1.601144323e-05f, 1.654805771e-05f, 1.708460561e-05f, 1.762108602e-05f, 1.815749800e-05f, 1.869384064e-05f, 1.923011301e-05f, 1.976631419e-05f, 2.030244326e-05f, 2.083849930e-05f,
+2.137448138e-05f, 2.191038859e-05f, 2.244621999e-05f, 2.298197468e-05f, 2.351765173e-05f, 2.405325021e-05f, 2.458876922e-05f, 2.512420782e-05f, 2.565956510e-05f, 2.619484013e-05f,
+2.673003201e-05f, 2.726513980e-05f, 2.780016259e-05f, 2.833509946e-05f, 2.886994949e-05f, 2.940471176e-05f, 2.993938536e-05f, 3.047396936e-05f, 3.100846284e-05f, 3.154286490e-05f,
+3.207717461e-05f, 3.261139105e-05f, 3.314551331e-05f, 3.367954047e-05f, 3.421347161e-05f, 3.474730582e-05f, 3.528104217e-05f, 3.581467977e-05f, 3.634821768e-05f, 3.688165499e-05f,
+3.741499079e-05f, 3.794822417e-05f, 3.848135420e-05f, 3.901437998e-05f, 3.954730058e-05f, 4.008011510e-05f, 4.061282262e-05f, 4.114542222e-05f, 4.167791301e-05f, 4.221029405e-05f,
+4.274256444e-05f, 4.327472326e-05f, 4.380676961e-05f, 4.433870257e-05f, 4.487052123e-05f, 4.540222467e-05f, 4.593381199e-05f, 4.646528228e-05f, 4.699663462e-05f, 4.752786811e-05f,
+4.805898183e-05f, 4.858997487e-05f, 4.912084633e-05f, 4.965159529e-05f, 5.018222085e-05f, 5.071272209e-05f, 5.124309811e-05f, 5.177334801e-05f, 5.230347086e-05f, 5.283346577e-05f,
+5.336333183e-05f, 5.389306812e-05f, 5.442267375e-05f, 5.495214781e-05f, 5.548148938e-05f, 5.601069757e-05f, 5.653977147e-05f, 5.706871017e-05f, 5.759751277e-05f, 5.812617836e-05f,
+5.865470604e-05f, 5.918309490e-05f, 5.971134405e-05f, 6.023945257e-05f, 6.076741957e-05f, 6.129524413e-05f, 6.182292537e-05f, 6.235046237e-05f, 6.287785423e-05f, 6.340510006e-05f,
+6.393219894e-05f, 6.445914999e-05f, 6.498595229e-05f, 6.551260495e-05f, 6.603910708e-05f, 6.656545776e-05f, 6.709165609e-05f, 6.761770119e-05f, 6.814359215e-05f, 6.866932807e-05f,
+6.919490806e-05f, 6.972033121e-05f, 7.024559663e-05f, 7.077070343e-05f, 7.129565070e-05f, 7.182043754e-05f, 7.234506307e-05f, 7.286952639e-05f, 7.339382660e-05f, 7.391796280e-05f,
+7.444193411e-05f, 7.496573962e-05f, 7.548937845e-05f, 7.601284969e-05f, 7.653615246e-05f, 7.705928587e-05f, 7.758224901e-05f, 7.810504101e-05f, 7.862766096e-05f, 7.915010797e-05f,
+7.967238116e-05f, 8.019447963e-05f, 8.071640249e-05f, 8.123814885e-05f, 8.175971783e-05f, 8.228110853e-05f, 8.280232006e-05f, 8.332335154e-05f, 8.384420208e-05f, 8.436487078e-05f,
+8.488535677e-05f, 8.540565915e-05f, 8.592577704e-05f, 8.644570956e-05f, 8.696545580e-05f, 8.748501490e-05f, 8.800438596e-05f, 8.852356810e-05f, 8.904256044e-05f, 8.956136209e-05f,
+9.007997217e-05f, 9.059838979e-05f, 9.111661408e-05f, 9.163464414e-05f, 9.215247910e-05f, 9.267011808e-05f, 9.318756019e-05f, 9.370480456e-05f, 9.422185030e-05f, 9.473869653e-05f,
+9.525534237e-05f, 9.577178695e-05f, 9.628802939e-05f, 9.680406880e-05f, 9.731990432e-05f, 9.783553505e-05f, 9.835096013e-05f, 9.886617868e-05f, 9.938118981e-05f, 9.989599267e-05f,
+1.004105864e-04f, 1.009249700e-04f, 1.014391428e-04f, 1.019531037e-04f, 1.024668520e-04f, 1.029803868e-04f, 1.034937072e-04f, 1.040068123e-04f, 1.045197012e-04f, 1.050323732e-04f,
+1.055448272e-04f, 1.060570625e-04f, 1.065690781e-04f, 1.070808733e-04f, 1.075924470e-04f, 1.081037986e-04f, 1.086149270e-04f, 1.091258315e-04f, 1.096365111e-04f, 1.101469649e-04f,
+1.106571923e-04f, 1.111671921e-04f, 1.116769637e-04f, 1.121865061e-04f, 1.126958184e-04f, 1.132048998e-04f, 1.137137495e-04f, 1.142223665e-04f, 1.147307501e-04f, 1.152388993e-04f,
+1.157468132e-04f, 1.162544911e-04f, 1.167619320e-04f, 1.172691352e-04f, 1.177760996e-04f, 1.182828246e-04f, 1.187893092e-04f, 1.192955525e-04f, 1.198015537e-04f, 1.203073120e-04f,
+1.208128264e-04f, 1.213180962e-04f, 1.218231204e-04f, 1.223278983e-04f, 1.228324289e-04f, 1.233367114e-04f, 1.238407450e-04f, 1.243445288e-04f, 1.248480619e-04f, 1.253513435e-04f,
+1.258543728e-04f, 1.263571488e-04f, 1.268596708e-04f, 1.273619378e-04f, 1.278639491e-04f, 1.283657037e-04f, 1.288672009e-04f, 1.293684398e-04f, 1.298694195e-04f, 1.303701392e-04f,
+1.308705981e-04f, 1.313707952e-04f, 1.318707298e-04f, 1.323704010e-04f, 1.328698080e-04f, 1.333689498e-04f, 1.338678257e-04f, 1.343664349e-04f, 1.348647764e-04f, 1.353628495e-04f,
+1.358606532e-04f, 1.363581868e-04f, 1.368554495e-04f, 1.373524402e-04f, 1.378491584e-04f, 1.383456030e-04f, 1.388417732e-04f, 1.393376683e-04f, 1.398332874e-04f, 1.403286296e-04f,
+1.408236941e-04f, 1.413184800e-04f, 1.418129866e-04f, 1.423072130e-04f, 1.428011583e-04f, 1.432948218e-04f, 1.437882025e-04f, 1.442812997e-04f, 1.447741126e-04f, 1.452666402e-04f,
+1.457588818e-04f, 1.462508365e-04f, 1.467425035e-04f, 1.472338820e-04f, 1.477249711e-04f, 1.482157701e-04f, 1.487062780e-04f, 1.491964941e-04f, 1.496864175e-04f, 1.501760474e-04f,
+1.506653830e-04f, 1.511544234e-04f, 1.516431679e-04f, 1.521316156e-04f, 1.526197656e-04f, 1.531076172e-04f, 1.535951696e-04f, 1.540824218e-04f, 1.545693732e-04f, 1.550560228e-04f,
+1.555423698e-04f, 1.560284135e-04f, 1.565141530e-04f, 1.569995875e-04f, 1.574847162e-04f, 1.579695382e-04f, 1.584540528e-04f, 1.589382591e-04f, 1.594221563e-04f, 1.599057436e-04f,
+1.603890202e-04f, 1.608719852e-04f, 1.613546379e-04f, 1.618369774e-04f, 1.623190030e-04f, 1.628007138e-04f, 1.632821090e-04f, 1.637631878e-04f, 1.642439493e-04f, 1.647243929e-04f,
+1.652045176e-04f, 1.656843227e-04f, 1.661638074e-04f, 1.666429708e-04f, 1.671218121e-04f, 1.676003306e-04f, 1.680785254e-04f, 1.685563957e-04f, 1.690339408e-04f, 1.695111598e-04f,
+1.699880519e-04f, 1.704646163e-04f, 1.709408523e-04f, 1.714167589e-04f, 1.718923355e-04f, 1.723675812e-04f, 1.728424952e-04f, 1.733170768e-04f, 1.737913251e-04f, 1.742652393e-04f,
+1.747388186e-04f, 1.752120623e-04f, 1.756849695e-04f, 1.761575395e-04f, 1.766297715e-04f, 1.771016646e-04f, 1.775732180e-04f, 1.780444311e-04f, 1.785153029e-04f, 1.789858328e-04f,
+1.794560198e-04f, 1.799258633e-04f, 1.803953625e-04f, 1.808645164e-04f, 1.813333244e-04f, 1.818017857e-04f, 1.822698995e-04f, 1.827376650e-04f, 1.832050814e-04f, 1.836721480e-04f,
+1.841388639e-04f, 1.846052284e-04f, 1.850712406e-04f, 1.855368999e-04f, 1.860022054e-04f, 1.864671563e-04f, 1.869317519e-04f, 1.873959915e-04f, 1.878598741e-04f, 1.883233990e-04f,
+1.887865656e-04f, 1.892493729e-04f, 1.897118202e-04f, 1.901739067e-04f, 1.906356317e-04f, 1.910969945e-04f, 1.915579941e-04f, 1.920186299e-04f, 1.924789010e-04f, 1.929388068e-04f,
+1.933983463e-04f, 1.938575190e-04f, 1.943163240e-04f, 1.947747605e-04f, 1.952328277e-04f, 1.956905250e-04f, 1.961478515e-04f, 1.966048064e-04f, 1.970613891e-04f, 1.975175987e-04f,
+1.979734345e-04f, 1.984288957e-04f, 1.988839816e-04f, 1.993386913e-04f, 1.997930242e-04f, 2.002469795e-04f, 2.007005564e-04f, 2.011537542e-04f, 2.016065720e-04f, 2.020590093e-04f,
+2.025110651e-04f, 2.029627387e-04f, 2.034140295e-04f, 2.038649366e-04f, 2.043154592e-04f, 2.047655967e-04f, 2.052153483e-04f, 2.056647132e-04f, 2.061136906e-04f, 2.065622799e-04f,
+2.070104803e-04f, 2.074582910e-04f, 2.079057113e-04f, 2.083527404e-04f, 2.087993777e-04f, 2.092456223e-04f, 2.096914735e-04f, 2.101369305e-04f, 2.105819927e-04f, 2.110266592e-04f,
+2.114709294e-04f, 2.119148025e-04f, 2.123582778e-04f, 2.128013544e-04f, 2.132440318e-04f, 2.136863091e-04f, 2.141281856e-04f, 2.145696606e-04f, 2.150107333e-04f, 2.154514030e-04f,
+2.158916690e-04f, 2.163315305e-04f, 2.167709869e-04f, 2.172100373e-04f, 2.176486810e-04f, 2.180869174e-04f, 2.185247456e-04f, 2.189621651e-04f, 2.193991749e-04f, 2.198357744e-04f,
+2.202719630e-04f, 2.207077397e-04f, 2.211431040e-04f, 2.215780551e-04f, 2.220125923e-04f, 2.224467149e-04f, 2.228804221e-04f, 2.233137132e-04f, 2.237465875e-04f, 2.241790443e-04f,
+2.246110828e-04f, 2.250427024e-04f, 2.254739023e-04f, 2.259046818e-04f, 2.263350402e-04f, 2.267649768e-04f, 2.271944909e-04f, 2.276235817e-04f, 2.280522486e-04f, 2.284804908e-04f,
+2.289083076e-04f, 2.293356983e-04f, 2.297626623e-04f, 2.301891987e-04f, 2.306153069e-04f, 2.310409862e-04f, 2.314662359e-04f, 2.318910552e-04f, 2.323154435e-04f, 2.327394001e-04f,
+2.331629242e-04f, 2.335860152e-04f, 2.340086724e-04f, 2.344308950e-04f, 2.348526824e-04f, 2.352740338e-04f, 2.356949486e-04f, 2.361154260e-04f, 2.365354654e-04f, 2.369550661e-04f,
+2.373742274e-04f, 2.377929486e-04f, 2.382112289e-04f, 2.386290678e-04f, 2.390464645e-04f, 2.394634182e-04f, 2.398799285e-04f, 2.402959944e-04f, 2.407116154e-04f, 2.411267908e-04f,
+2.415415199e-04f, 2.419558019e-04f, 2.423696363e-04f, 2.427830223e-04f, 2.431959592e-04f, 2.436084464e-04f, 2.440204831e-04f, 2.444320688e-04f, 2.448432027e-04f, 2.452538841e-04f,
+2.456641124e-04f, 2.460738869e-04f, 2.464832068e-04f, 2.468920716e-04f, 2.473004806e-04f, 2.477084331e-04f, 2.481159283e-04f, 2.485229657e-04f, 2.489295446e-04f, 2.493356642e-04f,
+2.497413240e-04f, 2.501465233e-04f, 2.505512613e-04f, 2.509555375e-04f, 2.513593511e-04f, 2.517627015e-04f, 2.521655880e-04f, 2.525680100e-04f, 2.529699668e-04f, 2.533714578e-04f,
+2.537724822e-04f, 2.541730394e-04f, 2.545731288e-04f, 2.549727497e-04f, 2.553719014e-04f, 2.557705833e-04f, 2.561687947e-04f, 2.565665350e-04f, 2.569638035e-04f, 2.573605996e-04f,
+2.577569226e-04f, 2.581527719e-04f, 2.585481467e-04f, 2.589430466e-04f, 2.593374707e-04f, 2.597314185e-04f, 2.601248893e-04f, 2.605178825e-04f, 2.609103973e-04f, 2.613024333e-04f,
+2.616939897e-04f, 2.620850659e-04f, 2.624756612e-04f, 2.628657751e-04f, 2.632554068e-04f, 2.636445557e-04f, 2.640332213e-04f, 2.644214027e-04f, 2.648090995e-04f, 2.651963110e-04f,
+2.655830365e-04f, 2.659692754e-04f, 2.663550271e-04f, 2.667402909e-04f, 2.671250662e-04f, 2.675093524e-04f, 2.678931489e-04f, 2.682764550e-04f, 2.686592701e-04f, 2.690415935e-04f,
+2.694234247e-04f, 2.698047630e-04f, 2.701856078e-04f, 2.705659584e-04f, 2.709458143e-04f, 2.713251748e-04f, 2.717040393e-04f, 2.720824072e-04f, 2.724602779e-04f, 2.728376506e-04f,
+2.732145250e-04f, 2.735909002e-04f, 2.739667757e-04f, 2.743421509e-04f, 2.747170252e-04f, 2.750913979e-04f, 2.754652685e-04f, 2.758386363e-04f, 2.762115007e-04f, 2.765838611e-04f,
+2.769557169e-04f, 2.773270676e-04f, 2.776979124e-04f, 2.780682508e-04f, 2.784380822e-04f, 2.788074059e-04f, 2.791762214e-04f, 2.795445281e-04f, 2.799123254e-04f, 2.802796127e-04f,
+2.806463893e-04f, 2.810126547e-04f, 2.813784082e-04f, 2.817436494e-04f, 2.821083775e-04f, 2.824725921e-04f, 2.828362924e-04f, 2.831994779e-04f, 2.835621481e-04f, 2.839243022e-04f,
+2.842859398e-04f, 2.846470603e-04f, 2.850076630e-04f, 2.853677474e-04f, 2.857273128e-04f, 2.860863588e-04f, 2.864448847e-04f, 2.868028899e-04f, 2.871603739e-04f, 2.875173360e-04f,
+2.878737757e-04f, 2.882296925e-04f, 2.885850856e-04f, 2.889399546e-04f, 2.892942989e-04f, 2.896481179e-04f, 2.900014111e-04f, 2.903541778e-04f, 2.907064174e-04f, 2.910581295e-04f,
+2.914093134e-04f, 2.917599686e-04f, 2.921100945e-04f, 2.924596905e-04f, 2.928087561e-04f, 2.931572907e-04f, 2.935052937e-04f, 2.938527646e-04f, 2.941997028e-04f, 2.945461077e-04f,
+2.948919788e-04f, 2.952373156e-04f, 2.955821174e-04f, 2.959263837e-04f, 2.962701140e-04f, 2.966133077e-04f, 2.969559642e-04f, 2.972980830e-04f, 2.976396635e-04f, 2.979807052e-04f,
+2.983212075e-04f, 2.986611699e-04f, 2.990005918e-04f, 2.993394727e-04f, 2.996778120e-04f, 3.000156092e-04f, 3.003528638e-04f, 3.006895751e-04f, 3.010257427e-04f, 3.013613660e-04f,
+3.016964445e-04f, 3.020309776e-04f, 3.023649647e-04f, 3.026984055e-04f, 3.030312992e-04f, 3.033636454e-04f, 3.036954435e-04f, 3.040266930e-04f, 3.043573934e-04f, 3.046875441e-04f,
+3.050171447e-04f, 3.053461945e-04f, 3.056746930e-04f, 3.060026398e-04f, 3.063300342e-04f, 3.066568758e-04f, 3.069831640e-04f, 3.073088983e-04f, 3.076340782e-04f, 3.079587032e-04f,
+3.082827727e-04f, 3.086062862e-04f, 3.089292433e-04f, 3.092516432e-04f, 3.095734857e-04f, 3.098947701e-04f, 3.102154959e-04f, 3.105356627e-04f, 3.108552698e-04f, 3.111743168e-04f,
+3.114928032e-04f, 3.118107284e-04f, 3.121280920e-04f, 3.124448935e-04f, 3.127611323e-04f, 3.130768079e-04f, 3.133919198e-04f, 3.137064675e-04f, 3.140204506e-04f, 3.143338685e-04f,
+3.146467207e-04f, 3.149590066e-04f, 3.152707259e-04f, 3.155818780e-04f, 3.158924624e-04f, 3.162024787e-04f, 3.165119262e-04f, 3.168208046e-04f, 3.171291133e-04f, 3.174368518e-04f,
+3.177440197e-04f, 3.180506165e-04f, 3.183566416e-04f, 3.186620946e-04f, 3.189669749e-04f, 3.192712822e-04f, 3.195750159e-04f, 3.198781755e-04f, 3.201807606e-04f, 3.204827707e-04f,
+3.207842052e-04f, 3.210850637e-04f, 3.213853458e-04f, 3.216850509e-04f, 3.219841786e-04f, 3.222827284e-04f, 3.225806997e-04f, 3.228780923e-04f, 3.231749055e-04f, 3.234711389e-04f,
+3.237667920e-04f, 3.240618644e-04f, 3.243563556e-04f, 3.246502651e-04f, 3.249435925e-04f, 3.252363372e-04f, 3.255284989e-04f, 3.258200770e-04f, 3.261110712e-04f, 3.264014808e-04f,
+3.266913056e-04f, 3.269805449e-04f, 3.272691984e-04f, 3.275572657e-04f, 3.278447461e-04f, 3.281316393e-04f, 3.284179449e-04f, 3.287036624e-04f, 3.289887913e-04f, 3.292733311e-04f,
+3.295572815e-04f, 3.298406419e-04f, 3.301234120e-04f, 3.304055913e-04f, 3.306871793e-04f, 3.309681756e-04f, 3.312485797e-04f, 3.315283913e-04f, 3.318076098e-04f, 3.320862348e-04f,
+3.323642659e-04f, 3.326417026e-04f, 3.329185446e-04f, 3.331947913e-04f, 3.334704424e-04f, 3.337454973e-04f, 3.340199558e-04f, 3.342938172e-04f, 3.345670813e-04f, 3.348397475e-04f,
+3.351118155e-04f, 3.353832848e-04f, 3.356541549e-04f, 3.359244256e-04f, 3.361940962e-04f, 3.364631665e-04f, 3.367316360e-04f, 3.369995043e-04f, 3.372667709e-04f, 3.375334354e-04f,
+3.377994974e-04f, 3.380649566e-04f, 3.383298124e-04f, 3.385940645e-04f, 3.388577124e-04f, 3.391207558e-04f, 3.393831942e-04f, 3.396450272e-04f, 3.399062544e-04f, 3.401668754e-04f,
+3.404268897e-04f, 3.406862971e-04f, 3.409450970e-04f, 3.412032892e-04f, 3.414608730e-04f, 3.417178483e-04f, 3.419742145e-04f, 3.422299713e-04f, 3.424851182e-04f, 3.427396549e-04f,
+3.429935810e-04f, 3.432468960e-04f, 3.434995996e-04f, 3.437516915e-04f, 3.440031711e-04f, 3.442540381e-04f, 3.445042921e-04f, 3.447539328e-04f, 3.450029596e-04f, 3.452513724e-04f,
+3.454991706e-04f, 3.457463538e-04f, 3.459929218e-04f, 3.462388741e-04f, 3.464842103e-04f, 3.467289300e-04f, 3.469730329e-04f, 3.472165187e-04f, 3.474593868e-04f, 3.477016369e-04f,
+3.479432688e-04f, 3.481842819e-04f, 3.484246759e-04f, 3.486644505e-04f, 3.489036053e-04f, 3.491421398e-04f, 3.493800538e-04f, 3.496173469e-04f, 3.498540186e-04f, 3.500900687e-04f,
+3.503254968e-04f, 3.505603025e-04f, 3.507944854e-04f, 3.510280452e-04f, 3.512609816e-04f, 3.514932941e-04f, 3.517249824e-04f, 3.519560462e-04f, 3.521864851e-04f, 3.524162987e-04f,
+3.526454868e-04f, 3.528740488e-04f, 3.531019846e-04f, 3.533292937e-04f, 3.535559758e-04f, 3.537820305e-04f, 3.540074576e-04f, 3.542322566e-04f, 3.544564272e-04f, 3.546799690e-04f,
+3.549028818e-04f, 3.551251652e-04f, 3.553468188e-04f, 3.555678424e-04f, 3.557882355e-04f, 3.560079978e-04f, 3.562271290e-04f, 3.564456288e-04f, 3.566634969e-04f, 3.568807328e-04f,
+3.570973363e-04f, 3.573133070e-04f, 3.575286446e-04f, 3.577433489e-04f, 3.579574193e-04f, 3.581708557e-04f, 3.583836577e-04f, 3.585958250e-04f, 3.588073573e-04f, 3.590182542e-04f,
+3.592285154e-04f, 3.594381406e-04f, 3.596471296e-04f, 3.598554818e-04f, 3.600631972e-04f, 3.602702753e-04f, 3.604767158e-04f, 3.606825184e-04f, 3.608876828e-04f, 3.610922087e-04f,
+3.612960959e-04f, 3.614993438e-04f, 3.617019524e-04f, 3.619039213e-04f, 3.621052501e-04f, 3.623059385e-04f, 3.625059864e-04f, 3.627053933e-04f, 3.629041589e-04f, 3.631022830e-04f,
+3.632997653e-04f, 3.634966055e-04f, 3.636928032e-04f, 3.638883583e-04f, 3.640832703e-04f, 3.642775390e-04f, 3.644711641e-04f, 3.646641453e-04f, 3.648564824e-04f, 3.650481750e-04f,
+3.652392229e-04f, 3.654296258e-04f, 3.656193833e-04f, 3.658084953e-04f, 3.659969614e-04f, 3.661847813e-04f, 3.663719548e-04f, 3.665584816e-04f, 3.667443614e-04f, 3.669295939e-04f,
+3.671141790e-04f, 3.672981162e-04f, 3.674814053e-04f, 3.676640461e-04f, 3.678460382e-04f, 3.680273815e-04f, 3.682080756e-04f, 3.683881203e-04f, 3.685675153e-04f, 3.687462604e-04f,
+3.689243552e-04f, 3.691017996e-04f, 3.692785932e-04f, 3.694547358e-04f, 3.696302272e-04f, 3.698050670e-04f, 3.699792551e-04f, 3.701527912e-04f, 3.703256750e-04f, 3.704979063e-04f,
+3.706694847e-04f, 3.708404102e-04f, 3.710106824e-04f, 3.711803010e-04f, 3.713492659e-04f, 3.715175767e-04f, 3.716852333e-04f, 3.718522354e-04f, 3.720185827e-04f, 3.721842750e-04f,
+3.723493121e-04f, 3.725136938e-04f, 3.726774197e-04f, 3.728404897e-04f, 3.730029035e-04f, 3.731646609e-04f, 3.733257616e-04f, 3.734862055e-04f, 3.736459922e-04f, 3.738051216e-04f,
+3.739635935e-04f, 3.741214075e-04f, 3.742785635e-04f, 3.744350613e-04f, 3.745909006e-04f, 3.747460812e-04f, 3.749006029e-04f, 3.750544655e-04f, 3.752076687e-04f, 3.753602124e-04f,
+3.755120962e-04f, 3.756633201e-04f, 3.758138837e-04f, 3.759637869e-04f, 3.761130294e-04f, 3.762616111e-04f, 3.764095318e-04f, 3.765567911e-04f, 3.767033890e-04f, 3.768493252e-04f,
+3.769945995e-04f, 3.771392117e-04f, 3.772831616e-04f, 3.774264490e-04f, 3.775690737e-04f, 3.777110354e-04f, 3.778523341e-04f, 3.779929695e-04f, 3.781329414e-04f, 3.782722496e-04f,
+3.784108939e-04f, 3.785488742e-04f, 3.786861902e-04f, 3.788228417e-04f, 3.789588285e-04f, 3.790941506e-04f, 3.792288076e-04f, 3.793627994e-04f, 3.794961258e-04f, 3.796287867e-04f,
+3.797607818e-04f, 3.798921109e-04f, 3.800227740e-04f, 3.801527707e-04f, 3.802821010e-04f, 3.804107646e-04f, 3.805387614e-04f, 3.806660912e-04f, 3.807927538e-04f, 3.809187491e-04f,
+3.810440769e-04f, 3.811687370e-04f, 3.812927292e-04f, 3.814160535e-04f, 3.815387095e-04f, 3.816606972e-04f, 3.817820164e-04f, 3.819026669e-04f, 3.820226486e-04f, 3.821419613e-04f,
+3.822606048e-04f, 3.823785790e-04f, 3.824958838e-04f, 3.826125189e-04f, 3.827284843e-04f, 3.828437797e-04f, 3.829584051e-04f, 3.830723602e-04f, 3.831856449e-04f, 3.832982591e-04f,
+3.834102027e-04f, 3.835214754e-04f, 3.836320771e-04f, 3.837420078e-04f, 3.838512672e-04f, 3.839598552e-04f, 3.840677716e-04f, 3.841750164e-04f, 3.842815894e-04f, 3.843874904e-04f,
+3.844927194e-04f, 3.845972761e-04f, 3.847011605e-04f, 3.848043724e-04f, 3.849069117e-04f, 3.850087783e-04f, 3.851099720e-04f, 3.852104927e-04f, 3.853103403e-04f, 3.854095146e-04f,
+3.855080155e-04f, 3.856058430e-04f, 3.857029968e-04f, 3.857994770e-04f, 3.858952832e-04f, 3.859904155e-04f, 3.860848737e-04f, 3.861786577e-04f, 3.862717674e-04f, 3.863642027e-04f,
+3.864559634e-04f, 3.865470494e-04f, 3.866374607e-04f, 3.867271972e-04f, 3.868162586e-04f, 3.869046450e-04f, 3.869923562e-04f, 3.870793921e-04f, 3.871657526e-04f, 3.872514376e-04f,
+3.873364470e-04f, 3.874207807e-04f, 3.875044386e-04f, 3.875874206e-04f, 3.876697267e-04f, 3.877513566e-04f, 3.878323104e-04f, 3.879125880e-04f, 3.879921892e-04f, 3.880711139e-04f,
+3.881493621e-04f, 3.882269337e-04f, 3.883038286e-04f, 3.883800467e-04f, 3.884555879e-04f, 3.885304521e-04f, 3.886046394e-04f, 3.886781495e-04f, 3.887509824e-04f, 3.888231380e-04f,
+3.888946163e-04f, 3.889654172e-04f, 3.890355405e-04f, 3.891049863e-04f, 3.891737544e-04f, 3.892418449e-04f, 3.893092575e-04f, 3.893759923e-04f, 3.894420492e-04f, 3.895074280e-04f,
+3.895721289e-04f, 3.896361516e-04f, 3.896994961e-04f, 3.897621624e-04f, 3.898241504e-04f, 3.898854600e-04f, 3.899460913e-04f, 3.900060440e-04f, 3.900653182e-04f, 3.901239139e-04f,
+3.901818309e-04f, 3.902390692e-04f, 3.902956288e-04f, 3.903515096e-04f, 3.904067115e-04f, 3.904612346e-04f, 3.905150788e-04f, 3.905682439e-04f, 3.906207301e-04f, 3.906725372e-04f,
+3.907236652e-04f, 3.907741141e-04f, 3.908238837e-04f, 3.908729742e-04f, 3.909213854e-04f, 3.909691173e-04f, 3.910161699e-04f, 3.910625432e-04f, 3.911082370e-04f, 3.911532515e-04f,
+3.911975864e-04f, 3.912412420e-04f, 3.912842180e-04f, 3.913265144e-04f, 3.913681314e-04f, 3.914090687e-04f, 3.914493264e-04f, 3.914889046e-04f, 3.915278030e-04f, 3.915660219e-04f,
+3.916035610e-04f, 3.916404204e-04f, 3.916766002e-04f, 3.917121002e-04f, 3.917469205e-04f, 3.917810610e-04f, 3.918145218e-04f, 3.918473028e-04f, 3.918794040e-04f, 3.919108254e-04f,
+3.919415671e-04f, 3.919716289e-04f, 3.920010110e-04f, 3.920297132e-04f, 3.920577356e-04f, 3.920850783e-04f, 3.921117411e-04f, 3.921377242e-04f, 3.921630274e-04f, 3.921876509e-04f,
+3.922115945e-04f, 3.922348584e-04f, 3.922574426e-04f, 3.922793469e-04f, 3.923005715e-04f, 3.923211164e-04f, 3.923409815e-04f, 3.923601670e-04f, 3.923786727e-04f, 3.923964988e-04f,
+3.924136452e-04f, 3.924301119e-04f, 3.924458990e-04f, 3.924610066e-04f, 3.924754345e-04f, 3.924891829e-04f, 3.925022517e-04f, 3.925146411e-04f, 3.925263510e-04f, 3.925373814e-04f,
+3.925477324e-04f, 3.925574040e-04f, 3.925663962e-04f, 3.925747091e-04f, 3.925823427e-04f, 3.925892971e-04f, 3.925955723e-04f, 3.926011682e-04f, 3.926060850e-04f, 3.926103227e-04f,
+3.926138814e-04f, 3.926167610e-04f, 3.926189616e-04f, 3.926204833e-04f, 3.926213261e-04f, 3.926214901e-04f, 3.926209753e-04f, 3.926197817e-04f, 3.926179095e-04f, 3.926153586e-04f,
+3.926121291e-04f, 3.926082210e-04f, 3.926036345e-04f, 3.925983696e-04f, 3.925924263e-04f, 3.925858047e-04f, 3.925785048e-04f, 3.925705268e-04f, 3.925618706e-04f, 3.925525363e-04f,
+3.925425241e-04f, 3.925318339e-04f, 3.925204659e-04f, 3.925084201e-04f, 3.924956965e-04f, 3.924822953e-04f, 3.924682165e-04f, 3.924534601e-04f, 3.924380264e-04f, 3.924219152e-04f,
+3.924051268e-04f, 3.923876612e-04f, 3.923695184e-04f, 3.923506986e-04f, 3.923312018e-04f, 3.923110281e-04f, 3.922901776e-04f, 3.922686504e-04f, 3.922464465e-04f, 3.922235661e-04f,
+3.922000092e-04f, 3.921757760e-04f, 3.921508665e-04f, 3.921252807e-04f, 3.920990189e-04f, 3.920720810e-04f, 3.920444673e-04f, 3.920161777e-04f, 3.919872124e-04f, 3.919575715e-04f,
+3.919272550e-04f, 3.918962632e-04f, 3.918645960e-04f, 3.918322536e-04f, 3.917992361e-04f, 3.917655435e-04f, 3.917311761e-04f, 3.916961339e-04f, 3.916604170e-04f, 3.916240255e-04f,
+3.915869595e-04f, 3.915492192e-04f, 3.915108047e-04f, 3.914717160e-04f, 3.914319533e-04f, 3.913915167e-04f, 3.913504064e-04f, 3.913086223e-04f, 3.912661648e-04f, 3.912230338e-04f,
+3.911792296e-04f, 3.911347522e-04f, 3.910896017e-04f, 3.910437783e-04f, 3.909972821e-04f, 3.909501133e-04f, 3.909022719e-04f, 3.908537582e-04f, 3.908045721e-04f, 3.907547139e-04f,
+3.907041838e-04f, 3.906529817e-04f, 3.906011079e-04f, 3.905485626e-04f, 3.904953457e-04f, 3.904414576e-04f, 3.903868983e-04f, 3.903316679e-04f, 3.902757667e-04f, 3.902191947e-04f,
+3.901619521e-04f, 3.901040391e-04f, 3.900454557e-04f, 3.899862022e-04f, 3.899262787e-04f, 3.898656854e-04f, 3.898044223e-04f, 3.897424897e-04f, 3.896798877e-04f, 3.896166165e-04f,
+3.895526762e-04f, 3.894880669e-04f, 3.894227890e-04f, 3.893568424e-04f, 3.892902273e-04f, 3.892229440e-04f, 3.891549926e-04f, 3.890863732e-04f, 3.890170861e-04f, 3.889471313e-04f,
+3.888765091e-04f, 3.888052196e-04f, 3.887332630e-04f, 3.886606395e-04f, 3.885873492e-04f, 3.885133923e-04f, 3.884387690e-04f, 3.883634795e-04f, 3.882875239e-04f, 3.882109025e-04f,
+3.881336153e-04f, 3.880556627e-04f, 3.879770447e-04f, 3.878977615e-04f, 3.878178134e-04f, 3.877372005e-04f, 3.876559230e-04f, 3.875739811e-04f, 3.874913750e-04f, 3.874081049e-04f,
+3.873241709e-04f, 3.872395733e-04f, 3.871543122e-04f, 3.870683879e-04f, 3.869818005e-04f, 3.868945503e-04f, 3.868066373e-04f, 3.867180620e-04f, 3.866288243e-04f, 3.865389246e-04f,
+3.864483631e-04f, 3.863571399e-04f, 3.862652552e-04f, 3.861727093e-04f, 3.860795023e-04f, 3.859856346e-04f, 3.858911062e-04f, 3.857959173e-04f, 3.857000683e-04f, 3.856035593e-04f,
+3.855063906e-04f, 3.854085623e-04f, 3.853100746e-04f, 3.852109278e-04f, 3.851111221e-04f, 3.850106578e-04f, 3.849095349e-04f, 3.848077538e-04f, 3.847053147e-04f, 3.846022178e-04f,
+3.844984634e-04f, 3.843940516e-04f, 3.842889826e-04f, 3.841832568e-04f, 3.840768744e-04f, 3.839698355e-04f, 3.838621404e-04f, 3.837537893e-04f, 3.836447825e-04f, 3.835351202e-04f,
+3.834248027e-04f, 3.833138301e-04f, 3.832022028e-04f, 3.830899209e-04f, 3.829769847e-04f, 3.828633945e-04f, 3.827491504e-04f, 3.826342528e-04f, 3.825187018e-04f, 3.824024978e-04f,
+3.822856409e-04f, 3.821681315e-04f, 3.820499697e-04f, 3.819311558e-04f, 3.818116901e-04f, 3.816915729e-04f, 3.815708043e-04f, 3.814493846e-04f, 3.813273141e-04f, 3.812045931e-04f,
+3.810812218e-04f, 3.809572004e-04f, 3.808325292e-04f, 3.807072086e-04f, 3.805812387e-04f, 3.804546198e-04f, 3.803273522e-04f, 3.801994361e-04f, 3.800708718e-04f, 3.799416597e-04f,
+3.798117998e-04f, 3.796812926e-04f, 3.795501383e-04f, 3.794183372e-04f, 3.792858894e-04f, 3.791527955e-04f, 3.790190554e-04f, 3.788846697e-04f, 3.787496385e-04f, 3.786139622e-04f,
+3.784776409e-04f, 3.783406751e-04f, 3.782030649e-04f, 3.780648106e-04f, 3.779259126e-04f, 3.777863712e-04f, 3.776461865e-04f, 3.775053590e-04f, 3.773638888e-04f, 3.772217763e-04f,
+3.770790218e-04f, 3.769356256e-04f, 3.767915879e-04f, 3.766469091e-04f, 3.765015894e-04f, 3.763556292e-04f, 3.762090287e-04f, 3.760617882e-04f, 3.759139081e-04f, 3.757653887e-04f,
+3.756162302e-04f, 3.754664330e-04f, 3.753159973e-04f, 3.751649234e-04f, 3.750132118e-04f, 3.748608626e-04f, 3.747078762e-04f, 3.745542529e-04f, 3.743999930e-04f, 3.742450969e-04f,
+3.740895647e-04f, 3.739333969e-04f, 3.737765938e-04f, 3.736191556e-04f, 3.734610828e-04f, 3.733023755e-04f, 3.731430342e-04f, 3.729830592e-04f, 3.728224507e-04f, 3.726612091e-04f,
+3.724993348e-04f, 3.723368280e-04f, 3.721736891e-04f, 3.720099183e-04f, 3.718455161e-04f, 3.716804828e-04f, 3.715148187e-04f, 3.713485240e-04f, 3.711815993e-04f, 3.710140447e-04f,
+3.708458606e-04f, 3.706770474e-04f, 3.705076054e-04f, 3.703375350e-04f, 3.701668364e-04f, 3.699955100e-04f, 3.698235561e-04f, 3.696509752e-04f, 3.694777675e-04f, 3.693039334e-04f,
+3.691294732e-04f, 3.689543873e-04f, 3.687786760e-04f, 3.686023396e-04f, 3.684253786e-04f, 3.682477933e-04f, 3.680695840e-04f, 3.678907510e-04f, 3.677112948e-04f, 3.675312157e-04f,
+3.673505140e-04f, 3.671691901e-04f, 3.669872443e-04f, 3.668046771e-04f, 3.666214887e-04f, 3.664376796e-04f, 3.662532501e-04f, 3.660682005e-04f, 3.658825312e-04f, 3.656962427e-04f,
+3.655093352e-04f, 3.653218091e-04f, 3.651336648e-04f, 3.649449026e-04f, 3.647555230e-04f, 3.645655263e-04f, 3.643749129e-04f, 3.641836831e-04f, 3.639918373e-04f, 3.637993760e-04f,
+3.636062994e-04f, 3.634126079e-04f, 3.632183020e-04f, 3.630233820e-04f, 3.628278483e-04f, 3.626317013e-04f, 3.624349413e-04f, 3.622375688e-04f, 3.620395841e-04f, 3.618409876e-04f,
+3.616417797e-04f, 3.614419608e-04f, 3.612415312e-04f, 3.610404915e-04f, 3.608388419e-04f, 3.606365828e-04f, 3.604337147e-04f, 3.602302379e-04f, 3.600261529e-04f, 3.598214600e-04f,
+3.596161596e-04f, 3.594102521e-04f, 3.592037380e-04f, 3.589966175e-04f, 3.587888912e-04f, 3.585805595e-04f, 3.583716227e-04f, 3.581620812e-04f, 3.579519354e-04f, 3.577411858e-04f,
+3.575298327e-04f, 3.573178767e-04f, 3.571053179e-04f, 3.568921570e-04f, 3.566783943e-04f, 3.564640302e-04f, 3.562490651e-04f, 3.560334994e-04f, 3.558173336e-04f, 3.556005680e-04f,
+3.553832032e-04f, 3.551652394e-04f, 3.549466772e-04f, 3.547275169e-04f, 3.545077590e-04f, 3.542874039e-04f, 3.540664519e-04f, 3.538449037e-04f, 3.536227595e-04f, 3.534000197e-04f,
+3.531766849e-04f, 3.529527555e-04f, 3.527282318e-04f, 3.525031143e-04f, 3.522774035e-04f, 3.520510997e-04f, 3.518242035e-04f, 3.515967151e-04f, 3.513686352e-04f, 3.511399641e-04f,
+3.509107022e-04f, 3.506808500e-04f, 3.504504079e-04f, 3.502193764e-04f, 3.499877559e-04f, 3.497555469e-04f, 3.495227498e-04f, 3.492893650e-04f, 3.490553930e-04f, 3.488208342e-04f,
+3.485856891e-04f, 3.483499581e-04f, 3.481136417e-04f, 3.478767403e-04f, 3.476392545e-04f, 3.474011845e-04f, 3.471625309e-04f, 3.469232942e-04f, 3.466834748e-04f, 3.464430731e-04f,
+3.462020896e-04f, 3.459605248e-04f, 3.457183791e-04f, 3.454756530e-04f, 3.452323470e-04f, 3.449884614e-04f, 3.447439969e-04f, 3.444989538e-04f, 3.442533325e-04f, 3.440071337e-04f,
+3.437603576e-04f, 3.435130049e-04f, 3.432650760e-04f, 3.430165713e-04f, 3.427674913e-04f, 3.425178365e-04f, 3.422676073e-04f, 3.420168043e-04f, 3.417654279e-04f, 3.415134785e-04f,
+3.412609568e-04f, 3.410078630e-04f, 3.407541978e-04f, 3.404999615e-04f, 3.402451548e-04f, 3.399897780e-04f, 3.397338316e-04f, 3.394773161e-04f, 3.392202321e-04f, 3.389625799e-04f,
+3.387043601e-04f, 3.384455732e-04f, 3.381862196e-04f, 3.379262999e-04f, 3.376658145e-04f, 3.374047639e-04f, 3.371431486e-04f, 3.368809692e-04f, 3.366182260e-04f, 3.363549196e-04f,
+3.360910506e-04f, 3.358266193e-04f, 3.355616262e-04f, 3.352960720e-04f, 3.350299570e-04f, 3.347632819e-04f, 3.344960470e-04f, 3.342282528e-04f, 3.339599000e-04f, 3.336909890e-04f,
+3.334215202e-04f, 3.331514943e-04f, 3.328809117e-04f, 3.326097729e-04f, 3.323380784e-04f, 3.320658287e-04f, 3.317930244e-04f, 3.315196659e-04f, 3.312457538e-04f, 3.309712886e-04f,
+3.306962708e-04f, 3.304207009e-04f, 3.301445794e-04f, 3.298679069e-04f, 3.295906838e-04f, 3.293129107e-04f, 3.290345881e-04f, 3.287557165e-04f, 3.284762964e-04f, 3.281963285e-04f,
+3.279158131e-04f, 3.276347508e-04f, 3.273531421e-04f, 3.270709877e-04f, 3.267882879e-04f, 3.265050433e-04f, 3.262212544e-04f, 3.259369219e-04f, 3.256520461e-04f, 3.253666277e-04f,
+3.250806671e-04f, 3.247941650e-04f, 3.245071218e-04f, 3.242195380e-04f, 3.239314143e-04f, 3.236427511e-04f, 3.233535490e-04f, 3.230638085e-04f, 3.227735302e-04f, 3.224827145e-04f,
+3.221913621e-04f, 3.218994735e-04f, 3.216070492e-04f, 3.213140898e-04f, 3.210205958e-04f, 3.207265678e-04f, 3.204320063e-04f, 3.201369118e-04f, 3.198412849e-04f, 3.195451262e-04f,
+3.192484362e-04f, 3.189512154e-04f, 3.186534645e-04f, 3.183551839e-04f, 3.180563742e-04f, 3.177570359e-04f, 3.174571697e-04f, 3.171567761e-04f, 3.168558556e-04f, 3.165544088e-04f,
+3.162524363e-04f, 3.159499385e-04f, 3.156469162e-04f, 3.153433698e-04f, 3.150392998e-04f, 3.147347070e-04f, 3.144295917e-04f, 3.141239546e-04f, 3.138177963e-04f, 3.135111173e-04f,
+3.132039182e-04f, 3.128961996e-04f, 3.125879620e-04f, 3.122792060e-04f, 3.119699321e-04f, 3.116601410e-04f, 3.113498332e-04f, 3.110390093e-04f, 3.107276698e-04f, 3.104158154e-04f,
+3.101034466e-04f, 3.097905639e-04f, 3.094771681e-04f, 3.091632595e-04f, 3.088488389e-04f, 3.085339068e-04f, 3.082184638e-04f, 3.079025105e-04f, 3.075860474e-04f, 3.072690751e-04f,
+3.069515943e-04f, 3.066336054e-04f, 3.063151092e-04f, 3.059961061e-04f, 3.056765968e-04f, 3.053565818e-04f, 3.050360618e-04f, 3.047150373e-04f, 3.043935089e-04f, 3.040714773e-04f,
+3.037489429e-04f, 3.034259065e-04f, 3.031023685e-04f, 3.027783297e-04f, 3.024537905e-04f, 3.021287516e-04f, 3.018032136e-04f, 3.014771771e-04f, 3.011506427e-04f, 3.008236109e-04f,
+3.004960825e-04f, 3.001680579e-04f, 2.998395378e-04f, 2.995105227e-04f, 2.991810134e-04f, 2.988510104e-04f, 2.985205143e-04f, 2.981895257e-04f, 2.978580452e-04f, 2.975260734e-04f,
+2.971936110e-04f, 2.968606585e-04f, 2.965272166e-04f, 2.961932858e-04f, 2.958588669e-04f, 2.955239603e-04f, 2.951885667e-04f, 2.948526868e-04f, 2.945163211e-04f, 2.941794702e-04f,
+2.938421349e-04f, 2.935043156e-04f, 2.931660130e-04f, 2.928272278e-04f, 2.924879605e-04f, 2.921482117e-04f, 2.918079822e-04f, 2.914672725e-04f, 2.911260832e-04f, 2.907844150e-04f,
+2.904422685e-04f, 2.900996442e-04f, 2.897565430e-04f, 2.894129652e-04f, 2.890689117e-04f, 2.887243830e-04f, 2.883793798e-04f, 2.880339027e-04f, 2.876879522e-04f, 2.873415291e-04f,
+2.869946340e-04f, 2.866472675e-04f, 2.862994303e-04f, 2.859511229e-04f, 2.856023461e-04f, 2.852531004e-04f, 2.849033865e-04f, 2.845532051e-04f, 2.842025567e-04f, 2.838514420e-04f,
+2.834998617e-04f, 2.831478164e-04f, 2.827953067e-04f, 2.824423332e-04f, 2.820888967e-04f, 2.817349978e-04f, 2.813806371e-04f, 2.810258152e-04f, 2.806705329e-04f, 2.803147907e-04f,
+2.799585892e-04f, 2.796019293e-04f, 2.792448114e-04f, 2.788872363e-04f, 2.785292045e-04f, 2.781707169e-04f, 2.778117739e-04f, 2.774523763e-04f, 2.770925247e-04f, 2.767322197e-04f,
+2.763714621e-04f, 2.760102524e-04f, 2.756485914e-04f, 2.752864797e-04f, 2.749239179e-04f, 2.745609067e-04f, 2.741974468e-04f, 2.738335388e-04f, 2.734691834e-04f, 2.731043813e-04f,
+2.727391331e-04f, 2.723734394e-04f, 2.720073010e-04f, 2.716407185e-04f, 2.712736926e-04f, 2.709062239e-04f, 2.705383131e-04f, 2.701699609e-04f, 2.698011679e-04f, 2.694319349e-04f,
+2.690622624e-04f, 2.686921512e-04f, 2.683216019e-04f, 2.679506152e-04f, 2.675791917e-04f, 2.672073322e-04f, 2.668350373e-04f, 2.664623078e-04f, 2.660891441e-04f, 2.657155472e-04f,
+2.653415175e-04f, 2.649670558e-04f, 2.645921629e-04f, 2.642168392e-04f, 2.638410856e-04f, 2.634649027e-04f, 2.630882913e-04f, 2.627112519e-04f, 2.623337852e-04f, 2.619558920e-04f,
+2.615775729e-04f, 2.611988287e-04f, 2.608196599e-04f, 2.604400673e-04f, 2.600600516e-04f, 2.596796135e-04f, 2.592987536e-04f, 2.589174726e-04f, 2.585357713e-04f, 2.581536503e-04f,
+2.577711102e-04f, 2.573881519e-04f, 2.570047760e-04f, 2.566209831e-04f, 2.562367741e-04f, 2.558521495e-04f, 2.554671100e-04f, 2.550816564e-04f, 2.546957894e-04f, 2.543095096e-04f,
+2.539228178e-04f, 2.535357146e-04f, 2.531482008e-04f, 2.527602770e-04f, 2.523719440e-04f, 2.519832024e-04f, 2.515940530e-04f, 2.512044964e-04f, 2.508145334e-04f, 2.504241646e-04f,
+2.500333908e-04f, 2.496422126e-04f, 2.492506308e-04f, 2.488586462e-04f, 2.484662592e-04f, 2.480734708e-04f, 2.476802816e-04f, 2.472866923e-04f, 2.468927036e-04f, 2.464983162e-04f,
+2.461035309e-04f, 2.457083483e-04f, 2.453127692e-04f, 2.449167942e-04f, 2.445204242e-04f, 2.441236597e-04f, 2.437265016e-04f, 2.433289504e-04f, 2.429310071e-04f, 2.425326721e-04f,
+2.421339464e-04f, 2.417348306e-04f, 2.413353253e-04f, 2.409354314e-04f, 2.405351496e-04f, 2.401344805e-04f, 2.397334249e-04f, 2.393319836e-04f, 2.389301571e-04f, 2.385279463e-04f,
+2.381253519e-04f, 2.377223746e-04f, 2.373190152e-04f, 2.369152742e-04f, 2.365111526e-04f, 2.361066510e-04f, 2.357017701e-04f, 2.352965106e-04f, 2.348908734e-04f, 2.344848590e-04f,
+2.340784683e-04f, 2.336717020e-04f, 2.332645608e-04f, 2.328570454e-04f, 2.324491565e-04f, 2.320408950e-04f, 2.316322615e-04f, 2.312232568e-04f, 2.308138815e-04f, 2.304041365e-04f,
+2.299940225e-04f, 2.295835402e-04f, 2.291726903e-04f, 2.287614735e-04f, 2.283498907e-04f, 2.279379426e-04f, 2.275256298e-04f, 2.271129531e-04f, 2.266999134e-04f, 2.262865112e-04f,
+2.258727474e-04f, 2.254586227e-04f, 2.250441378e-04f, 2.246292934e-04f, 2.242140904e-04f, 2.237985295e-04f, 2.233826114e-04f, 2.229663368e-04f, 2.225497065e-04f, 2.221327212e-04f,
+2.217153818e-04f, 2.212976888e-04f, 2.208796432e-04f, 2.204612456e-04f, 2.200424968e-04f, 2.196233975e-04f, 2.192039484e-04f, 2.187841504e-04f, 2.183640042e-04f, 2.179435105e-04f,
+2.175226701e-04f, 2.171014838e-04f, 2.166799522e-04f, 2.162580762e-04f, 2.158358564e-04f, 2.154132937e-04f, 2.149903888e-04f, 2.145671425e-04f, 2.141435555e-04f, 2.137196286e-04f,
+2.132953625e-04f, 2.128707580e-04f, 2.124458159e-04f, 2.120205368e-04f, 2.115949217e-04f, 2.111689711e-04f, 2.107426860e-04f, 2.103160669e-04f, 2.098891148e-04f, 2.094618304e-04f,
+2.090342144e-04f, 2.086062676e-04f, 2.081779908e-04f, 2.077493847e-04f, 2.073204501e-04f, 2.068911878e-04f, 2.064615984e-04f, 2.060316829e-04f, 2.056014419e-04f, 2.051708763e-04f,
+2.047399867e-04f, 2.043087740e-04f, 2.038772389e-04f, 2.034453822e-04f, 2.030132047e-04f, 2.025807071e-04f, 2.021478903e-04f, 2.017147549e-04f, 2.012813018e-04f, 2.008475316e-04f,
+2.004134453e-04f, 1.999790436e-04f, 1.995443272e-04f, 1.991092969e-04f, 1.986739535e-04f, 1.982382978e-04f, 1.978023305e-04f, 1.973660524e-04f, 1.969294643e-04f, 1.964925671e-04f,
+1.960553613e-04f, 1.956178479e-04f, 1.951800276e-04f, 1.947419012e-04f, 1.943034694e-04f, 1.938647331e-04f, 1.934256930e-04f, 1.929863500e-04f, 1.925467047e-04f, 1.921067580e-04f,
+1.916665106e-04f, 1.912259634e-04f, 1.907851171e-04f, 1.903439725e-04f, 1.899025304e-04f, 1.894607915e-04f, 1.890187568e-04f, 1.885764268e-04f, 1.881338025e-04f, 1.876908846e-04f,
+1.872476739e-04f, 1.868041712e-04f, 1.863603773e-04f, 1.859162929e-04f, 1.854719189e-04f, 1.850272561e-04f, 1.845823051e-04f, 1.841370669e-04f, 1.836915422e-04f, 1.832457319e-04f,
+1.827996366e-04f, 1.823532572e-04f, 1.819065944e-04f, 1.814596492e-04f, 1.810124222e-04f, 1.805649143e-04f, 1.801171262e-04f, 1.796690588e-04f, 1.792207128e-04f, 1.787720891e-04f,
+1.783231884e-04f, 1.778740115e-04f, 1.774245592e-04f, 1.769748324e-04f, 1.765248318e-04f, 1.760745582e-04f, 1.756240124e-04f, 1.751731953e-04f, 1.747221075e-04f, 1.742707500e-04f,
+1.738191235e-04f, 1.733672288e-04f, 1.729150667e-04f, 1.724626380e-04f, 1.720099435e-04f, 1.715569841e-04f, 1.711037605e-04f, 1.706502735e-04f, 1.701965239e-04f, 1.697425126e-04f,
+1.692882403e-04f, 1.688337078e-04f, 1.683789160e-04f, 1.679238656e-04f, 1.674685575e-04f, 1.670129924e-04f, 1.665571712e-04f, 1.661010947e-04f, 1.656447636e-04f, 1.651881788e-04f,
+1.647313412e-04f, 1.642742514e-04f, 1.638169103e-04f, 1.633593188e-04f, 1.629014776e-04f, 1.624433875e-04f, 1.619850494e-04f, 1.615264640e-04f, 1.610676322e-04f, 1.606085548e-04f,
+1.601492325e-04f, 1.596896663e-04f, 1.592298569e-04f, 1.587698051e-04f, 1.583095118e-04f, 1.578489777e-04f, 1.573882037e-04f, 1.569271905e-04f, 1.564659391e-04f, 1.560044501e-04f,
+1.555427245e-04f, 1.550807631e-04f, 1.546185666e-04f, 1.541561358e-04f, 1.536934717e-04f, 1.532305749e-04f, 1.527674464e-04f, 1.523040869e-04f, 1.518404973e-04f, 1.513766784e-04f,
+1.509126309e-04f, 1.504483558e-04f, 1.499838538e-04f, 1.495191258e-04f, 1.490541725e-04f, 1.485889948e-04f, 1.481235935e-04f, 1.476579695e-04f, 1.471921235e-04f, 1.467260564e-04f,
+1.462597690e-04f, 1.457932621e-04f, 1.453265366e-04f, 1.448595932e-04f, 1.443924328e-04f, 1.439250562e-04f, 1.434574643e-04f, 1.429896578e-04f, 1.425216376e-04f, 1.420534045e-04f,
+1.415849594e-04f, 1.411163030e-04f, 1.406474362e-04f, 1.401783598e-04f, 1.397090746e-04f, 1.392395815e-04f, 1.387698813e-04f, 1.382999748e-04f, 1.378298629e-04f, 1.373595463e-04f,
+1.368890259e-04f, 1.364183026e-04f, 1.359473771e-04f, 1.354762503e-04f, 1.350049230e-04f, 1.345333960e-04f, 1.340616702e-04f, 1.335897465e-04f, 1.331176255e-04f, 1.326453082e-04f,
+1.321727955e-04f, 1.317000880e-04f, 1.312271867e-04f, 1.307540924e-04f, 1.302808059e-04f, 1.298073281e-04f, 1.293336598e-04f, 1.288598017e-04f, 1.283857548e-04f, 1.279115200e-04f,
+1.274370979e-04f, 1.269624895e-04f, 1.264876955e-04f, 1.260127169e-04f, 1.255375545e-04f, 1.250622090e-04f, 1.245866814e-04f, 1.241109724e-04f, 1.236350829e-04f, 1.231590137e-04f,
+1.226827658e-04f, 1.222063398e-04f, 1.217297366e-04f, 1.212529572e-04f, 1.207760022e-04f, 1.202988726e-04f, 1.198215692e-04f, 1.193440929e-04f, 1.188664444e-04f, 1.183886246e-04f,
+1.179106343e-04f, 1.174324744e-04f, 1.169541458e-04f, 1.164756492e-04f, 1.159969855e-04f, 1.155181555e-04f, 1.150391601e-04f, 1.145600002e-04f, 1.140806765e-04f, 1.136011899e-04f,
+1.131215412e-04f, 1.126417313e-04f, 1.121617611e-04f, 1.116816313e-04f, 1.112013428e-04f, 1.107208965e-04f, 1.102402931e-04f, 1.097595336e-04f, 1.092786188e-04f, 1.087975494e-04f,
+1.083163265e-04f, 1.078349507e-04f, 1.073534230e-04f, 1.068717442e-04f, 1.063899151e-04f, 1.059079366e-04f, 1.054258096e-04f, 1.049435348e-04f, 1.044611131e-04f, 1.039785453e-04f,
+1.034958324e-04f, 1.030129751e-04f, 1.025299743e-04f, 1.020468308e-04f, 1.015635456e-04f, 1.010801193e-04f, 1.005965529e-04f, 1.001128473e-04f, 9.962900322e-05f, 9.914502155e-05f,
+9.866090315e-05f, 9.817664885e-05f, 9.769225951e-05f, 9.720773598e-05f, 9.672307909e-05f, 9.623828970e-05f, 9.575336866e-05f, 9.526831681e-05f, 9.478313501e-05f, 9.429782410e-05f,
+9.381238492e-05f, 9.332681833e-05f, 9.284112518e-05f, 9.235530632e-05f, 9.186936258e-05f, 9.138329484e-05f, 9.089710392e-05f, 9.041079069e-05f, 8.992435599e-05f, 8.943780068e-05f,
+8.895112559e-05f, 8.846433159e-05f, 8.797741952e-05f, 8.749039024e-05f, 8.700324459e-05f, 8.651598342e-05f, 8.602860759e-05f, 8.554111795e-05f, 8.505351535e-05f, 8.456580063e-05f,
+8.407797465e-05f, 8.359003827e-05f, 8.310199233e-05f, 8.261383769e-05f, 8.212557519e-05f, 8.163720569e-05f, 8.114873005e-05f, 8.066014911e-05f, 8.017146372e-05f, 7.968267475e-05f,
+7.919378304e-05f, 7.870478944e-05f, 7.821569481e-05f, 7.772650000e-05f, 7.723720586e-05f, 7.674781325e-05f, 7.625832302e-05f, 7.576873602e-05f, 7.527905312e-05f, 7.478927515e-05f,
+7.429940297e-05f, 7.380943745e-05f, 7.331937943e-05f, 7.282922976e-05f, 7.233898931e-05f, 7.184865892e-05f, 7.135823945e-05f, 7.086773175e-05f, 7.037713669e-05f, 6.988645510e-05f,
+6.939568786e-05f, 6.890483580e-05f, 6.841389979e-05f, 6.792288069e-05f, 6.743177934e-05f, 6.694059661e-05f, 6.644933334e-05f, 6.595799040e-05f, 6.546656864e-05f, 6.497506891e-05f,
+6.448349207e-05f, 6.399183897e-05f, 6.350011048e-05f, 6.300830744e-05f, 6.251643071e-05f, 6.202448115e-05f, 6.153245962e-05f, 6.104036697e-05f, 6.054820405e-05f, 6.005597173e-05f,
+5.956367085e-05f, 5.907130228e-05f, 5.857886687e-05f, 5.808636548e-05f, 5.759379896e-05f, 5.710116817e-05f, 5.660847397e-05f, 5.611571721e-05f, 5.562289875e-05f, 5.513001945e-05f,
+5.463708016e-05f, 5.414408174e-05f, 5.365102505e-05f, 5.315791094e-05f, 5.266474027e-05f, 5.217151390e-05f, 5.167823268e-05f, 5.118489748e-05f, 5.069150914e-05f, 5.019806853e-05f,
+4.970457650e-05f, 4.921103391e-05f, 4.871744161e-05f, 4.822380047e-05f, 4.773011134e-05f, 4.723637508e-05f, 4.674259254e-05f, 4.624876458e-05f, 4.575489207e-05f, 4.526097585e-05f,
+4.476701678e-05f, 4.427301573e-05f, 4.377897354e-05f, 4.328489108e-05f, 4.279076920e-05f, 4.229660876e-05f, 4.180241062e-05f, 4.130817564e-05f, 4.081390467e-05f, 4.031959856e-05f,
+3.982525819e-05f, 3.933088439e-05f, 3.883647804e-05f, 3.834203999e-05f, 3.784757109e-05f, 3.735307221e-05f, 3.685854420e-05f, 3.636398792e-05f, 3.586940422e-05f, 3.537479396e-05f,
+3.488015800e-05f, 3.438549720e-05f, 3.389081241e-05f, 3.339610450e-05f, 3.290137431e-05f, 3.240662271e-05f, 3.191185055e-05f, 3.141705869e-05f, 3.092224799e-05f, 3.042741930e-05f,
+2.993257348e-05f, 2.943771139e-05f, 2.894283388e-05f, 2.844794181e-05f, 2.795303605e-05f, 2.745811743e-05f, 2.696318683e-05f, 2.646824510e-05f, 2.597329310e-05f, 2.547833167e-05f,
+2.498336168e-05f, 2.448838399e-05f, 2.399339945e-05f, 2.349840892e-05f, 2.300341325e-05f, 2.250841331e-05f, 2.201340994e-05f, 2.151840400e-05f, 2.102339635e-05f, 2.052838785e-05f,
+2.003337935e-05f, 1.953837171e-05f, 1.904336578e-05f, 1.854836242e-05f, 1.805336249e-05f, 1.755836684e-05f, 1.706337632e-05f, 1.656839180e-05f, 1.607341412e-05f, 1.557844415e-05f,
+1.508348274e-05f, 1.458853074e-05f, 1.409358901e-05f, 1.359865840e-05f, 1.310373978e-05f, 1.260883399e-05f, 1.211394189e-05f, 1.161906433e-05f, 1.112420217e-05f, 1.062935626e-05f,
+1.013452747e-05f, 9.639716633e-06f, 9.144924616e-06f, 8.650152270e-06f, 8.155400450e-06f, 7.660670009e-06f, 7.165961802e-06f, 6.671276683e-06f, 6.176615505e-06f, 5.681979122e-06f,
+5.187368387e-06f, 4.692784154e-06f, 4.198227277e-06f, 3.703698609e-06f, 3.209199003e-06f, 2.714729311e-06f, 2.220290387e-06f, 1.725883084e-06f, 1.231508254e-06f, 7.371667506e-07f,
+2.428594252e-07f, -2.514128695e-07f, -7.456492812e-07f, -1.239848958e-06f, -1.734011047e-06f, -2.228134698e-06f, -2.722219058e-06f, -3.216263276e-06f, -3.710266500e-06f, -4.204227879e-06f,
+-4.698146562e-06f, -5.192021698e-06f, -5.685852436e-06f, -6.179637924e-06f, -6.673377313e-06f, -7.167069752e-06f, -7.660714390e-06f, -8.154310378e-06f, -8.647856865e-06f, -9.141353001e-06f,
+-9.634797937e-06f, -1.012819082e-05f, -1.062153081e-05f, -1.111481704e-05f, -1.160804868e-05f, -1.210122488e-05f, -1.259434477e-05f, -1.308740752e-05f, -1.358041228e-05f, -1.407335820e-05f,
+-1.456624442e-05f, -1.505907011e-05f, -1.555183441e-05f, -1.604453648e-05f, -1.653717547e-05f, -1.702975053e-05f, -1.752226081e-05f, -1.801470547e-05f, -1.850708366e-05f, -1.899939454e-05f,
+-1.949163725e-05f, -1.998381095e-05f, -2.047591480e-05f, -2.096794795e-05f, -2.145990955e-05f, -2.195179876e-05f, -2.244361472e-05f, -2.293535661e-05f, -2.342702357e-05f, -2.391861475e-05f,
+-2.441012932e-05f, -2.490156642e-05f, -2.539292522e-05f, -2.588420486e-05f, -2.637540451e-05f, -2.686652333e-05f, -2.735756046e-05f, -2.784851506e-05f, -2.833938630e-05f, -2.883017333e-05f,
+-2.932087530e-05f, -2.981149138e-05f, -3.030202072e-05f, -3.079246248e-05f, -3.128281581e-05f, -3.177307989e-05f, -3.226325385e-05f, -3.275333687e-05f, -3.324332811e-05f, -3.373322671e-05f,
+-3.422303185e-05f, -3.471274267e-05f, -3.520235835e-05f, -3.569187804e-05f, -3.618130090e-05f, -3.667062609e-05f, -3.715985278e-05f, -3.764898012e-05f, -3.813800727e-05f, -3.862693341e-05f,
+-3.911575767e-05f, -3.960447924e-05f, -4.009309728e-05f, -4.058161094e-05f, -4.107001938e-05f, -4.155832178e-05f, -4.204651729e-05f, -4.253460508e-05f, -4.302258431e-05f, -4.351045414e-05f,
+-4.399821374e-05f, -4.448586228e-05f, -4.497339892e-05f, -4.546082282e-05f, -4.594813314e-05f, -4.643532906e-05f, -4.692240975e-05f, -4.740937435e-05f, -4.789622205e-05f, -4.838295201e-05f,
+-4.886956339e-05f, -4.935605536e-05f, -4.984242710e-05f, -5.032867776e-05f, -5.081480651e-05f, -5.130081253e-05f, -5.178669498e-05f, -5.227245303e-05f, -5.275808585e-05f, -5.324359261e-05f,
+-5.372897247e-05f, -5.421422461e-05f, -5.469934820e-05f, -5.518434241e-05f, -5.566920640e-05f, -5.615393935e-05f, -5.663854044e-05f, -5.712300882e-05f, -5.760734368e-05f, -5.809154418e-05f,
+-5.857560950e-05f, -5.905953882e-05f, -5.954333129e-05f, -6.002698610e-05f, -6.051050242e-05f, -6.099387943e-05f, -6.147711629e-05f, -6.196021219e-05f, -6.244316629e-05f, -6.292597777e-05f,
+-6.340864582e-05f, -6.389116959e-05f, -6.437354827e-05f, -6.485578104e-05f, -6.533786707e-05f, -6.581980554e-05f, -6.630159563e-05f, -6.678323650e-05f, -6.726472735e-05f, -6.774606735e-05f,
+-6.822725567e-05f, -6.870829151e-05f, -6.918917402e-05f, -6.966990241e-05f, -7.015047583e-05f, -7.063089348e-05f, -7.111115454e-05f, -7.159125818e-05f, -7.207120359e-05f, -7.255098995e-05f,
+-7.303061644e-05f, -7.351008224e-05f, -7.398938653e-05f, -7.446852850e-05f, -7.494750733e-05f, -7.542632221e-05f, -7.590497231e-05f, -7.638345683e-05f, -7.686177494e-05f, -7.733992583e-05f,
+-7.781790869e-05f, -7.829572270e-05f, -7.877336704e-05f, -7.925084091e-05f, -7.972814349e-05f, -8.020527397e-05f, -8.068223153e-05f, -8.115901536e-05f, -8.163562466e-05f, -8.211205860e-05f,
+-8.258831638e-05f, -8.306439718e-05f, -8.354030020e-05f, -8.401602462e-05f, -8.449156964e-05f, -8.496693445e-05f, -8.544211823e-05f, -8.591712018e-05f, -8.639193949e-05f, -8.686657535e-05f,
+-8.734102696e-05f, -8.781529350e-05f, -8.828937417e-05f, -8.876326817e-05f, -8.923697468e-05f, -8.971049291e-05f, -9.018382204e-05f, -9.065696127e-05f, -9.112990980e-05f, -9.160266682e-05f,
+-9.207523153e-05f, -9.254760313e-05f, -9.301978080e-05f, -9.349176376e-05f, -9.396355120e-05f, -9.443514231e-05f, -9.490653630e-05f, -9.537773236e-05f, -9.584872969e-05f, -9.631952749e-05f,
+-9.679012497e-05f, -9.726052132e-05f, -9.773071575e-05f, -9.820070745e-05f, -9.867049563e-05f, -9.914007948e-05f, -9.960945822e-05f, -1.000786311e-04f, -1.005475972e-04f, -1.010163558e-04f,
+-1.014849061e-04f, -1.019532473e-04f, -1.024213786e-04f, -1.028892992e-04f, -1.033570084e-04f, -1.038245052e-04f, -1.042917890e-04f, -1.047588590e-04f, -1.052257143e-04f, -1.056923541e-04f,
+-1.061587777e-04f, -1.066249843e-04f, -1.070909730e-04f, -1.075567432e-04f, -1.080222939e-04f, -1.084876245e-04f, -1.089527341e-04f, -1.094176219e-04f, -1.098822871e-04f, -1.103467291e-04f,
+-1.108109469e-04f, -1.112749397e-04f, -1.117387069e-04f, -1.122022476e-04f, -1.126655610e-04f, -1.131286464e-04f, -1.135915029e-04f, -1.140541298e-04f, -1.145165263e-04f, -1.149786916e-04f,
+-1.154406249e-04f, -1.159023255e-04f, -1.163637925e-04f, -1.168250252e-04f, -1.172860228e-04f, -1.177467846e-04f, -1.182073096e-04f, -1.186675972e-04f, -1.191276467e-04f, -1.195874571e-04f,
+-1.200470277e-04f, -1.205063578e-04f, -1.209654465e-04f, -1.214242932e-04f, -1.218828969e-04f, -1.223412571e-04f, -1.227993727e-04f, -1.232572432e-04f, -1.237148677e-04f, -1.241722454e-04f,
+-1.246293756e-04f, -1.250862575e-04f, -1.255428903e-04f, -1.259992733e-04f, -1.264554056e-04f, -1.269112866e-04f, -1.273669154e-04f, -1.278222913e-04f, -1.282774135e-04f, -1.287322812e-04f,
+-1.291868937e-04f, -1.296412502e-04f, -1.300953499e-04f, -1.305491921e-04f, -1.310027760e-04f, -1.314561008e-04f, -1.319091658e-04f, -1.323619701e-04f, -1.328145132e-04f, -1.332667940e-04f,
+-1.337188120e-04f, -1.341705664e-04f, -1.346220563e-04f, -1.350732811e-04f, -1.355242399e-04f, -1.359749320e-04f, -1.364253567e-04f, -1.368755131e-04f, -1.373254006e-04f, -1.377750183e-04f,
+-1.382243655e-04f, -1.386734415e-04f, -1.391222455e-04f, -1.395707767e-04f, -1.400190343e-04f, -1.404670177e-04f, -1.409147261e-04f, -1.413621587e-04f, -1.418093147e-04f, -1.422561935e-04f,
+-1.427027942e-04f, -1.431491161e-04f, -1.435951584e-04f, -1.440409205e-04f, -1.444864015e-04f, -1.449316007e-04f, -1.453765173e-04f, -1.458211506e-04f, -1.462654999e-04f, -1.467095644e-04f,
+-1.471533434e-04f, -1.475968360e-04f, -1.480400416e-04f, -1.484829594e-04f, -1.489255887e-04f, -1.493679287e-04f, -1.498099787e-04f, -1.502517380e-04f, -1.506932057e-04f, -1.511343812e-04f,
+-1.515752637e-04f, -1.520158524e-04f, -1.524561467e-04f, -1.528961458e-04f, -1.533358489e-04f, -1.537752553e-04f, -1.542143643e-04f, -1.546531751e-04f, -1.550916871e-04f, -1.555298994e-04f,
+-1.559678113e-04f, -1.564054220e-04f, -1.568427310e-04f, -1.572797373e-04f, -1.577164404e-04f, -1.581528394e-04f, -1.585889336e-04f, -1.590247222e-04f, -1.594602047e-04f, -1.598953801e-04f,
+-1.603302479e-04f, -1.607648072e-04f, -1.611990573e-04f, -1.616329976e-04f, -1.620666272e-04f, -1.624999455e-04f, -1.629329516e-04f, -1.633656450e-04f, -1.637980249e-04f, -1.642300905e-04f,
+-1.646618411e-04f, -1.650932760e-04f, -1.655243944e-04f, -1.659551957e-04f, -1.663856792e-04f, -1.668158440e-04f, -1.672456896e-04f, -1.676752151e-04f, -1.681044198e-04f, -1.685333030e-04f,
+-1.689618641e-04f, -1.693901023e-04f, -1.698180168e-04f, -1.702456070e-04f, -1.706728721e-04f, -1.710998114e-04f, -1.715264242e-04f, -1.719527099e-04f, -1.723786676e-04f, -1.728042966e-04f,
+-1.732295964e-04f, -1.736545660e-04f, -1.740792049e-04f, -1.745035124e-04f, -1.749274876e-04f, -1.753511299e-04f, -1.757744386e-04f, -1.761974130e-04f, -1.766200524e-04f, -1.770423561e-04f,
+-1.774643233e-04f, -1.778859533e-04f, -1.783072456e-04f, -1.787281992e-04f, -1.791488137e-04f, -1.795690881e-04f, -1.799890219e-04f, -1.804086144e-04f, -1.808278647e-04f, -1.812467723e-04f,
+-1.816653365e-04f, -1.820835565e-04f, -1.825014316e-04f, -1.829189612e-04f, -1.833361445e-04f, -1.837529808e-04f, -1.841694695e-04f, -1.845856099e-04f, -1.850014012e-04f, -1.854168428e-04f,
+-1.858319340e-04f, -1.862466740e-04f, -1.866610623e-04f, -1.870750980e-04f, -1.874887806e-04f, -1.879021092e-04f, -1.883150833e-04f, -1.887277021e-04f, -1.891399650e-04f, -1.895518713e-04f,
+-1.899634202e-04f, -1.903746111e-04f, -1.907854434e-04f, -1.911959162e-04f, -1.916060290e-04f, -1.920157810e-04f, -1.924251716e-04f, -1.928342001e-04f, -1.932428659e-04f, -1.936511681e-04f,
+-1.940591062e-04f, -1.944666794e-04f, -1.948738872e-04f, -1.952807288e-04f, -1.956872034e-04f, -1.960933106e-04f, -1.964990495e-04f, -1.969044196e-04f, -1.973094201e-04f, -1.977140503e-04f,
+-1.981183096e-04f, -1.985221974e-04f, -1.989257128e-04f, -1.993288554e-04f, -1.997316243e-04f, -2.001340190e-04f, -2.005360388e-04f, -2.009376829e-04f, -2.013389508e-04f, -2.017398417e-04f,
+-2.021403550e-04f, -2.025404901e-04f, -2.029402462e-04f, -2.033396227e-04f, -2.037386189e-04f, -2.041372342e-04f, -2.045354680e-04f, -2.049333194e-04f, -2.053307880e-04f, -2.057278730e-04f,
+-2.061245738e-04f, -2.065208896e-04f, -2.069168200e-04f, -2.073123641e-04f, -2.077075214e-04f, -2.081022911e-04f, -2.084966727e-04f, -2.088906655e-04f, -2.092842688e-04f, -2.096774819e-04f,
+-2.100703043e-04f, -2.104627353e-04f, -2.108547741e-04f, -2.112464202e-04f, -2.116376730e-04f, -2.120285317e-04f, -2.124189958e-04f, -2.128090645e-04f, -2.131987372e-04f, -2.135880133e-04f,
+-2.139768922e-04f, -2.143653732e-04f, -2.147534556e-04f, -2.151411388e-04f, -2.155284222e-04f, -2.159153051e-04f, -2.163017869e-04f, -2.166878670e-04f, -2.170735447e-04f, -2.174588193e-04f,
+-2.178436903e-04f, -2.182281569e-04f, -2.186122187e-04f, -2.189958748e-04f, -2.193791248e-04f, -2.197619679e-04f, -2.201444035e-04f, -2.205264310e-04f, -2.209080498e-04f, -2.212892592e-04f,
+-2.216700586e-04f, -2.220504474e-04f, -2.224304250e-04f, -2.228099906e-04f, -2.231891438e-04f, -2.235678838e-04f, -2.239462100e-04f, -2.243241219e-04f, -2.247016187e-04f, -2.250787000e-04f,
+-2.254553649e-04f, -2.258316130e-04f, -2.262074436e-04f, -2.265828561e-04f, -2.269578498e-04f, -2.273324242e-04f, -2.277065786e-04f, -2.280803125e-04f, -2.284536251e-04f, -2.288265159e-04f,
+-2.291989843e-04f, -2.295710296e-04f, -2.299426512e-04f, -2.303138486e-04f, -2.306846211e-04f, -2.310549681e-04f, -2.314248890e-04f, -2.317943832e-04f, -2.321634501e-04f, -2.325320890e-04f,
+-2.329002994e-04f, -2.332680807e-04f, -2.336354322e-04f, -2.340023534e-04f, -2.343688436e-04f, -2.347349022e-04f, -2.351005287e-04f, -2.354657225e-04f, -2.358304828e-04f, -2.361948092e-04f,
+-2.365587011e-04f, -2.369221578e-04f, -2.372851787e-04f, -2.376477633e-04f, -2.380099109e-04f, -2.383716210e-04f, -2.387328929e-04f, -2.390937262e-04f, -2.394541201e-04f, -2.398140741e-04f,
+-2.401735875e-04f, -2.405326599e-04f, -2.408912906e-04f, -2.412494791e-04f, -2.416072247e-04f, -2.419645268e-04f, -2.423213849e-04f, -2.426777984e-04f, -2.430337666e-04f, -2.433892891e-04f,
+-2.437443653e-04f, -2.440989944e-04f, -2.444531761e-04f, -2.448069096e-04f, -2.451601945e-04f, -2.455130300e-04f, -2.458654158e-04f, -2.462173511e-04f, -2.465688354e-04f, -2.469198681e-04f,
+-2.472704487e-04f, -2.476205765e-04f, -2.479702511e-04f, -2.483194717e-04f, -2.486682380e-04f, -2.490165492e-04f, -2.493644049e-04f, -2.497118044e-04f, -2.500587472e-04f, -2.504052327e-04f,
+-2.507512603e-04f, -2.510968295e-04f, -2.514419398e-04f, -2.517865905e-04f, -2.521307811e-04f, -2.524745110e-04f, -2.528177798e-04f, -2.531605867e-04f, -2.535029312e-04f, -2.538448129e-04f,
+-2.541862311e-04f, -2.545271852e-04f, -2.548676748e-04f, -2.552076992e-04f, -2.555472580e-04f, -2.558863505e-04f, -2.562249762e-04f, -2.565631346e-04f, -2.569008250e-04f, -2.572380470e-04f,
+-2.575748001e-04f, -2.579110835e-04f, -2.582468969e-04f, -2.585822396e-04f, -2.589171111e-04f, -2.592515109e-04f, -2.595854385e-04f, -2.599188932e-04f, -2.602518745e-04f, -2.605843819e-04f,
+-2.609164149e-04f, -2.612479729e-04f, -2.615790554e-04f, -2.619096618e-04f, -2.622397916e-04f, -2.625694442e-04f, -2.628986192e-04f, -2.632273160e-04f, -2.635555340e-04f, -2.638832728e-04f,
+-2.642105317e-04f, -2.645373103e-04f, -2.648636080e-04f, -2.651894244e-04f, -2.655147588e-04f, -2.658396107e-04f, -2.661639797e-04f, -2.664878651e-04f, -2.668112665e-04f, -2.671341834e-04f,
+-2.674566152e-04f, -2.677785613e-04f, -2.681000214e-04f, -2.684209947e-04f, -2.687414810e-04f, -2.690614795e-04f, -2.693809898e-04f, -2.697000114e-04f, -2.700185438e-04f, -2.703365864e-04f,
+-2.706541387e-04f, -2.709712002e-04f, -2.712877705e-04f, -2.716038489e-04f, -2.719194350e-04f, -2.722345283e-04f, -2.725491283e-04f, -2.728632343e-04f, -2.731768461e-04f, -2.734899630e-04f,
+-2.738025845e-04f, -2.741147101e-04f, -2.744263393e-04f, -2.747374717e-04f, -2.750481067e-04f, -2.753582438e-04f, -2.756678825e-04f, -2.759770223e-04f, -2.762856628e-04f, -2.765938033e-04f,
+-2.769014435e-04f, -2.772085828e-04f, -2.775152208e-04f, -2.778213568e-04f, -2.781269905e-04f, -2.784321214e-04f, -2.787367489e-04f, -2.790408726e-04f, -2.793444920e-04f, -2.796476066e-04f,
+-2.799502158e-04f, -2.802523193e-04f, -2.805539165e-04f, -2.808550070e-04f, -2.811555902e-04f, -2.814556657e-04f, -2.817552329e-04f, -2.820542915e-04f, -2.823528410e-04f, -2.826508807e-04f,
+-2.829484104e-04f, -2.832454294e-04f, -2.835419374e-04f, -2.838379338e-04f, -2.841334182e-04f, -2.844283901e-04f, -2.847228490e-04f, -2.850167944e-04f, -2.853102259e-04f, -2.856031430e-04f,
+-2.858955453e-04f, -2.861874322e-04f, -2.864788034e-04f, -2.867696582e-04f, -2.870599964e-04f, -2.873498173e-04f, -2.876391206e-04f, -2.879279057e-04f, -2.882161723e-04f, -2.885039198e-04f,
+-2.887911478e-04f, -2.890778559e-04f, -2.893640435e-04f, -2.896497102e-04f, -2.899348557e-04f, -2.902194793e-04f, -2.905035806e-04f, -2.907871593e-04f, -2.910702148e-04f, -2.913527467e-04f,
+-2.916347545e-04f, -2.919162378e-04f, -2.921971962e-04f, -2.924776292e-04f, -2.927575363e-04f, -2.930369171e-04f, -2.933157712e-04f, -2.935940981e-04f, -2.938718973e-04f, -2.941491685e-04f,
+-2.944259112e-04f, -2.947021249e-04f, -2.949778092e-04f, -2.952529637e-04f, -2.955275879e-04f, -2.958016814e-04f, -2.960752438e-04f, -2.963482745e-04f, -2.966207733e-04f, -2.968927396e-04f,
+-2.971641731e-04f, -2.974350732e-04f, -2.977054396e-04f, -2.979752718e-04f, -2.982445695e-04f, -2.985133321e-04f, -2.987815592e-04f, -2.990492505e-04f, -2.993164055e-04f, -2.995830238e-04f,
+-2.998491049e-04f, -3.001146485e-04f, -3.003796540e-04f, -3.006441212e-04f, -3.009080495e-04f, -3.011714386e-04f, -3.014342881e-04f, -3.016965974e-04f, -3.019583663e-04f, -3.022195943e-04f,
+-3.024802809e-04f, -3.027404259e-04f, -3.030000286e-04f, -3.032590889e-04f, -3.035176062e-04f, -3.037755801e-04f, -3.040330102e-04f, -3.042898962e-04f, -3.045462376e-04f, -3.048020340e-04f,
+-3.050572850e-04f, -3.053119902e-04f, -3.055661492e-04f, -3.058197616e-04f, -3.060728271e-04f, -3.063253451e-04f, -3.065773154e-04f, -3.068287374e-04f, -3.070796109e-04f, -3.073299354e-04f,
+-3.075797106e-04f, -3.078289360e-04f, -3.080776112e-04f, -3.083257359e-04f, -3.085733096e-04f, -3.088203321e-04f, -3.090668028e-04f, -3.093127214e-04f, -3.095580876e-04f, -3.098029009e-04f,
+-3.100471609e-04f, -3.102908674e-04f, -3.105340198e-04f, -3.107766178e-04f, -3.110186610e-04f, -3.112601491e-04f, -3.115010817e-04f, -3.117414583e-04f, -3.119812787e-04f, -3.122205424e-04f,
+-3.124592491e-04f, -3.126973984e-04f, -3.129349899e-04f, -3.131720233e-04f, -3.134084982e-04f, -3.136444142e-04f, -3.138797709e-04f, -3.141145680e-04f, -3.143488051e-04f, -3.145824819e-04f,
+-3.148155980e-04f, -3.150481530e-04f, -3.152801466e-04f, -3.155115783e-04f, -3.157424480e-04f, -3.159727551e-04f, -3.162024993e-04f, -3.164316803e-04f, -3.166602977e-04f, -3.168883512e-04f,
+-3.171158404e-04f, -3.173427649e-04f, -3.175691244e-04f, -3.177949186e-04f, -3.180201471e-04f, -3.182448096e-04f, -3.184689056e-04f, -3.186924349e-04f, -3.189153972e-04f, -3.191377920e-04f,
+-3.193596190e-04f, -3.195808779e-04f, -3.198015683e-04f, -3.200216900e-04f, -3.202412425e-04f, -3.204602255e-04f, -3.206786387e-04f, -3.208964817e-04f, -3.211137543e-04f, -3.213304560e-04f,
+-3.215465866e-04f, -3.217621457e-04f, -3.219771330e-04f, -3.221915481e-04f, -3.224053908e-04f, -3.226186606e-04f, -3.228313573e-04f, -3.230434805e-04f, -3.232550300e-04f, -3.234660053e-04f,
+-3.236764062e-04f, -3.238862323e-04f, -3.240954833e-04f, -3.243041590e-04f, -3.245122589e-04f, -3.247197828e-04f, -3.249267303e-04f, -3.251331012e-04f, -3.253388951e-04f, -3.255441116e-04f,
+-3.257487506e-04f, -3.259528116e-04f, -3.261562944e-04f, -3.263591986e-04f, -3.265615240e-04f, -3.267632702e-04f, -3.269644369e-04f, -3.271650239e-04f, -3.273650307e-04f, -3.275644572e-04f,
+-3.277633030e-04f, -3.279615678e-04f, -3.281592513e-04f, -3.283563531e-04f, -3.285528732e-04f, -3.287488110e-04f, -3.289441663e-04f, -3.291389388e-04f, -3.293331283e-04f, -3.295267344e-04f,
+-3.297197568e-04f, -3.299121952e-04f, -3.301040494e-04f, -3.302953191e-04f, -3.304860039e-04f, -3.306761037e-04f, -3.308656180e-04f, -3.310545466e-04f, -3.312428893e-04f, -3.314306457e-04f,
+-3.316178156e-04f, -3.318043986e-04f, -3.319903946e-04f, -3.321758032e-04f, -3.323606241e-04f, -3.325448571e-04f, -3.327285019e-04f, -3.329115582e-04f, -3.330940257e-04f, -3.332759042e-04f,
+-3.334571934e-04f, -3.336378930e-04f, -3.338180028e-04f, -3.339975224e-04f, -3.341764517e-04f, -3.343547903e-04f, -3.345325381e-04f, -3.347096946e-04f, -3.348862597e-04f, -3.350622331e-04f,
+-3.352376145e-04f, -3.354124037e-04f, -3.355866004e-04f, -3.357602043e-04f, -3.359332152e-04f, -3.361056329e-04f, -3.362774571e-04f, -3.364486875e-04f, -3.366193239e-04f, -3.367893660e-04f,
+-3.369588135e-04f, -3.371276663e-04f, -3.372959241e-04f, -3.374635866e-04f, -3.376306535e-04f, -3.377971247e-04f, -3.379629999e-04f, -3.381282789e-04f, -3.382929613e-04f, -3.384570470e-04f,
+-3.386205357e-04f, -3.387834272e-04f, -3.389457212e-04f, -3.391074175e-04f, -3.392685159e-04f, -3.394290161e-04f, -3.395889180e-04f, -3.397482211e-04f, -3.399069255e-04f, -3.400650307e-04f,
+-3.402225365e-04f, -3.403794429e-04f, -3.405357494e-04f, -3.406914559e-04f, -3.408465622e-04f, -3.410010680e-04f, -3.411549731e-04f, -3.413082773e-04f, -3.414609804e-04f, -3.416130821e-04f,
+-3.417645822e-04f, -3.419154805e-04f, -3.420657769e-04f, -3.422154710e-04f, -3.423645626e-04f, -3.425130516e-04f, -3.426609377e-04f, -3.428082208e-04f, -3.429549005e-04f, -3.431009768e-04f,
+-3.432464493e-04f, -3.433913179e-04f, -3.435355824e-04f, -3.436792425e-04f, -3.438222981e-04f, -3.439647489e-04f, -3.441065949e-04f, -3.442478356e-04f, -3.443884710e-04f, -3.445285009e-04f,
+-3.446679250e-04f, -3.448067432e-04f, -3.449449552e-04f, -3.450825609e-04f, -3.452195600e-04f, -3.453559525e-04f, -3.454917380e-04f, -3.456269164e-04f, -3.457614875e-04f, -3.458954512e-04f,
+-3.460288071e-04f, -3.461615552e-04f, -3.462936953e-04f, -3.464252271e-04f, -3.465561505e-04f, -3.466864653e-04f, -3.468161714e-04f, -3.469452684e-04f, -3.470737564e-04f, -3.472016350e-04f,
+-3.473289041e-04f, -3.474555636e-04f, -3.475816132e-04f, -3.477070528e-04f, -3.478318822e-04f, -3.479561012e-04f, -3.480797097e-04f, -3.482027075e-04f, -3.483250945e-04f, -3.484468703e-04f,
+-3.485680350e-04f, -3.486885883e-04f, -3.488085301e-04f, -3.489278602e-04f, -3.490465784e-04f, -3.491646846e-04f, -3.492821786e-04f, -3.493990602e-04f, -3.495153294e-04f, -3.496309859e-04f,
+-3.497460296e-04f, -3.498604603e-04f, -3.499742779e-04f, -3.500874822e-04f, -3.502000731e-04f, -3.503120504e-04f, -3.504234140e-04f, -3.505341638e-04f, -3.506442995e-04f, -3.507538210e-04f,
+-3.508627282e-04f, -3.509710210e-04f, -3.510786992e-04f, -3.511857626e-04f, -3.512922111e-04f, -3.513980446e-04f, -3.515032630e-04f, -3.516078661e-04f, -3.517118537e-04f, -3.518152258e-04f,
+-3.519179821e-04f, -3.520201226e-04f, -3.521216472e-04f, -3.522225556e-04f, -3.523228478e-04f, -3.524225237e-04f, -3.525215830e-04f, -3.526200258e-04f, -3.527178518e-04f, -3.528150609e-04f,
+-3.529116531e-04f, -3.530076281e-04f, -3.531029860e-04f, -3.531977264e-04f, -3.532918494e-04f, -3.533853548e-04f, -3.534782425e-04f, -3.535705123e-04f, -3.536621643e-04f, -3.537531981e-04f,
+-3.538436138e-04f, -3.539334113e-04f, -3.540225903e-04f, -3.541111508e-04f, -3.541990928e-04f, -3.542864160e-04f, -3.543731204e-04f, -3.544592059e-04f, -3.545446723e-04f, -3.546295196e-04f,
+-3.547137477e-04f, -3.547973565e-04f, -3.548803458e-04f, -3.549627155e-04f, -3.550444657e-04f, -3.551255961e-04f, -3.552061067e-04f, -3.552859973e-04f, -3.553652680e-04f, -3.554439185e-04f,
+-3.555219489e-04f, -3.555993589e-04f, -3.556761486e-04f, -3.557523179e-04f, -3.558278665e-04f, -3.559027946e-04f, -3.559771019e-04f, -3.560507884e-04f, -3.561238540e-04f, -3.561962987e-04f,
+-3.562681223e-04f, -3.563393248e-04f, -3.564099060e-04f, -3.564798660e-04f, -3.565492047e-04f, -3.566179219e-04f, -3.566860175e-04f, -3.567534916e-04f, -3.568203441e-04f, -3.568865748e-04f,
+-3.569521837e-04f, -3.570171708e-04f, -3.570815359e-04f, -3.571452790e-04f, -3.572084001e-04f, -3.572708990e-04f, -3.573327758e-04f, -3.573940303e-04f, -3.574546625e-04f, -3.575146723e-04f,
+-3.575740597e-04f, -3.576328246e-04f, -3.576909669e-04f, -3.577484866e-04f, -3.578053837e-04f, -3.578616581e-04f, -3.579173097e-04f, -3.579723385e-04f, -3.580267444e-04f, -3.580805275e-04f,
+-3.581336875e-04f, -3.581862246e-04f, -3.582381386e-04f, -3.582894294e-04f, -3.583400972e-04f, -3.583901418e-04f, -3.584395631e-04f, -3.584883612e-04f, -3.585365359e-04f, -3.585840874e-04f,
+-3.586310154e-04f, -3.586773200e-04f, -3.587230012e-04f, -3.587680589e-04f, -3.588124930e-04f, -3.588563036e-04f, -3.588994906e-04f, -3.589420540e-04f, -3.589839938e-04f, -3.590253099e-04f,
+-3.590660023e-04f, -3.591060710e-04f, -3.591455159e-04f, -3.591843371e-04f, -3.592225345e-04f, -3.592601080e-04f, -3.592970578e-04f, -3.593333836e-04f, -3.593690857e-04f, -3.594041638e-04f,
+-3.594386180e-04f, -3.594724483e-04f, -3.595056547e-04f, -3.595382372e-04f, -3.595701956e-04f, -3.596015302e-04f, -3.596322407e-04f, -3.596623273e-04f, -3.596917899e-04f, -3.597206285e-04f,
+-3.597488431e-04f, -3.597764337e-04f, -3.598034003e-04f, -3.598297429e-04f, -3.598554615e-04f, -3.598805560e-04f, -3.599050266e-04f, -3.599288732e-04f, -3.599520958e-04f, -3.599746944e-04f,
+-3.599966690e-04f, -3.600180196e-04f, -3.600387462e-04f, -3.600588489e-04f, -3.600783276e-04f, -3.600971824e-04f, -3.601154133e-04f, -3.601330202e-04f, -3.601500033e-04f, -3.601663625e-04f,
+-3.601820978e-04f, -3.601972092e-04f, -3.602116968e-04f, -3.602255606e-04f, -3.602388007e-04f, -3.602514169e-04f, -3.602634094e-04f, -3.602747782e-04f, -3.602855233e-04f, -3.602956447e-04f,
+-3.603051425e-04f, -3.603140167e-04f, -3.603222672e-04f, -3.603298943e-04f, -3.603368978e-04f, -3.603432778e-04f, -3.603490344e-04f, -3.603541676e-04f, -3.603586773e-04f, -3.603625638e-04f,
+-3.603658269e-04f, -3.603684667e-04f, -3.603704834e-04f, -3.603718768e-04f, -3.603726471e-04f, -3.603727943e-04f, -3.603723185e-04f, -3.603712196e-04f, -3.603694978e-04f, -3.603671531e-04f,
+-3.603641855e-04f, -3.603605951e-04f, -3.603563819e-04f, -3.603515460e-04f, -3.603460875e-04f, -3.603400063e-04f, -3.603333026e-04f, -3.603259764e-04f, -3.603180278e-04f, -3.603094568e-04f,
+-3.603002635e-04f, -3.602904479e-04f, -3.602800102e-04f, -3.602689503e-04f, -3.602572684e-04f, -3.602449644e-04f, -3.602320385e-04f, -3.602184908e-04f, -3.602043212e-04f, -3.601895299e-04f,
+-3.601741170e-04f, -3.601580825e-04f, -3.601414264e-04f, -3.601241490e-04f, -3.601062501e-04f, -3.600877300e-04f, -3.600685886e-04f, -3.600488261e-04f, -3.600284426e-04f, -3.600074381e-04f,
+-3.599858127e-04f, -3.599635664e-04f, -3.599406995e-04f, -3.599172119e-04f, -3.598931037e-04f, -3.598683751e-04f, -3.598430261e-04f, -3.598170568e-04f, -3.597904672e-04f, -3.597632576e-04f,
+-3.597354279e-04f, -3.597069783e-04f, -3.596779089e-04f, -3.596482197e-04f, -3.596179109e-04f, -3.595869825e-04f, -3.595554347e-04f, -3.595232675e-04f, -3.594904811e-04f, -3.594570755e-04f,
+-3.594230509e-04f, -3.593884073e-04f, -3.593531449e-04f, -3.593172638e-04f, -3.592807640e-04f, -3.592436457e-04f, -3.592059090e-04f, -3.591675540e-04f, -3.591285808e-04f, -3.590889896e-04f,
+-3.590487803e-04f, -3.590079532e-04f, -3.589665084e-04f, -3.589244460e-04f, -3.588817660e-04f, -3.588384687e-04f, -3.587945541e-04f, -3.587500224e-04f, -3.587048737e-04f, -3.586591080e-04f,
+-3.586127256e-04f, -3.585657265e-04f, -3.585181109e-04f, -3.584698789e-04f, -3.584210307e-04f, -3.583715662e-04f, -3.583214858e-04f, -3.582707895e-04f, -3.582194775e-04f, -3.581675498e-04f,
+-3.581150067e-04f, -3.580618482e-04f, -3.580080745e-04f, -3.579536857e-04f, -3.578986820e-04f, -3.578430636e-04f, -3.577868304e-04f, -3.577299828e-04f, -3.576725207e-04f, -3.576144445e-04f,
+-3.575557542e-04f, -3.574964499e-04f, -3.574365319e-04f, -3.573760002e-04f, -3.573148550e-04f, -3.572530965e-04f, -3.571907248e-04f, -3.571277401e-04f, -3.570641425e-04f, -3.569999321e-04f,
+-3.569351092e-04f, -3.568696738e-04f, -3.568036263e-04f, -3.567369666e-04f, -3.566696949e-04f, -3.566018115e-04f, -3.565333164e-04f, -3.564642099e-04f, -3.563944921e-04f, -3.563241632e-04f,
+-3.562532233e-04f, -3.561816727e-04f, -3.561095113e-04f, -3.560367396e-04f, -3.559633575e-04f, -3.558893653e-04f, -3.558147632e-04f, -3.557395513e-04f, -3.556637298e-04f, -3.555872989e-04f,
+-3.555102587e-04f, -3.554326095e-04f, -3.553543514e-04f, -3.552754845e-04f, -3.551960091e-04f, -3.551159254e-04f, -3.550352335e-04f, -3.549539336e-04f, -3.548720260e-04f, -3.547895107e-04f,
+-3.547063879e-04f, -3.546226580e-04f, -3.545383209e-04f, -3.544533771e-04f, -3.543678265e-04f, -3.542816695e-04f, -3.541949062e-04f, -3.541075367e-04f, -3.540195614e-04f, -3.539309804e-04f,
+-3.538417939e-04f, -3.537520021e-04f, -3.536616051e-04f, -3.535706033e-04f, -3.534789967e-04f, -3.533867857e-04f, -3.532939703e-04f, -3.532005508e-04f, -3.531065275e-04f, -3.530119004e-04f,
+-3.529166699e-04f, -3.528208361e-04f, -3.527243993e-04f, -3.526273596e-04f, -3.525297172e-04f, -3.524314725e-04f, -3.523326255e-04f, -3.522331765e-04f, -3.521331257e-04f, -3.520324734e-04f,
+-3.519312197e-04f, -3.518293649e-04f, -3.517269091e-04f, -3.516238527e-04f, -3.515201958e-04f, -3.514159387e-04f, -3.513110815e-04f, -3.512056245e-04f, -3.510995680e-04f, -3.509929121e-04f,
+-3.508856571e-04f, -3.507778032e-04f, -3.506693507e-04f, -3.505602997e-04f, -3.504506505e-04f, -3.503404034e-04f, -3.502295585e-04f, -3.501181161e-04f, -3.500060765e-04f, -3.498934398e-04f,
+-3.497802064e-04f, -3.496663764e-04f, -3.495519501e-04f, -3.494369278e-04f, -3.493213096e-04f, -3.492050958e-04f, -3.490882867e-04f, -3.489708825e-04f, -3.488528835e-04f, -3.487342899e-04f,
+-3.486151019e-04f, -3.484953198e-04f, -3.483749439e-04f, -3.482539744e-04f, -3.481324115e-04f, -3.480102555e-04f, -3.478875067e-04f, -3.477641653e-04f, -3.476402316e-04f, -3.475157058e-04f,
+-3.473905881e-04f, -3.472648790e-04f, -3.471385785e-04f, -3.470116870e-04f, -3.468842047e-04f, -3.467561320e-04f, -3.466274689e-04f, -3.464982159e-04f, -3.463683732e-04f, -3.462379411e-04f,
+-3.461069197e-04f, -3.459753095e-04f, -3.458431106e-04f, -3.457103233e-04f, -3.455769480e-04f, -3.454429848e-04f, -3.453084341e-04f, -3.451732961e-04f, -3.450375711e-04f, -3.449012594e-04f,
+-3.447643613e-04f, -3.446268770e-04f, -3.444888068e-04f, -3.443501510e-04f, -3.442109099e-04f, -3.440710838e-04f, -3.439306729e-04f, -3.437896775e-04f, -3.436480980e-04f, -3.435059346e-04f,
+-3.433631875e-04f, -3.432198572e-04f, -3.430759438e-04f, -3.429314477e-04f, -3.427863691e-04f, -3.426407084e-04f, -3.424944659e-04f, -3.423476417e-04f, -3.422002364e-04f, -3.420522500e-04f,
+-3.419036830e-04f, -3.417545356e-04f, -3.416048081e-04f, -3.414545009e-04f, -3.413036142e-04f, -3.411521483e-04f, -3.410001036e-04f, -3.408474803e-04f, -3.406942788e-04f, -3.405404993e-04f,
+-3.403861421e-04f, -3.402312077e-04f, -3.400756962e-04f, -3.399196081e-04f, -3.397629435e-04f, -3.396057028e-04f, -3.394478864e-04f, -3.392894945e-04f, -3.391305275e-04f, -3.389709856e-04f,
+-3.388108693e-04f, -3.386501788e-04f, -3.384889144e-04f, -3.383270764e-04f, -3.381646652e-04f, -3.380016811e-04f, -3.378381245e-04f, -3.376739955e-04f, -3.375092947e-04f, -3.373440222e-04f,
+-3.371781785e-04f, -3.370117638e-04f, -3.368447785e-04f, -3.366772229e-04f, -3.365090973e-04f, -3.363404021e-04f, -3.361711377e-04f, -3.360013042e-04f, -3.358309021e-04f, -3.356599318e-04f,
+-3.354883935e-04f, -3.353162875e-04f, -3.351436143e-04f, -3.349703742e-04f, -3.347965674e-04f, -3.346221944e-04f, -3.344472555e-04f, -3.342717510e-04f, -3.340956813e-04f, -3.339190467e-04f,
+-3.337418476e-04f, -3.335640843e-04f, -3.333857572e-04f, -3.332068665e-04f, -3.330274128e-04f, -3.328473962e-04f, -3.326668172e-04f, -3.324856761e-04f, -3.323039733e-04f, -3.321217091e-04f,
+-3.319388839e-04f, -3.317554981e-04f, -3.315715519e-04f, -3.313870458e-04f, -3.312019801e-04f, -3.310163552e-04f, -3.308301714e-04f, -3.306434291e-04f, -3.304561287e-04f, -3.302682705e-04f,
+-3.300798548e-04f, -3.298908822e-04f, -3.297013529e-04f, -3.295112672e-04f, -3.293206257e-04f, -3.291294285e-04f, -3.289376762e-04f, -3.287453690e-04f, -3.285525074e-04f, -3.283590917e-04f,
+-3.281651223e-04f, -3.279705996e-04f, -3.277755239e-04f, -3.275798956e-04f, -3.273837152e-04f, -3.271869829e-04f, -3.269896992e-04f, -3.267918644e-04f, -3.265934789e-04f, -3.263945432e-04f,
+-3.261950576e-04f, -3.259950224e-04f, -3.257944381e-04f, -3.255933050e-04f, -3.253916236e-04f, -3.251893942e-04f, -3.249866172e-04f, -3.247832930e-04f, -3.245794220e-04f, -3.243750046e-04f,
+-3.241700412e-04f, -3.239645322e-04f, -3.237584779e-04f, -3.235518788e-04f, -3.233447352e-04f, -3.231370476e-04f, -3.229288164e-04f, -3.227200419e-04f, -3.225107246e-04f, -3.223008649e-04f,
+-3.220904631e-04f, -3.218795196e-04f, -3.216680350e-04f, -3.214560095e-04f, -3.212434436e-04f, -3.210303376e-04f, -3.208166921e-04f, -3.206025074e-04f, -3.203877838e-04f, -3.201725219e-04f,
+-3.199567221e-04f, -3.197403846e-04f, -3.195235101e-04f, -3.193060988e-04f, -3.190881512e-04f, -3.188696677e-04f, -3.186506487e-04f, -3.184310946e-04f, -3.182110059e-04f, -3.179903830e-04f,
+-3.177692263e-04f, -3.175475362e-04f, -3.173253131e-04f, -3.171025575e-04f, -3.168792697e-04f, -3.166554503e-04f, -3.164310996e-04f, -3.162062181e-04f, -3.159808061e-04f, -3.157548642e-04f,
+-3.155283927e-04f, -3.153013921e-04f, -3.150738628e-04f, -3.148458052e-04f, -3.146172199e-04f, -3.143881071e-04f, -3.141584673e-04f, -3.139283010e-04f, -3.136976086e-04f, -3.134663906e-04f,
+-3.132346474e-04f, -3.130023793e-04f, -3.127695870e-04f, -3.125362707e-04f, -3.123024310e-04f, -3.120680683e-04f, -3.118331830e-04f, -3.115977756e-04f, -3.113618465e-04f, -3.111253961e-04f,
+-3.108884250e-04f, -3.106509335e-04f, -3.104129222e-04f, -3.101743914e-04f, -3.099353416e-04f, -3.096957732e-04f, -3.094556868e-04f, -3.092150827e-04f, -3.089739615e-04f, -3.087323235e-04f,
+-3.084901692e-04f, -3.082474991e-04f, -3.080043137e-04f, -3.077606133e-04f, -3.075163985e-04f, -3.072716697e-04f, -3.070264274e-04f, -3.067806721e-04f, -3.065344041e-04f, -3.062876240e-04f,
+-3.060403322e-04f, -3.057925292e-04f, -3.055442154e-04f, -3.052953914e-04f, -3.050460576e-04f, -3.047962144e-04f, -3.045458623e-04f, -3.042950019e-04f, -3.040436335e-04f, -3.037917576e-04f,
+-3.035393748e-04f, -3.032864854e-04f, -3.030330900e-04f, -3.027791890e-04f, -3.025247830e-04f, -3.022698723e-04f, -3.020144575e-04f, -3.017585390e-04f, -3.015021173e-04f, -3.012451929e-04f,
+-3.009877663e-04f, -3.007298380e-04f, -3.004714084e-04f, -3.002124781e-04f, -2.999530474e-04f, -2.996931169e-04f, -2.994326872e-04f, -2.991717585e-04f, -2.989103316e-04f, -2.986484068e-04f,
+-2.983859846e-04f, -2.981230655e-04f, -2.978596501e-04f, -2.975957387e-04f, -2.973313320e-04f, -2.970664303e-04f, -2.968010342e-04f, -2.965351442e-04f, -2.962687608e-04f, -2.960018844e-04f,
+-2.957345156e-04f, -2.954666549e-04f, -2.951983027e-04f, -2.949294596e-04f, -2.946601261e-04f, -2.943903026e-04f, -2.941199897e-04f, -2.938491879e-04f, -2.935778976e-04f, -2.933061194e-04f,
+-2.930338538e-04f, -2.927611013e-04f, -2.924878624e-04f, -2.922141375e-04f, -2.919399273e-04f, -2.916652322e-04f, -2.913900528e-04f, -2.911143895e-04f, -2.908382428e-04f, -2.905616133e-04f,
+-2.902845015e-04f, -2.900069079e-04f, -2.897288330e-04f, -2.894502773e-04f, -2.891712414e-04f, -2.888917257e-04f, -2.886117308e-04f, -2.883312572e-04f, -2.880503054e-04f, -2.877688760e-04f,
+-2.874869694e-04f, -2.872045862e-04f, -2.869217269e-04f, -2.866383920e-04f, -2.863545820e-04f, -2.860702976e-04f, -2.857855391e-04f, -2.855003072e-04f, -2.852146023e-04f, -2.849284250e-04f,
+-2.846417758e-04f, -2.843546553e-04f, -2.840670639e-04f, -2.837790023e-04f, -2.834904709e-04f, -2.832014702e-04f, -2.829120009e-04f, -2.826220634e-04f, -2.823316582e-04f, -2.820407860e-04f,
+-2.817494472e-04f, -2.814576424e-04f, -2.811653722e-04f, -2.808726370e-04f, -2.805794374e-04f, -2.802857739e-04f, -2.799916471e-04f, -2.796970576e-04f, -2.794020058e-04f, -2.791064923e-04f,
+-2.788105177e-04f, -2.785140825e-04f, -2.782171872e-04f, -2.779198325e-04f, -2.776220187e-04f, -2.773237466e-04f, -2.770250166e-04f, -2.767258293e-04f, -2.764261853e-04f, -2.761260850e-04f,
+-2.758255291e-04f, -2.755245180e-04f, -2.752230524e-04f, -2.749211329e-04f, -2.746187599e-04f, -2.743159339e-04f, -2.740126557e-04f, -2.737089257e-04f, -2.734047445e-04f, -2.731001126e-04f,
+-2.727950307e-04f, -2.724894991e-04f, -2.721835187e-04f, -2.718770898e-04f, -2.715702130e-04f, -2.712628890e-04f, -2.709551183e-04f, -2.706469013e-04f, -2.703382388e-04f, -2.700291313e-04f,
+-2.697195793e-04f, -2.694095834e-04f, -2.690991442e-04f, -2.687882623e-04f, -2.684769381e-04f, -2.681651723e-04f, -2.678529655e-04f, -2.675403182e-04f, -2.672272311e-04f, -2.669137045e-04f,
+-2.665997393e-04f, -2.662853358e-04f, -2.659704948e-04f, -2.656552167e-04f, -2.653395022e-04f, -2.650233518e-04f, -2.647067661e-04f, -2.643897457e-04f, -2.640722912e-04f, -2.637544031e-04f,
+-2.634360820e-04f, -2.631173285e-04f, -2.627981433e-04f, -2.624785268e-04f, -2.621584796e-04f, -2.618380025e-04f, -2.615170958e-04f, -2.611957602e-04f, -2.608739964e-04f, -2.605518048e-04f,
+-2.602291861e-04f, -2.599061409e-04f, -2.595826697e-04f, -2.592587732e-04f, -2.589344519e-04f, -2.586097065e-04f, -2.582845374e-04f, -2.579589454e-04f, -2.576329310e-04f, -2.573064948e-04f,
+-2.569796374e-04f, -2.566523593e-04f, -2.563246613e-04f, -2.559965438e-04f, -2.556680076e-04f, -2.553390531e-04f, -2.550096810e-04f, -2.546798918e-04f, -2.543496863e-04f, -2.540190649e-04f,
+-2.536880283e-04f, -2.533565772e-04f, -2.530247119e-04f, -2.526924333e-04f, -2.523597419e-04f, -2.520266383e-04f, -2.516931231e-04f, -2.513591969e-04f, -2.510248604e-04f, -2.506901141e-04f,
+-2.503549586e-04f, -2.500193945e-04f, -2.496834225e-04f, -2.493470432e-04f, -2.490102572e-04f, -2.486730651e-04f, -2.483354674e-04f, -2.479974649e-04f, -2.476590582e-04f, -2.473202477e-04f,
+-2.469810343e-04f, -2.466414184e-04f, -2.463014007e-04f, -2.459609818e-04f, -2.456201623e-04f, -2.452789429e-04f, -2.449373242e-04f, -2.445953067e-04f, -2.442528912e-04f, -2.439100781e-04f,
+-2.435668683e-04f, -2.432232622e-04f, -2.428792605e-04f, -2.425348638e-04f, -2.421900727e-04f, -2.418448879e-04f, -2.414993100e-04f, -2.411533397e-04f, -2.408069775e-04f, -2.404602240e-04f,
+-2.401130800e-04f, -2.397655459e-04f, -2.394176226e-04f, -2.390693105e-04f, -2.387206103e-04f, -2.383715227e-04f, -2.380220483e-04f, -2.376721877e-04f, -2.373219416e-04f, -2.369713105e-04f,
+-2.366202951e-04f, -2.362688961e-04f, -2.359171141e-04f, -2.355649497e-04f, -2.352124035e-04f, -2.348594763e-04f, -2.345061685e-04f, -2.341524810e-04f, -2.337984143e-04f, -2.334439690e-04f,
+-2.330891458e-04f, -2.327339453e-04f, -2.323783682e-04f, -2.320224152e-04f, -2.316660867e-04f, -2.313093836e-04f, -2.309523065e-04f, -2.305948559e-04f, -2.302370326e-04f, -2.298788371e-04f,
+-2.295202702e-04f, -2.291613324e-04f, -2.288020245e-04f, -2.284423471e-04f, -2.280823007e-04f, -2.277218862e-04f, -2.273611040e-04f, -2.269999549e-04f, -2.266384396e-04f, -2.262765586e-04f,
+-2.259143127e-04f, -2.255517024e-04f, -2.251887284e-04f, -2.248253915e-04f, -2.244616921e-04f, -2.240976311e-04f, -2.237332090e-04f, -2.233684266e-04f, -2.230032844e-04f, -2.226377831e-04f,
+-2.222719234e-04f, -2.219057059e-04f, -2.215391314e-04f, -2.211722004e-04f, -2.208049136e-04f, -2.204372717e-04f, -2.200692753e-04f, -2.197009252e-04f, -2.193322219e-04f, -2.189631661e-04f,
+-2.185937585e-04f, -2.182239998e-04f, -2.178538906e-04f, -2.174834316e-04f, -2.171126234e-04f, -2.167414668e-04f, -2.163699623e-04f, -2.159981107e-04f, -2.156259127e-04f, -2.152533688e-04f,
+-2.148804798e-04f, -2.145072463e-04f, -2.141336690e-04f, -2.137597486e-04f, -2.133854857e-04f, -2.130108810e-04f, -2.126359353e-04f, -2.122606490e-04f, -2.118850231e-04f, -2.115090580e-04f,
+-2.111327545e-04f, -2.107561133e-04f, -2.103791350e-04f, -2.100018203e-04f, -2.096241699e-04f, -2.092461845e-04f, -2.088678647e-04f, -2.084892113e-04f, -2.081102248e-04f, -2.077309060e-04f,
+-2.073512556e-04f, -2.069712743e-04f, -2.065909626e-04f, -2.062103214e-04f, -2.058293512e-04f, -2.054480528e-04f, -2.050664269e-04f, -2.046844741e-04f, -2.043021951e-04f, -2.039195906e-04f,
+-2.035366613e-04f, -2.031534079e-04f, -2.027698310e-04f, -2.023859314e-04f, -2.020017098e-04f, -2.016171667e-04f, -2.012323030e-04f, -2.008471193e-04f, -2.004616162e-04f, -2.000757946e-04f,
+-1.996896550e-04f, -1.993031981e-04f, -1.989164248e-04f, -1.985293355e-04f, -1.981419311e-04f, -1.977542123e-04f, -1.973661796e-04f, -1.969778339e-04f, -1.965891758e-04f, -1.962002060e-04f,
+-1.958109251e-04f, -1.954213340e-04f, -1.950314333e-04f, -1.946412237e-04f, -1.942507058e-04f, -1.938598805e-04f, -1.934687483e-04f, -1.930773100e-04f, -1.926855663e-04f, -1.922935178e-04f,
+-1.919011654e-04f, -1.915085096e-04f, -1.911155512e-04f, -1.907222909e-04f, -1.903287294e-04f, -1.899348673e-04f, -1.895407055e-04f, -1.891462445e-04f, -1.887514852e-04f, -1.883564281e-04f,
+-1.879610740e-04f, -1.875654237e-04f, -1.871694778e-04f, -1.867732370e-04f, -1.863767020e-04f, -1.859798736e-04f, -1.855827524e-04f, -1.851853392e-04f, -1.847876346e-04f, -1.843896394e-04f,
+-1.839913543e-04f, -1.835927799e-04f, -1.831939171e-04f, -1.827947665e-04f, -1.823953288e-04f, -1.819956047e-04f, -1.815955950e-04f, -1.811953003e-04f, -1.807947214e-04f, -1.803938590e-04f,
+-1.799927138e-04f, -1.795912865e-04f, -1.791895778e-04f, -1.787875885e-04f, -1.783853192e-04f, -1.779827707e-04f, -1.775799437e-04f, -1.771768389e-04f, -1.767734570e-04f, -1.763697988e-04f,
+-1.759658649e-04f, -1.755616561e-04f, -1.751571731e-04f, -1.747524166e-04f, -1.743473873e-04f, -1.739420860e-04f, -1.735365134e-04f, -1.731306701e-04f, -1.727245570e-04f, -1.723181748e-04f,
+-1.719115241e-04f, -1.715046056e-04f, -1.710974202e-04f, -1.706899686e-04f, -1.702822513e-04f, -1.698742693e-04f, -1.694660232e-04f, -1.690575137e-04f, -1.686487415e-04f, -1.682397074e-04f,
+-1.678304122e-04f, -1.674208565e-04f, -1.670110410e-04f, -1.666009665e-04f, -1.661906338e-04f, -1.657800435e-04f, -1.653691964e-04f, -1.649580931e-04f, -1.645467345e-04f, -1.641351213e-04f,
+-1.637232542e-04f, -1.633111339e-04f, -1.628987611e-04f, -1.624861367e-04f, -1.620732612e-04f, -1.616601355e-04f, -1.612467603e-04f, -1.608331363e-04f, -1.604192643e-04f, -1.600051449e-04f,
+-1.595907790e-04f, -1.591761672e-04f, -1.587613103e-04f, -1.583462090e-04f, -1.579308641e-04f, -1.575152762e-04f, -1.570994462e-04f, -1.566833748e-04f, -1.562670627e-04f, -1.558505106e-04f,
+-1.554337193e-04f, -1.550166895e-04f, -1.545994220e-04f, -1.541819174e-04f, -1.537641766e-04f, -1.533462003e-04f, -1.529279892e-04f, -1.525095440e-04f, -1.520908655e-04f, -1.516719545e-04f,
+-1.512528116e-04f, -1.508334377e-04f, -1.504138334e-04f, -1.499939995e-04f, -1.495739368e-04f, -1.491536459e-04f, -1.487331277e-04f, -1.483123829e-04f, -1.478914121e-04f, -1.474702163e-04f,
+-1.470487960e-04f, -1.466271521e-04f, -1.462052853e-04f, -1.457831964e-04f, -1.453608860e-04f, -1.449383550e-04f, -1.445156040e-04f, -1.440926339e-04f, -1.436694454e-04f, -1.432460392e-04f,
+-1.428224160e-04f, -1.423985767e-04f, -1.419745220e-04f, -1.415502526e-04f, -1.411257692e-04f, -1.407010727e-04f, -1.402761637e-04f, -1.398510431e-04f, -1.394257115e-04f, -1.390001697e-04f,
+-1.385744185e-04f, -1.381484587e-04f, -1.377222909e-04f, -1.372959159e-04f, -1.368693345e-04f, -1.364425474e-04f, -1.360155555e-04f, -1.355883593e-04f, -1.351609598e-04f, -1.347333576e-04f,
+-1.343055535e-04f, -1.338775483e-04f, -1.334493426e-04f, -1.330209374e-04f, -1.325923332e-04f, -1.321635309e-04f, -1.317345313e-04f, -1.313053350e-04f, -1.308759429e-04f, -1.304463557e-04f,
+-1.300165741e-04f, -1.295865990e-04f, -1.291564310e-04f, -1.287260709e-04f, -1.282955196e-04f, -1.278647777e-04f, -1.274338460e-04f, -1.270027252e-04f, -1.265714162e-04f, -1.261399197e-04f,
+-1.257082364e-04f, -1.252763671e-04f, -1.248443126e-04f, -1.244120736e-04f, -1.239796508e-04f, -1.235470452e-04f, -1.231142573e-04f, -1.226812880e-04f, -1.222481380e-04f, -1.218148082e-04f,
+-1.213812992e-04f, -1.209476118e-04f, -1.205137467e-04f, -1.200797049e-04f, -1.196454869e-04f, -1.192110936e-04f, -1.187765258e-04f, -1.183417841e-04f, -1.179068694e-04f, -1.174717824e-04f,
+-1.170365240e-04f, -1.166010947e-04f, -1.161654956e-04f, -1.157297272e-04f, -1.152937903e-04f, -1.148576858e-04f, -1.144214144e-04f, -1.139849768e-04f, -1.135483738e-04f, -1.131116062e-04f,
+-1.126746748e-04f, -1.122375803e-04f, -1.118003235e-04f, -1.113629052e-04f, -1.109253261e-04f, -1.104875869e-04f, -1.100496886e-04f, -1.096116318e-04f, -1.091734172e-04f, -1.087350458e-04f,
+-1.082965182e-04f, -1.078578352e-04f, -1.074189976e-04f, -1.069800061e-04f, -1.065408615e-04f, -1.061015647e-04f, -1.056621163e-04f, -1.052225171e-04f, -1.047827680e-04f, -1.043428696e-04f,
+-1.039028228e-04f, -1.034626282e-04f, -1.030222868e-04f, -1.025817992e-04f, -1.021411663e-04f, -1.017003888e-04f, -1.012594675e-04f, -1.008184031e-04f, -1.003771964e-04f, -9.993584825e-05f,
+-9.949435936e-05f, -9.905273052e-05f, -9.861096250e-05f, -9.816905607e-05f, -9.772701202e-05f, -9.728483111e-05f, -9.684251411e-05f, -9.640006182e-05f, -9.595747498e-05f, -9.551475439e-05f,
+-9.507190082e-05f, -9.462891505e-05f, -9.418579784e-05f, -9.374254998e-05f, -9.329917224e-05f, -9.285566540e-05f, -9.241203023e-05f, -9.196826752e-05f, -9.152437803e-05f, -9.108036254e-05f,
+-9.063622184e-05f, -9.019195669e-05f, -8.974756788e-05f, -8.930305619e-05f, -8.885842238e-05f, -8.841366724e-05f, -8.796879155e-05f, -8.752379608e-05f, -8.707868162e-05f, -8.663344894e-05f,
+-8.618809881e-05f, -8.574263203e-05f, -8.529704936e-05f, -8.485135159e-05f, -8.440553949e-05f, -8.395961385e-05f, -8.351357544e-05f, -8.306742504e-05f, -8.262116344e-05f, -8.217479141e-05f,
+-8.172830974e-05f, -8.128171920e-05f, -8.083502057e-05f, -8.038821463e-05f, -7.994130217e-05f, -7.949428396e-05f, -7.904716079e-05f, -7.859993343e-05f, -7.815260267e-05f, -7.770516929e-05f,
+-7.725763407e-05f, -7.680999779e-05f, -7.636226123e-05f, -7.591442518e-05f, -7.546649041e-05f, -7.501845770e-05f, -7.457032785e-05f, -7.412210163e-05f, -7.367377982e-05f, -7.322536321e-05f,
+-7.277685257e-05f, -7.232824870e-05f, -7.187955237e-05f, -7.143076436e-05f, -7.098188546e-05f, -7.053291645e-05f, -7.008385812e-05f, -6.963471124e-05f, -6.918547661e-05f, -6.873615500e-05f,
+-6.828674719e-05f, -6.783725398e-05f, -6.738767614e-05f, -6.693801445e-05f, -6.648826971e-05f, -6.603844269e-05f, -6.558853419e-05f, -6.513854497e-05f, -6.468847583e-05f, -6.423832755e-05f,
+-6.378810092e-05f, -6.333779672e-05f, -6.288741573e-05f, -6.243695874e-05f, -6.198642653e-05f, -6.153581989e-05f, -6.108513960e-05f, -6.063438645e-05f, -6.018356122e-05f, -5.973266469e-05f,
+-5.928169766e-05f, -5.883066091e-05f, -5.837955521e-05f, -5.792838136e-05f, -5.747714014e-05f, -5.702583234e-05f, -5.657445875e-05f, -5.612302014e-05f, -5.567151730e-05f, -5.521995102e-05f,
+-5.476832208e-05f, -5.431663128e-05f, -5.386487939e-05f, -5.341306720e-05f, -5.296119549e-05f, -5.250926506e-05f, -5.205727669e-05f, -5.160523116e-05f, -5.115312926e-05f, -5.070097178e-05f,
+-5.024875949e-05f, -4.979649320e-05f, -4.934417368e-05f, -4.889180172e-05f, -4.843937810e-05f, -4.798690362e-05f, -4.753437905e-05f, -4.708180519e-05f, -4.662918282e-05f, -4.617651273e-05f,
+-4.572379570e-05f, -4.527103252e-05f, -4.481822398e-05f, -4.436537085e-05f, -4.391247394e-05f, -4.345953402e-05f, -4.300655188e-05f, -4.255352832e-05f, -4.210046410e-05f, -4.164736002e-05f,
+-4.119421688e-05f, -4.074103544e-05f, -4.028781651e-05f, -3.983456086e-05f, -3.938126929e-05f, -3.892794257e-05f, -3.847458150e-05f, -3.802118687e-05f, -3.756775945e-05f, -3.711430004e-05f,
+-3.666080942e-05f, -3.620728838e-05f, -3.575373770e-05f, -3.530015818e-05f, -3.484655059e-05f, -3.439291573e-05f, -3.393925438e-05f, -3.348556732e-05f, -3.303185535e-05f, -3.257811925e-05f,
+-3.212435981e-05f, -3.167057781e-05f, -3.121677404e-05f, -3.076294929e-05f, -3.030910434e-05f, -2.985523997e-05f, -2.940135698e-05f, -2.894745616e-05f, -2.849353828e-05f, -2.803960413e-05f,
+-2.758565450e-05f, -2.713169018e-05f, -2.667771195e-05f, -2.622372060e-05f, -2.576971691e-05f, -2.531570168e-05f, -2.486167568e-05f, -2.440763970e-05f, -2.395359453e-05f, -2.349954095e-05f,
+-2.304547975e-05f, -2.259141172e-05f, -2.213733764e-05f, -2.168325830e-05f, -2.122917448e-05f, -2.077508696e-05f, -2.032099654e-05f, -1.986690400e-05f, -1.941281012e-05f, -1.895871570e-05f,
+-1.850462151e-05f, -1.805052834e-05f, -1.759643697e-05f, -1.714234820e-05f, -1.668826280e-05f, -1.623418156e-05f, -1.578010527e-05f, -1.532603471e-05f, -1.487197066e-05f, -1.441791392e-05f,
+-1.396386526e-05f, -1.350982547e-05f, -1.305579533e-05f, -1.260177563e-05f, -1.214776716e-05f, -1.169377069e-05f, -1.123978701e-05f, -1.078581691e-05f, -1.033186117e-05f, -9.877920576e-06f,
+-9.423995907e-06f, -8.970087949e-06f, -8.516197487e-06f, -8.062325304e-06f, -7.608472183e-06f, -7.154638908e-06f, -6.700826262e-06f, -6.247035029e-06f, -5.793265992e-06f, -5.339519933e-06f,
+-4.885797637e-06f, -4.432099885e-06f, -3.978427461e-06f, -3.524781148e-06f, -3.071161727e-06f, -2.617569982e-06f, -2.164006694e-06f, -1.710472647e-06f, -1.256968622e-06f, -8.034954017e-07f,
+-3.500537676e-07f, 1.033554983e-07f, 5.567316142e-07f, 1.010073799e-06f, 1.463381270e-06f, 1.916653247e-06f, 2.369888948e-06f, 2.823087592e-06f, 3.276248398e-06f, 3.729370585e-06f,
+4.182453373e-06f, 4.635495980e-06f, 5.088497626e-06f, 5.541457531e-06f, 5.994374915e-06f, 6.447248997e-06f, 6.900078997e-06f, 7.352864136e-06f, 7.805603633e-06f, 8.258296709e-06f,
+8.710942585e-06f, 9.163540480e-06f, 9.616089617e-06f, 1.006858922e-05f, 1.052103850e-05f, 1.097343668e-05f, 1.142578300e-05f, 1.187807665e-05f, 1.233031688e-05f, 1.278250290e-05f,
+1.323463393e-05f, 1.368670920e-05f, 1.413872792e-05f, 1.459068932e-05f, 1.504259262e-05f, 1.549443705e-05f, 1.594622183e-05f, 1.639794618e-05f, 1.684960932e-05f, 1.730121047e-05f,
+1.775274887e-05f, 1.820422373e-05f, 1.865563429e-05f, 1.910697975e-05f, 1.955825935e-05f, 2.000947231e-05f, 2.046061786e-05f, 2.091169521e-05f, 2.136270361e-05f, 2.181364226e-05f,
+2.226451040e-05f, 2.271530724e-05f, 2.316603203e-05f, 2.361668398e-05f, 2.406726231e-05f, 2.451776626e-05f, 2.496819505e-05f, 2.541854791e-05f, 2.586882406e-05f, 2.631902274e-05f,
+2.676914316e-05f, 2.721918455e-05f, 2.766914615e-05f, 2.811902718e-05f, 2.856882687e-05f, 2.901854444e-05f, 2.946817913e-05f, 2.991773016e-05f, 3.036719677e-05f, 3.081657817e-05f,
+3.126587360e-05f, 3.171508230e-05f, 3.216420348e-05f, 3.261323638e-05f, 3.306218022e-05f, 3.351103425e-05f, 3.395979768e-05f, 3.440846976e-05f, 3.485704970e-05f, 3.530553674e-05f,
+3.575393012e-05f, 3.620222905e-05f, 3.665043279e-05f, 3.709854055e-05f, 3.754655157e-05f, 3.799446507e-05f, 3.844228031e-05f, 3.888999650e-05f, 3.933761287e-05f, 3.978512868e-05f,
+4.023254313e-05f, 4.067985548e-05f, 4.112706495e-05f, 4.157417077e-05f, 4.202117219e-05f, 4.246806844e-05f, 4.291485874e-05f, 4.336154234e-05f, 4.380811848e-05f, 4.425458638e-05f,
+4.470094528e-05f, 4.514719442e-05f, 4.559333304e-05f, 4.603936037e-05f, 4.648527565e-05f, 4.693107811e-05f, 4.737676700e-05f, 4.782234154e-05f, 4.826780099e-05f, 4.871314457e-05f,
+4.915837152e-05f, 4.960348109e-05f, 5.004847251e-05f, 5.049334502e-05f, 5.093809786e-05f, 5.138273027e-05f, 5.182724148e-05f, 5.227163075e-05f, 5.271589731e-05f, 5.316004040e-05f,
+5.360405926e-05f, 5.404795313e-05f, 5.449172126e-05f, 5.493536288e-05f, 5.537887724e-05f, 5.582226358e-05f, 5.626552115e-05f, 5.670864918e-05f, 5.715164691e-05f, 5.759451360e-05f,
+5.803724849e-05f, 5.847985082e-05f, 5.892231982e-05f, 5.936465476e-05f, 5.980685487e-05f, 6.024891940e-05f, 6.069084759e-05f, 6.113263870e-05f, 6.157429195e-05f, 6.201580661e-05f,
+6.245718192e-05f, 6.289841712e-05f, 6.333951147e-05f, 6.378046420e-05f, 6.422127457e-05f, 6.466194183e-05f, 6.510246522e-05f, 6.554284400e-05f, 6.598307740e-05f, 6.642316469e-05f,
+6.686310510e-05f, 6.730289790e-05f, 6.774254232e-05f, 6.818203763e-05f, 6.862138307e-05f, 6.906057789e-05f, 6.949962135e-05f, 6.993851269e-05f, 7.037725117e-05f, 7.081583604e-05f,
+7.125426655e-05f, 7.169254196e-05f, 7.213066152e-05f, 7.256862449e-05f, 7.300643011e-05f, 7.344407764e-05f, 7.388156634e-05f, 7.431889546e-05f, 7.475606425e-05f, 7.519307198e-05f,
+7.562991790e-05f, 7.606660126e-05f, 7.650312132e-05f, 7.693947735e-05f, 7.737566858e-05f, 7.781169429e-05f, 7.824755373e-05f, 7.868324617e-05f, 7.911877085e-05f, 7.955412703e-05f,
+7.998931399e-05f, 8.042433097e-05f, 8.085917723e-05f, 8.129385205e-05f, 8.172835467e-05f, 8.216268436e-05f, 8.259684038e-05f, 8.303082199e-05f, 8.346462846e-05f, 8.389825905e-05f,
+8.433171301e-05f, 8.476498962e-05f, 8.519808813e-05f, 8.563100782e-05f, 8.606374794e-05f, 8.649630776e-05f, 8.692868655e-05f, 8.736088356e-05f, 8.779289808e-05f, 8.822472935e-05f,
+8.865637665e-05f, 8.908783925e-05f, 8.951911642e-05f, 8.995020741e-05f, 9.038111150e-05f, 9.081182797e-05f, 9.124235606e-05f, 9.167269506e-05f, 9.210284424e-05f, 9.253280286e-05f,
+9.296257020e-05f, 9.339214552e-05f, 9.382152810e-05f, 9.425071721e-05f, 9.467971212e-05f, 9.510851210e-05f, 9.553711643e-05f, 9.596552437e-05f, 9.639373521e-05f, 9.682174821e-05f,
+9.724956266e-05f, 9.767717781e-05f, 9.810459296e-05f, 9.853180737e-05f, 9.895882032e-05f, 9.938563109e-05f, 9.981223895e-05f, 1.002386432e-04f, 1.006648431e-04f, 1.010908379e-04f,
+1.015166269e-04f, 1.019422094e-04f, 1.023675846e-04f, 1.027927519e-04f, 1.032177106e-04f, 1.036424598e-04f, 1.040669989e-04f, 1.044913271e-04f, 1.049154438e-04f, 1.053393483e-04f,
+1.057630397e-04f, 1.061865175e-04f, 1.066097808e-04f, 1.070328290e-04f, 1.074556613e-04f, 1.078782770e-04f, 1.083006755e-04f, 1.087228559e-04f, 1.091448177e-04f, 1.095665600e-04f,
+1.099880821e-04f, 1.104093834e-04f, 1.108304632e-04f, 1.112513206e-04f, 1.116719551e-04f, 1.120923658e-04f, 1.125125522e-04f, 1.129325134e-04f, 1.133522488e-04f, 1.137717576e-04f,
+1.141910392e-04f, 1.146100928e-04f, 1.150289178e-04f, 1.154475134e-04f, 1.158658789e-04f, 1.162840136e-04f, 1.167019168e-04f, 1.171195878e-04f, 1.175370259e-04f, 1.179542303e-04f,
+1.183712005e-04f, 1.187879356e-04f, 1.192044351e-04f, 1.196206980e-04f, 1.200367239e-04f, 1.204525119e-04f, 1.208680614e-04f, 1.212833716e-04f, 1.216984419e-04f, 1.221132716e-04f,
+1.225278599e-04f, 1.229422062e-04f, 1.233563098e-04f, 1.237701699e-04f, 1.241837859e-04f, 1.245971571e-04f, 1.250102827e-04f, 1.254231621e-04f, 1.258357946e-04f, 1.262481795e-04f,
+1.266603161e-04f, 1.270722036e-04f, 1.274838415e-04f, 1.278952289e-04f, 1.283063653e-04f, 1.287172499e-04f, 1.291278821e-04f, 1.295382610e-04f, 1.299483862e-04f, 1.303582567e-04f,
+1.307678721e-04f, 1.311772315e-04f, 1.315863343e-04f, 1.319951798e-04f, 1.324037673e-04f, 1.328120961e-04f, 1.332201656e-04f, 1.336279750e-04f, 1.340355236e-04f, 1.344428109e-04f,
+1.348498360e-04f, 1.352565984e-04f, 1.356630972e-04f, 1.360693319e-04f, 1.364753018e-04f, 1.368810061e-04f, 1.372864442e-04f, 1.376916154e-04f, 1.380965190e-04f, 1.385011544e-04f,
+1.389055209e-04f, 1.393096177e-04f, 1.397134443e-04f, 1.401169998e-04f, 1.405202837e-04f, 1.409232953e-04f, 1.413260339e-04f, 1.417284988e-04f, 1.421306894e-04f, 1.425326049e-04f,
+1.429342447e-04f, 1.433356081e-04f, 1.437366944e-04f, 1.441375031e-04f, 1.445380333e-04f, 1.449382844e-04f, 1.453382558e-04f, 1.457379468e-04f, 1.461373567e-04f, 1.465364848e-04f,
+1.469353305e-04f, 1.473338931e-04f, 1.477321720e-04f, 1.481301664e-04f, 1.485278757e-04f, 1.489252992e-04f, 1.493224363e-04f, 1.497192862e-04f, 1.501158485e-04f, 1.505121222e-04f,
+1.509081069e-04f, 1.513038019e-04f, 1.516992064e-04f, 1.520943198e-04f, 1.524891414e-04f, 1.528836707e-04f, 1.532779069e-04f, 1.536718493e-04f, 1.540654974e-04f, 1.544588504e-04f,
+1.548519077e-04f, 1.552446686e-04f, 1.556371325e-04f, 1.560292987e-04f, 1.564211666e-04f, 1.568127355e-04f, 1.572040048e-04f, 1.575949737e-04f, 1.579856417e-04f, 1.583760080e-04f,
+1.587660721e-04f, 1.591558333e-04f, 1.595452909e-04f, 1.599344443e-04f, 1.603232928e-04f, 1.607118358e-04f, 1.611000726e-04f, 1.614880026e-04f, 1.618756251e-04f, 1.622629395e-04f,
+1.626499452e-04f, 1.630366414e-04f, 1.634230276e-04f, 1.638091030e-04f, 1.641948671e-04f, 1.645803193e-04f, 1.649654587e-04f, 1.653502850e-04f, 1.657347972e-04f, 1.661189949e-04f,
+1.665028775e-04f, 1.668864441e-04f, 1.672696943e-04f, 1.676526273e-04f, 1.680352426e-04f, 1.684175395e-04f, 1.687995173e-04f, 1.691811755e-04f, 1.695625133e-04f, 1.699435302e-04f,
+1.703242255e-04f, 1.707045985e-04f, 1.710846487e-04f, 1.714643754e-04f, 1.718437780e-04f, 1.722228559e-04f, 1.726016083e-04f, 1.729800347e-04f, 1.733581345e-04f, 1.737359070e-04f,
+1.741133516e-04f, 1.744904676e-04f, 1.748672545e-04f, 1.752437116e-04f, 1.756198382e-04f, 1.759956338e-04f, 1.763710977e-04f, 1.767462294e-04f, 1.771210281e-04f, 1.774954932e-04f,
+1.778696242e-04f, 1.782434204e-04f, 1.786168812e-04f, 1.789900059e-04f, 1.793627940e-04f, 1.797352448e-04f, 1.801073577e-04f, 1.804791321e-04f, 1.808505674e-04f, 1.812216629e-04f,
+1.815924180e-04f, 1.819628321e-04f, 1.823329047e-04f, 1.827026350e-04f, 1.830720225e-04f, 1.834410666e-04f, 1.838097666e-04f, 1.841781219e-04f, 1.845461319e-04f, 1.849137961e-04f,
+1.852811137e-04f, 1.856480842e-04f, 1.860147070e-04f, 1.863809815e-04f, 1.867469070e-04f, 1.871124830e-04f, 1.874777088e-04f, 1.878425839e-04f, 1.882071076e-04f, 1.885712793e-04f,
+1.889350985e-04f, 1.892985645e-04f, 1.896616767e-04f, 1.900244345e-04f, 1.903868373e-04f, 1.907488846e-04f, 1.911105756e-04f, 1.914719099e-04f, 1.918328868e-04f, 1.921935057e-04f,
+1.925537660e-04f, 1.929136672e-04f, 1.932732085e-04f, 1.936323895e-04f, 1.939912096e-04f, 1.943496681e-04f, 1.947077644e-04f, 1.950654980e-04f, 1.954228683e-04f, 1.957798746e-04f,
+1.961365164e-04f, 1.964927931e-04f, 1.968487041e-04f, 1.972042488e-04f, 1.975594266e-04f, 1.979142370e-04f, 1.982686794e-04f, 1.986227530e-04f, 1.989764575e-04f, 1.993297922e-04f,
+1.996827565e-04f, 2.000353498e-04f, 2.003875715e-04f, 2.007394211e-04f, 2.010908980e-04f, 2.014420016e-04f, 2.017927313e-04f, 2.021430865e-04f, 2.024930668e-04f, 2.028426714e-04f,
+2.031918998e-04f, 2.035407514e-04f, 2.038892257e-04f, 2.042373220e-04f, 2.045850399e-04f, 2.049323787e-04f, 2.052793379e-04f, 2.056259168e-04f, 2.059721150e-04f, 2.063179318e-04f,
+2.066633667e-04f, 2.070084191e-04f, 2.073530884e-04f, 2.076973741e-04f, 2.080412756e-04f, 2.083847923e-04f, 2.087279237e-04f, 2.090706692e-04f, 2.094130282e-04f, 2.097550002e-04f,
+2.100965846e-04f, 2.104377809e-04f, 2.107785884e-04f, 2.111190067e-04f, 2.114590351e-04f, 2.117986731e-04f, 2.121379202e-04f, 2.124767758e-04f, 2.128152393e-04f, 2.131533102e-04f,
+2.134909878e-04f, 2.138282718e-04f, 2.141651615e-04f, 2.145016563e-04f, 2.148377557e-04f, 2.151734591e-04f, 2.155087661e-04f, 2.158436760e-04f, 2.161781883e-04f, 2.165123025e-04f,
+2.168460179e-04f, 2.171793341e-04f, 2.175122505e-04f, 2.178447666e-04f, 2.181768817e-04f, 2.185085954e-04f, 2.188399072e-04f, 2.191708164e-04f, 2.195013226e-04f, 2.198314251e-04f,
+2.201611235e-04f, 2.204904172e-04f, 2.208193057e-04f, 2.211477884e-04f, 2.214758648e-04f, 2.218035344e-04f, 2.221307965e-04f, 2.224576508e-04f, 2.227840966e-04f, 2.231101334e-04f,
+2.234357607e-04f, 2.237609779e-04f, 2.240857845e-04f, 2.244101800e-04f, 2.247341639e-04f, 2.250577356e-04f, 2.253808945e-04f, 2.257036403e-04f, 2.260259722e-04f, 2.263478899e-04f,
+2.266693927e-04f, 2.269904802e-04f, 2.273111519e-04f, 2.276314071e-04f, 2.279512454e-04f, 2.282706663e-04f, 2.285896692e-04f, 2.289082536e-04f, 2.292264190e-04f, 2.295441648e-04f,
+2.298614907e-04f, 2.301783959e-04f, 2.304948801e-04f, 2.308109427e-04f, 2.311265832e-04f, 2.314418010e-04f, 2.317565958e-04f, 2.320709668e-04f, 2.323849137e-04f, 2.326984359e-04f,
+2.330115329e-04f, 2.333242042e-04f, 2.336364493e-04f, 2.339482677e-04f, 2.342596588e-04f, 2.345706222e-04f, 2.348811574e-04f, 2.351912638e-04f, 2.355009410e-04f, 2.358101884e-04f,
+2.361190055e-04f, 2.364273919e-04f, 2.367353470e-04f, 2.370428703e-04f, 2.373499614e-04f, 2.376566197e-04f, 2.379628448e-04f, 2.382686361e-04f, 2.385739931e-04f, 2.388789153e-04f,
+2.391834024e-04f, 2.394874536e-04f, 2.397910686e-04f, 2.400942469e-04f, 2.403969880e-04f, 2.406992913e-04f, 2.410011565e-04f, 2.413025829e-04f, 2.416035701e-04f, 2.419041177e-04f,
+2.422042251e-04f, 2.425038919e-04f, 2.428031175e-04f, 2.431019015e-04f, 2.434002433e-04f, 2.436981426e-04f, 2.439955988e-04f, 2.442926115e-04f, 2.445891801e-04f, 2.448853042e-04f,
+2.451809833e-04f, 2.454762170e-04f, 2.457710046e-04f, 2.460653459e-04f, 2.463592402e-04f, 2.466526871e-04f, 2.469456862e-04f, 2.472382370e-04f, 2.475303389e-04f, 2.478219916e-04f,
+2.481131945e-04f, 2.484039472e-04f, 2.486942492e-04f, 2.489841001e-04f, 2.492734993e-04f, 2.495624464e-04f, 2.498509410e-04f, 2.501389825e-04f, 2.504265706e-04f, 2.507137047e-04f,
+2.510003843e-04f, 2.512866091e-04f, 2.515723785e-04f, 2.518576922e-04f, 2.521425495e-04f, 2.524269502e-04f, 2.527108936e-04f, 2.529943794e-04f, 2.532774071e-04f, 2.535599763e-04f,
+2.538420864e-04f, 2.541237371e-04f, 2.544049279e-04f, 2.546856583e-04f, 2.549659278e-04f, 2.552457361e-04f, 2.555250827e-04f, 2.558039671e-04f, 2.560823889e-04f, 2.563603476e-04f,
+2.566378428e-04f, 2.569148740e-04f, 2.571914408e-04f, 2.574675428e-04f, 2.577431795e-04f, 2.580183504e-04f, 2.582930551e-04f, 2.585672933e-04f, 2.588410644e-04f, 2.591143679e-04f,
+2.593872036e-04f, 2.596595708e-04f, 2.599314692e-04f, 2.602028984e-04f, 2.604738579e-04f, 2.607443473e-04f, 2.610143662e-04f, 2.612839140e-04f, 2.615529904e-04f, 2.618215950e-04f,
+2.620897273e-04f, 2.623573869e-04f, 2.626245734e-04f, 2.628912863e-04f, 2.631575252e-04f, 2.634232897e-04f, 2.636885794e-04f, 2.639533937e-04f, 2.642177324e-04f, 2.644815950e-04f,
+2.647449811e-04f, 2.650078902e-04f, 2.652703219e-04f, 2.655322759e-04f, 2.657937516e-04f, 2.660547487e-04f, 2.663152668e-04f, 2.665753054e-04f, 2.668348641e-04f, 2.670939425e-04f,
+2.673525403e-04f, 2.676106569e-04f, 2.678682920e-04f, 2.681254452e-04f, 2.683821160e-04f, 2.686383041e-04f, 2.688940090e-04f, 2.691492304e-04f, 2.694039677e-04f, 2.696582207e-04f,
+2.699119890e-04f, 2.701652720e-04f, 2.704180694e-04f, 2.706703809e-04f, 2.709222059e-04f, 2.711735442e-04f, 2.714243953e-04f, 2.716747588e-04f, 2.719246343e-04f, 2.721740214e-04f,
+2.724229198e-04f, 2.726713289e-04f, 2.729192485e-04f, 2.731666782e-04f, 2.734136175e-04f, 2.736600660e-04f, 2.739060234e-04f, 2.741514893e-04f, 2.743964633e-04f, 2.746409450e-04f,
+2.748849340e-04f, 2.751284299e-04f, 2.753714324e-04f, 2.756139410e-04f, 2.758559554e-04f, 2.760974752e-04f, 2.763385000e-04f, 2.765790295e-04f, 2.768190632e-04f, 2.770586007e-04f,
+2.772976418e-04f, 2.775361859e-04f, 2.777742329e-04f, 2.780117821e-04f, 2.782488334e-04f, 2.784853863e-04f, 2.787214404e-04f, 2.789569954e-04f, 2.791920509e-04f, 2.794266066e-04f,
+2.796606620e-04f, 2.798942168e-04f, 2.801272706e-04f, 2.803598231e-04f, 2.805918739e-04f, 2.808234226e-04f, 2.810544689e-04f, 2.812850123e-04f, 2.815150527e-04f, 2.817445895e-04f,
+2.819736224e-04f, 2.822021511e-04f, 2.824301752e-04f, 2.826576943e-04f, 2.828847081e-04f, 2.831112163e-04f, 2.833372184e-04f, 2.835627142e-04f, 2.837877032e-04f, 2.840121852e-04f,
+2.842361597e-04f, 2.844596264e-04f, 2.846825850e-04f, 2.849050351e-04f, 2.851269764e-04f, 2.853484086e-04f, 2.855693312e-04f, 2.857897439e-04f, 2.860096465e-04f, 2.862290384e-04f,
+2.864479195e-04f, 2.866662894e-04f, 2.868841477e-04f, 2.871014940e-04f, 2.873183281e-04f, 2.875346497e-04f, 2.877504583e-04f, 2.879657536e-04f, 2.881805353e-04f, 2.883948031e-04f,
+2.886085567e-04f, 2.888217956e-04f, 2.890345196e-04f, 2.892467284e-04f, 2.894584215e-04f, 2.896695988e-04f, 2.898802598e-04f, 2.900904042e-04f, 2.903000318e-04f, 2.905091421e-04f,
+2.907177349e-04f, 2.909258098e-04f, 2.911333665e-04f, 2.913404047e-04f, 2.915469241e-04f, 2.917529244e-04f, 2.919584051e-04f, 2.921633661e-04f, 2.923678070e-04f, 2.925717274e-04f,
+2.927751272e-04f, 2.929780058e-04f, 2.931803632e-04f, 2.933821988e-04f, 2.935835125e-04f, 2.937843039e-04f, 2.939845726e-04f, 2.941843185e-04f, 2.943835412e-04f, 2.945822403e-04f,
+2.947804156e-04f, 2.949780668e-04f, 2.951751935e-04f, 2.953717955e-04f, 2.955678725e-04f, 2.957634241e-04f, 2.959584501e-04f, 2.961529501e-04f, 2.963469239e-04f, 2.965403712e-04f,
+2.967332916e-04f, 2.969256849e-04f, 2.971175508e-04f, 2.973088890e-04f, 2.974996992e-04f, 2.976899811e-04f, 2.978797344e-04f, 2.980689588e-04f, 2.982576540e-04f, 2.984458198e-04f,
+2.986334559e-04f, 2.988205619e-04f, 2.990071377e-04f, 2.991931828e-04f, 2.993786970e-04f, 2.995636801e-04f, 2.997481318e-04f, 2.999320517e-04f, 3.001154397e-04f, 3.002982953e-04f,
+3.004806184e-04f, 3.006624087e-04f, 3.008436658e-04f, 3.010243896e-04f, 3.012045798e-04f, 3.013842360e-04f, 3.015633580e-04f, 3.017419455e-04f, 3.019199983e-04f, 3.020975161e-04f,
+3.022744986e-04f, 3.024509455e-04f, 3.026268567e-04f, 3.028022318e-04f, 3.029770705e-04f, 3.031513727e-04f, 3.033251379e-04f, 3.034983661e-04f, 3.036710568e-04f, 3.038432100e-04f,
+3.040148252e-04f, 3.041859022e-04f, 3.043564409e-04f, 3.045264408e-04f, 3.046959019e-04f, 3.048648237e-04f, 3.050332062e-04f, 3.052010489e-04f, 3.053683517e-04f, 3.055351143e-04f,
+3.057013365e-04f, 3.058670180e-04f, 3.060321585e-04f, 3.061967579e-04f, 3.063608159e-04f, 3.065243322e-04f, 3.066873066e-04f, 3.068497388e-04f, 3.070116287e-04f, 3.071729759e-04f,
+3.073337803e-04f, 3.074940415e-04f, 3.076537594e-04f, 3.078129337e-04f, 3.079715642e-04f, 3.081296506e-04f, 3.082871927e-04f, 3.084441904e-04f, 3.086006432e-04f, 3.087565511e-04f,
+3.089119138e-04f, 3.090667310e-04f, 3.092210026e-04f, 3.093747282e-04f, 3.095279078e-04f, 3.096805410e-04f, 3.098326276e-04f, 3.099841674e-04f, 3.101351602e-04f, 3.102856058e-04f,
+3.104355039e-04f, 3.105848544e-04f, 3.107336569e-04f, 3.108819113e-04f, 3.110296175e-04f, 3.111767750e-04f, 3.113233838e-04f, 3.114694436e-04f, 3.116149543e-04f, 3.117599155e-04f,
+3.119043272e-04f, 3.120481890e-04f, 3.121915008e-04f, 3.123342623e-04f, 3.124764735e-04f, 3.126181340e-04f, 3.127592436e-04f, 3.128998022e-04f, 3.130398095e-04f, 3.131792654e-04f,
+3.133181696e-04f, 3.134565219e-04f, 3.135943222e-04f, 3.137315702e-04f, 3.138682658e-04f, 3.140044088e-04f, 3.141399988e-04f, 3.142750359e-04f, 3.144095197e-04f, 3.145434501e-04f,
+3.146768269e-04f, 3.148096499e-04f, 3.149419189e-04f, 3.150736337e-04f, 3.152047941e-04f, 3.153354000e-04f, 3.154654511e-04f, 3.155949474e-04f, 3.157238885e-04f, 3.158522743e-04f,
+3.159801046e-04f, 3.161073793e-04f, 3.162340982e-04f, 3.163602610e-04f, 3.164858677e-04f, 3.166109180e-04f, 3.167354118e-04f, 3.168593488e-04f, 3.169827290e-04f, 3.171055521e-04f,
+3.172278179e-04f, 3.173495264e-04f, 3.174706773e-04f, 3.175912704e-04f, 3.177113056e-04f, 3.178307828e-04f, 3.179497017e-04f, 3.180680622e-04f, 3.181858642e-04f, 3.183031074e-04f,
+3.184197917e-04f, 3.185359169e-04f, 3.186514830e-04f, 3.187664896e-04f, 3.188809367e-04f, 3.189948242e-04f, 3.191081518e-04f, 3.192209194e-04f, 3.193331268e-04f, 3.194447739e-04f,
+3.195558606e-04f, 3.196663866e-04f, 3.197763519e-04f, 3.198857563e-04f, 3.199945996e-04f, 3.201028817e-04f, 3.202106025e-04f, 3.203177617e-04f, 3.204243594e-04f, 3.205303952e-04f,
+3.206358691e-04f, 3.207407809e-04f, 3.208451306e-04f, 3.209489178e-04f, 3.210521426e-04f, 3.211548048e-04f, 3.212569042e-04f, 3.213584407e-04f, 3.214594142e-04f, 3.215598245e-04f,
+3.216596715e-04f, 3.217589551e-04f, 3.218576751e-04f, 3.219558315e-04f, 3.220534240e-04f, 3.221504526e-04f, 3.222469171e-04f, 3.223428174e-04f, 3.224381534e-04f, 3.225329249e-04f,
+3.226271319e-04f, 3.227207742e-04f, 3.228138517e-04f, 3.229063642e-04f, 3.229983117e-04f, 3.230896941e-04f, 3.231805111e-04f, 3.232707628e-04f, 3.233604489e-04f, 3.234495695e-04f,
+3.235381242e-04f, 3.236261132e-04f, 3.237135361e-04f, 3.238003930e-04f, 3.238866838e-04f, 3.239724082e-04f, 3.240575662e-04f, 3.241421578e-04f, 3.242261827e-04f, 3.243096409e-04f,
+3.243925323e-04f, 3.244748568e-04f, 3.245566143e-04f, 3.246378046e-04f, 3.247184278e-04f, 3.247984836e-04f, 3.248779721e-04f, 3.249568930e-04f, 3.250352463e-04f, 3.251130319e-04f,
+3.251902498e-04f, 3.252668997e-04f, 3.253429817e-04f, 3.254184957e-04f, 3.254934415e-04f, 3.255678190e-04f, 3.256416282e-04f, 3.257148690e-04f, 3.257875414e-04f, 3.258596451e-04f,
+3.259311802e-04f, 3.260021465e-04f, 3.260725440e-04f, 3.261423726e-04f, 3.262116323e-04f, 3.262803228e-04f, 3.263484442e-04f, 3.264159964e-04f, 3.264829793e-04f, 3.265493929e-04f,
+3.266152370e-04f, 3.266805116e-04f, 3.267452166e-04f, 3.268093520e-04f, 3.268729176e-04f, 3.269359134e-04f, 3.269983394e-04f, 3.270601955e-04f, 3.271214816e-04f, 3.271821976e-04f,
+3.272423435e-04f, 3.273019192e-04f, 3.273609247e-04f, 3.274193599e-04f, 3.274772248e-04f, 3.275345192e-04f, 3.275912431e-04f, 3.276473965e-04f, 3.277029793e-04f, 3.277579915e-04f,
+3.278124330e-04f, 3.278663037e-04f, 3.279196037e-04f, 3.279723328e-04f, 3.280244910e-04f, 3.280760782e-04f, 3.281270945e-04f, 3.281775397e-04f, 3.282274138e-04f, 3.282767168e-04f,
+3.283254486e-04f, 3.283736092e-04f, 3.284211986e-04f, 3.284682166e-04f, 3.285146633e-04f, 3.285605386e-04f, 3.286058426e-04f, 3.286505750e-04f, 3.286947360e-04f, 3.287383255e-04f,
+3.287813434e-04f, 3.288237897e-04f, 3.288656644e-04f, 3.289069674e-04f, 3.289476988e-04f, 3.289878585e-04f, 3.290274464e-04f, 3.290664626e-04f, 3.291049070e-04f, 3.291427795e-04f,
+3.291800803e-04f, 3.292168092e-04f, 3.292529662e-04f, 3.292885513e-04f, 3.293235644e-04f, 3.293580057e-04f, 3.293918750e-04f, 3.294251723e-04f, 3.294578976e-04f, 3.294900509e-04f,
+3.295216322e-04f, 3.295526415e-04f, 3.295830787e-04f, 3.296129439e-04f, 3.296422370e-04f, 3.296709581e-04f, 3.296991070e-04f, 3.297266839e-04f, 3.297536887e-04f, 3.297801214e-04f,
+3.298059820e-04f, 3.298312705e-04f, 3.298559868e-04f, 3.298801311e-04f, 3.299037033e-04f, 3.299267034e-04f, 3.299491313e-04f, 3.299709872e-04f, 3.299922709e-04f, 3.300129826e-04f,
+3.300331222e-04f, 3.300526897e-04f, 3.300716852e-04f, 3.300901086e-04f, 3.301079599e-04f, 3.301252392e-04f, 3.301419465e-04f, 3.301580817e-04f, 3.301736450e-04f, 3.301886363e-04f,
+3.302030556e-04f, 3.302169029e-04f, 3.302301783e-04f, 3.302428818e-04f, 3.302550134e-04f, 3.302665732e-04f, 3.302775610e-04f, 3.302879771e-04f, 3.302978213e-04f, 3.303070938e-04f,
+3.303157945e-04f, 3.303239235e-04f, 3.303314807e-04f, 3.303384664e-04f, 3.303448803e-04f, 3.303507227e-04f, 3.303559934e-04f, 3.303606926e-04f, 3.303648204e-04f, 3.303683766e-04f,
+3.303713614e-04f, 3.303737747e-04f, 3.303756168e-04f, 3.303768874e-04f, 3.303775868e-04f, 3.303777150e-04f, 3.303772719e-04f, 3.303762577e-04f, 3.303746723e-04f, 3.303725159e-04f,
+3.303697884e-04f, 3.303664900e-04f, 3.303626206e-04f, 3.303581803e-04f, 3.303531692e-04f, 3.303475873e-04f, 3.303414346e-04f, 3.303347113e-04f, 3.303274173e-04f, 3.303195528e-04f,
+3.303111177e-04f, 3.303021122e-04f, 3.302925362e-04f, 3.302823900e-04f, 3.302716734e-04f, 3.302603866e-04f, 3.302485296e-04f, 3.302361025e-04f, 3.302231054e-04f, 3.302095382e-04f,
+3.301954012e-04f, 3.301806943e-04f, 3.301654177e-04f, 3.301495713e-04f, 3.301331553e-04f, 3.301161697e-04f, 3.300986146e-04f, 3.300804901e-04f, 3.300617962e-04f, 3.300425330e-04f,
+3.300227007e-04f, 3.300022992e-04f, 3.299813286e-04f, 3.299597891e-04f, 3.299376806e-04f, 3.299150034e-04f, 3.298917574e-04f, 3.298679427e-04f, 3.298435595e-04f, 3.298186078e-04f,
+3.297930876e-04f, 3.297669992e-04f, 3.297403425e-04f, 3.297131177e-04f, 3.296853248e-04f, 3.296569640e-04f, 3.296280353e-04f, 3.295985388e-04f, 3.295684746e-04f, 3.295378428e-04f,
+3.295066435e-04f, 3.294748768e-04f, 3.294425428e-04f, 3.294096415e-04f, 3.293761732e-04f, 3.293421378e-04f, 3.293075356e-04f, 3.292723665e-04f, 3.292366307e-04f, 3.292003282e-04f,
+3.291634593e-04f, 3.291260240e-04f, 3.290880224e-04f, 3.290494546e-04f, 3.290103207e-04f, 3.289706209e-04f, 3.289303552e-04f, 3.288895237e-04f, 3.288481266e-04f, 3.288061640e-04f,
+3.287636360e-04f, 3.287205427e-04f, 3.286768842e-04f, 3.286326607e-04f, 3.285878722e-04f, 3.285425189e-04f, 3.284966009e-04f, 3.284501183e-04f, 3.284030712e-04f, 3.283554598e-04f,
+3.283072842e-04f, 3.282585445e-04f, 3.282092408e-04f, 3.281593733e-04f, 3.281089421e-04f, 3.280579473e-04f, 3.280063890e-04f, 3.279542674e-04f, 3.279015827e-04f, 3.278483348e-04f,
+3.277945241e-04f, 3.277401505e-04f, 3.276852143e-04f, 3.276297156e-04f, 3.275736545e-04f, 3.275170311e-04f, 3.274598457e-04f, 3.274020983e-04f, 3.273437890e-04f, 3.272849181e-04f,
+3.272254856e-04f, 3.271654918e-04f, 3.271049367e-04f, 3.270438205e-04f, 3.269821433e-04f, 3.269199053e-04f, 3.268571067e-04f, 3.267937475e-04f, 3.267298280e-04f, 3.266653483e-04f,
+3.266003085e-04f, 3.265347088e-04f, 3.264685494e-04f, 3.264018303e-04f, 3.263345519e-04f, 3.262667141e-04f, 3.261983173e-04f, 3.261293614e-04f, 3.260598468e-04f, 3.259897735e-04f,
+3.259191418e-04f, 3.258479517e-04f, 3.257762035e-04f, 3.257038973e-04f, 3.256310333e-04f, 3.255576116e-04f, 3.254836324e-04f, 3.254090959e-04f, 3.253340023e-04f, 3.252583517e-04f,
+3.251821443e-04f, 3.251053802e-04f, 3.250280597e-04f, 3.249501829e-04f, 3.248717500e-04f, 3.247927612e-04f, 3.247132166e-04f, 3.246331165e-04f, 3.245524609e-04f, 3.244712501e-04f,
+3.243894843e-04f, 3.243071636e-04f, 3.242242883e-04f, 3.241408584e-04f, 3.240568743e-04f, 3.239723361e-04f, 3.238872439e-04f, 3.238015980e-04f, 3.237153985e-04f, 3.236286456e-04f,
+3.235413396e-04f, 3.234534806e-04f, 3.233650688e-04f, 3.232761045e-04f, 3.231865877e-04f, 3.230965187e-04f, 3.230058977e-04f, 3.229147249e-04f, 3.228230005e-04f, 3.227307246e-04f,
+3.226378976e-04f, 3.225445195e-04f, 3.224505906e-04f, 3.223561111e-04f, 3.222610812e-04f, 3.221655011e-04f, 3.220693710e-04f, 3.219726911e-04f, 3.218754616e-04f, 3.217776828e-04f,
+3.216793547e-04f, 3.215804778e-04f, 3.214810521e-04f, 3.213810778e-04f, 3.212805553e-04f, 3.211794846e-04f, 3.210778660e-04f, 3.209756998e-04f, 3.208729861e-04f, 3.207697252e-04f,
+3.206659173e-04f, 3.205615625e-04f, 3.204566612e-04f, 3.203512136e-04f, 3.202452197e-04f, 3.201386800e-04f, 3.200315946e-04f, 3.199239637e-04f, 3.198157876e-04f, 3.197070665e-04f,
+3.195978006e-04f, 3.194879901e-04f, 3.193776354e-04f, 3.192667365e-04f, 3.191552937e-04f, 3.190433074e-04f, 3.189307776e-04f, 3.188177047e-04f, 3.187040889e-04f, 3.185899304e-04f,
+3.184752294e-04f, 3.183599862e-04f, 3.182442010e-04f, 3.181278741e-04f, 3.180110057e-04f, 3.178935961e-04f, 3.177756454e-04f, 3.176571540e-04f, 3.175381221e-04f, 3.174185498e-04f,
+3.172984376e-04f, 3.171777856e-04f, 3.170565940e-04f, 3.169348632e-04f, 3.168125933e-04f, 3.166897846e-04f, 3.165664374e-04f, 3.164425520e-04f, 3.163181285e-04f, 3.161931672e-04f,
+3.160676684e-04f, 3.159416324e-04f, 3.158150593e-04f, 3.156879496e-04f, 3.155603033e-04f, 3.154321208e-04f, 3.153034024e-04f, 3.151741482e-04f, 3.150443586e-04f, 3.149140339e-04f,
+3.147831742e-04f, 3.146517799e-04f, 3.145198512e-04f, 3.143873884e-04f, 3.142543917e-04f, 3.141208615e-04f, 3.139867980e-04f, 3.138522014e-04f, 3.137170721e-04f, 3.135814103e-04f,
+3.134452163e-04f, 3.133084904e-04f, 3.131712328e-04f, 3.130334438e-04f, 3.128951236e-04f, 3.127562727e-04f, 3.126168912e-04f, 3.124769794e-04f, 3.123365377e-04f, 3.121955662e-04f,
+3.120540653e-04f, 3.119120353e-04f, 3.117694764e-04f, 3.116263889e-04f, 3.114827731e-04f, 3.113386293e-04f, 3.111939579e-04f, 3.110487590e-04f, 3.109030329e-04f, 3.107567800e-04f,
+3.106100006e-04f, 3.104626949e-04f, 3.103148633e-04f, 3.101665059e-04f, 3.100176232e-04f, 3.098682154e-04f, 3.097182829e-04f, 3.095678258e-04f, 3.094168445e-04f, 3.092653394e-04f,
+3.091133107e-04f, 3.089607587e-04f, 3.088076837e-04f, 3.086540860e-04f, 3.084999659e-04f, 3.083453238e-04f, 3.081901599e-04f, 3.080344746e-04f, 3.078782681e-04f, 3.077215407e-04f,
+3.075642928e-04f, 3.074065247e-04f, 3.072482367e-04f, 3.070894291e-04f, 3.069301022e-04f, 3.067702563e-04f, 3.066098917e-04f, 3.064490088e-04f, 3.062876079e-04f, 3.061256892e-04f,
+3.059632532e-04f, 3.058003001e-04f, 3.056368302e-04f, 3.054728439e-04f, 3.053083415e-04f, 3.051433233e-04f, 3.049777896e-04f, 3.048117408e-04f, 3.046451771e-04f, 3.044780990e-04f,
+3.043105067e-04f, 3.041424006e-04f, 3.039737809e-04f, 3.038046481e-04f, 3.036350024e-04f, 3.034648442e-04f, 3.032941738e-04f, 3.031229915e-04f, 3.029512978e-04f, 3.027790928e-04f,
+3.026063770e-04f, 3.024331507e-04f, 3.022594141e-04f, 3.020851678e-04f, 3.019104119e-04f, 3.017351469e-04f, 3.015593731e-04f, 3.013830908e-04f, 3.012063003e-04f, 3.010290020e-04f,
+3.008511963e-04f, 3.006728835e-04f, 3.004940639e-04f, 3.003147379e-04f, 3.001349058e-04f, 2.999545681e-04f, 2.997737249e-04f, 2.995923767e-04f, 2.994105239e-04f, 2.992281667e-04f,
+2.990453055e-04f, 2.988619408e-04f, 2.986780728e-04f, 2.984937019e-04f, 2.983088284e-04f, 2.981234527e-04f, 2.979375752e-04f, 2.977511963e-04f, 2.975643162e-04f, 2.973769353e-04f,
+2.971890541e-04f, 2.970006728e-04f, 2.968117918e-04f, 2.966224116e-04f, 2.964325324e-04f, 2.962421546e-04f, 2.960512786e-04f, 2.958599047e-04f, 2.956680334e-04f, 2.954756649e-04f,
+2.952827997e-04f, 2.950894381e-04f, 2.948955806e-04f, 2.947012274e-04f, 2.945063789e-04f, 2.943110356e-04f, 2.941151977e-04f, 2.939188657e-04f, 2.937220400e-04f, 2.935247208e-04f,
+2.933269087e-04f, 2.931286039e-04f, 2.929298069e-04f, 2.927305180e-04f, 2.925307376e-04f, 2.923304661e-04f, 2.921297039e-04f, 2.919284514e-04f, 2.917267089e-04f, 2.915244768e-04f,
+2.913217555e-04f, 2.911185455e-04f, 2.909148470e-04f, 2.907106605e-04f, 2.905059863e-04f, 2.903008249e-04f, 2.900951767e-04f, 2.898890420e-04f, 2.896824212e-04f, 2.894753148e-04f,
+2.892677230e-04f, 2.890596464e-04f, 2.888510852e-04f, 2.886420400e-04f, 2.884325111e-04f, 2.882224988e-04f, 2.880120037e-04f, 2.878010261e-04f, 2.875895663e-04f, 2.873776248e-04f,
+2.871652021e-04f, 2.869522984e-04f, 2.867389143e-04f, 2.865250500e-04f, 2.863107061e-04f, 2.860958828e-04f, 2.858805807e-04f, 2.856648002e-04f, 2.854485416e-04f, 2.852318053e-04f,
+2.850145918e-04f, 2.847969014e-04f, 2.845787347e-04f, 2.843600919e-04f, 2.841409735e-04f, 2.839213800e-04f, 2.837013117e-04f, 2.834807691e-04f, 2.832597525e-04f, 2.830382624e-04f,
+2.828162992e-04f, 2.825938633e-04f, 2.823709552e-04f, 2.821475752e-04f, 2.819237238e-04f, 2.816994014e-04f, 2.814746084e-04f, 2.812493453e-04f, 2.810236124e-04f, 2.807974103e-04f,
+2.805707393e-04f, 2.803435998e-04f, 2.801159923e-04f, 2.798879172e-04f, 2.796593749e-04f, 2.794303659e-04f, 2.792008906e-04f, 2.789709494e-04f, 2.787405428e-04f, 2.785096712e-04f,
+2.782783350e-04f, 2.780465346e-04f, 2.778142705e-04f, 2.775815432e-04f, 2.773483530e-04f, 2.771147004e-04f, 2.768805859e-04f, 2.766460098e-04f, 2.764109727e-04f, 2.761754749e-04f,
+2.759395169e-04f, 2.757030992e-04f, 2.754662221e-04f, 2.752288862e-04f, 2.749910918e-04f, 2.747528394e-04f, 2.745141296e-04f, 2.742749626e-04f, 2.740353389e-04f, 2.737952591e-04f,
+2.735547235e-04f, 2.733137327e-04f, 2.730722869e-04f, 2.728303868e-04f, 2.725880327e-04f, 2.723452252e-04f, 2.721019645e-04f, 2.718582514e-04f, 2.716140860e-04f, 2.713694690e-04f,
+2.711244008e-04f, 2.708788818e-04f, 2.706329125e-04f, 2.703864934e-04f, 2.701396248e-04f, 2.698923074e-04f, 2.696445414e-04f, 2.693963275e-04f, 2.691476660e-04f, 2.688985575e-04f,
+2.686490023e-04f, 2.683990009e-04f, 2.681485539e-04f, 2.678976617e-04f, 2.676463247e-04f, 2.673945434e-04f, 2.671423183e-04f, 2.668896498e-04f, 2.666365384e-04f, 2.663829847e-04f,
+2.661289890e-04f, 2.658745518e-04f, 2.656196736e-04f, 2.653643549e-04f, 2.651085962e-04f, 2.648523979e-04f, 2.645957605e-04f, 2.643386844e-04f, 2.640811702e-04f, 2.638232184e-04f,
+2.635648293e-04f, 2.633060035e-04f, 2.630467416e-04f, 2.627870438e-04f, 2.625269108e-04f, 2.622663430e-04f, 2.620053408e-04f, 2.617439049e-04f, 2.614820356e-04f, 2.612197335e-04f,
+2.609569990e-04f, 2.606938326e-04f, 2.604302348e-04f, 2.601662061e-04f, 2.599017470e-04f, 2.596368579e-04f, 2.593715394e-04f, 2.591057920e-04f, 2.588396160e-04f, 2.585730122e-04f,
+2.583059808e-04f, 2.580385225e-04f, 2.577706376e-04f, 2.575023268e-04f, 2.572335905e-04f, 2.569644292e-04f, 2.566948433e-04f, 2.564248335e-04f, 2.561544001e-04f, 2.558835437e-04f,
+2.556122649e-04f, 2.553405640e-04f, 2.550684415e-04f, 2.547958981e-04f, 2.545229342e-04f, 2.542495503e-04f, 2.539757468e-04f, 2.537015244e-04f, 2.534268834e-04f, 2.531518245e-04f,
+2.528763481e-04f, 2.526004548e-04f, 2.523241449e-04f, 2.520474191e-04f, 2.517702779e-04f, 2.514927217e-04f, 2.512147511e-04f, 2.509363666e-04f, 2.506575686e-04f, 2.503783578e-04f,
+2.500987346e-04f, 2.498186995e-04f, 2.495382531e-04f, 2.492573958e-04f, 2.489761282e-04f, 2.486944509e-04f, 2.484123642e-04f, 2.481298688e-04f, 2.478469651e-04f, 2.475636536e-04f,
+2.472799350e-04f, 2.469958097e-04f, 2.467112782e-04f, 2.464263411e-04f, 2.461409988e-04f, 2.458552519e-04f, 2.455691010e-04f, 2.452825465e-04f, 2.449955890e-04f, 2.447082290e-04f,
+2.444204670e-04f, 2.441323035e-04f, 2.438437392e-04f, 2.435547744e-04f, 2.432654098e-04f, 2.429756458e-04f, 2.426854831e-04f, 2.423949220e-04f, 2.421039633e-04f, 2.418126073e-04f,
+2.415208546e-04f, 2.412287059e-04f, 2.409361615e-04f, 2.406432220e-04f, 2.403498880e-04f, 2.400561600e-04f, 2.397620385e-04f, 2.394675241e-04f, 2.391726174e-04f, 2.388773187e-04f,
+2.385816288e-04f, 2.382855481e-04f, 2.379890772e-04f, 2.376922165e-04f, 2.373949668e-04f, 2.370973284e-04f, 2.367993020e-04f, 2.365008881e-04f, 2.362020872e-04f, 2.359028998e-04f,
+2.356033266e-04f, 2.353033681e-04f, 2.350030248e-04f, 2.347022972e-04f, 2.344011860e-04f, 2.340996916e-04f, 2.337978146e-04f, 2.334955555e-04f, 2.331929150e-04f, 2.328898936e-04f,
+2.325864917e-04f, 2.322827101e-04f, 2.319785491e-04f, 2.316740094e-04f, 2.313690916e-04f, 2.310637961e-04f, 2.307581236e-04f, 2.304520745e-04f, 2.301456495e-04f, 2.298388492e-04f,
+2.295316739e-04f, 2.292241245e-04f, 2.289162013e-04f, 2.286079049e-04f, 2.282992360e-04f, 2.279901950e-04f, 2.276807825e-04f, 2.273709992e-04f, 2.270608455e-04f, 2.267503220e-04f,
+2.264394293e-04f, 2.261281679e-04f, 2.258165385e-04f, 2.255045415e-04f, 2.251921776e-04f, 2.248794473e-04f, 2.245663511e-04f, 2.242528897e-04f, 2.239390637e-04f, 2.236248735e-04f,
+2.233103198e-04f, 2.229954031e-04f, 2.226801240e-04f, 2.223644830e-04f, 2.220484808e-04f, 2.217321180e-04f, 2.214153950e-04f, 2.210983125e-04f, 2.207808710e-04f, 2.204630711e-04f,
+2.201449135e-04f, 2.198263986e-04f, 2.195075270e-04f, 2.191882993e-04f, 2.188687162e-04f, 2.185487781e-04f, 2.182284857e-04f, 2.179078396e-04f, 2.175868402e-04f, 2.172654882e-04f,
+2.169437843e-04f, 2.166217289e-04f, 2.162993226e-04f, 2.159765661e-04f, 2.156534598e-04f, 2.153300045e-04f, 2.150062007e-04f, 2.146820489e-04f, 2.143575498e-04f, 2.140327039e-04f,
+2.137075118e-04f, 2.133819742e-04f, 2.130560915e-04f, 2.127298645e-04f, 2.124032936e-04f, 2.120763796e-04f, 2.117491228e-04f, 2.114215241e-04f, 2.110935838e-04f, 2.107653028e-04f,
+2.104366814e-04f, 2.101077204e-04f, 2.097784203e-04f, 2.094487817e-04f, 2.091188052e-04f, 2.087884914e-04f, 2.084578409e-04f, 2.081268543e-04f, 2.077955322e-04f, 2.074638752e-04f,
+2.071318839e-04f, 2.067995588e-04f, 2.064669007e-04f, 2.061339100e-04f, 2.058005875e-04f, 2.054669336e-04f, 2.051329490e-04f, 2.047986343e-04f, 2.044639901e-04f, 2.041290169e-04f,
+2.037937155e-04f, 2.034580864e-04f, 2.031221302e-04f, 2.027858475e-04f, 2.024492389e-04f, 2.021123051e-04f, 2.017750466e-04f, 2.014374640e-04f, 2.010995579e-04f, 2.007613291e-04f,
+2.004227779e-04f, 2.000839052e-04f, 1.997447114e-04f, 1.994051972e-04f, 1.990653633e-04f, 1.987252101e-04f, 1.983847384e-04f, 1.980439487e-04f, 1.977028417e-04f, 1.973614179e-04f,
+1.970196780e-04f, 1.966776226e-04f, 1.963352523e-04f, 1.959925677e-04f, 1.956495694e-04f, 1.953062581e-04f, 1.949626344e-04f, 1.946186989e-04f, 1.942744521e-04f, 1.939298948e-04f,
+1.935850276e-04f, 1.932398510e-04f, 1.928943657e-04f, 1.925485722e-04f, 1.922024713e-04f, 1.918560636e-04f, 1.915093496e-04f, 1.911623300e-04f, 1.908150054e-04f, 1.904673764e-04f,
+1.901194437e-04f, 1.897712079e-04f, 1.894226696e-04f, 1.890738294e-04f, 1.887246879e-04f, 1.883752459e-04f, 1.880255038e-04f, 1.876754624e-04f, 1.873251223e-04f, 1.869744840e-04f,
+1.866235482e-04f, 1.862723156e-04f, 1.859207868e-04f, 1.855689624e-04f, 1.852168430e-04f, 1.848644293e-04f, 1.845117219e-04f, 1.841587214e-04f, 1.838054284e-04f, 1.834518437e-04f,
+1.830979678e-04f, 1.827438013e-04f, 1.823893450e-04f, 1.820345994e-04f, 1.816795651e-04f, 1.813242428e-04f, 1.809686332e-04f, 1.806127368e-04f, 1.802565544e-04f, 1.799000864e-04f,
+1.795433337e-04f, 1.791862968e-04f, 1.788289763e-04f, 1.784713730e-04f, 1.781134873e-04f, 1.777553201e-04f, 1.773968718e-04f, 1.770381432e-04f, 1.766791349e-04f, 1.763198476e-04f,
+1.759602818e-04f, 1.756004383e-04f, 1.752403176e-04f, 1.748799204e-04f, 1.745192474e-04f, 1.741582991e-04f, 1.737970763e-04f, 1.734355796e-04f, 1.730738097e-04f, 1.727117671e-04f,
+1.723494525e-04f, 1.719868666e-04f, 1.716240100e-04f, 1.712608833e-04f, 1.708974873e-04f, 1.705338225e-04f, 1.701698897e-04f, 1.698056894e-04f, 1.694412223e-04f, 1.690764890e-04f,
+1.687114903e-04f, 1.683462267e-04f, 1.679806990e-04f, 1.676149077e-04f, 1.672488535e-04f, 1.668825370e-04f, 1.665159590e-04f, 1.661491201e-04f, 1.657820209e-04f, 1.654146620e-04f,
+1.650470442e-04f, 1.646791681e-04f, 1.643110343e-04f, 1.639426435e-04f, 1.635739964e-04f, 1.632050936e-04f, 1.628359357e-04f, 1.624665235e-04f, 1.620968576e-04f, 1.617269386e-04f,
+1.613567671e-04f, 1.609863440e-04f, 1.606156698e-04f, 1.602447451e-04f, 1.598735707e-04f, 1.595021472e-04f, 1.591304752e-04f, 1.587585554e-04f, 1.583863885e-04f, 1.580139752e-04f,
+1.576413161e-04f, 1.572684118e-04f, 1.568952631e-04f, 1.565218705e-04f, 1.561482348e-04f, 1.557743566e-04f, 1.554002367e-04f, 1.550258755e-04f, 1.546512739e-04f, 1.542764324e-04f,
+1.539013518e-04f, 1.535260327e-04f, 1.531504758e-04f, 1.527746817e-04f, 1.523986512e-04f, 1.520223848e-04f, 1.516458833e-04f, 1.512691472e-04f, 1.508921774e-04f, 1.505149744e-04f,
+1.501375390e-04f, 1.497598717e-04f, 1.493819733e-04f, 1.490038445e-04f, 1.486254858e-04f, 1.482468980e-04f, 1.478680818e-04f, 1.474890378e-04f, 1.471097666e-04f, 1.467302691e-04f,
+1.463505458e-04f, 1.459705973e-04f, 1.455904245e-04f, 1.452100279e-04f, 1.448294083e-04f, 1.444485663e-04f, 1.440675025e-04f, 1.436862178e-04f, 1.433047126e-04f, 1.429229877e-04f,
+1.425410439e-04f, 1.421588817e-04f, 1.417765018e-04f, 1.413939050e-04f, 1.410110918e-04f, 1.406280631e-04f, 1.402448193e-04f, 1.398613613e-04f, 1.394776898e-04f, 1.390938053e-04f,
+1.387097085e-04f, 1.383254002e-04f, 1.379408811e-04f, 1.375561517e-04f, 1.371712128e-04f, 1.367860651e-04f, 1.364007093e-04f, 1.360151460e-04f, 1.356293759e-04f, 1.352433997e-04f,
+1.348572180e-04f, 1.344708317e-04f, 1.340842413e-04f, 1.336974475e-04f, 1.333104510e-04f, 1.329232525e-04f, 1.325358527e-04f, 1.321482523e-04f, 1.317604519e-04f, 1.313724523e-04f,
+1.309842541e-04f, 1.305958579e-04f, 1.302072646e-04f, 1.298184748e-04f, 1.294294891e-04f, 1.290403083e-04f, 1.286509330e-04f, 1.282613640e-04f, 1.278716019e-04f, 1.274816474e-04f,
+1.270915011e-04f, 1.267011639e-04f, 1.263106363e-04f, 1.259199191e-04f, 1.255290130e-04f, 1.251379186e-04f, 1.247466366e-04f, 1.243551678e-04f, 1.239635127e-04f, 1.235716722e-04f,
+1.231796468e-04f, 1.227874374e-04f, 1.223950445e-04f, 1.220024689e-04f, 1.216097113e-04f, 1.212167723e-04f, 1.208236527e-04f, 1.204303531e-04f, 1.200368742e-04f, 1.196432168e-04f,
+1.192493815e-04f, 1.188553690e-04f, 1.184611800e-04f, 1.180668153e-04f, 1.176722754e-04f, 1.172775611e-04f, 1.168826732e-04f, 1.164876122e-04f, 1.160923789e-04f, 1.156969739e-04f,
+1.153013981e-04f, 1.149056520e-04f, 1.145097364e-04f, 1.141136520e-04f, 1.137173994e-04f, 1.133209794e-04f, 1.129243926e-04f, 1.125276398e-04f, 1.121307217e-04f, 1.117336389e-04f,
+1.113363922e-04f, 1.109389822e-04f, 1.105414097e-04f, 1.101436753e-04f, 1.097457798e-04f, 1.093477238e-04f, 1.089495081e-04f, 1.085511333e-04f, 1.081526002e-04f, 1.077539094e-04f,
+1.073550617e-04f, 1.069560578e-04f, 1.065568983e-04f, 1.061575840e-04f, 1.057581155e-04f, 1.053584936e-04f, 1.049587189e-04f, 1.045587923e-04f, 1.041587143e-04f, 1.037584856e-04f,
+1.033581071e-04f, 1.029575793e-04f, 1.025569030e-04f, 1.021560789e-04f, 1.017551077e-04f, 1.013539901e-04f, 1.009527268e-04f, 1.005513185e-04f, 1.001497659e-04f, 9.974806976e-05f,
+9.934623071e-05f, 9.894424948e-05f, 9.854212679e-05f, 9.813986334e-05f, 9.773745982e-05f, 9.733491696e-05f, 9.693223546e-05f, 9.652941602e-05f, 9.612645935e-05f, 9.572336615e-05f,
+9.532013714e-05f, 9.491677303e-05f, 9.451327451e-05f, 9.410964229e-05f, 9.370587710e-05f, 9.330197962e-05f, 9.289795058e-05f, 9.249379067e-05f, 9.208950061e-05f, 9.168508111e-05f,
+9.128053288e-05f, 9.087585662e-05f, 9.047105304e-05f, 9.006612286e-05f, 8.966106678e-05f, 8.925588551e-05f, 8.885057976e-05f, 8.844515025e-05f, 8.803959768e-05f, 8.763392276e-05f,
+8.722812621e-05f, 8.682220874e-05f, 8.641617104e-05f, 8.601001385e-05f, 8.560373786e-05f, 8.519734379e-05f, 8.479083236e-05f, 8.438420426e-05f, 8.397746022e-05f, 8.357060094e-05f,
+8.316362715e-05f, 8.275653954e-05f, 8.234933884e-05f, 8.194202575e-05f, 8.153460099e-05f, 8.112706527e-05f, 8.071941930e-05f, 8.031166381e-05f, 7.990379949e-05f, 7.949582706e-05f,
+7.908774724e-05f, 7.867956075e-05f, 7.827126828e-05f, 7.786287057e-05f, 7.745436832e-05f, 7.704576224e-05f, 7.663705306e-05f, 7.622824148e-05f, 7.581932822e-05f, 7.541031399e-05f,
+7.500119951e-05f, 7.459198550e-05f, 7.418267267e-05f, 7.377326173e-05f, 7.336375339e-05f, 7.295414839e-05f, 7.254444742e-05f, 7.213465121e-05f, 7.172476048e-05f, 7.131477593e-05f,
+7.090469828e-05f, 7.049452825e-05f, 7.008426656e-05f, 6.967391392e-05f, 6.926347104e-05f, 6.885293866e-05f, 6.844231747e-05f, 6.803160820e-05f, 6.762081157e-05f, 6.720992828e-05f,
+6.679895907e-05f, 6.638790464e-05f, 6.597676571e-05f, 6.556554300e-05f, 6.515423723e-05f, 6.474284912e-05f, 6.433137937e-05f, 6.391982872e-05f, 6.350819787e-05f, 6.309648755e-05f,
+6.268469847e-05f, 6.227283135e-05f, 6.186088692e-05f, 6.144886587e-05f, 6.103676895e-05f, 6.062459685e-05f, 6.021235031e-05f, 5.980003004e-05f, 5.938763676e-05f, 5.897517118e-05f,
+5.856263403e-05f, 5.815002603e-05f, 5.773734789e-05f, 5.732460033e-05f, 5.691178407e-05f, 5.649889983e-05f, 5.608594833e-05f, 5.567293029e-05f, 5.525984643e-05f, 5.484669746e-05f,
+5.443348411e-05f, 5.402020710e-05f, 5.360686714e-05f, 5.319346495e-05f, 5.278000126e-05f, 5.236647678e-05f, 5.195289223e-05f, 5.153924834e-05f, 5.112554581e-05f, 5.071178538e-05f,
+5.029796777e-05f, 4.988409368e-05f, 4.947016384e-05f, 4.905617898e-05f, 4.864213981e-05f, 4.822804705e-05f, 4.781390142e-05f, 4.739970364e-05f, 4.698545444e-05f, 4.657115452e-05f,
+4.615680462e-05f, 4.574240545e-05f, 4.532795774e-05f, 4.491346220e-05f, 4.449891955e-05f, 4.408433051e-05f, 4.366969581e-05f, 4.325501617e-05f, 4.284029229e-05f, 4.242552492e-05f,
+4.201071476e-05f, 4.159586254e-05f, 4.118096897e-05f, 4.076603478e-05f, 4.035106069e-05f, 3.993604742e-05f, 3.952099569e-05f, 3.910590622e-05f, 3.869077973e-05f, 3.827561694e-05f,
+3.786041857e-05f, 3.744518535e-05f, 3.702991798e-05f, 3.661461721e-05f, 3.619928373e-05f, 3.578391829e-05f, 3.536852159e-05f, 3.495309435e-05f, 3.453763730e-05f, 3.412215116e-05f,
+3.370663665e-05f, 3.329109449e-05f, 3.287552540e-05f, 3.245993010e-05f, 3.204430931e-05f, 3.162866375e-05f, 3.121299415e-05f, 3.079730122e-05f, 3.038158568e-05f, 2.996584826e-05f,
+2.955008967e-05f, 2.913431064e-05f, 2.871851188e-05f, 2.830269412e-05f, 2.788685808e-05f, 2.747100448e-05f, 2.705513403e-05f, 2.663924746e-05f, 2.622334549e-05f, 2.580742884e-05f,
+2.539149824e-05f, 2.497555439e-05f, 2.455959802e-05f, 2.414362985e-05f, 2.372765060e-05f, 2.331166099e-05f, 2.289566175e-05f, 2.247965359e-05f, 2.206363722e-05f, 2.164761338e-05f,
+2.123158278e-05f, 2.081554615e-05f, 2.039950419e-05f, 1.998345764e-05f, 1.956740720e-05f, 1.915135361e-05f, 1.873529758e-05f, 1.831923983e-05f, 1.790318108e-05f, 1.748712204e-05f,
+1.707106345e-05f, 1.665500602e-05f, 1.623895046e-05f, 1.582289750e-05f, 1.540684786e-05f, 1.499080226e-05f, 1.457476141e-05f, 1.415872603e-05f, 1.374269685e-05f, 1.332667458e-05f,
+1.291065995e-05f, 1.249465366e-05f, 1.207865644e-05f, 1.166266901e-05f, 1.124669209e-05f, 1.083072639e-05f, 1.041477263e-05f, 9.998831541e-06f, 9.582903830e-06f, 9.166990217e-06f,
+8.751091422e-06f, 8.335208161e-06f, 7.919341155e-06f, 7.503491119e-06f, 7.087658773e-06f, 6.671844834e-06f, 6.256050020e-06f, 5.840275049e-06f, 5.424520637e-06f, 5.008787503e-06f,
+4.593076365e-06f, 4.177387938e-06f, 3.761722941e-06f, 3.346082090e-06f, 2.930466104e-06f, 2.514875697e-06f, 2.099311588e-06f, 1.683774494e-06f, 1.268265129e-06f, 8.527842127e-07f,
+4.373324595e-07f, 2.191058641e-08f, -3.934806905e-07f, -8.088406550e-07f, -1.224168591e-06f, -1.639463783e-06f, -2.054725515e-06f, -2.469953071e-06f, -2.885145736e-06f, -3.300302794e-06f,
+-3.715423530e-06f, -4.130507229e-06f, -4.545553175e-06f, -4.960560654e-06f, -5.375528951e-06f, -5.790457350e-06f, -6.205345138e-06f, -6.620191600e-06f, -7.034996021e-06f, -7.449757688e-06f,
+-7.864475886e-06f, -8.279149900e-06f, -8.693779018e-06f, -9.108362526e-06f, -9.522899709e-06f, -9.937389854e-06f, -1.035183225e-05f, -1.076622618e-05f, -1.118057093e-05f, -1.159486580e-05f,
+-1.200911006e-05f, -1.242330300e-05f, -1.283744392e-05f, -1.325153209e-05f, -1.366556682e-05f, -1.407954737e-05f, -1.449347306e-05f, -1.490734315e-05f, -1.532115694e-05f, -1.573491372e-05f,
+-1.614861278e-05f, -1.656225341e-05f, -1.697583488e-05f, -1.738935651e-05f, -1.780281756e-05f, -1.821621734e-05f, -1.862955513e-05f, -1.904283022e-05f, -1.945604191e-05f, -1.986918948e-05f,
+-2.028227221e-05f, -2.069528942e-05f, -2.110824037e-05f, -2.152112437e-05f, -2.193394070e-05f, -2.234668866e-05f, -2.275936754e-05f, -2.317197662e-05f, -2.358451521e-05f, -2.399698258e-05f,
+-2.440937804e-05f, -2.482170088e-05f, -2.523395038e-05f, -2.564612585e-05f, -2.605822657e-05f, -2.647025183e-05f, -2.688220094e-05f, -2.729407317e-05f, -2.770586784e-05f, -2.811758422e-05f,
+-2.852922161e-05f, -2.894077931e-05f, -2.935225662e-05f, -2.976365282e-05f, -3.017496720e-05f, -3.058619908e-05f, -3.099734773e-05f, -3.140841246e-05f, -3.181939256e-05f, -3.223028732e-05f,
+-3.264109604e-05f, -3.305181803e-05f, -3.346245256e-05f, -3.387299895e-05f, -3.428345648e-05f, -3.469382445e-05f, -3.510410217e-05f, -3.551428892e-05f, -3.592438400e-05f, -3.633438672e-05f,
+-3.674429636e-05f, -3.715411224e-05f, -3.756383364e-05f, -3.797345986e-05f, -3.838299021e-05f, -3.879242397e-05f, -3.920176046e-05f, -3.961099897e-05f, -4.002013880e-05f, -4.042917924e-05f,
+-4.083811961e-05f, -4.124695919e-05f, -4.165569730e-05f, -4.206433322e-05f, -4.247286627e-05f, -4.288129574e-05f, -4.328962093e-05f, -4.369784115e-05f, -4.410595569e-05f, -4.451396386e-05f,
+-4.492186497e-05f, -4.532965830e-05f, -4.573734318e-05f, -4.614491889e-05f, -4.655238474e-05f, -4.695974004e-05f, -4.736698409e-05f, -4.777411620e-05f, -4.818113566e-05f, -4.858804178e-05f,
+-4.899483387e-05f, -4.940151123e-05f, -4.980807317e-05f, -5.021451899e-05f, -5.062084800e-05f, -5.102705951e-05f, -5.143315281e-05f, -5.183912722e-05f, -5.224498204e-05f, -5.265071658e-05f,
+-5.305633015e-05f, -5.346182206e-05f, -5.386719160e-05f, -5.427243810e-05f, -5.467756085e-05f, -5.508255918e-05f, -5.548743238e-05f, -5.589217976e-05f, -5.629680064e-05f, -5.670129432e-05f,
+-5.710566012e-05f, -5.750989734e-05f, -5.791400529e-05f, -5.831798329e-05f, -5.872183065e-05f, -5.912554667e-05f, -5.952913067e-05f, -5.993258196e-05f, -6.033589986e-05f, -6.073908367e-05f,
+-6.114213270e-05f, -6.154504628e-05f, -6.194782371e-05f, -6.235046431e-05f, -6.275296739e-05f, -6.315533227e-05f, -6.355755825e-05f, -6.395964466e-05f, -6.436159080e-05f, -6.476339601e-05f,
+-6.516505958e-05f, -6.556658083e-05f, -6.596795909e-05f, -6.636919367e-05f, -6.677028388e-05f, -6.717122904e-05f, -6.757202847e-05f, -6.797268149e-05f, -6.837318742e-05f, -6.877354556e-05f,
+-6.917375525e-05f, -6.957381580e-05f, -6.997372653e-05f, -7.037348675e-05f, -7.077309580e-05f, -7.117255298e-05f, -7.157185763e-05f, -7.197100905e-05f, -7.237000657e-05f, -7.276884952e-05f,
+-7.316753721e-05f, -7.356606896e-05f, -7.396444411e-05f, -7.436266196e-05f, -7.476072185e-05f, -7.515862310e-05f, -7.555636502e-05f, -7.595394695e-05f, -7.635136821e-05f, -7.674862812e-05f,
+-7.714572602e-05f, -7.754266121e-05f, -7.793943303e-05f, -7.833604081e-05f, -7.873248387e-05f, -7.912876153e-05f, -7.952487314e-05f, -7.992081800e-05f, -8.031659545e-05f, -8.071220482e-05f,
+-8.110764543e-05f, -8.150291662e-05f, -8.189801771e-05f, -8.229294804e-05f, -8.268770692e-05f, -8.308229370e-05f, -8.347670770e-05f, -8.387094825e-05f, -8.426501469e-05f, -8.465890634e-05f,
+-8.505262253e-05f, -8.544616261e-05f, -8.583952590e-05f, -8.623271173e-05f, -8.662571944e-05f, -8.701854836e-05f, -8.741119783e-05f, -8.780366717e-05f, -8.819595573e-05f, -8.858806283e-05f,
+-8.897998782e-05f, -8.937173003e-05f, -8.976328879e-05f, -9.015466345e-05f, -9.054585333e-05f, -9.093685778e-05f, -9.132767613e-05f, -9.171830773e-05f, -9.210875190e-05f, -9.249900799e-05f,
+-9.288907533e-05f, -9.327895328e-05f, -9.366864116e-05f, -9.405813831e-05f, -9.444744408e-05f, -9.483655781e-05f, -9.522547884e-05f, -9.561420650e-05f, -9.600274015e-05f, -9.639107912e-05f,
+-9.677922276e-05f, -9.716717042e-05f, -9.755492142e-05f, -9.794247513e-05f, -9.832983087e-05f, -9.871698800e-05f, -9.910394587e-05f, -9.949070381e-05f, -9.987726118e-05f, -1.002636173e-04f,
+-1.006497716e-04f, -1.010357233e-04f, -1.014214718e-04f, -1.018070165e-04f, -1.021923567e-04f, -1.025774917e-04f, -1.029624210e-04f, -1.033471438e-04f, -1.037316595e-04f, -1.041159675e-04f,
+-1.045000671e-04f, -1.048839576e-04f, -1.052676385e-04f, -1.056511090e-04f, -1.060343685e-04f, -1.064174163e-04f, -1.068002519e-04f, -1.071828746e-04f, -1.075652837e-04f, -1.079474786e-04f,
+-1.083294586e-04f, -1.087112231e-04f, -1.090927715e-04f, -1.094741030e-04f, -1.098552171e-04f, -1.102361132e-04f, -1.106167905e-04f, -1.109972484e-04f, -1.113774863e-04f, -1.117575036e-04f,
+-1.121372996e-04f, -1.125168736e-04f, -1.128962251e-04f, -1.132753533e-04f, -1.136542578e-04f, -1.140329377e-04f, -1.144113925e-04f, -1.147896215e-04f, -1.151676241e-04f, -1.155453997e-04f,
+-1.159229476e-04f, -1.163002672e-04f, -1.166773578e-04f, -1.170542188e-04f, -1.174308497e-04f, -1.178072497e-04f, -1.181834181e-04f, -1.185593545e-04f, -1.189350581e-04f, -1.193105284e-04f,
+-1.196857646e-04f, -1.200607661e-04f, -1.204355324e-04f, -1.208100628e-04f, -1.211843566e-04f, -1.215584132e-04f, -1.219322321e-04f, -1.223058125e-04f, -1.226791538e-04f, -1.230522555e-04f,
+-1.234251169e-04f, -1.237977373e-04f, -1.241701161e-04f, -1.245422528e-04f, -1.249141466e-04f, -1.252857970e-04f, -1.256572033e-04f, -1.260283649e-04f, -1.263992812e-04f, -1.267699516e-04f,
+-1.271403754e-04f, -1.275105520e-04f, -1.278804808e-04f, -1.282501611e-04f, -1.286195924e-04f, -1.289887741e-04f, -1.293577054e-04f, -1.297263859e-04f, -1.300948148e-04f, -1.304629916e-04f,
+-1.308309156e-04f, -1.311985862e-04f, -1.315660028e-04f, -1.319331648e-04f, -1.323000715e-04f, -1.326667224e-04f, -1.330331169e-04f, -1.333992542e-04f, -1.337651339e-04f, -1.341307552e-04f,
+-1.344961177e-04f, -1.348612206e-04f, -1.352260633e-04f, -1.355906453e-04f, -1.359549660e-04f, -1.363190246e-04f, -1.366828207e-04f, -1.370463535e-04f, -1.374096226e-04f, -1.377726272e-04f,
+-1.381353668e-04f, -1.384978408e-04f, -1.388600485e-04f, -1.392219894e-04f, -1.395836628e-04f, -1.399450682e-04f, -1.403062049e-04f, -1.406670723e-04f, -1.410276699e-04f, -1.413879970e-04f,
+-1.417480530e-04f, -1.421078373e-04f, -1.424673493e-04f, -1.428265885e-04f, -1.431855541e-04f, -1.435442457e-04f, -1.439026626e-04f, -1.442608042e-04f, -1.446186699e-04f, -1.449762591e-04f,
+-1.453335712e-04f, -1.456906057e-04f, -1.460473618e-04f, -1.464038391e-04f, -1.467600370e-04f, -1.471159547e-04f, -1.474715918e-04f, -1.478269477e-04f, -1.481820217e-04f, -1.485368132e-04f,
+-1.488913218e-04f, -1.492455467e-04f, -1.495994873e-04f, -1.499531432e-04f, -1.503065137e-04f, -1.506595981e-04f, -1.510123960e-04f, -1.513649068e-04f, -1.517171297e-04f, -1.520690644e-04f,
+-1.524207101e-04f, -1.527720662e-04f, -1.531231323e-04f, -1.534739077e-04f, -1.538243918e-04f, -1.541745840e-04f, -1.545244838e-04f, -1.548740906e-04f, -1.552234037e-04f, -1.555724227e-04f,
+-1.559211469e-04f, -1.562695757e-04f, -1.566177086e-04f, -1.569655450e-04f, -1.573130843e-04f, -1.576603259e-04f, -1.580072692e-04f, -1.583539137e-04f, -1.587002588e-04f, -1.590463040e-04f,
+-1.593920485e-04f, -1.597374919e-04f, -1.600826336e-04f, -1.604274730e-04f, -1.607720096e-04f, -1.611162427e-04f, -1.614601718e-04f, -1.618037963e-04f, -1.621471157e-04f, -1.624901293e-04f,
+-1.628328367e-04f, -1.631752372e-04f, -1.635173302e-04f, -1.638591153e-04f, -1.642005917e-04f, -1.645417591e-04f, -1.648826167e-04f, -1.652231641e-04f, -1.655634006e-04f, -1.659033257e-04f,
+-1.662429388e-04f, -1.665822394e-04f, -1.669212270e-04f, -1.672599008e-04f, -1.675982604e-04f, -1.679363053e-04f, -1.682740348e-04f, -1.686114484e-04f, -1.689485455e-04f, -1.692853256e-04f,
+-1.696217881e-04f, -1.699579324e-04f, -1.702937581e-04f, -1.706292645e-04f, -1.709644511e-04f, -1.712993173e-04f, -1.716338626e-04f, -1.719680864e-04f, -1.723019882e-04f, -1.726355674e-04f,
+-1.729688234e-04f, -1.733017557e-04f, -1.736343638e-04f, -1.739666471e-04f, -1.742986051e-04f, -1.746302371e-04f, -1.749615427e-04f, -1.752925213e-04f, -1.756231724e-04f, -1.759534953e-04f,
+-1.762834897e-04f, -1.766131548e-04f, -1.769424902e-04f, -1.772714953e-04f, -1.776001696e-04f, -1.779285126e-04f, -1.782565236e-04f, -1.785842022e-04f, -1.789115477e-04f, -1.792385598e-04f,
+-1.795652378e-04f, -1.798915811e-04f, -1.802175893e-04f, -1.805432618e-04f, -1.808685981e-04f, -1.811935976e-04f, -1.815182597e-04f, -1.818425841e-04f, -1.821665700e-04f, -1.824902171e-04f,
+-1.828135247e-04f, -1.831364923e-04f, -1.834591194e-04f, -1.837814054e-04f, -1.841033498e-04f, -1.844249522e-04f, -1.847462119e-04f, -1.850671284e-04f, -1.853877012e-04f, -1.857079298e-04f,
+-1.860278136e-04f, -1.863473521e-04f, -1.866665448e-04f, -1.869853911e-04f, -1.873038906e-04f, -1.876220427e-04f, -1.879398469e-04f, -1.882573026e-04f, -1.885744094e-04f, -1.888911666e-04f,
+-1.892075739e-04f, -1.895236306e-04f, -1.898393363e-04f, -1.901546904e-04f, -1.904696924e-04f, -1.907843418e-04f, -1.910986380e-04f, -1.914125807e-04f, -1.917261691e-04f, -1.920394029e-04f,
+-1.923522815e-04f, -1.926648043e-04f, -1.929769710e-04f, -1.932887809e-04f, -1.936002335e-04f, -1.939113284e-04f, -1.942220650e-04f, -1.945324429e-04f, -1.948424614e-04f, -1.951521201e-04f,
+-1.954614185e-04f, -1.957703561e-04f, -1.960789324e-04f, -1.963871468e-04f, -1.966949989e-04f, -1.970024881e-04f, -1.973096140e-04f, -1.976163760e-04f, -1.979227737e-04f, -1.982288065e-04f,
+-1.985344739e-04f, -1.988397755e-04f, -1.991447107e-04f, -1.994492790e-04f, -1.997534799e-04f, -2.000573130e-04f, -2.003607777e-04f, -2.006638736e-04f, -2.009666001e-04f, -2.012689567e-04f,
+-2.015709430e-04f, -2.018725584e-04f, -2.021738025e-04f, -2.024746748e-04f, -2.027751747e-04f, -2.030753018e-04f, -2.033750556e-04f, -2.036744356e-04f, -2.039734413e-04f, -2.042720722e-04f,
+-2.045703279e-04f, -2.048682078e-04f, -2.051657114e-04f, -2.054628383e-04f, -2.057595880e-04f, -2.060559600e-04f, -2.063519538e-04f, -2.066475689e-04f, -2.069428049e-04f, -2.072376613e-04f,
+-2.075321375e-04f, -2.078262331e-04f, -2.081199476e-04f, -2.084132806e-04f, -2.087062315e-04f, -2.089987999e-04f, -2.092909853e-04f, -2.095827873e-04f, -2.098742053e-04f, -2.101652389e-04f,
+-2.104558875e-04f, -2.107461508e-04f, -2.110360283e-04f, -2.113255194e-04f, -2.116146237e-04f, -2.119033408e-04f, -2.121916701e-04f, -2.124796112e-04f, -2.127671637e-04f, -2.130543270e-04f,
+-2.133411007e-04f, -2.136274843e-04f, -2.139134774e-04f, -2.141990795e-04f, -2.144842901e-04f, -2.147691087e-04f, -2.150535350e-04f, -2.153375684e-04f, -2.156212084e-04f, -2.159044547e-04f,
+-2.161873067e-04f, -2.164697641e-04f, -2.167518262e-04f, -2.170334927e-04f, -2.173147632e-04f, -2.175956371e-04f, -2.178761140e-04f, -2.181561934e-04f, -2.184358749e-04f, -2.187151581e-04f,
+-2.189940424e-04f, -2.192725275e-04f, -2.195506129e-04f, -2.198282981e-04f, -2.201055826e-04f, -2.203824661e-04f, -2.206589481e-04f, -2.209350281e-04f, -2.212107056e-04f, -2.214859804e-04f,
+-2.217608517e-04f, -2.220353194e-04f, -2.223093828e-04f, -2.225830416e-04f, -2.228562953e-04f, -2.231291435e-04f, -2.234015857e-04f, -2.236736214e-04f, -2.239452504e-04f, -2.242164720e-04f,
+-2.244872859e-04f, -2.247576916e-04f, -2.250276887e-04f, -2.252972768e-04f, -2.255664554e-04f, -2.258352240e-04f, -2.261035823e-04f, -2.263715298e-04f, -2.266390662e-04f, -2.269061908e-04f,
+-2.271729034e-04f, -2.274392034e-04f, -2.277050905e-04f, -2.279705643e-04f, -2.282356242e-04f, -2.285002699e-04f, -2.287645010e-04f, -2.290283170e-04f, -2.292917174e-04f, -2.295547019e-04f,
+-2.298172701e-04f, -2.300794215e-04f, -2.303411557e-04f, -2.306024723e-04f, -2.308633708e-04f, -2.311238508e-04f, -2.313839120e-04f, -2.316435539e-04f, -2.319027760e-04f, -2.321615780e-04f,
+-2.324199595e-04f, -2.326779200e-04f, -2.329354591e-04f, -2.331925763e-04f, -2.334492714e-04f, -2.337055439e-04f, -2.339613933e-04f, -2.342168193e-04f, -2.344718214e-04f, -2.347263992e-04f,
+-2.349805524e-04f, -2.352342804e-04f, -2.354875830e-04f, -2.357404597e-04f, -2.359929100e-04f, -2.362449337e-04f, -2.364965302e-04f, -2.367476993e-04f, -2.369984404e-04f, -2.372487531e-04f,
+-2.374986372e-04f, -2.377480921e-04f, -2.379971175e-04f, -2.382457130e-04f, -2.384938782e-04f, -2.387416126e-04f, -2.389889159e-04f, -2.392357877e-04f, -2.394822276e-04f, -2.397282352e-04f,
+-2.399738102e-04f, -2.402189520e-04f, -2.404636603e-04f, -2.407079348e-04f, -2.409517750e-04f, -2.411951806e-04f, -2.414381511e-04f, -2.416806862e-04f, -2.419227855e-04f, -2.421644486e-04f,
+-2.424056751e-04f, -2.426464646e-04f, -2.428868168e-04f, -2.431267312e-04f, -2.433662075e-04f, -2.436052453e-04f, -2.438438443e-04f, -2.440820039e-04f, -2.443197239e-04f, -2.445570040e-04f,
+-2.447938436e-04f, -2.450302424e-04f, -2.452662001e-04f, -2.455017162e-04f, -2.457367905e-04f, -2.459714224e-04f, -2.462056117e-04f, -2.464393580e-04f, -2.466726610e-04f, -2.469055201e-04f,
+-2.471379351e-04f, -2.473699056e-04f, -2.476014313e-04f, -2.478325117e-04f, -2.480631465e-04f, -2.482933353e-04f, -2.485230778e-04f, -2.487523736e-04f, -2.489812223e-04f, -2.492096236e-04f,
+-2.494375771e-04f, -2.496650825e-04f, -2.498921393e-04f, -2.501187473e-04f, -2.503449061e-04f, -2.505706152e-04f, -2.507958745e-04f, -2.510206834e-04f, -2.512450417e-04f, -2.514689490e-04f,
+-2.516924049e-04f, -2.519154091e-04f, -2.521379612e-04f, -2.523600609e-04f, -2.525817078e-04f, -2.528029016e-04f, -2.530236420e-04f, -2.532439285e-04f, -2.534637609e-04f, -2.536831388e-04f,
+-2.539020618e-04f, -2.541205296e-04f, -2.543385418e-04f, -2.545560982e-04f, -2.547731983e-04f, -2.549898419e-04f, -2.552060285e-04f, -2.554217579e-04f, -2.556370297e-04f, -2.558518436e-04f,
+-2.560661992e-04f, -2.562800962e-04f, -2.564935343e-04f, -2.567065131e-04f, -2.569190322e-04f, -2.571310915e-04f, -2.573426904e-04f, -2.575538288e-04f, -2.577645062e-04f, -2.579747223e-04f,
+-2.581844768e-04f, -2.583937694e-04f, -2.586025998e-04f, -2.588109675e-04f, -2.590188724e-04f, -2.592263140e-04f, -2.594332921e-04f, -2.596398063e-04f, -2.598458562e-04f, -2.600514417e-04f,
+-2.602565623e-04f, -2.604612177e-04f, -2.606654077e-04f, -2.608691318e-04f, -2.610723898e-04f, -2.612751814e-04f, -2.614775062e-04f, -2.616793640e-04f, -2.618807543e-04f, -2.620816770e-04f,
+-2.622821316e-04f, -2.624821179e-04f, -2.626816356e-04f, -2.628806844e-04f, -2.630792638e-04f, -2.632773737e-04f, -2.634750138e-04f, -2.636721836e-04f, -2.638688830e-04f, -2.640651116e-04f,
+-2.642608691e-04f, -2.644561552e-04f, -2.646509695e-04f, -2.648453119e-04f, -2.650391820e-04f, -2.652325794e-04f, -2.654255040e-04f, -2.656179554e-04f, -2.658099332e-04f, -2.660014373e-04f,
+-2.661924672e-04f, -2.663830228e-04f, -2.665731037e-04f, -2.667627096e-04f, -2.669518402e-04f, -2.671404953e-04f, -2.673286745e-04f, -2.675163776e-04f, -2.677036042e-04f, -2.678903542e-04f,
+-2.680766271e-04f, -2.682624227e-04f, -2.684477407e-04f, -2.686325809e-04f, -2.688169429e-04f, -2.690008265e-04f, -2.691842313e-04f, -2.693671572e-04f, -2.695496038e-04f, -2.697315708e-04f,
+-2.699130580e-04f, -2.700940651e-04f, -2.702745917e-04f, -2.704546377e-04f, -2.706342028e-04f, -2.708132866e-04f, -2.709918890e-04f, -2.711700095e-04f, -2.713476480e-04f, -2.715248042e-04f,
+-2.717014779e-04f, -2.718776686e-04f, -2.720533763e-04f, -2.722286006e-04f, -2.724033412e-04f, -2.725775978e-04f, -2.727513703e-04f, -2.729246583e-04f, -2.730974617e-04f, -2.732697800e-04f,
+-2.734416131e-04f, -2.736129607e-04f, -2.737838225e-04f, -2.739541983e-04f, -2.741240878e-04f, -2.742934908e-04f, -2.744624069e-04f, -2.746308361e-04f, -2.747987779e-04f, -2.749662321e-04f,
+-2.751331985e-04f, -2.752996769e-04f, -2.754656669e-04f, -2.756311684e-04f, -2.757961811e-04f, -2.759607046e-04f, -2.761247389e-04f, -2.762882836e-04f, -2.764513385e-04f, -2.766139033e-04f,
+-2.767759778e-04f, -2.769375618e-04f, -2.770986549e-04f, -2.772592571e-04f, -2.774193679e-04f, -2.775789873e-04f, -2.777381149e-04f, -2.778967505e-04f, -2.780548939e-04f, -2.782125448e-04f,
+-2.783697030e-04f, -2.785263682e-04f, -2.786825403e-04f, -2.788382190e-04f, -2.789934040e-04f, -2.791480952e-04f, -2.793022923e-04f, -2.794559950e-04f, -2.796092032e-04f, -2.797619165e-04f,
+-2.799141349e-04f, -2.800658580e-04f, -2.802170856e-04f, -2.803678176e-04f, -2.805180536e-04f, -2.806677935e-04f, -2.808170370e-04f, -2.809657840e-04f, -2.811140341e-04f, -2.812617872e-04f,
+-2.814090431e-04f, -2.815558015e-04f, -2.817020622e-04f, -2.818478250e-04f, -2.819930897e-04f, -2.821378561e-04f, -2.822821240e-04f, -2.824258931e-04f, -2.825691632e-04f, -2.827119342e-04f,
+-2.828542058e-04f, -2.829959778e-04f, -2.831372500e-04f, -2.832780222e-04f, -2.834182941e-04f, -2.835580657e-04f, -2.836973366e-04f, -2.838361067e-04f, -2.839743758e-04f, -2.841121436e-04f,
+-2.842494101e-04f, -2.843861748e-04f, -2.845224378e-04f, -2.846581987e-04f, -2.847934574e-04f, -2.849282136e-04f, -2.850624672e-04f, -2.851962181e-04f, -2.853294659e-04f, -2.854622105e-04f,
+-2.855944517e-04f, -2.857261893e-04f, -2.858574231e-04f, -2.859881530e-04f, -2.861183787e-04f, -2.862481001e-04f, -2.863773169e-04f, -2.865060291e-04f, -2.866342363e-04f, -2.867619384e-04f,
+-2.868891353e-04f, -2.870158267e-04f, -2.871420125e-04f, -2.872676924e-04f, -2.873928664e-04f, -2.875175342e-04f, -2.876416957e-04f, -2.877653506e-04f, -2.878884988e-04f, -2.880111401e-04f,
+-2.881332744e-04f, -2.882549014e-04f, -2.883760211e-04f, -2.884966332e-04f, -2.886167375e-04f, -2.887363339e-04f, -2.888554222e-04f, -2.889740023e-04f, -2.890920740e-04f, -2.892096370e-04f,
+-2.893266914e-04f, -2.894432368e-04f, -2.895592731e-04f, -2.896748002e-04f, -2.897898179e-04f, -2.899043260e-04f, -2.900183244e-04f, -2.901318129e-04f, -2.902447913e-04f, -2.903572596e-04f,
+-2.904692175e-04f, -2.905806649e-04f, -2.906916016e-04f, -2.908020275e-04f, -2.909119424e-04f, -2.910213462e-04f, -2.911302387e-04f, -2.912386198e-04f, -2.913464893e-04f, -2.914538471e-04f,
+-2.915606930e-04f, -2.916670268e-04f, -2.917728485e-04f, -2.918781579e-04f, -2.919829549e-04f, -2.920872392e-04f, -2.921910108e-04f, -2.922942695e-04f, -2.923970152e-04f, -2.924992477e-04f,
+-2.926009669e-04f, -2.927021727e-04f, -2.928028649e-04f, -2.929030434e-04f, -2.930027080e-04f, -2.931018587e-04f, -2.932004952e-04f, -2.932986175e-04f, -2.933962254e-04f, -2.934933188e-04f,
+-2.935898975e-04f, -2.936859615e-04f, -2.937815106e-04f, -2.938765446e-04f, -2.939710635e-04f, -2.940650671e-04f, -2.941585554e-04f, -2.942515281e-04f, -2.943439851e-04f, -2.944359264e-04f,
+-2.945273518e-04f, -2.946182612e-04f, -2.947086544e-04f, -2.947985314e-04f, -2.948878921e-04f, -2.949767362e-04f, -2.950650638e-04f, -2.951528747e-04f, -2.952401687e-04f, -2.953269458e-04f,
+-2.954132059e-04f, -2.954989488e-04f, -2.955841744e-04f, -2.956688826e-04f, -2.957530734e-04f, -2.958367466e-04f, -2.959199020e-04f, -2.960025397e-04f, -2.960846595e-04f, -2.961662612e-04f,
+-2.962473448e-04f, -2.963279103e-04f, -2.964079574e-04f, -2.964874860e-04f, -2.965664962e-04f, -2.966449878e-04f, -2.967229606e-04f, -2.968004146e-04f, -2.968773497e-04f, -2.969537659e-04f,
+-2.970296629e-04f, -2.971050407e-04f, -2.971798993e-04f, -2.972542385e-04f, -2.973280583e-04f, -2.974013585e-04f, -2.974741390e-04f, -2.975463999e-04f, -2.976181409e-04f, -2.976893620e-04f,
+-2.977600632e-04f, -2.978302443e-04f, -2.978999052e-04f, -2.979690459e-04f, -2.980376663e-04f, -2.981057664e-04f, -2.981733459e-04f, -2.982404049e-04f, -2.983069433e-04f, -2.983729610e-04f,
+-2.984384579e-04f, -2.985034340e-04f, -2.985678891e-04f, -2.986318232e-04f, -2.986952363e-04f, -2.987581283e-04f, -2.988204990e-04f, -2.988823484e-04f, -2.989436765e-04f, -2.990044832e-04f,
+-2.990647684e-04f, -2.991245321e-04f, -2.991837741e-04f, -2.992424945e-04f, -2.993006931e-04f, -2.993583699e-04f, -2.994155249e-04f, -2.994721580e-04f, -2.995282690e-04f, -2.995838581e-04f,
+-2.996389250e-04f, -2.996934698e-04f, -2.997474923e-04f, -2.998009927e-04f, -2.998539707e-04f, -2.999064263e-04f, -2.999583595e-04f, -3.000097702e-04f, -3.000606584e-04f, -3.001110241e-04f,
+-3.001608671e-04f, -3.002101875e-04f, -3.002589851e-04f, -3.003072600e-04f, -3.003550121e-04f, -3.004022413e-04f, -3.004489476e-04f, -3.004951310e-04f, -3.005407915e-04f, -3.005859289e-04f,
+-3.006305432e-04f, -3.006746345e-04f, -3.007182027e-04f, -3.007612476e-04f, -3.008037694e-04f, -3.008457679e-04f, -3.008872432e-04f, -3.009281952e-04f, -3.009686238e-04f, -3.010085291e-04f,
+-3.010479110e-04f, -3.010867694e-04f, -3.011251044e-04f, -3.011629159e-04f, -3.012002039e-04f, -3.012369684e-04f, -3.012732093e-04f, -3.013089266e-04f, -3.013441204e-04f, -3.013787905e-04f,
+-3.014129369e-04f, -3.014465597e-04f, -3.014796588e-04f, -3.015122342e-04f, -3.015442859e-04f, -3.015758138e-04f, -3.016068180e-04f, -3.016372984e-04f, -3.016672550e-04f, -3.016966878e-04f,
+-3.017255969e-04f, -3.017539821e-04f, -3.017818434e-04f, -3.018091810e-04f, -3.018359946e-04f, -3.018622845e-04f, -3.018880504e-04f, -3.019132925e-04f, -3.019380107e-04f, -3.019622051e-04f,
+-3.019858756e-04f, -3.020090221e-04f, -3.020316449e-04f, -3.020537437e-04f, -3.020753186e-04f, -3.020963697e-04f, -3.021168969e-04f, -3.021369002e-04f, -3.021563796e-04f, -3.021753352e-04f,
+-3.021937669e-04f, -3.022116748e-04f, -3.022290588e-04f, -3.022459190e-04f, -3.022622553e-04f, -3.022780679e-04f, -3.022933566e-04f, -3.023081215e-04f, -3.023223627e-04f, -3.023360801e-04f,
+-3.023492738e-04f, -3.023619437e-04f, -3.023740899e-04f, -3.023857124e-04f, -3.023968113e-04f, -3.024073865e-04f, -3.024174380e-04f, -3.024269659e-04f, -3.024359703e-04f, -3.024444510e-04f,
+-3.024524082e-04f, -3.024598419e-04f, -3.024667521e-04f, -3.024731389e-04f, -3.024790021e-04f, -3.024843420e-04f, -3.024891585e-04f, -3.024934517e-04f, -3.024972215e-04f, -3.025004680e-04f,
+-3.025031913e-04f, -3.025053913e-04f, -3.025070682e-04f, -3.025082219e-04f, -3.025088525e-04f, -3.025089601e-04f, -3.025085446e-04f, -3.025076061e-04f, -3.025061446e-04f, -3.025041602e-04f,
+-3.025016530e-04f, -3.024986229e-04f, -3.024950700e-04f, -3.024909944e-04f, -3.024863961e-04f, -3.024812752e-04f, -3.024756316e-04f, -3.024694655e-04f, -3.024627769e-04f, -3.024555659e-04f,
+-3.024478324e-04f, -3.024395766e-04f, -3.024307985e-04f, -3.024214982e-04f, -3.024116757e-04f, -3.024013310e-04f, -3.023904643e-04f, -3.023790755e-04f, -3.023671648e-04f, -3.023547322e-04f,
+-3.023417778e-04f, -3.023283015e-04f, -3.023143036e-04f, -3.022997840e-04f, -3.022847428e-04f, -3.022691801e-04f, -3.022530960e-04f, -3.022364904e-04f, -3.022193635e-04f, -3.022017154e-04f,
+-3.021835461e-04f, -3.021648556e-04f, -3.021456441e-04f, -3.021259117e-04f, -3.021056583e-04f, -3.020848841e-04f, -3.020635892e-04f, -3.020417736e-04f, -3.020194374e-04f, -3.019965806e-04f,
+-3.019732034e-04f, -3.019493059e-04f, -3.019248880e-04f, -3.018999500e-04f, -3.018744918e-04f, -3.018485136e-04f, -3.018220155e-04f, -3.017949974e-04f, -3.017674596e-04f, -3.017394021e-04f,
+-3.017108249e-04f, -3.016817282e-04f, -3.016521121e-04f, -3.016219767e-04f, -3.015913220e-04f, -3.015601481e-04f, -3.015284551e-04f, -3.014962432e-04f, -3.014635124e-04f, -3.014302628e-04f,
+-3.013964945e-04f, -3.013622076e-04f, -3.013274022e-04f, -3.012920784e-04f, -3.012562363e-04f, -3.012198760e-04f, -3.011829976e-04f, -3.011456012e-04f, -3.011076869e-04f, -3.010692549e-04f,
+-3.010303051e-04f, -3.009908377e-04f, -3.009508529e-04f, -3.009103508e-04f, -3.008693313e-04f, -3.008277947e-04f, -3.007857411e-04f, -3.007431706e-04f, -3.007000832e-04f, -3.006564792e-04f,
+-3.006123585e-04f, -3.005677214e-04f, -3.005225679e-04f, -3.004768982e-04f, -3.004307124e-04f, -3.003840105e-04f, -3.003367928e-04f, -3.002890593e-04f, -3.002408102e-04f, -3.001920455e-04f,
+-3.001427654e-04f, -3.000929701e-04f, -3.000426596e-04f, -2.999918341e-04f, -2.999404937e-04f, -2.998886385e-04f, -2.998362687e-04f, -2.997833843e-04f, -2.997299856e-04f, -2.996760726e-04f,
+-2.996216454e-04f, -2.995667043e-04f, -2.995112493e-04f, -2.994552806e-04f, -2.993987983e-04f, -2.993418026e-04f, -2.992842935e-04f, -2.992262713e-04f, -2.991677360e-04f, -2.991086878e-04f,
+-2.990491268e-04f, -2.989890533e-04f, -2.989284672e-04f, -2.988673688e-04f, -2.988057582e-04f, -2.987436356e-04f, -2.986810010e-04f, -2.986178547e-04f, -2.985541968e-04f, -2.984900275e-04f,
+-2.984253468e-04f, -2.983601549e-04f, -2.982944521e-04f, -2.982282384e-04f, -2.981615139e-04f, -2.980942790e-04f, -2.980265336e-04f, -2.979582780e-04f, -2.978895123e-04f, -2.978202366e-04f,
+-2.977504512e-04f, -2.976801562e-04f, -2.976093517e-04f, -2.975380379e-04f, -2.974662150e-04f, -2.973938831e-04f, -2.973210424e-04f, -2.972476930e-04f, -2.971738352e-04f, -2.970994690e-04f,
+-2.970245947e-04f, -2.969492124e-04f, -2.968733223e-04f, -2.967969246e-04f, -2.967200194e-04f, -2.966426069e-04f, -2.965646872e-04f, -2.964862606e-04f, -2.964073272e-04f, -2.963278872e-04f,
+-2.962479407e-04f, -2.961674880e-04f, -2.960865292e-04f, -2.960050645e-04f, -2.959230940e-04f, -2.958406180e-04f, -2.957576366e-04f, -2.956741501e-04f, -2.955901585e-04f, -2.955056621e-04f,
+-2.954206611e-04f, -2.953351556e-04f, -2.952491459e-04f, -2.951626320e-04f, -2.950756143e-04f, -2.949880929e-04f, -2.949000679e-04f, -2.948115396e-04f, -2.947225082e-04f, -2.946329738e-04f,
+-2.945429366e-04f, -2.944523969e-04f, -2.943613548e-04f, -2.942698106e-04f, -2.941777644e-04f, -2.940852163e-04f, -2.939921667e-04f, -2.938986157e-04f, -2.938045636e-04f, -2.937100104e-04f,
+-2.936149564e-04f, -2.935194019e-04f, -2.934233470e-04f, -2.933267919e-04f, -2.932297368e-04f, -2.931321819e-04f, -2.930341275e-04f, -2.929355737e-04f, -2.928365208e-04f, -2.927369689e-04f,
+-2.926369183e-04f, -2.925363692e-04f, -2.924353217e-04f, -2.923337762e-04f, -2.922317328e-04f, -2.921291917e-04f, -2.920261531e-04f, -2.919226173e-04f, -2.918185844e-04f, -2.917140548e-04f,
+-2.916090285e-04f, -2.915035059e-04f, -2.913974871e-04f, -2.912909724e-04f, -2.911839620e-04f, -2.910764561e-04f, -2.909684549e-04f, -2.908599586e-04f, -2.907509676e-04f, -2.906414819e-04f,
+-2.905315019e-04f, -2.904210277e-04f, -2.903100596e-04f, -2.901985978e-04f, -2.900866426e-04f, -2.899741941e-04f, -2.898612526e-04f, -2.897478184e-04f, -2.896338916e-04f, -2.895194726e-04f,
+-2.894045614e-04f, -2.892891585e-04f, -2.891732639e-04f, -2.890568780e-04f, -2.889400010e-04f, -2.888226331e-04f, -2.887047746e-04f, -2.885864256e-04f, -2.884675865e-04f, -2.883482575e-04f,
+-2.882284388e-04f, -2.881081307e-04f, -2.879873334e-04f, -2.878660472e-04f, -2.877442722e-04f, -2.876220088e-04f, -2.874992572e-04f, -2.873760177e-04f, -2.872522905e-04f, -2.871280758e-04f,
+-2.870033739e-04f, -2.868781851e-04f, -2.867525095e-04f, -2.866263476e-04f, -2.864996994e-04f, -2.863725653e-04f, -2.862449455e-04f, -2.861168403e-04f, -2.859882500e-04f, -2.858591747e-04f,
+-2.857296148e-04f, -2.855995705e-04f, -2.854690421e-04f, -2.853380299e-04f, -2.852065340e-04f, -2.850745548e-04f, -2.849420925e-04f, -2.848091474e-04f, -2.846757198e-04f, -2.845418099e-04f,
+-2.844074180e-04f, -2.842725444e-04f, -2.841371893e-04f, -2.840013530e-04f, -2.838650357e-04f, -2.837282378e-04f, -2.835909595e-04f, -2.834532012e-04f, -2.833149629e-04f, -2.831762451e-04f,
+-2.830370481e-04f, -2.828973720e-04f, -2.827572171e-04f, -2.826165839e-04f, -2.824754724e-04f, -2.823338830e-04f, -2.821918161e-04f, -2.820492718e-04f, -2.819062504e-04f, -2.817627523e-04f,
+-2.816187777e-04f, -2.814743268e-04f, -2.813294001e-04f, -2.811839977e-04f, -2.810381200e-04f, -2.808917672e-04f, -2.807449397e-04f, -2.805976377e-04f, -2.804498615e-04f, -2.803016113e-04f,
+-2.801528876e-04f, -2.800036906e-04f, -2.798540205e-04f, -2.797038778e-04f, -2.795532625e-04f, -2.794021752e-04f, -2.792506160e-04f, -2.790985853e-04f, -2.789460833e-04f, -2.787931104e-04f,
+-2.786396668e-04f, -2.784857529e-04f, -2.783313689e-04f, -2.781765152e-04f, -2.780211920e-04f, -2.778653998e-04f, -2.777091386e-04f, -2.775524090e-04f, -2.773952111e-04f, -2.772375453e-04f,
+-2.770794119e-04f, -2.769208113e-04f, -2.767617436e-04f, -2.766022092e-04f, -2.764422085e-04f, -2.762817417e-04f, -2.761208092e-04f, -2.759594112e-04f, -2.757975481e-04f, -2.756352202e-04f,
+-2.754724278e-04f, -2.753091712e-04f, -2.751454508e-04f, -2.749812669e-04f, -2.748166197e-04f, -2.746515096e-04f, -2.744859370e-04f, -2.743199020e-04f, -2.741534052e-04f, -2.739864467e-04f,
+-2.738190269e-04f, -2.736511462e-04f, -2.734828048e-04f, -2.733140031e-04f, -2.731447414e-04f, -2.729750200e-04f, -2.728048393e-04f, -2.726341996e-04f, -2.724631012e-04f, -2.722915445e-04f,
+-2.721195297e-04f, -2.719470572e-04f, -2.717741274e-04f, -2.716007406e-04f, -2.714268970e-04f, -2.712525972e-04f, -2.710778412e-04f, -2.709026297e-04f, -2.707269627e-04f, -2.705508408e-04f,
+-2.703742642e-04f, -2.701972332e-04f, -2.700197483e-04f, -2.698418097e-04f, -2.696634178e-04f, -2.694845729e-04f, -2.693052754e-04f, -2.691255257e-04f, -2.689453239e-04f, -2.687646707e-04f,
+-2.685835661e-04f, -2.684020107e-04f, -2.682200047e-04f, -2.680375485e-04f, -2.678546424e-04f, -2.676712869e-04f, -2.674874822e-04f, -2.673032287e-04f, -2.671185267e-04f, -2.669333767e-04f,
+-2.667477789e-04f, -2.665617337e-04f, -2.663752415e-04f, -2.661883026e-04f, -2.660009174e-04f, -2.658130862e-04f, -2.656248095e-04f, -2.654360874e-04f, -2.652469205e-04f, -2.650573091e-04f,
+-2.648672535e-04f, -2.646767540e-04f, -2.644858112e-04f, -2.642944253e-04f, -2.641025966e-04f, -2.639103256e-04f, -2.637176126e-04f, -2.635244580e-04f, -2.633308622e-04f, -2.631368254e-04f,
+-2.629423482e-04f, -2.627474308e-04f, -2.625520736e-04f, -2.623562770e-04f, -2.621600414e-04f, -2.619633671e-04f, -2.617662545e-04f, -2.615687040e-04f, -2.613707160e-04f, -2.611722908e-04f,
+-2.609734288e-04f, -2.607741304e-04f, -2.605743960e-04f, -2.603742258e-04f, -2.601736205e-04f, -2.599725802e-04f, -2.597711054e-04f, -2.595691964e-04f, -2.593668537e-04f, -2.591640776e-04f,
+-2.589608685e-04f, -2.587572268e-04f, -2.585531529e-04f, -2.583486471e-04f, -2.581437099e-04f, -2.579383416e-04f, -2.577325426e-04f, -2.575263134e-04f, -2.573196542e-04f, -2.571125655e-04f,
+-2.569050477e-04f, -2.566971011e-04f, -2.564887263e-04f, -2.562799234e-04f, -2.560706930e-04f, -2.558610354e-04f, -2.556509511e-04f, -2.554404404e-04f, -2.552295037e-04f, -2.550181414e-04f,
+-2.548063540e-04f, -2.545941417e-04f, -2.543815051e-04f, -2.541684444e-04f, -2.539549602e-04f, -2.537410528e-04f, -2.535267226e-04f, -2.533119700e-04f, -2.530967955e-04f, -2.528811993e-04f,
+-2.526651820e-04f, -2.524487439e-04f, -2.522318855e-04f, -2.520146071e-04f, -2.517969091e-04f, -2.515787920e-04f, -2.513602562e-04f, -2.511413020e-04f, -2.509219299e-04f, -2.507021403e-04f,
+-2.504819336e-04f, -2.502613103e-04f, -2.500402706e-04f, -2.498188151e-04f, -2.495969442e-04f, -2.493746583e-04f, -2.491519577e-04f, -2.489288429e-04f, -2.487053144e-04f, -2.484813725e-04f,
+-2.482570176e-04f, -2.480322502e-04f, -2.478070707e-04f, -2.475814795e-04f, -2.473554771e-04f, -2.471290638e-04f, -2.469022401e-04f, -2.466750064e-04f, -2.464473631e-04f, -2.462193107e-04f,
+-2.459908495e-04f, -2.457619801e-04f, -2.455327027e-04f, -2.453030180e-04f, -2.450729262e-04f, -2.448424278e-04f, -2.446115232e-04f, -2.443802129e-04f, -2.441484973e-04f, -2.439163768e-04f,
+-2.436838519e-04f, -2.434509230e-04f, -2.432175905e-04f, -2.429838549e-04f, -2.427497166e-04f, -2.425151759e-04f, -2.422802335e-04f, -2.420448896e-04f, -2.418091448e-04f, -2.415729995e-04f,
+-2.413364540e-04f, -2.410995090e-04f, -2.408621647e-04f, -2.406244216e-04f, -2.403862802e-04f, -2.401477409e-04f, -2.399088042e-04f, -2.396694705e-04f, -2.394297402e-04f, -2.391896138e-04f,
+-2.389490917e-04f, -2.387081744e-04f, -2.384668623e-04f, -2.382251559e-04f, -2.379830556e-04f, -2.377405619e-04f, -2.374976752e-04f, -2.372543959e-04f, -2.370107246e-04f, -2.367666616e-04f,
+-2.365222075e-04f, -2.362773626e-04f, -2.360321274e-04f, -2.357865024e-04f, -2.355404880e-04f, -2.352940847e-04f, -2.350472929e-04f, -2.348001131e-04f, -2.345525458e-04f, -2.343045913e-04f,
+-2.340562502e-04f, -2.338075230e-04f, -2.335584100e-04f, -2.333089118e-04f, -2.330590287e-04f, -2.328087613e-04f, -2.325581101e-04f, -2.323070754e-04f, -2.320556578e-04f, -2.318038576e-04f,
+-2.315516755e-04f, -2.312991118e-04f, -2.310461669e-04f, -2.307928415e-04f, -2.305391359e-04f, -2.302850506e-04f, -2.300305860e-04f, -2.297757427e-04f, -2.295205211e-04f, -2.292649217e-04f,
+-2.290089449e-04f, -2.287525912e-04f, -2.284958612e-04f, -2.282387552e-04f, -2.279812737e-04f, -2.277234172e-04f, -2.274651862e-04f, -2.272065812e-04f, -2.269476026e-04f, -2.266882509e-04f,
+-2.264285265e-04f, -2.261684301e-04f, -2.259079620e-04f, -2.256471226e-04f, -2.253859126e-04f, -2.251243324e-04f, -2.248623824e-04f, -2.246000631e-04f, -2.243373751e-04f, -2.240743187e-04f,
+-2.238108945e-04f, -2.235471030e-04f, -2.232829447e-04f, -2.230184199e-04f, -2.227535293e-04f, -2.224882733e-04f, -2.222226523e-04f, -2.219566670e-04f, -2.216903176e-04f, -2.214236049e-04f,
+-2.211565292e-04f, -2.208890910e-04f, -2.206212908e-04f, -2.203531291e-04f, -2.200846064e-04f, -2.198157232e-04f, -2.195464799e-04f, -2.192768772e-04f, -2.190069154e-04f, -2.187365950e-04f,
+-2.184659166e-04f, -2.181948807e-04f, -2.179234877e-04f, -2.176517381e-04f, -2.173796325e-04f, -2.171071713e-04f, -2.168343550e-04f, -2.165611841e-04f, -2.162876592e-04f, -2.160137807e-04f,
+-2.157395491e-04f, -2.154649650e-04f, -2.151900287e-04f, -2.149147409e-04f, -2.146391021e-04f, -2.143631126e-04f, -2.140867731e-04f, -2.138100841e-04f, -2.135330460e-04f, -2.132556593e-04f,
+-2.129779246e-04f, -2.126998424e-04f, -2.124214131e-04f, -2.121426373e-04f, -2.118635155e-04f, -2.115840481e-04f, -2.113042358e-04f, -2.110240790e-04f, -2.107435782e-04f, -2.104627340e-04f,
+-2.101815467e-04f, -2.099000171e-04f, -2.096181455e-04f, -2.093359325e-04f, -2.090533786e-04f, -2.087704843e-04f, -2.084872501e-04f, -2.082036765e-04f, -2.079197642e-04f, -2.076355134e-04f,
+-2.073509249e-04f, -2.070659991e-04f, -2.067807365e-04f, -2.064951376e-04f, -2.062092030e-04f, -2.059229332e-04f, -2.056363286e-04f, -2.053493899e-04f, -2.050621176e-04f, -2.047745121e-04f,
+-2.044865739e-04f, -2.041983037e-04f, -2.039097019e-04f, -2.036207691e-04f, -2.033315058e-04f, -2.030419124e-04f, -2.027519896e-04f, -2.024617378e-04f, -2.021711577e-04f, -2.018802496e-04f,
+-2.015890142e-04f, -2.012974519e-04f, -2.010055633e-04f, -2.007133490e-04f, -2.004208094e-04f, -2.001279450e-04f, -1.998347565e-04f, -1.995412444e-04f, -1.992474091e-04f, -1.989532512e-04f,
+-1.986587713e-04f, -1.983639698e-04f, -1.980688473e-04f, -1.977734044e-04f, -1.974776416e-04f, -1.971815593e-04f, -1.968851583e-04f, -1.965884389e-04f, -1.962914017e-04f, -1.959940473e-04f,
+-1.956963762e-04f, -1.953983889e-04f, -1.951000860e-04f, -1.948014680e-04f, -1.945025354e-04f, -1.942032889e-04f, -1.939037288e-04f, -1.936038559e-04f, -1.933036706e-04f, -1.930031734e-04f,
+-1.927023650e-04f, -1.924012457e-04f, -1.920998163e-04f, -1.917980772e-04f, -1.914960290e-04f, -1.911936722e-04f, -1.908910074e-04f, -1.905880351e-04f, -1.902847559e-04f, -1.899811703e-04f,
+-1.896772788e-04f, -1.893730821e-04f, -1.890685806e-04f, -1.887637749e-04f, -1.884586656e-04f, -1.881532532e-04f, -1.878475382e-04f, -1.875415212e-04f, -1.872352028e-04f, -1.869285836e-04f,
+-1.866216639e-04f, -1.863144445e-04f, -1.860069259e-04f, -1.856991086e-04f, -1.853909932e-04f, -1.850825802e-04f, -1.847738702e-04f, -1.844648637e-04f, -1.841555614e-04f, -1.838459637e-04f,
+-1.835360712e-04f, -1.832258846e-04f, -1.829154042e-04f, -1.826046307e-04f, -1.822935647e-04f, -1.819822067e-04f, -1.816705573e-04f, -1.813586170e-04f, -1.810463864e-04f, -1.807338661e-04f,
+-1.804210566e-04f, -1.801079584e-04f, -1.797945722e-04f, -1.794808985e-04f, -1.791669379e-04f, -1.788526909e-04f, -1.785381582e-04f, -1.782233401e-04f, -1.779082375e-04f, -1.775928507e-04f,
+-1.772771803e-04f, -1.769612271e-04f, -1.766449914e-04f, -1.763284738e-04f, -1.760116750e-04f, -1.756945956e-04f, -1.753772359e-04f, -1.750595968e-04f, -1.747416786e-04f, -1.744234820e-04f,
+-1.741050076e-04f, -1.737862559e-04f, -1.734672275e-04f, -1.731479230e-04f, -1.728283429e-04f, -1.725084879e-04f, -1.721883584e-04f, -1.718679551e-04f, -1.715472785e-04f, -1.712263293e-04f,
+-1.709051079e-04f, -1.705836150e-04f, -1.702618511e-04f, -1.699398169e-04f, -1.696175128e-04f, -1.692949396e-04f, -1.689720976e-04f, -1.686489877e-04f, -1.683256102e-04f, -1.680019658e-04f,
+-1.676780550e-04f, -1.673538785e-04f, -1.670294369e-04f, -1.667047306e-04f, -1.663797604e-04f, -1.660545267e-04f, -1.657290302e-04f, -1.654032713e-04f, -1.650772509e-04f, -1.647509693e-04f,
+-1.644244272e-04f, -1.640976252e-04f, -1.637705638e-04f, -1.634432437e-04f, -1.631156654e-04f, -1.627878295e-04f, -1.624597366e-04f, -1.621313872e-04f, -1.618027821e-04f, -1.614739217e-04f,
+-1.611448067e-04f, -1.608154375e-04f, -1.604858150e-04f, -1.601559395e-04f, -1.598258117e-04f, -1.594954322e-04f, -1.591648016e-04f, -1.588339205e-04f, -1.585027894e-04f, -1.581714090e-04f,
+-1.578397798e-04f, -1.575079025e-04f, -1.571757776e-04f, -1.568434057e-04f, -1.565107874e-04f, -1.561779233e-04f, -1.558448141e-04f, -1.555114602e-04f, -1.551778623e-04f, -1.548440211e-04f,
+-1.545099370e-04f, -1.541756106e-04f, -1.538410427e-04f, -1.535062337e-04f, -1.531711843e-04f, -1.528358951e-04f, -1.525003666e-04f, -1.521645995e-04f, -1.518285943e-04f, -1.514923517e-04f,
+-1.511558723e-04f, -1.508191566e-04f, -1.504822053e-04f, -1.501450189e-04f, -1.498075981e-04f, -1.494699435e-04f, -1.491320556e-04f, -1.487939351e-04f, -1.484555825e-04f, -1.481169985e-04f,
+-1.477781837e-04f, -1.474391387e-04f, -1.470998640e-04f, -1.467603603e-04f, -1.464206282e-04f, -1.460806683e-04f, -1.457404812e-04f, -1.454000675e-04f, -1.450594278e-04f, -1.447185627e-04f,
+-1.443774728e-04f, -1.440361588e-04f, -1.436946211e-04f, -1.433528606e-04f, -1.430108776e-04f, -1.426686729e-04f, -1.423262471e-04f, -1.419836008e-04f, -1.416407345e-04f, -1.412976489e-04f,
+-1.409543447e-04f, -1.406108223e-04f, -1.402670824e-04f, -1.399231257e-04f, -1.395789528e-04f, -1.392345641e-04f, -1.388899605e-04f, -1.385451424e-04f, -1.382001105e-04f, -1.378548654e-04f,
+-1.375094078e-04f, -1.371637381e-04f, -1.368178571e-04f, -1.364717654e-04f, -1.361254635e-04f, -1.357789521e-04f, -1.354322318e-04f, -1.350853032e-04f, -1.347381670e-04f, -1.343908237e-04f,
+-1.340432740e-04f, -1.336955184e-04f, -1.333475576e-04f, -1.329993923e-04f, -1.326510230e-04f, -1.323024503e-04f, -1.319536749e-04f, -1.316046974e-04f, -1.312555184e-04f, -1.309061385e-04f,
+-1.305565583e-04f, -1.302067785e-04f, -1.298567997e-04f, -1.295066225e-04f, -1.291562475e-04f, -1.288056753e-04f, -1.284549066e-04f, -1.281039420e-04f, -1.277527821e-04f, -1.274014276e-04f,
+-1.270498789e-04f, -1.266981369e-04f, -1.263462020e-04f, -1.259940750e-04f, -1.256417564e-04f, -1.252892468e-04f, -1.249365470e-04f, -1.245836575e-04f, -1.242305789e-04f, -1.238773118e-04f,
+-1.235238570e-04f, -1.231702149e-04f, -1.228163863e-04f, -1.224623718e-04f, -1.221081720e-04f, -1.217537874e-04f, -1.213992188e-04f, -1.210444668e-04f, -1.206895320e-04f, -1.203344150e-04f,
+-1.199791165e-04f, -1.196236370e-04f, -1.192679772e-04f, -1.189121378e-04f, -1.185561194e-04f, -1.181999225e-04f, -1.178435479e-04f, -1.174869961e-04f, -1.171302678e-04f, -1.167733636e-04f,
+-1.164162842e-04f, -1.160590301e-04f, -1.157016021e-04f, -1.153440006e-04f, -1.149862265e-04f, -1.146282802e-04f, -1.142701625e-04f, -1.139118739e-04f, -1.135534152e-04f, -1.131947868e-04f,
+-1.128359896e-04f, -1.124770240e-04f, -1.121178907e-04f, -1.117585904e-04f, -1.113991238e-04f, -1.110394913e-04f, -1.106796937e-04f, -1.103197316e-04f, -1.099596056e-04f, -1.095993164e-04f,
+-1.092388646e-04f, -1.088782509e-04f, -1.085174758e-04f, -1.081565400e-04f, -1.077954442e-04f, -1.074341890e-04f, -1.070727749e-04f, -1.067112028e-04f, -1.063494731e-04f, -1.059875866e-04f,
+-1.056255438e-04f, -1.052633454e-04f, -1.049009921e-04f, -1.045384845e-04f, -1.041758232e-04f, -1.038130088e-04f, -1.034500421e-04f, -1.030869236e-04f, -1.027236539e-04f, -1.023602338e-04f,
+-1.019966639e-04f, -1.016329447e-04f, -1.012690770e-04f, -1.009050613e-04f, -1.005408984e-04f, -1.001765888e-04f, -9.981213323e-05f, -9.944753230e-05f, -9.908278665e-05f, -9.871789692e-05f,
+-9.835286376e-05f, -9.798768781e-05f, -9.762236970e-05f, -9.725691009e-05f, -9.689130962e-05f, -9.652556892e-05f, -9.615968864e-05f, -9.579366943e-05f, -9.542751192e-05f, -9.506121677e-05f,
+-9.469478461e-05f, -9.432821609e-05f, -9.396151185e-05f, -9.359467254e-05f, -9.322769880e-05f, -9.286059127e-05f, -9.249335061e-05f, -9.212597745e-05f, -9.175847245e-05f, -9.139083624e-05f,
+-9.102306947e-05f, -9.065517280e-05f, -9.028714685e-05f, -8.991899229e-05f, -8.955070975e-05f, -8.918229989e-05f, -8.881376335e-05f, -8.844510077e-05f, -8.807631281e-05f, -8.770740010e-05f,
+-8.733836331e-05f, -8.696920307e-05f, -8.659992003e-05f, -8.623051485e-05f, -8.586098816e-05f, -8.549134062e-05f, -8.512157288e-05f, -8.475168558e-05f, -8.438167937e-05f, -8.401155491e-05f,
+-8.364131283e-05f, -8.327095380e-05f, -8.290047845e-05f, -8.252988744e-05f, -8.215918142e-05f, -8.178836103e-05f, -8.141742693e-05f, -8.104637977e-05f, -8.067522020e-05f, -8.030394886e-05f,
+-7.993256641e-05f, -7.956107350e-05f, -7.918947078e-05f, -7.881775890e-05f, -7.844593851e-05f, -7.807401026e-05f, -7.770197481e-05f, -7.732983280e-05f, -7.695758489e-05f, -7.658523173e-05f,
+-7.621277396e-05f, -7.584021225e-05f, -7.546754724e-05f, -7.509477959e-05f, -7.472190994e-05f, -7.434893896e-05f, -7.397586729e-05f, -7.360269559e-05f, -7.322942451e-05f, -7.285605469e-05f,
+-7.248258681e-05f, -7.210902150e-05f, -7.173535942e-05f, -7.136160123e-05f, -7.098774758e-05f, -7.061379912e-05f, -7.023975651e-05f, -6.986562040e-05f, -6.949139144e-05f, -6.911707029e-05f,
+-6.874265760e-05f, -6.836815403e-05f, -6.799356023e-05f, -6.761887686e-05f, -6.724410456e-05f, -6.686924401e-05f, -6.649429584e-05f, -6.611926072e-05f, -6.574413930e-05f, -6.536893223e-05f,
+-6.499364018e-05f, -6.461826379e-05f, -6.424280373e-05f, -6.386726064e-05f, -6.349163518e-05f, -6.311592801e-05f, -6.274013979e-05f, -6.236427117e-05f, -6.198832281e-05f, -6.161229535e-05f,
+-6.123618947e-05f, -6.086000581e-05f, -6.048374504e-05f, -6.010740780e-05f, -5.973099476e-05f, -5.935450657e-05f, -5.897794388e-05f, -5.860130737e-05f, -5.822459767e-05f, -5.784781545e-05f,
+-5.747096137e-05f, -5.709403608e-05f, -5.671704025e-05f, -5.633997451e-05f, -5.596283955e-05f, -5.558563600e-05f, -5.520836454e-05f, -5.483102581e-05f, -5.445362048e-05f, -5.407614920e-05f,
+-5.369861263e-05f, -5.332101143e-05f, -5.294334625e-05f, -5.256561776e-05f, -5.218782661e-05f, -5.180997346e-05f, -5.143205897e-05f, -5.105408379e-05f, -5.067604859e-05f, -5.029795402e-05f,
+-4.991980074e-05f, -4.954158941e-05f, -4.916332069e-05f, -4.878499523e-05f, -4.840661370e-05f, -4.802817675e-05f, -4.764968505e-05f, -4.727113924e-05f, -4.689254000e-05f, -4.651388797e-05f,
+-4.613518382e-05f, -4.575642820e-05f, -4.537762178e-05f, -4.499876521e-05f, -4.461985916e-05f, -4.424090427e-05f, -4.386190122e-05f, -4.348285065e-05f, -4.310375324e-05f, -4.272460963e-05f,
+-4.234542049e-05f, -4.196618647e-05f, -4.158690824e-05f, -4.120758646e-05f, -4.082822178e-05f, -4.044881486e-05f, -4.006936636e-05f, -3.968987695e-05f, -3.931034727e-05f, -3.893077800e-05f,
+-3.855116979e-05f, -3.817152329e-05f, -3.779183918e-05f, -3.741211810e-05f, -3.703236072e-05f, -3.665256770e-05f, -3.627273969e-05f, -3.589287736e-05f, -3.551298137e-05f, -3.513305237e-05f,
+-3.475309103e-05f, -3.437309800e-05f, -3.399307394e-05f, -3.361301952e-05f, -3.323293538e-05f, -3.285282221e-05f, -3.247268064e-05f, -3.209251134e-05f, -3.171231498e-05f, -3.133209221e-05f,
+-3.095184368e-05f, -3.057157007e-05f, -3.019127202e-05f, -2.981095021e-05f, -2.943060528e-05f, -2.905023790e-05f, -2.866984873e-05f, -2.828943842e-05f, -2.790900764e-05f, -2.752855705e-05f,
+-2.714808730e-05f, -2.676759905e-05f, -2.638709297e-05f, -2.600656971e-05f, -2.562602994e-05f, -2.524547430e-05f, -2.486490347e-05f, -2.448431810e-05f, -2.410371885e-05f, -2.372310638e-05f,
+-2.334248134e-05f, -2.296184441e-05f, -2.258119623e-05f, -2.220053747e-05f, -2.181986878e-05f, -2.143919082e-05f, -2.105850426e-05f, -2.067780975e-05f, -2.029710796e-05f, -1.991639953e-05f,
+-1.953568513e-05f, -1.915496542e-05f, -1.877424106e-05f, -1.839351270e-05f, -1.801278100e-05f, -1.763204663e-05f, -1.725131024e-05f, -1.687057250e-05f, -1.648983404e-05f, -1.610909555e-05f,
+-1.572835767e-05f, -1.534762107e-05f, -1.496688640e-05f, -1.458615432e-05f, -1.420542549e-05f, -1.382470057e-05f, -1.344398021e-05f, -1.306326508e-05f, -1.268255582e-05f, -1.230185311e-05f,
+-1.192115759e-05f, -1.154046993e-05f, -1.115979079e-05f, -1.077912081e-05f, -1.039846066e-05f, -1.001781100e-05f, -9.637172483e-06f, -9.256545765e-06f, -8.875931507e-06f, -8.495330363e-06f,
+-8.114742993e-06f, -7.734170054e-06f, -7.353612201e-06f, -6.973070093e-06f, -6.592544385e-06f, -6.212035736e-06f, -5.831544802e-06f, -5.451072240e-06f, -5.070618705e-06f, -4.690184856e-06f,
+-4.309771348e-06f, -3.929378837e-06f, -3.549007980e-06f, -3.168659433e-06f, -2.788333853e-06f, -2.408031895e-06f, -2.027754215e-06f, -1.647501469e-06f, -1.267274312e-06f, -8.870734017e-07f,
+-5.068993921e-07f, -1.267529389e-07f, 2.533653023e-07f, 6.334546764e-07f, 1.013514528e-06f, 1.393544202e-06f, 1.773543044e-06f, 2.153510399e-06f, 2.533445611e-06f, 2.913348027e-06f,
+3.293216992e-06f, 3.673051851e-06f, 4.052851949e-06f, 4.432616634e-06f, 4.812345249e-06f, 5.192037143e-06f, 5.571691660e-06f, 5.951308146e-06f, 6.330885949e-06f, 6.710424415e-06f,
+7.089922889e-06f, 7.469380720e-06f, 7.848797253e-06f, 8.228171835e-06f, 8.607503814e-06f, 8.986792537e-06f, 9.366037351e-06f, 9.745237603e-06f, 1.012439264e-05f, 1.050350181e-05f,
+1.088256447e-05f, 1.126157995e-05f, 1.164054761e-05f, 1.201946679e-05f, 1.239833685e-05f, 1.277715713e-05f, 1.315592698e-05f, 1.353464576e-05f, 1.391331280e-05f, 1.429192745e-05f,
+1.467048908e-05f, 1.504899702e-05f, 1.542745062e-05f, 1.580584924e-05f, 1.618419222e-05f, 1.656247892e-05f, 1.694070868e-05f, 1.731888086e-05f, 1.769699480e-05f, 1.807504986e-05f,
+1.845304538e-05f, 1.883098072e-05f, 1.920885523e-05f, 1.958666825e-05f, 1.996441915e-05f, 2.034210726e-05f, 2.071973195e-05f, 2.109729256e-05f, 2.147478845e-05f, 2.185221896e-05f,
+2.222958346e-05f, 2.260688129e-05f, 2.298411180e-05f, 2.336127435e-05f, 2.373836829e-05f, 2.411539297e-05f, 2.449234775e-05f, 2.486923198e-05f, 2.524604501e-05f, 2.562278620e-05f,
+2.599945490e-05f, 2.637605047e-05f, 2.675257225e-05f, 2.712901961e-05f, 2.750539190e-05f, 2.788168846e-05f, 2.825790867e-05f, 2.863405186e-05f, 2.901011741e-05f, 2.938610466e-05f,
+2.976201296e-05f, 3.013784168e-05f, 3.051359017e-05f, 3.088925779e-05f, 3.126484389e-05f, 3.164034783e-05f, 3.201576897e-05f, 3.239110666e-05f, 3.276636026e-05f, 3.314152913e-05f,
+3.351661262e-05f, 3.389161009e-05f, 3.426652091e-05f, 3.464134442e-05f, 3.501608000e-05f, 3.539072698e-05f, 3.576528475e-05f, 3.613975264e-05f, 3.651413003e-05f, 3.688841627e-05f,
+3.726261072e-05f, 3.763671274e-05f, 3.801072169e-05f, 3.838463694e-05f, 3.875845783e-05f, 3.913218374e-05f, 3.950581401e-05f, 3.987934803e-05f, 4.025278513e-05f, 4.062612470e-05f,
+4.099936608e-05f, 4.137250864e-05f, 4.174555174e-05f, 4.211849475e-05f, 4.249133702e-05f, 4.286407793e-05f, 4.323671682e-05f, 4.360925307e-05f, 4.398168604e-05f, 4.435401509e-05f,
+4.472623959e-05f, 4.509835890e-05f, 4.547037238e-05f, 4.584227940e-05f, 4.621407933e-05f, 4.658577153e-05f, 4.695735536e-05f, 4.732883019e-05f, 4.770019538e-05f, 4.807145031e-05f,
+4.844259433e-05f, 4.881362682e-05f, 4.918454714e-05f, 4.955535466e-05f, 4.992604874e-05f, 5.029662875e-05f, 5.066709406e-05f, 5.103744405e-05f, 5.140767806e-05f, 5.177779548e-05f,
+5.214779568e-05f, 5.251767801e-05f, 5.288744186e-05f, 5.325708659e-05f, 5.362661157e-05f, 5.399601616e-05f, 5.436529975e-05f, 5.473446170e-05f, 5.510350138e-05f, 5.547241816e-05f,
+5.584121141e-05f, 5.620988051e-05f, 5.657842482e-05f, 5.694684372e-05f, 5.731513659e-05f, 5.768330278e-05f, 5.805134168e-05f, 5.841925266e-05f, 5.878703510e-05f, 5.915468835e-05f,
+5.952221181e-05f, 5.988960484e-05f, 6.025686682e-05f, 6.062399712e-05f, 6.099099512e-05f, 6.135786019e-05f, 6.172459171e-05f, 6.209118906e-05f, 6.245765160e-05f, 6.282397872e-05f,
+6.319016979e-05f, 6.355622419e-05f, 6.392214130e-05f, 6.428792050e-05f, 6.465356115e-05f, 6.501906265e-05f, 6.538442437e-05f, 6.574964568e-05f, 6.611472596e-05f, 6.647966461e-05f,
+6.684446098e-05f, 6.720911448e-05f, 6.757362446e-05f, 6.793799032e-05f, 6.830221144e-05f, 6.866628719e-05f, 6.903021696e-05f, 6.939400013e-05f, 6.975763608e-05f, 7.012112419e-05f,
+7.048446385e-05f, 7.084765443e-05f, 7.121069533e-05f, 7.157358592e-05f, 7.193632559e-05f, 7.229891373e-05f, 7.266134971e-05f, 7.302363292e-05f, 7.338576274e-05f, 7.374773857e-05f,
+7.410955978e-05f, 7.447122577e-05f, 7.483273591e-05f, 7.519408960e-05f, 7.555528623e-05f, 7.591632517e-05f, 7.627720581e-05f, 7.663792755e-05f, 7.699848978e-05f, 7.735889187e-05f,
+7.771913323e-05f, 7.807921323e-05f, 7.843913127e-05f, 7.879888673e-05f, 7.915847902e-05f, 7.951790751e-05f, 7.987717160e-05f, 8.023627067e-05f, 8.059520413e-05f, 8.095397136e-05f,
+8.131257176e-05f, 8.167100471e-05f, 8.202926961e-05f, 8.238736586e-05f, 8.274529283e-05f, 8.310304994e-05f, 8.346063657e-05f, 8.381805212e-05f, 8.417529598e-05f, 8.453236755e-05f,
+8.488926622e-05f, 8.524599139e-05f, 8.560254245e-05f, 8.595891880e-05f, 8.631511984e-05f, 8.667114497e-05f, 8.702699358e-05f, 8.738266506e-05f, 8.773815883e-05f, 8.809347427e-05f,
+8.844861079e-05f, 8.880356778e-05f, 8.915834464e-05f, 8.951294078e-05f, 8.986735559e-05f, 9.022158848e-05f, 9.057563885e-05f, 9.092950609e-05f, 9.128318961e-05f, 9.163668881e-05f,
+9.199000310e-05f, 9.234313187e-05f, 9.269607453e-05f, 9.304883048e-05f, 9.340139913e-05f, 9.375377989e-05f, 9.410597214e-05f, 9.445797531e-05f, 9.480978880e-05f, 9.516141201e-05f,
+9.551284434e-05f, 9.586408521e-05f, 9.621513402e-05f, 9.656599019e-05f, 9.691665310e-05f, 9.726712219e-05f, 9.761739684e-05f, 9.796747648e-05f, 9.831736051e-05f, 9.866704833e-05f,
+9.901653937e-05f, 9.936583303e-05f, 9.971492872e-05f, 1.000638259e-04f, 1.004125238e-04f, 1.007610221e-04f, 1.011093200e-04f, 1.014574171e-04f, 1.018053126e-04f, 1.021530060e-04f,
+1.025004968e-04f, 1.028477843e-04f, 1.031948680e-04f, 1.035417472e-04f, 1.038884215e-04f, 1.042348901e-04f, 1.045811526e-04f, 1.049272083e-04f, 1.052730567e-04f, 1.056186971e-04f,
+1.059641291e-04f, 1.063093519e-04f, 1.066543651e-04f, 1.069991680e-04f, 1.073437601e-04f, 1.076881407e-04f, 1.080323094e-04f, 1.083762655e-04f, 1.087200085e-04f, 1.090635377e-04f,
+1.094068526e-04f, 1.097499526e-04f, 1.100928372e-04f, 1.104355057e-04f, 1.107779576e-04f, 1.111201923e-04f, 1.114622093e-04f, 1.118040079e-04f, 1.121455876e-04f, 1.124869477e-04f,
+1.128280879e-04f, 1.131690074e-04f, 1.135097056e-04f, 1.138501821e-04f, 1.141904362e-04f, 1.145304674e-04f, 1.148702751e-04f, 1.152098588e-04f, 1.155492177e-04f, 1.158883515e-04f,
+1.162272595e-04f, 1.165659411e-04f, 1.169043958e-04f, 1.172426231e-04f, 1.175806222e-04f, 1.179183928e-04f, 1.182559341e-04f, 1.185932457e-04f, 1.189303270e-04f, 1.192671774e-04f,
+1.196037963e-04f, 1.199401832e-04f, 1.202763376e-04f, 1.206122587e-04f, 1.209479462e-04f, 1.212833994e-04f, 1.216186178e-04f, 1.219536007e-04f, 1.222883477e-04f, 1.226228582e-04f,
+1.229571316e-04f, 1.232911673e-04f, 1.236249649e-04f, 1.239585237e-04f, 1.242918431e-04f, 1.246249227e-04f, 1.249577619e-04f, 1.252903600e-04f, 1.256227166e-04f, 1.259548311e-04f,
+1.262867029e-04f, 1.266183315e-04f, 1.269497163e-04f, 1.272808568e-04f, 1.276117524e-04f, 1.279424026e-04f, 1.282728068e-04f, 1.286029644e-04f, 1.289328749e-04f, 1.292625378e-04f,
+1.295919525e-04f, 1.299211184e-04f, 1.302500350e-04f, 1.305787018e-04f, 1.309071181e-04f, 1.312352835e-04f, 1.315631974e-04f, 1.318908593e-04f, 1.322182685e-04f, 1.325454246e-04f,
+1.328723271e-04f, 1.331989752e-04f, 1.335253686e-04f, 1.338515067e-04f, 1.341773889e-04f, 1.345030146e-04f, 1.348283835e-04f, 1.351534948e-04f, 1.354783480e-04f, 1.358029427e-04f,
+1.361272782e-04f, 1.364513540e-04f, 1.367751697e-04f, 1.370987246e-04f, 1.374220181e-04f, 1.377450499e-04f, 1.380678192e-04f, 1.383903257e-04f, 1.387125687e-04f, 1.390345477e-04f,
+1.393562622e-04f, 1.396777116e-04f, 1.399988954e-04f, 1.403198131e-04f, 1.406404641e-04f, 1.409608480e-04f, 1.412809640e-04f, 1.416008118e-04f, 1.419203908e-04f, 1.422397005e-04f,
+1.425587403e-04f, 1.428775097e-04f, 1.431960081e-04f, 1.435142351e-04f, 1.438321901e-04f, 1.441498726e-04f, 1.444672820e-04f, 1.447844179e-04f, 1.451012796e-04f, 1.454178667e-04f,
+1.457341787e-04f, 1.460502149e-04f, 1.463659750e-04f, 1.466814583e-04f, 1.469966643e-04f, 1.473115925e-04f, 1.476262425e-04f, 1.479406136e-04f, 1.482547053e-04f, 1.485685172e-04f,
+1.488820486e-04f, 1.491952991e-04f, 1.495082682e-04f, 1.498209553e-04f, 1.501333600e-04f, 1.504454816e-04f, 1.507573197e-04f, 1.510688738e-04f, 1.513801433e-04f, 1.516911277e-04f,
+1.520018266e-04f, 1.523122393e-04f, 1.526223654e-04f, 1.529322044e-04f, 1.532417557e-04f, 1.535510189e-04f, 1.538599934e-04f, 1.541686786e-04f, 1.544770742e-04f, 1.547851796e-04f,
+1.550929942e-04f, 1.554005176e-04f, 1.557077493e-04f, 1.560146887e-04f, 1.563213353e-04f, 1.566276887e-04f, 1.569337483e-04f, 1.572395136e-04f, 1.575449841e-04f, 1.578501593e-04f,
+1.581550387e-04f, 1.584596217e-04f, 1.587639080e-04f, 1.590678969e-04f, 1.593715880e-04f, 1.596749808e-04f, 1.599780748e-04f, 1.602808694e-04f, 1.605833642e-04f, 1.608855586e-04f,
+1.611874523e-04f, 1.614890445e-04f, 1.617903350e-04f, 1.620913231e-04f, 1.623920084e-04f, 1.626923904e-04f, 1.629924685e-04f, 1.632922424e-04f, 1.635917114e-04f, 1.638908751e-04f,
+1.641897330e-04f, 1.644882846e-04f, 1.647865294e-04f, 1.650844669e-04f, 1.653820967e-04f, 1.656794182e-04f, 1.659764309e-04f, 1.662731344e-04f, 1.665695281e-04f, 1.668656116e-04f,
+1.671613844e-04f, 1.674568460e-04f, 1.677519959e-04f, 1.680468336e-04f, 1.683413587e-04f, 1.686355706e-04f, 1.689294688e-04f, 1.692230529e-04f, 1.695163225e-04f, 1.698092769e-04f,
+1.701019158e-04f, 1.703942386e-04f, 1.706862448e-04f, 1.709779341e-04f, 1.712693058e-04f, 1.715603596e-04f, 1.718510949e-04f, 1.721415113e-04f, 1.724316082e-04f, 1.727213853e-04f,
+1.730108419e-04f, 1.732999778e-04f, 1.735887923e-04f, 1.738772850e-04f, 1.741654554e-04f, 1.744533031e-04f, 1.747408276e-04f, 1.750280284e-04f, 1.753149050e-04f, 1.756014569e-04f,
+1.758876838e-04f, 1.761735851e-04f, 1.764591603e-04f, 1.767444090e-04f, 1.770293307e-04f, 1.773139249e-04f, 1.775981913e-04f, 1.778821292e-04f, 1.781657383e-04f, 1.784490180e-04f,
+1.787319680e-04f, 1.790145877e-04f, 1.792968767e-04f, 1.795788345e-04f, 1.798604606e-04f, 1.801417547e-04f, 1.804227161e-04f, 1.807033446e-04f, 1.809836396e-04f, 1.812636006e-04f,
+1.815432272e-04f, 1.818225189e-04f, 1.821014753e-04f, 1.823800959e-04f, 1.826583803e-04f, 1.829363280e-04f, 1.832139386e-04f, 1.834912115e-04f, 1.837681464e-04f, 1.840447428e-04f,
+1.843210002e-04f, 1.845969181e-04f, 1.848724962e-04f, 1.851477340e-04f, 1.854226310e-04f, 1.856971868e-04f, 1.859714010e-04f, 1.862452730e-04f, 1.865188024e-04f, 1.867919888e-04f,
+1.870648318e-04f, 1.873373308e-04f, 1.876094855e-04f, 1.878812954e-04f, 1.881527601e-04f, 1.884238791e-04f, 1.886946519e-04f, 1.889650782e-04f, 1.892351574e-04f, 1.895048892e-04f,
+1.897742732e-04f, 1.900433087e-04f, 1.903119955e-04f, 1.905803331e-04f, 1.908483211e-04f, 1.911159589e-04f, 1.913832463e-04f, 1.916501826e-04f, 1.919167676e-04f, 1.921830008e-04f,
+1.924488816e-04f, 1.927144098e-04f, 1.929795849e-04f, 1.932444064e-04f, 1.935088739e-04f, 1.937729870e-04f, 1.940367452e-04f, 1.943001481e-04f, 1.945631954e-04f, 1.948258865e-04f,
+1.950882210e-04f, 1.953501985e-04f, 1.956118186e-04f, 1.958730809e-04f, 1.961339848e-04f, 1.963945301e-04f, 1.966547163e-04f, 1.969145429e-04f, 1.971740096e-04f, 1.974331158e-04f,
+1.976918613e-04f, 1.979502455e-04f, 1.982082681e-04f, 1.984659286e-04f, 1.987232267e-04f, 1.989801618e-04f, 1.992367336e-04f, 1.994929417e-04f, 1.997487856e-04f, 2.000042649e-04f,
+2.002593793e-04f, 2.005141283e-04f, 2.007685114e-04f, 2.010225284e-04f, 2.012761786e-04f, 2.015294619e-04f, 2.017823777e-04f, 2.020349256e-04f, 2.022871053e-04f, 2.025389163e-04f,
+2.027903581e-04f, 2.030414305e-04f, 2.032921330e-04f, 2.035424652e-04f, 2.037924266e-04f, 2.040420170e-04f, 2.042912358e-04f, 2.045400827e-04f, 2.047885572e-04f, 2.050366590e-04f,
+2.052843877e-04f, 2.055317429e-04f, 2.057787241e-04f, 2.060253310e-04f, 2.062715631e-04f, 2.065174202e-04f, 2.067629017e-04f, 2.070080073e-04f, 2.072527365e-04f, 2.074970891e-04f,
+2.077410645e-04f, 2.079846625e-04f, 2.082278825e-04f, 2.084707243e-04f, 2.087131874e-04f, 2.089552714e-04f, 2.091969760e-04f, 2.094383007e-04f, 2.096792452e-04f, 2.099198091e-04f,
+2.101599919e-04f, 2.103997934e-04f, 2.106392130e-04f, 2.108782505e-04f, 2.111169055e-04f, 2.113551775e-04f, 2.115930662e-04f, 2.118305711e-04f, 2.120676920e-04f, 2.123044284e-04f,
+2.125407800e-04f, 2.127767464e-04f, 2.130123271e-04f, 2.132475218e-04f, 2.134823302e-04f, 2.137167519e-04f, 2.139507864e-04f, 2.141844334e-04f, 2.144176926e-04f, 2.146505635e-04f,
+2.148830458e-04f, 2.151151391e-04f, 2.153468431e-04f, 2.155781573e-04f, 2.158090814e-04f, 2.160396151e-04f, 2.162697579e-04f, 2.164995095e-04f, 2.167288695e-04f, 2.169578376e-04f,
+2.171864133e-04f, 2.174145964e-04f, 2.176423864e-04f, 2.178697830e-04f, 2.180967859e-04f, 2.183233946e-04f, 2.185496088e-04f, 2.187754282e-04f, 2.190008523e-04f, 2.192258809e-04f,
+2.194505135e-04f, 2.196747498e-04f, 2.198985894e-04f, 2.201220321e-04f, 2.203450774e-04f, 2.205677249e-04f, 2.207899744e-04f, 2.210118254e-04f, 2.212332776e-04f, 2.214543307e-04f,
+2.216749843e-04f, 2.218952381e-04f, 2.221150916e-04f, 2.223345446e-04f, 2.225535967e-04f, 2.227722476e-04f, 2.229904969e-04f, 2.232083442e-04f, 2.234257892e-04f, 2.236428316e-04f,
+2.238594711e-04f, 2.240757072e-04f, 2.242915396e-04f, 2.245069680e-04f, 2.247219921e-04f, 2.249366115e-04f, 2.251508258e-04f, 2.253646348e-04f, 2.255780380e-04f, 2.257910352e-04f,
+2.260036260e-04f, 2.262158101e-04f, 2.264275871e-04f, 2.266389567e-04f, 2.268499186e-04f, 2.270604724e-04f, 2.272706178e-04f, 2.274803545e-04f, 2.276896821e-04f, 2.278986003e-04f,
+2.281071088e-04f, 2.283152072e-04f, 2.285228952e-04f, 2.287301726e-04f, 2.289370388e-04f, 2.291434937e-04f, 2.293495369e-04f, 2.295551681e-04f, 2.297603869e-04f, 2.299651931e-04f,
+2.301695863e-04f, 2.303735661e-04f, 2.305771323e-04f, 2.307802846e-04f, 2.309830225e-04f, 2.311853459e-04f, 2.313872543e-04f, 2.315887476e-04f, 2.317898252e-04f, 2.319904870e-04f,
+2.321907326e-04f, 2.323905617e-04f, 2.325899740e-04f, 2.327889692e-04f, 2.329875469e-04f, 2.331857068e-04f, 2.333834487e-04f, 2.335807723e-04f, 2.337776771e-04f, 2.339741629e-04f,
+2.341702295e-04f, 2.343658764e-04f, 2.345611034e-04f, 2.347559102e-04f, 2.349502965e-04f, 2.351442619e-04f, 2.353378062e-04f, 2.355309290e-04f, 2.357236301e-04f, 2.359159092e-04f,
+2.361077659e-04f, 2.362992000e-04f, 2.364902111e-04f, 2.366807990e-04f, 2.368709633e-04f, 2.370607038e-04f, 2.372500202e-04f, 2.374389121e-04f, 2.376273793e-04f, 2.378154215e-04f,
+2.380030384e-04f, 2.381902297e-04f, 2.383769951e-04f, 2.385633343e-04f, 2.387492470e-04f, 2.389347330e-04f, 2.391197918e-04f, 2.393044234e-04f, 2.394886273e-04f, 2.396724033e-04f,
+2.398557511e-04f, 2.400386704e-04f, 2.402211610e-04f, 2.404032225e-04f, 2.405848546e-04f, 2.407660571e-04f, 2.409468297e-04f, 2.411271722e-04f, 2.413070842e-04f, 2.414865654e-04f,
+2.416656156e-04f, 2.418442346e-04f, 2.420224219e-04f, 2.422001774e-04f, 2.423775008e-04f, 2.425543918e-04f, 2.427308501e-04f, 2.429068755e-04f, 2.430824677e-04f, 2.432576263e-04f,
+2.434323513e-04f, 2.436066422e-04f, 2.437804988e-04f, 2.439539208e-04f, 2.441269080e-04f, 2.442994601e-04f, 2.444715769e-04f, 2.446432580e-04f, 2.448145032e-04f, 2.449853123e-04f,
+2.451556850e-04f, 2.453256209e-04f, 2.454951200e-04f, 2.456641818e-04f, 2.458328062e-04f, 2.460009929e-04f, 2.461687415e-04f, 2.463360520e-04f, 2.465029239e-04f, 2.466693572e-04f,
+2.468353514e-04f, 2.470009063e-04f, 2.471660218e-04f, 2.473306975e-04f, 2.474949331e-04f, 2.476587286e-04f, 2.478220834e-04f, 2.479849976e-04f, 2.481474707e-04f, 2.483095026e-04f,
+2.484710929e-04f, 2.486322415e-04f, 2.487929481e-04f, 2.489532125e-04f, 2.491130344e-04f, 2.492724135e-04f, 2.494313497e-04f, 2.495898426e-04f, 2.497478921e-04f, 2.499054979e-04f,
+2.500626598e-04f, 2.502193775e-04f, 2.503756508e-04f, 2.505314794e-04f, 2.506868632e-04f, 2.508418018e-04f, 2.509962951e-04f, 2.511503428e-04f, 2.513039447e-04f, 2.514571005e-04f,
+2.516098101e-04f, 2.517620731e-04f, 2.519138894e-04f, 2.520652587e-04f, 2.522161808e-04f, 2.523666555e-04f, 2.525166825e-04f, 2.526662617e-04f, 2.528153927e-04f, 2.529640754e-04f,
+2.531123096e-04f, 2.532600950e-04f, 2.534074314e-04f, 2.535543185e-04f, 2.537007563e-04f, 2.538467443e-04f, 2.539922825e-04f, 2.541373706e-04f, 2.542820084e-04f, 2.544261957e-04f,
+2.545699322e-04f, 2.547132177e-04f, 2.548560521e-04f, 2.549984351e-04f, 2.551403665e-04f, 2.552818461e-04f, 2.554228736e-04f, 2.555634490e-04f, 2.557035719e-04f, 2.558432421e-04f,
+2.559824595e-04f, 2.561212238e-04f, 2.562595349e-04f, 2.563973925e-04f, 2.565347964e-04f, 2.566717464e-04f, 2.568082424e-04f, 2.569442840e-04f, 2.570798712e-04f, 2.572150037e-04f,
+2.573496813e-04f, 2.574839038e-04f, 2.576176710e-04f, 2.577509828e-04f, 2.578838389e-04f, 2.580162391e-04f, 2.581481832e-04f, 2.582796711e-04f, 2.584107025e-04f, 2.585412773e-04f,
+2.586713952e-04f, 2.588010561e-04f, 2.589302598e-04f, 2.590590061e-04f, 2.591872948e-04f, 2.593151257e-04f, 2.594424986e-04f, 2.595694134e-04f, 2.596958698e-04f, 2.598218677e-04f,
+2.599474069e-04f, 2.600724873e-04f, 2.601971085e-04f, 2.603212705e-04f, 2.604449730e-04f, 2.605682160e-04f, 2.606909991e-04f, 2.608133223e-04f, 2.609351853e-04f, 2.610565880e-04f,
+2.611775303e-04f, 2.612980118e-04f, 2.614180325e-04f, 2.615375921e-04f, 2.616566906e-04f, 2.617753277e-04f, 2.618935033e-04f, 2.620112172e-04f, 2.621284692e-04f, 2.622452592e-04f,
+2.623615869e-04f, 2.624774523e-04f, 2.625928552e-04f, 2.627077953e-04f, 2.628222726e-04f, 2.629362868e-04f, 2.630498379e-04f, 2.631629256e-04f, 2.632755498e-04f, 2.633877103e-04f,
+2.634994069e-04f, 2.636106396e-04f, 2.637214081e-04f, 2.638317124e-04f, 2.639415521e-04f, 2.640509272e-04f, 2.641598376e-04f, 2.642682830e-04f, 2.643762634e-04f, 2.644837785e-04f,
+2.645908283e-04f, 2.646974125e-04f, 2.648035310e-04f, 2.649091837e-04f, 2.650143705e-04f, 2.651190911e-04f, 2.652233454e-04f, 2.653271333e-04f, 2.654304547e-04f, 2.655333094e-04f,
+2.656356972e-04f, 2.657376180e-04f, 2.658390717e-04f, 2.659400581e-04f, 2.660405771e-04f, 2.661406286e-04f, 2.662402124e-04f, 2.663393284e-04f, 2.664379764e-04f, 2.665361563e-04f,
+2.666338680e-04f, 2.667311113e-04f, 2.668278861e-04f, 2.669241923e-04f, 2.670200297e-04f, 2.671153983e-04f, 2.672102978e-04f, 2.673047282e-04f, 2.673986893e-04f, 2.674921810e-04f,
+2.675852032e-04f, 2.676777557e-04f, 2.677698385e-04f, 2.678614513e-04f, 2.679525941e-04f, 2.680432668e-04f, 2.681334691e-04f, 2.682232011e-04f, 2.683124626e-04f, 2.684012535e-04f,
+2.684895736e-04f, 2.685774228e-04f, 2.686648011e-04f, 2.687517083e-04f, 2.688381442e-04f, 2.689241089e-04f, 2.690096020e-04f, 2.690946237e-04f, 2.691791736e-04f, 2.692632518e-04f,
+2.693468582e-04f, 2.694299925e-04f, 2.695126547e-04f, 2.695948447e-04f, 2.696765624e-04f, 2.697578077e-04f, 2.698385804e-04f, 2.699188805e-04f, 2.699987079e-04f, 2.700780624e-04f,
+2.701569440e-04f, 2.702353526e-04f, 2.703132880e-04f, 2.703907502e-04f, 2.704677391e-04f, 2.705442545e-04f, 2.706202964e-04f, 2.706958646e-04f, 2.707709592e-04f, 2.708455799e-04f,
+2.709197267e-04f, 2.709933995e-04f, 2.710665982e-04f, 2.711393228e-04f, 2.712115730e-04f, 2.712833489e-04f, 2.713546504e-04f, 2.714254773e-04f, 2.714958295e-04f, 2.715657071e-04f,
+2.716351099e-04f, 2.717040377e-04f, 2.717724907e-04f, 2.718404685e-04f, 2.719079713e-04f, 2.719749988e-04f, 2.720415510e-04f, 2.721076279e-04f, 2.721732293e-04f, 2.722383552e-04f,
+2.723030055e-04f, 2.723671801e-04f, 2.724308789e-04f, 2.724941019e-04f, 2.725568491e-04f, 2.726191202e-04f, 2.726809153e-04f, 2.727422343e-04f, 2.728030770e-04f, 2.728634436e-04f,
+2.729233338e-04f, 2.729827476e-04f, 2.730416849e-04f, 2.731001457e-04f, 2.731581300e-04f, 2.732156375e-04f, 2.732726684e-04f, 2.733292224e-04f, 2.733852997e-04f, 2.734409000e-04f,
+2.734960233e-04f, 2.735506696e-04f, 2.736048389e-04f, 2.736585310e-04f, 2.737117458e-04f, 2.737644835e-04f, 2.738167438e-04f, 2.738685268e-04f, 2.739198323e-04f, 2.739706604e-04f,
+2.740210109e-04f, 2.740708839e-04f, 2.741202792e-04f, 2.741691969e-04f, 2.742176368e-04f, 2.742655990e-04f, 2.743130834e-04f, 2.743600899e-04f, 2.744066184e-04f, 2.744526691e-04f,
+2.744982417e-04f, 2.745433363e-04f, 2.745879528e-04f, 2.746320912e-04f, 2.746757514e-04f, 2.747189334e-04f, 2.747616372e-04f, 2.748038627e-04f, 2.748456098e-04f, 2.748868787e-04f,
+2.749276691e-04f, 2.749679811e-04f, 2.750078146e-04f, 2.750471697e-04f, 2.750860462e-04f, 2.751244442e-04f, 2.751623636e-04f, 2.751998044e-04f, 2.752367665e-04f, 2.752732500e-04f,
+2.753092548e-04f, 2.753447809e-04f, 2.753798282e-04f, 2.754143967e-04f, 2.754484864e-04f, 2.754820973e-04f, 2.755152294e-04f, 2.755478826e-04f, 2.755800569e-04f, 2.756117524e-04f,
+2.756429689e-04f, 2.756737064e-04f, 2.757039650e-04f, 2.757337447e-04f, 2.757630453e-04f, 2.757918669e-04f, 2.758202096e-04f, 2.758480732e-04f, 2.758754577e-04f, 2.759023632e-04f,
+2.759287896e-04f, 2.759547370e-04f, 2.759802053e-04f, 2.760051944e-04f, 2.760297045e-04f, 2.760537355e-04f, 2.760772874e-04f, 2.761003601e-04f, 2.761229538e-04f, 2.761450683e-04f,
+2.761667037e-04f, 2.761878600e-04f, 2.762085371e-04f, 2.762287351e-04f, 2.762484540e-04f, 2.762676938e-04f, 2.762864545e-04f, 2.763047360e-04f, 2.763225384e-04f, 2.763398618e-04f,
+2.763567060e-04f, 2.763730711e-04f, 2.763889572e-04f, 2.764043641e-04f, 2.764192920e-04f, 2.764337409e-04f, 2.764477107e-04f, 2.764612015e-04f, 2.764742132e-04f, 2.764867460e-04f,
+2.764987997e-04f, 2.765103745e-04f, 2.765214703e-04f, 2.765320872e-04f, 2.765422251e-04f, 2.765518841e-04f, 2.765610643e-04f, 2.765697655e-04f, 2.765779880e-04f, 2.765857316e-04f,
+2.765929964e-04f, 2.765997824e-04f, 2.766060896e-04f, 2.766119182e-04f, 2.766172680e-04f, 2.766221391e-04f, 2.766265316e-04f, 2.766304455e-04f, 2.766338808e-04f, 2.766368375e-04f,
+2.766393157e-04f, 2.766413154e-04f, 2.766428366e-04f, 2.766438794e-04f, 2.766444438e-04f, 2.766445298e-04f, 2.766441375e-04f, 2.766432669e-04f, 2.766419181e-04f, 2.766400910e-04f,
+2.766377858e-04f, 2.766350024e-04f, 2.766317409e-04f, 2.766280014e-04f, 2.766237839e-04f, 2.766190884e-04f, 2.766139149e-04f, 2.766082636e-04f, 2.766021345e-04f, 2.765955276e-04f,
+2.765884429e-04f, 2.765808805e-04f, 2.765728405e-04f, 2.765643229e-04f, 2.765553278e-04f, 2.765458552e-04f, 2.765359051e-04f, 2.765254776e-04f, 2.765145728e-04f, 2.765031908e-04f,
+2.764913315e-04f, 2.764789951e-04f, 2.764661815e-04f, 2.764528909e-04f, 2.764391233e-04f, 2.764248788e-04f, 2.764101574e-04f, 2.763949592e-04f, 2.763792843e-04f, 2.763631327e-04f,
+2.763465044e-04f, 2.763293996e-04f, 2.763118183e-04f, 2.762937606e-04f, 2.762752266e-04f, 2.762562162e-04f, 2.762367296e-04f, 2.762167669e-04f, 2.761963281e-04f, 2.761754133e-04f,
+2.761540226e-04f, 2.761321560e-04f, 2.761098136e-04f, 2.760869955e-04f, 2.760637017e-04f, 2.760399324e-04f, 2.760156876e-04f, 2.759909674e-04f, 2.759657719e-04f, 2.759401011e-04f,
+2.759139551e-04f, 2.758873341e-04f, 2.758602380e-04f, 2.758326671e-04f, 2.758046212e-04f, 2.757761007e-04f, 2.757471054e-04f, 2.757176356e-04f, 2.756876913e-04f, 2.756572725e-04f,
+2.756263794e-04f, 2.755950121e-04f, 2.755631707e-04f, 2.755308552e-04f, 2.754980657e-04f, 2.754648024e-04f, 2.754310653e-04f, 2.753968545e-04f, 2.753621701e-04f, 2.753270123e-04f,
+2.752913810e-04f, 2.752552764e-04f, 2.752186987e-04f, 2.751816478e-04f, 2.751441239e-04f, 2.751061272e-04f, 2.750676576e-04f, 2.750287153e-04f, 2.749893005e-04f, 2.749494131e-04f,
+2.749090534e-04f, 2.748682214e-04f, 2.748269172e-04f, 2.747851410e-04f, 2.747428927e-04f, 2.747001727e-04f, 2.746569809e-04f, 2.746133174e-04f, 2.745691825e-04f, 2.745245761e-04f,
+2.744794984e-04f, 2.744339496e-04f, 2.743879297e-04f, 2.743414388e-04f, 2.742944771e-04f, 2.742470447e-04f, 2.741991417e-04f, 2.741507681e-04f, 2.741019243e-04f, 2.740526101e-04f,
+2.740028259e-04f, 2.739525717e-04f, 2.739018475e-04f, 2.738506536e-04f, 2.737989901e-04f, 2.737468571e-04f, 2.736942547e-04f, 2.736411830e-04f, 2.735876422e-04f, 2.735336324e-04f,
+2.734791537e-04f, 2.734242063e-04f, 2.733687903e-04f, 2.733129057e-04f, 2.732565529e-04f, 2.731997318e-04f, 2.731424426e-04f, 2.730846855e-04f, 2.730264606e-04f, 2.729677680e-04f,
+2.729086078e-04f, 2.728489802e-04f, 2.727888854e-04f, 2.727283235e-04f, 2.726672945e-04f, 2.726057988e-04f, 2.725438363e-04f, 2.724814072e-04f, 2.724185117e-04f, 2.723551500e-04f,
+2.722913221e-04f, 2.722270283e-04f, 2.721622686e-04f, 2.720970432e-04f, 2.720313522e-04f, 2.719651959e-04f, 2.718985743e-04f, 2.718314877e-04f, 2.717639361e-04f, 2.716959197e-04f,
+2.716274386e-04f, 2.715584931e-04f, 2.714890832e-04f, 2.714192092e-04f, 2.713488711e-04f, 2.712780692e-04f, 2.712068036e-04f, 2.711350744e-04f, 2.710628818e-04f, 2.709902260e-04f,
+2.709171071e-04f, 2.708435254e-04f, 2.707694808e-04f, 2.706949737e-04f, 2.706200042e-04f, 2.705445724e-04f, 2.704686786e-04f, 2.703923228e-04f, 2.703155052e-04f, 2.702382261e-04f,
+2.701604855e-04f, 2.700822837e-04f, 2.700036208e-04f, 2.699244970e-04f, 2.698449125e-04f, 2.697648674e-04f, 2.696843619e-04f, 2.696033961e-04f, 2.695219704e-04f, 2.694400847e-04f,
+2.693577394e-04f, 2.692749346e-04f, 2.691916704e-04f, 2.691079471e-04f, 2.690237647e-04f, 2.689391236e-04f, 2.688540239e-04f, 2.687684657e-04f, 2.686824493e-04f, 2.685959748e-04f,
+2.685090424e-04f, 2.684216523e-04f, 2.683338047e-04f, 2.682454998e-04f, 2.681567377e-04f, 2.680675187e-04f, 2.679778429e-04f, 2.678877105e-04f, 2.677971217e-04f, 2.677060768e-04f,
+2.676145758e-04f, 2.675226190e-04f, 2.674302066e-04f, 2.673373388e-04f, 2.672440158e-04f, 2.671502377e-04f, 2.670560048e-04f, 2.669613173e-04f, 2.668661753e-04f, 2.667705790e-04f,
+2.666745288e-04f, 2.665780247e-04f, 2.664810669e-04f, 2.663836557e-04f, 2.662857913e-04f, 2.661874738e-04f, 2.660887035e-04f, 2.659894806e-04f, 2.658898053e-04f, 2.657896777e-04f,
+2.656890982e-04f, 2.655880668e-04f, 2.654865839e-04f, 2.653846496e-04f, 2.652822641e-04f, 2.651794277e-04f, 2.650761405e-04f, 2.649724028e-04f, 2.648682147e-04f, 2.647635766e-04f,
+2.646584886e-04f, 2.645529509e-04f, 2.644469637e-04f, 2.643405273e-04f, 2.642336419e-04f, 2.641263077e-04f, 2.640185249e-04f, 2.639102937e-04f, 2.638016144e-04f, 2.636924871e-04f,
+2.635829122e-04f, 2.634728898e-04f, 2.633624201e-04f, 2.632515035e-04f, 2.631401400e-04f, 2.630283299e-04f, 2.629160735e-04f, 2.628033710e-04f, 2.626902225e-04f, 2.625766284e-04f,
+2.624625889e-04f, 2.623481042e-04f, 2.622331745e-04f, 2.621178001e-04f, 2.620019812e-04f, 2.618857180e-04f, 2.617690107e-04f, 2.616518597e-04f, 2.615342651e-04f, 2.614162272e-04f,
+2.612977462e-04f, 2.611788223e-04f, 2.610594558e-04f, 2.609396470e-04f, 2.608193960e-04f, 2.606987031e-04f, 2.605775686e-04f, 2.604559926e-04f, 2.603339755e-04f, 2.602115175e-04f,
+2.600886188e-04f, 2.599652797e-04f, 2.598415004e-04f, 2.597172812e-04f, 2.595926223e-04f, 2.594675239e-04f, 2.593419864e-04f, 2.592160099e-04f, 2.590895948e-04f, 2.589627412e-04f,
+2.588354494e-04f, 2.587077197e-04f, 2.585795523e-04f, 2.584509475e-04f, 2.583219055e-04f, 2.581924267e-04f, 2.580625111e-04f, 2.579321592e-04f, 2.578013712e-04f, 2.576701472e-04f,
+2.575384877e-04f, 2.574063928e-04f, 2.572738628e-04f, 2.571408980e-04f, 2.570074986e-04f, 2.568736648e-04f, 2.567393971e-04f, 2.566046956e-04f, 2.564695605e-04f, 2.563339922e-04f,
+2.561979910e-04f, 2.560615570e-04f, 2.559246906e-04f, 2.557873920e-04f, 2.556496615e-04f, 2.555114994e-04f, 2.553729059e-04f, 2.552338813e-04f, 2.550944259e-04f, 2.549545400e-04f,
+2.548142238e-04f, 2.546734776e-04f, 2.545323017e-04f, 2.543906964e-04f, 2.542486619e-04f, 2.541061985e-04f, 2.539633065e-04f, 2.538199862e-04f, 2.536762378e-04f, 2.535320617e-04f,
+2.533874581e-04f, 2.532424273e-04f, 2.530969696e-04f, 2.529510852e-04f, 2.528047745e-04f, 2.526580377e-04f, 2.525108752e-04f, 2.523632871e-04f, 2.522152739e-04f, 2.520668357e-04f,
+2.519179729e-04f, 2.517686858e-04f, 2.516189746e-04f, 2.514688397e-04f, 2.513182813e-04f, 2.511672997e-04f, 2.510158952e-04f, 2.508640682e-04f, 2.507118189e-04f, 2.505591476e-04f,
+2.504060545e-04f, 2.502525401e-04f, 2.500986046e-04f, 2.499442482e-04f, 2.497894714e-04f, 2.496342743e-04f, 2.494786573e-04f, 2.493226207e-04f, 2.491661648e-04f, 2.490092899e-04f,
+2.488519963e-04f, 2.486942843e-04f, 2.485361542e-04f, 2.483776063e-04f, 2.482186410e-04f, 2.480592584e-04f, 2.478994590e-04f, 2.477392430e-04f, 2.475786108e-04f, 2.474175626e-04f,
+2.472560988e-04f, 2.470942196e-04f, 2.469319255e-04f, 2.467692166e-04f, 2.466060934e-04f, 2.464425561e-04f, 2.462786050e-04f, 2.461142405e-04f, 2.459494628e-04f, 2.457842723e-04f,
+2.456186694e-04f, 2.454526542e-04f, 2.452862272e-04f, 2.451193886e-04f, 2.449521389e-04f, 2.447844782e-04f, 2.446164069e-04f, 2.444479254e-04f, 2.442790339e-04f, 2.441097329e-04f,
+2.439400225e-04f, 2.437699031e-04f, 2.435993752e-04f, 2.434284389e-04f, 2.432570946e-04f, 2.430853426e-04f, 2.429131834e-04f, 2.427406171e-04f, 2.425676441e-04f, 2.423942648e-04f,
+2.422204794e-04f, 2.420462884e-04f, 2.418716921e-04f, 2.416966907e-04f, 2.415212846e-04f, 2.413454742e-04f, 2.411692597e-04f, 2.409926416e-04f, 2.408156201e-04f, 2.406381956e-04f,
+2.404603684e-04f, 2.402821389e-04f, 2.401035074e-04f, 2.399244742e-04f, 2.397450397e-04f, 2.395652043e-04f, 2.393849682e-04f, 2.392043318e-04f, 2.390232954e-04f, 2.388418595e-04f,
+2.386600243e-04f, 2.384777901e-04f, 2.382951574e-04f, 2.381121265e-04f, 2.379286976e-04f, 2.377448713e-04f, 2.375606477e-04f, 2.373760273e-04f, 2.371910105e-04f, 2.370055974e-04f,
+2.368197886e-04f, 2.366335844e-04f, 2.364469851e-04f, 2.362599910e-04f, 2.360726025e-04f, 2.358848201e-04f, 2.356966439e-04f, 2.355080745e-04f, 2.353191121e-04f, 2.351297570e-04f,
+2.349400098e-04f, 2.347498706e-04f, 2.345593399e-04f, 2.343684180e-04f, 2.341771054e-04f, 2.339854022e-04f, 2.337933090e-04f, 2.336008261e-04f, 2.334079538e-04f, 2.332146924e-04f,
+2.330210425e-04f, 2.328270042e-04f, 2.326325781e-04f, 2.324377644e-04f, 2.322425635e-04f, 2.320469759e-04f, 2.318510017e-04f, 2.316546415e-04f, 2.314578956e-04f, 2.312607644e-04f,
+2.310632481e-04f, 2.308653473e-04f, 2.306670623e-04f, 2.304683934e-04f, 2.302693410e-04f, 2.300699055e-04f, 2.298700873e-04f, 2.296698867e-04f, 2.294693041e-04f, 2.292683399e-04f,
+2.290669945e-04f, 2.288652682e-04f, 2.286631615e-04f, 2.284606746e-04f, 2.282578080e-04f, 2.280545621e-04f, 2.278509372e-04f, 2.276469338e-04f, 2.274425521e-04f, 2.272377926e-04f,
+2.270326557e-04f, 2.268271417e-04f, 2.266212511e-04f, 2.264149842e-04f, 2.262083414e-04f, 2.260013230e-04f, 2.257939296e-04f, 2.255861614e-04f, 2.253780188e-04f, 2.251695023e-04f,
+2.249606123e-04f, 2.247513490e-04f, 2.245417129e-04f, 2.243317044e-04f, 2.241213240e-04f, 2.239105719e-04f, 2.236994485e-04f, 2.234879544e-04f, 2.232760898e-04f, 2.230638551e-04f,
+2.228512508e-04f, 2.226382772e-04f, 2.224249348e-04f, 2.222112239e-04f, 2.219971450e-04f, 2.217826983e-04f, 2.215678845e-04f, 2.213527037e-04f, 2.211371565e-04f, 2.209212432e-04f,
+2.207049642e-04f, 2.204883200e-04f, 2.202713109e-04f, 2.200539373e-04f, 2.198361997e-04f, 2.196180984e-04f, 2.193996339e-04f, 2.191808065e-04f, 2.189616167e-04f, 2.187420649e-04f,
+2.185221514e-04f, 2.183018767e-04f, 2.180812412e-04f, 2.178602453e-04f, 2.176388895e-04f, 2.174171740e-04f, 2.171950994e-04f, 2.169726660e-04f, 2.167498742e-04f, 2.165267246e-04f,
+2.163032174e-04f, 2.160793531e-04f, 2.158551321e-04f, 2.156305548e-04f, 2.154056216e-04f, 2.151803330e-04f, 2.149546894e-04f, 2.147286912e-04f, 2.145023387e-04f, 2.142756325e-04f,
+2.140485730e-04f, 2.138211604e-04f, 2.135933954e-04f, 2.133652783e-04f, 2.131368095e-04f, 2.129079894e-04f, 2.126788185e-04f, 2.124492972e-04f, 2.122194259e-04f, 2.119892050e-04f,
+2.117586350e-04f, 2.115277163e-04f, 2.112964492e-04f, 2.110648344e-04f, 2.108328720e-04f, 2.106005627e-04f, 2.103679068e-04f, 2.101349048e-04f, 2.099015570e-04f, 2.096678639e-04f,
+2.094338260e-04f, 2.091994436e-04f, 2.089647172e-04f, 2.087296473e-04f, 2.084942342e-04f, 2.082584784e-04f, 2.080223804e-04f, 2.077859405e-04f, 2.075491592e-04f, 2.073120369e-04f,
+2.070745742e-04f, 2.068367713e-04f, 2.065986288e-04f, 2.063601470e-04f, 2.061213265e-04f, 2.058821676e-04f, 2.056426708e-04f, 2.054028366e-04f, 2.051626653e-04f, 2.049221575e-04f,
+2.046813135e-04f, 2.044401338e-04f, 2.041986189e-04f, 2.039567691e-04f, 2.037145850e-04f, 2.034720669e-04f, 2.032292154e-04f, 2.029860308e-04f, 2.027425137e-04f, 2.024986644e-04f,
+2.022544834e-04f, 2.020099711e-04f, 2.017651281e-04f, 2.015199547e-04f, 2.012744514e-04f, 2.010286186e-04f, 2.007824568e-04f, 2.005359665e-04f, 2.002891481e-04f, 2.000420020e-04f,
+1.997945287e-04f, 1.995467287e-04f, 1.992986024e-04f, 1.990501502e-04f, 1.988013727e-04f, 1.985522702e-04f, 1.983028433e-04f, 1.980530923e-04f, 1.978030178e-04f, 1.975526202e-04f,
+1.973018999e-04f, 1.970508574e-04f, 1.967994932e-04f, 1.965478078e-04f, 1.962958015e-04f, 1.960434748e-04f, 1.957908283e-04f, 1.955378623e-04f, 1.952845774e-04f, 1.950309740e-04f,
+1.947770525e-04f, 1.945228134e-04f, 1.942682573e-04f, 1.940133844e-04f, 1.937581954e-04f, 1.935026906e-04f, 1.932468706e-04f, 1.929907358e-04f, 1.927342867e-04f, 1.924775237e-04f,
+1.922204474e-04f, 1.919630581e-04f, 1.917053563e-04f, 1.914473426e-04f, 1.911890174e-04f, 1.909303811e-04f, 1.906714342e-04f, 1.904121773e-04f, 1.901526107e-04f, 1.898927349e-04f,
+1.896325505e-04f, 1.893720579e-04f, 1.891112575e-04f, 1.888501499e-04f, 1.885887354e-04f, 1.883270147e-04f, 1.880649881e-04f, 1.878026562e-04f, 1.875400193e-04f, 1.872770781e-04f,
+1.870138330e-04f, 1.867502844e-04f, 1.864864328e-04f, 1.862222787e-04f, 1.859578226e-04f, 1.856930650e-04f, 1.854280063e-04f, 1.851626471e-04f, 1.848969878e-04f, 1.846310288e-04f,
+1.843647708e-04f, 1.840982141e-04f, 1.838313592e-04f, 1.835642067e-04f, 1.832967570e-04f, 1.830290105e-04f, 1.827609679e-04f, 1.824926295e-04f, 1.822239959e-04f, 1.819550675e-04f,
+1.816858449e-04f, 1.814163284e-04f, 1.811465187e-04f, 1.808764161e-04f, 1.806060213e-04f, 1.803353346e-04f, 1.800643566e-04f, 1.797930877e-04f, 1.795215285e-04f, 1.792496794e-04f,
+1.789775409e-04f, 1.787051136e-04f, 1.784323979e-04f, 1.781593942e-04f, 1.778861032e-04f, 1.776125253e-04f, 1.773386609e-04f, 1.770645107e-04f, 1.767900750e-04f, 1.765153544e-04f,
+1.762403494e-04f, 1.759650605e-04f, 1.756894881e-04f, 1.754136328e-04f, 1.751374950e-04f, 1.748610753e-04f, 1.745843742e-04f, 1.743073922e-04f, 1.740301297e-04f, 1.737525872e-04f,
+1.734747654e-04f, 1.731966646e-04f, 1.729182853e-04f, 1.726396282e-04f, 1.723606936e-04f, 1.720814821e-04f, 1.718019942e-04f, 1.715222303e-04f, 1.712421911e-04f, 1.709618769e-04f,
+1.706812884e-04f, 1.704004259e-04f, 1.701192901e-04f, 1.698378814e-04f, 1.695562003e-04f, 1.692742474e-04f, 1.689920231e-04f, 1.687095279e-04f, 1.684267625e-04f, 1.681437271e-04f,
+1.678604225e-04f, 1.675768491e-04f, 1.672930073e-04f, 1.670088978e-04f, 1.667245210e-04f, 1.664398774e-04f, 1.661549676e-04f, 1.658697921e-04f, 1.655843513e-04f, 1.652986458e-04f,
+1.650126761e-04f, 1.647264428e-04f, 1.644399462e-04f, 1.641531870e-04f, 1.638661657e-04f, 1.635788828e-04f, 1.632913387e-04f, 1.630035341e-04f, 1.627154694e-04f, 1.624271452e-04f,
+1.621385619e-04f, 1.618497201e-04f, 1.615606203e-04f, 1.612712630e-04f, 1.609816488e-04f, 1.606917782e-04f, 1.604016516e-04f, 1.601112696e-04f, 1.598206328e-04f, 1.595297416e-04f,
+1.592385966e-04f, 1.589471983e-04f, 1.586555472e-04f, 1.583636439e-04f, 1.580714888e-04f, 1.577790825e-04f, 1.574864255e-04f, 1.571935184e-04f, 1.569003616e-04f, 1.566069557e-04f,
+1.563133013e-04f, 1.560193987e-04f, 1.557252487e-04f, 1.554308516e-04f, 1.551362081e-04f, 1.548413187e-04f, 1.545461838e-04f, 1.542508040e-04f, 1.539551799e-04f, 1.536593119e-04f,
+1.533632007e-04f, 1.530668466e-04f, 1.527702504e-04f, 1.524734124e-04f, 1.521763333e-04f, 1.518790135e-04f, 1.515814536e-04f, 1.512836542e-04f, 1.509856157e-04f, 1.506873387e-04f,
+1.503888237e-04f, 1.500900712e-04f, 1.497910819e-04f, 1.494918562e-04f, 1.491923946e-04f, 1.488926978e-04f, 1.485927662e-04f, 1.482926003e-04f, 1.479922008e-04f, 1.476915681e-04f,
+1.473907028e-04f, 1.470896054e-04f, 1.467882765e-04f, 1.464867166e-04f, 1.461849262e-04f, 1.458829059e-04f, 1.455806562e-04f, 1.452781777e-04f, 1.449754708e-04f, 1.446725362e-04f,
+1.443693744e-04f, 1.440659859e-04f, 1.437623713e-04f, 1.434585310e-04f, 1.431544658e-04f, 1.428501760e-04f, 1.425456622e-04f, 1.422409250e-04f, 1.419359650e-04f, 1.416307826e-04f,
+1.413253784e-04f, 1.410197529e-04f, 1.407139068e-04f, 1.404078405e-04f, 1.401015546e-04f, 1.397950497e-04f, 1.394883262e-04f, 1.391813847e-04f, 1.388742259e-04f, 1.385668501e-04f,
+1.382592581e-04f, 1.379514502e-04f, 1.376434272e-04f, 1.373351894e-04f, 1.370267376e-04f, 1.367180721e-04f, 1.364091936e-04f, 1.361001026e-04f, 1.357907997e-04f, 1.354812855e-04f,
+1.351715604e-04f, 1.348616250e-04f, 1.345514799e-04f, 1.342411256e-04f, 1.339305627e-04f, 1.336197918e-04f, 1.333088133e-04f, 1.329976279e-04f, 1.326862361e-04f, 1.323746384e-04f,
+1.320628354e-04f, 1.317508277e-04f, 1.314386158e-04f, 1.311262002e-04f, 1.308135816e-04f, 1.305007605e-04f, 1.301877374e-04f, 1.298745129e-04f, 1.295610875e-04f, 1.292474619e-04f,
+1.289336365e-04f, 1.286196120e-04f, 1.283053888e-04f, 1.279909675e-04f, 1.276763488e-04f, 1.273615331e-04f, 1.270465211e-04f, 1.267313132e-04f, 1.264159100e-04f, 1.261003122e-04f,
+1.257845202e-04f, 1.254685346e-04f, 1.251523560e-04f, 1.248359850e-04f, 1.245194220e-04f, 1.242026677e-04f, 1.238857227e-04f, 1.235685874e-04f, 1.232512625e-04f, 1.229337485e-04f,
+1.226160460e-04f, 1.222981555e-04f, 1.219800776e-04f, 1.216618129e-04f, 1.213433620e-04f, 1.210247253e-04f, 1.207059035e-04f, 1.203868971e-04f, 1.200677068e-04f, 1.197483329e-04f,
+1.194287763e-04f, 1.191090373e-04f, 1.187891166e-04f, 1.184690147e-04f, 1.181487322e-04f, 1.178282696e-04f, 1.175076276e-04f, 1.171868067e-04f, 1.168658075e-04f, 1.165446305e-04f,
+1.162232763e-04f, 1.159017455e-04f, 1.155800387e-04f, 1.152581563e-04f, 1.149360990e-04f, 1.146138674e-04f, 1.142914620e-04f, 1.139688834e-04f, 1.136461322e-04f, 1.133232089e-04f,
+1.130001142e-04f, 1.126768485e-04f, 1.123534124e-04f, 1.120298066e-04f, 1.117060316e-04f, 1.113820880e-04f, 1.110579762e-04f, 1.107336971e-04f, 1.104092510e-04f, 1.100846385e-04f,
+1.097598604e-04f, 1.094349170e-04f, 1.091098090e-04f, 1.087845370e-04f, 1.084591015e-04f, 1.081335031e-04f, 1.078077424e-04f, 1.074818200e-04f, 1.071557364e-04f, 1.068294922e-04f,
+1.065030880e-04f, 1.061765244e-04f, 1.058498020e-04f, 1.055229212e-04f, 1.051958828e-04f, 1.048686872e-04f, 1.045413351e-04f, 1.042138270e-04f, 1.038861636e-04f, 1.035583453e-04f,
+1.032303728e-04f, 1.029022466e-04f, 1.025739674e-04f, 1.022455357e-04f, 1.019169520e-04f, 1.015882170e-04f, 1.012593313e-04f, 1.009302954e-04f, 1.006011099e-04f, 1.002717754e-04f,
+9.994229245e-05f, 9.961266165e-05f, 9.928288358e-05f, 9.895295883e-05f, 9.862288796e-05f, 9.829267157e-05f, 9.796231024e-05f, 9.763180455e-05f, 9.730115508e-05f, 9.697036241e-05f,
+9.663942714e-05f, 9.630834983e-05f, 9.597713107e-05f, 9.564577146e-05f, 9.531427156e-05f, 9.498263197e-05f, 9.465085328e-05f, 9.431893605e-05f, 9.398688088e-05f, 9.365468836e-05f,
+9.332235906e-05f, 9.298989358e-05f, 9.265729249e-05f, 9.232455639e-05f, 9.199168586e-05f, 9.165868148e-05f, 9.132554385e-05f, 9.099227354e-05f, 9.065887115e-05f, 9.032533725e-05f,
+8.999167245e-05f, 8.965787732e-05f, 8.932395245e-05f, 8.898989843e-05f, 8.865571585e-05f, 8.832140529e-05f, 8.798696735e-05f, 8.765240260e-05f, 8.731771164e-05f, 8.698289506e-05f,
+8.664795345e-05f, 8.631288739e-05f, 8.597769747e-05f, 8.564238428e-05f, 8.530694842e-05f, 8.497139046e-05f, 8.463571101e-05f, 8.429991065e-05f, 8.396398997e-05f, 8.362794955e-05f,
+8.329179000e-05f, 8.295551190e-05f, 8.261911584e-05f, 8.228260241e-05f, 8.194597221e-05f, 8.160922582e-05f, 8.127236383e-05f, 8.093538684e-05f, 8.059829544e-05f, 8.026109022e-05f,
+7.992377177e-05f, 7.958634069e-05f, 7.924879756e-05f, 7.891114298e-05f, 7.857337754e-05f, 7.823550183e-05f, 7.789751644e-05f, 7.755942198e-05f, 7.722121903e-05f, 7.688290818e-05f,
+7.654449003e-05f, 7.620596517e-05f, 7.586733419e-05f, 7.552859770e-05f, 7.518975627e-05f, 7.485081052e-05f, 7.451176102e-05f, 7.417260838e-05f, 7.383335318e-05f, 7.349399603e-05f,
+7.315453752e-05f, 7.281497824e-05f, 7.247531879e-05f, 7.213555977e-05f, 7.179570176e-05f, 7.145574536e-05f, 7.111569117e-05f, 7.077553979e-05f, 7.043529180e-05f, 7.009494782e-05f,
+6.975450842e-05f, 6.941397421e-05f, 6.907334579e-05f, 6.873262374e-05f, 6.839180867e-05f, 6.805090118e-05f, 6.770990185e-05f, 6.736881129e-05f, 6.702763009e-05f, 6.668635885e-05f,
+6.634499817e-05f, 6.600354864e-05f, 6.566201087e-05f, 6.532038544e-05f, 6.497867296e-05f, 6.463687402e-05f, 6.429498923e-05f, 6.395301917e-05f, 6.361096445e-05f, 6.326882567e-05f,
+6.292660342e-05f, 6.258429830e-05f, 6.224191091e-05f, 6.189944184e-05f, 6.155689171e-05f, 6.121426110e-05f, 6.087155061e-05f, 6.052876085e-05f, 6.018589241e-05f, 5.984294588e-05f,
+5.949992188e-05f, 5.915682100e-05f, 5.881364383e-05f, 5.847039098e-05f, 5.812706305e-05f, 5.778366063e-05f, 5.744018433e-05f, 5.709663474e-05f, 5.675301247e-05f, 5.640931812e-05f,
+5.606555227e-05f, 5.572171554e-05f, 5.537780853e-05f, 5.503383183e-05f, 5.468978605e-05f, 5.434567178e-05f, 5.400148962e-05f, 5.365724019e-05f, 5.331292406e-05f, 5.296854186e-05f,
+5.262409417e-05f, 5.227958160e-05f, 5.193500475e-05f, 5.159036422e-05f, 5.124566061e-05f, 5.090089452e-05f, 5.055606655e-05f, 5.021117731e-05f, 4.986622739e-05f, 4.952121740e-05f,
+4.917614793e-05f, 4.883101959e-05f, 4.848583298e-05f, 4.814058871e-05f, 4.779528736e-05f, 4.744992955e-05f, 4.710451588e-05f, 4.675904694e-05f, 4.641352334e-05f, 4.606794568e-05f,
+4.572231457e-05f, 4.537663060e-05f, 4.503089437e-05f, 4.468510650e-05f, 4.433926757e-05f, 4.399337820e-05f, 4.364743898e-05f, 4.330145051e-05f, 4.295541340e-05f, 4.260932826e-05f,
+4.226319567e-05f, 4.191701626e-05f, 4.157079060e-05f, 4.122451932e-05f, 4.087820301e-05f, 4.053184227e-05f, 4.018543771e-05f, 3.983898993e-05f, 3.949249953e-05f, 3.914596712e-05f,
+3.879939329e-05f, 3.845277865e-05f, 3.810612380e-05f, 3.775942934e-05f, 3.741269588e-05f, 3.706592402e-05f, 3.671911436e-05f, 3.637226751e-05f, 3.602538406e-05f, 3.567846463e-05f,
+3.533150980e-05f, 3.498452019e-05f, 3.463749640e-05f, 3.429043903e-05f, 3.394334869e-05f, 3.359622597e-05f, 3.324907148e-05f, 3.290188582e-05f, 3.255466960e-05f, 3.220742341e-05f,
+3.186014786e-05f, 3.151284356e-05f, 3.116551111e-05f, 3.081815110e-05f, 3.047076415e-05f, 3.012335085e-05f, 2.977591180e-05f, 2.942844762e-05f, 2.908095890e-05f, 2.873344625e-05f,
+2.838591026e-05f, 2.803835155e-05f, 2.769077071e-05f, 2.734316835e-05f, 2.699554507e-05f, 2.664790148e-05f, 2.630023817e-05f, 2.595255574e-05f, 2.560485481e-05f, 2.525713597e-05f,
+2.490939983e-05f, 2.456164699e-05f, 2.421387805e-05f, 2.386609362e-05f, 2.351829429e-05f, 2.317048068e-05f, 2.282265337e-05f, 2.247481298e-05f, 2.212696011e-05f, 2.177909537e-05f,
+2.143121934e-05f, 2.108333264e-05f, 2.073543586e-05f, 2.038752962e-05f, 2.003961451e-05f, 1.969169114e-05f, 1.934376010e-05f, 1.899582200e-05f, 1.864787745e-05f, 1.829992704e-05f,
+1.795197138e-05f, 1.760401106e-05f, 1.725604670e-05f, 1.690807889e-05f, 1.656010824e-05f, 1.621213534e-05f, 1.586416080e-05f, 1.551618522e-05f, 1.516820921e-05f, 1.482023336e-05f,
+1.447225828e-05f, 1.412428456e-05f, 1.377631282e-05f, 1.342834365e-05f, 1.308037765e-05f, 1.273241543e-05f, 1.238445758e-05f, 1.203650471e-05f, 1.168855742e-05f, 1.134061632e-05f,
+1.099268199e-05f, 1.064475505e-05f, 1.029683609e-05f, 9.948925716e-06f, 9.601024530e-06f, 9.253133132e-06f, 8.905252122e-06f, 8.557382102e-06f, 8.209523672e-06f, 7.861677433e-06f,
+7.513843985e-06f, 7.166023930e-06f, 6.818217868e-06f, 6.470426399e-06f, 6.122650123e-06f, 5.774889642e-06f, 5.427145555e-06f, 5.079418462e-06f, 4.731708964e-06f, 4.384017660e-06f,
+4.036345151e-06f, 3.688692036e-06f, 3.341058915e-06f, 2.993446388e-06f, 2.645855055e-06f, 2.298285515e-06f, 1.950738367e-06f, 1.603214211e-06f, 1.255713646e-06f, 9.082372719e-07f,
+5.607856870e-07f, 2.133594907e-07f, -1.340407181e-07f, -4.814143406e-07f, -8.287607780e-07f, -1.176079432e-06f, -1.523369703e-06f, -1.870630993e-06f, -2.217862705e-06f, -2.565064238e-06f,
+-2.912234996e-06f, -3.259374380e-06f, -3.606481793e-06f, -3.953556636e-06f, -4.300598311e-06f, -4.647606221e-06f, -4.994579768e-06f, -5.341518356e-06f, -5.688421385e-06f, -6.035288260e-06f,
+-6.382118383e-06f, -6.728911156e-06f, -7.075665984e-06f, -7.422382268e-06f, -7.769059414e-06f, -8.115696823e-06f, -8.462293899e-06f, -8.808850046e-06f, -9.155364668e-06f, -9.501837169e-06f,
+-9.848266952e-06f, -1.019465342e-05f, -1.054099598e-05f, -1.088729404e-05f, -1.123354699e-05f, -1.157975425e-05f, -1.192591522e-05f, -1.227202930e-05f, -1.261809590e-05f, -1.296411443e-05f,
+-1.331008428e-05f, -1.365600487e-05f, -1.400187560e-05f, -1.434769587e-05f, -1.469346510e-05f, -1.503918268e-05f, -1.538484802e-05f, -1.573046054e-05f, -1.607601962e-05f, -1.642152470e-05f,
+-1.676697515e-05f, -1.711237041e-05f, -1.745770987e-05f, -1.780299293e-05f, -1.814821901e-05f, -1.849338752e-05f, -1.883849785e-05f, -1.918354943e-05f, -1.952854164e-05f, -1.987347392e-05f,
+-2.021834565e-05f, -2.056315626e-05f, -2.090790514e-05f, -2.125259171e-05f, -2.159721537e-05f, -2.194177554e-05f, -2.228627162e-05f, -2.263070303e-05f, -2.297506916e-05f, -2.331936944e-05f,
+-2.366360326e-05f, -2.400777005e-05f, -2.435186920e-05f, -2.469590014e-05f, -2.503986226e-05f, -2.538375498e-05f, -2.572757772e-05f, -2.607132988e-05f, -2.641501086e-05f, -2.675862010e-05f,
+-2.710215698e-05f, -2.744562093e-05f, -2.778901136e-05f, -2.813232768e-05f, -2.847556930e-05f, -2.881873563e-05f, -2.916182609e-05f, -2.950484008e-05f, -2.984777702e-05f, -3.019063633e-05f,
+-3.053341741e-05f, -3.087611968e-05f, -3.121874255e-05f, -3.156128544e-05f, -3.190374776e-05f, -3.224612892e-05f, -3.258842834e-05f, -3.293064542e-05f, -3.327277960e-05f, -3.361483027e-05f,
+-3.395679686e-05f, -3.429867878e-05f, -3.464047544e-05f, -3.498218627e-05f, -3.532381067e-05f, -3.566534806e-05f, -3.600679786e-05f, -3.634815948e-05f, -3.668943234e-05f, -3.703061586e-05f,
+-3.737170945e-05f, -3.771271253e-05f, -3.805362452e-05f, -3.839444483e-05f, -3.873517289e-05f, -3.907580811e-05f, -3.941634990e-05f, -3.975679769e-05f, -4.009715089e-05f, -4.043740892e-05f,
+-4.077757121e-05f, -4.111763717e-05f, -4.145760621e-05f, -4.179747777e-05f, -4.213725125e-05f, -4.247692608e-05f, -4.281650168e-05f, -4.315597747e-05f, -4.349535287e-05f, -4.383462729e-05f,
+-4.417380017e-05f, -4.451287092e-05f, -4.485183896e-05f, -4.519070372e-05f, -4.552946461e-05f, -4.586812107e-05f, -4.620667250e-05f, -4.654511833e-05f, -4.688345799e-05f, -4.722169090e-05f,
+-4.755981648e-05f, -4.789783416e-05f, -4.823574335e-05f, -4.857354349e-05f, -4.891123399e-05f, -4.924881429e-05f, -4.958628380e-05f, -4.992364195e-05f, -5.026088816e-05f, -5.059802187e-05f,
+-5.093504249e-05f, -5.127194945e-05f, -5.160874218e-05f, -5.194542011e-05f, -5.228198265e-05f, -5.261842924e-05f, -5.295475931e-05f, -5.329097227e-05f, -5.362706757e-05f, -5.396304462e-05f,
+-5.429890285e-05f, -5.463464170e-05f, -5.497026058e-05f, -5.530575894e-05f, -5.564113619e-05f, -5.597639177e-05f, -5.631152511e-05f, -5.664653563e-05f, -5.698142277e-05f, -5.731618595e-05f,
+-5.765082462e-05f, -5.798533819e-05f, -5.831972609e-05f, -5.865398777e-05f, -5.898812265e-05f, -5.932213016e-05f, -5.965600974e-05f, -5.998976081e-05f, -6.032338282e-05f, -6.065687518e-05f,
+-6.099023734e-05f, -6.132346873e-05f, -6.165656879e-05f, -6.198953694e-05f, -6.232237262e-05f, -6.265507526e-05f, -6.298764431e-05f, -6.332007919e-05f, -6.365237933e-05f, -6.398454419e-05f,
+-6.431657318e-05f, -6.464846576e-05f, -6.498022134e-05f, -6.531183938e-05f, -6.564331931e-05f, -6.597466055e-05f, -6.630586256e-05f, -6.663692477e-05f, -6.696784662e-05f, -6.729862754e-05f,
+-6.762926698e-05f, -6.795976437e-05f, -6.829011916e-05f, -6.862033078e-05f, -6.895039866e-05f, -6.928032226e-05f, -6.961010102e-05f, -6.993973436e-05f, -7.026922174e-05f, -7.059856260e-05f,
+-7.092775637e-05f, -7.125680250e-05f, -7.158570043e-05f, -7.191444961e-05f, -7.224304947e-05f, -7.257149945e-05f, -7.289979902e-05f, -7.322794759e-05f, -7.355594463e-05f, -7.388378957e-05f,
+-7.421148186e-05f, -7.453902094e-05f, -7.486640626e-05f, -7.519363727e-05f, -7.552071341e-05f, -7.584763412e-05f, -7.617439885e-05f, -7.650100705e-05f, -7.682745817e-05f, -7.715375165e-05f,
+-7.747988695e-05f, -7.780586350e-05f, -7.813168076e-05f, -7.845733817e-05f, -7.878283519e-05f, -7.910817127e-05f, -7.943334585e-05f, -7.975835838e-05f, -8.008320831e-05f, -8.040789510e-05f,
+-8.073241820e-05f, -8.105677705e-05f, -8.138097110e-05f, -8.170499982e-05f, -8.202886265e-05f, -8.235255905e-05f, -8.267608846e-05f, -8.299945034e-05f, -8.332264414e-05f, -8.364566932e-05f,
+-8.396852534e-05f, -8.429121164e-05f, -8.461372768e-05f, -8.493607291e-05f, -8.525824680e-05f, -8.558024879e-05f, -8.590207835e-05f, -8.622373493e-05f, -8.654521799e-05f, -8.686652697e-05f,
+-8.718766136e-05f, -8.750862058e-05f, -8.782940412e-05f, -8.815001143e-05f, -8.847044195e-05f, -8.879069517e-05f, -8.911077052e-05f, -8.943066748e-05f, -8.975038551e-05f, -9.006992406e-05f,
+-9.038928259e-05f, -9.070846057e-05f, -9.102745746e-05f, -9.134627273e-05f, -9.166490582e-05f, -9.198335621e-05f, -9.230162336e-05f, -9.261970673e-05f, -9.293760579e-05f, -9.325532000e-05f,
+-9.357284883e-05f, -9.389019173e-05f, -9.420734818e-05f, -9.452431764e-05f, -9.484109958e-05f, -9.515769346e-05f, -9.547409875e-05f, -9.579031492e-05f, -9.610634144e-05f, -9.642217776e-05f,
+-9.673782337e-05f, -9.705327773e-05f, -9.736854030e-05f, -9.768361056e-05f, -9.799848798e-05f, -9.831317203e-05f, -9.862766218e-05f, -9.894195789e-05f, -9.925605864e-05f, -9.956996391e-05f,
+-9.988367316e-05f, -1.001971859e-04f, -1.005105015e-04f, -1.008236195e-04f, -1.011365394e-04f, -1.014492607e-04f, -1.017617828e-04f, -1.020741052e-04f, -1.023862273e-04f, -1.026981487e-04f,
+-1.030098688e-04f, -1.033213872e-04f, -1.036327032e-04f, -1.039438163e-04f, -1.042547261e-04f, -1.045654320e-04f, -1.048759335e-04f, -1.051862300e-04f, -1.054963211e-04f, -1.058062062e-04f,
+-1.061158849e-04f, -1.064253565e-04f, -1.067346205e-04f, -1.070436765e-04f, -1.073525240e-04f, -1.076611623e-04f, -1.079695911e-04f, -1.082778097e-04f, -1.085858176e-04f, -1.088936144e-04f,
+-1.092011996e-04f, -1.095085725e-04f, -1.098157327e-04f, -1.101226797e-04f, -1.104294130e-04f, -1.107359320e-04f, -1.110422362e-04f, -1.113483252e-04f, -1.116541983e-04f, -1.119598552e-04f,
+-1.122652952e-04f, -1.125705180e-04f, -1.128755228e-04f, -1.131803094e-04f, -1.134848770e-04f, -1.137892253e-04f, -1.140933537e-04f, -1.143972617e-04f, -1.147009488e-04f, -1.150044145e-04f,
+-1.153076583e-04f, -1.156106797e-04f, -1.159134781e-04f, -1.162160531e-04f, -1.165184041e-04f, -1.168205307e-04f, -1.171224324e-04f, -1.174241085e-04f, -1.177255587e-04f, -1.180267825e-04f,
+-1.183277792e-04f, -1.186285485e-04f, -1.189290898e-04f, -1.192294027e-04f, -1.195294865e-04f, -1.198293409e-04f, -1.201289652e-04f, -1.204283591e-04f, -1.207275220e-04f, -1.210264534e-04f,
+-1.213251528e-04f, -1.216236198e-04f, -1.219218537e-04f, -1.222198542e-04f, -1.225176207e-04f, -1.228151527e-04f, -1.231124497e-04f, -1.234095113e-04f, -1.237063369e-04f, -1.240029260e-04f,
+-1.242992782e-04f, -1.245953929e-04f, -1.248912697e-04f, -1.251869080e-04f, -1.254823074e-04f, -1.257774674e-04f, -1.260723874e-04f, -1.263670671e-04f, -1.266615058e-04f, -1.269557032e-04f,
+-1.272496587e-04f, -1.275433718e-04f, -1.278368420e-04f, -1.281300689e-04f, -1.284230520e-04f, -1.287157907e-04f, -1.290082846e-04f, -1.293005332e-04f, -1.295925360e-04f, -1.298842926e-04f,
+-1.301758024e-04f, -1.304670649e-04f, -1.307580797e-04f, -1.310488463e-04f, -1.313393642e-04f, -1.316296329e-04f, -1.319196519e-04f, -1.322094208e-04f, -1.324989390e-04f, -1.327882062e-04f,
+-1.330772217e-04f, -1.333659852e-04f, -1.336544961e-04f, -1.339427540e-04f, -1.342307583e-04f, -1.345185087e-04f, -1.348060046e-04f, -1.350932456e-04f, -1.353802311e-04f, -1.356669607e-04f,
+-1.359534339e-04f, -1.362396503e-04f, -1.365256094e-04f, -1.368113106e-04f, -1.370967536e-04f, -1.373819378e-04f, -1.376668627e-04f, -1.379515280e-04f, -1.382359331e-04f, -1.385200776e-04f,
+-1.388039609e-04f, -1.390875827e-04f, -1.393709423e-04f, -1.396540395e-04f, -1.399368736e-04f, -1.402194443e-04f, -1.405017511e-04f, -1.407837934e-04f, -1.410655709e-04f, -1.413470830e-04f,
+-1.416283293e-04f, -1.419093094e-04f, -1.421900227e-04f, -1.424704688e-04f, -1.427506472e-04f, -1.430305575e-04f, -1.433101992e-04f, -1.435895719e-04f, -1.438686750e-04f, -1.441475081e-04f,
+-1.444260708e-04f, -1.447043626e-04f, -1.449823830e-04f, -1.452601316e-04f, -1.455376079e-04f, -1.458148114e-04f, -1.460917417e-04f, -1.463683984e-04f, -1.466447810e-04f, -1.469208889e-04f,
+-1.471967219e-04f, -1.474722793e-04f, -1.477475608e-04f, -1.480225659e-04f, -1.482972941e-04f, -1.485717450e-04f, -1.488459182e-04f, -1.491198131e-04f, -1.493934294e-04f, -1.496667665e-04f,
+-1.499398241e-04f, -1.502126016e-04f, -1.504850987e-04f, -1.507573149e-04f, -1.510292496e-04f, -1.513009026e-04f, -1.515722732e-04f, -1.518433612e-04f, -1.521141659e-04f, -1.523846871e-04f,
+-1.526549242e-04f, -1.529248768e-04f, -1.531945445e-04f, -1.534639267e-04f, -1.537330231e-04f, -1.540018332e-04f, -1.542703566e-04f, -1.545385928e-04f, -1.548065415e-04f, -1.550742020e-04f,
+-1.553415741e-04f, -1.556086572e-04f, -1.558754510e-04f, -1.561419549e-04f, -1.564081686e-04f, -1.566740916e-04f, -1.569397234e-04f, -1.572050637e-04f, -1.574701120e-04f, -1.577348679e-04f,
+-1.579993308e-04f, -1.582635005e-04f, -1.585273764e-04f, -1.587909582e-04f, -1.590542453e-04f, -1.593172374e-04f, -1.595799340e-04f, -1.598423347e-04f, -1.601044390e-04f, -1.603662466e-04f,
+-1.606277570e-04f, -1.608889697e-04f, -1.611498844e-04f, -1.614105006e-04f, -1.616708179e-04f, -1.619308358e-04f, -1.621905540e-04f, -1.624499719e-04f, -1.627090893e-04f, -1.629679055e-04f,
+-1.632264204e-04f, -1.634846333e-04f, -1.637425439e-04f, -1.640001517e-04f, -1.642574564e-04f, -1.645144575e-04f, -1.647711546e-04f, -1.650275472e-04f, -1.652836350e-04f, -1.655394175e-04f,
+-1.657948944e-04f, -1.660500651e-04f, -1.663049293e-04f, -1.665594865e-04f, -1.668137364e-04f, -1.670676785e-04f, -1.673213125e-04f, -1.675746378e-04f, -1.678276541e-04f, -1.680803609e-04f,
+-1.683327579e-04f, -1.685848446e-04f, -1.688366207e-04f, -1.690880856e-04f, -1.693392391e-04f, -1.695900807e-04f, -1.698406099e-04f, -1.700908264e-04f, -1.703407298e-04f, -1.705903196e-04f,
+-1.708395955e-04f, -1.710885570e-04f, -1.713372037e-04f, -1.715855353e-04f, -1.718335512e-04f, -1.720812512e-04f, -1.723286348e-04f, -1.725757016e-04f, -1.728224512e-04f, -1.730688833e-04f,
+-1.733149973e-04f, -1.735607929e-04f, -1.738062697e-04f, -1.740514273e-04f, -1.742962653e-04f, -1.745407833e-04f, -1.747849809e-04f, -1.750288576e-04f, -1.752724132e-04f, -1.755156472e-04f,
+-1.757585593e-04f, -1.760011489e-04f, -1.762434157e-04f, -1.764853594e-04f, -1.767269795e-04f, -1.769682756e-04f, -1.772092474e-04f, -1.774498945e-04f, -1.776902164e-04f, -1.779302127e-04f,
+-1.781698832e-04f, -1.784092273e-04f, -1.786482448e-04f, -1.788869351e-04f, -1.791252980e-04f, -1.793633330e-04f, -1.796010398e-04f, -1.798384179e-04f, -1.800754671e-04f, -1.803121868e-04f,
+-1.805485767e-04f, -1.807846364e-04f, -1.810203656e-04f, -1.812557639e-04f, -1.814908308e-04f, -1.817255661e-04f, -1.819599692e-04f, -1.821940399e-04f, -1.824277777e-04f, -1.826611823e-04f,
+-1.828942534e-04f, -1.831269904e-04f, -1.833593931e-04f, -1.835914611e-04f, -1.838231939e-04f, -1.840545913e-04f, -1.842856528e-04f, -1.845163781e-04f, -1.847467667e-04f, -1.849768184e-04f,
+-1.852065328e-04f, -1.854359094e-04f, -1.856649479e-04f, -1.858936480e-04f, -1.861220093e-04f, -1.863500313e-04f, -1.865777138e-04f, -1.868050563e-04f, -1.870320585e-04f, -1.872587201e-04f,
+-1.874850406e-04f, -1.877110197e-04f, -1.879366570e-04f, -1.881619523e-04f, -1.883869050e-04f, -1.886115148e-04f, -1.888357815e-04f, -1.890597045e-04f, -1.892832836e-04f, -1.895065184e-04f,
+-1.897294086e-04f, -1.899519537e-04f, -1.901741534e-04f, -1.903960074e-04f, -1.906175153e-04f, -1.908386767e-04f, -1.910594914e-04f, -1.912799588e-04f, -1.915000788e-04f, -1.917198508e-04f,
+-1.919392747e-04f, -1.921583499e-04f, -1.923770762e-04f, -1.925954533e-04f, -1.928134807e-04f, -1.930311581e-04f, -1.932484851e-04f, -1.934654615e-04f, -1.936820869e-04f, -1.938983609e-04f,
+-1.941142831e-04f, -1.943298532e-04f, -1.945450710e-04f, -1.947599360e-04f, -1.949744478e-04f, -1.951886062e-04f, -1.954024108e-04f, -1.956158613e-04f, -1.958289572e-04f, -1.960416984e-04f,
+-1.962540843e-04f, -1.964661148e-04f, -1.966777894e-04f, -1.968891078e-04f, -1.971000697e-04f, -1.973106748e-04f, -1.975209226e-04f, -1.977308129e-04f, -1.979403454e-04f, -1.981495196e-04f,
+-1.983583353e-04f, -1.985667921e-04f, -1.987748897e-04f, -1.989826277e-04f, -1.991900059e-04f, -1.993970239e-04f, -1.996036813e-04f, -1.998099779e-04f, -2.000159133e-04f, -2.002214871e-04f,
+-2.004266991e-04f, -2.006315489e-04f, -2.008360363e-04f, -2.010401607e-04f, -2.012439221e-04f, -2.014473199e-04f, -2.016503540e-04f, -2.018530239e-04f, -2.020553293e-04f, -2.022572700e-04f,
+-2.024588456e-04f, -2.026600558e-04f, -2.028609002e-04f, -2.030613786e-04f, -2.032614906e-04f, -2.034612360e-04f, -2.036606143e-04f, -2.038596252e-04f, -2.040582686e-04f, -2.042565439e-04f,
+-2.044544510e-04f, -2.046519896e-04f, -2.048491592e-04f, -2.050459596e-04f, -2.052423904e-04f, -2.054384515e-04f, -2.056341423e-04f, -2.058294628e-04f, -2.060244124e-04f, -2.062189910e-04f,
+-2.064131982e-04f, -2.066070337e-04f, -2.068004972e-04f, -2.069935883e-04f, -2.071863069e-04f, -2.073786526e-04f, -2.075706250e-04f, -2.077622239e-04f, -2.079534490e-04f, -2.081442999e-04f,
+-2.083347764e-04f, -2.085248782e-04f, -2.087146049e-04f, -2.089039564e-04f, -2.090929321e-04f, -2.092815320e-04f, -2.094697556e-04f, -2.096576027e-04f, -2.098450730e-04f, -2.100321661e-04f,
+-2.102188819e-04f, -2.104052199e-04f, -2.105911800e-04f, -2.107767617e-04f, -2.109619649e-04f, -2.111467892e-04f, -2.113312343e-04f, -2.115153000e-04f, -2.116989859e-04f, -2.118822918e-04f,
+-2.120652173e-04f, -2.122477623e-04f, -2.124299264e-04f, -2.126117092e-04f, -2.127931106e-04f, -2.129741303e-04f, -2.131547679e-04f, -2.133350232e-04f, -2.135148959e-04f, -2.136943857e-04f,
+-2.138734924e-04f, -2.140522156e-04f, -2.142305550e-04f, -2.144085105e-04f, -2.145860817e-04f, -2.147632683e-04f, -2.149400701e-04f, -2.151164868e-04f, -2.152925180e-04f, -2.154681636e-04f,
+-2.156434233e-04f, -2.158182968e-04f, -2.159927837e-04f, -2.161668839e-04f, -2.163405971e-04f, -2.165139230e-04f, -2.166868613e-04f, -2.168594117e-04f, -2.170315741e-04f, -2.172033481e-04f,
+-2.173747334e-04f, -2.175457298e-04f, -2.177163370e-04f, -2.178865548e-04f, -2.180563829e-04f, -2.182258210e-04f, -2.183948688e-04f, -2.185635262e-04f, -2.187317928e-04f, -2.188996684e-04f,
+-2.190671527e-04f, -2.192342454e-04f, -2.194009464e-04f, -2.195672553e-04f, -2.197331718e-04f, -2.198986958e-04f, -2.200638270e-04f, -2.202285650e-04f, -2.203929098e-04f, -2.205568609e-04f,
+-2.207204182e-04f, -2.208835814e-04f, -2.210463502e-04f, -2.212087244e-04f, -2.213707038e-04f, -2.215322880e-04f, -2.216934769e-04f, -2.218542702e-04f, -2.220146676e-04f, -2.221746690e-04f,
+-2.223342740e-04f, -2.224934824e-04f, -2.226522939e-04f, -2.228107084e-04f, -2.229687255e-04f, -2.231263451e-04f, -2.232835669e-04f, -2.234403906e-04f, -2.235968160e-04f, -2.237528429e-04f,
+-2.239084710e-04f, -2.240637001e-04f, -2.242185299e-04f, -2.243729603e-04f, -2.245269909e-04f, -2.246806216e-04f, -2.248338520e-04f, -2.249866821e-04f, -2.251391114e-04f, -2.252911399e-04f,
+-2.254427673e-04f, -2.255939933e-04f, -2.257448177e-04f, -2.258952402e-04f, -2.260452608e-04f, -2.261948790e-04f, -2.263440947e-04f, -2.264929077e-04f, -2.266413178e-04f, -2.267893246e-04f,
+-2.269369280e-04f, -2.270841278e-04f, -2.272309237e-04f, -2.273773156e-04f, -2.275233031e-04f, -2.276688861e-04f, -2.278140644e-04f, -2.279588376e-04f, -2.281032057e-04f, -2.282471684e-04f,
+-2.283907255e-04f, -2.285338767e-04f, -2.286766218e-04f, -2.288189607e-04f, -2.289608931e-04f, -2.291024187e-04f, -2.292435375e-04f, -2.293842491e-04f, -2.295245534e-04f, -2.296644501e-04f,
+-2.298039390e-04f, -2.299430200e-04f, -2.300816928e-04f, -2.302199571e-04f, -2.303578129e-04f, -2.304952599e-04f, -2.306322978e-04f, -2.307689265e-04f, -2.309051458e-04f, -2.310409555e-04f,
+-2.311763553e-04f, -2.313113451e-04f, -2.314459246e-04f, -2.315800937e-04f, -2.317138521e-04f, -2.318471997e-04f, -2.319801363e-04f, -2.321126616e-04f, -2.322447755e-04f, -2.323764777e-04f,
+-2.325077681e-04f, -2.326386465e-04f, -2.327691126e-04f, -2.328991663e-04f, -2.330288074e-04f, -2.331580357e-04f, -2.332868511e-04f, -2.334152532e-04f, -2.335432419e-04f, -2.336708171e-04f,
+-2.337979785e-04f, -2.339247260e-04f, -2.340510593e-04f, -2.341769783e-04f, -2.343024828e-04f, -2.344275726e-04f, -2.345522475e-04f, -2.346765074e-04f, -2.348003520e-04f, -2.349237812e-04f,
+-2.350467948e-04f, -2.351693926e-04f, -2.352915744e-04f, -2.354133401e-04f, -2.355346895e-04f, -2.356556223e-04f, -2.357761385e-04f, -2.358962378e-04f, -2.360159200e-04f, -2.361351851e-04f,
+-2.362540327e-04f, -2.363724628e-04f, -2.364904752e-04f, -2.366080697e-04f, -2.367252460e-04f, -2.368420042e-04f, -2.369583439e-04f, -2.370742650e-04f, -2.371897674e-04f, -2.373048508e-04f,
+-2.374195152e-04f, -2.375337603e-04f, -2.376475860e-04f, -2.377609921e-04f, -2.378739784e-04f, -2.379865448e-04f, -2.380986912e-04f, -2.382104173e-04f, -2.383217230e-04f, -2.384326081e-04f,
+-2.385430726e-04f, -2.386531161e-04f, -2.387627386e-04f, -2.388719399e-04f, -2.389807199e-04f, -2.390890783e-04f, -2.391970151e-04f, -2.393045301e-04f, -2.394116231e-04f, -2.395182939e-04f,
+-2.396245425e-04f, -2.397303687e-04f, -2.398357723e-04f, -2.399407531e-04f, -2.400453111e-04f, -2.401494461e-04f, -2.402531578e-04f, -2.403564463e-04f, -2.404593113e-04f, -2.405617526e-04f,
+-2.406637702e-04f, -2.407653639e-04f, -2.408665336e-04f, -2.409672790e-04f, -2.410676002e-04f, -2.411674968e-04f, -2.412669689e-04f, -2.413660162e-04f, -2.414646386e-04f, -2.415628360e-04f,
+-2.416606082e-04f, -2.417579551e-04f, -2.418548765e-04f, -2.419513724e-04f, -2.420474426e-04f, -2.421430869e-04f, -2.422383053e-04f, -2.423330976e-04f, -2.424274636e-04f, -2.425214032e-04f,
+-2.426149164e-04f, -2.427080029e-04f, -2.428006626e-04f, -2.428928955e-04f, -2.429847014e-04f, -2.430760801e-04f, -2.431670315e-04f, -2.432575556e-04f, -2.433476522e-04f, -2.434373211e-04f,
+-2.435265622e-04f, -2.436153755e-04f, -2.437037608e-04f, -2.437917180e-04f, -2.438792469e-04f, -2.439663474e-04f, -2.440530195e-04f, -2.441392630e-04f, -2.442250778e-04f, -2.443104637e-04f,
+-2.443954207e-04f, -2.444799487e-04f, -2.445640475e-04f, -2.446477170e-04f, -2.447309571e-04f, -2.448137677e-04f, -2.448961486e-04f, -2.449780999e-04f, -2.450596213e-04f, -2.451407128e-04f,
+-2.452213742e-04f, -2.453016055e-04f, -2.453814065e-04f, -2.454607772e-04f, -2.455397173e-04f, -2.456182269e-04f, -2.456963059e-04f, -2.457739540e-04f, -2.458511712e-04f, -2.459279575e-04f,
+-2.460043127e-04f, -2.460802367e-04f, -2.461557294e-04f, -2.462307908e-04f, -2.463054206e-04f, -2.463796189e-04f, -2.464533856e-04f, -2.465267204e-04f, -2.465996235e-04f, -2.466720945e-04f,
+-2.467441336e-04f, -2.468157405e-04f, -2.468869151e-04f, -2.469576575e-04f, -2.470279674e-04f, -2.470978449e-04f, -2.471672898e-04f, -2.472363020e-04f, -2.473048815e-04f, -2.473730281e-04f,
+-2.474407418e-04f, -2.475080225e-04f, -2.475748701e-04f, -2.476412845e-04f, -2.477072657e-04f, -2.477728136e-04f, -2.478379280e-04f, -2.479026089e-04f, -2.479668563e-04f, -2.480306700e-04f,
+-2.480940500e-04f, -2.481569961e-04f, -2.482195084e-04f, -2.482815867e-04f, -2.483432310e-04f, -2.484044412e-04f, -2.484652172e-04f, -2.485255590e-04f, -2.485854665e-04f, -2.486449395e-04f,
+-2.487039781e-04f, -2.487625822e-04f, -2.488207516e-04f, -2.488784864e-04f, -2.489357865e-04f, -2.489926518e-04f, -2.490490822e-04f, -2.491050777e-04f, -2.491606381e-04f, -2.492157636e-04f,
+-2.492704539e-04f, -2.493247090e-04f, -2.493785289e-04f, -2.494319135e-04f, -2.494848628e-04f, -2.495373766e-04f, -2.495894550e-04f, -2.496410978e-04f, -2.496923051e-04f, -2.497430767e-04f,
+-2.497934126e-04f, -2.498433127e-04f, -2.498927771e-04f, -2.499418056e-04f, -2.499903981e-04f, -2.500385548e-04f, -2.500862754e-04f, -2.501335600e-04f, -2.501804084e-04f, -2.502268208e-04f,
+-2.502727969e-04f, -2.503183367e-04f, -2.503634403e-04f, -2.504081075e-04f, -2.504523384e-04f, -2.504961328e-04f, -2.505394908e-04f, -2.505824123e-04f, -2.506248972e-04f, -2.506669455e-04f,
+-2.507085572e-04f, -2.507497322e-04f, -2.507904705e-04f, -2.508307721e-04f, -2.508706369e-04f, -2.509100649e-04f, -2.509490561e-04f, -2.509876103e-04f, -2.510257277e-04f, -2.510634081e-04f,
+-2.511006515e-04f, -2.511374579e-04f, -2.511738273e-04f, -2.512097596e-04f, -2.512452548e-04f, -2.512803128e-04f, -2.513149337e-04f, -2.513491175e-04f, -2.513828640e-04f, -2.514161733e-04f,
+-2.514490453e-04f, -2.514814801e-04f, -2.515134775e-04f, -2.515450376e-04f, -2.515761604e-04f, -2.516068458e-04f, -2.516370939e-04f, -2.516669045e-04f, -2.516962777e-04f, -2.517252135e-04f,
+-2.517537118e-04f, -2.517817726e-04f, -2.518093959e-04f, -2.518365818e-04f, -2.518633301e-04f, -2.518896409e-04f, -2.519155142e-04f, -2.519409499e-04f, -2.519659480e-04f, -2.519905086e-04f,
+-2.520146315e-04f, -2.520383169e-04f, -2.520615647e-04f, -2.520843749e-04f, -2.521067475e-04f, -2.521286825e-04f, -2.521501798e-04f, -2.521712396e-04f, -2.521918616e-04f, -2.522120461e-04f,
+-2.522317929e-04f, -2.522511022e-04f, -2.522699737e-04f, -2.522884077e-04f, -2.523064040e-04f, -2.523239627e-04f, -2.523410837e-04f, -2.523577672e-04f, -2.523740130e-04f, -2.523898212e-04f,
+-2.524051918e-04f, -2.524201248e-04f, -2.524346203e-04f, -2.524486781e-04f, -2.524622984e-04f, -2.524754811e-04f, -2.524882263e-04f, -2.525005339e-04f, -2.525124040e-04f, -2.525238365e-04f,
+-2.525348316e-04f, -2.525453892e-04f, -2.525555093e-04f, -2.525651920e-04f, -2.525744372e-04f, -2.525832450e-04f, -2.525916154e-04f, -2.525995484e-04f, -2.526070440e-04f, -2.526141023e-04f,
+-2.526207233e-04f, -2.526269070e-04f, -2.526326534e-04f, -2.526379625e-04f, -2.526428344e-04f, -2.526472691e-04f, -2.526512666e-04f, -2.526548270e-04f, -2.526579502e-04f, -2.526606364e-04f,
+-2.526628854e-04f, -2.526646975e-04f, -2.526660725e-04f, -2.526670105e-04f, -2.526675116e-04f, -2.526675758e-04f, -2.526672031e-04f, -2.526663935e-04f, -2.526651472e-04f, -2.526634640e-04f,
+-2.526613441e-04f, -2.526587875e-04f, -2.526557943e-04f, -2.526523644e-04f, -2.526484979e-04f, -2.526441949e-04f, -2.526394554e-04f, -2.526342794e-04f, -2.526286669e-04f, -2.526226181e-04f,
+-2.526161330e-04f, -2.526092116e-04f, -2.526018539e-04f, -2.525940600e-04f, -2.525858300e-04f, -2.525771638e-04f, -2.525680616e-04f, -2.525585234e-04f, -2.525485493e-04f, -2.525381392e-04f,
+-2.525272933e-04f, -2.525160115e-04f, -2.525042940e-04f, -2.524921408e-04f, -2.524795520e-04f, -2.524665275e-04f, -2.524530676e-04f, -2.524391721e-04f, -2.524248413e-04f, -2.524100751e-04f,
+-2.523948735e-04f, -2.523792368e-04f, -2.523631648e-04f, -2.523466577e-04f, -2.523297156e-04f, -2.523123384e-04f, -2.522945264e-04f, -2.522762794e-04f, -2.522575977e-04f, -2.522384812e-04f,
+-2.522189300e-04f, -2.521989442e-04f, -2.521785239e-04f, -2.521576691e-04f, -2.521363800e-04f, -2.521146564e-04f, -2.520924987e-04f, -2.520699067e-04f, -2.520468806e-04f, -2.520234205e-04f,
+-2.519995264e-04f, -2.519751984e-04f, -2.519504366e-04f, -2.519252410e-04f, -2.518996118e-04f, -2.518735490e-04f, -2.518470526e-04f, -2.518201229e-04f, -2.517927597e-04f, -2.517649633e-04f,
+-2.517367338e-04f, -2.517080711e-04f, -2.516789753e-04f, -2.516494467e-04f, -2.516194851e-04f, -2.515890908e-04f, -2.515582638e-04f, -2.515270042e-04f, -2.514953121e-04f, -2.514631876e-04f,
+-2.514306307e-04f, -2.513976416e-04f, -2.513642203e-04f, -2.513303669e-04f, -2.512960816e-04f, -2.512613644e-04f, -2.512262153e-04f, -2.511906346e-04f, -2.511546223e-04f, -2.511181785e-04f,
+-2.510813032e-04f, -2.510439967e-04f, -2.510062589e-04f, -2.509680900e-04f, -2.509294901e-04f, -2.508904593e-04f, -2.508509976e-04f, -2.508111052e-04f, -2.507707822e-04f, -2.507300287e-04f,
+-2.506888448e-04f, -2.506472306e-04f, -2.506051861e-04f, -2.505627116e-04f, -2.505198071e-04f, -2.504764727e-04f, -2.504327085e-04f, -2.503885146e-04f, -2.503438912e-04f, -2.502988384e-04f,
+-2.502533562e-04f, -2.502074447e-04f, -2.501611042e-04f, -2.501143347e-04f, -2.500671362e-04f, -2.500195090e-04f, -2.499714532e-04f, -2.499229688e-04f, -2.498740559e-04f, -2.498247148e-04f,
+-2.497749455e-04f, -2.497247481e-04f, -2.496741228e-04f, -2.496230696e-04f, -2.495715887e-04f, -2.495196802e-04f, -2.494673443e-04f, -2.494145810e-04f, -2.493613905e-04f, -2.493077729e-04f,
+-2.492537283e-04f, -2.491992569e-04f, -2.491443588e-04f, -2.490890341e-04f, -2.490332829e-04f, -2.489771054e-04f, -2.489205017e-04f, -2.488634719e-04f, -2.488060162e-04f, -2.487481347e-04f,
+-2.486898275e-04f, -2.486310947e-04f, -2.485719366e-04f, -2.485123532e-04f, -2.484523446e-04f, -2.483919110e-04f, -2.483310526e-04f, -2.482697695e-04f, -2.482080617e-04f, -2.481459295e-04f,
+-2.480833730e-04f, -2.480203924e-04f, -2.479569877e-04f, -2.478931591e-04f, -2.478289068e-04f, -2.477642309e-04f, -2.476991315e-04f, -2.476336088e-04f, -2.475676630e-04f, -2.475012941e-04f,
+-2.474345024e-04f, -2.473672880e-04f, -2.472996509e-04f, -2.472315915e-04f, -2.471631098e-04f, -2.470942059e-04f, -2.470248801e-04f, -2.469551325e-04f, -2.468849632e-04f, -2.468143723e-04f,
+-2.467433602e-04f, -2.466719268e-04f, -2.466000724e-04f, -2.465277970e-04f, -2.464551010e-04f, -2.463819844e-04f, -2.463084473e-04f, -2.462344900e-04f, -2.461601126e-04f, -2.460853153e-04f,
+-2.460100981e-04f, -2.459344614e-04f, -2.458584052e-04f, -2.457819297e-04f, -2.457050351e-04f, -2.456277216e-04f, -2.455499892e-04f, -2.454718383e-04f, -2.453932688e-04f, -2.453142811e-04f,
+-2.452348753e-04f, -2.451550515e-04f, -2.450748099e-04f, -2.449941507e-04f, -2.449130741e-04f, -2.448315802e-04f, -2.447496692e-04f, -2.446673412e-04f, -2.445845966e-04f, -2.445014353e-04f,
+-2.444178577e-04f, -2.443338638e-04f, -2.442494539e-04f, -2.441646281e-04f, -2.440793867e-04f, -2.439937297e-04f, -2.439076574e-04f, -2.438211700e-04f, -2.437342676e-04f, -2.436469504e-04f,
+-2.435592186e-04f, -2.434710723e-04f, -2.433825119e-04f, -2.432935374e-04f, -2.432041490e-04f, -2.431143470e-04f, -2.430241315e-04f, -2.429335026e-04f, -2.428424607e-04f, -2.427510058e-04f,
+-2.426591382e-04f, -2.425668580e-04f, -2.424741655e-04f, -2.423810609e-04f, -2.422875442e-04f, -2.421936158e-04f, -2.420992758e-04f, -2.420045244e-04f, -2.419093618e-04f, -2.418137883e-04f,
+-2.417178039e-04f, -2.416214089e-04f, -2.415246035e-04f, -2.414273879e-04f, -2.413297623e-04f, -2.412317269e-04f, -2.411332819e-04f, -2.410344275e-04f, -2.409351639e-04f, -2.408354913e-04f,
+-2.407354099e-04f, -2.406349199e-04f, -2.405340215e-04f, -2.404327150e-04f, -2.403310004e-04f, -2.402288782e-04f, -2.401263483e-04f, -2.400234111e-04f, -2.399200668e-04f, -2.398163155e-04f,
+-2.397121575e-04f, -2.396075930e-04f, -2.395026222e-04f, -2.393972453e-04f, -2.392914626e-04f, -2.391852742e-04f, -2.390786803e-04f, -2.389716813e-04f, -2.388642772e-04f, -2.387564683e-04f,
+-2.386482548e-04f, -2.385396370e-04f, -2.384306151e-04f, -2.383211892e-04f, -2.382113596e-04f, -2.381011266e-04f, -2.379904903e-04f, -2.378794509e-04f, -2.377680088e-04f, -2.376561641e-04f,
+-2.375439169e-04f, -2.374312677e-04f, -2.373182165e-04f, -2.372047637e-04f, -2.370909094e-04f, -2.369766539e-04f, -2.368619973e-04f, -2.367469400e-04f, -2.366314821e-04f, -2.365156239e-04f,
+-2.363993657e-04f, -2.362827076e-04f, -2.361656498e-04f, -2.360481927e-04f, -2.359303364e-04f, -2.358120812e-04f, -2.356934273e-04f, -2.355743750e-04f, -2.354549244e-04f, -2.353350759e-04f,
+-2.352148296e-04f, -2.350941859e-04f, -2.349731449e-04f, -2.348517068e-04f, -2.347298720e-04f, -2.346076406e-04f, -2.344850130e-04f, -2.343619893e-04f, -2.342385698e-04f, -2.341147547e-04f,
+-2.339905443e-04f, -2.338659388e-04f, -2.337409384e-04f, -2.336155435e-04f, -2.334897543e-04f, -2.333635709e-04f, -2.332369938e-04f, -2.331100230e-04f, -2.329826588e-04f, -2.328549016e-04f,
+-2.327267516e-04f, -2.325982089e-04f, -2.324692739e-04f, -2.323399469e-04f, -2.322102279e-04f, -2.320801175e-04f, -2.319496157e-04f, -2.318187228e-04f, -2.316874391e-04f, -2.315557649e-04f,
+-2.314237003e-04f, -2.312912457e-04f, -2.311584014e-04f, -2.310251675e-04f, -2.308915444e-04f, -2.307575323e-04f, -2.306231314e-04f, -2.304883420e-04f, -2.303531645e-04f, -2.302175990e-04f,
+-2.300816458e-04f, -2.299453052e-04f, -2.298085774e-04f, -2.296714628e-04f, -2.295339615e-04f, -2.293960739e-04f, -2.292578002e-04f, -2.291191407e-04f, -2.289800956e-04f, -2.288406653e-04f,
+-2.287008499e-04f, -2.285606498e-04f, -2.284200653e-04f, -2.282790965e-04f, -2.281377439e-04f, -2.279960075e-04f, -2.278538879e-04f, -2.277113851e-04f, -2.275684995e-04f, -2.274252314e-04f,
+-2.272815810e-04f, -2.271375486e-04f, -2.269931345e-04f, -2.268483390e-04f, -2.267031623e-04f, -2.265576048e-04f, -2.264116666e-04f, -2.262653482e-04f, -2.261186497e-04f, -2.259715715e-04f,
+-2.258241139e-04f, -2.256762770e-04f, -2.255280613e-04f, -2.253794670e-04f, -2.252304943e-04f, -2.250811436e-04f, -2.249314152e-04f, -2.247813093e-04f, -2.246308262e-04f, -2.244799663e-04f,
+-2.243287298e-04f, -2.241771169e-04f, -2.240251281e-04f, -2.238727635e-04f, -2.237200236e-04f, -2.235669085e-04f, -2.234134185e-04f, -2.232595540e-04f, -2.231053153e-04f, -2.229507026e-04f,
+-2.227957162e-04f, -2.226403565e-04f, -2.224846237e-04f, -2.223285182e-04f, -2.221720402e-04f, -2.220151900e-04f, -2.218579679e-04f, -2.217003743e-04f, -2.215424094e-04f, -2.213840736e-04f,
+-2.212253671e-04f, -2.210662902e-04f, -2.209068433e-04f, -2.207470266e-04f, -2.205868405e-04f, -2.204262852e-04f, -2.202653611e-04f, -2.201040684e-04f, -2.199424076e-04f, -2.197803788e-04f,
+-2.196179824e-04f, -2.194552187e-04f, -2.192920881e-04f, -2.191285907e-04f, -2.189647270e-04f, -2.188004972e-04f, -2.186359017e-04f, -2.184709408e-04f, -2.183056147e-04f, -2.181399238e-04f,
+-2.179738685e-04f, -2.178074489e-04f, -2.176406656e-04f, -2.174735186e-04f, -2.173060085e-04f, -2.171381354e-04f, -2.169698998e-04f, -2.168013018e-04f, -2.166323420e-04f, -2.164630204e-04f,
+-2.162933376e-04f, -2.161232938e-04f, -2.159528894e-04f, -2.157821245e-04f, -2.156109997e-04f, -2.154395151e-04f, -2.152676712e-04f, -2.150954683e-04f, -2.149229066e-04f, -2.147499865e-04f,
+-2.145767083e-04f, -2.144030724e-04f, -2.142290791e-04f, -2.140547286e-04f, -2.138800215e-04f, -2.137049579e-04f, -2.135295381e-04f, -2.133537627e-04f, -2.131776317e-04f, -2.130011457e-04f,
+-2.128243049e-04f, -2.126471097e-04f, -2.124695603e-04f, -2.122916572e-04f, -2.121134006e-04f, -2.119347910e-04f, -2.117558285e-04f, -2.115765137e-04f, -2.113968467e-04f, -2.112168280e-04f,
+-2.110364578e-04f, -2.108557366e-04f, -2.106746647e-04f, -2.104932423e-04f, -2.103114699e-04f, -2.101293477e-04f, -2.099468762e-04f, -2.097640557e-04f, -2.095808865e-04f, -2.093973689e-04f,
+-2.092135033e-04f, -2.090292900e-04f, -2.088447295e-04f, -2.086598220e-04f, -2.084745678e-04f, -2.082889674e-04f, -2.081030210e-04f, -2.079167291e-04f, -2.077300919e-04f, -2.075431099e-04f,
+-2.073557833e-04f, -2.071681126e-04f, -2.069800980e-04f, -2.067917399e-04f, -2.066030388e-04f, -2.064139948e-04f, -2.062246084e-04f, -2.060348800e-04f, -2.058448098e-04f, -2.056543983e-04f,
+-2.054636458e-04f, -2.052725526e-04f, -2.050811192e-04f, -2.048893458e-04f, -2.046972328e-04f, -2.045047806e-04f, -2.043119896e-04f, -2.041188601e-04f, -2.039253924e-04f, -2.037315870e-04f,
+-2.035374441e-04f, -2.033429642e-04f, -2.031481476e-04f, -2.029529946e-04f, -2.027575057e-04f, -2.025616812e-04f, -2.023655215e-04f, -2.021690269e-04f, -2.019721977e-04f, -2.017750345e-04f,
+-2.015775374e-04f, -2.013797070e-04f, -2.011815435e-04f, -2.009830473e-04f, -2.007842189e-04f, -2.005850585e-04f, -2.003855665e-04f, -2.001857433e-04f, -1.999855894e-04f, -1.997851049e-04f,
+-1.995842904e-04f, -1.993831462e-04f, -1.991816726e-04f, -1.989798701e-04f, -1.987777390e-04f, -1.985752797e-04f, -1.983724926e-04f, -1.981693780e-04f, -1.979659363e-04f, -1.977621679e-04f,
+-1.975580732e-04f, -1.973536525e-04f, -1.971489063e-04f, -1.969438349e-04f, -1.967384386e-04f, -1.965327179e-04f, -1.963266732e-04f, -1.961203048e-04f, -1.959136131e-04f, -1.957065985e-04f,
+-1.954992614e-04f, -1.952916021e-04f, -1.950836211e-04f, -1.948753187e-04f, -1.946666953e-04f, -1.944577513e-04f, -1.942484871e-04f, -1.940389030e-04f, -1.938289995e-04f, -1.936187770e-04f,
+-1.934082358e-04f, -1.931973763e-04f, -1.929861989e-04f, -1.927747041e-04f, -1.925628921e-04f, -1.923507634e-04f, -1.921383183e-04f, -1.919255574e-04f, -1.917124808e-04f, -1.914990892e-04f,
+-1.912853827e-04f, -1.910713619e-04f, -1.908570272e-04f, -1.906423788e-04f, -1.904274173e-04f, -1.902121430e-04f, -1.899965563e-04f, -1.897806576e-04f, -1.895644473e-04f, -1.893479258e-04f,
+-1.891310936e-04f, -1.889139509e-04f, -1.886964982e-04f, -1.884787359e-04f, -1.882606644e-04f, -1.880422842e-04f, -1.878235955e-04f, -1.876045988e-04f, -1.873852945e-04f, -1.871656831e-04f,
+-1.869457648e-04f, -1.867255402e-04f, -1.865050096e-04f, -1.862841734e-04f, -1.860630320e-04f, -1.858415859e-04f, -1.856198354e-04f, -1.853977810e-04f, -1.851754231e-04f, -1.849527619e-04f,
+-1.847297981e-04f, -1.845065320e-04f, -1.842829639e-04f, -1.840590944e-04f, -1.838349237e-04f, -1.836104524e-04f, -1.833856808e-04f, -1.831606094e-04f, -1.829352385e-04f, -1.827095686e-04f,
+-1.824836000e-04f, -1.822573333e-04f, -1.820307688e-04f, -1.818039069e-04f, -1.815767480e-04f, -1.813492927e-04f, -1.811215411e-04f, -1.808934939e-04f, -1.806651514e-04f, -1.804365140e-04f,
+-1.802075821e-04f, -1.799783562e-04f, -1.797488367e-04f, -1.795190240e-04f, -1.792889185e-04f, -1.790585206e-04f, -1.788278308e-04f, -1.785968495e-04f, -1.783655771e-04f, -1.781340140e-04f,
+-1.779021607e-04f, -1.776700175e-04f, -1.774375850e-04f, -1.772048634e-04f, -1.769718533e-04f, -1.767385551e-04f, -1.765049691e-04f, -1.762710959e-04f, -1.760369359e-04f, -1.758024894e-04f,
+-1.755677569e-04f, -1.753327388e-04f, -1.750974356e-04f, -1.748618477e-04f, -1.746259755e-04f, -1.743898195e-04f, -1.741533800e-04f, -1.739166575e-04f, -1.736796525e-04f, -1.734423654e-04f,
+-1.732047965e-04f, -1.729669464e-04f, -1.727288154e-04f, -1.724904041e-04f, -1.722517128e-04f, -1.720127419e-04f, -1.717734920e-04f, -1.715339634e-04f, -1.712941566e-04f, -1.710540720e-04f,
+-1.708137100e-04f, -1.705730711e-04f, -1.703321557e-04f, -1.700909643e-04f, -1.698494973e-04f, -1.696077552e-04f, -1.693657383e-04f, -1.691234471e-04f, -1.688808821e-04f, -1.686380437e-04f,
+-1.683949323e-04f, -1.681515484e-04f, -1.679078924e-04f, -1.676639648e-04f, -1.674197659e-04f, -1.671752964e-04f, -1.669305565e-04f, -1.666855467e-04f, -1.664402676e-04f, -1.661947194e-04f,
+-1.659489028e-04f, -1.657028180e-04f, -1.654564656e-04f, -1.652098461e-04f, -1.649629597e-04f, -1.647158071e-04f, -1.644683887e-04f, -1.642207048e-04f, -1.639727560e-04f, -1.637245427e-04f,
+-1.634760653e-04f, -1.632273243e-04f, -1.629783202e-04f, -1.627290534e-04f, -1.624795243e-04f, -1.622297334e-04f, -1.619796812e-04f, -1.617293681e-04f, -1.614787945e-04f, -1.612279610e-04f,
+-1.609768679e-04f, -1.607255157e-04f, -1.604739049e-04f, -1.602220360e-04f, -1.599699093e-04f, -1.597175254e-04f, -1.594648847e-04f, -1.592119876e-04f, -1.589588346e-04f, -1.587054262e-04f,
+-1.584517629e-04f, -1.581978450e-04f, -1.579436731e-04f, -1.576892475e-04f, -1.574345688e-04f, -1.571796375e-04f, -1.569244539e-04f, -1.566690186e-04f, -1.564133320e-04f, -1.561573945e-04f,
+-1.559012067e-04f, -1.556447689e-04f, -1.553880818e-04f, -1.551311456e-04f, -1.548739609e-04f, -1.546165281e-04f, -1.543588478e-04f, -1.541009203e-04f, -1.538427462e-04f, -1.535843259e-04f,
+-1.533256598e-04f, -1.530667485e-04f, -1.528075923e-04f, -1.525481919e-04f, -1.522885476e-04f, -1.520286598e-04f, -1.517685292e-04f, -1.515081561e-04f, -1.512475410e-04f, -1.509866844e-04f,
+-1.507255867e-04f, -1.504642484e-04f, -1.502026701e-04f, -1.499408520e-04f, -1.496787949e-04f, -1.494164990e-04f, -1.491539649e-04f, -1.488911930e-04f, -1.486281839e-04f, -1.483649379e-04f,
+-1.481014557e-04f, -1.478377375e-04f, -1.475737840e-04f, -1.473095955e-04f, -1.470451727e-04f, -1.467805158e-04f, -1.465156255e-04f, -1.462505022e-04f, -1.459851463e-04f, -1.457195584e-04f,
+-1.454537389e-04f, -1.451876883e-04f, -1.449214070e-04f, -1.446548957e-04f, -1.443881546e-04f, -1.441211844e-04f, -1.438539854e-04f, -1.435865583e-04f, -1.433189033e-04f, -1.430510211e-04f,
+-1.427829122e-04f, -1.425145769e-04f, -1.422460158e-04f, -1.419772293e-04f, -1.417082180e-04f, -1.414389823e-04f, -1.411695227e-04f, -1.408998397e-04f, -1.406299338e-04f, -1.403598054e-04f,
+-1.400894551e-04f, -1.398188832e-04f, -1.395480904e-04f, -1.392770771e-04f, -1.390058438e-04f, -1.387343909e-04f, -1.384627190e-04f, -1.381908285e-04f, -1.379187199e-04f, -1.376463938e-04f,
+-1.373738506e-04f, -1.371010907e-04f, -1.368281147e-04f, -1.365549231e-04f, -1.362815163e-04f, -1.360078949e-04f, -1.357340593e-04f, -1.354600101e-04f, -1.351857476e-04f, -1.349112725e-04f,
+-1.346365852e-04f, -1.343616861e-04f, -1.340865758e-04f, -1.338112548e-04f, -1.335357236e-04f, -1.332599826e-04f, -1.329840323e-04f, -1.327078733e-04f, -1.324315061e-04f, -1.321549310e-04f,
+-1.318781487e-04f, -1.316011596e-04f, -1.313239643e-04f, -1.310465631e-04f, -1.307689566e-04f, -1.304911454e-04f, -1.302131298e-04f, -1.299349104e-04f, -1.296564878e-04f, -1.293778623e-04f,
+-1.290990344e-04f, -1.288200048e-04f, -1.285407739e-04f, -1.282613421e-04f, -1.279817100e-04f, -1.277018781e-04f, -1.274218468e-04f, -1.271416168e-04f, -1.268611884e-04f, -1.265805622e-04f,
+-1.262997386e-04f, -1.260187183e-04f, -1.257375016e-04f, -1.254560891e-04f, -1.251744813e-04f, -1.248926786e-04f, -1.246106817e-04f, -1.243284909e-04f, -1.240461068e-04f, -1.237635299e-04f,
+-1.234807608e-04f, -1.231977998e-04f, -1.229146475e-04f, -1.226313044e-04f, -1.223477711e-04f, -1.220640480e-04f, -1.217801355e-04f, -1.214960344e-04f, -1.212117449e-04f, -1.209272677e-04f,
+-1.206426033e-04f, -1.203577521e-04f, -1.200727147e-04f, -1.197874915e-04f, -1.195020831e-04f, -1.192164900e-04f, -1.189307127e-04f, -1.186447517e-04f, -1.183586076e-04f, -1.180722807e-04f,
+-1.177857717e-04f, -1.174990810e-04f, -1.172122091e-04f, -1.169251566e-04f, -1.166379240e-04f, -1.163505117e-04f, -1.160629204e-04f, -1.157751504e-04f, -1.154872024e-04f, -1.151990768e-04f,
+-1.149107741e-04f, -1.146222949e-04f, -1.143336396e-04f, -1.140448088e-04f, -1.137558030e-04f, -1.134666227e-04f, -1.131772684e-04f, -1.128877406e-04f, -1.125980399e-04f, -1.123081667e-04f,
+-1.120181216e-04f, -1.117279051e-04f, -1.114375177e-04f, -1.111469599e-04f, -1.108562322e-04f, -1.105653352e-04f, -1.102742694e-04f, -1.099830352e-04f, -1.096916332e-04f, -1.094000639e-04f,
+-1.091083279e-04f, -1.088164256e-04f, -1.085243576e-04f, -1.082321243e-04f, -1.079397264e-04f, -1.076471643e-04f, -1.073544385e-04f, -1.070615496e-04f, -1.067684980e-04f, -1.064752844e-04f,
+-1.061819092e-04f, -1.058883729e-04f, -1.055946760e-04f, -1.053008191e-04f, -1.050068028e-04f, -1.047126274e-04f, -1.044182936e-04f, -1.041238018e-04f, -1.038291527e-04f, -1.035343466e-04f,
+-1.032393841e-04f, -1.029442658e-04f, -1.026489922e-04f, -1.023535637e-04f, -1.020579810e-04f, -1.017622445e-04f, -1.014663548e-04f, -1.011703123e-04f, -1.008741177e-04f, -1.005777713e-04f,
+-1.002812739e-04f, -9.998462580e-05f, -9.968782762e-05f, -9.939087988e-05f, -9.909378309e-05f, -9.879653778e-05f, -9.849914448e-05f, -9.820160371e-05f, -9.790391599e-05f, -9.760608186e-05f,
+-9.730810184e-05f, -9.700997645e-05f, -9.671170623e-05f, -9.641329169e-05f, -9.611473338e-05f, -9.581603180e-05f, -9.551718751e-05f, -9.521820101e-05f, -9.491907284e-05f, -9.461980352e-05f,
+-9.432039359e-05f, -9.402084357e-05f, -9.372115400e-05f, -9.342132540e-05f, -9.312135830e-05f, -9.282125322e-05f, -9.252101071e-05f, -9.222063129e-05f, -9.192011548e-05f, -9.161946383e-05f,
+-9.131867686e-05f, -9.101775509e-05f, -9.071669907e-05f, -9.041550932e-05f, -9.011418638e-05f, -8.981273077e-05f, -8.951114302e-05f, -8.920942368e-05f, -8.890757327e-05f, -8.860559231e-05f,
+-8.830348136e-05f, -8.800124093e-05f, -8.769887156e-05f, -8.739637378e-05f, -8.709374813e-05f, -8.679099514e-05f, -8.648811534e-05f, -8.618510927e-05f, -8.588197746e-05f, -8.557872044e-05f,
+-8.527533875e-05f, -8.497183292e-05f, -8.466820349e-05f, -8.436445099e-05f, -8.406057595e-05f, -8.375657892e-05f, -8.345246042e-05f, -8.314822100e-05f, -8.284386118e-05f, -8.253938151e-05f,
+-8.223478251e-05f, -8.193006473e-05f, -8.162522870e-05f, -8.132027495e-05f, -8.101520403e-05f, -8.071001647e-05f, -8.040471281e-05f, -8.009929358e-05f, -7.979375932e-05f, -7.948811057e-05f,
+-7.918234786e-05f, -7.887647174e-05f, -7.857048274e-05f, -7.826438140e-05f, -7.795816826e-05f, -7.765184385e-05f, -7.734540871e-05f, -7.703886339e-05f, -7.673220841e-05f, -7.642544433e-05f,
+-7.611857168e-05f, -7.581159099e-05f, -7.550450281e-05f, -7.519730767e-05f, -7.489000612e-05f, -7.458259870e-05f, -7.427508594e-05f, -7.396746839e-05f, -7.365974658e-05f, -7.335192105e-05f,
+-7.304399236e-05f, -7.273596102e-05f, -7.242782760e-05f, -7.211959262e-05f, -7.181125663e-05f, -7.150282018e-05f, -7.119428379e-05f, -7.088564801e-05f, -7.057691339e-05f, -7.026808046e-05f,
+-6.995914977e-05f, -6.965012186e-05f, -6.934099727e-05f, -6.903177654e-05f, -6.872246021e-05f, -6.841304884e-05f, -6.810354295e-05f, -6.779394310e-05f, -6.748424982e-05f, -6.717446365e-05f,
+-6.686458515e-05f, -6.655461485e-05f, -6.624455330e-05f, -6.593440104e-05f, -6.562415861e-05f, -6.531382656e-05f, -6.500340543e-05f, -6.469289576e-05f, -6.438229810e-05f, -6.407161300e-05f,
+-6.376084099e-05f, -6.344998262e-05f, -6.313903843e-05f, -6.282800898e-05f, -6.251689479e-05f, -6.220569643e-05f, -6.189441443e-05f, -6.158304933e-05f, -6.127160169e-05f, -6.096007205e-05f,
+-6.064846095e-05f, -6.033676893e-05f, -6.002499655e-05f, -5.971314435e-05f, -5.940121287e-05f, -5.908920266e-05f, -5.877711427e-05f, -5.846494824e-05f, -5.815270511e-05f, -5.784038544e-05f,
+-5.752798977e-05f, -5.721551864e-05f, -5.690297260e-05f, -5.659035220e-05f, -5.627765799e-05f, -5.596489050e-05f, -5.565205029e-05f, -5.533913791e-05f, -5.502615390e-05f, -5.471309880e-05f,
+-5.439997317e-05f, -5.408677755e-05f, -5.377351249e-05f, -5.346017853e-05f, -5.314677623e-05f, -5.283330612e-05f, -5.251976876e-05f, -5.220616470e-05f, -5.189249448e-05f, -5.157875865e-05f,
+-5.126495776e-05f, -5.095109235e-05f, -5.063716298e-05f, -5.032317019e-05f, -5.000911452e-05f, -4.969499654e-05f, -4.938081677e-05f, -4.906657579e-05f, -4.875227412e-05f, -4.843791232e-05f,
+-4.812349094e-05f, -4.780901053e-05f, -4.749447163e-05f, -4.717987479e-05f, -4.686522057e-05f, -4.655050950e-05f, -4.623574215e-05f, -4.592091905e-05f, -4.560604076e-05f, -4.529110783e-05f,
+-4.497612080e-05f, -4.466108022e-05f, -4.434598664e-05f, -4.403084062e-05f, -4.371564270e-05f, -4.340039342e-05f, -4.308509335e-05f, -4.276974302e-05f, -4.245434299e-05f, -4.213889381e-05f,
+-4.182339602e-05f, -4.150785018e-05f, -4.119225683e-05f, -4.087661653e-05f, -4.056092982e-05f, -4.024519726e-05f, -3.992941938e-05f, -3.961359675e-05f, -3.929772991e-05f, -3.898181942e-05f,
+-3.866586581e-05f, -3.834986965e-05f, -3.803383148e-05f, -3.771775185e-05f, -3.740163131e-05f, -3.708547041e-05f, -3.676926970e-05f, -3.645302974e-05f, -3.613675106e-05f, -3.582043422e-05f,
+-3.550407978e-05f, -3.518768827e-05f, -3.487126026e-05f, -3.455479629e-05f, -3.423829691e-05f, -3.392176266e-05f, -3.360519412e-05f, -3.328859181e-05f, -3.297195629e-05f, -3.265528812e-05f,
+-3.233858783e-05f, -3.202185599e-05f, -3.170509314e-05f, -3.138829984e-05f, -3.107147663e-05f, -3.075462406e-05f, -3.043774268e-05f, -3.012083305e-05f, -2.980389571e-05f, -2.948693121e-05f,
+-2.916994011e-05f, -2.885292296e-05f, -2.853588030e-05f, -2.821881269e-05f, -2.790172067e-05f, -2.758460480e-05f, -2.726746562e-05f, -2.695030369e-05f, -2.663311956e-05f, -2.631591377e-05f,
+-2.599868688e-05f, -2.568143944e-05f, -2.536417200e-05f, -2.504688511e-05f, -2.472957931e-05f, -2.441225517e-05f, -2.409491322e-05f, -2.377755402e-05f, -2.346017813e-05f, -2.314278608e-05f,
+-2.282537843e-05f, -2.250795573e-05f, -2.219051853e-05f, -2.187306739e-05f, -2.155560284e-05f, -2.123812544e-05f, -2.092063575e-05f, -2.060313430e-05f, -2.028562166e-05f, -1.996809836e-05f,
+-1.965056497e-05f, -1.933302203e-05f, -1.901547009e-05f, -1.869790970e-05f, -1.838034141e-05f, -1.806276577e-05f, -1.774518333e-05f, -1.742759464e-05f, -1.711000025e-05f, -1.679240070e-05f,
+-1.647479656e-05f, -1.615718837e-05f, -1.583957668e-05f, -1.552196203e-05f, -1.520434498e-05f, -1.488672608e-05f, -1.456910587e-05f, -1.425148492e-05f, -1.393386375e-05f, -1.361624293e-05f,
+-1.329862301e-05f, -1.298100453e-05f, -1.266338804e-05f, -1.234577409e-05f, -1.202816324e-05f, -1.171055602e-05f, -1.139295299e-05f, -1.107535470e-05f, -1.075776170e-05f, -1.044017454e-05f,
+-1.012259375e-05f, -9.805019906e-06f, -9.487453540e-06f, -9.169895205e-06f, -8.852345449e-06f, -8.534804822e-06f, -8.217273870e-06f, -7.899753144e-06f, -7.582243191e-06f, -7.264744560e-06f,
+-6.947257799e-06f, -6.629783455e-06f, -6.312322078e-06f, -5.994874216e-06f, -5.677440415e-06f, -5.360021225e-06f, -5.042617193e-06f, -4.725228866e-06f, -4.407856794e-06f, -4.090501522e-06f,
+-3.773163600e-06f, -3.455843574e-06f, -3.138541991e-06f, -2.821259400e-06f, -2.503996348e-06f, -2.186753381e-06f, -1.869531047e-06f, -1.552329893e-06f, -1.235150465e-06f, -9.179933119e-07f,
+-6.008589791e-07f, -2.837480136e-07f, 3.333903788e-08f, 3.504016287e-07f, 6.674392125e-07f, 9.844512428e-07f, 1.301437173e-06f, 1.618396458e-06f, 1.935328550e-06f, 2.252232904e-06f,
+2.569108974e-06f, 2.885956213e-06f, 3.202774077e-06f, 3.519562019e-06f, 3.836319494e-06f, 4.153045956e-06f, 4.469740861e-06f, 4.786403662e-06f, 5.103033814e-06f, 5.419630772e-06f,
+5.736193992e-06f, 6.052722929e-06f, 6.369217036e-06f, 6.685675771e-06f, 7.002098588e-06f, 7.318484942e-06f, 7.634834290e-06f, 7.951146087e-06f, 8.267419789e-06f, 8.583654851e-06f,
+8.899850731e-06f, 9.216006883e-06f, 9.532122764e-06f, 9.848197831e-06f, 1.016423154e-05f, 1.048022335e-05f, 1.079617271e-05f, 1.111207909e-05f, 1.142794193e-05f, 1.174376070e-05f,
+1.205953485e-05f, 1.237526385e-05f, 1.269094714e-05f, 1.300658419e-05f, 1.332217445e-05f, 1.363771738e-05f, 1.395321244e-05f, 1.426865909e-05f, 1.458405678e-05f, 1.489940498e-05f,
+1.521470313e-05f, 1.552995071e-05f, 1.584514717e-05f, 1.616029196e-05f, 1.647538455e-05f, 1.679042440e-05f, 1.710541096e-05f, 1.742034369e-05f, 1.773522206e-05f, 1.805004553e-05f,
+1.836481354e-05f, 1.867952557e-05f, 1.899418107e-05f, 1.930877950e-05f, 1.962332033e-05f, 1.993780301e-05f, 2.025222700e-05f, 2.056659177e-05f, 2.088089677e-05f, 2.119514148e-05f,
+2.150932533e-05f, 2.182344781e-05f, 2.213750837e-05f, 2.245150647e-05f, 2.276544158e-05f, 2.307931315e-05f, 2.339312065e-05f, 2.370686353e-05f, 2.402054127e-05f, 2.433415333e-05f,
+2.464769916e-05f, 2.496117824e-05f, 2.527459001e-05f, 2.558793396e-05f, 2.590120953e-05f, 2.621441619e-05f, 2.652755342e-05f, 2.684062066e-05f, 2.715361739e-05f, 2.746654306e-05f,
+2.777939715e-05f, 2.809217911e-05f, 2.840488842e-05f, 2.871752453e-05f, 2.903008692e-05f, 2.934257504e-05f, 2.965498836e-05f, 2.996732635e-05f, 3.027958848e-05f, 3.059177420e-05f,
+3.090388298e-05f, 3.121591430e-05f, 3.152786761e-05f, 3.183974239e-05f, 3.215153809e-05f, 3.246325420e-05f, 3.277489016e-05f, 3.308644546e-05f, 3.339791956e-05f, 3.370931192e-05f,
+3.402062201e-05f, 3.433184931e-05f, 3.464299328e-05f, 3.495405338e-05f, 3.526502909e-05f, 3.557591988e-05f, 3.588672521e-05f, 3.619744455e-05f, 3.650807737e-05f, 3.681862315e-05f,
+3.712908135e-05f, 3.743945143e-05f, 3.774973288e-05f, 3.805992516e-05f, 3.837002774e-05f, 3.868004010e-05f, 3.898996169e-05f, 3.929979200e-05f, 3.960953049e-05f, 3.991917664e-05f,
+4.022872992e-05f, 4.053818980e-05f, 4.084755575e-05f, 4.115682724e-05f, 4.146600375e-05f, 4.177508475e-05f, 4.208406971e-05f, 4.239295810e-05f, 4.270174940e-05f, 4.301044308e-05f,
+4.331903862e-05f, 4.362753549e-05f, 4.393593315e-05f, 4.424423110e-05f, 4.455242879e-05f, 4.486052571e-05f, 4.516852134e-05f, 4.547641513e-05f, 4.578420658e-05f, 4.609189516e-05f,
+4.639948034e-05f, 4.670696159e-05f, 4.701433841e-05f, 4.732161025e-05f, 4.762877660e-05f, 4.793583693e-05f, 4.824279073e-05f, 4.854963747e-05f, 4.885637662e-05f, 4.916300767e-05f,
+4.946953008e-05f, 4.977594335e-05f, 5.008224695e-05f, 5.038844036e-05f, 5.069452305e-05f, 5.100049451e-05f, 5.130635421e-05f, 5.161210164e-05f, 5.191773628e-05f, 5.222325759e-05f,
+5.252866508e-05f, 5.283395820e-05f, 5.313913646e-05f, 5.344419932e-05f, 5.374914627e-05f, 5.405397679e-05f, 5.435869036e-05f, 5.466328647e-05f, 5.496776459e-05f, 5.527212421e-05f,
+5.557636481e-05f, 5.588048588e-05f, 5.618448689e-05f, 5.648836733e-05f, 5.679212669e-05f, 5.709576445e-05f, 5.739928009e-05f, 5.770267310e-05f, 5.800594296e-05f, 5.830908915e-05f,
+5.861211117e-05f, 5.891500850e-05f, 5.921778062e-05f, 5.952042702e-05f, 5.982294718e-05f, 6.012534060e-05f, 6.042760675e-05f, 6.072974513e-05f, 6.103175523e-05f, 6.133363652e-05f,
+6.163538851e-05f, 6.193701067e-05f, 6.223850249e-05f, 6.253986347e-05f, 6.284109309e-05f, 6.314219084e-05f, 6.344315621e-05f, 6.374398870e-05f, 6.404468778e-05f, 6.434525296e-05f,
+6.464568371e-05f, 6.494597954e-05f, 6.524613993e-05f, 6.554616438e-05f, 6.584605237e-05f, 6.614580339e-05f, 6.644541695e-05f, 6.674489253e-05f, 6.704422963e-05f, 6.734342773e-05f,
+6.764248633e-05f, 6.794140493e-05f, 6.824018302e-05f, 6.853882008e-05f, 6.883731563e-05f, 6.913566915e-05f, 6.943388013e-05f, 6.973194807e-05f, 7.002987247e-05f, 7.032765283e-05f,
+7.062528863e-05f, 7.092277938e-05f, 7.122012457e-05f, 7.151732370e-05f, 7.181437626e-05f, 7.211128176e-05f, 7.240803969e-05f, 7.270464955e-05f, 7.300111084e-05f, 7.329742305e-05f,
+7.359358569e-05f, 7.388959825e-05f, 7.418546024e-05f, 7.448117115e-05f, 7.477673049e-05f, 7.507213775e-05f, 7.536739244e-05f, 7.566249406e-05f, 7.595744210e-05f, 7.625223607e-05f,
+7.654687548e-05f, 7.684135982e-05f, 7.713568860e-05f, 7.742986131e-05f, 7.772387748e-05f, 7.801773658e-05f, 7.831143814e-05f, 7.860498165e-05f, 7.889836662e-05f, 7.919159256e-05f,
+7.948465897e-05f, 7.977756535e-05f, 8.007031121e-05f, 8.036289605e-05f, 8.065531939e-05f, 8.094758073e-05f, 8.123967957e-05f, 8.153161543e-05f, 8.182338781e-05f, 8.211499622e-05f,
+8.240644017e-05f, 8.269771916e-05f, 8.298883271e-05f, 8.327978032e-05f, 8.357056151e-05f, 8.386117578e-05f, 8.415162265e-05f, 8.444190162e-05f, 8.473201220e-05f, 8.502195391e-05f,
+8.531172626e-05f, 8.560132876e-05f, 8.589076093e-05f, 8.618002227e-05f, 8.646911229e-05f, 8.675803052e-05f, 8.704677646e-05f, 8.733534963e-05f, 8.762374954e-05f, 8.791197571e-05f,
+8.820002766e-05f, 8.848790489e-05f, 8.877560692e-05f, 8.906313327e-05f, 8.935048346e-05f, 8.963765699e-05f, 8.992465340e-05f, 9.021147219e-05f, 9.049811289e-05f, 9.078457501e-05f,
+9.107085807e-05f, 9.135696158e-05f, 9.164288508e-05f, 9.192862807e-05f, 9.221419007e-05f, 9.249957062e-05f, 9.278476922e-05f, 9.306978540e-05f, 9.335461867e-05f, 9.363926857e-05f,
+9.392373461e-05f, 9.420801632e-05f, 9.449211321e-05f, 9.477602481e-05f, 9.505975064e-05f, 9.534329023e-05f, 9.562664310e-05f, 9.590980878e-05f, 9.619278678e-05f, 9.647557665e-05f,
+9.675817789e-05f, 9.704059003e-05f, 9.732281261e-05f, 9.760484515e-05f, 9.788668717e-05f, 9.816833820e-05f, 9.844979778e-05f, 9.873106542e-05f, 9.901214066e-05f, 9.929302302e-05f,
+9.957371204e-05f, 9.985420724e-05f, 1.001345082e-04f, 1.004146143e-04f, 1.006945252e-04f, 1.009742405e-04f, 1.012537596e-04f, 1.015330820e-04f, 1.018122073e-04f, 1.020911351e-04f,
+1.023698649e-04f, 1.026483961e-04f, 1.029267284e-04f, 1.032048612e-04f, 1.034827941e-04f, 1.037605267e-04f, 1.040380585e-04f, 1.043153889e-04f, 1.045925176e-04f, 1.048694441e-04f,
+1.051461678e-04f, 1.054226885e-04f, 1.056990055e-04f, 1.059751185e-04f, 1.062510269e-04f, 1.065267303e-04f, 1.068022282e-04f, 1.070775203e-04f, 1.073526060e-04f, 1.076274848e-04f,
+1.079021563e-04f, 1.081766201e-04f, 1.084508756e-04f, 1.087249225e-04f, 1.089987603e-04f, 1.092723884e-04f, 1.095458065e-04f, 1.098190141e-04f, 1.100920108e-04f, 1.103647960e-04f,
+1.106373694e-04f, 1.109097304e-04f, 1.111818787e-04f, 1.114538137e-04f, 1.117255351e-04f, 1.119970423e-04f, 1.122683349e-04f, 1.125394124e-04f, 1.128102745e-04f, 1.130809205e-04f,
+1.133513502e-04f, 1.136215631e-04f, 1.138915586e-04f, 1.141613364e-04f, 1.144308960e-04f, 1.147002369e-04f, 1.149693587e-04f, 1.152382610e-04f, 1.155069432e-04f, 1.157754051e-04f,
+1.160436460e-04f, 1.163116656e-04f, 1.165794634e-04f, 1.168470389e-04f, 1.171143918e-04f, 1.173815215e-04f, 1.176484277e-04f, 1.179151099e-04f, 1.181815676e-04f, 1.184478004e-04f,
+1.187138079e-04f, 1.189795895e-04f, 1.192451450e-04f, 1.195104737e-04f, 1.197755754e-04f, 1.200404495e-04f, 1.203050956e-04f, 1.205695133e-04f, 1.208337021e-04f, 1.210976615e-04f,
+1.213613913e-04f, 1.216248908e-04f, 1.218881597e-04f, 1.221511976e-04f, 1.224140039e-04f, 1.226765783e-04f, 1.229389203e-04f, 1.232010295e-04f, 1.234629055e-04f, 1.237245477e-04f,
+1.239859559e-04f, 1.242471295e-04f, 1.245080681e-04f, 1.247687713e-04f, 1.250292387e-04f, 1.252894697e-04f, 1.255494641e-04f, 1.258092213e-04f, 1.260687409e-04f, 1.263280225e-04f,
+1.265870657e-04f, 1.268458700e-04f, 1.271044350e-04f, 1.273627603e-04f, 1.276208455e-04f, 1.278786900e-04f, 1.281362936e-04f, 1.283936557e-04f, 1.286507759e-04f, 1.289076539e-04f,
+1.291642891e-04f, 1.294206812e-04f, 1.296768297e-04f, 1.299327343e-04f, 1.301883944e-04f, 1.304438097e-04f, 1.306989797e-04f, 1.309539041e-04f, 1.312085824e-04f, 1.314630141e-04f,
+1.317171989e-04f, 1.319711363e-04f, 1.322248259e-04f, 1.324782674e-04f, 1.327314602e-04f, 1.329844039e-04f, 1.332370982e-04f, 1.334895426e-04f, 1.337417367e-04f, 1.339936802e-04f,
+1.342453724e-04f, 1.344968132e-04f, 1.347480019e-04f, 1.349989383e-04f, 1.352496219e-04f, 1.355000523e-04f, 1.357502291e-04f, 1.360001518e-04f, 1.362498201e-04f, 1.364992336e-04f,
+1.367483917e-04f, 1.369972942e-04f, 1.372459406e-04f, 1.374943305e-04f, 1.377424635e-04f, 1.379903392e-04f, 1.382379571e-04f, 1.384853169e-04f, 1.387324182e-04f, 1.389792605e-04f,
+1.392258434e-04f, 1.394721666e-04f, 1.397182296e-04f, 1.399640320e-04f, 1.402095735e-04f, 1.404548535e-04f, 1.406998718e-04f, 1.409446279e-04f, 1.411891214e-04f, 1.414333518e-04f,
+1.416773189e-04f, 1.419210222e-04f, 1.421644612e-04f, 1.424076357e-04f, 1.426505451e-04f, 1.428931892e-04f, 1.431355674e-04f, 1.433776795e-04f, 1.436195249e-04f, 1.438611033e-04f,
+1.441024144e-04f, 1.443434576e-04f, 1.445842327e-04f, 1.448247391e-04f, 1.450649766e-04f, 1.453049447e-04f, 1.455446431e-04f, 1.457840713e-04f, 1.460232289e-04f, 1.462621156e-04f,
+1.465007309e-04f, 1.467390745e-04f, 1.469771460e-04f, 1.472149449e-04f, 1.474524710e-04f, 1.476897237e-04f, 1.479267028e-04f, 1.481634078e-04f, 1.483998383e-04f, 1.486359940e-04f,
+1.488718745e-04f, 1.491074793e-04f, 1.493428081e-04f, 1.495778605e-04f, 1.498126362e-04f, 1.500471346e-04f, 1.502813556e-04f, 1.505152986e-04f, 1.507489632e-04f, 1.509823492e-04f,
+1.512154561e-04f, 1.514482835e-04f, 1.516808311e-04f, 1.519130985e-04f, 1.521450853e-04f, 1.523767910e-04f, 1.526082154e-04f, 1.528393581e-04f, 1.530702187e-04f, 1.533007967e-04f,
+1.535310919e-04f, 1.537611038e-04f, 1.539908321e-04f, 1.542202764e-04f, 1.544494364e-04f, 1.546783115e-04f, 1.549069016e-04f, 1.551352061e-04f, 1.553632248e-04f, 1.555909572e-04f,
+1.558184030e-04f, 1.560455619e-04f, 1.562724334e-04f, 1.564990171e-04f, 1.567253127e-04f, 1.569513199e-04f, 1.571770383e-04f, 1.574024674e-04f, 1.576276070e-04f, 1.578524566e-04f,
+1.580770160e-04f, 1.583012846e-04f, 1.585252622e-04f, 1.587489485e-04f, 1.589723429e-04f, 1.591954453e-04f, 1.594182551e-04f, 1.596407721e-04f, 1.598629958e-04f, 1.600849260e-04f,
+1.603065623e-04f, 1.605279042e-04f, 1.607489515e-04f, 1.609697038e-04f, 1.611901606e-04f, 1.614103218e-04f, 1.616301868e-04f, 1.618497554e-04f, 1.620690272e-04f, 1.622880018e-04f,
+1.625066789e-04f, 1.627250582e-04f, 1.629431392e-04f, 1.631609216e-04f, 1.633784050e-04f, 1.635955892e-04f, 1.638124737e-04f, 1.640290582e-04f, 1.642453424e-04f, 1.644613259e-04f,
+1.646770083e-04f, 1.648923893e-04f, 1.651074686e-04f, 1.653222458e-04f, 1.655367205e-04f, 1.657508925e-04f, 1.659647613e-04f, 1.661783266e-04f, 1.663915881e-04f, 1.666045454e-04f,
+1.668171981e-04f, 1.670295461e-04f, 1.672415888e-04f, 1.674533259e-04f, 1.676647571e-04f, 1.678758822e-04f, 1.680867006e-04f, 1.682972121e-04f, 1.685074163e-04f, 1.687173130e-04f,
+1.689269017e-04f, 1.691361821e-04f, 1.693451539e-04f, 1.695538167e-04f, 1.697621703e-04f, 1.699702142e-04f, 1.701779482e-04f, 1.703853718e-04f, 1.705924849e-04f, 1.707992869e-04f,
+1.710057777e-04f, 1.712119568e-04f, 1.714178239e-04f, 1.716233788e-04f, 1.718286210e-04f, 1.720335503e-04f, 1.722381662e-04f, 1.724424686e-04f, 1.726464569e-04f, 1.728501310e-04f,
+1.730534905e-04f, 1.732565351e-04f, 1.734592644e-04f, 1.736616781e-04f, 1.738637759e-04f, 1.740655574e-04f, 1.742670224e-04f, 1.744681705e-04f, 1.746690014e-04f, 1.748695148e-04f,
+1.750697103e-04f, 1.752695876e-04f, 1.754691464e-04f, 1.756683864e-04f, 1.758673073e-04f, 1.760659087e-04f, 1.762641903e-04f, 1.764621518e-04f, 1.766597929e-04f, 1.768571133e-04f,
+1.770541126e-04f, 1.772507906e-04f, 1.774471469e-04f, 1.776431812e-04f, 1.778388931e-04f, 1.780342825e-04f, 1.782293489e-04f, 1.784240921e-04f, 1.786185117e-04f, 1.788126075e-04f,
+1.790063791e-04f, 1.791998261e-04f, 1.793929484e-04f, 1.795857456e-04f, 1.797782173e-04f, 1.799703634e-04f, 1.801621833e-04f, 1.803536770e-04f, 1.805448440e-04f, 1.807356841e-04f,
+1.809261969e-04f, 1.811163821e-04f, 1.813062395e-04f, 1.814957687e-04f, 1.816849694e-04f, 1.818738414e-04f, 1.820623843e-04f, 1.822505978e-04f, 1.824384817e-04f, 1.826260356e-04f,
+1.828132592e-04f, 1.830001522e-04f, 1.831867144e-04f, 1.833729454e-04f, 1.835588449e-04f, 1.837444127e-04f, 1.839296485e-04f, 1.841145519e-04f, 1.842991226e-04f, 1.844833604e-04f,
+1.846672650e-04f, 1.848508361e-04f, 1.850340733e-04f, 1.852169765e-04f, 1.853995453e-04f, 1.855817793e-04f, 1.857636784e-04f, 1.859452423e-04f, 1.861264706e-04f, 1.863073631e-04f,
+1.864879194e-04f, 1.866681393e-04f, 1.868480225e-04f, 1.870275688e-04f, 1.872067778e-04f, 1.873856492e-04f, 1.875641828e-04f, 1.877423783e-04f, 1.879202354e-04f, 1.880977538e-04f,
+1.882749333e-04f, 1.884517735e-04f, 1.886282742e-04f, 1.888044351e-04f, 1.889802559e-04f, 1.891557364e-04f, 1.893308762e-04f, 1.895056751e-04f, 1.896801329e-04f, 1.898542492e-04f,
+1.900280237e-04f, 1.902014562e-04f, 1.903745465e-04f, 1.905472942e-04f, 1.907196991e-04f, 1.908917608e-04f, 1.910634792e-04f, 1.912348540e-04f, 1.914058849e-04f, 1.915765715e-04f,
+1.917469138e-04f, 1.919169113e-04f, 1.920865638e-04f, 1.922558711e-04f, 1.924248328e-04f, 1.925934488e-04f, 1.927617187e-04f, 1.929296424e-04f, 1.930972194e-04f, 1.932644496e-04f,
+1.934313327e-04f, 1.935978685e-04f, 1.937640566e-04f, 1.939298968e-04f, 1.940953889e-04f, 1.942605326e-04f, 1.944253276e-04f, 1.945897737e-04f, 1.947538707e-04f, 1.949176181e-04f,
+1.950810159e-04f, 1.952440638e-04f, 1.954067615e-04f, 1.955691087e-04f, 1.957311052e-04f, 1.958927507e-04f, 1.960540450e-04f, 1.962149879e-04f, 1.963755790e-04f, 1.965358181e-04f,
+1.966957051e-04f, 1.968552396e-04f, 1.970144213e-04f, 1.971732501e-04f, 1.973317257e-04f, 1.974898478e-04f, 1.976476163e-04f, 1.978050307e-04f, 1.979620910e-04f, 1.981187969e-04f,
+1.982751480e-04f, 1.984311442e-04f, 1.985867853e-04f, 1.987420710e-04f, 1.988970010e-04f, 1.990515751e-04f, 1.992057931e-04f, 1.993596547e-04f, 1.995131597e-04f, 1.996663078e-04f,
+1.998190989e-04f, 1.999715326e-04f, 2.001236088e-04f, 2.002753272e-04f, 2.004266876e-04f, 2.005776897e-04f, 2.007283333e-04f, 2.008786182e-04f, 2.010285441e-04f, 2.011781109e-04f,
+2.013273182e-04f, 2.014761658e-04f, 2.016246536e-04f, 2.017727813e-04f, 2.019205486e-04f, 2.020679554e-04f, 2.022150013e-04f, 2.023616863e-04f, 2.025080100e-04f, 2.026539722e-04f,
+2.027995727e-04f, 2.029448114e-04f, 2.030896878e-04f, 2.032342019e-04f, 2.033783535e-04f, 2.035221422e-04f, 2.036655678e-04f, 2.038086303e-04f, 2.039513292e-04f, 2.040936645e-04f,
+2.042356359e-04f, 2.043772431e-04f, 2.045184860e-04f, 2.046593644e-04f, 2.047998779e-04f, 2.049400265e-04f, 2.050798099e-04f, 2.052192279e-04f, 2.053582802e-04f, 2.054969667e-04f,
+2.056352872e-04f, 2.057732414e-04f, 2.059108291e-04f, 2.060480502e-04f, 2.061849043e-04f, 2.063213914e-04f, 2.064575111e-04f, 2.065932634e-04f, 2.067286479e-04f, 2.068636645e-04f,
+2.069983129e-04f, 2.071325930e-04f, 2.072665046e-04f, 2.074000475e-04f, 2.075332214e-04f, 2.076660261e-04f, 2.077984615e-04f, 2.079305274e-04f, 2.080622235e-04f, 2.081935497e-04f,
+2.083245057e-04f, 2.084550913e-04f, 2.085853065e-04f, 2.087151509e-04f, 2.088446243e-04f, 2.089737267e-04f, 2.091024577e-04f, 2.092308172e-04f, 2.093588050e-04f, 2.094864209e-04f,
+2.096136646e-04f, 2.097405361e-04f, 2.098670352e-04f, 2.099931615e-04f, 2.101189150e-04f, 2.102442955e-04f, 2.103693027e-04f, 2.104939365e-04f, 2.106181967e-04f, 2.107420831e-04f,
+2.108655956e-04f, 2.109887338e-04f, 2.111114978e-04f, 2.112338872e-04f, 2.113559018e-04f, 2.114775416e-04f, 2.115988063e-04f, 2.117196958e-04f, 2.118402098e-04f, 2.119603482e-04f,
+2.120801108e-04f, 2.121994974e-04f, 2.123185079e-04f, 2.124371421e-04f, 2.125553997e-04f, 2.126732807e-04f, 2.127907848e-04f, 2.129079119e-04f, 2.130246618e-04f, 2.131410343e-04f,
+2.132570293e-04f, 2.133726465e-04f, 2.134878859e-04f, 2.136027472e-04f, 2.137172303e-04f, 2.138313350e-04f, 2.139450611e-04f, 2.140584085e-04f, 2.141713770e-04f, 2.142839664e-04f,
+2.143961766e-04f, 2.145080074e-04f, 2.146194586e-04f, 2.147305302e-04f, 2.148412218e-04f, 2.149515334e-04f, 2.150614648e-04f, 2.151710158e-04f, 2.152801863e-04f, 2.153889761e-04f,
+2.154973850e-04f, 2.156054129e-04f, 2.157130597e-04f, 2.158203252e-04f, 2.159272092e-04f, 2.160337115e-04f, 2.161398321e-04f, 2.162455707e-04f, 2.163509273e-04f, 2.164559016e-04f,
+2.165604935e-04f, 2.166647028e-04f, 2.167685294e-04f, 2.168719732e-04f, 2.169750340e-04f, 2.170777117e-04f, 2.171800061e-04f, 2.172819170e-04f, 2.173834443e-04f, 2.174845879e-04f,
+2.175853476e-04f, 2.176857233e-04f, 2.177857148e-04f, 2.178853220e-04f, 2.179845448e-04f, 2.180833829e-04f, 2.181818364e-04f, 2.182799049e-04f, 2.183775884e-04f, 2.184748868e-04f,
+2.185717999e-04f, 2.186683275e-04f, 2.187644696e-04f, 2.188602259e-04f, 2.189555965e-04f, 2.190505810e-04f, 2.191451794e-04f, 2.192393916e-04f, 2.193332174e-04f, 2.194266567e-04f,
+2.195197094e-04f, 2.196123752e-04f, 2.197046542e-04f, 2.197965462e-04f, 2.198880509e-04f, 2.199791684e-04f, 2.200698985e-04f, 2.201602410e-04f, 2.202501959e-04f, 2.203397629e-04f,
+2.204289421e-04f, 2.205177331e-04f, 2.206061361e-04f, 2.206941507e-04f, 2.207817769e-04f, 2.208690146e-04f, 2.209558636e-04f, 2.210423238e-04f, 2.211283951e-04f, 2.212140775e-04f,
+2.212993707e-04f, 2.213842746e-04f, 2.214687892e-04f, 2.215529142e-04f, 2.216366497e-04f, 2.217199955e-04f, 2.218029514e-04f, 2.218855174e-04f, 2.219676934e-04f, 2.220494792e-04f,
+2.221308747e-04f, 2.222118798e-04f, 2.222924944e-04f, 2.223727184e-04f, 2.224525517e-04f, 2.225319942e-04f, 2.226110457e-04f, 2.226897062e-04f, 2.227679756e-04f, 2.228458537e-04f,
+2.229233405e-04f, 2.230004358e-04f, 2.230771395e-04f, 2.231534516e-04f, 2.232293720e-04f, 2.233049004e-04f, 2.233800369e-04f, 2.234547813e-04f, 2.235291336e-04f, 2.236030936e-04f,
+2.236766613e-04f, 2.237498365e-04f, 2.238226191e-04f, 2.238950091e-04f, 2.239670064e-04f, 2.240386108e-04f, 2.241098223e-04f, 2.241806407e-04f, 2.242510661e-04f, 2.243210982e-04f,
+2.243907371e-04f, 2.244599826e-04f, 2.245288345e-04f, 2.245972930e-04f, 2.246653577e-04f, 2.247330288e-04f, 2.248003060e-04f, 2.248671893e-04f, 2.249336786e-04f, 2.249997738e-04f,
+2.250654748e-04f, 2.251307816e-04f, 2.251956941e-04f, 2.252602122e-04f, 2.253243357e-04f, 2.253880647e-04f, 2.254513991e-04f, 2.255143387e-04f, 2.255768835e-04f, 2.256390334e-04f,
+2.257007883e-04f, 2.257621482e-04f, 2.258231130e-04f, 2.258836826e-04f, 2.259438569e-04f, 2.260036359e-04f, 2.260630194e-04f, 2.261220075e-04f, 2.261806000e-04f, 2.262387969e-04f,
+2.262965981e-04f, 2.263540036e-04f, 2.264110132e-04f, 2.264676269e-04f, 2.265238446e-04f, 2.265796663e-04f, 2.266350919e-04f, 2.266901213e-04f, 2.267447545e-04f, 2.267989914e-04f,
+2.268528319e-04f, 2.269062761e-04f, 2.269593237e-04f, 2.270119748e-04f, 2.270642293e-04f, 2.271160871e-04f, 2.271675482e-04f, 2.272186125e-04f, 2.272692800e-04f, 2.273195505e-04f,
+2.273694242e-04f, 2.274189008e-04f, 2.274679803e-04f, 2.275166628e-04f, 2.275649480e-04f, 2.276128361e-04f, 2.276603269e-04f, 2.277074203e-04f, 2.277541164e-04f, 2.278004150e-04f,
+2.278463162e-04f, 2.278918198e-04f, 2.279369259e-04f, 2.279816343e-04f, 2.280259451e-04f, 2.280698582e-04f, 2.281133735e-04f, 2.281564910e-04f, 2.281992106e-04f, 2.282415324e-04f,
+2.282834562e-04f, 2.283249821e-04f, 2.283661100e-04f, 2.284068397e-04f, 2.284471715e-04f, 2.284871050e-04f, 2.285266404e-04f, 2.285657776e-04f, 2.286045166e-04f, 2.286428572e-04f,
+2.286807996e-04f, 2.287183436e-04f, 2.287554892e-04f, 2.287922364e-04f, 2.288285851e-04f, 2.288645353e-04f, 2.289000871e-04f, 2.289352403e-04f, 2.289699949e-04f, 2.290043509e-04f,
+2.290383083e-04f, 2.290718670e-04f, 2.291050270e-04f, 2.291377883e-04f, 2.291701509e-04f, 2.292021147e-04f, 2.292336797e-04f, 2.292648459e-04f, 2.292956133e-04f, 2.293259818e-04f,
+2.293559514e-04f, 2.293855221e-04f, 2.294146939e-04f, 2.294434667e-04f, 2.294718406e-04f, 2.294998155e-04f, 2.295273915e-04f, 2.295545684e-04f, 2.295813462e-04f, 2.296077251e-04f,
+2.296337048e-04f, 2.296592855e-04f, 2.296844671e-04f, 2.297092497e-04f, 2.297336331e-04f, 2.297576173e-04f, 2.297812025e-04f, 2.298043885e-04f, 2.298271753e-04f, 2.298495630e-04f,
+2.298715515e-04f, 2.298931409e-04f, 2.299143310e-04f, 2.299351220e-04f, 2.299555138e-04f, 2.299755064e-04f, 2.299950998e-04f, 2.300142939e-04f, 2.300330889e-04f, 2.300514847e-04f,
+2.300694812e-04f, 2.300870786e-04f, 2.301042767e-04f, 2.301210756e-04f, 2.301374754e-04f, 2.301534759e-04f, 2.301690772e-04f, 2.301842793e-04f, 2.301990823e-04f, 2.302134860e-04f,
+2.302274906e-04f, 2.302410960e-04f, 2.302543022e-04f, 2.302671093e-04f, 2.302795173e-04f, 2.302915260e-04f, 2.303031357e-04f, 2.303143463e-04f, 2.303251577e-04f, 2.303355700e-04f,
+2.303455833e-04f, 2.303551975e-04f, 2.303644126e-04f, 2.303732287e-04f, 2.303816458e-04f, 2.303896639e-04f, 2.303972830e-04f, 2.304045031e-04f, 2.304113242e-04f, 2.304177465e-04f,
+2.304237698e-04f, 2.304293942e-04f, 2.304346197e-04f, 2.304394464e-04f, 2.304438743e-04f, 2.304479034e-04f, 2.304515336e-04f, 2.304547652e-04f, 2.304575980e-04f, 2.304600320e-04f,
+2.304620675e-04f, 2.304637042e-04f, 2.304649423e-04f, 2.304657819e-04f, 2.304662229e-04f, 2.304662653e-04f, 2.304659092e-04f, 2.304651547e-04f, 2.304640017e-04f, 2.304624504e-04f,
+2.304605006e-04f, 2.304581525e-04f, 2.304554061e-04f, 2.304522614e-04f, 2.304487185e-04f, 2.304447774e-04f, 2.304404382e-04f, 2.304357008e-04f, 2.304305654e-04f, 2.304250319e-04f,
+2.304191004e-04f, 2.304127709e-04f, 2.304060435e-04f, 2.303989183e-04f, 2.303913952e-04f, 2.303834743e-04f, 2.303751557e-04f, 2.303664394e-04f, 2.303573255e-04f, 2.303478139e-04f,
+2.303379048e-04f, 2.303275981e-04f, 2.303168940e-04f, 2.303057925e-04f, 2.302942936e-04f, 2.302823975e-04f, 2.302701040e-04f, 2.302574134e-04f, 2.302443256e-04f, 2.302308406e-04f,
+2.302169587e-04f, 2.302026797e-04f, 2.301880038e-04f, 2.301729311e-04f, 2.301574615e-04f, 2.301415951e-04f, 2.301253320e-04f, 2.301086723e-04f, 2.300916160e-04f, 2.300741631e-04f,
+2.300563138e-04f, 2.300380681e-04f, 2.300194260e-04f, 2.300003877e-04f, 2.299809531e-04f, 2.299611224e-04f, 2.299408956e-04f, 2.299202727e-04f, 2.298992539e-04f, 2.298778392e-04f,
+2.298560287e-04f, 2.298338224e-04f, 2.298112205e-04f, 2.297882229e-04f, 2.297648298e-04f, 2.297410412e-04f, 2.297168572e-04f, 2.296922779e-04f, 2.296673033e-04f, 2.296419336e-04f,
+2.296161687e-04f, 2.295900088e-04f, 2.295634539e-04f, 2.295365042e-04f, 2.295091597e-04f, 2.294814204e-04f, 2.294532865e-04f, 2.294247580e-04f, 2.293958350e-04f, 2.293665177e-04f,
+2.293368060e-04f, 2.293067000e-04f, 2.292761999e-04f, 2.292453057e-04f, 2.292140175e-04f, 2.291823354e-04f, 2.291502595e-04f, 2.291177899e-04f, 2.290849266e-04f, 2.290516697e-04f,
+2.290180194e-04f, 2.289839756e-04f, 2.289495386e-04f, 2.289147084e-04f, 2.288794850e-04f, 2.288438686e-04f, 2.288078593e-04f, 2.287714572e-04f, 2.287346623e-04f, 2.286974747e-04f,
+2.286598946e-04f, 2.286219220e-04f, 2.285835571e-04f, 2.285447999e-04f, 2.285056505e-04f, 2.284661090e-04f, 2.284261756e-04f, 2.283858503e-04f, 2.283451332e-04f, 2.283040244e-04f,
+2.282625241e-04f, 2.282206323e-04f, 2.281783491e-04f, 2.281356746e-04f, 2.280926090e-04f, 2.280491524e-04f, 2.280053048e-04f, 2.279610663e-04f, 2.279164371e-04f, 2.278714173e-04f,
+2.278260069e-04f, 2.277802062e-04f, 2.277340151e-04f, 2.276874338e-04f, 2.276404625e-04f, 2.275931012e-04f, 2.275453500e-04f, 2.274972091e-04f, 2.274486785e-04f, 2.273997584e-04f,
+2.273504490e-04f, 2.273007502e-04f, 2.272506622e-04f, 2.272001853e-04f, 2.271493193e-04f, 2.270980646e-04f, 2.270464211e-04f, 2.269943891e-04f, 2.269419686e-04f, 2.268891597e-04f,
+2.268359627e-04f, 2.267823775e-04f, 2.267284044e-04f, 2.266740434e-04f, 2.266192947e-04f, 2.265641584e-04f, 2.265086346e-04f, 2.264527234e-04f, 2.263964251e-04f, 2.263397396e-04f,
+2.262826672e-04f, 2.262252079e-04f, 2.261673619e-04f, 2.261091294e-04f, 2.260505104e-04f, 2.259915050e-04f, 2.259321135e-04f, 2.258723360e-04f, 2.258121725e-04f, 2.257516232e-04f,
+2.256906883e-04f, 2.256293678e-04f, 2.255676620e-04f, 2.255055709e-04f, 2.254430948e-04f, 2.253802336e-04f, 2.253169876e-04f, 2.252533570e-04f, 2.251893418e-04f, 2.251249421e-04f,
+2.250601582e-04f, 2.249949902e-04f, 2.249294382e-04f, 2.248635024e-04f, 2.247971828e-04f, 2.247304797e-04f, 2.246633932e-04f, 2.245959235e-04f, 2.245280706e-04f, 2.244598347e-04f,
+2.243912160e-04f, 2.243222147e-04f, 2.242528308e-04f, 2.241830646e-04f, 2.241129161e-04f, 2.240423856e-04f, 2.239714731e-04f, 2.239001789e-04f, 2.238285030e-04f, 2.237564457e-04f,
+2.236840071e-04f, 2.236111873e-04f, 2.235379866e-04f, 2.234644049e-04f, 2.233904427e-04f, 2.233160998e-04f, 2.232413766e-04f, 2.231662732e-04f, 2.230907898e-04f, 2.230149264e-04f,
+2.229386834e-04f, 2.228620607e-04f, 2.227850587e-04f, 2.227076774e-04f, 2.226299170e-04f, 2.225517777e-04f, 2.224732597e-04f, 2.223943630e-04f, 2.223150880e-04f, 2.222354347e-04f,
+2.221554033e-04f, 2.220749939e-04f, 2.219942069e-04f, 2.219130422e-04f, 2.218315002e-04f, 2.217495809e-04f, 2.216672845e-04f, 2.215846112e-04f, 2.215015612e-04f, 2.214181346e-04f,
+2.213343317e-04f, 2.212501525e-04f, 2.211655973e-04f, 2.210806663e-04f, 2.209953596e-04f, 2.209096773e-04f, 2.208236198e-04f, 2.207371871e-04f, 2.206503794e-04f, 2.205631969e-04f,
+2.204756398e-04f, 2.203877083e-04f, 2.202994026e-04f, 2.202107227e-04f, 2.201216690e-04f, 2.200322416e-04f, 2.199424407e-04f, 2.198522664e-04f, 2.197617190e-04f, 2.196707986e-04f,
+2.195795054e-04f, 2.194878397e-04f, 2.193958015e-04f, 2.193033912e-04f, 2.192106088e-04f, 2.191174545e-04f, 2.190239286e-04f, 2.189300313e-04f, 2.188357627e-04f, 2.187411230e-04f,
+2.186461124e-04f, 2.185507312e-04f, 2.184549794e-04f, 2.183588574e-04f, 2.182623652e-04f, 2.181655032e-04f, 2.180682714e-04f, 2.179706701e-04f, 2.178726995e-04f, 2.177743598e-04f,
+2.176756511e-04f, 2.175765738e-04f, 2.174771279e-04f, 2.173773136e-04f, 2.172771313e-04f, 2.171765810e-04f, 2.170756631e-04f, 2.169743776e-04f, 2.168727248e-04f, 2.167707049e-04f,
+2.166683181e-04f, 2.165655646e-04f, 2.164624446e-04f, 2.163589583e-04f, 2.162551059e-04f, 2.161508877e-04f, 2.160463039e-04f, 2.159413545e-04f, 2.158360400e-04f, 2.157303604e-04f,
+2.156243160e-04f, 2.155179070e-04f, 2.154111336e-04f, 2.153039960e-04f, 2.151964944e-04f, 2.150886291e-04f, 2.149804003e-04f, 2.148718081e-04f, 2.147628529e-04f, 2.146535347e-04f,
+2.145438539e-04f, 2.144338106e-04f, 2.143234051e-04f, 2.142126375e-04f, 2.141015082e-04f, 2.139900173e-04f, 2.138781650e-04f, 2.137659516e-04f, 2.136533773e-04f, 2.135404423e-04f,
+2.134271469e-04f, 2.133134911e-04f, 2.131994754e-04f, 2.130850999e-04f, 2.129703648e-04f, 2.128552704e-04f, 2.127398168e-04f, 2.126240044e-04f, 2.125078333e-04f, 2.123913038e-04f,
+2.122744161e-04f, 2.121571704e-04f, 2.120395670e-04f, 2.119216061e-04f, 2.118032878e-04f, 2.116846126e-04f, 2.115655805e-04f, 2.114461919e-04f, 2.113264469e-04f, 2.112063458e-04f,
+2.110858889e-04f, 2.109650763e-04f, 2.108439083e-04f, 2.107223851e-04f, 2.106005070e-04f, 2.104782742e-04f, 2.103556870e-04f, 2.102327456e-04f, 2.101094502e-04f, 2.099858010e-04f,
+2.098617984e-04f, 2.097374426e-04f, 2.096127337e-04f, 2.094876721e-04f, 2.093622579e-04f, 2.092364915e-04f, 2.091103731e-04f, 2.089839029e-04f, 2.088570811e-04f, 2.087299081e-04f,
+2.086023840e-04f, 2.084745092e-04f, 2.083462837e-04f, 2.082177080e-04f, 2.080887823e-04f, 2.079595067e-04f, 2.078298816e-04f, 2.076999073e-04f, 2.075695838e-04f, 2.074389116e-04f,
+2.073078908e-04f, 2.071765218e-04f, 2.070448047e-04f, 2.069127399e-04f, 2.067803276e-04f, 2.066475679e-04f, 2.065144613e-04f, 2.063810079e-04f, 2.062472081e-04f, 2.061130620e-04f,
+2.059785699e-04f, 2.058437321e-04f, 2.057085489e-04f, 2.055730205e-04f, 2.054371471e-04f, 2.053009291e-04f, 2.051643667e-04f, 2.050274601e-04f, 2.048902096e-04f, 2.047526156e-04f,
+2.046146781e-04f, 2.044763976e-04f, 2.043377743e-04f, 2.041988084e-04f, 2.040595002e-04f, 2.039198500e-04f, 2.037798581e-04f, 2.036395246e-04f, 2.034988500e-04f, 2.033578344e-04f,
+2.032164781e-04f, 2.030747814e-04f, 2.029327446e-04f, 2.027903680e-04f, 2.026476517e-04f, 2.025045962e-04f, 2.023612016e-04f, 2.022174682e-04f, 2.020733963e-04f, 2.019289863e-04f,
+2.017842383e-04f, 2.016391526e-04f, 2.014937295e-04f, 2.013479694e-04f, 2.012018724e-04f, 2.010554388e-04f, 2.009086690e-04f, 2.007615632e-04f, 2.006141217e-04f, 2.004663447e-04f,
+2.003182326e-04f, 2.001697857e-04f, 2.000210041e-04f, 1.998718883e-04f, 1.997224384e-04f, 1.995726548e-04f, 1.994225378e-04f, 1.992720876e-04f, 1.991213045e-04f, 1.989701888e-04f,
+1.988187409e-04f, 1.986669609e-04f, 1.985148492e-04f, 1.983624061e-04f, 1.982096318e-04f, 1.980565267e-04f, 1.979030910e-04f, 1.977493250e-04f, 1.975952290e-04f, 1.974408034e-04f,
+1.972860483e-04f, 1.971309642e-04f, 1.969755512e-04f, 1.968198097e-04f, 1.966637400e-04f, 1.965073424e-04f, 1.963506171e-04f, 1.961935645e-04f, 1.960361849e-04f, 1.958784785e-04f,
+1.957204457e-04f, 1.955620867e-04f, 1.954034019e-04f, 1.952443916e-04f, 1.950850560e-04f, 1.949253955e-04f, 1.947654103e-04f, 1.946051008e-04f, 1.944444672e-04f, 1.942835099e-04f,
+1.941222292e-04f, 1.939606254e-04f, 1.937986987e-04f, 1.936364496e-04f, 1.934738782e-04f, 1.933109849e-04f, 1.931477700e-04f, 1.929842338e-04f, 1.928203767e-04f, 1.926561988e-04f,
+1.924917006e-04f, 1.923268824e-04f, 1.921617444e-04f, 1.919962870e-04f, 1.918305104e-04f, 1.916644150e-04f, 1.914980011e-04f, 1.913312691e-04f, 1.911642191e-04f, 1.909968516e-04f,
+1.908291669e-04f, 1.906611652e-04f, 1.904928469e-04f, 1.903242123e-04f, 1.901552617e-04f, 1.899859955e-04f, 1.898164139e-04f, 1.896465173e-04f, 1.894763059e-04f, 1.893057801e-04f,
+1.891349403e-04f, 1.889637867e-04f, 1.887923197e-04f, 1.886205396e-04f, 1.884484467e-04f, 1.882760413e-04f, 1.881033237e-04f, 1.879302943e-04f, 1.877569534e-04f, 1.875833014e-04f,
+1.874093385e-04f, 1.872350650e-04f, 1.870604814e-04f, 1.868855878e-04f, 1.867103847e-04f, 1.865348724e-04f, 1.863590512e-04f, 1.861829215e-04f, 1.860064834e-04f, 1.858297375e-04f,
+1.856526840e-04f, 1.854753233e-04f, 1.852976556e-04f, 1.851196813e-04f, 1.849414008e-04f, 1.847628143e-04f, 1.845839223e-04f, 1.844047250e-04f, 1.842252228e-04f, 1.840454159e-04f,
+1.838653049e-04f, 1.836848899e-04f, 1.835041713e-04f, 1.833231494e-04f, 1.831418247e-04f, 1.829601973e-04f, 1.827782678e-04f, 1.825960363e-04f, 1.824135033e-04f, 1.822306690e-04f,
+1.820475339e-04f, 1.818640982e-04f, 1.816803623e-04f, 1.814963266e-04f, 1.813119913e-04f, 1.811273569e-04f, 1.809424236e-04f, 1.807571918e-04f, 1.805716619e-04f, 1.803858342e-04f,
+1.801997090e-04f, 1.800132867e-04f, 1.798265676e-04f, 1.796395521e-04f, 1.794522405e-04f, 1.792646332e-04f, 1.790767306e-04f, 1.788885329e-04f, 1.787000405e-04f, 1.785112537e-04f,
+1.783221730e-04f, 1.781327986e-04f, 1.779431310e-04f, 1.777531704e-04f, 1.775629172e-04f, 1.773723718e-04f, 1.771815345e-04f, 1.769904057e-04f, 1.767989857e-04f, 1.766072749e-04f,
+1.764152736e-04f, 1.762229822e-04f, 1.760304011e-04f, 1.758375305e-04f, 1.756443709e-04f, 1.754509227e-04f, 1.752571860e-04f, 1.750631615e-04f, 1.748688492e-04f, 1.746742498e-04f,
+1.744793634e-04f, 1.742841905e-04f, 1.740887314e-04f, 1.738929865e-04f, 1.736969561e-04f, 1.735006407e-04f, 1.733040405e-04f, 1.731071559e-04f, 1.729099873e-04f, 1.727125351e-04f,
+1.725147996e-04f, 1.723167812e-04f, 1.721184802e-04f, 1.719198970e-04f, 1.717210320e-04f, 1.715218855e-04f, 1.713224579e-04f, 1.711227497e-04f, 1.709227610e-04f, 1.707224924e-04f,
+1.705219441e-04f, 1.703211166e-04f, 1.701200102e-04f, 1.699186253e-04f, 1.697169622e-04f, 1.695150214e-04f, 1.693128031e-04f, 1.691103078e-04f, 1.689075359e-04f, 1.687044877e-04f,
+1.685011635e-04f, 1.682975638e-04f, 1.680936889e-04f, 1.678895393e-04f, 1.676851152e-04f, 1.674804171e-04f, 1.672754453e-04f, 1.670702002e-04f, 1.668646822e-04f, 1.666588916e-04f,
+1.664528289e-04f, 1.662464944e-04f, 1.660398884e-04f, 1.658330115e-04f, 1.656258639e-04f, 1.654184460e-04f, 1.652107582e-04f, 1.650028009e-04f, 1.647945745e-04f, 1.645860793e-04f,
+1.643773158e-04f, 1.641682843e-04f, 1.639589851e-04f, 1.637494188e-04f, 1.635395856e-04f, 1.633294859e-04f, 1.631191202e-04f, 1.629084888e-04f, 1.626975921e-04f, 1.624864304e-04f,
+1.622750042e-04f, 1.620633139e-04f, 1.618513599e-04f, 1.616391424e-04f, 1.614266620e-04f, 1.612139190e-04f, 1.610009137e-04f, 1.607876467e-04f, 1.605741182e-04f, 1.603603287e-04f,
+1.601462785e-04f, 1.599319681e-04f, 1.597173978e-04f, 1.595025680e-04f, 1.592874792e-04f, 1.590721316e-04f, 1.588565258e-04f, 1.586406620e-04f, 1.584245408e-04f, 1.582081624e-04f,
+1.579915273e-04f, 1.577746358e-04f, 1.575574884e-04f, 1.573400855e-04f, 1.571224274e-04f, 1.569045146e-04f, 1.566863474e-04f, 1.564679263e-04f, 1.562492516e-04f, 1.560303238e-04f,
+1.558111432e-04f, 1.555917102e-04f, 1.553720253e-04f, 1.551520888e-04f, 1.549319012e-04f, 1.547114627e-04f, 1.544907740e-04f, 1.542698352e-04f, 1.540486469e-04f, 1.538272095e-04f,
+1.536055233e-04f, 1.533835887e-04f, 1.531614062e-04f, 1.529389761e-04f, 1.527162989e-04f, 1.524933750e-04f, 1.522702047e-04f, 1.520467885e-04f, 1.518231268e-04f, 1.515992200e-04f,
+1.513750684e-04f, 1.511506726e-04f, 1.509260328e-04f, 1.507011496e-04f, 1.504760233e-04f, 1.502506543e-04f, 1.500250431e-04f, 1.497991900e-04f, 1.495730954e-04f, 1.493467598e-04f,
+1.491201836e-04f, 1.488933672e-04f, 1.486663110e-04f, 1.484390154e-04f, 1.482114808e-04f, 1.479837076e-04f, 1.477556963e-04f, 1.475274472e-04f, 1.472989609e-04f, 1.470702376e-04f,
+1.468412777e-04f, 1.466120819e-04f, 1.463826503e-04f, 1.461529835e-04f, 1.459230818e-04f, 1.456929457e-04f, 1.454625756e-04f, 1.452319719e-04f, 1.450011351e-04f, 1.447700654e-04f,
+1.445387635e-04f, 1.443072296e-04f, 1.440754642e-04f, 1.438434677e-04f, 1.436112406e-04f, 1.433787832e-04f, 1.431460960e-04f, 1.429131794e-04f, 1.426800338e-04f, 1.424466596e-04f,
+1.422130573e-04f, 1.419792273e-04f, 1.417451699e-04f, 1.415108857e-04f, 1.412763751e-04f, 1.410416384e-04f, 1.408066761e-04f, 1.405714886e-04f, 1.403360764e-04f, 1.401004398e-04f,
+1.398645793e-04f, 1.396284953e-04f, 1.393921883e-04f, 1.391556587e-04f, 1.389189068e-04f, 1.386819332e-04f, 1.384447382e-04f, 1.382073223e-04f, 1.379696859e-04f, 1.377318294e-04f,
+1.374937533e-04f, 1.372554580e-04f, 1.370169439e-04f, 1.367782114e-04f, 1.365392611e-04f, 1.363000932e-04f, 1.360607083e-04f, 1.358211067e-04f, 1.355812890e-04f, 1.353412554e-04f,
+1.351010066e-04f, 1.348605428e-04f, 1.346198646e-04f, 1.343789723e-04f, 1.341378665e-04f, 1.338965474e-04f, 1.336550157e-04f, 1.334132716e-04f, 1.331713156e-04f, 1.329291483e-04f,
+1.326867699e-04f, 1.324441810e-04f, 1.322013819e-04f, 1.319583731e-04f, 1.317151551e-04f, 1.314717283e-04f, 1.312280931e-04f, 1.309842500e-04f, 1.307401994e-04f, 1.304959417e-04f,
+1.302514773e-04f, 1.300068068e-04f, 1.297619306e-04f, 1.295168490e-04f, 1.292715626e-04f, 1.290260717e-04f, 1.287803769e-04f, 1.285344785e-04f, 1.282883770e-04f, 1.280420728e-04f,
+1.277955664e-04f, 1.275488582e-04f, 1.273019487e-04f, 1.270548383e-04f, 1.268075275e-04f, 1.265600166e-04f, 1.263123062e-04f, 1.260643966e-04f, 1.258162884e-04f, 1.255679820e-04f,
+1.253194777e-04f, 1.250707761e-04f, 1.248218777e-04f, 1.245727827e-04f, 1.243234918e-04f, 1.240740053e-04f, 1.238243237e-04f, 1.235744474e-04f, 1.233243770e-04f, 1.230741127e-04f,
+1.228236551e-04f, 1.225730047e-04f, 1.223221618e-04f, 1.220711270e-04f, 1.218199006e-04f, 1.215684831e-04f, 1.213168750e-04f, 1.210650768e-04f, 1.208130888e-04f, 1.205609116e-04f,
+1.203085455e-04f, 1.200559910e-04f, 1.198032486e-04f, 1.195503188e-04f, 1.192972019e-04f, 1.190438985e-04f, 1.187904089e-04f, 1.185367337e-04f, 1.182828733e-04f, 1.180288281e-04f,
+1.177745986e-04f, 1.175201853e-04f, 1.172655886e-04f, 1.170108089e-04f, 1.167558468e-04f, 1.165007026e-04f, 1.162453769e-04f, 1.159898701e-04f, 1.157341826e-04f, 1.154783148e-04f,
+1.152222674e-04f, 1.149660406e-04f, 1.147096350e-04f, 1.144530511e-04f, 1.141962892e-04f, 1.139393499e-04f, 1.136822335e-04f, 1.134249406e-04f, 1.131674717e-04f, 1.129098271e-04f,
+1.126520073e-04f, 1.123940128e-04f, 1.121358441e-04f, 1.118775016e-04f, 1.116189858e-04f, 1.113602971e-04f, 1.111014360e-04f, 1.108424030e-04f, 1.105831984e-04f, 1.103238229e-04f,
+1.100642768e-04f, 1.098045606e-04f, 1.095446748e-04f, 1.092846197e-04f, 1.090243960e-04f, 1.087640041e-04f, 1.085034443e-04f, 1.082427173e-04f, 1.079818234e-04f, 1.077207630e-04f,
+1.074595368e-04f, 1.071981451e-04f, 1.069365884e-04f, 1.066748672e-04f, 1.064129819e-04f, 1.061509331e-04f, 1.058887210e-04f, 1.056263464e-04f, 1.053638095e-04f, 1.051011109e-04f,
+1.048382510e-04f, 1.045752303e-04f, 1.043120493e-04f, 1.040487084e-04f, 1.037852081e-04f, 1.035215489e-04f, 1.032577313e-04f, 1.029937556e-04f, 1.027296224e-04f, 1.024653322e-04f,
+1.022008854e-04f, 1.019362825e-04f, 1.016715239e-04f, 1.014066101e-04f, 1.011415417e-04f, 1.008763190e-04f, 1.006109425e-04f, 1.003454128e-04f, 1.000797302e-04f, 9.981389532e-05f,
+9.954790853e-05f, 9.928177034e-05f, 9.901548121e-05f, 9.874904162e-05f, 9.848245204e-05f, 9.821571294e-05f, 9.794882480e-05f, 9.768178809e-05f, 9.741460328e-05f, 9.714727086e-05f,
+9.687979128e-05f, 9.661216503e-05f, 9.634439257e-05f, 9.607647439e-05f, 9.580841096e-05f, 9.554020276e-05f, 9.527185025e-05f, 9.500335392e-05f, 9.473471423e-05f, 9.446593168e-05f,
+9.419700672e-05f, 9.392793984e-05f, 9.365873152e-05f, 9.338938223e-05f, 9.311989244e-05f, 9.285026264e-05f, 9.258049330e-05f, 9.231058491e-05f, 9.204053793e-05f, 9.177035284e-05f,
+9.150003013e-05f, 9.122957027e-05f, 9.095897374e-05f, 9.068824101e-05f, 9.041737258e-05f, 9.014636891e-05f, 8.987523049e-05f, 8.960395779e-05f, 8.933255130e-05f, 8.906101149e-05f,
+8.878933885e-05f, 8.851753385e-05f, 8.824559698e-05f, 8.797352871e-05f, 8.770132954e-05f, 8.742899993e-05f, 8.715654036e-05f, 8.688395133e-05f, 8.661123331e-05f, 8.633838679e-05f,
+8.606541224e-05f, 8.579231015e-05f, 8.551908100e-05f, 8.524572527e-05f, 8.497224344e-05f, 8.469863601e-05f, 8.442490344e-05f, 8.415104623e-05f, 8.387706486e-05f, 8.360295981e-05f,
+8.332873157e-05f, 8.305438061e-05f, 8.277990742e-05f, 8.250531250e-05f, 8.223059631e-05f, 8.195575935e-05f, 8.168080211e-05f, 8.140572505e-05f, 8.113052868e-05f, 8.085521348e-05f,
+8.057977993e-05f, 8.030422851e-05f, 8.002855972e-05f, 7.975277404e-05f, 7.947687195e-05f, 7.920085394e-05f, 7.892472050e-05f, 7.864847212e-05f, 7.837210928e-05f, 7.809563246e-05f,
+7.781904217e-05f, 7.754233887e-05f, 7.726552306e-05f, 7.698859523e-05f, 7.671155587e-05f, 7.643440546e-05f, 7.615714449e-05f, 7.587977345e-05f, 7.560229283e-05f, 7.532470311e-05f,
+7.504700479e-05f, 7.476919835e-05f, 7.449128428e-05f, 7.421326308e-05f, 7.393513523e-05f, 7.365690121e-05f, 7.337856153e-05f, 7.310011666e-05f, 7.282156710e-05f, 7.254291335e-05f,
+7.226415588e-05f, 7.198529519e-05f, 7.170633177e-05f, 7.142726611e-05f, 7.114809870e-05f, 7.086883003e-05f, 7.058946060e-05f, 7.030999089e-05f, 7.003042139e-05f, 6.975075260e-05f,
+6.947098500e-05f, 6.919111910e-05f, 6.891115537e-05f, 6.863109432e-05f, 6.835093644e-05f, 6.807068220e-05f, 6.779033212e-05f, 6.750988668e-05f, 6.722934638e-05f, 6.694871170e-05f,
+6.666798314e-05f, 6.638716119e-05f, 6.610624634e-05f, 6.582523910e-05f, 6.554413994e-05f, 6.526294937e-05f, 6.498166788e-05f, 6.470029596e-05f, 6.441883411e-05f, 6.413728281e-05f,
+6.385564257e-05f, 6.357391388e-05f, 6.329209722e-05f, 6.301019310e-05f, 6.272820202e-05f, 6.244612445e-05f, 6.216396091e-05f, 6.188171188e-05f, 6.159937786e-05f, 6.131695934e-05f,
+6.103445683e-05f, 6.075187080e-05f, 6.046920177e-05f, 6.018645022e-05f, 5.990361665e-05f, 5.962070156e-05f, 5.933770543e-05f, 5.905462878e-05f, 5.877147209e-05f, 5.848823585e-05f,
+5.820492058e-05f, 5.792152675e-05f, 5.763805487e-05f, 5.735450544e-05f, 5.707087894e-05f, 5.678717588e-05f, 5.650339676e-05f, 5.621954207e-05f, 5.593561230e-05f, 5.565160796e-05f,
+5.536752954e-05f, 5.508337754e-05f, 5.479915246e-05f, 5.451485478e-05f, 5.423048502e-05f, 5.394604367e-05f, 5.366153122e-05f, 5.337694817e-05f, 5.309229502e-05f, 5.280757228e-05f,
+5.252278043e-05f, 5.223791997e-05f, 5.195299141e-05f, 5.166799523e-05f, 5.138293195e-05f, 5.109780205e-05f, 5.081260604e-05f, 5.052734441e-05f, 5.024201766e-05f, 4.995662630e-05f,
+4.967117081e-05f, 4.938565170e-05f, 4.910006947e-05f, 4.881442462e-05f, 4.852871764e-05f, 4.824294903e-05f, 4.795711930e-05f, 4.767122894e-05f, 4.738527845e-05f, 4.709926833e-05f,
+4.681319908e-05f, 4.652707120e-05f, 4.624088519e-05f, 4.595464155e-05f, 4.566834077e-05f, 4.538198336e-05f, 4.509556982e-05f, 4.480910065e-05f, 4.452257634e-05f, 4.423599740e-05f,
+4.394936433e-05f, 4.366267762e-05f, 4.337593778e-05f, 4.308914531e-05f, 4.280230070e-05f, 4.251540446e-05f, 4.222845709e-05f, 4.194145908e-05f, 4.165441095e-05f, 4.136731318e-05f,
+4.108016628e-05f, 4.079297075e-05f, 4.050572708e-05f, 4.021843579e-05f, 3.993109737e-05f, 3.964371232e-05f, 3.935628115e-05f, 3.906880434e-05f, 3.878128242e-05f, 3.849371586e-05f,
+3.820610518e-05f, 3.791845088e-05f, 3.763075345e-05f, 3.734301340e-05f, 3.705523124e-05f, 3.676740745e-05f, 3.647954254e-05f, 3.619163702e-05f, 3.590369138e-05f, 3.561570612e-05f,
+3.532768175e-05f, 3.503961877e-05f, 3.475151767e-05f, 3.446337897e-05f, 3.417520315e-05f, 3.388699073e-05f, 3.359874220e-05f, 3.331045807e-05f, 3.302213884e-05f, 3.273378500e-05f,
+3.244539706e-05f, 3.215697552e-05f, 3.186852088e-05f, 3.158003365e-05f, 3.129151432e-05f, 3.100296340e-05f, 3.071438139e-05f, 3.042576879e-05f, 3.013712609e-05f, 2.984845382e-05f,
+2.955975245e-05f, 2.927102250e-05f, 2.898226447e-05f, 2.869347886e-05f, 2.840466617e-05f, 2.811582691e-05f, 2.782696157e-05f, 2.753807065e-05f, 2.724915466e-05f, 2.696021410e-05f,
+2.667124947e-05f, 2.638226128e-05f, 2.609325002e-05f, 2.580421619e-05f, 2.551516031e-05f, 2.522608286e-05f, 2.493698435e-05f, 2.464786529e-05f, 2.435872617e-05f, 2.406956749e-05f,
+2.378038977e-05f, 2.349119349e-05f, 2.320197917e-05f, 2.291274729e-05f, 2.262349837e-05f, 2.233423291e-05f, 2.204495141e-05f, 2.175565436e-05f, 2.146634228e-05f, 2.117701565e-05f,
+2.088767499e-05f, 2.059832080e-05f, 2.030895357e-05f, 2.001957381e-05f, 1.973018202e-05f, 1.944077871e-05f, 1.915136436e-05f, 1.886193949e-05f, 1.857250459e-05f, 1.828306018e-05f,
+1.799360674e-05f, 1.770414478e-05f, 1.741467480e-05f, 1.712519730e-05f, 1.683571279e-05f, 1.654622176e-05f, 1.625672472e-05f, 1.596722216e-05f, 1.567771460e-05f, 1.538820252e-05f,
+1.509868643e-05f, 1.480916684e-05f, 1.451964424e-05f, 1.423011913e-05f, 1.394059201e-05f, 1.365106340e-05f, 1.336153377e-05f, 1.307200365e-05f, 1.278247352e-05f, 1.249294390e-05f,
+1.220341527e-05f, 1.191388814e-05f, 1.162436301e-05f, 1.133484039e-05f, 1.104532077e-05f, 1.075580465e-05f, 1.046629253e-05f, 1.017678492e-05f, 9.887282308e-06f, 9.597785203e-06f,
+9.308294103e-06f, 9.018809507e-06f, 8.729331916e-06f, 8.439861831e-06f, 8.150399751e-06f, 7.860946176e-06f, 7.571501606e-06f, 7.282066541e-06f, 6.992641482e-06f, 6.703226927e-06f,
+6.413823376e-06f, 6.124431330e-06f, 5.835051288e-06f, 5.545683750e-06f, 5.256329214e-06f, 4.966988181e-06f, 4.677661150e-06f, 4.388348619e-06f, 4.099051090e-06f, 3.809769059e-06f,
+3.520503028e-06f, 3.231253495e-06f, 2.942020958e-06f, 2.652805917e-06f, 2.363608871e-06f, 2.074430318e-06f, 1.785270757e-06f, 1.496130687e-06f, 1.207010606e-06f, 9.179110137e-07f,
+6.288324073e-07f, 3.397752855e-07f, 5.074014661e-08f, -2.382725111e-07f, -5.272621896e-07f, -8.162283908e-07f, -1.105170617e-06f, -1.394088370e-06f, -1.682981151e-06f, -1.971848465e-06f,
+-2.260689812e-06f, -2.549504695e-06f, -2.838292616e-06f, -3.127053079e-06f, -3.415785586e-06f, -3.704489640e-06f, -3.993164744e-06f, -4.281810400e-06f, -4.570426111e-06f, -4.859011382e-06f,
+-5.147565715e-06f, -5.436088613e-06f, -5.724579579e-06f, -6.013038119e-06f, -6.301463734e-06f, -6.589855929e-06f, -6.878214207e-06f, -7.166538072e-06f, -7.454827029e-06f, -7.743080582e-06f,
+-8.031298234e-06f, -8.319479490e-06f, -8.607623855e-06f, -8.895730832e-06f, -9.183799927e-06f, -9.471830644e-06f, -9.759822488e-06f, -1.004777496e-05f, -1.033568758e-05f, -1.062355983e-05f,
+-1.091139123e-05f, -1.119918129e-05f, -1.148692950e-05f, -1.177463538e-05f, -1.206229843e-05f, -1.234991815e-05f, -1.263749405e-05f, -1.292502564e-05f, -1.321251242e-05f, -1.349995391e-05f,
+-1.378734959e-05f, -1.407469900e-05f, -1.436200162e-05f, -1.464925696e-05f, -1.493646454e-05f, -1.522362386e-05f, -1.551073442e-05f, -1.579779574e-05f, -1.608480732e-05f, -1.637176867e-05f,
+-1.665867930e-05f, -1.694553871e-05f, -1.723234641e-05f, -1.751910191e-05f, -1.780580472e-05f, -1.809245434e-05f, -1.837905029e-05f, -1.866559208e-05f, -1.895207920e-05f, -1.923851118e-05f,
+-1.952488751e-05f, -1.981120771e-05f, -2.009747130e-05f, -2.038367776e-05f, -2.066982663e-05f, -2.095591740e-05f, -2.124194958e-05f, -2.152792269e-05f, -2.181383624e-05f, -2.209968973e-05f,
+-2.238548268e-05f, -2.267121459e-05f, -2.295688498e-05f, -2.324249336e-05f, -2.352803923e-05f, -2.381352212e-05f, -2.409894152e-05f, -2.438429696e-05f, -2.466958794e-05f, -2.495481398e-05f,
+-2.523997458e-05f, -2.552506926e-05f, -2.581009753e-05f, -2.609505891e-05f, -2.637995290e-05f, -2.666477901e-05f, -2.694953677e-05f, -2.723422568e-05f, -2.751884526e-05f, -2.780339501e-05f,
+-2.808787446e-05f, -2.837228311e-05f, -2.865662049e-05f, -2.894088609e-05f, -2.922507945e-05f, -2.950920006e-05f, -2.979324745e-05f, -3.007722114e-05f, -3.036112062e-05f, -3.064494543e-05f,
+-3.092869507e-05f, -3.121236906e-05f, -3.149596691e-05f, -3.177948814e-05f, -3.206293227e-05f, -3.234629881e-05f, -3.262958728e-05f, -3.291279719e-05f, -3.319592807e-05f, -3.347897941e-05f,
+-3.376195076e-05f, -3.404484161e-05f, -3.432765149e-05f, -3.461037991e-05f, -3.489302639e-05f, -3.517559045e-05f, -3.545807161e-05f, -3.574046939e-05f, -3.602278329e-05f, -3.630501285e-05f,
+-3.658715757e-05f, -3.686921699e-05f, -3.715119061e-05f, -3.743307796e-05f, -3.771487855e-05f, -3.799659190e-05f, -3.827821754e-05f, -3.855975499e-05f, -3.884120375e-05f, -3.912256336e-05f,
+-3.940383334e-05f, -3.968501320e-05f, -3.996610246e-05f, -4.024710065e-05f, -4.052800729e-05f, -4.080882189e-05f, -4.108954399e-05f, -4.137017310e-05f, -4.165070874e-05f, -4.193115044e-05f,
+-4.221149771e-05f, -4.249175009e-05f, -4.277190708e-05f, -4.305196823e-05f, -4.333193304e-05f, -4.361180105e-05f, -4.389157177e-05f, -4.417124473e-05f, -4.445081946e-05f, -4.473029547e-05f,
+-4.500967229e-05f, -4.528894946e-05f, -4.556812648e-05f, -4.584720289e-05f, -4.612617821e-05f, -4.640505197e-05f, -4.668382368e-05f, -4.696249289e-05f, -4.724105911e-05f, -4.751952188e-05f,
+-4.779788071e-05f, -4.807613513e-05f, -4.835428467e-05f, -4.863232886e-05f, -4.891026723e-05f, -4.918809930e-05f, -4.946582460e-05f, -4.974344265e-05f, -5.002095300e-05f, -5.029835515e-05f,
+-5.057564866e-05f, -5.085283303e-05f, -5.112990780e-05f, -5.140687251e-05f, -5.168372668e-05f, -5.196046983e-05f, -5.223710151e-05f, -5.251362124e-05f, -5.279002855e-05f, -5.306632297e-05f,
+-5.334250403e-05f, -5.361857127e-05f, -5.389452421e-05f, -5.417036239e-05f, -5.444608533e-05f, -5.472169258e-05f, -5.499718366e-05f, -5.527255811e-05f, -5.554781545e-05f, -5.582295523e-05f,
+-5.609797697e-05f, -5.637288021e-05f, -5.664766448e-05f, -5.692232932e-05f, -5.719687426e-05f, -5.747129884e-05f, -5.774560258e-05f, -5.801978503e-05f, -5.829384572e-05f, -5.856778418e-05f,
+-5.884159996e-05f, -5.911529258e-05f, -5.938886159e-05f, -5.966230652e-05f, -5.993562690e-05f, -6.020882228e-05f, -6.048189219e-05f, -6.075483617e-05f, -6.102765375e-05f, -6.130034448e-05f,
+-6.157290789e-05f, -6.184534352e-05f, -6.211765091e-05f, -6.238982960e-05f, -6.266187913e-05f, -6.293379904e-05f, -6.320558887e-05f, -6.347724815e-05f, -6.374877643e-05f, -6.402017325e-05f,
+-6.429143815e-05f, -6.456257066e-05f, -6.483357035e-05f, -6.510443673e-05f, -6.537516936e-05f, -6.564576778e-05f, -6.591623153e-05f, -6.618656015e-05f, -6.645675319e-05f, -6.672681019e-05f,
+-6.699673069e-05f, -6.726651423e-05f, -6.753616037e-05f, -6.780566864e-05f, -6.807503860e-05f, -6.834426977e-05f, -6.861336172e-05f, -6.888231398e-05f, -6.915112610e-05f, -6.941979763e-05f,
+-6.968832812e-05f, -6.995671710e-05f, -7.022496413e-05f, -7.049306876e-05f, -7.076103052e-05f, -7.102884898e-05f, -7.129652367e-05f, -7.156405415e-05f, -7.183143996e-05f, -7.209868065e-05f,
+-7.236577578e-05f, -7.263272488e-05f, -7.289952752e-05f, -7.316618324e-05f, -7.343269159e-05f, -7.369905212e-05f, -7.396526438e-05f, -7.423132793e-05f, -7.449724231e-05f, -7.476300708e-05f,
+-7.502862179e-05f, -7.529408599e-05f, -7.555939924e-05f, -7.582456108e-05f, -7.608957107e-05f, -7.635442876e-05f, -7.661913371e-05f, -7.688368548e-05f, -7.714808361e-05f, -7.741232765e-05f,
+-7.767641718e-05f, -7.794035174e-05f, -7.820413088e-05f, -7.846775416e-05f, -7.873122115e-05f, -7.899453139e-05f, -7.925768444e-05f, -7.952067986e-05f, -7.978351720e-05f, -8.004619604e-05f,
+-8.030871591e-05f, -8.057107638e-05f, -8.083327702e-05f, -8.109531737e-05f, -8.135719700e-05f, -8.161891547e-05f, -8.188047233e-05f, -8.214186715e-05f, -8.240309950e-05f, -8.266416891e-05f,
+-8.292507497e-05f, -8.318581724e-05f, -8.344639526e-05f, -8.370680861e-05f, -8.396705685e-05f, -8.422713954e-05f, -8.448705625e-05f, -8.474680653e-05f, -8.500638995e-05f, -8.526580608e-05f,
+-8.552505448e-05f, -8.578413471e-05f, -8.604304634e-05f, -8.630178894e-05f, -8.656036206e-05f, -8.681876529e-05f, -8.707699817e-05f, -8.733506029e-05f, -8.759295120e-05f, -8.785067048e-05f,
+-8.810821769e-05f, -8.836559240e-05f, -8.862279417e-05f, -8.887982259e-05f, -8.913667720e-05f, -8.939335760e-05f, -8.964986333e-05f, -8.990619399e-05f, -9.016234912e-05f, -9.041832832e-05f,
+-9.067413114e-05f, -9.092975716e-05f, -9.118520594e-05f, -9.144047707e-05f, -9.169557012e-05f, -9.195048465e-05f, -9.220522024e-05f, -9.245977646e-05f, -9.271415289e-05f, -9.296834910e-05f,
+-9.322236467e-05f, -9.347619917e-05f, -9.372985217e-05f, -9.398332326e-05f, -9.423661200e-05f, -9.448971797e-05f, -9.474264076e-05f, -9.499537993e-05f, -9.524793506e-05f, -9.550030574e-05f,
+-9.575249153e-05f, -9.600449202e-05f, -9.625630679e-05f, -9.650793541e-05f, -9.675937747e-05f, -9.701063254e-05f, -9.726170021e-05f, -9.751258005e-05f, -9.776327164e-05f, -9.801377457e-05f,
+-9.826408842e-05f, -9.851421277e-05f, -9.876414720e-05f, -9.901389130e-05f, -9.926344464e-05f, -9.951280682e-05f, -9.976197741e-05f, -1.000109560e-04f, -1.002597422e-04f, -1.005083355e-04f,
+-1.007567356e-04f, -1.010049420e-04f, -1.012529544e-04f, -1.015007722e-04f, -1.017483952e-04f, -1.019958228e-04f, -1.022430548e-04f, -1.024900905e-04f, -1.027369297e-04f, -1.029835720e-04f,
+-1.032300169e-04f, -1.034762640e-04f, -1.037223129e-04f, -1.039681632e-04f, -1.042138144e-04f, -1.044592663e-04f, -1.047045183e-04f, -1.049495701e-04f, -1.051944212e-04f, -1.054390712e-04f,
+-1.056835198e-04f, -1.059277665e-04f, -1.061718110e-04f, -1.064156527e-04f, -1.066592914e-04f, -1.069027265e-04f, -1.071459578e-04f, -1.073889847e-04f, -1.076318070e-04f, -1.078744241e-04f,
+-1.081168357e-04f, -1.083590413e-04f, -1.086010407e-04f, -1.088428333e-04f, -1.090844188e-04f, -1.093257967e-04f, -1.095669668e-04f, -1.098079285e-04f, -1.100486814e-04f, -1.102892252e-04f,
+-1.105295595e-04f, -1.107696839e-04f, -1.110095979e-04f, -1.112493012e-04f, -1.114887933e-04f, -1.117280739e-04f, -1.119671426e-04f, -1.122059990e-04f, -1.124446427e-04f, -1.126830732e-04f,
+-1.129212903e-04f, -1.131592934e-04f, -1.133970823e-04f, -1.136346564e-04f, -1.138720155e-04f, -1.141091590e-04f, -1.143460867e-04f, -1.145827981e-04f, -1.148192929e-04f, -1.150555706e-04f,
+-1.152916309e-04f, -1.155274733e-04f, -1.157630975e-04f, -1.159985031e-04f, -1.162336897e-04f, -1.164686569e-04f, -1.167034043e-04f, -1.169379315e-04f, -1.171722382e-04f, -1.174063239e-04f,
+-1.176401883e-04f, -1.178738309e-04f, -1.181072515e-04f, -1.183404495e-04f, -1.185734246e-04f, -1.188061765e-04f, -1.190387047e-04f, -1.192710089e-04f, -1.195030887e-04f, -1.197349436e-04f,
+-1.199665734e-04f, -1.201979776e-04f, -1.204291558e-04f, -1.206601077e-04f, -1.208908328e-04f, -1.211213309e-04f, -1.213516015e-04f, -1.215816442e-04f, -1.218114587e-04f, -1.220410445e-04f,
+-1.222704013e-04f, -1.224995288e-04f, -1.227284265e-04f, -1.229570941e-04f, -1.231855311e-04f, -1.234137373e-04f, -1.236417122e-04f, -1.238694554e-04f, -1.240969666e-04f, -1.243242454e-04f,
+-1.245512915e-04f, -1.247781044e-04f, -1.250046838e-04f, -1.252310293e-04f, -1.254571405e-04f, -1.256830171e-04f, -1.259086587e-04f, -1.261340649e-04f, -1.263592353e-04f, -1.265841696e-04f,
+-1.268088674e-04f, -1.270333284e-04f, -1.272575521e-04f, -1.274815382e-04f, -1.277052863e-04f, -1.279287961e-04f, -1.281520672e-04f, -1.283750992e-04f, -1.285978917e-04f, -1.288204445e-04f,
+-1.290427570e-04f, -1.292648291e-04f, -1.294866602e-04f, -1.297082500e-04f, -1.299295982e-04f, -1.301507044e-04f, -1.303715682e-04f, -1.305921893e-04f, -1.308125673e-04f, -1.310327019e-04f,
+-1.312525926e-04f, -1.314722392e-04f, -1.316916412e-04f, -1.319107984e-04f, -1.321297103e-04f, -1.323483765e-04f, -1.325667968e-04f, -1.327849707e-04f, -1.330028980e-04f, -1.332205782e-04f,
+-1.334380110e-04f, -1.336551960e-04f, -1.338721330e-04f, -1.340888214e-04f, -1.343052610e-04f, -1.345214514e-04f, -1.347373923e-04f, -1.349530833e-04f, -1.351685240e-04f, -1.353837142e-04f,
+-1.355986534e-04f, -1.358133412e-04f, -1.360277775e-04f, -1.362419617e-04f, -1.364558935e-04f, -1.366695727e-04f, -1.368829988e-04f, -1.370961715e-04f, -1.373090904e-04f, -1.375217552e-04f,
+-1.377341656e-04f, -1.379463211e-04f, -1.381582215e-04f, -1.383698665e-04f, -1.385812555e-04f, -1.387923884e-04f, -1.390032648e-04f, -1.392138843e-04f, -1.394242465e-04f, -1.396343512e-04f,
+-1.398441980e-04f, -1.400537866e-04f, -1.402631165e-04f, -1.404721875e-04f, -1.406809993e-04f, -1.408895514e-04f, -1.410978436e-04f, -1.413058755e-04f, -1.415136467e-04f, -1.417211570e-04f,
+-1.419284059e-04f, -1.421353932e-04f, -1.423421185e-04f, -1.425485815e-04f, -1.427547818e-04f, -1.429607192e-04f, -1.431663931e-04f, -1.433718035e-04f, -1.435769498e-04f, -1.437818318e-04f,
+-1.439864491e-04f, -1.441908014e-04f, -1.443948883e-04f, -1.445987096e-04f, -1.448022649e-04f, -1.450055539e-04f, -1.452085762e-04f, -1.454113315e-04f, -1.456138195e-04f, -1.458160398e-04f,
+-1.460179922e-04f, -1.462196762e-04f, -1.464210916e-04f, -1.466222380e-04f, -1.468231152e-04f, -1.470237227e-04f, -1.472240603e-04f, -1.474241276e-04f, -1.476239243e-04f, -1.478234501e-04f,
+-1.480227047e-04f, -1.482216877e-04f, -1.484203988e-04f, -1.486188377e-04f, -1.488170040e-04f, -1.490148975e-04f, -1.492125179e-04f, -1.494098647e-04f, -1.496069377e-04f, -1.498037366e-04f,
+-1.500002610e-04f, -1.501965107e-04f, -1.503924853e-04f, -1.505881844e-04f, -1.507836079e-04f, -1.509787552e-04f, -1.511736263e-04f, -1.513682207e-04f, -1.515625380e-04f, -1.517565781e-04f,
+-1.519503406e-04f, -1.521438251e-04f, -1.523370314e-04f, -1.525299591e-04f, -1.527226080e-04f, -1.529149777e-04f, -1.531070679e-04f, -1.532988783e-04f, -1.534904086e-04f, -1.536816585e-04f,
+-1.538726276e-04f, -1.540633158e-04f, -1.542537225e-04f, -1.544438477e-04f, -1.546336908e-04f, -1.548232518e-04f, -1.550125301e-04f, -1.552015256e-04f, -1.553902379e-04f, -1.555786667e-04f,
+-1.557668117e-04f, -1.559546726e-04f, -1.561422491e-04f, -1.563295410e-04f, -1.565165478e-04f, -1.567032694e-04f, -1.568897053e-04f, -1.570758554e-04f, -1.572617192e-04f, -1.574472966e-04f,
+-1.576325872e-04f, -1.578175906e-04f, -1.580023067e-04f, -1.581867351e-04f, -1.583708755e-04f, -1.585547277e-04f, -1.587382912e-04f, -1.589215659e-04f, -1.591045514e-04f, -1.592872475e-04f,
+-1.594696538e-04f, -1.596517701e-04f, -1.598335960e-04f, -1.600151313e-04f, -1.601963757e-04f, -1.603773288e-04f, -1.605579905e-04f, -1.607383604e-04f, -1.609184382e-04f, -1.610982236e-04f,
+-1.612777164e-04f, -1.614569163e-04f, -1.616358229e-04f, -1.618144359e-04f, -1.619927552e-04f, -1.621707804e-04f, -1.623485113e-04f, -1.625259474e-04f, -1.627030886e-04f, -1.628799346e-04f,
+-1.630564851e-04f, -1.632327398e-04f, -1.634086985e-04f, -1.635843608e-04f, -1.637597264e-04f, -1.639347952e-04f, -1.641095667e-04f, -1.642840408e-04f, -1.644582171e-04f, -1.646320954e-04f,
+-1.648056754e-04f, -1.649789568e-04f, -1.651519393e-04f, -1.653246228e-04f, -1.654970068e-04f, -1.656690911e-04f, -1.658408755e-04f, -1.660123596e-04f, -1.661835432e-04f, -1.663544261e-04f,
+-1.665250079e-04f, -1.666952884e-04f, -1.668652673e-04f, -1.670349443e-04f, -1.672043192e-04f, -1.673733917e-04f, -1.675421615e-04f, -1.677106284e-04f, -1.678787921e-04f, -1.680466523e-04f,
+-1.682142088e-04f, -1.683814612e-04f, -1.685484094e-04f, -1.687150531e-04f, -1.688813920e-04f, -1.690474258e-04f, -1.692131542e-04f, -1.693785771e-04f, -1.695436941e-04f, -1.697085051e-04f,
+-1.698730096e-04f, -1.700372075e-04f, -1.702010985e-04f, -1.703646824e-04f, -1.705279588e-04f, -1.706909276e-04f, -1.708535884e-04f, -1.710159411e-04f, -1.711779853e-04f, -1.713397208e-04f,
+-1.715011474e-04f, -1.716622647e-04f, -1.718230726e-04f, -1.719835708e-04f, -1.721437590e-04f, -1.723036370e-04f, -1.724632045e-04f, -1.726224612e-04f, -1.727814070e-04f, -1.729400416e-04f,
+-1.730983647e-04f, -1.732563760e-04f, -1.734140754e-04f, -1.735714625e-04f, -1.737285372e-04f, -1.738852992e-04f, -1.740417482e-04f, -1.741978839e-04f, -1.743537063e-04f, -1.745092149e-04f,
+-1.746644095e-04f, -1.748192900e-04f, -1.749738560e-04f, -1.751281074e-04f, -1.752820438e-04f, -1.754356651e-04f, -1.755889710e-04f, -1.757419612e-04f, -1.758946355e-04f, -1.760469938e-04f,
+-1.761990356e-04f, -1.763507609e-04f, -1.765021693e-04f, -1.766532607e-04f, -1.768040347e-04f, -1.769544912e-04f, -1.771046299e-04f, -1.772544506e-04f, -1.774039530e-04f, -1.775531370e-04f,
+-1.777020022e-04f, -1.778505485e-04f, -1.779987757e-04f, -1.781466834e-04f, -1.782942714e-04f, -1.784415396e-04f, -1.785884877e-04f, -1.787351154e-04f, -1.788814226e-04f, -1.790274090e-04f,
+-1.791730744e-04f, -1.793184185e-04f, -1.794634412e-04f, -1.796081421e-04f, -1.797525212e-04f, -1.798965781e-04f, -1.800403126e-04f, -1.801837246e-04f, -1.803268137e-04f, -1.804695798e-04f,
+-1.806120226e-04f, -1.807541420e-04f, -1.808959377e-04f, -1.810374094e-04f, -1.811785570e-04f, -1.813193802e-04f, -1.814598789e-04f, -1.816000528e-04f, -1.817399016e-04f, -1.818794253e-04f,
+-1.820186235e-04f, -1.821574960e-04f, -1.822960427e-04f, -1.824342632e-04f, -1.825721575e-04f, -1.827097253e-04f, -1.828469663e-04f, -1.829838804e-04f, -1.831204674e-04f, -1.832567270e-04f,
+-1.833926590e-04f, -1.835282633e-04f, -1.836635395e-04f, -1.837984876e-04f, -1.839331072e-04f, -1.840673983e-04f, -1.842013605e-04f, -1.843349938e-04f, -1.844682977e-04f, -1.846012723e-04f,
+-1.847339172e-04f, -1.848662323e-04f, -1.849982173e-04f, -1.851298721e-04f, -1.852611965e-04f, -1.853921902e-04f, -1.855228530e-04f, -1.856531848e-04f, -1.857831854e-04f, -1.859128545e-04f,
+-1.860421919e-04f, -1.861711975e-04f, -1.862998711e-04f, -1.864282124e-04f, -1.865562214e-04f, -1.866838976e-04f, -1.868112411e-04f, -1.869382515e-04f, -1.870649287e-04f, -1.871912726e-04f,
+-1.873172828e-04f, -1.874429592e-04f, -1.875683017e-04f, -1.876933100e-04f, -1.878179839e-04f, -1.879423233e-04f, -1.880663279e-04f, -1.881899976e-04f, -1.883133322e-04f, -1.884363315e-04f,
+-1.885589954e-04f, -1.886813235e-04f, -1.888033158e-04f, -1.889249720e-04f, -1.890462920e-04f, -1.891672756e-04f, -1.892879226e-04f, -1.894082329e-04f, -1.895282062e-04f, -1.896478423e-04f,
+-1.897671411e-04f, -1.898861025e-04f, -1.900047261e-04f, -1.901230119e-04f, -1.902409596e-04f, -1.903585692e-04f, -1.904758403e-04f, -1.905927729e-04f, -1.907093668e-04f, -1.908256217e-04f,
+-1.909415376e-04f, -1.910571141e-04f, -1.911723513e-04f, -1.912872488e-04f, -1.914018066e-04f, -1.915160243e-04f, -1.916299020e-04f, -1.917434394e-04f, -1.918566363e-04f, -1.919694926e-04f,
+-1.920820081e-04f, -1.921941826e-04f, -1.923060159e-04f, -1.924175080e-04f, -1.925286586e-04f, -1.926394675e-04f, -1.927499347e-04f, -1.928600599e-04f, -1.929698430e-04f, -1.930792837e-04f,
+-1.931883821e-04f, -1.932971378e-04f, -1.934055507e-04f, -1.935136207e-04f, -1.936213476e-04f, -1.937287312e-04f, -1.938357714e-04f, -1.939424681e-04f, -1.940488210e-04f, -1.941548300e-04f,
+-1.942604950e-04f, -1.943658158e-04f, -1.944707922e-04f, -1.945754241e-04f, -1.946797114e-04f, -1.947836538e-04f, -1.948872513e-04f, -1.949905037e-04f, -1.950934107e-04f, -1.951959724e-04f,
+-1.952981884e-04f, -1.954000588e-04f, -1.955015833e-04f, -1.956027617e-04f, -1.957035940e-04f, -1.958040800e-04f, -1.959042195e-04f, -1.960040124e-04f, -1.961034585e-04f, -1.962025578e-04f,
+-1.963013099e-04f, -1.963997150e-04f, -1.964977726e-04f, -1.965954828e-04f, -1.966928454e-04f, -1.967898603e-04f, -1.968865272e-04f, -1.969828461e-04f, -1.970788168e-04f, -1.971744392e-04f,
+-1.972697132e-04f, -1.973646386e-04f, -1.974592152e-04f, -1.975534430e-04f, -1.976473218e-04f, -1.977408514e-04f, -1.978340318e-04f, -1.979268628e-04f, -1.980193443e-04f, -1.981114760e-04f,
+-1.982032580e-04f, -1.982946901e-04f, -1.983857721e-04f, -1.984765039e-04f, -1.985668854e-04f, -1.986569164e-04f, -1.987465968e-04f, -1.988359266e-04f, -1.989249055e-04f, -1.990135335e-04f,
+-1.991018104e-04f, -1.991897360e-04f, -1.992773104e-04f, -1.993645332e-04f, -1.994514045e-04f, -1.995379241e-04f, -1.996240919e-04f, -1.997099077e-04f, -1.997953715e-04f, -1.998804830e-04f,
+-1.999652423e-04f, -2.000496491e-04f, -2.001337034e-04f, -2.002174051e-04f, -2.003007539e-04f, -2.003837499e-04f, -2.004663928e-04f, -2.005486826e-04f, -2.006306192e-04f, -2.007122024e-04f,
+-2.007934321e-04f, -2.008743083e-04f, -2.009548308e-04f, -2.010349995e-04f, -2.011148142e-04f, -2.011942749e-04f, -2.012733815e-04f, -2.013521339e-04f, -2.014305319e-04f, -2.015085754e-04f,
+-2.015862644e-04f, -2.016635986e-04f, -2.017405782e-04f, -2.018172028e-04f, -2.018934724e-04f, -2.019693869e-04f, -2.020449463e-04f, -2.021201503e-04f, -2.021949990e-04f, -2.022694921e-04f,
+-2.023436296e-04f, -2.024174114e-04f, -2.024908374e-04f, -2.025639075e-04f, -2.026366217e-04f, -2.027089797e-04f, -2.027809815e-04f, -2.028526270e-04f, -2.029239161e-04f, -2.029948487e-04f,
+-2.030654248e-04f, -2.031356442e-04f, -2.032055068e-04f, -2.032750125e-04f, -2.033441613e-04f, -2.034129531e-04f, -2.034813877e-04f, -2.035494651e-04f, -2.036171852e-04f, -2.036845479e-04f,
+-2.037515530e-04f, -2.038182006e-04f, -2.038844906e-04f, -2.039504227e-04f, -2.040159971e-04f, -2.040812135e-04f, -2.041460719e-04f, -2.042105722e-04f, -2.042747143e-04f, -2.043384982e-04f,
+-2.044019237e-04f, -2.044649908e-04f, -2.045276994e-04f, -2.045900494e-04f, -2.046520408e-04f, -2.047136734e-04f, -2.047749471e-04f, -2.048358620e-04f, -2.048964179e-04f, -2.049566148e-04f,
+-2.050164525e-04f, -2.050759310e-04f, -2.051350502e-04f, -2.051938101e-04f, -2.052522105e-04f, -2.053102515e-04f, -2.053679328e-04f, -2.054252546e-04f, -2.054822166e-04f, -2.055388188e-04f,
+-2.055950612e-04f, -2.056509436e-04f, -2.057064661e-04f, -2.057616285e-04f, -2.058164307e-04f, -2.058708728e-04f, -2.059249546e-04f, -2.059786761e-04f, -2.060320372e-04f, -2.060850379e-04f,
+-2.061376780e-04f, -2.061899575e-04f, -2.062418764e-04f, -2.062934346e-04f, -2.063446321e-04f, -2.063954687e-04f, -2.064459444e-04f, -2.064960592e-04f, -2.065458130e-04f, -2.065952058e-04f,
+-2.066442374e-04f, -2.066929078e-04f, -2.067412170e-04f, -2.067891650e-04f, -2.068367516e-04f, -2.068839768e-04f, -2.069308405e-04f, -2.069773428e-04f, -2.070234835e-04f, -2.070692626e-04f,
+-2.071146801e-04f, -2.071597358e-04f, -2.072044298e-04f, -2.072487620e-04f, -2.072927324e-04f, -2.073363408e-04f, -2.073795874e-04f, -2.074224719e-04f, -2.074649944e-04f, -2.075071548e-04f,
+-2.075489531e-04f, -2.075903892e-04f, -2.076314631e-04f, -2.076721748e-04f, -2.077125241e-04f, -2.077525111e-04f, -2.077921358e-04f, -2.078313980e-04f, -2.078702978e-04f, -2.079088350e-04f,
+-2.079470098e-04f, -2.079848219e-04f, -2.080222715e-04f, -2.080593584e-04f, -2.080960826e-04f, -2.081324441e-04f, -2.081684429e-04f, -2.082040788e-04f, -2.082393520e-04f, -2.082742623e-04f,
+-2.083088097e-04f, -2.083429942e-04f, -2.083768158e-04f, -2.084102744e-04f, -2.084433700e-04f, -2.084761025e-04f, -2.085084720e-04f, -2.085404784e-04f, -2.085721217e-04f, -2.086034019e-04f,
+-2.086343189e-04f, -2.086648727e-04f, -2.086950633e-04f, -2.087248906e-04f, -2.087543547e-04f, -2.087834555e-04f, -2.088121930e-04f, -2.088405671e-04f, -2.088685780e-04f, -2.088962254e-04f,
+-2.089235095e-04f, -2.089504301e-04f, -2.089769874e-04f, -2.090031812e-04f, -2.090290115e-04f, -2.090544783e-04f, -2.090795817e-04f, -2.091043216e-04f, -2.091286979e-04f, -2.091527108e-04f,
+-2.091763600e-04f, -2.091996458e-04f, -2.092225679e-04f, -2.092451265e-04f, -2.092673214e-04f, -2.092891528e-04f, -2.093106206e-04f, -2.093317247e-04f, -2.093524653e-04f, -2.093728422e-04f,
+-2.093928554e-04f, -2.094125050e-04f, -2.094317910e-04f, -2.094507133e-04f, -2.094692719e-04f, -2.094874669e-04f, -2.095052982e-04f, -2.095227658e-04f, -2.095398698e-04f, -2.095566101e-04f,
+-2.095729867e-04f, -2.095889997e-04f, -2.096046490e-04f, -2.096199346e-04f, -2.096348565e-04f, -2.096494148e-04f, -2.096636094e-04f, -2.096774404e-04f, -2.096909077e-04f, -2.097040114e-04f,
+-2.097167514e-04f, -2.097291278e-04f, -2.097411406e-04f, -2.097527897e-04f, -2.097640752e-04f, -2.097749972e-04f, -2.097855555e-04f, -2.097957503e-04f, -2.098055815e-04f, -2.098150491e-04f,
+-2.098241532e-04f, -2.098328937e-04f, -2.098412707e-04f, -2.098492843e-04f, -2.098569343e-04f, -2.098642208e-04f, -2.098711439e-04f, -2.098777036e-04f, -2.098838998e-04f, -2.098897326e-04f,
+-2.098952020e-04f, -2.099003081e-04f, -2.099050508e-04f, -2.099094302e-04f, -2.099134462e-04f, -2.099170990e-04f, -2.099203885e-04f, -2.099233147e-04f, -2.099258778e-04f, -2.099280776e-04f,
+-2.099299143e-04f, -2.099313878e-04f, -2.099324982e-04f, -2.099332455e-04f, -2.099336298e-04f, -2.099336510e-04f, -2.099333092e-04f, -2.099326044e-04f, -2.099315367e-04f, -2.099301060e-04f,
+-2.099283125e-04f, -2.099261561e-04f, -2.099236369e-04f, -2.099207549e-04f, -2.099175101e-04f, -2.099139026e-04f, -2.099099324e-04f, -2.099055996e-04f, -2.099009041e-04f, -2.098958460e-04f,
+-2.098904255e-04f, -2.098846424e-04f, -2.098784968e-04f, -2.098719888e-04f, -2.098651184e-04f, -2.098578857e-04f, -2.098502907e-04f, -2.098423334e-04f, -2.098340138e-04f, -2.098253321e-04f,
+-2.098162883e-04f, -2.098068823e-04f, -2.097971143e-04f, -2.097869843e-04f, -2.097764924e-04f, -2.097656385e-04f, -2.097544228e-04f, -2.097428453e-04f, -2.097309060e-04f, -2.097186049e-04f,
+-2.097059422e-04f, -2.096929179e-04f, -2.096795320e-04f, -2.096657846e-04f, -2.096516758e-04f, -2.096372055e-04f, -2.096223739e-04f, -2.096071810e-04f, -2.095916268e-04f, -2.095757114e-04f,
+-2.095594349e-04f, -2.095427973e-04f, -2.095257987e-04f, -2.095084391e-04f, -2.094907186e-04f, -2.094726373e-04f, -2.094541952e-04f, -2.094353923e-04f, -2.094162288e-04f, -2.093967047e-04f,
+-2.093768200e-04f, -2.093565749e-04f, -2.093359693e-04f, -2.093150034e-04f, -2.092936772e-04f, -2.092719908e-04f, -2.092499442e-04f, -2.092275375e-04f, -2.092047708e-04f, -2.091816442e-04f,
+-2.091581576e-04f, -2.091343112e-04f, -2.091101051e-04f, -2.090855393e-04f, -2.090606139e-04f, -2.090353290e-04f, -2.090096846e-04f, -2.089836808e-04f, -2.089573177e-04f, -2.089305953e-04f,
+-2.089035138e-04f, -2.088760731e-04f, -2.088482735e-04f, -2.088201149e-04f, -2.087915974e-04f, -2.087627212e-04f, -2.087334862e-04f, -2.087038926e-04f, -2.086739404e-04f, -2.086436298e-04f,
+-2.086129608e-04f, -2.085819335e-04f, -2.085505479e-04f, -2.085188042e-04f, -2.084867025e-04f, -2.084542427e-04f, -2.084214251e-04f, -2.083882496e-04f, -2.083547164e-04f, -2.083208256e-04f,
+-2.082865772e-04f, -2.082519714e-04f, -2.082170082e-04f, -2.081816877e-04f, -2.081460100e-04f, -2.081099752e-04f, -2.080735834e-04f, -2.080368346e-04f, -2.079997290e-04f, -2.079622667e-04f,
+-2.079244477e-04f, -2.078862721e-04f, -2.078477401e-04f, -2.078088517e-04f, -2.077696071e-04f, -2.077300063e-04f, -2.076900493e-04f, -2.076497364e-04f, -2.076090677e-04f, -2.075680431e-04f,
+-2.075266628e-04f, -2.074849270e-04f, -2.074428356e-04f, -2.074003889e-04f, -2.073575869e-04f, -2.073144297e-04f, -2.072709174e-04f, -2.072270501e-04f, -2.071828280e-04f, -2.071382511e-04f,
+-2.070933195e-04f, -2.070480334e-04f, -2.070023928e-04f, -2.069563979e-04f, -2.069100487e-04f, -2.068633454e-04f, -2.068162880e-04f, -2.067688768e-04f, -2.067211117e-04f, -2.066729930e-04f,
+-2.066245207e-04f, -2.065756949e-04f, -2.065265157e-04f, -2.064769833e-04f, -2.064270978e-04f, -2.063768592e-04f, -2.063262677e-04f, -2.062753235e-04f, -2.062240266e-04f, -2.061723771e-04f,
+-2.061203752e-04f, -2.060680209e-04f, -2.060153145e-04f, -2.059622560e-04f, -2.059088455e-04f, -2.058550832e-04f, -2.058009691e-04f, -2.057465034e-04f, -2.056916863e-04f, -2.056365178e-04f,
+-2.055809981e-04f, -2.055251272e-04f, -2.054689054e-04f, -2.054123327e-04f, -2.053554093e-04f, -2.052981352e-04f, -2.052405107e-04f, -2.051825358e-04f, -2.051242107e-04f, -2.050655355e-04f,
+-2.050065103e-04f, -2.049471353e-04f, -2.048874105e-04f, -2.048273362e-04f, -2.047669124e-04f, -2.047061394e-04f, -2.046450171e-04f, -2.045835458e-04f, -2.045217255e-04f, -2.044595565e-04f,
+-2.043970388e-04f, -2.043341726e-04f, -2.042709581e-04f, -2.042073953e-04f, -2.041434844e-04f, -2.040792255e-04f, -2.040146188e-04f, -2.039496644e-04f, -2.038843625e-04f, -2.038187131e-04f,
+-2.037527165e-04f, -2.036863728e-04f, -2.036196821e-04f, -2.035526446e-04f, -2.034852603e-04f, -2.034175295e-04f, -2.033494523e-04f, -2.032810288e-04f, -2.032122592e-04f, -2.031431437e-04f,
+-2.030736823e-04f, -2.030038752e-04f, -2.029337226e-04f, -2.028632247e-04f, -2.027923815e-04f, -2.027211932e-04f, -2.026496600e-04f, -2.025777820e-04f, -2.025055593e-04f, -2.024329922e-04f,
+-2.023600808e-04f, -2.022868252e-04f, -2.022132256e-04f, -2.021392821e-04f, -2.020649949e-04f, -2.019903642e-04f, -2.019153900e-04f, -2.018400726e-04f, -2.017644122e-04f, -2.016884088e-04f,
+-2.016120626e-04f, -2.015353739e-04f, -2.014583427e-04f, -2.013809692e-04f, -2.013032535e-04f, -2.012251959e-04f, -2.011467966e-04f, -2.010680555e-04f, -2.009889730e-04f, -2.009095492e-04f,
+-2.008297842e-04f, -2.007496783e-04f, -2.006692315e-04f, -2.005884440e-04f, -2.005073161e-04f, -2.004258479e-04f, -2.003440395e-04f, -2.002618911e-04f, -2.001794029e-04f, -2.000965751e-04f,
+-2.000134078e-04f, -1.999299012e-04f, -1.998460554e-04f, -1.997618707e-04f, -1.996773472e-04f, -1.995924851e-04f, -1.995072845e-04f, -1.994217457e-04f, -1.993358688e-04f, -1.992496539e-04f,
+-1.991631013e-04f, -1.990762112e-04f, -1.989889836e-04f, -1.989014189e-04f, -1.988135171e-04f, -1.987252784e-04f, -1.986367031e-04f, -1.985477913e-04f, -1.984585431e-04f, -1.983689588e-04f,
+-1.982790386e-04f, -1.981887826e-04f, -1.980981910e-04f, -1.980072639e-04f, -1.979160017e-04f, -1.978244044e-04f, -1.977324723e-04f, -1.976402055e-04f, -1.975476042e-04f, -1.974546686e-04f,
+-1.973613990e-04f, -1.972677953e-04f, -1.971738580e-04f, -1.970795871e-04f, -1.969849828e-04f, -1.968900454e-04f, -1.967947750e-04f, -1.966991719e-04f, -1.966032361e-04f, -1.965069679e-04f,
+-1.964103675e-04f, -1.963134352e-04f, -1.962161709e-04f, -1.961185751e-04f, -1.960206478e-04f, -1.959223893e-04f, -1.958237998e-04f, -1.957248794e-04f, -1.956256283e-04f, -1.955260468e-04f,
+-1.954261351e-04f, -1.953258933e-04f, -1.952253217e-04f, -1.951244204e-04f, -1.950231896e-04f, -1.949216296e-04f, -1.948197406e-04f, -1.947175227e-04f, -1.946149761e-04f, -1.945121011e-04f,
+-1.944088979e-04f, -1.943053667e-04f, -1.942015076e-04f, -1.940973209e-04f, -1.939928067e-04f, -1.938879654e-04f, -1.937827971e-04f, -1.936773019e-04f, -1.935714802e-04f, -1.934653321e-04f,
+-1.933588579e-04f, -1.932520576e-04f, -1.931449317e-04f, -1.930374801e-04f, -1.929297033e-04f, -1.928216014e-04f, -1.927131745e-04f, -1.926044230e-04f, -1.924953469e-04f, -1.923859467e-04f,
+-1.922762223e-04f, -1.921661742e-04f, -1.920558024e-04f, -1.919451072e-04f, -1.918340889e-04f, -1.917227476e-04f, -1.916110835e-04f, -1.914990969e-04f, -1.913867880e-04f, -1.912741570e-04f,
+-1.911612042e-04f, -1.910479297e-04f, -1.909343337e-04f, -1.908204166e-04f, -1.907061785e-04f, -1.905916196e-04f, -1.904767402e-04f, -1.903615405e-04f, -1.902460207e-04f, -1.901301810e-04f,
+-1.900140217e-04f, -1.898975430e-04f, -1.897807451e-04f, -1.896636282e-04f, -1.895461926e-04f, -1.894284385e-04f, -1.893103662e-04f, -1.891919757e-04f, -1.890732675e-04f, -1.889542417e-04f,
+-1.888348986e-04f, -1.887152383e-04f, -1.885952611e-04f, -1.884749673e-04f, -1.883543571e-04f, -1.882334306e-04f, -1.881121882e-04f, -1.879906301e-04f, -1.878687565e-04f, -1.877465677e-04f,
+-1.876240638e-04f, -1.875012452e-04f, -1.873781120e-04f, -1.872546645e-04f, -1.871309030e-04f, -1.870068276e-04f, -1.868824387e-04f, -1.867577364e-04f, -1.866327210e-04f, -1.865073927e-04f,
+-1.863817518e-04f, -1.862557985e-04f, -1.861295331e-04f, -1.860029558e-04f, -1.858760668e-04f, -1.857488665e-04f, -1.856213549e-04f, -1.854935325e-04f, -1.853653994e-04f, -1.852369558e-04f,
+-1.851082021e-04f, -1.849791384e-04f, -1.848497651e-04f, -1.847200823e-04f, -1.845900903e-04f, -1.844597894e-04f, -1.843291798e-04f, -1.841982617e-04f, -1.840670355e-04f, -1.839355013e-04f,
+-1.838036595e-04f, -1.836715102e-04f, -1.835390537e-04f, -1.834062903e-04f, -1.832732202e-04f, -1.831398438e-04f, -1.830061611e-04f, -1.828721725e-04f, -1.827378783e-04f, -1.826032787e-04f,
+-1.824683740e-04f, -1.823331643e-04f, -1.821976501e-04f, -1.820618314e-04f, -1.819257087e-04f, -1.817892821e-04f, -1.816525520e-04f, -1.815155185e-04f, -1.813781819e-04f, -1.812405426e-04f,
+-1.811026006e-04f, -1.809643565e-04f, -1.808258103e-04f, -1.806869623e-04f, -1.805478128e-04f, -1.804083622e-04f, -1.802686105e-04f, -1.801285582e-04f, -1.799882054e-04f, -1.798475525e-04f,
+-1.797065997e-04f, -1.795653472e-04f, -1.794237954e-04f, -1.792819445e-04f, -1.791397948e-04f, -1.789973465e-04f, -1.788545999e-04f, -1.787115554e-04f, -1.785682130e-04f, -1.784245733e-04f,
+-1.782806363e-04f, -1.781364023e-04f, -1.779918718e-04f, -1.778470448e-04f, -1.777019218e-04f, -1.775565029e-04f, -1.774107884e-04f, -1.772647787e-04f, -1.771184739e-04f, -1.769718745e-04f,
+-1.768249806e-04f, -1.766777925e-04f, -1.765303105e-04f, -1.763825348e-04f, -1.762344659e-04f, -1.760861039e-04f, -1.759374491e-04f, -1.757885018e-04f, -1.756392622e-04f, -1.754897308e-04f,
+-1.753399076e-04f, -1.751897931e-04f, -1.750393875e-04f, -1.748886911e-04f, -1.747377042e-04f, -1.745864270e-04f, -1.744348599e-04f, -1.742830031e-04f, -1.741308569e-04f, -1.739784216e-04f,
+-1.738256975e-04f, -1.736726848e-04f, -1.735193839e-04f, -1.733657951e-04f, -1.732119186e-04f, -1.730577547e-04f, -1.729033037e-04f, -1.727485660e-04f, -1.725935417e-04f, -1.724382312e-04f,
+-1.722826348e-04f, -1.721267528e-04f, -1.719705854e-04f, -1.718141329e-04f, -1.716573958e-04f, -1.715003741e-04f, -1.713430683e-04f, -1.711854786e-04f, -1.710276053e-04f, -1.708694488e-04f,
+-1.707110092e-04f, -1.705522870e-04f, -1.703932824e-04f, -1.702339956e-04f, -1.700744271e-04f, -1.699145771e-04f, -1.697544459e-04f, -1.695940338e-04f, -1.694333410e-04f, -1.692723680e-04f,
+-1.691111150e-04f, -1.689495822e-04f, -1.687877701e-04f, -1.686256789e-04f, -1.684633088e-04f, -1.683006603e-04f, -1.681377336e-04f, -1.679745290e-04f, -1.678110468e-04f, -1.676472873e-04f,
+-1.674832509e-04f, -1.673189378e-04f, -1.671543484e-04f, -1.669894828e-04f, -1.668243416e-04f, -1.666589249e-04f, -1.664932331e-04f, -1.663272664e-04f, -1.661610252e-04f, -1.659945099e-04f,
+-1.658277206e-04f, -1.656606577e-04f, -1.654933216e-04f, -1.653257125e-04f, -1.651578308e-04f, -1.649896767e-04f, -1.648212506e-04f, -1.646525527e-04f, -1.644835835e-04f, -1.643143432e-04f,
+-1.641448321e-04f, -1.639750505e-04f, -1.638049988e-04f, -1.636346773e-04f, -1.634640862e-04f, -1.632932260e-04f, -1.631220969e-04f, -1.629506992e-04f, -1.627790332e-04f, -1.626070994e-04f,
+-1.624348979e-04f, -1.622624291e-04f, -1.620896934e-04f, -1.619166910e-04f, -1.617434223e-04f, -1.615698876e-04f, -1.613960872e-04f, -1.612220214e-04f, -1.610476905e-04f, -1.608730950e-04f,
+-1.606982350e-04f, -1.605231110e-04f, -1.603477232e-04f, -1.601720720e-04f, -1.599961577e-04f, -1.598199806e-04f, -1.596435410e-04f, -1.594668394e-04f, -1.592898759e-04f, -1.591126509e-04f,
+-1.589351648e-04f, -1.587574179e-04f, -1.585794105e-04f, -1.584011429e-04f, -1.582226155e-04f, -1.580438286e-04f, -1.578647825e-04f, -1.576854775e-04f, -1.575059141e-04f, -1.573260924e-04f,
+-1.571460129e-04f, -1.569656759e-04f, -1.567850817e-04f, -1.566042307e-04f, -1.564231231e-04f, -1.562417593e-04f, -1.560601397e-04f, -1.558782645e-04f, -1.556961342e-04f, -1.555137490e-04f,
+-1.553311093e-04f, -1.551482154e-04f, -1.549650677e-04f, -1.547816665e-04f, -1.545980121e-04f, -1.544141048e-04f, -1.542299451e-04f, -1.540455332e-04f, -1.538608695e-04f, -1.536759543e-04f,
+-1.534907880e-04f, -1.533053709e-04f, -1.531197033e-04f, -1.529337856e-04f, -1.527476182e-04f, -1.525612013e-04f, -1.523745353e-04f, -1.521876206e-04f, -1.520004574e-04f, -1.518130462e-04f,
+-1.516253873e-04f, -1.514374810e-04f, -1.512493277e-04f, -1.510609277e-04f, -1.508722813e-04f, -1.506833890e-04f, -1.504942510e-04f, -1.503048677e-04f, -1.501152395e-04f, -1.499253666e-04f,
+-1.497352495e-04f, -1.495448885e-04f, -1.493542839e-04f, -1.491634361e-04f, -1.489723455e-04f, -1.487810123e-04f, -1.485894370e-04f, -1.483976198e-04f, -1.482055612e-04f, -1.480132615e-04f,
+-1.478207210e-04f, -1.476279401e-04f, -1.474349191e-04f, -1.472416585e-04f, -1.470481585e-04f, -1.468544195e-04f, -1.466604418e-04f, -1.464662259e-04f, -1.462717720e-04f, -1.460770806e-04f,
+-1.458821519e-04f, -1.456869864e-04f, -1.454915843e-04f, -1.452959461e-04f, -1.451000721e-04f, -1.449039627e-04f, -1.447076182e-04f, -1.445110390e-04f, -1.443142254e-04f, -1.441171778e-04f,
+-1.439198965e-04f, -1.437223820e-04f, -1.435246345e-04f, -1.433266545e-04f, -1.431284422e-04f, -1.429299981e-04f, -1.427313226e-04f, -1.425324159e-04f, -1.423332784e-04f, -1.421339106e-04f,
+-1.419343127e-04f, -1.417344851e-04f, -1.415344283e-04f, -1.413341425e-04f, -1.411336281e-04f, -1.409328855e-04f, -1.407319151e-04f, -1.405307172e-04f, -1.403292922e-04f, -1.401276404e-04f,
+-1.399257622e-04f, -1.397236580e-04f, -1.395213282e-04f, -1.393187731e-04f, -1.391159931e-04f, -1.389129885e-04f, -1.387097598e-04f, -1.385063073e-04f, -1.383026313e-04f, -1.380987322e-04f,
+-1.378946105e-04f, -1.376902664e-04f, -1.374857004e-04f, -1.372809128e-04f, -1.370759040e-04f, -1.368706743e-04f, -1.366652242e-04f, -1.364595540e-04f, -1.362536641e-04f, -1.360475548e-04f,
+-1.358412265e-04f, -1.356346797e-04f, -1.354279146e-04f, -1.352209316e-04f, -1.350137312e-04f, -1.348063137e-04f, -1.345986795e-04f, -1.343908289e-04f, -1.341827624e-04f, -1.339744802e-04f,
+-1.337659829e-04f, -1.335572707e-04f, -1.333483440e-04f, -1.331392033e-04f, -1.329298488e-04f, -1.327202811e-04f, -1.325105004e-04f, -1.323005071e-04f, -1.320903016e-04f, -1.318798843e-04f,
+-1.316692556e-04f, -1.314584159e-04f, -1.312473655e-04f, -1.310361048e-04f, -1.308246342e-04f, -1.306129541e-04f, -1.304010649e-04f, -1.301889669e-04f, -1.299766606e-04f, -1.297641462e-04f,
+-1.295514243e-04f, -1.293384951e-04f, -1.291253592e-04f, -1.289120167e-04f, -1.286984682e-04f, -1.284847141e-04f, -1.282707546e-04f, -1.280565903e-04f, -1.278422214e-04f, -1.276276484e-04f,
+-1.274128717e-04f, -1.271978916e-04f, -1.269827085e-04f, -1.267673229e-04f, -1.265517350e-04f, -1.263359454e-04f, -1.261199544e-04f, -1.259037623e-04f, -1.256873696e-04f, -1.254707767e-04f,
+-1.252539839e-04f, -1.250369916e-04f, -1.248198003e-04f, -1.246024103e-04f, -1.243848220e-04f, -1.241670359e-04f, -1.239490522e-04f, -1.237308714e-04f, -1.235124939e-04f, -1.232939200e-04f,
+-1.230751503e-04f, -1.228561850e-04f, -1.226370245e-04f, -1.224176694e-04f, -1.221981198e-04f, -1.219783763e-04f, -1.217584393e-04f, -1.215383090e-04f, -1.213179860e-04f, -1.210974707e-04f,
+-1.208767633e-04f, -1.206558644e-04f, -1.204347743e-04f, -1.202134934e-04f, -1.199920221e-04f, -1.197703608e-04f, -1.195485099e-04f, -1.193264699e-04f, -1.191042410e-04f, -1.188818238e-04f,
+-1.186592185e-04f, -1.184364257e-04f, -1.182134456e-04f, -1.179902788e-04f, -1.177669256e-04f, -1.175433864e-04f, -1.173196616e-04f, -1.170957516e-04f, -1.168716568e-04f, -1.166473776e-04f,
+-1.164229145e-04f, -1.161982677e-04f, -1.159734378e-04f, -1.157484251e-04f, -1.155232301e-04f, -1.152978531e-04f, -1.150722945e-04f, -1.148465547e-04f, -1.146206342e-04f, -1.143945334e-04f,
+-1.141682526e-04f, -1.139417923e-04f, -1.137151528e-04f, -1.134883347e-04f, -1.132613382e-04f, -1.130341637e-04f, -1.128068118e-04f, -1.125792828e-04f, -1.123515771e-04f, -1.121236951e-04f,
+-1.118956373e-04f, -1.116674040e-04f, -1.114389956e-04f, -1.112104125e-04f, -1.109816553e-04f, -1.107527242e-04f, -1.105236197e-04f, -1.102943421e-04f, -1.100648920e-04f, -1.098352697e-04f,
+-1.096054756e-04f, -1.093755101e-04f, -1.091453737e-04f, -1.089150668e-04f, -1.086845897e-04f, -1.084539429e-04f, -1.082231267e-04f, -1.079921417e-04f, -1.077609882e-04f, -1.075296666e-04f,
+-1.072981774e-04f, -1.070665209e-04f, -1.068346976e-04f, -1.066027079e-04f, -1.063705522e-04f, -1.061382309e-04f, -1.059057445e-04f, -1.056730932e-04f, -1.054402777e-04f, -1.052072982e-04f,
+-1.049741552e-04f, -1.047408491e-04f, -1.045073803e-04f, -1.042737493e-04f, -1.040399564e-04f, -1.038060021e-04f, -1.035718868e-04f, -1.033376110e-04f, -1.031031749e-04f, -1.028685791e-04f,
+-1.026338239e-04f, -1.023989099e-04f, -1.021638373e-04f, -1.019286067e-04f, -1.016932184e-04f, -1.014576728e-04f, -1.012219705e-04f, -1.009861117e-04f, -1.007500969e-04f, -1.005139266e-04f,
+-1.002776012e-04f, -1.000411211e-04f, -9.980448660e-05f, -9.956769827e-05f, -9.933075649e-05f, -9.909366168e-05f, -9.885641426e-05f, -9.861901466e-05f, -9.838146329e-05f, -9.814376058e-05f,
+-9.790590695e-05f, -9.766790283e-05f, -9.742974864e-05f, -9.719144480e-05f, -9.695299174e-05f, -9.671438988e-05f, -9.647563964e-05f, -9.623674146e-05f, -9.599769575e-05f, -9.575850294e-05f,
+-9.551916346e-05f, -9.527967773e-05f, -9.504004618e-05f, -9.480026923e-05f, -9.456034731e-05f, -9.432028084e-05f, -9.408007026e-05f, -9.383971599e-05f, -9.359921845e-05f, -9.335857808e-05f,
+-9.311779530e-05f, -9.287687053e-05f, -9.263580422e-05f, -9.239459678e-05f, -9.215324864e-05f, -9.191176024e-05f, -9.167013200e-05f, -9.142836434e-05f, -9.118645771e-05f, -9.094441252e-05f,
+-9.070222921e-05f, -9.045990821e-05f, -9.021744995e-05f, -8.997485486e-05f, -8.973212336e-05f, -8.948925590e-05f, -8.924625289e-05f, -8.900311478e-05f, -8.875984198e-05f, -8.851643494e-05f,
+-8.827289409e-05f, -8.802921985e-05f, -8.778541266e-05f, -8.754147296e-05f, -8.729740117e-05f, -8.705319772e-05f, -8.680886305e-05f, -8.656439760e-05f, -8.631980179e-05f, -8.607507606e-05f,
+-8.583022084e-05f, -8.558523657e-05f, -8.534012367e-05f, -8.509488260e-05f, -8.484951377e-05f, -8.460401762e-05f, -8.435839459e-05f, -8.411264511e-05f, -8.386676962e-05f, -8.362076856e-05f,
+-8.337464235e-05f, -8.312839143e-05f, -8.288201625e-05f, -8.263551723e-05f, -8.238889481e-05f, -8.214214943e-05f, -8.189528153e-05f, -8.164829153e-05f, -8.140117989e-05f, -8.115394703e-05f,
+-8.090659339e-05f, -8.065911941e-05f, -8.041152553e-05f, -8.016381218e-05f, -7.991597981e-05f, -7.966802885e-05f, -7.941995973e-05f, -7.917177291e-05f, -7.892346881e-05f, -7.867504788e-05f,
+-7.842651055e-05f, -7.817785726e-05f, -7.792908845e-05f, -7.768020457e-05f, -7.743120605e-05f, -7.718209333e-05f, -7.693286685e-05f, -7.668352705e-05f, -7.643407438e-05f, -7.618450926e-05f,
+-7.593483215e-05f, -7.568504348e-05f, -7.543514369e-05f, -7.518513323e-05f, -7.493501253e-05f, -7.468478204e-05f, -7.443444221e-05f, -7.418399346e-05f, -7.393343624e-05f, -7.368277100e-05f,
+-7.343199817e-05f, -7.318111820e-05f, -7.293013154e-05f, -7.267903861e-05f, -7.242783988e-05f, -7.217653577e-05f, -7.192512674e-05f, -7.167361322e-05f, -7.142199566e-05f, -7.117027450e-05f,
+-7.091845018e-05f, -7.066652316e-05f, -7.041449387e-05f, -7.016236275e-05f, -6.991013026e-05f, -6.965779684e-05f, -6.940536292e-05f, -6.915282896e-05f, -6.890019540e-05f, -6.864746268e-05f,
+-6.839463125e-05f, -6.814170156e-05f, -6.788867404e-05f, -6.763554915e-05f, -6.738232733e-05f, -6.712900903e-05f, -6.687559469e-05f, -6.662208476e-05f, -6.636847968e-05f, -6.611477990e-05f,
+-6.586098587e-05f, -6.560709803e-05f, -6.535311683e-05f, -6.509904271e-05f, -6.484487613e-05f, -6.459061753e-05f, -6.433626736e-05f, -6.408182606e-05f, -6.382729408e-05f, -6.357267187e-05f,
+-6.331795987e-05f, -6.306315854e-05f, -6.280826833e-05f, -6.255328967e-05f, -6.229822302e-05f, -6.204306882e-05f, -6.178782753e-05f, -6.153249960e-05f, -6.127708546e-05f, -6.102158557e-05f,
+-6.076600038e-05f, -6.051033034e-05f, -6.025457590e-05f, -5.999873750e-05f, -5.974281559e-05f, -5.948681063e-05f, -5.923072306e-05f, -5.897455333e-05f, -5.871830189e-05f, -5.846196920e-05f,
+-5.820555570e-05f, -5.794906184e-05f, -5.769248807e-05f, -5.743583484e-05f, -5.717910260e-05f, -5.692229181e-05f, -5.666540291e-05f, -5.640843635e-05f, -5.615139258e-05f, -5.589427206e-05f,
+-5.563707524e-05f, -5.537980256e-05f, -5.512245447e-05f, -5.486503144e-05f, -5.460753390e-05f, -5.434996232e-05f, -5.409231713e-05f, -5.383459880e-05f, -5.357680778e-05f, -5.331894451e-05f,
+-5.306100945e-05f, -5.280300305e-05f, -5.254492576e-05f, -5.228677804e-05f, -5.202856033e-05f, -5.177027309e-05f, -5.151191677e-05f, -5.125349182e-05f, -5.099499870e-05f, -5.073643785e-05f,
+-5.047780974e-05f, -5.021911481e-05f, -4.996035352e-05f, -4.970152631e-05f, -4.944263364e-05f, -4.918367597e-05f, -4.892465375e-05f, -4.866556743e-05f, -4.840641746e-05f, -4.814720430e-05f,
+-4.788792840e-05f, -4.762859021e-05f, -4.736919019e-05f, -4.710972879e-05f, -4.685020647e-05f, -4.659062367e-05f, -4.633098085e-05f, -4.607127848e-05f, -4.581151699e-05f, -4.555169684e-05f,
+-4.529181850e-05f, -4.503188240e-05f, -4.477188901e-05f, -4.451183878e-05f, -4.425173217e-05f, -4.399156963e-05f, -4.373135160e-05f, -4.347107856e-05f, -4.321075095e-05f, -4.295036922e-05f,
+-4.268993384e-05f, -4.242944526e-05f, -4.216890392e-05f, -4.190831029e-05f, -4.164766482e-05f, -4.138696797e-05f, -4.112622019e-05f, -4.086542193e-05f, -4.060457366e-05f, -4.034367582e-05f,
+-4.008272887e-05f, -3.982173327e-05f, -3.956068947e-05f, -3.929959793e-05f, -3.903845910e-05f, -3.877727344e-05f, -3.851604140e-05f, -3.825476344e-05f, -3.799344001e-05f, -3.773207158e-05f,
+-3.747065859e-05f, -3.720920150e-05f, -3.694770077e-05f, -3.668615685e-05f, -3.642457020e-05f, -3.616294128e-05f, -3.590127053e-05f, -3.563955842e-05f, -3.537780541e-05f, -3.511601194e-05f,
+-3.485417847e-05f, -3.459230547e-05f, -3.433039338e-05f, -3.406844267e-05f, -3.380645378e-05f, -3.354442718e-05f, -3.328236332e-05f, -3.302026265e-05f, -3.275812564e-05f, -3.249595274e-05f,
+-3.223374441e-05f, -3.197150110e-05f, -3.170922327e-05f, -3.144691137e-05f, -3.118456586e-05f, -3.092218720e-05f, -3.065977585e-05f, -3.039733226e-05f, -3.013485688e-05f, -2.987235018e-05f,
+-2.960981261e-05f, -2.934724462e-05f, -2.908464668e-05f, -2.882201924e-05f, -2.855936276e-05f, -2.829667769e-05f, -2.803396449e-05f, -2.777122361e-05f, -2.750845552e-05f, -2.724566067e-05f,
+-2.698283952e-05f, -2.671999252e-05f, -2.645712013e-05f, -2.619422280e-05f, -2.593130100e-05f, -2.566835518e-05f, -2.540538579e-05f, -2.514239330e-05f, -2.487937816e-05f, -2.461634083e-05f,
+-2.435328176e-05f, -2.409020141e-05f, -2.382710023e-05f, -2.356397869e-05f, -2.330083725e-05f, -2.303767634e-05f, -2.277449645e-05f, -2.251129801e-05f, -2.224808149e-05f, -2.198484734e-05f,
+-2.172159603e-05f, -2.145832800e-05f, -2.119504372e-05f, -2.093174363e-05f, -2.066842821e-05f, -2.040509790e-05f, -2.014175316e-05f, -1.987839445e-05f, -1.961502222e-05f, -1.935163693e-05f,
+-1.908823904e-05f, -1.882482900e-05f, -1.856140728e-05f, -1.829797432e-05f, -1.803453058e-05f, -1.777107653e-05f, -1.750761261e-05f, -1.724413928e-05f, -1.698065701e-05f, -1.671716623e-05f,
+-1.645366743e-05f, -1.619016104e-05f, -1.592664752e-05f, -1.566312734e-05f, -1.539960095e-05f, -1.513606880e-05f, -1.487253135e-05f, -1.460898905e-05f, -1.434544237e-05f, -1.408189176e-05f,
+-1.381833768e-05f, -1.355478057e-05f, -1.329122091e-05f, -1.302765913e-05f, -1.276409571e-05f, -1.250053109e-05f, -1.223696574e-05f, -1.197340010e-05f, -1.170983463e-05f, -1.144626980e-05f,
+-1.118270604e-05f, -1.091914383e-05f, -1.065558362e-05f, -1.039202586e-05f, -1.012847101e-05f, -9.864919520e-06f, -9.601371850e-06f, -9.337828455e-06f, -9.074289791e-06f, -8.810756313e-06f,
+-8.547228475e-06f, -8.283706735e-06f, -8.020191546e-06f, -7.756683365e-06f, -7.493182645e-06f, -7.229689844e-06f, -6.966205415e-06f, -6.702729814e-06f, -6.439263496e-06f, -6.175806916e-06f,
+-5.912360528e-06f, -5.648924788e-06f, -5.385500151e-06f, -5.122087070e-06f, -4.858686002e-06f, -4.595297400e-06f, -4.331921719e-06f, -4.068559413e-06f, -3.805210938e-06f, -3.541876747e-06f,
+-3.278557296e-06f, -3.015253037e-06f, -2.751964426e-06f, -2.488691916e-06f, -2.225435961e-06f, -1.962197017e-06f, -1.698975536e-06f, -1.435771973e-06f, -1.172586781e-06f, -9.094204137e-07f,
+-6.462733257e-07f, -3.831459700e-07f, -1.200388005e-07f, 1.430477296e-07f, 4.061131668e-07f, 6.691570577e-07f, 9.321789490e-07f, 1.195178388e-06f, 1.458154920e-06f, 1.721108094e-06f,
+1.984037456e-06f, 2.246942553e-06f, 2.509822933e-06f, 2.772678142e-06f, 3.035507729e-06f, 3.298311239e-06f, 3.561088222e-06f, 3.823838224e-06f, 4.086560794e-06f, 4.349255478e-06f,
+4.611921825e-06f, 4.874559383e-06f, 5.137167700e-06f, 5.399746323e-06f, 5.662294801e-06f, 5.924812683e-06f, 6.187299516e-06f, 6.449754849e-06f, 6.712178231e-06f, 6.974569210e-06f,
+7.236927335e-06f, 7.499252155e-06f, 7.761543218e-06f, 8.023800074e-06f, 8.286022271e-06f, 8.548209360e-06f, 8.810360889e-06f, 9.072476407e-06f, 9.334555465e-06f, 9.596597611e-06f,
+9.858602395e-06f, 1.012056937e-05f, 1.038249808e-05f, 1.064438808e-05f, 1.090623891e-05f, 1.116805014e-05f, 1.142982130e-05f, 1.169155195e-05f, 1.195324165e-05f, 1.221488993e-05f,
+1.247649635e-05f, 1.273806046e-05f, 1.299958182e-05f, 1.326105997e-05f, 1.352249447e-05f, 1.378388486e-05f, 1.404523070e-05f, 1.430653153e-05f, 1.456778692e-05f, 1.482899641e-05f,
+1.509015955e-05f, 1.535127590e-05f, 1.561234501e-05f, 1.587336643e-05f, 1.613433971e-05f, 1.639526440e-05f, 1.665614007e-05f, 1.691696625e-05f, 1.717774251e-05f, 1.743846839e-05f,
+1.769914345e-05f, 1.795976724e-05f, 1.822033932e-05f, 1.848085923e-05f, 1.874132654e-05f, 1.900174080e-05f, 1.926210155e-05f, 1.952240836e-05f, 1.978266077e-05f, 2.004285835e-05f,
+2.030300064e-05f, 2.056308720e-05f, 2.082311759e-05f, 2.108309136e-05f, 2.134300806e-05f, 2.160286725e-05f, 2.186266848e-05f, 2.212241132e-05f, 2.238209531e-05f, 2.264172001e-05f,
+2.290128498e-05f, 2.316078977e-05f, 2.342023393e-05f, 2.367961703e-05f, 2.393893862e-05f, 2.419819826e-05f, 2.445739550e-05f, 2.471652990e-05f, 2.497560102e-05f, 2.523460841e-05f,
+2.549355162e-05f, 2.575243023e-05f, 2.601124378e-05f, 2.626999184e-05f, 2.652867395e-05f, 2.678728968e-05f, 2.704583859e-05f, 2.730432023e-05f, 2.756273416e-05f, 2.782107995e-05f,
+2.807935714e-05f, 2.833756530e-05f, 2.859570399e-05f, 2.885377276e-05f, 2.911177118e-05f, 2.936969880e-05f, 2.962755518e-05f, 2.988533989e-05f, 3.014305248e-05f, 3.040069252e-05f,
+3.065825955e-05f, 3.091575315e-05f, 3.117317288e-05f, 3.143051829e-05f, 3.168778894e-05f, 3.194498440e-05f, 3.220210423e-05f, 3.245914798e-05f, 3.271611523e-05f, 3.297300552e-05f,
+3.322981843e-05f, 3.348655352e-05f, 3.374321034e-05f, 3.399978846e-05f, 3.425628745e-05f, 3.451270686e-05f, 3.476904625e-05f, 3.502530520e-05f, 3.528148326e-05f, 3.553757999e-05f,
+3.579359497e-05f, 3.604952775e-05f, 3.630537790e-05f, 3.656114498e-05f, 3.681682856e-05f, 3.707242819e-05f, 3.732794346e-05f, 3.758337391e-05f, 3.783871911e-05f, 3.809397864e-05f,
+3.834915205e-05f, 3.860423891e-05f, 3.885923879e-05f, 3.911415125e-05f, 3.936897585e-05f, 3.962371217e-05f, 3.987835978e-05f, 4.013291822e-05f, 4.038738709e-05f, 4.064176593e-05f,
+4.089605432e-05f, 4.115025183e-05f, 4.140435802e-05f, 4.165837246e-05f, 4.191229471e-05f, 4.216612436e-05f, 4.241986096e-05f, 4.267350408e-05f, 4.292705330e-05f, 4.318050817e-05f,
+4.343386828e-05f, 4.368713318e-05f, 4.394030246e-05f, 4.419337567e-05f, 4.444635239e-05f, 4.469923219e-05f, 4.495201464e-05f, 4.520469931e-05f, 4.545728576e-05f, 4.570977358e-05f,
+4.596216233e-05f, 4.621445159e-05f, 4.646664091e-05f, 4.671872989e-05f, 4.697071808e-05f, 4.722260506e-05f, 4.747439041e-05f, 4.772607369e-05f, 4.797765448e-05f, 4.822913235e-05f,
+4.848050688e-05f, 4.873177763e-05f, 4.898294419e-05f, 4.923400612e-05f, 4.948496300e-05f, 4.973581440e-05f, 4.998655990e-05f, 5.023719907e-05f, 5.048773149e-05f, 5.073815674e-05f,
+5.098847438e-05f, 5.123868399e-05f, 5.148878516e-05f, 5.173877745e-05f, 5.198866044e-05f, 5.223843371e-05f, 5.248809684e-05f, 5.273764939e-05f, 5.298709096e-05f, 5.323642111e-05f,
+5.348563942e-05f, 5.373474548e-05f, 5.398373886e-05f, 5.423261913e-05f, 5.448138588e-05f, 5.473003869e-05f, 5.497857713e-05f, 5.522700078e-05f, 5.547530922e-05f, 5.572350204e-05f,
+5.597157881e-05f, 5.621953911e-05f, 5.646738253e-05f, 5.671510864e-05f, 5.696271702e-05f, 5.721020725e-05f, 5.745757893e-05f, 5.770483162e-05f, 5.795196491e-05f, 5.819897838e-05f,
+5.844587162e-05f, 5.869264420e-05f, 5.893929571e-05f, 5.918582574e-05f, 5.943223386e-05f, 5.967851965e-05f, 5.992468272e-05f, 6.017072262e-05f, 6.041663896e-05f, 6.066243131e-05f,
+6.090809927e-05f, 6.115364240e-05f, 6.139906031e-05f, 6.164435257e-05f, 6.188951878e-05f, 6.213455851e-05f, 6.237947135e-05f, 6.262425690e-05f, 6.286891473e-05f, 6.311344443e-05f,
+6.335784560e-05f, 6.360211781e-05f, 6.384626066e-05f, 6.409027373e-05f, 6.433415661e-05f, 6.457790890e-05f, 6.482153017e-05f, 6.506502002e-05f, 6.530837804e-05f, 6.555160382e-05f,
+6.579469694e-05f, 6.603765700e-05f, 6.628048359e-05f, 6.652317630e-05f, 6.676573471e-05f, 6.700815842e-05f, 6.725044703e-05f, 6.749260011e-05f, 6.773461728e-05f, 6.797649810e-05f,
+6.821824219e-05f, 6.845984913e-05f, 6.870131852e-05f, 6.894264994e-05f, 6.918384299e-05f, 6.942489727e-05f, 6.966581237e-05f, 6.990658789e-05f, 7.014722341e-05f, 7.038771853e-05f,
+7.062807286e-05f, 7.086828598e-05f, 7.110835748e-05f, 7.134828698e-05f, 7.158807405e-05f, 7.182771831e-05f, 7.206721934e-05f, 7.230657674e-05f, 7.254579011e-05f, 7.278485905e-05f,
+7.302378315e-05f, 7.326256202e-05f, 7.350119525e-05f, 7.373968245e-05f, 7.397802320e-05f, 7.421621711e-05f, 7.445426378e-05f, 7.469216281e-05f, 7.492991380e-05f, 7.516751635e-05f,
+7.540497006e-05f, 7.564227453e-05f, 7.587942936e-05f, 7.611643416e-05f, 7.635328853e-05f, 7.658999206e-05f, 7.682654437e-05f, 7.706294505e-05f, 7.729919371e-05f, 7.753528995e-05f,
+7.777123337e-05f, 7.800702359e-05f, 7.824266019e-05f, 7.847814280e-05f, 7.871347100e-05f, 7.894864442e-05f, 7.918366265e-05f, 7.941852529e-05f, 7.965323197e-05f, 7.988778227e-05f,
+8.012217581e-05f, 8.035641220e-05f, 8.059049104e-05f, 8.082441194e-05f, 8.105817451e-05f, 8.129177835e-05f, 8.152522309e-05f, 8.175850831e-05f, 8.199163364e-05f, 8.222459868e-05f,
+8.245740304e-05f, 8.269004633e-05f, 8.292252817e-05f, 8.315484816e-05f, 8.338700592e-05f, 8.361900105e-05f, 8.385083317e-05f, 8.408250189e-05f, 8.431400681e-05f, 8.454534757e-05f,
+8.477652376e-05f, 8.500753500e-05f, 8.523838091e-05f, 8.546906109e-05f, 8.569957516e-05f, 8.592992274e-05f, 8.616010344e-05f, 8.639011688e-05f, 8.661996267e-05f, 8.684964043e-05f,
+8.707914977e-05f, 8.730849031e-05f, 8.753766167e-05f, 8.776666346e-05f, 8.799549530e-05f, 8.822415681e-05f, 8.845264760e-05f, 8.868096731e-05f, 8.890911553e-05f, 8.913709190e-05f,
+8.936489603e-05f, 8.959252754e-05f, 8.981998605e-05f, 9.004727119e-05f, 9.027438256e-05f, 9.050131981e-05f, 9.072808253e-05f, 9.095467036e-05f, 9.118108292e-05f, 9.140731984e-05f,
+9.163338072e-05f, 9.185926520e-05f, 9.208497290e-05f, 9.231050344e-05f, 9.253585645e-05f, 9.276103156e-05f, 9.298602838e-05f, 9.321084654e-05f, 9.343548566e-05f, 9.365994538e-05f,
+9.388422532e-05f, 9.410832510e-05f, 9.433224435e-05f, 9.455598270e-05f, 9.477953977e-05f, 9.500291520e-05f, 9.522610861e-05f, 9.544911963e-05f, 9.567194789e-05f, 9.589459302e-05f,
+9.611705464e-05f, 9.633933239e-05f, 9.656142589e-05f, 9.678333479e-05f, 9.700505870e-05f, 9.722659726e-05f, 9.744795010e-05f, 9.766911686e-05f, 9.789009716e-05f, 9.811089064e-05f,
+9.833149693e-05f, 9.855191566e-05f, 9.877214647e-05f, 9.899218899e-05f, 9.921204286e-05f, 9.943170770e-05f, 9.965118317e-05f, 9.987046888e-05f, 1.000895645e-04f, 1.003084696e-04f,
+1.005271839e-04f, 1.007457070e-04f, 1.009640385e-04f, 1.011821781e-04f, 1.014001254e-04f, 1.016178800e-04f, 1.018354416e-04f, 1.020528099e-04f, 1.022699844e-04f, 1.024869648e-04f,
+1.027037508e-04f, 1.029203419e-04f, 1.031367379e-04f, 1.033529383e-04f, 1.035689429e-04f, 1.037847512e-04f, 1.040003629e-04f, 1.042157776e-04f, 1.044309950e-04f, 1.046460147e-04f,
+1.048608364e-04f, 1.050754597e-04f, 1.052898843e-04f, 1.055041097e-04f, 1.057181357e-04f, 1.059319619e-04f, 1.061455880e-04f, 1.063590135e-04f, 1.065722381e-04f, 1.067852615e-04f,
+1.069980834e-04f, 1.072107033e-04f, 1.074231209e-04f, 1.076353359e-04f, 1.078473479e-04f, 1.080591566e-04f, 1.082707616e-04f, 1.084821626e-04f, 1.086933591e-04f, 1.089043510e-04f,
+1.091151378e-04f, 1.093257191e-04f, 1.095360947e-04f, 1.097462641e-04f, 1.099562271e-04f, 1.101659832e-04f, 1.103755322e-04f, 1.105848737e-04f, 1.107940073e-04f, 1.110029328e-04f,
+1.112116496e-04f, 1.114201576e-04f, 1.116284564e-04f, 1.118365456e-04f, 1.120444248e-04f, 1.122520938e-04f, 1.124595522e-04f, 1.126667996e-04f, 1.128738358e-04f, 1.130806603e-04f,
+1.132872728e-04f, 1.134936730e-04f, 1.136998606e-04f, 1.139058352e-04f, 1.141115964e-04f, 1.143171440e-04f, 1.145224776e-04f, 1.147275968e-04f, 1.149325013e-04f, 1.151371908e-04f,
+1.153416650e-04f, 1.155459234e-04f, 1.157499659e-04f, 1.159537919e-04f, 1.161574013e-04f, 1.163607936e-04f, 1.165639685e-04f, 1.167669257e-04f, 1.169696649e-04f, 1.171721857e-04f,
+1.173744878e-04f, 1.175765709e-04f, 1.177784346e-04f, 1.179800785e-04f, 1.181815025e-04f, 1.183827061e-04f, 1.185836890e-04f, 1.187844508e-04f, 1.189849913e-04f, 1.191853101e-04f,
+1.193854069e-04f, 1.195852814e-04f, 1.197849332e-04f, 1.199843620e-04f, 1.201835674e-04f, 1.203825492e-04f, 1.205813071e-04f, 1.207798406e-04f, 1.209781495e-04f, 1.211762334e-04f,
+1.213740921e-04f, 1.215717251e-04f, 1.217691322e-04f, 1.219663131e-04f, 1.221632674e-04f, 1.223599948e-04f, 1.225564949e-04f, 1.227527676e-04f, 1.229488123e-04f, 1.231446289e-04f,
+1.233402170e-04f, 1.235355762e-04f, 1.237307063e-04f, 1.239256070e-04f, 1.241202778e-04f, 1.243147186e-04f, 1.245089289e-04f, 1.247029085e-04f, 1.248966571e-04f, 1.250901742e-04f,
+1.252834597e-04f, 1.254765132e-04f, 1.256693344e-04f, 1.258619229e-04f, 1.260542785e-04f, 1.262464008e-04f, 1.264382895e-04f, 1.266299444e-04f, 1.268213650e-04f, 1.270125511e-04f,
+1.272035024e-04f, 1.273942186e-04f, 1.275846993e-04f, 1.277749442e-04f, 1.279649531e-04f, 1.281547256e-04f, 1.283442614e-04f, 1.285335602e-04f, 1.287226217e-04f, 1.289114456e-04f,
+1.291000315e-04f, 1.292883793e-04f, 1.294764884e-04f, 1.296643588e-04f, 1.298519900e-04f, 1.300393817e-04f, 1.302265337e-04f, 1.304134456e-04f, 1.306001171e-04f, 1.307865480e-04f,
+1.309727379e-04f, 1.311586865e-04f, 1.313443935e-04f, 1.315298586e-04f, 1.317150816e-04f, 1.319000620e-04f, 1.320847997e-04f, 1.322692943e-04f, 1.324535455e-04f, 1.326375530e-04f,
+1.328213165e-04f, 1.330048357e-04f, 1.331881104e-04f, 1.333711401e-04f, 1.335539247e-04f, 1.337364639e-04f, 1.339187572e-04f, 1.341008045e-04f, 1.342826054e-04f, 1.344641597e-04f,
+1.346454670e-04f, 1.348265271e-04f, 1.350073396e-04f, 1.351879043e-04f, 1.353682209e-04f, 1.355482890e-04f, 1.357281085e-04f, 1.359076789e-04f, 1.360870001e-04f, 1.362660717e-04f,
+1.364448934e-04f, 1.366234649e-04f, 1.368017860e-04f, 1.369798564e-04f, 1.371576757e-04f, 1.373352438e-04f, 1.375125602e-04f, 1.376896247e-04f, 1.378664371e-04f, 1.380429970e-04f,
+1.382193042e-04f, 1.383953583e-04f, 1.385711591e-04f, 1.387467063e-04f, 1.389219997e-04f, 1.390970389e-04f, 1.392718236e-04f, 1.394463536e-04f, 1.396206286e-04f, 1.397946483e-04f,
+1.399684124e-04f, 1.401419207e-04f, 1.403151729e-04f, 1.404881686e-04f, 1.406609076e-04f, 1.408333897e-04f, 1.410056145e-04f, 1.411775819e-04f, 1.413492914e-04f, 1.415207428e-04f,
+1.416919359e-04f, 1.418628703e-04f, 1.420335459e-04f, 1.422039622e-04f, 1.423741191e-04f, 1.425440163e-04f, 1.427136535e-04f, 1.428830304e-04f, 1.430521468e-04f, 1.432210023e-04f,
+1.433895968e-04f, 1.435579299e-04f, 1.437260014e-04f, 1.438938110e-04f, 1.440613584e-04f, 1.442286434e-04f, 1.443956656e-04f, 1.445624249e-04f, 1.447289210e-04f, 1.448951535e-04f,
+1.450611223e-04f, 1.452268270e-04f, 1.453922674e-04f, 1.455574433e-04f, 1.457223543e-04f, 1.458870002e-04f, 1.460513808e-04f, 1.462154957e-04f, 1.463793447e-04f, 1.465429276e-04f,
+1.467062440e-04f, 1.468692938e-04f, 1.470320767e-04f, 1.471945923e-04f, 1.473568405e-04f, 1.475188210e-04f, 1.476805335e-04f, 1.478419778e-04f, 1.480031536e-04f, 1.481640606e-04f,
+1.483246987e-04f, 1.484850674e-04f, 1.486451667e-04f, 1.488049961e-04f, 1.489645556e-04f, 1.491238448e-04f, 1.492828634e-04f, 1.494416112e-04f, 1.496000880e-04f, 1.497582935e-04f,
+1.499162275e-04f, 1.500738896e-04f, 1.502312797e-04f, 1.503883975e-04f, 1.505452428e-04f, 1.507018152e-04f, 1.508581146e-04f, 1.510141407e-04f, 1.511698932e-04f, 1.513253720e-04f,
+1.514805767e-04f, 1.516355071e-04f, 1.517901630e-04f, 1.519445441e-04f, 1.520986502e-04f, 1.522524810e-04f, 1.524060363e-04f, 1.525593159e-04f, 1.527123194e-04f, 1.528650467e-04f,
+1.530174975e-04f, 1.531696716e-04f, 1.533215687e-04f, 1.534731886e-04f, 1.536245311e-04f, 1.537755959e-04f, 1.539263827e-04f, 1.540768914e-04f, 1.542271216e-04f, 1.543770732e-04f,
+1.545267460e-04f, 1.546761396e-04f, 1.548252539e-04f, 1.549740886e-04f, 1.551226434e-04f, 1.552709182e-04f, 1.554189127e-04f, 1.555666267e-04f, 1.557140599e-04f, 1.558612121e-04f,
+1.560080831e-04f, 1.561546727e-04f, 1.563009805e-04f, 1.564470065e-04f, 1.565927503e-04f, 1.567382117e-04f, 1.568833905e-04f, 1.570282864e-04f, 1.571728993e-04f, 1.573172290e-04f,
+1.574612750e-04f, 1.576050374e-04f, 1.577485158e-04f, 1.578917099e-04f, 1.580346197e-04f, 1.581772448e-04f, 1.583195851e-04f, 1.584616402e-04f, 1.586034100e-04f, 1.587448943e-04f,
+1.588860928e-04f, 1.590270054e-04f, 1.591676317e-04f, 1.593079716e-04f, 1.594480249e-04f, 1.595877913e-04f, 1.597272706e-04f, 1.598664627e-04f, 1.600053672e-04f, 1.601439839e-04f,
+1.602823127e-04f, 1.604203534e-04f, 1.605581056e-04f, 1.606955693e-04f, 1.608327441e-04f, 1.609696299e-04f, 1.611062265e-04f, 1.612425336e-04f, 1.613785511e-04f, 1.615142786e-04f,
+1.616497161e-04f, 1.617848632e-04f, 1.619197199e-04f, 1.620542858e-04f, 1.621885608e-04f, 1.623225446e-04f, 1.624562371e-04f, 1.625896380e-04f, 1.627227472e-04f, 1.628555644e-04f,
+1.629880894e-04f, 1.631203220e-04f, 1.632522620e-04f, 1.633839092e-04f, 1.635152634e-04f, 1.636463244e-04f, 1.637770920e-04f, 1.639075660e-04f, 1.640377462e-04f, 1.641676323e-04f,
+1.642972242e-04f, 1.644265218e-04f, 1.645555247e-04f, 1.646842327e-04f, 1.648126458e-04f, 1.649407636e-04f, 1.650685861e-04f, 1.651961129e-04f, 1.653233439e-04f, 1.654502789e-04f,
+1.655769177e-04f, 1.657032601e-04f, 1.658293059e-04f, 1.659550549e-04f, 1.660805069e-04f, 1.662056618e-04f, 1.663305193e-04f, 1.664550792e-04f, 1.665793414e-04f, 1.667033057e-04f,
+1.668269718e-04f, 1.669503396e-04f, 1.670734088e-04f, 1.671961794e-04f, 1.673186511e-04f, 1.674408237e-04f, 1.675626971e-04f, 1.676842709e-04f, 1.678055452e-04f, 1.679265196e-04f,
+1.680471940e-04f, 1.681675682e-04f, 1.682876421e-04f, 1.684074154e-04f, 1.685268879e-04f, 1.686460595e-04f, 1.687649300e-04f, 1.688834992e-04f, 1.690017669e-04f, 1.691197329e-04f,
+1.692373972e-04f, 1.693547594e-04f, 1.694718194e-04f, 1.695885771e-04f, 1.697050322e-04f, 1.698211845e-04f, 1.699370340e-04f, 1.700525804e-04f, 1.701678235e-04f, 1.702827632e-04f,
+1.703973993e-04f, 1.705117316e-04f, 1.706257600e-04f, 1.707394842e-04f, 1.708529042e-04f, 1.709660196e-04f, 1.710788305e-04f, 1.711913365e-04f, 1.713035375e-04f, 1.714154334e-04f,
+1.715270239e-04f, 1.716383090e-04f, 1.717492884e-04f, 1.718599620e-04f, 1.719703295e-04f, 1.720803910e-04f, 1.721901461e-04f, 1.722995947e-04f, 1.724087366e-04f, 1.725175717e-04f,
+1.726260999e-04f, 1.727343209e-04f, 1.728422345e-04f, 1.729498407e-04f, 1.730571393e-04f, 1.731641301e-04f, 1.732708129e-04f, 1.733771876e-04f, 1.734832540e-04f, 1.735890120e-04f,
+1.736944614e-04f, 1.737996021e-04f, 1.739044338e-04f, 1.740089565e-04f, 1.741131699e-04f, 1.742170740e-04f, 1.743206685e-04f, 1.744239534e-04f, 1.745269284e-04f, 1.746295934e-04f,
+1.747319483e-04f, 1.748339929e-04f, 1.749357270e-04f, 1.750371505e-04f, 1.751382633e-04f, 1.752390651e-04f, 1.753395559e-04f, 1.754397356e-04f, 1.755396038e-04f, 1.756391606e-04f,
+1.757384057e-04f, 1.758373390e-04f, 1.759359604e-04f, 1.760342697e-04f, 1.761322668e-04f, 1.762299515e-04f, 1.763273236e-04f, 1.764243832e-04f, 1.765211299e-04f, 1.766175636e-04f,
+1.767136843e-04f, 1.768094917e-04f, 1.769049858e-04f, 1.770001664e-04f, 1.770950333e-04f, 1.771895864e-04f, 1.772838256e-04f, 1.773777507e-04f, 1.774713616e-04f, 1.775646582e-04f,
+1.776576403e-04f, 1.777503078e-04f, 1.778426605e-04f, 1.779346984e-04f, 1.780264212e-04f, 1.781178289e-04f, 1.782089213e-04f, 1.782996983e-04f, 1.783901598e-04f, 1.784803055e-04f,
+1.785701355e-04f, 1.786596495e-04f, 1.787488474e-04f, 1.788377292e-04f, 1.789262946e-04f, 1.790145435e-04f, 1.791024759e-04f, 1.791900916e-04f, 1.792773904e-04f, 1.793643722e-04f,
+1.794510370e-04f, 1.795373846e-04f, 1.796234148e-04f, 1.797091276e-04f, 1.797945228e-04f, 1.798796003e-04f, 1.799643599e-04f, 1.800488016e-04f, 1.801329252e-04f, 1.802167307e-04f,
+1.803002178e-04f, 1.803833865e-04f, 1.804662367e-04f, 1.805487682e-04f, 1.806309809e-04f, 1.807128748e-04f, 1.807944496e-04f, 1.808757052e-04f, 1.809566417e-04f, 1.810372587e-04f,
+1.811175563e-04f, 1.811975343e-04f, 1.812771927e-04f, 1.813565312e-04f, 1.814355497e-04f, 1.815142483e-04f, 1.815926267e-04f, 1.816706848e-04f, 1.817484226e-04f, 1.818258399e-04f,
+1.819029366e-04f, 1.819797126e-04f, 1.820561678e-04f, 1.821323021e-04f, 1.822081154e-04f, 1.822836076e-04f, 1.823587786e-04f, 1.824336283e-04f, 1.825081565e-04f, 1.825823632e-04f,
+1.826562482e-04f, 1.827298115e-04f, 1.828030530e-04f, 1.828759725e-04f, 1.829485700e-04f, 1.830208453e-04f, 1.830927984e-04f, 1.831644292e-04f, 1.832357375e-04f, 1.833067233e-04f,
+1.833773865e-04f, 1.834477269e-04f, 1.835177445e-04f, 1.835874392e-04f, 1.836568109e-04f, 1.837258595e-04f, 1.837945849e-04f, 1.838629869e-04f, 1.839310656e-04f, 1.839988208e-04f,
+1.840662524e-04f, 1.841333604e-04f, 1.842001446e-04f, 1.842666050e-04f, 1.843327414e-04f, 1.843985538e-04f, 1.844640422e-04f, 1.845292063e-04f, 1.845940461e-04f, 1.846585616e-04f,
+1.847227526e-04f, 1.847866191e-04f, 1.848501609e-04f, 1.849133780e-04f, 1.849762704e-04f, 1.850388379e-04f, 1.851010804e-04f, 1.851629979e-04f, 1.852245902e-04f, 1.852858574e-04f,
+1.853467992e-04f, 1.854074158e-04f, 1.854677068e-04f, 1.855276724e-04f, 1.855873123e-04f, 1.856466266e-04f, 1.857056152e-04f, 1.857642779e-04f, 1.858226147e-04f, 1.858806256e-04f,
+1.859383103e-04f, 1.859956690e-04f, 1.860527015e-04f, 1.861094077e-04f, 1.861657875e-04f, 1.862218410e-04f, 1.862775679e-04f, 1.863329684e-04f, 1.863880421e-04f, 1.864427892e-04f,
+1.864972095e-04f, 1.865513030e-04f, 1.866050696e-04f, 1.866585093e-04f, 1.867116219e-04f, 1.867644074e-04f, 1.868168657e-04f, 1.868689969e-04f, 1.869208007e-04f, 1.869722772e-04f,
+1.870234262e-04f, 1.870742478e-04f, 1.871247418e-04f, 1.871749083e-04f, 1.872247470e-04f, 1.872742581e-04f, 1.873234413e-04f, 1.873722968e-04f, 1.874208243e-04f, 1.874690238e-04f,
+1.875168954e-04f, 1.875644389e-04f, 1.876116542e-04f, 1.876585414e-04f, 1.877051003e-04f, 1.877513309e-04f, 1.877972332e-04f, 1.878428071e-04f, 1.878880525e-04f, 1.879329695e-04f,
+1.879775578e-04f, 1.880218176e-04f, 1.880657487e-04f, 1.881093511e-04f, 1.881526248e-04f, 1.881955696e-04f, 1.882381856e-04f, 1.882804727e-04f, 1.883224308e-04f, 1.883640600e-04f,
+1.884053601e-04f, 1.884463311e-04f, 1.884869730e-04f, 1.885272857e-04f, 1.885672692e-04f, 1.886069235e-04f, 1.886462484e-04f, 1.886852440e-04f, 1.887239102e-04f, 1.887622470e-04f,
+1.888002543e-04f, 1.888379322e-04f, 1.888752804e-04f, 1.889122991e-04f, 1.889489882e-04f, 1.889853476e-04f, 1.890213773e-04f, 1.890570773e-04f, 1.890924475e-04f, 1.891274880e-04f,
+1.891621985e-04f, 1.891965793e-04f, 1.892306301e-04f, 1.892643510e-04f, 1.892977419e-04f, 1.893308028e-04f, 1.893635337e-04f, 1.893959345e-04f, 1.894280053e-04f, 1.894597459e-04f,
+1.894911564e-04f, 1.895222367e-04f, 1.895529868e-04f, 1.895834067e-04f, 1.896134963e-04f, 1.896432556e-04f, 1.896726847e-04f, 1.897017834e-04f, 1.897305517e-04f, 1.897589897e-04f,
+1.897870973e-04f, 1.898148744e-04f, 1.898423211e-04f, 1.898694374e-04f, 1.898962231e-04f, 1.899226784e-04f, 1.899488031e-04f, 1.899745973e-04f, 1.900000609e-04f, 1.900251939e-04f,
+1.900499964e-04f, 1.900744682e-04f, 1.900986094e-04f, 1.901224200e-04f, 1.901458999e-04f, 1.901690491e-04f, 1.901918676e-04f, 1.902143554e-04f, 1.902365126e-04f, 1.902583389e-04f,
+1.902798346e-04f, 1.903009995e-04f, 1.903218336e-04f, 1.903423370e-04f, 1.903625096e-04f, 1.903823515e-04f, 1.904018625e-04f, 1.904210427e-04f, 1.904398921e-04f, 1.904584107e-04f,
+1.904765985e-04f, 1.904944555e-04f, 1.905119816e-04f, 1.905291769e-04f, 1.905460414e-04f, 1.905625750e-04f, 1.905787778e-04f, 1.905946497e-04f, 1.906101908e-04f, 1.906254011e-04f,
+1.906402805e-04f, 1.906548291e-04f, 1.906690468e-04f, 1.906829337e-04f, 1.906964897e-04f, 1.907097150e-04f, 1.907226093e-04f, 1.907351729e-04f, 1.907474056e-04f, 1.907593075e-04f,
+1.907708786e-04f, 1.907821189e-04f, 1.907930284e-04f, 1.908036072e-04f, 1.908138551e-04f, 1.908237722e-04f, 1.908333586e-04f, 1.908426143e-04f, 1.908515391e-04f, 1.908601333e-04f,
+1.908683967e-04f, 1.908763295e-04f, 1.908839315e-04f, 1.908912028e-04f, 1.908981435e-04f, 1.909047535e-04f, 1.909110329e-04f, 1.909169816e-04f, 1.909225998e-04f, 1.909278873e-04f,
+1.909328443e-04f, 1.909374707e-04f, 1.909417666e-04f, 1.909457319e-04f, 1.909493668e-04f, 1.909526712e-04f, 1.909556451e-04f, 1.909582885e-04f, 1.909606016e-04f, 1.909625843e-04f,
+1.909642366e-04f, 1.909655585e-04f, 1.909665501e-04f, 1.909672114e-04f, 1.909675425e-04f, 1.909675433e-04f, 1.909672138e-04f, 1.909665542e-04f, 1.909655644e-04f, 1.909642445e-04f,
+1.909625945e-04f, 1.909606143e-04f, 1.909583042e-04f, 1.909556640e-04f, 1.909526938e-04f, 1.909493936e-04f, 1.909457635e-04f, 1.909418036e-04f, 1.909375137e-04f, 1.909328941e-04f,
+1.909279446e-04f, 1.909226654e-04f, 1.909170565e-04f, 1.909111179e-04f, 1.909048496e-04f, 1.908982517e-04f, 1.908913242e-04f, 1.908840672e-04f, 1.908764807e-04f, 1.908685648e-04f,
+1.908603194e-04f, 1.908517447e-04f, 1.908428406e-04f, 1.908336072e-04f, 1.908240445e-04f, 1.908141527e-04f, 1.908039317e-04f, 1.907933815e-04f, 1.907825023e-04f, 1.907712940e-04f,
+1.907597568e-04f, 1.907478906e-04f, 1.907356955e-04f, 1.907231716e-04f, 1.907103189e-04f, 1.906971374e-04f, 1.906836272e-04f, 1.906697884e-04f, 1.906556209e-04f, 1.906411249e-04f,
+1.906263004e-04f, 1.906111475e-04f, 1.905956662e-04f, 1.905798565e-04f, 1.905637185e-04f, 1.905472523e-04f, 1.905304579e-04f, 1.905133354e-04f, 1.904958848e-04f, 1.904781062e-04f,
+1.904599997e-04f, 1.904415652e-04f, 1.904228029e-04f, 1.904037128e-04f, 1.903842950e-04f, 1.903645496e-04f, 1.903444765e-04f, 1.903240759e-04f, 1.903033478e-04f, 1.902822923e-04f,
+1.902609094e-04f, 1.902391993e-04f, 1.902171619e-04f, 1.901947973e-04f, 1.901721057e-04f, 1.901490870e-04f, 1.901257413e-04f, 1.901020688e-04f, 1.900780694e-04f, 1.900537432e-04f,
+1.900290903e-04f, 1.900041108e-04f, 1.899788048e-04f, 1.899531722e-04f, 1.899272133e-04f, 1.899009279e-04f, 1.898743163e-04f, 1.898473785e-04f, 1.898201146e-04f, 1.897925246e-04f,
+1.897646086e-04f, 1.897363667e-04f, 1.897077989e-04f, 1.896789054e-04f, 1.896496862e-04f, 1.896201414e-04f, 1.895902711e-04f, 1.895600753e-04f, 1.895295541e-04f, 1.894987077e-04f,
+1.894675360e-04f, 1.894360391e-04f, 1.894042172e-04f, 1.893720704e-04f, 1.893395986e-04f, 1.893068020e-04f, 1.892736807e-04f, 1.892402348e-04f, 1.892064642e-04f, 1.891723692e-04f,
+1.891379498e-04f, 1.891032061e-04f, 1.890681382e-04f, 1.890327461e-04f, 1.889970300e-04f, 1.889609899e-04f, 1.889246260e-04f, 1.888879382e-04f, 1.888509268e-04f, 1.888135917e-04f,
+1.887759332e-04f, 1.887379512e-04f, 1.886996459e-04f, 1.886610173e-04f, 1.886220656e-04f, 1.885827908e-04f, 1.885431931e-04f, 1.885032725e-04f, 1.884630291e-04f, 1.884224631e-04f,
+1.883815745e-04f, 1.883403633e-04f, 1.882988298e-04f, 1.882569740e-04f, 1.882147961e-04f, 1.881722960e-04f, 1.881294739e-04f, 1.880863299e-04f, 1.880428642e-04f, 1.879990767e-04f,
+1.879549677e-04f, 1.879105371e-04f, 1.878657852e-04f, 1.878207120e-04f, 1.877753176e-04f, 1.877296021e-04f, 1.876835657e-04f, 1.876372084e-04f, 1.875905303e-04f, 1.875435316e-04f,
+1.874962123e-04f, 1.874485726e-04f, 1.874006125e-04f, 1.873523323e-04f, 1.873037319e-04f, 1.872548115e-04f, 1.872055712e-04f, 1.871560112e-04f, 1.871061314e-04f, 1.870559321e-04f,
+1.870054134e-04f, 1.869545753e-04f, 1.869034180e-04f, 1.868519416e-04f, 1.868001462e-04f, 1.867480319e-04f, 1.866955988e-04f, 1.866428471e-04f, 1.865897769e-04f, 1.865363883e-04f,
+1.864826813e-04f, 1.864286562e-04f, 1.863743130e-04f, 1.863196519e-04f, 1.862646730e-04f, 1.862093764e-04f, 1.861537622e-04f, 1.860978305e-04f, 1.860415815e-04f, 1.859850153e-04f,
+1.859281320e-04f, 1.858709318e-04f, 1.858134147e-04f, 1.857555809e-04f, 1.856974305e-04f, 1.856389636e-04f, 1.855801804e-04f, 1.855210810e-04f, 1.854616655e-04f, 1.854019341e-04f,
+1.853418868e-04f, 1.852815238e-04f, 1.852208453e-04f, 1.851598513e-04f, 1.850985420e-04f, 1.850369176e-04f, 1.849749780e-04f, 1.849127236e-04f, 1.848501544e-04f, 1.847872706e-04f,
+1.847240723e-04f, 1.846605595e-04f, 1.845967326e-04f, 1.845325915e-04f, 1.844681364e-04f, 1.844033676e-04f, 1.843382850e-04f, 1.842728889e-04f, 1.842071793e-04f, 1.841411565e-04f,
+1.840748205e-04f, 1.840081715e-04f, 1.839412097e-04f, 1.838739351e-04f, 1.838063479e-04f, 1.837384484e-04f, 1.836702365e-04f, 1.836017124e-04f, 1.835328764e-04f, 1.834637285e-04f,
+1.833942688e-04f, 1.833244976e-04f, 1.832544150e-04f, 1.831840211e-04f, 1.831133160e-04f, 1.830423000e-04f, 1.829709731e-04f, 1.828993355e-04f, 1.828273873e-04f, 1.827551288e-04f,
+1.826825600e-04f, 1.826096811e-04f, 1.825364923e-04f, 1.824629937e-04f, 1.823891854e-04f, 1.823150677e-04f, 1.822406406e-04f, 1.821659043e-04f, 1.820908590e-04f, 1.820155048e-04f,
+1.819398419e-04f, 1.818638704e-04f, 1.817875906e-04f, 1.817110024e-04f, 1.816341062e-04f, 1.815569021e-04f, 1.814793901e-04f, 1.814015706e-04f, 1.813234435e-04f, 1.812450092e-04f,
+1.811662677e-04f, 1.810872193e-04f, 1.810078640e-04f, 1.809282021e-04f, 1.808482337e-04f, 1.807679589e-04f, 1.806873780e-04f, 1.806064911e-04f, 1.805252983e-04f, 1.804437999e-04f,
+1.803619959e-04f, 1.802798866e-04f, 1.801974721e-04f, 1.801147526e-04f, 1.800317283e-04f, 1.799483993e-04f, 1.798647658e-04f, 1.797808279e-04f, 1.796965859e-04f, 1.796120399e-04f,
+1.795271900e-04f, 1.794420365e-04f, 1.793565795e-04f, 1.792708192e-04f, 1.791847557e-04f, 1.790983893e-04f, 1.790117201e-04f, 1.789247483e-04f, 1.788374740e-04f, 1.787498974e-04f,
+1.786620188e-04f, 1.785738382e-04f, 1.784853559e-04f, 1.783965720e-04f, 1.783074867e-04f, 1.782181003e-04f, 1.781284128e-04f, 1.780384244e-04f, 1.779481354e-04f, 1.778575459e-04f,
+1.777666560e-04f, 1.776754661e-04f, 1.775839762e-04f, 1.774921865e-04f, 1.774000973e-04f, 1.773077086e-04f, 1.772150207e-04f, 1.771220338e-04f, 1.770287481e-04f, 1.769351637e-04f,
+1.768412808e-04f, 1.767470996e-04f, 1.766526203e-04f, 1.765578431e-04f, 1.764627682e-04f, 1.763673957e-04f, 1.762717259e-04f, 1.761757590e-04f, 1.760794950e-04f, 1.759829343e-04f,
+1.758860770e-04f, 1.757889232e-04f, 1.756914733e-04f, 1.755937274e-04f, 1.754956856e-04f, 1.753973482e-04f, 1.752987154e-04f, 1.751997873e-04f, 1.751005642e-04f, 1.750010462e-04f,
+1.749012336e-04f, 1.748011265e-04f, 1.747007251e-04f, 1.746000297e-04f, 1.744990404e-04f, 1.743977575e-04f, 1.742961811e-04f, 1.741943114e-04f, 1.740921486e-04f, 1.739896929e-04f,
+1.738869446e-04f, 1.737839038e-04f, 1.736805708e-04f, 1.735769457e-04f, 1.734730287e-04f, 1.733688200e-04f, 1.732643199e-04f, 1.731595286e-04f, 1.730544461e-04f, 1.729490729e-04f,
+1.728434090e-04f, 1.727374547e-04f, 1.726312101e-04f, 1.725246755e-04f, 1.724178512e-04f, 1.723107372e-04f, 1.722033338e-04f, 1.720956412e-04f, 1.719876597e-04f, 1.718793894e-04f,
+1.717708305e-04f, 1.716619833e-04f, 1.715528479e-04f, 1.714434247e-04f, 1.713337137e-04f, 1.712237152e-04f, 1.711134294e-04f, 1.710028566e-04f, 1.708919969e-04f, 1.707808506e-04f,
+1.706694178e-04f, 1.705576988e-04f, 1.704456939e-04f, 1.703334031e-04f, 1.702208268e-04f, 1.701079652e-04f, 1.699948184e-04f, 1.698813867e-04f, 1.697676703e-04f, 1.696536695e-04f,
+1.695393844e-04f, 1.694248153e-04f, 1.693099624e-04f, 1.691948259e-04f, 1.690794060e-04f, 1.689637030e-04f, 1.688477170e-04f, 1.687314484e-04f, 1.686148973e-04f, 1.684980640e-04f,
+1.683809486e-04f, 1.682635514e-04f, 1.681458727e-04f, 1.680279126e-04f, 1.679096714e-04f, 1.677911493e-04f, 1.676723465e-04f, 1.675532633e-04f, 1.674338999e-04f, 1.673142565e-04f,
+1.671943333e-04f, 1.670741307e-04f, 1.669536487e-04f, 1.668328877e-04f, 1.667118479e-04f, 1.665905294e-04f, 1.664689326e-04f, 1.663470577e-04f, 1.662249048e-04f, 1.661024743e-04f,
+1.659797664e-04f, 1.658567812e-04f, 1.657335191e-04f, 1.656099803e-04f, 1.654861650e-04f, 1.653620734e-04f, 1.652377058e-04f, 1.651130625e-04f, 1.649881436e-04f, 1.648629493e-04f,
+1.647374801e-04f, 1.646117359e-04f, 1.644857172e-04f, 1.643594242e-04f, 1.642328570e-04f, 1.641060160e-04f, 1.639789014e-04f, 1.638515133e-04f, 1.637238521e-04f, 1.635959181e-04f,
+1.634677113e-04f, 1.633392322e-04f, 1.632104809e-04f, 1.630814576e-04f, 1.629521627e-04f, 1.628225964e-04f, 1.626927588e-04f, 1.625626504e-04f, 1.624322712e-04f, 1.623016216e-04f,
+1.621707017e-04f, 1.620395120e-04f, 1.619080525e-04f, 1.617763236e-04f, 1.616443254e-04f, 1.615120583e-04f, 1.613795225e-04f, 1.612467183e-04f, 1.611136458e-04f, 1.609803054e-04f,
+1.608466973e-04f, 1.607128218e-04f, 1.605786790e-04f, 1.604442693e-04f, 1.603095930e-04f, 1.601746502e-04f, 1.600394412e-04f, 1.599039663e-04f, 1.597682257e-04f, 1.596322197e-04f,
+1.594959486e-04f, 1.593594126e-04f, 1.592226119e-04f, 1.590855468e-04f, 1.589482177e-04f, 1.588106246e-04f, 1.586727680e-04f, 1.585346480e-04f, 1.583962649e-04f, 1.582576190e-04f,
+1.581187105e-04f, 1.579795398e-04f, 1.578401069e-04f, 1.577004123e-04f, 1.575604562e-04f, 1.574202388e-04f, 1.572797605e-04f, 1.571390214e-04f, 1.569980218e-04f, 1.568567621e-04f,
+1.567152424e-04f, 1.565734631e-04f, 1.564314243e-04f, 1.562891264e-04f, 1.561465697e-04f, 1.560037543e-04f, 1.558606806e-04f, 1.557173489e-04f, 1.555737593e-04f, 1.554299122e-04f,
+1.552858079e-04f, 1.551414466e-04f, 1.549968285e-04f, 1.548519541e-04f, 1.547068234e-04f, 1.545614368e-04f, 1.544157946e-04f, 1.542698971e-04f, 1.541237444e-04f, 1.539773370e-04f,
+1.538306750e-04f, 1.536837587e-04f, 1.535365884e-04f, 1.533891644e-04f, 1.532414870e-04f, 1.530935564e-04f, 1.529453730e-04f, 1.527969369e-04f, 1.526482485e-04f, 1.524993080e-04f,
+1.523501157e-04f, 1.522006719e-04f, 1.520509769e-04f, 1.519010310e-04f, 1.517508344e-04f, 1.516003874e-04f, 1.514496903e-04f, 1.512987434e-04f, 1.511475469e-04f, 1.509961012e-04f,
+1.508444065e-04f, 1.506924631e-04f, 1.505402713e-04f, 1.503878313e-04f, 1.502351435e-04f, 1.500822082e-04f, 1.499290255e-04f, 1.497755959e-04f, 1.496219195e-04f, 1.494679967e-04f,
+1.493138278e-04f, 1.491594130e-04f, 1.490047527e-04f, 1.488498471e-04f, 1.486946965e-04f, 1.485393012e-04f, 1.483836615e-04f, 1.482277776e-04f, 1.480716499e-04f, 1.479152787e-04f,
+1.477586642e-04f, 1.476018067e-04f, 1.474447066e-04f, 1.472873641e-04f, 1.471297795e-04f, 1.469719531e-04f, 1.468138851e-04f, 1.466555760e-04f, 1.464970259e-04f, 1.463382352e-04f,
+1.461792042e-04f, 1.460199332e-04f, 1.458604223e-04f, 1.457006721e-04f, 1.455406826e-04f, 1.453804544e-04f, 1.452199875e-04f, 1.450592824e-04f, 1.448983393e-04f, 1.447371586e-04f,
+1.445757404e-04f, 1.444140852e-04f, 1.442521932e-04f, 1.440900648e-04f, 1.439277001e-04f, 1.437650996e-04f, 1.436022635e-04f, 1.434391921e-04f, 1.432758857e-04f, 1.431123447e-04f,
+1.429485693e-04f, 1.427845598e-04f, 1.426203165e-04f, 1.424558398e-04f, 1.422911299e-04f, 1.421261871e-04f, 1.419610118e-04f, 1.417956042e-04f, 1.416299647e-04f, 1.414640936e-04f,
+1.412979911e-04f, 1.411316575e-04f, 1.409650933e-04f, 1.407982986e-04f, 1.406312738e-04f, 1.404640192e-04f, 1.402965351e-04f, 1.401288219e-04f, 1.399608797e-04f, 1.397927090e-04f,
+1.396243100e-04f, 1.394556830e-04f, 1.392868284e-04f, 1.391177465e-04f, 1.389484376e-04f, 1.387789019e-04f, 1.386091398e-04f, 1.384391517e-04f, 1.382689378e-04f, 1.380984984e-04f,
+1.379278338e-04f, 1.377569445e-04f, 1.375858306e-04f, 1.374144925e-04f, 1.372429305e-04f, 1.370711449e-04f, 1.368991360e-04f, 1.367269042e-04f, 1.365544498e-04f, 1.363817730e-04f,
+1.362088743e-04f, 1.360357538e-04f, 1.358624120e-04f, 1.356888492e-04f, 1.355150656e-04f, 1.353410616e-04f, 1.351668375e-04f, 1.349923936e-04f, 1.348177303e-04f, 1.346428478e-04f,
+1.344677465e-04f, 1.342924267e-04f, 1.341168888e-04f, 1.339411329e-04f, 1.337651596e-04f, 1.335889690e-04f, 1.334125616e-04f, 1.332359376e-04f, 1.330590973e-04f, 1.328820411e-04f,
+1.327047693e-04f, 1.325272823e-04f, 1.323495802e-04f, 1.321716636e-04f, 1.319935327e-04f, 1.318151878e-04f, 1.316366292e-04f, 1.314578573e-04f, 1.312788725e-04f, 1.310996749e-04f,
+1.309202650e-04f, 1.307406431e-04f, 1.305608095e-04f, 1.303807646e-04f, 1.302005086e-04f, 1.300200419e-04f, 1.298393648e-04f, 1.296584777e-04f, 1.294773809e-04f, 1.292960747e-04f,
+1.291145594e-04f, 1.289328354e-04f, 1.287509031e-04f, 1.285687626e-04f, 1.283864145e-04f, 1.282038589e-04f, 1.280210963e-04f, 1.278381269e-04f, 1.276549511e-04f, 1.274715693e-04f,
+1.272879817e-04f, 1.271041888e-04f, 1.269201907e-04f, 1.267359880e-04f, 1.265515808e-04f, 1.263669696e-04f, 1.261821547e-04f, 1.259971364e-04f, 1.258119150e-04f, 1.256264909e-04f,
+1.254408645e-04f, 1.252550360e-04f, 1.250690058e-04f, 1.248827742e-04f, 1.246963416e-04f, 1.245097083e-04f, 1.243228747e-04f, 1.241358410e-04f, 1.239486077e-04f, 1.237611751e-04f,
+1.235735435e-04f, 1.233857132e-04f, 1.231976846e-04f, 1.230094580e-04f, 1.228210338e-04f, 1.226324124e-04f, 1.224435940e-04f, 1.222545790e-04f, 1.220653677e-04f, 1.218759605e-04f,
+1.216863578e-04f, 1.214965598e-04f, 1.213065669e-04f, 1.211163795e-04f, 1.209259979e-04f, 1.207354225e-04f, 1.205446535e-04f, 1.203536914e-04f, 1.201625365e-04f, 1.199711891e-04f,
+1.197796496e-04f, 1.195879183e-04f, 1.193959956e-04f, 1.192038818e-04f, 1.190115773e-04f, 1.188190824e-04f, 1.186263975e-04f, 1.184335228e-04f, 1.182404589e-04f, 1.180472059e-04f,
+1.178537643e-04f, 1.176601344e-04f, 1.174663166e-04f, 1.172723112e-04f, 1.170781185e-04f, 1.168837390e-04f, 1.166891729e-04f, 1.164944207e-04f, 1.162994826e-04f, 1.161043590e-04f,
+1.159090503e-04f, 1.157135568e-04f, 1.155178789e-04f, 1.153220169e-04f, 1.151259712e-04f, 1.149297421e-04f, 1.147333300e-04f, 1.145367353e-04f, 1.143399583e-04f, 1.141429993e-04f,
+1.139458587e-04f, 1.137485369e-04f, 1.135510343e-04f, 1.133533511e-04f, 1.131554877e-04f, 1.129574445e-04f, 1.127592219e-04f, 1.125608202e-04f, 1.123622397e-04f, 1.121634809e-04f,
+1.119645440e-04f, 1.117654295e-04f, 1.115661377e-04f, 1.113666689e-04f, 1.111670236e-04f, 1.109672020e-04f, 1.107672045e-04f, 1.105670316e-04f, 1.103666835e-04f, 1.101661606e-04f,
+1.099654633e-04f, 1.097645919e-04f, 1.095635468e-04f, 1.093623284e-04f, 1.091609370e-04f, 1.089593729e-04f, 1.087576367e-04f, 1.085557285e-04f, 1.083536488e-04f, 1.081513979e-04f,
+1.079489763e-04f, 1.077463842e-04f, 1.075436220e-04f, 1.073406901e-04f, 1.071375889e-04f, 1.069343187e-04f, 1.067308798e-04f, 1.065272728e-04f, 1.063234978e-04f, 1.061195553e-04f,
+1.059154457e-04f, 1.057111693e-04f, 1.055067265e-04f, 1.053021176e-04f, 1.050973430e-04f, 1.048924031e-04f, 1.046872983e-04f, 1.044820289e-04f, 1.042765952e-04f, 1.040709978e-04f,
+1.038652368e-04f, 1.036593128e-04f, 1.034532260e-04f, 1.032469768e-04f, 1.030405657e-04f, 1.028339929e-04f, 1.026272588e-04f, 1.024203639e-04f, 1.022133085e-04f, 1.020060929e-04f,
+1.017987175e-04f, 1.015911827e-04f, 1.013834889e-04f, 1.011756365e-04f, 1.009676257e-04f, 1.007594571e-04f, 1.005511309e-04f, 1.003426475e-04f, 1.001340073e-04f, 9.992521074e-05f,
+9.971625811e-05f, 9.950714980e-05f, 9.929788619e-05f, 9.908846766e-05f, 9.887889457e-05f, 9.866916731e-05f, 9.845928625e-05f, 9.824925176e-05f, 9.803906423e-05f, 9.782872401e-05f,
+9.761823151e-05f, 9.740758707e-05f, 9.719679110e-05f, 9.698584395e-05f, 9.677474602e-05f, 9.656349767e-05f, 9.635209928e-05f, 9.614055124e-05f, 9.592885391e-05f, 9.571700768e-05f,
+9.550501293e-05f, 9.529287003e-05f, 9.508057936e-05f, 9.486814131e-05f, 9.465555625e-05f, 9.444282455e-05f, 9.422994661e-05f, 9.401692280e-05f, 9.380375350e-05f, 9.359043909e-05f,
+9.337697995e-05f, 9.316337647e-05f, 9.294962901e-05f, 9.273573798e-05f, 9.252170373e-05f, 9.230752667e-05f, 9.209320717e-05f, 9.187874561e-05f, 9.166414237e-05f, 9.144939784e-05f,
+9.123451240e-05f, 9.101948643e-05f, 9.080432032e-05f, 9.058901445e-05f, 9.037356920e-05f, 9.015798495e-05f, 8.994226210e-05f, 8.972640103e-05f, 8.951040211e-05f, 8.929426573e-05f,
+8.907799229e-05f, 8.886158216e-05f, 8.864503573e-05f, 8.842835339e-05f, 8.821153551e-05f, 8.799458249e-05f, 8.777749472e-05f, 8.756027257e-05f, 8.734291644e-05f, 8.712542671e-05f,
+8.690780377e-05f, 8.669004801e-05f, 8.647215981e-05f, 8.625413956e-05f, 8.603598765e-05f, 8.581770447e-05f, 8.559929040e-05f, 8.538074584e-05f, 8.516207117e-05f, 8.494326677e-05f,
+8.472433305e-05f, 8.450527038e-05f, 8.428607917e-05f, 8.406675978e-05f, 8.384731263e-05f, 8.362773809e-05f, 8.340803656e-05f, 8.318820842e-05f, 8.296825408e-05f, 8.274817391e-05f,
+8.252796830e-05f, 8.230763766e-05f, 8.208718237e-05f, 8.186660282e-05f, 8.164589940e-05f, 8.142507251e-05f, 8.120412253e-05f, 8.098304987e-05f, 8.076185490e-05f, 8.054053803e-05f,
+8.031909965e-05f, 8.009754014e-05f, 7.987585991e-05f, 7.965405934e-05f, 7.943213882e-05f, 7.921009877e-05f, 7.898793955e-05f, 7.876566158e-05f, 7.854326524e-05f, 7.832075092e-05f,
+7.809811903e-05f, 7.787536996e-05f, 7.765250409e-05f, 7.742952184e-05f, 7.720642358e-05f, 7.698320972e-05f, 7.675988065e-05f, 7.653643677e-05f, 7.631287847e-05f, 7.608920615e-05f,
+7.586542020e-05f, 7.564152103e-05f, 7.541750902e-05f, 7.519338457e-05f, 7.496914809e-05f, 7.474479997e-05f, 7.452034059e-05f, 7.429577038e-05f, 7.407108970e-05f, 7.384629898e-05f,
+7.362139860e-05f, 7.339638896e-05f, 7.317127046e-05f, 7.294604350e-05f, 7.272070848e-05f, 7.249526579e-05f, 7.226971583e-05f, 7.204405901e-05f, 7.181829572e-05f, 7.159242635e-05f,
+7.136645132e-05f, 7.114037102e-05f, 7.091418584e-05f, 7.068789619e-05f, 7.046150247e-05f, 7.023500507e-05f, 7.000840441e-05f, 6.978170087e-05f, 6.955489486e-05f, 6.932798678e-05f,
+6.910097702e-05f, 6.887386600e-05f, 6.864665411e-05f, 6.841934175e-05f, 6.819192933e-05f, 6.796441724e-05f, 6.773680588e-05f, 6.750909567e-05f, 6.728128699e-05f, 6.705338026e-05f,
+6.682537587e-05f, 6.659727423e-05f, 6.636907573e-05f, 6.614078079e-05f, 6.591238980e-05f, 6.568390317e-05f, 6.545532129e-05f, 6.522664458e-05f, 6.499787344e-05f, 6.476900826e-05f,
+6.454004946e-05f, 6.431099743e-05f, 6.408185258e-05f, 6.385261531e-05f, 6.362328603e-05f, 6.339386515e-05f, 6.316435305e-05f, 6.293475016e-05f, 6.270505687e-05f, 6.247527359e-05f,
+6.224540073e-05f, 6.201543868e-05f, 6.178538786e-05f, 6.155524866e-05f, 6.132502150e-05f, 6.109470678e-05f, 6.086430490e-05f, 6.063381627e-05f, 6.040324129e-05f, 6.017258038e-05f,
+5.994183393e-05f, 5.971100236e-05f, 5.948008607e-05f, 5.924908546e-05f, 5.901800094e-05f, 5.878683292e-05f, 5.855558181e-05f, 5.832424800e-05f, 5.809283192e-05f, 5.786133396e-05f,
+5.762975453e-05f, 5.739809404e-05f, 5.716635290e-05f, 5.693453151e-05f, 5.670263028e-05f, 5.647064962e-05f, 5.623858994e-05f, 5.600645164e-05f, 5.577423513e-05f, 5.554194083e-05f,
+5.530956913e-05f, 5.507712044e-05f, 5.484459518e-05f, 5.461199376e-05f, 5.437931657e-05f, 5.414656403e-05f, 5.391373656e-05f, 5.368083454e-05f, 5.344785841e-05f, 5.321480856e-05f,
+5.298168540e-05f, 5.274848935e-05f, 5.251522081e-05f, 5.228188019e-05f, 5.204846790e-05f, 5.181498435e-05f, 5.158142995e-05f, 5.134780511e-05f, 5.111411024e-05f, 5.088034575e-05f,
+5.064651205e-05f, 5.041260954e-05f, 5.017863865e-05f, 4.994459978e-05f, 4.971049333e-05f, 4.947631973e-05f, 4.924207937e-05f, 4.900777268e-05f, 4.877340006e-05f, 4.853896192e-05f,
+4.830445868e-05f, 4.806989074e-05f, 4.783525851e-05f, 4.760056241e-05f, 4.736580285e-05f, 4.713098023e-05f, 4.689609498e-05f, 4.666114749e-05f, 4.642613819e-05f, 4.619106748e-05f,
+4.595593578e-05f, 4.572074349e-05f, 4.548549103e-05f, 4.525017881e-05f, 4.501480725e-05f, 4.477937675e-05f, 4.454388772e-05f, 4.430834058e-05f, 4.407273574e-05f, 4.383707362e-05f,
+4.360135462e-05f, 4.336557915e-05f, 4.312974764e-05f, 4.289386048e-05f, 4.265791810e-05f, 4.242192091e-05f, 4.218586932e-05f, 4.194976373e-05f, 4.171360458e-05f, 4.147739226e-05f,
+4.124112719e-05f, 4.100480978e-05f, 4.076844045e-05f, 4.053201961e-05f, 4.029554767e-05f, 4.005902504e-05f, 3.982245215e-05f, 3.958582939e-05f, 3.934915719e-05f, 3.911243596e-05f,
+3.887566612e-05f, 3.863884806e-05f, 3.840198222e-05f, 3.816506900e-05f, 3.792810881e-05f, 3.769110207e-05f, 3.745404920e-05f, 3.721695060e-05f, 3.697980670e-05f, 3.674261790e-05f,
+3.650538462e-05f, 3.626810727e-05f, 3.603078626e-05f, 3.579342202e-05f, 3.555601495e-05f, 3.531856547e-05f, 3.508107399e-05f, 3.484354093e-05f, 3.460596670e-05f, 3.436835172e-05f,
+3.413069640e-05f, 3.389300115e-05f, 3.365526638e-05f, 3.341749252e-05f, 3.317967998e-05f, 3.294182917e-05f, 3.270394051e-05f, 3.246601440e-05f, 3.222805127e-05f, 3.199005153e-05f,
+3.175201560e-05f, 3.151394388e-05f, 3.127583680e-05f, 3.103769476e-05f, 3.079951819e-05f, 3.056130750e-05f, 3.032306310e-05f, 3.008478541e-05f, 2.984647483e-05f, 2.960813180e-05f,
+2.936975672e-05f, 2.913135000e-05f, 2.889291207e-05f, 2.865444333e-05f, 2.841594421e-05f, 2.817741511e-05f, 2.793885645e-05f, 2.770026865e-05f, 2.746165212e-05f, 2.722300728e-05f,
+2.698433454e-05f, 2.674563432e-05f, 2.650690703e-05f, 2.626815309e-05f, 2.602937290e-05f, 2.579056690e-05f, 2.555173549e-05f, 2.531287908e-05f, 2.507399810e-05f, 2.483509296e-05f,
+2.459616407e-05f, 2.435721185e-05f, 2.411823671e-05f, 2.387923907e-05f, 2.364021935e-05f, 2.340117795e-05f, 2.316211530e-05f, 2.292303181e-05f, 2.268392789e-05f, 2.244480396e-05f,
+2.220566044e-05f, 2.196649774e-05f, 2.172731627e-05f, 2.148811646e-05f, 2.124889871e-05f, 2.100966344e-05f, 2.077041107e-05f, 2.053114201e-05f, 2.029185668e-05f, 2.005255549e-05f,
+1.981323886e-05f, 1.957390720e-05f, 1.933456093e-05f, 1.909520046e-05f, 1.885582621e-05f, 1.861643860e-05f, 1.837703803e-05f, 1.813762493e-05f, 1.789819970e-05f, 1.765876277e-05f,
+1.741931455e-05f, 1.717985545e-05f, 1.694038589e-05f, 1.670090629e-05f, 1.646141705e-05f, 1.622191860e-05f, 1.598241135e-05f, 1.574289571e-05f, 1.550337210e-05f, 1.526384094e-05f,
+1.502430263e-05f, 1.478475760e-05f, 1.454520626e-05f, 1.430564902e-05f, 1.406608630e-05f, 1.382651851e-05f, 1.358694608e-05f, 1.334736940e-05f, 1.310778890e-05f, 1.286820500e-05f,
+1.262861810e-05f, 1.238902863e-05f, 1.214943699e-05f, 1.190984360e-05f, 1.167024888e-05f, 1.143065324e-05f, 1.119105709e-05f, 1.095146085e-05f, 1.071186494e-05f, 1.047226976e-05f,
+1.023267573e-05f, 9.993083277e-06f, 9.753492801e-06f, 9.513904720e-06f, 9.274319449e-06f, 9.034737401e-06f, 8.795158991e-06f, 8.555584634e-06f, 8.316014742e-06f, 8.076449731e-06f,
+7.836890013e-06f, 7.597336004e-06f, 7.357788116e-06f, 7.118246765e-06f, 6.878712363e-06f, 6.639185324e-06f, 6.399666063e-06f, 6.160154992e-06f, 5.920652526e-06f, 5.681159078e-06f,
+5.441675062e-06f, 5.202200890e-06f, 4.962736977e-06f, 4.723283736e-06f, 4.483841580e-06f, 4.244410923e-06f, 4.004992177e-06f, 3.765585756e-06f, 3.526192073e-06f, 3.286811541e-06f,
+3.047444574e-06f, 2.808091583e-06f, 2.568752982e-06f, 2.329429184e-06f, 2.090120601e-06f, 1.850827647e-06f, 1.611550733e-06f, 1.372290273e-06f, 1.133046679e-06f, 8.938203639e-07f,
+6.546117393e-07f, 4.154212179e-07f, 1.762492121e-07f, -6.290386609e-08f, -3.020376044e-07f, -5.411515907e-07f, -7.802454130e-07f, -1.019318659e-06f, -1.258370918e-06f, -1.497401777e-06f,
+-1.736410825e-06f, -1.975397649e-06f, -2.214361839e-06f, -2.453302983e-06f, -2.692220669e-06f, -2.931114487e-06f, -3.169984024e-06f, -3.408828869e-06f, -3.647648612e-06f, -3.886442842e-06f,
+-4.125211146e-06f, -4.363953115e-06f, -4.602668337e-06f, -4.841356402e-06f, -5.080016900e-06f, -5.318649418e-06f, -5.557253548e-06f, -5.795828878e-06f, -6.034374998e-06f, -6.272891499e-06f,
+-6.511377969e-06f, -6.749833998e-06f, -6.988259177e-06f, -7.226653096e-06f, -7.465015344e-06f, -7.703345513e-06f, -7.941643192e-06f, -8.179907972e-06f, -8.418139443e-06f, -8.656337196e-06f,
+-8.894500821e-06f, -9.132629910e-06f, -9.370724054e-06f, -9.608782842e-06f, -9.846805867e-06f, -1.008479272e-05f, -1.032274299e-05f, -1.056065627e-05f, -1.079853215e-05f, -1.103637023e-05f,
+-1.127417009e-05f, -1.151193133e-05f, -1.174965353e-05f, -1.198733630e-05f, -1.222497922e-05f, -1.246258188e-05f, -1.270014388e-05f, -1.293766480e-05f, -1.317514425e-05f, -1.341258182e-05f,
+-1.364997709e-05f, -1.388732966e-05f, -1.412463912e-05f, -1.436190507e-05f, -1.459912709e-05f, -1.483630479e-05f, -1.507343775e-05f, -1.531052557e-05f, -1.554756785e-05f, -1.578456416e-05f,
+-1.602151412e-05f, -1.625841731e-05f, -1.649527333e-05f, -1.673208177e-05f, -1.696884222e-05f, -1.720555429e-05f, -1.744221756e-05f, -1.767883162e-05f, -1.791539609e-05f, -1.815191053e-05f,
+-1.838837457e-05f, -1.862478778e-05f, -1.886114976e-05f, -1.909746012e-05f, -1.933371843e-05f, -1.956992431e-05f, -1.980607734e-05f, -2.004217712e-05f, -2.027822325e-05f, -2.051421533e-05f,
+-2.075015294e-05f, -2.098603568e-05f, -2.122186316e-05f, -2.145763497e-05f, -2.169335070e-05f, -2.192900995e-05f, -2.216461233e-05f, -2.240015741e-05f, -2.263564482e-05f, -2.287107413e-05f,
+-2.310644494e-05f, -2.334175687e-05f, -2.357700949e-05f, -2.381220242e-05f, -2.404733525e-05f, -2.428240757e-05f, -2.451741899e-05f, -2.475236910e-05f, -2.498725750e-05f, -2.522208380e-05f,
+-2.545684758e-05f, -2.569154845e-05f, -2.592618601e-05f, -2.616075986e-05f, -2.639526959e-05f, -2.662971481e-05f, -2.686409511e-05f, -2.709841010e-05f, -2.733265937e-05f, -2.756684253e-05f,
+-2.780095918e-05f, -2.803500891e-05f, -2.826899132e-05f, -2.850290603e-05f, -2.873675262e-05f, -2.897053070e-05f, -2.920423987e-05f, -2.943787973e-05f, -2.967144988e-05f, -2.990494993e-05f,
+-3.013837948e-05f, -3.037173812e-05f, -3.060502546e-05f, -3.083824111e-05f, -3.107138466e-05f, -3.130445571e-05f, -3.153745388e-05f, -3.177037876e-05f, -3.200322996e-05f, -3.223600707e-05f,
+-3.246870970e-05f, -3.270133747e-05f, -3.293388996e-05f, -3.316636678e-05f, -3.339876754e-05f, -3.363109184e-05f, -3.386333929e-05f, -3.409550949e-05f, -3.432760204e-05f, -3.455961655e-05f,
+-3.479155263e-05f, -3.502340987e-05f, -3.525518789e-05f, -3.548688629e-05f, -3.571850468e-05f, -3.595004266e-05f, -3.618149983e-05f, -3.641287581e-05f, -3.664417020e-05f, -3.687538260e-05f,
+-3.710651263e-05f, -3.733755989e-05f, -3.756852399e-05f, -3.779940453e-05f, -3.803020112e-05f, -3.826091337e-05f, -3.849154088e-05f, -3.872208328e-05f, -3.895254015e-05f, -3.918291112e-05f,
+-3.941319578e-05f, -3.964339375e-05f, -3.987350464e-05f, -4.010352806e-05f, -4.033346361e-05f, -4.056331091e-05f, -4.079306956e-05f, -4.102273917e-05f, -4.125231936e-05f, -4.148180973e-05f,
+-4.171120989e-05f, -4.194051946e-05f, -4.216973804e-05f, -4.239886525e-05f, -4.262790070e-05f, -4.285684399e-05f, -4.308569474e-05f, -4.331445257e-05f, -4.354311708e-05f, -4.377168788e-05f,
+-4.400016459e-05f, -4.422854682e-05f, -4.445683418e-05f, -4.468502628e-05f, -4.491312274e-05f, -4.514112318e-05f, -4.536902720e-05f, -4.559683441e-05f, -4.582454444e-05f, -4.605215689e-05f,
+-4.627967138e-05f, -4.650708753e-05f, -4.673440494e-05f, -4.696162324e-05f, -4.718874204e-05f, -4.741576095e-05f, -4.764267958e-05f, -4.786949757e-05f, -4.809621451e-05f, -4.832283002e-05f,
+-4.854934373e-05f, -4.877575525e-05f, -4.900206420e-05f, -4.922827018e-05f, -4.945437283e-05f, -4.968037175e-05f, -4.990626656e-05f, -5.013205689e-05f, -5.035774234e-05f, -5.058332254e-05f,
+-5.080879711e-05f, -5.103416566e-05f, -5.125942781e-05f, -5.148458319e-05f, -5.170963140e-05f, -5.193457208e-05f, -5.215940483e-05f, -5.238412929e-05f, -5.260874506e-05f, -5.283325178e-05f,
+-5.305764905e-05f, -5.328193651e-05f, -5.350611376e-05f, -5.373018044e-05f, -5.395413616e-05f, -5.417798055e-05f, -5.440171323e-05f, -5.462533381e-05f, -5.484884193e-05f, -5.507223720e-05f,
+-5.529551925e-05f, -5.551868770e-05f, -5.574174217e-05f, -5.596468228e-05f, -5.618750767e-05f, -5.641021795e-05f, -5.663281274e-05f, -5.685529168e-05f, -5.707765439e-05f, -5.729990048e-05f,
+-5.752202959e-05f, -5.774404134e-05f, -5.796593536e-05f, -5.818771128e-05f, -5.840936871e-05f, -5.863090728e-05f, -5.885232662e-05f, -5.907362637e-05f, -5.929480613e-05f, -5.951586555e-05f,
+-5.973680424e-05f, -5.995762185e-05f, -6.017831798e-05f, -6.039889228e-05f, -6.061934437e-05f, -6.083967387e-05f, -6.105988043e-05f, -6.127996366e-05f, -6.149992319e-05f, -6.171975866e-05f,
+-6.193946970e-05f, -6.215905593e-05f, -6.237851698e-05f, -6.259785249e-05f, -6.281706209e-05f, -6.303614541e-05f, -6.325510207e-05f, -6.347393171e-05f, -6.369263397e-05f, -6.391120847e-05f,
+-6.412965484e-05f, -6.434797272e-05f, -6.456616175e-05f, -6.478422154e-05f, -6.500215175e-05f, -6.521995199e-05f, -6.543762191e-05f, -6.565516114e-05f, -6.587256931e-05f, -6.608984606e-05f,
+-6.630699102e-05f, -6.652400382e-05f, -6.674088411e-05f, -6.695763152e-05f, -6.717424568e-05f, -6.739072623e-05f, -6.760707280e-05f, -6.782328504e-05f, -6.803936258e-05f, -6.825530505e-05f,
+-6.847111210e-05f, -6.868678335e-05f, -6.890231846e-05f, -6.911771705e-05f, -6.933297877e-05f, -6.954810326e-05f, -6.976309015e-05f, -6.997793908e-05f, -7.019264969e-05f, -7.040722162e-05f,
+-7.062165452e-05f, -7.083594801e-05f, -7.105010176e-05f, -7.126411538e-05f, -7.147798853e-05f, -7.169172084e-05f, -7.190531196e-05f, -7.211876154e-05f, -7.233206920e-05f, -7.254523460e-05f,
+-7.275825737e-05f, -7.297113716e-05f, -7.318387362e-05f, -7.339646639e-05f, -7.360891510e-05f, -7.382121941e-05f, -7.403337896e-05f, -7.424539339e-05f, -7.445726235e-05f, -7.466898549e-05f,
+-7.488056244e-05f, -7.509199286e-05f, -7.530327639e-05f, -7.551441268e-05f, -7.572540138e-05f, -7.593624212e-05f, -7.614693457e-05f, -7.635747836e-05f, -7.656787314e-05f, -7.677811857e-05f,
+-7.698821428e-05f, -7.719815994e-05f, -7.740795518e-05f, -7.761759966e-05f, -7.782709303e-05f, -7.803643493e-05f, -7.824562502e-05f, -7.845466295e-05f, -7.866354836e-05f, -7.887228092e-05f,
+-7.908086026e-05f, -7.928928604e-05f, -7.949755792e-05f, -7.970567554e-05f, -7.991363857e-05f, -8.012144664e-05f, -8.032909941e-05f, -8.053659655e-05f, -8.074393769e-05f, -8.095112250e-05f,
+-8.115815062e-05f, -8.136502172e-05f, -8.157173545e-05f, -8.177829146e-05f, -8.198468941e-05f, -8.219092895e-05f, -8.239700975e-05f, -8.260293145e-05f, -8.280869371e-05f, -8.301429620e-05f,
+-8.321973856e-05f, -8.342502046e-05f, -8.363014155e-05f, -8.383510149e-05f, -8.403989994e-05f, -8.424453656e-05f, -8.444901100e-05f, -8.465332293e-05f, -8.485747201e-05f, -8.506145790e-05f,
+-8.526528025e-05f, -8.546893873e-05f, -8.567243300e-05f, -8.587576272e-05f, -8.607892754e-05f, -8.628192715e-05f, -8.648476118e-05f, -8.668742932e-05f, -8.688993121e-05f, -8.709226653e-05f,
+-8.729443493e-05f, -8.749643609e-05f, -8.769826966e-05f, -8.789993531e-05f, -8.810143270e-05f, -8.830276150e-05f, -8.850392138e-05f, -8.870491200e-05f, -8.890573302e-05f, -8.910638411e-05f,
+-8.930686495e-05f, -8.950717519e-05f, -8.970731450e-05f, -8.990728255e-05f, -9.010707901e-05f, -9.030670355e-05f, -9.050615583e-05f, -9.070543553e-05f, -9.090454231e-05f, -9.110347584e-05f,
+-9.130223580e-05f, -9.150082185e-05f, -9.169923366e-05f, -9.189747091e-05f, -9.209553326e-05f, -9.229342039e-05f, -9.249113197e-05f, -9.268866767e-05f, -9.288602716e-05f, -9.308321012e-05f,
+-9.328021622e-05f, -9.347704513e-05f, -9.367369653e-05f, -9.387017009e-05f, -9.406646548e-05f, -9.426258239e-05f, -9.445852048e-05f, -9.465427943e-05f, -9.484985892e-05f, -9.504525862e-05f,
+-9.524047821e-05f, -9.543551736e-05f, -9.563037576e-05f, -9.582505308e-05f, -9.601954900e-05f, -9.621386320e-05f, -9.640799535e-05f, -9.660194514e-05f, -9.679571224e-05f, -9.698929633e-05f,
+-9.718269709e-05f, -9.737591421e-05f, -9.756894737e-05f, -9.776179623e-05f, -9.795446050e-05f, -9.814693984e-05f, -9.833923394e-05f, -9.853134248e-05f, -9.872326515e-05f, -9.891500163e-05f,
+-9.910655159e-05f, -9.929791474e-05f, -9.948909074e-05f, -9.968007928e-05f, -9.987088005e-05f, -1.000614927e-04f, -1.002519170e-04f, -1.004421526e-04f, -1.006321991e-04f, -1.008220563e-04f,
+-1.010117239e-04f, -1.012012014e-04f, -1.013904887e-04f, -1.015795854e-04f, -1.017684912e-04f, -1.019572058e-04f, -1.021457288e-04f, -1.023340600e-04f, -1.025221991e-04f, -1.027101457e-04f,
+-1.028978995e-04f, -1.030854603e-04f, -1.032728276e-04f, -1.034600013e-04f, -1.036469810e-04f, -1.038337663e-04f, -1.040203571e-04f, -1.042067529e-04f, -1.043929535e-04f, -1.045789585e-04f,
+-1.047647677e-04f, -1.049503808e-04f, -1.051357974e-04f, -1.053210172e-04f, -1.055060400e-04f, -1.056908654e-04f, -1.058754932e-04f, -1.060599229e-04f, -1.062441544e-04f, -1.064281873e-04f,
+-1.066120213e-04f, -1.067956561e-04f, -1.069790915e-04f, -1.071623270e-04f, -1.073453625e-04f, -1.075281976e-04f, -1.077108320e-04f, -1.078932654e-04f, -1.080754975e-04f, -1.082575280e-04f,
+-1.084393566e-04f, -1.086209831e-04f, -1.088024070e-04f, -1.089836282e-04f, -1.091646463e-04f, -1.093454611e-04f, -1.095260721e-04f, -1.097064792e-04f, -1.098866821e-04f, -1.100666803e-04f,
+-1.102464738e-04f, -1.104260621e-04f, -1.106054449e-04f, -1.107846220e-04f, -1.109635931e-04f, -1.111423578e-04f, -1.113209160e-04f, -1.114992672e-04f, -1.116774113e-04f, -1.118553478e-04f,
+-1.120330766e-04f, -1.122105973e-04f, -1.123879096e-04f, -1.125650133e-04f, -1.127419081e-04f, -1.129185936e-04f, -1.130950696e-04f, -1.132713358e-04f, -1.134473919e-04f, -1.136232376e-04f,
+-1.137988727e-04f, -1.139742968e-04f, -1.141495096e-04f, -1.143245110e-04f, -1.144993005e-04f, -1.146738779e-04f, -1.148482429e-04f, -1.150223953e-04f, -1.151963347e-04f, -1.153700609e-04f,
+-1.155435735e-04f, -1.157168724e-04f, -1.158899572e-04f, -1.160628276e-04f, -1.162354833e-04f, -1.164079241e-04f, -1.165801497e-04f, -1.167521599e-04f, -1.169239542e-04f, -1.170955325e-04f,
+-1.172668945e-04f, -1.174380398e-04f, -1.176089683e-04f, -1.177796796e-04f, -1.179501734e-04f, -1.181204496e-04f, -1.182905077e-04f, -1.184603476e-04f, -1.186299689e-04f, -1.187993713e-04f,
+-1.189685547e-04f, -1.191375187e-04f, -1.193062631e-04f, -1.194747875e-04f, -1.196430917e-04f, -1.198111755e-04f, -1.199790385e-04f, -1.201466805e-04f, -1.203141011e-04f, -1.204813003e-04f,
+-1.206482776e-04f, -1.208150328e-04f, -1.209815656e-04f, -1.211478757e-04f, -1.213139630e-04f, -1.214798271e-04f, -1.216454677e-04f, -1.218108846e-04f, -1.219760775e-04f, -1.221410461e-04f,
+-1.223057902e-04f, -1.224703096e-04f, -1.226346038e-04f, -1.227986728e-04f, -1.229625161e-04f, -1.231261336e-04f, -1.232895250e-04f, -1.234526900e-04f, -1.236156284e-04f, -1.237783398e-04f,
+-1.239408241e-04f, -1.241030809e-04f, -1.242651100e-04f, -1.244269112e-04f, -1.245884841e-04f, -1.247498286e-04f, -1.249109443e-04f, -1.250718310e-04f, -1.252324884e-04f, -1.253929163e-04f,
+-1.255531145e-04f, -1.257130825e-04f, -1.258728203e-04f, -1.260323276e-04f, -1.261916040e-04f, -1.263506493e-04f, -1.265094633e-04f, -1.266680457e-04f, -1.268263963e-04f, -1.269845148e-04f,
+-1.271424010e-04f, -1.273000545e-04f, -1.274574752e-04f, -1.276146628e-04f, -1.277716170e-04f, -1.279283375e-04f, -1.280848243e-04f, -1.282410768e-04f, -1.283970951e-04f, -1.285528787e-04f,
+-1.287084274e-04f, -1.288637410e-04f, -1.290188192e-04f, -1.291736618e-04f, -1.293282685e-04f, -1.294826391e-04f, -1.296367733e-04f, -1.297906710e-04f, -1.299443317e-04f, -1.300977554e-04f,
+-1.302509417e-04f, -1.304038903e-04f, -1.305566012e-04f, -1.307090739e-04f, -1.308613083e-04f, -1.310133042e-04f, -1.311650612e-04f, -1.313165791e-04f, -1.314678577e-04f, -1.316188968e-04f,
+-1.317696961e-04f, -1.319202553e-04f, -1.320705743e-04f, -1.322206527e-04f, -1.323704904e-04f, -1.325200871e-04f, -1.326694425e-04f, -1.328185565e-04f, -1.329674287e-04f, -1.331160590e-04f,
+-1.332644471e-04f, -1.334125928e-04f, -1.335604959e-04f, -1.337081560e-04f, -1.338555730e-04f, -1.340027466e-04f, -1.341496766e-04f, -1.342963627e-04f, -1.344428048e-04f, -1.345890026e-04f,
+-1.347349558e-04f, -1.348806643e-04f, -1.350261278e-04f, -1.351713460e-04f, -1.353163187e-04f, -1.354610458e-04f, -1.356055269e-04f, -1.357497618e-04f, -1.358937504e-04f, -1.360374923e-04f,
+-1.361809874e-04f, -1.363242355e-04f, -1.364672362e-04f, -1.366099893e-04f, -1.367524948e-04f, -1.368947522e-04f, -1.370367614e-04f, -1.371785222e-04f, -1.373200343e-04f, -1.374612975e-04f,
+-1.376023117e-04f, -1.377430764e-04f, -1.378835917e-04f, -1.380238571e-04f, -1.381638725e-04f, -1.383036377e-04f, -1.384431525e-04f, -1.385824166e-04f, -1.387214298e-04f, -1.388601919e-04f,
+-1.389987027e-04f, -1.391369619e-04f, -1.392749693e-04f, -1.394127248e-04f, -1.395502281e-04f, -1.396874789e-04f, -1.398244771e-04f, -1.399612224e-04f, -1.400977147e-04f, -1.402339537e-04f,
+-1.403699392e-04f, -1.405056709e-04f, -1.406411488e-04f, -1.407763724e-04f, -1.409113418e-04f, -1.410460565e-04f, -1.411805165e-04f, -1.413147215e-04f, -1.414486713e-04f, -1.415823656e-04f,
+-1.417158043e-04f, -1.418489872e-04f, -1.419819141e-04f, -1.421145846e-04f, -1.422469987e-04f, -1.423791562e-04f, -1.425110567e-04f, -1.426427002e-04f, -1.427740864e-04f, -1.429052150e-04f,
+-1.430360860e-04f, -1.431666990e-04f, -1.432970539e-04f, -1.434271505e-04f, -1.435569885e-04f, -1.436865679e-04f, -1.438158883e-04f, -1.439449495e-04f, -1.440737514e-04f, -1.442022938e-04f,
+-1.443305764e-04f, -1.444585991e-04f, -1.445863616e-04f, -1.447138638e-04f, -1.448411054e-04f, -1.449680863e-04f, -1.450948062e-04f, -1.452212650e-04f, -1.453474625e-04f, -1.454733984e-04f,
+-1.455990726e-04f, -1.457244849e-04f, -1.458496350e-04f, -1.459745229e-04f, -1.460991482e-04f, -1.462235108e-04f, -1.463476104e-04f, -1.464714470e-04f, -1.465950203e-04f, -1.467183302e-04f,
+-1.468413763e-04f, -1.469641586e-04f, -1.470866768e-04f, -1.472089308e-04f, -1.473309203e-04f, -1.474526453e-04f, -1.475741054e-04f, -1.476953004e-04f, -1.478162303e-04f, -1.479368949e-04f,
+-1.480572938e-04f, -1.481774270e-04f, -1.482972942e-04f, -1.484168954e-04f, -1.485362302e-04f, -1.486552985e-04f, -1.487741001e-04f, -1.488926349e-04f, -1.490109026e-04f, -1.491289031e-04f,
+-1.492466361e-04f, -1.493641016e-04f, -1.494812993e-04f, -1.495982290e-04f, -1.497148906e-04f, -1.498312839e-04f, -1.499474087e-04f, -1.500632648e-04f, -1.501788520e-04f, -1.502941702e-04f,
+-1.504092192e-04f, -1.505239988e-04f, -1.506385088e-04f, -1.507527491e-04f, -1.508667194e-04f, -1.509804197e-04f, -1.510938497e-04f, -1.512070092e-04f, -1.513198981e-04f, -1.514325163e-04f,
+-1.515448634e-04f, -1.516569395e-04f, -1.517687442e-04f, -1.518802774e-04f, -1.519915390e-04f, -1.521025288e-04f, -1.522132466e-04f, -1.523236922e-04f, -1.524338655e-04f, -1.525437662e-04f,
+-1.526533944e-04f, -1.527627496e-04f, -1.528718319e-04f, -1.529806410e-04f, -1.530891768e-04f, -1.531974391e-04f, -1.533054277e-04f, -1.534131425e-04f, -1.535205832e-04f, -1.536277499e-04f,
+-1.537346422e-04f, -1.538412600e-04f, -1.539476031e-04f, -1.540536715e-04f, -1.541594649e-04f, -1.542649832e-04f, -1.543702261e-04f, -1.544751936e-04f, -1.545798856e-04f, -1.546843017e-04f,
+-1.547884419e-04f, -1.548923060e-04f, -1.549958939e-04f, -1.550992054e-04f, -1.552022403e-04f, -1.553049986e-04f, -1.554074799e-04f, -1.555096842e-04f, -1.556116114e-04f, -1.557132612e-04f,
+-1.558146336e-04f, -1.559157283e-04f, -1.560165452e-04f, -1.561170842e-04f, -1.562173451e-04f, -1.563173277e-04f, -1.564170319e-04f, -1.565164576e-04f, -1.566156047e-04f, -1.567144728e-04f,
+-1.568130620e-04f, -1.569113720e-04f, -1.570094028e-04f, -1.571071541e-04f, -1.572046259e-04f, -1.573018179e-04f, -1.573987300e-04f, -1.574953622e-04f, -1.575917141e-04f, -1.576877858e-04f,
+-1.577835770e-04f, -1.578790876e-04f, -1.579743175e-04f, -1.580692665e-04f, -1.581639345e-04f, -1.582583214e-04f, -1.583524269e-04f, -1.584462510e-04f, -1.585397936e-04f, -1.586330544e-04f,
+-1.587260333e-04f, -1.588187303e-04f, -1.589111451e-04f, -1.590032777e-04f, -1.590951278e-04f, -1.591866954e-04f, -1.592779804e-04f, -1.593689825e-04f, -1.594597017e-04f, -1.595501378e-04f,
+-1.596402907e-04f, -1.597301602e-04f, -1.598197462e-04f, -1.599090487e-04f, -1.599980674e-04f, -1.600868022e-04f, -1.601752530e-04f, -1.602634197e-04f, -1.603513022e-04f, -1.604389002e-04f,
+-1.605262137e-04f, -1.606132426e-04f, -1.606999866e-04f, -1.607864458e-04f, -1.608726200e-04f, -1.609585090e-04f, -1.610441127e-04f, -1.611294310e-04f, -1.612144637e-04f, -1.612992108e-04f,
+-1.613836722e-04f, -1.614678476e-04f, -1.615517370e-04f, -1.616353403e-04f, -1.617186573e-04f, -1.618016879e-04f, -1.618844320e-04f, -1.619668894e-04f, -1.620490601e-04f, -1.621309440e-04f,
+-1.622125408e-04f, -1.622938506e-04f, -1.623748731e-04f, -1.624556083e-04f, -1.625360560e-04f, -1.626162162e-04f, -1.626960887e-04f, -1.627756734e-04f, -1.628549701e-04f, -1.629339788e-04f,
+-1.630126994e-04f, -1.630911318e-04f, -1.631692757e-04f, -1.632471312e-04f, -1.633246981e-04f, -1.634019763e-04f, -1.634789657e-04f, -1.635556661e-04f, -1.636320775e-04f, -1.637081998e-04f,
+-1.637840328e-04f, -1.638595765e-04f, -1.639348307e-04f, -1.640097954e-04f, -1.640844703e-04f, -1.641588555e-04f, -1.642329508e-04f, -1.643067561e-04f, -1.643802713e-04f, -1.644534963e-04f,
+-1.645264310e-04f, -1.645990753e-04f, -1.646714290e-04f, -1.647434922e-04f, -1.648152647e-04f, -1.648867463e-04f, -1.649579371e-04f, -1.650288368e-04f, -1.650994454e-04f, -1.651697628e-04f,
+-1.652397889e-04f, -1.653095236e-04f, -1.653789667e-04f, -1.654481183e-04f, -1.655169782e-04f, -1.655855463e-04f, -1.656538225e-04f, -1.657218068e-04f, -1.657894989e-04f, -1.658568989e-04f,
+-1.659240067e-04f, -1.659908220e-04f, -1.660573450e-04f, -1.661235754e-04f, -1.661895131e-04f, -1.662551582e-04f, -1.663205104e-04f, -1.663855698e-04f, -1.664503361e-04f, -1.665148094e-04f,
+-1.665789896e-04f, -1.666428764e-04f, -1.667064700e-04f, -1.667697701e-04f, -1.668327767e-04f, -1.668954897e-04f, -1.669579091e-04f, -1.670200347e-04f, -1.670818664e-04f, -1.671434042e-04f,
+-1.672046480e-04f, -1.672655977e-04f, -1.673262532e-04f, -1.673866145e-04f, -1.674466814e-04f, -1.675064539e-04f, -1.675659319e-04f, -1.676251154e-04f, -1.676840042e-04f, -1.677425982e-04f,
+-1.678008974e-04f, -1.678589018e-04f, -1.679166112e-04f, -1.679740255e-04f, -1.680311448e-04f, -1.680879688e-04f, -1.681444976e-04f, -1.682007311e-04f, -1.682566691e-04f, -1.683123116e-04f,
+-1.683676586e-04f, -1.684227100e-04f, -1.684774657e-04f, -1.685319256e-04f, -1.685860896e-04f, -1.686399578e-04f, -1.686935299e-04f, -1.687468060e-04f, -1.687997860e-04f, -1.688524698e-04f,
+-1.689048574e-04f, -1.689569486e-04f, -1.690087435e-04f, -1.690602419e-04f, -1.691114438e-04f, -1.691623491e-04f, -1.692129578e-04f, -1.692632697e-04f, -1.693132849e-04f, -1.693630033e-04f,
+-1.694124247e-04f, -1.694615492e-04f, -1.695103767e-04f, -1.695589071e-04f, -1.696071404e-04f, -1.696550765e-04f, -1.697027153e-04f, -1.697500568e-04f, -1.697971010e-04f, -1.698438477e-04f,
+-1.698902969e-04f, -1.699364486e-04f, -1.699823026e-04f, -1.700278591e-04f, -1.700731178e-04f, -1.701180787e-04f, -1.701627419e-04f, -1.702071071e-04f, -1.702511745e-04f, -1.702949438e-04f,
+-1.703384152e-04f, -1.703815885e-04f, -1.704244636e-04f, -1.704670406e-04f, -1.705093193e-04f, -1.705512998e-04f, -1.705929819e-04f, -1.706343657e-04f, -1.706754510e-04f, -1.707162379e-04f,
+-1.707567263e-04f, -1.707969161e-04f, -1.708368073e-04f, -1.708763998e-04f, -1.709156937e-04f, -1.709546888e-04f, -1.709933851e-04f, -1.710317827e-04f, -1.710698813e-04f, -1.711076811e-04f,
+-1.711451819e-04f, -1.711823837e-04f, -1.712192865e-04f, -1.712558902e-04f, -1.712921948e-04f, -1.713282002e-04f, -1.713639065e-04f, -1.713993136e-04f, -1.714344213e-04f, -1.714692298e-04f,
+-1.715037390e-04f, -1.715379488e-04f, -1.715718592e-04f, -1.716054701e-04f, -1.716387816e-04f, -1.716717936e-04f, -1.717045061e-04f, -1.717369189e-04f, -1.717690322e-04f, -1.718008459e-04f,
+-1.718323598e-04f, -1.718635741e-04f, -1.718944887e-04f, -1.719251035e-04f, -1.719554185e-04f, -1.719854338e-04f, -1.720151492e-04f, -1.720445647e-04f, -1.720736803e-04f, -1.721024960e-04f,
+-1.721310118e-04f, -1.721592276e-04f, -1.721871434e-04f, -1.722147592e-04f, -1.722420750e-04f, -1.722690907e-04f, -1.722958063e-04f, -1.723222218e-04f, -1.723483372e-04f, -1.723741524e-04f,
+-1.723996675e-04f, -1.724248823e-04f, -1.724497970e-04f, -1.724744114e-04f, -1.724987256e-04f, -1.725227396e-04f, -1.725464532e-04f, -1.725698666e-04f, -1.725929796e-04f, -1.726157923e-04f,
+-1.726383047e-04f, -1.726605167e-04f, -1.726824283e-04f, -1.727040396e-04f, -1.727253504e-04f, -1.727463608e-04f, -1.727670708e-04f, -1.727874804e-04f, -1.728075896e-04f, -1.728273982e-04f,
+-1.728469064e-04f, -1.728661142e-04f, -1.728850214e-04f, -1.729036282e-04f, -1.729219344e-04f, -1.729399401e-04f, -1.729576454e-04f, -1.729750501e-04f, -1.729921542e-04f, -1.730089579e-04f,
+-1.730254610e-04f, -1.730416636e-04f, -1.730575656e-04f, -1.730731670e-04f, -1.730884680e-04f, -1.731034683e-04f, -1.731181681e-04f, -1.731325674e-04f, -1.731466661e-04f, -1.731604642e-04f,
+-1.731739618e-04f, -1.731871588e-04f, -1.732000553e-04f, -1.732126512e-04f, -1.732249466e-04f, -1.732369414e-04f, -1.732486357e-04f, -1.732600294e-04f, -1.732711226e-04f, -1.732819153e-04f,
+-1.732924075e-04f, -1.733025991e-04f, -1.733124903e-04f, -1.733220809e-04f, -1.733313710e-04f, -1.733403607e-04f, -1.733490498e-04f, -1.733574385e-04f, -1.733655268e-04f, -1.733733146e-04f,
+-1.733808019e-04f, -1.733879888e-04f, -1.733948753e-04f, -1.734014614e-04f, -1.734077472e-04f, -1.734137325e-04f, -1.734194175e-04f, -1.734248021e-04f, -1.734298864e-04f, -1.734346704e-04f,
+-1.734391541e-04f, -1.734433375e-04f, -1.734472206e-04f, -1.734508035e-04f, -1.734540862e-04f, -1.734570686e-04f, -1.734597509e-04f, -1.734621329e-04f, -1.734642148e-04f, -1.734659966e-04f,
+-1.734674783e-04f, -1.734686599e-04f, -1.734695414e-04f, -1.734701229e-04f, -1.734704043e-04f, -1.734703858e-04f, -1.734700672e-04f, -1.734694488e-04f, -1.734685304e-04f, -1.734673121e-04f,
+-1.734657939e-04f, -1.734639759e-04f, -1.734618581e-04f, -1.734594405e-04f, -1.734567231e-04f, -1.734537060e-04f, -1.734503892e-04f, -1.734467727e-04f, -1.734428566e-04f, -1.734386408e-04f,
+-1.734341255e-04f, -1.734293107e-04f, -1.734241963e-04f, -1.734187824e-04f, -1.734130691e-04f, -1.734070564e-04f, -1.734007443e-04f, -1.733941329e-04f, -1.733872221e-04f, -1.733800121e-04f,
+-1.733725029e-04f, -1.733646944e-04f, -1.733565868e-04f, -1.733481801e-04f, -1.733394743e-04f, -1.733304694e-04f, -1.733211656e-04f, -1.733115627e-04f, -1.733016610e-04f, -1.732914604e-04f,
+-1.732809609e-04f, -1.732701626e-04f, -1.732590656e-04f, -1.732476699e-04f, -1.732359755e-04f, -1.732239825e-04f, -1.732116909e-04f, -1.731991008e-04f, -1.731862121e-04f, -1.731730251e-04f,
+-1.731595396e-04f, -1.731457558e-04f, -1.731316738e-04f, -1.731172934e-04f, -1.731026149e-04f, -1.730876382e-04f, -1.730723634e-04f, -1.730567906e-04f, -1.730409197e-04f, -1.730247510e-04f,
+-1.730082843e-04f, -1.729915198e-04f, -1.729744575e-04f, -1.729570974e-04f, -1.729394397e-04f, -1.729214843e-04f, -1.729032314e-04f, -1.728846810e-04f, -1.728658331e-04f, -1.728466878e-04f,
+-1.728272451e-04f, -1.728075052e-04f, -1.727874681e-04f, -1.727671337e-04f, -1.727465023e-04f, -1.727255738e-04f, -1.727043483e-04f, -1.726828259e-04f, -1.726610066e-04f, -1.726388905e-04f,
+-1.726164777e-04f, -1.725937681e-04f, -1.725707620e-04f, -1.725474593e-04f, -1.725238601e-04f, -1.724999645e-04f, -1.724757725e-04f, -1.724512843e-04f, -1.724264998e-04f, -1.724014191e-04f,
+-1.723760423e-04f, -1.723503696e-04f, -1.723244008e-04f, -1.722981362e-04f, -1.722715758e-04f, -1.722447196e-04f, -1.722175677e-04f, -1.721901202e-04f, -1.721623772e-04f, -1.721343387e-04f,
+-1.721060048e-04f, -1.720773756e-04f, -1.720484512e-04f, -1.720192315e-04f, -1.719897168e-04f, -1.719599071e-04f, -1.719298024e-04f, -1.718994028e-04f, -1.718687085e-04f, -1.718377194e-04f,
+-1.718064357e-04f, -1.717748574e-04f, -1.717429847e-04f, -1.717108175e-04f, -1.716783560e-04f, -1.716456003e-04f, -1.716125504e-04f, -1.715792064e-04f, -1.715455684e-04f, -1.715116365e-04f,
+-1.714774108e-04f, -1.714428913e-04f, -1.714080781e-04f, -1.713729714e-04f, -1.713375711e-04f, -1.713018774e-04f, -1.712658904e-04f, -1.712296102e-04f, -1.711930367e-04f, -1.711561702e-04f,
+-1.711190108e-04f, -1.710815584e-04f, -1.710438132e-04f, -1.710057753e-04f, -1.709674448e-04f, -1.709288217e-04f, -1.708899062e-04f, -1.708506983e-04f, -1.708111982e-04f, -1.707714059e-04f,
+-1.707313215e-04f, -1.706909451e-04f, -1.706502768e-04f, -1.706093167e-04f, -1.705680649e-04f, -1.705265215e-04f, -1.704846866e-04f, -1.704425602e-04f, -1.704001425e-04f, -1.703574336e-04f,
+-1.703144336e-04f, -1.702711426e-04f, -1.702275606e-04f, -1.701836877e-04f, -1.701395242e-04f, -1.700950700e-04f, -1.700503252e-04f, -1.700052901e-04f, -1.699599646e-04f, -1.699143488e-04f,
+-1.698684430e-04f, -1.698222471e-04f, -1.697757613e-04f, -1.697289857e-04f, -1.696819203e-04f, -1.696345654e-04f, -1.695869209e-04f, -1.695389871e-04f, -1.694907639e-04f, -1.694422516e-04f,
+-1.693934502e-04f, -1.693443599e-04f, -1.692949806e-04f, -1.692453127e-04f, -1.691953560e-04f, -1.691451109e-04f, -1.690945773e-04f, -1.690437554e-04f, -1.689926454e-04f, -1.689412472e-04f,
+-1.688895610e-04f, -1.688375870e-04f, -1.687853253e-04f, -1.687327759e-04f, -1.686799389e-04f, -1.686268146e-04f, -1.685734030e-04f, -1.685197042e-04f, -1.684657183e-04f, -1.684114455e-04f,
+-1.683568859e-04f, -1.683020396e-04f, -1.682469067e-04f, -1.681914873e-04f, -1.681357815e-04f, -1.680797895e-04f, -1.680235114e-04f, -1.679669473e-04f, -1.679100974e-04f, -1.678529617e-04f,
+-1.677955403e-04f, -1.677378335e-04f, -1.676798413e-04f, -1.676215638e-04f, -1.675630012e-04f, -1.675041535e-04f, -1.674450210e-04f, -1.673856037e-04f, -1.673259018e-04f, -1.672659154e-04f,
+-1.672056446e-04f, -1.671450895e-04f, -1.670842503e-04f, -1.670231272e-04f, -1.669617201e-04f, -1.669000293e-04f, -1.668380549e-04f, -1.667757970e-04f, -1.667132558e-04f, -1.666504313e-04f,
+-1.665873238e-04f, -1.665239333e-04f, -1.664602600e-04f, -1.663963040e-04f, -1.663320654e-04f, -1.662675444e-04f, -1.662027412e-04f, -1.661376557e-04f, -1.660722883e-04f, -1.660066390e-04f,
+-1.659407079e-04f, -1.658744953e-04f, -1.658080011e-04f, -1.657412256e-04f, -1.656741690e-04f, -1.656068313e-04f, -1.655392126e-04f, -1.654713132e-04f, -1.654031332e-04f, -1.653346726e-04f,
+-1.652659317e-04f, -1.651969106e-04f, -1.651276094e-04f, -1.650580283e-04f, -1.649881675e-04f, -1.649180269e-04f, -1.648476069e-04f, -1.647769075e-04f, -1.647059289e-04f, -1.646346713e-04f,
+-1.645631347e-04f, -1.644913194e-04f, -1.644192254e-04f, -1.643468530e-04f, -1.642742022e-04f, -1.642012733e-04f, -1.641280663e-04f, -1.640545815e-04f, -1.639808189e-04f, -1.639067787e-04f,
+-1.638324611e-04f, -1.637578663e-04f, -1.636829942e-04f, -1.636078453e-04f, -1.635324195e-04f, -1.634567170e-04f, -1.633807380e-04f, -1.633044826e-04f, -1.632279511e-04f, -1.631511434e-04f,
+-1.630740599e-04f, -1.629967006e-04f, -1.629190658e-04f, -1.628411555e-04f, -1.627629699e-04f, -1.626845093e-04f, -1.626057736e-04f, -1.625267632e-04f, -1.624474781e-04f, -1.623679185e-04f,
+-1.622880847e-04f, -1.622079766e-04f, -1.621275946e-04f, -1.620469387e-04f, -1.619660091e-04f, -1.618848061e-04f, -1.618033296e-04f, -1.617215800e-04f, -1.616395574e-04f, -1.615572619e-04f,
+-1.614746937e-04f, -1.613918529e-04f, -1.613087398e-04f, -1.612253545e-04f, -1.611416972e-04f, -1.610577680e-04f, -1.609735671e-04f, -1.608890947e-04f, -1.608043509e-04f, -1.607193359e-04f,
+-1.606340498e-04f, -1.605484929e-04f, -1.604626654e-04f, -1.603765673e-04f, -1.602901988e-04f, -1.602035602e-04f, -1.601166516e-04f, -1.600294732e-04f, -1.599420251e-04f, -1.598543075e-04f,
+-1.597663206e-04f, -1.596780645e-04f, -1.595895395e-04f, -1.595007457e-04f, -1.594116833e-04f, -1.593223525e-04f, -1.592327534e-04f, -1.591428862e-04f, -1.590527511e-04f, -1.589623483e-04f,
+-1.588716779e-04f, -1.587807402e-04f, -1.586895352e-04f, -1.585980633e-04f, -1.585063245e-04f, -1.584143190e-04f, -1.583220471e-04f, -1.582295089e-04f, -1.581367046e-04f, -1.580436344e-04f,
+-1.579502984e-04f, -1.578566968e-04f, -1.577628299e-04f, -1.576686978e-04f, -1.575743006e-04f, -1.574796387e-04f, -1.573847121e-04f, -1.572895210e-04f, -1.571940657e-04f, -1.570983463e-04f,
+-1.570023630e-04f, -1.569061160e-04f, -1.568096054e-04f, -1.567128316e-04f, -1.566157946e-04f, -1.565184946e-04f, -1.564209319e-04f, -1.563231066e-04f, -1.562250189e-04f, -1.561266690e-04f,
+-1.560280571e-04f, -1.559291835e-04f, -1.558300482e-04f, -1.557306514e-04f, -1.556309935e-04f, -1.555310745e-04f, -1.554308947e-04f, -1.553304542e-04f, -1.552297532e-04f, -1.551287920e-04f,
+-1.550275708e-04f, -1.549260896e-04f, -1.548243489e-04f, -1.547223486e-04f, -1.546200890e-04f, -1.545175704e-04f, -1.544147929e-04f, -1.543117567e-04f, -1.542084621e-04f, -1.541049091e-04f,
+-1.540010981e-04f, -1.538970292e-04f, -1.537927026e-04f, -1.536881185e-04f, -1.535832772e-04f, -1.534781788e-04f, -1.533728235e-04f, -1.532672115e-04f, -1.531613431e-04f, -1.530552184e-04f,
+-1.529488377e-04f, -1.528422011e-04f, -1.527353088e-04f, -1.526281612e-04f, -1.525207582e-04f, -1.524131003e-04f, -1.523051875e-04f, -1.521970201e-04f, -1.520885984e-04f, -1.519799224e-04f,
+-1.518709924e-04f, -1.517618086e-04f, -1.516523713e-04f, -1.515426806e-04f, -1.514327368e-04f, -1.513225400e-04f, -1.512120905e-04f, -1.511013884e-04f, -1.509904341e-04f, -1.508792277e-04f,
+-1.507677694e-04f, -1.506560594e-04f, -1.505440980e-04f, -1.504318853e-04f, -1.503194216e-04f, -1.502067071e-04f, -1.500937420e-04f, -1.499805265e-04f, -1.498670609e-04f, -1.497533453e-04f,
+-1.496393800e-04f, -1.495251651e-04f, -1.494107010e-04f, -1.492959878e-04f, -1.491810258e-04f, -1.490658151e-04f, -1.489503560e-04f, -1.488346487e-04f, -1.487186934e-04f, -1.486024903e-04f,
+-1.484860397e-04f, -1.483693418e-04f, -1.482523969e-04f, -1.481352050e-04f, -1.480177665e-04f, -1.479000816e-04f, -1.477821504e-04f, -1.476639733e-04f, -1.475455504e-04f, -1.474268821e-04f,
+-1.473079684e-04f, -1.471888096e-04f, -1.470694060e-04f, -1.469497577e-04f, -1.468298651e-04f, -1.467097282e-04f, -1.465893475e-04f, -1.464687230e-04f, -1.463478551e-04f, -1.462267438e-04f,
+-1.461053896e-04f, -1.459837925e-04f, -1.458619529e-04f, -1.457398710e-04f, -1.456175469e-04f, -1.454949810e-04f, -1.453721734e-04f, -1.452491244e-04f, -1.451258342e-04f, -1.450023031e-04f,
+-1.448785313e-04f, -1.447545189e-04f, -1.446302664e-04f, -1.445057738e-04f, -1.443810415e-04f, -1.442560696e-04f, -1.441308584e-04f, -1.440054081e-04f, -1.438797190e-04f, -1.437537913e-04f,
+-1.436276252e-04f, -1.435012211e-04f, -1.433745790e-04f, -1.432476993e-04f, -1.431205822e-04f, -1.429932279e-04f, -1.428656367e-04f, -1.427378088e-04f, -1.426097444e-04f, -1.424814439e-04f,
+-1.423529073e-04f, -1.422241351e-04f, -1.420951274e-04f, -1.419658844e-04f, -1.418364064e-04f, -1.417066937e-04f, -1.415767465e-04f, -1.414465650e-04f, -1.413161494e-04f, -1.411855001e-04f,
+-1.410546173e-04f, -1.409235012e-04f, -1.407921520e-04f, -1.406605701e-04f, -1.405287555e-04f, -1.403967087e-04f, -1.402644299e-04f, -1.401319192e-04f, -1.399991769e-04f, -1.398662034e-04f,
+-1.397329988e-04f, -1.395995633e-04f, -1.394658974e-04f, -1.393320010e-04f, -1.391978747e-04f, -1.390635185e-04f, -1.389289328e-04f, -1.387941177e-04f, -1.386590736e-04f, -1.385238007e-04f,
+-1.383882992e-04f, -1.382525694e-04f, -1.381166116e-04f, -1.379804260e-04f, -1.378440128e-04f, -1.377073724e-04f, -1.375705049e-04f, -1.374334107e-04f, -1.372960899e-04f, -1.371585429e-04f,
+-1.370207698e-04f, -1.368827711e-04f, -1.367445468e-04f, -1.366060973e-04f, -1.364674228e-04f, -1.363285235e-04f, -1.361893999e-04f, -1.360500520e-04f, -1.359104802e-04f, -1.357706847e-04f,
+-1.356306657e-04f, -1.354904236e-04f, -1.353499586e-04f, -1.352092710e-04f, -1.350683610e-04f, -1.349272288e-04f, -1.347858748e-04f, -1.346442992e-04f, -1.345025023e-04f, -1.343604843e-04f,
+-1.342182455e-04f, -1.340757862e-04f, -1.339331066e-04f, -1.337902069e-04f, -1.336470876e-04f, -1.335037487e-04f, -1.333601907e-04f, -1.332164137e-04f, -1.330724180e-04f, -1.329282038e-04f,
+-1.327837716e-04f, -1.326391215e-04f, -1.324942537e-04f, -1.323491686e-04f, -1.322038664e-04f, -1.320583475e-04f, -1.319126119e-04f, -1.317666601e-04f, -1.316204924e-04f, -1.314741089e-04f,
+-1.313275099e-04f, -1.311806957e-04f, -1.310336667e-04f, -1.308864230e-04f, -1.307389649e-04f, -1.305912927e-04f, -1.304434067e-04f, -1.302953072e-04f, -1.301469943e-04f, -1.299984685e-04f,
+-1.298497299e-04f, -1.297007789e-04f, -1.295516157e-04f, -1.294022406e-04f, -1.292526539e-04f, -1.291028558e-04f, -1.289528466e-04f, -1.288026266e-04f, -1.286521961e-04f, -1.285015554e-04f,
+-1.283507047e-04f, -1.281996443e-04f, -1.280483745e-04f, -1.278968955e-04f, -1.277452077e-04f, -1.275933114e-04f, -1.274412067e-04f, -1.272888940e-04f, -1.271363736e-04f, -1.269836457e-04f,
+-1.268307107e-04f, -1.266775687e-04f, -1.265242202e-04f, -1.263706653e-04f, -1.262169043e-04f, -1.260629377e-04f, -1.259087655e-04f, -1.257543881e-04f, -1.255998058e-04f, -1.254450189e-04f,
+-1.252900277e-04f, -1.251348324e-04f, -1.249794333e-04f, -1.248238307e-04f, -1.246680249e-04f, -1.245120162e-04f, -1.243558049e-04f, -1.241993912e-04f, -1.240427755e-04f, -1.238859580e-04f,
+-1.237289390e-04f, -1.235717188e-04f, -1.234142977e-04f, -1.232566760e-04f, -1.230988540e-04f, -1.229408319e-04f, -1.227826101e-04f, -1.226241888e-04f, -1.224655683e-04f, -1.223067490e-04f,
+-1.221477311e-04f, -1.219885148e-04f, -1.218291006e-04f, -1.216694887e-04f, -1.215096793e-04f, -1.213496728e-04f, -1.211894695e-04f, -1.210290696e-04f, -1.208684735e-04f, -1.207076814e-04f,
+-1.205466937e-04f, -1.203855106e-04f, -1.202241324e-04f, -1.200625594e-04f, -1.199007920e-04f, -1.197388304e-04f, -1.195766748e-04f, -1.194143257e-04f, -1.192517833e-04f, -1.190890479e-04f,
+-1.189261198e-04f, -1.187629993e-04f, -1.185996866e-04f, -1.184361822e-04f, -1.182724862e-04f, -1.181085991e-04f, -1.179445210e-04f, -1.177802523e-04f, -1.176157933e-04f, -1.174511443e-04f,
+-1.172863055e-04f, -1.171212774e-04f, -1.169560601e-04f, -1.167906540e-04f, -1.166250594e-04f, -1.164592766e-04f, -1.162933059e-04f, -1.161271476e-04f, -1.159608019e-04f, -1.157942693e-04f,
+-1.156275500e-04f, -1.154606443e-04f, -1.152935525e-04f, -1.151262749e-04f, -1.149588119e-04f, -1.147911636e-04f, -1.146233305e-04f, -1.144553128e-04f, -1.142871109e-04f, -1.141187250e-04f,
+-1.139501555e-04f, -1.137814026e-04f, -1.136124667e-04f, -1.134433481e-04f, -1.132740470e-04f, -1.131045639e-04f, -1.129348989e-04f, -1.127650524e-04f, -1.125950248e-04f, -1.124248163e-04f,
+-1.122544272e-04f, -1.120838578e-04f, -1.119131085e-04f, -1.117421795e-04f, -1.115710713e-04f, -1.113997840e-04f, -1.112283180e-04f, -1.110566736e-04f, -1.108848511e-04f, -1.107128508e-04f,
+-1.105406731e-04f, -1.103683183e-04f, -1.101957865e-04f, -1.100230783e-04f, -1.098501939e-04f, -1.096771335e-04f, -1.095038976e-04f, -1.093304864e-04f, -1.091569003e-04f, -1.089831395e-04f,
+-1.088092044e-04f, -1.086350952e-04f, -1.084608124e-04f, -1.082863562e-04f, -1.081117270e-04f, -1.079369249e-04f, -1.077619505e-04f, -1.075868039e-04f, -1.074114856e-04f, -1.072359957e-04f,
+-1.070603347e-04f, -1.068845029e-04f, -1.067085005e-04f, -1.065323279e-04f, -1.063559854e-04f, -1.061794733e-04f, -1.060027920e-04f, -1.058259418e-04f, -1.056489229e-04f, -1.054717358e-04f,
+-1.052943807e-04f, -1.051168579e-04f, -1.049391678e-04f, -1.047613107e-04f, -1.045832869e-04f, -1.044050967e-04f, -1.042267404e-04f, -1.040482185e-04f, -1.038695311e-04f, -1.036906787e-04f,
+-1.035116615e-04f, -1.033324799e-04f, -1.031531341e-04f, -1.029736246e-04f, -1.027939516e-04f, -1.026141155e-04f, -1.024341165e-04f, -1.022539551e-04f, -1.020736315e-04f, -1.018931461e-04f,
+-1.017124991e-04f, -1.015316910e-04f, -1.013507220e-04f, -1.011695924e-04f, -1.009883026e-04f, -1.008068530e-04f, -1.006252438e-04f, -1.004434754e-04f, -1.002615480e-04f, -1.000794621e-04f,
+-9.989721795e-05f, -9.971481587e-05f, -9.953225620e-05f, -9.934953926e-05f, -9.916666539e-05f, -9.898363492e-05f, -9.880044817e-05f, -9.861710548e-05f, -9.843360716e-05f, -9.824995357e-05f,
+-9.806614501e-05f, -9.788218184e-05f, -9.769806437e-05f, -9.751379293e-05f, -9.732936786e-05f, -9.714478949e-05f, -9.696005816e-05f, -9.677517419e-05f, -9.659013791e-05f, -9.640494966e-05f,
+-9.621960977e-05f, -9.603411857e-05f, -9.584847640e-05f, -9.566268360e-05f, -9.547674048e-05f, -9.529064739e-05f, -9.510440467e-05f, -9.491801264e-05f, -9.473147164e-05f, -9.454478201e-05f,
+-9.435794408e-05f, -9.417095818e-05f, -9.398382466e-05f, -9.379654384e-05f, -9.360911606e-05f, -9.342154167e-05f, -9.323382099e-05f, -9.304595436e-05f, -9.285794212e-05f, -9.266978460e-05f,
+-9.248148215e-05f, -9.229303510e-05f, -9.210444379e-05f, -9.191570856e-05f, -9.172682974e-05f, -9.153780767e-05f, -9.134864270e-05f, -9.115933515e-05f, -9.096988538e-05f, -9.078029371e-05f,
+-9.059056050e-05f, -9.040068607e-05f, -9.021067077e-05f, -9.002051493e-05f, -8.983021891e-05f, -8.963978304e-05f, -8.944920765e-05f, -8.925849310e-05f, -8.906763972e-05f, -8.887664785e-05f,
+-8.868551784e-05f, -8.849425002e-05f, -8.830284475e-05f, -8.811130235e-05f, -8.791962318e-05f, -8.772780758e-05f, -8.753585588e-05f, -8.734376844e-05f, -8.715154560e-05f, -8.695918769e-05f,
+-8.676669507e-05f, -8.657406807e-05f, -8.638130705e-05f, -8.618841234e-05f, -8.599538429e-05f, -8.580222325e-05f, -8.560892955e-05f, -8.541550356e-05f, -8.522194560e-05f, -8.502825603e-05f,
+-8.483443519e-05f, -8.464048343e-05f, -8.444640109e-05f, -8.425218852e-05f, -8.405784607e-05f, -8.386337408e-05f, -8.366877290e-05f, -8.347404289e-05f, -8.327918437e-05f, -8.308419771e-05f,
+-8.288908325e-05f, -8.269384133e-05f, -8.249847232e-05f, -8.230297654e-05f, -8.210735436e-05f, -8.191160612e-05f, -8.171573218e-05f, -8.151973287e-05f, -8.132360855e-05f, -8.112735957e-05f,
+-8.093098627e-05f, -8.073448902e-05f, -8.053786815e-05f, -8.034112402e-05f, -8.014425698e-05f, -7.994726737e-05f, -7.975015556e-05f, -7.955292189e-05f, -7.935556670e-05f, -7.915809036e-05f,
+-7.896049322e-05f, -7.876277562e-05f, -7.856493792e-05f, -7.836698047e-05f, -7.816890362e-05f, -7.797070772e-05f, -7.777239313e-05f, -7.757396020e-05f, -7.737540928e-05f, -7.717674073e-05f,
+-7.697795490e-05f, -7.677905213e-05f, -7.658003280e-05f, -7.638089724e-05f, -7.618164582e-05f, -7.598227888e-05f, -7.578279679e-05f, -7.558319989e-05f, -7.538348854e-05f, -7.518366310e-05f,
+-7.498372391e-05f, -7.478367135e-05f, -7.458350575e-05f, -7.438322748e-05f, -7.418283689e-05f, -7.398233434e-05f, -7.378172019e-05f, -7.358099478e-05f, -7.338015848e-05f, -7.317921164e-05f,
+-7.297815462e-05f, -7.277698777e-05f, -7.257571146e-05f, -7.237432604e-05f, -7.217283187e-05f, -7.197122929e-05f, -7.176951869e-05f, -7.156770040e-05f, -7.136577479e-05f, -7.116374221e-05f,
+-7.096160303e-05f, -7.075935760e-05f, -7.055700628e-05f, -7.035454943e-05f, -7.015198740e-05f, -6.994932057e-05f, -6.974654928e-05f, -6.954367389e-05f, -6.934069477e-05f, -6.913761228e-05f,
+-6.893442677e-05f, -6.873113860e-05f, -6.852774814e-05f, -6.832425574e-05f, -6.812066176e-05f, -6.791696657e-05f, -6.771317053e-05f, -6.750927399e-05f, -6.730527732e-05f, -6.710118087e-05f,
+-6.689698502e-05f, -6.669269011e-05f, -6.648829652e-05f, -6.628380460e-05f, -6.607921472e-05f, -6.587452723e-05f, -6.566974250e-05f, -6.546486090e-05f, -6.525988277e-05f, -6.505480850e-05f,
+-6.484963843e-05f, -6.464437293e-05f, -6.443901237e-05f, -6.423355710e-05f, -6.402800750e-05f, -6.382236392e-05f, -6.361662672e-05f, -6.341079628e-05f, -6.320487295e-05f, -6.299885710e-05f,
+-6.279274908e-05f, -6.258654928e-05f, -6.238025804e-05f, -6.217387574e-05f, -6.196740274e-05f, -6.176083940e-05f, -6.155418609e-05f, -6.134744317e-05f, -6.114061101e-05f, -6.093368997e-05f,
+-6.072668042e-05f, -6.051958272e-05f, -6.031239724e-05f, -6.010512434e-05f, -5.989776439e-05f, -5.969031776e-05f, -5.948278481e-05f, -5.927516591e-05f, -5.906746142e-05f, -5.885967171e-05f,
+-5.865179715e-05f, -5.844383809e-05f, -5.823579492e-05f, -5.802766800e-05f, -5.781945768e-05f, -5.761116435e-05f, -5.740278836e-05f, -5.719433009e-05f, -5.698578990e-05f, -5.677716816e-05f,
+-5.656846523e-05f, -5.635968149e-05f, -5.615081729e-05f, -5.594187302e-05f, -5.573284904e-05f, -5.552374571e-05f, -5.531456340e-05f, -5.510530249e-05f, -5.489596333e-05f, -5.468654631e-05f,
+-5.447705178e-05f, -5.426748012e-05f, -5.405783169e-05f, -5.384810687e-05f, -5.363830602e-05f, -5.342842951e-05f, -5.321847771e-05f, -5.300845099e-05f, -5.279834973e-05f, -5.258817428e-05f,
+-5.237792502e-05f, -5.216760232e-05f, -5.195720654e-05f, -5.174673807e-05f, -5.153619726e-05f, -5.132558449e-05f, -5.111490013e-05f, -5.090414455e-05f, -5.069331812e-05f, -5.048242121e-05f,
+-5.027145419e-05f, -5.006041742e-05f, -4.984931129e-05f, -4.963813617e-05f, -4.942689241e-05f, -4.921558040e-05f, -4.900420051e-05f, -4.879275310e-05f, -4.858123855e-05f, -4.836965723e-05f,
+-4.815800950e-05f, -4.794629576e-05f, -4.773451635e-05f, -4.752267166e-05f, -4.731076206e-05f, -4.709878791e-05f, -4.688674960e-05f, -4.667464749e-05f, -4.646248196e-05f, -4.625025337e-05f,
+-4.603796210e-05f, -4.582560852e-05f, -4.561319301e-05f, -4.540071593e-05f, -4.518817767e-05f, -4.497557858e-05f, -4.476291905e-05f, -4.455019945e-05f, -4.433742015e-05f, -4.412458152e-05f,
+-4.391168393e-05f, -4.369872777e-05f, -4.348571339e-05f, -4.327264119e-05f, -4.305951152e-05f, -4.284632476e-05f, -4.263308129e-05f, -4.241978148e-05f, -4.220642570e-05f, -4.199301433e-05f,
+-4.177954774e-05f, -4.156602630e-05f, -4.135245039e-05f, -4.113882038e-05f, -4.092513665e-05f, -4.071139956e-05f, -4.049760950e-05f, -4.028376684e-05f, -4.006987194e-05f, -3.985592520e-05f,
+-3.964192697e-05f, -3.942787764e-05f, -3.921377758e-05f, -3.899962716e-05f, -3.878542676e-05f, -3.857117675e-05f, -3.835687751e-05f, -3.814252941e-05f, -3.792813283e-05f, -3.771368814e-05f,
+-3.749919572e-05f, -3.728465594e-05f, -3.707006917e-05f, -3.685543580e-05f, -3.664075619e-05f, -3.642603072e-05f, -3.621125977e-05f, -3.599644372e-05f, -3.578158293e-05f, -3.556667778e-05f,
+-3.535172865e-05f, -3.513673591e-05f, -3.492169995e-05f, -3.470662112e-05f, -3.449149982e-05f, -3.427633641e-05f, -3.406113128e-05f, -3.384588479e-05f, -3.363059732e-05f, -3.341526925e-05f,
+-3.319990095e-05f, -3.298449281e-05f, -3.276904519e-05f, -3.255355847e-05f, -3.233803303e-05f, -3.212246924e-05f, -3.190686748e-05f, -3.169122813e-05f, -3.147555156e-05f, -3.125983814e-05f,
+-3.104408826e-05f, -3.082830229e-05f, -3.061248061e-05f, -3.039662359e-05f, -3.018073160e-05f, -2.996480503e-05f, -2.974884426e-05f, -2.953284965e-05f, -2.931682158e-05f, -2.910076044e-05f,
+-2.888466659e-05f, -2.866854042e-05f, -2.845238229e-05f, -2.823619259e-05f, -2.801997170e-05f, -2.780371998e-05f, -2.758743782e-05f, -2.737112559e-05f, -2.715478368e-05f, -2.693841244e-05f,
+-2.672201228e-05f, -2.650558355e-05f, -2.628912663e-05f, -2.607264191e-05f, -2.585612976e-05f, -2.563959055e-05f, -2.542302467e-05f, -2.520643249e-05f, -2.498981438e-05f, -2.477317073e-05f,
+-2.455650190e-05f, -2.433980829e-05f, -2.412309026e-05f, -2.390634818e-05f, -2.368958245e-05f, -2.347279343e-05f, -2.325598150e-05f, -2.303914705e-05f, -2.282229043e-05f, -2.260541204e-05f,
+-2.238851225e-05f, -2.217159143e-05f, -2.195464997e-05f, -2.173768823e-05f, -2.152070661e-05f, -2.130370546e-05f, -2.108668518e-05f, -2.086964614e-05f, -2.065258871e-05f, -2.043551327e-05f,
+-2.021842020e-05f, -2.000130988e-05f, -1.978418268e-05f, -1.956703898e-05f, -1.934987915e-05f, -1.913270358e-05f, -1.891551264e-05f, -1.869830671e-05f, -1.848108616e-05f, -1.826385137e-05f,
+-1.804660272e-05f, -1.782934059e-05f, -1.761206535e-05f, -1.739477738e-05f, -1.717747705e-05f, -1.696016474e-05f, -1.674284084e-05f, -1.652550571e-05f, -1.630815974e-05f, -1.609080329e-05f,
+-1.587343675e-05f, -1.565606050e-05f, -1.543867491e-05f, -1.522128035e-05f, -1.500387721e-05f, -1.478646586e-05f, -1.456904668e-05f, -1.435162004e-05f, -1.413418632e-05f, -1.391674590e-05f,
+-1.369929916e-05f, -1.348184647e-05f, -1.326438820e-05f, -1.304692474e-05f, -1.282945646e-05f, -1.261198374e-05f, -1.239450695e-05f, -1.217702647e-05f, -1.195954269e-05f, -1.174205596e-05f,
+-1.152456667e-05f, -1.130707520e-05f, -1.108958193e-05f, -1.087208722e-05f, -1.065459146e-05f, -1.043709502e-05f, -1.021959828e-05f, -1.000210161e-05f, -9.784605395e-06f, -9.567110006e-06f,
+-9.349615820e-06f, -9.132123213e-06f, -8.914632561e-06f, -8.697144241e-06f, -8.479658628e-06f, -8.262176098e-06f, -8.044697028e-06f, -7.827221792e-06f, -7.609750768e-06f, -7.392284331e-06f,
+-7.174822856e-06f, -6.957366720e-06f, -6.739916298e-06f, -6.522471966e-06f, -6.305034099e-06f, -6.087603074e-06f, -5.870179265e-06f, -5.652763048e-06f, -5.435354799e-06f, -5.217954893e-06f,
+-5.000563705e-06f, -4.783181611e-06f, -4.565808986e-06f, -4.348446206e-06f, -4.131093644e-06f, -3.913751678e-06f, -3.696420681e-06f, -3.479101029e-06f, -3.261793096e-06f, -3.044497258e-06f,
+-2.827213890e-06f, -2.609943366e-06f, -2.392686062e-06f, -2.175442351e-06f, -1.958212609e-06f, -1.740997210e-06f, -1.523796529e-06f, -1.306610940e-06f, -1.089440818e-06f, -8.722865370e-07f,
+-6.551484716e-07f, -4.380269959e-07f, -2.209224843e-07f, -3.835310753e-09f, 2.132341505e-07f, 4.302855254e-07f, 6.473184401e-07f, 8.643325206e-07f, 1.081327393e-06f, 1.298302684e-06f,
+1.515258019e-06f, 1.732193024e-06f, 1.949107327e-06f, 2.166000554e-06f, 2.382872331e-06f, 2.599722285e-06f, 2.816550042e-06f, 3.033355229e-06f, 3.250137473e-06f, 3.466896402e-06f,
+3.683631641e-06f, 3.900342818e-06f, 4.117029560e-06f, 4.333691494e-06f, 4.550328248e-06f, 4.766939448e-06f, 4.983524722e-06f, 5.200083698e-06f, 5.416616003e-06f, 5.633121265e-06f,
+5.849599112e-06f, 6.066049170e-06f, 6.282471069e-06f, 6.498864435e-06f, 6.715228898e-06f, 6.931564085e-06f, 7.147869624e-06f, 7.364145143e-06f, 7.580390271e-06f, 7.796604637e-06f,
+8.012787869e-06f, 8.228939595e-06f, 8.445059443e-06f, 8.661147044e-06f, 8.877202026e-06f, 9.093224017e-06f, 9.309212646e-06f, 9.525167544e-06f, 9.741088338e-06f, 9.956974658e-06f,
+1.017282613e-05f, 1.038864240e-05f, 1.060442307e-05f, 1.082016779e-05f, 1.103587618e-05f, 1.125154788e-05f, 1.146718251e-05f, 1.168277971e-05f, 1.189833910e-05f, 1.211386031e-05f,
+1.232934298e-05f, 1.254478673e-05f, 1.276019120e-05f, 1.297555601e-05f, 1.319088080e-05f, 1.340616520e-05f, 1.362140884e-05f, 1.383661134e-05f, 1.405177235e-05f, 1.426689148e-05f,
+1.448196838e-05f, 1.469700268e-05f, 1.491199400e-05f, 1.512694198e-05f, 1.534184624e-05f, 1.555670643e-05f, 1.577152217e-05f, 1.598629310e-05f, 1.620101884e-05f, 1.641569903e-05f,
+1.663033331e-05f, 1.684492129e-05f, 1.705946263e-05f, 1.727395694e-05f, 1.748840387e-05f, 1.770280304e-05f, 1.791715409e-05f, 1.813145665e-05f, 1.834571036e-05f, 1.855991485e-05f,
+1.877406974e-05f, 1.898817468e-05f, 1.920222930e-05f, 1.941623323e-05f, 1.963018611e-05f, 1.984408757e-05f, 2.005793725e-05f, 2.027173477e-05f, 2.048547978e-05f, 2.069917191e-05f,
+2.091281079e-05f, 2.112639605e-05f, 2.133992734e-05f, 2.155340429e-05f, 2.176682653e-05f, 2.198019369e-05f, 2.219350543e-05f, 2.240676136e-05f, 2.261996112e-05f, 2.283310436e-05f,
+2.304619070e-05f, 2.325921978e-05f, 2.347219124e-05f, 2.368510472e-05f, 2.389795985e-05f, 2.411075627e-05f, 2.432349361e-05f, 2.453617151e-05f, 2.474878961e-05f, 2.496134755e-05f,
+2.517384496e-05f, 2.538628148e-05f, 2.559865675e-05f, 2.581097040e-05f, 2.602322208e-05f, 2.623541142e-05f, 2.644753805e-05f, 2.665960163e-05f, 2.687160177e-05f, 2.708353814e-05f,
+2.729541035e-05f, 2.750721806e-05f, 2.771896090e-05f, 2.793063850e-05f, 2.814225052e-05f, 2.835379658e-05f, 2.856527633e-05f, 2.877668941e-05f, 2.898803545e-05f, 2.919931410e-05f,
+2.941052499e-05f, 2.962166777e-05f, 2.983274208e-05f, 3.004374756e-05f, 3.025468384e-05f, 3.046555058e-05f, 3.067634740e-05f, 3.088707396e-05f, 3.109772988e-05f, 3.130831482e-05f,
+3.151882841e-05f, 3.172927031e-05f, 3.193964013e-05f, 3.214993754e-05f, 3.236016218e-05f, 3.257031367e-05f, 3.278039168e-05f, 3.299039583e-05f, 3.320032578e-05f, 3.341018116e-05f,
+3.361996162e-05f, 3.382966681e-05f, 3.403929636e-05f, 3.424884991e-05f, 3.445832713e-05f, 3.466772763e-05f, 3.487705108e-05f, 3.508629711e-05f, 3.529546537e-05f, 3.550455551e-05f,
+3.571356716e-05f, 3.592249998e-05f, 3.613135360e-05f, 3.634012768e-05f, 3.654882186e-05f, 3.675743578e-05f, 3.696596909e-05f, 3.717442144e-05f, 3.738279247e-05f, 3.759108183e-05f,
+3.779928916e-05f, 3.800741411e-05f, 3.821545634e-05f, 3.842341547e-05f, 3.863129117e-05f, 3.883908308e-05f, 3.904679084e-05f, 3.925441411e-05f, 3.946195252e-05f, 3.966940574e-05f,
+3.987677341e-05f, 4.008405517e-05f, 4.029125068e-05f, 4.049835958e-05f, 4.070538152e-05f, 4.091231615e-05f, 4.111916312e-05f, 4.132592208e-05f, 4.153259269e-05f, 4.173917458e-05f,
+4.194566740e-05f, 4.215207082e-05f, 4.235838448e-05f, 4.256460802e-05f, 4.277074111e-05f, 4.297678339e-05f, 4.318273450e-05f, 4.338859412e-05f, 4.359436187e-05f, 4.380003743e-05f,
+4.400562043e-05f, 4.421111053e-05f, 4.441650738e-05f, 4.462181063e-05f, 4.482701995e-05f, 4.503213497e-05f, 4.523715535e-05f, 4.544208075e-05f, 4.564691082e-05f, 4.585164521e-05f,
+4.605628358e-05f, 4.626082558e-05f, 4.646527086e-05f, 4.666961907e-05f, 4.687386988e-05f, 4.707802294e-05f, 4.728207790e-05f, 4.748603442e-05f, 4.768989215e-05f, 4.789365074e-05f,
+4.809730986e-05f, 4.830086916e-05f, 4.850432830e-05f, 4.870768692e-05f, 4.891094470e-05f, 4.911410128e-05f, 4.931715632e-05f, 4.952010947e-05f, 4.972296041e-05f, 4.992570877e-05f,
+5.012835423e-05f, 5.033089644e-05f, 5.053333505e-05f, 5.073566973e-05f, 5.093790013e-05f, 5.114002592e-05f, 5.134204674e-05f, 5.154396227e-05f, 5.174577215e-05f, 5.194747606e-05f,
+5.214907364e-05f, 5.235056456e-05f, 5.255194848e-05f, 5.275322506e-05f, 5.295439397e-05f, 5.315545485e-05f, 5.335640737e-05f, 5.355725120e-05f, 5.375798599e-05f, 5.395861141e-05f,
+5.415912711e-05f, 5.435953277e-05f, 5.455982804e-05f, 5.476001258e-05f, 5.496008606e-05f, 5.516004815e-05f, 5.535989850e-05f, 5.555963677e-05f, 5.575926264e-05f, 5.595877576e-05f,
+5.615817580e-05f, 5.635746242e-05f, 5.655663529e-05f, 5.675569408e-05f, 5.695463844e-05f, 5.715346805e-05f, 5.735218256e-05f, 5.755078165e-05f, 5.774926498e-05f, 5.794763222e-05f,
+5.814588302e-05f, 5.834401707e-05f, 5.854203402e-05f, 5.873993355e-05f, 5.893771532e-05f, 5.913537899e-05f, 5.933292424e-05f, 5.953035073e-05f, 5.972765814e-05f, 5.992484612e-05f,
+6.012191435e-05f, 6.031886251e-05f, 6.051569024e-05f, 6.071239724e-05f, 6.090898316e-05f, 6.110544767e-05f, 6.130179046e-05f, 6.149801117e-05f, 6.169410950e-05f, 6.189008510e-05f,
+6.208593765e-05f, 6.228166682e-05f, 6.247727228e-05f, 6.267275370e-05f, 6.286811076e-05f, 6.306334313e-05f, 6.325845047e-05f, 6.345343247e-05f, 6.364828879e-05f, 6.384301912e-05f,
+6.403762311e-05f, 6.423210045e-05f, 6.442645081e-05f, 6.462067386e-05f, 6.481476928e-05f, 6.500873675e-05f, 6.520257593e-05f, 6.539628651e-05f, 6.558986815e-05f, 6.578332054e-05f,
+6.597664335e-05f, 6.616983626e-05f, 6.636289893e-05f, 6.655583106e-05f, 6.674863231e-05f, 6.694130237e-05f, 6.713384091e-05f, 6.732624761e-05f, 6.751852214e-05f, 6.771066419e-05f,
+6.790267343e-05f, 6.809454955e-05f, 6.828629222e-05f, 6.847790111e-05f, 6.866937592e-05f, 6.886071631e-05f, 6.905192198e-05f, 6.924299259e-05f, 6.943392784e-05f, 6.962472740e-05f,
+6.981539095e-05f, 7.000591817e-05f, 7.019630875e-05f, 7.038656236e-05f, 7.057667869e-05f, 7.076665743e-05f, 7.095649825e-05f, 7.114620083e-05f, 7.133576487e-05f, 7.152519004e-05f,
+7.171447603e-05f, 7.190362251e-05f, 7.209262919e-05f, 7.228149573e-05f, 7.247022183e-05f, 7.265880717e-05f, 7.284725143e-05f, 7.303555430e-05f, 7.322371547e-05f, 7.341173462e-05f,
+7.359961144e-05f, 7.378734562e-05f, 7.397493684e-05f, 7.416238479e-05f, 7.434968915e-05f, 7.453684962e-05f, 7.472386589e-05f, 7.491073763e-05f, 7.509746454e-05f, 7.528404632e-05f,
+7.547048264e-05f, 7.565677319e-05f, 7.584291768e-05f, 7.602891578e-05f, 7.621476719e-05f, 7.640047159e-05f, 7.658602868e-05f, 7.677143816e-05f, 7.695669970e-05f, 7.714181301e-05f,
+7.732677777e-05f, 7.751159367e-05f, 7.769626042e-05f, 7.788077769e-05f, 7.806514520e-05f, 7.824936261e-05f, 7.843342965e-05f, 7.861734598e-05f, 7.880111132e-05f, 7.898472535e-05f,
+7.916818777e-05f, 7.935149827e-05f, 7.953465656e-05f, 7.971766231e-05f, 7.990051524e-05f, 8.008321504e-05f, 8.026576140e-05f, 8.044815402e-05f, 8.063039259e-05f, 8.081247683e-05f,
+8.099440641e-05f, 8.117618105e-05f, 8.135780043e-05f, 8.153926426e-05f, 8.172057224e-05f, 8.190172406e-05f, 8.208271943e-05f, 8.226355804e-05f, 8.244423959e-05f, 8.262476379e-05f,
+8.280513034e-05f, 8.298533893e-05f, 8.316538926e-05f, 8.334528105e-05f, 8.352501399e-05f, 8.370458778e-05f, 8.388400212e-05f, 8.406325673e-05f, 8.424235129e-05f, 8.442128552e-05f,
+8.460005911e-05f, 8.477867178e-05f, 8.495712322e-05f, 8.513541315e-05f, 8.531354125e-05f, 8.549150725e-05f, 8.566931085e-05f, 8.584695174e-05f, 8.602442964e-05f, 8.620174426e-05f,
+8.637889530e-05f, 8.655588246e-05f, 8.673270546e-05f, 8.690936400e-05f, 8.708585779e-05f, 8.726218654e-05f, 8.743834995e-05f, 8.761434774e-05f, 8.779017962e-05f, 8.796584528e-05f,
+8.814134446e-05f, 8.831667684e-05f, 8.849184215e-05f, 8.866684010e-05f, 8.884167039e-05f, 8.901633274e-05f, 8.919082685e-05f, 8.936515245e-05f, 8.953930924e-05f, 8.971329693e-05f,
+8.988711525e-05f, 9.006076389e-05f, 9.023424258e-05f, 9.040755103e-05f, 9.058068895e-05f, 9.075365606e-05f, 9.092645207e-05f, 9.109907670e-05f, 9.127152966e-05f, 9.144381067e-05f,
+9.161591944e-05f, 9.178785569e-05f, 9.195961915e-05f, 9.213120951e-05f, 9.230262651e-05f, 9.247386986e-05f, 9.264493927e-05f, 9.281583447e-05f, 9.298655518e-05f, 9.315710111e-05f,
+9.332747198e-05f, 9.349766752e-05f, 9.366768743e-05f, 9.383753145e-05f, 9.400719929e-05f, 9.417669068e-05f, 9.434600533e-05f, 9.451514297e-05f, 9.468410332e-05f, 9.485288610e-05f,
+9.502149103e-05f, 9.518991784e-05f, 9.535816625e-05f, 9.552623598e-05f, 9.569412676e-05f, 9.586183831e-05f, 9.602937036e-05f, 9.619672263e-05f, 9.636389485e-05f, 9.653088673e-05f,
+9.669769802e-05f, 9.686432842e-05f, 9.703077768e-05f, 9.719704552e-05f, 9.736313166e-05f, 9.752903583e-05f, 9.769475777e-05f, 9.786029719e-05f, 9.802565382e-05f, 9.819082741e-05f,
+9.835581767e-05f, 9.852062433e-05f, 9.868524713e-05f, 9.884968579e-05f, 9.901394005e-05f, 9.917800964e-05f, 9.934189428e-05f, 9.950559372e-05f, 9.966910767e-05f, 9.983243588e-05f,
+9.999557808e-05f, 1.001585340e-04f, 1.003213034e-04f, 1.004838859e-04f, 1.006462814e-04f, 1.008084895e-04f, 1.009705100e-04f, 1.011323427e-04f, 1.012939872e-04f, 1.014554433e-04f,
+1.016167107e-04f, 1.017777892e-04f, 1.019386785e-04f, 1.020993784e-04f, 1.022598885e-04f, 1.024202087e-04f, 1.025803386e-04f, 1.027402780e-04f, 1.029000266e-04f, 1.030595842e-04f,
+1.032189505e-04f, 1.033781253e-04f, 1.035371083e-04f, 1.036958992e-04f, 1.038544978e-04f, 1.040129037e-04f, 1.041711169e-04f, 1.043291369e-04f, 1.044869636e-04f, 1.046445967e-04f,
+1.048020359e-04f, 1.049592810e-04f, 1.051163317e-04f, 1.052731878e-04f, 1.054298489e-04f, 1.055863149e-04f, 1.057425855e-04f, 1.058986605e-04f, 1.060545395e-04f, 1.062102224e-04f,
+1.063657088e-04f, 1.065209986e-04f, 1.066760915e-04f, 1.068309871e-04f, 1.069856854e-04f, 1.071401859e-04f, 1.072944886e-04f, 1.074485930e-04f, 1.076024990e-04f, 1.077562064e-04f,
+1.079097148e-04f, 1.080630240e-04f, 1.082161338e-04f, 1.083690439e-04f, 1.085217541e-04f, 1.086742641e-04f, 1.088265737e-04f, 1.089786826e-04f, 1.091305906e-04f, 1.092822974e-04f,
+1.094338028e-04f, 1.095851066e-04f, 1.097362085e-04f, 1.098871082e-04f, 1.100378056e-04f, 1.101883003e-04f, 1.103385921e-04f, 1.104886808e-04f, 1.106385662e-04f, 1.107882479e-04f,
+1.109377258e-04f, 1.110869996e-04f, 1.112360691e-04f, 1.113849340e-04f, 1.115335941e-04f, 1.116820492e-04f, 1.118302989e-04f, 1.119783431e-04f, 1.121261816e-04f, 1.122738140e-04f,
+1.124212402e-04f, 1.125684599e-04f, 1.127154728e-04f, 1.128622789e-04f, 1.130088777e-04f, 1.131552690e-04f, 1.133014527e-04f, 1.134474285e-04f, 1.135931962e-04f, 1.137387554e-04f,
+1.138841061e-04f, 1.140292479e-04f, 1.141741806e-04f, 1.143189040e-04f, 1.144634179e-04f, 1.146077220e-04f, 1.147518160e-04f, 1.148956998e-04f, 1.150393732e-04f, 1.151828358e-04f,
+1.153260875e-04f, 1.154691280e-04f, 1.156119571e-04f, 1.157545746e-04f, 1.158969803e-04f, 1.160391738e-04f, 1.161811550e-04f, 1.163229237e-04f, 1.164644796e-04f, 1.166058225e-04f,
+1.167469522e-04f, 1.168878684e-04f, 1.170285710e-04f, 1.171690596e-04f, 1.173093341e-04f, 1.174493943e-04f, 1.175892398e-04f, 1.177288706e-04f, 1.178682863e-04f, 1.180074868e-04f,
+1.181464718e-04f, 1.182852411e-04f, 1.184237944e-04f, 1.185621317e-04f, 1.187002525e-04f, 1.188381568e-04f, 1.189758443e-04f, 1.191133147e-04f, 1.192505679e-04f, 1.193876037e-04f,
+1.195244217e-04f, 1.196610218e-04f, 1.197974038e-04f, 1.199335675e-04f, 1.200695126e-04f, 1.202052390e-04f, 1.203407463e-04f, 1.204760344e-04f, 1.206111031e-04f, 1.207459522e-04f,
+1.208805814e-04f, 1.210149905e-04f, 1.211491794e-04f, 1.212831477e-04f, 1.214168953e-04f, 1.215504220e-04f, 1.216837276e-04f, 1.218168118e-04f, 1.219496744e-04f, 1.220823153e-04f,
+1.222147342e-04f, 1.223469308e-04f, 1.224789051e-04f, 1.226106568e-04f, 1.227421856e-04f, 1.228734914e-04f, 1.230045739e-04f, 1.231354330e-04f, 1.232660684e-04f, 1.233964799e-04f,
+1.235266674e-04f, 1.236566306e-04f, 1.237863693e-04f, 1.239158832e-04f, 1.240451723e-04f, 1.241742363e-04f, 1.243030750e-04f, 1.244316881e-04f, 1.245600755e-04f, 1.246882370e-04f,
+1.248161724e-04f, 1.249438814e-04f, 1.250713639e-04f, 1.251986197e-04f, 1.253256485e-04f, 1.254524502e-04f, 1.255790246e-04f, 1.257053714e-04f, 1.258314904e-04f, 1.259573816e-04f,
+1.260830446e-04f, 1.262084792e-04f, 1.263336854e-04f, 1.264586627e-04f, 1.265834112e-04f, 1.267079305e-04f, 1.268322205e-04f, 1.269562810e-04f, 1.270801118e-04f, 1.272037127e-04f,
+1.273270834e-04f, 1.274502239e-04f, 1.275731338e-04f, 1.276958131e-04f, 1.278182615e-04f, 1.279404788e-04f, 1.280624648e-04f, 1.281842194e-04f, 1.283057424e-04f, 1.284270335e-04f,
+1.285480925e-04f, 1.286689194e-04f, 1.287895138e-04f, 1.289098756e-04f, 1.290300046e-04f, 1.291499007e-04f, 1.292695635e-04f, 1.293889931e-04f, 1.295081890e-04f, 1.296271513e-04f,
+1.297458796e-04f, 1.298643738e-04f, 1.299826338e-04f, 1.301006592e-04f, 1.302184500e-04f, 1.303360060e-04f, 1.304533269e-04f, 1.305704126e-04f, 1.306872629e-04f, 1.308038776e-04f,
+1.309202566e-04f, 1.310363996e-04f, 1.311523065e-04f, 1.312679771e-04f, 1.313834112e-04f, 1.314986087e-04f, 1.316135693e-04f, 1.317282929e-04f, 1.318427792e-04f, 1.319570282e-04f,
+1.320710396e-04f, 1.321848133e-04f, 1.322983491e-04f, 1.324116467e-04f, 1.325247061e-04f, 1.326375271e-04f, 1.327501094e-04f, 1.328624530e-04f, 1.329745575e-04f, 1.330864229e-04f,
+1.331980490e-04f, 1.333094356e-04f, 1.334205826e-04f, 1.335314897e-04f, 1.336421567e-04f, 1.337525836e-04f, 1.338627702e-04f, 1.339727162e-04f, 1.340824215e-04f, 1.341918860e-04f,
+1.343011094e-04f, 1.344100916e-04f, 1.345188325e-04f, 1.346273318e-04f, 1.347355893e-04f, 1.348436051e-04f, 1.349513787e-04f, 1.350589102e-04f, 1.351661993e-04f, 1.352732458e-04f,
+1.353800496e-04f, 1.354866106e-04f, 1.355929285e-04f, 1.356990032e-04f, 1.358048346e-04f, 1.359104224e-04f, 1.360157666e-04f, 1.361208668e-04f, 1.362257231e-04f, 1.363303352e-04f,
+1.364347030e-04f, 1.365388262e-04f, 1.366427048e-04f, 1.367463386e-04f, 1.368497274e-04f, 1.369528711e-04f, 1.370557695e-04f, 1.371584224e-04f, 1.372608297e-04f, 1.373629913e-04f,
+1.374649069e-04f, 1.375665764e-04f, 1.376679998e-04f, 1.377691767e-04f, 1.378701071e-04f, 1.379707908e-04f, 1.380712276e-04f, 1.381714174e-04f, 1.382713601e-04f, 1.383710555e-04f,
+1.384705034e-04f, 1.385697036e-04f, 1.386686561e-04f, 1.387673607e-04f, 1.388658173e-04f, 1.389640256e-04f, 1.390619855e-04f, 1.391596969e-04f, 1.392571597e-04f, 1.393543737e-04f,
+1.394513386e-04f, 1.395480545e-04f, 1.396445211e-04f, 1.397407384e-04f, 1.398367060e-04f, 1.399324240e-04f, 1.400278921e-04f, 1.401231103e-04f, 1.402180783e-04f, 1.403127961e-04f,
+1.404072634e-04f, 1.405014802e-04f, 1.405954463e-04f, 1.406891615e-04f, 1.407826258e-04f, 1.408758389e-04f, 1.409688008e-04f, 1.410615113e-04f, 1.411539702e-04f, 1.412461774e-04f,
+1.413381329e-04f, 1.414298363e-04f, 1.415212877e-04f, 1.416124868e-04f, 1.417034335e-04f, 1.417941278e-04f, 1.418845694e-04f, 1.419747582e-04f, 1.420646940e-04f, 1.421543769e-04f,
+1.422438065e-04f, 1.423329829e-04f, 1.424219057e-04f, 1.425105750e-04f, 1.425989906e-04f, 1.426871523e-04f, 1.427750600e-04f, 1.428627136e-04f, 1.429501130e-04f, 1.430372580e-04f,
+1.431241485e-04f, 1.432107843e-04f, 1.432971654e-04f, 1.433832916e-04f, 1.434691628e-04f, 1.435547788e-04f, 1.436401396e-04f, 1.437252449e-04f, 1.438100947e-04f, 1.438946889e-04f,
+1.439790273e-04f, 1.440631097e-04f, 1.441469362e-04f, 1.442305065e-04f, 1.443138205e-04f, 1.443968781e-04f, 1.444796792e-04f, 1.445622237e-04f, 1.446445114e-04f, 1.447265422e-04f,
+1.448083159e-04f, 1.448898326e-04f, 1.449710920e-04f, 1.450520941e-04f, 1.451328386e-04f, 1.452133256e-04f, 1.452935548e-04f, 1.453735262e-04f, 1.454532396e-04f, 1.455326949e-04f,
+1.456118921e-04f, 1.456908310e-04f, 1.457695114e-04f, 1.458479333e-04f, 1.459260965e-04f, 1.460040010e-04f, 1.460816466e-04f, 1.461590332e-04f, 1.462361607e-04f, 1.463130290e-04f,
+1.463896379e-04f, 1.464659874e-04f, 1.465420774e-04f, 1.466179077e-04f, 1.466934782e-04f, 1.467687888e-04f, 1.468438395e-04f, 1.469186300e-04f, 1.469931604e-04f, 1.470674304e-04f,
+1.471414400e-04f, 1.472151891e-04f, 1.472886776e-04f, 1.473619053e-04f, 1.474348721e-04f, 1.475075781e-04f, 1.475800229e-04f, 1.476522066e-04f, 1.477241291e-04f, 1.477957902e-04f,
+1.478671898e-04f, 1.479383278e-04f, 1.480092042e-04f, 1.480798188e-04f, 1.481501715e-04f, 1.482202623e-04f, 1.482900910e-04f, 1.483596575e-04f, 1.484289617e-04f, 1.484980036e-04f,
+1.485667830e-04f, 1.486352999e-04f, 1.487035540e-04f, 1.487715455e-04f, 1.488392740e-04f, 1.489067397e-04f, 1.489739422e-04f, 1.490408817e-04f, 1.491075579e-04f, 1.491739708e-04f,
+1.492401202e-04f, 1.493060062e-04f, 1.493716285e-04f, 1.494369872e-04f, 1.495020820e-04f, 1.495669130e-04f, 1.496314800e-04f, 1.496957830e-04f, 1.497598218e-04f, 1.498235963e-04f,
+1.498871065e-04f, 1.499503524e-04f, 1.500133337e-04f, 1.500760504e-04f, 1.501385025e-04f, 1.502006897e-04f, 1.502626122e-04f, 1.503242697e-04f, 1.503856622e-04f, 1.504467895e-04f,
+1.505076517e-04f, 1.505682486e-04f, 1.506285802e-04f, 1.506886463e-04f, 1.507484469e-04f, 1.508079819e-04f, 1.508672513e-04f, 1.509262548e-04f, 1.509849925e-04f, 1.510434643e-04f,
+1.511016701e-04f, 1.511596098e-04f, 1.512172834e-04f, 1.512746907e-04f, 1.513318317e-04f, 1.513887063e-04f, 1.514453145e-04f, 1.515016561e-04f, 1.515577310e-04f, 1.516135393e-04f,
+1.516690808e-04f, 1.517243555e-04f, 1.517793632e-04f, 1.518341040e-04f, 1.518885777e-04f, 1.519427843e-04f, 1.519967236e-04f, 1.520503957e-04f, 1.521038004e-04f, 1.521569377e-04f,
+1.522098075e-04f, 1.522624098e-04f, 1.523147444e-04f, 1.523668114e-04f, 1.524186105e-04f, 1.524701419e-04f, 1.525214053e-04f, 1.525724008e-04f, 1.526231282e-04f, 1.526735875e-04f,
+1.527237787e-04f, 1.527737016e-04f, 1.528233563e-04f, 1.528727426e-04f, 1.529218604e-04f, 1.529707098e-04f, 1.530192907e-04f, 1.530676029e-04f, 1.531156465e-04f, 1.531634213e-04f,
+1.532109273e-04f, 1.532581645e-04f, 1.533051328e-04f, 1.533518321e-04f, 1.533982624e-04f, 1.534444236e-04f, 1.534903157e-04f, 1.535359385e-04f, 1.535812921e-04f, 1.536263764e-04f,
+1.536711913e-04f, 1.537157368e-04f, 1.537600128e-04f, 1.538040192e-04f, 1.538477561e-04f, 1.538912233e-04f, 1.539344209e-04f, 1.539773486e-04f, 1.540200066e-04f, 1.540623948e-04f,
+1.541045130e-04f, 1.541463613e-04f, 1.541879395e-04f, 1.542292477e-04f, 1.542702859e-04f, 1.543110538e-04f, 1.543515516e-04f, 1.543917791e-04f, 1.544317363e-04f, 1.544714232e-04f,
+1.545108397e-04f, 1.545499857e-04f, 1.545888613e-04f, 1.546274663e-04f, 1.546658008e-04f, 1.547038646e-04f, 1.547416578e-04f, 1.547791803e-04f, 1.548164321e-04f, 1.548534131e-04f,
+1.548901232e-04f, 1.549265625e-04f, 1.549627308e-04f, 1.549986282e-04f, 1.550342547e-04f, 1.550696101e-04f, 1.551046944e-04f, 1.551395076e-04f, 1.551740497e-04f, 1.552083206e-04f,
+1.552423202e-04f, 1.552760486e-04f, 1.553095058e-04f, 1.553426916e-04f, 1.553756060e-04f, 1.554082490e-04f, 1.554406206e-04f, 1.554727208e-04f, 1.555045494e-04f, 1.555361065e-04f,
+1.555673921e-04f, 1.555984060e-04f, 1.556291484e-04f, 1.556596190e-04f, 1.556898180e-04f, 1.557197453e-04f, 1.557494008e-04f, 1.557787845e-04f, 1.558078965e-04f, 1.558367366e-04f,
+1.558653048e-04f, 1.558936012e-04f, 1.559216256e-04f, 1.559493781e-04f, 1.559768587e-04f, 1.560040672e-04f, 1.560310037e-04f, 1.560576682e-04f, 1.560840607e-04f, 1.561101810e-04f,
+1.561360292e-04f, 1.561616054e-04f, 1.561869093e-04f, 1.562119411e-04f, 1.562367006e-04f, 1.562611880e-04f, 1.562854031e-04f, 1.563093460e-04f, 1.563330166e-04f, 1.563564149e-04f,
+1.563795409e-04f, 1.564023945e-04f, 1.564249758e-04f, 1.564472848e-04f, 1.564693214e-04f, 1.564910855e-04f, 1.565125773e-04f, 1.565337966e-04f, 1.565547435e-04f, 1.565754180e-04f,
+1.565958199e-04f, 1.566159494e-04f, 1.566358064e-04f, 1.566553909e-04f, 1.566747029e-04f, 1.566937424e-04f, 1.567125093e-04f, 1.567310037e-04f, 1.567492255e-04f, 1.567671747e-04f,
+1.567848514e-04f, 1.568022555e-04f, 1.568193870e-04f, 1.568362459e-04f, 1.568528322e-04f, 1.568691459e-04f, 1.568851870e-04f, 1.569009554e-04f, 1.569164513e-04f, 1.569316744e-04f,
+1.569466250e-04f, 1.569613029e-04f, 1.569757082e-04f, 1.569898408e-04f, 1.570037008e-04f, 1.570172882e-04f, 1.570306028e-04f, 1.570436449e-04f, 1.570564143e-04f, 1.570689110e-04f,
+1.570811351e-04f, 1.570930866e-04f, 1.571047654e-04f, 1.571161715e-04f, 1.571273050e-04f, 1.571381659e-04f, 1.571487542e-04f, 1.571590698e-04f, 1.571691128e-04f, 1.571788831e-04f,
+1.571883809e-04f, 1.571976060e-04f, 1.572065586e-04f, 1.572152385e-04f, 1.572236459e-04f, 1.572317807e-04f, 1.572396429e-04f, 1.572472325e-04f, 1.572545496e-04f, 1.572615942e-04f,
+1.572683662e-04f, 1.572748657e-04f, 1.572810927e-04f, 1.572870471e-04f, 1.572927291e-04f, 1.572981386e-04f, 1.573032757e-04f, 1.573081403e-04f, 1.573127325e-04f, 1.573170522e-04f,
+1.573210996e-04f, 1.573248745e-04f, 1.573283771e-04f, 1.573316073e-04f, 1.573345652e-04f, 1.573372508e-04f, 1.573396640e-04f, 1.573418050e-04f, 1.573436737e-04f, 1.573452701e-04f,
+1.573465943e-04f, 1.573476463e-04f, 1.573484261e-04f, 1.573489338e-04f, 1.573491693e-04f, 1.573491326e-04f, 1.573488239e-04f, 1.573482431e-04f, 1.573473902e-04f, 1.573462653e-04f,
+1.573448684e-04f, 1.573431995e-04f, 1.573412587e-04f, 1.573390459e-04f, 1.573365612e-04f, 1.573338046e-04f, 1.573307762e-04f, 1.573274759e-04f, 1.573239039e-04f, 1.573200601e-04f,
+1.573159445e-04f, 1.573115572e-04f, 1.573068983e-04f, 1.573019677e-04f, 1.572967655e-04f, 1.572912917e-04f, 1.572855463e-04f, 1.572795294e-04f, 1.572732410e-04f, 1.572666812e-04f,
+1.572598500e-04f, 1.572527473e-04f, 1.572453733e-04f, 1.572377280e-04f, 1.572298114e-04f, 1.572216235e-04f, 1.572131644e-04f, 1.572044342e-04f, 1.571954328e-04f, 1.571861603e-04f,
+1.571766168e-04f, 1.571668022e-04f, 1.571567167e-04f, 1.571463602e-04f, 1.571357328e-04f, 1.571248345e-04f, 1.571136654e-04f, 1.571022256e-04f, 1.570905150e-04f, 1.570785337e-04f,
+1.570662817e-04f, 1.570537592e-04f, 1.570409660e-04f, 1.570279024e-04f, 1.570145683e-04f, 1.570009637e-04f, 1.569870888e-04f, 1.569729435e-04f, 1.569585279e-04f, 1.569438421e-04f,
+1.569288861e-04f, 1.569136600e-04f, 1.568981637e-04f, 1.568823974e-04f, 1.568663611e-04f, 1.568500548e-04f, 1.568334786e-04f, 1.568166326e-04f, 1.567995168e-04f, 1.567821312e-04f,
+1.567644759e-04f, 1.567465510e-04f, 1.567283565e-04f, 1.567098925e-04f, 1.566911590e-04f, 1.566721561e-04f, 1.566528837e-04f, 1.566333421e-04f, 1.566135312e-04f, 1.565934511e-04f,
+1.565731019e-04f, 1.565524835e-04f, 1.565315962e-04f, 1.565104398e-04f, 1.564890146e-04f, 1.564673205e-04f, 1.564453575e-04f, 1.564231259e-04f, 1.564006256e-04f, 1.563778566e-04f,
+1.563548191e-04f, 1.563315132e-04f, 1.563079387e-04f, 1.562840960e-04f, 1.562599849e-04f, 1.562356056e-04f, 1.562109581e-04f, 1.561860425e-04f, 1.561608588e-04f, 1.561354072e-04f,
+1.561096876e-04f, 1.560837002e-04f, 1.560574451e-04f, 1.560309222e-04f, 1.560041317e-04f, 1.559770736e-04f, 1.559497479e-04f, 1.559221549e-04f, 1.558942945e-04f, 1.558661668e-04f,
+1.558377718e-04f, 1.558091097e-04f, 1.557801805e-04f, 1.557509843e-04f, 1.557215212e-04f, 1.556917912e-04f, 1.556617944e-04f, 1.556315309e-04f, 1.556010007e-04f, 1.555702039e-04f,
+1.555391407e-04f, 1.555078111e-04f, 1.554762151e-04f, 1.554443528e-04f, 1.554122243e-04f, 1.553798298e-04f, 1.553471692e-04f, 1.553142426e-04f, 1.552810501e-04f, 1.552475919e-04f,
+1.552138679e-04f, 1.551798783e-04f, 1.551456232e-04f, 1.551111026e-04f, 1.550763165e-04f, 1.550412652e-04f, 1.550059486e-04f, 1.549703669e-04f, 1.549345201e-04f, 1.548984083e-04f,
+1.548620317e-04f, 1.548253902e-04f, 1.547884840e-04f, 1.547513132e-04f, 1.547138778e-04f, 1.546761779e-04f, 1.546382136e-04f, 1.545999851e-04f, 1.545614923e-04f, 1.545227355e-04f,
+1.544837146e-04f, 1.544444297e-04f, 1.544048811e-04f, 1.543650686e-04f, 1.543249925e-04f, 1.542846528e-04f, 1.542440496e-04f, 1.542031830e-04f, 1.541620532e-04f, 1.541206601e-04f,
+1.540790039e-04f, 1.540370846e-04f, 1.539949025e-04f, 1.539524575e-04f, 1.539097497e-04f, 1.538667794e-04f, 1.538235464e-04f, 1.537800511e-04f, 1.537362933e-04f, 1.536922734e-04f,
+1.536479912e-04f, 1.536034470e-04f, 1.535586408e-04f, 1.535135728e-04f, 1.534682430e-04f, 1.534226515e-04f, 1.533767985e-04f, 1.533306840e-04f, 1.532843082e-04f, 1.532376711e-04f,
+1.531907728e-04f, 1.531436135e-04f, 1.530961932e-04f, 1.530485121e-04f, 1.530005702e-04f, 1.529523677e-04f, 1.529039047e-04f, 1.528551812e-04f, 1.528061974e-04f, 1.527569534e-04f,
+1.527074492e-04f, 1.526576851e-04f, 1.526076611e-04f, 1.525573773e-04f, 1.525068337e-04f, 1.524560307e-04f, 1.524049681e-04f, 1.523536463e-04f, 1.523020651e-04f, 1.522502249e-04f,
+1.521981256e-04f, 1.521457674e-04f, 1.520931504e-04f, 1.520402747e-04f, 1.519871405e-04f, 1.519337477e-04f, 1.518800967e-04f, 1.518261874e-04f, 1.517720200e-04f, 1.517175946e-04f,
+1.516629113e-04f, 1.516079702e-04f, 1.515527715e-04f, 1.514973152e-04f, 1.514416016e-04f, 1.513856306e-04f, 1.513294024e-04f, 1.512729172e-04f, 1.512161750e-04f, 1.511591760e-04f,
+1.511019202e-04f, 1.510444079e-04f, 1.509866391e-04f, 1.509286140e-04f, 1.508703326e-04f, 1.508117952e-04f, 1.507530017e-04f, 1.506939524e-04f, 1.506346474e-04f, 1.505750867e-04f,
+1.505152706e-04f, 1.504551991e-04f, 1.503948724e-04f, 1.503342905e-04f, 1.502734537e-04f, 1.502123620e-04f, 1.501510155e-04f, 1.500894145e-04f, 1.500275589e-04f, 1.499654491e-04f,
+1.499030850e-04f, 1.498404668e-04f, 1.497775946e-04f, 1.497144686e-04f, 1.496510889e-04f, 1.495874556e-04f, 1.495235689e-04f, 1.494594289e-04f, 1.493950356e-04f, 1.493303894e-04f,
+1.492654902e-04f, 1.492003382e-04f, 1.491349336e-04f, 1.490692765e-04f, 1.490033670e-04f, 1.489372052e-04f, 1.488707913e-04f, 1.488041255e-04f, 1.487372078e-04f, 1.486700384e-04f,
+1.486026175e-04f, 1.485349451e-04f, 1.484670214e-04f, 1.483988466e-04f, 1.483304207e-04f, 1.482617440e-04f, 1.481928166e-04f, 1.481236385e-04f, 1.480542100e-04f, 1.479845312e-04f,
+1.479146022e-04f, 1.478444232e-04f, 1.477739942e-04f, 1.477033156e-04f, 1.476323873e-04f, 1.475612096e-04f, 1.474897825e-04f, 1.474181063e-04f, 1.473461811e-04f, 1.472740069e-04f,
+1.472015840e-04f, 1.471289126e-04f, 1.470559927e-04f, 1.469828244e-04f, 1.469094081e-04f, 1.468357437e-04f, 1.467618314e-04f, 1.466876715e-04f, 1.466132640e-04f, 1.465386091e-04f,
+1.464637069e-04f, 1.463885576e-04f, 1.463131613e-04f, 1.462375183e-04f, 1.461616285e-04f, 1.460854923e-04f, 1.460091097e-04f, 1.459324809e-04f, 1.458556060e-04f, 1.457784853e-04f,
+1.457011188e-04f, 1.456235067e-04f, 1.455456492e-04f, 1.454675464e-04f, 1.453891985e-04f, 1.453106056e-04f, 1.452317678e-04f, 1.451526855e-04f, 1.450733586e-04f, 1.449937874e-04f,
+1.449139720e-04f, 1.448339126e-04f, 1.447536093e-04f, 1.446730622e-04f, 1.445922717e-04f, 1.445112377e-04f, 1.444299606e-04f, 1.443484403e-04f, 1.442666772e-04f, 1.441846712e-04f,
+1.441024228e-04f, 1.440199318e-04f, 1.439371987e-04f, 1.438542234e-04f, 1.437710062e-04f, 1.436875472e-04f, 1.436038466e-04f, 1.435199046e-04f, 1.434357213e-04f, 1.433512969e-04f,
+1.432666316e-04f, 1.431817254e-04f, 1.430965787e-04f, 1.430111915e-04f, 1.429255640e-04f, 1.428396965e-04f, 1.427535889e-04f, 1.426672417e-04f, 1.425806548e-04f, 1.424938285e-04f,
+1.424067629e-04f, 1.423194582e-04f, 1.422319146e-04f, 1.421441322e-04f, 1.420561113e-04f, 1.419678520e-04f, 1.418793544e-04f, 1.417906188e-04f, 1.417016452e-04f, 1.416124340e-04f,
+1.415229852e-04f, 1.414332990e-04f, 1.413433757e-04f, 1.412532153e-04f, 1.411628181e-04f, 1.410721843e-04f, 1.409813139e-04f, 1.408902072e-04f, 1.407988644e-04f, 1.407072856e-04f,
+1.406154711e-04f, 1.405234209e-04f, 1.404311353e-04f, 1.403386145e-04f, 1.402458586e-04f, 1.401528678e-04f, 1.400596423e-04f, 1.399661823e-04f, 1.398724880e-04f, 1.397785594e-04f,
+1.396843969e-04f, 1.395900006e-04f, 1.394953707e-04f, 1.394005074e-04f, 1.393054108e-04f, 1.392100811e-04f, 1.391145186e-04f, 1.390187233e-04f, 1.389226955e-04f, 1.388264355e-04f,
+1.387299432e-04f, 1.386332190e-04f, 1.385362631e-04f, 1.384390755e-04f, 1.383416566e-04f, 1.382440065e-04f, 1.381461253e-04f, 1.380480133e-04f, 1.379496707e-04f, 1.378510976e-04f,
+1.377522942e-04f, 1.376532608e-04f, 1.375539975e-04f, 1.374545045e-04f, 1.373547820e-04f, 1.372548301e-04f, 1.371546492e-04f, 1.370542393e-04f, 1.369536007e-04f, 1.368527336e-04f,
+1.367516381e-04f, 1.366503144e-04f, 1.365487628e-04f, 1.364469835e-04f, 1.363449765e-04f, 1.362427422e-04f, 1.361402807e-04f, 1.360375922e-04f, 1.359346769e-04f, 1.358315351e-04f,
+1.357281668e-04f, 1.356245724e-04f, 1.355207519e-04f, 1.354167057e-04f, 1.353124338e-04f, 1.352079365e-04f, 1.351032141e-04f, 1.349982666e-04f, 1.348930943e-04f, 1.347876975e-04f,
+1.346820762e-04f, 1.345762307e-04f, 1.344701612e-04f, 1.343638679e-04f, 1.342573511e-04f, 1.341506108e-04f, 1.340436474e-04f, 1.339364609e-04f, 1.338290517e-04f, 1.337214199e-04f,
+1.336135657e-04f, 1.335054894e-04f, 1.333971910e-04f, 1.332886710e-04f, 1.331799294e-04f, 1.330709664e-04f, 1.329617823e-04f, 1.328523772e-04f, 1.327427515e-04f, 1.326329052e-04f,
+1.325228386e-04f, 1.324125519e-04f, 1.323020453e-04f, 1.321913191e-04f, 1.320803734e-04f, 1.319692084e-04f, 1.318578243e-04f, 1.317462214e-04f, 1.316343999e-04f, 1.315223600e-04f,
+1.314101018e-04f, 1.312976257e-04f, 1.311849318e-04f, 1.310720203e-04f, 1.309588914e-04f, 1.308455455e-04f, 1.307319825e-04f, 1.306182029e-04f, 1.305042068e-04f, 1.303899944e-04f,
+1.302755659e-04f, 1.301609216e-04f, 1.300460616e-04f, 1.299309862e-04f, 1.298156956e-04f, 1.297001900e-04f, 1.295844697e-04f, 1.294685348e-04f, 1.293523856e-04f, 1.292360222e-04f,
+1.291194450e-04f, 1.290026541e-04f, 1.288856497e-04f, 1.287684321e-04f, 1.286510014e-04f, 1.285333580e-04f, 1.284155020e-04f, 1.282974337e-04f, 1.281791532e-04f, 1.280606608e-04f,
+1.279419567e-04f, 1.278230412e-04f, 1.277039144e-04f, 1.275845766e-04f, 1.274650281e-04f, 1.273452689e-04f, 1.272252994e-04f, 1.271051198e-04f, 1.269847303e-04f, 1.268641311e-04f,
+1.267433225e-04f, 1.266223046e-04f, 1.265010778e-04f, 1.263796422e-04f, 1.262579980e-04f, 1.261361456e-04f, 1.260140851e-04f, 1.258918167e-04f, 1.257693407e-04f, 1.256466573e-04f,
+1.255237668e-04f, 1.254006693e-04f, 1.252773651e-04f, 1.251538544e-04f, 1.250301375e-04f, 1.249062146e-04f, 1.247820859e-04f, 1.246577516e-04f, 1.245332120e-04f, 1.244084674e-04f,
+1.242835179e-04f, 1.241583637e-04f, 1.240330052e-04f, 1.239074425e-04f, 1.237816759e-04f, 1.236557056e-04f, 1.235295319e-04f, 1.234031550e-04f, 1.232765750e-04f, 1.231497924e-04f,
+1.230228072e-04f, 1.228956198e-04f, 1.227682303e-04f, 1.226406390e-04f, 1.225128462e-04f, 1.223848520e-04f, 1.222566568e-04f, 1.221282607e-04f, 1.219996640e-04f, 1.218708669e-04f,
+1.217418697e-04f, 1.216126726e-04f, 1.214832759e-04f, 1.213536797e-04f, 1.212238844e-04f, 1.210938902e-04f, 1.209636972e-04f, 1.208333059e-04f, 1.207027163e-04f, 1.205719288e-04f,
+1.204409435e-04f, 1.203097608e-04f, 1.201783808e-04f, 1.200468039e-04f, 1.199150302e-04f, 1.197830600e-04f, 1.196508935e-04f, 1.195185311e-04f, 1.193859728e-04f, 1.192532191e-04f,
+1.191202701e-04f, 1.189871260e-04f, 1.188537872e-04f, 1.187202538e-04f, 1.185865261e-04f, 1.184526044e-04f, 1.183184890e-04f, 1.181841799e-04f, 1.180496776e-04f, 1.179149822e-04f,
+1.177800940e-04f, 1.176450133e-04f, 1.175097402e-04f, 1.173742752e-04f, 1.172386183e-04f, 1.171027698e-04f, 1.169667301e-04f, 1.168304993e-04f, 1.166940777e-04f, 1.165574656e-04f,
+1.164206632e-04f, 1.162836707e-04f, 1.161464885e-04f, 1.160091167e-04f, 1.158715556e-04f, 1.157338055e-04f, 1.155958667e-04f, 1.154577393e-04f, 1.153194236e-04f, 1.151809200e-04f,
+1.150422286e-04f, 1.149033496e-04f, 1.147642835e-04f, 1.146250303e-04f, 1.144855904e-04f, 1.143459641e-04f, 1.142061515e-04f, 1.140661529e-04f, 1.139259687e-04f, 1.137855990e-04f,
+1.136450441e-04f, 1.135043043e-04f, 1.133633798e-04f, 1.132222709e-04f, 1.130809779e-04f, 1.129395009e-04f, 1.127978404e-04f, 1.126559964e-04f, 1.125139694e-04f, 1.123717594e-04f,
+1.122293669e-04f, 1.120867921e-04f, 1.119440352e-04f, 1.118010965e-04f, 1.116579763e-04f, 1.115146747e-04f, 1.113711922e-04f, 1.112275289e-04f, 1.110836851e-04f, 1.109396611e-04f,
+1.107954571e-04f, 1.106510734e-04f, 1.105065103e-04f, 1.103617680e-04f, 1.102168468e-04f, 1.100717470e-04f, 1.099264688e-04f, 1.097810125e-04f, 1.096353783e-04f, 1.094895666e-04f,
+1.093435775e-04f, 1.091974115e-04f, 1.090510686e-04f, 1.089045493e-04f, 1.087578537e-04f, 1.086109821e-04f, 1.084639348e-04f, 1.083167122e-04f, 1.081693143e-04f, 1.080217416e-04f,
+1.078739942e-04f, 1.077260725e-04f, 1.075779767e-04f, 1.074297070e-04f, 1.072812639e-04f, 1.071326474e-04f, 1.069838580e-04f, 1.068348959e-04f, 1.066857612e-04f, 1.065364544e-04f,
+1.063869757e-04f, 1.062373254e-04f, 1.060875037e-04f, 1.059375109e-04f, 1.057873473e-04f, 1.056370131e-04f, 1.054865087e-04f, 1.053358342e-04f, 1.051849901e-04f, 1.050339765e-04f,
+1.048827937e-04f, 1.047314421e-04f, 1.045799218e-04f, 1.044282331e-04f, 1.042763765e-04f, 1.041243520e-04f, 1.039721600e-04f, 1.038198007e-04f, 1.036672745e-04f, 1.035145817e-04f,
+1.033617224e-04f, 1.032086970e-04f, 1.030555057e-04f, 1.029021489e-04f, 1.027486268e-04f, 1.025949397e-04f, 1.024410878e-04f, 1.022870715e-04f, 1.021328910e-04f, 1.019785467e-04f,
+1.018240387e-04f, 1.016693674e-04f, 1.015145330e-04f, 1.013595359e-04f, 1.012043763e-04f, 1.010490545e-04f, 1.008935708e-04f, 1.007379254e-04f, 1.005821187e-04f, 1.004261509e-04f,
+1.002700223e-04f, 1.001137332e-04f, 9.995728385e-05f, 9.980067459e-05f, 9.964390567e-05f, 9.948697737e-05f, 9.932988999e-05f, 9.917264381e-05f, 9.901523911e-05f, 9.885767618e-05f,
+9.869995530e-05f, 9.854207676e-05f, 9.838404085e-05f, 9.822584785e-05f, 9.806749805e-05f, 9.790899174e-05f, 9.775032920e-05f, 9.759151071e-05f, 9.743253658e-05f, 9.727340708e-05f,
+9.711412251e-05f, 9.695468315e-05f, 9.679508929e-05f, 9.663534122e-05f, 9.647543922e-05f, 9.631538360e-05f, 9.615517463e-05f, 9.599481261e-05f, 9.583429783e-05f, 9.567363058e-05f,
+9.551281114e-05f, 9.535183981e-05f, 9.519071689e-05f, 9.502944265e-05f, 9.486801740e-05f, 9.470644142e-05f, 9.454471500e-05f, 9.438283845e-05f, 9.422081205e-05f, 9.405863609e-05f,
+9.389631086e-05f, 9.373383667e-05f, 9.357121380e-05f, 9.340844255e-05f, 9.324552320e-05f, 9.308245606e-05f, 9.291924142e-05f, 9.275587958e-05f, 9.259237082e-05f, 9.242871544e-05f,
+9.226491374e-05f, 9.210096602e-05f, 9.193687256e-05f, 9.177263367e-05f, 9.160824964e-05f, 9.144372077e-05f, 9.127904736e-05f, 9.111422969e-05f, 9.094926807e-05f, 9.078416280e-05f,
+9.061891417e-05f, 9.045352248e-05f, 9.028798803e-05f, 9.012231112e-05f, 8.995649204e-05f, 8.979053109e-05f, 8.962442858e-05f, 8.945818480e-05f, 8.929180004e-05f, 8.912527462e-05f,
+8.895860883e-05f, 8.879180297e-05f, 8.862485733e-05f, 8.845777223e-05f, 8.829054796e-05f, 8.812318482e-05f, 8.795568311e-05f, 8.778804314e-05f, 8.762026520e-05f, 8.745234959e-05f,
+8.728429663e-05f, 8.711610660e-05f, 8.694777982e-05f, 8.677931658e-05f, 8.661071720e-05f, 8.644198196e-05f, 8.627311118e-05f, 8.610410515e-05f, 8.593496418e-05f, 8.576568858e-05f,
+8.559627865e-05f, 8.542673469e-05f, 8.525705701e-05f, 8.508724590e-05f, 8.491730169e-05f, 8.474722466e-05f, 8.457701514e-05f, 8.440667341e-05f, 8.423619979e-05f, 8.406559459e-05f,
+8.389485810e-05f, 8.372399064e-05f, 8.355299251e-05f, 8.338186402e-05f, 8.321060548e-05f, 8.303921718e-05f, 8.286769945e-05f, 8.269605258e-05f, 8.252427689e-05f, 8.235237268e-05f,
+8.218034026e-05f, 8.200817994e-05f, 8.183589202e-05f, 8.166347682e-05f, 8.149093465e-05f, 8.131826580e-05f, 8.114547060e-05f, 8.097254935e-05f, 8.079950237e-05f, 8.062632995e-05f,
+8.045303241e-05f, 8.027961007e-05f, 8.010606322e-05f, 7.993239219e-05f, 7.975859728e-05f, 7.958467880e-05f, 7.941063707e-05f, 7.923647239e-05f, 7.906218508e-05f, 7.888777545e-05f,
+7.871324381e-05f, 7.853859047e-05f, 7.836381574e-05f, 7.818891994e-05f, 7.801390338e-05f, 7.783876638e-05f, 7.766350924e-05f, 7.748813228e-05f, 7.731263580e-05f, 7.713702014e-05f,
+7.696128559e-05f, 7.678543247e-05f, 7.660946111e-05f, 7.643337180e-05f, 7.625716486e-05f, 7.608084062e-05f, 7.590439938e-05f, 7.572784146e-05f, 7.555116717e-05f, 7.537437684e-05f,
+7.519747076e-05f, 7.502044927e-05f, 7.484331268e-05f, 7.466606129e-05f, 7.448869544e-05f, 7.431121543e-05f, 7.413362158e-05f, 7.395591420e-05f, 7.377809362e-05f, 7.360016016e-05f,
+7.342211412e-05f, 7.324395583e-05f, 7.306568560e-05f, 7.288730375e-05f, 7.270881060e-05f, 7.253020646e-05f, 7.235149166e-05f, 7.217266652e-05f, 7.199373134e-05f, 7.181468646e-05f,
+7.163553218e-05f, 7.145626883e-05f, 7.127689673e-05f, 7.109741620e-05f, 7.091782755e-05f, 7.073813110e-05f, 7.055832718e-05f, 7.037841611e-05f, 7.019839820e-05f, 7.001827378e-05f,
+6.983804316e-05f, 6.965770667e-05f, 6.947726462e-05f, 6.929671734e-05f, 6.911606515e-05f, 6.893530838e-05f, 6.875444733e-05f, 6.857348233e-05f, 6.839241371e-05f, 6.821124179e-05f,
+6.802996688e-05f, 6.784858932e-05f, 6.766710941e-05f, 6.748552749e-05f, 6.730384388e-05f, 6.712205890e-05f, 6.694017287e-05f, 6.675818612e-05f, 6.657609897e-05f, 6.639391174e-05f,
+6.621162475e-05f, 6.602923833e-05f, 6.584675281e-05f, 6.566416850e-05f, 6.548148574e-05f, 6.529870484e-05f, 6.511582613e-05f, 6.493284993e-05f, 6.474977657e-05f, 6.456660638e-05f,
+6.438333967e-05f, 6.419997678e-05f, 6.401651802e-05f, 6.383296373e-05f, 6.364931422e-05f, 6.346556983e-05f, 6.328173088e-05f, 6.309779770e-05f, 6.291377061e-05f, 6.272964993e-05f,
+6.254543600e-05f, 6.236112914e-05f, 6.217672968e-05f, 6.199223795e-05f, 6.180765426e-05f, 6.162297895e-05f, 6.143821234e-05f, 6.125335477e-05f, 6.106840655e-05f, 6.088336802e-05f,
+6.069823951e-05f, 6.051302134e-05f, 6.032771383e-05f, 6.014231733e-05f, 5.995683214e-05f, 5.977125862e-05f, 5.958559707e-05f, 5.939984784e-05f, 5.921401124e-05f, 5.902808761e-05f,
+5.884207728e-05f, 5.865598057e-05f, 5.846979782e-05f, 5.828352935e-05f, 5.809717550e-05f, 5.791073659e-05f, 5.772421294e-05f, 5.753760491e-05f, 5.735091280e-05f, 5.716413695e-05f,
+5.697727770e-05f, 5.679033536e-05f, 5.660331028e-05f, 5.641620278e-05f, 5.622901319e-05f, 5.604174185e-05f, 5.585438908e-05f, 5.566695521e-05f, 5.547944058e-05f, 5.529184552e-05f,
+5.510417035e-05f, 5.491641541e-05f, 5.472858104e-05f, 5.454066755e-05f, 5.435267529e-05f, 5.416460459e-05f, 5.397645577e-05f, 5.378822917e-05f, 5.359992512e-05f, 5.341154396e-05f,
+5.322308601e-05f, 5.303455161e-05f, 5.284594109e-05f, 5.265725478e-05f, 5.246849302e-05f, 5.227965613e-05f, 5.209074446e-05f, 5.190175833e-05f, 5.171269808e-05f, 5.152356404e-05f,
+5.133435654e-05f, 5.114507592e-05f, 5.095572251e-05f, 5.076629665e-05f, 5.057679866e-05f, 5.038722889e-05f, 5.019758766e-05f, 5.000787530e-05f, 4.981809217e-05f, 4.962823858e-05f,
+4.943831487e-05f, 4.924832138e-05f, 4.905825844e-05f, 4.886812638e-05f, 4.867792554e-05f, 4.848765626e-05f, 4.829731887e-05f, 4.810691370e-05f, 4.791644109e-05f, 4.772590138e-05f,
+4.753529489e-05f, 4.734462197e-05f, 4.715388295e-05f, 4.696307817e-05f, 4.677220795e-05f, 4.658127264e-05f, 4.639027258e-05f, 4.619920809e-05f, 4.600807952e-05f, 4.581688719e-05f,
+4.562563145e-05f, 4.543431264e-05f, 4.524293108e-05f, 4.505148711e-05f, 4.485998108e-05f, 4.466841331e-05f, 4.447678415e-05f, 4.428509392e-05f, 4.409334298e-05f, 4.390153164e-05f,
+4.370966026e-05f, 4.351772916e-05f, 4.332573869e-05f, 4.313368918e-05f, 4.294158097e-05f, 4.274941439e-05f, 4.255718979e-05f, 4.236490749e-05f, 4.217256784e-05f, 4.198017118e-05f,
+4.178771784e-05f, 4.159520816e-05f, 4.140264248e-05f, 4.121002113e-05f, 4.101734446e-05f, 4.082461279e-05f, 4.063182648e-05f, 4.043898585e-05f, 4.024609125e-05f, 4.005314301e-05f,
+3.986014147e-05f, 3.966708697e-05f, 3.947397985e-05f, 3.928082045e-05f, 3.908760910e-05f, 3.889434615e-05f, 3.870103192e-05f, 3.850766677e-05f, 3.831425103e-05f, 3.812078504e-05f,
+3.792726913e-05f, 3.773370365e-05f, 3.754008893e-05f, 3.734642532e-05f, 3.715271315e-05f, 3.695895276e-05f, 3.676514449e-05f, 3.657128868e-05f, 3.637738568e-05f, 3.618343581e-05f,
+3.598943942e-05f, 3.579539685e-05f, 3.560130843e-05f, 3.540717452e-05f, 3.521299543e-05f, 3.501877153e-05f, 3.482450314e-05f, 3.463019061e-05f, 3.443583427e-05f, 3.424143446e-05f,
+3.404699154e-05f, 3.385250582e-05f, 3.365797766e-05f, 3.346340740e-05f, 3.326879537e-05f, 3.307414192e-05f, 3.287944738e-05f, 3.268471210e-05f, 3.248993641e-05f, 3.229512066e-05f,
+3.210026518e-05f, 3.190537032e-05f, 3.171043642e-05f, 3.151546382e-05f, 3.132045285e-05f, 3.112540387e-05f, 3.093031720e-05f, 3.073519319e-05f, 3.054003218e-05f, 3.034483451e-05f,
+3.014960053e-05f, 2.995433056e-05f, 2.975902496e-05f, 2.956368407e-05f, 2.936830821e-05f, 2.917289775e-05f, 2.897745301e-05f, 2.878197433e-05f, 2.858646207e-05f, 2.839091656e-05f,
+2.819533813e-05f, 2.799972714e-05f, 2.780408392e-05f, 2.760840881e-05f, 2.741270216e-05f, 2.721696431e-05f, 2.702119559e-05f, 2.682539635e-05f, 2.662956693e-05f, 2.643370767e-05f,
+2.623781891e-05f, 2.604190099e-05f, 2.584595426e-05f, 2.564997906e-05f, 2.545397572e-05f, 2.525794460e-05f, 2.506188602e-05f, 2.486580033e-05f, 2.466968788e-05f, 2.447354900e-05f,
+2.427738404e-05f, 2.408119333e-05f, 2.388497723e-05f, 2.368873606e-05f, 2.349247018e-05f, 2.329617992e-05f, 2.309986563e-05f, 2.290352764e-05f, 2.270716630e-05f, 2.251078195e-05f,
+2.231437494e-05f, 2.211794559e-05f, 2.192149427e-05f, 2.172502129e-05f, 2.152852702e-05f, 2.133201179e-05f, 2.113547593e-05f, 2.093891980e-05f, 2.074234374e-05f, 2.054574808e-05f,
+2.034913317e-05f, 2.015249936e-05f, 1.995584697e-05f, 1.975917635e-05f, 1.956248786e-05f, 1.936578182e-05f, 1.916905857e-05f, 1.897231847e-05f, 1.877556185e-05f, 1.857878906e-05f,
+1.838200043e-05f, 1.818519630e-05f, 1.798837703e-05f, 1.779154295e-05f, 1.759469439e-05f, 1.739783172e-05f, 1.720095526e-05f, 1.700406536e-05f, 1.680716235e-05f, 1.661024659e-05f,
+1.641331841e-05f, 1.621637816e-05f, 1.601942617e-05f, 1.582246279e-05f, 1.562548836e-05f, 1.542850322e-05f, 1.523150771e-05f, 1.503450218e-05f, 1.483748696e-05f, 1.464046240e-05f,
+1.444342884e-05f, 1.424638662e-05f, 1.404933608e-05f, 1.385227757e-05f, 1.365521142e-05f, 1.345813798e-05f, 1.326105759e-05f, 1.306397059e-05f, 1.286687732e-05f, 1.266977812e-05f,
+1.247267334e-05f, 1.227556331e-05f, 1.207844838e-05f, 1.188132889e-05f, 1.168420518e-05f, 1.148707759e-05f, 1.128994646e-05f, 1.109281214e-05f, 1.089567496e-05f, 1.069853527e-05f,
+1.050139341e-05f, 1.030424972e-05f, 1.010710453e-05f, 9.909958199e-06f, 9.712811059e-06f, 9.515663452e-06f, 9.318515720e-06f, 9.121368204e-06f, 8.924221244e-06f, 8.727075182e-06f,
+8.529930359e-06f, 8.332787116e-06f, 8.135645792e-06f, 7.938506731e-06f, 7.741370271e-06f, 7.544236755e-06f, 7.347106522e-06f, 7.149979914e-06f, 6.952857271e-06f, 6.755738934e-06f,
+6.558625243e-06f, 6.361516540e-06f, 6.164413164e-06f, 5.967315456e-06f, 5.770223757e-06f, 5.573138407e-06f, 5.376059747e-06f, 5.178988117e-06f, 4.981923856e-06f, 4.784867307e-06f,
+4.587818808e-06f, 4.390778700e-06f, 4.193747323e-06f, 3.996725017e-06f, 3.799712123e-06f, 3.602708979e-06f, 3.405715928e-06f, 3.208733307e-06f, 3.011761458e-06f, 2.814800719e-06f,
+2.617851431e-06f, 2.420913934e-06f, 2.223988567e-06f, 2.027075670e-06f, 1.830175582e-06f, 1.633288643e-06f, 1.436415193e-06f, 1.239555571e-06f, 1.042710116e-06f, 8.458791673e-07f,
+6.490630650e-07f, 4.522621478e-07f, 2.554767551e-07f, 5.870722590e-08f, -1.380461007e-07f, -3.347828858e-07f, -5.315027902e-07f, -7.282054752e-07f, -9.248906019e-07f, -1.121557832e-06f,
+-1.318206825e-06f, -1.514837245e-06f, -1.711448751e-06f, -1.908041006e-06f, -2.104613670e-06f, -2.301166406e-06f, -2.497698875e-06f, -2.694210739e-06f, -2.890701660e-06f, -3.087171298e-06f,
+-3.283619318e-06f, -3.480045379e-06f, -3.676449145e-06f, -3.872830277e-06f, -4.069188438e-06f, -4.265523289e-06f, -4.461834494e-06f, -4.658121714e-06f, -4.854384612e-06f, -5.050622850e-06f,
+-5.246836092e-06f, -5.443023999e-06f, -5.639186234e-06f, -5.835322460e-06f, -6.031432341e-06f, -6.227515538e-06f, -6.423571715e-06f, -6.619600536e-06f, -6.815601662e-06f, -7.011574758e-06f,
+-7.207519487e-06f, -7.403435512e-06f, -7.599322497e-06f, -7.795180104e-06f, -7.991007999e-06f, -8.186805844e-06f, -8.382573303e-06f, -8.578310041e-06f, -8.774015720e-06f, -8.969690006e-06f,
+-9.165332562e-06f, -9.360943052e-06f, -9.556521141e-06f, -9.752066493e-06f, -9.947578773e-06f, -1.014305764e-05f, -1.033850277e-05f, -1.053391382e-05f, -1.072929046e-05f, -1.092463235e-05f,
+-1.111993915e-05f, -1.131521053e-05f, -1.151044616e-05f, -1.170564570e-05f, -1.190080882e-05f, -1.209593518e-05f, -1.229102445e-05f, -1.248607629e-05f, -1.268109037e-05f, -1.287606636e-05f,
+-1.307100391e-05f, -1.326590271e-05f, -1.346076240e-05f, -1.365558266e-05f, -1.385036316e-05f, -1.404510356e-05f, -1.423980353e-05f, -1.443446273e-05f, -1.462908084e-05f, -1.482365751e-05f,
+-1.501819241e-05f, -1.521268522e-05f, -1.540713560e-05f, -1.560154321e-05f, -1.579590772e-05f, -1.599022881e-05f, -1.618450613e-05f, -1.637873936e-05f, -1.657292816e-05f, -1.676707220e-05f,
+-1.696117115e-05f, -1.715522468e-05f, -1.734923245e-05f, -1.754319414e-05f, -1.773710940e-05f, -1.793097792e-05f, -1.812479935e-05f, -1.831857337e-05f, -1.851229965e-05f, -1.870597784e-05f,
+-1.889960764e-05f, -1.909318869e-05f, -1.928672068e-05f, -1.948020327e-05f, -1.967363612e-05f, -1.986701892e-05f, -2.006035133e-05f, -2.025363301e-05f, -2.044686365e-05f, -2.064004290e-05f,
+-2.083317044e-05f, -2.102624594e-05f, -2.121926907e-05f, -2.141223950e-05f, -2.160515690e-05f, -2.179802094e-05f, -2.199083130e-05f, -2.218358763e-05f, -2.237628962e-05f, -2.256893694e-05f,
+-2.276152925e-05f, -2.295406623e-05f, -2.314654754e-05f, -2.333897287e-05f, -2.353134188e-05f, -2.372365425e-05f, -2.391590964e-05f, -2.410810773e-05f, -2.430024819e-05f, -2.449233070e-05f,
+-2.468435492e-05f, -2.487632053e-05f, -2.506822720e-05f, -2.526007460e-05f, -2.545186242e-05f, -2.564359031e-05f, -2.583525795e-05f, -2.602686503e-05f, -2.621841120e-05f, -2.640989615e-05f,
+-2.660131955e-05f, -2.679268107e-05f, -2.698398038e-05f, -2.717521717e-05f, -2.736639110e-05f, -2.755750185e-05f, -2.774854909e-05f, -2.793953251e-05f, -2.813045176e-05f, -2.832130654e-05f,
+-2.851209651e-05f, -2.870282135e-05f, -2.889348073e-05f, -2.908407433e-05f, -2.927460183e-05f, -2.946506291e-05f, -2.965545723e-05f, -2.984578447e-05f, -3.003604432e-05f, -3.022623644e-05f,
+-3.041636052e-05f, -3.060641622e-05f, -3.079640324e-05f, -3.098632124e-05f, -3.117616990e-05f, -3.136594889e-05f, -3.155565791e-05f, -3.174529662e-05f, -3.193486470e-05f, -3.212436183e-05f,
+-3.231378769e-05f, -3.250314195e-05f, -3.269242430e-05f, -3.288163441e-05f, -3.307077197e-05f, -3.325983664e-05f, -3.344882812e-05f, -3.363774607e-05f, -3.382659018e-05f, -3.401536013e-05f,
+-3.420405559e-05f, -3.439267625e-05f, -3.458122179e-05f, -3.476969188e-05f, -3.495808621e-05f, -3.514640446e-05f, -3.533464631e-05f, -3.552281143e-05f, -3.571089952e-05f, -3.589891024e-05f,
+-3.608684329e-05f, -3.627469834e-05f, -3.646247507e-05f, -3.665017317e-05f, -3.683779232e-05f, -3.702533219e-05f, -3.721279248e-05f, -3.740017287e-05f, -3.758747303e-05f, -3.777469265e-05f,
+-3.796183141e-05f, -3.814888900e-05f, -3.833586510e-05f, -3.852275938e-05f, -3.870957155e-05f, -3.889630127e-05f, -3.908294824e-05f, -3.926951213e-05f, -3.945599263e-05f, -3.964238943e-05f,
+-3.982870221e-05f, -4.001493065e-05f, -4.020107444e-05f, -4.038713327e-05f, -4.057310681e-05f, -4.075899476e-05f, -4.094479680e-05f, -4.113051262e-05f, -4.131614190e-05f, -4.150168432e-05f,
+-4.168713958e-05f, -4.187250737e-05f, -4.205778735e-05f, -4.224297924e-05f, -4.242808270e-05f, -4.261309743e-05f, -4.279802312e-05f, -4.298285945e-05f, -4.316760611e-05f, -4.335226279e-05f,
+-4.353682918e-05f, -4.372130496e-05f, -4.390568982e-05f, -4.408998346e-05f, -4.427418555e-05f, -4.445829580e-05f, -4.464231388e-05f, -4.482623949e-05f, -4.501007232e-05f, -4.519381206e-05f,
+-4.537745839e-05f, -4.556101101e-05f, -4.574446961e-05f, -4.592783387e-05f, -4.611110349e-05f, -4.629427816e-05f, -4.647735758e-05f, -4.666034142e-05f, -4.684322939e-05f, -4.702602117e-05f,
+-4.720871645e-05f, -4.739131494e-05f, -4.757381631e-05f, -4.775622027e-05f, -4.793852650e-05f, -4.812073470e-05f, -4.830284456e-05f, -4.848485578e-05f, -4.866676804e-05f, -4.884858104e-05f,
+-4.903029448e-05f, -4.921190805e-05f, -4.939342144e-05f, -4.957483434e-05f, -4.975614646e-05f, -4.993735748e-05f, -5.011846710e-05f, -5.029947502e-05f, -5.048038094e-05f, -5.066118453e-05f,
+-5.084188551e-05f, -5.102248357e-05f, -5.120297841e-05f, -5.138336971e-05f, -5.156365719e-05f, -5.174384052e-05f, -5.192391942e-05f, -5.210389358e-05f, -5.228376269e-05f, -5.246352646e-05f,
+-5.264318458e-05f, -5.282273674e-05f, -5.300218266e-05f, -5.318152202e-05f, -5.336075452e-05f, -5.353987987e-05f, -5.371889776e-05f, -5.389780789e-05f, -5.407660996e-05f, -5.425530367e-05f,
+-5.443388872e-05f, -5.461236481e-05f, -5.479073165e-05f, -5.496898892e-05f, -5.514713634e-05f, -5.532517360e-05f, -5.550310040e-05f, -5.568091645e-05f, -5.585862145e-05f, -5.603621510e-05f,
+-5.621369709e-05f, -5.639106714e-05f, -5.656832495e-05f, -5.674547021e-05f, -5.692250264e-05f, -5.709942193e-05f, -5.727622778e-05f, -5.745291991e-05f, -5.762949802e-05f, -5.780596180e-05f,
+-5.798231096e-05f, -5.815854522e-05f, -5.833466426e-05f, -5.851066781e-05f, -5.868655555e-05f, -5.886232721e-05f, -5.903798247e-05f, -5.921352106e-05f, -5.938894267e-05f, -5.956424701e-05f,
+-5.973943379e-05f, -5.991450272e-05f, -6.008945350e-05f, -6.026428583e-05f, -6.043899943e-05f, -6.061359401e-05f, -6.078806927e-05f, -6.096242491e-05f, -6.113666066e-05f, -6.131077621e-05f,
+-6.148477128e-05f, -6.165864557e-05f, -6.183239879e-05f, -6.200603066e-05f, -6.217954088e-05f, -6.235292916e-05f, -6.252619522e-05f, -6.269933876e-05f, -6.287235949e-05f, -6.304525713e-05f,
+-6.321803138e-05f, -6.339068197e-05f, -6.356320859e-05f, -6.373561096e-05f, -6.390788879e-05f, -6.408004180e-05f, -6.425206970e-05f, -6.442397220e-05f, -6.459574901e-05f, -6.476739985e-05f,
+-6.493892443e-05f, -6.511032246e-05f, -6.528159366e-05f, -6.545273774e-05f, -6.562375442e-05f, -6.579464342e-05f, -6.596540444e-05f, -6.613603720e-05f, -6.630654142e-05f, -6.647691681e-05f,
+-6.664716309e-05f, -6.681727997e-05f, -6.698726718e-05f, -6.715712443e-05f, -6.732685143e-05f, -6.749644790e-05f, -6.766591357e-05f, -6.783524814e-05f, -6.800445134e-05f, -6.817352288e-05f,
+-6.834246248e-05f, -6.851126987e-05f, -6.867994475e-05f, -6.884848686e-05f, -6.901689590e-05f, -6.918517160e-05f, -6.935331368e-05f, -6.952132186e-05f, -6.968919586e-05f, -6.985693540e-05f,
+-7.002454020e-05f, -7.019200998e-05f, -7.035934446e-05f, -7.052654337e-05f, -7.069360643e-05f, -7.086053336e-05f, -7.102732388e-05f, -7.119397771e-05f, -7.136049459e-05f, -7.152687422e-05f,
+-7.169311634e-05f, -7.185922067e-05f, -7.202518693e-05f, -7.219101485e-05f, -7.235670415e-05f, -7.252225456e-05f, -7.268766580e-05f, -7.285293760e-05f, -7.301806968e-05f, -7.318306177e-05f,
+-7.334791359e-05f, -7.351262488e-05f, -7.367719535e-05f, -7.384162475e-05f, -7.400591278e-05f, -7.417005918e-05f, -7.433406369e-05f, -7.449792601e-05f, -7.466164590e-05f, -7.482522306e-05f,
+-7.498865724e-05f, -7.515194816e-05f, -7.531509555e-05f, -7.547809914e-05f, -7.564095866e-05f, -7.580367384e-05f, -7.596624442e-05f, -7.612867011e-05f, -7.629095066e-05f, -7.645308579e-05f,
+-7.661507524e-05f, -7.677691873e-05f, -7.693861601e-05f, -7.710016680e-05f, -7.726157083e-05f, -7.742282784e-05f, -7.758393756e-05f, -7.774489973e-05f, -7.790571407e-05f, -7.806638033e-05f,
+-7.822689823e-05f, -7.838726752e-05f, -7.854748792e-05f, -7.870755918e-05f, -7.886748102e-05f, -7.902725319e-05f, -7.918687541e-05f, -7.934634743e-05f, -7.950566899e-05f, -7.966483981e-05f,
+-7.982385963e-05f, -7.998272820e-05f, -8.014144526e-05f, -8.030001053e-05f, -8.045842376e-05f, -8.061668468e-05f, -8.077479304e-05f, -8.093274858e-05f, -8.109055103e-05f, -8.124820013e-05f,
+-8.140569563e-05f, -8.156303726e-05f, -8.172022476e-05f, -8.187725788e-05f, -8.203413636e-05f, -8.219085993e-05f, -8.234742835e-05f, -8.250384134e-05f, -8.266009866e-05f, -8.281620005e-05f,
+-8.297214525e-05f, -8.312793399e-05f, -8.328356604e-05f, -8.343904113e-05f, -8.359435900e-05f, -8.374951940e-05f, -8.390452207e-05f, -8.405936676e-05f, -8.421405321e-05f, -8.436858118e-05f,
+-8.452295039e-05f, -8.467716061e-05f, -8.483121158e-05f, -8.498510304e-05f, -8.513883474e-05f, -8.529240644e-05f, -8.544581786e-05f, -8.559906878e-05f, -8.575215892e-05f, -8.590508805e-05f,
+-8.605785590e-05f, -8.621046223e-05f, -8.636290680e-05f, -8.651518934e-05f, -8.666730961e-05f, -8.681926736e-05f, -8.697106233e-05f, -8.712269429e-05f, -8.727416298e-05f, -8.742546815e-05f,
+-8.757660955e-05f, -8.772758695e-05f, -8.787840008e-05f, -8.802904870e-05f, -8.817953257e-05f, -8.832985144e-05f, -8.848000506e-05f, -8.862999319e-05f, -8.877981557e-05f, -8.892947198e-05f,
+-8.907896215e-05f, -8.922828585e-05f, -8.937744282e-05f, -8.952643284e-05f, -8.967525565e-05f, -8.982391100e-05f, -8.997239866e-05f, -9.012071839e-05f, -9.026886994e-05f, -9.041685306e-05f,
+-9.056466752e-05f, -9.071231307e-05f, -9.085978948e-05f, -9.100709650e-05f, -9.115423389e-05f, -9.130120141e-05f, -9.144799882e-05f, -9.159462589e-05f, -9.174108236e-05f, -9.188736801e-05f,
+-9.203348259e-05f, -9.217942586e-05f, -9.232519759e-05f, -9.247079754e-05f, -9.261622547e-05f, -9.276148115e-05f, -9.290656433e-05f, -9.305147478e-05f, -9.319621227e-05f, -9.334077655e-05f,
+-9.348516740e-05f, -9.362938457e-05f, -9.377342783e-05f, -9.391729695e-05f, -9.406099170e-05f, -9.420451183e-05f, -9.434785712e-05f, -9.449102733e-05f, -9.463402222e-05f, -9.477684158e-05f,
+-9.491948515e-05f, -9.506195272e-05f, -9.520424404e-05f, -9.534635890e-05f, -9.548829705e-05f, -9.563005826e-05f, -9.577164231e-05f, -9.591304897e-05f, -9.605427800e-05f, -9.619532917e-05f,
+-9.633620226e-05f, -9.647689704e-05f, -9.661741328e-05f, -9.675775075e-05f, -9.689790922e-05f, -9.703788846e-05f, -9.717768826e-05f, -9.731730837e-05f, -9.745674858e-05f, -9.759600866e-05f,
+-9.773508837e-05f, -9.787398751e-05f, -9.801270584e-05f, -9.815124313e-05f, -9.828959916e-05f, -9.842777371e-05f, -9.856576656e-05f, -9.870357747e-05f, -9.884120624e-05f, -9.897865262e-05f,
+-9.911591641e-05f, -9.925299737e-05f, -9.938989530e-05f, -9.952660995e-05f, -9.966314112e-05f, -9.979948859e-05f, -9.993565212e-05f, -1.000716315e-04f, -1.002074265e-04f, -1.003430370e-04f,
+-1.004784626e-04f, -1.006137032e-04f, -1.007487586e-04f, -1.008836285e-04f, -1.010183127e-04f, -1.011528110e-04f, -1.012871232e-04f, -1.014212491e-04f, -1.015551884e-04f, -1.016889409e-04f,
+-1.018225065e-04f, -1.019558849e-04f, -1.020890759e-04f, -1.022220792e-04f, -1.023548947e-04f, -1.024875222e-04f, -1.026199614e-04f, -1.027522121e-04f, -1.028842741e-04f, -1.030161472e-04f,
+-1.031478312e-04f, -1.032793258e-04f, -1.034106309e-04f, -1.035417463e-04f, -1.036726716e-04f, -1.038034068e-04f, -1.039339517e-04f, -1.040643059e-04f, -1.041944693e-04f, -1.043244417e-04f,
+-1.044542229e-04f, -1.045838126e-04f, -1.047132107e-04f, -1.048424170e-04f, -1.049714311e-04f, -1.051002531e-04f, -1.052288825e-04f, -1.053573193e-04f, -1.054855632e-04f, -1.056136140e-04f,
+-1.057414715e-04f, -1.058691355e-04f, -1.059966058e-04f, -1.061238822e-04f, -1.062509645e-04f, -1.063778524e-04f, -1.065045459e-04f, -1.066310446e-04f, -1.067573484e-04f, -1.068834571e-04f,
+-1.070093704e-04f, -1.071350882e-04f, -1.072606103e-04f, -1.073859364e-04f, -1.075110664e-04f, -1.076360000e-04f, -1.077607372e-04f, -1.078852776e-04f, -1.080096210e-04f, -1.081337674e-04f,
+-1.082577164e-04f, -1.083814678e-04f, -1.085050216e-04f, -1.086283774e-04f, -1.087515351e-04f, -1.088744945e-04f, -1.089972554e-04f, -1.091198175e-04f, -1.092421808e-04f, -1.093643449e-04f,
+-1.094863098e-04f, -1.096080752e-04f, -1.097296409e-04f, -1.098510067e-04f, -1.099721724e-04f, -1.100931379e-04f, -1.102139030e-04f, -1.103344673e-04f, -1.104548309e-04f, -1.105749934e-04f,
+-1.106949547e-04f, -1.108147146e-04f, -1.109342729e-04f, -1.110536293e-04f, -1.111727838e-04f, -1.112917362e-04f, -1.114104861e-04f, -1.115290336e-04f, -1.116473782e-04f, -1.117655200e-04f,
+-1.118834586e-04f, -1.120011940e-04f, -1.121187258e-04f, -1.122360540e-04f, -1.123531783e-04f, -1.124700986e-04f, -1.125868147e-04f, -1.127033263e-04f, -1.128196333e-04f, -1.129357356e-04f,
+-1.130516328e-04f, -1.131673250e-04f, -1.132828118e-04f, -1.133980930e-04f, -1.135131686e-04f, -1.136280383e-04f, -1.137427019e-04f, -1.138571593e-04f, -1.139714103e-04f, -1.140854547e-04f,
+-1.141992922e-04f, -1.143129228e-04f, -1.144263463e-04f, -1.145395624e-04f, -1.146525711e-04f, -1.147653720e-04f, -1.148779651e-04f, -1.149903502e-04f, -1.151025270e-04f, -1.152144955e-04f,
+-1.153262554e-04f, -1.154378066e-04f, -1.155491488e-04f, -1.156602819e-04f, -1.157712058e-04f, -1.158819202e-04f, -1.159924251e-04f, -1.161027201e-04f, -1.162128052e-04f, -1.163226801e-04f,
+-1.164323447e-04f, -1.165417988e-04f, -1.166510423e-04f, -1.167600750e-04f, -1.168688967e-04f, -1.169775072e-04f, -1.170859063e-04f, -1.171940940e-04f, -1.173020700e-04f, -1.174098341e-04f,
+-1.175173862e-04f, -1.176247262e-04f, -1.177318537e-04f, -1.178387688e-04f, -1.179454712e-04f, -1.180519607e-04f, -1.181582373e-04f, -1.182643006e-04f, -1.183701506e-04f, -1.184757870e-04f,
+-1.185812098e-04f, -1.186864188e-04f, -1.187914137e-04f, -1.188961945e-04f, -1.190007609e-04f, -1.191051128e-04f, -1.192092501e-04f, -1.193131725e-04f, -1.194168800e-04f, -1.195203723e-04f,
+-1.196236493e-04f, -1.197267108e-04f, -1.198295567e-04f, -1.199321868e-04f, -1.200346009e-04f, -1.201367990e-04f, -1.202387807e-04f, -1.203405461e-04f, -1.204420949e-04f, -1.205434269e-04f,
+-1.206445420e-04f, -1.207454401e-04f, -1.208461209e-04f, -1.209465844e-04f, -1.210468304e-04f, -1.211468587e-04f, -1.212466691e-04f, -1.213462616e-04f, -1.214456359e-04f, -1.215447919e-04f,
+-1.216437295e-04f, -1.217424484e-04f, -1.218409486e-04f, -1.219392299e-04f, -1.220372922e-04f, -1.221351352e-04f, -1.222327589e-04f, -1.223301630e-04f, -1.224273475e-04f, -1.225243122e-04f,
+-1.226210569e-04f, -1.227175815e-04f, -1.228138859e-04f, -1.229099698e-04f, -1.230058332e-04f, -1.231014759e-04f, -1.231968977e-04f, -1.232920985e-04f, -1.233870782e-04f, -1.234818366e-04f,
+-1.235763736e-04f, -1.236706890e-04f, -1.237647826e-04f, -1.238586544e-04f, -1.239523042e-04f, -1.240457318e-04f, -1.241389371e-04f, -1.242319200e-04f, -1.243246803e-04f, -1.244172179e-04f,
+-1.245095326e-04f, -1.246016242e-04f, -1.246934928e-04f, -1.247851380e-04f, -1.248765598e-04f, -1.249677581e-04f, -1.250587326e-04f, -1.251494833e-04f, -1.252400100e-04f, -1.253303126e-04f,
+-1.254203909e-04f, -1.255102448e-04f, -1.255998742e-04f, -1.256892789e-04f, -1.257784588e-04f, -1.258674138e-04f, -1.259561437e-04f, -1.260446483e-04f, -1.261329277e-04f, -1.262209815e-04f,
+-1.263088097e-04f, -1.263964122e-04f, -1.264837888e-04f, -1.265709394e-04f, -1.266578638e-04f, -1.267445620e-04f, -1.268310337e-04f, -1.269172789e-04f, -1.270032975e-04f, -1.270890892e-04f,
+-1.271746540e-04f, -1.272599918e-04f, -1.273451024e-04f, -1.274299856e-04f, -1.275146414e-04f, -1.275990697e-04f, -1.276832702e-04f, -1.277672429e-04f, -1.278509877e-04f, -1.279345044e-04f,
+-1.280177929e-04f, -1.281008531e-04f, -1.281836848e-04f, -1.282662879e-04f, -1.283486624e-04f, -1.284308080e-04f, -1.285127246e-04f, -1.285944122e-04f, -1.286758707e-04f, -1.287570998e-04f,
+-1.288380994e-04f, -1.289188695e-04f, -1.289994100e-04f, -1.290797206e-04f, -1.291598013e-04f, -1.292396520e-04f, -1.293192725e-04f, -1.293986628e-04f, -1.294778227e-04f, -1.295567520e-04f,
+-1.296354508e-04f, -1.297139188e-04f, -1.297921559e-04f, -1.298701621e-04f, -1.299479371e-04f, -1.300254810e-04f, -1.301027935e-04f, -1.301798746e-04f, -1.302567242e-04f, -1.303333421e-04f,
+-1.304097282e-04f, -1.304858824e-04f, -1.305618046e-04f, -1.306374948e-04f, -1.307129526e-04f, -1.307881782e-04f, -1.308631713e-04f, -1.309379318e-04f, -1.310124597e-04f, -1.310867548e-04f,
+-1.311608170e-04f, -1.312346462e-04f, -1.313082423e-04f, -1.313816052e-04f, -1.314547348e-04f, -1.315276309e-04f, -1.316002936e-04f, -1.316727226e-04f, -1.317449178e-04f, -1.318168792e-04f,
+-1.318886066e-04f, -1.319601000e-04f, -1.320313592e-04f, -1.321023841e-04f, -1.321731747e-04f, -1.322437308e-04f, -1.323140523e-04f, -1.323841391e-04f, -1.324539912e-04f, -1.325236084e-04f,
+-1.325929906e-04f, -1.326621377e-04f, -1.327310496e-04f, -1.327997263e-04f, -1.328681675e-04f, -1.329363733e-04f, -1.330043435e-04f, -1.330720780e-04f, -1.331395768e-04f, -1.332068397e-04f,
+-1.332738666e-04f, -1.333406574e-04f, -1.334072121e-04f, -1.334735306e-04f, -1.335396127e-04f, -1.336054583e-04f, -1.336710674e-04f, -1.337364399e-04f, -1.338015756e-04f, -1.338664745e-04f,
+-1.339311365e-04f, -1.339955615e-04f, -1.340597494e-04f, -1.341237001e-04f, -1.341874136e-04f, -1.342508896e-04f, -1.343141282e-04f, -1.343771293e-04f, -1.344398927e-04f, -1.345024184e-04f,
+-1.345647063e-04f, -1.346267563e-04f, -1.346885683e-04f, -1.347501422e-04f, -1.348114779e-04f, -1.348725754e-04f, -1.349334346e-04f, -1.349940554e-04f, -1.350544376e-04f, -1.351145812e-04f,
+-1.351744862e-04f, -1.352341524e-04f, -1.352935798e-04f, -1.353527682e-04f, -1.354117177e-04f, -1.354704280e-04f, -1.355288992e-04f, -1.355871311e-04f, -1.356451237e-04f, -1.357028769e-04f,
+-1.357603905e-04f, -1.358176646e-04f, -1.358746991e-04f, -1.359314938e-04f, -1.359880487e-04f, -1.360443638e-04f, -1.361004388e-04f, -1.361562738e-04f, -1.362118687e-04f, -1.362672235e-04f,
+-1.363223379e-04f, -1.363772120e-04f, -1.364318457e-04f, -1.364862388e-04f, -1.365403914e-04f, -1.365943034e-04f, -1.366479747e-04f, -1.367014051e-04f, -1.367545947e-04f, -1.368075434e-04f,
+-1.368602511e-04f, -1.369127176e-04f, -1.369649431e-04f, -1.370169273e-04f, -1.370686703e-04f, -1.371201718e-04f, -1.371714320e-04f, -1.372224507e-04f, -1.372732278e-04f, -1.373237633e-04f,
+-1.373740570e-04f, -1.374241091e-04f, -1.374739192e-04f, -1.375234875e-04f, -1.375728139e-04f, -1.376218982e-04f, -1.376707404e-04f, -1.377193405e-04f, -1.377676983e-04f, -1.378158139e-04f,
+-1.378636871e-04f, -1.379113179e-04f, -1.379587062e-04f, -1.380058520e-04f, -1.380527552e-04f, -1.380994158e-04f, -1.381458336e-04f, -1.381920087e-04f, -1.382379409e-04f, -1.382836302e-04f,
+-1.383290766e-04f, -1.383742800e-04f, -1.384192403e-04f, -1.384639575e-04f, -1.385084315e-04f, -1.385526622e-04f, -1.385966497e-04f, -1.386403938e-04f, -1.386838945e-04f, -1.387271517e-04f,
+-1.387701654e-04f, -1.388129356e-04f, -1.388554621e-04f, -1.388977450e-04f, -1.389397841e-04f, -1.389815794e-04f, -1.390231309e-04f, -1.390644385e-04f, -1.391055022e-04f, -1.391463219e-04f,
+-1.391868975e-04f, -1.392272291e-04f, -1.392673165e-04f, -1.393071597e-04f, -1.393467587e-04f, -1.393861134e-04f, -1.394252238e-04f, -1.394640898e-04f, -1.395027113e-04f, -1.395410884e-04f,
+-1.395792210e-04f, -1.396171090e-04f, -1.396547524e-04f, -1.396921512e-04f, -1.397293052e-04f, -1.397662146e-04f, -1.398028791e-04f, -1.398392988e-04f, -1.398754736e-04f, -1.399114035e-04f,
+-1.399470885e-04f, -1.399825285e-04f, -1.400177234e-04f, -1.400526732e-04f, -1.400873780e-04f, -1.401218376e-04f, -1.401560519e-04f, -1.401900211e-04f, -1.402237450e-04f, -1.402572235e-04f,
+-1.402904567e-04f, -1.403234446e-04f, -1.403561870e-04f, -1.403886839e-04f, -1.404209354e-04f, -1.404529413e-04f, -1.404847016e-04f, -1.405162164e-04f, -1.405474855e-04f, -1.405785090e-04f,
+-1.406092868e-04f, -1.406398188e-04f, -1.406701050e-04f, -1.407001455e-04f, -1.407299401e-04f, -1.407594889e-04f, -1.407887918e-04f, -1.408178488e-04f, -1.408466598e-04f, -1.408752248e-04f,
+-1.409035439e-04f, -1.409316169e-04f, -1.409594438e-04f, -1.409870247e-04f, -1.410143594e-04f, -1.410414479e-04f, -1.410682903e-04f, -1.410948866e-04f, -1.411212365e-04f, -1.411473403e-04f,
+-1.411731977e-04f, -1.411988089e-04f, -1.412241737e-04f, -1.412492922e-04f, -1.412741643e-04f, -1.412987901e-04f, -1.413231694e-04f, -1.413473023e-04f, -1.413711887e-04f, -1.413948287e-04f,
+-1.414182222e-04f, -1.414413691e-04f, -1.414642695e-04f, -1.414869234e-04f, -1.415093307e-04f, -1.415314914e-04f, -1.415534055e-04f, -1.415750729e-04f, -1.415964937e-04f, -1.416176679e-04f,
+-1.416385954e-04f, -1.416592762e-04f, -1.416797102e-04f, -1.416998976e-04f, -1.417198382e-04f, -1.417395321e-04f, -1.417589792e-04f, -1.417781796e-04f, -1.417971331e-04f, -1.418158398e-04f,
+-1.418342998e-04f, -1.418525129e-04f, -1.418704792e-04f, -1.418881986e-04f, -1.419056712e-04f, -1.419228969e-04f, -1.419398757e-04f, -1.419566077e-04f, -1.419730927e-04f, -1.419893309e-04f,
+-1.420053221e-04f, -1.420210665e-04f, -1.420365639e-04f, -1.420518144e-04f, -1.420668179e-04f, -1.420815746e-04f, -1.420960842e-04f, -1.421103470e-04f, -1.421243627e-04f, -1.421381316e-04f,
+-1.421516534e-04f, -1.421649283e-04f, -1.421779563e-04f, -1.421907373e-04f, -1.422032713e-04f, -1.422155583e-04f, -1.422275984e-04f, -1.422393915e-04f, -1.422509376e-04f, -1.422622368e-04f,
+-1.422732890e-04f, -1.422840942e-04f, -1.422946525e-04f, -1.423049638e-04f, -1.423150281e-04f, -1.423248455e-04f, -1.423344160e-04f, -1.423437395e-04f, -1.423528160e-04f, -1.423616456e-04f,
+-1.423702283e-04f, -1.423785641e-04f, -1.423866529e-04f, -1.423944948e-04f, -1.424020898e-04f, -1.424094379e-04f, -1.424165392e-04f, -1.424233935e-04f, -1.424300010e-04f, -1.424363616e-04f,
+-1.424424753e-04f, -1.424483422e-04f, -1.424539622e-04f, -1.424593355e-04f, -1.424644619e-04f, -1.424693415e-04f, -1.424739743e-04f, -1.424783604e-04f, -1.424824997e-04f, -1.424863922e-04f,
+-1.424900380e-04f, -1.424934371e-04f, -1.424965895e-04f, -1.424994951e-04f, -1.425021541e-04f, -1.425045665e-04f, -1.425067322e-04f, -1.425086512e-04f, -1.425103237e-04f, -1.425117496e-04f,
+-1.425129288e-04f, -1.425138616e-04f, -1.425145478e-04f, -1.425149875e-04f, -1.425151806e-04f, -1.425151273e-04f, -1.425148276e-04f, -1.425142814e-04f, -1.425134888e-04f, -1.425124498e-04f,
+-1.425111644e-04f, -1.425096327e-04f, -1.425078547e-04f, -1.425058303e-04f, -1.425035597e-04f, -1.425010428e-04f, -1.424982797e-04f, -1.424952704e-04f, -1.424920150e-04f, -1.424885133e-04f,
+-1.424847656e-04f, -1.424807717e-04f, -1.424765318e-04f, -1.424720459e-04f, -1.424673139e-04f, -1.424623360e-04f, -1.424571121e-04f, -1.424516422e-04f, -1.424459265e-04f, -1.424399649e-04f,
+-1.424337575e-04f, -1.424273043e-04f, -1.424206053e-04f, -1.424136605e-04f, -1.424064701e-04f, -1.423990340e-04f, -1.423913522e-04f, -1.423834249e-04f, -1.423752519e-04f, -1.423668334e-04f,
+-1.423581695e-04f, -1.423492600e-04f, -1.423401052e-04f, -1.423307049e-04f, -1.423210593e-04f, -1.423111683e-04f, -1.423010321e-04f, -1.422906506e-04f, -1.422800239e-04f, -1.422691521e-04f,
+-1.422580351e-04f, -1.422466731e-04f, -1.422350659e-04f, -1.422232138e-04f, -1.422111167e-04f, -1.421987747e-04f, -1.421861878e-04f, -1.421733561e-04f, -1.421602795e-04f, -1.421469582e-04f,
+-1.421333922e-04f, -1.421195816e-04f, -1.421055263e-04f, -1.420912264e-04f, -1.420766820e-04f, -1.420618931e-04f, -1.420468597e-04f, -1.420315820e-04f, -1.420160599e-04f, -1.420002935e-04f,
+-1.419842828e-04f, -1.419680280e-04f, -1.419515289e-04f, -1.419347858e-04f, -1.419177986e-04f, -1.419005674e-04f, -1.418830923e-04f, -1.418653732e-04f, -1.418474103e-04f, -1.418292036e-04f,
+-1.418107531e-04f, -1.417920589e-04f, -1.417731211e-04f, -1.417539396e-04f, -1.417345147e-04f, -1.417148462e-04f, -1.416949343e-04f, -1.416747790e-04f, -1.416543804e-04f, -1.416337385e-04f,
+-1.416128534e-04f, -1.415917252e-04f, -1.415703538e-04f, -1.415487394e-04f, -1.415268821e-04f, -1.415047818e-04f, -1.414824386e-04f, -1.414598526e-04f, -1.414370239e-04f, -1.414139524e-04f,
+-1.413906384e-04f, -1.413670818e-04f, -1.413432826e-04f, -1.413192411e-04f, -1.412949571e-04f, -1.412704308e-04f, -1.412456623e-04f, -1.412206515e-04f, -1.411953986e-04f, -1.411699037e-04f,
+-1.411441667e-04f, -1.411181878e-04f, -1.410919670e-04f, -1.410655045e-04f, -1.410388001e-04f, -1.410118541e-04f, -1.409846665e-04f, -1.409572373e-04f, -1.409295667e-04f, -1.409016547e-04f,
+-1.408735013e-04f, -1.408451066e-04f, -1.408164708e-04f, -1.407875938e-04f, -1.407584757e-04f, -1.407291167e-04f, -1.406995167e-04f, -1.406696759e-04f, -1.406395943e-04f, -1.406092720e-04f,
+-1.405787091e-04f, -1.405479056e-04f, -1.405168616e-04f, -1.404855772e-04f, -1.404540525e-04f, -1.404222875e-04f, -1.403902823e-04f, -1.403580370e-04f, -1.403255517e-04f, -1.402928264e-04f,
+-1.402598612e-04f, -1.402266562e-04f, -1.401932115e-04f, -1.401595271e-04f, -1.401256032e-04f, -1.400914397e-04f, -1.400570369e-04f, -1.400223947e-04f, -1.399875132e-04f, -1.399523926e-04f,
+-1.399170329e-04f, -1.398814342e-04f, -1.398455965e-04f, -1.398095200e-04f, -1.397732047e-04f, -1.397366507e-04f, -1.396998582e-04f, -1.396628271e-04f, -1.396255575e-04f, -1.395880496e-04f,
+-1.395503035e-04f, -1.395123192e-04f, -1.394740968e-04f, -1.394356363e-04f, -1.393969380e-04f, -1.393580018e-04f, -1.393188278e-04f, -1.392794162e-04f, -1.392397671e-04f, -1.391998804e-04f,
+-1.391597564e-04f, -1.391193950e-04f, -1.390787964e-04f, -1.390379607e-04f, -1.389968880e-04f, -1.389555783e-04f, -1.389140318e-04f, -1.388722485e-04f, -1.388302285e-04f, -1.387879719e-04f,
+-1.387454789e-04f, -1.387027495e-04f, -1.386597837e-04f, -1.386165818e-04f, -1.385731438e-04f, -1.385294697e-04f, -1.384855598e-04f, -1.384414140e-04f, -1.383970324e-04f, -1.383524153e-04f,
+-1.383075626e-04f, -1.382624745e-04f, -1.382171510e-04f, -1.381715923e-04f, -1.381257984e-04f, -1.380797695e-04f, -1.380335057e-04f, -1.379870070e-04f, -1.379402736e-04f, -1.378933055e-04f,
+-1.378461029e-04f, -1.377986658e-04f, -1.377509944e-04f, -1.377030888e-04f, -1.376549490e-04f, -1.376065752e-04f, -1.375579675e-04f, -1.375091259e-04f, -1.374600506e-04f, -1.374107417e-04f,
+-1.373611993e-04f, -1.373114234e-04f, -1.372614143e-04f, -1.372111720e-04f, -1.371606966e-04f, -1.371099882e-04f, -1.370590469e-04f, -1.370078728e-04f, -1.369564661e-04f, -1.369048269e-04f,
+-1.368529552e-04f, -1.368008511e-04f, -1.367485149e-04f, -1.366959465e-04f, -1.366431461e-04f, -1.365901138e-04f, -1.365368498e-04f, -1.364833540e-04f, -1.364296268e-04f, -1.363756680e-04f,
+-1.363214780e-04f, -1.362670567e-04f, -1.362124043e-04f, -1.361575209e-04f, -1.361024066e-04f, -1.360470616e-04f, -1.359914859e-04f, -1.359356797e-04f, -1.358796430e-04f, -1.358233761e-04f,
+-1.357668790e-04f, -1.357101518e-04f, -1.356531946e-04f, -1.355960076e-04f, -1.355385909e-04f, -1.354809447e-04f, -1.354230689e-04f, -1.353649638e-04f, -1.353066294e-04f, -1.352480659e-04f,
+-1.351892734e-04f, -1.351302520e-04f, -1.350710019e-04f, -1.350115232e-04f, -1.349518159e-04f, -1.348918802e-04f, -1.348317163e-04f, -1.347713242e-04f, -1.347107042e-04f, -1.346498562e-04f,
+-1.345887804e-04f, -1.345274770e-04f, -1.344659461e-04f, -1.344041877e-04f, -1.343422021e-04f, -1.342799894e-04f, -1.342175496e-04f, -1.341548830e-04f, -1.340919895e-04f, -1.340288695e-04f,
+-1.339655229e-04f, -1.339019500e-04f, -1.338381508e-04f, -1.337741254e-04f, -1.337098741e-04f, -1.336453969e-04f, -1.335806940e-04f, -1.335157655e-04f, -1.334506115e-04f, -1.333852322e-04f,
+-1.333196277e-04f, -1.332537981e-04f, -1.331877436e-04f, -1.331214642e-04f, -1.330549602e-04f, -1.329882316e-04f, -1.329212787e-04f, -1.328541014e-04f, -1.327867001e-04f, -1.327190747e-04f,
+-1.326512254e-04f, -1.325831525e-04f, -1.325148559e-04f, -1.324463359e-04f, -1.323775925e-04f, -1.323086260e-04f, -1.322394364e-04f, -1.321700239e-04f, -1.321003887e-04f, -1.320305308e-04f,
+-1.319604505e-04f, -1.318901478e-04f, -1.318196229e-04f, -1.317488759e-04f, -1.316779070e-04f, -1.316067163e-04f, -1.315353039e-04f, -1.314636701e-04f, -1.313918149e-04f, -1.313197385e-04f,
+-1.312474410e-04f, -1.311749226e-04f, -1.311021834e-04f, -1.310292235e-04f, -1.309560432e-04f, -1.308826425e-04f, -1.308090216e-04f, -1.307351806e-04f, -1.306611197e-04f, -1.305868391e-04f,
+-1.305123388e-04f, -1.304376191e-04f, -1.303626800e-04f, -1.302875218e-04f, -1.302121445e-04f, -1.301365484e-04f, -1.300607335e-04f, -1.299847000e-04f, -1.299084481e-04f, -1.298319779e-04f,
+-1.297552896e-04f, -1.296783833e-04f, -1.296012592e-04f, -1.295239174e-04f, -1.294463580e-04f, -1.293685813e-04f, -1.292905874e-04f, -1.292123764e-04f, -1.291339485e-04f, -1.290553038e-04f,
+-1.289764426e-04f, -1.288973648e-04f, -1.288180708e-04f, -1.287385607e-04f, -1.286588345e-04f, -1.285788925e-04f, -1.284987349e-04f, -1.284183617e-04f, -1.283377732e-04f, -1.282569694e-04f,
+-1.281759506e-04f, -1.280947170e-04f, -1.280132686e-04f, -1.279316056e-04f, -1.278497282e-04f, -1.277676366e-04f, -1.276853309e-04f, -1.276028112e-04f, -1.275200778e-04f, -1.274371308e-04f,
+-1.273539703e-04f, -1.272705966e-04f, -1.271870097e-04f, -1.271032098e-04f, -1.270191972e-04f, -1.269349719e-04f, -1.268505342e-04f, -1.267658841e-04f, -1.266810219e-04f, -1.265959477e-04f,
+-1.265106617e-04f, -1.264251641e-04f, -1.263394550e-04f, -1.262535345e-04f, -1.261674029e-04f, -1.260810603e-04f, -1.259945069e-04f, -1.259077429e-04f, -1.258207684e-04f, -1.257335835e-04f,
+-1.256461885e-04f, -1.255585836e-04f, -1.254707688e-04f, -1.253827444e-04f, -1.252945105e-04f, -1.252060673e-04f, -1.251174150e-04f, -1.250285537e-04f, -1.249394837e-04f, -1.248502050e-04f,
+-1.247607179e-04f, -1.246710225e-04f, -1.245811190e-04f, -1.244910076e-04f, -1.244006885e-04f, -1.243101617e-04f, -1.242194276e-04f, -1.241284862e-04f, -1.240373378e-04f, -1.239459825e-04f,
+-1.238544205e-04f, -1.237626520e-04f, -1.236706771e-04f, -1.235784960e-04f, -1.234861090e-04f, -1.233935161e-04f, -1.233007176e-04f, -1.232077136e-04f, -1.231145043e-04f, -1.230210899e-04f,
+-1.229274705e-04f, -1.228336465e-04f, -1.227396178e-04f, -1.226453847e-04f, -1.225509475e-04f, -1.224563062e-04f, -1.223614610e-04f, -1.222664122e-04f, -1.221711599e-04f, -1.220757043e-04f,
+-1.219800455e-04f, -1.218841838e-04f, -1.217881194e-04f, -1.216918523e-04f, -1.215953829e-04f, -1.214987113e-04f, -1.214018376e-04f, -1.213047621e-04f, -1.212074850e-04f, -1.211100063e-04f,
+-1.210123264e-04f, -1.209144454e-04f, -1.208163635e-04f, -1.207180808e-04f, -1.206195976e-04f, -1.205209141e-04f, -1.204220303e-04f, -1.203229466e-04f, -1.202236632e-04f, -1.201241801e-04f,
+-1.200244976e-04f, -1.199246158e-04f, -1.198245351e-04f, -1.197242555e-04f, -1.196237772e-04f, -1.195231005e-04f, -1.194222255e-04f, -1.193211524e-04f, -1.192198814e-04f, -1.191184128e-04f,
+-1.190167466e-04f, -1.189148831e-04f, -1.188128225e-04f, -1.187105649e-04f, -1.186081107e-04f, -1.185054598e-04f, -1.184026127e-04f, -1.182995694e-04f, -1.181963301e-04f, -1.180928950e-04f,
+-1.179892644e-04f, -1.178854384e-04f, -1.177814173e-04f, -1.176772011e-04f, -1.175727902e-04f, -1.174681847e-04f, -1.173633848e-04f, -1.172583907e-04f, -1.171532026e-04f, -1.170478208e-04f,
+-1.169422453e-04f, -1.168364764e-04f, -1.167305143e-04f, -1.166243592e-04f, -1.165180114e-04f, -1.164114709e-04f, -1.163047380e-04f, -1.161978129e-04f, -1.160906959e-04f, -1.159833870e-04f,
+-1.158758865e-04f, -1.157681947e-04f, -1.156603116e-04f, -1.155522376e-04f, -1.154439727e-04f, -1.153355173e-04f, -1.152268716e-04f, -1.151180356e-04f, -1.150090097e-04f, -1.148997940e-04f,
+-1.147903887e-04f, -1.146807941e-04f, -1.145710104e-04f, -1.144610377e-04f, -1.143508762e-04f, -1.142405263e-04f, -1.141299880e-04f, -1.140192616e-04f, -1.139083472e-04f, -1.137972452e-04f,
+-1.136859557e-04f, -1.135744789e-04f, -1.134628150e-04f, -1.133509642e-04f, -1.132389268e-04f, -1.131267029e-04f, -1.130142928e-04f, -1.129016967e-04f, -1.127889147e-04f, -1.126759471e-04f,
+-1.125627942e-04f, -1.124494560e-04f, -1.123359328e-04f, -1.122222249e-04f, -1.121083325e-04f, -1.119942557e-04f, -1.118799948e-04f, -1.117655499e-04f, -1.116509214e-04f, -1.115361094e-04f,
+-1.114211141e-04f, -1.113059357e-04f, -1.111905745e-04f, -1.110750307e-04f, -1.109593044e-04f, -1.108433960e-04f, -1.107273056e-04f, -1.106110334e-04f, -1.104945796e-04f, -1.103779445e-04f,
+-1.102611283e-04f, -1.101441312e-04f, -1.100269535e-04f, -1.099095952e-04f, -1.097920567e-04f, -1.096743382e-04f, -1.095564399e-04f, -1.094383620e-04f, -1.093201047e-04f, -1.092016683e-04f,
+-1.090830529e-04f, -1.089642588e-04f, -1.088452862e-04f, -1.087261354e-04f, -1.086068065e-04f, -1.084872998e-04f, -1.083676155e-04f, -1.082477538e-04f, -1.081277149e-04f, -1.080074991e-04f,
+-1.078871066e-04f, -1.077665376e-04f, -1.076457923e-04f, -1.075248709e-04f, -1.074037738e-04f, -1.072825010e-04f, -1.071610529e-04f, -1.070394296e-04f, -1.069176314e-04f, -1.067956585e-04f,
+-1.066735112e-04f, -1.065511895e-04f, -1.064286939e-04f, -1.063060245e-04f, -1.061831815e-04f, -1.060601651e-04f, -1.059369757e-04f, -1.058136133e-04f, -1.056900783e-04f, -1.055663709e-04f,
+-1.054424913e-04f, -1.053184397e-04f, -1.051942163e-04f, -1.050698215e-04f, -1.049452553e-04f, -1.048205181e-04f, -1.046956101e-04f, -1.045705315e-04f, -1.044452825e-04f, -1.043198634e-04f,
+-1.041942744e-04f, -1.040685157e-04f, -1.039425876e-04f, -1.038164903e-04f, -1.036902240e-04f, -1.035637890e-04f, -1.034371854e-04f, -1.033104136e-04f, -1.031834737e-04f, -1.030563660e-04f,
+-1.029290908e-04f, -1.028016482e-04f, -1.026740385e-04f, -1.025462620e-04f, -1.024183188e-04f, -1.022902092e-04f, -1.021619334e-04f, -1.020334917e-04f, -1.019048843e-04f, -1.017761115e-04f,
+-1.016471734e-04f, -1.015180704e-04f, -1.013888026e-04f, -1.012593703e-04f, -1.011297737e-04f, -1.010000131e-04f, -1.008700887e-04f, -1.007400008e-04f, -1.006097495e-04f, -1.004793351e-04f,
+-1.003487580e-04f, -1.002180182e-04f, -1.000871160e-04f, -9.995605176e-05f, -9.982482562e-05f, -9.969343784e-05f, -9.956188866e-05f, -9.943017832e-05f, -9.929830706e-05f, -9.916627514e-05f,
+-9.903408278e-05f, -9.890173023e-05f, -9.876921773e-05f, -9.863654553e-05f, -9.850371387e-05f, -9.837072299e-05f, -9.823757313e-05f, -9.810426454e-05f, -9.797079746e-05f, -9.783717214e-05f,
+-9.770338882e-05f, -9.756944775e-05f, -9.743534917e-05f, -9.730109332e-05f, -9.716668045e-05f, -9.703211081e-05f, -9.689738464e-05f, -9.676250219e-05f, -9.662746371e-05f, -9.649226944e-05f,
+-9.635691963e-05f, -9.622141452e-05f, -9.608575437e-05f, -9.594993941e-05f, -9.581396991e-05f, -9.567784610e-05f, -9.554156824e-05f, -9.540513658e-05f, -9.526855136e-05f, -9.513181283e-05f,
+-9.499492124e-05f, -9.485787684e-05f, -9.472067988e-05f, -9.458333062e-05f, -9.444582930e-05f, -9.430817616e-05f, -9.417037148e-05f, -9.403241548e-05f, -9.389430844e-05f, -9.375605059e-05f,
+-9.361764219e-05f, -9.347908349e-05f, -9.334037474e-05f, -9.320151620e-05f, -9.306250812e-05f, -9.292335075e-05f, -9.278404434e-05f, -9.264458915e-05f, -9.250498544e-05f, -9.236523345e-05f,
+-9.222533344e-05f, -9.208528567e-05f, -9.194509038e-05f, -9.180474784e-05f, -9.166425830e-05f, -9.152362201e-05f, -9.138283924e-05f, -9.124191023e-05f, -9.110083524e-05f, -9.095961453e-05f,
+-9.081824836e-05f, -9.067673698e-05f, -9.053508064e-05f, -9.039327961e-05f, -9.025133415e-05f, -9.010924451e-05f, -8.996701094e-05f, -8.982463371e-05f, -8.968211308e-05f, -8.953944930e-05f,
+-8.939664264e-05f, -8.925369335e-05f, -8.911060168e-05f, -8.896736791e-05f, -8.882399229e-05f, -8.868047508e-05f, -8.853681653e-05f, -8.839301692e-05f, -8.824907650e-05f, -8.810499553e-05f,
+-8.796077428e-05f, -8.781641300e-05f, -8.767191195e-05f, -8.752727141e-05f, -8.738249162e-05f, -8.723757285e-05f, -8.709251537e-05f, -8.694731943e-05f, -8.680198530e-05f, -8.665651325e-05f,
+-8.651090353e-05f, -8.636515641e-05f, -8.621927215e-05f, -8.607325102e-05f, -8.592709328e-05f, -8.578079919e-05f, -8.563436902e-05f, -8.548780304e-05f, -8.534110150e-05f, -8.519426468e-05f,
+-8.504729284e-05f, -8.490018625e-05f, -8.475294516e-05f, -8.460556985e-05f, -8.445806058e-05f, -8.431041763e-05f, -8.416264125e-05f, -8.401473171e-05f, -8.386668928e-05f, -8.371851423e-05f,
+-8.357020682e-05f, -8.342176733e-05f, -8.327319602e-05f, -8.312449315e-05f, -8.297565900e-05f, -8.282669384e-05f, -8.267759793e-05f, -8.252837154e-05f, -8.237901494e-05f, -8.222952840e-05f,
+-8.207991220e-05f, -8.193016659e-05f, -8.178029186e-05f, -8.163028826e-05f, -8.148015607e-05f, -8.132989557e-05f, -8.117950702e-05f, -8.102899069e-05f, -8.087834685e-05f, -8.072757578e-05f,
+-8.057667774e-05f, -8.042565301e-05f, -8.027450186e-05f, -8.012322457e-05f, -7.997182140e-05f, -7.982029262e-05f, -7.966863852e-05f, -7.951685935e-05f, -7.936495540e-05f, -7.921292694e-05f,
+-7.906077425e-05f, -7.890849758e-05f, -7.875609723e-05f, -7.860357346e-05f, -7.845092655e-05f, -7.829815677e-05f, -7.814526440e-05f, -7.799224971e-05f, -7.783911297e-05f, -7.768585447e-05f,
+-7.753247447e-05f, -7.737897326e-05f, -7.722535110e-05f, -7.707160828e-05f, -7.691774507e-05f, -7.676376174e-05f, -7.660965858e-05f, -7.645543586e-05f, -7.630109385e-05f, -7.614663284e-05f,
+-7.599205309e-05f, -7.583735490e-05f, -7.568253853e-05f, -7.552760426e-05f, -7.537255238e-05f, -7.521738315e-05f, -7.506209686e-05f, -7.490669379e-05f, -7.475117421e-05f, -7.459553840e-05f,
+-7.443978665e-05f, -7.428391923e-05f, -7.412793642e-05f, -7.397183849e-05f, -7.381562574e-05f, -7.365929844e-05f, -7.350285687e-05f, -7.334630131e-05f, -7.318963204e-05f, -7.303284934e-05f,
+-7.287595349e-05f, -7.271894478e-05f, -7.256182348e-05f, -7.240458987e-05f, -7.224724424e-05f, -7.208978687e-05f, -7.193221804e-05f, -7.177453803e-05f, -7.161674712e-05f, -7.145884560e-05f,
+-7.130083375e-05f, -7.114271185e-05f, -7.098448019e-05f, -7.082613904e-05f, -7.066768869e-05f, -7.050912942e-05f, -7.035046152e-05f, -7.019168528e-05f, -7.003280096e-05f, -6.987380886e-05f,
+-6.971470927e-05f, -6.955550246e-05f, -6.939618872e-05f, -6.923676834e-05f, -6.907724160e-05f, -6.891760878e-05f, -6.875787017e-05f, -6.859802606e-05f, -6.843807673e-05f, -6.827802247e-05f,
+-6.811786355e-05f, -6.795760028e-05f, -6.779723292e-05f, -6.763676178e-05f, -6.747618713e-05f, -6.731550927e-05f, -6.715472848e-05f, -6.699384504e-05f, -6.683285924e-05f, -6.667177137e-05f,
+-6.651058173e-05f, -6.634929058e-05f, -6.618789823e-05f, -6.602640496e-05f, -6.586481105e-05f, -6.570311680e-05f, -6.554132250e-05f, -6.537942843e-05f, -6.521743487e-05f, -6.505534213e-05f,
+-6.489315048e-05f, -6.473086022e-05f, -6.456847164e-05f, -6.440598502e-05f, -6.424340066e-05f, -6.408071884e-05f, -6.391793985e-05f, -6.375506399e-05f, -6.359209154e-05f, -6.342902279e-05f,
+-6.326585803e-05f, -6.310259756e-05f, -6.293924166e-05f, -6.277579063e-05f, -6.261224475e-05f, -6.244860432e-05f, -6.228486963e-05f, -6.212104096e-05f, -6.195711861e-05f, -6.179310288e-05f,
+-6.162899404e-05f, -6.146479241e-05f, -6.130049825e-05f, -6.113611188e-05f, -6.097163357e-05f, -6.080706363e-05f, -6.064240235e-05f, -6.047765001e-05f, -6.031280691e-05f, -6.014787334e-05f,
+-5.998284960e-05f, -5.981773598e-05f, -5.965253277e-05f, -5.948724027e-05f, -5.932185876e-05f, -5.915638855e-05f, -5.899082992e-05f, -5.882518317e-05f, -5.865944860e-05f, -5.849362650e-05f,
+-5.832771715e-05f, -5.816172086e-05f, -5.799563793e-05f, -5.782946864e-05f, -5.766321329e-05f, -5.749687217e-05f, -5.733044559e-05f, -5.716393383e-05f, -5.699733719e-05f, -5.683065596e-05f,
+-5.666389045e-05f, -5.649704094e-05f, -5.633010774e-05f, -5.616309113e-05f, -5.599599142e-05f, -5.582880889e-05f, -5.566154386e-05f, -5.549419660e-05f, -5.532676743e-05f, -5.515925663e-05f,
+-5.499166450e-05f, -5.482399134e-05f, -5.465623745e-05f, -5.448840312e-05f, -5.432048865e-05f, -5.415249434e-05f, -5.398442048e-05f, -5.381626737e-05f, -5.364803531e-05f, -5.347972460e-05f,
+-5.331133553e-05f, -5.314286841e-05f, -5.297432353e-05f, -5.280570118e-05f, -5.263700167e-05f, -5.246822530e-05f, -5.229937236e-05f, -5.213044315e-05f, -5.196143798e-05f, -5.179235713e-05f,
+-5.162320091e-05f, -5.145396962e-05f, -5.128466355e-05f, -5.111528302e-05f, -5.094582830e-05f, -5.077629971e-05f, -5.060669754e-05f, -5.043702210e-05f, -5.026727368e-05f, -5.009745258e-05f,
+-4.992755911e-05f, -4.975759355e-05f, -4.958755622e-05f, -4.941744742e-05f, -4.924726743e-05f, -4.907701657e-05f, -4.890669513e-05f, -4.873630342e-05f, -4.856584174e-05f, -4.839531037e-05f,
+-4.822470964e-05f, -4.805403983e-05f, -4.788330126e-05f, -4.771249421e-05f, -4.754161899e-05f, -4.737067591e-05f, -4.719966526e-05f, -4.702858734e-05f, -4.685744246e-05f, -4.668623093e-05f,
+-4.651495303e-05f, -4.634360907e-05f, -4.617219936e-05f, -4.600072419e-05f, -4.582918388e-05f, -4.565757871e-05f, -4.548590900e-05f, -4.531417504e-05f, -4.514237714e-05f, -4.497051560e-05f,
+-4.479859072e-05f, -4.462660281e-05f, -4.445455217e-05f, -4.428243910e-05f, -4.411026391e-05f, -4.393802689e-05f, -4.376572835e-05f, -4.359336860e-05f, -4.342094793e-05f, -4.324846666e-05f,
+-4.307592508e-05f, -4.290332350e-05f, -4.273066221e-05f, -4.255794154e-05f, -4.238516177e-05f, -4.221232322e-05f, -4.203942618e-05f, -4.186647096e-05f, -4.169345787e-05f, -4.152038720e-05f,
+-4.134725927e-05f, -4.117407438e-05f, -4.100083283e-05f, -4.082753493e-05f, -4.065418097e-05f, -4.048077127e-05f, -4.030730613e-05f, -4.013378586e-05f, -3.996021076e-05f, -3.978658113e-05f,
+-3.961289728e-05f, -3.943915951e-05f, -3.926536814e-05f, -3.909152346e-05f, -3.891762578e-05f, -3.874367540e-05f, -3.856967264e-05f, -3.839561779e-05f, -3.822151116e-05f, -3.804735306e-05f,
+-3.787314379e-05f, -3.769888366e-05f, -3.752457297e-05f, -3.735021204e-05f, -3.717580116e-05f, -3.700134064e-05f, -3.682683079e-05f, -3.665227191e-05f, -3.647766431e-05f, -3.630300830e-05f,
+-3.612830418e-05f, -3.595355226e-05f, -3.577875284e-05f, -3.560390624e-05f, -3.542901275e-05f, -3.525407268e-05f, -3.507908635e-05f, -3.490405405e-05f, -3.472897610e-05f, -3.455385280e-05f,
+-3.437868445e-05f, -3.420347137e-05f, -3.402821386e-05f, -3.385291223e-05f, -3.367756678e-05f, -3.350217782e-05f, -3.332674566e-05f, -3.315127061e-05f, -3.297575297e-05f, -3.280019306e-05f,
+-3.262459117e-05f, -3.244894761e-05f, -3.227326270e-05f, -3.209753673e-05f, -3.192177003e-05f, -3.174596289e-05f, -3.157011562e-05f, -3.139422853e-05f, -3.121830192e-05f, -3.104233612e-05f,
+-3.086633141e-05f, -3.069028812e-05f, -3.051420654e-05f, -3.033808699e-05f, -3.016192978e-05f, -2.998573520e-05f, -2.980950358e-05f, -2.963323521e-05f, -2.945693041e-05f, -2.928058948e-05f,
+-2.910421274e-05f, -2.892780048e-05f, -2.875135302e-05f, -2.857487067e-05f, -2.839835374e-05f, -2.822180252e-05f, -2.804521734e-05f, -2.786859850e-05f, -2.769194630e-05f, -2.751526106e-05f,
+-2.733854309e-05f, -2.716179269e-05f, -2.698501017e-05f, -2.680819584e-05f, -2.663135001e-05f, -2.645447299e-05f, -2.627756509e-05f, -2.610062660e-05f, -2.592365785e-05f, -2.574665915e-05f,
+-2.556963079e-05f, -2.539257310e-05f, -2.521548637e-05f, -2.503837092e-05f, -2.486122705e-05f, -2.468405508e-05f, -2.450685531e-05f, -2.432962806e-05f, -2.415237362e-05f, -2.397509232e-05f,
+-2.379778445e-05f, -2.362045034e-05f, -2.344309028e-05f, -2.326570458e-05f, -2.308829356e-05f, -2.291085753e-05f, -2.273339679e-05f, -2.255591165e-05f, -2.237840242e-05f, -2.220086941e-05f,
+-2.202331293e-05f, -2.184573329e-05f, -2.166813080e-05f, -2.149050577e-05f, -2.131285850e-05f, -2.113518931e-05f, -2.095749850e-05f, -2.077978638e-05f, -2.060205327e-05f, -2.042429947e-05f,
+-2.024652529e-05f, -2.006873105e-05f, -1.989091704e-05f, -1.971308358e-05f, -1.953523098e-05f, -1.935735955e-05f, -1.917946959e-05f, -1.900156142e-05f, -1.882363535e-05f, -1.864569168e-05f,
+-1.846773073e-05f, -1.828975280e-05f, -1.811175820e-05f, -1.793374725e-05f, -1.775572024e-05f, -1.757767750e-05f, -1.739961933e-05f, -1.722154603e-05f, -1.704345793e-05f, -1.686535532e-05f,
+-1.668723852e-05f, -1.650910784e-05f, -1.633096359e-05f, -1.615280607e-05f, -1.597463559e-05f, -1.579645247e-05f, -1.561825701e-05f, -1.544004953e-05f, -1.526183032e-05f, -1.508359971e-05f,
+-1.490535800e-05f, -1.472710550e-05f, -1.454884252e-05f, -1.437056936e-05f, -1.419228635e-05f, -1.401399378e-05f, -1.383569197e-05f, -1.365738122e-05f, -1.347906184e-05f, -1.330073415e-05f,
+-1.312239846e-05f, -1.294405506e-05f, -1.276570428e-05f, -1.258734642e-05f, -1.240898179e-05f, -1.223061069e-05f, -1.205223345e-05f, -1.187385036e-05f, -1.169546173e-05f, -1.151706789e-05f,
+-1.133866912e-05f, -1.116026575e-05f, -1.098185808e-05f, -1.080344643e-05f, -1.062503109e-05f, -1.044661238e-05f, -1.026819061e-05f, -1.008976609e-05f, -9.911339121e-06f, -9.732910019e-06f,
+-9.554479090e-06f, -9.376046644e-06f, -9.197612989e-06f, -9.019178434e-06f, -8.840743288e-06f, -8.662307860e-06f, -8.483872458e-06f, -8.305437390e-06f, -8.127002966e-06f, -7.948569495e-06f,
+-7.770137284e-06f, -7.591706642e-06f, -7.413277879e-06f, -7.234851302e-06f, -7.056427219e-06f, -6.878005940e-06f, -6.699587773e-06f, -6.521173026e-06f, -6.342762007e-06f, -6.164355026e-06f,
+-5.985952389e-06f, -5.807554406e-06f, -5.629161384e-06f, -5.450773633e-06f, -5.272391459e-06f, -5.094015171e-06f, -4.915645078e-06f, -4.737281486e-06f, -4.558924705e-06f, -4.380575042e-06f,
+-4.202232805e-06f, -4.023898303e-06f, -3.845571842e-06f, -3.667253731e-06f, -3.488944277e-06f, -3.310643789e-06f, -3.132352573e-06f, -2.954070938e-06f, -2.775799191e-06f, -2.597537640e-06f,
+-2.419286592e-06f, -2.241046355e-06f, -2.062817237e-06f, -1.884599543e-06f, -1.706393583e-06f, -1.528199663e-06f, -1.350018090e-06f, -1.171849172e-06f, -9.936932161e-07f, -8.155505289e-07f,
+-6.374214177e-07f, -4.593061895e-07f, -2.812051512e-07f, -1.031186099e-07f, 7.495312775e-08f, 2.530097548e-07f, 4.310509646e-07f, 6.090764504e-07f, 7.870859055e-07f, 9.650790234e-07f,
+1.143055497e-06f, 1.321015021e-06f, 1.498957288e-06f, 1.676881992e-06f, 1.854788827e-06f, 2.032677486e-06f, 2.210547663e-06f, 2.388399052e-06f, 2.566231346e-06f, 2.744044241e-06f,
+2.921837430e-06f, 3.099610606e-06f, 3.277363465e-06f, 3.455095700e-06f, 3.632807005e-06f, 3.810497075e-06f, 3.988165605e-06f, 4.165812288e-06f, 4.343436820e-06f, 4.521038895e-06f,
+4.698618207e-06f, 4.876174451e-06f, 5.053707322e-06f, 5.231216516e-06f, 5.408701725e-06f, 5.586162647e-06f, 5.763598975e-06f, 5.941010406e-06f, 6.118396633e-06f, 6.295757353e-06f,
+6.473092260e-06f, 6.650401051e-06f, 6.827683420e-06f, 7.004939063e-06f, 7.182167675e-06f, 7.359368953e-06f, 7.536542593e-06f, 7.713688289e-06f, 7.890805737e-06f, 8.067894635e-06f,
+8.244954678e-06f, 8.421985561e-06f, 8.598986982e-06f, 8.775958636e-06f, 8.952900220e-06f, 9.129811430e-06f, 9.306691962e-06f, 9.483541515e-06f, 9.660359783e-06f, 9.837146464e-06f,
+1.001390125e-05f, 1.019062385e-05f, 1.036731395e-05f, 1.054397125e-05f, 1.072059545e-05f, 1.089718624e-05f, 1.107374333e-05f, 1.125026641e-05f, 1.142675517e-05f, 1.160320932e-05f,
+1.177962855e-05f, 1.195601256e-05f, 1.213236104e-05f, 1.230867371e-05f, 1.248495024e-05f, 1.266119035e-05f, 1.283739373e-05f, 1.301356008e-05f, 1.318968910e-05f, 1.336578048e-05f,
+1.354183392e-05f, 1.371784913e-05f, 1.389382579e-05f, 1.406976362e-05f, 1.424566231e-05f, 1.442152155e-05f, 1.459734105e-05f, 1.477312051e-05f, 1.494885962e-05f, 1.512455809e-05f,
+1.530021561e-05f, 1.547583188e-05f, 1.565140661e-05f, 1.582693949e-05f, 1.600243023e-05f, 1.617787852e-05f, 1.635328406e-05f, 1.652864655e-05f, 1.670396570e-05f, 1.687924120e-05f,
+1.705447276e-05f, 1.722966007e-05f, 1.740480283e-05f, 1.757990076e-05f, 1.775495354e-05f, 1.792996087e-05f, 1.810492247e-05f, 1.827983803e-05f, 1.845470725e-05f, 1.862952983e-05f,
+1.880430548e-05f, 1.897903389e-05f, 1.915371477e-05f, 1.932834782e-05f, 1.950293275e-05f, 1.967746924e-05f, 1.985195701e-05f, 2.002639576e-05f, 2.020078519e-05f, 2.037512501e-05f,
+2.054941491e-05f, 2.072365459e-05f, 2.089784377e-05f, 2.107198214e-05f, 2.124606941e-05f, 2.142010528e-05f, 2.159408945e-05f, 2.176802163e-05f, 2.194190152e-05f, 2.211572882e-05f,
+2.228950324e-05f, 2.246322448e-05f, 2.263689224e-05f, 2.281050624e-05f, 2.298406617e-05f, 2.315757173e-05f, 2.333102264e-05f, 2.350441860e-05f, 2.367775930e-05f, 2.385104447e-05f,
+2.402427379e-05f, 2.419744698e-05f, 2.437056374e-05f, 2.454362378e-05f, 2.471662680e-05f, 2.488957251e-05f, 2.506246061e-05f, 2.523529080e-05f, 2.540806281e-05f, 2.558077632e-05f,
+2.575343105e-05f, 2.592602671e-05f, 2.609856299e-05f, 2.627103961e-05f, 2.644345627e-05f, 2.661581269e-05f, 2.678810855e-05f, 2.696034359e-05f, 2.713251749e-05f, 2.730462997e-05f,
+2.747668073e-05f, 2.764866949e-05f, 2.782059595e-05f, 2.799245982e-05f, 2.816426080e-05f, 2.833599861e-05f, 2.850767295e-05f, 2.867928353e-05f, 2.885083006e-05f, 2.902231225e-05f,
+2.919372981e-05f, 2.936508244e-05f, 2.953636986e-05f, 2.970759177e-05f, 2.987874788e-05f, 3.004983791e-05f, 3.022086156e-05f, 3.039181854e-05f, 3.056270856e-05f, 3.073353134e-05f,
+3.090428657e-05f, 3.107497398e-05f, 3.124559328e-05f, 3.141614416e-05f, 3.158662635e-05f, 3.175703956e-05f, 3.192738349e-05f, 3.209765785e-05f, 3.226786237e-05f, 3.243799675e-05f,
+3.260806069e-05f, 3.277805392e-05f, 3.294797615e-05f, 3.311782708e-05f, 3.328760643e-05f, 3.345731392e-05f, 3.362694925e-05f, 3.379651213e-05f, 3.396600228e-05f, 3.413541942e-05f,
+3.430476325e-05f, 3.447403349e-05f, 3.464322985e-05f, 3.481235205e-05f, 3.498139980e-05f, 3.515037281e-05f, 3.531927079e-05f, 3.548809347e-05f, 3.565684055e-05f, 3.582551176e-05f,
+3.599410679e-05f, 3.616262538e-05f, 3.633106723e-05f, 3.649943206e-05f, 3.666771958e-05f, 3.683592952e-05f, 3.700406158e-05f, 3.717211548e-05f, 3.734009094e-05f, 3.750798767e-05f,
+3.767580539e-05f, 3.784354381e-05f, 3.801120266e-05f, 3.817878164e-05f, 3.834628048e-05f, 3.851369890e-05f, 3.868103660e-05f, 3.884829331e-05f, 3.901546874e-05f, 3.918256262e-05f,
+3.934957465e-05f, 3.951650457e-05f, 3.968335208e-05f, 3.985011690e-05f, 4.001679875e-05f, 4.018339736e-05f, 4.034991244e-05f, 4.051634371e-05f, 4.068269088e-05f, 4.084895368e-05f,
+4.101513183e-05f, 4.118122505e-05f, 4.134723305e-05f, 4.151315556e-05f, 4.167899230e-05f, 4.184474298e-05f, 4.201040733e-05f, 4.217598507e-05f, 4.234147592e-05f, 4.250687959e-05f,
+4.267219582e-05f, 4.283742433e-05f, 4.300256482e-05f, 4.316761703e-05f, 4.333258068e-05f, 4.349745549e-05f, 4.366224118e-05f, 4.382693748e-05f, 4.399154411e-05f, 4.415606078e-05f,
+4.432048723e-05f, 4.448482317e-05f, 4.464906833e-05f, 4.481322244e-05f, 4.497728521e-05f, 4.514125637e-05f, 4.530513565e-05f, 4.546892277e-05f, 4.563261745e-05f, 4.579621941e-05f,
+4.595972839e-05f, 4.612314411e-05f, 4.628646629e-05f, 4.644969466e-05f, 4.661282894e-05f, 4.677586887e-05f, 4.693881415e-05f, 4.710166453e-05f, 4.726441973e-05f, 4.742707947e-05f,
+4.758964348e-05f, 4.775211149e-05f, 4.791448323e-05f, 4.807675841e-05f, 4.823893678e-05f, 4.840101805e-05f, 4.856300195e-05f, 4.872488822e-05f, 4.888667658e-05f, 4.904836676e-05f,
+4.920995849e-05f, 4.937145149e-05f, 4.953284550e-05f, 4.969414025e-05f, 4.985533545e-05f, 5.001643086e-05f, 5.017742618e-05f, 5.033832116e-05f, 5.049911552e-05f, 5.065980899e-05f,
+5.082040131e-05f, 5.098089220e-05f, 5.114128140e-05f, 5.130156864e-05f, 5.146175364e-05f, 5.162183614e-05f, 5.178181588e-05f, 5.194169257e-05f, 5.210146597e-05f, 5.226113579e-05f,
+5.242070177e-05f, 5.258016364e-05f, 5.273952114e-05f, 5.289877400e-05f, 5.305792195e-05f, 5.321696472e-05f, 5.337590206e-05f, 5.353473368e-05f, 5.369345934e-05f, 5.385207876e-05f,
+5.401059167e-05f, 5.416899782e-05f, 5.432729693e-05f, 5.448548874e-05f, 5.464357299e-05f, 5.480154941e-05f, 5.495941774e-05f, 5.511717771e-05f, 5.527482907e-05f, 5.543237154e-05f,
+5.558980486e-05f, 5.574712878e-05f, 5.590434302e-05f, 5.606144732e-05f, 5.621844143e-05f, 5.637532508e-05f, 5.653209800e-05f, 5.668875994e-05f, 5.684531064e-05f, 5.700174983e-05f,
+5.715807724e-05f, 5.731429263e-05f, 5.747039573e-05f, 5.762638628e-05f, 5.778226402e-05f, 5.793802868e-05f, 5.809368001e-05f, 5.824921776e-05f, 5.840464165e-05f, 5.855995143e-05f,
+5.871514684e-05f, 5.887022763e-05f, 5.902519352e-05f, 5.918004428e-05f, 5.933477963e-05f, 5.948939932e-05f, 5.964390309e-05f, 5.979829068e-05f, 5.995256184e-05f, 6.010671631e-05f,
+6.026075383e-05f, 6.041467415e-05f, 6.056847701e-05f, 6.072216215e-05f, 6.087572932e-05f, 6.102917826e-05f, 6.118250872e-05f, 6.133572044e-05f, 6.148881316e-05f, 6.164178663e-05f,
+6.179464060e-05f, 6.194737482e-05f, 6.209998902e-05f, 6.225248296e-05f, 6.240485637e-05f, 6.255710901e-05f, 6.270924063e-05f, 6.286125097e-05f, 6.301313978e-05f, 6.316490680e-05f,
+6.331655178e-05f, 6.346807448e-05f, 6.361947463e-05f, 6.377075200e-05f, 6.392190632e-05f, 6.407293734e-05f, 6.422384482e-05f, 6.437462851e-05f, 6.452528814e-05f, 6.467582348e-05f,
+6.482623428e-05f, 6.497652028e-05f, 6.512668123e-05f, 6.527671688e-05f, 6.542662700e-05f, 6.557641132e-05f, 6.572606960e-05f, 6.587560159e-05f, 6.602500704e-05f, 6.617428570e-05f,
+6.632343734e-05f, 6.647246169e-05f, 6.662135852e-05f, 6.677012757e-05f, 6.691876860e-05f, 6.706728136e-05f, 6.721566561e-05f, 6.736392110e-05f, 6.751204759e-05f, 6.766004483e-05f,
+6.780791257e-05f, 6.795565057e-05f, 6.810325859e-05f, 6.825073638e-05f, 6.839808369e-05f, 6.854530029e-05f, 6.869238593e-05f, 6.883934036e-05f, 6.898616334e-05f, 6.913285464e-05f,
+6.927941400e-05f, 6.942584119e-05f, 6.957213596e-05f, 6.971829807e-05f, 6.986432728e-05f, 7.001022334e-05f, 7.015598603e-05f, 7.030161509e-05f, 7.044711028e-05f, 7.059247137e-05f,
+7.073769811e-05f, 7.088279026e-05f, 7.102774759e-05f, 7.117256986e-05f, 7.131725682e-05f, 7.146180824e-05f, 7.160622388e-05f, 7.175050350e-05f, 7.189464686e-05f, 7.203865372e-05f,
+7.218252385e-05f, 7.232625701e-05f, 7.246985297e-05f, 7.261331147e-05f, 7.275663230e-05f, 7.289981521e-05f, 7.304285996e-05f, 7.318576633e-05f, 7.332853407e-05f, 7.347116295e-05f,
+7.361365274e-05f, 7.375600319e-05f, 7.389821408e-05f, 7.404028517e-05f, 7.418221623e-05f, 7.432400703e-05f, 7.446565732e-05f, 7.460716688e-05f, 7.474853547e-05f, 7.488976286e-05f,
+7.503084883e-05f, 7.517179313e-05f, 7.531259553e-05f, 7.545325581e-05f, 7.559377373e-05f, 7.573414906e-05f, 7.587438157e-05f, 7.601447103e-05f, 7.615441721e-05f, 7.629421987e-05f,
+7.643387880e-05f, 7.657339376e-05f, 7.671276451e-05f, 7.685199084e-05f, 7.699107252e-05f, 7.713000930e-05f, 7.726880098e-05f, 7.740744731e-05f, 7.754594807e-05f, 7.768430304e-05f,
+7.782251198e-05f, 7.796057468e-05f, 7.809849089e-05f, 7.823626041e-05f, 7.837388299e-05f, 7.851135842e-05f, 7.864868647e-05f, 7.878586692e-05f, 7.892289954e-05f, 7.905978410e-05f,
+7.919652038e-05f, 7.933310816e-05f, 7.946954721e-05f, 7.960583732e-05f, 7.974197825e-05f, 7.987796978e-05f, 8.001381170e-05f, 8.014950377e-05f, 8.028504578e-05f, 8.042043751e-05f,
+8.055567873e-05f, 8.069076922e-05f, 8.082570876e-05f, 8.096049713e-05f, 8.109513412e-05f, 8.122961949e-05f, 8.136395303e-05f, 8.149813453e-05f, 8.163216375e-05f, 8.176604049e-05f,
+8.189976451e-05f, 8.203333562e-05f, 8.216675358e-05f, 8.230001818e-05f, 8.243312920e-05f, 8.256608643e-05f, 8.269888964e-05f, 8.283153862e-05f, 8.296403316e-05f, 8.309637303e-05f,
+8.322855802e-05f, 8.336058793e-05f, 8.349246252e-05f, 8.362418159e-05f, 8.375574491e-05f, 8.388715229e-05f, 8.401840350e-05f, 8.414949832e-05f, 8.428043655e-05f, 8.441121797e-05f,
+8.454184237e-05f, 8.467230954e-05f, 8.480261926e-05f, 8.493277132e-05f, 8.506276551e-05f, 8.519260162e-05f, 8.532227944e-05f, 8.545179875e-05f, 8.558115934e-05f, 8.571036101e-05f,
+8.583940354e-05f, 8.596828673e-05f, 8.609701037e-05f, 8.622557424e-05f, 8.635397813e-05f, 8.648222185e-05f, 8.661030517e-05f, 8.673822790e-05f, 8.686598982e-05f, 8.699359073e-05f,
+8.712103042e-05f, 8.724830868e-05f, 8.737542530e-05f, 8.750238009e-05f, 8.762917283e-05f, 8.775580332e-05f, 8.788227135e-05f, 8.800857672e-05f, 8.813471922e-05f, 8.826069865e-05f,
+8.838651481e-05f, 8.851216748e-05f, 8.863765648e-05f, 8.876298158e-05f, 8.888814260e-05f, 8.901313933e-05f, 8.913797156e-05f, 8.926263909e-05f, 8.938714173e-05f, 8.951147927e-05f,
+8.963565150e-05f, 8.975965824e-05f, 8.988349927e-05f, 9.000717440e-05f, 9.013068343e-05f, 9.025402615e-05f, 9.037720238e-05f, 9.050021190e-05f, 9.062305452e-05f, 9.074573005e-05f,
+9.086823828e-05f, 9.099057902e-05f, 9.111275207e-05f, 9.123475723e-05f, 9.135659430e-05f, 9.147826309e-05f, 9.159976341e-05f, 9.172109505e-05f, 9.184225782e-05f, 9.196325152e-05f,
+9.208407597e-05f, 9.220473096e-05f, 9.232521630e-05f, 9.244553180e-05f, 9.256567726e-05f, 9.268565250e-05f, 9.280545730e-05f, 9.292509149e-05f, 9.304455488e-05f, 9.316384726e-05f,
+9.328296845e-05f, 9.340191825e-05f, 9.352069648e-05f, 9.363930293e-05f, 9.375773744e-05f, 9.387599979e-05f, 9.399408980e-05f, 9.411200729e-05f, 9.422975206e-05f, 9.434732392e-05f,
+9.446472269e-05f, 9.458194818e-05f, 9.469900019e-05f, 9.481587854e-05f, 9.493258304e-05f, 9.504911351e-05f, 9.516546976e-05f, 9.528165160e-05f, 9.539765885e-05f, 9.551349132e-05f,
+9.562914882e-05f, 9.574463117e-05f, 9.585993818e-05f, 9.597506967e-05f, 9.609002546e-05f, 9.620480535e-05f, 9.631940918e-05f, 9.643383675e-05f, 9.654808788e-05f, 9.666216238e-05f,
+9.677606008e-05f, 9.688978080e-05f, 9.700332435e-05f, 9.711669054e-05f, 9.722987921e-05f, 9.734289016e-05f, 9.745572322e-05f, 9.756837821e-05f, 9.768085495e-05f, 9.779315326e-05f,
+9.790527295e-05f, 9.801721385e-05f, 9.812897579e-05f, 9.824055858e-05f, 9.835196204e-05f, 9.846318600e-05f, 9.857423028e-05f, 9.868509471e-05f, 9.879577910e-05f, 9.890628328e-05f,
+9.901660708e-05f, 9.912675032e-05f, 9.923671282e-05f, 9.934649440e-05f, 9.945609491e-05f, 9.956551415e-05f, 9.967475196e-05f, 9.978380816e-05f, 9.989268258e-05f, 1.000013750e-04f,
+1.001098854e-04f, 1.002182134e-04f, 1.003263590e-04f, 1.004343219e-04f, 1.005421020e-04f, 1.006496992e-04f, 1.007571131e-04f, 1.008643438e-04f, 1.009713909e-04f, 1.010782544e-04f,
+1.011849341e-04f, 1.012914297e-04f, 1.013977412e-04f, 1.015038683e-04f, 1.016098109e-04f, 1.017155689e-04f, 1.018211420e-04f, 1.019265301e-04f, 1.020317330e-04f, 1.021367505e-04f,
+1.022415826e-04f, 1.023462290e-04f, 1.024506895e-04f, 1.025549640e-04f, 1.026590524e-04f, 1.027629544e-04f, 1.028666700e-04f, 1.029701988e-04f, 1.030735409e-04f, 1.031766959e-04f,
+1.032796638e-04f, 1.033824444e-04f, 1.034850375e-04f, 1.035874429e-04f, 1.036896606e-04f, 1.037916903e-04f, 1.038935319e-04f, 1.039951852e-04f, 1.040966501e-04f, 1.041979263e-04f,
+1.042990138e-04f, 1.043999124e-04f, 1.045006219e-04f, 1.046011422e-04f, 1.047014731e-04f, 1.048016144e-04f, 1.049015660e-04f, 1.050013278e-04f, 1.051008995e-04f, 1.052002810e-04f,
+1.052994723e-04f, 1.053984730e-04f, 1.054972831e-04f, 1.055959023e-04f, 1.056943307e-04f, 1.057925679e-04f, 1.058906138e-04f, 1.059884684e-04f, 1.060861314e-04f, 1.061836026e-04f,
+1.062808820e-04f, 1.063779694e-04f, 1.064748645e-04f, 1.065715674e-04f, 1.066680777e-04f, 1.067643955e-04f, 1.068605204e-04f, 1.069564525e-04f, 1.070521914e-04f, 1.071477371e-04f,
+1.072430895e-04f, 1.073382483e-04f, 1.074332134e-04f, 1.075279847e-04f, 1.076225620e-04f, 1.077169453e-04f, 1.078111342e-04f, 1.079051287e-04f, 1.079989287e-04f, 1.080925340e-04f,
+1.081859444e-04f, 1.082791599e-04f, 1.083721802e-04f, 1.084650052e-04f, 1.085576348e-04f, 1.086500688e-04f, 1.087423071e-04f, 1.088343495e-04f, 1.089261960e-04f, 1.090178462e-04f,
+1.091093003e-04f, 1.092005578e-04f, 1.092916189e-04f, 1.093824832e-04f, 1.094731506e-04f, 1.095636211e-04f, 1.096538944e-04f, 1.097439705e-04f, 1.098338492e-04f, 1.099235303e-04f,
+1.100130137e-04f, 1.101022993e-04f, 1.101913870e-04f, 1.102802765e-04f, 1.103689678e-04f, 1.104574608e-04f, 1.105457552e-04f, 1.106338510e-04f, 1.107217480e-04f, 1.108094461e-04f,
+1.108969451e-04f, 1.109842450e-04f, 1.110713455e-04f, 1.111582466e-04f, 1.112449481e-04f, 1.113314499e-04f, 1.114177518e-04f, 1.115038538e-04f, 1.115897556e-04f, 1.116754572e-04f,
+1.117609584e-04f, 1.118462590e-04f, 1.119313591e-04f, 1.120162584e-04f, 1.121009567e-04f, 1.121854541e-04f, 1.122697503e-04f, 1.123538452e-04f, 1.124377386e-04f, 1.125214306e-04f,
+1.126049208e-04f, 1.126882093e-04f, 1.127712958e-04f, 1.128541803e-04f, 1.129368626e-04f, 1.130193425e-04f, 1.131016201e-04f, 1.131836951e-04f, 1.132655674e-04f, 1.133472369e-04f,
+1.134287035e-04f, 1.135099670e-04f, 1.135910274e-04f, 1.136718844e-04f, 1.137525380e-04f, 1.138329881e-04f, 1.139132345e-04f, 1.139932771e-04f, 1.140731158e-04f, 1.141527505e-04f,
+1.142321810e-04f, 1.143114073e-04f, 1.143904291e-04f, 1.144692465e-04f, 1.145478592e-04f, 1.146262671e-04f, 1.147044702e-04f, 1.147824683e-04f, 1.148602613e-04f, 1.149378491e-04f,
+1.150152316e-04f, 1.150924086e-04f, 1.151693800e-04f, 1.152461457e-04f, 1.153227057e-04f, 1.153990597e-04f, 1.154752077e-04f, 1.155511495e-04f, 1.156268851e-04f, 1.157024143e-04f,
+1.157777370e-04f, 1.158528531e-04f, 1.159277626e-04f, 1.160024652e-04f, 1.160769608e-04f, 1.161512494e-04f, 1.162253309e-04f, 1.162992050e-04f, 1.163728718e-04f, 1.164463312e-04f,
+1.165195829e-04f, 1.165926269e-04f, 1.166654631e-04f, 1.167380914e-04f, 1.168105116e-04f, 1.168827237e-04f, 1.169547275e-04f, 1.170265230e-04f, 1.170981101e-04f, 1.171694885e-04f,
+1.172406583e-04f, 1.173116193e-04f, 1.173823715e-04f, 1.174529146e-04f, 1.175232487e-04f, 1.175933735e-04f, 1.176632891e-04f, 1.177329952e-04f, 1.178024919e-04f, 1.178717789e-04f,
+1.179408562e-04f, 1.180097237e-04f, 1.180783813e-04f, 1.181468289e-04f, 1.182150664e-04f, 1.182830936e-04f, 1.183509105e-04f, 1.184185171e-04f, 1.184859131e-04f, 1.185530984e-04f,
+1.186200731e-04f, 1.186868370e-04f, 1.187533899e-04f, 1.188197319e-04f, 1.188858627e-04f, 1.189517824e-04f, 1.190174907e-04f, 1.190829877e-04f, 1.191482732e-04f, 1.192133471e-04f,
+1.192782093e-04f, 1.193428598e-04f, 1.194072984e-04f, 1.194715250e-04f, 1.195355396e-04f, 1.195993420e-04f, 1.196629322e-04f, 1.197263101e-04f, 1.197894755e-04f, 1.198524285e-04f,
+1.199151688e-04f, 1.199776965e-04f, 1.200400113e-04f, 1.201021133e-04f, 1.201640024e-04f, 1.202256784e-04f, 1.202871412e-04f, 1.203483908e-04f, 1.204094271e-04f, 1.204702500e-04f,
+1.205308594e-04f, 1.205912552e-04f, 1.206514374e-04f, 1.207114058e-04f, 1.207711604e-04f, 1.208307010e-04f, 1.208900277e-04f, 1.209491403e-04f, 1.210080386e-04f, 1.210667228e-04f,
+1.211251926e-04f, 1.211834479e-04f, 1.212414888e-04f, 1.212993151e-04f, 1.213569267e-04f, 1.214143235e-04f, 1.214715055e-04f, 1.215284726e-04f, 1.215852247e-04f, 1.216417617e-04f,
+1.216980836e-04f, 1.217541902e-04f, 1.218100816e-04f, 1.218657575e-04f, 1.219212180e-04f, 1.219764629e-04f, 1.220314922e-04f, 1.220863058e-04f, 1.221409036e-04f, 1.221952855e-04f,
+1.222494516e-04f, 1.223034016e-04f, 1.223571355e-04f, 1.224106533e-04f, 1.224639549e-04f, 1.225170401e-04f, 1.225699090e-04f, 1.226225614e-04f, 1.226749974e-04f, 1.227272167e-04f,
+1.227792193e-04f, 1.228310052e-04f, 1.228825743e-04f, 1.229339265e-04f, 1.229850618e-04f, 1.230359800e-04f, 1.230866812e-04f, 1.231371652e-04f, 1.231874320e-04f, 1.232374814e-04f,
+1.232873135e-04f, 1.233369282e-04f, 1.233863253e-04f, 1.234355049e-04f, 1.234844669e-04f, 1.235332112e-04f, 1.235817377e-04f, 1.236300463e-04f, 1.236781371e-04f, 1.237260099e-04f,
+1.237736646e-04f, 1.238211013e-04f, 1.238683198e-04f, 1.239153202e-04f, 1.239621022e-04f, 1.240086659e-04f, 1.240550111e-04f, 1.241011380e-04f, 1.241470462e-04f, 1.241927359e-04f,
+1.242382070e-04f, 1.242834593e-04f, 1.243284929e-04f, 1.243733076e-04f, 1.244179035e-04f, 1.244622804e-04f, 1.245064382e-04f, 1.245503771e-04f, 1.245940968e-04f, 1.246375973e-04f,
+1.246808786e-04f, 1.247239406e-04f, 1.247667833e-04f, 1.248094066e-04f, 1.248518104e-04f, 1.248939947e-04f, 1.249359594e-04f, 1.249777045e-04f, 1.250192299e-04f, 1.250605356e-04f,
+1.251016216e-04f, 1.251424877e-04f, 1.251831339e-04f, 1.252235601e-04f, 1.252637664e-04f, 1.253037527e-04f, 1.253435188e-04f, 1.253830649e-04f, 1.254223907e-04f, 1.254614963e-04f,
+1.255003816e-04f, 1.255390465e-04f, 1.255774911e-04f, 1.256157153e-04f, 1.256537190e-04f, 1.256915021e-04f, 1.257290647e-04f, 1.257664066e-04f, 1.258035279e-04f, 1.258404285e-04f,
+1.258771083e-04f, 1.259135673e-04f, 1.259498055e-04f, 1.259858228e-04f, 1.260216191e-04f, 1.260571945e-04f, 1.260925489e-04f, 1.261276822e-04f, 1.261625944e-04f, 1.261972854e-04f,
+1.262317553e-04f, 1.262660039e-04f, 1.263000313e-04f, 1.263338373e-04f, 1.263674220e-04f, 1.264007853e-04f, 1.264339272e-04f, 1.264668477e-04f, 1.264995466e-04f, 1.265320240e-04f,
+1.265642798e-04f, 1.265963140e-04f, 1.266281265e-04f, 1.266597174e-04f, 1.266910865e-04f, 1.267222339e-04f, 1.267531594e-04f, 1.267838632e-04f, 1.268143451e-04f, 1.268446051e-04f,
+1.268746431e-04f, 1.269044592e-04f, 1.269340533e-04f, 1.269634254e-04f, 1.269925754e-04f, 1.270215033e-04f, 1.270502090e-04f, 1.270786927e-04f, 1.271069541e-04f, 1.271349933e-04f,
+1.271628103e-04f, 1.271904050e-04f, 1.272177774e-04f, 1.272449275e-04f, 1.272718552e-04f, 1.272985605e-04f, 1.273250434e-04f, 1.273513039e-04f, 1.273773419e-04f, 1.274031574e-04f,
+1.274287504e-04f, 1.274541208e-04f, 1.274792686e-04f, 1.275041939e-04f, 1.275288965e-04f, 1.275533765e-04f, 1.275776339e-04f, 1.276016685e-04f, 1.276254804e-04f, 1.276490696e-04f,
+1.276724361e-04f, 1.276955797e-04f, 1.277185006e-04f, 1.277411986e-04f, 1.277636738e-04f, 1.277859261e-04f, 1.278079555e-04f, 1.278297621e-04f, 1.278513457e-04f, 1.278727064e-04f,
+1.278938441e-04f, 1.279147589e-04f, 1.279354506e-04f, 1.279559194e-04f, 1.279761651e-04f, 1.279961878e-04f, 1.280159875e-04f, 1.280355640e-04f, 1.280549175e-04f, 1.280740479e-04f,
+1.280929551e-04f, 1.281116393e-04f, 1.281301002e-04f, 1.281483381e-04f, 1.281663527e-04f, 1.281841442e-04f, 1.282017125e-04f, 1.282190576e-04f, 1.282361795e-04f, 1.282530781e-04f,
+1.282697535e-04f, 1.282862057e-04f, 1.283024346e-04f, 1.283184402e-04f, 1.283342226e-04f, 1.283497817e-04f, 1.283651175e-04f, 1.283802300e-04f, 1.283951191e-04f, 1.284097850e-04f,
+1.284242276e-04f, 1.284384468e-04f, 1.284524427e-04f, 1.284662153e-04f, 1.284797645e-04f, 1.284930904e-04f, 1.285061930e-04f, 1.285190722e-04f, 1.285317280e-04f, 1.285441605e-04f,
+1.285563696e-04f, 1.285683553e-04f, 1.285801177e-04f, 1.285916567e-04f, 1.286029723e-04f, 1.286140646e-04f, 1.286249335e-04f, 1.286355791e-04f, 1.286460012e-04f, 1.286562001e-04f,
+1.286661755e-04f, 1.286759276e-04f, 1.286854563e-04f, 1.286947616e-04f, 1.287038436e-04f, 1.287127023e-04f, 1.287213375e-04f, 1.287297495e-04f, 1.287379381e-04f, 1.287459034e-04f,
+1.287536453e-04f, 1.287611639e-04f, 1.287684592e-04f, 1.287755312e-04f, 1.287823798e-04f, 1.287890052e-04f, 1.287954072e-04f, 1.288015860e-04f, 1.288075415e-04f, 1.288132738e-04f,
+1.288187828e-04f, 1.288240685e-04f, 1.288291310e-04f, 1.288339702e-04f, 1.288385863e-04f, 1.288429791e-04f, 1.288471487e-04f, 1.288510952e-04f, 1.288548185e-04f, 1.288583186e-04f,
+1.288615956e-04f, 1.288646494e-04f, 1.288674801e-04f, 1.288700877e-04f, 1.288724722e-04f, 1.288746336e-04f, 1.288765720e-04f, 1.288782873e-04f, 1.288797796e-04f, 1.288810489e-04f,
+1.288820952e-04f, 1.288829185e-04f, 1.288835188e-04f, 1.288838962e-04f, 1.288840506e-04f, 1.288839822e-04f, 1.288836908e-04f, 1.288831766e-04f, 1.288824396e-04f, 1.288814797e-04f,
+1.288802970e-04f, 1.288788915e-04f, 1.288772632e-04f, 1.288754122e-04f, 1.288733385e-04f, 1.288710420e-04f, 1.288685229e-04f, 1.288657812e-04f, 1.288628168e-04f, 1.288596298e-04f,
+1.288562202e-04f, 1.288525880e-04f, 1.288487333e-04f, 1.288446561e-04f, 1.288403565e-04f, 1.288358343e-04f, 1.288310898e-04f, 1.288261228e-04f, 1.288209335e-04f, 1.288155218e-04f,
+1.288098878e-04f, 1.288040315e-04f, 1.287979529e-04f, 1.287916521e-04f, 1.287851291e-04f, 1.287783840e-04f, 1.287714167e-04f, 1.287642273e-04f, 1.287568158e-04f, 1.287491822e-04f,
+1.287413267e-04f, 1.287332491e-04f, 1.287249496e-04f, 1.287164282e-04f, 1.287076849e-04f, 1.286987198e-04f, 1.286895328e-04f, 1.286801241e-04f, 1.286704936e-04f, 1.286606414e-04f,
+1.286505675e-04f, 1.286402720e-04f, 1.286297549e-04f, 1.286190162e-04f, 1.286080560e-04f, 1.285968744e-04f, 1.285854712e-04f, 1.285738467e-04f, 1.285620007e-04f, 1.285499335e-04f,
+1.285376449e-04f, 1.285251351e-04f, 1.285124041e-04f, 1.284994519e-04f, 1.284862785e-04f, 1.284728841e-04f, 1.284592686e-04f, 1.284454321e-04f, 1.284313747e-04f, 1.284170963e-04f,
+1.284025971e-04f, 1.283878770e-04f, 1.283729361e-04f, 1.283577745e-04f, 1.283423922e-04f, 1.283267892e-04f, 1.283109656e-04f, 1.282949215e-04f, 1.282786568e-04f, 1.282621717e-04f,
+1.282454661e-04f, 1.282285402e-04f, 1.282113939e-04f, 1.281940274e-04f, 1.281764406e-04f, 1.281586337e-04f, 1.281406066e-04f, 1.281223594e-04f, 1.281038922e-04f, 1.280852051e-04f,
+1.280662980e-04f, 1.280471710e-04f, 1.280278242e-04f, 1.280082576e-04f, 1.279884713e-04f, 1.279684653e-04f, 1.279482397e-04f, 1.279277945e-04f, 1.279071299e-04f, 1.278862458e-04f,
+1.278651423e-04f, 1.278438194e-04f, 1.278222772e-04f, 1.278005159e-04f, 1.277785353e-04f, 1.277563356e-04f, 1.277339169e-04f, 1.277112791e-04f, 1.276884224e-04f, 1.276653468e-04f,
+1.276420524e-04f, 1.276185392e-04f, 1.275948073e-04f, 1.275708568e-04f, 1.275466876e-04f, 1.275222999e-04f, 1.274976938e-04f, 1.274728692e-04f, 1.274478263e-04f, 1.274225651e-04f,
+1.273970856e-04f, 1.273713880e-04f, 1.273454723e-04f, 1.273193386e-04f, 1.272929869e-04f, 1.272664173e-04f, 1.272396298e-04f, 1.272126246e-04f, 1.271854016e-04f, 1.271579610e-04f,
+1.271303028e-04f, 1.271024271e-04f, 1.270743339e-04f, 1.270460234e-04f, 1.270174955e-04f, 1.269887504e-04f, 1.269597881e-04f, 1.269306087e-04f, 1.269012123e-04f, 1.268715989e-04f,
+1.268417685e-04f, 1.268117214e-04f, 1.267814575e-04f, 1.267509769e-04f, 1.267202796e-04f, 1.266893658e-04f, 1.266582356e-04f, 1.266268889e-04f, 1.265953259e-04f, 1.265635467e-04f,
+1.265315512e-04f, 1.264993397e-04f, 1.264669120e-04f, 1.264342685e-04f, 1.264014090e-04f, 1.263683338e-04f, 1.263350427e-04f, 1.263015361e-04f, 1.262678138e-04f, 1.262338760e-04f,
+1.261997228e-04f, 1.261653543e-04f, 1.261307704e-04f, 1.260959714e-04f, 1.260609572e-04f, 1.260257280e-04f, 1.259902838e-04f, 1.259546248e-04f, 1.259187509e-04f, 1.258826623e-04f,
+1.258463591e-04f, 1.258098413e-04f, 1.257731091e-04f, 1.257361624e-04f, 1.256990014e-04f, 1.256616262e-04f, 1.256240368e-04f, 1.255862333e-04f, 1.255482159e-04f, 1.255099846e-04f,
+1.254715394e-04f, 1.254328805e-04f, 1.253940080e-04f, 1.253549219e-04f, 1.253156224e-04f, 1.252761094e-04f, 1.252363831e-04f, 1.251964437e-04f, 1.251562910e-04f, 1.251159254e-04f,
+1.250753468e-04f, 1.250345553e-04f, 1.249935511e-04f, 1.249523341e-04f, 1.249109046e-04f, 1.248692625e-04f, 1.248274081e-04f, 1.247853413e-04f, 1.247430622e-04f, 1.247005711e-04f,
+1.246578678e-04f, 1.246149526e-04f, 1.245718256e-04f, 1.245284867e-04f, 1.244849362e-04f, 1.244411740e-04f, 1.243972004e-04f, 1.243530154e-04f, 1.243086190e-04f, 1.242640115e-04f,
+1.242191928e-04f, 1.241741631e-04f, 1.241289225e-04f, 1.240834710e-04f, 1.240378088e-04f, 1.239919359e-04f, 1.239458526e-04f, 1.238995587e-04f, 1.238530545e-04f, 1.238063401e-04f,
+1.237594155e-04f, 1.237122809e-04f, 1.236649363e-04f, 1.236173819e-04f, 1.235696177e-04f, 1.235216439e-04f, 1.234734605e-04f, 1.234250677e-04f, 1.233764655e-04f, 1.233276540e-04f,
+1.232786335e-04f, 1.232294039e-04f, 1.231799653e-04f, 1.231303179e-04f, 1.230804618e-04f, 1.230303970e-04f, 1.229801238e-04f, 1.229296421e-04f, 1.228789521e-04f, 1.228280539e-04f,
+1.227769475e-04f, 1.227256332e-04f, 1.226741110e-04f, 1.226223810e-04f, 1.225704434e-04f, 1.225182981e-04f, 1.224659455e-04f, 1.224133854e-04f, 1.223606181e-04f, 1.223076437e-04f,
+1.222544622e-04f, 1.222010739e-04f, 1.221474787e-04f, 1.220936768e-04f, 1.220396684e-04f, 1.219854535e-04f, 1.219310322e-04f, 1.218764046e-04f, 1.218215709e-04f, 1.217665312e-04f,
+1.217112856e-04f, 1.216558342e-04f, 1.216001770e-04f, 1.215443143e-04f, 1.214882462e-04f, 1.214319727e-04f, 1.213754940e-04f, 1.213188101e-04f, 1.212619213e-04f, 1.212048275e-04f,
+1.211475290e-04f, 1.210900259e-04f, 1.210323182e-04f, 1.209744061e-04f, 1.209162897e-04f, 1.208579691e-04f, 1.207994445e-04f, 1.207407159e-04f, 1.206817834e-04f, 1.206226473e-04f,
+1.205633076e-04f, 1.205037644e-04f, 1.204440179e-04f, 1.203840681e-04f, 1.203239152e-04f, 1.202635594e-04f, 1.202030007e-04f, 1.201422392e-04f, 1.200812751e-04f, 1.200201085e-04f,
+1.199587396e-04f, 1.198971684e-04f, 1.198353951e-04f, 1.197734198e-04f, 1.197112425e-04f, 1.196488636e-04f, 1.195862830e-04f, 1.195235009e-04f, 1.194605175e-04f, 1.193973327e-04f,
+1.193339469e-04f, 1.192703601e-04f, 1.192065724e-04f, 1.191425839e-04f, 1.190783948e-04f, 1.190140053e-04f, 1.189494154e-04f, 1.188846252e-04f, 1.188196350e-04f, 1.187544448e-04f,
+1.186890547e-04f, 1.186234649e-04f, 1.185576756e-04f, 1.184916868e-04f, 1.184254986e-04f, 1.183591113e-04f, 1.182925250e-04f, 1.182257397e-04f, 1.181587556e-04f, 1.180915728e-04f,
+1.180241916e-04f, 1.179566119e-04f, 1.178888340e-04f, 1.178208579e-04f, 1.177526839e-04f, 1.176843120e-04f, 1.176157424e-04f, 1.175469752e-04f, 1.174780106e-04f, 1.174088486e-04f,
+1.173394895e-04f, 1.172699333e-04f, 1.172001802e-04f, 1.171302304e-04f, 1.170600839e-04f, 1.169897409e-04f, 1.169192016e-04f, 1.168484661e-04f, 1.167775345e-04f, 1.167064069e-04f,
+1.166350836e-04f, 1.165635646e-04f, 1.164918501e-04f, 1.164199402e-04f, 1.163478351e-04f, 1.162755349e-04f, 1.162030398e-04f, 1.161303498e-04f, 1.160574652e-04f, 1.159843861e-04f,
+1.159111125e-04f, 1.158376448e-04f, 1.157639829e-04f, 1.156901271e-04f, 1.156160775e-04f, 1.155418342e-04f, 1.154673974e-04f, 1.153927673e-04f, 1.153179439e-04f, 1.152429275e-04f,
+1.151677181e-04f, 1.150923159e-04f, 1.150167211e-04f, 1.149409338e-04f, 1.148649541e-04f, 1.147887823e-04f, 1.147124184e-04f, 1.146358626e-04f, 1.145591150e-04f, 1.144821758e-04f,
+1.144050452e-04f, 1.143277233e-04f, 1.142502103e-04f, 1.141725062e-04f, 1.140946113e-04f, 1.140165257e-04f, 1.139382495e-04f, 1.138597829e-04f, 1.137811261e-04f, 1.137022792e-04f,
+1.136232423e-04f, 1.135440157e-04f, 1.134645994e-04f, 1.133849936e-04f, 1.133051986e-04f, 1.132252143e-04f, 1.131450410e-04f, 1.130646788e-04f, 1.129841280e-04f, 1.129033886e-04f,
+1.128224608e-04f, 1.127413447e-04f, 1.126600406e-04f, 1.125785485e-04f, 1.124968686e-04f, 1.124150012e-04f, 1.123329462e-04f, 1.122507040e-04f, 1.121682747e-04f, 1.120856583e-04f,
+1.120028551e-04f, 1.119198653e-04f, 1.118366889e-04f, 1.117533263e-04f, 1.116697774e-04f, 1.115860425e-04f, 1.115021217e-04f, 1.114180152e-04f, 1.113337232e-04f, 1.112492458e-04f,
+1.111645832e-04f, 1.110797355e-04f, 1.109947029e-04f, 1.109094856e-04f, 1.108240837e-04f, 1.107384975e-04f, 1.106527269e-04f, 1.105667723e-04f, 1.104806338e-04f, 1.103943115e-04f,
+1.103078057e-04f, 1.102211164e-04f, 1.101342439e-04f, 1.100471883e-04f, 1.099599498e-04f, 1.098725285e-04f, 1.097849246e-04f, 1.096971383e-04f, 1.096091698e-04f, 1.095210191e-04f,
+1.094326866e-04f, 1.093441723e-04f, 1.092554764e-04f, 1.091665991e-04f, 1.090775406e-04f, 1.089883009e-04f, 1.088988804e-04f, 1.088092792e-04f, 1.087194974e-04f, 1.086295352e-04f,
+1.085393927e-04f, 1.084490703e-04f, 1.083585679e-04f, 1.082678858e-04f, 1.081770242e-04f, 1.080859833e-04f, 1.079947631e-04f, 1.079033640e-04f, 1.078117859e-04f, 1.077200293e-04f,
+1.076280941e-04f, 1.075359806e-04f, 1.074436889e-04f, 1.073512193e-04f, 1.072585719e-04f, 1.071657469e-04f, 1.070727444e-04f, 1.069795646e-04f, 1.068862078e-04f, 1.067926740e-04f,
+1.066989635e-04f, 1.066050765e-04f, 1.065110130e-04f, 1.064167733e-04f, 1.063223576e-04f, 1.062277661e-04f, 1.061329989e-04f, 1.060380562e-04f, 1.059429381e-04f, 1.058476450e-04f,
+1.057521769e-04f, 1.056565340e-04f, 1.055607165e-04f, 1.054647246e-04f, 1.053685584e-04f, 1.052722182e-04f, 1.051757042e-04f, 1.050790164e-04f, 1.049821552e-04f, 1.048851206e-04f,
+1.047879128e-04f, 1.046905321e-04f, 1.045929787e-04f, 1.044952526e-04f, 1.043973541e-04f, 1.042992834e-04f, 1.042010407e-04f, 1.041026261e-04f, 1.040040398e-04f, 1.039052821e-04f,
+1.038063530e-04f, 1.037072529e-04f, 1.036079818e-04f, 1.035085399e-04f, 1.034089275e-04f, 1.033091448e-04f, 1.032091918e-04f, 1.031090689e-04f, 1.030087761e-04f, 1.029083137e-04f,
+1.028076819e-04f, 1.027068809e-04f, 1.026059108e-04f, 1.025047718e-04f, 1.024034642e-04f, 1.023019880e-04f, 1.022003436e-04f, 1.020985311e-04f, 1.019965506e-04f, 1.018944024e-04f,
+1.017920867e-04f, 1.016896037e-04f, 1.015869535e-04f, 1.014841363e-04f, 1.013811524e-04f, 1.012780019e-04f, 1.011746850e-04f, 1.010712019e-04f, 1.009675528e-04f, 1.008637379e-04f,
+1.007597575e-04f, 1.006556115e-04f, 1.005513004e-04f, 1.004468243e-04f, 1.003421833e-04f, 1.002373777e-04f, 1.001324076e-04f, 1.000272733e-04f, 9.992197493e-05f, 9.981651272e-05f,
+9.971088685e-05f, 9.960509752e-05f, 9.949914492e-05f, 9.939302926e-05f, 9.928675072e-05f, 9.918030952e-05f, 9.907370584e-05f, 9.896693989e-05f, 9.886001186e-05f, 9.875292195e-05f,
+9.864567036e-05f, 9.853825729e-05f, 9.843068294e-05f, 9.832294751e-05f, 9.821505120e-05f, 9.810699421e-05f, 9.799877674e-05f, 9.789039899e-05f, 9.778186116e-05f, 9.767316346e-05f,
+9.756430608e-05f, 9.745528923e-05f, 9.734611311e-05f, 9.723677792e-05f, 9.712728387e-05f, 9.701763115e-05f, 9.690781998e-05f, 9.679785054e-05f, 9.668772306e-05f, 9.657743773e-05f,
+9.646699475e-05f, 9.635639434e-05f, 9.624563669e-05f, 9.613472201e-05f, 9.602365050e-05f, 9.591242238e-05f, 9.580103784e-05f, 9.568949709e-05f, 9.557780035e-05f, 9.546594781e-05f,
+9.535393968e-05f, 9.524177617e-05f, 9.512945749e-05f, 9.501698384e-05f, 9.490435543e-05f, 9.479157248e-05f, 9.467863518e-05f, 9.456554374e-05f, 9.445229839e-05f, 9.433889931e-05f,
+9.422534673e-05f, 9.411164086e-05f, 9.399778189e-05f, 9.388377005e-05f, 9.376960554e-05f, 9.365528858e-05f, 9.354081937e-05f, 9.342619812e-05f, 9.331142505e-05f, 9.319650037e-05f,
+9.308142429e-05f, 9.296619702e-05f, 9.285081878e-05f, 9.273528977e-05f, 9.261961021e-05f, 9.250378031e-05f, 9.238780028e-05f, 9.227167035e-05f, 9.215539072e-05f, 9.203896160e-05f,
+9.192238321e-05f, 9.180565577e-05f, 9.168877948e-05f, 9.157175458e-05f, 9.145458126e-05f, 9.133725974e-05f, 9.121979024e-05f, 9.110217298e-05f, 9.098440817e-05f, 9.086649603e-05f,
+9.074843678e-05f, 9.063023062e-05f, 9.051187779e-05f, 9.039337849e-05f, 9.027473294e-05f, 9.015594137e-05f, 9.003700398e-05f, 8.991792100e-05f, 8.979869264e-05f, 8.967931913e-05f,
+8.955980068e-05f, 8.944013752e-05f, 8.932032985e-05f, 8.920037791e-05f, 8.908028190e-05f, 8.896004206e-05f, 8.883965860e-05f, 8.871913174e-05f, 8.859846170e-05f, 8.847764870e-05f,
+8.835669297e-05f, 8.823559472e-05f, 8.811435418e-05f, 8.799297157e-05f, 8.787144711e-05f, 8.774978103e-05f, 8.762797354e-05f, 8.750602487e-05f, 8.738393524e-05f, 8.726170487e-05f,
+8.713933400e-05f, 8.701682283e-05f, 8.689417161e-05f, 8.677138054e-05f, 8.664844985e-05f, 8.652537978e-05f, 8.640217054e-05f, 8.627882235e-05f, 8.615533546e-05f, 8.603171007e-05f,
+8.590794641e-05f, 8.578404472e-05f, 8.566000521e-05f, 8.553582812e-05f, 8.541151366e-05f, 8.528706208e-05f, 8.516247358e-05f, 8.503774841e-05f, 8.491288678e-05f, 8.478788893e-05f,
+8.466275509e-05f, 8.453748547e-05f, 8.441208032e-05f, 8.428653985e-05f, 8.416086430e-05f, 8.403505390e-05f, 8.390910887e-05f, 8.378302945e-05f, 8.365681586e-05f, 8.353046833e-05f,
+8.340398710e-05f, 8.327737239e-05f, 8.315062444e-05f, 8.302374347e-05f, 8.289672972e-05f, 8.276958341e-05f, 8.264230478e-05f, 8.251489407e-05f, 8.238735149e-05f, 8.225967728e-05f,
+8.213187168e-05f, 8.200393492e-05f, 8.187586723e-05f, 8.174766884e-05f, 8.161933999e-05f, 8.149088090e-05f, 8.136229182e-05f, 8.123357297e-05f, 8.110472459e-05f, 8.097574691e-05f,
+8.084664018e-05f, 8.071740461e-05f, 8.058804045e-05f, 8.045854793e-05f, 8.032892729e-05f, 8.019917875e-05f, 8.006930257e-05f, 7.993929896e-05f, 7.980916817e-05f, 7.967891044e-05f,
+7.954852600e-05f, 7.941801508e-05f, 7.928737792e-05f, 7.915661477e-05f, 7.902572585e-05f, 7.889471140e-05f, 7.876357167e-05f, 7.863230688e-05f, 7.850091728e-05f, 7.836940311e-05f,
+7.823776459e-05f, 7.810600198e-05f, 7.797411550e-05f, 7.784210541e-05f, 7.770997193e-05f, 7.757771530e-05f, 7.744533577e-05f, 7.731283357e-05f, 7.718020895e-05f, 7.704746215e-05f,
+7.691459339e-05f, 7.678160293e-05f, 7.664849101e-05f, 7.651525786e-05f, 7.638190373e-05f, 7.624842885e-05f, 7.611483347e-05f, 7.598111784e-05f, 7.584728218e-05f, 7.571332675e-05f,
+7.557925178e-05f, 7.544505752e-05f, 7.531074421e-05f, 7.517631209e-05f, 7.504176140e-05f, 7.490709239e-05f, 7.477230531e-05f, 7.463740038e-05f, 7.450237787e-05f, 7.436723800e-05f,
+7.423198103e-05f, 7.409660720e-05f, 7.396111675e-05f, 7.382550993e-05f, 7.368978698e-05f, 7.355394814e-05f, 7.341799367e-05f, 7.328192380e-05f, 7.314573878e-05f, 7.300943886e-05f,
+7.287302429e-05f, 7.273649530e-05f, 7.259985214e-05f, 7.246309507e-05f, 7.232622432e-05f, 7.218924014e-05f, 7.205214279e-05f, 7.191493250e-05f, 7.177760952e-05f, 7.164017411e-05f,
+7.150262650e-05f, 7.136496695e-05f, 7.122719570e-05f, 7.108931300e-05f, 7.095131910e-05f, 7.081321425e-05f, 7.067499869e-05f, 7.053667268e-05f, 7.039823646e-05f, 7.025969028e-05f,
+7.012103439e-05f, 6.998226904e-05f, 6.984339448e-05f, 6.970441096e-05f, 6.956531873e-05f, 6.942611804e-05f, 6.928680914e-05f, 6.914739227e-05f, 6.900786769e-05f, 6.886823566e-05f,
+6.872849641e-05f, 6.858865021e-05f, 6.844869729e-05f, 6.830863792e-05f, 6.816847235e-05f, 6.802820082e-05f, 6.788782359e-05f, 6.774734091e-05f, 6.760675303e-05f, 6.746606021e-05f,
+6.732526269e-05f, 6.718436073e-05f, 6.704335459e-05f, 6.690224451e-05f, 6.676103074e-05f, 6.661971355e-05f, 6.647829318e-05f, 6.633676988e-05f, 6.619514392e-05f, 6.605341554e-05f,
+6.591158501e-05f, 6.576965256e-05f, 6.562761846e-05f, 6.548548296e-05f, 6.534324632e-05f, 6.520090879e-05f, 6.505847062e-05f, 6.491593208e-05f, 6.477329340e-05f, 6.463055486e-05f,
+6.448771671e-05f, 6.434477920e-05f, 6.420174258e-05f, 6.405860712e-05f, 6.391537307e-05f, 6.377204068e-05f, 6.362861022e-05f, 6.348508193e-05f, 6.334145608e-05f, 6.319773293e-05f,
+6.305391272e-05f, 6.290999571e-05f, 6.276598217e-05f, 6.262187235e-05f, 6.247766651e-05f, 6.233336490e-05f, 6.218896779e-05f, 6.204447543e-05f, 6.189988808e-05f, 6.175520599e-05f,
+6.161042943e-05f, 6.146555866e-05f, 6.132059393e-05f, 6.117553550e-05f, 6.103038363e-05f, 6.088513859e-05f, 6.073980062e-05f, 6.059436999e-05f, 6.044884696e-05f, 6.030323178e-05f,
+6.015752473e-05f, 6.001172605e-05f, 5.986583601e-05f, 5.971985486e-05f, 5.957378288e-05f, 5.942762031e-05f, 5.928136742e-05f, 5.913502447e-05f, 5.898859173e-05f, 5.884206944e-05f,
+5.869545788e-05f, 5.854875730e-05f, 5.840196796e-05f, 5.825509013e-05f, 5.810812407e-05f, 5.796107004e-05f, 5.781392831e-05f, 5.766669912e-05f, 5.751938276e-05f, 5.737197947e-05f,
+5.722448952e-05f, 5.707691317e-05f, 5.692925070e-05f, 5.678150235e-05f, 5.663366839e-05f, 5.648574909e-05f, 5.633774470e-05f, 5.618965550e-05f, 5.604148174e-05f, 5.589322369e-05f,
+5.574488162e-05f, 5.559645577e-05f, 5.544794643e-05f, 5.529935385e-05f, 5.515067830e-05f, 5.500192005e-05f, 5.485307935e-05f, 5.470415646e-05f, 5.455515167e-05f, 5.440606523e-05f,
+5.425689740e-05f, 5.410764845e-05f, 5.395831865e-05f, 5.380890826e-05f, 5.365941754e-05f, 5.350984677e-05f, 5.336019620e-05f, 5.321046610e-05f, 5.306065675e-05f, 5.291076840e-05f,
+5.276080132e-05f, 5.261075577e-05f, 5.246063203e-05f, 5.231043036e-05f, 5.216015103e-05f, 5.200979430e-05f, 5.185936043e-05f, 5.170884971e-05f, 5.155826238e-05f, 5.140759873e-05f,
+5.125685901e-05f, 5.110604350e-05f, 5.095515246e-05f, 5.080418616e-05f, 5.065314486e-05f, 5.050202884e-05f, 5.035083836e-05f, 5.019957370e-05f, 5.004823511e-05f, 4.989682287e-05f,
+4.974533724e-05f, 4.959377849e-05f, 4.944214690e-05f, 4.929044273e-05f, 4.913866624e-05f, 4.898681771e-05f, 4.883489741e-05f, 4.868290561e-05f, 4.853084256e-05f, 4.837870856e-05f,
+4.822650385e-05f, 4.807422872e-05f, 4.792188342e-05f, 4.776946824e-05f, 4.761698344e-05f, 4.746442929e-05f, 4.731180606e-05f, 4.715911401e-05f, 4.700635343e-05f, 4.685352458e-05f,
+4.670062773e-05f, 4.654766315e-05f, 4.639463111e-05f, 4.624153188e-05f, 4.608836574e-05f, 4.593513294e-05f, 4.578183377e-05f, 4.562846850e-05f, 4.547503739e-05f, 4.532154072e-05f,
+4.516797875e-05f, 4.501435176e-05f, 4.486066003e-05f, 4.470690381e-05f, 4.455308339e-05f, 4.439919903e-05f, 4.424525101e-05f, 4.409123960e-05f, 4.393716507e-05f, 4.378302769e-05f,
+4.362882773e-05f, 4.347456547e-05f, 4.332024117e-05f, 4.316585512e-05f, 4.301140758e-05f, 4.285689883e-05f, 4.270232913e-05f, 4.254769876e-05f, 4.239300800e-05f, 4.223825711e-05f,
+4.208344637e-05f, 4.192857606e-05f, 4.177364643e-05f, 4.161865778e-05f, 4.146361036e-05f, 4.130850446e-05f, 4.115334035e-05f, 4.099811830e-05f, 4.084283858e-05f, 4.068750147e-05f,
+4.053210724e-05f, 4.037665617e-05f, 4.022114852e-05f, 4.006558458e-05f, 3.990996461e-05f, 3.975428890e-05f, 3.959855771e-05f, 3.944277132e-05f, 3.928693000e-05f, 3.913103403e-05f,
+3.897508368e-05f, 3.881907923e-05f, 3.866302095e-05f, 3.850690911e-05f, 3.835074400e-05f, 3.819452588e-05f, 3.803825502e-05f, 3.788193172e-05f, 3.772555623e-05f, 3.756912883e-05f,
+3.741264981e-05f, 3.725611943e-05f, 3.709953796e-05f, 3.694290570e-05f, 3.678622290e-05f, 3.662948985e-05f, 3.647270682e-05f, 3.631587408e-05f, 3.615899192e-05f, 3.600206061e-05f,
+3.584508042e-05f, 3.568805162e-05f, 3.553097451e-05f, 3.537384934e-05f, 3.521667640e-05f, 3.505945596e-05f, 3.490218830e-05f, 3.474487370e-05f, 3.458751242e-05f, 3.443010476e-05f,
+3.427265097e-05f, 3.411515135e-05f, 3.395760616e-05f, 3.380001569e-05f, 3.364238020e-05f, 3.348469998e-05f, 3.332697530e-05f, 3.316920644e-05f, 3.301139368e-05f, 3.285353729e-05f,
+3.269563755e-05f, 3.253769473e-05f, 3.237970912e-05f, 3.222168098e-05f, 3.206361061e-05f, 3.190549826e-05f, 3.174734423e-05f, 3.158914879e-05f, 3.143091221e-05f, 3.127263477e-05f,
+3.111431676e-05f, 3.095595844e-05f, 3.079756010e-05f, 3.063912200e-05f, 3.048064444e-05f, 3.032212769e-05f, 3.016357202e-05f, 3.000497771e-05f, 2.984634504e-05f, 2.968767429e-05f,
+2.952896574e-05f, 2.937021966e-05f, 2.921143633e-05f, 2.905261603e-05f, 2.889375904e-05f, 2.873486563e-05f, 2.857593608e-05f, 2.841697068e-05f, 2.825796969e-05f, 2.809893340e-05f,
+2.793986209e-05f, 2.778075603e-05f, 2.762161550e-05f, 2.746244078e-05f, 2.730323215e-05f, 2.714398989e-05f, 2.698471427e-05f, 2.682540558e-05f, 2.666606408e-05f, 2.650669007e-05f,
+2.634728381e-05f, 2.618784560e-05f, 2.602837569e-05f, 2.586887439e-05f, 2.570934195e-05f, 2.554977867e-05f, 2.539018482e-05f, 2.523056067e-05f, 2.507090652e-05f, 2.491122263e-05f,
+2.475150928e-05f, 2.459176676e-05f, 2.443199534e-05f, 2.427219531e-05f, 2.411236693e-05f, 2.395251050e-05f, 2.379262628e-05f, 2.363271456e-05f, 2.347277562e-05f, 2.331280973e-05f,
+2.315281718e-05f, 2.299279824e-05f, 2.283275320e-05f, 2.267268232e-05f, 2.251258590e-05f, 2.235246421e-05f, 2.219231752e-05f, 2.203214613e-05f, 2.187195030e-05f, 2.171173032e-05f,
+2.155148647e-05f, 2.139121902e-05f, 2.123092825e-05f, 2.107061445e-05f, 2.091027789e-05f, 2.074991886e-05f, 2.058953763e-05f, 2.042913448e-05f, 2.026870969e-05f, 2.010826354e-05f,
+1.994779631e-05f, 1.978730827e-05f, 1.962679972e-05f, 1.946627093e-05f, 1.930572217e-05f, 1.914515372e-05f, 1.898456588e-05f, 1.882395891e-05f, 1.866333309e-05f, 1.850268871e-05f,
+1.834202605e-05f, 1.818134537e-05f, 1.802064697e-05f, 1.785993113e-05f, 1.769919811e-05f, 1.753844821e-05f, 1.737768170e-05f, 1.721689885e-05f, 1.705609996e-05f, 1.689528530e-05f,
+1.673445515e-05f, 1.657360979e-05f, 1.641274949e-05f, 1.625187455e-05f, 1.609098523e-05f, 1.593008182e-05f, 1.576916459e-05f, 1.560823383e-05f, 1.544728982e-05f, 1.528633283e-05f,
+1.512536315e-05f, 1.496438105e-05f, 1.480338682e-05f, 1.464238073e-05f, 1.448136307e-05f, 1.432033410e-05f, 1.415929412e-05f, 1.399824340e-05f, 1.383718223e-05f, 1.367611087e-05f,
+1.351502961e-05f, 1.335393874e-05f, 1.319283852e-05f, 1.303172925e-05f, 1.287061119e-05f, 1.270948463e-05f, 1.254834984e-05f, 1.238720712e-05f, 1.222605673e-05f, 1.206489896e-05f,
+1.190373408e-05f, 1.174256237e-05f, 1.158138412e-05f, 1.142019961e-05f, 1.125900911e-05f, 1.109781289e-05f, 1.093661126e-05f, 1.077540447e-05f, 1.061419281e-05f, 1.045297656e-05f,
+1.029175600e-05f, 1.013053141e-05f, 9.969303070e-06f, 9.808071254e-06f, 9.646836243e-06f, 9.485598318e-06f, 9.324357757e-06f, 9.163114840e-06f, 9.001869845e-06f, 8.840623052e-06f,
+8.679374740e-06f, 8.518125189e-06f, 8.356874676e-06f, 8.195623481e-06f, 8.034371884e-06f, 7.873120163e-06f, 7.711868597e-06f, 7.550617465e-06f, 7.389367046e-06f, 7.228117619e-06f,
+7.066869463e-06f, 6.905622857e-06f, 6.744378079e-06f, 6.583135409e-06f, 6.421895124e-06f, 6.260657505e-06f, 6.099422828e-06f, 5.938191375e-06f, 5.776963422e-06f, 5.615739248e-06f,
+5.454519133e-06f, 5.293303354e-06f, 5.132092191e-06f, 4.970885921e-06f, 4.809684823e-06f, 4.648489176e-06f, 4.487299258e-06f, 4.326115348e-06f, 4.164937723e-06f, 4.003766662e-06f,
+3.842602443e-06f, 3.681445346e-06f, 3.520295646e-06f, 3.359153624e-06f, 3.198019557e-06f, 3.036893722e-06f, 2.875776399e-06f, 2.714667865e-06f, 2.553568398e-06f, 2.392478277e-06f,
+2.231397778e-06f, 2.070327180e-06f, 1.909266760e-06f, 1.748216797e-06f, 1.587177568e-06f, 1.426149351e-06f, 1.265132423e-06f, 1.104127062e-06f, 9.431335460e-07f, 7.821521519e-07f,
+6.211831572e-07f, 4.602268395e-07f, 2.992834761e-07f, 1.383533444e-07f, -2.256327837e-08f, -1.834661150e-07f, -3.443548882e-07f, -5.052293210e-07f, -6.660891362e-07f, -8.269340567e-07f,
+-9.877638056e-07f, -1.148578106e-06f, -1.309376681e-06f, -1.470159254e-06f, -1.630925547e-06f, -1.791675285e-06f, -1.952408190e-06f, -2.113123986e-06f, -2.273822396e-06f, -2.434503145e-06f,
+-2.595165954e-06f, -2.755810548e-06f, -2.916436651e-06f, -3.077043986e-06f, -3.237632277e-06f, -3.398201248e-06f, -3.558750622e-06f, -3.719280124e-06f, -3.879789478e-06f, -4.040278407e-06f,
+-4.200746635e-06f, -4.361193888e-06f, -4.521619888e-06f, -4.682024361e-06f, -4.842407031e-06f, -5.002767621e-06f, -5.163105857e-06f, -5.323421463e-06f, -5.483714164e-06f, -5.643983684e-06f,
+-5.804229748e-06f, -5.964452081e-06f, -6.124650407e-06f, -6.284824452e-06f, -6.444973940e-06f, -6.605098597e-06f, -6.765198147e-06f, -6.925272316e-06f, -7.085320830e-06f, -7.245343412e-06f,
+-7.405339789e-06f, -7.565309687e-06f, -7.725252830e-06f, -7.885168944e-06f, -8.045057755e-06f, -8.204918989e-06f, -8.364752371e-06f, -8.524557627e-06f, -8.684334484e-06f, -8.844082667e-06f,
+-9.003801902e-06f, -9.163491915e-06f, -9.323152434e-06f, -9.482783183e-06f, -9.642383890e-06f, -9.801954280e-06f, -9.961494081e-06f, -1.012100302e-05f, -1.028048082e-05f, -1.043992721e-05f,
+-1.059934192e-05f, -1.075872467e-05f, -1.091807520e-05f, -1.107739322e-05f, -1.123667847e-05f, -1.139593067e-05f, -1.155514955e-05f, -1.171433484e-05f, -1.187348626e-05f, -1.203260355e-05f,
+-1.219168642e-05f, -1.235073462e-05f, -1.250974786e-05f, -1.266872587e-05f, -1.282766838e-05f, -1.298657512e-05f, -1.314544582e-05f, -1.330428021e-05f, -1.346307801e-05f, -1.362183895e-05f,
+-1.378056277e-05f, -1.393924918e-05f, -1.409789793e-05f, -1.425650872e-05f, -1.441508131e-05f, -1.457361541e-05f, -1.473211075e-05f, -1.489056707e-05f, -1.504898409e-05f, -1.520736154e-05f,
+-1.536569915e-05f, -1.552399665e-05f, -1.568225378e-05f, -1.584047025e-05f, -1.599864580e-05f, -1.615678016e-05f, -1.631487306e-05f, -1.647292423e-05f, -1.663093339e-05f, -1.678890029e-05f,
+-1.694682465e-05f, -1.710470619e-05f, -1.726254466e-05f, -1.742033978e-05f, -1.757809128e-05f, -1.773579890e-05f, -1.789346236e-05f, -1.805108139e-05f, -1.820865573e-05f, -1.836618511e-05f,
+-1.852366925e-05f, -1.868110790e-05f, -1.883850077e-05f, -1.899584761e-05f, -1.915314815e-05f, -1.931040211e-05f, -1.946760923e-05f, -1.962476924e-05f, -1.978188187e-05f, -1.993894686e-05f,
+-2.009596394e-05f, -2.025293283e-05f, -2.040985328e-05f, -2.056672501e-05f, -2.072354776e-05f, -2.088032127e-05f, -2.103704525e-05f, -2.119371945e-05f, -2.135034360e-05f, -2.150691744e-05f,
+-2.166344069e-05f, -2.181991309e-05f, -2.197633438e-05f, -2.213270428e-05f, -2.228902254e-05f, -2.244528888e-05f, -2.260150304e-05f, -2.275766475e-05f, -2.291377375e-05f, -2.306982978e-05f,
+-2.322583256e-05f, -2.338178183e-05f, -2.353767733e-05f, -2.369351879e-05f, -2.384930595e-05f, -2.400503854e-05f, -2.416071630e-05f, -2.431633896e-05f, -2.447190625e-05f, -2.462741792e-05f,
+-2.478287370e-05f, -2.493827332e-05f, -2.509361653e-05f, -2.524890305e-05f, -2.540413262e-05f, -2.555930498e-05f, -2.571441987e-05f, -2.586947703e-05f, -2.602447618e-05f, -2.617941706e-05f,
+-2.633429942e-05f, -2.648912299e-05f, -2.664388751e-05f, -2.679859271e-05f, -2.695323833e-05f, -2.710782411e-05f, -2.726234979e-05f, -2.741681511e-05f, -2.757121979e-05f, -2.772556359e-05f,
+-2.787984624e-05f, -2.803406747e-05f, -2.818822703e-05f, -2.834232465e-05f, -2.849636008e-05f, -2.865033305e-05f, -2.880424330e-05f, -2.895809057e-05f, -2.911187460e-05f, -2.926559512e-05f,
+-2.941925189e-05f, -2.957284463e-05f, -2.972637309e-05f, -2.987983701e-05f, -3.003323612e-05f, -3.018657018e-05f, -3.033983891e-05f, -3.049304205e-05f, -3.064617936e-05f, -3.079925057e-05f,
+-3.095225541e-05f, -3.110519364e-05f, -3.125806499e-05f, -3.141086921e-05f, -3.156360603e-05f, -3.171627519e-05f, -3.186887645e-05f, -3.202140953e-05f, -3.217387419e-05f, -3.232627016e-05f,
+-3.247859718e-05f, -3.263085501e-05f, -3.278304337e-05f, -3.293516202e-05f, -3.308721070e-05f, -3.323918915e-05f, -3.339109710e-05f, -3.354293432e-05f, -3.369470053e-05f, -3.384639549e-05f,
+-3.399801893e-05f, -3.414957061e-05f, -3.430105025e-05f, -3.445245762e-05f, -3.460379245e-05f, -3.475505448e-05f, -3.490624347e-05f, -3.505735915e-05f, -3.520840127e-05f, -3.535936958e-05f,
+-3.551026382e-05f, -3.566108374e-05f, -3.581182908e-05f, -3.596249958e-05f, -3.611309500e-05f, -3.626361508e-05f, -3.641405956e-05f, -3.656442820e-05f, -3.671472073e-05f, -3.686493691e-05f,
+-3.701507647e-05f, -3.716513918e-05f, -3.731512477e-05f, -3.746503299e-05f, -3.761486359e-05f, -3.776461631e-05f, -3.791429091e-05f, -3.806388713e-05f, -3.821340472e-05f, -3.836284343e-05f,
+-3.851220301e-05f, -3.866148320e-05f, -3.881068375e-05f, -3.895980441e-05f, -3.910884493e-05f, -3.925780507e-05f, -3.940668456e-05f, -3.955548316e-05f, -3.970420061e-05f, -3.985283667e-05f,
+-4.000139109e-05f, -4.014986362e-05f, -4.029825400e-05f, -4.044656200e-05f, -4.059478734e-05f, -4.074292980e-05f, -4.089098912e-05f, -4.103896504e-05f, -4.118685733e-05f, -4.133466573e-05f,
+-4.148238999e-05f, -4.163002987e-05f, -4.177758512e-05f, -4.192505549e-05f, -4.207244073e-05f, -4.221974059e-05f, -4.236695483e-05f, -4.251408319e-05f, -4.266112544e-05f, -4.280808133e-05f,
+-4.295495060e-05f, -4.310173301e-05f, -4.324842832e-05f, -4.339503628e-05f, -4.354155663e-05f, -4.368798915e-05f, -4.383433357e-05f, -4.398058966e-05f, -4.412675717e-05f, -4.427283586e-05f,
+-4.441882547e-05f, -4.456472576e-05f, -4.471053650e-05f, -4.485625743e-05f, -4.500188831e-05f, -4.514742890e-05f, -4.529287894e-05f, -4.543823821e-05f, -4.558350645e-05f, -4.572868342e-05f,
+-4.587376888e-05f, -4.601876258e-05f, -4.616366429e-05f, -4.630847375e-05f, -4.645319073e-05f, -4.659781498e-05f, -4.674234627e-05f, -4.688678434e-05f, -4.703112896e-05f, -4.717537988e-05f,
+-4.731953687e-05f, -4.746359968e-05f, -4.760756807e-05f, -4.775144181e-05f, -4.789522064e-05f, -4.803890433e-05f, -4.818249264e-05f, -4.832598533e-05f, -4.846938216e-05f, -4.861268288e-05f,
+-4.875588726e-05f, -4.889899507e-05f, -4.904200605e-05f, -4.918491997e-05f, -4.932773660e-05f, -4.947045568e-05f, -4.961307700e-05f, -4.975560029e-05f, -4.989802534e-05f, -5.004035190e-05f,
+-5.018257972e-05f, -5.032470859e-05f, -5.046673825e-05f, -5.060866847e-05f, -5.075049901e-05f, -5.089222964e-05f, -5.103386012e-05f, -5.117539021e-05f, -5.131681967e-05f, -5.145814828e-05f,
+-5.159937579e-05f, -5.174050198e-05f, -5.188152659e-05f, -5.202244940e-05f, -5.216327018e-05f, -5.230398869e-05f, -5.244460469e-05f, -5.258511794e-05f, -5.272552823e-05f, -5.286583530e-05f,
+-5.300603893e-05f, -5.314613888e-05f, -5.328613493e-05f, -5.342602683e-05f, -5.356581435e-05f, -5.370549726e-05f, -5.384507533e-05f, -5.398454833e-05f, -5.412391602e-05f, -5.426317816e-05f,
+-5.440233454e-05f, -5.454138492e-05f, -5.468032906e-05f, -5.481916673e-05f, -5.495789771e-05f, -5.509652176e-05f, -5.523503866e-05f, -5.537344816e-05f, -5.551175005e-05f, -5.564994408e-05f,
+-5.578803004e-05f, -5.592600769e-05f, -5.606387680e-05f, -5.620163714e-05f, -5.633928849e-05f, -5.647683061e-05f, -5.661426328e-05f, -5.675158627e-05f, -5.688879935e-05f, -5.702590229e-05f,
+-5.716289486e-05f, -5.729977684e-05f, -5.743654800e-05f, -5.757320811e-05f, -5.770975695e-05f, -5.784619428e-05f, -5.798251989e-05f, -5.811873354e-05f, -5.825483501e-05f, -5.839082408e-05f,
+-5.852670051e-05f, -5.866246409e-05f, -5.879811458e-05f, -5.893365177e-05f, -5.906907542e-05f, -5.920438532e-05f, -5.933958124e-05f, -5.947466295e-05f, -5.960963023e-05f, -5.974448286e-05f,
+-5.987922061e-05f, -6.001384327e-05f, -6.014835060e-05f, -6.028274238e-05f, -6.041701840e-05f, -6.055117843e-05f, -6.068522224e-05f, -6.081914962e-05f, -6.095296034e-05f, -6.108665418e-05f,
+-6.122023093e-05f, -6.135369036e-05f, -6.148703224e-05f, -6.162025636e-05f, -6.175336250e-05f, -6.188635044e-05f, -6.201921996e-05f, -6.215197083e-05f, -6.228460285e-05f, -6.241711578e-05f,
+-6.254950941e-05f, -6.268178352e-05f, -6.281393790e-05f, -6.294597232e-05f, -6.307788657e-05f, -6.320968042e-05f, -6.334135367e-05f, -6.347290609e-05f, -6.360433747e-05f, -6.373564758e-05f,
+-6.386683622e-05f, -6.399790316e-05f, -6.412884819e-05f, -6.425967110e-05f, -6.439037166e-05f, -6.452094966e-05f, -6.465140489e-05f, -6.478173713e-05f, -6.491194617e-05f, -6.504203179e-05f,
+-6.517199378e-05f, -6.530183192e-05f, -6.543154599e-05f, -6.556113580e-05f, -6.569060111e-05f, -6.581994172e-05f, -6.594915742e-05f, -6.607824799e-05f, -6.620721322e-05f, -6.633605289e-05f,
+-6.646476680e-05f, -6.659335474e-05f, -6.672181648e-05f, -6.685015183e-05f, -6.697836056e-05f, -6.710644247e-05f, -6.723439735e-05f, -6.736222499e-05f, -6.748992517e-05f, -6.761749769e-05f,
+-6.774494233e-05f, -6.787225889e-05f, -6.799944716e-05f, -6.812650693e-05f, -6.825343799e-05f, -6.838024013e-05f, -6.850691314e-05f, -6.863345682e-05f, -6.875987096e-05f, -6.888615534e-05f,
+-6.901230977e-05f, -6.913833403e-05f, -6.926422792e-05f, -6.938999123e-05f, -6.951562376e-05f, -6.964112530e-05f, -6.976649564e-05f, -6.989173457e-05f, -7.001684190e-05f, -7.014181742e-05f,
+-7.026666091e-05f, -7.039137219e-05f, -7.051595104e-05f, -7.064039725e-05f, -7.076471063e-05f, -7.088889098e-05f, -7.101293808e-05f, -7.113685173e-05f, -7.126063174e-05f, -7.138427789e-05f,
+-7.150778999e-05f, -7.163116784e-05f, -7.175441122e-05f, -7.187751995e-05f, -7.200049382e-05f, -7.212333262e-05f, -7.224603617e-05f, -7.236860424e-05f, -7.249103666e-05f, -7.261333321e-05f,
+-7.273549369e-05f, -7.285751792e-05f, -7.297940567e-05f, -7.310115677e-05f, -7.322277100e-05f, -7.334424818e-05f, -7.346558809e-05f, -7.358679055e-05f, -7.370785536e-05f, -7.382878231e-05f,
+-7.394957121e-05f, -7.407022187e-05f, -7.419073408e-05f, -7.431110765e-05f, -7.443134238e-05f, -7.455143808e-05f, -7.467139456e-05f, -7.479121161e-05f, -7.491088904e-05f, -7.503042665e-05f,
+-7.514982426e-05f, -7.526908166e-05f, -7.538819866e-05f, -7.550717507e-05f, -7.562601069e-05f, -7.574470534e-05f, -7.586325881e-05f, -7.598167092e-05f, -7.609994146e-05f, -7.621807026e-05f,
+-7.633605711e-05f, -7.645390183e-05f, -7.657160422e-05f, -7.668916409e-05f, -7.680658125e-05f, -7.692385551e-05f, -7.704098668e-05f, -7.715797457e-05f, -7.727481899e-05f, -7.739151974e-05f,
+-7.750807665e-05f, -7.762448951e-05f, -7.774075814e-05f, -7.785688236e-05f, -7.797286197e-05f, -7.808869678e-05f, -7.820438661e-05f, -7.831993127e-05f, -7.843533057e-05f, -7.855058433e-05f,
+-7.866569236e-05f, -7.878065446e-05f, -7.889547046e-05f, -7.901014017e-05f, -7.912466340e-05f, -7.923903997e-05f, -7.935326969e-05f, -7.946735238e-05f, -7.958128784e-05f, -7.969507591e-05f,
+-7.980871639e-05f, -7.992220910e-05f, -8.003555386e-05f, -8.014875047e-05f, -8.026179877e-05f, -8.037469856e-05f, -8.048744967e-05f, -8.060005191e-05f, -8.071250509e-05f, -8.082480905e-05f,
+-8.093696359e-05f, -8.104896853e-05f, -8.116082370e-05f, -8.127252892e-05f, -8.138408399e-05f, -8.149548875e-05f, -8.160674301e-05f, -8.171784660e-05f, -8.182879933e-05f, -8.193960102e-05f,
+-8.205025150e-05f, -8.216075059e-05f, -8.227109810e-05f, -8.238129387e-05f, -8.249133771e-05f, -8.260122945e-05f, -8.271096891e-05f, -8.282055592e-05f, -8.292999028e-05f, -8.303927184e-05f,
+-8.314840041e-05f, -8.325737583e-05f, -8.336619790e-05f, -8.347486646e-05f, -8.358338134e-05f, -8.369174235e-05f, -8.379994933e-05f, -8.390800210e-05f, -8.401590048e-05f, -8.412364431e-05f,
+-8.423123340e-05f, -8.433866760e-05f, -8.444594672e-05f, -8.455307059e-05f, -8.466003904e-05f, -8.476685190e-05f, -8.487350900e-05f, -8.498001016e-05f, -8.508635522e-05f, -8.519254400e-05f,
+-8.529857634e-05f, -8.540445206e-05f, -8.551017099e-05f, -8.561573297e-05f, -8.572113783e-05f, -8.582638539e-05f, -8.593147549e-05f, -8.603640796e-05f, -8.614118263e-05f, -8.624579934e-05f,
+-8.635025791e-05f, -8.645455818e-05f, -8.655869999e-05f, -8.666268316e-05f, -8.676650753e-05f, -8.687017293e-05f, -8.697367921e-05f, -8.707702618e-05f, -8.718021369e-05f, -8.728324158e-05f,
+-8.738610967e-05f, -8.748881781e-05f, -8.759136583e-05f, -8.769375356e-05f, -8.779598085e-05f, -8.789804753e-05f, -8.799995343e-05f, -8.810169840e-05f, -8.820328227e-05f, -8.830470488e-05f,
+-8.840596607e-05f, -8.850706568e-05f, -8.860800354e-05f, -8.870877950e-05f, -8.880939339e-05f, -8.890984506e-05f, -8.901013434e-05f, -8.911026108e-05f, -8.921022511e-05f, -8.931002629e-05f,
+-8.940966444e-05f, -8.950913941e-05f, -8.960845104e-05f, -8.970759918e-05f, -8.980658366e-05f, -8.990540433e-05f, -9.000406104e-05f, -9.010255362e-05f, -9.020088192e-05f, -9.029904579e-05f,
+-9.039704506e-05f, -9.049487958e-05f, -9.059254921e-05f, -9.069005377e-05f, -9.078739313e-05f, -9.088456711e-05f, -9.098157558e-05f, -9.107841837e-05f, -9.117509534e-05f, -9.127160632e-05f,
+-9.136795118e-05f, -9.146412974e-05f, -9.156014187e-05f, -9.165598741e-05f, -9.175166621e-05f, -9.184717812e-05f, -9.194252299e-05f, -9.203770066e-05f, -9.213271098e-05f, -9.222755382e-05f,
+-9.232222901e-05f, -9.241673641e-05f, -9.251107586e-05f, -9.260524722e-05f, -9.269925035e-05f, -9.279308509e-05f, -9.288675129e-05f, -9.298024880e-05f, -9.307357749e-05f, -9.316673720e-05f,
+-9.325972779e-05f, -9.335254911e-05f, -9.344520101e-05f, -9.353768334e-05f, -9.362999597e-05f, -9.372213875e-05f, -9.381411153e-05f, -9.390591417e-05f, -9.399754652e-05f, -9.408900844e-05f,
+-9.418029978e-05f, -9.427142041e-05f, -9.436237018e-05f, -9.445314895e-05f, -9.454375657e-05f, -9.463419290e-05f, -9.472445781e-05f, -9.481455114e-05f, -9.490447276e-05f, -9.499422253e-05f,
+-9.508380031e-05f, -9.517320595e-05f, -9.526243932e-05f, -9.535150028e-05f, -9.544038869e-05f, -9.552910440e-05f, -9.561764729e-05f, -9.570601720e-05f, -9.579421401e-05f, -9.588223758e-05f,
+-9.597008776e-05f, -9.605776443e-05f, -9.614526744e-05f, -9.623259666e-05f, -9.631975196e-05f, -9.640673318e-05f, -9.649354021e-05f, -9.658017291e-05f, -9.666663113e-05f, -9.675291476e-05f,
+-9.683902364e-05f, -9.692495765e-05f, -9.701071666e-05f, -9.709630052e-05f, -9.718170912e-05f, -9.726694231e-05f, -9.735199996e-05f, -9.743688194e-05f, -9.752158812e-05f, -9.760611837e-05f,
+-9.769047255e-05f, -9.777465054e-05f, -9.785865221e-05f, -9.794247742e-05f, -9.802612604e-05f, -9.810959795e-05f, -9.819289302e-05f, -9.827601111e-05f, -9.835895210e-05f, -9.844171586e-05f,
+-9.852430226e-05f, -9.860671118e-05f, -9.868894248e-05f, -9.877099605e-05f, -9.885287175e-05f, -9.893456945e-05f, -9.901608904e-05f, -9.909743038e-05f, -9.917859335e-05f, -9.925957783e-05f,
+-9.934038368e-05f, -9.942101080e-05f, -9.950145904e-05f, -9.958172829e-05f, -9.966181842e-05f, -9.974172932e-05f, -9.982146085e-05f, -9.990101290e-05f, -9.998038534e-05f, -1.000595781e-04f,
+-1.001385909e-04f, -1.002174238e-04f, -1.002960766e-04f, -1.003745492e-04f, -1.004528414e-04f, -1.005309532e-04f, -1.006088845e-04f, -1.006866350e-04f, -1.007642047e-04f, -1.008415935e-04f,
+-1.009188013e-04f, -1.009958278e-04f, -1.010726731e-04f, -1.011493370e-04f, -1.012258194e-04f, -1.013021201e-04f, -1.013782391e-04f, -1.014541762e-04f, -1.015299314e-04f, -1.016055044e-04f,
+-1.016808952e-04f, -1.017561037e-04f, -1.018311298e-04f, -1.019059733e-04f, -1.019806341e-04f, -1.020551121e-04f, -1.021294073e-04f, -1.022035194e-04f, -1.022774484e-04f, -1.023511942e-04f,
+-1.024247566e-04f, -1.024981356e-04f, -1.025713309e-04f, -1.026443427e-04f, -1.027171706e-04f, -1.027898146e-04f, -1.028622746e-04f, -1.029345505e-04f, -1.030066421e-04f, -1.030785495e-04f,
+-1.031502723e-04f, -1.032218106e-04f, -1.032931643e-04f, -1.033643332e-04f, -1.034353172e-04f, -1.035061162e-04f, -1.035767301e-04f, -1.036471588e-04f, -1.037174022e-04f, -1.037874603e-04f,
+-1.038573327e-04f, -1.039270196e-04f, -1.039965208e-04f, -1.040658361e-04f, -1.041349655e-04f, -1.042039088e-04f, -1.042726660e-04f, -1.043412370e-04f, -1.044096216e-04f, -1.044778198e-04f,
+-1.045458314e-04f, -1.046136564e-04f, -1.046812946e-04f, -1.047487459e-04f, -1.048160104e-04f, -1.048830877e-04f, -1.049499779e-04f, -1.050166808e-04f, -1.050831964e-04f, -1.051495246e-04f,
+-1.052156651e-04f, -1.052816181e-04f, -1.053473833e-04f, -1.054129606e-04f, -1.054783500e-04f, -1.055435514e-04f, -1.056085646e-04f, -1.056733896e-04f, -1.057380262e-04f, -1.058024745e-04f,
+-1.058667342e-04f, -1.059308053e-04f, -1.059946877e-04f, -1.060583813e-04f, -1.061218860e-04f, -1.061852017e-04f, -1.062483283e-04f, -1.063112657e-04f, -1.063740139e-04f, -1.064365727e-04f,
+-1.064989420e-04f, -1.065611218e-04f, -1.066231120e-04f, -1.066849124e-04f, -1.067465231e-04f, -1.068079438e-04f, -1.068691745e-04f, -1.069302151e-04f, -1.069910655e-04f, -1.070517257e-04f,
+-1.071121955e-04f, -1.071724749e-04f, -1.072325638e-04f, -1.072924620e-04f, -1.073521695e-04f, -1.074116862e-04f, -1.074710121e-04f, -1.075301469e-04f, -1.075890908e-04f, -1.076478435e-04f,
+-1.077064049e-04f, -1.077647751e-04f, -1.078229538e-04f, -1.078809411e-04f, -1.079387369e-04f, -1.079963409e-04f, -1.080537533e-04f, -1.081109738e-04f, -1.081680025e-04f, -1.082248392e-04f,
+-1.082814838e-04f, -1.083379363e-04f, -1.083941965e-04f, -1.084502645e-04f, -1.085061401e-04f, -1.085618232e-04f, -1.086173138e-04f, -1.086726117e-04f, -1.087277170e-04f, -1.087826295e-04f,
+-1.088373491e-04f, -1.088918758e-04f, -1.089462095e-04f, -1.090003501e-04f, -1.090542975e-04f, -1.091080517e-04f, -1.091616125e-04f, -1.092149800e-04f, -1.092681540e-04f, -1.093211344e-04f,
+-1.093739213e-04f, -1.094265144e-04f, -1.094789138e-04f, -1.095311193e-04f, -1.095831309e-04f, -1.096349485e-04f, -1.096865720e-04f, -1.097380014e-04f, -1.097892366e-04f, -1.098402775e-04f,
+-1.098911240e-04f, -1.099417762e-04f, -1.099922338e-04f, -1.100424968e-04f, -1.100925653e-04f, -1.101424390e-04f, -1.101921179e-04f, -1.102416020e-04f, -1.102908912e-04f, -1.103399854e-04f,
+-1.103888846e-04f, -1.104375886e-04f, -1.104860975e-04f, -1.105344111e-04f, -1.105825293e-04f, -1.106304522e-04f, -1.106781797e-04f, -1.107257116e-04f, -1.107730479e-04f, -1.108201886e-04f,
+-1.108671336e-04f, -1.109138827e-04f, -1.109604361e-04f, -1.110067935e-04f, -1.110529550e-04f, -1.110989205e-04f, -1.111446898e-04f, -1.111902630e-04f, -1.112356400e-04f, -1.112808206e-04f,
+-1.113258050e-04f, -1.113705929e-04f, -1.114151844e-04f, -1.114595794e-04f, -1.115037777e-04f, -1.115477795e-04f, -1.115915845e-04f, -1.116351928e-04f, -1.116786042e-04f, -1.117218188e-04f,
+-1.117648364e-04f, -1.118076570e-04f, -1.118502806e-04f, -1.118927071e-04f, -1.119349364e-04f, -1.119769685e-04f, -1.120188033e-04f, -1.120604408e-04f, -1.121018809e-04f, -1.121431236e-04f,
+-1.121841687e-04f, -1.122250163e-04f, -1.122656663e-04f, -1.123061187e-04f, -1.123463733e-04f, -1.123864302e-04f, -1.124262893e-04f, -1.124659505e-04f, -1.125054138e-04f, -1.125446791e-04f,
+-1.125837464e-04f, -1.126226156e-04f, -1.126612867e-04f, -1.126997596e-04f, -1.127380343e-04f, -1.127761108e-04f, -1.128139889e-04f, -1.128516686e-04f, -1.128891500e-04f, -1.129264328e-04f,
+-1.129635172e-04f, -1.130004030e-04f, -1.130370902e-04f, -1.130735788e-04f, -1.131098686e-04f, -1.131459597e-04f, -1.131818521e-04f, -1.132175456e-04f, -1.132530402e-04f, -1.132883359e-04f,
+-1.133234326e-04f, -1.133583303e-04f, -1.133930290e-04f, -1.134275285e-04f, -1.134618290e-04f, -1.134959302e-04f, -1.135298323e-04f, -1.135635350e-04f, -1.135970385e-04f, -1.136303426e-04f,
+-1.136634473e-04f, -1.136963526e-04f, -1.137290585e-04f, -1.137615648e-04f, -1.137938716e-04f, -1.138259788e-04f, -1.138578864e-04f, -1.138895943e-04f, -1.139211025e-04f, -1.139524110e-04f,
+-1.139835197e-04f, -1.140144286e-04f, -1.140451377e-04f, -1.140756469e-04f, -1.141059562e-04f, -1.141360655e-04f, -1.141659748e-04f, -1.141956841e-04f, -1.142251934e-04f, -1.142545025e-04f,
+-1.142836116e-04f, -1.143125205e-04f, -1.143412292e-04f, -1.143697376e-04f, -1.143980459e-04f, -1.144261538e-04f, -1.144540614e-04f, -1.144817687e-04f, -1.145092756e-04f, -1.145365821e-04f,
+-1.145636882e-04f, -1.145905937e-04f, -1.146172988e-04f, -1.146438034e-04f, -1.146701074e-04f, -1.146962108e-04f, -1.147221136e-04f, -1.147478158e-04f, -1.147733173e-04f, -1.147986181e-04f,
+-1.148237182e-04f, -1.148486176e-04f, -1.148733161e-04f, -1.148978139e-04f, -1.149221109e-04f, -1.149462070e-04f, -1.149701022e-04f, -1.149937966e-04f, -1.150172900e-04f, -1.150405825e-04f,
+-1.150636740e-04f, -1.150865646e-04f, -1.151092541e-04f, -1.151317426e-04f, -1.151540300e-04f, -1.151761164e-04f, -1.151980017e-04f, -1.152196858e-04f, -1.152411688e-04f, -1.152624507e-04f,
+-1.152835314e-04f, -1.153044109e-04f, -1.153250891e-04f, -1.153455662e-04f, -1.153658420e-04f, -1.153859165e-04f, -1.154057897e-04f, -1.154254617e-04f, -1.154449323e-04f, -1.154642016e-04f,
+-1.154832695e-04f, -1.155021360e-04f, -1.155208012e-04f, -1.155392650e-04f, -1.155575274e-04f, -1.155755883e-04f, -1.155934478e-04f, -1.156111058e-04f, -1.156285624e-04f, -1.156458175e-04f,
+-1.156628711e-04f, -1.156797232e-04f, -1.156963738e-04f, -1.157128229e-04f, -1.157290704e-04f, -1.157451163e-04f, -1.157609607e-04f, -1.157766036e-04f, -1.157920448e-04f, -1.158072845e-04f,
+-1.158223225e-04f, -1.158371590e-04f, -1.158517938e-04f, -1.158662271e-04f, -1.158804586e-04f, -1.158944886e-04f, -1.159083169e-04f, -1.159219435e-04f, -1.159353685e-04f, -1.159485918e-04f,
+-1.159616135e-04f, -1.159744335e-04f, -1.159870518e-04f, -1.159994684e-04f, -1.160116833e-04f, -1.160236966e-04f, -1.160355081e-04f, -1.160471179e-04f, -1.160585261e-04f, -1.160697325e-04f,
+-1.160807372e-04f, -1.160915403e-04f, -1.161021416e-04f, -1.161125412e-04f, -1.161227391e-04f, -1.161327353e-04f, -1.161425297e-04f, -1.161521225e-04f, -1.161615135e-04f, -1.161707029e-04f,
+-1.161796905e-04f, -1.161884764e-04f, -1.161970607e-04f, -1.162054432e-04f, -1.162136240e-04f, -1.162216032e-04f, -1.162293806e-04f, -1.162369563e-04f, -1.162443304e-04f, -1.162515028e-04f,
+-1.162584735e-04f, -1.162652426e-04f, -1.162718100e-04f, -1.162781757e-04f, -1.162843398e-04f, -1.162903022e-04f, -1.162960630e-04f, -1.163016222e-04f, -1.163069798e-04f, -1.163121357e-04f,
+-1.163170900e-04f, -1.163218428e-04f, -1.163263939e-04f, -1.163307435e-04f, -1.163348915e-04f, -1.163388380e-04f, -1.163425829e-04f, -1.163461262e-04f, -1.163494681e-04f, -1.163526084e-04f,
+-1.163555473e-04f, -1.163582846e-04f, -1.163608205e-04f, -1.163631549e-04f, -1.163652878e-04f, -1.163672193e-04f, -1.163689494e-04f, -1.163704781e-04f, -1.163718054e-04f, -1.163729313e-04f,
+-1.163738558e-04f, -1.163745790e-04f, -1.163751009e-04f, -1.163754215e-04f, -1.163755407e-04f, -1.163754587e-04f, -1.163751754e-04f, -1.163746909e-04f, -1.163740051e-04f, -1.163731181e-04f,
+-1.163720300e-04f, -1.163707407e-04f, -1.163692502e-04f, -1.163675586e-04f, -1.163656658e-04f, -1.163635720e-04f, -1.163612771e-04f, -1.163587812e-04f, -1.163560842e-04f, -1.163531863e-04f,
+-1.163500873e-04f, -1.163467874e-04f, -1.163432866e-04f, -1.163395848e-04f, -1.163356821e-04f, -1.163315786e-04f, -1.163272743e-04f, -1.163227691e-04f, -1.163180631e-04f, -1.163131564e-04f,
+-1.163080489e-04f, -1.163027407e-04f, -1.162972319e-04f, -1.162915223e-04f, -1.162856122e-04f, -1.162795014e-04f, -1.162731900e-04f, -1.162666781e-04f, -1.162599657e-04f, -1.162530528e-04f,
+-1.162459394e-04f, -1.162386256e-04f, -1.162311114e-04f, -1.162233968e-04f, -1.162154818e-04f, -1.162073666e-04f, -1.161990510e-04f, -1.161905353e-04f, -1.161818193e-04f, -1.161729031e-04f,
+-1.161637867e-04f, -1.161544703e-04f, -1.161449537e-04f, -1.161352371e-04f, -1.161253205e-04f, -1.161152039e-04f, -1.161048874e-04f, -1.160943709e-04f, -1.160836546e-04f, -1.160727384e-04f,
+-1.160616224e-04f, -1.160503066e-04f, -1.160387911e-04f, -1.160270759e-04f, -1.160151611e-04f, -1.160030466e-04f, -1.159907326e-04f, -1.159782189e-04f, -1.159655058e-04f, -1.159525933e-04f,
+-1.159394813e-04f, -1.159261699e-04f, -1.159126591e-04f, -1.158989491e-04f, -1.158850398e-04f, -1.158709312e-04f, -1.158566235e-04f, -1.158421167e-04f, -1.158274107e-04f, -1.158125057e-04f,
+-1.157974016e-04f, -1.157820986e-04f, -1.157665967e-04f, -1.157508959e-04f, -1.157349963e-04f, -1.157188978e-04f, -1.157026006e-04f, -1.156861047e-04f, -1.156694102e-04f, -1.156525170e-04f,
+-1.156354253e-04f, -1.156181350e-04f, -1.156006463e-04f, -1.155829592e-04f, -1.155650737e-04f, -1.155469898e-04f, -1.155287077e-04f, -1.155102273e-04f, -1.154915488e-04f, -1.154726721e-04f,
+-1.154535973e-04f, -1.154343245e-04f, -1.154148538e-04f, -1.153951850e-04f, -1.153753184e-04f, -1.153552540e-04f, -1.153349918e-04f, -1.153145319e-04f, -1.152938743e-04f, -1.152730191e-04f,
+-1.152519663e-04f, -1.152307160e-04f, -1.152092682e-04f, -1.151876231e-04f, -1.151657805e-04f, -1.151437407e-04f, -1.151215036e-04f, -1.150990694e-04f, -1.150764380e-04f, -1.150536096e-04f,
+-1.150305841e-04f, -1.150073617e-04f, -1.149839423e-04f, -1.149603261e-04f, -1.149365132e-04f, -1.149125035e-04f, -1.148882971e-04f, -1.148638941e-04f, -1.148392946e-04f, -1.148144985e-04f,
+-1.147895060e-04f, -1.147643172e-04f, -1.147389320e-04f, -1.147133506e-04f, -1.146875730e-04f, -1.146615993e-04f, -1.146354294e-04f, -1.146090636e-04f, -1.145825019e-04f, -1.145557442e-04f,
+-1.145287908e-04f, -1.145016415e-04f, -1.144742966e-04f, -1.144467561e-04f, -1.144190200e-04f, -1.143910884e-04f, -1.143629614e-04f, -1.143346390e-04f, -1.143061213e-04f, -1.142774084e-04f,
+-1.142485003e-04f, -1.142193971e-04f, -1.141900988e-04f, -1.141606056e-04f, -1.141309175e-04f, -1.141010346e-04f, -1.140709569e-04f, -1.140406845e-04f, -1.140102175e-04f, -1.139795559e-04f,
+-1.139486999e-04f, -1.139176494e-04f, -1.138864046e-04f, -1.138549655e-04f, -1.138233322e-04f, -1.137915048e-04f, -1.137594833e-04f, -1.137272678e-04f, -1.136948585e-04f, -1.136622552e-04f,
+-1.136294582e-04f, -1.135964675e-04f, -1.135632832e-04f, -1.135299054e-04f, -1.134963340e-04f, -1.134625693e-04f, -1.134286112e-04f, -1.133944599e-04f, -1.133601155e-04f, -1.133255779e-04f,
+-1.132908473e-04f, -1.132559238e-04f, -1.132208074e-04f, -1.131854982e-04f, -1.131499963e-04f, -1.131143017e-04f, -1.130784146e-04f, -1.130423351e-04f, -1.130060631e-04f, -1.129695988e-04f,
+-1.129329423e-04f, -1.128960936e-04f, -1.128590529e-04f, -1.128218201e-04f, -1.127843955e-04f, -1.127467789e-04f, -1.127089707e-04f, -1.126709708e-04f, -1.126327792e-04f, -1.125943962e-04f,
+-1.125558218e-04f, -1.125170560e-04f, -1.124780989e-04f, -1.124389507e-04f, -1.123996114e-04f, -1.123600811e-04f, -1.123203599e-04f, -1.122804478e-04f, -1.122403450e-04f, -1.122000515e-04f,
+-1.121595675e-04f, -1.121188929e-04f, -1.120780280e-04f, -1.120369727e-04f, -1.119957272e-04f, -1.119542916e-04f, -1.119126659e-04f, -1.118708503e-04f, -1.118288447e-04f, -1.117866494e-04f,
+-1.117442644e-04f, -1.117016898e-04f, -1.116589256e-04f, -1.116159721e-04f, -1.115728292e-04f, -1.115294970e-04f, -1.114859757e-04f, -1.114422654e-04f, -1.113983660e-04f, -1.113542778e-04f,
+-1.113100008e-04f, -1.112655351e-04f, -1.112208808e-04f, -1.111760380e-04f, -1.111310068e-04f, -1.110857872e-04f, -1.110403795e-04f, -1.109947836e-04f, -1.109489997e-04f, -1.109030278e-04f,
+-1.108568681e-04f, -1.108105206e-04f, -1.107639855e-04f, -1.107172629e-04f, -1.106703528e-04f, -1.106232553e-04f, -1.105759705e-04f, -1.105284986e-04f, -1.104808397e-04f, -1.104329937e-04f,
+-1.103849609e-04f, -1.103367413e-04f, -1.102883351e-04f, -1.102397423e-04f, -1.101909630e-04f, -1.101419973e-04f, -1.100928454e-04f, -1.100435073e-04f, -1.099939832e-04f, -1.099442730e-04f,
+-1.098943771e-04f, -1.098442953e-04f, -1.097940279e-04f, -1.097435750e-04f, -1.096929365e-04f, -1.096421128e-04f, -1.095911038e-04f, -1.095399096e-04f, -1.094885305e-04f, -1.094369664e-04f,
+-1.093852174e-04f, -1.093332838e-04f, -1.092811655e-04f, -1.092288628e-04f, -1.091763756e-04f, -1.091237041e-04f, -1.090708485e-04f, -1.090178087e-04f, -1.089645850e-04f, -1.089111774e-04f,
+-1.088575861e-04f, -1.088038111e-04f, -1.087498526e-04f, -1.086957107e-04f, -1.086413854e-04f, -1.085868769e-04f, -1.085321854e-04f, -1.084773108e-04f, -1.084222534e-04f, -1.083670131e-04f,
+-1.083115903e-04f, -1.082559849e-04f, -1.082001970e-04f, -1.081442268e-04f, -1.080880745e-04f, -1.080317400e-04f, -1.079752235e-04f, -1.079185252e-04f, -1.078616451e-04f, -1.078045834e-04f,
+-1.077473401e-04f, -1.076899155e-04f, -1.076323095e-04f, -1.075745224e-04f, -1.075165542e-04f, -1.074584050e-04f, -1.074000750e-04f, -1.073415643e-04f, -1.072828730e-04f, -1.072240012e-04f,
+-1.071649491e-04f, -1.071057166e-04f, -1.070463041e-04f, -1.069867116e-04f, -1.069269391e-04f, -1.068669869e-04f, -1.068068550e-04f, -1.067465436e-04f, -1.066860528e-04f, -1.066253827e-04f,
+-1.065645334e-04f, -1.065035050e-04f, -1.064422977e-04f, -1.063809116e-04f, -1.063193468e-04f, -1.062576035e-04f, -1.061956816e-04f, -1.061335815e-04f, -1.060713032e-04f, -1.060088468e-04f,
+-1.059462124e-04f, -1.058834002e-04f, -1.058204103e-04f, -1.057572428e-04f, -1.056938979e-04f, -1.056303756e-04f, -1.055666761e-04f, -1.055027995e-04f, -1.054387460e-04f, -1.053745157e-04f,
+-1.053101086e-04f, -1.052455249e-04f, -1.051807649e-04f, -1.051158284e-04f, -1.050507158e-04f, -1.049854272e-04f, -1.049199625e-04f, -1.048543221e-04f, -1.047885060e-04f, -1.047225143e-04f,
+-1.046563472e-04f, -1.045900048e-04f, -1.045234873e-04f, -1.044567947e-04f, -1.043899272e-04f, -1.043228850e-04f, -1.042556680e-04f, -1.041882766e-04f, -1.041207108e-04f, -1.040529708e-04f,
+-1.039850566e-04f, -1.039169685e-04f, -1.038487065e-04f, -1.037802708e-04f, -1.037116615e-04f, -1.036428787e-04f, -1.035739227e-04f, -1.035047934e-04f, -1.034354912e-04f, -1.033660160e-04f,
+-1.032963680e-04f, -1.032265474e-04f, -1.031565542e-04f, -1.030863887e-04f, -1.030160510e-04f, -1.029455412e-04f, -1.028748594e-04f, -1.028040058e-04f, -1.027329805e-04f, -1.026617836e-04f,
+-1.025904154e-04f, -1.025188758e-04f, -1.024471652e-04f, -1.023752835e-04f, -1.023032310e-04f, -1.022310078e-04f, -1.021586140e-04f, -1.020860497e-04f, -1.020133152e-04f, -1.019404105e-04f,
+-1.018673358e-04f, -1.017940912e-04f, -1.017206769e-04f, -1.016470930e-04f, -1.015733396e-04f, -1.014994170e-04f, -1.014253252e-04f, -1.013510643e-04f, -1.012766346e-04f, -1.012020361e-04f,
+-1.011272691e-04f, -1.010523336e-04f, -1.009772298e-04f, -1.009019578e-04f, -1.008265178e-04f, -1.007509100e-04f, -1.006751344e-04f, -1.005991913e-04f, -1.005230807e-04f, -1.004468028e-04f,
+-1.003703578e-04f, -1.002937458e-04f, -1.002169670e-04f, -1.001400215e-04f, -1.000629094e-04f, -9.998563086e-05f, -9.990818611e-05f, -9.983057525e-05f, -9.975279843e-05f, -9.967485580e-05f,
+-9.959674751e-05f, -9.951847370e-05f, -9.944003454e-05f, -9.936143017e-05f, -9.928266073e-05f, -9.920372638e-05f, -9.912462728e-05f, -9.904536356e-05f, -9.896593539e-05f, -9.888634291e-05f,
+-9.880658627e-05f, -9.872666564e-05f, -9.864658115e-05f, -9.856633297e-05f, -9.848592124e-05f, -9.840534613e-05f, -9.832460777e-05f, -9.824370634e-05f, -9.816264197e-05f, -9.808141483e-05f,
+-9.800002507e-05f, -9.791847284e-05f, -9.783675830e-05f, -9.775488161e-05f, -9.767284291e-05f, -9.759064238e-05f, -9.750828015e-05f, -9.742575640e-05f, -9.734307127e-05f, -9.726022492e-05f,
+-9.717721752e-05f, -9.709404921e-05f, -9.701072015e-05f, -9.692723051e-05f, -9.684358045e-05f, -9.675977011e-05f, -9.667579966e-05f, -9.659166926e-05f, -9.650737906e-05f, -9.642292924e-05f,
+-9.633831994e-05f, -9.625355132e-05f, -9.616862356e-05f, -9.608353680e-05f, -9.599829121e-05f, -9.591288696e-05f, -9.582732419e-05f, -9.574160308e-05f, -9.565572378e-05f, -9.556968646e-05f,
+-9.548349128e-05f, -9.539713841e-05f, -9.531062800e-05f, -9.522396022e-05f, -9.513713523e-05f, -9.505015320e-05f, -9.496301429e-05f, -9.487571866e-05f, -9.478826648e-05f, -9.470065792e-05f,
+-9.461289314e-05f, -9.452497230e-05f, -9.443689557e-05f, -9.434866312e-05f, -9.426027511e-05f, -9.417173171e-05f, -9.408303308e-05f, -9.399417940e-05f, -9.390517082e-05f, -9.381600752e-05f,
+-9.372668967e-05f, -9.363721742e-05f, -9.354759096e-05f, -9.345781044e-05f, -9.336787605e-05f, -9.327778793e-05f, -9.318754628e-05f, -9.309715124e-05f, -9.300660301e-05f, -9.291590173e-05f,
+-9.282504759e-05f, -9.273404075e-05f, -9.264288139e-05f, -9.255156968e-05f, -9.246010578e-05f, -9.236848987e-05f, -9.227672212e-05f, -9.218480270e-05f, -9.209273179e-05f, -9.200050955e-05f,
+-9.190813616e-05f, -9.181561180e-05f, -9.172293663e-05f, -9.163011082e-05f, -9.153713456e-05f, -9.144400802e-05f, -9.135073136e-05f, -9.125730477e-05f, -9.116372842e-05f, -9.107000248e-05f,
+-9.097612713e-05f, -9.088210255e-05f, -9.078792890e-05f, -9.069360637e-05f, -9.059913513e-05f, -9.050451536e-05f, -9.040974724e-05f, -9.031483093e-05f, -9.021976662e-05f, -9.012455449e-05f,
+-9.002919471e-05f, -8.993368746e-05f, -8.983803292e-05f, -8.974223127e-05f, -8.964628268e-05f, -8.955018733e-05f, -8.945394541e-05f, -8.935755709e-05f, -8.926102255e-05f, -8.916434197e-05f,
+-8.906751554e-05f, -8.897054342e-05f, -8.887342581e-05f, -8.877616287e-05f, -8.867875480e-05f, -8.858120178e-05f, -8.848350397e-05f, -8.838566158e-05f, -8.828767477e-05f, -8.818954374e-05f,
+-8.809126865e-05f, -8.799284970e-05f, -8.789428707e-05f, -8.779558094e-05f, -8.769673150e-05f, -8.759773892e-05f, -8.749860339e-05f, -8.739932510e-05f, -8.729990422e-05f, -8.720034095e-05f,
+-8.710063546e-05f, -8.700078795e-05f, -8.690079860e-05f, -8.680066759e-05f, -8.670039510e-05f, -8.659998133e-05f, -8.649942646e-05f, -8.639873068e-05f, -8.629789417e-05f, -8.619691712e-05f,
+-8.609579971e-05f, -8.599454214e-05f, -8.589314458e-05f, -8.579160724e-05f, -8.568993028e-05f, -8.558811392e-05f, -8.548615832e-05f, -8.538406369e-05f, -8.528183020e-05f, -8.517945805e-05f,
+-8.507694743e-05f, -8.497429852e-05f, -8.487151152e-05f, -8.476858661e-05f, -8.466552399e-05f, -8.456232384e-05f, -8.445898636e-05f, -8.435551174e-05f, -8.425190016e-05f, -8.414815182e-05f,
+-8.404426691e-05f, -8.394024562e-05f, -8.383608815e-05f, -8.373179468e-05f, -8.362736541e-05f, -8.352280052e-05f, -8.341810022e-05f, -8.331326470e-05f, -8.320829414e-05f, -8.310318874e-05f,
+-8.299794870e-05f, -8.289257421e-05f, -8.278706546e-05f, -8.268142264e-05f, -8.257564596e-05f, -8.246973560e-05f, -8.236369176e-05f, -8.225751464e-05f, -8.215120443e-05f, -8.204476132e-05f,
+-8.193818552e-05f, -8.183147721e-05f, -8.172463659e-05f, -8.161766387e-05f, -8.151055923e-05f, -8.140332288e-05f, -8.129595500e-05f, -8.118845580e-05f, -8.108082548e-05f, -8.097306423e-05f,
+-8.086517224e-05f, -8.075714973e-05f, -8.064899688e-05f, -8.054071389e-05f, -8.043230097e-05f, -8.032375831e-05f, -8.021508611e-05f, -8.010628456e-05f, -7.999735388e-05f, -7.988829426e-05f,
+-7.977910589e-05f, -7.966978898e-05f, -7.956034373e-05f, -7.945077035e-05f, -7.934106902e-05f, -7.923123995e-05f, -7.912128334e-05f, -7.901119939e-05f, -7.890098831e-05f, -7.879065030e-05f,
+-7.868018555e-05f, -7.856959428e-05f, -7.845887667e-05f, -7.834803295e-05f, -7.823706329e-05f, -7.812596792e-05f, -7.801474703e-05f, -7.790340083e-05f, -7.779192952e-05f, -7.768033330e-05f,
+-7.756861238e-05f, -7.745676696e-05f, -7.734479725e-05f, -7.723270345e-05f, -7.712048576e-05f, -7.700814439e-05f, -7.689567955e-05f, -7.678309144e-05f, -7.667038026e-05f, -7.655754623e-05f,
+-7.644458954e-05f, -7.633151040e-05f, -7.621830903e-05f, -7.610498562e-05f, -7.599154038e-05f, -7.587797352e-05f, -7.576428525e-05f, -7.565047577e-05f, -7.553654529e-05f, -7.542249402e-05f,
+-7.530832217e-05f, -7.519402993e-05f, -7.507961754e-05f, -7.496508518e-05f, -7.485043307e-05f, -7.473566142e-05f, -7.462077043e-05f, -7.450576032e-05f, -7.439063130e-05f, -7.427538357e-05f,
+-7.416001734e-05f, -7.404453283e-05f, -7.392893024e-05f, -7.381320979e-05f, -7.369737168e-05f, -7.358141612e-05f, -7.346534334e-05f, -7.334915352e-05f, -7.323284690e-05f, -7.311642367e-05f,
+-7.299988406e-05f, -7.288322827e-05f, -7.276645651e-05f, -7.264956900e-05f, -7.253256595e-05f, -7.241544756e-05f, -7.229821407e-05f, -7.218086566e-05f, -7.206340257e-05f, -7.194582500e-05f,
+-7.182813317e-05f, -7.171032728e-05f, -7.159240756e-05f, -7.147437421e-05f, -7.135622746e-05f, -7.123796751e-05f, -7.111959458e-05f, -7.100110888e-05f, -7.088251063e-05f, -7.076380005e-05f,
+-7.064497734e-05f, -7.052604273e-05f, -7.040699643e-05f, -7.028783865e-05f, -7.016856961e-05f, -7.004918953e-05f, -6.992969863e-05f, -6.981009711e-05f, -6.969038520e-05f, -6.957056311e-05f,
+-6.945063106e-05f, -6.933058926e-05f, -6.921043794e-05f, -6.909017731e-05f, -6.896980759e-05f, -6.884932899e-05f, -6.872874174e-05f, -6.860804605e-05f, -6.848724214e-05f, -6.836633022e-05f,
+-6.824531053e-05f, -6.812418327e-05f, -6.800294866e-05f, -6.788160693e-05f, -6.776015829e-05f, -6.763860296e-05f, -6.751694116e-05f, -6.739517312e-05f, -6.727329904e-05f, -6.715131916e-05f,
+-6.702923369e-05f, -6.690704285e-05f, -6.678474686e-05f, -6.666234594e-05f, -6.653984032e-05f, -6.641723021e-05f, -6.629451584e-05f, -6.617169743e-05f, -6.604877519e-05f, -6.592574935e-05f,
+-6.580262014e-05f, -6.567938777e-05f, -6.555605247e-05f, -6.543261445e-05f, -6.530907395e-05f, -6.518543117e-05f, -6.506168636e-05f, -6.493783972e-05f, -6.481389149e-05f, -6.468984188e-05f,
+-6.456569112e-05f, -6.444143943e-05f, -6.431708704e-05f, -6.419263417e-05f, -6.406808104e-05f, -6.394342788e-05f, -6.381867491e-05f, -6.369382236e-05f, -6.356887045e-05f, -6.344381941e-05f,
+-6.331866946e-05f, -6.319342082e-05f, -6.306807372e-05f, -6.294262840e-05f, -6.281708506e-05f, -6.269144394e-05f, -6.256570527e-05f, -6.243986926e-05f, -6.231393616e-05f, -6.218790617e-05f,
+-6.206177953e-05f, -6.193555647e-05f, -6.180923721e-05f, -6.168282198e-05f, -6.155631100e-05f, -6.142970451e-05f, -6.130300272e-05f, -6.117620588e-05f, -6.104931420e-05f, -6.092232791e-05f,
+-6.079524724e-05f, -6.066807243e-05f, -6.054080369e-05f, -6.041344125e-05f, -6.028598535e-05f, -6.015843621e-05f, -6.003079406e-05f, -5.990305914e-05f, -5.977523166e-05f, -5.964731186e-05f,
+-5.951929996e-05f, -5.939119621e-05f, -5.926300082e-05f, -5.913471402e-05f, -5.900633606e-05f, -5.887786714e-05f, -5.874930752e-05f, -5.862065741e-05f, -5.849191705e-05f, -5.836308666e-05f,
+-5.823416649e-05f, -5.810515675e-05f, -5.797605768e-05f, -5.784686952e-05f, -5.771759248e-05f, -5.758822681e-05f, -5.745877273e-05f, -5.732923048e-05f, -5.719960029e-05f, -5.706988239e-05f,
+-5.694007701e-05f, -5.681018439e-05f, -5.668020475e-05f, -5.655013833e-05f, -5.641998536e-05f, -5.628974608e-05f, -5.615942071e-05f, -5.602900949e-05f, -5.589851266e-05f, -5.576793044e-05f,
+-5.563726308e-05f, -5.550651079e-05f, -5.537567382e-05f, -5.524475240e-05f, -5.511374677e-05f, -5.498265715e-05f, -5.485148379e-05f, -5.472022691e-05f, -5.458888675e-05f, -5.445746355e-05f,
+-5.432595753e-05f, -5.419436894e-05f, -5.406269801e-05f, -5.393094498e-05f, -5.379911007e-05f, -5.366719352e-05f, -5.353519558e-05f, -5.340311647e-05f, -5.327095643e-05f, -5.313871570e-05f,
+-5.300639451e-05f, -5.287399309e-05f, -5.274151169e-05f, -5.260895054e-05f, -5.247630987e-05f, -5.234358993e-05f, -5.221079095e-05f, -5.207791316e-05f, -5.194495680e-05f, -5.181192212e-05f,
+-5.167880933e-05f, -5.154561870e-05f, -5.141235044e-05f, -5.127900480e-05f, -5.114558201e-05f, -5.101208232e-05f, -5.087850595e-05f, -5.074485316e-05f, -5.061112417e-05f, -5.047731922e-05f,
+-5.034343855e-05f, -5.020948241e-05f, -5.007545102e-05f, -4.994134463e-05f, -4.980716347e-05f, -4.967290779e-05f, -4.953857781e-05f, -4.940417379e-05f, -4.926969596e-05f, -4.913514456e-05f,
+-4.900051983e-05f, -4.886582200e-05f, -4.873105133e-05f, -4.859620803e-05f, -4.846129237e-05f, -4.832630457e-05f, -4.819124487e-05f, -4.805611352e-05f, -4.792091075e-05f, -4.778563681e-05f,
+-4.765029194e-05f, -4.751487637e-05f, -4.737939035e-05f, -4.724383411e-05f, -4.710820790e-05f, -4.697251196e-05f, -4.683674653e-05f, -4.670091185e-05f, -4.656500816e-05f, -4.642903570e-05f,
+-4.629299471e-05f, -4.615688544e-05f, -4.602070812e-05f, -4.588446300e-05f, -4.574815032e-05f, -4.561177032e-05f, -4.547532324e-05f, -4.533880933e-05f, -4.520222882e-05f, -4.506558196e-05f,
+-4.492886899e-05f, -4.479209015e-05f, -4.465524569e-05f, -4.451833585e-05f, -4.438136086e-05f, -4.424432098e-05f, -4.410721644e-05f, -4.397004749e-05f, -4.383281437e-05f, -4.369551732e-05f,
+-4.355815660e-05f, -4.342073243e-05f, -4.328324506e-05f, -4.314569474e-05f, -4.300808171e-05f, -4.287040622e-05f, -4.273266850e-05f, -4.259486880e-05f, -4.245700737e-05f, -4.231908445e-05f,
+-4.218110028e-05f, -4.204305510e-05f, -4.190494917e-05f, -4.176678272e-05f, -4.162855600e-05f, -4.149026925e-05f, -4.135192272e-05f, -4.121351665e-05f, -4.107505129e-05f, -4.093652688e-05f,
+-4.079794367e-05f, -4.065930190e-05f, -4.052060181e-05f, -4.038184366e-05f, -4.024302768e-05f, -4.010415412e-05f, -3.996522324e-05f, -3.982623526e-05f, -3.968719044e-05f, -3.954808902e-05f,
+-3.940893125e-05f, -3.926971738e-05f, -3.913044764e-05f, -3.899112229e-05f, -3.885174158e-05f, -3.871230574e-05f, -3.857281502e-05f, -3.843326967e-05f, -3.829366994e-05f, -3.815401607e-05f,
+-3.801430831e-05f, -3.787454690e-05f, -3.773473210e-05f, -3.759486414e-05f, -3.745494327e-05f, -3.731496975e-05f, -3.717494381e-05f, -3.703486571e-05f, -3.689473569e-05f, -3.675455400e-05f,
+-3.661432088e-05f, -3.647403659e-05f, -3.633370136e-05f, -3.619331545e-05f, -3.605287910e-05f, -3.591239257e-05f, -3.577185609e-05f, -3.563126992e-05f, -3.549063431e-05f, -3.534994949e-05f,
+-3.520921572e-05f, -3.506843325e-05f, -3.492760233e-05f, -3.478672319e-05f, -3.464579610e-05f, -3.450482129e-05f, -3.436379902e-05f, -3.422272954e-05f, -3.408161308e-05f, -3.394044991e-05f,
+-3.379924026e-05f, -3.365798439e-05f, -3.351668255e-05f, -3.337533498e-05f, -3.323394194e-05f, -3.309250366e-05f, -3.295102041e-05f, -3.280949242e-05f, -3.266791995e-05f, -3.252630324e-05f,
+-3.238464255e-05f, -3.224293813e-05f, -3.210119021e-05f, -3.195939906e-05f, -3.181756492e-05f, -3.167568804e-05f, -3.153376866e-05f, -3.139180705e-05f, -3.124980344e-05f, -3.110775809e-05f,
+-3.096567124e-05f, -3.082354315e-05f, -3.068137406e-05f, -3.053916423e-05f, -3.039691390e-05f, -3.025462333e-05f, -3.011229276e-05f, -2.996992244e-05f, -2.982751262e-05f, -2.968506356e-05f,
+-2.954257550e-05f, -2.940004869e-05f, -2.925748338e-05f, -2.911487983e-05f, -2.897223828e-05f, -2.882955898e-05f, -2.868684218e-05f, -2.854408813e-05f, -2.840129709e-05f, -2.825846930e-05f,
+-2.811560501e-05f, -2.797270448e-05f, -2.782976795e-05f, -2.768679568e-05f, -2.754378791e-05f, -2.740074489e-05f, -2.725766688e-05f, -2.711455413e-05f, -2.697140689e-05f, -2.682822540e-05f,
+-2.668500992e-05f, -2.654176070e-05f, -2.639847799e-05f, -2.625516204e-05f, -2.611181310e-05f, -2.596843142e-05f, -2.582501726e-05f, -2.568157086e-05f, -2.553809247e-05f, -2.539458236e-05f,
+-2.525104075e-05f, -2.510746792e-05f, -2.496386411e-05f, -2.482022957e-05f, -2.467656454e-05f, -2.453286929e-05f, -2.438914407e-05f, -2.424538912e-05f, -2.410160470e-05f, -2.395779105e-05f,
+-2.381394844e-05f, -2.367007710e-05f, -2.352617730e-05f, -2.338224928e-05f, -2.323829329e-05f, -2.309430959e-05f, -2.295029843e-05f, -2.280626006e-05f, -2.266219473e-05f, -2.251810269e-05f,
+-2.237398419e-05f, -2.222983949e-05f, -2.208566884e-05f, -2.194147249e-05f, -2.179725069e-05f, -2.165300369e-05f, -2.150873175e-05f, -2.136443511e-05f, -2.122011403e-05f, -2.107576875e-05f,
+-2.093139954e-05f, -2.078700665e-05f, -2.064259031e-05f, -2.049815080e-05f, -2.035368835e-05f, -2.020920323e-05f, -2.006469568e-05f, -1.992016595e-05f, -1.977561430e-05f, -1.963104097e-05f,
+-1.948644623e-05f, -1.934183032e-05f, -1.919719350e-05f, -1.905253601e-05f, -1.890785811e-05f, -1.876316006e-05f, -1.861844209e-05f, -1.847370447e-05f, -1.832894745e-05f, -1.818417127e-05f,
+-1.803937620e-05f, -1.789456248e-05f, -1.774973037e-05f, -1.760488012e-05f, -1.746001197e-05f, -1.731512619e-05f, -1.717022302e-05f, -1.702530272e-05f, -1.688036554e-05f, -1.673541173e-05f,
+-1.659044154e-05f, -1.644545523e-05f, -1.630045305e-05f, -1.615543524e-05f, -1.601040207e-05f, -1.586535378e-05f, -1.572029063e-05f, -1.557521287e-05f, -1.543012075e-05f, -1.528501452e-05f,
+-1.513989444e-05f, -1.499476076e-05f, -1.484961373e-05f, -1.470445360e-05f, -1.455928062e-05f, -1.441409506e-05f, -1.426889715e-05f, -1.412368715e-05f, -1.397846532e-05f, -1.383323190e-05f,
+-1.368798716e-05f, -1.354273133e-05f, -1.339746468e-05f, -1.325218745e-05f, -1.310689990e-05f, -1.296160228e-05f, -1.281629484e-05f, -1.267097784e-05f, -1.252565152e-05f, -1.238031614e-05f,
+-1.223497196e-05f, -1.208961921e-05f, -1.194425816e-05f, -1.179888906e-05f, -1.165351216e-05f, -1.150812772e-05f, -1.136273597e-05f, -1.121733718e-05f, -1.107193160e-05f, -1.092651949e-05f,
+-1.078110108e-05f, -1.063567664e-05f, -1.049024642e-05f, -1.034481067e-05f, -1.019936963e-05f, -1.005392358e-05f, -9.908472743e-06f, -9.763017387e-06f, -9.617557762e-06f, -9.472094118e-06f,
+-9.326626708e-06f, -9.181155783e-06f, -9.035681597e-06f, -8.890204399e-06f, -8.744724444e-06f, -8.599241982e-06f, -8.453757265e-06f, -8.308270546e-06f, -8.162782076e-06f, -8.017292107e-06f,
+-7.871800891e-06f, -7.726308680e-06f, -7.580815726e-06f, -7.435322279e-06f, -7.289828593e-06f, -7.144334919e-06f, -6.998841508e-06f, -6.853348612e-06f, -6.707856484e-06f, -6.562365373e-06f,
+-6.416875534e-06f, -6.271387215e-06f, -6.125900671e-06f, -5.980416151e-06f, -5.834933907e-06f, -5.689454192e-06f, -5.543977256e-06f, -5.398503350e-06f, -5.253032727e-06f, -5.107565638e-06f,
+-4.962102334e-06f, -4.816643066e-06f, -4.671188085e-06f, -4.525737644e-06f, -4.380291993e-06f, -4.234851383e-06f, -4.089416066e-06f, -3.943986293e-06f, -3.798562315e-06f, -3.653144382e-06f,
+-3.507732747e-06f, -3.362327659e-06f, -3.216929371e-06f, -3.071538133e-06f, -2.926154196e-06f, -2.780777810e-06f, -2.635409228e-06f, -2.490048699e-06f, -2.344696474e-06f, -2.199352804e-06f,
+-2.054017940e-06f, -1.908692133e-06f, -1.763375632e-06f, -1.618068690e-06f, -1.472771556e-06f, -1.327484480e-06f, -1.182207714e-06f, -1.036941507e-06f, -8.916861111e-07f, -7.464417753e-07f,
+-6.012087503e-07f, -4.559872865e-07f, -3.107776341e-07f, -1.655800432e-07f, -2.039476411e-08f, 1.247779532e-07f, 2.699378585e-07f, 4.150847019e-07f, 5.602182334e-07f, 7.053382030e-07f,
+8.504443608e-07f, 9.955364570e-07f, 1.140614242e-06f, 1.285677465e-06f, 1.430725878e-06f, 1.575759230e-06f, 1.720777272e-06f, 1.865779755e-06f, 2.010766428e-06f, 2.155737042e-06f,
+2.300691348e-06f, 2.445629097e-06f, 2.590550039e-06f, 2.735453924e-06f, 2.880340505e-06f, 3.025209531e-06f, 3.170060753e-06f, 3.314893923e-06f, 3.459708791e-06f, 3.604505109e-06f,
+3.749282627e-06f, 3.894041096e-06f, 4.038780269e-06f, 4.183499895e-06f, 4.328199727e-06f, 4.472879516e-06f, 4.617539013e-06f, 4.762177970e-06f, 4.906796138e-06f, 5.051393269e-06f,
+5.195969114e-06f, 5.340523426e-06f, 5.485055955e-06f, 5.629566455e-06f, 5.774054676e-06f, 5.918520371e-06f, 6.062963292e-06f, 6.207383190e-06f, 6.351779818e-06f, 6.496152929e-06f,
+6.640502274e-06f, 6.784827605e-06f, 6.929128676e-06f, 7.073405238e-06f, 7.217657045e-06f, 7.361883848e-06f, 7.506085400e-06f, 7.650261454e-06f, 7.794411763e-06f, 7.938536080e-06f,
+8.082634157e-06f, 8.226705748e-06f, 8.370750605e-06f, 8.514768482e-06f, 8.658759132e-06f, 8.802722308e-06f, 8.946657763e-06f, 9.090565251e-06f, 9.234444525e-06f, 9.378295339e-06f,
+9.522117447e-06f, 9.665910601e-06f, 9.809674556e-06f, 9.953409065e-06f, 1.009711388e-05f, 1.024078876e-05f, 1.038443346e-05f, 1.052804773e-05f, 1.067163132e-05f, 1.081518399e-05f,
+1.095870550e-05f, 1.110219559e-05f, 1.124565402e-05f, 1.138908055e-05f, 1.153247493e-05f, 1.167583692e-05f, 1.181916627e-05f, 1.196246274e-05f, 1.210572607e-05f, 1.224895603e-05f,
+1.239215237e-05f, 1.253531485e-05f, 1.267844322e-05f, 1.282153724e-05f, 1.296459665e-05f, 1.310762123e-05f, 1.325061071e-05f, 1.339356487e-05f, 1.353648345e-05f, 1.367936621e-05f,
+1.382221291e-05f, 1.396502330e-05f, 1.410779713e-05f, 1.425053418e-05f, 1.439323418e-05f, 1.453589690e-05f, 1.467852209e-05f, 1.482110951e-05f, 1.496365892e-05f, 1.510617007e-05f,
+1.524864272e-05f, 1.539107663e-05f, 1.553347155e-05f, 1.567582724e-05f, 1.581814346e-05f, 1.596041997e-05f, 1.610265652e-05f, 1.624485286e-05f, 1.638700877e-05f, 1.652912399e-05f,
+1.667119828e-05f, 1.681323140e-05f, 1.695522311e-05f, 1.709717317e-05f, 1.723908133e-05f, 1.738094735e-05f, 1.752277099e-05f, 1.766455201e-05f, 1.780629017e-05f, 1.794798522e-05f,
+1.808963693e-05f, 1.823124505e-05f, 1.837280934e-05f, 1.851432956e-05f, 1.865580547e-05f, 1.879723683e-05f, 1.893862340e-05f, 1.907996494e-05f, 1.922126120e-05f, 1.936251195e-05f,
+1.950371694e-05f, 1.964487594e-05f, 1.978598870e-05f, 1.992705498e-05f, 2.006807456e-05f, 2.020904717e-05f, 2.034997259e-05f, 2.049085058e-05f, 2.063168089e-05f, 2.077246329e-05f,
+2.091319754e-05f, 2.105388339e-05f, 2.119452061e-05f, 2.133510896e-05f, 2.147564820e-05f, 2.161613809e-05f, 2.175657840e-05f, 2.189696888e-05f, 2.203730929e-05f, 2.217759940e-05f,
+2.231783897e-05f, 2.245802776e-05f, 2.259816553e-05f, 2.273825204e-05f, 2.287828706e-05f, 2.301827035e-05f, 2.315820167e-05f, 2.329808079e-05f, 2.343790746e-05f, 2.357768144e-05f,
+2.371740251e-05f, 2.385707042e-05f, 2.399668494e-05f, 2.413624583e-05f, 2.427575285e-05f, 2.441520577e-05f, 2.455460435e-05f, 2.469394835e-05f, 2.483323754e-05f, 2.497247168e-05f,
+2.511165053e-05f, 2.525077387e-05f, 2.538984144e-05f, 2.552885302e-05f, 2.566780838e-05f, 2.580670727e-05f, 2.594554946e-05f, 2.608433472e-05f, 2.622306280e-05f, 2.636173349e-05f,
+2.650034653e-05f, 2.663890170e-05f, 2.677739875e-05f, 2.691583747e-05f, 2.705421760e-05f, 2.719253893e-05f, 2.733080120e-05f, 2.746900420e-05f, 2.760714768e-05f, 2.774523141e-05f,
+2.788325516e-05f, 2.802121869e-05f, 2.815912177e-05f, 2.829696417e-05f, 2.843474566e-05f, 2.857246599e-05f, 2.871012495e-05f, 2.884772229e-05f, 2.898525778e-05f, 2.912273119e-05f,
+2.926014229e-05f, 2.939749084e-05f, 2.953477661e-05f, 2.967199938e-05f, 2.980915891e-05f, 2.994625496e-05f, 3.008328731e-05f, 3.022025572e-05f, 3.035715996e-05f, 3.049399981e-05f,
+3.063077502e-05f, 3.076748538e-05f, 3.090413064e-05f, 3.104071058e-05f, 3.117722496e-05f, 3.131367357e-05f, 3.145005615e-05f, 3.158637250e-05f, 3.172262237e-05f, 3.185880553e-05f,
+3.199492176e-05f, 3.213097083e-05f, 3.226695250e-05f, 3.240286655e-05f, 3.253871275e-05f, 3.267449087e-05f, 3.281020067e-05f, 3.294584194e-05f, 3.308141444e-05f, 3.321691794e-05f,
+3.335235222e-05f, 3.348771705e-05f, 3.362301219e-05f, 3.375823743e-05f, 3.389339252e-05f, 3.402847725e-05f, 3.416349139e-05f, 3.429843471e-05f, 3.443330699e-05f, 3.456810798e-05f,
+3.470283748e-05f, 3.483749525e-05f, 3.497208106e-05f, 3.510659469e-05f, 3.524103592e-05f, 3.537540450e-05f, 3.550970023e-05f, 3.564392287e-05f, 3.577807220e-05f, 3.591214799e-05f,
+3.604615002e-05f, 3.618007806e-05f, 3.631393188e-05f, 3.644771126e-05f, 3.658141598e-05f, 3.671504581e-05f, 3.684860053e-05f, 3.698207990e-05f, 3.711548371e-05f, 3.724881174e-05f,
+3.738206375e-05f, 3.751523953e-05f, 3.764833885e-05f, 3.778136149e-05f, 3.791430722e-05f, 3.804717582e-05f, 3.817996707e-05f, 3.831268074e-05f, 3.844531662e-05f, 3.857787447e-05f,
+3.871035408e-05f, 3.884275522e-05f, 3.897507768e-05f, 3.910732122e-05f, 3.923948563e-05f, 3.937157069e-05f, 3.950357617e-05f, 3.963550185e-05f, 3.976734752e-05f, 3.989911294e-05f,
+4.003079791e-05f, 4.016240219e-05f, 4.029392557e-05f, 4.042536782e-05f, 4.055672874e-05f, 4.068800809e-05f, 4.081920565e-05f, 4.095032122e-05f, 4.108135456e-05f, 4.121230545e-05f,
+4.134317369e-05f, 4.147395904e-05f, 4.160466130e-05f, 4.173528023e-05f, 4.186581563e-05f, 4.199626727e-05f, 4.212663493e-05f, 4.225691840e-05f, 4.238711746e-05f, 4.251723190e-05f,
+4.264726148e-05f, 4.277720600e-05f, 4.290706524e-05f, 4.303683897e-05f, 4.316652700e-05f, 4.329612908e-05f, 4.342564502e-05f, 4.355507460e-05f, 4.368441758e-05f, 4.381367377e-05f,
+4.394284295e-05f, 4.407192489e-05f, 4.420091939e-05f, 4.432982622e-05f, 4.445864517e-05f, 4.458737604e-05f, 4.471601859e-05f, 4.484457262e-05f, 4.497303791e-05f, 4.510141425e-05f,
+4.522970143e-05f, 4.535789922e-05f, 4.548600742e-05f, 4.561402580e-05f, 4.574195417e-05f, 4.586979230e-05f, 4.599753998e-05f, 4.612519700e-05f, 4.625276314e-05f, 4.638023819e-05f,
+4.650762195e-05f, 4.663491419e-05f, 4.676211470e-05f, 4.688922328e-05f, 4.701623970e-05f, 4.714316377e-05f, 4.726999526e-05f, 4.739673397e-05f, 4.752337968e-05f, 4.764993219e-05f,
+4.777639128e-05f, 4.790275674e-05f, 4.802902836e-05f, 4.815520593e-05f, 4.828128924e-05f, 4.840727809e-05f, 4.853317225e-05f, 4.865897153e-05f, 4.878467571e-05f, 4.891028458e-05f,
+4.903579794e-05f, 4.916121557e-05f, 4.928653727e-05f, 4.941176283e-05f, 4.953689204e-05f, 4.966192468e-05f, 4.978686057e-05f, 4.991169947e-05f, 5.003644120e-05f, 5.016108554e-05f,
+5.028563228e-05f, 5.041008122e-05f, 5.053443215e-05f, 5.065868486e-05f, 5.078283915e-05f, 5.090689481e-05f, 5.103085164e-05f, 5.115470942e-05f, 5.127846796e-05f, 5.140212704e-05f,
+5.152568647e-05f, 5.164914603e-05f, 5.177250553e-05f, 5.189576476e-05f, 5.201892350e-05f, 5.214198157e-05f, 5.226493875e-05f, 5.238779484e-05f, 5.251054964e-05f, 5.263320295e-05f,
+5.275575455e-05f, 5.287820425e-05f, 5.300055184e-05f, 5.312279713e-05f, 5.324493990e-05f, 5.336697996e-05f, 5.348891710e-05f, 5.361075113e-05f, 5.373248183e-05f, 5.385410902e-05f,
+5.397563248e-05f, 5.409705201e-05f, 5.421836743e-05f, 5.433957851e-05f, 5.446068507e-05f, 5.458168690e-05f, 5.470258380e-05f, 5.482337558e-05f, 5.494406203e-05f, 5.506464295e-05f,
+5.518511815e-05f, 5.530548742e-05f, 5.542575056e-05f, 5.554590738e-05f, 5.566595768e-05f, 5.578590126e-05f, 5.590573792e-05f, 5.602546747e-05f, 5.614508970e-05f, 5.626460442e-05f,
+5.638401142e-05f, 5.650331052e-05f, 5.662250152e-05f, 5.674158422e-05f, 5.686055841e-05f, 5.697942392e-05f, 5.709818053e-05f, 5.721682806e-05f, 5.733536631e-05f, 5.745379508e-05f,
+5.757211418e-05f, 5.769032341e-05f, 5.780842257e-05f, 5.792641148e-05f, 5.804428994e-05f, 5.816205775e-05f, 5.827971472e-05f, 5.839726066e-05f, 5.851469537e-05f, 5.863201865e-05f,
+5.874923032e-05f, 5.886633019e-05f, 5.898331805e-05f, 5.910019372e-05f, 5.921695700e-05f, 5.933360771e-05f, 5.945014564e-05f, 5.956657062e-05f, 5.968288243e-05f, 5.979908091e-05f,
+5.991516585e-05f, 6.003113706e-05f, 6.014699435e-05f, 6.026273753e-05f, 6.037836642e-05f, 6.049388082e-05f, 6.060928053e-05f, 6.072456538e-05f, 6.083973518e-05f, 6.095478972e-05f,
+6.106972883e-05f, 6.118455231e-05f, 6.129925998e-05f, 6.141385165e-05f, 6.152832713e-05f, 6.164268623e-05f, 6.175692876e-05f, 6.187105454e-05f, 6.198506338e-05f, 6.209895510e-05f,
+6.221272949e-05f, 6.232638639e-05f, 6.243992560e-05f, 6.255334693e-05f, 6.266665021e-05f, 6.277983524e-05f, 6.289290184e-05f, 6.300584982e-05f, 6.311867900e-05f, 6.323138920e-05f,
+6.334398022e-05f, 6.345645189e-05f, 6.356880402e-05f, 6.368103643e-05f, 6.379314893e-05f, 6.390514133e-05f, 6.401701347e-05f, 6.412876514e-05f, 6.424039618e-05f, 6.435190639e-05f,
+6.446329560e-05f, 6.457456362e-05f, 6.468571028e-05f, 6.479673538e-05f, 6.490763875e-05f, 6.501842020e-05f, 6.512907956e-05f, 6.523961664e-05f, 6.535003127e-05f, 6.546032326e-05f,
+6.557049244e-05f, 6.568053862e-05f, 6.579046162e-05f, 6.590026126e-05f, 6.600993737e-05f, 6.611948977e-05f, 6.622891827e-05f, 6.633822271e-05f, 6.644740289e-05f, 6.655645864e-05f,
+6.666538979e-05f, 6.677419616e-05f, 6.688287756e-05f, 6.699143383e-05f, 6.709986478e-05f, 6.720817025e-05f, 6.731635004e-05f, 6.742440399e-05f, 6.753233192e-05f, 6.764013365e-05f,
+6.774780901e-05f, 6.785535783e-05f, 6.796277992e-05f, 6.807007512e-05f, 6.817724325e-05f, 6.828428413e-05f, 6.839119759e-05f, 6.849798346e-05f, 6.860464156e-05f, 6.871117172e-05f,
+6.881757377e-05f, 6.892384753e-05f, 6.902999283e-05f, 6.913600950e-05f, 6.924189736e-05f, 6.934765625e-05f, 6.945328599e-05f, 6.955878641e-05f, 6.966415734e-05f, 6.976939861e-05f,
+6.987451005e-05f, 6.997949149e-05f, 7.008434275e-05f, 7.018906367e-05f, 7.029365407e-05f, 7.039811380e-05f, 7.050244267e-05f, 7.060664052e-05f, 7.071070717e-05f, 7.081464248e-05f,
+7.091844625e-05f, 7.102211833e-05f, 7.112565854e-05f, 7.122906673e-05f, 7.133234272e-05f, 7.143548634e-05f, 7.153849743e-05f, 7.164137582e-05f, 7.174412134e-05f, 7.184673384e-05f,
+7.194921313e-05f, 7.205155906e-05f, 7.215377147e-05f, 7.225585018e-05f, 7.235779503e-05f, 7.245960586e-05f, 7.256128250e-05f, 7.266282479e-05f, 7.276423256e-05f, 7.286550565e-05f,
+7.296664390e-05f, 7.306764714e-05f, 7.316851521e-05f, 7.326924795e-05f, 7.336984520e-05f, 7.347030678e-05f, 7.357063255e-05f, 7.367082234e-05f, 7.377087598e-05f, 7.387079332e-05f,
+7.397057420e-05f, 7.407021845e-05f, 7.416972592e-05f, 7.426909644e-05f, 7.436832985e-05f, 7.446742600e-05f, 7.456638472e-05f, 7.466520586e-05f, 7.476388925e-05f, 7.486243474e-05f,
+7.496084217e-05f, 7.505911138e-05f, 7.515724222e-05f, 7.525523452e-05f, 7.535308812e-05f, 7.545080288e-05f, 7.554837863e-05f, 7.564581522e-05f, 7.574311249e-05f, 7.584027028e-05f,
+7.593728844e-05f, 7.603416681e-05f, 7.613090525e-05f, 7.622750358e-05f, 7.632396166e-05f, 7.642027933e-05f, 7.651645644e-05f, 7.661249283e-05f, 7.670838836e-05f, 7.680414286e-05f,
+7.689975618e-05f, 7.699522817e-05f, 7.709055868e-05f, 7.718574755e-05f, 7.728079464e-05f, 7.737569978e-05f, 7.747046284e-05f, 7.756508364e-05f, 7.765956206e-05f, 7.775389793e-05f,
+7.784809110e-05f, 7.794214142e-05f, 7.803604875e-05f, 7.812981293e-05f, 7.822343381e-05f, 7.831691125e-05f, 7.841024509e-05f, 7.850343518e-05f, 7.859648138e-05f, 7.868938354e-05f,
+7.878214150e-05f, 7.887475513e-05f, 7.896722428e-05f, 7.905954879e-05f, 7.915172852e-05f, 7.924376332e-05f, 7.933565305e-05f, 7.942739755e-05f, 7.951899669e-05f, 7.961045032e-05f,
+7.970175830e-05f, 7.979292046e-05f, 7.988393668e-05f, 7.997480681e-05f, 8.006553070e-05f, 8.015610821e-05f, 8.024653919e-05f, 8.033682351e-05f, 8.042696101e-05f, 8.051695155e-05f,
+8.060679500e-05f, 8.069649121e-05f, 8.078604003e-05f, 8.087544132e-05f, 8.096469495e-05f, 8.105380077e-05f, 8.114275864e-05f, 8.123156842e-05f, 8.132022996e-05f, 8.140874314e-05f,
+8.149710780e-05f, 8.158532380e-05f, 8.167339102e-05f, 8.176130930e-05f, 8.184907851e-05f, 8.193669852e-05f, 8.202416917e-05f, 8.211149034e-05f, 8.219866188e-05f, 8.228568366e-05f,
+8.237255554e-05f, 8.245927738e-05f, 8.254584905e-05f, 8.263227040e-05f, 8.271854131e-05f, 8.280466164e-05f, 8.289063124e-05f, 8.297645000e-05f, 8.306211776e-05f, 8.314763439e-05f,
+8.323299977e-05f, 8.331821375e-05f, 8.340327620e-05f, 8.348818699e-05f, 8.357294598e-05f, 8.365755304e-05f, 8.374200804e-05f, 8.382631084e-05f, 8.391046131e-05f, 8.399445933e-05f,
+8.407830475e-05f, 8.416199744e-05f, 8.424553728e-05f, 8.432892413e-05f, 8.441215786e-05f, 8.449523835e-05f, 8.457816545e-05f, 8.466093904e-05f, 8.474355900e-05f, 8.482602519e-05f,
+8.490833747e-05f, 8.499049573e-05f, 8.507249984e-05f, 8.515434966e-05f, 8.523604507e-05f, 8.531758593e-05f, 8.539897213e-05f, 8.548020354e-05f, 8.556128002e-05f, 8.564220145e-05f,
+8.572296771e-05f, 8.580357866e-05f, 8.588403419e-05f, 8.596433416e-05f, 8.604447846e-05f, 8.612446695e-05f, 8.620429951e-05f, 8.628397602e-05f, 8.636349635e-05f, 8.644286038e-05f,
+8.652206798e-05f, 8.660111904e-05f, 8.668001342e-05f, 8.675875101e-05f, 8.683733168e-05f, 8.691575531e-05f, 8.699402179e-05f, 8.707213097e-05f, 8.715008276e-05f, 8.722787701e-05f,
+8.730551363e-05f, 8.738299247e-05f, 8.746031343e-05f, 8.753747638e-05f, 8.761448120e-05f, 8.769132777e-05f, 8.776801598e-05f, 8.784454571e-05f, 8.792091683e-05f, 8.799712923e-05f,
+8.807318279e-05f, 8.814907740e-05f, 8.822481293e-05f, 8.830038926e-05f, 8.837580629e-05f, 8.845106389e-05f, 8.852616196e-05f, 8.860110036e-05f, 8.867587899e-05f, 8.875049773e-05f,
+8.882495647e-05f, 8.889925509e-05f, 8.897339347e-05f, 8.904737151e-05f, 8.912118908e-05f, 8.919484608e-05f, 8.926834239e-05f, 8.934167790e-05f, 8.941485249e-05f, 8.948786606e-05f,
+8.956071848e-05f, 8.963340966e-05f, 8.970593947e-05f, 8.977830780e-05f, 8.985051455e-05f, 8.992255961e-05f, 8.999444285e-05f, 9.006616418e-05f, 9.013772348e-05f, 9.020912064e-05f,
+9.028035556e-05f, 9.035142812e-05f, 9.042233821e-05f, 9.049308573e-05f, 9.056367057e-05f, 9.063409262e-05f, 9.070435178e-05f, 9.077444793e-05f, 9.084438096e-05f, 9.091415078e-05f,
+9.098375728e-05f, 9.105320034e-05f, 9.112247987e-05f, 9.119159575e-05f, 9.126054789e-05f, 9.132933618e-05f, 9.139796050e-05f, 9.146642077e-05f, 9.153471687e-05f, 9.160284870e-05f,
+9.167081615e-05f, 9.173861913e-05f, 9.180625753e-05f, 9.187373125e-05f, 9.194104018e-05f, 9.200818423e-05f, 9.207516329e-05f, 9.214197725e-05f, 9.220862603e-05f, 9.227510952e-05f,
+9.234142761e-05f, 9.240758020e-05f, 9.247356721e-05f, 9.253938852e-05f, 9.260504404e-05f, 9.267053367e-05f, 9.273585731e-05f, 9.280101486e-05f, 9.286600622e-05f, 9.293083130e-05f,
+9.299549000e-05f, 9.305998221e-05f, 9.312430785e-05f, 9.318846681e-05f, 9.325245901e-05f, 9.331628434e-05f, 9.337994270e-05f, 9.344343401e-05f, 9.350675817e-05f, 9.356991507e-05f,
+9.363290464e-05f, 9.369572676e-05f, 9.375838136e-05f, 9.382086833e-05f, 9.388318758e-05f, 9.394533902e-05f, 9.400732255e-05f, 9.406913809e-05f, 9.413078554e-05f, 9.419226481e-05f,
+9.425357580e-05f, 9.431471843e-05f, 9.437569260e-05f, 9.443649823e-05f, 9.449713522e-05f, 9.455760348e-05f, 9.461790293e-05f, 9.467803346e-05f, 9.473799501e-05f, 9.479778746e-05f,
+9.485741075e-05f, 9.491686477e-05f, 9.497614944e-05f, 9.503526467e-05f, 9.509421038e-05f, 9.515298648e-05f, 9.521159287e-05f, 9.527002948e-05f, 9.532829622e-05f, 9.538639300e-05f,
+9.544431973e-05f, 9.550207634e-05f, 9.555966273e-05f, 9.561707882e-05f, 9.567432452e-05f, 9.573139976e-05f, 9.578830445e-05f, 9.584503850e-05f, 9.590160183e-05f, 9.595799436e-05f,
+9.601421601e-05f, 9.607026668e-05f, 9.612614632e-05f, 9.618185481e-05f, 9.623739210e-05f, 9.629275810e-05f, 9.634795272e-05f, 9.640297588e-05f, 9.645782751e-05f, 9.651250753e-05f,
+9.656701585e-05f, 9.662135240e-05f, 9.667551709e-05f, 9.672950986e-05f, 9.678333061e-05f, 9.683697927e-05f, 9.689045577e-05f, 9.694376003e-05f, 9.699689197e-05f, 9.704985150e-05f,
+9.710263857e-05f, 9.715525308e-05f, 9.720769497e-05f, 9.725996416e-05f, 9.731206056e-05f, 9.736398412e-05f, 9.741573475e-05f, 9.746731238e-05f, 9.751871693e-05f, 9.756994833e-05f,
+9.762100651e-05f, 9.767189139e-05f, 9.772260291e-05f, 9.777314098e-05f, 9.782350554e-05f, 9.787369651e-05f, 9.792371382e-05f, 9.797355741e-05f, 9.802322719e-05f, 9.807272311e-05f,
+9.812204508e-05f, 9.817119304e-05f, 9.822016692e-05f, 9.826896665e-05f, 9.831759215e-05f, 9.836604337e-05f, 9.841432023e-05f, 9.846242267e-05f, 9.851035061e-05f, 9.855810399e-05f,
+9.860568274e-05f, 9.865308679e-05f, 9.870031608e-05f, 9.874737054e-05f, 9.879425011e-05f, 9.884095471e-05f, 9.888748429e-05f, 9.893383877e-05f, 9.898001810e-05f, 9.902602221e-05f,
+9.907185102e-05f, 9.911750449e-05f, 9.916298255e-05f, 9.920828513e-05f, 9.925341217e-05f, 9.929836360e-05f, 9.934313937e-05f, 9.938773941e-05f, 9.943216367e-05f, 9.947641207e-05f,
+9.952048456e-05f, 9.956438107e-05f, 9.960810156e-05f, 9.965164595e-05f, 9.969501418e-05f, 9.973820621e-05f, 9.978122195e-05f, 9.982406137e-05f, 9.986672440e-05f, 9.990921098e-05f,
+9.995152105e-05f, 9.999365455e-05f, 1.000356114e-04f, 1.000773916e-04f, 1.001189951e-04f, 1.001604218e-04f, 1.002016716e-04f, 1.002427445e-04f, 1.002836405e-04f, 1.003243594e-04f,
+1.003649013e-04f, 1.004052660e-04f, 1.004454536e-04f, 1.004854639e-04f, 1.005252970e-04f, 1.005649527e-04f, 1.006044310e-04f, 1.006437319e-04f, 1.006828552e-04f, 1.007218010e-04f,
+1.007605692e-04f, 1.007991598e-04f, 1.008375726e-04f, 1.008758077e-04f, 1.009138650e-04f, 1.009517444e-04f, 1.009894459e-04f, 1.010269695e-04f, 1.010643150e-04f, 1.011014825e-04f,
+1.011384719e-04f, 1.011752831e-04f, 1.012119161e-04f, 1.012483709e-04f, 1.012846474e-04f, 1.013207455e-04f, 1.013566653e-04f, 1.013924066e-04f, 1.014279694e-04f, 1.014633537e-04f,
+1.014985594e-04f, 1.015335865e-04f, 1.015684349e-04f, 1.016031046e-04f, 1.016375956e-04f, 1.016719077e-04f, 1.017060410e-04f, 1.017399955e-04f, 1.017737710e-04f, 1.018073675e-04f,
+1.018407850e-04f, 1.018740234e-04f, 1.019070828e-04f, 1.019399630e-04f, 1.019726640e-04f, 1.020051859e-04f, 1.020375284e-04f, 1.020696916e-04f, 1.021016755e-04f, 1.021334801e-04f,
+1.021651051e-04f, 1.021965508e-04f, 1.022278169e-04f, 1.022589035e-04f, 1.022898105e-04f, 1.023205379e-04f, 1.023510857e-04f, 1.023814537e-04f, 1.024116420e-04f, 1.024416506e-04f,
+1.024714794e-04f, 1.025011283e-04f, 1.025305974e-04f, 1.025598865e-04f, 1.025889957e-04f, 1.026179250e-04f, 1.026466742e-04f, 1.026752434e-04f, 1.027036325e-04f, 1.027318415e-04f,
+1.027598703e-04f, 1.027877190e-04f, 1.028153875e-04f, 1.028428757e-04f, 1.028701837e-04f, 1.028973113e-04f, 1.029242586e-04f, 1.029510256e-04f, 1.029776121e-04f, 1.030040182e-04f,
+1.030302439e-04f, 1.030562891e-04f, 1.030821537e-04f, 1.031078378e-04f, 1.031333414e-04f, 1.031586643e-04f, 1.031838066e-04f, 1.032087683e-04f, 1.032335492e-04f, 1.032581495e-04f,
+1.032825690e-04f, 1.033068077e-04f, 1.033308657e-04f, 1.033547428e-04f, 1.033784391e-04f, 1.034019545e-04f, 1.034252890e-04f, 1.034484426e-04f, 1.034714153e-04f, 1.034942070e-04f,
+1.035168177e-04f, 1.035392474e-04f, 1.035614961e-04f, 1.035835637e-04f, 1.036054502e-04f, 1.036271556e-04f, 1.036486799e-04f, 1.036700230e-04f, 1.036911850e-04f, 1.037121658e-04f,
+1.037329654e-04f, 1.037535837e-04f, 1.037740208e-04f, 1.037942767e-04f, 1.038143512e-04f, 1.038342445e-04f, 1.038539564e-04f, 1.038734869e-04f, 1.038928362e-04f, 1.039120040e-04f,
+1.039309904e-04f, 1.039497954e-04f, 1.039684190e-04f, 1.039868612e-04f, 1.040051219e-04f, 1.040232011e-04f, 1.040410988e-04f, 1.040588150e-04f, 1.040763497e-04f, 1.040937028e-04f,
+1.041108744e-04f, 1.041278644e-04f, 1.041446728e-04f, 1.041612997e-04f, 1.041777449e-04f, 1.041940086e-04f, 1.042100906e-04f, 1.042259909e-04f, 1.042417096e-04f, 1.042572467e-04f,
+1.042726020e-04f, 1.042877757e-04f, 1.043027677e-04f, 1.043175779e-04f, 1.043322065e-04f, 1.043466533e-04f, 1.043609184e-04f, 1.043750017e-04f, 1.043889033e-04f, 1.044026231e-04f,
+1.044161612e-04f, 1.044295175e-04f, 1.044426920e-04f, 1.044556847e-04f, 1.044684956e-04f, 1.044811247e-04f, 1.044935720e-04f, 1.045058375e-04f, 1.045179211e-04f, 1.045298230e-04f,
+1.045415430e-04f, 1.045530811e-04f, 1.045644375e-04f, 1.045756119e-04f, 1.045866046e-04f, 1.045974154e-04f, 1.046080443e-04f, 1.046184914e-04f, 1.046287566e-04f, 1.046388400e-04f,
+1.046487415e-04f, 1.046584612e-04f, 1.046679989e-04f, 1.046773549e-04f, 1.046865289e-04f, 1.046955211e-04f, 1.047043315e-04f, 1.047129599e-04f, 1.047214065e-04f, 1.047296713e-04f,
+1.047377542e-04f, 1.047456552e-04f, 1.047533744e-04f, 1.047609117e-04f, 1.047682672e-04f, 1.047754409e-04f, 1.047824327e-04f, 1.047892426e-04f, 1.047958707e-04f, 1.048023170e-04f,
+1.048085815e-04f, 1.048146641e-04f, 1.048205650e-04f, 1.048262840e-04f, 1.048318212e-04f, 1.048371766e-04f, 1.048423503e-04f, 1.048473421e-04f, 1.048521522e-04f, 1.048567805e-04f,
+1.048612271e-04f, 1.048654918e-04f, 1.048695749e-04f, 1.048734762e-04f, 1.048771958e-04f, 1.048807337e-04f, 1.048840898e-04f, 1.048872643e-04f, 1.048902571e-04f, 1.048930682e-04f,
+1.048956976e-04f, 1.048981454e-04f, 1.049004116e-04f, 1.049024961e-04f, 1.049043990e-04f, 1.049061203e-04f, 1.049076600e-04f, 1.049090181e-04f, 1.049101947e-04f, 1.049111897e-04f,
+1.049120032e-04f, 1.049126351e-04f, 1.049130856e-04f, 1.049133545e-04f, 1.049134420e-04f, 1.049133480e-04f, 1.049130726e-04f, 1.049126157e-04f, 1.049119775e-04f, 1.049111578e-04f,
+1.049101568e-04f, 1.049089743e-04f, 1.049076106e-04f, 1.049060655e-04f, 1.049043391e-04f, 1.049024315e-04f, 1.049003425e-04f, 1.048980723e-04f, 1.048956209e-04f, 1.048929883e-04f,
+1.048901745e-04f, 1.048871795e-04f, 1.048840034e-04f, 1.048806461e-04f, 1.048771078e-04f, 1.048733884e-04f, 1.048694879e-04f, 1.048654063e-04f, 1.048611438e-04f, 1.048567002e-04f,
+1.048520757e-04f, 1.048472703e-04f, 1.048422839e-04f, 1.048371167e-04f, 1.048317685e-04f, 1.048262395e-04f, 1.048205298e-04f, 1.048146392e-04f, 1.048085678e-04f, 1.048023157e-04f,
+1.047958829e-04f, 1.047892694e-04f, 1.047824752e-04f, 1.047755004e-04f, 1.047683450e-04f, 1.047610090e-04f, 1.047534925e-04f, 1.047457955e-04f, 1.047379179e-04f, 1.047298599e-04f,
+1.047216215e-04f, 1.047132027e-04f, 1.047046034e-04f, 1.046958239e-04f, 1.046868640e-04f, 1.046777239e-04f, 1.046684035e-04f, 1.046589029e-04f, 1.046492221e-04f, 1.046393612e-04f,
+1.046293202e-04f, 1.046190990e-04f, 1.046086979e-04f, 1.045981166e-04f, 1.045873555e-04f, 1.045764143e-04f, 1.045652933e-04f, 1.045539924e-04f, 1.045425116e-04f, 1.045308510e-04f,
+1.045190107e-04f, 1.045069906e-04f, 1.044947908e-04f, 1.044824113e-04f, 1.044698523e-04f, 1.044571136e-04f, 1.044441954e-04f, 1.044310977e-04f, 1.044178205e-04f, 1.044043638e-04f,
+1.043907278e-04f, 1.043769124e-04f, 1.043629177e-04f, 1.043487437e-04f, 1.043343905e-04f, 1.043198581e-04f, 1.043051465e-04f, 1.042902558e-04f, 1.042751860e-04f, 1.042599372e-04f,
+1.042445094e-04f, 1.042289027e-04f, 1.042131171e-04f, 1.041971526e-04f, 1.041810093e-04f, 1.041646872e-04f, 1.041481863e-04f, 1.041315068e-04f, 1.041146487e-04f, 1.040976119e-04f,
+1.040803966e-04f, 1.040630028e-04f, 1.040454305e-04f, 1.040276798e-04f, 1.040097508e-04f, 1.039916434e-04f, 1.039733577e-04f, 1.039548938e-04f, 1.039362518e-04f, 1.039174316e-04f,
+1.038984333e-04f, 1.038792570e-04f, 1.038599027e-04f, 1.038403704e-04f, 1.038206603e-04f, 1.038007723e-04f, 1.037807065e-04f, 1.037604630e-04f, 1.037400418e-04f, 1.037194430e-04f,
+1.036986666e-04f, 1.036777126e-04f, 1.036565812e-04f, 1.036352723e-04f, 1.036137861e-04f, 1.035921225e-04f, 1.035702817e-04f, 1.035482636e-04f, 1.035260684e-04f, 1.035036960e-04f,
+1.034811466e-04f, 1.034584202e-04f, 1.034355168e-04f, 1.034124366e-04f, 1.033891795e-04f, 1.033657456e-04f, 1.033421350e-04f, 1.033183478e-04f, 1.032943839e-04f, 1.032702434e-04f,
+1.032459265e-04f, 1.032214331e-04f, 1.031967633e-04f, 1.031719172e-04f, 1.031468949e-04f, 1.031216963e-04f, 1.030963216e-04f, 1.030707708e-04f, 1.030450439e-04f, 1.030191411e-04f,
+1.029930624e-04f, 1.029668078e-04f, 1.029403774e-04f, 1.029137714e-04f, 1.028869896e-04f, 1.028600322e-04f, 1.028328993e-04f, 1.028055909e-04f, 1.027781071e-04f, 1.027504479e-04f,
+1.027226135e-04f, 1.026946038e-04f, 1.026664189e-04f, 1.026380590e-04f, 1.026095240e-04f, 1.025808140e-04f, 1.025519292e-04f, 1.025228695e-04f, 1.024936350e-04f, 1.024642258e-04f,
+1.024346419e-04f, 1.024048835e-04f, 1.023749506e-04f, 1.023448432e-04f, 1.023145614e-04f, 1.022841054e-04f, 1.022534751e-04f, 1.022226706e-04f, 1.021916920e-04f, 1.021605394e-04f,
+1.021292128e-04f, 1.020977124e-04f, 1.020660380e-04f, 1.020341900e-04f, 1.020021682e-04f, 1.019699729e-04f, 1.019376040e-04f, 1.019050616e-04f, 1.018723458e-04f, 1.018394567e-04f,
+1.018063943e-04f, 1.017731587e-04f, 1.017397501e-04f, 1.017061683e-04f, 1.016724137e-04f, 1.016384861e-04f, 1.016043857e-04f, 1.015701125e-04f, 1.015356667e-04f, 1.015010483e-04f,
+1.014662574e-04f, 1.014312940e-04f, 1.013961583e-04f, 1.013608502e-04f, 1.013253699e-04f, 1.012897175e-04f, 1.012538931e-04f, 1.012178966e-04f, 1.011817282e-04f, 1.011453880e-04f,
+1.011088761e-04f, 1.010721924e-04f, 1.010353372e-04f, 1.009983104e-04f, 1.009611122e-04f, 1.009237426e-04f, 1.008862018e-04f, 1.008484898e-04f, 1.008106066e-04f, 1.007725524e-04f,
+1.007343272e-04f, 1.006959311e-04f, 1.006573643e-04f, 1.006186267e-04f, 1.005797185e-04f, 1.005406398e-04f, 1.005013906e-04f, 1.004619709e-04f, 1.004223810e-04f, 1.003826209e-04f,
+1.003426906e-04f, 1.003025903e-04f, 1.002623200e-04f, 1.002218798e-04f, 1.001812699e-04f, 1.001404902e-04f, 1.000995408e-04f, 1.000584220e-04f, 1.000171337e-04f, 9.997567598e-05f,
+9.993404901e-05f, 9.989225284e-05f, 9.985028756e-05f, 9.980815326e-05f, 9.976585002e-05f, 9.972337794e-05f, 9.968073709e-05f, 9.963792758e-05f, 9.959494949e-05f, 9.955180290e-05f,
+9.950848791e-05f, 9.946500461e-05f, 9.942135308e-05f, 9.937753342e-05f, 9.933354572e-05f, 9.928939007e-05f, 9.924506656e-05f, 9.920057527e-05f, 9.915591631e-05f, 9.911108977e-05f,
+9.906609573e-05f, 9.902093429e-05f, 9.897560554e-05f, 9.893010958e-05f, 9.888444650e-05f, 9.883861639e-05f, 9.879261934e-05f, 9.874645546e-05f, 9.870012483e-05f, 9.865362755e-05f,
+9.860696371e-05f, 9.856013342e-05f, 9.851313676e-05f, 9.846597383e-05f, 9.841864473e-05f, 9.837114955e-05f, 9.832348839e-05f, 9.827566135e-05f, 9.822766853e-05f, 9.817951002e-05f,
+9.813118591e-05f, 9.808269632e-05f, 9.803404133e-05f, 9.798522105e-05f, 9.793623558e-05f, 9.788708500e-05f, 9.783776943e-05f, 9.778828897e-05f, 9.773864370e-05f, 9.768883374e-05f,
+9.763885919e-05f, 9.758872013e-05f, 9.753841669e-05f, 9.748794895e-05f, 9.743731702e-05f, 9.738652100e-05f, 9.733556099e-05f, 9.728443710e-05f, 9.723314943e-05f, 9.718169808e-05f,
+9.713008316e-05f, 9.707830476e-05f, 9.702636300e-05f, 9.697425798e-05f, 9.692198979e-05f, 9.686955855e-05f, 9.681696436e-05f, 9.676420733e-05f, 9.671128756e-05f, 9.665820516e-05f,
+9.660496023e-05f, 9.655155288e-05f, 9.649798322e-05f, 9.644425135e-05f, 9.639035738e-05f, 9.633630142e-05f, 9.628208358e-05f, 9.622770396e-05f, 9.617316267e-05f, 9.611845982e-05f,
+9.606359552e-05f, 9.600856988e-05f, 9.595338301e-05f, 9.589803501e-05f, 9.584252601e-05f, 9.578685610e-05f, 9.573102540e-05f, 9.567503401e-05f, 9.561888206e-05f, 9.556256964e-05f,
+9.550609688e-05f, 9.544946389e-05f, 9.539267076e-05f, 9.533571763e-05f, 9.527860460e-05f, 9.522133178e-05f, 9.516389929e-05f, 9.510630724e-05f, 9.504855574e-05f, 9.499064491e-05f,
+9.493257486e-05f, 9.487434571e-05f, 9.481595756e-05f, 9.475741055e-05f, 9.469870477e-05f, 9.463984035e-05f, 9.458081741e-05f, 9.452163605e-05f, 9.446229639e-05f, 9.440279856e-05f,
+9.434314267e-05f, 9.428332883e-05f, 9.422335716e-05f, 9.416322778e-05f, 9.410294081e-05f, 9.404249636e-05f, 9.398189456e-05f, 9.392113552e-05f, 9.386021937e-05f, 9.379914621e-05f,
+9.373791618e-05f, 9.367652938e-05f, 9.361498595e-05f, 9.355328599e-05f, 9.349142964e-05f, 9.342941700e-05f, 9.336724821e-05f, 9.330492338e-05f, 9.324244264e-05f, 9.317980610e-05f,
+9.311701390e-05f, 9.305406614e-05f, 9.299096296e-05f, 9.292770447e-05f, 9.286429080e-05f, 9.280072208e-05f, 9.273699842e-05f, 9.267311996e-05f, 9.260908680e-05f, 9.254489909e-05f,
+9.248055694e-05f, 9.241606047e-05f, 9.235140982e-05f, 9.228660511e-05f, 9.222164646e-05f, 9.215653400e-05f, 9.209126786e-05f, 9.202584816e-05f, 9.196027503e-05f, 9.189454860e-05f,
+9.182866899e-05f, 9.176263633e-05f, 9.169645075e-05f, 9.163011237e-05f, 9.156362133e-05f, 9.149697775e-05f, 9.143018177e-05f, 9.136323350e-05f, 9.129613308e-05f, 9.122888064e-05f,
+9.116147631e-05f, 9.109392022e-05f, 9.102621250e-05f, 9.095835328e-05f, 9.089034269e-05f, 9.082218085e-05f, 9.075386791e-05f, 9.068540400e-05f, 9.061678924e-05f, 9.054802376e-05f,
+9.047910771e-05f, 9.041004120e-05f, 9.034082439e-05f, 9.027145738e-05f, 9.020194033e-05f, 9.013227337e-05f, 9.006245662e-05f, 8.999249022e-05f, 8.992237431e-05f, 8.985210901e-05f,
+8.978169448e-05f, 8.971113083e-05f, 8.964041820e-05f, 8.956955674e-05f, 8.949854657e-05f, 8.942738784e-05f, 8.935608067e-05f, 8.928462521e-05f, 8.921302159e-05f, 8.914126994e-05f,
+8.906937041e-05f, 8.899732313e-05f, 8.892512825e-05f, 8.885278589e-05f, 8.878029619e-05f, 8.870765930e-05f, 8.863487536e-05f, 8.856194449e-05f, 8.848886685e-05f, 8.841564256e-05f,
+8.834227178e-05f, 8.826875463e-05f, 8.819509126e-05f, 8.812128181e-05f, 8.804732643e-05f, 8.797322524e-05f, 8.789897840e-05f, 8.782458603e-05f, 8.775004830e-05f, 8.767536532e-05f,
+8.760053726e-05f, 8.752556425e-05f, 8.745044643e-05f, 8.737518394e-05f, 8.729977694e-05f, 8.722422555e-05f, 8.714852993e-05f, 8.707269022e-05f, 8.699670656e-05f, 8.692057909e-05f,
+8.684430797e-05f, 8.676789333e-05f, 8.669133533e-05f, 8.661463409e-05f, 8.653778978e-05f, 8.646080253e-05f, 8.638367250e-05f, 8.630639982e-05f, 8.622898465e-05f, 8.615142712e-05f,
+8.607372739e-05f, 8.599588561e-05f, 8.591790192e-05f, 8.583977646e-05f, 8.576150940e-05f, 8.568310086e-05f, 8.560455101e-05f, 8.552585998e-05f, 8.544702794e-05f, 8.536805502e-05f,
+8.528894138e-05f, 8.520968716e-05f, 8.513029252e-05f, 8.505075760e-05f, 8.497108256e-05f, 8.489126754e-05f, 8.481131270e-05f, 8.473121818e-05f, 8.465098414e-05f, 8.457061073e-05f,
+8.449009810e-05f, 8.440944639e-05f, 8.432865577e-05f, 8.424772638e-05f, 8.416665838e-05f, 8.408545192e-05f, 8.400410714e-05f, 8.392262422e-05f, 8.384100328e-05f, 8.375924450e-05f,
+8.367734803e-05f, 8.359531401e-05f, 8.351314260e-05f, 8.343083396e-05f, 8.334838824e-05f, 8.326580559e-05f, 8.318308618e-05f, 8.310023015e-05f, 8.301723766e-05f, 8.293410886e-05f,
+8.285084392e-05f, 8.276744299e-05f, 8.268390622e-05f, 8.260023377e-05f, 8.251642579e-05f, 8.243248245e-05f, 8.234840391e-05f, 8.226419031e-05f, 8.217984181e-05f, 8.209535858e-05f,
+8.201074078e-05f, 8.192598855e-05f, 8.184110206e-05f, 8.175608147e-05f, 8.167092693e-05f, 8.158563861e-05f, 8.150021666e-05f, 8.141466125e-05f, 8.132897253e-05f, 8.124315066e-05f,
+8.115719581e-05f, 8.107110813e-05f, 8.098488778e-05f, 8.089853493e-05f, 8.081204974e-05f, 8.072543236e-05f, 8.063868297e-05f, 8.055180171e-05f, 8.046478876e-05f, 8.037764427e-05f,
+8.029036841e-05f, 8.020296134e-05f, 8.011542322e-05f, 8.002775422e-05f, 7.993995449e-05f, 7.985202421e-05f, 7.976396353e-05f, 7.967577262e-05f, 7.958745165e-05f, 7.949900077e-05f,
+7.941042015e-05f, 7.932170996e-05f, 7.923287036e-05f, 7.914390152e-05f, 7.905480360e-05f, 7.896557677e-05f, 7.887622119e-05f, 7.878673703e-05f, 7.869712445e-05f, 7.860738362e-05f,
+7.851751471e-05f, 7.842751789e-05f, 7.833739332e-05f, 7.824714117e-05f, 7.815676160e-05f, 7.806625478e-05f, 7.797562089e-05f, 7.788486008e-05f, 7.779397254e-05f, 7.770295842e-05f,
+7.761181789e-05f, 7.752055112e-05f, 7.742915829e-05f, 7.733763956e-05f, 7.724599510e-05f, 7.715422508e-05f, 7.706232967e-05f, 7.697030904e-05f, 7.687816335e-05f, 7.678589279e-05f,
+7.669349752e-05f, 7.660097772e-05f, 7.650833354e-05f, 7.641556517e-05f, 7.632267278e-05f, 7.622965653e-05f, 7.613651660e-05f, 7.604325316e-05f, 7.594986639e-05f, 7.585635645e-05f,
+7.576272351e-05f, 7.566896776e-05f, 7.557508937e-05f, 7.548108850e-05f, 7.538696533e-05f, 7.529272003e-05f, 7.519835278e-05f, 7.510386376e-05f, 7.500925313e-05f, 7.491452107e-05f,
+7.481966775e-05f, 7.472469336e-05f, 7.462959806e-05f, 7.453438202e-05f, 7.443904544e-05f, 7.434358847e-05f, 7.424801130e-05f, 7.415231411e-05f, 7.405649706e-05f, 7.396056033e-05f,
+7.386450411e-05f, 7.376832856e-05f, 7.367203387e-05f, 7.357562021e-05f, 7.347908776e-05f, 7.338243670e-05f, 7.328566720e-05f, 7.318877944e-05f, 7.309177360e-05f, 7.299464986e-05f,
+7.289740840e-05f, 7.280004939e-05f, 7.270257301e-05f, 7.260497945e-05f, 7.250726888e-05f, 7.240944148e-05f, 7.231149743e-05f, 7.221343691e-05f, 7.211526010e-05f, 7.201696718e-05f,
+7.191855834e-05f, 7.182003374e-05f, 7.172139358e-05f, 7.162263802e-05f, 7.152376726e-05f, 7.142478148e-05f, 7.132568085e-05f, 7.122646556e-05f, 7.112713579e-05f, 7.102769172e-05f,
+7.092813353e-05f, 7.082846141e-05f, 7.072867553e-05f, 7.062877609e-05f, 7.052876326e-05f, 7.042863723e-05f, 7.032839817e-05f, 7.022804628e-05f, 7.012758174e-05f, 7.002700472e-05f,
+6.992631542e-05f, 6.982551402e-05f, 6.972460070e-05f, 6.962357564e-05f, 6.952243904e-05f, 6.942119107e-05f, 6.931983193e-05f, 6.921836179e-05f, 6.911678084e-05f, 6.901508927e-05f,
+6.891328726e-05f, 6.881137500e-05f, 6.870935268e-05f, 6.860722047e-05f, 6.850497858e-05f, 6.840262717e-05f, 6.830016645e-05f, 6.819759659e-05f, 6.809491779e-05f, 6.799213023e-05f,
+6.788923409e-05f, 6.778622958e-05f, 6.768311687e-05f, 6.757989615e-05f, 6.747656761e-05f, 6.737313143e-05f, 6.726958782e-05f, 6.716593695e-05f, 6.706217901e-05f, 6.695831420e-05f,
+6.685434270e-05f, 6.675026470e-05f, 6.664608039e-05f, 6.654178996e-05f, 6.643739360e-05f, 6.633289150e-05f, 6.622828385e-05f, 6.612357084e-05f, 6.601875266e-05f, 6.591382950e-05f,
+6.580880156e-05f, 6.570366901e-05f, 6.559843206e-05f, 6.549309090e-05f, 6.538764571e-05f, 6.528209670e-05f, 6.517644404e-05f, 6.507068793e-05f, 6.496482857e-05f, 6.485886614e-05f,
+6.475280084e-05f, 6.464663287e-05f, 6.454036240e-05f, 6.443398965e-05f, 6.432751479e-05f, 6.422093803e-05f, 6.411425955e-05f, 6.400747955e-05f, 6.390059823e-05f, 6.379361577e-05f,
+6.368653237e-05f, 6.357934823e-05f, 6.347206354e-05f, 6.336467849e-05f, 6.325719328e-05f, 6.314960811e-05f, 6.304192316e-05f, 6.293413864e-05f, 6.282625473e-05f, 6.271827164e-05f,
+6.261018956e-05f, 6.250200868e-05f, 6.239372920e-05f, 6.228535133e-05f, 6.217687524e-05f, 6.206830115e-05f, 6.195962924e-05f, 6.185085971e-05f, 6.174199276e-05f, 6.163302859e-05f,
+6.152396739e-05f, 6.141480936e-05f, 6.130555470e-05f, 6.119620361e-05f, 6.108675628e-05f, 6.097721291e-05f, 6.086757370e-05f, 6.075783884e-05f, 6.064800855e-05f, 6.053808300e-05f,
+6.042806241e-05f, 6.031794696e-05f, 6.020773687e-05f, 6.009743233e-05f, 5.998703353e-05f, 5.987654068e-05f, 5.976595398e-05f, 5.965527363e-05f, 5.954449982e-05f, 5.943363275e-05f,
+5.932267263e-05f, 5.921161966e-05f, 5.910047404e-05f, 5.898923596e-05f, 5.887790562e-05f, 5.876648324e-05f, 5.865496900e-05f, 5.854336312e-05f, 5.843166578e-05f, 5.831987720e-05f,
+5.820799757e-05f, 5.809602710e-05f, 5.798396598e-05f, 5.787181443e-05f, 5.775957263e-05f, 5.764724080e-05f, 5.753481913e-05f, 5.742230783e-05f, 5.730970710e-05f, 5.719701714e-05f,
+5.708423816e-05f, 5.697137035e-05f, 5.685841393e-05f, 5.674536909e-05f, 5.663223604e-05f, 5.651901499e-05f, 5.640570613e-05f, 5.629230966e-05f, 5.617882580e-05f, 5.606525475e-05f,
+5.595159671e-05f, 5.583785188e-05f, 5.572402048e-05f, 5.561010269e-05f, 5.549609874e-05f, 5.538200882e-05f, 5.526783314e-05f, 5.515357191e-05f, 5.503922532e-05f, 5.492479359e-05f,
+5.481027691e-05f, 5.469567551e-05f, 5.458098957e-05f, 5.446621931e-05f, 5.435136494e-05f, 5.423642665e-05f, 5.412140466e-05f, 5.400629917e-05f, 5.389111039e-05f, 5.377583853e-05f,
+5.366048378e-05f, 5.354504637e-05f, 5.342952649e-05f, 5.331392435e-05f, 5.319824016e-05f, 5.308247413e-05f, 5.296662647e-05f, 5.285069737e-05f, 5.273468706e-05f, 5.261859574e-05f,
+5.250242361e-05f, 5.238617088e-05f, 5.226983777e-05f, 5.215342448e-05f, 5.203693121e-05f, 5.192035819e-05f, 5.180370561e-05f, 5.168697368e-05f, 5.157016262e-05f, 5.145327263e-05f,
+5.133630393e-05f, 5.121925672e-05f, 5.110213120e-05f, 5.098492760e-05f, 5.086764612e-05f, 5.075028697e-05f, 5.063285035e-05f, 5.051533649e-05f, 5.039774559e-05f, 5.028007786e-05f,
+5.016233350e-05f, 5.004451274e-05f, 4.992661578e-05f, 4.980864283e-05f, 4.969059411e-05f, 4.957246982e-05f, 4.945427017e-05f, 4.933599538e-05f, 4.921764566e-05f, 4.909922121e-05f,
+4.898072226e-05f, 4.886214901e-05f, 4.874350167e-05f, 4.862478045e-05f, 4.850598558e-05f, 4.838711725e-05f, 4.826817568e-05f, 4.814916108e-05f, 4.803007368e-05f, 4.791091367e-05f,
+4.779168127e-05f, 4.767237669e-05f, 4.755300015e-05f, 4.743355186e-05f, 4.731403203e-05f, 4.719444087e-05f, 4.707477861e-05f, 4.695504544e-05f, 4.683524159e-05f, 4.671536727e-05f,
+4.659542269e-05f, 4.647540806e-05f, 4.635532361e-05f, 4.623516954e-05f, 4.611494606e-05f, 4.599465340e-05f, 4.587429176e-05f, 4.575386136e-05f, 4.563336242e-05f, 4.551279514e-05f,
+4.539215975e-05f, 4.527145646e-05f, 4.515068548e-05f, 4.502984703e-05f, 4.490894132e-05f, 4.478796857e-05f, 4.466692899e-05f, 4.454582280e-05f, 4.442465022e-05f, 4.430341145e-05f,
+4.418210672e-05f, 4.406073624e-05f, 4.393930022e-05f, 4.381779889e-05f, 4.369623246e-05f, 4.357460114e-05f, 4.345290515e-05f, 4.333114471e-05f, 4.320932003e-05f, 4.308743133e-05f,
+4.296547882e-05f, 4.284346273e-05f, 4.272138327e-05f, 4.259924065e-05f, 4.247703510e-05f, 4.235476683e-05f, 4.223243605e-05f, 4.211004299e-05f, 4.198758785e-05f, 4.186507087e-05f,
+4.174249226e-05f, 4.161985222e-05f, 4.149715099e-05f, 4.137438878e-05f, 4.125156580e-05f, 4.112868228e-05f, 4.100573843e-05f, 4.088273447e-05f, 4.075967062e-05f, 4.063654709e-05f,
+4.051336411e-05f, 4.039012190e-05f, 4.026682066e-05f, 4.014346063e-05f, 4.002004201e-05f, 3.989656503e-05f, 3.977302991e-05f, 3.964943686e-05f, 3.952578611e-05f, 3.940207787e-05f,
+3.927831237e-05f, 3.915448981e-05f, 3.903061042e-05f, 3.890667443e-05f, 3.878268204e-05f, 3.865863349e-05f, 3.853452898e-05f, 3.841036874e-05f, 3.828615298e-05f, 3.816188194e-05f,
+3.803755582e-05f, 3.791317485e-05f, 3.778873924e-05f, 3.766424923e-05f, 3.753970502e-05f, 3.741510684e-05f, 3.729045491e-05f, 3.716574944e-05f, 3.704099067e-05f, 3.691617880e-05f,
+3.679131407e-05f, 3.666639668e-05f, 3.654142687e-05f, 3.641640485e-05f, 3.629133085e-05f, 3.616620507e-05f, 3.604102776e-05f, 3.591579912e-05f, 3.579051938e-05f, 3.566518875e-05f,
+3.553980747e-05f, 3.541437575e-05f, 3.528889381e-05f, 3.516336188e-05f, 3.503778017e-05f, 3.491214891e-05f, 3.478646832e-05f, 3.466073862e-05f, 3.453496004e-05f, 3.440913279e-05f,
+3.428325710e-05f, 3.415733318e-05f, 3.403136127e-05f, 3.390534158e-05f, 3.377927434e-05f, 3.365315976e-05f, 3.352699808e-05f, 3.340078951e-05f, 3.327453427e-05f, 3.314823259e-05f,
+3.302188469e-05f, 3.289549080e-05f, 3.276905113e-05f, 3.264256591e-05f, 3.251603536e-05f, 3.238945970e-05f, 3.226283917e-05f, 3.213617397e-05f, 3.200946434e-05f, 3.188271049e-05f,
+3.175591265e-05f, 3.162907105e-05f, 3.150218590e-05f, 3.137525743e-05f, 3.124828587e-05f, 3.112127143e-05f, 3.099421434e-05f, 3.086711482e-05f, 3.073997311e-05f, 3.061278941e-05f,
+3.048556396e-05f, 3.035829698e-05f, 3.023098869e-05f, 3.010363931e-05f, 2.997624908e-05f, 2.984881821e-05f, 2.972134693e-05f, 2.959383546e-05f, 2.946628403e-05f, 2.933869286e-05f,
+2.921106217e-05f, 2.908339219e-05f, 2.895568315e-05f, 2.882793526e-05f, 2.870014876e-05f, 2.857232386e-05f, 2.844446080e-05f, 2.831655979e-05f, 2.818862106e-05f, 2.806064484e-05f,
+2.793263135e-05f, 2.780458081e-05f, 2.767649346e-05f, 2.754836950e-05f, 2.742020918e-05f, 2.729201271e-05f, 2.716378032e-05f, 2.703551224e-05f, 2.690720868e-05f, 2.677886988e-05f,
+2.665049606e-05f, 2.652208744e-05f, 2.639364426e-05f, 2.626516672e-05f, 2.613665507e-05f, 2.600810953e-05f, 2.587953032e-05f, 2.575091766e-05f, 2.562227179e-05f, 2.549359292e-05f,
+2.536488129e-05f, 2.523613712e-05f, 2.510736063e-05f, 2.497855205e-05f, 2.484971161e-05f, 2.472083953e-05f, 2.459193604e-05f, 2.446300136e-05f, 2.433403571e-05f, 2.420503934e-05f,
+2.407601245e-05f, 2.394695528e-05f, 2.381786806e-05f, 2.368875100e-05f, 2.355960434e-05f, 2.343042830e-05f, 2.330122310e-05f, 2.317198898e-05f, 2.304272615e-05f, 2.291343486e-05f,
+2.278411531e-05f, 2.265476774e-05f, 2.252539237e-05f, 2.239598944e-05f, 2.226655916e-05f, 2.213710176e-05f, 2.200761748e-05f, 2.187810653e-05f, 2.174856914e-05f, 2.161900554e-05f,
+2.148941595e-05f, 2.135980061e-05f, 2.123015973e-05f, 2.110049355e-05f, 2.097080229e-05f, 2.084108617e-05f, 2.071134544e-05f, 2.058158030e-05f, 2.045179099e-05f, 2.032197773e-05f,
+2.019214076e-05f, 2.006228029e-05f, 1.993239656e-05f, 1.980248979e-05f, 1.967256020e-05f, 1.954260803e-05f, 1.941263351e-05f, 1.928263685e-05f, 1.915261829e-05f, 1.902257804e-05f,
+1.889251635e-05f, 1.876243344e-05f, 1.863232953e-05f, 1.850220484e-05f, 1.837205962e-05f, 1.824189408e-05f, 1.811170844e-05f, 1.798150295e-05f, 1.785127782e-05f, 1.772103329e-05f,
+1.759076957e-05f, 1.746048690e-05f, 1.733018550e-05f, 1.719986560e-05f, 1.706952743e-05f, 1.693917122e-05f, 1.680879719e-05f, 1.667840556e-05f, 1.654799657e-05f, 1.641757044e-05f,
+1.628712741e-05f, 1.615666769e-05f, 1.602619152e-05f, 1.589569911e-05f, 1.576519071e-05f, 1.563466653e-05f, 1.550412681e-05f, 1.537357177e-05f, 1.524300163e-05f, 1.511241663e-05f,
+1.498181700e-05f, 1.485120295e-05f, 1.472057472e-05f, 1.458993253e-05f, 1.445927661e-05f, 1.432860720e-05f, 1.419792451e-05f, 1.406722877e-05f, 1.393652021e-05f, 1.380579906e-05f,
+1.367506555e-05f, 1.354431989e-05f, 1.341356233e-05f, 1.328279308e-05f, 1.315201238e-05f, 1.302122045e-05f, 1.289041752e-05f, 1.275960381e-05f, 1.262877956e-05f, 1.249794499e-05f,
+1.236710033e-05f, 1.223624580e-05f, 1.210538163e-05f, 1.197450805e-05f, 1.184362529e-05f, 1.171273358e-05f, 1.158183313e-05f, 1.145092419e-05f, 1.132000697e-05f, 1.118908170e-05f,
+1.105814861e-05f, 1.092720793e-05f, 1.079625989e-05f, 1.066530471e-05f, 1.053434261e-05f, 1.040337384e-05f, 1.027239860e-05f, 1.014141714e-05f, 1.001042968e-05f, 9.879436437e-06f,
+9.748437650e-06f, 9.617433542e-06f, 9.486424341e-06f, 9.355410273e-06f, 9.224391567e-06f, 9.093368447e-06f, 8.962341143e-06f, 8.831309881e-06f, 8.700274888e-06f, 8.569236391e-06f,
+8.438194617e-06f, 8.307149793e-06f, 8.176102147e-06f, 8.045051904e-06f, 7.913999292e-06f, 7.782944539e-06f, 7.651887870e-06f, 7.520829513e-06f, 7.389769695e-06f, 7.258708643e-06f,
+7.127646583e-06f, 6.996583743e-06f, 6.865520349e-06f, 6.734456627e-06f, 6.603392806e-06f, 6.472329111e-06f, 6.341265770e-06f, 6.210203008e-06f, 6.079141054e-06f, 5.948080132e-06f,
+5.817020471e-06f, 5.685962297e-06f, 5.554905836e-06f, 5.423851315e-06f, 5.292798960e-06f, 5.161748999e-06f, 5.030701657e-06f, 4.899657162e-06f, 4.768615739e-06f, 4.637577615e-06f,
+4.506543017e-06f, 4.375512170e-06f, 4.244485302e-06f, 4.113462639e-06f, 3.982444406e-06f, 3.851430831e-06f, 3.720422139e-06f, 3.589418557e-06f, 3.458420311e-06f, 3.327427627e-06f,
+3.196440731e-06f, 3.065459850e-06f, 2.934485209e-06f, 2.803517035e-06f, 2.672555554e-06f, 2.541600990e-06f, 2.410653572e-06f, 2.279713524e-06f, 2.148781072e-06f, 2.017856443e-06f,
+1.886939861e-06f, 1.756031554e-06f, 1.625131746e-06f, 1.494240664e-06f, 1.363358532e-06f, 1.232485577e-06f, 1.101622025e-06f, 9.707681006e-07f, 8.399240296e-07f, 7.090900377e-07f,
+5.782663502e-07f, 4.474531926e-07f, 3.166507904e-07f, 1.858593688e-07f, 5.507915326e-08f, -7.568963102e-08f, -2.064467588e-07f, -3.371920048e-07f, -4.679251439e-07f, -5.986459509e-07f,
+-7.293542009e-07f, -8.600496687e-07f, -9.907321294e-07f, -1.121401358e-06f, -1.252057129e-06f, -1.382699219e-06f, -1.513327402e-06f, -1.643941453e-06f, -1.774541149e-06f, -1.905126263e-06f,
+-2.035696572e-06f, -2.166251850e-06f, -2.296791874e-06f, -2.427316418e-06f, -2.557825259e-06f, -2.688318171e-06f, -2.818794931e-06f, -2.949255315e-06f, -3.079699097e-06f, -3.210126053e-06f,
+-3.340535961e-06f, -3.470928594e-06f, -3.601303730e-06f, -3.731661144e-06f, -3.862000612e-06f, -3.992321911e-06f, -4.122624816e-06f, -4.252909104e-06f, -4.383174551e-06f, -4.513420932e-06f,
+-4.643648025e-06f, -4.773855607e-06f, -4.904043452e-06f, -5.034211338e-06f, -5.164359041e-06f, -5.294486339e-06f, -5.424593007e-06f, -5.554678822e-06f, -5.684743561e-06f, -5.814787001e-06f,
+-5.944808919e-06f, -6.074809092e-06f, -6.204787296e-06f, -6.334743309e-06f, -6.464676908e-06f, -6.594587870e-06f, -6.724475973e-06f, -6.854340992e-06f, -6.984182707e-06f, -7.114000894e-06f,
+-7.243795331e-06f, -7.373565795e-06f, -7.503312063e-06f, -7.633033915e-06f, -7.762731126e-06f, -7.892403476e-06f, -8.022050741e-06f, -8.151672701e-06f, -8.281269131e-06f, -8.410839812e-06f,
+-8.540384520e-06f, -8.669903035e-06f, -8.799395133e-06f, -8.928860594e-06f, -9.058299196e-06f, -9.187710717e-06f, -9.317094936e-06f, -9.446451631e-06f, -9.575780581e-06f, -9.705081565e-06f,
+-9.834354361e-06f, -9.963598748e-06f, -1.009281450e-05f, -1.022200141e-05f, -1.035115925e-05f, -1.048028779e-05f, -1.060938681e-05f, -1.073845611e-05f, -1.086749544e-05f, -1.099650461e-05f,
+-1.112548337e-05f, -1.125443152e-05f, -1.138334883e-05f, -1.151223509e-05f, -1.164109006e-05f, -1.176991354e-05f, -1.189870530e-05f, -1.202746513e-05f, -1.215619279e-05f, -1.228488808e-05f,
+-1.241355076e-05f, -1.254218063e-05f, -1.267077747e-05f, -1.279934105e-05f, -1.292787115e-05f, -1.305636755e-05f, -1.318483004e-05f, -1.331325840e-05f, -1.344165240e-05f, -1.357001183e-05f,
+-1.369833647e-05f, -1.382662609e-05f, -1.395488049e-05f, -1.408309944e-05f, -1.421128272e-05f, -1.433943012e-05f, -1.446754141e-05f, -1.459561638e-05f, -1.472365481e-05f, -1.485165648e-05f,
+-1.497962117e-05f, -1.510754867e-05f, -1.523543875e-05f, -1.536329120e-05f, -1.549110580e-05f, -1.561888234e-05f, -1.574662059e-05f, -1.587432033e-05f, -1.600198136e-05f, -1.612960344e-05f,
+-1.625718638e-05f, -1.638472994e-05f, -1.651223391e-05f, -1.663969807e-05f, -1.676712221e-05f, -1.689450611e-05f, -1.702184955e-05f, -1.714915232e-05f, -1.727641419e-05f, -1.740363496e-05f,
+-1.753081441e-05f, -1.765795231e-05f, -1.778504846e-05f, -1.791210263e-05f, -1.803911461e-05f, -1.816608419e-05f, -1.829301115e-05f, -1.841989527e-05f, -1.854673634e-05f, -1.867353414e-05f,
+-1.880028846e-05f, -1.892699908e-05f, -1.905366578e-05f, -1.918028835e-05f, -1.930686658e-05f, -1.943340025e-05f, -1.955988914e-05f, -1.968633304e-05f, -1.981273174e-05f, -1.993908501e-05f,
+-2.006539266e-05f, -2.019165445e-05f, -2.031787018e-05f, -2.044403963e-05f, -2.057016259e-05f, -2.069623885e-05f, -2.082226818e-05f, -2.094825038e-05f, -2.107418524e-05f, -2.120007253e-05f,
+-2.132591204e-05f, -2.145170357e-05f, -2.157744690e-05f, -2.170314181e-05f, -2.182878809e-05f, -2.195438554e-05f, -2.207993392e-05f, -2.220543304e-05f, -2.233088268e-05f, -2.245628263e-05f,
+-2.258163267e-05f, -2.270693259e-05f, -2.283218219e-05f, -2.295738124e-05f, -2.308252953e-05f, -2.320762686e-05f, -2.333267301e-05f, -2.345766777e-05f, -2.358261093e-05f, -2.370750227e-05f,
+-2.383234159e-05f, -2.395712867e-05f, -2.408186331e-05f, -2.420654528e-05f, -2.433117438e-05f, -2.445575041e-05f, -2.458027314e-05f, -2.470474236e-05f, -2.482915788e-05f, -2.495351947e-05f,
+-2.507782692e-05f, -2.520208003e-05f, -2.532627859e-05f, -2.545042238e-05f, -2.557451119e-05f, -2.569854482e-05f, -2.582252306e-05f, -2.594644569e-05f, -2.607031251e-05f, -2.619412330e-05f,
+-2.631787786e-05f, -2.644157599e-05f, -2.656521746e-05f, -2.668880207e-05f, -2.681232961e-05f, -2.693579987e-05f, -2.705921265e-05f, -2.718256774e-05f, -2.730586492e-05f, -2.742910400e-05f,
+-2.755228475e-05f, -2.767540698e-05f, -2.779847047e-05f, -2.792147502e-05f, -2.804442042e-05f, -2.816730647e-05f, -2.829013295e-05f, -2.841289965e-05f, -2.853560638e-05f, -2.865825292e-05f,
+-2.878083907e-05f, -2.890336462e-05f, -2.902582937e-05f, -2.914823310e-05f, -2.927057561e-05f, -2.939285669e-05f, -2.951507614e-05f, -2.963723376e-05f, -2.975932933e-05f, -2.988136265e-05f,
+-3.000333352e-05f, -3.012524173e-05f, -3.024708707e-05f, -3.036886934e-05f, -3.049058833e-05f, -3.061224384e-05f, -3.073383567e-05f, -3.085536360e-05f, -3.097682744e-05f, -3.109822698e-05f,
+-3.121956201e-05f, -3.134083233e-05f, -3.146203775e-05f, -3.158317804e-05f, -3.170425302e-05f, -3.182526247e-05f, -3.194620619e-05f, -3.206708398e-05f, -3.218789563e-05f, -3.230864095e-05f,
+-3.242931973e-05f, -3.254993176e-05f, -3.267047685e-05f, -3.279095478e-05f, -3.291136537e-05f, -3.303170840e-05f, -3.315198367e-05f, -3.327219099e-05f, -3.339233014e-05f, -3.351240093e-05f,
+-3.363240316e-05f, -3.375233662e-05f, -3.387220112e-05f, -3.399199644e-05f, -3.411172240e-05f, -3.423137878e-05f, -3.435096540e-05f, -3.447048204e-05f, -3.458992851e-05f, -3.470930460e-05f,
+-3.482861012e-05f, -3.494784487e-05f, -3.506700865e-05f, -3.518610125e-05f, -3.530512247e-05f, -3.542407212e-05f, -3.554295000e-05f, -3.566175591e-05f, -3.578048965e-05f, -3.589915101e-05f,
+-3.601773981e-05f, -3.613625584e-05f, -3.625469890e-05f, -3.637306880e-05f, -3.649136533e-05f, -3.660958830e-05f, -3.672773751e-05f, -3.684581277e-05f, -3.696381387e-05f, -3.708174061e-05f,
+-3.719959281e-05f, -3.731737025e-05f, -3.743507276e-05f, -3.755270012e-05f, -3.767025214e-05f, -3.778772862e-05f, -3.790512938e-05f, -3.802245420e-05f, -3.813970290e-05f, -3.825687528e-05f,
+-3.837397114e-05f, -3.849099029e-05f, -3.860793253e-05f, -3.872479766e-05f, -3.884158550e-05f, -3.895829584e-05f, -3.907492849e-05f, -3.919148325e-05f, -3.930795994e-05f, -3.942435835e-05f,
+-3.954067830e-05f, -3.965691958e-05f, -3.977308200e-05f, -3.988916537e-05f, -4.000516950e-05f, -4.012109419e-05f, -4.023693924e-05f, -4.035270447e-05f, -4.046838968e-05f, -4.058399468e-05f,
+-4.069951927e-05f, -4.081496327e-05f, -4.093032647e-05f, -4.104560869e-05f, -4.116080974e-05f, -4.127592942e-05f, -4.139096754e-05f, -4.150592391e-05f, -4.162079833e-05f, -4.173559063e-05f,
+-4.185030059e-05f, -4.196492804e-05f, -4.207947278e-05f, -4.219393462e-05f, -4.230831338e-05f, -4.242260885e-05f, -4.253682085e-05f, -4.265094919e-05f, -4.276499368e-05f, -4.287895413e-05f,
+-4.299283035e-05f, -4.310662214e-05f, -4.322032933e-05f, -4.333395172e-05f, -4.344748913e-05f, -4.356094135e-05f, -4.367430821e-05f, -4.378758952e-05f, -4.390078508e-05f, -4.401389471e-05f,
+-4.412691822e-05f, -4.423985543e-05f, -4.435270614e-05f, -4.446547017e-05f, -4.457814733e-05f, -4.469073743e-05f, -4.480324029e-05f, -4.491565571e-05f, -4.502798352e-05f, -4.514022352e-05f,
+-4.525237554e-05f, -4.536443937e-05f, -4.547641485e-05f, -4.558830177e-05f, -4.570009996e-05f, -4.581180922e-05f, -4.592342938e-05f, -4.603496025e-05f, -4.614640165e-05f, -4.625775338e-05f,
+-4.636901527e-05f, -4.648018712e-05f, -4.659126876e-05f, -4.670226000e-05f, -4.681316066e-05f, -4.692397055e-05f, -4.703468949e-05f, -4.714531730e-05f, -4.725585378e-05f, -4.736629877e-05f,
+-4.747665207e-05f, -4.758691351e-05f, -4.769708290e-05f, -4.780716005e-05f, -4.791714479e-05f, -4.802703694e-05f, -4.813683630e-05f, -4.824654271e-05f, -4.835615597e-05f, -4.846567591e-05f,
+-4.857510235e-05f, -4.868443510e-05f, -4.879367399e-05f, -4.890281882e-05f, -4.901186943e-05f, -4.912082564e-05f, -4.922968725e-05f, -4.933845410e-05f, -4.944712600e-05f, -4.955570277e-05f,
+-4.966418423e-05f, -4.977257021e-05f, -4.988086052e-05f, -4.998905499e-05f, -5.009715343e-05f, -5.020515568e-05f, -5.031306154e-05f, -5.042087085e-05f, -5.052858342e-05f, -5.063619907e-05f,
+-5.074371764e-05f, -5.085113893e-05f, -5.095846278e-05f, -5.106568901e-05f, -5.117281744e-05f, -5.127984788e-05f, -5.138678018e-05f, -5.149361415e-05f, -5.160034961e-05f, -5.170698638e-05f,
+-5.181352430e-05f, -5.191996319e-05f, -5.202630287e-05f, -5.213254316e-05f, -5.223868390e-05f, -5.234472490e-05f, -5.245066600e-05f, -5.255650701e-05f, -5.266224776e-05f, -5.276788808e-05f,
+-5.287342780e-05f, -5.297886674e-05f, -5.308420472e-05f, -5.318944158e-05f, -5.329457714e-05f, -5.339961123e-05f, -5.350454368e-05f, -5.360937430e-05f, -5.371410294e-05f, -5.381872942e-05f,
+-5.392325356e-05f, -5.402767520e-05f, -5.413199416e-05f, -5.423621027e-05f, -5.434032336e-05f, -5.444433326e-05f, -5.454823980e-05f, -5.465204281e-05f, -5.475574211e-05f, -5.485933754e-05f,
+-5.496282893e-05f, -5.506621611e-05f, -5.516949890e-05f, -5.527267714e-05f, -5.537575066e-05f, -5.547871929e-05f, -5.558158286e-05f, -5.568434120e-05f, -5.578699415e-05f, -5.588954153e-05f,
+-5.599198317e-05f, -5.609431892e-05f, -5.619654860e-05f, -5.629867204e-05f, -5.640068908e-05f, -5.650259955e-05f, -5.660440328e-05f, -5.670610011e-05f, -5.680768987e-05f, -5.690917239e-05f,
+-5.701054751e-05f, -5.711181505e-05f, -5.721297487e-05f, -5.731402678e-05f, -5.741497063e-05f, -5.751580625e-05f, -5.761653347e-05f, -5.771715214e-05f, -5.781766208e-05f, -5.791806313e-05f,
+-5.801835512e-05f, -5.811853791e-05f, -5.821861131e-05f, -5.831857516e-05f, -5.841842931e-05f, -5.851817359e-05f, -5.861780784e-05f, -5.871733189e-05f, -5.881674558e-05f, -5.891604875e-05f,
+-5.901524124e-05f, -5.911432288e-05f, -5.921329352e-05f, -5.931215299e-05f, -5.941090114e-05f, -5.950953779e-05f, -5.960806279e-05f, -5.970647598e-05f, -5.980477721e-05f, -5.990296629e-05f,
+-6.000104309e-05f, -6.009900744e-05f, -6.019685917e-05f, -6.029459814e-05f, -6.039222417e-05f, -6.048973712e-05f, -6.058713682e-05f, -6.068442312e-05f, -6.078159585e-05f, -6.087865486e-05f,
+-6.097559999e-05f, -6.107243108e-05f, -6.116914797e-05f, -6.126575052e-05f, -6.136223856e-05f, -6.145861192e-05f, -6.155487047e-05f, -6.165101404e-05f, -6.174704247e-05f, -6.184295562e-05f,
+-6.193875331e-05f, -6.203443540e-05f, -6.213000174e-05f, -6.222545216e-05f, -6.232078652e-05f, -6.241600465e-05f, -6.251110640e-05f, -6.260609163e-05f, -6.270096017e-05f, -6.279571187e-05f,
+-6.289034657e-05f, -6.298486414e-05f, -6.307926440e-05f, -6.317354721e-05f, -6.326771241e-05f, -6.336175986e-05f, -6.345568940e-05f, -6.354950088e-05f, -6.364319414e-05f, -6.373676904e-05f,
+-6.383022542e-05f, -6.392356313e-05f, -6.401678202e-05f, -6.410988195e-05f, -6.420286275e-05f, -6.429572429e-05f, -6.438846640e-05f, -6.448108894e-05f, -6.457359176e-05f, -6.466597471e-05f,
+-6.475823765e-05f, -6.485038041e-05f, -6.494240286e-05f, -6.503430484e-05f, -6.512608621e-05f, -6.521774682e-05f, -6.530928651e-05f, -6.540070515e-05f, -6.549200259e-05f, -6.558317867e-05f,
+-6.567423325e-05f, -6.576516619e-05f, -6.585597733e-05f, -6.594666654e-05f, -6.603723366e-05f, -6.612767855e-05f, -6.621800106e-05f, -6.630820105e-05f, -6.639827838e-05f, -6.648823289e-05f,
+-6.657806444e-05f, -6.666777289e-05f, -6.675735810e-05f, -6.684681992e-05f, -6.693615820e-05f, -6.702537280e-05f, -6.711446359e-05f, -6.720343041e-05f, -6.729227312e-05f, -6.738099158e-05f,
+-6.746958565e-05f, -6.755805519e-05f, -6.764640005e-05f, -6.773462009e-05f, -6.782271517e-05f, -6.791068515e-05f, -6.799852988e-05f, -6.808624923e-05f, -6.817384306e-05f, -6.826131123e-05f,
+-6.834865359e-05f, -6.843587000e-05f, -6.852296033e-05f, -6.860992443e-05f, -6.869676217e-05f, -6.878347341e-05f, -6.887005801e-05f, -6.895651583e-05f, -6.904284673e-05f, -6.912905057e-05f,
+-6.921512722e-05f, -6.930107653e-05f, -6.938689838e-05f, -6.947259262e-05f, -6.955815912e-05f, -6.964359773e-05f, -6.972890833e-05f, -6.981409078e-05f, -6.989914493e-05f, -6.998407066e-05f,
+-7.006886783e-05f, -7.015353631e-05f, -7.023807595e-05f, -7.032248663e-05f, -7.040676821e-05f, -7.049092055e-05f, -7.057494352e-05f, -7.065883699e-05f, -7.074260082e-05f, -7.082623488e-05f,
+-7.090973904e-05f, -7.099311316e-05f, -7.107635712e-05f, -7.115947077e-05f, -7.124245399e-05f, -7.132530664e-05f, -7.140802859e-05f, -7.149061971e-05f, -7.157307988e-05f, -7.165540895e-05f,
+-7.173760680e-05f, -7.181967329e-05f, -7.190160830e-05f, -7.198341170e-05f, -7.206508336e-05f, -7.214662314e-05f, -7.222803092e-05f, -7.230930656e-05f, -7.239044995e-05f, -7.247146094e-05f,
+-7.255233942e-05f, -7.263308525e-05f, -7.271369831e-05f, -7.279417847e-05f, -7.287452560e-05f, -7.295473957e-05f, -7.303482025e-05f, -7.311476753e-05f, -7.319458127e-05f, -7.327426135e-05f,
+-7.335380763e-05f, -7.343322000e-05f, -7.351249834e-05f, -7.359164250e-05f, -7.367065238e-05f, -7.374952784e-05f, -7.382826876e-05f, -7.390687501e-05f, -7.398534648e-05f, -7.406368303e-05f,
+-7.414188455e-05f, -7.421995091e-05f, -7.429788198e-05f, -7.437567765e-05f, -7.445333779e-05f, -7.453086228e-05f, -7.460825100e-05f, -7.468550383e-05f, -7.476262064e-05f, -7.483960131e-05f,
+-7.491644572e-05f, -7.499315375e-05f, -7.506972529e-05f, -7.514616020e-05f, -7.522245837e-05f, -7.529861968e-05f, -7.537464401e-05f, -7.545053124e-05f, -7.552628125e-05f, -7.560189393e-05f,
+-7.567736915e-05f, -7.575270679e-05f, -7.582790674e-05f, -7.590296888e-05f, -7.597789309e-05f, -7.605267926e-05f, -7.612732726e-05f, -7.620183698e-05f, -7.627620830e-05f, -7.635044112e-05f,
+-7.642453530e-05f, -7.649849073e-05f, -7.657230731e-05f, -7.664598491e-05f, -7.671952342e-05f, -7.679292272e-05f, -7.686618270e-05f, -7.693930324e-05f, -7.701228424e-05f, -7.708512557e-05f,
+-7.715782712e-05f, -7.723038878e-05f, -7.730281044e-05f, -7.737509199e-05f, -7.744723330e-05f, -7.751923427e-05f, -7.759109479e-05f, -7.766281474e-05f, -7.773439401e-05f, -7.780583249e-05f,
+-7.787713008e-05f, -7.794828665e-05f, -7.801930210e-05f, -7.809017632e-05f, -7.816090920e-05f, -7.823150062e-05f, -7.830195049e-05f, -7.837225868e-05f, -7.844242509e-05f, -7.851244962e-05f,
+-7.858233214e-05f, -7.865207256e-05f, -7.872167077e-05f, -7.879112665e-05f, -7.886044011e-05f, -7.892961103e-05f, -7.899863930e-05f, -7.906752483e-05f, -7.913626749e-05f, -7.920486720e-05f,
+-7.927332383e-05f, -7.934163729e-05f, -7.940980747e-05f, -7.947783426e-05f, -7.954571757e-05f, -7.961345727e-05f, -7.968105328e-05f, -7.974850548e-05f, -7.981581377e-05f, -7.988297806e-05f,
+-7.994999822e-05f, -8.001687417e-05f, -8.008360579e-05f, -8.015019299e-05f, -8.021663567e-05f, -8.028293371e-05f, -8.034908703e-05f, -8.041509551e-05f, -8.048095906e-05f, -8.054667757e-05f,
+-8.061225095e-05f, -8.067767909e-05f, -8.074296190e-05f, -8.080809926e-05f, -8.087309109e-05f, -8.093793729e-05f, -8.100263775e-05f, -8.106719237e-05f, -8.113160106e-05f, -8.119586372e-05f,
+-8.125998025e-05f, -8.132395055e-05f, -8.138777453e-05f, -8.145145208e-05f, -8.151498311e-05f, -8.157836752e-05f, -8.164160522e-05f, -8.170469611e-05f, -8.176764010e-05f, -8.183043708e-05f,
+-8.189308696e-05f, -8.195558965e-05f, -8.201794504e-05f, -8.208015306e-05f, -8.214221360e-05f, -8.220412656e-05f, -8.226589186e-05f, -8.232750940e-05f, -8.238897908e-05f, -8.245030082e-05f,
+-8.251147452e-05f, -8.257250008e-05f, -8.263337742e-05f, -8.269410645e-05f, -8.275468706e-05f, -8.281511917e-05f, -8.287540269e-05f, -8.293553753e-05f, -8.299552359e-05f, -8.305536078e-05f,
+-8.311504902e-05f, -8.317458822e-05f, -8.323397828e-05f, -8.329321911e-05f, -8.335231063e-05f, -8.341125275e-05f, -8.347004538e-05f, -8.352868842e-05f, -8.358718180e-05f, -8.364552542e-05f,
+-8.370371919e-05f, -8.376176304e-05f, -8.381965686e-05f, -8.387740058e-05f, -8.393499411e-05f, -8.399243736e-05f, -8.404973025e-05f, -8.410687268e-05f, -8.416386458e-05f, -8.422070585e-05f,
+-8.427739642e-05f, -8.433393620e-05f, -8.439032511e-05f, -8.444656305e-05f, -8.450264995e-05f, -8.455858572e-05f, -8.461437029e-05f, -8.467000356e-05f, -8.472548545e-05f, -8.478081588e-05f,
+-8.483599477e-05f, -8.489102204e-05f, -8.494589760e-05f, -8.500062138e-05f, -8.505519328e-05f, -8.510961324e-05f, -8.516388117e-05f, -8.521799699e-05f, -8.527196062e-05f, -8.532577197e-05f,
+-8.537943098e-05f, -8.543293756e-05f, -8.548629163e-05f, -8.553949312e-05f, -8.559254193e-05f, -8.564543801e-05f, -8.569818126e-05f, -8.575077161e-05f, -8.580320899e-05f, -8.585549331e-05f,
+-8.590762450e-05f, -8.595960248e-05f, -8.601142718e-05f, -8.606309852e-05f, -8.611461642e-05f, -8.616598082e-05f, -8.621719162e-05f, -8.626824876e-05f, -8.631915217e-05f, -8.636990177e-05f,
+-8.642049748e-05f, -8.647093923e-05f, -8.652122695e-05f, -8.657136056e-05f, -8.662133999e-05f, -8.667116518e-05f, -8.672083603e-05f, -8.677035249e-05f, -8.681971449e-05f, -8.686892194e-05f,
+-8.691797478e-05f, -8.696687294e-05f, -8.701561634e-05f, -8.706420492e-05f, -8.711263860e-05f, -8.716091732e-05f, -8.720904101e-05f, -8.725700959e-05f, -8.730482299e-05f, -8.735248116e-05f,
+-8.739998401e-05f, -8.744733148e-05f, -8.749452351e-05f, -8.754156002e-05f, -8.758844095e-05f, -8.763516622e-05f, -8.768173578e-05f, -8.772814956e-05f, -8.777440748e-05f, -8.782050949e-05f,
+-8.786645551e-05f, -8.791224549e-05f, -8.795787935e-05f, -8.800335703e-05f, -8.804867847e-05f, -8.809384359e-05f, -8.813885235e-05f, -8.818370467e-05f, -8.822840049e-05f, -8.827293974e-05f,
+-8.831732237e-05f, -8.836154831e-05f, -8.840561749e-05f, -8.844952986e-05f, -8.849328535e-05f, -8.853688390e-05f, -8.858032546e-05f, -8.862360995e-05f, -8.866673731e-05f, -8.870970750e-05f,
+-8.875252044e-05f, -8.879517608e-05f, -8.883767435e-05f, -8.888001520e-05f, -8.892219856e-05f, -8.896422439e-05f, -8.900609261e-05f, -8.904780318e-05f, -8.908935602e-05f, -8.913075109e-05f,
+-8.917198833e-05f, -8.921306768e-05f, -8.925398909e-05f, -8.929475248e-05f, -8.933535782e-05f, -8.937580504e-05f, -8.941609409e-05f, -8.945622491e-05f, -8.949619745e-05f, -8.953601165e-05f,
+-8.957566745e-05f, -8.961516480e-05f, -8.965450366e-05f, -8.969368395e-05f, -8.973270564e-05f, -8.977156866e-05f, -8.981027297e-05f, -8.984881850e-05f, -8.988720521e-05f, -8.992543305e-05f,
+-8.996350196e-05f, -9.000141189e-05f, -9.003916279e-05f, -9.007675461e-05f, -9.011418730e-05f, -9.015146081e-05f, -9.018857508e-05f, -9.022553007e-05f, -9.026232572e-05f, -9.029896199e-05f,
+-9.033543884e-05f, -9.037175619e-05f, -9.040791402e-05f, -9.044391227e-05f, -9.047975090e-05f, -9.051542985e-05f, -9.055094908e-05f, -9.058630854e-05f, -9.062150818e-05f, -9.065654797e-05f,
+-9.069142784e-05f, -9.072614775e-05f, -9.076070767e-05f, -9.079510754e-05f, -9.082934732e-05f, -9.086342695e-05f, -9.089734641e-05f, -9.093110564e-05f, -9.096470460e-05f, -9.099814325e-05f,
+-9.103142154e-05f, -9.106453942e-05f, -9.109749686e-05f, -9.113029382e-05f, -9.116293024e-05f, -9.119540609e-05f, -9.122772133e-05f, -9.125987591e-05f, -9.129186980e-05f, -9.132370294e-05f,
+-9.135537531e-05f, -9.138688686e-05f, -9.141823754e-05f, -9.144942733e-05f, -9.148045618e-05f, -9.151132405e-05f, -9.154203090e-05f, -9.157257669e-05f, -9.160296139e-05f, -9.163318495e-05f,
+-9.166324735e-05f, -9.169314853e-05f, -9.172288847e-05f, -9.175246712e-05f, -9.178188445e-05f, -9.181114042e-05f, -9.184023500e-05f, -9.186916815e-05f, -9.189793983e-05f, -9.192655002e-05f,
+-9.195499866e-05f, -9.198328574e-05f, -9.201141121e-05f, -9.203937504e-05f, -9.206717719e-05f, -9.209481764e-05f, -9.212229634e-05f, -9.214961327e-05f, -9.217676840e-05f, -9.220376168e-05f,
+-9.223059309e-05f, -9.225726260e-05f, -9.228377017e-05f, -9.231011577e-05f, -9.233629937e-05f, -9.236232094e-05f, -9.238818046e-05f, -9.241387788e-05f, -9.243941318e-05f, -9.246478633e-05f,
+-9.248999729e-05f, -9.251504605e-05f, -9.253993257e-05f, -9.256465683e-05f, -9.258921878e-05f, -9.261361842e-05f, -9.263785570e-05f, -9.266193060e-05f, -9.268584310e-05f, -9.270959316e-05f,
+-9.273318077e-05f, -9.275660588e-05f, -9.277986849e-05f, -9.280296855e-05f, -9.282590605e-05f, -9.284868097e-05f, -9.287129327e-05f, -9.289374293e-05f, -9.291602992e-05f, -9.293815423e-05f,
+-9.296011583e-05f, -9.298191469e-05f, -9.300355080e-05f, -9.302502412e-05f, -9.304633464e-05f, -9.306748234e-05f, -9.308846718e-05f, -9.310928916e-05f, -9.312994824e-05f, -9.315044442e-05f,
+-9.317077765e-05f, -9.319094794e-05f, -9.321095524e-05f, -9.323079955e-05f, -9.325048085e-05f, -9.326999911e-05f, -9.328935432e-05f, -9.330854645e-05f, -9.332757550e-05f, -9.334644143e-05f,
+-9.336514423e-05f, -9.338368389e-05f, -9.340206038e-05f, -9.342027369e-05f, -9.343832381e-05f, -9.345621070e-05f, -9.347393437e-05f, -9.349149479e-05f, -9.350889194e-05f, -9.352612582e-05f,
+-9.354319640e-05f, -9.356010367e-05f, -9.357684762e-05f, -9.359342823e-05f, -9.360984549e-05f, -9.362609937e-05f, -9.364218988e-05f, -9.365811700e-05f, -9.367388070e-05f, -9.368948099e-05f,
+-9.370491784e-05f, -9.372019126e-05f, -9.373530121e-05f, -9.375024770e-05f, -9.376503070e-05f, -9.377965022e-05f, -9.379410623e-05f, -9.380839874e-05f, -9.382252772e-05f, -9.383649317e-05f,
+-9.385029508e-05f, -9.386393343e-05f, -9.387740823e-05f, -9.389071946e-05f, -9.390386711e-05f, -9.391685118e-05f, -9.392967165e-05f, -9.394232852e-05f, -9.395482178e-05f, -9.396715143e-05f,
+-9.397931745e-05f, -9.399131985e-05f, -9.400315861e-05f, -9.401483373e-05f, -9.402634520e-05f, -9.403769302e-05f, -9.404887719e-05f, -9.405989769e-05f, -9.407075452e-05f, -9.408144769e-05f,
+-9.409197717e-05f, -9.410234298e-05f, -9.411254511e-05f, -9.412258356e-05f, -9.413245831e-05f, -9.414216938e-05f, -9.415171675e-05f, -9.416110042e-05f, -9.417032040e-05f, -9.417937669e-05f,
+-9.418826927e-05f, -9.419699815e-05f, -9.420556334e-05f, -9.421396482e-05f, -9.422220260e-05f, -9.423027668e-05f, -9.423818707e-05f, -9.424593375e-05f, -9.425351673e-05f, -9.426093602e-05f,
+-9.426819161e-05f, -9.427528351e-05f, -9.428221172e-05f, -9.428897624e-05f, -9.429557708e-05f, -9.430201424e-05f, -9.430828771e-05f, -9.431439751e-05f, -9.432034364e-05f, -9.432612610e-05f,
+-9.433174490e-05f, -9.433720005e-05f, -9.434249154e-05f, -9.434761938e-05f, -9.435258358e-05f, -9.435738415e-05f, -9.436202109e-05f, -9.436649440e-05f, -9.437080410e-05f, -9.437495019e-05f,
+-9.437893268e-05f, -9.438275158e-05f, -9.438640689e-05f, -9.438989862e-05f, -9.439322678e-05f, -9.439639138e-05f, -9.439939243e-05f, -9.440222994e-05f, -9.440490391e-05f, -9.440741437e-05f,
+-9.440976131e-05f, -9.441194475e-05f, -9.441396469e-05f, -9.441582116e-05f, -9.441751416e-05f, -9.441904370e-05f, -9.442040980e-05f, -9.442161246e-05f, -9.442265170e-05f, -9.442352753e-05f,
+-9.442423997e-05f, -9.442478903e-05f, -9.442517472e-05f, -9.442539705e-05f, -9.442545604e-05f, -9.442535171e-05f, -9.442508407e-05f, -9.442465313e-05f, -9.442405890e-05f, -9.442330142e-05f,
+-9.442238068e-05f, -9.442129671e-05f, -9.442004952e-05f, -9.441863913e-05f, -9.441706556e-05f, -9.441532883e-05f, -9.441342894e-05f, -9.441136592e-05f, -9.440913979e-05f, -9.440675056e-05f,
+-9.440419826e-05f, -9.440148290e-05f, -9.439860450e-05f, -9.439556309e-05f, -9.439235867e-05f, -9.438899128e-05f, -9.438546093e-05f, -9.438176763e-05f, -9.437791143e-05f, -9.437389232e-05f,
+-9.436971035e-05f, -9.436536551e-05f, -9.436085785e-05f, -9.435618738e-05f, -9.435135413e-05f, -9.434635811e-05f, -9.434119935e-05f, -9.433587787e-05f, -9.433039370e-05f, -9.432474686e-05f,
+-9.431893738e-05f, -9.431296527e-05f, -9.430683057e-05f, -9.430053330e-05f, -9.429407349e-05f, -9.428745115e-05f, -9.428066632e-05f, -9.427371903e-05f, -9.426660929e-05f, -9.425933714e-05f,
+-9.425190260e-05f, -9.424430570e-05f, -9.423654647e-05f, -9.422862493e-05f, -9.422054112e-05f, -9.421229505e-05f, -9.420388677e-05f, -9.419531630e-05f, -9.418658367e-05f, -9.417768890e-05f,
+-9.416863204e-05f, -9.415941310e-05f, -9.415003212e-05f, -9.414048913e-05f, -9.413078416e-05f, -9.412091724e-05f, -9.411088840e-05f, -9.410069768e-05f, -9.409034510e-05f, -9.407983070e-05f,
+-9.406915452e-05f, -9.405831657e-05f, -9.404731691e-05f, -9.403615555e-05f, -9.402483254e-05f, -9.401334791e-05f, -9.400170169e-05f, -9.398989392e-05f, -9.397792463e-05f, -9.396579385e-05f,
+-9.395350163e-05f, -9.394104800e-05f, -9.392843299e-05f, -9.391565663e-05f, -9.390271898e-05f, -9.388962006e-05f, -9.387635991e-05f, -9.386293856e-05f, -9.384935606e-05f, -9.383561244e-05f,
+-9.382170775e-05f, -9.380764201e-05f, -9.379341527e-05f, -9.377902757e-05f, -9.376447894e-05f, -9.374976943e-05f, -9.373489907e-05f, -9.371986791e-05f, -9.370467598e-05f, -9.368932333e-05f,
+-9.367381000e-05f, -9.365813602e-05f, -9.364230145e-05f, -9.362630631e-05f, -9.361015066e-05f, -9.359383453e-05f, -9.357735797e-05f, -9.356072102e-05f, -9.354392373e-05f, -9.352696613e-05f,
+-9.350984827e-05f, -9.349257019e-05f, -9.347513195e-05f, -9.345753357e-05f, -9.343977512e-05f, -9.342185662e-05f, -9.340377813e-05f, -9.338553970e-05f, -9.336714137e-05f, -9.334858318e-05f,
+-9.332986518e-05f, -9.331098742e-05f, -9.329194994e-05f, -9.327275280e-05f, -9.325339603e-05f, -9.323387969e-05f, -9.321420383e-05f, -9.319436849e-05f, -9.317437372e-05f, -9.315421957e-05f,
+-9.313390609e-05f, -9.311343333e-05f, -9.309280134e-05f, -9.307201016e-05f, -9.305105986e-05f, -9.302995047e-05f, -9.300868205e-05f, -9.298725465e-05f, -9.296566833e-05f, -9.294392312e-05f,
+-9.292201909e-05f, -9.289995629e-05f, -9.287773477e-05f, -9.285535457e-05f, -9.283281576e-05f, -9.281011839e-05f, -9.278726251e-05f, -9.276424818e-05f, -9.274107544e-05f, -9.271774436e-05f,
+-9.269425498e-05f, -9.267060736e-05f, -9.264680156e-05f, -9.262283763e-05f, -9.259871563e-05f, -9.257443561e-05f, -9.254999764e-05f, -9.252540175e-05f, -9.250064802e-05f, -9.247573650e-05f,
+-9.245066725e-05f, -9.242544031e-05f, -9.240005576e-05f, -9.237451365e-05f, -9.234881404e-05f, -9.232295698e-05f, -9.229694253e-05f, -9.227077076e-05f, -9.224444173e-05f, -9.221795548e-05f,
+-9.219131209e-05f, -9.216451161e-05f, -9.213755410e-05f, -9.211043962e-05f, -9.208316824e-05f, -9.205574001e-05f, -9.202815500e-05f, -9.200041327e-05f, -9.197251488e-05f, -9.194445989e-05f,
+-9.191624837e-05f, -9.188788037e-05f, -9.185935597e-05f, -9.183067521e-05f, -9.180183818e-05f, -9.177284492e-05f, -9.174369551e-05f, -9.171439002e-05f, -9.168492849e-05f, -9.165531100e-05f,
+-9.162553762e-05f, -9.159560841e-05f, -9.156552343e-05f, -9.153528275e-05f, -9.150488644e-05f, -9.147433457e-05f, -9.144362719e-05f, -9.141276438e-05f, -9.138174621e-05f, -9.135057273e-05f,
+-9.131924403e-05f, -9.128776017e-05f, -9.125612121e-05f, -9.122432722e-05f, -9.119237828e-05f, -9.116027445e-05f, -9.112801580e-05f, -9.109560240e-05f, -9.106303433e-05f, -9.103031164e-05f,
+-9.099743442e-05f, -9.096440273e-05f, -9.093121664e-05f, -9.089787623e-05f, -9.086438156e-05f, -9.083073271e-05f, -9.079692975e-05f, -9.076297275e-05f, -9.072886178e-05f, -9.069459692e-05f,
+-9.066017824e-05f, -9.062560581e-05f, -9.059087971e-05f, -9.055600001e-05f, -9.052096678e-05f, -9.048578010e-05f, -9.045044005e-05f, -9.041494669e-05f, -9.037930010e-05f, -9.034350036e-05f,
+-9.030754755e-05f, -9.027144173e-05f, -9.023518299e-05f, -9.019877141e-05f, -9.016220705e-05f, -9.012548999e-05f, -9.008862032e-05f, -9.005159811e-05f, -9.001442343e-05f, -8.997709637e-05f,
+-8.993961700e-05f, -8.990198541e-05f, -8.986420166e-05f, -8.982626585e-05f, -8.978817804e-05f, -8.974993832e-05f, -8.971154677e-05f, -8.967300346e-05f, -8.963430849e-05f, -8.959546192e-05f,
+-8.955646384e-05f, -8.951731433e-05f, -8.947801347e-05f, -8.943856134e-05f, -8.939895803e-05f, -8.935920361e-05f, -8.931929817e-05f, -8.927924179e-05f, -8.923903456e-05f, -8.919867655e-05f,
+-8.915816785e-05f, -8.911750855e-05f, -8.907669872e-05f, -8.903573845e-05f, -8.899462783e-05f, -8.895336694e-05f, -8.891195586e-05f, -8.887039468e-05f, -8.882868349e-05f, -8.878682237e-05f,
+-8.874481140e-05f, -8.870265067e-05f, -8.866034028e-05f, -8.861788030e-05f, -8.857527082e-05f, -8.853251192e-05f, -8.848960371e-05f, -8.844654626e-05f, -8.840333966e-05f, -8.835998399e-05f,
+-8.831647936e-05f, -8.827282584e-05f, -8.822902353e-05f, -8.818507251e-05f, -8.814097287e-05f, -8.809672471e-05f, -8.805232811e-05f, -8.800778316e-05f, -8.796308995e-05f, -8.791824858e-05f,
+-8.787325913e-05f, -8.782812170e-05f, -8.778283637e-05f, -8.773740324e-05f, -8.769182240e-05f, -8.764609394e-05f, -8.760021796e-05f, -8.755419454e-05f, -8.750802378e-05f, -8.746170577e-05f,
+-8.741524061e-05f, -8.736862839e-05f, -8.732186920e-05f, -8.727496314e-05f, -8.722791029e-05f, -8.718071076e-05f, -8.713336465e-05f, -8.708587203e-05f, -8.703823302e-05f, -8.699044770e-05f,
+-8.694251618e-05f, -8.689443854e-05f, -8.684621488e-05f, -8.679784531e-05f, -8.674932991e-05f, -8.670066878e-05f, -8.665186203e-05f, -8.660290974e-05f, -8.655381202e-05f, -8.650456896e-05f,
+-8.645518066e-05f, -8.640564723e-05f, -8.635596875e-05f, -8.630614533e-05f, -8.625617707e-05f, -8.620606406e-05f, -8.615580641e-05f, -8.610540421e-05f, -8.605485757e-05f, -8.600416658e-05f,
+-8.595333135e-05f, -8.590235198e-05f, -8.585122857e-05f, -8.579996121e-05f, -8.574855002e-05f, -8.569699509e-05f, -8.564529652e-05f, -8.559345442e-05f, -8.554146889e-05f, -8.548934004e-05f,
+-8.543706795e-05f, -8.538465275e-05f, -8.533209453e-05f, -8.527939339e-05f, -8.522654944e-05f, -8.517356279e-05f, -8.512043353e-05f, -8.506716178e-05f, -8.501374763e-05f, -8.496019119e-05f,
+-8.490649258e-05f, -8.485265188e-05f, -8.479866922e-05f, -8.474454469e-05f, -8.469027840e-05f, -8.463587046e-05f, -8.458132097e-05f, -8.452663005e-05f, -8.447179779e-05f, -8.441682431e-05f,
+-8.436170972e-05f, -8.430645412e-05f, -8.425105761e-05f, -8.419552032e-05f, -8.413984234e-05f, -8.408402379e-05f, -8.402806477e-05f, -8.397196540e-05f, -8.391572578e-05f, -8.385934602e-05f,
+-8.380282624e-05f, -8.374616654e-05f, -8.368936704e-05f, -8.363242784e-05f, -8.357534906e-05f, -8.351813081e-05f, -8.346077319e-05f, -8.340327632e-05f, -8.334564032e-05f, -8.328786529e-05f,
+-8.322995135e-05f, -8.317189861e-05f, -8.311370718e-05f, -8.305537717e-05f, -8.299690870e-05f, -8.293830189e-05f, -8.287955684e-05f, -8.282067367e-05f, -8.276165249e-05f, -8.270249342e-05f,
+-8.264319658e-05f, -8.258376207e-05f, -8.252419001e-05f, -8.246448052e-05f, -8.240463372e-05f, -8.234464971e-05f, -8.228452863e-05f, -8.222427057e-05f, -8.216387566e-05f, -8.210334401e-05f,
+-8.204267575e-05f, -8.198187098e-05f, -8.192092984e-05f, -8.185985242e-05f, -8.179863886e-05f, -8.173728926e-05f, -8.167580376e-05f, -8.161418246e-05f, -8.155242548e-05f, -8.149053295e-05f,
+-8.142850498e-05f, -8.136634170e-05f, -8.130404322e-05f, -8.124160965e-05f, -8.117904114e-05f, -8.111633778e-05f, -8.105349970e-05f, -8.099052703e-05f, -8.092741989e-05f, -8.086417839e-05f,
+-8.080080265e-05f, -8.073729281e-05f, -8.067364897e-05f, -8.060987127e-05f, -8.054595982e-05f, -8.048191475e-05f, -8.041773618e-05f, -8.035342423e-05f, -8.028897903e-05f, -8.022440070e-05f,
+-8.015968936e-05f, -8.009484513e-05f, -8.002986815e-05f, -7.996475853e-05f, -7.989951641e-05f, -7.983414189e-05f, -7.976863512e-05f, -7.970299621e-05f, -7.963722529e-05f, -7.957132248e-05f,
+-7.950528792e-05f, -7.943912172e-05f, -7.937282401e-05f, -7.930639493e-05f, -7.923983459e-05f, -7.917314312e-05f, -7.910632066e-05f, -7.903936732e-05f, -7.897228324e-05f, -7.890506854e-05f,
+-7.883772334e-05f, -7.877024779e-05f, -7.870264201e-05f, -7.863490612e-05f, -7.856704025e-05f, -7.849904454e-05f, -7.843091911e-05f, -7.836266409e-05f, -7.829427962e-05f, -7.822576582e-05f,
+-7.815712281e-05f, -7.808835074e-05f, -7.801944973e-05f, -7.795041992e-05f, -7.788126143e-05f, -7.781197439e-05f, -7.774255894e-05f, -7.767301521e-05f, -7.760334333e-05f, -7.753354343e-05f,
+-7.746361564e-05f, -7.739356010e-05f, -7.732337694e-05f, -7.725306629e-05f, -7.718262828e-05f, -7.711206305e-05f, -7.704137074e-05f, -7.697055147e-05f, -7.689960537e-05f, -7.682853259e-05f,
+-7.675733326e-05f, -7.668600751e-05f, -7.661455547e-05f, -7.654297729e-05f, -7.647127309e-05f, -7.639944301e-05f, -7.632748719e-05f, -7.625540577e-05f, -7.618319887e-05f, -7.611086663e-05f,
+-7.603840920e-05f, -7.596582671e-05f, -7.589311928e-05f, -7.582028707e-05f, -7.574733021e-05f, -7.567424884e-05f, -7.560104308e-05f, -7.552771309e-05f, -7.545425900e-05f, -7.538068094e-05f,
+-7.530697906e-05f, -7.523315349e-05f, -7.515920438e-05f, -7.508513186e-05f, -7.501093606e-05f, -7.493661714e-05f, -7.486217523e-05f, -7.478761047e-05f, -7.471292299e-05f, -7.463811295e-05f,
+-7.456318048e-05f, -7.448812571e-05f, -7.441294880e-05f, -7.433764988e-05f, -7.426222910e-05f, -7.418668658e-05f, -7.411102249e-05f, -7.403523695e-05f, -7.395933011e-05f, -7.388330212e-05f,
+-7.380715311e-05f, -7.373088322e-05f, -7.365449261e-05f, -7.357798141e-05f, -7.350134976e-05f, -7.342459782e-05f, -7.334772571e-05f, -7.327073360e-05f, -7.319362161e-05f, -7.311638990e-05f,
+-7.303903860e-05f, -7.296156787e-05f, -7.288397785e-05f, -7.280626868e-05f, -7.272844050e-05f, -7.265049347e-05f, -7.257242773e-05f, -7.249424343e-05f, -7.241594070e-05f, -7.233751970e-05f,
+-7.225898057e-05f, -7.218032346e-05f, -7.210154852e-05f, -7.202265588e-05f, -7.194364571e-05f, -7.186451814e-05f, -7.178527333e-05f, -7.170591142e-05f, -7.162643255e-05f, -7.154683689e-05f,
+-7.146712457e-05f, -7.138729574e-05f, -7.130735055e-05f, -7.122728916e-05f, -7.114711170e-05f, -7.106681833e-05f, -7.098640920e-05f, -7.090588446e-05f, -7.082524425e-05f, -7.074448874e-05f,
+-7.066361805e-05f, -7.058263236e-05f, -7.050153180e-05f, -7.042031653e-05f, -7.033898670e-05f, -7.025754245e-05f, -7.017598395e-05f, -7.009431134e-05f, -7.001252477e-05f, -6.993062440e-05f,
+-6.984861038e-05f, -6.976648285e-05f, -6.968424198e-05f, -6.960188790e-05f, -6.951942079e-05f, -6.943684078e-05f, -6.935414804e-05f, -6.927134271e-05f, -6.918842495e-05f, -6.910539491e-05f,
+-6.902225274e-05f, -6.893899861e-05f, -6.885563266e-05f, -6.877215504e-05f, -6.868856592e-05f, -6.860486544e-05f, -6.852105377e-05f, -6.843713105e-05f, -6.835309744e-05f, -6.826895310e-05f,
+-6.818469819e-05f, -6.810033284e-05f, -6.801585724e-05f, -6.793127152e-05f, -6.784657585e-05f, -6.776177038e-05f, -6.767685526e-05f, -6.759183067e-05f, -6.750669674e-05f, -6.742145365e-05f,
+-6.733610154e-05f, -6.725064057e-05f, -6.716507091e-05f, -6.707939270e-05f, -6.699360611e-05f, -6.690771130e-05f, -6.682170842e-05f, -6.673559763e-05f, -6.664937909e-05f, -6.656305296e-05f,
+-6.647661940e-05f, -6.639007857e-05f, -6.630343062e-05f, -6.621667572e-05f, -6.612981403e-05f, -6.604284570e-05f, -6.595577089e-05f, -6.586858978e-05f, -6.578130250e-05f, -6.569390924e-05f,
+-6.560641014e-05f, -6.551880537e-05f, -6.543109508e-05f, -6.534327945e-05f, -6.525535863e-05f, -6.516733278e-05f, -6.507920207e-05f, -6.499096665e-05f, -6.490262670e-05f, -6.481418236e-05f,
+-6.472563380e-05f, -6.463698119e-05f, -6.454822469e-05f, -6.445936446e-05f, -6.437040067e-05f, -6.428133347e-05f, -6.419216303e-05f, -6.410288951e-05f, -6.401351309e-05f, -6.392403391e-05f,
+-6.383445215e-05f, -6.374476797e-05f, -6.365498153e-05f, -6.356509300e-05f, -6.347510255e-05f, -6.338501033e-05f, -6.329481652e-05f, -6.320452127e-05f, -6.311412475e-05f, -6.302362714e-05f,
+-6.293302859e-05f, -6.284232927e-05f, -6.275152934e-05f, -6.266062898e-05f, -6.256962834e-05f, -6.247852760e-05f, -6.238732692e-05f, -6.229602647e-05f, -6.220462641e-05f, -6.211312691e-05f,
+-6.202152815e-05f, -6.192983028e-05f, -6.183803347e-05f, -6.174613789e-05f, -6.165414372e-05f, -6.156205111e-05f, -6.146986023e-05f, -6.137757126e-05f, -6.128518436e-05f, -6.119269971e-05f,
+-6.110011746e-05f, -6.100743779e-05f, -6.091466086e-05f, -6.082178686e-05f, -6.072881594e-05f, -6.063574827e-05f, -6.054258403e-05f, -6.044932338e-05f, -6.035596650e-05f, -6.026251356e-05f,
+-6.016896471e-05f, -6.007532015e-05f, -5.998158003e-05f, -5.988774453e-05f, -5.979381381e-05f, -5.969978806e-05f, -5.960566743e-05f, -5.951145210e-05f, -5.941714225e-05f, -5.932273804e-05f,
+-5.922823965e-05f, -5.913364725e-05f, -5.903896100e-05f, -5.894418109e-05f, -5.884930768e-05f, -5.875434095e-05f, -5.865928107e-05f, -5.856412821e-05f, -5.846888255e-05f, -5.837354425e-05f,
+-5.827811350e-05f, -5.818259046e-05f, -5.808697531e-05f, -5.799126822e-05f, -5.789546937e-05f, -5.779957893e-05f, -5.770359707e-05f, -5.760752398e-05f, -5.751135981e-05f, -5.741510475e-05f,
+-5.731875897e-05f, -5.722232265e-05f, -5.712579596e-05f, -5.702917908e-05f, -5.693247218e-05f, -5.683567544e-05f, -5.673878902e-05f, -5.664181312e-05f, -5.654474790e-05f, -5.644759354e-05f,
+-5.635035022e-05f, -5.625301811e-05f, -5.615559739e-05f, -5.605808823e-05f, -5.596049082e-05f, -5.586280532e-05f, -5.576503192e-05f, -5.566717079e-05f, -5.556922211e-05f, -5.547118606e-05f,
+-5.537306281e-05f, -5.527485254e-05f, -5.517655544e-05f, -5.507817167e-05f, -5.497970141e-05f, -5.488114485e-05f, -5.478250216e-05f, -5.468377352e-05f, -5.458495911e-05f, -5.448605910e-05f,
+-5.438707368e-05f, -5.428800303e-05f, -5.418884732e-05f, -5.408960673e-05f, -5.399028144e-05f, -5.389087164e-05f, -5.379137749e-05f, -5.369179919e-05f, -5.359213691e-05f, -5.349239083e-05f,
+-5.339256113e-05f, -5.329264799e-05f, -5.319265159e-05f, -5.309257211e-05f, -5.299240973e-05f, -5.289216464e-05f, -5.279183701e-05f, -5.269142703e-05f, -5.259093487e-05f, -5.249036072e-05f,
+-5.238970475e-05f, -5.228896716e-05f, -5.218814811e-05f, -5.208724780e-05f, -5.198626641e-05f, -5.188520411e-05f, -5.178406109e-05f, -5.168283753e-05f, -5.158153362e-05f, -5.148014953e-05f,
+-5.137868545e-05f, -5.127714156e-05f, -5.117551804e-05f, -5.107381508e-05f, -5.097203286e-05f, -5.087017156e-05f, -5.076823138e-05f, -5.066621248e-05f, -5.056411505e-05f, -5.046193928e-05f,
+-5.035968535e-05f, -5.025735345e-05f, -5.015494375e-05f, -5.005245645e-05f, -4.994989172e-05f, -4.984724976e-05f, -4.974453074e-05f, -4.964173485e-05f, -4.953886228e-05f, -4.943591321e-05f,
+-4.933288782e-05f, -4.922978631e-05f, -4.912660885e-05f, -4.902335563e-05f, -4.892002683e-05f, -4.881662265e-05f, -4.871314326e-05f, -4.860958886e-05f, -4.850595963e-05f, -4.840225575e-05f,
+-4.829847741e-05f, -4.819462480e-05f, -4.809069810e-05f, -4.798669751e-05f, -4.788262320e-05f, -4.777847536e-05f, -4.767425418e-05f, -4.756995985e-05f, -4.746559255e-05f, -4.736115248e-05f,
+-4.725663981e-05f, -4.715205474e-05f, -4.704739745e-05f, -4.694266813e-05f, -4.683786697e-05f, -4.673299415e-05f, -4.662804987e-05f, -4.652303431e-05f, -4.641794766e-05f, -4.631279010e-05f,
+-4.620756183e-05f, -4.610226304e-05f, -4.599689391e-05f, -4.589145463e-05f, -4.578594539e-05f, -4.568036639e-05f, -4.557471779e-05f, -4.546899981e-05f, -4.536321262e-05f, -4.525735642e-05f,
+-4.515143139e-05f, -4.504543772e-05f, -4.493937561e-05f, -4.483324525e-05f, -4.472704681e-05f, -4.462078050e-05f, -4.451444650e-05f, -4.440804500e-05f, -4.430157620e-05f, -4.419504028e-05f,
+-4.408843743e-05f, -4.398176784e-05f, -4.387503171e-05f, -4.376822923e-05f, -4.366136058e-05f, -4.355442596e-05f, -4.344742555e-05f, -4.334035955e-05f, -4.323322816e-05f, -4.312603155e-05f,
+-4.301876992e-05f, -4.291144347e-05f, -4.280405239e-05f, -4.269659686e-05f, -4.258907707e-05f, -4.248149323e-05f, -4.237384552e-05f, -4.226613413e-05f, -4.215835926e-05f, -4.205052110e-05f,
+-4.194261984e-05f, -4.183465567e-05f, -4.172662878e-05f, -4.161853937e-05f, -4.151038764e-05f, -4.140217376e-05f, -4.129389794e-05f, -4.118556037e-05f, -4.107716124e-05f, -4.096870075e-05f,
+-4.086017908e-05f, -4.075159643e-05f, -4.064295300e-05f, -4.053424897e-05f, -4.042548455e-05f, -4.031665992e-05f, -4.020777528e-05f, -4.009883082e-05f, -3.998982673e-05f, -3.988076322e-05f,
+-3.977164047e-05f, -3.966245868e-05f, -3.955321804e-05f, -3.944391874e-05f, -3.933456099e-05f, -3.922514497e-05f, -3.911567089e-05f, -3.900613892e-05f, -3.889654928e-05f, -3.878690215e-05f,
+-3.867719773e-05f, -3.856743621e-05f, -3.845761779e-05f, -3.834774266e-05f, -3.823781102e-05f, -3.812782307e-05f, -3.801777900e-05f, -3.790767900e-05f, -3.779752327e-05f, -3.768731200e-05f,
+-3.757704540e-05f, -3.746672366e-05f, -3.735634697e-05f, -3.724591553e-05f, -3.713542953e-05f, -3.702488917e-05f, -3.691429465e-05f, -3.680364617e-05f, -3.669294391e-05f, -3.658218808e-05f,
+-3.647137887e-05f, -3.636051648e-05f, -3.624960111e-05f, -3.613863295e-05f, -3.602761220e-05f, -3.591653905e-05f, -3.580541370e-05f, -3.569423636e-05f, -3.558300721e-05f, -3.547172645e-05f,
+-3.536039429e-05f, -3.524901091e-05f, -3.513757652e-05f, -3.502609131e-05f, -3.491455548e-05f, -3.480296923e-05f, -3.469133275e-05f, -3.457964625e-05f, -3.446790991e-05f, -3.435612395e-05f,
+-3.424428855e-05f, -3.413240391e-05f, -3.402047024e-05f, -3.390848773e-05f, -3.379645657e-05f, -3.368437697e-05f, -3.357224913e-05f, -3.346007323e-05f, -3.334784949e-05f, -3.323557810e-05f,
+-3.312325926e-05f, -3.301089316e-05f, -3.289848001e-05f, -3.278602001e-05f, -3.267351334e-05f, -3.256096022e-05f, -3.244836084e-05f, -3.233571540e-05f, -3.222302410e-05f, -3.211028713e-05f,
+-3.199750470e-05f, -3.188467701e-05f, -3.177180425e-05f, -3.165888663e-05f, -3.154592434e-05f, -3.143291759e-05f, -3.131986657e-05f, -3.120677148e-05f, -3.109363252e-05f, -3.098044989e-05f,
+-3.086722380e-05f, -3.075395444e-05f, -3.064064201e-05f, -3.052728671e-05f, -3.041388874e-05f, -3.030044830e-05f, -3.018696559e-05f, -3.007344082e-05f, -2.995987418e-05f, -2.984626586e-05f,
+-2.973261608e-05f, -2.961892504e-05f, -2.950519292e-05f, -2.939141994e-05f, -2.927760629e-05f, -2.916375218e-05f, -2.904985780e-05f, -2.893592336e-05f, -2.882194905e-05f, -2.870793508e-05f,
+-2.859388165e-05f, -2.847978896e-05f, -2.836565720e-05f, -2.825148659e-05f, -2.813727732e-05f, -2.802302959e-05f, -2.790874361e-05f, -2.779441957e-05f, -2.768005768e-05f, -2.756565813e-05f,
+-2.745122113e-05f, -2.733674689e-05f, -2.722223559e-05f, -2.710768745e-05f, -2.699310266e-05f, -2.687848143e-05f, -2.676382396e-05f, -2.664913044e-05f, -2.653440109e-05f, -2.641963610e-05f,
+-2.630483567e-05f, -2.619000001e-05f, -2.607512932e-05f, -2.596022379e-05f, -2.584528364e-05f, -2.573030907e-05f, -2.561530026e-05f, -2.550025744e-05f, -2.538518080e-05f, -2.527007053e-05f,
+-2.515492686e-05f, -2.503974997e-05f, -2.492454006e-05f, -2.480929735e-05f, -2.469402203e-05f, -2.457871431e-05f, -2.446337439e-05f, -2.434800247e-05f, -2.423259874e-05f, -2.411716343e-05f,
+-2.400169672e-05f, -2.388619883e-05f, -2.377066994e-05f, -2.365511028e-05f, -2.353952003e-05f, -2.342389940e-05f, -2.330824860e-05f, -2.319256783e-05f, -2.307685728e-05f, -2.296111717e-05f,
+-2.284534769e-05f, -2.272954905e-05f, -2.261372146e-05f, -2.249786510e-05f, -2.238198020e-05f, -2.226606695e-05f, -2.215012554e-05f, -2.203415620e-05f, -2.191815912e-05f, -2.180213450e-05f,
+-2.168608254e-05f, -2.157000346e-05f, -2.145389745e-05f, -2.133776471e-05f, -2.122160546e-05f, -2.110541988e-05f, -2.098920820e-05f, -2.087297060e-05f, -2.075670730e-05f, -2.064041849e-05f,
+-2.052410438e-05f, -2.040776518e-05f, -2.029140108e-05f, -2.017501230e-05f, -2.005859903e-05f, -1.994216147e-05f, -1.982569984e-05f, -1.970921434e-05f, -1.959270516e-05f, -1.947617251e-05f,
+-1.935961660e-05f, -1.924303764e-05f, -1.912643581e-05f, -1.900981133e-05f, -1.889316441e-05f, -1.877649524e-05f, -1.865980403e-05f, -1.854309098e-05f, -1.842635630e-05f, -1.830960019e-05f,
+-1.819282285e-05f, -1.807602449e-05f, -1.795920532e-05f, -1.784236553e-05f, -1.772550533e-05f, -1.760862493e-05f, -1.749172453e-05f, -1.737480433e-05f, -1.725786453e-05f, -1.714090535e-05f,
+-1.702392698e-05f, -1.690692964e-05f, -1.678991351e-05f, -1.667287881e-05f, -1.655582575e-05f, -1.643875452e-05f, -1.632166533e-05f, -1.620455838e-05f, -1.608743388e-05f, -1.597029204e-05f,
+-1.585313305e-05f, -1.573595712e-05f, -1.561876446e-05f, -1.550155527e-05f, -1.538432975e-05f, -1.526708811e-05f, -1.514983055e-05f, -1.503255728e-05f, -1.491526850e-05f, -1.479796442e-05f,
+-1.468064523e-05f, -1.456331115e-05f, -1.444596238e-05f, -1.432859912e-05f, -1.421122158e-05f, -1.409382996e-05f, -1.397642447e-05f, -1.385900531e-05f, -1.374157268e-05f, -1.362412679e-05f,
+-1.350666784e-05f, -1.338919604e-05f, -1.327171160e-05f, -1.315421471e-05f, -1.303670558e-05f, -1.291918442e-05f, -1.280165142e-05f, -1.268410681e-05f, -1.256655077e-05f, -1.244898351e-05f,
+-1.233140524e-05f, -1.221381617e-05f, -1.209621649e-05f, -1.197860641e-05f, -1.186098614e-05f, -1.174335587e-05f, -1.162571582e-05f, -1.150806619e-05f, -1.139040718e-05f, -1.127273900e-05f,
+-1.115506186e-05f, -1.103737594e-05f, -1.091968147e-05f, -1.080197865e-05f, -1.068426767e-05f, -1.056654875e-05f, -1.044882208e-05f, -1.033108788e-05f, -1.021334635e-05f, -1.009559768e-05f,
+-9.977842098e-06f, -9.860079791e-06f, -9.742310969e-06f, -9.624535836e-06f, -9.506754596e-06f, -9.388967453e-06f, -9.271174613e-06f, -9.153376279e-06f, -9.035572655e-06f, -8.917763947e-06f,
+-8.799950357e-06f, -8.682132091e-06f, -8.564309353e-06f, -8.446482347e-06f, -8.328651277e-06f, -8.210816347e-06f, -8.092977762e-06f, -7.975135727e-06f, -7.857290444e-06f, -7.739442119e-06f,
+-7.621590955e-06f, -7.503737157e-06f, -7.385880929e-06f, -7.268022474e-06f, -7.150161998e-06f, -7.032299704e-06f, -6.914435797e-06f, -6.796570479e-06f, -6.678703957e-06f, -6.560836432e-06f,
+-6.442968111e-06f, -6.325099196e-06f, -6.207229891e-06f, -6.089360401e-06f, -5.971490929e-06f, -5.853621680e-06f, -5.735752857e-06f, -5.617884665e-06f, -5.500017306e-06f, -5.382150986e-06f,
+-5.264285907e-06f, -5.146422274e-06f, -5.028560291e-06f, -4.910700160e-06f, -4.792842087e-06f, -4.674986275e-06f, -4.557132927e-06f, -4.439282247e-06f, -4.321434439e-06f, -4.203589707e-06f,
+-4.085748254e-06f, -3.967910283e-06f, -3.850075999e-06f, -3.732245605e-06f, -3.614419304e-06f, -3.496597300e-06f, -3.378779796e-06f, -3.260966997e-06f, -3.143159104e-06f, -3.025356322e-06f,
+-2.907558854e-06f, -2.789766904e-06f, -2.671980674e-06f, -2.554200368e-06f, -2.436426189e-06f, -2.318658341e-06f, -2.200897027e-06f, -2.083142449e-06f, -1.965394811e-06f, -1.847654317e-06f,
+-1.729921168e-06f, -1.612195569e-06f, -1.494477722e-06f, -1.376767831e-06f, -1.259066097e-06f, -1.141372725e-06f, -1.023687916e-06f, -9.060118746e-07f, -7.883448027e-07f, -6.706869033e-07f,
+-5.530383792e-07f, -4.353994329e-07f, -3.177702674e-07f, -2.001510851e-07f, -8.254208878e-08f, 3.505651907e-08f, 1.526445359e-07f, 2.702217591e-07f, 3.877879863e-07f, 5.053430151e-07f,
+6.228866430e-07f, 7.404186677e-07f, 8.579388868e-07f, 9.754470982e-07f, 1.092943099e-06f, 1.210426688e-06f, 1.327897663e-06f, 1.445355821e-06f, 1.562800960e-06f, 1.680232879e-06f,
+1.797651375e-06f, 1.915056246e-06f, 2.032447291e-06f, 2.149824307e-06f, 2.267187093e-06f, 2.384535447e-06f, 2.501869167e-06f, 2.619188051e-06f, 2.736491898e-06f, 2.853780507e-06f,
+2.971053675e-06f, 3.088311201e-06f, 3.205552884e-06f, 3.322778521e-06f, 3.439987913e-06f, 3.557180857e-06f, 3.674357152e-06f, 3.791516597e-06f, 3.908658990e-06f, 4.025784131e-06f,
+4.142891819e-06f, 4.259981851e-06f, 4.377054028e-06f, 4.494108148e-06f, 4.611144011e-06f, 4.728161415e-06f, 4.845160160e-06f, 4.962140045e-06f, 5.079100869e-06f, 5.196042432e-06f,
+5.312964532e-06f, 5.429866970e-06f, 5.546749545e-06f, 5.663612056e-06f, 5.780454304e-06f, 5.897276087e-06f, 6.014077205e-06f, 6.130857458e-06f, 6.247616647e-06f, 6.364354570e-06f,
+6.481071028e-06f, 6.597765820e-06f, 6.714438748e-06f, 6.831089610e-06f, 6.947718207e-06f, 7.064324339e-06f, 7.180907806e-06f, 7.297468409e-06f, 7.414005949e-06f, 7.530520224e-06f,
+7.647011037e-06f, 7.763478187e-06f, 7.879921476e-06f, 7.996340703e-06f, 8.112735669e-06f, 8.229106176e-06f, 8.345452024e-06f, 8.461773014e-06f, 8.578068947e-06f, 8.694339624e-06f,
+8.810584846e-06f, 8.926804414e-06f, 9.042998130e-06f, 9.159165795e-06f, 9.275307209e-06f, 9.391422175e-06f, 9.507510494e-06f, 9.623571967e-06f, 9.739606396e-06f, 9.855613583e-06f,
+9.971593329e-06f, 1.008754544e-05f, 1.020346971e-05f, 1.031936594e-05f, 1.043523394e-05f, 1.055107352e-05f, 1.066688446e-05f, 1.078266657e-05f, 1.089841966e-05f, 1.101414353e-05f,
+1.112983798e-05f, 1.124550281e-05f, 1.136113783e-05f, 1.147674283e-05f, 1.159231763e-05f, 1.170786202e-05f, 1.182337580e-05f, 1.193885879e-05f, 1.205431077e-05f, 1.216973156e-05f,
+1.228512096e-05f, 1.240047877e-05f, 1.251580479e-05f, 1.263109883e-05f, 1.274636069e-05f, 1.286159017e-05f, 1.297678709e-05f, 1.309195123e-05f, 1.320708241e-05f, 1.332218043e-05f,
+1.343724510e-05f, 1.355227620e-05f, 1.366727356e-05f, 1.378223698e-05f, 1.389716625e-05f, 1.401206119e-05f, 1.412692159e-05f, 1.424174726e-05f, 1.435653801e-05f, 1.447129365e-05f,
+1.458601396e-05f, 1.470069877e-05f, 1.481534787e-05f, 1.492996107e-05f, 1.504453817e-05f, 1.515907899e-05f, 1.527358332e-05f, 1.538805096e-05f, 1.550248174e-05f, 1.561687544e-05f,
+1.573123188e-05f, 1.584555086e-05f, 1.595983218e-05f, 1.607407566e-05f, 1.618828110e-05f, 1.630244829e-05f, 1.641657706e-05f, 1.653066721e-05f, 1.664471853e-05f, 1.675873085e-05f,
+1.687270395e-05f, 1.698663766e-05f, 1.710053177e-05f, 1.721438610e-05f, 1.732820045e-05f, 1.744197462e-05f, 1.755570843e-05f, 1.766940167e-05f, 1.778305417e-05f, 1.789666571e-05f,
+1.801023612e-05f, 1.812376520e-05f, 1.823725275e-05f, 1.835069858e-05f, 1.846410251e-05f, 1.857746433e-05f, 1.869078385e-05f, 1.880406090e-05f, 1.891729526e-05f, 1.903048675e-05f,
+1.914363517e-05f, 1.925674034e-05f, 1.936980207e-05f, 1.948282015e-05f, 1.959579441e-05f, 1.970872464e-05f, 1.982161066e-05f, 1.993445228e-05f, 2.004724930e-05f, 2.016000153e-05f,
+2.027270878e-05f, 2.038537087e-05f, 2.049798759e-05f, 2.061055876e-05f, 2.072308419e-05f, 2.083556369e-05f, 2.094799707e-05f, 2.106038414e-05f, 2.117272470e-05f, 2.128501856e-05f,
+2.139726555e-05f, 2.150946545e-05f, 2.162161810e-05f, 2.173372329e-05f, 2.184578084e-05f, 2.195779056e-05f, 2.206975225e-05f, 2.218166573e-05f, 2.229353081e-05f, 2.240534731e-05f,
+2.251711502e-05f, 2.262883376e-05f, 2.274050334e-05f, 2.285212358e-05f, 2.296369429e-05f, 2.307521527e-05f, 2.318668634e-05f, 2.329810731e-05f, 2.340947799e-05f, 2.352079819e-05f,
+2.363206773e-05f, 2.374328641e-05f, 2.385445406e-05f, 2.396557047e-05f, 2.407663547e-05f, 2.418764887e-05f, 2.429861047e-05f, 2.440952010e-05f, 2.452037756e-05f, 2.463118267e-05f,
+2.474193524e-05f, 2.485263508e-05f, 2.496328200e-05f, 2.507387583e-05f, 2.518441637e-05f, 2.529490343e-05f, 2.540533684e-05f, 2.551571640e-05f, 2.562604192e-05f, 2.573631323e-05f,
+2.584653014e-05f, 2.595669245e-05f, 2.606679999e-05f, 2.617685257e-05f, 2.628685000e-05f, 2.639679209e-05f, 2.650667867e-05f, 2.661650955e-05f, 2.672628454e-05f, 2.683600346e-05f,
+2.694566611e-05f, 2.705527233e-05f, 2.716482192e-05f, 2.727431470e-05f, 2.738375048e-05f, 2.749312908e-05f, 2.760245032e-05f, 2.771171401e-05f, 2.782091997e-05f, 2.793006802e-05f,
+2.803915796e-05f, 2.814818962e-05f, 2.825716282e-05f, 2.836607736e-05f, 2.847493307e-05f, 2.858372977e-05f, 2.869246726e-05f, 2.880114538e-05f, 2.890976393e-05f, 2.901832273e-05f,
+2.912682161e-05f, 2.923526037e-05f, 2.934363884e-05f, 2.945195683e-05f, 2.956021417e-05f, 2.966841066e-05f, 2.977654613e-05f, 2.988462040e-05f, 2.999263328e-05f, 3.010058460e-05f,
+3.020847417e-05f, 3.031630181e-05f, 3.042406734e-05f, 3.053177058e-05f, 3.063941135e-05f, 3.074698947e-05f, 3.085450475e-05f, 3.096195702e-05f, 3.106934610e-05f, 3.117667180e-05f,
+3.128393396e-05f, 3.139113237e-05f, 3.149826688e-05f, 3.160533729e-05f, 3.171234343e-05f, 3.181928512e-05f, 3.192616217e-05f, 3.203297442e-05f, 3.213972168e-05f, 3.224640377e-05f,
+3.235302051e-05f, 3.245957173e-05f, 3.256605724e-05f, 3.267247688e-05f, 3.277883045e-05f, 3.288511778e-05f, 3.299133870e-05f, 3.309749302e-05f, 3.320358057e-05f, 3.330960117e-05f,
+3.341555465e-05f, 3.352144082e-05f, 3.362725951e-05f, 3.373301054e-05f, 3.383869373e-05f, 3.394430892e-05f, 3.404985591e-05f, 3.415533454e-05f, 3.426074463e-05f, 3.436608600e-05f,
+3.447135847e-05f, 3.457656188e-05f, 3.468169604e-05f, 3.478676078e-05f, 3.489175592e-05f, 3.499668129e-05f, 3.510153671e-05f, 3.520632201e-05f, 3.531103701e-05f, 3.541568153e-05f,
+3.552025541e-05f, 3.562475847e-05f, 3.572919053e-05f, 3.583355142e-05f, 3.593784097e-05f, 3.604205899e-05f, 3.614620533e-05f, 3.625027979e-05f, 3.635428222e-05f, 3.645821243e-05f,
+3.656207025e-05f, 3.666585552e-05f, 3.676956805e-05f, 3.687320767e-05f, 3.697677421e-05f, 3.708026750e-05f, 3.718368737e-05f, 3.728703364e-05f, 3.739030614e-05f, 3.749350471e-05f,
+3.759662915e-05f, 3.769967932e-05f, 3.780265502e-05f, 3.790555610e-05f, 3.800838238e-05f, 3.811113369e-05f, 3.821380986e-05f, 3.831641071e-05f, 3.841893608e-05f, 3.852138580e-05f,
+3.862375969e-05f, 3.872605759e-05f, 3.882827933e-05f, 3.893042473e-05f, 3.903249362e-05f, 3.913448584e-05f, 3.923640121e-05f, 3.933823958e-05f, 3.944000076e-05f, 3.954168458e-05f,
+3.964329089e-05f, 3.974481951e-05f, 3.984627026e-05f, 3.994764299e-05f, 4.004893753e-05f, 4.015015370e-05f, 4.025129134e-05f, 4.035235028e-05f, 4.045333035e-05f, 4.055423139e-05f,
+4.065505322e-05f, 4.075579569e-05f, 4.085645862e-05f, 4.095704184e-05f, 4.105754519e-05f, 4.115796850e-05f, 4.125831161e-05f, 4.135857435e-05f, 4.145875655e-05f, 4.155885805e-05f,
+4.165887868e-05f, 4.175881827e-05f, 4.185867666e-05f, 4.195845369e-05f, 4.205814919e-05f, 4.215776298e-05f, 4.225729492e-05f, 4.235674483e-05f, 4.245611255e-05f, 4.255539791e-05f,
+4.265460076e-05f, 4.275372091e-05f, 4.285275822e-05f, 4.295171252e-05f, 4.305058364e-05f, 4.314937142e-05f, 4.324807570e-05f, 4.334669631e-05f, 4.344523309e-05f, 4.354368588e-05f,
+4.364205451e-05f, 4.374033883e-05f, 4.383853866e-05f, 4.393665385e-05f, 4.403468424e-05f, 4.413262965e-05f, 4.423048994e-05f, 4.432826494e-05f, 4.442595449e-05f, 4.452355842e-05f,
+4.462107658e-05f, 4.471850880e-05f, 4.481585493e-05f, 4.491311480e-05f, 4.501028825e-05f, 4.510737512e-05f, 4.520437525e-05f, 4.530128849e-05f, 4.539811466e-05f, 4.549485362e-05f,
+4.559150520e-05f, 4.568806924e-05f, 4.578454559e-05f, 4.588093408e-05f, 4.597723456e-05f, 4.607344686e-05f, 4.616957084e-05f, 4.626560632e-05f, 4.636155315e-05f, 4.645741118e-05f,
+4.655318024e-05f, 4.664886019e-05f, 4.674445085e-05f, 4.683995207e-05f, 4.693536371e-05f, 4.703068559e-05f, 4.712591756e-05f, 4.722105947e-05f, 4.731611115e-05f, 4.741107246e-05f,
+4.750594324e-05f, 4.760072333e-05f, 4.769541257e-05f, 4.779001080e-05f, 4.788451789e-05f, 4.797893366e-05f, 4.807325796e-05f, 4.816749064e-05f, 4.826163154e-05f, 4.835568052e-05f,
+4.844963740e-05f, 4.854350205e-05f, 4.863727430e-05f, 4.873095400e-05f, 4.882454100e-05f, 4.891803514e-05f, 4.901143627e-05f, 4.910474424e-05f, 4.919795890e-05f, 4.929108009e-05f,
+4.938410765e-05f, 4.947704144e-05f, 4.956988131e-05f, 4.966262709e-05f, 4.975527865e-05f, 4.984783582e-05f, 4.994029846e-05f, 5.003266641e-05f, 5.012493953e-05f, 5.021711766e-05f,
+5.030920065e-05f, 5.040118835e-05f, 5.049308061e-05f, 5.058487728e-05f, 5.067657820e-05f, 5.076818324e-05f, 5.085969223e-05f, 5.095110504e-05f, 5.104242150e-05f, 5.113364148e-05f,
+5.122476481e-05f, 5.131579136e-05f, 5.140672097e-05f, 5.149755350e-05f, 5.158828879e-05f, 5.167892670e-05f, 5.176946708e-05f, 5.185990978e-05f, 5.195025466e-05f, 5.204050156e-05f,
+5.213065034e-05f, 5.222070086e-05f, 5.231065296e-05f, 5.240050650e-05f, 5.249026133e-05f, 5.257991730e-05f, 5.266947428e-05f, 5.275893211e-05f, 5.284829064e-05f, 5.293754974e-05f,
+5.302670925e-05f, 5.311576904e-05f, 5.320472895e-05f, 5.329358884e-05f, 5.338234856e-05f, 5.347100798e-05f, 5.355956695e-05f, 5.364802531e-05f, 5.373638294e-05f, 5.382463968e-05f,
+5.391279539e-05f, 5.400084993e-05f, 5.408880315e-05f, 5.417665492e-05f, 5.426440508e-05f, 5.435205350e-05f, 5.443960003e-05f, 5.452704454e-05f, 5.461438687e-05f, 5.470162689e-05f,
+5.478876445e-05f, 5.487579942e-05f, 5.496273165e-05f, 5.504956100e-05f, 5.513628733e-05f, 5.522291050e-05f, 5.530943037e-05f, 5.539584680e-05f, 5.548215964e-05f, 5.556836876e-05f,
+5.565447402e-05f, 5.574047528e-05f, 5.582637240e-05f, 5.591216524e-05f, 5.599785365e-05f, 5.608343751e-05f, 5.616891667e-05f, 5.625429100e-05f, 5.633956035e-05f, 5.642472459e-05f,
+5.650978358e-05f, 5.659473719e-05f, 5.667958527e-05f, 5.676432768e-05f, 5.684896430e-05f, 5.693349498e-05f, 5.701791958e-05f, 5.710223798e-05f, 5.718645003e-05f, 5.727055560e-05f,
+5.735455455e-05f, 5.743844675e-05f, 5.752223205e-05f, 5.760591033e-05f, 5.768948145e-05f, 5.777294528e-05f, 5.785630168e-05f, 5.793955051e-05f, 5.802269164e-05f, 5.810572494e-05f,
+5.818865027e-05f, 5.827146751e-05f, 5.835417650e-05f, 5.843677713e-05f, 5.851926926e-05f, 5.860165276e-05f, 5.868392749e-05f, 5.876609332e-05f, 5.884815011e-05f, 5.893009775e-05f,
+5.901193608e-05f, 5.909366500e-05f, 5.917528435e-05f, 5.925679401e-05f, 5.933819385e-05f, 5.941948373e-05f, 5.950066353e-05f, 5.958173312e-05f, 5.966269237e-05f, 5.974354114e-05f,
+5.982427930e-05f, 5.990490673e-05f, 5.998542330e-05f, 6.006582887e-05f, 6.014612332e-05f, 6.022630652e-05f, 6.030637834e-05f, 6.038633865e-05f, 6.046618733e-05f, 6.054592424e-05f,
+6.062554925e-05f, 6.070506225e-05f, 6.078446310e-05f, 6.086375167e-05f, 6.094292784e-05f, 6.102199148e-05f, 6.110094246e-05f, 6.117978066e-05f, 6.125850596e-05f, 6.133711821e-05f,
+6.141561731e-05f, 6.149400312e-05f, 6.157227552e-05f, 6.165043438e-05f, 6.172847957e-05f, 6.180641099e-05f, 6.188422848e-05f, 6.196193195e-05f, 6.203952125e-05f, 6.211699627e-05f,
+6.219435688e-05f, 6.227160296e-05f, 6.234873438e-05f, 6.242575103e-05f, 6.250265277e-05f, 6.257943950e-05f, 6.265611107e-05f, 6.273266738e-05f, 6.280910829e-05f, 6.288543369e-05f,
+6.296164346e-05f, 6.303773748e-05f, 6.311371561e-05f, 6.318957775e-05f, 6.326532377e-05f, 6.334095355e-05f, 6.341646696e-05f, 6.349186390e-05f, 6.356714424e-05f, 6.364230786e-05f,
+6.371735464e-05f, 6.379228446e-05f, 6.386709720e-05f, 6.394179275e-05f, 6.401637098e-05f, 6.409083177e-05f, 6.416517502e-05f, 6.423940059e-05f, 6.431350837e-05f, 6.438749825e-05f,
+6.446137011e-05f, 6.453512382e-05f, 6.460875928e-05f, 6.468227636e-05f, 6.475567496e-05f, 6.482895494e-05f, 6.490211620e-05f, 6.497515862e-05f, 6.504808209e-05f, 6.512088649e-05f,
+6.519357170e-05f, 6.526613761e-05f, 6.533858410e-05f, 6.541091107e-05f, 6.548311839e-05f, 6.555520595e-05f, 6.562717364e-05f, 6.569902134e-05f, 6.577074894e-05f, 6.584235633e-05f,
+6.591384339e-05f, 6.598521001e-05f, 6.605645608e-05f, 6.612758149e-05f, 6.619858612e-05f, 6.626946986e-05f, 6.634023260e-05f, 6.641087423e-05f, 6.648139464e-05f, 6.655179371e-05f,
+6.662207133e-05f, 6.669222740e-05f, 6.676226180e-05f, 6.683217443e-05f, 6.690196517e-05f, 6.697163391e-05f, 6.704118055e-05f, 6.711060497e-05f, 6.717990707e-05f, 6.724908673e-05f,
+6.731814385e-05f, 6.738707832e-05f, 6.745589004e-05f, 6.752457888e-05f, 6.759314475e-05f, 6.766158754e-05f, 6.772990714e-05f, 6.779810344e-05f, 6.786617634e-05f, 6.793412573e-05f,
+6.800195150e-05f, 6.806965354e-05f, 6.813723176e-05f, 6.820468605e-05f, 6.827201629e-05f, 6.833922239e-05f, 6.840630423e-05f, 6.847326172e-05f, 6.854009475e-05f, 6.860680322e-05f,
+6.867338701e-05f, 6.873984604e-05f, 6.880618018e-05f, 6.887238935e-05f, 6.893847343e-05f, 6.900443233e-05f, 6.907026593e-05f, 6.913597414e-05f, 6.920155686e-05f, 6.926701398e-05f,
+6.933234541e-05f, 6.939755103e-05f, 6.946263075e-05f, 6.952758446e-05f, 6.959241207e-05f, 6.965711348e-05f, 6.972168858e-05f, 6.978613727e-05f, 6.985045946e-05f, 6.991465504e-05f,
+6.997872391e-05f, 7.004266598e-05f, 7.010648115e-05f, 7.017016931e-05f, 7.023373037e-05f, 7.029716422e-05f, 7.036047078e-05f, 7.042364994e-05f, 7.048670161e-05f, 7.054962568e-05f,
+7.061242206e-05f, 7.067509065e-05f, 7.073763136e-05f, 7.080004409e-05f, 7.086232874e-05f, 7.092448522e-05f, 7.098651343e-05f, 7.104841327e-05f, 7.111018465e-05f, 7.117182747e-05f,
+7.123334164e-05f, 7.129472707e-05f, 7.135598365e-05f, 7.141711130e-05f, 7.147810992e-05f, 7.153897941e-05f, 7.159971969e-05f, 7.166033066e-05f, 7.172081222e-05f, 7.178116428e-05f,
+7.184138676e-05f, 7.190147955e-05f, 7.196144257e-05f, 7.202127572e-05f, 7.208097892e-05f, 7.214055206e-05f, 7.219999506e-05f, 7.225930783e-05f, 7.231849027e-05f, 7.237754230e-05f,
+7.243646383e-05f, 7.249525476e-05f, 7.255391500e-05f, 7.261244447e-05f, 7.267084308e-05f, 7.272911073e-05f, 7.278724734e-05f, 7.284525282e-05f, 7.290312708e-05f, 7.296087003e-05f,
+7.301848159e-05f, 7.307596166e-05f, 7.313331016e-05f, 7.319052700e-05f, 7.324761209e-05f, 7.330456535e-05f, 7.336138669e-05f, 7.341807602e-05f, 7.347463326e-05f, 7.353105832e-05f,
+7.358735112e-05f, 7.364351157e-05f, 7.369953958e-05f, 7.375543507e-05f, 7.381119796e-05f, 7.386682816e-05f, 7.392232559e-05f, 7.397769015e-05f, 7.403292178e-05f, 7.408802038e-05f,
+7.414298587e-05f, 7.419781817e-05f, 7.425251719e-05f, 7.430708286e-05f, 7.436151509e-05f, 7.441581379e-05f, 7.446997889e-05f, 7.452401031e-05f, 7.457790796e-05f, 7.463167176e-05f,
+7.468530163e-05f, 7.473879749e-05f, 7.479215927e-05f, 7.484538687e-05f, 7.489848022e-05f, 7.495143924e-05f, 7.500426384e-05f, 7.505695397e-05f, 7.510950952e-05f, 7.516193042e-05f,
+7.521421660e-05f, 7.526636797e-05f, 7.531838447e-05f, 7.537026600e-05f, 7.542201249e-05f, 7.547362387e-05f, 7.552510006e-05f, 7.557644098e-05f, 7.562764655e-05f, 7.567871670e-05f,
+7.572965135e-05f, 7.578045043e-05f, 7.583111385e-05f, 7.588164155e-05f, 7.593203345e-05f, 7.598228948e-05f, 7.603240955e-05f, 7.608239360e-05f, 7.613224155e-05f, 7.618195333e-05f,
+7.623152886e-05f, 7.628096807e-05f, 7.633027089e-05f, 7.637943724e-05f, 7.642846705e-05f, 7.647736024e-05f, 7.652611676e-05f, 7.657473652e-05f, 7.662321944e-05f, 7.667156547e-05f,
+7.671977453e-05f, 7.676784655e-05f, 7.681578145e-05f, 7.686357917e-05f, 7.691123964e-05f, 7.695876278e-05f, 7.700614852e-05f, 7.705339681e-05f, 7.710050756e-05f, 7.714748071e-05f,
+7.719431618e-05f, 7.724101392e-05f, 7.728757385e-05f, 7.733399591e-05f, 7.738028002e-05f, 7.742642611e-05f, 7.747243413e-05f, 7.751830400e-05f, 7.756403566e-05f, 7.760962904e-05f,
+7.765508408e-05f, 7.770040070e-05f, 7.774557884e-05f, 7.779061843e-05f, 7.783551942e-05f, 7.788028174e-05f, 7.792490531e-05f, 7.796939008e-05f, 7.801373598e-05f, 7.805794294e-05f,
+7.810201091e-05f, 7.814593982e-05f, 7.818972960e-05f, 7.823338020e-05f, 7.827689154e-05f, 7.832026357e-05f, 7.836349623e-05f, 7.840658944e-05f, 7.844954316e-05f, 7.849235732e-05f,
+7.853503185e-05f, 7.857756669e-05f, 7.861996179e-05f, 7.866221709e-05f, 7.870433252e-05f, 7.874630801e-05f, 7.878814353e-05f, 7.882983899e-05f, 7.887139435e-05f, 7.891280954e-05f,
+7.895408451e-05f, 7.899521919e-05f, 7.903621353e-05f, 7.907706747e-05f, 7.911778096e-05f, 7.915835392e-05f, 7.919878631e-05f, 7.923907807e-05f, 7.927922914e-05f, 7.931923947e-05f,
+7.935910899e-05f, 7.939883766e-05f, 7.943842541e-05f, 7.947787220e-05f, 7.951717795e-05f, 7.955634263e-05f, 7.959536617e-05f, 7.963424852e-05f, 7.967298962e-05f, 7.971158943e-05f,
+7.975004788e-05f, 7.978836492e-05f, 7.982654050e-05f, 7.986457457e-05f, 7.990246707e-05f, 7.994021796e-05f, 7.997782716e-05f, 8.001529465e-05f, 8.005262035e-05f, 8.008980423e-05f,
+8.012684623e-05f, 8.016374629e-05f, 8.020050437e-05f, 8.023712042e-05f, 8.027359439e-05f, 8.030992622e-05f, 8.034611586e-05f, 8.038216327e-05f, 8.041806840e-05f, 8.045383119e-05f,
+8.048945160e-05f, 8.052492958e-05f, 8.056026508e-05f, 8.059545806e-05f, 8.063050845e-05f, 8.066541623e-05f, 8.070018133e-05f, 8.073480371e-05f, 8.076928332e-05f, 8.080362013e-05f,
+8.083781407e-05f, 8.087186511e-05f, 8.090577320e-05f, 8.093953829e-05f, 8.097316034e-05f, 8.100663930e-05f, 8.103997513e-05f, 8.107316777e-05f, 8.110621720e-05f, 8.113912336e-05f,
+8.117188621e-05f, 8.120450570e-05f, 8.123698180e-05f, 8.126931445e-05f, 8.130150362e-05f, 8.133354927e-05f, 8.136545134e-05f, 8.139720980e-05f, 8.142882461e-05f, 8.146029572e-05f,
+8.149162310e-05f, 8.152280670e-05f, 8.155384647e-05f, 8.158474239e-05f, 8.161549441e-05f, 8.164610248e-05f, 8.167656658e-05f, 8.170688665e-05f, 8.173706267e-05f, 8.176709458e-05f,
+8.179698236e-05f, 8.182672596e-05f, 8.185632534e-05f, 8.188578047e-05f, 8.191509131e-05f, 8.194425782e-05f, 8.197327996e-05f, 8.200215769e-05f, 8.203089099e-05f, 8.205947981e-05f,
+8.208792411e-05f, 8.211622387e-05f, 8.214437904e-05f, 8.217238958e-05f, 8.220025547e-05f, 8.222797666e-05f, 8.225555313e-05f, 8.228298484e-05f, 8.231027175e-05f, 8.233741383e-05f,
+8.236441104e-05f, 8.239126335e-05f, 8.241797074e-05f, 8.244453316e-05f, 8.247095058e-05f, 8.249722297e-05f, 8.252335029e-05f, 8.254933252e-05f, 8.257516963e-05f, 8.260086158e-05f,
+8.262640833e-05f, 8.265180987e-05f, 8.267706615e-05f, 8.270217715e-05f, 8.272714284e-05f, 8.275196319e-05f, 8.277663816e-05f, 8.280116773e-05f, 8.282555187e-05f, 8.284979054e-05f,
+8.287388373e-05f, 8.289783140e-05f, 8.292163352e-05f, 8.294529007e-05f, 8.296880102e-05f, 8.299216633e-05f, 8.301538599e-05f, 8.303845997e-05f, 8.306138823e-05f, 8.308417076e-05f,
+8.310680752e-05f, 8.312929849e-05f, 8.315164365e-05f, 8.317384296e-05f, 8.319589641e-05f, 8.321780397e-05f, 8.323956561e-05f, 8.326118130e-05f, 8.328265104e-05f, 8.330397478e-05f,
+8.332515252e-05f, 8.334618421e-05f, 8.336706985e-05f, 8.338780940e-05f, 8.340840285e-05f, 8.342885017e-05f, 8.344915135e-05f, 8.346930635e-05f, 8.348931515e-05f, 8.350917774e-05f,
+8.352889410e-05f, 8.354846420e-05f, 8.356788802e-05f, 8.358716554e-05f, 8.360629674e-05f, 8.362528161e-05f, 8.364412012e-05f, 8.366281225e-05f, 8.368135798e-05f, 8.369975730e-05f,
+8.371801019e-05f, 8.373611662e-05f, 8.375407658e-05f, 8.377189005e-05f, 8.378955702e-05f, 8.380707747e-05f, 8.382445137e-05f, 8.384167872e-05f, 8.385875949e-05f, 8.387569367e-05f,
+8.389248125e-05f, 8.390912220e-05f, 8.392561652e-05f, 8.394196418e-05f, 8.395816518e-05f, 8.397421949e-05f, 8.399012711e-05f, 8.400588801e-05f, 8.402150219e-05f, 8.403696962e-05f,
+8.405229031e-05f, 8.406746423e-05f, 8.408249137e-05f, 8.409737171e-05f, 8.411210526e-05f, 8.412669198e-05f, 8.414113188e-05f, 8.415542493e-05f, 8.416957114e-05f, 8.418357048e-05f,
+8.419742294e-05f, 8.421112852e-05f, 8.422468721e-05f, 8.423809899e-05f, 8.425136385e-05f, 8.426448179e-05f, 8.427745279e-05f, 8.429027685e-05f, 8.430295395e-05f, 8.431548410e-05f,
+8.432786727e-05f, 8.434010347e-05f, 8.435219268e-05f, 8.436413489e-05f, 8.437593011e-05f, 8.438757831e-05f, 8.439907950e-05f, 8.441043367e-05f, 8.442164081e-05f, 8.443270092e-05f,
+8.444361398e-05f, 8.445438000e-05f, 8.446499897e-05f, 8.447547088e-05f, 8.448579573e-05f, 8.449597351e-05f, 8.450600423e-05f, 8.451588786e-05f, 8.452562442e-05f, 8.453521390e-05f,
+8.454465630e-05f, 8.455395160e-05f, 8.456309982e-05f, 8.457210094e-05f, 8.458095496e-05f, 8.458966189e-05f, 8.459822172e-05f, 8.460663444e-05f, 8.461490007e-05f, 8.462301859e-05f,
+8.463099000e-05f, 8.463881431e-05f, 8.464649152e-05f, 8.465402162e-05f, 8.466140461e-05f, 8.466864050e-05f, 8.467572929e-05f, 8.468267097e-05f, 8.468946556e-05f, 8.469611304e-05f,
+8.470261342e-05f, 8.470896671e-05f, 8.471517291e-05f, 8.472123201e-05f, 8.472714402e-05f, 8.473290895e-05f, 8.473852680e-05f, 8.474399757e-05f, 8.474932126e-05f, 8.475449788e-05f,
+8.475952744e-05f, 8.476440993e-05f, 8.476914537e-05f, 8.477373375e-05f, 8.477817509e-05f, 8.478246939e-05f, 8.478661665e-05f, 8.479061688e-05f, 8.479447009e-05f, 8.479817628e-05f,
+8.480173546e-05f, 8.480514764e-05f, 8.480841283e-05f, 8.481153103e-05f, 8.481450225e-05f, 8.481732649e-05f, 8.482000378e-05f, 8.482253411e-05f, 8.482491749e-05f, 8.482715394e-05f,
+8.482924346e-05f, 8.483118607e-05f, 8.483298176e-05f, 8.483463056e-05f, 8.483613247e-05f, 8.483748751e-05f, 8.483869568e-05f, 8.483975700e-05f, 8.484067147e-05f, 8.484143911e-05f,
+8.484205994e-05f, 8.484253395e-05f, 8.484286117e-05f, 8.484304161e-05f, 8.484307528e-05f, 8.484296220e-05f, 8.484270237e-05f, 8.484229581e-05f, 8.484174254e-05f, 8.484104257e-05f,
+8.484019591e-05f, 8.483920258e-05f, 8.483806260e-05f, 8.483677597e-05f, 8.483534272e-05f, 8.483376286e-05f, 8.483203640e-05f, 8.483016337e-05f, 8.482814377e-05f, 8.482597763e-05f,
+8.482366496e-05f, 8.482120578e-05f, 8.481860011e-05f, 8.481584796e-05f, 8.481294936e-05f, 8.480990431e-05f, 8.480671285e-05f, 8.480337498e-05f, 8.479989074e-05f, 8.479626012e-05f,
+8.479248317e-05f, 8.478855988e-05f, 8.478449030e-05f, 8.478027443e-05f, 8.477591230e-05f, 8.477140392e-05f, 8.476674932e-05f, 8.476194852e-05f, 8.475700154e-05f, 8.475190841e-05f,
+8.474666914e-05f, 8.474128375e-05f, 8.473575228e-05f, 8.473007474e-05f, 8.472425115e-05f, 8.471828154e-05f, 8.471216593e-05f, 8.470590435e-05f, 8.469949682e-05f, 8.469294336e-05f,
+8.468624400e-05f, 8.467939876e-05f, 8.467240768e-05f, 8.466527076e-05f, 8.465798805e-05f, 8.465055955e-05f, 8.464298531e-05f, 8.463526535e-05f, 8.462739969e-05f, 8.461938836e-05f,
+8.461123139e-05f, 8.460292880e-05f, 8.459448062e-05f, 8.458588689e-05f, 8.457714762e-05f, 8.456826285e-05f, 8.455923260e-05f, 8.455005691e-05f, 8.454073579e-05f, 8.453126929e-05f,
+8.452165743e-05f, 8.451190025e-05f, 8.450199776e-05f, 8.449195000e-05f, 8.448175701e-05f, 8.447141880e-05f, 8.446093543e-05f, 8.445030690e-05f, 8.443953326e-05f, 8.442861454e-05f,
+8.441755077e-05f, 8.440634198e-05f, 8.439498821e-05f, 8.438348948e-05f, 8.437184583e-05f, 8.436005730e-05f, 8.434812392e-05f, 8.433604571e-05f, 8.432382272e-05f, 8.431145498e-05f,
+8.429894252e-05f, 8.428628538e-05f, 8.427348359e-05f, 8.426053719e-05f, 8.424744622e-05f, 8.423421070e-05f, 8.422083068e-05f, 8.420730619e-05f, 8.419363727e-05f, 8.417982395e-05f,
+8.416586628e-05f, 8.415176428e-05f, 8.413751800e-05f, 8.412312748e-05f, 8.410859274e-05f, 8.409391384e-05f, 8.407909080e-05f, 8.406412367e-05f, 8.404901249e-05f, 8.403375729e-05f,
+8.401835812e-05f, 8.400281501e-05f, 8.398712801e-05f, 8.397129715e-05f, 8.395532247e-05f, 8.393920402e-05f, 8.392294184e-05f, 8.390653596e-05f, 8.388998643e-05f, 8.387329329e-05f,
+8.385645659e-05f, 8.383947635e-05f, 8.382235264e-05f, 8.380508548e-05f, 8.378767493e-05f, 8.377012102e-05f, 8.375242380e-05f, 8.373458331e-05f, 8.371659959e-05f, 8.369847270e-05f,
+8.368020267e-05f, 8.366178955e-05f, 8.364323338e-05f, 8.362453421e-05f, 8.360569208e-05f, 8.358670705e-05f, 8.356757914e-05f, 8.354830842e-05f, 8.352889493e-05f, 8.350933871e-05f,
+8.348963981e-05f, 8.346979828e-05f, 8.344981416e-05f, 8.342968750e-05f, 8.340941835e-05f, 8.338900677e-05f, 8.336845278e-05f, 8.334775645e-05f, 8.332691783e-05f, 8.330593695e-05f,
+8.328481388e-05f, 8.326354866e-05f, 8.324214134e-05f, 8.322059196e-05f, 8.319890059e-05f, 8.317706727e-05f, 8.315509205e-05f, 8.313297498e-05f, 8.311071611e-05f, 8.308831550e-05f,
+8.306577319e-05f, 8.304308924e-05f, 8.302026370e-05f, 8.299729662e-05f, 8.297418806e-05f, 8.295093806e-05f, 8.292754669e-05f, 8.290401398e-05f, 8.288034001e-05f, 8.285652481e-05f,
+8.283256845e-05f, 8.280847098e-05f, 8.278423245e-05f, 8.275985292e-05f, 8.273533244e-05f, 8.271067107e-05f, 8.268586887e-05f, 8.266092588e-05f, 8.263584217e-05f, 8.261061779e-05f,
+8.258525279e-05f, 8.255974724e-05f, 8.253410119e-05f, 8.250831470e-05f, 8.248238782e-05f, 8.245632062e-05f, 8.243011315e-05f, 8.240376546e-05f, 8.237727763e-05f, 8.235064969e-05f,
+8.232388173e-05f, 8.229697378e-05f, 8.226992592e-05f, 8.224273820e-05f, 8.221541068e-05f, 8.218794342e-05f, 8.216033648e-05f, 8.213258992e-05f, 8.210470381e-05f, 8.207667820e-05f,
+8.204851315e-05f, 8.202020873e-05f, 8.199176500e-05f, 8.196318202e-05f, 8.193445984e-05f, 8.190559854e-05f, 8.187659818e-05f, 8.184745882e-05f, 8.181818051e-05f, 8.178876333e-05f,
+8.175920734e-05f, 8.172951260e-05f, 8.169967918e-05f, 8.166970714e-05f, 8.163959654e-05f, 8.160934745e-05f, 8.157895994e-05f, 8.154843406e-05f, 8.151776989e-05f, 8.148696749e-05f,
+8.145602692e-05f, 8.142494825e-05f, 8.139373156e-05f, 8.136237689e-05f, 8.133088433e-05f, 8.129925394e-05f, 8.126748578e-05f, 8.123557993e-05f, 8.120353644e-05f, 8.117135539e-05f,
+8.113903685e-05f, 8.110658089e-05f, 8.107398756e-05f, 8.104125695e-05f, 8.100838912e-05f, 8.097538414e-05f, 8.094224208e-05f, 8.090896301e-05f, 8.087554700e-05f, 8.084199412e-05f,
+8.080830444e-05f, 8.077447803e-05f, 8.074051496e-05f, 8.070641531e-05f, 8.067217913e-05f, 8.063780652e-05f, 8.060329753e-05f, 8.056865224e-05f, 8.053387073e-05f, 8.049895305e-05f,
+8.046389930e-05f, 8.042870953e-05f, 8.039338383e-05f, 8.035792227e-05f, 8.032232491e-05f, 8.028659184e-05f, 8.025072313e-05f, 8.021471885e-05f, 8.017857908e-05f, 8.014230388e-05f,
+8.010589335e-05f, 8.006934755e-05f, 8.003266655e-05f, 7.999585044e-05f, 7.995889929e-05f, 7.992181317e-05f, 7.988459217e-05f, 7.984723635e-05f, 7.980974580e-05f, 7.977212059e-05f,
+7.973436080e-05f, 7.969646651e-05f, 7.965843779e-05f, 7.962027473e-05f, 7.958197739e-05f, 7.954354587e-05f, 7.950498023e-05f, 7.946628056e-05f, 7.942744693e-05f, 7.938847943e-05f,
+7.934937813e-05f, 7.931014312e-05f, 7.927077448e-05f, 7.923127227e-05f, 7.919163660e-05f, 7.915186752e-05f, 7.911196514e-05f, 7.907192952e-05f, 7.903176075e-05f, 7.899145891e-05f,
+7.895102409e-05f, 7.891045635e-05f, 7.886975580e-05f, 7.882892250e-05f, 7.878795655e-05f, 7.874685801e-05f, 7.870562699e-05f, 7.866426356e-05f, 7.862276780e-05f, 7.858113980e-05f,
+7.853937964e-05f, 7.849748741e-05f, 7.845546319e-05f, 7.841330706e-05f, 7.837101911e-05f, 7.832859943e-05f, 7.828604810e-05f, 7.824336521e-05f, 7.820055084e-05f, 7.815760507e-05f,
+7.811452800e-05f, 7.807131971e-05f, 7.802798029e-05f, 7.798450982e-05f, 7.794090839e-05f, 7.789717609e-05f, 7.785331301e-05f, 7.780931923e-05f, 7.776519484e-05f, 7.772093993e-05f,
+7.767655459e-05f, 7.763203891e-05f, 7.758739297e-05f, 7.754261686e-05f, 7.749771068e-05f, 7.745267451e-05f, 7.740750845e-05f, 7.736221258e-05f, 7.731678699e-05f, 7.727123177e-05f,
+7.722554702e-05f, 7.717973282e-05f, 7.713378927e-05f, 7.708771645e-05f, 7.704151446e-05f, 7.699518340e-05f, 7.694872334e-05f, 7.690213438e-05f, 7.685541663e-05f, 7.680857016e-05f,
+7.676159507e-05f, 7.671449146e-05f, 7.666725941e-05f, 7.661989902e-05f, 7.657241039e-05f, 7.652479360e-05f, 7.647704876e-05f, 7.642917595e-05f, 7.638117528e-05f, 7.633304682e-05f,
+7.628479069e-05f, 7.623640697e-05f, 7.618789577e-05f, 7.613925716e-05f, 7.609049126e-05f, 7.604159816e-05f, 7.599257795e-05f, 7.594343073e-05f, 7.589415659e-05f, 7.584475564e-05f,
+7.579522797e-05f, 7.574557367e-05f, 7.569579285e-05f, 7.564588560e-05f, 7.559585202e-05f, 7.554569221e-05f, 7.549540626e-05f, 7.544499428e-05f, 7.539445636e-05f, 7.534379260e-05f,
+7.529300311e-05f, 7.524208797e-05f, 7.519104729e-05f, 7.513988118e-05f, 7.508858972e-05f, 7.503717302e-05f, 7.498563118e-05f, 7.493396430e-05f, 7.488217248e-05f, 7.483025582e-05f,
+7.477821442e-05f, 7.472604839e-05f, 7.467375783e-05f, 7.462134283e-05f, 7.456880350e-05f, 7.451613994e-05f, 7.446335226e-05f, 7.441044055e-05f, 7.435740492e-05f, 7.430424548e-05f,
+7.425096231e-05f, 7.419755554e-05f, 7.414402526e-05f, 7.409037158e-05f, 7.403659459e-05f, 7.398269441e-05f, 7.392867114e-05f, 7.387452489e-05f, 7.382025575e-05f, 7.376586383e-05f,
+7.371134924e-05f, 7.365671209e-05f, 7.360195247e-05f, 7.354707050e-05f, 7.349206628e-05f, 7.343693992e-05f, 7.338169152e-05f, 7.332632120e-05f, 7.327082905e-05f, 7.321521518e-05f,
+7.315947971e-05f, 7.310362274e-05f, 7.304764437e-05f, 7.299154472e-05f, 7.293532389e-05f, 7.287898199e-05f, 7.282251913e-05f, 7.276593542e-05f, 7.270923096e-05f, 7.265240587e-05f,
+7.259546026e-05f, 7.253839423e-05f, 7.248120790e-05f, 7.242390137e-05f, 7.236647475e-05f, 7.230892816e-05f, 7.225126170e-05f, 7.219347549e-05f, 7.213556963e-05f, 7.207754424e-05f,
+7.201939943e-05f, 7.196113531e-05f, 7.190275199e-05f, 7.184424958e-05f, 7.178562820e-05f, 7.172688796e-05f, 7.166802897e-05f, 7.160905134e-05f, 7.154995518e-05f, 7.149074061e-05f,
+7.143140775e-05f, 7.137195670e-05f, 7.131238757e-05f, 7.125270049e-05f, 7.119289557e-05f, 7.113297291e-05f, 7.107293264e-05f, 7.101277487e-05f, 7.095249971e-05f, 7.089210728e-05f,
+7.083159770e-05f, 7.077097107e-05f, 7.071022752e-05f, 7.064936716e-05f, 7.058839011e-05f, 7.052729648e-05f, 7.046608638e-05f, 7.040475994e-05f, 7.034331727e-05f, 7.028175850e-05f,
+7.022008372e-05f, 7.015829307e-05f, 7.009638666e-05f, 7.003436461e-05f, 6.997222703e-05f, 6.990997405e-05f, 6.984760577e-05f, 6.978512233e-05f, 6.972252384e-05f, 6.965981041e-05f,
+6.959698217e-05f, 6.953403923e-05f, 6.947098172e-05f, 6.940780976e-05f, 6.934452345e-05f, 6.928112293e-05f, 6.921760832e-05f, 6.915397973e-05f, 6.909023728e-05f, 6.902638109e-05f,
+6.896241130e-05f, 6.889832801e-05f, 6.883413134e-05f, 6.876982143e-05f, 6.870539838e-05f, 6.864086233e-05f, 6.857621340e-05f, 6.851145169e-05f, 6.844657735e-05f, 6.838159049e-05f,
+6.831649123e-05f, 6.825127970e-05f, 6.818595602e-05f, 6.812052031e-05f, 6.805497270e-05f, 6.798931331e-05f, 6.792354226e-05f, 6.785765967e-05f, 6.779166568e-05f, 6.772556041e-05f,
+6.765934397e-05f, 6.759301650e-05f, 6.752657812e-05f, 6.746002895e-05f, 6.739336912e-05f, 6.732659876e-05f, 6.725971799e-05f, 6.719272693e-05f, 6.712562572e-05f, 6.705841447e-05f,
+6.699109332e-05f, 6.692366239e-05f, 6.685612181e-05f, 6.678847170e-05f, 6.672071220e-05f, 6.665284342e-05f, 6.658486550e-05f, 6.651677856e-05f, 6.644858273e-05f, 6.638027814e-05f,
+6.631186492e-05f, 6.624334319e-05f, 6.617471309e-05f, 6.610597474e-05f, 6.603712827e-05f, 6.596817381e-05f, 6.589911149e-05f, 6.582994143e-05f, 6.576066378e-05f, 6.569127865e-05f,
+6.562178618e-05f, 6.555218649e-05f, 6.548247972e-05f, 6.541266600e-05f, 6.534274546e-05f, 6.527271823e-05f, 6.520258443e-05f, 6.513234421e-05f, 6.506199769e-05f, 6.499154500e-05f,
+6.492098627e-05f, 6.485032164e-05f, 6.477955124e-05f, 6.470867520e-05f, 6.463769365e-05f, 6.456660672e-05f, 6.449541455e-05f, 6.442411728e-05f, 6.435271502e-05f, 6.428120792e-05f,
+6.420959611e-05f, 6.413787972e-05f, 6.406605889e-05f, 6.399413375e-05f, 6.392210443e-05f, 6.384997107e-05f, 6.377773380e-05f, 6.370539275e-05f, 6.363294807e-05f, 6.356039988e-05f,
+6.348774833e-05f, 6.341499354e-05f, 6.334213565e-05f, 6.326917479e-05f, 6.319611111e-05f, 6.312294474e-05f, 6.304967581e-05f, 6.297630446e-05f, 6.290283082e-05f, 6.282925504e-05f,
+6.275557724e-05f, 6.268179757e-05f, 6.260791616e-05f, 6.253393316e-05f, 6.245984868e-05f, 6.238566289e-05f, 6.231137590e-05f, 6.223698786e-05f, 6.216249891e-05f, 6.208790919e-05f,
+6.201321883e-05f, 6.193842797e-05f, 6.186353675e-05f, 6.178854531e-05f, 6.171345378e-05f, 6.163826232e-05f, 6.156297105e-05f, 6.148758011e-05f, 6.141208965e-05f, 6.133649980e-05f,
+6.126081071e-05f, 6.118502251e-05f, 6.110913535e-05f, 6.103314936e-05f, 6.095706468e-05f, 6.088088146e-05f, 6.080459984e-05f, 6.072821995e-05f, 6.065174195e-05f, 6.057516596e-05f,
+6.049849213e-05f, 6.042172060e-05f, 6.034485152e-05f, 6.026788503e-05f, 6.019082126e-05f, 6.011366036e-05f, 6.003640247e-05f, 5.995904774e-05f, 5.988159631e-05f, 5.980404831e-05f,
+5.972640390e-05f, 5.964866322e-05f, 5.957082640e-05f, 5.949289360e-05f, 5.941486495e-05f, 5.933674061e-05f, 5.925852071e-05f, 5.918020539e-05f, 5.910179481e-05f, 5.902328910e-05f,
+5.894468842e-05f, 5.886599290e-05f, 5.878720269e-05f, 5.870831794e-05f, 5.862933878e-05f, 5.855026537e-05f, 5.847109786e-05f, 5.839183637e-05f, 5.831248107e-05f, 5.823303210e-05f,
+5.815348960e-05f, 5.807385373e-05f, 5.799412461e-05f, 5.791430241e-05f, 5.783438727e-05f, 5.775437934e-05f, 5.767427875e-05f, 5.759408567e-05f, 5.751380023e-05f, 5.743342259e-05f,
+5.735295289e-05f, 5.727239128e-05f, 5.719173790e-05f, 5.711099291e-05f, 5.703015645e-05f, 5.694922868e-05f, 5.686820973e-05f, 5.678709976e-05f, 5.670589891e-05f, 5.662460734e-05f,
+5.654322520e-05f, 5.646175262e-05f, 5.638018977e-05f, 5.629853679e-05f, 5.621679383e-05f, 5.613496104e-05f, 5.605303857e-05f, 5.597102657e-05f, 5.588892519e-05f, 5.580673459e-05f,
+5.572445490e-05f, 5.564208628e-05f, 5.555962888e-05f, 5.547708286e-05f, 5.539444836e-05f, 5.531172553e-05f, 5.522891453e-05f, 5.514601550e-05f, 5.506302860e-05f, 5.497995399e-05f,
+5.489679180e-05f, 5.481354219e-05f, 5.473020532e-05f, 5.464678134e-05f, 5.456327040e-05f, 5.447967265e-05f, 5.439598824e-05f, 5.431221733e-05f, 5.422836007e-05f, 5.414441661e-05f,
+5.406038711e-05f, 5.397627172e-05f, 5.389207058e-05f, 5.380778387e-05f, 5.372341172e-05f, 5.363895430e-05f, 5.355441175e-05f, 5.346978423e-05f, 5.338507190e-05f, 5.330027491e-05f,
+5.321539341e-05f, 5.313042756e-05f, 5.304537752e-05f, 5.296024343e-05f, 5.287502545e-05f, 5.278972374e-05f, 5.270433845e-05f, 5.261886974e-05f, 5.253331777e-05f, 5.244768268e-05f,
+5.236196464e-05f, 5.227616380e-05f, 5.219028032e-05f, 5.210431435e-05f, 5.201826605e-05f, 5.193213557e-05f, 5.184592308e-05f, 5.175962872e-05f, 5.167325266e-05f, 5.158679505e-05f,
+5.150025605e-05f, 5.141363582e-05f, 5.132693451e-05f, 5.124015228e-05f, 5.115328928e-05f, 5.106634569e-05f, 5.097932165e-05f, 5.089221732e-05f, 5.080503286e-05f, 5.071776842e-05f,
+5.063042418e-05f, 5.054300027e-05f, 5.045549687e-05f, 5.036791414e-05f, 5.028025222e-05f, 5.019251128e-05f, 5.010469148e-05f, 5.001679297e-05f, 4.992881592e-05f, 4.984076049e-05f,
+4.975262683e-05f, 4.966441511e-05f, 4.957612548e-05f, 4.948775811e-05f, 4.939931315e-05f, 4.931079076e-05f, 4.922219111e-05f, 4.913351436e-05f, 4.904476065e-05f, 4.895593017e-05f,
+4.886702306e-05f, 4.877803949e-05f, 4.868897962e-05f, 4.859984360e-05f, 4.851063161e-05f, 4.842134379e-05f, 4.833198033e-05f, 4.824254136e-05f, 4.815302706e-05f, 4.806343759e-05f,
+4.797377311e-05f, 4.788403378e-05f, 4.779421976e-05f, 4.770433122e-05f, 4.761436832e-05f, 4.752433122e-05f, 4.743422008e-05f, 4.734403506e-05f, 4.725377634e-05f, 4.716344406e-05f,
+4.707303840e-05f, 4.698255952e-05f, 4.689200758e-05f, 4.680138274e-05f, 4.671068517e-05f, 4.661991503e-05f, 4.652907248e-05f, 4.643815770e-05f, 4.634717083e-05f, 4.625611205e-05f,
+4.616498152e-05f, 4.607377941e-05f, 4.598250587e-05f, 4.589116108e-05f, 4.579974519e-05f, 4.570825838e-05f, 4.561670080e-05f, 4.552507262e-05f, 4.543337402e-05f, 4.534160514e-05f,
+4.524976616e-05f, 4.515785724e-05f, 4.506587855e-05f, 4.497383025e-05f, 4.488171251e-05f, 4.478952550e-05f, 4.469726938e-05f, 4.460494431e-05f, 4.451255046e-05f, 4.442008800e-05f,
+4.432755710e-05f, 4.423495792e-05f, 4.414229062e-05f, 4.404955538e-05f, 4.395675235e-05f, 4.386388172e-05f, 4.377094364e-05f, 4.367793828e-05f, 4.358486580e-05f, 4.349172639e-05f,
+4.339852019e-05f, 4.330524738e-05f, 4.321190813e-05f, 4.311850261e-05f, 4.302503097e-05f, 4.293149340e-05f, 4.283789005e-05f, 4.274422110e-05f, 4.265048672e-05f, 4.255668706e-05f,
+4.246282231e-05f, 4.236889262e-05f, 4.227489817e-05f, 4.218083913e-05f, 4.208671565e-05f, 4.199252793e-05f, 4.189827611e-05f, 4.180396037e-05f, 4.170958088e-05f, 4.161513781e-05f,
+4.152063133e-05f, 4.142606161e-05f, 4.133142881e-05f, 4.123673310e-05f, 4.114197466e-05f, 4.104715366e-05f, 4.095227026e-05f, 4.085732464e-05f, 4.076231696e-05f, 4.066724739e-05f,
+4.057211611e-05f, 4.047692328e-05f, 4.038166908e-05f, 4.028635367e-05f, 4.019097723e-05f, 4.009553993e-05f, 4.000004193e-05f, 3.990448341e-05f, 3.980886454e-05f, 3.971318549e-05f,
+3.961744643e-05f, 3.952164754e-05f, 3.942578897e-05f, 3.932987091e-05f, 3.923389352e-05f, 3.913785699e-05f, 3.904176147e-05f, 3.894560714e-05f, 3.884939417e-05f, 3.875312273e-05f,
+3.865679301e-05f, 3.856040515e-05f, 3.846395935e-05f, 3.836745577e-05f, 3.827089459e-05f, 3.817427597e-05f, 3.807760009e-05f, 3.798086712e-05f, 3.788407724e-05f, 3.778723061e-05f,
+3.769032741e-05f, 3.759336781e-05f, 3.749635199e-05f, 3.739928011e-05f, 3.730215236e-05f, 3.720496890e-05f, 3.710772990e-05f, 3.701043555e-05f, 3.691308601e-05f, 3.681568146e-05f,
+3.671822207e-05f, 3.662070801e-05f, 3.652313947e-05f, 3.642551660e-05f, 3.632783959e-05f, 3.623010861e-05f, 3.613232383e-05f, 3.603448544e-05f, 3.593659359e-05f, 3.583864847e-05f,
+3.574065025e-05f, 3.564259910e-05f, 3.554449521e-05f, 3.544633873e-05f, 3.534812986e-05f, 3.524986876e-05f, 3.515155561e-05f, 3.505319058e-05f, 3.495477385e-05f, 3.485630559e-05f,
+3.475778598e-05f, 3.465921519e-05f, 3.456059340e-05f, 3.446192078e-05f, 3.436319752e-05f, 3.426442377e-05f, 3.416559973e-05f, 3.406672556e-05f, 3.396780144e-05f, 3.386882755e-05f,
+3.376980406e-05f, 3.367073115e-05f, 3.357160899e-05f, 3.347243777e-05f, 3.337321765e-05f, 3.327394881e-05f, 3.317463143e-05f, 3.307526568e-05f, 3.297585175e-05f, 3.287638980e-05f,
+3.277688002e-05f, 3.267732258e-05f, 3.257771765e-05f, 3.247806542e-05f, 3.237836606e-05f, 3.227861975e-05f, 3.217882666e-05f, 3.207898697e-05f, 3.197910086e-05f, 3.187916850e-05f,
+3.177919008e-05f, 3.167916576e-05f, 3.157909574e-05f, 3.147898017e-05f, 3.137881925e-05f, 3.127861315e-05f, 3.117836204e-05f, 3.107806610e-05f, 3.097772552e-05f, 3.087734047e-05f,
+3.077691112e-05f, 3.067643766e-05f, 3.057592026e-05f, 3.047535910e-05f, 3.037475435e-05f, 3.027410621e-05f, 3.017341484e-05f, 3.007268042e-05f, 2.997190313e-05f, 2.987108315e-05f,
+2.977022066e-05f, 2.966931584e-05f, 2.956836886e-05f, 2.946737990e-05f, 2.936634914e-05f, 2.926527676e-05f, 2.916416294e-05f, 2.906300786e-05f, 2.896181170e-05f, 2.886057463e-05f,
+2.875929683e-05f, 2.865797849e-05f, 2.855661977e-05f, 2.845522087e-05f, 2.835378196e-05f, 2.825230322e-05f, 2.815078482e-05f, 2.804922696e-05f, 2.794762980e-05f, 2.784599352e-05f,
+2.774431831e-05f, 2.764260435e-05f, 2.754085181e-05f, 2.743906088e-05f, 2.733723173e-05f, 2.723536454e-05f, 2.713345949e-05f, 2.703151677e-05f, 2.692953655e-05f, 2.682751902e-05f,
+2.672546435e-05f, 2.662337271e-05f, 2.652124431e-05f, 2.641907930e-05f, 2.631687788e-05f, 2.621464022e-05f, 2.611236650e-05f, 2.601005690e-05f, 2.590771161e-05f, 2.580533081e-05f,
+2.570291466e-05f, 2.560046337e-05f, 2.549797709e-05f, 2.539545603e-05f, 2.529290034e-05f, 2.519031023e-05f, 2.508768586e-05f, 2.498502743e-05f, 2.488233510e-05f, 2.477960906e-05f,
+2.467684949e-05f, 2.457405657e-05f, 2.447123048e-05f, 2.436837141e-05f, 2.426547953e-05f, 2.416255502e-05f, 2.405959808e-05f, 2.395660887e-05f, 2.385358757e-05f, 2.375053438e-05f,
+2.364744947e-05f, 2.354433302e-05f, 2.344118521e-05f, 2.333800623e-05f, 2.323479626e-05f, 2.313155547e-05f, 2.302828405e-05f, 2.292498218e-05f, 2.282165004e-05f, 2.271828782e-05f,
+2.261489569e-05f, 2.251147384e-05f, 2.240802245e-05f, 2.230454169e-05f, 2.220103176e-05f, 2.209749283e-05f, 2.199392509e-05f, 2.189032871e-05f, 2.178670389e-05f, 2.168305079e-05f,
+2.157936961e-05f, 2.147566052e-05f, 2.137192370e-05f, 2.126815935e-05f, 2.116436764e-05f, 2.106054875e-05f, 2.095670286e-05f, 2.085283016e-05f, 2.074893084e-05f, 2.064500506e-05f,
+2.054105301e-05f, 2.043707489e-05f, 2.033307086e-05f, 2.022904111e-05f, 2.012498582e-05f, 2.002090518e-05f, 1.991679937e-05f, 1.981266857e-05f, 1.970851296e-05f, 1.960433272e-05f,
+1.950012804e-05f, 1.939589910e-05f, 1.929164609e-05f, 1.918736918e-05f, 1.908306856e-05f, 1.897874440e-05f, 1.887439691e-05f, 1.877002624e-05f, 1.866563260e-05f, 1.856121615e-05f,
+1.845677710e-05f, 1.835231560e-05f, 1.824783186e-05f, 1.814332605e-05f, 1.803879835e-05f, 1.793424895e-05f, 1.782967804e-05f, 1.772508578e-05f, 1.762047238e-05f, 1.751583800e-05f,
+1.741118284e-05f, 1.730650707e-05f, 1.720181088e-05f, 1.709709445e-05f, 1.699235796e-05f, 1.688760161e-05f, 1.678282556e-05f, 1.667803001e-05f, 1.657321514e-05f, 1.646838112e-05f,
+1.636352815e-05f, 1.625865640e-05f, 1.615376607e-05f, 1.604885733e-05f, 1.594393036e-05f, 1.583898535e-05f, 1.573402249e-05f, 1.562904195e-05f, 1.552404391e-05f, 1.541902858e-05f,
+1.531399611e-05f, 1.520894671e-05f, 1.510388054e-05f, 1.499879781e-05f, 1.489369868e-05f, 1.478858334e-05f, 1.468345198e-05f, 1.457830478e-05f, 1.447314191e-05f, 1.436796358e-05f,
+1.426276995e-05f, 1.415756122e-05f, 1.405233756e-05f, 1.394709916e-05f, 1.384184621e-05f, 1.373657888e-05f, 1.363129735e-05f, 1.352600183e-05f, 1.342069248e-05f, 1.331536948e-05f,
+1.321003304e-05f, 1.310468331e-05f, 1.299932050e-05f, 1.289394479e-05f, 1.278855635e-05f, 1.268315537e-05f, 1.257774204e-05f, 1.247231653e-05f, 1.236687903e-05f, 1.226142974e-05f,
+1.215596881e-05f, 1.205049646e-05f, 1.194501284e-05f, 1.183951816e-05f, 1.173401259e-05f, 1.162849631e-05f, 1.152296952e-05f, 1.141743239e-05f, 1.131188510e-05f, 1.120632785e-05f,
+1.110076081e-05f, 1.099518416e-05f, 1.088959810e-05f, 1.078400281e-05f, 1.067839846e-05f, 1.057278524e-05f, 1.046716334e-05f, 1.036153294e-05f, 1.025589422e-05f, 1.015024736e-05f,
+1.004459256e-05f, 9.938929990e-06f, 9.833259836e-06f, 9.727582282e-06f, 9.621897512e-06f, 9.516205709e-06f, 9.410507057e-06f, 9.304801739e-06f, 9.199089939e-06f, 9.093371840e-06f,
+8.987647626e-06f, 8.881917481e-06f, 8.776181587e-06f, 8.670440129e-06f, 8.564693289e-06f, 8.458941252e-06f, 8.353184200e-06f, 8.247422318e-06f, 8.141655788e-06f, 8.035884794e-06f,
+7.930109519e-06f, 7.824330148e-06f, 7.718546863e-06f, 7.612759847e-06f, 7.506969284e-06f, 7.401175358e-06f, 7.295378252e-06f, 7.189578149e-06f, 7.083775232e-06f, 6.977969685e-06f,
+6.872161692e-06f, 6.766351435e-06f, 6.660539097e-06f, 6.554724863e-06f, 6.448908915e-06f, 6.343091436e-06f, 6.237272610e-06f, 6.131452621e-06f, 6.025631650e-06f, 5.919809882e-06f,
+5.813987500e-06f, 5.708164686e-06f, 5.602341624e-06f, 5.496518497e-06f, 5.390695489e-06f, 5.284872782e-06f, 5.179050559e-06f, 5.073229003e-06f, 4.967408298e-06f, 4.861588627e-06f,
+4.755770172e-06f, 4.649953116e-06f, 4.544137643e-06f, 4.438323935e-06f, 4.332512176e-06f, 4.226702548e-06f, 4.120895234e-06f, 4.015090417e-06f, 3.909288280e-06f, 3.803489006e-06f,
+3.697692777e-06f, 3.591899777e-06f, 3.486110188e-06f, 3.380324192e-06f, 3.274541973e-06f, 3.168763714e-06f, 3.062989596e-06f, 2.957219803e-06f, 2.851454517e-06f, 2.745693920e-06f,
+2.639938196e-06f, 2.534187527e-06f, 2.428442096e-06f, 2.322702084e-06f, 2.216967675e-06f, 2.111239050e-06f, 2.005516393e-06f, 1.899799886e-06f, 1.794089711e-06f, 1.688386050e-06f,
+1.582689085e-06f, 1.476999000e-06f, 1.371315976e-06f, 1.265640195e-06f, 1.159971840e-06f, 1.054311093e-06f, 9.486581354e-07f, 8.430131501e-07f, 7.373763191e-07f, 6.317478241e-07f,
+5.261278474e-07f, 4.205165709e-07f, 3.149141765e-07f, 2.093208462e-07f, 1.037367618e-07f, -1.837894817e-09f, -1.074029418e-07f, -2.129581973e-07f, -3.185034797e-07f, -4.240386072e-07f,
+-5.295633982e-07f, -6.350776708e-07f, -7.405812437e-07f, -8.460739351e-07f, -9.515555635e-07f, -1.057025947e-06f, -1.162484905e-06f, -1.267932256e-06f, -1.373367818e-06f, -1.478791409e-06f,
+-1.584202849e-06f, -1.689601956e-06f, -1.794988549e-06f, -1.900362447e-06f, -2.005723468e-06f, -2.111071432e-06f, -2.216406157e-06f, -2.321727463e-06f, -2.427035167e-06f, -2.532329090e-06f,
+-2.637609050e-06f, -2.742874866e-06f, -2.848126358e-06f, -2.953363345e-06f, -3.058585646e-06f, -3.163793079e-06f, -3.268985466e-06f, -3.374162624e-06f, -3.479324373e-06f, -3.584470534e-06f,
+-3.689600924e-06f, -3.794715364e-06f, -3.899813673e-06f, -4.004895671e-06f, -4.109961178e-06f, -4.215010013e-06f, -4.320041996e-06f, -4.425056946e-06f, -4.530054684e-06f, -4.635035030e-06f,
+-4.739997803e-06f, -4.844942824e-06f, -4.949869912e-06f, -5.054778887e-06f, -5.159669570e-06f, -5.264541781e-06f, -5.369395340e-06f, -5.474230067e-06f, -5.579045782e-06f, -5.683842307e-06f,
+-5.788619461e-06f, -5.893377064e-06f, -5.998114938e-06f, -6.102832903e-06f, -6.207530780e-06f, -6.312208388e-06f, -6.416865550e-06f, -6.521502085e-06f, -6.626117814e-06f, -6.730712559e-06f,
+-6.835286140e-06f, -6.939838378e-06f, -7.044369095e-06f, -7.148878111e-06f, -7.253365247e-06f, -7.357830326e-06f, -7.462273167e-06f, -7.566693592e-06f, -7.671091423e-06f, -7.775466481e-06f,
+-7.879818587e-06f, -7.984147563e-06f, -8.088453231e-06f, -8.192735412e-06f, -8.296993928e-06f, -8.401228601e-06f, -8.505439252e-06f, -8.609625703e-06f, -8.713787777e-06f, -8.817925295e-06f,
+-8.922038079e-06f, -9.026125951e-06f, -9.130188734e-06f, -9.234226250e-06f, -9.338238321e-06f, -9.442224769e-06f, -9.546185417e-06f, -9.650120087e-06f, -9.754028602e-06f, -9.857910784e-06f,
+-9.961766456e-06f, -1.006559544e-05f, -1.016939756e-05f, -1.027317264e-05f, -1.037692050e-05f, -1.048064096e-05f, -1.058433385e-05f, -1.068799900e-05f, -1.079163621e-05f, -1.089524532e-05f,
+-1.099882615e-05f, -1.110237853e-05f, -1.120590227e-05f, -1.130939720e-05f, -1.141286314e-05f, -1.151629993e-05f, -1.161970737e-05f, -1.172308530e-05f, -1.182643353e-05f, -1.192975190e-05f,
+-1.203304023e-05f, -1.213629833e-05f, -1.223952604e-05f, -1.234272318e-05f, -1.244588957e-05f, -1.254902504e-05f, -1.265212941e-05f, -1.275520250e-05f, -1.285824415e-05f, -1.296125417e-05f,
+-1.306423239e-05f, -1.316717863e-05f, -1.327009272e-05f, -1.337297449e-05f, -1.347582376e-05f, -1.357864034e-05f, -1.368142408e-05f, -1.378417479e-05f, -1.388689231e-05f, -1.398957644e-05f,
+-1.409222703e-05f, -1.419484389e-05f, -1.429742685e-05f, -1.439997574e-05f, -1.450249038e-05f, -1.460497059e-05f, -1.470741621e-05f, -1.480982706e-05f, -1.491220297e-05f, -1.501454376e-05f,
+-1.511684925e-05f, -1.521911928e-05f, -1.532135367e-05f, -1.542355224e-05f, -1.552571483e-05f, -1.562784126e-05f, -1.572993135e-05f, -1.583198494e-05f, -1.593400184e-05f, -1.603598189e-05f,
+-1.613792491e-05f, -1.623983074e-05f, -1.634169919e-05f, -1.644353009e-05f, -1.654532328e-05f, -1.664707857e-05f, -1.674879580e-05f, -1.685047480e-05f, -1.695211538e-05f, -1.705371738e-05f,
+-1.715528063e-05f, -1.725680496e-05f, -1.735829018e-05f, -1.745973614e-05f, -1.756114265e-05f, -1.766250955e-05f, -1.776383667e-05f, -1.786512382e-05f, -1.796637085e-05f, -1.806757758e-05f,
+-1.816874383e-05f, -1.826986944e-05f, -1.837095424e-05f, -1.847199805e-05f, -1.857300071e-05f, -1.867396203e-05f, -1.877488186e-05f, -1.887576002e-05f, -1.897659633e-05f, -1.907739064e-05f,
+-1.917814276e-05f, -1.927885254e-05f, -1.937951979e-05f, -1.948014434e-05f, -1.958072603e-05f, -1.968126469e-05f, -1.978176015e-05f, -1.988221223e-05f, -1.998262077e-05f, -2.008298560e-05f,
+-2.018330654e-05f, -2.028358343e-05f, -2.038381610e-05f, -2.048400438e-05f, -2.058414810e-05f, -2.068424709e-05f, -2.078430118e-05f, -2.088431020e-05f, -2.098427398e-05f, -2.108419236e-05f,
+-2.118406517e-05f, -2.128389223e-05f, -2.138367338e-05f, -2.148340845e-05f, -2.158309727e-05f, -2.168273967e-05f, -2.178233549e-05f, -2.188188456e-05f, -2.198138670e-05f, -2.208084176e-05f,
+-2.218024956e-05f, -2.227960993e-05f, -2.237892271e-05f, -2.247818774e-05f, -2.257740483e-05f, -2.267657383e-05f, -2.277569457e-05f, -2.287476689e-05f, -2.297379060e-05f, -2.307276555e-05f,
+-2.317169158e-05f, -2.327056850e-05f, -2.336939617e-05f, -2.346817440e-05f, -2.356690304e-05f, -2.366558192e-05f, -2.376421087e-05f, -2.386278972e-05f, -2.396131832e-05f, -2.405979649e-05f,
+-2.415822406e-05f, -2.425660088e-05f, -2.435492677e-05f, -2.445320158e-05f, -2.455142513e-05f, -2.464959726e-05f, -2.474771781e-05f, -2.484578661e-05f, -2.494380349e-05f, -2.504176829e-05f,
+-2.513968085e-05f, -2.523754100e-05f, -2.533534858e-05f, -2.543310341e-05f, -2.553080535e-05f, -2.562845422e-05f, -2.572604985e-05f, -2.582359210e-05f, -2.592108078e-05f, -2.601851574e-05f,
+-2.611589681e-05f, -2.621322384e-05f, -2.631049665e-05f, -2.640771508e-05f, -2.650487898e-05f, -2.660198817e-05f, -2.669904250e-05f, -2.679604179e-05f, -2.689298589e-05f, -2.698987464e-05f,
+-2.708670788e-05f, -2.718348543e-05f, -2.728020714e-05f, -2.737687284e-05f, -2.747348238e-05f, -2.757003559e-05f, -2.766653231e-05f, -2.776297238e-05f, -2.785935563e-05f, -2.795568191e-05f,
+-2.805195105e-05f, -2.814816289e-05f, -2.824431727e-05f, -2.834041403e-05f, -2.843645300e-05f, -2.853243404e-05f, -2.862835697e-05f, -2.872422164e-05f, -2.882002788e-05f, -2.891577554e-05f,
+-2.901146445e-05f, -2.910709445e-05f, -2.920266539e-05f, -2.929817710e-05f, -2.939362943e-05f, -2.948902221e-05f, -2.958435528e-05f, -2.967962849e-05f, -2.977484168e-05f, -2.986999468e-05f,
+-2.996508734e-05f, -3.006011949e-05f, -3.015509099e-05f, -3.025000167e-05f, -3.034485137e-05f, -3.043963993e-05f, -3.053436720e-05f, -3.062903301e-05f, -3.072363721e-05f, -3.081817964e-05f,
+-3.091266015e-05f, -3.100707856e-05f, -3.110143474e-05f, -3.119572851e-05f, -3.128995973e-05f, -3.138412823e-05f, -3.147823385e-05f, -3.157227645e-05f, -3.166625586e-05f, -3.176017193e-05f,
+-3.185402449e-05f, -3.194781340e-05f, -3.204153849e-05f, -3.213519962e-05f, -3.222879661e-05f, -3.232232933e-05f, -3.241579760e-05f, -3.250920129e-05f, -3.260254022e-05f, -3.269581424e-05f,
+-3.278902321e-05f, -3.288216696e-05f, -3.297524533e-05f, -3.306825818e-05f, -3.316120535e-05f, -3.325408668e-05f, -3.334690202e-05f, -3.343965122e-05f, -3.353233411e-05f, -3.362495055e-05f,
+-3.371750038e-05f, -3.380998345e-05f, -3.390239960e-05f, -3.399474868e-05f, -3.408703053e-05f, -3.417924501e-05f, -3.427139196e-05f, -3.436347122e-05f, -3.445548264e-05f, -3.454742607e-05f,
+-3.463930136e-05f, -3.473110835e-05f, -3.482284690e-05f, -3.491451684e-05f, -3.500611802e-05f, -3.509765030e-05f, -3.518911353e-05f, -3.528050754e-05f, -3.537183219e-05f, -3.546308732e-05f,
+-3.555427280e-05f, -3.564538845e-05f, -3.573643413e-05f, -3.582740970e-05f, -3.591831500e-05f, -3.600914987e-05f, -3.609991417e-05f, -3.619060775e-05f, -3.628123046e-05f, -3.637178214e-05f,
+-3.646226265e-05f, -3.655267184e-05f, -3.664300955e-05f, -3.673327564e-05f, -3.682346996e-05f, -3.691359235e-05f, -3.700364267e-05f, -3.709362077e-05f, -3.718352650e-05f, -3.727335971e-05f,
+-3.736312025e-05f, -3.745280798e-05f, -3.754242274e-05f, -3.763196438e-05f, -3.772143277e-05f, -3.781082774e-05f, -3.790014916e-05f, -3.798939687e-05f, -3.807857072e-05f, -3.816767057e-05f,
+-3.825669628e-05f, -3.834564769e-05f, -3.843452466e-05f, -3.852332703e-05f, -3.861205467e-05f, -3.870070742e-05f, -3.878928515e-05f, -3.887778770e-05f, -3.896621492e-05f, -3.905456668e-05f,
+-3.914284282e-05f, -3.923104320e-05f, -3.931916767e-05f, -3.940721609e-05f, -3.949518831e-05f, -3.958308419e-05f, -3.967090358e-05f, -3.975864634e-05f, -3.984631232e-05f, -3.993390138e-05f,
+-4.002141337e-05f, -4.010884815e-05f, -4.019620557e-05f, -4.028348550e-05f, -4.037068778e-05f, -4.045781227e-05f, -4.054485883e-05f, -4.063182731e-05f, -4.071871758e-05f, -4.080552949e-05f,
+-4.089226289e-05f, -4.097891764e-05f, -4.106549360e-05f, -4.115199064e-05f, -4.123840859e-05f, -4.132474733e-05f, -4.141100671e-05f, -4.149718658e-05f, -4.158328682e-05f, -4.166930726e-05f,
+-4.175524778e-05f, -4.184110823e-05f, -4.192688848e-05f, -4.201258837e-05f, -4.209820777e-05f, -4.218374654e-05f, -4.226920453e-05f, -4.235458161e-05f, -4.243987764e-05f, -4.252509247e-05f,
+-4.261022597e-05f, -4.269527799e-05f, -4.278024840e-05f, -4.286513706e-05f, -4.294994382e-05f, -4.303466855e-05f, -4.311931111e-05f, -4.320387136e-05f, -4.328834916e-05f, -4.337274437e-05f,
+-4.345705686e-05f, -4.354128648e-05f, -4.362543310e-05f, -4.370949658e-05f, -4.379347678e-05f, -4.387737356e-05f, -4.396118679e-05f, -4.404491633e-05f, -4.412856204e-05f, -4.421212378e-05f,
+-4.429560142e-05f, -4.437899482e-05f, -4.446230385e-05f, -4.454552836e-05f, -4.462866823e-05f, -4.471172331e-05f, -4.479469346e-05f, -4.487757857e-05f, -4.496037848e-05f, -4.504309306e-05f,
+-4.512572218e-05f, -4.520826570e-05f, -4.529072348e-05f, -4.537309540e-05f, -4.545538132e-05f, -4.553758110e-05f, -4.561969460e-05f, -4.570172170e-05f, -4.578366226e-05f, -4.586551615e-05f,
+-4.594728323e-05f, -4.602896336e-05f, -4.611055643e-05f, -4.619206228e-05f, -4.627348080e-05f, -4.635481184e-05f, -4.643605527e-05f, -4.651721096e-05f, -4.659827878e-05f, -4.667925860e-05f,
+-4.676015028e-05f, -4.684095370e-05f, -4.692166871e-05f, -4.700229520e-05f, -4.708283302e-05f, -4.716328204e-05f, -4.724364214e-05f, -4.732391319e-05f, -4.740409505e-05f, -4.748418759e-05f,
+-4.756419068e-05f, -4.764410420e-05f, -4.772392800e-05f, -4.780366197e-05f, -4.788330597e-05f, -4.796285988e-05f, -4.804232355e-05f, -4.812169687e-05f, -4.820097971e-05f, -4.828017193e-05f,
+-4.835927340e-05f, -4.843828401e-05f, -4.851720361e-05f, -4.859603209e-05f, -4.867476931e-05f, -4.875341515e-05f, -4.883196947e-05f, -4.891043216e-05f, -4.898880308e-05f, -4.906708210e-05f,
+-4.914526910e-05f, -4.922336396e-05f, -4.930136654e-05f, -4.937927672e-05f, -4.945709437e-05f, -4.953481936e-05f, -4.961245158e-05f, -4.968999089e-05f, -4.976743717e-05f, -4.984479029e-05f,
+-4.992205013e-05f, -4.999921656e-05f, -5.007628946e-05f, -5.015326870e-05f, -5.023015416e-05f, -5.030694571e-05f, -5.038364323e-05f, -5.046024660e-05f, -5.053675568e-05f, -5.061317037e-05f,
+-5.068949053e-05f, -5.076571603e-05f, -5.084184677e-05f, -5.091788261e-05f, -5.099382343e-05f, -5.106966911e-05f, -5.114541952e-05f, -5.122107455e-05f, -5.129663407e-05f, -5.137209795e-05f,
+-5.144746609e-05f, -5.152273835e-05f, -5.159791461e-05f, -5.167299476e-05f, -5.174797867e-05f, -5.182286621e-05f, -5.189765728e-05f, -5.197235175e-05f, -5.204694950e-05f, -5.212145040e-05f,
+-5.219585435e-05f, -5.227016121e-05f, -5.234437087e-05f, -5.241848321e-05f, -5.249249811e-05f, -5.256641545e-05f, -5.264023512e-05f, -5.271395698e-05f, -5.278758093e-05f, -5.286110685e-05f,
+-5.293453461e-05f, -5.300786411e-05f, -5.308109521e-05f, -5.315422781e-05f, -5.322726179e-05f, -5.330019702e-05f, -5.337303340e-05f, -5.344577080e-05f, -5.351840911e-05f, -5.359094821e-05f,
+-5.366338798e-05f, -5.373572832e-05f, -5.380796909e-05f, -5.388011020e-05f, -5.395215151e-05f, -5.402409292e-05f, -5.409593431e-05f, -5.416767556e-05f, -5.423931657e-05f, -5.431085720e-05f,
+-5.438229736e-05f, -5.445363693e-05f, -5.452487578e-05f, -5.459601382e-05f, -5.466705092e-05f, -5.473798696e-05f, -5.480882185e-05f, -5.487955545e-05f, -5.495018767e-05f, -5.502071839e-05f,
+-5.509114748e-05f, -5.516147485e-05f, -5.523170038e-05f, -5.530182396e-05f, -5.537184547e-05f, -5.544176481e-05f, -5.551158185e-05f, -5.558129650e-05f, -5.565090863e-05f, -5.572041815e-05f,
+-5.578982493e-05f, -5.585912886e-05f, -5.592832984e-05f, -5.599742776e-05f, -5.606642250e-05f, -5.613531396e-05f, -5.620410202e-05f, -5.627278658e-05f, -5.634136752e-05f, -5.640984474e-05f,
+-5.647821813e-05f, -5.654648758e-05f, -5.661465298e-05f, -5.668271422e-05f, -5.675067120e-05f, -5.681852380e-05f, -5.688627192e-05f, -5.695391545e-05f, -5.702145428e-05f, -5.708888831e-05f,
+-5.715621743e-05f, -5.722344153e-05f, -5.729056050e-05f, -5.735757424e-05f, -5.742448264e-05f, -5.749128560e-05f, -5.755798301e-05f, -5.762457476e-05f, -5.769106076e-05f, -5.775744088e-05f,
+-5.782371503e-05f, -5.788988311e-05f, -5.795594500e-05f, -5.802190061e-05f, -5.808774982e-05f, -5.815349254e-05f, -5.821912867e-05f, -5.828465808e-05f, -5.835008070e-05f, -5.841539640e-05f,
+-5.848060509e-05f, -5.854570666e-05f, -5.861070101e-05f, -5.867558804e-05f, -5.874036765e-05f, -5.880503973e-05f, -5.886960418e-05f, -5.893406090e-05f, -5.899840978e-05f, -5.906265074e-05f,
+-5.912678366e-05f, -5.919080844e-05f, -5.925472498e-05f, -5.931853319e-05f, -5.938223296e-05f, -5.944582419e-05f, -5.950930678e-05f, -5.957268064e-05f, -5.963594565e-05f, -5.969910173e-05f,
+-5.976214877e-05f, -5.982508667e-05f, -5.988791533e-05f, -5.995063467e-05f, -6.001324457e-05f, -6.007574494e-05f, -6.013813568e-05f, -6.020041669e-05f, -6.026258788e-05f, -6.032464915e-05f,
+-6.038660039e-05f, -6.044844152e-05f, -6.051017244e-05f, -6.057179304e-05f, -6.063330324e-05f, -6.069470294e-05f, -6.075599203e-05f, -6.081717043e-05f, -6.087823804e-05f, -6.093919476e-05f,
+-6.100004050e-05f, -6.106077516e-05f, -6.112139865e-05f, -6.118191087e-05f, -6.124231174e-05f, -6.130260114e-05f, -6.136277900e-05f, -6.142284521e-05f, -6.148279968e-05f, -6.154264233e-05f,
+-6.160237304e-05f, -6.166199174e-05f, -6.172149834e-05f, -6.178089272e-05f, -6.184017481e-05f, -6.189934452e-05f, -6.195840174e-05f, -6.201734639e-05f, -6.207617838e-05f, -6.213489761e-05f,
+-6.219350399e-05f, -6.225199744e-05f, -6.231037786e-05f, -6.236864516e-05f, -6.242679925e-05f, -6.248484004e-05f, -6.254276744e-05f, -6.260058135e-05f, -6.265828170e-05f, -6.271586839e-05f,
+-6.277334134e-05f, -6.283070044e-05f, -6.288794562e-05f, -6.294507678e-05f, -6.300209384e-05f, -6.305899671e-05f, -6.311578530e-05f, -6.317245952e-05f, -6.322901928e-05f, -6.328546451e-05f,
+-6.334179510e-05f, -6.339801098e-05f, -6.345411205e-05f, -6.351009824e-05f, -6.356596944e-05f, -6.362172559e-05f, -6.367736658e-05f, -6.373289235e-05f, -6.378830279e-05f, -6.384359782e-05f,
+-6.389877737e-05f, -6.395384134e-05f, -6.400878965e-05f, -6.406362222e-05f, -6.411833896e-05f, -6.417293978e-05f, -6.422742461e-05f, -6.428179336e-05f, -6.433604594e-05f, -6.439018228e-05f,
+-6.444420229e-05f, -6.449810588e-05f, -6.455189298e-05f, -6.460556350e-05f, -6.465911736e-05f, -6.471255448e-05f, -6.476587477e-05f, -6.481907816e-05f, -6.487216456e-05f, -6.492513390e-05f,
+-6.497798608e-05f, -6.503072103e-05f, -6.508333868e-05f, -6.513583893e-05f, -6.518822171e-05f, -6.524048694e-05f, -6.529263454e-05f, -6.534466444e-05f, -6.539657654e-05f, -6.544837077e-05f,
+-6.550004706e-05f, -6.555160532e-05f, -6.560304547e-05f, -6.565436745e-05f, -6.570557116e-05f, -6.575665654e-05f, -6.580762350e-05f, -6.585847197e-05f, -6.590920186e-05f, -6.595981311e-05f,
+-6.601030564e-05f, -6.606067937e-05f, -6.611093421e-05f, -6.616107011e-05f, -6.621108698e-05f, -6.626098474e-05f, -6.631076332e-05f, -6.636042265e-05f, -6.640996265e-05f, -6.645938324e-05f,
+-6.650868436e-05f, -6.655786592e-05f, -6.660692785e-05f, -6.665587008e-05f, -6.670469254e-05f, -6.675339514e-05f, -6.680197783e-05f, -6.685044051e-05f, -6.689878313e-05f, -6.694700561e-05f,
+-6.699510787e-05f, -6.704308985e-05f, -6.709095147e-05f, -6.713869266e-05f, -6.718631335e-05f, -6.723381347e-05f, -6.728119294e-05f, -6.732845170e-05f, -6.737558967e-05f, -6.742260679e-05f,
+-6.746950298e-05f, -6.751627817e-05f, -6.756293230e-05f, -6.760946529e-05f, -6.765587708e-05f, -6.770216759e-05f, -6.774833676e-05f, -6.779438451e-05f, -6.784031079e-05f, -6.788611551e-05f,
+-6.793179862e-05f, -6.797736004e-05f, -6.802279971e-05f, -6.806811756e-05f, -6.811331352e-05f, -6.815838753e-05f, -6.820333951e-05f, -6.824816941e-05f, -6.829287715e-05f, -6.833746267e-05f,
+-6.838192590e-05f, -6.842626678e-05f, -6.847048524e-05f, -6.851458122e-05f, -6.855855465e-05f, -6.860240547e-05f, -6.864613361e-05f, -6.868973900e-05f, -6.873322159e-05f, -6.877658131e-05f,
+-6.881981809e-05f, -6.886293188e-05f, -6.890592260e-05f, -6.894879020e-05f, -6.899153461e-05f, -6.903415577e-05f, -6.907665362e-05f, -6.911902809e-05f, -6.916127913e-05f, -6.920340666e-05f,
+-6.924541064e-05f, -6.928729100e-05f, -6.932904767e-05f, -6.937068059e-05f, -6.941218972e-05f, -6.945357498e-05f, -6.949483631e-05f, -6.953597365e-05f, -6.957698696e-05f, -6.961787615e-05f,
+-6.965864118e-05f, -6.969928199e-05f, -6.973979852e-05f, -6.978019070e-05f, -6.982045849e-05f, -6.986060182e-05f, -6.990062063e-05f, -6.994051486e-05f, -6.998028447e-05f, -7.001992938e-05f,
+-7.005944955e-05f, -7.009884492e-05f, -7.013811543e-05f, -7.017726102e-05f, -7.021628164e-05f, -7.025517723e-05f, -7.029394773e-05f, -7.033259309e-05f, -7.037111326e-05f, -7.040950818e-05f,
+-7.044777779e-05f, -7.048592204e-05f, -7.052394087e-05f, -7.056183424e-05f, -7.059960208e-05f, -7.063724435e-05f, -7.067476098e-05f, -7.071215193e-05f, -7.074941714e-05f, -7.078655656e-05f,
+-7.082357014e-05f, -7.086045782e-05f, -7.089721955e-05f, -7.093385528e-05f, -7.097036496e-05f, -7.100674854e-05f, -7.104300596e-05f, -7.107913717e-05f, -7.111514213e-05f, -7.115102078e-05f,
+-7.118677306e-05f, -7.122239894e-05f, -7.125789837e-05f, -7.129327128e-05f, -7.132851763e-05f, -7.136363738e-05f, -7.139863047e-05f, -7.143349685e-05f, -7.146823648e-05f, -7.150284930e-05f,
+-7.153733527e-05f, -7.157169434e-05f, -7.160592647e-05f, -7.164003160e-05f, -7.167400968e-05f, -7.170786068e-05f, -7.174158454e-05f, -7.177518122e-05f, -7.180865067e-05f, -7.184199284e-05f,
+-7.187520769e-05f, -7.190829517e-05f, -7.194125523e-05f, -7.197408784e-05f, -7.200679295e-05f, -7.203937050e-05f, -7.207182046e-05f, -7.210414278e-05f, -7.213633742e-05f, -7.216840434e-05f,
+-7.220034348e-05f, -7.223215481e-05f, -7.226383828e-05f, -7.229539385e-05f, -7.232682148e-05f, -7.235812112e-05f, -7.238929274e-05f, -7.242033628e-05f, -7.245125171e-05f, -7.248203899e-05f,
+-7.251269807e-05f, -7.254322891e-05f, -7.257363148e-05f, -7.260390573e-05f, -7.263405161e-05f, -7.266406910e-05f, -7.269395814e-05f, -7.272371871e-05f, -7.275335076e-05f, -7.278285424e-05f,
+-7.281222913e-05f, -7.284147538e-05f, -7.287059295e-05f, -7.289958181e-05f, -7.292844191e-05f, -7.295717322e-05f, -7.298577570e-05f, -7.301424932e-05f, -7.304259403e-05f, -7.307080979e-05f,
+-7.309889658e-05f, -7.312685435e-05f, -7.315468307e-05f, -7.318238270e-05f, -7.320995320e-05f, -7.323739455e-05f, -7.326470670e-05f, -7.329188961e-05f, -7.331894326e-05f, -7.334586761e-05f,
+-7.337266261e-05f, -7.339932825e-05f, -7.342586448e-05f, -7.345227128e-05f, -7.347854859e-05f, -7.350469640e-05f, -7.353071467e-05f, -7.355660337e-05f, -7.358236246e-05f, -7.360799191e-05f,
+-7.363349169e-05f, -7.365886176e-05f, -7.368410210e-05f, -7.370921267e-05f, -7.373419344e-05f, -7.375904438e-05f, -7.378376546e-05f, -7.380835664e-05f, -7.383281790e-05f, -7.385714921e-05f,
+-7.388135053e-05f, -7.390542184e-05f, -7.392936310e-05f, -7.395317430e-05f, -7.397685538e-05f, -7.400040634e-05f, -7.402382714e-05f, -7.404711774e-05f, -7.407027813e-05f, -7.409330828e-05f,
+-7.411620814e-05f, -7.413897771e-05f, -7.416161695e-05f, -7.418412584e-05f, -7.420650434e-05f, -7.422875243e-05f, -7.425087008e-05f, -7.427285727e-05f, -7.429471397e-05f, -7.431644016e-05f,
+-7.433803581e-05f, -7.435950089e-05f, -7.438083538e-05f, -7.440203925e-05f, -7.442311249e-05f, -7.444405506e-05f, -7.446486694e-05f, -7.448554810e-05f, -7.450609853e-05f, -7.452651820e-05f,
+-7.454680708e-05f, -7.456696516e-05f, -7.458699240e-05f, -7.460688880e-05f, -7.462665431e-05f, -7.464628893e-05f, -7.466579264e-05f, -7.468516539e-05f, -7.470440719e-05f, -7.472351800e-05f,
+-7.474249781e-05f, -7.476134659e-05f, -7.478006433e-05f, -7.479865099e-05f, -7.481710657e-05f, -7.483543105e-05f, -7.485362439e-05f, -7.487168659e-05f, -7.488961763e-05f, -7.490741748e-05f,
+-7.492508612e-05f, -7.494262355e-05f, -7.496002973e-05f, -7.497730466e-05f, -7.499444831e-05f, -7.501146067e-05f, -7.502834171e-05f, -7.504509143e-05f, -7.506170980e-05f, -7.507819681e-05f,
+-7.509455244e-05f, -7.511077668e-05f, -7.512686950e-05f, -7.514283090e-05f, -7.515866086e-05f, -7.517435935e-05f, -7.518992638e-05f, -7.520536192e-05f, -7.522066596e-05f, -7.523583847e-05f,
+-7.525087946e-05f, -7.526578891e-05f, -7.528056679e-05f, -7.529521310e-05f, -7.530972783e-05f, -7.532411096e-05f, -7.533836248e-05f, -7.535248237e-05f, -7.536647063e-05f, -7.538032724e-05f,
+-7.539405219e-05f, -7.540764546e-05f, -7.542110706e-05f, -7.543443695e-05f, -7.544763515e-05f, -7.546070162e-05f, -7.547363637e-05f, -7.548643938e-05f, -7.549911065e-05f, -7.551165016e-05f,
+-7.552405790e-05f, -7.553633386e-05f, -7.554847804e-05f, -7.556049042e-05f, -7.557237100e-05f, -7.558411977e-05f, -7.559573672e-05f, -7.560722184e-05f, -7.561857513e-05f, -7.562979657e-05f,
+-7.564088616e-05f, -7.565184390e-05f, -7.566266977e-05f, -7.567336377e-05f, -7.568392589e-05f, -7.569435613e-05f, -7.570465447e-05f, -7.571482093e-05f, -7.572485548e-05f, -7.573475812e-05f,
+-7.574452886e-05f, -7.575416767e-05f, -7.576367457e-05f, -7.577304954e-05f, -7.578229258e-05f, -7.579140369e-05f, -7.580038287e-05f, -7.580923010e-05f, -7.581794539e-05f, -7.582652873e-05f,
+-7.583498012e-05f, -7.584329956e-05f, -7.585148705e-05f, -7.585954258e-05f, -7.586746616e-05f, -7.587525777e-05f, -7.588291742e-05f, -7.589044511e-05f, -7.589784084e-05f, -7.590510461e-05f,
+-7.591223641e-05f, -7.591923624e-05f, -7.592610411e-05f, -7.593284002e-05f, -7.593944396e-05f, -7.594591594e-05f, -7.595225596e-05f, -7.595846402e-05f, -7.596454011e-05f, -7.597048425e-05f,
+-7.597629643e-05f, -7.598197666e-05f, -7.598752494e-05f, -7.599294126e-05f, -7.599822564e-05f, -7.600337808e-05f, -7.600839857e-05f, -7.601328713e-05f, -7.601804375e-05f, -7.602266845e-05f,
+-7.602716121e-05f, -7.603152206e-05f, -7.603575099e-05f, -7.603984801e-05f, -7.604381312e-05f, -7.604764633e-05f, -7.605134764e-05f, -7.605491706e-05f, -7.605835460e-05f, -7.606166026e-05f,
+-7.606483404e-05f, -7.606787596e-05f, -7.607078602e-05f, -7.607356423e-05f, -7.607621060e-05f, -7.607872513e-05f, -7.608110782e-05f, -7.608335870e-05f, -7.608547777e-05f, -7.608746503e-05f,
+-7.608932049e-05f, -7.609104417e-05f, -7.609263606e-05f, -7.609409619e-05f, -7.609542456e-05f, -7.609662119e-05f, -7.609768607e-05f, -7.609861922e-05f, -7.609942065e-05f, -7.610009038e-05f,
+-7.610062841e-05f, -7.610103475e-05f, -7.610130942e-05f, -7.610145242e-05f, -7.610146378e-05f, -7.610134349e-05f, -7.610109158e-05f, -7.610070805e-05f, -7.610019293e-05f, -7.609954621e-05f,
+-7.609876792e-05f, -7.609785806e-05f, -7.609681666e-05f, -7.609564373e-05f, -7.609433927e-05f, -7.609290330e-05f, -7.609133585e-05f, -7.608963692e-05f, -7.608780652e-05f, -7.608584468e-05f,
+-7.608375141e-05f, -7.608152673e-05f, -7.607917064e-05f, -7.607668317e-05f, -7.607406433e-05f, -7.607131415e-05f, -7.606843263e-05f, -7.606541979e-05f, -7.606227565e-05f, -7.605900023e-05f,
+-7.605559355e-05f, -7.605205562e-05f, -7.604838646e-05f, -7.604458610e-05f, -7.604065454e-05f, -7.603659181e-05f, -7.603239792e-05f, -7.602807290e-05f, -7.602361677e-05f, -7.601902955e-05f,
+-7.601431124e-05f, -7.600946189e-05f, -7.600448150e-05f, -7.599937009e-05f, -7.599412770e-05f, -7.598875433e-05f, -7.598325001e-05f, -7.597761476e-05f, -7.597184861e-05f, -7.596595157e-05f,
+-7.595992367e-05f, -7.595376493e-05f, -7.594747537e-05f, -7.594105501e-05f, -7.593450389e-05f, -7.592782201e-05f, -7.592100941e-05f, -7.591406611e-05f, -7.590699213e-05f, -7.589978750e-05f,
+-7.589245225e-05f, -7.588498638e-05f, -7.587738994e-05f, -7.586966295e-05f, -7.586180543e-05f, -7.585381740e-05f, -7.584569890e-05f, -7.583744995e-05f, -7.582907057e-05f, -7.582056079e-05f,
+-7.581192064e-05f, -7.580315015e-05f, -7.579424934e-05f, -7.578521824e-05f, -7.577605688e-05f, -7.576676528e-05f, -7.575734348e-05f, -7.574779150e-05f, -7.573810936e-05f, -7.572829711e-05f,
+-7.571835477e-05f, -7.570828236e-05f, -7.569807991e-05f, -7.568774747e-05f, -7.567728505e-05f, -7.566669268e-05f, -7.565597040e-05f, -7.564511824e-05f, -7.563413622e-05f, -7.562302438e-05f,
+-7.561178275e-05f, -7.560041136e-05f, -7.558891024e-05f, -7.557727943e-05f, -7.556551895e-05f, -7.555362884e-05f, -7.554160913e-05f, -7.552945985e-05f, -7.551718104e-05f, -7.550477273e-05f,
+-7.549223495e-05f, -7.547956774e-05f, -7.546677113e-05f, -7.545384515e-05f, -7.544078984e-05f, -7.542760523e-05f, -7.541429136e-05f, -7.540084827e-05f, -7.538727598e-05f, -7.537357453e-05f,
+-7.535974396e-05f, -7.534578430e-05f, -7.533169560e-05f, -7.531747788e-05f, -7.530313118e-05f, -7.528865555e-05f, -7.527405101e-05f, -7.525931760e-05f, -7.524445536e-05f, -7.522946434e-05f,
+-7.521434455e-05f, -7.519909605e-05f, -7.518371888e-05f, -7.516821306e-05f, -7.515257865e-05f, -7.513681567e-05f, -7.512092417e-05f, -7.510490418e-05f, -7.508875575e-05f, -7.507247892e-05f,
+-7.505607372e-05f, -7.503954020e-05f, -7.502287840e-05f, -7.500608835e-05f, -7.498917010e-05f, -7.497212369e-05f, -7.495494915e-05f, -7.493764654e-05f, -7.492021589e-05f, -7.490265725e-05f,
+-7.488497066e-05f, -7.486715615e-05f, -7.484921377e-05f, -7.483114358e-05f, -7.481294559e-05f, -7.479461987e-05f, -7.477616646e-05f, -7.475758539e-05f, -7.473887671e-05f, -7.472004047e-05f,
+-7.470107671e-05f, -7.468198548e-05f, -7.466276682e-05f, -7.464342077e-05f, -7.462394737e-05f, -7.460434669e-05f, -7.458461875e-05f, -7.456476362e-05f, -7.454478132e-05f, -7.452467191e-05f,
+-7.450443544e-05f, -7.448407195e-05f, -7.446358149e-05f, -7.444296411e-05f, -7.442221985e-05f, -7.440134876e-05f, -7.438035089e-05f, -7.435922628e-05f, -7.433797499e-05f, -7.431659707e-05f,
+-7.429509255e-05f, -7.427346150e-05f, -7.425170395e-05f, -7.422981997e-05f, -7.420780959e-05f, -7.418567287e-05f, -7.416340986e-05f, -7.414102061e-05f, -7.411850516e-05f, -7.409586358e-05f,
+-7.407309590e-05f, -7.405020218e-05f, -7.402718248e-05f, -7.400403684e-05f, -7.398076532e-05f, -7.395736796e-05f, -7.393384482e-05f, -7.391019595e-05f, -7.388642141e-05f, -7.386252124e-05f,
+-7.383849550e-05f, -7.381434424e-05f, -7.379006752e-05f, -7.376566539e-05f, -7.374113790e-05f, -7.371648511e-05f, -7.369170706e-05f, -7.366680383e-05f, -7.364177545e-05f, -7.361662199e-05f,
+-7.359134350e-05f, -7.356594003e-05f, -7.354041164e-05f, -7.351475839e-05f, -7.348898033e-05f, -7.346307752e-05f, -7.343705001e-05f, -7.341089786e-05f, -7.338462114e-05f, -7.335821988e-05f,
+-7.333169416e-05f, -7.330504402e-05f, -7.327826953e-05f, -7.325137075e-05f, -7.322434773e-05f, -7.319720052e-05f, -7.316992920e-05f, -7.314253381e-05f, -7.311501442e-05f, -7.308737108e-05f,
+-7.305960386e-05f, -7.303171281e-05f, -7.300369800e-05f, -7.297555947e-05f, -7.294729731e-05f, -7.291891155e-05f, -7.289040227e-05f, -7.286176952e-05f, -7.283301337e-05f, -7.280413387e-05f,
+-7.277513109e-05f, -7.274600509e-05f, -7.271675594e-05f, -7.268738368e-05f, -7.265788839e-05f, -7.262827013e-05f, -7.259852896e-05f, -7.256866494e-05f, -7.253867813e-05f, -7.250856861e-05f,
+-7.247833642e-05f, -7.244798164e-05f, -7.241750434e-05f, -7.238690456e-05f, -7.235618238e-05f, -7.232533787e-05f, -7.229437108e-05f, -7.226328208e-05f, -7.223207094e-05f, -7.220073773e-05f,
+-7.216928250e-05f, -7.213770532e-05f, -7.210600626e-05f, -7.207418538e-05f, -7.204224276e-05f, -7.201017845e-05f, -7.197799253e-05f, -7.194568506e-05f, -7.191325611e-05f, -7.188070574e-05f,
+-7.184803402e-05f, -7.181524103e-05f, -7.178232682e-05f, -7.174929147e-05f, -7.171613505e-05f, -7.168285762e-05f, -7.164945925e-05f, -7.161594001e-05f, -7.158229997e-05f, -7.154853920e-05f,
+-7.151465777e-05f, -7.148065575e-05f, -7.144653320e-05f, -7.141229021e-05f, -7.137792683e-05f, -7.134344314e-05f, -7.130883921e-05f, -7.127411512e-05f, -7.123927092e-05f, -7.120430670e-05f,
+-7.116922253e-05f, -7.113401847e-05f, -7.109869460e-05f, -7.106325099e-05f, -7.102768771e-05f, -7.099200484e-05f, -7.095620245e-05f, -7.092028061e-05f, -7.088423939e-05f, -7.084807887e-05f,
+-7.081179912e-05f, -7.077540022e-05f, -7.073888224e-05f, -7.070224525e-05f, -7.066548932e-05f, -7.062861454e-05f, -7.059162098e-05f, -7.055450871e-05f, -7.051727780e-05f, -7.047992834e-05f,
+-7.044246039e-05f, -7.040487404e-05f, -7.036716935e-05f, -7.032934641e-05f, -7.029140530e-05f, -7.025334608e-05f, -7.021516883e-05f, -7.017687364e-05f, -7.013846058e-05f, -7.009992972e-05f,
+-7.006128115e-05f, -7.002251494e-05f, -6.998363116e-05f, -6.994462991e-05f, -6.990551125e-05f, -6.986627526e-05f, -6.982692203e-05f, -6.978745163e-05f, -6.974786414e-05f, -6.970815964e-05f,
+-6.966833821e-05f, -6.962839993e-05f, -6.958834487e-05f, -6.954817313e-05f, -6.950788477e-05f, -6.946747989e-05f, -6.942695855e-05f, -6.938632085e-05f, -6.934556686e-05f, -6.930469666e-05f,
+-6.926371034e-05f, -6.922260797e-05f, -6.918138964e-05f, -6.914005543e-05f, -6.909860543e-05f, -6.905703970e-05f, -6.901535835e-05f, -6.897356144e-05f, -6.893164907e-05f, -6.888962132e-05f,
+-6.884747826e-05f, -6.880521999e-05f, -6.876284658e-05f, -6.872035812e-05f, -6.867775470e-05f, -6.863503640e-05f, -6.859220330e-05f, -6.854925548e-05f, -6.850619305e-05f, -6.846301606e-05f,
+-6.841972463e-05f, -6.837631882e-05f, -6.833279872e-05f, -6.828916443e-05f, -6.824541602e-05f, -6.820155358e-05f, -6.815757720e-05f, -6.811348697e-05f, -6.806928297e-05f, -6.802496529e-05f,
+-6.798053401e-05f, -6.793598923e-05f, -6.789133103e-05f, -6.784655949e-05f, -6.780167472e-05f, -6.775667678e-05f, -6.771156579e-05f, -6.766634181e-05f, -6.762100494e-05f, -6.757555527e-05f,
+-6.752999289e-05f, -6.748431788e-05f, -6.743853034e-05f, -6.739263036e-05f, -6.734661802e-05f, -6.730049342e-05f, -6.725425665e-05f, -6.720790779e-05f, -6.716144694e-05f, -6.711487418e-05f,
+-6.706818961e-05f, -6.702139332e-05f, -6.697448541e-05f, -6.692746595e-05f, -6.688033505e-05f, -6.683309279e-05f, -6.678573927e-05f, -6.673827458e-05f, -6.669069881e-05f, -6.664301206e-05f,
+-6.659521441e-05f, -6.654730596e-05f, -6.649928681e-05f, -6.645115704e-05f, -6.640291675e-05f, -6.635456604e-05f, -6.630610499e-05f, -6.625753370e-05f, -6.620885227e-05f, -6.616006079e-05f,
+-6.611115936e-05f, -6.606214806e-05f, -6.601302700e-05f, -6.596379626e-05f, -6.591445595e-05f, -6.586500616e-05f, -6.581544699e-05f, -6.576577852e-05f, -6.571600087e-05f, -6.566611411e-05f,
+-6.561611836e-05f, -6.556601370e-05f, -6.551580024e-05f, -6.546547807e-05f, -6.541504728e-05f, -6.536450798e-05f, -6.531386025e-05f, -6.526310421e-05f, -6.521223995e-05f, -6.516126756e-05f,
+-6.511018714e-05f, -6.505899880e-05f, -6.500770262e-05f, -6.495629872e-05f, -6.490478718e-05f, -6.485316811e-05f, -6.480144160e-05f, -6.474960776e-05f, -6.469766668e-05f, -6.464561847e-05f,
+-6.459346322e-05f, -6.454120104e-05f, -6.448883202e-05f, -6.443635627e-05f, -6.438377388e-05f, -6.433108496e-05f, -6.427828961e-05f, -6.422538792e-05f, -6.417238001e-05f, -6.411926597e-05f,
+-6.406604590e-05f, -6.401271990e-05f, -6.395928809e-05f, -6.390575055e-05f, -6.385210739e-05f, -6.379835872e-05f, -6.374450463e-05f, -6.369054524e-05f, -6.363648064e-05f, -6.358231093e-05f,
+-6.352803622e-05f, -6.347365662e-05f, -6.341917222e-05f, -6.336458313e-05f, -6.330988946e-05f, -6.325509131e-05f, -6.320018878e-05f, -6.314518198e-05f, -6.309007101e-05f, -6.303485598e-05f,
+-6.297953699e-05f, -6.292411415e-05f, -6.286858757e-05f, -6.281295734e-05f, -6.275722358e-05f, -6.270138639e-05f, -6.264544588e-05f, -6.258940215e-05f, -6.253325531e-05f, -6.247700547e-05f,
+-6.242065273e-05f, -6.236419720e-05f, -6.230763899e-05f, -6.225097820e-05f, -6.219421494e-05f, -6.213734933e-05f, -6.208038146e-05f, -6.202331145e-05f, -6.196613941e-05f, -6.190886543e-05f,
+-6.185148964e-05f, -6.179401213e-05f, -6.173643303e-05f, -6.167875243e-05f, -6.162097045e-05f, -6.156308719e-05f, -6.150510277e-05f, -6.144701729e-05f, -6.138883087e-05f, -6.133054361e-05f,
+-6.127215563e-05f, -6.121366703e-05f, -6.115507792e-05f, -6.109638843e-05f, -6.103759865e-05f, -6.097870870e-05f, -6.091971868e-05f, -6.086062872e-05f, -6.080143892e-05f, -6.074214939e-05f,
+-6.068276025e-05f, -6.062327160e-05f, -6.056368357e-05f, -6.050399625e-05f, -6.044420977e-05f, -6.038432423e-05f, -6.032433976e-05f, -6.026425645e-05f, -6.020407444e-05f, -6.014379381e-05f,
+-6.008341471e-05f, -6.002293722e-05f, -5.996236148e-05f, -5.990168758e-05f, -5.984091566e-05f, -5.978004581e-05f, -5.971907817e-05f, -5.965801283e-05f, -5.959684991e-05f, -5.953558954e-05f,
+-5.947423181e-05f, -5.941277686e-05f, -5.935122479e-05f, -5.928957573e-05f, -5.922782978e-05f, -5.916598706e-05f, -5.910404768e-05f, -5.904201177e-05f, -5.897987944e-05f, -5.891765081e-05f,
+-5.885532599e-05f, -5.879290510e-05f, -5.873038825e-05f, -5.866777557e-05f, -5.860506717e-05f, -5.854226317e-05f, -5.847936368e-05f, -5.841636882e-05f, -5.835327872e-05f, -5.829009348e-05f,
+-5.822681323e-05f, -5.816343808e-05f, -5.809996816e-05f, -5.803640358e-05f, -5.797274446e-05f, -5.790899092e-05f, -5.784514308e-05f, -5.778120106e-05f, -5.771716497e-05f, -5.765303494e-05f,
+-5.758881108e-05f, -5.752449352e-05f, -5.746008238e-05f, -5.739557777e-05f, -5.733097982e-05f, -5.726628864e-05f, -5.720150436e-05f, -5.713662710e-05f, -5.707165697e-05f, -5.700659411e-05f,
+-5.694143863e-05f, -5.687619064e-05f, -5.681085028e-05f, -5.674541767e-05f, -5.667989292e-05f, -5.661427616e-05f, -5.654856751e-05f, -5.648276709e-05f, -5.641687503e-05f, -5.635089145e-05f,
+-5.628481646e-05f, -5.621865020e-05f, -5.615239278e-05f, -5.608604433e-05f, -5.601960497e-05f, -5.595307483e-05f, -5.588645402e-05f, -5.581974268e-05f, -5.575294093e-05f, -5.568604888e-05f,
+-5.561906667e-05f, -5.555199441e-05f, -5.548483224e-05f, -5.541758028e-05f, -5.535023864e-05f, -5.528280746e-05f, -5.521528687e-05f, -5.514767698e-05f, -5.507997792e-05f, -5.501218982e-05f,
+-5.494431280e-05f, -5.487634699e-05f, -5.480829251e-05f, -5.474014950e-05f, -5.467191806e-05f, -5.460359834e-05f, -5.453519046e-05f, -5.446669455e-05f, -5.439811072e-05f, -5.432943912e-05f,
+-5.426067985e-05f, -5.419183307e-05f, -5.412289888e-05f, -5.405387741e-05f, -5.398476880e-05f, -5.391557318e-05f, -5.384629066e-05f, -5.377692138e-05f, -5.370746547e-05f, -5.363792305e-05f,
+-5.356829425e-05f, -5.349857920e-05f, -5.342877803e-05f, -5.335889087e-05f, -5.328891784e-05f, -5.321885908e-05f, -5.314871472e-05f, -5.307848488e-05f, -5.300816969e-05f, -5.293776929e-05f,
+-5.286728379e-05f, -5.279671334e-05f, -5.272605807e-05f, -5.265531809e-05f, -5.258449355e-05f, -5.251358457e-05f, -5.244259128e-05f, -5.237151382e-05f, -5.230035231e-05f, -5.222910689e-05f,
+-5.215777768e-05f, -5.208636483e-05f, -5.201486845e-05f, -5.194328868e-05f, -5.187162565e-05f, -5.179987950e-05f, -5.172805035e-05f, -5.165613834e-05f, -5.158414360e-05f, -5.151206626e-05f,
+-5.143990646e-05f, -5.136766432e-05f, -5.129533998e-05f, -5.122293357e-05f, -5.115044523e-05f, -5.107787509e-05f, -5.100522327e-05f, -5.093248992e-05f, -5.085967517e-05f, -5.078677914e-05f,
+-5.071380199e-05f, -5.064074383e-05f, -5.056760480e-05f, -5.049438504e-05f, -5.042108468e-05f, -5.034770385e-05f, -5.027424269e-05f, -5.020070134e-05f, -5.012707992e-05f, -5.005337858e-05f,
+-4.997959744e-05f, -4.990573665e-05f, -4.983179633e-05f, -4.975777663e-05f, -4.968367768e-05f, -4.960949961e-05f, -4.953524256e-05f, -4.946090666e-05f, -4.938649206e-05f, -4.931199888e-05f,
+-4.923742727e-05f, -4.916277736e-05f, -4.908804928e-05f, -4.901324318e-05f, -4.893835918e-05f, -4.886339743e-05f, -4.878835807e-05f, -4.871324122e-05f, -4.863804704e-05f, -4.856277564e-05f,
+-4.848742718e-05f, -4.841200179e-05f, -4.833649960e-05f, -4.826092076e-05f, -4.818526540e-05f, -4.810953366e-05f, -4.803372568e-05f, -4.795784159e-05f, -4.788188155e-05f, -4.780584567e-05f,
+-4.772973411e-05f, -4.765354699e-05f, -4.757728447e-05f, -4.750094667e-05f, -4.742453374e-05f, -4.734804582e-05f, -4.727148305e-05f, -4.719484556e-05f, -4.711813349e-05f, -4.704134699e-05f,
+-4.696448619e-05f, -4.688755123e-05f, -4.681054226e-05f, -4.673345942e-05f, -4.665630283e-05f, -4.657907266e-05f, -4.650176902e-05f, -4.642439207e-05f, -4.634694195e-05f, -4.626941880e-05f,
+-4.619182275e-05f, -4.611415395e-05f, -4.603641254e-05f, -4.595859866e-05f, -4.588071245e-05f, -4.580275406e-05f, -4.572472362e-05f, -4.564662128e-05f, -4.556844718e-05f, -4.549020146e-05f,
+-4.541188426e-05f, -4.533349572e-05f, -4.525503600e-05f, -4.517650522e-05f, -4.509790353e-05f, -4.501923108e-05f, -4.494048800e-05f, -4.486167445e-05f, -4.478279055e-05f, -4.470383647e-05f,
+-4.462481233e-05f, -4.454571828e-05f, -4.446655447e-05f, -4.438732103e-05f, -4.430801812e-05f, -4.422864587e-05f, -4.414920443e-05f, -4.406969395e-05f, -4.399011456e-05f, -4.391046642e-05f,
+-4.383074966e-05f, -4.375096443e-05f, -4.367111087e-05f, -4.359118913e-05f, -4.351119936e-05f, -4.343114169e-05f, -4.335101627e-05f, -4.327082326e-05f, -4.319056278e-05f, -4.311023500e-05f,
+-4.302984004e-05f, -4.294937806e-05f, -4.286884921e-05f, -4.278825363e-05f, -4.270759146e-05f, -4.262686285e-05f, -4.254606795e-05f, -4.246520689e-05f, -4.238427984e-05f, -4.230328693e-05f,
+-4.222222831e-05f, -4.214110413e-05f, -4.205991453e-05f, -4.197865967e-05f, -4.189733967e-05f, -4.181595470e-05f, -4.173450490e-05f, -4.165299042e-05f, -4.157141140e-05f, -4.148976799e-05f,
+-4.140806034e-05f, -4.132628860e-05f, -4.124445291e-05f, -4.116255341e-05f, -4.108059027e-05f, -4.099856362e-05f, -4.091647362e-05f, -4.083432040e-05f, -4.075210413e-05f, -4.066982494e-05f,
+-4.058748299e-05f, -4.050507842e-05f, -4.042261139e-05f, -4.034008203e-05f, -4.025749051e-05f, -4.017483696e-05f, -4.009212154e-05f, -4.000934440e-05f, -3.992650567e-05f, -3.984360553e-05f,
+-3.976064410e-05f, -3.967762155e-05f, -3.959453802e-05f, -3.951139365e-05f, -3.942818861e-05f, -3.934492304e-05f, -3.926159708e-05f, -3.917821090e-05f, -3.909476463e-05f, -3.901125844e-05f,
+-3.892769246e-05f, -3.884406685e-05f, -3.876038176e-05f, -3.867663733e-05f, -3.859283373e-05f, -3.850897110e-05f, -3.842504959e-05f, -3.834106935e-05f, -3.825703053e-05f, -3.817293329e-05f,
+-3.808877776e-05f, -3.800456412e-05f, -3.792029250e-05f, -3.783596306e-05f, -3.775157594e-05f, -3.766713130e-05f, -3.758262930e-05f, -3.749807008e-05f, -3.741345379e-05f, -3.732878059e-05f,
+-3.724405063e-05f, -3.715926405e-05f, -3.707442102e-05f, -3.698952168e-05f, -3.690456619e-05f, -3.681955469e-05f, -3.673448734e-05f, -3.664936430e-05f, -3.656418571e-05f, -3.647895173e-05f,
+-3.639366251e-05f, -3.630831820e-05f, -3.622291896e-05f, -3.613746493e-05f, -3.605195628e-05f, -3.596639315e-05f, -3.588077570e-05f, -3.579510407e-05f, -3.570937844e-05f, -3.562359893e-05f,
+-3.553776572e-05f, -3.545187896e-05f, -3.536593879e-05f, -3.527994537e-05f, -3.519389885e-05f, -3.510779940e-05f, -3.502164715e-05f, -3.493544228e-05f, -3.484918492e-05f, -3.476287524e-05f,
+-3.467651338e-05f, -3.459009951e-05f, -3.450363378e-05f, -3.441711634e-05f, -3.433054734e-05f, -3.424392695e-05f, -3.415725531e-05f, -3.407053258e-05f, -3.398375892e-05f, -3.389693447e-05f,
+-3.381005940e-05f, -3.372313386e-05f, -3.363615801e-05f, -3.354913199e-05f, -3.346205597e-05f, -3.337493010e-05f, -3.328775453e-05f, -3.320052943e-05f, -3.311325494e-05f, -3.302593123e-05f,
+-3.293855844e-05f, -3.285113674e-05f, -3.276366627e-05f, -3.267614720e-05f, -3.258857969e-05f, -3.250096387e-05f, -3.241329993e-05f, -3.232558800e-05f, -3.223782825e-05f, -3.215002083e-05f,
+-3.206216589e-05f, -3.197426360e-05f, -3.188631412e-05f, -3.179831759e-05f, -3.171027417e-05f, -3.162218403e-05f, -3.153404731e-05f, -3.144586418e-05f, -3.135763479e-05f, -3.126935930e-05f,
+-3.118103786e-05f, -3.109267063e-05f, -3.100425778e-05f, -3.091579945e-05f, -3.082729580e-05f, -3.073874700e-05f, -3.065015319e-05f, -3.056151455e-05f, -3.047283121e-05f, -3.038410335e-05f,
+-3.029533111e-05f, -3.020651466e-05f, -3.011765416e-05f, -3.002874976e-05f, -2.993980161e-05f, -2.985080989e-05f, -2.976177474e-05f, -2.967269633e-05f, -2.958357481e-05f, -2.949441033e-05f,
+-2.940520307e-05f, -2.931595318e-05f, -2.922666081e-05f, -2.913732612e-05f, -2.904794927e-05f, -2.895853043e-05f, -2.886906975e-05f, -2.877956738e-05f, -2.869002349e-05f, -2.860043824e-05f,
+-2.851081178e-05f, -2.842114428e-05f, -2.833143588e-05f, -2.824168676e-05f, -2.815189707e-05f, -2.806206697e-05f, -2.797219661e-05f, -2.788228617e-05f, -2.779233579e-05f, -2.770234564e-05f,
+-2.761231587e-05f, -2.752224665e-05f, -2.743213814e-05f, -2.734199049e-05f, -2.725180386e-05f, -2.716157842e-05f, -2.707131432e-05f, -2.698101172e-05f, -2.689067079e-05f, -2.680029167e-05f,
+-2.670987455e-05f, -2.661941956e-05f, -2.652892688e-05f, -2.643839666e-05f, -2.634782906e-05f, -2.625722425e-05f, -2.616658238e-05f, -2.607590361e-05f, -2.598518810e-05f, -2.589443603e-05f,
+-2.580364753e-05f, -2.571282278e-05f, -2.562196194e-05f, -2.553106516e-05f, -2.544013261e-05f, -2.534916445e-05f, -2.525816083e-05f, -2.516712193e-05f, -2.507604789e-05f, -2.498493888e-05f,
+-2.489379507e-05f, -2.480261661e-05f, -2.471140366e-05f, -2.462015639e-05f, -2.452887495e-05f, -2.443755950e-05f, -2.434621022e-05f, -2.425482725e-05f, -2.416341077e-05f, -2.407196092e-05f,
+-2.398047788e-05f, -2.388896181e-05f, -2.379741285e-05f, -2.370583119e-05f, -2.361421697e-05f, -2.352257037e-05f, -2.343089153e-05f, -2.333918063e-05f, -2.324743782e-05f, -2.315566327e-05f,
+-2.306385714e-05f, -2.297201959e-05f, -2.288015078e-05f, -2.278825087e-05f, -2.269632003e-05f, -2.260435842e-05f, -2.251236620e-05f, -2.242034353e-05f, -2.232829057e-05f, -2.223620749e-05f,
+-2.214409444e-05f, -2.205195160e-05f, -2.195977911e-05f, -2.186757716e-05f, -2.177534588e-05f, -2.168308546e-05f, -2.159079605e-05f, -2.149847781e-05f, -2.140613091e-05f, -2.131375551e-05f,
+-2.122135177e-05f, -2.112891985e-05f, -2.103645992e-05f, -2.094397214e-05f, -2.085145666e-05f, -2.075891367e-05f, -2.066634330e-05f, -2.057374574e-05f, -2.048112114e-05f, -2.038846967e-05f,
+-2.029579148e-05f, -2.020308674e-05f, -2.011035562e-05f, -2.001759827e-05f, -1.992481487e-05f, -1.983200556e-05f, -1.973917052e-05f, -1.964630991e-05f, -1.955342389e-05f, -1.946051262e-05f,
+-1.936757627e-05f, -1.927461500e-05f, -1.918162898e-05f, -1.908861836e-05f, -1.899558331e-05f, -1.890252400e-05f, -1.880944058e-05f, -1.871633322e-05f, -1.862320209e-05f, -1.853004734e-05f,
+-1.843686914e-05f, -1.834366766e-05f, -1.825044305e-05f, -1.815719548e-05f, -1.806392512e-05f, -1.797063212e-05f, -1.787731666e-05f, -1.778397889e-05f, -1.769061897e-05f, -1.759723708e-05f,
+-1.750383338e-05f, -1.741040802e-05f, -1.731696117e-05f, -1.722349300e-05f, -1.713000368e-05f, -1.703649335e-05f, -1.694296219e-05f, -1.684941036e-05f, -1.675583803e-05f, -1.666224536e-05f,
+-1.656863251e-05f, -1.647499964e-05f, -1.638134693e-05f, -1.628767453e-05f, -1.619398261e-05f, -1.610027133e-05f, -1.600654085e-05f, -1.591279135e-05f, -1.581902298e-05f, -1.572523591e-05f,
+-1.563143030e-05f, -1.553760631e-05f, -1.544376412e-05f, -1.534990388e-05f, -1.525602576e-05f, -1.516212992e-05f, -1.506821653e-05f, -1.497428574e-05f, -1.488033774e-05f, -1.478637267e-05f,
+-1.469239070e-05f, -1.459839200e-05f, -1.450437674e-05f, -1.441034506e-05f, -1.431629715e-05f, -1.422223316e-05f, -1.412815326e-05f, -1.403405762e-05f, -1.393994639e-05f, -1.384581974e-05f,
+-1.375167784e-05f, -1.365752084e-05f, -1.356334892e-05f, -1.346916224e-05f, -1.337496097e-05f, -1.328074526e-05f, -1.318651528e-05f, -1.309227119e-05f, -1.299801317e-05f, -1.290374137e-05f,
+-1.280945596e-05f, -1.271515711e-05f, -1.262084497e-05f, -1.252651972e-05f, -1.243218151e-05f, -1.233783051e-05f, -1.224346689e-05f, -1.214909081e-05f, -1.205470243e-05f, -1.196030193e-05f,
+-1.186588945e-05f, -1.177146518e-05f, -1.167702926e-05f, -1.158258188e-05f, -1.148812318e-05f, -1.139365334e-05f, -1.129917253e-05f, -1.120468089e-05f, -1.111017861e-05f, -1.101566584e-05f,
+-1.092114275e-05f, -1.082660950e-05f, -1.073206626e-05f, -1.063751319e-05f, -1.054295046e-05f, -1.044837823e-05f, -1.035379667e-05f, -1.025920593e-05f, -1.016460620e-05f, -1.006999762e-05f,
+-9.975380359e-06f, -9.880754591e-06f, -9.786120476e-06f, -9.691478179e-06f, -9.596827863e-06f, -9.502169694e-06f, -9.407503836e-06f, -9.312830454e-06f, -9.218149712e-06f, -9.123461774e-06f,
+-9.028766805e-06f, -8.934064970e-06f, -8.839356433e-06f, -8.744641359e-06f, -8.649919911e-06f, -8.555192256e-06f, -8.460458556e-06f, -8.365718977e-06f, -8.270973684e-06f, -8.176222840e-06f,
+-8.081466609e-06f, -7.986705158e-06f, -7.891938649e-06f, -7.797167248e-06f, -7.702391118e-06f, -7.607610425e-06f, -7.512825333e-06f, -7.418036006e-06f, -7.323242608e-06f, -7.228445305e-06f,
+-7.133644260e-06f, -7.038839637e-06f, -6.944031602e-06f, -6.849220318e-06f, -6.754405951e-06f, -6.659588663e-06f, -6.564768621e-06f, -6.469945987e-06f, -6.375120926e-06f, -6.280293603e-06f,
+-6.185464182e-06f, -6.090632827e-06f, -5.995799703e-06f, -5.900964973e-06f, -5.806128802e-06f, -5.711291355e-06f, -5.616452795e-06f, -5.521613287e-06f, -5.426772994e-06f, -5.331932082e-06f,
+-5.237090713e-06f, -5.142249054e-06f, -5.047407266e-06f, -4.952565516e-06f, -4.857723966e-06f, -4.762882781e-06f, -4.668042125e-06f, -4.573202162e-06f, -4.478363056e-06f, -4.383524971e-06f,
+-4.288688071e-06f, -4.193852521e-06f, -4.099018483e-06f, -4.004186123e-06f, -3.909355604e-06f, -3.814527089e-06f, -3.719700744e-06f, -3.624876731e-06f, -3.530055215e-06f, -3.435236359e-06f,
+-3.340420328e-06f, -3.245607284e-06f, -3.150797393e-06f, -3.055990817e-06f, -2.961187721e-06f, -2.866388268e-06f, -2.771592622e-06f, -2.676800946e-06f, -2.582013404e-06f, -2.487230161e-06f,
+-2.392451379e-06f, -2.297677221e-06f, -2.202907853e-06f, -2.108143437e-06f, -2.013384136e-06f, -1.918630115e-06f, -1.823881536e-06f, -1.729138564e-06f, -1.634401361e-06f, -1.539670091e-06f,
+-1.444944918e-06f, -1.350226004e-06f, -1.255513513e-06f, -1.160807609e-06f, -1.066108454e-06f, -9.714162120e-07f, -8.767310461e-07f, -7.820531196e-07f, -6.873825955e-07f, -5.927196369e-07f,
+-4.980644071e-07f, -4.034170690e-07f, -3.087777858e-07f, -2.141467204e-07f, -1.195240358e-07f, -2.490989501e-08f, 6.969553902e-08f, 1.642921034e-07f, 2.588796353e-07f, 3.534579718e-07f,
+4.480269502e-07f, 5.425864076e-07f, 6.371361813e-07f, 7.316761086e-07f, 8.262060268e-07f, 9.207257733e-07f, 1.015235185e-06f, 1.109734100e-06f, 1.204222356e-06f, 1.298699790e-06f,
+1.393166239e-06f, 1.487621541e-06f, 1.582065534e-06f, 1.676498054e-06f, 1.770918941e-06f, 1.865328032e-06f, 1.959725163e-06f, 2.054110174e-06f, 2.148482901e-06f, 2.242843184e-06f,
+2.337190858e-06f, 2.431525763e-06f, 2.525847737e-06f, 2.620156617e-06f, 2.714452241e-06f, 2.808734448e-06f, 2.903003075e-06f, 2.997257961e-06f, 3.091498943e-06f, 3.185725861e-06f,
+3.279938552e-06f, 3.374136854e-06f, 3.468320606e-06f, 3.562489647e-06f, 3.656643814e-06f, 3.750782946e-06f, 3.844906882e-06f, 3.939015460e-06f, 4.033108519e-06f, 4.127185897e-06f,
+4.221247433e-06f, 4.315292965e-06f, 4.409322333e-06f, 4.503335375e-06f, 4.597331931e-06f, 4.691311838e-06f, 4.785274935e-06f, 4.879221063e-06f, 4.973150059e-06f, 5.067061763e-06f,
+5.160956014e-06f, 5.254832651e-06f, 5.348691513e-06f, 5.442532439e-06f, 5.536355270e-06f, 5.630159843e-06f, 5.723945998e-06f, 5.817713576e-06f, 5.911462414e-06f, 6.005192354e-06f,
+6.098903234e-06f, 6.192594893e-06f, 6.286267172e-06f, 6.379919911e-06f, 6.473552948e-06f, 6.567166124e-06f, 6.660759279e-06f, 6.754332253e-06f, 6.847884885e-06f, 6.941417015e-06f,
+7.034928484e-06f, 7.128419132e-06f, 7.221888798e-06f, 7.315337323e-06f, 7.408764548e-06f, 7.502170312e-06f, 7.595554455e-06f, 7.688916819e-06f, 7.782257244e-06f, 7.875575570e-06f,
+7.968871638e-06f, 8.062145289e-06f, 8.155396362e-06f, 8.248624699e-06f, 8.341830141e-06f, 8.435012528e-06f, 8.528171701e-06f, 8.621307502e-06f, 8.714419771e-06f, 8.807508349e-06f,
+8.900573078e-06f, 8.993613798e-06f, 9.086630351e-06f, 9.179622578e-06f, 9.272590321e-06f, 9.365533420e-06f, 9.458451717e-06f, 9.551345054e-06f, 9.644213273e-06f, 9.737056214e-06f,
+9.829873720e-06f, 9.922665632e-06f, 1.001543179e-05f, 1.010817204e-05f, 1.020088623e-05f, 1.029357418e-05f, 1.038623575e-05f, 1.047887078e-05f, 1.057147911e-05f, 1.066406059e-05f,
+1.075661504e-05f, 1.084914233e-05f, 1.094164228e-05f, 1.103411475e-05f, 1.112655957e-05f, 1.121897658e-05f, 1.131136564e-05f, 1.140372658e-05f, 1.149605924e-05f, 1.158836348e-05f,
+1.168063912e-05f, 1.177288602e-05f, 1.186510401e-05f, 1.195729294e-05f, 1.204945266e-05f, 1.214158300e-05f, 1.223368381e-05f, 1.232575494e-05f, 1.241779622e-05f, 1.250980750e-05f,
+1.260178863e-05f, 1.269373944e-05f, 1.278565978e-05f, 1.287754950e-05f, 1.296940844e-05f, 1.306123644e-05f, 1.315303334e-05f, 1.324479900e-05f, 1.333653324e-05f, 1.342823593e-05f,
+1.351990690e-05f, 1.361154600e-05f, 1.370315307e-05f, 1.379472795e-05f, 1.388627050e-05f, 1.397778055e-05f, 1.406925795e-05f, 1.416070254e-05f, 1.425211418e-05f, 1.434349269e-05f,
+1.443483794e-05f, 1.452614976e-05f, 1.461742800e-05f, 1.470867250e-05f, 1.479988311e-05f, 1.489105968e-05f, 1.498220205e-05f, 1.507331006e-05f, 1.516438356e-05f, 1.525542240e-05f,
+1.534642643e-05f, 1.543739548e-05f, 1.552832940e-05f, 1.561922805e-05f, 1.571009126e-05f, 1.580091888e-05f, 1.589171076e-05f, 1.598246675e-05f, 1.607318668e-05f, 1.616387041e-05f,
+1.625451779e-05f, 1.634512865e-05f, 1.643570285e-05f, 1.652624023e-05f, 1.661674065e-05f, 1.670720394e-05f, 1.679762995e-05f, 1.688801853e-05f, 1.697836954e-05f, 1.706868280e-05f,
+1.715895818e-05f, 1.724919551e-05f, 1.733939466e-05f, 1.742955545e-05f, 1.751967775e-05f, 1.760976140e-05f, 1.769980624e-05f, 1.778981213e-05f, 1.787977891e-05f, 1.796970643e-05f,
+1.805959454e-05f, 1.814944308e-05f, 1.823925191e-05f, 1.832902088e-05f, 1.841874982e-05f, 1.850843859e-05f, 1.859808705e-05f, 1.868769503e-05f, 1.877726238e-05f, 1.886678896e-05f,
+1.895627461e-05f, 1.904571918e-05f, 1.913512253e-05f, 1.922448449e-05f, 1.931380492e-05f, 1.940308368e-05f, 1.949232060e-05f, 1.958151553e-05f, 1.967066834e-05f, 1.975977886e-05f,
+1.984884695e-05f, 1.993787245e-05f, 2.002685522e-05f, 2.011579511e-05f, 2.020469196e-05f, 2.029354563e-05f, 2.038235596e-05f, 2.047112281e-05f, 2.055984603e-05f, 2.064852546e-05f,
+2.073716097e-05f, 2.082575239e-05f, 2.091429959e-05f, 2.100280240e-05f, 2.109126068e-05f, 2.117967429e-05f, 2.126804307e-05f, 2.135636688e-05f, 2.144464556e-05f, 2.153287897e-05f,
+2.162106696e-05f, 2.170920938e-05f, 2.179730609e-05f, 2.188535693e-05f, 2.197336175e-05f, 2.206132041e-05f, 2.214923277e-05f, 2.223709866e-05f, 2.232491795e-05f, 2.241269049e-05f,
+2.250041612e-05f, 2.258809471e-05f, 2.267572610e-05f, 2.276331015e-05f, 2.285084671e-05f, 2.293833564e-05f, 2.302577678e-05f, 2.311316999e-05f, 2.320051512e-05f, 2.328781203e-05f,
+2.337506056e-05f, 2.346226058e-05f, 2.354941194e-05f, 2.363651448e-05f, 2.372356807e-05f, 2.381057256e-05f, 2.389752780e-05f, 2.398443364e-05f, 2.407128995e-05f, 2.415809656e-05f,
+2.424485335e-05f, 2.433156016e-05f, 2.441821685e-05f, 2.450482327e-05f, 2.459137928e-05f, 2.467788473e-05f, 2.476433947e-05f, 2.485074337e-05f, 2.493709628e-05f, 2.502339805e-05f,
+2.510964853e-05f, 2.519584759e-05f, 2.528199508e-05f, 2.536809086e-05f, 2.545413477e-05f, 2.554012668e-05f, 2.562606645e-05f, 2.571195392e-05f, 2.579778896e-05f, 2.588357142e-05f,
+2.596930115e-05f, 2.605497802e-05f, 2.614060188e-05f, 2.622617259e-05f, 2.631169001e-05f, 2.639715398e-05f, 2.648256437e-05f, 2.656792104e-05f, 2.665322384e-05f, 2.673847263e-05f,
+2.682366727e-05f, 2.690880762e-05f, 2.699389353e-05f, 2.707892485e-05f, 2.716390146e-05f, 2.724882321e-05f, 2.733368994e-05f, 2.741850154e-05f, 2.750325784e-05f, 2.758795871e-05f,
+2.767260401e-05f, 2.775719360e-05f, 2.784172734e-05f, 2.792620508e-05f, 2.801062668e-05f, 2.809499201e-05f, 2.817930092e-05f, 2.826355327e-05f, 2.834774892e-05f, 2.843188773e-05f,
+2.851596956e-05f, 2.859999427e-05f, 2.868396173e-05f, 2.876787178e-05f, 2.885172429e-05f, 2.893551912e-05f, 2.901925613e-05f, 2.910293519e-05f, 2.918655614e-05f, 2.927011886e-05f,
+2.935362320e-05f, 2.943706902e-05f, 2.952045619e-05f, 2.960378457e-05f, 2.968705401e-05f, 2.977026438e-05f, 2.985341554e-05f, 2.993650736e-05f, 3.001953968e-05f, 3.010251239e-05f,
+3.018542533e-05f, 3.026827836e-05f, 3.035107136e-05f, 3.043380419e-05f, 3.051647670e-05f, 3.059908876e-05f, 3.068164023e-05f, 3.076413098e-05f, 3.084656086e-05f, 3.092892974e-05f,
+3.101123748e-05f, 3.109348396e-05f, 3.117566902e-05f, 3.125779253e-05f, 3.133985436e-05f, 3.142185438e-05f, 3.150379243e-05f, 3.158566840e-05f, 3.166748214e-05f, 3.174923351e-05f,
+3.183092238e-05f, 3.191254863e-05f, 3.199411210e-05f, 3.207561266e-05f, 3.215705018e-05f, 3.223842453e-05f, 3.231973557e-05f, 3.240098316e-05f, 3.248216718e-05f, 3.256328747e-05f,
+3.264434392e-05f, 3.272533639e-05f, 3.280626473e-05f, 3.288712883e-05f, 3.296792854e-05f, 3.304866372e-05f, 3.312933426e-05f, 3.320994001e-05f, 3.329048084e-05f, 3.337095661e-05f,
+3.345136720e-05f, 3.353171246e-05f, 3.361199228e-05f, 3.369220650e-05f, 3.377235501e-05f, 3.385243767e-05f, 3.393245434e-05f, 3.401240490e-05f, 3.409228921e-05f, 3.417210714e-05f,
+3.425185855e-05f, 3.433154332e-05f, 3.441116132e-05f, 3.449071240e-05f, 3.457019645e-05f, 3.464961333e-05f, 3.472896291e-05f, 3.480824505e-05f, 3.488745963e-05f, 3.496660651e-05f,
+3.504568557e-05f, 3.512469668e-05f, 3.520363970e-05f, 3.528251450e-05f, 3.536132095e-05f, 3.544005893e-05f, 3.551872830e-05f, 3.559732894e-05f, 3.567586071e-05f, 3.575432348e-05f,
+3.583271713e-05f, 3.591104153e-05f, 3.598929654e-05f, 3.606748204e-05f, 3.614559790e-05f, 3.622364399e-05f, 3.630162018e-05f, 3.637952634e-05f, 3.645736235e-05f, 3.653512808e-05f,
+3.661282339e-05f, 3.669044816e-05f, 3.676800227e-05f, 3.684548559e-05f, 3.692289798e-05f, 3.700023932e-05f, 3.707750948e-05f, 3.715470834e-05f, 3.723183577e-05f, 3.730889164e-05f,
+3.738587583e-05f, 3.746278821e-05f, 3.753962864e-05f, 3.761639702e-05f, 3.769309320e-05f, 3.776971707e-05f, 3.784626850e-05f, 3.792274736e-05f, 3.799915352e-05f, 3.807548687e-05f,
+3.815174727e-05f, 3.822793461e-05f, 3.830404875e-05f, 3.838008957e-05f, 3.845605694e-05f, 3.853195075e-05f, 3.860777087e-05f, 3.868351716e-05f, 3.875918952e-05f, 3.883478781e-05f,
+3.891031191e-05f, 3.898576169e-05f, 3.906113704e-05f, 3.913643783e-05f, 3.921166393e-05f, 3.928681523e-05f, 3.936189159e-05f, 3.943689290e-05f, 3.951181904e-05f, 3.958666987e-05f,
+3.966144529e-05f, 3.973614516e-05f, 3.981076936e-05f, 3.988531778e-05f, 3.995979029e-05f, 4.003418676e-05f, 4.010850708e-05f, 4.018275112e-05f, 4.025691877e-05f, 4.033100990e-05f,
+4.040502439e-05f, 4.047896212e-05f, 4.055282297e-05f, 4.062660681e-05f, 4.070031354e-05f, 4.077394302e-05f, 4.084749514e-05f, 4.092096978e-05f, 4.099436681e-05f, 4.106768612e-05f,
+4.114092759e-05f, 4.121409110e-05f, 4.128717652e-05f, 4.136018375e-05f, 4.143311265e-05f, 4.150596312e-05f, 4.157873503e-05f, 4.165142826e-05f, 4.172404270e-05f, 4.179657823e-05f,
+4.186903472e-05f, 4.194141207e-05f, 4.201371015e-05f, 4.208592884e-05f, 4.215806803e-05f, 4.223012760e-05f, 4.230210744e-05f, 4.237400742e-05f, 4.244582743e-05f, 4.251756735e-05f,
+4.258922707e-05f, 4.266080646e-05f, 4.273230542e-05f, 4.280372382e-05f, 4.287506156e-05f, 4.294631850e-05f, 4.301749455e-05f, 4.308858958e-05f, 4.315960347e-05f, 4.323053612e-05f,
+4.330138740e-05f, 4.337215720e-05f, 4.344284541e-05f, 4.351345191e-05f, 4.358397659e-05f, 4.365441933e-05f, 4.372478002e-05f, 4.379505855e-05f, 4.386525479e-05f, 4.393536864e-05f,
+4.400539998e-05f, 4.407534870e-05f, 4.414521469e-05f, 4.421499783e-05f, 4.428469801e-05f, 4.435431511e-05f, 4.442384903e-05f, 4.449329965e-05f, 4.456266686e-05f, 4.463195054e-05f,
+4.470115059e-05f, 4.477026689e-05f, 4.483929933e-05f, 4.490824781e-05f, 4.497711219e-05f, 4.504589239e-05f, 4.511458827e-05f, 4.518319975e-05f, 4.525172669e-05f, 4.532016900e-05f,
+4.538852655e-05f, 4.545679925e-05f, 4.552498698e-05f, 4.559308963e-05f, 4.566110709e-05f, 4.572903925e-05f, 4.579688600e-05f, 4.586464724e-05f, 4.593232284e-05f, 4.599991271e-05f,
+4.606741674e-05f, 4.613483481e-05f, 4.620216681e-05f, 4.626941265e-05f, 4.633657220e-05f, 4.640364536e-05f, 4.647063203e-05f, 4.653753210e-05f, 4.660434545e-05f, 4.667107198e-05f,
+4.673771159e-05f, 4.680426416e-05f, 4.687072959e-05f, 4.693710777e-05f, 4.700339859e-05f, 4.706960196e-05f, 4.713571775e-05f, 4.720174587e-05f, 4.726768621e-05f, 4.733353867e-05f,
+4.739930313e-05f, 4.746497950e-05f, 4.753056766e-05f, 4.759606751e-05f, 4.766147894e-05f, 4.772680186e-05f, 4.779203616e-05f, 4.785718173e-05f, 4.792223846e-05f, 4.798720626e-05f,
+4.805208501e-05f, 4.811687462e-05f, 4.818157498e-05f, 4.824618599e-05f, 4.831070754e-05f, 4.837513953e-05f, 4.843948186e-05f, 4.850373442e-05f, 4.856789712e-05f, 4.863196984e-05f,
+4.869595249e-05f, 4.875984496e-05f, 4.882364715e-05f, 4.888735897e-05f, 4.895098030e-05f, 4.901451104e-05f, 4.907795110e-05f, 4.914130038e-05f, 4.920455876e-05f, 4.926772616e-05f,
+4.933080246e-05f, 4.939378758e-05f, 4.945668140e-05f, 4.951948383e-05f, 4.958219477e-05f, 4.964481412e-05f, 4.970734177e-05f, 4.976977764e-05f, 4.983212161e-05f, 4.989437359e-05f,
+4.995653349e-05f, 5.001860119e-05f, 5.008057661e-05f, 5.014245964e-05f, 5.020425019e-05f, 5.026594815e-05f, 5.032755344e-05f, 5.038906594e-05f, 5.045048557e-05f, 5.051181222e-05f,
+5.057304580e-05f, 5.063418621e-05f, 5.069523335e-05f, 5.075618713e-05f, 5.081704745e-05f, 5.087781422e-05f, 5.093848733e-05f, 5.099906669e-05f, 5.105955220e-05f, 5.111994377e-05f,
+5.118024131e-05f, 5.124044471e-05f, 5.130055388e-05f, 5.136056873e-05f, 5.142048916e-05f, 5.148031508e-05f, 5.154004638e-05f, 5.159968299e-05f, 5.165922479e-05f, 5.171867171e-05f,
+5.177802363e-05f, 5.183728048e-05f, 5.189644216e-05f, 5.195550857e-05f, 5.201447961e-05f, 5.207335521e-05f, 5.213213525e-05f, 5.219081966e-05f, 5.224940834e-05f, 5.230790119e-05f,
+5.236629812e-05f, 5.242459904e-05f, 5.248280387e-05f, 5.254091250e-05f, 5.259892484e-05f, 5.265684081e-05f, 5.271466031e-05f, 5.277238326e-05f, 5.283000955e-05f, 5.288753911e-05f,
+5.294497183e-05f, 5.300230764e-05f, 5.305954643e-05f, 5.311668812e-05f, 5.317373262e-05f, 5.323067984e-05f, 5.328752968e-05f, 5.334428207e-05f, 5.340093691e-05f, 5.345749412e-05f,
+5.351395359e-05f, 5.357031525e-05f, 5.362657901e-05f, 5.368274477e-05f, 5.373881246e-05f, 5.379478197e-05f, 5.385065324e-05f, 5.390642615e-05f, 5.396210064e-05f, 5.401767661e-05f,
+5.407315398e-05f, 5.412853265e-05f, 5.418381254e-05f, 5.423899357e-05f, 5.429407565e-05f, 5.434905869e-05f, 5.440394261e-05f, 5.445872732e-05f, 5.451341274e-05f, 5.456799877e-05f,
+5.462248534e-05f, 5.467687236e-05f, 5.473115975e-05f, 5.478534741e-05f, 5.483943527e-05f, 5.489342324e-05f, 5.494731124e-05f, 5.500109919e-05f, 5.505478699e-05f, 5.510837457e-05f,
+5.516186184e-05f, 5.521524872e-05f, 5.526853512e-05f, 5.532172097e-05f, 5.537480618e-05f, 5.542779067e-05f, 5.548067435e-05f, 5.553345715e-05f, 5.558613898e-05f, 5.563871976e-05f,
+5.569119940e-05f, 5.574357784e-05f, 5.579585498e-05f, 5.584803074e-05f, 5.590010505e-05f, 5.595207782e-05f, 5.600394897e-05f, 5.605571843e-05f, 5.610738611e-05f, 5.615895193e-05f,
+5.621041581e-05f, 5.626177767e-05f, 5.631303744e-05f, 5.636419503e-05f, 5.641525037e-05f, 5.646620337e-05f, 5.651705396e-05f, 5.656780206e-05f, 5.661844760e-05f, 5.666899048e-05f,
+5.671943064e-05f, 5.676976799e-05f, 5.682000247e-05f, 5.687013398e-05f, 5.692016247e-05f, 5.697008784e-05f, 5.701991002e-05f, 5.706962893e-05f, 5.711924451e-05f, 5.716875666e-05f,
+5.721816532e-05f, 5.726747041e-05f, 5.731667186e-05f, 5.736576958e-05f, 5.741476351e-05f, 5.746365356e-05f, 5.751243967e-05f, 5.756112176e-05f, 5.760969975e-05f, 5.765817357e-05f,
+5.770654314e-05f, 5.775480840e-05f, 5.780296926e-05f, 5.785102566e-05f, 5.789897752e-05f, 5.794682476e-05f, 5.799456732e-05f, 5.804220512e-05f, 5.808973809e-05f, 5.813716616e-05f,
+5.818448925e-05f, 5.823170729e-05f, 5.827882020e-05f, 5.832582793e-05f, 5.837273039e-05f, 5.841952752e-05f, 5.846621924e-05f, 5.851280549e-05f, 5.855928618e-05f, 5.860566126e-05f,
+5.865193065e-05f, 5.869809428e-05f, 5.874415208e-05f, 5.879010398e-05f, 5.883594991e-05f, 5.888168980e-05f, 5.892732358e-05f, 5.897285119e-05f, 5.901827255e-05f, 5.906358760e-05f,
+5.910879626e-05f, 5.915389847e-05f, 5.919889416e-05f, 5.924378327e-05f, 5.928856571e-05f, 5.933324144e-05f, 5.937781038e-05f, 5.942227245e-05f, 5.946662761e-05f, 5.951087577e-05f,
+5.955501687e-05f, 5.959905085e-05f, 5.964297764e-05f, 5.968679717e-05f, 5.973050938e-05f, 5.977411421e-05f, 5.981761157e-05f, 5.986100142e-05f, 5.990428369e-05f, 5.994745830e-05f,
+5.999052520e-05f, 6.003348433e-05f, 6.007633561e-05f, 6.011907898e-05f, 6.016171439e-05f, 6.020424175e-05f, 6.024666103e-05f, 6.028897214e-05f, 6.033117502e-05f, 6.037326962e-05f,
+6.041525587e-05f, 6.045713370e-05f, 6.049890306e-05f, 6.054056389e-05f, 6.058211611e-05f, 6.062355967e-05f, 6.066489451e-05f, 6.070612057e-05f, 6.074723778e-05f, 6.078824608e-05f,
+6.082914542e-05f, 6.086993573e-05f, 6.091061695e-05f, 6.095118902e-05f, 6.099165188e-05f, 6.103200548e-05f, 6.107224975e-05f, 6.111238462e-05f, 6.115241006e-05f, 6.119232598e-05f,
+6.123213234e-05f, 6.127182908e-05f, 6.131141613e-05f, 6.135089345e-05f, 6.139026096e-05f, 6.142951862e-05f, 6.146866637e-05f, 6.150770414e-05f, 6.154663189e-05f, 6.158544954e-05f,
+6.162415706e-05f, 6.166275437e-05f, 6.170124143e-05f, 6.173961818e-05f, 6.177788456e-05f, 6.181604051e-05f, 6.185408598e-05f, 6.189202092e-05f, 6.192984526e-05f, 6.196755896e-05f,
+6.200516195e-05f, 6.204265419e-05f, 6.208003562e-05f, 6.211730618e-05f, 6.215446583e-05f, 6.219151450e-05f, 6.222845214e-05f, 6.226527870e-05f, 6.230199413e-05f, 6.233859837e-05f,
+6.237509136e-05f, 6.241147307e-05f, 6.244774343e-05f, 6.248390239e-05f, 6.251994990e-05f, 6.255588591e-05f, 6.259171036e-05f, 6.262742321e-05f, 6.266302440e-05f, 6.269851388e-05f,
+6.273389160e-05f, 6.276915751e-05f, 6.280431156e-05f, 6.283935370e-05f, 6.287428387e-05f, 6.290910204e-05f, 6.294380814e-05f, 6.297840213e-05f, 6.301288396e-05f, 6.304725358e-05f,
+6.308151094e-05f, 6.311565600e-05f, 6.314968869e-05f, 6.318360898e-05f, 6.321741682e-05f, 6.325111216e-05f, 6.328469495e-05f, 6.331816514e-05f, 6.335152269e-05f, 6.338476754e-05f,
+6.341789966e-05f, 6.345091899e-05f, 6.348382549e-05f, 6.351661911e-05f, 6.354929981e-05f, 6.358186754e-05f, 6.361432225e-05f, 6.364666390e-05f, 6.367889243e-05f, 6.371100782e-05f,
+6.374301001e-05f, 6.377489896e-05f, 6.380667462e-05f, 6.383833694e-05f, 6.386988589e-05f, 6.390132142e-05f, 6.393264349e-05f, 6.396385205e-05f, 6.399494705e-05f, 6.402592847e-05f,
+6.405679624e-05f, 6.408755034e-05f, 6.411819071e-05f, 6.414871732e-05f, 6.417913012e-05f, 6.420942907e-05f, 6.423961413e-05f, 6.426968525e-05f, 6.429964240e-05f, 6.432948554e-05f,
+6.435921461e-05f, 6.438882959e-05f, 6.441833044e-05f, 6.444771710e-05f, 6.447698954e-05f, 6.450614773e-05f, 6.453519161e-05f, 6.456412116e-05f, 6.459293633e-05f, 6.462163709e-05f,
+6.465022338e-05f, 6.467869518e-05f, 6.470705245e-05f, 6.473529515e-05f, 6.476342324e-05f, 6.479143667e-05f, 6.481933543e-05f, 6.484711945e-05f, 6.487478872e-05f, 6.490234319e-05f,
+6.492978282e-05f, 6.495710759e-05f, 6.498431744e-05f, 6.501141235e-05f, 6.503839228e-05f, 6.506525719e-05f, 6.509200704e-05f, 6.511864181e-05f, 6.514516146e-05f, 6.517156594e-05f,
+6.519785523e-05f, 6.522402930e-05f, 6.525008810e-05f, 6.527603160e-05f, 6.530185977e-05f, 6.532757257e-05f, 6.535316998e-05f, 6.537865195e-05f, 6.540401845e-05f, 6.542926945e-05f,
+6.545440493e-05f, 6.547942483e-05f, 6.550432914e-05f, 6.552911782e-05f, 6.555379083e-05f, 6.557834816e-05f, 6.560278975e-05f, 6.562711559e-05f, 6.565132564e-05f, 6.567541987e-05f,
+6.569939824e-05f, 6.572326074e-05f, 6.574700732e-05f, 6.577063796e-05f, 6.579415263e-05f, 6.581755130e-05f, 6.584083393e-05f, 6.586400051e-05f, 6.588705099e-05f, 6.590998535e-05f,
+6.593280356e-05f, 6.595550559e-05f, 6.597809142e-05f, 6.600056102e-05f, 6.602291435e-05f, 6.604515139e-05f, 6.606727211e-05f, 6.608927649e-05f, 6.611116450e-05f, 6.613293610e-05f,
+6.615459128e-05f, 6.617613001e-05f, 6.619755226e-05f, 6.621885800e-05f, 6.624004721e-05f, 6.626111986e-05f, 6.628207593e-05f, 6.630291539e-05f, 6.632363821e-05f, 6.634424438e-05f,
+6.636473386e-05f, 6.638510664e-05f, 6.640536268e-05f, 6.642550196e-05f, 6.644552447e-05f, 6.646543017e-05f, 6.648521904e-05f, 6.650489106e-05f, 6.652444620e-05f, 6.654388445e-05f,
+6.656320578e-05f, 6.658241016e-05f, 6.660149758e-05f, 6.662046801e-05f, 6.663932143e-05f, 6.665805782e-05f, 6.667667716e-05f, 6.669517943e-05f, 6.671356459e-05f, 6.673183265e-05f,
+6.674998356e-05f, 6.676801732e-05f, 6.678593390e-05f, 6.680373329e-05f, 6.682141545e-05f, 6.683898038e-05f, 6.685642806e-05f, 6.687375845e-05f, 6.689097155e-05f, 6.690806734e-05f,
+6.692504580e-05f, 6.694190690e-05f, 6.695865063e-05f, 6.697527698e-05f, 6.699178592e-05f, 6.700817744e-05f, 6.702445152e-05f, 6.704060814e-05f, 6.705664729e-05f, 6.707256895e-05f,
+6.708837309e-05f, 6.710405972e-05f, 6.711962880e-05f, 6.713508033e-05f, 6.715041428e-05f, 6.716563065e-05f, 6.718072941e-05f, 6.719571056e-05f, 6.721057407e-05f, 6.722531993e-05f,
+6.723994813e-05f, 6.725445866e-05f, 6.726885149e-05f, 6.728312662e-05f, 6.729728402e-05f, 6.731132370e-05f, 6.732524563e-05f, 6.733904980e-05f, 6.735273620e-05f, 6.736630481e-05f,
+6.737975563e-05f, 6.739308864e-05f, 6.740630382e-05f, 6.741940118e-05f, 6.743238069e-05f, 6.744524234e-05f, 6.745798612e-05f, 6.747061203e-05f, 6.748312004e-05f, 6.749551015e-05f,
+6.750778236e-05f, 6.751993664e-05f, 6.753197299e-05f, 6.754389140e-05f, 6.755569186e-05f, 6.756737436e-05f, 6.757893889e-05f, 6.759038544e-05f, 6.760171401e-05f, 6.761292457e-05f,
+6.762401714e-05f, 6.763499169e-05f, 6.764584822e-05f, 6.765658672e-05f, 6.766720719e-05f, 6.767770962e-05f, 6.768809399e-05f, 6.769836031e-05f, 6.770850856e-05f, 6.771853874e-05f,
+6.772845084e-05f, 6.773824486e-05f, 6.774792080e-05f, 6.775747863e-05f, 6.776691837e-05f, 6.777624000e-05f, 6.778544352e-05f, 6.779452893e-05f, 6.780349621e-05f, 6.781234537e-05f,
+6.782107640e-05f, 6.782968929e-05f, 6.783818405e-05f, 6.784656067e-05f, 6.785481914e-05f, 6.786295947e-05f, 6.787098164e-05f, 6.787888566e-05f, 6.788667152e-05f, 6.789433923e-05f,
+6.790188877e-05f, 6.790932015e-05f, 6.791663337e-05f, 6.792382842e-05f, 6.793090530e-05f, 6.793786401e-05f, 6.794470455e-05f, 6.795142692e-05f, 6.795803111e-05f, 6.796451714e-05f,
+6.797088499e-05f, 6.797713467e-05f, 6.798326618e-05f, 6.798927951e-05f, 6.799517468e-05f, 6.800095167e-05f, 6.800661050e-05f, 6.801215115e-05f, 6.801757364e-05f, 6.802287796e-05f,
+6.802806412e-05f, 6.803313212e-05f, 6.803808196e-05f, 6.804291364e-05f, 6.804762717e-05f, 6.805222255e-05f, 6.805669978e-05f, 6.806105886e-05f, 6.806529981e-05f, 6.806942261e-05f,
+6.807342728e-05f, 6.807731382e-05f, 6.808108224e-05f, 6.808473254e-05f, 6.808826471e-05f, 6.809167878e-05f, 6.809497474e-05f, 6.809815260e-05f, 6.810121237e-05f, 6.810415404e-05f,
+6.810697763e-05f, 6.810968314e-05f, 6.811227058e-05f, 6.811473996e-05f, 6.811709128e-05f, 6.811932454e-05f, 6.812143977e-05f, 6.812343695e-05f, 6.812531611e-05f, 6.812707724e-05f,
+6.812872036e-05f, 6.813024548e-05f, 6.813165260e-05f, 6.813294173e-05f, 6.813411288e-05f, 6.813516606e-05f, 6.813610127e-05f, 6.813691854e-05f, 6.813761786e-05f, 6.813819925e-05f,
+6.813866272e-05f, 6.813900827e-05f, 6.813923593e-05f, 6.813934569e-05f, 6.813933757e-05f, 6.813921158e-05f, 6.813896773e-05f, 6.813860603e-05f, 6.813812650e-05f, 6.813752914e-05f,
+6.813681397e-05f, 6.813598101e-05f, 6.813503025e-05f, 6.813396172e-05f, 6.813277543e-05f, 6.813147139e-05f, 6.813004962e-05f, 6.812851012e-05f, 6.812685291e-05f, 6.812507801e-05f,
+6.812318543e-05f, 6.812117518e-05f, 6.811904728e-05f, 6.811680175e-05f, 6.811443859e-05f, 6.811195782e-05f, 6.810935946e-05f, 6.810664353e-05f, 6.810381003e-05f, 6.810085899e-05f,
+6.809779042e-05f, 6.809460434e-05f, 6.809130076e-05f, 6.808787970e-05f, 6.808434118e-05f, 6.808068521e-05f, 6.807691182e-05f, 6.807302101e-05f, 6.806901281e-05f, 6.806488724e-05f,
+6.806064430e-05f, 6.805628403e-05f, 6.805180644e-05f, 6.804721155e-05f, 6.804249937e-05f, 6.803766993e-05f, 6.803272325e-05f, 6.802765934e-05f, 6.802247822e-05f, 6.801717992e-05f,
+6.801176445e-05f, 6.800623184e-05f, 6.800058211e-05f, 6.799481527e-05f, 6.798893134e-05f, 6.798293036e-05f, 6.797681233e-05f, 6.797057729e-05f, 6.796422525e-05f, 6.795775623e-05f,
+6.795117026e-05f, 6.794446736e-05f, 6.793764755e-05f, 6.793071085e-05f, 6.792365729e-05f, 6.791648689e-05f, 6.790919968e-05f, 6.790179567e-05f, 6.789427489e-05f, 6.788663736e-05f,
+6.787888312e-05f, 6.787101218e-05f, 6.786302456e-05f, 6.785492030e-05f, 6.784669941e-05f, 6.783836193e-05f, 6.782990787e-05f, 6.782133727e-05f, 6.781265015e-05f, 6.780384652e-05f,
+6.779492644e-05f, 6.778588990e-05f, 6.777673695e-05f, 6.776746761e-05f, 6.775808191e-05f, 6.774857987e-05f, 6.773896153e-05f, 6.772922690e-05f, 6.771937602e-05f, 6.770940891e-05f,
+6.769932561e-05f, 6.768912613e-05f, 6.767881052e-05f, 6.766837879e-05f, 6.765783098e-05f, 6.764716712e-05f, 6.763638723e-05f, 6.762549135e-05f, 6.761447950e-05f, 6.760335172e-05f,
+6.759210803e-05f, 6.758074846e-05f, 6.756927305e-05f, 6.755768182e-05f, 6.754597481e-05f, 6.753415205e-05f, 6.752221357e-05f, 6.751015940e-05f, 6.749798957e-05f, 6.748570411e-05f,
+6.747330306e-05f, 6.746078645e-05f, 6.744815431e-05f, 6.743540667e-05f, 6.742254357e-05f, 6.740956504e-05f, 6.739647111e-05f, 6.738326181e-05f, 6.736993719e-05f, 6.735649726e-05f,
+6.734294208e-05f, 6.732927166e-05f, 6.731548606e-05f, 6.730158529e-05f, 6.728756939e-05f, 6.727343841e-05f, 6.725919237e-05f, 6.724483132e-05f, 6.723035528e-05f, 6.721576429e-05f,
+6.720105839e-05f, 6.718623761e-05f, 6.717130200e-05f, 6.715625158e-05f, 6.714108640e-05f, 6.712580648e-05f, 6.711041188e-05f, 6.709490262e-05f, 6.707927874e-05f, 6.706354028e-05f,
+6.704768728e-05f, 6.703171978e-05f, 6.701563782e-05f, 6.699944142e-05f, 6.698313064e-05f, 6.696670551e-05f, 6.695016607e-05f, 6.693351236e-05f, 6.691674442e-05f, 6.689986229e-05f,
+6.688286600e-05f, 6.686575561e-05f, 6.684853114e-05f, 6.683119264e-05f, 6.681374015e-05f, 6.679617372e-05f, 6.677849337e-05f, 6.676069916e-05f, 6.674279112e-05f, 6.672476930e-05f,
+6.670663373e-05f, 6.668838447e-05f, 6.667002155e-05f, 6.665154501e-05f, 6.663295490e-05f, 6.661425125e-05f, 6.659543412e-05f, 6.657650355e-05f, 6.655745958e-05f, 6.653830225e-05f,
+6.651903160e-05f, 6.649964769e-05f, 6.648015055e-05f, 6.646054022e-05f, 6.644081677e-05f, 6.642098022e-05f, 6.640103062e-05f, 6.638096802e-05f, 6.636079246e-05f, 6.634050399e-05f,
+6.632010266e-05f, 6.629958851e-05f, 6.627896158e-05f, 6.625822192e-05f, 6.623736959e-05f, 6.621640462e-05f, 6.619532706e-05f, 6.617413696e-05f, 6.615283436e-05f, 6.613141932e-05f,
+6.610989189e-05f, 6.608825210e-05f, 6.606650000e-05f, 6.604463566e-05f, 6.602265910e-05f, 6.600057039e-05f, 6.597836957e-05f, 6.595605668e-05f, 6.593363179e-05f, 6.591109493e-05f,
+6.588844616e-05f, 6.586568553e-05f, 6.584281308e-05f, 6.581982887e-05f, 6.579673295e-05f, 6.577352537e-05f, 6.575020617e-05f, 6.572677541e-05f, 6.570323314e-05f, 6.567957941e-05f,
+6.565581427e-05f, 6.563193778e-05f, 6.560794998e-05f, 6.558385093e-05f, 6.555964068e-05f, 6.553531928e-05f, 6.551088679e-05f, 6.548634325e-05f, 6.546168872e-05f, 6.543692325e-05f,
+6.541204690e-05f, 6.538705971e-05f, 6.536196176e-05f, 6.533675307e-05f, 6.531143372e-05f, 6.528600375e-05f, 6.526046322e-05f, 6.523481219e-05f, 6.520905070e-05f, 6.518317881e-05f,
+6.515719659e-05f, 6.513110407e-05f, 6.510490133e-05f, 6.507858841e-05f, 6.505216537e-05f, 6.502563226e-05f, 6.499898915e-05f, 6.497223609e-05f, 6.494537313e-05f, 6.491840034e-05f,
+6.489131776e-05f, 6.486412546e-05f, 6.483682350e-05f, 6.480941192e-05f, 6.478189080e-05f, 6.475426018e-05f, 6.472652012e-05f, 6.469867069e-05f, 6.467071194e-05f, 6.464264392e-05f,
+6.461446671e-05f, 6.458618036e-05f, 6.455778492e-05f, 6.452928045e-05f, 6.450066702e-05f, 6.447194469e-05f, 6.444311351e-05f, 6.441417355e-05f, 6.438512486e-05f, 6.435596751e-05f,
+6.432670156e-05f, 6.429732706e-05f, 6.426784408e-05f, 6.423825268e-05f, 6.420855291e-05f, 6.417874486e-05f, 6.414882856e-05f, 6.411880409e-05f, 6.408867151e-05f, 6.405843088e-05f,
+6.402808226e-05f, 6.399762571e-05f, 6.396706131e-05f, 6.393638910e-05f, 6.390560916e-05f, 6.387472154e-05f, 6.384372632e-05f, 6.381262355e-05f, 6.378141330e-05f, 6.375009563e-05f,
+6.371867060e-05f, 6.368713829e-05f, 6.365549876e-05f, 6.362375206e-05f, 6.359189827e-05f, 6.355993745e-05f, 6.352786966e-05f, 6.349569498e-05f, 6.346341346e-05f, 6.343102517e-05f,
+6.339853019e-05f, 6.336592856e-05f, 6.333322037e-05f, 6.330040568e-05f, 6.326748455e-05f, 6.323445706e-05f, 6.320132326e-05f, 6.316808322e-05f, 6.313473702e-05f, 6.310128472e-05f,
+6.306772639e-05f, 6.303406210e-05f, 6.300029191e-05f, 6.296641590e-05f, 6.293243412e-05f, 6.289834666e-05f, 6.286415357e-05f, 6.282985493e-05f, 6.279545081e-05f, 6.276094128e-05f,
+6.272632640e-05f, 6.269160625e-05f, 6.265678090e-05f, 6.262185041e-05f, 6.258681486e-05f, 6.255167431e-05f, 6.251642884e-05f, 6.248107852e-05f, 6.244562342e-05f, 6.241006361e-05f,
+6.237439916e-05f, 6.233863014e-05f, 6.230275663e-05f, 6.226677870e-05f, 6.223069641e-05f, 6.219450985e-05f, 6.215821907e-05f, 6.212182417e-05f, 6.208532520e-05f, 6.204872224e-05f,
+6.201201537e-05f, 6.197520465e-05f, 6.193829017e-05f, 6.190127199e-05f, 6.186415019e-05f, 6.182692484e-05f, 6.178959601e-05f, 6.175216379e-05f, 6.171462824e-05f, 6.167698944e-05f,
+6.163924747e-05f, 6.160140240e-05f, 6.156345430e-05f, 6.152540325e-05f, 6.148724932e-05f, 6.144899260e-05f, 6.141063315e-05f, 6.137217105e-05f, 6.133360639e-05f, 6.129493923e-05f,
+6.125616965e-05f, 6.121729772e-05f, 6.117832354e-05f, 6.113924716e-05f, 6.110006868e-05f, 6.106078816e-05f, 6.102140569e-05f, 6.098192133e-05f, 6.094233518e-05f, 6.090264730e-05f,
+6.086285778e-05f, 6.082296670e-05f, 6.078297413e-05f, 6.074288014e-05f, 6.070268483e-05f, 6.066238827e-05f, 6.062199054e-05f, 6.058149171e-05f, 6.054089187e-05f, 6.050019110e-05f,
+6.045938947e-05f, 6.041848708e-05f, 6.037748399e-05f, 6.033638028e-05f, 6.029517605e-05f, 6.025387136e-05f, 6.021246630e-05f, 6.017096096e-05f, 6.012935540e-05f, 6.008764972e-05f,
+6.004584399e-05f, 6.000393830e-05f, 5.996193273e-05f, 5.991982736e-05f, 5.987762227e-05f, 5.983531754e-05f, 5.979291327e-05f, 5.975040952e-05f, 5.970780638e-05f, 5.966510394e-05f,
+5.962230229e-05f, 5.957940149e-05f, 5.953640164e-05f, 5.949330281e-05f, 5.945010511e-05f, 5.940680859e-05f, 5.936341336e-05f, 5.931991950e-05f, 5.927632709e-05f, 5.923263621e-05f,
+5.918884695e-05f, 5.914495940e-05f, 5.910097363e-05f, 5.905688974e-05f, 5.901270781e-05f, 5.896842793e-05f, 5.892405018e-05f, 5.887957465e-05f, 5.883500142e-05f, 5.879033059e-05f,
+5.874556222e-05f, 5.870069643e-05f, 5.865573328e-05f, 5.861067287e-05f, 5.856551528e-05f, 5.852026061e-05f, 5.847490893e-05f, 5.842946034e-05f, 5.838391493e-05f, 5.833827277e-05f,
+5.829253397e-05f, 5.824669860e-05f, 5.820076676e-05f, 5.815473854e-05f, 5.810861402e-05f, 5.806239329e-05f, 5.801607644e-05f, 5.796966356e-05f, 5.792315475e-05f, 5.787655008e-05f,
+5.782984965e-05f, 5.778305355e-05f, 5.773616187e-05f, 5.768917469e-05f, 5.764209212e-05f, 5.759491423e-05f, 5.754764113e-05f, 5.750027289e-05f, 5.745280962e-05f, 5.740525140e-05f,
+5.735759832e-05f, 5.730985048e-05f, 5.726200796e-05f, 5.721407086e-05f, 5.716603927e-05f, 5.711791329e-05f, 5.706969299e-05f, 5.702137849e-05f, 5.697296986e-05f, 5.692446720e-05f,
+5.687587061e-05f, 5.682718017e-05f, 5.677839599e-05f, 5.672951814e-05f, 5.668054673e-05f, 5.663148186e-05f, 5.658232360e-05f, 5.653307206e-05f, 5.648372734e-05f, 5.643428952e-05f,
+5.638475870e-05f, 5.633513497e-05f, 5.628541843e-05f, 5.623560918e-05f, 5.618570730e-05f, 5.613571289e-05f, 5.608562606e-05f, 5.603544688e-05f, 5.598517547e-05f, 5.593481191e-05f,
+5.588435630e-05f, 5.583380874e-05f, 5.578316932e-05f, 5.573243814e-05f, 5.568161530e-05f, 5.563070088e-05f, 5.557969499e-05f, 5.552859773e-05f, 5.547740919e-05f, 5.542612947e-05f,
+5.537475867e-05f, 5.532329688e-05f, 5.527174420e-05f, 5.522010073e-05f, 5.516836657e-05f, 5.511654181e-05f, 5.506462656e-05f, 5.501262090e-05f, 5.496052495e-05f, 5.490833880e-05f,
+5.485606254e-05f, 5.480369628e-05f, 5.475124011e-05f, 5.469869414e-05f, 5.464605846e-05f, 5.459333317e-05f, 5.454051838e-05f, 5.448761418e-05f, 5.443462067e-05f, 5.438153796e-05f,
+5.432836613e-05f, 5.427510530e-05f, 5.422175557e-05f, 5.416831703e-05f, 5.411478978e-05f, 5.406117393e-05f, 5.400746957e-05f, 5.395367682e-05f, 5.389979576e-05f, 5.384582650e-05f,
+5.379176915e-05f, 5.373762380e-05f, 5.368339056e-05f, 5.362906952e-05f, 5.357466080e-05f, 5.352016449e-05f, 5.346558069e-05f, 5.341090952e-05f, 5.335615106e-05f, 5.330130543e-05f,
+5.324637272e-05f, 5.319135305e-05f, 5.313624650e-05f, 5.308105320e-05f, 5.302577323e-05f, 5.297040671e-05f, 5.291495374e-05f, 5.285941442e-05f, 5.280378886e-05f, 5.274807716e-05f,
+5.269227942e-05f, 5.263639575e-05f, 5.258042626e-05f, 5.252437105e-05f, 5.246823022e-05f, 5.241200388e-05f, 5.235569213e-05f, 5.229929509e-05f, 5.224281285e-05f, 5.218624553e-05f,
+5.212959322e-05f, 5.207285603e-05f, 5.201603408e-05f, 5.195912746e-05f, 5.190213628e-05f, 5.184506065e-05f, 5.178790068e-05f, 5.173065647e-05f, 5.167332813e-05f, 5.161591576e-05f,
+5.155841948e-05f, 5.150083939e-05f, 5.144317560e-05f, 5.138542821e-05f, 5.132759734e-05f, 5.126968309e-05f, 5.121168557e-05f, 5.115360489e-05f, 5.109544115e-05f, 5.103719447e-05f,
+5.097886495e-05f, 5.092045270e-05f, 5.086195783e-05f, 5.080338046e-05f, 5.074472068e-05f, 5.068597861e-05f, 5.062715435e-05f, 5.056824803e-05f, 5.050925974e-05f, 5.045018959e-05f,
+5.039103770e-05f, 5.033180418e-05f, 5.027248913e-05f, 5.021309267e-05f, 5.015361491e-05f, 5.009405595e-05f, 5.003441592e-05f, 4.997469491e-05f, 4.991489304e-05f, 4.985501042e-05f,
+4.979504716e-05f, 4.973500338e-05f, 4.967487918e-05f, 4.961467468e-05f, 4.955438998e-05f, 4.949402521e-05f, 4.943358046e-05f, 4.937305586e-05f, 4.931245152e-05f, 4.925176755e-05f,
+4.919100405e-05f, 4.913016115e-05f, 4.906923896e-05f, 4.900823758e-05f, 4.894715714e-05f, 4.888599774e-05f, 4.882475950e-05f, 4.876344253e-05f, 4.870204695e-05f, 4.864057286e-05f,
+4.857902039e-05f, 4.851738965e-05f, 4.845568074e-05f, 4.839389379e-05f, 4.833202891e-05f, 4.827008621e-05f, 4.820806580e-05f, 4.814596781e-05f, 4.808379235e-05f, 4.802153953e-05f,
+4.795920946e-05f, 4.789680227e-05f, 4.783431806e-05f, 4.777175696e-05f, 4.770911907e-05f, 4.764640452e-05f, 4.758361342e-05f, 4.752074588e-05f, 4.745780202e-05f, 4.739478196e-05f,
+4.733168581e-05f, 4.726851369e-05f, 4.720526571e-05f, 4.714194200e-05f, 4.707854267e-05f, 4.701506783e-05f, 4.695151761e-05f, 4.688789211e-05f, 4.682419147e-05f, 4.676041578e-05f,
+4.669656518e-05f, 4.663263978e-05f, 4.656863969e-05f, 4.650456504e-05f, 4.644041594e-05f, 4.637619251e-05f, 4.631189487e-05f, 4.624752313e-05f, 4.618307742e-05f, 4.611855786e-05f,
+4.605396455e-05f, 4.598929763e-05f, 4.592455720e-05f, 4.585974340e-05f, 4.579485633e-05f, 4.572989611e-05f, 4.566486288e-05f, 4.559975674e-05f, 4.553457781e-05f, 4.546932622e-05f,
+4.540400208e-05f, 4.533860551e-05f, 4.527313664e-05f, 4.520759558e-05f, 4.514198246e-05f, 4.507629739e-05f, 4.501054049e-05f, 4.494471189e-05f, 4.487881171e-05f, 4.481284006e-05f,
+4.474679707e-05f, 4.468068286e-05f, 4.461449754e-05f, 4.454824125e-05f, 4.448191410e-05f, 4.441551622e-05f, 4.434904771e-05f, 4.428250872e-05f, 4.421589935e-05f, 4.414921973e-05f,
+4.408246999e-05f, 4.401565024e-05f, 4.394876060e-05f, 4.388180121e-05f, 4.381477217e-05f, 4.374767362e-05f, 4.368050568e-05f, 4.361326846e-05f, 4.354596210e-05f, 4.347858671e-05f,
+4.341114242e-05f, 4.334362934e-05f, 4.327604762e-05f, 4.320839736e-05f, 4.314067869e-05f, 4.307289174e-05f, 4.300503662e-05f, 4.293711347e-05f, 4.286912240e-05f, 4.280106354e-05f,
+4.273293702e-05f, 4.266474296e-05f, 4.259648148e-05f, 4.252815270e-05f, 4.245975676e-05f, 4.239129377e-05f, 4.232276387e-05f, 4.225416717e-05f, 4.218550380e-05f, 4.211677389e-05f,
+4.204797756e-05f, 4.197911494e-05f, 4.191018614e-05f, 4.184119131e-05f, 4.177213056e-05f, 4.170300401e-05f, 4.163381180e-05f, 4.156455406e-05f, 4.149523089e-05f, 4.142584244e-05f,
+4.135638883e-05f, 4.128687019e-05f, 4.121728663e-05f, 4.114763829e-05f, 4.107792530e-05f, 4.100814778e-05f, 4.093830585e-05f, 4.086839966e-05f, 4.079842931e-05f, 4.072839494e-05f,
+4.065829668e-05f, 4.058813465e-05f, 4.051790898e-05f, 4.044761980e-05f, 4.037726723e-05f, 4.030685141e-05f, 4.023637246e-05f, 4.016583051e-05f, 4.009522568e-05f, 4.002455812e-05f,
+3.995382793e-05f, 3.988303526e-05f, 3.981218022e-05f, 3.974126296e-05f, 3.967028359e-05f, 3.959924224e-05f, 3.952813905e-05f, 3.945697415e-05f, 3.938574766e-05f, 3.931445970e-05f,
+3.924311042e-05f, 3.917169994e-05f, 3.910022838e-05f, 3.902869589e-05f, 3.895710258e-05f, 3.888544859e-05f, 3.881373405e-05f, 3.874195908e-05f, 3.867012382e-05f, 3.859822840e-05f,
+3.852627294e-05f, 3.845425758e-05f, 3.838218244e-05f, 3.831004767e-05f, 3.823785338e-05f, 3.816559971e-05f, 3.809328679e-05f, 3.802091475e-05f, 3.794848372e-05f, 3.787599383e-05f,
+3.780344521e-05f, 3.773083799e-05f, 3.765817231e-05f, 3.758544830e-05f, 3.751266608e-05f, 3.743982579e-05f, 3.736692756e-05f, 3.729397152e-05f, 3.722095780e-05f, 3.714788654e-05f,
+3.707475787e-05f, 3.700157191e-05f, 3.692832881e-05f, 3.685502869e-05f, 3.678167168e-05f, 3.670825792e-05f, 3.663478754e-05f, 3.656126067e-05f, 3.648767744e-05f, 3.641403800e-05f,
+3.634034246e-05f, 3.626659096e-05f, 3.619278365e-05f, 3.611892063e-05f, 3.604500206e-05f, 3.597102807e-05f, 3.589699878e-05f, 3.582291434e-05f, 3.574877486e-05f, 3.567458050e-05f,
+3.560033138e-05f, 3.552602763e-05f, 3.545166939e-05f, 3.537725680e-05f, 3.530278998e-05f, 3.522826907e-05f, 3.515369420e-05f, 3.507906552e-05f, 3.500438314e-05f, 3.492964722e-05f,
+3.485485787e-05f, 3.478001524e-05f, 3.470511946e-05f, 3.463017067e-05f, 3.455516899e-05f, 3.448011457e-05f, 3.440500754e-05f, 3.432984803e-05f, 3.425463618e-05f, 3.417937213e-05f,
+3.410405600e-05f, 3.402868794e-05f, 3.395326808e-05f, 3.387779655e-05f, 3.380227350e-05f, 3.372669905e-05f, 3.365107334e-05f, 3.357539651e-05f, 3.349966869e-05f, 3.342389002e-05f,
+3.334806064e-05f, 3.327218067e-05f, 3.319625026e-05f, 3.312026955e-05f, 3.304423867e-05f, 3.296815775e-05f, 3.289202693e-05f, 3.281584635e-05f, 3.273961615e-05f, 3.266333645e-05f,
+3.258700741e-05f, 3.251062915e-05f, 3.243420181e-05f, 3.235772552e-05f, 3.228120044e-05f, 3.220462668e-05f, 3.212800440e-05f, 3.205133372e-05f, 3.197461479e-05f, 3.189784773e-05f,
+3.182103270e-05f, 3.174416982e-05f, 3.166725923e-05f, 3.159030107e-05f, 3.151329549e-05f, 3.143624261e-05f, 3.135914257e-05f, 3.128199551e-05f, 3.120480158e-05f, 3.112756090e-05f,
+3.105027362e-05f, 3.097293987e-05f, 3.089555979e-05f, 3.081813352e-05f, 3.074066120e-05f, 3.066314297e-05f, 3.058557897e-05f, 3.050796932e-05f, 3.043031418e-05f, 3.035261369e-05f,
+3.027486797e-05f, 3.019707717e-05f, 3.011924142e-05f, 3.004136088e-05f, 2.996343567e-05f, 2.988546593e-05f, 2.980745181e-05f, 2.972939344e-05f, 2.965129096e-05f, 2.957314451e-05f,
+2.949495423e-05f, 2.941672027e-05f, 2.933844275e-05f, 2.926012182e-05f, 2.918175762e-05f, 2.910335029e-05f, 2.902489996e-05f, 2.894640679e-05f, 2.886787090e-05f, 2.878929244e-05f,
+2.871067155e-05f, 2.863200836e-05f, 2.855330302e-05f, 2.847455567e-05f, 2.839576645e-05f, 2.831693550e-05f, 2.823806295e-05f, 2.815914895e-05f, 2.808019365e-05f, 2.800119717e-05f,
+2.792215966e-05f, 2.784308127e-05f, 2.776396212e-05f, 2.768480237e-05f, 2.760560215e-05f, 2.752636161e-05f, 2.744708088e-05f, 2.736776011e-05f, 2.728839944e-05f, 2.720899900e-05f,
+2.712955894e-05f, 2.705007940e-05f, 2.697056053e-05f, 2.689100246e-05f, 2.681140533e-05f, 2.673176929e-05f, 2.665209447e-05f, 2.657238102e-05f, 2.649262909e-05f, 2.641283881e-05f,
+2.633301032e-05f, 2.625314376e-05f, 2.617323928e-05f, 2.609329702e-05f, 2.601331713e-05f, 2.593329973e-05f, 2.585324498e-05f, 2.577315302e-05f, 2.569302398e-05f, 2.561285802e-05f,
+2.553265527e-05f, 2.545241588e-05f, 2.537213998e-05f, 2.529182772e-05f, 2.521147925e-05f, 2.513109470e-05f, 2.505067422e-05f, 2.497021795e-05f, 2.488972603e-05f, 2.480919860e-05f,
+2.472863582e-05f, 2.464803781e-05f, 2.456740473e-05f, 2.448673672e-05f, 2.440603391e-05f, 2.432529646e-05f, 2.424452450e-05f, 2.416371818e-05f, 2.408287764e-05f, 2.400200302e-05f,
+2.392109447e-05f, 2.384015213e-05f, 2.375917615e-05f, 2.367816666e-05f, 2.359712382e-05f, 2.351604775e-05f, 2.343493862e-05f, 2.335379655e-05f, 2.327262170e-05f, 2.319141421e-05f,
+2.311017422e-05f, 2.302890187e-05f, 2.294759731e-05f, 2.286626069e-05f, 2.278489214e-05f, 2.270349181e-05f, 2.262205984e-05f, 2.254059638e-05f, 2.245910158e-05f, 2.237757557e-05f,
+2.229601850e-05f, 2.221443051e-05f, 2.213281175e-05f, 2.205116236e-05f, 2.196948249e-05f, 2.188777228e-05f, 2.180603187e-05f, 2.172426141e-05f, 2.164246104e-05f, 2.156063092e-05f,
+2.147877117e-05f, 2.139688195e-05f, 2.131496340e-05f, 2.123301567e-05f, 2.115103889e-05f, 2.106903322e-05f, 2.098699880e-05f, 2.090493578e-05f, 2.082284429e-05f, 2.074072448e-05f,
+2.065857650e-05f, 2.057640050e-05f, 2.049419661e-05f, 2.041196499e-05f, 2.032970577e-05f, 2.024741911e-05f, 2.016510514e-05f, 2.008276401e-05f, 2.000039587e-05f, 1.991800087e-05f,
+1.983557914e-05f, 1.975313083e-05f, 1.967065609e-05f, 1.958815507e-05f, 1.950562790e-05f, 1.942307474e-05f, 1.934049572e-05f, 1.925789100e-05f, 1.917526072e-05f, 1.909260503e-05f,
+1.900992406e-05f, 1.892721797e-05f, 1.884448690e-05f, 1.876173100e-05f, 1.867895041e-05f, 1.859614528e-05f, 1.851331575e-05f, 1.843046197e-05f, 1.834758409e-05f, 1.826468224e-05f,
+1.818175658e-05f, 1.809880726e-05f, 1.801583441e-05f, 1.793283818e-05f, 1.784981873e-05f, 1.776677619e-05f, 1.768371071e-05f, 1.760062243e-05f, 1.751751151e-05f, 1.743437809e-05f,
+1.735122232e-05f, 1.726804433e-05f, 1.718484428e-05f, 1.710162232e-05f, 1.701837858e-05f, 1.693511322e-05f, 1.685182637e-05f, 1.676851820e-05f, 1.668518884e-05f, 1.660183844e-05f,
+1.651846714e-05f, 1.643507510e-05f, 1.635166246e-05f, 1.626822936e-05f, 1.618477595e-05f, 1.610130238e-05f, 1.601780879e-05f, 1.593429533e-05f, 1.585076215e-05f, 1.576720939e-05f,
+1.568363720e-05f, 1.560004572e-05f, 1.551643511e-05f, 1.543280551e-05f, 1.534915706e-05f, 1.526548991e-05f, 1.518180421e-05f, 1.509810011e-05f, 1.501437775e-05f, 1.493063727e-05f,
+1.484687883e-05f, 1.476310257e-05f, 1.467930864e-05f, 1.459549719e-05f, 1.451166835e-05f, 1.442782228e-05f, 1.434395913e-05f, 1.426007904e-05f, 1.417618215e-05f, 1.409226862e-05f,
+1.400833860e-05f, 1.392439222e-05f, 1.384042963e-05f, 1.375645099e-05f, 1.367245644e-05f, 1.358844612e-05f, 1.350442018e-05f, 1.342037878e-05f, 1.333632205e-05f, 1.325225014e-05f,
+1.316816321e-05f, 1.308406139e-05f, 1.299994483e-05f, 1.291581369e-05f, 1.283166810e-05f, 1.274750822e-05f, 1.266333419e-05f, 1.257914616e-05f, 1.249494428e-05f, 1.241072869e-05f,
+1.232649954e-05f, 1.224225697e-05f, 1.215800114e-05f, 1.207373219e-05f, 1.198945027e-05f, 1.190515552e-05f, 1.182084810e-05f, 1.173652814e-05f, 1.165219580e-05f, 1.156785123e-05f,
+1.148349457e-05f, 1.139912596e-05f, 1.131474556e-05f, 1.123035351e-05f, 1.114594996e-05f, 1.106153505e-05f, 1.097710894e-05f, 1.089267177e-05f, 1.080822369e-05f, 1.072376484e-05f,
+1.063929538e-05f, 1.055481544e-05f, 1.047032518e-05f, 1.038582474e-05f, 1.030131428e-05f, 1.021679393e-05f, 1.013226385e-05f, 1.004772418e-05f, 9.963175068e-06f, 9.878616664e-06f,
+9.794049115e-06f, 9.709472566e-06f, 9.624887167e-06f, 9.540293062e-06f, 9.455690401e-06f, 9.371079329e-06f, 9.286459995e-06f, 9.201832545e-06f, 9.117197127e-06f, 9.032553888e-06f,
+8.947902975e-06f, 8.863244535e-06f, 8.778578716e-06f, 8.693905664e-06f, 8.609225527e-06f, 8.524538453e-06f, 8.439844588e-06f, 8.355144079e-06f, 8.270437074e-06f, 8.185723720e-06f,
+8.101004165e-06f, 8.016278554e-06f, 7.931547036e-06f, 7.846809758e-06f, 7.762066867e-06f, 7.677318509e-06f, 7.592564833e-06f, 7.507805986e-06f, 7.423042114e-06f, 7.338273365e-06f,
+7.253499885e-06f, 7.168721823e-06f, 7.083939325e-06f, 6.999152538e-06f, 6.914361609e-06f, 6.829566686e-06f, 6.744767916e-06f, 6.659965446e-06f, 6.575159422e-06f, 6.490349993e-06f,
+6.405537304e-06f, 6.320721504e-06f, 6.235902739e-06f, 6.151081156e-06f, 6.066256903e-06f, 5.981430126e-06f, 5.896600972e-06f, 5.811769589e-06f, 5.726936123e-06f, 5.642100721e-06f,
+5.557263531e-06f, 5.472424700e-06f, 5.387584374e-06f, 5.302742700e-06f, 5.217899825e-06f, 5.133055897e-06f, 5.048211062e-06f, 4.963365466e-06f, 4.878519258e-06f, 4.793672584e-06f,
+4.708825590e-06f, 4.623978424e-06f, 4.539131233e-06f, 4.454284162e-06f, 4.369437360e-06f, 4.284590973e-06f, 4.199745147e-06f, 4.114900030e-06f, 4.030055768e-06f, 3.945212508e-06f,
+3.860370397e-06f, 3.775529581e-06f, 3.690690207e-06f, 3.605852422e-06f, 3.521016372e-06f, 3.436182205e-06f, 3.351350066e-06f, 3.266520103e-06f, 3.181692461e-06f, 3.096867288e-06f,
+3.012044730e-06f, 2.927224934e-06f, 2.842408046e-06f, 2.757594212e-06f, 2.672783580e-06f, 2.587976295e-06f, 2.503172505e-06f, 2.418372355e-06f, 2.333575991e-06f, 2.248783561e-06f,
+2.163995211e-06f, 2.079211087e-06f, 1.994431335e-06f, 1.909656101e-06f, 1.824885533e-06f, 1.740119775e-06f, 1.655358975e-06f, 1.570603279e-06f, 1.485852832e-06f, 1.401107782e-06f,
+1.316368273e-06f, 1.231634453e-06f, 1.146906467e-06f, 1.062184462e-06f, 9.774685829e-07f, 8.927589764e-07f, 8.080557885e-07f, 7.233591650e-07f, 6.386692520e-07f, 5.539861953e-07f,
+4.693101410e-07f, 3.846412347e-07f, 2.999796225e-07f, 2.153254501e-07f, 1.306788633e-07f, 4.604000789e-08f, -3.859097038e-08f, -1.232139258e-07f, -2.078287127e-07f, -2.924351853e-07f,
+-3.770331982e-07f, -4.616226056e-07f, -5.462032619e-07f, -6.307750217e-07f, -7.153377395e-07f, -7.998912696e-07f, -8.844354668e-07f, -9.689701854e-07f, -1.053495280e-06f, -1.138010606e-06f,
+-1.222516017e-06f, -1.307011368e-06f, -1.391496514e-06f, -1.475971310e-06f, -1.560435610e-06f, -1.644889269e-06f, -1.729332142e-06f, -1.813764084e-06f, -1.898184950e-06f, -1.982594595e-06f,
+-2.066992874e-06f, -2.151379641e-06f, -2.235754752e-06f, -2.320118062e-06f, -2.404469427e-06f, -2.488808700e-06f, -2.573135738e-06f, -2.657450395e-06f, -2.741752528e-06f, -2.826041990e-06f,
+-2.910318638e-06f, -2.994582327e-06f, -3.078832911e-06f, -3.163070248e-06f, -3.247294192e-06f, -3.331504598e-06f, -3.415701322e-06f, -3.499884221e-06f, -3.584053148e-06f, -3.668207961e-06f,
+-3.752348514e-06f, -3.836474664e-06f, -3.920586266e-06f, -4.004683176e-06f, -4.088765250e-06f, -4.172832344e-06f, -4.256884313e-06f, -4.340921015e-06f, -4.424942303e-06f, -4.508948036e-06f,
+-4.592938068e-06f, -4.676912256e-06f, -4.760870457e-06f, -4.844812525e-06f, -4.928738319e-06f, -5.012647693e-06f, -5.096540504e-06f, -5.180416609e-06f, -5.264275864e-06f, -5.348118125e-06f,
+-5.431943249e-06f, -5.515751093e-06f, -5.599541513e-06f, -5.683314366e-06f, -5.767069508e-06f, -5.850806796e-06f, -5.934526087e-06f, -6.018227238e-06f, -6.101910105e-06f, -6.185574546e-06f,
+-6.269220417e-06f, -6.352847576e-06f, -6.436455879e-06f, -6.520045184e-06f, -6.603615348e-06f, -6.687166227e-06f, -6.770697679e-06f, -6.854209562e-06f, -6.937701733e-06f, -7.021174048e-06f,
+-7.104626366e-06f, -7.188058544e-06f, -7.271470439e-06f, -7.354861909e-06f, -7.438232812e-06f, -7.521583006e-06f, -7.604912347e-06f, -7.688220694e-06f, -7.771507904e-06f, -7.854773836e-06f,
+-7.938018347e-06f, -8.021241295e-06f, -8.104442539e-06f, -8.187621936e-06f, -8.270779344e-06f, -8.353914622e-06f, -8.437027628e-06f, -8.520118220e-06f, -8.603186256e-06f, -8.686231595e-06f,
+-8.769254095e-06f, -8.852253615e-06f, -8.935230012e-06f, -9.018183147e-06f, -9.101112877e-06f, -9.184019061e-06f, -9.266901558e-06f, -9.349760227e-06f, -9.432594926e-06f, -9.515405514e-06f,
+-9.598191851e-06f, -9.680953795e-06f, -9.763691206e-06f, -9.846403942e-06f, -9.929091862e-06f, -1.001175483e-05f, -1.009439270e-05f, -1.017700533e-05f, -1.025959258e-05f, -1.034215431e-05f,
+-1.042469039e-05f, -1.050720066e-05f, -1.058968500e-05f, -1.067214326e-05f, -1.075457529e-05f, -1.083698097e-05f, -1.091936014e-05f, -1.100171267e-05f, -1.108403843e-05f, -1.116633726e-05f,
+-1.124860903e-05f, -1.133085360e-05f, -1.141307084e-05f, -1.149526059e-05f, -1.157742272e-05f, -1.165955709e-05f, -1.174166357e-05f, -1.182374200e-05f, -1.190579226e-05f, -1.198781420e-05f,
+-1.206980769e-05f, -1.215177258e-05f, -1.223370874e-05f, -1.231561602e-05f, -1.239749429e-05f, -1.247934341e-05f, -1.256116324e-05f, -1.264295364e-05f, -1.272471447e-05f, -1.280644559e-05f,
+-1.288814687e-05f, -1.296981817e-05f, -1.305145934e-05f, -1.313307025e-05f, -1.321465076e-05f, -1.329620074e-05f, -1.337772003e-05f, -1.345920852e-05f, -1.354066605e-05f, -1.362209249e-05f,
+-1.370348771e-05f, -1.378485155e-05f, -1.386618390e-05f, -1.394748460e-05f, -1.402875352e-05f, -1.410999053e-05f, -1.419119548e-05f, -1.427236824e-05f, -1.435350866e-05f, -1.443461663e-05f,
+-1.451569198e-05f, -1.459673460e-05f, -1.467774433e-05f, -1.475872106e-05f, -1.483966462e-05f, -1.492057490e-05f, -1.500145175e-05f, -1.508229504e-05f, -1.516310463e-05f, -1.524388038e-05f,
+-1.532462215e-05f, -1.540532982e-05f, -1.548600324e-05f, -1.556664228e-05f, -1.564724680e-05f, -1.572781666e-05f, -1.580835173e-05f, -1.588885187e-05f, -1.596931695e-05f, -1.604974683e-05f,
+-1.613014137e-05f, -1.621050045e-05f, -1.629082391e-05f, -1.637111163e-05f, -1.645136348e-05f, -1.653157931e-05f, -1.661175899e-05f, -1.669190238e-05f, -1.677200936e-05f, -1.685207978e-05f,
+-1.693211351e-05f, -1.701211042e-05f, -1.709207036e-05f, -1.717199321e-05f, -1.725187883e-05f, -1.733172709e-05f, -1.741153784e-05f, -1.749131097e-05f, -1.757104632e-05f, -1.765074377e-05f,
+-1.773040318e-05f, -1.781002443e-05f, -1.788960736e-05f, -1.796915186e-05f, -1.804865778e-05f, -1.812812499e-05f, -1.820755337e-05f, -1.828694276e-05f, -1.836629305e-05f, -1.844560410e-05f,
+-1.852487576e-05f, -1.860410792e-05f, -1.868330044e-05f, -1.876245318e-05f, -1.884156600e-05f, -1.892063879e-05f, -1.899967140e-05f, -1.907866370e-05f, -1.915761556e-05f, -1.923652684e-05f,
+-1.931539742e-05f, -1.939422715e-05f, -1.947301592e-05f, -1.955176358e-05f, -1.963047000e-05f, -1.970913505e-05f, -1.978775859e-05f, -1.986634051e-05f, -1.994488066e-05f, -2.002337890e-05f,
+-2.010183512e-05f, -2.018024918e-05f, -2.025862094e-05f, -2.033695028e-05f, -2.041523706e-05f, -2.049348115e-05f, -2.057168242e-05f, -2.064984074e-05f, -2.072795598e-05f, -2.080602800e-05f,
+-2.088405668e-05f, -2.096204188e-05f, -2.103998348e-05f, -2.111788134e-05f, -2.119573533e-05f, -2.127354533e-05f, -2.135131119e-05f, -2.142903280e-05f, -2.150671001e-05f, -2.158434271e-05f,
+-2.166193075e-05f, -2.173947402e-05f, -2.181697237e-05f, -2.189442569e-05f, -2.197183383e-05f, -2.204919668e-05f, -2.212651410e-05f, -2.220378595e-05f, -2.228101212e-05f, -2.235819247e-05f,
+-2.243532688e-05f, -2.251241521e-05f, -2.258945733e-05f, -2.266645312e-05f, -2.274340245e-05f, -2.282030518e-05f, -2.289716120e-05f, -2.297397037e-05f, -2.305073256e-05f, -2.312744764e-05f,
+-2.320411549e-05f, -2.328073597e-05f, -2.335730897e-05f, -2.343383435e-05f, -2.351031198e-05f, -2.358674173e-05f, -2.366312349e-05f, -2.373945711e-05f, -2.381574248e-05f, -2.389197946e-05f,
+-2.396816793e-05f, -2.404430776e-05f, -2.412039883e-05f, -2.419644100e-05f, -2.427243415e-05f, -2.434837815e-05f, -2.442427288e-05f, -2.450011820e-05f, -2.457591400e-05f, -2.465166015e-05f,
+-2.472735651e-05f, -2.480300297e-05f, -2.487859939e-05f, -2.495414565e-05f, -2.502964163e-05f, -2.510508720e-05f, -2.518048223e-05f, -2.525582660e-05f, -2.533112018e-05f, -2.540636285e-05f,
+-2.548155447e-05f, -2.555669493e-05f, -2.563178411e-05f, -2.570682186e-05f, -2.578180808e-05f, -2.585674263e-05f, -2.593162540e-05f, -2.600645625e-05f, -2.608123506e-05f, -2.615596170e-05f,
+-2.623063606e-05f, -2.630525801e-05f, -2.637982742e-05f, -2.645434416e-05f, -2.652880813e-05f, -2.660321919e-05f, -2.667757721e-05f, -2.675188208e-05f, -2.682613367e-05f, -2.690033185e-05f,
+-2.697447651e-05f, -2.704856752e-05f, -2.712260476e-05f, -2.719658810e-05f, -2.727051743e-05f, -2.734439261e-05f, -2.741821352e-05f, -2.749198005e-05f, -2.756569208e-05f, -2.763934946e-05f,
+-2.771295210e-05f, -2.778649986e-05f, -2.785999262e-05f, -2.793343026e-05f, -2.800681265e-05f, -2.808013968e-05f, -2.815341123e-05f, -2.822662717e-05f, -2.829978738e-05f, -2.837289174e-05f,
+-2.844594013e-05f, -2.851893242e-05f, -2.859186851e-05f, -2.866474825e-05f, -2.873757154e-05f, -2.881033826e-05f, -2.888304828e-05f, -2.895570148e-05f, -2.902829774e-05f, -2.910083695e-05f,
+-2.917331898e-05f, -2.924574371e-05f, -2.931811102e-05f, -2.939042079e-05f, -2.946267291e-05f, -2.953486725e-05f, -2.960700369e-05f, -2.967908212e-05f, -2.975110241e-05f, -2.982306445e-05f,
+-2.989496811e-05f, -2.996681328e-05f, -3.003859984e-05f, -3.011032767e-05f, -3.018199665e-05f, -3.025360666e-05f, -3.032515759e-05f, -3.039664932e-05f, -3.046808172e-05f, -3.053945468e-05f,
+-3.061076809e-05f, -3.068202182e-05f, -3.075321575e-05f, -3.082434978e-05f, -3.089542378e-05f, -3.096643763e-05f, -3.103739122e-05f, -3.110828443e-05f, -3.117911714e-05f, -3.124988924e-05f,
+-3.132060061e-05f, -3.139125113e-05f, -3.146184068e-05f, -3.153236916e-05f, -3.160283644e-05f, -3.167324241e-05f, -3.174358695e-05f, -3.181386994e-05f, -3.188409127e-05f, -3.195425083e-05f,
+-3.202434850e-05f, -3.209438416e-05f, -3.216435769e-05f, -3.223426899e-05f, -3.230411793e-05f, -3.237390441e-05f, -3.244362831e-05f, -3.251328950e-05f, -3.258288789e-05f, -3.265242334e-05f,
+-3.272189576e-05f, -3.279130502e-05f, -3.286065101e-05f, -3.292993362e-05f, -3.299915273e-05f, -3.306830823e-05f, -3.313740000e-05f, -3.320642794e-05f, -3.327539192e-05f, -3.334429184e-05f,
+-3.341312758e-05f, -3.348189903e-05f, -3.355060607e-05f, -3.361924859e-05f, -3.368782649e-05f, -3.375633964e-05f, -3.382478794e-05f, -3.389317127e-05f, -3.396148952e-05f, -3.402974258e-05f,
+-3.409793033e-05f, -3.416605267e-05f, -3.423410948e-05f, -3.430210065e-05f, -3.437002607e-05f, -3.443788563e-05f, -3.450567922e-05f, -3.457340672e-05f, -3.464106803e-05f, -3.470866303e-05f,
+-3.477619162e-05f, -3.484365368e-05f, -3.491104910e-05f, -3.497837777e-05f, -3.504563958e-05f, -3.511283443e-05f, -3.517996219e-05f, -3.524702277e-05f, -3.531401605e-05f, -3.538094192e-05f,
+-3.544780028e-05f, -3.551459101e-05f, -3.558131400e-05f, -3.564796915e-05f, -3.571455635e-05f, -3.578107548e-05f, -3.584752644e-05f, -3.591390913e-05f, -3.598022342e-05f, -3.604646922e-05f,
+-3.611264641e-05f, -3.617875489e-05f, -3.624479455e-05f, -3.631076528e-05f, -3.637666698e-05f, -3.644249953e-05f, -3.650826283e-05f, -3.657395678e-05f, -3.663958125e-05f, -3.670513616e-05f,
+-3.677062138e-05f, -3.683603682e-05f, -3.690138237e-05f, -3.696665792e-05f, -3.703186336e-05f, -3.709699859e-05f, -3.716206350e-05f, -3.722705799e-05f, -3.729198195e-05f, -3.735683527e-05f,
+-3.742161785e-05f, -3.748632959e-05f, -3.755097037e-05f, -3.761554010e-05f, -3.768003866e-05f, -3.774446596e-05f, -3.780882189e-05f, -3.787310634e-05f, -3.793731921e-05f, -3.800146039e-05f,
+-3.806552979e-05f, -3.812952729e-05f, -3.819345279e-05f, -3.825730620e-05f, -3.832108739e-05f, -3.838479628e-05f, -3.844843276e-05f, -3.851199672e-05f, -3.857548807e-05f, -3.863890669e-05f,
+-3.870225249e-05f, -3.876552536e-05f, -3.882872520e-05f, -3.889185191e-05f, -3.895490538e-05f, -3.901788552e-05f, -3.908079222e-05f, -3.914362537e-05f, -3.920638489e-05f, -3.926907066e-05f,
+-3.933168258e-05f, -3.939422056e-05f, -3.945668449e-05f, -3.951907427e-05f, -3.958138980e-05f, -3.964363098e-05f, -3.970579770e-05f, -3.976788988e-05f, -3.982990740e-05f, -3.989185017e-05f,
+-3.995371808e-05f, -4.001551104e-05f, -4.007722895e-05f, -4.013887170e-05f, -4.020043920e-05f, -4.026193135e-05f, -4.032334805e-05f, -4.038468919e-05f, -4.044595469e-05f, -4.050714444e-05f,
+-4.056825834e-05f, -4.062929630e-05f, -4.069025821e-05f, -4.075114398e-05f, -4.081195351e-05f, -4.087268670e-05f, -4.093334345e-05f, -4.099392367e-05f, -4.105442725e-05f, -4.111485411e-05f,
+-4.117520414e-05f, -4.123547724e-05f, -4.129567333e-05f, -4.135579229e-05f, -4.141583404e-05f, -4.147579848e-05f, -4.153568552e-05f, -4.159549504e-05f, -4.165522697e-05f, -4.171488120e-05f,
+-4.177445764e-05f, -4.183395619e-05f, -4.189337676e-05f, -4.195271924e-05f, -4.201198355e-05f, -4.207116960e-05f, -4.213027728e-05f, -4.218930649e-05f, -4.224825716e-05f, -4.230712917e-05f,
+-4.236592244e-05f, -4.242463688e-05f, -4.248327238e-05f, -4.254182885e-05f, -4.260030621e-05f, -4.265870435e-05f, -4.271702318e-05f, -4.277526262e-05f, -4.283342255e-05f, -4.289150291e-05f,
+-4.294950358e-05f, -4.300742448e-05f, -4.306526551e-05f, -4.312302659e-05f, -4.318070761e-05f, -4.323830849e-05f, -4.329582914e-05f, -4.335326946e-05f, -4.341062936e-05f, -4.346790875e-05f,
+-4.352510754e-05f, -4.358222564e-05f, -4.363926295e-05f, -4.369621938e-05f, -4.375309485e-05f, -4.380988926e-05f, -4.386660252e-05f, -4.392323454e-05f, -4.397978524e-05f, -4.403625451e-05f,
+-4.409264228e-05f, -4.414894845e-05f, -4.420517293e-05f, -4.426131563e-05f, -4.431737646e-05f, -4.437335533e-05f, -4.442925216e-05f, -4.448506686e-05f, -4.454079933e-05f, -4.459644948e-05f,
+-4.465201724e-05f, -4.470750251e-05f, -4.476290519e-05f, -4.481822522e-05f, -4.487346248e-05f, -4.492861691e-05f, -4.498368841e-05f, -4.503867689e-05f, -4.509358226e-05f, -4.514840445e-05f,
+-4.520314336e-05f, -4.525779890e-05f, -4.531237099e-05f, -4.536685954e-05f, -4.542126446e-05f, -4.547558568e-05f, -4.552982310e-05f, -4.558397663e-05f, -4.563804620e-05f, -4.569203171e-05f,
+-4.574593308e-05f, -4.579975022e-05f, -4.585348306e-05f, -4.590713150e-05f, -4.596069545e-05f, -4.601417485e-05f, -4.606756959e-05f, -4.612087960e-05f, -4.617410479e-05f, -4.622724508e-05f,
+-4.628030038e-05f, -4.633327061e-05f, -4.638615568e-05f, -4.643895552e-05f, -4.649167004e-05f, -4.654429916e-05f, -4.659684278e-05f, -4.664930084e-05f, -4.670167325e-05f, -4.675395992e-05f,
+-4.680616077e-05f, -4.685827572e-05f, -4.691030469e-05f, -4.696224760e-05f, -4.701410436e-05f, -4.706587489e-05f, -4.711755912e-05f, -4.716915696e-05f, -4.722066832e-05f, -4.727209313e-05f,
+-4.732343131e-05f, -4.737468278e-05f, -4.742584745e-05f, -4.747692525e-05f, -4.752791610e-05f, -4.757881990e-05f, -4.762963660e-05f, -4.768036610e-05f, -4.773100833e-05f, -4.778156320e-05f,
+-4.783203064e-05f, -4.788241057e-05f, -4.793270291e-05f, -4.798290758e-05f, -4.803302451e-05f, -4.808305360e-05f, -4.813299480e-05f, -4.818284801e-05f, -4.823261316e-05f, -4.828229017e-05f,
+-4.833187896e-05f, -4.838137946e-05f, -4.843079160e-05f, -4.848011528e-05f, -4.852935044e-05f, -4.857849699e-05f, -4.862755487e-05f, -4.867652399e-05f, -4.872540428e-05f, -4.877419567e-05f,
+-4.882289807e-05f, -4.887151141e-05f, -4.892003561e-05f, -4.896847061e-05f, -4.901681632e-05f, -4.906507266e-05f, -4.911323957e-05f, -4.916131697e-05f, -4.920930479e-05f, -4.925720294e-05f,
+-4.930501136e-05f, -4.935272996e-05f, -4.940035869e-05f, -4.944789745e-05f, -4.949534619e-05f, -4.954270482e-05f, -4.958997327e-05f, -4.963715147e-05f, -4.968423935e-05f, -4.973123683e-05f,
+-4.977814384e-05f, -4.982496030e-05f, -4.987168615e-05f, -4.991832131e-05f, -4.996486572e-05f, -5.001131929e-05f, -5.005768195e-05f, -5.010395364e-05f, -5.015013429e-05f, -5.019622381e-05f,
+-5.024222215e-05f, -5.028812922e-05f, -5.033394497e-05f, -5.037966931e-05f, -5.042530218e-05f, -5.047084351e-05f, -5.051629323e-05f, -5.056165126e-05f, -5.060691754e-05f, -5.065209199e-05f,
+-5.069717456e-05f, -5.074216516e-05f, -5.078706374e-05f, -5.083187021e-05f, -5.087658452e-05f, -5.092120659e-05f, -5.096573635e-05f, -5.101017374e-05f, -5.105451869e-05f, -5.109877113e-05f,
+-5.114293099e-05f, -5.118699821e-05f, -5.123097271e-05f, -5.127485443e-05f, -5.131864331e-05f, -5.136233927e-05f, -5.140594225e-05f, -5.144945218e-05f, -5.149286899e-05f, -5.153619263e-05f,
+-5.157942302e-05f, -5.162256009e-05f, -5.166560379e-05f, -5.170855404e-05f, -5.175141079e-05f, -5.179417395e-05f, -5.183684348e-05f, -5.187941930e-05f, -5.192190135e-05f, -5.196428957e-05f,
+-5.200658388e-05f, -5.204878424e-05f, -5.209089056e-05f, -5.213290279e-05f, -5.217482087e-05f, -5.221664473e-05f, -5.225837430e-05f, -5.230000953e-05f, -5.234155035e-05f, -5.238299670e-05f,
+-5.242434851e-05f, -5.246560573e-05f, -5.250676828e-05f, -5.254783611e-05f, -5.258880916e-05f, -5.262968736e-05f, -5.267047065e-05f, -5.271115897e-05f, -5.275175226e-05f, -5.279225046e-05f,
+-5.283265351e-05f, -5.287296134e-05f, -5.291317389e-05f, -5.295329111e-05f, -5.299331293e-05f, -5.303323930e-05f, -5.307307015e-05f, -5.311280542e-05f, -5.315244505e-05f, -5.319198899e-05f,
+-5.323143718e-05f, -5.327078955e-05f, -5.331004605e-05f, -5.334920661e-05f, -5.338827118e-05f, -5.342723970e-05f, -5.346611212e-05f, -5.350488837e-05f, -5.354356839e-05f, -5.358215214e-05f,
+-5.362063954e-05f, -5.365903054e-05f, -5.369732509e-05f, -5.373552313e-05f, -5.377362460e-05f, -5.381162945e-05f, -5.384953761e-05f, -5.388734903e-05f, -5.392506366e-05f, -5.396268144e-05f,
+-5.400020231e-05f, -5.403762622e-05f, -5.407495311e-05f, -5.411218292e-05f, -5.414931561e-05f, -5.418635111e-05f, -5.422328937e-05f, -5.426013034e-05f, -5.429687396e-05f, -5.433352018e-05f,
+-5.437006894e-05f, -5.440652019e-05f, -5.444287388e-05f, -5.447912995e-05f, -5.451528834e-05f, -5.455134901e-05f, -5.458731190e-05f, -5.462317696e-05f, -5.465894414e-05f, -5.469461337e-05f,
+-5.473018462e-05f, -5.476565783e-05f, -5.480103294e-05f, -5.483630991e-05f, -5.487148868e-05f, -5.490656920e-05f, -5.494155142e-05f, -5.497643528e-05f, -5.501122075e-05f, -5.504590776e-05f,
+-5.508049626e-05f, -5.511498621e-05f, -5.514937756e-05f, -5.518367025e-05f, -5.521786423e-05f, -5.525195946e-05f, -5.528595588e-05f, -5.531985345e-05f, -5.535365212e-05f, -5.538735183e-05f,
+-5.542095254e-05f, -5.545445419e-05f, -5.548785675e-05f, -5.552116016e-05f, -5.555436438e-05f, -5.558746934e-05f, -5.562047502e-05f, -5.565338136e-05f, -5.568618831e-05f, -5.571889582e-05f,
+-5.575150386e-05f, -5.578401236e-05f, -5.581642129e-05f, -5.584873059e-05f, -5.588094023e-05f, -5.591305015e-05f, -5.594506031e-05f, -5.597697066e-05f, -5.600878116e-05f, -5.604049176e-05f,
+-5.607210241e-05f, -5.610361307e-05f, -5.613502370e-05f, -5.616633426e-05f, -5.619754468e-05f, -5.622865494e-05f, -5.625966498e-05f, -5.629057477e-05f, -5.632138425e-05f, -5.635209339e-05f,
+-5.638270214e-05f, -5.641321046e-05f, -5.644361830e-05f, -5.647392563e-05f, -5.650413239e-05f, -5.653423855e-05f, -5.656424406e-05f, -5.659414888e-05f, -5.662395297e-05f, -5.665365628e-05f,
+-5.668325878e-05f, -5.671276042e-05f, -5.674216116e-05f, -5.677146097e-05f, -5.680065979e-05f, -5.682975759e-05f, -5.685875432e-05f, -5.688764995e-05f, -5.691644444e-05f, -5.694513774e-05f,
+-5.697372982e-05f, -5.700222064e-05f, -5.703061015e-05f, -5.705889831e-05f, -5.708708509e-05f, -5.711517045e-05f, -5.714315435e-05f, -5.717103675e-05f, -5.719881761e-05f, -5.722649689e-05f,
+-5.725407456e-05f, -5.728155057e-05f, -5.730892489e-05f, -5.733619748e-05f, -5.736336831e-05f, -5.739043733e-05f, -5.741740451e-05f, -5.744426980e-05f, -5.747103319e-05f, -5.749769462e-05f,
+-5.752425406e-05f, -5.755071148e-05f, -5.757706684e-05f, -5.760332010e-05f, -5.762947123e-05f, -5.765552018e-05f, -5.768146694e-05f, -5.770731146e-05f, -5.773305370e-05f, -5.775869363e-05f,
+-5.778423122e-05f, -5.780966643e-05f, -5.783499922e-05f, -5.786022958e-05f, -5.788535745e-05f, -5.791038280e-05f, -5.793530561e-05f, -5.796012583e-05f, -5.798484345e-05f, -5.800945841e-05f,
+-5.803397069e-05f, -5.805838026e-05f, -5.808268708e-05f, -5.810689113e-05f, -5.813099236e-05f, -5.815499075e-05f, -5.817888627e-05f, -5.820267888e-05f, -5.822636856e-05f, -5.824995526e-05f,
+-5.827343897e-05f, -5.829681964e-05f, -5.832009725e-05f, -5.834327178e-05f, -5.836634318e-05f, -5.838931142e-05f, -5.841217649e-05f, -5.843493834e-05f, -5.845759695e-05f, -5.848015229e-05f,
+-5.850260433e-05f, -5.852495304e-05f, -5.854719839e-05f, -5.856934036e-05f, -5.859137890e-05f, -5.861331401e-05f, -5.863514564e-05f, -5.865687377e-05f, -5.867849838e-05f, -5.870001942e-05f,
+-5.872143689e-05f, -5.874275074e-05f, -5.876396096e-05f, -5.878506751e-05f, -5.880607037e-05f, -5.882696952e-05f, -5.884776492e-05f, -5.886845655e-05f, -5.888904438e-05f, -5.890952839e-05f,
+-5.892990856e-05f, -5.895018485e-05f, -5.897035724e-05f, -5.899042571e-05f, -5.901039023e-05f, -5.903025078e-05f, -5.905000733e-05f, -5.906965986e-05f, -5.908920834e-05f, -5.910865275e-05f,
+-5.912799307e-05f, -5.914722927e-05f, -5.916636133e-05f, -5.918538923e-05f, -5.920431294e-05f, -5.922313244e-05f, -5.924184771e-05f, -5.926045872e-05f, -5.927896545e-05f, -5.929736788e-05f,
+-5.931566600e-05f, -5.933385976e-05f, -5.935194917e-05f, -5.936993418e-05f, -5.938781479e-05f, -5.940559097e-05f, -5.942326270e-05f, -5.944082996e-05f, -5.945829273e-05f, -5.947565099e-05f,
+-5.949290471e-05f, -5.951005389e-05f, -5.952709849e-05f, -5.954403850e-05f, -5.956087390e-05f, -5.957760468e-05f, -5.959423080e-05f, -5.961075226e-05f, -5.962716903e-05f, -5.964348109e-05f,
+-5.965968843e-05f, -5.967579104e-05f, -5.969178888e-05f, -5.970768194e-05f, -5.972347022e-05f, -5.973915368e-05f, -5.975473231e-05f, -5.977020609e-05f, -5.978557501e-05f, -5.980083906e-05f,
+-5.981599820e-05f, -5.983105244e-05f, -5.984600174e-05f, -5.986084610e-05f, -5.987558550e-05f, -5.989021993e-05f, -5.990474936e-05f, -5.991917379e-05f, -5.993349320e-05f, -5.994770757e-05f,
+-5.996181689e-05f, -5.997582114e-05f, -5.998972031e-05f, -6.000351439e-05f, -6.001720337e-05f, -6.003078722e-05f, -6.004426594e-05f, -6.005763950e-05f, -6.007090791e-05f, -6.008407114e-05f,
+-6.009712919e-05f, -6.011008203e-05f, -6.012292967e-05f, -6.013567207e-05f, -6.014830925e-05f, -6.016084117e-05f, -6.017326783e-05f, -6.018558922e-05f, -6.019780533e-05f, -6.020991614e-05f,
+-6.022192165e-05f, -6.023382184e-05f, -6.024561670e-05f, -6.025730623e-05f, -6.026889041e-05f, -6.028036923e-05f, -6.029174268e-05f, -6.030301076e-05f, -6.031417345e-05f, -6.032523074e-05f,
+-6.033618263e-05f, -6.034702910e-05f, -6.035777015e-05f, -6.036840577e-05f, -6.037893595e-05f, -6.038936068e-05f, -6.039967996e-05f, -6.040989377e-05f, -6.042000210e-05f, -6.043000496e-05f,
+-6.043990233e-05f, -6.044969421e-05f, -6.045938059e-05f, -6.046896146e-05f, -6.047843681e-05f, -6.048780665e-05f, -6.049707096e-05f, -6.050622973e-05f, -6.051528297e-05f, -6.052423066e-05f,
+-6.053307280e-05f, -6.054180939e-05f, -6.055044041e-05f, -6.055896587e-05f, -6.056738577e-05f, -6.057570008e-05f, -6.058390882e-05f, -6.059201197e-05f, -6.060000954e-05f, -6.060790152e-05f,
+-6.061568790e-05f, -6.062336868e-05f, -6.063094386e-05f, -6.063841344e-05f, -6.064577741e-05f, -6.065303577e-05f, -6.066018851e-05f, -6.066723564e-05f, -6.067417716e-05f, -6.068101305e-05f,
+-6.068774332e-05f, -6.069436797e-05f, -6.070088700e-05f, -6.070730040e-05f, -6.071360817e-05f, -6.071981032e-05f, -6.072590683e-05f, -6.073189772e-05f, -6.073778298e-05f, -6.074356261e-05f,
+-6.074923661e-05f, -6.075480498e-05f, -6.076026772e-05f, -6.076562484e-05f, -6.077087632e-05f, -6.077602218e-05f, -6.078106241e-05f, -6.078599702e-05f, -6.079082601e-05f, -6.079554938e-05f,
+-6.080016712e-05f, -6.080467925e-05f, -6.080908576e-05f, -6.081338666e-05f, -6.081758195e-05f, -6.082167164e-05f, -6.082565572e-05f, -6.082953419e-05f, -6.083330707e-05f, -6.083697436e-05f,
+-6.084053605e-05f, -6.084399215e-05f, -6.084734268e-05f, -6.085058762e-05f, -6.085372699e-05f, -6.085676079e-05f, -6.085968902e-05f, -6.086251170e-05f, -6.086522882e-05f, -6.086784038e-05f,
+-6.087034641e-05f, -6.087274689e-05f, -6.087504185e-05f, -6.087723127e-05f, -6.087931518e-05f, -6.088129357e-05f, -6.088316645e-05f, -6.088493383e-05f, -6.088659572e-05f, -6.088815212e-05f,
+-6.088960304e-05f, -6.089094849e-05f, -6.089218848e-05f, -6.089332300e-05f, -6.089435208e-05f, -6.089527572e-05f, -6.089609393e-05f, -6.089680671e-05f, -6.089741408e-05f, -6.089791605e-05f,
+-6.089831261e-05f, -6.089860379e-05f, -6.089878959e-05f, -6.089887003e-05f, -6.089884510e-05f, -6.089871483e-05f, -6.089847922e-05f, -6.089813828e-05f, -6.089769202e-05f, -6.089714046e-05f,
+-6.089648360e-05f, -6.089572146e-05f, -6.089485404e-05f, -6.089388137e-05f, -6.089280344e-05f, -6.089162028e-05f, -6.089033189e-05f, -6.088893828e-05f, -6.088743948e-05f, -6.088583548e-05f,
+-6.088412631e-05f, -6.088231197e-05f, -6.088039249e-05f, -6.087836787e-05f, -6.087623812e-05f, -6.087400327e-05f, -6.087166332e-05f, -6.086921829e-05f, -6.086666819e-05f, -6.086401304e-05f,
+-6.086125284e-05f, -6.085838763e-05f, -6.085541740e-05f, -6.085234218e-05f, -6.084916199e-05f, -6.084587682e-05f, -6.084248672e-05f, -6.083899167e-05f, -6.083539172e-05f, -6.083168686e-05f,
+-6.082787712e-05f, -6.082396252e-05f, -6.081994306e-05f, -6.081581877e-05f, -6.081158966e-05f, -6.080725576e-05f, -6.080281707e-05f, -6.079827362e-05f, -6.079362543e-05f, -6.078887250e-05f,
+-6.078401487e-05f, -6.077905254e-05f, -6.077398555e-05f, -6.076881389e-05f, -6.076353760e-05f, -6.075815670e-05f, -6.075267120e-05f, -6.074708112e-05f, -6.074138648e-05f, -6.073558730e-05f,
+-6.072968361e-05f, -6.072367541e-05f, -6.071756274e-05f, -6.071134561e-05f, -6.070502405e-05f, -6.069859806e-05f, -6.069206769e-05f, -6.068543293e-05f, -6.067869383e-05f, -6.067185039e-05f,
+-6.066490265e-05f, -6.065785062e-05f, -6.065069432e-05f, -6.064343378e-05f, -6.063606902e-05f, -6.062860006e-05f, -6.062102693e-05f, -6.061334965e-05f, -6.060556823e-05f, -6.059768271e-05f,
+-6.058969311e-05f, -6.058159945e-05f, -6.057340175e-05f, -6.056510005e-05f, -6.055669436e-05f, -6.054818470e-05f, -6.053957111e-05f, -6.053085361e-05f, -6.052203222e-05f, -6.051310697e-05f,
+-6.050407787e-05f, -6.049494497e-05f, -6.048570828e-05f, -6.047636784e-05f, -6.046692365e-05f, -6.045737576e-05f, -6.044772419e-05f, -6.043796896e-05f, -6.042811011e-05f, -6.041814765e-05f,
+-6.040808162e-05f, -6.039791204e-05f, -6.038763894e-05f, -6.037726235e-05f, -6.036678229e-05f, -6.035619880e-05f, -6.034551190e-05f, -6.033472162e-05f, -6.032382799e-05f, -6.031283103e-05f,
+-6.030173078e-05f, -6.029052727e-05f, -6.027922052e-05f, -6.026781056e-05f, -6.025629743e-05f, -6.024468114e-05f, -6.023296174e-05f, -6.022113926e-05f, -6.020921371e-05f, -6.019718514e-05f,
+-6.018505358e-05f, -6.017281905e-05f, -6.016048158e-05f, -6.014804121e-05f, -6.013549797e-05f, -6.012285189e-05f, -6.011010299e-05f, -6.009725133e-05f, -6.008429691e-05f, -6.007123978e-05f,
+-6.005807998e-05f, -6.004481752e-05f, -6.003145245e-05f, -6.001798480e-05f, -6.000441459e-05f, -5.999074187e-05f, -5.997696667e-05f, -5.996308902e-05f, -5.994910895e-05f, -5.993502650e-05f,
+-5.992084170e-05f, -5.990655459e-05f, -5.989216520e-05f, -5.987767357e-05f, -5.986307973e-05f, -5.984838371e-05f, -5.983358555e-05f, -5.981868529e-05f, -5.980368296e-05f, -5.978857859e-05f,
+-5.977337223e-05f, -5.975806391e-05f, -5.974265366e-05f, -5.972714152e-05f, -5.971152753e-05f, -5.969581173e-05f, -5.967999414e-05f, -5.966407482e-05f, -5.964805379e-05f, -5.963193109e-05f,
+-5.961570676e-05f, -5.959938084e-05f, -5.958295337e-05f, -5.956642438e-05f, -5.954979391e-05f, -5.953306201e-05f, -5.951622870e-05f, -5.949929403e-05f, -5.948225804e-05f, -5.946512076e-05f,
+-5.944788224e-05f, -5.943054252e-05f, -5.941310162e-05f, -5.939555961e-05f, -5.937791650e-05f, -5.936017235e-05f, -5.934232720e-05f, -5.932438108e-05f, -5.930633403e-05f, -5.928818610e-05f,
+-5.926993733e-05f, -5.925158776e-05f, -5.923313743e-05f, -5.921458638e-05f, -5.919593465e-05f, -5.917718229e-05f, -5.915832933e-05f, -5.913937582e-05f, -5.912032180e-05f, -5.910116732e-05f,
+-5.908191241e-05f, -5.906255713e-05f, -5.904310150e-05f, -5.902354558e-05f, -5.900388941e-05f, -5.898413304e-05f, -5.896427649e-05f, -5.894431983e-05f, -5.892426310e-05f, -5.890410633e-05f,
+-5.888384957e-05f, -5.886349287e-05f, -5.884303627e-05f, -5.882247982e-05f, -5.880182356e-05f, -5.878106754e-05f, -5.876021180e-05f, -5.873925639e-05f, -5.871820135e-05f, -5.869704673e-05f,
+-5.867579258e-05f, -5.865443894e-05f, -5.863298585e-05f, -5.861143338e-05f, -5.858978155e-05f, -5.856803042e-05f, -5.854618004e-05f, -5.852423045e-05f, -5.850218170e-05f, -5.848003384e-05f,
+-5.845778691e-05f, -5.843544097e-05f, -5.841299606e-05f, -5.839045222e-05f, -5.836780952e-05f, -5.834506799e-05f, -5.832222769e-05f, -5.829928866e-05f, -5.827625096e-05f, -5.825311463e-05f,
+-5.822987972e-05f, -5.820654628e-05f, -5.818311436e-05f, -5.815958401e-05f, -5.813595529e-05f, -5.811222823e-05f, -5.808840290e-05f, -5.806447934e-05f, -5.804045761e-05f, -5.801633775e-05f,
+-5.799211981e-05f, -5.796780385e-05f, -5.794338991e-05f, -5.791887806e-05f, -5.789426834e-05f, -5.786956080e-05f, -5.784475549e-05f, -5.781985247e-05f, -5.779485179e-05f, -5.776975351e-05f,
+-5.774455766e-05f, -5.771926432e-05f, -5.769387352e-05f, -5.766838533e-05f, -5.764279980e-05f, -5.761711698e-05f, -5.759133692e-05f, -5.756545968e-05f, -5.753948531e-05f, -5.751341387e-05f,
+-5.748724541e-05f, -5.746097998e-05f, -5.743461764e-05f, -5.740815845e-05f, -5.738160246e-05f, -5.735494972e-05f, -5.732820029e-05f, -5.730135423e-05f, -5.727441159e-05f, -5.724737243e-05f,
+-5.722023680e-05f, -5.719300475e-05f, -5.716567636e-05f, -5.713825166e-05f, -5.711073073e-05f, -5.708311361e-05f, -5.705540036e-05f, -5.702759104e-05f, -5.699968570e-05f, -5.697168441e-05f,
+-5.694358722e-05f, -5.691539419e-05f, -5.688710538e-05f, -5.685872084e-05f, -5.683024064e-05f, -5.680166483e-05f, -5.677299346e-05f, -5.674422661e-05f, -5.671536432e-05f, -5.668640666e-05f,
+-5.665735369e-05f, -5.662820546e-05f, -5.659896204e-05f, -5.656962348e-05f, -5.654018984e-05f, -5.651066119e-05f, -5.648103759e-05f, -5.645131908e-05f, -5.642150574e-05f, -5.639159763e-05f,
+-5.636159481e-05f, -5.633149733e-05f, -5.630130526e-05f, -5.627101866e-05f, -5.624063759e-05f, -5.621016211e-05f, -5.617959229e-05f, -5.614892818e-05f, -5.611816985e-05f, -5.608731736e-05f,
+-5.605637077e-05f, -5.602533015e-05f, -5.599419556e-05f, -5.596296705e-05f, -5.593164470e-05f, -5.590022857e-05f, -5.586871872e-05f, -5.583711521e-05f, -5.580541810e-05f, -5.577362747e-05f,
+-5.574174337e-05f, -5.570976587e-05f, -5.567769504e-05f, -5.564553093e-05f, -5.561327361e-05f, -5.558092315e-05f, -5.554847960e-05f, -5.551594305e-05f, -5.548331355e-05f, -5.545059116e-05f,
+-5.541777595e-05f, -5.538486800e-05f, -5.535186735e-05f, -5.531877409e-05f, -5.528558827e-05f, -5.525230996e-05f, -5.521893923e-05f, -5.518547615e-05f, -5.515192077e-05f, -5.511827318e-05f,
+-5.508453343e-05f, -5.505070159e-05f, -5.501677773e-05f, -5.498276192e-05f, -5.494865422e-05f, -5.491445470e-05f, -5.488016344e-05f, -5.484578049e-05f, -5.481130593e-05f, -5.477673982e-05f,
+-5.474208224e-05f, -5.470733325e-05f, -5.467249292e-05f, -5.463756132e-05f, -5.460253852e-05f, -5.456742458e-05f, -5.453221959e-05f, -5.449692360e-05f, -5.446153669e-05f, -5.442605892e-05f,
+-5.439049037e-05f, -5.435483111e-05f, -5.431908121e-05f, -5.428324073e-05f, -5.424730975e-05f, -5.421128834e-05f, -5.417517658e-05f, -5.413897452e-05f, -5.410268224e-05f, -5.406629982e-05f,
+-5.402982733e-05f, -5.399326483e-05f, -5.395661240e-05f, -5.391987011e-05f, -5.388303803e-05f, -5.384611624e-05f, -5.380910480e-05f, -5.377200380e-05f, -5.373481330e-05f, -5.369753338e-05f,
+-5.366016410e-05f, -5.362270554e-05f, -5.358515779e-05f, -5.354752089e-05f, -5.350979495e-05f, -5.347198001e-05f, -5.343407617e-05f, -5.339608349e-05f, -5.335800205e-05f, -5.331983193e-05f,
+-5.328157319e-05f, -5.324322591e-05f, -5.320479016e-05f, -5.316626603e-05f, -5.312765359e-05f, -5.308895290e-05f, -5.305016406e-05f, -5.301128712e-05f, -5.297232218e-05f, -5.293326930e-05f,
+-5.289412855e-05f, -5.285490003e-05f, -5.281558379e-05f, -5.277617993e-05f, -5.273668851e-05f, -5.269710961e-05f, -5.265744331e-05f, -5.261768968e-05f, -5.257784881e-05f, -5.253792077e-05f,
+-5.249790563e-05f, -5.245780348e-05f, -5.241761439e-05f, -5.237733845e-05f, -5.233697572e-05f, -5.229652628e-05f, -5.225599022e-05f, -5.221536762e-05f, -5.217465854e-05f, -5.213386308e-05f,
+-5.209298130e-05f, -5.205201329e-05f, -5.201095913e-05f, -5.196981890e-05f, -5.192859267e-05f, -5.188728052e-05f, -5.184588254e-05f, -5.180439881e-05f, -5.176282940e-05f, -5.172117439e-05f,
+-5.167943387e-05f, -5.163760791e-05f, -5.159569660e-05f, -5.155370002e-05f, -5.151161824e-05f, -5.146945135e-05f, -5.142719943e-05f, -5.138486256e-05f, -5.134244082e-05f, -5.129993429e-05f,
+-5.125734306e-05f, -5.121466721e-05f, -5.117190681e-05f, -5.112906195e-05f, -5.108613272e-05f, -5.104311919e-05f, -5.100002145e-05f, -5.095683958e-05f, -5.091357366e-05f, -5.087022378e-05f,
+-5.082679001e-05f, -5.078327245e-05f, -5.073967117e-05f, -5.069598626e-05f, -5.065221780e-05f, -5.060836588e-05f, -5.056443058e-05f, -5.052041198e-05f, -5.047631016e-05f, -5.043212522e-05f,
+-5.038785724e-05f, -5.034350629e-05f, -5.029907248e-05f, -5.025455587e-05f, -5.020995655e-05f, -5.016527462e-05f, -5.012051015e-05f, -5.007566323e-05f, -5.003073395e-05f, -4.998572239e-05f,
+-4.994062863e-05f, -4.989545277e-05f, -4.985019489e-05f, -4.980485507e-05f, -4.975943340e-05f, -4.971392998e-05f, -4.966834487e-05f, -4.962267818e-05f, -4.957692998e-05f, -4.953110037e-05f,
+-4.948518943e-05f, -4.943919725e-05f, -4.939312392e-05f, -4.934696952e-05f, -4.930073414e-05f, -4.925441787e-05f, -4.920802080e-05f, -4.916154301e-05f, -4.911498460e-05f, -4.906834564e-05f,
+-4.902162624e-05f, -4.897482647e-05f, -4.892794643e-05f, -4.888098620e-05f, -4.883394588e-05f, -4.878682556e-05f, -4.873962531e-05f, -4.869234524e-05f, -4.864498543e-05f, -4.859754596e-05f,
+-4.855002694e-05f, -4.850242845e-05f, -4.845475058e-05f, -4.840699342e-05f, -4.835915706e-05f, -4.831124159e-05f, -4.826324710e-05f, -4.821517369e-05f, -4.816702143e-05f, -4.811879043e-05f,
+-4.807048077e-05f, -4.802209255e-05f, -4.797362586e-05f, -4.792508078e-05f, -4.787645741e-05f, -4.782775584e-05f, -4.777897617e-05f, -4.773011848e-05f, -4.768118286e-05f, -4.763216942e-05f,
+-4.758307823e-05f, -4.753390940e-05f, -4.748466301e-05f, -4.743533917e-05f, -4.738593795e-05f, -4.733645945e-05f, -4.728690378e-05f, -4.723727101e-05f, -4.718756125e-05f, -4.713777458e-05f,
+-4.708791110e-05f, -4.703797091e-05f, -4.698795409e-05f, -4.693786074e-05f, -4.688769096e-05f, -4.683744484e-05f, -4.678712247e-05f, -4.673672395e-05f, -4.668624937e-05f, -4.663569883e-05f,
+-4.658507242e-05f, -4.653437023e-05f, -4.648359237e-05f, -4.643273892e-05f, -4.638180998e-05f, -4.633080565e-05f, -4.627972603e-05f, -4.622857120e-05f, -4.617734126e-05f, -4.612603631e-05f,
+-4.607465645e-05f, -4.602320177e-05f, -4.597167237e-05f, -4.592006834e-05f, -4.586838978e-05f, -4.581663679e-05f, -4.576480946e-05f, -4.571290789e-05f, -4.566093218e-05f, -4.560888242e-05f,
+-4.555675871e-05f, -4.550456115e-05f, -4.545228984e-05f, -4.539994487e-05f, -4.534752634e-05f, -4.529503435e-05f, -4.524246899e-05f, -4.518983037e-05f, -4.513711858e-05f, -4.508433372e-05f,
+-4.503147589e-05f, -4.497854519e-05f, -4.492554171e-05f, -4.487246556e-05f, -4.481931683e-05f, -4.476609562e-05f, -4.471280203e-05f, -4.465943617e-05f, -4.460599812e-05f, -4.455248799e-05f,
+-4.449890588e-05f, -4.444525189e-05f, -4.439152611e-05f, -4.433772865e-05f, -4.428385961e-05f, -4.422991909e-05f, -4.417590718e-05f, -4.412182399e-05f, -4.406766962e-05f, -4.401344417e-05f,
+-4.395914773e-05f, -4.390478042e-05f, -4.385034233e-05f, -4.379583355e-05f, -4.374125420e-05f, -4.368660438e-05f, -4.363188418e-05f, -4.357709370e-05f, -4.352223306e-05f, -4.346730234e-05f,
+-4.341230166e-05f, -4.335723110e-05f, -4.330209079e-05f, -4.324688081e-05f, -4.319160127e-05f, -4.313625227e-05f, -4.308083391e-05f, -4.302534631e-05f, -4.296978955e-05f, -4.291416374e-05f,
+-4.285846899e-05f, -4.280270539e-05f, -4.274687306e-05f, -4.269097209e-05f, -4.263500258e-05f, -4.257896465e-05f, -4.252285839e-05f, -4.246668391e-05f, -4.241044131e-05f, -4.235413070e-05f,
+-4.229775217e-05f, -4.224130584e-05f, -4.218479181e-05f, -4.212821017e-05f, -4.207156105e-05f, -4.201484453e-05f, -4.195806073e-05f, -4.190120974e-05f, -4.184429168e-05f, -4.178730665e-05f,
+-4.173025476e-05f, -4.167313610e-05f, -4.161595079e-05f, -4.155869893e-05f, -4.150138062e-05f, -4.144399598e-05f, -4.138654510e-05f, -4.132902809e-05f, -4.127144506e-05f, -4.121379612e-05f,
+-4.115608136e-05f, -4.109830090e-05f, -4.104045485e-05f, -4.098254330e-05f, -4.092456637e-05f, -4.086652415e-05f, -4.080841677e-05f, -4.075024432e-05f, -4.069200692e-05f, -4.063370466e-05f,
+-4.057533766e-05f, -4.051690602e-05f, -4.045840985e-05f, -4.039984926e-05f, -4.034122436e-05f, -4.028253525e-05f, -4.022378204e-05f, -4.016496483e-05f, -4.010608375e-05f, -4.004713889e-05f,
+-3.998813036e-05f, -3.992905827e-05f, -3.986992273e-05f, -3.981072384e-05f, -3.975146172e-05f, -3.969213648e-05f, -3.963274822e-05f, -3.957329705e-05f, -3.951378308e-05f, -3.945420642e-05f,
+-3.939456718e-05f, -3.933486547e-05f, -3.927510139e-05f, -3.921527506e-05f, -3.915538659e-05f, -3.909543608e-05f, -3.903542365e-05f, -3.897534940e-05f, -3.891521345e-05f, -3.885501590e-05f,
+-3.879475686e-05f, -3.873443645e-05f, -3.867405478e-05f, -3.861361195e-05f, -3.855310808e-05f, -3.849254327e-05f, -3.843191764e-05f, -3.837123130e-05f, -3.831048435e-05f, -3.824967692e-05f,
+-3.818880910e-05f, -3.812788102e-05f, -3.806689278e-05f, -3.800584449e-05f, -3.794473627e-05f, -3.788356822e-05f, -3.782234047e-05f, -3.776105311e-05f, -3.769970626e-05f, -3.763830004e-05f,
+-3.757683456e-05f, -3.751530992e-05f, -3.745372624e-05f, -3.739208363e-05f, -3.733038221e-05f, -3.726862208e-05f, -3.720680336e-05f, -3.714492616e-05f, -3.708299060e-05f, -3.702099678e-05f,
+-3.695894483e-05f, -3.689683484e-05f, -3.683466694e-05f, -3.677244124e-05f, -3.671015785e-05f, -3.664781689e-05f, -3.658541847e-05f, -3.652296270e-05f, -3.646044969e-05f, -3.639787956e-05f,
+-3.633525243e-05f, -3.627256840e-05f, -3.620982759e-05f, -3.614703012e-05f, -3.608417609e-05f, -3.602126563e-05f, -3.595829885e-05f, -3.589527585e-05f, -3.583219677e-05f, -3.576906170e-05f,
+-3.570587077e-05f, -3.564262409e-05f, -3.557932177e-05f, -3.551596393e-05f, -3.545255069e-05f, -3.538908215e-05f, -3.532555844e-05f, -3.526197967e-05f, -3.519834595e-05f, -3.513465740e-05f,
+-3.507091414e-05f, -3.500711628e-05f, -3.494326394e-05f, -3.487935723e-05f, -3.481539627e-05f, -3.475138117e-05f, -3.468731205e-05f, -3.462318903e-05f, -3.455901222e-05f, -3.449478173e-05f,
+-3.443049770e-05f, -3.436616022e-05f, -3.430176942e-05f, -3.423732541e-05f, -3.417282832e-05f, -3.410827825e-05f, -3.404367533e-05f, -3.397901966e-05f, -3.391431138e-05f, -3.384955059e-05f,
+-3.378473741e-05f, -3.371987195e-05f, -3.365495435e-05f, -3.358998471e-05f, -3.352496315e-05f, -3.345988979e-05f, -3.339476474e-05f, -3.332958813e-05f, -3.326436007e-05f, -3.319908067e-05f,
+-3.313375007e-05f, -3.306836837e-05f, -3.300293569e-05f, -3.293745215e-05f, -3.287191787e-05f, -3.280633297e-05f, -3.274069757e-05f, -3.267501177e-05f, -3.260927571e-05f, -3.254348951e-05f,
+-3.247765327e-05f, -3.241176712e-05f, -3.234583118e-05f, -3.227984556e-05f, -3.221381039e-05f, -3.214772578e-05f, -3.208159186e-05f, -3.201540873e-05f, -3.194917653e-05f, -3.188289537e-05f,
+-3.181656537e-05f, -3.175018665e-05f, -3.168375933e-05f, -3.161728352e-05f, -3.155075936e-05f, -3.148418695e-05f, -3.141756642e-05f, -3.135089789e-05f, -3.128418148e-05f, -3.121741730e-05f,
+-3.115060548e-05f, -3.108374614e-05f, -3.101683940e-05f, -3.094988538e-05f, -3.088288419e-05f, -3.081583597e-05f, -3.074874082e-05f, -3.068159888e-05f, -3.061441025e-05f, -3.054717507e-05f,
+-3.047989345e-05f, -3.041256551e-05f, -3.034519138e-05f, -3.027777118e-05f, -3.021030502e-05f, -3.014279302e-05f, -3.007523532e-05f, -3.000763203e-05f, -2.993998326e-05f, -2.987228915e-05f,
+-2.980454982e-05f, -2.973676538e-05f, -2.966893596e-05f, -2.960106168e-05f, -2.953314265e-05f, -2.946517901e-05f, -2.939717088e-05f, -2.932911837e-05f, -2.926102161e-05f, -2.919288072e-05f,
+-2.912469583e-05f, -2.905646704e-05f, -2.898819450e-05f, -2.891987831e-05f, -2.885151861e-05f, -2.878311551e-05f, -2.871466914e-05f, -2.864617962e-05f, -2.857764707e-05f, -2.850907161e-05f,
+-2.844045337e-05f, -2.837179247e-05f, -2.830308904e-05f, -2.823434319e-05f, -2.816555505e-05f, -2.809672474e-05f, -2.802785239e-05f, -2.795893812e-05f, -2.788998205e-05f, -2.782098430e-05f,
+-2.775194500e-05f, -2.768286428e-05f, -2.761374225e-05f, -2.754457903e-05f, -2.747537477e-05f, -2.740612956e-05f, -2.733684355e-05f, -2.726751685e-05f, -2.719814959e-05f, -2.712874189e-05f,
+-2.705929388e-05f, -2.698980568e-05f, -2.692027741e-05f, -2.685070920e-05f, -2.678110117e-05f, -2.671145344e-05f, -2.664176615e-05f, -2.657203941e-05f, -2.650227336e-05f, -2.643246810e-05f,
+-2.636262378e-05f, -2.629274050e-05f, -2.622281841e-05f, -2.615285762e-05f, -2.608285825e-05f, -2.601282044e-05f, -2.594274430e-05f, -2.587262997e-05f, -2.580247756e-05f, -2.573228721e-05f,
+-2.566205903e-05f, -2.559179315e-05f, -2.552148970e-05f, -2.545114881e-05f, -2.538077059e-05f, -2.531035517e-05f, -2.523990269e-05f, -2.516941326e-05f, -2.509888700e-05f, -2.502832406e-05f,
+-2.495772454e-05f, -2.488708858e-05f, -2.481641630e-05f, -2.474570783e-05f, -2.467496329e-05f, -2.460418282e-05f, -2.453336653e-05f, -2.446251455e-05f, -2.439162701e-05f, -2.432070403e-05f,
+-2.424974574e-05f, -2.417875227e-05f, -2.410772374e-05f, -2.403666027e-05f, -2.396556201e-05f, -2.389442906e-05f, -2.382326156e-05f, -2.375205964e-05f, -2.368082341e-05f, -2.360955301e-05f,
+-2.353824857e-05f, -2.346691021e-05f, -2.339553805e-05f, -2.332413223e-05f, -2.325269287e-05f, -2.318122009e-05f, -2.310971403e-05f, -2.303817481e-05f, -2.296660256e-05f, -2.289499740e-05f,
+-2.282335947e-05f, -2.275168888e-05f, -2.267998577e-05f, -2.260825027e-05f, -2.253648249e-05f, -2.246468258e-05f, -2.239285065e-05f, -2.232098683e-05f, -2.224909125e-05f, -2.217716404e-05f,
+-2.210520533e-05f, -2.203321524e-05f, -2.196119389e-05f, -2.188914143e-05f, -2.181705797e-05f, -2.174494365e-05f, -2.167279858e-05f, -2.160062291e-05f, -2.152841675e-05f, -2.145618023e-05f,
+-2.138391349e-05f, -2.131161665e-05f, -2.123928984e-05f, -2.116693318e-05f, -2.109454681e-05f, -2.102213085e-05f, -2.094968543e-05f, -2.087721068e-05f, -2.080470673e-05f, -2.073217370e-05f,
+-2.065961173e-05f, -2.058702094e-05f, -2.051440146e-05f, -2.044175341e-05f, -2.036907694e-05f, -2.029637216e-05f, -2.022363920e-05f, -2.015087820e-05f, -2.007808928e-05f, -2.000527257e-05f,
+-1.993242820e-05f, -1.985955629e-05f, -1.978665698e-05f, -1.971373040e-05f, -1.964077667e-05f, -1.956779592e-05f, -1.949478829e-05f, -1.942175389e-05f, -1.934869287e-05f, -1.927560534e-05f,
+-1.920249144e-05f, -1.912935130e-05f, -1.905618504e-05f, -1.898299279e-05f, -1.890977470e-05f, -1.883653087e-05f, -1.876326144e-05f, -1.868996655e-05f, -1.861664632e-05f, -1.854330087e-05f,
+-1.846993035e-05f, -1.839653488e-05f, -1.832311458e-05f, -1.824966959e-05f, -1.817620004e-05f, -1.810270605e-05f, -1.802918776e-05f, -1.795564530e-05f, -1.788207879e-05f, -1.780848836e-05f,
+-1.773487415e-05f, -1.766123629e-05f, -1.758757490e-05f, -1.751389011e-05f, -1.744018205e-05f, -1.736645086e-05f, -1.729269666e-05f, -1.721891958e-05f, -1.714511976e-05f, -1.707129731e-05f,
+-1.699745238e-05f, -1.692358510e-05f, -1.684969558e-05f, -1.677578397e-05f, -1.670185038e-05f, -1.662789497e-05f, -1.655391784e-05f, -1.647991913e-05f, -1.640589898e-05f, -1.633185751e-05f,
+-1.625779486e-05f, -1.618371115e-05f, -1.610960651e-05f, -1.603548107e-05f, -1.596133497e-05f, -1.588716833e-05f, -1.581298129e-05f, -1.573877397e-05f, -1.566454650e-05f, -1.559029902e-05f,
+-1.551603166e-05f, -1.544174455e-05f, -1.536743781e-05f, -1.529311158e-05f, -1.521876598e-05f, -1.514440116e-05f, -1.507001723e-05f, -1.499561433e-05f, -1.492119259e-05f, -1.484675215e-05f,
+-1.477229312e-05f, -1.469781564e-05f, -1.462331985e-05f, -1.454880587e-05f, -1.447427384e-05f, -1.439972388e-05f, -1.432515612e-05f, -1.425057070e-05f, -1.417596775e-05f, -1.410134739e-05f,
+-1.402670977e-05f, -1.395205500e-05f, -1.387738322e-05f, -1.380269457e-05f, -1.372798916e-05f, -1.365326714e-05f, -1.357852863e-05f, -1.350377376e-05f, -1.342900267e-05f, -1.335421549e-05f,
+-1.327941234e-05f, -1.320459337e-05f, -1.312975869e-05f, -1.305490844e-05f, -1.298004275e-05f, -1.290516176e-05f, -1.283026559e-05f, -1.275535437e-05f, -1.268042824e-05f, -1.260548732e-05f,
+-1.253053176e-05f, -1.245556167e-05f, -1.238057719e-05f, -1.230557845e-05f, -1.223056559e-05f, -1.215553873e-05f, -1.208049800e-05f, -1.200544354e-05f, -1.193037547e-05f, -1.185529394e-05f,
+-1.178019906e-05f, -1.170509098e-05f, -1.162996981e-05f, -1.155483570e-05f, -1.147968877e-05f, -1.140452916e-05f, -1.132935700e-05f, -1.125417241e-05f, -1.117897554e-05f, -1.110376650e-05f,
+-1.102854544e-05f, -1.095331248e-05f, -1.087806776e-05f, -1.080281140e-05f, -1.072754354e-05f, -1.065226431e-05f, -1.057697383e-05f, -1.050167226e-05f, -1.042635970e-05f, -1.035103630e-05f,
+-1.027570218e-05f, -1.020035748e-05f, -1.012500233e-05f, -1.004963686e-05f, -9.974261201e-06f, -9.898875485e-06f, -9.823479843e-06f, -9.748074407e-06f, -9.672659308e-06f, -9.597234678e-06f,
+-9.521800648e-06f, -9.446357349e-06f, -9.370904914e-06f, -9.295443472e-06f, -9.219973157e-06f, -9.144494098e-06f, -9.069006429e-06f, -8.993510280e-06f, -8.918005782e-06f, -8.842493068e-06f,
+-8.766972268e-06f, -8.691443515e-06f, -8.615906939e-06f, -8.540362672e-06f, -8.464810845e-06f, -8.389251591e-06f, -8.313685040e-06f, -8.238111324e-06f, -8.162530575e-06f, -8.086942923e-06f,
+-8.011348501e-06f, -7.935747439e-06f, -7.860139870e-06f, -7.784525925e-06f, -7.708905735e-06f, -7.633279432e-06f, -7.557647147e-06f, -7.482009011e-06f, -7.406365157e-06f, -7.330715715e-06f,
+-7.255060817e-06f, -7.179400595e-06f, -7.103735180e-06f, -7.028064703e-06f, -6.952389296e-06f, -6.876709090e-06f, -6.801024217e-06f, -6.725334808e-06f, -6.649640994e-06f, -6.573942907e-06f,
+-6.498240679e-06f, -6.422534441e-06f, -6.346824323e-06f, -6.271110459e-06f, -6.195392978e-06f, -6.119672013e-06f, -6.043947694e-06f, -5.968220154e-06f, -5.892489523e-06f, -5.816755932e-06f,
+-5.741019514e-06f, -5.665280400e-06f, -5.589538720e-06f, -5.513794607e-06f, -5.438048191e-06f, -5.362299603e-06f, -5.286548976e-06f, -5.210796441e-06f, -5.135042128e-06f, -5.059286169e-06f,
+-4.983528695e-06f, -4.907769837e-06f, -4.832009728e-06f, -4.756248497e-06f, -4.680486276e-06f, -4.604723197e-06f, -4.528959391e-06f, -4.453194988e-06f, -4.377430120e-06f, -4.301664918e-06f,
+-4.225899514e-06f, -4.150134037e-06f, -4.074368621e-06f, -3.998603395e-06f, -3.922838491e-06f, -3.847074039e-06f, -3.771310172e-06f, -3.695547020e-06f, -3.619784713e-06f, -3.544023384e-06f,
+-3.468263163e-06f, -3.392504181e-06f, -3.316746569e-06f, -3.240990458e-06f, -3.165235979e-06f, -3.089483263e-06f, -3.013732441e-06f, -2.937983644e-06f, -2.862237002e-06f, -2.786492648e-06f,
+-2.710750710e-06f, -2.635011321e-06f, -2.559274611e-06f, -2.483540712e-06f, -2.407809753e-06f, -2.332081865e-06f, -2.256357180e-06f, -2.180635828e-06f, -2.104917940e-06f, -2.029203646e-06f,
+-1.953493077e-06f, -1.877786365e-06f, -1.802083638e-06f, -1.726385029e-06f, -1.650690668e-06f, -1.575000685e-06f, -1.499315211e-06f, -1.423634377e-06f, -1.347958313e-06f, -1.272287149e-06f,
+-1.196621016e-06f, -1.120960045e-06f, -1.045304365e-06f, -9.696541082e-07f, -8.940094040e-07f, -8.183703829e-07f, -7.427371754e-07f, -6.671099117e-07f, -5.914887222e-07f, -5.158737372e-07f,
+-4.402650869e-07f, -3.646629016e-07f, -2.890673115e-07f, -2.134784469e-07f, -1.378964377e-07f, -6.232141437e-08f, 1.324649315e-08f, 8.880715472e-08f, 1.643604403e-07f, 2.399062197e-07f,
+3.154443630e-07f, 3.909747403e-07f, 4.664972214e-07f, 5.420116766e-07f, 6.175179758e-07f, 6.930159891e-07f, 7.685055867e-07f, 8.439866388e-07f, 9.194590155e-07f, 9.949225871e-07f,
+1.070377224e-06f, 1.145822796e-06f, 1.221259173e-06f, 1.296686227e-06f, 1.372103827e-06f, 1.447511844e-06f, 1.522910148e-06f, 1.598298609e-06f, 1.673677098e-06f, 1.749045486e-06f,
+1.824403643e-06f, 1.899751440e-06f, 1.975088747e-06f, 2.050415435e-06f, 2.125731374e-06f, 2.201036435e-06f, 2.276330490e-06f, 2.351613408e-06f, 2.426885060e-06f, 2.502145318e-06f,
+2.577394051e-06f, 2.652631132e-06f, 2.727856430e-06f, 2.803069818e-06f, 2.878271165e-06f, 2.953460342e-06f, 3.028637222e-06f, 3.103801674e-06f, 3.178953571e-06f, 3.254092782e-06f,
+3.329219180e-06f, 3.404332635e-06f, 3.479433019e-06f, 3.554520203e-06f, 3.629594058e-06f, 3.704654456e-06f, 3.779701268e-06f, 3.854734366e-06f, 3.929753620e-06f, 4.004758903e-06f,
+4.079750086e-06f, 4.154727040e-06f, 4.229689638e-06f, 4.304637750e-06f, 4.379571249e-06f, 4.454490006e-06f, 4.529393892e-06f, 4.604282781e-06f, 4.679156543e-06f, 4.754015050e-06f,
+4.828858175e-06f, 4.903685789e-06f, 4.978497764e-06f, 5.053293972e-06f, 5.128074286e-06f, 5.202838577e-06f, 5.277586717e-06f, 5.352318580e-06f, 5.427034036e-06f, 5.501732958e-06f,
+5.576415219e-06f, 5.651080691e-06f, 5.725729246e-06f, 5.800360757e-06f, 5.874975096e-06f, 5.949572136e-06f, 6.024151749e-06f, 6.098713807e-06f, 6.173258184e-06f, 6.247784753e-06f,
+6.322293385e-06f, 6.396783953e-06f, 6.471256331e-06f, 6.545710392e-06f, 6.620146007e-06f, 6.694563051e-06f, 6.768961396e-06f, 6.843340915e-06f, 6.917701481e-06f, 6.992042968e-06f,
+7.066365248e-06f, 7.140668194e-06f, 7.214951681e-06f, 7.289215581e-06f, 7.363459768e-06f, 7.437684114e-06f, 7.511888494e-06f, 7.586072781e-06f, 7.660236849e-06f, 7.734380571e-06f,
+7.808503820e-06f, 7.882606471e-06f, 7.956688396e-06f, 8.030749471e-06f, 8.104789568e-06f, 8.178808562e-06f, 8.252806327e-06f, 8.326782735e-06f, 8.400737663e-06f, 8.474670982e-06f,
+8.548582569e-06f, 8.622472296e-06f, 8.696340038e-06f, 8.770185670e-06f, 8.844009065e-06f, 8.917810098e-06f, 8.991588644e-06f, 9.065344576e-06f, 9.139077770e-06f, 9.212788099e-06f,
+9.286475439e-06f, 9.360139665e-06f, 9.433780650e-06f, 9.507398270e-06f, 9.580992400e-06f, 9.654562914e-06f, 9.728109687e-06f, 9.801632595e-06f, 9.875131512e-06f, 9.948606314e-06f,
+1.002205688e-05f, 1.009548307e-05f, 1.016888478e-05f, 1.024226187e-05f, 1.031561422e-05f, 1.038894171e-05f, 1.046224421e-05f, 1.053552160e-05f, 1.060877375e-05f, 1.068200054e-05f,
+1.075520184e-05f, 1.082837753e-05f, 1.090152749e-05f, 1.097465159e-05f, 1.104774971e-05f, 1.112082172e-05f, 1.119386750e-05f, 1.126688692e-05f, 1.133987987e-05f, 1.141284622e-05f,
+1.148578584e-05f, 1.155869861e-05f, 1.163158440e-05f, 1.170444311e-05f, 1.177727459e-05f, 1.185007872e-05f, 1.192285539e-05f, 1.199560447e-05f, 1.206832584e-05f, 1.214101937e-05f,
+1.221368494e-05f, 1.228632242e-05f, 1.235893170e-05f, 1.243151265e-05f, 1.250406515e-05f, 1.257658908e-05f, 1.264908430e-05f, 1.272155071e-05f, 1.279398818e-05f, 1.286639657e-05f,
+1.293877578e-05f, 1.301112568e-05f, 1.308344615e-05f, 1.315573706e-05f, 1.322799830e-05f, 1.330022973e-05f, 1.337243125e-05f, 1.344460272e-05f, 1.351674402e-05f, 1.358885503e-05f,
+1.366093564e-05f, 1.373298571e-05f, 1.380500513e-05f, 1.387699378e-05f, 1.394895152e-05f, 1.402087825e-05f, 1.409277384e-05f, 1.416463817e-05f, 1.423647112e-05f, 1.430827256e-05f,
+1.438004237e-05f, 1.445178044e-05f, 1.452348665e-05f, 1.459516086e-05f, 1.466680296e-05f, 1.473841284e-05f, 1.480999036e-05f, 1.488153541e-05f, 1.495304786e-05f, 1.502452761e-05f,
+1.509597452e-05f, 1.516738847e-05f, 1.523876935e-05f, 1.531011704e-05f, 1.538143140e-05f, 1.545271234e-05f, 1.552395971e-05f, 1.559517341e-05f, 1.566635332e-05f, 1.573749930e-05f,
+1.580861126e-05f, 1.587968905e-05f, 1.595073257e-05f, 1.602174170e-05f, 1.609271631e-05f, 1.616365628e-05f, 1.623456150e-05f, 1.630543185e-05f, 1.637626721e-05f, 1.644706745e-05f,
+1.651783247e-05f, 1.658856213e-05f, 1.665925632e-05f, 1.672991493e-05f, 1.680053783e-05f, 1.687112490e-05f, 1.694167603e-05f, 1.701219110e-05f, 1.708266998e-05f, 1.715311256e-05f,
+1.722351873e-05f, 1.729388836e-05f, 1.736422133e-05f, 1.743451753e-05f, 1.750477683e-05f, 1.757499913e-05f, 1.764518430e-05f, 1.771533223e-05f, 1.778544279e-05f, 1.785551587e-05f,
+1.792555135e-05f, 1.799554911e-05f, 1.806550904e-05f, 1.813543102e-05f, 1.820531493e-05f, 1.827516065e-05f, 1.834496807e-05f, 1.841473707e-05f, 1.848446754e-05f, 1.855415934e-05f,
+1.862381238e-05f, 1.869342653e-05f, 1.876300167e-05f, 1.883253769e-05f, 1.890203447e-05f, 1.897149190e-05f, 1.904090986e-05f, 1.911028823e-05f, 1.917962689e-05f, 1.924892573e-05f,
+1.931818464e-05f, 1.938740350e-05f, 1.945658219e-05f, 1.952572059e-05f, 1.959481859e-05f, 1.966387608e-05f, 1.973289294e-05f, 1.980186904e-05f, 1.987080429e-05f, 1.993969856e-05f,
+2.000855174e-05f, 2.007736371e-05f, 2.014613435e-05f, 2.021486356e-05f, 2.028355121e-05f, 2.035219719e-05f, 2.042080139e-05f, 2.048936370e-05f, 2.055788399e-05f, 2.062636215e-05f,
+2.069479807e-05f, 2.076319164e-05f, 2.083154274e-05f, 2.089985125e-05f, 2.096811706e-05f, 2.103634006e-05f, 2.110452013e-05f, 2.117265717e-05f, 2.124075104e-05f, 2.130880165e-05f,
+2.137680888e-05f, 2.144477262e-05f, 2.151269274e-05f, 2.158056914e-05f, 2.164840171e-05f, 2.171619033e-05f, 2.178393489e-05f, 2.185163527e-05f, 2.191929136e-05f, 2.198690306e-05f,
+2.205447024e-05f, 2.212199279e-05f, 2.218947061e-05f, 2.225690358e-05f, 2.232429158e-05f, 2.239163450e-05f, 2.245893224e-05f, 2.252618468e-05f, 2.259339171e-05f, 2.266055321e-05f,
+2.272766908e-05f, 2.279473920e-05f, 2.286176345e-05f, 2.292874174e-05f, 2.299567395e-05f, 2.306255996e-05f, 2.312939967e-05f, 2.319619296e-05f, 2.326293972e-05f, 2.332963984e-05f,
+2.339629322e-05f, 2.346289973e-05f, 2.352945927e-05f, 2.359597173e-05f, 2.366243700e-05f, 2.372885496e-05f, 2.379522551e-05f, 2.386154854e-05f, 2.392782393e-05f, 2.399405158e-05f,
+2.406023137e-05f, 2.412636320e-05f, 2.419244695e-05f, 2.425848252e-05f, 2.432446980e-05f, 2.439040867e-05f, 2.445629904e-05f, 2.452214078e-05f, 2.458793378e-05f, 2.465367795e-05f,
+2.471937317e-05f, 2.478501933e-05f, 2.485061632e-05f, 2.491616404e-05f, 2.498166237e-05f, 2.504711120e-05f, 2.511251044e-05f, 2.517785996e-05f, 2.524315967e-05f, 2.530840944e-05f,
+2.537360919e-05f, 2.543875879e-05f, 2.550385813e-05f, 2.556890712e-05f, 2.563390564e-05f, 2.569885359e-05f, 2.576375086e-05f, 2.582859733e-05f, 2.589339291e-05f, 2.595813748e-05f,
+2.602283094e-05f, 2.608747319e-05f, 2.615206411e-05f, 2.621660359e-05f, 2.628109154e-05f, 2.634552784e-05f, 2.640991239e-05f, 2.647424508e-05f, 2.653852580e-05f, 2.660275446e-05f,
+2.666693093e-05f, 2.673105513e-05f, 2.679512693e-05f, 2.685914624e-05f, 2.692311294e-05f, 2.698702694e-05f, 2.705088813e-05f, 2.711469640e-05f, 2.717845164e-05f, 2.724215376e-05f,
+2.730580264e-05f, 2.736939818e-05f, 2.743294028e-05f, 2.749642884e-05f, 2.755986373e-05f, 2.762324487e-05f, 2.768657215e-05f, 2.774984546e-05f, 2.781306470e-05f, 2.787622977e-05f,
+2.793934055e-05f, 2.800239695e-05f, 2.806539887e-05f, 2.812834619e-05f, 2.819123882e-05f, 2.825407664e-05f, 2.831685957e-05f, 2.837958749e-05f, 2.844226030e-05f, 2.850487790e-05f,
+2.856744019e-05f, 2.862994705e-05f, 2.869239840e-05f, 2.875479412e-05f, 2.881713411e-05f, 2.887941828e-05f, 2.894164651e-05f, 2.900381871e-05f, 2.906593478e-05f, 2.912799461e-05f,
+2.918999809e-05f, 2.925194514e-05f, 2.931383564e-05f, 2.937566950e-05f, 2.943744660e-05f, 2.949916686e-05f, 2.956083017e-05f, 2.962243643e-05f, 2.968398554e-05f, 2.974547739e-05f,
+2.980691189e-05f, 2.986828893e-05f, 2.992960842e-05f, 2.999087025e-05f, 3.005207433e-05f, 3.011322055e-05f, 3.017430881e-05f, 3.023533901e-05f, 3.029631105e-05f, 3.035722484e-05f,
+3.041808027e-05f, 3.047887724e-05f, 3.053961565e-05f, 3.060029541e-05f, 3.066091641e-05f, 3.072147856e-05f, 3.078198175e-05f, 3.084242589e-05f, 3.090281088e-05f, 3.096313661e-05f,
+3.102340300e-05f, 3.108360993e-05f, 3.114375732e-05f, 3.120384507e-05f, 3.126387307e-05f, 3.132384123e-05f, 3.138374945e-05f, 3.144359763e-05f, 3.150338568e-05f, 3.156311349e-05f,
+3.162278097e-05f, 3.168238803e-05f, 3.174193455e-05f, 3.180142046e-05f, 3.186084564e-05f, 3.192021001e-05f, 3.197951346e-05f, 3.203875591e-05f, 3.209793724e-05f, 3.215705737e-05f,
+3.221611620e-05f, 3.227511363e-05f, 3.233404957e-05f, 3.239292393e-05f, 3.245173659e-05f, 3.251048748e-05f, 3.256917648e-05f, 3.262780352e-05f, 3.268636849e-05f, 3.274487129e-05f,
+3.280331184e-05f, 3.286169003e-05f, 3.292000577e-05f, 3.297825897e-05f, 3.303644953e-05f, 3.309457735e-05f, 3.315264235e-05f, 3.321064443e-05f, 3.326858349e-05f, 3.332645944e-05f,
+3.338427218e-05f, 3.344202162e-05f, 3.349970768e-05f, 3.355733024e-05f, 3.361488922e-05f, 3.367238454e-05f, 3.372981608e-05f, 3.378718376e-05f, 3.384448749e-05f, 3.390172717e-05f,
+3.395890271e-05f, 3.401601402e-05f, 3.407306101e-05f, 3.413004357e-05f, 3.418696163e-05f, 3.424381508e-05f, 3.430060384e-05f, 3.435732782e-05f, 3.441398691e-05f, 3.447058103e-05f,
+3.452711009e-05f, 3.458357400e-05f, 3.463997266e-05f, 3.469630599e-05f, 3.475257389e-05f, 3.480877626e-05f, 3.486491303e-05f, 3.492098410e-05f, 3.497698937e-05f, 3.503292877e-05f,
+3.508880219e-05f, 3.514460955e-05f, 3.520035075e-05f, 3.525602571e-05f, 3.531163434e-05f, 3.536717654e-05f, 3.542265223e-05f, 3.547806132e-05f, 3.553340372e-05f, 3.558867933e-05f,
+3.564388808e-05f, 3.569902986e-05f, 3.575410459e-05f, 3.580911219e-05f, 3.586405256e-05f, 3.591892561e-05f, 3.597373127e-05f, 3.602846942e-05f, 3.608314000e-05f, 3.613774291e-05f,
+3.619227806e-05f, 3.624674537e-05f, 3.630114475e-05f, 3.635547610e-05f, 3.640973935e-05f, 3.646393441e-05f, 3.651806118e-05f, 3.657211958e-05f, 3.662610953e-05f, 3.668003093e-05f,
+3.673388371e-05f, 3.678766777e-05f, 3.684138302e-05f, 3.689502939e-05f, 3.694860678e-05f, 3.700211511e-05f, 3.705555429e-05f, 3.710892424e-05f, 3.716222486e-05f, 3.721545609e-05f,
+3.726861782e-05f, 3.732170998e-05f, 3.737473248e-05f, 3.742768523e-05f, 3.748056815e-05f, 3.753338116e-05f, 3.758612416e-05f, 3.763879708e-05f, 3.769139983e-05f, 3.774393233e-05f,
+3.779639449e-05f, 3.784878623e-05f, 3.790110746e-05f, 3.795335810e-05f, 3.800553807e-05f, 3.805764729e-05f, 3.810968566e-05f, 3.816165311e-05f, 3.821354955e-05f, 3.826537491e-05f,
+3.831712909e-05f, 3.836881201e-05f, 3.842042360e-05f, 3.847196377e-05f, 3.852343244e-05f, 3.857482952e-05f, 3.862615493e-05f, 3.867740860e-05f, 3.872859043e-05f, 3.877970035e-05f,
+3.883073828e-05f, 3.888170414e-05f, 3.893259783e-05f, 3.898341929e-05f, 3.903416843e-05f, 3.908484517e-05f, 3.913544944e-05f, 3.918598113e-05f, 3.923644019e-05f, 3.928682653e-05f,
+3.933714006e-05f, 3.938738072e-05f, 3.943754841e-05f, 3.948764305e-05f, 3.953766458e-05f, 3.958761291e-05f, 3.963748795e-05f, 3.968728964e-05f, 3.973701788e-05f, 3.978667261e-05f,
+3.983625374e-05f, 3.988576120e-05f, 3.993519490e-05f, 3.998455476e-05f, 4.003384072e-05f, 4.008305269e-05f, 4.013219059e-05f, 4.018125435e-05f, 4.023024388e-05f, 4.027915911e-05f,
+4.032799996e-05f, 4.037676636e-05f, 4.042545822e-05f, 4.047407548e-05f, 4.052261805e-05f, 4.057108585e-05f, 4.061947881e-05f, 4.066779686e-05f, 4.071603991e-05f, 4.076420789e-05f,
+4.081230073e-05f, 4.086031834e-05f, 4.090826066e-05f, 4.095612760e-05f, 4.100391910e-05f, 4.105163507e-05f, 4.109927543e-05f, 4.114684013e-05f, 4.119432907e-05f, 4.124174219e-05f,
+4.128907941e-05f, 4.133634065e-05f, 4.138352585e-05f, 4.143063492e-05f, 4.147766779e-05f, 4.152462439e-05f, 4.157150465e-05f, 4.161830848e-05f, 4.166503582e-05f, 4.171168660e-05f,
+4.175826074e-05f, 4.180475816e-05f, 4.185117879e-05f, 4.189752257e-05f, 4.194378941e-05f, 4.198997925e-05f, 4.203609201e-05f, 4.208212763e-05f, 4.212808601e-05f, 4.217396711e-05f,
+4.221977084e-05f, 4.226549713e-05f, 4.231114591e-05f, 4.235671711e-05f, 4.240221066e-05f, 4.244762648e-05f, 4.249296450e-05f, 4.253822467e-05f, 4.258340689e-05f, 4.262851110e-05f,
+4.267353724e-05f, 4.271848523e-05f, 4.276335500e-05f, 4.280814648e-05f, 4.285285960e-05f, 4.289749429e-05f, 4.294205049e-05f, 4.298652811e-05f, 4.303092710e-05f, 4.307524738e-05f,
+4.311948888e-05f, 4.316365154e-05f, 4.320773528e-05f, 4.325174004e-05f, 4.329566575e-05f, 4.333951234e-05f, 4.338327974e-05f, 4.342696789e-05f, 4.347057671e-05f, 4.351410614e-05f,
+4.355755611e-05f, 4.360092655e-05f, 4.364421740e-05f, 4.368742858e-05f, 4.373056004e-05f, 4.377361170e-05f, 4.381658349e-05f, 4.385947536e-05f, 4.390228723e-05f, 4.394501903e-05f,
+4.398767071e-05f, 4.403024219e-05f, 4.407273342e-05f, 4.411514431e-05f, 4.415747481e-05f, 4.419972486e-05f, 4.424189438e-05f, 4.428398331e-05f, 4.432599159e-05f, 4.436791914e-05f,
+4.440976592e-05f, 4.445153185e-05f, 4.449321686e-05f, 4.453482089e-05f, 4.457634389e-05f, 4.461778578e-05f, 4.465914650e-05f, 4.470042599e-05f, 4.474162417e-05f, 4.478274100e-05f,
+4.482377641e-05f, 4.486473033e-05f, 4.490560270e-05f, 4.494639345e-05f, 4.498710253e-05f, 4.502772987e-05f, 4.506827541e-05f, 4.510873909e-05f, 4.514912084e-05f, 4.518942061e-05f,
+4.522963832e-05f, 4.526977393e-05f, 4.530982736e-05f, 4.534979856e-05f, 4.538968746e-05f, 4.542949401e-05f, 4.546921814e-05f, 4.550885979e-05f, 4.554841891e-05f, 4.558789542e-05f,
+4.562728928e-05f, 4.566660041e-05f, 4.570582877e-05f, 4.574497428e-05f, 4.578403690e-05f, 4.582301655e-05f, 4.586191319e-05f, 4.590072675e-05f, 4.593945717e-05f, 4.597810439e-05f,
+4.601666836e-05f, 4.605514902e-05f, 4.609354630e-05f, 4.613186015e-05f, 4.617009051e-05f, 4.620823733e-05f, 4.624630054e-05f, 4.628428008e-05f, 4.632217591e-05f, 4.635998795e-05f,
+4.639771616e-05f, 4.643536048e-05f, 4.647292084e-05f, 4.651039720e-05f, 4.654778950e-05f, 4.658509767e-05f, 4.662232167e-05f, 4.665946143e-05f, 4.669651691e-05f, 4.673348803e-05f,
+4.677037476e-05f, 4.680717703e-05f, 4.684389478e-05f, 4.688052797e-05f, 4.691707654e-05f, 4.695354042e-05f, 4.698991957e-05f, 4.702621393e-05f, 4.706242345e-05f, 4.709854808e-05f,
+4.713458775e-05f, 4.717054241e-05f, 4.720641201e-05f, 4.724219650e-05f, 4.727789582e-05f, 4.731350992e-05f, 4.734903874e-05f, 4.738448224e-05f, 4.741984035e-05f, 4.745511303e-05f,
+4.749030023e-05f, 4.752540188e-05f, 4.756041794e-05f, 4.759534835e-05f, 4.763019307e-05f, 4.766495204e-05f, 4.769962520e-05f, 4.773421252e-05f, 4.776871393e-05f, 4.780312938e-05f,
+4.783745883e-05f, 4.787170222e-05f, 4.790585950e-05f, 4.793993061e-05f, 4.797391552e-05f, 4.800781417e-05f, 4.804162650e-05f, 4.807535247e-05f, 4.810899203e-05f, 4.814254513e-05f,
+4.817601172e-05f, 4.820939174e-05f, 4.824268515e-05f, 4.827589191e-05f, 4.830901195e-05f, 4.834204524e-05f, 4.837499172e-05f, 4.840785134e-05f, 4.844062406e-05f, 4.847330982e-05f,
+4.850590859e-05f, 4.853842030e-05f, 4.857084492e-05f, 4.860318240e-05f, 4.863543268e-05f, 4.866759572e-05f, 4.869967148e-05f, 4.873165990e-05f, 4.876356094e-05f, 4.879537455e-05f,
+4.882710069e-05f, 4.885873931e-05f, 4.889029036e-05f, 4.892175380e-05f, 4.895312957e-05f, 4.898441764e-05f, 4.901561796e-05f, 4.904673049e-05f, 4.907775517e-05f, 4.910869196e-05f,
+4.913954083e-05f, 4.917030171e-05f, 4.920097457e-05f, 4.923155937e-05f, 4.926205605e-05f, 4.929246458e-05f, 4.932278491e-05f, 4.935301700e-05f, 4.938316079e-05f, 4.941321626e-05f,
+4.944318335e-05f, 4.947306202e-05f, 4.950285224e-05f, 4.953255394e-05f, 4.956216710e-05f, 4.959169168e-05f, 4.962112761e-05f, 4.965047488e-05f, 4.967973342e-05f, 4.970890321e-05f,
+4.973798419e-05f, 4.976697633e-05f, 4.979587959e-05f, 4.982469392e-05f, 4.985341928e-05f, 4.988205564e-05f, 4.991060294e-05f, 4.993906116e-05f, 4.996743024e-05f, 4.999571015e-05f,
+5.002390085e-05f, 5.005200229e-05f, 5.008001445e-05f, 5.010793727e-05f, 5.013577072e-05f, 5.016351476e-05f, 5.019116934e-05f, 5.021873444e-05f, 5.024621001e-05f, 5.027359600e-05f,
+5.030089240e-05f, 5.032809914e-05f, 5.035521620e-05f, 5.038224354e-05f, 5.040918112e-05f, 5.043602890e-05f, 5.046278684e-05f, 5.048945491e-05f, 5.051603307e-05f, 5.054252127e-05f,
+5.056891949e-05f, 5.059522769e-05f, 5.062144583e-05f, 5.064757387e-05f, 5.067361178e-05f, 5.069955952e-05f, 5.072541705e-05f, 5.075118434e-05f, 5.077686135e-05f, 5.080244805e-05f,
+5.082794440e-05f, 5.085335036e-05f, 5.087866590e-05f, 5.090389099e-05f, 5.092902559e-05f, 5.095406966e-05f, 5.097902317e-05f, 5.100388609e-05f, 5.102865838e-05f, 5.105334001e-05f,
+5.107793094e-05f, 5.110243114e-05f, 5.112684058e-05f, 5.115115922e-05f, 5.117538703e-05f, 5.119952397e-05f, 5.122357002e-05f, 5.124752514e-05f, 5.127138929e-05f, 5.129516245e-05f,
+5.131884458e-05f, 5.134243565e-05f, 5.136593563e-05f, 5.138934448e-05f, 5.141266218e-05f, 5.143588869e-05f, 5.145902399e-05f, 5.148206803e-05f, 5.150502079e-05f, 5.152788224e-05f,
+5.155065235e-05f, 5.157333108e-05f, 5.159591841e-05f, 5.161841431e-05f, 5.164081874e-05f, 5.166313168e-05f, 5.168535309e-05f, 5.170748295e-05f, 5.172952122e-05f, 5.175146789e-05f,
+5.177332291e-05f, 5.179508626e-05f, 5.181675791e-05f, 5.183833783e-05f, 5.185982600e-05f, 5.188122238e-05f, 5.190252694e-05f, 5.192373967e-05f, 5.194486053e-05f, 5.196588949e-05f,
+5.198682652e-05f, 5.200767160e-05f, 5.202842471e-05f, 5.204908580e-05f, 5.206965487e-05f, 5.209013187e-05f, 5.211051679e-05f, 5.213080959e-05f, 5.215101026e-05f, 5.217111876e-05f,
+5.219113507e-05f, 5.221105916e-05f, 5.223089101e-05f, 5.225063059e-05f, 5.227027787e-05f, 5.228983284e-05f, 5.230929547e-05f, 5.232866573e-05f, 5.234794359e-05f, 5.236712904e-05f,
+5.238622204e-05f, 5.240522258e-05f, 5.242413063e-05f, 5.244294617e-05f, 5.246166917e-05f, 5.248029961e-05f, 5.249883746e-05f, 5.251728271e-05f, 5.253563532e-05f, 5.255389529e-05f,
+5.257206257e-05f, 5.259013716e-05f, 5.260811903e-05f, 5.262600816e-05f, 5.264380452e-05f, 5.266150809e-05f, 5.267911885e-05f, 5.269663679e-05f, 5.271406187e-05f, 5.273139408e-05f,
+5.274863340e-05f, 5.276577980e-05f, 5.278283327e-05f, 5.279979378e-05f, 5.281666131e-05f, 5.283343585e-05f, 5.285011737e-05f, 5.286670585e-05f, 5.288320128e-05f, 5.289960363e-05f,
+5.291591289e-05f, 5.293212903e-05f, 5.294825204e-05f, 5.296428189e-05f, 5.298021858e-05f, 5.299606207e-05f, 5.301181236e-05f, 5.302746941e-05f, 5.304303323e-05f, 5.305850378e-05f,
+5.307388105e-05f, 5.308916502e-05f, 5.310435567e-05f, 5.311945299e-05f, 5.313445696e-05f, 5.314936757e-05f, 5.316418479e-05f, 5.317890861e-05f, 5.319353901e-05f, 5.320807598e-05f,
+5.322251950e-05f, 5.323686955e-05f, 5.325112612e-05f, 5.326528919e-05f, 5.327935876e-05f, 5.329333479e-05f, 5.330721728e-05f, 5.332100621e-05f, 5.333470157e-05f, 5.334830334e-05f,
+5.336181150e-05f, 5.337522605e-05f, 5.338854697e-05f, 5.340177425e-05f, 5.341490786e-05f, 5.342794781e-05f, 5.344089406e-05f, 5.345374662e-05f, 5.346650547e-05f, 5.347917058e-05f,
+5.349174196e-05f, 5.350421959e-05f, 5.351660346e-05f, 5.352889354e-05f, 5.354108984e-05f, 5.355319234e-05f, 5.356520103e-05f, 5.357711589e-05f, 5.358893691e-05f, 5.360066409e-05f,
+5.361229741e-05f, 5.362383686e-05f, 5.363528242e-05f, 5.364663410e-05f, 5.365789187e-05f, 5.366905573e-05f, 5.368012567e-05f, 5.369110168e-05f, 5.370198374e-05f, 5.371277185e-05f,
+5.372346600e-05f, 5.373406617e-05f, 5.374457237e-05f, 5.375498457e-05f, 5.376530278e-05f, 5.377552697e-05f, 5.378565715e-05f, 5.379569331e-05f, 5.380563543e-05f, 5.381548351e-05f,
+5.382523754e-05f, 5.383489751e-05f, 5.384446342e-05f, 5.385393525e-05f, 5.386331301e-05f, 5.387259667e-05f, 5.388178625e-05f, 5.389088172e-05f, 5.389988309e-05f, 5.390879034e-05f,
+5.391760347e-05f, 5.392632247e-05f, 5.393494734e-05f, 5.394347807e-05f, 5.395191466e-05f, 5.396025710e-05f, 5.396850538e-05f, 5.397665950e-05f, 5.398471946e-05f, 5.399268524e-05f,
+5.400055685e-05f, 5.400833428e-05f, 5.401601753e-05f, 5.402360659e-05f, 5.403110146e-05f, 5.403850213e-05f, 5.404580860e-05f, 5.405302087e-05f, 5.406013892e-05f, 5.406716277e-05f,
+5.407409241e-05f, 5.408092783e-05f, 5.408766903e-05f, 5.409431601e-05f, 5.410086877e-05f, 5.410732730e-05f, 5.411369160e-05f, 5.411996167e-05f, 5.412613751e-05f, 5.413221911e-05f,
+5.413820648e-05f, 5.414409962e-05f, 5.414989851e-05f, 5.415560317e-05f, 5.416121359e-05f, 5.416672976e-05f, 5.417215170e-05f, 5.417747940e-05f, 5.418271285e-05f, 5.418785207e-05f,
+5.419289704e-05f, 5.419784778e-05f, 5.420270427e-05f, 5.420746653e-05f, 5.421213454e-05f, 5.421670832e-05f, 5.422118787e-05f, 5.422557318e-05f, 5.422986425e-05f, 5.423406110e-05f,
+5.423816371e-05f, 5.424217209e-05f, 5.424608625e-05f, 5.424990619e-05f, 5.425363191e-05f, 5.425726340e-05f, 5.426080069e-05f, 5.426424375e-05f, 5.426759261e-05f, 5.427084727e-05f,
+5.427400772e-05f, 5.427707397e-05f, 5.428004602e-05f, 5.428292389e-05f, 5.428570757e-05f, 5.428839706e-05f, 5.429099237e-05f, 5.429349352e-05f, 5.429590049e-05f, 5.429821329e-05f,
+5.430043194e-05f, 5.430255644e-05f, 5.430458678e-05f, 5.430652298e-05f, 5.430836505e-05f, 5.431011298e-05f, 5.431176678e-05f, 5.431332647e-05f, 5.431479205e-05f, 5.431616351e-05f,
+5.431744088e-05f, 5.431862416e-05f, 5.431971334e-05f, 5.432070845e-05f, 5.432160949e-05f, 5.432241647e-05f, 5.432312939e-05f, 5.432374826e-05f, 5.432427309e-05f, 5.432470388e-05f,
+5.432504066e-05f, 5.432528342e-05f, 5.432543217e-05f, 5.432548692e-05f, 5.432544768e-05f, 5.432531447e-05f, 5.432508728e-05f, 5.432476613e-05f, 5.432435103e-05f, 5.432384199e-05f,
+5.432323902e-05f, 5.432254212e-05f, 5.432175132e-05f, 5.432086661e-05f, 5.431988801e-05f, 5.431881553e-05f, 5.431764919e-05f, 5.431638898e-05f, 5.431503493e-05f, 5.431358704e-05f,
+5.431204533e-05f, 5.431040981e-05f, 5.430868049e-05f, 5.430685738e-05f, 5.430494049e-05f, 5.430292984e-05f, 5.430082544e-05f, 5.429862730e-05f, 5.429633543e-05f, 5.429394985e-05f,
+5.429147058e-05f, 5.428889761e-05f, 5.428623098e-05f, 5.428347068e-05f, 5.428061674e-05f, 5.427766917e-05f, 5.427462798e-05f, 5.427149319e-05f, 5.426826481e-05f, 5.426494286e-05f,
+5.426152735e-05f, 5.425801829e-05f, 5.425441571e-05f, 5.425071961e-05f, 5.424693002e-05f, 5.424304694e-05f, 5.423907039e-05f, 5.423500039e-05f, 5.423083696e-05f, 5.422658011e-05f,
+5.422222986e-05f, 5.421778622e-05f, 5.421324921e-05f, 5.420861885e-05f, 5.420389515e-05f, 5.419907814e-05f, 5.419416782e-05f, 5.418916422e-05f, 5.418406736e-05f, 5.417887725e-05f,
+5.417359390e-05f, 5.416821735e-05f, 5.416274760e-05f, 5.415718468e-05f, 5.415152860e-05f, 5.414577938e-05f, 5.413993705e-05f, 5.413400161e-05f, 5.412797310e-05f, 5.412185152e-05f,
+5.411563690e-05f, 5.410932926e-05f, 5.410292862e-05f, 5.409643500e-05f, 5.408984841e-05f, 5.408316889e-05f, 5.407639644e-05f, 5.406953110e-05f, 5.406257287e-05f, 5.405552178e-05f,
+5.404837786e-05f, 5.404114113e-05f, 5.403381159e-05f, 5.402638929e-05f, 5.401887424e-05f, 5.401126645e-05f, 5.400356596e-05f, 5.399577279e-05f, 5.398788695e-05f, 5.397990847e-05f,
+5.397183738e-05f, 5.396367369e-05f, 5.395541743e-05f, 5.394706863e-05f, 5.393862730e-05f, 5.393009347e-05f, 5.392146716e-05f, 5.391274840e-05f, 5.390393721e-05f, 5.389503361e-05f,
+5.388603764e-05f, 5.387694931e-05f, 5.386776864e-05f, 5.385849567e-05f, 5.384913042e-05f, 5.383967291e-05f, 5.383012317e-05f, 5.382048122e-05f, 5.381074710e-05f, 5.380092081e-05f,
+5.379100240e-05f, 5.378099189e-05f, 5.377088930e-05f, 5.376069466e-05f, 5.375040800e-05f, 5.374002933e-05f, 5.372955870e-05f, 5.371899613e-05f, 5.370834164e-05f, 5.369759526e-05f,
+5.368675702e-05f, 5.367582694e-05f, 5.366480506e-05f, 5.365369141e-05f, 5.364248600e-05f, 5.363118887e-05f, 5.361980004e-05f, 5.360831956e-05f, 5.359674743e-05f, 5.358508370e-05f,
+5.357332839e-05f, 5.356148153e-05f, 5.354954316e-05f, 5.353751329e-05f, 5.352539196e-05f, 5.351317920e-05f, 5.350087504e-05f, 5.348847951e-05f, 5.347599264e-05f, 5.346341446e-05f,
+5.345074500e-05f, 5.343798429e-05f, 5.342513236e-05f, 5.341218925e-05f, 5.339915498e-05f, 5.338602959e-05f, 5.337281310e-05f, 5.335950555e-05f, 5.334610698e-05f, 5.333261741e-05f,
+5.331903687e-05f, 5.330536540e-05f, 5.329160302e-05f, 5.327774979e-05f, 5.326380571e-05f, 5.324977083e-05f, 5.323564519e-05f, 5.322142881e-05f, 5.320712172e-05f, 5.319272397e-05f,
+5.317823558e-05f, 5.316365659e-05f, 5.314898703e-05f, 5.313422694e-05f, 5.311937635e-05f, 5.310443530e-05f, 5.308940381e-05f, 5.307428193e-05f, 5.305906969e-05f, 5.304376712e-05f,
+5.302837426e-05f, 5.301289115e-05f, 5.299731782e-05f, 5.298165430e-05f, 5.296590064e-05f, 5.295005687e-05f, 5.293412301e-05f, 5.291809912e-05f, 5.290198523e-05f, 5.288578137e-05f,
+5.286948758e-05f, 5.285310389e-05f, 5.283663035e-05f, 5.282006699e-05f, 5.280341385e-05f, 5.278667097e-05f, 5.276983838e-05f, 5.275291612e-05f, 5.273590423e-05f, 5.271880274e-05f,
+5.270161170e-05f, 5.268433115e-05f, 5.266696112e-05f, 5.264950165e-05f, 5.263195278e-05f, 5.261431455e-05f, 5.259658700e-05f, 5.257877016e-05f, 5.256086409e-05f, 5.254286880e-05f,
+5.252478436e-05f, 5.250661079e-05f, 5.248834814e-05f, 5.246999644e-05f, 5.245155574e-05f, 5.243302608e-05f, 5.241440750e-05f, 5.239570004e-05f, 5.237690373e-05f, 5.235801863e-05f,
+5.233904476e-05f, 5.231998219e-05f, 5.230083093e-05f, 5.228159105e-05f, 5.226226257e-05f, 5.224284554e-05f, 5.222334001e-05f, 5.220374601e-05f, 5.218406359e-05f, 5.216429278e-05f,
+5.214443364e-05f, 5.212448621e-05f, 5.210445053e-05f, 5.208432663e-05f, 5.206411458e-05f, 5.204381440e-05f, 5.202342614e-05f, 5.200294985e-05f, 5.198238557e-05f, 5.196173335e-05f,
+5.194099322e-05f, 5.192016524e-05f, 5.189924944e-05f, 5.187824588e-05f, 5.185715459e-05f, 5.183597563e-05f, 5.181470903e-05f, 5.179335484e-05f, 5.177191311e-05f, 5.175038389e-05f,
+5.172876721e-05f, 5.170706313e-05f, 5.168527169e-05f, 5.166339293e-05f, 5.164142691e-05f, 5.161937367e-05f, 5.159723326e-05f, 5.157500571e-05f, 5.155269109e-05f, 5.153028944e-05f,
+5.150780079e-05f, 5.148522521e-05f, 5.146256274e-05f, 5.143981343e-05f, 5.141697732e-05f, 5.139405446e-05f, 5.137104490e-05f, 5.134794869e-05f, 5.132476588e-05f, 5.130149651e-05f,
+5.127814063e-05f, 5.125469830e-05f, 5.123116956e-05f, 5.120755446e-05f, 5.118385305e-05f, 5.116006538e-05f, 5.113619149e-05f, 5.111223145e-05f, 5.108818529e-05f, 5.106405307e-05f,
+5.103983484e-05f, 5.101553065e-05f, 5.099114054e-05f, 5.096666458e-05f, 5.094210280e-05f, 5.091745527e-05f, 5.089272202e-05f, 5.086790312e-05f, 5.084299862e-05f, 5.081800855e-05f,
+5.079293299e-05f, 5.076777197e-05f, 5.074252555e-05f, 5.071719379e-05f, 5.069177673e-05f, 5.066627442e-05f, 5.064068693e-05f, 5.061501429e-05f, 5.058925657e-05f, 5.056341381e-05f,
+5.053748608e-05f, 5.051147342e-05f, 5.048537588e-05f, 5.045919352e-05f, 5.043292640e-05f, 5.040657456e-05f, 5.038013806e-05f, 5.035361696e-05f, 5.032701130e-05f, 5.030032115e-05f,
+5.027354655e-05f, 5.024668757e-05f, 5.021974425e-05f, 5.019271665e-05f, 5.016560482e-05f, 5.013840883e-05f, 5.011112872e-05f, 5.008376456e-05f, 5.005631639e-05f, 5.002878427e-05f,
+5.000116826e-05f, 4.997346841e-05f, 4.994568479e-05f, 4.991781744e-05f, 4.988986642e-05f, 4.986183179e-05f, 4.983371361e-05f, 4.980551193e-05f, 4.977722680e-05f, 4.974885830e-05f,
+4.972040647e-05f, 4.969187136e-05f, 4.966325305e-05f, 4.963455158e-05f, 4.960576701e-05f, 4.957689941e-05f, 4.954794882e-05f, 4.951891531e-05f, 4.948979894e-05f, 4.946059976e-05f,
+4.943131783e-05f, 4.940195322e-05f, 4.937250597e-05f, 4.934297615e-05f, 4.931336382e-05f, 4.928366904e-05f, 4.925389186e-05f, 4.922403235e-05f, 4.919409057e-05f, 4.916406657e-05f,
+4.913396041e-05f, 4.910377216e-05f, 4.907350188e-05f, 4.904314962e-05f, 4.901271544e-05f, 4.898219942e-05f, 4.895160160e-05f, 4.892092205e-05f, 4.889016083e-05f, 4.885931800e-05f,
+4.882839362e-05f, 4.879738775e-05f, 4.876630046e-05f, 4.873513181e-05f, 4.870388185e-05f, 4.867255065e-05f, 4.864113828e-05f, 4.860964479e-05f, 4.857807024e-05f, 4.854641471e-05f,
+4.851467824e-05f, 4.848286091e-05f, 4.845096278e-05f, 4.841898391e-05f, 4.838692436e-05f, 4.835478420e-05f, 4.832256349e-05f, 4.829026229e-05f, 4.825788067e-05f, 4.822541870e-05f,
+4.819287642e-05f, 4.816025392e-05f, 4.812755125e-05f, 4.809476847e-05f, 4.806190566e-05f, 4.802896288e-05f, 4.799594019e-05f, 4.796283765e-05f, 4.792965534e-05f, 4.789639331e-05f,
+4.786305163e-05f, 4.782963037e-05f, 4.779612960e-05f, 4.776254937e-05f, 4.772888976e-05f, 4.769515083e-05f, 4.766133264e-05f, 4.762743526e-05f, 4.759345877e-05f, 4.755940322e-05f,
+4.752526868e-05f, 4.749105522e-05f, 4.745676291e-05f, 4.742239180e-05f, 4.738794198e-05f, 4.735341350e-05f, 4.731880644e-05f, 4.728412086e-05f, 4.724935683e-05f, 4.721451441e-05f,
+4.717959368e-05f, 4.714459470e-05f, 4.710951755e-05f, 4.707436228e-05f, 4.703912897e-05f, 4.700381768e-05f, 4.696842849e-05f, 4.693296147e-05f, 4.689741667e-05f, 4.686179418e-05f,
+4.682609406e-05f, 4.679031638e-05f, 4.675446120e-05f, 4.671852861e-05f, 4.668251866e-05f, 4.664643144e-05f, 4.661026700e-05f, 4.657402541e-05f, 4.653770676e-05f, 4.650131111e-05f,
+4.646483852e-05f, 4.642828908e-05f, 4.639166284e-05f, 4.635495989e-05f, 4.631818029e-05f, 4.628132411e-05f, 4.624439142e-05f, 4.620738230e-05f, 4.617029682e-05f, 4.613313505e-05f,
+4.609589706e-05f, 4.605858292e-05f, 4.602119270e-05f, 4.598372648e-05f, 4.594618433e-05f, 4.590856632e-05f, 4.587087252e-05f, 4.583310301e-05f, 4.579525785e-05f, 4.575733713e-05f,
+4.571934091e-05f, 4.568126927e-05f, 4.564312228e-05f, 4.560490001e-05f, 4.556660254e-05f, 4.552822994e-05f, 4.548978228e-05f, 4.545125965e-05f, 4.541266210e-05f, 4.537398972e-05f,
+4.533524258e-05f, 4.529642076e-05f, 4.525752432e-05f, 4.521855335e-05f, 4.517950791e-05f, 4.514038809e-05f, 4.510119396e-05f, 4.506192559e-05f, 4.502258305e-05f, 4.498316643e-05f,
+4.494367580e-05f, 4.490411123e-05f, 4.486447281e-05f, 4.482476059e-05f, 4.478497467e-05f, 4.474511512e-05f, 4.470518201e-05f, 4.466517542e-05f, 4.462509542e-05f, 4.458494210e-05f,
+4.454471552e-05f, 4.450441578e-05f, 4.446404293e-05f, 4.442359706e-05f, 4.438307825e-05f, 4.434248658e-05f, 4.430182211e-05f, 4.426108494e-05f, 4.422027513e-05f, 4.417939276e-05f,
+4.413843791e-05f, 4.409741067e-05f, 4.405631110e-05f, 4.401513928e-05f, 4.397389530e-05f, 4.393257923e-05f, 4.389119115e-05f, 4.384973115e-05f, 4.380819928e-05f, 4.376659565e-05f,
+4.372492032e-05f, 4.368317337e-05f, 4.364135489e-05f, 4.359946495e-05f, 4.355750364e-05f, 4.351547103e-05f, 4.347336719e-05f, 4.343119222e-05f, 4.338894619e-05f, 4.334662918e-05f,
+4.330424128e-05f, 4.326178255e-05f, 4.321925309e-05f, 4.317665296e-05f, 4.313398227e-05f, 4.309124107e-05f, 4.304842946e-05f, 4.300554751e-05f, 4.296259531e-05f, 4.291957294e-05f,
+4.287648048e-05f, 4.283331800e-05f, 4.279008560e-05f, 4.274678335e-05f, 4.270341134e-05f, 4.265996964e-05f, 4.261645834e-05f, 4.257287752e-05f, 4.252922727e-05f, 4.248550766e-05f,
+4.244171877e-05f, 4.239786070e-05f, 4.235393351e-05f, 4.230993731e-05f, 4.226587216e-05f, 4.222173815e-05f, 4.217753537e-05f, 4.213326389e-05f, 4.208892380e-05f, 4.204451519e-05f,
+4.200003813e-05f, 4.195549271e-05f, 4.191087902e-05f, 4.186619714e-05f, 4.182144715e-05f, 4.177662913e-05f, 4.173174318e-05f, 4.168678937e-05f, 4.164176779e-05f, 4.159667852e-05f,
+4.155152165e-05f, 4.150629727e-05f, 4.146100545e-05f, 4.141564628e-05f, 4.137021985e-05f, 4.132472625e-05f, 4.127916555e-05f, 4.123353784e-05f, 4.118784321e-05f, 4.114208175e-05f,
+4.109625354e-05f, 4.105035866e-05f, 4.100439720e-05f, 4.095836926e-05f, 4.091227490e-05f, 4.086611423e-05f, 4.081988732e-05f, 4.077359426e-05f, 4.072723514e-05f, 4.068081005e-05f,
+4.063431907e-05f, 4.058776229e-05f, 4.054113979e-05f, 4.049445167e-05f, 4.044769801e-05f, 4.040087890e-05f, 4.035399442e-05f, 4.030704466e-05f, 4.026002972e-05f, 4.021294967e-05f,
+4.016580461e-05f, 4.011859462e-05f, 4.007131979e-05f, 4.002398021e-05f, 3.997657597e-05f, 3.992910715e-05f, 3.988157385e-05f, 3.983397615e-05f, 3.978631414e-05f, 3.973858792e-05f,
+3.969079756e-05f, 3.964294316e-05f, 3.959502480e-05f, 3.954704259e-05f, 3.949899659e-05f, 3.945088692e-05f, 3.940271364e-05f, 3.935447686e-05f, 3.930617666e-05f, 3.925781314e-05f,
+3.920938638e-05f, 3.916089647e-05f, 3.911234350e-05f, 3.906372757e-05f, 3.901504876e-05f, 3.896630716e-05f, 3.891750286e-05f, 3.886863596e-05f, 3.881970655e-05f, 3.877071471e-05f,
+3.872166054e-05f, 3.867254412e-05f, 3.862336556e-05f, 3.857412493e-05f, 3.852482233e-05f, 3.847545786e-05f, 3.842603160e-05f, 3.837654364e-05f, 3.832699408e-05f, 3.827738301e-05f,
+3.822771052e-05f, 3.817797670e-05f, 3.812818165e-05f, 3.807832545e-05f, 3.802840820e-05f, 3.797842999e-05f, 3.792839091e-05f, 3.787829106e-05f, 3.782813053e-05f, 3.777790941e-05f,
+3.772762779e-05f, 3.767728577e-05f, 3.762688344e-05f, 3.757642089e-05f, 3.752589822e-05f, 3.747531552e-05f, 3.742467287e-05f, 3.737397039e-05f, 3.732320815e-05f, 3.727238626e-05f,
+3.722150480e-05f, 3.717056388e-05f, 3.711956357e-05f, 3.706850399e-05f, 3.701738522e-05f, 3.696620736e-05f, 3.691497049e-05f, 3.686367473e-05f, 3.681232015e-05f, 3.676090686e-05f,
+3.670943494e-05f, 3.665790450e-05f, 3.660631563e-05f, 3.655466843e-05f, 3.650296298e-05f, 3.645119938e-05f, 3.639937774e-05f, 3.634749814e-05f, 3.629556068e-05f, 3.624356545e-05f,
+3.619151256e-05f, 3.613940209e-05f, 3.608723414e-05f, 3.603500881e-05f, 3.598272620e-05f, 3.593038640e-05f, 3.587798950e-05f, 3.582553561e-05f, 3.577302481e-05f, 3.572045721e-05f,
+3.566783290e-05f, 3.561515198e-05f, 3.556241454e-05f, 3.550962069e-05f, 3.545677051e-05f, 3.540386411e-05f, 3.535090158e-05f, 3.529788302e-05f, 3.524480853e-05f, 3.519167820e-05f,
+3.513849214e-05f, 3.508525043e-05f, 3.503195318e-05f, 3.497860048e-05f, 3.492519243e-05f, 3.487172913e-05f, 3.481821068e-05f, 3.476463718e-05f, 3.471100872e-05f, 3.465732540e-05f,
+3.460358732e-05f, 3.454979458e-05f, 3.449594727e-05f, 3.444204550e-05f, 3.438808936e-05f, 3.433407895e-05f, 3.428001438e-05f, 3.422589573e-05f, 3.417172312e-05f, 3.411749663e-05f,
+3.406321636e-05f, 3.400888243e-05f, 3.395449491e-05f, 3.390005392e-05f, 3.384555956e-05f, 3.379101192e-05f, 3.373641110e-05f, 3.368175720e-05f, 3.362705033e-05f, 3.357229057e-05f,
+3.351747804e-05f, 3.346261283e-05f, 3.340769505e-05f, 3.335272478e-05f, 3.329770214e-05f, 3.324262721e-05f, 3.318750012e-05f, 3.313232094e-05f, 3.307708979e-05f, 3.302180676e-05f,
+3.296647196e-05f, 3.291108548e-05f, 3.285564743e-05f, 3.280015791e-05f, 3.274461702e-05f, 3.268902486e-05f, 3.263338153e-05f, 3.257768713e-05f, 3.252194176e-05f, 3.246614553e-05f,
+3.241029853e-05f, 3.235440088e-05f, 3.229845266e-05f, 3.224245399e-05f, 3.218640495e-05f, 3.213030567e-05f, 3.207415623e-05f, 3.201795674e-05f, 3.196170730e-05f, 3.190540801e-05f,
+3.184905898e-05f, 3.179266031e-05f, 3.173621210e-05f, 3.167971445e-05f, 3.162316747e-05f, 3.156657125e-05f, 3.150992591e-05f, 3.145323154e-05f, 3.139648824e-05f, 3.133969613e-05f,
+3.128285530e-05f, 3.122596585e-05f, 3.116902790e-05f, 3.111204153e-05f, 3.105500686e-05f, 3.099792399e-05f, 3.094079302e-05f, 3.088361406e-05f, 3.082638720e-05f, 3.076911256e-05f,
+3.071179024e-05f, 3.065442034e-05f, 3.059700296e-05f, 3.053953821e-05f, 3.048202619e-05f, 3.042446701e-05f, 3.036686077e-05f, 3.030920757e-05f, 3.025150753e-05f, 3.019376073e-05f,
+3.013596730e-05f, 3.007812733e-05f, 3.002024093e-05f, 2.996230820e-05f, 2.990432924e-05f, 2.984630417e-05f, 2.978823308e-05f, 2.973011609e-05f, 2.967195329e-05f, 2.961374479e-05f,
+2.955549071e-05f, 2.949719113e-05f, 2.943884617e-05f, 2.938045593e-05f, 2.932202052e-05f, 2.926354005e-05f, 2.920501461e-05f, 2.914644432e-05f, 2.908782928e-05f, 2.902916960e-05f,
+2.897046538e-05f, 2.891171672e-05f, 2.885292374e-05f, 2.879408655e-05f, 2.873520523e-05f, 2.867627991e-05f, 2.861731069e-05f, 2.855829768e-05f, 2.849924097e-05f, 2.844014069e-05f,
+2.838099693e-05f, 2.832180980e-05f, 2.826257940e-05f, 2.820330585e-05f, 2.814398926e-05f, 2.808462972e-05f, 2.802522734e-05f, 2.796578224e-05f, 2.790629451e-05f, 2.784676428e-05f,
+2.778719163e-05f, 2.772757669e-05f, 2.766791955e-05f, 2.760822033e-05f, 2.754847913e-05f, 2.748869606e-05f, 2.742887122e-05f, 2.736900473e-05f, 2.730909670e-05f, 2.724914722e-05f,
+2.718915642e-05f, 2.712912438e-05f, 2.706905124e-05f, 2.700893708e-05f, 2.694878202e-05f, 2.688858617e-05f, 2.682834964e-05f, 2.676807253e-05f, 2.670775496e-05f, 2.664739702e-05f,
+2.658699883e-05f, 2.652656051e-05f, 2.646608214e-05f, 2.640556385e-05f, 2.634500575e-05f, 2.628440793e-05f, 2.622377052e-05f, 2.616309362e-05f, 2.610237733e-05f, 2.604162177e-05f,
+2.598082705e-05f, 2.591999327e-05f, 2.585912055e-05f, 2.579820899e-05f, 2.573725870e-05f, 2.567626980e-05f, 2.561524238e-05f, 2.555417657e-05f, 2.549307246e-05f, 2.543193017e-05f,
+2.537074982e-05f, 2.530953150e-05f, 2.524827533e-05f, 2.518698141e-05f, 2.512564987e-05f, 2.506428080e-05f, 2.500287432e-05f, 2.494143053e-05f, 2.487994955e-05f, 2.481843149e-05f,
+2.475687646e-05f, 2.469528456e-05f, 2.463365591e-05f, 2.457199062e-05f, 2.451028879e-05f, 2.444855054e-05f, 2.438677598e-05f, 2.432496523e-05f, 2.426311837e-05f, 2.420123554e-05f,
+2.413931684e-05f, 2.407736238e-05f, 2.401537228e-05f, 2.395334663e-05f, 2.389128556e-05f, 2.382918917e-05f, 2.376705758e-05f, 2.370489090e-05f, 2.364268923e-05f, 2.358045269e-05f,
+2.351818139e-05f, 2.345587543e-05f, 2.339353494e-05f, 2.333116003e-05f, 2.326875079e-05f, 2.320630736e-05f, 2.314382982e-05f, 2.308131831e-05f, 2.301877293e-05f, 2.295619379e-05f,
+2.289358100e-05f, 2.283093467e-05f, 2.276825493e-05f, 2.270554186e-05f, 2.264279560e-05f, 2.258001625e-05f, 2.251720393e-05f, 2.245435874e-05f, 2.239148079e-05f, 2.232857021e-05f,
+2.226562709e-05f, 2.220265156e-05f, 2.213964373e-05f, 2.207660370e-05f, 2.201353159e-05f, 2.195042752e-05f, 2.188729159e-05f, 2.182412391e-05f, 2.176092461e-05f, 2.169769378e-05f,
+2.163443155e-05f, 2.157113803e-05f, 2.150781333e-05f, 2.144445755e-05f, 2.138107083e-05f, 2.131765326e-05f, 2.125420496e-05f, 2.119072604e-05f, 2.112721662e-05f, 2.106367680e-05f,
+2.100010671e-05f, 2.093650646e-05f, 2.087287615e-05f, 2.080921590e-05f, 2.074552582e-05f, 2.068180603e-05f, 2.061805664e-05f, 2.055427776e-05f, 2.049046951e-05f, 2.042663200e-05f,
+2.036276534e-05f, 2.029886965e-05f, 2.023494504e-05f, 2.017099162e-05f, 2.010700950e-05f, 2.004299881e-05f, 1.997895965e-05f, 1.991489214e-05f, 1.985079638e-05f, 1.978667251e-05f,
+1.972252062e-05f, 1.965834083e-05f, 1.959413326e-05f, 1.952989802e-05f, 1.946563522e-05f, 1.940134498e-05f, 1.933702740e-05f, 1.927268262e-05f, 1.920831073e-05f, 1.914391186e-05f,
+1.907948612e-05f, 1.901503361e-05f, 1.895055446e-05f, 1.888604878e-05f, 1.882151669e-05f, 1.875695829e-05f, 1.869237371e-05f, 1.862776305e-05f, 1.856312643e-05f, 1.849846397e-05f,
+1.843377578e-05f, 1.836906198e-05f, 1.830432267e-05f, 1.823955797e-05f, 1.817476801e-05f, 1.810995288e-05f, 1.804511272e-05f, 1.798024762e-05f, 1.791535771e-05f, 1.785044311e-05f,
+1.778550392e-05f, 1.772054026e-05f, 1.765555224e-05f, 1.759053999e-05f, 1.752550361e-05f, 1.746044322e-05f, 1.739535893e-05f, 1.733025087e-05f, 1.726511914e-05f, 1.719996386e-05f,
+1.713478515e-05f, 1.706958312e-05f, 1.700435788e-05f, 1.693910955e-05f, 1.687383825e-05f, 1.680854409e-05f, 1.674322718e-05f, 1.667788765e-05f, 1.661252560e-05f, 1.654714115e-05f,
+1.648173442e-05f, 1.641630553e-05f, 1.635085458e-05f, 1.628538170e-05f, 1.621988699e-05f, 1.615437058e-05f, 1.608883258e-05f, 1.602327310e-05f, 1.595769227e-05f, 1.589209019e-05f,
+1.582646698e-05f, 1.576082276e-05f, 1.569515764e-05f, 1.562947175e-05f, 1.556376518e-05f, 1.549803807e-05f, 1.543229053e-05f, 1.536652266e-05f, 1.530073460e-05f, 1.523492644e-05f,
+1.516909832e-05f, 1.510325034e-05f, 1.503738262e-05f, 1.497149529e-05f, 1.490558844e-05f, 1.483966220e-05f, 1.477371669e-05f, 1.470775202e-05f, 1.464176830e-05f, 1.457576566e-05f,
+1.450974421e-05f, 1.444370406e-05f, 1.437764533e-05f, 1.431156814e-05f, 1.424547261e-05f, 1.417935884e-05f, 1.411322696e-05f, 1.404707709e-05f, 1.398090933e-05f, 1.391472380e-05f,
+1.384852063e-05f, 1.378229992e-05f, 1.371606180e-05f, 1.364980638e-05f, 1.358353377e-05f, 1.351724410e-05f, 1.345093747e-05f, 1.338461401e-05f, 1.331827384e-05f, 1.325191706e-05f,
+1.318554379e-05f, 1.311915416e-05f, 1.305274827e-05f, 1.298632625e-05f, 1.291988821e-05f, 1.285343427e-05f, 1.278696454e-05f, 1.272047914e-05f, 1.265397818e-05f, 1.258746179e-05f,
+1.252093009e-05f, 1.245438317e-05f, 1.238782118e-05f, 1.232124421e-05f, 1.225465239e-05f, 1.218804583e-05f, 1.212142465e-05f, 1.205478897e-05f, 1.198813890e-05f, 1.192147456e-05f,
+1.185479607e-05f, 1.178810355e-05f, 1.172139710e-05f, 1.165467686e-05f, 1.158794292e-05f, 1.152119542e-05f, 1.145443447e-05f, 1.138766018e-05f, 1.132087267e-05f, 1.125407206e-05f,
+1.118725847e-05f, 1.112043201e-05f, 1.105359280e-05f, 1.098674095e-05f, 1.091987659e-05f, 1.085299983e-05f, 1.078611079e-05f, 1.071920958e-05f, 1.065229632e-05f, 1.058537112e-05f,
+1.051843412e-05f, 1.045148541e-05f, 1.038452513e-05f, 1.031755338e-05f, 1.025057028e-05f, 1.018357595e-05f, 1.011657051e-05f, 1.004955408e-05f, 9.982526765e-06f, 9.915488689e-06f,
+9.848439968e-06f, 9.781380720e-06f, 9.714311061e-06f, 9.647231109e-06f, 9.580140980e-06f, 9.513040792e-06f, 9.445930662e-06f, 9.378810707e-06f, 9.311681044e-06f, 9.244541790e-06f,
+9.177393063e-06f, 9.110234979e-06f, 9.043067656e-06f, 8.975891210e-06f, 8.908705760e-06f, 8.841511421e-06f, 8.774308312e-06f, 8.707096549e-06f, 8.639876250e-06f, 8.572647532e-06f,
+8.505410511e-06f, 8.438165306e-06f, 8.370912033e-06f, 8.303650809e-06f, 8.236381752e-06f, 8.169104979e-06f, 8.101820607e-06f, 8.034528753e-06f, 7.967229534e-06f, 7.899923068e-06f,
+7.832609472e-06f, 7.765288863e-06f, 7.697961358e-06f, 7.630627074e-06f, 7.563286129e-06f, 7.495938640e-06f, 7.428584724e-06f, 7.361224497e-06f, 7.293858078e-06f, 7.226485584e-06f,
+7.159107132e-06f, 7.091722838e-06f, 7.024332820e-06f, 6.956937196e-06f, 6.889536083e-06f, 6.822129597e-06f, 6.754717855e-06f, 6.687300976e-06f, 6.619879077e-06f, 6.552452273e-06f,
+6.485020683e-06f, 6.417584424e-06f, 6.350143613e-06f, 6.282698367e-06f, 6.215248803e-06f, 6.147795039e-06f, 6.080337191e-06f, 6.012875377e-06f, 5.945409714e-06f, 5.877940319e-06f,
+5.810467309e-06f, 5.742990801e-06f, 5.675510912e-06f, 5.608027760e-06f, 5.540541462e-06f, 5.473052134e-06f, 5.405559895e-06f, 5.338064860e-06f, 5.270567147e-06f, 5.203066873e-06f,
+5.135564156e-06f, 5.068059111e-06f, 5.000551857e-06f, 4.933042510e-06f, 4.865531188e-06f, 4.798018007e-06f, 4.730503085e-06f, 4.662986538e-06f, 4.595468483e-06f, 4.527949038e-06f,
+4.460428320e-06f, 4.392906444e-06f, 4.325383530e-06f, 4.257859693e-06f, 4.190335050e-06f, 4.122809718e-06f, 4.055283815e-06f, 3.987757457e-06f, 3.920230761e-06f, 3.852703843e-06f,
+3.785176822e-06f, 3.717649814e-06f, 3.650122935e-06f, 3.582596303e-06f, 3.515070034e-06f, 3.447544245e-06f, 3.380019053e-06f, 3.312494575e-06f, 3.244970928e-06f, 3.177448227e-06f,
+3.109926592e-06f, 3.042406137e-06f, 2.974886979e-06f, 2.907369237e-06f, 2.839853025e-06f, 2.772338461e-06f, 2.704825662e-06f, 2.637314743e-06f, 2.569805823e-06f, 2.502299017e-06f,
+2.434794442e-06f, 2.367292215e-06f, 2.299792453e-06f, 2.232295271e-06f, 2.164800787e-06f, 2.097309117e-06f, 2.029820377e-06f, 1.962334685e-06f, 1.894852156e-06f, 1.827372907e-06f,
+1.759897055e-06f, 1.692424716e-06f, 1.624956006e-06f, 1.557491042e-06f, 1.490029941e-06f, 1.422572818e-06f, 1.355119790e-06f, 1.287670974e-06f, 1.220226485e-06f, 1.152786440e-06f,
+1.085350956e-06f, 1.017920148e-06f, 9.504941331e-07f, 8.830730272e-07f, 8.156569465e-07f, 7.482460072e-07f, 6.808403256e-07f, 6.134400178e-07f, 5.460451999e-07f, 4.786559880e-07f,
+4.112724983e-07f, 3.438948467e-07f, 2.765231493e-07f, 2.091575222e-07f, 1.417980813e-07f, 7.444494264e-08f, 7.098222190e-09f, -6.024196414e-08f, -1.275755004e-07f, -1.949022708e-07f,
+-2.622221593e-07f, -3.295350502e-07f, -3.968408277e-07f, -4.641393759e-07f, -5.314305790e-07f, -5.987143214e-07f, -6.659904872e-07f, -7.332589609e-07f, -8.005196266e-07f, -8.677723688e-07f,
+-9.350170719e-07f, -1.002253620e-06f, -1.069481898e-06f, -1.136701790e-06f, -1.203913181e-06f, -1.271115954e-06f, -1.338309996e-06f, -1.405495189e-06f, -1.472671419e-06f, -1.539838571e-06f,
+-1.606996528e-06f, -1.674145176e-06f, -1.741284400e-06f, -1.808414083e-06f, -1.875534111e-06f, -1.942644369e-06f, -2.009744741e-06f, -2.076835112e-06f, -2.143915368e-06f, -2.210985392e-06f,
+-2.278045070e-06f, -2.345094287e-06f, -2.412132927e-06f, -2.479160877e-06f, -2.546178020e-06f, -2.613184242e-06f, -2.680179428e-06f, -2.747163463e-06f, -2.814136232e-06f, -2.881097620e-06f,
+-2.948047513e-06f, -3.014985796e-06f, -3.081912354e-06f, -3.148827073e-06f, -3.215729837e-06f, -3.282620532e-06f, -3.349499044e-06f, -3.416365258e-06f, -3.483219060e-06f, -3.550060334e-06f,
+-3.616888966e-06f, -3.683704843e-06f, -3.750507850e-06f, -3.817297871e-06f, -3.884074794e-06f, -3.950838503e-06f, -4.017588885e-06f, -4.084325824e-06f, -4.151049208e-06f, -4.217758921e-06f,
+-4.284454850e-06f, -4.351136881e-06f, -4.417804899e-06f, -4.484458790e-06f, -4.551098441e-06f, -4.617723738e-06f, -4.684334566e-06f, -4.750930812e-06f, -4.817512362e-06f, -4.884079102e-06f,
+-4.950630918e-06f, -5.017167696e-06f, -5.083689324e-06f, -5.150195687e-06f, -5.216686671e-06f, -5.283162164e-06f, -5.349622051e-06f, -5.416066218e-06f, -5.482494554e-06f, -5.548906943e-06f,
+-5.615303273e-06f, -5.681683431e-06f, -5.748047302e-06f, -5.814394774e-06f, -5.880725734e-06f, -5.947040068e-06f, -6.013337663e-06f, -6.079618406e-06f, -6.145882184e-06f, -6.212128884e-06f,
+-6.278358393e-06f, -6.344570597e-06f, -6.410765385e-06f, -6.476942643e-06f, -6.543102259e-06f, -6.609244118e-06f, -6.675368110e-06f, -6.741474121e-06f, -6.807562038e-06f, -6.873631749e-06f,
+-6.939683141e-06f, -7.005716102e-06f, -7.071730519e-06f, -7.137726280e-06f, -7.203703272e-06f, -7.269661384e-06f, -7.335600501e-06f, -7.401520514e-06f, -7.467421308e-06f, -7.533302772e-06f,
+-7.599164794e-06f, -7.665007262e-06f, -7.730830064e-06f, -7.796633087e-06f, -7.862416220e-06f, -7.928179350e-06f, -7.993922367e-06f, -8.059645157e-06f, -8.125347610e-06f, -8.191029613e-06f,
+-8.256691055e-06f, -8.322331825e-06f, -8.387951810e-06f, -8.453550899e-06f, -8.519128980e-06f, -8.584685943e-06f, -8.650221676e-06f, -8.715736066e-06f, -8.781229004e-06f, -8.846700377e-06f,
+-8.912150075e-06f, -8.977577987e-06f, -9.042984001e-06f, -9.108368005e-06f, -9.173729890e-06f, -9.239069544e-06f, -9.304386857e-06f, -9.369681717e-06f, -9.434954013e-06f, -9.500203635e-06f,
+-9.565430472e-06f, -9.630634414e-06f, -9.695815349e-06f, -9.760973168e-06f, -9.826107759e-06f, -9.891219012e-06f, -9.956306817e-06f, -1.002137106e-05f, -1.008641164e-05f, -1.015142844e-05f,
+-1.021642135e-05f, -1.028139026e-05f, -1.034633506e-05f, -1.041125564e-05f, -1.047615189e-05f, -1.054102370e-05f, -1.060587096e-05f, -1.067069356e-05f, -1.073549139e-05f, -1.080026435e-05f,
+-1.086501231e-05f, -1.092973518e-05f, -1.099443284e-05f, -1.105910518e-05f, -1.112375209e-05f, -1.118837347e-05f, -1.125296920e-05f, -1.131753918e-05f, -1.138208329e-05f, -1.144660143e-05f,
+-1.151109349e-05f, -1.157555936e-05f, -1.163999892e-05f, -1.170441208e-05f, -1.176879872e-05f, -1.183315872e-05f, -1.189749200e-05f, -1.196179843e-05f, -1.202607790e-05f, -1.209033032e-05f,
+-1.215455556e-05f, -1.221875352e-05f, -1.228292410e-05f, -1.234706717e-05f, -1.241118265e-05f, -1.247527041e-05f, -1.253933035e-05f, -1.260336236e-05f, -1.266736634e-05f, -1.273134217e-05f,
+-1.279528974e-05f, -1.285920896e-05f, -1.292309970e-05f, -1.298696187e-05f, -1.305079535e-05f, -1.311460004e-05f, -1.317837584e-05f, -1.324212262e-05f, -1.330584029e-05f, -1.336952873e-05f,
+-1.343318785e-05f, -1.349681753e-05f, -1.356041767e-05f, -1.362398815e-05f, -1.368752887e-05f, -1.375103973e-05f, -1.381452062e-05f, -1.387797142e-05f, -1.394139204e-05f, -1.400478237e-05f,
+-1.406814229e-05f, -1.413147171e-05f, -1.419477051e-05f, -1.425803860e-05f, -1.432127585e-05f, -1.438448218e-05f, -1.444765746e-05f, -1.451080160e-05f, -1.457391449e-05f, -1.463699602e-05f,
+-1.470004608e-05f, -1.476306457e-05f, -1.482605139e-05f, -1.488900642e-05f, -1.495192957e-05f, -1.501482072e-05f, -1.507767977e-05f, -1.514050662e-05f, -1.520330115e-05f, -1.526606327e-05f,
+-1.532879287e-05f, -1.539148983e-05f, -1.545415407e-05f, -1.551678547e-05f, -1.557938392e-05f, -1.564194933e-05f, -1.570448158e-05f, -1.576698057e-05f, -1.582944620e-05f, -1.589187836e-05f,
+-1.595427695e-05f, -1.601664186e-05f, -1.607897299e-05f, -1.614127023e-05f, -1.620353348e-05f, -1.626576263e-05f, -1.632795759e-05f, -1.639011823e-05f, -1.645224447e-05f, -1.651433620e-05f,
+-1.657639331e-05f, -1.663841569e-05f, -1.670040325e-05f, -1.676235589e-05f, -1.682427348e-05f, -1.688615595e-05f, -1.694800317e-05f, -1.700981505e-05f, -1.707159148e-05f, -1.713333235e-05f,
+-1.719503758e-05f, -1.725670705e-05f, -1.731834065e-05f, -1.737993829e-05f, -1.744149986e-05f, -1.750302527e-05f, -1.756451440e-05f, -1.762596715e-05f, -1.768738343e-05f, -1.774876312e-05f,
+-1.781010613e-05f, -1.787141235e-05f, -1.793268168e-05f, -1.799391402e-05f, -1.805510926e-05f, -1.811626731e-05f, -1.817738806e-05f, -1.823847141e-05f, -1.829951725e-05f, -1.836052549e-05f,
+-1.842149602e-05f, -1.848242875e-05f, -1.854332356e-05f, -1.860418036e-05f, -1.866499904e-05f, -1.872577951e-05f, -1.878652167e-05f, -1.884722540e-05f, -1.890789062e-05f, -1.896851721e-05f,
+-1.902910508e-05f, -1.908965413e-05f, -1.915016425e-05f, -1.921063535e-05f, -1.927106732e-05f, -1.933146007e-05f, -1.939181349e-05f, -1.945212747e-05f, -1.951240193e-05f, -1.957263677e-05f,
+-1.963283187e-05f, -1.969298714e-05f, -1.975310248e-05f, -1.981317779e-05f, -1.987321297e-05f, -1.993320792e-05f, -1.999316254e-05f, -2.005307673e-05f, -2.011295039e-05f, -2.017278341e-05f,
+-2.023257571e-05f, -2.029232719e-05f, -2.035203773e-05f, -2.041170724e-05f, -2.047133563e-05f, -2.053092279e-05f, -2.059046863e-05f, -2.064997304e-05f, -2.070943593e-05f, -2.076885720e-05f,
+-2.082823675e-05f, -2.088757447e-05f, -2.094687028e-05f, -2.100612408e-05f, -2.106533575e-05f, -2.112450522e-05f, -2.118363237e-05f, -2.124271711e-05f, -2.130175934e-05f, -2.136075897e-05f,
+-2.141971589e-05f, -2.147863001e-05f, -2.153750124e-05f, -2.159632946e-05f, -2.165511459e-05f, -2.171385652e-05f, -2.177255517e-05f, -2.183121043e-05f, -2.188982220e-05f, -2.194839039e-05f,
+-2.200691490e-05f, -2.206539564e-05f, -2.212383250e-05f, -2.218222539e-05f, -2.224057421e-05f, -2.229887888e-05f, -2.235713928e-05f, -2.241535532e-05f, -2.247352691e-05f, -2.253165395e-05f,
+-2.258973635e-05f, -2.264777401e-05f, -2.270576682e-05f, -2.276371470e-05f, -2.282161756e-05f, -2.287947528e-05f, -2.293728779e-05f, -2.299505498e-05f, -2.305277675e-05f, -2.311045302e-05f,
+-2.316808368e-05f, -2.322566865e-05f, -2.328320782e-05f, -2.334070110e-05f, -2.339814839e-05f, -2.345554961e-05f, -2.351290466e-05f, -2.357021343e-05f, -2.362747584e-05f, -2.368469180e-05f,
+-2.374186120e-05f, -2.379898395e-05f, -2.385605996e-05f, -2.391308914e-05f, -2.397007139e-05f, -2.402700661e-05f, -2.408389472e-05f, -2.414073561e-05f, -2.419752920e-05f, -2.425427539e-05f,
+-2.431097408e-05f, -2.436762520e-05f, -2.442422863e-05f, -2.448078428e-05f, -2.453729208e-05f, -2.459375191e-05f, -2.465016369e-05f, -2.470652733e-05f, -2.476284272e-05f, -2.481910979e-05f,
+-2.487532843e-05f, -2.493149856e-05f, -2.498762008e-05f, -2.504369290e-05f, -2.509971692e-05f, -2.515569206e-05f, -2.521161822e-05f, -2.526749531e-05f, -2.532332324e-05f, -2.537910192e-05f,
+-2.543483125e-05f, -2.549051114e-05f, -2.554614151e-05f, -2.560172225e-05f, -2.565725329e-05f, -2.571273452e-05f, -2.576816586e-05f, -2.582354721e-05f, -2.587887849e-05f, -2.593415960e-05f,
+-2.598939046e-05f, -2.604457096e-05f, -2.609970103e-05f, -2.615478057e-05f, -2.620980949e-05f, -2.626478770e-05f, -2.631971511e-05f, -2.637459163e-05f, -2.642941717e-05f, -2.648419163e-05f,
+-2.653891494e-05f, -2.659358700e-05f, -2.664820772e-05f, -2.670277701e-05f, -2.675729479e-05f, -2.681176095e-05f, -2.686617542e-05f, -2.692053810e-05f, -2.697484891e-05f, -2.702910775e-05f,
+-2.708331454e-05f, -2.713746919e-05f, -2.719157161e-05f, -2.724562171e-05f, -2.729961941e-05f, -2.735356460e-05f, -2.740745722e-05f, -2.746129716e-05f, -2.751508434e-05f, -2.756881868e-05f,
+-2.762250007e-05f, -2.767612845e-05f, -2.772970371e-05f, -2.778322578e-05f, -2.783669456e-05f, -2.789010996e-05f, -2.794347191e-05f, -2.799678030e-05f, -2.805003506e-05f, -2.810323610e-05f,
+-2.815638333e-05f, -2.820947667e-05f, -2.826251602e-05f, -2.831550131e-05f, -2.836843244e-05f, -2.842130932e-05f, -2.847413189e-05f, -2.852690003e-05f, -2.857961368e-05f, -2.863227274e-05f,
+-2.868487713e-05f, -2.873742676e-05f, -2.878992155e-05f, -2.884236141e-05f, -2.889474626e-05f, -2.894707601e-05f, -2.899935057e-05f, -2.905156987e-05f, -2.910373381e-05f, -2.915584231e-05f,
+-2.920789529e-05f, -2.925989266e-05f, -2.931183433e-05f, -2.936372023e-05f, -2.941555026e-05f, -2.946732435e-05f, -2.951904241e-05f, -2.957070436e-05f, -2.962231010e-05f, -2.967385956e-05f,
+-2.972535266e-05f, -2.977678931e-05f, -2.982816942e-05f, -2.987949292e-05f, -2.993075972e-05f, -2.998196973e-05f, -3.003312288e-05f, -3.008421908e-05f, -3.013525825e-05f, -3.018624030e-05f,
+-3.023716515e-05f, -3.028803273e-05f, -3.033884294e-05f, -3.038959571e-05f, -3.044029095e-05f, -3.049092858e-05f, -3.054150852e-05f, -3.059203068e-05f, -3.064249499e-05f, -3.069290137e-05f,
+-3.074324972e-05f, -3.079353998e-05f, -3.084377205e-05f, -3.089394586e-05f, -3.094406133e-05f, -3.099411838e-05f, -3.104411692e-05f, -3.109405687e-05f, -3.114393815e-05f, -3.119376069e-05f,
+-3.124352440e-05f, -3.129322920e-05f, -3.134287501e-05f, -3.139246175e-05f, -3.144198935e-05f, -3.149145771e-05f, -3.154086677e-05f, -3.159021643e-05f, -3.163950663e-05f, -3.168873728e-05f,
+-3.173790830e-05f, -3.178701962e-05f, -3.183607115e-05f, -3.188506282e-05f, -3.193399454e-05f, -3.198286624e-05f, -3.203167784e-05f, -3.208042926e-05f, -3.212912042e-05f, -3.217775124e-05f,
+-3.222632165e-05f, -3.227483156e-05f, -3.232328091e-05f, -3.237166960e-05f, -3.241999757e-05f, -3.246826473e-05f, -3.251647101e-05f, -3.256461634e-05f, -3.261270062e-05f, -3.266072379e-05f,
+-3.270868576e-05f, -3.275658647e-05f, -3.280442584e-05f, -3.285220378e-05f, -3.289992022e-05f, -3.294757508e-05f, -3.299516830e-05f, -3.304269978e-05f, -3.309016946e-05f, -3.313757726e-05f,
+-3.318492310e-05f, -3.323220691e-05f, -3.327942861e-05f, -3.332658812e-05f, -3.337368538e-05f, -3.342072030e-05f, -3.346769281e-05f, -3.351460283e-05f, -3.356145030e-05f, -3.360823512e-05f,
+-3.365495724e-05f, -3.370161657e-05f, -3.374821304e-05f, -3.379474658e-05f, -3.384121710e-05f, -3.388762455e-05f, -3.393396883e-05f, -3.398024989e-05f, -3.402646764e-05f, -3.407262201e-05f,
+-3.411871292e-05f, -3.416474031e-05f, -3.421070410e-05f, -3.425660422e-05f, -3.430244059e-05f, -3.434821314e-05f, -3.439392179e-05f, -3.443956649e-05f, -3.448514714e-05f, -3.453066368e-05f,
+-3.457611604e-05f, -3.462150414e-05f, -3.466682792e-05f, -3.471208729e-05f, -3.475728219e-05f, -3.480241255e-05f, -3.484747829e-05f, -3.489247934e-05f, -3.493741563e-05f, -3.498228710e-05f,
+-3.502709366e-05f, -3.507183524e-05f, -3.511651179e-05f, -3.516112321e-05f, -3.520566945e-05f, -3.525015043e-05f, -3.529456609e-05f, -3.533891635e-05f, -3.538320113e-05f, -3.542742038e-05f,
+-3.547157402e-05f, -3.551566199e-05f, -3.555968420e-05f, -3.560364059e-05f, -3.564753110e-05f, -3.569135564e-05f, -3.573511416e-05f, -3.577880659e-05f, -3.582243284e-05f, -3.586599287e-05f,
+-3.590948659e-05f, -3.595291393e-05f, -3.599627484e-05f, -3.603956923e-05f, -3.608279705e-05f, -3.612595822e-05f, -3.616905268e-05f, -3.621208035e-05f, -3.625504117e-05f, -3.629793507e-05f,
+-3.634076199e-05f, -3.638352185e-05f, -3.642621460e-05f, -3.646884015e-05f, -3.651139845e-05f, -3.655388942e-05f, -3.659631300e-05f, -3.663866913e-05f, -3.668095774e-05f, -3.672317875e-05f,
+-3.676533211e-05f, -3.680741774e-05f, -3.684943558e-05f, -3.689138557e-05f, -3.693326764e-05f, -3.697508172e-05f, -3.701682775e-05f, -3.705850566e-05f, -3.710011538e-05f, -3.714165686e-05f,
+-3.718313002e-05f, -3.722453480e-05f, -3.726587114e-05f, -3.730713897e-05f, -3.734833822e-05f, -3.738946883e-05f, -3.743053075e-05f, -3.747152389e-05f, -3.751244820e-05f, -3.755330361e-05f,
+-3.759409007e-05f, -3.763480750e-05f, -3.767545584e-05f, -3.771603503e-05f, -3.775654501e-05f, -3.779698571e-05f, -3.783735707e-05f, -3.787765902e-05f, -3.791789151e-05f, -3.795805446e-05f,
+-3.799814782e-05f, -3.803817153e-05f, -3.807812552e-05f, -3.811800973e-05f, -3.815782409e-05f, -3.819756855e-05f, -3.823724305e-05f, -3.827684751e-05f, -3.831638189e-05f, -3.835584611e-05f,
+-3.839524012e-05f, -3.843456386e-05f, -3.847381726e-05f, -3.851300026e-05f, -3.855211281e-05f, -3.859115483e-05f, -3.863012628e-05f, -3.866902709e-05f, -3.870785719e-05f, -3.874661654e-05f,
+-3.878530507e-05f, -3.882392271e-05f, -3.886246941e-05f, -3.890094512e-05f, -3.893934976e-05f, -3.897768329e-05f, -3.901594563e-05f, -3.905413674e-05f, -3.909225654e-05f, -3.913030500e-05f,
+-3.916828203e-05f, -3.920618760e-05f, -3.924402163e-05f, -3.928178406e-05f, -3.931947485e-05f, -3.935709393e-05f, -3.939464125e-05f, -3.943211674e-05f, -3.946952035e-05f, -3.950685202e-05f,
+-3.954411169e-05f, -3.958129931e-05f, -3.961841481e-05f, -3.965545815e-05f, -3.969242926e-05f, -3.972932808e-05f, -3.976615457e-05f, -3.980290866e-05f, -3.983959030e-05f, -3.987619943e-05f,
+-3.991273599e-05f, -3.994919993e-05f, -3.998559119e-05f, -4.002190972e-05f, -4.005815546e-05f, -4.009432835e-05f, -4.013042834e-05f, -4.016645538e-05f, -4.020240941e-05f, -4.023829036e-05f,
+-4.027409820e-05f, -4.030983286e-05f, -4.034549429e-05f, -4.038108244e-05f, -4.041659724e-05f, -4.045203865e-05f, -4.048740661e-05f, -4.052270107e-05f, -4.055792198e-05f, -4.059306927e-05f,
+-4.062814290e-05f, -4.066314281e-05f, -4.069806895e-05f, -4.073292127e-05f, -4.076769971e-05f, -4.080240422e-05f, -4.083703475e-05f, -4.087159124e-05f, -4.090607364e-05f, -4.094048191e-05f,
+-4.097481598e-05f, -4.100907580e-05f, -4.104326133e-05f, -4.107737251e-05f, -4.111140929e-05f, -4.114537161e-05f, -4.117925943e-05f, -4.121307270e-05f, -4.124681136e-05f, -4.128047536e-05f,
+-4.131406466e-05f, -4.134757919e-05f, -4.138101892e-05f, -4.141438378e-05f, -4.144767373e-05f, -4.148088872e-05f, -4.151402870e-05f, -4.154709362e-05f, -4.158008343e-05f, -4.161299807e-05f,
+-4.164583751e-05f, -4.167860168e-05f, -4.171129054e-05f, -4.174390405e-05f, -4.177644214e-05f, -4.180890478e-05f, -4.184129192e-05f, -4.187360350e-05f, -4.190583947e-05f, -4.193799980e-05f,
+-4.197008442e-05f, -4.200209330e-05f, -4.203402638e-05f, -4.206588362e-05f, -4.209766497e-05f, -4.212937037e-05f, -4.216099979e-05f, -4.219255318e-05f, -4.222403049e-05f, -4.225543166e-05f,
+-4.228675667e-05f, -4.231800545e-05f, -4.234917796e-05f, -4.238027416e-05f, -4.241129400e-05f, -4.244223743e-05f, -4.247310440e-05f, -4.250389488e-05f, -4.253460881e-05f, -4.256524615e-05f,
+-4.259580685e-05f, -4.262629087e-05f, -4.265669817e-05f, -4.268702869e-05f, -4.271728240e-05f, -4.274745924e-05f, -4.277755917e-05f, -4.280758216e-05f, -4.283752815e-05f, -4.286739710e-05f,
+-4.289718896e-05f, -4.292690369e-05f, -4.295654126e-05f, -4.298610160e-05f, -4.301558469e-05f, -4.304499048e-05f, -4.307431891e-05f, -4.310356996e-05f, -4.313274358e-05f, -4.316183972e-05f,
+-4.319085834e-05f, -4.321979940e-05f, -4.324866285e-05f, -4.327744867e-05f, -4.330615679e-05f, -4.333478718e-05f, -4.336333980e-05f, -4.339181461e-05f, -4.342021156e-05f, -4.344853061e-05f,
+-4.347677172e-05f, -4.350493486e-05f, -4.353301997e-05f, -4.356102702e-05f, -4.358895597e-05f, -4.361680677e-05f, -4.364457939e-05f, -4.367227379e-05f, -4.369988992e-05f, -4.372742774e-05f,
+-4.375488722e-05f, -4.378226832e-05f, -4.380957099e-05f, -4.383679520e-05f, -4.386394090e-05f, -4.389100806e-05f, -4.391799664e-05f, -4.394490660e-05f, -4.397173789e-05f, -4.399849049e-05f,
+-4.402516435e-05f, -4.405175944e-05f, -4.407827571e-05f, -4.410471312e-05f, -4.413107165e-05f, -4.415735125e-05f, -4.418355188e-05f, -4.420967351e-05f, -4.423571610e-05f, -4.426167961e-05f,
+-4.428756400e-05f, -4.431336924e-05f, -4.433909530e-05f, -4.436474212e-05f, -4.439030968e-05f, -4.441579794e-05f, -4.444120687e-05f, -4.446653642e-05f, -4.449178657e-05f, -4.451695727e-05f,
+-4.454204849e-05f, -4.456706019e-05f, -4.459199234e-05f, -4.461684491e-05f, -4.464161786e-05f, -4.466631114e-05f, -4.469092474e-05f, -4.471545861e-05f, -4.473991272e-05f, -4.476428703e-05f,
+-4.478858151e-05f, -4.481279613e-05f, -4.483693084e-05f, -4.486098563e-05f, -4.488496045e-05f, -4.490885527e-05f, -4.493267005e-05f, -4.495640477e-05f, -4.498005939e-05f, -4.500363388e-05f,
+-4.502712819e-05f, -4.505054231e-05f, -4.507387620e-05f, -4.509712982e-05f, -4.512030315e-05f, -4.514339615e-05f, -4.516640878e-05f, -4.518934103e-05f, -4.521219284e-05f, -4.523496420e-05f,
+-4.525765508e-05f, -4.528026543e-05f, -4.530279523e-05f, -4.532524445e-05f, -4.534761306e-05f, -4.536990103e-05f, -4.539210831e-05f, -4.541423490e-05f, -4.543628075e-05f, -4.545824583e-05f,
+-4.548013012e-05f, -4.550193358e-05f, -4.552365619e-05f, -4.554529791e-05f, -4.556685871e-05f, -4.558833858e-05f, -4.560973746e-05f, -4.563105535e-05f, -4.565229220e-05f, -4.567344800e-05f,
+-4.569452270e-05f, -4.571551629e-05f, -4.573642873e-05f, -4.575726000e-05f, -4.577801006e-05f, -4.579867889e-05f, -4.581926647e-05f, -4.583977276e-05f, -4.586019774e-05f, -4.588054137e-05f,
+-4.590080364e-05f, -4.592098451e-05f, -4.594108396e-05f, -4.596110196e-05f, -4.598103849e-05f, -4.600089351e-05f, -4.602066700e-05f, -4.604035894e-05f, -4.605996930e-05f, -4.607949805e-05f,
+-4.609894517e-05f, -4.611831063e-05f, -4.613759441e-05f, -4.615679648e-05f, -4.617591681e-05f, -4.619495538e-05f, -4.621391217e-05f, -4.623278715e-05f, -4.625158030e-05f, -4.627029158e-05f,
+-4.628892099e-05f, -4.630746848e-05f, -4.632593405e-05f, -4.634431766e-05f, -4.636261929e-05f, -4.638083892e-05f, -4.639897652e-05f, -4.641703207e-05f, -4.643500555e-05f, -4.645289693e-05f,
+-4.647070620e-05f, -4.648843332e-05f, -4.650607828e-05f, -4.652364105e-05f, -4.654112161e-05f, -4.655851995e-05f, -4.657583602e-05f, -4.659306983e-05f, -4.661022133e-05f, -4.662729052e-05f,
+-4.664427737e-05f, -4.666118185e-05f, -4.667800396e-05f, -4.669474365e-05f, -4.671140093e-05f, -4.672797576e-05f, -4.674446812e-05f, -4.676087800e-05f, -4.677720537e-05f, -4.679345021e-05f,
+-4.680961250e-05f, -4.682569223e-05f, -4.684168937e-05f, -4.685760391e-05f, -4.687343582e-05f, -4.688918508e-05f, -4.690485168e-05f, -4.692043560e-05f, -4.693593681e-05f, -4.695135530e-05f,
+-4.696669106e-05f, -4.698194405e-05f, -4.699711427e-05f, -4.701220170e-05f, -4.702720631e-05f, -4.704212809e-05f, -4.705696702e-05f, -4.707172309e-05f, -4.708639628e-05f, -4.710098656e-05f,
+-4.711549393e-05f, -4.712991836e-05f, -4.714425984e-05f, -4.715851836e-05f, -4.717269388e-05f, -4.718678641e-05f, -4.720079592e-05f, -4.721472240e-05f, -4.722856583e-05f, -4.724232619e-05f,
+-4.725600347e-05f, -4.726959766e-05f, -4.728310873e-05f, -4.729653668e-05f, -4.730988148e-05f, -4.732314313e-05f, -4.733632160e-05f, -4.734941689e-05f, -4.736242898e-05f, -4.737535785e-05f,
+-4.738820349e-05f, -4.740096589e-05f, -4.741364503e-05f, -4.742624090e-05f, -4.743875349e-05f, -4.745118277e-05f, -4.746352874e-05f, -4.747579139e-05f, -4.748797070e-05f, -4.750006666e-05f,
+-4.751207925e-05f, -4.752400847e-05f, -4.753585430e-05f, -4.754761672e-05f, -4.755929574e-05f, -4.757089132e-05f, -4.758240347e-05f, -4.759383217e-05f, -4.760517741e-05f, -4.761643918e-05f,
+-4.762761746e-05f, -4.763871225e-05f, -4.764972353e-05f, -4.766065130e-05f, -4.767149553e-05f, -4.768225623e-05f, -4.769293338e-05f, -4.770352697e-05f, -4.771403699e-05f, -4.772446344e-05f,
+-4.773480629e-05f, -4.774506555e-05f, -4.775524119e-05f, -4.776533322e-05f, -4.777534163e-05f, -4.778526639e-05f, -4.779510751e-05f, -4.780486498e-05f, -4.781453878e-05f, -4.782412892e-05f,
+-4.783363537e-05f, -4.784305814e-05f, -4.785239721e-05f, -4.786165257e-05f, -4.787082422e-05f, -4.787991216e-05f, -4.788891637e-05f, -4.789783684e-05f, -4.790667357e-05f, -4.791542655e-05f,
+-4.792409578e-05f, -4.793268124e-05f, -4.794118294e-05f, -4.794960086e-05f, -4.795793500e-05f, -4.796618535e-05f, -4.797435190e-05f, -4.798243466e-05f, -4.799043361e-05f, -4.799834874e-05f,
+-4.800618006e-05f, -4.801392756e-05f, -4.802159123e-05f, -4.802917107e-05f, -4.803666707e-05f, -4.804407922e-05f, -4.805140753e-05f, -4.805865199e-05f, -4.806581260e-05f, -4.807288934e-05f,
+-4.807988222e-05f, -4.808679123e-05f, -4.809361637e-05f, -4.810035763e-05f, -4.810701502e-05f, -4.811358852e-05f, -4.812007814e-05f, -4.812648387e-05f, -4.813280570e-05f, -4.813904365e-05f,
+-4.814519770e-05f, -4.815126785e-05f, -4.815725409e-05f, -4.816315644e-05f, -4.816897488e-05f, -4.817470941e-05f, -4.818036003e-05f, -4.818592675e-05f, -4.819140955e-05f, -4.819680844e-05f,
+-4.820212341e-05f, -4.820735447e-05f, -4.821250161e-05f, -4.821756484e-05f, -4.822254415e-05f, -4.822743954e-05f, -4.823225101e-05f, -4.823697857e-05f, -4.824162221e-05f, -4.824618193e-05f,
+-4.825065773e-05f, -4.825504961e-05f, -4.825935758e-05f, -4.826358163e-05f, -4.826772177e-05f, -4.827177800e-05f, -4.827575031e-05f, -4.827963871e-05f, -4.828344320e-05f, -4.828716379e-05f,
+-4.829080046e-05f, -4.829435324e-05f, -4.829782211e-05f, -4.830120708e-05f, -4.830450815e-05f, -4.830772533e-05f, -4.831085862e-05f, -4.831390801e-05f, -4.831687352e-05f, -4.831975515e-05f,
+-4.832255289e-05f, -4.832526676e-05f, -4.832789676e-05f, -4.833044288e-05f, -4.833290514e-05f, -4.833528354e-05f, -4.833757808e-05f, -4.833978876e-05f, -4.834191560e-05f, -4.834395859e-05f,
+-4.834591774e-05f, -4.834779305e-05f, -4.834958454e-05f, -4.835129220e-05f, -4.835291604e-05f, -4.835445606e-05f, -4.835591228e-05f, -4.835728469e-05f, -4.835857331e-05f, -4.835977813e-05f,
+-4.836089917e-05f, -4.836193643e-05f, -4.836288991e-05f, -4.836375963e-05f, -4.836454560e-05f, -4.836524780e-05f, -4.836586627e-05f, -4.836640099e-05f, -4.836685198e-05f, -4.836721925e-05f,
+-4.836750280e-05f, -4.836770265e-05f, -4.836781879e-05f, -4.836785124e-05f, -4.836780001e-05f, -4.836766510e-05f, -4.836744652e-05f, -4.836714429e-05f, -4.836675840e-05f, -4.836628887e-05f,
+-4.836573571e-05f, -4.836509893e-05f, -4.836437853e-05f, -4.836357452e-05f, -4.836268692e-05f, -4.836171574e-05f, -4.836066098e-05f, -4.835952265e-05f, -4.835830077e-05f, -4.835699535e-05f,
+-4.835560639e-05f, -4.835413390e-05f, -4.835257791e-05f, -4.835093841e-05f, -4.834921542e-05f, -4.834740894e-05f, -4.834551900e-05f, -4.834354561e-05f, -4.834148876e-05f, -4.833934848e-05f,
+-4.833712478e-05f, -4.833481767e-05f, -4.833242716e-05f, -4.832995327e-05f, -4.832739600e-05f, -4.832475537e-05f, -4.832203140e-05f, -4.831922409e-05f, -4.831633345e-05f, -4.831335951e-05f,
+-4.831030228e-05f, -4.830716176e-05f, -4.830393797e-05f, -4.830063092e-05f, -4.829724064e-05f, -4.829376713e-05f, -4.829021041e-05f, -4.828657049e-05f, -4.828284738e-05f, -4.827904110e-05f,
+-4.827515168e-05f, -4.827117911e-05f, -4.826712341e-05f, -4.826298461e-05f, -4.825876271e-05f, -4.825445774e-05f, -4.825006970e-05f, -4.824559861e-05f, -4.824104449e-05f, -4.823640736e-05f,
+-4.823168723e-05f, -4.822688411e-05f, -4.822199803e-05f, -4.821702899e-05f, -4.821197703e-05f, -4.820684215e-05f, -4.820162436e-05f, -4.819632370e-05f, -4.819094017e-05f, -4.818547380e-05f,
+-4.817992459e-05f, -4.817429257e-05f, -4.816857776e-05f, -4.816278017e-05f, -4.815689982e-05f, -4.815093674e-05f, -4.814489093e-05f, -4.813876242e-05f, -4.813255122e-05f, -4.812625736e-05f,
+-4.811988086e-05f, -4.811342172e-05f, -4.810687998e-05f, -4.810025565e-05f, -4.809354875e-05f, -4.808675930e-05f, -4.807988733e-05f, -4.807293284e-05f, -4.806589586e-05f, -4.805877642e-05f,
+-4.805157453e-05f, -4.804429021e-05f, -4.803692348e-05f, -4.802947436e-05f, -4.802194288e-05f, -4.801432906e-05f, -4.800663291e-05f, -4.799885446e-05f, -4.799099373e-05f, -4.798305074e-05f,
+-4.797502552e-05f, -4.796691808e-05f, -4.795872844e-05f, -4.795045664e-05f, -4.794210269e-05f, -4.793366661e-05f, -4.792514844e-05f, -4.791654818e-05f, -4.790786586e-05f, -4.789910151e-05f,
+-4.789025515e-05f, -4.788132680e-05f, -4.787231649e-05f, -4.786322423e-05f, -4.785405006e-05f, -4.784479400e-05f, -4.783545607e-05f, -4.782603629e-05f, -4.781653470e-05f, -4.780695131e-05f,
+-4.779728614e-05f, -4.778753924e-05f, -4.777771061e-05f, -4.776780028e-05f, -4.775780828e-05f, -4.774773464e-05f, -4.773757937e-05f, -4.772734252e-05f, -4.771702409e-05f, -4.770662412e-05f,
+-4.769614263e-05f, -4.768557965e-05f, -4.767493520e-05f, -4.766420932e-05f, -4.765340202e-05f, -4.764251334e-05f, -4.763154331e-05f, -4.762049194e-05f, -4.760935926e-05f, -4.759814531e-05f,
+-4.758685011e-05f, -4.757547368e-05f, -4.756401607e-05f, -4.755247728e-05f, -4.754085736e-05f, -4.752915632e-05f, -4.751737421e-05f, -4.750551104e-05f, -4.749356684e-05f, -4.748154165e-05f,
+-4.746943548e-05f, -4.745724838e-05f, -4.744498037e-05f, -4.743263148e-05f, -4.742020173e-05f, -4.740769116e-05f, -4.739509980e-05f, -4.738242768e-05f, -4.736967482e-05f, -4.735684126e-05f,
+-4.734392703e-05f, -4.733093215e-05f, -4.731785666e-05f, -4.730470059e-05f, -4.729146397e-05f, -4.727814683e-05f, -4.726474920e-05f, -4.725127111e-05f, -4.723771259e-05f, -4.722407367e-05f,
+-4.721035440e-05f, -4.719655479e-05f, -4.718267487e-05f, -4.716871469e-05f, -4.715467428e-05f, -4.714055365e-05f, -4.712635286e-05f, -4.711207192e-05f, -4.709771088e-05f, -4.708326976e-05f,
+-4.706874860e-05f, -4.705414743e-05f, -4.703946629e-05f, -4.702470520e-05f, -4.700986420e-05f, -4.699494333e-05f, -4.697994262e-05f, -4.696486209e-05f, -4.694970180e-05f, -4.693446176e-05f,
+-4.691914202e-05f, -4.690374260e-05f, -4.688826355e-05f, -4.687270490e-05f, -4.685706667e-05f, -4.684134892e-05f, -4.682555167e-05f, -4.680967495e-05f, -4.679371881e-05f, -4.677768327e-05f,
+-4.676156838e-05f, -4.674537416e-05f, -4.672910066e-05f, -4.671274792e-05f, -4.669631596e-05f, -4.667980482e-05f, -4.666321454e-05f, -4.664654516e-05f, -4.662979671e-05f, -4.661296923e-05f,
+-4.659606275e-05f, -4.657907732e-05f, -4.656201297e-05f, -4.654486974e-05f, -4.652764766e-05f, -4.651034677e-05f, -4.649296712e-05f, -4.647550873e-05f, -4.645797165e-05f, -4.644035591e-05f,
+-4.642266156e-05f, -4.640488863e-05f, -4.638703715e-05f, -4.636910717e-05f, -4.635109873e-05f, -4.633301187e-05f, -4.631484662e-05f, -4.629660302e-05f, -4.627828111e-05f, -4.625988094e-05f,
+-4.624140254e-05f, -4.622284595e-05f, -4.620421121e-05f, -4.618549836e-05f, -4.616670745e-05f, -4.614783850e-05f, -4.612889157e-05f, -4.610986669e-05f, -4.609076390e-05f, -4.607158324e-05f,
+-4.605232476e-05f, -4.603298849e-05f, -4.601357448e-05f, -4.599408277e-05f, -4.597451340e-05f, -4.595486640e-05f, -4.593514183e-05f, -4.591533973e-05f, -4.589546012e-05f, -4.587550307e-05f,
+-4.585546860e-05f, -4.583535677e-05f, -4.581516761e-05f, -4.579490117e-05f, -4.577455749e-05f, -4.575413661e-05f, -4.573363858e-05f, -4.571306343e-05f, -4.569241122e-05f, -4.567168198e-05f,
+-4.565087576e-05f, -4.562999260e-05f, -4.560903255e-05f, -4.558799565e-05f, -4.556688194e-05f, -4.554569146e-05f, -4.552442427e-05f, -4.550308041e-05f, -4.548165991e-05f, -4.546016283e-05f,
+-4.543858921e-05f, -4.541693910e-05f, -4.539521253e-05f, -4.537340956e-05f, -4.535153023e-05f, -4.532957459e-05f, -4.530754267e-05f, -4.528543454e-05f, -4.526325022e-05f, -4.524098977e-05f,
+-4.521865324e-05f, -4.519624067e-05f, -4.517375210e-05f, -4.515118759e-05f, -4.512854717e-05f, -4.510583091e-05f, -4.508303883e-05f, -4.506017100e-05f, -4.503722745e-05f, -4.501420823e-05f,
+-4.499111340e-05f, -4.496794299e-05f, -4.494469706e-05f, -4.492137566e-05f, -4.489797883e-05f, -4.487450661e-05f, -4.485095906e-05f, -4.482733623e-05f, -4.480363816e-05f, -4.477986491e-05f,
+-4.475601651e-05f, -4.473209303e-05f, -4.470809450e-05f, -4.468402098e-05f, -4.465987252e-05f, -4.463564916e-05f, -4.461135096e-05f, -4.458697796e-05f, -4.456253021e-05f, -4.453800777e-05f,
+-4.451341068e-05f, -4.448873899e-05f, -4.446399276e-05f, -4.443917203e-05f, -4.441427685e-05f, -4.438930727e-05f, -4.436426335e-05f, -4.433914514e-05f, -4.431395268e-05f, -4.428868603e-05f,
+-4.426334523e-05f, -4.423793035e-05f, -4.421244142e-05f, -4.418687850e-05f, -4.416124165e-05f, -4.413553092e-05f, -4.410974634e-05f, -4.408388799e-05f, -4.405795591e-05f, -4.403195015e-05f,
+-4.400587076e-05f, -4.397971780e-05f, -4.395349132e-05f, -4.392719137e-05f, -4.390081801e-05f, -4.387437129e-05f, -4.384785125e-05f, -4.382125796e-05f, -4.379459147e-05f, -4.376785182e-05f,
+-4.374103908e-05f, -4.371415330e-05f, -4.368719453e-05f, -4.366016282e-05f, -4.363305823e-05f, -4.360588082e-05f, -4.357863063e-05f, -4.355130772e-05f, -4.352391215e-05f, -4.349644397e-05f,
+-4.346890323e-05f, -4.344129000e-05f, -4.341360432e-05f, -4.338584625e-05f, -4.335801584e-05f, -4.333011315e-05f, -4.330213824e-05f, -4.327409117e-05f, -4.324597197e-05f, -4.321778072e-05f,
+-4.318951747e-05f, -4.316118227e-05f, -4.313277519e-05f, -4.310429627e-05f, -4.307574557e-05f, -4.304712315e-05f, -4.301842907e-05f, -4.298966338e-05f, -4.296082615e-05f, -4.293191741e-05f,
+-4.290293725e-05f, -4.287388570e-05f, -4.284476283e-05f, -4.281556869e-05f, -4.278630335e-05f, -4.275696686e-05f, -4.272755928e-05f, -4.269808067e-05f, -4.266853108e-05f, -4.263891057e-05f,
+-4.260921920e-05f, -4.257945703e-05f, -4.254962412e-05f, -4.251972053e-05f, -4.248974631e-05f, -4.245970152e-05f, -4.242958623e-05f, -4.239940049e-05f, -4.236914435e-05f, -4.233881789e-05f,
+-4.230842116e-05f, -4.227795422e-05f, -4.224741713e-05f, -4.221680994e-05f, -4.218613272e-05f, -4.215538553e-05f, -4.212456843e-05f, -4.209368148e-05f, -4.206272474e-05f, -4.203169827e-05f,
+-4.200060212e-05f, -4.196943637e-05f, -4.193820107e-05f, -4.190689628e-05f, -4.187552206e-05f, -4.184407848e-05f, -4.181256559e-05f, -4.178098346e-05f, -4.174933215e-05f, -4.171761172e-05f,
+-4.168582223e-05f, -4.165396374e-05f, -4.162203632e-05f, -4.159004003e-05f, -4.155797493e-05f, -4.152584107e-05f, -4.149363854e-05f, -4.146136738e-05f, -4.142902765e-05f, -4.139661943e-05f,
+-4.136414278e-05f, -4.133159775e-05f, -4.129898442e-05f, -4.126630283e-05f, -4.123355307e-05f, -4.120073519e-05f, -4.116784925e-05f, -4.113489531e-05f, -4.110187345e-05f, -4.106878373e-05f,
+-4.103562620e-05f, -4.100240094e-05f, -4.096910800e-05f, -4.093574746e-05f, -4.090231937e-05f, -4.086882381e-05f, -4.083526083e-05f, -4.080163049e-05f, -4.076793288e-05f, -4.073416804e-05f,
+-4.070033605e-05f, -4.066643697e-05f, -4.063247086e-05f, -4.059843779e-05f, -4.056433783e-05f, -4.053017105e-05f, -4.049593749e-05f, -4.046163725e-05f, -4.042727037e-05f, -4.039283692e-05f,
+-4.035833698e-05f, -4.032377061e-05f, -4.028913787e-05f, -4.025443883e-05f, -4.021967355e-05f, -4.018484211e-05f, -4.014994457e-05f, -4.011498100e-05f, -4.007995146e-05f, -4.004485603e-05f,
+-4.000969476e-05f, -3.997446773e-05f, -3.993917500e-05f, -3.990381664e-05f, -3.986839272e-05f, -3.983290331e-05f, -3.979734847e-05f, -3.976172827e-05f, -3.972604279e-05f, -3.969029208e-05f,
+-3.965447622e-05f, -3.961859528e-05f, -3.958264931e-05f, -3.954663841e-05f, -3.951056262e-05f, -3.947442202e-05f, -3.943821668e-05f, -3.940194667e-05f, -3.936561205e-05f, -3.932921290e-05f,
+-3.929274929e-05f, -3.925622128e-05f, -3.921962895e-05f, -3.918297236e-05f, -3.914625158e-05f, -3.910946669e-05f, -3.907261775e-05f, -3.903570484e-05f, -3.899872802e-05f, -3.896168736e-05f,
+-3.892458294e-05f, -3.888741482e-05f, -3.885018308e-05f, -3.881288779e-05f, -3.877552901e-05f, -3.873810682e-05f, -3.870062129e-05f, -3.866307249e-05f, -3.862546050e-05f, -3.858778537e-05f,
+-3.855004719e-05f, -3.851224603e-05f, -3.847438195e-05f, -3.843645503e-05f, -3.839846534e-05f, -3.836041296e-05f, -3.832229795e-05f, -3.828412039e-05f, -3.824588034e-05f, -3.820757789e-05f,
+-3.816921311e-05f, -3.813078605e-05f, -3.809229681e-05f, -3.805374545e-05f, -3.801513205e-05f, -3.797645667e-05f, -3.793771939e-05f, -3.789892029e-05f, -3.786005943e-05f, -3.782113690e-05f,
+-3.778215276e-05f, -3.774310708e-05f, -3.770399995e-05f, -3.766483143e-05f, -3.762560160e-05f, -3.758631053e-05f, -3.754695830e-05f, -3.750754498e-05f, -3.746807064e-05f, -3.742853537e-05f,
+-3.738893923e-05f, -3.734928229e-05f, -3.730956464e-05f, -3.726978635e-05f, -3.722994748e-05f, -3.719004813e-05f, -3.715008836e-05f, -3.711006824e-05f, -3.706998786e-05f, -3.702984728e-05f,
+-3.698964659e-05f, -3.694938586e-05f, -3.690906516e-05f, -3.686868457e-05f, -3.682824417e-05f, -3.678774403e-05f, -3.674718423e-05f, -3.670656484e-05f, -3.666588594e-05f, -3.662514760e-05f,
+-3.658434991e-05f, -3.654349294e-05f, -3.650257677e-05f, -3.646160146e-05f, -3.642056711e-05f, -3.637947378e-05f, -3.633832155e-05f, -3.629711050e-05f, -3.625584071e-05f, -3.621451225e-05f,
+-3.617312521e-05f, -3.613167965e-05f, -3.609017566e-05f, -3.604861332e-05f, -3.600699269e-05f, -3.596531386e-05f, -3.592357692e-05f, -3.588178192e-05f, -3.583992896e-05f, -3.579801811e-05f,
+-3.575604945e-05f, -3.571402306e-05f, -3.567193901e-05f, -3.562979739e-05f, -3.558759827e-05f, -3.554534174e-05f, -3.550302786e-05f, -3.546065673e-05f, -3.541822841e-05f, -3.537574299e-05f,
+-3.533320055e-05f, -3.529060116e-05f, -3.524794491e-05f, -3.520523188e-05f, -3.516246214e-05f, -3.511963577e-05f, -3.507675286e-05f, -3.503381348e-05f, -3.499081771e-05f, -3.494776564e-05f,
+-3.490465734e-05f, -3.486149289e-05f, -3.481827238e-05f, -3.477499588e-05f, -3.473166348e-05f, -3.468827525e-05f, -3.464483127e-05f, -3.460133164e-05f, -3.455777642e-05f, -3.451416570e-05f,
+-3.447049955e-05f, -3.442677807e-05f, -3.438300133e-05f, -3.433916941e-05f, -3.429528239e-05f, -3.425134036e-05f, -3.420734340e-05f, -3.416329158e-05f, -3.411918499e-05f, -3.407502371e-05f,
+-3.403080783e-05f, -3.398653742e-05f, -3.394221257e-05f, -3.389783336e-05f, -3.385339987e-05f, -3.380891218e-05f, -3.376437038e-05f, -3.371977455e-05f, -3.367512477e-05f, -3.363042112e-05f,
+-3.358566368e-05f, -3.354085255e-05f, -3.349598780e-05f, -3.345106951e-05f, -3.340609777e-05f, -3.336107266e-05f, -3.331599426e-05f, -3.327086267e-05f, -3.322567795e-05f, -3.318044019e-05f,
+-3.313514949e-05f, -3.308980591e-05f, -3.304440955e-05f, -3.299896049e-05f, -3.295345881e-05f, -3.290790459e-05f, -3.286229793e-05f, -3.281663890e-05f, -3.277092759e-05f, -3.272516408e-05f,
+-3.267934846e-05f, -3.263348082e-05f, -3.258756122e-05f, -3.254158977e-05f, -3.249556654e-05f, -3.244949163e-05f, -3.240336511e-05f, -3.235718707e-05f, -3.231095759e-05f, -3.226467676e-05f,
+-3.221834467e-05f, -3.217196140e-05f, -3.212552703e-05f, -3.207904166e-05f, -3.203250536e-05f, -3.198591823e-05f, -3.193928034e-05f, -3.189259179e-05f, -3.184585265e-05f, -3.179906302e-05f,
+-3.175222298e-05f, -3.170533262e-05f, -3.165839202e-05f, -3.161140128e-05f, -3.156436046e-05f, -3.151726967e-05f, -3.147012899e-05f, -3.142293850e-05f, -3.137569830e-05f, -3.132840846e-05f,
+-3.128106908e-05f, -3.123368024e-05f, -3.118624203e-05f, -3.113875453e-05f, -3.109121784e-05f, -3.104363204e-05f, -3.099599721e-05f, -3.094831345e-05f, -3.090058084e-05f, -3.085279947e-05f,
+-3.080496942e-05f, -3.075709079e-05f, -3.070916366e-05f, -3.066118812e-05f, -3.061316426e-05f, -3.056509217e-05f, -3.051697192e-05f, -3.046880362e-05f, -3.042058735e-05f, -3.037232319e-05f,
+-3.032401124e-05f, -3.027565159e-05f, -3.022724432e-05f, -3.017878951e-05f, -3.013028727e-05f, -3.008173768e-05f, -3.003314082e-05f, -2.998449679e-05f, -2.993580567e-05f, -2.988706756e-05f,
+-2.983828254e-05f, -2.978945070e-05f, -2.974057213e-05f, -2.969164692e-05f, -2.964267516e-05f, -2.959365694e-05f, -2.954459234e-05f, -2.949548146e-05f, -2.944632439e-05f, -2.939712122e-05f,
+-2.934787203e-05f, -2.929857692e-05f, -2.924923597e-05f, -2.919984928e-05f, -2.915041694e-05f, -2.910093903e-05f, -2.905141565e-05f, -2.900184688e-05f, -2.895223282e-05f, -2.890257355e-05f,
+-2.885286918e-05f, -2.880311978e-05f, -2.875332544e-05f, -2.870348627e-05f, -2.865360235e-05f, -2.860367376e-05f, -2.855370061e-05f, -2.850368298e-05f, -2.845362096e-05f, -2.840351465e-05f,
+-2.835336413e-05f, -2.830316950e-05f, -2.825293084e-05f, -2.820264825e-05f, -2.815232183e-05f, -2.810195165e-05f, -2.805153782e-05f, -2.800108042e-05f, -2.795057954e-05f, -2.790003529e-05f,
+-2.784944774e-05f, -2.779881700e-05f, -2.774814315e-05f, -2.769742628e-05f, -2.764666649e-05f, -2.759586387e-05f, -2.754501851e-05f, -2.749413051e-05f, -2.744319995e-05f, -2.739222693e-05f,
+-2.734121154e-05f, -2.729015387e-05f, -2.723905402e-05f, -2.718791208e-05f, -2.713672814e-05f, -2.708550229e-05f, -2.703423462e-05f, -2.698292524e-05f, -2.693157423e-05f, -2.688018168e-05f,
+-2.682874770e-05f, -2.677727236e-05f, -2.672575577e-05f, -2.667419802e-05f, -2.662259919e-05f, -2.657095939e-05f, -2.651927871e-05f, -2.646755724e-05f, -2.641579508e-05f, -2.636399231e-05f,
+-2.631214904e-05f, -2.626026535e-05f, -2.620834134e-05f, -2.615637711e-05f, -2.610437274e-05f, -2.605232833e-05f, -2.600024398e-05f, -2.594811978e-05f, -2.589595582e-05f, -2.584375220e-05f,
+-2.579150901e-05f, -2.573922635e-05f, -2.568690431e-05f, -2.563454298e-05f, -2.558214247e-05f, -2.552970285e-05f, -2.547722424e-05f, -2.542470672e-05f, -2.537215039e-05f, -2.531955534e-05f,
+-2.526692167e-05f, -2.521424947e-05f, -2.516153884e-05f, -2.510878987e-05f, -2.505600266e-05f, -2.500317731e-05f, -2.495031390e-05f, -2.489741253e-05f, -2.484447331e-05f, -2.479149631e-05f,
+-2.473848165e-05f, -2.468542941e-05f, -2.463233970e-05f, -2.457921260e-05f, -2.452604821e-05f, -2.447284662e-05f, -2.441960795e-05f, -2.436633227e-05f, -2.431301968e-05f, -2.425967029e-05f,
+-2.420628418e-05f, -2.415286145e-05f, -2.409940221e-05f, -2.404590654e-05f, -2.399237454e-05f, -2.393880631e-05f, -2.388520194e-05f, -2.383156153e-05f, -2.377788518e-05f, -2.372417298e-05f,
+-2.367042503e-05f, -2.361664142e-05f, -2.356282226e-05f, -2.350896764e-05f, -2.345507765e-05f, -2.340115240e-05f, -2.334719197e-05f, -2.329319647e-05f, -2.323916600e-05f, -2.318510064e-05f,
+-2.313100050e-05f, -2.307686568e-05f, -2.302269627e-05f, -2.296849236e-05f, -2.291425407e-05f, -2.285998147e-05f, -2.280567468e-05f, -2.275133378e-05f, -2.269695888e-05f, -2.264255007e-05f,
+-2.258810745e-05f, -2.253363112e-05f, -2.247912117e-05f, -2.242457771e-05f, -2.237000083e-05f, -2.231539062e-05f, -2.226074720e-05f, -2.220607064e-05f, -2.215136106e-05f, -2.209661855e-05f,
+-2.204184321e-05f, -2.198703513e-05f, -2.193219441e-05f, -2.187732116e-05f, -2.182241547e-05f, -2.176747744e-05f, -2.171250716e-05f, -2.165750474e-05f, -2.160247028e-05f, -2.154740386e-05f,
+-2.149230560e-05f, -2.143717558e-05f, -2.138201391e-05f, -2.132682069e-05f, -2.127159602e-05f, -2.121633998e-05f, -2.116105269e-05f, -2.110573424e-05f, -2.105038473e-05f, -2.099500426e-05f,
+-2.093959292e-05f, -2.088415083e-05f, -2.082867806e-05f, -2.077317474e-05f, -2.071764094e-05f, -2.066207678e-05f, -2.060648235e-05f, -2.055085775e-05f, -2.049520309e-05f, -2.043951845e-05f,
+-2.038380394e-05f, -2.032805966e-05f, -2.027228570e-05f, -2.021648218e-05f, -2.016064918e-05f, -2.010478681e-05f, -2.004889516e-05f, -1.999297434e-05f, -1.993702444e-05f, -1.988104557e-05f,
+-1.982503782e-05f, -1.976900130e-05f, -1.971293610e-05f, -1.965684233e-05f, -1.960072008e-05f, -1.954456945e-05f, -1.948839055e-05f, -1.943218347e-05f, -1.937594832e-05f, -1.931968519e-05f,
+-1.926339418e-05f, -1.920707540e-05f, -1.915072895e-05f, -1.909435491e-05f, -1.903795341e-05f, -1.898152453e-05f, -1.892506837e-05f, -1.886858504e-05f, -1.881207464e-05f, -1.875553727e-05f,
+-1.869897302e-05f, -1.864238200e-05f, -1.858576432e-05f, -1.852912006e-05f, -1.847244933e-05f, -1.841575223e-05f, -1.835902886e-05f, -1.830227933e-05f, -1.824550373e-05f, -1.818870216e-05f,
+-1.813187473e-05f, -1.807502153e-05f, -1.801814267e-05f, -1.796123825e-05f, -1.790430837e-05f, -1.784735312e-05f, -1.779037262e-05f, -1.773336696e-05f, -1.767633625e-05f, -1.761928057e-05f,
+-1.756220005e-05f, -1.750509477e-05f, -1.744796484e-05f, -1.739081035e-05f, -1.733363142e-05f, -1.727642814e-05f, -1.721920062e-05f, -1.716194895e-05f, -1.710467323e-05f, -1.704737358e-05f,
+-1.699005008e-05f, -1.693270284e-05f, -1.687533197e-05f, -1.681793756e-05f, -1.676051972e-05f, -1.670307855e-05f, -1.664561414e-05f, -1.658812661e-05f, -1.653061605e-05f, -1.647308256e-05f,
+-1.641552625e-05f, -1.635794722e-05f, -1.630034557e-05f, -1.624272140e-05f, -1.618507481e-05f, -1.612740592e-05f, -1.606971481e-05f, -1.601200159e-05f, -1.595426636e-05f, -1.589650923e-05f,
+-1.583873029e-05f, -1.578092966e-05f, -1.572310742e-05f, -1.566526369e-05f, -1.560739856e-05f, -1.554951214e-05f, -1.549160453e-05f, -1.543367583e-05f, -1.537572615e-05f, -1.531775558e-05f,
+-1.525976424e-05f, -1.520175221e-05f, -1.514371961e-05f, -1.508566654e-05f, -1.502759310e-05f, -1.496949938e-05f, -1.491138551e-05f, -1.485325157e-05f, -1.479509767e-05f, -1.473692391e-05f,
+-1.467873039e-05f, -1.462051723e-05f, -1.456228451e-05f, -1.450403235e-05f, -1.444576084e-05f, -1.438747009e-05f, -1.432916020e-05f, -1.427083127e-05f, -1.421248342e-05f, -1.415411673e-05f,
+-1.409573131e-05f, -1.403732727e-05f, -1.397890471e-05f, -1.392046373e-05f, -1.386200444e-05f, -1.380352693e-05f, -1.374503131e-05f, -1.368651769e-05f, -1.362798616e-05f, -1.356943683e-05f,
+-1.351086981e-05f, -1.345228519e-05f, -1.339368307e-05f, -1.333506358e-05f, -1.327642679e-05f, -1.321777283e-05f, -1.315910178e-05f, -1.310041376e-05f, -1.304170887e-05f, -1.298298721e-05f,
+-1.292424889e-05f, -1.286549400e-05f, -1.280672266e-05f, -1.274793495e-05f, -1.268913100e-05f, -1.263031090e-05f, -1.257147475e-05f, -1.251262267e-05f, -1.245375474e-05f, -1.239487108e-05f,
+-1.233597178e-05f, -1.227705696e-05f, -1.221812672e-05f, -1.215918115e-05f, -1.210022037e-05f, -1.204124447e-05f, -1.198225356e-05f, -1.192324775e-05f, -1.186422713e-05f, -1.180519182e-05f,
+-1.174614190e-05f, -1.168707750e-05f, -1.162799871e-05f, -1.156890563e-05f, -1.150979837e-05f, -1.145067703e-05f, -1.139154172e-05f, -1.133239254e-05f, -1.127322960e-05f, -1.121405299e-05f,
+-1.115486282e-05f, -1.109565920e-05f, -1.103644223e-05f, -1.097721201e-05f, -1.091796864e-05f, -1.085871224e-05f, -1.079944290e-05f, -1.074016073e-05f, -1.068086583e-05f, -1.062155831e-05f,
+-1.056223827e-05f, -1.050290581e-05f, -1.044356104e-05f, -1.038420406e-05f, -1.032483497e-05f, -1.026545389e-05f, -1.020606090e-05f, -1.014665613e-05f, -1.008723967e-05f, -1.002781162e-05f,
+-9.968372089e-06f, -9.908921184e-06f, -9.849459006e-06f, -9.789985660e-06f, -9.730501249e-06f, -9.671005878e-06f, -9.611499651e-06f, -9.551982671e-06f, -9.492455043e-06f, -9.432916870e-06f,
+-9.373368258e-06f, -9.313809309e-06f, -9.254240129e-06f, -9.194660821e-06f, -9.135071489e-06f, -9.075472238e-06f, -9.015863171e-06f, -8.956244394e-06f, -8.896616009e-06f, -8.836978121e-06f,
+-8.777330834e-06f, -8.717674253e-06f, -8.658008482e-06f, -8.598333624e-06f, -8.538649784e-06f, -8.478957066e-06f, -8.419255575e-06f, -8.359545414e-06f, -8.299826688e-06f, -8.240099501e-06f,
+-8.180363957e-06f, -8.120620160e-06f, -8.060868215e-06f, -8.001108226e-06f, -7.941340297e-06f, -7.881564533e-06f, -7.821781036e-06f, -7.761989913e-06f, -7.702191267e-06f, -7.642385201e-06f,
+-7.582571822e-06f, -7.522751232e-06f, -7.462923536e-06f, -7.403088839e-06f, -7.343247243e-06f, -7.283398855e-06f, -7.223543778e-06f, -7.163682116e-06f, -7.103813974e-06f, -7.043939455e-06f,
+-6.984058665e-06f, -6.924171707e-06f, -6.864278685e-06f, -6.804379705e-06f, -6.744474869e-06f, -6.684564283e-06f, -6.624648051e-06f, -6.564726277e-06f, -6.504799065e-06f, -6.444866519e-06f,
+-6.384928744e-06f, -6.324985844e-06f, -6.265037923e-06f, -6.205085086e-06f, -6.145127437e-06f, -6.085165079e-06f, -6.025198118e-06f, -5.965226658e-06f, -5.905250802e-06f, -5.845270655e-06f,
+-5.785286321e-06f, -5.725297905e-06f, -5.665305511e-06f, -5.605309242e-06f, -5.545309204e-06f, -5.485305500e-06f, -5.425298235e-06f, -5.365287512e-06f, -5.305273437e-06f, -5.245256113e-06f,
+-5.185235644e-06f, -5.125212135e-06f, -5.065185690e-06f, -5.005156413e-06f, -4.945124408e-06f, -4.885089779e-06f, -4.825052631e-06f, -4.765013068e-06f, -4.704971194e-06f, -4.644927113e-06f,
+-4.584880928e-06f, -4.524832746e-06f, -4.464782668e-06f, -4.404730800e-06f, -4.344677246e-06f, -4.284622110e-06f, -4.224565495e-06f, -4.164507507e-06f, -4.104448249e-06f, -4.044387825e-06f,
+-3.984326339e-06f, -3.924263895e-06f, -3.864200598e-06f, -3.804136551e-06f, -3.744071859e-06f, -3.684006625e-06f, -3.623940953e-06f, -3.563874948e-06f, -3.503808714e-06f, -3.443742354e-06f,
+-3.383675972e-06f, -3.323609673e-06f, -3.263543560e-06f, -3.203477738e-06f, -3.143412310e-06f, -3.083347380e-06f, -3.023283052e-06f, -2.963219430e-06f, -2.903156618e-06f, -2.843094720e-06f,
+-2.783033839e-06f, -2.722974080e-06f, -2.662915547e-06f, -2.602858342e-06f, -2.542802571e-06f, -2.482748336e-06f, -2.422695742e-06f, -2.362644892e-06f, -2.302595891e-06f, -2.242548841e-06f,
+-2.182503847e-06f, -2.122461013e-06f, -2.062420441e-06f, -2.002382236e-06f, -1.942346502e-06f, -1.882313342e-06f, -1.822282859e-06f, -1.762255158e-06f, -1.702230342e-06f, -1.642208515e-06f,
+-1.582189780e-06f, -1.522174241e-06f, -1.462162001e-06f, -1.402153164e-06f, -1.342147833e-06f, -1.282146113e-06f, -1.222148106e-06f, -1.162153916e-06f, -1.102163646e-06f, -1.042177401e-06f,
+-9.821952821e-07f, -9.222173944e-07f, -8.622438408e-07f, -8.022747246e-07f, -7.423101493e-07f, -6.823502182e-07f, -6.223950346e-07f, -5.624447018e-07f, -5.024993231e-07f, -4.425590018e-07f,
+-3.826238410e-07f, -3.226939442e-07f, -2.627694143e-07f, -2.028503547e-07f, -1.429368686e-07f, -8.302905895e-08f, -2.312702903e-08f, 3.676911809e-08f, 9.665927930e-08f, 1.565433516e-07f,
+2.164212318e-07f, 2.762928170e-07f, 3.361580042e-07f, 3.960166903e-07f, 4.558687724e-07f, 5.157141476e-07f, 5.755527129e-07f, 6.353843655e-07f, 6.952090024e-07f, 7.550265209e-07f,
+8.148368180e-07f, 8.746397910e-07f, 9.344353370e-07f, 9.942233534e-07f, 1.054003737e-06f, 1.113776386e-06f, 1.173541197e-06f, 1.233298068e-06f, 1.293046895e-06f, 1.352787577e-06f,
+1.412520010e-06f, 1.472244092e-06f, 1.531959721e-06f, 1.591666794e-06f, 1.651365208e-06f, 1.711054861e-06f, 1.770735651e-06f, 1.830407475e-06f, 1.890070231e-06f, 1.949723816e-06f,
+2.009368128e-06f, 2.069003065e-06f, 2.128628525e-06f, 2.188244404e-06f, 2.247850601e-06f, 2.307447014e-06f, 2.367033541e-06f, 2.426610079e-06f, 2.486176526e-06f, 2.545732781e-06f,
+2.605278740e-06f, 2.664814302e-06f, 2.724339366e-06f, 2.783853828e-06f, 2.843357588e-06f, 2.902850542e-06f, 2.962332590e-06f, 3.021803629e-06f, 3.081263557e-06f, 3.140712273e-06f,
+3.200149675e-06f, 3.259575661e-06f, 3.318990130e-06f, 3.378392979e-06f, 3.437784107e-06f, 3.497163412e-06f, 3.556530794e-06f, 3.615886149e-06f, 3.675229377e-06f, 3.734560376e-06f,
+3.793879045e-06f, 3.853185282e-06f, 3.912478986e-06f, 3.971760055e-06f, 4.031028388e-06f, 4.090283884e-06f, 4.149526441e-06f, 4.208755959e-06f, 4.267972335e-06f, 4.327175469e-06f,
+4.386365259e-06f, 4.445541605e-06f, 4.504704405e-06f, 4.563853559e-06f, 4.622988965e-06f, 4.682110522e-06f, 4.741218129e-06f, 4.800311685e-06f, 4.859391090e-06f, 4.918456243e-06f,
+4.977507042e-06f, 5.036543388e-06f, 5.095565178e-06f, 5.154572313e-06f, 5.213564692e-06f, 5.272542214e-06f, 5.331504779e-06f, 5.390452286e-06f, 5.449384634e-06f, 5.508301723e-06f,
+5.567203452e-06f, 5.626089722e-06f, 5.684960431e-06f, 5.743815479e-06f, 5.802654767e-06f, 5.861478193e-06f, 5.920285658e-06f, 5.979077060e-06f, 6.037852301e-06f, 6.096611280e-06f,
+6.155353897e-06f, 6.214080051e-06f, 6.272789643e-06f, 6.331482573e-06f, 6.390158741e-06f, 6.448818047e-06f, 6.507460390e-06f, 6.566085672e-06f, 6.624693793e-06f, 6.683284652e-06f,
+6.741858150e-06f, 6.800414188e-06f, 6.858952665e-06f, 6.917473483e-06f, 6.975976541e-06f, 7.034461740e-06f, 7.092928980e-06f, 7.151378163e-06f, 7.209809189e-06f, 7.268221958e-06f,
+7.326616372e-06f, 7.384992330e-06f, 7.443349734e-06f, 7.501688485e-06f, 7.560008483e-06f, 7.618309629e-06f, 7.676591825e-06f, 7.734854971e-06f, 7.793098968e-06f, 7.851323718e-06f,
+7.909529121e-06f, 7.967715079e-06f, 8.025881492e-06f, 8.084028263e-06f, 8.142155293e-06f, 8.200262482e-06f, 8.258349732e-06f, 8.316416945e-06f, 8.374464022e-06f, 8.432490865e-06f,
+8.490497375e-06f, 8.548483453e-06f, 8.606449002e-06f, 8.664393924e-06f, 8.722318119e-06f, 8.780221490e-06f, 8.838103938e-06f, 8.895965366e-06f, 8.953805675e-06f, 9.011624767e-06f,
+9.069422545e-06f, 9.127198910e-06f, 9.184953765e-06f, 9.242687011e-06f, 9.300398551e-06f, 9.358088288e-06f, 9.415756123e-06f, 9.473401958e-06f, 9.531025697e-06f, 9.588627242e-06f,
+9.646206495e-06f, 9.703763358e-06f, 9.761297735e-06f, 9.818809527e-06f, 9.876298639e-06f, 9.933764971e-06f, 9.991208428e-06f, 1.004862891e-05f, 1.010602633e-05f, 1.016340057e-05f,
+1.022075155e-05f, 1.027807918e-05f, 1.033538334e-05f, 1.039266395e-05f, 1.044992090e-05f, 1.050715411e-05f, 1.056436347e-05f, 1.062154889e-05f, 1.067871028e-05f, 1.073584752e-05f,
+1.079296054e-05f, 1.085004923e-05f, 1.090711349e-05f, 1.096415323e-05f, 1.102116836e-05f, 1.107815877e-05f, 1.113512437e-05f, 1.119206507e-05f, 1.124898076e-05f, 1.130587136e-05f,
+1.136273676e-05f, 1.141957688e-05f, 1.147639160e-05f, 1.153318085e-05f, 1.158994452e-05f, 1.164668252e-05f, 1.170339474e-05f, 1.176008111e-05f, 1.181674151e-05f, 1.187337586e-05f,
+1.192998406e-05f, 1.198656601e-05f, 1.204312162e-05f, 1.209965079e-05f, 1.215615343e-05f, 1.221262945e-05f, 1.226907874e-05f, 1.232550122e-05f, 1.238189678e-05f, 1.243826533e-05f,
+1.249460679e-05f, 1.255092104e-05f, 1.260720801e-05f, 1.266346759e-05f, 1.271969968e-05f, 1.277590421e-05f, 1.283208106e-05f, 1.288823014e-05f, 1.294435137e-05f, 1.300044464e-05f,
+1.305650987e-05f, 1.311254695e-05f, 1.316855580e-05f, 1.322453631e-05f, 1.328048841e-05f, 1.333641198e-05f, 1.339230694e-05f, 1.344817319e-05f, 1.350401065e-05f, 1.355981921e-05f,
+1.361559878e-05f, 1.367134927e-05f, 1.372707058e-05f, 1.378276263e-05f, 1.383842531e-05f, 1.389405854e-05f, 1.394966221e-05f, 1.400523625e-05f, 1.406078055e-05f, 1.411629502e-05f,
+1.417177957e-05f, 1.422723410e-05f, 1.428265853e-05f, 1.433805276e-05f, 1.439341669e-05f, 1.444875023e-05f, 1.450405330e-05f, 1.455932579e-05f, 1.461456762e-05f, 1.466977869e-05f,
+1.472495891e-05f, 1.478010818e-05f, 1.483522643e-05f, 1.489031354e-05f, 1.494536944e-05f, 1.500039402e-05f, 1.505538720e-05f, 1.511034889e-05f, 1.516527899e-05f, 1.522017740e-05f,
+1.527504405e-05f, 1.532987883e-05f, 1.538468166e-05f, 1.543945244e-05f, 1.549419108e-05f, 1.554889749e-05f, 1.560357158e-05f, 1.565821326e-05f, 1.571282243e-05f, 1.576739901e-05f,
+1.582194290e-05f, 1.587645401e-05f, 1.593093225e-05f, 1.598537753e-05f, 1.603978976e-05f, 1.609416885e-05f, 1.614851471e-05f, 1.620282724e-05f, 1.625710635e-05f, 1.631135197e-05f,
+1.636556398e-05f, 1.641974231e-05f, 1.647388686e-05f, 1.652799755e-05f, 1.658207428e-05f, 1.663611696e-05f, 1.669012551e-05f, 1.674409982e-05f, 1.679803982e-05f, 1.685194541e-05f,
+1.690581650e-05f, 1.695965301e-05f, 1.701345483e-05f, 1.706722189e-05f, 1.712095410e-05f, 1.717465136e-05f, 1.722831358e-05f, 1.728194068e-05f, 1.733553256e-05f, 1.738908914e-05f,
+1.744261032e-05f, 1.749609603e-05f, 1.754954616e-05f, 1.760296063e-05f, 1.765633936e-05f, 1.770968224e-05f, 1.776298920e-05f, 1.781626015e-05f, 1.786949499e-05f, 1.792269364e-05f,
+1.797585600e-05f, 1.802898200e-05f, 1.808207154e-05f, 1.813512453e-05f, 1.818814089e-05f, 1.824112053e-05f, 1.829406335e-05f, 1.834696928e-05f, 1.839983822e-05f, 1.845267009e-05f,
+1.850546480e-05f, 1.855822225e-05f, 1.861094237e-05f, 1.866362506e-05f, 1.871627024e-05f, 1.876887783e-05f, 1.882144772e-05f, 1.887397984e-05f, 1.892647410e-05f, 1.897893041e-05f,
+1.903134868e-05f, 1.908372883e-05f, 1.913607077e-05f, 1.918837442e-05f, 1.924063968e-05f, 1.929286647e-05f, 1.934505471e-05f, 1.939720430e-05f, 1.944931517e-05f, 1.950138722e-05f,
+1.955342036e-05f, 1.960541452e-05f, 1.965736961e-05f, 1.970928553e-05f, 1.976116221e-05f, 1.981299955e-05f, 1.986479748e-05f, 1.991655591e-05f, 1.996827474e-05f, 2.001995390e-05f,
+2.007159330e-05f, 2.012319285e-05f, 2.017475247e-05f, 2.022627208e-05f, 2.027775158e-05f, 2.032919090e-05f, 2.038058994e-05f, 2.043194863e-05f, 2.048326687e-05f, 2.053454459e-05f,
+2.058578170e-05f, 2.063697811e-05f, 2.068813374e-05f, 2.073924851e-05f, 2.079032232e-05f, 2.084135510e-05f, 2.089234677e-05f, 2.094329723e-05f, 2.099420640e-05f, 2.104507420e-05f,
+2.109590055e-05f, 2.114668536e-05f, 2.119742855e-05f, 2.124813004e-05f, 2.129878973e-05f, 2.134940755e-05f, 2.139998341e-05f, 2.145051724e-05f, 2.150100894e-05f, 2.155145843e-05f,
+2.160186564e-05f, 2.165223047e-05f, 2.170255285e-05f, 2.175283269e-05f, 2.180306991e-05f, 2.185326442e-05f, 2.190341615e-05f, 2.195352500e-05f, 2.200359091e-05f, 2.205361378e-05f,
+2.210359354e-05f, 2.215353009e-05f, 2.220342337e-05f, 2.225327328e-05f, 2.230307975e-05f, 2.235284269e-05f, 2.240256203e-05f, 2.245223767e-05f, 2.250186954e-05f, 2.255145756e-05f,
+2.260100164e-05f, 2.265050171e-05f, 2.269995767e-05f, 2.274936946e-05f, 2.279873699e-05f, 2.284806018e-05f, 2.289733895e-05f, 2.294657321e-05f, 2.299576289e-05f, 2.304490790e-05f,
+2.309400817e-05f, 2.314306362e-05f, 2.319207416e-05f, 2.324103971e-05f, 2.328996019e-05f, 2.333883553e-05f, 2.338766564e-05f, 2.343645044e-05f, 2.348518986e-05f, 2.353388381e-05f,
+2.358253221e-05f, 2.363113498e-05f, 2.367969205e-05f, 2.372820334e-05f, 2.377666876e-05f, 2.382508823e-05f, 2.387346168e-05f, 2.392178903e-05f, 2.397007019e-05f, 2.401830510e-05f,
+2.406649367e-05f, 2.411463581e-05f, 2.416273146e-05f, 2.421078054e-05f, 2.425878296e-05f, 2.430673864e-05f, 2.435464752e-05f, 2.440250950e-05f, 2.445032452e-05f, 2.449809249e-05f,
+2.454581334e-05f, 2.459348698e-05f, 2.464111335e-05f, 2.468869236e-05f, 2.473622393e-05f, 2.478370800e-05f, 2.483114447e-05f, 2.487853327e-05f, 2.492587433e-05f, 2.497316757e-05f,
+2.502041290e-05f, 2.506761026e-05f, 2.511475957e-05f, 2.516186075e-05f, 2.520891372e-05f, 2.525591841e-05f, 2.530287474e-05f, 2.534978263e-05f, 2.539664201e-05f, 2.544345280e-05f,
+2.549021493e-05f, 2.553692831e-05f, 2.558359288e-05f, 2.563020855e-05f, 2.567677525e-05f, 2.572329291e-05f, 2.576976145e-05f, 2.581618079e-05f, 2.586255086e-05f, 2.590887159e-05f,
+2.595514289e-05f, 2.600136469e-05f, 2.604753692e-05f, 2.609365951e-05f, 2.613973237e-05f, 2.618575543e-05f, 2.623172862e-05f, 2.627765187e-05f, 2.632352509e-05f, 2.636934822e-05f,
+2.641512118e-05f, 2.646084390e-05f, 2.650651629e-05f, 2.655213830e-05f, 2.659770983e-05f, 2.664323083e-05f, 2.668870121e-05f, 2.673412091e-05f, 2.677948984e-05f, 2.682480794e-05f,
+2.687007513e-05f, 2.691529134e-05f, 2.696045650e-05f, 2.700557053e-05f, 2.705063335e-05f, 2.709564490e-05f, 2.714060511e-05f, 2.718551390e-05f, 2.723037119e-05f, 2.727517692e-05f,
+2.731993102e-05f, 2.736463340e-05f, 2.740928400e-05f, 2.745388275e-05f, 2.749842958e-05f, 2.754292440e-05f, 2.758736716e-05f, 2.763175778e-05f, 2.767609618e-05f, 2.772038230e-05f,
+2.776461606e-05f, 2.780879739e-05f, 2.785292623e-05f, 2.789700250e-05f, 2.794102612e-05f, 2.798499704e-05f, 2.802891517e-05f, 2.807278044e-05f, 2.811659280e-05f, 2.816035216e-05f,
+2.820405845e-05f, 2.824771161e-05f, 2.829131156e-05f, 2.833485824e-05f, 2.837835157e-05f, 2.842179148e-05f, 2.846517791e-05f, 2.850851078e-05f, 2.855179003e-05f, 2.859501558e-05f,
+2.863818737e-05f, 2.868130532e-05f, 2.872436937e-05f, 2.876737945e-05f, 2.881033548e-05f, 2.885323741e-05f, 2.889608515e-05f, 2.893887865e-05f, 2.898161783e-05f, 2.902430263e-05f,
+2.906693297e-05f, 2.910950879e-05f, 2.915203002e-05f, 2.919449658e-05f, 2.923690843e-05f, 2.927926548e-05f, 2.932156766e-05f, 2.936381491e-05f, 2.940600717e-05f, 2.944814436e-05f,
+2.949022642e-05f, 2.953225327e-05f, 2.957422486e-05f, 2.961614112e-05f, 2.965800197e-05f, 2.969980735e-05f, 2.974155720e-05f, 2.978325144e-05f, 2.982489002e-05f, 2.986647286e-05f,
+2.990799989e-05f, 2.994947106e-05f, 2.999088629e-05f, 3.003224553e-05f, 3.007354869e-05f, 3.011479572e-05f, 3.015598656e-05f, 3.019712112e-05f, 3.023819936e-05f, 3.027922121e-05f,
+3.032018659e-05f, 3.036109544e-05f, 3.040194771e-05f, 3.044274332e-05f, 3.048348220e-05f, 3.052416430e-05f, 3.056478955e-05f, 3.060535788e-05f, 3.064586923e-05f, 3.068632354e-05f,
+3.072672074e-05f, 3.076706076e-05f, 3.080734355e-05f, 3.084756903e-05f, 3.088773715e-05f, 3.092784784e-05f, 3.096790103e-05f, 3.100789667e-05f, 3.104783469e-05f, 3.108771502e-05f,
+3.112753761e-05f, 3.116730239e-05f, 3.120700929e-05f, 3.124665826e-05f, 3.128624923e-05f, 3.132578213e-05f, 3.136525691e-05f, 3.140467351e-05f, 3.144403185e-05f, 3.148333188e-05f,
+3.152257354e-05f, 3.156175676e-05f, 3.160088149e-05f, 3.163994765e-05f, 3.167895519e-05f, 3.171790405e-05f, 3.175679416e-05f, 3.179562546e-05f, 3.183439790e-05f, 3.187311140e-05f,
+3.191176592e-05f, 3.195036138e-05f, 3.198889773e-05f, 3.202737491e-05f, 3.206579285e-05f, 3.210415150e-05f, 3.214245080e-05f, 3.218069067e-05f, 3.221887108e-05f, 3.225699194e-05f,
+3.229505321e-05f, 3.233305482e-05f, 3.237099672e-05f, 3.240887884e-05f, 3.244670112e-05f, 3.248446351e-05f, 3.252216595e-05f, 3.255980837e-05f, 3.259739072e-05f, 3.263491293e-05f,
+3.267237496e-05f, 3.270977674e-05f, 3.274711820e-05f, 3.278439930e-05f, 3.282161998e-05f, 3.285878017e-05f, 3.289587981e-05f, 3.293291886e-05f, 3.296989725e-05f, 3.300681492e-05f,
+3.304367181e-05f, 3.308046788e-05f, 3.311720305e-05f, 3.315387728e-05f, 3.319049050e-05f, 3.322704266e-05f, 3.326353369e-05f, 3.329996356e-05f, 3.333633218e-05f, 3.337263952e-05f,
+3.340888551e-05f, 3.344507010e-05f, 3.348119323e-05f, 3.351725484e-05f, 3.355325487e-05f, 3.358919328e-05f, 3.362507000e-05f, 3.366088498e-05f, 3.369663816e-05f, 3.373232949e-05f,
+3.376795891e-05f, 3.380352637e-05f, 3.383903180e-05f, 3.387447517e-05f, 3.390985640e-05f, 3.394517544e-05f, 3.398043225e-05f, 3.401562676e-05f, 3.405075892e-05f, 3.408582868e-05f,
+3.412083598e-05f, 3.415578077e-05f, 3.419066298e-05f, 3.422548258e-05f, 3.426023950e-05f, 3.429493369e-05f, 3.432956510e-05f, 3.436413367e-05f, 3.439863935e-05f, 3.443308209e-05f,
+3.446746182e-05f, 3.450177851e-05f, 3.453603209e-05f, 3.457022252e-05f, 3.460434974e-05f, 3.463841369e-05f, 3.467241433e-05f, 3.470635160e-05f, 3.474022545e-05f, 3.477403582e-05f,
+3.480778268e-05f, 3.484146595e-05f, 3.487508560e-05f, 3.490864156e-05f, 3.494213379e-05f, 3.497556224e-05f, 3.500892686e-05f, 3.504222758e-05f, 3.507546437e-05f, 3.510863716e-05f,
+3.514174592e-05f, 3.517479059e-05f, 3.520777111e-05f, 3.524068744e-05f, 3.527353952e-05f, 3.530632731e-05f, 3.533905076e-05f, 3.537170981e-05f, 3.540430442e-05f, 3.543683453e-05f,
+3.546930009e-05f, 3.550170106e-05f, 3.553403739e-05f, 3.556630902e-05f, 3.559851591e-05f, 3.563065801e-05f, 3.566273527e-05f, 3.569474763e-05f, 3.572669505e-05f, 3.575857749e-05f,
+3.579039489e-05f, 3.582214720e-05f, 3.585383438e-05f, 3.588545637e-05f, 3.591701313e-05f, 3.594850462e-05f, 3.597993077e-05f, 3.601129155e-05f, 3.604258691e-05f, 3.607381680e-05f,
+3.610498117e-05f, 3.613607997e-05f, 3.616711316e-05f, 3.619808069e-05f, 3.622898251e-05f, 3.625981858e-05f, 3.629058885e-05f, 3.632129326e-05f, 3.635193179e-05f, 3.638250437e-05f,
+3.641301097e-05f, 3.644345153e-05f, 3.647382602e-05f, 3.650413437e-05f, 3.653437656e-05f, 3.656455253e-05f, 3.659466223e-05f, 3.662470563e-05f, 3.665468267e-05f, 3.668459332e-05f,
+3.671443752e-05f, 3.674421523e-05f, 3.677392640e-05f, 3.680357100e-05f, 3.683314897e-05f, 3.686266028e-05f, 3.689210487e-05f, 3.692148270e-05f, 3.695079373e-05f, 3.698003792e-05f,
+3.700921522e-05f, 3.703832558e-05f, 3.706736897e-05f, 3.709634534e-05f, 3.712525464e-05f, 3.715409683e-05f, 3.718287188e-05f, 3.721157973e-05f, 3.724022034e-05f, 3.726879367e-05f,
+3.729729968e-05f, 3.732573833e-05f, 3.735410956e-05f, 3.738241335e-05f, 3.741064964e-05f, 3.743881840e-05f, 3.746691959e-05f, 3.749495315e-05f, 3.752291906e-05f, 3.755081726e-05f,
+3.757864771e-05f, 3.760641039e-05f, 3.763410523e-05f, 3.766173221e-05f, 3.768929128e-05f, 3.771678240e-05f, 3.774420553e-05f, 3.777156063e-05f, 3.779884766e-05f, 3.782606657e-05f,
+3.785321733e-05f, 3.788029990e-05f, 3.790731424e-05f, 3.793426030e-05f, 3.796113805e-05f, 3.798794745e-05f, 3.801468846e-05f, 3.804136103e-05f, 3.806796514e-05f, 3.809450073e-05f,
+3.812096777e-05f, 3.814736623e-05f, 3.817369606e-05f, 3.819995722e-05f, 3.822614968e-05f, 3.825227339e-05f, 3.827832833e-05f, 3.830431444e-05f, 3.833023170e-05f, 3.835608006e-05f,
+3.838185949e-05f, 3.840756994e-05f, 3.843321139e-05f, 3.845878379e-05f, 3.848428710e-05f, 3.850972130e-05f, 3.853508633e-05f, 3.856038217e-05f, 3.858560878e-05f, 3.861076612e-05f,
+3.863585415e-05f, 3.866087284e-05f, 3.868582215e-05f, 3.871070205e-05f, 3.873551249e-05f, 3.876025345e-05f, 3.878492489e-05f, 3.880952676e-05f, 3.883405904e-05f, 3.885852169e-05f,
+3.888291468e-05f, 3.890723796e-05f, 3.893149151e-05f, 3.895567529e-05f, 3.897978926e-05f, 3.900383339e-05f, 3.902780765e-05f, 3.905171199e-05f, 3.907554639e-05f, 3.909931081e-05f,
+3.912300522e-05f, 3.914662958e-05f, 3.917018386e-05f, 3.919366803e-05f, 3.921708205e-05f, 3.924042588e-05f, 3.926369950e-05f, 3.928690288e-05f, 3.931003597e-05f, 3.933309874e-05f,
+3.935609117e-05f, 3.937901321e-05f, 3.940186485e-05f, 3.942464603e-05f, 3.944735674e-05f, 3.946999694e-05f, 3.949256660e-05f, 3.951506568e-05f, 3.953749415e-05f, 3.955985199e-05f,
+3.958213915e-05f, 3.960435562e-05f, 3.962650135e-05f, 3.964857631e-05f, 3.967058048e-05f, 3.969251383e-05f, 3.971437631e-05f, 3.973616791e-05f, 3.975788859e-05f, 3.977953832e-05f,
+3.980111707e-05f, 3.982262481e-05f, 3.984406151e-05f, 3.986542713e-05f, 3.988672166e-05f, 3.990794506e-05f, 3.992909730e-05f, 3.995017834e-05f, 3.997118817e-05f, 3.999212675e-05f,
+4.001299406e-05f, 4.003379006e-05f, 4.005451472e-05f, 4.007516802e-05f, 4.009574992e-05f, 4.011626041e-05f, 4.013669944e-05f, 4.015706700e-05f, 4.017736305e-05f, 4.019758757e-05f,
+4.021774052e-05f, 4.023782189e-05f, 4.025783164e-05f, 4.027776974e-05f, 4.029763617e-05f, 4.031743091e-05f, 4.033715391e-05f, 4.035680517e-05f, 4.037638464e-05f, 4.039589230e-05f,
+4.041532813e-05f, 4.043469211e-05f, 4.045398419e-05f, 4.047320436e-05f, 4.049235259e-05f, 4.051142886e-05f, 4.053043314e-05f, 4.054936540e-05f, 4.056822562e-05f, 4.058701377e-05f,
+4.060572983e-05f, 4.062437377e-05f, 4.064294556e-05f, 4.066144519e-05f, 4.067987262e-05f, 4.069822784e-05f, 4.071651082e-05f, 4.073472152e-05f, 4.075285994e-05f, 4.077092604e-05f,
+4.078891980e-05f, 4.080684120e-05f, 4.082469021e-05f, 4.084246681e-05f, 4.086017098e-05f, 4.087780268e-05f, 4.089536191e-05f, 4.091284863e-05f, 4.093026283e-05f, 4.094760447e-05f,
+4.096487354e-05f, 4.098207002e-05f, 4.099919387e-05f, 4.101624509e-05f, 4.103322364e-05f, 4.105012951e-05f, 4.106696267e-05f, 4.108372310e-05f, 4.110041078e-05f, 4.111702569e-05f,
+4.113356780e-05f, 4.115003710e-05f, 4.116643356e-05f, 4.118275717e-05f, 4.119900789e-05f, 4.121518571e-05f, 4.123129062e-05f, 4.124732258e-05f, 4.126328158e-05f, 4.127916760e-05f,
+4.129498062e-05f, 4.131072062e-05f, 4.132638757e-05f, 4.134198146e-05f, 4.135750227e-05f, 4.137294997e-05f, 4.138832456e-05f, 4.140362601e-05f, 4.141885429e-05f, 4.143400940e-05f,
+4.144909131e-05f, 4.146410001e-05f, 4.147903546e-05f, 4.149389767e-05f, 4.150868660e-05f, 4.152340225e-05f, 4.153804458e-05f, 4.155261359e-05f, 4.156710926e-05f, 4.158153156e-05f,
+4.159588048e-05f, 4.161015600e-05f, 4.162435811e-05f, 4.163848679e-05f, 4.165254202e-05f, 4.166652378e-05f, 4.168043206e-05f, 4.169426684e-05f, 4.170802810e-05f, 4.172171583e-05f,
+4.173533001e-05f, 4.174887063e-05f, 4.176233766e-05f, 4.177573109e-05f, 4.178905092e-05f, 4.180229711e-05f, 4.181546965e-05f, 4.182856854e-05f, 4.184159375e-05f, 4.185454527e-05f,
+4.186742309e-05f, 4.188022718e-05f, 4.189295754e-05f, 4.190561414e-05f, 4.191819699e-05f, 4.193070605e-05f, 4.194314132e-05f, 4.195550278e-05f, 4.196779042e-05f, 4.198000422e-05f,
+4.199214417e-05f, 4.200421026e-05f, 4.201620247e-05f, 4.202812080e-05f, 4.203996521e-05f, 4.205173572e-05f, 4.206343229e-05f, 4.207505492e-05f, 4.208660359e-05f, 4.209807830e-05f,
+4.210947902e-05f, 4.212080576e-05f, 4.213205848e-05f, 4.214323719e-05f, 4.215434188e-05f, 4.216537252e-05f, 4.217632910e-05f, 4.218721163e-05f, 4.219802007e-05f, 4.220875443e-05f,
+4.221941470e-05f, 4.223000085e-05f, 4.224051288e-05f, 4.225095078e-05f, 4.226131454e-05f, 4.227160415e-05f, 4.228181959e-05f, 4.229196086e-05f, 4.230202795e-05f, 4.231202084e-05f,
+4.232193953e-05f, 4.233178401e-05f, 4.234155426e-05f, 4.235125029e-05f, 4.236087207e-05f, 4.237041960e-05f, 4.237989287e-05f, 4.238929187e-05f, 4.239861659e-05f, 4.240786703e-05f,
+4.241704317e-05f, 4.242614501e-05f, 4.243517253e-05f, 4.244412574e-05f, 4.245300462e-05f, 4.246180916e-05f, 4.247053935e-05f, 4.247919520e-05f, 4.248777668e-05f, 4.249628380e-05f,
+4.250471655e-05f, 4.251307491e-05f, 4.252135888e-05f, 4.252956846e-05f, 4.253770364e-05f, 4.254576441e-05f, 4.255375076e-05f, 4.256166269e-05f, 4.256950019e-05f, 4.257726326e-05f,
+4.258495189e-05f, 4.259256607e-05f, 4.260010580e-05f, 4.260757107e-05f, 4.261496188e-05f, 4.262227822e-05f, 4.262952009e-05f, 4.263668748e-05f, 4.264378038e-05f, 4.265079880e-05f,
+4.265774272e-05f, 4.266461214e-05f, 4.267140707e-05f, 4.267812748e-05f, 4.268477339e-05f, 4.269134477e-05f, 4.269784164e-05f, 4.270426399e-05f, 4.271061181e-05f, 4.271688510e-05f,
+4.272308386e-05f, 4.272920808e-05f, 4.273525776e-05f, 4.274123290e-05f, 4.274713349e-05f, 4.275295953e-05f, 4.275871102e-05f, 4.276438796e-05f, 4.276999034e-05f, 4.277551816e-05f,
+4.278097142e-05f, 4.278635012e-05f, 4.279165425e-05f, 4.279688382e-05f, 4.280203882e-05f, 4.280711925e-05f, 4.281212511e-05f, 4.281705640e-05f, 4.282191311e-05f, 4.282669525e-05f,
+4.283140281e-05f, 4.283603580e-05f, 4.284059422e-05f, 4.284507805e-05f, 4.284948731e-05f, 4.285382199e-05f, 4.285808209e-05f, 4.286226762e-05f, 4.286637857e-05f, 4.287041494e-05f,
+4.287437674e-05f, 4.287826396e-05f, 4.288207660e-05f, 4.288581467e-05f, 4.288947817e-05f, 4.289306709e-05f, 4.289658145e-05f, 4.290002123e-05f, 4.290338645e-05f, 4.290667710e-05f,
+4.290989318e-05f, 4.291303470e-05f, 4.291610166e-05f, 4.291909407e-05f, 4.292201191e-05f, 4.292485520e-05f, 4.292762394e-05f, 4.293031813e-05f, 4.293293777e-05f, 4.293548287e-05f,
+4.293795343e-05f, 4.294034946e-05f, 4.294267094e-05f, 4.294491790e-05f, 4.294709033e-05f, 4.294918824e-05f, 4.295121163e-05f, 4.295316050e-05f, 4.295503486e-05f, 4.295683471e-05f,
+4.295856006e-05f, 4.296021092e-05f, 4.296178727e-05f, 4.296328914e-05f, 4.296471652e-05f, 4.296606943e-05f, 4.296734786e-05f, 4.296855182e-05f, 4.296968131e-05f, 4.297073635e-05f,
+4.297171693e-05f, 4.297262307e-05f, 4.297345477e-05f, 4.297421203e-05f, 4.297489486e-05f, 4.297550327e-05f, 4.297603726e-05f, 4.297649684e-05f, 4.297688202e-05f, 4.297719280e-05f,
+4.297742919e-05f, 4.297759120e-05f, 4.297767883e-05f, 4.297769209e-05f, 4.297763100e-05f, 4.297749555e-05f, 4.297728575e-05f, 4.297700161e-05f, 4.297664315e-05f, 4.297621036e-05f,
+4.297570326e-05f, 4.297512185e-05f, 4.297446615e-05f, 4.297373615e-05f, 4.297293188e-05f, 4.297205333e-05f, 4.297110053e-05f, 4.297007346e-05f, 4.296897216e-05f, 4.296779662e-05f,
+4.296654685e-05f, 4.296522287e-05f, 4.296382468e-05f, 4.296235230e-05f, 4.296080573e-05f, 4.295918498e-05f, 4.295749007e-05f, 4.295572100e-05f, 4.295387778e-05f, 4.295196043e-05f,
+4.294996896e-05f, 4.294790337e-05f, 4.294576368e-05f, 4.294354990e-05f, 4.294126204e-05f, 4.293890011e-05f, 4.293646413e-05f, 4.293395410e-05f, 4.293137003e-05f, 4.292871194e-05f,
+4.292597984e-05f, 4.292317375e-05f, 4.292029367e-05f, 4.291733961e-05f, 4.291431160e-05f, 4.291120963e-05f, 4.290803373e-05f, 4.290478391e-05f, 4.290146018e-05f, 4.289806255e-05f,
+4.289459104e-05f, 4.289104566e-05f, 4.288742642e-05f, 4.288373334e-05f, 4.287996644e-05f, 4.287612571e-05f, 4.287221119e-05f, 4.286822287e-05f, 4.286416079e-05f, 4.286002495e-05f,
+4.285581536e-05f, 4.285153205e-05f, 4.284717502e-05f, 4.284274429e-05f, 4.283823987e-05f, 4.283366179e-05f, 4.282901005e-05f, 4.282428468e-05f, 4.281948568e-05f, 4.281461307e-05f,
+4.280966687e-05f, 4.280464710e-05f, 4.279955376e-05f, 4.279438689e-05f, 4.278914648e-05f, 4.278383257e-05f, 4.277844516e-05f, 4.277298427e-05f, 4.276744992e-05f, 4.276184213e-05f,
+4.275616091e-05f, 4.275040628e-05f, 4.274457826e-05f, 4.273867686e-05f, 4.273270210e-05f, 4.272665401e-05f, 4.272053259e-05f, 4.271433787e-05f, 4.270806986e-05f, 4.270172859e-05f,
+4.269531406e-05f, 4.268882630e-05f, 4.268226533e-05f, 4.267563117e-05f, 4.266892383e-05f, 4.266214334e-05f, 4.265528970e-05f, 4.264836295e-05f, 4.264136310e-05f, 4.263429017e-05f,
+4.262714418e-05f, 4.261992515e-05f, 4.261263310e-05f, 4.260526804e-05f, 4.259783001e-05f, 4.259031902e-05f, 4.258273508e-05f, 4.257507823e-05f, 4.256734848e-05f, 4.255954585e-05f,
+4.255167036e-05f, 4.254372203e-05f, 4.253570089e-05f, 4.252760695e-05f, 4.251944024e-05f, 4.251120078e-05f, 4.250288858e-05f, 4.249450368e-05f, 4.248604609e-05f, 4.247751583e-05f,
+4.246891293e-05f, 4.246023741e-05f, 4.245148930e-05f, 4.244266860e-05f, 4.243377535e-05f, 4.242480957e-05f, 4.241577128e-05f, 4.240666051e-05f, 4.239747727e-05f, 4.238822159e-05f,
+4.237889350e-05f, 4.236949301e-05f, 4.236002015e-05f, 4.235047495e-05f, 4.234085742e-05f, 4.233116760e-05f, 4.232140550e-05f, 4.231157116e-05f, 4.230166458e-05f, 4.229168581e-05f,
+4.228163485e-05f, 4.227151175e-05f, 4.226131652e-05f, 4.225104918e-05f, 4.224070977e-05f, 4.223029830e-05f, 4.221981481e-05f, 4.220925931e-05f, 4.219863183e-05f, 4.218793241e-05f,
+4.217716106e-05f, 4.216631781e-05f, 4.215540268e-05f, 4.214441571e-05f, 4.213335692e-05f, 4.212222633e-05f, 4.211102397e-05f, 4.209974987e-05f, 4.208840405e-05f, 4.207698655e-05f,
+4.206549738e-05f, 4.205393658e-05f, 4.204230417e-05f, 4.203060018e-05f, 4.201882464e-05f, 4.200697757e-05f, 4.199505900e-05f, 4.198306896e-05f, 4.197100749e-05f, 4.195887459e-05f,
+4.194667031e-05f, 4.193439468e-05f, 4.192204771e-05f, 4.190962944e-05f, 4.189713990e-05f, 4.188457912e-05f, 4.187194712e-05f, 4.185924393e-05f, 4.184646959e-05f, 4.183362412e-05f,
+4.182070756e-05f, 4.180771992e-05f, 4.179466125e-05f, 4.178153156e-05f, 4.176833090e-05f, 4.175505929e-05f, 4.174171675e-05f, 4.172830333e-05f, 4.171481905e-05f, 4.170126394e-05f,
+4.168763803e-05f, 4.167394135e-05f, 4.166017394e-05f, 4.164633582e-05f, 4.163242702e-05f, 4.161844759e-05f, 4.160439753e-05f, 4.159027690e-05f, 4.157608572e-05f, 4.156182402e-05f,
+4.154749184e-05f, 4.153308920e-05f, 4.151861613e-05f, 4.150407268e-05f, 4.148945887e-05f, 4.147477473e-05f, 4.146002030e-05f, 4.144519561e-05f, 4.143030069e-05f, 4.141533557e-05f,
+4.140030029e-05f, 4.138519488e-05f, 4.137001938e-05f, 4.135477381e-05f, 4.133945821e-05f, 4.132407262e-05f, 4.130861706e-05f, 4.129309158e-05f, 4.127749620e-05f, 4.126183096e-05f,
+4.124609589e-05f, 4.123029103e-05f, 4.121441641e-05f, 4.119847207e-05f, 4.118245803e-05f, 4.116637435e-05f, 4.115022104e-05f, 4.113399815e-05f, 4.111770570e-05f, 4.110134375e-05f,
+4.108491231e-05f, 4.106841143e-05f, 4.105184114e-05f, 4.103520147e-05f, 4.101849247e-05f, 4.100171417e-05f, 4.098486660e-05f, 4.096794981e-05f, 4.095096382e-05f, 4.093390867e-05f,
+4.091678440e-05f, 4.089959105e-05f, 4.088232865e-05f, 4.086499724e-05f, 4.084759685e-05f, 4.083012753e-05f, 4.081258931e-05f, 4.079498223e-05f, 4.077730632e-05f, 4.075956163e-05f,
+4.074174818e-05f, 4.072386603e-05f, 4.070591519e-05f, 4.068789573e-05f, 4.066980766e-05f, 4.065165103e-05f, 4.063342588e-05f, 4.061513225e-05f, 4.059677017e-05f, 4.057833969e-05f,
+4.055984084e-05f, 4.054127366e-05f, 4.052263818e-05f, 4.050393446e-05f, 4.048516253e-05f, 4.046632242e-05f, 4.044741418e-05f, 4.042843785e-05f, 4.040939347e-05f, 4.039028107e-05f,
+4.037110069e-05f, 4.035185238e-05f, 4.033253618e-05f, 4.031315213e-05f, 4.029370026e-05f, 4.027418061e-05f, 4.025459324e-05f, 4.023493817e-05f, 4.021521545e-05f, 4.019542512e-05f,
+4.017556723e-05f, 4.015564180e-05f, 4.013564889e-05f, 4.011558853e-05f, 4.009546077e-05f, 4.007526564e-05f, 4.005500320e-05f, 4.003467347e-05f, 4.001427651e-05f, 3.999381236e-05f,
+3.997328105e-05f, 3.995268263e-05f, 3.993201714e-05f, 3.991128463e-05f, 3.989048513e-05f, 3.986961869e-05f, 3.984868536e-05f, 3.982768517e-05f, 3.980661817e-05f, 3.978548440e-05f,
+3.976428390e-05f, 3.974301672e-05f, 3.972168291e-05f, 3.970028250e-05f, 3.967881553e-05f, 3.965728206e-05f, 3.963568213e-05f, 3.961401578e-05f, 3.959228305e-05f, 3.957048399e-05f,
+3.954861864e-05f, 3.952668706e-05f, 3.950468927e-05f, 3.948262533e-05f, 3.946049528e-05f, 3.943829917e-05f, 3.941603704e-05f, 3.939370894e-05f, 3.937131491e-05f, 3.934885500e-05f,
+3.932632925e-05f, 3.930373771e-05f, 3.928108042e-05f, 3.925835743e-05f, 3.923556879e-05f, 3.921271454e-05f, 3.918979473e-05f, 3.916680940e-05f, 3.914375861e-05f, 3.912064239e-05f,
+3.909746079e-05f, 3.907421386e-05f, 3.905090165e-05f, 3.902752421e-05f, 3.900408157e-05f, 3.898057379e-05f, 3.895700092e-05f, 3.893336300e-05f, 3.890966008e-05f, 3.888589221e-05f,
+3.886205943e-05f, 3.883816180e-05f, 3.881419935e-05f, 3.879017215e-05f, 3.876608023e-05f, 3.874192364e-05f, 3.871770244e-05f, 3.869341667e-05f, 3.866906638e-05f, 3.864465162e-05f,
+3.862017243e-05f, 3.859562887e-05f, 3.857102099e-05f, 3.854634883e-05f, 3.852161244e-05f, 3.849681188e-05f, 3.847194718e-05f, 3.844701841e-05f, 3.842202561e-05f, 3.839696883e-05f,
+3.837184812e-05f, 3.834666352e-05f, 3.832141510e-05f, 3.829610290e-05f, 3.827072697e-05f, 3.824528736e-05f, 3.821978412e-05f, 3.819421730e-05f, 3.816858695e-05f, 3.814289313e-05f,
+3.811713588e-05f, 3.809131525e-05f, 3.806543130e-05f, 3.803948408e-05f, 3.801347363e-05f, 3.798740001e-05f, 3.796126327e-05f, 3.793506347e-05f, 3.790880065e-05f, 3.788247486e-05f,
+3.785608617e-05f, 3.782963461e-05f, 3.780312024e-05f, 3.777654312e-05f, 3.774990329e-05f, 3.772320081e-05f, 3.769643573e-05f, 3.766960811e-05f, 3.764271799e-05f, 3.761576543e-05f,
+3.758875048e-05f, 3.756167320e-05f, 3.753453363e-05f, 3.750733184e-05f, 3.748006787e-05f, 3.745274177e-05f, 3.742535361e-05f, 3.739790344e-05f, 3.737039130e-05f, 3.734281725e-05f,
+3.731518135e-05f, 3.728748365e-05f, 3.725972421e-05f, 3.723190307e-05f, 3.720402030e-05f, 3.717607595e-05f, 3.714807006e-05f, 3.712000271e-05f, 3.709187393e-05f, 3.706368379e-05f,
+3.703543234e-05f, 3.700711964e-05f, 3.697874574e-05f, 3.695031069e-05f, 3.692181456e-05f, 3.689325740e-05f, 3.686463925e-05f, 3.683596019e-05f, 3.680722026e-05f, 3.677841952e-05f,
+3.674955803e-05f, 3.672063583e-05f, 3.669165300e-05f, 3.666260958e-05f, 3.663350563e-05f, 3.660434121e-05f, 3.657511637e-05f, 3.654583117e-05f, 3.651648567e-05f, 3.648707992e-05f,
+3.645761398e-05f, 3.642808791e-05f, 3.639850177e-05f, 3.636885561e-05f, 3.633914948e-05f, 3.630938346e-05f, 3.627955759e-05f, 3.624967193e-05f, 3.621972654e-05f, 3.618972147e-05f,
+3.615965679e-05f, 3.612953256e-05f, 3.609934883e-05f, 3.606910565e-05f, 3.603880310e-05f, 3.600844122e-05f, 3.597802007e-05f, 3.594753972e-05f, 3.591700022e-05f, 3.588640164e-05f,
+3.585574402e-05f, 3.582502743e-05f, 3.579425192e-05f, 3.576341757e-05f, 3.573252442e-05f, 3.570157254e-05f, 3.567056198e-05f, 3.563949280e-05f, 3.560836507e-05f, 3.557717885e-05f,
+3.554593419e-05f, 3.551463115e-05f, 3.548326979e-05f, 3.545185018e-05f, 3.542037237e-05f, 3.538883643e-05f, 3.535724241e-05f, 3.532559038e-05f, 3.529388039e-05f, 3.526211251e-05f,
+3.523028680e-05f, 3.519840331e-05f, 3.516646212e-05f, 3.513446327e-05f, 3.510240684e-05f, 3.507029287e-05f, 3.503812144e-05f, 3.500589261e-05f, 3.497360644e-05f, 3.494126298e-05f,
+3.490886230e-05f, 3.487640446e-05f, 3.484388953e-05f, 3.481131757e-05f, 3.477868863e-05f, 3.474600278e-05f, 3.471326009e-05f, 3.468046061e-05f, 3.464760440e-05f, 3.461469154e-05f,
+3.458172208e-05f, 3.454869608e-05f, 3.451561362e-05f, 3.448247474e-05f, 3.444927952e-05f, 3.441602801e-05f, 3.438272029e-05f, 3.434935640e-05f, 3.431593643e-05f, 3.428246042e-05f,
+3.424892845e-05f, 3.421534058e-05f, 3.418169686e-05f, 3.414799738e-05f, 3.411424218e-05f, 3.408043133e-05f, 3.404656490e-05f, 3.401264296e-05f, 3.397866555e-05f, 3.394463276e-05f,
+3.391054465e-05f, 3.387640127e-05f, 3.384220269e-05f, 3.380794898e-05f, 3.377364021e-05f, 3.373927643e-05f, 3.370485772e-05f, 3.367038413e-05f, 3.363585574e-05f, 3.360127261e-05f,
+3.356663480e-05f, 3.353194238e-05f, 3.349719541e-05f, 3.346239396e-05f, 3.342753810e-05f, 3.339262789e-05f, 3.335766340e-05f, 3.332264470e-05f, 3.328757184e-05f, 3.325244490e-05f,
+3.321726393e-05f, 3.318202902e-05f, 3.314674023e-05f, 3.311139761e-05f, 3.307600124e-05f, 3.304055119e-05f, 3.300504751e-05f, 3.296949029e-05f, 3.293387958e-05f, 3.289821545e-05f,
+3.286249797e-05f, 3.282672720e-05f, 3.279090322e-05f, 3.275502609e-05f, 3.271909588e-05f, 3.268311265e-05f, 3.264707648e-05f, 3.261098742e-05f, 3.257484556e-05f, 3.253865095e-05f,
+3.250240367e-05f, 3.246610378e-05f, 3.242975134e-05f, 3.239334644e-05f, 3.235688914e-05f, 3.232037950e-05f, 3.228381759e-05f, 3.224720348e-05f, 3.221053725e-05f, 3.217381896e-05f,
+3.213704867e-05f, 3.210022646e-05f, 3.206335240e-05f, 3.202642655e-05f, 3.198944898e-05f, 3.195241977e-05f, 3.191533898e-05f, 3.187820669e-05f, 3.184102295e-05f, 3.180378785e-05f,
+3.176650145e-05f, 3.172916381e-05f, 3.169177502e-05f, 3.165433513e-05f, 3.161684423e-05f, 3.157930238e-05f, 3.154170964e-05f, 3.150406610e-05f, 3.146637181e-05f, 3.142862686e-05f,
+3.139083130e-05f, 3.135298522e-05f, 3.131508868e-05f, 3.127714175e-05f, 3.123914451e-05f, 3.120109702e-05f, 3.116299935e-05f, 3.112485158e-05f, 3.108665378e-05f, 3.104840601e-05f,
+3.101010836e-05f, 3.097176088e-05f, 3.093336366e-05f, 3.089491676e-05f, 3.085642026e-05f, 3.081787422e-05f, 3.077927872e-05f, 3.074063383e-05f, 3.070193963e-05f, 3.066319617e-05f,
+3.062440354e-05f, 3.058556181e-05f, 3.054667105e-05f, 3.050773134e-05f, 3.046874273e-05f, 3.042970532e-05f, 3.039061916e-05f, 3.035148433e-05f, 3.031230091e-05f, 3.027306897e-05f,
+3.023378857e-05f, 3.019445980e-05f, 3.015508273e-05f, 3.011565742e-05f, 3.007618396e-05f, 3.003666241e-05f, 2.999709284e-05f, 2.995747534e-05f, 2.991780998e-05f, 2.987809682e-05f,
+2.983833594e-05f, 2.979852742e-05f, 2.975867133e-05f, 2.971876774e-05f, 2.967881673e-05f, 2.963881837e-05f, 2.959877274e-05f, 2.955867990e-05f, 2.951853993e-05f, 2.947835291e-05f,
+2.943811892e-05f, 2.939783801e-05f, 2.935751028e-05f, 2.931713580e-05f, 2.927671463e-05f, 2.923624685e-05f, 2.919573255e-05f, 2.915517178e-05f, 2.911456464e-05f, 2.907391119e-05f,
+2.903321150e-05f, 2.899246566e-05f, 2.895167374e-05f, 2.891083581e-05f, 2.886995195e-05f, 2.882902223e-05f, 2.878804673e-05f, 2.874702553e-05f, 2.870595870e-05f, 2.866484631e-05f,
+2.862368845e-05f, 2.858248518e-05f, 2.854123659e-05f, 2.849994275e-05f, 2.845860373e-05f, 2.841721962e-05f, 2.837579048e-05f, 2.833431640e-05f, 2.829279744e-05f, 2.825123370e-05f,
+2.820962523e-05f, 2.816797213e-05f, 2.812627446e-05f, 2.808453231e-05f, 2.804274574e-05f, 2.800091484e-05f, 2.795903969e-05f, 2.791712035e-05f, 2.787515691e-05f, 2.783314945e-05f,
+2.779109804e-05f, 2.774900275e-05f, 2.770686367e-05f, 2.766468088e-05f, 2.762245444e-05f, 2.758018445e-05f, 2.753787096e-05f, 2.749551408e-05f, 2.745311386e-05f, 2.741067039e-05f,
+2.736818374e-05f, 2.732565400e-05f, 2.728308125e-05f, 2.724046555e-05f, 2.719780699e-05f, 2.715510565e-05f, 2.711236160e-05f, 2.706957492e-05f, 2.702674570e-05f, 2.698387400e-05f,
+2.694095991e-05f, 2.689800351e-05f, 2.685500488e-05f, 2.681196408e-05f, 2.676888121e-05f, 2.672575634e-05f, 2.668258955e-05f, 2.663938092e-05f, 2.659613053e-05f, 2.655283846e-05f,
+2.650950478e-05f, 2.646612957e-05f, 2.642271292e-05f, 2.637925491e-05f, 2.633575561e-05f, 2.629221510e-05f, 2.624863346e-05f, 2.620501077e-05f, 2.616134712e-05f, 2.611764258e-05f,
+2.607389722e-05f, 2.603011114e-05f, 2.598628441e-05f, 2.594241711e-05f, 2.589850932e-05f, 2.585456111e-05f, 2.581057258e-05f, 2.576654380e-05f, 2.572247486e-05f, 2.567836582e-05f,
+2.563421677e-05f, 2.559002780e-05f, 2.554579898e-05f, 2.550153039e-05f, 2.545722212e-05f, 2.541287424e-05f, 2.536848683e-05f, 2.532405998e-05f, 2.527959377e-05f, 2.523508827e-05f,
+2.519054358e-05f, 2.514595976e-05f, 2.510133691e-05f, 2.505667509e-05f, 2.501197440e-05f, 2.496723492e-05f, 2.492245672e-05f, 2.487763988e-05f, 2.483278450e-05f, 2.478789064e-05f,
+2.474295840e-05f, 2.469798785e-05f, 2.465297908e-05f, 2.460793216e-05f, 2.456284718e-05f, 2.451772422e-05f, 2.447256336e-05f, 2.442736469e-05f, 2.438212828e-05f, 2.433685422e-05f,
+2.429154260e-05f, 2.424619348e-05f, 2.420080696e-05f, 2.415538312e-05f, 2.410992203e-05f, 2.406442379e-05f, 2.401888848e-05f, 2.397331617e-05f, 2.392770695e-05f, 2.388206090e-05f,
+2.383637810e-05f, 2.379065865e-05f, 2.374490261e-05f, 2.369911008e-05f, 2.365328114e-05f, 2.360741586e-05f, 2.356151434e-05f, 2.351557665e-05f, 2.346960288e-05f, 2.342359311e-05f,
+2.337754743e-05f, 2.333146592e-05f, 2.328534866e-05f, 2.323919573e-05f, 2.319300722e-05f, 2.314678321e-05f, 2.310052379e-05f, 2.305422904e-05f, 2.300789904e-05f, 2.296153388e-05f,
+2.291513364e-05f, 2.286869840e-05f, 2.282222825e-05f, 2.277572327e-05f, 2.272918355e-05f, 2.268260917e-05f, 2.263600021e-05f, 2.258935676e-05f, 2.254267891e-05f, 2.249596673e-05f,
+2.244922031e-05f, 2.240243974e-05f, 2.235562509e-05f, 2.230877647e-05f, 2.226189394e-05f, 2.221497759e-05f, 2.216802751e-05f, 2.212104379e-05f, 2.207402650e-05f, 2.202697573e-05f,
+2.197989157e-05f, 2.193277410e-05f, 2.188562341e-05f, 2.183843958e-05f, 2.179122270e-05f, 2.174397285e-05f, 2.169669011e-05f, 2.164937458e-05f, 2.160202633e-05f, 2.155464546e-05f,
+2.150723204e-05f, 2.145978617e-05f, 2.141230793e-05f, 2.136479739e-05f, 2.131725466e-05f, 2.126967981e-05f, 2.122207294e-05f, 2.117443412e-05f, 2.112676344e-05f, 2.107906098e-05f,
+2.103132684e-05f, 2.098356110e-05f, 2.093576385e-05f, 2.088793516e-05f, 2.084007513e-05f, 2.079218384e-05f, 2.074426139e-05f, 2.069630784e-05f, 2.064832330e-05f, 2.060030784e-05f,
+2.055226156e-05f, 2.050418454e-05f, 2.045607686e-05f, 2.040793861e-05f, 2.035976988e-05f, 2.031157076e-05f, 2.026334133e-05f, 2.021508168e-05f, 2.016679189e-05f, 2.011847205e-05f,
+2.007012225e-05f, 2.002174257e-05f, 1.997333311e-05f, 1.992489394e-05f, 1.987642516e-05f, 1.982792684e-05f, 1.977939909e-05f, 1.973084198e-05f, 1.968225561e-05f, 1.963364005e-05f,
+1.958499541e-05f, 1.953632175e-05f, 1.948761918e-05f, 1.943888777e-05f, 1.939012762e-05f, 1.934133881e-05f, 1.929252143e-05f, 1.924367557e-05f, 1.919480131e-05f, 1.914589875e-05f,
+1.909696796e-05f, 1.904800904e-05f, 1.899902208e-05f, 1.895000716e-05f, 1.890096437e-05f, 1.885189379e-05f, 1.880279553e-05f, 1.875366965e-05f, 1.870451626e-05f, 1.865533543e-05f,
+1.860612726e-05f, 1.855689184e-05f, 1.850762925e-05f, 1.845833957e-05f, 1.840902291e-05f, 1.835967934e-05f, 1.831030896e-05f, 1.826091185e-05f, 1.821148811e-05f, 1.816203781e-05f,
+1.811256105e-05f, 1.806305791e-05f, 1.801352849e-05f, 1.796397287e-05f, 1.791439115e-05f, 1.786478340e-05f, 1.781514972e-05f, 1.776549020e-05f, 1.771580492e-05f, 1.766609397e-05f,
+1.761635745e-05f, 1.756659544e-05f, 1.751680802e-05f, 1.746699530e-05f, 1.741715735e-05f, 1.736729427e-05f, 1.731740614e-05f, 1.726749306e-05f, 1.721755511e-05f, 1.716759238e-05f,
+1.711760496e-05f, 1.706759294e-05f, 1.701755641e-05f, 1.696749545e-05f, 1.691741016e-05f, 1.686730063e-05f, 1.681716694e-05f, 1.676700919e-05f, 1.671682746e-05f, 1.666662184e-05f,
+1.661639242e-05f, 1.656613930e-05f, 1.651586256e-05f, 1.646556228e-05f, 1.641523857e-05f, 1.636489150e-05f, 1.631452117e-05f, 1.626412767e-05f, 1.621371109e-05f, 1.616327151e-05f,
+1.611280903e-05f, 1.606232374e-05f, 1.601181572e-05f, 1.596128507e-05f, 1.591073188e-05f, 1.586015623e-05f, 1.580955821e-05f, 1.575893792e-05f, 1.570829544e-05f, 1.565763087e-05f,
+1.560694429e-05f, 1.555623580e-05f, 1.550550548e-05f, 1.545475342e-05f, 1.540397972e-05f, 1.535318447e-05f, 1.530236775e-05f, 1.525152965e-05f, 1.520067027e-05f, 1.514978969e-05f,
+1.509888801e-05f, 1.504796531e-05f, 1.499702169e-05f, 1.494605723e-05f, 1.489507203e-05f, 1.484406618e-05f, 1.479303977e-05f, 1.474199288e-05f, 1.469092561e-05f, 1.463983804e-05f,
+1.458873028e-05f, 1.453760241e-05f, 1.448645451e-05f, 1.443528669e-05f, 1.438409902e-05f, 1.433289161e-05f, 1.428166454e-05f, 1.423041790e-05f, 1.417915178e-05f, 1.412786628e-05f,
+1.407656149e-05f, 1.402523748e-05f, 1.397389437e-05f, 1.392253223e-05f, 1.387115116e-05f, 1.381975125e-05f, 1.376833259e-05f, 1.371689527e-05f, 1.366543938e-05f, 1.361396501e-05f,
+1.356247225e-05f, 1.351096120e-05f, 1.345943195e-05f, 1.340788458e-05f, 1.335631919e-05f, 1.330473586e-05f, 1.325313470e-05f, 1.320151578e-05f, 1.314987921e-05f, 1.309822507e-05f,
+1.304655346e-05f, 1.299486446e-05f, 1.294315816e-05f, 1.289143467e-05f, 1.283969406e-05f, 1.278793643e-05f, 1.273616188e-05f, 1.268437048e-05f, 1.263256234e-05f, 1.258073755e-05f,
+1.252889619e-05f, 1.247703837e-05f, 1.242516416e-05f, 1.237327366e-05f, 1.232136696e-05f, 1.226944416e-05f, 1.221750535e-05f, 1.216555061e-05f, 1.211358004e-05f, 1.206159373e-05f,
+1.200959177e-05f, 1.195757426e-05f, 1.190554128e-05f, 1.185349292e-05f, 1.180142929e-05f, 1.174935046e-05f, 1.169725654e-05f, 1.164514761e-05f, 1.159302376e-05f, 1.154088509e-05f,
+1.148873169e-05f, 1.143656365e-05f, 1.138438106e-05f, 1.133218401e-05f, 1.127997260e-05f, 1.122774692e-05f, 1.117550705e-05f, 1.112325310e-05f, 1.107098515e-05f, 1.101870329e-05f,
+1.096640763e-05f, 1.091409823e-05f, 1.086177521e-05f, 1.080943866e-05f, 1.075708865e-05f, 1.070472530e-05f, 1.065234868e-05f, 1.059995889e-05f, 1.054755602e-05f, 1.049514017e-05f,
+1.044271142e-05f, 1.039026987e-05f, 1.033781562e-05f, 1.028534874e-05f, 1.023286934e-05f, 1.018037751e-05f, 1.012787333e-05f, 1.007535691e-05f, 1.002282833e-05f, 9.970287681e-06f,
+9.917735062e-06f, 9.865170563e-06f, 9.812594275e-06f, 9.760006292e-06f, 9.707406704e-06f, 9.654795605e-06f, 9.602173086e-06f, 9.549539240e-06f, 9.496894159e-06f, 9.444237935e-06f,
+9.391570661e-06f, 9.338892428e-06f, 9.286203330e-06f, 9.233503458e-06f, 9.180792905e-06f, 9.128071762e-06f, 9.075340123e-06f, 9.022598079e-06f, 8.969845724e-06f, 8.917083149e-06f,
+8.864310446e-06f, 8.811527709e-06f, 8.758735029e-06f, 8.705932498e-06f, 8.653120210e-06f, 8.600298257e-06f, 8.547466730e-06f, 8.494625723e-06f, 8.441775328e-06f, 8.388915637e-06f,
+8.336046742e-06f, 8.283168737e-06f, 8.230281713e-06f, 8.177385763e-06f, 8.124480980e-06f, 8.071567456e-06f, 8.018645283e-06f, 7.965714554e-06f, 7.912775361e-06f, 7.859827797e-06f,
+7.806871955e-06f, 7.753907926e-06f, 7.700935803e-06f, 7.647955680e-06f, 7.594967648e-06f, 7.541971799e-06f, 7.488968227e-06f, 7.435957024e-06f, 7.382938283e-06f, 7.329912095e-06f,
+7.276878554e-06f, 7.223837752e-06f, 7.170789781e-06f, 7.117734735e-06f, 7.064672705e-06f, 7.011603785e-06f, 6.958528066e-06f, 6.905445642e-06f, 6.852356604e-06f, 6.799261046e-06f,
+6.746159060e-06f, 6.693050738e-06f, 6.639936174e-06f, 6.586815459e-06f, 6.533688687e-06f, 6.480555949e-06f, 6.427417339e-06f, 6.374272949e-06f, 6.321122872e-06f, 6.267967199e-06f,
+6.214806024e-06f, 6.161639440e-06f, 6.108467538e-06f, 6.055290412e-06f, 6.002108154e-06f, 5.948920856e-06f, 5.895728612e-06f, 5.842531513e-06f, 5.789329653e-06f, 5.736123123e-06f,
+5.682912017e-06f, 5.629696426e-06f, 5.576476445e-06f, 5.523252164e-06f, 5.470023677e-06f, 5.416791077e-06f, 5.363554455e-06f, 5.310313904e-06f, 5.257069518e-06f, 5.203821387e-06f,
+5.150569606e-06f, 5.097314267e-06f, 5.044055461e-06f, 4.990793282e-06f, 4.937527822e-06f, 4.884259174e-06f, 4.830987430e-06f, 4.777712683e-06f, 4.724435025e-06f, 4.671154549e-06f,
+4.617871347e-06f, 4.564585512e-06f, 4.511297137e-06f, 4.458006313e-06f, 4.404713133e-06f, 4.351417690e-06f, 4.298120076e-06f, 4.244820384e-06f, 4.191518707e-06f, 4.138215135e-06f,
+4.084909763e-06f, 4.031602683e-06f, 3.978293986e-06f, 3.924983766e-06f, 3.871672115e-06f, 3.818359125e-06f, 3.765044889e-06f, 3.711729499e-06f, 3.658413047e-06f, 3.605095627e-06f,
+3.551777329e-06f, 3.498458248e-06f, 3.445138474e-06f, 3.391818101e-06f, 3.338497221e-06f, 3.285175925e-06f, 3.231854308e-06f, 3.178532460e-06f, 3.125210474e-06f, 3.071888442e-06f,
+3.018566458e-06f, 2.965244612e-06f, 2.911922998e-06f, 2.858601707e-06f, 2.805280832e-06f, 2.751960466e-06f, 2.698640699e-06f, 2.645321625e-06f, 2.592003337e-06f, 2.538685925e-06f,
+2.485369482e-06f, 2.432054101e-06f, 2.378739873e-06f, 2.325426891e-06f, 2.272115247e-06f, 2.218805033e-06f, 2.165496342e-06f, 2.112189264e-06f, 2.058883893e-06f, 2.005580321e-06f,
+1.952278639e-06f, 1.898978940e-06f, 1.845681316e-06f, 1.792385859e-06f, 1.739092660e-06f, 1.685801813e-06f, 1.632513408e-06f, 1.579227538e-06f, 1.525944295e-06f, 1.472663771e-06f,
+1.419386057e-06f, 1.366111246e-06f, 1.312839430e-06f, 1.259570701e-06f, 1.206305150e-06f, 1.153042869e-06f, 1.099783950e-06f, 1.046528486e-06f, 9.932765673e-07f, 9.400282864e-07f,
+8.867837351e-07f, 8.335430050e-07f, 7.803061880e-07f, 7.270733759e-07f, 6.738446603e-07f, 6.206201330e-07f, 5.673998858e-07f, 5.141840102e-07f, 4.609725981e-07f, 4.077657409e-07f,
+3.545635305e-07f, 3.013660584e-07f, 2.481734162e-07f, 1.949856955e-07f, 1.418029878e-07f, 8.862538481e-08f, 3.545297796e-08f, -1.771414120e-08f, -7.087588118e-08f, -1.240321505e-07f,
+-1.771828577e-07f, -2.303279113e-07f, -2.834672200e-07f, -3.366006922e-07f, -3.897282367e-07f, -4.428497620e-07f, -4.959651768e-07f, -5.490743898e-07f, -6.021773097e-07f, -6.552738451e-07f,
+-7.083639049e-07f, -7.614473977e-07f, -8.145242324e-07f, -8.675943178e-07f, -9.206575626e-07f, -9.737138756e-07f, -1.026763166e-06f, -1.079805342e-06f, -1.132840313e-06f, -1.185867988e-06f,
+-1.238888276e-06f, -1.291901086e-06f, -1.344906326e-06f, -1.397903906e-06f, -1.450893735e-06f, -1.503875722e-06f, -1.556849776e-06f, -1.609815806e-06f, -1.662773720e-06f, -1.715723430e-06f,
+-1.768664842e-06f, -1.821597868e-06f, -1.874522415e-06f, -1.927438393e-06f, -1.980345712e-06f, -2.033244281e-06f, -2.086134008e-06f, -2.139014804e-06f, -2.191886577e-06f, -2.244749238e-06f,
+-2.297602695e-06f, -2.350446858e-06f, -2.403281636e-06f, -2.456106940e-06f, -2.508922677e-06f, -2.561728759e-06f, -2.614525094e-06f, -2.667311593e-06f, -2.720088164e-06f, -2.772854717e-06f,
+-2.825611162e-06f, -2.878357409e-06f, -2.931093368e-06f, -2.983818948e-06f, -3.036534058e-06f, -3.089238610e-06f, -3.141932512e-06f, -3.194615675e-06f, -3.247288008e-06f, -3.299949421e-06f,
+-3.352599824e-06f, -3.405239128e-06f, -3.457867242e-06f, -3.510484076e-06f, -3.563089540e-06f, -3.615683545e-06f, -3.668266000e-06f, -3.720836816e-06f, -3.773395903e-06f, -3.825943170e-06f,
+-3.878478529e-06f, -3.931001890e-06f, -3.983513162e-06f, -4.036012256e-06f, -4.088499082e-06f, -4.140973552e-06f, -4.193435575e-06f, -4.245885061e-06f, -4.298321921e-06f, -4.350746067e-06f,
+-4.403157407e-06f, -4.455555853e-06f, -4.507941316e-06f, -4.560313705e-06f, -4.612672932e-06f, -4.665018908e-06f, -4.717351542e-06f, -4.769670746e-06f, -4.821976431e-06f, -4.874268508e-06f,
+-4.926546886e-06f, -4.978811478e-06f, -5.031062194e-06f, -5.083298945e-06f, -5.135521642e-06f, -5.187730196e-06f, -5.239924518e-06f, -5.292104519e-06f, -5.344270110e-06f, -5.396421203e-06f,
+-5.448557709e-06f, -5.500679538e-06f, -5.552786603e-06f, -5.604878814e-06f, -5.656956082e-06f, -5.709018320e-06f, -5.761065438e-06f, -5.813097348e-06f, -5.865113962e-06f, -5.917115190e-06f,
+-5.969100945e-06f, -6.021071138e-06f, -6.073025680e-06f, -6.124964483e-06f, -6.176887460e-06f, -6.228794521e-06f, -6.280685578e-06f, -6.332560544e-06f, -6.384419329e-06f, -6.436261847e-06f,
+-6.488088008e-06f, -6.539897725e-06f, -6.591690909e-06f, -6.643467473e-06f, -6.695227329e-06f, -6.746970389e-06f, -6.798696564e-06f, -6.850405768e-06f, -6.902097912e-06f, -6.953772908e-06f,
+-7.005430670e-06f, -7.057071108e-06f, -7.108694136e-06f, -7.160299666e-06f, -7.211887610e-06f, -7.263457881e-06f, -7.315010391e-06f, -7.366545053e-06f, -7.418061779e-06f, -7.469560483e-06f,
+-7.521041076e-06f, -7.572503472e-06f, -7.623947583e-06f, -7.675373321e-06f, -7.726780601e-06f, -7.778169334e-06f, -7.829539434e-06f, -7.880890814e-06f, -7.932223386e-06f, -7.983537064e-06f,
+-8.034831760e-06f, -8.086107389e-06f, -8.137363862e-06f, -8.188601093e-06f, -8.239818996e-06f, -8.291017483e-06f, -8.342196469e-06f, -8.393355866e-06f, -8.444495588e-06f, -8.495615548e-06f,
+-8.546715660e-06f, -8.597795837e-06f, -8.648855993e-06f, -8.699896041e-06f, -8.750915896e-06f, -8.801915471e-06f, -8.852894680e-06f, -8.903853436e-06f, -8.954791653e-06f, -9.005709246e-06f,
+-9.056606128e-06f, -9.107482213e-06f, -9.158337415e-06f, -9.209171649e-06f, -9.259984828e-06f, -9.310776866e-06f, -9.361547678e-06f, -9.412297179e-06f, -9.463025282e-06f, -9.513731901e-06f,
+-9.564416951e-06f, -9.615080347e-06f, -9.665722003e-06f, -9.716341834e-06f, -9.766939753e-06f, -9.817515676e-06f, -9.868069518e-06f, -9.918601193e-06f, -9.969110616e-06f, -1.001959770e-05f,
+-1.007006236e-05f, -1.012050452e-05f, -1.017092408e-05f, -1.022132097e-05f, -1.027169509e-05f, -1.032204636e-05f, -1.037237471e-05f, -1.042268003e-05f, -1.047296226e-05f, -1.052322129e-05f,
+-1.057345706e-05f, -1.062366947e-05f, -1.067385844e-05f, -1.072402388e-05f, -1.077416572e-05f, -1.082428386e-05f, -1.087437822e-05f, -1.092444872e-05f, -1.097449528e-05f, -1.102451780e-05f,
+-1.107451621e-05f, -1.112449042e-05f, -1.117444034e-05f, -1.122436590e-05f, -1.127426700e-05f, -1.132414357e-05f, -1.137399553e-05f, -1.142382278e-05f, -1.147362524e-05f, -1.152340283e-05f,
+-1.157315547e-05f, -1.162288307e-05f, -1.167258555e-05f, -1.172226282e-05f, -1.177191481e-05f, -1.182154142e-05f, -1.187114258e-05f, -1.192071820e-05f, -1.197026820e-05f, -1.201979250e-05f,
+-1.206929100e-05f, -1.211876364e-05f, -1.216821032e-05f, -1.221763097e-05f, -1.226702549e-05f, -1.231639382e-05f, -1.236573585e-05f, -1.241505152e-05f, -1.246434074e-05f, -1.251360343e-05f,
+-1.256283949e-05f, -1.261204886e-05f, -1.266123145e-05f, -1.271038718e-05f, -1.275951596e-05f, -1.280861771e-05f, -1.285769235e-05f, -1.290673979e-05f, -1.295575997e-05f, -1.300475278e-05f,
+-1.305371816e-05f, -1.310265601e-05f, -1.315156626e-05f, -1.320044883e-05f, -1.324930363e-05f, -1.329813058e-05f, -1.334692960e-05f, -1.339570061e-05f, -1.344444352e-05f, -1.349315826e-05f,
+-1.354184474e-05f, -1.359050289e-05f, -1.363913261e-05f, -1.368773384e-05f, -1.373630648e-05f, -1.378485046e-05f, -1.383336570e-05f, -1.388185211e-05f, -1.393030961e-05f, -1.397873813e-05f,
+-1.402713757e-05f, -1.407550787e-05f, -1.412384894e-05f, -1.417216070e-05f, -1.422044307e-05f, -1.426869596e-05f, -1.431691930e-05f, -1.436511301e-05f, -1.441327701e-05f, -1.446141121e-05f,
+-1.450951554e-05f, -1.455758991e-05f, -1.460563425e-05f, -1.465364848e-05f, -1.470163251e-05f, -1.474958626e-05f, -1.479750966e-05f, -1.484540263e-05f, -1.489326508e-05f, -1.494109693e-05f,
+-1.498889812e-05f, -1.503666854e-05f, -1.508440814e-05f, -1.513211682e-05f, -1.517979451e-05f, -1.522744113e-05f, -1.527505660e-05f, -1.532264084e-05f, -1.537019377e-05f, -1.541771531e-05f,
+-1.546520538e-05f, -1.551266390e-05f, -1.556009080e-05f, -1.560748600e-05f, -1.565484941e-05f, -1.570218096e-05f, -1.574948056e-05f, -1.579674815e-05f, -1.584398364e-05f, -1.589118696e-05f,
+-1.593835801e-05f, -1.598549674e-05f, -1.603260305e-05f, -1.607967687e-05f, -1.612671813e-05f, -1.617372673e-05f, -1.622070262e-05f, -1.626764570e-05f, -1.631455589e-05f, -1.636143314e-05f,
+-1.640827734e-05f, -1.645508843e-05f, -1.650186633e-05f, -1.654861096e-05f, -1.659532224e-05f, -1.664200010e-05f, -1.668864445e-05f, -1.673525523e-05f, -1.678183235e-05f, -1.682837573e-05f,
+-1.687488531e-05f, -1.692136099e-05f, -1.696780272e-05f, -1.701421040e-05f, -1.706058396e-05f, -1.710692332e-05f, -1.715322841e-05f, -1.719949916e-05f, -1.724573547e-05f, -1.729193729e-05f,
+-1.733810452e-05f, -1.738423710e-05f, -1.743033495e-05f, -1.747639799e-05f, -1.752242615e-05f, -1.756841934e-05f, -1.761437750e-05f, -1.766030055e-05f, -1.770618841e-05f, -1.775204100e-05f,
+-1.779785826e-05f, -1.784364009e-05f, -1.788938644e-05f, -1.793509722e-05f, -1.798077235e-05f, -1.802641177e-05f, -1.807201540e-05f, -1.811758315e-05f, -1.816311496e-05f, -1.820861076e-05f,
+-1.825407045e-05f, -1.829949398e-05f, -1.834488126e-05f, -1.839023223e-05f, -1.843554680e-05f, -1.848082490e-05f, -1.852606645e-05f, -1.857127139e-05f, -1.861643964e-05f, -1.866157111e-05f,
+-1.870666575e-05f, -1.875172347e-05f, -1.879674420e-05f, -1.884172786e-05f, -1.888667439e-05f, -1.893158370e-05f, -1.897645573e-05f, -1.902129039e-05f, -1.906608762e-05f, -1.911084735e-05f,
+-1.915556949e-05f, -1.920025397e-05f, -1.924490073e-05f, -1.928950968e-05f, -1.933408076e-05f, -1.937861388e-05f, -1.942310899e-05f, -1.946756600e-05f, -1.951198484e-05f, -1.955636543e-05f,
+-1.960070772e-05f, -1.964501161e-05f, -1.968927704e-05f, -1.973350394e-05f, -1.977769224e-05f, -1.982184185e-05f, -1.986595272e-05f, -1.991002476e-05f, -1.995405790e-05f, -1.999805208e-05f,
+-2.004200722e-05f, -2.008592324e-05f, -2.012980008e-05f, -2.017363766e-05f, -2.021743591e-05f, -2.026119476e-05f, -2.030491414e-05f, -2.034859398e-05f, -2.039223420e-05f, -2.043583473e-05f,
+-2.047939550e-05f, -2.052291645e-05f, -2.056639749e-05f, -2.060983856e-05f, -2.065323959e-05f, -2.069660050e-05f, -2.073992122e-05f, -2.078320169e-05f, -2.082644183e-05f, -2.086964157e-05f,
+-2.091280085e-05f, -2.095591958e-05f, -2.099899770e-05f, -2.104203514e-05f, -2.108503184e-05f, -2.112798771e-05f, -2.117090268e-05f, -2.121377670e-05f, -2.125660968e-05f, -2.129940156e-05f,
+-2.134215227e-05f, -2.138486174e-05f, -2.142752990e-05f, -2.147015667e-05f, -2.151274200e-05f, -2.155528580e-05f, -2.159778802e-05f, -2.164024857e-05f, -2.168266740e-05f, -2.172504443e-05f,
+-2.176737959e-05f, -2.180967281e-05f, -2.185192404e-05f, -2.189413318e-05f, -2.193630019e-05f, -2.197842498e-05f, -2.202050749e-05f, -2.206254766e-05f, -2.210454541e-05f, -2.214650067e-05f,
+-2.218841338e-05f, -2.223028346e-05f, -2.227211086e-05f, -2.231389550e-05f, -2.235563731e-05f, -2.239733622e-05f, -2.243899218e-05f, -2.248060510e-05f, -2.252217493e-05f, -2.256370159e-05f,
+-2.260518502e-05f, -2.264662515e-05f, -2.268802191e-05f, -2.272937524e-05f, -2.277068506e-05f, -2.281195132e-05f, -2.285317394e-05f, -2.289435285e-05f, -2.293548800e-05f, -2.297657931e-05f,
+-2.301762671e-05f, -2.305863015e-05f, -2.309958955e-05f, -2.314050484e-05f, -2.318137597e-05f, -2.322220286e-05f, -2.326298545e-05f, -2.330372367e-05f, -2.334441745e-05f, -2.338506674e-05f,
+-2.342567146e-05f, -2.346623155e-05f, -2.350674694e-05f, -2.354721756e-05f, -2.358764336e-05f, -2.362802427e-05f, -2.366836021e-05f, -2.370865113e-05f, -2.374889696e-05f, -2.378909764e-05f,
+-2.382925309e-05f, -2.386936326e-05f, -2.390942808e-05f, -2.394944749e-05f, -2.398942141e-05f, -2.402934980e-05f, -2.406923257e-05f, -2.410906967e-05f, -2.414886103e-05f, -2.418860660e-05f,
+-2.422830629e-05f, -2.426796006e-05f, -2.430756783e-05f, -2.434712955e-05f, -2.438664514e-05f, -2.442611455e-05f, -2.446553771e-05f, -2.450491455e-05f, -2.454424502e-05f, -2.458352905e-05f,
+-2.462276658e-05f, -2.466195755e-05f, -2.470110188e-05f, -2.474019952e-05f, -2.477925041e-05f, -2.481825447e-05f, -2.485721166e-05f, -2.489612190e-05f, -2.493498514e-05f, -2.497380131e-05f,
+-2.501257035e-05f, -2.505129219e-05f, -2.508996678e-05f, -2.512859405e-05f, -2.516717395e-05f, -2.520570639e-05f, -2.524419134e-05f, -2.528262872e-05f, -2.532101847e-05f, -2.535936053e-05f,
+-2.539765485e-05f, -2.543590135e-05f, -2.547409997e-05f, -2.551225067e-05f, -2.555035336e-05f, -2.558840800e-05f, -2.562641452e-05f, -2.566437287e-05f, -2.570228297e-05f, -2.574014477e-05f,
+-2.577795821e-05f, -2.581572323e-05f, -2.585343977e-05f, -2.589110776e-05f, -2.592872715e-05f, -2.596629788e-05f, -2.600381988e-05f, -2.604129310e-05f, -2.607871748e-05f, -2.611609296e-05f,
+-2.615341947e-05f, -2.619069696e-05f, -2.622792536e-05f, -2.626510463e-05f, -2.630223469e-05f, -2.633931550e-05f, -2.637634698e-05f, -2.641332909e-05f, -2.645026175e-05f, -2.648714493e-05f,
+-2.652397854e-05f, -2.656076254e-05f, -2.659749687e-05f, -2.663418147e-05f, -2.667081628e-05f, -2.670740124e-05f, -2.674393629e-05f, -2.678042137e-05f, -2.681685644e-05f, -2.685324142e-05f,
+-2.688957627e-05f, -2.692586092e-05f, -2.696209531e-05f, -2.699827939e-05f, -2.703441310e-05f, -2.707049639e-05f, -2.710652919e-05f, -2.714251144e-05f, -2.717844310e-05f, -2.721432411e-05f,
+-2.725015440e-05f, -2.728593392e-05f, -2.732166261e-05f, -2.735734042e-05f, -2.739296729e-05f, -2.742854317e-05f, -2.746406799e-05f, -2.749954170e-05f, -2.753496424e-05f, -2.757033557e-05f,
+-2.760565561e-05f, -2.764092433e-05f, -2.767614165e-05f, -2.771130752e-05f, -2.774642190e-05f, -2.778148472e-05f, -2.781649593e-05f, -2.785145547e-05f, -2.788636329e-05f, -2.792121932e-05f,
+-2.795602353e-05f, -2.799077585e-05f, -2.802547622e-05f, -2.806012460e-05f, -2.809472092e-05f, -2.812926514e-05f, -2.816375720e-05f, -2.819819704e-05f, -2.823258460e-05f, -2.826691985e-05f,
+-2.830120271e-05f, -2.833543314e-05f, -2.836961109e-05f, -2.840373649e-05f, -2.843780930e-05f, -2.847182946e-05f, -2.850579692e-05f, -2.853971163e-05f, -2.857357352e-05f, -2.860738256e-05f,
+-2.864113868e-05f, -2.867484183e-05f, -2.870849196e-05f, -2.874208901e-05f, -2.877563294e-05f, -2.880912369e-05f, -2.884256120e-05f, -2.887594544e-05f, -2.890927633e-05f, -2.894255384e-05f,
+-2.897577790e-05f, -2.900894847e-05f, -2.904206549e-05f, -2.907512892e-05f, -2.910813870e-05f, -2.914109477e-05f, -2.917399710e-05f, -2.920684562e-05f, -2.923964028e-05f, -2.927238104e-05f,
+-2.930506783e-05f, -2.933770062e-05f, -2.937027935e-05f, -2.940280397e-05f, -2.943527442e-05f, -2.946769066e-05f, -2.950005264e-05f, -2.953236031e-05f, -2.956461360e-05f, -2.959681249e-05f,
+-2.962895691e-05f, -2.966104681e-05f, -2.969308215e-05f, -2.972506287e-05f, -2.975698893e-05f, -2.978886028e-05f, -2.982067686e-05f, -2.985243862e-05f, -2.988414552e-05f, -2.991579751e-05f,
+-2.994739454e-05f, -2.997893655e-05f, -3.001042351e-05f, -3.004185536e-05f, -3.007323204e-05f, -3.010455353e-05f, -3.013581975e-05f, -3.016703067e-05f, -3.019818624e-05f, -3.022928641e-05f,
+-3.026033113e-05f, -3.029132036e-05f, -3.032225404e-05f, -3.035313212e-05f, -3.038395456e-05f, -3.041472132e-05f, -3.044543234e-05f, -3.047608758e-05f, -3.050668698e-05f, -3.053723051e-05f,
+-3.056771811e-05f, -3.059814974e-05f, -3.062852534e-05f, -3.065884489e-05f, -3.068910831e-05f, -3.071931558e-05f, -3.074946664e-05f, -3.077956145e-05f, -3.080959996e-05f, -3.083958212e-05f,
+-3.086950788e-05f, -3.089937722e-05f, -3.092919006e-05f, -3.095894638e-05f, -3.098864612e-05f, -3.101828923e-05f, -3.104787568e-05f, -3.107740542e-05f, -3.110687840e-05f, -3.113629458e-05f,
+-3.116565390e-05f, -3.119495634e-05f, -3.122420183e-05f, -3.125339034e-05f, -3.128252182e-05f, -3.131159623e-05f, -3.134061352e-05f, -3.136957365e-05f, -3.139847658e-05f, -3.142732225e-05f,
+-3.145611062e-05f, -3.148484166e-05f, -3.151351532e-05f, -3.154213155e-05f, -3.157069031e-05f, -3.159919155e-05f, -3.162763524e-05f, -3.165602133e-05f, -3.168434977e-05f, -3.171262052e-05f,
+-3.174083355e-05f, -3.176898880e-05f, -3.179708623e-05f, -3.182512581e-05f, -3.185310748e-05f, -3.188103121e-05f, -3.190889695e-05f, -3.193670466e-05f, -3.196445430e-05f, -3.199214583e-05f,
+-3.201977920e-05f, -3.204735437e-05f, -3.207487130e-05f, -3.210232996e-05f, -3.212973028e-05f, -3.215707225e-05f, -3.218435581e-05f, -3.221158092e-05f, -3.223874754e-05f, -3.226585563e-05f,
+-3.229290515e-05f, -3.231989607e-05f, -3.234682832e-05f, -3.237370189e-05f, -3.240051672e-05f, -3.242727278e-05f, -3.245397002e-05f, -3.248060841e-05f, -3.250718790e-05f, -3.253370846e-05f,
+-3.256017004e-05f, -3.258657261e-05f, -3.261291613e-05f, -3.263920055e-05f, -3.266542583e-05f, -3.269159195e-05f, -3.271769885e-05f, -3.274374650e-05f, -3.276973486e-05f, -3.279566389e-05f,
+-3.282153355e-05f, -3.284734380e-05f, -3.287309461e-05f, -3.289878593e-05f, -3.292441773e-05f, -3.294998997e-05f, -3.297550261e-05f, -3.300095561e-05f, -3.302634893e-05f, -3.305168255e-05f,
+-3.307695641e-05f, -3.310217048e-05f, -3.312732472e-05f, -3.315241910e-05f, -3.317745358e-05f, -3.320242812e-05f, -3.322734268e-05f, -3.325219724e-05f, -3.327699174e-05f, -3.330172615e-05f,
+-3.332640044e-05f, -3.335101457e-05f, -3.337556850e-05f, -3.340006220e-05f, -3.342449563e-05f, -3.344886875e-05f, -3.347318153e-05f, -3.349743394e-05f, -3.352162593e-05f, -3.354575747e-05f,
+-3.356982853e-05f, -3.359383906e-05f, -3.361778904e-05f, -3.364167843e-05f, -3.366550719e-05f, -3.368927529e-05f, -3.371298269e-05f, -3.373662936e-05f, -3.376021526e-05f, -3.378374037e-05f,
+-3.380720463e-05f, -3.383060803e-05f, -3.385395052e-05f, -3.387723208e-05f, -3.390045266e-05f, -3.392361223e-05f, -3.394671076e-05f, -3.396974822e-05f, -3.399272457e-05f, -3.401563978e-05f,
+-3.403849381e-05f, -3.406128663e-05f, -3.408401822e-05f, -3.410668852e-05f, -3.412929752e-05f, -3.415184518e-05f, -3.417433146e-05f, -3.419675633e-05f, -3.421911977e-05f, -3.424142174e-05f,
+-3.426366220e-05f, -3.428584112e-05f, -3.430795847e-05f, -3.433001423e-05f, -3.435200835e-05f, -3.437394081e-05f, -3.439581157e-05f, -3.441762060e-05f, -3.443936787e-05f, -3.446105336e-05f,
+-3.448267702e-05f, -3.450423883e-05f, -3.452573875e-05f, -3.454717676e-05f, -3.456855282e-05f, -3.458986690e-05f, -3.461111898e-05f, -3.463230902e-05f, -3.465343699e-05f, -3.467450286e-05f,
+-3.469550661e-05f, -3.471644819e-05f, -3.473732759e-05f, -3.475814477e-05f, -3.477889969e-05f, -3.479959235e-05f, -3.482022269e-05f, -3.484079069e-05f, -3.486129633e-05f, -3.488173958e-05f,
+-3.490212040e-05f, -3.492243876e-05f, -3.494269465e-05f, -3.496288802e-05f, -3.498301885e-05f, -3.500308712e-05f, -3.502309279e-05f, -3.504303583e-05f, -3.506291622e-05f, -3.508273393e-05f,
+-3.510248893e-05f, -3.512218119e-05f, -3.514181069e-05f, -3.516137739e-05f, -3.518088128e-05f, -3.520032232e-05f, -3.521970048e-05f, -3.523901574e-05f, -3.525826807e-05f, -3.527745745e-05f,
+-3.529658384e-05f, -3.531564723e-05f, -3.533464758e-05f, -3.535358486e-05f, -3.537245906e-05f, -3.539127014e-05f, -3.541001808e-05f, -3.542870286e-05f, -3.544732444e-05f, -3.546588280e-05f,
+-3.548437791e-05f, -3.550280976e-05f, -3.552117831e-05f, -3.553948354e-05f, -3.555772542e-05f, -3.557590393e-05f, -3.559401904e-05f, -3.561207073e-05f, -3.563005897e-05f, -3.564798374e-05f,
+-3.566584502e-05f, -3.568364278e-05f, -3.570137699e-05f, -3.571904763e-05f, -3.573665468e-05f, -3.575419811e-05f, -3.577167790e-05f, -3.578909402e-05f, -3.580644646e-05f, -3.582373518e-05f,
+-3.584096017e-05f, -3.585812139e-05f, -3.587521884e-05f, -3.589225248e-05f, -3.590922229e-05f, -3.592612825e-05f, -3.594297033e-05f, -3.595974852e-05f, -3.597646279e-05f, -3.599311312e-05f,
+-3.600969948e-05f, -3.602622186e-05f, -3.604268022e-05f, -3.605907456e-05f, -3.607540484e-05f, -3.609167105e-05f, -3.610787316e-05f, -3.612401116e-05f, -3.614008501e-05f, -3.615609471e-05f,
+-3.617204022e-05f, -3.618792153e-05f, -3.620373862e-05f, -3.621949146e-05f, -3.623518004e-05f, -3.625080433e-05f, -3.626636431e-05f, -3.628185997e-05f, -3.629729128e-05f, -3.631265822e-05f,
+-3.632796077e-05f, -3.634319892e-05f, -3.635837264e-05f, -3.637348191e-05f, -3.638852672e-05f, -3.640350703e-05f, -3.641842285e-05f, -3.643327414e-05f, -3.644806088e-05f, -3.646278306e-05f,
+-3.647744066e-05f, -3.649203366e-05f, -3.650656203e-05f, -3.652102577e-05f, -3.653542485e-05f, -3.654975926e-05f, -3.656402897e-05f, -3.657823398e-05f, -3.659237425e-05f, -3.660644977e-05f,
+-3.662046053e-05f, -3.663440651e-05f, -3.664828768e-05f, -3.666210404e-05f, -3.667585556e-05f, -3.668954223e-05f, -3.670316403e-05f, -3.671672094e-05f, -3.673021295e-05f, -3.674364004e-05f,
+-3.675700219e-05f, -3.677029939e-05f, -3.678353161e-05f, -3.679669885e-05f, -3.680980109e-05f, -3.682283831e-05f, -3.683581049e-05f, -3.684871763e-05f, -3.686155969e-05f, -3.687433668e-05f,
+-3.688704856e-05f, -3.689969534e-05f, -3.691227698e-05f, -3.692479349e-05f, -3.693724483e-05f, -3.694963100e-05f, -3.696195198e-05f, -3.697420776e-05f, -3.698639832e-05f, -3.699852365e-05f,
+-3.701058373e-05f, -3.702257855e-05f, -3.703450810e-05f, -3.704637235e-05f, -3.705817131e-05f, -3.706990495e-05f, -3.708157325e-05f, -3.709317622e-05f, -3.710471382e-05f, -3.711618606e-05f,
+-3.712759291e-05f, -3.713893436e-05f, -3.715021040e-05f, -3.716142102e-05f, -3.717256621e-05f, -3.718364594e-05f, -3.719466022e-05f, -3.720560902e-05f, -3.721649233e-05f, -3.722731015e-05f,
+-3.723806245e-05f, -3.724874924e-05f, -3.725937049e-05f, -3.726992619e-05f, -3.728041634e-05f, -3.729084092e-05f, -3.730119992e-05f, -3.731149333e-05f, -3.732172113e-05f, -3.733188332e-05f,
+-3.734197989e-05f, -3.735201081e-05f, -3.736197610e-05f, -3.737187573e-05f, -3.738170968e-05f, -3.739147797e-05f, -3.740118056e-05f, -3.741081745e-05f, -3.742038864e-05f, -3.742989411e-05f,
+-3.743933385e-05f, -3.744870786e-05f, -3.745801611e-05f, -3.746725861e-05f, -3.747643535e-05f, -3.748554631e-05f, -3.749459148e-05f, -3.750357086e-05f, -3.751248444e-05f, -3.752133221e-05f,
+-3.753011416e-05f, -3.753883028e-05f, -3.754748056e-05f, -3.755606500e-05f, -3.756458359e-05f, -3.757303632e-05f, -3.758142317e-05f, -3.758974415e-05f, -3.759799925e-05f, -3.760618845e-05f,
+-3.761431176e-05f, -3.762236915e-05f, -3.763036064e-05f, -3.763828620e-05f, -3.764614583e-05f, -3.765393953e-05f, -3.766166728e-05f, -3.766932909e-05f, -3.767692494e-05f, -3.768445483e-05f,
+-3.769191875e-05f, -3.769931669e-05f, -3.770664866e-05f, -3.771391464e-05f, -3.772111462e-05f, -3.772824861e-05f, -3.773531659e-05f, -3.774231857e-05f, -3.774925452e-05f, -3.775612446e-05f,
+-3.776292838e-05f, -3.776966626e-05f, -3.777633811e-05f, -3.778294391e-05f, -3.778948367e-05f, -3.779595738e-05f, -3.780236504e-05f, -3.780870664e-05f, -3.781498218e-05f, -3.782119164e-05f,
+-3.782733504e-05f, -3.783341236e-05f, -3.783942361e-05f, -3.784536877e-05f, -3.785124784e-05f, -3.785706083e-05f, -3.786280772e-05f, -3.786848851e-05f, -3.787410321e-05f, -3.787965180e-05f,
+-3.788513429e-05f, -3.789055067e-05f, -3.789590094e-05f, -3.790118510e-05f, -3.790640313e-05f, -3.791155506e-05f, -3.791664086e-05f, -3.792166054e-05f, -3.792661409e-05f, -3.793150152e-05f,
+-3.793632282e-05f, -3.794107799e-05f, -3.794576703e-05f, -3.795038993e-05f, -3.795494670e-05f, -3.795943734e-05f, -3.796386184e-05f, -3.796822020e-05f, -3.797251243e-05f, -3.797673852e-05f,
+-3.798089846e-05f, -3.798499227e-05f, -3.798901994e-05f, -3.799298146e-05f, -3.799687685e-05f, -3.800070610e-05f, -3.800446920e-05f, -3.800816616e-05f, -3.801179699e-05f, -3.801536167e-05f,
+-3.801886022e-05f, -3.802229262e-05f, -3.802565889e-05f, -3.802895903e-05f, -3.803219302e-05f, -3.803536088e-05f, -3.803846261e-05f, -3.804149821e-05f, -3.804446767e-05f, -3.804737101e-05f,
+-3.805020821e-05f, -3.805297930e-05f, -3.805568426e-05f, -3.805832309e-05f, -3.806089581e-05f, -3.806340241e-05f, -3.806584289e-05f, -3.806821727e-05f, -3.807052553e-05f, -3.807276768e-05f,
+-3.807494373e-05f, -3.807705368e-05f, -3.807909753e-05f, -3.808107529e-05f, -3.808298695e-05f, -3.808483253e-05f, -3.808661202e-05f, -3.808832542e-05f, -3.808997275e-05f, -3.809155401e-05f,
+-3.809306920e-05f, -3.809451832e-05f, -3.809590138e-05f, -3.809721838e-05f, -3.809846933e-05f, -3.809965423e-05f, -3.810077308e-05f, -3.810182590e-05f, -3.810281269e-05f, -3.810373344e-05f,
+-3.810458817e-05f, -3.810537688e-05f, -3.810609958e-05f, -3.810675627e-05f, -3.810734696e-05f, -3.810787165e-05f, -3.810833035e-05f, -3.810872306e-05f, -3.810904980e-05f, -3.810931056e-05f,
+-3.810950536e-05f, -3.810963419e-05f, -3.810969707e-05f, -3.810969401e-05f, -3.810962500e-05f, -3.810949006e-05f, -3.810928919e-05f, -3.810902241e-05f, -3.810868971e-05f, -3.810829110e-05f,
+-3.810782660e-05f, -3.810729620e-05f, -3.810669993e-05f, -3.810603777e-05f, -3.810530975e-05f, -3.810451587e-05f, -3.810365614e-05f, -3.810273057e-05f, -3.810173916e-05f, -3.810068192e-05f,
+-3.809955887e-05f, -3.809837001e-05f, -3.809711534e-05f, -3.809579489e-05f, -3.809440865e-05f, -3.809295664e-05f, -3.809143886e-05f, -3.808985533e-05f, -3.808820605e-05f, -3.808649103e-05f,
+-3.808471029e-05f, -3.808286383e-05f, -3.808095167e-05f, -3.807897380e-05f, -3.807693025e-05f, -3.807482102e-05f, -3.807264613e-05f, -3.807040558e-05f, -3.806809938e-05f, -3.806572755e-05f,
+-3.806329010e-05f, -3.806078703e-05f, -3.805821836e-05f, -3.805558410e-05f, -3.805288425e-05f, -3.805011884e-05f, -3.804728788e-05f, -3.804439136e-05f, -3.804142931e-05f, -3.803840174e-05f,
+-3.803530866e-05f, -3.803215008e-05f, -3.802892602e-05f, -3.802563648e-05f, -3.802228148e-05f, -3.801886103e-05f, -3.801537514e-05f, -3.801182383e-05f, -3.800820711e-05f, -3.800452499e-05f,
+-3.800077748e-05f, -3.799696460e-05f, -3.799308637e-05f, -3.798914278e-05f, -3.798513387e-05f, -3.798105964e-05f, -3.797692010e-05f, -3.797271527e-05f, -3.796844516e-05f, -3.796410979e-05f,
+-3.795970917e-05f, -3.795524332e-05f, -3.795071224e-05f, -3.794611596e-05f, -3.794145449e-05f, -3.793672784e-05f, -3.793193603e-05f, -3.792707907e-05f, -3.792215698e-05f, -3.791716978e-05f,
+-3.791211747e-05f, -3.790700008e-05f, -3.790181761e-05f, -3.789657009e-05f, -3.789125753e-05f, -3.788587994e-05f, -3.788043735e-05f, -3.787492977e-05f, -3.786935721e-05f, -3.786371969e-05f,
+-3.785801723e-05f, -3.785224984e-05f, -3.784641754e-05f, -3.784052035e-05f, -3.783455828e-05f, -3.782853135e-05f, -3.782243958e-05f, -3.781628298e-05f, -3.781006158e-05f, -3.780377538e-05f,
+-3.779742441e-05f, -3.779100868e-05f, -3.778452822e-05f, -3.777798303e-05f, -3.777137315e-05f, -3.776469858e-05f, -3.775795934e-05f, -3.775115545e-05f, -3.774428693e-05f, -3.773735381e-05f,
+-3.773035608e-05f, -3.772329379e-05f, -3.771616694e-05f, -3.770897555e-05f, -3.770171965e-05f, -3.769439924e-05f, -3.768701436e-05f, -3.767956502e-05f, -3.767205124e-05f, -3.766447303e-05f,
+-3.765683043e-05f, -3.764912344e-05f, -3.764135210e-05f, -3.763351641e-05f, -3.762561640e-05f, -3.761765208e-05f, -3.760962349e-05f, -3.760153064e-05f, -3.759337354e-05f, -3.758515223e-05f,
+-3.757686672e-05f, -3.756851703e-05f, -3.756010318e-05f, -3.755162520e-05f, -3.754308310e-05f, -3.753447691e-05f, -3.752580665e-05f, -3.751707234e-05f, -3.750827400e-05f, -3.749941165e-05f,
+-3.749048532e-05f, -3.748149502e-05f, -3.747244078e-05f, -3.746332263e-05f, -3.745414057e-05f, -3.744489465e-05f, -3.743558487e-05f, -3.742621126e-05f, -3.741677384e-05f, -3.740727265e-05f,
+-3.739770769e-05f, -3.738807899e-05f, -3.737838658e-05f, -3.736863047e-05f, -3.735881070e-05f, -3.734892729e-05f, -3.733898025e-05f, -3.732896962e-05f, -3.731889541e-05f, -3.730875765e-05f,
+-3.729855637e-05f, -3.728829159e-05f, -3.727796333e-05f, -3.726757161e-05f, -3.725711647e-05f, -3.724659792e-05f, -3.723601600e-05f, -3.722537071e-05f, -3.721466210e-05f, -3.720389019e-05f,
+-3.719305499e-05f, -3.718215655e-05f, -3.717119487e-05f, -3.716016998e-05f, -3.714908192e-05f, -3.713793071e-05f, -3.712671637e-05f, -3.711543893e-05f, -3.710409841e-05f, -3.709269485e-05f,
+-3.708122826e-05f, -3.706969867e-05f, -3.705810612e-05f, -3.704645062e-05f, -3.703473220e-05f, -3.702295089e-05f, -3.701110672e-05f, -3.699919971e-05f, -3.698722989e-05f, -3.697519729e-05f,
+-3.696310193e-05f, -3.695094385e-05f, -3.693872306e-05f, -3.692643960e-05f, -3.691409349e-05f, -3.690168477e-05f, -3.688921345e-05f, -3.687667957e-05f, -3.686408316e-05f, -3.685142425e-05f,
+-3.683870285e-05f, -3.682591900e-05f, -3.681307274e-05f, -3.680016408e-05f, -3.678719306e-05f, -3.677415970e-05f, -3.676106404e-05f, -3.674790610e-05f, -3.673468591e-05f, -3.672140350e-05f,
+-3.670805890e-05f, -3.669465215e-05f, -3.668118326e-05f, -3.666765227e-05f, -3.665405921e-05f, -3.664040411e-05f, -3.662668700e-05f, -3.661290790e-05f, -3.659906686e-05f, -3.658516389e-05f,
+-3.657119904e-05f, -3.655717232e-05f, -3.654308378e-05f, -3.652893343e-05f, -3.651472132e-05f, -3.650044747e-05f, -3.648611191e-05f, -3.647171468e-05f, -3.645725580e-05f, -3.644273532e-05f,
+-3.642815325e-05f, -3.641350963e-05f, -3.639880449e-05f, -3.638403786e-05f, -3.636920979e-05f, -3.635432028e-05f, -3.633936939e-05f, -3.632435714e-05f, -3.630928356e-05f, -3.629414869e-05f,
+-3.627895256e-05f, -3.626369520e-05f, -3.624837664e-05f, -3.623299692e-05f, -3.621755606e-05f, -3.620205411e-05f, -3.618649110e-05f, -3.617086705e-05f, -3.615518200e-05f, -3.613943599e-05f,
+-3.612362905e-05f, -3.610776120e-05f, -3.609183250e-05f, -3.607584296e-05f, -3.605979263e-05f, -3.604368153e-05f, -3.602750970e-05f, -3.601127718e-05f, -3.599498400e-05f, -3.597863019e-05f,
+-3.596221580e-05f, -3.594574084e-05f, -3.592920536e-05f, -3.591260940e-05f, -3.589595298e-05f, -3.587923614e-05f, -3.586245892e-05f, -3.584562136e-05f, -3.582872348e-05f, -3.581176532e-05f,
+-3.579474693e-05f, -3.577766832e-05f, -3.576052955e-05f, -3.574333064e-05f, -3.572607164e-05f, -3.570875257e-05f, -3.569137348e-05f, -3.567393439e-05f, -3.565643535e-05f, -3.563887640e-05f,
+-3.562125756e-05f, -3.560357888e-05f, -3.558584039e-05f, -3.556804213e-05f, -3.555018414e-05f, -3.553226645e-05f, -3.551428910e-05f, -3.549625212e-05f, -3.547815556e-05f, -3.545999946e-05f,
+-3.544178384e-05f, -3.542350875e-05f, -3.540517422e-05f, -3.538678030e-05f, -3.536832701e-05f, -3.534981441e-05f, -3.533124252e-05f, -3.531261138e-05f, -3.529392104e-05f, -3.527517153e-05f,
+-3.525636289e-05f, -3.523749515e-05f, -3.521856837e-05f, -3.519958257e-05f, -3.518053779e-05f, -3.516143408e-05f, -3.514227147e-05f, -3.512305000e-05f, -3.510376971e-05f, -3.508443064e-05f,
+-3.506503283e-05f, -3.504557633e-05f, -3.502606116e-05f, -3.500648737e-05f, -3.498685499e-05f, -3.496716408e-05f, -3.494741466e-05f, -3.492760679e-05f, -3.490774049e-05f, -3.488781581e-05f,
+-3.486783279e-05f, -3.484779147e-05f, -3.482769189e-05f, -3.480753409e-05f, -3.478731812e-05f, -3.476704401e-05f, -3.474671180e-05f, -3.472632154e-05f, -3.470587326e-05f, -3.468536702e-05f,
+-3.466480284e-05f, -3.464418077e-05f, -3.462350085e-05f, -3.460276313e-05f, -3.458196765e-05f, -3.456111444e-05f, -3.454020355e-05f, -3.451923502e-05f, -3.449820890e-05f, -3.447712522e-05f,
+-3.445598403e-05f, -3.443478537e-05f, -3.441352929e-05f, -3.439221582e-05f, -3.437084501e-05f, -3.434941690e-05f, -3.432793154e-05f, -3.430638896e-05f, -3.428478921e-05f, -3.426313234e-05f,
+-3.424141838e-05f, -3.421964739e-05f, -3.419781940e-05f, -3.417593446e-05f, -3.415399260e-05f, -3.413199389e-05f, -3.410993835e-05f, -3.408782603e-05f, -3.406565698e-05f, -3.404343125e-05f,
+-3.402114886e-05f, -3.399880988e-05f, -3.397641434e-05f, -3.395396229e-05f, -3.393145378e-05f, -3.390888884e-05f, -3.388626752e-05f, -3.386358987e-05f, -3.384085594e-05f, -3.381806576e-05f,
+-3.379521938e-05f, -3.377231685e-05f, -3.374935822e-05f, -3.372634352e-05f, -3.370327281e-05f, -3.368014613e-05f, -3.365696353e-05f, -3.363372504e-05f, -3.361043072e-05f, -3.358708062e-05f,
+-3.356367478e-05f, -3.354021324e-05f, -3.351669606e-05f, -3.349312327e-05f, -3.346949493e-05f, -3.344581108e-05f, -3.342207176e-05f, -3.339827703e-05f, -3.337442694e-05f, -3.335052152e-05f,
+-3.332656083e-05f, -3.330254491e-05f, -3.327847381e-05f, -3.325434758e-05f, -3.323016626e-05f, -3.320592990e-05f, -3.318163856e-05f, -3.315729227e-05f, -3.313289108e-05f, -3.310843505e-05f,
+-3.308392422e-05f, -3.305935864e-05f, -3.303473835e-05f, -3.301006341e-05f, -3.298533386e-05f, -3.296054976e-05f, -3.293571114e-05f, -3.291081806e-05f, -3.288587057e-05f, -3.286086872e-05f,
+-3.283581255e-05f, -3.281070211e-05f, -3.278553746e-05f, -3.276031864e-05f, -3.273504570e-05f, -3.270971869e-05f, -3.268433765e-05f, -3.265890265e-05f, -3.263341373e-05f, -3.260787093e-05f,
+-3.258227431e-05f, -3.255662392e-05f, -3.253091981e-05f, -3.250516202e-05f, -3.247935061e-05f, -3.245348563e-05f, -3.242756713e-05f, -3.240159515e-05f, -3.237556976e-05f, -3.234949099e-05f,
+-3.232335890e-05f, -3.229717354e-05f, -3.227093496e-05f, -3.224464322e-05f, -3.221829836e-05f, -3.219190043e-05f, -3.216544948e-05f, -3.213894557e-05f, -3.211238875e-05f, -3.208577907e-05f,
+-3.205911658e-05f, -3.203240132e-05f, -3.200563337e-05f, -3.197881275e-05f, -3.195193954e-05f, -3.192501377e-05f, -3.189803550e-05f, -3.187100479e-05f, -3.184392168e-05f, -3.181678622e-05f,
+-3.178959848e-05f, -3.176235850e-05f, -3.173506633e-05f, -3.170772203e-05f, -3.168032564e-05f, -3.165287723e-05f, -3.162537685e-05f, -3.159782454e-05f, -3.157022036e-05f, -3.154256437e-05f,
+-3.151485661e-05f, -3.148709714e-05f, -3.145928602e-05f, -3.143142329e-05f, -3.140350901e-05f, -3.137554324e-05f, -3.134752603e-05f, -3.131945742e-05f, -3.129133748e-05f, -3.126316626e-05f,
+-3.123494382e-05f, -3.120667020e-05f, -3.117834546e-05f, -3.114996965e-05f, -3.112154284e-05f, -3.109306507e-05f, -3.106453640e-05f, -3.103595688e-05f, -3.100732657e-05f, -3.097864552e-05f,
+-3.094991379e-05f, -3.092113143e-05f, -3.089229850e-05f, -3.086341506e-05f, -3.083448114e-05f, -3.080549683e-05f, -3.077646216e-05f, -3.074737719e-05f, -3.071824198e-05f, -3.068905659e-05f,
+-3.065982106e-05f, -3.063053546e-05f, -3.060119985e-05f, -3.057181427e-05f, -3.054237878e-05f, -3.051289345e-05f, -3.048335831e-05f, -3.045377345e-05f, -3.042413889e-05f, -3.039445472e-05f,
+-3.036472097e-05f, -3.033493771e-05f, -3.030510500e-05f, -3.027522288e-05f, -3.024529142e-05f, -3.021531068e-05f, -3.018528071e-05f, -3.015520156e-05f, -3.012507330e-05f, -3.009489599e-05f,
+-3.006466967e-05f, -3.003439441e-05f, -3.000407026e-05f, -2.997369729e-05f, -2.994327554e-05f, -2.991280508e-05f, -2.988228597e-05f, -2.985171826e-05f, -2.982110201e-05f, -2.979043727e-05f,
+-2.975972411e-05f, -2.972896259e-05f, -2.969815276e-05f, -2.966729468e-05f, -2.963638841e-05f, -2.960543401e-05f, -2.957443153e-05f, -2.954338104e-05f, -2.951228259e-05f, -2.948113624e-05f,
+-2.944994205e-05f, -2.941870008e-05f, -2.938741039e-05f, -2.935607304e-05f, -2.932468809e-05f, -2.929325559e-05f, -2.926177560e-05f, -2.923024819e-05f, -2.919867341e-05f, -2.916705133e-05f,
+-2.913538200e-05f, -2.910366548e-05f, -2.907190183e-05f, -2.904009112e-05f, -2.900823340e-05f, -2.897632873e-05f, -2.894437717e-05f, -2.891237878e-05f, -2.888033362e-05f, -2.884824176e-05f,
+-2.881610325e-05f, -2.878391815e-05f, -2.875168653e-05f, -2.871940844e-05f, -2.868708394e-05f, -2.865471310e-05f, -2.862229597e-05f, -2.858983263e-05f, -2.855732312e-05f, -2.852476750e-05f,
+-2.849216585e-05f, -2.845951822e-05f, -2.842682467e-05f, -2.839408526e-05f, -2.836130006e-05f, -2.832846912e-05f, -2.829559252e-05f, -2.826267030e-05f, -2.822970253e-05f, -2.819668927e-05f,
+-2.816363059e-05f, -2.813052654e-05f, -2.809737720e-05f, -2.806418261e-05f, -2.803094284e-05f, -2.799765796e-05f, -2.796432803e-05f, -2.793095310e-05f, -2.789753324e-05f, -2.786406852e-05f,
+-2.783055900e-05f, -2.779700473e-05f, -2.776340578e-05f, -2.772976222e-05f, -2.769607410e-05f, -2.766234150e-05f, -2.762856447e-05f, -2.759474307e-05f, -2.756087737e-05f, -2.752696743e-05f,
+-2.749301332e-05f, -2.745901509e-05f, -2.742497282e-05f, -2.739088656e-05f, -2.735675638e-05f, -2.732258234e-05f, -2.728836451e-05f, -2.725410295e-05f, -2.721979772e-05f, -2.718544888e-05f,
+-2.715105651e-05f, -2.711662066e-05f, -2.708214140e-05f, -2.704761880e-05f, -2.701305291e-05f, -2.697844380e-05f, -2.694379154e-05f, -2.690909619e-05f, -2.687435781e-05f, -2.683957647e-05f,
+-2.680475224e-05f, -2.676988517e-05f, -2.673497534e-05f, -2.670002280e-05f, -2.666502763e-05f, -2.662998988e-05f, -2.659490963e-05f, -2.655978693e-05f, -2.652462186e-05f, -2.648941447e-05f,
+-2.645416484e-05f, -2.641887303e-05f, -2.638353910e-05f, -2.634816312e-05f, -2.631274515e-05f, -2.627728527e-05f, -2.624178353e-05f, -2.620624000e-05f, -2.617065475e-05f, -2.613502784e-05f,
+-2.609935935e-05f, -2.606364932e-05f, -2.602789784e-05f, -2.599210497e-05f, -2.595627077e-05f, -2.592039531e-05f, -2.588447866e-05f, -2.584852088e-05f, -2.581252204e-05f, -2.577648220e-05f,
+-2.574040144e-05f, -2.570427981e-05f, -2.566811740e-05f, -2.563191425e-05f, -2.559567044e-05f, -2.555938604e-05f, -2.552306111e-05f, -2.548669572e-05f, -2.545028993e-05f, -2.541384383e-05f,
+-2.537735746e-05f, -2.534083090e-05f, -2.530426422e-05f, -2.526765748e-05f, -2.523101075e-05f, -2.519432410e-05f, -2.515759759e-05f, -2.512083130e-05f, -2.508402529e-05f, -2.504717963e-05f,
+-2.501029438e-05f, -2.497336962e-05f, -2.493640541e-05f, -2.489940183e-05f, -2.486235893e-05f, -2.482527678e-05f, -2.478815547e-05f, -2.475099504e-05f, -2.471379558e-05f, -2.467655715e-05f,
+-2.463927981e-05f, -2.460196365e-05f, -2.456460871e-05f, -2.452721509e-05f, -2.448978283e-05f, -2.445231202e-05f, -2.441480271e-05f, -2.437725499e-05f, -2.433966891e-05f, -2.430204455e-05f,
+-2.426438198e-05f, -2.422668126e-05f, -2.418894246e-05f, -2.415116566e-05f, -2.411335092e-05f, -2.407549831e-05f, -2.403760791e-05f, -2.399967977e-05f, -2.396171398e-05f, -2.392371060e-05f,
+-2.388566969e-05f, -2.384759133e-05f, -2.380947560e-05f, -2.377132255e-05f, -2.373313226e-05f, -2.369490480e-05f, -2.365664024e-05f, -2.361833864e-05f, -2.358000009e-05f, -2.354162464e-05f,
+-2.350321237e-05f, -2.346476335e-05f, -2.342627765e-05f, -2.338775534e-05f, -2.334919649e-05f, -2.331060118e-05f, -2.327196946e-05f, -2.323330141e-05f, -2.319459711e-05f, -2.315585662e-05f,
+-2.311708001e-05f, -2.307826736e-05f, -2.303941873e-05f, -2.300053420e-05f, -2.296161384e-05f, -2.292265772e-05f, -2.288366590e-05f, -2.284463847e-05f, -2.280557549e-05f, -2.276647703e-05f,
+-2.272734317e-05f, -2.268817397e-05f, -2.264896951e-05f, -2.260972985e-05f, -2.257045508e-05f, -2.253114526e-05f, -2.249180046e-05f, -2.245242076e-05f, -2.241300623e-05f, -2.237355693e-05f,
+-2.233407294e-05f, -2.229455434e-05f, -2.225500119e-05f, -2.221541356e-05f, -2.217579154e-05f, -2.213613518e-05f, -2.209644457e-05f, -2.205671977e-05f, -2.201696086e-05f, -2.197716791e-05f,
+-2.193734099e-05f, -2.189748017e-05f, -2.185758553e-05f, -2.181765714e-05f, -2.177769507e-05f, -2.173769939e-05f, -2.169767018e-05f, -2.165760752e-05f, -2.161751146e-05f, -2.157738209e-05f,
+-2.153721947e-05f, -2.149702369e-05f, -2.145679481e-05f, -2.141653291e-05f, -2.137623806e-05f, -2.133591033e-05f, -2.129554979e-05f, -2.125515653e-05f, -2.121473061e-05f, -2.117427210e-05f,
+-2.113378109e-05f, -2.109325764e-05f, -2.105270182e-05f, -2.101211371e-05f, -2.097149339e-05f, -2.093084092e-05f, -2.089015639e-05f, -2.084943985e-05f, -2.080869140e-05f, -2.076791110e-05f,
+-2.072709902e-05f, -2.068625524e-05f, -2.064537984e-05f, -2.060447288e-05f, -2.056353445e-05f, -2.052256461e-05f, -2.048156344e-05f, -2.044053101e-05f, -2.039946740e-05f, -2.035837269e-05f,
+-2.031724694e-05f, -2.027609023e-05f, -2.023490264e-05f, -2.019368424e-05f, -2.015243510e-05f, -2.011115530e-05f, -2.006984491e-05f, -2.002850402e-05f, -1.998713268e-05f, -1.994573098e-05f,
+-1.990429900e-05f, -1.986283680e-05f, -1.982134446e-05f, -1.977982206e-05f, -1.973826967e-05f, -1.969668737e-05f, -1.965507523e-05f, -1.961343333e-05f, -1.957176174e-05f, -1.953006054e-05f,
+-1.948832980e-05f, -1.944656959e-05f, -1.940478000e-05f, -1.936296110e-05f, -1.932111296e-05f, -1.927923566e-05f, -1.923732928e-05f, -1.919539388e-05f, -1.915342955e-05f, -1.911143637e-05f,
+-1.906941439e-05f, -1.902736372e-05f, -1.898528441e-05f, -1.894317654e-05f, -1.890104019e-05f, -1.885887544e-05f, -1.881668236e-05f, -1.877446103e-05f, -1.873221152e-05f, -1.868993391e-05f,
+-1.864762828e-05f, -1.860529470e-05f, -1.856293324e-05f, -1.852054399e-05f, -1.847812702e-05f, -1.843568241e-05f, -1.839321023e-05f, -1.835071055e-05f, -1.830818347e-05f, -1.826562904e-05f,
+-1.822304736e-05f, -1.818043848e-05f, -1.813780250e-05f, -1.809513949e-05f, -1.805244952e-05f, -1.800973268e-05f, -1.796698903e-05f, -1.792421865e-05f, -1.788142163e-05f, -1.783859803e-05f,
+-1.779574794e-05f, -1.775287143e-05f, -1.770996858e-05f, -1.766703947e-05f, -1.762408417e-05f, -1.758110276e-05f, -1.753809531e-05f, -1.749506191e-05f, -1.745200263e-05f, -1.740891755e-05f,
+-1.736580674e-05f, -1.732267029e-05f, -1.727950826e-05f, -1.723632075e-05f, -1.719310782e-05f, -1.714986955e-05f, -1.710660602e-05f, -1.706331730e-05f, -1.702000349e-05f, -1.697666464e-05f,
+-1.693330084e-05f, -1.688991217e-05f, -1.684649871e-05f, -1.680306053e-05f, -1.675959770e-05f, -1.671611032e-05f, -1.667259845e-05f, -1.662906218e-05f, -1.658550158e-05f, -1.654191672e-05f,
+-1.649830770e-05f, -1.645467458e-05f, -1.641101744e-05f, -1.636733636e-05f, -1.632363142e-05f, -1.627990271e-05f, -1.623615028e-05f, -1.619237423e-05f, -1.614857463e-05f, -1.610475156e-05f,
+-1.606090510e-05f, -1.601703533e-05f, -1.597314232e-05f, -1.592922616e-05f, -1.588528692e-05f, -1.584132467e-05f, -1.579733951e-05f, -1.575333150e-05f, -1.570930073e-05f, -1.566524727e-05f,
+-1.562117121e-05f, -1.557707262e-05f, -1.553295157e-05f, -1.548880816e-05f, -1.544464245e-05f, -1.540045453e-05f, -1.535624447e-05f, -1.531201236e-05f, -1.526775827e-05f, -1.522348228e-05f,
+-1.517918447e-05f, -1.513486492e-05f, -1.509052371e-05f, -1.504616092e-05f, -1.500177662e-05f, -1.495737090e-05f, -1.491294383e-05f, -1.486849549e-05f, -1.482402597e-05f, -1.477953533e-05f,
+-1.473502367e-05f, -1.469049106e-05f, -1.464593758e-05f, -1.460136330e-05f, -1.455676831e-05f, -1.451215269e-05f, -1.446751652e-05f, -1.442285987e-05f, -1.437818283e-05f, -1.433348547e-05f,
+-1.428876787e-05f, -1.424403012e-05f, -1.419927229e-05f, -1.415449447e-05f, -1.410969672e-05f, -1.406487914e-05f, -1.402004180e-05f, -1.397518478e-05f, -1.393030816e-05f, -1.388541202e-05f,
+-1.384049644e-05f, -1.379556149e-05f, -1.375060727e-05f, -1.370563385e-05f, -1.366064131e-05f, -1.361562972e-05f, -1.357059917e-05f, -1.352554975e-05f, -1.348048152e-05f, -1.343539457e-05f,
+-1.339028897e-05f, -1.334516482e-05f, -1.330002218e-05f, -1.325486114e-05f, -1.320968179e-05f, -1.316448418e-05f, -1.311926842e-05f, -1.307403458e-05f, -1.302878273e-05f, -1.298351297e-05f,
+-1.293822536e-05f, -1.289292000e-05f, -1.284759695e-05f, -1.280225630e-05f, -1.275689813e-05f, -1.271152253e-05f, -1.266612956e-05f, -1.262071932e-05f, -1.257529188e-05f, -1.252984731e-05f,
+-1.248438572e-05f, -1.243890716e-05f, -1.239341173e-05f, -1.234789950e-05f, -1.230237056e-05f, -1.225682498e-05f, -1.221126285e-05f, -1.216568424e-05f, -1.212008924e-05f, -1.207447792e-05f,
+-1.202885038e-05f, -1.198320668e-05f, -1.193754691e-05f, -1.189187115e-05f, -1.184617948e-05f, -1.180047198e-05f, -1.175474874e-05f, -1.170900983e-05f, -1.166325533e-05f, -1.161748532e-05f,
+-1.157169989e-05f, -1.152589912e-05f, -1.148008308e-05f, -1.143425186e-05f, -1.138840554e-05f, -1.134254420e-05f, -1.129666792e-05f, -1.125077677e-05f, -1.120487086e-05f, -1.115895024e-05f,
+-1.111301501e-05f, -1.106706525e-05f, -1.102110103e-05f, -1.097512243e-05f, -1.092912955e-05f, -1.088312246e-05f, -1.083710123e-05f, -1.079106596e-05f, -1.074501672e-05f, -1.069895360e-05f,
+-1.065287667e-05f, -1.060678601e-05f, -1.056068172e-05f, -1.051456386e-05f, -1.046843252e-05f, -1.042228778e-05f, -1.037612973e-05f, -1.032995844e-05f, -1.028377399e-05f, -1.023757647e-05f,
+-1.019136596e-05f, -1.014514254e-05f, -1.009890628e-05f, -1.005265728e-05f, -1.000639561e-05f, -9.960121356e-06f, -9.913834597e-06f, -9.867535414e-06f, -9.821223890e-06f, -9.774900106e-06f,
+-9.728564144e-06f, -9.682216084e-06f, -9.635856008e-06f, -9.589483998e-06f, -9.543100135e-06f, -9.496704501e-06f, -9.450297178e-06f, -9.403878246e-06f, -9.357447787e-06f, -9.311005883e-06f,
+-9.264552616e-06f, -9.218088066e-06f, -9.171612317e-06f, -9.125125448e-06f, -9.078627542e-06f, -9.032118681e-06f, -8.985598945e-06f, -8.939068418e-06f, -8.892527180e-06f, -8.845975312e-06f,
+-8.799412898e-06f, -8.752840017e-06f, -8.706256753e-06f, -8.659663187e-06f, -8.613059400e-06f, -8.566445474e-06f, -8.519821491e-06f, -8.473187533e-06f, -8.426543681e-06f, -8.379890017e-06f,
+-8.333226624e-06f, -8.286553582e-06f, -8.239870973e-06f, -8.193178880e-06f, -8.146477383e-06f, -8.099766566e-06f, -8.053046509e-06f, -8.006317295e-06f, -7.959579005e-06f, -7.912831722e-06f,
+-7.866075526e-06f, -7.819310500e-06f, -7.772536726e-06f, -7.725754285e-06f, -7.678963260e-06f, -7.632163732e-06f, -7.585355784e-06f, -7.538539496e-06f, -7.491714952e-06f, -7.444882232e-06f,
+-7.398041419e-06f, -7.351192595e-06f, -7.304335842e-06f, -7.257471241e-06f, -7.210598875e-06f, -7.163718825e-06f, -7.116831173e-06f, -7.069936002e-06f, -7.023033393e-06f, -6.976123428e-06f,
+-6.929206189e-06f, -6.882281759e-06f, -6.835350219e-06f, -6.788411650e-06f, -6.741466136e-06f, -6.694513758e-06f, -6.647554597e-06f, -6.600588737e-06f, -6.553616258e-06f, -6.506637244e-06f,
+-6.459651776e-06f, -6.412659935e-06f, -6.365661805e-06f, -6.318657466e-06f, -6.271647001e-06f, -6.224630492e-06f, -6.177608022e-06f, -6.130579671e-06f, -6.083545522e-06f, -6.036505657e-06f,
+-5.989460158e-06f, -5.942409108e-06f, -5.895352587e-06f, -5.848290678e-06f, -5.801223464e-06f, -5.754151025e-06f, -5.707073445e-06f, -5.659990805e-06f, -5.612903187e-06f, -5.565810673e-06f,
+-5.518713345e-06f, -5.471611286e-06f, -5.424504577e-06f, -5.377393300e-06f, -5.330277537e-06f, -5.283157371e-06f, -5.236032883e-06f, -5.188904156e-06f, -5.141771270e-06f, -5.094634310e-06f,
+-5.047493355e-06f, -5.000348489e-06f, -4.953199794e-06f, -4.906047351e-06f, -4.858891242e-06f, -4.811731550e-06f, -4.764568356e-06f, -4.717401743e-06f, -4.670231792e-06f, -4.623058586e-06f,
+-4.575882206e-06f, -4.528702735e-06f, -4.481520254e-06f, -4.434334845e-06f, -4.387146591e-06f, -4.339955573e-06f, -4.292761874e-06f, -4.245565575e-06f, -4.198366758e-06f, -4.151165505e-06f,
+-4.103961899e-06f, -4.056756021e-06f, -4.009547953e-06f, -3.962337777e-06f, -3.915125575e-06f, -3.867911429e-06f, -3.820695421e-06f, -3.773477633e-06f, -3.726258146e-06f, -3.679037043e-06f,
+-3.631814406e-06f, -3.584590316e-06f, -3.537364855e-06f, -3.490138106e-06f, -3.442910149e-06f, -3.395681068e-06f, -3.348450944e-06f, -3.301219858e-06f, -3.253987893e-06f, -3.206755131e-06f,
+-3.159521652e-06f, -3.112287540e-06f, -3.065052876e-06f, -3.017817742e-06f, -2.970582219e-06f, -2.923346390e-06f, -2.876110335e-06f, -2.828874138e-06f, -2.781637880e-06f, -2.734401642e-06f,
+-2.687165507e-06f, -2.639929556e-06f, -2.592693870e-06f, -2.545458533e-06f, -2.498223624e-06f, -2.450989227e-06f, -2.403755422e-06f, -2.356522292e-06f, -2.309289918e-06f, -2.262058382e-06f,
+-2.214827765e-06f, -2.167598150e-06f, -2.120369618e-06f, -2.073142250e-06f, -2.025916128e-06f, -1.978691334e-06f, -1.931467949e-06f, -1.884246055e-06f, -1.837025734e-06f, -1.789807067e-06f,
+-1.742590136e-06f, -1.695375022e-06f, -1.648161807e-06f, -1.600950572e-06f, -1.553741399e-06f, -1.506534370e-06f, -1.459329565e-06f, -1.412127067e-06f, -1.364926957e-06f, -1.317729316e-06f,
+-1.270534226e-06f, -1.223341768e-06f, -1.176152024e-06f, -1.128965075e-06f, -1.081781002e-06f, -1.034599888e-06f, -9.874218121e-07f, -9.402468572e-07f, -8.930751041e-07f, -8.459066344e-07f,
+-7.987415292e-07f, -7.515798699e-07f, -7.044217377e-07f, -6.572672141e-07f, -6.101163801e-07f, -5.629693171e-07f, -5.158261062e-07f, -4.686868288e-07f, -4.215515659e-07f, -3.744203988e-07f,
+-3.272934087e-07f, -2.801706767e-07f, -2.330522840e-07f, -1.859383116e-07f, -1.388288406e-07f, -9.172395226e-08f, -4.462372754e-08f, 2.471752495e-09f, 4.956240679e-08f, 9.664815432e-08f,
+1.437289141e-07f, 1.908046051e-07f, 2.378751464e-07f, 2.849404569e-07f, 3.320004559e-07f, 3.790550623e-07f, 4.261041952e-07f, 4.731477738e-07f, 5.201857172e-07f, 5.672179445e-07f,
+6.142443750e-07f, 6.612649277e-07f, 7.082795219e-07f, 7.552880768e-07f, 8.022905117e-07f, 8.492867458e-07f, 8.962766985e-07f, 9.432602889e-07f, 9.902374364e-07f, 1.037208060e-06f,
+1.084172080e-06f, 1.131129415e-06f, 1.178079985e-06f, 1.225023708e-06f, 1.271960505e-06f, 1.318890295e-06f, 1.365812998e-06f, 1.412728532e-06f, 1.459636817e-06f, 1.506537774e-06f,
+1.553431321e-06f, 1.600317378e-06f, 1.647195864e-06f, 1.694066700e-06f, 1.740929805e-06f, 1.787785099e-06f, 1.834632501e-06f, 1.881471931e-06f, 1.928303308e-06f, 1.975126553e-06f,
+2.021941586e-06f, 2.068748325e-06f, 2.115546691e-06f, 2.162336604e-06f, 2.209117984e-06f, 2.255890750e-06f, 2.302654823e-06f, 2.349410121e-06f, 2.396156567e-06f, 2.442894078e-06f,
+2.489622576e-06f, 2.536341980e-06f, 2.583052210e-06f, 2.629753187e-06f, 2.676444831e-06f, 2.723127061e-06f, 2.769799798e-06f, 2.816462962e-06f, 2.863116473e-06f, 2.909760252e-06f,
+2.956394218e-06f, 3.003018293e-06f, 3.049632395e-06f, 3.096236447e-06f, 3.142830367e-06f, 3.189414076e-06f, 3.235987496e-06f, 3.282550545e-06f, 3.329103145e-06f, 3.375645217e-06f,
+3.422176679e-06f, 3.468697454e-06f, 3.515207462e-06f, 3.561706623e-06f, 3.608194858e-06f, 3.654672087e-06f, 3.701138232e-06f, 3.747593213e-06f, 3.794036950e-06f, 3.840469365e-06f,
+3.886890378e-06f, 3.933299910e-06f, 3.979697881e-06f, 4.026084214e-06f, 4.072458828e-06f, 4.118821644e-06f, 4.165172584e-06f, 4.211511569e-06f, 4.257838519e-06f, 4.304153355e-06f,
+4.350455999e-06f, 4.396746372e-06f, 4.443024394e-06f, 4.489289987e-06f, 4.535543073e-06f, 4.581783571e-06f, 4.628011405e-06f, 4.674226494e-06f, 4.720428760e-06f, 4.766618124e-06f,
+4.812794509e-06f, 4.858957835e-06f, 4.905108023e-06f, 4.951244995e-06f, 4.997368673e-06f, 5.043478978e-06f, 5.089575832e-06f, 5.135659156e-06f, 5.181728872e-06f, 5.227784901e-06f,
+5.273827166e-06f, 5.319855587e-06f, 5.365870087e-06f, 5.411870587e-06f, 5.457857010e-06f, 5.503829276e-06f, 5.549787308e-06f, 5.595731029e-06f, 5.641660358e-06f, 5.687575220e-06f,
+5.733475535e-06f, 5.779361226e-06f, 5.825232214e-06f, 5.871088423e-06f, 5.916929773e-06f, 5.962756188e-06f, 6.008567589e-06f, 6.054363899e-06f, 6.100145039e-06f, 6.145910933e-06f,
+6.191661502e-06f, 6.237396669e-06f, 6.283116356e-06f, 6.328820486e-06f, 6.374508982e-06f, 6.420181764e-06f, 6.465838758e-06f, 6.511479884e-06f, 6.557105065e-06f, 6.602714225e-06f,
+6.648307285e-06f, 6.693884169e-06f, 6.739444799e-06f, 6.784989098e-06f, 6.830516989e-06f, 6.876028395e-06f, 6.921523239e-06f, 6.967001443e-06f, 7.012462930e-06f, 7.057907625e-06f,
+7.103335449e-06f, 7.148746325e-06f, 7.194140178e-06f, 7.239516930e-06f, 7.284876503e-06f, 7.330218823e-06f, 7.375543811e-06f, 7.420851391e-06f, 7.466141486e-06f, 7.511414020e-06f,
+7.556668917e-06f, 7.601906099e-06f, 7.647125491e-06f, 7.692327015e-06f, 7.737510595e-06f, 7.782676155e-06f, 7.827823619e-06f, 7.872952911e-06f, 7.918063953e-06f, 7.963156670e-06f,
+8.008230986e-06f, 8.053286824e-06f, 8.098324109e-06f, 8.143342764e-06f, 8.188342713e-06f, 8.233323881e-06f, 8.278286191e-06f, 8.323229567e-06f, 8.368153934e-06f, 8.413059216e-06f,
+8.457945337e-06f, 8.502812221e-06f, 8.547659793e-06f, 8.592487977e-06f, 8.637296697e-06f, 8.682085877e-06f, 8.726855443e-06f, 8.771605319e-06f, 8.816335429e-06f, 8.861045697e-06f,
+8.905736050e-06f, 8.950406410e-06f, 8.995056703e-06f, 9.039686854e-06f, 9.084296788e-06f, 9.128886428e-06f, 9.173455701e-06f, 9.218004531e-06f, 9.262532843e-06f, 9.307040562e-06f,
+9.351527614e-06f, 9.395993923e-06f, 9.440439414e-06f, 9.484864012e-06f, 9.529267644e-06f, 9.573650234e-06f, 9.618011707e-06f, 9.662351989e-06f, 9.706671006e-06f, 9.750968682e-06f,
+9.795244943e-06f, 9.839499715e-06f, 9.883732924e-06f, 9.927944494e-06f, 9.972134352e-06f, 1.001630242e-05f, 1.006044863e-05f, 1.010457291e-05f, 1.014867518e-05f, 1.019275536e-05f,
+1.023681339e-05f, 1.028084918e-05f, 1.032486267e-05f, 1.036885378e-05f, 1.041282244e-05f, 1.045676857e-05f, 1.050069210e-05f, 1.054459296e-05f, 1.058847106e-05f, 1.063232635e-05f,
+1.067615874e-05f, 1.071996817e-05f, 1.076375455e-05f, 1.080751781e-05f, 1.085125789e-05f, 1.089497470e-05f, 1.093866818e-05f, 1.098233825e-05f, 1.102598483e-05f, 1.106960787e-05f,
+1.111320727e-05f, 1.115678297e-05f, 1.120033490e-05f, 1.124386298e-05f, 1.128736714e-05f, 1.133084731e-05f, 1.137430341e-05f, 1.141773537e-05f, 1.146114312e-05f, 1.150452659e-05f,
+1.154788570e-05f, 1.159122038e-05f, 1.163453056e-05f, 1.167781617e-05f, 1.172107713e-05f, 1.176431337e-05f, 1.180752481e-05f, 1.185071140e-05f, 1.189387305e-05f, 1.193700969e-05f,
+1.198012125e-05f, 1.202320766e-05f, 1.206626885e-05f, 1.210930473e-05f, 1.215231526e-05f, 1.219530034e-05f, 1.223825991e-05f, 1.228119389e-05f, 1.232410223e-05f, 1.236698483e-05f,
+1.240984164e-05f, 1.245267257e-05f, 1.249547757e-05f, 1.253825655e-05f, 1.258100945e-05f, 1.262373619e-05f, 1.266643671e-05f, 1.270911093e-05f, 1.275175878e-05f, 1.279438018e-05f,
+1.283697508e-05f, 1.287954340e-05f, 1.292208506e-05f, 1.296459999e-05f, 1.300708814e-05f, 1.304954941e-05f, 1.309198375e-05f, 1.313439108e-05f, 1.317677134e-05f, 1.321912444e-05f,
+1.326145033e-05f, 1.330374893e-05f, 1.334602016e-05f, 1.338826397e-05f, 1.343048028e-05f, 1.347266901e-05f, 1.351483010e-05f, 1.355696349e-05f, 1.359906909e-05f, 1.364114683e-05f,
+1.368319666e-05f, 1.372521850e-05f, 1.376721227e-05f, 1.380917792e-05f, 1.385111536e-05f, 1.389302453e-05f, 1.393490537e-05f, 1.397675779e-05f, 1.401858173e-05f, 1.406037713e-05f,
+1.410214390e-05f, 1.414388199e-05f, 1.418559132e-05f, 1.422727183e-05f, 1.426892344e-05f, 1.431054608e-05f, 1.435213969e-05f, 1.439370420e-05f, 1.443523954e-05f, 1.447674564e-05f,
+1.451822243e-05f, 1.455966984e-05f, 1.460108780e-05f, 1.464247625e-05f, 1.468383511e-05f, 1.472516432e-05f, 1.476646381e-05f, 1.480773351e-05f, 1.484897335e-05f, 1.489018327e-05f,
+1.493136319e-05f, 1.497251305e-05f, 1.501363277e-05f, 1.505472230e-05f, 1.509578156e-05f, 1.513681049e-05f, 1.517780901e-05f, 1.521877706e-05f, 1.525971457e-05f, 1.530062148e-05f,
+1.534149771e-05f, 1.538234320e-05f, 1.542315788e-05f, 1.546394169e-05f, 1.550469455e-05f, 1.554541640e-05f, 1.558610717e-05f, 1.562676679e-05f, 1.566739520e-05f, 1.570799233e-05f,
+1.574855811e-05f, 1.578909248e-05f, 1.582959537e-05f, 1.587006671e-05f, 1.591050643e-05f, 1.595091447e-05f, 1.599129076e-05f, 1.603163524e-05f, 1.607194784e-05f, 1.611222848e-05f,
+1.615247712e-05f, 1.619269367e-05f, 1.623287807e-05f, 1.627303026e-05f, 1.631315017e-05f, 1.635323773e-05f, 1.639329289e-05f, 1.643331556e-05f, 1.647330569e-05f, 1.651326321e-05f,
+1.655318805e-05f, 1.659308015e-05f, 1.663293945e-05f, 1.667276587e-05f, 1.671255935e-05f, 1.675231983e-05f, 1.679204724e-05f, 1.683174151e-05f, 1.687140259e-05f, 1.691103039e-05f,
+1.695062487e-05f, 1.699018595e-05f, 1.702971358e-05f, 1.706920767e-05f, 1.710866818e-05f, 1.714809503e-05f, 1.718748815e-05f, 1.722684750e-05f, 1.726617299e-05f, 1.730546457e-05f,
+1.734472217e-05f, 1.738394573e-05f, 1.742313518e-05f, 1.746229046e-05f, 1.750141150e-05f, 1.754049824e-05f, 1.757955061e-05f, 1.761856856e-05f, 1.765755202e-05f, 1.769650091e-05f,
+1.773541519e-05f, 1.777429478e-05f, 1.781313962e-05f, 1.785194966e-05f, 1.789072481e-05f, 1.792946503e-05f, 1.796817024e-05f, 1.800684039e-05f, 1.804547541e-05f, 1.808407524e-05f,
+1.812263981e-05f, 1.816116906e-05f, 1.819966293e-05f, 1.823812136e-05f, 1.827654428e-05f, 1.831493162e-05f, 1.835328333e-05f, 1.839159935e-05f, 1.842987961e-05f, 1.846812404e-05f,
+1.850633260e-05f, 1.854450520e-05f, 1.858264180e-05f, 1.862074232e-05f, 1.865880671e-05f, 1.869683491e-05f, 1.873482685e-05f, 1.877278246e-05f, 1.881070170e-05f, 1.884858449e-05f,
+1.888643078e-05f, 1.892424050e-05f, 1.896201359e-05f, 1.899974999e-05f, 1.903744963e-05f, 1.907511247e-05f, 1.911273843e-05f, 1.915032745e-05f, 1.918787947e-05f, 1.922539444e-05f,
+1.926287228e-05f, 1.930031294e-05f, 1.933771637e-05f, 1.937508248e-05f, 1.941241124e-05f, 1.944970257e-05f, 1.948695641e-05f, 1.952417271e-05f, 1.956135140e-05f, 1.959849242e-05f,
+1.963559572e-05f, 1.967266123e-05f, 1.970968889e-05f, 1.974667864e-05f, 1.978363042e-05f, 1.982054417e-05f, 1.985741984e-05f, 1.989425736e-05f, 1.993105666e-05f, 1.996781770e-05f,
+2.000454042e-05f, 2.004122474e-05f, 2.007787062e-05f, 2.011447799e-05f, 2.015104679e-05f, 2.018757697e-05f, 2.022406847e-05f, 2.026052122e-05f, 2.029693517e-05f, 2.033331025e-05f,
+2.036964642e-05f, 2.040594360e-05f, 2.044220175e-05f, 2.047842079e-05f, 2.051460069e-05f, 2.055074136e-05f, 2.058684277e-05f, 2.062290484e-05f, 2.065892752e-05f, 2.069491075e-05f,
+2.073085448e-05f, 2.076675864e-05f, 2.080262318e-05f, 2.083844804e-05f, 2.087423316e-05f, 2.090997848e-05f, 2.094568395e-05f, 2.098134950e-05f, 2.101697509e-05f, 2.105256064e-05f,
+2.108810612e-05f, 2.112361145e-05f, 2.115907658e-05f, 2.119450145e-05f, 2.122988601e-05f, 2.126523019e-05f, 2.130053395e-05f, 2.133579723e-05f, 2.137101996e-05f, 2.140620209e-05f,
+2.144134357e-05f, 2.147644433e-05f, 2.151150433e-05f, 2.154652349e-05f, 2.158150178e-05f, 2.161643913e-05f, 2.165133549e-05f, 2.168619079e-05f, 2.172100499e-05f, 2.175577802e-05f,
+2.179050983e-05f, 2.182520037e-05f, 2.185984958e-05f, 2.189445741e-05f, 2.192902379e-05f, 2.196354867e-05f, 2.199803200e-05f, 2.203247372e-05f, 2.206687378e-05f, 2.210123212e-05f,
+2.213554868e-05f, 2.216982342e-05f, 2.220405627e-05f, 2.223824718e-05f, 2.227239610e-05f, 2.230650296e-05f, 2.234056773e-05f, 2.237459033e-05f, 2.240857072e-05f, 2.244250885e-05f,
+2.247640465e-05f, 2.251025808e-05f, 2.254406907e-05f, 2.257783758e-05f, 2.261156356e-05f, 2.264524693e-05f, 2.267888767e-05f, 2.271248570e-05f, 2.274604098e-05f, 2.277955345e-05f,
+2.281302305e-05f, 2.284644975e-05f, 2.287983347e-05f, 2.291317417e-05f, 2.294647180e-05f, 2.297972630e-05f, 2.301293761e-05f, 2.304610569e-05f, 2.307923049e-05f, 2.311231194e-05f,
+2.314535000e-05f, 2.317834461e-05f, 2.321129573e-05f, 2.324420329e-05f, 2.327706725e-05f, 2.330988755e-05f, 2.334266415e-05f, 2.337539698e-05f, 2.340808600e-05f, 2.344073116e-05f,
+2.347333239e-05f, 2.350588966e-05f, 2.353840291e-05f, 2.357087209e-05f, 2.360329714e-05f, 2.363567801e-05f, 2.366801466e-05f, 2.370030703e-05f, 2.373255507e-05f, 2.376475872e-05f,
+2.379691795e-05f, 2.382903269e-05f, 2.386110289e-05f, 2.389312851e-05f, 2.392510950e-05f, 2.395704579e-05f, 2.398893735e-05f, 2.402078412e-05f, 2.405258605e-05f, 2.408434309e-05f,
+2.411605519e-05f, 2.414772230e-05f, 2.417934437e-05f, 2.421092135e-05f, 2.424245319e-05f, 2.427393983e-05f, 2.430538124e-05f, 2.433677736e-05f, 2.436812813e-05f, 2.439943352e-05f,
+2.443069347e-05f, 2.446190793e-05f, 2.449307685e-05f, 2.452420019e-05f, 2.455527788e-05f, 2.458630990e-05f, 2.461729618e-05f, 2.464823667e-05f, 2.467913133e-05f, 2.470998012e-05f,
+2.474078297e-05f, 2.477153984e-05f, 2.480225069e-05f, 2.483291546e-05f, 2.486353411e-05f, 2.489410658e-05f, 2.492463284e-05f, 2.495511283e-05f, 2.498554650e-05f, 2.501593381e-05f,
+2.504627470e-05f, 2.507656914e-05f, 2.510681707e-05f, 2.513701844e-05f, 2.516717321e-05f, 2.519728133e-05f, 2.522734276e-05f, 2.525735744e-05f, 2.528732533e-05f, 2.531724637e-05f,
+2.534712054e-05f, 2.537694777e-05f, 2.540672802e-05f, 2.543646125e-05f, 2.546614740e-05f, 2.549578644e-05f, 2.552537831e-05f, 2.555492296e-05f, 2.558442036e-05f, 2.561387045e-05f,
+2.564327320e-05f, 2.567262854e-05f, 2.570193645e-05f, 2.573119686e-05f, 2.576040974e-05f, 2.578957504e-05f, 2.581869272e-05f, 2.584776272e-05f, 2.587678501e-05f, 2.590575954e-05f,
+2.593468626e-05f, 2.596356512e-05f, 2.599239609e-05f, 2.602117912e-05f, 2.604991416e-05f, 2.607860117e-05f, 2.610724010e-05f, 2.613583091e-05f, 2.616437356e-05f, 2.619286799e-05f,
+2.622131417e-05f, 2.624971205e-05f, 2.627806159e-05f, 2.630636274e-05f, 2.633461545e-05f, 2.636281970e-05f, 2.639097542e-05f, 2.641908258e-05f, 2.644714114e-05f, 2.647515104e-05f,
+2.650311225e-05f, 2.653102473e-05f, 2.655888842e-05f, 2.658670329e-05f, 2.661446930e-05f, 2.664218639e-05f, 2.666985453e-05f, 2.669747368e-05f, 2.672504379e-05f, 2.675256481e-05f,
+2.678003672e-05f, 2.680745945e-05f, 2.683483298e-05f, 2.686215726e-05f, 2.688943225e-05f, 2.691665790e-05f, 2.694383417e-05f, 2.697096102e-05f, 2.699803842e-05f, 2.702506631e-05f,
+2.705204465e-05f, 2.707897341e-05f, 2.710585254e-05f, 2.713268201e-05f, 2.715946176e-05f, 2.718619176e-05f, 2.721287197e-05f, 2.723950234e-05f, 2.726608284e-05f, 2.729261342e-05f,
+2.731909405e-05f, 2.734552468e-05f, 2.737190527e-05f, 2.739823579e-05f, 2.742451618e-05f, 2.745074642e-05f, 2.747692645e-05f, 2.750305625e-05f, 2.752913577e-05f, 2.755516496e-05f,
+2.758114380e-05f, 2.760707224e-05f, 2.763295024e-05f, 2.765877776e-05f, 2.768455477e-05f, 2.771028121e-05f, 2.773595706e-05f, 2.776158227e-05f, 2.778715681e-05f, 2.781268064e-05f,
+2.783815371e-05f, 2.786357598e-05f, 2.788894743e-05f, 2.791426801e-05f, 2.793953768e-05f, 2.796475640e-05f, 2.798992414e-05f, 2.801504085e-05f, 2.804010651e-05f, 2.806512106e-05f,
+2.809008447e-05f, 2.811499671e-05f, 2.813985774e-05f, 2.816466751e-05f, 2.818942600e-05f, 2.821413316e-05f, 2.823878895e-05f, 2.826339334e-05f, 2.828794630e-05f, 2.831244777e-05f,
+2.833689774e-05f, 2.836129615e-05f, 2.838564298e-05f, 2.840993818e-05f, 2.843418172e-05f, 2.845837357e-05f, 2.848251368e-05f, 2.850660202e-05f, 2.853063855e-05f, 2.855462324e-05f,
+2.857855605e-05f, 2.860243695e-05f, 2.862626589e-05f, 2.865004285e-05f, 2.867376779e-05f, 2.869744066e-05f, 2.872106144e-05f, 2.874463009e-05f, 2.876814658e-05f, 2.879161086e-05f,
+2.881502291e-05f, 2.883838269e-05f, 2.886169016e-05f, 2.888494529e-05f, 2.890814805e-05f, 2.893129839e-05f, 2.895439629e-05f, 2.897744171e-05f, 2.900043461e-05f, 2.902337497e-05f,
+2.904626274e-05f, 2.906909789e-05f, 2.909188039e-05f, 2.911461021e-05f, 2.913728731e-05f, 2.915991165e-05f, 2.918248321e-05f, 2.920500194e-05f, 2.922746783e-05f, 2.924988082e-05f,
+2.927224089e-05f, 2.929454801e-05f, 2.931680214e-05f, 2.933900325e-05f, 2.936115131e-05f, 2.938324628e-05f, 2.940528813e-05f, 2.942727683e-05f, 2.944921235e-05f, 2.947109464e-05f,
+2.949292369e-05f, 2.951469946e-05f, 2.953642191e-05f, 2.955809102e-05f, 2.957970675e-05f, 2.960126907e-05f, 2.962277794e-05f, 2.964423335e-05f, 2.966563524e-05f, 2.968698360e-05f,
+2.970827840e-05f, 2.972951959e-05f, 2.975070715e-05f, 2.977184106e-05f, 2.979292126e-05f, 2.981394775e-05f, 2.983492048e-05f, 2.985583942e-05f, 2.987670455e-05f, 2.989751583e-05f,
+2.991827323e-05f, 2.993897673e-05f, 2.995962628e-05f, 2.998022187e-05f, 3.000076346e-05f, 3.002125103e-05f, 3.004168453e-05f, 3.006206395e-05f, 3.008238925e-05f, 3.010266040e-05f,
+3.012287737e-05f, 3.014304014e-05f, 3.016314867e-05f, 3.018320294e-05f, 3.020320291e-05f, 3.022314856e-05f, 3.024303986e-05f, 3.026287678e-05f, 3.028265929e-05f, 3.030238736e-05f,
+3.032206096e-05f, 3.034168007e-05f, 3.036124466e-05f, 3.038075469e-05f, 3.040021014e-05f, 3.041961099e-05f, 3.043895720e-05f, 3.045824874e-05f, 3.047748560e-05f, 3.049666773e-05f,
+3.051579512e-05f, 3.053486774e-05f, 3.055388555e-05f, 3.057284853e-05f, 3.059175666e-05f, 3.061060990e-05f, 3.062940824e-05f, 3.064815163e-05f, 3.066684007e-05f, 3.068547351e-05f,
+3.070405193e-05f, 3.072257531e-05f, 3.074104363e-05f, 3.075945684e-05f, 3.077781493e-05f, 3.079611788e-05f, 3.081436565e-05f, 3.083255822e-05f, 3.085069556e-05f, 3.086877765e-05f,
+3.088680446e-05f, 3.090477597e-05f, 3.092269215e-05f, 3.094055298e-05f, 3.095835843e-05f, 3.097610847e-05f, 3.099380308e-05f, 3.101144224e-05f, 3.102902592e-05f, 3.104655410e-05f,
+3.106402675e-05f, 3.108144385e-05f, 3.109880537e-05f, 3.111611128e-05f, 3.113336157e-05f, 3.115055621e-05f, 3.116769518e-05f, 3.118477845e-05f, 3.120180600e-05f, 3.121877780e-05f,
+3.123569383e-05f, 3.125255407e-05f, 3.126935849e-05f, 3.128610708e-05f, 3.130279980e-05f, 3.131943663e-05f, 3.133601756e-05f, 3.135254255e-05f, 3.136901159e-05f, 3.138542465e-05f,
+3.140178172e-05f, 3.141808275e-05f, 3.143432775e-05f, 3.145051668e-05f, 3.146664951e-05f, 3.148272624e-05f, 3.149874683e-05f, 3.151471126e-05f, 3.153061952e-05f, 3.154647158e-05f,
+3.156226741e-05f, 3.157800701e-05f, 3.159369034e-05f, 3.160931738e-05f, 3.162488812e-05f, 3.164040253e-05f, 3.165586059e-05f, 3.167126228e-05f, 3.168660758e-05f, 3.170189647e-05f,
+3.171712892e-05f, 3.173230493e-05f, 3.174742446e-05f, 3.176248749e-05f, 3.177749402e-05f, 3.179244401e-05f, 3.180733744e-05f, 3.182217430e-05f, 3.183695457e-05f, 3.185167822e-05f,
+3.186634524e-05f, 3.188095561e-05f, 3.189550931e-05f, 3.191000631e-05f, 3.192444660e-05f, 3.193883016e-05f, 3.195315698e-05f, 3.196742702e-05f, 3.198164028e-05f, 3.199579674e-05f,
+3.200989636e-05f, 3.202393915e-05f, 3.203792507e-05f, 3.205185412e-05f, 3.206572627e-05f, 3.207954150e-05f, 3.209329980e-05f, 3.210700114e-05f, 3.212064552e-05f, 3.213423290e-05f,
+3.214776329e-05f, 3.216123665e-05f, 3.217465296e-05f, 3.218801223e-05f, 3.220131441e-05f, 3.221455951e-05f, 3.222774749e-05f, 3.224087835e-05f, 3.225395207e-05f, 3.226696863e-05f,
+3.227992801e-05f, 3.229283019e-05f, 3.230567517e-05f, 3.231846293e-05f, 3.233119344e-05f, 3.234386669e-05f, 3.235648267e-05f, 3.236904136e-05f, 3.238154274e-05f, 3.239398681e-05f,
+3.240637353e-05f, 3.241870290e-05f, 3.243097491e-05f, 3.244318953e-05f, 3.245534675e-05f, 3.246744656e-05f, 3.247948894e-05f, 3.249147388e-05f, 3.250340135e-05f, 3.251527136e-05f,
+3.252708388e-05f, 3.253883889e-05f, 3.255053639e-05f, 3.256217635e-05f, 3.257375877e-05f, 3.258528363e-05f, 3.259675092e-05f, 3.260816062e-05f, 3.261951272e-05f, 3.263080720e-05f,
+3.264204406e-05f, 3.265322327e-05f, 3.266434483e-05f, 3.267540872e-05f, 3.268641492e-05f, 3.269736344e-05f, 3.270825424e-05f, 3.271908732e-05f, 3.272986267e-05f, 3.274058027e-05f,
+3.275124012e-05f, 3.276184219e-05f, 3.277238647e-05f, 3.278287296e-05f, 3.279330165e-05f, 3.280367251e-05f, 3.281398554e-05f, 3.282424072e-05f, 3.283443805e-05f, 3.284457751e-05f,
+3.285465909e-05f, 3.286468278e-05f, 3.287464857e-05f, 3.288455644e-05f, 3.289440639e-05f, 3.290419840e-05f, 3.291393247e-05f, 3.292360857e-05f, 3.293322671e-05f, 3.294278687e-05f,
+3.295228904e-05f, 3.296173321e-05f, 3.297111937e-05f, 3.298044751e-05f, 3.298971762e-05f, 3.299892968e-05f, 3.300808369e-05f, 3.301717965e-05f, 3.302621753e-05f, 3.303519733e-05f,
+3.304411904e-05f, 3.305298266e-05f, 3.306178816e-05f, 3.307053555e-05f, 3.307922481e-05f, 3.308785593e-05f, 3.309642890e-05f, 3.310494373e-05f, 3.311340039e-05f, 3.312179888e-05f,
+3.313013919e-05f, 3.313842131e-05f, 3.314664523e-05f, 3.315481095e-05f, 3.316291845e-05f, 3.317096774e-05f, 3.317895879e-05f, 3.318689161e-05f, 3.319476619e-05f, 3.320258251e-05f,
+3.321034057e-05f, 3.321804036e-05f, 3.322568188e-05f, 3.323326512e-05f, 3.324079007e-05f, 3.324825673e-05f, 3.325566508e-05f, 3.326301512e-05f, 3.327030684e-05f, 3.327754024e-05f,
+3.328471532e-05f, 3.329183205e-05f, 3.329889045e-05f, 3.330589050e-05f, 3.331283219e-05f, 3.331971552e-05f, 3.332654048e-05f, 3.333330708e-05f, 3.334001529e-05f, 3.334666512e-05f,
+3.335325657e-05f, 3.335978962e-05f, 3.336626426e-05f, 3.337268051e-05f, 3.337903834e-05f, 3.338533776e-05f, 3.339157876e-05f, 3.339776134e-05f, 3.340388548e-05f, 3.340995120e-05f,
+3.341595847e-05f, 3.342190730e-05f, 3.342779769e-05f, 3.343362962e-05f, 3.343940310e-05f, 3.344511812e-05f, 3.345077468e-05f, 3.345637277e-05f, 3.346191239e-05f, 3.346739354e-05f,
+3.347281620e-05f, 3.347818039e-05f, 3.348348610e-05f, 3.348873331e-05f, 3.349392204e-05f, 3.349905227e-05f, 3.350412401e-05f, 3.350913725e-05f, 3.351409199e-05f, 3.351898822e-05f,
+3.352382595e-05f, 3.352860517e-05f, 3.353332588e-05f, 3.353798807e-05f, 3.354259175e-05f, 3.354713692e-05f, 3.355162356e-05f, 3.355605169e-05f, 3.356042129e-05f, 3.356473237e-05f,
+3.356898492e-05f, 3.357317895e-05f, 3.357731444e-05f, 3.358139141e-05f, 3.358540985e-05f, 3.358936976e-05f, 3.359327114e-05f, 3.359711399e-05f, 3.360089830e-05f, 3.360462408e-05f,
+3.360829133e-05f, 3.361190004e-05f, 3.361545021e-05f, 3.361894186e-05f, 3.362237497e-05f, 3.362574954e-05f, 3.362906558e-05f, 3.363232309e-05f, 3.363552206e-05f, 3.363866250e-05f,
+3.364174441e-05f, 3.364476778e-05f, 3.364773263e-05f, 3.365063894e-05f, 3.365348673e-05f, 3.365627599e-05f, 3.365900672e-05f, 3.366167893e-05f, 3.366429261e-05f, 3.366684777e-05f,
+3.366934441e-05f, 3.367178253e-05f, 3.367416214e-05f, 3.367648322e-05f, 3.367874580e-05f, 3.368094986e-05f, 3.368309542e-05f, 3.368518247e-05f, 3.368721101e-05f, 3.368918106e-05f,
+3.369109260e-05f, 3.369294565e-05f, 3.369474020e-05f, 3.369647627e-05f, 3.369815384e-05f, 3.369977294e-05f, 3.370133355e-05f, 3.370283568e-05f, 3.370427934e-05f, 3.370566453e-05f,
+3.370699125e-05f, 3.370825951e-05f, 3.370946930e-05f, 3.371062065e-05f, 3.371171354e-05f, 3.371274798e-05f, 3.371372398e-05f, 3.371464154e-05f, 3.371550067e-05f, 3.371630137e-05f,
+3.371704364e-05f, 3.371772749e-05f, 3.371835293e-05f, 3.371891995e-05f, 3.371942857e-05f, 3.371987879e-05f, 3.372027062e-05f, 3.372060405e-05f, 3.372087910e-05f, 3.372109577e-05f,
+3.372125407e-05f, 3.372135400e-05f, 3.372139557e-05f, 3.372137878e-05f, 3.372130364e-05f, 3.372117016e-05f, 3.372097834e-05f, 3.372072820e-05f, 3.372041972e-05f, 3.372005293e-05f,
+3.371962783e-05f, 3.371914442e-05f, 3.371860272e-05f, 3.371800272e-05f, 3.371734445e-05f, 3.371662789e-05f, 3.371585307e-05f, 3.371501998e-05f, 3.371412864e-05f, 3.371317906e-05f,
+3.371217123e-05f, 3.371110517e-05f, 3.370998089e-05f, 3.370879840e-05f, 3.370755769e-05f, 3.370625879e-05f, 3.370490170e-05f, 3.370348642e-05f, 3.370201297e-05f, 3.370048135e-05f,
+3.369889158e-05f, 3.369724366e-05f, 3.369553760e-05f, 3.369377340e-05f, 3.369195109e-05f, 3.369007067e-05f, 3.368813214e-05f, 3.368613551e-05f, 3.368408081e-05f, 3.368196803e-05f,
+3.367979718e-05f, 3.367756828e-05f, 3.367528133e-05f, 3.367293635e-05f, 3.367053334e-05f, 3.366807232e-05f, 3.366555329e-05f, 3.366297627e-05f, 3.366034127e-05f, 3.365764829e-05f,
+3.365489734e-05f, 3.365208845e-05f, 3.364922161e-05f, 3.364629685e-05f, 3.364331416e-05f, 3.364027356e-05f, 3.363717507e-05f, 3.363401870e-05f, 3.363080445e-05f, 3.362753233e-05f,
+3.362420237e-05f, 3.362081456e-05f, 3.361736893e-05f, 3.361386548e-05f, 3.361030423e-05f, 3.360668519e-05f, 3.360300837e-05f, 3.359927378e-05f, 3.359548144e-05f, 3.359163136e-05f,
+3.358772354e-05f, 3.358375801e-05f, 3.357973478e-05f, 3.357565386e-05f, 3.357151526e-05f, 3.356731899e-05f, 3.356306507e-05f, 3.355875352e-05f, 3.355438434e-05f, 3.354995755e-05f,
+3.354547316e-05f, 3.354093119e-05f, 3.353633165e-05f, 3.353167455e-05f, 3.352695991e-05f, 3.352218774e-05f, 3.351735806e-05f, 3.351247088e-05f, 3.350752621e-05f, 3.350252407e-05f,
+3.349746448e-05f, 3.349234745e-05f, 3.348717299e-05f, 3.348194112e-05f, 3.347665185e-05f, 3.347130520e-05f, 3.346590118e-05f, 3.346043982e-05f, 3.345492111e-05f, 3.344934509e-05f,
+3.344371177e-05f, 3.343802115e-05f, 3.343227326e-05f, 3.342646811e-05f, 3.342060573e-05f, 3.341468611e-05f, 3.340870929e-05f, 3.340267528e-05f, 3.339658409e-05f, 3.339043574e-05f,
+3.338423024e-05f, 3.337796762e-05f, 3.337164789e-05f, 3.336527106e-05f, 3.335883716e-05f, 3.335234620e-05f, 3.334579820e-05f, 3.333919317e-05f, 3.333253114e-05f, 3.332581211e-05f,
+3.331903612e-05f, 3.331220316e-05f, 3.330531327e-05f, 3.329836647e-05f, 3.329136276e-05f, 3.328430216e-05f, 3.327718470e-05f, 3.327001039e-05f, 3.326277926e-05f, 3.325549131e-05f,
+3.324814657e-05f, 3.324074506e-05f, 3.323328680e-05f, 3.322577179e-05f, 3.321820007e-05f, 3.321057166e-05f, 3.320288656e-05f, 3.319514480e-05f, 3.318734640e-05f, 3.317949138e-05f,
+3.317157976e-05f, 3.316361156e-05f, 3.315558679e-05f, 3.314750548e-05f, 3.313936765e-05f, 3.313117332e-05f, 3.312292250e-05f, 3.311461521e-05f, 3.310625149e-05f, 3.309783134e-05f,
+3.308935479e-05f, 3.308082186e-05f, 3.307223257e-05f, 3.306358694e-05f, 3.305488499e-05f, 3.304612674e-05f, 3.303731221e-05f, 3.302844142e-05f, 3.301951440e-05f, 3.301053117e-05f,
+3.300149174e-05f, 3.299239614e-05f, 3.298324439e-05f, 3.297403652e-05f, 3.296477253e-05f, 3.295545247e-05f, 3.294607634e-05f, 3.293664417e-05f, 3.292715598e-05f, 3.291761179e-05f,
+3.290801163e-05f, 3.289835552e-05f, 3.288864348e-05f, 3.287887553e-05f, 3.286905170e-05f, 3.285917201e-05f, 3.284923648e-05f, 3.283924514e-05f, 3.282919800e-05f, 3.281909509e-05f,
+3.280893644e-05f, 3.279872207e-05f, 3.278845200e-05f, 3.277812625e-05f, 3.276774485e-05f, 3.275730782e-05f, 3.274681519e-05f, 3.273626698e-05f, 3.272566321e-05f, 3.271500391e-05f,
+3.270428910e-05f, 3.269351881e-05f, 3.268269306e-05f, 3.267181187e-05f, 3.266087528e-05f, 3.264988329e-05f, 3.263883595e-05f, 3.262773327e-05f, 3.261657528e-05f, 3.260536201e-05f,
+3.259409347e-05f, 3.258276970e-05f, 3.257139072e-05f, 3.255995655e-05f, 3.254846722e-05f, 3.253692276e-05f, 3.252532319e-05f, 3.251366854e-05f, 3.250195884e-05f, 3.249019410e-05f,
+3.247837435e-05f, 3.246649963e-05f, 3.245456996e-05f, 3.244258536e-05f, 3.243054586e-05f, 3.241845149e-05f, 3.240630228e-05f, 3.239409824e-05f, 3.238183941e-05f, 3.236952582e-05f,
+3.235715748e-05f, 3.234473444e-05f, 3.233225671e-05f, 3.231972432e-05f, 3.230713730e-05f, 3.229449568e-05f, 3.228179949e-05f, 3.226904874e-05f, 3.225624348e-05f, 3.224338373e-05f,
+3.223046951e-05f, 3.221750086e-05f, 3.220447780e-05f, 3.219140035e-05f, 3.217826856e-05f, 3.216508244e-05f, 3.215184203e-05f, 3.213854736e-05f, 3.212519844e-05f, 3.211179532e-05f,
+3.209833802e-05f, 3.208482656e-05f, 3.207126099e-05f, 3.205764132e-05f, 3.204396758e-05f, 3.203023982e-05f, 3.201645804e-05f, 3.200262230e-05f, 3.198873260e-05f, 3.197478899e-05f,
+3.196079149e-05f, 3.194674014e-05f, 3.193263495e-05f, 3.191847597e-05f, 3.190426323e-05f, 3.188999674e-05f, 3.187567655e-05f, 3.186130268e-05f, 3.184687517e-05f, 3.183239404e-05f,
+3.181785933e-05f, 3.180327106e-05f, 3.178862927e-05f, 3.177393399e-05f, 3.175918525e-05f, 3.174438307e-05f, 3.172952750e-05f, 3.171461856e-05f, 3.169965628e-05f, 3.168464069e-05f,
+3.166957184e-05f, 3.165444974e-05f, 3.163927443e-05f, 3.162404594e-05f, 3.160876430e-05f, 3.159342955e-05f, 3.157804172e-05f, 3.156260084e-05f, 3.154710693e-05f, 3.153156005e-05f,
+3.151596020e-05f, 3.150030744e-05f, 3.148460179e-05f, 3.146884328e-05f, 3.145303195e-05f, 3.143716783e-05f, 3.142125095e-05f, 3.140528135e-05f, 3.138925905e-05f, 3.137318410e-05f,
+3.135705652e-05f, 3.134087635e-05f, 3.132464362e-05f, 3.130835837e-05f, 3.129202063e-05f, 3.127563043e-05f, 3.125918780e-05f, 3.124269279e-05f, 3.122614542e-05f, 3.120954573e-05f,
+3.119289375e-05f, 3.117618952e-05f, 3.115943307e-05f, 3.114262443e-05f, 3.112576365e-05f, 3.110885075e-05f, 3.109188577e-05f, 3.107486875e-05f, 3.105779971e-05f, 3.104067869e-05f,
+3.102350574e-05f, 3.100628088e-05f, 3.098900415e-05f, 3.097167558e-05f, 3.095429522e-05f, 3.093686309e-05f, 3.091937922e-05f, 3.090184367e-05f, 3.088425646e-05f, 3.086661763e-05f,
+3.084892720e-05f, 3.083118523e-05f, 3.081339175e-05f, 3.079554679e-05f, 3.077765038e-05f, 3.075970257e-05f, 3.074170340e-05f, 3.072365288e-05f, 3.070555108e-05f, 3.068739801e-05f,
+3.066919372e-05f, 3.065093824e-05f, 3.063263162e-05f, 3.061427388e-05f, 3.059586507e-05f, 3.057740522e-05f, 3.055889437e-05f, 3.054033256e-05f, 3.052171982e-05f, 3.050305620e-05f,
+3.048434172e-05f, 3.046557643e-05f, 3.044676036e-05f, 3.042789356e-05f, 3.040897606e-05f, 3.039000789e-05f, 3.037098910e-05f, 3.035191973e-05f, 3.033279981e-05f, 3.031362938e-05f,
+3.029440848e-05f, 3.027513715e-05f, 3.025581542e-05f, 3.023644335e-05f, 3.021702095e-05f, 3.019754828e-05f, 3.017802537e-05f, 3.015845226e-05f, 3.013882899e-05f, 3.011915560e-05f,
+3.009943213e-05f, 3.007965861e-05f, 3.005983510e-05f, 3.003996162e-05f, 3.002003821e-05f, 3.000006492e-05f, 2.998004179e-05f, 2.995996886e-05f, 2.993984615e-05f, 2.991967373e-05f,
+2.989945162e-05f, 2.987917986e-05f, 2.985885850e-05f, 2.983848758e-05f, 2.981806713e-05f, 2.979759720e-05f, 2.977707783e-05f, 2.975650905e-05f, 2.973589092e-05f, 2.971522346e-05f,
+2.969450673e-05f, 2.967374075e-05f, 2.965292558e-05f, 2.963206126e-05f, 2.961114781e-05f, 2.959018530e-05f, 2.956917375e-05f, 2.954811321e-05f, 2.952700372e-05f, 2.950584532e-05f,
+2.948463806e-05f, 2.946338197e-05f, 2.944207710e-05f, 2.942072349e-05f, 2.939932118e-05f, 2.937787022e-05f, 2.935637064e-05f, 2.933482249e-05f, 2.931322581e-05f, 2.929158064e-05f,
+2.926988703e-05f, 2.924814501e-05f, 2.922635464e-05f, 2.920451594e-05f, 2.918262898e-05f, 2.916069378e-05f, 2.913871040e-05f, 2.911667887e-05f, 2.909459923e-05f, 2.907247154e-05f,
+2.905029584e-05f, 2.902807216e-05f, 2.900580055e-05f, 2.898348106e-05f, 2.896111372e-05f, 2.893869859e-05f, 2.891623570e-05f, 2.889372511e-05f, 2.887116684e-05f, 2.884856096e-05f,
+2.882590750e-05f, 2.880320650e-05f, 2.878045801e-05f, 2.875766208e-05f, 2.873481874e-05f, 2.871192805e-05f, 2.868899005e-05f, 2.866600477e-05f, 2.864297228e-05f, 2.861989261e-05f,
+2.859676580e-05f, 2.857359190e-05f, 2.855037097e-05f, 2.852710303e-05f, 2.850378814e-05f, 2.848042634e-05f, 2.845701768e-05f, 2.843356220e-05f, 2.841005995e-05f, 2.838651097e-05f,
+2.836291532e-05f, 2.833927302e-05f, 2.831558414e-05f, 2.829184872e-05f, 2.826806679e-05f, 2.824423842e-05f, 2.822036364e-05f, 2.819644250e-05f, 2.817247505e-05f, 2.814846133e-05f,
+2.812440139e-05f, 2.810029527e-05f, 2.807614303e-05f, 2.805194471e-05f, 2.802770035e-05f, 2.800341001e-05f, 2.797907372e-05f, 2.795469154e-05f, 2.793026351e-05f, 2.790578969e-05f,
+2.788127011e-05f, 2.785670482e-05f, 2.783209388e-05f, 2.780743733e-05f, 2.778273521e-05f, 2.775798758e-05f, 2.773319447e-05f, 2.770835595e-05f, 2.768347205e-05f, 2.765854283e-05f,
+2.763356833e-05f, 2.760854861e-05f, 2.758348369e-05f, 2.755837365e-05f, 2.753321852e-05f, 2.750801835e-05f, 2.748277320e-05f, 2.745748310e-05f, 2.743214811e-05f, 2.740676828e-05f,
+2.738134366e-05f, 2.735587428e-05f, 2.733036021e-05f, 2.730480149e-05f, 2.727919817e-05f, 2.725355030e-05f, 2.722785793e-05f, 2.720212110e-05f, 2.717633988e-05f, 2.715051429e-05f,
+2.712464440e-05f, 2.709873026e-05f, 2.707277191e-05f, 2.704676940e-05f, 2.702072278e-05f, 2.699463211e-05f, 2.696849743e-05f, 2.694231879e-05f, 2.691609624e-05f, 2.688982984e-05f,
+2.686351963e-05f, 2.683716565e-05f, 2.681076797e-05f, 2.678432664e-05f, 2.675784169e-05f, 2.673131319e-05f, 2.670474118e-05f, 2.667812572e-05f, 2.665146685e-05f, 2.662476462e-05f,
+2.659801909e-05f, 2.657123031e-05f, 2.654439832e-05f, 2.651752319e-05f, 2.649060495e-05f, 2.646364366e-05f, 2.643663938e-05f, 2.640959214e-05f, 2.638250202e-05f, 2.635536904e-05f,
+2.632819328e-05f, 2.630097477e-05f, 2.627371357e-05f, 2.624640973e-05f, 2.621906331e-05f, 2.619167435e-05f, 2.616424291e-05f, 2.613676903e-05f, 2.610925278e-05f, 2.608169420e-05f,
+2.605409335e-05f, 2.602645027e-05f, 2.599876502e-05f, 2.597103765e-05f, 2.594326822e-05f, 2.591545677e-05f, 2.588760336e-05f, 2.585970804e-05f, 2.583177087e-05f, 2.580379189e-05f,
+2.577577116e-05f, 2.574770874e-05f, 2.571960466e-05f, 2.569145900e-05f, 2.566327180e-05f, 2.563504311e-05f, 2.560677299e-05f, 2.557846149e-05f, 2.555010867e-05f, 2.552171457e-05f,
+2.549327925e-05f, 2.546480277e-05f, 2.543628518e-05f, 2.540772652e-05f, 2.537912686e-05f, 2.535048625e-05f, 2.532180475e-05f, 2.529308240e-05f, 2.526431926e-05f, 2.523551538e-05f,
+2.520667083e-05f, 2.517778564e-05f, 2.514885988e-05f, 2.511989361e-05f, 2.509088687e-05f, 2.506183972e-05f, 2.503275222e-05f, 2.500362441e-05f, 2.497445636e-05f, 2.494524812e-05f,
+2.491599973e-05f, 2.488671127e-05f, 2.485738278e-05f, 2.482801432e-05f, 2.479860594e-05f, 2.476915770e-05f, 2.473966965e-05f, 2.471014185e-05f, 2.468057435e-05f, 2.465096721e-05f,
+2.462132049e-05f, 2.459163423e-05f, 2.456190850e-05f, 2.453214335e-05f, 2.450233884e-05f, 2.447249502e-05f, 2.444261194e-05f, 2.441268967e-05f, 2.438272826e-05f, 2.435272776e-05f,
+2.432268823e-05f, 2.429260973e-05f, 2.426249232e-05f, 2.423233604e-05f, 2.420214096e-05f, 2.417190713e-05f, 2.414163461e-05f, 2.411132345e-05f, 2.408097371e-05f, 2.405058546e-05f,
+2.402015873e-05f, 2.398969360e-05f, 2.395919012e-05f, 2.392864834e-05f, 2.389806832e-05f, 2.386745012e-05f, 2.383679379e-05f, 2.380609940e-05f, 2.377536699e-05f, 2.374459664e-05f,
+2.371378838e-05f, 2.368294229e-05f, 2.365205841e-05f, 2.362113682e-05f, 2.359017755e-05f, 2.355918067e-05f, 2.352814625e-05f, 2.349707433e-05f, 2.346596497e-05f, 2.343481823e-05f,
+2.340363417e-05f, 2.337241285e-05f, 2.334115433e-05f, 2.330985865e-05f, 2.327852589e-05f, 2.324715610e-05f, 2.321574933e-05f, 2.318430565e-05f, 2.315282511e-05f, 2.312130777e-05f,
+2.308975370e-05f, 2.305816294e-05f, 2.302653556e-05f, 2.299487161e-05f, 2.296317116e-05f, 2.293143426e-05f, 2.289966098e-05f, 2.286785136e-05f, 2.283600548e-05f, 2.280412338e-05f,
+2.277220513e-05f, 2.274025078e-05f, 2.270826040e-05f, 2.267623405e-05f, 2.264417177e-05f, 2.261207364e-05f, 2.257993972e-05f, 2.254777005e-05f, 2.251556471e-05f, 2.248332374e-05f,
+2.245104722e-05f, 2.241873519e-05f, 2.238638772e-05f, 2.235400487e-05f, 2.232158670e-05f, 2.228913327e-05f, 2.225664464e-05f, 2.222412086e-05f, 2.219156200e-05f, 2.215896812e-05f,
+2.212633928e-05f, 2.209367553e-05f, 2.206097694e-05f, 2.202824358e-05f, 2.199547549e-05f, 2.196267273e-05f, 2.192983538e-05f, 2.189696349e-05f, 2.186405712e-05f, 2.183111633e-05f,
+2.179814118e-05f, 2.176513173e-05f, 2.173208805e-05f, 2.169901018e-05f, 2.166589821e-05f, 2.163275218e-05f, 2.159957215e-05f, 2.156635819e-05f, 2.153311036e-05f, 2.149982872e-05f,
+2.146651333e-05f, 2.143316425e-05f, 2.139978154e-05f, 2.136636527e-05f, 2.133291549e-05f, 2.129943227e-05f, 2.126591567e-05f, 2.123236574e-05f, 2.119878256e-05f, 2.116516618e-05f,
+2.113151667e-05f, 2.109783408e-05f, 2.106411848e-05f, 2.103036993e-05f, 2.099658849e-05f, 2.096277422e-05f, 2.092892719e-05f, 2.089504746e-05f, 2.086113508e-05f, 2.082719013e-05f,
+2.079321266e-05f, 2.075920274e-05f, 2.072516042e-05f, 2.069108578e-05f, 2.065697886e-05f, 2.062283975e-05f, 2.058866849e-05f, 2.055446515e-05f, 2.052022979e-05f, 2.048596248e-05f,
+2.045166327e-05f, 2.041733224e-05f, 2.038296944e-05f, 2.034857493e-05f, 2.031414879e-05f, 2.027969106e-05f, 2.024520182e-05f, 2.021068113e-05f, 2.017612905e-05f, 2.014154564e-05f,
+2.010693097e-05f, 2.007228510e-05f, 2.003760810e-05f, 2.000290001e-05f, 1.996816092e-05f, 1.993339089e-05f, 1.989858996e-05f, 1.986375822e-05f, 1.982889572e-05f, 1.979400253e-05f,
+1.975907871e-05f, 1.972412433e-05f, 1.968913944e-05f, 1.965412411e-05f, 1.961907841e-05f, 1.958400240e-05f, 1.954889614e-05f, 1.951375970e-05f, 1.947859314e-05f, 1.944339653e-05f,
+1.940816992e-05f, 1.937291339e-05f, 1.933762700e-05f, 1.930231080e-05f, 1.926696487e-05f, 1.923158928e-05f, 1.919618407e-05f, 1.916074933e-05f, 1.912528511e-05f, 1.908979147e-05f,
+1.905426849e-05f, 1.901871623e-05f, 1.898313474e-05f, 1.894752411e-05f, 1.891188438e-05f, 1.887621563e-05f, 1.884051792e-05f, 1.880479131e-05f, 1.876903587e-05f, 1.873325167e-05f,
+1.869743877e-05f, 1.866159723e-05f, 1.862572712e-05f, 1.858982850e-05f, 1.855390145e-05f, 1.851794602e-05f, 1.848196228e-05f, 1.844595030e-05f, 1.840991013e-05f, 1.837384185e-05f,
+1.833774553e-05f, 1.830162122e-05f, 1.826546899e-05f, 1.822928891e-05f, 1.819308104e-05f, 1.815684545e-05f, 1.812058221e-05f, 1.808429137e-05f, 1.804797301e-05f, 1.801162720e-05f,
+1.797525399e-05f, 1.793885345e-05f, 1.790242565e-05f, 1.786597066e-05f, 1.782948853e-05f, 1.779297935e-05f, 1.775644316e-05f, 1.771988005e-05f, 1.768329007e-05f, 1.764667329e-05f,
+1.761002977e-05f, 1.757335959e-05f, 1.753666281e-05f, 1.749993950e-05f, 1.746318972e-05f, 1.742641354e-05f, 1.738961102e-05f, 1.735278223e-05f, 1.731592724e-05f, 1.727904612e-05f,
+1.724213892e-05f, 1.720520573e-05f, 1.716824659e-05f, 1.713126159e-05f, 1.709425079e-05f, 1.705721425e-05f, 1.702015204e-05f, 1.698306423e-05f, 1.694595089e-05f, 1.690881207e-05f,
+1.687164786e-05f, 1.683445831e-05f, 1.679724349e-05f, 1.676000348e-05f, 1.672273833e-05f, 1.668544811e-05f, 1.664813290e-05f, 1.661079275e-05f, 1.657342774e-05f, 1.653603793e-05f,
+1.649862339e-05f, 1.646118419e-05f, 1.642372040e-05f, 1.638623207e-05f, 1.634871929e-05f, 1.631118211e-05f, 1.627362061e-05f, 1.623603485e-05f, 1.619842490e-05f, 1.616079083e-05f,
+1.612313270e-05f, 1.608545058e-05f, 1.604774455e-05f, 1.601001466e-05f, 1.597226099e-05f, 1.593448361e-05f, 1.589668257e-05f, 1.585885796e-05f, 1.582100983e-05f, 1.578313826e-05f,
+1.574524331e-05f, 1.570732506e-05f, 1.566938356e-05f, 1.563141889e-05f, 1.559343112e-05f, 1.555542031e-05f, 1.551738653e-05f, 1.547932986e-05f, 1.544125035e-05f, 1.540314808e-05f,
+1.536502311e-05f, 1.532687552e-05f, 1.528870537e-05f, 1.525051274e-05f, 1.521229768e-05f, 1.517406026e-05f, 1.513580057e-05f, 1.509751866e-05f, 1.505921460e-05f, 1.502088846e-05f,
+1.498254032e-05f, 1.494417023e-05f, 1.490577827e-05f, 1.486736451e-05f, 1.482892901e-05f, 1.479047185e-05f, 1.475199309e-05f, 1.471349280e-05f, 1.467497105e-05f, 1.463642791e-05f,
+1.459786345e-05f, 1.455927774e-05f, 1.452067084e-05f, 1.448204283e-05f, 1.444339378e-05f, 1.440472375e-05f, 1.436603281e-05f, 1.432732103e-05f, 1.428858848e-05f, 1.424983524e-05f,
+1.421106136e-05f, 1.417226693e-05f, 1.413345200e-05f, 1.409461665e-05f, 1.405576094e-05f, 1.401688495e-05f, 1.397798875e-05f, 1.393907241e-05f, 1.390013598e-05f, 1.386117955e-05f,
+1.382220319e-05f, 1.378320696e-05f, 1.374419093e-05f, 1.370515517e-05f, 1.366609976e-05f, 1.362702475e-05f, 1.358793023e-05f, 1.354881626e-05f, 1.350968291e-05f, 1.347053025e-05f,
+1.343135835e-05f, 1.339216728e-05f, 1.335295711e-05f, 1.331372791e-05f, 1.327447975e-05f, 1.323521270e-05f, 1.319592683e-05f, 1.315662221e-05f, 1.311729891e-05f, 1.307795700e-05f,
+1.303859655e-05f, 1.299921762e-05f, 1.295982030e-05f, 1.292040465e-05f, 1.288097073e-05f, 1.284151863e-05f, 1.280204841e-05f, 1.276256014e-05f, 1.272305389e-05f, 1.268352973e-05f,
+1.264398773e-05f, 1.260442796e-05f, 1.256485050e-05f, 1.252525540e-05f, 1.248564275e-05f, 1.244601262e-05f, 1.240636506e-05f, 1.236670016e-05f, 1.232701799e-05f, 1.228731861e-05f,
+1.224760209e-05f, 1.220786852e-05f, 1.216811795e-05f, 1.212835045e-05f, 1.208856610e-05f, 1.204876498e-05f, 1.200894714e-05f, 1.196911266e-05f, 1.192926161e-05f, 1.188939406e-05f,
+1.184951009e-05f, 1.180960975e-05f, 1.176969313e-05f, 1.172976030e-05f, 1.168981132e-05f, 1.164984626e-05f, 1.160986520e-05f, 1.156986821e-05f, 1.152985536e-05f, 1.148982672e-05f,
+1.144978236e-05f, 1.140972235e-05f, 1.136964676e-05f, 1.132955566e-05f, 1.128944913e-05f, 1.124932724e-05f, 1.120919005e-05f, 1.116903764e-05f, 1.112887007e-05f, 1.108868743e-05f,
+1.104848978e-05f, 1.100827719e-05f, 1.096804973e-05f, 1.092780748e-05f, 1.088755050e-05f, 1.084727887e-05f, 1.080699266e-05f, 1.076669193e-05f, 1.072637677e-05f, 1.068604724e-05f,
+1.064570341e-05f, 1.060534536e-05f, 1.056497315e-05f, 1.052458686e-05f, 1.048418656e-05f, 1.044377232e-05f, 1.040334421e-05f, 1.036290230e-05f, 1.032244667e-05f, 1.028197738e-05f,
+1.024149451e-05f, 1.020099813e-05f, 1.016048831e-05f, 1.011996512e-05f, 1.007942863e-05f, 1.003887892e-05f, 9.998316056e-06f, 9.957740110e-06f, 9.917151153e-06f, 9.876549257e-06f,
+9.835934494e-06f, 9.795306936e-06f, 9.754666654e-06f, 9.714013720e-06f, 9.673348205e-06f, 9.632670182e-06f, 9.591979722e-06f, 9.551276896e-06f, 9.510561777e-06f, 9.469834437e-06f,
+9.429094946e-06f, 9.388343377e-06f, 9.347579802e-06f, 9.306804293e-06f, 9.266016920e-06f, 9.225217757e-06f, 9.184406875e-06f, 9.143584346e-06f, 9.102750242e-06f, 9.061904634e-06f,
+9.021047595e-06f, 8.980179196e-06f, 8.939299510e-06f, 8.898408608e-06f, 8.857506562e-06f, 8.816593445e-06f, 8.775669328e-06f, 8.734734284e-06f, 8.693788383e-06f, 8.652831699e-06f,
+8.611864304e-06f, 8.570886268e-06f, 8.529897665e-06f, 8.488898567e-06f, 8.447889045e-06f, 8.406869172e-06f, 8.365839019e-06f, 8.324798659e-06f, 8.283748165e-06f, 8.242687607e-06f,
+8.201617058e-06f, 8.160536591e-06f, 8.119446277e-06f, 8.078346189e-06f, 8.037236399e-06f, 7.996116978e-06f, 7.954988000e-06f, 7.913849536e-06f, 7.872701659e-06f, 7.831544441e-06f,
+7.790377953e-06f, 7.749202269e-06f, 7.708017460e-06f, 7.666823599e-06f, 7.625620758e-06f, 7.584409010e-06f, 7.543188426e-06f, 7.501959078e-06f, 7.460721040e-06f, 7.419474383e-06f,
+7.378219180e-06f, 7.336955503e-06f, 7.295683424e-06f, 7.254403016e-06f, 7.213114351e-06f, 7.171817501e-06f, 7.130512539e-06f, 7.089199537e-06f, 7.047878567e-06f, 7.006549703e-06f,
+6.965213015e-06f, 6.923868576e-06f, 6.882516460e-06f, 6.841156738e-06f, 6.799789482e-06f, 6.758414766e-06f, 6.717032661e-06f, 6.675643240e-06f, 6.634246575e-06f, 6.592842739e-06f,
+6.551431804e-06f, 6.510013843e-06f, 6.468588928e-06f, 6.427157131e-06f, 6.385718525e-06f, 6.344273182e-06f, 6.302821175e-06f, 6.261362577e-06f, 6.219897459e-06f, 6.178425894e-06f,
+6.136947955e-06f, 6.095463714e-06f, 6.053973244e-06f, 6.012476616e-06f, 5.970973905e-06f, 5.929465181e-06f, 5.887950518e-06f, 5.846429987e-06f, 5.804903663e-06f, 5.763371616e-06f,
+5.721833920e-06f, 5.680290646e-06f, 5.638741868e-06f, 5.597187659e-06f, 5.555628089e-06f, 5.514063233e-06f, 5.472493162e-06f, 5.430917949e-06f, 5.389337667e-06f, 5.347752388e-06f,
+5.306162184e-06f, 5.264567129e-06f, 5.222967294e-06f, 5.181362752e-06f, 5.139753575e-06f, 5.098139837e-06f, 5.056521610e-06f, 5.014898965e-06f, 4.973271977e-06f, 4.931640716e-06f,
+4.890005256e-06f, 4.848365670e-06f, 4.806722029e-06f, 4.765074407e-06f, 4.723422875e-06f, 4.681767506e-06f, 4.640108374e-06f, 4.598445550e-06f, 4.556779106e-06f, 4.515109116e-06f,
+4.473435652e-06f, 4.431758786e-06f, 4.390078591e-06f, 4.348395140e-06f, 4.306708504e-06f, 4.265018757e-06f, 4.223325970e-06f, 4.181630217e-06f, 4.139931570e-06f, 4.098230101e-06f,
+4.056525883e-06f, 4.014818989e-06f, 3.973109490e-06f, 3.931397460e-06f, 3.889682970e-06f, 3.847966093e-06f, 3.806246903e-06f, 3.764525470e-06f, 3.722801868e-06f, 3.681076169e-06f,
+3.639348446e-06f, 3.597618771e-06f, 3.555887216e-06f, 3.514153854e-06f, 3.472418758e-06f, 3.430681999e-06f, 3.388943650e-06f, 3.347203784e-06f, 3.305462473e-06f, 3.263719790e-06f,
+3.221975806e-06f, 3.180230595e-06f, 3.138484228e-06f, 3.096736779e-06f, 3.054988319e-06f, 3.013238920e-06f, 2.971488656e-06f, 2.929737599e-06f, 2.887985820e-06f, 2.846233393e-06f,
+2.804480389e-06f, 2.762726882e-06f, 2.720972942e-06f, 2.679218644e-06f, 2.637464058e-06f, 2.595709258e-06f, 2.553954315e-06f, 2.512199302e-06f, 2.470444291e-06f, 2.428689355e-06f,
+2.386934566e-06f, 2.345179995e-06f, 2.303425716e-06f, 2.261671801e-06f, 2.219918321e-06f, 2.178165349e-06f, 2.136412958e-06f, 2.094661219e-06f, 2.052910205e-06f, 2.011159987e-06f,
+1.969410639e-06f, 1.927662232e-06f, 1.885914839e-06f, 1.844168531e-06f, 1.802423382e-06f, 1.760679462e-06f, 1.718936844e-06f, 1.677195600e-06f, 1.635455803e-06f, 1.593717524e-06f,
+1.551980836e-06f, 1.510245810e-06f, 1.468512519e-06f, 1.426781035e-06f, 1.385051430e-06f, 1.343323776e-06f, 1.301598144e-06f, 1.259874608e-06f, 1.218153238e-06f, 1.176434108e-06f,
+1.134717289e-06f, 1.093002852e-06f, 1.051290870e-06f, 1.009581416e-06f, 9.678745599e-07f, 9.261703748e-07f, 8.844689324e-07f, 8.427703046e-07f, 8.010745632e-07f, 7.593817803e-07f,
+7.176920276e-07f, 6.760053770e-07f, 6.343219003e-07f, 5.926416694e-07f, 5.509647562e-07f, 5.092912323e-07f, 4.676211696e-07f, 4.259546400e-07f, 3.842917150e-07f, 3.426324666e-07f,
+3.009769664e-07f, 2.593252862e-07f, 2.176774977e-07f, 1.760336725e-07f, 1.343938824e-07f, 9.275819901e-08f, 5.112669399e-08f, 9.499438985e-09f, -3.212349438e-08f, -7.374203450e-08f,
+-1.153561098e-07f, -1.569656487e-07f, -1.985705795e-07f, -2.401708309e-07f, -2.817663312e-07f, -3.233570089e-07f, -3.649427925e-07f, -4.065236106e-07f, -4.480993917e-07f, -4.896700642e-07f,
+-5.312355569e-07f, -5.727957982e-07f, -6.143507168e-07f, -6.559002412e-07f, -6.974443001e-07f, -7.389828222e-07f, -7.805157361e-07f, -8.220429705e-07f, -8.635644541e-07f, -9.050801156e-07f,
+-9.465898838e-07f, -9.880936873e-07f, -1.029591455e-06f, -1.071083116e-06f, -1.112568598e-06f, -1.154047831e-06f, -1.195520743e-06f, -1.236987264e-06f, -1.278447322e-06f, -1.319900846e-06f,
+-1.361347765e-06f, -1.402788007e-06f, -1.444221503e-06f, -1.485648180e-06f, -1.527067969e-06f, -1.568480797e-06f, -1.609886594e-06f, -1.651285289e-06f, -1.692676810e-06f, -1.734061088e-06f,
+-1.775438051e-06f, -1.816807629e-06f, -1.858169750e-06f, -1.899524343e-06f, -1.940871338e-06f, -1.982210665e-06f, -2.023542251e-06f, -2.064866027e-06f, -2.106181922e-06f, -2.147489865e-06f,
+-2.188789785e-06f, -2.230081612e-06f, -2.271365276e-06f, -2.312640704e-06f, -2.353907828e-06f, -2.395166575e-06f, -2.436416877e-06f, -2.477658661e-06f, -2.518891859e-06f, -2.560116398e-06f,
+-2.601332210e-06f, -2.642539222e-06f, -2.683737366e-06f, -2.724926570e-06f, -2.766106764e-06f, -2.807277877e-06f, -2.848439841e-06f, -2.889592583e-06f, -2.930736034e-06f, -2.971870123e-06f,
+-3.012994781e-06f, -3.054109937e-06f, -3.095215521e-06f, -3.136311463e-06f, -3.177397692e-06f, -3.218474139e-06f, -3.259540733e-06f, -3.300597405e-06f, -3.341644084e-06f, -3.382680700e-06f,
+-3.423707183e-06f, -3.464723464e-06f, -3.505729472e-06f, -3.546725137e-06f, -3.587710390e-06f, -3.628685161e-06f, -3.669649379e-06f, -3.710602976e-06f, -3.751545881e-06f, -3.792478024e-06f,
+-3.833399336e-06f, -3.874309746e-06f, -3.915209187e-06f, -3.956097586e-06f, -3.996974876e-06f, -4.037840986e-06f, -4.078695847e-06f, -4.119539390e-06f, -4.160371544e-06f, -4.201192240e-06f,
+-4.242001409e-06f, -4.282798981e-06f, -4.323584887e-06f, -4.364359058e-06f, -4.405121424e-06f, -4.445871915e-06f, -4.486610463e-06f, -4.527336998e-06f, -4.568051451e-06f, -4.608753753e-06f,
+-4.649443834e-06f, -4.690121626e-06f, -4.730787059e-06f, -4.771440064e-06f, -4.812080572e-06f, -4.852708513e-06f, -4.893323820e-06f, -4.933926423e-06f, -4.974516253e-06f, -5.015093240e-06f,
+-5.055657317e-06f, -5.096208414e-06f, -5.136746462e-06f, -5.177271393e-06f, -5.217783138e-06f, -5.258281628e-06f, -5.298766794e-06f, -5.339238567e-06f, -5.379696879e-06f, -5.420141662e-06f,
+-5.460572847e-06f, -5.500990364e-06f, -5.541394146e-06f, -5.581784124e-06f, -5.622160229e-06f, -5.662522394e-06f, -5.702870549e-06f, -5.743204627e-06f, -5.783524558e-06f, -5.823830275e-06f,
+-5.864121709e-06f, -5.904398793e-06f, -5.944661457e-06f, -5.984909633e-06f, -6.025143254e-06f, -6.065362252e-06f, -6.105566557e-06f, -6.145756103e-06f, -6.185930820e-06f, -6.226090642e-06f,
+-6.266235500e-06f, -6.306365326e-06f, -6.346480052e-06f, -6.386579611e-06f, -6.426663934e-06f, -6.466732954e-06f, -6.506786602e-06f, -6.546824812e-06f, -6.586847516e-06f, -6.626854645e-06f,
+-6.666846133e-06f, -6.706821911e-06f, -6.746781912e-06f, -6.786726069e-06f, -6.826654313e-06f, -6.866566578e-06f, -6.906462797e-06f, -6.946342901e-06f, -6.986206823e-06f, -7.026054496e-06f,
+-7.065885853e-06f, -7.105700827e-06f, -7.145499349e-06f, -7.185281354e-06f, -7.225046774e-06f, -7.264795541e-06f, -7.304527590e-06f, -7.344242851e-06f, -7.383941260e-06f, -7.423622748e-06f,
+-7.463287249e-06f, -7.502934696e-06f, -7.542565022e-06f, -7.582178160e-06f, -7.621774044e-06f, -7.661352606e-06f, -7.700913780e-06f, -7.740457499e-06f, -7.779983697e-06f, -7.819492308e-06f,
+-7.858983263e-06f, -7.898456497e-06f, -7.937911944e-06f, -7.977349537e-06f, -8.016769210e-06f, -8.056170895e-06f, -8.095554528e-06f, -8.134920041e-06f, -8.174267369e-06f, -8.213596444e-06f,
+-8.252907201e-06f, -8.292199575e-06f, -8.331473498e-06f, -8.370728904e-06f, -8.409965728e-06f, -8.449183904e-06f, -8.488383365e-06f, -8.527564046e-06f, -8.566725880e-06f, -8.605868803e-06f,
+-8.644992748e-06f, -8.684097649e-06f, -8.723183442e-06f, -8.762250059e-06f, -8.801297436e-06f, -8.840325506e-06f, -8.879334205e-06f, -8.918323466e-06f, -8.957293225e-06f, -8.996243416e-06f,
+-9.035173974e-06f, -9.074084832e-06f, -9.112975926e-06f, -9.151847191e-06f, -9.190698561e-06f, -9.229529972e-06f, -9.268341357e-06f, -9.307132652e-06f, -9.345903792e-06f, -9.384654712e-06f,
+-9.423385347e-06f, -9.462095632e-06f, -9.500785502e-06f, -9.539454892e-06f, -9.578103737e-06f, -9.616731973e-06f, -9.655339535e-06f, -9.693926357e-06f, -9.732492377e-06f, -9.771037529e-06f,
+-9.809561747e-06f, -9.848064969e-06f, -9.886547129e-06f, -9.925008164e-06f, -9.963448008e-06f, -1.000186660e-05f, -1.004026387e-05f, -1.007863975e-05f, -1.011699419e-05f, -1.015532712e-05f,
+-1.019363847e-05f, -1.023192819e-05f, -1.027019619e-05f, -1.030844243e-05f, -1.034666684e-05f, -1.038486936e-05f, -1.042304991e-05f, -1.046120844e-05f, -1.049934488e-05f, -1.053745918e-05f,
+-1.057555125e-05f, -1.061362105e-05f, -1.065166851e-05f, -1.068969357e-05f, -1.072769615e-05f, -1.076567620e-05f, -1.080363366e-05f, -1.084156846e-05f, -1.087948053e-05f, -1.091736982e-05f,
+-1.095523626e-05f, -1.099307979e-05f, -1.103090035e-05f, -1.106869786e-05f, -1.110647228e-05f, -1.114422353e-05f, -1.118195155e-05f, -1.121965629e-05f, -1.125733767e-05f, -1.129499563e-05f,
+-1.133263012e-05f, -1.137024107e-05f, -1.140782841e-05f, -1.144539208e-05f, -1.148293203e-05f, -1.152044819e-05f, -1.155794049e-05f, -1.159540888e-05f, -1.163285328e-05f, -1.167027365e-05f,
+-1.170766991e-05f, -1.174504201e-05f, -1.178238988e-05f, -1.181971346e-05f, -1.185701269e-05f, -1.189428751e-05f, -1.193153785e-05f, -1.196876365e-05f, -1.200596485e-05f, -1.204314139e-05f,
+-1.208029321e-05f, -1.211742024e-05f, -1.215452242e-05f, -1.219159970e-05f, -1.222865201e-05f, -1.226567928e-05f, -1.230268146e-05f, -1.233965849e-05f, -1.237661030e-05f, -1.241353684e-05f,
+-1.245043804e-05f, -1.248731383e-05f, -1.252416417e-05f, -1.256098898e-05f, -1.259778821e-05f, -1.263456180e-05f, -1.267130968e-05f, -1.270803180e-05f, -1.274472809e-05f, -1.278139849e-05f,
+-1.281804294e-05f, -1.285466138e-05f, -1.289125376e-05f, -1.292782000e-05f, -1.296436005e-05f, -1.300087385e-05f, -1.303736134e-05f, -1.307382246e-05f, -1.311025714e-05f, -1.314666533e-05f,
+-1.318304696e-05f, -1.321940199e-05f, -1.325573033e-05f, -1.329203195e-05f, -1.332830677e-05f, -1.336455473e-05f, -1.340077579e-05f, -1.343696986e-05f, -1.347313691e-05f, -1.350927686e-05f,
+-1.354538966e-05f, -1.358147524e-05f, -1.361753355e-05f, -1.365356453e-05f, -1.368956812e-05f, -1.372554426e-05f, -1.376149289e-05f, -1.379741394e-05f, -1.383330737e-05f, -1.386917311e-05f,
+-1.390501110e-05f, -1.394082129e-05f, -1.397660360e-05f, -1.401235800e-05f, -1.404808441e-05f, -1.408378277e-05f, -1.411945304e-05f, -1.415509514e-05f, -1.419070903e-05f, -1.422629464e-05f,
+-1.426185191e-05f, -1.429738078e-05f, -1.433288120e-05f, -1.436835311e-05f, -1.440379645e-05f, -1.443921116e-05f, -1.447459718e-05f, -1.450995446e-05f, -1.454528293e-05f, -1.458058254e-05f,
+-1.461585323e-05f, -1.465109494e-05f, -1.468630761e-05f, -1.472149120e-05f, -1.475664562e-05f, -1.479177084e-05f, -1.482686680e-05f, -1.486193342e-05f, -1.489697067e-05f, -1.493197847e-05f,
+-1.496695677e-05f, -1.500190552e-05f, -1.503682466e-05f, -1.507171413e-05f, -1.510657387e-05f, -1.514140382e-05f, -1.517620393e-05f, -1.521097414e-05f, -1.524571440e-05f, -1.528042464e-05f,
+-1.531510482e-05f, -1.534975486e-05f, -1.538437472e-05f, -1.541896435e-05f, -1.545352367e-05f, -1.548805264e-05f, -1.552255120e-05f, -1.555701929e-05f, -1.559145686e-05f, -1.562586385e-05f,
+-1.566024020e-05f, -1.569458586e-05f, -1.572890077e-05f, -1.576318487e-05f, -1.579743811e-05f, -1.583166044e-05f, -1.586585179e-05f, -1.590001211e-05f, -1.593414135e-05f, -1.596823944e-05f,
+-1.600230634e-05f, -1.603634199e-05f, -1.607034632e-05f, -1.610431930e-05f, -1.613826085e-05f, -1.617217093e-05f, -1.620604948e-05f, -1.623989644e-05f, -1.627371176e-05f, -1.630749539e-05f,
+-1.634124726e-05f, -1.637496733e-05f, -1.640865553e-05f, -1.644231182e-05f, -1.647593614e-05f, -1.650952843e-05f, -1.654308864e-05f, -1.657661672e-05f, -1.661011260e-05f, -1.664357624e-05f,
+-1.667700757e-05f, -1.671040656e-05f, -1.674377313e-05f, -1.677710724e-05f, -1.681040884e-05f, -1.684367786e-05f, -1.687691425e-05f, -1.691011797e-05f, -1.694328895e-05f, -1.697642715e-05f,
+-1.700953250e-05f, -1.704260495e-05f, -1.707564446e-05f, -1.710865096e-05f, -1.714162441e-05f, -1.717456474e-05f, -1.720747191e-05f, -1.724034586e-05f, -1.727318654e-05f, -1.730599390e-05f,
+-1.733876788e-05f, -1.737150842e-05f, -1.740421548e-05f, -1.743688901e-05f, -1.746952894e-05f, -1.750213523e-05f, -1.753470782e-05f, -1.756724667e-05f, -1.759975171e-05f, -1.763222289e-05f,
+-1.766466017e-05f, -1.769706349e-05f, -1.772943280e-05f, -1.776176804e-05f, -1.779406916e-05f, -1.782633611e-05f, -1.785856884e-05f, -1.789076729e-05f, -1.792293142e-05f, -1.795506117e-05f,
+-1.798715649e-05f, -1.801921732e-05f, -1.805124362e-05f, -1.808323534e-05f, -1.811519241e-05f, -1.814711480e-05f, -1.817900244e-05f, -1.821085529e-05f, -1.824267330e-05f, -1.827445640e-05f,
+-1.830620457e-05f, -1.833791773e-05f, -1.836959584e-05f, -1.840123885e-05f, -1.843284671e-05f, -1.846441936e-05f, -1.849595676e-05f, -1.852745886e-05f, -1.855892560e-05f, -1.859035693e-05f,
+-1.862175280e-05f, -1.865311317e-05f, -1.868443797e-05f, -1.871572717e-05f, -1.874698071e-05f, -1.877819853e-05f, -1.880938060e-05f, -1.884052685e-05f, -1.887163725e-05f, -1.890271173e-05f,
+-1.893375025e-05f, -1.896475276e-05f, -1.899571921e-05f, -1.902664955e-05f, -1.905754373e-05f, -1.908840169e-05f, -1.911922340e-05f, -1.915000880e-05f, -1.918075783e-05f, -1.921147046e-05f,
+-1.924214664e-05f, -1.927278630e-05f, -1.930338941e-05f, -1.933395591e-05f, -1.936448576e-05f, -1.939497890e-05f, -1.942543529e-05f, -1.945585488e-05f, -1.948623762e-05f, -1.951658346e-05f,
+-1.954689235e-05f, -1.957716425e-05f, -1.960739910e-05f, -1.963759686e-05f, -1.966775748e-05f, -1.969788090e-05f, -1.972796709e-05f, -1.975801599e-05f, -1.978802756e-05f, -1.981800174e-05f,
+-1.984793849e-05f, -1.987783777e-05f, -1.990769951e-05f, -1.993752369e-05f, -1.996731024e-05f, -1.999705912e-05f, -2.002677028e-05f, -2.005644368e-05f, -2.008607927e-05f, -2.011567700e-05f,
+-2.014523682e-05f, -2.017475869e-05f, -2.020424255e-05f, -2.023368837e-05f, -2.026309609e-05f, -2.029246568e-05f, -2.032179707e-05f, -2.035109022e-05f, -2.038034510e-05f, -2.040956164e-05f,
+-2.043873981e-05f, -2.046787956e-05f, -2.049698084e-05f, -2.052604360e-05f, -2.055506780e-05f, -2.058405340e-05f, -2.061300034e-05f, -2.064190858e-05f, -2.067077808e-05f, -2.069960878e-05f,
+-2.072840065e-05f, -2.075715363e-05f, -2.078586769e-05f, -2.081454277e-05f, -2.084317883e-05f, -2.087177583e-05f, -2.090033371e-05f, -2.092885244e-05f, -2.095733196e-05f, -2.098577224e-05f,
+-2.101417323e-05f, -2.104253488e-05f, -2.107085715e-05f, -2.109913999e-05f, -2.112738336e-05f, -2.115558721e-05f, -2.118375150e-05f, -2.121187619e-05f, -2.123996122e-05f, -2.126800656e-05f,
+-2.129601216e-05f, -2.132397798e-05f, -2.135190397e-05f, -2.137979009e-05f, -2.140763629e-05f, -2.143544253e-05f, -2.146320877e-05f, -2.149093495e-05f, -2.151862105e-05f, -2.154626701e-05f,
+-2.157387280e-05f, -2.160143835e-05f, -2.162896365e-05f, -2.165644863e-05f, -2.168389326e-05f, -2.171129749e-05f, -2.173866129e-05f, -2.176598460e-05f, -2.179326739e-05f, -2.182050960e-05f,
+-2.184771121e-05f, -2.187487216e-05f, -2.190199241e-05f, -2.192907192e-05f, -2.195611065e-05f, -2.198310856e-05f, -2.201006560e-05f, -2.203698172e-05f, -2.206385690e-05f, -2.209069108e-05f,
+-2.211748422e-05f, -2.214423628e-05f, -2.217094723e-05f, -2.219761701e-05f, -2.222424558e-05f, -2.225083291e-05f, -2.227737895e-05f, -2.230388367e-05f, -2.233034701e-05f, -2.235676893e-05f,
+-2.238314940e-05f, -2.240948838e-05f, -2.243578582e-05f, -2.246204168e-05f, -2.248825593e-05f, -2.251442851e-05f, -2.254055939e-05f, -2.256664853e-05f, -2.259269589e-05f, -2.261870142e-05f,
+-2.264466509e-05f, -2.267058685e-05f, -2.269646667e-05f, -2.272230450e-05f, -2.274810031e-05f, -2.277385405e-05f, -2.279956568e-05f, -2.282523517e-05f, -2.285086247e-05f, -2.287644755e-05f,
+-2.290199036e-05f, -2.292749086e-05f, -2.295294901e-05f, -2.297836478e-05f, -2.300373813e-05f, -2.302906901e-05f, -2.305435739e-05f, -2.307960322e-05f, -2.310480647e-05f, -2.312996710e-05f,
+-2.315508507e-05f, -2.318016033e-05f, -2.320519286e-05f, -2.323018261e-05f, -2.325512955e-05f, -2.328003363e-05f, -2.330489482e-05f, -2.332971307e-05f, -2.335448835e-05f, -2.337922062e-05f,
+-2.340390985e-05f, -2.342855599e-05f, -2.345315901e-05f, -2.347771886e-05f, -2.350223551e-05f, -2.352670893e-05f, -2.355113907e-05f, -2.357552590e-05f, -2.359986937e-05f, -2.362416946e-05f,
+-2.364842612e-05f, -2.367263932e-05f, -2.369680901e-05f, -2.372093517e-05f, -2.374501775e-05f, -2.376905672e-05f, -2.379305204e-05f, -2.381700367e-05f, -2.384091157e-05f, -2.386477572e-05f,
+-2.388859607e-05f, -2.391237259e-05f, -2.393610523e-05f, -2.395979397e-05f, -2.398343877e-05f, -2.400703958e-05f, -2.403059638e-05f, -2.405410913e-05f, -2.407757779e-05f, -2.410100232e-05f,
+-2.412438270e-05f, -2.414771887e-05f, -2.417101082e-05f, -2.419425850e-05f, -2.421746187e-05f, -2.424062091e-05f, -2.426373557e-05f, -2.428680583e-05f, -2.430983164e-05f, -2.433281296e-05f,
+-2.435574978e-05f, -2.437864204e-05f, -2.440148972e-05f, -2.442429278e-05f, -2.444705118e-05f, -2.446976489e-05f, -2.449243388e-05f, -2.451505811e-05f, -2.453763755e-05f, -2.456017216e-05f,
+-2.458266191e-05f, -2.460510676e-05f, -2.462750668e-05f, -2.464986164e-05f, -2.467217160e-05f, -2.469443652e-05f, -2.471665638e-05f, -2.473883114e-05f, -2.476096077e-05f, -2.478304523e-05f,
+-2.480508449e-05f, -2.482707851e-05f, -2.484902727e-05f, -2.487093073e-05f, -2.489278885e-05f, -2.491460160e-05f, -2.493636896e-05f, -2.495809088e-05f, -2.497976734e-05f, -2.500139830e-05f,
+-2.502298373e-05f, -2.504452359e-05f, -2.506601786e-05f, -2.508746650e-05f, -2.510886947e-05f, -2.513022676e-05f, -2.515153832e-05f, -2.517280412e-05f, -2.519402413e-05f, -2.521519832e-05f,
+-2.523632665e-05f, -2.525740911e-05f, -2.527844564e-05f, -2.529943623e-05f, -2.532038083e-05f, -2.534127942e-05f, -2.536213198e-05f, -2.538293845e-05f, -2.540369882e-05f, -2.542441306e-05f,
+-2.544508113e-05f, -2.546570300e-05f, -2.548627864e-05f, -2.550680801e-05f, -2.552729110e-05f, -2.554772787e-05f, -2.556811829e-05f, -2.558846232e-05f, -2.560875994e-05f, -2.562901112e-05f,
+-2.564921582e-05f, -2.566937402e-05f, -2.568948569e-05f, -2.570955080e-05f, -2.572956931e-05f, -2.574954120e-05f, -2.576946643e-05f, -2.578934499e-05f, -2.580917683e-05f, -2.582896193e-05f,
+-2.584870026e-05f, -2.586839179e-05f, -2.588803649e-05f, -2.590763433e-05f, -2.592718529e-05f, -2.594668933e-05f, -2.596614643e-05f, -2.598555655e-05f, -2.600491967e-05f, -2.602423576e-05f,
+-2.604350478e-05f, -2.606272673e-05f, -2.608190155e-05f, -2.610102923e-05f, -2.612010974e-05f, -2.613914305e-05f, -2.615812912e-05f, -2.617706795e-05f, -2.619595948e-05f, -2.621480371e-05f,
+-2.623360059e-05f, -2.625235011e-05f, -2.627105223e-05f, -2.628970693e-05f, -2.630831418e-05f, -2.632687396e-05f, -2.634538623e-05f, -2.636385096e-05f, -2.638226814e-05f, -2.640063774e-05f,
+-2.641895972e-05f, -2.643723407e-05f, -2.645546075e-05f, -2.647363973e-05f, -2.649177100e-05f, -2.650985453e-05f, -2.652789028e-05f, -2.654587824e-05f, -2.656381837e-05f, -2.658171065e-05f,
+-2.659955506e-05f, -2.661735157e-05f, -2.663510015e-05f, -2.665280077e-05f, -2.667045342e-05f, -2.668805807e-05f, -2.670561468e-05f, -2.672312324e-05f, -2.674058372e-05f, -2.675799610e-05f,
+-2.677536035e-05f, -2.679267644e-05f, -2.680994435e-05f, -2.682716405e-05f, -2.684433553e-05f, -2.686145875e-05f, -2.687853369e-05f, -2.689556033e-05f, -2.691253864e-05f, -2.692946859e-05f,
+-2.694635018e-05f, -2.696318336e-05f, -2.697996811e-05f, -2.699670442e-05f, -2.701339225e-05f, -2.703003159e-05f, -2.704662241e-05f, -2.706316468e-05f, -2.707965839e-05f, -2.709610351e-05f,
+-2.711250001e-05f, -2.712884787e-05f, -2.714514708e-05f, -2.716139760e-05f, -2.717759941e-05f, -2.719375249e-05f, -2.720985682e-05f, -2.722591238e-05f, -2.724191913e-05f, -2.725787707e-05f,
+-2.727378616e-05f, -2.728964639e-05f, -2.730545773e-05f, -2.732122016e-05f, -2.733693366e-05f, -2.735259820e-05f, -2.736821377e-05f, -2.738378033e-05f, -2.739929788e-05f, -2.741476639e-05f,
+-2.743018583e-05f, -2.744555619e-05f, -2.746087744e-05f, -2.747614956e-05f, -2.749137253e-05f, -2.750654634e-05f, -2.752167095e-05f, -2.753674635e-05f, -2.755177252e-05f, -2.756674943e-05f,
+-2.758167706e-05f, -2.759655540e-05f, -2.761138443e-05f, -2.762616412e-05f, -2.764089445e-05f, -2.765557540e-05f, -2.767020696e-05f, -2.768478909e-05f, -2.769932179e-05f, -2.771380503e-05f,
+-2.772823880e-05f, -2.774262306e-05f, -2.775695781e-05f, -2.777124302e-05f, -2.778547868e-05f, -2.779966476e-05f, -2.781380124e-05f, -2.782788811e-05f, -2.784192534e-05f, -2.785591292e-05f,
+-2.786985083e-05f, -2.788373905e-05f, -2.789757756e-05f, -2.791136634e-05f, -2.792510538e-05f, -2.793879465e-05f, -2.795243413e-05f, -2.796602381e-05f, -2.797956367e-05f, -2.799305369e-05f,
+-2.800649386e-05f, -2.801988415e-05f, -2.803322455e-05f, -2.804651503e-05f, -2.805975559e-05f, -2.807294620e-05f, -2.808608684e-05f, -2.809917751e-05f, -2.811221817e-05f, -2.812520882e-05f,
+-2.813814944e-05f, -2.815104000e-05f, -2.816388050e-05f, -2.817667091e-05f, -2.818941122e-05f, -2.820210141e-05f, -2.821474147e-05f, -2.822733138e-05f, -2.823987111e-05f, -2.825236066e-05f,
+-2.826480002e-05f, -2.827718915e-05f, -2.828952805e-05f, -2.830181670e-05f, -2.831405508e-05f, -2.832624319e-05f, -2.833838099e-05f, -2.835046848e-05f, -2.836250565e-05f, -2.837449247e-05f,
+-2.838642892e-05f, -2.839831501e-05f, -2.841015070e-05f, -2.842193599e-05f, -2.843367086e-05f, -2.844535529e-05f, -2.845698927e-05f, -2.846857278e-05f, -2.848010582e-05f, -2.849158836e-05f,
+-2.850302038e-05f, -2.851440189e-05f, -2.852573286e-05f, -2.853701327e-05f, -2.854824312e-05f, -2.855942238e-05f, -2.857055105e-05f, -2.858162911e-05f, -2.859265655e-05f, -2.860363335e-05f,
+-2.861455950e-05f, -2.862543499e-05f, -2.863625980e-05f, -2.864703391e-05f, -2.865775733e-05f, -2.866843002e-05f, -2.867905199e-05f, -2.868962321e-05f, -2.870014367e-05f, -2.871061336e-05f,
+-2.872103228e-05f, -2.873140039e-05f, -2.874171770e-05f, -2.875198419e-05f, -2.876219984e-05f, -2.877236465e-05f, -2.878247860e-05f, -2.879254169e-05f, -2.880255389e-05f, -2.881251519e-05f,
+-2.882242559e-05f, -2.883228508e-05f, -2.884209363e-05f, -2.885185125e-05f, -2.886155791e-05f, -2.887121361e-05f, -2.888081833e-05f, -2.889037206e-05f, -2.889987480e-05f, -2.890932653e-05f,
+-2.891872724e-05f, -2.892807692e-05f, -2.893737556e-05f, -2.894662314e-05f, -2.895581967e-05f, -2.896496511e-05f, -2.897405948e-05f, -2.898310275e-05f, -2.899209492e-05f, -2.900103597e-05f,
+-2.900992589e-05f, -2.901876468e-05f, -2.902755233e-05f, -2.903628882e-05f, -2.904497415e-05f, -2.905360830e-05f, -2.906219127e-05f, -2.907072305e-05f, -2.907920362e-05f, -2.908763298e-05f,
+-2.909601112e-05f, -2.910433803e-05f, -2.911261370e-05f, -2.912083812e-05f, -2.912901129e-05f, -2.913713319e-05f, -2.914520381e-05f, -2.915322315e-05f, -2.916119120e-05f, -2.916910795e-05f,
+-2.917697340e-05f, -2.918478752e-05f, -2.919255032e-05f, -2.920026179e-05f, -2.920792191e-05f, -2.921553069e-05f, -2.922308811e-05f, -2.923059417e-05f, -2.923804885e-05f, -2.924545216e-05f,
+-2.925280408e-05f, -2.926010461e-05f, -2.926735373e-05f, -2.927455145e-05f, -2.928169775e-05f, -2.928879262e-05f, -2.929583607e-05f, -2.930282808e-05f, -2.930976865e-05f, -2.931665777e-05f,
+-2.932349544e-05f, -2.933028164e-05f, -2.933701637e-05f, -2.934369963e-05f, -2.935033141e-05f, -2.935691170e-05f, -2.936344049e-05f, -2.936991779e-05f, -2.937634358e-05f, -2.938271787e-05f,
+-2.938904063e-05f, -2.939531188e-05f, -2.940153159e-05f, -2.940769978e-05f, -2.941381642e-05f, -2.941988152e-05f, -2.942589508e-05f, -2.943185708e-05f, -2.943776752e-05f, -2.944362640e-05f,
+-2.944943372e-05f, -2.945518946e-05f, -2.946089362e-05f, -2.946654620e-05f, -2.947214720e-05f, -2.947769661e-05f, -2.948319442e-05f, -2.948864064e-05f, -2.949403525e-05f, -2.949937826e-05f,
+-2.950466965e-05f, -2.950990944e-05f, -2.951509760e-05f, -2.952023415e-05f, -2.952531907e-05f, -2.953035236e-05f, -2.953533402e-05f, -2.954026405e-05f, -2.954514244e-05f, -2.954996919e-05f,
+-2.955474429e-05f, -2.955946775e-05f, -2.956413957e-05f, -2.956875973e-05f, -2.957332823e-05f, -2.957784508e-05f, -2.958231027e-05f, -2.958672380e-05f, -2.959108566e-05f, -2.959539586e-05f,
+-2.959965439e-05f, -2.960386126e-05f, -2.960801645e-05f, -2.961211996e-05f, -2.961617181e-05f, -2.962017197e-05f, -2.962412046e-05f, -2.962801727e-05f, -2.963186239e-05f, -2.963565584e-05f,
+-2.963939760e-05f, -2.964308768e-05f, -2.964672607e-05f, -2.965031278e-05f, -2.965384780e-05f, -2.965733113e-05f, -2.966076278e-05f, -2.966414273e-05f, -2.966747100e-05f, -2.967074758e-05f,
+-2.967397247e-05f, -2.967714566e-05f, -2.968026717e-05f, -2.968333699e-05f, -2.968635512e-05f, -2.968932156e-05f, -2.969223631e-05f, -2.969509937e-05f, -2.969791075e-05f, -2.970067043e-05f,
+-2.970337843e-05f, -2.970603474e-05f, -2.970863937e-05f, -2.971119231e-05f, -2.971369357e-05f, -2.971614314e-05f, -2.971854104e-05f, -2.972088725e-05f, -2.972318179e-05f, -2.972542465e-05f,
+-2.972761583e-05f, -2.972975534e-05f, -2.973184318e-05f, -2.973387934e-05f, -2.973586384e-05f, -2.973779667e-05f, -2.973967784e-05f, -2.974150734e-05f, -2.974328519e-05f, -2.974501138e-05f,
+-2.974668591e-05f, -2.974830879e-05f, -2.974988001e-05f, -2.975139960e-05f, -2.975286753e-05f, -2.975428383e-05f, -2.975564848e-05f, -2.975696150e-05f, -2.975822289e-05f, -2.975943265e-05f,
+-2.976059078e-05f, -2.976169729e-05f, -2.976275218e-05f, -2.976375546e-05f, -2.976470712e-05f, -2.976560718e-05f, -2.976645563e-05f, -2.976725248e-05f, -2.976799774e-05f, -2.976869140e-05f,
+-2.976933347e-05f, -2.976992397e-05f, -2.977046288e-05f, -2.977095022e-05f, -2.977138599e-05f, -2.977177019e-05f, -2.977210283e-05f, -2.977238392e-05f, -2.977261346e-05f, -2.977279145e-05f,
+-2.977291789e-05f, -2.977299281e-05f, -2.977301619e-05f, -2.977298805e-05f, -2.977290839e-05f, -2.977277722e-05f, -2.977259454e-05f, -2.977236035e-05f, -2.977207467e-05f, -2.977173750e-05f,
+-2.977134884e-05f, -2.977090871e-05f, -2.977041710e-05f, -2.976987403e-05f, -2.976927949e-05f, -2.976863350e-05f, -2.976793607e-05f, -2.976718720e-05f, -2.976638689e-05f, -2.976553515e-05f,
+-2.976463200e-05f, -2.976367743e-05f, -2.976267146e-05f, -2.976161409e-05f, -2.976050532e-05f, -2.975934518e-05f, -2.975813365e-05f, -2.975687076e-05f, -2.975555650e-05f, -2.975419090e-05f,
+-2.975277394e-05f, -2.975130565e-05f, -2.974978602e-05f, -2.974821508e-05f, -2.974659282e-05f, -2.974491925e-05f, -2.974319438e-05f, -2.974141823e-05f, -2.973959080e-05f, -2.973771209e-05f,
+-2.973578212e-05f, -2.973380089e-05f, -2.973176842e-05f, -2.972968471e-05f, -2.972754977e-05f, -2.972536361e-05f, -2.972312625e-05f, -2.972083768e-05f, -2.971849792e-05f, -2.971610698e-05f,
+-2.971366487e-05f, -2.971117159e-05f, -2.970862716e-05f, -2.970603159e-05f, -2.970338488e-05f, -2.970068705e-05f, -2.969793810e-05f, -2.969513806e-05f, -2.969228692e-05f, -2.968938469e-05f,
+-2.968643140e-05f, -2.968342704e-05f, -2.968037163e-05f, -2.967726518e-05f, -2.967410770e-05f, -2.967089920e-05f, -2.966763969e-05f, -2.966432919e-05f, -2.966096770e-05f, -2.965755523e-05f,
+-2.965409180e-05f, -2.965057742e-05f, -2.964701210e-05f, -2.964339585e-05f, -2.963972868e-05f, -2.963601060e-05f, -2.963224163e-05f, -2.962842178e-05f, -2.962455106e-05f, -2.962062948e-05f,
+-2.961665705e-05f, -2.961263379e-05f, -2.960855970e-05f, -2.960443481e-05f, -2.960025912e-05f, -2.959603265e-05f, -2.959175540e-05f, -2.958742740e-05f, -2.958304865e-05f, -2.957861916e-05f,
+-2.957413896e-05f, -2.956960805e-05f, -2.956502645e-05f, -2.956039416e-05f, -2.955571121e-05f, -2.955097760e-05f, -2.954619336e-05f, -2.954135849e-05f, -2.953647300e-05f, -2.953153692e-05f,
+-2.952655025e-05f, -2.952151301e-05f, -2.951642521e-05f, -2.951128687e-05f, -2.950609799e-05f, -2.950085861e-05f, -2.949556872e-05f, -2.949022835e-05f, -2.948483751e-05f, -2.947939621e-05f,
+-2.947390447e-05f, -2.946836230e-05f, -2.946276972e-05f, -2.945712674e-05f, -2.945143338e-05f, -2.944568966e-05f, -2.943989558e-05f, -2.943405116e-05f, -2.942815643e-05f, -2.942221139e-05f,
+-2.941621605e-05f, -2.941017045e-05f, -2.940407459e-05f, -2.939792848e-05f, -2.939173215e-05f, -2.938548560e-05f, -2.937918886e-05f, -2.937284195e-05f, -2.936644487e-05f, -2.935999764e-05f,
+-2.935350029e-05f, -2.934695282e-05f, -2.934035526e-05f, -2.933370762e-05f, -2.932700991e-05f, -2.932026216e-05f, -2.931346438e-05f, -2.930661659e-05f, -2.929971880e-05f, -2.929277104e-05f,
+-2.928577331e-05f, -2.927872564e-05f, -2.927162805e-05f, -2.926448055e-05f, -2.925728316e-05f, -2.925003589e-05f, -2.924273878e-05f, -2.923539182e-05f, -2.922799504e-05f, -2.922054847e-05f,
+-2.921305211e-05f, -2.920550599e-05f, -2.919791012e-05f, -2.919026452e-05f, -2.918256921e-05f, -2.917482422e-05f, -2.916702955e-05f, -2.915918522e-05f, -2.915129127e-05f, -2.914334769e-05f,
+-2.913535452e-05f, -2.912731178e-05f, -2.911921947e-05f, -2.911107762e-05f, -2.910288626e-05f, -2.909464539e-05f, -2.908635504e-05f, -2.907801523e-05f, -2.906962598e-05f, -2.906118731e-05f,
+-2.905269923e-05f, -2.904416177e-05f, -2.903557495e-05f, -2.902693878e-05f, -2.901825330e-05f, -2.900951851e-05f, -2.900073444e-05f, -2.899190110e-05f, -2.898301853e-05f, -2.897408674e-05f,
+-2.896510574e-05f, -2.895607557e-05f, -2.894699624e-05f, -2.893786777e-05f, -2.892869019e-05f, -2.891946351e-05f, -2.891018775e-05f, -2.890086295e-05f, -2.889148911e-05f, -2.888206626e-05f,
+-2.887259442e-05f, -2.886307362e-05f, -2.885350387e-05f, -2.884388519e-05f, -2.883421762e-05f, -2.882450116e-05f, -2.881473584e-05f, -2.880492169e-05f, -2.879505873e-05f, -2.878514697e-05f,
+-2.877518644e-05f, -2.876517717e-05f, -2.875511917e-05f, -2.874501247e-05f, -2.873485709e-05f, -2.872465306e-05f, -2.871440038e-05f, -2.870409910e-05f, -2.869374923e-05f, -2.868335080e-05f,
+-2.867290382e-05f, -2.866240832e-05f, -2.865186433e-05f, -2.864127187e-05f, -2.863063095e-05f, -2.861994162e-05f, -2.860920388e-05f, -2.859841776e-05f, -2.858758329e-05f, -2.857670048e-05f,
+-2.856576938e-05f, -2.855478998e-05f, -2.854376233e-05f, -2.853268645e-05f, -2.852156236e-05f, -2.851039008e-05f, -2.849916964e-05f, -2.848790106e-05f, -2.847658437e-05f, -2.846521960e-05f,
+-2.845380676e-05f, -2.844234588e-05f, -2.843083699e-05f, -2.841928011e-05f, -2.840767527e-05f, -2.839602249e-05f, -2.838432180e-05f, -2.837257322e-05f, -2.836077678e-05f, -2.834893251e-05f,
+-2.833704042e-05f, -2.832510054e-05f, -2.831311291e-05f, -2.830107755e-05f, -2.828899447e-05f, -2.827686372e-05f, -2.826468530e-05f, -2.825245926e-05f, -2.824018562e-05f, -2.822786439e-05f,
+-2.821549562e-05f, -2.820307932e-05f, -2.819061553e-05f, -2.817810426e-05f, -2.816554554e-05f, -2.815293941e-05f, -2.814028589e-05f, -2.812758500e-05f, -2.811483678e-05f, -2.810204125e-05f,
+-2.808919843e-05f, -2.807630835e-05f, -2.806337105e-05f, -2.805038655e-05f, -2.803735487e-05f, -2.802427604e-05f, -2.801115010e-05f, -2.799797707e-05f, -2.798475697e-05f, -2.797148984e-05f,
+-2.795817570e-05f, -2.794481458e-05f, -2.793140650e-05f, -2.791795151e-05f, -2.790444962e-05f, -2.789090086e-05f, -2.787730527e-05f, -2.786366286e-05f, -2.784997368e-05f, -2.783623774e-05f,
+-2.782245507e-05f, -2.780862571e-05f, -2.779474969e-05f, -2.778082703e-05f, -2.776685776e-05f, -2.775284191e-05f, -2.773877951e-05f, -2.772467058e-05f, -2.771051517e-05f, -2.769631330e-05f,
+-2.768206499e-05f, -2.766777028e-05f, -2.765342919e-05f, -2.763904177e-05f, -2.762460802e-05f, -2.761012800e-05f, -2.759560172e-05f, -2.758102921e-05f, -2.756641051e-05f, -2.755174565e-05f,
+-2.753703466e-05f, -2.752227756e-05f, -2.750747438e-05f, -2.749262517e-05f, -2.747772994e-05f, -2.746278873e-05f, -2.744780158e-05f, -2.743276850e-05f, -2.741768953e-05f, -2.740256471e-05f,
+-2.738739405e-05f, -2.737217761e-05f, -2.735691539e-05f, -2.734160745e-05f, -2.732625380e-05f, -2.731085448e-05f, -2.729540953e-05f, -2.727991896e-05f, -2.726438282e-05f, -2.724880113e-05f,
+-2.723317393e-05f, -2.721750126e-05f, -2.720178313e-05f, -2.718601958e-05f, -2.717021065e-05f, -2.715435637e-05f, -2.713845677e-05f, -2.712251188e-05f, -2.710652173e-05f, -2.709048637e-05f,
+-2.707440581e-05f, -2.705828009e-05f, -2.704210924e-05f, -2.702589331e-05f, -2.700963231e-05f, -2.699332629e-05f, -2.697697527e-05f, -2.696057930e-05f, -2.694413839e-05f, -2.692765259e-05f,
+-2.691112193e-05f, -2.689454644e-05f, -2.687792616e-05f, -2.686126111e-05f, -2.684455134e-05f, -2.682779688e-05f, -2.681099775e-05f, -2.679415400e-05f, -2.677726565e-05f, -2.676033275e-05f,
+-2.674335532e-05f, -2.672633341e-05f, -2.670926703e-05f, -2.669215624e-05f, -2.667500105e-05f, -2.665780151e-05f, -2.664055766e-05f, -2.662326952e-05f, -2.660593713e-05f, -2.658856052e-05f,
+-2.657113974e-05f, -2.655367480e-05f, -2.653616576e-05f, -2.651861264e-05f, -2.650101549e-05f, -2.648337432e-05f, -2.646568919e-05f, -2.644796012e-05f, -2.643018715e-05f, -2.641237032e-05f,
+-2.639450965e-05f, -2.637660520e-05f, -2.635865698e-05f, -2.634066505e-05f, -2.632262943e-05f, -2.630455016e-05f, -2.628642727e-05f, -2.626826080e-05f, -2.625005079e-05f, -2.623179728e-05f,
+-2.621350030e-05f, -2.619515988e-05f, -2.617677606e-05f, -2.615834888e-05f, -2.613987838e-05f, -2.612136459e-05f, -2.610280755e-05f, -2.608420729e-05f, -2.606556385e-05f, -2.604687728e-05f,
+-2.602814760e-05f, -2.600937485e-05f, -2.599055907e-05f, -2.597170030e-05f, -2.595279857e-05f, -2.593385392e-05f, -2.591486639e-05f, -2.589583602e-05f, -2.587676284e-05f, -2.585764689e-05f,
+-2.583848821e-05f, -2.581928683e-05f, -2.580004280e-05f, -2.578075615e-05f, -2.576142692e-05f, -2.574205515e-05f, -2.572264087e-05f, -2.570318413e-05f, -2.568368496e-05f, -2.566414340e-05f,
+-2.564455949e-05f, -2.562493326e-05f, -2.560526476e-05f, -2.558555402e-05f, -2.556580108e-05f, -2.554600599e-05f, -2.552616878e-05f, -2.550628948e-05f, -2.548636814e-05f, -2.546640480e-05f,
+-2.544639949e-05f, -2.542635226e-05f, -2.540626313e-05f, -2.538613217e-05f, -2.536595939e-05f, -2.534574485e-05f, -2.532548857e-05f, -2.530519061e-05f, -2.528485099e-05f, -2.526446977e-05f,
+-2.524404697e-05f, -2.522358264e-05f, -2.520307682e-05f, -2.518252955e-05f, -2.516194086e-05f, -2.514131081e-05f, -2.512063942e-05f, -2.509992674e-05f, -2.507917281e-05f, -2.505837767e-05f,
+-2.503754136e-05f, -2.501666392e-05f, -2.499574538e-05f, -2.497478580e-05f, -2.495378521e-05f, -2.493274365e-05f, -2.491166117e-05f, -2.489053780e-05f, -2.486937358e-05f, -2.484816856e-05f,
+-2.482692277e-05f, -2.480563626e-05f, -2.478430907e-05f, -2.476294124e-05f, -2.474153282e-05f, -2.472008383e-05f, -2.469859433e-05f, -2.467706435e-05f, -2.465549394e-05f, -2.463388314e-05f,
+-2.461223199e-05f, -2.459054053e-05f, -2.456880880e-05f, -2.454703686e-05f, -2.452522472e-05f, -2.450337245e-05f, -2.448148008e-05f, -2.445954765e-05f, -2.443757521e-05f, -2.441556280e-05f,
+-2.439351046e-05f, -2.437141823e-05f, -2.434928615e-05f, -2.432711428e-05f, -2.430490264e-05f, -2.428265129e-05f, -2.426036026e-05f, -2.423802960e-05f, -2.421565936e-05f, -2.419324957e-05f,
+-2.417080027e-05f, -2.414831152e-05f, -2.412578335e-05f, -2.410321580e-05f, -2.408060893e-05f, -2.405796277e-05f, -2.403527736e-05f, -2.401255276e-05f, -2.398978900e-05f, -2.396698612e-05f,
+-2.394414418e-05f, -2.392126321e-05f, -2.389834326e-05f, -2.387538437e-05f, -2.385238659e-05f, -2.382934995e-05f, -2.380627451e-05f, -2.378316031e-05f, -2.376000739e-05f, -2.373681579e-05f,
+-2.371358556e-05f, -2.369031675e-05f, -2.366700940e-05f, -2.364366355e-05f, -2.362027925e-05f, -2.359685654e-05f, -2.357339547e-05f, -2.354989607e-05f, -2.352635841e-05f, -2.350278251e-05f,
+-2.347916844e-05f, -2.345551622e-05f, -2.343182591e-05f, -2.340809754e-05f, -2.338433118e-05f, -2.336052685e-05f, -2.333668462e-05f, -2.331280451e-05f, -2.328888658e-05f, -2.326493087e-05f,
+-2.324093743e-05f, -2.321690630e-05f, -2.319283754e-05f, -2.316873117e-05f, -2.314458726e-05f, -2.312040584e-05f, -2.309618696e-05f, -2.307193068e-05f, -2.304763702e-05f, -2.302330604e-05f,
+-2.299893780e-05f, -2.297453232e-05f, -2.295008966e-05f, -2.292560986e-05f, -2.290109298e-05f, -2.287653905e-05f, -2.285194812e-05f, -2.282732025e-05f, -2.280265547e-05f, -2.277795383e-05f,
+-2.275321538e-05f, -2.272844017e-05f, -2.270362824e-05f, -2.267877964e-05f, -2.265389442e-05f, -2.262897263e-05f, -2.260401430e-05f, -2.257901949e-05f, -2.255398824e-05f, -2.252892061e-05f,
+-2.250381664e-05f, -2.247867637e-05f, -2.245349986e-05f, -2.242828715e-05f, -2.240303829e-05f, -2.237775332e-05f, -2.235243230e-05f, -2.232707527e-05f, -2.230168228e-05f, -2.227625337e-05f,
+-2.225078860e-05f, -2.222528802e-05f, -2.219975166e-05f, -2.217417958e-05f, -2.214857183e-05f, -2.212292846e-05f, -2.209724950e-05f, -2.207153502e-05f, -2.204578506e-05f, -2.201999967e-05f,
+-2.199417889e-05f, -2.196832277e-05f, -2.194243137e-05f, -2.191650473e-05f, -2.189054291e-05f, -2.186454594e-05f, -2.183851387e-05f, -2.181244677e-05f, -2.178634467e-05f, -2.176020762e-05f,
+-2.173403568e-05f, -2.170782889e-05f, -2.168158730e-05f, -2.165531096e-05f, -2.162899992e-05f, -2.160265422e-05f, -2.157627393e-05f, -2.154985908e-05f, -2.152340973e-05f, -2.149692593e-05f,
+-2.147040772e-05f, -2.144385516e-05f, -2.141726829e-05f, -2.139064716e-05f, -2.136399183e-05f, -2.133730234e-05f, -2.131057875e-05f, -2.128382110e-05f, -2.125702944e-05f, -2.123020383e-05f,
+-2.120334431e-05f, -2.117645093e-05f, -2.114952375e-05f, -2.112256281e-05f, -2.109556817e-05f, -2.106853986e-05f, -2.104147796e-05f, -2.101438250e-05f, -2.098725353e-05f, -2.096009111e-05f,
+-2.093289529e-05f, -2.090566611e-05f, -2.087840363e-05f, -2.085110791e-05f, -2.082377898e-05f, -2.079641690e-05f, -2.076902172e-05f, -2.074159349e-05f, -2.071413227e-05f, -2.068663809e-05f,
+-2.065911103e-05f, -2.063155112e-05f, -2.060395842e-05f, -2.057633298e-05f, -2.054867484e-05f, -2.052098407e-05f, -2.049326071e-05f, -2.046550482e-05f, -2.043771644e-05f, -2.040989563e-05f,
+-2.038204243e-05f, -2.035415691e-05f, -2.032623911e-05f, -2.029828908e-05f, -2.027030688e-05f, -2.024229255e-05f, -2.021424616e-05f, -2.018616774e-05f, -2.015805736e-05f, -2.012991506e-05f,
+-2.010174091e-05f, -2.007353494e-05f, -2.004529721e-05f, -2.001702778e-05f, -1.998872669e-05f, -1.996039400e-05f, -1.993202976e-05f, -1.990363403e-05f, -1.987520685e-05f, -1.984674828e-05f,
+-1.981825837e-05f, -1.978973718e-05f, -1.976118475e-05f, -1.973260114e-05f, -1.970398640e-05f, -1.967534059e-05f, -1.964666375e-05f, -1.961795595e-05f, -1.958921722e-05f, -1.956044764e-05f,
+-1.953164724e-05f, -1.950281609e-05f, -1.947395423e-05f, -1.944506173e-05f, -1.941613862e-05f, -1.938718497e-05f, -1.935820083e-05f, -1.932918625e-05f, -1.930014129e-05f, -1.927106599e-05f,
+-1.924196042e-05f, -1.921282463e-05f, -1.918365866e-05f, -1.915446258e-05f, -1.912523644e-05f, -1.909598029e-05f, -1.906669418e-05f, -1.903737817e-05f, -1.900803232e-05f, -1.897865667e-05f,
+-1.894925128e-05f, -1.891981621e-05f, -1.889035151e-05f, -1.886085723e-05f, -1.883133342e-05f, -1.880178015e-05f, -1.877219747e-05f, -1.874258542e-05f, -1.871294407e-05f, -1.868327347e-05f,
+-1.865357367e-05f, -1.862384473e-05f, -1.859408670e-05f, -1.856429964e-05f, -1.853448360e-05f, -1.850463864e-05f, -1.847476481e-05f, -1.844486216e-05f, -1.841493076e-05f, -1.838497065e-05f,
+-1.835498189e-05f, -1.832496454e-05f, -1.829491864e-05f, -1.826484427e-05f, -1.823474146e-05f, -1.820461028e-05f, -1.817445078e-05f, -1.814426301e-05f, -1.811404704e-05f, -1.808380291e-05f,
+-1.805353069e-05f, -1.802323042e-05f, -1.799290216e-05f, -1.796254598e-05f, -1.793216191e-05f, -1.790175003e-05f, -1.787131038e-05f, -1.784084302e-05f, -1.781034801e-05f, -1.777982540e-05f,
+-1.774927524e-05f, -1.771869760e-05f, -1.768809253e-05f, -1.765746009e-05f, -1.762680032e-05f, -1.759611330e-05f, -1.756539906e-05f, -1.753465768e-05f, -1.750388920e-05f, -1.747309368e-05f,
+-1.744227118e-05f, -1.741142175e-05f, -1.738054545e-05f, -1.734964234e-05f, -1.731871248e-05f, -1.728775591e-05f, -1.725677269e-05f, -1.722576289e-05f, -1.719472656e-05f, -1.716366375e-05f,
+-1.713257452e-05f, -1.710145893e-05f, -1.707031704e-05f, -1.703914889e-05f, -1.700795456e-05f, -1.697673409e-05f, -1.694548754e-05f, -1.691421497e-05f, -1.688291644e-05f, -1.685159200e-05f,
+-1.682024170e-05f, -1.678886562e-05f, -1.675746380e-05f, -1.672603630e-05f, -1.669458317e-05f, -1.666310448e-05f, -1.663160029e-05f, -1.660007064e-05f, -1.656851560e-05f, -1.653693522e-05f,
+-1.650532957e-05f, -1.647369869e-05f, -1.644204265e-05f, -1.641036150e-05f, -1.637865530e-05f, -1.634692412e-05f, -1.631516799e-05f, -1.628338700e-05f, -1.625158118e-05f, -1.621975060e-05f,
+-1.618789532e-05f, -1.615601540e-05f, -1.612411088e-05f, -1.609218184e-05f, -1.606022833e-05f, -1.602825040e-05f, -1.599624811e-05f, -1.596422153e-05f, -1.593217071e-05f, -1.590009570e-05f,
+-1.586799658e-05f, -1.583587338e-05f, -1.580372618e-05f, -1.577155503e-05f, -1.573935999e-05f, -1.570714111e-05f, -1.567489846e-05f, -1.564263210e-05f, -1.561034207e-05f, -1.557802845e-05f,
+-1.554569129e-05f, -1.551333064e-05f, -1.548094657e-05f, -1.544853913e-05f, -1.541610839e-05f, -1.538365440e-05f, -1.535117722e-05f, -1.531867690e-05f, -1.528615352e-05f, -1.525360712e-05f,
+-1.522103777e-05f, -1.518844552e-05f, -1.515583043e-05f, -1.512319257e-05f, -1.509053199e-05f, -1.505784874e-05f, -1.502514290e-05f, -1.499241451e-05f, -1.495966364e-05f, -1.492689035e-05f,
+-1.489409469e-05f, -1.486127672e-05f, -1.482843651e-05f, -1.479557411e-05f, -1.476268958e-05f, -1.472978299e-05f, -1.469685438e-05f, -1.466390382e-05f, -1.463093138e-05f, -1.459793710e-05f,
+-1.456492104e-05f, -1.453188328e-05f, -1.449882386e-05f, -1.446574285e-05f, -1.443264030e-05f, -1.439951628e-05f, -1.436637085e-05f, -1.433320406e-05f, -1.430001597e-05f, -1.426680665e-05f,
+-1.423357615e-05f, -1.420032454e-05f, -1.416705187e-05f, -1.413375820e-05f, -1.410044360e-05f, -1.406710812e-05f, -1.403375182e-05f, -1.400037476e-05f, -1.396697701e-05f, -1.393355862e-05f,
+-1.390011965e-05f, -1.386666017e-05f, -1.383318023e-05f, -1.379967989e-05f, -1.376615922e-05f, -1.373261827e-05f, -1.369905710e-05f, -1.366547578e-05f, -1.363187436e-05f, -1.359825291e-05f,
+-1.356461148e-05f, -1.353095014e-05f, -1.349726894e-05f, -1.346356795e-05f, -1.342984722e-05f, -1.339610683e-05f, -1.336234682e-05f, -1.332856725e-05f, -1.329476820e-05f, -1.326094972e-05f,
+-1.322711186e-05f, -1.319325470e-05f, -1.315937828e-05f, -1.312548268e-05f, -1.309156795e-05f, -1.305763416e-05f, -1.302368136e-05f, -1.298970961e-05f, -1.295571898e-05f, -1.292170953e-05f,
+-1.288768131e-05f, -1.285363439e-05f, -1.281956883e-05f, -1.278548469e-05f, -1.275138203e-05f, -1.271726091e-05f, -1.268312140e-05f, -1.264896355e-05f, -1.261478743e-05f, -1.258059309e-05f,
+-1.254638060e-05f, -1.251215002e-05f, -1.247790141e-05f, -1.244363483e-05f, -1.240935034e-05f, -1.237504800e-05f, -1.234072788e-05f, -1.230639004e-05f, -1.227203453e-05f, -1.223766142e-05f,
+-1.220327078e-05f, -1.216886265e-05f, -1.213443711e-05f, -1.209999421e-05f, -1.206553401e-05f, -1.203105659e-05f, -1.199656199e-05f, -1.196205029e-05f, -1.192752153e-05f, -1.189297579e-05f,
+-1.185841313e-05f, -1.182383360e-05f, -1.178923727e-05f, -1.175462420e-05f, -1.171999445e-05f, -1.168534808e-05f, -1.165068516e-05f, -1.161600575e-05f, -1.158130991e-05f, -1.154659769e-05f,
+-1.151186917e-05f, -1.147712441e-05f, -1.144236346e-05f, -1.140758639e-05f, -1.137279325e-05f, -1.133798412e-05f, -1.130315906e-05f, -1.126831812e-05f, -1.123346137e-05f, -1.119858886e-05f,
+-1.116370067e-05f, -1.112879686e-05f, -1.109387748e-05f, -1.105894260e-05f, -1.102399228e-05f, -1.098902658e-05f, -1.095404556e-05f, -1.091904930e-05f, -1.088403784e-05f, -1.084901125e-05f,
+-1.081396960e-05f, -1.077891294e-05f, -1.074384134e-05f, -1.070875486e-05f, -1.067365356e-05f, -1.063853751e-05f, -1.060340677e-05f, -1.056826139e-05f, -1.053310145e-05f, -1.049792701e-05f,
+-1.046273812e-05f, -1.042753484e-05f, -1.039231726e-05f, -1.035708541e-05f, -1.032183937e-05f, -1.028657921e-05f, -1.025130497e-05f, -1.021601673e-05f, -1.018071454e-05f, -1.014539848e-05f,
+-1.011006860e-05f, -1.007472496e-05f, -1.003936763e-05f, -1.000399667e-05f, -9.968612144e-06f, -9.933214114e-06f, -9.897802641e-06f, -9.862377790e-06f, -9.826939623e-06f, -9.791488203e-06f,
+-9.756023592e-06f, -9.720545853e-06f, -9.685055049e-06f, -9.649551244e-06f, -9.614034499e-06f, -9.578504877e-06f, -9.542962442e-06f, -9.507407257e-06f, -9.471839383e-06f, -9.436258885e-06f,
+-9.400665825e-06f, -9.365060266e-06f, -9.329442271e-06f, -9.293811903e-06f, -9.258169225e-06f, -9.222514301e-06f, -9.186847192e-06f, -9.151167963e-06f, -9.115476675e-06f, -9.079773393e-06f,
+-9.044058179e-06f, -9.008331097e-06f, -8.972592209e-06f, -8.936841579e-06f, -8.901079270e-06f, -8.865305345e-06f, -8.829519866e-06f, -8.793722898e-06f, -8.757914504e-06f, -8.722094747e-06f,
+-8.686263689e-06f, -8.650421394e-06f, -8.614567926e-06f, -8.578703348e-06f, -8.542827722e-06f, -8.506941113e-06f, -8.471043583e-06f, -8.435135196e-06f, -8.399216016e-06f, -8.363286104e-06f,
+-8.327345526e-06f, -8.291394344e-06f, -8.255432621e-06f, -8.219460421e-06f, -8.183477808e-06f, -8.147484844e-06f, -8.111481594e-06f, -8.075468120e-06f, -8.039444486e-06f, -8.003410755e-06f,
+-7.967366991e-06f, -7.931313258e-06f, -7.895249618e-06f, -7.859176136e-06f, -7.823092875e-06f, -7.786999898e-06f, -7.750897269e-06f, -7.714785051e-06f, -7.678663308e-06f, -7.642532104e-06f,
+-7.606391501e-06f, -7.570241565e-06f, -7.534082357e-06f, -7.497913942e-06f, -7.461736384e-06f, -7.425549745e-06f, -7.389354090e-06f, -7.353149483e-06f, -7.316935986e-06f, -7.280713663e-06f,
+-7.244482579e-06f, -7.208242796e-06f, -7.171994379e-06f, -7.135737391e-06f, -7.099471896e-06f, -7.063197957e-06f, -7.026915639e-06f, -6.990625004e-06f, -6.954326117e-06f, -6.918019041e-06f,
+-6.881703840e-06f, -6.845380578e-06f, -6.809049319e-06f, -6.772710126e-06f, -6.736363063e-06f, -6.700008193e-06f, -6.663645582e-06f, -6.627275291e-06f, -6.590897386e-06f, -6.554511930e-06f,
+-6.518118986e-06f, -6.481718619e-06f, -6.445310892e-06f, -6.408895869e-06f, -6.372473614e-06f, -6.336044192e-06f, -6.299607664e-06f, -6.263164096e-06f, -6.226713552e-06f, -6.190256094e-06f,
+-6.153791788e-06f, -6.117320696e-06f, -6.080842883e-06f, -6.044358413e-06f, -6.007867349e-06f, -5.971369755e-06f, -5.934865696e-06f, -5.898355235e-06f, -5.861838436e-06f, -5.825315362e-06f,
+-5.788786079e-06f, -5.752250649e-06f, -5.715709137e-06f, -5.679161606e-06f, -5.642608121e-06f, -5.606048745e-06f, -5.569483542e-06f, -5.532912577e-06f, -5.496335912e-06f, -5.459753613e-06f,
+-5.423165743e-06f, -5.386572365e-06f, -5.349973545e-06f, -5.313369345e-06f, -5.276759830e-06f, -5.240145063e-06f, -5.203525110e-06f, -5.166900033e-06f, -5.130269896e-06f, -5.093634764e-06f,
+-5.056994701e-06f, -5.020349769e-06f, -4.983700035e-06f, -4.947045560e-06f, -4.910386410e-06f, -4.873722648e-06f, -4.837054339e-06f, -4.800381545e-06f, -4.763704332e-06f, -4.727022763e-06f,
+-4.690336902e-06f, -4.653646814e-06f, -4.616952561e-06f, -4.580254208e-06f, -4.543551819e-06f, -4.506845459e-06f, -4.470135190e-06f, -4.433421077e-06f, -4.396703184e-06f, -4.359981575e-06f,
+-4.323256314e-06f, -4.286527465e-06f, -4.249795091e-06f, -4.213059257e-06f, -4.176320027e-06f, -4.139577465e-06f, -4.102831634e-06f, -4.066082599e-06f, -4.029330424e-06f, -3.992575172e-06f,
+-3.955816907e-06f, -3.919055694e-06f, -3.882291597e-06f, -3.845524679e-06f, -3.808755004e-06f, -3.771982637e-06f, -3.735207641e-06f, -3.698430080e-06f, -3.661650018e-06f, -3.624867520e-06f,
+-3.588082648e-06f, -3.551295467e-06f, -3.514506042e-06f, -3.477714435e-06f, -3.440920711e-06f, -3.404124934e-06f, -3.367327167e-06f, -3.330527475e-06f, -3.293725921e-06f, -3.256922570e-06f,
+-3.220117485e-06f, -3.183310730e-06f, -3.146502370e-06f, -3.109692467e-06f, -3.072881087e-06f, -3.036068292e-06f, -2.999254147e-06f, -2.962438715e-06f, -2.925622061e-06f, -2.888804248e-06f,
+-2.851985340e-06f, -2.815165402e-06f, -2.778344496e-06f, -2.741522687e-06f, -2.704700039e-06f, -2.667876615e-06f, -2.631052479e-06f, -2.594227696e-06f, -2.557402328e-06f, -2.520576441e-06f,
+-2.483750096e-06f, -2.446923360e-06f, -2.410096294e-06f, -2.373268963e-06f, -2.336441431e-06f, -2.299613762e-06f, -2.262786019e-06f, -2.225958266e-06f, -2.189130567e-06f, -2.152302986e-06f,
+-2.115475586e-06f, -2.078648431e-06f, -2.041821585e-06f, -2.004995111e-06f, -1.968169074e-06f, -1.931343537e-06f, -1.894518564e-06f, -1.857694218e-06f, -1.820870563e-06f, -1.784047662e-06f,
+-1.747225581e-06f, -1.710404381e-06f, -1.673584127e-06f, -1.636764883e-06f, -1.599946712e-06f, -1.563129677e-06f, -1.526313843e-06f, -1.489499273e-06f, -1.452686030e-06f, -1.415874178e-06f,
+-1.379063782e-06f, -1.342254903e-06f, -1.305447606e-06f, -1.268641955e-06f, -1.231838013e-06f, -1.195035843e-06f, -1.158235509e-06f, -1.121437075e-06f, -1.084640604e-06f, -1.047846160e-06f,
+-1.011053805e-06f, -9.742636046e-07f, -9.374756208e-07f, -9.006899175e-07f, -8.639065581e-07f, -8.271256061e-07f, -7.903471249e-07f, -7.535711779e-07f, -7.167978285e-07f, -6.800271401e-07f,
+-6.432591761e-07f, -6.064939999e-07f, -5.697316748e-07f, -5.329722641e-07f, -4.962158312e-07f, -4.594624394e-07f, -4.227121521e-07f, -3.859650325e-07f, -3.492211439e-07f, -3.124805496e-07f,
+-2.757433129e-07f, -2.390094969e-07f, -2.022791650e-07f, -1.655523804e-07f, -1.288292062e-07f, -9.210970568e-08f, -5.539394203e-08f, -1.868197841e-08f, 1.802612202e-08f, 5.473029612e-08f,
+9.143048075e-08f, 1.281266128e-07f, 1.648186292e-07f, 2.015064668e-07f, 2.381900625e-07f, 2.748693533e-07f, 3.115442761e-07f, 3.482147680e-07f, 3.848807658e-07f, 4.215422066e-07f,
+4.581990274e-07f, 4.948511652e-07f, 5.314985570e-07f, 5.681411400e-07f, 6.047788511e-07f, 6.414116274e-07f, 6.780394061e-07f, 7.146621243e-07f, 7.512797190e-07f, 7.878921275e-07f,
+8.244992869e-07f, 8.611011343e-07f, 8.976976071e-07f, 9.342886423e-07f, 9.708741772e-07f, 1.007454149e-06f, 1.044028495e-06f, 1.080597153e-06f, 1.117160059e-06f, 1.153717151e-06f,
+1.190268367e-06f, 1.226813643e-06f, 1.263352918e-06f, 1.299886128e-06f, 1.336413211e-06f, 1.372934104e-06f, 1.409448745e-06f, 1.445957071e-06f, 1.482459019e-06f, 1.518954528e-06f,
+1.555443534e-06f, 1.591925975e-06f, 1.628401789e-06f, 1.664870913e-06f, 1.701333285e-06f, 1.737788842e-06f, 1.774237522e-06f, 1.810679262e-06f, 1.847114001e-06f, 1.883541675e-06f,
+1.919962223e-06f, 1.956375583e-06f, 1.992781691e-06f, 2.029180486e-06f, 2.065571905e-06f, 2.101955887e-06f, 2.138332368e-06f, 2.174701287e-06f, 2.211062582e-06f, 2.247416191e-06f,
+2.283762051e-06f, 2.320100100e-06f, 2.356430277e-06f, 2.392752518e-06f, 2.429066763e-06f, 2.465372948e-06f, 2.501671013e-06f, 2.537960895e-06f, 2.574242532e-06f, 2.610515862e-06f,
+2.646780823e-06f, 2.683037354e-06f, 2.719285392e-06f, 2.755524876e-06f, 2.791755743e-06f, 2.827977933e-06f, 2.864191382e-06f, 2.900396030e-06f, 2.936591815e-06f, 2.972778675e-06f,
+3.008956547e-06f, 3.045125372e-06f, 3.081285086e-06f, 3.117435628e-06f, 3.153576937e-06f, 3.189708951e-06f, 3.225831609e-06f, 3.261944848e-06f, 3.298048608e-06f, 3.334142827e-06f,
+3.370227443e-06f, 3.406302395e-06f, 3.442367621e-06f, 3.478423061e-06f, 3.514468652e-06f, 3.550504334e-06f, 3.586530044e-06f, 3.622545723e-06f, 3.658551307e-06f, 3.694546737e-06f,
+3.730531951e-06f, 3.766506887e-06f, 3.802471485e-06f, 3.838425683e-06f, 3.874369420e-06f, 3.910302636e-06f, 3.946225268e-06f, 3.982137256e-06f, 4.018038539e-06f, 4.053929056e-06f,
+4.089808745e-06f, 4.125677546e-06f, 4.161535399e-06f, 4.197382241e-06f, 4.233218012e-06f, 4.269042652e-06f, 4.304856098e-06f, 4.340658292e-06f, 4.376449171e-06f, 4.412228675e-06f,
+4.447996743e-06f, 4.483753315e-06f, 4.519498329e-06f, 4.555231726e-06f, 4.590953445e-06f, 4.626663424e-06f, 4.662361603e-06f, 4.698047923e-06f, 4.733722321e-06f, 4.769384739e-06f,
+4.805035115e-06f, 4.840673388e-06f, 4.876299499e-06f, 4.911913387e-06f, 4.947514992e-06f, 4.983104253e-06f, 5.018681110e-06f, 5.054245503e-06f, 5.089797371e-06f, 5.125336655e-06f,
+5.160863294e-06f, 5.196377227e-06f, 5.231878396e-06f, 5.267366739e-06f, 5.302842197e-06f, 5.338304709e-06f, 5.373754215e-06f, 5.409190657e-06f, 5.444613973e-06f, 5.480024103e-06f,
+5.515420988e-06f, 5.550804568e-06f, 5.586174783e-06f, 5.621531573e-06f, 5.656874878e-06f, 5.692204639e-06f, 5.727520796e-06f, 5.762823289e-06f, 5.798112059e-06f, 5.833387045e-06f,
+5.868648189e-06f, 5.903895430e-06f, 5.939128710e-06f, 5.974347968e-06f, 6.009553145e-06f, 6.044744182e-06f, 6.079921019e-06f, 6.115083597e-06f, 6.150231856e-06f, 6.185365738e-06f,
+6.220485182e-06f, 6.255590130e-06f, 6.290680523e-06f, 6.325756300e-06f, 6.360817403e-06f, 6.395863773e-06f, 6.430895351e-06f, 6.465912077e-06f, 6.500913893e-06f, 6.535900740e-06f,
+6.570872558e-06f, 6.605829288e-06f, 6.640770873e-06f, 6.675697252e-06f, 6.710608366e-06f, 6.745504159e-06f, 6.780384569e-06f, 6.815249539e-06f, 6.850099010e-06f, 6.884932922e-06f,
+6.919751219e-06f, 6.954553840e-06f, 6.989340727e-06f, 7.024111823e-06f, 7.058867067e-06f, 7.093606402e-06f, 7.128329769e-06f, 7.163037111e-06f, 7.197728367e-06f, 7.232403481e-06f,
+7.267062393e-06f, 7.301705046e-06f, 7.336331381e-06f, 7.370941340e-06f, 7.405534865e-06f, 7.440111897e-06f, 7.474672379e-06f, 7.509216253e-06f, 7.543743460e-06f, 7.578253942e-06f,
+7.612747642e-06f, 7.647224501e-06f, 7.681684462e-06f, 7.716127467e-06f, 7.750553458e-06f, 7.784962376e-06f, 7.819354165e-06f, 7.853728767e-06f, 7.888086124e-06f, 7.922426177e-06f,
+7.956748871e-06f, 7.991054146e-06f, 8.025341947e-06f, 8.059612214e-06f, 8.093864890e-06f, 8.128099919e-06f, 8.162317243e-06f, 8.196516804e-06f, 8.230698545e-06f, 8.264862408e-06f,
+8.299008337e-06f, 8.333136275e-06f, 8.367246163e-06f, 8.401337946e-06f, 8.435411565e-06f, 8.469466965e-06f, 8.503504087e-06f, 8.537522874e-06f, 8.571523271e-06f, 8.605505219e-06f,
+8.639468663e-06f, 8.673413545e-06f, 8.707339808e-06f, 8.741247396e-06f, 8.775136251e-06f, 8.809006318e-06f, 8.842857540e-06f, 8.876689860e-06f, 8.910503221e-06f, 8.944297566e-06f,
+8.978072841e-06f, 9.011828987e-06f, 9.045565949e-06f, 9.079283670e-06f, 9.112982094e-06f, 9.146661164e-06f, 9.180320825e-06f, 9.213961019e-06f, 9.247581692e-06f, 9.281182786e-06f,
+9.314764246e-06f, 9.348326016e-06f, 9.381868039e-06f, 9.415390260e-06f, 9.448892623e-06f, 9.482375071e-06f, 9.515837549e-06f, 9.549280002e-06f, 9.582702373e-06f, 9.616104606e-06f,
+9.649486646e-06f, 9.682848438e-06f, 9.716189925e-06f, 9.749511053e-06f, 9.782811765e-06f, 9.816092006e-06f, 9.849351720e-06f, 9.882590853e-06f, 9.915809349e-06f, 9.949007152e-06f,
+9.982184208e-06f, 1.001534046e-05f, 1.004847586e-05f, 1.008159034e-05f, 1.011468385e-05f, 1.014775634e-05f, 1.018080775e-05f, 1.021383803e-05f, 1.024684712e-05f, 1.027983496e-05f,
+1.031280151e-05f, 1.034574670e-05f, 1.037867049e-05f, 1.041157281e-05f, 1.044445362e-05f, 1.047731286e-05f, 1.051015046e-05f, 1.054296639e-05f, 1.057576058e-05f, 1.060853299e-05f,
+1.064128354e-05f, 1.067401220e-05f, 1.070671891e-05f, 1.073940361e-05f, 1.077206624e-05f, 1.080470677e-05f, 1.083732512e-05f, 1.086992124e-05f, 1.090249509e-05f, 1.093504661e-05f,
+1.096757574e-05f, 1.100008243e-05f, 1.103256663e-05f, 1.106502827e-05f, 1.109746732e-05f, 1.112988371e-05f, 1.116227739e-05f, 1.119464831e-05f, 1.122699641e-05f, 1.125932165e-05f,
+1.129162395e-05f, 1.132390329e-05f, 1.135615959e-05f, 1.138839280e-05f, 1.142060288e-05f, 1.145278977e-05f, 1.148495342e-05f, 1.151709377e-05f, 1.154921077e-05f, 1.158130436e-05f,
+1.161337450e-05f, 1.164542113e-05f, 1.167744419e-05f, 1.170944364e-05f, 1.174141943e-05f, 1.177337149e-05f, 1.180529978e-05f, 1.183720424e-05f, 1.186908482e-05f, 1.190094147e-05f,
+1.193277413e-05f, 1.196458276e-05f, 1.199636730e-05f, 1.202812769e-05f, 1.205986390e-05f, 1.209157585e-05f, 1.212326350e-05f, 1.215492681e-05f, 1.218656571e-05f, 1.221818015e-05f,
+1.224977008e-05f, 1.228133546e-05f, 1.231287622e-05f, 1.234439232e-05f, 1.237588370e-05f, 1.240735032e-05f, 1.243879211e-05f, 1.247020903e-05f, 1.250160103e-05f, 1.253296805e-05f,
+1.256431005e-05f, 1.259562697e-05f, 1.262691876e-05f, 1.265818536e-05f, 1.268942674e-05f, 1.272064283e-05f, 1.275183358e-05f, 1.278299895e-05f, 1.281413887e-05f, 1.284525331e-05f,
+1.287634221e-05f, 1.290740552e-05f, 1.293844318e-05f, 1.296945515e-05f, 1.300044137e-05f, 1.303140180e-05f, 1.306233638e-05f, 1.309324507e-05f, 1.312412781e-05f, 1.315498454e-05f,
+1.318581523e-05f, 1.321661982e-05f, 1.324739826e-05f, 1.327815049e-05f, 1.330887648e-05f, 1.333957616e-05f, 1.337024949e-05f, 1.340089642e-05f, 1.343151689e-05f, 1.346211086e-05f,
+1.349267828e-05f, 1.352321910e-05f, 1.355373326e-05f, 1.358422071e-05f, 1.361468142e-05f, 1.364511532e-05f, 1.367552237e-05f, 1.370590251e-05f, 1.373625570e-05f, 1.376658189e-05f,
+1.379688103e-05f, 1.382715307e-05f, 1.385739795e-05f, 1.388761563e-05f, 1.391780607e-05f, 1.394796920e-05f, 1.397810499e-05f, 1.400821338e-05f, 1.403829432e-05f, 1.406834776e-05f,
+1.409837366e-05f, 1.412837197e-05f, 1.415834263e-05f, 1.418828560e-05f, 1.421820083e-05f, 1.424808826e-05f, 1.427794786e-05f, 1.430777957e-05f, 1.433758335e-05f, 1.436735914e-05f,
+1.439710689e-05f, 1.442682657e-05f, 1.445651811e-05f, 1.448618147e-05f, 1.451581661e-05f, 1.454542347e-05f, 1.457500201e-05f, 1.460455217e-05f, 1.463407392e-05f, 1.466356719e-05f,
+1.469303195e-05f, 1.472246815e-05f, 1.475187573e-05f, 1.478125465e-05f, 1.481060487e-05f, 1.483992633e-05f, 1.486921898e-05f, 1.489848279e-05f, 1.492771769e-05f, 1.495692365e-05f,
+1.498610062e-05f, 1.501524854e-05f, 1.504436738e-05f, 1.507345708e-05f, 1.510251760e-05f, 1.513154889e-05f, 1.516055089e-05f, 1.518952358e-05f, 1.521846689e-05f, 1.524738079e-05f,
+1.527626522e-05f, 1.530512013e-05f, 1.533394549e-05f, 1.536274124e-05f, 1.539150734e-05f, 1.542024374e-05f, 1.544895040e-05f, 1.547762726e-05f, 1.550627428e-05f, 1.553489142e-05f,
+1.556347862e-05f, 1.559203585e-05f, 1.562056305e-05f, 1.564906018e-05f, 1.567752720e-05f, 1.570596405e-05f, 1.573437070e-05f, 1.576274709e-05f, 1.579109317e-05f, 1.581940892e-05f,
+1.584769427e-05f, 1.587594918e-05f, 1.590417361e-05f, 1.593236751e-05f, 1.596053083e-05f, 1.598866353e-05f, 1.601676557e-05f, 1.604483690e-05f, 1.607287747e-05f, 1.610088724e-05f,
+1.612886616e-05f, 1.615681419e-05f, 1.618473128e-05f, 1.621261739e-05f, 1.624047247e-05f, 1.626829648e-05f, 1.629608938e-05f, 1.632385111e-05f, 1.635158163e-05f, 1.637928091e-05f,
+1.640694888e-05f, 1.643458552e-05f, 1.646219077e-05f, 1.648976459e-05f, 1.651730694e-05f, 1.654481777e-05f, 1.657229704e-05f, 1.659974470e-05f, 1.662716071e-05f, 1.665454502e-05f,
+1.668189760e-05f, 1.670921839e-05f, 1.673650736e-05f, 1.676376445e-05f, 1.679098963e-05f, 1.681818285e-05f, 1.684534407e-05f, 1.687247325e-05f, 1.689957033e-05f, 1.692663529e-05f,
+1.695366806e-05f, 1.698066862e-05f, 1.700763691e-05f, 1.703457290e-05f, 1.706147654e-05f, 1.708834778e-05f, 1.711518660e-05f, 1.714199293e-05f, 1.716876674e-05f, 1.719550798e-05f,
+1.722221662e-05f, 1.724889261e-05f, 1.727553591e-05f, 1.730214647e-05f, 1.732872425e-05f, 1.735526922e-05f, 1.738178132e-05f, 1.740826051e-05f, 1.743470676e-05f, 1.746112002e-05f,
+1.748750024e-05f, 1.751384739e-05f, 1.754016143e-05f, 1.756644230e-05f, 1.759268998e-05f, 1.761890441e-05f, 1.764508556e-05f, 1.767123339e-05f, 1.769734784e-05f, 1.772342889e-05f,
+1.774947648e-05f, 1.777549059e-05f, 1.780147116e-05f, 1.782741815e-05f, 1.785333153e-05f, 1.787921125e-05f, 1.790505727e-05f, 1.793086955e-05f, 1.795664805e-05f, 1.798239272e-05f,
+1.800810354e-05f, 1.803378044e-05f, 1.805942341e-05f, 1.808503238e-05f, 1.811060733e-05f, 1.813614822e-05f, 1.816165499e-05f, 1.818712762e-05f, 1.821256606e-05f, 1.823797026e-05f,
+1.826334020e-05f, 1.828867583e-05f, 1.831397711e-05f, 1.833924400e-05f, 1.836447646e-05f, 1.838967444e-05f, 1.841483792e-05f, 1.843996685e-05f, 1.846506118e-05f, 1.849012089e-05f,
+1.851514593e-05f, 1.854013626e-05f, 1.856509184e-05f, 1.859001263e-05f, 1.861489859e-05f, 1.863974969e-05f, 1.866456588e-05f, 1.868934712e-05f, 1.871409338e-05f, 1.873880462e-05f,
+1.876348079e-05f, 1.878812186e-05f, 1.881272779e-05f, 1.883729854e-05f, 1.886183407e-05f, 1.888633435e-05f, 1.891079933e-05f, 1.893522897e-05f, 1.895962324e-05f, 1.898398210e-05f,
+1.900830551e-05f, 1.903259343e-05f, 1.905684582e-05f, 1.908106265e-05f, 1.910524388e-05f, 1.912938947e-05f, 1.915349937e-05f, 1.917757356e-05f, 1.920161200e-05f, 1.922561464e-05f,
+1.924958145e-05f, 1.927351240e-05f, 1.929740744e-05f, 1.932126653e-05f, 1.934508965e-05f, 1.936887674e-05f, 1.939262778e-05f, 1.941634273e-05f, 1.944002155e-05f, 1.946366420e-05f,
+1.948727065e-05f, 1.951084086e-05f, 1.953437479e-05f, 1.955787240e-05f, 1.958133366e-05f, 1.960475853e-05f, 1.962814698e-05f, 1.965149897e-05f, 1.967481446e-05f, 1.969809341e-05f,
+1.972133579e-05f, 1.974454156e-05f, 1.976771069e-05f, 1.979084314e-05f, 1.981393888e-05f, 1.983699786e-05f, 1.986002005e-05f, 1.988300542e-05f, 1.990595393e-05f, 1.992886554e-05f,
+1.995174022e-05f, 1.997457794e-05f, 1.999737865e-05f, 2.002014232e-05f, 2.004286892e-05f, 2.006555841e-05f, 2.008821075e-05f, 2.011082592e-05f, 2.013340387e-05f, 2.015594457e-05f,
+2.017844798e-05f, 2.020091407e-05f, 2.022334281e-05f, 2.024573416e-05f, 2.026808808e-05f, 2.029040455e-05f, 2.031268352e-05f, 2.033492496e-05f, 2.035712884e-05f, 2.037929512e-05f,
+2.040142376e-05f, 2.042351475e-05f, 2.044556803e-05f, 2.046758357e-05f, 2.048956135e-05f, 2.051150132e-05f, 2.053340346e-05f, 2.055526773e-05f, 2.057709409e-05f, 2.059888251e-05f,
+2.062063297e-05f, 2.064234541e-05f, 2.066401982e-05f, 2.068565615e-05f, 2.070725438e-05f, 2.072881447e-05f, 2.075033639e-05f, 2.077182010e-05f, 2.079326557e-05f, 2.081467277e-05f,
+2.083604167e-05f, 2.085737222e-05f, 2.087866441e-05f, 2.089991819e-05f, 2.092113354e-05f, 2.094231042e-05f, 2.096344879e-05f, 2.098454863e-05f, 2.100560991e-05f, 2.102663259e-05f,
+2.104761663e-05f, 2.106856202e-05f, 2.108946871e-05f, 2.111033667e-05f, 2.113116587e-05f, 2.115195628e-05f, 2.117270786e-05f, 2.119342059e-05f, 2.121409444e-05f, 2.123472937e-05f,
+2.125532534e-05f, 2.127588234e-05f, 2.129640032e-05f, 2.131687926e-05f, 2.133731912e-05f, 2.135771988e-05f, 2.137808150e-05f, 2.139840395e-05f, 2.141868719e-05f, 2.143893121e-05f,
+2.145913597e-05f, 2.147930143e-05f, 2.149942757e-05f, 2.151951436e-05f, 2.153956176e-05f, 2.155956975e-05f, 2.157953829e-05f, 2.159946736e-05f, 2.161935692e-05f, 2.163920694e-05f,
+2.165901740e-05f, 2.167878826e-05f, 2.169851949e-05f, 2.171821107e-05f, 2.173786296e-05f, 2.175747513e-05f, 2.177704756e-05f, 2.179658022e-05f, 2.181607306e-05f, 2.183552608e-05f,
+2.185493923e-05f, 2.187431248e-05f, 2.189364581e-05f, 2.191293920e-05f, 2.193219260e-05f, 2.195140599e-05f, 2.197057934e-05f, 2.198971262e-05f, 2.200880580e-05f, 2.202785886e-05f,
+2.204687177e-05f, 2.206584449e-05f, 2.208477700e-05f, 2.210366927e-05f, 2.212252128e-05f, 2.214133298e-05f, 2.216010436e-05f, 2.217883539e-05f, 2.219752603e-05f, 2.221617627e-05f,
+2.223478607e-05f, 2.225335540e-05f, 2.227188424e-05f, 2.229037256e-05f, 2.230882033e-05f, 2.232722752e-05f, 2.234559411e-05f, 2.236392007e-05f, 2.238220537e-05f, 2.240044999e-05f,
+2.241865389e-05f, 2.243681705e-05f, 2.245493944e-05f, 2.247302104e-05f, 2.249106181e-05f, 2.250906174e-05f, 2.252702079e-05f, 2.254493895e-05f, 2.256281617e-05f, 2.258065243e-05f,
+2.259844772e-05f, 2.261620200e-05f, 2.263391524e-05f, 2.265158742e-05f, 2.266921852e-05f, 2.268680850e-05f, 2.270435734e-05f, 2.272186502e-05f, 2.273933150e-05f, 2.275675677e-05f,
+2.277414080e-05f, 2.279148356e-05f, 2.280878502e-05f, 2.282604516e-05f, 2.284326396e-05f, 2.286044139e-05f, 2.287757742e-05f, 2.289467204e-05f, 2.291172520e-05f, 2.292873689e-05f,
+2.294570709e-05f, 2.296263577e-05f, 2.297952290e-05f, 2.299636846e-05f, 2.301317242e-05f, 2.302993476e-05f, 2.304665546e-05f, 2.306333449e-05f, 2.307997182e-05f, 2.309656744e-05f,
+2.311312131e-05f, 2.312963342e-05f, 2.314610373e-05f, 2.316253223e-05f, 2.317891890e-05f, 2.319526369e-05f, 2.321156661e-05f, 2.322782761e-05f, 2.324404668e-05f, 2.326022378e-05f,
+2.327635891e-05f, 2.329245204e-05f, 2.330850313e-05f, 2.332451218e-05f, 2.334047915e-05f, 2.335640402e-05f, 2.337228677e-05f, 2.338812738e-05f, 2.340392582e-05f, 2.341968207e-05f,
+2.343539610e-05f, 2.345106791e-05f, 2.346669745e-05f, 2.348228472e-05f, 2.349782968e-05f, 2.351333232e-05f, 2.352879260e-05f, 2.354421052e-05f, 2.355958605e-05f, 2.357491917e-05f,
+2.359020984e-05f, 2.360545806e-05f, 2.362066380e-05f, 2.363582704e-05f, 2.365094775e-05f, 2.366602592e-05f, 2.368106153e-05f, 2.369605454e-05f, 2.371100495e-05f, 2.372591272e-05f,
+2.374077784e-05f, 2.375560029e-05f, 2.377038005e-05f, 2.378511709e-05f, 2.379981139e-05f, 2.381446294e-05f, 2.382907171e-05f, 2.384363767e-05f, 2.385816082e-05f, 2.387264113e-05f,
+2.388707858e-05f, 2.390147315e-05f, 2.391582482e-05f, 2.393013356e-05f, 2.394439937e-05f, 2.395862221e-05f, 2.397280207e-05f, 2.398693893e-05f, 2.400103276e-05f, 2.401508356e-05f,
+2.402909129e-05f, 2.404305595e-05f, 2.405697750e-05f, 2.407085593e-05f, 2.408469122e-05f, 2.409848336e-05f, 2.411223231e-05f, 2.412593807e-05f, 2.413960061e-05f, 2.415321992e-05f,
+2.416679597e-05f, 2.418032875e-05f, 2.419381824e-05f, 2.420726442e-05f, 2.422066726e-05f, 2.423402676e-05f, 2.424734290e-05f, 2.426061564e-05f, 2.427384499e-05f, 2.428703091e-05f,
+2.430017339e-05f, 2.431327242e-05f, 2.432632797e-05f, 2.433934002e-05f, 2.435230857e-05f, 2.436523358e-05f, 2.437811505e-05f, 2.439095295e-05f, 2.440374727e-05f, 2.441649799e-05f,
+2.442920509e-05f, 2.444186856e-05f, 2.445448837e-05f, 2.446706452e-05f, 2.447959698e-05f, 2.449208573e-05f, 2.450453077e-05f, 2.451693207e-05f, 2.452928961e-05f, 2.454160339e-05f,
+2.455387337e-05f, 2.456609956e-05f, 2.457828192e-05f, 2.459042044e-05f, 2.460251511e-05f, 2.461456592e-05f, 2.462657283e-05f, 2.463853585e-05f, 2.465045495e-05f, 2.466233011e-05f,
+2.467416132e-05f, 2.468594857e-05f, 2.469769184e-05f, 2.470939111e-05f, 2.472104637e-05f, 2.473265760e-05f, 2.474422479e-05f, 2.475574792e-05f, 2.476722697e-05f, 2.477866194e-05f,
+2.479005280e-05f, 2.480139954e-05f, 2.481270215e-05f, 2.482396062e-05f, 2.483517491e-05f, 2.484634503e-05f, 2.485747096e-05f, 2.486855268e-05f, 2.487959017e-05f, 2.489058344e-05f,
+2.490153245e-05f, 2.491243719e-05f, 2.492329766e-05f, 2.493411383e-05f, 2.494488570e-05f, 2.495561324e-05f, 2.496629645e-05f, 2.497693532e-05f, 2.498752982e-05f, 2.499807994e-05f,
+2.500858567e-05f, 2.501904701e-05f, 2.502946392e-05f, 2.503983641e-05f, 2.505016445e-05f, 2.506044804e-05f, 2.507068716e-05f, 2.508088180e-05f, 2.509103194e-05f, 2.510113757e-05f,
+2.511119869e-05f, 2.512121527e-05f, 2.513118731e-05f, 2.514111479e-05f, 2.515099769e-05f, 2.516083602e-05f, 2.517062975e-05f, 2.518037887e-05f, 2.519008337e-05f, 2.519974325e-05f,
+2.520935847e-05f, 2.521892905e-05f, 2.522845495e-05f, 2.523793618e-05f, 2.524737272e-05f, 2.525676455e-05f, 2.526611167e-05f, 2.527541407e-05f, 2.528467173e-05f, 2.529388464e-05f,
+2.530305280e-05f, 2.531217618e-05f, 2.532125478e-05f, 2.533028860e-05f, 2.533927761e-05f, 2.534822180e-05f, 2.535712117e-05f, 2.536597571e-05f, 2.537478540e-05f, 2.538355024e-05f,
+2.539227021e-05f, 2.540094531e-05f, 2.540957552e-05f, 2.541816083e-05f, 2.542670123e-05f, 2.543519672e-05f, 2.544364728e-05f, 2.545205291e-05f, 2.546041358e-05f, 2.546872931e-05f,
+2.547700006e-05f, 2.548522585e-05f, 2.549340664e-05f, 2.550154245e-05f, 2.550963325e-05f, 2.551767904e-05f, 2.552567981e-05f, 2.553363554e-05f, 2.554154624e-05f, 2.554941189e-05f,
+2.555723248e-05f, 2.556500801e-05f, 2.557273846e-05f, 2.558042383e-05f, 2.558806411e-05f, 2.559565929e-05f, 2.560320936e-05f, 2.561071431e-05f, 2.561817414e-05f, 2.562558883e-05f,
+2.563295839e-05f, 2.564028279e-05f, 2.564756204e-05f, 2.565479613e-05f, 2.566198504e-05f, 2.566912878e-05f, 2.567622732e-05f, 2.568328067e-05f, 2.569028882e-05f, 2.569725177e-05f,
+2.570416949e-05f, 2.571104199e-05f, 2.571786926e-05f, 2.572465129e-05f, 2.573138808e-05f, 2.573807961e-05f, 2.574472589e-05f, 2.575132690e-05f, 2.575788265e-05f, 2.576439311e-05f,
+2.577085829e-05f, 2.577727818e-05f, 2.578365277e-05f, 2.578998205e-05f, 2.579626603e-05f, 2.580250470e-05f, 2.580869804e-05f, 2.581484605e-05f, 2.582094873e-05f, 2.582700608e-05f,
+2.583301807e-05f, 2.583898472e-05f, 2.584490602e-05f, 2.585078195e-05f, 2.585661251e-05f, 2.586239771e-05f, 2.586813753e-05f, 2.587383196e-05f, 2.587948101e-05f, 2.588508467e-05f,
+2.589064293e-05f, 2.589615579e-05f, 2.590162325e-05f, 2.590704529e-05f, 2.591242192e-05f, 2.591775313e-05f, 2.592303892e-05f, 2.592827927e-05f, 2.593347420e-05f, 2.593862369e-05f,
+2.594372774e-05f, 2.594878634e-05f, 2.595379950e-05f, 2.595876720e-05f, 2.596368945e-05f, 2.596856623e-05f, 2.597339756e-05f, 2.597818341e-05f, 2.598292380e-05f, 2.598761872e-05f,
+2.599226815e-05f, 2.599687211e-05f, 2.600143058e-05f, 2.600594357e-05f, 2.601041107e-05f, 2.601483308e-05f, 2.601920959e-05f, 2.602354060e-05f, 2.602782612e-05f, 2.603206613e-05f,
+2.603626064e-05f, 2.604040964e-05f, 2.604451313e-05f, 2.604857110e-05f, 2.605258357e-05f, 2.605655051e-05f, 2.606047194e-05f, 2.606434785e-05f, 2.606817824e-05f, 2.607196310e-05f,
+2.607570244e-05f, 2.607939625e-05f, 2.608304453e-05f, 2.608664728e-05f, 2.609020450e-05f, 2.609371619e-05f, 2.609718234e-05f, 2.610060296e-05f, 2.610397804e-05f, 2.610730759e-05f,
+2.611059160e-05f, 2.611383006e-05f, 2.611702299e-05f, 2.612017038e-05f, 2.612327223e-05f, 2.612632854e-05f, 2.612933930e-05f, 2.613230452e-05f, 2.613522421e-05f, 2.613809834e-05f,
+2.614092694e-05f, 2.614370999e-05f, 2.614644750e-05f, 2.614913947e-05f, 2.615178590e-05f, 2.615438678e-05f, 2.615694212e-05f, 2.615945193e-05f, 2.616191619e-05f, 2.616433491e-05f,
+2.616670809e-05f, 2.616903573e-05f, 2.617131784e-05f, 2.617355441e-05f, 2.617574544e-05f, 2.617789094e-05f, 2.617999090e-05f, 2.618204533e-05f, 2.618405424e-05f, 2.618601761e-05f,
+2.618793545e-05f, 2.618980777e-05f, 2.619163456e-05f, 2.619341583e-05f, 2.619515158e-05f, 2.619684181e-05f, 2.619848652e-05f, 2.620008571e-05f, 2.620163939e-05f, 2.620314756e-05f,
+2.620461023e-05f, 2.620602738e-05f, 2.620739903e-05f, 2.620872518e-05f, 2.621000583e-05f, 2.621124098e-05f, 2.621243064e-05f, 2.621357481e-05f, 2.621467349e-05f, 2.621572668e-05f,
+2.621673439e-05f, 2.621769662e-05f, 2.621861338e-05f, 2.621948467e-05f, 2.622031048e-05f, 2.622109083e-05f, 2.622182572e-05f, 2.622251515e-05f, 2.622315912e-05f, 2.622375764e-05f,
+2.622431072e-05f, 2.622481835e-05f, 2.622528054e-05f, 2.622569730e-05f, 2.622606863e-05f, 2.622639453e-05f, 2.622667500e-05f, 2.622691006e-05f, 2.622709970e-05f, 2.622724394e-05f,
+2.622734276e-05f, 2.622739619e-05f, 2.622740423e-05f, 2.622736687e-05f, 2.622728413e-05f, 2.622715600e-05f, 2.622698251e-05f, 2.622676364e-05f, 2.622649940e-05f, 2.622618981e-05f,
+2.622583486e-05f, 2.622543456e-05f, 2.622498892e-05f, 2.622449794e-05f, 2.622396163e-05f, 2.622338000e-05f, 2.622275304e-05f, 2.622208077e-05f, 2.622136319e-05f, 2.622060031e-05f,
+2.621979213e-05f, 2.621893866e-05f, 2.621803991e-05f, 2.621709588e-05f, 2.621610658e-05f, 2.621507201e-05f, 2.621399219e-05f, 2.621286712e-05f, 2.621169680e-05f, 2.621048125e-05f,
+2.620922046e-05f, 2.620791445e-05f, 2.620656323e-05f, 2.620516680e-05f, 2.620372516e-05f, 2.620223833e-05f, 2.620070632e-05f, 2.619912912e-05f, 2.619750676e-05f, 2.619583923e-05f,
+2.619412654e-05f, 2.619236870e-05f, 2.619056572e-05f, 2.618871761e-05f, 2.618682438e-05f, 2.618488603e-05f, 2.618290257e-05f, 2.618087401e-05f, 2.617880036e-05f, 2.617668162e-05f,
+2.617451781e-05f, 2.617230893e-05f, 2.617005500e-05f, 2.616775601e-05f, 2.616541199e-05f, 2.616302293e-05f, 2.616058885e-05f, 2.615810976e-05f, 2.615558567e-05f, 2.615301657e-05f,
+2.615040250e-05f, 2.614774344e-05f, 2.614503942e-05f, 2.614229045e-05f, 2.613949652e-05f, 2.613665766e-05f, 2.613377386e-05f, 2.613084515e-05f, 2.612787153e-05f, 2.612485301e-05f,
+2.612178960e-05f, 2.611868132e-05f, 2.611552816e-05f, 2.611233015e-05f, 2.610908728e-05f, 2.610579958e-05f, 2.610246706e-05f, 2.609908971e-05f, 2.609566756e-05f, 2.609220062e-05f,
+2.608868889e-05f, 2.608513239e-05f, 2.608153112e-05f, 2.607788510e-05f, 2.607419435e-05f, 2.607045886e-05f, 2.606667866e-05f, 2.606285375e-05f, 2.605898414e-05f, 2.605506985e-05f,
+2.605111089e-05f, 2.604710726e-05f, 2.604305899e-05f, 2.603896608e-05f, 2.603482855e-05f, 2.603064640e-05f, 2.602641966e-05f, 2.602214832e-05f, 2.601783240e-05f, 2.601347193e-05f,
+2.600906689e-05f, 2.600461732e-05f, 2.600012323e-05f, 2.599558461e-05f, 2.599100150e-05f, 2.598637389e-05f, 2.598170181e-05f, 2.597698526e-05f, 2.597222426e-05f, 2.596741883e-05f,
+2.596256897e-05f, 2.595767470e-05f, 2.595273603e-05f, 2.594775297e-05f, 2.594272554e-05f, 2.593765376e-05f, 2.593253762e-05f, 2.592737716e-05f, 2.592217238e-05f, 2.591692330e-05f,
+2.591162992e-05f, 2.590629227e-05f, 2.590091036e-05f, 2.589548420e-05f, 2.589001381e-05f, 2.588449919e-05f, 2.587894037e-05f, 2.587333736e-05f, 2.586769018e-05f, 2.586199883e-05f,
+2.585626333e-05f, 2.585048370e-05f, 2.584465995e-05f, 2.583879210e-05f, 2.583288016e-05f, 2.582692415e-05f, 2.582092408e-05f, 2.581487996e-05f, 2.580879182e-05f, 2.580265966e-05f,
+2.579648351e-05f, 2.579026338e-05f, 2.578399927e-05f, 2.577769122e-05f, 2.577133923e-05f, 2.576494332e-05f, 2.575850351e-05f, 2.575201981e-05f, 2.574549224e-05f, 2.573892081e-05f,
+2.573230554e-05f, 2.572564645e-05f, 2.571894354e-05f, 2.571219685e-05f, 2.570540638e-05f, 2.569857216e-05f, 2.569169419e-05f, 2.568477250e-05f, 2.567780709e-05f, 2.567079800e-05f,
+2.566374523e-05f, 2.565664880e-05f, 2.564950873e-05f, 2.564232504e-05f, 2.563509773e-05f, 2.562782684e-05f, 2.562051238e-05f, 2.561315436e-05f, 2.560575280e-05f, 2.559830772e-05f,
+2.559081914e-05f, 2.558328707e-05f, 2.557571154e-05f, 2.556809255e-05f, 2.556043014e-05f, 2.555272431e-05f, 2.554497508e-05f, 2.553718247e-05f, 2.552934651e-05f, 2.552146720e-05f,
+2.551354457e-05f, 2.550557863e-05f, 2.549756941e-05f, 2.548951692e-05f, 2.548142118e-05f, 2.547328221e-05f, 2.546510003e-05f, 2.545687465e-05f, 2.544860610e-05f, 2.544029439e-05f,
+2.543193955e-05f, 2.542354159e-05f, 2.541510053e-05f, 2.540661639e-05f, 2.539808919e-05f, 2.538951896e-05f, 2.538090570e-05f, 2.537224944e-05f, 2.536355019e-05f, 2.535480799e-05f,
+2.534602284e-05f, 2.533719477e-05f, 2.532832380e-05f, 2.531940994e-05f, 2.531045322e-05f, 2.530145366e-05f, 2.529241128e-05f, 2.528332610e-05f, 2.527419813e-05f, 2.526502740e-05f,
+2.525581393e-05f, 2.524655774e-05f, 2.523725885e-05f, 2.522791728e-05f, 2.521853305e-05f, 2.520910619e-05f, 2.519963670e-05f, 2.519012463e-05f, 2.518056997e-05f, 2.517097277e-05f,
+2.516133303e-05f, 2.515165078e-05f, 2.514192604e-05f, 2.513215883e-05f, 2.512234918e-05f, 2.511249709e-05f, 2.510260261e-05f, 2.509266574e-05f, 2.508268652e-05f, 2.507266495e-05f,
+2.506260107e-05f, 2.505249489e-05f, 2.504234644e-05f, 2.503215574e-05f, 2.502192281e-05f, 2.501164767e-05f, 2.500133035e-05f, 2.499097087e-05f, 2.498056925e-05f, 2.497012551e-05f,
+2.495963968e-05f, 2.494911178e-05f, 2.493854183e-05f, 2.492792985e-05f, 2.491727587e-05f, 2.490657992e-05f, 2.489584200e-05f, 2.488506215e-05f, 2.487424039e-05f, 2.486337674e-05f,
+2.485247123e-05f, 2.484152388e-05f, 2.483053471e-05f, 2.481950374e-05f, 2.480843101e-05f, 2.479731653e-05f, 2.478616033e-05f, 2.477496243e-05f, 2.476372285e-05f, 2.475244162e-05f,
+2.474111876e-05f, 2.472975431e-05f, 2.471834827e-05f, 2.470690068e-05f, 2.469541155e-05f, 2.468388092e-05f, 2.467230881e-05f, 2.466069524e-05f, 2.464904024e-05f, 2.463734383e-05f,
+2.462560604e-05f, 2.461382689e-05f, 2.460200640e-05f, 2.459014461e-05f, 2.457824153e-05f, 2.456629720e-05f, 2.455431162e-05f, 2.454228485e-05f, 2.453021688e-05f, 2.451810776e-05f,
+2.450595751e-05f, 2.449376615e-05f, 2.448153371e-05f, 2.446926021e-05f, 2.445694568e-05f, 2.444459014e-05f, 2.443219363e-05f, 2.441975616e-05f, 2.440727777e-05f, 2.439475848e-05f,
+2.438219831e-05f, 2.436959729e-05f, 2.435695545e-05f, 2.434427281e-05f, 2.433154940e-05f, 2.431878525e-05f, 2.430598038e-05f, 2.429313482e-05f, 2.428024860e-05f, 2.426732174e-05f,
+2.425435426e-05f, 2.424134621e-05f, 2.422829759e-05f, 2.421520845e-05f, 2.420207881e-05f, 2.418890868e-05f, 2.417569811e-05f, 2.416244712e-05f, 2.414915573e-05f, 2.413582398e-05f,
+2.412245188e-05f, 2.410903948e-05f, 2.409558678e-05f, 2.408209384e-05f, 2.406856066e-05f, 2.405498728e-05f, 2.404137373e-05f, 2.402772003e-05f, 2.401402621e-05f, 2.400029231e-05f,
+2.398651834e-05f, 2.397270434e-05f, 2.395885033e-05f, 2.394495635e-05f, 2.393102241e-05f, 2.391704856e-05f, 2.390303481e-05f, 2.388898120e-05f, 2.387488776e-05f, 2.386075451e-05f,
+2.384658148e-05f, 2.383236871e-05f, 2.381811621e-05f, 2.380382403e-05f, 2.378949218e-05f, 2.377512070e-05f, 2.376070961e-05f, 2.374625895e-05f, 2.373176875e-05f, 2.371723903e-05f,
+2.370266982e-05f, 2.368806116e-05f, 2.367341307e-05f, 2.365872558e-05f, 2.364399873e-05f, 2.362923253e-05f, 2.361442703e-05f, 2.359958225e-05f, 2.358469822e-05f, 2.356977497e-05f,
+2.355481253e-05f, 2.353981094e-05f, 2.352477021e-05f, 2.350969039e-05f, 2.349457150e-05f, 2.347941357e-05f, 2.346421663e-05f, 2.344898072e-05f, 2.343370586e-05f, 2.341839209e-05f,
+2.340303943e-05f, 2.338764791e-05f, 2.337221758e-05f, 2.335674845e-05f, 2.334124056e-05f, 2.332569394e-05f, 2.331010862e-05f, 2.329448463e-05f, 2.327882201e-05f, 2.326312078e-05f,
+2.324738098e-05f, 2.323160263e-05f, 2.321578577e-05f, 2.319993043e-05f, 2.318403664e-05f, 2.316810444e-05f, 2.315213385e-05f, 2.313612491e-05f, 2.312007765e-05f, 2.310399209e-05f,
+2.308786828e-05f, 2.307170625e-05f, 2.305550602e-05f, 2.303926763e-05f, 2.302299111e-05f, 2.300667649e-05f, 2.299032381e-05f, 2.297393309e-05f, 2.295750438e-05f, 2.294103770e-05f,
+2.292453309e-05f, 2.290799057e-05f, 2.289141019e-05f, 2.287479196e-05f, 2.285813594e-05f, 2.284144214e-05f, 2.282471061e-05f, 2.280794137e-05f, 2.279113446e-05f, 2.277428991e-05f,
+2.275740776e-05f, 2.274048804e-05f, 2.272353077e-05f, 2.270653600e-05f, 2.268950376e-05f, 2.267243408e-05f, 2.265532700e-05f, 2.263818254e-05f, 2.262100075e-05f, 2.260378166e-05f,
+2.258652529e-05f, 2.256923169e-05f, 2.255190089e-05f, 2.253453292e-05f, 2.251712781e-05f, 2.249968561e-05f, 2.248220633e-05f, 2.246469003e-05f, 2.244713673e-05f, 2.242954647e-05f,
+2.241191928e-05f, 2.239425520e-05f, 2.237655426e-05f, 2.235881649e-05f, 2.234104193e-05f, 2.232323062e-05f, 2.230538259e-05f, 2.228749787e-05f, 2.226957650e-05f, 2.225161852e-05f,
+2.223362395e-05f, 2.221559284e-05f, 2.219752522e-05f, 2.217942112e-05f, 2.216128058e-05f, 2.214310364e-05f, 2.212489033e-05f, 2.210664069e-05f, 2.208835475e-05f, 2.207003254e-05f,
+2.205167411e-05f, 2.203327948e-05f, 2.201484870e-05f, 2.199638180e-05f, 2.197787882e-05f, 2.195933979e-05f, 2.194076474e-05f, 2.192215372e-05f, 2.190350676e-05f, 2.188482390e-05f,
+2.186610517e-05f, 2.184735060e-05f, 2.182856024e-05f, 2.180973413e-05f, 2.179087229e-05f, 2.177197476e-05f, 2.175304159e-05f, 2.173407280e-05f, 2.171506844e-05f, 2.169602853e-05f,
+2.167695313e-05f, 2.165784226e-05f, 2.163869596e-05f, 2.161951426e-05f, 2.160029722e-05f, 2.158104485e-05f, 2.156175721e-05f, 2.154243432e-05f, 2.152307623e-05f, 2.150368296e-05f,
+2.148425457e-05f, 2.146479108e-05f, 2.144529254e-05f, 2.142575897e-05f, 2.140619043e-05f, 2.138658694e-05f, 2.136694854e-05f, 2.134727528e-05f, 2.132756718e-05f, 2.130782429e-05f,
+2.128804665e-05f, 2.126823429e-05f, 2.124838725e-05f, 2.122850557e-05f, 2.120858929e-05f, 2.118863845e-05f, 2.116865307e-05f, 2.114863321e-05f, 2.112857891e-05f, 2.110849019e-05f,
+2.108836709e-05f, 2.106820967e-05f, 2.104801794e-05f, 2.102779196e-05f, 2.100753177e-05f, 2.098723739e-05f, 2.096690887e-05f, 2.094654626e-05f, 2.092614958e-05f, 2.090571887e-05f,
+2.088525418e-05f, 2.086475555e-05f, 2.084422300e-05f, 2.082365660e-05f, 2.080305636e-05f, 2.078242233e-05f, 2.076175456e-05f, 2.074105307e-05f, 2.072031792e-05f, 2.069954913e-05f,
+2.067874675e-05f, 2.065791082e-05f, 2.063704138e-05f, 2.061613847e-05f, 2.059520212e-05f, 2.057423238e-05f, 2.055322929e-05f, 2.053219289e-05f, 2.051112321e-05f, 2.049002030e-05f,
+2.046888419e-05f, 2.044771494e-05f, 2.042651257e-05f, 2.040527713e-05f, 2.038400866e-05f, 2.036270719e-05f, 2.034137278e-05f, 2.032000546e-05f, 2.029860526e-05f, 2.027717224e-05f,
+2.025570642e-05f, 2.023420786e-05f, 2.021267660e-05f, 2.019111266e-05f, 2.016951610e-05f, 2.014788696e-05f, 2.012622527e-05f, 2.010453108e-05f, 2.008280442e-05f, 2.006104535e-05f,
+2.003925390e-05f, 2.001743011e-05f, 1.999557402e-05f, 1.997368568e-05f, 1.995176512e-05f, 1.992981239e-05f, 1.990782752e-05f, 1.988581057e-05f, 1.986376157e-05f, 1.984168057e-05f,
+1.981956759e-05f, 1.979742270e-05f, 1.977524592e-05f, 1.975303730e-05f, 1.973079689e-05f, 1.970852472e-05f, 1.968622084e-05f, 1.966388528e-05f, 1.964151809e-05f, 1.961911932e-05f,
+1.959668900e-05f, 1.957422718e-05f, 1.955173390e-05f, 1.952920919e-05f, 1.950665312e-05f, 1.948406570e-05f, 1.946144700e-05f, 1.943879705e-05f, 1.941611589e-05f, 1.939340357e-05f,
+1.937066013e-05f, 1.934788560e-05f, 1.932508005e-05f, 1.930224350e-05f, 1.927937600e-05f, 1.925647759e-05f, 1.923354832e-05f, 1.921058823e-05f, 1.918759736e-05f, 1.916457576e-05f,
+1.914152347e-05f, 1.911844052e-05f, 1.909532697e-05f, 1.907218286e-05f, 1.904900824e-05f, 1.902580313e-05f, 1.900256760e-05f, 1.897930168e-05f, 1.895600541e-05f, 1.893267884e-05f,
+1.890932202e-05f, 1.888593498e-05f, 1.886251777e-05f, 1.883907043e-05f, 1.881559302e-05f, 1.879208556e-05f, 1.876854811e-05f, 1.874498071e-05f, 1.872138341e-05f, 1.869775624e-05f,
+1.867409926e-05f, 1.865041250e-05f, 1.862669601e-05f, 1.860294983e-05f, 1.857917401e-05f, 1.855536860e-05f, 1.853153364e-05f, 1.850766916e-05f, 1.848377522e-05f, 1.845985187e-05f,
+1.843589914e-05f, 1.841191708e-05f, 1.838790573e-05f, 1.836386515e-05f, 1.833979537e-05f, 1.831569644e-05f, 1.829156840e-05f, 1.826741130e-05f, 1.824322519e-05f, 1.821901010e-05f,
+1.819476609e-05f, 1.817049320e-05f, 1.814619147e-05f, 1.812186095e-05f, 1.809750169e-05f, 1.807311372e-05f, 1.804869710e-05f, 1.802425187e-05f, 1.799977808e-05f, 1.797527577e-05f,
+1.795074499e-05f, 1.792618578e-05f, 1.790159818e-05f, 1.787698225e-05f, 1.785233803e-05f, 1.782766557e-05f, 1.780296490e-05f, 1.777823609e-05f, 1.775347916e-05f, 1.772869418e-05f,
+1.770388117e-05f, 1.767904020e-05f, 1.765417130e-05f, 1.762927453e-05f, 1.760434993e-05f, 1.757939754e-05f, 1.755441741e-05f, 1.752940958e-05f, 1.750437411e-05f, 1.747931104e-05f,
+1.745422042e-05f, 1.742910229e-05f, 1.740395670e-05f, 1.737878369e-05f, 1.735358332e-05f, 1.732835562e-05f, 1.730310065e-05f, 1.727781845e-05f, 1.725250907e-05f, 1.722717255e-05f,
+1.720180895e-05f, 1.717641830e-05f, 1.715100066e-05f, 1.712555608e-05f, 1.710008459e-05f, 1.707458625e-05f, 1.704906110e-05f, 1.702350919e-05f, 1.699793057e-05f, 1.697232529e-05f,
+1.694669339e-05f, 1.692103492e-05f, 1.689534992e-05f, 1.686963845e-05f, 1.684390055e-05f, 1.681813627e-05f, 1.679234565e-05f, 1.676652875e-05f, 1.674068561e-05f, 1.671481628e-05f,
+1.668892081e-05f, 1.666299924e-05f, 1.663705162e-05f, 1.661107800e-05f, 1.658507843e-05f, 1.655905295e-05f, 1.653300162e-05f, 1.650692447e-05f, 1.648082157e-05f, 1.645469295e-05f,
+1.642853867e-05f, 1.640235877e-05f, 1.637615330e-05f, 1.634992231e-05f, 1.632366585e-05f, 1.629738396e-05f, 1.627107670e-05f, 1.624474410e-05f, 1.621838623e-05f, 1.619200313e-05f,
+1.616559484e-05f, 1.613916142e-05f, 1.611270291e-05f, 1.608621937e-05f, 1.605971084e-05f, 1.603317736e-05f, 1.600661900e-05f, 1.598003579e-05f, 1.595342778e-05f, 1.592679503e-05f,
+1.590013759e-05f, 1.587345549e-05f, 1.584674880e-05f, 1.582001756e-05f, 1.579326181e-05f, 1.576648161e-05f, 1.573967701e-05f, 1.571284805e-05f, 1.568599479e-05f, 1.565911728e-05f,
+1.563221555e-05f, 1.560528967e-05f, 1.557833968e-05f, 1.555136562e-05f, 1.552436756e-05f, 1.549734554e-05f, 1.547029961e-05f, 1.544322981e-05f, 1.541613620e-05f, 1.538901883e-05f,
+1.536187775e-05f, 1.533471300e-05f, 1.530752463e-05f, 1.528031271e-05f, 1.525307726e-05f, 1.522581835e-05f, 1.519853603e-05f, 1.517123033e-05f, 1.514390133e-05f, 1.511654905e-05f,
+1.508917356e-05f, 1.506177490e-05f, 1.503435313e-05f, 1.500690829e-05f, 1.497944043e-05f, 1.495194961e-05f, 1.492443587e-05f, 1.489689926e-05f, 1.486933983e-05f, 1.484175764e-05f,
+1.481415274e-05f, 1.478652516e-05f, 1.475887498e-05f, 1.473120222e-05f, 1.470350695e-05f, 1.467578922e-05f, 1.464804908e-05f, 1.462028657e-05f, 1.459250174e-05f, 1.456469466e-05f,
+1.453686536e-05f, 1.450901390e-05f, 1.448114033e-05f, 1.445324470e-05f, 1.442532706e-05f, 1.439738746e-05f, 1.436942595e-05f, 1.434144258e-05f, 1.431343741e-05f, 1.428541048e-05f,
+1.425736185e-05f, 1.422929157e-05f, 1.420119968e-05f, 1.417308624e-05f, 1.414495129e-05f, 1.411679490e-05f, 1.408861711e-05f, 1.406041797e-05f, 1.403219754e-05f, 1.400395585e-05f,
+1.397569298e-05f, 1.394740896e-05f, 1.391910385e-05f, 1.389077770e-05f, 1.386243055e-05f, 1.383406248e-05f, 1.380567351e-05f, 1.377726371e-05f, 1.374883312e-05f, 1.372038181e-05f,
+1.369190981e-05f, 1.366341718e-05f, 1.363490398e-05f, 1.360637025e-05f, 1.357781604e-05f, 1.354924141e-05f, 1.352064641e-05f, 1.349203109e-05f, 1.346339551e-05f, 1.343473970e-05f,
+1.340606374e-05f, 1.337736766e-05f, 1.334865152e-05f, 1.331991537e-05f, 1.329115926e-05f, 1.326238325e-05f, 1.323358739e-05f, 1.320477172e-05f, 1.317593631e-05f, 1.314708120e-05f,
+1.311820645e-05f, 1.308931210e-05f, 1.306039821e-05f, 1.303146483e-05f, 1.300251202e-05f, 1.297353983e-05f, 1.294454830e-05f, 1.291553749e-05f, 1.288650746e-05f, 1.285745825e-05f,
+1.282838992e-05f, 1.279930252e-05f, 1.277019610e-05f, 1.274107072e-05f, 1.271192642e-05f, 1.268276327e-05f, 1.265358130e-05f, 1.262438059e-05f, 1.259516117e-05f, 1.256592310e-05f,
+1.253666643e-05f, 1.250739122e-05f, 1.247809751e-05f, 1.244878537e-05f, 1.241945484e-05f, 1.239010598e-05f, 1.236073883e-05f, 1.233135346e-05f, 1.230194991e-05f, 1.227252824e-05f,
+1.224308851e-05f, 1.221363075e-05f, 1.218415503e-05f, 1.215466140e-05f, 1.212514992e-05f, 1.209562062e-05f, 1.206607358e-05f, 1.203650884e-05f, 1.200692645e-05f, 1.197732648e-05f,
+1.194770896e-05f, 1.191807395e-05f, 1.188842152e-05f, 1.185875170e-05f, 1.182906456e-05f, 1.179936015e-05f, 1.176963851e-05f, 1.173989971e-05f, 1.171014380e-05f, 1.168037082e-05f,
+1.165058084e-05f, 1.162077391e-05f, 1.159095008e-05f, 1.156110940e-05f, 1.153125193e-05f, 1.150137772e-05f, 1.147148683e-05f, 1.144157930e-05f, 1.141165520e-05f, 1.138171457e-05f,
+1.135175747e-05f, 1.132178395e-05f, 1.129179407e-05f, 1.126178788e-05f, 1.123176543e-05f, 1.120172678e-05f, 1.117167198e-05f, 1.114160109e-05f, 1.111151415e-05f, 1.108141123e-05f,
+1.105129237e-05f, 1.102115763e-05f, 1.099100707e-05f, 1.096084074e-05f, 1.093065869e-05f, 1.090046097e-05f, 1.087024764e-05f, 1.084001876e-05f, 1.080977438e-05f, 1.077951455e-05f,
+1.074923932e-05f, 1.071894875e-05f, 1.068864290e-05f, 1.065832182e-05f, 1.062798556e-05f, 1.059763417e-05f, 1.056726772e-05f, 1.053688625e-05f, 1.050648982e-05f, 1.047607849e-05f,
+1.044565230e-05f, 1.041521131e-05f, 1.038475559e-05f, 1.035428517e-05f, 1.032380011e-05f, 1.029330048e-05f, 1.026278632e-05f, 1.023225769e-05f, 1.020171464e-05f, 1.017115722e-05f,
+1.014058550e-05f, 1.010999953e-05f, 1.007939935e-05f, 1.004878503e-05f, 1.001815662e-05f, 9.987514178e-06f, 9.956857751e-06f, 9.926187397e-06f, 9.895503170e-06f, 9.864805126e-06f,
+9.834093320e-06f, 9.803367805e-06f, 9.772628636e-06f, 9.741875869e-06f, 9.711109557e-06f, 9.680329756e-06f, 9.649536520e-06f, 9.618729905e-06f, 9.587909964e-06f, 9.557076753e-06f,
+9.526230326e-06f, 9.495370739e-06f, 9.464498046e-06f, 9.433612302e-06f, 9.402713562e-06f, 9.371801881e-06f, 9.340877314e-06f, 9.309939915e-06f, 9.278989740e-06f, 9.248026843e-06f,
+9.217051280e-06f, 9.186063106e-06f, 9.155062376e-06f, 9.124049144e-06f, 9.093023465e-06f, 9.061985396e-06f, 9.030934990e-06f, 8.999872303e-06f, 8.968797390e-06f, 8.937710307e-06f,
+8.906611107e-06f, 8.875499847e-06f, 8.844376582e-06f, 8.813241367e-06f, 8.782094256e-06f, 8.750935306e-06f, 8.719764571e-06f, 8.688582107e-06f, 8.657387969e-06f, 8.626182212e-06f,
+8.594964892e-06f, 8.563736063e-06f, 8.532495782e-06f, 8.501244103e-06f, 8.469981081e-06f, 8.438706773e-06f, 8.407421233e-06f, 8.376124518e-06f, 8.344816681e-06f, 8.313497779e-06f,
+8.282167868e-06f, 8.250827002e-06f, 8.219475237e-06f, 8.188112628e-06f, 8.156739231e-06f, 8.125355102e-06f, 8.093960296e-06f, 8.062554868e-06f, 8.031138874e-06f, 7.999712369e-06f,
+7.968275410e-06f, 7.936828051e-06f, 7.905370348e-06f, 7.873902357e-06f, 7.842424133e-06f, 7.810935733e-06f, 7.779437211e-06f, 7.747928623e-06f, 7.716410025e-06f, 7.684881472e-06f,
+7.653343021e-06f, 7.621794726e-06f, 7.590236644e-06f, 7.558668830e-06f, 7.527091341e-06f, 7.495504231e-06f, 7.463907556e-06f, 7.432301372e-06f, 7.400685735e-06f, 7.369060701e-06f,
+7.337426326e-06f, 7.305782664e-06f, 7.274129773e-06f, 7.242467707e-06f, 7.210796523e-06f, 7.179116276e-06f, 7.147427023e-06f, 7.115728819e-06f, 7.084021719e-06f, 7.052305781e-06f,
+7.020581059e-06f, 6.988847610e-06f, 6.957105489e-06f, 6.925354752e-06f, 6.893595456e-06f, 6.861827656e-06f, 6.830051408e-06f, 6.798266768e-06f, 6.766473792e-06f, 6.734672536e-06f,
+6.702863056e-06f, 6.671045408e-06f, 6.639219647e-06f, 6.607385831e-06f, 6.575544014e-06f, 6.543694252e-06f, 6.511836603e-06f, 6.479971121e-06f, 6.448097864e-06f, 6.416216886e-06f,
+6.384328243e-06f, 6.352431993e-06f, 6.320528191e-06f, 6.288616893e-06f, 6.256698155e-06f, 6.224772033e-06f, 6.192838583e-06f, 6.160897862e-06f, 6.128949925e-06f, 6.096994828e-06f,
+6.065032628e-06f, 6.033063381e-06f, 6.001087143e-06f, 5.969103969e-06f, 5.937113917e-06f, 5.905117042e-06f, 5.873113400e-06f, 5.841103048e-06f, 5.809086041e-06f, 5.777062436e-06f,
+5.745032290e-06f, 5.712995657e-06f, 5.680952594e-06f, 5.648903158e-06f, 5.616847405e-06f, 5.584785391e-06f, 5.552717171e-06f, 5.520642803e-06f, 5.488562342e-06f, 5.456475845e-06f,
+5.424383368e-06f, 5.392284966e-06f, 5.360180698e-06f, 5.328070617e-06f, 5.295954781e-06f, 5.263833246e-06f, 5.231706069e-06f, 5.199573305e-06f, 5.167435010e-06f, 5.135291241e-06f,
+5.103142055e-06f, 5.070987507e-06f, 5.038827653e-06f, 5.006662551e-06f, 4.974492256e-06f, 4.942316824e-06f, 4.910136311e-06f, 4.877950775e-06f, 4.845760271e-06f, 4.813564856e-06f,
+4.781364585e-06f, 4.749159516e-06f, 4.716949703e-06f, 4.684735205e-06f, 4.652516076e-06f, 4.620292374e-06f, 4.588064154e-06f, 4.555831473e-06f, 4.523594387e-06f, 4.491352952e-06f,
+4.459107225e-06f, 4.426857262e-06f, 4.394603119e-06f, 4.362344853e-06f, 4.330082520e-06f, 4.297816176e-06f, 4.265545877e-06f, 4.233271680e-06f, 4.200993641e-06f, 4.168711817e-06f,
+4.136426263e-06f, 4.104137037e-06f, 4.071844193e-06f, 4.039547789e-06f, 4.007247881e-06f, 3.974944526e-06f, 3.942637779e-06f, 3.910327696e-06f, 3.878014335e-06f, 3.845697751e-06f,
+3.813378001e-06f, 3.781055141e-06f, 3.748729228e-06f, 3.716400317e-06f, 3.684068465e-06f, 3.651733728e-06f, 3.619396163e-06f, 3.587055825e-06f, 3.554712772e-06f, 3.522367059e-06f,
+3.490018743e-06f, 3.457667880e-06f, 3.425314527e-06f, 3.392958739e-06f, 3.360600572e-06f, 3.328240084e-06f, 3.295877331e-06f, 3.263512368e-06f, 3.231145252e-06f, 3.198776040e-06f,
+3.166404787e-06f, 3.134031550e-06f, 3.101656385e-06f, 3.069279348e-06f, 3.036900496e-06f, 3.004519885e-06f, 2.972137571e-06f, 2.939753611e-06f, 2.907368060e-06f, 2.874980975e-06f,
+2.842592413e-06f, 2.810202428e-06f, 2.777811079e-06f, 2.745418420e-06f, 2.713024508e-06f, 2.680629400e-06f, 2.648233151e-06f, 2.615835818e-06f, 2.583437457e-06f, 2.551038124e-06f,
+2.518637875e-06f, 2.486236767e-06f, 2.453834856e-06f, 2.421432198e-06f, 2.389028849e-06f, 2.356624865e-06f, 2.324220303e-06f, 2.291815218e-06f, 2.259409668e-06f, 2.227003707e-06f,
+2.194597393e-06f, 2.162190781e-06f, 2.129783927e-06f, 2.097376888e-06f, 2.064969720e-06f, 2.032562478e-06f, 2.000155220e-06f, 1.967748000e-06f, 1.935340876e-06f, 1.902933903e-06f,
+1.870527138e-06f, 1.838120636e-06f, 1.805714454e-06f, 1.773308647e-06f, 1.740903272e-06f, 1.708498385e-06f, 1.676094042e-06f, 1.643690298e-06f, 1.611287211e-06f, 1.578884835e-06f,
+1.546483228e-06f, 1.514082445e-06f, 1.481682541e-06f, 1.449283574e-06f, 1.416885599e-06f, 1.384488671e-06f, 1.352092848e-06f, 1.319698185e-06f, 1.287304738e-06f, 1.254912562e-06f,
+1.222521715e-06f, 1.190132251e-06f, 1.157744227e-06f, 1.125357699e-06f, 1.092972722e-06f, 1.060589353e-06f, 1.028207647e-06f, 9.958276609e-07f, 9.634494495e-07f, 9.310730692e-07f,
+8.986985758e-07f, 8.663260251e-07f, 8.339554730e-07f, 8.015869754e-07f, 7.692205880e-07f, 7.368563666e-07f, 7.044943672e-07f, 6.721346454e-07f, 6.397772570e-07f, 6.074222579e-07f,
+5.750697037e-07f, 5.427196503e-07f, 5.103721534e-07f, 4.780272688e-07f, 4.456850520e-07f, 4.133455589e-07f, 3.810088452e-07f, 3.486749665e-07f, 3.163439786e-07f, 2.840159371e-07f,
+2.516908976e-07f, 2.193689158e-07f, 1.870500474e-07f, 1.547343480e-07f, 1.224218731e-07f, 9.011267838e-08f, 5.780681945e-08f, 2.550435187e-08f, -6.794668805e-09f, -3.909018701e-08f,
+-7.138214721e-08f, -1.036704939e-07f, -1.359551715e-07f, -1.682361245e-07f, -2.005132975e-07f, -2.327866350e-07f, -2.650560814e-07f, -2.973215814e-07f, -3.295830795e-07f, -3.618405203e-07f,
+-3.940938484e-07f, -4.263430083e-07f, -4.585879446e-07f, -4.908286021e-07f, -5.230649253e-07f, -5.552968589e-07f, -5.875243475e-07f, -6.197473358e-07f, -6.519657685e-07f, -6.841795904e-07f,
+-7.163887461e-07f, -7.485931804e-07f, -7.807928380e-07f, -8.129876637e-07f, -8.451776022e-07f, -8.773625984e-07f, -9.095425970e-07f, -9.417175429e-07f, -9.738873809e-07f, -1.006052056e-06f,
+-1.038211513e-06f, -1.070365696e-06f, -1.102514551e-06f, -1.134658023e-06f, -1.166796056e-06f, -1.198928595e-06f, -1.231055586e-06f, -1.263176973e-06f, -1.295292701e-06f, -1.327402716e-06f,
+-1.359506962e-06f, -1.391605384e-06f, -1.423697928e-06f, -1.455784538e-06f, -1.487865160e-06f, -1.519939738e-06f, -1.552008218e-06f, -1.584070545e-06f, -1.616126664e-06f, -1.648176520e-06f,
+-1.680220059e-06f, -1.712257225e-06f, -1.744287964e-06f, -1.776312221e-06f, -1.808329941e-06f, -1.840341070e-06f, -1.872345552e-06f, -1.904343334e-06f, -1.936334360e-06f, -1.968318576e-06f,
+-2.000295927e-06f, -2.032266359e-06f, -2.064229817e-06f, -2.096186245e-06f, -2.128135591e-06f, -2.160077799e-06f, -2.192012814e-06f, -2.223940583e-06f, -2.255861050e-06f, -2.287774162e-06f,
+-2.319679863e-06f, -2.351578099e-06f, -2.383468816e-06f, -2.415351960e-06f, -2.447227476e-06f, -2.479095309e-06f, -2.510955405e-06f, -2.542807711e-06f, -2.574652171e-06f, -2.606488732e-06f,
+-2.638317339e-06f, -2.670137937e-06f, -2.701950473e-06f, -2.733754893e-06f, -2.765551142e-06f, -2.797339166e-06f, -2.829118910e-06f, -2.860890322e-06f, -2.892653346e-06f, -2.924407929e-06f,
+-2.956154016e-06f, -2.987891554e-06f, -3.019620488e-06f, -3.051340764e-06f, -3.083052329e-06f, -3.114755128e-06f, -3.146449108e-06f, -3.178134215e-06f, -3.209810394e-06f, -3.241477591e-06f,
+-3.273135754e-06f, -3.304784828e-06f, -3.336424759e-06f, -3.368055494e-06f, -3.399676978e-06f, -3.431289158e-06f, -3.462891981e-06f, -3.494485391e-06f, -3.526069337e-06f, -3.557643764e-06f,
+-3.589208618e-06f, -3.620763847e-06f, -3.652309395e-06f, -3.683845211e-06f, -3.715371239e-06f, -3.746887427e-06f, -3.778393721e-06f, -3.809890068e-06f, -3.841376414e-06f, -3.872852706e-06f,
+-3.904318890e-06f, -3.935774913e-06f, -3.967220722e-06f, -3.998656262e-06f, -4.030081482e-06f, -4.061496327e-06f, -4.092900745e-06f, -4.124294682e-06f, -4.155678084e-06f, -4.187050900e-06f,
+-4.218413074e-06f, -4.249764556e-06f, -4.281105290e-06f, -4.312435224e-06f, -4.343754306e-06f, -4.375062481e-06f, -4.406359697e-06f, -4.437645901e-06f, -4.468921040e-06f, -4.500185061e-06f,
+-4.531437912e-06f, -4.562679538e-06f, -4.593909887e-06f, -4.625128907e-06f, -4.656336545e-06f, -4.687532747e-06f, -4.718717461e-06f, -4.749890635e-06f, -4.781052215e-06f, -4.812202149e-06f,
+-4.843340383e-06f, -4.874466867e-06f, -4.905581546e-06f, -4.936684369e-06f, -4.967775282e-06f, -4.998854233e-06f, -5.029921170e-06f, -5.060976040e-06f, -5.092018791e-06f, -5.123049369e-06f,
+-5.154067724e-06f, -5.185073802e-06f, -5.216067551e-06f, -5.247048919e-06f, -5.278017853e-06f, -5.308974302e-06f, -5.339918212e-06f, -5.370849532e-06f, -5.401768209e-06f, -5.432674192e-06f,
+-5.463567428e-06f, -5.494447865e-06f, -5.525315450e-06f, -5.556170133e-06f, -5.587011861e-06f, -5.617840581e-06f, -5.648656243e-06f, -5.679458793e-06f, -5.710248180e-06f, -5.741024353e-06f,
+-5.771787258e-06f, -5.802536845e-06f, -5.833273062e-06f, -5.863995857e-06f, -5.894705178e-06f, -5.925400973e-06f, -5.956083191e-06f, -5.986751780e-06f, -6.017406689e-06f, -6.048047865e-06f,
+-6.078675257e-06f, -6.109288815e-06f, -6.139888485e-06f, -6.170474217e-06f, -6.201045960e-06f, -6.231603661e-06f, -6.262147270e-06f, -6.292676735e-06f, -6.323192005e-06f, -6.353693028e-06f,
+-6.384179754e-06f, -6.414652130e-06f, -6.445110106e-06f, -6.475553631e-06f, -6.505982653e-06f, -6.536397121e-06f, -6.566796985e-06f, -6.597182193e-06f, -6.627552694e-06f, -6.657908437e-06f,
+-6.688249371e-06f, -6.718575446e-06f, -6.748886609e-06f, -6.779182812e-06f, -6.809464001e-06f, -6.839730128e-06f, -6.869981141e-06f, -6.900216989e-06f, -6.930437621e-06f, -6.960642988e-06f,
+-6.990833038e-06f, -7.021007720e-06f, -7.051166984e-06f, -7.081310780e-06f, -7.111439057e-06f, -7.141551765e-06f, -7.171648852e-06f, -7.201730269e-06f, -7.231795965e-06f, -7.261845890e-06f,
+-7.291879994e-06f, -7.321898226e-06f, -7.351900535e-06f, -7.381886873e-06f, -7.411857188e-06f, -7.441811431e-06f, -7.471749550e-06f, -7.501671497e-06f, -7.531577221e-06f, -7.561466673e-06f,
+-7.591339801e-06f, -7.621196556e-06f, -7.651036889e-06f, -7.680860749e-06f, -7.710668086e-06f, -7.740458852e-06f, -7.770232994e-06f, -7.799990465e-06f, -7.829731215e-06f, -7.859455193e-06f,
+-7.889162350e-06f, -7.918852637e-06f, -7.948526003e-06f, -7.978182400e-06f, -8.007821777e-06f, -8.037444086e-06f, -8.067049276e-06f, -8.096637300e-06f, -8.126208106e-06f, -8.155761645e-06f,
+-8.185297870e-06f, -8.214816729e-06f, -8.244318174e-06f, -8.273802156e-06f, -8.303268626e-06f, -8.332717534e-06f, -8.362148832e-06f, -8.391562469e-06f, -8.420958398e-06f, -8.450336570e-06f,
+-8.479696934e-06f, -8.509039443e-06f, -8.538364048e-06f, -8.567670699e-06f, -8.596959348e-06f, -8.626229947e-06f, -8.655482446e-06f, -8.684716796e-06f, -8.713932950e-06f, -8.743130858e-06f,
+-8.772310472e-06f, -8.801471743e-06f, -8.830614624e-06f, -8.859739064e-06f, -8.888845017e-06f, -8.917932433e-06f, -8.947001264e-06f, -8.976051462e-06f, -9.005082978e-06f, -9.034095765e-06f,
+-9.063089774e-06f, -9.092064957e-06f, -9.121021266e-06f, -9.149958653e-06f, -9.178877069e-06f, -9.207776467e-06f, -9.236656798e-06f, -9.265518015e-06f, -9.294360070e-06f, -9.323182915e-06f,
+-9.351986502e-06f, -9.380770784e-06f, -9.409535711e-06f, -9.438281238e-06f, -9.467007316e-06f, -9.495713898e-06f, -9.524400935e-06f, -9.553068381e-06f, -9.581716188e-06f, -9.610344309e-06f,
+-9.638952695e-06f, -9.667541300e-06f, -9.696110076e-06f, -9.724658976e-06f, -9.753187952e-06f, -9.781696958e-06f, -9.810185946e-06f, -9.838654869e-06f, -9.867103680e-06f, -9.895532332e-06f,
+-9.923940778e-06f, -9.952328970e-06f, -9.980696863e-06f, -1.000904441e-05f, -1.003737156e-05f, -1.006567827e-05f, -1.009396449e-05f, -1.012223018e-05f, -1.015047529e-05f, -1.017869977e-05f,
+-1.020690357e-05f, -1.023508666e-05f, -1.026324897e-05f, -1.029139047e-05f, -1.031951112e-05f, -1.034761085e-05f, -1.037568963e-05f, -1.040374741e-05f, -1.043178415e-05f, -1.045979979e-05f,
+-1.048779430e-05f, -1.051576762e-05f, -1.054371970e-05f, -1.057165052e-05f, -1.059956001e-05f, -1.062744813e-05f, -1.065531483e-05f, -1.068316007e-05f, -1.071098381e-05f, -1.073878600e-05f,
+-1.076656658e-05f, -1.079432552e-05f, -1.082206278e-05f, -1.084977829e-05f, -1.087747203e-05f, -1.090514393e-05f, -1.093279397e-05f, -1.096042209e-05f, -1.098802824e-05f, -1.101561239e-05f,
+-1.104317448e-05f, -1.107071447e-05f, -1.109823232e-05f, -1.112572797e-05f, -1.115320140e-05f, -1.118065254e-05f, -1.120808135e-05f, -1.123548780e-05f, -1.126287183e-05f, -1.129023339e-05f,
+-1.131757246e-05f, -1.134488897e-05f, -1.137218289e-05f, -1.139945416e-05f, -1.142670276e-05f, -1.145392862e-05f, -1.148113171e-05f, -1.150831197e-05f, -1.153546938e-05f, -1.156260388e-05f,
+-1.158971542e-05f, -1.161680397e-05f, -1.164386948e-05f, -1.167091190e-05f, -1.169793119e-05f, -1.172492730e-05f, -1.175190020e-05f, -1.177884983e-05f, -1.180577616e-05f, -1.183267914e-05f,
+-1.185955872e-05f, -1.188641486e-05f, -1.191324752e-05f, -1.194005665e-05f, -1.196684221e-05f, -1.199360415e-05f, -1.202034244e-05f, -1.204705703e-05f, -1.207374786e-05f, -1.210041491e-05f,
+-1.212705813e-05f, -1.215367747e-05f, -1.218027289e-05f, -1.220684434e-05f, -1.223339179e-05f, -1.225991519e-05f, -1.228641449e-05f, -1.231288966e-05f, -1.233934065e-05f, -1.236576741e-05f,
+-1.239216991e-05f, -1.241854809e-05f, -1.244490193e-05f, -1.247123137e-05f, -1.249753637e-05f, -1.252381688e-05f, -1.255007288e-05f, -1.257630430e-05f, -1.260251112e-05f, -1.262869328e-05f,
+-1.265485075e-05f, -1.268098348e-05f, -1.270709143e-05f, -1.273317456e-05f, -1.275923282e-05f, -1.278526617e-05f, -1.281127458e-05f, -1.283725799e-05f, -1.286321636e-05f, -1.288914966e-05f,
+-1.291505784e-05f, -1.294094085e-05f, -1.296679867e-05f, -1.299263124e-05f, -1.301843852e-05f, -1.304422047e-05f, -1.306997705e-05f, -1.309570821e-05f, -1.312141392e-05f, -1.314709414e-05f,
+-1.317274881e-05f, -1.319837791e-05f, -1.322398138e-05f, -1.324955919e-05f, -1.327511129e-05f, -1.330063765e-05f, -1.332613822e-05f, -1.335161296e-05f, -1.337706183e-05f, -1.340248479e-05f,
+-1.342788180e-05f, -1.345325281e-05f, -1.347859779e-05f, -1.350391669e-05f, -1.352920947e-05f, -1.355447610e-05f, -1.357971652e-05f, -1.360493071e-05f, -1.363011861e-05f, -1.365528020e-05f,
+-1.368041542e-05f, -1.370552424e-05f, -1.373060661e-05f, -1.375566250e-05f, -1.378069187e-05f, -1.380569467e-05f, -1.383067087e-05f, -1.385562041e-05f, -1.388054328e-05f, -1.390543941e-05f,
+-1.393030878e-05f, -1.395515135e-05f, -1.397996706e-05f, -1.400475589e-05f, -1.402951780e-05f, -1.405425273e-05f, -1.407896066e-05f, -1.410364154e-05f, -1.412829534e-05f, -1.415292200e-05f,
+-1.417752151e-05f, -1.420209380e-05f, -1.422663886e-05f, -1.425115662e-05f, -1.427564707e-05f, -1.430011015e-05f, -1.432454582e-05f, -1.434895406e-05f, -1.437333481e-05f, -1.439768804e-05f,
+-1.442201371e-05f, -1.444631178e-05f, -1.447058221e-05f, -1.449482497e-05f, -1.451904001e-05f, -1.454322729e-05f, -1.456738678e-05f, -1.459151844e-05f, -1.461562223e-05f, -1.463969810e-05f,
+-1.466374603e-05f, -1.468776596e-05f, -1.471175787e-05f, -1.473572172e-05f, -1.475965746e-05f, -1.478356507e-05f, -1.480744449e-05f, -1.483129569e-05f, -1.485511864e-05f, -1.487891329e-05f,
+-1.490267961e-05f, -1.492641756e-05f, -1.495012710e-05f, -1.497380819e-05f, -1.499746080e-05f, -1.502108489e-05f, -1.504468041e-05f, -1.506824734e-05f, -1.509178563e-05f, -1.511529524e-05f,
+-1.513877615e-05f, -1.516222831e-05f, -1.518565168e-05f, -1.520904622e-05f, -1.523241191e-05f, -1.525574870e-05f, -1.527905655e-05f, -1.530233543e-05f, -1.532558530e-05f, -1.534880612e-05f,
+-1.537199786e-05f, -1.539516047e-05f, -1.541829393e-05f, -1.544139819e-05f, -1.546447323e-05f, -1.548751899e-05f, -1.551053545e-05f, -1.553352256e-05f, -1.555648030e-05f, -1.557940862e-05f,
+-1.560230749e-05f, -1.562517687e-05f, -1.564801672e-05f, -1.567082702e-05f, -1.569360772e-05f, -1.571635878e-05f, -1.573908018e-05f, -1.576177187e-05f, -1.578443381e-05f, -1.580706598e-05f,
+-1.582966834e-05f, -1.585224084e-05f, -1.587478346e-05f, -1.589729616e-05f, -1.591977890e-05f, -1.594223165e-05f, -1.596465437e-05f, -1.598704703e-05f, -1.600940958e-05f, -1.603174201e-05f,
+-1.605404426e-05f, -1.607631630e-05f, -1.609855811e-05f, -1.612076964e-05f, -1.614295085e-05f, -1.616510172e-05f, -1.618722221e-05f, -1.620931229e-05f, -1.623137191e-05f, -1.625340104e-05f,
+-1.627539965e-05f, -1.629736771e-05f, -1.631930518e-05f, -1.634121202e-05f, -1.636308820e-05f, -1.638493369e-05f, -1.640674844e-05f, -1.642853244e-05f, -1.645028563e-05f, -1.647200800e-05f,
+-1.649369949e-05f, -1.651536009e-05f, -1.653698975e-05f, -1.655858844e-05f, -1.658015613e-05f, -1.660169278e-05f, -1.662319837e-05f, -1.664467284e-05f, -1.666611618e-05f, -1.668752835e-05f,
+-1.670890931e-05f, -1.673025903e-05f, -1.675157747e-05f, -1.677286461e-05f, -1.679412041e-05f, -1.681534484e-05f, -1.683653786e-05f, -1.685769944e-05f, -1.687882955e-05f, -1.689992814e-05f,
+-1.692099520e-05f, -1.694203069e-05f, -1.696303457e-05f, -1.698400681e-05f, -1.700494738e-05f, -1.702585625e-05f, -1.704673338e-05f, -1.706757874e-05f, -1.708839229e-05f, -1.710917401e-05f,
+-1.712992387e-05f, -1.715064182e-05f, -1.717132784e-05f, -1.719198190e-05f, -1.721260395e-05f, -1.723319398e-05f, -1.725375195e-05f, -1.727427782e-05f, -1.729477157e-05f, -1.731523316e-05f,
+-1.733566256e-05f, -1.735605974e-05f, -1.737642467e-05f, -1.739675731e-05f, -1.741705763e-05f, -1.743732560e-05f, -1.745756120e-05f, -1.747776438e-05f, -1.749793512e-05f, -1.751807339e-05f,
+-1.753817915e-05f, -1.755825237e-05f, -1.757829302e-05f, -1.759830108e-05f, -1.761827650e-05f, -1.763821926e-05f, -1.765812933e-05f, -1.767800668e-05f, -1.769785127e-05f, -1.771766308e-05f,
+-1.773744207e-05f, -1.775718821e-05f, -1.777690147e-05f, -1.779658183e-05f, -1.781622925e-05f, -1.783584370e-05f, -1.785542516e-05f, -1.787497358e-05f, -1.789448894e-05f, -1.791397121e-05f,
+-1.793342036e-05f, -1.795283637e-05f, -1.797221919e-05f, -1.799156880e-05f, -1.801088517e-05f, -1.803016827e-05f, -1.804941807e-05f, -1.806863455e-05f, -1.808781766e-05f, -1.810696738e-05f,
+-1.812608369e-05f, -1.814516655e-05f, -1.816421593e-05f, -1.818323181e-05f, -1.820221415e-05f, -1.822116292e-05f, -1.824007810e-05f, -1.825895966e-05f, -1.827780756e-05f, -1.829662178e-05f,
+-1.831540230e-05f, -1.833414907e-05f, -1.835286208e-05f, -1.837154129e-05f, -1.839018667e-05f, -1.840879820e-05f, -1.842737585e-05f, -1.844591959e-05f, -1.846442939e-05f, -1.848290522e-05f,
+-1.850134705e-05f, -1.851975486e-05f, -1.853812862e-05f, -1.855646830e-05f, -1.857477387e-05f, -1.859304530e-05f, -1.861128257e-05f, -1.862948564e-05f, -1.864765450e-05f, -1.866578911e-05f,
+-1.868388944e-05f, -1.870195547e-05f, -1.871998716e-05f, -1.873798450e-05f, -1.875594746e-05f, -1.877387600e-05f, -1.879177010e-05f, -1.880962973e-05f, -1.882745487e-05f, -1.884524548e-05f,
+-1.886300155e-05f, -1.888072304e-05f, -1.889840993e-05f, -1.891606219e-05f, -1.893367979e-05f, -1.895126271e-05f, -1.896881092e-05f, -1.898632439e-05f, -1.900380310e-05f, -1.902124702e-05f,
+-1.903865612e-05f, -1.905603038e-05f, -1.907336977e-05f, -1.909067427e-05f, -1.910794385e-05f, -1.912517848e-05f, -1.914237813e-05f, -1.915954279e-05f, -1.917667242e-05f, -1.919376700e-05f,
+-1.921082650e-05f, -1.922785090e-05f, -1.924484017e-05f, -1.926179429e-05f, -1.927871323e-05f, -1.929559697e-05f, -1.931244547e-05f, -1.932925872e-05f, -1.934603669e-05f, -1.936277935e-05f,
+-1.937948668e-05f, -1.939615865e-05f, -1.941279524e-05f, -1.942939643e-05f, -1.944596219e-05f, -1.946249249e-05f, -1.947898730e-05f, -1.949544662e-05f, -1.951187040e-05f, -1.952825863e-05f,
+-1.954461127e-05f, -1.956092832e-05f, -1.957720974e-05f, -1.959345550e-05f, -1.960966559e-05f, -1.962583997e-05f, -1.964197863e-05f, -1.965808155e-05f, -1.967414869e-05f, -1.969018003e-05f,
+-1.970617555e-05f, -1.972213523e-05f, -1.973805904e-05f, -1.975394695e-05f, -1.976979895e-05f, -1.978561501e-05f, -1.980139511e-05f, -1.981713923e-05f, -1.983284733e-05f, -1.984851940e-05f,
+-1.986415541e-05f, -1.987975535e-05f, -1.989531918e-05f, -1.991084689e-05f, -1.992633845e-05f, -1.994179384e-05f, -1.995721303e-05f, -1.997259601e-05f, -1.998794275e-05f, -2.000325322e-05f,
+-2.001852742e-05f, -2.003376530e-05f, -2.004896685e-05f, -2.006413206e-05f, -2.007926089e-05f, -2.009435332e-05f, -2.010940933e-05f, -2.012442890e-05f, -2.013941201e-05f, -2.015435864e-05f,
+-2.016926876e-05f, -2.018414235e-05f, -2.019897939e-05f, -2.021377985e-05f, -2.022854373e-05f, -2.024327099e-05f, -2.025796161e-05f, -2.027261557e-05f, -2.028723286e-05f, -2.030181344e-05f,
+-2.031635730e-05f, -2.033086441e-05f, -2.034533477e-05f, -2.035976833e-05f, -2.037416509e-05f, -2.038852503e-05f, -2.040284811e-05f, -2.041713432e-05f, -2.043138365e-05f, -2.044559606e-05f,
+-2.045977155e-05f, -2.047391008e-05f, -2.048801164e-05f, -2.050207620e-05f, -2.051610376e-05f, -2.053009428e-05f, -2.054404774e-05f, -2.055796414e-05f, -2.057184344e-05f, -2.058568562e-05f,
+-2.059949068e-05f, -2.061325858e-05f, -2.062698930e-05f, -2.064068284e-05f, -2.065433916e-05f, -2.066795825e-05f, -2.068154008e-05f, -2.069508465e-05f, -2.070859192e-05f, -2.072206189e-05f,
+-2.073549452e-05f, -2.074888981e-05f, -2.076224773e-05f, -2.077556826e-05f, -2.078885139e-05f, -2.080209709e-05f, -2.081530535e-05f, -2.082847615e-05f, -2.084160947e-05f, -2.085470529e-05f,
+-2.086776358e-05f, -2.088078435e-05f, -2.089376755e-05f, -2.090671319e-05f, -2.091962123e-05f, -2.093249166e-05f, -2.094532446e-05f, -2.095811962e-05f, -2.097087711e-05f, -2.098359692e-05f,
+-2.099627903e-05f, -2.100892342e-05f, -2.102153007e-05f, -2.103409897e-05f, -2.104663010e-05f, -2.105912344e-05f, -2.107157897e-05f, -2.108399668e-05f, -2.109637655e-05f, -2.110871856e-05f,
+-2.112102269e-05f, -2.113328893e-05f, -2.114551726e-05f, -2.115770766e-05f, -2.116986012e-05f, -2.118197462e-05f, -2.119405113e-05f, -2.120608966e-05f, -2.121809017e-05f, -2.123005265e-05f,
+-2.124197709e-05f, -2.125386347e-05f, -2.126571176e-05f, -2.127752197e-05f, -2.128929406e-05f, -2.130102803e-05f, -2.131272385e-05f, -2.132438152e-05f, -2.133600101e-05f, -2.134758231e-05f,
+-2.135912540e-05f, -2.137063027e-05f, -2.138209690e-05f, -2.139352528e-05f, -2.140491539e-05f, -2.141626721e-05f, -2.142758073e-05f, -2.143885593e-05f, -2.145009281e-05f, -2.146129133e-05f,
+-2.147245150e-05f, -2.148357328e-05f, -2.149465668e-05f, -2.150570166e-05f, -2.151670823e-05f, -2.152767635e-05f, -2.153860603e-05f, -2.154949724e-05f, -2.156034996e-05f, -2.157116419e-05f,
+-2.158193991e-05f, -2.159267711e-05f, -2.160337576e-05f, -2.161403586e-05f, -2.162465740e-05f, -2.163524035e-05f, -2.164578470e-05f, -2.165629045e-05f, -2.166675757e-05f, -2.167718605e-05f,
+-2.168757588e-05f, -2.169792704e-05f, -2.170823952e-05f, -2.171851331e-05f, -2.172874840e-05f, -2.173894476e-05f, -2.174910239e-05f, -2.175922127e-05f, -2.176930139e-05f, -2.177934273e-05f,
+-2.178934529e-05f, -2.179930905e-05f, -2.180923400e-05f, -2.181912012e-05f, -2.182896740e-05f, -2.183877583e-05f, -2.184854540e-05f, -2.185827608e-05f, -2.186796788e-05f, -2.187762078e-05f,
+-2.188723476e-05f, -2.189680981e-05f, -2.190634592e-05f, -2.191584309e-05f, -2.192530128e-05f, -2.193472050e-05f, -2.194410074e-05f, -2.195344197e-05f, -2.196274419e-05f, -2.197200738e-05f,
+-2.198123154e-05f, -2.199041666e-05f, -2.199956271e-05f, -2.200866969e-05f, -2.201773759e-05f, -2.202676640e-05f, -2.203575610e-05f, -2.204470668e-05f, -2.205361814e-05f, -2.206249046e-05f,
+-2.207132362e-05f, -2.208011763e-05f, -2.208887246e-05f, -2.209758811e-05f, -2.210626457e-05f, -2.211490182e-05f, -2.212349986e-05f, -2.213205867e-05f, -2.214057825e-05f, -2.214905857e-05f,
+-2.215749964e-05f, -2.216590145e-05f, -2.217426397e-05f, -2.218258721e-05f, -2.219087115e-05f, -2.219911578e-05f, -2.220732109e-05f, -2.221548708e-05f, -2.222361372e-05f, -2.223170102e-05f,
+-2.223974896e-05f, -2.224775753e-05f, -2.225572673e-05f, -2.226365654e-05f, -2.227154695e-05f, -2.227939796e-05f, -2.228720955e-05f, -2.229498172e-05f, -2.230271446e-05f, -2.231040776e-05f,
+-2.231806160e-05f, -2.232567599e-05f, -2.233325090e-05f, -2.234078634e-05f, -2.234828229e-05f, -2.235573875e-05f, -2.236315570e-05f, -2.237053314e-05f, -2.237787106e-05f, -2.238516945e-05f,
+-2.239242830e-05f, -2.239964761e-05f, -2.240682736e-05f, -2.241396755e-05f, -2.242106817e-05f, -2.242812922e-05f, -2.243515067e-05f, -2.244213253e-05f, -2.244907480e-05f, -2.245597745e-05f,
+-2.246284048e-05f, -2.246966389e-05f, -2.247644767e-05f, -2.248319181e-05f, -2.248989630e-05f, -2.249656114e-05f, -2.250318631e-05f, -2.250977182e-05f, -2.251631765e-05f, -2.252282380e-05f,
+-2.252929026e-05f, -2.253571702e-05f, -2.254210408e-05f, -2.254845143e-05f, -2.255475907e-05f, -2.256102698e-05f, -2.256725516e-05f, -2.257344360e-05f, -2.257959230e-05f, -2.258570125e-05f,
+-2.259177045e-05f, -2.259779989e-05f, -2.260378955e-05f, -2.260973945e-05f, -2.261564956e-05f, -2.262151989e-05f, -2.262735043e-05f, -2.263314117e-05f, -2.263889211e-05f, -2.264460324e-05f,
+-2.265027456e-05f, -2.265590605e-05f, -2.266149773e-05f, -2.266704957e-05f, -2.267256157e-05f, -2.267803374e-05f, -2.268346606e-05f, -2.268885853e-05f, -2.269421114e-05f, -2.269952390e-05f,
+-2.270479678e-05f, -2.271002980e-05f, -2.271522294e-05f, -2.272037620e-05f, -2.272548958e-05f, -2.273056307e-05f, -2.273559666e-05f, -2.274059036e-05f, -2.274554416e-05f, -2.275045805e-05f,
+-2.275533203e-05f, -2.276016609e-05f, -2.276496024e-05f, -2.276971446e-05f, -2.277442876e-05f, -2.277910313e-05f, -2.278373756e-05f, -2.278833206e-05f, -2.279288661e-05f, -2.279740122e-05f,
+-2.280187588e-05f, -2.280631059e-05f, -2.281070535e-05f, -2.281506015e-05f, -2.281937498e-05f, -2.282364985e-05f, -2.282788476e-05f, -2.283207969e-05f, -2.283623465e-05f, -2.284034964e-05f,
+-2.284442464e-05f, -2.284845966e-05f, -2.285245470e-05f, -2.285640976e-05f, -2.286032482e-05f, -2.286419989e-05f, -2.286803497e-05f, -2.287183005e-05f, -2.287558513e-05f, -2.287930021e-05f,
+-2.288297529e-05f, -2.288661036e-05f, -2.289020543e-05f, -2.289376048e-05f, -2.289727553e-05f, -2.290075057e-05f, -2.290418559e-05f, -2.290758059e-05f, -2.291093558e-05f, -2.291425055e-05f,
+-2.291752550e-05f, -2.292076043e-05f, -2.292395534e-05f, -2.292711022e-05f, -2.293022508e-05f, -2.293329992e-05f, -2.293633472e-05f, -2.293932950e-05f, -2.294228425e-05f, -2.294519897e-05f,
+-2.294807367e-05f, -2.295090833e-05f, -2.295370296e-05f, -2.295645756e-05f, -2.295917212e-05f, -2.296184666e-05f, -2.296448116e-05f, -2.296707563e-05f, -2.296963007e-05f, -2.297214447e-05f,
+-2.297461885e-05f, -2.297705319e-05f, -2.297944749e-05f, -2.298180177e-05f, -2.298411601e-05f, -2.298639022e-05f, -2.298862440e-05f, -2.299081855e-05f, -2.299297266e-05f, -2.299508675e-05f,
+-2.299716081e-05f, -2.299919484e-05f, -2.300118885e-05f, -2.300314282e-05f, -2.300505678e-05f, -2.300693070e-05f, -2.300876461e-05f, -2.301055849e-05f, -2.301231235e-05f, -2.301402619e-05f,
+-2.301570002e-05f, -2.301733383e-05f, -2.301892762e-05f, -2.302048140e-05f, -2.302199516e-05f, -2.302346892e-05f, -2.302490267e-05f, -2.302629641e-05f, -2.302765015e-05f, -2.302896389e-05f,
+-2.303023762e-05f, -2.303147136e-05f, -2.303266510e-05f, -2.303381885e-05f, -2.303493260e-05f, -2.303600637e-05f, -2.303704015e-05f, -2.303803395e-05f, -2.303898776e-05f, -2.303990160e-05f,
+-2.304077546e-05f, -2.304160935e-05f, -2.304240327e-05f, -2.304315722e-05f, -2.304387121e-05f, -2.304454523e-05f, -2.304517930e-05f, -2.304577342e-05f, -2.304632758e-05f, -2.304684180e-05f,
+-2.304731607e-05f, -2.304775040e-05f, -2.304814480e-05f, -2.304849926e-05f, -2.304881379e-05f, -2.304908840e-05f, -2.304932308e-05f, -2.304951785e-05f, -2.304967270e-05f, -2.304978764e-05f,
+-2.304986268e-05f, -2.304989781e-05f, -2.304989305e-05f, -2.304984840e-05f, -2.304976385e-05f, -2.304963943e-05f, -2.304947512e-05f, -2.304927094e-05f, -2.304902689e-05f, -2.304874297e-05f,
+-2.304841919e-05f, -2.304805556e-05f, -2.304765208e-05f, -2.304720875e-05f, -2.304672558e-05f, -2.304620257e-05f, -2.304563974e-05f, -2.304503708e-05f, -2.304439460e-05f, -2.304371231e-05f,
+-2.304299021e-05f, -2.304222831e-05f, -2.304142661e-05f, -2.304058512e-05f, -2.303970384e-05f, -2.303878278e-05f, -2.303782195e-05f, -2.303682135e-05f, -2.303578099e-05f, -2.303470088e-05f,
+-2.303358101e-05f, -2.303242141e-05f, -2.303122206e-05f, -2.302998299e-05f, -2.302870419e-05f, -2.302738568e-05f, -2.302602745e-05f, -2.302462952e-05f, -2.302319189e-05f, -2.302171458e-05f,
+-2.302019757e-05f, -2.301864090e-05f, -2.301704455e-05f, -2.301540854e-05f, -2.301373288e-05f, -2.301201756e-05f, -2.301026261e-05f, -2.300846802e-05f, -2.300663381e-05f, -2.300475998e-05f,
+-2.300284654e-05f, -2.300089349e-05f, -2.299890085e-05f, -2.299686862e-05f, -2.299479681e-05f, -2.299268543e-05f, -2.299053449e-05f, -2.298834399e-05f, -2.298611394e-05f, -2.298384435e-05f,
+-2.298153523e-05f, -2.297918658e-05f, -2.297679843e-05f, -2.297437076e-05f, -2.297190360e-05f, -2.296939695e-05f, -2.296685082e-05f, -2.296426521e-05f, -2.296164014e-05f, -2.295897562e-05f,
+-2.295627166e-05f, -2.295352825e-05f, -2.295074542e-05f, -2.294792317e-05f, -2.294506152e-05f, -2.294216046e-05f, -2.293922001e-05f, -2.293624018e-05f, -2.293322098e-05f, -2.293016242e-05f,
+-2.292706450e-05f, -2.292392724e-05f, -2.292075065e-05f, -2.291753474e-05f, -2.291427951e-05f, -2.291098498e-05f, -2.290765115e-05f, -2.290427805e-05f, -2.290086566e-05f, -2.289741402e-05f,
+-2.289392312e-05f, -2.289039298e-05f, -2.288682361e-05f, -2.288321501e-05f, -2.287956721e-05f, -2.287588020e-05f, -2.287215400e-05f, -2.286838863e-05f, -2.286458409e-05f, -2.286074038e-05f,
+-2.285685754e-05f, -2.285293555e-05f, -2.284897444e-05f, -2.284497422e-05f, -2.284093490e-05f, -2.283685648e-05f, -2.283273899e-05f, -2.282858243e-05f, -2.282438681e-05f, -2.282015214e-05f,
+-2.281587845e-05f, -2.281156572e-05f, -2.280721399e-05f, -2.280282326e-05f, -2.279839355e-05f, -2.279392486e-05f, -2.278941721e-05f, -2.278487060e-05f, -2.278028506e-05f, -2.277566059e-05f,
+-2.277099721e-05f, -2.276629492e-05f, -2.276155375e-05f, -2.275677370e-05f, -2.275195478e-05f, -2.274709701e-05f, -2.274220041e-05f, -2.273726497e-05f, -2.273229073e-05f, -2.272727768e-05f,
+-2.272222585e-05f, -2.271713523e-05f, -2.271200586e-05f, -2.270683774e-05f, -2.270163088e-05f, -2.269638531e-05f, -2.269110102e-05f, -2.268577803e-05f, -2.268041637e-05f, -2.267501603e-05f,
+-2.266957704e-05f, -2.266409941e-05f, -2.265858315e-05f, -2.265302828e-05f, -2.264743481e-05f, -2.264180275e-05f, -2.263613212e-05f, -2.263042293e-05f, -2.262467519e-05f, -2.261888893e-05f,
+-2.261306415e-05f, -2.260720086e-05f, -2.260129909e-05f, -2.259535885e-05f, -2.258938015e-05f, -2.258336301e-05f, -2.257730744e-05f, -2.257121345e-05f, -2.256508106e-05f, -2.255891029e-05f,
+-2.255270115e-05f, -2.254645365e-05f, -2.254016781e-05f, -2.253384365e-05f, -2.252748118e-05f, -2.252108041e-05f, -2.251464136e-05f, -2.250816405e-05f, -2.250164849e-05f, -2.249509470e-05f,
+-2.248850269e-05f, -2.248187248e-05f, -2.247520408e-05f, -2.246849751e-05f, -2.246175279e-05f, -2.245496993e-05f, -2.244814894e-05f, -2.244128985e-05f, -2.243439266e-05f, -2.242745740e-05f,
+-2.242048408e-05f, -2.241347272e-05f, -2.240642333e-05f, -2.239933593e-05f, -2.239221054e-05f, -2.238504717e-05f, -2.237784584e-05f, -2.237060657e-05f, -2.236332937e-05f, -2.235601426e-05f,
+-2.234866125e-05f, -2.234127037e-05f, -2.233384163e-05f, -2.232637505e-05f, -2.231887064e-05f, -2.231132842e-05f, -2.230374840e-05f, -2.229613062e-05f, -2.228847508e-05f, -2.228078180e-05f,
+-2.227305079e-05f, -2.226528208e-05f, -2.225747569e-05f, -2.224963162e-05f, -2.224174990e-05f, -2.223383055e-05f, -2.222587359e-05f, -2.221787902e-05f, -2.220984687e-05f, -2.220177717e-05f,
+-2.219366991e-05f, -2.218552513e-05f, -2.217734285e-05f, -2.216912307e-05f, -2.216086582e-05f, -2.215257112e-05f, -2.214423899e-05f, -2.213586944e-05f, -2.212746249e-05f, -2.211901816e-05f,
+-2.211053647e-05f, -2.210201745e-05f, -2.209346109e-05f, -2.208486744e-05f, -2.207623650e-05f, -2.206756830e-05f, -2.205886284e-05f, -2.205012017e-05f, -2.204134028e-05f, -2.203252320e-05f,
+-2.202366896e-05f, -2.201477756e-05f, -2.200584904e-05f, -2.199688340e-05f, -2.198788067e-05f, -2.197884087e-05f, -2.196976401e-05f, -2.196065013e-05f, -2.195149923e-05f, -2.194231134e-05f,
+-2.193308647e-05f, -2.192382466e-05f, -2.191452591e-05f, -2.190519024e-05f, -2.189581769e-05f, -2.188640826e-05f, -2.187696198e-05f, -2.186747887e-05f, -2.185795895e-05f, -2.184840224e-05f,
+-2.183880876e-05f, -2.182917853e-05f, -2.181951157e-05f, -2.180980790e-05f, -2.180006754e-05f, -2.179029052e-05f, -2.178047686e-05f, -2.177062657e-05f, -2.176073967e-05f, -2.175081620e-05f,
+-2.174085616e-05f, -2.173085958e-05f, -2.172082649e-05f, -2.171075690e-05f, -2.170065083e-05f, -2.169050831e-05f, -2.168032935e-05f, -2.167011399e-05f, -2.165986223e-05f, -2.164957411e-05f,
+-2.163924964e-05f, -2.162888885e-05f, -2.161849176e-05f, -2.160805838e-05f, -2.159758875e-05f, -2.158708288e-05f, -2.157654080e-05f, -2.156596253e-05f, -2.155534809e-05f, -2.154469750e-05f,
+-2.153401079e-05f, -2.152328797e-05f, -2.151252907e-05f, -2.150173412e-05f, -2.149090313e-05f, -2.148003614e-05f, -2.146913315e-05f, -2.145819420e-05f, -2.144721930e-05f, -2.143620848e-05f,
+-2.142516177e-05f, -2.141407918e-05f, -2.140296074e-05f, -2.139180647e-05f, -2.138061640e-05f, -2.136939054e-05f, -2.135812893e-05f, -2.134683158e-05f, -2.133549852e-05f, -2.132412978e-05f,
+-2.131272537e-05f, -2.130128532e-05f, -2.128980965e-05f, -2.127829839e-05f, -2.126675156e-05f, -2.125516918e-05f, -2.124355129e-05f, -2.123189789e-05f, -2.122020903e-05f, -2.120848471e-05f,
+-2.119672497e-05f, -2.118492983e-05f, -2.117309931e-05f, -2.116123344e-05f, -2.114933224e-05f, -2.113739574e-05f, -2.112542396e-05f, -2.111341692e-05f, -2.110137466e-05f, -2.108929719e-05f,
+-2.107718454e-05f, -2.106503673e-05f, -2.105285380e-05f, -2.104063576e-05f, -2.102838264e-05f, -2.101609446e-05f, -2.100377125e-05f, -2.099141304e-05f, -2.097901985e-05f, -2.096659171e-05f,
+-2.095412863e-05f, -2.094163065e-05f, -2.092909779e-05f, -2.091653008e-05f, -2.090392755e-05f, -2.089129021e-05f, -2.087861809e-05f, -2.086591123e-05f, -2.085316964e-05f, -2.084039335e-05f,
+-2.082758239e-05f, -2.081473678e-05f, -2.080185655e-05f, -2.078894173e-05f, -2.077599233e-05f, -2.076300840e-05f, -2.074998995e-05f, -2.073693701e-05f, -2.072384961e-05f, -2.071072777e-05f,
+-2.069757152e-05f, -2.068438089e-05f, -2.067115589e-05f, -2.065789657e-05f, -2.064460295e-05f, -2.063127504e-05f, -2.061791289e-05f, -2.060451652e-05f, -2.059108594e-05f, -2.057762120e-05f,
+-2.056412232e-05f, -2.055058932e-05f, -2.053702223e-05f, -2.052342108e-05f, -2.050978590e-05f, -2.049611671e-05f, -2.048241354e-05f, -2.046867642e-05f, -2.045490538e-05f, -2.044110044e-05f,
+-2.042726163e-05f, -2.041338898e-05f, -2.039948252e-05f, -2.038554227e-05f, -2.037156827e-05f, -2.035756053e-05f, -2.034351909e-05f, -2.032944398e-05f, -2.031533522e-05f, -2.030119285e-05f,
+-2.028701688e-05f, -2.027280736e-05f, -2.025856430e-05f, -2.024428773e-05f, -2.022997769e-05f, -2.021563420e-05f, -2.020125729e-05f, -2.018684699e-05f, -2.017240333e-05f, -2.015792634e-05f,
+-2.014341604e-05f, -2.012887246e-05f, -2.011429564e-05f, -2.009968559e-05f, -2.008504236e-05f, -2.007036597e-05f, -2.005565645e-05f, -2.004091382e-05f, -2.002613812e-05f, -2.001132938e-05f,
+-1.999648762e-05f, -1.998161287e-05f, -1.996670517e-05f, -1.995176455e-05f, -1.993679102e-05f, -1.992178463e-05f, -1.990674540e-05f, -1.989167336e-05f, -1.987656854e-05f, -1.986143098e-05f,
+-1.984626069e-05f, -1.983105771e-05f, -1.981582208e-05f, -1.980055381e-05f, -1.978525295e-05f, -1.976991952e-05f, -1.975455354e-05f, -1.973915506e-05f, -1.972372410e-05f, -1.970826069e-05f,
+-1.969276486e-05f, -1.967723665e-05f, -1.966167607e-05f, -1.964608317e-05f, -1.963045797e-05f, -1.961480051e-05f, -1.959911081e-05f, -1.958338890e-05f, -1.956763483e-05f, -1.955184861e-05f,
+-1.953603027e-05f, -1.952017986e-05f, -1.950429739e-05f, -1.948838291e-05f, -1.947243644e-05f, -1.945645801e-05f, -1.944044765e-05f, -1.942440540e-05f, -1.940833128e-05f, -1.939222534e-05f,
+-1.937608759e-05f, -1.935991807e-05f, -1.934371682e-05f, -1.932748386e-05f, -1.931121922e-05f, -1.929492294e-05f, -1.927859505e-05f, -1.926223558e-05f, -1.924584456e-05f, -1.922942202e-05f,
+-1.921296800e-05f, -1.919648253e-05f, -1.917996564e-05f, -1.916341736e-05f, -1.914683772e-05f, -1.913022676e-05f, -1.911358450e-05f, -1.909691099e-05f, -1.908020625e-05f, -1.906347032e-05f,
+-1.904670322e-05f, -1.902990499e-05f, -1.901307566e-05f, -1.899621527e-05f, -1.897932385e-05f, -1.896240142e-05f, -1.894544803e-05f, -1.892846371e-05f, -1.891144848e-05f, -1.889440238e-05f,
+-1.887732545e-05f, -1.886021771e-05f, -1.884307921e-05f, -1.882590997e-05f, -1.880871002e-05f, -1.879147940e-05f, -1.877421815e-05f, -1.875692629e-05f, -1.873960386e-05f, -1.872225089e-05f,
+-1.870486742e-05f, -1.868745347e-05f, -1.867000909e-05f, -1.865253431e-05f, -1.863502916e-05f, -1.861749366e-05f, -1.859992787e-05f, -1.858233181e-05f, -1.856470551e-05f, -1.854704901e-05f,
+-1.852936234e-05f, -1.851164554e-05f, -1.849389864e-05f, -1.847612167e-05f, -1.845831467e-05f, -1.844047767e-05f, -1.842261071e-05f, -1.840471382e-05f, -1.838678704e-05f, -1.836883040e-05f,
+-1.835084392e-05f, -1.833282766e-05f, -1.831478164e-05f, -1.829670590e-05f, -1.827860047e-05f, -1.826046538e-05f, -1.824230068e-05f, -1.822410639e-05f, -1.820588255e-05f, -1.818762920e-05f,
+-1.816934636e-05f, -1.815103409e-05f, -1.813269240e-05f, -1.811432133e-05f, -1.809592093e-05f, -1.807749122e-05f, -1.805903224e-05f, -1.804054403e-05f, -1.802202662e-05f, -1.800348004e-05f,
+-1.798490433e-05f, -1.796629953e-05f, -1.794766567e-05f, -1.792900279e-05f, -1.791031092e-05f, -1.789159010e-05f, -1.787284037e-05f, -1.785406175e-05f, -1.783525429e-05f, -1.781641802e-05f,
+-1.779755297e-05f, -1.777865919e-05f, -1.775973670e-05f, -1.774078555e-05f, -1.772180577e-05f, -1.770279740e-05f, -1.768376047e-05f, -1.766469502e-05f, -1.764560108e-05f, -1.762647869e-05f,
+-1.760732789e-05f, -1.758814871e-05f, -1.756894119e-05f, -1.754970537e-05f, -1.753044128e-05f, -1.751114896e-05f, -1.749182844e-05f, -1.747247976e-05f, -1.745310297e-05f, -1.743369808e-05f,
+-1.741426515e-05f, -1.739480421e-05f, -1.737531529e-05f, -1.735579844e-05f, -1.733625368e-05f, -1.731668106e-05f, -1.729708061e-05f, -1.727745238e-05f, -1.725779638e-05f, -1.723811267e-05f,
+-1.721840129e-05f, -1.719866226e-05f, -1.717889562e-05f, -1.715910142e-05f, -1.713927969e-05f, -1.711943046e-05f, -1.709955378e-05f, -1.707964968e-05f, -1.705971820e-05f, -1.703975938e-05f,
+-1.701977325e-05f, -1.699975986e-05f, -1.697971923e-05f, -1.695965141e-05f, -1.693955643e-05f, -1.691943434e-05f, -1.689928517e-05f, -1.687910896e-05f, -1.685890574e-05f, -1.683867556e-05f,
+-1.681841845e-05f, -1.679813445e-05f, -1.677782360e-05f, -1.675748594e-05f, -1.673712150e-05f, -1.671673032e-05f, -1.669631245e-05f, -1.667586791e-05f, -1.665539675e-05f, -1.663489901e-05f,
+-1.661437472e-05f, -1.659382393e-05f, -1.657324666e-05f, -1.655264297e-05f, -1.653201288e-05f, -1.651135645e-05f, -1.649067369e-05f, -1.646996467e-05f, -1.644922940e-05f, -1.642846794e-05f,
+-1.640768032e-05f, -1.638686657e-05f, -1.636602675e-05f, -1.634516089e-05f, -1.632426902e-05f, -1.630335118e-05f, -1.628240742e-05f, -1.626143778e-05f, -1.624044229e-05f, -1.621942098e-05f,
+-1.619837392e-05f, -1.617730112e-05f, -1.615620263e-05f, -1.613507849e-05f, -1.611392874e-05f, -1.609275341e-05f, -1.607155256e-05f, -1.605032621e-05f, -1.602907441e-05f, -1.600779719e-05f,
+-1.598649460e-05f, -1.596516668e-05f, -1.594381346e-05f, -1.592243498e-05f, -1.590103129e-05f, -1.587960243e-05f, -1.585814843e-05f, -1.583666933e-05f, -1.581516518e-05f, -1.579363601e-05f,
+-1.577208187e-05f, -1.575050279e-05f, -1.572889881e-05f, -1.570726998e-05f, -1.568561633e-05f, -1.566393791e-05f, -1.564223476e-05f, -1.562050691e-05f, -1.559875440e-05f, -1.557697728e-05f,
+-1.555517559e-05f, -1.553334937e-05f, -1.551149865e-05f, -1.548962348e-05f, -1.546772390e-05f, -1.544579994e-05f, -1.542385166e-05f, -1.540187909e-05f, -1.537988227e-05f, -1.535786124e-05f,
+-1.533581605e-05f, -1.531374672e-05f, -1.529165332e-05f, -1.526953586e-05f, -1.524739441e-05f, -1.522522899e-05f, -1.520303965e-05f, -1.518082642e-05f, -1.515858936e-05f, -1.513632850e-05f,
+-1.511404389e-05f, -1.509173555e-05f, -1.506940354e-05f, -1.504704790e-05f, -1.502466867e-05f, -1.500226588e-05f, -1.497983959e-05f, -1.495738982e-05f, -1.493491663e-05f, -1.491242006e-05f,
+-1.488990014e-05f, -1.486735691e-05f, -1.484479043e-05f, -1.482220073e-05f, -1.479958785e-05f, -1.477695184e-05f, -1.475429273e-05f, -1.473161057e-05f, -1.470890539e-05f, -1.468617725e-05f,
+-1.466342619e-05f, -1.464065224e-05f, -1.461785544e-05f, -1.459503585e-05f, -1.457219349e-05f, -1.454932842e-05f, -1.452644068e-05f, -1.450353030e-05f, -1.448059733e-05f, -1.445764181e-05f,
+-1.443466379e-05f, -1.441166331e-05f, -1.438864040e-05f, -1.436559511e-05f, -1.434252749e-05f, -1.431943757e-05f, -1.429632540e-05f, -1.427319102e-05f, -1.425003447e-05f, -1.422685580e-05f,
+-1.420365505e-05f, -1.418043225e-05f, -1.415718746e-05f, -1.413392072e-05f, -1.411063207e-05f, -1.408732154e-05f, -1.406398919e-05f, -1.404063506e-05f, -1.401725919e-05f, -1.399386162e-05f,
+-1.397044240e-05f, -1.394700156e-05f, -1.392353916e-05f, -1.390005523e-05f, -1.387654981e-05f, -1.385302296e-05f, -1.382947471e-05f, -1.380590511e-05f, -1.378231420e-05f, -1.375870202e-05f,
+-1.373506862e-05f, -1.371141404e-05f, -1.368773832e-05f, -1.366404150e-05f, -1.364032364e-05f, -1.361658476e-05f, -1.359282493e-05f, -1.356904417e-05f, -1.354524254e-05f, -1.352142007e-05f,
+-1.349757682e-05f, -1.347371282e-05f, -1.344982811e-05f, -1.342592275e-05f, -1.340199677e-05f, -1.337805022e-05f, -1.335408314e-05f, -1.333009558e-05f, -1.330608758e-05f, -1.328205918e-05f,
+-1.325801042e-05f, -1.323394136e-05f, -1.320985204e-05f, -1.318574249e-05f, -1.316161277e-05f, -1.313746291e-05f, -1.311329296e-05f, -1.308910297e-05f, -1.306489298e-05f, -1.304066303e-05f,
+-1.301641317e-05f, -1.299214344e-05f, -1.296785388e-05f, -1.294354455e-05f, -1.291921548e-05f, -1.289486672e-05f, -1.287049831e-05f, -1.284611030e-05f, -1.282170273e-05f, -1.279727565e-05f,
+-1.277282909e-05f, -1.274836312e-05f, -1.272387776e-05f, -1.269937306e-05f, -1.267484908e-05f, -1.265030584e-05f, -1.262574341e-05f, -1.260116182e-05f, -1.257656111e-05f, -1.255194134e-05f,
+-1.252730254e-05f, -1.250264476e-05f, -1.247796805e-05f, -1.245327245e-05f, -1.242855801e-05f, -1.240382476e-05f, -1.237907276e-05f, -1.235430206e-05f, -1.232951268e-05f, -1.230470469e-05f,
+-1.227987812e-05f, -1.225503303e-05f, -1.223016944e-05f, -1.220528742e-05f, -1.218038701e-05f, -1.215546824e-05f, -1.213053117e-05f, -1.210557584e-05f, -1.208060230e-05f, -1.205561059e-05f,
+-1.203060075e-05f, -1.200557284e-05f, -1.198052689e-05f, -1.195546296e-05f, -1.193038109e-05f, -1.190528132e-05f, -1.188016369e-05f, -1.185502827e-05f, -1.182987508e-05f, -1.180470418e-05f,
+-1.177951560e-05f, -1.175430941e-05f, -1.172908563e-05f, -1.170384433e-05f, -1.167858554e-05f, -1.165330930e-05f, -1.162801567e-05f, -1.160270469e-05f, -1.157737641e-05f, -1.155203087e-05f,
+-1.152666811e-05f, -1.150128819e-05f, -1.147589115e-05f, -1.145047704e-05f, -1.142504589e-05f, -1.139959776e-05f, -1.137413270e-05f, -1.134865074e-05f, -1.132315194e-05f, -1.129763633e-05f,
+-1.127210398e-05f, -1.124655492e-05f, -1.122098919e-05f, -1.119540685e-05f, -1.116980795e-05f, -1.114419252e-05f, -1.111856061e-05f, -1.109291227e-05f, -1.106724755e-05f, -1.104156649e-05f,
+-1.101586914e-05f, -1.099015554e-05f, -1.096442575e-05f, -1.093867980e-05f, -1.091291774e-05f, -1.088713963e-05f, -1.086134550e-05f, -1.083553540e-05f, -1.080970939e-05f, -1.078386749e-05f,
+-1.075800978e-05f, -1.073213628e-05f, -1.070624704e-05f, -1.068034212e-05f, -1.065442155e-05f, -1.062848539e-05f, -1.060253368e-05f, -1.057656647e-05f, -1.055058381e-05f, -1.052458573e-05f,
+-1.049857230e-05f, -1.047254355e-05f, -1.044649953e-05f, -1.042044029e-05f, -1.039436588e-05f, -1.036827633e-05f, -1.034217171e-05f, -1.031605205e-05f, -1.028991741e-05f, -1.026376782e-05f,
+-1.023760334e-05f, -1.021142402e-05f, -1.018522989e-05f, -1.015902102e-05f, -1.013279743e-05f, -1.010655919e-05f, -1.008030634e-05f, -1.005403892e-05f, -1.002775699e-05f, -1.000146058e-05f,
+-9.975149757e-06f, -9.948824554e-06f, -9.922485021e-06f, -9.896131207e-06f, -9.869763159e-06f, -9.843380923e-06f, -9.816984548e-06f, -9.790574080e-06f, -9.764149566e-06f, -9.737711055e-06f,
+-9.711258592e-06f, -9.684792226e-06f, -9.658312004e-06f, -9.631817974e-06f, -9.605310182e-06f, -9.578788676e-06f, -9.552253504e-06f, -9.525704713e-06f, -9.499142350e-06f, -9.472566463e-06f,
+-9.445977099e-06f, -9.419374307e-06f, -9.392758133e-06f, -9.366128625e-06f, -9.339485831e-06f, -9.312829798e-06f, -9.286160574e-06f, -9.259478206e-06f, -9.232782743e-06f, -9.206074231e-06f,
+-9.179352719e-06f, -9.152618254e-06f, -9.125870883e-06f, -9.099110656e-06f, -9.072337619e-06f, -9.045551820e-06f, -9.018753306e-06f, -8.991942127e-06f, -8.965118329e-06f, -8.938281961e-06f,
+-8.911433070e-06f, -8.884571704e-06f, -8.857697911e-06f, -8.830811738e-06f, -8.803913235e-06f, -8.777002448e-06f, -8.750079426e-06f, -8.723144217e-06f, -8.696196868e-06f, -8.669237428e-06f,
+-8.642265945e-06f, -8.615282466e-06f, -8.588287040e-06f, -8.561279715e-06f, -8.534260538e-06f, -8.507229559e-06f, -8.480186824e-06f, -8.453132383e-06f, -8.426066283e-06f, -8.398988573e-06f,
+-8.371899300e-06f, -8.344798512e-06f, -8.317686259e-06f, -8.290562588e-06f, -8.263427548e-06f, -8.236281186e-06f, -8.209123551e-06f, -8.181954691e-06f, -8.154774654e-06f, -8.127583490e-06f,
+-8.100381245e-06f, -8.073167969e-06f, -8.045943709e-06f, -8.018708514e-06f, -7.991462433e-06f, -7.964205514e-06f, -7.936937805e-06f, -7.909659354e-06f, -7.882370211e-06f, -7.855070422e-06f,
+-7.827760038e-06f, -7.800439106e-06f, -7.773107675e-06f, -7.745765793e-06f, -7.718413509e-06f, -7.691050871e-06f, -7.663677928e-06f, -7.636294728e-06f, -7.608901320e-06f, -7.581497753e-06f,
+-7.554084074e-06f, -7.526660334e-06f, -7.499226579e-06f, -7.471782859e-06f, -7.444329223e-06f, -7.416865718e-06f, -7.389392394e-06f, -7.361909300e-06f, -7.334416483e-06f, -7.306913994e-06f,
+-7.279401879e-06f, -7.251880189e-06f, -7.224348971e-06f, -7.196808275e-06f, -7.169258149e-06f, -7.141698642e-06f, -7.114129803e-06f, -7.086551680e-06f, -7.058964322e-06f, -7.031367779e-06f,
+-7.003762098e-06f, -6.976147329e-06f, -6.948523520e-06f, -6.920890721e-06f, -6.893248980e-06f, -6.865598345e-06f, -6.837938867e-06f, -6.810270593e-06f, -6.782593573e-06f, -6.754907856e-06f,
+-6.727213489e-06f, -6.699510523e-06f, -6.671799006e-06f, -6.644078988e-06f, -6.616350516e-06f, -6.588613640e-06f, -6.560868410e-06f, -6.533114873e-06f, -6.505353079e-06f, -6.477583077e-06f,
+-6.449804915e-06f, -6.422018644e-06f, -6.394224312e-06f, -6.366421967e-06f, -6.338611659e-06f, -6.310793437e-06f, -6.282967351e-06f, -6.255133448e-06f, -6.227291778e-06f, -6.199442390e-06f,
+-6.171585334e-06f, -6.143720658e-06f, -6.115848411e-06f, -6.087968643e-06f, -6.060081402e-06f, -6.032186738e-06f, -6.004284700e-06f, -5.976375337e-06f, -5.948458698e-06f, -5.920534832e-06f,
+-5.892603789e-06f, -5.864665617e-06f, -5.836720366e-06f, -5.808768084e-06f, -5.780808822e-06f, -5.752842628e-06f, -5.724869551e-06f, -5.696889641e-06f, -5.668902947e-06f, -5.640909518e-06f,
+-5.612909403e-06f, -5.584902651e-06f, -5.556889312e-06f, -5.528869435e-06f, -5.500843069e-06f, -5.472810264e-06f, -5.444771068e-06f, -5.416725531e-06f, -5.388673703e-06f, -5.360615632e-06f,
+-5.332551367e-06f, -5.304480958e-06f, -5.276404455e-06f, -5.248321906e-06f, -5.220233362e-06f, -5.192138870e-06f, -5.164038481e-06f, -5.135932243e-06f, -5.107820207e-06f, -5.079702421e-06f,
+-5.051578935e-06f, -5.023449797e-06f, -4.995315058e-06f, -4.967174767e-06f, -4.939028973e-06f, -4.910877726e-06f, -4.882721074e-06f, -4.854559067e-06f, -4.826391754e-06f, -4.798219186e-06f,
+-4.770041410e-06f, -4.741858477e-06f, -4.713670436e-06f, -4.685477337e-06f, -4.657279228e-06f, -4.629076159e-06f, -4.600868179e-06f, -4.572655338e-06f, -4.544437686e-06f, -4.516215271e-06f,
+-4.487988143e-06f, -4.459756351e-06f, -4.431519946e-06f, -4.403278975e-06f, -4.375033489e-06f, -4.346783537e-06f, -4.318529168e-06f, -4.290270433e-06f, -4.262007379e-06f, -4.233740057e-06f,
+-4.205468516e-06f, -4.177192806e-06f, -4.148912976e-06f, -4.120629075e-06f, -4.092341152e-06f, -4.064049258e-06f, -4.035753442e-06f, -4.007453752e-06f, -3.979150239e-06f, -3.950842952e-06f,
+-3.922531941e-06f, -3.894217254e-06f, -3.865898941e-06f, -3.837577052e-06f, -3.809251636e-06f, -3.780922743e-06f, -3.752590422e-06f, -3.724254722e-06f, -3.695915692e-06f, -3.667573384e-06f,
+-3.639227844e-06f, -3.610879124e-06f, -3.582527273e-06f, -3.554172340e-06f, -3.525814374e-06f, -3.497453425e-06f, -3.469089542e-06f, -3.440722776e-06f, -3.412353174e-06f, -3.383980787e-06f,
+-3.355605665e-06f, -3.327227856e-06f, -3.298847410e-06f, -3.270464376e-06f, -3.242078804e-06f, -3.213690743e-06f, -3.185300244e-06f, -3.156907354e-06f, -3.128512124e-06f, -3.100114603e-06f,
+-3.071714840e-06f, -3.043312886e-06f, -3.014908788e-06f, -2.986502597e-06f, -2.958094363e-06f, -2.929684134e-06f, -2.901271960e-06f, -2.872857890e-06f, -2.844441974e-06f, -2.816024262e-06f,
+-2.787604801e-06f, -2.759183643e-06f, -2.730760837e-06f, -2.702336431e-06f, -2.673910475e-06f, -2.645483019e-06f, -2.617054112e-06f, -2.588623804e-06f, -2.560192143e-06f, -2.531759179e-06f,
+-2.503324962e-06f, -2.474889541e-06f, -2.446452965e-06f, -2.418015284e-06f, -2.389576547e-06f, -2.361136803e-06f, -2.332696102e-06f, -2.304254493e-06f, -2.275812026e-06f, -2.247368749e-06f,
+-2.218924712e-06f, -2.190479965e-06f, -2.162034557e-06f, -2.133588537e-06f, -2.105141954e-06f, -2.076694858e-06f, -2.048247299e-06f, -2.019799324e-06f, -1.991350985e-06f, -1.962902329e-06f,
+-1.934453407e-06f, -1.906004268e-06f, -1.877554960e-06f, -1.849105533e-06f, -1.820656038e-06f, -1.792206521e-06f, -1.763757034e-06f, -1.735307625e-06f, -1.706858344e-06f, -1.678409239e-06f,
+-1.649960361e-06f, -1.621511757e-06f, -1.593063479e-06f, -1.564615574e-06f, -1.536168091e-06f, -1.507721081e-06f, -1.479274593e-06f, -1.450828675e-06f, -1.422383377e-06f, -1.393938747e-06f,
+-1.365494836e-06f, -1.337051693e-06f, -1.308609365e-06f, -1.280167904e-06f, -1.251727357e-06f, -1.223287774e-06f, -1.194849204e-06f, -1.166411697e-06f, -1.137975300e-06f, -1.109540065e-06f,
+-1.081106039e-06f, -1.052673271e-06f, -1.024241812e-06f, -9.958117090e-07f, -9.673830123e-07f, -9.389557706e-07f, -9.105300330e-07f, -8.821058486e-07f, -8.536832664e-07f, -8.252623355e-07f,
+-7.968431049e-07f, -7.684256236e-07f, -7.400099406e-07f, -7.115961050e-07f, -6.831841657e-07f, -6.547741717e-07f, -6.263661721e-07f, -5.979602158e-07f, -5.695563517e-07f, -5.411546289e-07f,
+-5.127550962e-07f, -4.843578026e-07f, -4.559627970e-07f, -4.275701284e-07f, -3.991798456e-07f, -3.707919976e-07f, -3.424066332e-07f, -3.140238013e-07f, -2.856435509e-07f, -2.572659307e-07f,
+-2.288909896e-07f, -2.005187765e-07f, -1.721493401e-07f, -1.437827294e-07f, -1.154189930e-07f, -8.705817988e-08f, -5.870033875e-08f, -3.034551840e-08f, -1.993767599e-09f, 2.635486489e-08f,
+5.470033033e-08f, 8.304257998e-08f, 1.113815651e-07f, 1.397172370e-07f, 1.680495470e-07f, 1.963784463e-07f, 2.247038864e-07f, 2.530258184e-07f, 2.813441938e-07f, 3.096589640e-07f,
+3.379700802e-07f, 3.662774939e-07f, 3.945811565e-07f, 4.228810192e-07f, 4.511770337e-07f, 4.794691512e-07f, 5.077573233e-07f, 5.360415013e-07f, 5.643216368e-07f, 5.925976812e-07f,
+6.208695860e-07f, 6.491373026e-07f, 6.774007827e-07f, 7.056599777e-07f, 7.339148391e-07f, 7.621653186e-07f, 7.904113676e-07f, 8.186529378e-07f, 8.468899807e-07f, 8.751224479e-07f,
+9.033502911e-07f, 9.315734619e-07f, 9.597919119e-07f, 9.880055927e-07f, 1.016214456e-06f, 1.044418454e-06f, 1.072617537e-06f, 1.100811659e-06f, 1.129000769e-06f, 1.157184821e-06f,
+1.185363765e-06f, 1.213537554e-06f, 1.241706140e-06f, 1.269869473e-06f, 1.298027507e-06f, 1.326180192e-06f, 1.354327482e-06f, 1.382469326e-06f, 1.410605678e-06f, 1.438736489e-06f,
+1.466861712e-06f, 1.494981297e-06f, 1.523095198e-06f, 1.551203365e-06f, 1.579305751e-06f, 1.607402308e-06f, 1.635492988e-06f, 1.663577743e-06f, 1.691656525e-06f, 1.719729285e-06f,
+1.747795977e-06f, 1.775856552e-06f, 1.803910961e-06f, 1.831959158e-06f, 1.860001094e-06f, 1.888036722e-06f, 1.916065993e-06f, 1.944088860e-06f, 1.972105275e-06f, 2.000115190e-06f,
+2.028118558e-06f, 2.056115330e-06f, 2.084105458e-06f, 2.112088896e-06f, 2.140065595e-06f, 2.168035508e-06f, 2.195998587e-06f, 2.223954784e-06f, 2.251904052e-06f, 2.279846343e-06f,
+2.307781609e-06f, 2.335709803e-06f, 2.363630877e-06f, 2.391544784e-06f, 2.419451476e-06f, 2.447350905e-06f, 2.475243025e-06f, 2.503127787e-06f, 2.531005144e-06f, 2.558875048e-06f,
+2.586737453e-06f, 2.614592311e-06f, 2.642439574e-06f, 2.670279195e-06f, 2.698111126e-06f, 2.725935321e-06f, 2.753751732e-06f, 2.781560311e-06f, 2.809361012e-06f, 2.837153786e-06f,
+2.864938588e-06f, 2.892715369e-06f, 2.920484082e-06f, 2.948244681e-06f, 2.975997117e-06f, 3.003741344e-06f, 3.031477315e-06f, 3.059204982e-06f, 3.086924299e-06f, 3.114635218e-06f,
+3.142337693e-06f, 3.170031676e-06f, 3.197717120e-06f, 3.225393978e-06f, 3.253062203e-06f, 3.280721749e-06f, 3.308372568e-06f, 3.336014613e-06f, 3.363647838e-06f, 3.391272196e-06f,
+3.418887639e-06f, 3.446494122e-06f, 3.474091596e-06f, 3.501680016e-06f, 3.529259335e-06f, 3.556829505e-06f, 3.584390480e-06f, 3.611942214e-06f, 3.639484659e-06f, 3.667017769e-06f,
+3.694541498e-06f, 3.722055798e-06f, 3.749560623e-06f, 3.777055927e-06f, 3.804541663e-06f, 3.832017784e-06f, 3.859484245e-06f, 3.886940997e-06f, 3.914387996e-06f, 3.941825194e-06f,
+3.969252544e-06f, 3.996670002e-06f, 4.024077520e-06f, 4.051475052e-06f, 4.078862551e-06f, 4.106239971e-06f, 4.133607266e-06f, 4.160964390e-06f, 4.188311297e-06f, 4.215647939e-06f,
+4.242974271e-06f, 4.270290248e-06f, 4.297595821e-06f, 4.324890946e-06f, 4.352175577e-06f, 4.379449667e-06f, 4.406713170e-06f, 4.433966040e-06f, 4.461208231e-06f, 4.488439697e-06f,
+4.515660393e-06f, 4.542870271e-06f, 4.570069287e-06f, 4.597257395e-06f, 4.624434547e-06f, 4.651600700e-06f, 4.678755806e-06f, 4.705899820e-06f, 4.733032696e-06f, 4.760154389e-06f,
+4.787264853e-06f, 4.814364041e-06f, 4.841451909e-06f, 4.868528411e-06f, 4.895593500e-06f, 4.922647132e-06f, 4.949689261e-06f, 4.976719841e-06f, 5.003738827e-06f, 5.030746173e-06f,
+5.057741834e-06f, 5.084725764e-06f, 5.111697918e-06f, 5.138658251e-06f, 5.165606716e-06f, 5.192543269e-06f, 5.219467865e-06f, 5.246380457e-06f, 5.273281002e-06f, 5.300169453e-06f,
+5.327045765e-06f, 5.353909893e-06f, 5.380761792e-06f, 5.407601417e-06f, 5.434428723e-06f, 5.461243664e-06f, 5.488046196e-06f, 5.514836273e-06f, 5.541613850e-06f, 5.568378883e-06f,
+5.595131326e-06f, 5.621871135e-06f, 5.648598265e-06f, 5.675312670e-06f, 5.702014306e-06f, 5.728703128e-06f, 5.755379091e-06f, 5.782042151e-06f, 5.808692262e-06f, 5.835329381e-06f,
+5.861953461e-06f, 5.888564460e-06f, 5.915162331e-06f, 5.941747030e-06f, 5.968318514e-06f, 5.994876736e-06f, 6.021421654e-06f, 6.047953221e-06f, 6.074471395e-06f, 6.100976129e-06f,
+6.127467380e-06f, 6.153945104e-06f, 6.180409256e-06f, 6.206859792e-06f, 6.233296667e-06f, 6.259719838e-06f, 6.286129259e-06f, 6.312524887e-06f, 6.338906678e-06f, 6.365274587e-06f,
+6.391628570e-06f, 6.417968584e-06f, 6.444294583e-06f, 6.470606525e-06f, 6.496904365e-06f, 6.523188058e-06f, 6.549457562e-06f, 6.575712832e-06f, 6.601953825e-06f, 6.628180495e-06f,
+6.654392801e-06f, 6.680590697e-06f, 6.706774140e-06f, 6.732943086e-06f, 6.759097492e-06f, 6.785237314e-06f, 6.811362508e-06f, 6.837473030e-06f, 6.863568837e-06f, 6.889649886e-06f,
+6.915716133e-06f, 6.941767534e-06f, 6.967804045e-06f, 6.993825625e-06f, 7.019832228e-06f, 7.045823812e-06f, 7.071800333e-06f, 7.097761748e-06f, 7.123708014e-06f, 7.149639087e-06f,
+7.175554925e-06f, 7.201455483e-06f, 7.227340719e-06f, 7.253210590e-06f, 7.279065052e-06f, 7.304904063e-06f, 7.330727580e-06f, 7.356535559e-06f, 7.382327957e-06f, 7.408104732e-06f,
+7.433865840e-06f, 7.459611239e-06f, 7.485340886e-06f, 7.511054739e-06f, 7.536752753e-06f, 7.562434887e-06f, 7.588101098e-06f, 7.613751343e-06f, 7.639385579e-06f, 7.665003764e-06f,
+7.690605855e-06f, 7.716191811e-06f, 7.741761587e-06f, 7.767315142e-06f, 7.792852433e-06f, 7.818373418e-06f, 7.843878054e-06f, 7.869366299e-06f, 7.894838111e-06f, 7.920293447e-06f,
+7.945732266e-06f, 7.971154524e-06f, 7.996560180e-06f, 8.021949192e-06f, 8.047321517e-06f, 8.072677113e-06f, 8.098015939e-06f, 8.123337952e-06f, 8.148643110e-06f, 8.173931371e-06f,
+8.199202694e-06f, 8.224457036e-06f, 8.249694355e-06f, 8.274914611e-06f, 8.300117760e-06f, 8.325303762e-06f, 8.350472574e-06f, 8.375624155e-06f, 8.400758463e-06f, 8.425875457e-06f,
+8.450975094e-06f, 8.476057334e-06f, 8.501122135e-06f, 8.526169455e-06f, 8.551199253e-06f, 8.576211488e-06f, 8.601206118e-06f, 8.626183102e-06f, 8.651142398e-06f, 8.676083966e-06f,
+8.701007763e-06f, 8.725913750e-06f, 8.750801884e-06f, 8.775672124e-06f, 8.800524430e-06f, 8.825358761e-06f, 8.850175074e-06f, 8.874973331e-06f, 8.899753488e-06f, 8.924515506e-06f,
+8.949259344e-06f, 8.973984960e-06f, 8.998692315e-06f, 9.023381367e-06f, 9.048052075e-06f, 9.072704399e-06f, 9.097338298e-06f, 9.121953731e-06f, 9.146550659e-06f, 9.171129040e-06f,
+9.195688834e-06f, 9.220230000e-06f, 9.244752498e-06f, 9.269256287e-06f, 9.293741328e-06f, 9.318207579e-06f, 9.342655001e-06f, 9.367083553e-06f, 9.391493196e-06f, 9.415883888e-06f,
+9.440255590e-06f, 9.464608261e-06f, 9.488941862e-06f, 9.513256353e-06f, 9.537551693e-06f, 9.561827843e-06f, 9.586084762e-06f, 9.610322411e-06f, 9.634540750e-06f, 9.658739739e-06f,
+9.682919338e-06f, 9.707079508e-06f, 9.731220209e-06f, 9.755341401e-06f, 9.779443045e-06f, 9.803525101e-06f, 9.827587529e-06f, 9.851630290e-06f, 9.875653345e-06f, 9.899656654e-06f,
+9.923640178e-06f, 9.947603877e-06f, 9.971547712e-06f, 9.995471644e-06f, 1.001937563e-05f, 1.004325964e-05f, 1.006712363e-05f, 1.009096756e-05f, 1.011479138e-05f, 1.013859507e-05f,
+1.016237859e-05f, 1.018614189e-05f, 1.020988493e-05f, 1.023360768e-05f, 1.025731009e-05f, 1.028099214e-05f, 1.030465377e-05f, 1.032829496e-05f, 1.035191566e-05f, 1.037551583e-05f,
+1.039909544e-05f, 1.042265444e-05f, 1.044619280e-05f, 1.046971048e-05f, 1.049320745e-05f, 1.051668365e-05f, 1.054013906e-05f, 1.056357364e-05f, 1.058698734e-05f, 1.061038014e-05f,
+1.063375198e-05f, 1.065710284e-05f, 1.068043267e-05f, 1.070374144e-05f, 1.072702911e-05f, 1.075029564e-05f, 1.077354100e-05f, 1.079676514e-05f, 1.081996802e-05f, 1.084314962e-05f,
+1.086630988e-05f, 1.088944878e-05f, 1.091256628e-05f, 1.093566234e-05f, 1.095873691e-05f, 1.098178997e-05f, 1.100482148e-05f, 1.102783139e-05f, 1.105081968e-05f, 1.107378629e-05f,
+1.109673121e-05f, 1.111965438e-05f, 1.114255577e-05f, 1.116543535e-05f, 1.118829307e-05f, 1.121112891e-05f, 1.123394282e-05f, 1.125673476e-05f, 1.127950470e-05f, 1.130225260e-05f,
+1.132497843e-05f, 1.134768214e-05f, 1.137036371e-05f, 1.139302309e-05f, 1.141566024e-05f, 1.143827514e-05f, 1.146086774e-05f, 1.148343801e-05f, 1.150598590e-05f, 1.152851140e-05f,
+1.155101444e-05f, 1.157349501e-05f, 1.159595307e-05f, 1.161838857e-05f, 1.164080148e-05f, 1.166319177e-05f, 1.168555940e-05f, 1.170790433e-05f, 1.173022652e-05f, 1.175252595e-05f,
+1.177480257e-05f, 1.179705635e-05f, 1.181928725e-05f, 1.184149524e-05f, 1.186368028e-05f, 1.188584233e-05f, 1.190798136e-05f, 1.193009734e-05f, 1.195219022e-05f, 1.197425997e-05f,
+1.199630656e-05f, 1.201832995e-05f, 1.204033010e-05f, 1.206230698e-05f, 1.208426056e-05f, 1.210619079e-05f, 1.212809765e-05f, 1.214998109e-05f, 1.217184108e-05f, 1.219367760e-05f,
+1.221549059e-05f, 1.223728003e-05f, 1.225904588e-05f, 1.228078811e-05f, 1.230250668e-05f, 1.232420155e-05f, 1.234587270e-05f, 1.236752008e-05f, 1.238914366e-05f, 1.241074341e-05f,
+1.243231929e-05f, 1.245387127e-05f, 1.247539931e-05f, 1.249690338e-05f, 1.251838344e-05f, 1.253983946e-05f, 1.256127140e-05f, 1.258267924e-05f, 1.260406293e-05f, 1.262542244e-05f,
+1.264675773e-05f, 1.266806878e-05f, 1.268935555e-05f, 1.271061800e-05f, 1.273185610e-05f, 1.275306982e-05f, 1.277425911e-05f, 1.279542396e-05f, 1.281656432e-05f, 1.283768016e-05f,
+1.285877144e-05f, 1.287983814e-05f, 1.290088021e-05f, 1.292189763e-05f, 1.294289037e-05f, 1.296385837e-05f, 1.298480163e-05f, 1.300572009e-05f, 1.302661373e-05f, 1.304748251e-05f,
+1.306832640e-05f, 1.308914537e-05f, 1.310993938e-05f, 1.313070840e-05f, 1.315145240e-05f, 1.317217134e-05f, 1.319286520e-05f, 1.321353393e-05f, 1.323417750e-05f, 1.325479589e-05f,
+1.327538905e-05f, 1.329595696e-05f, 1.331649959e-05f, 1.333701689e-05f, 1.335750884e-05f, 1.337797541e-05f, 1.339841655e-05f, 1.341883225e-05f, 1.343922247e-05f, 1.345958716e-05f,
+1.347992631e-05f, 1.350023988e-05f, 1.352052784e-05f, 1.354079015e-05f, 1.356102679e-05f, 1.358123771e-05f, 1.360142290e-05f, 1.362158231e-05f, 1.364171591e-05f, 1.366182368e-05f,
+1.368190557e-05f, 1.370196157e-05f, 1.372199163e-05f, 1.374199572e-05f, 1.376197382e-05f, 1.378192589e-05f, 1.380185190e-05f, 1.382175182e-05f, 1.384162561e-05f, 1.386147325e-05f,
+1.388129470e-05f, 1.390108993e-05f, 1.392085891e-05f, 1.394060161e-05f, 1.396031800e-05f, 1.398000805e-05f, 1.399967172e-05f, 1.401930899e-05f, 1.403891981e-05f, 1.405850418e-05f,
+1.407806204e-05f, 1.409759337e-05f, 1.411709814e-05f, 1.413657632e-05f, 1.415602788e-05f, 1.417545278e-05f, 1.419485100e-05f, 1.421422251e-05f, 1.423356727e-05f, 1.425288525e-05f,
+1.427217643e-05f, 1.429144078e-05f, 1.431067825e-05f, 1.432988883e-05f, 1.434907248e-05f, 1.436822918e-05f, 1.438735888e-05f, 1.440646157e-05f, 1.442553721e-05f, 1.444458577e-05f,
+1.446360722e-05f, 1.448260154e-05f, 1.450156868e-05f, 1.452050863e-05f, 1.453942135e-05f, 1.455830682e-05f, 1.457716499e-05f, 1.459599585e-05f, 1.461479936e-05f, 1.463357550e-05f,
+1.465232423e-05f, 1.467104553e-05f, 1.468973936e-05f, 1.470840570e-05f, 1.472704452e-05f, 1.474565578e-05f, 1.476423947e-05f, 1.478279554e-05f, 1.480132397e-05f, 1.481982474e-05f,
+1.483829781e-05f, 1.485674315e-05f, 1.487516073e-05f, 1.489355053e-05f, 1.491191252e-05f, 1.493024667e-05f, 1.494855295e-05f, 1.496683132e-05f, 1.498508178e-05f, 1.500330427e-05f,
+1.502149878e-05f, 1.503966528e-05f, 1.505780373e-05f, 1.507591412e-05f, 1.509399641e-05f, 1.511205057e-05f, 1.513007658e-05f, 1.514807441e-05f, 1.516604403e-05f, 1.518398540e-05f,
+1.520189852e-05f, 1.521978333e-05f, 1.523763983e-05f, 1.525546798e-05f, 1.527326774e-05f, 1.529103911e-05f, 1.530878204e-05f, 1.532649651e-05f, 1.534418249e-05f, 1.536183996e-05f,
+1.537946888e-05f, 1.539706924e-05f, 1.541464099e-05f, 1.543218413e-05f, 1.544969861e-05f, 1.546718441e-05f, 1.548464150e-05f, 1.550206986e-05f, 1.551946946e-05f, 1.553684028e-05f,
+1.555418228e-05f, 1.557149544e-05f, 1.558877973e-05f, 1.560603512e-05f, 1.562326160e-05f, 1.564045913e-05f, 1.565762768e-05f, 1.567476723e-05f, 1.569187776e-05f, 1.570895923e-05f,
+1.572601162e-05f, 1.574303490e-05f, 1.576002906e-05f, 1.577699405e-05f, 1.579392986e-05f, 1.581083645e-05f, 1.582771381e-05f, 1.584456191e-05f, 1.586138071e-05f, 1.587817021e-05f,
+1.589493036e-05f, 1.591166114e-05f, 1.592836253e-05f, 1.594503451e-05f, 1.596167704e-05f, 1.597829010e-05f, 1.599487366e-05f, 1.601142771e-05f, 1.602795221e-05f, 1.604444714e-05f,
+1.606091247e-05f, 1.607734818e-05f, 1.609375425e-05f, 1.611013064e-05f, 1.612647734e-05f, 1.614279431e-05f, 1.615908154e-05f, 1.617533899e-05f, 1.619156665e-05f, 1.620776449e-05f,
+1.622393248e-05f, 1.624007060e-05f, 1.625617883e-05f, 1.627225713e-05f, 1.628830549e-05f, 1.630432388e-05f, 1.632031228e-05f, 1.633627066e-05f, 1.635219900e-05f, 1.636809727e-05f,
+1.638396545e-05f, 1.639980351e-05f, 1.641561144e-05f, 1.643138920e-05f, 1.644713678e-05f, 1.646285414e-05f, 1.647854128e-05f, 1.649419815e-05f, 1.650982474e-05f, 1.652542102e-05f,
+1.654098698e-05f, 1.655652258e-05f, 1.657202780e-05f, 1.658750262e-05f, 1.660294703e-05f, 1.661836098e-05f, 1.663374446e-05f, 1.664909745e-05f, 1.666441992e-05f, 1.667971185e-05f,
+1.669497322e-05f, 1.671020400e-05f, 1.672540418e-05f, 1.674057372e-05f, 1.675571260e-05f, 1.677082081e-05f, 1.678589832e-05f, 1.680094510e-05f, 1.681596114e-05f, 1.683094641e-05f,
+1.684590089e-05f, 1.686082455e-05f, 1.687571738e-05f, 1.689057935e-05f, 1.690541044e-05f, 1.692021063e-05f, 1.693497989e-05f, 1.694971820e-05f, 1.696442555e-05f, 1.697910190e-05f,
+1.699374724e-05f, 1.700836154e-05f, 1.702294479e-05f, 1.703749696e-05f, 1.705201802e-05f, 1.706650797e-05f, 1.708096677e-05f, 1.709539440e-05f, 1.710979085e-05f, 1.712415608e-05f,
+1.713849009e-05f, 1.715279285e-05f, 1.716706433e-05f, 1.718130452e-05f, 1.719551339e-05f, 1.720969093e-05f, 1.722383711e-05f, 1.723795191e-05f, 1.725203531e-05f, 1.726608729e-05f,
+1.728010783e-05f, 1.729409691e-05f, 1.730805450e-05f, 1.732198059e-05f, 1.733587516e-05f, 1.734973818e-05f, 1.736356963e-05f, 1.737736950e-05f, 1.739113777e-05f, 1.740487441e-05f,
+1.741857940e-05f, 1.743225272e-05f, 1.744589436e-05f, 1.745950429e-05f, 1.747308249e-05f, 1.748662895e-05f, 1.750014363e-05f, 1.751362653e-05f, 1.752707763e-05f, 1.754049689e-05f,
+1.755388431e-05f, 1.756723987e-05f, 1.758056354e-05f, 1.759385530e-05f, 1.760711514e-05f, 1.762034303e-05f, 1.763353896e-05f, 1.764670291e-05f, 1.765983486e-05f, 1.767293478e-05f,
+1.768600266e-05f, 1.769903849e-05f, 1.771204223e-05f, 1.772501388e-05f, 1.773795341e-05f, 1.775086081e-05f, 1.776373605e-05f, 1.777657912e-05f, 1.778939000e-05f, 1.780216867e-05f,
+1.781491511e-05f, 1.782762930e-05f, 1.784031123e-05f, 1.785296087e-05f, 1.786557821e-05f, 1.787816323e-05f, 1.789071591e-05f, 1.790323623e-05f, 1.791572418e-05f, 1.792817973e-05f,
+1.794060288e-05f, 1.795299359e-05f, 1.796535186e-05f, 1.797767767e-05f, 1.798997099e-05f, 1.800223181e-05f, 1.801446011e-05f, 1.802665588e-05f, 1.803881910e-05f, 1.805094974e-05f,
+1.806304780e-05f, 1.807511325e-05f, 1.808714608e-05f, 1.809914627e-05f, 1.811111380e-05f, 1.812304866e-05f, 1.813495083e-05f, 1.814682029e-05f, 1.815865703e-05f, 1.817046102e-05f,
+1.818223226e-05f, 1.819397072e-05f, 1.820567639e-05f, 1.821734925e-05f, 1.822898928e-05f, 1.824059648e-05f, 1.825217081e-05f, 1.826371227e-05f, 1.827522084e-05f, 1.828669650e-05f,
+1.829813924e-05f, 1.830954904e-05f, 1.832092589e-05f, 1.833226976e-05f, 1.834358064e-05f, 1.835485852e-05f, 1.836610338e-05f, 1.837731521e-05f, 1.838849399e-05f, 1.839963969e-05f,
+1.841075232e-05f, 1.842183185e-05f, 1.843287826e-05f, 1.844389155e-05f, 1.845487169e-05f, 1.846581867e-05f, 1.847673247e-05f, 1.848761309e-05f, 1.849846050e-05f, 1.850927469e-05f,
+1.852005565e-05f, 1.853080335e-05f, 1.854151779e-05f, 1.855219895e-05f, 1.856284681e-05f, 1.857346136e-05f, 1.858404259e-05f, 1.859459048e-05f, 1.860510502e-05f, 1.861558618e-05f,
+1.862603397e-05f, 1.863644836e-05f, 1.864682933e-05f, 1.865717688e-05f, 1.866749099e-05f, 1.867777165e-05f, 1.868801884e-05f, 1.869823254e-05f, 1.870841275e-05f, 1.871855945e-05f,
+1.872867263e-05f, 1.873875226e-05f, 1.874879835e-05f, 1.875881087e-05f, 1.876878981e-05f, 1.877873516e-05f, 1.878864691e-05f, 1.879852503e-05f, 1.880836952e-05f, 1.881818037e-05f,
+1.882795755e-05f, 1.883770107e-05f, 1.884741090e-05f, 1.885708703e-05f, 1.886672945e-05f, 1.887633814e-05f, 1.888591309e-05f, 1.889545430e-05f, 1.890496174e-05f, 1.891443541e-05f,
+1.892387529e-05f, 1.893328136e-05f, 1.894265362e-05f, 1.895199206e-05f, 1.896129666e-05f, 1.897056741e-05f, 1.897980429e-05f, 1.898900730e-05f, 1.899817642e-05f, 1.900731164e-05f,
+1.901641295e-05f, 1.902548033e-05f, 1.903451378e-05f, 1.904351328e-05f, 1.905247882e-05f, 1.906141039e-05f, 1.907030798e-05f, 1.907917157e-05f, 1.908800116e-05f, 1.909679673e-05f,
+1.910555826e-05f, 1.911428576e-05f, 1.912297921e-05f, 1.913163859e-05f, 1.914026390e-05f, 1.914885513e-05f, 1.915741225e-05f, 1.916593527e-05f, 1.917442417e-05f, 1.918287894e-05f,
+1.919129957e-05f, 1.919968605e-05f, 1.920803837e-05f, 1.921635651e-05f, 1.922464047e-05f, 1.923289024e-05f, 1.924110580e-05f, 1.924928715e-05f, 1.925743427e-05f, 1.926554716e-05f,
+1.927362580e-05f, 1.928167018e-05f, 1.928968030e-05f, 1.929765615e-05f, 1.930559770e-05f, 1.931350496e-05f, 1.932137792e-05f, 1.932921656e-05f, 1.933702087e-05f, 1.934479085e-05f,
+1.935252648e-05f, 1.936022776e-05f, 1.936789467e-05f, 1.937552722e-05f, 1.938312537e-05f, 1.939068914e-05f, 1.939821850e-05f, 1.940571346e-05f, 1.941317399e-05f, 1.942060009e-05f,
+1.942799176e-05f, 1.943534898e-05f, 1.944267174e-05f, 1.944996004e-05f, 1.945721387e-05f, 1.946443321e-05f, 1.947161806e-05f, 1.947876841e-05f, 1.948588425e-05f, 1.949296558e-05f,
+1.950001238e-05f, 1.950702465e-05f, 1.951400237e-05f, 1.952094555e-05f, 1.952785417e-05f, 1.953472822e-05f, 1.954156770e-05f, 1.954837259e-05f, 1.955514289e-05f, 1.956187860e-05f,
+1.956857970e-05f, 1.957524618e-05f, 1.958187805e-05f, 1.958847528e-05f, 1.959503788e-05f, 1.960156583e-05f, 1.960805913e-05f, 1.961451777e-05f, 1.962094175e-05f, 1.962733105e-05f,
+1.963368567e-05f, 1.964000560e-05f, 1.964629084e-05f, 1.965254137e-05f, 1.965875720e-05f, 1.966493830e-05f, 1.967108469e-05f, 1.967719635e-05f, 1.968327326e-05f, 1.968931544e-05f,
+1.969532286e-05f, 1.970129553e-05f, 1.970723344e-05f, 1.971313658e-05f, 1.971900494e-05f, 1.972483852e-05f, 1.973063731e-05f, 1.973640130e-05f, 1.974213050e-05f, 1.974782489e-05f,
+1.975348446e-05f, 1.975910922e-05f, 1.976469915e-05f, 1.977025426e-05f, 1.977577452e-05f, 1.978125995e-05f, 1.978671053e-05f, 1.979212625e-05f, 1.979750712e-05f, 1.980285312e-05f,
+1.980816425e-05f, 1.981344051e-05f, 1.981868189e-05f, 1.982388838e-05f, 1.982905998e-05f, 1.983419669e-05f, 1.983929850e-05f, 1.984436540e-05f, 1.984939739e-05f, 1.985439447e-05f,
+1.985935663e-05f, 1.986428386e-05f, 1.986917616e-05f, 1.987403353e-05f, 1.987885596e-05f, 1.988364345e-05f, 1.988839599e-05f, 1.989311358e-05f, 1.989779621e-05f, 1.990244388e-05f,
+1.990705659e-05f, 1.991163433e-05f, 1.991617710e-05f, 1.992068489e-05f, 1.992515771e-05f, 1.992959553e-05f, 1.993399837e-05f, 1.993836622e-05f, 1.994269907e-05f, 1.994699692e-05f,
+1.995125977e-05f, 1.995548762e-05f, 1.995968045e-05f, 1.996383827e-05f, 1.996796108e-05f, 1.997204886e-05f, 1.997610163e-05f, 1.998011937e-05f, 1.998410207e-05f, 1.998804975e-05f,
+1.999196239e-05f, 1.999584000e-05f, 1.999968256e-05f, 2.000349008e-05f, 2.000726255e-05f, 2.001099998e-05f, 2.001470235e-05f, 2.001836967e-05f, 2.002200194e-05f, 2.002559914e-05f,
+2.002916129e-05f, 2.003268837e-05f, 2.003618039e-05f, 2.003963733e-05f, 2.004305921e-05f, 2.004644602e-05f, 2.004979775e-05f, 2.005311441e-05f, 2.005639599e-05f, 2.005964249e-05f,
+2.006285391e-05f, 2.006603025e-05f, 2.006917150e-05f, 2.007227767e-05f, 2.007534875e-05f, 2.007838474e-05f, 2.008138564e-05f, 2.008435145e-05f, 2.008728217e-05f, 2.009017779e-05f,
+2.009303832e-05f, 2.009586375e-05f, 2.009865409e-05f, 2.010140933e-05f, 2.010412946e-05f, 2.010681450e-05f, 2.010946444e-05f, 2.011207928e-05f, 2.011465902e-05f, 2.011720365e-05f,
+2.011971318e-05f, 2.012218761e-05f, 2.012462693e-05f, 2.012703115e-05f, 2.012940027e-05f, 2.013173428e-05f, 2.013403319e-05f, 2.013629699e-05f, 2.013852569e-05f, 2.014071928e-05f,
+2.014287777e-05f, 2.014500116e-05f, 2.014708944e-05f, 2.014914261e-05f, 2.015116069e-05f, 2.015314366e-05f, 2.015509152e-05f, 2.015700429e-05f, 2.015888195e-05f, 2.016072452e-05f,
+2.016253198e-05f, 2.016430434e-05f, 2.016604161e-05f, 2.016774378e-05f, 2.016941085e-05f, 2.017104282e-05f, 2.017263970e-05f, 2.017420149e-05f, 2.017572818e-05f, 2.017721979e-05f,
+2.017867630e-05f, 2.018009772e-05f, 2.018148406e-05f, 2.018283532e-05f, 2.018415148e-05f, 2.018543257e-05f, 2.018667858e-05f, 2.018788950e-05f, 2.018906535e-05f, 2.019020613e-05f,
+2.019131183e-05f, 2.019238246e-05f, 2.019341802e-05f, 2.019441852e-05f, 2.019538395e-05f, 2.019631431e-05f, 2.019720962e-05f, 2.019806987e-05f, 2.019889506e-05f, 2.019968520e-05f,
+2.020044028e-05f, 2.020116032e-05f, 2.020184532e-05f, 2.020249527e-05f, 2.020311018e-05f, 2.020369005e-05f, 2.020423489e-05f, 2.020474470e-05f, 2.020521948e-05f, 2.020565924e-05f,
+2.020606397e-05f, 2.020643368e-05f, 2.020676838e-05f, 2.020706807e-05f, 2.020733274e-05f, 2.020756241e-05f, 2.020775708e-05f, 2.020791675e-05f, 2.020804143e-05f, 2.020813111e-05f,
+2.020818581e-05f, 2.020820552e-05f, 2.020819025e-05f, 2.020814001e-05f, 2.020805479e-05f, 2.020793461e-05f, 2.020777946e-05f, 2.020758935e-05f, 2.020736429e-05f, 2.020710428e-05f,
+2.020680932e-05f, 2.020647941e-05f, 2.020611457e-05f, 2.020571480e-05f, 2.020528009e-05f, 2.020481046e-05f, 2.020430592e-05f, 2.020376645e-05f, 2.020319208e-05f, 2.020258280e-05f,
+2.020193862e-05f, 2.020125955e-05f, 2.020054558e-05f, 2.019979673e-05f, 2.019901300e-05f, 2.019819440e-05f, 2.019734093e-05f, 2.019645259e-05f, 2.019552939e-05f, 2.019457134e-05f,
+2.019357845e-05f, 2.019255071e-05f, 2.019148813e-05f, 2.019039072e-05f, 2.018925849e-05f, 2.018809144e-05f, 2.018688958e-05f, 2.018565291e-05f, 2.018438143e-05f, 2.018307517e-05f,
+2.018173411e-05f, 2.018035827e-05f, 2.017894765e-05f, 2.017750227e-05f, 2.017602212e-05f, 2.017450721e-05f, 2.017295755e-05f, 2.017137315e-05f, 2.016975400e-05f, 2.016810013e-05f,
+2.016641153e-05f, 2.016468822e-05f, 2.016293019e-05f, 2.016113746e-05f, 2.015931004e-05f, 2.015744792e-05f, 2.015555112e-05f, 2.015361965e-05f, 2.015165350e-05f, 2.014965270e-05f,
+2.014761724e-05f, 2.014554713e-05f, 2.014344238e-05f, 2.014130301e-05f, 2.013912901e-05f, 2.013692039e-05f, 2.013467716e-05f, 2.013239933e-05f, 2.013008691e-05f, 2.012773991e-05f,
+2.012535832e-05f, 2.012294217e-05f, 2.012049145e-05f, 2.011800619e-05f, 2.011548637e-05f, 2.011293202e-05f, 2.011034314e-05f, 2.010771974e-05f, 2.010506183e-05f, 2.010236941e-05f,
+2.009964250e-05f, 2.009688110e-05f, 2.009408522e-05f, 2.009125488e-05f, 2.008839007e-05f, 2.008549081e-05f, 2.008255711e-05f, 2.007958897e-05f, 2.007658641e-05f, 2.007354944e-05f,
+2.007047805e-05f, 2.006737227e-05f, 2.006423210e-05f, 2.006105755e-05f, 2.005784863e-05f, 2.005460535e-05f, 2.005132772e-05f, 2.004801574e-05f, 2.004466943e-05f, 2.004128881e-05f,
+2.003787386e-05f, 2.003442462e-05f, 2.003094108e-05f, 2.002742326e-05f, 2.002387116e-05f, 2.002028480e-05f, 2.001666419e-05f, 2.001300933e-05f, 2.000932024e-05f, 2.000559693e-05f,
+2.000183940e-05f, 1.999804767e-05f, 1.999422175e-05f, 1.999036165e-05f, 1.998646737e-05f, 1.998253893e-05f, 1.997857635e-05f, 1.997457962e-05f, 1.997054877e-05f, 1.996648379e-05f,
+1.996238471e-05f, 1.995825153e-05f, 1.995408427e-05f, 1.994988293e-05f, 1.994564753e-05f, 1.994137808e-05f, 1.993707459e-05f, 1.993273706e-05f, 1.992836552e-05f, 1.992395997e-05f,
+1.991952043e-05f, 1.991504690e-05f, 1.991053939e-05f, 1.990599793e-05f, 1.990142252e-05f, 1.989681316e-05f, 1.989216989e-05f, 1.988749270e-05f, 1.988278160e-05f, 1.987803662e-05f,
+1.987325775e-05f, 1.986844502e-05f, 1.986359844e-05f, 1.985871801e-05f, 1.985380376e-05f, 1.984885568e-05f, 1.984387380e-05f, 1.983885813e-05f, 1.983380868e-05f, 1.982872545e-05f,
+1.982360848e-05f, 1.981845776e-05f, 1.981327331e-05f, 1.980805514e-05f, 1.980280327e-05f, 1.979751770e-05f, 1.979219846e-05f, 1.978684555e-05f, 1.978145899e-05f, 1.977603879e-05f,
+1.977058496e-05f, 1.976509751e-05f, 1.975957647e-05f, 1.975402184e-05f, 1.974843364e-05f, 1.974281187e-05f, 1.973715656e-05f, 1.973146772e-05f, 1.972574535e-05f, 1.971998948e-05f,
+1.971420012e-05f, 1.970837728e-05f, 1.970252097e-05f, 1.969663122e-05f, 1.969070802e-05f, 1.968475141e-05f, 1.967876138e-05f, 1.967273796e-05f, 1.966668116e-05f, 1.966059099e-05f,
+1.965446747e-05f, 1.964831061e-05f, 1.964212043e-05f, 1.963589693e-05f, 1.962964015e-05f, 1.962335008e-05f, 1.961702675e-05f, 1.961067016e-05f, 1.960428035e-05f, 1.959785730e-05f,
+1.959140106e-05f, 1.958491162e-05f, 1.957838900e-05f, 1.957183322e-05f, 1.956524430e-05f, 1.955862224e-05f, 1.955196707e-05f, 1.954527879e-05f, 1.953855743e-05f, 1.953180300e-05f,
+1.952501551e-05f, 1.951819498e-05f, 1.951134143e-05f, 1.950445487e-05f, 1.949753532e-05f, 1.949058278e-05f, 1.948359729e-05f, 1.947657885e-05f, 1.946952748e-05f, 1.946244320e-05f,
+1.945532601e-05f, 1.944817595e-05f, 1.944099301e-05f, 1.943377723e-05f, 1.942652861e-05f, 1.941924718e-05f, 1.941193294e-05f, 1.940458592e-05f, 1.939720612e-05f, 1.938979358e-05f,
+1.938234830e-05f, 1.937487030e-05f, 1.936735959e-05f, 1.935981620e-05f, 1.935224014e-05f, 1.934463143e-05f, 1.933699008e-05f, 1.932931611e-05f, 1.932160954e-05f, 1.931387038e-05f,
+1.930609866e-05f, 1.929829438e-05f, 1.929045757e-05f, 1.928258824e-05f, 1.927468641e-05f, 1.926675210e-05f, 1.925878533e-05f, 1.925078610e-05f, 1.924275445e-05f, 1.923469038e-05f,
+1.922659392e-05f, 1.921846509e-05f, 1.921030389e-05f, 1.920211035e-05f, 1.919388448e-05f, 1.918562631e-05f, 1.917733585e-05f, 1.916901312e-05f, 1.916065814e-05f, 1.915227092e-05f,
+1.914385148e-05f, 1.913539985e-05f, 1.912691604e-05f, 1.911840007e-05f, 1.910985195e-05f, 1.910127171e-05f, 1.909265936e-05f, 1.908401492e-05f, 1.907533841e-05f, 1.906662985e-05f,
+1.905788926e-05f, 1.904911666e-05f, 1.904031206e-05f, 1.903147548e-05f, 1.902260695e-05f, 1.901370648e-05f, 1.900477409e-05f, 1.899580980e-05f, 1.898681363e-05f, 1.897778559e-05f,
+1.896872572e-05f, 1.895963402e-05f, 1.895051051e-05f, 1.894135522e-05f, 1.893216816e-05f, 1.892294936e-05f, 1.891369883e-05f, 1.890441660e-05f, 1.889510267e-05f, 1.888575708e-05f,
+1.887637984e-05f, 1.886697098e-05f, 1.885753050e-05f, 1.884805843e-05f, 1.883855480e-05f, 1.882901962e-05f, 1.881945290e-05f, 1.880985468e-05f, 1.880022497e-05f, 1.879056379e-05f,
+1.878087117e-05f, 1.877114711e-05f, 1.876139165e-05f, 1.875160480e-05f, 1.874178659e-05f, 1.873193703e-05f, 1.872205614e-05f, 1.871214394e-05f, 1.870220047e-05f, 1.869222573e-05f,
+1.868221974e-05f, 1.867218254e-05f, 1.866211413e-05f, 1.865201454e-05f, 1.864188379e-05f, 1.863172191e-05f, 1.862152890e-05f, 1.861130480e-05f, 1.860104963e-05f, 1.859076340e-05f,
+1.858044614e-05f, 1.857009786e-05f, 1.855971860e-05f, 1.854930837e-05f, 1.853886719e-05f, 1.852839509e-05f, 1.851789208e-05f, 1.850735819e-05f, 1.849679344e-05f, 1.848619785e-05f,
+1.847557145e-05f, 1.846491424e-05f, 1.845422627e-05f, 1.844350754e-05f, 1.843275809e-05f, 1.842197792e-05f, 1.841116707e-05f, 1.840032556e-05f, 1.838945341e-05f, 1.837855064e-05f,
+1.836761727e-05f, 1.835665333e-05f, 1.834565884e-05f, 1.833463381e-05f, 1.832357828e-05f, 1.831249227e-05f, 1.830137579e-05f, 1.829022888e-05f, 1.827905155e-05f, 1.826784382e-05f,
+1.825660573e-05f, 1.824533728e-05f, 1.823403852e-05f, 1.822270945e-05f, 1.821135010e-05f, 1.819996049e-05f, 1.818854065e-05f, 1.817709060e-05f, 1.816561037e-05f, 1.815409997e-05f,
+1.814255943e-05f, 1.813098878e-05f, 1.811938803e-05f, 1.810775721e-05f, 1.809609635e-05f, 1.808440546e-05f, 1.807268457e-05f, 1.806093371e-05f, 1.804915290e-05f, 1.803734215e-05f,
+1.802550151e-05f, 1.801363098e-05f, 1.800173059e-05f, 1.798980038e-05f, 1.797784035e-05f, 1.796585054e-05f, 1.795383097e-05f, 1.794178166e-05f, 1.792970264e-05f, 1.791759394e-05f,
+1.790545556e-05f, 1.789328755e-05f, 1.788108993e-05f, 1.786886271e-05f, 1.785660592e-05f, 1.784431960e-05f, 1.783200376e-05f, 1.781965842e-05f, 1.780728362e-05f, 1.779487937e-05f,
+1.778244571e-05f, 1.776998265e-05f, 1.775749022e-05f, 1.774496845e-05f, 1.773241736e-05f, 1.771983698e-05f, 1.770722733e-05f, 1.769458843e-05f, 1.768192032e-05f, 1.766922301e-05f,
+1.765649654e-05f, 1.764374092e-05f, 1.763095618e-05f, 1.761814235e-05f, 1.760529946e-05f, 1.759242752e-05f, 1.757952657e-05f, 1.756659663e-05f, 1.755363772e-05f, 1.754064988e-05f,
+1.752763312e-05f, 1.751458747e-05f, 1.750151296e-05f, 1.748840962e-05f, 1.747527747e-05f, 1.746211653e-05f, 1.744892684e-05f, 1.743570841e-05f, 1.742246128e-05f, 1.740918547e-05f,
+1.739588101e-05f, 1.738254791e-05f, 1.736918622e-05f, 1.735579595e-05f, 1.734237714e-05f, 1.732892980e-05f, 1.731545397e-05f, 1.730194967e-05f, 1.728841693e-05f, 1.727485577e-05f,
+1.726126622e-05f, 1.724764831e-05f, 1.723400207e-05f, 1.722032751e-05f, 1.720662468e-05f, 1.719289359e-05f, 1.717913427e-05f, 1.716534675e-05f, 1.715153106e-05f, 1.713768722e-05f,
+1.712381525e-05f, 1.710991520e-05f, 1.709598708e-05f, 1.708203093e-05f, 1.706804676e-05f, 1.705403461e-05f, 1.703999450e-05f, 1.702592646e-05f, 1.701183053e-05f, 1.699770671e-05f,
+1.698355506e-05f, 1.696937558e-05f, 1.695516831e-05f, 1.694093328e-05f, 1.692667052e-05f, 1.691238004e-05f, 1.689806189e-05f, 1.688371608e-05f, 1.686934265e-05f, 1.685494163e-05f,
+1.684051304e-05f, 1.682605690e-05f, 1.681157326e-05f, 1.679706213e-05f, 1.678252354e-05f, 1.676795753e-05f, 1.675336412e-05f, 1.673874334e-05f, 1.672409521e-05f, 1.670941977e-05f,
+1.669471705e-05f, 1.667998707e-05f, 1.666522986e-05f, 1.665044545e-05f, 1.663563387e-05f, 1.662079515e-05f, 1.660592931e-05f, 1.659103639e-05f, 1.657611641e-05f, 1.656116940e-05f,
+1.654619540e-05f, 1.653119443e-05f, 1.651616651e-05f, 1.650111169e-05f, 1.648602998e-05f, 1.647092142e-05f, 1.645578603e-05f, 1.644062385e-05f, 1.642543491e-05f, 1.641021923e-05f,
+1.639497684e-05f, 1.637970777e-05f, 1.636441205e-05f, 1.634908972e-05f, 1.633374080e-05f, 1.631836531e-05f, 1.630296330e-05f, 1.628753479e-05f, 1.627207980e-05f, 1.625659837e-05f,
+1.624109054e-05f, 1.622555632e-05f, 1.620999575e-05f, 1.619440885e-05f, 1.617879567e-05f, 1.616315622e-05f, 1.614749054e-05f, 1.613179866e-05f, 1.611608061e-05f, 1.610033642e-05f,
+1.608456611e-05f, 1.606876972e-05f, 1.605294729e-05f, 1.603709883e-05f, 1.602122438e-05f, 1.600532397e-05f, 1.598939763e-05f, 1.597344539e-05f, 1.595746729e-05f, 1.594146334e-05f,
+1.592543359e-05f, 1.590937806e-05f, 1.589329679e-05f, 1.587718980e-05f, 1.586105713e-05f, 1.584489880e-05f, 1.582871485e-05f, 1.581250530e-05f, 1.579627020e-05f, 1.578000957e-05f,
+1.576372343e-05f, 1.574741183e-05f, 1.573107479e-05f, 1.571471235e-05f, 1.569832453e-05f, 1.568191137e-05f, 1.566547289e-05f, 1.564900914e-05f, 1.563252013e-05f, 1.561600591e-05f,
+1.559946650e-05f, 1.558290193e-05f, 1.556631224e-05f, 1.554969746e-05f, 1.553305761e-05f, 1.551639274e-05f, 1.549970287e-05f, 1.548298804e-05f, 1.546624827e-05f, 1.544948359e-05f,
+1.543269405e-05f, 1.541587967e-05f, 1.539904048e-05f, 1.538217652e-05f, 1.536528781e-05f, 1.534837440e-05f, 1.533143630e-05f, 1.531447356e-05f, 1.529748620e-05f, 1.528047426e-05f,
+1.526343777e-05f, 1.524637676e-05f, 1.522929127e-05f, 1.521218132e-05f, 1.519504696e-05f, 1.517788820e-05f, 1.516070509e-05f, 1.514349765e-05f, 1.512626592e-05f, 1.510900994e-05f,
+1.509172972e-05f, 1.507442532e-05f, 1.505709675e-05f, 1.503974406e-05f, 1.502236727e-05f, 1.500496641e-05f, 1.498754153e-05f, 1.497009265e-05f, 1.495261981e-05f, 1.493512304e-05f,
+1.491760236e-05f, 1.490005783e-05f, 1.488248946e-05f, 1.486489729e-05f, 1.484728135e-05f, 1.482964169e-05f, 1.481197832e-05f, 1.479429129e-05f, 1.477658062e-05f, 1.475884636e-05f,
+1.474108853e-05f, 1.472330716e-05f, 1.470550230e-05f, 1.468767397e-05f, 1.466982221e-05f, 1.465194704e-05f, 1.463404852e-05f, 1.461612666e-05f, 1.459818150e-05f, 1.458021308e-05f,
+1.456222143e-05f, 1.454420658e-05f, 1.452616857e-05f, 1.450810742e-05f, 1.449002319e-05f, 1.447191589e-05f, 1.445378556e-05f, 1.443563224e-05f, 1.441745596e-05f, 1.439925675e-05f,
+1.438103465e-05f, 1.436278970e-05f, 1.434452192e-05f, 1.432623135e-05f, 1.430791803e-05f, 1.428958198e-05f, 1.427122325e-05f, 1.425284187e-05f, 1.423443787e-05f, 1.421601128e-05f,
+1.419756215e-05f, 1.417909050e-05f, 1.416059638e-05f, 1.414207980e-05f, 1.412354082e-05f, 1.410497946e-05f, 1.408639576e-05f, 1.406778975e-05f, 1.404916147e-05f, 1.403051095e-05f,
+1.401183823e-05f, 1.399314334e-05f, 1.397442632e-05f, 1.395568720e-05f, 1.393692602e-05f, 1.391814280e-05f, 1.389933760e-05f, 1.388051044e-05f, 1.386166135e-05f, 1.384279038e-05f,
+1.382389755e-05f, 1.380498290e-05f, 1.378604647e-05f, 1.376708830e-05f, 1.374810841e-05f, 1.372910685e-05f, 1.371008364e-05f, 1.369103883e-05f, 1.367197245e-05f, 1.365288453e-05f,
+1.363377511e-05f, 1.361464423e-05f, 1.359549192e-05f, 1.357631821e-05f, 1.355712315e-05f, 1.353790676e-05f, 1.351866909e-05f, 1.349941017e-05f, 1.348013003e-05f, 1.346082872e-05f,
+1.344150626e-05f, 1.342216269e-05f, 1.340279805e-05f, 1.338341238e-05f, 1.336400570e-05f, 1.334457806e-05f, 1.332512950e-05f, 1.330566004e-05f, 1.328616972e-05f, 1.326665859e-05f,
+1.324712667e-05f, 1.322757400e-05f, 1.320800063e-05f, 1.318840657e-05f, 1.316879188e-05f, 1.314915659e-05f, 1.312950072e-05f, 1.310982433e-05f, 1.309012745e-05f, 1.307041011e-05f,
+1.305067234e-05f, 1.303091419e-05f, 1.301113570e-05f, 1.299133689e-05f, 1.297151781e-05f, 1.295167849e-05f, 1.293181897e-05f, 1.291193928e-05f, 1.289203947e-05f, 1.287211956e-05f,
+1.285217960e-05f, 1.283221962e-05f, 1.281223966e-05f, 1.279223975e-05f, 1.277221994e-05f, 1.275218026e-05f, 1.273212074e-05f, 1.271204142e-05f, 1.269194235e-05f, 1.267182355e-05f,
+1.265168507e-05f, 1.263152694e-05f, 1.261134920e-05f, 1.259115188e-05f, 1.257093502e-05f, 1.255069867e-05f, 1.253044285e-05f, 1.251016761e-05f, 1.248987298e-05f, 1.246955899e-05f,
+1.244922570e-05f, 1.242887312e-05f, 1.240850131e-05f, 1.238811030e-05f, 1.236770012e-05f, 1.234727082e-05f, 1.232682242e-05f, 1.230635498e-05f, 1.228586852e-05f, 1.226536309e-05f,
+1.224483871e-05f, 1.222429544e-05f, 1.220373330e-05f, 1.218315234e-05f, 1.216255259e-05f, 1.214193408e-05f, 1.212129687e-05f, 1.210064098e-05f, 1.207996646e-05f, 1.205927334e-05f,
+1.203856165e-05f, 1.201783144e-05f, 1.199708275e-05f, 1.197631561e-05f, 1.195553007e-05f, 1.193472615e-05f, 1.191390390e-05f, 1.189306335e-05f, 1.187220455e-05f, 1.185132753e-05f,
+1.183043232e-05f, 1.180951898e-05f, 1.178858754e-05f, 1.176763802e-05f, 1.174667048e-05f, 1.172568496e-05f, 1.170468148e-05f, 1.168366009e-05f, 1.166262082e-05f, 1.164156372e-05f,
+1.162048883e-05f, 1.159939617e-05f, 1.157828580e-05f, 1.155715775e-05f, 1.153601205e-05f, 1.151484875e-05f, 1.149366788e-05f, 1.147246948e-05f, 1.145125360e-05f, 1.143002027e-05f,
+1.140876953e-05f, 1.138750141e-05f, 1.136621597e-05f, 1.134491322e-05f, 1.132359323e-05f, 1.130225601e-05f, 1.128090162e-05f, 1.125953009e-05f, 1.123814146e-05f, 1.121673577e-05f,
+1.119531305e-05f, 1.117387335e-05f, 1.115241671e-05f, 1.113094317e-05f, 1.110945275e-05f, 1.108794552e-05f, 1.106642149e-05f, 1.104488071e-05f, 1.102332323e-05f, 1.100174907e-05f,
+1.098015829e-05f, 1.095855091e-05f, 1.093692698e-05f, 1.091528654e-05f, 1.089362962e-05f, 1.087195627e-05f, 1.085026652e-05f, 1.082856042e-05f, 1.080683800e-05f, 1.078509931e-05f,
+1.076334438e-05f, 1.074157325e-05f, 1.071978596e-05f, 1.069798255e-05f, 1.067616306e-05f, 1.065432754e-05f, 1.063247601e-05f, 1.061060852e-05f, 1.058872512e-05f, 1.056682583e-05f,
+1.054491070e-05f, 1.052297977e-05f, 1.050103307e-05f, 1.047907066e-05f, 1.045709256e-05f, 1.043509882e-05f, 1.041308947e-05f, 1.039106457e-05f, 1.036902414e-05f, 1.034696823e-05f,
+1.032489687e-05f, 1.030281011e-05f, 1.028070799e-05f, 1.025859054e-05f, 1.023645782e-05f, 1.021430984e-05f, 1.019214667e-05f, 1.016996833e-05f, 1.014777487e-05f, 1.012556633e-05f,
+1.010334274e-05f, 1.008110415e-05f, 1.005885060e-05f, 1.003658213e-05f, 1.001429878e-05f, 9.992000580e-06f, 9.969687582e-06f, 9.947359824e-06f, 9.925017344e-06f, 9.902660185e-06f,
+9.880288385e-06f, 9.857901986e-06f, 9.835501027e-06f, 9.813085550e-06f, 9.790655594e-06f, 9.768211201e-06f, 9.745752410e-06f, 9.723279262e-06f, 9.700791798e-06f, 9.678290058e-06f,
+9.655774083e-06f, 9.633243913e-06f, 9.610699588e-06f, 9.588141151e-06f, 9.565568641e-06f, 9.542982098e-06f, 9.520381564e-06f, 9.497767079e-06f, 9.475138685e-06f, 9.452496421e-06f,
+9.429840328e-06f, 9.407170448e-06f, 9.384486821e-06f, 9.361789487e-06f, 9.339078489e-06f, 9.316353866e-06f, 9.293615659e-06f, 9.270863910e-06f, 9.248098659e-06f, 9.225319947e-06f,
+9.202527816e-06f, 9.179722305e-06f, 9.156903457e-06f, 9.134071312e-06f, 9.111225911e-06f, 9.088367295e-06f, 9.065495505e-06f, 9.042610583e-06f, 9.019712569e-06f, 8.996801505e-06f,
+8.973877432e-06f, 8.950940390e-06f, 8.927990422e-06f, 8.905027567e-06f, 8.882051869e-06f, 8.859063366e-06f, 8.836062102e-06f, 8.813048117e-06f, 8.790021452e-06f, 8.766982149e-06f,
+8.743930250e-06f, 8.720865794e-06f, 8.697788824e-06f, 8.674699382e-06f, 8.651597508e-06f, 8.628483243e-06f, 8.605356631e-06f, 8.582217710e-06f, 8.559066524e-06f, 8.535903114e-06f,
+8.512727521e-06f, 8.489539786e-06f, 8.466339951e-06f, 8.443128059e-06f, 8.419904149e-06f, 8.396668264e-06f, 8.373420446e-06f, 8.350160735e-06f, 8.326889174e-06f, 8.303605805e-06f,
+8.280310668e-06f, 8.257003805e-06f, 8.233685259e-06f, 8.210355071e-06f, 8.187013282e-06f, 8.163659935e-06f, 8.140295070e-06f, 8.116918731e-06f, 8.093530958e-06f, 8.070131793e-06f,
+8.046721278e-06f, 8.023299455e-06f, 7.999866366e-06f, 7.976422053e-06f, 7.952966557e-06f, 7.929499921e-06f, 7.906022186e-06f, 7.882533393e-06f, 7.859033586e-06f, 7.835522806e-06f,
+7.812001095e-06f, 7.788468495e-06f, 7.764925047e-06f, 7.741370794e-06f, 7.717805779e-06f, 7.694230042e-06f, 7.670643626e-06f, 7.647046572e-06f, 7.623438924e-06f, 7.599820723e-06f,
+7.576192011e-06f, 7.552552830e-06f, 7.528903223e-06f, 7.505243231e-06f, 7.481572896e-06f, 7.457892262e-06f, 7.434201369e-06f, 7.410500260e-06f, 7.386788978e-06f, 7.363067564e-06f,
+7.339336061e-06f, 7.315594510e-06f, 7.291842955e-06f, 7.268081437e-06f, 7.244309999e-06f, 7.220528683e-06f, 7.196737531e-06f, 7.172936586e-06f, 7.149125889e-06f, 7.125305484e-06f,
+7.101475412e-06f, 7.077635716e-06f, 7.053786439e-06f, 7.029927622e-06f, 7.006059308e-06f, 6.982181539e-06f, 6.958294358e-06f, 6.934397808e-06f, 6.910491930e-06f, 6.886576767e-06f,
+6.862652362e-06f, 6.838718757e-06f, 6.814775994e-06f, 6.790824116e-06f, 6.766863166e-06f, 6.742893186e-06f, 6.718914218e-06f, 6.694926306e-06f, 6.670929491e-06f, 6.646923816e-06f,
+6.622909324e-06f, 6.598886057e-06f, 6.574854059e-06f, 6.550813370e-06f, 6.526764035e-06f, 6.502706095e-06f, 6.478639594e-06f, 6.454564574e-06f, 6.430481077e-06f, 6.406389147e-06f,
+6.382288826e-06f, 6.358180156e-06f, 6.334063181e-06f, 6.309937942e-06f, 6.285804483e-06f, 6.261662847e-06f, 6.237513076e-06f, 6.213355213e-06f, 6.189189300e-06f, 6.165015381e-06f,
+6.140833498e-06f, 6.116643694e-06f, 6.092446011e-06f, 6.068240493e-06f, 6.044027183e-06f, 6.019806122e-06f, 5.995577354e-06f, 5.971340922e-06f, 5.947096869e-06f, 5.922845237e-06f,
+5.898586069e-06f, 5.874319408e-06f, 5.850045297e-06f, 5.825763779e-06f, 5.801474897e-06f, 5.777178693e-06f, 5.752875211e-06f, 5.728564493e-06f, 5.704246583e-06f, 5.679921523e-06f,
+5.655589356e-06f, 5.631250125e-06f, 5.606903873e-06f, 5.582550643e-06f, 5.558190478e-06f, 5.533823421e-06f, 5.509449514e-06f, 5.485068802e-06f, 5.460681327e-06f, 5.436287131e-06f,
+5.411886258e-06f, 5.387478751e-06f, 5.363064653e-06f, 5.338644006e-06f, 5.314216855e-06f, 5.289783241e-06f, 5.265343209e-06f, 5.240896800e-06f, 5.216444059e-06f, 5.191985027e-06f,
+5.167519749e-06f, 5.143048267e-06f, 5.118570625e-06f, 5.094086864e-06f, 5.069597030e-06f, 5.045101164e-06f, 5.020599309e-06f, 4.996091509e-06f, 4.971577808e-06f, 4.947058247e-06f,
+4.922532870e-06f, 4.898001721e-06f, 4.873464842e-06f, 4.848922276e-06f, 4.824374067e-06f, 4.799820258e-06f, 4.775260892e-06f, 4.750696012e-06f, 4.726125661e-06f, 4.701549883e-06f,
+4.676968720e-06f, 4.652382216e-06f, 4.627790414e-06f, 4.603193357e-06f, 4.578591088e-06f, 4.553983651e-06f, 4.529371089e-06f, 4.504753445e-06f, 4.480130761e-06f, 4.455503082e-06f,
+4.430870451e-06f, 4.406232910e-06f, 4.381590503e-06f, 4.356943273e-06f, 4.332291264e-06f, 4.307634518e-06f, 4.282973079e-06f, 4.258306991e-06f, 4.233636295e-06f, 4.208961036e-06f,
+4.184281257e-06f, 4.159597001e-06f, 4.134908312e-06f, 4.110215232e-06f, 4.085517804e-06f, 4.060816073e-06f, 4.036110081e-06f, 4.011399872e-06f, 3.986685489e-06f, 3.961966975e-06f,
+3.937244373e-06f, 3.912517727e-06f, 3.887787080e-06f, 3.863052475e-06f, 3.838313955e-06f, 3.813571565e-06f, 3.788825346e-06f, 3.764075343e-06f, 3.739321598e-06f, 3.714564156e-06f,
+3.689803058e-06f, 3.665038350e-06f, 3.640270073e-06f, 3.615498271e-06f, 3.590722987e-06f, 3.565944265e-06f, 3.541162149e-06f, 3.516376680e-06f, 3.491587903e-06f, 3.466795861e-06f,
+3.442000597e-06f, 3.417202155e-06f, 3.392400577e-06f, 3.367595908e-06f, 3.342788190e-06f, 3.317977467e-06f, 3.293163781e-06f, 3.268347177e-06f, 3.243527698e-06f, 3.218705387e-06f,
+3.193880286e-06f, 3.169052441e-06f, 3.144221893e-06f, 3.119388686e-06f, 3.094552864e-06f, 3.069714470e-06f, 3.044873546e-06f, 3.020030137e-06f, 2.995184286e-06f, 2.970336036e-06f,
+2.945485430e-06f, 2.920632511e-06f, 2.895777323e-06f, 2.870919910e-06f, 2.846060314e-06f, 2.821198579e-06f, 2.796334748e-06f, 2.771468864e-06f, 2.746600971e-06f, 2.721731112e-06f,
+2.696859330e-06f, 2.671985668e-06f, 2.647110171e-06f, 2.622232880e-06f, 2.597353840e-06f, 2.572473094e-06f, 2.547590684e-06f, 2.522706655e-06f, 2.497821049e-06f, 2.472933910e-06f,
+2.448045281e-06f, 2.423155205e-06f, 2.398263726e-06f, 2.373370887e-06f, 2.348476731e-06f, 2.323581301e-06f, 2.298684641e-06f, 2.273786794e-06f, 2.248887803e-06f, 2.223987711e-06f,
+2.199086562e-06f, 2.174184399e-06f, 2.149281265e-06f, 2.124377203e-06f, 2.099472257e-06f, 2.074566470e-06f, 2.049659884e-06f, 2.024752544e-06f, 1.999844493e-06f, 1.974935773e-06f,
+1.950026428e-06f, 1.925116501e-06f, 1.900206036e-06f, 1.875295075e-06f, 1.850383661e-06f, 1.825471839e-06f, 1.800559651e-06f, 1.775647140e-06f, 1.750734349e-06f, 1.725821323e-06f,
+1.700908102e-06f, 1.675994732e-06f, 1.651081256e-06f, 1.626167715e-06f, 1.601254154e-06f, 1.576340615e-06f, 1.551427143e-06f, 1.526513779e-06f, 1.501600567e-06f, 1.476687550e-06f,
+1.451774772e-06f, 1.426862275e-06f, 1.401950102e-06f, 1.377038297e-06f, 1.352126903e-06f, 1.327215962e-06f, 1.302305519e-06f, 1.277395615e-06f, 1.252486295e-06f, 1.227577600e-06f,
+1.202669575e-06f, 1.177762262e-06f, 1.152855705e-06f, 1.127949946e-06f, 1.103045028e-06f, 1.078140995e-06f, 1.053237889e-06f, 1.028335753e-06f, 1.003434632e-06f, 9.785345662e-07f,
+9.536356005e-07f, 9.287377772e-07f, 9.038411395e-07f, 8.789457303e-07f, 8.540515926e-07f, 8.291587693e-07f, 8.042673034e-07f, 7.793772379e-07f, 7.544886158e-07f, 7.296014799e-07f,
+7.047158731e-07f, 6.798318385e-07f, 6.549494190e-07f, 6.300686574e-07f, 6.051895966e-07f, 5.803122796e-07f, 5.554367492e-07f, 5.305630484e-07f, 5.056912199e-07f, 4.808213067e-07f,
+4.559533516e-07f, 4.310873974e-07f, 4.062234870e-07f, 3.813616633e-07f, 3.565019690e-07f, 3.316444470e-07f, 3.067891400e-07f, 2.819360909e-07f, 2.570853424e-07f, 2.322369374e-07f,
+2.073909186e-07f, 1.825473287e-07f, 1.577062106e-07f, 1.328676069e-07f, 1.080315604e-07f, 8.319811377e-08f, 5.836730982e-08f, 3.353919120e-08f, 8.713800614e-09f, -1.610881925e-08f,
+-4.092862571e-08f, -6.574557610e-08f, -9.055962777e-08f, -1.153707381e-07f, -1.401788643e-07f, -1.649839640e-07f, -1.897859943e-07f, -2.145849129e-07f, -2.393806769e-07f, -2.641732439e-07f,
+-2.889625712e-07f, -3.137486164e-07f, -3.385313367e-07f, -3.633106898e-07f, -3.880866331e-07f, -4.128591239e-07f, -4.376281199e-07f, -4.623935785e-07f, -4.871554573e-07f, -5.119137137e-07f,
+-5.366683052e-07f, -5.614191895e-07f, -5.861663240e-07f, -6.109096663e-07f, -6.356491741e-07f, -6.603848048e-07f, -6.851165161e-07f, -7.098442656e-07f, -7.345680109e-07f, -7.592877097e-07f,
+-7.840033195e-07f, -8.087147981e-07f, -8.334221031e-07f, -8.581251922e-07f, -8.828240230e-07f, -9.075185534e-07f, -9.322087409e-07f, -9.568945434e-07f, -9.815759185e-07f, -1.006252824e-06f,
+-1.030925218e-06f, -1.055593058e-06f, -1.080256301e-06f, -1.104914906e-06f, -1.129568830e-06f, -1.154218032e-06f, -1.178862469e-06f, -1.203502098e-06f, -1.228136879e-06f, -1.252766768e-06f,
+-1.277391723e-06f, -1.302011703e-06f, -1.326626665e-06f, -1.351236568e-06f, -1.375841369e-06f, -1.400441026e-06f, -1.425035497e-06f, -1.449624741e-06f, -1.474208714e-06f, -1.498787376e-06f,
+-1.523360684e-06f, -1.547928596e-06f, -1.572491071e-06f, -1.597048066e-06f, -1.621599540e-06f, -1.646145450e-06f, -1.670685755e-06f, -1.695220412e-06f, -1.719749381e-06f, -1.744272619e-06f,
+-1.768790084e-06f, -1.793301734e-06f, -1.817807528e-06f, -1.842307425e-06f, -1.866801381e-06f, -1.891289356e-06f, -1.915771307e-06f, -1.940247193e-06f, -1.964716973e-06f, -1.989180604e-06f,
+-2.013638045e-06f, -2.038089254e-06f, -2.062534189e-06f, -2.086972810e-06f, -2.111405074e-06f, -2.135830939e-06f, -2.160250365e-06f, -2.184663309e-06f, -2.209069730e-06f, -2.233469587e-06f,
+-2.257862838e-06f, -2.282249441e-06f, -2.306629355e-06f, -2.331002538e-06f, -2.355368950e-06f, -2.379728548e-06f, -2.404081291e-06f, -2.428427138e-06f, -2.452766048e-06f, -2.477097978e-06f,
+-2.501422888e-06f, -2.525740737e-06f, -2.550051482e-06f, -2.574355083e-06f, -2.598651499e-06f, -2.622940687e-06f, -2.647222608e-06f, -2.671497219e-06f, -2.695764479e-06f, -2.720024348e-06f,
+-2.744276784e-06f, -2.768521745e-06f, -2.792759192e-06f, -2.816989082e-06f, -2.841211374e-06f, -2.865426028e-06f, -2.889633002e-06f, -2.913832255e-06f, -2.938023746e-06f, -2.962207435e-06f,
+-2.986383280e-06f, -3.010551240e-06f, -3.034711274e-06f, -3.058863341e-06f, -3.083007401e-06f, -3.107143412e-06f, -3.131271334e-06f, -3.155391125e-06f, -3.179502745e-06f, -3.203606153e-06f,
+-3.227701308e-06f, -3.251788170e-06f, -3.275866697e-06f, -3.299936849e-06f, -3.323998584e-06f, -3.348051863e-06f, -3.372096645e-06f, -3.396132888e-06f, -3.420160553e-06f, -3.444179598e-06f,
+-3.468189984e-06f, -3.492191668e-06f, -3.516184612e-06f, -3.540168773e-06f, -3.564144112e-06f, -3.588110589e-06f, -3.612068161e-06f, -3.636016790e-06f, -3.659956435e-06f, -3.683887055e-06f,
+-3.707808609e-06f, -3.731721058e-06f, -3.755624361e-06f, -3.779518477e-06f, -3.803403367e-06f, -3.827278989e-06f, -3.851145305e-06f, -3.875002272e-06f, -3.898849851e-06f, -3.922688003e-06f,
+-3.946516685e-06f, -3.970335860e-06f, -3.994145485e-06f, -4.017945521e-06f, -4.041735929e-06f, -4.065516667e-06f, -4.089287695e-06f, -4.113048975e-06f, -4.136800464e-06f, -4.160542125e-06f,
+-4.184273916e-06f, -4.207995797e-06f, -4.231707729e-06f, -4.255409671e-06f, -4.279101584e-06f, -4.302783428e-06f, -4.326455162e-06f, -4.350116748e-06f, -4.373768145e-06f, -4.397409313e-06f,
+-4.421040213e-06f, -4.444660804e-06f, -4.468271048e-06f, -4.491870903e-06f, -4.515460332e-06f, -4.539039293e-06f, -4.562607748e-06f, -4.586165656e-06f, -4.609712978e-06f, -4.633249675e-06f,
+-4.656775706e-06f, -4.680291033e-06f, -4.703795616e-06f, -4.727289415e-06f, -4.750772390e-06f, -4.774244503e-06f, -4.797705714e-06f, -4.821155984e-06f, -4.844595273e-06f, -4.868023541e-06f,
+-4.891440750e-06f, -4.914846860e-06f, -4.938241832e-06f, -4.961625626e-06f, -4.984998204e-06f, -5.008359526e-06f, -5.031709553e-06f, -5.055048245e-06f, -5.078375564e-06f, -5.101691471e-06f,
+-5.124995926e-06f, -5.148288891e-06f, -5.171570325e-06f, -5.194840191e-06f, -5.218098449e-06f, -5.241345061e-06f, -5.264579987e-06f, -5.287803188e-06f, -5.311014625e-06f, -5.334214261e-06f,
+-5.357402055e-06f, -5.380577969e-06f, -5.403741964e-06f, -5.426894001e-06f, -5.450034042e-06f, -5.473162048e-06f, -5.496277980e-06f, -5.519381800e-06f, -5.542473469e-06f, -5.565552947e-06f,
+-5.588620198e-06f, -5.611675181e-06f, -5.634717859e-06f, -5.657748193e-06f, -5.680766144e-06f, -5.703771675e-06f, -5.726764746e-06f, -5.749745319e-06f, -5.772713356e-06f, -5.795668818e-06f,
+-5.818611667e-06f, -5.841541865e-06f, -5.864459373e-06f, -5.887364154e-06f, -5.910256169e-06f, -5.933135379e-06f, -5.956001747e-06f, -5.978855234e-06f, -6.001695802e-06f, -6.024523414e-06f,
+-6.047338031e-06f, -6.070139614e-06f, -6.092928127e-06f, -6.115703531e-06f, -6.138465787e-06f, -6.161214859e-06f, -6.183950708e-06f, -6.206673296e-06f, -6.229382586e-06f, -6.252078539e-06f,
+-6.274761118e-06f, -6.297430285e-06f, -6.320086002e-06f, -6.342728232e-06f, -6.365356937e-06f, -6.387972078e-06f, -6.410573620e-06f, -6.433161523e-06f, -6.455735750e-06f, -6.478296265e-06f,
+-6.500843028e-06f, -6.523376003e-06f, -6.545895153e-06f, -6.568400439e-06f, -6.590891825e-06f, -6.613369273e-06f, -6.635832745e-06f, -6.658282205e-06f, -6.680717614e-06f, -6.703138937e-06f,
+-6.725546135e-06f, -6.747939171e-06f, -6.770318008e-06f, -6.792682609e-06f, -6.815032937e-06f, -6.837368955e-06f, -6.859690625e-06f, -6.881997911e-06f, -6.904290775e-06f, -6.926569181e-06f,
+-6.948833091e-06f, -6.971082469e-06f, -6.993317278e-06f, -7.015537481e-06f, -7.037743041e-06f, -7.059933921e-06f, -7.082110085e-06f, -7.104271496e-06f, -7.126418116e-06f, -7.148549910e-06f,
+-7.170666840e-06f, -7.192768871e-06f, -7.214855965e-06f, -7.236928085e-06f, -7.258985196e-06f, -7.281027261e-06f, -7.303054243e-06f, -7.325066106e-06f, -7.347062814e-06f, -7.369044329e-06f,
+-7.391010616e-06f, -7.412961639e-06f, -7.434897360e-06f, -7.456817745e-06f, -7.478722756e-06f, -7.500612357e-06f, -7.522486513e-06f, -7.544345186e-06f, -7.566188342e-06f, -7.588015943e-06f,
+-7.609827954e-06f, -7.631624339e-06f, -7.653405061e-06f, -7.675170086e-06f, -7.696919376e-06f, -7.718652896e-06f, -7.740370610e-06f, -7.762072483e-06f, -7.783758478e-06f, -7.805428560e-06f,
+-7.827082693e-06f, -7.848720841e-06f, -7.870342968e-06f, -7.891949040e-06f, -7.913539020e-06f, -7.935112872e-06f, -7.956670562e-06f, -7.978212054e-06f, -7.999737311e-06f, -8.021246300e-06f,
+-8.042738983e-06f, -8.064215327e-06f, -8.085675295e-06f, -8.107118853e-06f, -8.128545964e-06f, -8.149956595e-06f, -8.171350708e-06f, -8.192728270e-06f, -8.214089245e-06f, -8.235433598e-06f,
+-8.256761294e-06f, -8.278072298e-06f, -8.299366575e-06f, -8.320644089e-06f, -8.341904806e-06f, -8.363148692e-06f, -8.384375710e-06f, -8.405585826e-06f, -8.426779006e-06f, -8.447955214e-06f,
+-8.469114416e-06f, -8.490256577e-06f, -8.511381662e-06f, -8.532489638e-06f, -8.553580468e-06f, -8.574654118e-06f, -8.595710554e-06f, -8.616749742e-06f, -8.637771647e-06f, -8.658776234e-06f,
+-8.679763469e-06f, -8.700733317e-06f, -8.721685745e-06f, -8.742620717e-06f, -8.763538200e-06f, -8.784438160e-06f, -8.805320561e-06f, -8.826185371e-06f, -8.847032554e-06f, -8.867862077e-06f,
+-8.888673906e-06f, -8.909468005e-06f, -8.930244343e-06f, -8.951002884e-06f, -8.971743594e-06f, -8.992466440e-06f, -9.013171388e-06f, -9.033858404e-06f, -9.054527454e-06f, -9.075178504e-06f,
+-9.095811521e-06f, -9.116426471e-06f, -9.137023320e-06f, -9.157602034e-06f, -9.178162580e-06f, -9.198704925e-06f, -9.219229035e-06f, -9.239734876e-06f, -9.260222416e-06f, -9.280691619e-06f,
+-9.301142454e-06f, -9.321574887e-06f, -9.341988884e-06f, -9.362384412e-06f, -9.382761438e-06f, -9.403119929e-06f, -9.423459852e-06f, -9.443781173e-06f, -9.464083859e-06f, -9.484367877e-06f,
+-9.504633195e-06f, -9.524879779e-06f, -9.545107597e-06f, -9.565316614e-06f, -9.585506799e-06f, -9.605678119e-06f, -9.625830541e-06f, -9.645964032e-06f, -9.666078559e-06f, -9.686174089e-06f,
+-9.706250591e-06f, -9.726308031e-06f, -9.746346377e-06f, -9.766365596e-06f, -9.786365655e-06f, -9.806346523e-06f, -9.826308166e-06f, -9.846250553e-06f, -9.866173651e-06f, -9.886077427e-06f,
+-9.905961850e-06f, -9.925826887e-06f, -9.945672506e-06f, -9.965498674e-06f, -9.985305360e-06f, -1.000509253e-05f, -1.002486016e-05f, -1.004460820e-05f, -1.006433664e-05f, -1.008404543e-05f,
+-1.010373455e-05f, -1.012340396e-05f, -1.014305363e-05f, -1.016268354e-05f, -1.018229364e-05f, -1.020188390e-05f, -1.022145431e-05f, -1.024100481e-05f, -1.026053539e-05f, -1.028004601e-05f,
+-1.029953663e-05f, -1.031900723e-05f, -1.033845778e-05f, -1.035788824e-05f, -1.037729858e-05f, -1.039668878e-05f, -1.041605879e-05f, -1.043540860e-05f, -1.045473816e-05f, -1.047404744e-05f,
+-1.049333643e-05f, -1.051260507e-05f, -1.053185335e-05f, -1.055108123e-05f, -1.057028868e-05f, -1.058947567e-05f, -1.060864217e-05f, -1.062778815e-05f, -1.064691357e-05f, -1.066601841e-05f,
+-1.068510264e-05f, -1.070416622e-05f, -1.072320913e-05f, -1.074223132e-05f, -1.076123279e-05f, -1.078021348e-05f, -1.079917337e-05f, -1.081811244e-05f, -1.083703065e-05f, -1.085592797e-05f,
+-1.087480437e-05f, -1.089365981e-05f, -1.091249428e-05f, -1.093130774e-05f, -1.095010015e-05f, -1.096887150e-05f, -1.098762174e-05f, -1.100635085e-05f, -1.102505880e-05f, -1.104374556e-05f,
+-1.106241109e-05f, -1.108105538e-05f, -1.109967838e-05f, -1.111828007e-05f, -1.113686042e-05f, -1.115541940e-05f, -1.117395698e-05f, -1.119247313e-05f, -1.121096782e-05f, -1.122944102e-05f,
+-1.124789270e-05f, -1.126632283e-05f, -1.128473139e-05f, -1.130311834e-05f, -1.132148364e-05f, -1.133982729e-05f, -1.135814924e-05f, -1.137644946e-05f, -1.139472793e-05f, -1.141298461e-05f,
+-1.143121948e-05f, -1.144943251e-05f, -1.146762367e-05f, -1.148579293e-05f, -1.150394027e-05f, -1.152206564e-05f, -1.154016903e-05f, -1.155825040e-05f, -1.157630972e-05f, -1.159434698e-05f,
+-1.161236213e-05f, -1.163035515e-05f, -1.164832601e-05f, -1.166627468e-05f, -1.168420114e-05f, -1.170210535e-05f, -1.171998729e-05f, -1.173784693e-05f, -1.175568423e-05f, -1.177349918e-05f,
+-1.179129174e-05f, -1.180906188e-05f, -1.182680958e-05f, -1.184453481e-05f, -1.186223754e-05f, -1.187991774e-05f, -1.189757539e-05f, -1.191521045e-05f, -1.193282289e-05f, -1.195041270e-05f,
+-1.196797984e-05f, -1.198552428e-05f, -1.200304600e-05f, -1.202054497e-05f, -1.203802115e-05f, -1.205547454e-05f, -1.207290508e-05f, -1.209031276e-05f, -1.210769756e-05f, -1.212505943e-05f,
+-1.214239836e-05f, -1.215971432e-05f, -1.217700728e-05f, -1.219427721e-05f, -1.221152409e-05f, -1.222874788e-05f, -1.224594857e-05f, -1.226312612e-05f, -1.228028051e-05f, -1.229741170e-05f,
+-1.231451968e-05f, -1.233160442e-05f, -1.234866588e-05f, -1.236570404e-05f, -1.238271888e-05f, -1.239971037e-05f, -1.241667848e-05f, -1.243362318e-05f, -1.245054445e-05f, -1.246744226e-05f,
+-1.248431659e-05f, -1.250116740e-05f, -1.251799467e-05f, -1.253479838e-05f, -1.255157850e-05f, -1.256833500e-05f, -1.258506785e-05f, -1.260177704e-05f, -1.261846252e-05f, -1.263512429e-05f,
+-1.265176230e-05f, -1.266837654e-05f, -1.268496698e-05f, -1.270153358e-05f, -1.271807634e-05f, -1.273459522e-05f, -1.275109019e-05f, -1.276756122e-05f, -1.278400831e-05f, -1.280043140e-05f,
+-1.281683049e-05f, -1.283320555e-05f, -1.284955654e-05f, -1.286588345e-05f, -1.288218625e-05f, -1.289846491e-05f, -1.291471941e-05f, -1.293094972e-05f, -1.294715581e-05f, -1.296333767e-05f,
+-1.297949527e-05f, -1.299562857e-05f, -1.301173756e-05f, -1.302782222e-05f, -1.304388250e-05f, -1.305991840e-05f, -1.307592988e-05f, -1.309191693e-05f, -1.310787951e-05f, -1.312381760e-05f,
+-1.313973117e-05f, -1.315562021e-05f, -1.317148468e-05f, -1.318732457e-05f, -1.320313984e-05f, -1.321893047e-05f, -1.323469644e-05f, -1.325043773e-05f, -1.326615430e-05f, -1.328184614e-05f,
+-1.329751321e-05f, -1.331315551e-05f, -1.332877299e-05f, -1.334436564e-05f, -1.335993343e-05f, -1.337547634e-05f, -1.339099435e-05f, -1.340648743e-05f, -1.342195555e-05f, -1.343739870e-05f,
+-1.345281684e-05f, -1.346820996e-05f, -1.348357803e-05f, -1.349892102e-05f, -1.351423892e-05f, -1.352953170e-05f, -1.354479934e-05f, -1.356004180e-05f, -1.357525908e-05f, -1.359045114e-05f,
+-1.360561796e-05f, -1.362075953e-05f, -1.363587580e-05f, -1.365096677e-05f, -1.366603240e-05f, -1.368107269e-05f, -1.369608759e-05f, -1.371107709e-05f, -1.372604117e-05f, -1.374097980e-05f,
+-1.375589296e-05f, -1.377078062e-05f, -1.378564277e-05f, -1.380047938e-05f, -1.381529043e-05f, -1.383007590e-05f, -1.384483575e-05f, -1.385956998e-05f, -1.387427855e-05f, -1.388896145e-05f,
+-1.390361865e-05f, -1.391825013e-05f, -1.393285587e-05f, -1.394743584e-05f, -1.396199003e-05f, -1.397651840e-05f, -1.399102094e-05f, -1.400549763e-05f, -1.401994845e-05f, -1.403437336e-05f,
+-1.404877235e-05f, -1.406314540e-05f, -1.407749249e-05f, -1.409181359e-05f, -1.410610868e-05f, -1.412037774e-05f, -1.413462075e-05f, -1.414883768e-05f, -1.416302852e-05f, -1.417719325e-05f,
+-1.419133183e-05f, -1.420544426e-05f, -1.421953050e-05f, -1.423359054e-05f, -1.424762435e-05f, -1.426163192e-05f, -1.427561323e-05f, -1.428956824e-05f, -1.430349694e-05f, -1.431739932e-05f,
+-1.433127534e-05f, -1.434512499e-05f, -1.435894824e-05f, -1.437274508e-05f, -1.438651549e-05f, -1.440025944e-05f, -1.441397691e-05f, -1.442766788e-05f, -1.444133233e-05f, -1.445497025e-05f,
+-1.446858160e-05f, -1.448216637e-05f, -1.449572454e-05f, -1.450925609e-05f, -1.452276100e-05f, -1.453623924e-05f, -1.454969081e-05f, -1.456311566e-05f, -1.457651380e-05f, -1.458988519e-05f,
+-1.460322982e-05f, -1.461654766e-05f, -1.462983870e-05f, -1.464310292e-05f, -1.465634029e-05f, -1.466955080e-05f, -1.468273442e-05f, -1.469589114e-05f, -1.470902094e-05f, -1.472212379e-05f,
+-1.473519968e-05f, -1.474824859e-05f, -1.476127050e-05f, -1.477426539e-05f, -1.478723324e-05f, -1.480017402e-05f, -1.481308773e-05f, -1.482597434e-05f, -1.483883383e-05f, -1.485166618e-05f,
+-1.486447138e-05f, -1.487724940e-05f, -1.489000023e-05f, -1.490272384e-05f, -1.491542022e-05f, -1.492808935e-05f, -1.494073121e-05f, -1.495334578e-05f, -1.496593304e-05f, -1.497849297e-05f,
+-1.499102556e-05f, -1.500353079e-05f, -1.501600863e-05f, -1.502845907e-05f, -1.504088210e-05f, -1.505327768e-05f, -1.506564581e-05f, -1.507798647e-05f, -1.509029963e-05f, -1.510258528e-05f,
+-1.511484340e-05f, -1.512707397e-05f, -1.513927698e-05f, -1.515145241e-05f, -1.516360023e-05f, -1.517572043e-05f, -1.518781300e-05f, -1.519987791e-05f, -1.521191515e-05f, -1.522392470e-05f,
+-1.523590654e-05f, -1.524786065e-05f, -1.525978702e-05f, -1.527168563e-05f, -1.528355647e-05f, -1.529539950e-05f, -1.530721472e-05f, -1.531900212e-05f, -1.533076166e-05f, -1.534249334e-05f,
+-1.535419714e-05f, -1.536587303e-05f, -1.537752102e-05f, -1.538914106e-05f, -1.540073316e-05f, -1.541229729e-05f, -1.542383344e-05f, -1.543534158e-05f, -1.544682171e-05f, -1.545827380e-05f,
+-1.546969784e-05f, -1.548109382e-05f, -1.549246171e-05f, -1.550380149e-05f, -1.551511317e-05f, -1.552639670e-05f, -1.553765209e-05f, -1.554887931e-05f, -1.556007835e-05f, -1.557124919e-05f,
+-1.558239181e-05f, -1.559350620e-05f, -1.560459235e-05f, -1.561565023e-05f, -1.562667984e-05f, -1.563768114e-05f, -1.564865414e-05f, -1.565959881e-05f, -1.567051514e-05f, -1.568140311e-05f,
+-1.569226270e-05f, -1.570309391e-05f, -1.571389671e-05f, -1.572467109e-05f, -1.573541704e-05f, -1.574613453e-05f, -1.575682356e-05f, -1.576748410e-05f, -1.577811615e-05f, -1.578871968e-05f,
+-1.579929469e-05f, -1.580984115e-05f, -1.582035906e-05f, -1.583084839e-05f, -1.584130914e-05f, -1.585174128e-05f, -1.586214481e-05f, -1.587251970e-05f, -1.588286595e-05f, -1.589318353e-05f,
+-1.590347244e-05f, -1.591373266e-05f, -1.592396417e-05f, -1.593416696e-05f, -1.594434102e-05f, -1.595448633e-05f, -1.596460287e-05f, -1.597469064e-05f, -1.598474962e-05f, -1.599477979e-05f,
+-1.600478114e-05f, -1.601475366e-05f, -1.602469733e-05f, -1.603461214e-05f, -1.604449807e-05f, -1.605435512e-05f, -1.606418326e-05f, -1.607398248e-05f, -1.608375277e-05f, -1.609349412e-05f,
+-1.610320651e-05f, -1.611288993e-05f, -1.612254436e-05f, -1.613216979e-05f, -1.614176621e-05f, -1.615133361e-05f, -1.616087197e-05f, -1.617038127e-05f, -1.617986151e-05f, -1.618931268e-05f,
+-1.619873475e-05f, -1.620812771e-05f, -1.621749156e-05f, -1.622682628e-05f, -1.623613186e-05f, -1.624540828e-05f, -1.625465553e-05f, -1.626387360e-05f, -1.627306248e-05f, -1.628222215e-05f,
+-1.629135260e-05f, -1.630045381e-05f, -1.630952579e-05f, -1.631856851e-05f, -1.632758195e-05f, -1.633656612e-05f, -1.634552099e-05f, -1.635444656e-05f, -1.636334281e-05f, -1.637220973e-05f,
+-1.638104731e-05f, -1.638985553e-05f, -1.639863439e-05f, -1.640738387e-05f, -1.641610396e-05f, -1.642479465e-05f, -1.643345592e-05f, -1.644208777e-05f, -1.645069019e-05f, -1.645926315e-05f,
+-1.646780666e-05f, -1.647632069e-05f, -1.648480525e-05f, -1.649326031e-05f, -1.650168586e-05f, -1.651008190e-05f, -1.651844841e-05f, -1.652678538e-05f, -1.653509280e-05f, -1.654337066e-05f,
+-1.655161894e-05f, -1.655983765e-05f, -1.656802676e-05f, -1.657618627e-05f, -1.658431616e-05f, -1.659241642e-05f, -1.660048705e-05f, -1.660852803e-05f, -1.661653936e-05f, -1.662452101e-05f,
+-1.663247299e-05f, -1.664039527e-05f, -1.664828786e-05f, -1.665615073e-05f, -1.666398389e-05f, -1.667178731e-05f, -1.667956100e-05f, -1.668730493e-05f, -1.669501910e-05f, -1.670270351e-05f,
+-1.671035813e-05f, -1.671798296e-05f, -1.672557799e-05f, -1.673314320e-05f, -1.674067860e-05f, -1.674818417e-05f, -1.675565990e-05f, -1.676310578e-05f, -1.677052181e-05f, -1.677790796e-05f,
+-1.678526424e-05f, -1.679259063e-05f, -1.679988712e-05f, -1.680715371e-05f, -1.681439039e-05f, -1.682159714e-05f, -1.682877396e-05f, -1.683592083e-05f, -1.684303776e-05f, -1.685012472e-05f,
+-1.685718172e-05f, -1.686420874e-05f, -1.687120577e-05f, -1.687817281e-05f, -1.688510985e-05f, -1.689201687e-05f, -1.689889387e-05f, -1.690574084e-05f, -1.691255778e-05f, -1.691934467e-05f,
+-1.692610150e-05f, -1.693282827e-05f, -1.693952497e-05f, -1.694619159e-05f, -1.695282812e-05f, -1.695943456e-05f, -1.696601089e-05f, -1.697255712e-05f, -1.697907322e-05f, -1.698555919e-05f,
+-1.699201503e-05f, -1.699844073e-05f, -1.700483628e-05f, -1.701120166e-05f, -1.701753689e-05f, -1.702384193e-05f, -1.703011680e-05f, -1.703636148e-05f, -1.704257596e-05f, -1.704876024e-05f,
+-1.705491431e-05f, -1.706103816e-05f, -1.706713179e-05f, -1.707319518e-05f, -1.707922833e-05f, -1.708523124e-05f, -1.709120390e-05f, -1.709714629e-05f, -1.710305842e-05f, -1.710894027e-05f,
+-1.711479184e-05f, -1.712061313e-05f, -1.712640412e-05f, -1.713216481e-05f, -1.713789519e-05f, -1.714359526e-05f, -1.714926501e-05f, -1.715490444e-05f, -1.716051353e-05f, -1.716609228e-05f,
+-1.717164069e-05f, -1.717715874e-05f, -1.718264644e-05f, -1.718810377e-05f, -1.719353073e-05f, -1.719892732e-05f, -1.720429353e-05f, -1.720962935e-05f, -1.721493477e-05f, -1.722020980e-05f,
+-1.722545442e-05f, -1.723066863e-05f, -1.723585243e-05f, -1.724100580e-05f, -1.724612875e-05f, -1.725122126e-05f, -1.725628334e-05f, -1.726131497e-05f, -1.726631616e-05f, -1.727128689e-05f,
+-1.727622716e-05f, -1.728113697e-05f, -1.728601631e-05f, -1.729086517e-05f, -1.729568356e-05f, -1.730047146e-05f, -1.730522888e-05f, -1.730995580e-05f, -1.731465222e-05f, -1.731931814e-05f,
+-1.732395355e-05f, -1.732855845e-05f, -1.733313284e-05f, -1.733767670e-05f, -1.734219004e-05f, -1.734667285e-05f, -1.735112512e-05f, -1.735554685e-05f, -1.735993805e-05f, -1.736429869e-05f,
+-1.736862879e-05f, -1.737292832e-05f, -1.737719731e-05f, -1.738143572e-05f, -1.738564357e-05f, -1.738982085e-05f, -1.739396756e-05f, -1.739808369e-05f, -1.740216924e-05f, -1.740622420e-05f,
+-1.741024857e-05f, -1.741424235e-05f, -1.741820553e-05f, -1.742213812e-05f, -1.742604010e-05f, -1.742991147e-05f, -1.743375224e-05f, -1.743756240e-05f, -1.744134194e-05f, -1.744509086e-05f,
+-1.744880915e-05f, -1.745249683e-05f, -1.745615388e-05f, -1.745978029e-05f, -1.746337608e-05f, -1.746694122e-05f, -1.747047573e-05f, -1.747397960e-05f, -1.747745282e-05f, -1.748089540e-05f,
+-1.748430733e-05f, -1.748768860e-05f, -1.749103923e-05f, -1.749435919e-05f, -1.749764850e-05f, -1.750090715e-05f, -1.750413513e-05f, -1.750733245e-05f, -1.751049911e-05f, -1.751363509e-05f,
+-1.751674040e-05f, -1.751981504e-05f, -1.752285901e-05f, -1.752587230e-05f, -1.752885491e-05f, -1.753180684e-05f, -1.753472809e-05f, -1.753761865e-05f, -1.754047853e-05f, -1.754330773e-05f,
+-1.754610624e-05f, -1.754887405e-05f, -1.755161118e-05f, -1.755431762e-05f, -1.755699336e-05f, -1.755963841e-05f, -1.756225277e-05f, -1.756483642e-05f, -1.756738938e-05f, -1.756991165e-05f,
+-1.757240321e-05f, -1.757486408e-05f, -1.757729424e-05f, -1.757969370e-05f, -1.758206246e-05f, -1.758440052e-05f, -1.758670787e-05f, -1.758898452e-05f, -1.759123047e-05f, -1.759344571e-05f,
+-1.759563025e-05f, -1.759778408e-05f, -1.759990720e-05f, -1.760199962e-05f, -1.760406134e-05f, -1.760609235e-05f, -1.760809265e-05f, -1.761006224e-05f, -1.761200113e-05f, -1.761390932e-05f,
+-1.761578679e-05f, -1.761763357e-05f, -1.761944964e-05f, -1.762123500e-05f, -1.762298966e-05f, -1.762471361e-05f, -1.762640686e-05f, -1.762806941e-05f, -1.762970125e-05f, -1.763130240e-05f,
+-1.763287284e-05f, -1.763441258e-05f, -1.763592162e-05f, -1.763739997e-05f, -1.763884761e-05f, -1.764026456e-05f, -1.764165082e-05f, -1.764300638e-05f, -1.764433124e-05f, -1.764562541e-05f,
+-1.764688890e-05f, -1.764812169e-05f, -1.764932379e-05f, -1.765049521e-05f, -1.765163594e-05f, -1.765274599e-05f, -1.765382535e-05f, -1.765487403e-05f, -1.765589204e-05f, -1.765687936e-05f,
+-1.765783601e-05f, -1.765876199e-05f, -1.765965729e-05f, -1.766052193e-05f, -1.766135589e-05f, -1.766215919e-05f, -1.766293183e-05f, -1.766367380e-05f, -1.766438511e-05f, -1.766506577e-05f,
+-1.766571577e-05f, -1.766633512e-05f, -1.766692381e-05f, -1.766748186e-05f, -1.766800926e-05f, -1.766850602e-05f, -1.766897214e-05f, -1.766940762e-05f, -1.766981247e-05f, -1.767018668e-05f,
+-1.767053027e-05f, -1.767084322e-05f, -1.767112556e-05f, -1.767137727e-05f, -1.767159837e-05f, -1.767178885e-05f, -1.767194872e-05f, -1.767207798e-05f, -1.767217663e-05f, -1.767224469e-05f,
+-1.767228214e-05f, -1.767228901e-05f, -1.767226527e-05f, -1.767221096e-05f, -1.767212605e-05f, -1.767201057e-05f, -1.767186451e-05f, -1.767168787e-05f, -1.767148067e-05f, -1.767124290e-05f,
+-1.767097456e-05f, -1.767067567e-05f, -1.767034623e-05f, -1.766998623e-05f, -1.766959569e-05f, -1.766917461e-05f, -1.766872299e-05f, -1.766824084e-05f, -1.766772815e-05f, -1.766718494e-05f,
+-1.766661122e-05f, -1.766600697e-05f, -1.766537221e-05f, -1.766470695e-05f, -1.766401119e-05f, -1.766328492e-05f, -1.766252817e-05f, -1.766174092e-05f, -1.766092320e-05f, -1.766007499e-05f,
+-1.765919631e-05f, -1.765828716e-05f, -1.765734755e-05f, -1.765637748e-05f, -1.765537696e-05f, -1.765434599e-05f, -1.765328457e-05f, -1.765219272e-05f, -1.765107044e-05f, -1.764991772e-05f,
+-1.764873459e-05f, -1.764752104e-05f, -1.764627708e-05f, -1.764500272e-05f, -1.764369796e-05f, -1.764236280e-05f, -1.764099725e-05f, -1.763960133e-05f, -1.763817503e-05f, -1.763671835e-05f,
+-1.763523132e-05f, -1.763371392e-05f, -1.763216617e-05f, -1.763058808e-05f, -1.762897965e-05f, -1.762734088e-05f, -1.762567179e-05f, -1.762397237e-05f, -1.762224264e-05f, -1.762048260e-05f,
+-1.761869226e-05f, -1.761687163e-05f, -1.761502071e-05f, -1.761313950e-05f, -1.761122802e-05f, -1.760928627e-05f, -1.760731426e-05f, -1.760531199e-05f, -1.760327948e-05f, -1.760121673e-05f,
+-1.759912374e-05f, -1.759700052e-05f, -1.759484709e-05f, -1.759266344e-05f, -1.759044958e-05f, -1.758820553e-05f, -1.758593129e-05f, -1.758362686e-05f, -1.758129226e-05f, -1.757892749e-05f,
+-1.757653255e-05f, -1.757410747e-05f, -1.757165223e-05f, -1.756916686e-05f, -1.756665136e-05f, -1.756410574e-05f, -1.756153000e-05f, -1.755892415e-05f, -1.755628820e-05f, -1.755362216e-05f,
+-1.755092604e-05f, -1.754819985e-05f, -1.754544359e-05f, -1.754265726e-05f, -1.753984089e-05f, -1.753699448e-05f, -1.753411803e-05f, -1.753121155e-05f, -1.752827506e-05f, -1.752530856e-05f,
+-1.752231206e-05f, -1.751928557e-05f, -1.751622909e-05f, -1.751314264e-05f, -1.751002623e-05f, -1.750687986e-05f, -1.750370354e-05f, -1.750049728e-05f, -1.749726109e-05f, -1.749399498e-05f,
+-1.749069896e-05f, -1.748737303e-05f, -1.748401722e-05f, -1.748063151e-05f, -1.747721594e-05f, -1.747377049e-05f, -1.747029519e-05f, -1.746679004e-05f, -1.746325506e-05f, -1.745969024e-05f,
+-1.745609561e-05f, -1.745247117e-05f, -1.744881693e-05f, -1.744513290e-05f, -1.744141909e-05f, -1.743767550e-05f, -1.743390216e-05f, -1.743009907e-05f, -1.742626624e-05f, -1.742240368e-05f,
+-1.741851139e-05f, -1.741458940e-05f, -1.741063771e-05f, -1.740665632e-05f, -1.740264526e-05f, -1.739860453e-05f, -1.739453413e-05f, -1.739043409e-05f, -1.738630442e-05f, -1.738214511e-05f,
+-1.737795619e-05f, -1.737373766e-05f, -1.736948953e-05f, -1.736521182e-05f, -1.736090454e-05f, -1.735656769e-05f, -1.735220129e-05f, -1.734780535e-05f, -1.734337988e-05f, -1.733892488e-05f,
+-1.733444038e-05f, -1.732992638e-05f, -1.732538290e-05f, -1.732080994e-05f, -1.731620751e-05f, -1.731157564e-05f, -1.730691432e-05f, -1.730222357e-05f, -1.729750340e-05f, -1.729275383e-05f,
+-1.728797486e-05f, -1.728316651e-05f, -1.727832879e-05f, -1.727346170e-05f, -1.726856527e-05f, -1.726363950e-05f, -1.725868440e-05f, -1.725370000e-05f, -1.724868629e-05f, -1.724364329e-05f,
+-1.723857102e-05f, -1.723346948e-05f, -1.722833868e-05f, -1.722317865e-05f, -1.721798939e-05f, -1.721277091e-05f, -1.720752323e-05f, -1.720224636e-05f, -1.719694031e-05f, -1.719160509e-05f,
+-1.718624072e-05f, -1.718084721e-05f, -1.717542457e-05f, -1.716997282e-05f, -1.716449196e-05f, -1.715898201e-05f, -1.715344298e-05f, -1.714787489e-05f, -1.714227775e-05f, -1.713665157e-05f,
+-1.713099636e-05f, -1.712531214e-05f, -1.711959892e-05f, -1.711385672e-05f, -1.710808554e-05f, -1.710228541e-05f, -1.709645632e-05f, -1.709059831e-05f, -1.708471137e-05f, -1.707879553e-05f,
+-1.707285079e-05f, -1.706687718e-05f, -1.706087470e-05f, -1.705484337e-05f, -1.704878321e-05f, -1.704269421e-05f, -1.703657641e-05f, -1.703042981e-05f, -1.702425443e-05f, -1.701805028e-05f,
+-1.701181738e-05f, -1.700555573e-05f, -1.699926536e-05f, -1.699294628e-05f, -1.698659850e-05f, -1.698022203e-05f, -1.697381689e-05f, -1.696738310e-05f, -1.696092067e-05f, -1.695442962e-05f,
+-1.694790995e-05f, -1.694136168e-05f, -1.693478483e-05f, -1.692817941e-05f, -1.692154544e-05f, -1.691488293e-05f, -1.690819190e-05f, -1.690147236e-05f, -1.689472432e-05f, -1.688794781e-05f,
+-1.688114283e-05f, -1.687430940e-05f, -1.686744753e-05f, -1.686055725e-05f, -1.685363856e-05f, -1.684669149e-05f, -1.683971604e-05f, -1.683271223e-05f, -1.682568008e-05f, -1.681861960e-05f,
+-1.681153081e-05f, -1.680441373e-05f, -1.679726836e-05f, -1.679009473e-05f, -1.678289285e-05f, -1.677566273e-05f, -1.676840440e-05f, -1.676111786e-05f, -1.675380313e-05f, -1.674646024e-05f,
+-1.673908919e-05f, -1.673169000e-05f, -1.672426269e-05f, -1.671680727e-05f, -1.670932376e-05f, -1.670181217e-05f, -1.669427253e-05f, -1.668670484e-05f, -1.667910913e-05f, -1.667148541e-05f,
+-1.666383369e-05f, -1.665615400e-05f, -1.664844635e-05f, -1.664071076e-05f, -1.663294723e-05f, -1.662515580e-05f, -1.661733647e-05f, -1.660948926e-05f, -1.660161420e-05f, -1.659371129e-05f,
+-1.658578055e-05f, -1.657782201e-05f, -1.656983567e-05f, -1.656182155e-05f, -1.655377968e-05f, -1.654571006e-05f, -1.653761272e-05f, -1.652948767e-05f, -1.652133493e-05f, -1.651315452e-05f,
+-1.650494645e-05f, -1.649671074e-05f, -1.648844741e-05f, -1.648015648e-05f, -1.647183796e-05f, -1.646349187e-05f, -1.645511823e-05f, -1.644671706e-05f, -1.643828838e-05f, -1.642983219e-05f,
+-1.642134852e-05f, -1.641283740e-05f, -1.640429882e-05f, -1.639573282e-05f, -1.638713941e-05f, -1.637851861e-05f, -1.636987044e-05f, -1.636119492e-05f, -1.635249205e-05f, -1.634376187e-05f,
+-1.633500439e-05f, -1.632621963e-05f, -1.631740760e-05f, -1.630856833e-05f, -1.629970183e-05f, -1.629080812e-05f, -1.628188722e-05f, -1.627293915e-05f, -1.626396393e-05f, -1.625496158e-05f,
+-1.624593211e-05f, -1.623687554e-05f, -1.622779189e-05f, -1.621868119e-05f, -1.620954344e-05f, -1.620037868e-05f, -1.619118691e-05f, -1.618196816e-05f, -1.617272244e-05f, -1.616344978e-05f,
+-1.615415019e-05f, -1.614482369e-05f, -1.613547031e-05f, -1.612609006e-05f, -1.611668296e-05f, -1.610724902e-05f, -1.609778828e-05f, -1.608830075e-05f, -1.607878644e-05f, -1.606924539e-05f,
+-1.605967760e-05f, -1.605008309e-05f, -1.604046190e-05f, -1.603081403e-05f, -1.602113950e-05f, -1.601143835e-05f, -1.600171057e-05f, -1.599195621e-05f, -1.598217527e-05f, -1.597236777e-05f,
+-1.596253374e-05f, -1.595267320e-05f, -1.594278616e-05f, -1.593287264e-05f, -1.592293267e-05f, -1.591296627e-05f, -1.590297346e-05f, -1.589295425e-05f, -1.588290867e-05f, -1.587283673e-05f,
+-1.586273846e-05f, -1.585261389e-05f, -1.584246302e-05f, -1.583228588e-05f, -1.582208249e-05f, -1.581185287e-05f, -1.580159704e-05f, -1.579131502e-05f, -1.578100684e-05f, -1.577067251e-05f,
+-1.576031205e-05f, -1.574992549e-05f, -1.573951285e-05f, -1.572907414e-05f, -1.571860940e-05f, -1.570811863e-05f, -1.569760186e-05f, -1.568705912e-05f, -1.567649041e-05f, -1.566589578e-05f,
+-1.565527522e-05f, -1.564462878e-05f, -1.563395646e-05f, -1.562325829e-05f, -1.561253430e-05f, -1.560178449e-05f, -1.559100890e-05f, -1.558020755e-05f, -1.556938046e-05f, -1.555852764e-05f,
+-1.554764912e-05f, -1.553674493e-05f, -1.552581508e-05f, -1.551485960e-05f, -1.550387850e-05f, -1.549287182e-05f, -1.548183957e-05f, -1.547078177e-05f, -1.545969845e-05f, -1.544858962e-05f,
+-1.543745532e-05f, -1.542629556e-05f, -1.541511036e-05f, -1.540389975e-05f, -1.539266375e-05f, -1.538140238e-05f, -1.537011567e-05f, -1.535880363e-05f, -1.534746629e-05f, -1.533610367e-05f,
+-1.532471580e-05f, -1.531330269e-05f, -1.530186438e-05f, -1.529040087e-05f, -1.527891220e-05f, -1.526739838e-05f, -1.525585945e-05f, -1.524429542e-05f, -1.523270632e-05f, -1.522109216e-05f,
+-1.520945297e-05f, -1.519778879e-05f, -1.518609961e-05f, -1.517438548e-05f, -1.516264642e-05f, -1.515088244e-05f, -1.513909357e-05f, -1.512727983e-05f, -1.511544125e-05f, -1.510357786e-05f,
+-1.509168966e-05f, -1.507977669e-05f, -1.506783898e-05f, -1.505587653e-05f, -1.504388939e-05f, -1.503187756e-05f, -1.501984108e-05f, -1.500777997e-05f, -1.499569425e-05f, -1.498358395e-05f,
+-1.497144908e-05f, -1.495928968e-05f, -1.494710577e-05f, -1.493489736e-05f, -1.492266449e-05f, -1.491040719e-05f, -1.489812546e-05f, -1.488581934e-05f, -1.487348885e-05f, -1.486113402e-05f,
+-1.484875487e-05f, -1.483635142e-05f, -1.482392369e-05f, -1.481147172e-05f, -1.479899553e-05f, -1.478649514e-05f, -1.477397057e-05f, -1.476142185e-05f, -1.474884901e-05f, -1.473625206e-05f,
+-1.472363104e-05f, -1.471098596e-05f, -1.469831686e-05f, -1.468562375e-05f, -1.467290667e-05f, -1.466016563e-05f, -1.464740067e-05f, -1.463461180e-05f, -1.462179905e-05f, -1.460896245e-05f,
+-1.459610202e-05f, -1.458321778e-05f, -1.457030977e-05f, -1.455737800e-05f, -1.454442250e-05f, -1.453144330e-05f, -1.451844042e-05f, -1.450541388e-05f, -1.449236372e-05f, -1.447928995e-05f,
+-1.446619261e-05f, -1.445307172e-05f, -1.443992729e-05f, -1.442675937e-05f, -1.441356797e-05f, -1.440035312e-05f, -1.438711485e-05f, -1.437385317e-05f, -1.436056812e-05f, -1.434725973e-05f,
+-1.433392801e-05f, -1.432057300e-05f, -1.430719471e-05f, -1.429379318e-05f, -1.428036843e-05f, -1.426692049e-05f, -1.425344938e-05f, -1.423995513e-05f, -1.422643777e-05f, -1.421289731e-05f,
+-1.419933379e-05f, -1.418574724e-05f, -1.417213767e-05f, -1.415850512e-05f, -1.414484961e-05f, -1.413117117e-05f, -1.411746982e-05f, -1.410374559e-05f, -1.408999851e-05f, -1.407622860e-05f,
+-1.406243590e-05f, -1.404862041e-05f, -1.403478218e-05f, -1.402092123e-05f, -1.400703759e-05f, -1.399313128e-05f, -1.397920233e-05f, -1.396525076e-05f, -1.395127660e-05f, -1.393727989e-05f,
+-1.392326064e-05f, -1.390921888e-05f, -1.389515465e-05f, -1.388106796e-05f, -1.386695884e-05f, -1.385282732e-05f, -1.383867344e-05f, -1.382449720e-05f, -1.381029865e-05f, -1.379607781e-05f,
+-1.378183470e-05f, -1.376756936e-05f, -1.375328181e-05f, -1.373897207e-05f, -1.372464018e-05f, -1.371028616e-05f, -1.369591005e-05f, -1.368151186e-05f, -1.366709162e-05f, -1.365264937e-05f,
+-1.363818512e-05f, -1.362369892e-05f, -1.360919077e-05f, -1.359466073e-05f, -1.358010880e-05f, -1.356553501e-05f, -1.355093941e-05f, -1.353632201e-05f, -1.352168283e-05f, -1.350702192e-05f,
+-1.349233930e-05f, -1.347763498e-05f, -1.346290902e-05f, -1.344816142e-05f, -1.343339222e-05f, -1.341860145e-05f, -1.340378913e-05f, -1.338895529e-05f, -1.337409997e-05f, -1.335922318e-05f,
+-1.334432496e-05f, -1.332940534e-05f, -1.331446434e-05f, -1.329950200e-05f, -1.328451833e-05f, -1.326951337e-05f, -1.325448715e-05f, -1.323943970e-05f, -1.322437104e-05f, -1.320928120e-05f,
+-1.319417022e-05f, -1.317903811e-05f, -1.316388491e-05f, -1.314871065e-05f, -1.313351535e-05f, -1.311829905e-05f, -1.310306178e-05f, -1.308780355e-05f, -1.307252441e-05f, -1.305722437e-05f,
+-1.304190347e-05f, -1.302656174e-05f, -1.301119921e-05f, -1.299581590e-05f, -1.298041185e-05f, -1.296498708e-05f, -1.294954162e-05f, -1.293407551e-05f, -1.291858876e-05f, -1.290308142e-05f,
+-1.288755350e-05f, -1.287200504e-05f, -1.285643607e-05f, -1.284084662e-05f, -1.282523671e-05f, -1.280960638e-05f, -1.279395565e-05f, -1.277828456e-05f, -1.276259313e-05f, -1.274688139e-05f,
+-1.273114938e-05f, -1.271539712e-05f, -1.269962464e-05f, -1.268383197e-05f, -1.266801915e-05f, -1.265218619e-05f, -1.263633314e-05f, -1.262046002e-05f, -1.260456685e-05f, -1.258865368e-05f,
+-1.257272053e-05f, -1.255676742e-05f, -1.254079440e-05f, -1.252480148e-05f, -1.250878871e-05f, -1.249275610e-05f, -1.247670369e-05f, -1.246063152e-05f, -1.244453960e-05f, -1.242842797e-05f,
+-1.241229666e-05f, -1.239614571e-05f, -1.237997513e-05f, -1.236378496e-05f, -1.234757523e-05f, -1.233134598e-05f, -1.231509723e-05f, -1.229882900e-05f, -1.228254134e-05f, -1.226623428e-05f,
+-1.224990783e-05f, -1.223356204e-05f, -1.221719693e-05f, -1.220081254e-05f, -1.218440890e-05f, -1.216798602e-05f, -1.215154396e-05f, -1.213508273e-05f, -1.211860237e-05f, -1.210210291e-05f,
+-1.208558438e-05f, -1.206904680e-05f, -1.205249022e-05f, -1.203591466e-05f, -1.201932015e-05f, -1.200270673e-05f, -1.198607442e-05f, -1.196942326e-05f, -1.195275327e-05f, -1.193606449e-05f,
+-1.191935694e-05f, -1.190263067e-05f, -1.188588570e-05f, -1.186912206e-05f, -1.185233978e-05f, -1.183553889e-05f, -1.181871943e-05f, -1.180188143e-05f, -1.178502492e-05f, -1.176814992e-05f,
+-1.175125647e-05f, -1.173434461e-05f, -1.171741436e-05f, -1.170046575e-05f, -1.168349882e-05f, -1.166651360e-05f, -1.164951011e-05f, -1.163248840e-05f, -1.161544849e-05f, -1.159839041e-05f,
+-1.158131420e-05f, -1.156421988e-05f, -1.154710749e-05f, -1.152997707e-05f, -1.151282863e-05f, -1.149566222e-05f, -1.147847786e-05f, -1.146127559e-05f, -1.144405544e-05f, -1.142681744e-05f,
+-1.140956163e-05f, -1.139228803e-05f, -1.137499667e-05f, -1.135768759e-05f, -1.134036083e-05f, -1.132301641e-05f, -1.130565436e-05f, -1.128827472e-05f, -1.127087751e-05f, -1.125346278e-05f,
+-1.123603055e-05f, -1.121858086e-05f, -1.120111374e-05f, -1.118362921e-05f, -1.116612732e-05f, -1.114860809e-05f, -1.113107156e-05f, -1.111351775e-05f, -1.109594671e-05f, -1.107835846e-05f,
+-1.106075304e-05f, -1.104313048e-05f, -1.102549081e-05f, -1.100783406e-05f, -1.099016027e-05f, -1.097246946e-05f, -1.095476168e-05f, -1.093703695e-05f, -1.091929531e-05f, -1.090153679e-05f,
+-1.088376142e-05f, -1.086596923e-05f, -1.084816026e-05f, -1.083033455e-05f, -1.081249211e-05f, -1.079463299e-05f, -1.077675722e-05f, -1.075886483e-05f, -1.074095585e-05f, -1.072303032e-05f,
+-1.070508828e-05f, -1.068712974e-05f, -1.066915475e-05f, -1.065116334e-05f, -1.063315554e-05f, -1.061513139e-05f, -1.059709091e-05f, -1.057903415e-05f, -1.056096113e-05f, -1.054287188e-05f,
+-1.052476645e-05f, -1.050664487e-05f, -1.048850715e-05f, -1.047035335e-05f, -1.045218350e-05f, -1.043399762e-05f, -1.041579575e-05f, -1.039757792e-05f, -1.037934418e-05f, -1.036109454e-05f,
+-1.034282904e-05f, -1.032454773e-05f, -1.030625062e-05f, -1.028793776e-05f, -1.026960917e-05f, -1.025126490e-05f, -1.023290497e-05f, -1.021452942e-05f, -1.019613829e-05f, -1.017773159e-05f,
+-1.015930938e-05f, -1.014087168e-05f, -1.012241853e-05f, -1.010394996e-05f, -1.008546600e-05f, -1.006696669e-05f, -1.004845206e-05f, -1.002992214e-05f, -1.001137698e-05f, -9.992816600e-06f,
+-9.974241036e-06f, -9.955650323e-06f, -9.937044495e-06f, -9.918423586e-06f, -9.899787630e-06f, -9.881136660e-06f, -9.862470712e-06f, -9.843789818e-06f, -9.825094013e-06f, -9.806383331e-06f,
+-9.787657807e-06f, -9.768917473e-06f, -9.750162365e-06f, -9.731392516e-06f, -9.712607961e-06f, -9.693808734e-06f, -9.674994869e-06f, -9.656166401e-06f, -9.637323363e-06f, -9.618465791e-06f,
+-9.599593717e-06f, -9.580707177e-06f, -9.561806205e-06f, -9.542890836e-06f, -9.523961103e-06f, -9.505017042e-06f, -9.486058686e-06f, -9.467086070e-06f, -9.448099229e-06f, -9.429098197e-06f,
+-9.410083009e-06f, -9.391053699e-06f, -9.372010301e-06f, -9.352952851e-06f, -9.333881383e-06f, -9.314795931e-06f, -9.295696531e-06f, -9.276583216e-06f, -9.257456022e-06f, -9.238314984e-06f,
+-9.219160135e-06f, -9.199991511e-06f, -9.180809147e-06f, -9.161613077e-06f, -9.142403336e-06f, -9.123179959e-06f, -9.103942981e-06f, -9.084692436e-06f, -9.065428360e-06f, -9.046150788e-06f,
+-9.026859754e-06f, -9.007555293e-06f, -8.988237441e-06f, -8.968906231e-06f, -8.949561701e-06f, -8.930203883e-06f, -8.910832814e-06f, -8.891448528e-06f, -8.872051061e-06f, -8.852640447e-06f,
+-8.833216722e-06f, -8.813779921e-06f, -8.794330079e-06f, -8.774867231e-06f, -8.755391413e-06f, -8.735902659e-06f, -8.716401004e-06f, -8.696886485e-06f, -8.677359137e-06f, -8.657818993e-06f,
+-8.638266091e-06f, -8.618700465e-06f, -8.599122151e-06f, -8.579531183e-06f, -8.559927598e-06f, -8.540311430e-06f, -8.520682715e-06f, -8.501041489e-06f, -8.481387787e-06f, -8.461721645e-06f,
+-8.442043097e-06f, -8.422352180e-06f, -8.402648928e-06f, -8.382933378e-06f, -8.363205565e-06f, -8.343465525e-06f, -8.323713292e-06f, -8.303948904e-06f, -8.284172395e-06f, -8.264383800e-06f,
+-8.244583157e-06f, -8.224770500e-06f, -8.204945864e-06f, -8.185109287e-06f, -8.165260803e-06f, -8.145400448e-06f, -8.125528258e-06f, -8.105644268e-06f, -8.085748515e-06f, -8.065841035e-06f,
+-8.045921862e-06f, -8.025991033e-06f, -8.006048584e-06f, -7.986094551e-06f, -7.966128969e-06f, -7.946151874e-06f, -7.926163303e-06f, -7.906163291e-06f, -7.886151875e-06f, -7.866129089e-06f,
+-7.846094970e-06f, -7.826049555e-06f, -7.805992879e-06f, -7.785924978e-06f, -7.765845888e-06f, -7.745755645e-06f, -7.725654285e-06f, -7.705541845e-06f, -7.685418361e-06f, -7.665283868e-06f,
+-7.645138402e-06f, -7.624982001e-06f, -7.604814699e-06f, -7.584636534e-06f, -7.564447541e-06f, -7.544247757e-06f, -7.524037217e-06f, -7.503815959e-06f, -7.483584017e-06f, -7.463341430e-06f,
+-7.443088232e-06f, -7.422824460e-06f, -7.402550150e-06f, -7.382265340e-06f, -7.361970064e-06f, -7.341664360e-06f, -7.321348263e-06f, -7.301021810e-06f, -7.280685038e-06f, -7.260337983e-06f,
+-7.239980682e-06f, -7.219613169e-06f, -7.199235484e-06f, -7.178847660e-06f, -7.158449736e-06f, -7.138041748e-06f, -7.117623731e-06f, -7.097195723e-06f, -7.076757760e-06f, -7.056309879e-06f,
+-7.035852116e-06f, -7.015384508e-06f, -6.994907091e-06f, -6.974419902e-06f, -6.953922977e-06f, -6.933416354e-06f, -6.912900068e-06f, -6.892374157e-06f, -6.871838657e-06f, -6.851293604e-06f,
+-6.830739036e-06f, -6.810174988e-06f, -6.789601499e-06f, -6.769018604e-06f, -6.748426340e-06f, -6.727824744e-06f, -6.707213852e-06f, -6.686593702e-06f, -6.665964331e-06f, -6.645325774e-06f,
+-6.624678069e-06f, -6.604021252e-06f, -6.583355361e-06f, -6.562680432e-06f, -6.541996502e-06f, -6.521303608e-06f, -6.500601787e-06f, -6.479891075e-06f, -6.459171510e-06f, -6.438443128e-06f,
+-6.417705967e-06f, -6.396960063e-06f, -6.376205453e-06f, -6.355442174e-06f, -6.334670263e-06f, -6.313889757e-06f, -6.293100693e-06f, -6.272303108e-06f, -6.251497039e-06f, -6.230682523e-06f,
+-6.209859597e-06f, -6.189028298e-06f, -6.168188663e-06f, -6.147340729e-06f, -6.126484534e-06f, -6.105620113e-06f, -6.084747505e-06f, -6.063866746e-06f, -6.042977874e-06f, -6.022080925e-06f,
+-6.001175936e-06f, -5.980262946e-06f, -5.959341991e-06f, -5.938413107e-06f, -5.917476333e-06f, -5.896531705e-06f, -5.875579261e-06f, -5.854619038e-06f, -5.833651072e-06f, -5.812675402e-06f,
+-5.791692064e-06f, -5.770701096e-06f, -5.749702534e-06f, -5.728696416e-06f, -5.707682780e-06f, -5.686661662e-06f, -5.665633100e-06f, -5.644597131e-06f, -5.623553793e-06f, -5.602503122e-06f,
+-5.581445156e-06f, -5.560379932e-06f, -5.539307488e-06f, -5.518227860e-06f, -5.497141087e-06f, -5.476047205e-06f, -5.454946252e-06f, -5.433838266e-06f, -5.412723283e-06f, -5.391601341e-06f,
+-5.370472477e-06f, -5.349336729e-06f, -5.328194134e-06f, -5.307044730e-06f, -5.285888553e-06f, -5.264725642e-06f, -5.243556034e-06f, -5.222379766e-06f, -5.201196875e-06f, -5.180007400e-06f,
+-5.158811377e-06f, -5.137608844e-06f, -5.116399838e-06f, -5.095184398e-06f, -5.073962560e-06f, -5.052734361e-06f, -5.031499840e-06f, -5.010259034e-06f, -4.989011981e-06f, -4.967758717e-06f,
+-4.946499281e-06f, -4.925233709e-06f, -4.903962040e-06f, -4.882684311e-06f, -4.861400560e-06f, -4.840110824e-06f, -4.818815140e-06f, -4.797513547e-06f, -4.776206081e-06f, -4.754892781e-06f,
+-4.733573684e-06f, -4.712248827e-06f, -4.690918249e-06f, -4.669581986e-06f, -4.648240076e-06f, -4.626892558e-06f, -4.605539468e-06f, -4.584180844e-06f, -4.562816724e-06f, -4.541447145e-06f,
+-4.520072146e-06f, -4.498691763e-06f, -4.477306034e-06f, -4.455914998e-06f, -4.434518691e-06f, -4.413117151e-06f, -4.391710417e-06f, -4.370298525e-06f, -4.348881513e-06f, -4.327459419e-06f,
+-4.306032282e-06f, -4.284600137e-06f, -4.263163023e-06f, -4.241720979e-06f, -4.220274040e-06f, -4.198822246e-06f, -4.177365634e-06f, -4.155904241e-06f, -4.134438106e-06f, -4.112967266e-06f,
+-4.091491758e-06f, -4.070011621e-06f, -4.048526892e-06f, -4.027037609e-06f, -4.005543810e-06f, -3.984045532e-06f, -3.962542813e-06f, -3.941035691e-06f, -3.919524204e-06f, -3.898008390e-06f,
+-3.876488285e-06f, -3.854963929e-06f, -3.833435358e-06f, -3.811902611e-06f, -3.790365724e-06f, -3.768824737e-06f, -3.747279687e-06f, -3.725730612e-06f, -3.704177548e-06f, -3.682620535e-06f,
+-3.661059610e-06f, -3.639494811e-06f, -3.617926175e-06f, -3.596353740e-06f, -3.574777545e-06f, -3.553197626e-06f, -3.531614022e-06f, -3.510026771e-06f, -3.488435910e-06f, -3.466841477e-06f,
+-3.445243510e-06f, -3.423642047e-06f, -3.402037126e-06f, -3.380428783e-06f, -3.358817058e-06f, -3.337201988e-06f, -3.315583611e-06f, -3.293961965e-06f, -3.272337087e-06f, -3.250709015e-06f,
+-3.229077788e-06f, -3.207443442e-06f, -3.185806016e-06f, -3.164165548e-06f, -3.142522075e-06f, -3.120875636e-06f, -3.099226267e-06f, -3.077574008e-06f, -3.055918895e-06f, -3.034260967e-06f,
+-3.012600261e-06f, -2.990936816e-06f, -2.969270668e-06f, -2.947601857e-06f, -2.925930419e-06f, -2.904256393e-06f, -2.882579816e-06f, -2.860900727e-06f, -2.839219163e-06f, -2.817535161e-06f,
+-2.795848761e-06f, -2.774159999e-06f, -2.752468913e-06f, -2.730775542e-06f, -2.709079923e-06f, -2.687382094e-06f, -2.665682092e-06f, -2.643979956e-06f, -2.622275724e-06f, -2.600569433e-06f,
+-2.578861121e-06f, -2.557150826e-06f, -2.535438586e-06f, -2.513724438e-06f, -2.492008420e-06f, -2.470290571e-06f, -2.448570928e-06f, -2.426849529e-06f, -2.405126412e-06f, -2.383401614e-06f,
+-2.361675173e-06f, -2.339947128e-06f, -2.318217516e-06f, -2.296486374e-06f, -2.274753741e-06f, -2.253019655e-06f, -2.231284152e-06f, -2.209547272e-06f, -2.187809052e-06f, -2.166069529e-06f,
+-2.144328741e-06f, -2.122586727e-06f, -2.100843524e-06f, -2.079099170e-06f, -2.057353703e-06f, -2.035607160e-06f, -2.013859579e-06f, -1.992110998e-06f, -1.970361455e-06f, -1.948610987e-06f,
+-1.926859633e-06f, -1.905107430e-06f, -1.883354415e-06f, -1.861600628e-06f, -1.839846105e-06f, -1.818090884e-06f, -1.796335003e-06f, -1.774578499e-06f, -1.752821411e-06f, -1.731063777e-06f,
+-1.709305633e-06f, -1.687547018e-06f, -1.665787969e-06f, -1.644028525e-06f, -1.622268722e-06f, -1.600508600e-06f, -1.578748194e-06f, -1.556987543e-06f, -1.535226686e-06f, -1.513465659e-06f,
+-1.491704500e-06f, -1.469943247e-06f, -1.448181937e-06f, -1.426420609e-06f, -1.404659300e-06f, -1.382898048e-06f, -1.361136890e-06f, -1.339375864e-06f, -1.317615008e-06f, -1.295854359e-06f,
+-1.274093955e-06f, -1.252333834e-06f, -1.230574034e-06f, -1.208814591e-06f, -1.187055544e-06f, -1.165296931e-06f, -1.143538788e-06f, -1.121781154e-06f, -1.100024067e-06f, -1.078267563e-06f,
+-1.056511680e-06f, -1.034756457e-06f, -1.013001930e-06f, -9.912481381e-07f, -9.694951176e-07f, -9.477429066e-07f, -9.259915426e-07f, -9.042410632e-07f, -8.824915061e-07f, -8.607429086e-07f,
+-8.389953085e-07f, -8.172487432e-07f, -7.955032504e-07f, -7.737588675e-07f, -7.520156321e-07f, -7.302735817e-07f, -7.085327538e-07f, -6.867931860e-07f, -6.650549158e-07f, -6.433179806e-07f,
+-6.215824180e-07f, -5.998482654e-07f, -5.781155604e-07f, -5.563843403e-07f, -5.346546428e-07f, -5.129265051e-07f, -4.911999649e-07f, -4.694750595e-07f, -4.477518264e-07f, -4.260303029e-07f,
+-4.043105267e-07f, -3.825925350e-07f, -3.608763652e-07f, -3.391620549e-07f, -3.174496413e-07f, -2.957391618e-07f, -2.740306539e-07f, -2.523241549e-07f, -2.306197022e-07f, -2.089173332e-07f,
+-1.872170851e-07f, -1.655189953e-07f, -1.438231013e-07f, -1.221294402e-07f, -1.004380494e-07f, -7.874896624e-08f, -5.706222800e-08f, -3.537787198e-08f, -1.369593546e-08f, 7.983544288e-09f,
+2.966052999e-08f, 5.133498439e-08f, 7.300687023e-08f, 9.467615028e-08f, 1.163427873e-07f, 1.380067441e-07f, 1.596679833e-07f, 1.813264680e-07f, 2.029821607e-07f, 2.246350244e-07f,
+2.462850218e-07f, 2.679321159e-07f, 2.895762693e-07f, 3.112174450e-07f, 3.328556059e-07f, 3.544907148e-07f, 3.761227345e-07f, 3.977516280e-07f, 4.193773582e-07f, 4.409998880e-07f,
+4.626191802e-07f, 4.842351978e-07f, 5.058479038e-07f, 5.274572611e-07f, 5.490632326e-07f, 5.706657813e-07f, 5.922648702e-07f, 6.138604623e-07f, 6.354525205e-07f, 6.570410080e-07f,
+6.786258876e-07f, 7.002071224e-07f, 7.217846755e-07f, 7.433585099e-07f, 7.649285887e-07f, 7.864948749e-07f, 8.080573317e-07f, 8.296159220e-07f, 8.511706090e-07f, 8.727213559e-07f,
+8.942681257e-07f, 9.158108817e-07f, 9.373495868e-07f, 9.588842043e-07f, 9.804146974e-07f, 1.001941029e-06f, 1.023463163e-06f, 1.044981062e-06f, 1.066494689e-06f, 1.088004008e-06f,
+1.109508982e-06f, 1.131009573e-06f, 1.152505747e-06f, 1.173997464e-06f, 1.195484690e-06f, 1.216967387e-06f, 1.238445518e-06f, 1.259919047e-06f, 1.281387937e-06f, 1.302852152e-06f,
+1.324311654e-06f, 1.345766408e-06f, 1.367216377e-06f, 1.388661523e-06f, 1.410101811e-06f, 1.431537204e-06f, 1.452967665e-06f, 1.474393158e-06f, 1.495813645e-06f, 1.517229092e-06f,
+1.538639461e-06f, 1.560044715e-06f, 1.581444819e-06f, 1.602839735e-06f, 1.624229427e-06f, 1.645613859e-06f, 1.666992995e-06f, 1.688366797e-06f, 1.709735230e-06f, 1.731098257e-06f,
+1.752455841e-06f, 1.773807947e-06f, 1.795154538e-06f, 1.816495578e-06f, 1.837831030e-06f, 1.859160858e-06f, 1.880485026e-06f, 1.901803497e-06f, 1.923116235e-06f, 1.944423204e-06f,
+1.965724368e-06f, 1.987019690e-06f, 2.008309135e-06f, 2.029592665e-06f, 2.050870245e-06f, 2.072141839e-06f, 2.093407411e-06f, 2.114666923e-06f, 2.135920341e-06f, 2.157167628e-06f,
+2.178408748e-06f, 2.199643665e-06f, 2.220872343e-06f, 2.242094746e-06f, 2.263310837e-06f, 2.284520581e-06f, 2.305723942e-06f, 2.326920884e-06f, 2.348111370e-06f, 2.369295365e-06f,
+2.390472833e-06f, 2.411643738e-06f, 2.432808044e-06f, 2.453965715e-06f, 2.475116715e-06f, 2.496261008e-06f, 2.517398559e-06f, 2.538529332e-06f, 2.559653290e-06f, 2.580770399e-06f,
+2.601880621e-06f, 2.622983922e-06f, 2.644080266e-06f, 2.665169617e-06f, 2.686251939e-06f, 2.707327196e-06f, 2.728395354e-06f, 2.749456375e-06f, 2.770510225e-06f, 2.791556868e-06f,
+2.812596268e-06f, 2.833628389e-06f, 2.854653197e-06f, 2.875670655e-06f, 2.896680727e-06f, 2.917683379e-06f, 2.938678575e-06f, 2.959666280e-06f, 2.980646456e-06f, 3.001619071e-06f,
+3.022584087e-06f, 3.043541469e-06f, 3.064491183e-06f, 3.085433192e-06f, 3.106367461e-06f, 3.127293955e-06f, 3.148212639e-06f, 3.169123476e-06f, 3.190026433e-06f, 3.210921473e-06f,
+3.231808561e-06f, 3.252687662e-06f, 3.273558741e-06f, 3.294421762e-06f, 3.315276691e-06f, 3.336123491e-06f, 3.356962129e-06f, 3.377792568e-06f, 3.398614774e-06f, 3.419428711e-06f,
+3.440234345e-06f, 3.461031640e-06f, 3.481820561e-06f, 3.502601073e-06f, 3.523373142e-06f, 3.544136732e-06f, 3.564891807e-06f, 3.585638334e-06f, 3.606376277e-06f, 3.627105602e-06f,
+3.647826272e-06f, 3.668538255e-06f, 3.689241513e-06f, 3.709936014e-06f, 3.730621721e-06f, 3.751298601e-06f, 3.771966617e-06f, 3.792625736e-06f, 3.813275923e-06f, 3.833917143e-06f,
+3.854549361e-06f, 3.875172543e-06f, 3.895786653e-06f, 3.916391658e-06f, 3.936987522e-06f, 3.957574212e-06f, 3.978151691e-06f, 3.998719926e-06f, 4.019278883e-06f, 4.039828526e-06f,
+4.060368821e-06f, 4.080899733e-06f, 4.101421229e-06f, 4.121933273e-06f, 4.142435832e-06f, 4.162928870e-06f, 4.183412354e-06f, 4.203886249e-06f, 4.224350520e-06f, 4.244805134e-06f,
+4.265250055e-06f, 4.285685251e-06f, 4.306110685e-06f, 4.326526325e-06f, 4.346932136e-06f, 4.367328083e-06f, 4.387714132e-06f, 4.408090250e-06f, 4.428456403e-06f, 4.448812555e-06f,
+4.469158673e-06f, 4.489494723e-06f, 4.509820670e-06f, 4.530136481e-06f, 4.550442122e-06f, 4.570737559e-06f, 4.591022757e-06f, 4.611297683e-06f, 4.631562303e-06f, 4.651816582e-06f,
+4.672060488e-06f, 4.692293985e-06f, 4.712517041e-06f, 4.732729621e-06f, 4.752931692e-06f, 4.773123220e-06f, 4.793304171e-06f, 4.813474510e-06f, 4.833634206e-06f, 4.853783223e-06f,
+4.873921529e-06f, 4.894049089e-06f, 4.914165870e-06f, 4.934271839e-06f, 4.954366961e-06f, 4.974451203e-06f, 4.994524532e-06f, 5.014586914e-06f, 5.034638316e-06f, 5.054678704e-06f,
+5.074708044e-06f, 5.094726304e-06f, 5.114733449e-06f, 5.134729448e-06f, 5.154714265e-06f, 5.174687868e-06f, 5.194650223e-06f, 5.214601298e-06f, 5.234541059e-06f, 5.254469472e-06f,
+5.274386505e-06f, 5.294292125e-06f, 5.314186297e-06f, 5.334068989e-06f, 5.353940168e-06f, 5.373799801e-06f, 5.393647855e-06f, 5.413484296e-06f, 5.433309092e-06f, 5.453122209e-06f,
+5.472923616e-06f, 5.492713277e-06f, 5.512491162e-06f, 5.532257236e-06f, 5.552011468e-06f, 5.571753823e-06f, 5.591484270e-06f, 5.611202775e-06f, 5.630909306e-06f, 5.650603829e-06f,
+5.670286313e-06f, 5.689956725e-06f, 5.709615031e-06f, 5.729261199e-06f, 5.748895197e-06f, 5.768516992e-06f, 5.788126551e-06f, 5.807723841e-06f, 5.827308831e-06f, 5.846881488e-06f,
+5.866441778e-06f, 5.885989671e-06f, 5.905525133e-06f, 5.925048131e-06f, 5.944558634e-06f, 5.964056610e-06f, 5.983542025e-06f, 6.003014847e-06f, 6.022475045e-06f, 6.041922586e-06f,
+6.061357437e-06f, 6.080779567e-06f, 6.100188944e-06f, 6.119585534e-06f, 6.138969307e-06f, 6.158340229e-06f, 6.177698269e-06f, 6.197043395e-06f, 6.216375575e-06f, 6.235694777e-06f,
+6.255000969e-06f, 6.274294118e-06f, 6.293574193e-06f, 6.312841163e-06f, 6.332094994e-06f, 6.351335656e-06f, 6.370563116e-06f, 6.389777344e-06f, 6.408978306e-06f, 6.428165971e-06f,
+6.447340308e-06f, 6.466501285e-06f, 6.485648870e-06f, 6.504783031e-06f, 6.523903738e-06f, 6.543010957e-06f, 6.562104659e-06f, 6.581184811e-06f, 6.600251382e-06f, 6.619304340e-06f,
+6.638343654e-06f, 6.657369293e-06f, 6.676381225e-06f, 6.695379418e-06f, 6.714363842e-06f, 6.733334465e-06f, 6.752291256e-06f, 6.771234183e-06f, 6.790163216e-06f, 6.809078324e-06f,
+6.827979474e-06f, 6.846866636e-06f, 6.865739778e-06f, 6.884598871e-06f, 6.903443882e-06f, 6.922274781e-06f, 6.941091536e-06f, 6.959894117e-06f, 6.978682493e-06f, 6.997456633e-06f,
+7.016216505e-06f, 7.034962080e-06f, 7.053693326e-06f, 7.072410212e-06f, 7.091112708e-06f, 7.109800783e-06f, 7.128474406e-06f, 7.147133547e-06f, 7.165778174e-06f, 7.184408258e-06f,
+7.203023767e-06f, 7.221624672e-06f, 7.240210940e-06f, 7.258782543e-06f, 7.277339450e-06f, 7.295881629e-06f, 7.314409052e-06f, 7.332921686e-06f, 7.351419502e-06f, 7.369902470e-06f,
+7.388370559e-06f, 7.406823739e-06f, 7.425261980e-06f, 7.443685251e-06f, 7.462093523e-06f, 7.480486764e-06f, 7.498864946e-06f, 7.517228037e-06f, 7.535576009e-06f, 7.553908830e-06f,
+7.572226470e-06f, 7.590528901e-06f, 7.608816091e-06f, 7.627088012e-06f, 7.645344632e-06f, 7.663585922e-06f, 7.681811853e-06f, 7.700022394e-06f, 7.718217516e-06f, 7.736397189e-06f,
+7.754561383e-06f, 7.772710068e-06f, 7.790843216e-06f, 7.808960795e-06f, 7.827062778e-06f, 7.845149134e-06f, 7.863219833e-06f, 7.881274846e-06f, 7.899314144e-06f, 7.917337697e-06f,
+7.935345476e-06f, 7.953337451e-06f, 7.971313593e-06f, 7.989273873e-06f, 8.007218261e-06f, 8.025146729e-06f, 8.043059246e-06f, 8.060955784e-06f, 8.078836314e-06f, 8.096700806e-06f,
+8.114549232e-06f, 8.132381561e-06f, 8.150197766e-06f, 8.167997818e-06f, 8.185781686e-06f, 8.203549343e-06f, 8.221300759e-06f, 8.239035906e-06f, 8.256754755e-06f, 8.274457276e-06f,
+8.292143441e-06f, 8.309813222e-06f, 8.327466589e-06f, 8.345103514e-06f, 8.362723968e-06f, 8.380327923e-06f, 8.397915350e-06f, 8.415486220e-06f, 8.433040505e-06f, 8.450578177e-06f,
+8.468099206e-06f, 8.485603565e-06f, 8.503091225e-06f, 8.520562158e-06f, 8.538016335e-06f, 8.555453728e-06f, 8.572874309e-06f, 8.590278050e-06f, 8.607664921e-06f, 8.625034896e-06f,
+8.642387946e-06f, 8.659724043e-06f, 8.677043159e-06f, 8.694345265e-06f, 8.711630334e-06f, 8.728898338e-06f, 8.746149249e-06f, 8.763383039e-06f, 8.780599679e-06f, 8.797799143e-06f,
+8.814981402e-06f, 8.832146429e-06f, 8.849294195e-06f, 8.866424674e-06f, 8.883537837e-06f, 8.900633656e-06f, 8.917712105e-06f, 8.934773156e-06f, 8.951816780e-06f, 8.968842951e-06f,
+8.985851641e-06f, 9.002842822e-06f, 9.019816467e-06f, 9.036772549e-06f, 9.053711041e-06f, 9.070631914e-06f, 9.087535143e-06f, 9.104420698e-06f, 9.121288555e-06f, 9.138138684e-06f,
+9.154971059e-06f, 9.171785653e-06f, 9.188582439e-06f, 9.205361389e-06f, 9.222122477e-06f, 9.238865676e-06f, 9.255590959e-06f, 9.272298298e-06f, 9.288987668e-06f, 9.305659041e-06f,
+9.322312389e-06f, 9.338947688e-06f, 9.355564909e-06f, 9.372164027e-06f, 9.388745014e-06f, 9.405307843e-06f, 9.421852489e-06f, 9.438378925e-06f, 9.454887123e-06f, 9.471377058e-06f,
+9.487848704e-06f, 9.504302033e-06f, 9.520737019e-06f, 9.537153636e-06f, 9.553551858e-06f, 9.569931658e-06f, 9.586293011e-06f, 9.602635889e-06f, 9.618960267e-06f, 9.635266118e-06f,
+9.651553417e-06f, 9.667822137e-06f, 9.684072252e-06f, 9.700303737e-06f, 9.716516564e-06f, 9.732710710e-06f, 9.748886146e-06f, 9.765042849e-06f, 9.781180791e-06f, 9.797299947e-06f,
+9.813400291e-06f, 9.829481798e-06f, 9.845544441e-06f, 9.861588196e-06f, 9.877613036e-06f, 9.893618936e-06f, 9.909605870e-06f, 9.925573813e-06f, 9.941522740e-06f, 9.957452624e-06f,
+9.973363441e-06f, 9.989255165e-06f, 1.000512777e-05f, 1.002098123e-05f, 1.003681553e-05f, 1.005263063e-05f, 1.006842651e-05f, 1.008420315e-05f, 1.009996051e-05f, 1.011569859e-05f,
+1.013141734e-05f, 1.014711675e-05f, 1.016279679e-05f, 1.017845743e-05f, 1.019409866e-05f, 1.020972044e-05f, 1.022532275e-05f, 1.024090557e-05f, 1.025646887e-05f, 1.027201262e-05f,
+1.028753681e-05f, 1.030304141e-05f, 1.031852639e-05f, 1.033399172e-05f, 1.034943740e-05f, 1.036486338e-05f, 1.038026964e-05f, 1.039565617e-05f, 1.041102293e-05f, 1.042636990e-05f,
+1.044169706e-05f, 1.045700438e-05f, 1.047229184e-05f, 1.048755942e-05f, 1.050280709e-05f, 1.051803482e-05f, 1.053324260e-05f, 1.054843039e-05f, 1.056359818e-05f, 1.057874594e-05f,
+1.059387364e-05f, 1.060898127e-05f, 1.062406879e-05f, 1.063913619e-05f, 1.065418344e-05f, 1.066921052e-05f, 1.068421740e-05f, 1.069920406e-05f, 1.071417048e-05f, 1.072911663e-05f,
+1.074404249e-05f, 1.075894803e-05f, 1.077383324e-05f, 1.078869808e-05f, 1.080354254e-05f, 1.081836659e-05f, 1.083317021e-05f, 1.084795338e-05f, 1.086271607e-05f, 1.087745825e-05f,
+1.089217991e-05f, 1.090688103e-05f, 1.092156157e-05f, 1.093622152e-05f, 1.095086085e-05f, 1.096547954e-05f, 1.098007757e-05f, 1.099465492e-05f, 1.100921155e-05f, 1.102374746e-05f,
+1.103826261e-05f, 1.105275698e-05f, 1.106723055e-05f, 1.108168330e-05f, 1.109611521e-05f, 1.111052625e-05f, 1.112491639e-05f, 1.113928563e-05f, 1.115363393e-05f, 1.116796127e-05f,
+1.118226764e-05f, 1.119655300e-05f, 1.121081733e-05f, 1.122506062e-05f, 1.123928284e-05f, 1.125348397e-05f, 1.126766398e-05f, 1.128182286e-05f, 1.129596058e-05f, 1.131007712e-05f,
+1.132417246e-05f, 1.133824657e-05f, 1.135229944e-05f, 1.136633104e-05f, 1.138034135e-05f, 1.139433035e-05f, 1.140829802e-05f, 1.142224433e-05f, 1.143616927e-05f, 1.145007281e-05f,
+1.146395492e-05f, 1.147781560e-05f, 1.149165481e-05f, 1.150547254e-05f, 1.151926876e-05f, 1.153304346e-05f, 1.154679660e-05f, 1.156052818e-05f, 1.157423816e-05f, 1.158792653e-05f,
+1.160159327e-05f, 1.161523835e-05f, 1.162886176e-05f, 1.164246346e-05f, 1.165604345e-05f, 1.166960171e-05f, 1.168313820e-05f, 1.169665290e-05f, 1.171014581e-05f, 1.172361689e-05f,
+1.173706613e-05f, 1.175049351e-05f, 1.176389899e-05f, 1.177728258e-05f, 1.179064423e-05f, 1.180398394e-05f, 1.181730168e-05f, 1.183059743e-05f, 1.184387117e-05f, 1.185712289e-05f,
+1.187035255e-05f, 1.188356014e-05f, 1.189674564e-05f, 1.190990903e-05f, 1.192305029e-05f, 1.193616940e-05f, 1.194926633e-05f, 1.196234108e-05f, 1.197539361e-05f, 1.198842391e-05f,
+1.200143196e-05f, 1.201441773e-05f, 1.202738122e-05f, 1.204032239e-05f, 1.205324123e-05f, 1.206613772e-05f, 1.207901184e-05f, 1.209186356e-05f, 1.210469288e-05f, 1.211749977e-05f,
+1.213028420e-05f, 1.214304617e-05f, 1.215578565e-05f, 1.216850262e-05f, 1.218119706e-05f, 1.219386895e-05f, 1.220651828e-05f, 1.221914502e-05f, 1.223174916e-05f, 1.224433067e-05f,
+1.225688954e-05f, 1.226942574e-05f, 1.228193927e-05f, 1.229443009e-05f, 1.230689819e-05f, 1.231934356e-05f, 1.233176616e-05f, 1.234416599e-05f, 1.235654302e-05f, 1.236889724e-05f,
+1.238122863e-05f, 1.239353716e-05f, 1.240582282e-05f, 1.241808560e-05f, 1.243032546e-05f, 1.244254240e-05f, 1.245473640e-05f, 1.246690743e-05f, 1.247905548e-05f, 1.249118053e-05f,
+1.250328256e-05f, 1.251536155e-05f, 1.252741749e-05f, 1.253945035e-05f, 1.255146012e-05f, 1.256344678e-05f, 1.257541032e-05f, 1.258735071e-05f, 1.259926793e-05f, 1.261116197e-05f,
+1.262303282e-05f, 1.263488044e-05f, 1.264670483e-05f, 1.265850596e-05f, 1.267028383e-05f, 1.268203840e-05f, 1.269376967e-05f, 1.270547762e-05f, 1.271716222e-05f, 1.272882346e-05f,
+1.274046133e-05f, 1.275207580e-05f, 1.276366686e-05f, 1.277523449e-05f, 1.278677867e-05f, 1.279829939e-05f, 1.280979663e-05f, 1.282127037e-05f, 1.283272060e-05f, 1.284414729e-05f,
+1.285555043e-05f, 1.286693001e-05f, 1.287828600e-05f, 1.288961839e-05f, 1.290092716e-05f, 1.291221230e-05f, 1.292347379e-05f, 1.293471161e-05f, 1.294592574e-05f, 1.295711618e-05f,
+1.296828289e-05f, 1.297942587e-05f, 1.299054510e-05f, 1.300164056e-05f, 1.301271224e-05f, 1.302376011e-05f, 1.303478417e-05f, 1.304578440e-05f, 1.305676077e-05f, 1.306771328e-05f,
+1.307864191e-05f, 1.308954663e-05f, 1.310042745e-05f, 1.311128433e-05f, 1.312211726e-05f, 1.313292624e-05f, 1.314371123e-05f, 1.315447223e-05f, 1.316520922e-05f, 1.317592218e-05f,
+1.318661110e-05f, 1.319727596e-05f, 1.320791675e-05f, 1.321853345e-05f, 1.322912604e-05f, 1.323969451e-05f, 1.325023885e-05f, 1.326075904e-05f, 1.327125505e-05f, 1.328172689e-05f,
+1.329217453e-05f, 1.330259795e-05f, 1.331299715e-05f, 1.332337210e-05f, 1.333372280e-05f, 1.334404922e-05f, 1.335435135e-05f, 1.336462917e-05f, 1.337488268e-05f, 1.338511186e-05f,
+1.339531668e-05f, 1.340549714e-05f, 1.341565323e-05f, 1.342578492e-05f, 1.343589220e-05f, 1.344597506e-05f, 1.345603348e-05f, 1.346606745e-05f, 1.347607695e-05f, 1.348606197e-05f,
+1.349602250e-05f, 1.350595851e-05f, 1.351587000e-05f, 1.352575695e-05f, 1.353561935e-05f, 1.354545718e-05f, 1.355527043e-05f, 1.356505909e-05f, 1.357482313e-05f, 1.358456255e-05f,
+1.359427734e-05f, 1.360396747e-05f, 1.361363293e-05f, 1.362327371e-05f, 1.363288981e-05f, 1.364248119e-05f, 1.365204785e-05f, 1.366158978e-05f, 1.367110696e-05f, 1.368059937e-05f,
+1.369006701e-05f, 1.369950986e-05f, 1.370892791e-05f, 1.371832114e-05f, 1.372768954e-05f, 1.373703310e-05f, 1.374635180e-05f, 1.375564563e-05f, 1.376491458e-05f, 1.377415864e-05f,
+1.378337778e-05f, 1.379257200e-05f, 1.380174129e-05f, 1.381088562e-05f, 1.382000500e-05f, 1.382909940e-05f, 1.383816881e-05f, 1.384721323e-05f, 1.385623263e-05f, 1.386522700e-05f,
+1.387419634e-05f, 1.388314062e-05f, 1.389205984e-05f, 1.390095399e-05f, 1.390982305e-05f, 1.391866700e-05f, 1.392748584e-05f, 1.393627956e-05f, 1.394504814e-05f, 1.395379157e-05f,
+1.396250983e-05f, 1.397120292e-05f, 1.397987082e-05f, 1.398851352e-05f, 1.399713102e-05f, 1.400572328e-05f, 1.401429032e-05f, 1.402283210e-05f, 1.403134863e-05f, 1.403983988e-05f,
+1.404830585e-05f, 1.405674653e-05f, 1.406516190e-05f, 1.407355196e-05f, 1.408191668e-05f, 1.409025606e-05f, 1.409857009e-05f, 1.410685876e-05f, 1.411512205e-05f, 1.412335995e-05f,
+1.413157245e-05f, 1.413975955e-05f, 1.414792122e-05f, 1.415605746e-05f, 1.416416826e-05f, 1.417225360e-05f, 1.418031348e-05f, 1.418834789e-05f, 1.419635680e-05f, 1.420434022e-05f,
+1.421229812e-05f, 1.422023051e-05f, 1.422813737e-05f, 1.423601868e-05f, 1.424387444e-05f, 1.425170464e-05f, 1.425950926e-05f, 1.426728830e-05f, 1.427504175e-05f, 1.428276959e-05f,
+1.429047182e-05f, 1.429814841e-05f, 1.430579938e-05f, 1.431342469e-05f, 1.432102435e-05f, 1.432859834e-05f, 1.433614666e-05f, 1.434366928e-05f, 1.435116621e-05f, 1.435863743e-05f,
+1.436608294e-05f, 1.437350271e-05f, 1.438089675e-05f, 1.438826504e-05f, 1.439560758e-05f, 1.440292434e-05f, 1.441021534e-05f, 1.441748054e-05f, 1.442471995e-05f, 1.443193355e-05f,
+1.443912134e-05f, 1.444628331e-05f, 1.445341944e-05f, 1.446052973e-05f, 1.446761416e-05f, 1.447467274e-05f, 1.448170544e-05f, 1.448871226e-05f, 1.449569319e-05f, 1.450264823e-05f,
+1.450957736e-05f, 1.451648057e-05f, 1.452335785e-05f, 1.453020920e-05f, 1.453703461e-05f, 1.454383407e-05f, 1.455060756e-05f, 1.455735508e-05f, 1.456407663e-05f, 1.457077219e-05f,
+1.457744175e-05f, 1.458408531e-05f, 1.459070286e-05f, 1.459729438e-05f, 1.460385988e-05f, 1.461039934e-05f, 1.461691275e-05f, 1.462340011e-05f, 1.462986140e-05f, 1.463629662e-05f,
+1.464270577e-05f, 1.464908883e-05f, 1.465544579e-05f, 1.466177665e-05f, 1.466808139e-05f, 1.467436002e-05f, 1.468061252e-05f, 1.468683889e-05f, 1.469303911e-05f, 1.469921318e-05f,
+1.470536110e-05f, 1.471148285e-05f, 1.471757843e-05f, 1.472364782e-05f, 1.472969103e-05f, 1.473570804e-05f, 1.474169885e-05f, 1.474766345e-05f, 1.475360183e-05f, 1.475951398e-05f,
+1.476539990e-05f, 1.477125959e-05f, 1.477709302e-05f, 1.478290021e-05f, 1.478868113e-05f, 1.479443578e-05f, 1.480016416e-05f, 1.480586626e-05f, 1.481154207e-05f, 1.481719159e-05f,
+1.482281480e-05f, 1.482841171e-05f, 1.483398230e-05f, 1.483952656e-05f, 1.484504450e-05f, 1.485053611e-05f, 1.485600137e-05f, 1.486144028e-05f, 1.486685284e-05f, 1.487223904e-05f,
+1.487759888e-05f, 1.488293234e-05f, 1.488823942e-05f, 1.489352011e-05f, 1.489877442e-05f, 1.490400232e-05f, 1.490920382e-05f, 1.491437892e-05f, 1.491952759e-05f, 1.492464985e-05f,
+1.492974568e-05f, 1.493481507e-05f, 1.493985803e-05f, 1.494487454e-05f, 1.494986460e-05f, 1.495482821e-05f, 1.495976535e-05f, 1.496467603e-05f, 1.496956024e-05f, 1.497441797e-05f,
+1.497924921e-05f, 1.498405397e-05f, 1.498883223e-05f, 1.499358400e-05f, 1.499830926e-05f, 1.500300801e-05f, 1.500768025e-05f, 1.501232597e-05f, 1.501694516e-05f, 1.502153783e-05f,
+1.502610396e-05f, 1.503064355e-05f, 1.503515660e-05f, 1.503964310e-05f, 1.504410305e-05f, 1.504853644e-05f, 1.505294326e-05f, 1.505732352e-05f, 1.506167721e-05f, 1.506600433e-05f,
+1.507030486e-05f, 1.507457880e-05f, 1.507882616e-05f, 1.508304693e-05f, 1.508724109e-05f, 1.509140866e-05f, 1.509554962e-05f, 1.509966397e-05f, 1.510375170e-05f, 1.510781282e-05f,
+1.511184731e-05f, 1.511585518e-05f, 1.511983642e-05f, 1.512379103e-05f, 1.512771899e-05f, 1.513162032e-05f, 1.513549500e-05f, 1.513934303e-05f, 1.514316441e-05f, 1.514695914e-05f,
+1.515072720e-05f, 1.515446861e-05f, 1.515818334e-05f, 1.516187141e-05f, 1.516553280e-05f, 1.516916752e-05f, 1.517277556e-05f, 1.517635692e-05f, 1.517991159e-05f, 1.518343957e-05f,
+1.518694086e-05f, 1.519041546e-05f, 1.519386335e-05f, 1.519728455e-05f, 1.520067905e-05f, 1.520404684e-05f, 1.520738792e-05f, 1.521070228e-05f, 1.521398994e-05f, 1.521725087e-05f,
+1.522048509e-05f, 1.522369259e-05f, 1.522687336e-05f, 1.523002740e-05f, 1.523315472e-05f, 1.523625530e-05f, 1.523932915e-05f, 1.524237626e-05f, 1.524539664e-05f, 1.524839027e-05f,
+1.525135717e-05f, 1.525429731e-05f, 1.525721072e-05f, 1.526009737e-05f, 1.526295727e-05f, 1.526579042e-05f, 1.526859682e-05f, 1.527137646e-05f, 1.527412934e-05f, 1.527685546e-05f,
+1.527955482e-05f, 1.528222742e-05f, 1.528487326e-05f, 1.528749233e-05f, 1.529008463e-05f, 1.529265016e-05f, 1.529518893e-05f, 1.529770092e-05f, 1.530018614e-05f, 1.530264459e-05f,
+1.530507626e-05f, 1.530748116e-05f, 1.530985928e-05f, 1.531221062e-05f, 1.531453518e-05f, 1.531683296e-05f, 1.531910397e-05f, 1.532134819e-05f, 1.532356562e-05f, 1.532575628e-05f,
+1.532792015e-05f, 1.533005723e-05f, 1.533216754e-05f, 1.533425105e-05f, 1.533630778e-05f, 1.533833772e-05f, 1.534034088e-05f, 1.534231725e-05f, 1.534426683e-05f, 1.534618962e-05f,
+1.534808562e-05f, 1.534995484e-05f, 1.535179726e-05f, 1.535361290e-05f, 1.535540175e-05f, 1.535716381e-05f, 1.535889908e-05f, 1.536060756e-05f, 1.536228925e-05f, 1.536394416e-05f,
+1.536557227e-05f, 1.536717360e-05f, 1.536874814e-05f, 1.537029590e-05f, 1.537181686e-05f, 1.537331104e-05f, 1.537477844e-05f, 1.537621905e-05f, 1.537763287e-05f, 1.537901991e-05f,
+1.538038017e-05f, 1.538171365e-05f, 1.538302034e-05f, 1.538430025e-05f, 1.538555338e-05f, 1.538677973e-05f, 1.538797931e-05f, 1.538915210e-05f, 1.539029812e-05f, 1.539141737e-05f,
+1.539250984e-05f, 1.539357554e-05f, 1.539461446e-05f, 1.539562662e-05f, 1.539661201e-05f, 1.539757063e-05f, 1.539850248e-05f, 1.539940757e-05f, 1.540028590e-05f, 1.540113746e-05f,
+1.540196227e-05f, 1.540276031e-05f, 1.540353160e-05f, 1.540427614e-05f, 1.540499392e-05f, 1.540568495e-05f, 1.540634923e-05f, 1.540698677e-05f, 1.540759756e-05f, 1.540818160e-05f,
+1.540873891e-05f, 1.540926947e-05f, 1.540977330e-05f, 1.541025039e-05f, 1.541070075e-05f, 1.541112439e-05f, 1.541152129e-05f, 1.541189147e-05f, 1.541223492e-05f, 1.541255166e-05f,
+1.541284167e-05f, 1.541310497e-05f, 1.541334156e-05f, 1.541355144e-05f, 1.541373461e-05f, 1.541389108e-05f, 1.541402084e-05f, 1.541412391e-05f, 1.541420028e-05f, 1.541424995e-05f,
+1.541427294e-05f, 1.541426924e-05f, 1.541423886e-05f, 1.541418179e-05f, 1.541409805e-05f, 1.541398763e-05f, 1.541385054e-05f, 1.541368679e-05f, 1.541349637e-05f, 1.541327928e-05f,
+1.541303555e-05f, 1.541276515e-05f, 1.541246811e-05f, 1.541214442e-05f, 1.541179408e-05f, 1.541141711e-05f, 1.541101350e-05f, 1.541058326e-05f, 1.541012639e-05f, 1.540964290e-05f,
+1.540913278e-05f, 1.540859605e-05f, 1.540803271e-05f, 1.540744275e-05f, 1.540682620e-05f, 1.540618304e-05f, 1.540551329e-05f, 1.540481694e-05f, 1.540409401e-05f, 1.540334449e-05f,
+1.540256840e-05f, 1.540176573e-05f, 1.540093649e-05f, 1.540008069e-05f, 1.539919832e-05f, 1.539828940e-05f, 1.539735392e-05f, 1.539639190e-05f, 1.539540334e-05f, 1.539438824e-05f,
+1.539334661e-05f, 1.539227845e-05f, 1.539118376e-05f, 1.539006256e-05f, 1.538891485e-05f, 1.538774062e-05f, 1.538653990e-05f, 1.538531267e-05f, 1.538405896e-05f, 1.538277876e-05f,
+1.538147207e-05f, 1.538013891e-05f, 1.537877928e-05f, 1.537739318e-05f, 1.537598062e-05f, 1.537454161e-05f, 1.537307614e-05f, 1.537158423e-05f, 1.537006589e-05f, 1.536852111e-05f,
+1.536694991e-05f, 1.536535228e-05f, 1.536372824e-05f, 1.536207779e-05f, 1.536040094e-05f, 1.535869769e-05f, 1.535696805e-05f, 1.535521202e-05f, 1.535342961e-05f, 1.535162084e-05f,
+1.534978569e-05f, 1.534792418e-05f, 1.534603632e-05f, 1.534412211e-05f, 1.534218156e-05f, 1.534021467e-05f, 1.533822146e-05f, 1.533620192e-05f, 1.533415606e-05f, 1.533208390e-05f,
+1.532998544e-05f, 1.532786067e-05f, 1.532570962e-05f, 1.532353229e-05f, 1.532132868e-05f, 1.531909880e-05f, 1.531684266e-05f, 1.531456027e-05f, 1.531225162e-05f, 1.530991674e-05f,
+1.530755562e-05f, 1.530516828e-05f, 1.530275471e-05f, 1.530031493e-05f, 1.529784895e-05f, 1.529535677e-05f, 1.529283840e-05f, 1.529029385e-05f, 1.528772312e-05f, 1.528512622e-05f,
+1.528250316e-05f, 1.527985395e-05f, 1.527717859e-05f, 1.527447710e-05f, 1.527174947e-05f, 1.526899573e-05f, 1.526621586e-05f, 1.526340990e-05f, 1.526057783e-05f, 1.525771967e-05f,
+1.525483543e-05f, 1.525192511e-05f, 1.524898873e-05f, 1.524602628e-05f, 1.524303779e-05f, 1.524002325e-05f, 1.523698268e-05f, 1.523391609e-05f, 1.523082347e-05f, 1.522770485e-05f,
+1.522456023e-05f, 1.522138961e-05f, 1.521819301e-05f, 1.521497043e-05f, 1.521172189e-05f, 1.520844739e-05f, 1.520514694e-05f, 1.520182054e-05f, 1.519846822e-05f, 1.519508997e-05f,
+1.519168581e-05f, 1.518825574e-05f, 1.518479978e-05f, 1.518131793e-05f, 1.517781020e-05f, 1.517427660e-05f, 1.517071714e-05f, 1.516713183e-05f, 1.516352067e-05f, 1.515988369e-05f,
+1.515622088e-05f, 1.515253225e-05f, 1.514881782e-05f, 1.514507760e-05f, 1.514131159e-05f, 1.513751980e-05f, 1.513370225e-05f, 1.512985894e-05f, 1.512598988e-05f, 1.512209508e-05f,
+1.511817456e-05f, 1.511422831e-05f, 1.511025636e-05f, 1.510625871e-05f, 1.510223537e-05f, 1.509818635e-05f, 1.509411166e-05f, 1.509001131e-05f, 1.508588532e-05f, 1.508173368e-05f,
+1.507755642e-05f, 1.507335353e-05f, 1.506912504e-05f, 1.506487095e-05f, 1.506059128e-05f, 1.505628602e-05f, 1.505195520e-05f, 1.504759883e-05f, 1.504321690e-05f, 1.503880944e-05f,
+1.503437646e-05f, 1.502991796e-05f, 1.502543396e-05f, 1.502092447e-05f, 1.501638950e-05f, 1.501182905e-05f, 1.500724314e-05f, 1.500263178e-05f, 1.499799499e-05f, 1.499333277e-05f,
+1.498864513e-05f, 1.498393208e-05f, 1.497919364e-05f, 1.497442982e-05f, 1.496964063e-05f, 1.496482607e-05f, 1.495998617e-05f, 1.495512093e-05f, 1.495023036e-05f, 1.494531447e-05f,
+1.494037328e-05f, 1.493540680e-05f, 1.493041504e-05f, 1.492539800e-05f, 1.492035571e-05f, 1.491528818e-05f, 1.491019541e-05f, 1.490507741e-05f, 1.489993421e-05f, 1.489476580e-05f,
+1.488957221e-05f, 1.488435345e-05f, 1.487910952e-05f, 1.487384044e-05f, 1.486854622e-05f, 1.486322687e-05f, 1.485788240e-05f, 1.485251284e-05f, 1.484711818e-05f, 1.484169845e-05f,
+1.483625364e-05f, 1.483078379e-05f, 1.482528889e-05f, 1.481976896e-05f, 1.481422402e-05f, 1.480865407e-05f, 1.480305913e-05f, 1.479743921e-05f, 1.479179433e-05f, 1.478612449e-05f,
+1.478042971e-05f, 1.477471000e-05f, 1.476896538e-05f, 1.476319585e-05f, 1.475740144e-05f, 1.475158214e-05f, 1.474573799e-05f, 1.473986898e-05f, 1.473397513e-05f, 1.472805646e-05f,
+1.472211298e-05f, 1.471614469e-05f, 1.471015163e-05f, 1.470413379e-05f, 1.469809119e-05f, 1.469202385e-05f, 1.468593177e-05f, 1.467981498e-05f, 1.467367348e-05f, 1.466750729e-05f,
+1.466131642e-05f, 1.465510088e-05f, 1.464886070e-05f, 1.464259588e-05f, 1.463630643e-05f, 1.462999237e-05f, 1.462365372e-05f, 1.461729049e-05f, 1.461090268e-05f, 1.460449033e-05f,
+1.459805343e-05f, 1.459159200e-05f, 1.458510607e-05f, 1.457859563e-05f, 1.457206071e-05f, 1.456550132e-05f, 1.455891747e-05f, 1.455230918e-05f, 1.454567647e-05f, 1.453901934e-05f,
+1.453233781e-05f, 1.452563190e-05f, 1.451890162e-05f, 1.451214698e-05f, 1.450536800e-05f, 1.449856469e-05f, 1.449173708e-05f, 1.448488516e-05f, 1.447800896e-05f, 1.447110850e-05f,
+1.446418378e-05f, 1.445723482e-05f, 1.445026164e-05f, 1.444326425e-05f, 1.443624267e-05f, 1.442919691e-05f, 1.442212699e-05f, 1.441503291e-05f, 1.440791471e-05f, 1.440077238e-05f,
+1.439360595e-05f, 1.438641543e-05f, 1.437920084e-05f, 1.437196220e-05f, 1.436469951e-05f, 1.435741279e-05f, 1.435010206e-05f, 1.434276734e-05f, 1.433540864e-05f, 1.432802597e-05f,
+1.432061935e-05f, 1.431318880e-05f, 1.430573433e-05f, 1.429825595e-05f, 1.429075369e-05f, 1.428322756e-05f, 1.427567757e-05f, 1.426810375e-05f, 1.426050610e-05f, 1.425288464e-05f,
+1.424523939e-05f, 1.423757037e-05f, 1.422987759e-05f, 1.422216106e-05f, 1.421442080e-05f, 1.420665684e-05f, 1.419886918e-05f, 1.419105784e-05f, 1.418322283e-05f, 1.417536418e-05f,
+1.416748191e-05f, 1.415957601e-05f, 1.415164652e-05f, 1.414369345e-05f, 1.413571682e-05f, 1.412771664e-05f, 1.411969292e-05f, 1.411164570e-05f, 1.410357497e-05f, 1.409548076e-05f,
+1.408736309e-05f, 1.407922198e-05f, 1.407105743e-05f, 1.406286947e-05f, 1.405465811e-05f, 1.404642337e-05f, 1.403816526e-05f, 1.402988381e-05f, 1.402157904e-05f, 1.401325095e-05f,
+1.400489956e-05f, 1.399652490e-05f, 1.398812698e-05f, 1.397970581e-05f, 1.397126142e-05f, 1.396279382e-05f, 1.395430303e-05f, 1.394578907e-05f, 1.393725194e-05f, 1.392869168e-05f,
+1.392010830e-05f, 1.391150181e-05f, 1.390287224e-05f, 1.389421960e-05f, 1.388554391e-05f, 1.387684518e-05f, 1.386812344e-05f, 1.385937871e-05f, 1.385061099e-05f, 1.384182031e-05f,
+1.383300668e-05f, 1.382417013e-05f, 1.381531067e-05f, 1.380642832e-05f, 1.379752310e-05f, 1.378859502e-05f, 1.377964411e-05f, 1.377067037e-05f, 1.376167384e-05f, 1.375265453e-05f,
+1.374361245e-05f, 1.373454763e-05f, 1.372546008e-05f, 1.371634983e-05f, 1.370721688e-05f, 1.369806126e-05f, 1.368888299e-05f, 1.367968209e-05f, 1.367045857e-05f, 1.366121245e-05f,
+1.365194375e-05f, 1.364265249e-05f, 1.363333869e-05f, 1.362400237e-05f, 1.361464355e-05f, 1.360526224e-05f, 1.359585846e-05f, 1.358643224e-05f, 1.357698359e-05f, 1.356751253e-05f,
+1.355801907e-05f, 1.354850325e-05f, 1.353896508e-05f, 1.352940457e-05f, 1.351982175e-05f, 1.351021663e-05f, 1.350058924e-05f, 1.349093959e-05f, 1.348126770e-05f, 1.347157360e-05f,
+1.346185729e-05f, 1.345211881e-05f, 1.344235817e-05f, 1.343257539e-05f, 1.342277049e-05f, 1.341294349e-05f, 1.340309441e-05f, 1.339322326e-05f, 1.338333007e-05f, 1.337341486e-05f,
+1.336347765e-05f, 1.335351845e-05f, 1.334353730e-05f, 1.333353419e-05f, 1.332350917e-05f, 1.331346224e-05f, 1.330339343e-05f, 1.329330275e-05f, 1.328319023e-05f, 1.327305589e-05f,
+1.326289974e-05f, 1.325272181e-05f, 1.324252212e-05f, 1.323230068e-05f, 1.322205752e-05f, 1.321179266e-05f, 1.320150611e-05f, 1.319119791e-05f, 1.318086806e-05f, 1.317051659e-05f,
+1.316014352e-05f, 1.314974887e-05f, 1.313933266e-05f, 1.312889491e-05f, 1.311843564e-05f, 1.310795488e-05f, 1.309745264e-05f, 1.308692894e-05f, 1.307638380e-05f, 1.306581725e-05f,
+1.305522930e-05f, 1.304461999e-05f, 1.303398931e-05f, 1.302333731e-05f, 1.301266400e-05f, 1.300196939e-05f, 1.299125352e-05f, 1.298051639e-05f, 1.296975805e-05f, 1.295897849e-05f,
+1.294817775e-05f, 1.293735585e-05f, 1.292651280e-05f, 1.291564864e-05f, 1.290476337e-05f, 1.289385703e-05f, 1.288292963e-05f, 1.287198119e-05f, 1.286101174e-05f, 1.285002129e-05f,
+1.283900987e-05f, 1.282797751e-05f, 1.281692421e-05f, 1.280585001e-05f, 1.279475492e-05f, 1.278363897e-05f, 1.277250218e-05f, 1.276134456e-05f, 1.275016615e-05f, 1.273896696e-05f,
+1.272774702e-05f, 1.271650634e-05f, 1.270524495e-05f, 1.269396287e-05f, 1.268266013e-05f, 1.267133674e-05f, 1.265999272e-05f, 1.264862811e-05f, 1.263724291e-05f, 1.262583716e-05f,
+1.261441087e-05f, 1.260296407e-05f, 1.259149678e-05f, 1.258000902e-05f, 1.256850082e-05f, 1.255697219e-05f, 1.254542316e-05f, 1.253385375e-05f, 1.252226398e-05f, 1.251065388e-05f,
+1.249902346e-05f, 1.248737276e-05f, 1.247570179e-05f, 1.246401058e-05f, 1.245229914e-05f, 1.244056751e-05f, 1.242881570e-05f, 1.241704373e-05f, 1.240525163e-05f, 1.239343943e-05f,
+1.238160714e-05f, 1.236975479e-05f, 1.235788240e-05f, 1.234598999e-05f, 1.233407758e-05f, 1.232214521e-05f, 1.231019289e-05f, 1.229822064e-05f, 1.228622849e-05f, 1.227421646e-05f,
+1.226218458e-05f, 1.225013286e-05f, 1.223806134e-05f, 1.222597003e-05f, 1.221385895e-05f, 1.220172814e-05f, 1.218957761e-05f, 1.217740738e-05f, 1.216521749e-05f, 1.215300795e-05f,
+1.214077879e-05f, 1.212853002e-05f, 1.211626168e-05f, 1.210397379e-05f, 1.209166637e-05f, 1.207933945e-05f, 1.206699304e-05f, 1.205462718e-05f, 1.204224188e-05f, 1.202983717e-05f,
+1.201741307e-05f, 1.200496961e-05f, 1.199250681e-05f, 1.198002469e-05f, 1.196752329e-05f, 1.195500261e-05f, 1.194246269e-05f, 1.192990356e-05f, 1.191732522e-05f, 1.190472772e-05f,
+1.189211106e-05f, 1.187947528e-05f, 1.186682041e-05f, 1.185414645e-05f, 1.184145345e-05f, 1.182874142e-05f, 1.181601038e-05f, 1.180326037e-05f, 1.179049140e-05f, 1.177770350e-05f,
+1.176489670e-05f, 1.175207101e-05f, 1.173922647e-05f, 1.172636310e-05f, 1.171348091e-05f, 1.170057995e-05f, 1.168766022e-05f, 1.167472176e-05f, 1.166176459e-05f, 1.164878874e-05f,
+1.163579422e-05f, 1.162278107e-05f, 1.160974930e-05f, 1.159669895e-05f, 1.158363004e-05f, 1.157054259e-05f, 1.155743663e-05f, 1.154431218e-05f, 1.153116927e-05f, 1.151800792e-05f,
+1.150482816e-05f, 1.149163002e-05f, 1.147841350e-05f, 1.146517865e-05f, 1.145192549e-05f, 1.143865404e-05f, 1.142536433e-05f, 1.141205638e-05f, 1.139873022e-05f, 1.138538587e-05f,
+1.137202337e-05f, 1.135864272e-05f, 1.134524396e-05f, 1.133182712e-05f, 1.131839222e-05f, 1.130493928e-05f, 1.129146833e-05f, 1.127797940e-05f, 1.126447250e-05f, 1.125094768e-05f,
+1.123740495e-05f, 1.122384433e-05f, 1.121026586e-05f, 1.119666956e-05f, 1.118305545e-05f, 1.116942356e-05f, 1.115577392e-05f, 1.114210655e-05f, 1.112842147e-05f, 1.111471872e-05f,
+1.110099832e-05f, 1.108726029e-05f, 1.107350466e-05f, 1.105973146e-05f, 1.104594071e-05f, 1.103213244e-05f, 1.101830667e-05f, 1.100446343e-05f, 1.099060275e-05f, 1.097672465e-05f,
+1.096282916e-05f, 1.094891631e-05f, 1.093498611e-05f, 1.092103860e-05f, 1.090707380e-05f, 1.089309174e-05f, 1.087909245e-05f, 1.086507595e-05f, 1.085104226e-05f, 1.083699142e-05f,
+1.082292345e-05f, 1.080883838e-05f, 1.079473622e-05f, 1.078061702e-05f, 1.076648080e-05f, 1.075232757e-05f, 1.073815738e-05f, 1.072397024e-05f, 1.070976618e-05f, 1.069554523e-05f,
+1.068130741e-05f, 1.066705276e-05f, 1.065278129e-05f, 1.063849304e-05f, 1.062418803e-05f, 1.060986629e-05f, 1.059552785e-05f, 1.058117272e-05f, 1.056680095e-05f, 1.055241255e-05f,
+1.053800755e-05f, 1.052358598e-05f, 1.050914787e-05f, 1.049469324e-05f, 1.048022212e-05f, 1.046573454e-05f, 1.045123052e-05f, 1.043671009e-05f, 1.042217328e-05f, 1.040762012e-05f,
+1.039305063e-05f, 1.037846483e-05f, 1.036386277e-05f, 1.034924445e-05f, 1.033460992e-05f, 1.031995920e-05f, 1.030529231e-05f, 1.029060928e-05f, 1.027591015e-05f, 1.026119493e-05f,
+1.024646365e-05f, 1.023171635e-05f, 1.021695305e-05f, 1.020217377e-05f, 1.018737855e-05f, 1.017256741e-05f, 1.015774038e-05f, 1.014289749e-05f, 1.012803876e-05f, 1.011316422e-05f,
+1.009827391e-05f, 1.008336784e-05f, 1.006844604e-05f, 1.005350855e-05f, 1.003855539e-05f, 1.002358658e-05f, 1.000860216e-05f, 9.993602155e-06f, 9.978586591e-06f, 9.963555495e-06f,
+9.948508896e-06f, 9.933446822e-06f, 9.918369301e-06f, 9.903276360e-06f, 9.888168028e-06f, 9.873044332e-06f, 9.857905300e-06f, 9.842750961e-06f, 9.827581343e-06f, 9.812396472e-06f,
+9.797196379e-06f, 9.781981090e-06f, 9.766750633e-06f, 9.751505038e-06f, 9.736244332e-06f, 9.720968543e-06f, 9.705677699e-06f, 9.690371830e-06f, 9.675050962e-06f, 9.659715124e-06f,
+9.644364345e-06f, 9.628998653e-06f, 9.613618076e-06f, 9.598222643e-06f, 9.582812381e-06f, 9.567387320e-06f, 9.551947488e-06f, 9.536492913e-06f, 9.521023624e-06f, 9.505539649e-06f,
+9.490041017e-06f, 9.474527757e-06f, 9.458999896e-06f, 9.443457464e-06f, 9.427900489e-06f, 9.412328999e-06f, 9.396743025e-06f, 9.381142593e-06f, 9.365527733e-06f, 9.349898473e-06f,
+9.334254843e-06f, 9.318596871e-06f, 9.302924586e-06f, 9.287238016e-06f, 9.271537191e-06f, 9.255822139e-06f, 9.240092889e-06f, 9.224349471e-06f, 9.208591912e-06f, 9.192820242e-06f,
+9.177034491e-06f, 9.161234686e-06f, 9.145420857e-06f, 9.129593032e-06f, 9.113751242e-06f, 9.097895515e-06f, 9.082025880e-06f, 9.066142366e-06f, 9.050245002e-06f, 9.034333818e-06f,
+9.018408842e-06f, 9.002470105e-06f, 8.986517634e-06f, 8.970551459e-06f, 8.954571610e-06f, 8.938578116e-06f, 8.922571006e-06f, 8.906550309e-06f, 8.890516055e-06f, 8.874468273e-06f,
+8.858406992e-06f, 8.842332242e-06f, 8.826244052e-06f, 8.810142452e-06f, 8.794027471e-06f, 8.777899139e-06f, 8.761757484e-06f, 8.745602537e-06f, 8.729434327e-06f, 8.713252884e-06f,
+8.697058237e-06f, 8.680850415e-06f, 8.664629449e-06f, 8.648395368e-06f, 8.632148202e-06f, 8.615887980e-06f, 8.599614732e-06f, 8.583328487e-06f, 8.567029276e-06f, 8.550717129e-06f,
+8.534392074e-06f, 8.518054141e-06f, 8.501703362e-06f, 8.485339764e-06f, 8.468963379e-06f, 8.452574235e-06f, 8.436172364e-06f, 8.419757794e-06f, 8.403330555e-06f, 8.386890679e-06f,
+8.370438194e-06f, 8.353973130e-06f, 8.337495518e-06f, 8.321005387e-06f, 8.304502768e-06f, 8.287987690e-06f, 8.271460184e-06f, 8.254920279e-06f, 8.238368006e-06f, 8.221803395e-06f,
+8.205226476e-06f, 8.188637279e-06f, 8.172035835e-06f, 8.155422172e-06f, 8.138796323e-06f, 8.122158316e-06f, 8.105508182e-06f, 8.088845952e-06f, 8.072171655e-06f, 8.055485323e-06f,
+8.038786984e-06f, 8.022076670e-06f, 8.005354411e-06f, 7.988620237e-06f, 7.971874178e-06f, 7.955116266e-06f, 7.938346530e-06f, 7.921565000e-06f, 7.904771708e-06f, 7.887966684e-06f,
+7.871149957e-06f, 7.854321560e-06f, 7.837481521e-06f, 7.820629873e-06f, 7.803766644e-06f, 7.786891866e-06f, 7.770005570e-06f, 7.753107785e-06f, 7.736198543e-06f, 7.719277874e-06f,
+7.702345809e-06f, 7.685402379e-06f, 7.668447613e-06f, 7.651481544e-06f, 7.634504200e-06f, 7.617515614e-06f, 7.600515816e-06f, 7.583504837e-06f, 7.566482707e-06f, 7.549449458e-06f,
+7.532405119e-06f, 7.515349723e-06f, 7.498283299e-06f, 7.481205878e-06f, 7.464117492e-06f, 7.447018171e-06f, 7.429907947e-06f, 7.412786849e-06f, 7.395654910e-06f, 7.378512159e-06f,
+7.361358628e-06f, 7.344194348e-06f, 7.327019350e-06f, 7.309833665e-06f, 7.292637323e-06f, 7.275430357e-06f, 7.258212796e-06f, 7.240984672e-06f, 7.223746016e-06f, 7.206496860e-06f,
+7.189237233e-06f, 7.171967168e-06f, 7.154686695e-06f, 7.137395846e-06f, 7.120094652e-06f, 7.102783143e-06f, 7.085461352e-06f, 7.068129308e-06f, 7.050787045e-06f, 7.033434592e-06f,
+7.016071981e-06f, 6.998699243e-06f, 6.981316410e-06f, 6.963923513e-06f, 6.946520582e-06f, 6.929107651e-06f, 6.911684748e-06f, 6.894251907e-06f, 6.876809159e-06f, 6.859356534e-06f,
+6.841894064e-06f, 6.824421781e-06f, 6.806939715e-06f, 6.789447899e-06f, 6.771946364e-06f, 6.754435141e-06f, 6.736914262e-06f, 6.719383758e-06f, 6.701843661e-06f, 6.684294002e-06f,
+6.666734813e-06f, 6.649166124e-06f, 6.631587969e-06f, 6.614000378e-06f, 6.596403382e-06f, 6.578797014e-06f, 6.561181305e-06f, 6.543556287e-06f, 6.525921991e-06f, 6.508278449e-06f,
+6.490625692e-06f, 6.472963752e-06f, 6.455292661e-06f, 6.437612451e-06f, 6.419923153e-06f, 6.402224798e-06f, 6.384517419e-06f, 6.366801048e-06f, 6.349075715e-06f, 6.331341454e-06f,
+6.313598294e-06f, 6.295846269e-06f, 6.278085410e-06f, 6.260315749e-06f, 6.242537318e-06f, 6.224750148e-06f, 6.206954272e-06f, 6.189149720e-06f, 6.171336526e-06f, 6.153514720e-06f,
+6.135684335e-06f, 6.117845403e-06f, 6.099997955e-06f, 6.082142024e-06f, 6.064277641e-06f, 6.046404838e-06f, 6.028523647e-06f, 6.010634101e-06f, 5.992736230e-06f, 5.974830068e-06f,
+5.956915646e-06f, 5.938992995e-06f, 5.921062149e-06f, 5.903123139e-06f, 5.885175997e-06f, 5.867220755e-06f, 5.849257445e-06f, 5.831286100e-06f, 5.813306750e-06f, 5.795319429e-06f,
+5.777324169e-06f, 5.759321001e-06f, 5.741309957e-06f, 5.723291071e-06f, 5.705264373e-06f, 5.687229896e-06f, 5.669187673e-06f, 5.651137734e-06f, 5.633080114e-06f, 5.615014842e-06f,
+5.596941953e-06f, 5.578861478e-06f, 5.560773448e-06f, 5.542677898e-06f, 5.524574857e-06f, 5.506464360e-06f, 5.488346438e-06f, 5.470221123e-06f, 5.452088448e-06f, 5.433948445e-06f,
+5.415801146e-06f, 5.397646583e-06f, 5.379484789e-06f, 5.361315796e-06f, 5.343139636e-06f, 5.324956342e-06f, 5.306765946e-06f, 5.288568481e-06f, 5.270363977e-06f, 5.252152469e-06f,
+5.233933989e-06f, 5.215708568e-06f, 5.197476239e-06f, 5.179237035e-06f, 5.160990987e-06f, 5.142738129e-06f, 5.124478493e-06f, 5.106212111e-06f, 5.087939015e-06f, 5.069659238e-06f,
+5.051372813e-06f, 5.033079771e-06f, 5.014780146e-06f, 4.996473970e-06f, 4.978161275e-06f, 4.959842094e-06f, 4.941516459e-06f, 4.923184402e-06f, 4.904845957e-06f, 4.886501156e-06f,
+4.868150031e-06f, 4.849792614e-06f, 4.831428939e-06f, 4.813059038e-06f, 4.794682943e-06f, 4.776300687e-06f, 4.757912303e-06f, 4.739517823e-06f, 4.721117279e-06f, 4.702710704e-06f,
+4.684298132e-06f, 4.665879593e-06f, 4.647455122e-06f, 4.629024750e-06f, 4.610588511e-06f, 4.592146436e-06f, 4.573698559e-06f, 4.555244912e-06f, 4.536785527e-06f, 4.518320438e-06f,
+4.499849677e-06f, 4.481373277e-06f, 4.462891270e-06f, 4.444403689e-06f, 4.425910566e-06f, 4.407411935e-06f, 4.388907828e-06f, 4.370398278e-06f, 4.351883317e-06f, 4.333362978e-06f,
+4.314837294e-06f, 4.296306297e-06f, 4.277770021e-06f, 4.259228498e-06f, 4.240681760e-06f, 4.222129841e-06f, 4.203572773e-06f, 4.185010589e-06f, 4.166443321e-06f, 4.147871003e-06f,
+4.129293667e-06f, 4.110711346e-06f, 4.092124073e-06f, 4.073531880e-06f, 4.054934801e-06f, 4.036332867e-06f, 4.017726113e-06f, 3.999114570e-06f, 3.980498271e-06f, 3.961877250e-06f,
+3.943251538e-06f, 3.924621170e-06f, 3.905986177e-06f, 3.887346592e-06f, 3.868702449e-06f, 3.850053780e-06f, 3.831400618e-06f, 3.812742995e-06f, 3.794080945e-06f, 3.775414501e-06f,
+3.756743695e-06f, 3.738068560e-06f, 3.719389129e-06f, 3.700705435e-06f, 3.682017510e-06f, 3.663325388e-06f, 3.644629102e-06f, 3.625928684e-06f, 3.607224167e-06f, 3.588515584e-06f,
+3.569802968e-06f, 3.551086352e-06f, 3.532365768e-06f, 3.513641251e-06f, 3.494912831e-06f, 3.476180543e-06f, 3.457444420e-06f, 3.438704493e-06f, 3.419960797e-06f, 3.401213363e-06f,
+3.382462226e-06f, 3.363707417e-06f, 3.344948970e-06f, 3.326186918e-06f, 3.307421293e-06f, 3.288652129e-06f, 3.269879458e-06f, 3.251103313e-06f, 3.232323728e-06f, 3.213540735e-06f,
+3.194754367e-06f, 3.175964657e-06f, 3.157171638e-06f, 3.138375343e-06f, 3.119575805e-06f, 3.100773057e-06f, 3.081967131e-06f, 3.063158061e-06f, 3.044345880e-06f, 3.025530620e-06f,
+3.006712315e-06f, 2.987890998e-06f, 2.969066701e-06f, 2.950239457e-06f, 2.931409300e-06f, 2.912576262e-06f, 2.893740376e-06f, 2.874901675e-06f, 2.856060193e-06f, 2.837215962e-06f,
+2.818369015e-06f, 2.799519385e-06f, 2.780667105e-06f, 2.761812208e-06f, 2.742954727e-06f, 2.724094695e-06f, 2.705232145e-06f, 2.686367110e-06f, 2.667499623e-06f, 2.648629716e-06f,
+2.629757423e-06f, 2.610882777e-06f, 2.592005811e-06f, 2.573126557e-06f, 2.554245049e-06f, 2.535361320e-06f, 2.516475402e-06f, 2.497587329e-06f, 2.478697133e-06f, 2.459804848e-06f,
+2.440910506e-06f, 2.422014141e-06f, 2.403115785e-06f, 2.384215471e-06f, 2.365313233e-06f, 2.346409103e-06f, 2.327503114e-06f, 2.308595300e-06f, 2.289685693e-06f, 2.270774325e-06f,
+2.251861231e-06f, 2.232946443e-06f, 2.214029995e-06f, 2.195111918e-06f, 2.176192246e-06f, 2.157271012e-06f, 2.138348249e-06f, 2.119423989e-06f, 2.100498267e-06f, 2.081571114e-06f,
+2.062642564e-06f, 2.043712649e-06f, 2.024781403e-06f, 2.005848859e-06f, 1.986915049e-06f, 1.967980007e-06f, 1.949043765e-06f, 1.930106356e-06f, 1.911167814e-06f, 1.892228170e-06f,
+1.873287459e-06f, 1.854345713e-06f, 1.835402965e-06f, 1.816459248e-06f, 1.797514594e-06f, 1.778569038e-06f, 1.759622611e-06f, 1.740675346e-06f, 1.721727278e-06f, 1.702778437e-06f,
+1.683828858e-06f, 1.664878574e-06f, 1.645927616e-06f, 1.626976019e-06f, 1.608023814e-06f, 1.589071035e-06f, 1.570117716e-06f, 1.551163887e-06f, 1.532209584e-06f, 1.513254838e-06f,
+1.494299682e-06f, 1.475344149e-06f, 1.456388273e-06f, 1.437432085e-06f, 1.418475619e-06f, 1.399518908e-06f, 1.380561985e-06f, 1.361604882e-06f, 1.342647632e-06f, 1.323690269e-06f,
+1.304732824e-06f, 1.285775331e-06f, 1.266817823e-06f, 1.247860333e-06f, 1.228902893e-06f, 1.209945536e-06f, 1.190988295e-06f, 1.172031203e-06f, 1.153074293e-06f, 1.134117597e-06f,
+1.115161148e-06f, 1.096204980e-06f, 1.077249124e-06f, 1.058293614e-06f, 1.039338483e-06f, 1.020383763e-06f, 1.001429486e-06f, 9.824756873e-07f, 9.635223977e-07f, 9.445696506e-07f,
+9.256174786e-07f, 9.066659145e-07f, 8.877149911e-07f, 8.687647412e-07f, 8.498151974e-07f, 8.308663926e-07f, 8.119183594e-07f, 7.929711307e-07f, 7.740247390e-07f, 7.550792172e-07f,
+7.361345979e-07f, 7.171909139e-07f, 6.982481979e-07f, 6.793064826e-07f, 6.603658006e-07f, 6.414261847e-07f, 6.224876675e-07f, 6.035502817e-07f, 5.846140600e-07f, 5.656790350e-07f,
+5.467452395e-07f, 5.278127060e-07f, 5.088814673e-07f, 4.899515559e-07f, 4.710230044e-07f, 4.520958456e-07f, 4.331701120e-07f, 4.142458363e-07f, 3.953230511e-07f, 3.764017889e-07f,
+3.574820824e-07f, 3.385639641e-07f, 3.196474667e-07f, 3.007326227e-07f, 2.818194647e-07f, 2.629080253e-07f, 2.439983370e-07f, 2.250904323e-07f, 2.061843438e-07f, 1.872801041e-07f,
+1.683777457e-07f, 1.494773011e-07f, 1.305788028e-07f, 1.116822833e-07f, 9.278777511e-08f, 7.389531076e-08f, 5.500492273e-08f, 3.611664347e-08f, 1.723050548e-08f, -1.653458791e-09f,
+-2.053521688e-08f, -3.941473634e-08f, -5.829198474e-08f, -7.716692962e-08f, -9.603953857e-08f, -1.149097792e-07f, -1.337776190e-07f, -1.526430257e-07f, -1.715059668e-07f, -1.903664100e-07f,
+-2.092243229e-07f, -2.280796730e-07f, -2.469324281e-07f, -2.657825558e-07f, -2.846300238e-07f, -3.034747996e-07f, -3.223168510e-07f, -3.411561457e-07f, -3.599926514e-07f, -3.788263357e-07f,
+-3.976571663e-07f, -4.164851110e-07f, -4.353101375e-07f, -4.541322135e-07f, -4.729513067e-07f, -4.917673850e-07f, -5.105804161e-07f, -5.293903676e-07f, -5.481972075e-07f, -5.670009035e-07f,
+-5.858014234e-07f, -6.045987350e-07f, -6.233928061e-07f, -6.421836046e-07f, -6.609710982e-07f, -6.797552548e-07f, -6.985360423e-07f, -7.173134285e-07f, -7.360873813e-07f, -7.548578685e-07f,
+-7.736248582e-07f, -7.923883181e-07f, -8.111482162e-07f, -8.299045203e-07f, -8.486571985e-07f, -8.674062187e-07f, -8.861515488e-07f, -9.048931567e-07f, -9.236310105e-07f, -9.423650781e-07f,
+-9.610953276e-07f, -9.798217268e-07f, -9.985442439e-07f, -1.017262847e-06f, -1.035977504e-06f, -1.054688182e-06f, -1.073394851e-06f, -1.092097478e-06f, -1.110796031e-06f, -1.129490478e-06f,
+-1.148180787e-06f, -1.166866927e-06f, -1.185548865e-06f, -1.204226570e-06f, -1.222900010e-06f, -1.241569153e-06f, -1.260233967e-06f, -1.278894420e-06f, -1.297550481e-06f, -1.316202117e-06f,
+-1.334849297e-06f, -1.353491989e-06f, -1.372130162e-06f, -1.390763783e-06f, -1.409392821e-06f, -1.428017244e-06f, -1.446637021e-06f, -1.465252119e-06f, -1.483862507e-06f, -1.502468153e-06f,
+-1.521069026e-06f, -1.539665094e-06f, -1.558256325e-06f, -1.576842688e-06f, -1.595424151e-06f, -1.614000682e-06f, -1.632572250e-06f, -1.651138823e-06f, -1.669700370e-06f, -1.688256859e-06f,
+-1.706808258e-06f, -1.725354537e-06f, -1.743895662e-06f, -1.762431604e-06f, -1.780962330e-06f, -1.799487810e-06f, -1.818008010e-06f, -1.836522901e-06f, -1.855032450e-06f, -1.873536626e-06f,
+-1.892035398e-06f, -1.910528734e-06f, -1.929016603e-06f, -1.947498974e-06f, -1.965975814e-06f, -1.984447094e-06f, -2.002912780e-06f, -2.021372843e-06f, -2.039827251e-06f, -2.058275972e-06f,
+-2.076718975e-06f, -2.095156229e-06f, -2.113587703e-06f, -2.132013365e-06f, -2.150433184e-06f, -2.168847129e-06f, -2.187255168e-06f, -2.205657271e-06f, -2.224053407e-06f, -2.242443543e-06f,
+-2.260827650e-06f, -2.279205695e-06f, -2.297577648e-06f, -2.315943478e-06f, -2.334303153e-06f, -2.352656643e-06f, -2.371003916e-06f, -2.389344941e-06f, -2.407679687e-06f, -2.426008124e-06f,
+-2.444330220e-06f, -2.462645944e-06f, -2.480955265e-06f, -2.499258153e-06f, -2.517554575e-06f, -2.535844503e-06f, -2.554127903e-06f, -2.572404747e-06f, -2.590675001e-06f, -2.608938637e-06f,
+-2.627195622e-06f, -2.645445927e-06f, -2.663689520e-06f, -2.681926370e-06f, -2.700156447e-06f, -2.718379719e-06f, -2.736596157e-06f, -2.754805729e-06f, -2.773008404e-06f, -2.791204153e-06f,
+-2.809392943e-06f, -2.827574745e-06f, -2.845749527e-06f, -2.863917260e-06f, -2.882077912e-06f, -2.900231453e-06f, -2.918377852e-06f, -2.936517078e-06f, -2.954649102e-06f, -2.972773892e-06f,
+-2.990891418e-06f, -3.009001649e-06f, -3.027104555e-06f, -3.045200105e-06f, -3.063288270e-06f, -3.081369017e-06f, -3.099442318e-06f, -3.117508141e-06f, -3.135566456e-06f, -3.153617232e-06f,
+-3.171660440e-06f, -3.189696049e-06f, -3.207724029e-06f, -3.225744348e-06f, -3.243756978e-06f, -3.261761887e-06f, -3.279759045e-06f, -3.297748423e-06f, -3.315729989e-06f, -3.333703714e-06f,
+-3.351669567e-06f, -3.369627518e-06f, -3.387577537e-06f, -3.405519594e-06f, -3.423453658e-06f, -3.441379700e-06f, -3.459297690e-06f, -3.477207596e-06f, -3.495109390e-06f, -3.513003041e-06f,
+-3.530888519e-06f, -3.548765794e-06f, -3.566634836e-06f, -3.584495616e-06f, -3.602348102e-06f, -3.620192266e-06f, -3.638028076e-06f, -3.655855504e-06f, -3.673674520e-06f, -3.691485092e-06f,
+-3.709287193e-06f, -3.727080791e-06f, -3.744865857e-06f, -3.762642362e-06f, -3.780410274e-06f, -3.798169566e-06f, -3.815920206e-06f, -3.833662165e-06f, -3.851395414e-06f, -3.869119922e-06f,
+-3.886835660e-06f, -3.904542599e-06f, -3.922240708e-06f, -3.939929958e-06f, -3.957610320e-06f, -3.975281764e-06f, -3.992944260e-06f, -4.010597778e-06f, -4.028242290e-06f, -4.045877766e-06f,
+-4.063504175e-06f, -4.081121490e-06f, -4.098729680e-06f, -4.116328715e-06f, -4.133918567e-06f, -4.151499207e-06f, -4.169070603e-06f, -4.186632728e-06f, -4.204185552e-06f, -4.221729046e-06f,
+-4.239263180e-06f, -4.256787925e-06f, -4.274303252e-06f, -4.291809132e-06f, -4.309305534e-06f, -4.326792431e-06f, -4.344269793e-06f, -4.361737591e-06f, -4.379195796e-06f, -4.396644378e-06f,
+-4.414083308e-06f, -4.431512558e-06f, -4.448932098e-06f, -4.466341899e-06f, -4.483741933e-06f, -4.501132170e-06f, -4.518512581e-06f, -4.535883137e-06f, -4.553243810e-06f, -4.570594571e-06f,
+-4.587935390e-06f, -4.605266238e-06f, -4.622587088e-06f, -4.639897909e-06f, -4.657198674e-06f, -4.674489353e-06f, -4.691769917e-06f, -4.709040339e-06f, -4.726300588e-06f, -4.743550637e-06f,
+-4.760790457e-06f, -4.778020019e-06f, -4.795239294e-06f, -4.812448254e-06f, -4.829646871e-06f, -4.846835115e-06f, -4.864012958e-06f, -4.881180371e-06f, -4.898337327e-06f, -4.915483796e-06f,
+-4.932619750e-06f, -4.949745160e-06f, -4.966859999e-06f, -4.983964237e-06f, -5.001057847e-06f, -5.018140800e-06f, -5.035213067e-06f, -5.052274621e-06f, -5.069325433e-06f, -5.086365474e-06f,
+-5.103394717e-06f, -5.120413133e-06f, -5.137420694e-06f, -5.154417372e-06f, -5.171403139e-06f, -5.188377966e-06f, -5.205341825e-06f, -5.222294689e-06f, -5.239236529e-06f, -5.256167317e-06f,
+-5.273087026e-06f, -5.289995626e-06f, -5.306893090e-06f, -5.323779391e-06f, -5.340654500e-06f, -5.357518389e-06f, -5.374371030e-06f, -5.391212396e-06f, -5.408042458e-06f, -5.424861190e-06f,
+-5.441668562e-06f, -5.458464547e-06f, -5.475249118e-06f, -5.492022247e-06f, -5.508783906e-06f, -5.525534066e-06f, -5.542272702e-06f, -5.558999785e-06f, -5.575715286e-06f, -5.592419180e-06f,
+-5.609111438e-06f, -5.625792032e-06f, -5.642460936e-06f, -5.659118121e-06f, -5.675763560e-06f, -5.692397226e-06f, -5.709019091e-06f, -5.725629128e-06f, -5.742227309e-06f, -5.758813608e-06f,
+-5.775387996e-06f, -5.791950446e-06f, -5.808500932e-06f, -5.825039425e-06f, -5.841565899e-06f, -5.858080326e-06f, -5.874582679e-06f, -5.891072932e-06f, -5.907551056e-06f, -5.924017025e-06f,
+-5.940470811e-06f, -5.956912388e-06f, -5.973341729e-06f, -5.989758806e-06f, -6.006163592e-06f, -6.022556061e-06f, -6.038936185e-06f, -6.055303938e-06f, -6.071659293e-06f, -6.088002222e-06f,
+-6.104332699e-06f, -6.120650698e-06f, -6.136956191e-06f, -6.153249151e-06f, -6.169529552e-06f, -6.185797367e-06f, -6.202052569e-06f, -6.218295132e-06f, -6.234525029e-06f, -6.250742234e-06f,
+-6.266946719e-06f, -6.283138458e-06f, -6.299317425e-06f, -6.315483593e-06f, -6.331636935e-06f, -6.347777426e-06f, -6.363905038e-06f, -6.380019745e-06f, -6.396121522e-06f, -6.412210340e-06f,
+-6.428286175e-06f, -6.444348999e-06f, -6.460398787e-06f, -6.476435512e-06f, -6.492459148e-06f, -6.508469669e-06f, -6.524467048e-06f, -6.540451259e-06f, -6.556422277e-06f, -6.572380074e-06f,
+-6.588324626e-06f, -6.604255905e-06f, -6.620173887e-06f, -6.636078544e-06f, -6.651969850e-06f, -6.667847781e-06f, -6.683712310e-06f, -6.699563411e-06f, -6.715401057e-06f, -6.731225224e-06f,
+-6.747035886e-06f, -6.762833016e-06f, -6.778616589e-06f, -6.794386579e-06f, -6.810142960e-06f, -6.825885707e-06f, -6.841614794e-06f, -6.857330196e-06f, -6.873031886e-06f, -6.888719839e-06f,
+-6.904394029e-06f, -6.920054432e-06f, -6.935701021e-06f, -6.951333772e-06f, -6.966952657e-06f, -6.982557653e-06f, -6.998148734e-06f, -7.013725874e-06f, -7.029289048e-06f, -7.044838230e-06f,
+-7.060373396e-06f, -7.075894520e-06f, -7.091401577e-06f, -7.106894541e-06f, -7.122373388e-06f, -7.137838092e-06f, -7.153288629e-06f, -7.168724972e-06f, -7.184147097e-06f, -7.199554980e-06f,
+-7.214948594e-06f, -7.230327915e-06f, -7.245692918e-06f, -7.261043578e-06f, -7.276379870e-06f, -7.291701769e-06f, -7.307009250e-06f, -7.322302289e-06f, -7.337580861e-06f, -7.352844941e-06f,
+-7.368094504e-06f, -7.383329525e-06f, -7.398549980e-06f, -7.413755844e-06f, -7.428947093e-06f, -7.444123702e-06f, -7.459285646e-06f, -7.474432901e-06f, -7.489565442e-06f, -7.504683244e-06f,
+-7.519786284e-06f, -7.534874537e-06f, -7.549947978e-06f, -7.565006584e-06f, -7.580050329e-06f, -7.595079189e-06f, -7.610093141e-06f, -7.625092160e-06f, -7.640076221e-06f, -7.655045300e-06f,
+-7.669999374e-06f, -7.684938418e-06f, -7.699862408e-06f, -7.714771320e-06f, -7.729665129e-06f, -7.744543813e-06f, -7.759407346e-06f, -7.774255705e-06f, -7.789088866e-06f, -7.803906805e-06f,
+-7.818709497e-06f, -7.833496921e-06f, -7.848269050e-06f, -7.863025862e-06f, -7.877767333e-06f, -7.892493439e-06f, -7.907204157e-06f, -7.921899462e-06f, -7.936579331e-06f, -7.951243740e-06f,
+-7.965892667e-06f, -7.980526086e-06f, -7.995143976e-06f, -8.009746311e-06f, -8.024333070e-06f, -8.038904227e-06f, -8.053459761e-06f, -8.067999647e-06f, -8.082523862e-06f, -8.097032384e-06f,
+-8.111525187e-06f, -8.126002250e-06f, -8.140463549e-06f, -8.154909061e-06f, -8.169338762e-06f, -8.183752630e-06f, -8.198150642e-06f, -8.212532774e-06f, -8.226899003e-06f, -8.241249306e-06f,
+-8.255583660e-06f, -8.269902043e-06f, -8.284204431e-06f, -8.298490802e-06f, -8.312761132e-06f, -8.327015399e-06f, -8.341253580e-06f, -8.355475652e-06f, -8.369681593e-06f, -8.383871379e-06f,
+-8.398044988e-06f, -8.412202398e-06f, -8.426343585e-06f, -8.440468527e-06f, -8.454577202e-06f, -8.468669587e-06f, -8.482745659e-06f, -8.496805397e-06f, -8.510848777e-06f, -8.524875777e-06f,
+-8.538886375e-06f, -8.552880549e-06f, -8.566858276e-06f, -8.580819533e-06f, -8.594764299e-06f, -8.608692552e-06f, -8.622604269e-06f, -8.636499427e-06f, -8.650378006e-06f, -8.664239983e-06f,
+-8.678085335e-06f, -8.691914041e-06f, -8.705726078e-06f, -8.719521426e-06f, -8.733300061e-06f, -8.747061962e-06f, -8.760807107e-06f, -8.774535474e-06f, -8.788247041e-06f, -8.801941787e-06f,
+-8.815619690e-06f, -8.829280728e-06f, -8.842924879e-06f, -8.856552122e-06f, -8.870162435e-06f, -8.883755796e-06f, -8.897332185e-06f, -8.910891579e-06f, -8.924433957e-06f, -8.937959297e-06f,
+-8.951467578e-06f, -8.964958779e-06f, -8.978432878e-06f, -8.991889854e-06f, -9.005329686e-06f, -9.018752352e-06f, -9.032157831e-06f, -9.045546102e-06f, -9.058917144e-06f, -9.072270935e-06f,
+-9.085607455e-06f, -9.098926682e-06f, -9.112228596e-06f, -9.125513175e-06f, -9.138780398e-06f, -9.152030245e-06f, -9.165262694e-06f, -9.178477724e-06f, -9.191675316e-06f, -9.204855447e-06f,
+-9.218018098e-06f, -9.231163246e-06f, -9.244290873e-06f, -9.257400956e-06f, -9.270493476e-06f, -9.283568412e-06f, -9.296625743e-06f, -9.309665448e-06f, -9.322687507e-06f, -9.335691900e-06f,
+-9.348678606e-06f, -9.361647605e-06f, -9.374598875e-06f, -9.387532398e-06f, -9.400448153e-06f, -9.413346118e-06f, -9.426226275e-06f, -9.439088603e-06f, -9.451933081e-06f, -9.464759690e-06f,
+-9.477568409e-06f, -9.490359218e-06f, -9.503132098e-06f, -9.515887028e-06f, -9.528623988e-06f, -9.541342958e-06f, -9.554043918e-06f, -9.566726849e-06f, -9.579391731e-06f, -9.592038543e-06f,
+-9.604667266e-06f, -9.617277881e-06f, -9.629870366e-06f, -9.642444704e-06f, -9.655000874e-06f, -9.667538856e-06f, -9.680058631e-06f, -9.692560180e-06f, -9.705043482e-06f, -9.717508519e-06f,
+-9.729955271e-06f, -9.742383718e-06f, -9.754793841e-06f, -9.767185621e-06f, -9.779559039e-06f, -9.791914074e-06f, -9.804250709e-06f, -9.816568923e-06f, -9.828868698e-06f, -9.841150014e-06f,
+-9.853412853e-06f, -9.865657194e-06f, -9.877883020e-06f, -9.890090311e-06f, -9.902279048e-06f, -9.914449213e-06f, -9.926600785e-06f, -9.938733748e-06f, -9.950848080e-06f, -9.962943765e-06f,
+-9.975020783e-06f, -9.987079115e-06f, -9.999118742e-06f, -1.001113965e-05f, -1.002314181e-05f, -1.003512521e-05f, -1.004708984e-05f, -1.005903566e-05f, -1.007096267e-05f, -1.008287085e-05f,
+-1.009476017e-05f, -1.010663063e-05f, -1.011848219e-05f, -1.013031485e-05f, -1.014212857e-05f, -1.015392336e-05f, -1.016569918e-05f, -1.017745602e-05f, -1.018919387e-05f, -1.020091269e-05f,
+-1.021261249e-05f, -1.022429322e-05f, -1.023595489e-05f, -1.024759747e-05f, -1.025922094e-05f, -1.027082529e-05f, -1.028241049e-05f, -1.029397653e-05f, -1.030552340e-05f, -1.031705107e-05f,
+-1.032855952e-05f, -1.034004875e-05f, -1.035151872e-05f, -1.036296943e-05f, -1.037440086e-05f, -1.038581298e-05f, -1.039720578e-05f, -1.040857925e-05f, -1.041993336e-05f, -1.043126810e-05f,
+-1.044258345e-05f, -1.045387940e-05f, -1.046515592e-05f, -1.047641300e-05f, -1.048765062e-05f, -1.049886877e-05f, -1.051006742e-05f, -1.052124657e-05f, -1.053240619e-05f, -1.054354626e-05f,
+-1.055466678e-05f, -1.056576771e-05f, -1.057684906e-05f, -1.058791079e-05f, -1.059895289e-05f, -1.060997535e-05f, -1.062097814e-05f, -1.063196126e-05f, -1.064292468e-05f, -1.065386839e-05f,
+-1.066479237e-05f, -1.067569661e-05f, -1.068658108e-05f, -1.069744578e-05f, -1.070829068e-05f, -1.071911577e-05f, -1.072992103e-05f, -1.074070644e-05f, -1.075147200e-05f, -1.076221768e-05f,
+-1.077294347e-05f, -1.078364934e-05f, -1.079433529e-05f, -1.080500130e-05f, -1.081564736e-05f, -1.082627343e-05f, -1.083687952e-05f, -1.084746560e-05f, -1.085803166e-05f, -1.086857768e-05f,
+-1.087910365e-05f, -1.088960955e-05f, -1.090009536e-05f, -1.091056107e-05f, -1.092100666e-05f, -1.093143212e-05f, -1.094183743e-05f, -1.095222258e-05f, -1.096258754e-05f, -1.097293232e-05f,
+-1.098325688e-05f, -1.099356121e-05f, -1.100384530e-05f, -1.101410913e-05f, -1.102435269e-05f, -1.103457597e-05f, -1.104477893e-05f, -1.105496158e-05f, -1.106512390e-05f, -1.107526587e-05f,
+-1.108538747e-05f, -1.109548869e-05f, -1.110556952e-05f, -1.111562993e-05f, -1.112566992e-05f, -1.113568948e-05f, -1.114568857e-05f, -1.115566720e-05f, -1.116562534e-05f, -1.117556298e-05f,
+-1.118548011e-05f, -1.119537671e-05f, -1.120525277e-05f, -1.121510826e-05f, -1.122494319e-05f, -1.123475752e-05f, -1.124455126e-05f, -1.125432437e-05f, -1.126407686e-05f, -1.127380870e-05f,
+-1.128351988e-05f, -1.129321038e-05f, -1.130288019e-05f, -1.131252930e-05f, -1.132215770e-05f, -1.133176536e-05f, -1.134135227e-05f, -1.135091843e-05f, -1.136046381e-05f, -1.136998840e-05f,
+-1.137949219e-05f, -1.138897516e-05f, -1.139843730e-05f, -1.140787860e-05f, -1.141729903e-05f, -1.142669860e-05f, -1.143607728e-05f, -1.144543506e-05f, -1.145477192e-05f, -1.146408786e-05f,
+-1.147338286e-05f, -1.148265690e-05f, -1.149190997e-05f, -1.150114206e-05f, -1.151035316e-05f, -1.151954325e-05f, -1.152871231e-05f, -1.153786034e-05f, -1.154698732e-05f, -1.155609323e-05f,
+-1.156517807e-05f, -1.157424182e-05f, -1.158328447e-05f, -1.159230601e-05f, -1.160130641e-05f, -1.161028567e-05f, -1.161924378e-05f, -1.162818072e-05f, -1.163709648e-05f, -1.164599104e-05f,
+-1.165486440e-05f, -1.166371654e-05f, -1.167254744e-05f, -1.168135710e-05f, -1.169014551e-05f, -1.169891264e-05f, -1.170765848e-05f, -1.171638304e-05f, -1.172508628e-05f, -1.173376820e-05f,
+-1.174242879e-05f, -1.175106803e-05f, -1.175968591e-05f, -1.176828242e-05f, -1.177685755e-05f, -1.178541128e-05f, -1.179394360e-05f, -1.180245450e-05f, -1.181094397e-05f, -1.181941199e-05f,
+-1.182785856e-05f, -1.183628366e-05f, -1.184468727e-05f, -1.185306939e-05f, -1.186143001e-05f, -1.186976911e-05f, -1.187808668e-05f, -1.188638271e-05f, -1.189465719e-05f, -1.190291010e-05f,
+-1.191114143e-05f, -1.191935118e-05f, -1.192753933e-05f, -1.193570586e-05f, -1.194385077e-05f, -1.195197405e-05f, -1.196007568e-05f, -1.196815565e-05f, -1.197621396e-05f, -1.198425058e-05f,
+-1.199226551e-05f, -1.200025874e-05f, -1.200823025e-05f, -1.201618004e-05f, -1.202410809e-05f, -1.203201439e-05f, -1.203989893e-05f, -1.204776170e-05f, -1.205560269e-05f, -1.206342188e-05f,
+-1.207121928e-05f, -1.207899486e-05f, -1.208674861e-05f, -1.209448052e-05f, -1.210219059e-05f, -1.210987880e-05f, -1.211754515e-05f, -1.212518961e-05f, -1.213281218e-05f, -1.214041285e-05f,
+-1.214799161e-05f, -1.215554845e-05f, -1.216308336e-05f, -1.217059632e-05f, -1.217808733e-05f, -1.218555638e-05f, -1.219300345e-05f, -1.220042854e-05f, -1.220783163e-05f, -1.221521272e-05f,
+-1.222257179e-05f, -1.222990884e-05f, -1.223722385e-05f, -1.224451681e-05f, -1.225178772e-05f, -1.225903657e-05f, -1.226626334e-05f, -1.227346802e-05f, -1.228065061e-05f, -1.228781109e-05f,
+-1.229494946e-05f, -1.230206570e-05f, -1.230915981e-05f, -1.231623178e-05f, -1.232328159e-05f, -1.233030924e-05f, -1.233731471e-05f, -1.234429800e-05f, -1.235125910e-05f, -1.235819800e-05f,
+-1.236511469e-05f, -1.237200916e-05f, -1.237888139e-05f, -1.238573139e-05f, -1.239255914e-05f, -1.239936463e-05f, -1.240614786e-05f, -1.241290881e-05f, -1.241964748e-05f, -1.242636385e-05f,
+-1.243305792e-05f, -1.243972968e-05f, -1.244637911e-05f, -1.245300622e-05f, -1.245961099e-05f, -1.246619341e-05f, -1.247275348e-05f, -1.247929118e-05f, -1.248580650e-05f, -1.249229945e-05f,
+-1.249877000e-05f, -1.250521815e-05f, -1.251164390e-05f, -1.251804723e-05f, -1.252442814e-05f, -1.253078661e-05f, -1.253712264e-05f, -1.254343622e-05f, -1.254972734e-05f, -1.255599599e-05f,
+-1.256224217e-05f, -1.256846587e-05f, -1.257466708e-05f, -1.258084578e-05f, -1.258700198e-05f, -1.259313567e-05f, -1.259924683e-05f, -1.260533546e-05f, -1.261140155e-05f, -1.261744509e-05f,
+-1.262346608e-05f, -1.262946451e-05f, -1.263544036e-05f, -1.264139364e-05f, -1.264732433e-05f, -1.265323243e-05f, -1.265911793e-05f, -1.266498082e-05f, -1.267082110e-05f, -1.267663875e-05f,
+-1.268243377e-05f, -1.268820615e-05f, -1.269395588e-05f, -1.269968297e-05f, -1.270538739e-05f, -1.271106915e-05f, -1.271672823e-05f, -1.272236463e-05f, -1.272797834e-05f, -1.273356935e-05f,
+-1.273913767e-05f, -1.274468327e-05f, -1.275020615e-05f, -1.275570632e-05f, -1.276118375e-05f, -1.276663844e-05f, -1.277207039e-05f, -1.277747959e-05f, -1.278286604e-05f, -1.278822972e-05f,
+-1.279357062e-05f, -1.279888875e-05f, -1.280418410e-05f, -1.280945666e-05f, -1.281470642e-05f, -1.281993337e-05f, -1.282513752e-05f, -1.283031885e-05f, -1.283547736e-05f, -1.284061304e-05f,
+-1.284572588e-05f, -1.285081589e-05f, -1.285588305e-05f, -1.286092735e-05f, -1.286594880e-05f, -1.287094738e-05f, -1.287592309e-05f, -1.288087592e-05f, -1.288580587e-05f, -1.289071293e-05f,
+-1.289559709e-05f, -1.290045836e-05f, -1.290529672e-05f, -1.291011217e-05f, -1.291490470e-05f, -1.291967430e-05f, -1.292442098e-05f, -1.292914473e-05f, -1.293384553e-05f, -1.293852339e-05f,
+-1.294317830e-05f, -1.294781025e-05f, -1.295241925e-05f, -1.295700527e-05f, -1.296156833e-05f, -1.296610840e-05f, -1.297062550e-05f, -1.297511961e-05f, -1.297959072e-05f, -1.298403884e-05f,
+-1.298846396e-05f, -1.299286607e-05f, -1.299724516e-05f, -1.300160124e-05f, -1.300593430e-05f, -1.301024433e-05f, -1.301453133e-05f, -1.301879530e-05f, -1.302303622e-05f, -1.302725410e-05f,
+-1.303144892e-05f, -1.303562070e-05f, -1.303976941e-05f, -1.304389506e-05f, -1.304799764e-05f, -1.305207715e-05f, -1.305613358e-05f, -1.306016694e-05f, -1.306417720e-05f, -1.306816438e-05f,
+-1.307212846e-05f, -1.307606945e-05f, -1.307998733e-05f, -1.308388211e-05f, -1.308775377e-05f, -1.309160232e-05f, -1.309542776e-05f, -1.309923007e-05f, -1.310300926e-05f, -1.310676531e-05f,
+-1.311049824e-05f, -1.311420802e-05f, -1.311789467e-05f, -1.312155817e-05f, -1.312519852e-05f, -1.312881572e-05f, -1.313240976e-05f, -1.313598065e-05f, -1.313952837e-05f, -1.314305293e-05f,
+-1.314655432e-05f, -1.315003253e-05f, -1.315348757e-05f, -1.315691944e-05f, -1.316032812e-05f, -1.316371361e-05f, -1.316707591e-05f, -1.317041503e-05f, -1.317373095e-05f, -1.317702367e-05f,
+-1.318029319e-05f, -1.318353950e-05f, -1.318676262e-05f, -1.318996252e-05f, -1.319313920e-05f, -1.319629268e-05f, -1.319942293e-05f, -1.320252997e-05f, -1.320561378e-05f, -1.320867437e-05f,
+-1.321171173e-05f, -1.321472586e-05f, -1.321771675e-05f, -1.322068441e-05f, -1.322362883e-05f, -1.322655001e-05f, -1.322944795e-05f, -1.323232264e-05f, -1.323517409e-05f, -1.323800228e-05f,
+-1.324080723e-05f, -1.324358892e-05f, -1.324634735e-05f, -1.324908253e-05f, -1.325179444e-05f, -1.325448310e-05f, -1.325714849e-05f, -1.325979061e-05f, -1.326240947e-05f, -1.326500506e-05f,
+-1.326757738e-05f, -1.327012642e-05f, -1.327265219e-05f, -1.327515468e-05f, -1.327763390e-05f, -1.328008984e-05f, -1.328252249e-05f, -1.328493187e-05f, -1.328731796e-05f, -1.328968076e-05f,
+-1.329202028e-05f, -1.329433651e-05f, -1.329662945e-05f, -1.329889910e-05f, -1.330114546e-05f, -1.330336853e-05f, -1.330556830e-05f, -1.330774478e-05f, -1.330989796e-05f, -1.331202785e-05f,
+-1.331413444e-05f, -1.331621773e-05f, -1.331827772e-05f, -1.332031441e-05f, -1.332232780e-05f, -1.332431788e-05f, -1.332628467e-05f, -1.332822815e-05f, -1.333014833e-05f, -1.333204520e-05f,
+-1.333391877e-05f, -1.333576903e-05f, -1.333759599e-05f, -1.333939964e-05f, -1.334117998e-05f, -1.334293702e-05f, -1.334467074e-05f, -1.334638116e-05f, -1.334806828e-05f, -1.334973208e-05f,
+-1.335137258e-05f, -1.335298977e-05f, -1.335458365e-05f, -1.335615422e-05f, -1.335770148e-05f, -1.335922544e-05f, -1.336072608e-05f, -1.336220342e-05f, -1.336365745e-05f, -1.336508818e-05f,
+-1.336649559e-05f, -1.336787970e-05f, -1.336924050e-05f, -1.337057800e-05f, -1.337189219e-05f, -1.337318307e-05f, -1.337445065e-05f, -1.337569493e-05f, -1.337691590e-05f, -1.337811357e-05f,
+-1.337928793e-05f, -1.338043900e-05f, -1.338156676e-05f, -1.338267122e-05f, -1.338375239e-05f, -1.338481025e-05f, -1.338584482e-05f, -1.338685609e-05f, -1.338784406e-05f, -1.338880874e-05f,
+-1.338975013e-05f, -1.339066822e-05f, -1.339156303e-05f, -1.339243454e-05f, -1.339328276e-05f, -1.339410770e-05f, -1.339490935e-05f, -1.339568771e-05f, -1.339644279e-05f, -1.339717459e-05f,
+-1.339788311e-05f, -1.339856835e-05f, -1.339923031e-05f, -1.339986900e-05f, -1.340048441e-05f, -1.340107654e-05f, -1.340164541e-05f, -1.340219101e-05f, -1.340271334e-05f, -1.340321241e-05f,
+-1.340368821e-05f, -1.340414075e-05f, -1.340457003e-05f, -1.340497605e-05f, -1.340535881e-05f, -1.340571833e-05f, -1.340605459e-05f, -1.340636760e-05f, -1.340665736e-05f, -1.340692388e-05f,
+-1.340716716e-05f, -1.340738719e-05f, -1.340758399e-05f, -1.340775755e-05f, -1.340790788e-05f, -1.340803498e-05f, -1.340813885e-05f, -1.340821949e-05f, -1.340827691e-05f, -1.340831111e-05f,
+-1.340832209e-05f, -1.340830986e-05f, -1.340827442e-05f, -1.340821576e-05f, -1.340813390e-05f, -1.340802883e-05f, -1.340790057e-05f, -1.340774910e-05f, -1.340757444e-05f, -1.340737659e-05f,
+-1.340715555e-05f, -1.340691133e-05f, -1.340664392e-05f, -1.340635333e-05f, -1.340603957e-05f, -1.340570263e-05f, -1.340534253e-05f, -1.340495925e-05f, -1.340455282e-05f, -1.340412322e-05f,
+-1.340367047e-05f, -1.340319457e-05f, -1.340269552e-05f, -1.340217332e-05f, -1.340162798e-05f, -1.340105950e-05f, -1.340046789e-05f, -1.339985315e-05f, -1.339921528e-05f, -1.339855429e-05f,
+-1.339787018e-05f, -1.339716296e-05f, -1.339643262e-05f, -1.339567917e-05f, -1.339490263e-05f, -1.339410298e-05f, -1.339328024e-05f, -1.339243441e-05f, -1.339156549e-05f, -1.339067349e-05f,
+-1.338975841e-05f, -1.338882026e-05f, -1.338785903e-05f, -1.338687475e-05f, -1.338586740e-05f, -1.338483699e-05f, -1.338378354e-05f, -1.338270703e-05f, -1.338160749e-05f, -1.338048490e-05f,
+-1.337933929e-05f, -1.337817064e-05f, -1.337697897e-05f, -1.337576428e-05f, -1.337452658e-05f, -1.337326587e-05f, -1.337198215e-05f, -1.337067543e-05f, -1.336934572e-05f, -1.336799302e-05f,
+-1.336661733e-05f, -1.336521867e-05f, -1.336379703e-05f, -1.336235242e-05f, -1.336088484e-05f, -1.335939431e-05f, -1.335788083e-05f, -1.335634439e-05f, -1.335478502e-05f, -1.335320270e-05f,
+-1.335159746e-05f, -1.334996929e-05f, -1.334831819e-05f, -1.334664419e-05f, -1.334494727e-05f, -1.334322745e-05f, -1.334148473e-05f, -1.333971911e-05f, -1.333793061e-05f, -1.333611923e-05f,
+-1.333428498e-05f, -1.333242785e-05f, -1.333054786e-05f, -1.332864501e-05f, -1.332671931e-05f, -1.332477077e-05f, -1.332279939e-05f, -1.332080517e-05f, -1.331878813e-05f, -1.331674826e-05f,
+-1.331468558e-05f, -1.331260009e-05f, -1.331049180e-05f, -1.330836071e-05f, -1.330620684e-05f, -1.330403018e-05f, -1.330183074e-05f, -1.329960853e-05f, -1.329736356e-05f, -1.329509584e-05f,
+-1.329280536e-05f, -1.329049214e-05f, -1.328815618e-05f, -1.328579749e-05f, -1.328341608e-05f, -1.328101195e-05f, -1.327858511e-05f, -1.327613556e-05f, -1.327366332e-05f, -1.327116840e-05f,
+-1.326865079e-05f, -1.326611050e-05f, -1.326354755e-05f, -1.326096193e-05f, -1.325835366e-05f, -1.325572275e-05f, -1.325306919e-05f, -1.325039301e-05f, -1.324769419e-05f, -1.324497276e-05f,
+-1.324222872e-05f, -1.323946208e-05f, -1.323667284e-05f, -1.323386102e-05f, -1.323102661e-05f, -1.322816964e-05f, -1.322529009e-05f, -1.322238799e-05f, -1.321946334e-05f, -1.321651615e-05f,
+-1.321354642e-05f, -1.321055417e-05f, -1.320753940e-05f, -1.320450211e-05f, -1.320144233e-05f, -1.319836005e-05f, -1.319525528e-05f, -1.319212803e-05f, -1.318897832e-05f, -1.318580614e-05f,
+-1.318261150e-05f, -1.317939442e-05f, -1.317615491e-05f, -1.317289296e-05f, -1.316960859e-05f, -1.316630180e-05f, -1.316297262e-05f, -1.315962103e-05f, -1.315624706e-05f, -1.315285071e-05f,
+-1.314943198e-05f, -1.314599090e-05f, -1.314252746e-05f, -1.313904168e-05f, -1.313553355e-05f, -1.313200311e-05f, -1.312845034e-05f, -1.312487526e-05f, -1.312127788e-05f, -1.311765821e-05f,
+-1.311401625e-05f, -1.311035202e-05f, -1.310666552e-05f, -1.310295677e-05f, -1.309922577e-05f, -1.309547253e-05f, -1.309169706e-05f, -1.308789937e-05f, -1.308407947e-05f, -1.308023737e-05f,
+-1.307637307e-05f, -1.307248659e-05f, -1.306857794e-05f, -1.306464713e-05f, -1.306069415e-05f, -1.305671903e-05f, -1.305272178e-05f, -1.304870240e-05f, -1.304466090e-05f, -1.304059730e-05f,
+-1.303651159e-05f, -1.303240380e-05f, -1.302827393e-05f, -1.302412199e-05f, -1.301994800e-05f, -1.301575195e-05f, -1.301153386e-05f, -1.300729375e-05f, -1.300303161e-05f, -1.299874747e-05f,
+-1.299444133e-05f, -1.299011319e-05f, -1.298576308e-05f, -1.298139100e-05f, -1.297699696e-05f, -1.297258097e-05f, -1.296814305e-05f, -1.296368319e-05f, -1.295920142e-05f, -1.295469774e-05f,
+-1.295017216e-05f, -1.294562470e-05f, -1.294105536e-05f, -1.293646415e-05f, -1.293185109e-05f, -1.292721618e-05f, -1.292255944e-05f, -1.291788088e-05f, -1.291318050e-05f, -1.290845833e-05f,
+-1.290371436e-05f, -1.289894861e-05f, -1.289416109e-05f, -1.288935181e-05f, -1.288452078e-05f, -1.287966802e-05f, -1.287479353e-05f, -1.286989733e-05f, -1.286497942e-05f, -1.286003982e-05f,
+-1.285507853e-05f, -1.285009558e-05f, -1.284509097e-05f, -1.284006471e-05f, -1.283501681e-05f, -1.282994729e-05f, -1.282485615e-05f, -1.281974341e-05f, -1.281460908e-05f, -1.280945316e-05f,
+-1.280427568e-05f, -1.279907665e-05f, -1.279385606e-05f, -1.278861395e-05f, -1.278335031e-05f, -1.277806516e-05f, -1.277275851e-05f, -1.276743037e-05f, -1.276208076e-05f, -1.275670968e-05f,
+-1.275131716e-05f, -1.274590319e-05f, -1.274046779e-05f, -1.273501098e-05f, -1.272953277e-05f, -1.272403316e-05f, -1.271851217e-05f, -1.271296982e-05f, -1.270740611e-05f, -1.270182105e-05f,
+-1.269621467e-05f, -1.269058696e-05f, -1.268493795e-05f, -1.267926764e-05f, -1.267357605e-05f, -1.266786319e-05f, -1.266212907e-05f, -1.265637371e-05f, -1.265059712e-05f, -1.264479930e-05f,
+-1.263898028e-05f, -1.263314006e-05f, -1.262727866e-05f, -1.262139609e-05f, -1.261549236e-05f, -1.260956749e-05f, -1.260362149e-05f, -1.259765437e-05f, -1.259166614e-05f, -1.258565682e-05f,
+-1.257962642e-05f, -1.257357495e-05f, -1.256750243e-05f, -1.256140887e-05f, -1.255529428e-05f, -1.254915867e-05f, -1.254300206e-05f, -1.253682446e-05f, -1.253062589e-05f, -1.252440635e-05f,
+-1.251816587e-05f, -1.251190445e-05f, -1.250562210e-05f, -1.249931885e-05f, -1.249299470e-05f, -1.248664967e-05f, -1.248028377e-05f, -1.247389701e-05f, -1.246748941e-05f, -1.246106099e-05f,
+-1.245461175e-05f, -1.244814170e-05f, -1.244165087e-05f, -1.243513927e-05f, -1.242860691e-05f, -1.242205379e-05f, -1.241547995e-05f, -1.240888539e-05f, -1.240227012e-05f, -1.239563417e-05f,
+-1.238897753e-05f, -1.238230023e-05f, -1.237560229e-05f, -1.236888370e-05f, -1.236214450e-05f, -1.235538469e-05f, -1.234860429e-05f, -1.234180331e-05f, -1.233498177e-05f, -1.232813967e-05f,
+-1.232127704e-05f, -1.231439389e-05f, -1.230749023e-05f, -1.230056608e-05f, -1.229362145e-05f, -1.228665635e-05f, -1.227967081e-05f, -1.227266483e-05f, -1.226563843e-05f, -1.225859163e-05f,
+-1.225152443e-05f, -1.224443686e-05f, -1.223732893e-05f, -1.223020065e-05f, -1.222305203e-05f, -1.221588310e-05f, -1.220869387e-05f, -1.220148435e-05f, -1.219425455e-05f, -1.218700450e-05f,
+-1.217973421e-05f, -1.217244368e-05f, -1.216513295e-05f, -1.215780201e-05f, -1.215045090e-05f, -1.214307961e-05f, -1.213568817e-05f, -1.212827660e-05f, -1.212084490e-05f, -1.211339309e-05f,
+-1.210592120e-05f, -1.209842923e-05f, -1.209091719e-05f, -1.208338511e-05f, -1.207583300e-05f, -1.206826088e-05f, -1.206066875e-05f, -1.205305665e-05f, -1.204542457e-05f, -1.203777254e-05f,
+-1.203010057e-05f, -1.202240869e-05f, -1.201469689e-05f, -1.200696521e-05f, -1.199921365e-05f, -1.199144224e-05f, -1.198365098e-05f, -1.197583989e-05f, -1.196800900e-05f, -1.196015830e-05f,
+-1.195228783e-05f, -1.194439760e-05f, -1.193648762e-05f, -1.192855790e-05f, -1.192060848e-05f, -1.191263935e-05f, -1.190465054e-05f, -1.189664206e-05f, -1.188861394e-05f, -1.188056618e-05f,
+-1.187249880e-05f, -1.186441182e-05f, -1.185630525e-05f, -1.184817912e-05f, -1.184003343e-05f, -1.183186820e-05f, -1.182368346e-05f, -1.181547921e-05f, -1.180725548e-05f, -1.179901227e-05f,
+-1.179074962e-05f, -1.178246752e-05f, -1.177416601e-05f, -1.176584509e-05f, -1.175750478e-05f, -1.174914510e-05f, -1.174076607e-05f, -1.173236771e-05f, -1.172395002e-05f, -1.171551303e-05f,
+-1.170705676e-05f, -1.169858121e-05f, -1.169008642e-05f, -1.168157238e-05f, -1.167303913e-05f, -1.166448668e-05f, -1.165591505e-05f, -1.164732424e-05f, -1.163871429e-05f, -1.163008521e-05f,
+-1.162143701e-05f, -1.161276971e-05f, -1.160408333e-05f, -1.159537789e-05f, -1.158665340e-05f, -1.157790988e-05f, -1.156914735e-05f, -1.156036582e-05f, -1.155156532e-05f, -1.154274586e-05f,
+-1.153390746e-05f, -1.152505014e-05f, -1.151617391e-05f, -1.150727879e-05f, -1.149836479e-05f, -1.148943195e-05f, -1.148048027e-05f, -1.147150977e-05f, -1.146252047e-05f, -1.145351238e-05f,
+-1.144448554e-05f, -1.143543994e-05f, -1.142637562e-05f, -1.141729259e-05f, -1.140819086e-05f, -1.139907046e-05f, -1.138993140e-05f, -1.138077370e-05f, -1.137159738e-05f, -1.136240246e-05f,
+-1.135318895e-05f, -1.134395687e-05f, -1.133470625e-05f, -1.132543710e-05f, -1.131614943e-05f, -1.130684327e-05f, -1.129751864e-05f, -1.128817555e-05f, -1.127881402e-05f, -1.126943407e-05f,
+-1.126003572e-05f, -1.125061898e-05f, -1.124118388e-05f, -1.123173043e-05f, -1.122225866e-05f, -1.121276857e-05f, -1.120326020e-05f, -1.119373355e-05f, -1.118418865e-05f, -1.117462551e-05f,
+-1.116504416e-05f, -1.115544461e-05f, -1.114582689e-05f, -1.113619100e-05f, -1.112653697e-05f, -1.111686482e-05f, -1.110717457e-05f, -1.109746623e-05f, -1.108773983e-05f, -1.107799538e-05f,
+-1.106823291e-05f, -1.105845242e-05f, -1.104865395e-05f, -1.103883751e-05f, -1.102900311e-05f, -1.101915079e-05f, -1.100928055e-05f, -1.099939242e-05f, -1.098948641e-05f, -1.097956255e-05f,
+-1.096962086e-05f, -1.095966135e-05f, -1.094968404e-05f, -1.093968895e-05f, -1.092967611e-05f, -1.091964553e-05f, -1.090959723e-05f, -1.089953123e-05f, -1.088944755e-05f, -1.087934620e-05f,
+-1.086922722e-05f, -1.085909062e-05f, -1.084893641e-05f, -1.083876463e-05f, -1.082857528e-05f, -1.081836839e-05f, -1.080814397e-05f, -1.079790206e-05f, -1.078764266e-05f, -1.077736579e-05f,
+-1.076707148e-05f, -1.075675975e-05f, -1.074643062e-05f, -1.073608410e-05f, -1.072572022e-05f, -1.071533899e-05f, -1.070494045e-05f, -1.069452459e-05f, -1.068409146e-05f, -1.067364106e-05f,
+-1.066317341e-05f, -1.065268855e-05f, -1.064218648e-05f, -1.063166723e-05f, -1.062113081e-05f, -1.061057726e-05f, -1.060000658e-05f, -1.058941880e-05f, -1.057881394e-05f, -1.056819202e-05f,
+-1.055755306e-05f, -1.054689708e-05f, -1.053622410e-05f, -1.052553414e-05f, -1.051482722e-05f, -1.050410337e-05f, -1.049336259e-05f, -1.048260493e-05f, -1.047183038e-05f, -1.046103898e-05f,
+-1.045023075e-05f, -1.043940570e-05f, -1.042856385e-05f, -1.041770524e-05f, -1.040682987e-05f, -1.039593778e-05f, -1.038502897e-05f, -1.037410347e-05f, -1.036316131e-05f, -1.035220250e-05f,
+-1.034122706e-05f, -1.033023502e-05f, -1.031922639e-05f, -1.030820120e-05f, -1.029715947e-05f, -1.028610122e-05f, -1.027502646e-05f, -1.026393523e-05f, -1.025282754e-05f, -1.024170341e-05f,
+-1.023056287e-05f, -1.021940594e-05f, -1.020823263e-05f, -1.019704297e-05f, -1.018583698e-05f, -1.017461468e-05f, -1.016337609e-05f, -1.015212124e-05f, -1.014085014e-05f, -1.012956282e-05f,
+-1.011825930e-05f, -1.010693960e-05f, -1.009560374e-05f, -1.008425174e-05f, -1.007288362e-05f, -1.006149942e-05f, -1.005009914e-05f, -1.003868281e-05f, -1.002725045e-05f, -1.001580208e-05f,
+-1.000433773e-05f, -9.992857410e-06f, -9.981361151e-06f, -9.969848972e-06f, -9.958320895e-06f, -9.946776941e-06f, -9.935217132e-06f, -9.923641491e-06f, -9.912050039e-06f, -9.900442797e-06f,
+-9.888819789e-06f, -9.877181036e-06f, -9.865526560e-06f, -9.853856383e-06f, -9.842170528e-06f, -9.830469015e-06f, -9.818751868e-06f, -9.807019109e-06f, -9.795270759e-06f, -9.783506842e-06f,
+-9.771727378e-06f, -9.759932391e-06f, -9.748121903e-06f, -9.736295935e-06f, -9.724454511e-06f, -9.712597652e-06f, -9.700725382e-06f, -9.688837722e-06f, -9.676934694e-06f, -9.665016322e-06f,
+-9.653082628e-06f, -9.641133634e-06f, -9.629169362e-06f, -9.617189836e-06f, -9.605195078e-06f, -9.593185110e-06f, -9.581159955e-06f, -9.569119635e-06f, -9.557064174e-06f, -9.544993594e-06f,
+-9.532907917e-06f, -9.520807167e-06f, -9.508691366e-06f, -9.496560537e-06f, -9.484414702e-06f, -9.472253885e-06f, -9.460078108e-06f, -9.447887395e-06f, -9.435681767e-06f, -9.423461249e-06f,
+-9.411225862e-06f, -9.398975631e-06f, -9.386710577e-06f, -9.374430724e-06f, -9.362136095e-06f, -9.349826713e-06f, -9.337502601e-06f, -9.325163782e-06f, -9.312810279e-06f, -9.300442116e-06f,
+-9.288059315e-06f, -9.275661900e-06f, -9.263249894e-06f, -9.250823320e-06f, -9.238382201e-06f, -9.225926561e-06f, -9.213456423e-06f, -9.200971810e-06f, -9.188472746e-06f, -9.175959253e-06f,
+-9.163431356e-06f, -9.150889078e-06f, -9.138332442e-06f, -9.125761472e-06f, -9.113176191e-06f, -9.100576623e-06f, -9.087962790e-06f, -9.075334718e-06f, -9.062692428e-06f, -9.050035946e-06f,
+-9.037365294e-06f, -9.024680496e-06f, -9.011981575e-06f, -8.999268556e-06f, -8.986541463e-06f, -8.973800318e-06f, -8.961045145e-06f, -8.948275969e-06f, -8.935492813e-06f, -8.922695700e-06f,
+-8.909884656e-06f, -8.897059703e-06f, -8.884220865e-06f, -8.871368167e-06f, -8.858501631e-06f, -8.845621283e-06f, -8.832727146e-06f, -8.819819244e-06f, -8.806897601e-06f, -8.793962241e-06f,
+-8.781013188e-06f, -8.768050467e-06f, -8.755074100e-06f, -8.742084113e-06f, -8.729080529e-06f, -8.716063373e-06f, -8.703032668e-06f, -8.689988439e-06f, -8.676930711e-06f, -8.663859507e-06f,
+-8.650774851e-06f, -8.637676768e-06f, -8.624565282e-06f, -8.611440417e-06f, -8.598302199e-06f, -8.585150650e-06f, -8.571985795e-06f, -8.558807660e-06f, -8.545616268e-06f, -8.532411643e-06f,
+-8.519193810e-06f, -8.505962794e-06f, -8.492718619e-06f, -8.479461309e-06f, -8.466190889e-06f, -8.452907384e-06f, -8.439610818e-06f, -8.426301216e-06f, -8.412978602e-06f, -8.399643001e-06f,
+-8.386294438e-06f, -8.372932936e-06f, -8.359558522e-06f, -8.346171219e-06f, -8.332771053e-06f, -8.319358048e-06f, -8.305932228e-06f, -8.292493619e-06f, -8.279042246e-06f, -8.265578133e-06f,
+-8.252101304e-06f, -8.238611786e-06f, -8.225109602e-06f, -8.211594778e-06f, -8.198067339e-06f, -8.184527309e-06f, -8.170974714e-06f, -8.157409578e-06f, -8.143831926e-06f, -8.130241784e-06f,
+-8.116639176e-06f, -8.103024128e-06f, -8.089396664e-06f, -8.075756810e-06f, -8.062104590e-06f, -8.048440030e-06f, -8.034763155e-06f, -8.021073991e-06f, -8.007372561e-06f, -7.993658892e-06f,
+-7.979933009e-06f, -7.966194937e-06f, -7.952444700e-06f, -7.938682326e-06f, -7.924907837e-06f, -7.911121261e-06f, -7.897322622e-06f, -7.883511946e-06f, -7.869689258e-06f, -7.855854583e-06f,
+-7.842007946e-06f, -7.828149374e-06f, -7.814278892e-06f, -7.800396524e-06f, -7.786502297e-06f, -7.772596236e-06f, -7.758678366e-06f, -7.744748713e-06f, -7.730807302e-06f, -7.716854160e-06f,
+-7.702889311e-06f, -7.688912781e-06f, -7.674924596e-06f, -7.660924782e-06f, -7.646913363e-06f, -7.632890366e-06f, -7.618855816e-06f, -7.604809740e-06f, -7.590752162e-06f, -7.576683108e-06f,
+-7.562602604e-06f, -7.548510677e-06f, -7.534407351e-06f, -7.520292652e-06f, -7.506166607e-06f, -7.492029240e-06f, -7.477880579e-06f, -7.463720648e-06f, -7.449549474e-06f, -7.435367082e-06f,
+-7.421173499e-06f, -7.406968750e-06f, -7.392752861e-06f, -7.378525858e-06f, -7.364287767e-06f, -7.350038615e-06f, -7.335778426e-06f, -7.321507228e-06f, -7.307225046e-06f, -7.292931906e-06f,
+-7.278627834e-06f, -7.264312857e-06f, -7.249987000e-06f, -7.235650289e-06f, -7.221302752e-06f, -7.206944412e-06f, -7.192575298e-06f, -7.178195435e-06f, -7.163804849e-06f, -7.149403567e-06f,
+-7.134991615e-06f, -7.120569018e-06f, -7.106135803e-06f, -7.091691997e-06f, -7.077237626e-06f, -7.062772716e-06f, -7.048297293e-06f, -7.033811383e-06f, -7.019315014e-06f, -7.004808211e-06f,
+-6.990291001e-06f, -6.975763409e-06f, -6.961225464e-06f, -6.946677190e-06f, -6.932118614e-06f, -6.917549763e-06f, -6.902970664e-06f, -6.888381342e-06f, -6.873781824e-06f, -6.859172137e-06f,
+-6.844552307e-06f, -6.829922361e-06f, -6.815282325e-06f, -6.800632226e-06f, -6.785972090e-06f, -6.771301945e-06f, -6.756621815e-06f, -6.741931730e-06f, -6.727231713e-06f, -6.712521794e-06f,
+-6.697801997e-06f, -6.683072351e-06f, -6.668332880e-06f, -6.653583613e-06f, -6.638824576e-06f, -6.624055796e-06f, -6.609277298e-06f, -6.594489111e-06f, -6.579691261e-06f, -6.564883775e-06f,
+-6.550066678e-06f, -6.535240000e-06f, -6.520403765e-06f, -6.505558001e-06f, -6.490702735e-06f, -6.475837994e-06f, -6.460963804e-06f, -6.446080192e-06f, -6.431187186e-06f, -6.416284812e-06f,
+-6.401373097e-06f, -6.386452068e-06f, -6.371521752e-06f, -6.356582177e-06f, -6.341633368e-06f, -6.326675353e-06f, -6.311708159e-06f, -6.296731813e-06f, -6.281746342e-06f, -6.266751773e-06f,
+-6.251748134e-06f, -6.236735450e-06f, -6.221713750e-06f, -6.206683060e-06f, -6.191643407e-06f, -6.176594819e-06f, -6.161537323e-06f, -6.146470946e-06f, -6.131395714e-06f, -6.116311656e-06f,
+-6.101218798e-06f, -6.086117168e-06f, -6.071006792e-06f, -6.055887699e-06f, -6.040759914e-06f, -6.025623466e-06f, -6.010478382e-06f, -5.995324688e-06f, -5.980162413e-06f, -5.964991583e-06f,
+-5.949812226e-06f, -5.934624369e-06f, -5.919428039e-06f, -5.904223265e-06f, -5.889010072e-06f, -5.873788488e-06f, -5.858558542e-06f, -5.843320260e-06f, -5.828073669e-06f, -5.812818797e-06f,
+-5.797555671e-06f, -5.782284320e-06f, -5.767004769e-06f, -5.751717047e-06f, -5.736421182e-06f, -5.721117199e-06f, -5.705805128e-06f, -5.690484996e-06f, -5.675156829e-06f, -5.659820656e-06f,
+-5.644476504e-06f, -5.629124401e-06f, -5.613764373e-06f, -5.598396450e-06f, -5.583020657e-06f, -5.567637024e-06f, -5.552245577e-06f, -5.536846343e-06f, -5.521439352e-06f, -5.506024629e-06f,
+-5.490602204e-06f, -5.475172102e-06f, -5.459734353e-06f, -5.444288984e-06f, -5.428836022e-06f, -5.413375495e-06f, -5.397907431e-06f, -5.382431857e-06f, -5.366948801e-06f, -5.351458291e-06f,
+-5.335960355e-06f, -5.320455020e-06f, -5.304942314e-06f, -5.289422265e-06f, -5.273894900e-06f, -5.258360248e-06f, -5.242818336e-06f, -5.227269192e-06f, -5.211712843e-06f, -5.196149318e-06f,
+-5.180578644e-06f, -5.165000849e-06f, -5.149415961e-06f, -5.133824008e-06f, -5.118225017e-06f, -5.102619017e-06f, -5.087006035e-06f, -5.071386100e-06f, -5.055759238e-06f, -5.040125479e-06f,
+-5.024484849e-06f, -5.008837378e-06f, -4.993183092e-06f, -4.977522019e-06f, -4.961854189e-06f, -4.946179628e-06f, -4.930498364e-06f, -4.914810426e-06f, -4.899115841e-06f, -4.883414637e-06f,
+-4.867706843e-06f, -4.851992487e-06f, -4.836271596e-06f, -4.820544198e-06f, -4.804810321e-06f, -4.789069994e-06f, -4.773323245e-06f, -4.757570101e-06f, -4.741810590e-06f, -4.726044741e-06f,
+-4.710272582e-06f, -4.694494141e-06f, -4.678709445e-06f, -4.662918524e-06f, -4.647121404e-06f, -4.631318114e-06f, -4.615508683e-06f, -4.599693138e-06f, -4.583871508e-06f, -4.568043820e-06f,
+-4.552210102e-06f, -4.536370384e-06f, -4.520524693e-06f, -4.504673057e-06f, -4.488815504e-06f, -4.472952063e-06f, -4.457082762e-06f, -4.441207628e-06f, -4.425326691e-06f, -4.409439978e-06f,
+-4.393547517e-06f, -4.377649337e-06f, -4.361745466e-06f, -4.345835932e-06f, -4.329920764e-06f, -4.313999989e-06f, -4.298073636e-06f, -4.282141733e-06f, -4.266204309e-06f, -4.250261391e-06f,
+-4.234313009e-06f, -4.218359189e-06f, -4.202399961e-06f, -4.186435353e-06f, -4.170465392e-06f, -4.154490109e-06f, -4.138509529e-06f, -4.122523683e-06f, -4.106532598e-06f, -4.090536303e-06f,
+-4.074534826e-06f, -4.058528195e-06f, -4.042516439e-06f, -4.026499586e-06f, -4.010477664e-06f, -3.994450702e-06f, -3.978418727e-06f, -3.962381770e-06f, -3.946339857e-06f, -3.930293017e-06f,
+-3.914241279e-06f, -3.898184671e-06f, -3.882123221e-06f, -3.866056958e-06f, -3.849985910e-06f, -3.833910106e-06f, -3.817829574e-06f, -3.801744342e-06f, -3.785654439e-06f, -3.769559893e-06f,
+-3.753460733e-06f, -3.737356987e-06f, -3.721248683e-06f, -3.705135851e-06f, -3.689018518e-06f, -3.672896713e-06f, -3.656770464e-06f, -3.640639800e-06f, -3.624504750e-06f, -3.608365341e-06f,
+-3.592221602e-06f, -3.576073563e-06f, -3.559921250e-06f, -3.543764693e-06f, -3.527603921e-06f, -3.511438961e-06f, -3.495269842e-06f, -3.479096594e-06f, -3.462919243e-06f, -3.446737819e-06f,
+-3.430552350e-06f, -3.414362865e-06f, -3.398169393e-06f, -3.381971961e-06f, -3.365770599e-06f, -3.349565334e-06f, -3.333356196e-06f, -3.317143213e-06f, -3.300926413e-06f, -3.284705825e-06f,
+-3.268481478e-06f, -3.252253401e-06f, -3.236021621e-06f, -3.219786167e-06f, -3.203547068e-06f, -3.187304352e-06f, -3.171058048e-06f, -3.154808185e-06f, -3.138554791e-06f, -3.122297895e-06f,
+-3.106037525e-06f, -3.089773710e-06f, -3.073506478e-06f, -3.057235858e-06f, -3.040961879e-06f, -3.024684569e-06f, -3.008403957e-06f, -2.992120072e-06f, -2.975832941e-06f, -2.959542594e-06f,
+-2.943249059e-06f, -2.926952365e-06f, -2.910652540e-06f, -2.894349613e-06f, -2.878043613e-06f, -2.861734568e-06f, -2.845422507e-06f, -2.829107459e-06f, -2.812789451e-06f, -2.796468514e-06f,
+-2.780144674e-06f, -2.763817962e-06f, -2.747488405e-06f, -2.731156032e-06f, -2.714820873e-06f, -2.698482954e-06f, -2.682142306e-06f, -2.665798957e-06f, -2.649452935e-06f, -2.633104268e-06f,
+-2.616752987e-06f, -2.600399119e-06f, -2.584042693e-06f, -2.567683737e-06f, -2.551322280e-06f, -2.534958352e-06f, -2.518591979e-06f, -2.502223192e-06f, -2.485852019e-06f, -2.469478488e-06f,
+-2.453102628e-06f, -2.436724468e-06f, -2.420344036e-06f, -2.403961361e-06f, -2.387576472e-06f, -2.371189397e-06f, -2.354800165e-06f, -2.338408805e-06f, -2.322015345e-06f, -2.305619813e-06f,
+-2.289222240e-06f, -2.272822652e-06f, -2.256421079e-06f, -2.240017550e-06f, -2.223612093e-06f, -2.207204737e-06f, -2.190795510e-06f, -2.174384441e-06f, -2.157971559e-06f, -2.141556892e-06f,
+-2.125140470e-06f, -2.108722320e-06f, -2.092302471e-06f, -2.075880952e-06f, -2.059457792e-06f, -2.043033019e-06f, -2.026606662e-06f, -2.010178750e-06f, -1.993749311e-06f, -1.977318373e-06f,
+-1.960885966e-06f, -1.944452119e-06f, -1.928016859e-06f, -1.911580215e-06f, -1.895142216e-06f, -1.878702892e-06f, -1.862262269e-06f, -1.845820377e-06f, -1.829377245e-06f, -1.812932902e-06f,
+-1.796487375e-06f, -1.780040693e-06f, -1.763592886e-06f, -1.747143981e-06f, -1.730694008e-06f, -1.714242995e-06f, -1.697790970e-06f, -1.681337963e-06f, -1.664884001e-06f, -1.648429114e-06f,
+-1.631973330e-06f, -1.615516678e-06f, -1.599059186e-06f, -1.582600883e-06f, -1.566141798e-06f, -1.549681958e-06f, -1.533221394e-06f, -1.516760132e-06f, -1.500298203e-06f, -1.483835634e-06f,
+-1.467372455e-06f, -1.450908693e-06f, -1.434444377e-06f, -1.417979537e-06f, -1.401514199e-06f, -1.385048394e-06f, -1.368582150e-06f, -1.352115495e-06f, -1.335648457e-06f, -1.319181066e-06f,
+-1.302713350e-06f, -1.286245338e-06f, -1.269777058e-06f, -1.253308538e-06f, -1.236839807e-06f, -1.220370894e-06f, -1.203901828e-06f, -1.187432636e-06f, -1.170963348e-06f, -1.154493992e-06f,
+-1.138024596e-06f, -1.121555189e-06f, -1.105085800e-06f, -1.088616457e-06f, -1.072147189e-06f, -1.055678023e-06f, -1.039208990e-06f, -1.022740116e-06f, -1.006271431e-06f, -9.898029639e-07f,
+-9.733347419e-07f, -9.568667942e-07f, -9.403991491e-07f, -9.239318353e-07f, -9.074648811e-07f, -8.909983150e-07f, -8.745321656e-07f, -8.580664613e-07f, -8.416012306e-07f, -8.251365019e-07f,
+-8.086723038e-07f, -7.922086646e-07f, -7.757456128e-07f, -7.592831769e-07f, -7.428213854e-07f, -7.263602666e-07f, -7.098998490e-07f, -6.934401610e-07f, -6.769812311e-07f, -6.605230877e-07f,
+-6.440657592e-07f, -6.276092740e-07f, -6.111536606e-07f, -5.946989472e-07f, -5.782451624e-07f, -5.617923345e-07f, -5.453404920e-07f, -5.288896631e-07f, -5.124398763e-07f, -4.959911599e-07f,
+-4.795435423e-07f, -4.630970519e-07f, -4.466517171e-07f, -4.302075661e-07f, -4.137646274e-07f, -3.973229293e-07f, -3.808825000e-07f, -3.644433680e-07f, -3.480055616e-07f, -3.315691090e-07f,
+-3.151340387e-07f, -2.987003788e-07f, -2.822681577e-07f, -2.658374038e-07f, -2.494081452e-07f, -2.329804104e-07f, -2.165542274e-07f, -2.001296247e-07f, -1.837066305e-07f, -1.672852730e-07f,
+-1.508655806e-07f, -1.344475813e-07f, -1.180313036e-07f, -1.016167756e-07f, -8.520402556e-08f, -6.879308169e-08f, -5.238397220e-08f, -3.597672531e-08f, -1.957136923e-08f, -3.167932140e-09f,
+1.323355776e-08f, 2.963307230e-08f, 4.603058330e-08f, 6.242606259e-08f, 7.881948200e-08f, 9.521081339e-08f, 1.116000286e-07f, 1.279870995e-07f, 1.443719980e-07f, 1.607546958e-07f,
+1.771351650e-07f, 1.935133774e-07f, 2.098893049e-07f, 2.262629193e-07f, 2.426341927e-07f, 2.590030969e-07f, 2.753696038e-07f, 2.917336854e-07f, 3.080953136e-07f, 3.244544604e-07f,
+3.408110977e-07f, 3.571651975e-07f, 3.735167317e-07f, 3.898656724e-07f, 4.062119915e-07f, 4.225556610e-07f, 4.388966529e-07f, 4.552349392e-07f, 4.715704919e-07f, 4.879032832e-07f,
+5.042332849e-07f, 5.205604691e-07f, 5.368848080e-07f, 5.532062735e-07f, 5.695248377e-07f, 5.858404727e-07f, 6.021531506e-07f, 6.184628435e-07f, 6.347695234e-07f, 6.510731625e-07f,
+6.673737329e-07f, 6.836712067e-07f, 6.999655561e-07f, 7.162567532e-07f, 7.325447701e-07f, 7.488295791e-07f, 7.651111522e-07f, 7.813894617e-07f, 7.976644797e-07f, 8.139361785e-07f,
+8.302045303e-07f, 8.464695072e-07f, 8.627310815e-07f, 8.789892255e-07f, 8.952439113e-07f, 9.114951112e-07f, 9.277427976e-07f, 9.439869426e-07f, 9.602275185e-07f, 9.764644977e-07f,
+9.926978523e-07f, 1.008927555e-06f, 1.025153578e-06f, 1.041375893e-06f, 1.057594473e-06f, 1.073809290e-06f, 1.090020316e-06f, 1.106227525e-06f, 1.122430888e-06f, 1.138630377e-06f,
+1.154825966e-06f, 1.171017626e-06f, 1.187205330e-06f, 1.203389050e-06f, 1.219568759e-06f, 1.235744429e-06f, 1.251916033e-06f, 1.268083543e-06f, 1.284246931e-06f, 1.300406171e-06f,
+1.316561234e-06f, 1.332712094e-06f, 1.348858721e-06f, 1.365001091e-06f, 1.381139173e-06f, 1.397272942e-06f, 1.413402370e-06f, 1.429527429e-06f, 1.445648093e-06f, 1.461764332e-06f,
+1.477876121e-06f, 1.493983432e-06f, 1.510086237e-06f, 1.526184509e-06f, 1.542278221e-06f, 1.558367346e-06f, 1.574451855e-06f, 1.590531722e-06f, 1.606606920e-06f, 1.622677420e-06f,
+1.638743197e-06f, 1.654804222e-06f, 1.670860468e-06f, 1.686911909e-06f, 1.702958516e-06f, 1.719000263e-06f, 1.735037123e-06f, 1.751069067e-06f, 1.767096070e-06f, 1.783118103e-06f,
+1.799135141e-06f, 1.815147154e-06f, 1.831154117e-06f, 1.847156003e-06f, 1.863152783e-06f, 1.879144432e-06f, 1.895130921e-06f, 1.911112225e-06f, 1.927088315e-06f, 1.943059165e-06f,
+1.959024747e-06f, 1.974985036e-06f, 1.990940003e-06f, 2.006889621e-06f, 2.022833865e-06f, 2.038772705e-06f, 2.054706117e-06f, 2.070634072e-06f, 2.086556544e-06f, 2.102473507e-06f,
+2.118384931e-06f, 2.134290792e-06f, 2.150191063e-06f, 2.166085715e-06f, 2.181974723e-06f, 2.197858059e-06f, 2.213735697e-06f, 2.229607610e-06f, 2.245473771e-06f, 2.261334154e-06f,
+2.277188731e-06f, 2.293037475e-06f, 2.308880361e-06f, 2.324717360e-06f, 2.340548447e-06f, 2.356373595e-06f, 2.372192777e-06f, 2.388005966e-06f, 2.403813136e-06f, 2.419614260e-06f,
+2.435409312e-06f, 2.451198263e-06f, 2.466981089e-06f, 2.482757763e-06f, 2.498528257e-06f, 2.514292546e-06f, 2.530050602e-06f, 2.545802400e-06f, 2.561547912e-06f, 2.577287112e-06f,
+2.593019974e-06f, 2.608746470e-06f, 2.624466576e-06f, 2.640180263e-06f, 2.655887506e-06f, 2.671588279e-06f, 2.687282554e-06f, 2.702970305e-06f, 2.718651507e-06f, 2.734326132e-06f,
+2.749994154e-06f, 2.765655547e-06f, 2.781310285e-06f, 2.796958340e-06f, 2.812599688e-06f, 2.828234301e-06f, 2.843862154e-06f, 2.859483219e-06f, 2.875097472e-06f, 2.890704884e-06f,
+2.906305431e-06f, 2.921899087e-06f, 2.937485824e-06f, 2.953065617e-06f, 2.968638439e-06f, 2.984204265e-06f, 2.999763068e-06f, 3.015314822e-06f, 3.030859502e-06f, 3.046397080e-06f,
+3.061927531e-06f, 3.077450829e-06f, 3.092966948e-06f, 3.108475862e-06f, 3.123977544e-06f, 3.139471970e-06f, 3.154959112e-06f, 3.170438945e-06f, 3.185911442e-06f, 3.201376579e-06f,
+3.216834329e-06f, 3.232284666e-06f, 3.247727564e-06f, 3.263162998e-06f, 3.278590941e-06f, 3.294011368e-06f, 3.309424253e-06f, 3.324829570e-06f, 3.340227293e-06f, 3.355617397e-06f,
+3.370999856e-06f, 3.386374643e-06f, 3.401741734e-06f, 3.417101103e-06f, 3.432452724e-06f, 3.447796570e-06f, 3.463132618e-06f, 3.478460840e-06f, 3.493781212e-06f, 3.509093708e-06f,
+3.524398302e-06f, 3.539694968e-06f, 3.554983681e-06f, 3.570264416e-06f, 3.585537147e-06f, 3.600801848e-06f, 3.616058495e-06f, 3.631307060e-06f, 3.646547520e-06f, 3.661779849e-06f,
+3.677004020e-06f, 3.692220010e-06f, 3.707427792e-06f, 3.722627341e-06f, 3.737818632e-06f, 3.753001639e-06f, 3.768176337e-06f, 3.783342701e-06f, 3.798500705e-06f, 3.813650325e-06f,
+3.828791534e-06f, 3.843924308e-06f, 3.859048622e-06f, 3.874164450e-06f, 3.889271768e-06f, 3.904370549e-06f, 3.919460769e-06f, 3.934542403e-06f, 3.949615426e-06f, 3.964679812e-06f,
+3.979735537e-06f, 3.994782575e-06f, 4.009820901e-06f, 4.024850491e-06f, 4.039871319e-06f, 4.054883361e-06f, 4.069886591e-06f, 4.084880985e-06f, 4.099866517e-06f, 4.114843163e-06f,
+4.129810898e-06f, 4.144769696e-06f, 4.159719534e-06f, 4.174660386e-06f, 4.189592228e-06f, 4.204515034e-06f, 4.219428780e-06f, 4.234333441e-06f, 4.249228992e-06f, 4.264115410e-06f,
+4.278992668e-06f, 4.293860742e-06f, 4.308719608e-06f, 4.323569242e-06f, 4.338409617e-06f, 4.353240710e-06f, 4.368062497e-06f, 4.382874951e-06f, 4.397678050e-06f, 4.412471769e-06f,
+4.427256083e-06f, 4.442030967e-06f, 4.456796397e-06f, 4.471552348e-06f, 4.486298797e-06f, 4.501035719e-06f, 4.515763089e-06f, 4.530480883e-06f, 4.545189077e-06f, 4.559887645e-06f,
+4.574576565e-06f, 4.589255812e-06f, 4.603925361e-06f, 4.618585188e-06f, 4.633235269e-06f, 4.647875580e-06f, 4.662506096e-06f, 4.677126793e-06f, 4.691737648e-06f, 4.706338636e-06f,
+4.720929733e-06f, 4.735510914e-06f, 4.750082156e-06f, 4.764643435e-06f, 4.779194726e-06f, 4.793736007e-06f, 4.808267251e-06f, 4.822788437e-06f, 4.837299539e-06f, 4.851800533e-06f,
+4.866291397e-06f, 4.880772106e-06f, 4.895242635e-06f, 4.909702962e-06f, 4.924153062e-06f, 4.938592912e-06f, 4.953022488e-06f, 4.967441765e-06f, 4.981850721e-06f, 4.996249332e-06f,
+5.010637573e-06f, 5.025015421e-06f, 5.039382853e-06f, 5.053739844e-06f, 5.068086372e-06f, 5.082422412e-06f, 5.096747941e-06f, 5.111062936e-06f, 5.125367373e-06f, 5.139661228e-06f,
+5.153944477e-06f, 5.168217099e-06f, 5.182479068e-06f, 5.196730361e-06f, 5.210970956e-06f, 5.225200828e-06f, 5.239419955e-06f, 5.253628312e-06f, 5.267825878e-06f, 5.282012627e-06f,
+5.296188538e-06f, 5.310353586e-06f, 5.324507749e-06f, 5.338651003e-06f, 5.352783325e-06f, 5.366904692e-06f, 5.381015081e-06f, 5.395114469e-06f, 5.409202832e-06f, 5.423280148e-06f,
+5.437346392e-06f, 5.451401544e-06f, 5.465445578e-06f, 5.479478473e-06f, 5.493500205e-06f, 5.507510751e-06f, 5.521510089e-06f, 5.535498195e-06f, 5.549475047e-06f, 5.563440622e-06f,
+5.577394896e-06f, 5.591337848e-06f, 5.605269454e-06f, 5.619189691e-06f, 5.633098537e-06f, 5.646995969e-06f, 5.660881964e-06f, 5.674756500e-06f, 5.688619554e-06f, 5.702471102e-06f,
+5.716311124e-06f, 5.730139596e-06f, 5.743956495e-06f, 5.757761799e-06f, 5.771555485e-06f, 5.785337531e-06f, 5.799107915e-06f, 5.812866613e-06f, 5.826613604e-06f, 5.840348865e-06f,
+5.854072373e-06f, 5.867784107e-06f, 5.881484044e-06f, 5.895172162e-06f, 5.908848437e-06f, 5.922512849e-06f, 5.936165375e-06f, 5.949805992e-06f, 5.963434678e-06f, 5.977051412e-06f,
+5.990656170e-06f, 6.004248931e-06f, 6.017829673e-06f, 6.031398374e-06f, 6.044955011e-06f, 6.058499563e-06f, 6.072032007e-06f, 6.085552322e-06f, 6.099060485e-06f, 6.112556475e-06f,
+6.126040270e-06f, 6.139511847e-06f, 6.152971185e-06f, 6.166418262e-06f, 6.179853056e-06f, 6.193275546e-06f, 6.206685709e-06f, 6.220083524e-06f, 6.233468969e-06f, 6.246842023e-06f,
+6.260202663e-06f, 6.273550868e-06f, 6.286886617e-06f, 6.300209887e-06f, 6.313520658e-06f, 6.326818907e-06f, 6.340104613e-06f, 6.353377755e-06f, 6.366638310e-06f, 6.379886259e-06f,
+6.393121578e-06f, 6.406344247e-06f, 6.419554245e-06f, 6.432751549e-06f, 6.445936140e-06f, 6.459107994e-06f, 6.472267091e-06f, 6.485413410e-06f, 6.498546930e-06f, 6.511667628e-06f,
+6.524775485e-06f, 6.537870479e-06f, 6.550952588e-06f, 6.564021792e-06f, 6.577078069e-06f, 6.590121399e-06f, 6.603151760e-06f, 6.616169132e-06f, 6.629173492e-06f, 6.642164822e-06f,
+6.655143098e-06f, 6.668108301e-06f, 6.681060410e-06f, 6.693999403e-06f, 6.706925260e-06f, 6.719837961e-06f, 6.732737483e-06f, 6.745623807e-06f, 6.758496912e-06f, 6.771356776e-06f,
+6.784203380e-06f, 6.797036703e-06f, 6.809856724e-06f, 6.822663421e-06f, 6.835456776e-06f, 6.848236767e-06f, 6.861003373e-06f, 6.873756575e-06f, 6.886496351e-06f, 6.899222682e-06f,
+6.911935546e-06f, 6.924634924e-06f, 6.937320794e-06f, 6.949993137e-06f, 6.962651932e-06f, 6.975297159e-06f, 6.987928798e-06f, 7.000546828e-06f, 7.013151230e-06f, 7.025741982e-06f,
+7.038319065e-06f, 7.050882458e-06f, 7.063432142e-06f, 7.075968096e-06f, 7.088490301e-06f, 7.100998736e-06f, 7.113493381e-06f, 7.125974216e-06f, 7.138441222e-06f, 7.150894377e-06f,
+7.163333663e-06f, 7.175759060e-06f, 7.188170547e-06f, 7.200568105e-06f, 7.212951714e-06f, 7.225321354e-06f, 7.237677006e-06f, 7.250018649e-06f, 7.262346264e-06f, 7.274659831e-06f,
+7.286959331e-06f, 7.299244745e-06f, 7.311516051e-06f, 7.323773231e-06f, 7.336016266e-06f, 7.348245135e-06f, 7.360459820e-06f, 7.372660300e-06f, 7.384846557e-06f, 7.397018571e-06f,
+7.409176322e-06f, 7.421319792e-06f, 7.433448960e-06f, 7.445563808e-06f, 7.457664316e-06f, 7.469750466e-06f, 7.481822237e-06f, 7.493879611e-06f, 7.505922568e-06f, 7.517951089e-06f,
+7.529965156e-06f, 7.541964749e-06f, 7.553949849e-06f, 7.565920437e-06f, 7.577876494e-06f, 7.589818001e-06f, 7.601744939e-06f, 7.613657290e-06f, 7.625555034e-06f, 7.637438152e-06f,
+7.649306625e-06f, 7.661160436e-06f, 7.672999564e-06f, 7.684823992e-06f, 7.696633700e-06f, 7.708428670e-06f, 7.720208884e-06f, 7.731974321e-06f, 7.743724965e-06f, 7.755460796e-06f,
+7.767181795e-06f, 7.778887945e-06f, 7.790579227e-06f, 7.802255621e-06f, 7.813917111e-06f, 7.825563676e-06f, 7.837195300e-06f, 7.848811963e-06f, 7.860413648e-06f, 7.872000336e-06f,
+7.883572008e-06f, 7.895128646e-06f, 7.906670233e-06f, 7.918196750e-06f, 7.929708178e-06f, 7.941204501e-06f, 7.952685698e-06f, 7.964151754e-06f, 7.975602648e-06f, 7.987038365e-06f,
+7.998458884e-06f, 8.009864189e-06f, 8.021254262e-06f, 8.032629084e-06f, 8.043988638e-06f, 8.055332905e-06f, 8.066661869e-06f, 8.077975511e-06f, 8.089273814e-06f, 8.100556759e-06f,
+8.111824329e-06f, 8.123076506e-06f, 8.134313273e-06f, 8.145534613e-06f, 8.156740506e-06f, 8.167930937e-06f, 8.179105887e-06f, 8.190265339e-06f, 8.201409275e-06f, 8.212537678e-06f,
+8.223650531e-06f, 8.234747815e-06f, 8.245829515e-06f, 8.256895612e-06f, 8.267946088e-06f, 8.278980928e-06f, 8.290000114e-06f, 8.301003627e-06f, 8.311991452e-06f, 8.322963571e-06f,
+8.333919967e-06f, 8.344860622e-06f, 8.355785521e-06f, 8.366694644e-06f, 8.377587977e-06f, 8.388465501e-06f, 8.399327200e-06f, 8.410173057e-06f, 8.421003054e-06f, 8.431817176e-06f,
+8.442615405e-06f, 8.453397724e-06f, 8.464164117e-06f, 8.474914567e-06f, 8.485649057e-06f, 8.496367570e-06f, 8.507070090e-06f, 8.517756600e-06f, 8.528427084e-06f, 8.539081525e-06f,
+8.549719906e-06f, 8.560342211e-06f, 8.570948424e-06f, 8.581538528e-06f, 8.592112506e-06f, 8.602670343e-06f, 8.613212021e-06f, 8.623737525e-06f, 8.634246838e-06f, 8.644739945e-06f,
+8.655216827e-06f, 8.665677471e-06f, 8.676121859e-06f, 8.686549974e-06f, 8.696961802e-06f, 8.707357326e-06f, 8.717736530e-06f, 8.728099398e-06f, 8.738445913e-06f, 8.748776061e-06f,
+8.759089824e-06f, 8.769387187e-06f, 8.779668135e-06f, 8.789932651e-06f, 8.800180720e-06f, 8.810412325e-06f, 8.820627451e-06f, 8.830826083e-06f, 8.841008204e-06f, 8.851173799e-06f,
+8.861322852e-06f, 8.871455348e-06f, 8.881571271e-06f, 8.891670605e-06f, 8.901753336e-06f, 8.911819447e-06f, 8.921868923e-06f, 8.931901749e-06f, 8.941917909e-06f, 8.951917388e-06f,
+8.961900171e-06f, 8.971866242e-06f, 8.981815586e-06f, 8.991748188e-06f, 9.001664032e-06f, 9.011563104e-06f, 9.021445388e-06f, 9.031310869e-06f, 9.041159533e-06f, 9.050991363e-06f,
+9.060806346e-06f, 9.070604465e-06f, 9.080385707e-06f, 9.090150056e-06f, 9.099897497e-06f, 9.109628015e-06f, 9.119341596e-06f, 9.129038225e-06f, 9.138717886e-06f, 9.148380566e-06f,
+9.158026250e-06f, 9.167654922e-06f, 9.177266569e-06f, 9.186861175e-06f, 9.196438726e-06f, 9.205999208e-06f, 9.215542606e-06f, 9.225068905e-06f, 9.234578091e-06f, 9.244070150e-06f,
+9.253545066e-06f, 9.263002827e-06f, 9.272443417e-06f, 9.281866823e-06f, 9.291273029e-06f, 9.300662022e-06f, 9.310033788e-06f, 9.319388311e-06f, 9.328725579e-06f, 9.338045577e-06f,
+9.347348291e-06f, 9.356633707e-06f, 9.365901811e-06f, 9.375152589e-06f, 9.384386026e-06f, 9.393602110e-06f, 9.402800826e-06f, 9.411982160e-06f, 9.421146099e-06f, 9.430292628e-06f,
+9.439421735e-06f, 9.448533404e-06f, 9.457627623e-06f, 9.466704378e-06f, 9.475763655e-06f, 9.484805440e-06f, 9.493829721e-06f, 9.502836483e-06f, 9.511825713e-06f, 9.520797398e-06f,
+9.529751524e-06f, 9.538688077e-06f, 9.547607044e-06f, 9.556508413e-06f, 9.565392169e-06f, 9.574258299e-06f, 9.583106791e-06f, 9.591937630e-06f, 9.600750804e-06f, 9.609546300e-06f,
+9.618324104e-06f, 9.627084203e-06f, 9.635826584e-06f, 9.644551235e-06f, 9.653258142e-06f, 9.661947292e-06f, 9.670618673e-06f, 9.679272271e-06f, 9.687908074e-06f, 9.696526068e-06f,
+9.705126241e-06f, 9.713708581e-06f, 9.722273074e-06f, 9.730819708e-06f, 9.739348470e-06f, 9.747859347e-06f, 9.756352327e-06f, 9.764827398e-06f, 9.773284546e-06f, 9.781723759e-06f,
+9.790145025e-06f, 9.798548332e-06f, 9.806933666e-06f, 9.815301016e-06f, 9.823650370e-06f, 9.831981714e-06f, 9.840295036e-06f, 9.848590326e-06f, 9.856867569e-06f, 9.865126754e-06f,
+9.873367869e-06f, 9.881590902e-06f, 9.889795840e-06f, 9.897982672e-06f, 9.906151386e-06f, 9.914301969e-06f, 9.922434410e-06f, 9.930548697e-06f, 9.938644817e-06f, 9.946722759e-06f,
+9.954782512e-06f, 9.962824063e-06f, 9.970847401e-06f, 9.978852513e-06f, 9.986839389e-06f, 9.994808016e-06f, 1.000275838e-05f, 1.001069048e-05f, 1.001860429e-05f, 1.002649981e-05f,
+1.003437702e-05f, 1.004223592e-05f, 1.005007648e-05f, 1.005789870e-05f, 1.006570258e-05f, 1.007348809e-05f, 1.008125522e-05f, 1.008900397e-05f, 1.009673432e-05f, 1.010444627e-05f,
+1.011213979e-05f, 1.011981489e-05f, 1.012747154e-05f, 1.013510974e-05f, 1.014272948e-05f, 1.015033074e-05f, 1.015791352e-05f, 1.016547780e-05f, 1.017302358e-05f, 1.018055083e-05f,
+1.018805956e-05f, 1.019554975e-05f, 1.020302138e-05f, 1.021047446e-05f, 1.021790896e-05f, 1.022532488e-05f, 1.023272221e-05f, 1.024010093e-05f, 1.024746104e-05f, 1.025480253e-05f,
+1.026212538e-05f, 1.026942958e-05f, 1.027671513e-05f, 1.028398201e-05f, 1.029123021e-05f, 1.029845973e-05f, 1.030567055e-05f, 1.031286266e-05f, 1.032003605e-05f, 1.032719072e-05f,
+1.033432664e-05f, 1.034144382e-05f, 1.034854224e-05f, 1.035562189e-05f, 1.036268276e-05f, 1.036972485e-05f, 1.037674813e-05f, 1.038375261e-05f, 1.039073827e-05f, 1.039770510e-05f,
+1.040465309e-05f, 1.041158223e-05f, 1.041849252e-05f, 1.042538394e-05f, 1.043225648e-05f, 1.043911014e-05f, 1.044594490e-05f, 1.045276075e-05f, 1.045955769e-05f, 1.046633570e-05f,
+1.047309478e-05f, 1.047983492e-05f, 1.048655610e-05f, 1.049325832e-05f, 1.049994157e-05f, 1.050660584e-05f, 1.051325111e-05f, 1.051987739e-05f, 1.052648466e-05f, 1.053307291e-05f,
+1.053964213e-05f, 1.054619232e-05f, 1.055272346e-05f, 1.055923554e-05f, 1.056572857e-05f, 1.057220252e-05f, 1.057865739e-05f, 1.058509317e-05f, 1.059150985e-05f, 1.059790742e-05f,
+1.060428588e-05f, 1.061064521e-05f, 1.061698540e-05f, 1.062330646e-05f, 1.062960836e-05f, 1.063589110e-05f, 1.064215468e-05f, 1.064839907e-05f, 1.065462428e-05f, 1.066083030e-05f,
+1.066701711e-05f, 1.067318471e-05f, 1.067933310e-05f, 1.068546225e-05f, 1.069157217e-05f, 1.069766285e-05f, 1.070373427e-05f, 1.070978643e-05f, 1.071581932e-05f, 1.072183294e-05f,
+1.072782726e-05f, 1.073380230e-05f, 1.073975803e-05f, 1.074569446e-05f, 1.075161157e-05f, 1.075750935e-05f, 1.076338780e-05f, 1.076924691e-05f, 1.077508667e-05f, 1.078090707e-05f,
+1.078670811e-05f, 1.079248977e-05f, 1.079825206e-05f, 1.080399495e-05f, 1.080971846e-05f, 1.081542256e-05f, 1.082110725e-05f, 1.082677252e-05f, 1.083241837e-05f, 1.083804478e-05f,
+1.084365175e-05f, 1.084923928e-05f, 1.085480735e-05f, 1.086035596e-05f, 1.086588510e-05f, 1.087139476e-05f, 1.087688494e-05f, 1.088235562e-05f, 1.088780681e-05f, 1.089323850e-05f,
+1.089865067e-05f, 1.090404332e-05f, 1.090941644e-05f, 1.091477003e-05f, 1.092010408e-05f, 1.092541859e-05f, 1.093071354e-05f, 1.093598892e-05f, 1.094124474e-05f, 1.094648099e-05f,
+1.095169765e-05f, 1.095689473e-05f, 1.096207221e-05f, 1.096723009e-05f, 1.097236837e-05f, 1.097748702e-05f, 1.098258606e-05f, 1.098766547e-05f, 1.099272525e-05f, 1.099776538e-05f,
+1.100278587e-05f, 1.100778671e-05f, 1.101276788e-05f, 1.101772939e-05f, 1.102267123e-05f, 1.102759340e-05f, 1.103249587e-05f, 1.103737866e-05f, 1.104224175e-05f, 1.104708514e-05f,
+1.105190882e-05f, 1.105671278e-05f, 1.106149703e-05f, 1.106626155e-05f, 1.107100633e-05f, 1.107573138e-05f, 1.108043668e-05f, 1.108512224e-05f, 1.108978804e-05f, 1.109443407e-05f,
+1.109906035e-05f, 1.110366684e-05f, 1.110825356e-05f, 1.111282050e-05f, 1.111736765e-05f, 1.112189500e-05f, 1.112640255e-05f, 1.113089030e-05f, 1.113535823e-05f, 1.113980635e-05f,
+1.114423465e-05f, 1.114864312e-05f, 1.115303176e-05f, 1.115740056e-05f, 1.116174952e-05f, 1.116607863e-05f, 1.117038789e-05f, 1.117467729e-05f, 1.117894682e-05f, 1.118319649e-05f,
+1.118742629e-05f, 1.119163620e-05f, 1.119582624e-05f, 1.119999638e-05f, 1.120414664e-05f, 1.120827699e-05f, 1.121238745e-05f, 1.121647799e-05f, 1.122054863e-05f, 1.122459935e-05f,
+1.122863015e-05f, 1.123264102e-05f, 1.123663196e-05f, 1.124060297e-05f, 1.124455404e-05f, 1.124848516e-05f, 1.125239634e-05f, 1.125628757e-05f, 1.126015883e-05f, 1.126401014e-05f,
+1.126784148e-05f, 1.127165286e-05f, 1.127544425e-05f, 1.127921568e-05f, 1.128296711e-05f, 1.128669857e-05f, 1.129041003e-05f, 1.129410150e-05f, 1.129777297e-05f, 1.130142443e-05f,
+1.130505589e-05f, 1.130866735e-05f, 1.131225878e-05f, 1.131583020e-05f, 1.131938160e-05f, 1.132291297e-05f, 1.132642432e-05f, 1.132991563e-05f, 1.133338691e-05f, 1.133683814e-05f,
+1.134026933e-05f, 1.134368048e-05f, 1.134707157e-05f, 1.135044261e-05f, 1.135379360e-05f, 1.135712452e-05f, 1.136043538e-05f, 1.136372617e-05f, 1.136699689e-05f, 1.137024753e-05f,
+1.137347810e-05f, 1.137668859e-05f, 1.137987899e-05f, 1.138304931e-05f, 1.138619954e-05f, 1.138932967e-05f, 1.139243971e-05f, 1.139552965e-05f, 1.139859949e-05f, 1.140164922e-05f,
+1.140467885e-05f, 1.140768837e-05f, 1.141067777e-05f, 1.141364706e-05f, 1.141659622e-05f, 1.141952527e-05f, 1.142243419e-05f, 1.142532299e-05f, 1.142819166e-05f, 1.143104019e-05f,
+1.143386859e-05f, 1.143667685e-05f, 1.143946498e-05f, 1.144223296e-05f, 1.144498080e-05f, 1.144770849e-05f, 1.145041604e-05f, 1.145310343e-05f, 1.145577067e-05f, 1.145841775e-05f,
+1.146104468e-05f, 1.146365145e-05f, 1.146623805e-05f, 1.146880449e-05f, 1.147135077e-05f, 1.147387688e-05f, 1.147638281e-05f, 1.147886858e-05f, 1.148133417e-05f, 1.148377959e-05f,
+1.148620483e-05f, 1.148860989e-05f, 1.149099477e-05f, 1.149335946e-05f, 1.149570398e-05f, 1.149802830e-05f, 1.150033244e-05f, 1.150261639e-05f, 1.150488015e-05f, 1.150712372e-05f,
+1.150934710e-05f, 1.151155027e-05f, 1.151373326e-05f, 1.151589604e-05f, 1.151803863e-05f, 1.152016102e-05f, 1.152226320e-05f, 1.152434518e-05f, 1.152640696e-05f, 1.152844853e-05f,
+1.153046990e-05f, 1.153247106e-05f, 1.153445201e-05f, 1.153641275e-05f, 1.153835328e-05f, 1.154027360e-05f, 1.154217371e-05f, 1.154405361e-05f, 1.154591329e-05f, 1.154775275e-05f,
+1.154957200e-05f, 1.155137104e-05f, 1.155314986e-05f, 1.155490846e-05f, 1.155664684e-05f, 1.155836501e-05f, 1.156006295e-05f, 1.156174068e-05f, 1.156339818e-05f, 1.156503547e-05f,
+1.156665253e-05f, 1.156824937e-05f, 1.156982599e-05f, 1.157138239e-05f, 1.157291856e-05f, 1.157443452e-05f, 1.157593025e-05f, 1.157740576e-05f, 1.157886104e-05f, 1.158029610e-05f,
+1.158171094e-05f, 1.158310556e-05f, 1.158447995e-05f, 1.158583412e-05f, 1.158716806e-05f, 1.158848179e-05f, 1.158977529e-05f, 1.159104856e-05f, 1.159230162e-05f, 1.159353445e-05f,
+1.159474706e-05f, 1.159593945e-05f, 1.159711162e-05f, 1.159826357e-05f, 1.159939529e-05f, 1.160050680e-05f, 1.160159809e-05f, 1.160266916e-05f, 1.160372001e-05f, 1.160475064e-05f,
+1.160576106e-05f, 1.160675126e-05f, 1.160772125e-05f, 1.160867102e-05f, 1.160960057e-05f, 1.161050991e-05f, 1.161139904e-05f, 1.161226796e-05f, 1.161311667e-05f, 1.161394517e-05f,
+1.161475346e-05f, 1.161554154e-05f, 1.161630942e-05f, 1.161705709e-05f, 1.161778455e-05f, 1.161849182e-05f, 1.161917888e-05f, 1.161984574e-05f, 1.162049240e-05f, 1.162111886e-05f,
+1.162172513e-05f, 1.162231120e-05f, 1.162287707e-05f, 1.162342276e-05f, 1.162394825e-05f, 1.162445356e-05f, 1.162493867e-05f, 1.162540360e-05f, 1.162584834e-05f, 1.162627291e-05f,
+1.162667728e-05f, 1.162706148e-05f, 1.162742551e-05f, 1.162776935e-05f, 1.162809302e-05f, 1.162839652e-05f, 1.162867985e-05f, 1.162894301e-05f, 1.162918600e-05f, 1.162940883e-05f,
+1.162961150e-05f, 1.162979400e-05f, 1.162995635e-05f, 1.163009854e-05f, 1.163022058e-05f, 1.163032246e-05f, 1.163040420e-05f, 1.163046578e-05f, 1.163050723e-05f, 1.163052853e-05f,
+1.163052969e-05f, 1.163051071e-05f, 1.163047159e-05f, 1.163041235e-05f, 1.163033297e-05f, 1.163023346e-05f, 1.163011383e-05f, 1.162997408e-05f, 1.162981420e-05f, 1.162963421e-05f,
+1.162943411e-05f, 1.162921389e-05f, 1.162897356e-05f, 1.162871313e-05f, 1.162843259e-05f, 1.162813196e-05f, 1.162781122e-05f, 1.162747039e-05f, 1.162710947e-05f, 1.162672847e-05f,
+1.162632737e-05f, 1.162590620e-05f, 1.162546494e-05f, 1.162500361e-05f, 1.162452220e-05f, 1.162402073e-05f, 1.162349919e-05f, 1.162295759e-05f, 1.162239592e-05f, 1.162181421e-05f,
+1.162121243e-05f, 1.162059061e-05f, 1.161994875e-05f, 1.161928684e-05f, 1.161860489e-05f, 1.161790291e-05f, 1.161718089e-05f, 1.161643885e-05f, 1.161567678e-05f, 1.161489470e-05f,
+1.161409259e-05f, 1.161327048e-05f, 1.161242835e-05f, 1.161156622e-05f, 1.161068409e-05f, 1.160978196e-05f, 1.160885983e-05f, 1.160791772e-05f, 1.160695562e-05f, 1.160597354e-05f,
+1.160497149e-05f, 1.160394946e-05f, 1.160290746e-05f, 1.160184550e-05f, 1.160076357e-05f, 1.159966169e-05f, 1.159853986e-05f, 1.159739808e-05f, 1.159623636e-05f, 1.159505470e-05f,
+1.159385311e-05f, 1.159263158e-05f, 1.159139013e-05f, 1.159012876e-05f, 1.158884747e-05f, 1.158754627e-05f, 1.158622517e-05f, 1.158488416e-05f, 1.158352326e-05f, 1.158214246e-05f,
+1.158074177e-05f, 1.157932120e-05f, 1.157788075e-05f, 1.157642043e-05f, 1.157494024e-05f, 1.157344019e-05f, 1.157192028e-05f, 1.157038051e-05f, 1.156882090e-05f, 1.156724144e-05f,
+1.156564215e-05f, 1.156402302e-05f, 1.156238406e-05f, 1.156072529e-05f, 1.155904669e-05f, 1.155734828e-05f, 1.155563007e-05f, 1.155389205e-05f, 1.155213424e-05f, 1.155035663e-05f,
+1.154855924e-05f, 1.154674208e-05f, 1.154490513e-05f, 1.154304842e-05f, 1.154117195e-05f, 1.153927572e-05f, 1.153735973e-05f, 1.153542400e-05f, 1.153346853e-05f, 1.153149333e-05f,
+1.152949840e-05f, 1.152748374e-05f, 1.152544937e-05f, 1.152339529e-05f, 1.152132150e-05f, 1.151922801e-05f, 1.151711483e-05f, 1.151498196e-05f, 1.151282941e-05f, 1.151065718e-05f,
+1.150846529e-05f, 1.150625373e-05f, 1.150402252e-05f, 1.150177166e-05f, 1.149950115e-05f, 1.149721100e-05f, 1.149490122e-05f, 1.149257182e-05f, 1.149022280e-05f, 1.148785417e-05f,
+1.148546593e-05f, 1.148305809e-05f, 1.148063066e-05f, 1.147818364e-05f, 1.147571705e-05f, 1.147323088e-05f, 1.147072514e-05f, 1.146819985e-05f, 1.146565500e-05f, 1.146309060e-05f,
+1.146050667e-05f, 1.145790320e-05f, 1.145528021e-05f, 1.145263770e-05f, 1.144997568e-05f, 1.144729415e-05f, 1.144459312e-05f, 1.144187261e-05f, 1.143913261e-05f, 1.143637313e-05f,
+1.143359418e-05f, 1.143079577e-05f, 1.142797791e-05f, 1.142514060e-05f, 1.142228384e-05f, 1.141940766e-05f, 1.141651204e-05f, 1.141359701e-05f, 1.141066257e-05f, 1.140770872e-05f,
+1.140473548e-05f, 1.140174285e-05f, 1.139873083e-05f, 1.139569945e-05f, 1.139264869e-05f, 1.138957858e-05f, 1.138648911e-05f, 1.138338031e-05f, 1.138025216e-05f, 1.137710469e-05f,
+1.137393790e-05f, 1.137075180e-05f, 1.136754639e-05f, 1.136432168e-05f, 1.136107769e-05f, 1.135781441e-05f, 1.135453187e-05f, 1.135123005e-05f, 1.134790898e-05f, 1.134456867e-05f,
+1.134120911e-05f, 1.133783032e-05f, 1.133443230e-05f, 1.133101507e-05f, 1.132757863e-05f, 1.132412299e-05f, 1.132064816e-05f, 1.131715415e-05f, 1.131364096e-05f, 1.131010860e-05f,
+1.130655709e-05f, 1.130298643e-05f, 1.129939663e-05f, 1.129578769e-05f, 1.129215963e-05f, 1.128851246e-05f, 1.128484618e-05f, 1.128116080e-05f, 1.127745633e-05f, 1.127373278e-05f,
+1.126999016e-05f, 1.126622848e-05f, 1.126244774e-05f, 1.125864796e-05f, 1.125482914e-05f, 1.125099130e-05f, 1.124713443e-05f, 1.124325856e-05f, 1.123936368e-05f, 1.123544981e-05f,
+1.123151696e-05f, 1.122756514e-05f, 1.122359435e-05f, 1.121960461e-05f, 1.121559592e-05f, 1.121156830e-05f, 1.120752174e-05f, 1.120345627e-05f, 1.119937189e-05f, 1.119526861e-05f,
+1.119114645e-05f, 1.118700540e-05f, 1.118284547e-05f, 1.117866669e-05f, 1.117446906e-05f, 1.117025258e-05f, 1.116601727e-05f, 1.116176313e-05f, 1.115749018e-05f, 1.115319843e-05f,
+1.114888788e-05f, 1.114455855e-05f, 1.114021044e-05f, 1.113584357e-05f, 1.113145794e-05f, 1.112705357e-05f, 1.112263046e-05f, 1.111818862e-05f, 1.111372807e-05f, 1.110924881e-05f,
+1.110475086e-05f, 1.110023422e-05f, 1.109569891e-05f, 1.109114493e-05f, 1.108657229e-05f, 1.108198101e-05f, 1.107737110e-05f, 1.107274256e-05f, 1.106809540e-05f, 1.106342964e-05f,
+1.105874529e-05f, 1.105404235e-05f, 1.104932084e-05f, 1.104458077e-05f, 1.103982214e-05f, 1.103504497e-05f, 1.103024927e-05f, 1.102543506e-05f, 1.102060233e-05f, 1.101575110e-05f,
+1.101088138e-05f, 1.100599318e-05f, 1.100108651e-05f, 1.099616139e-05f, 1.099121782e-05f, 1.098625582e-05f, 1.098127539e-05f, 1.097627655e-05f, 1.097125931e-05f, 1.096622367e-05f,
+1.096116965e-05f, 1.095609726e-05f, 1.095100652e-05f, 1.094589742e-05f, 1.094076999e-05f, 1.093562423e-05f, 1.093046016e-05f, 1.092527779e-05f, 1.092007712e-05f, 1.091485817e-05f,
+1.090962095e-05f, 1.090436547e-05f, 1.089909174e-05f, 1.089379978e-05f, 1.088848960e-05f, 1.088316120e-05f, 1.087781459e-05f, 1.087244980e-05f, 1.086706683e-05f, 1.086166569e-05f,
+1.085624640e-05f, 1.085080896e-05f, 1.084535339e-05f, 1.083987970e-05f, 1.083438790e-05f, 1.082887800e-05f, 1.082335001e-05f, 1.081780395e-05f, 1.081223983e-05f, 1.080665766e-05f,
+1.080105745e-05f, 1.079543921e-05f, 1.078980296e-05f, 1.078414870e-05f, 1.077847645e-05f, 1.077278623e-05f, 1.076707803e-05f, 1.076135189e-05f, 1.075560780e-05f, 1.074984577e-05f,
+1.074406583e-05f, 1.073826799e-05f, 1.073245225e-05f, 1.072661862e-05f, 1.072076713e-05f, 1.071489778e-05f, 1.070901058e-05f, 1.070310556e-05f, 1.069718271e-05f, 1.069124205e-05f,
+1.068528360e-05f, 1.067930736e-05f, 1.067331336e-05f, 1.066730159e-05f, 1.066127208e-05f, 1.065522484e-05f, 1.064915988e-05f, 1.064307720e-05f, 1.063697684e-05f, 1.063085879e-05f,
+1.062472307e-05f, 1.061856970e-05f, 1.061239868e-05f, 1.060621003e-05f, 1.060000376e-05f, 1.059377989e-05f, 1.058753842e-05f, 1.058127937e-05f, 1.057500276e-05f, 1.056870860e-05f,
+1.056239689e-05f, 1.055606765e-05f, 1.054972090e-05f, 1.054335665e-05f, 1.053697491e-05f, 1.053057570e-05f, 1.052415902e-05f, 1.051772490e-05f, 1.051127334e-05f, 1.050480435e-05f,
+1.049831796e-05f, 1.049181417e-05f, 1.048529301e-05f, 1.047875447e-05f, 1.047219857e-05f, 1.046562534e-05f, 1.045903477e-05f, 1.045242689e-05f, 1.044580171e-05f, 1.043915924e-05f,
+1.043249950e-05f, 1.042582250e-05f, 1.041912825e-05f, 1.041241676e-05f, 1.040568806e-05f, 1.039894215e-05f, 1.039217905e-05f, 1.038539877e-05f, 1.037860133e-05f, 1.037178673e-05f,
+1.036495500e-05f, 1.035810615e-05f, 1.035124018e-05f, 1.034435712e-05f, 1.033745698e-05f, 1.033053978e-05f, 1.032360552e-05f, 1.031665422e-05f, 1.030968590e-05f, 1.030270056e-05f,
+1.029569823e-05f, 1.028867892e-05f, 1.028164264e-05f, 1.027458940e-05f, 1.026751923e-05f, 1.026043213e-05f, 1.025332812e-05f, 1.024620721e-05f, 1.023906942e-05f, 1.023191477e-05f,
+1.022474325e-05f, 1.021755490e-05f, 1.021034973e-05f, 1.020312774e-05f, 1.019588896e-05f, 1.018863340e-05f, 1.018136108e-05f, 1.017407200e-05f, 1.016676618e-05f, 1.015944364e-05f,
+1.015210440e-05f, 1.014474846e-05f, 1.013737584e-05f, 1.012998656e-05f, 1.012258063e-05f, 1.011515807e-05f, 1.010771889e-05f, 1.010026310e-05f, 1.009279073e-05f, 1.008530178e-05f,
+1.007779627e-05f, 1.007027422e-05f, 1.006273563e-05f, 1.005518054e-05f, 1.004760894e-05f, 1.004002087e-05f, 1.003241632e-05f, 1.002479532e-05f, 1.001715788e-05f, 1.000950402e-05f,
+1.000183375e-05f, 9.994147085e-06f, 9.986444045e-06f, 9.978724642e-06f, 9.970988893e-06f, 9.963236813e-06f, 9.955468417e-06f, 9.947683720e-06f, 9.939882738e-06f, 9.932065487e-06f,
+9.924231982e-06f, 9.916382238e-06f, 9.908516271e-06f, 9.900634096e-06f, 9.892735730e-06f, 9.884821188e-06f, 9.876890485e-06f, 9.868943638e-06f, 9.860980661e-06f, 9.853001571e-06f,
+9.845006384e-06f, 9.836995114e-06f, 9.828967779e-06f, 9.820924394e-06f, 9.812864974e-06f, 9.804789536e-06f, 9.796698096e-06f, 9.788590669e-06f, 9.780467272e-06f, 9.772327920e-06f,
+9.764172630e-06f, 9.756001417e-06f, 9.747814298e-06f, 9.739611289e-06f, 9.731392406e-06f, 9.723157665e-06f, 9.714907081e-06f, 9.706640673e-06f, 9.698358455e-06f, 9.690060444e-06f,
+9.681746656e-06f, 9.673417108e-06f, 9.665071815e-06f, 9.656710795e-06f, 9.648334063e-06f, 9.639941637e-06f, 9.631533532e-06f, 9.623109764e-06f, 9.614670351e-06f, 9.606215309e-06f,
+9.597744655e-06f, 9.589258404e-06f, 9.580756574e-06f, 9.572239181e-06f, 9.563706242e-06f, 9.555157773e-06f, 9.546593791e-06f, 9.538014314e-06f, 9.529419356e-06f, 9.520808937e-06f,
+9.512183071e-06f, 9.503541776e-06f, 9.494885069e-06f, 9.486212967e-06f, 9.477525486e-06f, 9.468822644e-06f, 9.460104457e-06f, 9.451370942e-06f, 9.442622117e-06f, 9.433857998e-06f,
+9.425078602e-06f, 9.416283947e-06f, 9.407474049e-06f, 9.398648925e-06f, 9.389808594e-06f, 9.380953071e-06f, 9.372082374e-06f, 9.363196520e-06f, 9.354295527e-06f, 9.345379412e-06f,
+9.336448191e-06f, 9.327501883e-06f, 9.318540504e-06f, 9.309564072e-06f, 9.300572605e-06f, 9.291566119e-06f, 9.282544632e-06f, 9.273508162e-06f, 9.264456726e-06f, 9.255390341e-06f,
+9.246309026e-06f, 9.237212796e-06f, 9.228101671e-06f, 9.218975668e-06f, 9.209834804e-06f, 9.200679097e-06f, 9.191508564e-06f, 9.182323224e-06f, 9.173123094e-06f, 9.163908191e-06f,
+9.154678534e-06f, 9.145434140e-06f, 9.136175027e-06f, 9.126901212e-06f, 9.117612715e-06f, 9.108309552e-06f, 9.098991741e-06f, 9.089659301e-06f, 9.080312248e-06f, 9.070950603e-06f,
+9.061574381e-06f, 9.052183601e-06f, 9.042778282e-06f, 9.033358441e-06f, 9.023924096e-06f, 9.014475266e-06f, 9.005011968e-06f, 8.995534222e-06f, 8.986042043e-06f, 8.976535452e-06f,
+8.967014467e-06f, 8.957479104e-06f, 8.947929384e-06f, 8.938365323e-06f, 8.928786941e-06f, 8.919194256e-06f, 8.909587285e-06f, 8.899966048e-06f, 8.890330563e-06f, 8.880680848e-06f,
+8.871016921e-06f, 8.861338802e-06f, 8.851646508e-06f, 8.841940058e-06f, 8.832219471e-06f, 8.822484765e-06f, 8.812735958e-06f, 8.802973070e-06f, 8.793196119e-06f, 8.783405124e-06f,
+8.773600102e-06f, 8.763781074e-06f, 8.753948057e-06f, 8.744101070e-06f, 8.734240133e-06f, 8.724365263e-06f, 8.714476480e-06f, 8.704573802e-06f, 8.694657249e-06f, 8.684726839e-06f,
+8.674782590e-06f, 8.664824523e-06f, 8.654852655e-06f, 8.644867007e-06f, 8.634867596e-06f, 8.624854442e-06f, 8.614827563e-06f, 8.604786979e-06f, 8.594732709e-06f, 8.584664772e-06f,
+8.574583187e-06f, 8.564487973e-06f, 8.554379149e-06f, 8.544256735e-06f, 8.534120749e-06f, 8.523971211e-06f, 8.513808140e-06f, 8.503631555e-06f, 8.493441476e-06f, 8.483237922e-06f,
+8.473020911e-06f, 8.462790464e-06f, 8.452546600e-06f, 8.442289338e-06f, 8.432018697e-06f, 8.421734697e-06f, 8.411437358e-06f, 8.401126698e-06f, 8.390802738e-06f, 8.380465497e-06f,
+8.370114993e-06f, 8.359751248e-06f, 8.349374280e-06f, 8.338984109e-06f, 8.328580754e-06f, 8.318164236e-06f, 8.307734573e-06f, 8.297291786e-06f, 8.286835894e-06f, 8.276366917e-06f,
+8.265884875e-06f, 8.255389786e-06f, 8.244881672e-06f, 8.234360552e-06f, 8.223826445e-06f, 8.213279372e-06f, 8.202719352e-06f, 8.192146405e-06f, 8.181560551e-06f, 8.170961810e-06f,
+8.160350202e-06f, 8.149725747e-06f, 8.139088464e-06f, 8.128438375e-06f, 8.117775498e-06f, 8.107099853e-06f, 8.096411462e-06f, 8.085710343e-06f, 8.074996517e-06f, 8.064270005e-06f,
+8.053530825e-06f, 8.042778999e-06f, 8.032014546e-06f, 8.021237487e-06f, 8.010447841e-06f, 7.999645630e-06f, 7.988830872e-06f, 7.978003590e-06f, 7.967163802e-06f, 7.956311529e-06f,
+7.945446791e-06f, 7.934569609e-06f, 7.923680004e-06f, 7.912777994e-06f, 7.901863602e-06f, 7.890936846e-06f, 7.879997749e-06f, 7.869046329e-06f, 7.858082608e-06f, 7.847106606e-06f,
+7.836118343e-06f, 7.825117841e-06f, 7.814105119e-06f, 7.803080198e-06f, 7.792043099e-06f, 7.780993842e-06f, 7.769932449e-06f, 7.758858938e-06f, 7.747773332e-06f, 7.736675651e-06f,
+7.725565915e-06f, 7.714444146e-06f, 7.703310364e-06f, 7.692164589e-06f, 7.681006843e-06f, 7.669837146e-06f, 7.658655519e-06f, 7.647461983e-06f, 7.636256559e-06f, 7.625039267e-06f,
+7.613810129e-06f, 7.602569165e-06f, 7.591316396e-06f, 7.580051844e-06f, 7.568775528e-06f, 7.557487471e-06f, 7.546187692e-06f, 7.534876214e-06f, 7.523553056e-06f, 7.512218241e-06f,
+7.500871788e-06f, 7.489513720e-06f, 7.478144058e-06f, 7.466762821e-06f, 7.455370032e-06f, 7.443965711e-06f, 7.432549881e-06f, 7.421122561e-06f, 7.409683773e-06f, 7.398233539e-06f,
+7.386771879e-06f, 7.375298815e-06f, 7.363814368e-06f, 7.352318559e-06f, 7.340811410e-06f, 7.329292942e-06f, 7.317763176e-06f, 7.306222133e-06f, 7.294669836e-06f, 7.283106305e-06f,
+7.271531561e-06f, 7.259945627e-06f, 7.248348523e-06f, 7.236740271e-06f, 7.225120893e-06f, 7.213490409e-06f, 7.201848842e-06f, 7.190196213e-06f, 7.178532543e-06f, 7.166857854e-06f,
+7.155172168e-06f, 7.143475506e-06f, 7.131767889e-06f, 7.120049340e-06f, 7.108319880e-06f, 7.096579530e-06f, 7.084828313e-06f, 7.073066249e-06f, 7.061293361e-06f, 7.049509671e-06f,
+7.037715199e-06f, 7.025909968e-06f, 7.014094000e-06f, 7.002267316e-06f, 6.990429938e-06f, 6.978581888e-06f, 6.966723188e-06f, 6.954853859e-06f, 6.942973924e-06f, 6.931083404e-06f,
+6.919182321e-06f, 6.907270697e-06f, 6.895348554e-06f, 6.883415913e-06f, 6.871472798e-06f, 6.859519229e-06f, 6.847555230e-06f, 6.835580820e-06f, 6.823596024e-06f, 6.811600862e-06f,
+6.799595357e-06f, 6.787579531e-06f, 6.775553406e-06f, 6.763517004e-06f, 6.751470347e-06f, 6.739413457e-06f, 6.727346357e-06f, 6.715269068e-06f, 6.703181612e-06f, 6.691084013e-06f,
+6.678976291e-06f, 6.666858469e-06f, 6.654730570e-06f, 6.642592616e-06f, 6.630444628e-06f, 6.618286630e-06f, 6.606118643e-06f, 6.593940690e-06f, 6.581752792e-06f, 6.569554973e-06f,
+6.557347255e-06f, 6.545129660e-06f, 6.532902210e-06f, 6.520664927e-06f, 6.508417835e-06f, 6.496160956e-06f, 6.483894311e-06f, 6.471617924e-06f, 6.459331817e-06f, 6.447036012e-06f,
+6.434730531e-06f, 6.422415398e-06f, 6.410090635e-06f, 6.397756264e-06f, 6.385412308e-06f, 6.373058789e-06f, 6.360695731e-06f, 6.348323154e-06f, 6.335941083e-06f, 6.323549540e-06f,
+6.311148547e-06f, 6.298738126e-06f, 6.286318302e-06f, 6.273889095e-06f, 6.261450530e-06f, 6.249002628e-06f, 6.236545412e-06f, 6.224078906e-06f, 6.211603131e-06f, 6.199118110e-06f,
+6.186623867e-06f, 6.174120424e-06f, 6.161607803e-06f, 6.149086028e-06f, 6.136555121e-06f, 6.124015106e-06f, 6.111466004e-06f, 6.098907839e-06f, 6.086340634e-06f, 6.073764412e-06f,
+6.061179195e-06f, 6.048585006e-06f, 6.035981868e-06f, 6.023369805e-06f, 6.010748838e-06f, 5.998118992e-06f, 5.985480289e-06f, 5.972832751e-06f, 5.960176402e-06f, 5.947511266e-06f,
+5.934837364e-06f, 5.922154720e-06f, 5.909463358e-06f, 5.896763299e-06f, 5.884054567e-06f, 5.871337185e-06f, 5.858611177e-06f, 5.845876565e-06f, 5.833133372e-06f, 5.820381622e-06f,
+5.807621338e-06f, 5.794852542e-06f, 5.782075258e-06f, 5.769289510e-06f, 5.756495319e-06f, 5.743692711e-06f, 5.730881707e-06f, 5.718062330e-06f, 5.705234605e-06f, 5.692398554e-06f,
+5.679554201e-06f, 5.666701569e-06f, 5.653840681e-06f, 5.640971560e-06f, 5.628094230e-06f, 5.615208714e-06f, 5.602315035e-06f, 5.589413217e-06f, 5.576503283e-06f, 5.563585256e-06f,
+5.550659160e-06f, 5.537725018e-06f, 5.524782854e-06f, 5.511832690e-06f, 5.498874551e-06f, 5.485908459e-06f, 5.472934438e-06f, 5.459952512e-06f, 5.446962704e-06f, 5.433965037e-06f,
+5.420959535e-06f, 5.407946222e-06f, 5.394925121e-06f, 5.381896254e-06f, 5.368859647e-06f, 5.355815322e-06f, 5.342763304e-06f, 5.329703614e-06f, 5.316636278e-06f, 5.303561318e-06f,
+5.290478759e-06f, 5.277388623e-06f, 5.264290935e-06f, 5.251185718e-06f, 5.238072995e-06f, 5.224952791e-06f, 5.211825128e-06f, 5.198690031e-06f, 5.185547523e-06f, 5.172397628e-06f,
+5.159240370e-06f, 5.146075772e-06f, 5.132903857e-06f, 5.119724650e-06f, 5.106538175e-06f, 5.093344455e-06f, 5.080143513e-06f, 5.066935374e-06f, 5.053720061e-06f, 5.040497599e-06f,
+5.027268010e-06f, 5.014031319e-06f, 5.000787549e-06f, 4.987536724e-06f, 4.974278869e-06f, 4.961014006e-06f, 4.947742160e-06f, 4.934463355e-06f, 4.921177614e-06f, 4.907884961e-06f,
+4.894585420e-06f, 4.881279015e-06f, 4.867965770e-06f, 4.854645709e-06f, 4.841318855e-06f, 4.827985233e-06f, 4.814644867e-06f, 4.801297779e-06f, 4.787943996e-06f, 4.774583539e-06f,
+4.761216434e-06f, 4.747842704e-06f, 4.734462373e-06f, 4.721075466e-06f, 4.707682005e-06f, 4.694282016e-06f, 4.680875522e-06f, 4.667462547e-06f, 4.654043115e-06f, 4.640617251e-06f,
+4.627184978e-06f, 4.613746320e-06f, 4.600301301e-06f, 4.586849946e-06f, 4.573392279e-06f, 4.559928323e-06f, 4.546458103e-06f, 4.532981643e-06f, 4.519498966e-06f, 4.506010098e-06f,
+4.492515061e-06f, 4.479013881e-06f, 4.465506581e-06f, 4.451993186e-06f, 4.438473720e-06f, 4.424948206e-06f, 4.411416670e-06f, 4.397879134e-06f, 4.384335624e-06f, 4.370786164e-06f,
+4.357230777e-06f, 4.343669488e-06f, 4.330102322e-06f, 4.316529302e-06f, 4.302950452e-06f, 4.289365797e-06f, 4.275775362e-06f, 4.262179169e-06f, 4.248577245e-06f, 4.234969612e-06f,
+4.221356295e-06f, 4.207737318e-06f, 4.194112707e-06f, 4.180482484e-06f, 4.166846674e-06f, 4.153205302e-06f, 4.139558392e-06f, 4.125905968e-06f, 4.112248055e-06f, 4.098584676e-06f,
+4.084915857e-06f, 4.071241621e-06f, 4.057561993e-06f, 4.043876997e-06f, 4.030186658e-06f, 4.016490999e-06f, 4.002790046e-06f, 3.989083823e-06f, 3.975372354e-06f, 3.961655663e-06f,
+3.947933775e-06f, 3.934206714e-06f, 3.920474505e-06f, 3.906737172e-06f, 3.892994740e-06f, 3.879247232e-06f, 3.865494674e-06f, 3.851737090e-06f, 3.837974504e-06f, 3.824206940e-06f,
+3.810434424e-06f, 3.796656980e-06f, 3.782874631e-06f, 3.769087403e-06f, 3.755295320e-06f, 3.741498407e-06f, 3.727696688e-06f, 3.713890187e-06f, 3.700078929e-06f, 3.686262939e-06f,
+3.672442241e-06f, 3.658616859e-06f, 3.644786818e-06f, 3.630952143e-06f, 3.617112858e-06f, 3.603268988e-06f, 3.589420557e-06f, 3.575567590e-06f, 3.561710111e-06f, 3.547848145e-06f,
+3.533981716e-06f, 3.520110849e-06f, 3.506235569e-06f, 3.492355900e-06f, 3.478471867e-06f, 3.464583494e-06f, 3.450690806e-06f, 3.436793827e-06f, 3.422892582e-06f, 3.408987096e-06f,
+3.395077394e-06f, 3.381163499e-06f, 3.367245437e-06f, 3.353323231e-06f, 3.339396908e-06f, 3.325466491e-06f, 3.311532005e-06f, 3.297593474e-06f, 3.283650924e-06f, 3.269704379e-06f,
+3.255753863e-06f, 3.241799402e-06f, 3.227841020e-06f, 3.213878741e-06f, 3.199912590e-06f, 3.185942592e-06f, 3.171968771e-06f, 3.157991153e-06f, 3.144009762e-06f, 3.130024622e-06f,
+3.116035759e-06f, 3.102043196e-06f, 3.088046959e-06f, 3.074047073e-06f, 3.060043561e-06f, 3.046036450e-06f, 3.032025762e-06f, 3.018011524e-06f, 3.003993760e-06f, 2.989972494e-06f,
+2.975947751e-06f, 2.961919557e-06f, 2.947887935e-06f, 2.933852911e-06f, 2.919814509e-06f, 2.905772754e-06f, 2.891727670e-06f, 2.877679283e-06f, 2.863627617e-06f, 2.849572697e-06f,
+2.835514547e-06f, 2.821453193e-06f, 2.807388659e-06f, 2.793320970e-06f, 2.779250150e-06f, 2.765176225e-06f, 2.751099219e-06f, 2.737019157e-06f, 2.722936064e-06f, 2.708849964e-06f,
+2.694760882e-06f, 2.680668843e-06f, 2.666573872e-06f, 2.652475994e-06f, 2.638375232e-06f, 2.624271613e-06f, 2.610165161e-06f, 2.596055901e-06f, 2.581943857e-06f, 2.567829054e-06f,
+2.553711517e-06f, 2.539591271e-06f, 2.525468340e-06f, 2.511342750e-06f, 2.497214526e-06f, 2.483083691e-06f, 2.468950271e-06f, 2.454814290e-06f, 2.440675774e-06f, 2.426534748e-06f,
+2.412391235e-06f, 2.398245261e-06f, 2.384096850e-06f, 2.369946028e-06f, 2.355792820e-06f, 2.341637249e-06f, 2.327479341e-06f, 2.313319121e-06f, 2.299156614e-06f, 2.284991843e-06f,
+2.270824835e-06f, 2.256655614e-06f, 2.242484204e-06f, 2.228310631e-06f, 2.214134920e-06f, 2.199957095e-06f, 2.185777180e-06f, 2.171595202e-06f, 2.157411184e-06f, 2.143225152e-06f,
+2.129037130e-06f, 2.114847143e-06f, 2.100655216e-06f, 2.086461374e-06f, 2.072265642e-06f, 2.058068044e-06f, 2.043868605e-06f, 2.029667351e-06f, 2.015464305e-06f, 2.001259493e-06f,
+1.987052940e-06f, 1.972844670e-06f, 1.958634708e-06f, 1.944423079e-06f, 1.930209808e-06f, 1.915994920e-06f, 1.901778440e-06f, 1.887560391e-06f, 1.873340800e-06f, 1.859119691e-06f,
+1.844897089e-06f, 1.830673018e-06f, 1.816447504e-06f, 1.802220571e-06f, 1.787992244e-06f, 1.773762548e-06f, 1.759531508e-06f, 1.745299148e-06f, 1.731065494e-06f, 1.716830570e-06f,
+1.702594401e-06f, 1.688357012e-06f, 1.674118427e-06f, 1.659878672e-06f, 1.645637772e-06f, 1.631395750e-06f, 1.617152632e-06f, 1.602908443e-06f, 1.588663207e-06f, 1.574416950e-06f,
+1.560169696e-06f, 1.545921470e-06f, 1.531672297e-06f, 1.517422201e-06f, 1.503171207e-06f, 1.488919341e-06f, 1.474666626e-06f, 1.460413089e-06f, 1.446158753e-06f, 1.431903643e-06f,
+1.417647784e-06f, 1.403391201e-06f, 1.389133919e-06f, 1.374875963e-06f, 1.360617357e-06f, 1.346358125e-06f, 1.332098294e-06f, 1.317837887e-06f, 1.303576930e-06f, 1.289315447e-06f,
+1.275053463e-06f, 1.260791002e-06f, 1.246528090e-06f, 1.232264751e-06f, 1.218001011e-06f, 1.203736893e-06f, 1.189472422e-06f, 1.175207624e-06f, 1.160942523e-06f, 1.146677144e-06f,
+1.132411511e-06f, 1.118145649e-06f, 1.103879584e-06f, 1.089613339e-06f, 1.075346940e-06f, 1.061080412e-06f, 1.046813778e-06f, 1.032547064e-06f, 1.018280294e-06f, 1.004013494e-06f,
+9.897466870e-07f, 9.754798991e-07f, 9.612131545e-07f, 9.469464779e-07f, 9.326798942e-07f, 9.184134278e-07f, 9.041471037e-07f, 8.898809464e-07f, 8.756149807e-07f, 8.613492313e-07f,
+8.470837228e-07f, 8.328184799e-07f, 8.185535274e-07f, 8.042888899e-07f, 7.900245920e-07f, 7.757606585e-07f, 7.614971141e-07f, 7.472339833e-07f, 7.329712909e-07f, 7.187090615e-07f,
+7.044473197e-07f, 6.901860902e-07f, 6.759253978e-07f, 6.616652669e-07f, 6.474057222e-07f, 6.331467885e-07f, 6.188884902e-07f, 6.046308521e-07f, 5.903738987e-07f, 5.761176547e-07f,
+5.618621447e-07f, 5.476073933e-07f, 5.333534251e-07f, 5.191002647e-07f, 5.048479367e-07f, 4.905964657e-07f, 4.763458762e-07f, 4.620961930e-07f, 4.478474405e-07f, 4.335996433e-07f,
+4.193528260e-07f, 4.051070131e-07f, 3.908622293e-07f, 3.766184990e-07f, 3.623758468e-07f, 3.481342973e-07f, 3.338938750e-07f, 3.196546045e-07f, 3.054165102e-07f, 2.911796167e-07f,
+2.769439486e-07f, 2.627095303e-07f, 2.484763863e-07f, 2.342445412e-07f, 2.200140194e-07f, 2.057848455e-07f, 1.915570439e-07f, 1.773306391e-07f, 1.631056557e-07f, 1.488821180e-07f,
+1.346600505e-07f, 1.204394778e-07f, 1.062204242e-07f, 9.200291421e-08f, 7.778697229e-08f, 6.357262287e-08f, 4.935989038e-08f, 3.514879925e-08f, 2.093937391e-08f, 6.731638761e-09f,
+-7.474381773e-09f, -2.167866329e-08f, -3.588118140e-08f, -5.008191169e-08f, -6.428082979e-08f, -7.847791132e-08f, -9.267313190e-08f, -1.068664672e-07f, -1.210578927e-07f, -1.352473843e-07f,
+-1.494349174e-07f, -1.636204678e-07f, -1.778040112e-07f, -1.919855231e-07f, -2.061649794e-07f, -2.203423556e-07f, -2.345176274e-07f, -2.486907706e-07f, -2.628617608e-07f, -2.770305738e-07f,
+-2.911971853e-07f, -3.053615710e-07f, -3.195237066e-07f, -3.336835678e-07f, -3.478411304e-07f, -3.619963702e-07f, -3.761492630e-07f, -3.902997843e-07f, -4.044479102e-07f, -4.185936162e-07f,
+-4.327368783e-07f, -4.468776721e-07f, -4.610159736e-07f, -4.751517585e-07f, -4.892850025e-07f, -5.034156817e-07f, -5.175437717e-07f, -5.316692484e-07f, -5.457920876e-07f, -5.599122653e-07f,
+-5.740297572e-07f, -5.881445393e-07f, -6.022565873e-07f, -6.163658772e-07f, -6.304723849e-07f, -6.445760863e-07f, -6.586769573e-07f, -6.727749737e-07f, -6.868701115e-07f, -7.009623467e-07f,
+-7.150516552e-07f, -7.291380128e-07f, -7.432213957e-07f, -7.573017797e-07f, -7.713791407e-07f, -7.854534549e-07f, -7.995246981e-07f, -8.135928464e-07f, -8.276578757e-07f, -8.417197621e-07f,
+-8.557784816e-07f, -8.698340101e-07f, -8.838863239e-07f, -8.979353988e-07f, -9.119812110e-07f, -9.260237364e-07f, -9.400629513e-07f, -9.540988316e-07f, -9.681313534e-07f, -9.821604929e-07f,
+-9.961862261e-07f, -1.010208529e-06f, -1.024227378e-06f, -1.038242749e-06f, -1.052254619e-06f, -1.066262962e-06f, -1.080267757e-06f, -1.094268978e-06f, -1.108266602e-06f, -1.122260605e-06f,
+-1.136250963e-06f, -1.150237653e-06f, -1.164220650e-06f, -1.178199931e-06f, -1.192175473e-06f, -1.206147251e-06f, -1.220115241e-06f, -1.234079421e-06f, -1.248039765e-06f, -1.261996251e-06f,
+-1.275948855e-06f, -1.289897552e-06f, -1.303842320e-06f, -1.317783135e-06f, -1.331719973e-06f, -1.345652810e-06f, -1.359581622e-06f, -1.373506387e-06f, -1.387427080e-06f, -1.401343678e-06f,
+-1.415256157e-06f, -1.429164493e-06f, -1.443068663e-06f, -1.456968644e-06f, -1.470864412e-06f, -1.484755942e-06f, -1.498643213e-06f, -1.512526199e-06f, -1.526404878e-06f, -1.540279227e-06f,
+-1.554149220e-06f, -1.568014836e-06f, -1.581876050e-06f, -1.595732840e-06f, -1.609585181e-06f, -1.623433050e-06f, -1.637276424e-06f, -1.651115279e-06f, -1.664949592e-06f, -1.678779339e-06f,
+-1.692604498e-06f, -1.706425044e-06f, -1.720240954e-06f, -1.734052205e-06f, -1.747858774e-06f, -1.761660637e-06f, -1.775457770e-06f, -1.789250151e-06f, -1.803037756e-06f, -1.816820562e-06f,
+-1.830598546e-06f, -1.844371684e-06f, -1.858139953e-06f, -1.871903329e-06f, -1.885661790e-06f, -1.899415313e-06f, -1.913163873e-06f, -1.926907448e-06f, -1.940646015e-06f, -1.954379550e-06f,
+-1.968108030e-06f, -1.981831432e-06f, -1.995549733e-06f, -2.009262910e-06f, -2.022970940e-06f, -2.036673798e-06f, -2.050371464e-06f, -2.064063912e-06f, -2.077751121e-06f, -2.091433067e-06f,
+-2.105109726e-06f, -2.118781077e-06f, -2.132447096e-06f, -2.146107759e-06f, -2.159763045e-06f, -2.173412929e-06f, -2.187057389e-06f, -2.200696403e-06f, -2.214329946e-06f, -2.227957996e-06f,
+-2.241580530e-06f, -2.255197525e-06f, -2.268808958e-06f, -2.282414807e-06f, -2.296015048e-06f, -2.309609658e-06f, -2.323198615e-06f, -2.336781896e-06f, -2.350359478e-06f, -2.363931337e-06f,
+-2.377497453e-06f, -2.391057800e-06f, -2.404612358e-06f, -2.418161102e-06f, -2.431704010e-06f, -2.445241060e-06f, -2.458772228e-06f, -2.472297492e-06f, -2.485816830e-06f, -2.499330217e-06f,
+-2.512837633e-06f, -2.526339054e-06f, -2.539834457e-06f, -2.553323820e-06f, -2.566807120e-06f, -2.580284335e-06f, -2.593755442e-06f, -2.607220418e-06f, -2.620679241e-06f, -2.634131888e-06f,
+-2.647578336e-06f, -2.661018564e-06f, -2.674452548e-06f, -2.687880266e-06f, -2.701301696e-06f, -2.714716815e-06f, -2.728125600e-06f, -2.741528030e-06f, -2.754924081e-06f, -2.768313732e-06f,
+-2.781696959e-06f, -2.795073740e-06f, -2.808444054e-06f, -2.821807877e-06f, -2.835165188e-06f, -2.848515963e-06f, -2.861860181e-06f, -2.875197819e-06f, -2.888528856e-06f, -2.901853267e-06f,
+-2.915171033e-06f, -2.928482129e-06f, -2.941786534e-06f, -2.955084226e-06f, -2.968375182e-06f, -2.981659380e-06f, -2.994936799e-06f, -3.008207415e-06f, -3.021471207e-06f, -3.034728152e-06f,
+-3.047978229e-06f, -3.061221414e-06f, -3.074457687e-06f, -3.087687026e-06f, -3.100909407e-06f, -3.114124808e-06f, -3.127333209e-06f, -3.140534587e-06f, -3.153728919e-06f, -3.166916184e-06f,
+-3.180096360e-06f, -3.193269425e-06f, -3.206435357e-06f, -3.219594134e-06f, -3.232745733e-06f, -3.245890134e-06f, -3.259027314e-06f, -3.272157251e-06f, -3.285279924e-06f, -3.298395310e-06f,
+-3.311503388e-06f, -3.324604136e-06f, -3.337697532e-06f, -3.350783555e-06f, -3.363862182e-06f, -3.376933391e-06f, -3.389997162e-06f, -3.403053472e-06f, -3.416102300e-06f, -3.429143624e-06f,
+-3.442177422e-06f, -3.455203672e-06f, -3.468222353e-06f, -3.481233444e-06f, -3.494236922e-06f, -3.507232767e-06f, -3.520220956e-06f, -3.533201467e-06f, -3.546174281e-06f, -3.559139373e-06f,
+-3.572096725e-06f, -3.585046313e-06f, -3.597988116e-06f, -3.610922113e-06f, -3.623848282e-06f, -3.636766602e-06f, -3.649677052e-06f, -3.662579610e-06f, -3.675474255e-06f, -3.688360964e-06f,
+-3.701239718e-06f, -3.714110494e-06f, -3.726973272e-06f, -3.739828029e-06f, -3.752674745e-06f, -3.765513399e-06f, -3.778343968e-06f, -3.791166433e-06f, -3.803980771e-06f, -3.816786962e-06f,
+-3.829584983e-06f, -3.842374815e-06f, -3.855156436e-06f, -3.867929824e-06f, -3.880694959e-06f, -3.893451819e-06f, -3.906200384e-06f, -3.918940632e-06f, -3.931672543e-06f, -3.944396094e-06f,
+-3.957111266e-06f, -3.969818037e-06f, -3.982516386e-06f, -3.995206293e-06f, -4.007887735e-06f, -4.020560693e-06f, -4.033225146e-06f, -4.045881071e-06f, -4.058528450e-06f, -4.071167260e-06f,
+-4.083797481e-06f, -4.096419092e-06f, -4.109032072e-06f, -4.121636400e-06f, -4.134232056e-06f, -4.146819019e-06f, -4.159397268e-06f, -4.171966783e-06f, -4.184527542e-06f, -4.197079525e-06f,
+-4.209622711e-06f, -4.222157080e-06f, -4.234682611e-06f, -4.247199283e-06f, -4.259707076e-06f, -4.272205969e-06f, -4.284695942e-06f, -4.297176974e-06f, -4.309649044e-06f, -4.322112132e-06f,
+-4.334566217e-06f, -4.347011280e-06f, -4.359447299e-06f, -4.371874254e-06f, -4.384292125e-06f, -4.396700891e-06f, -4.409100532e-06f, -4.421491027e-06f, -4.433872357e-06f, -4.446244500e-06f,
+-4.458607437e-06f, -4.470961147e-06f, -4.483305609e-06f, -4.495640805e-06f, -4.507966713e-06f, -4.520283313e-06f, -4.532590584e-06f, -4.544888508e-06f, -4.557177063e-06f, -4.569456230e-06f,
+-4.581725988e-06f, -4.593986317e-06f, -4.606237198e-06f, -4.618478609e-06f, -4.630710531e-06f, -4.642932944e-06f, -4.655145829e-06f, -4.667349164e-06f, -4.679542930e-06f, -4.691727107e-06f,
+-4.703901675e-06f, -4.716066614e-06f, -4.728221904e-06f, -4.740367526e-06f, -4.752503459e-06f, -4.764629684e-06f, -4.776746180e-06f, -4.788852929e-06f, -4.800949909e-06f, -4.813037103e-06f,
+-4.825114488e-06f, -4.837182047e-06f, -4.849239759e-06f, -4.861287604e-06f, -4.873325564e-06f, -4.885353617e-06f, -4.897371745e-06f, -4.909379928e-06f, -4.921378147e-06f, -4.933366381e-06f,
+-4.945344611e-06f, -4.957312819e-06f, -4.969270983e-06f, -4.981219085e-06f, -4.993157105e-06f, -5.005085024e-06f, -5.017002822e-06f, -5.028910481e-06f, -5.040807979e-06f, -5.052695299e-06f,
+-5.064572421e-06f, -5.076439325e-06f, -5.088295992e-06f, -5.100142403e-06f, -5.111978539e-06f, -5.123804380e-06f, -5.135619907e-06f, -5.147425101e-06f, -5.159219942e-06f, -5.171004412e-06f,
+-5.182778492e-06f, -5.194542161e-06f, -5.206295402e-06f, -5.218038194e-06f, -5.229770520e-06f, -5.241492359e-06f, -5.253203694e-06f, -5.264904504e-06f, -5.276594771e-06f, -5.288274475e-06f,
+-5.299943599e-06f, -5.311602122e-06f, -5.323250027e-06f, -5.334887294e-06f, -5.346513904e-06f, -5.358129839e-06f, -5.369735079e-06f, -5.381329607e-06f, -5.392913402e-06f, -5.404486446e-06f,
+-5.416048721e-06f, -5.427600208e-06f, -5.439140888e-06f, -5.450670743e-06f, -5.462189753e-06f, -5.473697901e-06f, -5.485195167e-06f, -5.496681533e-06f, -5.508156980e-06f, -5.519621491e-06f,
+-5.531075045e-06f, -5.542517626e-06f, -5.553949213e-06f, -5.565369790e-06f, -5.576779337e-06f, -5.588177836e-06f, -5.599565268e-06f, -5.610941616e-06f, -5.622306860e-06f, -5.633660983e-06f,
+-5.645003966e-06f, -5.656335791e-06f, -5.667656440e-06f, -5.678965894e-06f, -5.690264135e-06f, -5.701551145e-06f, -5.712826905e-06f, -5.724091399e-06f, -5.735344606e-06f, -5.746586510e-06f,
+-5.757817092e-06f, -5.769036335e-06f, -5.780244219e-06f, -5.791440727e-06f, -5.802625842e-06f, -5.813799544e-06f, -5.824961817e-06f, -5.836112641e-06f, -5.847252000e-06f, -5.858379875e-06f,
+-5.869496249e-06f, -5.880601103e-06f, -5.891694419e-06f, -5.902776181e-06f, -5.913846369e-06f, -5.924904968e-06f, -5.935951957e-06f, -5.946987321e-06f, -5.958011040e-06f, -5.969023098e-06f,
+-5.980023477e-06f, -5.991012159e-06f, -6.001989127e-06f, -6.012954363e-06f, -6.023907849e-06f, -6.034849568e-06f, -6.045779502e-06f, -6.056697634e-06f, -6.067603947e-06f, -6.078498422e-06f,
+-6.089381043e-06f, -6.100251792e-06f, -6.111110651e-06f, -6.121957604e-06f, -6.132792633e-06f, -6.143615721e-06f, -6.154426850e-06f, -6.165226003e-06f, -6.176013163e-06f, -6.186788312e-06f,
+-6.197551434e-06f, -6.208302511e-06f, -6.219041526e-06f, -6.229768463e-06f, -6.240483302e-06f, -6.251186029e-06f, -6.261876625e-06f, -6.272555074e-06f, -6.283221359e-06f, -6.293875462e-06f,
+-6.304517367e-06f, -6.315147056e-06f, -6.325764513e-06f, -6.336369721e-06f, -6.346962663e-06f, -6.357543322e-06f, -6.368111682e-06f, -6.378667724e-06f, -6.389211434e-06f, -6.399742793e-06f,
+-6.410261786e-06f, -6.420768395e-06f, -6.431262603e-06f, -6.441744395e-06f, -6.452213754e-06f, -6.462670662e-06f, -6.473115103e-06f, -6.483547061e-06f, -6.493966519e-06f, -6.504373461e-06f,
+-6.514767869e-06f, -6.525149728e-06f, -6.535519022e-06f, -6.545875733e-06f, -6.556219845e-06f, -6.566551342e-06f, -6.576870208e-06f, -6.587176426e-06f, -6.597469980e-06f, -6.607750853e-06f,
+-6.618019030e-06f, -6.628274494e-06f, -6.638517229e-06f, -6.648747218e-06f, -6.658964446e-06f, -6.669168896e-06f, -6.679360553e-06f, -6.689539399e-06f, -6.699705420e-06f, -6.709858598e-06f,
+-6.719998919e-06f, -6.730126366e-06f, -6.740240922e-06f, -6.750342573e-06f, -6.760431302e-06f, -6.770507093e-06f, -6.780569930e-06f, -6.790619798e-06f, -6.800656681e-06f, -6.810680562e-06f,
+-6.820691427e-06f, -6.830689259e-06f, -6.840674042e-06f, -6.850645761e-06f, -6.860604401e-06f, -6.870549945e-06f, -6.880482378e-06f, -6.890401684e-06f, -6.900307848e-06f, -6.910200854e-06f,
+-6.920080687e-06f, -6.929947330e-06f, -6.939800770e-06f, -6.949640989e-06f, -6.959467974e-06f, -6.969281707e-06f, -6.979082175e-06f, -6.988869361e-06f, -6.998643250e-06f, -7.008403827e-06f,
+-7.018151077e-06f, -7.027884985e-06f, -7.037605534e-06f, -7.047312710e-06f, -7.057006498e-06f, -7.066686883e-06f, -7.076353849e-06f, -7.086007381e-06f, -7.095647465e-06f, -7.105274084e-06f,
+-7.114887225e-06f, -7.124486872e-06f, -7.134073010e-06f, -7.143645624e-06f, -7.153204700e-06f, -7.162750222e-06f, -7.172282175e-06f, -7.181800545e-06f, -7.191305317e-06f, -7.200796475e-06f,
+-7.210274006e-06f, -7.219737894e-06f, -7.229188125e-06f, -7.238624684e-06f, -7.248047556e-06f, -7.257456727e-06f, -7.266852182e-06f, -7.276233906e-06f, -7.285601885e-06f, -7.294956104e-06f,
+-7.304296549e-06f, -7.313623205e-06f, -7.322936058e-06f, -7.332235093e-06f, -7.341520296e-06f, -7.350791653e-06f, -7.360049149e-06f, -7.369292769e-06f, -7.378522500e-06f, -7.387738327e-06f,
+-7.396940236e-06f, -7.406128212e-06f, -7.415302242e-06f, -7.424462312e-06f, -7.433608406e-06f, -7.442740511e-06f, -7.451858613e-06f, -7.460962698e-06f, -7.470052751e-06f, -7.479128759e-06f,
+-7.488190707e-06f, -7.497238582e-06f, -7.506272370e-06f, -7.515292057e-06f, -7.524297628e-06f, -7.533289070e-06f, -7.542266369e-06f, -7.551229512e-06f, -7.560178484e-06f, -7.569113272e-06f,
+-7.578033861e-06f, -7.586940239e-06f, -7.595832391e-06f, -7.604710305e-06f, -7.613573965e-06f, -7.622423359e-06f, -7.631258473e-06f, -7.640079293e-06f, -7.648885807e-06f, -7.657677999e-06f,
+-7.666455858e-06f, -7.675219369e-06f, -7.683968519e-06f, -7.692703294e-06f, -7.701423682e-06f, -7.710129669e-06f, -7.718821241e-06f, -7.727498385e-06f, -7.736161089e-06f, -7.744809338e-06f,
+-7.753443119e-06f, -7.762062420e-06f, -7.770667227e-06f, -7.779257527e-06f, -7.787833307e-06f, -7.796394554e-06f, -7.804941255e-06f, -7.813473396e-06f, -7.821990965e-06f, -7.830493949e-06f,
+-7.838982334e-06f, -7.847456108e-06f, -7.855915259e-06f, -7.864359772e-06f, -7.872789636e-06f, -7.881204837e-06f, -7.889605363e-06f, -7.897991200e-06f, -7.906362337e-06f, -7.914718760e-06f,
+-7.923060457e-06f, -7.931387415e-06f, -7.939699622e-06f, -7.947997064e-06f, -7.956279730e-06f, -7.964547606e-06f, -7.972800681e-06f, -7.981038941e-06f, -7.989262375e-06f, -7.997470969e-06f,
+-8.005664712e-06f, -8.013843591e-06f, -8.022007594e-06f, -8.030156708e-06f, -8.038290921e-06f, -8.046410221e-06f, -8.054514596e-06f, -8.062604032e-06f, -8.070678519e-06f, -8.078738044e-06f,
+-8.086782595e-06f, -8.094812160e-06f, -8.102826726e-06f, -8.110826281e-06f, -8.118810815e-06f, -8.126780314e-06f, -8.134734766e-06f, -8.142674160e-06f, -8.150598484e-06f, -8.158507726e-06f,
+-8.166401873e-06f, -8.174280915e-06f, -8.182144839e-06f, -8.189993634e-06f, -8.197827288e-06f, -8.205645788e-06f, -8.213449124e-06f, -8.221237284e-06f, -8.229010256e-06f, -8.236768028e-06f,
+-8.244510589e-06f, -8.252237928e-06f, -8.259950032e-06f, -8.267646891e-06f, -8.275328493e-06f, -8.282994826e-06f, -8.290645878e-06f, -8.298281640e-06f, -8.305902099e-06f, -8.313507243e-06f,
+-8.321097062e-06f, -8.328671545e-06f, -8.336230680e-06f, -8.343774455e-06f, -8.351302860e-06f, -8.358815883e-06f, -8.366313514e-06f, -8.373795741e-06f, -8.381262554e-06f, -8.388713940e-06f,
+-8.396149889e-06f, -8.403570391e-06f, -8.410975433e-06f, -8.418365006e-06f, -8.425739098e-06f, -8.433097698e-06f, -8.440440796e-06f, -8.447768381e-06f, -8.455080441e-06f, -8.462376967e-06f,
+-8.469657947e-06f, -8.476923370e-06f, -8.484173227e-06f, -8.491407505e-06f, -8.498626196e-06f, -8.505829287e-06f, -8.513016769e-06f, -8.520188631e-06f, -8.527344863e-06f, -8.534485453e-06f,
+-8.541610392e-06f, -8.548719669e-06f, -8.555813273e-06f, -8.562891195e-06f, -8.569953424e-06f, -8.576999949e-06f, -8.584030761e-06f, -8.591045849e-06f, -8.598045202e-06f, -8.605028812e-06f,
+-8.611996666e-06f, -8.618948756e-06f, -8.625885071e-06f, -8.632805601e-06f, -8.639710337e-06f, -8.646599267e-06f, -8.653472382e-06f, -8.660329673e-06f, -8.667171128e-06f, -8.673996738e-06f,
+-8.680806494e-06f, -8.687600385e-06f, -8.694378402e-06f, -8.701140535e-06f, -8.707886773e-06f, -8.714617108e-06f, -8.721331529e-06f, -8.728030027e-06f, -8.734712593e-06f, -8.741379215e-06f,
+-8.748029886e-06f, -8.754664596e-06f, -8.761283334e-06f, -8.767886091e-06f, -8.774472858e-06f, -8.781043626e-06f, -8.787598384e-06f, -8.794137124e-06f, -8.800659837e-06f, -8.807166512e-06f,
+-8.813657140e-06f, -8.820131713e-06f, -8.826590221e-06f, -8.833032655e-06f, -8.839459005e-06f, -8.845869263e-06f, -8.852263419e-06f, -8.858641464e-06f, -8.865003389e-06f, -8.871349185e-06f,
+-8.877678843e-06f, -8.883992354e-06f, -8.890289709e-06f, -8.896570899e-06f, -8.902835916e-06f, -8.909084749e-06f, -8.915317391e-06f, -8.921533833e-06f, -8.927734066e-06f, -8.933918081e-06f,
+-8.940085869e-06f, -8.946237422e-06f, -8.952372730e-06f, -8.958491787e-06f, -8.964594582e-06f, -8.970681107e-06f, -8.976751353e-06f, -8.982805313e-06f, -8.988842977e-06f, -8.994864338e-06f,
+-9.000869386e-06f, -9.006858113e-06f, -9.012830511e-06f, -9.018786572e-06f, -9.024726287e-06f, -9.030649647e-06f, -9.036556646e-06f, -9.042447274e-06f, -9.048321523e-06f, -9.054179385e-06f,
+-9.060020852e-06f, -9.065845916e-06f, -9.071654568e-06f, -9.077446801e-06f, -9.083222607e-06f, -9.088981977e-06f, -9.094724904e-06f, -9.100451379e-06f, -9.106161396e-06f, -9.111854945e-06f,
+-9.117532020e-06f, -9.123192611e-06f, -9.128836712e-06f, -9.134464315e-06f, -9.140075412e-06f, -9.145669994e-06f, -9.151248056e-06f, -9.156809588e-06f, -9.162354584e-06f, -9.167883035e-06f,
+-9.173394935e-06f, -9.178890275e-06f, -9.184369049e-06f, -9.189831248e-06f, -9.195276865e-06f, -9.200705894e-06f, -9.206118325e-06f, -9.211514153e-06f, -9.216893370e-06f, -9.222255968e-06f,
+-9.227601940e-06f, -9.232931280e-06f, -9.238243979e-06f, -9.243540031e-06f, -9.248819428e-06f, -9.254082164e-06f, -9.259328232e-06f, -9.264557623e-06f, -9.269770332e-06f, -9.274966351e-06f,
+-9.280145673e-06f, -9.285308292e-06f, -9.290454200e-06f, -9.295583391e-06f, -9.300695857e-06f, -9.305791593e-06f, -9.310870591e-06f, -9.315932844e-06f, -9.320978346e-06f, -9.326007090e-06f,
+-9.331019069e-06f, -9.336014277e-06f, -9.340992707e-06f, -9.345954352e-06f, -9.350899207e-06f, -9.355827264e-06f, -9.360738517e-06f, -9.365632959e-06f, -9.370510585e-06f, -9.375371388e-06f,
+-9.380215360e-06f, -9.385042497e-06f, -9.389852792e-06f, -9.394646238e-06f, -9.399422829e-06f, -9.404182559e-06f, -9.408925422e-06f, -9.413651412e-06f, -9.418360522e-06f, -9.423052747e-06f,
+-9.427728080e-06f, -9.432386516e-06f, -9.437028047e-06f, -9.441652670e-06f, -9.446260376e-06f, -9.450851161e-06f, -9.455425019e-06f, -9.459981944e-06f, -9.464521929e-06f, -9.469044970e-06f,
+-9.473551060e-06f, -9.478040194e-06f, -9.482512365e-06f, -9.486967569e-06f, -9.491405800e-06f, -9.495827052e-06f, -9.500231319e-06f, -9.504618596e-06f, -9.508988877e-06f, -9.513342158e-06f,
+-9.517678431e-06f, -9.521997693e-06f, -9.526299938e-06f, -9.530585159e-06f, -9.534853353e-06f, -9.539104513e-06f, -9.543338634e-06f, -9.547555712e-06f, -9.551755740e-06f, -9.555938714e-06f,
+-9.560104628e-06f, -9.564253478e-06f, -9.568385258e-06f, -9.572499963e-06f, -9.576597588e-06f, -9.580678129e-06f, -9.584741579e-06f, -9.588787935e-06f, -9.592817191e-06f, -9.596829343e-06f,
+-9.600824385e-06f, -9.604802312e-06f, -9.608763121e-06f, -9.612706806e-06f, -9.616633362e-06f, -9.620542785e-06f, -9.624435070e-06f, -9.628310212e-06f, -9.632168207e-06f, -9.636009051e-06f,
+-9.639832738e-06f, -9.643639264e-06f, -9.647428624e-06f, -9.651200815e-06f, -9.654955832e-06f, -9.658693670e-06f, -9.662414324e-06f, -9.666117792e-06f, -9.669804067e-06f, -9.673473147e-06f,
+-9.677125027e-06f, -9.680759702e-06f, -9.684377168e-06f, -9.687977421e-06f, -9.691560458e-06f, -9.695126273e-06f, -9.698674864e-06f, -9.702206225e-06f, -9.705720353e-06f, -9.709217244e-06f,
+-9.712696894e-06f, -9.716159299e-06f, -9.719604455e-06f, -9.723032358e-06f, -9.726443004e-06f, -9.729836391e-06f, -9.733212513e-06f, -9.736571367e-06f, -9.739912949e-06f, -9.743237257e-06f,
+-9.746544285e-06f, -9.749834031e-06f, -9.753106491e-06f, -9.756361661e-06f, -9.759599538e-06f, -9.762820119e-06f, -9.766023399e-06f, -9.769209376e-06f, -9.772378046e-06f, -9.775529405e-06f,
+-9.778663451e-06f, -9.781780180e-06f, -9.784879588e-06f, -9.787961673e-06f, -9.791026431e-06f, -9.794073860e-06f, -9.797103955e-06f, -9.800116714e-06f, -9.803112134e-06f, -9.806090212e-06f,
+-9.809050944e-06f, -9.811994328e-06f, -9.814920360e-06f, -9.817829038e-06f, -9.820720359e-06f, -9.823594319e-06f, -9.826450917e-06f, -9.829290149e-06f, -9.832112013e-06f, -9.834916505e-06f,
+-9.837703623e-06f, -9.840473364e-06f, -9.843225725e-06f, -9.845960705e-06f, -9.848678300e-06f, -9.851378508e-06f, -9.854061326e-06f, -9.856726751e-06f, -9.859374782e-06f, -9.862005416e-06f,
+-9.864618649e-06f, -9.867214481e-06f, -9.869792908e-06f, -9.872353929e-06f, -9.874897540e-06f, -9.877423740e-06f, -9.879932526e-06f, -9.882423896e-06f, -9.884897849e-06f, -9.887354381e-06f,
+-9.889793491e-06f, -9.892215177e-06f, -9.894619436e-06f, -9.897006266e-06f, -9.899375667e-06f, -9.901727634e-06f, -9.904062168e-06f, -9.906379265e-06f, -9.908678924e-06f, -9.910961143e-06f,
+-9.913225920e-06f, -9.915473253e-06f, -9.917703141e-06f, -9.919915582e-06f, -9.922110574e-06f, -9.924288116e-06f, -9.926448205e-06f, -9.928590841e-06f, -9.930716022e-06f, -9.932823746e-06f,
+-9.934914011e-06f, -9.936986817e-06f, -9.939042161e-06f, -9.941080043e-06f, -9.943100461e-06f, -9.945103413e-06f, -9.947088898e-06f, -9.949056915e-06f, -9.951007463e-06f, -9.952940541e-06f,
+-9.954856147e-06f, -9.956754279e-06f, -9.958634938e-06f, -9.960498121e-06f, -9.962343828e-06f, -9.964172058e-06f, -9.965982809e-06f, -9.967776081e-06f, -9.969551873e-06f, -9.971310183e-06f,
+-9.973051011e-06f, -9.974774356e-06f, -9.976480218e-06f, -9.978168594e-06f, -9.979839485e-06f, -9.981492890e-06f, -9.983128807e-06f, -9.984747237e-06f, -9.986348179e-06f, -9.987931632e-06f,
+-9.989497595e-06f, -9.991046068e-06f, -9.992577051e-06f, -9.994090542e-06f, -9.995586542e-06f, -9.997065049e-06f, -9.998526064e-06f, -9.999969586e-06f, -1.000139562e-05f, -1.000280415e-05f,
+-1.000419519e-05f, -1.000556874e-05f, -1.000692479e-05f, -1.000826335e-05f, -1.000958441e-05f, -1.001088798e-05f, -1.001217406e-05f, -1.001344264e-05f, -1.001469372e-05f, -1.001592731e-05f,
+-1.001714340e-05f, -1.001834200e-05f, -1.001952310e-05f, -1.002068671e-05f, -1.002183282e-05f, -1.002296144e-05f, -1.002407256e-05f, -1.002516619e-05f, -1.002624233e-05f, -1.002730097e-05f,
+-1.002834212e-05f, -1.002936578e-05f, -1.003037194e-05f, -1.003136061e-05f, -1.003233179e-05f, -1.003328547e-05f, -1.003422167e-05f, -1.003514038e-05f, -1.003604159e-05f, -1.003692532e-05f,
+-1.003779156e-05f, -1.003864031e-05f, -1.003947157e-05f, -1.004028535e-05f, -1.004108164e-05f, -1.004186044e-05f, -1.004262176e-05f, -1.004336560e-05f, -1.004409196e-05f, -1.004480083e-05f,
+-1.004549222e-05f, -1.004616613e-05f, -1.004682257e-05f, -1.004746152e-05f, -1.004808300e-05f, -1.004868700e-05f, -1.004927353e-05f, -1.004984258e-05f, -1.005039417e-05f, -1.005092828e-05f,
+-1.005144492e-05f, -1.005194409e-05f, -1.005242579e-05f, -1.005289003e-05f, -1.005333680e-05f, -1.005376611e-05f, -1.005417796e-05f, -1.005457235e-05f, -1.005494928e-05f, -1.005530875e-05f,
+-1.005565076e-05f, -1.005597532e-05f, -1.005628243e-05f, -1.005657208e-05f, -1.005684429e-05f, -1.005709904e-05f, -1.005733635e-05f, -1.005755622e-05f, -1.005775864e-05f, -1.005794362e-05f,
+-1.005811117e-05f, -1.005826127e-05f, -1.005839394e-05f, -1.005850917e-05f, -1.005860698e-05f, -1.005868735e-05f, -1.005875030e-05f, -1.005879582e-05f, -1.005882391e-05f, -1.005883459e-05f,
+-1.005882784e-05f, -1.005880368e-05f, -1.005876210e-05f, -1.005870311e-05f, -1.005862671e-05f, -1.005853290e-05f, -1.005842169e-05f, -1.005829307e-05f, -1.005814705e-05f, -1.005798363e-05f,
+-1.005780281e-05f, -1.005760460e-05f, -1.005738900e-05f, -1.005715600e-05f, -1.005690563e-05f, -1.005663786e-05f, -1.005635272e-05f, -1.005605020e-05f, -1.005573030e-05f, -1.005539302e-05f,
+-1.005503838e-05f, -1.005466637e-05f, -1.005427699e-05f, -1.005387025e-05f, -1.005344615e-05f, -1.005300469e-05f, -1.005254588e-05f, -1.005206972e-05f, -1.005157621e-05f, -1.005106536e-05f,
+-1.005053716e-05f, -1.004999162e-05f, -1.004942875e-05f, -1.004884855e-05f, -1.004825101e-05f, -1.004763615e-05f, -1.004700397e-05f, -1.004635446e-05f, -1.004568764e-05f, -1.004500351e-05f,
+-1.004430206e-05f, -1.004358331e-05f, -1.004284726e-05f, -1.004209390e-05f, -1.004132325e-05f, -1.004053530e-05f, -1.003973007e-05f, -1.003890755e-05f, -1.003806774e-05f, -1.003721066e-05f,
+-1.003633630e-05f, -1.003544467e-05f, -1.003453577e-05f, -1.003360960e-05f, -1.003266618e-05f, -1.003170550e-05f, -1.003072756e-05f, -1.002973238e-05f, -1.002871995e-05f, -1.002769027e-05f,
+-1.002664336e-05f, -1.002557922e-05f, -1.002449785e-05f, -1.002339925e-05f, -1.002228342e-05f, -1.002115038e-05f, -1.002000013e-05f, -1.001883267e-05f, -1.001764800e-05f, -1.001644613e-05f,
+-1.001522706e-05f, -1.001399080e-05f, -1.001273735e-05f, -1.001146671e-05f, -1.001017890e-05f, -1.000887391e-05f, -1.000755175e-05f, -1.000621242e-05f, -1.000485593e-05f, -1.000348228e-05f,
+-1.000209148e-05f, -1.000068352e-05f, -9.999258427e-06f, -9.997816189e-06f, -9.996356817e-06f, -9.994880313e-06f, -9.993386684e-06f, -9.991875933e-06f, -9.990348065e-06f, -9.988803085e-06f,
+-9.987240998e-06f, -9.985661809e-06f, -9.984065521e-06f, -9.982452142e-06f, -9.980821674e-06f, -9.979174123e-06f, -9.977509495e-06f, -9.975827794e-06f, -9.974129024e-06f, -9.972413192e-06f,
+-9.970680302e-06f, -9.968930359e-06f, -9.967163368e-06f, -9.965379335e-06f, -9.963578265e-06f, -9.961760162e-06f, -9.959925033e-06f, -9.958072882e-06f, -9.956203715e-06f, -9.954317537e-06f,
+-9.952414353e-06f, -9.950494170e-06f, -9.948556991e-06f, -9.946602823e-06f, -9.944631671e-06f, -9.942643541e-06f, -9.940638438e-06f, -9.938616368e-06f, -9.936577336e-06f, -9.934521348e-06f,
+-9.932448410e-06f, -9.930358527e-06f, -9.928251704e-06f, -9.926127949e-06f, -9.923987266e-06f, -9.921829661e-06f, -9.919655140e-06f, -9.917463709e-06f, -9.915255374e-06f, -9.913030141e-06f,
+-9.910788015e-06f, -9.908529002e-06f, -9.906253110e-06f, -9.903960342e-06f, -9.901650707e-06f, -9.899324209e-06f, -9.896980855e-06f, -9.894620651e-06f, -9.892243602e-06f, -9.889849717e-06f,
+-9.887438999e-06f, -9.885011457e-06f, -9.882567095e-06f, -9.880105921e-06f, -9.877627940e-06f, -9.875133159e-06f, -9.872621585e-06f, -9.870093223e-06f, -9.867548081e-06f, -9.864986165e-06f,
+-9.862407480e-06f, -9.859812035e-06f, -9.857199834e-06f, -9.854570886e-06f, -9.851925196e-06f, -9.849262771e-06f, -9.846583618e-06f, -9.843887743e-06f, -9.841175154e-06f, -9.838445857e-06f,
+-9.835699858e-06f, -9.832937165e-06f, -9.830157784e-06f, -9.827361723e-06f, -9.824548988e-06f, -9.821719586e-06f, -9.818873524e-06f, -9.816010809e-06f, -9.813131448e-06f, -9.810235448e-06f,
+-9.807322816e-06f, -9.804393559e-06f, -9.801447685e-06f, -9.798485200e-06f, -9.795506112e-06f, -9.792510427e-06f, -9.789498154e-06f, -9.786469299e-06f, -9.783423870e-06f, -9.780361874e-06f,
+-9.777283318e-06f, -9.774188209e-06f, -9.771076556e-06f, -9.767948365e-06f, -9.764803644e-06f, -9.761642400e-06f, -9.758464642e-06f, -9.755270376e-06f, -9.752059609e-06f, -9.748832351e-06f,
+-9.745588607e-06f, -9.742328387e-06f, -9.739051697e-06f, -9.735758545e-06f, -9.732448939e-06f, -9.729122887e-06f, -9.725780397e-06f, -9.722421476e-06f, -9.719046132e-06f, -9.715654373e-06f,
+-9.712246207e-06f, -9.708821642e-06f, -9.705380685e-06f, -9.701923345e-06f, -9.698449631e-06f, -9.694959549e-06f, -9.691453107e-06f, -9.687930315e-06f, -9.684391180e-06f, -9.680835710e-06f,
+-9.677263914e-06f, -9.673675799e-06f, -9.670071373e-06f, -9.666450646e-06f, -9.662813625e-06f, -9.659160319e-06f, -9.655490736e-06f, -9.651804884e-06f, -9.648102772e-06f, -9.644384408e-06f,
+-9.640649800e-06f, -9.636898958e-06f, -9.633131889e-06f, -9.629348602e-06f, -9.625549106e-06f, -9.621733409e-06f, -9.617901519e-06f, -9.614053446e-06f, -9.610189199e-06f, -9.606308784e-06f,
+-9.602412213e-06f, -9.598499492e-06f, -9.594570632e-06f, -9.590625640e-06f, -9.586664526e-06f, -9.582687298e-06f, -9.578693965e-06f, -9.574684537e-06f, -9.570659022e-06f, -9.566617429e-06f,
+-9.562559767e-06f, -9.558486045e-06f, -9.554396272e-06f, -9.550290457e-06f, -9.546168610e-06f, -9.542030738e-06f, -9.537876853e-06f, -9.533706962e-06f, -9.529521074e-06f, -9.525319200e-06f,
+-9.521101348e-06f, -9.516867528e-06f, -9.512617749e-06f, -9.508352020e-06f, -9.504070350e-06f, -9.499772750e-06f, -9.495459227e-06f, -9.491129793e-06f, -9.486784455e-06f, -9.482423225e-06f,
+-9.478046111e-06f, -9.473653122e-06f, -9.469244269e-06f, -9.464819561e-06f, -9.460379007e-06f, -9.455922617e-06f, -9.451450402e-06f, -9.446962370e-06f, -9.442458531e-06f, -9.437938895e-06f,
+-9.433403472e-06f, -9.428852271e-06f, -9.424285303e-06f, -9.419702578e-06f, -9.415104104e-06f, -9.410489893e-06f, -9.405859953e-06f, -9.401214295e-06f, -9.396552930e-06f, -9.391875866e-06f,
+-9.387183114e-06f, -9.382474685e-06f, -9.377750587e-06f, -9.373010832e-06f, -9.368255429e-06f, -9.363484388e-06f, -9.358697720e-06f, -9.353895436e-06f, -9.349077544e-06f, -9.344244056e-06f,
+-9.339394981e-06f, -9.334530331e-06f, -9.329650115e-06f, -9.324754344e-06f, -9.319843028e-06f, -9.314916177e-06f, -9.309973803e-06f, -9.305015915e-06f, -9.300042524e-06f, -9.295053641e-06f,
+-9.290049276e-06f, -9.285029439e-06f, -9.279994142e-06f, -9.274943395e-06f, -9.269877208e-06f, -9.264795592e-06f, -9.259698559e-06f, -9.254586117e-06f, -9.249458280e-06f, -9.244315056e-06f,
+-9.239156458e-06f, -9.233982495e-06f, -9.228793180e-06f, -9.223588521e-06f, -9.218368531e-06f, -9.213133221e-06f, -9.207882601e-06f, -9.202616682e-06f, -9.197335476e-06f, -9.192038992e-06f,
+-9.186727244e-06f, -9.181400241e-06f, -9.176057994e-06f, -9.170700515e-06f, -9.165327816e-06f, -9.159939906e-06f, -9.154536797e-06f, -9.149118501e-06f, -9.143685029e-06f, -9.138236392e-06f,
+-9.132772602e-06f, -9.127293669e-06f, -9.121799605e-06f, -9.116290421e-06f, -9.110766130e-06f, -9.105226741e-06f, -9.099672268e-06f, -9.094102720e-06f, -9.088518111e-06f, -9.082918450e-06f,
+-9.077303751e-06f, -9.071674023e-06f, -9.066029280e-06f, -9.060369533e-06f, -9.054694792e-06f, -9.049005071e-06f, -9.043300380e-06f, -9.037580732e-06f, -9.031846138e-06f, -9.026096610e-06f,
+-9.020332159e-06f, -9.014552798e-06f, -9.008758539e-06f, -9.002949392e-06f, -8.997125371e-06f, -8.991286487e-06f, -8.985432752e-06f, -8.979564178e-06f, -8.973680777e-06f, -8.967782561e-06f,
+-8.961869542e-06f, -8.955941732e-06f, -8.949999143e-06f, -8.944041788e-06f, -8.938069678e-06f, -8.932082826e-06f, -8.926081243e-06f, -8.920064943e-06f, -8.914033937e-06f, -8.907988237e-06f,
+-8.901927856e-06f, -8.895852807e-06f, -8.889763100e-06f, -8.883658750e-06f, -8.877539768e-06f, -8.871406166e-06f, -8.865257958e-06f, -8.859095154e-06f, -8.852917769e-06f, -8.846725815e-06f,
+-8.840519303e-06f, -8.834298247e-06f, -8.828062658e-06f, -8.821812551e-06f, -8.815547937e-06f, -8.809268829e-06f, -8.802975239e-06f, -8.796667181e-06f, -8.790344666e-06f, -8.784007709e-06f,
+-8.777656320e-06f, -8.771290515e-06f, -8.764910304e-06f, -8.758515701e-06f, -8.752106719e-06f, -8.745683370e-06f, -8.739245669e-06f, -8.732793626e-06f, -8.726327256e-06f, -8.719846571e-06f,
+-8.713351585e-06f, -8.706842310e-06f, -8.700318760e-06f, -8.693780947e-06f, -8.687228884e-06f, -8.680662585e-06f, -8.674082063e-06f, -8.667487331e-06f, -8.660878402e-06f, -8.654255290e-06f,
+-8.647618007e-06f, -8.640966566e-06f, -8.634300982e-06f, -8.627621267e-06f, -8.620927435e-06f, -8.614219499e-06f, -8.607497472e-06f, -8.600761368e-06f, -8.594011200e-06f, -8.587246982e-06f,
+-8.580468727e-06f, -8.573676448e-06f, -8.566870159e-06f, -8.560049874e-06f, -8.553215606e-06f, -8.546367368e-06f, -8.539505175e-06f, -8.532629040e-06f, -8.525738976e-06f, -8.518834997e-06f,
+-8.511917117e-06f, -8.504985349e-06f, -8.498039708e-06f, -8.491080206e-06f, -8.484106858e-06f, -8.477119678e-06f, -8.470118679e-06f, -8.463103876e-06f, -8.456075281e-06f, -8.449032909e-06f,
+-8.441976774e-06f, -8.434906889e-06f, -8.427823270e-06f, -8.420725928e-06f, -8.413614880e-06f, -8.406490138e-06f, -8.399351717e-06f, -8.392199630e-06f, -8.385033892e-06f, -8.377854517e-06f,
+-8.370661519e-06f, -8.363454912e-06f, -8.356234711e-06f, -8.349000929e-06f, -8.341753580e-06f, -8.334492680e-06f, -8.327218242e-06f, -8.319930280e-06f, -8.312628809e-06f, -8.305313843e-06f,
+-8.297985396e-06f, -8.290643483e-06f, -8.283288118e-06f, -8.275919316e-06f, -8.268537090e-06f, -8.261141456e-06f, -8.253732428e-06f, -8.246310021e-06f, -8.238874248e-06f, -8.231425124e-06f,
+-8.223962665e-06f, -8.216486884e-06f, -8.208997796e-06f, -8.201495416e-06f, -8.193979758e-06f, -8.186450837e-06f, -8.178908668e-06f, -8.171353265e-06f, -8.163784644e-06f, -8.156202818e-06f,
+-8.148607803e-06f, -8.140999613e-06f, -8.133378264e-06f, -8.125743769e-06f, -8.118096145e-06f, -8.110435405e-06f, -8.102761565e-06f, -8.095074640e-06f, -8.087374644e-06f, -8.079661592e-06f,
+-8.071935500e-06f, -8.064196383e-06f, -8.056444254e-06f, -8.048679131e-06f, -8.040901026e-06f, -8.033109957e-06f, -8.025305937e-06f, -8.017488982e-06f, -8.009659107e-06f, -8.001816327e-06f,
+-7.993960657e-06f, -7.986092113e-06f, -7.978210709e-06f, -7.970316462e-06f, -7.962409385e-06f, -7.954489496e-06f, -7.946556808e-06f, -7.938611337e-06f, -7.930653098e-06f, -7.922682108e-06f,
+-7.914698381e-06f, -7.906701932e-06f, -7.898692777e-06f, -7.890670932e-06f, -7.882636412e-06f, -7.874589232e-06f, -7.866529408e-06f, -7.858456956e-06f, -7.850371891e-06f, -7.842274228e-06f,
+-7.834163983e-06f, -7.826041172e-06f, -7.817905811e-06f, -7.809757915e-06f, -7.801597499e-06f, -7.793424579e-06f, -7.785239172e-06f, -7.777041293e-06f, -7.768830957e-06f, -7.760608180e-06f,
+-7.752372979e-06f, -7.744125368e-06f, -7.735865364e-06f, -7.727592983e-06f, -7.719308240e-06f, -7.711011151e-06f, -7.702701732e-06f, -7.694380000e-06f, -7.686045970e-06f, -7.677699657e-06f,
+-7.669341079e-06f, -7.660970250e-06f, -7.652587188e-06f, -7.644191907e-06f, -7.635784425e-06f, -7.627364757e-06f, -7.618932919e-06f, -7.610488927e-06f, -7.602032798e-06f, -7.593564547e-06f,
+-7.585084192e-06f, -7.576591747e-06f, -7.568087229e-06f, -7.559570655e-06f, -7.551042041e-06f, -7.542501402e-06f, -7.533948756e-06f, -7.525384118e-06f, -7.516807505e-06f, -7.508218933e-06f,
+-7.499618418e-06f, -7.491005978e-06f, -7.482381627e-06f, -7.473745384e-06f, -7.465097263e-06f, -7.456437282e-06f, -7.447765458e-06f, -7.439081805e-06f, -7.430386342e-06f, -7.421679084e-06f,
+-7.412960049e-06f, -7.404229252e-06f, -7.395486710e-06f, -7.386732440e-06f, -7.377966458e-06f, -7.369188782e-06f, -7.360399427e-06f, -7.351598411e-06f, -7.342785750e-06f, -7.333961460e-06f,
+-7.325125559e-06f, -7.316278064e-06f, -7.307418990e-06f, -7.298548355e-06f, -7.289666176e-06f, -7.280772469e-06f, -7.271867252e-06f, -7.262950540e-06f, -7.254022352e-06f, -7.245082703e-06f,
+-7.236131611e-06f, -7.227169093e-06f, -7.218195166e-06f, -7.209209846e-06f, -7.200213150e-06f, -7.191205096e-06f, -7.182185701e-06f, -7.173154981e-06f, -7.164112954e-06f, -7.155059636e-06f,
+-7.145995045e-06f, -7.136919198e-06f, -7.127832112e-06f, -7.118733804e-06f, -7.109624292e-06f, -7.100503592e-06f, -7.091371721e-06f, -7.082228697e-06f, -7.073074537e-06f, -7.063909259e-06f,
+-7.054732879e-06f, -7.045545415e-06f, -7.036346884e-06f, -7.027137303e-06f, -7.017916690e-06f, -7.008685062e-06f, -6.999442436e-06f, -6.990188830e-06f, -6.980924261e-06f, -6.971648747e-06f,
+-6.962362305e-06f, -6.953064952e-06f, -6.943756706e-06f, -6.934437584e-06f, -6.925107604e-06f, -6.915766784e-06f, -6.906415140e-06f, -6.897052691e-06f, -6.887679454e-06f, -6.878295446e-06f,
+-6.868900685e-06f, -6.859495189e-06f, -6.850078976e-06f, -6.840652062e-06f, -6.831214466e-06f, -6.821766205e-06f, -6.812307298e-06f, -6.802837761e-06f, -6.793357612e-06f, -6.783866870e-06f,
+-6.774365551e-06f, -6.764853675e-06f, -6.755331257e-06f, -6.745798317e-06f, -6.736254872e-06f, -6.726700940e-06f, -6.717136539e-06f, -6.707561686e-06f, -6.697976400e-06f, -6.688380698e-06f,
+-6.678774598e-06f, -6.669158119e-06f, -6.659531278e-06f, -6.649894093e-06f, -6.640246582e-06f, -6.630588763e-06f, -6.620920655e-06f, -6.611242274e-06f, -6.601553640e-06f, -6.591854770e-06f,
+-6.582145682e-06f, -6.572426395e-06f, -6.562696926e-06f, -6.552957294e-06f, -6.543207516e-06f, -6.533447611e-06f, -6.523677598e-06f, -6.513897493e-06f, -6.504107316e-06f, -6.494307085e-06f,
+-6.484496817e-06f, -6.474676532e-06f, -6.464846246e-06f, -6.455005980e-06f, -6.445155750e-06f, -6.435295575e-06f, -6.425425474e-06f, -6.415545465e-06f, -6.405655566e-06f, -6.395755795e-06f,
+-6.385846172e-06f, -6.375926713e-06f, -6.365997438e-06f, -6.356058366e-06f, -6.346109514e-06f, -6.336150900e-06f, -6.326182545e-06f, -6.316204465e-06f, -6.306216679e-06f, -6.296219207e-06f,
+-6.286212066e-06f, -6.276195274e-06f, -6.266168852e-06f, -6.256132816e-06f, -6.246087186e-06f, -6.236031980e-06f, -6.225967217e-06f, -6.215892916e-06f, -6.205809095e-06f, -6.195715772e-06f,
+-6.185612967e-06f, -6.175500697e-06f, -6.165378983e-06f, -6.155247842e-06f, -6.145107293e-06f, -6.134957356e-06f, -6.124798047e-06f, -6.114629388e-06f, -6.104451395e-06f, -6.094264089e-06f,
+-6.084067487e-06f, -6.073861609e-06f, -6.063646473e-06f, -6.053422099e-06f, -6.043188504e-06f, -6.032945709e-06f, -6.022693732e-06f, -6.012432591e-06f, -6.002162306e-06f, -5.991882896e-06f,
+-5.981594379e-06f, -5.971296775e-06f, -5.960990102e-06f, -5.950674380e-06f, -5.940349627e-06f, -5.930015863e-06f, -5.919673106e-06f, -5.909321376e-06f, -5.898960691e-06f, -5.888591071e-06f,
+-5.878212535e-06f, -5.867825101e-06f, -5.857428789e-06f, -5.847023618e-06f, -5.836609608e-06f, -5.826186776e-06f, -5.815755143e-06f, -5.805314728e-06f, -5.794865549e-06f, -5.784407626e-06f,
+-5.773940978e-06f, -5.763465625e-06f, -5.752981585e-06f, -5.742488878e-06f, -5.731987523e-06f, -5.721477539e-06f, -5.710958946e-06f, -5.700431763e-06f, -5.689896008e-06f, -5.679351703e-06f,
+-5.668798865e-06f, -5.658237515e-06f, -5.647667670e-06f, -5.637089352e-06f, -5.626502579e-06f, -5.615907371e-06f, -5.605303747e-06f, -5.594691726e-06f, -5.584071328e-06f, -5.573442572e-06f,
+-5.562805478e-06f, -5.552160066e-06f, -5.541506354e-06f, -5.530844362e-06f, -5.520174110e-06f, -5.509495617e-06f, -5.498808903e-06f, -5.488113987e-06f, -5.477410889e-06f, -5.466699629e-06f,
+-5.455980225e-06f, -5.445252698e-06f, -5.434517066e-06f, -5.423773351e-06f, -5.413021571e-06f, -5.402261745e-06f, -5.391493895e-06f, -5.380718038e-06f, -5.369934196e-06f, -5.359142387e-06f,
+-5.348342631e-06f, -5.337534948e-06f, -5.326719358e-06f, -5.315895880e-06f, -5.305064534e-06f, -5.294225340e-06f, -5.283378318e-06f, -5.272523487e-06f, -5.261660867e-06f, -5.250790478e-06f,
+-5.239912340e-06f, -5.229026472e-06f, -5.218132895e-06f, -5.207231628e-06f, -5.196322690e-06f, -5.185406103e-06f, -5.174481885e-06f, -5.163550057e-06f, -5.152610639e-06f, -5.141663649e-06f,
+-5.130709109e-06f, -5.119747038e-06f, -5.108777456e-06f, -5.097800384e-06f, -5.086815840e-06f, -5.075823845e-06f, -5.064824419e-06f, -5.053817582e-06f, -5.042803354e-06f, -5.031781755e-06f,
+-5.020752804e-06f, -5.009716522e-06f, -4.998672930e-06f, -4.987622046e-06f, -4.976563892e-06f, -4.965498486e-06f, -4.954425849e-06f, -4.943346002e-06f, -4.932258964e-06f, -4.921164756e-06f,
+-4.910063397e-06f, -4.898954908e-06f, -4.887839308e-06f, -4.876716618e-06f, -4.865586859e-06f, -4.854450049e-06f, -4.843306210e-06f, -4.832155362e-06f, -4.820997524e-06f, -4.809832718e-06f,
+-4.798660962e-06f, -4.787482278e-06f, -4.776296686e-06f, -4.765104205e-06f, -4.753904856e-06f, -4.742698660e-06f, -4.731485636e-06f, -4.720265805e-06f, -4.709039188e-06f, -4.697805804e-06f,
+-4.686565673e-06f, -4.675318817e-06f, -4.664065255e-06f, -4.652805008e-06f, -4.641538095e-06f, -4.630264539e-06f, -4.618984358e-06f, -4.607697573e-06f, -4.596404204e-06f, -4.585104273e-06f,
+-4.573797798e-06f, -4.562484802e-06f, -4.551165303e-06f, -4.539839323e-06f, -4.528506882e-06f, -4.517168000e-06f, -4.505822698e-06f, -4.494470997e-06f, -4.483112916e-06f, -4.471748476e-06f,
+-4.460377698e-06f, -4.449000602e-06f, -4.437617208e-06f, -4.426227538e-06f, -4.414831612e-06f, -4.403429449e-06f, -4.392021072e-06f, -4.380606499e-06f, -4.369185752e-06f, -4.357758852e-06f,
+-4.346325819e-06f, -4.334886673e-06f, -4.323441435e-06f, -4.311990126e-06f, -4.300532766e-06f, -4.289069376e-06f, -4.277599976e-06f, -4.266124587e-06f, -4.254643230e-06f, -4.243155926e-06f,
+-4.231662694e-06f, -4.220163556e-06f, -4.208658532e-06f, -4.197147643e-06f, -4.185630910e-06f, -4.174108353e-06f, -4.162579992e-06f, -4.151045850e-06f, -4.139505946e-06f, -4.127960301e-06f,
+-4.116408935e-06f, -4.104851871e-06f, -4.093289127e-06f, -4.081720726e-06f, -4.070146687e-06f, -4.058567031e-06f, -4.046981780e-06f, -4.035390954e-06f, -4.023794574e-06f, -4.012192660e-06f,
+-4.000585233e-06f, -3.988972315e-06f, -3.977353925e-06f, -3.965730086e-06f, -3.954100816e-06f, -3.942466139e-06f, -3.930826073e-06f, -3.919180640e-06f, -3.907529862e-06f, -3.895873758e-06f,
+-3.884212350e-06f, -3.872545658e-06f, -3.860873703e-06f, -3.849196507e-06f, -3.837514090e-06f, -3.825826472e-06f, -3.814133676e-06f, -3.802435721e-06f, -3.790732629e-06f, -3.779024421e-06f,
+-3.767311117e-06f, -3.755592739e-06f, -3.743869307e-06f, -3.732140842e-06f, -3.720407365e-06f, -3.708668898e-06f, -3.696925461e-06f, -3.685177075e-06f, -3.673423761e-06f, -3.661665540e-06f,
+-3.649902433e-06f, -3.638134462e-06f, -3.626361646e-06f, -3.614584007e-06f, -3.602801567e-06f, -3.591014345e-06f, -3.579222364e-06f, -3.567425643e-06f, -3.555624205e-06f, -3.543818070e-06f,
+-3.532007259e-06f, -3.520191793e-06f, -3.508371694e-06f, -3.496546982e-06f, -3.484717678e-06f, -3.472883804e-06f, -3.461045380e-06f, -3.449202428e-06f, -3.437354969e-06f, -3.425503023e-06f,
+-3.413646612e-06f, -3.401785758e-06f, -3.389920480e-06f, -3.378050800e-06f, -3.366176740e-06f, -3.354298320e-06f, -3.342415562e-06f, -3.330528486e-06f, -3.318637115e-06f, -3.306741468e-06f,
+-3.294841567e-06f, -3.282937433e-06f, -3.271029088e-06f, -3.259116552e-06f, -3.247199847e-06f, -3.235278994e-06f, -3.223354013e-06f, -3.211424927e-06f, -3.199491757e-06f, -3.187554523e-06f,
+-3.175613246e-06f, -3.163667949e-06f, -3.151718651e-06f, -3.139765375e-06f, -3.127808142e-06f, -3.115846972e-06f, -3.103881887e-06f, -3.091912909e-06f, -3.079940058e-06f, -3.067963355e-06f,
+-3.055982822e-06f, -3.043998481e-06f, -3.032010351e-06f, -3.020018456e-06f, -3.008022815e-06f, -2.996023450e-06f, -2.984020382e-06f, -2.972013633e-06f, -2.960003224e-06f, -2.947989176e-06f,
+-2.935971510e-06f, -2.923950248e-06f, -2.911925411e-06f, -2.899897020e-06f, -2.887865096e-06f, -2.875829661e-06f, -2.863790737e-06f, -2.851748343e-06f, -2.839702502e-06f, -2.827653236e-06f,
+-2.815600564e-06f, -2.803544509e-06f, -2.791485092e-06f, -2.779422334e-06f, -2.767356256e-06f, -2.755286880e-06f, -2.743214228e-06f, -2.731138320e-06f, -2.719059177e-06f, -2.706976822e-06f,
+-2.694891275e-06f, -2.682802558e-06f, -2.670710692e-06f, -2.658615699e-06f, -2.646517599e-06f, -2.634416414e-06f, -2.622312166e-06f, -2.610204876e-06f, -2.598094565e-06f, -2.585981255e-06f,
+-2.573864966e-06f, -2.561745721e-06f, -2.549623541e-06f, -2.537498446e-06f, -2.525370459e-06f, -2.513239601e-06f, -2.501105893e-06f, -2.488969356e-06f, -2.476830012e-06f, -2.464687883e-06f,
+-2.452542989e-06f, -2.440395353e-06f, -2.428244995e-06f, -2.416091936e-06f, -2.403936199e-06f, -2.391777805e-06f, -2.379616774e-06f, -2.367453129e-06f, -2.355286891e-06f, -2.343118081e-06f,
+-2.330946721e-06f, -2.318772831e-06f, -2.306596435e-06f, -2.294417552e-06f, -2.282236204e-06f, -2.270052413e-06f, -2.257866200e-06f, -2.245677587e-06f, -2.233486594e-06f, -2.221293244e-06f,
+-2.209097558e-06f, -2.196899557e-06f, -2.184699262e-06f, -2.172496696e-06f, -2.160291879e-06f, -2.148084833e-06f, -2.135875579e-06f, -2.123664139e-06f, -2.111450534e-06f, -2.099234786e-06f,
+-2.087016916e-06f, -2.074796945e-06f, -2.062574895e-06f, -2.050350788e-06f, -2.038124644e-06f, -2.025896486e-06f, -2.013666334e-06f, -2.001434211e-06f, -1.989200137e-06f, -1.976964134e-06f,
+-1.964726223e-06f, -1.952486426e-06f, -1.940244765e-06f, -1.928001260e-06f, -1.915755934e-06f, -1.903508807e-06f, -1.891259901e-06f, -1.879009238e-06f, -1.866756839e-06f, -1.854502725e-06f,
+-1.842246918e-06f, -1.829989439e-06f, -1.817730310e-06f, -1.805469553e-06f, -1.793207188e-06f, -1.780943237e-06f, -1.768677722e-06f, -1.756410663e-06f, -1.744142084e-06f, -1.731872004e-06f,
+-1.719600445e-06f, -1.707327429e-06f, -1.695052978e-06f, -1.682777112e-06f, -1.670499853e-06f, -1.658221223e-06f, -1.645941243e-06f, -1.633659934e-06f, -1.621377319e-06f, -1.609093417e-06f,
+-1.596808252e-06f, -1.584521844e-06f, -1.572234214e-06f, -1.559945385e-06f, -1.547655377e-06f, -1.535364212e-06f, -1.523071911e-06f, -1.510778497e-06f, -1.498483990e-06f, -1.486188412e-06f,
+-1.473891784e-06f, -1.461594127e-06f, -1.449295464e-06f, -1.436995815e-06f, -1.424695202e-06f, -1.412393647e-06f, -1.400091170e-06f, -1.387787794e-06f, -1.375483540e-06f, -1.363178428e-06f,
+-1.350872481e-06f, -1.338565720e-06f, -1.326258167e-06f, -1.313949842e-06f, -1.301640768e-06f, -1.289330965e-06f, -1.277020456e-06f, -1.264709261e-06f, -1.252397401e-06f, -1.240084900e-06f,
+-1.227771777e-06f, -1.215458054e-06f, -1.203143753e-06f, -1.190828895e-06f, -1.178513501e-06f, -1.166197593e-06f, -1.153881192e-06f, -1.141564320e-06f, -1.129246998e-06f, -1.116929247e-06f,
+-1.104611090e-06f, -1.092292546e-06f, -1.079973638e-06f, -1.067654387e-06f, -1.055334815e-06f, -1.043014942e-06f, -1.030694790e-06f, -1.018374381e-06f, -1.006053736e-06f, -9.937328766e-07f,
+-9.814118236e-07f, -9.690905986e-07f, -9.567692230e-07f, -9.444477183e-07f, -9.321261057e-07f, -9.198044066e-07f, -9.074826425e-07f, -8.951608346e-07f, -8.828390044e-07f, -8.705171731e-07f,
+-8.581953621e-07f, -8.458735928e-07f, -8.335518865e-07f, -8.212302646e-07f, -8.089087483e-07f, -7.965873591e-07f, -7.842661183e-07f, -7.719450472e-07f, -7.596241671e-07f, -7.473034994e-07f,
+-7.349830654e-07f, -7.226628863e-07f, -7.103429836e-07f, -6.980233785e-07f, -6.857040924e-07f, -6.733851465e-07f, -6.610665622e-07f, -6.487483607e-07f, -6.364305634e-07f, -6.241131916e-07f,
+-6.117962664e-07f, -5.994798093e-07f, -5.871638416e-07f, -5.748483844e-07f, -5.625334590e-07f, -5.502190869e-07f, -5.379052891e-07f, -5.255920870e-07f, -5.132795019e-07f, -5.009675549e-07f,
+-4.886562674e-07f, -4.763456607e-07f, -4.640357558e-07f, -4.517265742e-07f, -4.394181370e-07f, -4.271104655e-07f, -4.148035809e-07f, -4.024975044e-07f, -3.901922573e-07f, -3.778878608e-07f,
+-3.655843360e-07f, -3.532817043e-07f, -3.409799868e-07f, -3.286792047e-07f, -3.163793792e-07f, -3.040805315e-07f, -2.917826828e-07f, -2.794858543e-07f, -2.671900672e-07f, -2.548953426e-07f,
+-2.426017018e-07f, -2.303091658e-07f, -2.180177559e-07f, -2.057274932e-07f, -1.934383988e-07f, -1.811504940e-07f, -1.688637998e-07f, -1.565783374e-07f, -1.442941280e-07f, -1.320111926e-07f,
+-1.197295524e-07f, -1.074492285e-07f, -9.517024211e-08f, -8.289261420e-08f, -7.061636595e-08f, -5.834151844e-08f, -4.606809278e-08f, -3.379611006e-08f, -2.152559135e-08f, -9.256557755e-09f,
+3.010969665e-09f, 1.527696984e-08f, 2.754142169e-08f, 3.980430417e-08f, 5.206559622e-08f, 6.432527679e-08f, 7.658332484e-08f, 8.883971933e-08f, 1.010944392e-07f, 1.133474635e-07f,
+1.255987711e-07f, 1.378483411e-07f, 1.500961524e-07f, 1.623421840e-07f, 1.745864149e-07f, 1.868288242e-07f, 1.990693908e-07f, 2.113080938e-07f, 2.235449122e-07f, 2.357798249e-07f,
+2.480128112e-07f, 2.602438499e-07f, 2.724729201e-07f, 2.847000010e-07f, 2.969250715e-07f, 3.091481107e-07f, 3.213690977e-07f, 3.335880115e-07f, 3.458048314e-07f, 3.580195362e-07f,
+3.702321052e-07f, 3.824425174e-07f, 3.946507520e-07f, 4.068567881e-07f, 4.190606047e-07f, 4.312621811e-07f, 4.434614963e-07f, 4.556585294e-07f, 4.678532598e-07f, 4.800456664e-07f,
+4.922357285e-07f, 5.044234251e-07f, 5.166087356e-07f, 5.287916391e-07f, 5.409721147e-07f, 5.531501417e-07f, 5.653256993e-07f, 5.774987666e-07f, 5.896693229e-07f, 6.018373474e-07f,
+6.140028193e-07f, 6.261657180e-07f, 6.383260225e-07f, 6.504837122e-07f, 6.626387663e-07f, 6.747911641e-07f, 6.869408849e-07f, 6.990879079e-07f, 7.112322124e-07f, 7.233737778e-07f,
+7.355125832e-07f, 7.476486081e-07f, 7.597818317e-07f, 7.719122334e-07f, 7.840397925e-07f, 7.961644883e-07f, 8.082863002e-07f, 8.204052076e-07f, 8.325211897e-07f, 8.446342259e-07f,
+8.567442958e-07f, 8.688513785e-07f, 8.809554535e-07f, 8.930565003e-07f, 9.051544981e-07f, 9.172494265e-07f, 9.293412649e-07f, 9.414299926e-07f, 9.535155892e-07f, 9.655980340e-07f,
+9.776773065e-07f, 9.897533862e-07f, 1.001826253e-06f, 1.013895885e-06f, 1.025962263e-06f, 1.038025367e-06f, 1.050085174e-06f, 1.062141666e-06f, 1.074194822e-06f, 1.086244621e-06f,
+1.098291042e-06f, 1.110334066e-06f, 1.122373672e-06f, 1.134409839e-06f, 1.146442547e-06f, 1.158471775e-06f, 1.170497504e-06f, 1.182519712e-06f, 1.194538380e-06f, 1.206553486e-06f,
+1.218565011e-06f, 1.230572935e-06f, 1.242577236e-06f, 1.254577894e-06f, 1.266574890e-06f, 1.278568202e-06f, 1.290557811e-06f, 1.302543696e-06f, 1.314525837e-06f, 1.326504213e-06f,
+1.338478805e-06f, 1.350449592e-06f, 1.362416553e-06f, 1.374379669e-06f, 1.386338919e-06f, 1.398294283e-06f, 1.410245740e-06f, 1.422193272e-06f, 1.434136856e-06f, 1.446076473e-06f,
+1.458012104e-06f, 1.469943727e-06f, 1.481871322e-06f, 1.493794870e-06f, 1.505714350e-06f, 1.517629742e-06f, 1.529541026e-06f, 1.541448182e-06f, 1.553351189e-06f, 1.565250028e-06f,
+1.577144678e-06f, 1.589035120e-06f, 1.600921332e-06f, 1.612803296e-06f, 1.624680991e-06f, 1.636554398e-06f, 1.648423495e-06f, 1.660288263e-06f, 1.672148682e-06f, 1.684004732e-06f,
+1.695856393e-06f, 1.707703645e-06f, 1.719546468e-06f, 1.731384842e-06f, 1.743218747e-06f, 1.755048164e-06f, 1.766873071e-06f, 1.778693449e-06f, 1.790509279e-06f, 1.802320540e-06f,
+1.814127213e-06f, 1.825929278e-06f, 1.837726714e-06f, 1.849519501e-06f, 1.861307621e-06f, 1.873091053e-06f, 1.884869778e-06f, 1.896643775e-06f, 1.908413024e-06f, 1.920177507e-06f,
+1.931937202e-06f, 1.943692091e-06f, 1.955442153e-06f, 1.967187369e-06f, 1.978927719e-06f, 1.990663184e-06f, 2.002393743e-06f, 2.014119376e-06f, 2.025840065e-06f, 2.037555789e-06f,
+2.049266529e-06f, 2.060972265e-06f, 2.072672978e-06f, 2.084368647e-06f, 2.096059253e-06f, 2.107744777e-06f, 2.119425199e-06f, 2.131100499e-06f, 2.142770657e-06f, 2.154435655e-06f,
+2.166095472e-06f, 2.177750089e-06f, 2.189399487e-06f, 2.201043645e-06f, 2.212682545e-06f, 2.224316166e-06f, 2.235944490e-06f, 2.247567496e-06f, 2.259185166e-06f, 2.270797480e-06f,
+2.282404418e-06f, 2.294005962e-06f, 2.305602090e-06f, 2.317192785e-06f, 2.328778027e-06f, 2.340357795e-06f, 2.351932072e-06f, 2.363500838e-06f, 2.375064072e-06f, 2.386621756e-06f,
+2.398173871e-06f, 2.409720397e-06f, 2.421261315e-06f, 2.432796605e-06f, 2.444326249e-06f, 2.455850227e-06f, 2.467368519e-06f, 2.478881107e-06f, 2.490387971e-06f, 2.501889092e-06f,
+2.513384451e-06f, 2.524874028e-06f, 2.536357805e-06f, 2.547835762e-06f, 2.559307880e-06f, 2.570774140e-06f, 2.582234523e-06f, 2.593689009e-06f, 2.605137580e-06f, 2.616580216e-06f,
+2.628016899e-06f, 2.639447608e-06f, 2.650872326e-06f, 2.662291033e-06f, 2.673703711e-06f, 2.685110339e-06f, 2.696510899e-06f, 2.707905372e-06f, 2.719293739e-06f, 2.730675982e-06f,
+2.742052080e-06f, 2.753422016e-06f, 2.764785770e-06f, 2.776143323e-06f, 2.787494656e-06f, 2.798839751e-06f, 2.810178589e-06f, 2.821511150e-06f, 2.832837416e-06f, 2.844157369e-06f,
+2.855470988e-06f, 2.866778256e-06f, 2.878079153e-06f, 2.889373661e-06f, 2.900661762e-06f, 2.911943435e-06f, 2.923218663e-06f, 2.934487427e-06f, 2.945749707e-06f, 2.957005487e-06f,
+2.968254745e-06f, 2.979497465e-06f, 2.990733627e-06f, 3.001963212e-06f, 3.013186203e-06f, 3.024402580e-06f, 3.035612324e-06f, 3.046815418e-06f, 3.058011842e-06f, 3.069201579e-06f,
+3.080384608e-06f, 3.091560913e-06f, 3.102730474e-06f, 3.113893273e-06f, 3.125049291e-06f, 3.136198510e-06f, 3.147340911e-06f, 3.158476476e-06f, 3.169605187e-06f, 3.180727025e-06f,
+3.191841971e-06f, 3.202950007e-06f, 3.214051116e-06f, 3.225145277e-06f, 3.236232474e-06f, 3.247312688e-06f, 3.258385900e-06f, 3.269452092e-06f, 3.280511245e-06f, 3.291563343e-06f,
+3.302608365e-06f, 3.313646295e-06f, 3.324677113e-06f, 3.335700801e-06f, 3.346717342e-06f, 3.357726717e-06f, 3.368728908e-06f, 3.379723897e-06f, 3.390711665e-06f, 3.401692194e-06f,
+3.412665467e-06f, 3.423631465e-06f, 3.434590170e-06f, 3.445541564e-06f, 3.456485629e-06f, 3.467422347e-06f, 3.478351699e-06f, 3.489273668e-06f, 3.500188237e-06f, 3.511095386e-06f,
+3.521995097e-06f, 3.532887354e-06f, 3.543772138e-06f, 3.554649430e-06f, 3.565519214e-06f, 3.576381471e-06f, 3.587236183e-06f, 3.598083332e-06f, 3.608922901e-06f, 3.619754872e-06f,
+3.630579226e-06f, 3.641395947e-06f, 3.652205016e-06f, 3.663006415e-06f, 3.673800128e-06f, 3.684586135e-06f, 3.695364419e-06f, 3.706134963e-06f, 3.716897749e-06f, 3.727652759e-06f,
+3.738399975e-06f, 3.749139380e-06f, 3.759870957e-06f, 3.770594687e-06f, 3.781310553e-06f, 3.792018537e-06f, 3.802718622e-06f, 3.813410791e-06f, 3.824095025e-06f, 3.834771307e-06f,
+3.845439620e-06f, 3.856099946e-06f, 3.866752268e-06f, 3.877396568e-06f, 3.888032828e-06f, 3.898661032e-06f, 3.909281162e-06f, 3.919893201e-06f, 3.930497130e-06f, 3.941092934e-06f,
+3.951680594e-06f, 3.962260093e-06f, 3.972831413e-06f, 3.983394538e-06f, 3.993949451e-06f, 4.004496133e-06f, 4.015034568e-06f, 4.025564738e-06f, 4.036086627e-06f, 4.046600217e-06f,
+4.057105490e-06f, 4.067602430e-06f, 4.078091020e-06f, 4.088571242e-06f, 4.099043079e-06f, 4.109506514e-06f, 4.119961531e-06f, 4.130408111e-06f, 4.140846238e-06f, 4.151275896e-06f,
+4.161697066e-06f, 4.172109732e-06f, 4.182513876e-06f, 4.192909483e-06f, 4.203296535e-06f, 4.213675015e-06f, 4.224044906e-06f, 4.234406191e-06f, 4.244758853e-06f, 4.255102876e-06f,
+4.265438243e-06f, 4.275764936e-06f, 4.286082940e-06f, 4.296392236e-06f, 4.306692809e-06f, 4.316984641e-06f, 4.327267717e-06f, 4.337542018e-06f, 4.347807529e-06f, 4.358064233e-06f,
+4.368312113e-06f, 4.378551152e-06f, 4.388781334e-06f, 4.399002642e-06f, 4.409215060e-06f, 4.419418570e-06f, 4.429613157e-06f, 4.439798804e-06f, 4.449975494e-06f, 4.460143211e-06f,
+4.470301938e-06f, 4.480451659e-06f, 4.490592357e-06f, 4.500724016e-06f, 4.510846619e-06f, 4.520960150e-06f, 4.531064593e-06f, 4.541159932e-06f, 4.551246149e-06f, 4.561323228e-06f,
+4.571391154e-06f, 4.581449910e-06f, 4.591499479e-06f, 4.601539846e-06f, 4.611570994e-06f, 4.621592906e-06f, 4.631605567e-06f, 4.641608961e-06f, 4.651603071e-06f, 4.661587881e-06f,
+4.671563375e-06f, 4.681529537e-06f, 4.691486350e-06f, 4.701433799e-06f, 4.711371868e-06f, 4.721300540e-06f, 4.731219799e-06f, 4.741129630e-06f, 4.751030017e-06f, 4.760920943e-06f,
+4.770802392e-06f, 4.780674349e-06f, 4.790536798e-06f, 4.800389722e-06f, 4.810233106e-06f, 4.820066935e-06f, 4.829891191e-06f, 4.839705859e-06f, 4.849510924e-06f, 4.859306370e-06f,
+4.869092181e-06f, 4.878868340e-06f, 4.888634833e-06f, 4.898391644e-06f, 4.908138757e-06f, 4.917876156e-06f, 4.927603826e-06f, 4.937321751e-06f, 4.947029915e-06f, 4.956728302e-06f,
+4.966416898e-06f, 4.976095687e-06f, 4.985764653e-06f, 4.995423780e-06f, 5.005073053e-06f, 5.014712456e-06f, 5.024341975e-06f, 5.033961593e-06f, 5.043571296e-06f, 5.053171067e-06f,
+5.062760891e-06f, 5.072340754e-06f, 5.081910638e-06f, 5.091470531e-06f, 5.101020415e-06f, 5.110560275e-06f, 5.120090098e-06f, 5.129609866e-06f, 5.139119565e-06f, 5.148619179e-06f,
+5.158108694e-06f, 5.167588094e-06f, 5.177057364e-06f, 5.186516489e-06f, 5.195965454e-06f, 5.205404244e-06f, 5.214832843e-06f, 5.224251236e-06f, 5.233659409e-06f, 5.243057347e-06f,
+5.252445034e-06f, 5.261822455e-06f, 5.271189596e-06f, 5.280546441e-06f, 5.289892976e-06f, 5.299229185e-06f, 5.308555054e-06f, 5.317870568e-06f, 5.327175713e-06f, 5.336470472e-06f,
+5.345754832e-06f, 5.355028777e-06f, 5.364292293e-06f, 5.373545365e-06f, 5.382787979e-06f, 5.392020119e-06f, 5.401241771e-06f, 5.410452920e-06f, 5.419653552e-06f, 5.428843652e-06f,
+5.438023205e-06f, 5.447192197e-06f, 5.456350613e-06f, 5.465498439e-06f, 5.474635660e-06f, 5.483762261e-06f, 5.492878229e-06f, 5.501983548e-06f, 5.511078205e-06f, 5.520162184e-06f,
+5.529235471e-06f, 5.538298053e-06f, 5.547349914e-06f, 5.556391040e-06f, 5.565421417e-06f, 5.574441030e-06f, 5.583449866e-06f, 5.592447910e-06f, 5.601435148e-06f, 5.610411565e-06f,
+5.619377148e-06f, 5.628331882e-06f, 5.637275753e-06f, 5.646208746e-06f, 5.655130848e-06f, 5.664042045e-06f, 5.672942323e-06f, 5.681831667e-06f, 5.690710063e-06f, 5.699577498e-06f,
+5.708433957e-06f, 5.717279427e-06f, 5.726113893e-06f, 5.734937341e-06f, 5.743749759e-06f, 5.752551130e-06f, 5.761341443e-06f, 5.770120683e-06f, 5.778888836e-06f, 5.787645888e-06f,
+5.796391826e-06f, 5.805126635e-06f, 5.813850303e-06f, 5.822562815e-06f, 5.831264157e-06f, 5.839954317e-06f, 5.848633279e-06f, 5.857301032e-06f, 5.865957560e-06f, 5.874602850e-06f,
+5.883236890e-06f, 5.891859664e-06f, 5.900471161e-06f, 5.909071365e-06f, 5.917660264e-06f, 5.926237845e-06f, 5.934804093e-06f, 5.943358995e-06f, 5.951902538e-06f, 5.960434709e-06f,
+5.968955494e-06f, 5.977464880e-06f, 5.985962853e-06f, 5.994449401e-06f, 6.002924509e-06f, 6.011388165e-06f, 6.019840355e-06f, 6.028281067e-06f, 6.036710286e-06f, 6.045128001e-06f,
+6.053534197e-06f, 6.061928861e-06f, 6.070311981e-06f, 6.078683543e-06f, 6.087043535e-06f, 6.095391943e-06f, 6.103728754e-06f, 6.112053955e-06f, 6.120367533e-06f, 6.128669476e-06f,
+6.136959770e-06f, 6.145238402e-06f, 6.153505360e-06f, 6.161760630e-06f, 6.170004200e-06f, 6.178236058e-06f, 6.186456189e-06f, 6.194664582e-06f, 6.202861223e-06f, 6.211046100e-06f,
+6.219219201e-06f, 6.227380512e-06f, 6.235530020e-06f, 6.243667714e-06f, 6.251793581e-06f, 6.259907607e-06f, 6.268009780e-06f, 6.276100089e-06f, 6.284178519e-06f, 6.292245060e-06f,
+6.300299697e-06f, 6.308342419e-06f, 6.316373214e-06f, 6.324392068e-06f, 6.332398970e-06f, 6.340393907e-06f, 6.348376866e-06f, 6.356347836e-06f, 6.364306804e-06f, 6.372253758e-06f,
+6.380188685e-06f, 6.388111574e-06f, 6.396022411e-06f, 6.403921185e-06f, 6.411807884e-06f, 6.419682495e-06f, 6.427545007e-06f, 6.435395406e-06f, 6.443233682e-06f, 6.451059822e-06f,
+6.458873814e-06f, 6.466675646e-06f, 6.474465305e-06f, 6.482242781e-06f, 6.490008061e-06f, 6.497761133e-06f, 6.505501985e-06f, 6.513230605e-06f, 6.520946981e-06f, 6.528651103e-06f,
+6.536342956e-06f, 6.544022531e-06f, 6.551689815e-06f, 6.559344797e-06f, 6.566987464e-06f, 6.574617805e-06f, 6.582235808e-06f, 6.589841462e-06f, 6.597434755e-06f, 6.605015675e-06f,
+6.612584211e-06f, 6.620140352e-06f, 6.627684085e-06f, 6.635215399e-06f, 6.642734282e-06f, 6.650240724e-06f, 6.657734713e-06f, 6.665216237e-06f, 6.672685284e-06f, 6.680141844e-06f,
+6.687585905e-06f, 6.695017456e-06f, 6.702436486e-06f, 6.709842982e-06f, 6.717236935e-06f, 6.724618332e-06f, 6.731987162e-06f, 6.739343415e-06f, 6.746687078e-06f, 6.754018142e-06f,
+6.761336594e-06f, 6.768642424e-06f, 6.775935620e-06f, 6.783216172e-06f, 6.790484068e-06f, 6.797739298e-06f, 6.804981850e-06f, 6.812211714e-06f, 6.819428878e-06f, 6.826633332e-06f,
+6.833825064e-06f, 6.841004064e-06f, 6.848170321e-06f, 6.855323825e-06f, 6.862464563e-06f, 6.869592527e-06f, 6.876707704e-06f, 6.883810084e-06f, 6.890899656e-06f, 6.897976410e-06f,
+6.905040335e-06f, 6.912091421e-06f, 6.919129656e-06f, 6.926155030e-06f, 6.933167533e-06f, 6.940167154e-06f, 6.947153882e-06f, 6.954127707e-06f, 6.961088619e-06f, 6.968036607e-06f,
+6.974971661e-06f, 6.981893770e-06f, 6.988802924e-06f, 6.995699112e-06f, 7.002582325e-06f, 7.009452551e-06f, 7.016309781e-06f, 7.023154004e-06f, 7.029985211e-06f, 7.036803390e-06f,
+7.043608532e-06f, 7.050400626e-06f, 7.057179663e-06f, 7.063945632e-06f, 7.070698523e-06f, 7.077438327e-06f, 7.084165032e-06f, 7.090878630e-06f, 7.097579109e-06f, 7.104266461e-06f,
+7.110940674e-06f, 7.117601740e-06f, 7.124249648e-06f, 7.130884389e-06f, 7.137505952e-06f, 7.144114327e-06f, 7.150709506e-06f, 7.157291478e-06f, 7.163860233e-06f, 7.170415762e-06f,
+7.176958055e-06f, 7.183487102e-06f, 7.190002893e-06f, 7.196505420e-06f, 7.202994671e-06f, 7.209470639e-06f, 7.215933313e-06f, 7.222382683e-06f, 7.228818741e-06f, 7.235241476e-06f,
+7.241650879e-06f, 7.248046941e-06f, 7.254429653e-06f, 7.260799004e-06f, 7.267154986e-06f, 7.273497589e-06f, 7.279826804e-06f, 7.286142621e-06f, 7.292445032e-06f, 7.298734027e-06f,
+7.305009597e-06f, 7.311271732e-06f, 7.317520424e-06f, 7.323755663e-06f, 7.329977440e-06f, 7.336185747e-06f, 7.342380573e-06f, 7.348561911e-06f, 7.354729750e-06f, 7.360884082e-06f,
+7.367024898e-06f, 7.373152189e-06f, 7.379265947e-06f, 7.385366161e-06f, 7.391452824e-06f, 7.397525926e-06f, 7.403585458e-06f, 7.409631413e-06f, 7.415663780e-06f, 7.421682552e-06f,
+7.427687719e-06f, 7.433679273e-06f, 7.439657206e-06f, 7.445621507e-06f, 7.451572170e-06f, 7.457509184e-06f, 7.463432543e-06f, 7.469342236e-06f, 7.475238256e-06f, 7.481120594e-06f,
+7.486989242e-06f, 7.492844190e-06f, 7.498685432e-06f, 7.504512957e-06f, 7.510326759e-06f, 7.516126827e-06f, 7.521913156e-06f, 7.527685734e-06f, 7.533444556e-06f, 7.539189612e-06f,
+7.544920893e-06f, 7.550638393e-06f, 7.556342103e-06f, 7.562032013e-06f, 7.567708118e-06f, 7.573370407e-06f, 7.579018874e-06f, 7.584653510e-06f, 7.590274306e-06f, 7.595881256e-06f,
+7.601474351e-06f, 7.607053583e-06f, 7.612618945e-06f, 7.618170427e-06f, 7.623708023e-06f, 7.629231724e-06f, 7.634741523e-06f, 7.640237412e-06f, 7.645719383e-06f, 7.651187429e-06f,
+7.656641541e-06f, 7.662081711e-06f, 7.667507933e-06f, 7.672920199e-06f, 7.678318500e-06f, 7.683702830e-06f, 7.689073180e-06f, 7.694429544e-06f, 7.699771913e-06f, 7.705100280e-06f,
+7.710414637e-06f, 7.715714978e-06f, 7.721001295e-06f, 7.726273580e-06f, 7.731531826e-06f, 7.736776025e-06f, 7.742006171e-06f, 7.747222255e-06f, 7.752424271e-06f, 7.757612212e-06f,
+7.762786069e-06f, 7.767945837e-06f, 7.773091507e-06f, 7.778223073e-06f, 7.783340528e-06f, 7.788443863e-06f, 7.793533073e-06f, 7.798608151e-06f, 7.803669088e-06f, 7.808715879e-06f,
+7.813748516e-06f, 7.818766992e-06f, 7.823771301e-06f, 7.828761434e-06f, 7.833737387e-06f, 7.838699151e-06f, 7.843646720e-06f, 7.848580087e-06f, 7.853499246e-06f, 7.858404189e-06f,
+7.863294910e-06f, 7.868171402e-06f, 7.873033658e-06f, 7.877881673e-06f, 7.882715438e-06f, 7.887534948e-06f, 7.892340197e-06f, 7.897131176e-06f, 7.901907881e-06f, 7.906670304e-06f,
+7.911418439e-06f, 7.916152280e-06f, 7.920871819e-06f, 7.925577052e-06f, 7.930267971e-06f, 7.934944570e-06f, 7.939606842e-06f, 7.944254783e-06f, 7.948888384e-06f, 7.953507640e-06f,
+7.958112545e-06f, 7.962703093e-06f, 7.967279276e-06f, 7.971841091e-06f, 7.976388529e-06f, 7.980921585e-06f, 7.985440254e-06f, 7.989944528e-06f, 7.994434402e-06f, 7.998909870e-06f,
+8.003370927e-06f, 8.007817565e-06f, 8.012249779e-06f, 8.016667564e-06f, 8.021070914e-06f, 8.025459822e-06f, 8.029834282e-06f, 8.034194290e-06f, 8.038539839e-06f, 8.042870924e-06f,
+8.047187538e-06f, 8.051489677e-06f, 8.055777335e-06f, 8.060050505e-06f, 8.064309183e-06f, 8.068553362e-06f, 8.072783038e-06f, 8.076998204e-06f, 8.081198856e-06f, 8.085384987e-06f,
+8.089556593e-06f, 8.093713668e-06f, 8.097856206e-06f, 8.101984202e-06f, 8.106097651e-06f, 8.110196548e-06f, 8.114280887e-06f, 8.118350663e-06f, 8.122405871e-06f, 8.126446505e-06f,
+8.130472560e-06f, 8.134484032e-06f, 8.138480915e-06f, 8.142463204e-06f, 8.146430894e-06f, 8.150383979e-06f, 8.154322456e-06f, 8.158246318e-06f, 8.162155561e-06f, 8.166050180e-06f,
+8.169930170e-06f, 8.173795526e-06f, 8.177646243e-06f, 8.181482317e-06f, 8.185303742e-06f, 8.189110514e-06f, 8.192902628e-06f, 8.196680080e-06f, 8.200442864e-06f, 8.204190975e-06f,
+8.207924410e-06f, 8.211643164e-06f, 8.215347231e-06f, 8.219036608e-06f, 8.222711290e-06f, 8.226371272e-06f, 8.230016549e-06f, 8.233647119e-06f, 8.237262975e-06f, 8.240864113e-06f,
+8.244450529e-06f, 8.248022219e-06f, 8.251579179e-06f, 8.255121403e-06f, 8.258648888e-06f, 8.262161630e-06f, 8.265659623e-06f, 8.269142865e-06f, 8.272611350e-06f, 8.276065075e-06f,
+8.279504036e-06f, 8.282928228e-06f, 8.286337647e-06f, 8.289732289e-06f, 8.293112151e-06f, 8.296477227e-06f, 8.299827515e-06f, 8.303163010e-06f, 8.306483709e-06f, 8.309789606e-06f,
+8.313080700e-06f, 8.316356985e-06f, 8.319618457e-06f, 8.322865114e-06f, 8.326096951e-06f, 8.329313965e-06f, 8.332516151e-06f, 8.335703507e-06f, 8.338876028e-06f, 8.342033710e-06f,
+8.345176551e-06f, 8.348304547e-06f, 8.351417693e-06f, 8.354515987e-06f, 8.357599425e-06f, 8.360668003e-06f, 8.363721719e-06f, 8.366760568e-06f, 8.369784547e-06f, 8.372793653e-06f,
+8.375787883e-06f, 8.378767232e-06f, 8.381731699e-06f, 8.384681279e-06f, 8.387615969e-06f, 8.390535766e-06f, 8.393440668e-06f, 8.396330670e-06f, 8.399205769e-06f, 8.402065963e-06f,
+8.404911248e-06f, 8.407741622e-06f, 8.410557081e-06f, 8.413357622e-06f, 8.416143242e-06f, 8.418913939e-06f, 8.421669709e-06f, 8.424410549e-06f, 8.427136457e-06f, 8.429847430e-06f,
+8.432543465e-06f, 8.435224558e-06f, 8.437890708e-06f, 8.440541912e-06f, 8.443178166e-06f, 8.445799469e-06f, 8.448405817e-06f, 8.450997207e-06f, 8.453573638e-06f, 8.456135107e-06f,
+8.458681610e-06f, 8.461213146e-06f, 8.463729713e-06f, 8.466231306e-06f, 8.468717925e-06f, 8.471189566e-06f, 8.473646227e-06f, 8.476087906e-06f, 8.478514601e-06f, 8.480926308e-06f,
+8.483323027e-06f, 8.485704754e-06f, 8.488071487e-06f, 8.490423225e-06f, 8.492759964e-06f, 8.495081703e-06f, 8.497388439e-06f, 8.499680171e-06f, 8.501956896e-06f, 8.504218613e-06f,
+8.506465318e-06f, 8.508697011e-06f, 8.510913689e-06f, 8.513115350e-06f, 8.515301993e-06f, 8.517473615e-06f, 8.519630215e-06f, 8.521771790e-06f, 8.523898339e-06f, 8.526009860e-06f,
+8.528106351e-06f, 8.530187811e-06f, 8.532254237e-06f, 8.534305629e-06f, 8.536341984e-06f, 8.538363301e-06f, 8.540369578e-06f, 8.542360813e-06f, 8.544337006e-06f, 8.546298154e-06f,
+8.548244255e-06f, 8.550175310e-06f, 8.552091315e-06f, 8.553992269e-06f, 8.555878172e-06f, 8.557749022e-06f, 8.559604817e-06f, 8.561445555e-06f, 8.563271237e-06f, 8.565081860e-06f,
+8.566877424e-06f, 8.568657926e-06f, 8.570423366e-06f, 8.572173742e-06f, 8.573909055e-06f, 8.575629301e-06f, 8.577334481e-06f, 8.579024593e-06f, 8.580699636e-06f, 8.582359609e-06f,
+8.584004511e-06f, 8.585634341e-06f, 8.587249099e-06f, 8.588848783e-06f, 8.590433392e-06f, 8.592002926e-06f, 8.593557383e-06f, 8.595096764e-06f, 8.596621067e-06f, 8.598130291e-06f,
+8.599624435e-06f, 8.601103500e-06f, 8.602567484e-06f, 8.604016387e-06f, 8.605450207e-06f, 8.606868945e-06f, 8.608272600e-06f, 8.609661171e-06f, 8.611034658e-06f, 8.612393060e-06f,
+8.613736378e-06f, 8.615064609e-06f, 8.616377754e-06f, 8.617675813e-06f, 8.618958786e-06f, 8.620226671e-06f, 8.621479469e-06f, 8.622717179e-06f, 8.623939801e-06f, 8.625147335e-06f,
+8.626339780e-06f, 8.627517137e-06f, 8.628679406e-06f, 8.629826585e-06f, 8.630958676e-06f, 8.632075677e-06f, 8.633177590e-06f, 8.634264413e-06f, 8.635336147e-06f, 8.636392793e-06f,
+8.637434349e-06f, 8.638460816e-06f, 8.639472195e-06f, 8.640468485e-06f, 8.641449687e-06f, 8.642415800e-06f, 8.643366825e-06f, 8.644302762e-06f, 8.645223612e-06f, 8.646129375e-06f,
+8.647020050e-06f, 8.647895639e-06f, 8.648756142e-06f, 8.649601559e-06f, 8.650431890e-06f, 8.651247137e-06f, 8.652047299e-06f, 8.652832377e-06f, 8.653602371e-06f, 8.654357283e-06f,
+8.655097112e-06f, 8.655821860e-06f, 8.656531527e-06f, 8.657226113e-06f, 8.657905619e-06f, 8.658570047e-06f, 8.659219396e-06f, 8.659853667e-06f, 8.660472862e-06f, 8.661076981e-06f,
+8.661666025e-06f, 8.662239995e-06f, 8.662798891e-06f, 8.663342715e-06f, 8.663871468e-06f, 8.664385150e-06f, 8.664883762e-06f, 8.665367306e-06f, 8.665835783e-06f, 8.666289194e-06f,
+8.666727539e-06f, 8.667150820e-06f, 8.667559038e-06f, 8.667952194e-06f, 8.668330290e-06f, 8.668693327e-06f, 8.669041305e-06f, 8.669374227e-06f, 8.669692093e-06f, 8.669994905e-06f,
+8.670282664e-06f, 8.670555372e-06f, 8.670813030e-06f, 8.671055639e-06f, 8.671283202e-06f, 8.671495718e-06f, 8.671693191e-06f, 8.671875621e-06f, 8.672043010e-06f, 8.672195360e-06f,
+8.672332672e-06f, 8.672454948e-06f, 8.672562189e-06f, 8.672654398e-06f, 8.672731576e-06f, 8.672793724e-06f, 8.672840845e-06f, 8.672872941e-06f, 8.672890012e-06f, 8.672892062e-06f,
+8.672879091e-06f, 8.672851102e-06f, 8.672808097e-06f, 8.672750078e-06f, 8.672677046e-06f, 8.672589004e-06f, 8.672485954e-06f, 8.672367897e-06f, 8.672234836e-06f, 8.672086773e-06f,
+8.671923711e-06f, 8.671745650e-06f, 8.671552594e-06f, 8.671344545e-06f, 8.671121504e-06f, 8.670883475e-06f, 8.670630459e-06f, 8.670362459e-06f, 8.670079477e-06f, 8.669781515e-06f,
+8.669468577e-06f, 8.669140663e-06f, 8.668797778e-06f, 8.668439922e-06f, 8.668067099e-06f, 8.667679312e-06f, 8.667276562e-06f, 8.666858853e-06f, 8.666426186e-06f, 8.665978566e-06f,
+8.665515993e-06f, 8.665038471e-06f, 8.664546003e-06f, 8.664038591e-06f, 8.663516238e-06f, 8.662978948e-06f, 8.662426721e-06f, 8.661859563e-06f, 8.661277474e-06f, 8.660680459e-06f,
+8.660068520e-06f, 8.659441660e-06f, 8.658799882e-06f, 8.658143189e-06f, 8.657471584e-06f, 8.656785070e-06f, 8.656083650e-06f, 8.655367328e-06f, 8.654636105e-06f, 8.653889986e-06f,
+8.653128974e-06f, 8.652353071e-06f, 8.651562282e-06f, 8.650756608e-06f, 8.649936054e-06f, 8.649100623e-06f, 8.648250318e-06f, 8.647385143e-06f, 8.646505100e-06f, 8.645610193e-06f,
+8.644700426e-06f, 8.643775802e-06f, 8.642836325e-06f, 8.641881997e-06f, 8.640912823e-06f, 8.639928806e-06f, 8.638929950e-06f, 8.637916257e-06f, 8.636887733e-06f, 8.635844380e-06f,
+8.634786202e-06f, 8.633713203e-06f, 8.632625387e-06f, 8.631522757e-06f, 8.630405316e-06f, 8.629273070e-06f, 8.628126021e-06f, 8.626964174e-06f, 8.625787533e-06f, 8.624596100e-06f,
+8.623389881e-06f, 8.622168879e-06f, 8.620933097e-06f, 8.619682541e-06f, 8.618417215e-06f, 8.617137121e-06f, 8.615842264e-06f, 8.614532649e-06f, 8.613208280e-06f, 8.611869159e-06f,
+8.610515293e-06f, 8.609146685e-06f, 8.607763338e-06f, 8.606365259e-06f, 8.604952449e-06f, 8.603524915e-06f, 8.602082661e-06f, 8.600625689e-06f, 8.599154006e-06f, 8.597667616e-06f,
+8.596166522e-06f, 8.594650729e-06f, 8.593120242e-06f, 8.591575066e-06f, 8.590015204e-06f, 8.588440661e-06f, 8.586851443e-06f, 8.585247553e-06f, 8.583628996e-06f, 8.581995777e-06f,
+8.580347900e-06f, 8.578685370e-06f, 8.577008192e-06f, 8.575316371e-06f, 8.573609911e-06f, 8.571888817e-06f, 8.570153094e-06f, 8.568402747e-06f, 8.566637780e-06f, 8.564858200e-06f,
+8.563064009e-06f, 8.561255214e-06f, 8.559431820e-06f, 8.557593830e-06f, 8.555741252e-06f, 8.553874088e-06f, 8.551992345e-06f, 8.550096028e-06f, 8.548185141e-06f, 8.546259690e-06f,
+8.544319681e-06f, 8.542365117e-06f, 8.540396005e-06f, 8.538412349e-06f, 8.536414156e-06f, 8.534401429e-06f, 8.532374175e-06f, 8.530332399e-06f, 8.528276106e-06f, 8.526205302e-06f,
+8.524119992e-06f, 8.522020181e-06f, 8.519905875e-06f, 8.517777079e-06f, 8.515633799e-06f, 8.513476041e-06f, 8.511303810e-06f, 8.509117111e-06f, 8.506915950e-06f, 8.504700333e-06f,
+8.502470266e-06f, 8.500225753e-06f, 8.497966802e-06f, 8.495693417e-06f, 8.493405604e-06f, 8.491103369e-06f, 8.488786718e-06f, 8.486455657e-06f, 8.484110191e-06f, 8.481750327e-06f,
+8.479376070e-06f, 8.476987427e-06f, 8.474584402e-06f, 8.472167003e-06f, 8.469735234e-06f, 8.467289103e-06f, 8.464828615e-06f, 8.462353777e-06f, 8.459864593e-06f, 8.457361072e-06f,
+8.454843217e-06f, 8.452311037e-06f, 8.449764536e-06f, 8.447203722e-06f, 8.444628600e-06f, 8.442039176e-06f, 8.439435458e-06f, 8.436817451e-06f, 8.434185161e-06f, 8.431538595e-06f,
+8.428877760e-06f, 8.426202661e-06f, 8.423513305e-06f, 8.420809699e-06f, 8.418091849e-06f, 8.415359762e-06f, 8.412613444e-06f, 8.409852901e-06f, 8.407078140e-06f, 8.404289168e-06f,
+8.401485992e-06f, 8.398668618e-06f, 8.395837052e-06f, 8.392991302e-06f, 8.390131373e-06f, 8.387257274e-06f, 8.384369010e-06f, 8.381466589e-06f, 8.378550017e-06f, 8.375619300e-06f,
+8.372674447e-06f, 8.369715464e-06f, 8.366742357e-06f, 8.363755133e-06f, 8.360753800e-06f, 8.357738365e-06f, 8.354708834e-06f, 8.351665215e-06f, 8.348607514e-06f, 8.345535739e-06f,
+8.342449897e-06f, 8.339349994e-06f, 8.336236038e-06f, 8.333108037e-06f, 8.329965997e-06f, 8.326809925e-06f, 8.323639829e-06f, 8.320455716e-06f, 8.317257593e-06f, 8.314045468e-06f,
+8.310819348e-06f, 8.307579240e-06f, 8.304325152e-06f, 8.301057090e-06f, 8.297775064e-06f, 8.294479079e-06f, 8.291169143e-06f, 8.287845264e-06f, 8.284507450e-06f, 8.281155707e-06f,
+8.277790044e-06f, 8.274410468e-06f, 8.271016986e-06f, 8.267609607e-06f, 8.264188337e-06f, 8.260753185e-06f, 8.257304159e-06f, 8.253841265e-06f, 8.250364512e-06f, 8.246873908e-06f,
+8.243369460e-06f, 8.239851176e-06f, 8.236319064e-06f, 8.232773131e-06f, 8.229213387e-06f, 8.225639837e-06f, 8.222052492e-06f, 8.218451358e-06f, 8.214836443e-06f, 8.211207756e-06f,
+8.207565304e-06f, 8.203909095e-06f, 8.200239138e-06f, 8.196555441e-06f, 8.192858011e-06f, 8.189146858e-06f, 8.185421988e-06f, 8.181683410e-06f, 8.177931133e-06f, 8.174165165e-06f,
+8.170385513e-06f, 8.166592186e-06f, 8.162785193e-06f, 8.158964542e-06f, 8.155130241e-06f, 8.151282298e-06f, 8.147420722e-06f, 8.143545521e-06f, 8.139656704e-06f, 8.135754279e-06f,
+8.131838254e-06f, 8.127908638e-06f, 8.123965441e-06f, 8.120008669e-06f, 8.116038332e-06f, 8.112054438e-06f, 8.108056996e-06f, 8.104046014e-06f, 8.100021502e-06f, 8.095983468e-06f,
+8.091931920e-06f, 8.087866867e-06f, 8.083788318e-06f, 8.079696282e-06f, 8.075590768e-06f, 8.071471783e-06f, 8.067339338e-06f, 8.063193441e-06f, 8.059034101e-06f, 8.054861327e-06f,
+8.050675128e-06f, 8.046475512e-06f, 8.042262488e-06f, 8.038036067e-06f, 8.033796256e-06f, 8.029543064e-06f, 8.025276501e-06f, 8.020996576e-06f, 8.016703298e-06f, 8.012396676e-06f,
+8.008076719e-06f, 8.003743436e-06f, 7.999396837e-06f, 7.995036930e-06f, 7.990663726e-06f, 7.986277232e-06f, 7.981877459e-06f, 7.977464416e-06f, 7.973038111e-06f, 7.968598555e-06f,
+7.964145757e-06f, 7.959679726e-06f, 7.955200471e-06f, 7.950708002e-06f, 7.946202329e-06f, 7.941683460e-06f, 7.937151406e-06f, 7.932606175e-06f, 7.928047778e-06f, 7.923476224e-06f,
+7.918891523e-06f, 7.914293683e-06f, 7.909682715e-06f, 7.905058629e-06f, 7.900421434e-06f, 7.895771139e-06f, 7.891107755e-06f, 7.886431290e-06f, 7.881741756e-06f, 7.877039162e-06f,
+7.872323516e-06f, 7.867594831e-06f, 7.862853114e-06f, 7.858098376e-06f, 7.853330627e-06f, 7.848549877e-06f, 7.843756135e-06f, 7.838949412e-06f, 7.834129717e-06f, 7.829297061e-06f,
+7.824451454e-06f, 7.819592905e-06f, 7.814721425e-06f, 7.809837023e-06f, 7.804939710e-06f, 7.800029496e-06f, 7.795106391e-06f, 7.790170405e-06f, 7.785221548e-06f, 7.780259831e-06f,
+7.775285264e-06f, 7.770297857e-06f, 7.765297620e-06f, 7.760284563e-06f, 7.755258697e-06f, 7.750220032e-06f, 7.745168579e-06f, 7.740104348e-06f, 7.735027349e-06f, 7.729937592e-06f,
+7.724835088e-06f, 7.719719848e-06f, 7.714591882e-06f, 7.709451200e-06f, 7.704297814e-06f, 7.699131732e-06f, 7.693952967e-06f, 7.688761528e-06f, 7.683557427e-06f, 7.678340673e-06f,
+7.673111278e-06f, 7.667869252e-06f, 7.662614605e-06f, 7.657347349e-06f, 7.652067494e-06f, 7.646775051e-06f, 7.641470030e-06f, 7.636152443e-06f, 7.630822301e-06f, 7.625479613e-06f,
+7.620124391e-06f, 7.614756646e-06f, 7.609376388e-06f, 7.603983629e-06f, 7.598578379e-06f, 7.593160650e-06f, 7.587730452e-06f, 7.582287796e-06f, 7.576832693e-06f, 7.571365155e-06f,
+7.565885192e-06f, 7.560392815e-06f, 7.554888036e-06f, 7.549370866e-06f, 7.543841315e-06f, 7.538299395e-06f, 7.532745117e-06f, 7.527178492e-06f, 7.521599532e-06f, 7.516008247e-06f,
+7.510404649e-06f, 7.504788749e-06f, 7.499160558e-06f, 7.493520088e-06f, 7.487867351e-06f, 7.482202356e-06f, 7.476525116e-06f, 7.470835642e-06f, 7.465133946e-06f, 7.459420038e-06f,
+7.453693931e-06f, 7.447955636e-06f, 7.442205163e-06f, 7.436442526e-06f, 7.430667735e-06f, 7.424880801e-06f, 7.419081737e-06f, 7.413270554e-06f, 7.407447264e-06f, 7.401611877e-06f,
+7.395764407e-06f, 7.389904863e-06f, 7.384033259e-06f, 7.378149606e-06f, 7.372253915e-06f, 7.366346198e-06f, 7.360426468e-06f, 7.354494735e-06f, 7.348551012e-06f, 7.342595310e-06f,
+7.336627641e-06f, 7.330648017e-06f, 7.324656450e-06f, 7.318652952e-06f, 7.312637535e-06f, 7.306610210e-06f, 7.300570990e-06f, 7.294519886e-06f, 7.288456911e-06f, 7.282382076e-06f,
+7.276295394e-06f, 7.270196876e-06f, 7.264086535e-06f, 7.257964383e-06f, 7.251830431e-06f, 7.245684693e-06f, 7.239527179e-06f, 7.233357903e-06f, 7.227176876e-06f, 7.220984110e-06f,
+7.214779618e-06f, 7.208563413e-06f, 7.202335505e-06f, 7.196095908e-06f, 7.189844634e-06f, 7.183581694e-06f, 7.177307103e-06f, 7.171020871e-06f, 7.164723011e-06f, 7.158413535e-06f,
+7.152092457e-06f, 7.145759787e-06f, 7.139415540e-06f, 7.133059726e-06f, 7.126692359e-06f, 7.120313452e-06f, 7.113923016e-06f, 7.107521064e-06f, 7.101107609e-06f, 7.094682663e-06f,
+7.088246239e-06f, 7.081798349e-06f, 7.075339006e-06f, 7.068868224e-06f, 7.062386013e-06f, 7.055892388e-06f, 7.049387360e-06f, 7.042870943e-06f, 7.036343148e-06f, 7.029803990e-06f,
+7.023253480e-06f, 7.016691632e-06f, 7.010118458e-06f, 7.003533971e-06f, 6.996938184e-06f, 6.990331110e-06f, 6.983712761e-06f, 6.977083151e-06f, 6.970442292e-06f, 6.963790198e-06f,
+6.957126880e-06f, 6.950452353e-06f, 6.943766630e-06f, 6.937069722e-06f, 6.930361644e-06f, 6.923642408e-06f, 6.916912027e-06f, 6.910170514e-06f, 6.903417883e-06f, 6.896654147e-06f,
+6.889879318e-06f, 6.883093410e-06f, 6.876296436e-06f, 6.869488409e-06f, 6.862669342e-06f, 6.855839249e-06f, 6.848998143e-06f, 6.842146037e-06f, 6.835282943e-06f, 6.828408877e-06f,
+6.821523850e-06f, 6.814627877e-06f, 6.807720969e-06f, 6.800803142e-06f, 6.793874408e-06f, 6.786934780e-06f, 6.779984273e-06f, 6.773022898e-06f, 6.766050671e-06f, 6.759067603e-06f,
+6.752073710e-06f, 6.745069003e-06f, 6.738053498e-06f, 6.731027206e-06f, 6.723990143e-06f, 6.716942320e-06f, 6.709883753e-06f, 6.702814454e-06f, 6.695734436e-06f, 6.688643715e-06f,
+6.681542303e-06f, 6.674430214e-06f, 6.667307461e-06f, 6.660174059e-06f, 6.653030021e-06f, 6.645875361e-06f, 6.638710092e-06f, 6.631534228e-06f, 6.624347783e-06f, 6.617150771e-06f,
+6.609943206e-06f, 6.602725101e-06f, 6.595496470e-06f, 6.588257328e-06f, 6.581007687e-06f, 6.573747562e-06f, 6.566476967e-06f, 6.559195916e-06f, 6.551904422e-06f, 6.544602500e-06f,
+6.537290163e-06f, 6.529967426e-06f, 6.522634302e-06f, 6.515290806e-06f, 6.507936952e-06f, 6.500572753e-06f, 6.493198223e-06f, 6.485813378e-06f, 6.478418230e-06f, 6.471012794e-06f,
+6.463597085e-06f, 6.456171115e-06f, 6.448734900e-06f, 6.441288454e-06f, 6.433831790e-06f, 6.426364923e-06f, 6.418887868e-06f, 6.411400638e-06f, 6.403903247e-06f, 6.396395711e-06f,
+6.388878043e-06f, 6.381350257e-06f, 6.373812368e-06f, 6.366264391e-06f, 6.358706339e-06f, 6.351138227e-06f, 6.343560069e-06f, 6.335971880e-06f, 6.328373674e-06f, 6.320765466e-06f,
+6.313147270e-06f, 6.305519100e-06f, 6.297880971e-06f, 6.290232898e-06f, 6.282574894e-06f, 6.274906975e-06f, 6.267229155e-06f, 6.259541449e-06f, 6.251843870e-06f, 6.244136434e-06f,
+6.236419156e-06f, 6.228692050e-06f, 6.220955130e-06f, 6.213208411e-06f, 6.205451908e-06f, 6.197685636e-06f, 6.189909609e-06f, 6.182123842e-06f, 6.174328349e-06f, 6.166523146e-06f,
+6.158708247e-06f, 6.150883667e-06f, 6.143049420e-06f, 6.135205522e-06f, 6.127351987e-06f, 6.119488830e-06f, 6.111616067e-06f, 6.103733711e-06f, 6.095841777e-06f, 6.087940282e-06f,
+6.080029238e-06f, 6.072108662e-06f, 6.064178569e-06f, 6.056238972e-06f, 6.048289888e-06f, 6.040331331e-06f, 6.032363316e-06f, 6.024385858e-06f, 6.016398972e-06f, 6.008402673e-06f,
+6.000396977e-06f, 5.992381898e-06f, 5.984357451e-06f, 5.976323652e-06f, 5.968280515e-06f, 5.960228056e-06f, 5.952166290e-06f, 5.944095231e-06f, 5.936014896e-06f, 5.927925299e-06f,
+5.919826455e-06f, 5.911718380e-06f, 5.903601089e-06f, 5.895474597e-06f, 5.887338920e-06f, 5.879194072e-06f, 5.871040068e-06f, 5.862876925e-06f, 5.854704658e-06f, 5.846523281e-06f,
+5.838332810e-06f, 5.830133260e-06f, 5.821924648e-06f, 5.813706987e-06f, 5.805480294e-06f, 5.797244584e-06f, 5.788999873e-06f, 5.780746175e-06f, 5.772483506e-06f, 5.764211882e-06f,
+5.755931318e-06f, 5.747641829e-06f, 5.739343432e-06f, 5.731036141e-06f, 5.722719972e-06f, 5.714394941e-06f, 5.706061063e-06f, 5.697718354e-06f, 5.689366829e-06f, 5.681006504e-06f,
+5.672637395e-06f, 5.664259516e-06f, 5.655872884e-06f, 5.647477515e-06f, 5.639073424e-06f, 5.630660626e-06f, 5.622239137e-06f, 5.613808974e-06f, 5.605370151e-06f, 5.596922685e-06f,
+5.588466591e-06f, 5.580001885e-06f, 5.571528583e-06f, 5.563046700e-06f, 5.554556252e-06f, 5.546057255e-06f, 5.537549725e-06f, 5.529033678e-06f, 5.520509129e-06f, 5.511976095e-06f,
+5.503434590e-06f, 5.494884632e-06f, 5.486326236e-06f, 5.477759417e-06f, 5.469184192e-06f, 5.460600577e-06f, 5.452008588e-06f, 5.443408240e-06f, 5.434799549e-06f, 5.426182532e-06f,
+5.417557205e-06f, 5.408923582e-06f, 5.400281682e-06f, 5.391631518e-06f, 5.382973109e-06f, 5.374306469e-06f, 5.365631614e-06f, 5.356948561e-06f, 5.348257326e-06f, 5.339557925e-06f,
+5.330850373e-06f, 5.322134688e-06f, 5.313410885e-06f, 5.304678980e-06f, 5.295938990e-06f, 5.287190931e-06f, 5.278434818e-06f, 5.269670668e-06f, 5.260898498e-06f, 5.252118323e-06f,
+5.243330159e-06f, 5.234534024e-06f, 5.225729933e-06f, 5.216917902e-06f, 5.208097948e-06f, 5.199270087e-06f, 5.190434335e-06f, 5.181590708e-06f, 5.172739224e-06f, 5.163879898e-06f,
+5.155012746e-06f, 5.146137786e-06f, 5.137255032e-06f, 5.128364503e-06f, 5.119466213e-06f, 5.110560180e-06f, 5.101646419e-06f, 5.092724948e-06f, 5.083795783e-06f, 5.074858940e-06f,
+5.065914435e-06f, 5.056962286e-06f, 5.048002508e-06f, 5.039035118e-06f, 5.030060133e-06f, 5.021077569e-06f, 5.012087442e-06f, 5.003089770e-06f, 4.994084568e-06f, 4.985071854e-06f,
+4.976051643e-06f, 4.967023953e-06f, 4.957988799e-06f, 4.948946199e-06f, 4.939896170e-06f, 4.930838727e-06f, 4.921773887e-06f, 4.912701668e-06f, 4.903622085e-06f, 4.894535156e-06f,
+4.885440897e-06f, 4.876339324e-06f, 4.867230455e-06f, 4.858114307e-06f, 4.848990895e-06f, 4.839860236e-06f, 4.830722348e-06f, 4.821577247e-06f, 4.812424950e-06f, 4.803265473e-06f,
+4.794098834e-06f, 4.784925049e-06f, 4.775744135e-06f, 4.766556109e-06f, 4.757360987e-06f, 4.748158787e-06f, 4.738949525e-06f, 4.729733218e-06f, 4.720509883e-06f, 4.711279537e-06f,
+4.702042197e-06f, 4.692797879e-06f, 4.683546601e-06f, 4.674288380e-06f, 4.665023231e-06f, 4.655751173e-06f, 4.646472223e-06f, 4.637186396e-06f, 4.627893711e-06f, 4.618594183e-06f,
+4.609287831e-06f, 4.599974671e-06f, 4.590654720e-06f, 4.581327995e-06f, 4.571994513e-06f, 4.562654291e-06f, 4.553307347e-06f, 4.543953696e-06f, 4.534593357e-06f, 4.525226346e-06f,
+4.515852681e-06f, 4.506472378e-06f, 4.497085455e-06f, 4.487691928e-06f, 4.478291816e-06f, 4.468885134e-06f, 4.459471900e-06f, 4.450052132e-06f, 4.440625845e-06f, 4.431193059e-06f,
+4.421753789e-06f, 4.412308053e-06f, 4.402855868e-06f, 4.393397251e-06f, 4.383932219e-06f, 4.374460790e-06f, 4.364982982e-06f, 4.355498810e-06f, 4.346008292e-06f, 4.336511446e-06f,
+4.327008289e-06f, 4.317498838e-06f, 4.307983111e-06f, 4.298461124e-06f, 4.288932895e-06f, 4.279398442e-06f, 4.269857780e-06f, 4.260310929e-06f, 4.250757905e-06f, 4.241198726e-06f,
+4.231633408e-06f, 4.222061970e-06f, 4.212484429e-06f, 4.202900801e-06f, 4.193311105e-06f, 4.183715357e-06f, 4.174113575e-06f, 4.164505778e-06f, 4.154891981e-06f, 4.145272202e-06f,
+4.135646459e-06f, 4.126014769e-06f, 4.116377151e-06f, 4.106733620e-06f, 4.097084194e-06f, 4.087428892e-06f, 4.077767730e-06f, 4.068100727e-06f, 4.058427898e-06f, 4.048749263e-06f,
+4.039064838e-06f, 4.029374642e-06f, 4.019678690e-06f, 4.009977002e-06f, 4.000269595e-06f, 3.990556485e-06f, 3.980837692e-06f, 3.971113231e-06f, 3.961383122e-06f, 3.951647380e-06f,
+3.941906025e-06f, 3.932159073e-06f, 3.922406543e-06f, 3.912648451e-06f, 3.902884816e-06f, 3.893115654e-06f, 3.883340985e-06f, 3.873560824e-06f, 3.863775191e-06f, 3.853984102e-06f,
+3.844187575e-06f, 3.834385628e-06f, 3.824578279e-06f, 3.814765545e-06f, 3.804947444e-06f, 3.795123993e-06f, 3.785295211e-06f, 3.775461115e-06f, 3.765621722e-06f, 3.755777051e-06f,
+3.745927120e-06f, 3.736071945e-06f, 3.726211545e-06f, 3.716345937e-06f, 3.706475139e-06f, 3.696599170e-06f, 3.686718046e-06f, 3.676831785e-06f, 3.666940406e-06f, 3.657043925e-06f,
+3.647142362e-06f, 3.637235733e-06f, 3.627324057e-06f, 3.617407351e-06f, 3.607485633e-06f, 3.597558921e-06f, 3.587627232e-06f, 3.577690586e-06f, 3.567748998e-06f, 3.557802488e-06f,
+3.547851073e-06f, 3.537894772e-06f, 3.527933601e-06f, 3.517967578e-06f, 3.507996723e-06f, 3.498021052e-06f, 3.488040583e-06f, 3.478055335e-06f, 3.468065324e-06f, 3.458070571e-06f,
+3.448071091e-06f, 3.438066903e-06f, 3.428058025e-06f, 3.418044475e-06f, 3.408026271e-06f, 3.398003430e-06f, 3.387975971e-06f, 3.377943912e-06f, 3.367907271e-06f, 3.357866065e-06f,
+3.347820313e-06f, 3.337770032e-06f, 3.327715241e-06f, 3.317655958e-06f, 3.307592200e-06f, 3.297523985e-06f, 3.287451333e-06f, 3.277374259e-06f, 3.267292784e-06f, 3.257206924e-06f,
+3.247116698e-06f, 3.237022123e-06f, 3.226923219e-06f, 3.216820002e-06f, 3.206712491e-06f, 3.196600704e-06f, 3.186484658e-06f, 3.176364373e-06f, 3.166239866e-06f, 3.156111156e-06f,
+3.145978259e-06f, 3.135841195e-06f, 3.125699982e-06f, 3.115554637e-06f, 3.105405179e-06f, 3.095251625e-06f, 3.085093995e-06f, 3.074932305e-06f, 3.064766575e-06f, 3.054596822e-06f,
+3.044423064e-06f, 3.034245320e-06f, 3.024063608e-06f, 3.013877945e-06f, 3.003688351e-06f, 2.993494842e-06f, 2.983297438e-06f, 2.973096156e-06f, 2.962891015e-06f, 2.952682033e-06f,
+2.942469228e-06f, 2.932252618e-06f, 2.922032221e-06f, 2.911808056e-06f, 2.901580141e-06f, 2.891348493e-06f, 2.881113132e-06f, 2.870874075e-06f, 2.860631341e-06f, 2.850384947e-06f,
+2.840134913e-06f, 2.829881256e-06f, 2.819623994e-06f, 2.809363146e-06f, 2.799098729e-06f, 2.788830763e-06f, 2.778559266e-06f, 2.768284255e-06f, 2.758005749e-06f, 2.747723766e-06f,
+2.737438324e-06f, 2.727149442e-06f, 2.716857138e-06f, 2.706561431e-06f, 2.696262337e-06f, 2.685959877e-06f, 2.675654068e-06f, 2.665344928e-06f, 2.655032475e-06f, 2.644716729e-06f,
+2.634397706e-06f, 2.624075426e-06f, 2.613749907e-06f, 2.603421168e-06f, 2.593089225e-06f, 2.582754098e-06f, 2.572415805e-06f, 2.562074365e-06f, 2.551729795e-06f, 2.541382115e-06f,
+2.531031341e-06f, 2.520677493e-06f, 2.510320590e-06f, 2.499960648e-06f, 2.489597687e-06f, 2.479231726e-06f, 2.468862781e-06f, 2.458490872e-06f, 2.448116018e-06f, 2.437738235e-06f,
+2.427357544e-06f, 2.416973961e-06f, 2.406587506e-06f, 2.396198197e-06f, 2.385806052e-06f, 2.375411089e-06f, 2.365013328e-06f, 2.354612785e-06f, 2.344209481e-06f, 2.333803432e-06f,
+2.323394658e-06f, 2.312983177e-06f, 2.302569007e-06f, 2.292152167e-06f, 2.281732674e-06f, 2.271310548e-06f, 2.260885807e-06f, 2.250458469e-06f, 2.240028552e-06f, 2.229596076e-06f,
+2.219161058e-06f, 2.208723516e-06f, 2.198283470e-06f, 2.187840938e-06f, 2.177395937e-06f, 2.166948487e-06f, 2.156498606e-06f, 2.146046312e-06f, 2.135591623e-06f, 2.125134559e-06f,
+2.114675137e-06f, 2.104213376e-06f, 2.093749295e-06f, 2.083282911e-06f, 2.072814244e-06f, 2.062343311e-06f, 2.051870132e-06f, 2.041394724e-06f, 2.030917105e-06f, 2.020437296e-06f,
+2.009955313e-06f, 1.999471175e-06f, 1.988984901e-06f, 1.978496510e-06f, 1.968006019e-06f, 1.957513447e-06f, 1.947018812e-06f, 1.936522134e-06f, 1.926023430e-06f, 1.915522718e-06f,
+1.905020018e-06f, 1.894515348e-06f, 1.884008726e-06f, 1.873500171e-06f, 1.862989701e-06f, 1.852477334e-06f, 1.841963089e-06f, 1.831446985e-06f, 1.820929040e-06f, 1.810409273e-06f,
+1.799887701e-06f, 1.789364343e-06f, 1.778839219e-06f, 1.768312346e-06f, 1.757783742e-06f, 1.747253427e-06f, 1.736721418e-06f, 1.726187734e-06f, 1.715652394e-06f, 1.705115416e-06f,
+1.694576819e-06f, 1.684036621e-06f, 1.673494840e-06f, 1.662951495e-06f, 1.652406604e-06f, 1.641860187e-06f, 1.631312260e-06f, 1.620762844e-06f, 1.610211956e-06f, 1.599659615e-06f,
+1.589105839e-06f, 1.578550646e-06f, 1.567994056e-06f, 1.557436086e-06f, 1.546876756e-06f, 1.536316083e-06f, 1.525754086e-06f, 1.515190784e-06f, 1.504626195e-06f, 1.494060337e-06f,
+1.483493230e-06f, 1.472924891e-06f, 1.462355338e-06f, 1.451784591e-06f, 1.441212668e-06f, 1.430639587e-06f, 1.420065367e-06f, 1.409490026e-06f, 1.398913583e-06f, 1.388336057e-06f,
+1.377757464e-06f, 1.367177825e-06f, 1.356597158e-06f, 1.346015481e-06f, 1.335432812e-06f, 1.324849170e-06f, 1.314264573e-06f, 1.303679041e-06f, 1.293092591e-06f, 1.282505242e-06f,
+1.271917012e-06f, 1.261327920e-06f, 1.250737984e-06f, 1.240147223e-06f, 1.229555655e-06f, 1.218963298e-06f, 1.208370172e-06f, 1.197776294e-06f, 1.187181683e-06f, 1.176586358e-06f,
+1.165990336e-06f, 1.155393637e-06f, 1.144796279e-06f, 1.134198280e-06f, 1.123599658e-06f, 1.113000433e-06f, 1.102400622e-06f, 1.091800245e-06f, 1.081199318e-06f, 1.070597862e-06f,
+1.059995894e-06f, 1.049393433e-06f, 1.038790497e-06f, 1.028187105e-06f, 1.017583275e-06f, 1.006979025e-06f, 9.963743742e-07f, 9.857693409e-07f, 9.751639433e-07f, 9.645582000e-07f,
+9.539521294e-07f, 9.433457499e-07f, 9.327390799e-07f, 9.221321378e-07f, 9.115249420e-07f, 9.009175110e-07f, 8.903098631e-07f, 8.797020169e-07f, 8.690939906e-07f, 8.584858027e-07f,
+8.478774717e-07f, 8.372690158e-07f, 8.266604535e-07f, 8.160518033e-07f, 8.054430834e-07f, 7.948343123e-07f, 7.842255085e-07f, 7.736166901e-07f, 7.630078758e-07f, 7.523990838e-07f,
+7.417903325e-07f, 7.311816404e-07f, 7.205730257e-07f, 7.099645069e-07f, 6.993561024e-07f, 6.887478304e-07f, 6.781397094e-07f, 6.675317578e-07f, 6.569239939e-07f, 6.463164360e-07f,
+6.357091025e-07f, 6.251020119e-07f, 6.144951823e-07f, 6.038886323e-07f, 5.932823800e-07f, 5.826764439e-07f, 5.720708424e-07f, 5.614655936e-07f, 5.508607161e-07f, 5.402562281e-07f,
+5.296521479e-07f, 5.190484939e-07f, 5.084452843e-07f, 4.978425376e-07f, 4.872402720e-07f, 4.766385058e-07f, 4.660372574e-07f, 4.554365450e-07f, 4.448363870e-07f, 4.342368017e-07f,
+4.236378073e-07f, 4.130394222e-07f, 4.024416646e-07f, 3.918445528e-07f, 3.812481051e-07f, 3.706523399e-07f, 3.600572753e-07f, 3.494629296e-07f, 3.388693212e-07f, 3.282764682e-07f,
+3.176843890e-07f, 3.070931018e-07f, 2.965026248e-07f, 2.859129763e-07f, 2.753241746e-07f, 2.647362378e-07f, 2.541491844e-07f, 2.435630323e-07f, 2.329778000e-07f, 2.223935056e-07f,
+2.118101674e-07f, 2.012278035e-07f, 1.906464323e-07f, 1.800660718e-07f, 1.694867404e-07f, 1.589084561e-07f, 1.483312373e-07f, 1.377551021e-07f, 1.271800687e-07f, 1.166061553e-07f,
+1.060333801e-07f, 9.546176124e-08f, 8.489131690e-08f, 7.432206526e-08f, 6.375402448e-08f, 5.318721274e-08f, 4.262164818e-08f, 3.205734896e-08f, 2.149433322e-08f, 1.093261911e-08f,
+3.722247716e-10f, -1.018683166e-08f, -2.074453207e-08f, -3.130085831e-08f, -4.185579228e-08f, -5.240931585e-08f, -6.296141091e-08f, -7.351205936e-08f, -8.406124310e-08f, -9.460894402e-08f,
+-1.051551440e-07f, -1.156998251e-07f, -1.262429690e-07f, -1.367845579e-07f, -1.473245735e-07f, -1.578629978e-07f, -1.683998127e-07f, -1.789350003e-07f, -1.894685423e-07f, -2.000004209e-07f,
+-2.105306180e-07f, -2.210591154e-07f, -2.315858952e-07f, -2.421109394e-07f, -2.526342300e-07f, -2.631557488e-07f, -2.736754780e-07f, -2.841933995e-07f, -2.947094953e-07f, -3.052237474e-07f,
+-3.157361378e-07f, -3.262466486e-07f, -3.367552617e-07f, -3.472619593e-07f, -3.577667233e-07f, -3.682695357e-07f, -3.787703787e-07f, -3.892692342e-07f, -3.997660844e-07f, -4.102609112e-07f,
+-4.207536968e-07f, -4.312444232e-07f, -4.417330725e-07f, -4.522196269e-07f, -4.627040683e-07f, -4.731863789e-07f, -4.836665407e-07f, -4.941445360e-07f, -5.046203468e-07f, -5.150939552e-07f,
+-5.255653434e-07f, -5.360344935e-07f, -5.465013876e-07f, -5.569660079e-07f, -5.674283365e-07f, -5.778883557e-07f, -5.883460474e-07f, -5.988013940e-07f, -6.092543777e-07f, -6.197049805e-07f,
+-6.301531847e-07f, -6.405989724e-07f, -6.510423260e-07f, -6.614832275e-07f, -6.719216592e-07f, -6.823576034e-07f, -6.927910422e-07f, -7.032219579e-07f, -7.136503328e-07f, -7.240761490e-07f,
+-7.344993889e-07f, -7.449200347e-07f, -7.553380687e-07f, -7.657534731e-07f, -7.761662302e-07f, -7.865763224e-07f, -7.969837318e-07f, -8.073884409e-07f, -8.177904320e-07f, -8.281896872e-07f,
+-8.385861891e-07f, -8.489799199e-07f, -8.593708619e-07f, -8.697589974e-07f, -8.801443090e-07f, -8.905267788e-07f, -9.009063893e-07f, -9.112831228e-07f, -9.216569618e-07f, -9.320278885e-07f,
+-9.423958855e-07f, -9.527609351e-07f, -9.631230197e-07f, -9.734821217e-07f, -9.838382236e-07f, -9.941913078e-07f, -1.004541357e-06f, -1.014888353e-06f, -1.025232279e-06f, -1.035573117e-06f,
+-1.045910849e-06f, -1.056245458e-06f, -1.066576927e-06f, -1.076905238e-06f, -1.087230374e-06f, -1.097552317e-06f, -1.107871049e-06f, -1.118186553e-06f, -1.128498812e-06f, -1.138807808e-06f,
+-1.149113524e-06f, -1.159415942e-06f, -1.169715044e-06f, -1.180010814e-06f, -1.190303235e-06f, -1.200592287e-06f, -1.210877955e-06f, -1.221160221e-06f, -1.231439067e-06f, -1.241714475e-06f,
+-1.251986430e-06f, -1.262254913e-06f, -1.272519906e-06f, -1.282781394e-06f, -1.293039357e-06f, -1.303293779e-06f, -1.313544643e-06f, -1.323791931e-06f, -1.334035626e-06f, -1.344275711e-06f,
+-1.354512168e-06f, -1.364744980e-06f, -1.374974130e-06f, -1.385199600e-06f, -1.395421374e-06f, -1.405639434e-06f, -1.415853762e-06f, -1.426064342e-06f, -1.436271157e-06f, -1.446474188e-06f,
+-1.456673420e-06f, -1.466868834e-06f, -1.477060414e-06f, -1.487248142e-06f, -1.497432001e-06f, -1.507611975e-06f, -1.517788045e-06f, -1.527960195e-06f, -1.538128408e-06f, -1.548292666e-06f,
+-1.558452952e-06f, -1.568609250e-06f, -1.578761542e-06f, -1.588909811e-06f, -1.599054041e-06f, -1.609194213e-06f, -1.619330311e-06f, -1.629462318e-06f, -1.639590216e-06f, -1.649713990e-06f,
+-1.659833621e-06f, -1.669949093e-06f, -1.680060389e-06f, -1.690167491e-06f, -1.700270384e-06f, -1.710369049e-06f, -1.720463469e-06f, -1.730553629e-06f, -1.740639511e-06f, -1.750721097e-06f,
+-1.760798372e-06f, -1.770871318e-06f, -1.780939918e-06f, -1.791004155e-06f, -1.801064013e-06f, -1.811119475e-06f, -1.821170523e-06f, -1.831217141e-06f, -1.841259311e-06f, -1.851297019e-06f,
+-1.861330245e-06f, -1.871358974e-06f, -1.881383188e-06f, -1.891402872e-06f, -1.901418007e-06f, -1.911428578e-06f, -1.921434568e-06f, -1.931435959e-06f, -1.941432735e-06f, -1.951424880e-06f,
+-1.961412376e-06f, -1.971395207e-06f, -1.981373356e-06f, -1.991346807e-06f, -2.001315542e-06f, -2.011279546e-06f, -2.021238800e-06f, -2.031193290e-06f, -2.041142998e-06f, -2.051087907e-06f,
+-2.061028001e-06f, -2.070963263e-06f, -2.080893677e-06f, -2.090819226e-06f, -2.100739893e-06f, -2.110655663e-06f, -2.120566517e-06f, -2.130472440e-06f, -2.140373416e-06f, -2.150269427e-06f,
+-2.160160457e-06f, -2.170046490e-06f, -2.179927510e-06f, -2.189803498e-06f, -2.199674440e-06f, -2.209540319e-06f, -2.219401118e-06f, -2.229256821e-06f, -2.239107411e-06f, -2.248952872e-06f,
+-2.258793188e-06f, -2.268628342e-06f, -2.278458318e-06f, -2.288283099e-06f, -2.298102669e-06f, -2.307917011e-06f, -2.317726110e-06f, -2.327529949e-06f, -2.337328512e-06f, -2.347121782e-06f,
+-2.356909743e-06f, -2.366692379e-06f, -2.376469673e-06f, -2.386241610e-06f, -2.396008172e-06f, -2.405769344e-06f, -2.415525110e-06f, -2.425275453e-06f, -2.435020357e-06f, -2.444759805e-06f,
+-2.454493783e-06f, -2.464222273e-06f, -2.473945259e-06f, -2.483662725e-06f, -2.493374656e-06f, -2.503081034e-06f, -2.512781845e-06f, -2.522477070e-06f, -2.532166696e-06f, -2.541850705e-06f,
+-2.551529081e-06f, -2.561201809e-06f, -2.570868872e-06f, -2.580530254e-06f, -2.590185940e-06f, -2.599835913e-06f, -2.609480157e-06f, -2.619118657e-06f, -2.628751396e-06f, -2.638378358e-06f,
+-2.647999527e-06f, -2.657614888e-06f, -2.667224425e-06f, -2.676828121e-06f, -2.686425961e-06f, -2.696017928e-06f, -2.705604008e-06f, -2.715184183e-06f, -2.724758439e-06f, -2.734326760e-06f,
+-2.743889128e-06f, -2.753445530e-06f, -2.762995948e-06f, -2.772540368e-06f, -2.782078773e-06f, -2.791611148e-06f, -2.801137476e-06f, -2.810657743e-06f, -2.820171932e-06f, -2.829680027e-06f,
+-2.839182014e-06f, -2.848677875e-06f, -2.858167597e-06f, -2.867651162e-06f, -2.877128555e-06f, -2.886599761e-06f, -2.896064765e-06f, -2.905523549e-06f, -2.914976099e-06f, -2.924422400e-06f,
+-2.933862435e-06f, -2.943296189e-06f, -2.952723646e-06f, -2.962144792e-06f, -2.971559609e-06f, -2.980968084e-06f, -2.990370200e-06f, -2.999765943e-06f, -3.009155295e-06f, -3.018538243e-06f,
+-3.027914770e-06f, -3.037284861e-06f, -3.046648501e-06f, -3.056005674e-06f, -3.065356365e-06f, -3.074700559e-06f, -3.084038239e-06f, -3.093369392e-06f, -3.102694000e-06f, -3.112012050e-06f,
+-3.121323526e-06f, -3.130628412e-06f, -3.139926694e-06f, -3.149218355e-06f, -3.158503381e-06f, -3.167781756e-06f, -3.177053466e-06f, -3.186318494e-06f, -3.195576827e-06f, -3.204828447e-06f,
+-3.214073342e-06f, -3.223311494e-06f, -3.232542889e-06f, -3.241767513e-06f, -3.250985349e-06f, -3.260196382e-06f, -3.269400599e-06f, -3.278597983e-06f, -3.287788519e-06f, -3.296972192e-06f,
+-3.306148988e-06f, -3.315318891e-06f, -3.324481887e-06f, -3.333637959e-06f, -3.342787094e-06f, -3.351929277e-06f, -3.361064491e-06f, -3.370192723e-06f, -3.379313957e-06f, -3.388428179e-06f,
+-3.397535374e-06f, -3.406635526e-06f, -3.415728621e-06f, -3.424814645e-06f, -3.433893581e-06f, -3.442965415e-06f, -3.452030134e-06f, -3.461087720e-06f, -3.470138161e-06f, -3.479181441e-06f,
+-3.488217545e-06f, -3.497246459e-06f, -3.506268168e-06f, -3.515282657e-06f, -3.524289911e-06f, -3.533289916e-06f, -3.542282657e-06f, -3.551268120e-06f, -3.560246290e-06f, -3.569217151e-06f,
+-3.578180690e-06f, -3.587136892e-06f, -3.596085743e-06f, -3.605027227e-06f, -3.613961330e-06f, -3.622888038e-06f, -3.631807336e-06f, -3.640719210e-06f, -3.649623645e-06f, -3.658520626e-06f,
+-3.667410140e-06f, -3.676292171e-06f, -3.685166705e-06f, -3.694033729e-06f, -3.702893227e-06f, -3.711745184e-06f, -3.720589588e-06f, -3.729426422e-06f, -3.738255674e-06f, -3.747077328e-06f,
+-3.755891371e-06f, -3.764697787e-06f, -3.773496563e-06f, -3.782287684e-06f, -3.791071137e-06f, -3.799846906e-06f, -3.808614978e-06f, -3.817375338e-06f, -3.826127973e-06f, -3.834872867e-06f,
+-3.843610008e-06f, -3.852339380e-06f, -3.861060970e-06f, -3.869774763e-06f, -3.878480745e-06f, -3.887178903e-06f, -3.895869222e-06f, -3.904551688e-06f, -3.913226286e-06f, -3.921893004e-06f,
+-3.930551827e-06f, -3.939202741e-06f, -3.947845732e-06f, -3.956480786e-06f, -3.965107889e-06f, -3.973727027e-06f, -3.982338186e-06f, -3.990941352e-06f, -3.999536512e-06f, -4.008123652e-06f,
+-4.016702757e-06f, -4.025273814e-06f, -4.033836808e-06f, -4.042391727e-06f, -4.050938557e-06f, -4.059477283e-06f, -4.068007891e-06f, -4.076530369e-06f, -4.085044702e-06f, -4.093550877e-06f,
+-4.102048879e-06f, -4.110538696e-06f, -4.119020314e-06f, -4.127493718e-06f, -4.135958895e-06f, -4.144415832e-06f, -4.152864515e-06f, -4.161304931e-06f, -4.169737065e-06f, -4.178160905e-06f,
+-4.186576436e-06f, -4.194983645e-06f, -4.203382519e-06f, -4.211773045e-06f, -4.220155208e-06f, -4.228528995e-06f, -4.236894393e-06f, -4.245251389e-06f, -4.253599968e-06f, -4.261940118e-06f,
+-4.270271825e-06f, -4.278595076e-06f, -4.286909858e-06f, -4.295216156e-06f, -4.303513959e-06f, -4.311803252e-06f, -4.320084022e-06f, -4.328356256e-06f, -4.336619941e-06f, -4.344875063e-06f,
+-4.353121609e-06f, -4.361359567e-06f, -4.369588922e-06f, -4.377809663e-06f, -4.386021774e-06f, -4.394225244e-06f, -4.402420060e-06f, -4.410606207e-06f, -4.418783674e-06f, -4.426952447e-06f,
+-4.435112513e-06f, -4.443263858e-06f, -4.451406471e-06f, -4.459540338e-06f, -4.467665445e-06f, -4.475781781e-06f, -4.483889331e-06f, -4.491988084e-06f, -4.500078026e-06f, -4.508159144e-06f,
+-4.516231426e-06f, -4.524294858e-06f, -4.532349428e-06f, -4.540395122e-06f, -4.548431929e-06f, -4.556459835e-06f, -4.564478827e-06f, -4.572488894e-06f, -4.580490021e-06f, -4.588482196e-06f,
+-4.596465407e-06f, -4.604439640e-06f, -4.612404884e-06f, -4.620361126e-06f, -4.628308352e-06f, -4.636246550e-06f, -4.644175708e-06f, -4.652095813e-06f, -4.660006852e-06f, -4.667908814e-06f,
+-4.675801684e-06f, -4.683685452e-06f, -4.691560103e-06f, -4.699425627e-06f, -4.707282010e-06f, -4.715129240e-06f, -4.722967304e-06f, -4.730796191e-06f, -4.738615887e-06f, -4.746426380e-06f,
+-4.754227658e-06f, -4.762019709e-06f, -4.769802520e-06f, -4.777576079e-06f, -4.785340373e-06f, -4.793095391e-06f, -4.800841120e-06f, -4.808577548e-06f, -4.816304662e-06f, -4.824022451e-06f,
+-4.831730902e-06f, -4.839430003e-06f, -4.847119742e-06f, -4.854800107e-06f, -4.862471085e-06f, -4.870132665e-06f, -4.877784835e-06f, -4.885427581e-06f, -4.893060893e-06f, -4.900684759e-06f,
+-4.908299166e-06f, -4.915904102e-06f, -4.923499555e-06f, -4.931085514e-06f, -4.938661966e-06f, -4.946228900e-06f, -4.953786304e-06f, -4.961334165e-06f, -4.968872472e-06f, -4.976401213e-06f,
+-4.983920376e-06f, -4.991429950e-06f, -4.998929922e-06f, -5.006420281e-06f, -5.013901015e-06f, -5.021372113e-06f, -5.028833562e-06f, -5.036285351e-06f, -5.043727468e-06f, -5.051159902e-06f,
+-5.058582640e-06f, -5.065995672e-06f, -5.073398986e-06f, -5.080792569e-06f, -5.088176411e-06f, -5.095550500e-06f, -5.102914824e-06f, -5.110269373e-06f, -5.117614133e-06f, -5.124949095e-06f,
+-5.132274246e-06f, -5.139589575e-06f, -5.146895070e-06f, -5.154190721e-06f, -5.161476515e-06f, -5.168752442e-06f, -5.176018489e-06f, -5.183274647e-06f, -5.190520902e-06f, -5.197757245e-06f,
+-5.204983664e-06f, -5.212200147e-06f, -5.219406684e-06f, -5.226603262e-06f, -5.233789871e-06f, -5.240966501e-06f, -5.248133138e-06f, -5.255289773e-06f, -5.262436394e-06f, -5.269572990e-06f,
+-5.276699551e-06f, -5.283816064e-06f, -5.290922519e-06f, -5.298018905e-06f, -5.305105211e-06f, -5.312181426e-06f, -5.319247539e-06f, -5.326303538e-06f, -5.333349414e-06f, -5.340385154e-06f,
+-5.347410749e-06f, -5.354426187e-06f, -5.361431458e-06f, -5.368426549e-06f, -5.375411452e-06f, -5.382386155e-06f, -5.389350647e-06f, -5.396304917e-06f, -5.403248954e-06f, -5.410182749e-06f,
+-5.417106290e-06f, -5.424019566e-06f, -5.430922567e-06f, -5.437815282e-06f, -5.444697701e-06f, -5.451569813e-06f, -5.458431607e-06f, -5.465283072e-06f, -5.472124199e-06f, -5.478954976e-06f,
+-5.485775394e-06f, -5.492585441e-06f, -5.499385107e-06f, -5.506174382e-06f, -5.512953255e-06f, -5.519721716e-06f, -5.526479754e-06f, -5.533227360e-06f, -5.539964522e-06f, -5.546691230e-06f,
+-5.553407474e-06f, -5.560113244e-06f, -5.566808529e-06f, -5.573493319e-06f, -5.580167605e-06f, -5.586831374e-06f, -5.593484619e-06f, -5.600127327e-06f, -5.606759489e-06f, -5.613381096e-06f,
+-5.619992136e-06f, -5.626592600e-06f, -5.633182477e-06f, -5.639761758e-06f, -5.646330432e-06f, -5.652888490e-06f, -5.659435921e-06f, -5.665972716e-06f, -5.672498864e-06f, -5.679014355e-06f,
+-5.685519180e-06f, -5.692013329e-06f, -5.698496792e-06f, -5.704969558e-06f, -5.711431618e-06f, -5.717882962e-06f, -5.724323581e-06f, -5.730753465e-06f, -5.737172603e-06f, -5.743580986e-06f,
+-5.749978604e-06f, -5.756365448e-06f, -5.762741508e-06f, -5.769106774e-06f, -5.775461237e-06f, -5.781804887e-06f, -5.788137714e-06f, -5.794459708e-06f, -5.800770861e-06f, -5.807071162e-06f,
+-5.813360602e-06f, -5.819639172e-06f, -5.825906862e-06f, -5.832163662e-06f, -5.838409564e-06f, -5.844644557e-06f, -5.850868632e-06f, -5.857081780e-06f, -5.863283992e-06f, -5.869475258e-06f,
+-5.875655568e-06f, -5.881824914e-06f, -5.887983287e-06f, -5.894130676e-06f, -5.900267072e-06f, -5.906392467e-06f, -5.912506852e-06f, -5.918610216e-06f, -5.924702551e-06f, -5.930783848e-06f,
+-5.936854097e-06f, -5.942913290e-06f, -5.948961417e-06f, -5.954998469e-06f, -5.961024438e-06f, -5.967039313e-06f, -5.973043087e-06f, -5.979035750e-06f, -5.985017293e-06f, -5.990987708e-06f,
+-5.996946985e-06f, -6.002895115e-06f, -6.008832090e-06f, -6.014757900e-06f, -6.020672538e-06f, -6.026575993e-06f, -6.032468257e-06f, -6.038349322e-06f, -6.044219179e-06f, -6.050077818e-06f,
+-6.055925232e-06f, -6.061761411e-06f, -6.067586346e-06f, -6.073400030e-06f, -6.079202454e-06f, -6.084993608e-06f, -6.090773485e-06f, -6.096542075e-06f, -6.102299370e-06f, -6.108045362e-06f,
+-6.113780042e-06f, -6.119503402e-06f, -6.125215432e-06f, -6.130916126e-06f, -6.136605473e-06f, -6.142283466e-06f, -6.147950097e-06f, -6.153605357e-06f, -6.159249237e-06f, -6.164881730e-06f,
+-6.170502827e-06f, -6.176112519e-06f, -6.181710799e-06f, -6.187297659e-06f, -6.192873089e-06f, -6.198437082e-06f, -6.203989630e-06f, -6.209530724e-06f, -6.215060356e-06f, -6.220578519e-06f,
+-6.226085203e-06f, -6.231580402e-06f, -6.237064107e-06f, -6.242536309e-06f, -6.247997002e-06f, -6.253446176e-06f, -6.258883824e-06f, -6.264309939e-06f, -6.269724511e-06f, -6.275127533e-06f,
+-6.280518998e-06f, -6.285898897e-06f, -6.291267222e-06f, -6.296623967e-06f, -6.301969122e-06f, -6.307302680e-06f, -6.312624633e-06f, -6.317934974e-06f, -6.323233695e-06f, -6.328520788e-06f,
+-6.333796246e-06f, -6.339060060e-06f, -6.344312224e-06f, -6.349552729e-06f, -6.354781568e-06f, -6.359998733e-06f, -6.365204218e-06f, -6.370398013e-06f, -6.375580113e-06f, -6.380750509e-06f,
+-6.385909193e-06f, -6.391056159e-06f, -6.396191399e-06f, -6.401314906e-06f, -6.406426671e-06f, -6.411526689e-06f, -6.416614951e-06f, -6.421691450e-06f, -6.426756179e-06f, -6.431809131e-06f,
+-6.436850298e-06f, -6.441879673e-06f, -6.446897249e-06f, -6.451903019e-06f, -6.456896975e-06f, -6.461879110e-06f, -6.466849418e-06f, -6.471807891e-06f, -6.476754522e-06f, -6.481689304e-06f,
+-6.486612230e-06f, -6.491523293e-06f, -6.496422486e-06f, -6.501309802e-06f, -6.506185234e-06f, -6.511048775e-06f, -6.515900418e-06f, -6.520740157e-06f, -6.525567983e-06f, -6.530383892e-06f,
+-6.535187875e-06f, -6.539979926e-06f, -6.544760038e-06f, -6.549528205e-06f, -6.554284419e-06f, -6.559028674e-06f, -6.563760964e-06f, -6.568481281e-06f, -6.573189618e-06f, -6.577885971e-06f,
+-6.582570330e-06f, -6.587242691e-06f, -6.591903047e-06f, -6.596551390e-06f, -6.601187715e-06f, -6.605812015e-06f, -6.610424283e-06f, -6.615024513e-06f, -6.619612699e-06f, -6.624188834e-06f,
+-6.628752911e-06f, -6.633304925e-06f, -6.637844870e-06f, -6.642372737e-06f, -6.646888523e-06f, -6.651392219e-06f, -6.655883820e-06f, -6.660363320e-06f, -6.664830712e-06f, -6.669285991e-06f,
+-6.673729149e-06f, -6.678160181e-06f, -6.682579081e-06f, -6.686985843e-06f, -6.691380460e-06f, -6.695762927e-06f, -6.700133237e-06f, -6.704491384e-06f, -6.708837363e-06f, -6.713171168e-06f,
+-6.717492791e-06f, -6.721802229e-06f, -6.726099474e-06f, -6.730384520e-06f, -6.734657363e-06f, -6.738917996e-06f, -6.743166412e-06f, -6.747402607e-06f, -6.751626575e-06f, -6.755838310e-06f,
+-6.760037805e-06f, -6.764225056e-06f, -6.768400057e-06f, -6.772562802e-06f, -6.776713285e-06f, -6.780851501e-06f, -6.784977444e-06f, -6.789091109e-06f, -6.793192489e-06f, -6.797281580e-06f,
+-6.801358376e-06f, -6.805422872e-06f, -6.809475061e-06f, -6.813514939e-06f, -6.817542500e-06f, -6.821557738e-06f, -6.825560649e-06f, -6.829551227e-06f, -6.833529467e-06f, -6.837495362e-06f,
+-6.841448909e-06f, -6.845390101e-06f, -6.849318934e-06f, -6.853235402e-06f, -6.857139500e-06f, -6.861031223e-06f, -6.864910565e-06f, -6.868777522e-06f, -6.872632089e-06f, -6.876474259e-06f,
+-6.880304029e-06f, -6.884121393e-06f, -6.887926346e-06f, -6.891718883e-06f, -6.895499000e-06f, -6.899266690e-06f, -6.903021950e-06f, -6.906764774e-06f, -6.910495157e-06f, -6.914213095e-06f,
+-6.917918583e-06f, -6.921611615e-06f, -6.925292188e-06f, -6.928960296e-06f, -6.932615934e-06f, -6.936259098e-06f, -6.939889783e-06f, -6.943507984e-06f, -6.947113697e-06f, -6.950706917e-06f,
+-6.954287639e-06f, -6.957855859e-06f, -6.961411572e-06f, -6.964954773e-06f, -6.968485459e-06f, -6.972003624e-06f, -6.975509264e-06f, -6.979002375e-06f, -6.982482952e-06f, -6.985950991e-06f,
+-6.989406486e-06f, -6.992849435e-06f, -6.996279832e-06f, -6.999697673e-06f, -7.003102955e-06f, -7.006495671e-06f, -7.009875819e-06f, -7.013243394e-06f, -7.016598392e-06f, -7.019940808e-06f,
+-7.023270639e-06f, -7.026587880e-06f, -7.029892527e-06f, -7.033184576e-06f, -7.036464023e-06f, -7.039730863e-06f, -7.042985094e-06f, -7.046226710e-06f, -7.049455707e-06f, -7.052672083e-06f,
+-7.055875832e-06f, -7.059066951e-06f, -7.062245436e-06f, -7.065411283e-06f, -7.068564489e-06f, -7.071705048e-06f, -7.074832958e-06f, -7.077948214e-06f, -7.081050814e-06f, -7.084140752e-06f,
+-7.087218026e-06f, -7.090282632e-06f, -7.093334565e-06f, -7.096373823e-06f, -7.099400402e-06f, -7.102414297e-06f, -7.105415506e-06f, -7.108404025e-06f, -7.111379850e-06f, -7.114342978e-06f,
+-7.117293405e-06f, -7.120231128e-06f, -7.123156143e-06f, -7.126068446e-06f, -7.128968036e-06f, -7.131854907e-06f, -7.134729057e-06f, -7.137590482e-06f, -7.140439179e-06f, -7.143275145e-06f,
+-7.146098376e-06f, -7.148908869e-06f, -7.151706621e-06f, -7.154491629e-06f, -7.157263889e-06f, -7.160023398e-06f, -7.162770153e-06f, -7.165504152e-06f, -7.168225390e-06f, -7.170933864e-06f,
+-7.173629573e-06f, -7.176312512e-06f, -7.178982679e-06f, -7.181640071e-06f, -7.184284684e-06f, -7.186916516e-06f, -7.189535563e-06f, -7.192141824e-06f, -7.194735294e-06f, -7.197315972e-06f,
+-7.199883854e-06f, -7.202438937e-06f, -7.204981219e-06f, -7.207510698e-06f, -7.210027369e-06f, -7.212531231e-06f, -7.215022280e-06f, -7.217500514e-06f, -7.219965931e-06f, -7.222418528e-06f,
+-7.224858302e-06f, -7.227285251e-06f, -7.229699371e-06f, -7.232100661e-06f, -7.234489118e-06f, -7.236864739e-06f, -7.239227522e-06f, -7.241577465e-06f, -7.243914565e-06f, -7.246238820e-06f,
+-7.248550227e-06f, -7.250848783e-06f, -7.253134488e-06f, -7.255407337e-06f, -7.257667330e-06f, -7.259914463e-06f, -7.262148735e-06f, -7.264370143e-06f, -7.266578685e-06f, -7.268774359e-06f,
+-7.270957162e-06f, -7.273127093e-06f, -7.275284150e-06f, -7.277428329e-06f, -7.279559630e-06f, -7.281678050e-06f, -7.283783588e-06f, -7.285876240e-06f, -7.287956006e-06f, -7.290022883e-06f,
+-7.292076869e-06f, -7.294117963e-06f, -7.296146162e-06f, -7.298161465e-06f, -7.300163870e-06f, -7.302153375e-06f, -7.304129977e-06f, -7.306093677e-06f, -7.308044470e-06f, -7.309982357e-06f,
+-7.311907335e-06f, -7.313819403e-06f, -7.315718558e-06f, -7.317604800e-06f, -7.319478126e-06f, -7.321338535e-06f, -7.323186026e-06f, -7.325020596e-06f, -7.326842245e-06f, -7.328650971e-06f,
+-7.330446772e-06f, -7.332229647e-06f, -7.333999594e-06f, -7.335756613e-06f, -7.337500701e-06f, -7.339231857e-06f, -7.340950081e-06f, -7.342655370e-06f, -7.344347723e-06f, -7.346027140e-06f,
+-7.347693618e-06f, -7.349347157e-06f, -7.350987755e-06f, -7.352615411e-06f, -7.354230124e-06f, -7.355831893e-06f, -7.357420717e-06f, -7.358996595e-06f, -7.360559525e-06f, -7.362109506e-06f,
+-7.363646538e-06f, -7.365170620e-06f, -7.366681750e-06f, -7.368179927e-06f, -7.369665151e-06f, -7.371137421e-06f, -7.372596736e-06f, -7.374043094e-06f, -7.375476495e-06f, -7.376896939e-06f,
+-7.378304424e-06f, -7.379698950e-06f, -7.381080515e-06f, -7.382449120e-06f, -7.383804763e-06f, -7.385147444e-06f, -7.386477162e-06f, -7.387793916e-06f, -7.389097706e-06f, -7.390388532e-06f,
+-7.391666391e-06f, -7.392931285e-06f, -7.394183213e-06f, -7.395422173e-06f, -7.396648166e-06f, -7.397861191e-06f, -7.399061248e-06f, -7.400248336e-06f, -7.401422455e-06f, -7.402583604e-06f,
+-7.403731783e-06f, -7.404866992e-06f, -7.405989230e-06f, -7.407098497e-06f, -7.408194794e-06f, -7.409278119e-06f, -7.410348472e-06f, -7.411405854e-06f, -7.412450263e-06f, -7.413481701e-06f,
+-7.414500166e-06f, -7.415505659e-06f, -7.416498180e-06f, -7.417477728e-06f, -7.418444303e-06f, -7.419397906e-06f, -7.420338537e-06f, -7.421266195e-06f, -7.422180881e-06f, -7.423082594e-06f,
+-7.423971335e-06f, -7.424847103e-06f, -7.425709900e-06f, -7.426559725e-06f, -7.427396579e-06f, -7.428220460e-06f, -7.429031371e-06f, -7.429829311e-06f, -7.430614280e-06f, -7.431386278e-06f,
+-7.432145307e-06f, -7.432891366e-06f, -7.433624455e-06f, -7.434344576e-06f, -7.435051728e-06f, -7.435745912e-06f, -7.436427128e-06f, -7.437095377e-06f, -7.437750659e-06f, -7.438392975e-06f,
+-7.439022326e-06f, -7.439638712e-06f, -7.440242133e-06f, -7.440832590e-06f, -7.441410084e-06f, -7.441974616e-06f, -7.442526185e-06f, -7.443064794e-06f, -7.443590442e-06f, -7.444103130e-06f,
+-7.444602860e-06f, -7.445089631e-06f, -7.445563445e-06f, -7.446024303e-06f, -7.446472205e-06f, -7.446907152e-06f, -7.447329146e-06f, -7.447738186e-06f, -7.448134275e-06f, -7.448517412e-06f,
+-7.448887600e-06f, -7.449244839e-06f, -7.449589129e-06f, -7.449920473e-06f, -7.450238871e-06f, -7.450544325e-06f, -7.450836835e-06f, -7.451116402e-06f, -7.451383029e-06f, -7.451636715e-06f,
+-7.451877462e-06f, -7.452105272e-06f, -7.452320146e-06f, -7.452522084e-06f, -7.452711089e-06f, -7.452887161e-06f, -7.453050303e-06f, -7.453200514e-06f, -7.453337798e-06f, -7.453462154e-06f,
+-7.453573585e-06f, -7.453672092e-06f, -7.453757677e-06f, -7.453830341e-06f, -7.453890085e-06f, -7.453936911e-06f, -7.453970821e-06f, -7.453991817e-06f, -7.453999899e-06f, -7.453995070e-06f,
+-7.453977331e-06f, -7.453946684e-06f, -7.453903130e-06f, -7.453846672e-06f, -7.453777311e-06f, -7.453695048e-06f, -7.453599886e-06f, -7.453491827e-06f, -7.453370872e-06f, -7.453237023e-06f,
+-7.453090283e-06f, -7.452930652e-06f, -7.452758133e-06f, -7.452572727e-06f, -7.452374438e-06f, -7.452163266e-06f, -7.451939215e-06f, -7.451702285e-06f, -7.451452478e-06f, -7.451189798e-06f,
+-7.450914246e-06f, -7.450625824e-06f, -7.450324535e-06f, -7.450010380e-06f, -7.449683362e-06f, -7.449343482e-06f, -7.448990744e-06f, -7.448625149e-06f, -7.448246700e-06f, -7.447855399e-06f,
+-7.447451249e-06f, -7.447034251e-06f, -7.446604408e-06f, -7.446161722e-06f, -7.445706196e-06f, -7.445237833e-06f, -7.444756634e-06f, -7.444262603e-06f, -7.443755741e-06f, -7.443236052e-06f,
+-7.442703537e-06f, -7.442158200e-06f, -7.441600042e-06f, -7.441029067e-06f, -7.440445278e-06f, -7.439848676e-06f, -7.439239264e-06f, -7.438617046e-06f, -7.437982024e-06f, -7.437334200e-06f,
+-7.436673578e-06f, -7.436000160e-06f, -7.435313949e-06f, -7.434614948e-06f, -7.433903160e-06f, -7.433178587e-06f, -7.432441232e-06f, -7.431691099e-06f, -7.430928191e-06f, -7.430152509e-06f,
+-7.429364058e-06f, -7.428562840e-06f, -7.427748859e-06f, -7.426922116e-06f, -7.426082616e-06f, -7.425230362e-06f, -7.424365356e-06f, -7.423487602e-06f, -7.422597103e-06f, -7.421693862e-06f,
+-7.420777882e-06f, -7.419849166e-06f, -7.418907718e-06f, -7.417953542e-06f, -7.416986639e-06f, -7.416007014e-06f, -7.415014670e-06f, -7.414009610e-06f, -7.412991838e-06f, -7.411961357e-06f,
+-7.410918170e-06f, -7.409862282e-06f, -7.408793694e-06f, -7.407712411e-06f, -7.406618437e-06f, -7.405511774e-06f, -7.404392427e-06f, -7.403260399e-06f, -7.402115693e-06f, -7.400958313e-06f,
+-7.399788264e-06f, -7.398605547e-06f, -7.397410168e-06f, -7.396202129e-06f, -7.394981435e-06f, -7.393748089e-06f, -7.392502095e-06f, -7.391243457e-06f, -7.389972178e-06f, -7.388688263e-06f,
+-7.387391715e-06f, -7.386082539e-06f, -7.384760737e-06f, -7.383426314e-06f, -7.382079274e-06f, -7.380719621e-06f, -7.379347358e-06f, -7.377962490e-06f, -7.376565021e-06f, -7.375154955e-06f,
+-7.373732296e-06f, -7.372297047e-06f, -7.370849214e-06f, -7.369388800e-06f, -7.367915809e-06f, -7.366430246e-06f, -7.364932114e-06f, -7.363421418e-06f, -7.361898163e-06f, -7.360362351e-06f,
+-7.358813988e-06f, -7.357253079e-06f, -7.355679626e-06f, -7.354093635e-06f, -7.352495110e-06f, -7.350884055e-06f, -7.349260475e-06f, -7.347624374e-06f, -7.345975756e-06f, -7.344314627e-06f,
+-7.342640990e-06f, -7.340954850e-06f, -7.339256212e-06f, -7.337545079e-06f, -7.335821458e-06f, -7.334085351e-06f, -7.332336765e-06f, -7.330575703e-06f, -7.328802170e-06f, -7.327016171e-06f,
+-7.325217710e-06f, -7.323406792e-06f, -7.321583423e-06f, -7.319747606e-06f, -7.317899347e-06f, -7.316038649e-06f, -7.314165519e-06f, -7.312279961e-06f, -7.310381980e-06f, -7.308471581e-06f,
+-7.306548768e-06f, -7.304613546e-06f, -7.302665921e-06f, -7.300705897e-06f, -7.298733480e-06f, -7.296748674e-06f, -7.294751485e-06f, -7.292741917e-06f, -7.290719976e-06f, -7.288685666e-06f,
+-7.286638993e-06f, -7.284579962e-06f, -7.282508578e-06f, -7.280424847e-06f, -7.278328772e-06f, -7.276220361e-06f, -7.274099617e-06f, -7.271966546e-06f, -7.269821154e-06f, -7.267663446e-06f,
+-7.265493426e-06f, -7.263311101e-06f, -7.261116476e-06f, -7.258909555e-06f, -7.256690346e-06f, -7.254458852e-06f, -7.252215079e-06f, -7.249959033e-06f, -7.247690720e-06f, -7.245410145e-06f,
+-7.243117313e-06f, -7.240812229e-06f, -7.238494900e-06f, -7.236165332e-06f, -7.233823529e-06f, -7.231469497e-06f, -7.229103242e-06f, -7.226724770e-06f, -7.224334086e-06f, -7.221931196e-06f,
+-7.219516106e-06f, -7.217088821e-06f, -7.214649348e-06f, -7.212197691e-06f, -7.209733858e-06f, -7.207257853e-06f, -7.204769682e-06f, -7.202269352e-06f, -7.199756869e-06f, -7.197232238e-06f,
+-7.194695464e-06f, -7.192146555e-06f, -7.189585516e-06f, -7.187012353e-06f, -7.184427073e-06f, -7.181829680e-06f, -7.179220181e-06f, -7.176598583e-06f, -7.173964891e-06f, -7.171319112e-06f,
+-7.168661251e-06f, -7.165991315e-06f, -7.163309310e-06f, -7.160615242e-06f, -7.157909118e-06f, -7.155190943e-06f, -7.152460724e-06f, -7.149718467e-06f, -7.146964178e-06f, -7.144197864e-06f,
+-7.141419532e-06f, -7.138629186e-06f, -7.135826835e-06f, -7.133012484e-06f, -7.130186139e-06f, -7.127347808e-06f, -7.124497496e-06f, -7.121635210e-06f, -7.118760956e-06f, -7.115874742e-06f,
+-7.112976573e-06f, -7.110066456e-06f, -7.107144398e-06f, -7.104210405e-06f, -7.101264484e-06f, -7.098306642e-06f, -7.095336885e-06f, -7.092355220e-06f, -7.089361653e-06f, -7.086356192e-06f,
+-7.083338842e-06f, -7.080309612e-06f, -7.077268506e-06f, -7.074215534e-06f, -7.071150700e-06f, -7.068074013e-06f, -7.064985478e-06f, -7.061885103e-06f, -7.058772895e-06f, -7.055648860e-06f,
+-7.052513006e-06f, -7.049365339e-06f, -7.046205866e-06f, -7.043034595e-06f, -7.039851532e-06f, -7.036656685e-06f, -7.033450060e-06f, -7.030231664e-06f, -7.027001506e-06f, -7.023759591e-06f,
+-7.020505927e-06f, -7.017240520e-06f, -7.013963379e-06f, -7.010674511e-06f, -7.007373922e-06f, -7.004061620e-06f, -7.000737611e-06f, -6.997401904e-06f, -6.994054506e-06f, -6.990695424e-06f,
+-6.987324665e-06f, -6.983942236e-06f, -6.980548145e-06f, -6.977142400e-06f, -6.973725007e-06f, -6.970295974e-06f, -6.966855309e-06f, -6.963403019e-06f, -6.959939111e-06f, -6.956463594e-06f,
+-6.952976473e-06f, -6.949477758e-06f, -6.945967456e-06f, -6.942445573e-06f, -6.938912118e-06f, -6.935367099e-06f, -6.931810523e-06f, -6.928242397e-06f, -6.924662729e-06f, -6.921071528e-06f,
+-6.917468800e-06f, -6.913854554e-06f, -6.910228796e-06f, -6.906591536e-06f, -6.902942780e-06f, -6.899282537e-06f, -6.895610814e-06f, -6.891927619e-06f, -6.888232961e-06f, -6.884526846e-06f,
+-6.880809283e-06f, -6.877080279e-06f, -6.873339844e-06f, -6.869587983e-06f, -6.865824707e-06f, -6.862050021e-06f, -6.858263936e-06f, -6.854466458e-06f, -6.850657595e-06f, -6.846837357e-06f,
+-6.843005750e-06f, -6.839162782e-06f, -6.835308463e-06f, -6.831442800e-06f, -6.827565801e-06f, -6.823677475e-06f, -6.819777829e-06f, -6.815866872e-06f, -6.811944612e-06f, -6.808011058e-06f,
+-6.804066217e-06f, -6.800110098e-06f, -6.796142709e-06f, -6.792164059e-06f, -6.788174155e-06f, -6.784173007e-06f, -6.780160623e-06f, -6.776137010e-06f, -6.772102178e-06f, -6.768056134e-06f,
+-6.763998888e-06f, -6.759930448e-06f, -6.755850822e-06f, -6.751760018e-06f, -6.747658046e-06f, -6.743544914e-06f, -6.739420630e-06f, -6.735285204e-06f, -6.731138642e-06f, -6.726980955e-06f,
+-6.722812151e-06f, -6.718632238e-06f, -6.714441226e-06f, -6.710239122e-06f, -6.706025936e-06f, -6.701801676e-06f, -6.697566351e-06f, -6.693319970e-06f, -6.689062541e-06f, -6.684794074e-06f,
+-6.680514577e-06f, -6.676224059e-06f, -6.671922528e-06f, -6.667609995e-06f, -6.663286467e-06f, -6.658951954e-06f, -6.654606464e-06f, -6.650250007e-06f, -6.645882590e-06f, -6.641504225e-06f,
+-6.637114918e-06f, -6.632714680e-06f, -6.628303519e-06f, -6.623881445e-06f, -6.619448466e-06f, -6.615004592e-06f, -6.610549831e-06f, -6.606084193e-06f, -6.601607687e-06f, -6.597120323e-06f,
+-6.592622108e-06f, -6.588113053e-06f, -6.583593166e-06f, -6.579062458e-06f, -6.574520936e-06f, -6.569968611e-06f, -6.565405492e-06f, -6.560831587e-06f, -6.556246907e-06f, -6.551651460e-06f,
+-6.547045257e-06f, -6.542428305e-06f, -6.537800616e-06f, -6.533162197e-06f, -6.528513059e-06f, -6.523853211e-06f, -6.519182662e-06f, -6.514501423e-06f, -6.509809501e-06f, -6.505106908e-06f,
+-6.500393652e-06f, -6.495669742e-06f, -6.490935189e-06f, -6.486190003e-06f, -6.481434192e-06f, -6.476667766e-06f, -6.471890735e-06f, -6.467103109e-06f, -6.462304896e-06f, -6.457496108e-06f,
+-6.452676753e-06f, -6.447846842e-06f, -6.443006383e-06f, -6.438155387e-06f, -6.433293864e-06f, -6.428421823e-06f, -6.423539274e-06f, -6.418646227e-06f, -6.413742692e-06f, -6.408828678e-06f,
+-6.403904196e-06f, -6.398969255e-06f, -6.394023865e-06f, -6.389068036e-06f, -6.384101779e-06f, -6.379125102e-06f, -6.374138017e-06f, -6.369140532e-06f, -6.364132658e-06f, -6.359114405e-06f,
+-6.354085784e-06f, -6.349046803e-06f, -6.343997473e-06f, -6.338937805e-06f, -6.333867808e-06f, -6.328787492e-06f, -6.323696868e-06f, -6.318595945e-06f, -6.313484735e-06f, -6.308363246e-06f,
+-6.303231490e-06f, -6.298089476e-06f, -6.292937214e-06f, -6.287774716e-06f, -6.282601991e-06f, -6.277419049e-06f, -6.272225901e-06f, -6.267022557e-06f, -6.261809028e-06f, -6.256585323e-06f,
+-6.251351454e-06f, -6.246107430e-06f, -6.240853261e-06f, -6.235588959e-06f, -6.230314534e-06f, -6.225029996e-06f, -6.219735356e-06f, -6.214430624e-06f, -6.209115810e-06f, -6.203790925e-06f,
+-6.198455980e-06f, -6.193110986e-06f, -6.187755951e-06f, -6.182390889e-06f, -6.177015808e-06f, -6.171630719e-06f, -6.166235634e-06f, -6.160830563e-06f, -6.155415515e-06f, -6.149990503e-06f,
+-6.144555537e-06f, -6.139110627e-06f, -6.133655784e-06f, -6.128191019e-06f, -6.122716343e-06f, -6.117231767e-06f, -6.111737300e-06f, -6.106232954e-06f, -6.100718741e-06f, -6.095194669e-06f,
+-6.089660752e-06f, -6.084116998e-06f, -6.078563420e-06f, -6.073000028e-06f, -6.067426833e-06f, -6.061843845e-06f, -6.056251077e-06f, -6.050648538e-06f, -6.045036241e-06f, -6.039414195e-06f,
+-6.033782411e-06f, -6.028140902e-06f, -6.022489677e-06f, -6.016828748e-06f, -6.011158126e-06f, -6.005477822e-06f, -5.999787847e-06f, -5.994088212e-06f, -5.988378928e-06f, -5.982660007e-06f,
+-5.976931459e-06f, -5.971193296e-06f, -5.965445529e-06f, -5.959688169e-06f, -5.953921228e-06f, -5.948144716e-06f, -5.942358645e-06f, -5.936563026e-06f, -5.930757870e-06f, -5.924943189e-06f,
+-5.919118993e-06f, -5.913285295e-06f, -5.907442106e-06f, -5.901589436e-06f, -5.895727298e-06f, -5.889855703e-06f, -5.883974661e-06f, -5.878084185e-06f, -5.872184286e-06f, -5.866274975e-06f,
+-5.860356264e-06f, -5.854428165e-06f, -5.848490688e-06f, -5.842543845e-06f, -5.836587648e-06f, -5.830622108e-06f, -5.824647237e-06f, -5.818663046e-06f, -5.812669548e-06f, -5.806666753e-06f,
+-5.800654673e-06f, -5.794633319e-06f, -5.788602705e-06f, -5.782562840e-06f, -5.776513736e-06f, -5.770455407e-06f, -5.764387862e-06f, -5.758311114e-06f, -5.752225174e-06f, -5.746130055e-06f,
+-5.740025767e-06f, -5.733912323e-06f, -5.727789735e-06f, -5.721658014e-06f, -5.715517172e-06f, -5.709367221e-06f, -5.703208172e-06f, -5.697040038e-06f, -5.690862831e-06f, -5.684676561e-06f,
+-5.678481242e-06f, -5.672276885e-06f, -5.666063502e-06f, -5.659841105e-06f, -5.653609706e-06f, -5.647369317e-06f, -5.641119949e-06f, -5.634861615e-06f, -5.628594327e-06f, -5.622318097e-06f,
+-5.616032937e-06f, -5.609738858e-06f, -5.603435873e-06f, -5.597123995e-06f, -5.590803234e-06f, -5.584473604e-06f, -5.578135116e-06f, -5.571787782e-06f, -5.565431615e-06f, -5.559066627e-06f,
+-5.552692830e-06f, -5.546310235e-06f, -5.539918856e-06f, -5.533518704e-06f, -5.527109792e-06f, -5.520692132e-06f, -5.514265737e-06f, -5.507830617e-06f, -5.501386786e-06f, -5.494934257e-06f,
+-5.488473040e-06f, -5.482003150e-06f, -5.475524597e-06f, -5.469037394e-06f, -5.462541554e-06f, -5.456037090e-06f, -5.449524012e-06f, -5.443002335e-06f, -5.436472069e-06f, -5.429933228e-06f,
+-5.423385825e-06f, -5.416829871e-06f, -5.410265378e-06f, -5.403692361e-06f, -5.397110830e-06f, -5.390520799e-06f, -5.383922280e-06f, -5.377315285e-06f, -5.370699827e-06f, -5.364075919e-06f,
+-5.357443573e-06f, -5.350802802e-06f, -5.344153618e-06f, -5.337496034e-06f, -5.330830063e-06f, -5.324155717e-06f, -5.317473009e-06f, -5.310781951e-06f, -5.304082557e-06f, -5.297374838e-06f,
+-5.290658808e-06f, -5.283934480e-06f, -5.277201865e-06f, -5.270460977e-06f, -5.263711828e-06f, -5.256954432e-06f, -5.250188801e-06f, -5.243414948e-06f, -5.236632885e-06f, -5.229842626e-06f,
+-5.223044183e-06f, -5.216237569e-06f, -5.209422797e-06f, -5.202599880e-06f, -5.195768830e-06f, -5.188929661e-06f, -5.182082386e-06f, -5.175227017e-06f, -5.168363567e-06f, -5.161492049e-06f,
+-5.154612477e-06f, -5.147724863e-06f, -5.140829220e-06f, -5.133925561e-06f, -5.127013899e-06f, -5.120094247e-06f, -5.113166618e-06f, -5.106231026e-06f, -5.099287483e-06f, -5.092336002e-06f,
+-5.085376596e-06f, -5.078409279e-06f, -5.071434063e-06f, -5.064450962e-06f, -5.057459989e-06f, -5.050461157e-06f, -5.043454479e-06f, -5.036439967e-06f, -5.029417637e-06f, -5.022387499e-06f,
+-5.015349569e-06f, -5.008303858e-06f, -5.001250381e-06f, -4.994189150e-06f, -4.987120178e-06f, -4.980043479e-06f, -4.972959067e-06f, -4.965866954e-06f, -4.958767153e-06f, -4.951659678e-06f,
+-4.944544543e-06f, -4.937421760e-06f, -4.930291344e-06f, -4.923153306e-06f, -4.916007661e-06f, -4.908854422e-06f, -4.901693603e-06f, -4.894525216e-06f, -4.887349275e-06f, -4.880165794e-06f,
+-4.872974786e-06f, -4.865776264e-06f, -4.858570242e-06f, -4.851356734e-06f, -4.844135752e-06f, -4.836907310e-06f, -4.829671423e-06f, -4.822428102e-06f, -4.815177362e-06f, -4.807919217e-06f,
+-4.800653679e-06f, -4.793380763e-06f, -4.786100482e-06f, -4.778812849e-06f, -4.771517878e-06f, -4.764215583e-06f, -4.756905977e-06f, -4.749589074e-06f, -4.742264887e-06f, -4.734933431e-06f,
+-4.727594718e-06f, -4.720248763e-06f, -4.712895579e-06f, -4.705535179e-06f, -4.698167578e-06f, -4.690792789e-06f, -4.683410826e-06f, -4.676021703e-06f, -4.668625433e-06f, -4.661222030e-06f,
+-4.653811508e-06f, -4.646393880e-06f, -4.638969161e-06f, -4.631537363e-06f, -4.624098502e-06f, -4.616652591e-06f, -4.609199642e-06f, -4.601739672e-06f, -4.594272692e-06f, -4.586798718e-06f,
+-4.579317762e-06f, -4.571829839e-06f, -4.564334963e-06f, -4.556833147e-06f, -4.549324406e-06f, -4.541808753e-06f, -4.534286202e-06f, -4.526756768e-06f, -4.519220463e-06f, -4.511677303e-06f,
+-4.504127300e-06f, -4.496570470e-06f, -4.489006825e-06f, -4.481436381e-06f, -4.473859150e-06f, -4.466275147e-06f, -4.458684387e-06f, -4.451086882e-06f, -4.443482647e-06f, -4.435871697e-06f,
+-4.428254044e-06f, -4.420629704e-06f, -4.412998690e-06f, -4.405361016e-06f, -4.397716697e-06f, -4.390065747e-06f, -4.382408179e-06f, -4.374744008e-06f, -4.367073247e-06f, -4.359395912e-06f,
+-4.351712017e-06f, -4.344021574e-06f, -4.336324599e-06f, -4.328621106e-06f, -4.320911109e-06f, -4.313194622e-06f, -4.305471660e-06f, -4.297742236e-06f, -4.290006365e-06f, -4.282264061e-06f,
+-4.274515338e-06f, -4.266760211e-06f, -4.258998693e-06f, -4.251230800e-06f, -4.243456545e-06f, -4.235675943e-06f, -4.227889008e-06f, -4.220095754e-06f, -4.212296196e-06f, -4.204490347e-06f,
+-4.196678223e-06f, -4.188859838e-06f, -4.181035206e-06f, -4.173204341e-06f, -4.165367258e-06f, -4.157523971e-06f, -4.149674494e-06f, -4.141818843e-06f, -4.133957030e-06f, -4.126089072e-06f,
+-4.118214982e-06f, -4.110334774e-06f, -4.102448464e-06f, -4.094556065e-06f, -4.086657592e-06f, -4.078753059e-06f, -4.070842482e-06f, -4.062925874e-06f, -4.055003250e-06f, -4.047074624e-06f,
+-4.039140012e-06f, -4.031199427e-06f, -4.023252883e-06f, -4.015300397e-06f, -4.007341982e-06f, -3.999377652e-06f, -3.991407422e-06f, -3.983431308e-06f, -3.975449323e-06f, -3.967461481e-06f,
+-3.959467799e-06f, -3.951468289e-06f, -3.943462968e-06f, -3.935451849e-06f, -3.927434947e-06f, -3.919412277e-06f, -3.911383853e-06f, -3.903349690e-06f, -3.895309803e-06f, -3.887264206e-06f,
+-3.879212914e-06f, -3.871155942e-06f, -3.863093305e-06f, -3.855025016e-06f, -3.846951092e-06f, -3.838871546e-06f, -3.830786393e-06f, -3.822695649e-06f, -3.814599327e-06f, -3.806497443e-06f,
+-3.798390011e-06f, -3.790277046e-06f, -3.782158563e-06f, -3.774034577e-06f, -3.765905102e-06f, -3.757770153e-06f, -3.749629746e-06f, -3.741483894e-06f, -3.733332613e-06f, -3.725175917e-06f,
+-3.717013822e-06f, -3.708846342e-06f, -3.700673491e-06f, -3.692495286e-06f, -3.684311741e-06f, -3.676122870e-06f, -3.667928688e-06f, -3.659729212e-06f, -3.651524454e-06f, -3.643314430e-06f,
+-3.635099156e-06f, -3.626878646e-06f, -3.618652914e-06f, -3.610421977e-06f, -3.602185848e-06f, -3.593944543e-06f, -3.585698077e-06f, -3.577446464e-06f, -3.569189720e-06f, -3.560927859e-06f,
+-3.552660898e-06f, -3.544388849e-06f, -3.536111730e-06f, -3.527829554e-06f, -3.519542336e-06f, -3.511250092e-06f, -3.502952837e-06f, -3.494650585e-06f, -3.486343352e-06f, -3.478031153e-06f,
+-3.469714002e-06f, -3.461391915e-06f, -3.453064908e-06f, -3.444732994e-06f, -3.436396189e-06f, -3.428054508e-06f, -3.419707966e-06f, -3.411356579e-06f, -3.403000361e-06f, -3.394639328e-06f,
+-3.386273494e-06f, -3.377902875e-06f, -3.369527486e-06f, -3.361147341e-06f, -3.352762457e-06f, -3.344372848e-06f, -3.335978530e-06f, -3.327579517e-06f, -3.319175825e-06f, -3.310767469e-06f,
+-3.302354463e-06f, -3.293936825e-06f, -3.285514567e-06f, -3.277087706e-06f, -3.268656257e-06f, -3.260220236e-06f, -3.251779656e-06f, -3.243334534e-06f, -3.234884884e-06f, -3.226430723e-06f,
+-3.217972065e-06f, -3.209508925e-06f, -3.201041319e-06f, -3.192569261e-06f, -3.184092768e-06f, -3.175611854e-06f, -3.167126535e-06f, -3.158636826e-06f, -3.150142743e-06f, -3.141644300e-06f,
+-3.133141512e-06f, -3.124634396e-06f, -3.116122966e-06f, -3.107607239e-06f, -3.099087228e-06f, -3.090562949e-06f, -3.082034418e-06f, -3.073501651e-06f, -3.064964662e-06f, -3.056423466e-06f,
+-3.047878079e-06f, -3.039328517e-06f, -3.030774795e-06f, -3.022216928e-06f, -3.013654931e-06f, -3.005088821e-06f, -2.996518611e-06f, -2.987944319e-06f, -2.979365958e-06f, -2.970783545e-06f,
+-2.962197094e-06f, -2.953606622e-06f, -2.945012143e-06f, -2.936413674e-06f, -2.927811229e-06f, -2.919204824e-06f, -2.910594474e-06f, -2.901980195e-06f, -2.893362002e-06f, -2.884739911e-06f,
+-2.876113937e-06f, -2.867484096e-06f, -2.858850402e-06f, -2.850212872e-06f, -2.841571521e-06f, -2.832926365e-06f, -2.824277418e-06f, -2.815624697e-06f, -2.806968216e-06f, -2.798307992e-06f,
+-2.789644040e-06f, -2.780976375e-06f, -2.772305012e-06f, -2.763629969e-06f, -2.754951259e-06f, -2.746268898e-06f, -2.737582902e-06f, -2.728893287e-06f, -2.720200068e-06f, -2.711503260e-06f,
+-2.702802879e-06f, -2.694098941e-06f, -2.685391460e-06f, -2.676680454e-06f, -2.667965936e-06f, -2.659247924e-06f, -2.650526432e-06f, -2.641801475e-06f, -2.633073070e-06f, -2.624341233e-06f,
+-2.615605977e-06f, -2.606867320e-06f, -2.598125277e-06f, -2.589379863e-06f, -2.580631094e-06f, -2.571878986e-06f, -2.563123554e-06f, -2.554364813e-06f, -2.545602780e-06f, -2.536837470e-06f,
+-2.528068899e-06f, -2.519297082e-06f, -2.510522034e-06f, -2.501743772e-06f, -2.492962312e-06f, -2.484177668e-06f, -2.475389856e-06f, -2.466598892e-06f, -2.457804792e-06f, -2.449007572e-06f,
+-2.440207246e-06f, -2.431403831e-06f, -2.422597342e-06f, -2.413787796e-06f, -2.404975206e-06f, -2.396159590e-06f, -2.387340963e-06f, -2.378519341e-06f, -2.369694739e-06f, -2.360867173e-06f,
+-2.352036658e-06f, -2.343203211e-06f, -2.334366847e-06f, -2.325527582e-06f, -2.316685431e-06f, -2.307840410e-06f, -2.298992535e-06f, -2.290141821e-06f, -2.281288285e-06f, -2.272431942e-06f,
+-2.263572807e-06f, -2.254710897e-06f, -2.245846227e-06f, -2.236978812e-06f, -2.228108670e-06f, -2.219235814e-06f, -2.210360261e-06f, -2.201482028e-06f, -2.192601128e-06f, -2.183717579e-06f,
+-2.174831396e-06f, -2.165942594e-06f, -2.157051190e-06f, -2.148157199e-06f, -2.139260637e-06f, -2.130361520e-06f, -2.121459863e-06f, -2.112555683e-06f, -2.103648994e-06f, -2.094739813e-06f,
+-2.085828155e-06f, -2.076914037e-06f, -2.067997474e-06f, -2.059078481e-06f, -2.050157075e-06f, -2.041233272e-06f, -2.032307086e-06f, -2.023378535e-06f, -2.014447633e-06f, -2.005514396e-06f,
+-1.996578841e-06f, -1.987640983e-06f, -1.978700837e-06f, -1.969758421e-06f, -1.960813748e-06f, -1.951866836e-06f, -1.942917700e-06f, -1.933966355e-06f, -1.925012819e-06f, -1.916057105e-06f,
+-1.907099231e-06f, -1.898139212e-06f, -1.889177064e-06f, -1.880212802e-06f, -1.871246442e-06f, -1.862278001e-06f, -1.853307494e-06f, -1.844334937e-06f, -1.835360346e-06f, -1.826383736e-06f,
+-1.817405123e-06f, -1.808424524e-06f, -1.799441953e-06f, -1.790457428e-06f, -1.781470963e-06f, -1.772482574e-06f, -1.763492278e-06f, -1.754500090e-06f, -1.745506025e-06f, -1.736510101e-06f,
+-1.727512332e-06f, -1.718512735e-06f, -1.709511324e-06f, -1.700508117e-06f, -1.691503129e-06f, -1.682496376e-06f, -1.673487873e-06f, -1.664477637e-06f, -1.655465683e-06f, -1.646452028e-06f,
+-1.637436686e-06f, -1.628419674e-06f, -1.619401008e-06f, -1.610380703e-06f, -1.601358776e-06f, -1.592335242e-06f, -1.583310117e-06f, -1.574283416e-06f, -1.565255157e-06f, -1.556225354e-06f,
+-1.547194024e-06f, -1.538161182e-06f, -1.529126845e-06f, -1.520091027e-06f, -1.511053745e-06f, -1.502015015e-06f, -1.492974853e-06f, -1.483933274e-06f, -1.474890294e-06f, -1.465845929e-06f,
+-1.456800196e-06f, -1.447753109e-06f, -1.438704685e-06f, -1.429654940e-06f, -1.420603889e-06f, -1.411551548e-06f, -1.402497933e-06f, -1.393443061e-06f, -1.384386946e-06f, -1.375329605e-06f,
+-1.366271054e-06f, -1.357211308e-06f, -1.348150384e-06f, -1.339088296e-06f, -1.330025062e-06f, -1.320960696e-06f, -1.311895215e-06f, -1.302828635e-06f, -1.293760971e-06f, -1.284692240e-06f,
+-1.275622456e-06f, -1.266551637e-06f, -1.257479797e-06f, -1.248406954e-06f, -1.239333121e-06f, -1.230258317e-06f, -1.221182555e-06f, -1.212105853e-06f, -1.203028226e-06f, -1.193949689e-06f,
+-1.184870259e-06f, -1.175789952e-06f, -1.166708783e-06f, -1.157626769e-06f, -1.148543924e-06f, -1.139460266e-06f, -1.130375809e-06f, -1.121290570e-06f, -1.112204565e-06f, -1.103117809e-06f,
+-1.094030318e-06f, -1.084942108e-06f, -1.075853195e-06f, -1.066763595e-06f, -1.057673324e-06f, -1.048582396e-06f, -1.039490830e-06f, -1.030398639e-06f, -1.021305840e-06f, -1.012212449e-06f,
+-1.003118482e-06f, -9.940239538e-07f, -9.849288813e-07f, -9.758332798e-07f, -9.667371654e-07f, -9.576405537e-07f, -9.485434607e-07f, -9.394459022e-07f, -9.303478939e-07f, -9.212494518e-07f,
+-9.121505917e-07f, -9.030513293e-07f, -8.939516805e-07f, -8.848516612e-07f, -8.757512871e-07f, -8.666505740e-07f, -8.575495379e-07f, -8.484481944e-07f, -8.393465595e-07f, -8.302446489e-07f,
+-8.211424785e-07f, -8.120400640e-07f, -8.029374212e-07f, -7.938345660e-07f, -7.847315142e-07f, -7.756282816e-07f, -7.665248840e-07f, -7.574213371e-07f, -7.483176568e-07f, -7.392138589e-07f,
+-7.301099592e-07f, -7.210059734e-07f, -7.119019174e-07f, -7.027978069e-07f, -6.936936578e-07f, -6.845894857e-07f, -6.754853066e-07f, -6.663811362e-07f, -6.572769902e-07f, -6.481728844e-07f,
+-6.390688347e-07f, -6.299648567e-07f, -6.208609663e-07f, -6.117571793e-07f, -6.026535113e-07f, -5.935499782e-07f, -5.844465957e-07f, -5.753433795e-07f, -5.662403455e-07f, -5.571375094e-07f,
+-5.480348869e-07f, -5.389324938e-07f, -5.298303459e-07f, -5.207284588e-07f, -5.116268484e-07f, -5.025255303e-07f, -4.934245204e-07f, -4.843238342e-07f, -4.752234877e-07f, -4.661234964e-07f,
+-4.570238762e-07f, -4.479246427e-07f, -4.388258117e-07f, -4.297273989e-07f, -4.206294200e-07f, -4.115318907e-07f, -4.024348268e-07f, -3.933382439e-07f, -3.842421577e-07f, -3.751465840e-07f,
+-3.660515384e-07f, -3.569570367e-07f, -3.478630945e-07f, -3.387697276e-07f, -3.296769515e-07f, -3.205847821e-07f, -3.114932349e-07f, -3.024023257e-07f, -2.933120701e-07f, -2.842224838e-07f,
+-2.751335825e-07f, -2.660453818e-07f, -2.569578975e-07f, -2.478711450e-07f, -2.387851402e-07f, -2.296998987e-07f, -2.206154361e-07f, -2.115317680e-07f, -2.024489101e-07f, -1.933668781e-07f,
+-1.842856876e-07f, -1.752053541e-07f, -1.661258934e-07f, -1.570473211e-07f, -1.479696527e-07f, -1.388929039e-07f, -1.298170903e-07f, -1.207422276e-07f, -1.116683313e-07f, -1.025954170e-07f,
+-9.352350033e-08f, -8.445259690e-08f, -7.538272228e-08f, -6.631389207e-08f, -5.724612184e-08f, -4.817942718e-08f, -3.911382367e-08f, -3.004932687e-08f, -2.098595236e-08f, -1.192371569e-08f,
+-2.862632438e-09f, 6.197281852e-09f, 1.525601163e-08f, 2.431354133e-08f, 3.336985543e-08f, 4.242493838e-08f, 5.147877464e-08f, 6.053134868e-08f, 6.958264498e-08f, 7.863264801e-08f,
+8.768134225e-08f, 9.672871219e-08f, 1.057747423e-07f, 1.148194171e-07f, 1.238627211e-07f, 1.329046388e-07f, 1.419451546e-07f, 1.509842532e-07f, 1.600219190e-07f, 1.690581365e-07f,
+1.780928903e-07f, 1.871261648e-07f, 1.961579447e-07f, 2.051882145e-07f, 2.142169587e-07f, 2.232441618e-07f, 2.322698084e-07f, 2.412938831e-07f, 2.503163704e-07f, 2.593372549e-07f,
+2.683565212e-07f, 2.773741538e-07f, 2.863901374e-07f, 2.954044564e-07f, 3.044170956e-07f, 3.134280395e-07f, 3.224372726e-07f, 3.314447797e-07f, 3.404505452e-07f, 3.494545539e-07f,
+3.584567904e-07f, 3.674572392e-07f, 3.764558850e-07f, 3.854527125e-07f, 3.944477063e-07f, 4.034408509e-07f, 4.124321312e-07f, 4.214215317e-07f, 4.304090371e-07f, 4.393946321e-07f,
+4.483783013e-07f, 4.573600294e-07f, 4.663398012e-07f, 4.753176012e-07f, 4.842934142e-07f, 4.932672249e-07f, 5.022390180e-07f, 5.112087782e-07f, 5.201764902e-07f, 5.291421387e-07f,
+5.381057085e-07f, 5.470671843e-07f, 5.560265509e-07f, 5.649837929e-07f, 5.739388951e-07f, 5.828918423e-07f, 5.918426193e-07f, 6.007912108e-07f, 6.097376015e-07f, 6.186817764e-07f,
+6.276237200e-07f, 6.365634173e-07f, 6.455008531e-07f, 6.544360120e-07f, 6.633688790e-07f, 6.722994389e-07f, 6.812276764e-07f, 6.901535765e-07f, 6.990771238e-07f, 7.079983034e-07f,
+7.169170999e-07f, 7.258334983e-07f, 7.347474834e-07f, 7.436590401e-07f, 7.525681533e-07f, 7.614748077e-07f, 7.703789884e-07f, 7.792806801e-07f, 7.881798679e-07f, 7.970765365e-07f,
+8.059706709e-07f, 8.148622560e-07f, 8.237512767e-07f, 8.326377180e-07f, 8.415215647e-07f, 8.504028019e-07f, 8.592814144e-07f, 8.681573872e-07f, 8.770307052e-07f, 8.859013535e-07f,
+8.947693170e-07f, 9.036345807e-07f, 9.124971295e-07f, 9.213569485e-07f, 9.302140226e-07f, 9.390683368e-07f, 9.479198763e-07f, 9.567686258e-07f, 9.656145706e-07f, 9.744576957e-07f,
+9.832979860e-07f, 9.921354266e-07f, 1.000970003e-06f, 1.009801699e-06f, 1.018630501e-06f, 1.027456393e-06f, 1.036279361e-06f, 1.045099390e-06f, 1.053916465e-06f, 1.062730570e-06f,
+1.071541692e-06f, 1.080349814e-06f, 1.089154923e-06f, 1.097957004e-06f, 1.106756041e-06f, 1.115552019e-06f, 1.124344924e-06f, 1.133134742e-06f, 1.141921456e-06f, 1.150705053e-06f,
+1.159485517e-06f, 1.168262834e-06f, 1.177036989e-06f, 1.185807967e-06f, 1.194575753e-06f, 1.203340333e-06f, 1.212101691e-06f, 1.220859813e-06f, 1.229614685e-06f, 1.238366291e-06f,
+1.247114617e-06f, 1.255859647e-06f, 1.264601368e-06f, 1.273339764e-06f, 1.282074822e-06f, 1.290806525e-06f, 1.299534859e-06f, 1.308259811e-06f, 1.316981364e-06f, 1.325699504e-06f,
+1.334414218e-06f, 1.343125489e-06f, 1.351833304e-06f, 1.360537647e-06f, 1.369238504e-06f, 1.377935861e-06f, 1.386629702e-06f, 1.395320014e-06f, 1.404006782e-06f, 1.412689990e-06f,
+1.421369625e-06f, 1.430045671e-06f, 1.438718115e-06f, 1.447386942e-06f, 1.456052136e-06f, 1.464713684e-06f, 1.473371572e-06f, 1.482025783e-06f, 1.490676305e-06f, 1.499323122e-06f,
+1.507966220e-06f, 1.516605585e-06f, 1.525241202e-06f, 1.533873056e-06f, 1.542501133e-06f, 1.551125418e-06f, 1.559745898e-06f, 1.568362558e-06f, 1.576975382e-06f, 1.585584357e-06f,
+1.594189469e-06f, 1.602790703e-06f, 1.611388044e-06f, 1.619981478e-06f, 1.628570991e-06f, 1.637156568e-06f, 1.645738196e-06f, 1.654315859e-06f, 1.662889543e-06f, 1.671459234e-06f,
+1.680024918e-06f, 1.688586580e-06f, 1.697144206e-06f, 1.705697782e-06f, 1.714247293e-06f, 1.722792725e-06f, 1.731334064e-06f, 1.739871295e-06f, 1.748404404e-06f, 1.756933378e-06f,
+1.765458201e-06f, 1.773978860e-06f, 1.782495340e-06f, 1.791007626e-06f, 1.799515706e-06f, 1.808019565e-06f, 1.816519187e-06f, 1.825014561e-06f, 1.833505670e-06f, 1.841992501e-06f,
+1.850475040e-06f, 1.858953272e-06f, 1.867427184e-06f, 1.875896761e-06f, 1.884361990e-06f, 1.892822855e-06f, 1.901279344e-06f, 1.909731441e-06f, 1.918179134e-06f, 1.926622407e-06f,
+1.935061246e-06f, 1.943495639e-06f, 1.951925570e-06f, 1.960351026e-06f, 1.968771992e-06f, 1.977188455e-06f, 1.985600400e-06f, 1.994007814e-06f, 2.002410683e-06f, 2.010808992e-06f,
+2.019202727e-06f, 2.027591876e-06f, 2.035976423e-06f, 2.044356355e-06f, 2.052731657e-06f, 2.061102317e-06f, 2.069468320e-06f, 2.077829651e-06f, 2.086186298e-06f, 2.094538247e-06f,
+2.102885483e-06f, 2.111227993e-06f, 2.119565762e-06f, 2.127898777e-06f, 2.136227025e-06f, 2.144550491e-06f, 2.152869161e-06f, 2.161183022e-06f, 2.169492060e-06f, 2.177796261e-06f,
+2.186095612e-06f, 2.194390098e-06f, 2.202679706e-06f, 2.210964423e-06f, 2.219244233e-06f, 2.227519125e-06f, 2.235789083e-06f, 2.244054095e-06f, 2.252314146e-06f, 2.260569223e-06f,
+2.268819313e-06f, 2.277064401e-06f, 2.285304475e-06f, 2.293539519e-06f, 2.301769522e-06f, 2.309994468e-06f, 2.318214345e-06f, 2.326429139e-06f, 2.334638836e-06f, 2.342843424e-06f,
+2.351042887e-06f, 2.359237213e-06f, 2.367426388e-06f, 2.375610399e-06f, 2.383789232e-06f, 2.391962874e-06f, 2.400131310e-06f, 2.408294529e-06f, 2.416452515e-06f, 2.424605256e-06f,
+2.432752739e-06f, 2.440894949e-06f, 2.449031874e-06f, 2.457163499e-06f, 2.465289813e-06f, 2.473410800e-06f, 2.481526448e-06f, 2.489636743e-06f, 2.497741673e-06f, 2.505841223e-06f,
+2.513935381e-06f, 2.522024132e-06f, 2.530107465e-06f, 2.538185364e-06f, 2.546257818e-06f, 2.554324813e-06f, 2.562386335e-06f, 2.570442371e-06f, 2.578492909e-06f, 2.586537934e-06f,
+2.594577434e-06f, 2.602611395e-06f, 2.610639804e-06f, 2.618662648e-06f, 2.626679914e-06f, 2.634691588e-06f, 2.642697658e-06f, 2.650698110e-06f, 2.658692932e-06f, 2.666682109e-06f,
+2.674665629e-06f, 2.682643479e-06f, 2.690615646e-06f, 2.698582116e-06f, 2.706542877e-06f, 2.714497915e-06f, 2.722447218e-06f, 2.730390772e-06f, 2.738328564e-06f, 2.746260582e-06f,
+2.754186812e-06f, 2.762107242e-06f, 2.770021858e-06f, 2.777930647e-06f, 2.785833597e-06f, 2.793730695e-06f, 2.801621927e-06f, 2.809507281e-06f, 2.817386744e-06f, 2.825260302e-06f,
+2.833127944e-06f, 2.840989656e-06f, 2.848845425e-06f, 2.856695238e-06f, 2.864539083e-06f, 2.872376947e-06f, 2.880208817e-06f, 2.888034681e-06f, 2.895854524e-06f, 2.903668335e-06f,
+2.911476102e-06f, 2.919277810e-06f, 2.927073447e-06f, 2.934863002e-06f, 2.942646460e-06f, 2.950423810e-06f, 2.958195038e-06f, 2.965960132e-06f, 2.973719079e-06f, 2.981471867e-06f,
+2.989218483e-06f, 2.996958914e-06f, 3.004693148e-06f, 3.012421172e-06f, 3.020142974e-06f, 3.027858540e-06f, 3.035567859e-06f, 3.043270918e-06f, 3.050967704e-06f, 3.058658204e-06f,
+3.066342407e-06f, 3.074020300e-06f, 3.081691870e-06f, 3.089357105e-06f, 3.097015992e-06f, 3.104668519e-06f, 3.112314674e-06f, 3.119954443e-06f, 3.127587815e-06f, 3.135214777e-06f,
+3.142835317e-06f, 3.150449423e-06f, 3.158057081e-06f, 3.165658281e-06f, 3.173253008e-06f, 3.180841252e-06f, 3.188423000e-06f, 3.195998239e-06f, 3.203566957e-06f, 3.211129142e-06f,
+3.218684782e-06f, 3.226233864e-06f, 3.233776376e-06f, 3.241312306e-06f, 3.248841642e-06f, 3.256364371e-06f, 3.263880482e-06f, 3.271389962e-06f, 3.278892799e-06f, 3.286388981e-06f,
+3.293878496e-06f, 3.301361331e-06f, 3.308837475e-06f, 3.316306916e-06f, 3.323769640e-06f, 3.331225638e-06f, 3.338674895e-06f, 3.346117401e-06f, 3.353553142e-06f, 3.360982108e-06f,
+3.368404287e-06f, 3.375819665e-06f, 3.383228232e-06f, 3.390629975e-06f, 3.398024882e-06f, 3.405412942e-06f, 3.412794142e-06f, 3.420168471e-06f, 3.427535917e-06f, 3.434896467e-06f,
+3.442250111e-06f, 3.449596835e-06f, 3.456936629e-06f, 3.464269481e-06f, 3.471595378e-06f, 3.478914308e-06f, 3.486226261e-06f, 3.493531225e-06f, 3.500829187e-06f, 3.508120135e-06f,
+3.515404059e-06f, 3.522680946e-06f, 3.529950785e-06f, 3.537213564e-06f, 3.544469272e-06f, 3.551717895e-06f, 3.558959424e-06f, 3.566193847e-06f, 3.573421151e-06f, 3.580641325e-06f,
+3.587854358e-06f, 3.595060238e-06f, 3.602258954e-06f, 3.609450493e-06f, 3.616634845e-06f, 3.623811998e-06f, 3.630981940e-06f, 3.638144660e-06f, 3.645300146e-06f, 3.652448387e-06f,
+3.659589372e-06f, 3.666723089e-06f, 3.673849526e-06f, 3.680968673e-06f, 3.688080517e-06f, 3.695185048e-06f, 3.702282254e-06f, 3.709372124e-06f, 3.716454646e-06f, 3.723529810e-06f,
+3.730597603e-06f, 3.737658014e-06f, 3.744711033e-06f, 3.751756648e-06f, 3.758794847e-06f, 3.765825620e-06f, 3.772848955e-06f, 3.779864841e-06f, 3.786873267e-06f, 3.793874222e-06f,
+3.800867694e-06f, 3.807853672e-06f, 3.814832146e-06f, 3.821803104e-06f, 3.828766535e-06f, 3.835722427e-06f, 3.842670771e-06f, 3.849611554e-06f, 3.856544766e-06f, 3.863470396e-06f,
+3.870388432e-06f, 3.877298864e-06f, 3.884201681e-06f, 3.891096871e-06f, 3.897984424e-06f, 3.904864329e-06f, 3.911736575e-06f, 3.918601151e-06f, 3.925458045e-06f, 3.932307248e-06f,
+3.939148748e-06f, 3.945982535e-06f, 3.952808597e-06f, 3.959626924e-06f, 3.966437505e-06f, 3.973240329e-06f, 3.980035385e-06f, 3.986822663e-06f, 3.993602152e-06f, 4.000373841e-06f,
+4.007137719e-06f, 4.013893776e-06f, 4.020642001e-06f, 4.027382383e-06f, 4.034114912e-06f, 4.040839577e-06f, 4.047556367e-06f, 4.054265272e-06f, 4.060966281e-06f, 4.067659384e-06f,
+4.074344570e-06f, 4.081021828e-06f, 4.087691148e-06f, 4.094352519e-06f, 4.101005931e-06f, 4.107651373e-06f, 4.114288836e-06f, 4.120918307e-06f, 4.127539778e-06f, 4.134153237e-06f,
+4.140758674e-06f, 4.147356079e-06f, 4.153945441e-06f, 4.160526751e-06f, 4.167099996e-06f, 4.173665168e-06f, 4.180222256e-06f, 4.186771249e-06f, 4.193312137e-06f, 4.199844911e-06f,
+4.206369559e-06f, 4.212886072e-06f, 4.219394439e-06f, 4.225894650e-06f, 4.232386694e-06f, 4.238870562e-06f, 4.245346244e-06f, 4.251813729e-06f, 4.258273007e-06f, 4.264724068e-06f,
+4.271166902e-06f, 4.277601499e-06f, 4.284027849e-06f, 4.290445941e-06f, 4.296855765e-06f, 4.303257313e-06f, 4.309650572e-06f, 4.316035535e-06f, 4.322412190e-06f, 4.328780527e-06f,
+4.335140537e-06f, 4.341492210e-06f, 4.347835535e-06f, 4.354170504e-06f, 4.360497105e-06f, 4.366815329e-06f, 4.373125167e-06f, 4.379426608e-06f, 4.385719642e-06f, 4.392004260e-06f,
+4.398280453e-06f, 4.404548209e-06f, 4.410807519e-06f, 4.417058375e-06f, 4.423300765e-06f, 4.429534680e-06f, 4.435760111e-06f, 4.441977047e-06f, 4.448185480e-06f, 4.454385399e-06f,
+4.460576795e-06f, 4.466759658e-06f, 4.472933979e-06f, 4.479099748e-06f, 4.485256955e-06f, 4.491405591e-06f, 4.497545646e-06f, 4.503677111e-06f, 4.509799977e-06f, 4.515914233e-06f,
+4.522019871e-06f, 4.528116880e-06f, 4.534205252e-06f, 4.540284977e-06f, 4.546356045e-06f, 4.552418448e-06f, 4.558472175e-06f, 4.564517218e-06f, 4.570553567e-06f, 4.576581212e-06f,
+4.582600145e-06f, 4.588610356e-06f, 4.594611836e-06f, 4.600604576e-06f, 4.606588566e-06f, 4.612563797e-06f, 4.618530260e-06f, 4.624487946e-06f, 4.630436845e-06f, 4.636376948e-06f,
+4.642308247e-06f, 4.648230732e-06f, 4.654144393e-06f, 4.660049223e-06f, 4.665945211e-06f, 4.671832349e-06f, 4.677710627e-06f, 4.683580037e-06f, 4.689440570e-06f, 4.695292216e-06f,
+4.701134967e-06f, 4.706968814e-06f, 4.712793747e-06f, 4.718609758e-06f, 4.724416837e-06f, 4.730214977e-06f, 4.736004167e-06f, 4.741784400e-06f, 4.747555666e-06f, 4.753317956e-06f,
+4.759071262e-06f, 4.764815575e-06f, 4.770550886e-06f, 4.776277187e-06f, 4.781994467e-06f, 4.787702720e-06f, 4.793401936e-06f, 4.799092106e-06f, 4.804773221e-06f, 4.810445274e-06f,
+4.816108255e-06f, 4.821762156e-06f, 4.827406968e-06f, 4.833042682e-06f, 4.838669291e-06f, 4.844286784e-06f, 4.849895155e-06f, 4.855494394e-06f, 4.861084493e-06f, 4.866665442e-06f,
+4.872237235e-06f, 4.877799862e-06f, 4.883353315e-06f, 4.888897585e-06f, 4.894432664e-06f, 4.899958544e-06f, 4.905475217e-06f, 4.910982673e-06f, 4.916480904e-06f, 4.921969903e-06f,
+4.927449661e-06f, 4.932920169e-06f, 4.938381420e-06f, 4.943833404e-06f, 4.949276115e-06f, 4.954709543e-06f, 4.960133681e-06f, 4.965548519e-06f, 4.970954051e-06f, 4.976350268e-06f,
+4.981737161e-06f, 4.987114723e-06f, 4.992482945e-06f, 4.997841820e-06f, 5.003191339e-06f, 5.008531495e-06f, 5.013862278e-06f, 5.019183682e-06f, 5.024495698e-06f, 5.029798319e-06f,
+5.035091535e-06f, 5.040375340e-06f, 5.045649726e-06f, 5.050914683e-06f, 5.056170206e-06f, 5.061416285e-06f, 5.066652913e-06f, 5.071880082e-06f, 5.077097784e-06f, 5.082306011e-06f,
+5.087504756e-06f, 5.092694011e-06f, 5.097873768e-06f, 5.103044019e-06f, 5.108204757e-06f, 5.113355973e-06f, 5.118497661e-06f, 5.123629812e-06f, 5.128752419e-06f, 5.133865474e-06f,
+5.138968970e-06f, 5.144062898e-06f, 5.149147253e-06f, 5.154222025e-06f, 5.159287207e-06f, 5.164342792e-06f, 5.169388772e-06f, 5.174425140e-06f, 5.179451889e-06f, 5.184469010e-06f,
+5.189476496e-06f, 5.194474341e-06f, 5.199462536e-06f, 5.204441074e-06f, 5.209409948e-06f, 5.214369150e-06f, 5.219318673e-06f, 5.224258511e-06f, 5.229188654e-06f, 5.234109097e-06f,
+5.239019832e-06f, 5.243920852e-06f, 5.248812149e-06f, 5.253693716e-06f, 5.258565546e-06f, 5.263427632e-06f, 5.268279967e-06f, 5.273122543e-06f, 5.277955354e-06f, 5.282778392e-06f,
+5.287591651e-06f, 5.292395123e-06f, 5.297188800e-06f, 5.301972677e-06f, 5.306746746e-06f, 5.311511001e-06f, 5.316265433e-06f, 5.321010036e-06f, 5.325744804e-06f, 5.330469729e-06f,
+5.335184804e-06f, 5.339890023e-06f, 5.344585378e-06f, 5.349270863e-06f, 5.353946472e-06f, 5.358612196e-06f, 5.363268029e-06f, 5.367913966e-06f, 5.372549997e-06f, 5.377176118e-06f,
+5.381792322e-06f, 5.386398600e-06f, 5.390994948e-06f, 5.395581358e-06f, 5.400157824e-06f, 5.404724338e-06f, 5.409280895e-06f, 5.413827488e-06f, 5.418364109e-06f, 5.422890754e-06f,
+5.427407414e-06f, 5.431914084e-06f, 5.436410757e-06f, 5.440897426e-06f, 5.445374085e-06f, 5.449840728e-06f, 5.454297348e-06f, 5.458743939e-06f, 5.463180494e-06f, 5.467607007e-06f,
+5.472023472e-06f, 5.476429882e-06f, 5.480826231e-06f, 5.485212512e-06f, 5.489588720e-06f, 5.493954848e-06f, 5.498310890e-06f, 5.502656839e-06f, 5.506992689e-06f, 5.511318435e-06f,
+5.515634069e-06f, 5.519939587e-06f, 5.524234981e-06f, 5.528520245e-06f, 5.532795374e-06f, 5.537060361e-06f, 5.541315201e-06f, 5.545559887e-06f, 5.549794412e-06f, 5.554018773e-06f,
+5.558232961e-06f, 5.562436971e-06f, 5.566630798e-06f, 5.570814435e-06f, 5.574987876e-06f, 5.579151116e-06f, 5.583304148e-06f, 5.587446967e-06f, 5.591579567e-06f, 5.595701942e-06f,
+5.599814086e-06f, 5.603915993e-06f, 5.608007659e-06f, 5.612089076e-06f, 5.616160239e-06f, 5.620221142e-06f, 5.624271781e-06f, 5.628312148e-06f, 5.632342239e-06f, 5.636362047e-06f,
+5.640371568e-06f, 5.644370795e-06f, 5.648359723e-06f, 5.652338347e-06f, 5.656306660e-06f, 5.660264657e-06f, 5.664212333e-06f, 5.668149683e-06f, 5.672076700e-06f, 5.675993379e-06f,
+5.679899716e-06f, 5.683795703e-06f, 5.687681337e-06f, 5.691556612e-06f, 5.695421522e-06f, 5.699276061e-06f, 5.703120226e-06f, 5.706954009e-06f, 5.710777407e-06f, 5.714590414e-06f,
+5.718393023e-06f, 5.722185232e-06f, 5.725967033e-06f, 5.729738422e-06f, 5.733499394e-06f, 5.737249943e-06f, 5.740990064e-06f, 5.744719753e-06f, 5.748439004e-06f, 5.752147812e-06f,
+5.755846172e-06f, 5.759534079e-06f, 5.763211528e-06f, 5.766878514e-06f, 5.770535031e-06f, 5.774181076e-06f, 5.777816643e-06f, 5.781441726e-06f, 5.785056322e-06f, 5.788660425e-06f,
+5.792254030e-06f, 5.795837133e-06f, 5.799409729e-06f, 5.802971812e-06f, 5.806523378e-06f, 5.810064423e-06f, 5.813594941e-06f, 5.817114928e-06f, 5.820624379e-06f, 5.824123289e-06f,
+5.827611654e-06f, 5.831089469e-06f, 5.834556729e-06f, 5.838013429e-06f, 5.841459566e-06f, 5.844895134e-06f, 5.848320129e-06f, 5.851734547e-06f, 5.855138382e-06f, 5.858531630e-06f,
+5.861914288e-06f, 5.865286349e-06f, 5.868647810e-06f, 5.871998667e-06f, 5.875338915e-06f, 5.878668549e-06f, 5.881987565e-06f, 5.885295959e-06f, 5.888593727e-06f, 5.891880864e-06f,
+5.895157365e-06f, 5.898423227e-06f, 5.901678445e-06f, 5.904923016e-06f, 5.908156934e-06f, 5.911380195e-06f, 5.914592796e-06f, 5.917794732e-06f, 5.920985999e-06f, 5.924166593e-06f,
+5.927336510e-06f, 5.930495745e-06f, 5.933644295e-06f, 5.936782156e-06f, 5.939909322e-06f, 5.943025792e-06f, 5.946131560e-06f, 5.949226622e-06f, 5.952310974e-06f, 5.955384614e-06f,
+5.958447536e-06f, 5.961499736e-06f, 5.964541211e-06f, 5.967571958e-06f, 5.970591971e-06f, 5.973601248e-06f, 5.976599784e-06f, 5.979587575e-06f, 5.982564619e-06f, 5.985530910e-06f,
+5.988486446e-06f, 5.991431223e-06f, 5.994365236e-06f, 5.997288483e-06f, 6.000200960e-06f, 6.003102662e-06f, 6.005993587e-06f, 6.008873730e-06f, 6.011743089e-06f, 6.014601659e-06f,
+6.017449437e-06f, 6.020286420e-06f, 6.023112603e-06f, 6.025927985e-06f, 6.028732560e-06f, 6.031526326e-06f, 6.034309279e-06f, 6.037081416e-06f, 6.039842733e-06f, 6.042593227e-06f,
+6.045332895e-06f, 6.048061733e-06f, 6.050779738e-06f, 6.053486907e-06f, 6.056183236e-06f, 6.058868722e-06f, 6.061543362e-06f, 6.064207153e-06f, 6.066860092e-06f, 6.069502174e-06f,
+6.072133398e-06f, 6.074753760e-06f, 6.077363257e-06f, 6.079961885e-06f, 6.082549642e-06f, 6.085126525e-06f, 6.087692531e-06f, 6.090247656e-06f, 6.092791897e-06f, 6.095325252e-06f,
+6.097847718e-06f, 6.100359291e-06f, 6.102859969e-06f, 6.105349749e-06f, 6.107828628e-06f, 6.110296602e-06f, 6.112753670e-06f, 6.115199828e-06f, 6.117635074e-06f, 6.120059405e-06f,
+6.122472817e-06f, 6.124875309e-06f, 6.127266877e-06f, 6.129647519e-06f, 6.132017232e-06f, 6.134376013e-06f, 6.136723860e-06f, 6.139060770e-06f, 6.141386740e-06f, 6.143701769e-06f,
+6.146005852e-06f, 6.148298988e-06f, 6.150581175e-06f, 6.152852409e-06f, 6.155112688e-06f, 6.157362010e-06f, 6.159600372e-06f, 6.161827771e-06f, 6.164044206e-06f, 6.166249674e-06f,
+6.168444172e-06f, 6.170627698e-06f, 6.172800251e-06f, 6.174961826e-06f, 6.177112423e-06f, 6.179252038e-06f, 6.181380670e-06f, 6.183498317e-06f, 6.185604975e-06f, 6.187700643e-06f,
+6.189785319e-06f, 6.191859001e-06f, 6.193921685e-06f, 6.195973371e-06f, 6.198014056e-06f, 6.200043738e-06f, 6.202062414e-06f, 6.204070084e-06f, 6.206066744e-06f, 6.208052393e-06f,
+6.210027029e-06f, 6.211990650e-06f, 6.213943253e-06f, 6.215884837e-06f, 6.217815400e-06f, 6.219734941e-06f, 6.221643456e-06f, 6.223540945e-06f, 6.225427405e-06f, 6.227302834e-06f,
+6.229167231e-06f, 6.231020595e-06f, 6.232862922e-06f, 6.234694213e-06f, 6.236514463e-06f, 6.238323673e-06f, 6.240121840e-06f, 6.241908963e-06f, 6.243685040e-06f, 6.245450069e-06f,
+6.247204049e-06f, 6.248946978e-06f, 6.250678855e-06f, 6.252399678e-06f, 6.254109445e-06f, 6.255808155e-06f, 6.257495807e-06f, 6.259172398e-06f, 6.260837928e-06f, 6.262492396e-06f,
+6.264135799e-06f, 6.265768136e-06f, 6.267389406e-06f, 6.268999608e-06f, 6.270598739e-06f, 6.272186800e-06f, 6.273763788e-06f, 6.275329703e-06f, 6.276884542e-06f, 6.278428305e-06f,
+6.279960991e-06f, 6.281482598e-06f, 6.282993125e-06f, 6.284492571e-06f, 6.285980935e-06f, 6.287458215e-06f, 6.288924411e-06f, 6.290379522e-06f, 6.291823546e-06f, 6.293256482e-06f,
+6.294678330e-06f, 6.296089087e-06f, 6.297488755e-06f, 6.298877330e-06f, 6.300254813e-06f, 6.301621202e-06f, 6.302976497e-06f, 6.304320696e-06f, 6.305653799e-06f, 6.306975805e-06f,
+6.308286713e-06f, 6.309586522e-06f, 6.310875232e-06f, 6.312152841e-06f, 6.313419349e-06f, 6.314674755e-06f, 6.315919059e-06f, 6.317152259e-06f, 6.318374355e-06f, 6.319585347e-06f,
+6.320785233e-06f, 6.321974014e-06f, 6.323151687e-06f, 6.324318254e-06f, 6.325473713e-06f, 6.326618064e-06f, 6.327751305e-06f, 6.328873438e-06f, 6.329984461e-06f, 6.331084373e-06f,
+6.332173175e-06f, 6.333250866e-06f, 6.334317445e-06f, 6.335372912e-06f, 6.336417267e-06f, 6.337450509e-06f, 6.338472638e-06f, 6.339483653e-06f, 6.340483555e-06f, 6.341472344e-06f,
+6.342450017e-06f, 6.343416577e-06f, 6.344372022e-06f, 6.345316352e-06f, 6.346249567e-06f, 6.347171666e-06f, 6.348082651e-06f, 6.348982520e-06f, 6.349871273e-06f, 6.350748911e-06f,
+6.351615432e-06f, 6.352470839e-06f, 6.353315129e-06f, 6.354148303e-06f, 6.354970362e-06f, 6.355781305e-06f, 6.356581132e-06f, 6.357369844e-06f, 6.358147440e-06f, 6.358913920e-06f,
+6.359669285e-06f, 6.360413535e-06f, 6.361146670e-06f, 6.361868690e-06f, 6.362579595e-06f, 6.363279386e-06f, 6.363968063e-06f, 6.364645626e-06f, 6.365312075e-06f, 6.365967411e-06f,
+6.366611634e-06f, 6.367244744e-06f, 6.367866742e-06f, 6.368477628e-06f, 6.369077402e-06f, 6.369666065e-06f, 6.370243617e-06f, 6.370810059e-06f, 6.371365392e-06f, 6.371909615e-06f,
+6.372442729e-06f, 6.372964735e-06f, 6.373475633e-06f, 6.373975424e-06f, 6.374464109e-06f, 6.374941687e-06f, 6.375408161e-06f, 6.375863529e-06f, 6.376307794e-06f, 6.376740955e-06f,
+6.377163013e-06f, 6.377573970e-06f, 6.377973826e-06f, 6.378362581e-06f, 6.378740236e-06f, 6.379106793e-06f, 6.379462251e-06f, 6.379806613e-06f, 6.380139878e-06f, 6.380462047e-06f,
+6.380773123e-06f, 6.381073104e-06f, 6.381361993e-06f, 6.381639790e-06f, 6.381906496e-06f, 6.382162112e-06f, 6.382406640e-06f, 6.382640079e-06f, 6.382862432e-06f, 6.383073700e-06f,
+6.383273883e-06f, 6.383462982e-06f, 6.383640999e-06f, 6.383807935e-06f, 6.383963790e-06f, 6.384108567e-06f, 6.384242267e-06f, 6.384364889e-06f, 6.384476437e-06f, 6.384576911e-06f,
+6.384666312e-06f, 6.384744641e-06f, 6.384811901e-06f, 6.384868091e-06f, 6.384913215e-06f, 6.384947272e-06f, 6.384970265e-06f, 6.384982194e-06f, 6.384983062e-06f, 6.384972870e-06f,
+6.384951618e-06f, 6.384919309e-06f, 6.384875945e-06f, 6.384821525e-06f, 6.384756053e-06f, 6.384679530e-06f, 6.384591957e-06f, 6.384493336e-06f, 6.384383669e-06f, 6.384262957e-06f,
+6.384131201e-06f, 6.383988404e-06f, 6.383834568e-06f, 6.383669693e-06f, 6.383493781e-06f, 6.383306836e-06f, 6.383108857e-06f, 6.382899847e-06f, 6.382679808e-06f, 6.382448742e-06f,
+6.382206650e-06f, 6.381953534e-06f, 6.381689397e-06f, 6.381414239e-06f, 6.381128064e-06f, 6.380830872e-06f, 6.380522666e-06f, 6.380203448e-06f, 6.379873220e-06f, 6.379531984e-06f,
+6.379179742e-06f, 6.378816496e-06f, 6.378442248e-06f, 6.378056999e-06f, 6.377660753e-06f, 6.377253512e-06f, 6.376835277e-06f, 6.376406050e-06f, 6.375965835e-06f, 6.375514632e-06f,
+6.375052445e-06f, 6.374579275e-06f, 6.374095125e-06f, 6.373599997e-06f, 6.373093894e-06f, 6.372576817e-06f, 6.372048769e-06f, 6.371509752e-06f, 6.370959769e-06f, 6.370398822e-06f,
+6.369826914e-06f, 6.369244046e-06f, 6.368650222e-06f, 6.368045444e-06f, 6.367429714e-06f, 6.366803035e-06f, 6.366165409e-06f, 6.365516839e-06f, 6.364857328e-06f, 6.364186878e-06f,
+6.363505491e-06f, 6.362813170e-06f, 6.362109919e-06f, 6.361395739e-06f, 6.360670633e-06f, 6.359934604e-06f, 6.359187654e-06f, 6.358429787e-06f, 6.357661005e-06f, 6.356881310e-06f,
+6.356090707e-06f, 6.355289196e-06f, 6.354476782e-06f, 6.353653467e-06f, 6.352819254e-06f, 6.351974145e-06f, 6.351118144e-06f, 6.350251254e-06f, 6.349373477e-06f, 6.348484817e-06f,
+6.347585276e-06f, 6.346674858e-06f, 6.345753565e-06f, 6.344821400e-06f, 6.343878367e-06f, 6.342924469e-06f, 6.341959708e-06f, 6.340984087e-06f, 6.339997611e-06f, 6.339000281e-06f,
+6.337992102e-06f, 6.336973076e-06f, 6.335943206e-06f, 6.334902496e-06f, 6.333850949e-06f, 6.332788568e-06f, 6.331715356e-06f, 6.330631317e-06f, 6.329536454e-06f, 6.328430770e-06f,
+6.327314269e-06f, 6.326186954e-06f, 6.325048828e-06f, 6.323899895e-06f, 6.322740158e-06f, 6.321569621e-06f, 6.320388286e-06f, 6.319196158e-06f, 6.317993240e-06f, 6.316779536e-06f,
+6.315555048e-06f, 6.314319781e-06f, 6.313073738e-06f, 6.311816923e-06f, 6.310549339e-06f, 6.309270989e-06f, 6.307981879e-06f, 6.306682010e-06f, 6.305371387e-06f, 6.304050013e-06f,
+6.302717893e-06f, 6.301375030e-06f, 6.300021427e-06f, 6.298657088e-06f, 6.297282018e-06f, 6.295896219e-06f, 6.294499696e-06f, 6.293092453e-06f, 6.291674493e-06f, 6.290245821e-06f,
+6.288806439e-06f, 6.287356353e-06f, 6.285895565e-06f, 6.284424081e-06f, 6.282941903e-06f, 6.281449036e-06f, 6.279945484e-06f, 6.278431250e-06f, 6.276906340e-06f, 6.275370756e-06f,
+6.273824504e-06f, 6.272267586e-06f, 6.270700007e-06f, 6.269121772e-06f, 6.267532884e-06f, 6.265933348e-06f, 6.264323167e-06f, 6.262702346e-06f, 6.261070889e-06f, 6.259428800e-06f,
+6.257776084e-06f, 6.256112745e-06f, 6.254438787e-06f, 6.252754214e-06f, 6.251059031e-06f, 6.249353242e-06f, 6.247636851e-06f, 6.245909863e-06f, 6.244172282e-06f, 6.242424113e-06f,
+6.240665359e-06f, 6.238896026e-06f, 6.237116117e-06f, 6.235325638e-06f, 6.233524593e-06f, 6.231712986e-06f, 6.229890822e-06f, 6.228058105e-06f, 6.226214840e-06f, 6.224361031e-06f,
+6.222496684e-06f, 6.220621802e-06f, 6.218736390e-06f, 6.216840454e-06f, 6.214933997e-06f, 6.213017025e-06f, 6.211089541e-06f, 6.209151551e-06f, 6.207203060e-06f, 6.205244072e-06f,
+6.203274592e-06f, 6.201294625e-06f, 6.199304175e-06f, 6.197303248e-06f, 6.195291848e-06f, 6.193269980e-06f, 6.191237650e-06f, 6.189194861e-06f, 6.187141619e-06f, 6.185077929e-06f,
+6.183003795e-06f, 6.180919223e-06f, 6.178824218e-06f, 6.176718784e-06f, 6.174602927e-06f, 6.172476652e-06f, 6.170339964e-06f, 6.168192867e-06f, 6.166035367e-06f, 6.163867469e-06f,
+6.161689179e-06f, 6.159500500e-06f, 6.157301439e-06f, 6.155092001e-06f, 6.152872190e-06f, 6.150642013e-06f, 6.148401474e-06f, 6.146150578e-06f, 6.143889331e-06f, 6.141617738e-06f,
+6.139335804e-06f, 6.137043535e-06f, 6.134740935e-06f, 6.132428011e-06f, 6.130104768e-06f, 6.127771211e-06f, 6.125427345e-06f, 6.123073176e-06f, 6.120708709e-06f, 6.118333950e-06f,
+6.115948904e-06f, 6.113553577e-06f, 6.111147974e-06f, 6.108732101e-06f, 6.106305963e-06f, 6.103869566e-06f, 6.101422915e-06f, 6.098966016e-06f, 6.096498875e-06f, 6.094021497e-06f,
+6.091533887e-06f, 6.089036053e-06f, 6.086527998e-06f, 6.084009729e-06f, 6.081481251e-06f, 6.078942571e-06f, 6.076393694e-06f, 6.073834625e-06f, 6.071265371e-06f, 6.068685938e-06f,
+6.066096330e-06f, 6.063496555e-06f, 6.060886617e-06f, 6.058266523e-06f, 6.055636278e-06f, 6.052995889e-06f, 6.050345361e-06f, 6.047684700e-06f, 6.045013913e-06f, 6.042333004e-06f,
+6.039641981e-06f, 6.036940849e-06f, 6.034229613e-06f, 6.031508282e-06f, 6.028776859e-06f, 6.026035351e-06f, 6.023283765e-06f, 6.020522106e-06f, 6.017750381e-06f, 6.014968595e-06f,
+6.012176755e-06f, 6.009374867e-06f, 6.006562937e-06f, 6.003740972e-06f, 6.000908977e-06f, 5.998066959e-06f, 5.995214923e-06f, 5.992352877e-06f, 5.989480827e-06f, 5.986598778e-06f,
+5.983706738e-06f, 5.980804711e-06f, 5.977892706e-06f, 5.974970728e-06f, 5.972038783e-06f, 5.969096878e-06f, 5.966145020e-06f, 5.963183214e-06f, 5.960211468e-06f, 5.957229787e-06f,
+5.954238178e-06f, 5.951236648e-06f, 5.948225203e-06f, 5.945203849e-06f, 5.942172594e-06f, 5.939131443e-06f, 5.936080404e-06f, 5.933019482e-06f, 5.929948685e-06f, 5.926868020e-06f,
+5.923777491e-06f, 5.920677108e-06f, 5.917566875e-06f, 5.914446800e-06f, 5.911316889e-06f, 5.908177150e-06f, 5.905027588e-06f, 5.901868212e-06f, 5.898699026e-06f, 5.895520039e-06f,
+5.892331256e-06f, 5.889132686e-06f, 5.885924334e-06f, 5.882706208e-06f, 5.879478314e-06f, 5.876240659e-06f, 5.872993250e-06f, 5.869736094e-06f, 5.866469198e-06f, 5.863192569e-06f,
+5.859906214e-06f, 5.856610140e-06f, 5.853304353e-06f, 5.849988862e-06f, 5.846663672e-06f, 5.843328791e-06f, 5.839984226e-06f, 5.836629984e-06f, 5.833266071e-06f, 5.829892497e-06f,
+5.826509266e-06f, 5.823116387e-06f, 5.819713866e-06f, 5.816301712e-06f, 5.812879930e-06f, 5.809448528e-06f, 5.806007513e-06f, 5.802556893e-06f, 5.799096675e-06f, 5.795626866e-06f,
+5.792147473e-06f, 5.788658504e-06f, 5.785159966e-06f, 5.781651866e-06f, 5.778134212e-06f, 5.774607010e-06f, 5.771070269e-06f, 5.767523996e-06f, 5.763968197e-06f, 5.760402881e-06f,
+5.756828055e-06f, 5.753243727e-06f, 5.749649903e-06f, 5.746046592e-06f, 5.742433800e-06f, 5.738811536e-06f, 5.735179806e-06f, 5.731538619e-06f, 5.727887982e-06f, 5.724227902e-06f,
+5.720558388e-06f, 5.716879446e-06f, 5.713191084e-06f, 5.709493311e-06f, 5.705786133e-06f, 5.702069558e-06f, 5.698343594e-06f, 5.694608248e-06f, 5.690863529e-06f, 5.687109444e-06f,
+5.683346001e-06f, 5.679573208e-06f, 5.675791071e-06f, 5.671999600e-06f, 5.668198802e-06f, 5.664388684e-06f, 5.660569255e-06f, 5.656740522e-06f, 5.652902493e-06f, 5.649055177e-06f,
+5.645198580e-06f, 5.641332712e-06f, 5.637457579e-06f, 5.633573190e-06f, 5.629679552e-06f, 5.625776675e-06f, 5.621864565e-06f, 5.617943230e-06f, 5.614012679e-06f, 5.610072920e-06f,
+5.606123961e-06f, 5.602165809e-06f, 5.598198474e-06f, 5.594221962e-06f, 5.590236282e-06f, 5.586241442e-06f, 5.582237451e-06f, 5.578224316e-06f, 5.574202045e-06f, 5.570170647e-06f,
+5.566130130e-06f, 5.562080503e-06f, 5.558021772e-06f, 5.553953947e-06f, 5.549877036e-06f, 5.545791047e-06f, 5.541695989e-06f, 5.537591869e-06f, 5.533478696e-06f, 5.529356478e-06f,
+5.525225224e-06f, 5.521084942e-06f, 5.516935640e-06f, 5.512777327e-06f, 5.508610011e-06f, 5.504433700e-06f, 5.500248404e-06f, 5.496054129e-06f, 5.491850886e-06f, 5.487638682e-06f,
+5.483417525e-06f, 5.479187425e-06f, 5.474948390e-06f, 5.470700427e-06f, 5.466443547e-06f, 5.462177757e-06f, 5.457903066e-06f, 5.453619482e-06f, 5.449327015e-06f, 5.445025672e-06f,
+5.440715462e-06f, 5.436396395e-06f, 5.432068478e-06f, 5.427731720e-06f, 5.423386131e-06f, 5.419031718e-06f, 5.414668490e-06f, 5.410296457e-06f, 5.405915626e-06f, 5.401526007e-06f,
+5.397127608e-06f, 5.392720438e-06f, 5.388304507e-06f, 5.383879822e-06f, 5.379446392e-06f, 5.375004227e-06f, 5.370553335e-06f, 5.366093725e-06f, 5.361625407e-06f, 5.357148388e-06f,
+5.352662677e-06f, 5.348168285e-06f, 5.343665219e-06f, 5.339153488e-06f, 5.334633103e-06f, 5.330104070e-06f, 5.325566400e-06f, 5.321020102e-06f, 5.316465184e-06f, 5.311901655e-06f,
+5.307329526e-06f, 5.302748803e-06f, 5.298159498e-06f, 5.293561618e-06f, 5.288955173e-06f, 5.284340172e-06f, 5.279716624e-06f, 5.275084539e-06f, 5.270443925e-06f, 5.265794791e-06f,
+5.261137147e-06f, 5.256471002e-06f, 5.251796366e-06f, 5.247113246e-06f, 5.242421653e-06f, 5.237721596e-06f, 5.233013085e-06f, 5.228296127e-06f, 5.223570733e-06f, 5.218836913e-06f,
+5.214094674e-06f, 5.209344027e-06f, 5.204584981e-06f, 5.199817545e-06f, 5.195041729e-06f, 5.190257543e-06f, 5.185464994e-06f, 5.180664093e-06f, 5.175854850e-06f, 5.171037273e-06f,
+5.166211373e-06f, 5.161377158e-06f, 5.156534638e-06f, 5.151683823e-06f, 5.146824722e-06f, 5.141957344e-06f, 5.137081700e-06f, 5.132197798e-06f, 5.127305648e-06f, 5.122405261e-06f,
+5.117496644e-06f, 5.112579809e-06f, 5.107654764e-06f, 5.102721519e-06f, 5.097780084e-06f, 5.092830468e-06f, 5.087872682e-06f, 5.082906734e-06f, 5.077932635e-06f, 5.072950394e-06f,
+5.067960021e-06f, 5.062961525e-06f, 5.057954917e-06f, 5.052940205e-06f, 5.047917401e-06f, 5.042886513e-06f, 5.037847551e-06f, 5.032800526e-06f, 5.027745446e-06f, 5.022682322e-06f,
+5.017611164e-06f, 5.012531982e-06f, 5.007444784e-06f, 5.002349582e-06f, 4.997246385e-06f, 4.992135203e-06f, 4.987016046e-06f, 4.981888924e-06f, 4.976753847e-06f, 4.971610824e-06f,
+4.966459866e-06f, 4.961300982e-06f, 4.956134183e-06f, 4.950959479e-06f, 4.945776880e-06f, 4.940586395e-06f, 4.935388034e-06f, 4.930181809e-06f, 4.924967728e-06f, 4.919745802e-06f,
+4.914516042e-06f, 4.909278456e-06f, 4.904033055e-06f, 4.898779850e-06f, 4.893518850e-06f, 4.888250065e-06f, 4.882973507e-06f, 4.877689184e-06f, 4.872397107e-06f, 4.867097287e-06f,
+4.861789733e-06f, 4.856474456e-06f, 4.851151465e-06f, 4.845820772e-06f, 4.840482386e-06f, 4.835136318e-06f, 4.829782578e-06f, 4.824421176e-06f, 4.819052123e-06f, 4.813675429e-06f,
+4.808291104e-06f, 4.802899158e-06f, 4.797499602e-06f, 4.792092446e-06f, 4.786677701e-06f, 4.781255378e-06f, 4.775825485e-06f, 4.770388034e-06f, 4.764943036e-06f, 4.759490500e-06f,
+4.754030437e-06f, 4.748562858e-06f, 4.743087773e-06f, 4.737605192e-06f, 4.732115127e-06f, 4.726617586e-06f, 4.721112582e-06f, 4.715600125e-06f, 4.710080224e-06f, 4.704552891e-06f,
+4.699018137e-06f, 4.693475971e-06f, 4.687926404e-06f, 4.682369447e-06f, 4.676805111e-06f, 4.671233406e-06f, 4.665654343e-06f, 4.660067932e-06f, 4.654474185e-06f, 4.648873111e-06f,
+4.643264721e-06f, 4.637649027e-06f, 4.632026038e-06f, 4.626395766e-06f, 4.620758221e-06f, 4.615113414e-06f, 4.609461356e-06f, 4.603802057e-06f, 4.598135528e-06f, 4.592461781e-06f,
+4.586780825e-06f, 4.581092672e-06f, 4.575397332e-06f, 4.569694816e-06f, 4.563985135e-06f, 4.558268300e-06f, 4.552544322e-06f, 4.546813212e-06f, 4.541074980e-06f, 4.535329637e-06f,
+4.529577194e-06f, 4.523817663e-06f, 4.518051054e-06f, 4.512277377e-06f, 4.506496645e-06f, 4.500708867e-06f, 4.494914056e-06f, 4.489112221e-06f, 4.483303374e-06f, 4.477487525e-06f,
+4.471664687e-06f, 4.465834869e-06f, 4.459998083e-06f, 4.454154340e-06f, 4.448303651e-06f, 4.442446027e-06f, 4.436581479e-06f, 4.430710018e-06f, 4.424831655e-06f, 4.418946401e-06f,
+4.413054268e-06f, 4.407155266e-06f, 4.401249407e-06f, 4.395336702e-06f, 4.389417162e-06f, 4.383490798e-06f, 4.377557621e-06f, 4.371617643e-06f, 4.365670874e-06f, 4.359717326e-06f,
+4.353757011e-06f, 4.347789938e-06f, 4.341816120e-06f, 4.335835568e-06f, 4.329848293e-06f, 4.323854306e-06f, 4.317853619e-06f, 4.311846243e-06f, 4.305832188e-06f, 4.299811468e-06f,
+4.293784092e-06f, 4.287750072e-06f, 4.281709419e-06f, 4.275662146e-06f, 4.269608262e-06f, 4.263547780e-06f, 4.257480711e-06f, 4.251407066e-06f, 4.245326856e-06f, 4.239240094e-06f,
+4.233146790e-06f, 4.227046957e-06f, 4.220940604e-06f, 4.214827744e-06f, 4.208708389e-06f, 4.202582549e-06f, 4.196450236e-06f, 4.190311462e-06f, 4.184166238e-06f, 4.178014576e-06f,
+4.171856487e-06f, 4.165691982e-06f, 4.159521074e-06f, 4.153343774e-06f, 4.147160092e-06f, 4.140970042e-06f, 4.134773634e-06f, 4.128570880e-06f, 4.122361792e-06f, 4.116146381e-06f,
+4.109924659e-06f, 4.103696637e-06f, 4.097462327e-06f, 4.091221741e-06f, 4.084974890e-06f, 4.078721786e-06f, 4.072462441e-06f, 4.066196866e-06f, 4.059925073e-06f, 4.053647074e-06f,
+4.047362880e-06f, 4.041072503e-06f, 4.034775956e-06f, 4.028473248e-06f, 4.022164393e-06f, 4.015849402e-06f, 4.009528287e-06f, 4.003201059e-06f, 3.996867731e-06f, 3.990528314e-06f,
+3.984182819e-06f, 3.977831260e-06f, 3.971473647e-06f, 3.965109992e-06f, 3.958740307e-06f, 3.952364605e-06f, 3.945982896e-06f, 3.939595193e-06f, 3.933201507e-06f, 3.926801851e-06f,
+3.920396236e-06f, 3.913984675e-06f, 3.907567178e-06f, 3.901143759e-06f, 3.894714428e-06f, 3.888279199e-06f, 3.881838082e-06f, 3.875391089e-06f, 3.868938234e-06f, 3.862479527e-06f,
+3.856014981e-06f, 3.849544607e-06f, 3.843068418e-06f, 3.836586425e-06f, 3.830098641e-06f, 3.823605078e-06f, 3.817105747e-06f, 3.810600660e-06f, 3.804089831e-06f, 3.797573270e-06f,
+3.791050989e-06f, 3.784523002e-06f, 3.777989319e-06f, 3.771449954e-06f, 3.764904917e-06f, 3.758354222e-06f, 3.751797880e-06f, 3.745235903e-06f, 3.738668303e-06f, 3.732095093e-06f,
+3.725516285e-06f, 3.718931891e-06f, 3.712341923e-06f, 3.705746392e-06f, 3.699145313e-06f, 3.692538695e-06f, 3.685926553e-06f, 3.679308897e-06f, 3.672685740e-06f, 3.666057095e-06f,
+3.659422973e-06f, 3.652783387e-06f, 3.646138349e-06f, 3.639487871e-06f, 3.632831965e-06f, 3.626170645e-06f, 3.619503921e-06f, 3.612831806e-06f, 3.606154313e-06f, 3.599471454e-06f,
+3.592783240e-06f, 3.586089685e-06f, 3.579390801e-06f, 3.572686600e-06f, 3.565977094e-06f, 3.559262296e-06f, 3.552542217e-06f, 3.545816872e-06f, 3.539086270e-06f, 3.532350426e-06f,
+3.525609351e-06f, 3.518863058e-06f, 3.512111560e-06f, 3.505354867e-06f, 3.498592994e-06f, 3.491825952e-06f, 3.485053754e-06f, 3.478276412e-06f, 3.471493939e-06f, 3.464706347e-06f,
+3.457913648e-06f, 3.451115855e-06f, 3.444312981e-06f, 3.437505038e-06f, 3.430692037e-06f, 3.423873993e-06f, 3.417050917e-06f, 3.410222822e-06f, 3.403389720e-06f, 3.396551624e-06f,
+3.389708546e-06f, 3.382860499e-06f, 3.376007496e-06f, 3.369149548e-06f, 3.362286669e-06f, 3.355418871e-06f, 3.348546166e-06f, 3.341668567e-06f, 3.334786087e-06f, 3.327898739e-06f,
+3.321006534e-06f, 3.314109485e-06f, 3.307207606e-06f, 3.300300908e-06f, 3.293389404e-06f, 3.286473108e-06f, 3.279552030e-06f, 3.272626185e-06f, 3.265695584e-06f, 3.258760241e-06f,
+3.251820168e-06f, 3.244875377e-06f, 3.237925882e-06f, 3.230971695e-06f, 3.224012828e-06f, 3.217049295e-06f, 3.210081108e-06f, 3.203108280e-06f, 3.196130823e-06f, 3.189148750e-06f,
+3.182162074e-06f, 3.175170807e-06f, 3.168174963e-06f, 3.161174554e-06f, 3.154169593e-06f, 3.147160092e-06f, 3.140146064e-06f, 3.133127522e-06f, 3.126104480e-06f, 3.119076948e-06f,
+3.112044941e-06f, 3.105008471e-06f, 3.097967551e-06f, 3.090922194e-06f, 3.083872412e-06f, 3.076818219e-06f, 3.069759626e-06f, 3.062696648e-06f, 3.055629296e-06f, 3.048557583e-06f,
+3.041481523e-06f, 3.034401129e-06f, 3.027316412e-06f, 3.020227387e-06f, 3.013134065e-06f, 3.006036459e-06f, 2.998934584e-06f, 2.991828450e-06f, 2.984718072e-06f, 2.977603463e-06f,
+2.970484634e-06f, 2.963361599e-06f, 2.956234371e-06f, 2.949102963e-06f, 2.941967387e-06f, 2.934827657e-06f, 2.927683786e-06f, 2.920535786e-06f, 2.913383670e-06f, 2.906227452e-06f,
+2.899067144e-06f, 2.891902759e-06f, 2.884734311e-06f, 2.877561811e-06f, 2.870385274e-06f, 2.863204712e-06f, 2.856020138e-06f, 2.848831564e-06f, 2.841639005e-06f, 2.834442473e-06f,
+2.827241982e-06f, 2.820037543e-06f, 2.812829170e-06f, 2.805616876e-06f, 2.798400674e-06f, 2.791180578e-06f, 2.783956599e-06f, 2.776728752e-06f, 2.769497049e-06f, 2.762261504e-06f,
+2.755022128e-06f, 2.747778936e-06f, 2.740531941e-06f, 2.733281155e-06f, 2.726026591e-06f, 2.718768263e-06f, 2.711506184e-06f, 2.704240367e-06f, 2.696970824e-06f, 2.689697570e-06f,
+2.682420616e-06f, 2.675139977e-06f, 2.667855665e-06f, 2.660567694e-06f, 2.653276076e-06f, 2.645980825e-06f, 2.638681953e-06f, 2.631379475e-06f, 2.624073402e-06f, 2.616763749e-06f,
+2.609450528e-06f, 2.602133752e-06f, 2.594813435e-06f, 2.587489590e-06f, 2.580162230e-06f, 2.572831368e-06f, 2.565497017e-06f, 2.558159191e-06f, 2.550817903e-06f, 2.543473165e-06f,
+2.536124991e-06f, 2.528773394e-06f, 2.521418388e-06f, 2.514059986e-06f, 2.506698200e-06f, 2.499333044e-06f, 2.491964532e-06f, 2.484592675e-06f, 2.477217489e-06f, 2.469838986e-06f,
+2.462457178e-06f, 2.455072080e-06f, 2.447683705e-06f, 2.440292065e-06f, 2.432897175e-06f, 2.425499046e-06f, 2.418097694e-06f, 2.410693130e-06f, 2.403285368e-06f, 2.395874422e-06f,
+2.388460304e-06f, 2.381043028e-06f, 2.373622608e-06f, 2.366199056e-06f, 2.358772385e-06f, 2.351342610e-06f, 2.343909743e-06f, 2.336473797e-06f, 2.329034786e-06f, 2.321592724e-06f,
+2.314147623e-06f, 2.306699497e-06f, 2.299248359e-06f, 2.291794223e-06f, 2.284337101e-06f, 2.276877007e-06f, 2.269413955e-06f, 2.261947957e-06f, 2.254479028e-06f, 2.247007180e-06f,
+2.239532427e-06f, 2.232054781e-06f, 2.224574257e-06f, 2.217090868e-06f, 2.209604628e-06f, 2.202115548e-06f, 2.194623644e-06f, 2.187128927e-06f, 2.179631412e-06f, 2.172131112e-06f,
+2.164628041e-06f, 2.157122211e-06f, 2.149613636e-06f, 2.142102330e-06f, 2.134588305e-06f, 2.127071575e-06f, 2.119552155e-06f, 2.112030056e-06f, 2.104505292e-06f, 2.096977877e-06f,
+2.089447825e-06f, 2.081915148e-06f, 2.074379860e-06f, 2.066841974e-06f, 2.059301504e-06f, 2.051758464e-06f, 2.044212865e-06f, 2.036664723e-06f, 2.029114051e-06f, 2.021560861e-06f,
+2.014005168e-06f, 2.006446984e-06f, 1.998886324e-06f, 1.991323200e-06f, 1.983757626e-06f, 1.976189616e-06f, 1.968619182e-06f, 1.961046339e-06f, 1.953471100e-06f, 1.945893478e-06f,
+1.938313487e-06f, 1.930731140e-06f, 1.923146450e-06f, 1.915559432e-06f, 1.907970098e-06f, 1.900378462e-06f, 1.892784538e-06f, 1.885188338e-06f, 1.877589877e-06f, 1.869989168e-06f,
+1.862386224e-06f, 1.854781059e-06f, 1.847173686e-06f, 1.839564119e-06f, 1.831952372e-06f, 1.824338457e-06f, 1.816722388e-06f, 1.809104179e-06f, 1.801483843e-06f, 1.793861394e-06f,
+1.786236845e-06f, 1.778610210e-06f, 1.770981502e-06f, 1.763350735e-06f, 1.755717922e-06f, 1.748083076e-06f, 1.740446212e-06f, 1.732807342e-06f, 1.725166481e-06f, 1.717523641e-06f,
+1.709878837e-06f, 1.702232081e-06f, 1.694583388e-06f, 1.686932770e-06f, 1.679280242e-06f, 1.671625816e-06f, 1.663969507e-06f, 1.656311327e-06f, 1.648651291e-06f, 1.640989412e-06f,
+1.633325703e-06f, 1.625660178e-06f, 1.617992851e-06f, 1.610323735e-06f, 1.602652843e-06f, 1.594980189e-06f, 1.587305787e-06f, 1.579629650e-06f, 1.571951792e-06f, 1.564272226e-06f,
+1.556590965e-06f, 1.548908024e-06f, 1.541223416e-06f, 1.533537154e-06f, 1.525849252e-06f, 1.518159723e-06f, 1.510468582e-06f, 1.502775841e-06f, 1.495081514e-06f, 1.487385615e-06f,
+1.479688157e-06f, 1.471989154e-06f, 1.464288619e-06f, 1.456586565e-06f, 1.448883008e-06f, 1.441177959e-06f, 1.433471433e-06f, 1.425763443e-06f, 1.418054002e-06f, 1.410343125e-06f,
+1.402630824e-06f, 1.394917114e-06f, 1.387202007e-06f, 1.379485518e-06f, 1.371767660e-06f, 1.364048446e-06f, 1.356327891e-06f, 1.348606007e-06f, 1.340882808e-06f, 1.333158308e-06f,
+1.325432521e-06f, 1.317705459e-06f, 1.309977137e-06f, 1.302247568e-06f, 1.294516766e-06f, 1.286784743e-06f, 1.279051515e-06f, 1.271317093e-06f, 1.263581493e-06f, 1.255844727e-06f,
+1.248106809e-06f, 1.240367752e-06f, 1.232627571e-06f, 1.224886278e-06f, 1.217143888e-06f, 1.209400413e-06f, 1.201655868e-06f, 1.193910266e-06f, 1.186163620e-06f, 1.178415945e-06f,
+1.170667253e-06f, 1.162917558e-06f, 1.155166874e-06f, 1.147415215e-06f, 1.139662593e-06f, 1.131909023e-06f, 1.124154518e-06f, 1.116399091e-06f, 1.108642757e-06f, 1.100885529e-06f,
+1.093127420e-06f, 1.085368443e-06f, 1.077608614e-06f, 1.069847944e-06f, 1.062086448e-06f, 1.054324139e-06f, 1.046561031e-06f, 1.038797137e-06f, 1.031032471e-06f, 1.023267046e-06f,
+1.015500876e-06f, 1.007733975e-06f, 9.999663558e-07f, 9.921980323e-07f, 9.844290181e-07f, 9.766593267e-07f, 9.688889716e-07f, 9.611179663e-07f, 9.533463246e-07f, 9.455740598e-07f,
+9.378011856e-07f, 9.300277156e-07f, 9.222536632e-07f, 9.144790420e-07f, 9.067038656e-07f, 8.989281476e-07f, 8.911519014e-07f, 8.833751407e-07f, 8.755978789e-07f, 8.678201297e-07f,
+8.600419066e-07f, 8.522632231e-07f, 8.444840928e-07f, 8.367045292e-07f, 8.289245459e-07f, 8.211441564e-07f, 8.133633742e-07f, 8.055822129e-07f, 7.978006861e-07f, 7.900188072e-07f,
+7.822365898e-07f, 7.744540474e-07f, 7.666711937e-07f, 7.588880420e-07f, 7.511046060e-07f, 7.433208991e-07f, 7.355369350e-07f, 7.277527271e-07f, 7.199682889e-07f, 7.121836340e-07f,
+7.043987760e-07f, 6.966137282e-07f, 6.888285043e-07f, 6.810431178e-07f, 6.732575821e-07f, 6.654719109e-07f, 6.576861176e-07f, 6.499002157e-07f, 6.421142187e-07f, 6.343281402e-07f,
+6.265419937e-07f, 6.187557926e-07f, 6.109695506e-07f, 6.031832809e-07f, 5.953969973e-07f, 5.876107132e-07f, 5.798244420e-07f, 5.720381973e-07f, 5.642519926e-07f, 5.564658413e-07f,
+5.486797570e-07f, 5.408937531e-07f, 5.331078432e-07f, 5.253220407e-07f, 5.175363590e-07f, 5.097508118e-07f, 5.019654124e-07f, 4.941801743e-07f, 4.863951111e-07f, 4.786102361e-07f,
+4.708255629e-07f, 4.630411049e-07f, 4.552568756e-07f, 4.474728884e-07f, 4.396891569e-07f, 4.319056944e-07f, 4.241225145e-07f, 4.163396306e-07f, 4.085570561e-07f, 4.007748045e-07f,
+3.929928892e-07f, 3.852113237e-07f, 3.774301215e-07f, 3.696492959e-07f, 3.618688604e-07f, 3.540888285e-07f, 3.463092135e-07f, 3.385300290e-07f, 3.307512883e-07f, 3.229730049e-07f,
+3.151951922e-07f, 3.074178636e-07f, 2.996410325e-07f, 2.918647123e-07f, 2.840889165e-07f, 2.763136585e-07f, 2.685389517e-07f, 2.607648095e-07f, 2.529912452e-07f, 2.452182723e-07f,
+2.374459042e-07f, 2.296741543e-07f, 2.219030360e-07f, 2.141325626e-07f, 2.063627475e-07f, 1.985936042e-07f, 1.908251460e-07f, 1.830573862e-07f, 1.752903384e-07f, 1.675240157e-07f,
+1.597584316e-07f, 1.519935995e-07f, 1.442295327e-07f, 1.364662446e-07f, 1.287037485e-07f, 1.209420578e-07f, 1.131811858e-07f, 1.054211459e-07f, 9.766195147e-08f, 8.990361576e-08f,
+8.214615214e-08f, 7.438957396e-08f, 6.663389453e-08f, 5.887912719e-08f, 5.112528526e-08f, 4.337238205e-08f, 3.562043089e-08f, 2.786944508e-08f, 2.011943794e-08f, 1.237042277e-08f,
+4.622412867e-09f, -3.124578460e-09f, -1.087053792e-08f, -1.861545222e-08f, -2.635930807e-08f, -3.410209220e-08f, -4.184379131e-08f, -4.958439213e-08f, -5.732388139e-08f, -6.506224581e-08f,
+-7.279947214e-08f, -8.053554710e-08f, -8.827045745e-08f, -9.600418992e-08f, -1.037367313e-07f, -1.114680682e-07f, -1.191981876e-07f, -1.269270761e-07f, -1.346547205e-07f, -1.423811076e-07f,
+-1.501062241e-07f, -1.578300568e-07f, -1.655525926e-07f, -1.732738181e-07f, -1.809937203e-07f, -1.887122857e-07f, -1.964295014e-07f, -2.041453540e-07f, -2.118598304e-07f, -2.195729174e-07f,
+-2.272846017e-07f, -2.349948703e-07f, -2.427037099e-07f, -2.504111073e-07f, -2.581170494e-07f, -2.658215231e-07f, -2.735245151e-07f, -2.812260123e-07f, -2.889260015e-07f, -2.966244696e-07f,
+-3.043214035e-07f, -3.120167900e-07f, -3.197106160e-07f, -3.274028683e-07f, -3.350935338e-07f, -3.427825995e-07f, -3.504700521e-07f, -3.581558785e-07f, -3.658400658e-07f, -3.735226006e-07f,
+-3.812034701e-07f, -3.888826609e-07f, -3.965601602e-07f, -4.042359547e-07f, -4.119100315e-07f, -4.195823773e-07f, -4.272529792e-07f, -4.349218241e-07f, -4.425888989e-07f, -4.502541906e-07f,
+-4.579176861e-07f, -4.655793724e-07f, -4.732392364e-07f, -4.808972650e-07f, -4.885534454e-07f, -4.962077643e-07f, -5.038602089e-07f, -5.115107660e-07f, -5.191594227e-07f, -5.268061660e-07f,
+-5.344509829e-07f, -5.420938603e-07f, -5.497347853e-07f, -5.573737448e-07f, -5.650107260e-07f, -5.726457158e-07f, -5.802787012e-07f, -5.879096694e-07f, -5.955386072e-07f, -6.031655018e-07f,
+-6.107903403e-07f, -6.184131096e-07f, -6.260337968e-07f, -6.336523891e-07f, -6.412688734e-07f, -6.488832368e-07f, -6.564954664e-07f, -6.641055494e-07f, -6.717134728e-07f, -6.793192236e-07f,
+-6.869227891e-07f, -6.945241563e-07f, -7.021233122e-07f, -7.097202442e-07f, -7.173149391e-07f, -7.249073843e-07f, -7.324975668e-07f, -7.400854738e-07f, -7.476710924e-07f, -7.552544098e-07f,
+-7.628354131e-07f, -7.704140895e-07f, -7.779904262e-07f, -7.855644103e-07f, -7.931360290e-07f, -8.007052695e-07f, -8.082721191e-07f, -8.158365648e-07f, -8.233985940e-07f, -8.309581937e-07f,
+-8.385153513e-07f, -8.460700540e-07f, -8.536222889e-07f, -8.611720434e-07f, -8.687193046e-07f, -8.762640599e-07f, -8.838062963e-07f, -8.913460014e-07f, -8.988831622e-07f, -9.064177660e-07f,
+-9.139498002e-07f, -9.214792520e-07f, -9.290061087e-07f, -9.365303576e-07f, -9.440519860e-07f, -9.515709812e-07f, -9.590873305e-07f, -9.666010213e-07f, -9.741120408e-07f, -9.816203765e-07f,
+-9.891260156e-07f, -9.966289454e-07f, -1.004129153e-06f, -1.011626627e-06f, -1.019121353e-06f, -1.026613320e-06f, -1.034102514e-06f, -1.041588923e-06f, -1.049072535e-06f, -1.056553336e-06f,
+-1.064031315e-06f, -1.071506458e-06f, -1.078978753e-06f, -1.086448188e-06f, -1.093914750e-06f, -1.101378425e-06f, -1.108839203e-06f, -1.116297070e-06f, -1.123752013e-06f, -1.131204021e-06f,
+-1.138653080e-06f, -1.146099178e-06f, -1.153542303e-06f, -1.160982442e-06f, -1.168419582e-06f, -1.175853712e-06f, -1.183284818e-06f, -1.190712888e-06f, -1.198137909e-06f, -1.205559870e-06f,
+-1.212978757e-06f, -1.220394559e-06f, -1.227807263e-06f, -1.235216855e-06f, -1.242623325e-06f, -1.250026659e-06f, -1.257426845e-06f, -1.264823871e-06f, -1.272217724e-06f, -1.279608392e-06f,
+-1.286995863e-06f, -1.294380123e-06f, -1.301761161e-06f, -1.309138965e-06f, -1.316513521e-06f, -1.323884819e-06f, -1.331252844e-06f, -1.338617585e-06f, -1.345979030e-06f, -1.353337166e-06f,
+-1.360691981e-06f, -1.368043463e-06f, -1.375391599e-06f, -1.382736377e-06f, -1.390077785e-06f, -1.397415810e-06f, -1.404750441e-06f, -1.412081664e-06f, -1.419409469e-06f, -1.426733841e-06f,
+-1.434054770e-06f, -1.441372243e-06f, -1.448686247e-06f, -1.455996771e-06f, -1.463303802e-06f, -1.470607329e-06f, -1.477907338e-06f, -1.485203818e-06f, -1.492496757e-06f, -1.499786141e-06f,
+-1.507071960e-06f, -1.514354202e-06f, -1.521632852e-06f, -1.528907901e-06f, -1.536179335e-06f, -1.543447143e-06f, -1.550711312e-06f, -1.557971831e-06f, -1.565228686e-06f, -1.572481867e-06f,
+-1.579731360e-06f, -1.586977155e-06f, -1.594219238e-06f, -1.601457598e-06f, -1.608692223e-06f, -1.615923100e-06f, -1.623150218e-06f, -1.630373565e-06f, -1.637593128e-06f, -1.644808896e-06f,
+-1.652020856e-06f, -1.659228996e-06f, -1.666433306e-06f, -1.673633772e-06f, -1.680830382e-06f, -1.688023125e-06f, -1.695211989e-06f, -1.702396962e-06f, -1.709578031e-06f, -1.716755185e-06f,
+-1.723928412e-06f, -1.731097701e-06f, -1.738263038e-06f, -1.745424412e-06f, -1.752581812e-06f, -1.759735225e-06f, -1.766884640e-06f, -1.774030045e-06f, -1.781171427e-06f, -1.788308776e-06f,
+-1.795442079e-06f, -1.802571324e-06f, -1.809696499e-06f, -1.816817593e-06f, -1.823934594e-06f, -1.831047491e-06f, -1.838156270e-06f, -1.845260921e-06f, -1.852361432e-06f, -1.859457791e-06f,
+-1.866549987e-06f, -1.873638006e-06f, -1.880721839e-06f, -1.887801473e-06f, -1.894876896e-06f, -1.901948096e-06f, -1.909015063e-06f, -1.916077784e-06f, -1.923136247e-06f, -1.930190441e-06f,
+-1.937240355e-06f, -1.944285976e-06f, -1.951327293e-06f, -1.958364295e-06f, -1.965396969e-06f, -1.972425304e-06f, -1.979449289e-06f, -1.986468911e-06f, -1.993484160e-06f, -2.000495024e-06f,
+-2.007501490e-06f, -2.014503548e-06f, -2.021501186e-06f, -2.028494393e-06f, -2.035483157e-06f, -2.042467466e-06f, -2.049447308e-06f, -2.056422674e-06f, -2.063393550e-06f, -2.070359925e-06f,
+-2.077321788e-06f, -2.084279128e-06f, -2.091231933e-06f, -2.098180191e-06f, -2.105123892e-06f, -2.112063023e-06f, -2.118997573e-06f, -2.125927531e-06f, -2.132852886e-06f, -2.139773625e-06f,
+-2.146689738e-06f, -2.153601214e-06f, -2.160508040e-06f, -2.167410206e-06f, -2.174307700e-06f, -2.181200510e-06f, -2.188088627e-06f, -2.194972037e-06f, -2.201850731e-06f, -2.208724696e-06f,
+-2.215593921e-06f, -2.222458396e-06f, -2.229318108e-06f, -2.236173046e-06f, -2.243023200e-06f, -2.249868558e-06f, -2.256709109e-06f, -2.263544841e-06f, -2.270375743e-06f, -2.277201805e-06f,
+-2.284023015e-06f, -2.290839361e-06f, -2.297650833e-06f, -2.304457420e-06f, -2.311259110e-06f, -2.318055891e-06f, -2.324847754e-06f, -2.331634687e-06f, -2.338416679e-06f, -2.345193718e-06f,
+-2.351965794e-06f, -2.358732895e-06f, -2.365495011e-06f, -2.372252131e-06f, -2.379004242e-06f, -2.385751335e-06f, -2.392493398e-06f, -2.399230420e-06f, -2.405962391e-06f, -2.412689299e-06f,
+-2.419411133e-06f, -2.426127882e-06f, -2.432839536e-06f, -2.439546083e-06f, -2.446247512e-06f, -2.452943813e-06f, -2.459634974e-06f, -2.466320985e-06f, -2.473001835e-06f, -2.479677512e-06f,
+-2.486348007e-06f, -2.493013307e-06f, -2.499673402e-06f, -2.506328282e-06f, -2.512977936e-06f, -2.519622352e-06f, -2.526261519e-06f, -2.532895428e-06f, -2.539524067e-06f, -2.546147426e-06f,
+-2.552765493e-06f, -2.559378258e-06f, -2.565985710e-06f, -2.572587838e-06f, -2.579184632e-06f, -2.585776081e-06f, -2.592362174e-06f, -2.598942900e-06f, -2.605518250e-06f, -2.612088211e-06f,
+-2.618652774e-06f, -2.625211927e-06f, -2.631765661e-06f, -2.638313964e-06f, -2.644856826e-06f, -2.651394236e-06f, -2.657926184e-06f, -2.664452659e-06f, -2.670973650e-06f, -2.677489147e-06f,
+-2.683999139e-06f, -2.690503616e-06f, -2.697002567e-06f, -2.703495981e-06f, -2.709983849e-06f, -2.716466160e-06f, -2.722942902e-06f, -2.729414067e-06f, -2.735879642e-06f, -2.742339618e-06f,
+-2.748793984e-06f, -2.755242730e-06f, -2.761685845e-06f, -2.768123320e-06f, -2.774555142e-06f, -2.780981303e-06f, -2.787401792e-06f, -2.793816598e-06f, -2.800225711e-06f, -2.806629120e-06f,
+-2.813026816e-06f, -2.819418788e-06f, -2.825805025e-06f, -2.832185518e-06f, -2.838560256e-06f, -2.844929228e-06f, -2.851292425e-06f, -2.857649836e-06f, -2.864001452e-06f, -2.870347260e-06f,
+-2.876687253e-06f, -2.883021418e-06f, -2.889349747e-06f, -2.895672228e-06f, -2.901988852e-06f, -2.908299609e-06f, -2.914604488e-06f, -2.920903479e-06f, -2.927196573e-06f, -2.933483758e-06f,
+-2.939765025e-06f, -2.946040363e-06f, -2.952309764e-06f, -2.958573216e-06f, -2.964830709e-06f, -2.971082234e-06f, -2.977327780e-06f, -2.983567337e-06f, -2.989800896e-06f, -2.996028446e-06f,
+-3.002249978e-06f, -3.008465480e-06f, -3.014674944e-06f, -3.020878360e-06f, -3.027075717e-06f, -3.033267005e-06f, -3.039452215e-06f, -3.045631337e-06f, -3.051804360e-06f, -3.057971276e-06f,
+-3.064132073e-06f, -3.070286743e-06f, -3.076435274e-06f, -3.082577658e-06f, -3.088713885e-06f, -3.094843945e-06f, -3.100967827e-06f, -3.107085523e-06f, -3.113197022e-06f, -3.119302314e-06f,
+-3.125401391e-06f, -3.131494241e-06f, -3.137580856e-06f, -3.143661226e-06f, -3.149735341e-06f, -3.155803190e-06f, -3.161864766e-06f, -3.167920057e-06f, -3.173969055e-06f, -3.180011749e-06f,
+-3.186048130e-06f, -3.192078188e-06f, -3.198101914e-06f, -3.204119298e-06f, -3.210130331e-06f, -3.216135002e-06f, -3.222133303e-06f, -3.228125224e-06f, -3.234110755e-06f, -3.240089887e-06f,
+-3.246062610e-06f, -3.252028915e-06f, -3.257988792e-06f, -3.263942231e-06f, -3.269889225e-06f, -3.275829761e-06f, -3.281763833e-06f, -3.287691429e-06f, -3.293612541e-06f, -3.299527159e-06f,
+-3.305435274e-06f, -3.311336876e-06f, -3.317231956e-06f, -3.323120505e-06f, -3.329002514e-06f, -3.334877972e-06f, -3.340746871e-06f, -3.346609201e-06f, -3.352464954e-06f, -3.358314119e-06f,
+-3.364156688e-06f, -3.369992651e-06f, -3.375821999e-06f, -3.381644724e-06f, -3.387460814e-06f, -3.393270263e-06f, -3.399073059e-06f, -3.404869195e-06f, -3.410658660e-06f, -3.416441446e-06f,
+-3.422217544e-06f, -3.427986944e-06f, -3.433749638e-06f, -3.439505616e-06f, -3.445254869e-06f, -3.450997389e-06f, -3.456733165e-06f, -3.462462190e-06f, -3.468184453e-06f, -3.473899947e-06f,
+-3.479608661e-06f, -3.485310587e-06f, -3.491005717e-06f, -3.496694040e-06f, -3.502375549e-06f, -3.508050233e-06f, -3.513718085e-06f, -3.519379095e-06f, -3.525033255e-06f, -3.530680555e-06f,
+-3.536320986e-06f, -3.541954540e-06f, -3.547581209e-06f, -3.553200982e-06f, -3.558813851e-06f, -3.564419808e-06f, -3.570018843e-06f, -3.575610949e-06f, -3.581196115e-06f, -3.586774334e-06f,
+-3.592345596e-06f, -3.597909893e-06f, -3.603467216e-06f, -3.609017557e-06f, -3.614560906e-06f, -3.620097255e-06f, -3.625626596e-06f, -3.631148919e-06f, -3.636664216e-06f, -3.642172479e-06f,
+-3.647673699e-06f, -3.653167867e-06f, -3.658654974e-06f, -3.664135013e-06f, -3.669607974e-06f, -3.675073849e-06f, -3.680532629e-06f, -3.685984306e-06f, -3.691428872e-06f, -3.696866318e-06f,
+-3.702296635e-06f, -3.707719815e-06f, -3.713135849e-06f, -3.718544730e-06f, -3.723946448e-06f, -3.729340996e-06f, -3.734728364e-06f, -3.740108545e-06f, -3.745481530e-06f, -3.750847310e-06f,
+-3.756205878e-06f, -3.761557225e-06f, -3.766901343e-06f, -3.772238223e-06f, -3.777567858e-06f, -3.782890238e-06f, -3.788205356e-06f, -3.793513203e-06f, -3.798813771e-06f, -3.804107053e-06f,
+-3.809393038e-06f, -3.814671721e-06f, -3.819943092e-06f, -3.825207143e-06f, -3.830463866e-06f, -3.835713252e-06f, -3.840955295e-06f, -3.846189985e-06f, -3.851417315e-06f, -3.856637276e-06f,
+-3.861849861e-06f, -3.867055061e-06f, -3.872252868e-06f, -3.877443275e-06f, -3.882626273e-06f, -3.887801854e-06f, -3.892970010e-06f, -3.898130734e-06f, -3.903284017e-06f, -3.908429851e-06f,
+-3.913568229e-06f, -3.918699143e-06f, -3.923822584e-06f, -3.928938545e-06f, -3.934047018e-06f, -3.939147994e-06f, -3.944241467e-06f, -3.949327429e-06f, -3.954405871e-06f, -3.959476785e-06f,
+-3.964540165e-06f, -3.969596002e-06f, -3.974644288e-06f, -3.979685016e-06f, -3.984718178e-06f, -3.989743766e-06f, -3.994761773e-06f, -3.999772190e-06f, -4.004775011e-06f, -4.009770227e-06f,
+-4.014757831e-06f, -4.019737815e-06f, -4.024710172e-06f, -4.029674893e-06f, -4.034631973e-06f, -4.039581401e-06f, -4.044523173e-06f, -4.049457279e-06f, -4.054383712e-06f, -4.059302465e-06f,
+-4.064213530e-06f, -4.069116899e-06f, -4.074012566e-06f, -4.078900522e-06f, -4.083780761e-06f, -4.088653275e-06f, -4.093518056e-06f, -4.098375097e-06f, -4.103224391e-06f, -4.108065930e-06f,
+-4.112899707e-06f, -4.117725715e-06f, -4.122543945e-06f, -4.127354392e-06f, -4.132157047e-06f, -4.136951904e-06f, -4.141738955e-06f, -4.146518192e-06f, -4.151289609e-06f, -4.156053198e-06f,
+-4.160808953e-06f, -4.165556865e-06f, -4.170296928e-06f, -4.175029134e-06f, -4.179753477e-06f, -4.184469949e-06f, -4.189178544e-06f, -4.193879253e-06f, -4.198572070e-06f, -4.203256988e-06f,
+-4.207934000e-06f, -4.212603098e-06f, -4.217264276e-06f, -4.221917527e-06f, -4.226562843e-06f, -4.231200218e-06f, -4.235829644e-06f, -4.240451116e-06f, -4.245064625e-06f, -4.249670164e-06f,
+-4.254267728e-06f, -4.258857308e-06f, -4.263438899e-06f, -4.268012493e-06f, -4.272578083e-06f, -4.277135662e-06f, -4.281685224e-06f, -4.286226762e-06f, -4.290760269e-06f, -4.295285738e-06f,
+-4.299803163e-06f, -4.304312536e-06f, -4.308813852e-06f, -4.313307102e-06f, -4.317792281e-06f, -4.322269382e-06f, -4.326738398e-06f, -4.331199322e-06f, -4.335652148e-06f, -4.340096869e-06f,
+-4.344533479e-06f, -4.348961971e-06f, -4.353382338e-06f, -4.357794573e-06f, -4.362198671e-06f, -4.366594625e-06f, -4.370982427e-06f, -4.375362072e-06f, -4.379733554e-06f, -4.384096864e-06f,
+-4.388451998e-06f, -4.392798949e-06f, -4.397137709e-06f, -4.401468274e-06f, -4.405790636e-06f, -4.410104788e-06f, -4.414410725e-06f, -4.418708441e-06f, -4.422997928e-06f, -4.427279181e-06f,
+-4.431552193e-06f, -4.435816957e-06f, -4.440073469e-06f, -4.444321720e-06f, -4.448561706e-06f, -4.452793419e-06f, -4.457016854e-06f, -4.461232005e-06f, -4.465438864e-06f, -4.469637426e-06f,
+-4.473827685e-06f, -4.478009635e-06f, -4.482183269e-06f, -4.486348581e-06f, -4.490505566e-06f, -4.494654217e-06f, -4.498794527e-06f, -4.502926492e-06f, -4.507050105e-06f, -4.511165359e-06f,
+-4.515272250e-06f, -4.519370770e-06f, -4.523460914e-06f, -4.527542676e-06f, -4.531616050e-06f, -4.535681030e-06f, -4.539737610e-06f, -4.543785784e-06f, -4.547825547e-06f, -4.551856891e-06f,
+-4.555879813e-06f, -4.559894305e-06f, -4.563900362e-06f, -4.567897977e-06f, -4.571887146e-06f, -4.575867863e-06f, -4.579840121e-06f, -4.583803915e-06f, -4.587759239e-06f, -4.591706087e-06f,
+-4.595644454e-06f, -4.599574334e-06f, -4.603495722e-06f, -4.607408611e-06f, -4.611312996e-06f, -4.615208871e-06f, -4.619096231e-06f, -4.622975071e-06f, -4.626845383e-06f, -4.630707164e-06f,
+-4.634560408e-06f, -4.638405108e-06f, -4.642241259e-06f, -4.646068856e-06f, -4.649887894e-06f, -4.653698367e-06f, -4.657500269e-06f, -4.661293594e-06f, -4.665078339e-06f, -4.668854496e-06f,
+-4.672622062e-06f, -4.676381029e-06f, -4.680131394e-06f, -4.683873150e-06f, -4.687606292e-06f, -4.691330815e-06f, -4.695046714e-06f, -4.698753983e-06f, -4.702452618e-06f, -4.706142612e-06f,
+-4.709823960e-06f, -4.713496658e-06f, -4.717160700e-06f, -4.720816081e-06f, -4.724462796e-06f, -4.728100839e-06f, -4.731730206e-06f, -4.735350891e-06f, -4.738962889e-06f, -4.742566195e-06f,
+-4.746160805e-06f, -4.749746712e-06f, -4.753323912e-06f, -4.756892399e-06f, -4.760452170e-06f, -4.764003218e-06f, -4.767545539e-06f, -4.771079128e-06f, -4.774603980e-06f, -4.778120089e-06f,
+-4.781627452e-06f, -4.785126062e-06f, -4.788615916e-06f, -4.792097008e-06f, -4.795569334e-06f, -4.799032888e-06f, -4.802487665e-06f, -4.805933662e-06f, -4.809370873e-06f, -4.812799293e-06f,
+-4.816218917e-06f, -4.819629741e-06f, -4.823031761e-06f, -4.826424971e-06f, -4.829809366e-06f, -4.833184942e-06f, -4.836551695e-06f, -4.839909619e-06f, -4.843258710e-06f, -4.846598963e-06f,
+-4.849930374e-06f, -4.853252939e-06f, -4.856566651e-06f, -4.859871508e-06f, -4.863167504e-06f, -4.866454635e-06f, -4.869732897e-06f, -4.873002284e-06f, -4.876262793e-06f, -4.879514418e-06f,
+-4.882757156e-06f, -4.885991003e-06f, -4.889215952e-06f, -4.892432001e-06f, -4.895639145e-06f, -4.898837379e-06f, -4.902026700e-06f, -4.905207102e-06f, -4.908378581e-06f, -4.911541134e-06f,
+-4.914694755e-06f, -4.917839442e-06f, -4.920975188e-06f, -4.924101990e-06f, -4.927219845e-06f, -4.930328746e-06f, -4.933428692e-06f, -4.936519676e-06f, -4.939601696e-06f, -4.942674747e-06f,
+-4.945738824e-06f, -4.948793924e-06f, -4.951840043e-06f, -4.954877176e-06f, -4.957905320e-06f, -4.960924470e-06f, -4.963934622e-06f, -4.966935773e-06f, -4.969927918e-06f, -4.972911053e-06f,
+-4.975885175e-06f, -4.978850280e-06f, -4.981806362e-06f, -4.984753420e-06f, -4.987691448e-06f, -4.990620443e-06f, -4.993540401e-06f, -4.996451317e-06f, -4.999353189e-06f, -5.002246013e-06f,
+-5.005129784e-06f, -5.008004499e-06f, -5.010870154e-06f, -5.013726745e-06f, -5.016574269e-06f, -5.019412721e-06f, -5.022242099e-06f, -5.025062398e-06f, -5.027873614e-06f, -5.030675745e-06f,
+-5.033468786e-06f, -5.036252734e-06f, -5.039027585e-06f, -5.041793336e-06f, -5.044549982e-06f, -5.047297522e-06f, -5.050035950e-06f, -5.052765263e-06f, -5.055485458e-06f, -5.058196532e-06f,
+-5.060898480e-06f, -5.063591300e-06f, -5.066274988e-06f, -5.068949540e-06f, -5.071614953e-06f, -5.074271224e-06f, -5.076918350e-06f, -5.079556326e-06f, -5.082185150e-06f, -5.084804818e-06f,
+-5.087415327e-06f, -5.090016674e-06f, -5.092608855e-06f, -5.095191867e-06f, -5.097765707e-06f, -5.100330371e-06f, -5.102885857e-06f, -5.105432161e-06f, -5.107969280e-06f, -5.110497211e-06f,
+-5.113015951e-06f, -5.115525496e-06f, -5.118025843e-06f, -5.120516990e-06f, -5.122998932e-06f, -5.125471668e-06f, -5.127935194e-06f, -5.130389507e-06f, -5.132834604e-06f, -5.135270482e-06f,
+-5.137697138e-06f, -5.140114569e-06f, -5.142522773e-06f, -5.144921745e-06f, -5.147311483e-06f, -5.149691985e-06f, -5.152063247e-06f, -5.154425266e-06f, -5.156778041e-06f, -5.159121567e-06f,
+-5.161455842e-06f, -5.163780863e-06f, -5.166096627e-06f, -5.168403132e-06f, -5.170700375e-06f, -5.172988353e-06f, -5.175267064e-06f, -5.177536504e-06f, -5.179796671e-06f, -5.182047562e-06f,
+-5.184289175e-06f, -5.186521507e-06f, -5.188744555e-06f, -5.190958317e-06f, -5.193162790e-06f, -5.195357972e-06f, -5.197543859e-06f, -5.199720450e-06f, -5.201887742e-06f, -5.204045732e-06f,
+-5.206194418e-06f, -5.208333798e-06f, -5.210463868e-06f, -5.212584627e-06f, -5.214696072e-06f, -5.216798201e-06f, -5.218891011e-06f, -5.220974499e-06f, -5.223048665e-06f, -5.225113504e-06f,
+-5.227169015e-06f, -5.229215196e-06f, -5.231252044e-06f, -5.233279556e-06f, -5.235297732e-06f, -5.237306567e-06f, -5.239306061e-06f, -5.241296211e-06f, -5.243277015e-06f, -5.245248470e-06f,
+-5.247210574e-06f, -5.249163326e-06f, -5.251106723e-06f, -5.253040763e-06f, -5.254965443e-06f, -5.256880763e-06f, -5.258786719e-06f, -5.260683309e-06f, -5.262570533e-06f, -5.264448387e-06f,
+-5.266316870e-06f, -5.268175979e-06f, -5.270025713e-06f, -5.271866069e-06f, -5.273697046e-06f, -5.275518643e-06f, -5.277330856e-06f, -5.279133684e-06f, -5.280927125e-06f, -5.282711178e-06f,
+-5.284485840e-06f, -5.286251109e-06f, -5.288006985e-06f, -5.289753465e-06f, -5.291490546e-06f, -5.293218229e-06f, -5.294936510e-06f, -5.296645388e-06f, -5.298344862e-06f, -5.300034929e-06f,
+-5.301715589e-06f, -5.303386838e-06f, -5.305048677e-06f, -5.306701102e-06f, -5.308344113e-06f, -5.309977708e-06f, -5.311601885e-06f, -5.313216643e-06f, -5.314821980e-06f, -5.316417895e-06f,
+-5.318004386e-06f, -5.319581452e-06f, -5.321149091e-06f, -5.322707302e-06f, -5.324256083e-06f, -5.325795433e-06f, -5.327325350e-06f, -5.328845834e-06f, -5.330356882e-06f, -5.331858494e-06f,
+-5.333350667e-06f, -5.334833402e-06f, -5.336306695e-06f, -5.337770547e-06f, -5.339224956e-06f, -5.340669920e-06f, -5.342105439e-06f, -5.343531510e-06f, -5.344948134e-06f, -5.346355308e-06f,
+-5.347753032e-06f, -5.349141304e-06f, -5.350520124e-06f, -5.351889489e-06f, -5.353249399e-06f, -5.354599854e-06f, -5.355940851e-06f, -5.357272390e-06f, -5.358594469e-06f, -5.359907089e-06f,
+-5.361210247e-06f, -5.362503942e-06f, -5.363788175e-06f, -5.365062943e-06f, -5.366328246e-06f, -5.367584082e-06f, -5.368830452e-06f, -5.370067354e-06f, -5.371294787e-06f, -5.372512750e-06f,
+-5.373721243e-06f, -5.374920264e-06f, -5.376109813e-06f, -5.377289890e-06f, -5.378460492e-06f, -5.379621620e-06f, -5.380773273e-06f, -5.381915450e-06f, -5.383048150e-06f, -5.384171373e-06f,
+-5.385285117e-06f, -5.386389383e-06f, -5.387484170e-06f, -5.388569476e-06f, -5.389645302e-06f, -5.390711647e-06f, -5.391768510e-06f, -5.392815890e-06f, -5.393853788e-06f, -5.394882202e-06f,
+-5.395901133e-06f, -5.396910578e-06f, -5.397910539e-06f, -5.398901015e-06f, -5.399882004e-06f, -5.400853508e-06f, -5.401815524e-06f, -5.402768054e-06f, -5.403711096e-06f, -5.404644650e-06f,
+-5.405568717e-06f, -5.406483294e-06f, -5.407388383e-06f, -5.408283982e-06f, -5.409170093e-06f, -5.410046713e-06f, -5.410913844e-06f, -5.411771484e-06f, -5.412619634e-06f, -5.413458294e-06f,
+-5.414287462e-06f, -5.415107140e-06f, -5.415917327e-06f, -5.416718022e-06f, -5.417509226e-06f, -5.418290939e-06f, -5.419063160e-06f, -5.419825889e-06f, -5.420579127e-06f, -5.421322873e-06f,
+-5.422057128e-06f, -5.422781890e-06f, -5.423497161e-06f, -5.424202941e-06f, -5.424899229e-06f, -5.425586025e-06f, -5.426263329e-06f, -5.426931143e-06f, -5.427589465e-06f, -5.428238296e-06f,
+-5.428877636e-06f, -5.429507485e-06f, -5.430127843e-06f, -5.430738711e-06f, -5.431340089e-06f, -5.431931977e-06f, -5.432514375e-06f, -5.433087283e-06f, -5.433650702e-06f, -5.434204633e-06f,
+-5.434749074e-06f, -5.435284027e-06f, -5.435809493e-06f, -5.436325470e-06f, -5.436831961e-06f, -5.437328965e-06f, -5.437816482e-06f, -5.438294513e-06f, -5.438763059e-06f, -5.439222119e-06f,
+-5.439671695e-06f, -5.440111787e-06f, -5.440542395e-06f, -5.440963520e-06f, -5.441375162e-06f, -5.441777323e-06f, -5.442170001e-06f, -5.442553199e-06f, -5.442926917e-06f, -5.443291155e-06f,
+-5.443645915e-06f, -5.443991195e-06f, -5.444326998e-06f, -5.444653325e-06f, -5.444970174e-06f, -5.445277549e-06f, -5.445575448e-06f, -5.445863874e-06f, -5.446142826e-06f, -5.446412305e-06f,
+-5.446672313e-06f, -5.446922850e-06f, -5.447163917e-06f, -5.447395514e-06f, -5.447617644e-06f, -5.447830305e-06f, -5.448033500e-06f, -5.448227230e-06f, -5.448411495e-06f, -5.448586296e-06f,
+-5.448751634e-06f, -5.448907510e-06f, -5.449053926e-06f, -5.449190881e-06f, -5.449318378e-06f, -5.449436417e-06f, -5.449545000e-06f, -5.449644127e-06f, -5.449733799e-06f, -5.449814018e-06f,
+-5.449884784e-06f, -5.449946100e-06f, -5.449997965e-06f, -5.450040382e-06f, -5.450073351e-06f, -5.450096874e-06f, -5.450110951e-06f, -5.450115585e-06f, -5.450110776e-06f, -5.450096525e-06f,
+-5.450072834e-06f, -5.450039705e-06f, -5.449997138e-06f, -5.449945135e-06f, -5.449883697e-06f, -5.449812825e-06f, -5.449732522e-06f, -5.449642788e-06f, -5.449543624e-06f, -5.449435033e-06f,
+-5.449317016e-06f, -5.449189573e-06f, -5.449052708e-06f, -5.448906420e-06f, -5.448750712e-06f, -5.448585585e-06f, -5.448411041e-06f, -5.448227081e-06f, -5.448033707e-06f, -5.447830920e-06f,
+-5.447618723e-06f, -5.447397116e-06f, -5.447166101e-06f, -5.446925681e-06f, -5.446675856e-06f, -5.446416629e-06f, -5.446148000e-06f, -5.445869972e-06f, -5.445582547e-06f, -5.445285726e-06f,
+-5.444979512e-06f, -5.444663905e-06f, -5.444338907e-06f, -5.444004522e-06f, -5.443660749e-06f, -5.443307592e-06f, -5.442945052e-06f, -5.442573130e-06f, -5.442191830e-06f, -5.441801152e-06f,
+-5.441401099e-06f, -5.440991673e-06f, -5.440572875e-06f, -5.440144707e-06f, -5.439707173e-06f, -5.439260273e-06f, -5.438804009e-06f, -5.438338384e-06f, -5.437863400e-06f, -5.437379059e-06f,
+-5.436885362e-06f, -5.436382313e-06f, -5.435869913e-06f, -5.435348164e-06f, -5.434817068e-06f, -5.434276628e-06f, -5.433726846e-06f, -5.433167723e-06f, -5.432599263e-06f, -5.432021468e-06f,
+-5.431434339e-06f, -5.430837879e-06f, -5.430232090e-06f, -5.429616975e-06f, -5.428992536e-06f, -5.428358775e-06f, -5.427715695e-06f, -5.427063297e-06f, -5.426401585e-06f, -5.425730560e-06f,
+-5.425050226e-06f, -5.424360584e-06f, -5.423661637e-06f, -5.422953388e-06f, -5.422235838e-06f, -5.421508991e-06f, -5.420772849e-06f, -5.420027414e-06f, -5.419272689e-06f, -5.418508676e-06f,
+-5.417735379e-06f, -5.416952799e-06f, -5.416160940e-06f, -5.415359804e-06f, -5.414549393e-06f, -5.413729710e-06f, -5.412900758e-06f, -5.412062539e-06f, -5.411215057e-06f, -5.410358314e-06f,
+-5.409492312e-06f, -5.408617055e-06f, -5.407732545e-06f, -5.406838784e-06f, -5.405935777e-06f, -5.405023525e-06f, -5.404102031e-06f, -5.403171299e-06f, -5.402231330e-06f, -5.401282129e-06f,
+-5.400323697e-06f, -5.399356038e-06f, -5.398379154e-06f, -5.397393049e-06f, -5.396397725e-06f, -5.395393186e-06f, -5.394379434e-06f, -5.393356473e-06f, -5.392324305e-06f, -5.391282933e-06f,
+-5.390232361e-06f, -5.389172592e-06f, -5.388103628e-06f, -5.387025473e-06f, -5.385938129e-06f, -5.384841600e-06f, -5.383735890e-06f, -5.382621000e-06f, -5.381496935e-06f, -5.380363698e-06f,
+-5.379221291e-06f, -5.378069718e-06f, -5.376908982e-06f, -5.375739087e-06f, -5.374560035e-06f, -5.373371830e-06f, -5.372174475e-06f, -5.370967974e-06f, -5.369752330e-06f, -5.368527546e-06f,
+-5.367293625e-06f, -5.366050571e-06f, -5.364798388e-06f, -5.363537078e-06f, -5.362266645e-06f, -5.360987093e-06f, -5.359698424e-06f, -5.358400643e-06f, -5.357093753e-06f, -5.355777757e-06f,
+-5.354452659e-06f, -5.353118463e-06f, -5.351775171e-06f, -5.350422788e-06f, -5.349061316e-06f, -5.347690761e-06f, -5.346311124e-06f, -5.344922410e-06f, -5.343524623e-06f, -5.342117766e-06f,
+-5.340701842e-06f, -5.339276856e-06f, -5.337842811e-06f, -5.336399710e-06f, -5.334947559e-06f, -5.333486359e-06f, -5.332016115e-06f, -5.330536831e-06f, -5.329048511e-06f, -5.327551158e-06f,
+-5.326044776e-06f, -5.324529368e-06f, -5.323004940e-06f, -5.321471494e-06f, -5.319929035e-06f, -5.318377566e-06f, -5.316817091e-06f, -5.315247615e-06f, -5.313669141e-06f, -5.312081672e-06f,
+-5.310485214e-06f, -5.308879770e-06f, -5.307265343e-06f, -5.305641939e-06f, -5.304009560e-06f, -5.302368212e-06f, -5.300717898e-06f, -5.299058622e-06f, -5.297390388e-06f, -5.295713200e-06f,
+-5.294027063e-06f, -5.292331980e-06f, -5.290627956e-06f, -5.288914995e-06f, -5.287193101e-06f, -5.285462278e-06f, -5.283722531e-06f, -5.281973863e-06f, -5.280216279e-06f, -5.278449783e-06f,
+-5.276674379e-06f, -5.274890072e-06f, -5.273096866e-06f, -5.271294765e-06f, -5.269483773e-06f, -5.267663896e-06f, -5.265835136e-06f, -5.263997500e-06f, -5.262150990e-06f, -5.260295611e-06f,
+-5.258431368e-06f, -5.256558266e-06f, -5.254676307e-06f, -5.252785498e-06f, -5.250885843e-06f, -5.248977345e-06f, -5.247060010e-06f, -5.245133842e-06f, -5.243198846e-06f, -5.241255025e-06f,
+-5.239302385e-06f, -5.237340931e-06f, -5.235370666e-06f, -5.233391595e-06f, -5.231403723e-06f, -5.229407056e-06f, -5.227401596e-06f, -5.225387349e-06f, -5.223364320e-06f, -5.221332513e-06f,
+-5.219291933e-06f, -5.217242584e-06f, -5.215184472e-06f, -5.213117602e-06f, -5.211041977e-06f, -5.208957602e-06f, -5.206864484e-06f, -5.204762625e-06f, -5.202652032e-06f, -5.200532708e-06f,
+-5.198404660e-06f, -5.196267891e-06f, -5.194122406e-06f, -5.191968211e-06f, -5.189805310e-06f, -5.187633709e-06f, -5.185453411e-06f, -5.183264423e-06f, -5.181066748e-06f, -5.178860393e-06f,
+-5.176645362e-06f, -5.174421660e-06f, -5.172189291e-06f, -5.169948262e-06f, -5.167698577e-06f, -5.165440241e-06f, -5.163173260e-06f, -5.160897638e-06f, -5.158613380e-06f, -5.156320492e-06f,
+-5.154018979e-06f, -5.151708845e-06f, -5.149390097e-06f, -5.147062738e-06f, -5.144726775e-06f, -5.142382213e-06f, -5.140029057e-06f, -5.137667311e-06f, -5.135296982e-06f, -5.132918075e-06f,
+-5.130530594e-06f, -5.128134545e-06f, -5.125729934e-06f, -5.123316766e-06f, -5.120895046e-06f, -5.118464779e-06f, -5.116025971e-06f, -5.113578627e-06f, -5.111122753e-06f, -5.108658353e-06f,
+-5.106185434e-06f, -5.103704001e-06f, -5.101214059e-06f, -5.098715614e-06f, -5.096208671e-06f, -5.093693236e-06f, -5.091169314e-06f, -5.088636910e-06f, -5.086096031e-06f, -5.083546681e-06f,
+-5.080988867e-06f, -5.078422594e-06f, -5.075847867e-06f, -5.073264693e-06f, -5.070673076e-06f, -5.068073022e-06f, -5.065464537e-06f, -5.062847627e-06f, -5.060222297e-06f, -5.057588553e-06f,
+-5.054946401e-06f, -5.052295846e-06f, -5.049636895e-06f, -5.046969552e-06f, -5.044293823e-06f, -5.041609716e-06f, -5.038917234e-06f, -5.036216384e-06f, -5.033507172e-06f, -5.030789603e-06f,
+-5.028063684e-06f, -5.025329420e-06f, -5.022586817e-06f, -5.019835881e-06f, -5.017076618e-06f, -5.014309034e-06f, -5.011533134e-06f, -5.008748925e-06f, -5.005956412e-06f, -5.003155602e-06f,
+-5.000346501e-06f, -4.997529114e-06f, -4.994703447e-06f, -4.991869507e-06f, -4.989027299e-06f, -4.986176830e-06f, -4.983318106e-06f, -4.980451132e-06f, -4.977575915e-06f, -4.974692460e-06f,
+-4.971800775e-06f, -4.968900864e-06f, -4.965992735e-06f, -4.963076393e-06f, -4.960151845e-06f, -4.957219096e-06f, -4.954278153e-06f, -4.951329022e-06f, -4.948371710e-06f, -4.945406222e-06f,
+-4.942432564e-06f, -4.939450744e-06f, -4.936460767e-06f, -4.933462639e-06f, -4.930456367e-06f, -4.927441957e-06f, -4.924419416e-06f, -4.921388749e-06f, -4.918349964e-06f, -4.915303066e-06f,
+-4.912248062e-06f, -4.909184958e-06f, -4.906113761e-06f, -4.903034477e-06f, -4.899947112e-06f, -4.896851673e-06f, -4.893748167e-06f, -4.890636599e-06f, -4.887516977e-06f, -4.884389306e-06f,
+-4.881253594e-06f, -4.878109846e-06f, -4.874958070e-06f, -4.871798272e-06f, -4.868630459e-06f, -4.865454636e-06f, -4.862270811e-06f, -4.859078990e-06f, -4.855879180e-06f, -4.852671387e-06f,
+-4.849455618e-06f, -4.846231880e-06f, -4.843000180e-06f, -4.839760523e-06f, -4.836512918e-06f, -4.833257369e-06f, -4.829993885e-06f, -4.826722472e-06f, -4.823443136e-06f, -4.820155884e-06f,
+-4.816860724e-06f, -4.813557662e-06f, -4.810246704e-06f, -4.806927858e-06f, -4.803601130e-06f, -4.800266527e-06f, -4.796924056e-06f, -4.793573724e-06f, -4.790215537e-06f, -4.786849503e-06f,
+-4.783475629e-06f, -4.780093921e-06f, -4.776704386e-06f, -4.773307031e-06f, -4.769901864e-06f, -4.766488890e-06f, -4.763068118e-06f, -4.759639554e-06f, -4.756203205e-06f, -4.752759077e-06f,
+-4.749307179e-06f, -4.745847517e-06f, -4.742380098e-06f, -4.738904929e-06f, -4.735422017e-06f, -4.731931370e-06f, -4.728432994e-06f, -4.724926897e-06f, -4.721413085e-06f, -4.717891566e-06f,
+-4.714362347e-06f, -4.710825435e-06f, -4.707280837e-06f, -4.703728561e-06f, -4.700168613e-06f, -4.696601001e-06f, -4.693025732e-06f, -4.689442814e-06f, -4.685852252e-06f, -4.682254056e-06f,
+-4.678648231e-06f, -4.675034786e-06f, -4.671413727e-06f, -4.667785063e-06f, -4.664148799e-06f, -4.660504944e-06f, -4.656853505e-06f, -4.653194489e-06f, -4.649527903e-06f, -4.645853756e-06f,
+-4.642172053e-06f, -4.638482804e-06f, -4.634786014e-06f, -4.631081693e-06f, -4.627369846e-06f, -4.623650481e-06f, -4.619923607e-06f, -4.616189230e-06f, -4.612447357e-06f, -4.608697997e-06f,
+-4.604941157e-06f, -4.601176845e-06f, -4.597405067e-06f, -4.593625831e-06f, -4.589839146e-06f, -4.586045018e-06f, -4.582243456e-06f, -4.578434466e-06f, -4.574618056e-06f, -4.570794235e-06f,
+-4.566963009e-06f, -4.563124386e-06f, -4.559278374e-06f, -4.555424981e-06f, -4.551564213e-06f, -4.547696080e-06f, -4.543820589e-06f, -4.539937746e-06f, -4.536047561e-06f, -4.532150040e-06f,
+-4.528245192e-06f, -4.524333024e-06f, -4.520413545e-06f, -4.516486761e-06f, -4.512552680e-06f, -4.508611311e-06f, -4.504662661e-06f, -4.500706739e-06f, -4.496743551e-06f, -4.492773105e-06f,
+-4.488795411e-06f, -4.484810475e-06f, -4.480818305e-06f, -4.476818909e-06f, -4.472812296e-06f, -4.468798472e-06f, -4.464777447e-06f, -4.460749227e-06f, -4.456713822e-06f, -4.452671238e-06f,
+-4.448621484e-06f, -4.444564568e-06f, -4.440500497e-06f, -4.436429281e-06f, -4.432350926e-06f, -4.428265441e-06f, -4.424172834e-06f, -4.420073113e-06f, -4.415966286e-06f, -4.411852361e-06f,
+-4.407731346e-06f, -4.403603250e-06f, -4.399468080e-06f, -4.395325844e-06f, -4.391176551e-06f, -4.387020209e-06f, -4.382856826e-06f, -4.378686410e-06f, -4.374508969e-06f, -4.370324511e-06f,
+-4.366133046e-06f, -4.361934580e-06f, -4.357729122e-06f, -4.353516681e-06f, -4.349297264e-06f, -4.345070880e-06f, -4.340837537e-06f, -4.336597244e-06f, -4.332350008e-06f, -4.328095838e-06f,
+-4.323834742e-06f, -4.319566729e-06f, -4.315291807e-06f, -4.311009984e-06f, -4.306721269e-06f, -4.302425670e-06f, -4.298123195e-06f, -4.293813853e-06f, -4.289497652e-06f, -4.285174600e-06f,
+-4.280844707e-06f, -4.276507980e-06f, -4.272164427e-06f, -4.267814058e-06f, -4.263456881e-06f, -4.259092904e-06f, -4.254722135e-06f, -4.250344584e-06f, -4.245960258e-06f, -4.241569167e-06f,
+-4.237171318e-06f, -4.232766720e-06f, -4.228355383e-06f, -4.223937313e-06f, -4.219512521e-06f, -4.215081014e-06f, -4.210642801e-06f, -4.206197891e-06f, -4.201746292e-06f, -4.197288013e-06f,
+-4.192823063e-06f, -4.188351449e-06f, -4.183873182e-06f, -4.179388269e-06f, -4.174896719e-06f, -4.170398541e-06f, -4.165893744e-06f, -4.161382335e-06f, -4.156864325e-06f, -4.152339721e-06f,
+-4.147808533e-06f, -4.143270769e-06f, -4.138726438e-06f, -4.134175548e-06f, -4.129618109e-06f, -4.125054129e-06f, -4.120483617e-06f, -4.115906582e-06f, -4.111323032e-06f, -4.106732977e-06f,
+-4.102136425e-06f, -4.097533385e-06f, -4.092923867e-06f, -4.088307878e-06f, -4.083685428e-06f, -4.079056525e-06f, -4.074421179e-06f, -4.069779398e-06f, -4.065131192e-06f, -4.060476568e-06f,
+-4.055815537e-06f, -4.051148107e-06f, -4.046474288e-06f, -4.041794087e-06f, -4.037107514e-06f, -4.032414578e-06f, -4.027715288e-06f, -4.023009653e-06f, -4.018297683e-06f, -4.013579385e-06f,
+-4.008854769e-06f, -4.004123844e-06f, -3.999386620e-06f, -3.994643104e-06f, -3.989893307e-06f, -3.985137238e-06f, -3.980374904e-06f, -3.975606317e-06f, -3.970831484e-06f, -3.966050414e-06f,
+-3.961263118e-06f, -3.956469604e-06f, -3.951669881e-06f, -3.946863958e-06f, -3.942051845e-06f, -3.937233550e-06f, -3.932409083e-06f, -3.927578454e-06f, -3.922741671e-06f, -3.917898743e-06f,
+-3.913049680e-06f, -3.908194491e-06f, -3.903333185e-06f, -3.898465771e-06f, -3.893592260e-06f, -3.888712659e-06f, -3.883826978e-06f, -3.878935228e-06f, -3.874037416e-06f, -3.869133552e-06f,
+-3.864223645e-06f, -3.859307706e-06f, -3.854385742e-06f, -3.849457764e-06f, -3.844523781e-06f, -3.839583802e-06f, -3.834637837e-06f, -3.829685895e-06f, -3.824727985e-06f, -3.819764117e-06f,
+-3.814794300e-06f, -3.809818543e-06f, -3.804836857e-06f, -3.799849250e-06f, -3.794855731e-06f, -3.789856312e-06f, -3.784851000e-06f, -3.779839805e-06f, -3.774822737e-06f, -3.769799805e-06f,
+-3.764771019e-06f, -3.759736389e-06f, -3.754695923e-06f, -3.749649631e-06f, -3.744597523e-06f, -3.739539609e-06f, -3.734475897e-06f, -3.729406398e-06f, -3.724331122e-06f, -3.719250076e-06f,
+-3.714163272e-06f, -3.709070719e-06f, -3.703972426e-06f, -3.698868403e-06f, -3.693758660e-06f, -3.688643206e-06f, -3.683522051e-06f, -3.678395205e-06f, -3.673262677e-06f, -3.668124477e-06f,
+-3.662980614e-06f, -3.657831098e-06f, -3.652675940e-06f, -3.647515148e-06f, -3.642348733e-06f, -3.637176703e-06f, -3.631999069e-06f, -3.626815841e-06f, -3.621627028e-06f, -3.616432640e-06f,
+-3.611232687e-06f, -3.606027179e-06f, -3.600816124e-06f, -3.595599534e-06f, -3.590377418e-06f, -3.585149785e-06f, -3.579916646e-06f, -3.574678010e-06f, -3.569433887e-06f, -3.564184287e-06f,
+-3.558929220e-06f, -3.553668696e-06f, -3.548402724e-06f, -3.543131314e-06f, -3.537854477e-06f, -3.532572222e-06f, -3.527284559e-06f, -3.521991497e-06f, -3.516693048e-06f, -3.511389220e-06f,
+-3.506080024e-06f, -3.500765469e-06f, -3.495445566e-06f, -3.490120324e-06f, -3.484789754e-06f, -3.479453865e-06f, -3.474112668e-06f, -3.468766171e-06f, -3.463414387e-06f, -3.458057323e-06f,
+-3.452694990e-06f, -3.447327399e-06f, -3.441954559e-06f, -3.436576481e-06f, -3.431193174e-06f, -3.425804648e-06f, -3.420410914e-06f, -3.415011981e-06f, -3.409607860e-06f, -3.404198560e-06f,
+-3.398784092e-06f, -3.393364466e-06f, -3.387939692e-06f, -3.382509780e-06f, -3.377074739e-06f, -3.371634581e-06f, -3.366189316e-06f, -3.360738953e-06f, -3.355283502e-06f, -3.349822974e-06f,
+-3.344357379e-06f, -3.338886727e-06f, -3.333411028e-06f, -3.327930293e-06f, -3.322444531e-06f, -3.316953753e-06f, -3.311457969e-06f, -3.305957189e-06f, -3.300451424e-06f, -3.294940683e-06f,
+-3.289424977e-06f, -3.283904316e-06f, -3.278378710e-06f, -3.272848170e-06f, -3.267312705e-06f, -3.261772327e-06f, -3.256227044e-06f, -3.250676869e-06f, -3.245121810e-06f, -3.239561879e-06f,
+-3.233997085e-06f, -3.228427439e-06f, -3.222852950e-06f, -3.217273631e-06f, -3.211689490e-06f, -3.206100538e-06f, -3.200506785e-06f, -3.194908242e-06f, -3.189304919e-06f, -3.183696827e-06f,
+-3.178083976e-06f, -3.172466375e-06f, -3.166844037e-06f, -3.161216970e-06f, -3.155585185e-06f, -3.149948694e-06f, -3.144307505e-06f, -3.138661630e-06f, -3.133011079e-06f, -3.127355863e-06f,
+-3.121695991e-06f, -3.116031475e-06f, -3.110362324e-06f, -3.104688550e-06f, -3.099010162e-06f, -3.093327172e-06f, -3.087639589e-06f, -3.081947424e-06f, -3.076250687e-06f, -3.070549390e-06f,
+-3.064843543e-06f, -3.059133155e-06f, -3.053418238e-06f, -3.047698802e-06f, -3.041974858e-06f, -3.036246416e-06f, -3.030513486e-06f, -3.024776080e-06f, -3.019034208e-06f, -3.013287880e-06f,
+-3.007537107e-06f, -3.001781899e-06f, -2.996022268e-06f, -2.990258223e-06f, -2.984489775e-06f, -2.978716935e-06f, -2.972939714e-06f, -2.967158122e-06f, -2.961372169e-06f, -2.955581867e-06f,
+-2.949787225e-06f, -2.943988256e-06f, -2.938184968e-06f, -2.932377373e-06f, -2.926565482e-06f, -2.920749304e-06f, -2.914928852e-06f, -2.909104135e-06f, -2.903275164e-06f, -2.897441950e-06f,
+-2.891604503e-06f, -2.885762835e-06f, -2.879916956e-06f, -2.874066876e-06f, -2.868212606e-06f, -2.862354158e-06f, -2.856491541e-06f, -2.850624766e-06f, -2.844753845e-06f, -2.838878788e-06f,
+-2.832999606e-06f, -2.827116309e-06f, -2.821228908e-06f, -2.815337414e-06f, -2.809441838e-06f, -2.803542190e-06f, -2.797638482e-06f, -2.791730723e-06f, -2.785818926e-06f, -2.779903100e-06f,
+-2.773983257e-06f, -2.768059407e-06f, -2.762131561e-06f, -2.756199729e-06f, -2.750263924e-06f, -2.744324155e-06f, -2.738380433e-06f, -2.732432770e-06f, -2.726481176e-06f, -2.720525661e-06f,
+-2.714566237e-06f, -2.708602915e-06f, -2.702635706e-06f, -2.696664619e-06f, -2.690689667e-06f, -2.684710860e-06f, -2.678728210e-06f, -2.672741725e-06f, -2.666751419e-06f, -2.660757302e-06f,
+-2.654759384e-06f, -2.648757676e-06f, -2.642752190e-06f, -2.636742936e-06f, -2.630729926e-06f, -2.624713170e-06f, -2.618692678e-06f, -2.612668463e-06f, -2.606640535e-06f, -2.600608905e-06f,
+-2.594573584e-06f, -2.588534583e-06f, -2.582491913e-06f, -2.576445584e-06f, -2.570395609e-06f, -2.564341997e-06f, -2.558284760e-06f, -2.552223909e-06f, -2.546159454e-06f, -2.540091408e-06f,
+-2.534019780e-06f, -2.527944582e-06f, -2.521865824e-06f, -2.515783519e-06f, -2.509697676e-06f, -2.503608307e-06f, -2.497515424e-06f, -2.491419036e-06f, -2.485319155e-06f, -2.479215792e-06f,
+-2.473108959e-06f, -2.466998665e-06f, -2.460884923e-06f, -2.454767743e-06f, -2.448647136e-06f, -2.442523114e-06f, -2.436395687e-06f, -2.430264867e-06f, -2.424130665e-06f, -2.417993091e-06f,
+-2.411852157e-06f, -2.405707874e-06f, -2.399560254e-06f, -2.393409306e-06f, -2.387255043e-06f, -2.381097475e-06f, -2.374936614e-06f, -2.368772470e-06f, -2.362605055e-06f, -2.356434380e-06f,
+-2.350260457e-06f, -2.344083295e-06f, -2.337902907e-06f, -2.331719303e-06f, -2.325532495e-06f, -2.319342494e-06f, -2.313149311e-06f, -2.306952957e-06f, -2.300753443e-06f, -2.294550781e-06f,
+-2.288344982e-06f, -2.282136056e-06f, -2.275924015e-06f, -2.269708871e-06f, -2.263490634e-06f, -2.257269316e-06f, -2.251044928e-06f, -2.244817481e-06f, -2.238586986e-06f, -2.232353454e-06f,
+-2.226116897e-06f, -2.219877326e-06f, -2.213634753e-06f, -2.207389187e-06f, -2.201140642e-06f, -2.194889127e-06f, -2.188634654e-06f, -2.182377234e-06f, -2.176116880e-06f, -2.169853601e-06f,
+-2.163587409e-06f, -2.157318315e-06f, -2.151046331e-06f, -2.144771468e-06f, -2.138493737e-06f, -2.132213149e-06f, -2.125929716e-06f, -2.119643449e-06f, -2.113354360e-06f, -2.107062458e-06f,
+-2.100767757e-06f, -2.094470267e-06f, -2.088169999e-06f, -2.081866965e-06f, -2.075561176e-06f, -2.069252643e-06f, -2.062941378e-06f, -2.056627392e-06f, -2.050310696e-06f, -2.043991302e-06f,
+-2.037669220e-06f, -2.031344463e-06f, -2.025017041e-06f, -2.018686966e-06f, -2.012354250e-06f, -2.006018903e-06f, -1.999680936e-06f, -1.993340362e-06f, -1.986997192e-06f, -1.980651437e-06f,
+-1.974303107e-06f, -1.967952216e-06f, -1.961598773e-06f, -1.955242791e-06f, -1.948884281e-06f, -1.942523253e-06f, -1.936159720e-06f, -1.929793693e-06f, -1.923425183e-06f, -1.917054202e-06f,
+-1.910680760e-06f, -1.904304870e-06f, -1.897926543e-06f, -1.891545790e-06f, -1.885162622e-06f, -1.878777051e-06f, -1.872389088e-06f, -1.865998746e-06f, -1.859606034e-06f, -1.853210965e-06f,
+-1.846813549e-06f, -1.840413799e-06f, -1.834011726e-06f, -1.827607341e-06f, -1.821200655e-06f, -1.814791680e-06f, -1.808380428e-06f, -1.801966910e-06f, -1.795551137e-06f, -1.789133120e-06f,
+-1.782712872e-06f, -1.776290403e-06f, -1.769865725e-06f, -1.763438849e-06f, -1.757009788e-06f, -1.750578552e-06f, -1.744145152e-06f, -1.737709601e-06f, -1.731271909e-06f, -1.724832088e-06f,
+-1.718390150e-06f, -1.711946106e-06f, -1.705499967e-06f, -1.699051746e-06f, -1.692601452e-06f, -1.686149099e-06f, -1.679694697e-06f, -1.673238257e-06f, -1.666779792e-06f, -1.660319313e-06f,
+-1.653856830e-06f, -1.647392357e-06f, -1.640925903e-06f, -1.634457481e-06f, -1.627987103e-06f, -1.621514779e-06f, -1.615040521e-06f, -1.608564340e-06f, -1.602086249e-06f, -1.595606258e-06f,
+-1.589124379e-06f, -1.582640624e-06f, -1.576155003e-06f, -1.569667530e-06f, -1.563178214e-06f, -1.556687068e-06f, -1.550194102e-06f, -1.543699330e-06f, -1.537202761e-06f, -1.530704408e-06f,
+-1.524204282e-06f, -1.517702394e-06f, -1.511198757e-06f, -1.504693381e-06f, -1.498186278e-06f, -1.491677460e-06f, -1.485166938e-06f, -1.478654724e-06f, -1.472140828e-06f, -1.465625264e-06f,
+-1.459108042e-06f, -1.452589173e-06f, -1.446068670e-06f, -1.439546543e-06f, -1.433022805e-06f, -1.426497467e-06f, -1.419970540e-06f, -1.413442036e-06f, -1.406911966e-06f, -1.400380342e-06f,
+-1.393847176e-06f, -1.387312479e-06f, -1.380776263e-06f, -1.374238538e-06f, -1.367699318e-06f, -1.361158612e-06f, -1.354616433e-06f, -1.348072793e-06f, -1.341527702e-06f, -1.334981173e-06f,
+-1.328433217e-06f, -1.321883845e-06f, -1.315333069e-06f, -1.308780901e-06f, -1.302227351e-06f, -1.295672433e-06f, -1.289116156e-06f, -1.282558534e-06f, -1.275999577e-06f, -1.269439296e-06f,
+-1.262877704e-06f, -1.256314812e-06f, -1.249750632e-06f, -1.243185174e-06f, -1.236618452e-06f, -1.230050475e-06f, -1.223481256e-06f, -1.216910807e-06f, -1.210339138e-06f, -1.203766262e-06f,
+-1.197192190e-06f, -1.190616933e-06f, -1.184040504e-06f, -1.177462913e-06f, -1.170884173e-06f, -1.164304294e-06f, -1.157723288e-06f, -1.151141168e-06f, -1.144557944e-06f, -1.137973628e-06f,
+-1.131388232e-06f, -1.124801767e-06f, -1.118214244e-06f, -1.111625676e-06f, -1.105036074e-06f, -1.098445449e-06f, -1.091853813e-06f, -1.085261178e-06f, -1.078667555e-06f, -1.072072956e-06f,
+-1.065477392e-06f, -1.058880874e-06f, -1.052283416e-06f, -1.045685027e-06f, -1.039085719e-06f, -1.032485505e-06f, -1.025884396e-06f, -1.019282402e-06f, -1.012679537e-06f, -1.006075811e-06f,
+-9.994712354e-07f, -9.928658227e-07f, -9.862595841e-07f, -9.796525311e-07f, -9.730446753e-07f, -9.664360283e-07f, -9.598266016e-07f, -9.532164068e-07f, -9.466054554e-07f, -9.399937591e-07f,
+-9.333813294e-07f, -9.267681779e-07f, -9.201543161e-07f, -9.135397555e-07f, -9.069245078e-07f, -9.003085845e-07f, -8.936919972e-07f, -8.870747575e-07f, -8.804568768e-07f, -8.738383668e-07f,
+-8.672192390e-07f, -8.605995050e-07f, -8.539791763e-07f, -8.473582645e-07f, -8.407367812e-07f, -8.341147379e-07f, -8.274921462e-07f, -8.208690176e-07f, -8.142453637e-07f, -8.076211961e-07f,
+-8.009965262e-07f, -7.943713657e-07f, -7.877457261e-07f, -7.811196190e-07f, -7.744930559e-07f, -7.678660483e-07f, -7.612386078e-07f, -7.546107461e-07f, -7.479824745e-07f, -7.413538047e-07f,
+-7.347247482e-07f, -7.280953165e-07f, -7.214655213e-07f, -7.148353740e-07f, -7.082048861e-07f, -7.015740694e-07f, -6.949429351e-07f, -6.883114950e-07f, -6.816797606e-07f, -6.750477433e-07f,
+-6.684154548e-07f, -6.617829065e-07f, -6.551501100e-07f, -6.485170769e-07f, -6.418838186e-07f, -6.352503467e-07f, -6.286166728e-07f, -6.219828083e-07f, -6.153487648e-07f, -6.087145538e-07f,
+-6.020801868e-07f, -5.954456755e-07f, -5.888110311e-07f, -5.821762654e-07f, -5.755413899e-07f, -5.689064160e-07f, -5.622713552e-07f, -5.556362191e-07f, -5.490010192e-07f, -5.423657670e-07f,
+-5.357304741e-07f, -5.290951519e-07f, -5.224598119e-07f, -5.158244656e-07f, -5.091891246e-07f, -5.025538004e-07f, -4.959185044e-07f, -4.892832482e-07f, -4.826480433e-07f, -4.760129011e-07f,
+-4.693778331e-07f, -4.627428509e-07f, -4.561079660e-07f, -4.494731898e-07f, -4.428385337e-07f, -4.362040095e-07f, -4.295696283e-07f, -4.229354019e-07f, -4.163013417e-07f, -4.096674590e-07f,
+-4.030337655e-07f, -3.964002726e-07f, -3.897669918e-07f, -3.831339345e-07f, -3.765011122e-07f, -3.698685364e-07f, -3.632362185e-07f, -3.566041700e-07f, -3.499724025e-07f, -3.433409272e-07f,
+-3.367097558e-07f, -3.300788996e-07f, -3.234483701e-07f, -3.168181788e-07f, -3.101883370e-07f, -3.035588564e-07f, -2.969297482e-07f, -2.903010240e-07f, -2.836726951e-07f, -2.770447731e-07f,
+-2.704172694e-07f, -2.637901953e-07f, -2.571635624e-07f, -2.505373821e-07f, -2.439116657e-07f, -2.372864247e-07f, -2.306616706e-07f, -2.240374147e-07f, -2.174136685e-07f, -2.107904434e-07f,
+-2.041677509e-07f, -1.975456022e-07f, -1.909240088e-07f, -1.843029822e-07f, -1.776825337e-07f, -1.710626747e-07f, -1.644434167e-07f, -1.578247710e-07f, -1.512067490e-07f, -1.445893621e-07f,
+-1.379726218e-07f, -1.313565393e-07f, -1.247411261e-07f, -1.181263935e-07f, -1.115123529e-07f, -1.048990158e-07f, -9.828639337e-08f, -9.167449712e-08f, -8.506333837e-08f, -7.845292849e-08f,
+-7.184327883e-08f, -6.523440075e-08f, -5.862630562e-08f, -5.201900477e-08f, -4.541250956e-08f, -3.880683134e-08f, -3.220198144e-08f, -2.559797121e-08f, -1.899481199e-08f, -1.239251510e-08f,
+-5.791091877e-09f, 8.094463469e-10f, 7.409088250e-09f, 1.400782251e-08f, 2.060563781e-08f, 2.720252283e-08f, 3.379846627e-08f, 4.039345681e-08f, 4.698748314e-08f, 5.358053397e-08f,
+6.017259799e-08f, 6.676366391e-08f, 7.335372044e-08f, 7.994275628e-08f, 8.653076015e-08f, 9.311772077e-08f, 9.970362685e-08f, 1.062884671e-07f, 1.128722303e-07f, 1.194549052e-07f,
+1.260364804e-07f, 1.326169447e-07f, 1.391962869e-07f, 1.457744957e-07f, 1.523515599e-07f, 1.589274681e-07f, 1.655022093e-07f, 1.720757720e-07f, 1.786481451e-07f, 1.852193174e-07f,
+1.917892775e-07f, 1.983580144e-07f, 2.049255167e-07f, 2.114917733e-07f, 2.180567728e-07f, 2.246205042e-07f, 2.311829562e-07f, 2.377441176e-07f, 2.443039772e-07f, 2.508625238e-07f,
+2.574197462e-07f, 2.639756332e-07f, 2.705301736e-07f, 2.770833563e-07f, 2.836351701e-07f, 2.901856037e-07f, 2.967346461e-07f, 3.032822860e-07f, 3.098285124e-07f, 3.163733139e-07f,
+3.229166796e-07f, 3.294585981e-07f, 3.359990585e-07f, 3.425380495e-07f, 3.490755600e-07f, 3.556115788e-07f, 3.621460949e-07f, 3.686790971e-07f, 3.752105743e-07f, 3.817405154e-07f,
+3.882689092e-07f, 3.947957447e-07f, 4.013210107e-07f, 4.078446961e-07f, 4.143667899e-07f, 4.208872809e-07f, 4.274061581e-07f, 4.339234103e-07f, 4.404390266e-07f, 4.469529958e-07f,
+4.534653068e-07f, 4.599759486e-07f, 4.664849101e-07f, 4.729921803e-07f, 4.794977481e-07f, 4.860016025e-07f, 4.925037324e-07f, 4.990041267e-07f, 5.055027745e-07f, 5.119996647e-07f,
+5.184947863e-07f, 5.249881282e-07f, 5.314796795e-07f, 5.379694291e-07f, 5.444573660e-07f, 5.509434792e-07f, 5.574277578e-07f, 5.639101907e-07f, 5.703907669e-07f, 5.768694754e-07f,
+5.833463054e-07f, 5.898212457e-07f, 5.962942854e-07f, 6.027654136e-07f, 6.092346193e-07f, 6.157018916e-07f, 6.221672194e-07f, 6.286305919e-07f, 6.350919980e-07f, 6.415514270e-07f,
+6.480088677e-07f, 6.544643094e-07f, 6.609177410e-07f, 6.673691518e-07f, 6.738185306e-07f, 6.802658668e-07f, 6.867111492e-07f, 6.931543671e-07f, 6.995955096e-07f, 7.060345657e-07f,
+7.124715247e-07f, 7.189063755e-07f, 7.253391074e-07f, 7.317697094e-07f, 7.381981708e-07f, 7.446244806e-07f, 7.510486280e-07f, 7.574706022e-07f, 7.638903923e-07f, 7.703079875e-07f,
+7.767233770e-07f, 7.831365498e-07f, 7.895474953e-07f, 7.959562026e-07f, 8.023626609e-07f, 8.087668593e-07f, 8.151687872e-07f, 8.215684336e-07f, 8.279657879e-07f, 8.343608392e-07f,
+8.407535767e-07f, 8.471439897e-07f, 8.535320675e-07f, 8.599177992e-07f, 8.663011741e-07f, 8.726821814e-07f, 8.790608105e-07f, 8.854370505e-07f, 8.918108908e-07f, 8.981823206e-07f,
+9.045513292e-07f, 9.109179059e-07f, 9.172820400e-07f, 9.236437207e-07f, 9.300029374e-07f, 9.363596794e-07f, 9.427139360e-07f, 9.490656964e-07f, 9.554149502e-07f, 9.617616865e-07f,
+9.681058947e-07f, 9.744475641e-07f, 9.807866842e-07f, 9.871232442e-07f, 9.934572335e-07f, 9.997886415e-07f, 1.006117458e-06f, 1.012443671e-06f, 1.018767271e-06f, 1.025088248e-06f,
+1.031406590e-06f, 1.037722287e-06f, 1.044035329e-06f, 1.050345704e-06f, 1.056653403e-06f, 1.062958414e-06f, 1.069260727e-06f, 1.075560332e-06f, 1.081857218e-06f, 1.088151374e-06f,
+1.094442791e-06f, 1.100731456e-06f, 1.107017361e-06f, 1.113300493e-06f, 1.119580844e-06f, 1.125858402e-06f, 1.132133156e-06f, 1.138405097e-06f, 1.144674214e-06f, 1.150940496e-06f,
+1.157203932e-06f, 1.163464513e-06f, 1.169722228e-06f, 1.175977066e-06f, 1.182229018e-06f, 1.188478071e-06f, 1.194724217e-06f, 1.200967445e-06f, 1.207207743e-06f, 1.213445103e-06f,
+1.219679513e-06f, 1.225910962e-06f, 1.232139442e-06f, 1.238364940e-06f, 1.244587447e-06f, 1.250806953e-06f, 1.257023446e-06f, 1.263236917e-06f, 1.269447356e-06f, 1.275654751e-06f,
+1.281859093e-06f, 1.288060371e-06f, 1.294258575e-06f, 1.300453695e-06f, 1.306645720e-06f, 1.312834639e-06f, 1.319020444e-06f, 1.325203122e-06f, 1.331382665e-06f, 1.337559061e-06f,
+1.343732301e-06f, 1.349902374e-06f, 1.356069270e-06f, 1.362232978e-06f, 1.368393489e-06f, 1.374550792e-06f, 1.380704877e-06f, 1.386855733e-06f, 1.393003351e-06f, 1.399147720e-06f,
+1.405288830e-06f, 1.411426671e-06f, 1.417561232e-06f, 1.423692504e-06f, 1.429820476e-06f, 1.435945138e-06f, 1.442066480e-06f, 1.448184492e-06f, 1.454299163e-06f, 1.460410484e-06f,
+1.466518444e-06f, 1.472623033e-06f, 1.478724241e-06f, 1.484822058e-06f, 1.490916473e-06f, 1.497007477e-06f, 1.503095060e-06f, 1.509179212e-06f, 1.515259921e-06f, 1.521337179e-06f,
+1.527410975e-06f, 1.533481300e-06f, 1.539548142e-06f, 1.545611493e-06f, 1.551671342e-06f, 1.557727678e-06f, 1.563780493e-06f, 1.569829776e-06f, 1.575875516e-06f, 1.581917705e-06f,
+1.587956331e-06f, 1.593991386e-06f, 1.600022858e-06f, 1.606050739e-06f, 1.612075017e-06f, 1.618095684e-06f, 1.624112729e-06f, 1.630126142e-06f, 1.636135913e-06f, 1.642142033e-06f,
+1.648144491e-06f, 1.654143277e-06f, 1.660138383e-06f, 1.666129797e-06f, 1.672117509e-06f, 1.678101511e-06f, 1.684081792e-06f, 1.690058342e-06f, 1.696031152e-06f, 1.702000211e-06f,
+1.707965509e-06f, 1.713927038e-06f, 1.719884786e-06f, 1.725838745e-06f, 1.731788904e-06f, 1.737735254e-06f, 1.743677785e-06f, 1.749616486e-06f, 1.755551349e-06f, 1.761482364e-06f,
+1.767409520e-06f, 1.773332808e-06f, 1.779252218e-06f, 1.785167741e-06f, 1.791079366e-06f, 1.796987085e-06f, 1.802890886e-06f, 1.808790762e-06f, 1.814686701e-06f, 1.820578695e-06f,
+1.826466733e-06f, 1.832350806e-06f, 1.838230904e-06f, 1.844107018e-06f, 1.849979138e-06f, 1.855847254e-06f, 1.861711356e-06f, 1.867571436e-06f, 1.873427483e-06f, 1.879279488e-06f,
+1.885127441e-06f, 1.890971332e-06f, 1.896811153e-06f, 1.902646893e-06f, 1.908478543e-06f, 1.914306094e-06f, 1.920129535e-06f, 1.925948857e-06f, 1.931764051e-06f, 1.937575108e-06f,
+1.943382017e-06f, 1.949184769e-06f, 1.954983355e-06f, 1.960777765e-06f, 1.966567990e-06f, 1.972354020e-06f, 1.978135846e-06f, 1.983913458e-06f, 1.989686847e-06f, 1.995456003e-06f,
+2.001220918e-06f, 2.006981581e-06f, 2.012737983e-06f, 2.018490115e-06f, 2.024237968e-06f, 2.029981531e-06f, 2.035720797e-06f, 2.041455754e-06f, 2.047186394e-06f, 2.052912708e-06f,
+2.058634686e-06f, 2.064352319e-06f, 2.070065598e-06f, 2.075774513e-06f, 2.081479055e-06f, 2.087179214e-06f, 2.092874982e-06f, 2.098566349e-06f, 2.104253305e-06f, 2.109935842e-06f,
+2.115613951e-06f, 2.121287621e-06f, 2.126956845e-06f, 2.132621612e-06f, 2.138281913e-06f, 2.143937740e-06f, 2.149589082e-06f, 2.155235931e-06f, 2.160878278e-06f, 2.166516114e-06f,
+2.172149428e-06f, 2.177778213e-06f, 2.183402459e-06f, 2.189022156e-06f, 2.194637296e-06f, 2.200247870e-06f, 2.205853868e-06f, 2.211455282e-06f, 2.217052102e-06f, 2.222644319e-06f,
+2.228231925e-06f, 2.233814909e-06f, 2.239393264e-06f, 2.244966979e-06f, 2.250536047e-06f, 2.256100457e-06f, 2.261660201e-06f, 2.267215270e-06f, 2.272765656e-06f, 2.278311348e-06f,
+2.283852338e-06f, 2.289388617e-06f, 2.294920176e-06f, 2.300447006e-06f, 2.305969098e-06f, 2.311486443e-06f, 2.316999033e-06f, 2.322506858e-06f, 2.328009910e-06f, 2.333508179e-06f,
+2.339001657e-06f, 2.344490335e-06f, 2.349974203e-06f, 2.355453254e-06f, 2.360927478e-06f, 2.366396866e-06f, 2.371861410e-06f, 2.377321101e-06f, 2.382775930e-06f, 2.388225888e-06f,
+2.393670966e-06f, 2.399111156e-06f, 2.404546449e-06f, 2.409976836e-06f, 2.415402308e-06f, 2.420822857e-06f, 2.426238474e-06f, 2.431649150e-06f, 2.437054876e-06f, 2.442455644e-06f,
+2.447851445e-06f, 2.453242271e-06f, 2.458628112e-06f, 2.464008960e-06f, 2.469384807e-06f, 2.474755643e-06f, 2.480121460e-06f, 2.485482250e-06f, 2.490838004e-06f, 2.496188713e-06f,
+2.501534369e-06f, 2.506874963e-06f, 2.512210487e-06f, 2.517540931e-06f, 2.522866288e-06f, 2.528186549e-06f, 2.533501705e-06f, 2.538811748e-06f, 2.544116669e-06f, 2.549416460e-06f,
+2.554711113e-06f, 2.560000618e-06f, 2.565284968e-06f, 2.570564153e-06f, 2.575838166e-06f, 2.581106998e-06f, 2.586370641e-06f, 2.591629086e-06f, 2.596882324e-06f, 2.602130348e-06f,
+2.607373149e-06f, 2.612610718e-06f, 2.617843048e-06f, 2.623070130e-06f, 2.628291955e-06f, 2.633508515e-06f, 2.638719802e-06f, 2.643925808e-06f, 2.649126523e-06f, 2.654321941e-06f,
+2.659512052e-06f, 2.664696849e-06f, 2.669876323e-06f, 2.675050466e-06f, 2.680219269e-06f, 2.685382724e-06f, 2.690540824e-06f, 2.695693560e-06f, 2.700840923e-06f, 2.705982906e-06f,
+2.711119500e-06f, 2.716250697e-06f, 2.721376489e-06f, 2.726496869e-06f, 2.731611826e-06f, 2.736721355e-06f, 2.741825446e-06f, 2.746924091e-06f, 2.752017282e-06f, 2.757105012e-06f,
+2.762187271e-06f, 2.767264053e-06f, 2.772335348e-06f, 2.777401150e-06f, 2.782461449e-06f, 2.787516238e-06f, 2.792565509e-06f, 2.797609254e-06f, 2.802647465e-06f, 2.807680133e-06f,
+2.812707251e-06f, 2.817728812e-06f, 2.822744806e-06f, 2.827755226e-06f, 2.832760064e-06f, 2.837759313e-06f, 2.842752964e-06f, 2.847741009e-06f, 2.852723440e-06f, 2.857700250e-06f,
+2.862671431e-06f, 2.867636975e-06f, 2.872596874e-06f, 2.877551120e-06f, 2.882499705e-06f, 2.887442623e-06f, 2.892379863e-06f, 2.897311420e-06f, 2.902237285e-06f, 2.907157451e-06f,
+2.912071909e-06f, 2.916980652e-06f, 2.921883672e-06f, 2.926780962e-06f, 2.931672514e-06f, 2.936558320e-06f, 2.941438372e-06f, 2.946312663e-06f, 2.951181185e-06f, 2.956043930e-06f,
+2.960900891e-06f, 2.965752060e-06f, 2.970597430e-06f, 2.975436992e-06f, 2.980270740e-06f, 2.985098666e-06f, 2.989920761e-06f, 2.994737020e-06f, 2.999547433e-06f, 3.004351993e-06f,
+3.009150694e-06f, 3.013943527e-06f, 3.018730485e-06f, 3.023511560e-06f, 3.028286745e-06f, 3.033056032e-06f, 3.037819415e-06f, 3.042576885e-06f, 3.047328435e-06f, 3.052074057e-06f,
+3.056813745e-06f, 3.061547490e-06f, 3.066275286e-06f, 3.070997125e-06f, 3.075713000e-06f, 3.080422902e-06f, 3.085126826e-06f, 3.089824763e-06f, 3.094516707e-06f, 3.099202649e-06f,
+3.103882583e-06f, 3.108556501e-06f, 3.113224397e-06f, 3.117886262e-06f, 3.122542089e-06f, 3.127191872e-06f, 3.131835603e-06f, 3.136473274e-06f, 3.141104879e-06f, 3.145730411e-06f,
+3.150349861e-06f, 3.154963224e-06f, 3.159570491e-06f, 3.164171656e-06f, 3.168766712e-06f, 3.173355650e-06f, 3.177938466e-06f, 3.182515150e-06f, 3.187085696e-06f, 3.191650097e-06f,
+3.196208346e-06f, 3.200760436e-06f, 3.205306359e-06f, 3.209846110e-06f, 3.214379680e-06f, 3.218907062e-06f, 3.223428250e-06f, 3.227943237e-06f, 3.232452016e-06f, 3.236954579e-06f,
+3.241450920e-06f, 3.245941032e-06f, 3.250424907e-06f, 3.254902540e-06f, 3.259373922e-06f, 3.263839048e-06f, 3.268297909e-06f, 3.272750501e-06f, 3.277196814e-06f, 3.281636843e-06f,
+3.286070581e-06f, 3.290498021e-06f, 3.294919156e-06f, 3.299333980e-06f, 3.303742484e-06f, 3.308144664e-06f, 3.312540512e-06f, 3.316930020e-06f, 3.321313184e-06f, 3.325689995e-06f,
+3.330060447e-06f, 3.334424533e-06f, 3.338782247e-06f, 3.343133582e-06f, 3.347478530e-06f, 3.351817087e-06f, 3.356149245e-06f, 3.360474996e-06f, 3.364794336e-06f, 3.369107256e-06f,
+3.373413751e-06f, 3.377713814e-06f, 3.382007437e-06f, 3.386294616e-06f, 3.390575343e-06f, 3.394849611e-06f, 3.399117414e-06f, 3.403378746e-06f, 3.407633600e-06f, 3.411881970e-06f,
+3.416123848e-06f, 3.420359229e-06f, 3.424588107e-06f, 3.428810474e-06f, 3.433026324e-06f, 3.437235651e-06f, 3.441438448e-06f, 3.445634710e-06f, 3.449824429e-06f, 3.454007599e-06f,
+3.458184214e-06f, 3.462354268e-06f, 3.466517754e-06f, 3.470674666e-06f, 3.474824997e-06f, 3.478968742e-06f, 3.483105894e-06f, 3.487236446e-06f, 3.491360393e-06f, 3.495477728e-06f,
+3.499588445e-06f, 3.503692538e-06f, 3.507790000e-06f, 3.511880826e-06f, 3.515965009e-06f, 3.520042543e-06f, 3.524113421e-06f, 3.528177638e-06f, 3.532235188e-06f, 3.536286064e-06f,
+3.540330260e-06f, 3.544367771e-06f, 3.548398590e-06f, 3.552422710e-06f, 3.556440127e-06f, 3.560450833e-06f, 3.564454823e-06f, 3.568452091e-06f, 3.572442631e-06f, 3.576426437e-06f,
+3.580403502e-06f, 3.584373822e-06f, 3.588337389e-06f, 3.592294198e-06f, 3.596244243e-06f, 3.600187518e-06f, 3.604124018e-06f, 3.608053735e-06f, 3.611976665e-06f, 3.615892801e-06f,
+3.619802138e-06f, 3.623704670e-06f, 3.627600390e-06f, 3.631489294e-06f, 3.635371375e-06f, 3.639246627e-06f, 3.643115046e-06f, 3.646976624e-06f, 3.650831356e-06f, 3.654679236e-06f,
+3.658520260e-06f, 3.662354420e-06f, 3.666181711e-06f, 3.670002128e-06f, 3.673815665e-06f, 3.677622316e-06f, 3.681422075e-06f, 3.685214937e-06f, 3.689000897e-06f, 3.692779948e-06f,
+3.696552085e-06f, 3.700317302e-06f, 3.704075595e-06f, 3.707826956e-06f, 3.711571381e-06f, 3.715308865e-06f, 3.719039400e-06f, 3.722762983e-06f, 3.726479608e-06f, 3.730189268e-06f,
+3.733891960e-06f, 3.737587676e-06f, 3.741276412e-06f, 3.744958162e-06f, 3.748632921e-06f, 3.752300683e-06f, 3.755961443e-06f, 3.759615196e-06f, 3.763261936e-06f, 3.766901658e-06f,
+3.770534356e-06f, 3.774160025e-06f, 3.777778660e-06f, 3.781390256e-06f, 3.784994807e-06f, 3.788592308e-06f, 3.792182753e-06f, 3.795766138e-06f, 3.799342456e-06f, 3.802911704e-06f,
+3.806473875e-06f, 3.810028965e-06f, 3.813576968e-06f, 3.817117879e-06f, 3.820651693e-06f, 3.824178405e-06f, 3.827698009e-06f, 3.831210500e-06f, 3.834715874e-06f, 3.838214125e-06f,
+3.841705249e-06f, 3.845189239e-06f, 3.848666091e-06f, 3.852135800e-06f, 3.855598361e-06f, 3.859053769e-06f, 3.862502019e-06f, 3.865943105e-06f, 3.869377024e-06f, 3.872803769e-06f,
+3.876223336e-06f, 3.879635720e-06f, 3.883040916e-06f, 3.886438919e-06f, 3.889829724e-06f, 3.893213327e-06f, 3.896589722e-06f, 3.899958905e-06f, 3.903320870e-06f, 3.906675613e-06f,
+3.910023129e-06f, 3.913363413e-06f, 3.916696460e-06f, 3.920022266e-06f, 3.923340826e-06f, 3.926652135e-06f, 3.929956188e-06f, 3.933252981e-06f, 3.936542509e-06f, 3.939824766e-06f,
+3.943099749e-06f, 3.946367453e-06f, 3.949627873e-06f, 3.952881004e-06f, 3.956126842e-06f, 3.959365382e-06f, 3.962596620e-06f, 3.965820550e-06f, 3.969037169e-06f, 3.972246471e-06f,
+3.975448453e-06f, 3.978643109e-06f, 3.981830435e-06f, 3.985010427e-06f, 3.988183080e-06f, 3.991348389e-06f, 3.994506350e-06f, 3.997656959e-06f, 4.000800211e-06f, 4.003936102e-06f,
+4.007064626e-06f, 4.010185781e-06f, 4.013299561e-06f, 4.016405962e-06f, 4.019504980e-06f, 4.022596609e-06f, 4.025680847e-06f, 4.028757689e-06f, 4.031827129e-06f, 4.034889165e-06f,
+4.037943791e-06f, 4.040991003e-06f, 4.044030798e-06f, 4.047063170e-06f, 4.050088116e-06f, 4.053105631e-06f, 4.056115712e-06f, 4.059118353e-06f, 4.062113551e-06f, 4.065101302e-06f,
+4.068081601e-06f, 4.071054444e-06f, 4.074019827e-06f, 4.076977746e-06f, 4.079928197e-06f, 4.082871176e-06f, 4.085806679e-06f, 4.088734701e-06f, 4.091655239e-06f, 4.094568288e-06f,
+4.097473845e-06f, 4.100371905e-06f, 4.103262465e-06f, 4.106145520e-06f, 4.109021067e-06f, 4.111889101e-06f, 4.114749619e-06f, 4.117602616e-06f, 4.120448090e-06f, 4.123286035e-06f,
+4.126116448e-06f, 4.128939325e-06f, 4.131754663e-06f, 4.134562456e-06f, 4.137362703e-06f, 4.140155397e-06f, 4.142940537e-06f, 4.145718118e-06f, 4.148488136e-06f, 4.151250588e-06f,
+4.154005470e-06f, 4.156752777e-06f, 4.159492507e-06f, 4.162224655e-06f, 4.164949219e-06f, 4.167666193e-06f, 4.170375575e-06f, 4.173077361e-06f, 4.175771547e-06f, 4.178458130e-06f,
+4.181137106e-06f, 4.183808471e-06f, 4.186472221e-06f, 4.189128354e-06f, 4.191776866e-06f, 4.194417752e-06f, 4.197051011e-06f, 4.199676637e-06f, 4.202294627e-06f, 4.204904979e-06f,
+4.207507688e-06f, 4.210102751e-06f, 4.212690165e-06f, 4.215269926e-06f, 4.217842031e-06f, 4.220406476e-06f, 4.222963258e-06f, 4.225512373e-06f, 4.228053819e-06f, 4.230587591e-06f,
+4.233113687e-06f, 4.235632103e-06f, 4.238142835e-06f, 4.240645882e-06f, 4.243141238e-06f, 4.245628901e-06f, 4.248108868e-06f, 4.250581136e-06f, 4.253045700e-06f, 4.255502559e-06f,
+4.257951708e-06f, 4.260393145e-06f, 4.262826866e-06f, 4.265252869e-06f, 4.267671149e-06f, 4.270081705e-06f, 4.272484532e-06f, 4.274879628e-06f, 4.277266989e-06f, 4.279646613e-06f,
+4.282018497e-06f, 4.284382637e-06f, 4.286739030e-06f, 4.289087673e-06f, 4.291428564e-06f, 4.293761699e-06f, 4.296087076e-06f, 4.298404690e-06f, 4.300714541e-06f, 4.303016623e-06f,
+4.305310935e-06f, 4.307597474e-06f, 4.309876237e-06f, 4.312147220e-06f, 4.314410421e-06f, 4.316665837e-06f, 4.318913466e-06f, 4.321153304e-06f, 4.323385348e-06f, 4.325609596e-06f,
+4.327826046e-06f, 4.330034693e-06f, 4.332235536e-06f, 4.334428571e-06f, 4.336613797e-06f, 4.338791209e-06f, 4.340960807e-06f, 4.343122586e-06f, 4.345276544e-06f, 4.347422679e-06f,
+4.349560987e-06f, 4.351691467e-06f, 4.353814115e-06f, 4.355928930e-06f, 4.358035907e-06f, 4.360135046e-06f, 4.362226342e-06f, 4.364309794e-06f, 4.366385400e-06f, 4.368453156e-06f,
+4.370513060e-06f, 4.372565110e-06f, 4.374609302e-06f, 4.376645636e-06f, 4.378674107e-06f, 4.380694714e-06f, 4.382707455e-06f, 4.384712327e-06f, 4.386709326e-06f, 4.388698453e-06f,
+4.390679702e-06f, 4.392653073e-06f, 4.394618564e-06f, 4.396576170e-06f, 4.398525892e-06f, 4.400467725e-06f, 4.402401668e-06f, 4.404327719e-06f, 4.406245875e-06f, 4.408156133e-06f,
+4.410058493e-06f, 4.411952951e-06f, 4.413839506e-06f, 4.415718154e-06f, 4.417588895e-06f, 4.419451726e-06f, 4.421306644e-06f, 4.423153647e-06f, 4.424992734e-06f, 4.426823903e-06f,
+4.428647150e-06f, 4.430462475e-06f, 4.432269875e-06f, 4.434069348e-06f, 4.435860892e-06f, 4.437644505e-06f, 4.439420184e-06f, 4.441187929e-06f, 4.442947737e-06f, 4.444699606e-06f,
+4.446443533e-06f, 4.448179518e-06f, 4.449907558e-06f, 4.451627652e-06f, 4.453339797e-06f, 4.455043991e-06f, 4.456740233e-06f, 4.458428521e-06f, 4.460108853e-06f, 4.461781226e-06f,
+4.463445641e-06f, 4.465102093e-06f, 4.466750583e-06f, 4.468391107e-06f, 4.470023665e-06f, 4.471648254e-06f, 4.473264873e-06f, 4.474873520e-06f, 4.476474193e-06f, 4.478066891e-06f,
+4.479651612e-06f, 4.481228354e-06f, 4.482797116e-06f, 4.484357895e-06f, 4.485910692e-06f, 4.487455503e-06f, 4.488992327e-06f, 4.490521163e-06f, 4.492042010e-06f, 4.493554865e-06f,
+4.495059726e-06f, 4.496556594e-06f, 4.498045465e-06f, 4.499526339e-06f, 4.500999214e-06f, 4.502464089e-06f, 4.503920961e-06f, 4.505369831e-06f, 4.506810696e-06f, 4.508243554e-06f,
+4.509668406e-06f, 4.511085248e-06f, 4.512494080e-06f, 4.513894901e-06f, 4.515287709e-06f, 4.516672502e-06f, 4.518049280e-06f, 4.519418041e-06f, 4.520778784e-06f, 4.522131508e-06f,
+4.523476211e-06f, 4.524812892e-06f, 4.526141551e-06f, 4.527462185e-06f, 4.528774793e-06f, 4.530079375e-06f, 4.531375929e-06f, 4.532664455e-06f, 4.533944950e-06f, 4.535217414e-06f,
+4.536481845e-06f, 4.537738243e-06f, 4.538986607e-06f, 4.540226935e-06f, 4.541459227e-06f, 4.542683481e-06f, 4.543899696e-06f, 4.545107872e-06f, 4.546308007e-06f, 4.547500100e-06f,
+4.548684151e-06f, 4.549860158e-06f, 4.551028121e-06f, 4.552188038e-06f, 4.553339909e-06f, 4.554483733e-06f, 4.555619509e-06f, 4.556747235e-06f, 4.557866912e-06f, 4.558978538e-06f,
+4.560082113e-06f, 4.561177635e-06f, 4.562265105e-06f, 4.563344520e-06f, 4.564415881e-06f, 4.565479186e-06f, 4.566534435e-06f, 4.567581628e-06f, 4.568620762e-06f, 4.569651839e-06f,
+4.570674856e-06f, 4.571689814e-06f, 4.572696711e-06f, 4.573695548e-06f, 4.574686323e-06f, 4.575669036e-06f, 4.576643686e-06f, 4.577610272e-06f, 4.578568795e-06f, 4.579519253e-06f,
+4.580461646e-06f, 4.581395974e-06f, 4.582322235e-06f, 4.583240430e-06f, 4.584150558e-06f, 4.585052618e-06f, 4.585946610e-06f, 4.586832534e-06f, 4.587710389e-06f, 4.588580175e-06f,
+4.589441890e-06f, 4.590295536e-06f, 4.591141111e-06f, 4.591978616e-06f, 4.592808049e-06f, 4.593629411e-06f, 4.594442701e-06f, 4.595247918e-06f, 4.596045064e-06f, 4.596834136e-06f,
+4.597615136e-06f, 4.598388062e-06f, 4.599152915e-06f, 4.599909694e-06f, 4.600658400e-06f, 4.601399031e-06f, 4.602131588e-06f, 4.602856070e-06f, 4.603572478e-06f, 4.604280812e-06f,
+4.604981070e-06f, 4.605673254e-06f, 4.606357362e-06f, 4.607033396e-06f, 4.607701354e-06f, 4.608361237e-06f, 4.609013045e-06f, 4.609656777e-06f, 4.610292434e-06f, 4.610920016e-06f,
+4.611539522e-06f, 4.612150954e-06f, 4.612754310e-06f, 4.613349591e-06f, 4.613936796e-06f, 4.614515927e-06f, 4.615086983e-06f, 4.615649964e-06f, 4.616204871e-06f, 4.616751703e-06f,
+4.617290461e-06f, 4.617821144e-06f, 4.618343754e-06f, 4.618858290e-06f, 4.619364752e-06f, 4.619863141e-06f, 4.620353457e-06f, 4.620835700e-06f, 4.621309870e-06f, 4.621775968e-06f,
+4.622233994e-06f, 4.622683949e-06f, 4.623125832e-06f, 4.623559644e-06f, 4.623985385e-06f, 4.624403056e-06f, 4.624812658e-06f, 4.625214189e-06f, 4.625607652e-06f, 4.625993046e-06f,
+4.626370372e-06f, 4.626739629e-06f, 4.627100820e-06f, 4.627453944e-06f, 4.627799001e-06f, 4.628135993e-06f, 4.628464919e-06f, 4.628785780e-06f, 4.629098577e-06f, 4.629403311e-06f,
+4.629699981e-06f, 4.629988589e-06f, 4.630269135e-06f, 4.630541619e-06f, 4.630806043e-06f, 4.631062407e-06f, 4.631310712e-06f, 4.631550958e-06f, 4.631783145e-06f, 4.632007276e-06f,
+4.632223350e-06f, 4.632431368e-06f, 4.632631331e-06f, 4.632823240e-06f, 4.633007095e-06f, 4.633182897e-06f, 4.633350648e-06f, 4.633510347e-06f, 4.633661996e-06f, 4.633805595e-06f,
+4.633941146e-06f, 4.634068649e-06f, 4.634188105e-06f, 4.634299514e-06f, 4.634402879e-06f, 4.634498200e-06f, 4.634585477e-06f, 4.634664712e-06f, 4.634735906e-06f, 4.634799059e-06f,
+4.634854174e-06f, 4.634901249e-06f, 4.634940288e-06f, 4.634971290e-06f, 4.634994256e-06f, 4.635009189e-06f, 4.635016089e-06f, 4.635014956e-06f, 4.635005793e-06f, 4.634988599e-06f,
+4.634963378e-06f, 4.634930128e-06f, 4.634888852e-06f, 4.634839551e-06f, 4.634782226e-06f, 4.634716878e-06f, 4.634643509e-06f, 4.634562119e-06f, 4.634472710e-06f, 4.634375283e-06f,
+4.634269840e-06f, 4.634156381e-06f, 4.634034908e-06f, 4.633905423e-06f, 4.633767926e-06f, 4.633622419e-06f, 4.633468903e-06f, 4.633307380e-06f, 4.633137851e-06f, 4.632960317e-06f,
+4.632774780e-06f, 4.632581242e-06f, 4.632379703e-06f, 4.632170165e-06f, 4.631952630e-06f, 4.631727099e-06f, 4.631493573e-06f, 4.631252055e-06f, 4.631002545e-06f, 4.630745045e-06f,
+4.630479557e-06f, 4.630206082e-06f, 4.629924621e-06f, 4.629635177e-06f, 4.629337751e-06f, 4.629032345e-06f, 4.628718959e-06f, 4.628397597e-06f, 4.628068259e-06f, 4.627730947e-06f,
+4.627385662e-06f, 4.627032408e-06f, 4.626671184e-06f, 4.626301994e-06f, 4.625924838e-06f, 4.625539718e-06f, 4.625146637e-06f, 4.624745595e-06f, 4.624336596e-06f, 4.623919639e-06f,
+4.623494729e-06f, 4.623061865e-06f, 4.622621050e-06f, 4.622172286e-06f, 4.621715575e-06f, 4.621250918e-06f, 4.620778318e-06f, 4.620297777e-06f, 4.619809295e-06f, 4.619312876e-06f,
+4.618808522e-06f, 4.618296233e-06f, 4.617776012e-06f, 4.617247862e-06f, 4.616711784e-06f, 4.616167780e-06f, 4.615615852e-06f, 4.615056002e-06f, 4.614488233e-06f, 4.613912546e-06f,
+4.613328944e-06f, 4.612737428e-06f, 4.612138000e-06f, 4.611530664e-06f, 4.610915420e-06f, 4.610292272e-06f, 4.609661221e-06f, 4.609022269e-06f, 4.608375419e-06f, 4.607720672e-06f,
+4.607058032e-06f, 4.606387500e-06f, 4.605709078e-06f, 4.605022769e-06f, 4.604328576e-06f, 4.603626499e-06f, 4.602916542e-06f, 4.602198707e-06f, 4.601472997e-06f, 4.600739413e-06f,
+4.599997958e-06f, 4.599248634e-06f, 4.598491444e-06f, 4.597726390e-06f, 4.596953475e-06f, 4.596172700e-06f, 4.595384069e-06f, 4.594587584e-06f, 4.593783247e-06f, 4.592971060e-06f,
+4.592151027e-06f, 4.591323150e-06f, 4.590487430e-06f, 4.589643872e-06f, 4.588792477e-06f, 4.587933247e-06f, 4.587066186e-06f, 4.586191296e-06f, 4.585308580e-06f, 4.584418040e-06f,
+4.583519678e-06f, 4.582613498e-06f, 4.581699502e-06f, 4.580777693e-06f, 4.579848073e-06f, 4.578910645e-06f, 4.577965412e-06f, 4.577012377e-06f, 4.576051542e-06f, 4.575082909e-06f,
+4.574106483e-06f, 4.573122265e-06f, 4.572130258e-06f, 4.571130465e-06f, 4.570122889e-06f, 4.569107532e-06f, 4.568084398e-06f, 4.567053490e-06f, 4.566014809e-06f, 4.564968360e-06f,
+4.563914144e-06f, 4.562852166e-06f, 4.561782427e-06f, 4.560704930e-06f, 4.559619679e-06f, 4.558526677e-06f, 4.557425926e-06f, 4.556317430e-06f, 4.555201191e-06f, 4.554077213e-06f,
+4.552945498e-06f, 4.551806049e-06f, 4.550658870e-06f, 4.549503964e-06f, 4.548341333e-06f, 4.547170981e-06f, 4.545992910e-06f, 4.544807125e-06f, 4.543613627e-06f, 4.542412421e-06f,
+4.541203509e-06f, 4.539986894e-06f, 4.538762580e-06f, 4.537530570e-06f, 4.536290866e-06f, 4.535043473e-06f, 4.533788393e-06f, 4.532525630e-06f, 4.531255187e-06f, 4.529977067e-06f,
+4.528691273e-06f, 4.527397809e-06f, 4.526096678e-06f, 4.524787883e-06f, 4.523471428e-06f, 4.522147316e-06f, 4.520815550e-06f, 4.519476133e-06f, 4.518129070e-06f, 4.516774363e-06f,
+4.515412016e-06f, 4.514042032e-06f, 4.512664415e-06f, 4.511279168e-06f, 4.509886294e-06f, 4.508485797e-06f, 4.507077681e-06f, 4.505661949e-06f, 4.504238604e-06f, 4.502807650e-06f,
+4.501369091e-06f, 4.499922930e-06f, 4.498469170e-06f, 4.497007816e-06f, 4.495538870e-06f, 4.494062336e-06f, 4.492578219e-06f, 4.491086521e-06f, 4.489587246e-06f, 4.488080398e-06f,
+4.486565980e-06f, 4.485043997e-06f, 4.483514451e-06f, 4.481977347e-06f, 4.480432688e-06f, 4.478880477e-06f, 4.477320720e-06f, 4.475753419e-06f, 4.474178578e-06f, 4.472596201e-06f,
+4.471006291e-06f, 4.469408853e-06f, 4.467803891e-06f, 4.466191407e-06f, 4.464571406e-06f, 4.462943893e-06f, 4.461308869e-06f, 4.459666340e-06f, 4.458016310e-06f, 4.456358782e-06f,
+4.454693760e-06f, 4.453021248e-06f, 4.451341250e-06f, 4.449653770e-06f, 4.447958812e-06f, 4.446256380e-06f, 4.444546477e-06f, 4.442829109e-06f, 4.441104278e-06f, 4.439371989e-06f,
+4.437632246e-06f, 4.435885053e-06f, 4.434130414e-06f, 4.432368333e-06f, 4.430598814e-06f, 4.428821861e-06f, 4.427037479e-06f, 4.425245671e-06f, 4.423446441e-06f, 4.421639794e-06f,
+4.419825735e-06f, 4.418004266e-06f, 4.416175392e-06f, 4.414339118e-06f, 4.412495447e-06f, 4.410644384e-06f, 4.408785933e-06f, 4.406920098e-06f, 4.405046884e-06f, 4.403166295e-06f,
+4.401278334e-06f, 4.399383007e-06f, 4.397480318e-06f, 4.395570270e-06f, 4.393652869e-06f, 4.391728118e-06f, 4.389796023e-06f, 4.387856586e-06f, 4.385909814e-06f, 4.383955709e-06f,
+4.381994277e-06f, 4.380025521e-06f, 4.378049447e-06f, 4.376066059e-06f, 4.374075361e-06f, 4.372077357e-06f, 4.370072053e-06f, 4.368059452e-06f, 4.366039559e-06f, 4.364012379e-06f,
+4.361977916e-06f, 4.359936174e-06f, 4.357887158e-06f, 4.355830874e-06f, 4.353767324e-06f, 4.351696515e-06f, 4.349618449e-06f, 4.347533133e-06f, 4.345440571e-06f, 4.343340766e-06f,
+4.341233725e-06f, 4.339119451e-06f, 4.336997949e-06f, 4.334869225e-06f, 4.332733282e-06f, 4.330590125e-06f, 4.328439759e-06f, 4.326282189e-06f, 4.324117419e-06f, 4.321945454e-06f,
+4.319766300e-06f, 4.317579960e-06f, 4.315386439e-06f, 4.313185743e-06f, 4.310977876e-06f, 4.308762842e-06f, 4.306540648e-06f, 4.304311297e-06f, 4.302074794e-06f, 4.299831145e-06f,
+4.297580353e-06f, 4.295322425e-06f, 4.293057365e-06f, 4.290785177e-06f, 4.288505867e-06f, 4.286219440e-06f, 4.283925901e-06f, 4.281625254e-06f, 4.279317504e-06f, 4.277002657e-06f,
+4.274680718e-06f, 4.272351691e-06f, 4.270015582e-06f, 4.267672395e-06f, 4.265322135e-06f, 4.262964809e-06f, 4.260600420e-06f, 4.258228974e-06f, 4.255850475e-06f, 4.253464930e-06f,
+4.251072342e-06f, 4.248672718e-06f, 4.246266062e-06f, 4.243852380e-06f, 4.241431676e-06f, 4.239003955e-06f, 4.236569224e-06f, 4.234127487e-06f, 4.231678749e-06f, 4.229223016e-06f,
+4.226760292e-06f, 4.224290583e-06f, 4.221813895e-06f, 4.219330232e-06f, 4.216839599e-06f, 4.214342003e-06f, 4.211837448e-06f, 4.209325939e-06f, 4.206807483e-06f, 4.204282084e-06f,
+4.201749747e-06f, 4.199210478e-06f, 4.196664282e-06f, 4.194111165e-06f, 4.191551132e-06f, 4.188984189e-06f, 4.186410340e-06f, 4.183829591e-06f, 4.181241948e-06f, 4.178647417e-06f,
+4.176046001e-06f, 4.173437708e-06f, 4.170822542e-06f, 4.168200509e-06f, 4.165571614e-06f, 4.162935863e-06f, 4.160293262e-06f, 4.157643816e-06f, 4.154987530e-06f, 4.152324410e-06f,
+4.149654462e-06f, 4.146977691e-06f, 4.144294103e-06f, 4.141603703e-06f, 4.138906497e-06f, 4.136202491e-06f, 4.133491689e-06f, 4.130774099e-06f, 4.128049725e-06f, 4.125318573e-06f,
+4.122580649e-06f, 4.119835958e-06f, 4.117084507e-06f, 4.114326300e-06f, 4.111561344e-06f, 4.108789645e-06f, 4.106011207e-06f, 4.103226037e-06f, 4.100434141e-06f, 4.097635524e-06f,
+4.094830191e-06f, 4.092018150e-06f, 4.089199406e-06f, 4.086373964e-06f, 4.083541830e-06f, 4.080703010e-06f, 4.077857511e-06f, 4.075005337e-06f, 4.072146495e-06f, 4.069280990e-06f,
+4.066408829e-06f, 4.063530017e-06f, 4.060644561e-06f, 4.057752465e-06f, 4.054853737e-06f, 4.051948382e-06f, 4.049036405e-06f, 4.046117814e-06f, 4.043192613e-06f, 4.040260810e-06f,
+4.037322409e-06f, 4.034377418e-06f, 4.031425841e-06f, 4.028467685e-06f, 4.025502956e-06f, 4.022531660e-06f, 4.019553803e-06f, 4.016569391e-06f, 4.013578431e-06f, 4.010580928e-06f,
+4.007576888e-06f, 4.004566318e-06f, 4.001549223e-06f, 3.998525610e-06f, 3.995495485e-06f, 3.992458854e-06f, 3.989415723e-06f, 3.986366099e-06f, 3.983309987e-06f, 3.980247394e-06f,
+3.977178326e-06f, 3.974102789e-06f, 3.971020789e-06f, 3.967932333e-06f, 3.964837427e-06f, 3.961736077e-06f, 3.958628290e-06f, 3.955514071e-06f, 3.952393427e-06f, 3.949266365e-06f,
+3.946132889e-06f, 3.942993008e-06f, 3.939846727e-06f, 3.936694053e-06f, 3.933534991e-06f, 3.930369549e-06f, 3.927197732e-06f, 3.924019547e-06f, 3.920835001e-06f, 3.917644099e-06f,
+3.914446849e-06f, 3.911243256e-06f, 3.908033327e-06f, 3.904817069e-06f, 3.901594487e-06f, 3.898365589e-06f, 3.895130381e-06f, 3.891888869e-06f, 3.888641060e-06f, 3.885386960e-06f,
+3.882126577e-06f, 3.878859915e-06f, 3.875586982e-06f, 3.872307785e-06f, 3.869022329e-06f, 3.865730622e-06f, 3.862432671e-06f, 3.859128481e-06f, 3.855818059e-06f, 3.852501412e-06f,
+3.849178546e-06f, 3.845849468e-06f, 3.842514186e-06f, 3.839172704e-06f, 3.835825031e-06f, 3.832471172e-06f, 3.829111134e-06f, 3.825744925e-06f, 3.822372550e-06f, 3.818994016e-06f,
+3.815609331e-06f, 3.812218500e-06f, 3.808821531e-06f, 3.805418431e-06f, 3.802009205e-06f, 3.798593861e-06f, 3.795172405e-06f, 3.791744845e-06f, 3.788311187e-06f, 3.784871438e-06f,
+3.781425604e-06f, 3.777973693e-06f, 3.774515711e-06f, 3.771051666e-06f, 3.767581563e-06f, 3.764105410e-06f, 3.760623214e-06f, 3.757134982e-06f, 3.753640720e-06f, 3.750140435e-06f,
+3.746634135e-06f, 3.743121825e-06f, 3.739603514e-06f, 3.736079208e-06f, 3.732548914e-06f, 3.729012638e-06f, 3.725470389e-06f, 3.721922172e-06f, 3.718367995e-06f, 3.714807865e-06f,
+3.711241789e-06f, 3.707669773e-06f, 3.704091825e-06f, 3.700507952e-06f, 3.696918161e-06f, 3.693322459e-06f, 3.689720852e-06f, 3.686113349e-06f, 3.682499956e-06f, 3.678880679e-06f,
+3.675255527e-06f, 3.671624506e-06f, 3.667987624e-06f, 3.664344887e-06f, 3.660696303e-06f, 3.657041879e-06f, 3.653381621e-06f, 3.649715538e-06f, 3.646043636e-06f, 3.642365922e-06f,
+3.638682404e-06f, 3.634993088e-06f, 3.631297983e-06f, 3.627597095e-06f, 3.623890431e-06f, 3.620177999e-06f, 3.616459805e-06f, 3.612735858e-06f, 3.609006164e-06f, 3.605270730e-06f,
+3.601529565e-06f, 3.597782675e-06f, 3.594030067e-06f, 3.590271748e-06f, 3.586507727e-06f, 3.582738010e-06f, 3.578962605e-06f, 3.575181519e-06f, 3.571394759e-06f, 3.567602332e-06f,
+3.563804247e-06f, 3.560000510e-06f, 3.556191129e-06f, 3.552376112e-06f, 3.548555464e-06f, 3.544729195e-06f, 3.540897311e-06f, 3.537059820e-06f, 3.533216729e-06f, 3.529368045e-06f,
+3.525513777e-06f, 3.521653931e-06f, 3.517788516e-06f, 3.513917537e-06f, 3.510041004e-06f, 3.506158923e-06f, 3.502271302e-06f, 3.498378149e-06f, 3.494479470e-06f, 3.490575274e-06f,
+3.486665568e-06f, 3.482750360e-06f, 3.478829657e-06f, 3.474903466e-06f, 3.470971795e-06f, 3.467034653e-06f, 3.463092045e-06f, 3.459143981e-06f, 3.455190467e-06f, 3.451231512e-06f,
+3.447267122e-06f, 3.443297306e-06f, 3.439322070e-06f, 3.435341423e-06f, 3.431355373e-06f, 3.427363927e-06f, 3.423367092e-06f, 3.419364877e-06f, 3.415357288e-06f, 3.411344335e-06f,
+3.407326023e-06f, 3.403302362e-06f, 3.399273359e-06f, 3.395239021e-06f, 3.391199357e-06f, 3.387154373e-06f, 3.383104078e-06f, 3.379048480e-06f, 3.374987586e-06f, 3.370921404e-06f,
+3.366849942e-06f, 3.362773208e-06f, 3.358691209e-06f, 3.354603953e-06f, 3.350511448e-06f, 3.346413703e-06f, 3.342310723e-06f, 3.338202519e-06f, 3.334089096e-06f, 3.329970464e-06f,
+3.325846630e-06f, 3.321717602e-06f, 3.317583388e-06f, 3.313443996e-06f, 3.309299433e-06f, 3.305149707e-06f, 3.300994827e-06f, 3.296834801e-06f, 3.292669635e-06f, 3.288499339e-06f,
+3.284323920e-06f, 3.280143386e-06f, 3.275957745e-06f, 3.271767005e-06f, 3.267571174e-06f, 3.263370260e-06f, 3.259164270e-06f, 3.254953214e-06f, 3.250737099e-06f, 3.246515932e-06f,
+3.242289723e-06f, 3.238058478e-06f, 3.233822206e-06f, 3.229580916e-06f, 3.225334614e-06f, 3.221083310e-06f, 3.216827011e-06f, 3.212565725e-06f, 3.208299461e-06f, 3.204028226e-06f,
+3.199752028e-06f, 3.195470876e-06f, 3.191184778e-06f, 3.186893742e-06f, 3.182597775e-06f, 3.178296887e-06f, 3.173991085e-06f, 3.169680377e-06f, 3.165364772e-06f, 3.161044278e-06f,
+3.156718902e-06f, 3.152388653e-06f, 3.148053540e-06f, 3.143713570e-06f, 3.139368752e-06f, 3.135019093e-06f, 3.130664603e-06f, 3.126305289e-06f, 3.121941159e-06f, 3.117572222e-06f,
+3.113198485e-06f, 3.108819958e-06f, 3.104436649e-06f, 3.100048565e-06f, 3.095655715e-06f, 3.091258107e-06f, 3.086855750e-06f, 3.082448651e-06f, 3.078036820e-06f, 3.073620264e-06f,
+3.069198992e-06f, 3.064773012e-06f, 3.060342332e-06f, 3.055906961e-06f, 3.051466907e-06f, 3.047022178e-06f, 3.042572783e-06f, 3.038118730e-06f, 3.033660027e-06f, 3.029196684e-06f,
+3.024728707e-06f, 3.020256107e-06f, 3.015778890e-06f, 3.011297065e-06f, 3.006810642e-06f, 3.002319627e-06f, 2.997824030e-06f, 2.993323860e-06f, 2.988819123e-06f, 2.984309830e-06f,
+2.979795988e-06f, 2.975277606e-06f, 2.970754692e-06f, 2.966227255e-06f, 2.961695303e-06f, 2.957158845e-06f, 2.952617889e-06f, 2.948072444e-06f, 2.943522518e-06f, 2.938968120e-06f,
+2.934409258e-06f, 2.929845941e-06f, 2.925278177e-06f, 2.920705975e-06f, 2.916129343e-06f, 2.911548290e-06f, 2.906962825e-06f, 2.902372956e-06f, 2.897778691e-06f, 2.893180040e-06f,
+2.888577010e-06f, 2.883969610e-06f, 2.879357850e-06f, 2.874741737e-06f, 2.870121280e-06f, 2.865496488e-06f, 2.860867369e-06f, 2.856233932e-06f, 2.851596186e-06f, 2.846954139e-06f,
+2.842307800e-06f, 2.837657178e-06f, 2.833002281e-06f, 2.828343117e-06f, 2.823679696e-06f, 2.819012027e-06f, 2.814340117e-06f, 2.809663976e-06f, 2.804983612e-06f, 2.800299034e-06f,
+2.795610251e-06f, 2.790917271e-06f, 2.786220103e-06f, 2.781518757e-06f, 2.776813239e-06f, 2.772103560e-06f, 2.767389728e-06f, 2.762671752e-06f, 2.757949640e-06f, 2.753223402e-06f,
+2.748493046e-06f, 2.743758580e-06f, 2.739020014e-06f, 2.734277357e-06f, 2.729530617e-06f, 2.724779802e-06f, 2.720024923e-06f, 2.715265987e-06f, 2.710503003e-06f, 2.705735981e-06f,
+2.700964929e-06f, 2.696189856e-06f, 2.691410770e-06f, 2.686627681e-06f, 2.681840597e-06f, 2.677049528e-06f, 2.672254481e-06f, 2.667455467e-06f, 2.662652493e-06f, 2.657845570e-06f,
+2.653034704e-06f, 2.648219907e-06f, 2.643401185e-06f, 2.638578549e-06f, 2.633752008e-06f, 2.628921569e-06f, 2.624087242e-06f, 2.619249036e-06f, 2.614406960e-06f, 2.609561023e-06f,
+2.604711234e-06f, 2.599857601e-06f, 2.595000134e-06f, 2.590138841e-06f, 2.585273732e-06f, 2.580404816e-06f, 2.575532101e-06f, 2.570655596e-06f, 2.565775311e-06f, 2.560891254e-06f,
+2.556003434e-06f, 2.551111861e-06f, 2.546216543e-06f, 2.541317490e-06f, 2.536414710e-06f, 2.531508213e-06f, 2.526598007e-06f, 2.521684101e-06f, 2.516766505e-06f, 2.511845227e-06f,
+2.506920278e-06f, 2.501991664e-06f, 2.497059397e-06f, 2.492123484e-06f, 2.487183935e-06f, 2.482240758e-06f, 2.477293964e-06f, 2.472343561e-06f, 2.467389558e-06f, 2.462431964e-06f,
+2.457470788e-06f, 2.452506040e-06f, 2.447537728e-06f, 2.442565862e-06f, 2.437590450e-06f, 2.432611503e-06f, 2.427629028e-06f, 2.422643036e-06f, 2.417653534e-06f, 2.412660533e-06f,
+2.407664042e-06f, 2.402664069e-06f, 2.397660624e-06f, 2.392653715e-06f, 2.387643353e-06f, 2.382629547e-06f, 2.377612304e-06f, 2.372591635e-06f, 2.367567550e-06f, 2.362540056e-06f,
+2.357509163e-06f, 2.352474880e-06f, 2.347437218e-06f, 2.342396184e-06f, 2.337351788e-06f, 2.332304039e-06f, 2.327252946e-06f, 2.322198519e-06f, 2.317140767e-06f, 2.312079699e-06f,
+2.307015325e-06f, 2.301947653e-06f, 2.296876693e-06f, 2.291802453e-06f, 2.286724945e-06f, 2.281644175e-06f, 2.276560155e-06f, 2.271472892e-06f, 2.266382397e-06f, 2.261288679e-06f,
+2.256191746e-06f, 2.251091609e-06f, 2.245988276e-06f, 2.240881757e-06f, 2.235772061e-06f, 2.230659198e-06f, 2.225543176e-06f, 2.220424005e-06f, 2.215301694e-06f, 2.210176253e-06f,
+2.205047691e-06f, 2.199916017e-06f, 2.194781241e-06f, 2.189643371e-06f, 2.184502418e-06f, 2.179358391e-06f, 2.174211298e-06f, 2.169061150e-06f, 2.163907955e-06f, 2.158751724e-06f,
+2.153592464e-06f, 2.148430187e-06f, 2.143264900e-06f, 2.138096614e-06f, 2.132925338e-06f, 2.127751081e-06f, 2.122573853e-06f, 2.117393663e-06f, 2.112210520e-06f, 2.107024434e-06f,
+2.101835414e-06f, 2.096643470e-06f, 2.091448611e-06f, 2.086250846e-06f, 2.081050185e-06f, 2.075846637e-06f, 2.070640212e-06f, 2.065430919e-06f, 2.060218768e-06f, 2.055003767e-06f,
+2.049785927e-06f, 2.044565257e-06f, 2.039341766e-06f, 2.034115464e-06f, 2.028886360e-06f, 2.023654464e-06f, 2.018419785e-06f, 2.013182332e-06f, 2.007942115e-06f, 2.002699144e-06f,
+1.997453428e-06f, 1.992204976e-06f, 1.986953799e-06f, 1.981699904e-06f, 1.976443303e-06f, 1.971184004e-06f, 1.965922017e-06f, 1.960657351e-06f, 1.955390016e-06f, 1.950120022e-06f,
+1.944847377e-06f, 1.939572092e-06f, 1.934294176e-06f, 1.929013638e-06f, 1.923730488e-06f, 1.918444736e-06f, 1.913156390e-06f, 1.907865461e-06f, 1.902571958e-06f, 1.897275891e-06f,
+1.891977269e-06f, 1.886676102e-06f, 1.881372399e-06f, 1.876066169e-06f, 1.870757423e-06f, 1.865446170e-06f, 1.860132419e-06f, 1.854816181e-06f, 1.849497464e-06f, 1.844176278e-06f,
+1.838852632e-06f, 1.833526537e-06f, 1.828198002e-06f, 1.822867036e-06f, 1.817533649e-06f, 1.812197851e-06f, 1.806859651e-06f, 1.801519059e-06f, 1.796176084e-06f, 1.790830736e-06f,
+1.785483025e-06f, 1.780132960e-06f, 1.774780550e-06f, 1.769425806e-06f, 1.764068737e-06f, 1.758709352e-06f, 1.753347662e-06f, 1.747983675e-06f, 1.742617402e-06f, 1.737248852e-06f,
+1.731878035e-06f, 1.726504960e-06f, 1.721129636e-06f, 1.715752075e-06f, 1.710372285e-06f, 1.704990275e-06f, 1.699606056e-06f, 1.694219637e-06f, 1.688831028e-06f, 1.683440238e-06f,
+1.678047278e-06f, 1.672652156e-06f, 1.667254882e-06f, 1.661855467e-06f, 1.656453919e-06f, 1.651050248e-06f, 1.645644465e-06f, 1.640236578e-06f, 1.634826598e-06f, 1.629414533e-06f,
+1.624000395e-06f, 1.618584191e-06f, 1.613165933e-06f, 1.607745630e-06f, 1.602323291e-06f, 1.596898926e-06f, 1.591472544e-06f, 1.586044157e-06f, 1.580613772e-06f, 1.575181401e-06f,
+1.569747051e-06f, 1.564310735e-06f, 1.558872460e-06f, 1.553432237e-06f, 1.547990075e-06f, 1.542545984e-06f, 1.537099974e-06f, 1.531652055e-06f, 1.526202235e-06f, 1.520750526e-06f,
+1.515296936e-06f, 1.509841476e-06f, 1.504384154e-06f, 1.498924982e-06f, 1.493463968e-06f, 1.488001122e-06f, 1.482536454e-06f, 1.477069974e-06f, 1.471601691e-06f, 1.466131616e-06f,
+1.460659757e-06f, 1.455186125e-06f, 1.449710730e-06f, 1.444233580e-06f, 1.438754686e-06f, 1.433274058e-06f, 1.427791706e-06f, 1.422307638e-06f, 1.416821865e-06f, 1.411334397e-06f,
+1.405845243e-06f, 1.400354413e-06f, 1.394861917e-06f, 1.389367764e-06f, 1.383871965e-06f, 1.378374529e-06f, 1.372875466e-06f, 1.367374786e-06f, 1.361872497e-06f, 1.356368611e-06f,
+1.350863137e-06f, 1.345356085e-06f, 1.339847464e-06f, 1.334337285e-06f, 1.328825556e-06f, 1.323312288e-06f, 1.317797491e-06f, 1.312281174e-06f, 1.306763347e-06f, 1.301244020e-06f,
+1.295723202e-06f, 1.290200904e-06f, 1.284677135e-06f, 1.279151906e-06f, 1.273625225e-06f, 1.268097102e-06f, 1.262567548e-06f, 1.257036572e-06f, 1.251504184e-06f, 1.245970394e-06f,
+1.240435211e-06f, 1.234898646e-06f, 1.229360708e-06f, 1.223821406e-06f, 1.218280751e-06f, 1.212738753e-06f, 1.207195421e-06f, 1.201650765e-06f, 1.196104795e-06f, 1.190557521e-06f,
+1.185008952e-06f, 1.179459098e-06f, 1.173907970e-06f, 1.168355576e-06f, 1.162801927e-06f, 1.157247033e-06f, 1.151690902e-06f, 1.146133546e-06f, 1.140574974e-06f, 1.135015196e-06f,
+1.129454221e-06f, 1.123892059e-06f, 1.118328721e-06f, 1.112764215e-06f, 1.107198552e-06f, 1.101631742e-06f, 1.096063794e-06f, 1.090494719e-06f, 1.084924525e-06f, 1.079353224e-06f,
+1.073780824e-06f, 1.068207335e-06f, 1.062632768e-06f, 1.057057132e-06f, 1.051480436e-06f, 1.045902692e-06f, 1.040323908e-06f, 1.034744094e-06f, 1.029163261e-06f, 1.023581417e-06f,
+1.017998574e-06f, 1.012414740e-06f, 1.006829926e-06f, 1.001244140e-06f, 9.956573943e-07f, 9.900696972e-07f, 9.844810589e-07f, 9.788914891e-07f, 9.733009977e-07f, 9.677095946e-07f,
+9.621172895e-07f, 9.565240922e-07f, 9.509300127e-07f, 9.453350607e-07f, 9.397392460e-07f, 9.341425785e-07f, 9.285450679e-07f, 9.229467242e-07f, 9.173475571e-07f, 9.117475765e-07f,
+9.061467922e-07f, 9.005452139e-07f, 8.949428516e-07f, 8.893397151e-07f, 8.837358141e-07f, 8.781311586e-07f, 8.725257583e-07f, 8.669196230e-07f, 8.613127626e-07f, 8.557051869e-07f,
+8.500969057e-07f, 8.444879289e-07f, 8.388782662e-07f, 8.332679276e-07f, 8.276569228e-07f, 8.220452616e-07f, 8.164329538e-07f, 8.108200094e-07f, 8.052064380e-07f, 7.995922496e-07f,
+7.939774540e-07f, 7.883620609e-07f, 7.827460802e-07f, 7.771295217e-07f, 7.715123953e-07f, 7.658947107e-07f, 7.602764778e-07f, 7.546577064e-07f, 7.490384063e-07f, 7.434185873e-07f,
+7.377982592e-07f, 7.321774320e-07f, 7.265561153e-07f, 7.209343190e-07f, 7.153120530e-07f, 7.096893269e-07f, 7.040661507e-07f, 6.984425342e-07f, 6.928184871e-07f, 6.871940193e-07f,
+6.815691407e-07f, 6.759438609e-07f, 6.703181898e-07f, 6.646921373e-07f, 6.590657131e-07f, 6.534389271e-07f, 6.478117890e-07f, 6.421843087e-07f, 6.365564959e-07f, 6.309283606e-07f,
+6.252999124e-07f, 6.196711612e-07f, 6.140421168e-07f, 6.084127889e-07f, 6.027831875e-07f, 5.971533223e-07f, 5.915232030e-07f, 5.858928396e-07f, 5.802622417e-07f, 5.746314192e-07f,
+5.690003819e-07f, 5.633691396e-07f, 5.577377021e-07f, 5.521060791e-07f, 5.464742805e-07f, 5.408423160e-07f, 5.352101955e-07f, 5.295779287e-07f, 5.239455254e-07f, 5.183129954e-07f,
+5.126803485e-07f, 5.070475945e-07f, 5.014147432e-07f, 4.957818042e-07f, 4.901487875e-07f, 4.845157028e-07f, 4.788825599e-07f, 4.732493685e-07f, 4.676161385e-07f, 4.619828795e-07f,
+4.563496014e-07f, 4.507163140e-07f, 4.450830270e-07f, 4.394497502e-07f, 4.338164933e-07f, 4.281832662e-07f, 4.225500786e-07f, 4.169169402e-07f, 4.112838608e-07f, 4.056508502e-07f,
+4.000179181e-07f, 3.943850743e-07f, 3.887523286e-07f, 3.831196907e-07f, 3.774871703e-07f, 3.718547772e-07f, 3.662225212e-07f, 3.605904120e-07f, 3.549584593e-07f, 3.493266730e-07f,
+3.436950627e-07f, 3.380636381e-07f, 3.324324091e-07f, 3.268013854e-07f, 3.211705767e-07f, 3.155399927e-07f, 3.099096431e-07f, 3.042795378e-07f, 2.986496864e-07f, 2.930200986e-07f,
+2.873907842e-07f, 2.817617530e-07f, 2.761330146e-07f, 2.705045787e-07f, 2.648764551e-07f, 2.592486535e-07f, 2.536211835e-07f, 2.479940550e-07f, 2.423672777e-07f, 2.367408611e-07f,
+2.311148152e-07f, 2.254891494e-07f, 2.198638736e-07f, 2.142389975e-07f, 2.086145307e-07f, 2.029904830e-07f, 1.973668640e-07f, 1.917436835e-07f, 1.861209511e-07f, 1.804986765e-07f,
+1.748768694e-07f, 1.692555395e-07f, 1.636346964e-07f, 1.580143500e-07f, 1.523945097e-07f, 1.467751854e-07f, 1.411563866e-07f, 1.355381231e-07f, 1.299204045e-07f, 1.243032405e-07f,
+1.186866408e-07f, 1.130706150e-07f, 1.074551727e-07f, 1.018403237e-07f, 9.622607753e-08f, 9.061244392e-08f, 8.499943250e-08f, 7.938705292e-08f, 7.377531482e-08f, 6.816422785e-08f,
+6.255380164e-08f, 5.694404583e-08f, 5.133497006e-08f, 4.572658397e-08f, 4.011889717e-08f, 3.451191931e-08f, 2.890566000e-08f, 2.330012887e-08f, 1.769533554e-08f, 1.209128962e-08f,
+6.488000734e-09f, 8.854784917e-10f, -4.716267498e-09f, -1.031722763e-08f, -1.591739230e-08f, -2.151675190e-08f, -2.711529683e-08f, -3.271301751e-08f, -3.830990433e-08f, -4.390594771e-08f,
+-4.950113806e-08f, -5.509546580e-08f, -6.068892133e-08f, -6.628149508e-08f, -7.187317749e-08f, -7.746395896e-08f, -8.305382994e-08f, -8.864278085e-08f, -9.423080212e-08f, -9.981788421e-08f,
+-1.054040175e-07f, -1.109891926e-07f, -1.165733997e-07f, -1.221566295e-07f, -1.277388723e-07f, -1.333201186e-07f, -1.389003589e-07f, -1.444795835e-07f, -1.500577831e-07f, -1.556349480e-07f,
+-1.612110688e-07f, -1.667861358e-07f, -1.723601396e-07f, -1.779330707e-07f, -1.835049196e-07f, -1.890756766e-07f, -1.946453324e-07f, -2.002138774e-07f, -2.057813021e-07f, -2.113475970e-07f,
+-2.169127527e-07f, -2.224767595e-07f, -2.280396081e-07f, -2.336012890e-07f, -2.391617926e-07f, -2.447211095e-07f, -2.502792302e-07f, -2.558361452e-07f, -2.613918451e-07f, -2.669463204e-07f,
+-2.724995617e-07f, -2.780515594e-07f, -2.836023042e-07f, -2.891517865e-07f, -2.946999969e-07f, -3.002469260e-07f, -3.057925644e-07f, -3.113369025e-07f, -3.168799310e-07f, -3.224216404e-07f,
+-3.279620214e-07f, -3.335010644e-07f, -3.390387601e-07f, -3.445750990e-07f, -3.501100717e-07f, -3.556436689e-07f, -3.611758811e-07f, -3.667066989e-07f, -3.722361129e-07f, -3.777641137e-07f,
+-3.832906920e-07f, -3.888158383e-07f, -3.943395432e-07f, -3.998617975e-07f, -4.053825916e-07f, -4.109019163e-07f, -4.164197622e-07f, -4.219361198e-07f, -4.274509799e-07f, -4.329643331e-07f,
+-4.384761700e-07f, -4.439864813e-07f, -4.494952577e-07f, -4.550024897e-07f, -4.605081682e-07f, -4.660122836e-07f, -4.715148268e-07f, -4.770157883e-07f, -4.825151589e-07f, -4.880129292e-07f,
+-4.935090900e-07f, -4.990036319e-07f, -5.044965456e-07f, -5.099878218e-07f, -5.154774513e-07f, -5.209654247e-07f, -5.264517327e-07f, -5.319363661e-07f, -5.374193156e-07f, -5.429005719e-07f,
+-5.483801257e-07f, -5.538579678e-07f, -5.593340890e-07f, -5.648084798e-07f, -5.702811312e-07f, -5.757520338e-07f, -5.812211784e-07f, -5.866885558e-07f, -5.921541567e-07f, -5.976179719e-07f,
+-6.030799921e-07f, -6.085402083e-07f, -6.139986110e-07f, -6.194551911e-07f, -6.249099395e-07f, -6.303628469e-07f, -6.358139040e-07f, -6.412631017e-07f, -6.467104309e-07f, -6.521558823e-07f,
+-6.575994467e-07f, -6.630411150e-07f, -6.684808779e-07f, -6.739187264e-07f, -6.793546512e-07f, -6.847886432e-07f, -6.902206933e-07f, -6.956507922e-07f, -7.010789309e-07f, -7.065051002e-07f,
+-7.119292909e-07f, -7.173514940e-07f, -7.227717003e-07f, -7.281899007e-07f, -7.336060860e-07f, -7.390202471e-07f, -7.444323751e-07f, -7.498424606e-07f, -7.552504947e-07f, -7.606564682e-07f,
+-7.660603721e-07f, -7.714621973e-07f, -7.768619347e-07f, -7.822595752e-07f, -7.876551097e-07f, -7.930485292e-07f, -7.984398247e-07f, -8.038289870e-07f, -8.092160071e-07f, -8.146008761e-07f,
+-8.199835847e-07f, -8.253641241e-07f, -8.307424851e-07f, -8.361186588e-07f, -8.414926361e-07f, -8.468644080e-07f, -8.522339656e-07f, -8.576012997e-07f, -8.629664014e-07f, -8.683292618e-07f,
+-8.736898718e-07f, -8.790482223e-07f, -8.844043046e-07f, -8.897581095e-07f, -8.951096282e-07f, -9.004588516e-07f, -9.058057708e-07f, -9.111503768e-07f, -9.164926608e-07f, -9.218326137e-07f,
+-9.271702266e-07f, -9.325054905e-07f, -9.378383967e-07f, -9.431689361e-07f, -9.484970998e-07f, -9.538228789e-07f, -9.591462645e-07f, -9.644672477e-07f, -9.697858196e-07f, -9.751019714e-07f,
+-9.804156941e-07f, -9.857269789e-07f, -9.910358168e-07f, -9.963421991e-07f, -1.001646117e-06f, -1.006947561e-06f, -1.012246523e-06f, -1.017542994e-06f, -1.022836965e-06f, -1.028128428e-06f,
+-1.033417373e-06f, -1.038703791e-06f, -1.043987674e-06f, -1.049269013e-06f, -1.054547799e-06f, -1.059824024e-06f, -1.065097678e-06f, -1.070368753e-06f, -1.075637240e-06f, -1.080903130e-06f,
+-1.086166415e-06f, -1.091427085e-06f, -1.096685132e-06f, -1.101940548e-06f, -1.107193322e-06f, -1.112443448e-06f, -1.117690915e-06f, -1.122935716e-06f, -1.128177841e-06f, -1.133417282e-06f,
+-1.138654030e-06f, -1.143888076e-06f, -1.149119412e-06f, -1.154348029e-06f, -1.159573918e-06f, -1.164797070e-06f, -1.170017478e-06f, -1.175235132e-06f, -1.180450023e-06f, -1.185662143e-06f,
+-1.190871484e-06f, -1.196078036e-06f, -1.201281791e-06f, -1.206482740e-06f, -1.211680875e-06f, -1.216876187e-06f, -1.222068668e-06f, -1.227258308e-06f, -1.232445100e-06f, -1.237629034e-06f,
+-1.242810102e-06f, -1.247988296e-06f, -1.253163607e-06f, -1.258336025e-06f, -1.263505544e-06f, -1.268672154e-06f, -1.273835846e-06f, -1.278996613e-06f, -1.284154445e-06f, -1.289309334e-06f,
+-1.294461271e-06f, -1.299610249e-06f, -1.304756257e-06f, -1.309899289e-06f, -1.315039335e-06f, -1.320176387e-06f, -1.325310436e-06f, -1.330441475e-06f, -1.335569494e-06f, -1.340694484e-06f,
+-1.345816438e-06f, -1.350935348e-06f, -1.356051203e-06f, -1.361163997e-06f, -1.366273721e-06f, -1.371380366e-06f, -1.376483924e-06f, -1.381584386e-06f, -1.386681744e-06f, -1.391775990e-06f,
+-1.396867115e-06f, -1.401955110e-06f, -1.407039968e-06f, -1.412121681e-06f, -1.417200238e-06f, -1.422275633e-06f, -1.427347857e-06f, -1.432416902e-06f, -1.437482759e-06f, -1.442545419e-06f,
+-1.447604875e-06f, -1.452661119e-06f, -1.457714141e-06f, -1.462763934e-06f, -1.467810489e-06f, -1.472853798e-06f, -1.477893853e-06f, -1.482930645e-06f, -1.487964166e-06f, -1.492994408e-06f,
+-1.498021362e-06f, -1.503045021e-06f, -1.508065376e-06f, -1.513082419e-06f, -1.518096141e-06f, -1.523106535e-06f, -1.528113591e-06f, -1.533117303e-06f, -1.538117661e-06f, -1.543114657e-06f,
+-1.548108284e-06f, -1.553098533e-06f, -1.558085396e-06f, -1.563068865e-06f, -1.568048931e-06f, -1.573025586e-06f, -1.577998823e-06f, -1.582968633e-06f, -1.587935007e-06f, -1.592897939e-06f,
+-1.597857419e-06f, -1.602813439e-06f, -1.607765992e-06f, -1.612715070e-06f, -1.617660663e-06f, -1.622602765e-06f, -1.627541367e-06f, -1.632476461e-06f, -1.637408038e-06f, -1.642336092e-06f,
+-1.647260613e-06f, -1.652181594e-06f, -1.657099027e-06f, -1.662012903e-06f, -1.666923215e-06f, -1.671829955e-06f, -1.676733114e-06f, -1.681632685e-06f, -1.686528659e-06f, -1.691421029e-06f,
+-1.696309787e-06f, -1.701194924e-06f, -1.706076433e-06f, -1.710954305e-06f, -1.715828534e-06f, -1.720699110e-06f, -1.725566026e-06f, -1.730429274e-06f, -1.735288846e-06f, -1.740144734e-06f,
+-1.744996931e-06f, -1.749845427e-06f, -1.754690216e-06f, -1.759531290e-06f, -1.764368640e-06f, -1.769202259e-06f, -1.774032139e-06f, -1.778858272e-06f, -1.783680650e-06f, -1.788499266e-06f,
+-1.793314111e-06f, -1.798125177e-06f, -1.802932458e-06f, -1.807735945e-06f, -1.812535630e-06f, -1.817331505e-06f, -1.822123563e-06f, -1.826911796e-06f, -1.831696196e-06f, -1.836476756e-06f,
+-1.841253467e-06f, -1.846026322e-06f, -1.850795314e-06f, -1.855560433e-06f, -1.860321673e-06f, -1.865079027e-06f, -1.869832485e-06f, -1.874582041e-06f, -1.879327687e-06f, -1.884069415e-06f,
+-1.888807218e-06f, -1.893541087e-06f, -1.898271016e-06f, -1.902996996e-06f, -1.907719019e-06f, -1.912437080e-06f, -1.917151168e-06f, -1.921861278e-06f, -1.926567401e-06f, -1.931269530e-06f,
+-1.935967657e-06f, -1.940661774e-06f, -1.945351875e-06f, -1.950037951e-06f, -1.954719994e-06f, -1.959397998e-06f, -1.964071955e-06f, -1.968741857e-06f, -1.973407696e-06f, -1.978069466e-06f,
+-1.982727158e-06f, -1.987380766e-06f, -1.992030281e-06f, -1.996675696e-06f, -2.001317003e-06f, -2.005954196e-06f, -2.010587267e-06f, -2.015216207e-06f, -2.019841011e-06f, -2.024461669e-06f,
+-2.029078176e-06f, -2.033690523e-06f, -2.038298703e-06f, -2.042902709e-06f, -2.047502533e-06f, -2.052098168e-06f, -2.056689606e-06f, -2.061276840e-06f, -2.065859863e-06f, -2.070438667e-06f,
+-2.075013246e-06f, -2.079583590e-06f, -2.084149695e-06f, -2.088711551e-06f, -2.093269151e-06f, -2.097822490e-06f, -2.102371558e-06f, -2.106916349e-06f, -2.111456855e-06f, -2.115993069e-06f,
+-2.120524985e-06f, -2.125052594e-06f, -2.129575889e-06f, -2.134094864e-06f, -2.138609510e-06f, -2.143119821e-06f, -2.147625790e-06f, -2.152127409e-06f, -2.156624670e-06f, -2.161117568e-06f,
+-2.165606095e-06f, -2.170090243e-06f, -2.174570005e-06f, -2.179045374e-06f, -2.183516344e-06f, -2.187982906e-06f, -2.192445054e-06f, -2.196902781e-06f, -2.201356079e-06f, -2.205804942e-06f,
+-2.210249362e-06f, -2.214689332e-06f, -2.219124846e-06f, -2.223555895e-06f, -2.227982474e-06f, -2.232404574e-06f, -2.236822189e-06f, -2.241235313e-06f, -2.245643937e-06f, -2.250048055e-06f,
+-2.254447659e-06f, -2.258842744e-06f, -2.263233301e-06f, -2.267619325e-06f, -2.272000807e-06f, -2.276377741e-06f, -2.280750120e-06f, -2.285117936e-06f, -2.289481184e-06f, -2.293839857e-06f,
+-2.298193946e-06f, -2.302543446e-06f, -2.306888349e-06f, -2.311228648e-06f, -2.315564337e-06f, -2.319895409e-06f, -2.324221857e-06f, -2.328543673e-06f, -2.332860852e-06f, -2.337173387e-06f,
+-2.341481269e-06f, -2.345784494e-06f, -2.350083053e-06f, -2.354376940e-06f, -2.358666149e-06f, -2.362950672e-06f, -2.367230502e-06f, -2.371505634e-06f, -2.375776060e-06f, -2.380041773e-06f,
+-2.384302767e-06f, -2.388559034e-06f, -2.392810569e-06f, -2.397057365e-06f, -2.401299414e-06f, -2.405536710e-06f, -2.409769247e-06f, -2.413997018e-06f, -2.418220015e-06f, -2.422438233e-06f,
+-2.426651665e-06f, -2.430860304e-06f, -2.435064143e-06f, -2.439263177e-06f, -2.443457397e-06f, -2.447646798e-06f, -2.451831374e-06f, -2.456011116e-06f, -2.460186020e-06f, -2.464356078e-06f,
+-2.468521284e-06f, -2.472681631e-06f, -2.476837112e-06f, -2.480987722e-06f, -2.485133453e-06f, -2.489274300e-06f, -2.493410255e-06f, -2.497541313e-06f, -2.501667466e-06f, -2.505788708e-06f,
+-2.509905033e-06f, -2.514016434e-06f, -2.518122905e-06f, -2.522224440e-06f, -2.526321031e-06f, -2.530412674e-06f, -2.534499360e-06f, -2.538581084e-06f, -2.542657839e-06f, -2.546729619e-06f,
+-2.550796418e-06f, -2.554858230e-06f, -2.558915047e-06f, -2.562966863e-06f, -2.567013673e-06f, -2.571055470e-06f, -2.575092248e-06f, -2.579124000e-06f, -2.583150720e-06f, -2.587172401e-06f,
+-2.591189038e-06f, -2.595200625e-06f, -2.599207154e-06f, -2.603208620e-06f, -2.607205016e-06f, -2.611196337e-06f, -2.615182576e-06f, -2.619163727e-06f, -2.623139783e-06f, -2.627110739e-06f,
+-2.631076588e-06f, -2.635037324e-06f, -2.638992941e-06f, -2.642943433e-06f, -2.646888794e-06f, -2.650829017e-06f, -2.654764096e-06f, -2.658694026e-06f, -2.662618801e-06f, -2.666538413e-06f,
+-2.670452857e-06f, -2.674362128e-06f, -2.678266218e-06f, -2.682165122e-06f, -2.686058834e-06f, -2.689947348e-06f, -2.693830658e-06f, -2.697708758e-06f, -2.701581641e-06f, -2.705449302e-06f,
+-2.709311735e-06f, -2.713168934e-06f, -2.717020893e-06f, -2.720867606e-06f, -2.724709066e-06f, -2.728545269e-06f, -2.732376208e-06f, -2.736201878e-06f, -2.740022271e-06f, -2.743837383e-06f,
+-2.747647208e-06f, -2.751451740e-06f, -2.755250972e-06f, -2.759044899e-06f, -2.762833516e-06f, -2.766616815e-06f, -2.770394793e-06f, -2.774167442e-06f, -2.777934757e-06f, -2.781696732e-06f,
+-2.785453362e-06f, -2.789204640e-06f, -2.792950560e-06f, -2.796691118e-06f, -2.800426308e-06f, -2.804156123e-06f, -2.807880557e-06f, -2.811599606e-06f, -2.815313264e-06f, -2.819021524e-06f,
+-2.822724381e-06f, -2.826421830e-06f, -2.830113865e-06f, -2.833800479e-06f, -2.837481669e-06f, -2.841157427e-06f, -2.844827748e-06f, -2.848492627e-06f, -2.852152058e-06f, -2.855806036e-06f,
+-2.859454554e-06f, -2.863097608e-06f, -2.866735191e-06f, -2.870367299e-06f, -2.873993925e-06f, -2.877615065e-06f, -2.881230712e-06f, -2.884840862e-06f, -2.888445508e-06f, -2.892044645e-06f,
+-2.895638268e-06f, -2.899226371e-06f, -2.902808949e-06f, -2.906385997e-06f, -2.909957508e-06f, -2.913523477e-06f, -2.917083900e-06f, -2.920638771e-06f, -2.924188084e-06f, -2.927731833e-06f,
+-2.931270014e-06f, -2.934802622e-06f, -2.938329650e-06f, -2.941851094e-06f, -2.945366948e-06f, -2.948877207e-06f, -2.952381865e-06f, -2.955880917e-06f, -2.959374359e-06f, -2.962862184e-06f,
+-2.966344388e-06f, -2.969820965e-06f, -2.973291909e-06f, -2.976757217e-06f, -2.980216882e-06f, -2.983670899e-06f, -2.987119263e-06f, -2.990561969e-06f, -2.993999012e-06f, -2.997430386e-06f,
+-3.000856087e-06f, -3.004276109e-06f, -3.007690446e-06f, -3.011099095e-06f, -3.014502050e-06f, -3.017899305e-06f, -3.021290856e-06f, -3.024676698e-06f, -3.028056825e-06f, -3.031431232e-06f,
+-3.034799915e-06f, -3.038162868e-06f, -3.041520086e-06f, -3.044871565e-06f, -3.048217298e-06f, -3.051557282e-06f, -3.054891512e-06f, -3.058219981e-06f, -3.061542686e-06f, -3.064859621e-06f,
+-3.068170782e-06f, -3.071476163e-06f, -3.074775759e-06f, -3.078069566e-06f, -3.081357579e-06f, -3.084639793e-06f, -3.087916202e-06f, -3.091186803e-06f, -3.094451590e-06f, -3.097710558e-06f,
+-3.100963703e-06f, -3.104211019e-06f, -3.107452503e-06f, -3.110688148e-06f, -3.113917951e-06f, -3.117141906e-06f, -3.120360009e-06f, -3.123572255e-06f, -3.126778639e-06f, -3.129979156e-06f,
+-3.133173802e-06f, -3.136362572e-06f, -3.139545462e-06f, -3.142722466e-06f, -3.145893580e-06f, -3.149058799e-06f, -3.152218118e-06f, -3.155371534e-06f, -3.158519041e-06f, -3.161660634e-06f,
+-3.164796310e-06f, -3.167926063e-06f, -3.171049888e-06f, -3.174167782e-06f, -3.177279740e-06f, -3.180385756e-06f, -3.183485827e-06f, -3.186579948e-06f, -3.189668115e-06f, -3.192750322e-06f,
+-3.195826566e-06f, -3.198896841e-06f, -3.201961144e-06f, -3.205019470e-06f, -3.208071815e-06f, -3.211118173e-06f, -3.214158541e-06f, -3.217192914e-06f, -3.220221287e-06f, -3.223243657e-06f,
+-3.226260019e-06f, -3.229270368e-06f, -3.232274701e-06f, -3.235273012e-06f, -3.238265297e-06f, -3.241251552e-06f, -3.244231773e-06f, -3.247205956e-06f, -3.250174095e-06f, -3.253136187e-06f,
+-3.256092228e-06f, -3.259042213e-06f, -3.261986137e-06f, -3.264923998e-06f, -3.267855789e-06f, -3.270781508e-06f, -3.273701150e-06f, -3.276614710e-06f, -3.279522185e-06f, -3.282423571e-06f,
+-3.285318862e-06f, -3.288208055e-06f, -3.291091147e-06f, -3.293968131e-06f, -3.296839006e-06f, -3.299703765e-06f, -3.302562406e-06f, -3.305414925e-06f, -3.308261316e-06f, -3.311101576e-06f,
+-3.313935701e-06f, -3.316763687e-06f, -3.319585530e-06f, -3.322401226e-06f, -3.325210771e-06f, -3.328014160e-06f, -3.330811390e-06f, -3.333602457e-06f, -3.336387356e-06f, -3.339166085e-06f,
+-3.341938638e-06f, -3.344705012e-06f, -3.347465203e-06f, -3.350219207e-06f, -3.352967021e-06f, -3.355708640e-06f, -3.358444060e-06f, -3.361173277e-06f, -3.363896288e-06f, -3.366613089e-06f,
+-3.369323676e-06f, -3.372028045e-06f, -3.374726192e-06f, -3.377418113e-06f, -3.380103806e-06f, -3.382783265e-06f, -3.385456487e-06f, -3.388123469e-06f, -3.390784206e-06f, -3.393438695e-06f,
+-3.396086932e-06f, -3.398728914e-06f, -3.401364636e-06f, -3.403994095e-06f, -3.406617287e-06f, -3.409234210e-06f, -3.411844858e-06f, -3.414449228e-06f, -3.417047317e-06f, -3.419639121e-06f,
+-3.422224637e-06f, -3.424803860e-06f, -3.427376788e-06f, -3.429943416e-06f, -3.432503742e-06f, -3.435057761e-06f, -3.437605469e-06f, -3.440146865e-06f, -3.442681943e-06f, -3.445210701e-06f,
+-3.447733134e-06f, -3.450249240e-06f, -3.452759015e-06f, -3.455262456e-06f, -3.457759558e-06f, -3.460250319e-06f, -3.462734735e-06f, -3.465212803e-06f, -3.467684519e-06f, -3.470149880e-06f,
+-3.472608882e-06f, -3.475061523e-06f, -3.477507798e-06f, -3.479947705e-06f, -3.482381240e-06f, -3.484808400e-06f, -3.487229181e-06f, -3.489643580e-06f, -3.492051595e-06f, -3.494453220e-06f,
+-3.496848454e-06f, -3.499237293e-06f, -3.501619734e-06f, -3.503995773e-06f, -3.506365408e-06f, -3.508728634e-06f, -3.511085450e-06f, -3.513435851e-06f, -3.515779835e-06f, -3.518117398e-06f,
+-3.520448538e-06f, -3.522773250e-06f, -3.525091533e-06f, -3.527403382e-06f, -3.529708795e-06f, -3.532007768e-06f, -3.534300299e-06f, -3.536586384e-06f, -3.538866021e-06f, -3.541139206e-06f,
+-3.543405937e-06f, -3.545666209e-06f, -3.547920021e-06f, -3.550167369e-06f, -3.552408251e-06f, -3.554642662e-06f, -3.556870601e-06f, -3.559092064e-06f, -3.561307049e-06f, -3.563515552e-06f,
+-3.565717571e-06f, -3.567913102e-06f, -3.570102143e-06f, -3.572284690e-06f, -3.574460742e-06f, -3.576630295e-06f, -3.578793346e-06f, -3.580949892e-06f, -3.583099931e-06f, -3.585243460e-06f,
+-3.587380475e-06f, -3.589510975e-06f, -3.591634956e-06f, -3.593752416e-06f, -3.595863351e-06f, -3.597967760e-06f, -3.600065639e-06f, -3.602156985e-06f, -3.604241797e-06f, -3.606320070e-06f,
+-3.608391804e-06f, -3.610456994e-06f, -3.612515638e-06f, -3.614567733e-06f, -3.616613278e-06f, -3.618652269e-06f, -3.620684703e-06f, -3.622710578e-06f, -3.624729892e-06f, -3.626742642e-06f,
+-3.628748825e-06f, -3.630748438e-06f, -3.632741480e-06f, -3.634727948e-06f, -3.636707838e-06f, -3.638681149e-06f, -3.640647878e-06f, -3.642608023e-06f, -3.644561581e-06f, -3.646508549e-06f,
+-3.648448926e-06f, -3.650382708e-06f, -3.652309894e-06f, -3.654230481e-06f, -3.656144466e-06f, -3.658051847e-06f, -3.659952622e-06f, -3.661846788e-06f, -3.663734343e-06f, -3.665615285e-06f,
+-3.667489611e-06f, -3.669357320e-06f, -3.671218407e-06f, -3.673072872e-06f, -3.674920713e-06f, -3.676761926e-06f, -3.678596509e-06f, -3.680424461e-06f, -3.682245779e-06f, -3.684060460e-06f,
+-3.685868504e-06f, -3.687669906e-06f, -3.689464666e-06f, -3.691252781e-06f, -3.693034248e-06f, -3.694809067e-06f, -3.696577233e-06f, -3.698338746e-06f, -3.700093604e-06f, -3.701841803e-06f,
+-3.703583343e-06f, -3.705318221e-06f, -3.707046434e-06f, -3.708767981e-06f, -3.710482861e-06f, -3.712191069e-06f, -3.713892606e-06f, -3.715587468e-06f, -3.717275654e-06f, -3.718957161e-06f,
+-3.720631989e-06f, -3.722300134e-06f, -3.723961594e-06f, -3.725616369e-06f, -3.727264456e-06f, -3.728905852e-06f, -3.730540557e-06f, -3.732168567e-06f, -3.733789882e-06f, -3.735404500e-06f,
+-3.737012418e-06f, -3.738613634e-06f, -3.740208148e-06f, -3.741795956e-06f, -3.743377058e-06f, -3.744951451e-06f, -3.746519134e-06f, -3.748080105e-06f, -3.749634362e-06f, -3.751181903e-06f,
+-3.752722726e-06f, -3.754256831e-06f, -3.755784214e-06f, -3.757304875e-06f, -3.758818812e-06f, -3.760326023e-06f, -3.761826506e-06f, -3.763320260e-06f, -3.764807283e-06f, -3.766287573e-06f,
+-3.767761130e-06f, -3.769227950e-06f, -3.770688033e-06f, -3.772141377e-06f, -3.773587980e-06f, -3.775027841e-06f, -3.776460959e-06f, -3.777887331e-06f, -3.779306957e-06f, -3.780719834e-06f,
+-3.782125961e-06f, -3.783525338e-06f, -3.784917961e-06f, -3.786303830e-06f, -3.787682944e-06f, -3.789055300e-06f, -3.790420898e-06f, -3.791779736e-06f, -3.793131812e-06f, -3.794477126e-06f,
+-3.795815675e-06f, -3.797147459e-06f, -3.798472476e-06f, -3.799790725e-06f, -3.801102204e-06f, -3.802406912e-06f, -3.803704848e-06f, -3.804996011e-06f, -3.806280398e-06f, -3.807558010e-06f,
+-3.808828844e-06f, -3.810092899e-06f, -3.811350175e-06f, -3.812600669e-06f, -3.813844381e-06f, -3.815081310e-06f, -3.816311454e-06f, -3.817534812e-06f, -3.818751383e-06f, -3.819961165e-06f,
+-3.821164159e-06f, -3.822360361e-06f, -3.823549772e-06f, -3.824732391e-06f, -3.825908215e-06f, -3.827077245e-06f, -3.828239478e-06f, -3.829394915e-06f, -3.830543553e-06f, -3.831685392e-06f,
+-3.832820431e-06f, -3.833948669e-06f, -3.835070104e-06f, -3.836184737e-06f, -3.837292565e-06f, -3.838393588e-06f, -3.839487804e-06f, -3.840575214e-06f, -3.841655816e-06f, -3.842729609e-06f,
+-3.843796592e-06f, -3.844856764e-06f, -3.845910125e-06f, -3.846956673e-06f, -3.847996408e-06f, -3.849029329e-06f, -3.850055435e-06f, -3.851074725e-06f, -3.852087198e-06f, -3.853092854e-06f,
+-3.854091691e-06f, -3.855083710e-06f, -3.856068909e-06f, -3.857047287e-06f, -3.858018844e-06f, -3.858983579e-06f, -3.859941491e-06f, -3.860892580e-06f, -3.861836845e-06f, -3.862774285e-06f,
+-3.863704899e-06f, -3.864628688e-06f, -3.865545649e-06f, -3.866455783e-06f, -3.867359089e-06f, -3.868255567e-06f, -3.869145215e-06f, -3.870028034e-06f, -3.870904022e-06f, -3.871773179e-06f,
+-3.872635504e-06f, -3.873490998e-06f, -3.874339659e-06f, -3.875181487e-06f, -3.876016481e-06f, -3.876844642e-06f, -3.877665967e-06f, -3.878480458e-06f, -3.879288113e-06f, -3.880088933e-06f,
+-3.880882916e-06f, -3.881670062e-06f, -3.882450371e-06f, -3.883223843e-06f, -3.883990476e-06f, -3.884750272e-06f, -3.885503228e-06f, -3.886249346e-06f, -3.886988624e-06f, -3.887721062e-06f,
+-3.888446661e-06f, -3.889165419e-06f, -3.889877337e-06f, -3.890582414e-06f, -3.891280650e-06f, -3.891972044e-06f, -3.892656597e-06f, -3.893334308e-06f, -3.894005176e-06f, -3.894669203e-06f,
+-3.895326387e-06f, -3.895976729e-06f, -3.896620228e-06f, -3.897256883e-06f, -3.897886696e-06f, -3.898509666e-06f, -3.899125792e-06f, -3.899735074e-06f, -3.900337514e-06f, -3.900933109e-06f,
+-3.901521861e-06f, -3.902103769e-06f, -3.902678833e-06f, -3.903247053e-06f, -3.903808430e-06f, -3.904362962e-06f, -3.904910651e-06f, -3.905451496e-06f, -3.905985497e-06f, -3.906512654e-06f,
+-3.907032967e-06f, -3.907546436e-06f, -3.908053062e-06f, -3.908552845e-06f, -3.909045783e-06f, -3.909531879e-06f, -3.910011131e-06f, -3.910483540e-06f, -3.910949106e-06f, -3.911407829e-06f,
+-3.911859710e-06f, -3.912304748e-06f, -3.912742944e-06f, -3.913174297e-06f, -3.913598809e-06f, -3.914016479e-06f, -3.914427308e-06f, -3.914831295e-06f, -3.915228441e-06f, -3.915618747e-06f,
+-3.916002213e-06f, -3.916378838e-06f, -3.916748623e-06f, -3.917111569e-06f, -3.917467676e-06f, -3.917816945e-06f, -3.918159374e-06f, -3.918494966e-06f, -3.918823720e-06f, -3.919145637e-06f,
+-3.919460716e-06f, -3.919768960e-06f, -3.920070367e-06f, -3.920364938e-06f, -3.920652675e-06f, -3.920933576e-06f, -3.921207644e-06f, -3.921474877e-06f, -3.921735278e-06f, -3.921988845e-06f,
+-3.922235581e-06f, -3.922475485e-06f, -3.922708557e-06f, -3.922934799e-06f, -3.923154211e-06f, -3.923366793e-06f, -3.923572547e-06f, -3.923771472e-06f, -3.923963569e-06f, -3.924148840e-06f,
+-3.924327284e-06f, -3.924498902e-06f, -3.924663696e-06f, -3.924821665e-06f, -3.924972810e-06f, -3.925117132e-06f, -3.925254631e-06f, -3.925385310e-06f, -3.925509167e-06f, -3.925626204e-06f,
+-3.925736422e-06f, -3.925839821e-06f, -3.925936402e-06f, -3.926026166e-06f, -3.926109114e-06f, -3.926185246e-06f, -3.926254564e-06f, -3.926317068e-06f, -3.926372760e-06f, -3.926421639e-06f,
+-3.926463706e-06f, -3.926498964e-06f, -3.926527412e-06f, -3.926549052e-06f, -3.926563884e-06f, -3.926571909e-06f, -3.926573129e-06f, -3.926567544e-06f, -3.926555155e-06f, -3.926535963e-06f,
+-3.926509969e-06f, -3.926477175e-06f, -3.926437581e-06f, -3.926391188e-06f, -3.926337997e-06f, -3.926278009e-06f, -3.926211226e-06f, -3.926137648e-06f, -3.926057277e-06f, -3.925970113e-06f,
+-3.925876158e-06f, -3.925775412e-06f, -3.925667878e-06f, -3.925553556e-06f, -3.925432447e-06f, -3.925304552e-06f, -3.925169873e-06f, -3.925028410e-06f, -3.924880166e-06f, -3.924725141e-06f,
+-3.924563336e-06f, -3.924394752e-06f, -3.924219392e-06f, -3.924037255e-06f, -3.923848344e-06f, -3.923652660e-06f, -3.923450204e-06f, -3.923240976e-06f, -3.923024980e-06f, -3.922802215e-06f,
+-3.922572683e-06f, -3.922336387e-06f, -3.922093325e-06f, -3.921843502e-06f, -3.921586917e-06f, -3.921323572e-06f, -3.921053468e-06f, -3.920776608e-06f, -3.920492991e-06f, -3.920202621e-06f,
+-3.919905498e-06f, -3.919601623e-06f, -3.919290999e-06f, -3.918973626e-06f, -3.918649506e-06f, -3.918318641e-06f, -3.917981032e-06f, -3.917636681e-06f, -3.917285589e-06f, -3.916927758e-06f,
+-3.916563190e-06f, -3.916191885e-06f, -3.915813846e-06f, -3.915429074e-06f, -3.915037571e-06f, -3.914639338e-06f, -3.914234377e-06f, -3.913822690e-06f, -3.913404278e-06f, -3.912979143e-06f,
+-3.912547287e-06f, -3.912108711e-06f, -3.911663418e-06f, -3.911211408e-06f, -3.910752683e-06f, -3.910287246e-06f, -3.909815098e-06f, -3.909336241e-06f, -3.908850676e-06f, -3.908358406e-06f,
+-3.907859431e-06f, -3.907353755e-06f, -3.906841378e-06f, -3.906322303e-06f, -3.905796532e-06f, -3.905264065e-06f, -3.904724906e-06f, -3.904179056e-06f, -3.903626516e-06f, -3.903067290e-06f,
+-3.902501378e-06f, -3.901928783e-06f, -3.901349506e-06f, -3.900763550e-06f, -3.900170917e-06f, -3.899571608e-06f, -3.898965625e-06f, -3.898352970e-06f, -3.897733646e-06f, -3.897107655e-06f,
+-3.896474998e-06f, -3.895835677e-06f, -3.895189695e-06f, -3.894537053e-06f, -3.893877754e-06f, -3.893211800e-06f, -3.892539192e-06f, -3.891859934e-06f, -3.891174026e-06f, -3.890481472e-06f,
+-3.889782273e-06f, -3.889076431e-06f, -3.888363949e-06f, -3.887644828e-06f, -3.886919072e-06f, -3.886186682e-06f, -3.885447660e-06f, -3.884702008e-06f, -3.883949729e-06f, -3.883190826e-06f,
+-3.882425299e-06f, -3.881653152e-06f, -3.880874387e-06f, -3.880089006e-06f, -3.879297011e-06f, -3.878498405e-06f, -3.877693190e-06f, -3.876881368e-06f, -3.876062942e-06f, -3.875237913e-06f,
+-3.874406285e-06f, -3.873568060e-06f, -3.872723240e-06f, -3.871871827e-06f, -3.871013824e-06f, -3.870149234e-06f, -3.869278058e-06f, -3.868400300e-06f, -3.867515960e-06f, -3.866625044e-06f,
+-3.865727551e-06f, -3.864823486e-06f, -3.863912850e-06f, -3.862995646e-06f, -3.862071876e-06f, -3.861141544e-06f, -3.860204651e-06f, -3.859261201e-06f, -3.858311195e-06f, -3.857354636e-06f,
+-3.856391527e-06f, -3.855421871e-06f, -3.854445670e-06f, -3.853462926e-06f, -3.852473643e-06f, -3.851477822e-06f, -3.850475467e-06f, -3.849466580e-06f, -3.848451164e-06f, -3.847429222e-06f,
+-3.846400756e-06f, -3.845365769e-06f, -3.844324263e-06f, -3.843276242e-06f, -3.842221708e-06f, -3.841160664e-06f, -3.840093113e-06f, -3.839019057e-06f, -3.837938499e-06f, -3.836851442e-06f,
+-3.835757889e-06f, -3.834657842e-06f, -3.833551305e-06f, -3.832438280e-06f, -3.831318770e-06f, -3.830192778e-06f, -3.829060306e-06f, -3.827921359e-06f, -3.826775937e-06f, -3.825624046e-06f,
+-3.824465686e-06f, -3.823300862e-06f, -3.822129576e-06f, -3.820951832e-06f, -3.819767631e-06f, -3.818576977e-06f, -3.817379874e-06f, -3.816176323e-06f, -3.814966328e-06f, -3.813749893e-06f,
+-3.812527019e-06f, -3.811297710e-06f, -3.810061970e-06f, -3.808819801e-06f, -3.807571205e-06f, -3.806316187e-06f, -3.805054750e-06f, -3.803786896e-06f, -3.802512628e-06f, -3.801231950e-06f,
+-3.799944865e-06f, -3.798651375e-06f, -3.797351485e-06f, -3.796045197e-06f, -3.794732514e-06f, -3.793413440e-06f, -3.792087977e-06f, -3.790756130e-06f, -3.789417900e-06f, -3.788073292e-06f,
+-3.786722309e-06f, -3.785364953e-06f, -3.784001228e-06f, -3.782631138e-06f, -3.781254685e-06f, -3.779871873e-06f, -3.778482706e-06f, -3.777087186e-06f, -3.775685316e-06f, -3.774277101e-06f,
+-3.772862543e-06f, -3.771441646e-06f, -3.770014413e-06f, -3.768580848e-06f, -3.767140953e-06f, -3.765694733e-06f, -3.764242191e-06f, -3.762783330e-06f, -3.761318153e-06f, -3.759846664e-06f,
+-3.758368866e-06f, -3.756884764e-06f, -3.755394359e-06f, -3.753897657e-06f, -3.752394659e-06f, -3.750885371e-06f, -3.749369794e-06f, -3.747847934e-06f, -3.746319792e-06f, -3.744785374e-06f,
+-3.743244682e-06f, -3.741697720e-06f, -3.740144491e-06f, -3.738584999e-06f, -3.737019248e-06f, -3.735447241e-06f, -3.733868983e-06f, -3.732284475e-06f, -3.730693723e-06f, -3.729096729e-06f,
+-3.727493498e-06f, -3.725884033e-06f, -3.724268337e-06f, -3.722646415e-06f, -3.721018270e-06f, -3.719383906e-06f, -3.717743326e-06f, -3.716096534e-06f, -3.714443535e-06f, -3.712784331e-06f,
+-3.711118926e-06f, -3.709447325e-06f, -3.707769530e-06f, -3.706085547e-06f, -3.704395378e-06f, -3.702699027e-06f, -3.700996498e-06f, -3.699287796e-06f, -3.697572923e-06f, -3.695851884e-06f,
+-3.694124682e-06f, -3.692391322e-06f, -3.690651807e-06f, -3.688906141e-06f, -3.687154328e-06f, -3.685396372e-06f, -3.683632277e-06f, -3.681862046e-06f, -3.680085684e-06f, -3.678303195e-06f,
+-3.676514583e-06f, -3.674719851e-06f, -3.672919003e-06f, -3.671112044e-06f, -3.669298978e-06f, -3.667479808e-06f, -3.665654539e-06f, -3.663823174e-06f, -3.661985717e-06f, -3.660142174e-06f,
+-3.658292547e-06f, -3.656436841e-06f, -3.654575059e-06f, -3.652707207e-06f, -3.650833287e-06f, -3.648953305e-06f, -3.647067264e-06f, -3.645175168e-06f, -3.643277022e-06f, -3.641372829e-06f,
+-3.639462594e-06f, -3.637546321e-06f, -3.635624014e-06f, -3.633695678e-06f, -3.631761316e-06f, -3.629820932e-06f, -3.627874532e-06f, -3.625922118e-06f, -3.623963696e-06f, -3.621999270e-06f,
+-3.620028844e-06f, -3.618052421e-06f, -3.616070007e-06f, -3.614081606e-06f, -3.612087221e-06f, -3.610086858e-06f, -3.608080521e-06f, -3.606068213e-06f, -3.604049940e-06f, -3.602025705e-06f,
+-3.599995513e-06f, -3.597959369e-06f, -3.595917276e-06f, -3.593869239e-06f, -3.591815263e-06f, -3.589755351e-06f, -3.587689509e-06f, -3.585617740e-06f, -3.583540049e-06f, -3.581456441e-06f,
+-3.579366920e-06f, -3.577271490e-06f, -3.575170156e-06f, -3.573062923e-06f, -3.570949794e-06f, -3.568830775e-06f, -3.566705869e-06f, -3.564575082e-06f, -3.562438418e-06f, -3.560295881e-06f,
+-3.558147476e-06f, -3.555993208e-06f, -3.553833081e-06f, -3.551667099e-06f, -3.549495268e-06f, -3.547317592e-06f, -3.545134075e-06f, -3.542944722e-06f, -3.540749537e-06f, -3.538548526e-06f,
+-3.536341693e-06f, -3.534129042e-06f, -3.531910579e-06f, -3.529686308e-06f, -3.527456233e-06f, -3.525220359e-06f, -3.522978691e-06f, -3.520731234e-06f, -3.518477993e-06f, -3.516218971e-06f,
+-3.513954174e-06f, -3.511683607e-06f, -3.509407274e-06f, -3.507125181e-06f, -3.504837331e-06f, -3.502543729e-06f, -3.500244382e-06f, -3.497939292e-06f, -3.495628465e-06f, -3.493311906e-06f,
+-3.490989620e-06f, -3.488661612e-06f, -3.486327885e-06f, -3.483988446e-06f, -3.481643299e-06f, -3.479292449e-06f, -3.476935901e-06f, -3.474573659e-06f, -3.472205729e-06f, -3.469832116e-06f,
+-3.467452824e-06f, -3.465067858e-06f, -3.462677224e-06f, -3.460280926e-06f, -3.457878969e-06f, -3.455471358e-06f, -3.453058098e-06f, -3.450639195e-06f, -3.448214652e-06f, -3.445784476e-06f,
+-3.443348670e-06f, -3.440907241e-06f, -3.438460193e-06f, -3.436007532e-06f, -3.433549261e-06f, -3.431085387e-06f, -3.428615914e-06f, -3.426140847e-06f, -3.423660192e-06f, -3.421173954e-06f,
+-3.418682137e-06f, -3.416184747e-06f, -3.413681789e-06f, -3.411173268e-06f, -3.408659190e-06f, -3.406139558e-06f, -3.403614379e-06f, -3.401083658e-06f, -3.398547400e-06f, -3.396005609e-06f,
+-3.393458292e-06f, -3.390905453e-06f, -3.388347098e-06f, -3.385783231e-06f, -3.383213859e-06f, -3.380638985e-06f, -3.378058616e-06f, -3.375472757e-06f, -3.372881413e-06f, -3.370284590e-06f,
+-3.367682292e-06f, -3.365074524e-06f, -3.362461293e-06f, -3.359842603e-06f, -3.357218460e-06f, -3.354588869e-06f, -3.351953835e-06f, -3.349313365e-06f, -3.346667462e-06f, -3.344016132e-06f,
+-3.341359382e-06f, -3.338697216e-06f, -3.336029639e-06f, -3.333356657e-06f, -3.330678275e-06f, -3.327994499e-06f, -3.325305335e-06f, -3.322610787e-06f, -3.319910861e-06f, -3.317205562e-06f,
+-3.314494896e-06f, -3.311778869e-06f, -3.309057486e-06f, -3.306330751e-06f, -3.303598672e-06f, -3.300861253e-06f, -3.298118499e-06f, -3.295370417e-06f, -3.292617012e-06f, -3.289858289e-06f,
+-3.287094254e-06f, -3.284324913e-06f, -3.281550270e-06f, -3.278770332e-06f, -3.275985104e-06f, -3.273194592e-06f, -3.270398801e-06f, -3.267597736e-06f, -3.264791405e-06f, -3.261979811e-06f,
+-3.259162961e-06f, -3.256340860e-06f, -3.253513515e-06f, -3.250680929e-06f, -3.247843111e-06f, -3.245000063e-06f, -3.242151794e-06f, -3.239298308e-06f, -3.236439611e-06f, -3.233575708e-06f,
+-3.230706606e-06f, -3.227832309e-06f, -3.224952825e-06f, -3.222068158e-06f, -3.219178314e-06f, -3.216283299e-06f, -3.213383119e-06f, -3.210477779e-06f, -3.207567286e-06f, -3.204651644e-06f,
+-3.201730861e-06f, -3.198804941e-06f, -3.195873890e-06f, -3.192937715e-06f, -3.189996420e-06f, -3.187050012e-06f, -3.184098497e-06f, -3.181141881e-06f, -3.178180169e-06f, -3.175213367e-06f,
+-3.172241481e-06f, -3.169264517e-06f, -3.166282481e-06f, -3.163295379e-06f, -3.160303216e-06f, -3.157305999e-06f, -3.154303733e-06f, -3.151296424e-06f, -3.148284079e-06f, -3.145266703e-06f,
+-3.142244302e-06f, -3.139216882e-06f, -3.136184450e-06f, -3.133147010e-06f, -3.130104569e-06f, -3.127057134e-06f, -3.124004709e-06f, -3.120947301e-06f, -3.117884916e-06f, -3.114817560e-06f,
+-3.111745240e-06f, -3.108667960e-06f, -3.105585727e-06f, -3.102498548e-06f, -3.099406427e-06f, -3.096309372e-06f, -3.093207388e-06f, -3.090100482e-06f, -3.086988659e-06f, -3.083871925e-06f,
+-3.080750288e-06f, -3.077623752e-06f, -3.074492323e-06f, -3.071356009e-06f, -3.068214815e-06f, -3.065068747e-06f, -3.061917812e-06f, -3.058762015e-06f, -3.055601363e-06f, -3.052435862e-06f,
+-3.049265518e-06f, -3.046090337e-06f, -3.042910326e-06f, -3.039725490e-06f, -3.036535836e-06f, -3.033341370e-06f, -3.030142098e-06f, -3.026938027e-06f, -3.023729163e-06f, -3.020515511e-06f,
+-3.017297079e-06f, -3.014073872e-06f, -3.010845897e-06f, -3.007613160e-06f, -3.004375667e-06f, -3.001133425e-06f, -2.997886440e-06f, -2.994634718e-06f, -2.991378265e-06f, -2.988117089e-06f,
+-2.984851194e-06f, -2.981580588e-06f, -2.978305276e-06f, -2.975025266e-06f, -2.971740563e-06f, -2.968451174e-06f, -2.965157106e-06f, -2.961858363e-06f, -2.958554954e-06f, -2.955246884e-06f,
+-2.951934160e-06f, -2.948616789e-06f, -2.945294775e-06f, -2.941968127e-06f, -2.938636850e-06f, -2.935300951e-06f, -2.931960436e-06f, -2.928615312e-06f, -2.925265585e-06f, -2.921911262e-06f,
+-2.918552349e-06f, -2.915188852e-06f, -2.911820779e-06f, -2.908448135e-06f, -2.905070927e-06f, -2.901689162e-06f, -2.898302846e-06f, -2.894911985e-06f, -2.891516586e-06f, -2.888116656e-06f,
+-2.884712202e-06f, -2.881303228e-06f, -2.877889744e-06f, -2.874471754e-06f, -2.871049265e-06f, -2.867622284e-06f, -2.864190818e-06f, -2.860754873e-06f, -2.857314456e-06f, -2.853869573e-06f,
+-2.850420230e-06f, -2.846966436e-06f, -2.843508195e-06f, -2.840045516e-06f, -2.836578403e-06f, -2.833106865e-06f, -2.829630908e-06f, -2.826150537e-06f, -2.822665761e-06f, -2.819176586e-06f,
+-2.815683018e-06f, -2.812185063e-06f, -2.808682730e-06f, -2.805176024e-06f, -2.801664952e-06f, -2.798149521e-06f, -2.794629737e-06f, -2.791105608e-06f, -2.787577139e-06f, -2.784044338e-06f,
+-2.780507212e-06f, -2.776965767e-06f, -2.773420010e-06f, -2.769869947e-06f, -2.766315586e-06f, -2.762756934e-06f, -2.759193996e-06f, -2.755626780e-06f, -2.752055293e-06f, -2.748479541e-06f,
+-2.744899531e-06f, -2.741315270e-06f, -2.737726765e-06f, -2.734134023e-06f, -2.730537050e-06f, -2.726935853e-06f, -2.723330440e-06f, -2.719720817e-06f, -2.716106990e-06f, -2.712488967e-06f,
+-2.708866755e-06f, -2.705240360e-06f, -2.701609790e-06f, -2.697975051e-06f, -2.694336150e-06f, -2.690693094e-06f, -2.687045890e-06f, -2.683394545e-06f, -2.679739065e-06f, -2.676079458e-06f,
+-2.672415731e-06f, -2.668747891e-06f, -2.665075944e-06f, -2.661399897e-06f, -2.657719758e-06f, -2.654035533e-06f, -2.650347229e-06f, -2.646654854e-06f, -2.642958414e-06f, -2.639257916e-06f,
+-2.635553368e-06f, -2.631844776e-06f, -2.628132147e-06f, -2.624415488e-06f, -2.620694807e-06f, -2.616970109e-06f, -2.613241404e-06f, -2.609508696e-06f, -2.605771995e-06f, -2.602031305e-06f,
+-2.598286635e-06f, -2.594537992e-06f, -2.590785382e-06f, -2.587028813e-06f, -2.583268292e-06f, -2.579503825e-06f, -2.575735421e-06f, -2.571963085e-06f, -2.568186826e-06f, -2.564406650e-06f,
+-2.560622564e-06f, -2.556834576e-06f, -2.553042692e-06f, -2.549246920e-06f, -2.545447267e-06f, -2.541643740e-06f, -2.537836346e-06f, -2.534025092e-06f, -2.530209986e-06f, -2.526391034e-06f,
+-2.522568244e-06f, -2.518741623e-06f, -2.514911179e-06f, -2.511076917e-06f, -2.507238846e-06f, -2.503396973e-06f, -2.499551304e-06f, -2.495701848e-06f, -2.491848611e-06f, -2.487991600e-06f,
+-2.484130824e-06f, -2.480266288e-06f, -2.476398000e-06f, -2.472525968e-06f, -2.468650199e-06f, -2.464770699e-06f, -2.460887477e-06f, -2.457000539e-06f, -2.453109893e-06f, -2.449215546e-06f,
+-2.445317505e-06f, -2.441415778e-06f, -2.437510372e-06f, -2.433601294e-06f, -2.429688551e-06f, -2.425772151e-06f, -2.421852101e-06f, -2.417928409e-06f, -2.414001081e-06f, -2.410070125e-06f,
+-2.406135549e-06f, -2.402197359e-06f, -2.398255563e-06f, -2.394310169e-06f, -2.390361184e-06f, -2.386408614e-06f, -2.382452468e-06f, -2.378492753e-06f, -2.374529476e-06f, -2.370562644e-06f,
+-2.366592266e-06f, -2.362618348e-06f, -2.358640898e-06f, -2.354659922e-06f, -2.350675430e-06f, -2.346687427e-06f, -2.342695922e-06f, -2.338700921e-06f, -2.334702433e-06f, -2.330700464e-06f,
+-2.326695022e-06f, -2.322686115e-06f, -2.318673750e-06f, -2.314657934e-06f, -2.310638675e-06f, -2.306615981e-06f, -2.302589858e-06f, -2.298560314e-06f, -2.294527357e-06f, -2.290490994e-06f,
+-2.286451233e-06f, -2.282408081e-06f, -2.278361546e-06f, -2.274311635e-06f, -2.270258356e-06f, -2.266201715e-06f, -2.262141722e-06f, -2.258078383e-06f, -2.254011705e-06f, -2.249941696e-06f,
+-2.245868365e-06f, -2.241791717e-06f, -2.237711762e-06f, -2.233628506e-06f, -2.229541957e-06f, -2.225452122e-06f, -2.221359009e-06f, -2.217262626e-06f, -2.213162980e-06f, -2.209060079e-06f,
+-2.204953930e-06f, -2.200844542e-06f, -2.196731920e-06f, -2.192616074e-06f, -2.188497010e-06f, -2.184374737e-06f, -2.180249262e-06f, -2.176120592e-06f, -2.171988735e-06f, -2.167853699e-06f,
+-2.163715491e-06f, -2.159574119e-06f, -2.155429591e-06f, -2.151281914e-06f, -2.147131096e-06f, -2.142977145e-06f, -2.138820067e-06f, -2.134659872e-06f, -2.130496566e-06f, -2.126330157e-06f,
+-2.122160653e-06f, -2.117988061e-06f, -2.113812390e-06f, -2.109633646e-06f, -2.105451838e-06f, -2.101266973e-06f, -2.097079059e-06f, -2.092888104e-06f, -2.088694114e-06f, -2.084497099e-06f,
+-2.080297066e-06f, -2.076094022e-06f, -2.071887975e-06f, -2.067678933e-06f, -2.063466904e-06f, -2.059251894e-06f, -2.055033913e-06f, -2.050812968e-06f, -2.046589066e-06f, -2.042362216e-06f,
+-2.038132424e-06f, -2.033899699e-06f, -2.029664049e-06f, -2.025425481e-06f, -2.021184003e-06f, -2.016939623e-06f, -2.012692348e-06f, -2.008442187e-06f, -2.004189147e-06f, -1.999933236e-06f,
+-1.995674461e-06f, -1.991412831e-06f, -1.987148354e-06f, -1.982881036e-06f, -1.978610886e-06f, -1.974337913e-06f, -1.970062122e-06f, -1.965783523e-06f, -1.961502123e-06f, -1.957217930e-06f,
+-1.952930952e-06f, -1.948641197e-06f, -1.944348672e-06f, -1.940053385e-06f, -1.935755344e-06f, -1.931454558e-06f, -1.927151033e-06f, -1.922844778e-06f, -1.918535801e-06f, -1.914224109e-06f,
+-1.909909710e-06f, -1.905592612e-06f, -1.901272823e-06f, -1.896950352e-06f, -1.892625205e-06f, -1.888297390e-06f, -1.883966916e-06f, -1.879633791e-06f, -1.875298022e-06f, -1.870959617e-06f,
+-1.866618584e-06f, -1.862274931e-06f, -1.857928666e-06f, -1.853579797e-06f, -1.849228332e-06f, -1.844874278e-06f, -1.840517644e-06f, -1.836158437e-06f, -1.831796666e-06f, -1.827432338e-06f,
+-1.823065461e-06f, -1.818696044e-06f, -1.814324093e-06f, -1.809949618e-06f, -1.805572626e-06f, -1.801193124e-06f, -1.796811122e-06f, -1.792426627e-06f, -1.788039646e-06f, -1.783650188e-06f,
+-1.779258261e-06f, -1.774863873e-06f, -1.770467031e-06f, -1.766067744e-06f, -1.761666020e-06f, -1.757261866e-06f, -1.752855291e-06f, -1.748446303e-06f, -1.744034909e-06f, -1.739621117e-06f,
+-1.735204937e-06f, -1.730786375e-06f, -1.726365439e-06f, -1.721942138e-06f, -1.717516480e-06f, -1.713088472e-06f, -1.708658123e-06f, -1.704225440e-06f, -1.699790432e-06f, -1.695353107e-06f,
+-1.690913473e-06f, -1.686471537e-06f, -1.682027308e-06f, -1.677580794e-06f, -1.673132002e-06f, -1.668680942e-06f, -1.664227620e-06f, -1.659772045e-06f, -1.655314226e-06f, -1.650854169e-06f,
+-1.646391884e-06f, -1.641927377e-06f, -1.637460658e-06f, -1.632991734e-06f, -1.628520613e-06f, -1.624047304e-06f, -1.619571815e-06f, -1.615094153e-06f, -1.610614326e-06f, -1.606132343e-06f,
+-1.601648212e-06f, -1.597161941e-06f, -1.592673538e-06f, -1.588183011e-06f, -1.583690368e-06f, -1.579195617e-06f, -1.574698766e-06f, -1.570199824e-06f, -1.565698798e-06f, -1.561195697e-06f,
+-1.556690529e-06f, -1.552183302e-06f, -1.547674023e-06f, -1.543162701e-06f, -1.538649345e-06f, -1.534133962e-06f, -1.529616560e-06f, -1.525097148e-06f, -1.520575734e-06f, -1.516052325e-06f,
+-1.511526930e-06f, -1.506999557e-06f, -1.502470214e-06f, -1.497938910e-06f, -1.493405652e-06f, -1.488870448e-06f, -1.484333308e-06f, -1.479794238e-06f, -1.475253247e-06f, -1.470710343e-06f,
+-1.466165535e-06f, -1.461618830e-06f, -1.457070237e-06f, -1.452519763e-06f, -1.447967418e-06f, -1.443413208e-06f, -1.438857143e-06f, -1.434299230e-06f, -1.429739478e-06f, -1.425177894e-06f,
+-1.420614487e-06f, -1.416049266e-06f, -1.411482238e-06f, -1.406913411e-06f, -1.402342794e-06f, -1.397770394e-06f, -1.393196221e-06f, -1.388620282e-06f, -1.384042585e-06f, -1.379463139e-06f,
+-1.374881951e-06f, -1.370299031e-06f, -1.365714386e-06f, -1.361128024e-06f, -1.356539953e-06f, -1.351950182e-06f, -1.347358719e-06f, -1.342765573e-06f, -1.338170750e-06f, -1.333574261e-06f,
+-1.328976112e-06f, -1.324376312e-06f, -1.319774869e-06f, -1.315171791e-06f, -1.310567087e-06f, -1.305960765e-06f, -1.301352833e-06f, -1.296743300e-06f, -1.292132172e-06f, -1.287519460e-06f,
+-1.282905170e-06f, -1.278289312e-06f, -1.273671893e-06f, -1.269052922e-06f, -1.264432406e-06f, -1.259810355e-06f, -1.255186776e-06f, -1.250561678e-06f, -1.245935068e-06f, -1.241306955e-06f,
+-1.236677348e-06f, -1.232046254e-06f, -1.227413682e-06f, -1.222779640e-06f, -1.218144136e-06f, -1.213507179e-06f, -1.208868777e-06f, -1.204228937e-06f, -1.199587669e-06f, -1.194944980e-06f,
+-1.190300880e-06f, -1.185655375e-06f, -1.181008474e-06f, -1.176360186e-06f, -1.171710519e-06f, -1.167059481e-06f, -1.162407080e-06f, -1.157753324e-06f, -1.153098223e-06f, -1.148441784e-06f,
+-1.143784015e-06f, -1.139124924e-06f, -1.134464521e-06f, -1.129802813e-06f, -1.125139808e-06f, -1.120475515e-06f, -1.115809942e-06f, -1.111143097e-06f, -1.106474989e-06f, -1.101805626e-06f,
+-1.097135016e-06f, -1.092463167e-06f, -1.087790088e-06f, -1.083115786e-06f, -1.078440271e-06f, -1.073763551e-06f, -1.069085633e-06f, -1.064406527e-06f, -1.059726239e-06f, -1.055044780e-06f,
+-1.050362156e-06f, -1.045678376e-06f, -1.040993449e-06f, -1.036307383e-06f, -1.031620186e-06f, -1.026931866e-06f, -1.022242432e-06f, -1.017551892e-06f, -1.012860254e-06f, -1.008167527e-06f,
+-1.003473719e-06f, -9.987788372e-07f, -9.940828913e-07f, -9.893858891e-07f, -9.846878389e-07f, -9.799887491e-07f, -9.752886278e-07f, -9.705874835e-07f, -9.658853244e-07f, -9.611821588e-07f,
+-9.564779951e-07f, -9.517728414e-07f, -9.470667062e-07f, -9.423595977e-07f, -9.376515242e-07f, -9.329424941e-07f, -9.282325156e-07f, -9.235215970e-07f, -9.188097467e-07f, -9.140969729e-07f,
+-9.093832839e-07f, -9.046686882e-07f, -8.999531938e-07f, -8.952368093e-07f, -8.905195428e-07f, -8.858014027e-07f, -8.810823974e-07f, -8.763625350e-07f, -8.716418239e-07f, -8.669202724e-07f,
+-8.621978889e-07f, -8.574746816e-07f, -8.527506588e-07f, -8.480258289e-07f, -8.433002002e-07f, -8.385737810e-07f, -8.338465795e-07f, -8.291186041e-07f, -8.243898631e-07f, -8.196603649e-07f,
+-8.149301177e-07f, -8.101991298e-07f, -8.054674096e-07f, -8.007349653e-07f, -7.960018053e-07f, -7.912679379e-07f, -7.865333714e-07f, -7.817981141e-07f, -7.770621743e-07f, -7.723255604e-07f,
+-7.675882806e-07f, -7.628503433e-07f, -7.581117567e-07f, -7.533725292e-07f, -7.486326691e-07f, -7.438921846e-07f, -7.391510842e-07f, -7.344093762e-07f, -7.296670687e-07f, -7.249241702e-07f,
+-7.201806890e-07f, -7.154366333e-07f, -7.106920115e-07f, -7.059468319e-07f, -7.012011027e-07f, -6.964548324e-07f, -6.917080292e-07f, -6.869607015e-07f, -6.822128574e-07f, -6.774645054e-07f,
+-6.727156538e-07f, -6.679663108e-07f, -6.632164847e-07f, -6.584661840e-07f, -6.537154168e-07f, -6.489641915e-07f, -6.442125164e-07f, -6.394603999e-07f, -6.347078501e-07f, -6.299548754e-07f,
+-6.252014841e-07f, -6.204476846e-07f, -6.156934851e-07f, -6.109388939e-07f, -6.061839193e-07f, -6.014285696e-07f, -5.966728532e-07f, -5.919167784e-07f, -5.871603533e-07f, -5.824035864e-07f,
+-5.776464859e-07f, -5.728890602e-07f, -5.681313175e-07f, -5.633732661e-07f, -5.586149143e-07f, -5.538562705e-07f, -5.490973429e-07f, -5.443381398e-07f, -5.395786694e-07f, -5.348189402e-07f,
+-5.300589604e-07f, -5.252987383e-07f, -5.205382821e-07f, -5.157776002e-07f, -5.110167009e-07f, -5.062555924e-07f, -5.014942830e-07f, -4.967327811e-07f, -4.919710948e-07f, -4.872092326e-07f,
+-4.824472026e-07f, -4.776850132e-07f, -4.729226726e-07f, -4.681601892e-07f, -4.633975711e-07f, -4.586348268e-07f, -4.538719644e-07f, -4.491089922e-07f, -4.443459186e-07f, -4.395827518e-07f,
+-4.348195000e-07f, -4.300561716e-07f, -4.252927748e-07f, -4.205293179e-07f, -4.157658091e-07f, -4.110022568e-07f, -4.062386692e-07f, -4.014750546e-07f, -3.967114212e-07f, -3.919477773e-07f,
+-3.871841311e-07f, -3.824204910e-07f, -3.776568652e-07f, -3.728932619e-07f, -3.681296895e-07f, -3.633661561e-07f, -3.586026700e-07f, -3.538392395e-07f, -3.490758729e-07f, -3.443125783e-07f,
+-3.395493641e-07f, -3.347862385e-07f, -3.300232097e-07f, -3.252602860e-07f, -3.204974756e-07f, -3.157347869e-07f, -3.109722279e-07f, -3.062098070e-07f, -3.014475324e-07f, -2.966854124e-07f,
+-2.919234552e-07f, -2.871616689e-07f, -2.824000620e-07f, -2.776386425e-07f, -2.728774188e-07f, -2.681163990e-07f, -2.633555914e-07f, -2.585950042e-07f, -2.538346456e-07f, -2.490745239e-07f,
+-2.443146473e-07f, -2.395550240e-07f, -2.347956623e-07f, -2.300365702e-07f, -2.252777562e-07f, -2.205192283e-07f, -2.157609948e-07f, -2.110030639e-07f, -2.062454438e-07f, -2.014881428e-07f,
+-1.967311689e-07f, -1.919745305e-07f, -1.872182358e-07f, -1.824622928e-07f, -1.777067100e-07f, -1.729514953e-07f, -1.681966571e-07f, -1.634422035e-07f, -1.586881427e-07f, -1.539344829e-07f,
+-1.491812323e-07f, -1.444283991e-07f, -1.396759914e-07f, -1.349240175e-07f, -1.301724856e-07f, -1.254214037e-07f, -1.206707801e-07f, -1.159206230e-07f, -1.111709405e-07f, -1.064217409e-07f,
+-1.016730322e-07f, -9.692482259e-08f, -9.217712034e-08f, -8.742993355e-08f, -8.268327040e-08f, -7.793713903e-08f, -7.319154762e-08f, -6.844650430e-08f, -6.370201724e-08f, -5.895809458e-08f,
+-5.421474447e-08f, -4.947197506e-08f, -4.472979450e-08f, -3.998821092e-08f, -3.524723247e-08f, -3.050686727e-08f, -2.576712348e-08f, -2.102800921e-08f, -1.628953261e-08f, -1.155170180e-08f,
+-6.814524901e-09f, -2.078010045e-09f, 2.657834651e-09f, 7.393001064e-09f, 1.212748108e-08f, 1.686126658e-08f, 2.159434946e-08f, 2.632672160e-08f, 3.105837490e-08f, 3.578930125e-08f,
+4.051949255e-08f, 4.524894070e-08f, 4.997763760e-08f, 5.470557516e-08f, 5.943274528e-08f, 6.415913987e-08f, 6.888475085e-08f, 7.360957012e-08f, 7.833358961e-08f, 8.305680124e-08f,
+8.777919692e-08f, 9.250076859e-08f, 9.722150816e-08f, 1.019414076e-07f, 1.066604588e-07f, 1.113786537e-07f, 1.160959842e-07f, 1.208124423e-07f, 1.255280200e-07f, 1.302427091e-07f,
+1.349565016e-07f, 1.396693896e-07f, 1.443813648e-07f, 1.490924193e-07f, 1.538025451e-07f, 1.585117341e-07f, 1.632199782e-07f, 1.679272695e-07f, 1.726335999e-07f, 1.773389614e-07f,
+1.820433459e-07f, 1.867467455e-07f, 1.914491521e-07f, 1.961505577e-07f, 2.008509543e-07f, 2.055503338e-07f, 2.102486884e-07f, 2.149460099e-07f, 2.196422903e-07f, 2.243375218e-07f,
+2.290316962e-07f, 2.337248056e-07f, 2.384168420e-07f, 2.431077974e-07f, 2.477976638e-07f, 2.524864333e-07f, 2.571740978e-07f, 2.618606495e-07f, 2.665460802e-07f, 2.712303821e-07f,
+2.759135472e-07f, 2.805955676e-07f, 2.852764352e-07f, 2.899561421e-07f, 2.946346804e-07f, 2.993120421e-07f, 3.039882192e-07f, 3.086632039e-07f, 3.133369882e-07f, 3.180095641e-07f,
+3.226809238e-07f, 3.273510592e-07f, 3.320199625e-07f, 3.366876258e-07f, 3.413540410e-07f, 3.460192004e-07f, 3.506830959e-07f, 3.553457197e-07f, 3.600070639e-07f, 3.646671206e-07f,
+3.693258818e-07f, 3.739833397e-07f, 3.786394864e-07f, 3.832943139e-07f, 3.879478145e-07f, 3.925999802e-07f, 3.972508031e-07f, 4.019002753e-07f, 4.065483891e-07f, 4.111951365e-07f,
+4.158405096e-07f, 4.204845007e-07f, 4.251271018e-07f, 4.297683050e-07f, 4.344081026e-07f, 4.390464866e-07f, 4.436834493e-07f, 4.483189828e-07f, 4.529530792e-07f, 4.575857308e-07f,
+4.622169296e-07f, 4.668466680e-07f, 4.714749379e-07f, 4.761017317e-07f, 4.807270415e-07f, 4.853508595e-07f, 4.899731779e-07f, 4.945939888e-07f, 4.992132846e-07f, 5.038310573e-07f,
+5.084472993e-07f, 5.130620026e-07f, 5.176751595e-07f, 5.222867623e-07f, 5.268968032e-07f, 5.315052743e-07f, 5.361121680e-07f, 5.407174764e-07f, 5.453211917e-07f, 5.499233064e-07f,
+5.545238124e-07f, 5.591227022e-07f, 5.637199680e-07f, 5.683156020e-07f, 5.729095965e-07f, 5.775019438e-07f, 5.820926360e-07f, 5.866816656e-07f, 5.912690248e-07f, 5.958547058e-07f,
+6.004387009e-07f, 6.050210025e-07f, 6.096016028e-07f, 6.141804941e-07f, 6.187576687e-07f, 6.233331189e-07f, 6.279068371e-07f, 6.324788155e-07f, 6.370490465e-07f, 6.416175224e-07f,
+6.461842355e-07f, 6.507491781e-07f, 6.553123426e-07f, 6.598737213e-07f, 6.644333065e-07f, 6.689910907e-07f, 6.735470661e-07f, 6.781012251e-07f, 6.826535601e-07f, 6.872040634e-07f,
+6.917527274e-07f, 6.962995444e-07f, 7.008445069e-07f, 7.053876073e-07f, 7.099288378e-07f, 7.144681909e-07f, 7.190056590e-07f, 7.235412345e-07f, 7.280749098e-07f, 7.326066773e-07f,
+7.371365294e-07f, 7.416644585e-07f, 7.461904571e-07f, 7.507145175e-07f, 7.552366323e-07f, 7.597567937e-07f, 7.642749943e-07f, 7.687912266e-07f, 7.733054828e-07f, 7.778177556e-07f,
+7.823280374e-07f, 7.868363206e-07f, 7.913425976e-07f, 7.958468610e-07f, 8.003491033e-07f, 8.048493168e-07f, 8.093474941e-07f, 8.138436277e-07f, 8.183377101e-07f, 8.228297338e-07f,
+8.273196912e-07f, 8.318075749e-07f, 8.362933774e-07f, 8.407770911e-07f, 8.452587087e-07f, 8.497382227e-07f, 8.542156255e-07f, 8.586909097e-07f, 8.631640679e-07f, 8.676350925e-07f,
+8.721039762e-07f, 8.765707115e-07f, 8.810352910e-07f, 8.854977071e-07f, 8.899579526e-07f, 8.944160198e-07f, 8.988719016e-07f, 9.033255903e-07f, 9.077770786e-07f, 9.122263592e-07f,
+9.166734245e-07f, 9.211182672e-07f, 9.255608799e-07f, 9.300012552e-07f, 9.344393858e-07f, 9.388752642e-07f, 9.433088830e-07f, 9.477402350e-07f, 9.521693127e-07f, 9.565961088e-07f,
+9.610206160e-07f, 9.654428268e-07f, 9.698627339e-07f, 9.742803300e-07f, 9.786956079e-07f, 9.831085600e-07f, 9.875191792e-07f, 9.919274580e-07f, 9.963333892e-07f, 1.000736966e-06f,
+1.005138180e-06f, 1.009537024e-06f, 1.013933492e-06f, 1.018327576e-06f, 1.022719268e-06f, 1.027108561e-06f, 1.031495449e-06f, 1.035879923e-06f, 1.040261977e-06f, 1.044641604e-06f,
+1.049018795e-06f, 1.053393544e-06f, 1.057765844e-06f, 1.062135686e-06f, 1.066503065e-06f, 1.070867973e-06f, 1.075230403e-06f, 1.079590347e-06f, 1.083947798e-06f, 1.088302749e-06f,
+1.092655193e-06f, 1.097005122e-06f, 1.101352530e-06f, 1.105697409e-06f, 1.110039753e-06f, 1.114379553e-06f, 1.118716803e-06f, 1.123051495e-06f, 1.127383623e-06f, 1.131713179e-06f,
+1.136040157e-06f, 1.140364548e-06f, 1.144686346e-06f, 1.149005544e-06f, 1.153322134e-06f, 1.157636110e-06f, 1.161947465e-06f, 1.166256190e-06f, 1.170562280e-06f, 1.174865727e-06f,
+1.179166524e-06f, 1.183464664e-06f, 1.187760140e-06f, 1.192052944e-06f, 1.196343070e-06f, 1.200630511e-06f, 1.204915259e-06f, 1.209197308e-06f, 1.213476651e-06f, 1.217753280e-06f,
+1.222027188e-06f, 1.226298369e-06f, 1.230566815e-06f, 1.234832519e-06f, 1.239095475e-06f, 1.243355675e-06f, 1.247613113e-06f, 1.251867780e-06f, 1.256119672e-06f, 1.260368779e-06f,
+1.264615097e-06f, 1.268858616e-06f, 1.273099331e-06f, 1.277337235e-06f, 1.281572320e-06f, 1.285804580e-06f, 1.290034008e-06f, 1.294260596e-06f, 1.298484338e-06f, 1.302705227e-06f,
+1.306923256e-06f, 1.311138419e-06f, 1.315350707e-06f, 1.319560115e-06f, 1.323766635e-06f, 1.327970261e-06f, 1.332170985e-06f, 1.336368802e-06f, 1.340563703e-06f, 1.344755682e-06f,
+1.348944732e-06f, 1.353130847e-06f, 1.357314019e-06f, 1.361494242e-06f, 1.365671509e-06f, 1.369845812e-06f, 1.374017146e-06f, 1.378185504e-06f, 1.382350878e-06f, 1.386513261e-06f,
+1.390672648e-06f, 1.394829031e-06f, 1.398982403e-06f, 1.403132758e-06f, 1.407280089e-06f, 1.411424389e-06f, 1.415565651e-06f, 1.419703869e-06f, 1.423839036e-06f, 1.427971145e-06f,
+1.432100189e-06f, 1.436226162e-06f, 1.440349057e-06f, 1.444468867e-06f, 1.448585585e-06f, 1.452699206e-06f, 1.456809721e-06f, 1.460917125e-06f, 1.465021411e-06f, 1.469122572e-06f,
+1.473220601e-06f, 1.477315493e-06f, 1.481407239e-06f, 1.485495833e-06f, 1.489581270e-06f, 1.493663542e-06f, 1.497742642e-06f, 1.501818564e-06f, 1.505891301e-06f, 1.509960847e-06f,
+1.514027196e-06f, 1.518090339e-06f, 1.522150272e-06f, 1.526206987e-06f, 1.530260478e-06f, 1.534310738e-06f, 1.538357760e-06f, 1.542401539e-06f, 1.546442067e-06f, 1.550479338e-06f,
+1.554513345e-06f, 1.558544083e-06f, 1.562571543e-06f, 1.566595721e-06f, 1.570616609e-06f, 1.574634200e-06f, 1.578648489e-06f, 1.582659469e-06f, 1.586667133e-06f, 1.590671475e-06f,
+1.594672489e-06f, 1.598670167e-06f, 1.602664504e-06f, 1.606655493e-06f, 1.610643127e-06f, 1.614627401e-06f, 1.618608307e-06f, 1.622585840e-06f, 1.626559992e-06f, 1.630530758e-06f,
+1.634498131e-06f, 1.638462105e-06f, 1.642422673e-06f, 1.646379828e-06f, 1.650333566e-06f, 1.654283878e-06f, 1.658230759e-06f, 1.662174203e-06f, 1.666114202e-06f, 1.670050752e-06f,
+1.673983844e-06f, 1.677913474e-06f, 1.681839635e-06f, 1.685762319e-06f, 1.689681522e-06f, 1.693597237e-06f, 1.697509458e-06f, 1.701418177e-06f, 1.705323390e-06f, 1.709225089e-06f,
+1.713123268e-06f, 1.717017922e-06f, 1.720909044e-06f, 1.724796627e-06f, 1.728680665e-06f, 1.732561153e-06f, 1.736438084e-06f, 1.740311451e-06f, 1.744181250e-06f, 1.748047472e-06f,
+1.751910112e-06f, 1.755769165e-06f, 1.759624623e-06f, 1.763476481e-06f, 1.767324732e-06f, 1.771169370e-06f, 1.775010390e-06f, 1.778847784e-06f, 1.782681547e-06f, 1.786511673e-06f,
+1.790338156e-06f, 1.794160989e-06f, 1.797980166e-06f, 1.801795681e-06f, 1.805607529e-06f, 1.809415703e-06f, 1.813220196e-06f, 1.817021004e-06f, 1.820818119e-06f, 1.824611536e-06f,
+1.828401249e-06f, 1.832187252e-06f, 1.835969538e-06f, 1.839748101e-06f, 1.843522937e-06f, 1.847294037e-06f, 1.851061398e-06f, 1.854825012e-06f, 1.858584873e-06f, 1.862340976e-06f,
+1.866093315e-06f, 1.869841883e-06f, 1.873586675e-06f, 1.877327685e-06f, 1.881064906e-06f, 1.884798333e-06f, 1.888527960e-06f, 1.892253781e-06f, 1.895975790e-06f, 1.899693981e-06f,
+1.903408349e-06f, 1.907118886e-06f, 1.910825588e-06f, 1.914528449e-06f, 1.918227462e-06f, 1.921922622e-06f, 1.925613923e-06f, 1.929301360e-06f, 1.932984925e-06f, 1.936664614e-06f,
+1.940340420e-06f, 1.944012338e-06f, 1.947680362e-06f, 1.951344487e-06f, 1.955004705e-06f, 1.958661012e-06f, 1.962313402e-06f, 1.965961869e-06f, 1.969606407e-06f, 1.973247011e-06f,
+1.976883674e-06f, 1.980516391e-06f, 1.984145156e-06f, 1.987769964e-06f, 1.991390809e-06f, 1.995007685e-06f, 1.998620586e-06f, 2.002229507e-06f, 2.005834441e-06f, 2.009435384e-06f,
+2.013032330e-06f, 2.016625272e-06f, 2.020214206e-06f, 2.023799125e-06f, 2.027380025e-06f, 2.030956899e-06f, 2.034529741e-06f, 2.038098546e-06f, 2.041663309e-06f, 2.045224024e-06f,
+2.048780685e-06f, 2.052333287e-06f, 2.055881824e-06f, 2.059426290e-06f, 2.062966681e-06f, 2.066502989e-06f, 2.070035211e-06f, 2.073563340e-06f, 2.077087370e-06f, 2.080607297e-06f,
+2.084123115e-06f, 2.087634818e-06f, 2.091142400e-06f, 2.094645857e-06f, 2.098145182e-06f, 2.101640371e-06f, 2.105131417e-06f, 2.108618316e-06f, 2.112101061e-06f, 2.115579648e-06f,
+2.119054071e-06f, 2.122524325e-06f, 2.125990403e-06f, 2.129452302e-06f, 2.132910014e-06f, 2.136363536e-06f, 2.139812860e-06f, 2.143257983e-06f, 2.146698899e-06f, 2.150135602e-06f,
+2.153568087e-06f, 2.156996349e-06f, 2.160420382e-06f, 2.163840181e-06f, 2.167255741e-06f, 2.170667056e-06f, 2.174074121e-06f, 2.177476931e-06f, 2.180875480e-06f, 2.184269763e-06f,
+2.187659775e-06f, 2.191045511e-06f, 2.194426965e-06f, 2.197804132e-06f, 2.201177007e-06f, 2.204545585e-06f, 2.207909860e-06f, 2.211269827e-06f, 2.214625481e-06f, 2.217976816e-06f,
+2.221323829e-06f, 2.224666512e-06f, 2.228004862e-06f, 2.231338873e-06f, 2.234668539e-06f, 2.237993856e-06f, 2.241314819e-06f, 2.244631422e-06f, 2.247943660e-06f, 2.251251529e-06f,
+2.254555022e-06f, 2.257854136e-06f, 2.261148864e-06f, 2.264439202e-06f, 2.267725145e-06f, 2.271006687e-06f, 2.274283824e-06f, 2.277556550e-06f, 2.280824860e-06f, 2.284088750e-06f,
+2.287348215e-06f, 2.290603248e-06f, 2.293853846e-06f, 2.297100004e-06f, 2.300341715e-06f, 2.303578976e-06f, 2.306811781e-06f, 2.310040126e-06f, 2.313264005e-06f, 2.316483414e-06f,
+2.319698347e-06f, 2.322908799e-06f, 2.326114766e-06f, 2.329316243e-06f, 2.332513225e-06f, 2.335705707e-06f, 2.338893684e-06f, 2.342077150e-06f, 2.345256103e-06f, 2.348430535e-06f,
+2.351600443e-06f, 2.354765822e-06f, 2.357926666e-06f, 2.361082972e-06f, 2.364234734e-06f, 2.367381947e-06f, 2.370524606e-06f, 2.373662708e-06f, 2.376796246e-06f, 2.379925217e-06f,
+2.383049615e-06f, 2.386169435e-06f, 2.389284674e-06f, 2.392395325e-06f, 2.395501385e-06f, 2.398602849e-06f, 2.401699711e-06f, 2.404791968e-06f, 2.407879614e-06f, 2.410962645e-06f,
+2.414041056e-06f, 2.417114843e-06f, 2.420184000e-06f, 2.423248524e-06f, 2.426308409e-06f, 2.429363651e-06f, 2.432414245e-06f, 2.435460187e-06f, 2.438501471e-06f, 2.441538094e-06f,
+2.444570051e-06f, 2.447597336e-06f, 2.450619947e-06f, 2.453637877e-06f, 2.456651123e-06f, 2.459659679e-06f, 2.462663542e-06f, 2.465662707e-06f, 2.468657168e-06f, 2.471646923e-06f,
+2.474631966e-06f, 2.477612292e-06f, 2.480587898e-06f, 2.483558779e-06f, 2.486524929e-06f, 2.489486346e-06f, 2.492443023e-06f, 2.495394958e-06f, 2.498342145e-06f, 2.501284580e-06f,
+2.504222259e-06f, 2.507155177e-06f, 2.510083329e-06f, 2.513006712e-06f, 2.515925321e-06f, 2.518839151e-06f, 2.521748199e-06f, 2.524652460e-06f, 2.527551929e-06f, 2.530446602e-06f,
+2.533336475e-06f, 2.536221543e-06f, 2.539101803e-06f, 2.541977249e-06f, 2.544847878e-06f, 2.547713686e-06f, 2.550574667e-06f, 2.553430818e-06f, 2.556282134e-06f, 2.559128612e-06f,
+2.561970247e-06f, 2.564807034e-06f, 2.567638970e-06f, 2.570466050e-06f, 2.573288270e-06f, 2.576105626e-06f, 2.578918114e-06f, 2.581725730e-06f, 2.584528468e-06f, 2.587326326e-06f,
+2.590119299e-06f, 2.592907382e-06f, 2.595690573e-06f, 2.598468866e-06f, 2.601242257e-06f, 2.604010743e-06f, 2.606774319e-06f, 2.609532981e-06f, 2.612286725e-06f, 2.615035548e-06f,
+2.617779444e-06f, 2.620518410e-06f, 2.623252442e-06f, 2.625981536e-06f, 2.628705688e-06f, 2.631424893e-06f, 2.634139149e-06f, 2.636848450e-06f, 2.639552792e-06f, 2.642252173e-06f,
+2.644946587e-06f, 2.647636032e-06f, 2.650320502e-06f, 2.652999994e-06f, 2.655674504e-06f, 2.658344028e-06f, 2.661008563e-06f, 2.663668103e-06f, 2.666322647e-06f, 2.668972188e-06f,
+2.671616724e-06f, 2.674256251e-06f, 2.676890765e-06f, 2.679520262e-06f, 2.682144738e-06f, 2.684764189e-06f, 2.687378612e-06f, 2.689988003e-06f, 2.692592357e-06f, 2.695191672e-06f,
+2.697785943e-06f, 2.700375166e-06f, 2.702959339e-06f, 2.705538456e-06f, 2.708112514e-06f, 2.710681510e-06f, 2.713245440e-06f, 2.715804300e-06f, 2.718358086e-06f, 2.720906795e-06f,
+2.723450423e-06f, 2.725988966e-06f, 2.728522421e-06f, 2.731050784e-06f, 2.733574051e-06f, 2.736092218e-06f, 2.738605283e-06f, 2.741113241e-06f, 2.743616088e-06f, 2.746113822e-06f,
+2.748606439e-06f, 2.751093934e-06f, 2.753576304e-06f, 2.756053547e-06f, 2.758525658e-06f, 2.760992633e-06f, 2.763454469e-06f, 2.765911163e-06f, 2.768362712e-06f, 2.770809110e-06f,
+2.773250356e-06f, 2.775686445e-06f, 2.778117375e-06f, 2.780543140e-06f, 2.782963740e-06f, 2.785379168e-06f, 2.787789423e-06f, 2.790194501e-06f, 2.792594398e-06f, 2.794989111e-06f,
+2.797378636e-06f, 2.799762971e-06f, 2.802142111e-06f, 2.804516054e-06f, 2.806884795e-06f, 2.809248332e-06f, 2.811606662e-06f, 2.813959780e-06f, 2.816307684e-06f, 2.818650370e-06f,
+2.820987835e-06f, 2.823320076e-06f, 2.825647088e-06f, 2.827968870e-06f, 2.830285418e-06f, 2.832596728e-06f, 2.834902798e-06f, 2.837203623e-06f, 2.839499201e-06f, 2.841789529e-06f,
+2.844074602e-06f, 2.846354419e-06f, 2.848628976e-06f, 2.850898270e-06f, 2.853162297e-06f, 2.855421054e-06f, 2.857674538e-06f, 2.859922747e-06f, 2.862165676e-06f, 2.864403323e-06f,
+2.866635685e-06f, 2.868862758e-06f, 2.871084539e-06f, 2.873301026e-06f, 2.875512215e-06f, 2.877718103e-06f, 2.879918687e-06f, 2.882113964e-06f, 2.884303931e-06f, 2.886488585e-06f,
+2.888667923e-06f, 2.890841942e-06f, 2.893010639e-06f, 2.895174010e-06f, 2.897332053e-06f, 2.899484766e-06f, 2.901632144e-06f, 2.903774185e-06f, 2.905910886e-06f, 2.908042244e-06f,
+2.910168256e-06f, 2.912288920e-06f, 2.914404232e-06f, 2.916514189e-06f, 2.918618788e-06f, 2.920718028e-06f, 2.922811904e-06f, 2.924900414e-06f, 2.926983555e-06f, 2.929061324e-06f,
+2.931133718e-06f, 2.933200735e-06f, 2.935262372e-06f, 2.937318626e-06f, 2.939369494e-06f, 2.941414973e-06f, 2.943455060e-06f, 2.945489754e-06f, 2.947519050e-06f, 2.949542947e-06f,
+2.951561441e-06f, 2.953574530e-06f, 2.955582212e-06f, 2.957584482e-06f, 2.959581340e-06f, 2.961572781e-06f, 2.963558804e-06f, 2.965539405e-06f, 2.967514582e-06f, 2.969484333e-06f,
+2.971448654e-06f, 2.973407544e-06f, 2.975360999e-06f, 2.977309017e-06f, 2.979251595e-06f, 2.981188730e-06f, 2.983120421e-06f, 2.985046665e-06f, 2.986967458e-06f, 2.988882799e-06f,
+2.990792684e-06f, 2.992697112e-06f, 2.994596080e-06f, 2.996489585e-06f, 2.998377625e-06f, 3.000260197e-06f, 3.002137299e-06f, 3.004008928e-06f, 3.005875082e-06f, 3.007735759e-06f,
+3.009590956e-06f, 3.011440670e-06f, 3.013284899e-06f, 3.015123642e-06f, 3.016956894e-06f, 3.018784654e-06f, 3.020606920e-06f, 3.022423690e-06f, 3.024234959e-06f, 3.026040728e-06f,
+3.027840992e-06f, 3.029635751e-06f, 3.031425001e-06f, 3.033208740e-06f, 3.034986965e-06f, 3.036759676e-06f, 3.038526868e-06f, 3.040288541e-06f, 3.042044691e-06f, 3.043795317e-06f,
+3.045540416e-06f, 3.047279986e-06f, 3.049014025e-06f, 3.050742531e-06f, 3.052465501e-06f, 3.054182932e-06f, 3.055894824e-06f, 3.057601174e-06f, 3.059301979e-06f, 3.060997238e-06f,
+3.062686948e-06f, 3.064371108e-06f, 3.066049714e-06f, 3.067722766e-06f, 3.069390260e-06f, 3.071052195e-06f, 3.072708569e-06f, 3.074359379e-06f, 3.076004624e-06f, 3.077644301e-06f,
+3.079278409e-06f, 3.080906945e-06f, 3.082529907e-06f, 3.084147294e-06f, 3.085759103e-06f, 3.087365333e-06f, 3.088965981e-06f, 3.090561045e-06f, 3.092150524e-06f, 3.093734415e-06f,
+3.095312717e-06f, 3.096885427e-06f, 3.098452544e-06f, 3.100014066e-06f, 3.101569990e-06f, 3.103120316e-06f, 3.104665040e-06f, 3.106204162e-06f, 3.107737679e-06f, 3.109265590e-06f,
+3.110787892e-06f, 3.112304584e-06f, 3.113815663e-06f, 3.115321129e-06f, 3.116820980e-06f, 3.118315213e-06f, 3.119803826e-06f, 3.121286819e-06f, 3.122764189e-06f, 3.124235934e-06f,
+3.125702053e-06f, 3.127162544e-06f, 3.128617405e-06f, 3.130066634e-06f, 3.131510231e-06f, 3.132948193e-06f, 3.134380518e-06f, 3.135807204e-06f, 3.137228251e-06f, 3.138643657e-06f,
+3.140053419e-06f, 3.141457536e-06f, 3.142856007e-06f, 3.144248830e-06f, 3.145636003e-06f, 3.147017525e-06f, 3.148393394e-06f, 3.149763608e-06f, 3.151128167e-06f, 3.152487068e-06f,
+3.153840310e-06f, 3.155187891e-06f, 3.156529810e-06f, 3.157866065e-06f, 3.159196655e-06f, 3.160521579e-06f, 3.161840834e-06f, 3.163154420e-06f, 3.164462334e-06f, 3.165764576e-06f,
+3.167061144e-06f, 3.168352037e-06f, 3.169637253e-06f, 3.170916790e-06f, 3.172190648e-06f, 3.173458824e-06f, 3.174721319e-06f, 3.175978129e-06f, 3.177229254e-06f, 3.178474693e-06f,
+3.179714443e-06f, 3.180948505e-06f, 3.182176876e-06f, 3.183399555e-06f, 3.184616541e-06f, 3.185827832e-06f, 3.187033428e-06f, 3.188233326e-06f, 3.189427527e-06f, 3.190616027e-06f,
+3.191798827e-06f, 3.192975925e-06f, 3.194147320e-06f, 3.195313010e-06f, 3.196472995e-06f, 3.197627273e-06f, 3.198775843e-06f, 3.199918703e-06f, 3.201055853e-06f, 3.202187292e-06f,
+3.203313018e-06f, 3.204433030e-06f, 3.205547327e-06f, 3.206655908e-06f, 3.207758772e-06f, 3.208855918e-06f, 3.209947345e-06f, 3.211033051e-06f, 3.212113036e-06f, 3.213187298e-06f,
+3.214255837e-06f, 3.215318651e-06f, 3.216375739e-06f, 3.217427101e-06f, 3.218472736e-06f, 3.219512641e-06f, 3.220546817e-06f, 3.221575263e-06f, 3.222597977e-06f, 3.223614959e-06f,
+3.224626207e-06f, 3.225631721e-06f, 3.226631500e-06f, 3.227625542e-06f, 3.228613848e-06f, 3.229596415e-06f, 3.230573244e-06f, 3.231544333e-06f, 3.232509681e-06f, 3.233469288e-06f,
+3.234423153e-06f, 3.235371274e-06f, 3.236313652e-06f, 3.237250285e-06f, 3.238181173e-06f, 3.239106314e-06f, 3.240025708e-06f, 3.240939354e-06f, 3.241847252e-06f, 3.242749401e-06f,
+3.243645799e-06f, 3.244536446e-06f, 3.245421342e-06f, 3.246300486e-06f, 3.247173876e-06f, 3.248041513e-06f, 3.248903396e-06f, 3.249759524e-06f, 3.250609896e-06f, 3.251454512e-06f,
+3.252293370e-06f, 3.253126472e-06f, 3.253953815e-06f, 3.254775399e-06f, 3.255591224e-06f, 3.256401289e-06f, 3.257205594e-06f, 3.258004137e-06f, 3.258796919e-06f, 3.259583938e-06f,
+3.260365195e-06f, 3.261140688e-06f, 3.261910418e-06f, 3.262674383e-06f, 3.263432583e-06f, 3.264185018e-06f, 3.264931688e-06f, 3.265672591e-06f, 3.266407727e-06f, 3.267137097e-06f,
+3.267860698e-06f, 3.268578532e-06f, 3.269290598e-06f, 3.269996894e-06f, 3.270697421e-06f, 3.271392179e-06f, 3.272081167e-06f, 3.272764384e-06f, 3.273441831e-06f, 3.274113506e-06f,
+3.274779410e-06f, 3.275439543e-06f, 3.276093903e-06f, 3.276742491e-06f, 3.277385307e-06f, 3.278022349e-06f, 3.278653619e-06f, 3.279279115e-06f, 3.279898837e-06f, 3.280512785e-06f,
+3.281120959e-06f, 3.281723359e-06f, 3.282319984e-06f, 3.282910834e-06f, 3.283495909e-06f, 3.284075209e-06f, 3.284648734e-06f, 3.285216483e-06f, 3.285778456e-06f, 3.286334653e-06f,
+3.286885075e-06f, 3.287429720e-06f, 3.287968589e-06f, 3.288501682e-06f, 3.289028998e-06f, 3.289550538e-06f, 3.290066301e-06f, 3.290576288e-06f, 3.291080498e-06f, 3.291578931e-06f,
+3.292071587e-06f, 3.292558467e-06f, 3.293039569e-06f, 3.293514895e-06f, 3.293984444e-06f, 3.294448216e-06f, 3.294906212e-06f, 3.295358431e-06f, 3.295804873e-06f, 3.296245538e-06f,
+3.296680427e-06f, 3.297109539e-06f, 3.297532875e-06f, 3.297950435e-06f, 3.298362218e-06f, 3.298768225e-06f, 3.299168457e-06f, 3.299562912e-06f, 3.299951592e-06f, 3.300334496e-06f,
+3.300711625e-06f, 3.301082979e-06f, 3.301448558e-06f, 3.301808362e-06f, 3.302162391e-06f, 3.302510646e-06f, 3.302853127e-06f, 3.303189834e-06f, 3.303520767e-06f, 3.303845927e-06f,
+3.304165314e-06f, 3.304478928e-06f, 3.304786769e-06f, 3.305088838e-06f, 3.305385135e-06f, 3.305675660e-06f, 3.305960414e-06f, 3.306239397e-06f, 3.306512609e-06f, 3.306780051e-06f,
+3.307041723e-06f, 3.307297626e-06f, 3.307547759e-06f, 3.307792123e-06f, 3.308030720e-06f, 3.308263548e-06f, 3.308490608e-06f, 3.308711902e-06f, 3.308927429e-06f, 3.309137190e-06f,
+3.309341185e-06f, 3.309539414e-06f, 3.309731879e-06f, 3.309918580e-06f, 3.310099517e-06f, 3.310274690e-06f, 3.310444101e-06f, 3.310607750e-06f, 3.310765637e-06f, 3.310917763e-06f,
+3.311064129e-06f, 3.311204734e-06f, 3.311339580e-06f, 3.311468668e-06f, 3.311591997e-06f, 3.311709569e-06f, 3.311821383e-06f, 3.311927442e-06f, 3.312027745e-06f, 3.312122292e-06f,
+3.312211086e-06f, 3.312294126e-06f, 3.312371412e-06f, 3.312442947e-06f, 3.312508730e-06f, 3.312568762e-06f, 3.312623044e-06f, 3.312671576e-06f, 3.312714360e-06f, 3.312751396e-06f,
+3.312782685e-06f, 3.312808227e-06f, 3.312828024e-06f, 3.312842076e-06f, 3.312850384e-06f, 3.312852949e-06f, 3.312849771e-06f, 3.312840852e-06f, 3.312826193e-06f, 3.312805793e-06f,
+3.312779654e-06f, 3.312747778e-06f, 3.312710164e-06f, 3.312666814e-06f, 3.312617728e-06f, 3.312562908e-06f, 3.312502354e-06f, 3.312436067e-06f, 3.312364049e-06f, 3.312286300e-06f,
+3.312202821e-06f, 3.312113613e-06f, 3.312018678e-06f, 3.311918015e-06f, 3.311811627e-06f, 3.311699514e-06f, 3.311581677e-06f, 3.311458117e-06f, 3.311328835e-06f, 3.311193832e-06f,
+3.311053110e-06f, 3.310906669e-06f, 3.310754511e-06f, 3.310596636e-06f, 3.310433046e-06f, 3.310263742e-06f, 3.310088724e-06f, 3.309907995e-06f, 3.309721554e-06f, 3.309529404e-06f,
+3.309331545e-06f, 3.309127979e-06f, 3.308918707e-06f, 3.308703729e-06f, 3.308483048e-06f, 3.308256664e-06f, 3.308024578e-06f, 3.307786793e-06f, 3.307543308e-06f, 3.307294126e-06f,
+3.307039247e-06f, 3.306778673e-06f, 3.306512405e-06f, 3.306240444e-06f, 3.305962792e-06f, 3.305679450e-06f, 3.305390419e-06f, 3.305095700e-06f, 3.304795296e-06f, 3.304489206e-06f,
+3.304177434e-06f, 3.303859979e-06f, 3.303536843e-06f, 3.303208028e-06f, 3.302873536e-06f, 3.302533366e-06f, 3.302187522e-06f, 3.301836004e-06f, 3.301478813e-06f, 3.301115952e-06f,
+3.300747421e-06f, 3.300373222e-06f, 3.299993357e-06f, 3.299607827e-06f, 3.299216633e-06f, 3.298819778e-06f, 3.298417262e-06f, 3.298009086e-06f, 3.297595254e-06f, 3.297175765e-06f,
+3.296750622e-06f, 3.296319826e-06f, 3.295883378e-06f, 3.295441281e-06f, 3.294993536e-06f, 3.294540145e-06f, 3.294081108e-06f, 3.293616428e-06f, 3.293146106e-06f, 3.292670144e-06f,
+3.292188544e-06f, 3.291701307e-06f, 3.291208434e-06f, 3.290709928e-06f, 3.290205791e-06f, 3.289696023e-06f, 3.289180627e-06f, 3.288659604e-06f, 3.288132956e-06f, 3.287600685e-06f,
+3.287062792e-06f, 3.286519279e-06f, 3.285970149e-06f, 3.285415402e-06f, 3.284855040e-06f, 3.284289066e-06f, 3.283717480e-06f, 3.283140286e-06f, 3.282557484e-06f, 3.281969077e-06f,
+3.281375066e-06f, 3.280775453e-06f, 3.280170240e-06f, 3.279559429e-06f, 3.278943022e-06f, 3.278321020e-06f, 3.277693426e-06f, 3.277060241e-06f, 3.276421467e-06f, 3.275777106e-06f,
+3.275127161e-06f, 3.274471632e-06f, 3.273810523e-06f, 3.273143834e-06f, 3.272471569e-06f, 3.271793728e-06f, 3.271110314e-06f, 3.270421329e-06f, 3.269726775e-06f, 3.269026653e-06f,
+3.268320966e-06f, 3.267609717e-06f, 3.266892906e-06f, 3.266170536e-06f, 3.265442609e-06f, 3.264709127e-06f, 3.263970092e-06f, 3.263225507e-06f, 3.262475372e-06f, 3.261719692e-06f,
+3.260958466e-06f, 3.260191699e-06f, 3.259419391e-06f, 3.258641545e-06f, 3.257858163e-06f, 3.257069247e-06f, 3.256274800e-06f, 3.255474823e-06f, 3.254669319e-06f, 3.253858290e-06f,
+3.253041738e-06f, 3.252219665e-06f, 3.251392074e-06f, 3.250558967e-06f, 3.249720346e-06f, 3.248876213e-06f, 3.248026570e-06f, 3.247171421e-06f, 3.246310766e-06f, 3.245444609e-06f,
+3.244572952e-06f, 3.243695796e-06f, 3.242813145e-06f, 3.241925001e-06f, 3.241031365e-06f, 3.240132241e-06f, 3.239227630e-06f, 3.238317536e-06f, 3.237401960e-06f, 3.236480904e-06f,
+3.235554372e-06f, 3.234622365e-06f, 3.233684886e-06f, 3.232741937e-06f, 3.231793522e-06f, 3.230839641e-06f, 3.229880298e-06f, 3.228915496e-06f, 3.227945235e-06f, 3.226969520e-06f,
+3.225988353e-06f, 3.225001735e-06f, 3.224009670e-06f, 3.223012160e-06f, 3.222009207e-06f, 3.221000815e-06f, 3.219986985e-06f, 3.218967720e-06f, 3.217943023e-06f, 3.216912896e-06f,
+3.215877342e-06f, 3.214836363e-06f, 3.213789962e-06f, 3.212738142e-06f, 3.211680905e-06f, 3.210618254e-06f, 3.209550191e-06f, 3.208476719e-06f, 3.207397841e-06f, 3.206313560e-06f,
+3.205223877e-06f, 3.204128796e-06f, 3.203028319e-06f, 3.201922450e-06f, 3.200811190e-06f, 3.199694542e-06f, 3.198572510e-06f, 3.197445096e-06f, 3.196312302e-06f, 3.195174131e-06f,
+3.194030587e-06f, 3.192881671e-06f, 3.191727388e-06f, 3.190567738e-06f, 3.189402726e-06f, 3.188232354e-06f, 3.187056624e-06f, 3.185875540e-06f, 3.184689105e-06f, 3.183497320e-06f,
+3.182300190e-06f, 3.181097717e-06f, 3.179889903e-06f, 3.178676753e-06f, 3.177458267e-06f, 3.176234451e-06f, 3.175005305e-06f, 3.173770834e-06f, 3.172531040e-06f, 3.171285925e-06f,
+3.170035494e-06f, 3.168779749e-06f, 3.167518692e-06f, 3.166252328e-06f, 3.164980658e-06f, 3.163703686e-06f, 3.162421414e-06f, 3.161133846e-06f, 3.159840985e-06f, 3.158542834e-06f,
+3.157239395e-06f, 3.155930673e-06f, 3.154616668e-06f, 3.153297386e-06f, 3.151972829e-06f, 3.150642999e-06f, 3.149307901e-06f, 3.147967536e-06f, 3.146621909e-06f, 3.145271022e-06f,
+3.143914878e-06f, 3.142553481e-06f, 3.141186833e-06f, 3.139814939e-06f, 3.138437799e-06f, 3.137055419e-06f, 3.135667801e-06f, 3.134274949e-06f, 3.132876865e-06f, 3.131473552e-06f,
+3.130065015e-06f, 3.128651255e-06f, 3.127232277e-06f, 3.125808083e-06f, 3.124378677e-06f, 3.122944061e-06f, 3.121504240e-06f, 3.120059217e-06f, 3.118608994e-06f, 3.117153575e-06f,
+3.115692963e-06f, 3.114227161e-06f, 3.112756174e-06f, 3.111280003e-06f, 3.109798653e-06f, 3.108312127e-06f, 3.106820428e-06f, 3.105323559e-06f, 3.103821523e-06f, 3.102314325e-06f,
+3.100801967e-06f, 3.099284453e-06f, 3.097761787e-06f, 3.096233970e-06f, 3.094701008e-06f, 3.093162903e-06f, 3.091619659e-06f, 3.090071279e-06f, 3.088517767e-06f, 3.086959125e-06f,
+3.085395358e-06f, 3.083826469e-06f, 3.082252462e-06f, 3.080673339e-06f, 3.079089105e-06f, 3.077499763e-06f, 3.075905315e-06f, 3.074305767e-06f, 3.072701121e-06f, 3.071091381e-06f,
+3.069476550e-06f, 3.067856633e-06f, 3.066231631e-06f, 3.064601550e-06f, 3.062966392e-06f, 3.061326162e-06f, 3.059680862e-06f, 3.058030496e-06f, 3.056375069e-06f, 3.054714583e-06f,
+3.053049042e-06f, 3.051378450e-06f, 3.049702810e-06f, 3.048022126e-06f, 3.046336402e-06f, 3.044645641e-06f, 3.042949847e-06f, 3.041249024e-06f, 3.039543175e-06f, 3.037832304e-06f,
+3.036116415e-06f, 3.034395511e-06f, 3.032669596e-06f, 3.030938674e-06f, 3.029202749e-06f, 3.027461824e-06f, 3.025715902e-06f, 3.023964989e-06f, 3.022209087e-06f, 3.020448201e-06f,
+3.018682333e-06f, 3.016911489e-06f, 3.015135671e-06f, 3.013354883e-06f, 3.011569130e-06f, 3.009778414e-06f, 3.007982741e-06f, 3.006182113e-06f, 3.004376535e-06f, 3.002566011e-06f,
+3.000750543e-06f, 2.998930137e-06f, 2.997104796e-06f, 2.995274523e-06f, 2.993439323e-06f, 2.991599200e-06f, 2.989754158e-06f, 2.987904200e-06f, 2.986049330e-06f, 2.984189553e-06f,
+2.982324872e-06f, 2.980455291e-06f, 2.978580814e-06f, 2.976701445e-06f, 2.974817189e-06f, 2.972928048e-06f, 2.971034028e-06f, 2.969135131e-06f, 2.967231363e-06f, 2.965322726e-06f,
+2.963409226e-06f, 2.961490865e-06f, 2.959567649e-06f, 2.957639581e-06f, 2.955706665e-06f, 2.953768905e-06f, 2.951826306e-06f, 2.949878871e-06f, 2.947926604e-06f, 2.945969510e-06f,
+2.944007592e-06f, 2.942040855e-06f, 2.940069303e-06f, 2.938092940e-06f, 2.936111770e-06f, 2.934125797e-06f, 2.932135026e-06f, 2.930139459e-06f, 2.928139103e-06f, 2.926133960e-06f,
+2.924124036e-06f, 2.922109333e-06f, 2.920089857e-06f, 2.918065611e-06f, 2.916036600e-06f, 2.914002828e-06f, 2.911964299e-06f, 2.909921017e-06f, 2.907872987e-06f, 2.905820213e-06f,
+2.903762699e-06f, 2.901700449e-06f, 2.899633468e-06f, 2.897561760e-06f, 2.895485329e-06f, 2.893404179e-06f, 2.891318315e-06f, 2.889227741e-06f, 2.887132462e-06f, 2.885032481e-06f,
+2.882927803e-06f, 2.880818432e-06f, 2.878704373e-06f, 2.876585630e-06f, 2.874462207e-06f, 2.872334109e-06f, 2.870201340e-06f, 2.868063904e-06f, 2.865921806e-06f, 2.863775051e-06f,
+2.861623642e-06f, 2.859467584e-06f, 2.857306881e-06f, 2.855141538e-06f, 2.852971560e-06f, 2.850796950e-06f, 2.848617713e-06f, 2.846433854e-06f, 2.844245377e-06f, 2.842052287e-06f,
+2.839854587e-06f, 2.837652283e-06f, 2.835445379e-06f, 2.833233879e-06f, 2.831017789e-06f, 2.828797111e-06f, 2.826571852e-06f, 2.824342015e-06f, 2.822107606e-06f, 2.819868627e-06f,
+2.817625085e-06f, 2.815376984e-06f, 2.813124327e-06f, 2.810867121e-06f, 2.808605369e-06f, 2.806339075e-06f, 2.804068246e-06f, 2.801792884e-06f, 2.799512995e-06f, 2.797228584e-06f,
+2.794939654e-06f, 2.792646211e-06f, 2.790348259e-06f, 2.788045803e-06f, 2.785738848e-06f, 2.783427397e-06f, 2.781111457e-06f, 2.778791031e-06f, 2.776466124e-06f, 2.774136740e-06f,
+2.771802886e-06f, 2.769464564e-06f, 2.767121781e-06f, 2.764774540e-06f, 2.762422846e-06f, 2.760066704e-06f, 2.757706120e-06f, 2.755341096e-06f, 2.752971639e-06f, 2.750597753e-06f,
+2.748219443e-06f, 2.745836713e-06f, 2.743449569e-06f, 2.741058015e-06f, 2.738662055e-06f, 2.736261695e-06f, 2.733856940e-06f, 2.731447794e-06f, 2.729034262e-06f, 2.726616349e-06f,
+2.724194060e-06f, 2.721767399e-06f, 2.719336372e-06f, 2.716900983e-06f, 2.714461237e-06f, 2.712017139e-06f, 2.709568694e-06f, 2.707115907e-06f, 2.704658782e-06f, 2.702197325e-06f,
+2.699731540e-06f, 2.697261433e-06f, 2.694787008e-06f, 2.692308270e-06f, 2.689825224e-06f, 2.687337874e-06f, 2.684846227e-06f, 2.682350287e-06f, 2.679850059e-06f, 2.677345547e-06f,
+2.674836757e-06f, 2.672323694e-06f, 2.669806362e-06f, 2.667284768e-06f, 2.664758914e-06f, 2.662228808e-06f, 2.659694453e-06f, 2.657155855e-06f, 2.654613018e-06f, 2.652065949e-06f,
+2.649514651e-06f, 2.646959130e-06f, 2.644399390e-06f, 2.641835438e-06f, 2.639267277e-06f, 2.636694914e-06f, 2.634118352e-06f, 2.631537598e-06f, 2.628952656e-06f, 2.626363531e-06f,
+2.623770229e-06f, 2.621172754e-06f, 2.618571112e-06f, 2.615965308e-06f, 2.613355346e-06f, 2.610741233e-06f, 2.608122972e-06f, 2.605500570e-06f, 2.602874032e-06f, 2.600243362e-06f,
+2.597608566e-06f, 2.594969648e-06f, 2.592326615e-06f, 2.589679471e-06f, 2.587028221e-06f, 2.584372872e-06f, 2.581713427e-06f, 2.579049892e-06f, 2.576382272e-06f, 2.573710573e-06f,
+2.571034799e-06f, 2.568354957e-06f, 2.565671050e-06f, 2.562983086e-06f, 2.560291067e-06f, 2.557595001e-06f, 2.554894892e-06f, 2.552190745e-06f, 2.549482566e-06f, 2.546770361e-06f,
+2.544054133e-06f, 2.541333889e-06f, 2.538609634e-06f, 2.535881373e-06f, 2.533149112e-06f, 2.530412856e-06f, 2.527672609e-06f, 2.524928379e-06f, 2.522180169e-06f, 2.519427985e-06f,
+2.516671833e-06f, 2.513911718e-06f, 2.511147645e-06f, 2.508379619e-06f, 2.505607647e-06f, 2.502831733e-06f, 2.500051883e-06f, 2.497268101e-06f, 2.494480395e-06f, 2.491688768e-06f,
+2.488893227e-06f, 2.486093777e-06f, 2.483290422e-06f, 2.480483170e-06f, 2.477672024e-06f, 2.474856991e-06f, 2.472038076e-06f, 2.469215284e-06f, 2.466388621e-06f, 2.463558093e-06f,
+2.460723704e-06f, 2.457885461e-06f, 2.455043368e-06f, 2.452197432e-06f, 2.449347657e-06f, 2.446494050e-06f, 2.443636615e-06f, 2.440775358e-06f, 2.437910286e-06f, 2.435041402e-06f,
+2.432168714e-06f, 2.429292226e-06f, 2.426411943e-06f, 2.423527873e-06f, 2.420640019e-06f, 2.417748387e-06f, 2.414852984e-06f, 2.411953815e-06f, 2.409050884e-06f, 2.406144199e-06f,
+2.403233764e-06f, 2.400319585e-06f, 2.397401668e-06f, 2.394480018e-06f, 2.391554640e-06f, 2.388625542e-06f, 2.385692727e-06f, 2.382756202e-06f, 2.379815972e-06f, 2.376872043e-06f,
+2.373924421e-06f, 2.370973111e-06f, 2.368018119e-06f, 2.365059451e-06f, 2.362097111e-06f, 2.359131107e-06f, 2.356161443e-06f, 2.353188126e-06f, 2.350211160e-06f, 2.347230552e-06f,
+2.344246308e-06f, 2.341258432e-06f, 2.338266932e-06f, 2.335271811e-06f, 2.332273077e-06f, 2.329270735e-06f, 2.326264790e-06f, 2.323255249e-06f, 2.320242117e-06f, 2.317225400e-06f,
+2.314205103e-06f, 2.311181233e-06f, 2.308153795e-06f, 2.305122795e-06f, 2.302088239e-06f, 2.299050132e-06f, 2.296008480e-06f, 2.292963289e-06f, 2.289914565e-06f, 2.286862314e-06f,
+2.283806541e-06f, 2.280747253e-06f, 2.277684455e-06f, 2.274618152e-06f, 2.271548351e-06f, 2.268475058e-06f, 2.265398278e-06f, 2.262318017e-06f, 2.259234282e-06f, 2.256147077e-06f,
+2.253056409e-06f, 2.249962284e-06f, 2.246864708e-06f, 2.243763685e-06f, 2.240659223e-06f, 2.237551327e-06f, 2.234440004e-06f, 2.231325258e-06f, 2.228207096e-06f, 2.225085524e-06f,
+2.221960547e-06f, 2.218832172e-06f, 2.215700405e-06f, 2.212565251e-06f, 2.209426716e-06f, 2.206284806e-06f, 2.203139528e-06f, 2.199990887e-06f, 2.196838889e-06f, 2.193683540e-06f,
+2.190524846e-06f, 2.187362814e-06f, 2.184197448e-06f, 2.181028755e-06f, 2.177856741e-06f, 2.174681412e-06f, 2.171502773e-06f, 2.168320832e-06f, 2.165135594e-06f, 2.161947064e-06f,
+2.158755249e-06f, 2.155560156e-06f, 2.152361789e-06f, 2.149160155e-06f, 2.145955260e-06f, 2.142747110e-06f, 2.139535711e-06f, 2.136321070e-06f, 2.133103191e-06f, 2.129882081e-06f,
+2.126657747e-06f, 2.123430194e-06f, 2.120199429e-06f, 2.116965457e-06f, 2.113728284e-06f, 2.110487917e-06f, 2.107244362e-06f, 2.103997625e-06f, 2.100747711e-06f, 2.097494627e-06f,
+2.094238380e-06f, 2.090978974e-06f, 2.087716417e-06f, 2.084450715e-06f, 2.081181872e-06f, 2.077909897e-06f, 2.074634794e-06f, 2.071356570e-06f, 2.068075231e-06f, 2.064790784e-06f,
+2.061503234e-06f, 2.058212587e-06f, 2.054918850e-06f, 2.051622029e-06f, 2.048322129e-06f, 2.045019158e-06f, 2.041713121e-06f, 2.038404025e-06f, 2.035091876e-06f, 2.031776679e-06f,
+2.028458441e-06f, 2.025137169e-06f, 2.021812868e-06f, 2.018485545e-06f, 2.015155206e-06f, 2.011821857e-06f, 2.008485504e-06f, 2.005146154e-06f, 2.001803813e-06f, 1.998458486e-06f,
+1.995110181e-06f, 1.991758903e-06f, 1.988404659e-06f, 1.985047455e-06f, 1.981687298e-06f, 1.978324192e-06f, 1.974958146e-06f, 1.971589165e-06f, 1.968217254e-06f, 1.964842422e-06f,
+1.961464673e-06f, 1.958084015e-06f, 1.954700453e-06f, 1.951313993e-06f, 1.947924643e-06f, 1.944532408e-06f, 1.941137294e-06f, 1.937739308e-06f, 1.934338457e-06f, 1.930934746e-06f,
+1.927528182e-06f, 1.924118772e-06f, 1.920706520e-06f, 1.917291435e-06f, 1.913873522e-06f, 1.910452787e-06f, 1.907029237e-06f, 1.903602878e-06f, 1.900173717e-06f, 1.896741760e-06f,
+1.893307013e-06f, 1.889869483e-06f, 1.886429176e-06f, 1.882986098e-06f, 1.879540256e-06f, 1.876091656e-06f, 1.872640305e-06f, 1.869186208e-06f, 1.865729373e-06f, 1.862269805e-06f,
+1.858807512e-06f, 1.855342499e-06f, 1.851874773e-06f, 1.848404340e-06f, 1.844931207e-06f, 1.841455380e-06f, 1.837976866e-06f, 1.834495671e-06f, 1.831011801e-06f, 1.827525263e-06f,
+1.824036063e-06f, 1.820544208e-06f, 1.817049704e-06f, 1.813552557e-06f, 1.810052775e-06f, 1.806550363e-06f, 1.803045328e-06f, 1.799537677e-06f, 1.796027416e-06f, 1.792514550e-06f,
+1.788999088e-06f, 1.785481035e-06f, 1.781960398e-06f, 1.778437183e-06f, 1.774911397e-06f, 1.771383046e-06f, 1.767852137e-06f, 1.764318676e-06f, 1.760782670e-06f, 1.757244125e-06f,
+1.753703048e-06f, 1.750159445e-06f, 1.746613323e-06f, 1.743064688e-06f, 1.739513547e-06f, 1.735959906e-06f, 1.732403772e-06f, 1.728845152e-06f, 1.725284052e-06f, 1.721720478e-06f,
+1.718154437e-06f, 1.714585935e-06f, 1.711014980e-06f, 1.707441577e-06f, 1.703865734e-06f, 1.700287456e-06f, 1.696706751e-06f, 1.693123624e-06f, 1.689538083e-06f, 1.685950134e-06f,
+1.682359784e-06f, 1.678767039e-06f, 1.675171905e-06f, 1.671574390e-06f, 1.667974500e-06f, 1.664372241e-06f, 1.660767621e-06f, 1.657160645e-06f, 1.653551321e-06f, 1.649939654e-06f,
+1.646325652e-06f, 1.642709321e-06f, 1.639090668e-06f, 1.635469699e-06f, 1.631846421e-06f, 1.628220841e-06f, 1.624592965e-06f, 1.620962800e-06f, 1.617330352e-06f, 1.613695629e-06f,
+1.610058636e-06f, 1.606419380e-06f, 1.602777869e-06f, 1.599134108e-06f, 1.595488105e-06f, 1.591839865e-06f, 1.588189397e-06f, 1.584536705e-06f, 1.580881798e-06f, 1.577224681e-06f,
+1.573565361e-06f, 1.569903845e-06f, 1.566240140e-06f, 1.562574252e-06f, 1.558906188e-06f, 1.555235955e-06f, 1.551563559e-06f, 1.547889007e-06f, 1.544212306e-06f, 1.540533462e-06f,
+1.536852482e-06f, 1.533169373e-06f, 1.529484142e-06f, 1.525796794e-06f, 1.522107338e-06f, 1.518415779e-06f, 1.514722125e-06f, 1.511026381e-06f, 1.507328555e-06f, 1.503628654e-06f,
+1.499926684e-06f, 1.496222651e-06f, 1.492516564e-06f, 1.488808427e-06f, 1.485098249e-06f, 1.481386035e-06f, 1.477671793e-06f, 1.473955530e-06f, 1.470237251e-06f, 1.466516964e-06f,
+1.462794676e-06f, 1.459070393e-06f, 1.455344121e-06f, 1.451615869e-06f, 1.447885642e-06f, 1.444153448e-06f, 1.440419292e-06f, 1.436683182e-06f, 1.432945125e-06f, 1.429205127e-06f,
+1.425463196e-06f, 1.421719337e-06f, 1.417973558e-06f, 1.414225865e-06f, 1.410476265e-06f, 1.406724766e-06f, 1.402971373e-06f, 1.399216094e-06f, 1.395458935e-06f, 1.391699903e-06f,
+1.387939005e-06f, 1.384176248e-06f, 1.380411638e-06f, 1.376645183e-06f, 1.372876889e-06f, 1.369106763e-06f, 1.365334811e-06f, 1.361561042e-06f, 1.357785460e-06f, 1.354008074e-06f,
+1.350228889e-06f, 1.346447914e-06f, 1.342665154e-06f, 1.338880616e-06f, 1.335094308e-06f, 1.331306236e-06f, 1.327516407e-06f, 1.323724828e-06f, 1.319931505e-06f, 1.316136445e-06f,
+1.312339656e-06f, 1.308541144e-06f, 1.304740916e-06f, 1.300938979e-06f, 1.297135339e-06f, 1.293330004e-06f, 1.289522980e-06f, 1.285714275e-06f, 1.281903894e-06f, 1.278091845e-06f,
+1.274278135e-06f, 1.270462771e-06f, 1.266645759e-06f, 1.262827106e-06f, 1.259006819e-06f, 1.255184906e-06f, 1.251361372e-06f, 1.247536225e-06f, 1.243709472e-06f, 1.239881120e-06f,
+1.236051174e-06f, 1.232219644e-06f, 1.228386534e-06f, 1.224551852e-06f, 1.220715605e-06f, 1.216877800e-06f, 1.213038444e-06f, 1.209197543e-06f, 1.205355104e-06f, 1.201511135e-06f,
+1.197665642e-06f, 1.193818633e-06f, 1.189970113e-06f, 1.186120090e-06f, 1.182268571e-06f, 1.178415563e-06f, 1.174561073e-06f, 1.170705106e-06f, 1.166847672e-06f, 1.162988775e-06f,
+1.159128424e-06f, 1.155266625e-06f, 1.151403385e-06f, 1.147538711e-06f, 1.143672610e-06f, 1.139805089e-06f, 1.135936155e-06f, 1.132065814e-06f, 1.128194073e-06f, 1.124320940e-06f,
+1.120446422e-06f, 1.116570524e-06f, 1.112693255e-06f, 1.108814622e-06f, 1.104934630e-06f, 1.101053287e-06f, 1.097170600e-06f, 1.093286576e-06f, 1.089401222e-06f, 1.085514545e-06f,
+1.081626551e-06f, 1.077737248e-06f, 1.073846643e-06f, 1.069954742e-06f, 1.066061552e-06f, 1.062167081e-06f, 1.058271335e-06f, 1.054374322e-06f, 1.050476047e-06f, 1.046576519e-06f,
+1.042675744e-06f, 1.038773729e-06f, 1.034870481e-06f, 1.030966007e-06f, 1.027060313e-06f, 1.023153408e-06f, 1.019245298e-06f, 1.015335989e-06f, 1.011425489e-06f, 1.007513804e-06f,
+1.003600943e-06f, 9.996869106e-07f, 9.957717151e-07f, 9.918553631e-07f, 9.879378615e-07f, 9.840192174e-07f, 9.800994378e-07f, 9.761785295e-07f, 9.722564995e-07f, 9.683333549e-07f,
+9.644091026e-07f, 9.604837495e-07f, 9.565573026e-07f, 9.526297689e-07f, 9.487011554e-07f, 9.447714690e-07f, 9.408407168e-07f, 9.369089056e-07f, 9.329760425e-07f, 9.290421344e-07f,
+9.251071883e-07f, 9.211712113e-07f, 9.172342102e-07f, 9.132961920e-07f, 9.093571638e-07f, 9.054171325e-07f, 9.014761051e-07f, 8.975340885e-07f, 8.935910898e-07f, 8.896471160e-07f,
+8.857021740e-07f, 8.817562708e-07f, 8.778094134e-07f, 8.738616088e-07f, 8.699128639e-07f, 8.659631858e-07f, 8.620125814e-07f, 8.580610578e-07f, 8.541086219e-07f, 8.501552807e-07f,
+8.462010412e-07f, 8.422459105e-07f, 8.382898953e-07f, 8.343330029e-07f, 8.303752402e-07f, 8.264166141e-07f, 8.224571316e-07f, 8.184967998e-07f, 8.145356257e-07f, 8.105736162e-07f,
+8.066107783e-07f, 8.026471191e-07f, 7.986826455e-07f, 7.947173645e-07f, 7.907512831e-07f, 7.867844084e-07f, 7.828167472e-07f, 7.788483067e-07f, 7.748790938e-07f, 7.709091155e-07f,
+7.669383788e-07f, 7.629668907e-07f, 7.589946583e-07f, 7.550216884e-07f, 7.510479881e-07f, 7.470735645e-07f, 7.430984244e-07f, 7.391225750e-07f, 7.351460232e-07f, 7.311687759e-07f,
+7.271908403e-07f, 7.232122234e-07f, 7.192329320e-07f, 7.152529732e-07f, 7.112723541e-07f, 7.072910816e-07f, 7.033091627e-07f, 6.993266044e-07f, 6.953434138e-07f, 6.913595978e-07f,
+6.873751634e-07f, 6.833901177e-07f, 6.794044676e-07f, 6.754182202e-07f, 6.714313824e-07f, 6.674439612e-07f, 6.634559637e-07f, 6.594673969e-07f, 6.554782677e-07f, 6.514885831e-07f,
+6.474983503e-07f, 6.435075761e-07f, 6.395162675e-07f, 6.355244316e-07f, 6.315320754e-07f, 6.275392059e-07f, 6.235458301e-07f, 6.195519549e-07f, 6.155575874e-07f, 6.115627346e-07f,
+6.075674034e-07f, 6.035716010e-07f, 5.995753342e-07f, 5.955786101e-07f, 5.915814357e-07f, 5.875838180e-07f, 5.835857640e-07f, 5.795872807e-07f, 5.755883750e-07f, 5.715890541e-07f,
+5.675893248e-07f, 5.635891942e-07f, 5.595886693e-07f, 5.555877570e-07f, 5.515864645e-07f, 5.475847986e-07f, 5.435827664e-07f, 5.395803748e-07f, 5.355776309e-07f, 5.315745417e-07f,
+5.275711141e-07f, 5.235673552e-07f, 5.195632719e-07f, 5.155588713e-07f, 5.115541603e-07f, 5.075491459e-07f, 5.035438351e-07f, 4.995382349e-07f, 4.955323524e-07f, 4.915261944e-07f,
+4.875197680e-07f, 4.835130802e-07f, 4.795061380e-07f, 4.754989483e-07f, 4.714915181e-07f, 4.674838545e-07f, 4.634759644e-07f, 4.594678548e-07f, 4.554595326e-07f, 4.514510050e-07f,
+4.474422788e-07f, 4.434333610e-07f, 4.394242586e-07f, 4.354149787e-07f, 4.314055281e-07f, 4.273959140e-07f, 4.233861431e-07f, 4.193762226e-07f, 4.153661594e-07f, 4.113559605e-07f,
+4.073456328e-07f, 4.033351834e-07f, 3.993246192e-07f, 3.953139471e-07f, 3.913031743e-07f, 3.872923076e-07f, 3.832813539e-07f, 3.792703204e-07f, 3.752592139e-07f, 3.712480414e-07f,
+3.672368099e-07f, 3.632255264e-07f, 3.592141978e-07f, 3.552028311e-07f, 3.511914332e-07f, 3.471800111e-07f, 3.431685719e-07f, 3.391571223e-07f, 3.351456695e-07f, 3.311342203e-07f,
+3.271227818e-07f, 3.231113608e-07f, 3.190999644e-07f, 3.150885995e-07f, 3.110772730e-07f, 3.070659919e-07f, 3.030547632e-07f, 2.990435938e-07f, 2.950324906e-07f, 2.910214607e-07f,
+2.870105109e-07f, 2.829996482e-07f, 2.789888795e-07f, 2.749782119e-07f, 2.709676521e-07f, 2.669572073e-07f, 2.629468843e-07f, 2.589366900e-07f, 2.549266314e-07f, 2.509167155e-07f,
+2.469069491e-07f, 2.428973393e-07f, 2.388878929e-07f, 2.348786168e-07f, 2.308695181e-07f, 2.268606036e-07f, 2.228518802e-07f, 2.188433550e-07f, 2.148350348e-07f, 2.108269265e-07f,
+2.068190370e-07f, 2.028113734e-07f, 1.988039424e-07f, 1.947967511e-07f, 1.907898063e-07f, 1.867831149e-07f, 1.827766840e-07f, 1.787705203e-07f, 1.747646308e-07f, 1.707590224e-07f,
+1.667537021e-07f, 1.627486766e-07f, 1.587439530e-07f, 1.547395381e-07f, 1.507354388e-07f, 1.467316621e-07f, 1.427282148e-07f, 1.387251038e-07f, 1.347223361e-07f, 1.307199185e-07f,
+1.267178578e-07f, 1.227161611e-07f, 1.187148352e-07f, 1.147138870e-07f, 1.107133233e-07f, 1.067131511e-07f, 1.027133773e-07f, 9.871400862e-08f, 9.471505207e-08f, 9.071651449e-08f,
+8.671840277e-08f, 8.272072377e-08f, 7.872348437e-08f, 7.472669145e-08f, 7.073035186e-08f, 6.673447247e-08f, 6.273906016e-08f, 5.874412179e-08f, 5.474966421e-08f, 5.075569429e-08f,
+4.676221888e-08f, 4.276924485e-08f, 3.877677905e-08f, 3.478482832e-08f, 3.079339953e-08f, 2.680249951e-08f, 2.281213512e-08f, 1.882231320e-08f, 1.483304060e-08f, 1.084432415e-08f,
+6.856170695e-09f, 2.868587072e-09f, -1.118419885e-09f, -5.104843341e-09f, -9.090676466e-09f, -1.307591243e-08f, -1.706054441e-08f, -2.104456557e-08f, -2.502796910e-08f, -2.901074818e-08f,
+-3.299289597e-08f, -3.697440568e-08f, -4.095527048e-08f, -4.493548355e-08f, -4.891503810e-08f, -5.289392731e-08f, -5.687214438e-08f, -6.084968250e-08f, -6.482653487e-08f, -6.880269468e-08f,
+-7.277815515e-08f, -7.675290948e-08f, -8.072695087e-08f, -8.470027254e-08f, -8.867286769e-08f, -9.264472953e-08f, -9.661585130e-08f, -1.005862262e-07f, -1.045558474e-07f, -1.085247083e-07f,
+-1.124928019e-07f, -1.164601215e-07f, -1.204266605e-07f, -1.243924119e-07f, -1.283573690e-07f, -1.323215251e-07f, -1.362848734e-07f, -1.402474071e-07f, -1.442091195e-07f, -1.481700039e-07f,
+-1.521300534e-07f, -1.560892614e-07f, -1.600476210e-07f, -1.640051256e-07f, -1.679617684e-07f, -1.719175427e-07f, -1.758724416e-07f, -1.798264586e-07f, -1.837795868e-07f, -1.877318196e-07f,
+-1.916831502e-07f, -1.956335718e-07f, -1.995830778e-07f, -2.035316615e-07f, -2.074793161e-07f, -2.114260349e-07f, -2.153718112e-07f, -2.193166383e-07f, -2.232605094e-07f, -2.272034180e-07f,
+-2.311453572e-07f, -2.350863204e-07f, -2.390263010e-07f, -2.429652921e-07f, -2.469032871e-07f, -2.508402794e-07f, -2.547762621e-07f, -2.587112288e-07f, -2.626451726e-07f, -2.665780869e-07f,
+-2.705099651e-07f, -2.744408004e-07f, -2.783705862e-07f, -2.822993158e-07f, -2.862269826e-07f, -2.901535798e-07f, -2.940791010e-07f, -2.980035393e-07f, -3.019268882e-07f, -3.058491409e-07f,
+-3.097702910e-07f, -3.136903316e-07f, -3.176092562e-07f, -3.215270581e-07f, -3.254437307e-07f, -3.293592674e-07f, -3.332736615e-07f, -3.371869065e-07f, -3.410989956e-07f, -3.450099223e-07f,
+-3.489196800e-07f, -3.528282620e-07f, -3.567356618e-07f, -3.606418727e-07f, -3.645468881e-07f, -3.684507014e-07f, -3.723533061e-07f, -3.762546955e-07f, -3.801548631e-07f, -3.840538022e-07f,
+-3.879515063e-07f, -3.918479687e-07f, -3.957431830e-07f, -3.996371425e-07f, -4.035298407e-07f, -4.074212709e-07f, -4.113114267e-07f, -4.152003014e-07f, -4.190878886e-07f, -4.229741815e-07f,
+-4.268591738e-07f, -4.307428588e-07f, -4.346252300e-07f, -4.385062809e-07f, -4.423860048e-07f, -4.462643953e-07f, -4.501414459e-07f, -4.540171500e-07f, -4.578915010e-07f, -4.617644925e-07f,
+-4.656361179e-07f, -4.695063708e-07f, -4.733752445e-07f, -4.772427326e-07f, -4.811088286e-07f, -4.849735260e-07f, -4.888368182e-07f, -4.926986989e-07f, -4.965591614e-07f, -5.004181993e-07f,
+-5.042758061e-07f, -5.081319753e-07f, -5.119867005e-07f, -5.158399751e-07f, -5.196917928e-07f, -5.235421469e-07f, -5.273910311e-07f, -5.312384389e-07f, -5.350843638e-07f, -5.389287994e-07f,
+-5.427717392e-07f, -5.466131768e-07f, -5.504531057e-07f, -5.542915195e-07f, -5.581284117e-07f, -5.619637760e-07f, -5.657976058e-07f, -5.696298948e-07f, -5.734606366e-07f, -5.772898246e-07f,
+-5.811174525e-07f, -5.849435139e-07f, -5.887680024e-07f, -5.925909115e-07f, -5.964122349e-07f, -6.002319662e-07f, -6.040500989e-07f, -6.078666267e-07f, -6.116815432e-07f, -6.154948421e-07f,
+-6.193065168e-07f, -6.231165611e-07f, -6.269249686e-07f, -6.307317328e-07f, -6.345368476e-07f, -6.383403064e-07f, -6.421421029e-07f, -6.459422309e-07f, -6.497406838e-07f, -6.535374554e-07f,
+-6.573325394e-07f, -6.611259294e-07f, -6.649176190e-07f, -6.687076020e-07f, -6.724958719e-07f, -6.762824226e-07f, -6.800672476e-07f, -6.838503407e-07f, -6.876316956e-07f, -6.914113058e-07f,
+-6.951891652e-07f, -6.989652675e-07f, -7.027396063e-07f, -7.065121753e-07f, -7.102829683e-07f, -7.140519790e-07f, -7.178192010e-07f, -7.215846282e-07f, -7.253482543e-07f, -7.291100730e-07f,
+-7.328700779e-07f, -7.366282630e-07f, -7.403846218e-07f, -7.441391483e-07f, -7.478918360e-07f, -7.516426788e-07f, -7.553916705e-07f, -7.591388047e-07f, -7.628840754e-07f, -7.666274761e-07f,
+-7.703690008e-07f, -7.741086432e-07f, -7.778463971e-07f, -7.815822563e-07f, -7.853162146e-07f, -7.890482657e-07f, -7.927784036e-07f, -7.965066219e-07f, -8.002329145e-07f, -8.039572753e-07f,
+-8.076796980e-07f, -8.114001764e-07f, -8.151187045e-07f, -8.188352760e-07f, -8.225498847e-07f, -8.262625245e-07f, -8.299731893e-07f, -8.336818730e-07f, -8.373885692e-07f, -8.410932720e-07f,
+-8.447959752e-07f, -8.484966726e-07f, -8.521953581e-07f, -8.558920257e-07f, -8.595866691e-07f, -8.632792823e-07f, -8.669698591e-07f, -8.706583935e-07f, -8.743448794e-07f, -8.780293106e-07f,
+-8.817116810e-07f, -8.853919847e-07f, -8.890702154e-07f, -8.927463671e-07f, -8.964204338e-07f, -9.000924094e-07f, -9.037622877e-07f, -9.074300628e-07f, -9.110957286e-07f, -9.147592790e-07f,
+-9.184207080e-07f, -9.220800095e-07f, -9.257371775e-07f, -9.293922060e-07f, -9.330450890e-07f, -9.366958204e-07f, -9.403443942e-07f, -9.439908043e-07f, -9.476350449e-07f, -9.512771098e-07f,
+-9.549169931e-07f, -9.585546887e-07f, -9.621901908e-07f, -9.658234932e-07f, -9.694545900e-07f, -9.730834753e-07f, -9.767101430e-07f, -9.803345873e-07f, -9.839568020e-07f, -9.875767814e-07f,
+-9.911945193e-07f, -9.948100099e-07f, -9.984232473e-07f, -1.002034225e-06f, -1.005642938e-06f, -1.009249380e-06f, -1.012853545e-06f, -1.016455427e-06f, -1.020055020e-06f, -1.023652319e-06f,
+-1.027247316e-06f, -1.030840008e-06f, -1.034430386e-06f, -1.038018447e-06f, -1.041604183e-06f, -1.045187589e-06f, -1.048768659e-06f, -1.052347387e-06f, -1.055923767e-06f, -1.059497794e-06f,
+-1.063069462e-06f, -1.066638764e-06f, -1.070205695e-06f, -1.073770249e-06f, -1.077332420e-06f, -1.080892202e-06f, -1.084449590e-06f, -1.088004578e-06f, -1.091557160e-06f, -1.095107329e-06f,
+-1.098655081e-06f, -1.102200410e-06f, -1.105743309e-06f, -1.109283773e-06f, -1.112821795e-06f, -1.116357372e-06f, -1.119890496e-06f, -1.123421161e-06f, -1.126949363e-06f, -1.130475094e-06f,
+-1.133998351e-06f, -1.137519126e-06f, -1.141037414e-06f, -1.144553209e-06f, -1.148066505e-06f, -1.151577298e-06f, -1.155085580e-06f, -1.158591347e-06f, -1.162094593e-06f, -1.165595311e-06f,
+-1.169093496e-06f, -1.172589143e-06f, -1.176082246e-06f, -1.179572799e-06f, -1.183060797e-06f, -1.186546233e-06f, -1.190029102e-06f, -1.193509398e-06f, -1.196987117e-06f, -1.200462251e-06f,
+-1.203934796e-06f, -1.207404746e-06f, -1.210872095e-06f, -1.214336837e-06f, -1.217798967e-06f, -1.221258480e-06f, -1.224715369e-06f, -1.228169629e-06f, -1.231621255e-06f, -1.235070240e-06f,
+-1.238516580e-06f, -1.241960268e-06f, -1.245401300e-06f, -1.248839668e-06f, -1.252275369e-06f, -1.255708396e-06f, -1.259138744e-06f, -1.262566407e-06f, -1.265991379e-06f, -1.269413656e-06f,
+-1.272833231e-06f, -1.276250100e-06f, -1.279664255e-06f, -1.283075693e-06f, -1.286484407e-06f, -1.289890392e-06f, -1.293293642e-06f, -1.296694153e-06f, -1.300091917e-06f, -1.303486931e-06f,
+-1.306879188e-06f, -1.310268683e-06f, -1.313655410e-06f, -1.317039365e-06f, -1.320420541e-06f, -1.323798933e-06f, -1.327174535e-06f, -1.330547343e-06f, -1.333917350e-06f, -1.337284552e-06f,
+-1.340648943e-06f, -1.344010517e-06f, -1.347369269e-06f, -1.350725193e-06f, -1.354078285e-06f, -1.357428539e-06f, -1.360775949e-06f, -1.364120510e-06f, -1.367462216e-06f, -1.370801063e-06f,
+-1.374137044e-06f, -1.377470155e-06f, -1.380800391e-06f, -1.384127745e-06f, -1.387452212e-06f, -1.390773787e-06f, -1.394092465e-06f, -1.397408241e-06f, -1.400721108e-06f, -1.404031063e-06f,
+-1.407338098e-06f, -1.410642210e-06f, -1.413943393e-06f, -1.417241641e-06f, -1.420536949e-06f, -1.423829313e-06f, -1.427118726e-06f, -1.430405183e-06f, -1.433688679e-06f, -1.436969210e-06f,
+-1.440246768e-06f, -1.443521350e-06f, -1.446792951e-06f, -1.450061564e-06f, -1.453327184e-06f, -1.456589807e-06f, -1.459849428e-06f, -1.463106040e-06f, -1.466359639e-06f, -1.469610219e-06f,
+-1.472857776e-06f, -1.476102304e-06f, -1.479343798e-06f, -1.482582252e-06f, -1.485817662e-06f, -1.489050023e-06f, -1.492279329e-06f, -1.495505575e-06f, -1.498728756e-06f, -1.501948867e-06f,
+-1.505165902e-06f, -1.508379857e-06f, -1.511590727e-06f, -1.514798506e-06f, -1.518003189e-06f, -1.521204771e-06f, -1.524403247e-06f, -1.527598612e-06f, -1.530790860e-06f, -1.533979988e-06f,
+-1.537165989e-06f, -1.540348859e-06f, -1.543528592e-06f, -1.546705184e-06f, -1.549878629e-06f, -1.553048922e-06f, -1.556216059e-06f, -1.559380034e-06f, -1.562540842e-06f, -1.565698479e-06f,
+-1.568852939e-06f, -1.572004217e-06f, -1.575152308e-06f, -1.578297207e-06f, -1.581438910e-06f, -1.584577411e-06f, -1.587712705e-06f, -1.590844787e-06f, -1.593973653e-06f, -1.597099297e-06f,
+-1.600221715e-06f, -1.603340901e-06f, -1.606456851e-06f, -1.609569559e-06f, -1.612679021e-06f, -1.615785232e-06f, -1.618888186e-06f, -1.621987880e-06f, -1.625084307e-06f, -1.628177464e-06f,
+-1.631267345e-06f, -1.634353946e-06f, -1.637437261e-06f, -1.640517285e-06f, -1.643594014e-06f, -1.646667444e-06f, -1.649737568e-06f, -1.652804383e-06f, -1.655867883e-06f, -1.658928063e-06f,
+-1.661984919e-06f, -1.665038447e-06f, -1.668088640e-06f, -1.671135495e-06f, -1.674179006e-06f, -1.677219169e-06f, -1.680255978e-06f, -1.683289430e-06f, -1.686319520e-06f, -1.689346242e-06f,
+-1.692369592e-06f, -1.695389565e-06f, -1.698406156e-06f, -1.701419361e-06f, -1.704429175e-06f, -1.707435593e-06f, -1.710438611e-06f, -1.713438223e-06f, -1.716434425e-06f, -1.719427213e-06f,
+-1.722416581e-06f, -1.725402526e-06f, -1.728385041e-06f, -1.731364124e-06f, -1.734339768e-06f, -1.737311969e-06f, -1.740280723e-06f, -1.743246025e-06f, -1.746207871e-06f, -1.749166255e-06f,
+-1.752121173e-06f, -1.755072621e-06f, -1.758020594e-06f, -1.760965086e-06f, -1.763906095e-06f, -1.766843615e-06f, -1.769777641e-06f, -1.772708169e-06f, -1.775635194e-06f, -1.778558712e-06f,
+-1.781478718e-06f, -1.784395208e-06f, -1.787308177e-06f, -1.790217621e-06f, -1.793123534e-06f, -1.796025914e-06f, -1.798924754e-06f, -1.801820050e-06f, -1.804711799e-06f, -1.807599995e-06f,
+-1.810484634e-06f, -1.813365712e-06f, -1.816243224e-06f, -1.819117165e-06f, -1.821987531e-06f, -1.824854318e-06f, -1.827717521e-06f, -1.830577136e-06f, -1.833433159e-06f, -1.836285584e-06f,
+-1.839134408e-06f, -1.841979625e-06f, -1.844821233e-06f, -1.847659225e-06f, -1.850493599e-06f, -1.853324348e-06f, -1.856151470e-06f, -1.858974960e-06f, -1.861794813e-06f, -1.864611025e-06f,
+-1.867423592e-06f, -1.870232509e-06f, -1.873037772e-06f, -1.875839376e-06f, -1.878637318e-06f, -1.881431593e-06f, -1.884222196e-06f, -1.887009124e-06f, -1.889792372e-06f, -1.892571936e-06f,
+-1.895347811e-06f, -1.898119993e-06f, -1.900888479e-06f, -1.903653263e-06f, -1.906414341e-06f, -1.909171710e-06f, -1.911925364e-06f, -1.914675301e-06f, -1.917421514e-06f, -1.920164001e-06f,
+-1.922902758e-06f, -1.925637779e-06f, -1.928369060e-06f, -1.931096598e-06f, -1.933820389e-06f, -1.936540427e-06f, -1.939256709e-06f, -1.941969232e-06f, -1.944677989e-06f, -1.947382979e-06f,
+-1.950084195e-06f, -1.952781635e-06f, -1.955475294e-06f, -1.958165168e-06f, -1.960851252e-06f, -1.963533544e-06f, -1.966212038e-06f, -1.968886730e-06f, -1.971557617e-06f, -1.974224695e-06f,
+-1.976887959e-06f, -1.979547405e-06f, -1.982203029e-06f, -1.984854827e-06f, -1.987502796e-06f, -1.990146930e-06f, -1.992787227e-06f, -1.995423681e-06f, -1.998056290e-06f, -2.000685049e-06f,
+-2.003309954e-06f, -2.005931000e-06f, -2.008548185e-06f, -2.011161504e-06f, -2.013770953e-06f, -2.016376528e-06f, -2.018978226e-06f, -2.021576041e-06f, -2.024169971e-06f, -2.026760012e-06f,
+-2.029346159e-06f, -2.031928408e-06f, -2.034506756e-06f, -2.037081199e-06f, -2.039651732e-06f, -2.042218353e-06f, -2.044781057e-06f, -2.047339839e-06f, -2.049894698e-06f, -2.052445627e-06f,
+-2.054992625e-06f, -2.057535686e-06f, -2.060074807e-06f, -2.062609984e-06f, -2.065141214e-06f, -2.067668492e-06f, -2.070191815e-06f, -2.072711178e-06f, -2.075226579e-06f, -2.077738013e-06f,
+-2.080245477e-06f, -2.082748966e-06f, -2.085248478e-06f, -2.087744008e-06f, -2.090235552e-06f, -2.092723107e-06f, -2.095206669e-06f, -2.097686234e-06f, -2.100161799e-06f, -2.102633360e-06f,
+-2.105100914e-06f, -2.107564455e-06f, -2.110023982e-06f, -2.112479489e-06f, -2.114930975e-06f, -2.117378434e-06f, -2.119821863e-06f, -2.122261258e-06f, -2.124696617e-06f, -2.127127935e-06f,
+-2.129555208e-06f, -2.131978433e-06f, -2.134397607e-06f, -2.136812726e-06f, -2.139223785e-06f, -2.141630783e-06f, -2.144033714e-06f, -2.146432576e-06f, -2.148827364e-06f, -2.151218076e-06f,
+-2.153604708e-06f, -2.155987256e-06f, -2.158365717e-06f, -2.160740087e-06f, -2.163110362e-06f, -2.165476540e-06f, -2.167838616e-06f, -2.170196588e-06f, -2.172550451e-06f, -2.174900202e-06f,
+-2.177245838e-06f, -2.179587355e-06f, -2.181924750e-06f, -2.184258020e-06f, -2.186587160e-06f, -2.188912168e-06f, -2.191233039e-06f, -2.193549772e-06f, -2.195862361e-06f, -2.198170804e-06f,
+-2.200475098e-06f, -2.202775239e-06f, -2.205071223e-06f, -2.207363047e-06f, -2.209650709e-06f, -2.211934204e-06f, -2.214213529e-06f, -2.216488681e-06f, -2.218759656e-06f, -2.221026452e-06f,
+-2.223289064e-06f, -2.225547490e-06f, -2.227801726e-06f, -2.230051769e-06f, -2.232297616e-06f, -2.234539263e-06f, -2.236776707e-06f, -2.239009945e-06f, -2.241238974e-06f, -2.243463790e-06f,
+-2.245684390e-06f, -2.247900771e-06f, -2.250112929e-06f, -2.252320862e-06f, -2.254524566e-06f, -2.256724038e-06f, -2.258919275e-06f, -2.261110274e-06f, -2.263297031e-06f, -2.265479543e-06f,
+-2.267657807e-06f, -2.269831820e-06f, -2.272001579e-06f, -2.274167081e-06f, -2.276328322e-06f, -2.278485300e-06f, -2.280638011e-06f, -2.282786452e-06f, -2.284930620e-06f, -2.287070512e-06f,
+-2.289206125e-06f, -2.291337455e-06f, -2.293464501e-06f, -2.295587258e-06f, -2.297705724e-06f, -2.299819895e-06f, -2.301929769e-06f, -2.304035343e-06f, -2.306136613e-06f, -2.308233576e-06f,
+-2.310326230e-06f, -2.312414572e-06f, -2.314498598e-06f, -2.316578305e-06f, -2.318653691e-06f, -2.320724753e-06f, -2.322791487e-06f, -2.324853890e-06f, -2.326911961e-06f, -2.328965695e-06f,
+-2.331015090e-06f, -2.333060144e-06f, -2.335100852e-06f, -2.337137212e-06f, -2.339169221e-06f, -2.341196877e-06f, -2.343220177e-06f, -2.345239117e-06f, -2.347253694e-06f, -2.349263907e-06f,
+-2.351269751e-06f, -2.353271225e-06f, -2.355268325e-06f, -2.357261049e-06f, -2.359249393e-06f, -2.361233355e-06f, -2.363212933e-06f, -2.365188123e-06f, -2.367158922e-06f, -2.369125328e-06f,
+-2.371087338e-06f, -2.373044949e-06f, -2.374998159e-06f, -2.376946965e-06f, -2.378891363e-06f, -2.380831352e-06f, -2.382766929e-06f, -2.384698090e-06f, -2.386624834e-06f, -2.388547157e-06f,
+-2.390465056e-06f, -2.392378530e-06f, -2.394287576e-06f, -2.396192190e-06f, -2.398092370e-06f, -2.399988114e-06f, -2.401879418e-06f, -2.403766281e-06f, -2.405648700e-06f, -2.407526671e-06f,
+-2.409400193e-06f, -2.411269262e-06f, -2.413133877e-06f, -2.414994034e-06f, -2.416849731e-06f, -2.418700966e-06f, -2.420547736e-06f, -2.422390038e-06f, -2.424227870e-06f, -2.426061229e-06f,
+-2.427890113e-06f, -2.429714520e-06f, -2.431534446e-06f, -2.433349889e-06f, -2.435160847e-06f, -2.436967317e-06f, -2.438769297e-06f, -2.440566785e-06f, -2.442359777e-06f, -2.444148272e-06f,
+-2.445932267e-06f, -2.447711759e-06f, -2.449486746e-06f, -2.451257226e-06f, -2.453023197e-06f, -2.454784655e-06f, -2.456541599e-06f, -2.458294026e-06f, -2.460041934e-06f, -2.461785320e-06f,
+-2.463524182e-06f, -2.465258518e-06f, -2.466988325e-06f, -2.468713601e-06f, -2.470434343e-06f, -2.472150550e-06f, -2.473862220e-06f, -2.475569348e-06f, -2.477271935e-06f, -2.478969976e-06f,
+-2.480663470e-06f, -2.482352415e-06f, -2.484036808e-06f, -2.485716647e-06f, -2.487391931e-06f, -2.489062655e-06f, -2.490728819e-06f, -2.492390421e-06f, -2.494047457e-06f, -2.495699926e-06f,
+-2.497347825e-06f, -2.498991153e-06f, -2.500629907e-06f, -2.502264085e-06f, -2.503893684e-06f, -2.505518704e-06f, -2.507139141e-06f, -2.508754993e-06f, -2.510366259e-06f, -2.511972936e-06f,
+-2.513575022e-06f, -2.515172515e-06f, -2.516765412e-06f, -2.518353713e-06f, -2.519937414e-06f, -2.521516513e-06f, -2.523091010e-06f, -2.524660900e-06f, -2.526226183e-06f, -2.527786857e-06f,
+-2.529342919e-06f, -2.530894367e-06f, -2.532441200e-06f, -2.533983415e-06f, -2.535521010e-06f, -2.537053983e-06f, -2.538582333e-06f, -2.540106058e-06f, -2.541625154e-06f, -2.543139621e-06f,
+-2.544649457e-06f, -2.546154660e-06f, -2.547655226e-06f, -2.549151156e-06f, -2.550642447e-06f, -2.552129096e-06f, -2.553611103e-06f, -2.555088464e-06f, -2.556561179e-06f, -2.558029245e-06f,
+-2.559492661e-06f, -2.560951424e-06f, -2.562405534e-06f, -2.563854987e-06f, -2.565299782e-06f, -2.566739918e-06f, -2.568175392e-06f, -2.569606203e-06f, -2.571032349e-06f, -2.572453827e-06f,
+-2.573870638e-06f, -2.575282777e-06f, -2.576690245e-06f, -2.578093039e-06f, -2.579491157e-06f, -2.580884597e-06f, -2.582273359e-06f, -2.583657439e-06f, -2.585036837e-06f, -2.586411551e-06f,
+-2.587781578e-06f, -2.589146918e-06f, -2.590507569e-06f, -2.591863528e-06f, -2.593214795e-06f, -2.594561367e-06f, -2.595903244e-06f, -2.597240423e-06f, -2.598572902e-06f, -2.599900681e-06f,
+-2.601223757e-06f, -2.602542129e-06f, -2.603855796e-06f, -2.605164755e-06f, -2.606469005e-06f, -2.607768545e-06f, -2.609063373e-06f, -2.610353487e-06f, -2.611638887e-06f, -2.612919569e-06f,
+-2.614195534e-06f, -2.615466778e-06f, -2.616733302e-06f, -2.617995103e-06f, -2.619252180e-06f, -2.620504531e-06f, -2.621752155e-06f, -2.622995050e-06f, -2.624233215e-06f, -2.625466649e-06f,
+-2.626695350e-06f, -2.627919316e-06f, -2.629138547e-06f, -2.630353040e-06f, -2.631562794e-06f, -2.632767809e-06f, -2.633968082e-06f, -2.635163612e-06f, -2.636354398e-06f, -2.637540439e-06f,
+-2.638721732e-06f, -2.639898278e-06f, -2.641070073e-06f, -2.642237118e-06f, -2.643399410e-06f, -2.644556949e-06f, -2.645709733e-06f, -2.646857760e-06f, -2.648001030e-06f, -2.649139542e-06f,
+-2.650273293e-06f, -2.651402283e-06f, -2.652526510e-06f, -2.653645974e-06f, -2.654760672e-06f, -2.655870604e-06f, -2.656975769e-06f, -2.658076164e-06f, -2.659171790e-06f, -2.660262645e-06f,
+-2.661348727e-06f, -2.662430036e-06f, -2.663506570e-06f, -2.664578328e-06f, -2.665645309e-06f, -2.666707512e-06f, -2.667764936e-06f, -2.668817579e-06f, -2.669865440e-06f, -2.670908519e-06f,
+-2.671946814e-06f, -2.672980325e-06f, -2.674009049e-06f, -2.675032986e-06f, -2.676052135e-06f, -2.677066495e-06f, -2.678076065e-06f, -2.679080843e-06f, -2.680080829e-06f, -2.681076022e-06f,
+-2.682066420e-06f, -2.683052023e-06f, -2.684032830e-06f, -2.685008839e-06f, -2.685980050e-06f, -2.686946461e-06f, -2.687908072e-06f, -2.688864882e-06f, -2.689816890e-06f, -2.690764094e-06f,
+-2.691706494e-06f, -2.692644089e-06f, -2.693576879e-06f, -2.694504861e-06f, -2.695428036e-06f, -2.696346401e-06f, -2.697259958e-06f, -2.698168704e-06f, -2.699072638e-06f, -2.699971761e-06f,
+-2.700866070e-06f, -2.701755566e-06f, -2.702640247e-06f, -2.703520112e-06f, -2.704395161e-06f, -2.705265393e-06f, -2.706130807e-06f, -2.706991402e-06f, -2.707847178e-06f, -2.708698133e-06f,
+-2.709544267e-06f, -2.710385580e-06f, -2.711222070e-06f, -2.712053737e-06f, -2.712880579e-06f, -2.713702597e-06f, -2.714519789e-06f, -2.715332155e-06f, -2.716139695e-06f, -2.716942406e-06f,
+-2.717740290e-06f, -2.718533344e-06f, -2.719321569e-06f, -2.720104964e-06f, -2.720883528e-06f, -2.721657260e-06f, -2.722426160e-06f, -2.723190227e-06f, -2.723949461e-06f, -2.724703861e-06f,
+-2.725453426e-06f, -2.726198156e-06f, -2.726938051e-06f, -2.727673109e-06f, -2.728403330e-06f, -2.729128713e-06f, -2.729849259e-06f, -2.730564966e-06f, -2.731275834e-06f, -2.731981862e-06f,
+-2.732683050e-06f, -2.733379398e-06f, -2.734070904e-06f, -2.734757569e-06f, -2.735439392e-06f, -2.736116373e-06f, -2.736788510e-06f, -2.737455804e-06f, -2.738118254e-06f, -2.738775859e-06f,
+-2.739428620e-06f, -2.740076536e-06f, -2.740719606e-06f, -2.741357830e-06f, -2.741991208e-06f, -2.742619739e-06f, -2.743243423e-06f, -2.743862259e-06f, -2.744476248e-06f, -2.745085388e-06f,
+-2.745689680e-06f, -2.746289123e-06f, -2.746883716e-06f, -2.747473460e-06f, -2.748058354e-06f, -2.748638399e-06f, -2.749213592e-06f, -2.749783935e-06f, -2.750349427e-06f, -2.750910068e-06f,
+-2.751465857e-06f, -2.752016794e-06f, -2.752562879e-06f, -2.753104112e-06f, -2.753640493e-06f, -2.754172021e-06f, -2.754698696e-06f, -2.755220518e-06f, -2.755737487e-06f, -2.756249602e-06f,
+-2.756756864e-06f, -2.757259272e-06f, -2.757756825e-06f, -2.758249525e-06f, -2.758737371e-06f, -2.759220362e-06f, -2.759698499e-06f, -2.760171781e-06f, -2.760640208e-06f, -2.761103781e-06f,
+-2.761562498e-06f, -2.762016361e-06f, -2.762465369e-06f, -2.762909521e-06f, -2.763348818e-06f, -2.763783261e-06f, -2.764212847e-06f, -2.764637579e-06f, -2.765057455e-06f, -2.765472476e-06f,
+-2.765882642e-06f, -2.766287952e-06f, -2.766688408e-06f, -2.767084007e-06f, -2.767474752e-06f, -2.767860641e-06f, -2.768241675e-06f, -2.768617854e-06f, -2.768989179e-06f, -2.769355648e-06f,
+-2.769717262e-06f, -2.770074021e-06f, -2.770425926e-06f, -2.770772976e-06f, -2.771115171e-06f, -2.771452512e-06f, -2.771784999e-06f, -2.772112632e-06f, -2.772435411e-06f, -2.772753336e-06f,
+-2.773066408e-06f, -2.773374626e-06f, -2.773677991e-06f, -2.773976502e-06f, -2.774270161e-06f, -2.774558967e-06f, -2.774842921e-06f, -2.775122022e-06f, -2.775396271e-06f, -2.775665669e-06f,
+-2.775930215e-06f, -2.776189910e-06f, -2.776444754e-06f, -2.776694747e-06f, -2.776939889e-06f, -2.777180182e-06f, -2.777415624e-06f, -2.777646217e-06f, -2.777871961e-06f, -2.778092856e-06f,
+-2.778308902e-06f, -2.778520100e-06f, -2.778726451e-06f, -2.778927953e-06f, -2.779124609e-06f, -2.779316417e-06f, -2.779503380e-06f, -2.779685496e-06f, -2.779862766e-06f, -2.780035192e-06f,
+-2.780202772e-06f, -2.780365509e-06f, -2.780523401e-06f, -2.780676450e-06f, -2.780824655e-06f, -2.780968019e-06f, -2.781106539e-06f, -2.781240219e-06f, -2.781369057e-06f, -2.781493054e-06f,
+-2.781612212e-06f, -2.781726529e-06f, -2.781836008e-06f, -2.781940648e-06f, -2.782040449e-06f, -2.782135413e-06f, -2.782225541e-06f, -2.782310831e-06f, -2.782391286e-06f, -2.782466906e-06f,
+-2.782537690e-06f, -2.782603641e-06f, -2.782664758e-06f, -2.782721042e-06f, -2.782772494e-06f, -2.782819114e-06f, -2.782860903e-06f, -2.782897861e-06f, -2.782929990e-06f, -2.782957290e-06f,
+-2.782979761e-06f, -2.782997405e-06f, -2.783010221e-06f, -2.783018211e-06f, -2.783021375e-06f, -2.783019714e-06f, -2.783013229e-06f, -2.783001921e-06f, -2.782985789e-06f, -2.782964836e-06f,
+-2.782939061e-06f, -2.782908465e-06f, -2.782873050e-06f, -2.782832816e-06f, -2.782787763e-06f, -2.782737893e-06f, -2.782683206e-06f, -2.782623704e-06f, -2.782559386e-06f, -2.782490254e-06f,
+-2.782416308e-06f, -2.782337551e-06f, -2.782253981e-06f, -2.782165600e-06f, -2.782072410e-06f, -2.781974410e-06f, -2.781871602e-06f, -2.781763987e-06f, -2.781651565e-06f, -2.781534338e-06f,
+-2.781412306e-06f, -2.781285470e-06f, -2.781153832e-06f, -2.781017391e-06f, -2.780876150e-06f, -2.780730109e-06f, -2.780579268e-06f, -2.780423630e-06f, -2.780263195e-06f, -2.780097963e-06f,
+-2.779927937e-06f, -2.779753116e-06f, -2.779573503e-06f, -2.779389097e-06f, -2.779199900e-06f, -2.779005914e-06f, -2.778807138e-06f, -2.778603575e-06f, -2.778395224e-06f, -2.778182088e-06f,
+-2.777964168e-06f, -2.777741464e-06f, -2.777513977e-06f, -2.777281709e-06f, -2.777044660e-06f, -2.776802833e-06f, -2.776556227e-06f, -2.776304844e-06f, -2.776048686e-06f, -2.775787753e-06f,
+-2.775522047e-06f, -2.775251568e-06f, -2.774976318e-06f, -2.774696299e-06f, -2.774411510e-06f, -2.774121954e-06f, -2.773827632e-06f, -2.773528544e-06f, -2.773224693e-06f, -2.772916079e-06f,
+-2.772602703e-06f, -2.772284567e-06f, -2.771961673e-06f, -2.771634020e-06f, -2.771301612e-06f, -2.770964448e-06f, -2.770622530e-06f, -2.770275860e-06f, -2.769924439e-06f, -2.769568267e-06f,
+-2.769207347e-06f, -2.768841680e-06f, -2.768471267e-06f, -2.768096109e-06f, -2.767716208e-06f, -2.767331565e-06f, -2.766942182e-06f, -2.766548059e-06f, -2.766149199e-06f, -2.765745603e-06f,
+-2.765337271e-06f, -2.764924206e-06f, -2.764506409e-06f, -2.764083881e-06f, -2.763656623e-06f, -2.763224638e-06f, -2.762787927e-06f, -2.762346490e-06f, -2.761900330e-06f, -2.761449448e-06f,
+-2.760993846e-06f, -2.760533524e-06f, -2.760068485e-06f, -2.759598730e-06f, -2.759124261e-06f, -2.758645078e-06f, -2.758161184e-06f, -2.757672580e-06f, -2.757179268e-06f, -2.756681249e-06f,
+-2.756178524e-06f, -2.755671096e-06f, -2.755158966e-06f, -2.754642135e-06f, -2.754120605e-06f, -2.753594378e-06f, -2.753063455e-06f, -2.752527837e-06f, -2.751987528e-06f, -2.751442527e-06f,
+-2.750892838e-06f, -2.750338460e-06f, -2.749779397e-06f, -2.749215649e-06f, -2.748647219e-06f, -2.748074108e-06f, -2.747496317e-06f, -2.746913849e-06f, -2.746326706e-06f, -2.745734888e-06f,
+-2.745138397e-06f, -2.744537236e-06f, -2.743931406e-06f, -2.743320909e-06f, -2.742705746e-06f, -2.742085919e-06f, -2.741461431e-06f, -2.740832282e-06f, -2.740198475e-06f, -2.739560012e-06f,
+-2.738916893e-06f, -2.738269122e-06f, -2.737616699e-06f, -2.736959627e-06f, -2.736297907e-06f, -2.735631542e-06f, -2.734960533e-06f, -2.734284882e-06f, -2.733604590e-06f, -2.732919661e-06f,
+-2.732230095e-06f, -2.731535894e-06f, -2.730837061e-06f, -2.730133597e-06f, -2.729425504e-06f, -2.728712784e-06f, -2.727995439e-06f, -2.727273471e-06f, -2.726546882e-06f, -2.725815673e-06f,
+-2.725079848e-06f, -2.724339407e-06f, -2.723594353e-06f, -2.722844687e-06f, -2.722090412e-06f, -2.721331530e-06f, -2.720568042e-06f, -2.719799951e-06f, -2.719027259e-06f, -2.718249967e-06f,
+-2.717468078e-06f, -2.716681593e-06f, -2.715890516e-06f, -2.715094847e-06f, -2.714294589e-06f, -2.713489744e-06f, -2.712680314e-06f, -2.711866301e-06f, -2.711047707e-06f, -2.710224535e-06f,
+-2.709396786e-06f, -2.708564462e-06f, -2.707727567e-06f, -2.706886101e-06f, -2.706040066e-06f, -2.705189466e-06f, -2.704334302e-06f, -2.703474576e-06f, -2.702610291e-06f, -2.701741449e-06f,
+-2.700868051e-06f, -2.699990101e-06f, -2.699107600e-06f, -2.698220550e-06f, -2.697328954e-06f, -2.696432813e-06f, -2.695532131e-06f, -2.694626909e-06f, -2.693717150e-06f, -2.692802856e-06f,
+-2.691884029e-06f, -2.690960671e-06f, -2.690032785e-06f, -2.689100372e-06f, -2.688163436e-06f, -2.687221978e-06f, -2.686276002e-06f, -2.685325508e-06f, -2.684370500e-06f, -2.683410979e-06f,
+-2.682446949e-06f, -2.681478411e-06f, -2.680505368e-06f, -2.679527821e-06f, -2.678545775e-06f, -2.677559230e-06f, -2.676568190e-06f, -2.675572656e-06f, -2.674572631e-06f, -2.673568117e-06f,
+-2.672559118e-06f, -2.671545634e-06f, -2.670527670e-06f, -2.669505226e-06f, -2.668478306e-06f, -2.667446912e-06f, -2.666411046e-06f, -2.665370711e-06f, -2.664325910e-06f, -2.663276644e-06f,
+-2.662222917e-06f, -2.661164730e-06f, -2.660102087e-06f, -2.659034989e-06f, -2.657963440e-06f, -2.656887442e-06f, -2.655806997e-06f, -2.654722107e-06f, -2.653632777e-06f, -2.652539007e-06f,
+-2.651440801e-06f, -2.650338160e-06f, -2.649231089e-06f, -2.648119589e-06f, -2.647003662e-06f, -2.645883312e-06f, -2.644758541e-06f, -2.643629351e-06f, -2.642495746e-06f, -2.641357728e-06f,
+-2.640215299e-06f, -2.639068462e-06f, -2.637917220e-06f, -2.636761575e-06f, -2.635601530e-06f, -2.634437088e-06f, -2.633268252e-06f, -2.632095023e-06f, -2.630917406e-06f, -2.629735401e-06f,
+-2.628549013e-06f, -2.627358244e-06f, -2.626163096e-06f, -2.624963573e-06f, -2.623759676e-06f, -2.622551410e-06f, -2.621338775e-06f, -2.620121777e-06f, -2.618900416e-06f, -2.617674695e-06f,
+-2.616444619e-06f, -2.615210189e-06f, -2.613971407e-06f, -2.612728278e-06f, -2.611480804e-06f, -2.610228987e-06f, -2.608972830e-06f, -2.607712336e-06f, -2.606447509e-06f, -2.605178350e-06f,
+-2.603904863e-06f, -2.602627050e-06f, -2.601344915e-06f, -2.600058460e-06f, -2.598767688e-06f, -2.597472602e-06f, -2.596173205e-06f, -2.594869500e-06f, -2.593561489e-06f, -2.592249176e-06f,
+-2.590932563e-06f, -2.589611654e-06f, -2.588286451e-06f, -2.586956958e-06f, -2.585623176e-06f, -2.584285110e-06f, -2.582942762e-06f, -2.581596135e-06f, -2.580245232e-06f, -2.578890056e-06f,
+-2.577530610e-06f, -2.576166897e-06f, -2.574798920e-06f, -2.573426682e-06f, -2.572050186e-06f, -2.570669435e-06f, -2.569284433e-06f, -2.567895181e-06f, -2.566501683e-06f, -2.565103943e-06f,
+-2.563701963e-06f, -2.562295746e-06f, -2.560885295e-06f, -2.559470614e-06f, -2.558051705e-06f, -2.556628572e-06f, -2.555201218e-06f, -2.553769646e-06f, -2.552333858e-06f, -2.550893859e-06f,
+-2.549449650e-06f, -2.548001236e-06f, -2.546548619e-06f, -2.545091803e-06f, -2.543630791e-06f, -2.542165585e-06f, -2.540696190e-06f, -2.539222607e-06f, -2.537744841e-06f, -2.536262895e-06f,
+-2.534776771e-06f, -2.533286474e-06f, -2.531792005e-06f, -2.530293369e-06f, -2.528790568e-06f, -2.527283606e-06f, -2.525772487e-06f, -2.524257212e-06f, -2.522737786e-06f, -2.521214212e-06f,
+-2.519686493e-06f, -2.518154632e-06f, -2.516618632e-06f, -2.515078498e-06f, -2.513534232e-06f, -2.511985837e-06f, -2.510433317e-06f, -2.508876674e-06f, -2.507315913e-06f, -2.505751037e-06f,
+-2.504182049e-06f, -2.502608952e-06f, -2.501031750e-06f, -2.499450446e-06f, -2.497865043e-06f, -2.496275545e-06f, -2.494681954e-06f, -2.493084276e-06f, -2.491482512e-06f, -2.489876666e-06f,
+-2.488266742e-06f, -2.486652743e-06f, -2.485034672e-06f, -2.483412533e-06f, -2.481786330e-06f, -2.480156065e-06f, -2.478521742e-06f, -2.476883364e-06f, -2.475240936e-06f, -2.473594460e-06f,
+-2.471943940e-06f, -2.470289379e-06f, -2.468630781e-06f, -2.466968149e-06f, -2.465301487e-06f, -2.463630798e-06f, -2.461956086e-06f, -2.460277355e-06f, -2.458594607e-06f, -2.456907846e-06f,
+-2.455217076e-06f, -2.453522300e-06f, -2.451823523e-06f, -2.450120746e-06f, -2.448413975e-06f, -2.446703212e-06f, -2.444988461e-06f, -2.443269726e-06f, -2.441547010e-06f, -2.439820317e-06f,
+-2.438089650e-06f, -2.436355013e-06f, -2.434616409e-06f, -2.432873843e-06f, -2.431127318e-06f, -2.429376837e-06f, -2.427622404e-06f, -2.425864022e-06f, -2.424101696e-06f, -2.422335429e-06f,
+-2.420565224e-06f, -2.418791086e-06f, -2.417013017e-06f, -2.415231022e-06f, -2.413445105e-06f, -2.411655268e-06f, -2.409861515e-06f, -2.408063851e-06f, -2.406262279e-06f, -2.404456803e-06f,
+-2.402647426e-06f, -2.400834153e-06f, -2.399016986e-06f, -2.397195929e-06f, -2.395370987e-06f, -2.393542163e-06f, -2.391709461e-06f, -2.389872885e-06f, -2.388032437e-06f, -2.386188123e-06f,
+-2.384339946e-06f, -2.382487909e-06f, -2.380632017e-06f, -2.378772273e-06f, -2.376908681e-06f, -2.375041245e-06f, -2.373169968e-06f, -2.371294855e-06f, -2.369415909e-06f, -2.367533134e-06f,
+-2.365646534e-06f, -2.363756113e-06f, -2.361861875e-06f, -2.359963823e-06f, -2.358061961e-06f, -2.356156294e-06f, -2.354246825e-06f, -2.352333557e-06f, -2.350416496e-06f, -2.348495644e-06f,
+-2.346571006e-06f, -2.344642585e-06f, -2.342710386e-06f, -2.340774412e-06f, -2.338834667e-06f, -2.336891156e-06f, -2.334943882e-06f, -2.332992848e-06f, -2.331038060e-06f, -2.329079520e-06f,
+-2.327117234e-06f, -2.325151204e-06f, -2.323181436e-06f, -2.321207932e-06f, -2.319230696e-06f, -2.317249734e-06f, -2.315265048e-06f, -2.313276643e-06f, -2.311284523e-06f, -2.309288692e-06f,
+-2.307289153e-06f, -2.305285911e-06f, -2.303278970e-06f, -2.301268334e-06f, -2.299254006e-06f, -2.297235992e-06f, -2.295214294e-06f, -2.293188918e-06f, -2.291159867e-06f, -2.289127145e-06f,
+-2.287090756e-06f, -2.285050704e-06f, -2.283006994e-06f, -2.280959629e-06f, -2.278908614e-06f, -2.276853952e-06f, -2.274795648e-06f, -2.272733707e-06f, -2.270668131e-06f, -2.268598925e-06f,
+-2.266526094e-06f, -2.264449640e-06f, -2.262369570e-06f, -2.260285886e-06f, -2.258198593e-06f, -2.256107695e-06f, -2.254013196e-06f, -2.251915101e-06f, -2.249813413e-06f, -2.247708136e-06f,
+-2.245599276e-06f, -2.243486835e-06f, -2.241370819e-06f, -2.239251231e-06f, -2.237128076e-06f, -2.235001358e-06f, -2.232871081e-06f, -2.230737249e-06f, -2.228599867e-06f, -2.226458939e-06f,
+-2.224314468e-06f, -2.222166460e-06f, -2.220014918e-06f, -2.217859848e-06f, -2.215701252e-06f, -2.213539135e-06f, -2.211373502e-06f, -2.209204357e-06f, -2.207031705e-06f, -2.204855548e-06f,
+-2.202675892e-06f, -2.200492742e-06f, -2.198306101e-06f, -2.196115973e-06f, -2.193922363e-06f, -2.191725276e-06f, -2.189524715e-06f, -2.187320685e-06f, -2.185113191e-06f, -2.182902236e-06f,
+-2.180687825e-06f, -2.178469963e-06f, -2.176248653e-06f, -2.174023901e-06f, -2.171795710e-06f, -2.169564084e-06f, -2.167329029e-06f, -2.165090549e-06f, -2.162848647e-06f, -2.160603329e-06f,
+-2.158354599e-06f, -2.156102460e-06f, -2.153846919e-06f, -2.151587978e-06f, -2.149325643e-06f, -2.147059918e-06f, -2.144790807e-06f, -2.142518315e-06f, -2.140242447e-06f, -2.137963205e-06f,
+-2.135680596e-06f, -2.133394624e-06f, -2.131105292e-06f, -2.128812606e-06f, -2.126516571e-06f, -2.124217189e-06f, -2.121914467e-06f, -2.119608408e-06f, -2.117299016e-06f, -2.114986298e-06f,
+-2.112670256e-06f, -2.110350896e-06f, -2.108028222e-06f, -2.105702238e-06f, -2.103372949e-06f, -2.101040360e-06f, -2.098704475e-06f, -2.096365299e-06f, -2.094022836e-06f, -2.091677090e-06f,
+-2.089328067e-06f, -2.086975771e-06f, -2.084620206e-06f, -2.082261378e-06f, -2.079899289e-06f, -2.077533946e-06f, -2.075165353e-06f, -2.072793514e-06f, -2.070418434e-06f, -2.068040118e-06f,
+-2.065658570e-06f, -2.063273794e-06f, -2.060885796e-06f, -2.058494580e-06f, -2.056100151e-06f, -2.053702513e-06f, -2.051301671e-06f, -2.048897629e-06f, -2.046490393e-06f, -2.044079966e-06f,
+-2.041666354e-06f, -2.039249561e-06f, -2.036829592e-06f, -2.034406451e-06f, -2.031980144e-06f, -2.029550674e-06f, -2.027118047e-06f, -2.024682268e-06f, -2.022243340e-06f, -2.019801269e-06f,
+-2.017356059e-06f, -2.014907715e-06f, -2.012456242e-06f, -2.010001644e-06f, -2.007543927e-06f, -2.005083095e-06f, -2.002619152e-06f, -2.000152104e-06f, -1.997681954e-06f, -1.995208709e-06f,
+-1.992732372e-06f, -1.990252949e-06f, -1.987770444e-06f, -1.985284862e-06f, -1.982796207e-06f, -1.980304485e-06f, -1.977809701e-06f, -1.975311858e-06f, -1.972810962e-06f, -1.970307018e-06f,
+-1.967800030e-06f, -1.965290003e-06f, -1.962776943e-06f, -1.960260853e-06f, -1.957741739e-06f, -1.955219605e-06f, -1.952694457e-06f, -1.950166298e-06f, -1.947635135e-06f, -1.945100972e-06f,
+-1.942563813e-06f, -1.940023663e-06f, -1.937480528e-06f, -1.934934413e-06f, -1.932385321e-06f, -1.929833258e-06f, -1.927278229e-06f, -1.924720239e-06f, -1.922159292e-06f, -1.919595394e-06f,
+-1.917028548e-06f, -1.914458762e-06f, -1.911886038e-06f, -1.909310382e-06f, -1.906731799e-06f, -1.904150294e-06f, -1.901565872e-06f, -1.898978538e-06f, -1.896388296e-06f, -1.893795151e-06f,
+-1.891199109e-06f, -1.888600174e-06f, -1.885998352e-06f, -1.883393647e-06f, -1.880786064e-06f, -1.878175608e-06f, -1.875562285e-06f, -1.872946098e-06f, -1.870327054e-06f, -1.867705156e-06f,
+-1.865080411e-06f, -1.862452822e-06f, -1.859822396e-06f, -1.857189136e-06f, -1.854553048e-06f, -1.851914137e-06f, -1.849272408e-06f, -1.846627866e-06f, -1.843980516e-06f, -1.841330363e-06f,
+-1.838677412e-06f, -1.836021668e-06f, -1.833363136e-06f, -1.830701820e-06f, -1.828037727e-06f, -1.825370861e-06f, -1.822701227e-06f, -1.820028830e-06f, -1.817353676e-06f, -1.814675769e-06f,
+-1.811995114e-06f, -1.809311716e-06f, -1.806625581e-06f, -1.803936714e-06f, -1.801245119e-06f, -1.798550801e-06f, -1.795853767e-06f, -1.793154020e-06f, -1.790451566e-06f, -1.787746410e-06f,
+-1.785038558e-06f, -1.782328013e-06f, -1.779614782e-06f, -1.776898870e-06f, -1.774180280e-06f, -1.771459020e-06f, -1.768735093e-06f, -1.766008505e-06f, -1.763279261e-06f, -1.760547367e-06f,
+-1.757812826e-06f, -1.755075645e-06f, -1.752335829e-06f, -1.749593382e-06f, -1.746848310e-06f, -1.744100619e-06f, -1.741350312e-06f, -1.738597396e-06f, -1.735841875e-06f, -1.733083755e-06f,
+-1.730323040e-06f, -1.727559737e-06f, -1.724793850e-06f, -1.722025384e-06f, -1.719254345e-06f, -1.716480738e-06f, -1.713704567e-06f, -1.710925839e-06f, -1.708144558e-06f, -1.705360730e-06f,
+-1.702574359e-06f, -1.699785452e-06f, -1.696994012e-06f, -1.694200046e-06f, -1.691403559e-06f, -1.688604555e-06f, -1.685803041e-06f, -1.682999021e-06f, -1.680192501e-06f, -1.677383485e-06f,
+-1.674571980e-06f, -1.671757989e-06f, -1.668941520e-06f, -1.666122576e-06f, -1.663301163e-06f, -1.660477287e-06f, -1.657650952e-06f, -1.654822164e-06f, -1.651990928e-06f, -1.649157250e-06f,
+-1.646321135e-06f, -1.643482587e-06f, -1.640641613e-06f, -1.637798217e-06f, -1.634952405e-06f, -1.632104183e-06f, -1.629253554e-06f, -1.626400526e-06f, -1.623545103e-06f, -1.620687290e-06f,
+-1.617827093e-06f, -1.614964516e-06f, -1.612099566e-06f, -1.609232248e-06f, -1.606362567e-06f, -1.603490528e-06f, -1.600616137e-06f, -1.597739399e-06f, -1.594860319e-06f, -1.591978903e-06f,
+-1.589095156e-06f, -1.586209083e-06f, -1.583320690e-06f, -1.580429982e-06f, -1.577536965e-06f, -1.574641644e-06f, -1.571744023e-06f, -1.568844109e-06f, -1.565941908e-06f, -1.563037423e-06f,
+-1.560130661e-06f, -1.557221627e-06f, -1.554310327e-06f, -1.551396766e-06f, -1.548480948e-06f, -1.545562881e-06f, -1.542642568e-06f, -1.539720016e-06f, -1.536795230e-06f, -1.533868215e-06f,
+-1.530938977e-06f, -1.528007520e-06f, -1.525073852e-06f, -1.522137976e-06f, -1.519199898e-06f, -1.516259624e-06f, -1.513317160e-06f, -1.510372510e-06f, -1.507425680e-06f, -1.504476676e-06f,
+-1.501525502e-06f, -1.498572165e-06f, -1.495616670e-06f, -1.492659022e-06f, -1.489699227e-06f, -1.486737290e-06f, -1.483773217e-06f, -1.480807012e-06f, -1.477838683e-06f, -1.474868233e-06f,
+-1.471895669e-06f, -1.468920996e-06f, -1.465944219e-06f, -1.462965344e-06f, -1.459984377e-06f, -1.457001322e-06f, -1.454016186e-06f, -1.451028974e-06f, -1.448039691e-06f, -1.445048344e-06f,
+-1.442054936e-06f, -1.439059474e-06f, -1.436061964e-06f, -1.433062411e-06f, -1.430060820e-06f, -1.427057196e-06f, -1.424051547e-06f, -1.421043876e-06f, -1.418034190e-06f, -1.415022493e-06f,
+-1.412008792e-06f, -1.408993093e-06f, -1.405975399e-06f, -1.402955718e-06f, -1.399934055e-06f, -1.396910414e-06f, -1.393884803e-06f, -1.390857225e-06f, -1.387827688e-06f, -1.384796195e-06f,
+-1.381762754e-06f, -1.378727369e-06f, -1.375690046e-06f, -1.372650791e-06f, -1.369609609e-06f, -1.366566505e-06f, -1.363521486e-06f, -1.360474557e-06f, -1.357425723e-06f, -1.354374990e-06f,
+-1.351322363e-06f, -1.348267849e-06f, -1.345211452e-06f, -1.342153179e-06f, -1.339093035e-06f, -1.336031025e-06f, -1.332967155e-06f, -1.329901431e-06f, -1.326833858e-06f, -1.323764442e-06f,
+-1.320693188e-06f, -1.317620102e-06f, -1.314545190e-06f, -1.311468458e-06f, -1.308389910e-06f, -1.305309553e-06f, -1.302227392e-06f, -1.299143432e-06f, -1.296057680e-06f, -1.292970141e-06f,
+-1.289880821e-06f, -1.286789724e-06f, -1.283696858e-06f, -1.280602227e-06f, -1.277505837e-06f, -1.274407694e-06f, -1.271307803e-06f, -1.268206171e-06f, -1.265102802e-06f, -1.261997702e-06f,
+-1.258890877e-06f, -1.255782333e-06f, -1.252672075e-06f, -1.249560109e-06f, -1.246446441e-06f, -1.243331075e-06f, -1.240214019e-06f, -1.237095277e-06f, -1.233974856e-06f, -1.230852760e-06f,
+-1.227728996e-06f, -1.224603569e-06f, -1.221476485e-06f, -1.218347749e-06f, -1.215217368e-06f, -1.212085346e-06f, -1.208951691e-06f, -1.205816406e-06f, -1.202679498e-06f, -1.199540973e-06f,
+-1.196400837e-06f, -1.193259094e-06f, -1.190115751e-06f, -1.186970813e-06f, -1.183824287e-06f, -1.180676177e-06f, -1.177526490e-06f, -1.174375231e-06f, -1.171222406e-06f, -1.168068020e-06f,
+-1.164912080e-06f, -1.161754590e-06f, -1.158595558e-06f, -1.155434988e-06f, -1.152272886e-06f, -1.149109258e-06f, -1.145944109e-06f, -1.142777446e-06f, -1.139609273e-06f, -1.136439598e-06f,
+-1.133268425e-06f, -1.130095760e-06f, -1.126921609e-06f, -1.123745978e-06f, -1.120568872e-06f, -1.117390297e-06f, -1.114210259e-06f, -1.111028763e-06f, -1.107845816e-06f, -1.104661423e-06f,
+-1.101475590e-06f, -1.098288322e-06f, -1.095099626e-06f, -1.091909507e-06f, -1.088717970e-06f, -1.085525022e-06f, -1.082330668e-06f, -1.079134914e-06f, -1.075937766e-06f, -1.072739230e-06f,
+-1.069539311e-06f, -1.066338015e-06f, -1.063135348e-06f, -1.059931315e-06f, -1.056725923e-06f, -1.053519176e-06f, -1.050311082e-06f, -1.047101645e-06f, -1.043890872e-06f, -1.040678768e-06f,
+-1.037465339e-06f, -1.034250591e-06f, -1.031034529e-06f, -1.027817159e-06f, -1.024598488e-06f, -1.021378520e-06f, -1.018157262e-06f, -1.014934719e-06f, -1.011710898e-06f, -1.008485803e-06f,
+-1.005259442e-06f, -1.002031819e-06f, -9.988029397e-07f, -9.955728110e-07f, -9.923414382e-07f, -9.891088272e-07f, -9.858749836e-07f, -9.826399134e-07f, -9.794036222e-07f, -9.761661160e-07f,
+-9.729274004e-07f, -9.696874814e-07f, -9.664463646e-07f, -9.632040560e-07f, -9.599605612e-07f, -9.567158862e-07f, -9.534700367e-07f, -9.502230185e-07f, -9.469748375e-07f, -9.437254994e-07f,
+-9.404750100e-07f, -9.372233752e-07f, -9.339706008e-07f, -9.307166926e-07f, -9.274616564e-07f, -9.242054981e-07f, -9.209482234e-07f, -9.176898381e-07f, -9.144303482e-07f, -9.111697593e-07f,
+-9.079080774e-07f, -9.046453083e-07f, -9.013814577e-07f, -8.981165315e-07f, -8.948505355e-07f, -8.915834756e-07f, -8.883153576e-07f, -8.850461873e-07f, -8.817759705e-07f, -8.785047131e-07f,
+-8.752324209e-07f, -8.719590998e-07f, -8.686847555e-07f, -8.654093940e-07f, -8.621330209e-07f, -8.588556423e-07f, -8.555772638e-07f, -8.522978915e-07f, -8.490175310e-07f, -8.457361882e-07f,
+-8.424538690e-07f, -8.391705793e-07f, -8.358863248e-07f, -8.326011114e-07f, -8.293149449e-07f, -8.260278312e-07f, -8.227397762e-07f, -8.194507857e-07f, -8.161608654e-07f, -8.128700214e-07f,
+-8.095782594e-07f, -8.062855852e-07f, -8.029920048e-07f, -7.996975239e-07f, -7.964021485e-07f, -7.931058844e-07f, -7.898087374e-07f, -7.865107133e-07f, -7.832118181e-07f, -7.799120576e-07f,
+-7.766114377e-07f, -7.733099641e-07f, -7.700076429e-07f, -7.667044797e-07f, -7.634004805e-07f, -7.600956511e-07f, -7.567899975e-07f, -7.534835254e-07f, -7.501762407e-07f, -7.468681492e-07f,
+-7.435592569e-07f, -7.402495696e-07f, -7.369390932e-07f, -7.336278335e-07f, -7.303157963e-07f, -7.270029876e-07f, -7.236894132e-07f, -7.203750790e-07f, -7.170599909e-07f, -7.137441546e-07f,
+-7.104275761e-07f, -7.071102613e-07f, -7.037922159e-07f, -7.004734459e-07f, -6.971539572e-07f, -6.938337555e-07f, -6.905128469e-07f, -6.871912370e-07f, -6.838689319e-07f, -6.805459374e-07f,
+-6.772222593e-07f, -6.738979035e-07f, -6.705728759e-07f, -6.672471824e-07f, -6.639208288e-07f, -6.605938210e-07f, -6.572661649e-07f, -6.539378664e-07f, -6.506089312e-07f, -6.472793653e-07f,
+-6.439491746e-07f, -6.406183649e-07f, -6.372869421e-07f, -6.339549121e-07f, -6.306222808e-07f, -6.272890539e-07f, -6.239552375e-07f, -6.206208373e-07f, -6.172858593e-07f, -6.139503093e-07f,
+-6.106141932e-07f, -6.072775168e-07f, -6.039402861e-07f, -6.006025069e-07f, -5.972641850e-07f, -5.939253265e-07f, -5.905859370e-07f, -5.872460226e-07f, -5.839055891e-07f, -5.805646423e-07f,
+-5.772231881e-07f, -5.738812324e-07f, -5.705387812e-07f, -5.671958401e-07f, -5.638524153e-07f, -5.605085124e-07f, -5.571641373e-07f, -5.538192961e-07f, -5.504739944e-07f, -5.471282383e-07f,
+-5.437820335e-07f, -5.404353860e-07f, -5.370883016e-07f, -5.337407862e-07f, -5.303928456e-07f, -5.270444858e-07f, -5.236957126e-07f, -5.203465319e-07f, -5.169969496e-07f, -5.136469714e-07f,
+-5.102966034e-07f, -5.069458514e-07f, -5.035947212e-07f, -5.002432187e-07f, -4.968913499e-07f, -4.935391204e-07f, -4.901865364e-07f, -4.868336035e-07f, -4.834803277e-07f, -4.801267148e-07f,
+-4.767727708e-07f, -4.734185014e-07f, -4.700639127e-07f, -4.667090103e-07f, -4.633538002e-07f, -4.599982883e-07f, -4.566424804e-07f, -4.532863824e-07f, -4.499300002e-07f, -4.465733396e-07f,
+-4.432164065e-07f, -4.398592068e-07f, -4.365017463e-07f, -4.331440309e-07f, -4.297860664e-07f, -4.264278588e-07f, -4.230694139e-07f, -4.197107375e-07f, -4.163518355e-07f, -4.129927138e-07f,
+-4.096333783e-07f, -4.062738347e-07f, -4.029140891e-07f, -3.995541471e-07f, -3.961940147e-07f, -3.928336978e-07f, -3.894732022e-07f, -3.861125337e-07f, -3.827516982e-07f, -3.793907016e-07f,
+-3.760295498e-07f, -3.726682485e-07f, -3.693068037e-07f, -3.659452212e-07f, -3.625835068e-07f, -3.592216664e-07f, -3.558597059e-07f, -3.524976311e-07f, -3.491354479e-07f, -3.457731621e-07f,
+-3.424107795e-07f, -3.390483061e-07f, -3.356857476e-07f, -3.323231099e-07f, -3.289603988e-07f, -3.255976203e-07f, -3.222347801e-07f, -3.188718841e-07f, -3.155089382e-07f, -3.121459481e-07f,
+-3.087829198e-07f, -3.054198590e-07f, -3.020567716e-07f, -2.986936635e-07f, -2.953305404e-07f, -2.919674083e-07f, -2.886042729e-07f, -2.852411401e-07f, -2.818780158e-07f, -2.785149057e-07f,
+-2.751518158e-07f, -2.717887517e-07f, -2.684257195e-07f, -2.650627248e-07f, -2.616997736e-07f, -2.583368716e-07f, -2.549740247e-07f, -2.516112387e-07f, -2.482485195e-07f, -2.448858728e-07f,
+-2.415233045e-07f, -2.381608205e-07f, -2.347984264e-07f, -2.314361283e-07f, -2.280739318e-07f, -2.247118428e-07f, -2.213498671e-07f, -2.179880106e-07f, -2.146262790e-07f, -2.112646782e-07f,
+-2.079032139e-07f, -2.045418921e-07f, -2.011807184e-07f, -1.978196988e-07f, -1.944588390e-07f, -1.910981448e-07f, -1.877376221e-07f, -1.843772766e-07f, -1.810171142e-07f, -1.776571406e-07f,
+-1.742973616e-07f, -1.709377832e-07f, -1.675784110e-07f, -1.642192508e-07f, -1.608603085e-07f, -1.575015899e-07f, -1.541431007e-07f, -1.507848467e-07f, -1.474268338e-07f, -1.440690677e-07f,
+-1.407115542e-07f, -1.373542992e-07f, -1.339973083e-07f, -1.306405874e-07f, -1.272841422e-07f, -1.239279786e-07f, -1.205721023e-07f, -1.172165192e-07f, -1.138612349e-07f, -1.105062553e-07f,
+-1.071515861e-07f, -1.037972332e-07f, -1.004432022e-07f, -9.708949899e-08f, -9.373612932e-08f, -9.038309896e-08f, -8.703041366e-08f, -8.367807921e-08f, -8.032610136e-08f, -7.697448587e-08f,
+-7.362323851e-08f, -7.027236504e-08f, -6.692187122e-08f, -6.357176281e-08f, -6.022204555e-08f, -5.687272522e-08f, -5.352380755e-08f, -5.017529830e-08f, -4.682720323e-08f, -4.347952807e-08f,
+-4.013227857e-08f, -3.678546049e-08f, -3.343907956e-08f, -3.009314153e-08f, -2.674765213e-08f, -2.340261710e-08f, -2.005804219e-08f, -1.671393312e-08f, -1.337029564e-08f, -1.002713546e-08f,
+-6.684458329e-09f, -3.342269966e-09f, -5.761004996e-13f, 3.340617543e-09f, 6.681305240e-09f, 1.002148127e-08f, 1.336113991e-08f, 1.670027545e-08f, 2.003888216e-08f, 2.337695434e-08f,
+2.671448627e-08f, 3.005147224e-08f, 3.338790654e-08f, 3.672378346e-08f, 4.005909730e-08f, 4.339384236e-08f, 4.672801292e-08f, 5.006160330e-08f, 5.339460779e-08f, 5.672702070e-08f,
+6.005883633e-08f, 6.339004899e-08f, 6.672065300e-08f, 7.005064265e-08f, 7.338001226e-08f, 7.670875616e-08f, 8.003686865e-08f, 8.336434405e-08f, 8.669117669e-08f, 9.001736089e-08f,
+9.334289098e-08f, 9.666776127e-08f, 9.999196611e-08f, 1.033154998e-07f, 1.066383567e-07f, 1.099605312e-07f, 1.132820175e-07f, 1.166028100e-07f, 1.199229031e-07f, 1.232422911e-07f,
+1.265609683e-07f, 1.298789291e-07f, 1.331961679e-07f, 1.365126789e-07f, 1.398284566e-07f, 1.431434953e-07f, 1.464577894e-07f, 1.497713332e-07f, 1.530841210e-07f, 1.563961473e-07f,
+1.597074064e-07f, 1.630178927e-07f, 1.663276005e-07f, 1.696365243e-07f, 1.729446583e-07f, 1.762519971e-07f, 1.795585348e-07f, 1.828642661e-07f, 1.861691851e-07f, 1.894732864e-07f,
+1.927765642e-07f, 1.960790130e-07f, 1.993806272e-07f, 2.026814012e-07f, 2.059813294e-07f, 2.092804061e-07f, 2.125786258e-07f, 2.158759829e-07f, 2.191724717e-07f, 2.224680868e-07f,
+2.257628225e-07f, 2.290566732e-07f, 2.323496333e-07f, 2.356416973e-07f, 2.389328595e-07f, 2.422231145e-07f, 2.455124566e-07f, 2.488008803e-07f, 2.520883799e-07f, 2.553749499e-07f,
+2.586605848e-07f, 2.619452791e-07f, 2.652290270e-07f, 2.685118231e-07f, 2.717936618e-07f, 2.750745376e-07f, 2.783544450e-07f, 2.816333783e-07f, 2.849113320e-07f, 2.881883006e-07f,
+2.914642786e-07f, 2.947392604e-07f, 2.980132405e-07f, 3.012862133e-07f, 3.045581733e-07f, 3.078291150e-07f, 3.110990329e-07f, 3.143679215e-07f, 3.176357751e-07f, 3.209025884e-07f,
+3.241683558e-07f, 3.274330717e-07f, 3.306967308e-07f, 3.339593274e-07f, 3.372208561e-07f, 3.404813113e-07f, 3.437406877e-07f, 3.469989796e-07f, 3.502561816e-07f, 3.535122882e-07f,
+3.567672939e-07f, 3.600211932e-07f, 3.632739807e-07f, 3.665256508e-07f, 3.697761982e-07f, 3.730256173e-07f, 3.762739026e-07f, 3.795210487e-07f, 3.827670501e-07f, 3.860119013e-07f,
+3.892555970e-07f, 3.924981316e-07f, 3.957394997e-07f, 3.989796959e-07f, 4.022187146e-07f, 4.054565505e-07f, 4.086931980e-07f, 4.119286519e-07f, 4.151629066e-07f, 4.183959566e-07f,
+4.216277967e-07f, 4.248584212e-07f, 4.280878249e-07f, 4.313160023e-07f, 4.345429480e-07f, 4.377686565e-07f, 4.409931225e-07f, 4.442163405e-07f, 4.474383051e-07f, 4.506590110e-07f,
+4.538784527e-07f, 4.570966248e-07f, 4.603135220e-07f, 4.635291388e-07f, 4.667434698e-07f, 4.699565098e-07f, 4.731682532e-07f, 4.763786947e-07f, 4.795878289e-07f, 4.827956506e-07f,
+4.860021542e-07f, 4.892073344e-07f, 4.924111858e-07f, 4.956137032e-07f, 4.988148811e-07f, 5.020147142e-07f, 5.052131971e-07f, 5.084103246e-07f, 5.116060911e-07f, 5.148004915e-07f,
+5.179935203e-07f, 5.211851722e-07f, 5.243754419e-07f, 5.275643241e-07f, 5.307518134e-07f, 5.339379045e-07f, 5.371225921e-07f, 5.403058709e-07f, 5.434877356e-07f, 5.466681808e-07f,
+5.498472012e-07f, 5.530247916e-07f, 5.562009467e-07f, 5.593756611e-07f, 5.625489295e-07f, 5.657207467e-07f, 5.688911074e-07f, 5.720600062e-07f, 5.752274380e-07f, 5.783933974e-07f,
+5.815578792e-07f, 5.847208781e-07f, 5.878823888e-07f, 5.910424060e-07f, 5.942009246e-07f, 5.973579392e-07f, 6.005134446e-07f, 6.036674355e-07f, 6.068199068e-07f, 6.099708531e-07f,
+6.131202691e-07f, 6.162681498e-07f, 6.194144898e-07f, 6.225592840e-07f, 6.257025270e-07f, 6.288442137e-07f, 6.319843388e-07f, 6.351228972e-07f, 6.382598836e-07f, 6.413952928e-07f,
+6.445291196e-07f, 6.476613588e-07f, 6.507920052e-07f, 6.539210537e-07f, 6.570484989e-07f, 6.601743358e-07f, 6.632985592e-07f, 6.664211638e-07f, 6.695421445e-07f, 6.726614962e-07f,
+6.757792136e-07f, 6.788952916e-07f, 6.820097250e-07f, 6.851225087e-07f, 6.882336375e-07f, 6.913431063e-07f, 6.944509099e-07f, 6.975570432e-07f, 7.006615010e-07f, 7.037642782e-07f,
+7.068653696e-07f, 7.099647702e-07f, 7.130624749e-07f, 7.161584784e-07f, 7.192527756e-07f, 7.223453616e-07f, 7.254362311e-07f, 7.285253790e-07f, 7.316128002e-07f, 7.346984898e-07f,
+7.377824424e-07f, 7.408646531e-07f, 7.439451168e-07f, 7.470238283e-07f, 7.501007827e-07f, 7.531759747e-07f, 7.562493995e-07f, 7.593210518e-07f, 7.623909266e-07f, 7.654590189e-07f,
+7.685253236e-07f, 7.715898356e-07f, 7.746525500e-07f, 7.777134616e-07f, 7.807725654e-07f, 7.838298564e-07f, 7.868853295e-07f, 7.899389797e-07f, 7.929908020e-07f, 7.960407914e-07f,
+7.990889429e-07f, 8.021352513e-07f, 8.051797118e-07f, 8.082223193e-07f, 8.112630688e-07f, 8.143019553e-07f, 8.173389739e-07f, 8.203741194e-07f, 8.234073871e-07f, 8.264387717e-07f,
+8.294682685e-07f, 8.324958724e-07f, 8.355215784e-07f, 8.385453816e-07f, 8.415672769e-07f, 8.445872596e-07f, 8.476053245e-07f, 8.506214668e-07f, 8.536356815e-07f, 8.566479637e-07f,
+8.596583084e-07f, 8.626667106e-07f, 8.656731656e-07f, 8.686776682e-07f, 8.716802137e-07f, 8.746807971e-07f, 8.776794135e-07f, 8.806760579e-07f, 8.836707255e-07f, 8.866634114e-07f,
+8.896541107e-07f, 8.926428184e-07f, 8.956295297e-07f, 8.986142398e-07f, 9.015969437e-07f, 9.045776365e-07f, 9.075563134e-07f, 9.105329696e-07f, 9.135076001e-07f, 9.164802001e-07f,
+9.194507647e-07f, 9.224192892e-07f, 9.253857685e-07f, 9.283501980e-07f, 9.313125728e-07f, 9.342728880e-07f, 9.372311388e-07f, 9.401873204e-07f, 9.431414280e-07f, 9.460934567e-07f,
+9.490434018e-07f, 9.519912584e-07f, 9.549370217e-07f, 9.578806870e-07f, 9.608222494e-07f, 9.637617041e-07f, 9.666990465e-07f, 9.696342716e-07f, 9.725673747e-07f, 9.754983510e-07f,
+9.784271959e-07f, 9.813539044e-07f, 9.842784719e-07f, 9.872008935e-07f, 9.901211647e-07f, 9.930392805e-07f, 9.959552363e-07f, 9.988690273e-07f, 1.001780649e-06f, 1.004690096e-06f,
+1.007597364e-06f, 1.010502449e-06f, 1.013405345e-06f, 1.016306048e-06f, 1.019204554e-06f, 1.022100857e-06f, 1.024994952e-06f, 1.027886836e-06f, 1.030776503e-06f, 1.033663949e-06f,
+1.036549169e-06f, 1.039432158e-06f, 1.042312912e-06f, 1.045191427e-06f, 1.048067696e-06f, 1.050941716e-06f, 1.053813483e-06f, 1.056682991e-06f, 1.059550235e-06f, 1.062415212e-06f,
+1.065277917e-06f, 1.068138344e-06f, 1.070996489e-06f, 1.073852349e-06f, 1.076705917e-06f, 1.079557190e-06f, 1.082406162e-06f, 1.085252830e-06f, 1.088097189e-06f, 1.090939233e-06f,
+1.093778959e-06f, 1.096616362e-06f, 1.099451438e-06f, 1.102284181e-06f, 1.105114587e-06f, 1.107942652e-06f, 1.110768371e-06f, 1.113591739e-06f, 1.116412753e-06f, 1.119231407e-06f,
+1.122047697e-06f, 1.124861618e-06f, 1.127673166e-06f, 1.130482336e-06f, 1.133289124e-06f, 1.136093526e-06f, 1.138895536e-06f, 1.141695150e-06f, 1.144492364e-06f, 1.147287174e-06f,
+1.150079574e-06f, 1.152869561e-06f, 1.155657129e-06f, 1.158442275e-06f, 1.161224994e-06f, 1.164005281e-06f, 1.166783132e-06f, 1.169558542e-06f, 1.172331508e-06f, 1.175102024e-06f,
+1.177870087e-06f, 1.180635691e-06f, 1.183398832e-06f, 1.186159506e-06f, 1.188917709e-06f, 1.191673436e-06f, 1.194426682e-06f, 1.197177444e-06f, 1.199925716e-06f, 1.202671495e-06f,
+1.205414776e-06f, 1.208155555e-06f, 1.210893827e-06f, 1.213629588e-06f, 1.216362833e-06f, 1.219093558e-06f, 1.221821760e-06f, 1.224547432e-06f, 1.227270572e-06f, 1.229991175e-06f,
+1.232709236e-06f, 1.235424751e-06f, 1.238137716e-06f, 1.240848126e-06f, 1.243555977e-06f, 1.246261265e-06f, 1.248963986e-06f, 1.251664135e-06f, 1.254361707e-06f, 1.257056699e-06f,
+1.259749107e-06f, 1.262438925e-06f, 1.265126151e-06f, 1.267810778e-06f, 1.270492804e-06f, 1.273172224e-06f, 1.275849034e-06f, 1.278523228e-06f, 1.281194804e-06f, 1.283863757e-06f,
+1.286530083e-06f, 1.289193777e-06f, 1.291854835e-06f, 1.294513254e-06f, 1.297169028e-06f, 1.299822153e-06f, 1.302472626e-06f, 1.305120442e-06f, 1.307765598e-06f, 1.310408088e-06f,
+1.313047908e-06f, 1.315685055e-06f, 1.318319524e-06f, 1.320951311e-06f, 1.323580412e-06f, 1.326206823e-06f, 1.328830540e-06f, 1.331451558e-06f, 1.334069873e-06f, 1.336685481e-06f,
+1.339298379e-06f, 1.341908561e-06f, 1.344516024e-06f, 1.347120764e-06f, 1.349722776e-06f, 1.352322057e-06f, 1.354918602e-06f, 1.357512407e-06f, 1.360103469e-06f, 1.362691782e-06f,
+1.365277344e-06f, 1.367860149e-06f, 1.370440195e-06f, 1.373017476e-06f, 1.375591989e-06f, 1.378163729e-06f, 1.380732694e-06f, 1.383298878e-06f, 1.385862277e-06f, 1.388422888e-06f,
+1.390980706e-06f, 1.393535728e-06f, 1.396087950e-06f, 1.398637367e-06f, 1.401183975e-06f, 1.403727771e-06f, 1.406268750e-06f, 1.408806909e-06f, 1.411342243e-06f, 1.413874749e-06f,
+1.416404422e-06f, 1.418931259e-06f, 1.421455256e-06f, 1.423976408e-06f, 1.426494713e-06f, 1.429010164e-06f, 1.431522760e-06f, 1.434032496e-06f, 1.436539368e-06f, 1.439043371e-06f,
+1.441544503e-06f, 1.444042760e-06f, 1.446538136e-06f, 1.449030629e-06f, 1.451520235e-06f, 1.454006949e-06f, 1.456490768e-06f, 1.458971688e-06f, 1.461449705e-06f, 1.463924816e-06f,
+1.466397015e-06f, 1.468866300e-06f, 1.471332667e-06f, 1.473796112e-06f, 1.476256630e-06f, 1.478714219e-06f, 1.481168874e-06f, 1.483620591e-06f, 1.486069367e-06f, 1.488515198e-06f,
+1.490958080e-06f, 1.493398010e-06f, 1.495834983e-06f, 1.498268995e-06f, 1.500700044e-06f, 1.503128124e-06f, 1.505553233e-06f, 1.507975367e-06f, 1.510394521e-06f, 1.512810693e-06f,
+1.515223877e-06f, 1.517634072e-06f, 1.520041272e-06f, 1.522445475e-06f, 1.524846676e-06f, 1.527244872e-06f, 1.529640059e-06f, 1.532032233e-06f, 1.534421390e-06f, 1.536807528e-06f,
+1.539190642e-06f, 1.541570728e-06f, 1.543947784e-06f, 1.546321804e-06f, 1.548692786e-06f, 1.551060726e-06f, 1.553425620e-06f, 1.555787465e-06f, 1.558146257e-06f, 1.560501992e-06f,
+1.562854667e-06f, 1.565204278e-06f, 1.567550821e-06f, 1.569894293e-06f, 1.572234691e-06f, 1.574572010e-06f, 1.576906247e-06f, 1.579237398e-06f, 1.581565461e-06f, 1.583890430e-06f,
+1.586212304e-06f, 1.588531077e-06f, 1.590846748e-06f, 1.593159311e-06f, 1.595468764e-06f, 1.597775102e-06f, 1.600078324e-06f, 1.602378424e-06f, 1.604675399e-06f, 1.606969247e-06f,
+1.609259962e-06f, 1.611547543e-06f, 1.613831985e-06f, 1.616113285e-06f, 1.618391439e-06f, 1.620666444e-06f, 1.622938297e-06f, 1.625206993e-06f, 1.627472530e-06f, 1.629734904e-06f,
+1.631994112e-06f, 1.634250149e-06f, 1.636503014e-06f, 1.638752702e-06f, 1.640999209e-06f, 1.643242533e-06f, 1.645482670e-06f, 1.647719617e-06f, 1.649953370e-06f, 1.652183926e-06f,
+1.654411281e-06f, 1.656635432e-06f, 1.658856376e-06f, 1.661074109e-06f, 1.663288628e-06f, 1.665499930e-06f, 1.667708010e-06f, 1.669912867e-06f, 1.672114496e-06f, 1.674312895e-06f,
+1.676508059e-06f, 1.678699986e-06f, 1.680888672e-06f, 1.683074114e-06f, 1.685256308e-06f, 1.687435252e-06f, 1.689610942e-06f, 1.691783374e-06f, 1.693952546e-06f, 1.696118455e-06f,
+1.698281096e-06f, 1.700440466e-06f, 1.702596564e-06f, 1.704749384e-06f, 1.706898924e-06f, 1.709045181e-06f, 1.711188151e-06f, 1.713327832e-06f, 1.715464219e-06f, 1.717597310e-06f,
+1.719727102e-06f, 1.721853591e-06f, 1.723976775e-06f, 1.726096649e-06f, 1.728213211e-06f, 1.730326458e-06f, 1.732436387e-06f, 1.734542993e-06f, 1.736646275e-06f, 1.738746229e-06f,
+1.740842851e-06f, 1.742936140e-06f, 1.745026091e-06f, 1.747112701e-06f, 1.749195968e-06f, 1.751275888e-06f, 1.753352458e-06f, 1.755425675e-06f, 1.757495537e-06f, 1.759562039e-06f,
+1.761625178e-06f, 1.763684953e-06f, 1.765741359e-06f, 1.767794394e-06f, 1.769844054e-06f, 1.771890336e-06f, 1.773933238e-06f, 1.775972757e-06f, 1.778008889e-06f, 1.780041631e-06f,
+1.782070980e-06f, 1.784096934e-06f, 1.786119489e-06f, 1.788138643e-06f, 1.790154391e-06f, 1.792166732e-06f, 1.794175663e-06f, 1.796181180e-06f, 1.798183280e-06f, 1.800181960e-06f,
+1.802177218e-06f, 1.804169051e-06f, 1.806157455e-06f, 1.808142428e-06f, 1.810123967e-06f, 1.812102068e-06f, 1.814076730e-06f, 1.816047948e-06f, 1.818015721e-06f, 1.819980045e-06f,
+1.821940917e-06f, 1.823898334e-06f, 1.825852294e-06f, 1.827802794e-06f, 1.829749830e-06f, 1.831693401e-06f, 1.833633502e-06f, 1.835570132e-06f, 1.837503288e-06f, 1.839432966e-06f,
+1.841359163e-06f, 1.843281878e-06f, 1.845201107e-06f, 1.847116847e-06f, 1.849029095e-06f, 1.850937850e-06f, 1.852843107e-06f, 1.854744865e-06f, 1.856643120e-06f, 1.858537869e-06f,
+1.860429111e-06f, 1.862316841e-06f, 1.864201058e-06f, 1.866081759e-06f, 1.867958941e-06f, 1.869832600e-06f, 1.871702735e-06f, 1.873569343e-06f, 1.875432421e-06f, 1.877291967e-06f,
+1.879147977e-06f, 1.881000448e-06f, 1.882849380e-06f, 1.884694767e-06f, 1.886536609e-06f, 1.888374902e-06f, 1.890209643e-06f, 1.892040831e-06f, 1.893868462e-06f, 1.895692533e-06f,
+1.897513043e-06f, 1.899329988e-06f, 1.901143366e-06f, 1.902953174e-06f, 1.904759409e-06f, 1.906562070e-06f, 1.908361153e-06f, 1.910156656e-06f, 1.911948576e-06f, 1.913736911e-06f,
+1.915521658e-06f, 1.917302814e-06f, 1.919080378e-06f, 1.920854346e-06f, 1.922624716e-06f, 1.924391485e-06f, 1.926154651e-06f, 1.927914212e-06f, 1.929670164e-06f, 1.931422506e-06f,
+1.933171235e-06f, 1.934916348e-06f, 1.936657843e-06f, 1.938395717e-06f, 1.940129968e-06f, 1.941860594e-06f, 1.943587592e-06f, 1.945310959e-06f, 1.947030694e-06f, 1.948746793e-06f,
+1.950459254e-06f, 1.952168076e-06f, 1.953873254e-06f, 1.955574788e-06f, 1.957272674e-06f, 1.958966911e-06f, 1.960657495e-06f, 1.962344425e-06f, 1.964027697e-06f, 1.965707311e-06f,
+1.967383263e-06f, 1.969055550e-06f, 1.970724172e-06f, 1.972389124e-06f, 1.974050406e-06f, 1.975708014e-06f, 1.977361947e-06f, 1.979012201e-06f, 1.980658775e-06f, 1.982301667e-06f,
+1.983940873e-06f, 1.985576393e-06f, 1.987208222e-06f, 1.988836361e-06f, 1.990460804e-06f, 1.992081552e-06f, 1.993698601e-06f, 1.995311950e-06f, 1.996921595e-06f, 1.998527535e-06f,
+2.000129767e-06f, 2.001728290e-06f, 2.003323100e-06f, 2.004914197e-06f, 2.006501577e-06f, 2.008085239e-06f, 2.009665180e-06f, 2.011241397e-06f, 2.012813890e-06f, 2.014382656e-06f,
+2.015947692e-06f, 2.017508996e-06f, 2.019066567e-06f, 2.020620402e-06f, 2.022170499e-06f, 2.023716856e-06f, 2.025259470e-06f, 2.026798341e-06f, 2.028333464e-06f, 2.029864839e-06f,
+2.031392464e-06f, 2.032916336e-06f, 2.034436452e-06f, 2.035952812e-06f, 2.037465414e-06f, 2.038974254e-06f, 2.040479331e-06f, 2.041980642e-06f, 2.043478187e-06f, 2.044971963e-06f,
+2.046461967e-06f, 2.047948198e-06f, 2.049430654e-06f, 2.050909332e-06f, 2.052384232e-06f, 2.053855350e-06f, 2.055322685e-06f, 2.056786235e-06f, 2.058245997e-06f, 2.059701971e-06f,
+2.061154153e-06f, 2.062602543e-06f, 2.064047137e-06f, 2.065487935e-06f, 2.066924934e-06f, 2.068358132e-06f, 2.069787527e-06f, 2.071213118e-06f, 2.072634903e-06f, 2.074052879e-06f,
+2.075467044e-06f, 2.076877398e-06f, 2.078283938e-06f, 2.079686662e-06f, 2.081085568e-06f, 2.082480654e-06f, 2.083871920e-06f, 2.085259361e-06f, 2.086642978e-06f, 2.088022768e-06f,
+2.089398729e-06f, 2.090770860e-06f, 2.092139159e-06f, 2.093503623e-06f, 2.094864251e-06f, 2.096221042e-06f, 2.097573993e-06f, 2.098923103e-06f, 2.100268370e-06f, 2.101609792e-06f,
+2.102947368e-06f, 2.104281095e-06f, 2.105610972e-06f, 2.106936998e-06f, 2.108259170e-06f, 2.109577488e-06f, 2.110891948e-06f, 2.112202550e-06f, 2.113509291e-06f, 2.114812171e-06f,
+2.116111187e-06f, 2.117406337e-06f, 2.118697621e-06f, 2.119985036e-06f, 2.121268581e-06f, 2.122548255e-06f, 2.123824054e-06f, 2.125095978e-06f, 2.126364026e-06f, 2.127628195e-06f,
+2.128888485e-06f, 2.130144892e-06f, 2.131397417e-06f, 2.132646056e-06f, 2.133890810e-06f, 2.135131675e-06f, 2.136368651e-06f, 2.137601736e-06f, 2.138830928e-06f, 2.140056226e-06f,
+2.141277628e-06f, 2.142495133e-06f, 2.143708740e-06f, 2.144918446e-06f, 2.146124250e-06f, 2.147326151e-06f, 2.148524147e-06f, 2.149718237e-06f, 2.150908420e-06f, 2.152094693e-06f,
+2.153277055e-06f, 2.154455505e-06f, 2.155630042e-06f, 2.156800663e-06f, 2.157967368e-06f, 2.159130155e-06f, 2.160289023e-06f, 2.161443970e-06f, 2.162594994e-06f, 2.163742096e-06f,
+2.164885272e-06f, 2.166024521e-06f, 2.167159843e-06f, 2.168291236e-06f, 2.169418699e-06f, 2.170542229e-06f, 2.171661826e-06f, 2.172777489e-06f, 2.173889215e-06f, 2.174997005e-06f,
+2.176100856e-06f, 2.177200767e-06f, 2.178296736e-06f, 2.179388763e-06f, 2.180476847e-06f, 2.181560985e-06f, 2.182641177e-06f, 2.183717421e-06f, 2.184789716e-06f, 2.185858061e-06f,
+2.186922455e-06f, 2.187982895e-06f, 2.189039382e-06f, 2.190091914e-06f, 2.191140489e-06f, 2.192185106e-06f, 2.193225765e-06f, 2.194262463e-06f, 2.195295201e-06f, 2.196323975e-06f,
+2.197348786e-06f, 2.198369633e-06f, 2.199386513e-06f, 2.200399426e-06f, 2.201408370e-06f, 2.202413346e-06f, 2.203414350e-06f, 2.204411383e-06f, 2.205404443e-06f, 2.206393529e-06f,
+2.207378639e-06f, 2.208359774e-06f, 2.209336931e-06f, 2.210310110e-06f, 2.211279309e-06f, 2.212244527e-06f, 2.213205764e-06f, 2.214163018e-06f, 2.215116288e-06f, 2.216065574e-06f,
+2.217010873e-06f, 2.217952186e-06f, 2.218889510e-06f, 2.219822846e-06f, 2.220752191e-06f, 2.221677546e-06f, 2.222598908e-06f, 2.223516278e-06f, 2.224429653e-06f, 2.225339033e-06f,
+2.226244418e-06f, 2.227145805e-06f, 2.228043195e-06f, 2.228936585e-06f, 2.229825976e-06f, 2.230711366e-06f, 2.231592755e-06f, 2.232470141e-06f, 2.233343523e-06f, 2.234212901e-06f,
+2.235078273e-06f, 2.235939640e-06f, 2.236796999e-06f, 2.237650350e-06f, 2.238499693e-06f, 2.239345025e-06f, 2.240186347e-06f, 2.241023658e-06f, 2.241856956e-06f, 2.242686241e-06f,
+2.243511512e-06f, 2.244332768e-06f, 2.245150009e-06f, 2.245963233e-06f, 2.246772440e-06f, 2.247577629e-06f, 2.248378800e-06f, 2.249175950e-06f, 2.249969080e-06f, 2.250758189e-06f,
+2.251543277e-06f, 2.252324341e-06f, 2.253101382e-06f, 2.253874399e-06f, 2.254643391e-06f, 2.255408357e-06f, 2.256169297e-06f, 2.256926211e-06f, 2.257679096e-06f, 2.258427953e-06f,
+2.259172780e-06f, 2.259913578e-06f, 2.260650346e-06f, 2.261383082e-06f, 2.262111786e-06f, 2.262836458e-06f, 2.263557097e-06f, 2.264273702e-06f, 2.264986272e-06f, 2.265694808e-06f,
+2.266399308e-06f, 2.267099772e-06f, 2.267796198e-06f, 2.268488588e-06f, 2.269176939e-06f, 2.269861252e-06f, 2.270541525e-06f, 2.271217759e-06f, 2.271889952e-06f, 2.272558104e-06f,
+2.273222215e-06f, 2.273882284e-06f, 2.274538310e-06f, 2.275190294e-06f, 2.275838234e-06f, 2.276482129e-06f, 2.277121980e-06f, 2.277757786e-06f, 2.278389547e-06f, 2.279017261e-06f,
+2.279640929e-06f, 2.280260549e-06f, 2.280876123e-06f, 2.281487648e-06f, 2.282095125e-06f, 2.282698553e-06f, 2.283297932e-06f, 2.283893261e-06f, 2.284484540e-06f, 2.285071769e-06f,
+2.285654946e-06f, 2.286234073e-06f, 2.286809147e-06f, 2.287380170e-06f, 2.287947140e-06f, 2.288510057e-06f, 2.289068921e-06f, 2.289623731e-06f, 2.290174487e-06f, 2.290721189e-06f,
+2.291263837e-06f, 2.291802429e-06f, 2.292336967e-06f, 2.292867448e-06f, 2.293393874e-06f, 2.293916244e-06f, 2.294434557e-06f, 2.294948814e-06f, 2.295459013e-06f, 2.295965155e-06f,
+2.296467240e-06f, 2.296965267e-06f, 2.297459235e-06f, 2.297949146e-06f, 2.298434997e-06f, 2.298916790e-06f, 2.299394524e-06f, 2.299868199e-06f, 2.300337815e-06f, 2.300803370e-06f,
+2.301264866e-06f, 2.301722302e-06f, 2.302175678e-06f, 2.302624993e-06f, 2.303070248e-06f, 2.303511442e-06f, 2.303948575e-06f, 2.304381648e-06f, 2.304810659e-06f, 2.305235609e-06f,
+2.305656497e-06f, 2.306073324e-06f, 2.306486090e-06f, 2.306894794e-06f, 2.307299436e-06f, 2.307700016e-06f, 2.308096534e-06f, 2.308488990e-06f, 2.308877384e-06f, 2.309261716e-06f,
+2.309641986e-06f, 2.310018193e-06f, 2.310390338e-06f, 2.310758421e-06f, 2.311122441e-06f, 2.311482400e-06f, 2.311838295e-06f, 2.312190129e-06f, 2.312537900e-06f, 2.312881608e-06f,
+2.313221254e-06f, 2.313556838e-06f, 2.313888360e-06f, 2.314215819e-06f, 2.314539217e-06f, 2.314858552e-06f, 2.315173825e-06f, 2.315485036e-06f, 2.315792185e-06f, 2.316095272e-06f,
+2.316394297e-06f, 2.316689261e-06f, 2.316980163e-06f, 2.317267004e-06f, 2.317549783e-06f, 2.317828501e-06f, 2.318103158e-06f, 2.318373754e-06f, 2.318640290e-06f, 2.318902764e-06f,
+2.319161178e-06f, 2.319415532e-06f, 2.319665826e-06f, 2.319912060e-06f, 2.320154233e-06f, 2.320392348e-06f, 2.320626403e-06f, 2.320856398e-06f, 2.321082335e-06f, 2.321304213e-06f,
+2.321522033e-06f, 2.321735794e-06f, 2.321945497e-06f, 2.322151142e-06f, 2.322352730e-06f, 2.322550261e-06f, 2.322743735e-06f, 2.322933152e-06f, 2.323118512e-06f, 2.323299816e-06f,
+2.323477065e-06f, 2.323650258e-06f, 2.323819396e-06f, 2.323984479e-06f, 2.324145507e-06f, 2.324302481e-06f, 2.324455401e-06f, 2.324604268e-06f, 2.324749081e-06f, 2.324889842e-06f,
+2.325026550e-06f, 2.325159206e-06f, 2.325287811e-06f, 2.325412364e-06f, 2.325532866e-06f, 2.325649318e-06f, 2.325761720e-06f, 2.325870072e-06f, 2.325974375e-06f, 2.326074628e-06f,
+2.326170834e-06f, 2.326262992e-06f, 2.326351102e-06f, 2.326435165e-06f, 2.326515182e-06f, 2.326591152e-06f, 2.326663077e-06f, 2.326730957e-06f, 2.326794792e-06f, 2.326854583e-06f,
+2.326910331e-06f, 2.326962035e-06f, 2.327009697e-06f, 2.327053317e-06f, 2.327092896e-06f, 2.327128433e-06f, 2.327159930e-06f, 2.327187387e-06f, 2.327210805e-06f, 2.327230185e-06f,
+2.327245526e-06f, 2.327256829e-06f, 2.327264096e-06f, 2.327267326e-06f, 2.327266521e-06f, 2.327261680e-06f, 2.327252805e-06f, 2.327239896e-06f, 2.327222954e-06f, 2.327201979e-06f,
+2.327176972e-06f, 2.327147934e-06f, 2.327114865e-06f, 2.327077767e-06f, 2.327036639e-06f, 2.326991482e-06f, 2.326942297e-06f, 2.326889086e-06f, 2.326831847e-06f, 2.326770583e-06f,
+2.326705294e-06f, 2.326635980e-06f, 2.326562643e-06f, 2.326485283e-06f, 2.326403900e-06f, 2.326318497e-06f, 2.326229072e-06f, 2.326135628e-06f, 2.326038164e-06f, 2.325936682e-06f,
+2.325831183e-06f, 2.325721667e-06f, 2.325608135e-06f, 2.325490587e-06f, 2.325369026e-06f, 2.325243450e-06f, 2.325113863e-06f, 2.324980263e-06f, 2.324842652e-06f, 2.324701031e-06f,
+2.324555401e-06f, 2.324405762e-06f, 2.324252115e-06f, 2.324094462e-06f, 2.323932803e-06f, 2.323767139e-06f, 2.323597471e-06f, 2.323423800e-06f, 2.323246127e-06f, 2.323064452e-06f,
+2.322878777e-06f, 2.322689102e-06f, 2.322495429e-06f, 2.322297758e-06f, 2.322096090e-06f, 2.321890427e-06f, 2.321680769e-06f, 2.321467117e-06f, 2.321249473e-06f, 2.321027836e-06f,
+2.320802209e-06f, 2.320572592e-06f, 2.320338986e-06f, 2.320101392e-06f, 2.319859812e-06f, 2.319614246e-06f, 2.319364695e-06f, 2.319111160e-06f, 2.318853643e-06f, 2.318592144e-06f,
+2.318326664e-06f, 2.318057205e-06f, 2.317783767e-06f, 2.317506353e-06f, 2.317224962e-06f, 2.316939595e-06f, 2.316650255e-06f, 2.316356942e-06f, 2.316059657e-06f, 2.315758401e-06f,
+2.315453175e-06f, 2.315143981e-06f, 2.314830820e-06f, 2.314513693e-06f, 2.314192600e-06f, 2.313867544e-06f, 2.313538525e-06f, 2.313205544e-06f, 2.312868603e-06f, 2.312527703e-06f,
+2.312182845e-06f, 2.311834030e-06f, 2.311481259e-06f, 2.311124534e-06f, 2.310763856e-06f, 2.310399226e-06f, 2.310030645e-06f, 2.309658115e-06f, 2.309281637e-06f, 2.308901212e-06f,
+2.308516841e-06f, 2.308128525e-06f, 2.307736267e-06f, 2.307340066e-06f, 2.306939925e-06f, 2.306535845e-06f, 2.306127826e-06f, 2.305715871e-06f, 2.305299981e-06f, 2.304880156e-06f,
+2.304456399e-06f, 2.304028710e-06f, 2.303597091e-06f, 2.303161544e-06f, 2.302722069e-06f, 2.302278668e-06f, 2.301831342e-06f, 2.301380094e-06f, 2.300924923e-06f, 2.300465832e-06f,
+2.300002821e-06f, 2.299535893e-06f, 2.299065049e-06f, 2.298590289e-06f, 2.298111617e-06f, 2.297629032e-06f, 2.297142536e-06f, 2.296652131e-06f, 2.296157819e-06f, 2.295659600e-06f,
+2.295157477e-06f, 2.294651450e-06f, 2.294141521e-06f, 2.293627691e-06f, 2.293109963e-06f, 2.292588337e-06f, 2.292062816e-06f, 2.291533400e-06f, 2.291000090e-06f, 2.290462890e-06f,
+2.289921799e-06f, 2.289376821e-06f, 2.288827955e-06f, 2.288275204e-06f, 2.287718569e-06f, 2.287158052e-06f, 2.286593655e-06f, 2.286025378e-06f, 2.285453224e-06f, 2.284877194e-06f,
+2.284297290e-06f, 2.283713512e-06f, 2.283125864e-06f, 2.282534347e-06f, 2.281938961e-06f, 2.281339709e-06f, 2.280736592e-06f, 2.280129613e-06f, 2.279518772e-06f, 2.278904071e-06f,
+2.278285512e-06f, 2.277663097e-06f, 2.277036827e-06f, 2.276406704e-06f, 2.275772730e-06f, 2.275134905e-06f, 2.274493233e-06f, 2.273847714e-06f, 2.273198351e-06f, 2.272545145e-06f,
+2.271888098e-06f, 2.271227211e-06f, 2.270562486e-06f, 2.269893926e-06f, 2.269221531e-06f, 2.268545304e-06f, 2.267865245e-06f, 2.267181358e-06f, 2.266493644e-06f, 2.265802104e-06f,
+2.265106741e-06f, 2.264407555e-06f, 2.263704550e-06f, 2.262997726e-06f, 2.262287086e-06f, 2.261572631e-06f, 2.260854363e-06f, 2.260132284e-06f, 2.259406396e-06f, 2.258676700e-06f,
+2.257943199e-06f, 2.257205895e-06f, 2.256464788e-06f, 2.255719882e-06f, 2.254971178e-06f, 2.254218677e-06f, 2.253462382e-06f, 2.252702294e-06f, 2.251938416e-06f, 2.251170750e-06f,
+2.250399297e-06f, 2.249624058e-06f, 2.248845037e-06f, 2.248062235e-06f, 2.247275654e-06f, 2.246485296e-06f, 2.245691163e-06f, 2.244893257e-06f, 2.244091579e-06f, 2.243286132e-06f,
+2.242476918e-06f, 2.241663938e-06f, 2.240847195e-06f, 2.240026691e-06f, 2.239202427e-06f, 2.238374406e-06f, 2.237542630e-06f, 2.236707100e-06f, 2.235867819e-06f, 2.235024789e-06f,
+2.234178011e-06f, 2.233327489e-06f, 2.232473223e-06f, 2.231615216e-06f, 2.230753470e-06f, 2.229887986e-06f, 2.229018768e-06f, 2.228145818e-06f, 2.227269136e-06f, 2.226388726e-06f,
+2.225504589e-06f, 2.224616727e-06f, 2.223725143e-06f, 2.222829839e-06f, 2.221930817e-06f, 2.221028079e-06f, 2.220121627e-06f, 2.219211463e-06f, 2.218297589e-06f, 2.217380008e-06f,
+2.216458722e-06f, 2.215533732e-06f, 2.214605042e-06f, 2.213672653e-06f, 2.212736567e-06f, 2.211796787e-06f, 2.210853314e-06f, 2.209906152e-06f, 2.208955301e-06f, 2.208000765e-06f,
+2.207042546e-06f, 2.206080645e-06f, 2.205115066e-06f, 2.204145809e-06f, 2.203172879e-06f, 2.202196276e-06f, 2.201216003e-06f, 2.200232062e-06f, 2.199244456e-06f, 2.198253186e-06f,
+2.197258256e-06f, 2.196259667e-06f, 2.195257422e-06f, 2.194251522e-06f, 2.193241971e-06f, 2.192228771e-06f, 2.191211923e-06f, 2.190191431e-06f, 2.189167296e-06f, 2.188139521e-06f,
+2.187108108e-06f, 2.186073060e-06f, 2.185034378e-06f, 2.183992066e-06f, 2.182946125e-06f, 2.181896559e-06f, 2.180843369e-06f, 2.179786557e-06f, 2.178726126e-06f, 2.177662079e-06f,
+2.176594418e-06f, 2.175523146e-06f, 2.174448263e-06f, 2.173369774e-06f, 2.172287681e-06f, 2.171201985e-06f, 2.170112690e-06f, 2.169019798e-06f, 2.167923311e-06f, 2.166823232e-06f,
+2.165719563e-06f, 2.164612306e-06f, 2.163501465e-06f, 2.162387041e-06f, 2.161269037e-06f, 2.160147456e-06f, 2.159022300e-06f, 2.157893571e-06f, 2.156761273e-06f, 2.155625407e-06f,
+2.154485976e-06f, 2.153342982e-06f, 2.152196429e-06f, 2.151046318e-06f, 2.149892653e-06f, 2.148735435e-06f, 2.147574667e-06f, 2.146410352e-06f, 2.145242493e-06f, 2.144071092e-06f,
+2.142896151e-06f, 2.141717673e-06f, 2.140535661e-06f, 2.139350117e-06f, 2.138161044e-06f, 2.136968444e-06f, 2.135772320e-06f, 2.134572676e-06f, 2.133369512e-06f, 2.132162832e-06f,
+2.130952639e-06f, 2.129738935e-06f, 2.128521723e-06f, 2.127301005e-06f, 2.126076785e-06f, 2.124849064e-06f, 2.123617846e-06f, 2.122383133e-06f, 2.121144927e-06f, 2.119903232e-06f,
+2.118658050e-06f, 2.117409384e-06f, 2.116157237e-06f, 2.114901611e-06f, 2.113642508e-06f, 2.112379933e-06f, 2.111113886e-06f, 2.109844372e-06f, 2.108571393e-06f, 2.107294951e-06f,
+2.106015050e-06f, 2.104731691e-06f, 2.103444879e-06f, 2.102154615e-06f, 2.100860902e-06f, 2.099563744e-06f, 2.098263142e-06f, 2.096959100e-06f, 2.095651621e-06f, 2.094340706e-06f,
+2.093026360e-06f, 2.091708585e-06f, 2.090387383e-06f, 2.089062758e-06f, 2.087734712e-06f, 2.086403248e-06f, 2.085068369e-06f, 2.083730078e-06f, 2.082388378e-06f, 2.081043271e-06f,
+2.079694760e-06f, 2.078342848e-06f, 2.076987539e-06f, 2.075628834e-06f, 2.074266738e-06f, 2.072901252e-06f, 2.071532379e-06f, 2.070160123e-06f, 2.068784486e-06f, 2.067405472e-06f,
+2.066023082e-06f, 2.064637321e-06f, 2.063248191e-06f, 2.061855694e-06f, 2.060459835e-06f, 2.059060615e-06f, 2.057658038e-06f, 2.056252107e-06f, 2.054842824e-06f, 2.053430193e-06f,
+2.052014216e-06f, 2.050594897e-06f, 2.049172238e-06f, 2.047746243e-06f, 2.046316914e-06f, 2.044884254e-06f, 2.043448267e-06f, 2.042008956e-06f, 2.040566322e-06f, 2.039120371e-06f,
+2.037671103e-06f, 2.036218523e-06f, 2.034762634e-06f, 2.033303438e-06f, 2.031840938e-06f, 2.030375139e-06f, 2.028906041e-06f, 2.027433650e-06f, 2.025957967e-06f, 2.024478996e-06f,
+2.022996740e-06f, 2.021511202e-06f, 2.020022385e-06f, 2.018530292e-06f, 2.017034926e-06f, 2.015536290e-06f, 2.014034388e-06f, 2.012529222e-06f, 2.011020796e-06f, 2.009509113e-06f,
+2.007994176e-06f, 2.006475987e-06f, 2.004954550e-06f, 2.003429869e-06f, 2.001901946e-06f, 2.000370785e-06f, 1.998836388e-06f, 1.997298759e-06f, 1.995757901e-06f, 1.994213818e-06f,
+1.992666511e-06f, 1.991115985e-06f, 1.989562243e-06f, 1.988005287e-06f, 1.986445122e-06f, 1.984881750e-06f, 1.983315174e-06f, 1.981745398e-06f, 1.980172425e-06f, 1.978596258e-06f,
+1.977016900e-06f, 1.975434354e-06f, 1.973848625e-06f, 1.972259714e-06f, 1.970667626e-06f, 1.969072363e-06f, 1.967473929e-06f, 1.965872327e-06f, 1.964267560e-06f, 1.962659632e-06f,
+1.961048546e-06f, 1.959434304e-06f, 1.957816911e-06f, 1.956196370e-06f, 1.954572684e-06f, 1.952945855e-06f, 1.951315889e-06f, 1.949682787e-06f, 1.948046553e-06f, 1.946407191e-06f,
+1.944764704e-06f, 1.943119094e-06f, 1.941470367e-06f, 1.939818524e-06f, 1.938163569e-06f, 1.936505505e-06f, 1.934844337e-06f, 1.933180066e-06f, 1.931512698e-06f, 1.929842234e-06f,
+1.928168678e-06f, 1.926492034e-06f, 1.924812305e-06f, 1.923129495e-06f, 1.921443606e-06f, 1.919754642e-06f, 1.918062608e-06f, 1.916367505e-06f, 1.914669337e-06f, 1.912968109e-06f,
+1.911263822e-06f, 1.909556482e-06f, 1.907846090e-06f, 1.906132651e-06f, 1.904416168e-06f, 1.902696645e-06f, 1.900974084e-06f, 1.899248490e-06f, 1.897519865e-06f, 1.895788214e-06f,
+1.894053539e-06f, 1.892315845e-06f, 1.890575134e-06f, 1.888831410e-06f, 1.887084677e-06f, 1.885334938e-06f, 1.883582197e-06f, 1.881826457e-06f, 1.880067721e-06f, 1.878305994e-06f,
+1.876541278e-06f, 1.874773577e-06f, 1.873002895e-06f, 1.871229236e-06f, 1.869452602e-06f, 1.867672997e-06f, 1.865890425e-06f, 1.864104889e-06f, 1.862316394e-06f, 1.860524942e-06f,
+1.858730536e-06f, 1.856933182e-06f, 1.855132881e-06f, 1.853329639e-06f, 1.851523457e-06f, 1.849714341e-06f, 1.847902293e-06f, 1.846087317e-06f, 1.844269417e-06f, 1.842448596e-06f,
+1.840624858e-06f, 1.838798206e-06f, 1.836968645e-06f, 1.835136177e-06f, 1.833300807e-06f, 1.831462537e-06f, 1.829621373e-06f, 1.827777316e-06f, 1.825930371e-06f, 1.824080542e-06f,
+1.822227832e-06f, 1.820372245e-06f, 1.818513784e-06f, 1.816652454e-06f, 1.814788257e-06f, 1.812921198e-06f, 1.811051280e-06f, 1.809178507e-06f, 1.807302882e-06f, 1.805424410e-06f,
+1.803543094e-06f, 1.801658937e-06f, 1.799771943e-06f, 1.797882117e-06f, 1.795989461e-06f, 1.794093980e-06f, 1.792195677e-06f, 1.790294556e-06f, 1.788390621e-06f, 1.786483875e-06f,
+1.784574322e-06f, 1.782661965e-06f, 1.780746810e-06f, 1.778828859e-06f, 1.776908116e-06f, 1.774984585e-06f, 1.773058269e-06f, 1.771129173e-06f, 1.769197300e-06f, 1.767262654e-06f,
+1.765325239e-06f, 1.763385058e-06f, 1.761442115e-06f, 1.759496415e-06f, 1.757547960e-06f, 1.755596756e-06f, 1.753642804e-06f, 1.751686110e-06f, 1.749726678e-06f, 1.747764510e-06f,
+1.745799610e-06f, 1.743831984e-06f, 1.741861634e-06f, 1.739888564e-06f, 1.737912778e-06f, 1.735934280e-06f, 1.733953074e-06f, 1.731969164e-06f, 1.729982553e-06f, 1.727993246e-06f,
+1.726001245e-06f, 1.724006556e-06f, 1.722009182e-06f, 1.720009126e-06f, 1.718006394e-06f, 1.716000988e-06f, 1.713992912e-06f, 1.711982171e-06f, 1.709968768e-06f, 1.707952707e-06f,
+1.705933993e-06f, 1.703912628e-06f, 1.701888617e-06f, 1.699861964e-06f, 1.697832673e-06f, 1.695800748e-06f, 1.693766192e-06f, 1.691729009e-06f, 1.689689205e-06f, 1.687646781e-06f,
+1.685601743e-06f, 1.683554094e-06f, 1.681503839e-06f, 1.679450980e-06f, 1.677395523e-06f, 1.675337471e-06f, 1.673276828e-06f, 1.671213598e-06f, 1.669147785e-06f, 1.667079394e-06f,
+1.665008427e-06f, 1.662934889e-06f, 1.660858784e-06f, 1.658780116e-06f, 1.656698890e-06f, 1.654615108e-06f, 1.652528775e-06f, 1.650439895e-06f, 1.648348472e-06f, 1.646254511e-06f,
+1.644158014e-06f, 1.642058986e-06f, 1.639957432e-06f, 1.637853354e-06f, 1.635746758e-06f, 1.633637647e-06f, 1.631526026e-06f, 1.629411897e-06f, 1.627295266e-06f, 1.625176137e-06f,
+1.623054513e-06f, 1.620930398e-06f, 1.618803797e-06f, 1.616674714e-06f, 1.614543153e-06f, 1.612409117e-06f, 1.610272611e-06f, 1.608133640e-06f, 1.605992206e-06f, 1.603848315e-06f,
+1.601701969e-06f, 1.599553175e-06f, 1.597401934e-06f, 1.595248253e-06f, 1.593092134e-06f, 1.590933582e-06f, 1.588772601e-06f, 1.586609194e-06f, 1.584443367e-06f, 1.582275124e-06f,
+1.580104468e-06f, 1.577931403e-06f, 1.575755934e-06f, 1.573578065e-06f, 1.571397800e-06f, 1.569215143e-06f, 1.567030099e-06f, 1.564842671e-06f, 1.562652863e-06f, 1.560460681e-06f,
+1.558266127e-06f, 1.556069206e-06f, 1.553869923e-06f, 1.551668281e-06f, 1.549464285e-06f, 1.547257939e-06f, 1.545049247e-06f, 1.542838213e-06f, 1.540624841e-06f, 1.538409136e-06f,
+1.536191102e-06f, 1.533970743e-06f, 1.531748063e-06f, 1.529523067e-06f, 1.527295758e-06f, 1.525066142e-06f, 1.522834221e-06f, 1.520600000e-06f, 1.518363485e-06f, 1.516124678e-06f,
+1.513883584e-06f, 1.511640207e-06f, 1.509394552e-06f, 1.507146622e-06f, 1.504896423e-06f, 1.502643958e-06f, 1.500389231e-06f, 1.498132248e-06f, 1.495873011e-06f, 1.493611525e-06f,
+1.491347795e-06f, 1.489081825e-06f, 1.486813619e-06f, 1.484543182e-06f, 1.482270517e-06f, 1.479995629e-06f, 1.477718522e-06f, 1.475439201e-06f, 1.473157670e-06f, 1.470873933e-06f,
+1.468587994e-06f, 1.466299858e-06f, 1.464009529e-06f, 1.461717012e-06f, 1.459422310e-06f, 1.457125428e-06f, 1.454826370e-06f, 1.452525141e-06f, 1.450221745e-06f, 1.447916187e-06f,
+1.445608469e-06f, 1.443298598e-06f, 1.440986577e-06f, 1.438672411e-06f, 1.436356104e-06f, 1.434037660e-06f, 1.431717084e-06f, 1.429394380e-06f, 1.427069552e-06f, 1.424742605e-06f,
+1.422413543e-06f, 1.420082370e-06f, 1.417749092e-06f, 1.415413711e-06f, 1.413076233e-06f, 1.410736662e-06f, 1.408395003e-06f, 1.406051259e-06f, 1.403705435e-06f, 1.401357536e-06f,
+1.399007566e-06f, 1.396655529e-06f, 1.394301429e-06f, 1.391945272e-06f, 1.389587061e-06f, 1.387226802e-06f, 1.384864497e-06f, 1.382500152e-06f, 1.380133772e-06f, 1.377765360e-06f,
+1.375394920e-06f, 1.373022459e-06f, 1.370647979e-06f, 1.368271485e-06f, 1.365892982e-06f, 1.363512475e-06f, 1.361129966e-06f, 1.358745462e-06f, 1.356358966e-06f, 1.353970483e-06f,
+1.351580018e-06f, 1.349187574e-06f, 1.346793157e-06f, 1.344396770e-06f, 1.341998418e-06f, 1.339598107e-06f, 1.337195839e-06f, 1.334791619e-06f, 1.332385453e-06f, 1.329977345e-06f,
+1.327567298e-06f, 1.325155318e-06f, 1.322741408e-06f, 1.320325575e-06f, 1.317907821e-06f, 1.315488151e-06f, 1.313066571e-06f, 1.310643083e-06f, 1.308217694e-06f, 1.305790407e-06f,
+1.303361227e-06f, 1.300930159e-06f, 1.298497206e-06f, 1.296062374e-06f, 1.293625667e-06f, 1.291187089e-06f, 1.288746645e-06f, 1.286304340e-06f, 1.283860177e-06f, 1.281414163e-06f,
+1.278966300e-06f, 1.276516594e-06f, 1.274065049e-06f, 1.271611670e-06f, 1.269156461e-06f, 1.266699426e-06f, 1.264240571e-06f, 1.261779900e-06f, 1.259317418e-06f, 1.256853128e-06f,
+1.254387036e-06f, 1.251919145e-06f, 1.249449462e-06f, 1.246977989e-06f, 1.244504733e-06f, 1.242029696e-06f, 1.239552885e-06f, 1.237074303e-06f, 1.234593955e-06f, 1.232111846e-06f,
+1.229627979e-06f, 1.227142361e-06f, 1.224654995e-06f, 1.222165885e-06f, 1.219675038e-06f, 1.217182456e-06f, 1.214688145e-06f, 1.212192110e-06f, 1.209694354e-06f, 1.207194882e-06f,
+1.204693700e-06f, 1.202190812e-06f, 1.199686221e-06f, 1.197179934e-06f, 1.194671954e-06f, 1.192162286e-06f, 1.189650935e-06f, 1.187137906e-06f, 1.184623202e-06f, 1.182106829e-06f,
+1.179588791e-06f, 1.177069093e-06f, 1.174547739e-06f, 1.172024735e-06f, 1.169500084e-06f, 1.166973791e-06f, 1.164445862e-06f, 1.161916300e-06f, 1.159385110e-06f, 1.156852298e-06f,
+1.154317866e-06f, 1.151781822e-06f, 1.149244168e-06f, 1.146704909e-06f, 1.144164051e-06f, 1.141621597e-06f, 1.139077553e-06f, 1.136531923e-06f, 1.133984712e-06f, 1.131435924e-06f,
+1.128885564e-06f, 1.126333637e-06f, 1.123780148e-06f, 1.121225101e-06f, 1.118668500e-06f, 1.116110351e-06f, 1.113550658e-06f, 1.110989426e-06f, 1.108426660e-06f, 1.105862363e-06f,
+1.103296542e-06f, 1.100729200e-06f, 1.098160342e-06f, 1.095589973e-06f, 1.093018098e-06f, 1.090444722e-06f, 1.087869848e-06f, 1.085293482e-06f, 1.082715628e-06f, 1.080136292e-06f,
+1.077555477e-06f, 1.074973189e-06f, 1.072389432e-06f, 1.069804212e-06f, 1.067217531e-06f, 1.064629397e-06f, 1.062039812e-06f, 1.059448782e-06f, 1.056856311e-06f, 1.054262405e-06f,
+1.051667068e-06f, 1.049070305e-06f, 1.046472120e-06f, 1.043872518e-06f, 1.041271504e-06f, 1.038669082e-06f, 1.036065258e-06f, 1.033460036e-06f, 1.030853421e-06f, 1.028245417e-06f,
+1.025636030e-06f, 1.023025264e-06f, 1.020413123e-06f, 1.017799613e-06f, 1.015184738e-06f, 1.012568504e-06f, 1.009950914e-06f, 1.007331973e-06f, 1.004711687e-06f, 1.002090060e-06f,
+9.994670961e-07f, 9.968428012e-07f, 9.942171795e-07f, 9.915902359e-07f, 9.889619752e-07f, 9.863324020e-07f, 9.837015211e-07f, 9.810693373e-07f, 9.784358555e-07f, 9.758010802e-07f,
+9.731650164e-07f, 9.705276688e-07f, 9.678890421e-07f, 9.652491412e-07f, 9.626079707e-07f, 9.599655356e-07f, 9.573218406e-07f, 9.546768904e-07f, 9.520306898e-07f, 9.493832437e-07f,
+9.467345567e-07f, 9.440846338e-07f, 9.414334797e-07f, 9.387810991e-07f, 9.361274969e-07f, 9.334726779e-07f, 9.308166468e-07f, 9.281594085e-07f, 9.255009677e-07f, 9.228413293e-07f,
+9.201804980e-07f, 9.175184786e-07f, 9.148552760e-07f, 9.121908950e-07f, 9.095253403e-07f, 9.068586168e-07f, 9.041907293e-07f, 9.015216825e-07f, 8.988514814e-07f, 8.961801306e-07f,
+8.935076351e-07f, 8.908339996e-07f, 8.881592289e-07f, 8.854833279e-07f, 8.828063014e-07f, 8.801281542e-07f, 8.774488911e-07f, 8.747685169e-07f, 8.720870365e-07f, 8.694044547e-07f,
+8.667207763e-07f, 8.640360062e-07f, 8.613501491e-07f, 8.586632099e-07f, 8.559751934e-07f, 8.532861045e-07f, 8.505959480e-07f, 8.479047287e-07f, 8.452124514e-07f, 8.425191211e-07f,
+8.398247424e-07f, 8.371293204e-07f, 8.344328597e-07f, 8.317353653e-07f, 8.290368419e-07f, 8.263372945e-07f, 8.236367278e-07f, 8.209351468e-07f, 8.182325562e-07f, 8.155289609e-07f,
+8.128243658e-07f, 8.101187756e-07f, 8.074121953e-07f, 8.047046297e-07f, 8.019960836e-07f, 7.992865619e-07f, 7.965760695e-07f, 7.938646112e-07f, 7.911521918e-07f, 7.884388162e-07f,
+7.857244893e-07f, 7.830092159e-07f, 7.802930009e-07f, 7.775758492e-07f, 7.748577655e-07f, 7.721387548e-07f, 7.694188220e-07f, 7.666979718e-07f, 7.639762092e-07f, 7.612535389e-07f,
+7.585299660e-07f, 7.558054952e-07f, 7.530801314e-07f, 7.503538795e-07f, 7.476267443e-07f, 7.448987308e-07f, 7.421698437e-07f, 7.394400880e-07f, 7.367094685e-07f, 7.339779902e-07f,
+7.312456578e-07f, 7.285124762e-07f, 7.257784503e-07f, 7.230435851e-07f, 7.203078853e-07f, 7.175713559e-07f, 7.148340017e-07f, 7.120958276e-07f, 7.093568384e-07f, 7.066170392e-07f,
+7.038764346e-07f, 7.011350297e-07f, 6.983928293e-07f, 6.956498383e-07f, 6.929060615e-07f, 6.901615039e-07f, 6.874161703e-07f, 6.846700657e-07f, 6.819231948e-07f, 6.791755626e-07f,
+6.764271740e-07f, 6.736780339e-07f, 6.709281471e-07f, 6.681775185e-07f, 6.654261531e-07f, 6.626740556e-07f, 6.599212311e-07f, 6.571676843e-07f, 6.544134203e-07f, 6.516584437e-07f,
+6.489027597e-07f, 6.461463730e-07f, 6.433892886e-07f, 6.406315113e-07f, 6.378730460e-07f, 6.351138976e-07f, 6.323540711e-07f, 6.295935713e-07f, 6.268324031e-07f, 6.240705714e-07f,
+6.213080811e-07f, 6.185449370e-07f, 6.157811442e-07f, 6.130167075e-07f, 6.102516317e-07f, 6.074859218e-07f, 6.047195828e-07f, 6.019526193e-07f, 5.991850365e-07f, 5.964168391e-07f,
+5.936480322e-07f, 5.908786204e-07f, 5.881086089e-07f, 5.853380025e-07f, 5.825668060e-07f, 5.797950244e-07f, 5.770226625e-07f, 5.742497254e-07f, 5.714762178e-07f, 5.687021447e-07f,
+5.659275110e-07f, 5.631523215e-07f, 5.603765813e-07f, 5.576002952e-07f, 5.548234680e-07f, 5.520461047e-07f, 5.492682103e-07f, 5.464897895e-07f, 5.437108473e-07f, 5.409313887e-07f,
+5.381514185e-07f, 5.353709415e-07f, 5.325899628e-07f, 5.298084873e-07f, 5.270265197e-07f, 5.242440651e-07f, 5.214611283e-07f, 5.186777143e-07f, 5.158938279e-07f, 5.131094741e-07f,
+5.103246577e-07f, 5.075393837e-07f, 5.047536569e-07f, 5.019674824e-07f, 4.991808649e-07f, 4.963938093e-07f, 4.936063207e-07f, 4.908184038e-07f, 4.880300637e-07f, 4.852413051e-07f,
+4.824521331e-07f, 4.796625525e-07f, 4.768725681e-07f, 4.740821850e-07f, 4.712914081e-07f, 4.685002421e-07f, 4.657086921e-07f, 4.629167629e-07f, 4.601244595e-07f, 4.573317867e-07f,
+4.545387495e-07f, 4.517453527e-07f, 4.489516013e-07f, 4.461575001e-07f, 4.433630541e-07f, 4.405682682e-07f, 4.377731472e-07f, 4.349776962e-07f, 4.321819199e-07f, 4.293858233e-07f,
+4.265894112e-07f, 4.237926887e-07f, 4.209956605e-07f, 4.181983317e-07f, 4.154007070e-07f, 4.126027914e-07f, 4.098045899e-07f, 4.070061072e-07f, 4.042073483e-07f, 4.014083181e-07f,
+3.986090215e-07f, 3.958094634e-07f, 3.930096487e-07f, 3.902095823e-07f, 3.874092691e-07f, 3.846087140e-07f, 3.818079219e-07f, 3.790068977e-07f, 3.762056463e-07f, 3.734041725e-07f,
+3.706024813e-07f, 3.678005777e-07f, 3.649984663e-07f, 3.621961523e-07f, 3.593936404e-07f, 3.565909356e-07f, 3.537880428e-07f, 3.509849668e-07f, 3.481817125e-07f, 3.453782849e-07f,
+3.425746888e-07f, 3.397709291e-07f, 3.369670107e-07f, 3.341629386e-07f, 3.313587175e-07f, 3.285543525e-07f, 3.257498483e-07f, 3.229452098e-07f, 3.201404421e-07f, 3.173355498e-07f,
+3.145305380e-07f, 3.117254116e-07f, 3.089201753e-07f, 3.061148341e-07f, 3.033093929e-07f, 3.005038566e-07f, 2.976982300e-07f, 2.948925180e-07f, 2.920867256e-07f, 2.892808575e-07f,
+2.864749187e-07f, 2.836689141e-07f, 2.808628485e-07f, 2.780567269e-07f, 2.752505540e-07f, 2.724443349e-07f, 2.696380743e-07f, 2.668317771e-07f, 2.640254482e-07f, 2.612190925e-07f,
+2.584127149e-07f, 2.556063202e-07f, 2.527999134e-07f, 2.499934992e-07f, 2.471870826e-07f, 2.443806684e-07f, 2.415742615e-07f, 2.387678668e-07f, 2.359614891e-07f, 2.331551333e-07f,
+2.303488043e-07f, 2.275425070e-07f, 2.247362461e-07f, 2.219300267e-07f, 2.191238535e-07f, 2.163177313e-07f, 2.135116652e-07f, 2.107056599e-07f, 2.078997203e-07f, 2.050938512e-07f,
+2.022880575e-07f, 1.994823441e-07f, 1.966767159e-07f, 1.938711776e-07f, 1.910657342e-07f, 1.882603904e-07f, 1.854551512e-07f, 1.826500215e-07f, 1.798450059e-07f, 1.770401095e-07f,
+1.742353370e-07f, 1.714306934e-07f, 1.686261834e-07f, 1.658218119e-07f, 1.630175838e-07f, 1.602135038e-07f, 1.574095769e-07f, 1.546058079e-07f, 1.518022016e-07f, 1.489987629e-07f,
+1.461954966e-07f, 1.433924075e-07f, 1.405895005e-07f, 1.377867805e-07f, 1.349842522e-07f, 1.321819205e-07f, 1.293797903e-07f, 1.265778663e-07f, 1.237761534e-07f, 1.209746564e-07f,
+1.181733802e-07f, 1.153723295e-07f, 1.125715093e-07f, 1.097709243e-07f, 1.069705794e-07f, 1.041704794e-07f, 1.013706290e-07f, 9.857103324e-08f, 9.577169680e-08f, 9.297262453e-08f,
+9.017382126e-08f, 8.737529179e-08f, 8.457704094e-08f, 8.177907353e-08f, 7.898139437e-08f, 7.618400828e-08f, 7.338692005e-08f, 7.059013451e-08f, 6.779365647e-08f, 6.499749071e-08f,
+6.220164207e-08f, 5.940611533e-08f, 5.661091530e-08f, 5.381604679e-08f, 5.102151458e-08f, 4.822732349e-08f, 4.543347832e-08f, 4.263998384e-08f, 3.984684487e-08f, 3.705406620e-08f,
+3.426165262e-08f, 3.146960891e-08f, 2.867793987e-08f, 2.588665029e-08f, 2.309574496e-08f, 2.030522865e-08f, 1.751510616e-08f, 1.472538226e-08f, 1.193606174e-08f, 9.147149383e-09f,
+6.358649958e-09f, 3.570568245e-09f, 7.829090213e-10f, -2.004322941e-09f, -4.791122868e-09f, -7.577485990e-09f, -1.036340754e-08f, -1.314888274e-08f, -1.593390683e-08f, -1.871847505e-08f,
+-2.150258263e-08f, -2.428622481e-08f, -2.706939683e-08f, -2.985209393e-08f, -3.263431135e-08f, -3.541604434e-08f, -3.819728815e-08f, -4.097803801e-08f, -4.375828918e-08f, -4.653803692e-08f,
+-4.931727647e-08f, -5.209600308e-08f, -5.487421201e-08f, -5.765189853e-08f, -6.042905788e-08f, -6.320568533e-08f, -6.598177613e-08f, -6.875732556e-08f, -7.153232889e-08f, -7.430678136e-08f,
+-7.708067826e-08f, -7.985401486e-08f, -8.262678642e-08f, -8.539898822e-08f, -8.817061554e-08f, -9.094166365e-08f, -9.371212784e-08f, -9.648200337e-08f, -9.925128555e-08f, -1.020199696e-07f,
+-1.047880509e-07f, -1.075555247e-07f, -1.103223863e-07f, -1.130886309e-07f, -1.158542540e-07f, -1.186192506e-07f, -1.213836163e-07f, -1.241473462e-07f, -1.269104356e-07f, -1.296728799e-07f,
+-1.324346744e-07f, -1.351958143e-07f, -1.379562951e-07f, -1.407161119e-07f, -1.434752601e-07f, -1.462337350e-07f, -1.489915319e-07f, -1.517486462e-07f, -1.545050732e-07f, -1.572608081e-07f,
+-1.600158464e-07f, -1.627701832e-07f, -1.655238141e-07f, -1.682767342e-07f, -1.710289389e-07f, -1.737804236e-07f, -1.765311836e-07f, -1.792812142e-07f, -1.820305108e-07f, -1.847790686e-07f,
+-1.875268831e-07f, -1.902739496e-07f, -1.930202634e-07f, -1.957658200e-07f, -1.985106145e-07f, -2.012546424e-07f, -2.039978991e-07f, -2.067403799e-07f, -2.094820801e-07f, -2.122229951e-07f,
+-2.149631203e-07f, -2.177024511e-07f, -2.204409828e-07f, -2.231787108e-07f, -2.259156304e-07f, -2.286517370e-07f, -2.313870261e-07f, -2.341214929e-07f, -2.368551329e-07f, -2.395879414e-07f,
+-2.423199138e-07f, -2.450510456e-07f, -2.477813321e-07f, -2.505107686e-07f, -2.532393507e-07f, -2.559670736e-07f, -2.586939328e-07f, -2.614199236e-07f, -2.641450416e-07f, -2.668692820e-07f,
+-2.695926403e-07f, -2.723151119e-07f, -2.750366923e-07f, -2.777573767e-07f, -2.804771607e-07f, -2.831960396e-07f, -2.859140089e-07f, -2.886310640e-07f, -2.913472003e-07f, -2.940624133e-07f,
+-2.967766983e-07f, -2.994900508e-07f, -3.022024663e-07f, -3.049139401e-07f, -3.076244678e-07f, -3.103340447e-07f, -3.130426663e-07f, -3.157503280e-07f, -3.184570253e-07f, -3.211627537e-07f,
+-3.238675086e-07f, -3.265712854e-07f, -3.292740796e-07f, -3.319758866e-07f, -3.346767020e-07f, -3.373765212e-07f, -3.400753396e-07f, -3.427731528e-07f, -3.454699562e-07f, -3.481657452e-07f,
+-3.508605153e-07f, -3.535542621e-07f, -3.562469810e-07f, -3.589386675e-07f, -3.616293171e-07f, -3.643189252e-07f, -3.670074874e-07f, -3.696949992e-07f, -3.723814560e-07f, -3.750668533e-07f,
+-3.777511867e-07f, -3.804344517e-07f, -3.831166437e-07f, -3.857977582e-07f, -3.884777909e-07f, -3.911567371e-07f, -3.938345925e-07f, -3.965113525e-07f, -3.991870126e-07f, -4.018615685e-07f,
+-4.045350155e-07f, -4.072073493e-07f, -4.098785653e-07f, -4.125486592e-07f, -4.152176263e-07f, -4.178854624e-07f, -4.205521629e-07f, -4.232177233e-07f, -4.258821393e-07f, -4.285454064e-07f,
+-4.312075201e-07f, -4.338684759e-07f, -4.365282695e-07f, -4.391868964e-07f, -4.418443522e-07f, -4.445006324e-07f, -4.471557326e-07f, -4.498096483e-07f, -4.524623753e-07f, -4.551139089e-07f,
+-4.577642449e-07f, -4.604133788e-07f, -4.630613061e-07f, -4.657080225e-07f, -4.683535236e-07f, -4.709978050e-07f, -4.736408622e-07f, -4.762826908e-07f, -4.789232865e-07f, -4.815626449e-07f,
+-4.842007615e-07f, -4.868376321e-07f, -4.894732521e-07f, -4.921076173e-07f, -4.947407232e-07f, -4.973725654e-07f, -5.000031397e-07f, -5.026324415e-07f, -5.052604666e-07f, -5.078872106e-07f,
+-5.105126691e-07f, -5.131368378e-07f, -5.157597123e-07f, -5.183812882e-07f, -5.210015613e-07f, -5.236205270e-07f, -5.262381812e-07f, -5.288545195e-07f, -5.314695375e-07f, -5.340832309e-07f,
+-5.366955953e-07f, -5.393066264e-07f, -5.419163200e-07f, -5.445246716e-07f, -5.471316770e-07f, -5.497373319e-07f, -5.523416318e-07f, -5.549445726e-07f, -5.575461499e-07f, -5.601463593e-07f,
+-5.627451967e-07f, -5.653426576e-07f, -5.679387379e-07f, -5.705334331e-07f, -5.731267391e-07f, -5.757186514e-07f, -5.783091659e-07f, -5.808982783e-07f, -5.834859843e-07f, -5.860722795e-07f,
+-5.886571598e-07f, -5.912406209e-07f, -5.938226584e-07f, -5.964032682e-07f, -5.989824460e-07f, -6.015601874e-07f, -6.041364884e-07f, -6.067113445e-07f, -6.092847516e-07f, -6.118567055e-07f,
+-6.144272018e-07f, -6.169962364e-07f, -6.195638049e-07f, -6.221299033e-07f, -6.246945272e-07f, -6.272576724e-07f, -6.298193348e-07f, -6.323795100e-07f, -6.349381939e-07f, -6.374953823e-07f,
+-6.400510709e-07f, -6.426052555e-07f, -6.451579320e-07f, -6.477090962e-07f, -6.502587438e-07f, -6.528068707e-07f, -6.553534726e-07f, -6.578985454e-07f, -6.604420849e-07f, -6.629840869e-07f,
+-6.655245473e-07f, -6.680634619e-07f, -6.706008264e-07f, -6.731366368e-07f, -6.756708889e-07f, -6.782035785e-07f, -6.807347014e-07f, -6.832642536e-07f, -6.857922308e-07f, -6.883186290e-07f,
+-6.908434439e-07f, -6.933666714e-07f, -6.958883075e-07f, -6.984083479e-07f, -7.009267886e-07f, -7.034436253e-07f, -7.059588541e-07f, -7.084724707e-07f, -7.109844711e-07f, -7.134948511e-07f,
+-7.160036067e-07f, -7.185107337e-07f, -7.210162281e-07f, -7.235200857e-07f, -7.260223024e-07f, -7.285228742e-07f, -7.310217969e-07f, -7.335190665e-07f, -7.360146789e-07f, -7.385086301e-07f,
+-7.410009159e-07f, -7.434915323e-07f, -7.459804751e-07f, -7.484677405e-07f, -7.509533242e-07f, -7.534372223e-07f, -7.559194306e-07f, -7.583999452e-07f, -7.608787620e-07f, -7.633558770e-07f,
+-7.658312860e-07f, -7.683049852e-07f, -7.707769703e-07f, -7.732472375e-07f, -7.757157828e-07f, -7.781826019e-07f, -7.806476911e-07f, -7.831110462e-07f, -7.855726632e-07f, -7.880325382e-07f,
+-7.904906671e-07f, -7.929470460e-07f, -7.954016708e-07f, -7.978545375e-07f, -8.003056422e-07f, -8.027549809e-07f, -8.052025497e-07f, -8.076483444e-07f, -8.100923612e-07f, -8.125345961e-07f,
+-8.149750451e-07f, -8.174137042e-07f, -8.198505696e-07f, -8.222856372e-07f, -8.247189031e-07f, -8.271503634e-07f, -8.295800141e-07f, -8.320078513e-07f, -8.344338710e-07f, -8.368580693e-07f,
+-8.392804423e-07f, -8.417009860e-07f, -8.441196966e-07f, -8.465365701e-07f, -8.489516026e-07f, -8.513647903e-07f, -8.537761291e-07f, -8.561856152e-07f, -8.585932447e-07f, -8.609990138e-07f,
+-8.634029184e-07f, -8.658049548e-07f, -8.682051190e-07f, -8.706034072e-07f, -8.729998155e-07f, -8.753943400e-07f, -8.777869769e-07f, -8.801777223e-07f, -8.825665724e-07f, -8.849535232e-07f,
+-8.873385709e-07f, -8.897217118e-07f, -8.921029419e-07f, -8.944822574e-07f, -8.968596545e-07f, -8.992351293e-07f, -9.016086781e-07f, -9.039802969e-07f, -9.063499820e-07f, -9.087177296e-07f,
+-9.110835358e-07f, -9.134473969e-07f, -9.158093090e-07f, -9.181692683e-07f, -9.205272711e-07f, -9.228833136e-07f, -9.252373919e-07f, -9.275895022e-07f, -9.299396409e-07f, -9.322878041e-07f,
+-9.346339881e-07f, -9.369781890e-07f, -9.393204032e-07f, -9.416606268e-07f, -9.439988562e-07f, -9.463350875e-07f, -9.486693170e-07f, -9.510015409e-07f, -9.533317557e-07f, -9.556599573e-07f,
+-9.579861423e-07f, -9.603103068e-07f, -9.626324471e-07f, -9.649525595e-07f, -9.672706403e-07f, -9.695866858e-07f, -9.719006922e-07f, -9.742126558e-07f, -9.765225731e-07f, -9.788304402e-07f,
+-9.811362535e-07f, -9.834400093e-07f, -9.857417039e-07f, -9.880413336e-07f, -9.903388948e-07f, -9.926343837e-07f, -9.949277968e-07f, -9.972191304e-07f, -9.995083808e-07f, -1.001795544e-06f,
+-1.004080617e-06f, -1.006363596e-06f, -1.008644477e-06f, -1.010923257e-06f, -1.013199932e-06f, -1.015474498e-06f, -1.017746952e-06f, -1.020017289e-06f, -1.022285508e-06f, -1.024551603e-06f,
+-1.026815571e-06f, -1.029077409e-06f, -1.031337113e-06f, -1.033594680e-06f, -1.035850105e-06f, -1.038103386e-06f, -1.040354519e-06f, -1.042603499e-06f, -1.044850324e-06f, -1.047094991e-06f,
+-1.049337494e-06f, -1.051577832e-06f, -1.053815999e-06f, -1.056051994e-06f, -1.058285812e-06f, -1.060517449e-06f, -1.062746903e-06f, -1.064974169e-06f, -1.067199244e-06f, -1.069422125e-06f,
+-1.071642808e-06f, -1.073861290e-06f, -1.076077566e-06f, -1.078291634e-06f, -1.080503490e-06f, -1.082713130e-06f, -1.084920552e-06f, -1.087125751e-06f, -1.089328724e-06f, -1.091529467e-06f,
+-1.093727978e-06f, -1.095924252e-06f, -1.098118287e-06f, -1.100310078e-06f, -1.102499622e-06f, -1.104686916e-06f, -1.106871956e-06f, -1.109054740e-06f, -1.111235262e-06f, -1.113413521e-06f,
+-1.115589512e-06f, -1.117763233e-06f, -1.119934679e-06f, -1.122103847e-06f, -1.124270734e-06f, -1.126435337e-06f, -1.128597652e-06f, -1.130757675e-06f, -1.132915404e-06f, -1.135070835e-06f,
+-1.137223964e-06f, -1.139374788e-06f, -1.141523304e-06f, -1.143669508e-06f, -1.145813398e-06f, -1.147954969e-06f, -1.150094218e-06f, -1.152231142e-06f, -1.154365738e-06f, -1.156498002e-06f,
+-1.158627930e-06f, -1.160755521e-06f, -1.162880769e-06f, -1.165003673e-06f, -1.167124228e-06f, -1.169242431e-06f, -1.171358279e-06f, -1.173471769e-06f, -1.175582897e-06f, -1.177691660e-06f,
+-1.179798055e-06f, -1.181902078e-06f, -1.184003726e-06f, -1.186102996e-06f, -1.188199885e-06f, -1.190294389e-06f, -1.192386505e-06f, -1.194476230e-06f, -1.196563561e-06f, -1.198648493e-06f,
+-1.200731025e-06f, -1.202811153e-06f, -1.204888873e-06f, -1.206964182e-06f, -1.209037077e-06f, -1.211107556e-06f, -1.213175613e-06f, -1.215241248e-06f, -1.217304455e-06f, -1.219365233e-06f,
+-1.221423577e-06f, -1.223479485e-06f, -1.225532953e-06f, -1.227583978e-06f, -1.229632558e-06f, -1.231678688e-06f, -1.233722366e-06f, -1.235763589e-06f, -1.237802352e-06f, -1.239838655e-06f,
+-1.241872492e-06f, -1.243903860e-06f, -1.245932758e-06f, -1.247959181e-06f, -1.249983127e-06f, -1.252004592e-06f, -1.254023573e-06f, -1.256040068e-06f, -1.258054072e-06f, -1.260065583e-06f,
+-1.262074598e-06f, -1.264081114e-06f, -1.266085127e-06f, -1.268086634e-06f, -1.270085633e-06f, -1.272082121e-06f, -1.274076093e-06f, -1.276067548e-06f, -1.278056481e-06f, -1.280042891e-06f,
+-1.282026773e-06f, -1.284008126e-06f, -1.285986945e-06f, -1.287963228e-06f, -1.289936972e-06f, -1.291908174e-06f, -1.293876830e-06f, -1.295842938e-06f, -1.297806495e-06f, -1.299767497e-06f,
+-1.301725942e-06f, -1.303681827e-06f, -1.305635148e-06f, -1.307585903e-06f, -1.309534088e-06f, -1.311479702e-06f, -1.313422739e-06f, -1.315363199e-06f, -1.317301077e-06f, -1.319236371e-06f,
+-1.321169078e-06f, -1.323099195e-06f, -1.325026719e-06f, -1.326951646e-06f, -1.328873975e-06f, -1.330793702e-06f, -1.332710823e-06f, -1.334625338e-06f, -1.336537241e-06f, -1.338446531e-06f,
+-1.340353204e-06f, -1.342257258e-06f, -1.344158690e-06f, -1.346057496e-06f, -1.347953674e-06f, -1.349847221e-06f, -1.351738135e-06f, -1.353626411e-06f, -1.355512048e-06f, -1.357395043e-06f,
+-1.359275392e-06f, -1.361153093e-06f, -1.363028143e-06f, -1.364900539e-06f, -1.366770279e-06f, -1.368637358e-06f, -1.370501776e-06f, -1.372363528e-06f, -1.374222612e-06f, -1.376079025e-06f,
+-1.377932765e-06f, -1.379783828e-06f, -1.381632212e-06f, -1.383477914e-06f, -1.385320931e-06f, -1.387161260e-06f, -1.388998899e-06f, -1.390833845e-06f, -1.392666094e-06f, -1.394495645e-06f,
+-1.396322495e-06f, -1.398146640e-06f, -1.399968079e-06f, -1.401786807e-06f, -1.403602823e-06f, -1.405416124e-06f, -1.407226707e-06f, -1.409034570e-06f, -1.410839709e-06f, -1.412642122e-06f,
+-1.414441806e-06f, -1.416238759e-06f, -1.418032977e-06f, -1.419824459e-06f, -1.421613201e-06f, -1.423399201e-06f, -1.425182455e-06f, -1.426962963e-06f, -1.428740720e-06f, -1.430515724e-06f,
+-1.432287973e-06f, -1.434057463e-06f, -1.435824192e-06f, -1.437588158e-06f, -1.439349358e-06f, -1.441107789e-06f, -1.442863449e-06f, -1.444616335e-06f, -1.446366444e-06f, -1.448113774e-06f,
+-1.449858322e-06f, -1.451600085e-06f, -1.453339062e-06f, -1.455075248e-06f, -1.456808643e-06f, -1.458539243e-06f, -1.460267046e-06f, -1.461992048e-06f, -1.463714249e-06f, -1.465433644e-06f,
+-1.467150231e-06f, -1.468864009e-06f, -1.470574973e-06f, -1.472283123e-06f, -1.473988455e-06f, -1.475690966e-06f, -1.477390655e-06f, -1.479087519e-06f, -1.480781555e-06f, -1.482472760e-06f,
+-1.484161133e-06f, -1.485846670e-06f, -1.487529370e-06f, -1.489209229e-06f, -1.490886245e-06f, -1.492560417e-06f, -1.494231740e-06f, -1.495900214e-06f, -1.497565835e-06f, -1.499228601e-06f,
+-1.500888509e-06f, -1.502545558e-06f, -1.504199744e-06f, -1.505851065e-06f, -1.507499520e-06f, -1.509145104e-06f, -1.510787817e-06f, -1.512427655e-06f, -1.514064616e-06f, -1.515698698e-06f,
+-1.517329898e-06f, -1.518958214e-06f, -1.520583644e-06f, -1.522206186e-06f, -1.523825835e-06f, -1.525442592e-06f, -1.527056453e-06f, -1.528667415e-06f, -1.530275477e-06f, -1.531880636e-06f,
+-1.533482889e-06f, -1.535082235e-06f, -1.536678672e-06f, -1.538272196e-06f, -1.539862805e-06f, -1.541450498e-06f, -1.543035271e-06f, -1.544617123e-06f, -1.546196051e-06f, -1.547772053e-06f,
+-1.549345127e-06f, -1.550915270e-06f, -1.552482481e-06f, -1.554046756e-06f, -1.555608094e-06f, -1.557166492e-06f, -1.558721948e-06f, -1.560274460e-06f, -1.561824026e-06f, -1.563370643e-06f,
+-1.564914309e-06f, -1.566455023e-06f, -1.567992781e-06f, -1.569527581e-06f, -1.571059422e-06f, -1.572588300e-06f, -1.574114215e-06f, -1.575637164e-06f, -1.577157143e-06f, -1.578674153e-06f,
+-1.580188189e-06f, -1.581699251e-06f, -1.583207335e-06f, -1.584712440e-06f, -1.586214563e-06f, -1.587713703e-06f, -1.589209857e-06f, -1.590703024e-06f, -1.592193200e-06f, -1.593680384e-06f,
+-1.595164574e-06f, -1.596645767e-06f, -1.598123962e-06f, -1.599599156e-06f, -1.601071348e-06f, -1.602540535e-06f, -1.604006715e-06f, -1.605469886e-06f, -1.606930046e-06f, -1.608387193e-06f,
+-1.609841325e-06f, -1.611292440e-06f, -1.612740535e-06f, -1.614185610e-06f, -1.615627660e-06f, -1.617066686e-06f, -1.618502684e-06f, -1.619935653e-06f, -1.621365590e-06f, -1.622792494e-06f,
+-1.624216362e-06f, -1.625637193e-06f, -1.627054984e-06f, -1.628469734e-06f, -1.629881440e-06f, -1.631290102e-06f, -1.632695715e-06f, -1.634098280e-06f, -1.635497793e-06f, -1.636894252e-06f,
+-1.638287657e-06f, -1.639678004e-06f, -1.641065292e-06f, -1.642449520e-06f, -1.643830684e-06f, -1.645208783e-06f, -1.646583816e-06f, -1.647955780e-06f, -1.649324673e-06f, -1.650690493e-06f,
+-1.652053240e-06f, -1.653412909e-06f, -1.654769501e-06f, -1.656123013e-06f, -1.657473442e-06f, -1.658820788e-06f, -1.660165048e-06f, -1.661506221e-06f, -1.662844304e-06f, -1.664179296e-06f,
+-1.665511195e-06f, -1.666839999e-06f, -1.668165707e-06f, -1.669488315e-06f, -1.670807824e-06f, -1.672124230e-06f, -1.673437532e-06f, -1.674747729e-06f, -1.676054818e-06f, -1.677358798e-06f,
+-1.678659666e-06f, -1.679957421e-06f, -1.681252062e-06f, -1.682543587e-06f, -1.683831993e-06f, -1.685117279e-06f, -1.686399444e-06f, -1.687678485e-06f, -1.688954401e-06f, -1.690227190e-06f,
+-1.691496850e-06f, -1.692763380e-06f, -1.694026778e-06f, -1.695287042e-06f, -1.696544171e-06f, -1.697798162e-06f, -1.699049015e-06f, -1.700296727e-06f, -1.701541296e-06f, -1.702782722e-06f,
+-1.704021003e-06f, -1.705256136e-06f, -1.706488120e-06f, -1.707716953e-06f, -1.708942635e-06f, -1.710165162e-06f, -1.711384535e-06f, -1.712600750e-06f, -1.713813806e-06f, -1.715023702e-06f,
+-1.716230436e-06f, -1.717434007e-06f, -1.718634412e-06f, -1.719831651e-06f, -1.721025721e-06f, -1.722216622e-06f, -1.723404350e-06f, -1.724588906e-06f, -1.725770288e-06f, -1.726948493e-06f,
+-1.728123520e-06f, -1.729295368e-06f, -1.730464036e-06f, -1.731629521e-06f, -1.732791822e-06f, -1.733950937e-06f, -1.735106866e-06f, -1.736259607e-06f, -1.737409157e-06f, -1.738555516e-06f,
+-1.739698682e-06f, -1.740838653e-06f, -1.741975429e-06f, -1.743109007e-06f, -1.744239387e-06f, -1.745366566e-06f, -1.746490543e-06f, -1.747611317e-06f, -1.748728887e-06f, -1.749843250e-06f,
+-1.750954406e-06f, -1.752062352e-06f, -1.753167089e-06f, -1.754268613e-06f, -1.755366924e-06f, -1.756462021e-06f, -1.757553901e-06f, -1.758642564e-06f, -1.759728008e-06f, -1.760810232e-06f,
+-1.761889234e-06f, -1.762965014e-06f, -1.764037569e-06f, -1.765106898e-06f, -1.766173000e-06f, -1.767235874e-06f, -1.768295517e-06f, -1.769351930e-06f, -1.770405110e-06f, -1.771455057e-06f,
+-1.772501768e-06f, -1.773545244e-06f, -1.774585481e-06f, -1.775622479e-06f, -1.776656237e-06f, -1.777686754e-06f, -1.778714027e-06f, -1.779738056e-06f, -1.780758840e-06f, -1.781776377e-06f,
+-1.782790666e-06f, -1.783801706e-06f, -1.784809496e-06f, -1.785814033e-06f, -1.786815318e-06f, -1.787813349e-06f, -1.788808124e-06f, -1.789799642e-06f, -1.790787903e-06f, -1.791772904e-06f,
+-1.792754645e-06f, -1.793733125e-06f, -1.794708342e-06f, -1.795680295e-06f, -1.796648983e-06f, -1.797614405e-06f, -1.798576559e-06f, -1.799535445e-06f, -1.800491061e-06f, -1.801443407e-06f,
+-1.802392480e-06f, -1.803338280e-06f, -1.804280806e-06f, -1.805220057e-06f, -1.806156030e-06f, -1.807088727e-06f, -1.808018144e-06f, -1.808944282e-06f, -1.809867139e-06f, -1.810786713e-06f,
+-1.811703005e-06f, -1.812616012e-06f, -1.813525734e-06f, -1.814432170e-06f, -1.815335318e-06f, -1.816235178e-06f, -1.817131748e-06f, -1.818025027e-06f, -1.818915015e-06f, -1.819801711e-06f,
+-1.820685112e-06f, -1.821565219e-06f, -1.822442030e-06f, -1.823315545e-06f, -1.824185761e-06f, -1.825052679e-06f, -1.825916297e-06f, -1.826776615e-06f, -1.827633631e-06f, -1.828487344e-06f,
+-1.829337753e-06f, -1.830184858e-06f, -1.831028657e-06f, -1.831869150e-06f, -1.832706335e-06f, -1.833540212e-06f, -1.834370780e-06f, -1.835198037e-06f, -1.836021983e-06f, -1.836842617e-06f,
+-1.837659938e-06f, -1.838473945e-06f, -1.839284638e-06f, -1.840092014e-06f, -1.840896074e-06f, -1.841696816e-06f, -1.842494241e-06f, -1.843288345e-06f, -1.844079130e-06f, -1.844866594e-06f,
+-1.845650736e-06f, -1.846431555e-06f, -1.847209051e-06f, -1.847983223e-06f, -1.848754069e-06f, -1.849521590e-06f, -1.850285784e-06f, -1.851046650e-06f, -1.851804188e-06f, -1.852558396e-06f,
+-1.853309275e-06f, -1.854056822e-06f, -1.854801039e-06f, -1.855541923e-06f, -1.856279474e-06f, -1.857013690e-06f, -1.857744573e-06f, -1.858472120e-06f, -1.859196331e-06f, -1.859917205e-06f,
+-1.860634741e-06f, -1.861348939e-06f, -1.862059799e-06f, -1.862767318e-06f, -1.863471497e-06f, -1.864172335e-06f, -1.864869830e-06f, -1.865563984e-06f, -1.866254794e-06f, -1.866942260e-06f,
+-1.867626382e-06f, -1.868307158e-06f, -1.868984589e-06f, -1.869658673e-06f, -1.870329409e-06f, -1.870996798e-06f, -1.871660838e-06f, -1.872321529e-06f, -1.872978871e-06f, -1.873632862e-06f,
+-1.874283502e-06f, -1.874930790e-06f, -1.875574726e-06f, -1.876215310e-06f, -1.876852540e-06f, -1.877486416e-06f, -1.878116937e-06f, -1.878744103e-06f, -1.879367914e-06f, -1.879988368e-06f,
+-1.880605465e-06f, -1.881219205e-06f, -1.881829588e-06f, -1.882436611e-06f, -1.883040276e-06f, -1.883640581e-06f, -1.884237526e-06f, -1.884831111e-06f, -1.885421335e-06f, -1.886008197e-06f,
+-1.886591697e-06f, -1.887171834e-06f, -1.887748608e-06f, -1.888322019e-06f, -1.888892066e-06f, -1.889458749e-06f, -1.890022066e-06f, -1.890582018e-06f, -1.891138605e-06f, -1.891691825e-06f,
+-1.892241678e-06f, -1.892788164e-06f, -1.893331283e-06f, -1.893871034e-06f, -1.894407416e-06f, -1.894940430e-06f, -1.895470074e-06f, -1.895996349e-06f, -1.896519254e-06f, -1.897038788e-06f,
+-1.897554952e-06f, -1.898067744e-06f, -1.898577165e-06f, -1.899083215e-06f, -1.899585892e-06f, -1.900085196e-06f, -1.900581128e-06f, -1.901073686e-06f, -1.901562871e-06f, -1.902048682e-06f,
+-1.902531119e-06f, -1.903010181e-06f, -1.903485869e-06f, -1.903958181e-06f, -1.904427118e-06f, -1.904892679e-06f, -1.905354865e-06f, -1.905813674e-06f, -1.906269106e-06f, -1.906721162e-06f,
+-1.907169840e-06f, -1.907615142e-06f, -1.908057065e-06f, -1.908495611e-06f, -1.908930779e-06f, -1.909362569e-06f, -1.909790980e-06f, -1.910216012e-06f, -1.910637666e-06f, -1.911055940e-06f,
+-1.911470835e-06f, -1.911882350e-06f, -1.912290486e-06f, -1.912695242e-06f, -1.913096618e-06f, -1.913494613e-06f, -1.913889228e-06f, -1.914280463e-06f, -1.914668317e-06f, -1.915052790e-06f,
+-1.915433882e-06f, -1.915811592e-06f, -1.916185922e-06f, -1.916556870e-06f, -1.916924437e-06f, -1.917288621e-06f, -1.917649425e-06f, -1.918006846e-06f, -1.918360885e-06f, -1.918711543e-06f,
+-1.919058818e-06f, -1.919402711e-06f, -1.919743222e-06f, -1.920080350e-06f, -1.920414097e-06f, -1.920744460e-06f, -1.921071441e-06f, -1.921395040e-06f, -1.921715256e-06f, -1.922032090e-06f,
+-1.922345541e-06f, -1.922655609e-06f, -1.922962295e-06f, -1.923265598e-06f, -1.923565518e-06f, -1.923862056e-06f, -1.924155211e-06f, -1.924444983e-06f, -1.924731373e-06f, -1.925014380e-06f,
+-1.925294005e-06f, -1.925570247e-06f, -1.925843107e-06f, -1.926112584e-06f, -1.926378680e-06f, -1.926641392e-06f, -1.926900723e-06f, -1.927156672e-06f, -1.927409238e-06f, -1.927658423e-06f,
+-1.927904225e-06f, -1.928146646e-06f, -1.928385685e-06f, -1.928621343e-06f, -1.928853620e-06f, -1.929082515e-06f, -1.929308028e-06f, -1.929530161e-06f, -1.929748913e-06f, -1.929964284e-06f,
+-1.930176275e-06f, -1.930384885e-06f, -1.930590115e-06f, -1.930791964e-06f, -1.930990434e-06f, -1.931185524e-06f, -1.931377235e-06f, -1.931565566e-06f, -1.931750518e-06f, -1.931932091e-06f,
+-1.932110285e-06f, -1.932285100e-06f, -1.932456538e-06f, -1.932624597e-06f, -1.932789278e-06f, -1.932950582e-06f, -1.933108509e-06f, -1.933263058e-06f, -1.933414230e-06f, -1.933562026e-06f,
+-1.933706446e-06f, -1.933847489e-06f, -1.933985157e-06f, -1.934119449e-06f, -1.934250366e-06f, -1.934377908e-06f, -1.934502076e-06f, -1.934622869e-06f, -1.934740288e-06f, -1.934854334e-06f,
+-1.934965006e-06f, -1.935072305e-06f, -1.935176232e-06f, -1.935276786e-06f, -1.935373968e-06f, -1.935467779e-06f, -1.935558219e-06f, -1.935645287e-06f, -1.935728986e-06f, -1.935809314e-06f,
+-1.935886272e-06f, -1.935959861e-06f, -1.936030081e-06f, -1.936096933e-06f, -1.936160416e-06f, -1.936220532e-06f, -1.936277280e-06f, -1.936330662e-06f, -1.936380677e-06f, -1.936427326e-06f,
+-1.936470609e-06f, -1.936510528e-06f, -1.936547081e-06f, -1.936580271e-06f, -1.936610097e-06f, -1.936636559e-06f, -1.936659659e-06f, -1.936679396e-06f, -1.936695772e-06f, -1.936708786e-06f,
+-1.936718440e-06f, -1.936724733e-06f, -1.936727667e-06f, -1.936727241e-06f, -1.936723456e-06f, -1.936716313e-06f, -1.936705813e-06f, -1.936691955e-06f, -1.936674741e-06f, -1.936654171e-06f,
+-1.936630245e-06f, -1.936602964e-06f, -1.936572329e-06f, -1.936538340e-06f, -1.936500998e-06f, -1.936460304e-06f, -1.936416257e-06f, -1.936368859e-06f, -1.936318110e-06f, -1.936264011e-06f,
+-1.936206562e-06f, -1.936145765e-06f, -1.936081619e-06f, -1.936014125e-06f, -1.935943284e-06f, -1.935869097e-06f, -1.935791564e-06f, -1.935710686e-06f, -1.935626464e-06f, -1.935538897e-06f,
+-1.935447988e-06f, -1.935353736e-06f, -1.935256142e-06f, -1.935155208e-06f, -1.935050933e-06f, -1.934943318e-06f, -1.934832364e-06f, -1.934718072e-06f, -1.934600443e-06f, -1.934479477e-06f,
+-1.934355174e-06f, -1.934227536e-06f, -1.934096564e-06f, -1.933962258e-06f, -1.933824619e-06f, -1.933683647e-06f, -1.933539344e-06f, -1.933391710e-06f, -1.933240746e-06f, -1.933086453e-06f,
+-1.932928831e-06f, -1.932767882e-06f, -1.932603606e-06f, -1.932436003e-06f, -1.932265076e-06f, -1.932090824e-06f, -1.931913248e-06f, -1.931732349e-06f, -1.931548129e-06f, -1.931360587e-06f,
+-1.931169726e-06f, -1.930975544e-06f, -1.930778044e-06f, -1.930577227e-06f, -1.930373092e-06f, -1.930165642e-06f, -1.929954876e-06f, -1.929740796e-06f, -1.929523403e-06f, -1.929302698e-06f,
+-1.929078681e-06f, -1.928851353e-06f, -1.928620715e-06f, -1.928386769e-06f, -1.928149515e-06f, -1.927908954e-06f, -1.927665086e-06f, -1.927417914e-06f, -1.927167438e-06f, -1.926913658e-06f,
+-1.926656576e-06f, -1.926396193e-06f, -1.926132509e-06f, -1.925865526e-06f, -1.925595245e-06f, -1.925321666e-06f, -1.925044791e-06f, -1.924764621e-06f, -1.924481156e-06f, -1.924194398e-06f,
+-1.923904347e-06f, -1.923611005e-06f, -1.923314373e-06f, -1.923014451e-06f, -1.922711241e-06f, -1.922404744e-06f, -1.922094961e-06f, -1.921781892e-06f, -1.921465540e-06f, -1.921145904e-06f,
+-1.920822986e-06f, -1.920496788e-06f, -1.920167309e-06f, -1.919834552e-06f, -1.919498518e-06f, -1.919159206e-06f, -1.918816620e-06f, -1.918470759e-06f, -1.918121624e-06f, -1.917769218e-06f,
+-1.917413540e-06f, -1.917054593e-06f, -1.916692377e-06f, -1.916326893e-06f, -1.915958143e-06f, -1.915586128e-06f, -1.915210848e-06f, -1.914832306e-06f, -1.914450501e-06f, -1.914065436e-06f,
+-1.913677112e-06f, -1.913285529e-06f, -1.912890689e-06f, -1.912492593e-06f, -1.912091243e-06f, -1.911686639e-06f, -1.911278783e-06f, -1.910867675e-06f, -1.910453318e-06f, -1.910035712e-06f,
+-1.909614859e-06f, -1.909190759e-06f, -1.908763415e-06f, -1.908332827e-06f, -1.907898996e-06f, -1.907461925e-06f, -1.907021613e-06f, -1.906578063e-06f, -1.906131275e-06f, -1.905681252e-06f,
+-1.905227993e-06f, -1.904771501e-06f, -1.904311777e-06f, -1.903848822e-06f, -1.903382637e-06f, -1.902913225e-06f, -1.902440585e-06f, -1.901964719e-06f, -1.901485629e-06f, -1.901003317e-06f,
+-1.900517782e-06f, -1.900029027e-06f, -1.899537054e-06f, -1.899041863e-06f, -1.898543455e-06f, -1.898041833e-06f, -1.897536997e-06f, -1.897028949e-06f, -1.896517691e-06f, -1.896003223e-06f,
+-1.895485547e-06f, -1.894964664e-06f, -1.894440577e-06f, -1.893913286e-06f, -1.893382792e-06f, -1.892849098e-06f, -1.892312204e-06f, -1.891772112e-06f, -1.891228823e-06f, -1.890682340e-06f,
+-1.890132662e-06f, -1.889579793e-06f, -1.889023732e-06f, -1.888464482e-06f, -1.887902045e-06f, -1.887336421e-06f, -1.886767612e-06f, -1.886195619e-06f, -1.885620445e-06f, -1.885042090e-06f,
+-1.884460557e-06f, -1.883875846e-06f, -1.883287959e-06f, -1.882696897e-06f, -1.882102663e-06f, -1.881505257e-06f, -1.880904682e-06f, -1.880300938e-06f, -1.879694027e-06f, -1.879083952e-06f,
+-1.878470712e-06f, -1.877854311e-06f, -1.877234749e-06f, -1.876612028e-06f, -1.875986150e-06f, -1.875357115e-06f, -1.874724927e-06f, -1.874089586e-06f, -1.873451094e-06f, -1.872809453e-06f,
+-1.872164663e-06f, -1.871516728e-06f, -1.870865648e-06f, -1.870211425e-06f, -1.869554060e-06f, -1.868893556e-06f, -1.868229914e-06f, -1.867563135e-06f, -1.866893222e-06f, -1.866220175e-06f,
+-1.865543997e-06f, -1.864864689e-06f, -1.864182253e-06f, -1.863496691e-06f, -1.862808003e-06f, -1.862116193e-06f, -1.861421261e-06f, -1.860723209e-06f, -1.860022040e-06f, -1.859317754e-06f,
+-1.858610353e-06f, -1.857899839e-06f, -1.857186215e-06f, -1.856469480e-06f, -1.855749639e-06f, -1.855026691e-06f, -1.854300638e-06f, -1.853571484e-06f, -1.852839228e-06f, -1.852103874e-06f,
+-1.851365422e-06f, -1.850623875e-06f, -1.849879234e-06f, -1.849131501e-06f, -1.848380678e-06f, -1.847626766e-06f, -1.846869768e-06f, -1.846109685e-06f, -1.845346520e-06f, -1.844580273e-06f,
+-1.843810946e-06f, -1.843038542e-06f, -1.842263063e-06f, -1.841484509e-06f, -1.840702884e-06f, -1.839918188e-06f, -1.839130424e-06f, -1.838339593e-06f, -1.837545697e-06f, -1.836748739e-06f,
+-1.835948720e-06f, -1.835145641e-06f, -1.834339506e-06f, -1.833530315e-06f, -1.832718070e-06f, -1.831902774e-06f, -1.831084429e-06f, -1.830263035e-06f, -1.829438596e-06f, -1.828611112e-06f,
+-1.827780587e-06f, -1.826947021e-06f, -1.826110417e-06f, -1.825270777e-06f, -1.824428102e-06f, -1.823582395e-06f, -1.822733658e-06f, -1.821881892e-06f, -1.821027099e-06f, -1.820169282e-06f,
+-1.819308442e-06f, -1.818444581e-06f, -1.817577701e-06f, -1.816707805e-06f, -1.815834894e-06f, -1.814958970e-06f, -1.814080035e-06f, -1.813198092e-06f, -1.812313142e-06f, -1.811425186e-06f,
+-1.810534229e-06f, -1.809640270e-06f, -1.808743312e-06f, -1.807843358e-06f, -1.806940409e-06f, -1.806034468e-06f, -1.805125536e-06f, -1.804213615e-06f, -1.803298707e-06f, -1.802380816e-06f,
+-1.801459941e-06f, -1.800536087e-06f, -1.799609254e-06f, -1.798679445e-06f, -1.797746662e-06f, -1.796810906e-06f, -1.795872181e-06f, -1.794930488e-06f, -1.793985829e-06f, -1.793038207e-06f,
+-1.792087623e-06f, -1.791134079e-06f, -1.790177578e-06f, -1.789218122e-06f, -1.788255713e-06f, -1.787290353e-06f, -1.786322045e-06f, -1.785350789e-06f, -1.784376589e-06f, -1.783399447e-06f,
+-1.782419364e-06f, -1.781436344e-06f, -1.780450387e-06f, -1.779461497e-06f, -1.778469675e-06f, -1.777474924e-06f, -1.776477246e-06f, -1.775476642e-06f, -1.774473116e-06f, -1.773466670e-06f,
+-1.772457305e-06f, -1.771445024e-06f, -1.770429828e-06f, -1.769411722e-06f, -1.768390705e-06f, -1.767366782e-06f, -1.766339953e-06f, -1.765310221e-06f, -1.764277589e-06f, -1.763242059e-06f,
+-1.762203632e-06f, -1.761162312e-06f, -1.760118100e-06f, -1.759070998e-06f, -1.758021010e-06f, -1.756968137e-06f, -1.755912381e-06f, -1.754853746e-06f, -1.753792232e-06f, -1.752727843e-06f,
+-1.751660580e-06f, -1.750590446e-06f, -1.749517444e-06f, -1.748441575e-06f, -1.747362842e-06f, -1.746281248e-06f, -1.745196794e-06f, -1.744109483e-06f, -1.743019317e-06f, -1.741926298e-06f,
+-1.740830430e-06f, -1.739731714e-06f, -1.738630152e-06f, -1.737525748e-06f, -1.736418502e-06f, -1.735308419e-06f, -1.734195499e-06f, -1.733079746e-06f, -1.731961162e-06f, -1.730839749e-06f,
+-1.729715509e-06f, -1.728588446e-06f, -1.727458561e-06f, -1.726325856e-06f, -1.725190335e-06f, -1.724052000e-06f, -1.722910852e-06f, -1.721766895e-06f, -1.720620131e-06f, -1.719470562e-06f,
+-1.718318191e-06f, -1.717163020e-06f, -1.716005052e-06f, -1.714844289e-06f, -1.713680733e-06f, -1.712514387e-06f, -1.711345254e-06f, -1.710173336e-06f, -1.708998635e-06f, -1.707821153e-06f,
+-1.706640894e-06f, -1.705457860e-06f, -1.704272054e-06f, -1.703083477e-06f, -1.701892132e-06f, -1.700698022e-06f, -1.699501150e-06f, -1.698301517e-06f, -1.697099126e-06f, -1.695893981e-06f,
+-1.694686082e-06f, -1.693475434e-06f, -1.692262038e-06f, -1.691045897e-06f, -1.689827013e-06f, -1.688605390e-06f, -1.687381029e-06f, -1.686153933e-06f, -1.684924105e-06f, -1.683691548e-06f,
+-1.682456263e-06f, -1.681218253e-06f, -1.679977522e-06f, -1.678734071e-06f, -1.677487903e-06f, -1.676239021e-06f, -1.674987427e-06f, -1.673733124e-06f, -1.672476115e-06f, -1.671216402e-06f,
+-1.669953987e-06f, -1.668688874e-06f, -1.667421065e-06f, -1.666150562e-06f, -1.664877369e-06f, -1.663601488e-06f, -1.662322921e-06f, -1.661041671e-06f, -1.659757741e-06f, -1.658471133e-06f,
+-1.657181850e-06f, -1.655889896e-06f, -1.654595271e-06f, -1.653297980e-06f, -1.651998024e-06f, -1.650695407e-06f, -1.649390131e-06f, -1.648082198e-06f, -1.646771612e-06f, -1.645458376e-06f,
+-1.644142491e-06f, -1.642823960e-06f, -1.641502787e-06f, -1.640178974e-06f, -1.638852523e-06f, -1.637523438e-06f, -1.636191721e-06f, -1.634857375e-06f, -1.633520402e-06f, -1.632180805e-06f,
+-1.630838588e-06f, -1.629493752e-06f, -1.628146301e-06f, -1.626796237e-06f, -1.625443563e-06f, -1.624088282e-06f, -1.622730396e-06f, -1.621369909e-06f, -1.620006822e-06f, -1.618641140e-06f,
+-1.617272864e-06f, -1.615901997e-06f, -1.614528543e-06f, -1.613152503e-06f, -1.611773882e-06f, -1.610392680e-06f, -1.609008903e-06f, -1.607622551e-06f, -1.606233628e-06f, -1.604842137e-06f,
+-1.603448081e-06f, -1.602051462e-06f, -1.600652284e-06f, -1.599250548e-06f, -1.597846259e-06f, -1.596439418e-06f, -1.595030028e-06f, -1.593618094e-06f, -1.592203616e-06f, -1.590786599e-06f,
+-1.589367044e-06f, -1.587944956e-06f, -1.586520336e-06f, -1.585093188e-06f, -1.583663514e-06f, -1.582231317e-06f, -1.580796601e-06f, -1.579359368e-06f, -1.577919621e-06f, -1.576477363e-06f,
+-1.575032596e-06f, -1.573585325e-06f, -1.572135551e-06f, -1.570683277e-06f, -1.569228507e-06f, -1.567771243e-06f, -1.566311488e-06f, -1.564849246e-06f, -1.563384519e-06f, -1.561917310e-06f,
+-1.560447621e-06f, -1.558975457e-06f, -1.557500820e-06f, -1.556023712e-06f, -1.554544137e-06f, -1.553062098e-06f, -1.551577597e-06f, -1.550090638e-06f, -1.548601224e-06f, -1.547109357e-06f,
+-1.545615041e-06f, -1.544118279e-06f, -1.542619073e-06f, -1.541117426e-06f, -1.539613342e-06f, -1.538106823e-06f, -1.536597873e-06f, -1.535086494e-06f, -1.533572690e-06f, -1.532056463e-06f,
+-1.530537817e-06f, -1.529016754e-06f, -1.527493278e-06f, -1.525967392e-06f, -1.524439098e-06f, -1.522908399e-06f, -1.521375299e-06f, -1.519839801e-06f, -1.518301908e-06f, -1.516761622e-06f,
+-1.515218948e-06f, -1.513673887e-06f, -1.512126443e-06f, -1.510576619e-06f, -1.509024418e-06f, -1.507469843e-06f, -1.505912898e-06f, -1.504353584e-06f, -1.502791906e-06f, -1.501227867e-06f,
+-1.499661469e-06f, -1.498092715e-06f, -1.496521609e-06f, -1.494948154e-06f, -1.493372353e-06f, -1.491794209e-06f, -1.490213725e-06f, -1.488630905e-06f, -1.487045750e-06f, -1.485458265e-06f,
+-1.483868453e-06f, -1.482276316e-06f, -1.480681858e-06f, -1.479085082e-06f, -1.477485991e-06f, -1.475884589e-06f, -1.474280877e-06f, -1.472674861e-06f, -1.471066542e-06f, -1.469455923e-06f,
+-1.467843009e-06f, -1.466227802e-06f, -1.464610305e-06f, -1.462990522e-06f, -1.461368455e-06f, -1.459744108e-06f, -1.458117484e-06f, -1.456488586e-06f, -1.454857418e-06f, -1.453223982e-06f,
+-1.451588281e-06f, -1.449950320e-06f, -1.448310101e-06f, -1.446667627e-06f, -1.445022902e-06f, -1.443375928e-06f, -1.441726710e-06f, -1.440075249e-06f, -1.438421550e-06f, -1.436765616e-06f,
+-1.435107449e-06f, -1.433447054e-06f, -1.431784432e-06f, -1.430119589e-06f, -1.428452526e-06f, -1.426783247e-06f, -1.425111755e-06f, -1.423438054e-06f, -1.421762146e-06f, -1.420084036e-06f,
+-1.418403726e-06f, -1.416721219e-06f, -1.415036519e-06f, -1.413349630e-06f, -1.411660553e-06f, -1.409969294e-06f, -1.408275854e-06f, -1.406580237e-06f, -1.404882447e-06f, -1.403182486e-06f,
+-1.401480359e-06f, -1.399776067e-06f, -1.398069616e-06f, -1.396361007e-06f, -1.394650245e-06f, -1.392937332e-06f, -1.391222272e-06f, -1.389505068e-06f, -1.387785724e-06f, -1.386064243e-06f,
+-1.384340627e-06f, -1.382614882e-06f, -1.380887008e-06f, -1.379157012e-06f, -1.377424894e-06f, -1.375690659e-06f, -1.373954311e-06f, -1.372215852e-06f, -1.370475286e-06f, -1.368732616e-06f,
+-1.366987845e-06f, -1.365240978e-06f, -1.363492016e-06f, -1.361740965e-06f, -1.359987826e-06f, -1.358232604e-06f, -1.356475301e-06f, -1.354715922e-06f, -1.352954469e-06f, -1.351190946e-06f,
+-1.349425356e-06f, -1.347657703e-06f, -1.345887990e-06f, -1.344116220e-06f, -1.342342398e-06f, -1.340566525e-06f, -1.338788606e-06f, -1.337008645e-06f, -1.335226643e-06f, -1.333442606e-06f,
+-1.331656536e-06f, -1.329868437e-06f, -1.328078312e-06f, -1.326286164e-06f, -1.324491997e-06f, -1.322695815e-06f, -1.320897621e-06f, -1.319097418e-06f, -1.317295210e-06f, -1.315491000e-06f,
+-1.313684791e-06f, -1.311876588e-06f, -1.310066393e-06f, -1.308254210e-06f, -1.306440043e-06f, -1.304623894e-06f, -1.302805768e-06f, -1.300985668e-06f, -1.299163597e-06f, -1.297339559e-06f,
+-1.295513557e-06f, -1.293685595e-06f, -1.291855676e-06f, -1.290023804e-06f, -1.288189982e-06f, -1.286354214e-06f, -1.284516503e-06f, -1.282676853e-06f, -1.280835266e-06f, -1.278991748e-06f,
+-1.277146300e-06f, -1.275298928e-06f, -1.273449633e-06f, -1.271598420e-06f, -1.269745293e-06f, -1.267890254e-06f, -1.266033307e-06f, -1.264174456e-06f, -1.262313705e-06f, -1.260451056e-06f,
+-1.258586514e-06f, -1.256720081e-06f, -1.254851762e-06f, -1.252981560e-06f, -1.251109479e-06f, -1.249235522e-06f, -1.247359692e-06f, -1.245481993e-06f, -1.243602429e-06f, -1.241721004e-06f,
+-1.239837720e-06f, -1.237952581e-06f, -1.236065592e-06f, -1.234176755e-06f, -1.232286074e-06f, -1.230393553e-06f, -1.228499195e-06f, -1.226603004e-06f, -1.224704984e-06f, -1.222805137e-06f,
+-1.220903468e-06f, -1.218999980e-06f, -1.217094676e-06f, -1.215187562e-06f, -1.213278639e-06f, -1.211367911e-06f, -1.209455383e-06f, -1.207541057e-06f, -1.205624938e-06f, -1.203707029e-06f,
+-1.201787333e-06f, -1.199865855e-06f, -1.197942597e-06f, -1.196017564e-06f, -1.194090758e-06f, -1.192162185e-06f, -1.190231846e-06f, -1.188299747e-06f, -1.186365890e-06f, -1.184430279e-06f,
+-1.182492918e-06f, -1.180553811e-06f, -1.178612960e-06f, -1.176670371e-06f, -1.174726046e-06f, -1.172779988e-06f, -1.170832203e-06f, -1.168882692e-06f, -1.166931461e-06f, -1.164978513e-06f,
+-1.163023850e-06f, -1.161067478e-06f, -1.159109399e-06f, -1.157149618e-06f, -1.155188137e-06f, -1.153224961e-06f, -1.151260094e-06f, -1.149293538e-06f, -1.147325299e-06f, -1.145355378e-06f,
+-1.143383781e-06f, -1.141410510e-06f, -1.139435570e-06f, -1.137458964e-06f, -1.135480695e-06f, -1.133500768e-06f, -1.131519187e-06f, -1.129535954e-06f, -1.127551074e-06f, -1.125564550e-06f,
+-1.123576386e-06f, -1.121586586e-06f, -1.119595153e-06f, -1.117602091e-06f, -1.115607404e-06f, -1.113611096e-06f, -1.111613170e-06f, -1.109613631e-06f, -1.107612480e-06f, -1.105609724e-06f,
+-1.103605364e-06f, -1.101599406e-06f, -1.099591852e-06f, -1.097582707e-06f, -1.095571973e-06f, -1.093559656e-06f, -1.091545758e-06f, -1.089530284e-06f, -1.087513237e-06f, -1.085494620e-06f,
+-1.083474438e-06f, -1.081452695e-06f, -1.079429394e-06f, -1.077404538e-06f, -1.075378132e-06f, -1.073350180e-06f, -1.071320685e-06f, -1.069289651e-06f, -1.067257081e-06f, -1.065222980e-06f,
+-1.063187351e-06f, -1.061150198e-06f, -1.059111525e-06f, -1.057071336e-06f, -1.055029634e-06f, -1.052986423e-06f, -1.050941707e-06f, -1.048895490e-06f, -1.046847775e-06f, -1.044798567e-06f,
+-1.042747868e-06f, -1.040695684e-06f, -1.038642017e-06f, -1.036586871e-06f, -1.034530251e-06f, -1.032472160e-06f, -1.030412602e-06f, -1.028351581e-06f, -1.026289100e-06f, -1.024225163e-06f,
+-1.022159774e-06f, -1.020092938e-06f, -1.018024657e-06f, -1.015954936e-06f, -1.013883778e-06f, -1.011811187e-06f, -1.009737167e-06f, -1.007661723e-06f, -1.005584856e-06f, -1.003506573e-06f,
+-1.001426876e-06f, -9.993457685e-07f, -9.972632554e-07f, -9.951793402e-07f, -9.930940267e-07f, -9.910073187e-07f, -9.889192200e-07f, -9.868297346e-07f, -9.847388662e-07f, -9.826466188e-07f,
+-9.805529961e-07f, -9.784580020e-07f, -9.763616403e-07f, -9.742639150e-07f, -9.721648299e-07f, -9.700643888e-07f, -9.679625956e-07f, -9.658594541e-07f, -9.637549683e-07f, -9.616491419e-07f,
+-9.595419789e-07f, -9.574334831e-07f, -9.553236584e-07f, -9.532125086e-07f, -9.511000377e-07f, -9.489862495e-07f, -9.468711479e-07f, -9.447547367e-07f, -9.426370199e-07f, -9.405180013e-07f,
+-9.383976848e-07f, -9.362760744e-07f, -9.341531738e-07f, -9.320289870e-07f, -9.299035178e-07f, -9.277767702e-07f, -9.256487481e-07f, -9.235194553e-07f, -9.213888957e-07f, -9.192570733e-07f,
+-9.171239919e-07f, -9.149896555e-07f, -9.128540679e-07f, -9.107172330e-07f, -9.085791548e-07f, -9.064398372e-07f, -9.042992840e-07f, -9.021574992e-07f, -9.000144867e-07f, -8.978702505e-07f,
+-8.957247943e-07f, -8.935781222e-07f, -8.914302380e-07f, -8.892811458e-07f, -8.871308493e-07f, -8.849793525e-07f, -8.828266594e-07f, -8.806727739e-07f, -8.785176999e-07f, -8.763614413e-07f,
+-8.742040020e-07f, -8.720453861e-07f, -8.698855973e-07f, -8.677246398e-07f, -8.655625173e-07f, -8.633992339e-07f, -8.612347934e-07f, -8.590691998e-07f, -8.569024571e-07f, -8.547345692e-07f,
+-8.525655400e-07f, -8.503953735e-07f, -8.482240737e-07f, -8.460516444e-07f, -8.438780896e-07f, -8.417034133e-07f, -8.395276195e-07f, -8.373507120e-07f, -8.351726949e-07f, -8.329935721e-07f,
+-8.308133475e-07f, -8.286320251e-07f, -8.264496090e-07f, -8.242661029e-07f, -8.220815109e-07f, -8.198958370e-07f, -8.177090852e-07f, -8.155212593e-07f, -8.133323634e-07f, -8.111424014e-07f,
+-8.089513773e-07f, -8.067592951e-07f, -8.045661587e-07f, -8.023719721e-07f, -8.001767393e-07f, -7.979804643e-07f, -7.957831510e-07f, -7.935848035e-07f, -7.913854256e-07f, -7.891850215e-07f,
+-7.869835950e-07f, -7.847811501e-07f, -7.825776909e-07f, -7.803732213e-07f, -7.781677453e-07f, -7.759612669e-07f, -7.737537901e-07f, -7.715453188e-07f, -7.693358571e-07f, -7.671254090e-07f,
+-7.649139784e-07f, -7.627015694e-07f, -7.604881858e-07f, -7.582738319e-07f, -7.560585114e-07f, -7.538422285e-07f, -7.516249871e-07f, -7.494067912e-07f, -7.471876449e-07f, -7.449675521e-07f,
+-7.427465168e-07f, -7.405245431e-07f, -7.383016349e-07f, -7.360777962e-07f, -7.338530312e-07f, -7.316273437e-07f, -7.294007378e-07f, -7.271732174e-07f, -7.249447867e-07f, -7.227154496e-07f,
+-7.204852101e-07f, -7.182540722e-07f, -7.160220400e-07f, -7.137891175e-07f, -7.115553087e-07f, -7.093206176e-07f, -7.070850482e-07f, -7.048486045e-07f, -7.026112906e-07f, -7.003731106e-07f,
+-6.981340683e-07f, -6.958941678e-07f, -6.936534132e-07f, -6.914118085e-07f, -6.891693577e-07f, -6.869260649e-07f, -6.846819340e-07f, -6.824369691e-07f, -6.801911742e-07f, -6.779445534e-07f,
+-6.756971106e-07f, -6.734488500e-07f, -6.711997755e-07f, -6.689498912e-07f, -6.666992011e-07f, -6.644477092e-07f, -6.621954197e-07f, -6.599423364e-07f, -6.576884635e-07f, -6.554338050e-07f,
+-6.531783650e-07f, -6.509221474e-07f, -6.486651563e-07f, -6.464073958e-07f, -6.441488698e-07f, -6.418895825e-07f, -6.396295379e-07f, -6.373687400e-07f, -6.351071929e-07f, -6.328449006e-07f,
+-6.305818671e-07f, -6.283180965e-07f, -6.260535929e-07f, -6.237883603e-07f, -6.215224027e-07f, -6.192557242e-07f, -6.169883288e-07f, -6.147202207e-07f, -6.124514038e-07f, -6.101818821e-07f,
+-6.079116598e-07f, -6.056407409e-07f, -6.033691295e-07f, -6.010968296e-07f, -5.988238452e-07f, -5.965501804e-07f, -5.942758393e-07f, -5.920008259e-07f, -5.897251443e-07f, -5.874487985e-07f,
+-5.851717926e-07f, -5.828941306e-07f, -5.806158167e-07f, -5.783368548e-07f, -5.760572490e-07f, -5.737770034e-07f, -5.714961221e-07f, -5.692146090e-07f, -5.669324684e-07f, -5.646497041e-07f,
+-5.623663203e-07f, -5.600823211e-07f, -5.577977105e-07f, -5.555124926e-07f, -5.532266714e-07f, -5.509402510e-07f, -5.486532354e-07f, -5.463656288e-07f, -5.440774352e-07f, -5.417886587e-07f,
+-5.394993033e-07f, -5.372093730e-07f, -5.349188721e-07f, -5.326278044e-07f, -5.303361742e-07f, -5.280439854e-07f, -5.257512421e-07f, -5.234579484e-07f, -5.211641084e-07f, -5.188697262e-07f,
+-5.165748057e-07f, -5.142793511e-07f, -5.119833665e-07f, -5.096868558e-07f, -5.073898233e-07f, -5.050922729e-07f, -5.027942087e-07f, -5.004956348e-07f, -4.981965553e-07f, -4.958969742e-07f,
+-4.935968956e-07f, -4.912963237e-07f, -4.889952623e-07f, -4.866937157e-07f, -4.843916879e-07f, -4.820891830e-07f, -4.797862050e-07f, -4.774827580e-07f, -4.751788461e-07f, -4.728744734e-07f,
+-4.705696439e-07f, -4.682643618e-07f, -4.659586310e-07f, -4.636524557e-07f, -4.613458399e-07f, -4.590387877e-07f, -4.567313032e-07f, -4.544233905e-07f, -4.521150536e-07f, -4.498062966e-07f,
+-4.474971236e-07f, -4.451875387e-07f, -4.428775458e-07f, -4.405671492e-07f, -4.382563529e-07f, -4.359451609e-07f, -4.336335774e-07f, -4.313216064e-07f, -4.290092519e-07f, -4.266965182e-07f,
+-4.243834091e-07f, -4.220699289e-07f, -4.197560815e-07f, -4.174418712e-07f, -4.151273018e-07f, -4.128123776e-07f, -4.104971025e-07f, -4.081814807e-07f, -4.058655163e-07f, -4.035492133e-07f,
+-4.012325757e-07f, -3.989156077e-07f, -3.965983134e-07f, -3.942806967e-07f, -3.919627619e-07f, -3.896445129e-07f, -3.873259539e-07f, -3.850070889e-07f, -3.826879219e-07f, -3.803684571e-07f,
+-3.780486986e-07f, -3.757286504e-07f, -3.734083165e-07f, -3.710877011e-07f, -3.687668083e-07f, -3.664456420e-07f, -3.641242064e-07f, -3.618025056e-07f, -3.594805436e-07f, -3.571583245e-07f,
+-3.548358524e-07f, -3.525131313e-07f, -3.501901653e-07f, -3.478669585e-07f, -3.455435150e-07f, -3.432198388e-07f, -3.408959340e-07f, -3.385718047e-07f, -3.362474549e-07f, -3.339228887e-07f,
+-3.315981102e-07f, -3.292731235e-07f, -3.269479326e-07f, -3.246225416e-07f, -3.222969545e-07f, -3.199711755e-07f, -3.176452086e-07f, -3.153190578e-07f, -3.129927273e-07f, -3.106662211e-07f,
+-3.083395432e-07f, -3.060126978e-07f, -3.036856889e-07f, -3.013585206e-07f, -2.990311969e-07f, -2.967037219e-07f, -2.943760997e-07f, -2.920483343e-07f, -2.897204298e-07f, -2.873923902e-07f,
+-2.850642197e-07f, -2.827359223e-07f, -2.804075020e-07f, -2.780789629e-07f, -2.757503091e-07f, -2.734215447e-07f, -2.710926736e-07f, -2.687637000e-07f, -2.664346279e-07f, -2.641054614e-07f,
+-2.617762045e-07f, -2.594468613e-07f, -2.571174358e-07f, -2.547879322e-07f, -2.524583544e-07f, -2.501287066e-07f, -2.477989927e-07f, -2.454692169e-07f, -2.431393831e-07f, -2.408094955e-07f,
+-2.384795581e-07f, -2.361495750e-07f, -2.338195501e-07f, -2.314894876e-07f, -2.291593915e-07f, -2.268292659e-07f, -2.244991148e-07f, -2.221689422e-07f, -2.198387523e-07f, -2.175085490e-07f,
+-2.151783364e-07f, -2.128481185e-07f, -2.105178995e-07f, -2.081876833e-07f, -2.058574740e-07f, -2.035272756e-07f, -2.011970922e-07f, -1.988669278e-07f, -1.965367865e-07f, -1.942066724e-07f,
+-1.918765893e-07f, -1.895465415e-07f, -1.872165328e-07f, -1.848865675e-07f, -1.825566495e-07f, -1.802267828e-07f, -1.778969715e-07f, -1.755672196e-07f, -1.732375312e-07f, -1.709079102e-07f,
+-1.685783608e-07f, -1.662488870e-07f, -1.639194927e-07f, -1.615901821e-07f, -1.592609591e-07f, -1.569318278e-07f, -1.546027922e-07f, -1.522738564e-07f, -1.499450244e-07f, -1.476163001e-07f,
+-1.452876877e-07f, -1.429591911e-07f, -1.406308144e-07f, -1.383025616e-07f, -1.359744367e-07f, -1.336464438e-07f, -1.313185869e-07f, -1.289908699e-07f, -1.266632969e-07f, -1.243358720e-07f,
+-1.220085991e-07f, -1.196814823e-07f, -1.173545255e-07f, -1.150277329e-07f, -1.127011083e-07f, -1.103746559e-07f, -1.080483796e-07f, -1.057222834e-07f, -1.033963714e-07f, -1.010706475e-07f,
+-9.874511587e-08f, -9.641978038e-08f, -9.409464507e-08f, -9.176971395e-08f, -8.944499103e-08f, -8.712048030e-08f, -8.479618578e-08f, -8.247211147e-08f, -8.014826135e-08f, -7.782463944e-08f,
+-7.550124974e-08f, -7.317809623e-08f, -7.085518292e-08f, -6.853251380e-08f, -6.621009287e-08f, -6.388792411e-08f, -6.156601153e-08f, -5.924435911e-08f, -5.692297085e-08f, -5.460185072e-08f,
+-5.228100273e-08f, -4.996043085e-08f, -4.764013907e-08f, -4.532013138e-08f, -4.300041176e-08f, -4.068098420e-08f, -3.836185266e-08f, -3.604302114e-08f, -3.372449362e-08f, -3.140627406e-08f,
+-2.908836645e-08f, -2.677077476e-08f, -2.445350297e-08f, -2.213655505e-08f, -1.981993496e-08f, -1.750364670e-08f, -1.518769421e-08f, -1.287208147e-08f, -1.055681245e-08f, -8.241891109e-09f,
+-5.927321417e-09f, -3.613107335e-09f, -1.299252826e-09f, 1.014238151e-09f, 3.327361634e-09f, 5.640113667e-09f, 7.952490291e-09f, 1.026448755e-08f, 1.257610149e-08f, 1.488732816e-08f,
+1.719816361e-08f, 1.950860389e-08f, 2.181864504e-08f, 2.412828311e-08f, 2.643751418e-08f, 2.874633427e-08f, 3.105473946e-08f, 3.336272581e-08f, 3.567028936e-08f, 3.797742618e-08f,
+4.028413233e-08f, 4.259040387e-08f, 4.489623687e-08f, 4.720162739e-08f, 4.950657151e-08f, 5.181106528e-08f, 5.411510478e-08f, 5.641868608e-08f, 5.872180525e-08f, 6.102445837e-08f,
+6.332664151e-08f, 6.562835075e-08f, 6.792958216e-08f, 7.023033184e-08f, 7.253059585e-08f, 7.483037028e-08f, 7.712965121e-08f, 7.942843473e-08f, 8.172671694e-08f, 8.402449391e-08f,
+8.632176173e-08f, 8.861851650e-08f, 9.091475432e-08f, 9.321047126e-08f, 9.550566344e-08f, 9.780032695e-08f, 1.000944579e-07f, 1.023880524e-07f, 1.046811065e-07f, 1.069736163e-07f,
+1.092655780e-07f, 1.115569876e-07f, 1.138478413e-07f, 1.161381351e-07f, 1.184278653e-07f, 1.207170278e-07f, 1.230056188e-07f, 1.252936344e-07f, 1.275810708e-07f, 1.298679241e-07f,
+1.321541903e-07f, 1.344398657e-07f, 1.367249462e-07f, 1.390094282e-07f, 1.412933076e-07f, 1.435765806e-07f, 1.458592434e-07f, 1.481412920e-07f, 1.504227227e-07f, 1.527035315e-07f,
+1.549837146e-07f, 1.572632681e-07f, 1.595421882e-07f, 1.618204710e-07f, 1.640981127e-07f, 1.663751094e-07f, 1.686514572e-07f, 1.709271523e-07f, 1.732021909e-07f, 1.754765691e-07f,
+1.777502830e-07f, 1.800233289e-07f, 1.822957028e-07f, 1.845674010e-07f, 1.868384196e-07f, 1.891087548e-07f, 1.913784026e-07f, 1.936473594e-07f, 1.959156213e-07f, 1.981831844e-07f,
+2.004500449e-07f, 2.027161990e-07f, 2.049816428e-07f, 2.072463726e-07f, 2.095103845e-07f, 2.117736748e-07f, 2.140362395e-07f, 2.162980749e-07f, 2.185591772e-07f, 2.208195425e-07f,
+2.230791671e-07f, 2.253380471e-07f, 2.275961787e-07f, 2.298535582e-07f, 2.321101817e-07f, 2.343660454e-07f, 2.366211456e-07f, 2.388754784e-07f, 2.411290401e-07f, 2.433818269e-07f,
+2.456338349e-07f, 2.478850603e-07f, 2.501354995e-07f, 2.523851486e-07f, 2.546340039e-07f, 2.568820614e-07f, 2.591293176e-07f, 2.613757686e-07f, 2.636214105e-07f, 2.658662398e-07f,
+2.681102525e-07f, 2.703534450e-07f, 2.725958134e-07f, 2.748373540e-07f, 2.770780630e-07f, 2.793179367e-07f, 2.815569713e-07f, 2.837951631e-07f, 2.860325083e-07f, 2.882690031e-07f,
+2.905046438e-07f, 2.927394267e-07f, 2.949733480e-07f, 2.972064040e-07f, 2.994385909e-07f, 3.016699051e-07f, 3.039003426e-07f, 3.061298999e-07f, 3.083585732e-07f, 3.105863587e-07f,
+3.128132528e-07f, 3.150392517e-07f, 3.172643517e-07f, 3.194885490e-07f, 3.217118400e-07f, 3.239342209e-07f, 3.261556880e-07f, 3.283762376e-07f, 3.305958660e-07f, 3.328145695e-07f,
+3.350323443e-07f, 3.372491869e-07f, 3.394650934e-07f, 3.416800601e-07f, 3.438940834e-07f, 3.461071597e-07f, 3.483192851e-07f, 3.505304559e-07f, 3.527406686e-07f, 3.549499194e-07f,
+3.571582047e-07f, 3.593655207e-07f, 3.615718638e-07f, 3.637772302e-07f, 3.659816164e-07f, 3.681850187e-07f, 3.703874333e-07f, 3.725888566e-07f, 3.747892850e-07f, 3.769887148e-07f,
+3.791871423e-07f, 3.813845638e-07f, 3.835809758e-07f, 3.857763745e-07f, 3.879707563e-07f, 3.901641176e-07f, 3.923564546e-07f, 3.945477639e-07f, 3.967380416e-07f, 3.989272842e-07f,
+4.011154881e-07f, 4.033026496e-07f, 4.054887650e-07f, 4.076738308e-07f, 4.098578433e-07f, 4.120407989e-07f, 4.142226940e-07f, 4.164035249e-07f, 4.185832880e-07f, 4.207619797e-07f,
+4.229395965e-07f, 4.251161346e-07f, 4.272915905e-07f, 4.294659606e-07f, 4.316392412e-07f, 4.338114289e-07f, 4.359825199e-07f, 4.381525106e-07f, 4.403213976e-07f, 4.424891771e-07f,
+4.446558456e-07f, 4.468213995e-07f, 4.489858353e-07f, 4.511491493e-07f, 4.533113380e-07f, 4.554723978e-07f, 4.576323251e-07f, 4.597911163e-07f, 4.619487680e-07f, 4.641052764e-07f,
+4.662606381e-07f, 4.684148495e-07f, 4.705679070e-07f, 4.727198071e-07f, 4.748705462e-07f, 4.770201208e-07f, 4.791685273e-07f, 4.813157622e-07f, 4.834618219e-07f, 4.856067029e-07f,
+4.877504017e-07f, 4.898929147e-07f, 4.920342384e-07f, 4.941743692e-07f, 4.963133037e-07f, 4.984510383e-07f, 5.005875694e-07f, 5.027228937e-07f, 5.048570075e-07f, 5.069899073e-07f,
+5.091215896e-07f, 5.112520510e-07f, 5.133812879e-07f, 5.155092968e-07f, 5.176360742e-07f, 5.197616166e-07f, 5.218859205e-07f, 5.240089824e-07f, 5.261307989e-07f, 5.282513664e-07f,
+5.303706815e-07f, 5.324887407e-07f, 5.346055404e-07f, 5.367210773e-07f, 5.388353478e-07f, 5.409483486e-07f, 5.430600760e-07f, 5.451705267e-07f, 5.472796971e-07f, 5.493875839e-07f,
+5.514941836e-07f, 5.535994926e-07f, 5.557035077e-07f, 5.578062252e-07f, 5.599076419e-07f, 5.620077541e-07f, 5.641065585e-07f, 5.662040517e-07f, 5.683002302e-07f, 5.703950906e-07f,
+5.724886295e-07f, 5.745808434e-07f, 5.766717288e-07f, 5.787612825e-07f, 5.808495010e-07f, 5.829363808e-07f, 5.850219185e-07f, 5.871061108e-07f, 5.891889542e-07f, 5.912704453e-07f,
+5.933505808e-07f, 5.954293572e-07f, 5.975067711e-07f, 5.995828192e-07f, 6.016574980e-07f, 6.037308042e-07f, 6.058027344e-07f, 6.078732852e-07f, 6.099424532e-07f, 6.120102351e-07f,
+6.140766275e-07f, 6.161416269e-07f, 6.182052302e-07f, 6.202674338e-07f, 6.223282345e-07f, 6.243876288e-07f, 6.264456135e-07f, 6.285021852e-07f, 6.305573404e-07f, 6.326110760e-07f,
+6.346633885e-07f, 6.367142746e-07f, 6.387637310e-07f, 6.408117543e-07f, 6.428583412e-07f, 6.449034884e-07f, 6.469471926e-07f, 6.489894504e-07f, 6.510302585e-07f, 6.530696137e-07f,
+6.551075125e-07f, 6.571439517e-07f, 6.591789280e-07f, 6.612124381e-07f, 6.632444787e-07f, 6.652750464e-07f, 6.673041381e-07f, 6.693317504e-07f, 6.713578800e-07f, 6.733825236e-07f,
+6.754056780e-07f, 6.774273399e-07f, 6.794475060e-07f, 6.814661730e-07f, 6.834833377e-07f, 6.854989968e-07f, 6.875131470e-07f, 6.895257851e-07f, 6.915369079e-07f, 6.935465120e-07f,
+6.955545943e-07f, 6.975611515e-07f, 6.995661803e-07f, 7.015696775e-07f, 7.035716398e-07f, 7.055720641e-07f, 7.075709471e-07f, 7.095682856e-07f, 7.115640764e-07f, 7.135583162e-07f,
+7.155510018e-07f, 7.175421300e-07f, 7.195316976e-07f, 7.215197013e-07f, 7.235061381e-07f, 7.254910047e-07f, 7.274742978e-07f, 7.294560143e-07f, 7.314361511e-07f, 7.334147048e-07f,
+7.353916724e-07f, 7.373670506e-07f, 7.393408363e-07f, 7.413130263e-07f, 7.432836174e-07f, 7.452526064e-07f, 7.472199903e-07f, 7.491857657e-07f, 7.511499297e-07f, 7.531124789e-07f,
+7.550734104e-07f, 7.570327208e-07f, 7.589904071e-07f, 7.609464661e-07f, 7.629008947e-07f, 7.648536898e-07f, 7.668048482e-07f, 7.687543668e-07f, 7.707022425e-07f, 7.726484721e-07f,
+7.745930525e-07f, 7.765359807e-07f, 7.784772534e-07f, 7.804168677e-07f, 7.823548203e-07f, 7.842911083e-07f, 7.862257284e-07f, 7.881586776e-07f, 7.900899528e-07f, 7.920195510e-07f,
+7.939474689e-07f, 7.958737037e-07f, 7.977982521e-07f, 7.997211110e-07f, 8.016422776e-07f, 8.035617486e-07f, 8.054795209e-07f, 8.073955916e-07f, 8.093099576e-07f, 8.112226159e-07f,
+8.131335633e-07f, 8.150427968e-07f, 8.169503134e-07f, 8.188561100e-07f, 8.207601837e-07f, 8.226625313e-07f, 8.245631499e-07f, 8.264620364e-07f, 8.283591879e-07f, 8.302546011e-07f,
+8.321482733e-07f, 8.340402013e-07f, 8.359303821e-07f, 8.378188128e-07f, 8.397054904e-07f, 8.415904117e-07f, 8.434735739e-07f, 8.453549740e-07f, 8.472346090e-07f, 8.491124758e-07f,
+8.509885715e-07f, 8.528628932e-07f, 8.547354378e-07f, 8.566062024e-07f, 8.584751840e-07f, 8.603423796e-07f, 8.622077864e-07f, 8.640714013e-07f, 8.659332214e-07f, 8.677932438e-07f,
+8.696514654e-07f, 8.715078834e-07f, 8.733624948e-07f, 8.752152967e-07f, 8.770662862e-07f, 8.789154603e-07f, 8.807628161e-07f, 8.826083507e-07f, 8.844520612e-07f, 8.862939446e-07f,
+8.881339981e-07f, 8.899722188e-07f, 8.918086036e-07f, 8.936431499e-07f, 8.954758546e-07f, 8.973067148e-07f, 8.991357278e-07f, 9.009628905e-07f, 9.027882002e-07f, 9.046116539e-07f,
+9.064332487e-07f, 9.082529819e-07f, 9.100708505e-07f, 9.118868517e-07f, 9.137009827e-07f, 9.155132404e-07f, 9.173236223e-07f, 9.191321252e-07f, 9.209387466e-07f, 9.227434834e-07f,
+9.245463328e-07f, 9.263472921e-07f, 9.281463585e-07f, 9.299435289e-07f, 9.317388008e-07f, 9.335321712e-07f, 9.353236373e-07f, 9.371131963e-07f, 9.389008455e-07f, 9.406865819e-07f,
+9.424704029e-07f, 9.442523057e-07f, 9.460322873e-07f, 9.478103451e-07f, 9.495864763e-07f, 9.513606781e-07f, 9.531329477e-07f, 9.549032823e-07f, 9.566716792e-07f, 9.584381356e-07f,
+9.602026488e-07f, 9.619652160e-07f, 9.637258345e-07f, 9.654845014e-07f, 9.672412141e-07f, 9.689959699e-07f, 9.707487659e-07f, 9.724995994e-07f, 9.742484678e-07f, 9.759953683e-07f,
+9.777402982e-07f, 9.794832547e-07f, 9.812242352e-07f, 9.829632369e-07f, 9.847002571e-07f, 9.864352932e-07f, 9.881683424e-07f, 9.898994020e-07f, 9.916284694e-07f, 9.933555419e-07f,
+9.950806167e-07f, 9.968036913e-07f, 9.985247629e-07f, 1.000243829e-06f, 1.001960886e-06f, 1.003675933e-06f, 1.005388966e-06f, 1.007099983e-06f, 1.008808981e-06f, 1.010515957e-06f,
+1.012220909e-06f, 1.013923834e-06f, 1.015624730e-06f, 1.017323593e-06f, 1.019020422e-06f, 1.020715214e-06f, 1.022407965e-06f, 1.024098674e-06f, 1.025787337e-06f, 1.027473953e-06f,
+1.029158518e-06f, 1.030841031e-06f, 1.032521487e-06f, 1.034199886e-06f, 1.035876223e-06f, 1.037550498e-06f, 1.039222706e-06f, 1.040892845e-06f, 1.042560914e-06f, 1.044226909e-06f,
+1.045890828e-06f, 1.047552668e-06f, 1.049212426e-06f, 1.050870101e-06f, 1.052525689e-06f, 1.054179188e-06f, 1.055830595e-06f, 1.057479909e-06f, 1.059127126e-06f, 1.060772244e-06f,
+1.062415260e-06f, 1.064056172e-06f, 1.065694977e-06f, 1.067331673e-06f, 1.068966257e-06f, 1.070598727e-06f, 1.072229081e-06f, 1.073857315e-06f, 1.075483427e-06f, 1.077107416e-06f,
+1.078729277e-06f, 1.080349010e-06f, 1.081966611e-06f, 1.083582077e-06f, 1.085195408e-06f, 1.086806599e-06f, 1.088415649e-06f, 1.090022554e-06f, 1.091627314e-06f, 1.093229925e-06f,
+1.094830384e-06f, 1.096428690e-06f, 1.098024839e-06f, 1.099618830e-06f, 1.101210660e-06f, 1.102800327e-06f, 1.104387827e-06f, 1.105973160e-06f, 1.107556322e-06f, 1.109137311e-06f,
+1.110716124e-06f, 1.112292759e-06f, 1.113867215e-06f, 1.115439487e-06f, 1.117009575e-06f, 1.118577475e-06f, 1.120143186e-06f, 1.121706704e-06f, 1.123268028e-06f, 1.124827155e-06f,
+1.126384083e-06f, 1.127938809e-06f, 1.129491332e-06f, 1.131041648e-06f, 1.132589755e-06f, 1.134135652e-06f, 1.135679335e-06f, 1.137220803e-06f, 1.138760052e-06f, 1.140297082e-06f,
+1.141831889e-06f, 1.143364471e-06f, 1.144894826e-06f, 1.146422951e-06f, 1.147948845e-06f, 1.149472504e-06f, 1.150993927e-06f, 1.152513112e-06f, 1.154030055e-06f, 1.155544756e-06f,
+1.157057210e-06f, 1.158567417e-06f, 1.160075375e-06f, 1.161581079e-06f, 1.163084530e-06f, 1.164585723e-06f, 1.166084657e-06f, 1.167581330e-06f, 1.169075740e-06f, 1.170567884e-06f,
+1.172057760e-06f, 1.173545365e-06f, 1.175030698e-06f, 1.176513757e-06f, 1.177994539e-06f, 1.179473041e-06f, 1.180949263e-06f, 1.182423200e-06f, 1.183894853e-06f, 1.185364217e-06f,
+1.186831291e-06f, 1.188296073e-06f, 1.189758561e-06f, 1.191218752e-06f, 1.192676644e-06f, 1.194132235e-06f, 1.195585523e-06f, 1.197036506e-06f, 1.198485182e-06f, 1.199931548e-06f,
+1.201375602e-06f, 1.202817342e-06f, 1.204256767e-06f, 1.205693873e-06f, 1.207128659e-06f, 1.208561123e-06f, 1.209991263e-06f, 1.211419075e-06f, 1.212844559e-06f, 1.214267713e-06f,
+1.215688533e-06f, 1.217107018e-06f, 1.218523167e-06f, 1.219936976e-06f, 1.221348444e-06f, 1.222757568e-06f, 1.224164347e-06f, 1.225568779e-06f, 1.226970861e-06f, 1.228370592e-06f,
+1.229767969e-06f, 1.231162990e-06f, 1.232555653e-06f, 1.233945957e-06f, 1.235333899e-06f, 1.236719477e-06f, 1.238102689e-06f, 1.239483533e-06f, 1.240862007e-06f, 1.242238109e-06f,
+1.243611837e-06f, 1.244983189e-06f, 1.246352164e-06f, 1.247718758e-06f, 1.249082970e-06f, 1.250444799e-06f, 1.251804241e-06f, 1.253161295e-06f, 1.254515960e-06f, 1.255868232e-06f,
+1.257218111e-06f, 1.258565594e-06f, 1.259910679e-06f, 1.261253365e-06f, 1.262593649e-06f, 1.263931529e-06f, 1.265267003e-06f, 1.266600070e-06f, 1.267930728e-06f, 1.269258974e-06f,
+1.270584807e-06f, 1.271908225e-06f, 1.273229226e-06f, 1.274547808e-06f, 1.275863969e-06f, 1.277177707e-06f, 1.278489020e-06f, 1.279797906e-06f, 1.281104365e-06f, 1.282408392e-06f,
+1.283709988e-06f, 1.285009149e-06f, 1.286305875e-06f, 1.287600162e-06f, 1.288892010e-06f, 1.290181416e-06f, 1.291468379e-06f, 1.292752897e-06f, 1.294034967e-06f, 1.295314588e-06f,
+1.296591759e-06f, 1.297866477e-06f, 1.299138741e-06f, 1.300408548e-06f, 1.301675898e-06f, 1.302940787e-06f, 1.304203215e-06f, 1.305463179e-06f, 1.306720678e-06f, 1.307975710e-06f,
+1.309228274e-06f, 1.310478366e-06f, 1.311725986e-06f, 1.312971132e-06f, 1.314213802e-06f, 1.315453994e-06f, 1.316691707e-06f, 1.317926939e-06f, 1.319159687e-06f, 1.320389951e-06f,
+1.321617728e-06f, 1.322843018e-06f, 1.324065817e-06f, 1.325286125e-06f, 1.326503939e-06f, 1.327719258e-06f, 1.328932080e-06f, 1.330142404e-06f, 1.331350228e-06f, 1.332555549e-06f,
+1.333758367e-06f, 1.334958680e-06f, 1.336156486e-06f, 1.337351783e-06f, 1.338544570e-06f, 1.339734845e-06f, 1.340922606e-06f, 1.342107851e-06f, 1.343290580e-06f, 1.344470790e-06f,
+1.345648480e-06f, 1.346823648e-06f, 1.347996292e-06f, 1.349166411e-06f, 1.350334003e-06f, 1.351499067e-06f, 1.352661600e-06f, 1.353821602e-06f, 1.354979071e-06f, 1.356134004e-06f,
+1.357286402e-06f, 1.358436260e-06f, 1.359583580e-06f, 1.360728358e-06f, 1.361870593e-06f, 1.363010283e-06f, 1.364147428e-06f, 1.365282025e-06f, 1.366414073e-06f, 1.367543570e-06f,
+1.368670514e-06f, 1.369794905e-06f, 1.370916741e-06f, 1.372036019e-06f, 1.373152740e-06f, 1.374266900e-06f, 1.375378498e-06f, 1.376487534e-06f, 1.377594005e-06f, 1.378697910e-06f,
+1.379799247e-06f, 1.380898016e-06f, 1.381994213e-06f, 1.383087839e-06f, 1.384178891e-06f, 1.385267368e-06f, 1.386353269e-06f, 1.387436591e-06f, 1.388517334e-06f, 1.389595496e-06f,
+1.390671076e-06f, 1.391744072e-06f, 1.392814482e-06f, 1.393882306e-06f, 1.394947542e-06f, 1.396010188e-06f, 1.397070242e-06f, 1.398127705e-06f, 1.399182573e-06f, 1.400234846e-06f,
+1.401284523e-06f, 1.402331601e-06f, 1.403376080e-06f, 1.404417958e-06f, 1.405457233e-06f, 1.406493905e-06f, 1.407527971e-06f, 1.408559431e-06f, 1.409588283e-06f, 1.410614526e-06f,
+1.411638158e-06f, 1.412659178e-06f, 1.413677585e-06f, 1.414693378e-06f, 1.415706554e-06f, 1.416717113e-06f, 1.417725053e-06f, 1.418730373e-06f, 1.419733071e-06f, 1.420733147e-06f,
+1.421730599e-06f, 1.422725426e-06f, 1.423717626e-06f, 1.424707198e-06f, 1.425694141e-06f, 1.426678453e-06f, 1.427660133e-06f, 1.428639180e-06f, 1.429615593e-06f, 1.430589371e-06f,
+1.431560511e-06f, 1.432529013e-06f, 1.433494876e-06f, 1.434458097e-06f, 1.435418677e-06f, 1.436376614e-06f, 1.437331906e-06f, 1.438284553e-06f, 1.439234552e-06f, 1.440181904e-06f,
+1.441126606e-06f, 1.442068657e-06f, 1.443008057e-06f, 1.443944803e-06f, 1.444878896e-06f, 1.445810333e-06f, 1.446739113e-06f, 1.447665236e-06f, 1.448588699e-06f, 1.449509503e-06f,
+1.450427645e-06f, 1.451343124e-06f, 1.452255940e-06f, 1.453166091e-06f, 1.454073576e-06f, 1.454978394e-06f, 1.455880543e-06f, 1.456780023e-06f, 1.457676833e-06f, 1.458570971e-06f,
+1.459462436e-06f, 1.460351227e-06f, 1.461237343e-06f, 1.462120782e-06f, 1.463001545e-06f, 1.463879629e-06f, 1.464755034e-06f, 1.465627758e-06f, 1.466497800e-06f, 1.467365160e-06f,
+1.468229836e-06f, 1.469091827e-06f, 1.469951132e-06f, 1.470807750e-06f, 1.471661679e-06f, 1.472512920e-06f, 1.473361471e-06f, 1.474207330e-06f, 1.475050497e-06f, 1.475890971e-06f,
+1.476728750e-06f, 1.477563834e-06f, 1.478396221e-06f, 1.479225912e-06f, 1.480052903e-06f, 1.480877196e-06f, 1.481698788e-06f, 1.482517678e-06f, 1.483333866e-06f, 1.484147351e-06f,
+1.484958131e-06f, 1.485766206e-06f, 1.486571575e-06f, 1.487374237e-06f, 1.488174190e-06f, 1.488971434e-06f, 1.489765967e-06f, 1.490557790e-06f, 1.491346901e-06f, 1.492133298e-06f,
+1.492916982e-06f, 1.493697951e-06f, 1.494476204e-06f, 1.495251741e-06f, 1.496024560e-06f, 1.496794660e-06f, 1.497562041e-06f, 1.498326701e-06f, 1.499088641e-06f, 1.499847858e-06f,
+1.500604353e-06f, 1.501358123e-06f, 1.502109169e-06f, 1.502857489e-06f, 1.503603083e-06f, 1.504345949e-06f, 1.505086087e-06f, 1.505823497e-06f, 1.506558176e-06f, 1.507290125e-06f,
+1.508019342e-06f, 1.508745826e-06f, 1.509469578e-06f, 1.510190595e-06f, 1.510908878e-06f, 1.511624425e-06f, 1.512337236e-06f, 1.513047309e-06f, 1.513754644e-06f, 1.514459241e-06f,
+1.515161098e-06f, 1.515860214e-06f, 1.516556589e-06f, 1.517250222e-06f, 1.517941113e-06f, 1.518629260e-06f, 1.519314663e-06f, 1.519997321e-06f, 1.520677233e-06f, 1.521354398e-06f,
+1.522028817e-06f, 1.522700487e-06f, 1.523369409e-06f, 1.524035581e-06f, 1.524699003e-06f, 1.525359675e-06f, 1.526017595e-06f, 1.526672762e-06f, 1.527325177e-06f, 1.527974838e-06f,
+1.528621745e-06f, 1.529265896e-06f, 1.529907292e-06f, 1.530545932e-06f, 1.531181814e-06f, 1.531814939e-06f, 1.532445306e-06f, 1.533072914e-06f, 1.533697761e-06f, 1.534319849e-06f,
+1.534939176e-06f, 1.535555741e-06f, 1.536169544e-06f, 1.536780584e-06f, 1.537388861e-06f, 1.537994373e-06f, 1.538597121e-06f, 1.539197104e-06f, 1.539794320e-06f, 1.540388771e-06f,
+1.540980454e-06f, 1.541569370e-06f, 1.542155517e-06f, 1.542738895e-06f, 1.543319505e-06f, 1.543897344e-06f, 1.544472413e-06f, 1.545044710e-06f, 1.545614236e-06f, 1.546180990e-06f,
+1.546744971e-06f, 1.547306179e-06f, 1.547864614e-06f, 1.548420274e-06f, 1.548973159e-06f, 1.549523269e-06f, 1.550070602e-06f, 1.550615160e-06f, 1.551156941e-06f, 1.551695944e-06f,
+1.552232170e-06f, 1.552765617e-06f, 1.553296286e-06f, 1.553824175e-06f, 1.554349284e-06f, 1.554871613e-06f, 1.555391162e-06f, 1.555907929e-06f, 1.556421915e-06f, 1.556933119e-06f,
+1.557441540e-06f, 1.557947178e-06f, 1.558450033e-06f, 1.558950104e-06f, 1.559447391e-06f, 1.559941893e-06f, 1.560433611e-06f, 1.560922542e-06f, 1.561408688e-06f, 1.561892048e-06f,
+1.562372621e-06f, 1.562850407e-06f, 1.563325405e-06f, 1.563797616e-06f, 1.564267039e-06f, 1.564733673e-06f, 1.565197518e-06f, 1.565658574e-06f, 1.566116840e-06f, 1.566572316e-06f,
+1.567025002e-06f, 1.567474897e-06f, 1.567922002e-06f, 1.568366315e-06f, 1.568807836e-06f, 1.569246565e-06f, 1.569682502e-06f, 1.570115647e-06f, 1.570545998e-06f, 1.570973556e-06f,
+1.571398321e-06f, 1.571820292e-06f, 1.572239469e-06f, 1.572655852e-06f, 1.573069440e-06f, 1.573480233e-06f, 1.573888230e-06f, 1.574293433e-06f, 1.574695840e-06f, 1.575095450e-06f,
+1.575492265e-06f, 1.575886283e-06f, 1.576277505e-06f, 1.576665929e-06f, 1.577051557e-06f, 1.577434387e-06f, 1.577814419e-06f, 1.578191654e-06f, 1.578566091e-06f, 1.578937729e-06f,
+1.579306569e-06f, 1.579672611e-06f, 1.580035854e-06f, 1.580396298e-06f, 1.580753942e-06f, 1.581108788e-06f, 1.581460834e-06f, 1.581810080e-06f, 1.582156527e-06f, 1.582500173e-06f,
+1.582841020e-06f, 1.583179066e-06f, 1.583514312e-06f, 1.583846757e-06f, 1.584176402e-06f, 1.584503245e-06f, 1.584827288e-06f, 1.585148530e-06f, 1.585466971e-06f, 1.585782611e-06f,
+1.586095449e-06f, 1.586405486e-06f, 1.586712722e-06f, 1.587017155e-06f, 1.587318787e-06f, 1.587617618e-06f, 1.587913646e-06f, 1.588206873e-06f, 1.588497298e-06f, 1.588784921e-06f,
+1.589069741e-06f, 1.589351760e-06f, 1.589630976e-06f, 1.589907390e-06f, 1.590181002e-06f, 1.590451812e-06f, 1.590719820e-06f, 1.590985025e-06f, 1.591247428e-06f, 1.591507029e-06f,
+1.591763827e-06f, 1.592017823e-06f, 1.592269017e-06f, 1.592517409e-06f, 1.592762998e-06f, 1.593005785e-06f, 1.593245770e-06f, 1.593482952e-06f, 1.593717333e-06f, 1.593948911e-06f,
+1.594177688e-06f, 1.594403662e-06f, 1.594626834e-06f, 1.594847205e-06f, 1.595064773e-06f, 1.595279540e-06f, 1.595491506e-06f, 1.595700669e-06f, 1.595907031e-06f, 1.596110592e-06f,
+1.596311352e-06f, 1.596509310e-06f, 1.596704467e-06f, 1.596896823e-06f, 1.597086378e-06f, 1.597273132e-06f, 1.597457086e-06f, 1.597638239e-06f, 1.597816592e-06f, 1.597992145e-06f,
+1.598164897e-06f, 1.598334849e-06f, 1.598502002e-06f, 1.598666355e-06f, 1.598827909e-06f, 1.598986663e-06f, 1.599142618e-06f, 1.599295774e-06f, 1.599446131e-06f, 1.599593690e-06f,
+1.599738450e-06f, 1.599880412e-06f, 1.600019576e-06f, 1.600155942e-06f, 1.600289511e-06f, 1.600420282e-06f, 1.600548256e-06f, 1.600673434e-06f, 1.600795814e-06f, 1.600915398e-06f,
+1.601032186e-06f, 1.601146177e-06f, 1.601257373e-06f, 1.601365774e-06f, 1.601471379e-06f, 1.601574190e-06f, 1.601674205e-06f, 1.601771427e-06f, 1.601865854e-06f, 1.601957487e-06f,
+1.602046327e-06f, 1.602132373e-06f, 1.602215627e-06f, 1.602296088e-06f, 1.602373756e-06f, 1.602448632e-06f, 1.602520717e-06f, 1.602590010e-06f, 1.602656512e-06f, 1.602720224e-06f,
+1.602781145e-06f, 1.602839276e-06f, 1.602894617e-06f, 1.602947169e-06f, 1.602996932e-06f, 1.603043906e-06f, 1.603088091e-06f, 1.603129489e-06f, 1.603168100e-06f, 1.603203923e-06f,
+1.603236959e-06f, 1.603267209e-06f, 1.603294673e-06f, 1.603319351e-06f, 1.603341245e-06f, 1.603360353e-06f, 1.603376677e-06f, 1.603390217e-06f, 1.603400973e-06f, 1.603408947e-06f,
+1.603414137e-06f, 1.603416546e-06f, 1.603416172e-06f, 1.603413017e-06f, 1.603407082e-06f, 1.603398365e-06f, 1.603386869e-06f, 1.603372594e-06f, 1.603355539e-06f, 1.603335705e-06f,
+1.603313094e-06f, 1.603287705e-06f, 1.603259539e-06f, 1.603228596e-06f, 1.603194877e-06f, 1.603158382e-06f, 1.603119112e-06f, 1.603077068e-06f, 1.603032250e-06f, 1.602984658e-06f,
+1.602934292e-06f, 1.602881155e-06f, 1.602825245e-06f, 1.602766564e-06f, 1.602705112e-06f, 1.602640890e-06f, 1.602573898e-06f, 1.602504137e-06f, 1.602431607e-06f, 1.602356308e-06f,
+1.602278243e-06f, 1.602197410e-06f, 1.602113811e-06f, 1.602027447e-06f, 1.601938317e-06f, 1.601846423e-06f, 1.601751764e-06f, 1.601654342e-06f, 1.601554158e-06f, 1.601451211e-06f,
+1.601345503e-06f, 1.601237034e-06f, 1.601125805e-06f, 1.601011816e-06f, 1.600895068e-06f, 1.600775562e-06f, 1.600653298e-06f, 1.600528277e-06f, 1.600400499e-06f, 1.600269966e-06f,
+1.600136678e-06f, 1.600000635e-06f, 1.599861839e-06f, 1.599720290e-06f, 1.599575988e-06f, 1.599428935e-06f, 1.599279131e-06f, 1.599126577e-06f, 1.598971273e-06f, 1.598813220e-06f,
+1.598652419e-06f, 1.598488871e-06f, 1.598322576e-06f, 1.598153535e-06f, 1.597981749e-06f, 1.597807219e-06f, 1.597629945e-06f, 1.597449928e-06f, 1.597267168e-06f, 1.597081667e-06f,
+1.596893426e-06f, 1.596702444e-06f, 1.596508724e-06f, 1.596312265e-06f, 1.596113068e-06f, 1.595911135e-06f, 1.595706465e-06f, 1.595499060e-06f, 1.595288921e-06f, 1.595076049e-06f,
+1.594860443e-06f, 1.594642105e-06f, 1.594421036e-06f, 1.594197237e-06f, 1.593970708e-06f, 1.593741451e-06f, 1.593509466e-06f, 1.593274753e-06f, 1.593037315e-06f, 1.592797151e-06f,
+1.592554262e-06f, 1.592308650e-06f, 1.592060315e-06f, 1.591809258e-06f, 1.591555481e-06f, 1.591298983e-06f, 1.591039765e-06f, 1.590777830e-06f, 1.590513177e-06f, 1.590245807e-06f,
+1.589975721e-06f, 1.589702921e-06f, 1.589427407e-06f, 1.589149180e-06f, 1.588868241e-06f, 1.588584591e-06f, 1.588298230e-06f, 1.588009160e-06f, 1.587717382e-06f, 1.587422897e-06f,
+1.587125705e-06f, 1.586825807e-06f, 1.586523205e-06f, 1.586217900e-06f, 1.585909891e-06f, 1.585599182e-06f, 1.585285771e-06f, 1.584969661e-06f, 1.584650852e-06f, 1.584329345e-06f,
+1.584005142e-06f, 1.583678242e-06f, 1.583348648e-06f, 1.583016361e-06f, 1.582681380e-06f, 1.582343708e-06f, 1.582003345e-06f, 1.581660293e-06f, 1.581314551e-06f, 1.580966122e-06f,
+1.580615007e-06f, 1.580261206e-06f, 1.579904721e-06f, 1.579545552e-06f, 1.579183700e-06f, 1.578819168e-06f, 1.578451955e-06f, 1.578082063e-06f, 1.577709492e-06f, 1.577334245e-06f,
+1.576956322e-06f, 1.576575724e-06f, 1.576192452e-06f, 1.575806507e-06f, 1.575417890e-06f, 1.575026604e-06f, 1.574632647e-06f, 1.574236023e-06f, 1.573836731e-06f, 1.573434774e-06f,
+1.573030151e-06f, 1.572622864e-06f, 1.572212915e-06f, 1.571800305e-06f, 1.571385034e-06f, 1.570967104e-06f, 1.570546515e-06f, 1.570123270e-06f, 1.569697369e-06f, 1.569268814e-06f,
+1.568837605e-06f, 1.568403744e-06f, 1.567967231e-06f, 1.567528069e-06f, 1.567086258e-06f, 1.566641800e-06f, 1.566194695e-06f, 1.565744946e-06f, 1.565292552e-06f, 1.564837516e-06f,
+1.564379838e-06f, 1.563919520e-06f, 1.563456563e-06f, 1.562990968e-06f, 1.562522737e-06f, 1.562051870e-06f, 1.561578369e-06f, 1.561102235e-06f, 1.560623470e-06f, 1.560142074e-06f,
+1.559658050e-06f, 1.559171397e-06f, 1.558682118e-06f, 1.558190214e-06f, 1.557695685e-06f, 1.557198534e-06f, 1.556698761e-06f, 1.556196369e-06f, 1.555691357e-06f, 1.555183728e-06f,
+1.554673482e-06f, 1.554160622e-06f, 1.553645148e-06f, 1.553127062e-06f, 1.552606364e-06f, 1.552083057e-06f, 1.551557142e-06f, 1.551028619e-06f, 1.550497491e-06f, 1.549963758e-06f,
+1.549427423e-06f, 1.548888486e-06f, 1.548346948e-06f, 1.547802812e-06f, 1.547256078e-06f, 1.546706747e-06f, 1.546154822e-06f, 1.545600304e-06f, 1.545043193e-06f, 1.544483492e-06f,
+1.543921201e-06f, 1.543356322e-06f, 1.542788857e-06f, 1.542218807e-06f, 1.541646173e-06f, 1.541070956e-06f, 1.540493159e-06f, 1.539912782e-06f, 1.539329827e-06f, 1.538744296e-06f,
+1.538156189e-06f, 1.537565509e-06f, 1.536972256e-06f, 1.536376432e-06f, 1.535778039e-06f, 1.535177078e-06f, 1.534573551e-06f, 1.533967458e-06f, 1.533358802e-06f, 1.532747583e-06f,
+1.532133804e-06f, 1.531517466e-06f, 1.530898570e-06f, 1.530277117e-06f, 1.529653110e-06f, 1.529026550e-06f, 1.528397438e-06f, 1.527765776e-06f, 1.527131565e-06f, 1.526494807e-06f,
+1.525855503e-06f, 1.525213655e-06f, 1.524569264e-06f, 1.523922332e-06f, 1.523272861e-06f, 1.522620851e-06f, 1.521966305e-06f, 1.521309224e-06f, 1.520649610e-06f, 1.519987463e-06f,
+1.519322787e-06f, 1.518655581e-06f, 1.517985848e-06f, 1.517313590e-06f, 1.516638808e-06f, 1.515961503e-06f, 1.515281677e-06f, 1.514599332e-06f, 1.513914469e-06f, 1.513227090e-06f,
+1.512537197e-06f, 1.511844791e-06f, 1.511149873e-06f, 1.510452445e-06f, 1.509752510e-06f, 1.509050068e-06f, 1.508345121e-06f, 1.507637671e-06f, 1.506927719e-06f, 1.506215268e-06f,
+1.505500318e-06f, 1.504782871e-06f, 1.504062929e-06f, 1.503340494e-06f, 1.502615567e-06f, 1.501888150e-06f, 1.501158245e-06f, 1.500425853e-06f, 1.499690976e-06f, 1.498953615e-06f,
+1.498213773e-06f, 1.497471451e-06f, 1.496726650e-06f, 1.495979373e-06f, 1.495229621e-06f, 1.494477395e-06f, 1.493722698e-06f, 1.492965531e-06f, 1.492205896e-06f, 1.491443795e-06f,
+1.490679229e-06f, 1.489912200e-06f, 1.489142709e-06f, 1.488370759e-06f, 1.487596352e-06f, 1.486819488e-06f, 1.486040170e-06f, 1.485258400e-06f, 1.484474178e-06f, 1.483687508e-06f,
+1.482898390e-06f, 1.482106827e-06f, 1.481312820e-06f, 1.480516372e-06f, 1.479717483e-06f, 1.478916155e-06f, 1.478112391e-06f, 1.477306192e-06f, 1.476497560e-06f, 1.475686497e-06f,
+1.474873004e-06f, 1.474057084e-06f, 1.473238737e-06f, 1.472417967e-06f, 1.471594775e-06f, 1.470769162e-06f, 1.469941130e-06f, 1.469110682e-06f, 1.468277819e-06f, 1.467442543e-06f,
+1.466604855e-06f, 1.465764758e-06f, 1.464922254e-06f, 1.464077344e-06f, 1.463230030e-06f, 1.462380314e-06f, 1.461528198e-06f, 1.460673683e-06f, 1.459816772e-06f, 1.458957467e-06f,
+1.458095769e-06f, 1.457231680e-06f, 1.456365202e-06f, 1.455496338e-06f, 1.454625088e-06f, 1.453751455e-06f, 1.452875441e-06f, 1.451997047e-06f, 1.451116276e-06f, 1.450233129e-06f,
+1.449347609e-06f, 1.448459716e-06f, 1.447569454e-06f, 1.446676825e-06f, 1.445781829e-06f, 1.444884469e-06f, 1.443984747e-06f, 1.443082665e-06f, 1.442178224e-06f, 1.441271428e-06f,
+1.440362277e-06f, 1.439450774e-06f, 1.438536920e-06f, 1.437620718e-06f, 1.436702170e-06f, 1.435781277e-06f, 1.434858041e-06f, 1.433932465e-06f, 1.433004551e-06f, 1.432074300e-06f,
+1.431141714e-06f, 1.430206796e-06f, 1.429269547e-06f, 1.428329970e-06f, 1.427388066e-06f, 1.426443838e-06f, 1.425497287e-06f, 1.424548416e-06f, 1.423597226e-06f, 1.422643719e-06f,
+1.421687899e-06f, 1.420729765e-06f, 1.419769322e-06f, 1.418806570e-06f, 1.417841512e-06f, 1.416874150e-06f, 1.415904485e-06f, 1.414932520e-06f, 1.413958257e-06f, 1.412981699e-06f,
+1.412002846e-06f, 1.411021701e-06f, 1.410038267e-06f, 1.409052545e-06f, 1.408064537e-06f, 1.407074246e-06f, 1.406081673e-06f, 1.405086821e-06f, 1.404089691e-06f, 1.403090286e-06f,
+1.402088609e-06f, 1.401084660e-06f, 1.400078442e-06f, 1.399069958e-06f, 1.398059209e-06f, 1.397046197e-06f, 1.396030925e-06f, 1.395013395e-06f, 1.393993608e-06f, 1.392971568e-06f,
+1.391947276e-06f, 1.390920734e-06f, 1.389891944e-06f, 1.388860909e-06f, 1.387827630e-06f, 1.386792111e-06f, 1.385754352e-06f, 1.384714357e-06f, 1.383672127e-06f, 1.382627665e-06f,
+1.381580972e-06f, 1.380532051e-06f, 1.379480905e-06f, 1.378427534e-06f, 1.377371942e-06f, 1.376314130e-06f, 1.375254102e-06f, 1.374191858e-06f, 1.373127401e-06f, 1.372060734e-06f,
+1.370991859e-06f, 1.369920777e-06f, 1.368847492e-06f, 1.367772005e-06f, 1.366694318e-06f, 1.365614434e-06f, 1.364532355e-06f, 1.363448083e-06f, 1.362361620e-06f, 1.361272969e-06f,
+1.360182132e-06f, 1.359089111e-06f, 1.357993909e-06f, 1.356896527e-06f, 1.355796968e-06f, 1.354695234e-06f, 1.353591328e-06f, 1.352485252e-06f, 1.351377007e-06f, 1.350266597e-06f,
+1.349154023e-06f, 1.348039288e-06f, 1.346922394e-06f, 1.345803343e-06f, 1.344682138e-06f, 1.343558781e-06f, 1.342433274e-06f, 1.341305620e-06f, 1.340175820e-06f, 1.339043878e-06f,
+1.337909795e-06f, 1.336773575e-06f, 1.335635218e-06f, 1.334494727e-06f, 1.333352106e-06f, 1.332207355e-06f, 1.331060478e-06f, 1.329911476e-06f, 1.328760353e-06f, 1.327607110e-06f,
+1.326451750e-06f, 1.325294275e-06f, 1.324134687e-06f, 1.322972989e-06f, 1.321809184e-06f, 1.320643273e-06f, 1.319475259e-06f, 1.318305144e-06f, 1.317132930e-06f, 1.315958621e-06f,
+1.314782218e-06f, 1.313603724e-06f, 1.312423141e-06f, 1.311240472e-06f, 1.310055718e-06f, 1.308868883e-06f, 1.307679969e-06f, 1.306488977e-06f, 1.305295912e-06f, 1.304100774e-06f,
+1.302903566e-06f, 1.301704292e-06f, 1.300502952e-06f, 1.299299550e-06f, 1.298094088e-06f, 1.296886568e-06f, 1.295676994e-06f, 1.294465366e-06f, 1.293251688e-06f, 1.292035963e-06f,
+1.290818192e-06f, 1.289598378e-06f, 1.288376524e-06f, 1.287152631e-06f, 1.285926703e-06f, 1.284698742e-06f, 1.283468750e-06f, 1.282236730e-06f, 1.281002685e-06f, 1.279766616e-06f,
+1.278528526e-06f, 1.277288417e-06f, 1.276046293e-06f, 1.274802156e-06f, 1.273556008e-06f, 1.272307851e-06f, 1.271057688e-06f, 1.269805522e-06f, 1.268551355e-06f, 1.267295190e-06f,
+1.266037029e-06f, 1.264776874e-06f, 1.263514729e-06f, 1.262250595e-06f, 1.260984475e-06f, 1.259716372e-06f, 1.258446288e-06f, 1.257174225e-06f, 1.255900187e-06f, 1.254624176e-06f,
+1.253346194e-06f, 1.252066244e-06f, 1.250784328e-06f, 1.249500450e-06f, 1.248214610e-06f, 1.246926813e-06f, 1.245637060e-06f, 1.244345354e-06f, 1.243051698e-06f, 1.241756095e-06f,
+1.240458546e-06f, 1.239159054e-06f, 1.237857622e-06f, 1.236554253e-06f, 1.235248949e-06f, 1.233941713e-06f, 1.232632547e-06f, 1.231321453e-06f, 1.230008435e-06f, 1.228693496e-06f,
+1.227376636e-06f, 1.226057860e-06f, 1.224737170e-06f, 1.223414568e-06f, 1.222090057e-06f, 1.220763640e-06f, 1.219435319e-06f, 1.218105097e-06f, 1.216772976e-06f, 1.215438959e-06f,
+1.214103050e-06f, 1.212765249e-06f, 1.211425560e-06f, 1.210083986e-06f, 1.208740529e-06f, 1.207395192e-06f, 1.206047978e-06f, 1.204698889e-06f, 1.203347927e-06f, 1.201995096e-06f,
+1.200640398e-06f, 1.199283836e-06f, 1.197925412e-06f, 1.196565129e-06f, 1.195202990e-06f, 1.193838997e-06f, 1.192473153e-06f, 1.191105461e-06f, 1.189735923e-06f, 1.188364543e-06f,
+1.186991322e-06f, 1.185616264e-06f, 1.184239370e-06f, 1.182860645e-06f, 1.181480090e-06f, 1.180097708e-06f, 1.178713502e-06f, 1.177327475e-06f, 1.175939629e-06f, 1.174549967e-06f,
+1.173158491e-06f, 1.171765206e-06f, 1.170370112e-06f, 1.168973213e-06f, 1.167574511e-06f, 1.166174010e-06f, 1.164771711e-06f, 1.163367619e-06f, 1.161961735e-06f, 1.160554062e-06f,
+1.159144603e-06f, 1.157733360e-06f, 1.156320337e-06f, 1.154905536e-06f, 1.153488960e-06f, 1.152070612e-06f, 1.150650494e-06f, 1.149228609e-06f, 1.147804959e-06f, 1.146379549e-06f,
+1.144952380e-06f, 1.143523455e-06f, 1.142092777e-06f, 1.140660348e-06f, 1.139226172e-06f, 1.137790251e-06f, 1.136352589e-06f, 1.134913187e-06f, 1.133472048e-06f, 1.132029176e-06f,
+1.130584573e-06f, 1.129138242e-06f, 1.127690186e-06f, 1.126240407e-06f, 1.124788908e-06f, 1.123335693e-06f, 1.121880763e-06f, 1.120424122e-06f, 1.118965772e-06f, 1.117505717e-06f,
+1.116043959e-06f, 1.114580501e-06f, 1.113115346e-06f, 1.111648496e-06f, 1.110179954e-06f, 1.108709724e-06f, 1.107237808e-06f, 1.105764209e-06f, 1.104288929e-06f, 1.102811972e-06f,
+1.101333340e-06f, 1.099853037e-06f, 1.098371064e-06f, 1.096887426e-06f, 1.095402124e-06f, 1.093915161e-06f, 1.092426541e-06f, 1.090936267e-06f, 1.089444340e-06f, 1.087950765e-06f,
+1.086455543e-06f, 1.084958678e-06f, 1.083460173e-06f, 1.081960030e-06f, 1.080458253e-06f, 1.078954843e-06f, 1.077449805e-06f, 1.075943141e-06f, 1.074434853e-06f, 1.072924945e-06f,
+1.071413420e-06f, 1.069900280e-06f, 1.068385529e-06f, 1.066869169e-06f, 1.065351203e-06f, 1.063831634e-06f, 1.062310465e-06f, 1.060787698e-06f, 1.059263338e-06f, 1.057737386e-06f,
+1.056209846e-06f, 1.054680720e-06f, 1.053150012e-06f, 1.051617724e-06f, 1.050083859e-06f, 1.048548420e-06f, 1.047011410e-06f, 1.045472832e-06f, 1.043932690e-06f, 1.042390984e-06f,
+1.040847720e-06f, 1.039302900e-06f, 1.037756526e-06f, 1.036208601e-06f, 1.034659129e-06f, 1.033108113e-06f, 1.031555554e-06f, 1.030001458e-06f, 1.028445825e-06f, 1.026888660e-06f,
+1.025329964e-06f, 1.023769742e-06f, 1.022207996e-06f, 1.020644729e-06f, 1.019079945e-06f, 1.017513645e-06f, 1.015945833e-06f, 1.014376511e-06f, 1.012805684e-06f, 1.011233354e-06f,
+1.009659523e-06f, 1.008084195e-06f, 1.006507373e-06f, 1.004929060e-06f, 1.003349258e-06f, 1.001767971e-06f, 1.000185202e-06f, 9.986009534e-07f, 9.970152286e-07f, 9.954280304e-07f,
+9.938393618e-07f, 9.922492260e-07f, 9.906576258e-07f, 9.890645642e-07f, 9.874700443e-07f, 9.858740690e-07f, 9.842766415e-07f, 9.826777646e-07f, 9.810774414e-07f, 9.794756749e-07f,
+9.778724681e-07f, 9.762678241e-07f, 9.746617458e-07f, 9.730542363e-07f, 9.714452986e-07f, 9.698349358e-07f, 9.682231507e-07f, 9.666099466e-07f, 9.649953264e-07f, 9.633792931e-07f,
+9.617618498e-07f, 9.601429995e-07f, 9.585227453e-07f, 9.569010901e-07f, 9.552780371e-07f, 9.536535893e-07f, 9.520277497e-07f, 9.504005214e-07f, 9.487719075e-07f, 9.471419109e-07f,
+9.455105348e-07f, 9.438777821e-07f, 9.422436560e-07f, 9.406081595e-07f, 9.389712957e-07f, 9.373330676e-07f, 9.356934783e-07f, 9.340525309e-07f, 9.324102285e-07f, 9.307665740e-07f,
+9.291215706e-07f, 9.274752214e-07f, 9.258275294e-07f, 9.241784978e-07f, 9.225281295e-07f, 9.208764277e-07f, 9.192233955e-07f, 9.175690359e-07f, 9.159133521e-07f, 9.142563471e-07f,
+9.125980240e-07f, 9.109383859e-07f, 9.092774359e-07f, 9.076151771e-07f, 9.059516126e-07f, 9.042867456e-07f, 9.026205790e-07f, 9.009531160e-07f, 8.992843597e-07f, 8.976143133e-07f,
+8.959429798e-07f, 8.942703623e-07f, 8.925964640e-07f, 8.909212879e-07f, 8.892448373e-07f, 8.875671151e-07f, 8.858881245e-07f, 8.842078687e-07f, 8.825263507e-07f, 8.808435738e-07f,
+8.791595409e-07f, 8.774742553e-07f, 8.757877201e-07f, 8.740999383e-07f, 8.724109132e-07f, 8.707206479e-07f, 8.690291454e-07f, 8.673364090e-07f, 8.656424418e-07f, 8.639472469e-07f,
+8.622508275e-07f, 8.605531867e-07f, 8.588543277e-07f, 8.571542535e-07f, 8.554529674e-07f, 8.537504725e-07f, 8.520467720e-07f, 8.503418690e-07f, 8.486357666e-07f, 8.469284681e-07f,
+8.452199765e-07f, 8.435102951e-07f, 8.417994270e-07f, 8.400873754e-07f, 8.383741433e-07f, 8.366597341e-07f, 8.349441509e-07f, 8.332273968e-07f, 8.315094750e-07f, 8.297903886e-07f,
+8.280701410e-07f, 8.263487351e-07f, 8.246261743e-07f, 8.229024616e-07f, 8.211776003e-07f, 8.194515936e-07f, 8.177244445e-07f, 8.159961564e-07f, 8.142667324e-07f, 8.125361757e-07f,
+8.108044894e-07f, 8.090716769e-07f, 8.073377411e-07f, 8.056026855e-07f, 8.038665130e-07f, 8.021292270e-07f, 8.003908307e-07f, 7.986513272e-07f, 7.969107197e-07f, 7.951690114e-07f,
+7.934262056e-07f, 7.916823055e-07f, 7.899373142e-07f, 7.881912349e-07f, 7.864440710e-07f, 7.846958255e-07f, 7.829465017e-07f, 7.811961028e-07f, 7.794446320e-07f, 7.776920925e-07f,
+7.759384876e-07f, 7.741838205e-07f, 7.724280943e-07f, 7.706713124e-07f, 7.689134778e-07f, 7.671545940e-07f, 7.653946640e-07f, 7.636336911e-07f, 7.618716785e-07f, 7.601086295e-07f,
+7.583445473e-07f, 7.565794351e-07f, 7.548132961e-07f, 7.530461336e-07f, 7.512779509e-07f, 7.495087511e-07f, 7.477385375e-07f, 7.459673133e-07f, 7.441950818e-07f, 7.424218462e-07f,
+7.406476098e-07f, 7.388723758e-07f, 7.370961474e-07f, 7.353189279e-07f, 7.335407205e-07f, 7.317615285e-07f, 7.299813551e-07f, 7.282002037e-07f, 7.264180773e-07f, 7.246349794e-07f,
+7.228509131e-07f, 7.210658817e-07f, 7.192798884e-07f, 7.174929366e-07f, 7.157050294e-07f, 7.139161701e-07f, 7.121263621e-07f, 7.103356085e-07f, 7.085439126e-07f, 7.067512777e-07f,
+7.049577070e-07f, 7.031632039e-07f, 7.013677715e-07f, 6.995714132e-07f, 6.977741322e-07f, 6.959759318e-07f, 6.941768153e-07f, 6.923767859e-07f, 6.905758469e-07f, 6.887740016e-07f,
+6.869712532e-07f, 6.851676051e-07f, 6.833630605e-07f, 6.815576227e-07f, 6.797512950e-07f, 6.779440806e-07f, 6.761359829e-07f, 6.743270051e-07f, 6.725171505e-07f, 6.707064224e-07f,
+6.688948240e-07f, 6.670823588e-07f, 6.652690298e-07f, 6.634548406e-07f, 6.616397942e-07f, 6.598238941e-07f, 6.580071435e-07f, 6.561895458e-07f, 6.543711041e-07f, 6.525518218e-07f,
+6.507317022e-07f, 6.489107486e-07f, 6.470889643e-07f, 6.452663526e-07f, 6.434429168e-07f, 6.416186601e-07f, 6.397935860e-07f, 6.379676976e-07f, 6.361409983e-07f, 6.343134915e-07f,
+6.324851803e-07f, 6.306560681e-07f, 6.288261583e-07f, 6.269954541e-07f, 6.251639588e-07f, 6.233316757e-07f, 6.214986082e-07f, 6.196647596e-07f, 6.178301331e-07f, 6.159947322e-07f,
+6.141585600e-07f, 6.123216199e-07f, 6.104839153e-07f, 6.086454494e-07f, 6.068062255e-07f, 6.049662470e-07f, 6.031255173e-07f, 6.012840395e-07f, 5.994418171e-07f, 5.975988533e-07f,
+5.957551515e-07f, 5.939107150e-07f, 5.920655471e-07f, 5.902196511e-07f, 5.883730305e-07f, 5.865256884e-07f, 5.846776282e-07f, 5.828288532e-07f, 5.809793669e-07f, 5.791291724e-07f,
+5.772782731e-07f, 5.754266724e-07f, 5.735743736e-07f, 5.717213800e-07f, 5.698676949e-07f, 5.680133217e-07f, 5.661582638e-07f, 5.643025243e-07f, 5.624461067e-07f, 5.605890144e-07f,
+5.587312505e-07f, 5.568728186e-07f, 5.550137218e-07f, 5.531539637e-07f, 5.512935474e-07f, 5.494324763e-07f, 5.475707538e-07f, 5.457083832e-07f, 5.438453678e-07f, 5.419817110e-07f,
+5.401174162e-07f, 5.382524866e-07f, 5.363869256e-07f, 5.345207365e-07f, 5.326539228e-07f, 5.307864877e-07f, 5.289184345e-07f, 5.270497667e-07f, 5.251804876e-07f, 5.233106005e-07f,
+5.214401087e-07f, 5.195690156e-07f, 5.176973246e-07f, 5.158250390e-07f, 5.139521622e-07f, 5.120786974e-07f, 5.102046481e-07f, 5.083300176e-07f, 5.064548093e-07f, 5.045790264e-07f,
+5.027026724e-07f, 5.008257506e-07f, 4.989482644e-07f, 4.970702171e-07f, 4.951916120e-07f, 4.933124525e-07f, 4.914327420e-07f, 4.895524838e-07f, 4.876716813e-07f, 4.857903378e-07f,
+4.839084567e-07f, 4.820260414e-07f, 4.801430951e-07f, 4.782596213e-07f, 4.763756233e-07f, 4.744911045e-07f, 4.726060682e-07f, 4.707205178e-07f, 4.688344566e-07f, 4.669478880e-07f,
+4.650608154e-07f, 4.631732421e-07f, 4.612851715e-07f, 4.593966069e-07f, 4.575075517e-07f, 4.556180092e-07f, 4.537279829e-07f, 4.518374761e-07f, 4.499464921e-07f, 4.480550343e-07f,
+4.461631060e-07f, 4.442707107e-07f, 4.423778517e-07f, 4.404845324e-07f, 4.385907560e-07f, 4.366965260e-07f, 4.348018458e-07f, 4.329067187e-07f, 4.310111480e-07f, 4.291151372e-07f,
+4.272186896e-07f, 4.253218085e-07f, 4.234244974e-07f, 4.215267596e-07f, 4.196285984e-07f, 4.177300172e-07f, 4.158310195e-07f, 4.139316085e-07f, 4.120317876e-07f, 4.101315602e-07f,
+4.082309296e-07f, 4.063298993e-07f, 4.044284726e-07f, 4.025266528e-07f, 4.006244433e-07f, 3.987218475e-07f, 3.968188688e-07f, 3.949155105e-07f, 3.930117760e-07f, 3.911076687e-07f,
+3.892031918e-07f, 3.872983489e-07f, 3.853931432e-07f, 3.834875782e-07f, 3.815816571e-07f, 3.796753834e-07f, 3.777687605e-07f, 3.758617916e-07f, 3.739544802e-07f, 3.720468297e-07f,
+3.701388433e-07f, 3.682305246e-07f, 3.663218767e-07f, 3.644129032e-07f, 3.625036074e-07f, 3.605939926e-07f, 3.586840622e-07f, 3.567738196e-07f, 3.548632682e-07f, 3.529524113e-07f,
+3.510412522e-07f, 3.491297945e-07f, 3.472180413e-07f, 3.453059962e-07f, 3.433936624e-07f, 3.414810433e-07f, 3.395681424e-07f, 3.376549629e-07f, 3.357415083e-07f, 3.338277818e-07f,
+3.319137869e-07f, 3.299995270e-07f, 3.280850054e-07f, 3.261702254e-07f, 3.242551905e-07f, 3.223399040e-07f, 3.204243693e-07f, 3.185085897e-07f, 3.165925687e-07f, 3.146763095e-07f,
+3.127598156e-07f, 3.108430902e-07f, 3.089261369e-07f, 3.070089589e-07f, 3.050915596e-07f, 3.031739424e-07f, 3.012561107e-07f, 2.993380677e-07f, 2.974198169e-07f, 2.955013617e-07f,
+2.935827054e-07f, 2.916638513e-07f, 2.897448029e-07f, 2.878255635e-07f, 2.859061365e-07f, 2.839865251e-07f, 2.820667329e-07f, 2.801467632e-07f, 2.782266192e-07f, 2.763063045e-07f,
+2.743858223e-07f, 2.724651760e-07f, 2.705443689e-07f, 2.686234045e-07f, 2.667022862e-07f, 2.647810171e-07f, 2.628596008e-07f, 2.609380406e-07f, 2.590163398e-07f, 2.570945018e-07f,
+2.551725300e-07f, 2.532504277e-07f, 2.513281983e-07f, 2.494058451e-07f, 2.474833716e-07f, 2.455607810e-07f, 2.436380767e-07f, 2.417152621e-07f, 2.397923405e-07f, 2.378693153e-07f,
+2.359461898e-07f, 2.340229675e-07f, 2.320996516e-07f, 2.301762456e-07f, 2.282527527e-07f, 2.263291763e-07f, 2.244055199e-07f, 2.224817866e-07f, 2.205579800e-07f, 2.186341032e-07f,
+2.167101598e-07f, 2.147861531e-07f, 2.128620863e-07f, 2.109379629e-07f, 2.090137862e-07f, 2.070895595e-07f, 2.051652863e-07f, 2.032409697e-07f, 2.013166133e-07f, 1.993922204e-07f,
+1.974677943e-07f, 1.955433383e-07f, 1.936188557e-07f, 1.916943501e-07f, 1.897698246e-07f, 1.878452827e-07f, 1.859207276e-07f, 1.839961628e-07f, 1.820715915e-07f, 1.801470171e-07f,
+1.782224430e-07f, 1.762978725e-07f, 1.743733090e-07f, 1.724487557e-07f, 1.705242161e-07f, 1.685996934e-07f, 1.666751910e-07f, 1.647507122e-07f, 1.628262605e-07f, 1.609018390e-07f,
+1.589774513e-07f, 1.570531005e-07f, 1.551287900e-07f, 1.532045232e-07f, 1.512803034e-07f, 1.493561340e-07f, 1.474320182e-07f, 1.455079594e-07f, 1.435839610e-07f, 1.416600262e-07f,
+1.397361584e-07f, 1.378123610e-07f, 1.358886372e-07f, 1.339649904e-07f, 1.320414239e-07f, 1.301179411e-07f, 1.281945453e-07f, 1.262712397e-07f, 1.243480278e-07f, 1.224249128e-07f,
+1.205018981e-07f, 1.185789870e-07f, 1.166561828e-07f, 1.147334888e-07f, 1.128109085e-07f, 1.108884450e-07f, 1.089661017e-07f, 1.070438820e-07f, 1.051217890e-07f, 1.031998263e-07f,
+1.012779970e-07f, 9.935630456e-08f, 9.743475220e-08f, 9.551334327e-08f, 9.359208108e-08f, 9.167096894e-08f, 8.975001017e-08f, 8.782920808e-08f, 8.590856598e-08f, 8.398808717e-08f,
+8.206777497e-08f, 8.014763269e-08f, 7.822766363e-08f, 7.630787109e-08f, 7.438825840e-08f, 7.246882885e-08f, 7.054958574e-08f, 6.863053237e-08f, 6.671167206e-08f, 6.479300810e-08f,
+6.287454379e-08f, 6.095628244e-08f, 5.903822733e-08f, 5.712038178e-08f, 5.520274907e-08f, 5.328533250e-08f, 5.136813537e-08f, 4.945116097e-08f, 4.753441259e-08f, 4.561789353e-08f,
+4.370160708e-08f, 4.178555653e-08f, 3.986974517e-08f, 3.795417629e-08f, 3.603885317e-08f, 3.412377911e-08f, 3.220895738e-08f, 3.029439127e-08f, 2.838008407e-08f, 2.646603907e-08f,
+2.455225953e-08f, 2.263874874e-08f, 2.072550999e-08f, 1.881254655e-08f, 1.689986169e-08f, 1.498745871e-08f, 1.307534086e-08f, 1.116351143e-08f, 9.251973690e-09f, 7.340730913e-09f,
+5.429786370e-09f, 3.519143333e-09f, 1.608805070e-09f, -3.012251495e-10f, -2.210944058e-09f, -4.120348390e-09f, -6.029434880e-09f, -7.938200263e-09f, -9.846641276e-09f, -1.175475466e-08f,
+-1.366253715e-08f, -1.556998548e-08f, -1.747709641e-08f, -1.938386667e-08f, -2.129029300e-08f, -2.319637215e-08f, -2.510210087e-08f, -2.700747589e-08f, -2.891249398e-08f, -3.081715188e-08f,
+-3.272144634e-08f, -3.462537411e-08f, -3.652893194e-08f, -3.843211659e-08f, -4.033492482e-08f, -4.223735337e-08f, -4.413939901e-08f, -4.604105849e-08f, -4.794232858e-08f, -4.984320604e-08f,
+-5.174368762e-08f, -5.364377010e-08f, -5.554345023e-08f, -5.744272478e-08f, -5.934159053e-08f, -6.124004423e-08f, -6.313808265e-08f, -6.503570258e-08f, -6.693290078e-08f, -6.882967402e-08f,
+-7.072601907e-08f, -7.262193272e-08f, -7.451741175e-08f, -7.641245292e-08f, -7.830705302e-08f, -8.020120883e-08f, -8.209491714e-08f, -8.398817471e-08f, -8.588097836e-08f, -8.777332484e-08f,
+-8.966521097e-08f, -9.155663351e-08f, -9.344758927e-08f, -9.533807504e-08f, -9.722808760e-08f, -9.911762376e-08f, -1.010066803e-07f, -1.028952540e-07f, -1.047833417e-07f, -1.066709402e-07f,
+-1.085580463e-07f, -1.104446568e-07f, -1.123307684e-07f, -1.142163781e-07f, -1.161014825e-07f, -1.179860786e-07f, -1.198701631e-07f, -1.217537328e-07f, -1.236367845e-07f, -1.255193151e-07f,
+-1.274013214e-07f, -1.292828002e-07f, -1.311637482e-07f, -1.330441624e-07f, -1.349240396e-07f, -1.368033765e-07f, -1.386821700e-07f, -1.405604169e-07f, -1.424381140e-07f, -1.443152583e-07f,
+-1.461918464e-07f, -1.480678752e-07f, -1.499433417e-07f, -1.518182425e-07f, -1.536925745e-07f, -1.555663346e-07f, -1.574395197e-07f, -1.593121264e-07f, -1.611841518e-07f, -1.630555926e-07f,
+-1.649264457e-07f, -1.667967079e-07f, -1.686663760e-07f, -1.705354470e-07f, -1.724039177e-07f, -1.742717849e-07f, -1.761390454e-07f, -1.780056962e-07f, -1.798717341e-07f, -1.817371560e-07f,
+-1.836019586e-07f, -1.854661389e-07f, -1.873296938e-07f, -1.891926200e-07f, -1.910549146e-07f, -1.929165742e-07f, -1.947775959e-07f, -1.966379764e-07f, -1.984977127e-07f, -2.003568016e-07f,
+-2.022152400e-07f, -2.040730248e-07f, -2.059301528e-07f, -2.077866210e-07f, -2.096424261e-07f, -2.114975652e-07f, -2.133520351e-07f, -2.152058327e-07f, -2.170589548e-07f, -2.189113984e-07f,
+-2.207631604e-07f, -2.226142376e-07f, -2.244646269e-07f, -2.263143253e-07f, -2.281633297e-07f, -2.300116368e-07f, -2.318592437e-07f, -2.337061473e-07f, -2.355523444e-07f, -2.373978320e-07f,
+-2.392426070e-07f, -2.410866663e-07f, -2.429300067e-07f, -2.447726253e-07f, -2.466145189e-07f, -2.484556845e-07f, -2.502961189e-07f, -2.521358191e-07f, -2.539747821e-07f, -2.558130047e-07f,
+-2.576504839e-07f, -2.594872165e-07f, -2.613231996e-07f, -2.631584301e-07f, -2.649929049e-07f, -2.668266209e-07f, -2.686595751e-07f, -2.704917644e-07f, -2.723231858e-07f, -2.741538362e-07f,
+-2.759837125e-07f, -2.778128117e-07f, -2.796411308e-07f, -2.814686667e-07f, -2.832954163e-07f, -2.851213766e-07f, -2.869465446e-07f, -2.887709172e-07f, -2.905944914e-07f, -2.924172642e-07f,
+-2.942392324e-07f, -2.960603932e-07f, -2.978807434e-07f, -2.997002800e-07f, -3.015189999e-07f, -3.033369003e-07f, -3.051539780e-07f, -3.069702300e-07f, -3.087856533e-07f, -3.106002449e-07f,
+-3.124140017e-07f, -3.142269208e-07f, -3.160389991e-07f, -3.178502336e-07f, -3.196606214e-07f, -3.214701594e-07f, -3.232788445e-07f, -3.250866739e-07f, -3.268936445e-07f, -3.286997532e-07f,
+-3.305049972e-07f, -3.323093734e-07f, -3.341128788e-07f, -3.359155105e-07f, -3.377172653e-07f, -3.395181405e-07f, -3.413181329e-07f, -3.431172395e-07f, -3.449154575e-07f, -3.467127838e-07f,
+-3.485092155e-07f, -3.503047495e-07f, -3.520993830e-07f, -3.538931128e-07f, -3.556859361e-07f, -3.574778500e-07f, -3.592688513e-07f, -3.610589373e-07f, -3.628481048e-07f, -3.646363510e-07f,
+-3.664236729e-07f, -3.682100675e-07f, -3.699955319e-07f, -3.717800632e-07f, -3.735636584e-07f, -3.753463145e-07f, -3.771280286e-07f, -3.789087978e-07f, -3.806886191e-07f, -3.824674896e-07f,
+-3.842454063e-07f, -3.860223664e-07f, -3.877983668e-07f, -3.895734047e-07f, -3.913474772e-07f, -3.931205813e-07f, -3.948927140e-07f, -3.966638725e-07f, -3.984340539e-07f, -4.002032552e-07f,
+-4.019714735e-07f, -4.037387060e-07f, -4.055049496e-07f, -4.072702016e-07f, -4.090344589e-07f, -4.107977187e-07f, -4.125599782e-07f, -4.143212343e-07f, -4.160814842e-07f, -4.178407250e-07f,
+-4.195989538e-07f, -4.213561678e-07f, -4.231123639e-07f, -4.248675395e-07f, -4.266216915e-07f, -4.283748170e-07f, -4.301269134e-07f, -4.318779775e-07f, -4.336280066e-07f, -4.353769978e-07f,
+-4.371249482e-07f, -4.388718550e-07f, -4.406177152e-07f, -4.423625261e-07f, -4.441062848e-07f, -4.458489884e-07f, -4.475906340e-07f, -4.493312189e-07f, -4.510707401e-07f, -4.528091948e-07f,
+-4.545465802e-07f, -4.562828934e-07f, -4.580181315e-07f, -4.597522918e-07f, -4.614853715e-07f, -4.632173675e-07f, -4.649482773e-07f, -4.666780978e-07f, -4.684068263e-07f, -4.701344600e-07f,
+-4.718609960e-07f, -4.735864315e-07f, -4.753107637e-07f, -4.770339898e-07f, -4.787561070e-07f, -4.804771124e-07f, -4.821970033e-07f, -4.839157768e-07f, -4.856334302e-07f, -4.873499606e-07f,
+-4.890653652e-07f, -4.907796413e-07f, -4.924927860e-07f, -4.942047966e-07f, -4.959156703e-07f, -4.976254043e-07f, -4.993339958e-07f, -5.010414420e-07f, -5.027477401e-07f, -5.044528874e-07f,
+-5.061568811e-07f, -5.078597184e-07f, -5.095613966e-07f, -5.112619128e-07f, -5.129612644e-07f, -5.146594486e-07f, -5.163564625e-07f, -5.180523035e-07f, -5.197469687e-07f, -5.214404555e-07f,
+-5.231327611e-07f, -5.248238828e-07f, -5.265138177e-07f, -5.282025632e-07f, -5.298901165e-07f, -5.315764749e-07f, -5.332616356e-07f, -5.349455960e-07f, -5.366283532e-07f, -5.383099046e-07f,
+-5.399902474e-07f, -5.416693789e-07f, -5.433472965e-07f, -5.450239973e-07f, -5.466994786e-07f, -5.483737379e-07f, -5.500467722e-07f, -5.517185790e-07f, -5.533891556e-07f, -5.550584991e-07f,
+-5.567266070e-07f, -5.583934766e-07f, -5.600591051e-07f, -5.617234898e-07f, -5.633866281e-07f, -5.650485173e-07f, -5.667091547e-07f, -5.683685376e-07f, -5.700266634e-07f, -5.716835293e-07f,
+-5.733391327e-07f, -5.749934709e-07f, -5.766465413e-07f, -5.782983412e-07f, -5.799488679e-07f, -5.815981188e-07f, -5.832460912e-07f, -5.848927825e-07f, -5.865381900e-07f, -5.881823110e-07f,
+-5.898251430e-07f, -5.914666832e-07f, -5.931069291e-07f, -5.947458780e-07f, -5.963835272e-07f, -5.980198741e-07f, -5.996549162e-07f, -6.012886507e-07f, -6.029210751e-07f, -6.045521866e-07f,
+-6.061819828e-07f, -6.078104610e-07f, -6.094376186e-07f, -6.110634529e-07f, -6.126879614e-07f, -6.143111414e-07f, -6.159329904e-07f, -6.175535058e-07f, -6.191726849e-07f, -6.207905251e-07f,
+-6.224070239e-07f, -6.240221787e-07f, -6.256359869e-07f, -6.272484459e-07f, -6.288595532e-07f, -6.304693061e-07f, -6.320777020e-07f, -6.336847385e-07f, -6.352904129e-07f, -6.368947226e-07f,
+-6.384976652e-07f, -6.400992380e-07f, -6.416994385e-07f, -6.432982642e-07f, -6.448957124e-07f, -6.464917806e-07f, -6.480864663e-07f, -6.496797670e-07f, -6.512716800e-07f, -6.528622029e-07f,
+-6.544513331e-07f, -6.560390682e-07f, -6.576254054e-07f, -6.592103424e-07f, -6.607938766e-07f, -6.623760055e-07f, -6.639567266e-07f, -6.655360373e-07f, -6.671139352e-07f, -6.686904176e-07f,
+-6.702654822e-07f, -6.718391264e-07f, -6.734113478e-07f, -6.749821437e-07f, -6.765515118e-07f, -6.781194495e-07f, -6.796859543e-07f, -6.812510238e-07f, -6.828146554e-07f, -6.843768468e-07f,
+-6.859375953e-07f, -6.874968986e-07f, -6.890547542e-07f, -6.906111595e-07f, -6.921661121e-07f, -6.937196097e-07f, -6.952716496e-07f, -6.968222294e-07f, -6.983713468e-07f, -6.999189992e-07f,
+-7.014651841e-07f, -7.030098993e-07f, -7.045531421e-07f, -7.060949101e-07f, -7.076352010e-07f, -7.091740123e-07f, -7.107113415e-07f, -7.122471863e-07f, -7.137815442e-07f, -7.153144127e-07f,
+-7.168457895e-07f, -7.183756722e-07f, -7.199040582e-07f, -7.214309453e-07f, -7.229563311e-07f, -7.244802130e-07f, -7.260025887e-07f, -7.275234559e-07f, -7.290428120e-07f, -7.305606548e-07f,
+-7.320769818e-07f, -7.335917907e-07f, -7.351050790e-07f, -7.366168444e-07f, -7.381270846e-07f, -7.396357970e-07f, -7.411429794e-07f, -7.426486294e-07f, -7.441527447e-07f, -7.456553228e-07f,
+-7.471563614e-07f, -7.486558582e-07f, -7.501538108e-07f, -7.516502168e-07f, -7.531450739e-07f, -7.546383798e-07f, -7.561301321e-07f, -7.576203285e-07f, -7.591089667e-07f, -7.605960443e-07f,
+-7.620815589e-07f, -7.635655083e-07f, -7.650478902e-07f, -7.665287022e-07f, -7.680079420e-07f, -7.694856073e-07f, -7.709616958e-07f, -7.724362052e-07f, -7.739091331e-07f, -7.753804774e-07f,
+-7.768502356e-07f, -7.783184055e-07f, -7.797849848e-07f, -7.812499712e-07f, -7.827133624e-07f, -7.841751562e-07f, -7.856353503e-07f, -7.870939423e-07f, -7.885509301e-07f, -7.900063113e-07f,
+-7.914600837e-07f, -7.929122451e-07f, -7.943627931e-07f, -7.958117255e-07f, -7.972590400e-07f, -7.987047345e-07f, -8.001488066e-07f, -8.015912542e-07f, -8.030320749e-07f, -8.044712666e-07f,
+-8.059088270e-07f, -8.073447539e-07f, -8.087790450e-07f, -8.102116981e-07f, -8.116427111e-07f, -8.130720816e-07f, -8.144998076e-07f, -8.159258866e-07f, -8.173503167e-07f, -8.187730955e-07f,
+-8.201942208e-07f, -8.216136905e-07f, -8.230315024e-07f, -8.244476542e-07f, -8.258621438e-07f, -8.272749690e-07f, -8.286861276e-07f, -8.300956174e-07f, -8.315034363e-07f, -8.329095821e-07f,
+-8.343140525e-07f, -8.357168456e-07f, -8.371179590e-07f, -8.385173907e-07f, -8.399151384e-07f, -8.413112001e-07f, -8.427055735e-07f, -8.440982565e-07f, -8.454892471e-07f, -8.468785429e-07f,
+-8.482661420e-07f, -8.496520422e-07f, -8.510362413e-07f, -8.524187372e-07f, -8.537995279e-07f, -8.551786111e-07f, -8.565559847e-07f, -8.579316467e-07f, -8.593055950e-07f, -8.606778274e-07f,
+-8.620483418e-07f, -8.634171361e-07f, -8.647842083e-07f, -8.661495562e-07f, -8.675131778e-07f, -8.688750710e-07f, -8.702352336e-07f, -8.715936636e-07f, -8.729503590e-07f, -8.743053176e-07f,
+-8.756585374e-07f, -8.770100163e-07f, -8.783597523e-07f, -8.797077432e-07f, -8.810539871e-07f, -8.823984819e-07f, -8.837412256e-07f, -8.850822160e-07f, -8.864214512e-07f, -8.877589291e-07f,
+-8.890946476e-07f, -8.904286049e-07f, -8.917607987e-07f, -8.930912271e-07f, -8.944198881e-07f, -8.957467797e-07f, -8.970718997e-07f, -8.983952463e-07f, -8.997168174e-07f, -9.010366111e-07f,
+-9.023546252e-07f, -9.036708578e-07f, -9.049853070e-07f, -9.062979706e-07f, -9.076088469e-07f, -9.089179336e-07f, -9.102252289e-07f, -9.115307309e-07f, -9.128344374e-07f, -9.141363466e-07f,
+-9.154364565e-07f, -9.167347651e-07f, -9.180312704e-07f, -9.193259705e-07f, -9.206188635e-07f, -9.219099474e-07f, -9.231992202e-07f, -9.244866801e-07f, -9.257723250e-07f, -9.270561530e-07f,
+-9.283381622e-07f, -9.296183507e-07f, -9.308967166e-07f, -9.321732579e-07f, -9.334479726e-07f, -9.347208590e-07f, -9.359919150e-07f, -9.372611388e-07f, -9.385285285e-07f, -9.397940821e-07f,
+-9.410577978e-07f, -9.423196737e-07f, -9.435797078e-07f, -9.448378983e-07f, -9.460942434e-07f, -9.473487410e-07f, -9.486013894e-07f, -9.498521867e-07f, -9.511011310e-07f, -9.523482205e-07f,
+-9.535934532e-07f, -9.548368274e-07f, -9.560783411e-07f, -9.573179925e-07f, -9.585557798e-07f, -9.597917011e-07f, -9.610257546e-07f, -9.622579384e-07f, -9.634882508e-07f, -9.647166898e-07f,
+-9.659432537e-07f, -9.671679406e-07f, -9.683907487e-07f, -9.696116762e-07f, -9.708307213e-07f, -9.720478821e-07f, -9.732631569e-07f, -9.744765439e-07f, -9.756880412e-07f, -9.768976471e-07f,
+-9.781053598e-07f, -9.793111774e-07f, -9.805150983e-07f, -9.817171206e-07f, -9.829172425e-07f, -9.841154623e-07f, -9.853117782e-07f, -9.865061885e-07f, -9.876986913e-07f, -9.888892850e-07f,
+-9.900779677e-07f, -9.912647377e-07f, -9.924495932e-07f, -9.936325326e-07f, -9.948135541e-07f, -9.959926559e-07f, -9.971698363e-07f, -9.983450936e-07f, -9.995184260e-07f, -1.000689832e-06f,
+-1.001859309e-06f, -1.003026857e-06f, -1.004192473e-06f, -1.005356155e-06f, -1.006517902e-06f, -1.007677713e-06f, -1.008835585e-06f, -1.009991516e-06f, -1.011145506e-06f, -1.012297552e-06f,
+-1.013447653e-06f, -1.014595807e-06f, -1.015742012e-06f, -1.016886267e-06f, -1.018028570e-06f, -1.019168920e-06f, -1.020307314e-06f, -1.021443751e-06f, -1.022578229e-06f, -1.023710747e-06f,
+-1.024841304e-06f, -1.025969896e-06f, -1.027096524e-06f, -1.028221184e-06f, -1.029343877e-06f, -1.030464599e-06f, -1.031583349e-06f, -1.032700126e-06f, -1.033814929e-06f, -1.034927754e-06f,
+-1.036038602e-06f, -1.037147469e-06f, -1.038254356e-06f, -1.039359259e-06f, -1.040462178e-06f, -1.041563110e-06f, -1.042662055e-06f, -1.043759011e-06f, -1.044853975e-06f, -1.045946947e-06f,
+-1.047037926e-06f, -1.048126908e-06f, -1.049213893e-06f, -1.050298880e-06f, -1.051381866e-06f, -1.052462850e-06f, -1.053541831e-06f, -1.054618807e-06f, -1.055693777e-06f, -1.056766738e-06f,
+-1.057837690e-06f, -1.058906631e-06f, -1.059973559e-06f, -1.061038473e-06f, -1.062101372e-06f, -1.063162253e-06f, -1.064221115e-06f, -1.065277958e-06f, -1.066332778e-06f, -1.067385575e-06f,
+-1.068436348e-06f, -1.069485095e-06f, -1.070531813e-06f, -1.071576503e-06f, -1.072619162e-06f, -1.073659789e-06f, -1.074698382e-06f, -1.075734940e-06f, -1.076769461e-06f, -1.077801945e-06f,
+-1.078832389e-06f, -1.079860792e-06f, -1.080887153e-06f, -1.081911470e-06f, -1.082933741e-06f, -1.083953966e-06f, -1.084972143e-06f, -1.085988270e-06f, -1.087002346e-06f, -1.088014370e-06f,
+-1.089024340e-06f, -1.090032255e-06f, -1.091038113e-06f, -1.092041913e-06f, -1.093043653e-06f, -1.094043332e-06f, -1.095040950e-06f, -1.096036503e-06f, -1.097029991e-06f, -1.098021413e-06f,
+-1.099010767e-06f, -1.099998052e-06f, -1.100983266e-06f, -1.101966408e-06f, -1.102947477e-06f, -1.103926471e-06f, -1.104903389e-06f, -1.105878230e-06f, -1.106850992e-06f, -1.107821673e-06f,
+-1.108790274e-06f, -1.109756791e-06f, -1.110721224e-06f, -1.111683572e-06f, -1.112643833e-06f, -1.113602006e-06f, -1.114558089e-06f, -1.115512081e-06f, -1.116463982e-06f, -1.117413789e-06f,
+-1.118361501e-06f, -1.119307117e-06f, -1.120250636e-06f, -1.121192056e-06f, -1.122131377e-06f, -1.123068596e-06f, -1.124003713e-06f, -1.124936726e-06f, -1.125867634e-06f, -1.126796435e-06f,
+-1.127723129e-06f, -1.128647714e-06f, -1.129570190e-06f, -1.130490553e-06f, -1.131408805e-06f, -1.132324942e-06f, -1.133238964e-06f, -1.134150870e-06f, -1.135060658e-06f, -1.135968328e-06f,
+-1.136873877e-06f, -1.137777306e-06f, -1.138678611e-06f, -1.139577793e-06f, -1.140474850e-06f, -1.141369781e-06f, -1.142262585e-06f, -1.143153260e-06f, -1.144041806e-06f, -1.144928220e-06f,
+-1.145812503e-06f, -1.146694652e-06f, -1.147574666e-06f, -1.148452545e-06f, -1.149328287e-06f, -1.150201891e-06f, -1.151073356e-06f, -1.151942681e-06f, -1.152809864e-06f, -1.153674905e-06f,
+-1.154537801e-06f, -1.155398553e-06f, -1.156257159e-06f, -1.157113617e-06f, -1.157967927e-06f, -1.158820088e-06f, -1.159670098e-06f, -1.160517956e-06f, -1.161363661e-06f, -1.162207213e-06f,
+-1.163048609e-06f, -1.163887849e-06f, -1.164724932e-06f, -1.165559856e-06f, -1.166392621e-06f, -1.167223225e-06f, -1.168051668e-06f, -1.168877948e-06f, -1.169702064e-06f, -1.170524015e-06f,
+-1.171343800e-06f, -1.172161418e-06f, -1.172976868e-06f, -1.173790149e-06f, -1.174601259e-06f, -1.175410198e-06f, -1.176216965e-06f, -1.177021559e-06f, -1.177823978e-06f, -1.178624221e-06f,
+-1.179422288e-06f, -1.180218178e-06f, -1.181011889e-06f, -1.181803420e-06f, -1.182592771e-06f, -1.183379940e-06f, -1.184164927e-06f, -1.184947730e-06f, -1.185728348e-06f, -1.186506781e-06f,
+-1.187283027e-06f, -1.188057086e-06f, -1.188828956e-06f, -1.189598636e-06f, -1.190366126e-06f, -1.191131425e-06f, -1.191894530e-06f, -1.192655443e-06f, -1.193414161e-06f, -1.194170683e-06f,
+-1.194925010e-06f, -1.195677139e-06f, -1.196427070e-06f, -1.197174801e-06f, -1.197920333e-06f, -1.198663663e-06f, -1.199404792e-06f, -1.200143718e-06f, -1.200880440e-06f, -1.201614957e-06f,
+-1.202347268e-06f, -1.203077373e-06f, -1.203805271e-06f, -1.204530960e-06f, -1.205254440e-06f, -1.205975710e-06f, -1.206694768e-06f, -1.207411615e-06f, -1.208126249e-06f, -1.208838669e-06f,
+-1.209548875e-06f, -1.210256865e-06f, -1.210962639e-06f, -1.211666196e-06f, -1.212367535e-06f, -1.213066655e-06f, -1.213763555e-06f, -1.214458235e-06f, -1.215150693e-06f, -1.215840929e-06f,
+-1.216528942e-06f, -1.217214732e-06f, -1.217898296e-06f, -1.218579635e-06f, -1.219258747e-06f, -1.219935632e-06f, -1.220610290e-06f, -1.221282718e-06f, -1.221952917e-06f, -1.222620885e-06f,
+-1.223286622e-06f, -1.223950128e-06f, -1.224611400e-06f, -1.225270439e-06f, -1.225927244e-06f, -1.226581813e-06f, -1.227234147e-06f, -1.227884244e-06f, -1.228532103e-06f, -1.229177725e-06f,
+-1.229821107e-06f, -1.230462250e-06f, -1.231101152e-06f, -1.231737814e-06f, -1.232372233e-06f, -1.233004410e-06f, -1.233634343e-06f, -1.234262033e-06f, -1.234887477e-06f, -1.235510676e-06f,
+-1.236131629e-06f, -1.236750335e-06f, -1.237366793e-06f, -1.237981003e-06f, -1.238592964e-06f, -1.239202675e-06f, -1.239810136e-06f, -1.240415345e-06f, -1.241018303e-06f, -1.241619008e-06f,
+-1.242217461e-06f, -1.242813659e-06f, -1.243407603e-06f, -1.243999292e-06f, -1.244588724e-06f, -1.245175901e-06f, -1.245760820e-06f, -1.246343482e-06f, -1.246923885e-06f, -1.247502030e-06f,
+-1.248077914e-06f, -1.248651539e-06f, -1.249222902e-06f, -1.249792004e-06f, -1.250358844e-06f, -1.250923421e-06f, -1.251485734e-06f, -1.252045784e-06f, -1.252603569e-06f, -1.253159089e-06f,
+-1.253712343e-06f, -1.254263331e-06f, -1.254812052e-06f, -1.255358505e-06f, -1.255902691e-06f, -1.256444607e-06f, -1.256984255e-06f, -1.257521632e-06f, -1.258056739e-06f, -1.258589576e-06f,
+-1.259120141e-06f, -1.259648434e-06f, -1.260174454e-06f, -1.260698201e-06f, -1.261219675e-06f, -1.261738874e-06f, -1.262255799e-06f, -1.262770448e-06f, -1.263282822e-06f, -1.263792920e-06f,
+-1.264300741e-06f, -1.264806284e-06f, -1.265309550e-06f, -1.265810537e-06f, -1.266309246e-06f, -1.266805675e-06f, -1.267299825e-06f, -1.267791695e-06f, -1.268281283e-06f, -1.268768591e-06f,
+-1.269253617e-06f, -1.269736361e-06f, -1.270216822e-06f, -1.270695000e-06f, -1.271170895e-06f, -1.271644505e-06f, -1.272115832e-06f, -1.272584873e-06f, -1.273051629e-06f, -1.273516100e-06f,
+-1.273978284e-06f, -1.274438182e-06f, -1.274895793e-06f, -1.275351116e-06f, -1.275804152e-06f, -1.276254899e-06f, -1.276703357e-06f, -1.277149527e-06f, -1.277593407e-06f, -1.278034997e-06f,
+-1.278474298e-06f, -1.278911307e-06f, -1.279346025e-06f, -1.279778453e-06f, -1.280208588e-06f, -1.280636431e-06f, -1.281061982e-06f, -1.281485240e-06f, -1.281906204e-06f, -1.282324875e-06f,
+-1.282741252e-06f, -1.283155335e-06f, -1.283567124e-06f, -1.283976617e-06f, -1.284383815e-06f, -1.284788718e-06f, -1.285191324e-06f, -1.285591635e-06f, -1.285989648e-06f, -1.286385365e-06f,
+-1.286778785e-06f, -1.287169907e-06f, -1.287558732e-06f, -1.287945258e-06f, -1.288329486e-06f, -1.288711415e-06f, -1.289091045e-06f, -1.289468376e-06f, -1.289843408e-06f, -1.290216140e-06f,
+-1.290586571e-06f, -1.290954703e-06f, -1.291320533e-06f, -1.291684063e-06f, -1.292045292e-06f, -1.292404220e-06f, -1.292760846e-06f, -1.293115170e-06f, -1.293467192e-06f, -1.293816911e-06f,
+-1.294164329e-06f, -1.294509443e-06f, -1.294852255e-06f, -1.295192763e-06f, -1.295530968e-06f, -1.295866869e-06f, -1.296200466e-06f, -1.296531760e-06f, -1.296860749e-06f, -1.297187434e-06f,
+-1.297511814e-06f, -1.297833890e-06f, -1.298153660e-06f, -1.298471125e-06f, -1.298786286e-06f, -1.299099140e-06f, -1.299409689e-06f, -1.299717932e-06f, -1.300023870e-06f, -1.300327501e-06f,
+-1.300628826e-06f, -1.300927844e-06f, -1.301224556e-06f, -1.301518961e-06f, -1.301811060e-06f, -1.302100851e-06f, -1.302388336e-06f, -1.302673513e-06f, -1.302956383e-06f, -1.303236946e-06f,
+-1.303515201e-06f, -1.303791149e-06f, -1.304064788e-06f, -1.304336120e-06f, -1.304605145e-06f, -1.304871861e-06f, -1.305136269e-06f, -1.305398369e-06f, -1.305658161e-06f, -1.305915644e-06f,
+-1.306170819e-06f, -1.306423686e-06f, -1.306674244e-06f, -1.306922494e-06f, -1.307168435e-06f, -1.307412067e-06f, -1.307653391e-06f, -1.307892406e-06f, -1.308129112e-06f, -1.308363510e-06f,
+-1.308595599e-06f, -1.308825379e-06f, -1.309052850e-06f, -1.309278012e-06f, -1.309500865e-06f, -1.309721410e-06f, -1.309939645e-06f, -1.310155572e-06f, -1.310369190e-06f, -1.310580498e-06f,
+-1.310789499e-06f, -1.310996190e-06f, -1.311200572e-06f, -1.311402646e-06f, -1.311602411e-06f, -1.311799867e-06f, -1.311995014e-06f, -1.312187853e-06f, -1.312378383e-06f, -1.312566605e-06f,
+-1.312752518e-06f, -1.312936123e-06f, -1.313117419e-06f, -1.313296407e-06f, -1.313473087e-06f, -1.313647458e-06f, -1.313819522e-06f, -1.313989277e-06f, -1.314156725e-06f, -1.314321865e-06f,
+-1.314484697e-06f, -1.314645221e-06f, -1.314803438e-06f, -1.314959347e-06f, -1.315112949e-06f, -1.315264244e-06f, -1.315413231e-06f, -1.315559912e-06f, -1.315704286e-06f, -1.315846353e-06f,
+-1.315986114e-06f, -1.316123568e-06f, -1.316258715e-06f, -1.316391557e-06f, -1.316522093e-06f, -1.316650322e-06f, -1.316776246e-06f, -1.316899865e-06f, -1.317021178e-06f, -1.317140186e-06f,
+-1.317256888e-06f, -1.317371286e-06f, -1.317483380e-06f, -1.317593168e-06f, -1.317700653e-06f, -1.317805833e-06f, -1.317908710e-06f, -1.318009282e-06f, -1.318107552e-06f, -1.318203518e-06f,
+-1.318297180e-06f, -1.318388540e-06f, -1.318477598e-06f, -1.318564352e-06f, -1.318648805e-06f, -1.318730956e-06f, -1.318810805e-06f, -1.318888352e-06f, -1.318963599e-06f, -1.319036544e-06f,
+-1.319107188e-06f, -1.319175532e-06f, -1.319241576e-06f, -1.319305320e-06f, -1.319366764e-06f, -1.319425909e-06f, -1.319482755e-06f, -1.319537301e-06f, -1.319589550e-06f, -1.319639499e-06f,
+-1.319687151e-06f, -1.319732506e-06f, -1.319775562e-06f, -1.319816322e-06f, -1.319854785e-06f, -1.319890951e-06f, -1.319924822e-06f, -1.319956396e-06f, -1.319985675e-06f, -1.320012659e-06f,
+-1.320037348e-06f, -1.320059742e-06f, -1.320079842e-06f, -1.320097648e-06f, -1.320113161e-06f, -1.320126381e-06f, -1.320137308e-06f, -1.320145942e-06f, -1.320152285e-06f, -1.320156335e-06f,
+-1.320158095e-06f, -1.320157563e-06f, -1.320154741e-06f, -1.320149629e-06f, -1.320142227e-06f, -1.320132535e-06f, -1.320120555e-06f, -1.320106286e-06f, -1.320089728e-06f, -1.320070883e-06f,
+-1.320049750e-06f, -1.320026331e-06f, -1.320000625e-06f, -1.319972632e-06f, -1.319942354e-06f, -1.319909791e-06f, -1.319874943e-06f, -1.319837810e-06f, -1.319798394e-06f, -1.319756694e-06f,
+-1.319712711e-06f, -1.319666445e-06f, -1.319617897e-06f, -1.319567067e-06f, -1.319513956e-06f, -1.319458565e-06f, -1.319400893e-06f, -1.319340941e-06f, -1.319278710e-06f, -1.319214199e-06f,
+-1.319147411e-06f, -1.319078345e-06f, -1.319007001e-06f, -1.318933380e-06f, -1.318857483e-06f, -1.318779311e-06f, -1.318698862e-06f, -1.318616139e-06f, -1.318531142e-06f, -1.318443871e-06f,
+-1.318354326e-06f, -1.318262509e-06f, -1.318168419e-06f, -1.318072058e-06f, -1.317973426e-06f, -1.317872523e-06f, -1.317769350e-06f, -1.317663907e-06f, -1.317556196e-06f, -1.317446216e-06f,
+-1.317333969e-06f, -1.317219454e-06f, -1.317102673e-06f, -1.316983625e-06f, -1.316862312e-06f, -1.316738734e-06f, -1.316612892e-06f, -1.316484786e-06f, -1.316354417e-06f, -1.316221785e-06f,
+-1.316086891e-06f, -1.315949736e-06f, -1.315810321e-06f, -1.315668645e-06f, -1.315524710e-06f, -1.315378516e-06f, -1.315230063e-06f, -1.315079353e-06f, -1.314926386e-06f, -1.314771163e-06f,
+-1.314613684e-06f, -1.314453950e-06f, -1.314291962e-06f, -1.314127720e-06f, -1.313961224e-06f, -1.313792477e-06f, -1.313621477e-06f, -1.313448227e-06f, -1.313272726e-06f, -1.313094975e-06f,
+-1.312914976e-06f, -1.312732728e-06f, -1.312548232e-06f, -1.312361489e-06f, -1.312172500e-06f, -1.311981266e-06f, -1.311787786e-06f, -1.311592062e-06f, -1.311394095e-06f, -1.311193885e-06f,
+-1.310991433e-06f, -1.310786740e-06f, -1.310579806e-06f, -1.310370632e-06f, -1.310159219e-06f, -1.309945568e-06f, -1.309729679e-06f, -1.309511553e-06f, -1.309291191e-06f, -1.309068593e-06f,
+-1.308843761e-06f, -1.308616695e-06f, -1.308387396e-06f, -1.308155864e-06f, -1.307922101e-06f, -1.307686107e-06f, -1.307447883e-06f, -1.307207430e-06f, -1.306964748e-06f, -1.306719839e-06f,
+-1.306472702e-06f, -1.306223340e-06f, -1.305971752e-06f, -1.305717940e-06f, -1.305461904e-06f, -1.305203645e-06f, -1.304943165e-06f, -1.304680462e-06f, -1.304415540e-06f, -1.304148398e-06f,
+-1.303879037e-06f, -1.303607458e-06f, -1.303333663e-06f, -1.303057651e-06f, -1.302779423e-06f, -1.302498981e-06f, -1.302216325e-06f, -1.301931457e-06f, -1.301644376e-06f, -1.301355085e-06f,
+-1.301063583e-06f, -1.300769872e-06f, -1.300473952e-06f, -1.300175825e-06f, -1.299875491e-06f, -1.299572951e-06f, -1.299268206e-06f, -1.298961257e-06f, -1.298652105e-06f, -1.298340751e-06f,
+-1.298027195e-06f, -1.297711439e-06f, -1.297393483e-06f, -1.297073329e-06f, -1.296750977e-06f, -1.296426428e-06f, -1.296099683e-06f, -1.295770744e-06f, -1.295439610e-06f, -1.295106283e-06f,
+-1.294770765e-06f, -1.294433055e-06f, -1.294093155e-06f, -1.293751065e-06f, -1.293406788e-06f, -1.293060322e-06f, -1.292711671e-06f, -1.292360834e-06f, -1.292007813e-06f, -1.291652608e-06f,
+-1.291295221e-06f, -1.290935652e-06f, -1.290573903e-06f, -1.290209974e-06f, -1.289843866e-06f, -1.289475581e-06f, -1.289105120e-06f, -1.288732483e-06f, -1.288357671e-06f, -1.287980686e-06f,
+-1.287601529e-06f, -1.287220199e-06f, -1.286836700e-06f, -1.286451031e-06f, -1.286063193e-06f, -1.285673188e-06f, -1.285281017e-06f, -1.284886681e-06f, -1.284490180e-06f, -1.284091516e-06f,
+-1.283690689e-06f, -1.283287702e-06f, -1.282882555e-06f, -1.282475248e-06f, -1.282065784e-06f, -1.281654163e-06f, -1.281240385e-06f, -1.280824454e-06f, -1.280406368e-06f, -1.279986130e-06f,
+-1.279563741e-06f, -1.279139201e-06f, -1.278712512e-06f, -1.278283674e-06f, -1.277852690e-06f, -1.277419560e-06f, -1.276984284e-06f, -1.276546865e-06f, -1.276107303e-06f, -1.275665600e-06f,
+-1.275221756e-06f, -1.274775773e-06f, -1.274327652e-06f, -1.273877394e-06f, -1.273425000e-06f, -1.272970471e-06f, -1.272513808e-06f, -1.272055013e-06f, -1.271594087e-06f, -1.271131030e-06f,
+-1.270665845e-06f, -1.270198531e-06f, -1.269729091e-06f, -1.269257526e-06f, -1.268783836e-06f, -1.268308023e-06f, -1.267830087e-06f, -1.267350032e-06f, -1.266867856e-06f, -1.266383562e-06f,
+-1.265897151e-06f, -1.265408623e-06f, -1.264917981e-06f, -1.264425225e-06f, -1.263930357e-06f, -1.263433377e-06f, -1.262934288e-06f, -1.262433089e-06f, -1.261929783e-06f, -1.261424371e-06f,
+-1.260916853e-06f, -1.260407232e-06f, -1.259895508e-06f, -1.259381682e-06f, -1.258865756e-06f, -1.258347732e-06f, -1.257827609e-06f, -1.257305390e-06f, -1.256781076e-06f, -1.256254668e-06f,
+-1.255726167e-06f, -1.255195575e-06f, -1.254662893e-06f, -1.254128121e-06f, -1.253591262e-06f, -1.253052317e-06f, -1.252511287e-06f, -1.251968173e-06f, -1.251422976e-06f, -1.250875699e-06f,
+-1.250326341e-06f, -1.249774905e-06f, -1.249221391e-06f, -1.248665802e-06f, -1.248108138e-06f, -1.247548400e-06f, -1.246986590e-06f, -1.246422710e-06f, -1.245856760e-06f, -1.245288743e-06f,
+-1.244718658e-06f, -1.244146508e-06f, -1.243572294e-06f, -1.242996017e-06f, -1.242417679e-06f, -1.241837280e-06f, -1.241254823e-06f, -1.240670309e-06f, -1.240083738e-06f, -1.239495113e-06f,
+-1.238904435e-06f, -1.238311705e-06f, -1.237716924e-06f, -1.237120094e-06f, -1.236521216e-06f, -1.235920292e-06f, -1.235317323e-06f, -1.234712310e-06f, -1.234105255e-06f, -1.233496159e-06f,
+-1.232885023e-06f, -1.232271850e-06f, -1.231656640e-06f, -1.231039394e-06f, -1.230420115e-06f, -1.229798803e-06f, -1.229175460e-06f, -1.228550088e-06f, -1.227922687e-06f, -1.227293260e-06f,
+-1.226661807e-06f, -1.226028330e-06f, -1.225392831e-06f, -1.224755311e-06f, -1.224115771e-06f, -1.223474214e-06f, -1.222830639e-06f, -1.222185049e-06f, -1.221537446e-06f, -1.220887830e-06f,
+-1.220236203e-06f, -1.219582567e-06f, -1.218926923e-06f, -1.218269273e-06f, -1.217609617e-06f, -1.216947958e-06f, -1.216284297e-06f, -1.215618636e-06f, -1.214950975e-06f, -1.214281317e-06f,
+-1.213609663e-06f, -1.212936014e-06f, -1.212260372e-06f, -1.211582739e-06f, -1.210903115e-06f, -1.210221503e-06f, -1.209537904e-06f, -1.208852319e-06f, -1.208164751e-06f, -1.207475200e-06f,
+-1.206783668e-06f, -1.206090156e-06f, -1.205394667e-06f, -1.204697201e-06f, -1.203997761e-06f, -1.203296347e-06f, -1.202592962e-06f, -1.201887606e-06f, -1.201180282e-06f, -1.200470991e-06f,
+-1.199759734e-06f, -1.199046513e-06f, -1.198331330e-06f, -1.197614186e-06f, -1.196895083e-06f, -1.196174022e-06f, -1.195451005e-06f, -1.194726033e-06f, -1.193999109e-06f, -1.193270233e-06f,
+-1.192539407e-06f, -1.191806634e-06f, -1.191071913e-06f, -1.190335248e-06f, -1.189596640e-06f, -1.188856089e-06f, -1.188113599e-06f, -1.187369170e-06f, -1.186622804e-06f, -1.185874502e-06f,
+-1.185124267e-06f, -1.184372100e-06f, -1.183618003e-06f, -1.182861976e-06f, -1.182104023e-06f, -1.181344144e-06f, -1.180582341e-06f, -1.179818616e-06f, -1.179052970e-06f, -1.178285405e-06f,
+-1.177515923e-06f, -1.176744525e-06f, -1.175971213e-06f, -1.175195989e-06f, -1.174418854e-06f, -1.173639811e-06f, -1.172858859e-06f, -1.172076003e-06f, -1.171291242e-06f, -1.170504579e-06f,
+-1.169716015e-06f, -1.168925552e-06f, -1.168133192e-06f, -1.167338937e-06f, -1.166542787e-06f, -1.165744746e-06f, -1.164944814e-06f, -1.164142993e-06f, -1.163339285e-06f, -1.162533692e-06f,
+-1.161726215e-06f, -1.160916856e-06f, -1.160105617e-06f, -1.159292499e-06f, -1.158477505e-06f, -1.157660636e-06f, -1.156841893e-06f, -1.156021279e-06f, -1.155198795e-06f, -1.154374442e-06f,
+-1.153548224e-06f, -1.152720141e-06f, -1.151890194e-06f, -1.151058387e-06f, -1.150224721e-06f, -1.149389197e-06f, -1.148551817e-06f, -1.147712582e-06f, -1.146871496e-06f, -1.146028559e-06f,
+-1.145183773e-06f, -1.144337140e-06f, -1.143488662e-06f, -1.142638341e-06f, -1.141786178e-06f, -1.140932175e-06f, -1.140076334e-06f, -1.139218656e-06f, -1.138359144e-06f, -1.137497800e-06f,
+-1.136634624e-06f, -1.135769619e-06f, -1.134902787e-06f, -1.134034130e-06f, -1.133163649e-06f, -1.132291346e-06f, -1.131417223e-06f, -1.130541281e-06f, -1.129663524e-06f, -1.128783951e-06f,
+-1.127902566e-06f, -1.127019370e-06f, -1.126134365e-06f, -1.125247553e-06f, -1.124358935e-06f, -1.123468514e-06f, -1.122576291e-06f, -1.121682268e-06f, -1.120786447e-06f, -1.119888830e-06f,
+-1.118989419e-06f, -1.118088215e-06f, -1.117185221e-06f, -1.116280438e-06f, -1.115373868e-06f, -1.114465513e-06f, -1.113555375e-06f, -1.112643456e-06f, -1.111729757e-06f, -1.110814281e-06f,
+-1.109897029e-06f, -1.108978004e-06f, -1.108057207e-06f, -1.107134640e-06f, -1.106210305e-06f, -1.105284204e-06f, -1.104356338e-06f, -1.103426711e-06f, -1.102495322e-06f, -1.101562176e-06f,
+-1.100627273e-06f, -1.099690615e-06f, -1.098752204e-06f, -1.097812043e-06f, -1.096870133e-06f, -1.095926476e-06f, -1.094981073e-06f, -1.094033928e-06f, -1.093085041e-06f, -1.092134416e-06f,
+-1.091182053e-06f, -1.090227954e-06f, -1.089272122e-06f, -1.088314559e-06f, -1.087355266e-06f, -1.086394246e-06f, -1.085431500e-06f, -1.084467030e-06f, -1.083500839e-06f, -1.082532928e-06f,
+-1.081563299e-06f, -1.080591955e-06f, -1.079618896e-06f, -1.078644126e-06f, -1.077667646e-06f, -1.076689458e-06f, -1.075709565e-06f, -1.074727967e-06f, -1.073744667e-06f, -1.072759668e-06f,
+-1.071772970e-06f, -1.070784577e-06f, -1.069794490e-06f, -1.068802710e-06f, -1.067809241e-06f, -1.066814084e-06f, -1.065817241e-06f, -1.064818714e-06f, -1.063818505e-06f, -1.062816617e-06f,
+-1.061813050e-06f, -1.060807808e-06f, -1.059800891e-06f, -1.058792303e-06f, -1.057782046e-06f, -1.056770120e-06f, -1.055756529e-06f, -1.054741274e-06f, -1.053724358e-06f, -1.052705782e-06f,
+-1.051685548e-06f, -1.050663659e-06f, -1.049640117e-06f, -1.048614923e-06f, -1.047588080e-06f, -1.046559590e-06f, -1.045529454e-06f, -1.044497675e-06f, -1.043464256e-06f, -1.042429197e-06f,
+-1.041392501e-06f, -1.040354171e-06f, -1.039314207e-06f, -1.038272613e-06f, -1.037229391e-06f, -1.036184541e-06f, -1.035138068e-06f, -1.034089972e-06f, -1.033040255e-06f, -1.031988921e-06f,
+-1.030935970e-06f, -1.029881406e-06f, -1.028825229e-06f, -1.027767443e-06f, -1.026708049e-06f, -1.025647050e-06f, -1.024584447e-06f, -1.023520242e-06f, -1.022454439e-06f, -1.021387038e-06f,
+-1.020318042e-06f, -1.019247454e-06f, -1.018175274e-06f, -1.017101506e-06f, -1.016026152e-06f, -1.014949213e-06f, -1.013870692e-06f, -1.012790591e-06f, -1.011708911e-06f, -1.010625656e-06f,
+-1.009540828e-06f, -1.008454428e-06f, -1.007366458e-06f, -1.006276921e-06f, -1.005185819e-06f, -1.004093155e-06f, -1.002998929e-06f, -1.001903145e-06f, -1.000805804e-06f, -9.997069093e-07f,
+-9.986064623e-07f, -9.975044653e-07f, -9.964009206e-07f, -9.952958303e-07f, -9.941891966e-07f, -9.930810216e-07f, -9.919713076e-07f, -9.908600567e-07f, -9.897472712e-07f, -9.886329531e-07f,
+-9.875171047e-07f, -9.863997282e-07f, -9.852808258e-07f, -9.841603996e-07f, -9.830384520e-07f, -9.819149850e-07f, -9.807900009e-07f, -9.796635019e-07f, -9.785354901e-07f, -9.774059679e-07f,
+-9.762749374e-07f, -9.751424009e-07f, -9.740083605e-07f, -9.728728185e-07f, -9.717357771e-07f, -9.705972385e-07f, -9.694572049e-07f, -9.683156786e-07f, -9.671726619e-07f, -9.660281569e-07f,
+-9.648821658e-07f, -9.637346910e-07f, -9.625857346e-07f, -9.614352990e-07f, -9.602833862e-07f, -9.591299987e-07f, -9.579751386e-07f, -9.568188082e-07f, -9.556610097e-07f, -9.545017454e-07f,
+-9.533410176e-07f, -9.521788285e-07f, -9.510151804e-07f, -9.498500755e-07f, -9.486835162e-07f, -9.475155046e-07f, -9.463460430e-07f, -9.451751338e-07f, -9.440027792e-07f, -9.428289814e-07f,
+-9.416537428e-07f, -9.404770656e-07f, -9.392989522e-07f, -9.381194047e-07f, -9.369384256e-07f, -9.357560170e-07f, -9.345721812e-07f, -9.333869207e-07f, -9.322002376e-07f, -9.310121342e-07f,
+-9.298226130e-07f, -9.286316760e-07f, -9.274393258e-07f, -9.262455645e-07f, -9.250503945e-07f, -9.238538181e-07f, -9.226558376e-07f, -9.214564553e-07f, -9.202556735e-07f, -9.190534946e-07f,
+-9.178499209e-07f, -9.166449547e-07f, -9.154385982e-07f, -9.142308540e-07f, -9.130217242e-07f, -9.118112112e-07f, -9.105993174e-07f, -9.093860450e-07f, -9.081713965e-07f, -9.069553741e-07f,
+-9.057379802e-07f, -9.045192172e-07f, -9.032990873e-07f, -9.020775929e-07f, -9.008547365e-07f, -8.996305202e-07f, -8.984049466e-07f, -8.971780179e-07f, -8.959497365e-07f, -8.947201047e-07f,
+-8.934891249e-07f, -8.922567996e-07f, -8.910231309e-07f, -8.897881214e-07f, -8.885517733e-07f, -8.873140891e-07f, -8.860750712e-07f, -8.848347218e-07f, -8.835930434e-07f, -8.823500383e-07f,
+-8.811057089e-07f, -8.798600577e-07f, -8.786130870e-07f, -8.773647991e-07f, -8.761151965e-07f, -8.748642816e-07f, -8.736120567e-07f, -8.723585243e-07f, -8.711036867e-07f, -8.698475464e-07f,
+-8.685901056e-07f, -8.673313670e-07f, -8.660713327e-07f, -8.648100053e-07f, -8.635473872e-07f, -8.622834807e-07f, -8.610182882e-07f, -8.597518123e-07f, -8.584840552e-07f, -8.572150195e-07f,
+-8.559447075e-07f, -8.546731216e-07f, -8.534002643e-07f, -8.521261380e-07f, -8.508507451e-07f, -8.495740880e-07f, -8.482961692e-07f, -8.470169911e-07f, -8.457365562e-07f, -8.444548668e-07f,
+-8.431719254e-07f, -8.418877345e-07f, -8.406022964e-07f, -8.393156136e-07f, -8.380276886e-07f, -8.367385239e-07f, -8.354481217e-07f, -8.341564847e-07f, -8.328636152e-07f, -8.315695157e-07f,
+-8.302741887e-07f, -8.289776365e-07f, -8.276798617e-07f, -8.263808668e-07f, -8.250806541e-07f, -8.237792262e-07f, -8.224765855e-07f, -8.211727344e-07f, -8.198676755e-07f, -8.185614112e-07f,
+-8.172539440e-07f, -8.159452763e-07f, -8.146354107e-07f, -8.133243495e-07f, -8.120120953e-07f, -8.106986506e-07f, -8.093840178e-07f, -8.080681994e-07f, -8.067511979e-07f, -8.054330158e-07f,
+-8.041136555e-07f, -8.027931197e-07f, -8.014714106e-07f, -8.001485309e-07f, -7.988244830e-07f, -7.974992695e-07f, -7.961728928e-07f, -7.948453554e-07f, -7.935166598e-07f, -7.921868085e-07f,
+-7.908558041e-07f, -7.895236490e-07f, -7.881903457e-07f, -7.868558968e-07f, -7.855203047e-07f, -7.841835720e-07f, -7.828457012e-07f, -7.815066947e-07f, -7.801665552e-07f, -7.788252850e-07f,
+-7.774828869e-07f, -7.761393631e-07f, -7.747947164e-07f, -7.734489491e-07f, -7.721020639e-07f, -7.707540632e-07f, -7.694049497e-07f, -7.680547257e-07f, -7.667033939e-07f, -7.653509567e-07f,
+-7.639974168e-07f, -7.626427766e-07f, -7.612870386e-07f, -7.599302055e-07f, -7.585722798e-07f, -7.572132640e-07f, -7.558531606e-07f, -7.544919721e-07f, -7.531297012e-07f, -7.517663504e-07f,
+-7.504019223e-07f, -7.490364193e-07f, -7.476698440e-07f, -7.463021990e-07f, -7.449334868e-07f, -7.435637101e-07f, -7.421928712e-07f, -7.408209729e-07f, -7.394480177e-07f, -7.380740080e-07f,
+-7.366989466e-07f, -7.353228359e-07f, -7.339456786e-07f, -7.325674771e-07f, -7.311882341e-07f, -7.298079521e-07f, -7.284266337e-07f, -7.270442815e-07f, -7.256608980e-07f, -7.242764859e-07f,
+-7.228910476e-07f, -7.215045858e-07f, -7.201171031e-07f, -7.187286020e-07f, -7.173390851e-07f, -7.159485550e-07f, -7.145570143e-07f, -7.131644656e-07f, -7.117709114e-07f, -7.103763543e-07f,
+-7.089807970e-07f, -7.075842420e-07f, -7.061866920e-07f, -7.047881494e-07f, -7.033886170e-07f, -7.019880972e-07f, -7.005865928e-07f, -6.991841063e-07f, -6.977806402e-07f, -6.963761973e-07f,
+-6.949707801e-07f, -6.935643912e-07f, -6.921570332e-07f, -6.907487087e-07f, -6.893394203e-07f, -6.879291707e-07f, -6.865179624e-07f, -6.851057981e-07f, -6.836926804e-07f, -6.822786118e-07f,
+-6.808635951e-07f, -6.794476328e-07f, -6.780307275e-07f, -6.766128818e-07f, -6.751940985e-07f, -6.737743800e-07f, -6.723537291e-07f, -6.709321483e-07f, -6.695096402e-07f, -6.680862076e-07f,
+-6.666618530e-07f, -6.652365790e-07f, -6.638103883e-07f, -6.623832835e-07f, -6.609552673e-07f, -6.595263422e-07f, -6.580965109e-07f, -6.566657761e-07f, -6.552341403e-07f, -6.538016063e-07f,
+-6.523681766e-07f, -6.509338540e-07f, -6.494986409e-07f, -6.480625401e-07f, -6.466255543e-07f, -6.451876860e-07f, -6.437489379e-07f, -6.423093127e-07f, -6.408688130e-07f, -6.394274415e-07f,
+-6.379852007e-07f, -6.365420934e-07f, -6.350981222e-07f, -6.336532897e-07f, -6.322075987e-07f, -6.307610517e-07f, -6.293136515e-07f, -6.278654006e-07f, -6.264163018e-07f, -6.249663577e-07f,
+-6.235155709e-07f, -6.220639441e-07f, -6.206114800e-07f, -6.191581813e-07f, -6.177040506e-07f, -6.162490905e-07f, -6.147933038e-07f, -6.133366930e-07f, -6.118792610e-07f, -6.104210103e-07f,
+-6.089619436e-07f, -6.075020636e-07f, -6.060413729e-07f, -6.045798743e-07f, -6.031175703e-07f, -6.016544638e-07f, -6.001905573e-07f, -5.987258535e-07f, -5.972603551e-07f, -5.957940648e-07f,
+-5.943269853e-07f, -5.928591192e-07f, -5.913904693e-07f, -5.899210382e-07f, -5.884508285e-07f, -5.869798431e-07f, -5.855080845e-07f, -5.840355554e-07f, -5.825622586e-07f, -5.810881967e-07f,
+-5.796133724e-07f, -5.781377884e-07f, -5.766614474e-07f, -5.751843521e-07f, -5.737065052e-07f, -5.722279093e-07f, -5.707485672e-07f, -5.692684815e-07f, -5.677876550e-07f, -5.663060904e-07f,
+-5.648237903e-07f, -5.633407574e-07f, -5.618569945e-07f, -5.603725042e-07f, -5.588872893e-07f, -5.574013524e-07f, -5.559146962e-07f, -5.544273235e-07f, -5.529392370e-07f, -5.514504393e-07f,
+-5.499609332e-07f, -5.484707213e-07f, -5.469798065e-07f, -5.454881913e-07f, -5.439958784e-07f, -5.425028707e-07f, -5.410091708e-07f, -5.395147815e-07f, -5.380197053e-07f, -5.365239451e-07f,
+-5.350275036e-07f, -5.335303834e-07f, -5.320325873e-07f, -5.305341180e-07f, -5.290349783e-07f, -5.275351707e-07f, -5.260346982e-07f, -5.245335632e-07f, -5.230317687e-07f, -5.215293173e-07f,
+-5.200262117e-07f, -5.185224546e-07f, -5.170180489e-07f, -5.155129971e-07f, -5.140073020e-07f, -5.125009663e-07f, -5.109939929e-07f, -5.094863843e-07f, -5.079781433e-07f, -5.064692726e-07f,
+-5.049597750e-07f, -5.034496532e-07f, -5.019389099e-07f, -5.004275479e-07f, -4.989155699e-07f, -4.974029785e-07f, -4.958897766e-07f, -4.943759668e-07f, -4.928615520e-07f, -4.913465348e-07f,
+-4.898309179e-07f, -4.883147041e-07f, -4.867978962e-07f, -4.852804969e-07f, -4.837625088e-07f, -4.822439348e-07f, -4.807247775e-07f, -4.792050398e-07f, -4.776847243e-07f, -4.761638337e-07f,
+-4.746423709e-07f, -4.731203386e-07f, -4.715977395e-07f, -4.700745763e-07f, -4.685508518e-07f, -4.670265687e-07f, -4.655017298e-07f, -4.639763378e-07f, -4.624503954e-07f, -4.609239054e-07f,
+-4.593968706e-07f, -4.578692936e-07f, -4.563411773e-07f, -4.548125244e-07f, -4.532833375e-07f, -4.517536195e-07f, -4.502233731e-07f, -4.486926011e-07f, -4.471613062e-07f, -4.456294911e-07f,
+-4.440971587e-07f, -4.425643115e-07f, -4.410309525e-07f, -4.394970843e-07f, -4.379627097e-07f, -4.364278315e-07f, -4.348924523e-07f, -4.333565751e-07f, -4.318202024e-07f, -4.302833370e-07f,
+-4.287459818e-07f, -4.272081394e-07f, -4.256698126e-07f, -4.241310042e-07f, -4.225917169e-07f, -4.210519535e-07f, -4.195117167e-07f, -4.179710093e-07f, -4.164298340e-07f, -4.148881937e-07f,
+-4.133460909e-07f, -4.118035286e-07f, -4.102605095e-07f, -4.087170362e-07f, -4.071731117e-07f, -4.056287385e-07f, -4.040839196e-07f, -4.025386576e-07f, -4.009929554e-07f, -3.994468156e-07f,
+-3.979002410e-07f, -3.963532345e-07f, -3.948057986e-07f, -3.932579363e-07f, -3.917096503e-07f, -3.901609433e-07f, -3.886118181e-07f, -3.870622774e-07f, -3.855123241e-07f, -3.839619608e-07f,
+-3.824111904e-07f, -3.808600156e-07f, -3.793084391e-07f, -3.777564638e-07f, -3.762040923e-07f, -3.746513276e-07f, -3.730981722e-07f, -3.715446290e-07f, -3.699907008e-07f, -3.684363902e-07f,
+-3.668817002e-07f, -3.653266334e-07f, -3.637711926e-07f, -3.622153805e-07f, -3.606592000e-07f, -3.591026538e-07f, -3.575457446e-07f, -3.559884753e-07f, -3.544308486e-07f, -3.528728673e-07f,
+-3.513145340e-07f, -3.497558517e-07f, -3.481968230e-07f, -3.466374508e-07f, -3.450777378e-07f, -3.435176867e-07f, -3.419573003e-07f, -3.403965815e-07f, -3.388355329e-07f, -3.372741573e-07f,
+-3.357124575e-07f, -3.341504363e-07f, -3.325880965e-07f, -3.310254407e-07f, -3.294624718e-07f, -3.278991925e-07f, -3.263356057e-07f, -3.247717140e-07f, -3.232075203e-07f, -3.216430272e-07f,
+-3.200782377e-07f, -3.185131544e-07f, -3.169477801e-07f, -3.153821176e-07f, -3.138161696e-07f, -3.122499390e-07f, -3.106834284e-07f, -3.091166407e-07f, -3.075495786e-07f, -3.059822450e-07f,
+-3.044146424e-07f, -3.028467739e-07f, -3.012786420e-07f, -2.997102496e-07f, -2.981415994e-07f, -2.965726942e-07f, -2.950035368e-07f, -2.934341300e-07f, -2.918644764e-07f, -2.902945790e-07f,
+-2.887244404e-07f, -2.871540634e-07f, -2.855834507e-07f, -2.840126053e-07f, -2.824415297e-07f, -2.808702269e-07f, -2.792986995e-07f, -2.777269503e-07f, -2.761549822e-07f, -2.745827978e-07f,
+-2.730103999e-07f, -2.714377913e-07f, -2.698649748e-07f, -2.682919531e-07f, -2.667187290e-07f, -2.651453053e-07f, -2.635716847e-07f, -2.619978700e-07f, -2.604238640e-07f, -2.588496694e-07f,
+-2.572752890e-07f, -2.557007256e-07f, -2.541259819e-07f, -2.525510607e-07f, -2.509759648e-07f, -2.494006970e-07f, -2.478252599e-07f, -2.462496564e-07f, -2.446738892e-07f, -2.430979611e-07f,
+-2.415218748e-07f, -2.399456332e-07f, -2.383692390e-07f, -2.367926949e-07f, -2.352160038e-07f, -2.336391683e-07f, -2.320621913e-07f, -2.304850755e-07f, -2.289078236e-07f, -2.273304385e-07f,
+-2.257529229e-07f, -2.241752796e-07f, -2.225975113e-07f, -2.210196208e-07f, -2.194416108e-07f, -2.178634841e-07f, -2.162852435e-07f, -2.147068917e-07f, -2.131284316e-07f, -2.115498657e-07f,
+-2.099711970e-07f, -2.083924282e-07f, -2.068135620e-07f, -2.052346012e-07f, -2.036555486e-07f, -2.020764068e-07f, -2.004971788e-07f, -1.989178672e-07f, -1.973384747e-07f, -1.957590042e-07f,
+-1.941794584e-07f, -1.925998401e-07f, -1.910201520e-07f, -1.894403968e-07f, -1.878605774e-07f, -1.862806965e-07f, -1.847007568e-07f, -1.831207611e-07f, -1.815407122e-07f, -1.799606127e-07f,
+-1.783804655e-07f, -1.768002734e-07f, -1.752200390e-07f, -1.736397651e-07f, -1.720594545e-07f, -1.704791099e-07f, -1.688987340e-07f, -1.673183297e-07f, -1.657378997e-07f, -1.641574467e-07f,
+-1.625769735e-07f, -1.609964828e-07f, -1.594159774e-07f, -1.578354600e-07f, -1.562549333e-07f, -1.546744002e-07f, -1.530938634e-07f, -1.515133255e-07f, -1.499327894e-07f, -1.483522579e-07f,
+-1.467717335e-07f, -1.451912192e-07f, -1.436107176e-07f, -1.420302315e-07f, -1.404497636e-07f, -1.388693167e-07f, -1.372888935e-07f, -1.357084967e-07f, -1.341281292e-07f, -1.325477936e-07f,
+-1.309674926e-07f, -1.293872291e-07f, -1.278070057e-07f, -1.262268253e-07f, -1.246466904e-07f, -1.230666040e-07f, -1.214865686e-07f, -1.199065871e-07f, -1.183266622e-07f, -1.167467966e-07f,
+-1.151669930e-07f, -1.135872543e-07f, -1.120075830e-07f, -1.104279820e-07f, -1.088484540e-07f, -1.072690017e-07f, -1.056896279e-07f, -1.041103352e-07f, -1.025311265e-07f, -1.009520044e-07f,
+-9.937297168e-08f, -9.779403105e-08f, -9.621518526e-08f, -9.463643702e-08f, -9.305778906e-08f, -9.147924412e-08f, -8.990080490e-08f, -8.832247415e-08f, -8.674425458e-08f, -8.516614892e-08f,
+-8.358815989e-08f, -8.201029020e-08f, -8.043254260e-08f, -7.885491978e-08f, -7.727742449e-08f, -7.570005942e-08f, -7.412282731e-08f, -7.254573087e-08f, -7.096877283e-08f, -6.939195588e-08f,
+-6.781528276e-08f, -6.623875618e-08f, -6.466237884e-08f, -6.308615348e-08f, -6.151008279e-08f, -5.993416950e-08f, -5.835841631e-08f, -5.678282593e-08f, -5.520740108e-08f, -5.363214446e-08f,
+-5.205705879e-08f, -5.048214677e-08f, -4.890741111e-08f, -4.733285451e-08f, -4.575847969e-08f, -4.418428934e-08f, -4.261028618e-08f, -4.103647289e-08f, -3.946285220e-08f, -3.788942679e-08f,
+-3.631619938e-08f, -3.474317265e-08f, -3.317034932e-08f, -3.159773207e-08f, -3.002532361e-08f, -2.845312663e-08f, -2.688114384e-08f, -2.530937792e-08f, -2.373783157e-08f, -2.216650748e-08f,
+-2.059540836e-08f, -1.902453688e-08f, -1.745389574e-08f, -1.588348763e-08f, -1.431331524e-08f, -1.274338127e-08f, -1.117368839e-08f, -9.604239291e-09f, -8.035036665e-09f, -6.466083195e-09f,
+-4.897381565e-09f, -3.328934458e-09f, -1.760744557e-09f, -1.928145440e-10f, 1.374852901e-09f, 2.942255098e-09f, 4.509389367e-09f, 6.076253032e-09f, 7.642843413e-09f, 9.209157837e-09f,
+1.077519363e-08f, 1.234094811e-08f, 1.390641861e-08f, 1.547160245e-08f, 1.703649697e-08f, 1.860109950e-08f, 2.016540735e-08f, 2.172941788e-08f, 2.329312840e-08f, 2.485653625e-08f,
+2.641963877e-08f, 2.798243329e-08f, 2.954491714e-08f, 3.110708767e-08f, 3.266894221e-08f, 3.423047811e-08f, 3.579169269e-08f, 3.735258331e-08f, 3.891314730e-08f, 4.047338201e-08f,
+4.203328478e-08f, 4.359285296e-08f, 4.515208390e-08f, 4.671097493e-08f, 4.826952342e-08f, 4.982772670e-08f, 5.138558214e-08f, 5.294308707e-08f, 5.450023886e-08f, 5.605703485e-08f,
+5.761347241e-08f, 5.916954888e-08f, 6.072526163e-08f, 6.228060801e-08f, 6.383558538e-08f, 6.539019110e-08f, 6.694442254e-08f, 6.849827705e-08f, 7.005175199e-08f, 7.160484474e-08f,
+7.315755265e-08f, 7.470987310e-08f, 7.626180345e-08f, 7.781334108e-08f, 7.936448334e-08f, 8.091522761e-08f, 8.246557127e-08f, 8.401551169e-08f, 8.556504624e-08f, 8.711417229e-08f,
+8.866288723e-08f, 9.021118843e-08f, 9.175907328e-08f, 9.330653914e-08f, 9.485358341e-08f, 9.640020347e-08f, 9.794639669e-08f, 9.949216047e-08f, 1.010374922e-07f, 1.025823892e-07f,
+1.041268490e-07f, 1.056708689e-07f, 1.072144463e-07f, 1.087575785e-07f, 1.103002631e-07f, 1.118424973e-07f, 1.133842786e-07f, 1.149256043e-07f, 1.164664720e-07f, 1.180068789e-07f,
+1.195468224e-07f, 1.210863001e-07f, 1.226253092e-07f, 1.241638472e-07f, 1.257019115e-07f, 1.272394994e-07f, 1.287766085e-07f, 1.303132361e-07f, 1.318493796e-07f, 1.333850364e-07f,
+1.349202040e-07f, 1.364548797e-07f, 1.379890611e-07f, 1.395227454e-07f, 1.410559301e-07f, 1.425886126e-07f, 1.441207904e-07f, 1.456524609e-07f, 1.471836215e-07f, 1.487142696e-07f,
+1.502444027e-07f, 1.517740181e-07f, 1.533031133e-07f, 1.548316858e-07f, 1.563597329e-07f, 1.578872522e-07f, 1.594142410e-07f, 1.609406967e-07f, 1.624666169e-07f, 1.639919989e-07f,
+1.655168402e-07f, 1.670411382e-07f, 1.685648904e-07f, 1.700880942e-07f, 1.716107471e-07f, 1.731328465e-07f, 1.746543899e-07f, 1.761753746e-07f, 1.776957982e-07f, 1.792156581e-07f,
+1.807349518e-07f, 1.822536767e-07f, 1.837718303e-07f, 1.852894100e-07f, 1.868064132e-07f, 1.883228376e-07f, 1.898386804e-07f, 1.913539393e-07f, 1.928686116e-07f, 1.943826947e-07f,
+1.958961863e-07f, 1.974090837e-07f, 1.989213845e-07f, 2.004330860e-07f, 2.019441858e-07f, 2.034546813e-07f, 2.049645701e-07f, 2.064738495e-07f, 2.079825171e-07f, 2.094905704e-07f,
+2.109980068e-07f, 2.125048238e-07f, 2.140110190e-07f, 2.155165897e-07f, 2.170215336e-07f, 2.185258480e-07f, 2.200295304e-07f, 2.215325785e-07f, 2.230349896e-07f, 2.245367612e-07f,
+2.260378909e-07f, 2.275383761e-07f, 2.290382144e-07f, 2.305374033e-07f, 2.320359402e-07f, 2.335338226e-07f, 2.350310482e-07f, 2.365276143e-07f, 2.380235185e-07f, 2.395187583e-07f,
+2.410133312e-07f, 2.425072348e-07f, 2.440004664e-07f, 2.454930238e-07f, 2.469849043e-07f, 2.484761056e-07f, 2.499666251e-07f, 2.514564603e-07f, 2.529456088e-07f, 2.544340681e-07f,
+2.559218357e-07f, 2.574089093e-07f, 2.588952862e-07f, 2.603809640e-07f, 2.618659403e-07f, 2.633502127e-07f, 2.648337785e-07f, 2.663166355e-07f, 2.677987811e-07f, 2.692802129e-07f,
+2.707609283e-07f, 2.722409251e-07f, 2.737202007e-07f, 2.751987526e-07f, 2.766765785e-07f, 2.781536758e-07f, 2.796300421e-07f, 2.811056751e-07f, 2.825805722e-07f, 2.840547310e-07f,
+2.855281491e-07f, 2.870008240e-07f, 2.884727533e-07f, 2.899439345e-07f, 2.914143653e-07f, 2.928840432e-07f, 2.943529658e-07f, 2.958211307e-07f, 2.972885354e-07f, 2.987551775e-07f,
+3.002210545e-07f, 3.016861642e-07f, 3.031505040e-07f, 3.046140715e-07f, 3.060768644e-07f, 3.075388802e-07f, 3.090001165e-07f, 3.104605708e-07f, 3.119202409e-07f, 3.133791243e-07f,
+3.148372185e-07f, 3.162945212e-07f, 3.177510300e-07f, 3.192067425e-07f, 3.206616563e-07f, 3.221157689e-07f, 3.235690781e-07f, 3.250215814e-07f, 3.264732764e-07f, 3.279241607e-07f,
+3.293742320e-07f, 3.308234879e-07f, 3.322719259e-07f, 3.337195438e-07f, 3.351663391e-07f, 3.366123094e-07f, 3.380574525e-07f, 3.395017658e-07f, 3.409452471e-07f, 3.423878939e-07f,
+3.438297040e-07f, 3.452706749e-07f, 3.467108042e-07f, 3.481500897e-07f, 3.495885290e-07f, 3.510261196e-07f, 3.524628593e-07f, 3.538987457e-07f, 3.553337764e-07f, 3.567679491e-07f,
+3.582012615e-07f, 3.596337111e-07f, 3.610652957e-07f, 3.624960129e-07f, 3.639258604e-07f, 3.653548358e-07f, 3.667829368e-07f, 3.682101611e-07f, 3.696365063e-07f, 3.710619701e-07f,
+3.724865501e-07f, 3.739102441e-07f, 3.753330497e-07f, 3.767549647e-07f, 3.781759865e-07f, 3.795961131e-07f, 3.810153420e-07f, 3.824336709e-07f, 3.838510975e-07f, 3.852676195e-07f,
+3.866832346e-07f, 3.880979404e-07f, 3.895117348e-07f, 3.909246153e-07f, 3.923365797e-07f, 3.937476256e-07f, 3.951577509e-07f, 3.965669531e-07f, 3.979752300e-07f, 3.993825793e-07f,
+4.007889986e-07f, 4.021944859e-07f, 4.035990386e-07f, 4.050026546e-07f, 4.064053315e-07f, 4.078070672e-07f, 4.092078592e-07f, 4.106077054e-07f, 4.120066034e-07f, 4.134045511e-07f,
+4.148015460e-07f, 4.161975860e-07f, 4.175926688e-07f, 4.189867921e-07f, 4.203799537e-07f, 4.217721513e-07f, 4.231633826e-07f, 4.245536455e-07f, 4.259429375e-07f, 4.273312566e-07f,
+4.287186004e-07f, 4.301049666e-07f, 4.314903532e-07f, 4.328747577e-07f, 4.342581780e-07f, 4.356406119e-07f, 4.370220570e-07f, 4.384025112e-07f, 4.397819722e-07f, 4.411604378e-07f,
+4.425379057e-07f, 4.439143738e-07f, 4.452898399e-07f, 4.466643016e-07f, 4.480377568e-07f, 4.494102032e-07f, 4.507816388e-07f, 4.521520611e-07f, 4.535214680e-07f, 4.548898574e-07f,
+4.562572270e-07f, 4.576235746e-07f, 4.589888980e-07f, 4.603531949e-07f, 4.617164633e-07f, 4.630787009e-07f, 4.644399055e-07f, 4.658000749e-07f, 4.671592069e-07f, 4.685172994e-07f,
+4.698743502e-07f, 4.712303570e-07f, 4.725853177e-07f, 4.739392301e-07f, 4.752920921e-07f, 4.766439015e-07f, 4.779946560e-07f, 4.793443536e-07f, 4.806929920e-07f, 4.820405691e-07f,
+4.833870827e-07f, 4.847325307e-07f, 4.860769110e-07f, 4.874202212e-07f, 4.887624594e-07f, 4.901036233e-07f, 4.914437108e-07f, 4.927827198e-07f, 4.941206481e-07f, 4.954574935e-07f,
+4.967932540e-07f, 4.981279273e-07f, 4.994615114e-07f, 5.007940041e-07f, 5.021254033e-07f, 5.034557068e-07f, 5.047849126e-07f, 5.061130185e-07f, 5.074400223e-07f, 5.087659220e-07f,
+5.100907154e-07f, 5.114144005e-07f, 5.127369751e-07f, 5.140584370e-07f, 5.153787843e-07f, 5.166980147e-07f, 5.180161262e-07f, 5.193331167e-07f, 5.206489841e-07f, 5.219637262e-07f,
+5.232773411e-07f, 5.245898265e-07f, 5.259011804e-07f, 5.272114008e-07f, 5.285204854e-07f, 5.298284323e-07f, 5.311352394e-07f, 5.324409045e-07f, 5.337454257e-07f, 5.350488008e-07f,
+5.363510277e-07f, 5.376521045e-07f, 5.389520289e-07f, 5.402507990e-07f, 5.415484128e-07f, 5.428448680e-07f, 5.441401627e-07f, 5.454342949e-07f, 5.467272624e-07f, 5.480190633e-07f,
+5.493096954e-07f, 5.505991567e-07f, 5.518874452e-07f, 5.531745589e-07f, 5.544604957e-07f, 5.557452535e-07f, 5.570288304e-07f, 5.583112242e-07f, 5.595924331e-07f, 5.608724549e-07f,
+5.621512876e-07f, 5.634289292e-07f, 5.647053776e-07f, 5.659806310e-07f, 5.672546872e-07f, 5.685275442e-07f, 5.697992000e-07f, 5.710696527e-07f, 5.723389002e-07f, 5.736069404e-07f,
+5.748737715e-07f, 5.761393914e-07f, 5.774037982e-07f, 5.786669897e-07f, 5.799289641e-07f, 5.811897193e-07f, 5.824492534e-07f, 5.837075644e-07f, 5.849646502e-07f, 5.862205090e-07f,
+5.874751387e-07f, 5.887285374e-07f, 5.899807031e-07f, 5.912316339e-07f, 5.924813277e-07f, 5.937297826e-07f, 5.949769966e-07f, 5.962229678e-07f, 5.974676943e-07f, 5.987111740e-07f,
+5.999534051e-07f, 6.011943855e-07f, 6.024341133e-07f, 6.036725867e-07f, 6.049098036e-07f, 6.061457621e-07f, 6.073804602e-07f, 6.086138962e-07f, 6.098460679e-07f, 6.110769735e-07f,
+6.123066110e-07f, 6.135349786e-07f, 6.147620743e-07f, 6.159878962e-07f, 6.172124424e-07f, 6.184357109e-07f, 6.196576999e-07f, 6.208784075e-07f, 6.220978316e-07f, 6.233159706e-07f,
+6.245328223e-07f, 6.257483850e-07f, 6.269626568e-07f, 6.281756357e-07f, 6.293873199e-07f, 6.305977074e-07f, 6.318067964e-07f, 6.330145851e-07f, 6.342210715e-07f, 6.354262537e-07f,
+6.366301299e-07f, 6.378326982e-07f, 6.390339568e-07f, 6.402339037e-07f, 6.414325371e-07f, 6.426298552e-07f, 6.438258561e-07f, 6.450205379e-07f, 6.462138987e-07f, 6.474059368e-07f,
+6.485966503e-07f, 6.497860373e-07f, 6.509740960e-07f, 6.521608246e-07f, 6.533462211e-07f, 6.545302839e-07f, 6.557130109e-07f, 6.568944005e-07f, 6.580744508e-07f, 6.592531599e-07f,
+6.604305261e-07f, 6.616065475e-07f, 6.627812222e-07f, 6.639545486e-07f, 6.651265248e-07f, 6.662971489e-07f, 6.674664192e-07f, 6.686343338e-07f, 6.698008910e-07f, 6.709660889e-07f,
+6.721299258e-07f, 6.732923999e-07f, 6.744535094e-07f, 6.756132524e-07f, 6.767716273e-07f, 6.779286322e-07f, 6.790842653e-07f, 6.802385249e-07f, 6.813914092e-07f, 6.825429164e-07f,
+6.836930447e-07f, 6.848417925e-07f, 6.859891579e-07f, 6.871351391e-07f, 6.882797344e-07f, 6.894229421e-07f, 6.905647604e-07f, 6.917051876e-07f, 6.928442218e-07f, 6.939818614e-07f,
+6.951181046e-07f, 6.962529497e-07f, 6.973863949e-07f, 6.985184386e-07f, 6.996490789e-07f, 7.007783142e-07f, 7.019061426e-07f, 7.030325626e-07f, 7.041575724e-07f, 7.052811702e-07f,
+7.064033544e-07f, 7.075241232e-07f, 7.086434749e-07f, 7.097614079e-07f, 7.108779204e-07f, 7.119930107e-07f, 7.131066771e-07f, 7.142189179e-07f, 7.153297315e-07f, 7.164391161e-07f,
+7.175470701e-07f, 7.186535917e-07f, 7.197586794e-07f, 7.208623313e-07f, 7.219645459e-07f, 7.230653215e-07f, 7.241646563e-07f, 7.252625488e-07f, 7.263589972e-07f, 7.274540000e-07f,
+7.285475554e-07f, 7.296396617e-07f, 7.307303174e-07f, 7.318195208e-07f, 7.329072702e-07f, 7.339935641e-07f, 7.350784006e-07f, 7.361617783e-07f, 7.372436954e-07f, 7.383241504e-07f,
+7.394031416e-07f, 7.404806673e-07f, 7.415567261e-07f, 7.426313161e-07f, 7.437044359e-07f, 7.447760838e-07f, 7.458462581e-07f, 7.469149573e-07f, 7.479821798e-07f, 7.490479239e-07f,
+7.501121881e-07f, 7.511749708e-07f, 7.522362703e-07f, 7.532960850e-07f, 7.543544135e-07f, 7.554112540e-07f, 7.564666051e-07f, 7.575204650e-07f, 7.585728323e-07f, 7.596237054e-07f,
+7.606730826e-07f, 7.617209624e-07f, 7.627673433e-07f, 7.638122237e-07f, 7.648556020e-07f, 7.658974767e-07f, 7.669378462e-07f, 7.679767089e-07f, 7.690140633e-07f, 7.700499079e-07f,
+7.710842411e-07f, 7.721170613e-07f, 7.731483671e-07f, 7.741781568e-07f, 7.752064290e-07f, 7.762331822e-07f, 7.772584147e-07f, 7.782821251e-07f, 7.793043119e-07f, 7.803249734e-07f,
+7.813441083e-07f, 7.823617150e-07f, 7.833777920e-07f, 7.843923378e-07f, 7.854053508e-07f, 7.864168297e-07f, 7.874267728e-07f, 7.884351787e-07f, 7.894420458e-07f, 7.904473728e-07f,
+7.914511581e-07f, 7.924534002e-07f, 7.934540977e-07f, 7.944532490e-07f, 7.954508528e-07f, 7.964469074e-07f, 7.974414115e-07f, 7.984343636e-07f, 7.994257623e-07f, 8.004156059e-07f,
+8.014038932e-07f, 8.023906227e-07f, 8.033757928e-07f, 8.043594022e-07f, 8.053414494e-07f, 8.063219330e-07f, 8.073008514e-07f, 8.082782034e-07f, 8.092539874e-07f, 8.102282021e-07f,
+8.112008459e-07f, 8.121719175e-07f, 8.131414154e-07f, 8.141093383e-07f, 8.150756847e-07f, 8.160404532e-07f, 8.170036424e-07f, 8.179652508e-07f, 8.189252771e-07f, 8.198837199e-07f,
+8.208405778e-07f, 8.217958494e-07f, 8.227495333e-07f, 8.237016280e-07f, 8.246521323e-07f, 8.256010447e-07f, 8.265483639e-07f, 8.274940884e-07f, 8.284382170e-07f, 8.293807481e-07f,
+8.303216806e-07f, 8.312610129e-07f, 8.321987438e-07f, 8.331348718e-07f, 8.340693957e-07f, 8.350023140e-07f, 8.359336255e-07f, 8.368633287e-07f, 8.377914224e-07f, 8.387179051e-07f,
+8.396427756e-07f, 8.405660325e-07f, 8.414876745e-07f, 8.424077002e-07f, 8.433261084e-07f, 8.442428977e-07f, 8.451580667e-07f, 8.460716142e-07f, 8.469835389e-07f, 8.478938394e-07f,
+8.488025145e-07f, 8.497095628e-07f, 8.506149830e-07f, 8.515187739e-07f, 8.524209341e-07f, 8.533214623e-07f, 8.542203573e-07f, 8.551176178e-07f, 8.560132424e-07f, 8.569072300e-07f,
+8.577995792e-07f, 8.586902887e-07f, 8.595793574e-07f, 8.604667838e-07f, 8.613525668e-07f, 8.622367051e-07f, 8.631191975e-07f, 8.640000426e-07f, 8.648792392e-07f, 8.657567861e-07f,
+8.666326821e-07f, 8.675069258e-07f, 8.683795161e-07f, 8.692504517e-07f, 8.701197314e-07f, 8.709873539e-07f, 8.718533181e-07f, 8.727176226e-07f, 8.735802663e-07f, 8.744412480e-07f,
+8.753005664e-07f, 8.761582203e-07f, 8.770142085e-07f, 8.778685299e-07f, 8.787211832e-07f, 8.795721672e-07f, 8.804214807e-07f, 8.812691225e-07f, 8.821150914e-07f, 8.829593863e-07f,
+8.838020059e-07f, 8.846429492e-07f, 8.854822148e-07f, 8.863198016e-07f, 8.871557085e-07f, 8.879899343e-07f, 8.888224778e-07f, 8.896533379e-07f, 8.904825133e-07f, 8.913100030e-07f,
+8.921358058e-07f, 8.929599205e-07f, 8.937823460e-07f, 8.946030812e-07f, 8.954221248e-07f, 8.962394759e-07f, 8.970551331e-07f, 8.978690955e-07f, 8.986813619e-07f, 8.994919311e-07f,
+9.003008020e-07f, 9.011079736e-07f, 9.019134446e-07f, 9.027172140e-07f, 9.035192808e-07f, 9.043196436e-07f, 9.051183016e-07f, 9.059152535e-07f, 9.067104983e-07f, 9.075040348e-07f,
+9.082958621e-07f, 9.090859789e-07f, 9.098743843e-07f, 9.106610771e-07f, 9.114460563e-07f, 9.122293207e-07f, 9.130108694e-07f, 9.137907012e-07f, 9.145688151e-07f, 9.153452100e-07f,
+9.161198849e-07f, 9.168928386e-07f, 9.176640703e-07f, 9.184335787e-07f, 9.192013629e-07f, 9.199674218e-07f, 9.207317544e-07f, 9.214943596e-07f, 9.222552365e-07f, 9.230143839e-07f,
+9.237718008e-07f, 9.245274863e-07f, 9.252814393e-07f, 9.260336588e-07f, 9.267841438e-07f, 9.275328932e-07f, 9.282799061e-07f, 9.290251815e-07f, 9.297687183e-07f, 9.305105155e-07f,
+9.312505722e-07f, 9.319888874e-07f, 9.327254601e-07f, 9.334602892e-07f, 9.341933739e-07f, 9.349247131e-07f, 9.356543059e-07f, 9.363821512e-07f, 9.371082482e-07f, 9.378325958e-07f,
+9.385551931e-07f, 9.392760392e-07f, 9.399951330e-07f, 9.407124736e-07f, 9.414280601e-07f, 9.421418915e-07f, 9.428539669e-07f, 9.435642853e-07f, 9.442728459e-07f, 9.449796476e-07f,
+9.456846895e-07f, 9.463879708e-07f, 9.470894904e-07f, 9.477892475e-07f, 9.484872412e-07f, 9.491834705e-07f, 9.498779345e-07f, 9.505706323e-07f, 9.512615630e-07f, 9.519507258e-07f,
+9.526381196e-07f, 9.533237437e-07f, 9.540075970e-07f, 9.546896788e-07f, 9.553699882e-07f, 9.560485242e-07f, 9.567252860e-07f, 9.574002728e-07f, 9.580734835e-07f, 9.587449174e-07f,
+9.594145737e-07f, 9.600824513e-07f, 9.607485496e-07f, 9.614128676e-07f, 9.620754044e-07f, 9.627361593e-07f, 9.633951313e-07f, 9.640523197e-07f, 9.647077235e-07f, 9.653613420e-07f,
+9.660131744e-07f, 9.666632197e-07f, 9.673114772e-07f, 9.679579460e-07f, 9.686026254e-07f, 9.692455144e-07f, 9.698866123e-07f, 9.705259184e-07f, 9.711634316e-07f, 9.717991514e-07f,
+9.724330768e-07f, 9.730652070e-07f, 9.736955414e-07f, 9.743240790e-07f, 9.749508191e-07f, 9.755757609e-07f, 9.761989037e-07f, 9.768202466e-07f, 9.774397888e-07f, 9.780575297e-07f,
+9.786734684e-07f, 9.792876042e-07f, 9.798999362e-07f, 9.805104638e-07f, 9.811191862e-07f, 9.817261027e-07f, 9.823312124e-07f, 9.829345147e-07f, 9.835360088e-07f, 9.841356939e-07f,
+9.847335694e-07f, 9.853296344e-07f, 9.859238884e-07f, 9.865163304e-07f, 9.871069599e-07f, 9.876957761e-07f, 9.882827783e-07f, 9.888679657e-07f, 9.894513377e-07f, 9.900328935e-07f,
+9.906126325e-07f, 9.911905539e-07f, 9.917666571e-07f, 9.923409414e-07f, 9.929134060e-07f, 9.934840503e-07f, 9.940528736e-07f, 9.946198752e-07f, 9.951850545e-07f, 9.957484107e-07f,
+9.963099433e-07f, 9.968696514e-07f, 9.974275346e-07f, 9.979835920e-07f, 9.985378231e-07f, 9.990902272e-07f, 9.996408037e-07f, 1.000189552e-06f, 1.000736471e-06f, 1.001281561e-06f,
+1.001824820e-06f, 1.002366249e-06f, 1.002905846e-06f, 1.003443611e-06f, 1.003979543e-06f, 1.004513642e-06f, 1.005045907e-06f, 1.005576337e-06f, 1.006104932e-06f, 1.006631691e-06f,
+1.007156614e-06f, 1.007679700e-06f, 1.008200948e-06f, 1.008720358e-06f, 1.009237929e-06f, 1.009753661e-06f, 1.010267553e-06f, 1.010779604e-06f, 1.011289815e-06f, 1.011798183e-06f,
+1.012304709e-06f, 1.012809393e-06f, 1.013312233e-06f, 1.013813229e-06f, 1.014312380e-06f, 1.014809687e-06f, 1.015305147e-06f, 1.015798762e-06f, 1.016290530e-06f, 1.016780450e-06f,
+1.017268523e-06f, 1.017754748e-06f, 1.018239123e-06f, 1.018721649e-06f, 1.019202325e-06f, 1.019681151e-06f, 1.020158126e-06f, 1.020633249e-06f, 1.021106521e-06f, 1.021577940e-06f,
+1.022047505e-06f, 1.022515218e-06f, 1.022981076e-06f, 1.023445080e-06f, 1.023907229e-06f, 1.024367522e-06f, 1.024825959e-06f, 1.025282540e-06f, 1.025737264e-06f, 1.026190131e-06f,
+1.026641140e-06f, 1.027090290e-06f, 1.027537581e-06f, 1.027983014e-06f, 1.028426586e-06f, 1.028868299e-06f, 1.029308150e-06f, 1.029746141e-06f, 1.030182270e-06f, 1.030616537e-06f,
+1.031048942e-06f, 1.031479484e-06f, 1.031908162e-06f, 1.032334977e-06f, 1.032759928e-06f, 1.033183014e-06f, 1.033604235e-06f, 1.034023591e-06f, 1.034441081e-06f, 1.034856704e-06f,
+1.035270461e-06f, 1.035682351e-06f, 1.036092374e-06f, 1.036500529e-06f, 1.036906816e-06f, 1.037311234e-06f, 1.037713783e-06f, 1.038114462e-06f, 1.038513272e-06f, 1.038910212e-06f,
+1.039305281e-06f, 1.039698480e-06f, 1.040089807e-06f, 1.040479262e-06f, 1.040866846e-06f, 1.041252557e-06f, 1.041636396e-06f, 1.042018361e-06f, 1.042398454e-06f, 1.042776672e-06f,
+1.043153017e-06f, 1.043527487e-06f, 1.043900082e-06f, 1.044270803e-06f, 1.044639648e-06f, 1.045006617e-06f, 1.045371710e-06f, 1.045734927e-06f, 1.046096268e-06f, 1.046455731e-06f,
+1.046813317e-06f, 1.047169026e-06f, 1.047522856e-06f, 1.047874809e-06f, 1.048224883e-06f, 1.048573078e-06f, 1.048919395e-06f, 1.049263832e-06f, 1.049606389e-06f, 1.049947067e-06f,
+1.050285864e-06f, 1.050622781e-06f, 1.050957818e-06f, 1.051290973e-06f, 1.051622247e-06f, 1.051951640e-06f, 1.052279151e-06f, 1.052604780e-06f, 1.052928527e-06f, 1.053250392e-06f,
+1.053570374e-06f, 1.053888473e-06f, 1.054204688e-06f, 1.054519021e-06f, 1.054831469e-06f, 1.055142034e-06f, 1.055450715e-06f, 1.055757512e-06f, 1.056062424e-06f, 1.056365451e-06f,
+1.056666594e-06f, 1.056965851e-06f, 1.057263223e-06f, 1.057558710e-06f, 1.057852311e-06f, 1.058144026e-06f, 1.058433855e-06f, 1.058721797e-06f, 1.059007853e-06f, 1.059292023e-06f,
+1.059574306e-06f, 1.059854702e-06f, 1.060133211e-06f, 1.060409832e-06f, 1.060684566e-06f, 1.060957412e-06f, 1.061228371e-06f, 1.061497442e-06f, 1.061764624e-06f, 1.062029919e-06f,
+1.062293325e-06f, 1.062554843e-06f, 1.062814472e-06f, 1.063072212e-06f, 1.063328064e-06f, 1.063582026e-06f, 1.063834099e-06f, 1.064084283e-06f, 1.064332578e-06f, 1.064578983e-06f,
+1.064823499e-06f, 1.065066125e-06f, 1.065306862e-06f, 1.065545708e-06f, 1.065782664e-06f, 1.066017731e-06f, 1.066250907e-06f, 1.066482193e-06f, 1.066711589e-06f, 1.066939094e-06f,
+1.067164709e-06f, 1.067388433e-06f, 1.067610267e-06f, 1.067830210e-06f, 1.068048263e-06f, 1.068264424e-06f, 1.068478695e-06f, 1.068691075e-06f, 1.068901564e-06f, 1.069110162e-06f,
+1.069316869e-06f, 1.069521685e-06f, 1.069724610e-06f, 1.069925643e-06f, 1.070124786e-06f, 1.070322037e-06f, 1.070517397e-06f, 1.070710866e-06f, 1.070902444e-06f, 1.071092131e-06f,
+1.071279926e-06f, 1.071465830e-06f, 1.071649842e-06f, 1.071831964e-06f, 1.072012194e-06f, 1.072190533e-06f, 1.072366981e-06f, 1.072541537e-06f, 1.072714203e-06f, 1.072884977e-06f,
+1.073053860e-06f, 1.073220851e-06f, 1.073385952e-06f, 1.073549162e-06f, 1.073710480e-06f, 1.073869908e-06f, 1.074027445e-06f, 1.074183091e-06f, 1.074336846e-06f, 1.074488710e-06f,
+1.074638683e-06f, 1.074786766e-06f, 1.074932958e-06f, 1.075077260e-06f, 1.075219671e-06f, 1.075360192e-06f, 1.075498822e-06f, 1.075635563e-06f, 1.075770413e-06f, 1.075903373e-06f,
+1.076034443e-06f, 1.076163623e-06f, 1.076290913e-06f, 1.076416314e-06f, 1.076539825e-06f, 1.076661447e-06f, 1.076781179e-06f, 1.076899022e-06f, 1.077014976e-06f, 1.077129041e-06f,
+1.077241216e-06f, 1.077351504e-06f, 1.077459902e-06f, 1.077566412e-06f, 1.077671034e-06f, 1.077773767e-06f, 1.077874612e-06f, 1.077973570e-06f, 1.078070639e-06f, 1.078165821e-06f,
+1.078259116e-06f, 1.078350523e-06f, 1.078440043e-06f, 1.078527676e-06f, 1.078613422e-06f, 1.078697281e-06f, 1.078779254e-06f, 1.078859341e-06f, 1.078937541e-06f, 1.079013856e-06f,
+1.079088285e-06f, 1.079160828e-06f, 1.079231486e-06f, 1.079300258e-06f, 1.079367146e-06f, 1.079432149e-06f, 1.079495268e-06f, 1.079556502e-06f, 1.079615851e-06f, 1.079673317e-06f,
+1.079728900e-06f, 1.079782599e-06f, 1.079834414e-06f, 1.079884347e-06f, 1.079932396e-06f, 1.079978564e-06f, 1.080022848e-06f, 1.080065251e-06f, 1.080105772e-06f, 1.080144412e-06f,
+1.080181170e-06f, 1.080216047e-06f, 1.080249043e-06f, 1.080280159e-06f, 1.080309394e-06f, 1.080336750e-06f, 1.080362225e-06f, 1.080385822e-06f, 1.080407539e-06f, 1.080427377e-06f,
+1.080445337e-06f, 1.080461418e-06f, 1.080475621e-06f, 1.080487946e-06f, 1.080498394e-06f, 1.080506965e-06f, 1.080513659e-06f, 1.080518477e-06f, 1.080521418e-06f, 1.080522484e-06f,
+1.080521673e-06f, 1.080518988e-06f, 1.080514428e-06f, 1.080507993e-06f, 1.080499683e-06f, 1.080489500e-06f, 1.080477443e-06f, 1.080463513e-06f, 1.080447710e-06f, 1.080430034e-06f,
+1.080410487e-06f, 1.080389067e-06f, 1.080365775e-06f, 1.080340613e-06f, 1.080313580e-06f, 1.080284676e-06f, 1.080253902e-06f, 1.080221259e-06f, 1.080186746e-06f, 1.080150364e-06f,
+1.080112114e-06f, 1.080071995e-06f, 1.080030009e-06f, 1.079986155e-06f, 1.079940434e-06f, 1.079892847e-06f, 1.079843393e-06f, 1.079792074e-06f, 1.079738889e-06f, 1.079683839e-06f,
+1.079626925e-06f, 1.079568147e-06f, 1.079507504e-06f, 1.079444999e-06f, 1.079380630e-06f, 1.079314399e-06f, 1.079246306e-06f, 1.079176351e-06f, 1.079104536e-06f, 1.079030859e-06f,
+1.078955322e-06f, 1.078877926e-06f, 1.078798670e-06f, 1.078717555e-06f, 1.078634581e-06f, 1.078549750e-06f, 1.078463061e-06f, 1.078374515e-06f, 1.078284112e-06f, 1.078191853e-06f,
+1.078097739e-06f, 1.078001769e-06f, 1.077903945e-06f, 1.077804266e-06f, 1.077702734e-06f, 1.077599349e-06f, 1.077494110e-06f, 1.077387020e-06f, 1.077278078e-06f, 1.077167284e-06f,
+1.077054640e-06f, 1.076940146e-06f, 1.076823802e-06f, 1.076705608e-06f, 1.076585566e-06f, 1.076463676e-06f, 1.076339939e-06f, 1.076214354e-06f, 1.076086923e-06f, 1.075957645e-06f,
+1.075826522e-06f, 1.075693555e-06f, 1.075558743e-06f, 1.075422087e-06f, 1.075283587e-06f, 1.075143245e-06f, 1.075001061e-06f, 1.074857035e-06f, 1.074711169e-06f, 1.074563461e-06f,
+1.074413914e-06f, 1.074262527e-06f, 1.074109302e-06f, 1.073954239e-06f, 1.073797337e-06f, 1.073638599e-06f, 1.073478025e-06f, 1.073315614e-06f, 1.073151368e-06f, 1.072985288e-06f,
+1.072817374e-06f, 1.072647626e-06f, 1.072476045e-06f, 1.072302632e-06f, 1.072127388e-06f, 1.071950312e-06f, 1.071771407e-06f, 1.071590671e-06f, 1.071408106e-06f, 1.071223713e-06f,
+1.071037492e-06f, 1.070849444e-06f, 1.070659569e-06f, 1.070467868e-06f, 1.070274342e-06f, 1.070078991e-06f, 1.069881816e-06f, 1.069682818e-06f, 1.069481997e-06f, 1.069279354e-06f,
+1.069074889e-06f, 1.068868604e-06f, 1.068660499e-06f, 1.068450575e-06f, 1.068238832e-06f, 1.068025270e-06f, 1.067809892e-06f, 1.067592697e-06f, 1.067373685e-06f, 1.067152859e-06f,
+1.066930218e-06f, 1.066705763e-06f, 1.066479495e-06f, 1.066251414e-06f, 1.066021522e-06f, 1.065789818e-06f, 1.065556305e-06f, 1.065320981e-06f, 1.065083849e-06f, 1.064844908e-06f,
+1.064604160e-06f, 1.064361605e-06f, 1.064117244e-06f, 1.063871078e-06f, 1.063623107e-06f, 1.063373333e-06f, 1.063121755e-06f, 1.062868375e-06f, 1.062613193e-06f, 1.062356211e-06f,
+1.062097428e-06f, 1.061836846e-06f, 1.061574466e-06f, 1.061310287e-06f, 1.061044312e-06f, 1.060776540e-06f, 1.060506973e-06f, 1.060235611e-06f, 1.059962456e-06f, 1.059687507e-06f,
+1.059410765e-06f, 1.059132232e-06f, 1.058851908e-06f, 1.058569794e-06f, 1.058285891e-06f, 1.058000200e-06f, 1.057712721e-06f, 1.057423455e-06f, 1.057132403e-06f, 1.056839566e-06f,
+1.056544944e-06f, 1.056248539e-06f, 1.055950351e-06f, 1.055650381e-06f, 1.055348630e-06f, 1.055045099e-06f, 1.054739788e-06f, 1.054432699e-06f, 1.054123832e-06f, 1.053813188e-06f,
+1.053500767e-06f, 1.053186572e-06f, 1.052870602e-06f, 1.052552859e-06f, 1.052233343e-06f, 1.051912055e-06f, 1.051588996e-06f, 1.051264167e-06f, 1.050937569e-06f, 1.050609202e-06f,
+1.050279068e-06f, 1.049947167e-06f, 1.049613500e-06f, 1.049278069e-06f, 1.048940873e-06f, 1.048601915e-06f, 1.048261194e-06f, 1.047918712e-06f, 1.047574469e-06f, 1.047228467e-06f,
+1.046880707e-06f, 1.046531188e-06f, 1.046179913e-06f, 1.045826882e-06f, 1.045472096e-06f, 1.045115556e-06f, 1.044757262e-06f, 1.044397217e-06f, 1.044035420e-06f, 1.043671872e-06f,
+1.043306575e-06f, 1.042939530e-06f, 1.042570737e-06f, 1.042200198e-06f, 1.041827912e-06f, 1.041453882e-06f, 1.041078109e-06f, 1.040700592e-06f, 1.040321333e-06f, 1.039940334e-06f,
+1.039557594e-06f, 1.039173116e-06f, 1.038786899e-06f, 1.038398945e-06f, 1.038009255e-06f, 1.037617830e-06f, 1.037224671e-06f, 1.036829779e-06f, 1.036433154e-06f, 1.036034798e-06f,
+1.035634712e-06f, 1.035232896e-06f, 1.034829353e-06f, 1.034424082e-06f, 1.034017084e-06f, 1.033608362e-06f, 1.033197915e-06f, 1.032785745e-06f, 1.032371853e-06f, 1.031956239e-06f,
+1.031538906e-06f, 1.031119853e-06f, 1.030699082e-06f, 1.030276594e-06f, 1.029852389e-06f, 1.029426470e-06f, 1.028998836e-06f, 1.028569490e-06f, 1.028138431e-06f, 1.027705662e-06f,
+1.027271182e-06f, 1.026834994e-06f, 1.026397098e-06f, 1.025957495e-06f, 1.025516187e-06f, 1.025073173e-06f, 1.024628457e-06f, 1.024182037e-06f, 1.023733917e-06f, 1.023284096e-06f,
+1.022832575e-06f, 1.022379356e-06f, 1.021924441e-06f, 1.021467829e-06f, 1.021009522e-06f, 1.020549521e-06f, 1.020087828e-06f, 1.019624442e-06f, 1.019159366e-06f, 1.018692601e-06f,
+1.018224147e-06f, 1.017754005e-06f, 1.017282178e-06f, 1.016808665e-06f, 1.016333469e-06f, 1.015856589e-06f, 1.015378028e-06f, 1.014897786e-06f, 1.014415864e-06f, 1.013932264e-06f,
+1.013446987e-06f, 1.012960033e-06f, 1.012471405e-06f, 1.011981103e-06f, 1.011489128e-06f, 1.010995481e-06f, 1.010500164e-06f, 1.010003177e-06f, 1.009504522e-06f, 1.009004200e-06f,
+1.008502213e-06f, 1.007998560e-06f, 1.007493245e-06f, 1.006986266e-06f, 1.006477627e-06f, 1.005967327e-06f, 1.005455369e-06f, 1.004941752e-06f, 1.004426480e-06f, 1.003909551e-06f,
+1.003390969e-06f, 1.002870734e-06f, 1.002348847e-06f, 1.001825309e-06f, 1.001300122e-06f, 1.000773286e-06f, 1.000244804e-06f, 9.997146754e-07f, 9.991829024e-07f, 9.986494860e-07f,
+9.981144274e-07f, 9.975777277e-07f, 9.970393882e-07f, 9.964994101e-07f, 9.959577947e-07f, 9.954145431e-07f, 9.948696566e-07f, 9.943231364e-07f, 9.937749837e-07f, 9.932251997e-07f,
+9.926737858e-07f, 9.921207430e-07f, 9.915660728e-07f, 9.910097762e-07f, 9.904518546e-07f, 9.898923093e-07f, 9.893311413e-07f, 9.887683521e-07f, 9.882039428e-07f, 9.876379147e-07f,
+9.870702691e-07f, 9.865010073e-07f, 9.859301305e-07f, 9.853576399e-07f, 9.847835368e-07f, 9.842078226e-07f, 9.836304985e-07f, 9.830515658e-07f, 9.824710256e-07f, 9.818888795e-07f,
+9.813051285e-07f, 9.807197741e-07f, 9.801328174e-07f, 9.795442599e-07f, 9.789541027e-07f, 9.783623473e-07f, 9.777689948e-07f, 9.771740466e-07f, 9.765775040e-07f, 9.759793683e-07f,
+9.753796409e-07f, 9.747783230e-07f, 9.741754159e-07f, 9.735709210e-07f, 9.729648396e-07f, 9.723571730e-07f, 9.717479226e-07f, 9.711370896e-07f, 9.705246755e-07f, 9.699106815e-07f,
+9.692951089e-07f, 9.686779592e-07f, 9.680592337e-07f, 9.674389336e-07f, 9.668170604e-07f, 9.661936154e-07f, 9.655685999e-07f, 9.649420154e-07f, 9.643138631e-07f, 9.636841444e-07f,
+9.630528608e-07f, 9.624200134e-07f, 9.617856038e-07f, 9.611496333e-07f, 9.605121033e-07f, 9.598730150e-07f, 9.592323700e-07f, 9.585901696e-07f, 9.579464151e-07f, 9.573011080e-07f,
+9.566542497e-07f, 9.560058415e-07f, 9.553558848e-07f, 9.547043810e-07f, 9.540513315e-07f, 9.533967378e-07f, 9.527406011e-07f, 9.520829230e-07f, 9.514237048e-07f, 9.507629480e-07f,
+9.501006539e-07f, 9.494368239e-07f, 9.487714595e-07f, 9.481045622e-07f, 9.474361332e-07f, 9.467661741e-07f, 9.460946862e-07f, 9.454216711e-07f, 9.447471300e-07f, 9.440710645e-07f,
+9.433934760e-07f, 9.427143660e-07f, 9.420337358e-07f, 9.413515869e-07f, 9.406679208e-07f, 9.399827389e-07f, 9.392960427e-07f, 9.386078335e-07f, 9.379181129e-07f, 9.372268824e-07f,
+9.365341433e-07f, 9.358398972e-07f, 9.351441455e-07f, 9.344468896e-07f, 9.337481311e-07f, 9.330478714e-07f, 9.323461120e-07f, 9.316428543e-07f, 9.309380999e-07f, 9.302318502e-07f,
+9.295241068e-07f, 9.288148710e-07f, 9.281041444e-07f, 9.273919284e-07f, 9.266782246e-07f, 9.259630345e-07f, 9.252463596e-07f, 9.245282012e-07f, 9.238085611e-07f, 9.230874406e-07f,
+9.223648412e-07f, 9.216407646e-07f, 9.209152121e-07f, 9.201881853e-07f, 9.194596857e-07f, 9.187297149e-07f, 9.179982743e-07f, 9.172653655e-07f, 9.165309900e-07f, 9.157951493e-07f,
+9.150578449e-07f, 9.143190785e-07f, 9.135788515e-07f, 9.128371654e-07f, 9.120940219e-07f, 9.113494223e-07f, 9.106033684e-07f, 9.098558616e-07f, 9.091069034e-07f, 9.083564955e-07f,
+9.076046393e-07f, 9.068513365e-07f, 9.060965886e-07f, 9.053403971e-07f, 9.045827636e-07f, 9.038236897e-07f, 9.030631769e-07f, 9.023012268e-07f, 9.015378411e-07f, 9.007730211e-07f,
+9.000067686e-07f, 8.992390850e-07f, 8.984699721e-07f, 8.976994313e-07f, 8.969274642e-07f, 8.961540725e-07f, 8.953792577e-07f, 8.946030214e-07f, 8.938253652e-07f, 8.930462906e-07f,
+8.922657994e-07f, 8.914838931e-07f, 8.907005732e-07f, 8.899158415e-07f, 8.891296994e-07f, 8.883421486e-07f, 8.875531908e-07f, 8.867628275e-07f, 8.859710603e-07f, 8.851778908e-07f,
+8.843833208e-07f, 8.835873517e-07f, 8.827899853e-07f, 8.819912231e-07f, 8.811910668e-07f, 8.803895180e-07f, 8.795865783e-07f, 8.787822494e-07f, 8.779765328e-07f, 8.771694304e-07f,
+8.763609436e-07f, 8.755510741e-07f, 8.747398235e-07f, 8.739271936e-07f, 8.731131860e-07f, 8.722978022e-07f, 8.714810441e-07f, 8.706629131e-07f, 8.698434110e-07f, 8.690225395e-07f,
+8.682003001e-07f, 8.673766946e-07f, 8.665517246e-07f, 8.657253918e-07f, 8.648976979e-07f, 8.640686445e-07f, 8.632382333e-07f, 8.624064660e-07f, 8.615733442e-07f, 8.607388697e-07f,
+8.599030441e-07f, 8.590658691e-07f, 8.582273463e-07f, 8.573874776e-07f, 8.565462645e-07f, 8.557037088e-07f, 8.548598122e-07f, 8.540145763e-07f, 8.531680028e-07f, 8.523200935e-07f,
+8.514708501e-07f, 8.506202742e-07f, 8.497683675e-07f, 8.489151319e-07f, 8.480605689e-07f, 8.472046803e-07f, 8.463474678e-07f, 8.454889331e-07f, 8.446290780e-07f, 8.437679042e-07f,
+8.429054133e-07f, 8.420416071e-07f, 8.411764874e-07f, 8.403100559e-07f, 8.394423142e-07f, 8.385732642e-07f, 8.377029075e-07f, 8.368312459e-07f, 8.359582812e-07f, 8.350840151e-07f,
+8.342084492e-07f, 8.333315855e-07f, 8.324534255e-07f, 8.315739711e-07f, 8.306932240e-07f, 8.298111860e-07f, 8.289278588e-07f, 8.280432441e-07f, 8.271573438e-07f, 8.262701596e-07f,
+8.253816932e-07f, 8.244919465e-07f, 8.236009211e-07f, 8.227086189e-07f, 8.218150416e-07f, 8.209201910e-07f, 8.200240688e-07f, 8.191266769e-07f, 8.182280170e-07f, 8.173280909e-07f,
+8.164269004e-07f, 8.155244472e-07f, 8.146207332e-07f, 8.137157601e-07f, 8.128095297e-07f, 8.119020438e-07f, 8.109933042e-07f, 8.100833128e-07f, 8.091720712e-07f, 8.082595813e-07f,
+8.073458449e-07f, 8.064308638e-07f, 8.055146397e-07f, 8.045971746e-07f, 8.036784702e-07f, 8.027585283e-07f, 8.018373507e-07f, 8.009149393e-07f, 7.999912958e-07f, 7.990664221e-07f,
+7.981403199e-07f, 7.972129912e-07f, 7.962844377e-07f, 7.953546613e-07f, 7.944236637e-07f, 7.934914469e-07f, 7.925580126e-07f, 7.916233626e-07f, 7.906874989e-07f, 7.897504232e-07f,
+7.888121373e-07f, 7.878726432e-07f, 7.869319426e-07f, 7.859900374e-07f, 7.850469295e-07f, 7.841026206e-07f, 7.831571126e-07f, 7.822104075e-07f, 7.812625069e-07f, 7.803134128e-07f,
+7.793631271e-07f, 7.784116515e-07f, 7.774589880e-07f, 7.765051384e-07f, 7.755501046e-07f, 7.745938884e-07f, 7.736364917e-07f, 7.726779163e-07f, 7.717181642e-07f, 7.707572371e-07f,
+7.697951371e-07f, 7.688318658e-07f, 7.678674253e-07f, 7.669018174e-07f, 7.659350440e-07f, 7.649671069e-07f, 7.639980080e-07f, 7.630277493e-07f, 7.620563326e-07f, 7.610837597e-07f,
+7.601100327e-07f, 7.591351533e-07f, 7.581591234e-07f, 7.571819450e-07f, 7.562036200e-07f, 7.552241502e-07f, 7.542435376e-07f, 7.532617840e-07f, 7.522788913e-07f, 7.512948615e-07f,
+7.503096965e-07f, 7.493233981e-07f, 7.483359683e-07f, 7.473474090e-07f, 7.463577220e-07f, 7.453669094e-07f, 7.443749730e-07f, 7.433819147e-07f, 7.423877365e-07f, 7.413924402e-07f,
+7.403960279e-07f, 7.393985014e-07f, 7.383998626e-07f, 7.374001135e-07f, 7.363992560e-07f, 7.353972920e-07f, 7.343942235e-07f, 7.333900524e-07f, 7.323847806e-07f, 7.313784101e-07f,
+7.303709428e-07f, 7.293623806e-07f, 7.283527255e-07f, 7.273419795e-07f, 7.263301444e-07f, 7.253172222e-07f, 7.243032148e-07f, 7.232881243e-07f, 7.222719526e-07f, 7.212547015e-07f,
+7.202363731e-07f, 7.192169693e-07f, 7.181964922e-07f, 7.171749435e-07f, 7.161523253e-07f, 7.151286396e-07f, 7.141038883e-07f, 7.130780734e-07f, 7.120511968e-07f, 7.110232605e-07f,
+7.099942665e-07f, 7.089642168e-07f, 7.079331133e-07f, 7.069009579e-07f, 7.058677528e-07f, 7.048334998e-07f, 7.037982009e-07f, 7.027618581e-07f, 7.017244734e-07f, 7.006860487e-07f,
+6.996465861e-07f, 6.986060875e-07f, 6.975645550e-07f, 6.965219904e-07f, 6.954783958e-07f, 6.944337732e-07f, 6.933881246e-07f, 6.923414520e-07f, 6.912937573e-07f, 6.902450426e-07f,
+6.891953098e-07f, 6.881445610e-07f, 6.870927982e-07f, 6.860400233e-07f, 6.849862384e-07f, 6.839314454e-07f, 6.828756465e-07f, 6.818188435e-07f, 6.807610385e-07f, 6.797022335e-07f,
+6.786424305e-07f, 6.775816315e-07f, 6.765198386e-07f, 6.754570537e-07f, 6.743932789e-07f, 6.733285162e-07f, 6.722627676e-07f, 6.711960352e-07f, 6.701283209e-07f, 6.690596268e-07f,
+6.679899549e-07f, 6.669193072e-07f, 6.658476858e-07f, 6.647750927e-07f, 6.637015299e-07f, 6.626269995e-07f, 6.615515034e-07f, 6.604750438e-07f, 6.593976227e-07f, 6.583192420e-07f,
+6.572399039e-07f, 6.561596103e-07f, 6.550783634e-07f, 6.539961652e-07f, 6.529130176e-07f, 6.518289228e-07f, 6.507438828e-07f, 6.496578997e-07f, 6.485709754e-07f, 6.474831121e-07f,
+6.463943118e-07f, 6.453045765e-07f, 6.442139084e-07f, 6.431223094e-07f, 6.420297817e-07f, 6.409363272e-07f, 6.398419480e-07f, 6.387466463e-07f, 6.376504240e-07f, 6.365532832e-07f,
+6.354552261e-07f, 6.343562546e-07f, 6.332563708e-07f, 6.321555768e-07f, 6.310538746e-07f, 6.299512664e-07f, 6.288477542e-07f, 6.277433401e-07f, 6.266380261e-07f, 6.255318143e-07f,
+6.244247069e-07f, 6.233167058e-07f, 6.222078132e-07f, 6.210980311e-07f, 6.199873617e-07f, 6.188758069e-07f, 6.177633690e-07f, 6.166500499e-07f, 6.155358518e-07f, 6.144207767e-07f,
+6.133048268e-07f, 6.121880041e-07f, 6.110703107e-07f, 6.099517487e-07f, 6.088323203e-07f, 6.077120274e-07f, 6.065908722e-07f, 6.054688568e-07f, 6.043459833e-07f, 6.032222538e-07f,
+6.020976704e-07f, 6.009722351e-07f, 5.998459502e-07f, 5.987188176e-07f, 5.975908396e-07f, 5.964620181e-07f, 5.953323554e-07f, 5.942018535e-07f, 5.930705145e-07f, 5.919383405e-07f,
+5.908053337e-07f, 5.896714962e-07f, 5.885368300e-07f, 5.874013374e-07f, 5.862650203e-07f, 5.851278810e-07f, 5.839899215e-07f, 5.828511439e-07f, 5.817115505e-07f, 5.805711432e-07f,
+5.794299243e-07f, 5.782878958e-07f, 5.771450599e-07f, 5.760014186e-07f, 5.748569742e-07f, 5.737117287e-07f, 5.725656844e-07f, 5.714188432e-07f, 5.702712073e-07f, 5.691227790e-07f,
+5.679735602e-07f, 5.668235531e-07f, 5.656727599e-07f, 5.645211828e-07f, 5.633688237e-07f, 5.622156849e-07f, 5.610617686e-07f, 5.599070768e-07f, 5.587516117e-07f, 5.575953754e-07f,
+5.564383701e-07f, 5.552805979e-07f, 5.541220610e-07f, 5.529627615e-07f, 5.518027015e-07f, 5.506418833e-07f, 5.494803089e-07f, 5.483179804e-07f, 5.471549002e-07f, 5.459910702e-07f,
+5.448264927e-07f, 5.436611698e-07f, 5.424951037e-07f, 5.413282964e-07f, 5.401607502e-07f, 5.389924673e-07f, 5.378234497e-07f, 5.366536997e-07f, 5.354832194e-07f, 5.343120109e-07f,
+5.331400764e-07f, 5.319674182e-07f, 5.307940382e-07f, 5.296199388e-07f, 5.284451220e-07f, 5.272695901e-07f, 5.260933452e-07f, 5.249163894e-07f, 5.237387250e-07f, 5.225603541e-07f,
+5.213812789e-07f, 5.202015015e-07f, 5.190210241e-07f, 5.178398489e-07f, 5.166579781e-07f, 5.154754138e-07f, 5.142921582e-07f, 5.131082136e-07f, 5.119235819e-07f, 5.107382655e-07f,
+5.095522666e-07f, 5.083655872e-07f, 5.071782296e-07f, 5.059901960e-07f, 5.048014885e-07f, 5.036121093e-07f, 5.024220606e-07f, 5.012313446e-07f, 5.000399635e-07f, 4.988479194e-07f,
+4.976552145e-07f, 4.964618511e-07f, 4.952678314e-07f, 4.940731574e-07f, 4.928778314e-07f, 4.916818556e-07f, 4.904852321e-07f, 4.892879632e-07f, 4.880900511e-07f, 4.868914980e-07f,
+4.856923059e-07f, 4.844924772e-07f, 4.832920141e-07f, 4.820909186e-07f, 4.808891931e-07f, 4.796868397e-07f, 4.784838607e-07f, 4.772802581e-07f, 4.760760343e-07f, 4.748711913e-07f,
+4.736657315e-07f, 4.724596570e-07f, 4.712529701e-07f, 4.700456728e-07f, 4.688377675e-07f, 4.676292563e-07f, 4.664201414e-07f, 4.652104251e-07f, 4.640001096e-07f, 4.627891969e-07f,
+4.615776895e-07f, 4.603655894e-07f, 4.591528989e-07f, 4.579396202e-07f, 4.567257554e-07f, 4.555113069e-07f, 4.542962768e-07f, 4.530806673e-07f, 4.518644807e-07f, 4.506477191e-07f,
+4.494303848e-07f, 4.482124800e-07f, 4.469940069e-07f, 4.457749677e-07f, 4.445553647e-07f, 4.433351999e-07f, 4.421144758e-07f, 4.408931944e-07f, 4.396713580e-07f, 4.384489689e-07f,
+4.372260292e-07f, 4.360025411e-07f, 4.347785070e-07f, 4.335539289e-07f, 4.323288092e-07f, 4.311031500e-07f, 4.298769536e-07f, 4.286502222e-07f, 4.274229580e-07f, 4.261951633e-07f,
+4.249668402e-07f, 4.237379910e-07f, 4.225086180e-07f, 4.212787233e-07f, 4.200483091e-07f, 4.188173778e-07f, 4.175859315e-07f, 4.163539725e-07f, 4.151215030e-07f, 4.138885252e-07f,
+4.126550413e-07f, 4.114210536e-07f, 4.101865644e-07f, 4.089515758e-07f, 4.077160900e-07f, 4.064801094e-07f, 4.052436361e-07f, 4.040066725e-07f, 4.027692206e-07f, 4.015312828e-07f,
+4.002928612e-07f, 3.990539582e-07f, 3.978145759e-07f, 3.965747167e-07f, 3.953343827e-07f, 3.940935761e-07f, 3.928522992e-07f, 3.916105543e-07f, 3.903683436e-07f, 3.891256693e-07f,
+3.878825337e-07f, 3.866389389e-07f, 3.853948873e-07f, 3.841503811e-07f, 3.829054225e-07f, 3.816600138e-07f, 3.804141572e-07f, 3.791678550e-07f, 3.779211093e-07f, 3.766739225e-07f,
+3.754262968e-07f, 3.741782344e-07f, 3.729297376e-07f, 3.716808086e-07f, 3.704314496e-07f, 3.691816630e-07f, 3.679314509e-07f, 3.666808156e-07f, 3.654297594e-07f, 3.641782844e-07f,
+3.629263930e-07f, 3.616740874e-07f, 3.604213699e-07f, 3.591682426e-07f, 3.579147078e-07f, 3.566607678e-07f, 3.554064249e-07f, 3.541516812e-07f, 3.528965391e-07f, 3.516410007e-07f,
+3.503850684e-07f, 3.491287444e-07f, 3.478720309e-07f, 3.466149302e-07f, 3.453574445e-07f, 3.440995761e-07f, 3.428413273e-07f, 3.415827003e-07f, 3.403236973e-07f, 3.390643206e-07f,
+3.378045724e-07f, 3.365444551e-07f, 3.352839708e-07f, 3.340231218e-07f, 3.327619105e-07f, 3.315003389e-07f, 3.302384094e-07f, 3.289761243e-07f, 3.277134857e-07f, 3.264504960e-07f,
+3.251871574e-07f, 3.239234721e-07f, 3.226594425e-07f, 3.213950707e-07f, 3.201303590e-07f, 3.188653098e-07f, 3.175999251e-07f, 3.163342074e-07f, 3.150681588e-07f, 3.138017817e-07f,
+3.125350782e-07f, 3.112680506e-07f, 3.100007013e-07f, 3.087330323e-07f, 3.074650461e-07f, 3.061967448e-07f, 3.049281308e-07f, 3.036592062e-07f, 3.023899734e-07f, 3.011204346e-07f,
+2.998505920e-07f, 2.985804479e-07f, 2.973100047e-07f, 2.960392644e-07f, 2.947682295e-07f, 2.934969021e-07f, 2.922252845e-07f, 2.909533790e-07f, 2.896811878e-07f, 2.884087133e-07f,
+2.871359576e-07f, 2.858629230e-07f, 2.845896118e-07f, 2.833160262e-07f, 2.820421686e-07f, 2.807680411e-07f, 2.794936460e-07f, 2.782189856e-07f, 2.769440621e-07f, 2.756688779e-07f,
+2.743934351e-07f, 2.731177361e-07f, 2.718417830e-07f, 2.705655783e-07f, 2.692891240e-07f, 2.680124225e-07f, 2.667354760e-07f, 2.654582869e-07f, 2.641808573e-07f, 2.629031895e-07f,
+2.616252858e-07f, 2.603471485e-07f, 2.590687797e-07f, 2.577901819e-07f, 2.565113572e-07f, 2.552323078e-07f, 2.539530362e-07f, 2.526735444e-07f, 2.513938348e-07f, 2.501139097e-07f,
+2.488337713e-07f, 2.475534218e-07f, 2.462728636e-07f, 2.449920989e-07f, 2.437111299e-07f, 2.424299589e-07f, 2.411485883e-07f, 2.398670201e-07f, 2.385852567e-07f, 2.373033005e-07f,
+2.360211535e-07f, 2.347388181e-07f, 2.334562966e-07f, 2.321735911e-07f, 2.308907041e-07f, 2.296076376e-07f, 2.283243941e-07f, 2.270409757e-07f, 2.257573847e-07f, 2.244736234e-07f,
+2.231896940e-07f, 2.219055989e-07f, 2.206213402e-07f, 2.193369201e-07f, 2.180523411e-07f, 2.167676053e-07f, 2.154827150e-07f, 2.141976725e-07f, 2.129124800e-07f, 2.116271397e-07f,
+2.103416540e-07f, 2.090560251e-07f, 2.077702552e-07f, 2.064843467e-07f, 2.051983017e-07f, 2.039121226e-07f, 2.026258115e-07f, 2.013393708e-07f, 2.000528027e-07f, 1.987661095e-07f,
+1.974792934e-07f, 1.961923567e-07f, 1.949053016e-07f, 1.936181304e-07f, 1.923308454e-07f, 1.910434488e-07f, 1.897559428e-07f, 1.884683298e-07f, 1.871806120e-07f, 1.858927916e-07f,
+1.846048709e-07f, 1.833168521e-07f, 1.820287376e-07f, 1.807405295e-07f, 1.794522301e-07f, 1.781638417e-07f, 1.768753665e-07f, 1.755868069e-07f, 1.742981649e-07f, 1.730094430e-07f,
+1.717206432e-07f, 1.704317680e-07f, 1.691428195e-07f, 1.678538001e-07f, 1.665647119e-07f, 1.652755572e-07f, 1.639863382e-07f, 1.626970573e-07f, 1.614077167e-07f, 1.601183185e-07f,
+1.588288652e-07f, 1.575393588e-07f, 1.562498017e-07f, 1.549601962e-07f, 1.536705444e-07f, 1.523808486e-07f, 1.510911111e-07f, 1.498013341e-07f, 1.485115199e-07f, 1.472216707e-07f,
+1.459317887e-07f, 1.446418763e-07f, 1.433519356e-07f, 1.420619690e-07f, 1.407719785e-07f, 1.394819666e-07f, 1.381919354e-07f, 1.369018873e-07f, 1.356118243e-07f, 1.343217488e-07f,
+1.330316631e-07f, 1.317415693e-07f, 1.304514697e-07f, 1.291613666e-07f, 1.278712622e-07f, 1.265811587e-07f, 1.252910585e-07f, 1.240009636e-07f, 1.227108764e-07f, 1.214207991e-07f,
+1.201307340e-07f, 1.188406832e-07f, 1.175506491e-07f, 1.162606339e-07f, 1.149706397e-07f, 1.136806689e-07f, 1.123907237e-07f, 1.111008063e-07f, 1.098109190e-07f, 1.085210640e-07f,
+1.072312435e-07f, 1.059414598e-07f, 1.046517150e-07f, 1.033620116e-07f, 1.020723516e-07f, 1.007827373e-07f, 9.949317090e-08f, 9.820365471e-08f, 9.691419094e-08f, 9.562478181e-08f,
+9.433542955e-08f, 9.304613639e-08f, 9.175690457e-08f, 9.046773632e-08f, 8.917863385e-08f, 8.788959942e-08f, 8.660063523e-08f, 8.531174353e-08f, 8.402292654e-08f, 8.273418648e-08f,
+8.144552559e-08f, 8.015694609e-08f, 7.886845020e-08f, 7.758004015e-08f, 7.629171817e-08f, 7.500348648e-08f, 7.371534730e-08f, 7.242730286e-08f, 7.113935538e-08f, 6.985150708e-08f,
+6.856376018e-08f, 6.727611690e-08f, 6.598857947e-08f, 6.470115010e-08f, 6.341383101e-08f, 6.212662443e-08f, 6.083953256e-08f, 5.955255763e-08f, 5.826570185e-08f, 5.697896744e-08f,
+5.569235662e-08f, 5.440587160e-08f, 5.311951459e-08f, 5.183328781e-08f, 5.054719347e-08f, 4.926123379e-08f, 4.797541097e-08f, 4.668972723e-08f, 4.540418478e-08f, 4.411878583e-08f,
+4.283353258e-08f, 4.154842726e-08f, 4.026347205e-08f, 3.897866918e-08f, 3.769402086e-08f, 3.640952927e-08f, 3.512519664e-08f, 3.384102517e-08f, 3.255701705e-08f, 3.127317450e-08f,
+2.998949972e-08f, 2.870599491e-08f, 2.742266227e-08f, 2.613950400e-08f, 2.485652231e-08f, 2.357371939e-08f, 2.229109744e-08f, 2.100865866e-08f, 1.972640524e-08f, 1.844433939e-08f,
+1.716246331e-08f, 1.588077917e-08f, 1.459928919e-08f, 1.331799555e-08f, 1.203690045e-08f, 1.075600607e-08f, 9.475314621e-09f, 8.194828283e-09f, 6.914549247e-09f, 5.634479704e-09f,
+4.354621843e-09f, 3.074977851e-09f, 1.795549916e-09f, 5.163402239e-10f, -7.626490387e-10f, -2.041415687e-09f, -3.319957536e-09f, -4.598272404e-09f, -5.876358106e-09f, -7.154212462e-09f,
+-8.431833289e-09f, -9.709218408e-09f, -1.098636564e-08f, -1.226327280e-08f, -1.353993772e-08f, -1.481635822e-08f, -1.609253211e-08f, -1.736845724e-08f, -1.864413141e-08f, -1.991955246e-08f,
+-2.119471821e-08f, -2.246962650e-08f, -2.374427514e-08f, -2.501866198e-08f, -2.629278483e-08f, -2.756664153e-08f, -2.884022991e-08f, -3.011354781e-08f, -3.138659306e-08f, -3.265936348e-08f,
+-3.393185693e-08f, -3.520407122e-08f, -3.647600421e-08f, -3.774765372e-08f, -3.901901760e-08f, -4.029009369e-08f, -4.156087982e-08f, -4.283137384e-08f, -4.410157359e-08f, -4.537147691e-08f,
+-4.664108165e-08f, -4.791038564e-08f, -4.917938675e-08f, -5.044808281e-08f, -5.171647167e-08f, -5.298455117e-08f, -5.425231918e-08f, -5.551977353e-08f, -5.678691209e-08f, -5.805373269e-08f,
+-5.932023320e-08f, -6.058641147e-08f, -6.185226535e-08f, -6.311779270e-08f, -6.438299138e-08f, -6.564785924e-08f, -6.691239414e-08f, -6.817659394e-08f, -6.944045651e-08f, -7.070397970e-08f,
+-7.196716137e-08f, -7.322999939e-08f, -7.449249163e-08f, -7.575463595e-08f, -7.701643021e-08f, -7.827787228e-08f, -7.953896003e-08f, -8.079969133e-08f, -8.206006406e-08f, -8.332007607e-08f,
+-8.457972525e-08f, -8.583900946e-08f, -8.709792659e-08f, -8.835647450e-08f, -8.961465107e-08f, -9.087245418e-08f, -9.212988171e-08f, -9.338693154e-08f, -9.464360154e-08f, -9.589988961e-08f,
+-9.715579361e-08f, -9.841131144e-08f, -9.966644097e-08f, -1.009211801e-07f, -1.021755267e-07f, -1.034294787e-07f, -1.046830339e-07f, -1.059361903e-07f, -1.071889457e-07f, -1.084412981e-07f,
+-1.096932453e-07f, -1.109447851e-07f, -1.121959156e-07f, -1.134466346e-07f, -1.146969400e-07f, -1.159468298e-07f, -1.171963017e-07f, -1.184453537e-07f, -1.196939837e-07f, -1.209421896e-07f,
+-1.221899694e-07f, -1.234373208e-07f, -1.246842419e-07f, -1.259307305e-07f, -1.271767845e-07f, -1.284224019e-07f, -1.296675805e-07f, -1.309123183e-07f, -1.321566132e-07f, -1.334004631e-07f,
+-1.346438658e-07f, -1.358868194e-07f, -1.371293218e-07f, -1.383713708e-07f, -1.396129644e-07f, -1.408541004e-07f, -1.420947770e-07f, -1.433349918e-07f, -1.445747429e-07f, -1.458140282e-07f,
+-1.470528457e-07f, -1.482911931e-07f, -1.495290686e-07f, -1.507664700e-07f, -1.520033952e-07f, -1.532398421e-07f, -1.544758088e-07f, -1.557112931e-07f, -1.569462930e-07f, -1.581808064e-07f,
+-1.594148313e-07f, -1.606483655e-07f, -1.618814071e-07f, -1.631139539e-07f, -1.643460040e-07f, -1.655775552e-07f, -1.668086055e-07f, -1.680391529e-07f, -1.692691953e-07f, -1.704987306e-07f,
+-1.717277568e-07f, -1.729562719e-07f, -1.741842738e-07f, -1.754117604e-07f, -1.766387297e-07f, -1.778651798e-07f, -1.790911084e-07f, -1.803165137e-07f, -1.815413935e-07f, -1.827657458e-07f,
+-1.839895686e-07f, -1.852128598e-07f, -1.864356174e-07f, -1.876578394e-07f, -1.888795237e-07f, -1.901006684e-07f, -1.913212713e-07f, -1.925413305e-07f, -1.937608439e-07f, -1.949798095e-07f,
+-1.961982252e-07f, -1.974160892e-07f, -1.986333992e-07f, -1.998501534e-07f, -2.010663497e-07f, -2.022819860e-07f, -2.034970604e-07f, -2.047115709e-07f, -2.059255153e-07f, -2.071388918e-07f,
+-2.083516983e-07f, -2.095639328e-07f, -2.107755933e-07f, -2.119866778e-07f, -2.131971843e-07f, -2.144071107e-07f, -2.156164551e-07f, -2.168252155e-07f, -2.180333899e-07f, -2.192409762e-07f,
+-2.204479725e-07f, -2.216543767e-07f, -2.228601870e-07f, -2.240654013e-07f, -2.252700175e-07f, -2.264740338e-07f, -2.276774480e-07f, -2.288802584e-07f, -2.300824627e-07f, -2.312840591e-07f,
+-2.324850456e-07f, -2.336854202e-07f, -2.348851809e-07f, -2.360843258e-07f, -2.372828528e-07f, -2.384807600e-07f, -2.396780454e-07f, -2.408747070e-07f, -2.420707429e-07f, -2.432661511e-07f,
+-2.444609296e-07f, -2.456550765e-07f, -2.468485898e-07f, -2.480414675e-07f, -2.492337076e-07f, -2.504253082e-07f, -2.516162674e-07f, -2.528065832e-07f, -2.539962536e-07f, -2.551852766e-07f,
+-2.563736504e-07f, -2.575613729e-07f, -2.587484422e-07f, -2.599348564e-07f, -2.611206134e-07f, -2.623057115e-07f, -2.634901485e-07f, -2.646739227e-07f, -2.658570319e-07f, -2.670394744e-07f,
+-2.682212480e-07f, -2.694023510e-07f, -2.705827814e-07f, -2.717625372e-07f, -2.729416165e-07f, -2.741200174e-07f, -2.752977379e-07f, -2.764747761e-07f, -2.776511301e-07f, -2.788267979e-07f,
+-2.800017777e-07f, -2.811760675e-07f, -2.823496654e-07f, -2.835225694e-07f, -2.846947777e-07f, -2.858662883e-07f, -2.870370993e-07f, -2.882072089e-07f, -2.893766150e-07f, -2.905453158e-07f,
+-2.917133093e-07f, -2.928805938e-07f, -2.940471671e-07f, -2.952130276e-07f, -2.963781732e-07f, -2.975426020e-07f, -2.987063121e-07f, -2.998693018e-07f, -3.010315689e-07f, -3.021931117e-07f,
+-3.033539283e-07f, -3.045140168e-07f, -3.056733752e-07f, -3.068320017e-07f, -3.079898945e-07f, -3.091470515e-07f, -3.103034710e-07f, -3.114591510e-07f, -3.126140897e-07f, -3.137682852e-07f,
+-3.149217357e-07f, -3.160744391e-07f, -3.172263937e-07f, -3.183775977e-07f, -3.195280490e-07f, -3.206777459e-07f, -3.218266865e-07f, -3.229748689e-07f, -3.241222912e-07f, -3.252689516e-07f,
+-3.264148483e-07f, -3.275599794e-07f, -3.287043429e-07f, -3.298479371e-07f, -3.309907602e-07f, -3.321328101e-07f, -3.332740852e-07f, -3.344145835e-07f, -3.355543032e-07f, -3.366932425e-07f,
+-3.378313995e-07f, -3.389687724e-07f, -3.401053592e-07f, -3.412411583e-07f, -3.423761677e-07f, -3.435103857e-07f, -3.446438103e-07f, -3.457764398e-07f, -3.469082723e-07f, -3.480393059e-07f,
+-3.491695390e-07f, -3.502989695e-07f, -3.514275958e-07f, -3.525554160e-07f, -3.536824282e-07f, -3.548086307e-07f, -3.559340216e-07f, -3.570585992e-07f, -3.581823615e-07f, -3.593053068e-07f,
+-3.604274333e-07f, -3.615487392e-07f, -3.626692226e-07f, -3.637888818e-07f, -3.649077150e-07f, -3.660257203e-07f, -3.671428960e-07f, -3.682592402e-07f, -3.693747512e-07f, -3.704894272e-07f,
+-3.716032663e-07f, -3.727162668e-07f, -3.738284269e-07f, -3.749397448e-07f, -3.760502188e-07f, -3.771598469e-07f, -3.782686276e-07f, -3.793765589e-07f, -3.804836391e-07f, -3.815898664e-07f,
+-3.826952391e-07f, -3.837997553e-07f, -3.849034133e-07f, -3.860062114e-07f, -3.871081477e-07f, -3.882092205e-07f, -3.893094281e-07f, -3.904087686e-07f, -3.915072404e-07f, -3.926048416e-07f,
+-3.937015704e-07f, -3.947974253e-07f, -3.958924043e-07f, -3.969865057e-07f, -3.980797279e-07f, -3.991720689e-07f, -4.002635272e-07f, -4.013541009e-07f, -4.024437883e-07f, -4.035325877e-07f,
+-4.046204973e-07f, -4.057075154e-07f, -4.067936403e-07f, -4.078788701e-07f, -4.089632033e-07f, -4.100466380e-07f, -4.111291726e-07f, -4.122108053e-07f, -4.132915343e-07f, -4.143713581e-07f,
+-4.154502747e-07f, -4.165282826e-07f, -4.176053801e-07f, -4.186815653e-07f, -4.197568365e-07f, -4.208311922e-07f, -4.219046305e-07f, -4.229771498e-07f, -4.240487484e-07f, -4.251194244e-07f,
+-4.261891764e-07f, -4.272580025e-07f, -4.283259010e-07f, -4.293928703e-07f, -4.304589087e-07f, -4.315240144e-07f, -4.325881858e-07f, -4.336514212e-07f, -4.347137190e-07f, -4.357750773e-07f,
+-4.368354946e-07f, -4.378949692e-07f, -4.389534994e-07f, -4.400110834e-07f, -4.410677197e-07f, -4.421234066e-07f, -4.431781423e-07f, -4.442319253e-07f, -4.452847539e-07f, -4.463366263e-07f,
+-4.473875410e-07f, -4.484374963e-07f, -4.494864904e-07f, -4.505345218e-07f, -4.515815889e-07f, -4.526276898e-07f, -4.536728231e-07f, -4.547169871e-07f, -4.557601800e-07f, -4.568024003e-07f,
+-4.578436463e-07f, -4.588839164e-07f, -4.599232089e-07f, -4.609615222e-07f, -4.619988547e-07f, -4.630352048e-07f, -4.640705707e-07f, -4.651049509e-07f, -4.661383438e-07f, -4.671707476e-07f,
+-4.682021609e-07f, -4.692325820e-07f, -4.702620092e-07f, -4.712904409e-07f, -4.723178756e-07f, -4.733443116e-07f, -4.743697473e-07f, -4.753941811e-07f, -4.764176114e-07f, -4.774400366e-07f,
+-4.784614551e-07f, -4.794818652e-07f, -4.805012654e-07f, -4.815196542e-07f, -4.825370298e-07f, -4.835533907e-07f, -4.845687353e-07f, -4.855830620e-07f, -4.865963693e-07f, -4.876086555e-07f,
+-4.886199191e-07f, -4.896301585e-07f, -4.906393721e-07f, -4.916475583e-07f, -4.926547156e-07f, -4.936608424e-07f, -4.946659370e-07f, -4.956699981e-07f, -4.966730239e-07f, -4.976750130e-07f,
+-4.986759637e-07f, -4.996758745e-07f, -5.006747438e-07f, -5.016725701e-07f, -5.026693519e-07f, -5.036650876e-07f, -5.046597756e-07f, -5.056534143e-07f, -5.066460023e-07f, -5.076375381e-07f,
+-5.086280199e-07f, -5.096174464e-07f, -5.106058160e-07f, -5.115931271e-07f, -5.125793783e-07f, -5.135645679e-07f, -5.145486945e-07f, -5.155317565e-07f, -5.165137525e-07f, -5.174946808e-07f,
+-5.184745400e-07f, -5.194533285e-07f, -5.204310449e-07f, -5.214076876e-07f, -5.223832551e-07f, -5.233577459e-07f, -5.243311585e-07f, -5.253034914e-07f, -5.262747431e-07f, -5.272449121e-07f,
+-5.282139968e-07f, -5.291819959e-07f, -5.301489078e-07f, -5.311147309e-07f, -5.320794639e-07f, -5.330431052e-07f, -5.340056534e-07f, -5.349671069e-07f, -5.359274643e-07f, -5.368867241e-07f,
+-5.378448849e-07f, -5.388019451e-07f, -5.397579032e-07f, -5.407127579e-07f, -5.416665076e-07f, -5.426191509e-07f, -5.435706863e-07f, -5.445211124e-07f, -5.454704276e-07f, -5.464186306e-07f,
+-5.473657199e-07f, -5.483116940e-07f, -5.492565515e-07f, -5.502002909e-07f, -5.511429108e-07f, -5.520844097e-07f, -5.530247862e-07f, -5.539640389e-07f, -5.549021663e-07f, -5.558391670e-07f,
+-5.567750395e-07f, -5.577097825e-07f, -5.586433944e-07f, -5.595758739e-07f, -5.605072196e-07f, -5.614374300e-07f, -5.623665037e-07f, -5.632944393e-07f, -5.642212353e-07f, -5.651468904e-07f,
+-5.660714032e-07f, -5.669947722e-07f, -5.679169960e-07f, -5.688380732e-07f, -5.697580025e-07f, -5.706767824e-07f, -5.715944116e-07f, -5.725108885e-07f, -5.734262120e-07f, -5.743403804e-07f,
+-5.752533926e-07f, -5.761652470e-07f, -5.770759423e-07f, -5.779854771e-07f, -5.788938500e-07f, -5.798010597e-07f, -5.807071048e-07f, -5.816119839e-07f, -5.825156957e-07f, -5.834182387e-07f,
+-5.843196116e-07f, -5.852198131e-07f, -5.861188417e-07f, -5.870166962e-07f, -5.879133752e-07f, -5.888088772e-07f, -5.897032010e-07f, -5.905963453e-07f, -5.914883086e-07f, -5.923790896e-07f,
+-5.932686870e-07f, -5.941570994e-07f, -5.950443255e-07f, -5.959303640e-07f, -5.968152135e-07f, -5.976988728e-07f, -5.985813404e-07f, -5.994626150e-07f, -6.003426953e-07f, -6.012215801e-07f,
+-6.020992679e-07f, -6.029757575e-07f, -6.038510475e-07f, -6.047251367e-07f, -6.055980237e-07f, -6.064697072e-07f, -6.073401859e-07f, -6.082094585e-07f, -6.090775237e-07f, -6.099443802e-07f,
+-6.108100267e-07f, -6.116744620e-07f, -6.125376846e-07f, -6.133996934e-07f, -6.142604870e-07f, -6.151200642e-07f, -6.159784237e-07f, -6.168355642e-07f, -6.176914844e-07f, -6.185461830e-07f,
+-6.193996588e-07f, -6.202519105e-07f, -6.211029369e-07f, -6.219527366e-07f, -6.228013084e-07f, -6.236486511e-07f, -6.244947633e-07f, -6.253396439e-07f, -6.261832915e-07f, -6.270257050e-07f,
+-6.278668830e-07f, -6.287068244e-07f, -6.295455278e-07f, -6.303829921e-07f, -6.312192159e-07f, -6.320541982e-07f, -6.328879375e-07f, -6.337204328e-07f, -6.345516827e-07f, -6.353816860e-07f,
+-6.362104415e-07f, -6.370379481e-07f, -6.378642044e-07f, -6.386892092e-07f, -6.395129614e-07f, -6.403354596e-07f, -6.411567028e-07f, -6.419766897e-07f, -6.427954191e-07f, -6.436128897e-07f,
+-6.444291004e-07f, -6.452440500e-07f, -6.460577373e-07f, -6.468701611e-07f, -6.476813202e-07f, -6.484912134e-07f, -6.492998395e-07f, -6.501071973e-07f, -6.509132857e-07f, -6.517181035e-07f,
+-6.525216495e-07f, -6.533239225e-07f, -6.541249213e-07f, -6.549246448e-07f, -6.557230919e-07f, -6.565202612e-07f, -6.573161518e-07f, -6.581107623e-07f, -6.589040918e-07f, -6.596961389e-07f,
+-6.604869026e-07f, -6.612763817e-07f, -6.620645751e-07f, -6.628514815e-07f, -6.636370999e-07f, -6.644214292e-07f, -6.652044681e-07f, -6.659862156e-07f, -6.667666704e-07f, -6.675458316e-07f,
+-6.683236979e-07f, -6.691002683e-07f, -6.698755415e-07f, -6.706495165e-07f, -6.714221922e-07f, -6.721935675e-07f, -6.729636411e-07f, -6.737324121e-07f, -6.744998793e-07f, -6.752660416e-07f,
+-6.760308979e-07f, -6.767944471e-07f, -6.775566880e-07f, -6.783176197e-07f, -6.790772410e-07f, -6.798355508e-07f, -6.805925480e-07f, -6.813482316e-07f, -6.821026004e-07f, -6.828556534e-07f,
+-6.836073894e-07f, -6.843578075e-07f, -6.851069065e-07f, -6.858546854e-07f, -6.866011431e-07f, -6.873462785e-07f, -6.880900906e-07f, -6.888325782e-07f, -6.895737405e-07f, -6.903135761e-07f,
+-6.910520843e-07f, -6.917892638e-07f, -6.925251136e-07f, -6.932596327e-07f, -6.939928201e-07f, -6.947246746e-07f, -6.954551953e-07f, -6.961843811e-07f, -6.969122310e-07f, -6.976387439e-07f,
+-6.983639189e-07f, -6.990877548e-07f, -6.998102507e-07f, -7.005314056e-07f, -7.012512183e-07f, -7.019696880e-07f, -7.026868136e-07f, -7.034025941e-07f, -7.041170284e-07f, -7.048301156e-07f,
+-7.055418546e-07f, -7.062522445e-07f, -7.069612843e-07f, -7.076689729e-07f, -7.083753094e-07f, -7.090802927e-07f, -7.097839220e-07f, -7.104861961e-07f, -7.111871142e-07f, -7.118866752e-07f,
+-7.125848781e-07f, -7.132817220e-07f, -7.139772059e-07f, -7.146713288e-07f, -7.153640898e-07f, -7.160554879e-07f, -7.167455221e-07f, -7.174341915e-07f, -7.181214951e-07f, -7.188074319e-07f,
+-7.194920010e-07f, -7.201752015e-07f, -7.208570324e-07f, -7.215374927e-07f, -7.222165815e-07f, -7.228942979e-07f, -7.235706409e-07f, -7.242456096e-07f, -7.249192031e-07f, -7.255914204e-07f,
+-7.262622606e-07f, -7.269317227e-07f, -7.275998059e-07f, -7.282665093e-07f, -7.289318318e-07f, -7.295957726e-07f, -7.302583308e-07f, -7.309195055e-07f, -7.315792958e-07f, -7.322377006e-07f,
+-7.328947193e-07f, -7.335503508e-07f, -7.342045943e-07f, -7.348574488e-07f, -7.355089135e-07f, -7.361589874e-07f, -7.368076698e-07f, -7.374549596e-07f, -7.381008561e-07f, -7.387453583e-07f,
+-7.393884654e-07f, -7.400301765e-07f, -7.406704907e-07f, -7.413094072e-07f, -7.419469250e-07f, -7.425830434e-07f, -7.432177614e-07f, -7.438510782e-07f, -7.444829930e-07f, -7.451135048e-07f,
+-7.457426129e-07f, -7.463703164e-07f, -7.469966144e-07f, -7.476215061e-07f, -7.482449907e-07f, -7.488670673e-07f, -7.494877351e-07f, -7.501069932e-07f, -7.507248409e-07f, -7.513412772e-07f,
+-7.519563015e-07f, -7.525699127e-07f, -7.531821102e-07f, -7.537928931e-07f, -7.544022606e-07f, -7.550102119e-07f, -7.556167462e-07f, -7.562218626e-07f, -7.568255603e-07f, -7.574278387e-07f,
+-7.580286968e-07f, -7.586281338e-07f, -7.592261491e-07f, -7.598227417e-07f, -7.604179109e-07f, -7.610116558e-07f, -7.616039759e-07f, -7.621948701e-07f, -7.627843378e-07f, -7.633723782e-07f,
+-7.639589905e-07f, -7.645441740e-07f, -7.651279278e-07f, -7.657102513e-07f, -7.662911435e-07f, -7.668706039e-07f, -7.674486316e-07f, -7.680252259e-07f, -7.686003860e-07f, -7.691741111e-07f,
+-7.697464006e-07f, -7.703172537e-07f, -7.708866696e-07f, -7.714546476e-07f, -7.720211870e-07f, -7.725862870e-07f, -7.731499469e-07f, -7.737121660e-07f, -7.742729435e-07f, -7.748322788e-07f,
+-7.753901711e-07f, -7.759466196e-07f, -7.765016237e-07f, -7.770551827e-07f, -7.776072958e-07f, -7.781579624e-07f, -7.787071817e-07f, -7.792549530e-07f, -7.798012757e-07f, -7.803461490e-07f,
+-7.808895722e-07f, -7.814315447e-07f, -7.819720658e-07f, -7.825111347e-07f, -7.830487509e-07f, -7.835849135e-07f, -7.841196220e-07f, -7.846528756e-07f, -7.851846738e-07f, -7.857150157e-07f,
+-7.862439008e-07f, -7.867713284e-07f, -7.872972978e-07f, -7.878218084e-07f, -7.883448595e-07f, -7.888664504e-07f, -7.893865805e-07f, -7.899052492e-07f, -7.904224558e-07f, -7.909381996e-07f,
+-7.914524801e-07f, -7.919652965e-07f, -7.924766483e-07f, -7.929865348e-07f, -7.934949554e-07f, -7.940019095e-07f, -7.945073963e-07f, -7.950114154e-07f, -7.955139661e-07f, -7.960150477e-07f,
+-7.965146597e-07f, -7.970128015e-07f, -7.975094724e-07f, -7.980046718e-07f, -7.984983991e-07f, -7.989906538e-07f, -7.994814352e-07f, -7.999707427e-07f, -8.004585757e-07f, -8.009449337e-07f,
+-8.014298161e-07f, -8.019132223e-07f, -8.023951516e-07f, -8.028756035e-07f, -8.033545775e-07f, -8.038320730e-07f, -8.043080893e-07f, -8.047826260e-07f, -8.052556824e-07f, -8.057272580e-07f,
+-8.061973522e-07f, -8.066659645e-07f, -8.071330943e-07f, -8.075987411e-07f, -8.080629043e-07f, -8.085255834e-07f, -8.089867778e-07f, -8.094464870e-07f, -8.099047104e-07f, -8.103614475e-07f,
+-8.108166978e-07f, -8.112704607e-07f, -8.117227357e-07f, -8.121735223e-07f, -8.126228200e-07f, -8.130706282e-07f, -8.135169464e-07f, -8.139617741e-07f, -8.144051108e-07f, -8.148469560e-07f,
+-8.152873092e-07f, -8.157261699e-07f, -8.161635375e-07f, -8.165994116e-07f, -8.170337916e-07f, -8.174666772e-07f, -8.178980677e-07f, -8.183279627e-07f, -8.187563617e-07f, -8.191832643e-07f,
+-8.196086699e-07f, -8.200325781e-07f, -8.204549884e-07f, -8.208759003e-07f, -8.212953134e-07f, -8.217132271e-07f, -8.221296411e-07f, -8.225445548e-07f, -8.229579679e-07f, -8.233698797e-07f,
+-8.237802900e-07f, -8.241891982e-07f, -8.245966040e-07f, -8.250025067e-07f, -8.254069061e-07f, -8.258098016e-07f, -8.262111929e-07f, -8.266110795e-07f, -8.270094609e-07f, -8.274063367e-07f,
+-8.278017066e-07f, -8.281955701e-07f, -8.285879267e-07f, -8.289787760e-07f, -8.293681177e-07f, -8.297559513e-07f, -8.301422764e-07f, -8.305270926e-07f, -8.309103995e-07f, -8.312921966e-07f,
+-8.316724837e-07f, -8.320512602e-07f, -8.324285259e-07f, -8.328042803e-07f, -8.331785229e-07f, -8.335512535e-07f, -8.339224717e-07f, -8.342921770e-07f, -8.346603691e-07f, -8.350270477e-07f,
+-8.353922122e-07f, -8.357558625e-07f, -8.361179980e-07f, -8.364786185e-07f, -8.368377236e-07f, -8.371953129e-07f, -8.375513860e-07f, -8.379059427e-07f, -8.382589825e-07f, -8.386105051e-07f,
+-8.389605102e-07f, -8.393089974e-07f, -8.396559664e-07f, -8.400014168e-07f, -8.403453484e-07f, -8.406877607e-07f, -8.410286535e-07f, -8.413680264e-07f, -8.417058791e-07f, -8.420422112e-07f,
+-8.423770226e-07f, -8.427103127e-07f, -8.430420814e-07f, -8.433723283e-07f, -8.437010532e-07f, -8.440282556e-07f, -8.443539353e-07f, -8.446780921e-07f, -8.450007255e-07f, -8.453218354e-07f,
+-8.456414213e-07f, -8.459594831e-07f, -8.462760205e-07f, -8.465910331e-07f, -8.469045207e-07f, -8.472164830e-07f, -8.475269197e-07f, -8.478358306e-07f, -8.481432154e-07f, -8.484490738e-07f,
+-8.487534055e-07f, -8.490562103e-07f, -8.493574880e-07f, -8.496572383e-07f, -8.499554608e-07f, -8.502521555e-07f, -8.505473219e-07f, -8.508409600e-07f, -8.511330694e-07f, -8.514236498e-07f,
+-8.517127012e-07f, -8.520002231e-07f, -8.522862155e-07f, -8.525706780e-07f, -8.528536105e-07f, -8.531350126e-07f, -8.534148843e-07f, -8.536932252e-07f, -8.539700352e-07f, -8.542453140e-07f,
+-8.545190614e-07f, -8.547912773e-07f, -8.550619614e-07f, -8.553311135e-07f, -8.555987335e-07f, -8.558648210e-07f, -8.561293760e-07f, -8.563923982e-07f, -8.566538875e-07f, -8.569138436e-07f,
+-8.571722664e-07f, -8.574291557e-07f, -8.576845114e-07f, -8.579383331e-07f, -8.581906209e-07f, -8.584413744e-07f, -8.586905936e-07f, -8.589382782e-07f, -8.591844282e-07f, -8.594290433e-07f,
+-8.596721233e-07f, -8.599136683e-07f, -8.601536779e-07f, -8.603921520e-07f, -8.606290906e-07f, -8.608644934e-07f, -8.610983603e-07f, -8.613306912e-07f, -8.615614859e-07f, -8.617907443e-07f,
+-8.620184663e-07f, -8.622446518e-07f, -8.624693005e-07f, -8.626924125e-07f, -8.629139876e-07f, -8.631340256e-07f, -8.633525265e-07f, -8.635694902e-07f, -8.637849165e-07f, -8.639988053e-07f,
+-8.642111565e-07f, -8.644219701e-07f, -8.646312459e-07f, -8.648389839e-07f, -8.650451839e-07f, -8.652498459e-07f, -8.654529697e-07f, -8.656545553e-07f, -8.658546027e-07f, -8.660531116e-07f,
+-8.662500821e-07f, -8.664455142e-07f, -8.666394076e-07f, -8.668317623e-07f, -8.670225784e-07f, -8.672118556e-07f, -8.673995941e-07f, -8.675857936e-07f, -8.677704542e-07f, -8.679535757e-07f,
+-8.681351582e-07f, -8.683152017e-07f, -8.684937059e-07f, -8.686706710e-07f, -8.688460969e-07f, -8.690199835e-07f, -8.691923309e-07f, -8.693631389e-07f, -8.695324076e-07f, -8.697001369e-07f,
+-8.698663268e-07f, -8.700309773e-07f, -8.701940884e-07f, -8.703556600e-07f, -8.705156922e-07f, -8.706741850e-07f, -8.708311383e-07f, -8.709865521e-07f, -8.711404264e-07f, -8.712927613e-07f,
+-8.714435567e-07f, -8.715928127e-07f, -8.717405292e-07f, -8.718867063e-07f, -8.720313440e-07f, -8.721744423e-07f, -8.723160012e-07f, -8.724560208e-07f, -8.725945010e-07f, -8.727314420e-07f,
+-8.728668437e-07f, -8.730007061e-07f, -8.731330294e-07f, -8.732638135e-07f, -8.733930585e-07f, -8.735207645e-07f, -8.736469315e-07f, -8.737715594e-07f, -8.738946485e-07f, -8.740161987e-07f,
+-8.741362101e-07f, -8.742546828e-07f, -8.743716168e-07f, -8.744870123e-07f, -8.746008691e-07f, -8.747131876e-07f, -8.748239676e-07f, -8.749332093e-07f, -8.750409128e-07f, -8.751470781e-07f,
+-8.752517054e-07f, -8.753547947e-07f, -8.754563461e-07f, -8.755563597e-07f, -8.756548357e-07f, -8.757517740e-07f, -8.758471748e-07f, -8.759410383e-07f, -8.760333644e-07f, -8.761241534e-07f,
+-8.762134053e-07f, -8.763011203e-07f, -8.763872984e-07f, -8.764719398e-07f, -8.765550447e-07f, -8.766366130e-07f, -8.767166451e-07f, -8.767951409e-07f, -8.768721006e-07f, -8.769475244e-07f,
+-8.770214124e-07f, -8.770937648e-07f, -8.771645816e-07f, -8.772338631e-07f, -8.773016093e-07f, -8.773678205e-07f, -8.774324968e-07f, -8.774956383e-07f, -8.775572452e-07f, -8.776173176e-07f,
+-8.776758558e-07f, -8.777328599e-07f, -8.777883301e-07f, -8.778422665e-07f, -8.778946693e-07f, -8.779455387e-07f, -8.779948749e-07f, -8.780426780e-07f, -8.780889483e-07f, -8.781336859e-07f,
+-8.781768911e-07f, -8.782185639e-07f, -8.782587047e-07f, -8.782973136e-07f, -8.783343908e-07f, -8.783699365e-07f, -8.784039509e-07f, -8.784364343e-07f, -8.784673868e-07f, -8.784968087e-07f,
+-8.785247001e-07f, -8.785510614e-07f, -8.785758927e-07f, -8.785991942e-07f, -8.786209662e-07f, -8.786412089e-07f, -8.786599226e-07f, -8.786771074e-07f, -8.786927637e-07f, -8.787068916e-07f,
+-8.787194914e-07f, -8.787305633e-07f, -8.787401076e-07f, -8.787481246e-07f, -8.787546145e-07f, -8.787595776e-07f, -8.787630140e-07f, -8.787649242e-07f, -8.787653082e-07f, -8.787641665e-07f,
+-8.787614993e-07f, -8.787573068e-07f, -8.787515894e-07f, -8.787443472e-07f, -8.787355807e-07f, -8.787252900e-07f, -8.787134755e-07f, -8.787001374e-07f, -8.786852760e-07f, -8.786688917e-07f,
+-8.786509847e-07f, -8.786315553e-07f, -8.786106039e-07f, -8.785881306e-07f, -8.785641359e-07f, -8.785386201e-07f, -8.785115834e-07f, -8.784830261e-07f, -8.784529487e-07f, -8.784213513e-07f,
+-8.783882344e-07f, -8.783535982e-07f, -8.783174431e-07f, -8.782797694e-07f, -8.782405775e-07f, -8.781998676e-07f, -8.781576401e-07f, -8.781138954e-07f, -8.780686337e-07f, -8.780218555e-07f,
+-8.779735611e-07f, -8.779237509e-07f, -8.778724251e-07f, -8.778195841e-07f, -8.777652284e-07f, -8.777093582e-07f, -8.776519740e-07f, -8.775930760e-07f, -8.775326648e-07f, -8.774707405e-07f,
+-8.774073036e-07f, -8.773423546e-07f, -8.772758936e-07f, -8.772079213e-07f, -8.771384378e-07f, -8.770674437e-07f, -8.769949392e-07f, -8.769209249e-07f, -8.768454010e-07f, -8.767683680e-07f,
+-8.766898263e-07f, -8.766097763e-07f, -8.765282184e-07f, -8.764451529e-07f, -8.763605804e-07f, -8.762745011e-07f, -8.761869157e-07f, -8.760978243e-07f, -8.760072275e-07f, -8.759151257e-07f,
+-8.758215193e-07f, -8.757264088e-07f, -8.756297945e-07f, -8.755316769e-07f, -8.754320565e-07f, -8.753309336e-07f, -8.752283087e-07f, -8.751241823e-07f, -8.750185548e-07f, -8.749114267e-07f,
+-8.748027983e-07f, -8.746926702e-07f, -8.745810428e-07f, -8.744679165e-07f, -8.743532919e-07f, -8.742371694e-07f, -8.741195494e-07f, -8.740004324e-07f, -8.738798190e-07f, -8.737577095e-07f,
+-8.736341044e-07f, -8.735090042e-07f, -8.733824094e-07f, -8.732543205e-07f, -8.731247380e-07f, -8.729936623e-07f, -8.728610940e-07f, -8.727270335e-07f, -8.725914813e-07f, -8.724544380e-07f,
+-8.723159040e-07f, -8.721758798e-07f, -8.720343659e-07f, -8.718913629e-07f, -8.717468713e-07f, -8.716008915e-07f, -8.714534241e-07f, -8.713044696e-07f, -8.711540285e-07f, -8.710021013e-07f,
+-8.708486887e-07f, -8.706937910e-07f, -8.705374088e-07f, -8.703795428e-07f, -8.702201933e-07f, -8.700593609e-07f, -8.698970462e-07f, -8.697332498e-07f, -8.695679721e-07f, -8.694012137e-07f,
+-8.692329752e-07f, -8.690632571e-07f, -8.688920599e-07f, -8.687193843e-07f, -8.685452308e-07f, -8.683695999e-07f, -8.681924922e-07f, -8.680139083e-07f, -8.678338488e-07f, -8.676523142e-07f,
+-8.674693051e-07f, -8.672848220e-07f, -8.670988657e-07f, -8.669114365e-07f, -8.667225352e-07f, -8.665321623e-07f, -8.663403184e-07f, -8.661470041e-07f, -8.659522200e-07f, -8.657559667e-07f,
+-8.655582448e-07f, -8.653590548e-07f, -8.651583975e-07f, -8.649562733e-07f, -8.647526830e-07f, -8.645476270e-07f, -8.643411061e-07f, -8.641331209e-07f, -8.639236719e-07f, -8.637127598e-07f,
+-8.635003853e-07f, -8.632865489e-07f, -8.630712512e-07f, -8.628544930e-07f, -8.626362748e-07f, -8.624165972e-07f, -8.621954610e-07f, -8.619728668e-07f, -8.617488151e-07f, -8.615233067e-07f,
+-8.612963421e-07f, -8.610679222e-07f, -8.608380474e-07f, -8.606067184e-07f, -8.603739360e-07f, -8.601397007e-07f, -8.599040133e-07f, -8.596668744e-07f, -8.594282846e-07f, -8.591882447e-07f,
+-8.589467552e-07f, -8.587038170e-07f, -8.584594306e-07f, -8.582135968e-07f, -8.579663162e-07f, -8.577175895e-07f, -8.574674173e-07f, -8.572158005e-07f, -8.569627397e-07f, -8.567082355e-07f,
+-8.564522886e-07f, -8.561948999e-07f, -8.559360699e-07f, -8.556757994e-07f, -8.554140890e-07f, -8.551509396e-07f, -8.548863517e-07f, -8.546203261e-07f, -8.543528636e-07f, -8.540839648e-07f,
+-8.538136305e-07f, -8.535418613e-07f, -8.532686581e-07f, -8.529940215e-07f, -8.527179523e-07f, -8.524404511e-07f, -8.521615188e-07f, -8.518811561e-07f, -8.515993637e-07f, -8.513161423e-07f,
+-8.510314927e-07f, -8.507454157e-07f, -8.504579120e-07f, -8.501689823e-07f, -8.498786274e-07f, -8.495868480e-07f, -8.492936450e-07f, -8.489990190e-07f, -8.487029709e-07f, -8.484055013e-07f,
+-8.481066111e-07f, -8.478063011e-07f, -8.475045719e-07f, -8.472014245e-07f, -8.468968595e-07f, -8.465908777e-07f, -8.462834800e-07f, -8.459746670e-07f, -8.456644397e-07f, -8.453527987e-07f,
+-8.450397449e-07f, -8.447252790e-07f, -8.444094019e-07f, -8.440921144e-07f, -8.437734172e-07f, -8.434533112e-07f, -8.431317971e-07f, -8.428088758e-07f, -8.424845481e-07f, -8.421588147e-07f,
+-8.418316766e-07f, -8.415031345e-07f, -8.411731892e-07f, -8.408418416e-07f, -8.405090924e-07f, -8.401749426e-07f, -8.398393929e-07f, -8.395024441e-07f, -8.391640972e-07f, -8.388243529e-07f,
+-8.384832121e-07f, -8.381406755e-07f, -8.377967441e-07f, -8.374514187e-07f, -8.371047002e-07f, -8.367565893e-07f, -8.364070870e-07f, -8.360561940e-07f, -8.357039113e-07f, -8.353502397e-07f,
+-8.349951801e-07f, -8.346387333e-07f, -8.342809001e-07f, -8.339216816e-07f, -8.335610784e-07f, -8.331990916e-07f, -8.328357219e-07f, -8.324709702e-07f, -8.321048375e-07f, -8.317373246e-07f,
+-8.313684323e-07f, -8.309981616e-07f, -8.306265134e-07f, -8.302534885e-07f, -8.298790879e-07f, -8.295033123e-07f, -8.291261628e-07f, -8.287476402e-07f, -8.283677455e-07f, -8.279864794e-07f,
+-8.276038430e-07f, -8.272198371e-07f, -8.268344627e-07f, -8.264477206e-07f, -8.260596117e-07f, -8.256701371e-07f, -8.252792976e-07f, -8.248870940e-07f, -8.244935275e-07f, -8.240985987e-07f,
+-8.237023088e-07f, -8.233046586e-07f, -8.229056491e-07f, -8.225052811e-07f, -8.221035557e-07f, -8.217004737e-07f, -8.212960362e-07f, -8.208902439e-07f, -8.204830980e-07f, -8.200745993e-07f,
+-8.196647488e-07f, -8.192535474e-07f, -8.188409961e-07f, -8.184270958e-07f, -8.180118475e-07f, -8.175952522e-07f, -8.171773108e-07f, -8.167580243e-07f, -8.163373937e-07f, -8.159154198e-07f,
+-8.154921038e-07f, -8.150674465e-07f, -8.146414490e-07f, -8.142141121e-07f, -8.137854370e-07f, -8.133554245e-07f, -8.129240757e-07f, -8.124913915e-07f, -8.120573730e-07f, -8.116220211e-07f,
+-8.111853368e-07f, -8.107473211e-07f, -8.103079750e-07f, -8.098672995e-07f, -8.094252956e-07f, -8.089819643e-07f, -8.085373066e-07f, -8.080913236e-07f, -8.076440161e-07f, -8.071953853e-07f,
+-8.067454322e-07f, -8.062941577e-07f, -8.058415629e-07f, -8.053876488e-07f, -8.049324164e-07f, -8.044758668e-07f, -8.040180009e-07f, -8.035588199e-07f, -8.030983247e-07f, -8.026365163e-07f,
+-8.021733959e-07f, -8.017089644e-07f, -8.012432229e-07f, -8.007761724e-07f, -8.003078139e-07f, -7.998381486e-07f, -7.993671774e-07f, -7.988949014e-07f, -7.984213216e-07f, -7.979464392e-07f,
+-7.974702551e-07f, -7.969927704e-07f, -7.965139863e-07f, -7.960339036e-07f, -7.955525236e-07f, -7.950698472e-07f, -7.945858756e-07f, -7.941006098e-07f, -7.936140508e-07f, -7.931261998e-07f,
+-7.926370579e-07f, -7.921466260e-07f, -7.916549054e-07f, -7.911618970e-07f, -7.906676019e-07f, -7.901720213e-07f, -7.896751563e-07f, -7.891770078e-07f, -7.886775771e-07f, -7.881768652e-07f,
+-7.876748732e-07f, -7.871716021e-07f, -7.866670532e-07f, -7.861612275e-07f, -7.856541261e-07f, -7.851457501e-07f, -7.846361007e-07f, -7.841251789e-07f, -7.836129858e-07f, -7.830995226e-07f,
+-7.825847904e-07f, -7.820687903e-07f, -7.815515234e-07f, -7.810329908e-07f, -7.805131937e-07f, -7.799921333e-07f, -7.794698105e-07f, -7.789462266e-07f, -7.784213827e-07f, -7.778952799e-07f,
+-7.773679194e-07f, -7.768393022e-07f, -7.763094297e-07f, -7.757783028e-07f, -7.752459227e-07f, -7.747122906e-07f, -7.741774076e-07f, -7.736412749e-07f, -7.731038937e-07f, -7.725652650e-07f,
+-7.720253900e-07f, -7.714842700e-07f, -7.709419060e-07f, -7.703982992e-07f, -7.698534508e-07f, -7.693073620e-07f, -7.687600339e-07f, -7.682114677e-07f, -7.676616645e-07f, -7.671106256e-07f,
+-7.665583521e-07f, -7.660048452e-07f, -7.654501060e-07f, -7.648941359e-07f, -7.643369358e-07f, -7.637785071e-07f, -7.632188509e-07f, -7.626579684e-07f, -7.620958608e-07f, -7.615325292e-07f,
+-7.609679750e-07f, -7.604021992e-07f, -7.598352032e-07f, -7.592669880e-07f, -7.586975549e-07f, -7.581269050e-07f, -7.575550397e-07f, -7.569819601e-07f, -7.564076674e-07f, -7.558321628e-07f,
+-7.552554476e-07f, -7.546775229e-07f, -7.540983900e-07f, -7.535180501e-07f, -7.529365044e-07f, -7.523537542e-07f, -7.517698006e-07f, -7.511846450e-07f, -7.505982884e-07f, -7.500107323e-07f,
+-7.494219777e-07f, -7.488320260e-07f, -7.482408783e-07f, -7.476485359e-07f, -7.470550001e-07f, -7.464602720e-07f, -7.458643530e-07f, -7.452672443e-07f, -7.446689471e-07f, -7.440694627e-07f,
+-7.434687923e-07f, -7.428669372e-07f, -7.422638987e-07f, -7.416596779e-07f, -7.410542762e-07f, -7.404476948e-07f, -7.398399350e-07f, -7.392309981e-07f, -7.386208852e-07f, -7.380095978e-07f,
+-7.373971369e-07f, -7.367835041e-07f, -7.361687004e-07f, -7.355527272e-07f, -7.349355857e-07f, -7.343172773e-07f, -7.336978032e-07f, -7.330771647e-07f, -7.324553630e-07f, -7.318323995e-07f,
+-7.312082755e-07f, -7.305829923e-07f, -7.299565510e-07f, -7.293289531e-07f, -7.287001999e-07f, -7.280702925e-07f, -7.274392324e-07f, -7.268070208e-07f, -7.261736590e-07f, -7.255391484e-07f,
+-7.249034902e-07f, -7.242666857e-07f, -7.236287363e-07f, -7.229896433e-07f, -7.223494080e-07f, -7.217080316e-07f, -7.210655156e-07f, -7.204218612e-07f, -7.197770697e-07f, -7.191311425e-07f,
+-7.184840809e-07f, -7.178358863e-07f, -7.171865599e-07f, -7.165361030e-07f, -7.158845171e-07f, -7.152318034e-07f, -7.145779633e-07f, -7.139229981e-07f, -7.132669092e-07f, -7.126096979e-07f,
+-7.119513654e-07f, -7.112919133e-07f, -7.106313428e-07f, -7.099696552e-07f, -7.093068520e-07f, -7.086429344e-07f, -7.079779038e-07f, -7.073117616e-07f, -7.066445091e-07f, -7.059761477e-07f,
+-7.053066788e-07f, -7.046361036e-07f, -7.039644236e-07f, -7.032916401e-07f, -7.026177545e-07f, -7.019427681e-07f, -7.012666824e-07f, -7.005894987e-07f, -6.999112183e-07f, -6.992318426e-07f,
+-6.985513731e-07f, -6.978698110e-07f, -6.971871579e-07f, -6.965034149e-07f, -6.958185836e-07f, -6.951326653e-07f, -6.944456614e-07f, -6.937575733e-07f, -6.930684023e-07f, -6.923781499e-07f,
+-6.916868175e-07f, -6.909944064e-07f, -6.903009180e-07f, -6.896063538e-07f, -6.889107151e-07f, -6.882140033e-07f, -6.875162199e-07f, -6.868173661e-07f, -6.861174436e-07f, -6.854164536e-07f,
+-6.847143975e-07f, -6.840112768e-07f, -6.833070929e-07f, -6.826018472e-07f, -6.818955410e-07f, -6.811881759e-07f, -6.804797532e-07f, -6.797702744e-07f, -6.790597408e-07f, -6.783481539e-07f,
+-6.776355152e-07f, -6.769218260e-07f, -6.762070877e-07f, -6.754913019e-07f, -6.747744699e-07f, -6.740565932e-07f, -6.733376731e-07f, -6.726177112e-07f, -6.718967088e-07f, -6.711746674e-07f,
+-6.704515885e-07f, -6.697274735e-07f, -6.690023237e-07f, -6.682761408e-07f, -6.675489260e-07f, -6.668206810e-07f, -6.660914070e-07f, -6.653611056e-07f, -6.646297782e-07f, -6.638974262e-07f,
+-6.631640512e-07f, -6.624296546e-07f, -6.616942378e-07f, -6.609578022e-07f, -6.602203495e-07f, -6.594818809e-07f, -6.587423980e-07f, -6.580019023e-07f, -6.572603952e-07f, -6.565178781e-07f,
+-6.557743526e-07f, -6.550298201e-07f, -6.542842821e-07f, -6.535377401e-07f, -6.527901955e-07f, -6.520416499e-07f, -6.512921046e-07f, -6.505415612e-07f, -6.497900212e-07f, -6.490374860e-07f,
+-6.482839572e-07f, -6.475294361e-07f, -6.467739244e-07f, -6.460174234e-07f, -6.452599348e-07f, -6.445014599e-07f, -6.437420002e-07f, -6.429815574e-07f, -6.422201327e-07f, -6.414577279e-07f,
+-6.406943443e-07f, -6.399299834e-07f, -6.391646468e-07f, -6.383983360e-07f, -6.376310524e-07f, -6.368627976e-07f, -6.360935731e-07f, -6.353233804e-07f, -6.345522209e-07f, -6.337800963e-07f,
+-6.330070080e-07f, -6.322329576e-07f, -6.314579465e-07f, -6.306819762e-07f, -6.299050484e-07f, -6.291271645e-07f, -6.283483260e-07f, -6.275685344e-07f, -6.267877914e-07f, -6.260060984e-07f,
+-6.252234568e-07f, -6.244398684e-07f, -6.236553345e-07f, -6.228698568e-07f, -6.220834368e-07f, -6.212960759e-07f, -6.205077757e-07f, -6.197185379e-07f, -6.189283638e-07f, -6.181372551e-07f,
+-6.173452132e-07f, -6.165522398e-07f, -6.157583364e-07f, -6.149635044e-07f, -6.141677456e-07f, -6.133710613e-07f, -6.125734532e-07f, -6.117749228e-07f, -6.109754717e-07f, -6.101751014e-07f,
+-6.093738134e-07f, -6.085716094e-07f, -6.077684909e-07f, -6.069644594e-07f, -6.061595165e-07f, -6.053536638e-07f, -6.045469028e-07f, -6.037392351e-07f, -6.029306622e-07f, -6.021211858e-07f,
+-6.013108073e-07f, -6.004995284e-07f, -5.996873506e-07f, -5.988742755e-07f, -5.980603047e-07f, -5.972454398e-07f, -5.964296822e-07f, -5.956130337e-07f, -5.947954957e-07f, -5.939770699e-07f,
+-5.931577578e-07f, -5.923375610e-07f, -5.915164811e-07f, -5.906945197e-07f, -5.898716784e-07f, -5.890479587e-07f, -5.882233622e-07f, -5.873978906e-07f, -5.865715454e-07f, -5.857443283e-07f,
+-5.849162407e-07f, -5.840872843e-07f, -5.832574607e-07f, -5.824267716e-07f, -5.815952184e-07f, -5.807628028e-07f, -5.799295263e-07f, -5.790953907e-07f, -5.782603975e-07f, -5.774245482e-07f,
+-5.765878446e-07f, -5.757502882e-07f, -5.749118806e-07f, -5.740726234e-07f, -5.732325182e-07f, -5.723915667e-07f, -5.715497704e-07f, -5.707071310e-07f, -5.698636501e-07f, -5.690193293e-07f,
+-5.681741703e-07f, -5.673281745e-07f, -5.664813437e-07f, -5.656336795e-07f, -5.647851835e-07f, -5.639358573e-07f, -5.630857025e-07f, -5.622347208e-07f, -5.613829139e-07f, -5.605302832e-07f,
+-5.596768305e-07f, -5.588225573e-07f, -5.579674654e-07f, -5.571115563e-07f, -5.562548317e-07f, -5.553972932e-07f, -5.545389425e-07f, -5.536797811e-07f, -5.528198108e-07f, -5.519590331e-07f,
+-5.510974497e-07f, -5.502350623e-07f, -5.493718725e-07f, -5.485078818e-07f, -5.476430921e-07f, -5.467775048e-07f, -5.459111217e-07f, -5.450439445e-07f, -5.441759746e-07f, -5.433072139e-07f,
+-5.424376640e-07f, -5.415673264e-07f, -5.406962030e-07f, -5.398242952e-07f, -5.389516048e-07f, -5.380781335e-07f, -5.372038828e-07f, -5.363288545e-07f, -5.354530501e-07f, -5.345764715e-07f,
+-5.336991202e-07f, -5.328209978e-07f, -5.319421061e-07f, -5.310624468e-07f, -5.301820214e-07f, -5.293008316e-07f, -5.284188792e-07f, -5.275361658e-07f, -5.266526930e-07f, -5.257684625e-07f,
+-5.248834761e-07f, -5.239977353e-07f, -5.231112419e-07f, -5.222239974e-07f, -5.213360037e-07f, -5.204472624e-07f, -5.195577751e-07f, -5.186675435e-07f, -5.177765694e-07f, -5.168848543e-07f,
+-5.159924000e-07f, -5.150992082e-07f, -5.142052805e-07f, -5.133106186e-07f, -5.124152242e-07f, -5.115190991e-07f, -5.106222448e-07f, -5.097246631e-07f, -5.088263557e-07f, -5.079273242e-07f,
+-5.070275704e-07f, -5.061270959e-07f, -5.052259024e-07f, -5.043239917e-07f, -5.034213654e-07f, -5.025180252e-07f, -5.016139728e-07f, -5.007092099e-07f, -4.998037383e-07f, -4.988975596e-07f,
+-4.979906755e-07f, -4.970830877e-07f, -4.961747979e-07f, -4.952658078e-07f, -4.943561192e-07f, -4.934457337e-07f, -4.925346531e-07f, -4.916228790e-07f, -4.907104132e-07f, -4.897972573e-07f,
+-4.888834131e-07f, -4.879688823e-07f, -4.870536666e-07f, -4.861377678e-07f, -4.852211874e-07f, -4.843039273e-07f, -4.833859891e-07f, -4.824673747e-07f, -4.815480856e-07f, -4.806281236e-07f,
+-4.797074905e-07f, -4.787861879e-07f, -4.778642176e-07f, -4.769415812e-07f, -4.760182806e-07f, -4.750943174e-07f, -4.741696934e-07f, -4.732444103e-07f, -4.723184698e-07f, -4.713918736e-07f,
+-4.704646235e-07f, -4.695367212e-07f, -4.686081684e-07f, -4.676789668e-07f, -4.667491183e-07f, -4.658186245e-07f, -4.648874871e-07f, -4.639557079e-07f, -4.630232886e-07f, -4.620902310e-07f,
+-4.611565368e-07f, -4.602222077e-07f, -4.592872454e-07f, -4.583516518e-07f, -4.574154285e-07f, -4.564785772e-07f, -4.555410998e-07f, -4.546029980e-07f, -4.536642735e-07f, -4.527249280e-07f,
+-4.517849633e-07f, -4.508443811e-07f, -4.499031832e-07f, -4.489613713e-07f, -4.480189472e-07f, -4.470759127e-07f, -4.461322694e-07f, -4.451880191e-07f, -4.442431636e-07f, -4.432977045e-07f,
+-4.423516438e-07f, -4.414049831e-07f, -4.404577241e-07f, -4.395098687e-07f, -4.385614186e-07f, -4.376123755e-07f, -4.366627412e-07f, -4.357125174e-07f, -4.347617060e-07f, -4.338103086e-07f,
+-4.328583270e-07f, -4.319057630e-07f, -4.309526183e-07f, -4.299988947e-07f, -4.290445940e-07f, -4.280897180e-07f, -4.271342683e-07f, -4.261782467e-07f, -4.252216551e-07f, -4.242644951e-07f,
+-4.233067686e-07f, -4.223484773e-07f, -4.213896230e-07f, -4.204302074e-07f, -4.194702323e-07f, -4.185096995e-07f, -4.175486108e-07f, -4.165869679e-07f, -4.156247725e-07f, -4.146620265e-07f,
+-4.136987317e-07f, -4.127348897e-07f, -4.117705025e-07f, -4.108055716e-07f, -4.098400991e-07f, -4.088740865e-07f, -4.079075357e-07f, -4.069404484e-07f, -4.059728265e-07f, -4.050046717e-07f,
+-4.040359857e-07f, -4.030667705e-07f, -4.020970276e-07f, -4.011267590e-07f, -4.001559664e-07f, -3.991846516e-07f, -3.982128164e-07f, -3.972404625e-07f, -3.962675917e-07f, -3.952942059e-07f,
+-3.943203067e-07f, -3.933458961e-07f, -3.923709757e-07f, -3.913955474e-07f, -3.904196129e-07f, -3.894431740e-07f, -3.884662326e-07f, -3.874887904e-07f, -3.865108491e-07f, -3.855324107e-07f,
+-3.845534768e-07f, -3.835740493e-07f, -3.825941299e-07f, -3.816137205e-07f, -3.806328228e-07f, -3.796514387e-07f, -3.786695698e-07f, -3.776872181e-07f, -3.767043853e-07f, -3.757210732e-07f,
+-3.747372837e-07f, -3.737530184e-07f, -3.727682792e-07f, -3.717830678e-07f, -3.707973862e-07f, -3.698112361e-07f, -3.688246192e-07f, -3.678375374e-07f, -3.668499925e-07f, -3.658619863e-07f,
+-3.648735205e-07f, -3.638845971e-07f, -3.628952177e-07f, -3.619053842e-07f, -3.609150983e-07f, -3.599243620e-07f, -3.589331769e-07f, -3.579415450e-07f, -3.569494679e-07f, -3.559569476e-07f,
+-3.549639857e-07f, -3.539705842e-07f, -3.529767447e-07f, -3.519824692e-07f, -3.509877594e-07f, -3.499926172e-07f, -3.489970443e-07f, -3.480010426e-07f, -3.470046138e-07f, -3.460077597e-07f,
+-3.450104823e-07f, -3.440127832e-07f, -3.430146643e-07f, -3.420161275e-07f, -3.410171744e-07f, -3.400178070e-07f, -3.390180270e-07f, -3.380178363e-07f, -3.370172366e-07f, -3.360162299e-07f,
+-3.350148178e-07f, -3.340130022e-07f, -3.330107849e-07f, -3.320081677e-07f, -3.310051525e-07f, -3.300017411e-07f, -3.289979352e-07f, -3.279937367e-07f, -3.269891474e-07f, -3.259841692e-07f,
+-3.249788038e-07f, -3.239730530e-07f, -3.229669188e-07f, -3.219604028e-07f, -3.209535069e-07f, -3.199462329e-07f, -3.189385827e-07f, -3.179305581e-07f, -3.169221609e-07f, -3.159133928e-07f,
+-3.149042558e-07f, -3.138947517e-07f, -3.128848822e-07f, -3.118746492e-07f, -3.108640545e-07f, -3.098530999e-07f, -3.088417873e-07f, -3.078301184e-07f, -3.068180952e-07f, -3.058057194e-07f,
+-3.047929928e-07f, -3.037799173e-07f, -3.027664947e-07f, -3.017527268e-07f, -3.007386154e-07f, -2.997241625e-07f, -2.987093697e-07f, -2.976942389e-07f, -2.966787719e-07f, -2.956629706e-07f,
+-2.946468369e-07f, -2.936303724e-07f, -2.926135791e-07f, -2.915964587e-07f, -2.905790131e-07f, -2.895612442e-07f, -2.885431537e-07f, -2.875247435e-07f, -2.865060154e-07f, -2.854869713e-07f,
+-2.844676129e-07f, -2.834479421e-07f, -2.824279607e-07f, -2.814076706e-07f, -2.803870735e-07f, -2.793661714e-07f, -2.783449659e-07f, -2.773234591e-07f, -2.763016527e-07f, -2.752795485e-07f,
+-2.742571483e-07f, -2.732344540e-07f, -2.722114675e-07f, -2.711881905e-07f, -2.701646249e-07f, -2.691407725e-07f, -2.681166351e-07f, -2.670922147e-07f, -2.660675129e-07f, -2.650425317e-07f,
+-2.640172728e-07f, -2.629917382e-07f, -2.619659295e-07f, -2.609398488e-07f, -2.599134977e-07f, -2.588868782e-07f, -2.578599921e-07f, -2.568328411e-07f, -2.558054272e-07f, -2.547777522e-07f,
+-2.537498179e-07f, -2.527216261e-07f, -2.516931786e-07f, -2.506644774e-07f, -2.496355242e-07f, -2.486063209e-07f, -2.475768693e-07f, -2.465471712e-07f, -2.455172285e-07f, -2.444870430e-07f,
+-2.434566165e-07f, -2.424259510e-07f, -2.413950481e-07f, -2.403639098e-07f, -2.393325378e-07f, -2.383009341e-07f, -2.372691005e-07f, -2.362370387e-07f, -2.352047507e-07f, -2.341722382e-07f,
+-2.331395031e-07f, -2.321065472e-07f, -2.310733724e-07f, -2.300399805e-07f, -2.290063733e-07f, -2.279725528e-07f, -2.269385206e-07f, -2.259042786e-07f, -2.248698288e-07f, -2.238351728e-07f,
+-2.228003127e-07f, -2.217652501e-07f, -2.207299869e-07f, -2.196945250e-07f, -2.186588661e-07f, -2.176230123e-07f, -2.165869651e-07f, -2.155507266e-07f, -2.145142985e-07f, -2.134776827e-07f,
+-2.124408810e-07f, -2.114038953e-07f, -2.103667273e-07f, -2.093293790e-07f, -2.082918521e-07f, -2.072541485e-07f, -2.062162701e-07f, -2.051782186e-07f, -2.041399959e-07f, -2.031016038e-07f,
+-2.020630442e-07f, -2.010243190e-07f, -1.999854298e-07f, -1.989463787e-07f, -1.979071673e-07f, -1.968677976e-07f, -1.958282714e-07f, -1.947885906e-07f, -1.937487568e-07f, -1.927087721e-07f,
+-1.916686382e-07f, -1.906283570e-07f, -1.895879302e-07f, -1.885473598e-07f, -1.875066476e-07f, -1.864657953e-07f, -1.854248049e-07f, -1.843836782e-07f, -1.833424170e-07f, -1.823010231e-07f,
+-1.812594985e-07f, -1.802178448e-07f, -1.791760640e-07f, -1.781341578e-07f, -1.770921282e-07f, -1.760499769e-07f, -1.750077058e-07f, -1.739653167e-07f, -1.729228115e-07f, -1.718801919e-07f,
+-1.708374599e-07f, -1.697946172e-07f, -1.687516657e-07f, -1.677086073e-07f, -1.666654436e-07f, -1.656221767e-07f, -1.645788083e-07f, -1.635353402e-07f, -1.624917743e-07f, -1.614481124e-07f,
+-1.604043564e-07f, -1.593605080e-07f, -1.583165692e-07f, -1.572725417e-07f, -1.562284273e-07f, -1.551842280e-07f, -1.541399455e-07f, -1.530955816e-07f, -1.520511383e-07f, -1.510066173e-07f,
+-1.499620204e-07f, -1.489173495e-07f, -1.478726065e-07f, -1.468277930e-07f, -1.457829111e-07f, -1.447379625e-07f, -1.436929490e-07f, -1.426478724e-07f, -1.416027347e-07f, -1.405575375e-07f,
+-1.395122828e-07f, -1.384669724e-07f, -1.374216081e-07f, -1.363761917e-07f, -1.353307251e-07f, -1.342852100e-07f, -1.332396484e-07f, -1.321940420e-07f, -1.311483927e-07f, -1.301027022e-07f,
+-1.290569725e-07f, -1.280112053e-07f, -1.269654025e-07f, -1.259195659e-07f, -1.248736973e-07f, -1.238277985e-07f, -1.227818714e-07f, -1.217359178e-07f, -1.206899395e-07f, -1.196439383e-07f,
+-1.185979161e-07f, -1.175518747e-07f, -1.165058158e-07f, -1.154597414e-07f, -1.144136533e-07f, -1.133675532e-07f, -1.123214430e-07f, -1.112753245e-07f, -1.102291996e-07f, -1.091830700e-07f,
+-1.081369375e-07f, -1.070908041e-07f, -1.060446715e-07f, -1.049985415e-07f, -1.039524160e-07f, -1.029062967e-07f, -1.018601855e-07f, -1.008140842e-07f, -9.976799465e-08f, -9.872191862e-08f,
+-9.767585795e-08f, -9.662981446e-08f, -9.558378995e-08f, -9.453778624e-08f, -9.349180515e-08f, -9.244584849e-08f, -9.139991808e-08f, -9.035401574e-08f, -8.930814327e-08f, -8.826230248e-08f,
+-8.721649520e-08f, -8.617072324e-08f, -8.512498840e-08f, -8.407929250e-08f, -8.303363735e-08f, -8.198802476e-08f, -8.094245655e-08f, -7.989693452e-08f, -7.885146048e-08f, -7.780603624e-08f,
+-7.676066361e-08f, -7.571534440e-08f, -7.467008043e-08f, -7.362487348e-08f, -7.257972538e-08f, -7.153463793e-08f, -7.048961294e-08f, -6.944465221e-08f, -6.839975755e-08f, -6.735493077e-08f,
+-6.631017366e-08f, -6.526548804e-08f, -6.422087570e-08f, -6.317633846e-08f, -6.213187810e-08f, -6.108749645e-08f, -6.004319529e-08f, -5.899897644e-08f, -5.795484168e-08f, -5.691079283e-08f,
+-5.586683168e-08f, -5.482296003e-08f, -5.377917969e-08f, -5.273549244e-08f, -5.169190010e-08f, -5.064840445e-08f, -4.960500729e-08f, -4.856171043e-08f, -4.751851565e-08f, -4.647542475e-08f,
+-4.543243954e-08f, -4.438956180e-08f, -4.334679332e-08f, -4.230413591e-08f, -4.126159135e-08f, -4.021916144e-08f, -3.917684798e-08f, -3.813465274e-08f, -3.709257753e-08f, -3.605062413e-08f,
+-3.500879433e-08f, -3.396708993e-08f, -3.292551272e-08f, -3.188406447e-08f, -3.084274698e-08f, -2.980156205e-08f, -2.876051144e-08f, -2.771959696e-08f, -2.667882038e-08f, -2.563818350e-08f,
+-2.459768809e-08f, -2.355733594e-08f, -2.251712884e-08f, -2.147706857e-08f, -2.043715690e-08f, -1.939739563e-08f, -1.835778653e-08f, -1.731833138e-08f, -1.627903197e-08f, -1.523989007e-08f,
+-1.420090746e-08f, -1.316208593e-08f, -1.212342724e-08f, -1.108493318e-08f, -1.004660552e-08f, -9.008446041e-09f, -7.970456514e-09f, -6.932638715e-09f, -5.894994419e-09f, -4.857525398e-09f,
+-3.820233427e-09f, -2.783120276e-09f, -1.746187719e-09f, -7.094375244e-10f, 3.271285358e-10f, 1.363508692e-09f, 2.399701176e-09f, 3.435704218e-09f, 4.471516052e-09f, 5.507134909e-09f,
+6.542559023e-09f, 7.577786629e-09f, 8.612815962e-09f, 9.647645256e-09f, 1.068227275e-08f, 1.171669667e-08f, 1.275091527e-08f, 1.378492678e-08f, 1.481872944e-08f, 1.585232149e-08f,
+1.688570117e-08f, 1.791886671e-08f, 1.895181637e-08f, 1.998454838e-08f, 2.101706099e-08f, 2.204935244e-08f, 2.308142097e-08f, 2.411326483e-08f, 2.514488227e-08f, 2.617627153e-08f,
+2.720743085e-08f, 2.823835850e-08f, 2.926905271e-08f, 3.029951173e-08f, 3.132973382e-08f, 3.235971722e-08f, 3.338946020e-08f, 3.441896099e-08f, 3.544821785e-08f, 3.647722904e-08f,
+3.750599280e-08f, 3.853450741e-08f, 3.956277110e-08f, 4.059078215e-08f, 4.161853879e-08f, 4.264603931e-08f, 4.367328194e-08f, 4.470026496e-08f, 4.572698661e-08f, 4.675344518e-08f,
+4.777963890e-08f, 4.880556606e-08f, 4.983122491e-08f, 5.085661371e-08f, 5.188173074e-08f, 5.290657425e-08f, 5.393114252e-08f, 5.495543381e-08f, 5.597944639e-08f, 5.700317852e-08f,
+5.802662849e-08f, 5.904979455e-08f, 6.007267499e-08f, 6.109526806e-08f, 6.211757206e-08f, 6.313958524e-08f, 6.416130589e-08f, 6.518273227e-08f, 6.620386267e-08f, 6.722469537e-08f,
+6.824522864e-08f, 6.926546075e-08f, 7.028539000e-08f, 7.130501466e-08f, 7.232433300e-08f, 7.334334332e-08f, 7.436204390e-08f, 7.538043302e-08f, 7.639850896e-08f, 7.741627001e-08f,
+7.843371446e-08f, 7.945084060e-08f, 8.046764670e-08f, 8.148413107e-08f, 8.250029199e-08f, 8.351612775e-08f, 8.453163664e-08f, 8.554681696e-08f, 8.656166699e-08f, 8.757618504e-08f,
+8.859036940e-08f, 8.960421836e-08f, 9.061773023e-08f, 9.163090329e-08f, 9.264373585e-08f, 9.365622620e-08f, 9.466837265e-08f, 9.568017351e-08f, 9.669162706e-08f, 9.770273162e-08f,
+9.871348548e-08f, 9.972388696e-08f, 1.007339344e-07f, 1.017436260e-07f, 1.027529601e-07f, 1.037619351e-07f, 1.047705493e-07f, 1.057788009e-07f, 1.067866883e-07f, 1.077942098e-07f,
+1.088013636e-07f, 1.098081482e-07f, 1.108145618e-07f, 1.118206028e-07f, 1.128262694e-07f, 1.138315600e-07f, 1.148364729e-07f, 1.158410064e-07f, 1.168451589e-07f, 1.178489286e-07f,
+1.188523139e-07f, 1.198553131e-07f, 1.208579246e-07f, 1.218601466e-07f, 1.228619775e-07f, 1.238634156e-07f, 1.248644592e-07f, 1.258651068e-07f, 1.268653565e-07f, 1.278652067e-07f,
+1.288646559e-07f, 1.298637022e-07f, 1.308623441e-07f, 1.318605798e-07f, 1.328584077e-07f, 1.338558262e-07f, 1.348528336e-07f, 1.358494282e-07f, 1.368456084e-07f, 1.378413724e-07f,
+1.388367188e-07f, 1.398316457e-07f, 1.408261515e-07f, 1.418202347e-07f, 1.428138934e-07f, 1.438071262e-07f, 1.447999312e-07f, 1.457923070e-07f, 1.467842518e-07f, 1.477757639e-07f,
+1.487668418e-07f, 1.497574838e-07f, 1.507476882e-07f, 1.517374534e-07f, 1.527267778e-07f, 1.537156597e-07f, 1.547040975e-07f, 1.556920895e-07f, 1.566796341e-07f, 1.576667296e-07f,
+1.586533745e-07f, 1.596395671e-07f, 1.606253057e-07f, 1.616105888e-07f, 1.625954146e-07f, 1.635797816e-07f, 1.645636881e-07f, 1.655471325e-07f, 1.665301132e-07f, 1.675126286e-07f,
+1.684946769e-07f, 1.694762567e-07f, 1.704573662e-07f, 1.714380039e-07f, 1.724181681e-07f, 1.733978573e-07f, 1.743770697e-07f, 1.753558038e-07f, 1.763340579e-07f, 1.773118305e-07f,
+1.782891199e-07f, 1.792659246e-07f, 1.802422428e-07f, 1.812180730e-07f, 1.821934136e-07f, 1.831682630e-07f, 1.841426196e-07f, 1.851164817e-07f, 1.860898478e-07f, 1.870627162e-07f,
+1.880350853e-07f, 1.890069537e-07f, 1.899783195e-07f, 1.909491813e-07f, 1.919195375e-07f, 1.928893864e-07f, 1.938587265e-07f, 1.948275561e-07f, 1.957958737e-07f, 1.967636777e-07f,
+1.977309665e-07f, 1.986977384e-07f, 1.996639920e-07f, 2.006297256e-07f, 2.015949376e-07f, 2.025596264e-07f, 2.035237906e-07f, 2.044874284e-07f, 2.054505383e-07f, 2.064131187e-07f,
+2.073751681e-07f, 2.083366848e-07f, 2.092976673e-07f, 2.102581140e-07f, 2.112180234e-07f, 2.121773938e-07f, 2.131362237e-07f, 2.140945115e-07f, 2.150522557e-07f, 2.160094547e-07f,
+2.169661069e-07f, 2.179222107e-07f, 2.188777646e-07f, 2.198327670e-07f, 2.207872164e-07f, 2.217411112e-07f, 2.226944498e-07f, 2.236472307e-07f, 2.245994524e-07f, 2.255511132e-07f,
+2.265022116e-07f, 2.274527461e-07f, 2.284027151e-07f, 2.293521170e-07f, 2.303009503e-07f, 2.312492136e-07f, 2.321969051e-07f, 2.331440234e-07f, 2.340905669e-07f, 2.350365341e-07f,
+2.359819234e-07f, 2.369267333e-07f, 2.378709623e-07f, 2.388146088e-07f, 2.397576713e-07f, 2.407001482e-07f, 2.416420381e-07f, 2.425833393e-07f, 2.435240504e-07f, 2.444641698e-07f,
+2.454036960e-07f, 2.463426274e-07f, 2.472809626e-07f, 2.482187000e-07f, 2.491558381e-07f, 2.500923753e-07f, 2.510283102e-07f, 2.519636413e-07f, 2.528983669e-07f, 2.538324856e-07f,
+2.547659959e-07f, 2.556988962e-07f, 2.566311851e-07f, 2.575628611e-07f, 2.584939225e-07f, 2.594243680e-07f, 2.603541960e-07f, 2.612834049e-07f, 2.622119934e-07f, 2.631399599e-07f,
+2.640673028e-07f, 2.649940208e-07f, 2.659201122e-07f, 2.668455756e-07f, 2.677704095e-07f, 2.686946125e-07f, 2.696181829e-07f, 2.705411193e-07f, 2.714634203e-07f, 2.723850842e-07f,
+2.733061098e-07f, 2.742264954e-07f, 2.751462395e-07f, 2.760653407e-07f, 2.769837976e-07f, 2.779016085e-07f, 2.788187721e-07f, 2.797352868e-07f, 2.806511513e-07f, 2.815663639e-07f,
+2.824809233e-07f, 2.833948279e-07f, 2.843080763e-07f, 2.852206671e-07f, 2.861325986e-07f, 2.870438696e-07f, 2.879544784e-07f, 2.888644238e-07f, 2.897737041e-07f, 2.906823179e-07f,
+2.915902638e-07f, 2.924975402e-07f, 2.934041459e-07f, 2.943100792e-07f, 2.952153387e-07f, 2.961199230e-07f, 2.970238307e-07f, 2.979270602e-07f, 2.988296102e-07f, 2.997314791e-07f,
+3.006326656e-07f, 3.015331682e-07f, 3.024329854e-07f, 3.033321158e-07f, 3.042305579e-07f, 3.051283104e-07f, 3.060253718e-07f, 3.069217406e-07f, 3.078174155e-07f, 3.087123949e-07f,
+3.096066775e-07f, 3.105002618e-07f, 3.113931464e-07f, 3.122853298e-07f, 3.131768107e-07f, 3.140675877e-07f, 3.149576592e-07f, 3.158470238e-07f, 3.167356802e-07f, 3.176236270e-07f,
+3.185108627e-07f, 3.193973858e-07f, 3.202831951e-07f, 3.211682890e-07f, 3.220526662e-07f, 3.229363252e-07f, 3.238192647e-07f, 3.247014832e-07f, 3.255829794e-07f, 3.264637518e-07f,
+3.273437990e-07f, 3.282231196e-07f, 3.291017123e-07f, 3.299795756e-07f, 3.308567082e-07f, 3.317331085e-07f, 3.326087754e-07f, 3.334837073e-07f, 3.343579028e-07f, 3.352313607e-07f,
+3.361040794e-07f, 3.369760576e-07f, 3.378472940e-07f, 3.387177871e-07f, 3.395875355e-07f, 3.404565380e-07f, 3.413247930e-07f, 3.421922993e-07f, 3.430590555e-07f, 3.439250601e-07f,
+3.447903118e-07f, 3.456548093e-07f, 3.465185511e-07f, 3.473815360e-07f, 3.482437625e-07f, 3.491052293e-07f, 3.499659350e-07f, 3.508258782e-07f, 3.516850577e-07f, 3.525434720e-07f,
+3.534011197e-07f, 3.542579996e-07f, 3.551141103e-07f, 3.559694505e-07f, 3.568240186e-07f, 3.576778136e-07f, 3.585308339e-07f, 3.593830782e-07f, 3.602345453e-07f, 3.610852337e-07f,
+3.619351421e-07f, 3.627842692e-07f, 3.636326137e-07f, 3.644801741e-07f, 3.653269493e-07f, 3.661729378e-07f, 3.670181382e-07f, 3.678625494e-07f, 3.687061700e-07f, 3.695489985e-07f,
+3.703910338e-07f, 3.712322745e-07f, 3.720727192e-07f, 3.729123667e-07f, 3.737512156e-07f, 3.745892646e-07f, 3.754265124e-07f, 3.762629577e-07f, 3.770985992e-07f, 3.779334356e-07f,
+3.787674655e-07f, 3.796006877e-07f, 3.804331009e-07f, 3.812647037e-07f, 3.820954948e-07f, 3.829254730e-07f, 3.837546369e-07f, 3.845829854e-07f, 3.854105169e-07f, 3.862372304e-07f,
+3.870631244e-07f, 3.878881977e-07f, 3.887124490e-07f, 3.895358771e-07f, 3.903584805e-07f, 3.911802582e-07f, 3.920012086e-07f, 3.928213307e-07f, 3.936406231e-07f, 3.944590846e-07f,
+3.952767138e-07f, 3.960935095e-07f, 3.969094704e-07f, 3.977245952e-07f, 3.985388828e-07f, 3.993523318e-07f, 4.001649409e-07f, 4.009767089e-07f, 4.017876346e-07f, 4.025977166e-07f,
+4.034069537e-07f, 4.042153447e-07f, 4.050228883e-07f, 4.058295833e-07f, 4.066354283e-07f, 4.074404223e-07f, 4.082445638e-07f, 4.090478517e-07f, 4.098502847e-07f, 4.106518616e-07f,
+4.114525811e-07f, 4.122524420e-07f, 4.130514431e-07f, 4.138495831e-07f, 4.146468608e-07f, 4.154432749e-07f, 4.162388243e-07f, 4.170335077e-07f, 4.178273239e-07f, 4.186202716e-07f,
+4.194123497e-07f, 4.202035568e-07f, 4.209938919e-07f, 4.217833536e-07f, 4.225719408e-07f, 4.233596522e-07f, 4.241464867e-07f, 4.249324429e-07f, 4.257175198e-07f, 4.265017161e-07f,
+4.272850305e-07f, 4.280674620e-07f, 4.288490092e-07f, 4.296296711e-07f, 4.304094463e-07f, 4.311883337e-07f, 4.319663321e-07f, 4.327434404e-07f, 4.335196572e-07f, 4.342949815e-07f,
+4.350694120e-07f, 4.358429475e-07f, 4.366155869e-07f, 4.373873290e-07f, 4.381581726e-07f, 4.389281166e-07f, 4.396971596e-07f, 4.404653007e-07f, 4.412325385e-07f, 4.419988720e-07f,
+4.427642999e-07f, 4.435288211e-07f, 4.442924345e-07f, 4.450551387e-07f, 4.458169328e-07f, 4.465778155e-07f, 4.473377857e-07f, 4.480968422e-07f, 4.488549839e-07f, 4.496122095e-07f,
+4.503685180e-07f, 4.511239082e-07f, 4.518783790e-07f, 4.526319292e-07f, 4.533845576e-07f, 4.541362631e-07f, 4.548870447e-07f, 4.556369010e-07f, 4.563858311e-07f, 4.571338337e-07f,
+4.578809078e-07f, 4.586270521e-07f, 4.593722656e-07f, 4.601165472e-07f, 4.608598957e-07f, 4.616023099e-07f, 4.623437888e-07f, 4.630843313e-07f, 4.638239362e-07f, 4.645626024e-07f,
+4.653003287e-07f, 4.660371142e-07f, 4.667729576e-07f, 4.675078579e-07f, 4.682418139e-07f, 4.689748245e-07f, 4.697068887e-07f, 4.704380053e-07f, 4.711681733e-07f, 4.718973914e-07f,
+4.726256587e-07f, 4.733529741e-07f, 4.740793364e-07f, 4.748047445e-07f, 4.755291974e-07f, 4.762526940e-07f, 4.769752331e-07f, 4.776968138e-07f, 4.784174348e-07f, 4.791370953e-07f,
+4.798557939e-07f, 4.805735298e-07f, 4.812903018e-07f, 4.820061088e-07f, 4.827209498e-07f, 4.834348236e-07f, 4.841477293e-07f, 4.848596658e-07f, 4.855706320e-07f, 4.862806267e-07f,
+4.869896491e-07f, 4.876976980e-07f, 4.884047724e-07f, 4.891108711e-07f, 4.898159932e-07f, 4.905201377e-07f, 4.912233033e-07f, 4.919254892e-07f, 4.926266943e-07f, 4.933269174e-07f,
+4.940261577e-07f, 4.947244140e-07f, 4.954216853e-07f, 4.961179706e-07f, 4.968132688e-07f, 4.975075789e-07f, 4.982008998e-07f, 4.988932307e-07f, 4.995845703e-07f, 5.002749178e-07f,
+5.009642720e-07f, 5.016526319e-07f, 5.023399967e-07f, 5.030263651e-07f, 5.037117362e-07f, 5.043961090e-07f, 5.050794826e-07f, 5.057618557e-07f, 5.064432276e-07f, 5.071235971e-07f,
+5.078029633e-07f, 5.084813251e-07f, 5.091586816e-07f, 5.098350317e-07f, 5.105103746e-07f, 5.111847091e-07f, 5.118580342e-07f, 5.125303491e-07f, 5.132016527e-07f, 5.138719440e-07f,
+5.145412220e-07f, 5.152094858e-07f, 5.158767344e-07f, 5.165429668e-07f, 5.172081820e-07f, 5.178723790e-07f, 5.185355569e-07f, 5.191977148e-07f, 5.198588515e-07f, 5.205189663e-07f,
+5.211780580e-07f, 5.218361258e-07f, 5.224931687e-07f, 5.231491857e-07f, 5.238041759e-07f, 5.244581383e-07f, 5.251110720e-07f, 5.257629760e-07f, 5.264138494e-07f, 5.270636912e-07f,
+5.277125004e-07f, 5.283602762e-07f, 5.290070176e-07f, 5.296527237e-07f, 5.302973935e-07f, 5.309410260e-07f, 5.315836204e-07f, 5.322251757e-07f, 5.328656911e-07f, 5.335051655e-07f,
+5.341435980e-07f, 5.347809877e-07f, 5.354173338e-07f, 5.360526352e-07f, 5.366868911e-07f, 5.373201006e-07f, 5.379522627e-07f, 5.385833765e-07f, 5.392134411e-07f, 5.398424556e-07f,
+5.404704192e-07f, 5.410973308e-07f, 5.417231896e-07f, 5.423479948e-07f, 5.429717453e-07f, 5.435944404e-07f, 5.442160791e-07f, 5.448366605e-07f, 5.454561837e-07f, 5.460746479e-07f,
+5.466920522e-07f, 5.473083956e-07f, 5.479236774e-07f, 5.485378966e-07f, 5.491510523e-07f, 5.497631437e-07f, 5.503741699e-07f, 5.509841300e-07f, 5.515930232e-07f, 5.522008486e-07f,
+5.528076053e-07f, 5.534132925e-07f, 5.540179092e-07f, 5.546214548e-07f, 5.552239282e-07f, 5.558253287e-07f, 5.564256553e-07f, 5.570249073e-07f, 5.576230837e-07f, 5.582201839e-07f,
+5.588162067e-07f, 5.594111516e-07f, 5.600050175e-07f, 5.605978038e-07f, 5.611895094e-07f, 5.617801337e-07f, 5.623696758e-07f, 5.629581347e-07f, 5.635455098e-07f, 5.641318002e-07f,
+5.647170050e-07f, 5.653011235e-07f, 5.658841548e-07f, 5.664660981e-07f, 5.670469526e-07f, 5.676267174e-07f, 5.682053918e-07f, 5.687829750e-07f, 5.693594661e-07f, 5.699348643e-07f,
+5.705091689e-07f, 5.710823790e-07f, 5.716544938e-07f, 5.722255126e-07f, 5.727954345e-07f, 5.733642587e-07f, 5.739319845e-07f, 5.744986111e-07f, 5.750641376e-07f, 5.756285633e-07f,
+5.761918874e-07f, 5.767541092e-07f, 5.773152278e-07f, 5.778752425e-07f, 5.784341525e-07f, 5.789919570e-07f, 5.795486552e-07f, 5.801042465e-07f, 5.806587299e-07f, 5.812121048e-07f,
+5.817643704e-07f, 5.823155259e-07f, 5.828655706e-07f, 5.834145037e-07f, 5.839623245e-07f, 5.845090322e-07f, 5.850546260e-07f, 5.855991053e-07f, 5.861424692e-07f, 5.866847170e-07f,
+5.872258480e-07f, 5.877658615e-07f, 5.883047566e-07f, 5.888425327e-07f, 5.893791891e-07f, 5.899147250e-07f, 5.904491396e-07f, 5.909824322e-07f, 5.915146022e-07f, 5.920456488e-07f,
+5.925755713e-07f, 5.931043689e-07f, 5.936320410e-07f, 5.941585867e-07f, 5.946840055e-07f, 5.952082966e-07f, 5.957314593e-07f, 5.962534929e-07f, 5.967743967e-07f, 5.972941699e-07f,
+5.978128119e-07f, 5.983303220e-07f, 5.988466995e-07f, 5.993619437e-07f, 5.998760539e-07f, 6.003890294e-07f, 6.009008696e-07f, 6.014115736e-07f, 6.019211409e-07f, 6.024295708e-07f,
+6.029368626e-07f, 6.034430157e-07f, 6.039480292e-07f, 6.044519027e-07f, 6.049546353e-07f, 6.054562265e-07f, 6.059566755e-07f, 6.064559817e-07f, 6.069541445e-07f, 6.074511632e-07f,
+6.079470371e-07f, 6.084417655e-07f, 6.089353479e-07f, 6.094277835e-07f, 6.099190717e-07f, 6.104092119e-07f, 6.108982034e-07f, 6.113860456e-07f, 6.118727379e-07f, 6.123582795e-07f,
+6.128426699e-07f, 6.133259084e-07f, 6.138079944e-07f, 6.142889272e-07f, 6.147687063e-07f, 6.152473310e-07f, 6.157248007e-07f, 6.162011147e-07f, 6.166762725e-07f, 6.171502734e-07f,
+6.176231169e-07f, 6.180948022e-07f, 6.185653288e-07f, 6.190346960e-07f, 6.195029034e-07f, 6.199699502e-07f, 6.204358358e-07f, 6.209005598e-07f, 6.213641213e-07f, 6.218265200e-07f,
+6.222877551e-07f, 6.227478261e-07f, 6.232067324e-07f, 6.236644734e-07f, 6.241210485e-07f, 6.245764571e-07f, 6.250306987e-07f, 6.254837726e-07f, 6.259356783e-07f, 6.263864153e-07f,
+6.268359829e-07f, 6.272843806e-07f, 6.277316077e-07f, 6.281776639e-07f, 6.286225484e-07f, 6.290662607e-07f, 6.295088002e-07f, 6.299501665e-07f, 6.303903589e-07f, 6.308293769e-07f,
+6.312672199e-07f, 6.317038874e-07f, 6.321393788e-07f, 6.325736936e-07f, 6.330068313e-07f, 6.334387913e-07f, 6.338695731e-07f, 6.342991761e-07f, 6.347275997e-07f, 6.351548436e-07f,
+6.355809071e-07f, 6.360057897e-07f, 6.364294909e-07f, 6.368520102e-07f, 6.372733470e-07f, 6.376935008e-07f, 6.381124711e-07f, 6.385302574e-07f, 6.389468592e-07f, 6.393622759e-07f,
+6.397765071e-07f, 6.401895523e-07f, 6.406014109e-07f, 6.410120824e-07f, 6.414215664e-07f, 6.418298623e-07f, 6.422369697e-07f, 6.426428881e-07f, 6.430476169e-07f, 6.434511557e-07f,
+6.438535040e-07f, 6.442546612e-07f, 6.446546271e-07f, 6.450534009e-07f, 6.454509823e-07f, 6.458473708e-07f, 6.462425660e-07f, 6.466365672e-07f, 6.470293742e-07f, 6.474209863e-07f,
+6.478114032e-07f, 6.482006244e-07f, 6.485886494e-07f, 6.489754778e-07f, 6.493611090e-07f, 6.497455427e-07f, 6.501287784e-07f, 6.505108157e-07f, 6.508916540e-07f, 6.512712930e-07f,
+6.516497322e-07f, 6.520269712e-07f, 6.524030095e-07f, 6.527778467e-07f, 6.531514823e-07f, 6.535239160e-07f, 6.538951473e-07f, 6.542651757e-07f, 6.546340009e-07f, 6.550016224e-07f,
+6.553680397e-07f, 6.557332526e-07f, 6.560972605e-07f, 6.564600631e-07f, 6.568216599e-07f, 6.571820505e-07f, 6.575412345e-07f, 6.578992115e-07f, 6.582559811e-07f, 6.586115429e-07f,
+6.589658965e-07f, 6.593190415e-07f, 6.596709775e-07f, 6.600217041e-07f, 6.603712209e-07f, 6.607195276e-07f, 6.610666236e-07f, 6.614125088e-07f, 6.617571826e-07f, 6.621006447e-07f,
+6.624428947e-07f, 6.627839323e-07f, 6.631237570e-07f, 6.634623686e-07f, 6.637997665e-07f, 6.641359505e-07f, 6.644709202e-07f, 6.648046752e-07f, 6.651372152e-07f, 6.654685398e-07f,
+6.657986487e-07f, 6.661275414e-07f, 6.664552177e-07f, 6.667816772e-07f, 6.671069195e-07f, 6.674309443e-07f, 6.677537513e-07f, 6.680753402e-07f, 6.683957104e-07f, 6.687148619e-07f,
+6.690327941e-07f, 6.693495068e-07f, 6.696649997e-07f, 6.699792724e-07f, 6.702923245e-07f, 6.706041559e-07f, 6.709147661e-07f, 6.712241548e-07f, 6.715323217e-07f, 6.718392665e-07f,
+6.721449889e-07f, 6.724494885e-07f, 6.727527652e-07f, 6.730548184e-07f, 6.733556481e-07f, 6.736552537e-07f, 6.739536352e-07f, 6.742507921e-07f, 6.745467241e-07f, 6.748414310e-07f,
+6.751349125e-07f, 6.754271683e-07f, 6.757181980e-07f, 6.760080015e-07f, 6.762965784e-07f, 6.765839285e-07f, 6.768700514e-07f, 6.771549469e-07f, 6.774386148e-07f, 6.777210547e-07f,
+6.780022664e-07f, 6.782822496e-07f, 6.785610041e-07f, 6.788385296e-07f, 6.791148257e-07f, 6.793898924e-07f, 6.796637293e-07f, 6.799363361e-07f, 6.802077127e-07f, 6.804778587e-07f,
+6.807467739e-07f, 6.810144581e-07f, 6.812809111e-07f, 6.815461325e-07f, 6.818101222e-07f, 6.820728798e-07f, 6.823344053e-07f, 6.825946983e-07f, 6.828537586e-07f, 6.831115860e-07f,
+6.833681803e-07f, 6.836235412e-07f, 6.838776685e-07f, 6.841305620e-07f, 6.843822216e-07f, 6.846326468e-07f, 6.848818377e-07f, 6.851297939e-07f, 6.853765152e-07f, 6.856220015e-07f,
+6.858662525e-07f, 6.861092680e-07f, 6.863510479e-07f, 6.865915919e-07f, 6.868308998e-07f, 6.870689715e-07f, 6.873058067e-07f, 6.875414053e-07f, 6.877757671e-07f, 6.880088919e-07f,
+6.882407795e-07f, 6.884714298e-07f, 6.887008425e-07f, 6.889290175e-07f, 6.891559546e-07f, 6.893816536e-07f, 6.896061145e-07f, 6.898293369e-07f, 6.900513208e-07f, 6.902720659e-07f,
+6.904915722e-07f, 6.907098395e-07f, 6.909268675e-07f, 6.911426563e-07f, 6.913572055e-07f, 6.915705151e-07f, 6.917825849e-07f, 6.919934148e-07f, 6.922030045e-07f, 6.924113541e-07f,
+6.926184633e-07f, 6.928243321e-07f, 6.930289602e-07f, 6.932323476e-07f, 6.934344940e-07f, 6.936353995e-07f, 6.938350639e-07f, 6.940334869e-07f, 6.942306686e-07f, 6.944266089e-07f,
+6.946213075e-07f, 6.948147643e-07f, 6.950069794e-07f, 6.951979525e-07f, 6.953876835e-07f, 6.955761724e-07f, 6.957634191e-07f, 6.959494233e-07f, 6.961341851e-07f, 6.963177044e-07f,
+6.964999810e-07f, 6.966810149e-07f, 6.968608059e-07f, 6.970393540e-07f, 6.972166592e-07f, 6.973927212e-07f, 6.975675401e-07f, 6.977411157e-07f, 6.979134480e-07f, 6.980845369e-07f,
+6.982543823e-07f, 6.984229842e-07f, 6.985903424e-07f, 6.987564571e-07f, 6.989213279e-07f, 6.990849550e-07f, 6.992473382e-07f, 6.994084775e-07f, 6.995683728e-07f, 6.997270241e-07f,
+6.998844314e-07f, 7.000405945e-07f, 7.001955134e-07f, 7.003491882e-07f, 7.005016186e-07f, 7.006528048e-07f, 7.008027467e-07f, 7.009514442e-07f, 7.010988973e-07f, 7.012451059e-07f,
+7.013900701e-07f, 7.015337899e-07f, 7.016762651e-07f, 7.018174957e-07f, 7.019574819e-07f, 7.020962234e-07f, 7.022337204e-07f, 7.023699728e-07f, 7.025049806e-07f, 7.026387437e-07f,
+7.027712622e-07f, 7.029025361e-07f, 7.030325654e-07f, 7.031613500e-07f, 7.032888900e-07f, 7.034151853e-07f, 7.035402361e-07f, 7.036640422e-07f, 7.037866037e-07f, 7.039079207e-07f,
+7.040279930e-07f, 7.041468208e-07f, 7.042644041e-07f, 7.043807428e-07f, 7.044958370e-07f, 7.046096868e-07f, 7.047222921e-07f, 7.048336530e-07f, 7.049437695e-07f, 7.050526417e-07f,
+7.051602696e-07f, 7.052666531e-07f, 7.053717925e-07f, 7.054756877e-07f, 7.055783387e-07f, 7.056797456e-07f, 7.057799085e-07f, 7.058788273e-07f, 7.059765023e-07f, 7.060729333e-07f,
+7.061681205e-07f, 7.062620640e-07f, 7.063547637e-07f, 7.064462198e-07f, 7.065364323e-07f, 7.066254013e-07f, 7.067131269e-07f, 7.067996091e-07f, 7.068848480e-07f, 7.069688437e-07f,
+7.070515963e-07f, 7.071331058e-07f, 7.072133724e-07f, 7.072923960e-07f, 7.073701769e-07f, 7.074467151e-07f, 7.075220106e-07f, 7.075960637e-07f, 7.076688743e-07f, 7.077404426e-07f,
+7.078107687e-07f, 7.078798526e-07f, 7.079476946e-07f, 7.080142946e-07f, 7.080796529e-07f, 7.081437694e-07f, 7.082066444e-07f, 7.082682779e-07f, 7.083286701e-07f, 7.083878211e-07f,
+7.084457310e-07f, 7.085023999e-07f, 7.085578280e-07f, 7.086120154e-07f, 7.086649622e-07f, 7.087166685e-07f, 7.087671345e-07f, 7.088163604e-07f, 7.088643462e-07f, 7.089110921e-07f,
+7.089565982e-07f, 7.090008647e-07f, 7.090438918e-07f, 7.090856796e-07f, 7.091262282e-07f, 7.091655378e-07f, 7.092036086e-07f, 7.092404407e-07f, 7.092760342e-07f, 7.093103894e-07f,
+7.093435064e-07f, 7.093753854e-07f, 7.094060265e-07f, 7.094354299e-07f, 7.094635958e-07f, 7.094905243e-07f, 7.095162157e-07f, 7.095406701e-07f, 7.095638877e-07f, 7.095858686e-07f,
+7.096066132e-07f, 7.096261215e-07f, 7.096443937e-07f, 7.096614301e-07f, 7.096772308e-07f, 7.096917961e-07f, 7.097051261e-07f, 7.097172210e-07f, 7.097280810e-07f, 7.097377064e-07f,
+7.097460973e-07f, 7.097532540e-07f, 7.097591767e-07f, 7.097638655e-07f, 7.097673207e-07f, 7.097695426e-07f, 7.097705313e-07f, 7.097702870e-07f, 7.097688100e-07f, 7.097661006e-07f,
+7.097621588e-07f, 7.097569851e-07f, 7.097505795e-07f, 7.097429424e-07f, 7.097340739e-07f, 7.097239744e-07f, 7.097126440e-07f, 7.097000830e-07f, 7.096862916e-07f, 7.096712702e-07f,
+7.096550188e-07f, 7.096375379e-07f, 7.096188276e-07f, 7.095988882e-07f, 7.095777199e-07f, 7.095553231e-07f, 7.095316980e-07f, 7.095068448e-07f, 7.094807638e-07f, 7.094534552e-07f,
+7.094249195e-07f, 7.093951567e-07f, 7.093641673e-07f, 7.093319514e-07f, 7.092985093e-07f, 7.092638414e-07f, 7.092279480e-07f, 7.091908292e-07f, 7.091524854e-07f, 7.091129168e-07f,
+7.090721239e-07f, 7.090301068e-07f, 7.089868658e-07f, 7.089424013e-07f, 7.088967136e-07f, 7.088498029e-07f, 7.088016696e-07f, 7.087523140e-07f, 7.087017363e-07f, 7.086499369e-07f,
+7.085969161e-07f, 7.085426742e-07f, 7.084872115e-07f, 7.084305283e-07f, 7.083726251e-07f, 7.083135020e-07f, 7.082531594e-07f, 7.081915977e-07f, 7.081288171e-07f, 7.080648180e-07f,
+7.079996008e-07f, 7.079331657e-07f, 7.078655131e-07f, 7.077966434e-07f, 7.077265568e-07f, 7.076552538e-07f, 7.075827346e-07f, 7.075089997e-07f, 7.074340493e-07f, 7.073578838e-07f,
+7.072805036e-07f, 7.072019090e-07f, 7.071221004e-07f, 7.070410782e-07f, 7.069588426e-07f, 7.068753941e-07f, 7.067907331e-07f, 7.067048598e-07f, 7.066177748e-07f, 7.065294782e-07f,
+7.064399706e-07f, 7.063492522e-07f, 7.062573236e-07f, 7.061641850e-07f, 7.060698368e-07f, 7.059742794e-07f, 7.058775132e-07f, 7.057795386e-07f, 7.056803560e-07f, 7.055799658e-07f,
+7.054783683e-07f, 7.053755640e-07f, 7.052715533e-07f, 7.051663365e-07f, 7.050599141e-07f, 7.049522864e-07f, 7.048434539e-07f, 7.047334170e-07f, 7.046221761e-07f, 7.045097316e-07f,
+7.043960839e-07f, 7.042812334e-07f, 7.041651806e-07f, 7.040479259e-07f, 7.039294696e-07f, 7.038098123e-07f, 7.036889544e-07f, 7.035668962e-07f, 7.034436382e-07f, 7.033191808e-07f,
+7.031935246e-07f, 7.030666698e-07f, 7.029386170e-07f, 7.028093665e-07f, 7.026789189e-07f, 7.025472746e-07f, 7.024144340e-07f, 7.022803976e-07f, 7.021451658e-07f, 7.020087391e-07f,
+7.018711179e-07f, 7.017323027e-07f, 7.015922939e-07f, 7.014510920e-07f, 7.013086975e-07f, 7.011651109e-07f, 7.010203325e-07f, 7.008743629e-07f, 7.007272025e-07f, 7.005788519e-07f,
+7.004293114e-07f, 7.002785816e-07f, 7.001266630e-07f, 6.999735559e-07f, 6.998192610e-07f, 6.996637786e-07f, 6.995071094e-07f, 6.993492537e-07f, 6.991902120e-07f, 6.990299849e-07f,
+6.988685728e-07f, 6.987059763e-07f, 6.985421958e-07f, 6.983772318e-07f, 6.982110849e-07f, 6.980437555e-07f, 6.978752442e-07f, 6.977055514e-07f, 6.975346776e-07f, 6.973626235e-07f,
+6.971893895e-07f, 6.970149760e-07f, 6.968393837e-07f, 6.966626130e-07f, 6.964846645e-07f, 6.963055387e-07f, 6.961252361e-07f, 6.959437573e-07f, 6.957611027e-07f, 6.955772729e-07f,
+6.953922685e-07f, 6.952060900e-07f, 6.950187378e-07f, 6.948302126e-07f, 6.946405150e-07f, 6.944496453e-07f, 6.942576042e-07f, 6.940643923e-07f, 6.938700100e-07f, 6.936744580e-07f,
+6.934777368e-07f, 6.932798468e-07f, 6.930807888e-07f, 6.928805633e-07f, 6.926791707e-07f, 6.924766118e-07f, 6.922728869e-07f, 6.920679968e-07f, 6.918619420e-07f, 6.916547230e-07f,
+6.914463404e-07f, 6.912367948e-07f, 6.910260868e-07f, 6.908142170e-07f, 6.906011859e-07f, 6.903869940e-07f, 6.901716421e-07f, 6.899551307e-07f, 6.897374603e-07f, 6.895186316e-07f,
+6.892986451e-07f, 6.890775015e-07f, 6.888552013e-07f, 6.886317452e-07f, 6.884071336e-07f, 6.881813674e-07f, 6.879544469e-07f, 6.877263729e-07f, 6.874971460e-07f, 6.872667667e-07f,
+6.870352357e-07f, 6.868025535e-07f, 6.865687209e-07f, 6.863337384e-07f, 6.860976066e-07f, 6.858603261e-07f, 6.856218976e-07f, 6.853823217e-07f, 6.851415991e-07f, 6.848997303e-07f,
+6.846567159e-07f, 6.844125567e-07f, 6.841672532e-07f, 6.839208061e-07f, 6.836732161e-07f, 6.834244836e-07f, 6.831746095e-07f, 6.829235943e-07f, 6.826714387e-07f, 6.824181433e-07f,
+6.821637088e-07f, 6.819081358e-07f, 6.816514250e-07f, 6.813935770e-07f, 6.811345926e-07f, 6.808744722e-07f, 6.806132167e-07f, 6.803508266e-07f, 6.800873027e-07f, 6.798226455e-07f,
+6.795568559e-07f, 6.792899343e-07f, 6.790218815e-07f, 6.787526983e-07f, 6.784823851e-07f, 6.782109428e-07f, 6.779383720e-07f, 6.776646734e-07f, 6.773898476e-07f, 6.771138954e-07f,
+6.768368174e-07f, 6.765586143e-07f, 6.762792868e-07f, 6.759988357e-07f, 6.757172615e-07f, 6.754345650e-07f, 6.751507469e-07f, 6.748658078e-07f, 6.745797486e-07f, 6.742925698e-07f,
+6.740042722e-07f, 6.737148565e-07f, 6.734243234e-07f, 6.731326736e-07f, 6.728399078e-07f, 6.725460267e-07f, 6.722510311e-07f, 6.719549216e-07f, 6.716576990e-07f, 6.713593640e-07f,
+6.710599174e-07f, 6.707593598e-07f, 6.704576919e-07f, 6.701549145e-07f, 6.698510284e-07f, 6.695460342e-07f, 6.692399327e-07f, 6.689327246e-07f, 6.686244107e-07f, 6.683149917e-07f,
+6.680044683e-07f, 6.676928413e-07f, 6.673801114e-07f, 6.670662793e-07f, 6.667513459e-07f, 6.664353119e-07f, 6.661181779e-07f, 6.657999448e-07f, 6.654806134e-07f, 6.651601843e-07f,
+6.648386583e-07f, 6.645160362e-07f, 6.641923188e-07f, 6.638675067e-07f, 6.635416009e-07f, 6.632146020e-07f, 6.628865108e-07f, 6.625573281e-07f, 6.622270547e-07f, 6.618956912e-07f,
+6.615632386e-07f, 6.612296976e-07f, 6.608950689e-07f, 6.605593533e-07f, 6.602225517e-07f, 6.598846647e-07f, 6.595456933e-07f, 6.592056381e-07f, 6.588645000e-07f, 6.585222798e-07f,
+6.581789782e-07f, 6.578345960e-07f, 6.574891341e-07f, 6.571425933e-07f, 6.567949742e-07f, 6.564462778e-07f, 6.560965049e-07f, 6.557456561e-07f, 6.553937325e-07f, 6.550407347e-07f,
+6.546866636e-07f, 6.543315199e-07f, 6.539753046e-07f, 6.536180183e-07f, 6.532596620e-07f, 6.529002364e-07f, 6.525397424e-07f, 6.521781808e-07f, 6.518155524e-07f, 6.514518581e-07f,
+6.510870986e-07f, 6.507212748e-07f, 6.503543875e-07f, 6.499864376e-07f, 6.496174258e-07f, 6.492473531e-07f, 6.488762203e-07f, 6.485040281e-07f, 6.481307775e-07f, 6.477564693e-07f,
+6.473811043e-07f, 6.470046834e-07f, 6.466272074e-07f, 6.462486772e-07f, 6.458690936e-07f, 6.454884575e-07f, 6.451067697e-07f, 6.447240311e-07f, 6.443402425e-07f, 6.439554048e-07f,
+6.435695189e-07f, 6.431825857e-07f, 6.427946059e-07f, 6.424055804e-07f, 6.420155102e-07f, 6.416243961e-07f, 6.412322389e-07f, 6.408390396e-07f, 6.404447990e-07f, 6.400495179e-07f,
+6.396531974e-07f, 6.392558381e-07f, 6.388574411e-07f, 6.384580072e-07f, 6.380575373e-07f, 6.376560322e-07f, 6.372534930e-07f, 6.368499203e-07f, 6.364453152e-07f, 6.360396786e-07f,
+6.356330112e-07f, 6.352253141e-07f, 6.348165881e-07f, 6.344068342e-07f, 6.339960531e-07f, 6.335842459e-07f, 6.331714134e-07f, 6.327575565e-07f, 6.323426762e-07f, 6.319267733e-07f,
+6.315098487e-07f, 6.310919035e-07f, 6.306729384e-07f, 6.302529544e-07f, 6.298319524e-07f, 6.294099333e-07f, 6.289868981e-07f, 6.285628477e-07f, 6.281377829e-07f, 6.277117048e-07f,
+6.272846143e-07f, 6.268565122e-07f, 6.264273995e-07f, 6.259972771e-07f, 6.255661460e-07f, 6.251340071e-07f, 6.247008613e-07f, 6.242667096e-07f, 6.238315530e-07f, 6.233953922e-07f,
+6.229582284e-07f, 6.225200624e-07f, 6.220808952e-07f, 6.216407277e-07f, 6.211995609e-07f, 6.207573957e-07f, 6.203142331e-07f, 6.198700741e-07f, 6.194249195e-07f, 6.189787704e-07f,
+6.185316276e-07f, 6.180834923e-07f, 6.176343652e-07f, 6.171842475e-07f, 6.167331399e-07f, 6.162810436e-07f, 6.158279595e-07f, 6.153738885e-07f, 6.149188317e-07f, 6.144627899e-07f,
+6.140057642e-07f, 6.135477556e-07f, 6.130887649e-07f, 6.126287933e-07f, 6.121678416e-07f, 6.117059109e-07f, 6.112430021e-07f, 6.107791162e-07f, 6.103142542e-07f, 6.098484171e-07f,
+6.093816059e-07f, 6.089138216e-07f, 6.084450651e-07f, 6.079753375e-07f, 6.075046398e-07f, 6.070329728e-07f, 6.065603378e-07f, 6.060867355e-07f, 6.056121671e-07f, 6.051366336e-07f,
+6.046601359e-07f, 6.041826750e-07f, 6.037042520e-07f, 6.032248679e-07f, 6.027445237e-07f, 6.022632203e-07f, 6.017809589e-07f, 6.012977403e-07f, 6.008135657e-07f, 6.003284361e-07f,
+5.998423524e-07f, 5.993553156e-07f, 5.988673269e-07f, 5.983783873e-07f, 5.978884976e-07f, 5.973976591e-07f, 5.969058726e-07f, 5.964131393e-07f, 5.959194602e-07f, 5.954248363e-07f,
+5.949292686e-07f, 5.944327581e-07f, 5.939353060e-07f, 5.934369132e-07f, 5.929375807e-07f, 5.924373097e-07f, 5.919361012e-07f, 5.914339561e-07f, 5.909308756e-07f, 5.904268607e-07f,
+5.899219125e-07f, 5.894160319e-07f, 5.889092200e-07f, 5.884014780e-07f, 5.878928068e-07f, 5.873832075e-07f, 5.868726812e-07f, 5.863612288e-07f, 5.858488516e-07f, 5.853355505e-07f,
+5.848213265e-07f, 5.843061809e-07f, 5.837901145e-07f, 5.832731286e-07f, 5.827552241e-07f, 5.822364021e-07f, 5.817166637e-07f, 5.811960100e-07f, 5.806744421e-07f, 5.801519609e-07f,
+5.796285676e-07f, 5.791042634e-07f, 5.785790491e-07f, 5.780529260e-07f, 5.775258951e-07f, 5.769979575e-07f, 5.764691142e-07f, 5.759393664e-07f, 5.754087152e-07f, 5.748771616e-07f,
+5.743447067e-07f, 5.738113517e-07f, 5.732770975e-07f, 5.727419454e-07f, 5.722058963e-07f, 5.716689515e-07f, 5.711311119e-07f, 5.705923787e-07f, 5.700527530e-07f, 5.695122360e-07f,
+5.689708286e-07f, 5.684285320e-07f, 5.678853473e-07f, 5.673412757e-07f, 5.667963181e-07f, 5.662504758e-07f, 5.657037499e-07f, 5.651561414e-07f, 5.646076515e-07f, 5.640582812e-07f,
+5.635080318e-07f, 5.629569043e-07f, 5.624048998e-07f, 5.618520195e-07f, 5.612982645e-07f, 5.607436359e-07f, 5.601881348e-07f, 5.596317624e-07f, 5.590745197e-07f, 5.585164080e-07f,
+5.579574283e-07f, 5.573975818e-07f, 5.568368697e-07f, 5.562752929e-07f, 5.557128527e-07f, 5.551495503e-07f, 5.545853867e-07f, 5.540203630e-07f, 5.534544805e-07f, 5.528877403e-07f,
+5.523201435e-07f, 5.517516913e-07f, 5.511823847e-07f, 5.506122250e-07f, 5.500412134e-07f, 5.494693508e-07f, 5.488966386e-07f, 5.483230778e-07f, 5.477486696e-07f, 5.471734151e-07f,
+5.465973156e-07f, 5.460203722e-07f, 5.454425860e-07f, 5.448639581e-07f, 5.442844898e-07f, 5.437041823e-07f, 5.431230365e-07f, 5.425410539e-07f, 5.419582354e-07f, 5.413745823e-07f,
+5.407900958e-07f, 5.402047769e-07f, 5.396186269e-07f, 5.390316470e-07f, 5.384438383e-07f, 5.378552020e-07f, 5.372657393e-07f, 5.366754513e-07f, 5.360843393e-07f, 5.354924043e-07f,
+5.348996476e-07f, 5.343060704e-07f, 5.337116739e-07f, 5.331164592e-07f, 5.325204275e-07f, 5.319235800e-07f, 5.313259179e-07f, 5.307274424e-07f, 5.301281547e-07f, 5.295280559e-07f,
+5.289271473e-07f, 5.283254301e-07f, 5.277229054e-07f, 5.271195744e-07f, 5.265154383e-07f, 5.259104984e-07f, 5.253047559e-07f, 5.246982119e-07f, 5.240908676e-07f, 5.234827242e-07f,
+5.228737830e-07f, 5.222640452e-07f, 5.216535119e-07f, 5.210421844e-07f, 5.204300638e-07f, 5.198171515e-07f, 5.192034485e-07f, 5.185889561e-07f, 5.179736756e-07f, 5.173576081e-07f,
+5.167407549e-07f, 5.161231171e-07f, 5.155046960e-07f, 5.148854928e-07f, 5.142655087e-07f, 5.136447450e-07f, 5.130232029e-07f, 5.124008836e-07f, 5.117777882e-07f, 5.111539182e-07f,
+5.105292746e-07f, 5.099038587e-07f, 5.092776717e-07f, 5.086507149e-07f, 5.080229895e-07f, 5.073944967e-07f, 5.067652378e-07f, 5.061352140e-07f, 5.055044265e-07f, 5.048728766e-07f,
+5.042405654e-07f, 5.036074944e-07f, 5.029736646e-07f, 5.023390773e-07f, 5.017037338e-07f, 5.010676354e-07f, 5.004307832e-07f, 4.997931785e-07f, 4.991548225e-07f, 4.985157166e-07f,
+4.978758619e-07f, 4.972352597e-07f, 4.965939112e-07f, 4.959518178e-07f, 4.953089806e-07f, 4.946654009e-07f, 4.940210800e-07f, 4.933760192e-07f, 4.927302196e-07f, 4.920836825e-07f,
+4.914364093e-07f, 4.907884011e-07f, 4.901396592e-07f, 4.894901850e-07f, 4.888399795e-07f, 4.881890442e-07f, 4.875373803e-07f, 4.868849890e-07f, 4.862318717e-07f, 4.855780295e-07f,
+4.849234638e-07f, 4.842681758e-07f, 4.836121669e-07f, 4.829554382e-07f, 4.822979910e-07f, 4.816398267e-07f, 4.809809465e-07f, 4.803213516e-07f, 4.796610434e-07f, 4.790000232e-07f,
+4.783382921e-07f, 4.776758516e-07f, 4.770127028e-07f, 4.763488471e-07f, 4.756842858e-07f, 4.750190201e-07f, 4.743530513e-07f, 4.736863807e-07f, 4.730190096e-07f, 4.723509393e-07f,
+4.716821711e-07f, 4.710127062e-07f, 4.703425461e-07f, 4.696716918e-07f, 4.690001448e-07f, 4.683279064e-07f, 4.676549778e-07f, 4.669813603e-07f, 4.663070552e-07f, 4.656320639e-07f,
+4.649563877e-07f, 4.642800277e-07f, 4.636029854e-07f, 4.629252621e-07f, 4.622468589e-07f, 4.615677774e-07f, 4.608880187e-07f, 4.602075841e-07f, 4.595264750e-07f, 4.588446927e-07f,
+4.581622385e-07f, 4.574791137e-07f, 4.567953195e-07f, 4.561108575e-07f, 4.554257287e-07f, 4.547399346e-07f, 4.540534764e-07f, 4.533663556e-07f, 4.526785733e-07f, 4.519901309e-07f,
+4.513010298e-07f, 4.506112712e-07f, 4.499208565e-07f, 4.492297870e-07f, 4.485380640e-07f, 4.478456889e-07f, 4.471526629e-07f, 4.464589874e-07f, 4.457646637e-07f, 4.450696932e-07f,
+4.443740771e-07f, 4.436778169e-07f, 4.429809137e-07f, 4.422833690e-07f, 4.415851841e-07f, 4.408863603e-07f, 4.401868990e-07f, 4.394868015e-07f, 4.387860691e-07f, 4.380847031e-07f,
+4.373827050e-07f, 4.366800759e-07f, 4.359768174e-07f, 4.352729306e-07f, 4.345684170e-07f, 4.338632779e-07f, 4.331575146e-07f, 4.324511285e-07f, 4.317441209e-07f, 4.310364932e-07f,
+4.303282467e-07f, 4.296193827e-07f, 4.289099026e-07f, 4.281998078e-07f, 4.274890995e-07f, 4.267777792e-07f, 4.260658482e-07f, 4.253533079e-07f, 4.246401595e-07f, 4.239264045e-07f,
+4.232120441e-07f, 4.224970799e-07f, 4.217815130e-07f, 4.210653449e-07f, 4.203485769e-07f, 4.196312104e-07f, 4.189132467e-07f, 4.181946872e-07f, 4.174755333e-07f, 4.167557862e-07f,
+4.160354475e-07f, 4.153145184e-07f, 4.145930002e-07f, 4.138708945e-07f, 4.131482024e-07f, 4.124249255e-07f, 4.117010650e-07f, 4.109766223e-07f, 4.102515989e-07f, 4.095259959e-07f,
+4.087998149e-07f, 4.080730572e-07f, 4.073457242e-07f, 4.066178172e-07f, 4.058893376e-07f, 4.051602868e-07f, 4.044306661e-07f, 4.037004770e-07f, 4.029697208e-07f, 4.022383988e-07f,
+4.015065125e-07f, 4.007740632e-07f, 4.000410524e-07f, 3.993074813e-07f, 3.985733514e-07f, 3.978386640e-07f, 3.971034206e-07f, 3.963676224e-07f, 3.956312710e-07f, 3.948943676e-07f,
+3.941569137e-07f, 3.934189106e-07f, 3.926803598e-07f, 3.919412625e-07f, 3.912016203e-07f, 3.904614344e-07f, 3.897207063e-07f, 3.889794374e-07f, 3.882376290e-07f, 3.874952825e-07f,
+3.867523994e-07f, 3.860089810e-07f, 3.852650287e-07f, 3.845205439e-07f, 3.837755279e-07f, 3.830299823e-07f, 3.822839084e-07f, 3.815373075e-07f, 3.807901811e-07f, 3.800425306e-07f,
+3.792943574e-07f, 3.785456628e-07f, 3.777964482e-07f, 3.770467152e-07f, 3.762964650e-07f, 3.755456990e-07f, 3.747944187e-07f, 3.740426255e-07f, 3.732903208e-07f, 3.725375059e-07f,
+3.717841823e-07f, 3.710303513e-07f, 3.702760145e-07f, 3.695211731e-07f, 3.687658286e-07f, 3.680099824e-07f, 3.672536359e-07f, 3.664967906e-07f, 3.657394477e-07f, 3.649816088e-07f,
+3.642232753e-07f, 3.634644484e-07f, 3.627051298e-07f, 3.619453207e-07f, 3.611850226e-07f, 3.604242369e-07f, 3.596629650e-07f, 3.589012083e-07f, 3.581389682e-07f, 3.573762462e-07f,
+3.566130437e-07f, 3.558493621e-07f, 3.550852028e-07f, 3.543205671e-07f, 3.535554567e-07f, 3.527898727e-07f, 3.520238168e-07f, 3.512572902e-07f, 3.504902945e-07f, 3.497228310e-07f,
+3.489549011e-07f, 3.481865063e-07f, 3.474176480e-07f, 3.466483277e-07f, 3.458785467e-07f, 3.451083064e-07f, 3.443376084e-07f, 3.435664539e-07f, 3.427948445e-07f, 3.420227816e-07f,
+3.412502666e-07f, 3.404773009e-07f, 3.397038859e-07f, 3.389300231e-07f, 3.381557140e-07f, 3.373809598e-07f, 3.366057622e-07f, 3.358301224e-07f, 3.350540419e-07f, 3.342775223e-07f,
+3.335005648e-07f, 3.327231709e-07f, 3.319453421e-07f, 3.311670797e-07f, 3.303883853e-07f, 3.296092603e-07f, 3.288297060e-07f, 3.280497240e-07f, 3.272693156e-07f, 3.264884823e-07f,
+3.257072256e-07f, 3.249255468e-07f, 3.241434474e-07f, 3.233609289e-07f, 3.225779927e-07f, 3.217946402e-07f, 3.210108728e-07f, 3.202266921e-07f, 3.194420994e-07f, 3.186570961e-07f,
+3.178716838e-07f, 3.170858639e-07f, 3.162996378e-07f, 3.155130069e-07f, 3.147259728e-07f, 3.139385367e-07f, 3.131507003e-07f, 3.123624649e-07f, 3.115738319e-07f, 3.107848029e-07f,
+3.099953792e-07f, 3.092055623e-07f, 3.084153537e-07f, 3.076247548e-07f, 3.068337670e-07f, 3.060423919e-07f, 3.052506307e-07f, 3.044584851e-07f, 3.036659564e-07f, 3.028730461e-07f,
+3.020797557e-07f, 3.012860865e-07f, 3.004920401e-07f, 2.996976178e-07f, 2.989028212e-07f, 2.981076517e-07f, 2.973121108e-07f, 2.965161998e-07f, 2.957199203e-07f, 2.949232737e-07f,
+2.941262614e-07f, 2.933288850e-07f, 2.925311458e-07f, 2.917330454e-07f, 2.909345851e-07f, 2.901357665e-07f, 2.893365909e-07f, 2.885370599e-07f, 2.877371749e-07f, 2.869369374e-07f,
+2.861363487e-07f, 2.853354104e-07f, 2.845341240e-07f, 2.837324908e-07f, 2.829305124e-07f, 2.821281902e-07f, 2.813255257e-07f, 2.805225203e-07f, 2.797191754e-07f, 2.789154926e-07f,
+2.781114733e-07f, 2.773071190e-07f, 2.765024311e-07f, 2.756974111e-07f, 2.748920604e-07f, 2.740863805e-07f, 2.732803729e-07f, 2.724740391e-07f, 2.716673804e-07f, 2.708603984e-07f,
+2.700530945e-07f, 2.692454702e-07f, 2.684375270e-07f, 2.676292663e-07f, 2.668206895e-07f, 2.660117982e-07f, 2.652025939e-07f, 2.643930779e-07f, 2.635832517e-07f, 2.627731168e-07f,
+2.619626747e-07f, 2.611519269e-07f, 2.603408748e-07f, 2.595295198e-07f, 2.587178635e-07f, 2.579059073e-07f, 2.570936526e-07f, 2.562811010e-07f, 2.554682540e-07f, 2.546551129e-07f,
+2.538416792e-07f, 2.530279545e-07f, 2.522139402e-07f, 2.513996377e-07f, 2.505850486e-07f, 2.497701742e-07f, 2.489550162e-07f, 2.481395758e-07f, 2.473238547e-07f, 2.465078543e-07f,
+2.456915760e-07f, 2.448750213e-07f, 2.440581917e-07f, 2.432410887e-07f, 2.424237138e-07f, 2.416060683e-07f, 2.407881539e-07f, 2.399699718e-07f, 2.391515238e-07f, 2.383328111e-07f,
+2.375138353e-07f, 2.366945978e-07f, 2.358751002e-07f, 2.350553438e-07f, 2.342353302e-07f, 2.334150609e-07f, 2.325945373e-07f, 2.317737609e-07f, 2.309527331e-07f, 2.301314555e-07f,
+2.293099295e-07f, 2.284881566e-07f, 2.276661382e-07f, 2.268438759e-07f, 2.260213711e-07f, 2.251986253e-07f, 2.243756400e-07f, 2.235524166e-07f, 2.227289567e-07f, 2.219052616e-07f,
+2.210813329e-07f, 2.202571721e-07f, 2.194327806e-07f, 2.186081598e-07f, 2.177833114e-07f, 2.169582367e-07f, 2.161329373e-07f, 2.153074146e-07f, 2.144816700e-07f, 2.136557052e-07f,
+2.128295214e-07f, 2.120031203e-07f, 2.111765033e-07f, 2.103496719e-07f, 2.095226275e-07f, 2.086953717e-07f, 2.078679058e-07f, 2.070402315e-07f, 2.062123501e-07f, 2.053842632e-07f,
+2.045559722e-07f, 2.037274786e-07f, 2.028987839e-07f, 2.020698895e-07f, 2.012407970e-07f, 2.004115078e-07f, 1.995820234e-07f, 1.987523453e-07f, 1.979224750e-07f, 1.970924138e-07f,
+1.962621634e-07f, 1.954317252e-07f, 1.946011007e-07f, 1.937702913e-07f, 1.929392986e-07f, 1.921081239e-07f, 1.912767689e-07f, 1.904452349e-07f, 1.896135235e-07f, 1.887816361e-07f,
+1.879495743e-07f, 1.871173394e-07f, 1.862849330e-07f, 1.854523565e-07f, 1.846196115e-07f, 1.837866994e-07f, 1.829536217e-07f, 1.821203798e-07f, 1.812869753e-07f, 1.804534096e-07f,
+1.796196843e-07f, 1.787858007e-07f, 1.779517604e-07f, 1.771175648e-07f, 1.762832155e-07f, 1.754487139e-07f, 1.746140615e-07f, 1.737792598e-07f, 1.729443102e-07f, 1.721092142e-07f,
+1.712739733e-07f, 1.704385891e-07f, 1.696030629e-07f, 1.687673962e-07f, 1.679315906e-07f, 1.670956475e-07f, 1.662595684e-07f, 1.654233547e-07f, 1.645870080e-07f, 1.637505298e-07f,
+1.629139214e-07f, 1.620771844e-07f, 1.612403203e-07f, 1.604033306e-07f, 1.595662166e-07f, 1.587289800e-07f, 1.578916222e-07f, 1.570541446e-07f, 1.562165488e-07f, 1.553788361e-07f,
+1.545410082e-07f, 1.537030665e-07f, 1.528650124e-07f, 1.520268475e-07f, 1.511885732e-07f, 1.503501909e-07f, 1.495117023e-07f, 1.486731087e-07f, 1.478344116e-07f, 1.469956125e-07f,
+1.461567130e-07f, 1.453177144e-07f, 1.444786182e-07f, 1.436394260e-07f, 1.428001391e-07f, 1.419607591e-07f, 1.411212875e-07f, 1.402817257e-07f, 1.394420753e-07f, 1.386023376e-07f,
+1.377625141e-07f, 1.369226065e-07f, 1.360826160e-07f, 1.352425442e-07f, 1.344023926e-07f, 1.335621627e-07f, 1.327218558e-07f, 1.318814736e-07f, 1.310410174e-07f, 1.302004888e-07f,
+1.293598892e-07f, 1.285192202e-07f, 1.276784831e-07f, 1.268376794e-07f, 1.259968107e-07f, 1.251558784e-07f, 1.243148840e-07f, 1.234738289e-07f, 1.226327146e-07f, 1.217915427e-07f,
+1.209503145e-07f, 1.201090316e-07f, 1.192676954e-07f, 1.184263074e-07f, 1.175848690e-07f, 1.167433818e-07f, 1.159018473e-07f, 1.150602668e-07f, 1.142186419e-07f, 1.133769740e-07f,
+1.125352646e-07f, 1.116935152e-07f, 1.108517273e-07f, 1.100099023e-07f, 1.091680417e-07f, 1.083261469e-07f, 1.074842195e-07f, 1.066422609e-07f, 1.058002725e-07f, 1.049582560e-07f,
+1.041162126e-07f, 1.032741439e-07f, 1.024320514e-07f, 1.015899365e-07f, 1.007478008e-07f, 9.990564554e-08f, 9.906347236e-08f, 9.822128268e-08f, 9.737907798e-08f, 9.653685972e-08f,
+9.569462937e-08f, 9.485238840e-08f, 9.401013827e-08f, 9.316788045e-08f, 9.232561641e-08f, 9.148334762e-08f, 9.064107553e-08f, 8.979880163e-08f, 8.895652736e-08f, 8.811425421e-08f,
+8.727198362e-08f, 8.642971708e-08f, 8.558745604e-08f, 8.474520197e-08f, 8.390295633e-08f, 8.306072058e-08f, 8.221849620e-08f, 8.137628464e-08f, 8.053408736e-08f, 7.969190583e-08f,
+7.884974151e-08f, 7.800759587e-08f, 7.716547036e-08f, 7.632336644e-08f, 7.548128559e-08f, 7.463922925e-08f, 7.379719889e-08f, 7.295519597e-08f, 7.211322194e-08f, 7.127127828e-08f,
+7.042936643e-08f, 6.958748786e-08f, 6.874564403e-08f, 6.790383639e-08f, 6.706206640e-08f, 6.622033552e-08f, 6.537864521e-08f, 6.453699692e-08f, 6.369539211e-08f, 6.285383223e-08f,
+6.201231875e-08f, 6.117085312e-08f, 6.032943679e-08f, 5.948807121e-08f, 5.864675785e-08f, 5.780549816e-08f, 5.696429359e-08f, 5.612314559e-08f, 5.528205562e-08f, 5.444102512e-08f,
+5.360005556e-08f, 5.275914838e-08f, 5.191830504e-08f, 5.107752699e-08f, 5.023681567e-08f, 4.939617254e-08f, 4.855559905e-08f, 4.771509664e-08f, 4.687466678e-08f, 4.603431089e-08f,
+4.519403045e-08f, 4.435382688e-08f, 4.351370164e-08f, 4.267365619e-08f, 4.183369195e-08f, 4.099381039e-08f, 4.015401294e-08f, 3.931430105e-08f, 3.847467617e-08f, 3.763513975e-08f,
+3.679569322e-08f, 3.595633803e-08f, 3.511707562e-08f, 3.427790744e-08f, 3.343883493e-08f, 3.259985954e-08f, 3.176098269e-08f, 3.092220584e-08f, 3.008353043e-08f, 2.924495789e-08f,
+2.840648967e-08f, 2.756812721e-08f, 2.672987194e-08f, 2.589172531e-08f, 2.505368874e-08f, 2.421576369e-08f, 2.337795159e-08f, 2.254025386e-08f, 2.170267196e-08f, 2.086520732e-08f,
+2.002786137e-08f, 1.919063554e-08f, 1.835353127e-08f, 1.751655000e-08f, 1.667969316e-08f, 1.584296218e-08f, 1.500635850e-08f, 1.416988354e-08f, 1.333353874e-08f, 1.249732553e-08f,
+1.166124533e-08f, 1.082529959e-08f, 9.989489731e-09f, 9.153817177e-09f, 8.318283361e-09f, 7.482889710e-09f, 6.647637653e-09f, 5.812528615e-09f, 4.977564024e-09f, 4.142745306e-09f,
+3.308073886e-09f, 2.473551189e-09f, 1.639178640e-09f, 8.049576632e-10f, -2.911031848e-11f, -8.630238820e-10f, -1.696781605e-09f, -2.530382066e-09f, -3.363823842e-09f, -4.197105514e-09f,
+-5.030225662e-09f, -5.863182865e-09f, -6.695975704e-09f, -7.528602761e-09f, -8.361062618e-09f, -9.193353857e-09f, -1.002547506e-08f, -1.085742481e-08f, -1.168920170e-08f, -1.252080430e-08f,
+-1.335223121e-08f, -1.418348101e-08f, -1.501455228e-08f, -1.584544361e-08f, -1.667615360e-08f, -1.750668082e-08f, -1.833702387e-08f, -1.916718133e-08f, -1.999715180e-08f, -2.082693387e-08f,
+-2.165652612e-08f, -2.248592716e-08f, -2.331513557e-08f, -2.414414994e-08f, -2.497296887e-08f, -2.580159095e-08f, -2.663001477e-08f, -2.745823894e-08f, -2.828626205e-08f, -2.911408269e-08f,
+-2.994169947e-08f, -3.076911097e-08f, -3.159631580e-08f, -3.242331256e-08f, -3.325009984e-08f, -3.407667625e-08f, -3.490304038e-08f, -3.572919085e-08f, -3.655512624e-08f, -3.738084517e-08f,
+-3.820634623e-08f, -3.903162804e-08f, -3.985668919e-08f, -4.068152829e-08f, -4.150614395e-08f, -4.233053477e-08f, -4.315469936e-08f, -4.397863632e-08f, -4.480234428e-08f, -4.562582183e-08f,
+-4.644906759e-08f, -4.727208016e-08f, -4.809485816e-08f, -4.891740020e-08f, -4.973970489e-08f, -5.056177084e-08f, -5.138359667e-08f, -5.220518100e-08f, -5.302652243e-08f, -5.384761959e-08f,
+-5.466847109e-08f, -5.548907555e-08f, -5.630943158e-08f, -5.712953781e-08f, -5.794939285e-08f, -5.876899532e-08f, -5.958834385e-08f, -6.040743706e-08f, -6.122627356e-08f, -6.204485198e-08f,
+-6.286317095e-08f, -6.368122908e-08f, -6.449902501e-08f, -6.531655735e-08f, -6.613382475e-08f, -6.695082581e-08f, -6.776755917e-08f, -6.858402346e-08f, -6.940021731e-08f, -7.021613935e-08f,
+-7.103178820e-08f, -7.184716251e-08f, -7.266226089e-08f, -7.347708199e-08f, -7.429162444e-08f, -7.510588687e-08f, -7.591986792e-08f, -7.673356622e-08f, -7.754698041e-08f, -7.836010913e-08f,
+-7.917295101e-08f, -7.998550470e-08f, -8.079776883e-08f, -8.160974204e-08f, -8.242142298e-08f, -8.323281029e-08f, -8.404390260e-08f, -8.485469857e-08f, -8.566519683e-08f, -8.647539604e-08f,
+-8.728529483e-08f, -8.809489186e-08f, -8.890418577e-08f, -8.971317520e-08f, -9.052185882e-08f, -9.133023526e-08f, -9.213830318e-08f, -9.294606122e-08f, -9.375350805e-08f, -9.456064231e-08f,
+-9.536746266e-08f, -9.617396775e-08f, -9.698015623e-08f, -9.778602677e-08f, -9.859157802e-08f, -9.939680863e-08f, -1.002017173e-07f, -1.010063026e-07f, -1.018105633e-07f, -1.026144979e-07f,
+-1.034181053e-07f, -1.042213839e-07f, -1.050243326e-07f, -1.058269499e-07f, -1.066292345e-07f, -1.074311851e-07f, -1.082328004e-07f, -1.090340790e-07f, -1.098350196e-07f, -1.106356208e-07f,
+-1.114358814e-07f, -1.122357999e-07f, -1.130353752e-07f, -1.138346057e-07f, -1.146334903e-07f, -1.154320276e-07f, -1.162302162e-07f, -1.170280549e-07f, -1.178255423e-07f, -1.186226771e-07f,
+-1.194194580e-07f, -1.202158836e-07f, -1.210119526e-07f, -1.218076638e-07f, -1.226030157e-07f, -1.233980071e-07f, -1.241926367e-07f, -1.249869031e-07f, -1.257808051e-07f, -1.265743413e-07f,
+-1.273675104e-07f, -1.281603110e-07f, -1.289527420e-07f, -1.297448019e-07f, -1.305364895e-07f, -1.313278034e-07f, -1.321187424e-07f, -1.329093051e-07f, -1.336994902e-07f, -1.344892965e-07f,
+-1.352787226e-07f, -1.360677672e-07f, -1.368564290e-07f, -1.376447068e-07f, -1.384325991e-07f, -1.392201048e-07f, -1.400072225e-07f, -1.407939509e-07f, -1.415802887e-07f, -1.423662347e-07f,
+-1.431517875e-07f, -1.439369458e-07f, -1.447217084e-07f, -1.455060739e-07f, -1.462900411e-07f, -1.470736087e-07f, -1.478567753e-07f, -1.486395398e-07f, -1.494219007e-07f, -1.502038569e-07f,
+-1.509854070e-07f, -1.517665498e-07f, -1.525472839e-07f, -1.533276081e-07f, -1.541075211e-07f, -1.548870216e-07f, -1.556661084e-07f, -1.564447801e-07f, -1.572230355e-07f, -1.580008733e-07f,
+-1.587782923e-07f, -1.595552911e-07f, -1.603318685e-07f, -1.611080232e-07f, -1.618837539e-07f, -1.626590594e-07f, -1.634339384e-07f, -1.642083896e-07f, -1.649824118e-07f, -1.657560037e-07f,
+-1.665291640e-07f, -1.673018914e-07f, -1.680741848e-07f, -1.688460428e-07f, -1.696174641e-07f, -1.703884476e-07f, -1.711589919e-07f, -1.719290958e-07f, -1.726987580e-07f, -1.734679773e-07f,
+-1.742367524e-07f, -1.750050821e-07f, -1.757729651e-07f, -1.765404001e-07f, -1.773073860e-07f, -1.780739214e-07f, -1.788400051e-07f, -1.796056358e-07f, -1.803708124e-07f, -1.811355335e-07f,
+-1.818997979e-07f, -1.826636044e-07f, -1.834269517e-07f, -1.841898385e-07f, -1.849522637e-07f, -1.857142261e-07f, -1.864757242e-07f, -1.872367570e-07f, -1.879973231e-07f, -1.887574214e-07f,
+-1.895170506e-07f, -1.902762095e-07f, -1.910348968e-07f, -1.917931113e-07f, -1.925508518e-07f, -1.933081170e-07f, -1.940649058e-07f, -1.948212168e-07f, -1.955770489e-07f, -1.963324008e-07f,
+-1.970872713e-07f, -1.978416592e-07f, -1.985955633e-07f, -1.993489822e-07f, -2.001019149e-07f, -2.008543601e-07f, -2.016063166e-07f, -2.023577832e-07f, -2.031087585e-07f, -2.038592415e-07f,
+-2.046092310e-07f, -2.053587256e-07f, -2.061077242e-07f, -2.068562256e-07f, -2.076042285e-07f, -2.083517318e-07f, -2.090987342e-07f, -2.098452346e-07f, -2.105912317e-07f, -2.113367244e-07f,
+-2.120817114e-07f, -2.128261915e-07f, -2.135701635e-07f, -2.143136263e-07f, -2.150565785e-07f, -2.157990191e-07f, -2.165409469e-07f, -2.172823605e-07f, -2.180232589e-07f, -2.187636409e-07f,
+-2.195035052e-07f, -2.202428506e-07f, -2.209816761e-07f, -2.217199803e-07f, -2.224577621e-07f, -2.231950203e-07f, -2.239317538e-07f, -2.246679613e-07f, -2.254036416e-07f, -2.261387936e-07f,
+-2.268734161e-07f, -2.276075079e-07f, -2.283410678e-07f, -2.290740947e-07f, -2.298065874e-07f, -2.305385447e-07f, -2.312699654e-07f, -2.320008483e-07f, -2.327311924e-07f, -2.334609963e-07f,
+-2.341902590e-07f, -2.349189793e-07f, -2.356471560e-07f, -2.363747879e-07f, -2.371018739e-07f, -2.378284128e-07f, -2.385544035e-07f, -2.392798447e-07f, -2.400047354e-07f, -2.407290744e-07f,
+-2.414528604e-07f, -2.421760924e-07f, -2.428987693e-07f, -2.436208897e-07f, -2.443424527e-07f, -2.450634569e-07f, -2.457839014e-07f, -2.465037849e-07f, -2.472231063e-07f, -2.479418645e-07f,
+-2.486600582e-07f, -2.493776864e-07f, -2.500947480e-07f, -2.508112416e-07f, -2.515271663e-07f, -2.522425209e-07f, -2.529573043e-07f, -2.536715152e-07f, -2.543851526e-07f, -2.550982154e-07f,
+-2.558107023e-07f, -2.565226123e-07f, -2.572339443e-07f, -2.579446971e-07f, -2.586548695e-07f, -2.593644605e-07f, -2.600734690e-07f, -2.607818937e-07f, -2.614897336e-07f, -2.621969875e-07f,
+-2.629036544e-07f, -2.636097331e-07f, -2.643152225e-07f, -2.650201215e-07f, -2.657244289e-07f, -2.664281436e-07f, -2.671312646e-07f, -2.678337907e-07f, -2.685357208e-07f, -2.692370537e-07f,
+-2.699377885e-07f, -2.706379239e-07f, -2.713374589e-07f, -2.720363924e-07f, -2.727347232e-07f, -2.734324503e-07f, -2.741295725e-07f, -2.748260887e-07f, -2.755219980e-07f, -2.762172990e-07f,
+-2.769119908e-07f, -2.776060723e-07f, -2.782995424e-07f, -2.789923999e-07f, -2.796846438e-07f, -2.803762730e-07f, -2.810672864e-07f, -2.817576829e-07f, -2.824474614e-07f, -2.831366209e-07f,
+-2.838251602e-07f, -2.845130783e-07f, -2.852003741e-07f, -2.858870465e-07f, -2.865730945e-07f, -2.872585169e-07f, -2.879433126e-07f, -2.886274807e-07f, -2.893110200e-07f, -2.899939295e-07f,
+-2.906762081e-07f, -2.913578546e-07f, -2.920388681e-07f, -2.927192475e-07f, -2.933989918e-07f, -2.940780997e-07f, -2.947565704e-07f, -2.954344027e-07f, -2.961115955e-07f, -2.967881479e-07f,
+-2.974640586e-07f, -2.981393268e-07f, -2.988139514e-07f, -2.994879311e-07f, -3.001612652e-07f, -3.008339524e-07f, -3.015059917e-07f, -3.021773821e-07f, -3.028481225e-07f, -3.035182119e-07f,
+-3.041876493e-07f, -3.048564335e-07f, -3.055245636e-07f, -3.061920385e-07f, -3.068588572e-07f, -3.075250186e-07f, -3.081905217e-07f, -3.088553655e-07f, -3.095195489e-07f, -3.101830709e-07f,
+-3.108459304e-07f, -3.115081265e-07f, -3.121696581e-07f, -3.128305241e-07f, -3.134907236e-07f, -3.141502556e-07f, -3.148091189e-07f, -3.154673126e-07f, -3.161248357e-07f, -3.167816871e-07f,
+-3.174378658e-07f, -3.180933708e-07f, -3.187482011e-07f, -3.194023557e-07f, -3.200558336e-07f, -3.207086337e-07f, -3.213607550e-07f, -3.220121966e-07f, -3.226629574e-07f, -3.233130364e-07f,
+-3.239624327e-07f, -3.246111451e-07f, -3.252591728e-07f, -3.259065147e-07f, -3.265531697e-07f, -3.271991370e-07f, -3.278444156e-07f, -3.284890043e-07f, -3.291329023e-07f, -3.297761085e-07f,
+-3.304186219e-07f, -3.310604416e-07f, -3.317015666e-07f, -3.323419959e-07f, -3.329817285e-07f, -3.336207633e-07f, -3.342590996e-07f, -3.348967361e-07f, -3.355336721e-07f, -3.361699064e-07f,
+-3.368054382e-07f, -3.374402664e-07f, -3.380743901e-07f, -3.387078083e-07f, -3.393405200e-07f, -3.399725242e-07f, -3.406038201e-07f, -3.412344065e-07f, -3.418642827e-07f, -3.424934475e-07f,
+-3.431219001e-07f, -3.437496394e-07f, -3.443766645e-07f, -3.450029745e-07f, -3.456285684e-07f, -3.462534453e-07f, -3.468776041e-07f, -3.475010439e-07f, -3.481237639e-07f, -3.487457629e-07f,
+-3.493670402e-07f, -3.499875947e-07f, -3.506074255e-07f, -3.512265316e-07f, -3.518449122e-07f, -3.524625662e-07f, -3.530794927e-07f, -3.536956909e-07f, -3.543111597e-07f, -3.549258982e-07f,
+-3.555399055e-07f, -3.561531806e-07f, -3.567657227e-07f, -3.573775307e-07f, -3.579886038e-07f, -3.585989411e-07f, -3.592085416e-07f, -3.598174043e-07f, -3.604255284e-07f, -3.610329130e-07f,
+-3.616395571e-07f, -3.622454598e-07f, -3.628506202e-07f, -3.634550374e-07f, -3.640587104e-07f, -3.646616384e-07f, -3.652638204e-07f, -3.658652556e-07f, -3.664659430e-07f, -3.670658817e-07f,
+-3.676650708e-07f, -3.682635094e-07f, -3.688611967e-07f, -3.694581316e-07f, -3.700543134e-07f, -3.706497411e-07f, -3.712444138e-07f, -3.718383306e-07f, -3.724314907e-07f, -3.730238931e-07f,
+-3.736155369e-07f, -3.742064214e-07f, -3.747965455e-07f, -3.753859083e-07f, -3.759745091e-07f, -3.765623469e-07f, -3.771494209e-07f, -3.777357301e-07f, -3.783212738e-07f, -3.789060509e-07f,
+-3.794900606e-07f, -3.800733022e-07f, -3.806557746e-07f, -3.812374770e-07f, -3.818184086e-07f, -3.823985685e-07f, -3.829779558e-07f, -3.835565696e-07f, -3.841344092e-07f, -3.847114735e-07f,
+-3.852877619e-07f, -3.858632733e-07f, -3.864380070e-07f, -3.870119622e-07f, -3.875851378e-07f, -3.881575332e-07f, -3.887291474e-07f, -3.892999796e-07f, -3.898700289e-07f, -3.904392946e-07f,
+-3.910077757e-07f, -3.915754714e-07f, -3.921423809e-07f, -3.927085033e-07f, -3.932738378e-07f, -3.938383836e-07f, -3.944021398e-07f, -3.949651056e-07f, -3.955272801e-07f, -3.960886626e-07f,
+-3.966492522e-07f, -3.972090480e-07f, -3.977680493e-07f, -3.983262552e-07f, -3.988836649e-07f, -3.994402775e-07f, -3.999960924e-07f, -4.005511085e-07f, -4.011053252e-07f, -4.016587415e-07f,
+-4.022113568e-07f, -4.027631701e-07f, -4.033141807e-07f, -4.038643878e-07f, -4.044137905e-07f, -4.049623880e-07f, -4.055101796e-07f, -4.060571645e-07f, -4.066033417e-07f, -4.071487106e-07f,
+-4.076932703e-07f, -4.082370201e-07f, -4.087799591e-07f, -4.093220865e-07f, -4.098634017e-07f, -4.104039036e-07f, -4.109435917e-07f, -4.114824650e-07f, -4.120205229e-07f, -4.125577645e-07f,
+-4.130941890e-07f, -4.136297957e-07f, -4.141645837e-07f, -4.146985524e-07f, -4.152317009e-07f, -4.157640284e-07f, -4.162955342e-07f, -4.168262175e-07f, -4.173560775e-07f, -4.178851135e-07f,
+-4.184133247e-07f, -4.189407104e-07f, -4.194672697e-07f, -4.199930019e-07f, -4.205179062e-07f, -4.210419820e-07f, -4.215652283e-07f, -4.220876446e-07f, -4.226092300e-07f, -4.231299837e-07f,
+-4.236499050e-07f, -4.241689933e-07f, -4.246872476e-07f, -4.252046673e-07f, -4.257212517e-07f, -4.262369999e-07f, -4.267519113e-07f, -4.272659850e-07f, -4.277792205e-07f, -4.282916168e-07f,
+-4.288031734e-07f, -4.293138894e-07f, -4.298237642e-07f, -4.303327969e-07f, -4.308409869e-07f, -4.313483335e-07f, -4.318548358e-07f, -4.323604933e-07f, -4.328653051e-07f, -4.333692706e-07f,
+-4.338723890e-07f, -4.343746597e-07f, -4.348760818e-07f, -4.353766547e-07f, -4.358763777e-07f, -4.363752500e-07f, -4.368732710e-07f, -4.373704399e-07f, -4.378667561e-07f, -4.383622188e-07f,
+-4.388568273e-07f, -4.393505810e-07f, -4.398434791e-07f, -4.403355209e-07f, -4.408267057e-07f, -4.413170329e-07f, -4.418065018e-07f, -4.422951115e-07f, -4.427828616e-07f, -4.432697512e-07f,
+-4.437557797e-07f, -4.442409464e-07f, -4.447252507e-07f, -4.452086917e-07f, -4.456912690e-07f, -4.461729817e-07f, -4.466538292e-07f, -4.471338108e-07f, -4.476129259e-07f, -4.480911738e-07f,
+-4.485685538e-07f, -4.490450653e-07f, -4.495207075e-07f, -4.499954798e-07f, -4.504693816e-07f, -4.509424121e-07f, -4.514145708e-07f, -4.518858569e-07f, -4.523562699e-07f, -4.528258090e-07f,
+-4.532944736e-07f, -4.537622630e-07f, -4.542291767e-07f, -4.546952139e-07f, -4.551603740e-07f, -4.556246563e-07f, -4.560880603e-07f, -4.565505852e-07f, -4.570122304e-07f, -4.574729954e-07f,
+-4.579328793e-07f, -4.583918817e-07f, -4.588500019e-07f, -4.593072393e-07f, -4.597635931e-07f, -4.602190628e-07f, -4.606736478e-07f, -4.611273475e-07f, -4.615801611e-07f, -4.620320881e-07f,
+-4.624831279e-07f, -4.629332798e-07f, -4.633825433e-07f, -4.638309177e-07f, -4.642784024e-07f, -4.647249967e-07f, -4.651707002e-07f, -4.656155121e-07f, -4.660594319e-07f, -4.665024589e-07f,
+-4.669445926e-07f, -4.673858323e-07f, -4.678261775e-07f, -4.682656275e-07f, -4.687041818e-07f, -4.691418397e-07f, -4.695786007e-07f, -4.700144641e-07f, -4.704494295e-07f, -4.708834961e-07f,
+-4.713166634e-07f, -4.717489308e-07f, -4.721802978e-07f, -4.726107637e-07f, -4.730403280e-07f, -4.734689900e-07f, -4.738967493e-07f, -4.743236052e-07f, -4.747495572e-07f, -4.751746046e-07f,
+-4.755987470e-07f, -4.760219837e-07f, -4.764443142e-07f, -4.768657379e-07f, -4.772862543e-07f, -4.777058628e-07f, -4.781245628e-07f, -4.785423537e-07f, -4.789592351e-07f, -4.793752063e-07f,
+-4.797902669e-07f, -4.802044161e-07f, -4.806176536e-07f, -4.810299788e-07f, -4.814413910e-07f, -4.818518898e-07f, -4.822614746e-07f, -4.826701449e-07f, -4.830779002e-07f, -4.834847398e-07f,
+-4.838906633e-07f, -4.842956701e-07f, -4.846997597e-07f, -4.851029315e-07f, -4.855051851e-07f, -4.859065199e-07f, -4.863069354e-07f, -4.867064310e-07f, -4.871050062e-07f, -4.875026605e-07f,
+-4.878993935e-07f, -4.882952045e-07f, -4.886900930e-07f, -4.890840586e-07f, -4.894771006e-07f, -4.898692188e-07f, -4.902604124e-07f, -4.906506809e-07f, -4.910400240e-07f, -4.914284411e-07f,
+-4.918159316e-07f, -4.922024952e-07f, -4.925881311e-07f, -4.929728391e-07f, -4.933566186e-07f, -4.937394690e-07f, -4.941213900e-07f, -4.945023810e-07f, -4.948824414e-07f, -4.952615709e-07f,
+-4.956397690e-07f, -4.960170351e-07f, -4.963933688e-07f, -4.967687696e-07f, -4.971432370e-07f, -4.975167706e-07f, -4.978893698e-07f, -4.982610342e-07f, -4.986317633e-07f, -4.990015567e-07f,
+-4.993704139e-07f, -4.997383344e-07f, -5.001053177e-07f, -5.004713634e-07f, -5.008364711e-07f, -5.012006402e-07f, -5.015638703e-07f, -5.019261610e-07f, -5.022875118e-07f, -5.026479222e-07f,
+-5.030073918e-07f, -5.033659201e-07f, -5.037235068e-07f, -5.040801513e-07f, -5.044358531e-07f, -5.047906120e-07f, -5.051444274e-07f, -5.054972988e-07f, -5.058492259e-07f, -5.062002082e-07f,
+-5.065502453e-07f, -5.068993368e-07f, -5.072474821e-07f, -5.075946809e-07f, -5.079409328e-07f, -5.082862373e-07f, -5.086305940e-07f, -5.089740025e-07f, -5.093164623e-07f, -5.096579731e-07f,
+-5.099985345e-07f, -5.103381459e-07f, -5.106768070e-07f, -5.110145175e-07f, -5.113512768e-07f, -5.116870846e-07f, -5.120219404e-07f, -5.123558439e-07f, -5.126887947e-07f, -5.130207923e-07f,
+-5.133518364e-07f, -5.136819265e-07f, -5.140110623e-07f, -5.143392434e-07f, -5.146664693e-07f, -5.149927397e-07f, -5.153180543e-07f, -5.156424125e-07f, -5.159658140e-07f, -5.162882585e-07f,
+-5.166097456e-07f, -5.169302748e-07f, -5.172498459e-07f, -5.175684583e-07f, -5.178861118e-07f, -5.182028060e-07f, -5.185185405e-07f, -5.188333149e-07f, -5.191471289e-07f, -5.194599820e-07f,
+-5.197718741e-07f, -5.200828045e-07f, -5.203927731e-07f, -5.207017795e-07f, -5.210098232e-07f, -5.213169040e-07f, -5.216230214e-07f, -5.219281752e-07f, -5.222323650e-07f, -5.225355904e-07f,
+-5.228378510e-07f, -5.231391467e-07f, -5.234394769e-07f, -5.237388413e-07f, -5.240372397e-07f, -5.243346717e-07f, -5.246311369e-07f, -5.249266349e-07f, -5.252211656e-07f, -5.255147285e-07f,
+-5.258073233e-07f, -5.260989497e-07f, -5.263896073e-07f, -5.266792959e-07f, -5.269680151e-07f, -5.272557646e-07f, -5.275425440e-07f, -5.278283531e-07f, -5.281131915e-07f, -5.283970589e-07f,
+-5.286799551e-07f, -5.289618796e-07f, -5.292428323e-07f, -5.295228127e-07f, -5.298018206e-07f, -5.300798556e-07f, -5.303569176e-07f, -5.306330061e-07f, -5.309081209e-07f, -5.311822616e-07f,
+-5.314554281e-07f, -5.317276199e-07f, -5.319988368e-07f, -5.322690786e-07f, -5.325383448e-07f, -5.328066353e-07f, -5.330739498e-07f, -5.333402879e-07f, -5.336056494e-07f, -5.338700340e-07f,
+-5.341334415e-07f, -5.343958715e-07f, -5.346573238e-07f, -5.349177981e-07f, -5.351772941e-07f, -5.354358117e-07f, -5.356933504e-07f, -5.359499101e-07f, -5.362054904e-07f, -5.364600912e-07f,
+-5.367137121e-07f, -5.369663529e-07f, -5.372180134e-07f, -5.374686933e-07f, -5.377183923e-07f, -5.379671101e-07f, -5.382148467e-07f, -5.384616016e-07f, -5.387073746e-07f, -5.389521656e-07f,
+-5.391959742e-07f, -5.394388003e-07f, -5.396806435e-07f, -5.399215036e-07f, -5.401613805e-07f, -5.404002739e-07f, -5.406381835e-07f, -5.408751091e-07f, -5.411110505e-07f, -5.413460074e-07f,
+-5.415799797e-07f, -5.418129671e-07f, -5.420449694e-07f, -5.422759864e-07f, -5.425060178e-07f, -5.427350635e-07f, -5.429631232e-07f, -5.431901967e-07f, -5.434162838e-07f, -5.436413843e-07f,
+-5.438654980e-07f, -5.440886247e-07f, -5.443107642e-07f, -5.445319163e-07f, -5.447520807e-07f, -5.449712573e-07f, -5.451894459e-07f, -5.454066463e-07f, -5.456228583e-07f, -5.458380816e-07f,
+-5.460523163e-07f, -5.462655619e-07f, -5.464778184e-07f, -5.466890855e-07f, -5.468993631e-07f, -5.471086511e-07f, -5.473169491e-07f, -5.475242571e-07f, -5.477305748e-07f, -5.479359022e-07f,
+-5.481402390e-07f, -5.483435850e-07f, -5.485459401e-07f, -5.487473041e-07f, -5.489476769e-07f, -5.491470583e-07f, -5.493454481e-07f, -5.495428461e-07f, -5.497392523e-07f, -5.499346664e-07f,
+-5.501290884e-07f, -5.503225180e-07f, -5.505149551e-07f, -5.507063995e-07f, -5.508968512e-07f, -5.510863099e-07f, -5.512747755e-07f, -5.514622479e-07f, -5.516487269e-07f, -5.518342124e-07f,
+-5.520187043e-07f, -5.522022024e-07f, -5.523847066e-07f, -5.525662168e-07f, -5.527467328e-07f, -5.529262545e-07f, -5.531047817e-07f, -5.532823145e-07f, -5.534588525e-07f, -5.536343958e-07f,
+-5.538089441e-07f, -5.539824975e-07f, -5.541550557e-07f, -5.543266186e-07f, -5.544971862e-07f, -5.546667583e-07f, -5.548353348e-07f, -5.550029156e-07f, -5.551695006e-07f, -5.553350897e-07f,
+-5.554996828e-07f, -5.556632798e-07f, -5.558258807e-07f, -5.559874852e-07f, -5.561480933e-07f, -5.563077050e-07f, -5.564663201e-07f, -5.566239385e-07f, -5.567805601e-07f, -5.569361850e-07f,
+-5.570908129e-07f, -5.572444438e-07f, -5.573970777e-07f, -5.575487143e-07f, -5.576993538e-07f, -5.578489959e-07f, -5.579976407e-07f, -5.581452880e-07f, -5.582919377e-07f, -5.584375899e-07f,
+-5.585822444e-07f, -5.587259012e-07f, -5.588685602e-07f, -5.590102214e-07f, -5.591508846e-07f, -5.592905499e-07f, -5.594292172e-07f, -5.595668864e-07f, -5.597035574e-07f, -5.598392303e-07f,
+-5.599739050e-07f, -5.601075814e-07f, -5.602402594e-07f, -5.603719392e-07f, -5.605026205e-07f, -5.606323033e-07f, -5.607609877e-07f, -5.608886736e-07f, -5.610153609e-07f, -5.611410496e-07f,
+-5.612657397e-07f, -5.613894312e-07f, -5.615121240e-07f, -5.616338181e-07f, -5.617545134e-07f, -5.618742100e-07f, -5.619929079e-07f, -5.621106069e-07f, -5.622273072e-07f, -5.623430086e-07f,
+-5.624577112e-07f, -5.625714150e-07f, -5.626841199e-07f, -5.627958259e-07f, -5.629065331e-07f, -5.630162414e-07f, -5.631249508e-07f, -5.632326613e-07f, -5.633393729e-07f, -5.634450857e-07f,
+-5.635497996e-07f, -5.636535146e-07f, -5.637562307e-07f, -5.638579480e-07f, -5.639586665e-07f, -5.640583861e-07f, -5.641571069e-07f, -5.642548289e-07f, -5.643515521e-07f, -5.644472766e-07f,
+-5.645420023e-07f, -5.646357292e-07f, -5.647284575e-07f, -5.648201871e-07f, -5.649109181e-07f, -5.650006505e-07f, -5.650893842e-07f, -5.651771194e-07f, -5.652638562e-07f, -5.653495944e-07f,
+-5.654343342e-07f, -5.655180756e-07f, -5.656008186e-07f, -5.656825633e-07f, -5.657633098e-07f, -5.658430580e-07f, -5.659218081e-07f, -5.659995600e-07f, -5.660763139e-07f, -5.661520697e-07f,
+-5.662268276e-07f, -5.663005876e-07f, -5.663733497e-07f, -5.664451141e-07f, -5.665158807e-07f, -5.665856497e-07f, -5.666544211e-07f, -5.667221950e-07f, -5.667889714e-07f, -5.668547504e-07f,
+-5.669195321e-07f, -5.669833166e-07f, -5.670461040e-07f, -5.671078942e-07f, -5.671686875e-07f, -5.672284838e-07f, -5.672872833e-07f, -5.673450861e-07f, -5.674018921e-07f, -5.674577016e-07f,
+-5.675125147e-07f, -5.675663313e-07f, -5.676191516e-07f, -5.676709758e-07f, -5.677218038e-07f, -5.677716358e-07f, -5.678204719e-07f, -5.678683122e-07f, -5.679151568e-07f, -5.679610058e-07f,
+-5.680058593e-07f, -5.680497174e-07f, -5.680925803e-07f, -5.681344480e-07f, -5.681753207e-07f, -5.682151984e-07f, -5.682540813e-07f, -5.682919696e-07f, -5.683288632e-07f, -5.683647625e-07f,
+-5.683996674e-07f, -5.684335781e-07f, -5.684664947e-07f, -5.684984174e-07f, -5.685293463e-07f, -5.685592815e-07f, -5.685882232e-07f, -5.686161715e-07f, -5.686431265e-07f, -5.686690884e-07f,
+-5.686940573e-07f, -5.687180334e-07f, -5.687410168e-07f, -5.687630076e-07f, -5.687840060e-07f, -5.688040122e-07f, -5.688230263e-07f, -5.688410485e-07f, -5.688580788e-07f, -5.688741175e-07f,
+-5.688891648e-07f, -5.689032207e-07f, -5.689162855e-07f, -5.689283593e-07f, -5.689394422e-07f, -5.689495346e-07f, -5.689586364e-07f, -5.689667479e-07f, -5.689738693e-07f, -5.689800007e-07f,
+-5.689851423e-07f, -5.689892942e-07f, -5.689924568e-07f, -5.689946301e-07f, -5.689958143e-07f, -5.689960096e-07f, -5.689952162e-07f, -5.689934343e-07f, -5.689906641e-07f, -5.689869057e-07f,
+-5.689821594e-07f, -5.689764253e-07f, -5.689697037e-07f, -5.689619947e-07f, -5.689532985e-07f, -5.689436154e-07f, -5.689329456e-07f, -5.689212891e-07f, -5.689086464e-07f, -5.688950175e-07f,
+-5.688804026e-07f, -5.688648021e-07f, -5.688482160e-07f, -5.688306447e-07f, -5.688120883e-07f, -5.687925470e-07f, -5.687720210e-07f, -5.687505107e-07f, -5.687280162e-07f, -5.687045376e-07f,
+-5.686800754e-07f, -5.686546296e-07f, -5.686282006e-07f, -5.686007884e-07f, -5.685723935e-07f, -5.685430160e-07f, -5.685126561e-07f, -5.684813141e-07f, -5.684489902e-07f, -5.684156847e-07f,
+-5.683813978e-07f, -5.683461297e-07f, -5.683098807e-07f, -5.682726511e-07f, -5.682344411e-07f, -5.681952509e-07f, -5.681550808e-07f, -5.681139311e-07f, -5.680718020e-07f, -5.680286937e-07f,
+-5.679846066e-07f, -5.679395408e-07f, -5.678934967e-07f, -5.678464746e-07f, -5.677984746e-07f, -5.677494970e-07f, -5.676995422e-07f, -5.676486103e-07f, -5.675967017e-07f, -5.675438166e-07f,
+-5.674899554e-07f, -5.674351182e-07f, -5.673793054e-07f, -5.673225173e-07f, -5.672647540e-07f, -5.672060160e-07f, -5.671463035e-07f, -5.670856168e-07f, -5.670239561e-07f, -5.669613218e-07f,
+-5.668977142e-07f, -5.668331335e-07f, -5.667675801e-07f, -5.667010542e-07f, -5.666335562e-07f, -5.665650863e-07f, -5.664956448e-07f, -5.664252322e-07f, -5.663538485e-07f, -5.662814942e-07f,
+-5.662081696e-07f, -5.661338750e-07f, -5.660586107e-07f, -5.659823770e-07f, -5.659051742e-07f, -5.658270026e-07f, -5.657478626e-07f, -5.656677545e-07f, -5.655866785e-07f, -5.655046351e-07f,
+-5.654216246e-07f, -5.653376472e-07f, -5.652527033e-07f, -5.651667933e-07f, -5.650799174e-07f, -5.649920760e-07f, -5.649032695e-07f, -5.648134981e-07f, -5.647227623e-07f, -5.646310622e-07f,
+-5.645383984e-07f, -5.644447711e-07f, -5.643501807e-07f, -5.642546274e-07f, -5.641581118e-07f, -5.640606341e-07f, -5.639621946e-07f, -5.638627938e-07f, -5.637624319e-07f, -5.636611094e-07f,
+-5.635588266e-07f, -5.634555838e-07f, -5.633513814e-07f, -5.632462198e-07f, -5.631400993e-07f, -5.630330203e-07f, -5.629249832e-07f, -5.628159883e-07f, -5.627060360e-07f, -5.625951267e-07f,
+-5.624832608e-07f, -5.623704386e-07f, -5.622566604e-07f, -5.621419268e-07f, -5.620262380e-07f, -5.619095945e-07f, -5.617919965e-07f, -5.616734446e-07f, -5.615539391e-07f, -5.614334804e-07f,
+-5.613120688e-07f, -5.611897048e-07f, -5.610663887e-07f, -5.609421210e-07f, -5.608169021e-07f, -5.606907323e-07f, -5.605636120e-07f, -5.604355416e-07f, -5.603065216e-07f, -5.601765524e-07f,
+-5.600456343e-07f, -5.599137678e-07f, -5.597809532e-07f, -5.596471910e-07f, -5.595124816e-07f, -5.593768253e-07f, -5.592402228e-07f, -5.591026742e-07f, -5.589641801e-07f, -5.588247408e-07f,
+-5.586843569e-07f, -5.585430286e-07f, -5.584007565e-07f, -5.582575409e-07f, -5.581133824e-07f, -5.579682812e-07f, -5.578222379e-07f, -5.576752529e-07f, -5.575273266e-07f, -5.573784594e-07f,
+-5.572286518e-07f, -5.570779042e-07f, -5.569262171e-07f, -5.567735909e-07f, -5.566200261e-07f, -5.564655230e-07f, -5.563100822e-07f, -5.561537040e-07f, -5.559963890e-07f, -5.558381376e-07f,
+-5.556789502e-07f, -5.555188273e-07f, -5.553577693e-07f, -5.551957767e-07f, -5.550328500e-07f, -5.548689896e-07f, -5.547041959e-07f, -5.545384696e-07f, -5.543718109e-07f, -5.542042204e-07f,
+-5.540356985e-07f, -5.538662457e-07f, -5.536958626e-07f, -5.535245494e-07f, -5.533523068e-07f, -5.531791352e-07f, -5.530050350e-07f, -5.528300069e-07f, -5.526540511e-07f, -5.524771683e-07f,
+-5.522993588e-07f, -5.521206233e-07f, -5.519409621e-07f, -5.517603757e-07f, -5.515788647e-07f, -5.513964296e-07f, -5.512130707e-07f, -5.510287887e-07f, -5.508435840e-07f, -5.506574571e-07f,
+-5.504704085e-07f, -5.502824387e-07f, -5.500935482e-07f, -5.499037376e-07f, -5.497130072e-07f, -5.495213577e-07f, -5.493287895e-07f, -5.491353031e-07f, -5.489408991e-07f, -5.487455779e-07f,
+-5.485493401e-07f, -5.483521862e-07f, -5.481541167e-07f, -5.479551321e-07f, -5.477552330e-07f, -5.475544198e-07f, -5.473526930e-07f, -5.471500533e-07f, -5.469465011e-07f, -5.467420370e-07f,
+-5.465366614e-07f, -5.463303750e-07f, -5.461231782e-07f, -5.459150716e-07f, -5.457060556e-07f, -5.454961310e-07f, -5.452852981e-07f, -5.450735575e-07f, -5.448609098e-07f, -5.446473555e-07f,
+-5.444328951e-07f, -5.442175292e-07f, -5.440012584e-07f, -5.437840831e-07f, -5.435660040e-07f, -5.433470215e-07f, -5.431271363e-07f, -5.429063488e-07f, -5.426846597e-07f, -5.424620695e-07f,
+-5.422385788e-07f, -5.420141880e-07f, -5.417888979e-07f, -5.415627088e-07f, -5.413356215e-07f, -5.411076364e-07f, -5.408787541e-07f, -5.406489753e-07f, -5.404183004e-07f, -5.401867300e-07f,
+-5.399542648e-07f, -5.397209052e-07f, -5.394866519e-07f, -5.392515054e-07f, -5.390154664e-07f, -5.387785353e-07f, -5.385407128e-07f, -5.383019994e-07f, -5.380623958e-07f, -5.378219025e-07f,
+-5.375805201e-07f, -5.373382492e-07f, -5.370950904e-07f, -5.368510443e-07f, -5.366061114e-07f, -5.363602924e-07f, -5.361135879e-07f, -5.358659984e-07f, -5.356175246e-07f, -5.353681670e-07f,
+-5.351179263e-07f, -5.348668030e-07f, -5.346147978e-07f, -5.343619113e-07f, -5.341081440e-07f, -5.338534966e-07f, -5.335979697e-07f, -5.333415639e-07f, -5.330842798e-07f, -5.328261180e-07f,
+-5.325670792e-07f, -5.323071639e-07f, -5.320463728e-07f, -5.317847065e-07f, -5.315221656e-07f, -5.312587508e-07f, -5.309944626e-07f, -5.307293017e-07f, -5.304632687e-07f, -5.301963642e-07f,
+-5.299285889e-07f, -5.296599435e-07f, -5.293904284e-07f, -5.291200444e-07f, -5.288487921e-07f, -5.285766722e-07f, -5.283036852e-07f, -5.280298318e-07f, -5.277551127e-07f, -5.274795285e-07f,
+-5.272030798e-07f, -5.269257673e-07f, -5.266475916e-07f, -5.263685534e-07f, -5.260886533e-07f, -5.258078920e-07f, -5.255262701e-07f, -5.252437883e-07f, -5.249604473e-07f, -5.246762476e-07f,
+-5.243911900e-07f, -5.241052750e-07f, -5.238185035e-07f, -5.235308759e-07f, -5.232423930e-07f, -5.229530555e-07f, -5.226628640e-07f, -5.223718192e-07f, -5.220799218e-07f, -5.217871723e-07f,
+-5.214935715e-07f, -5.211991201e-07f, -5.209038188e-07f, -5.206076681e-07f, -5.203106688e-07f, -5.200128216e-07f, -5.197141272e-07f, -5.194145861e-07f, -5.191141992e-07f, -5.188129670e-07f,
+-5.185108903e-07f, -5.182079698e-07f, -5.179042061e-07f, -5.175995999e-07f, -5.172941519e-07f, -5.169878629e-07f, -5.166807334e-07f, -5.163727643e-07f, -5.160639561e-07f, -5.157543097e-07f,
+-5.154438256e-07f, -5.151325046e-07f, -5.148203473e-07f, -5.145073546e-07f, -5.141935270e-07f, -5.138788654e-07f, -5.135633703e-07f, -5.132470425e-07f, -5.129298828e-07f, -5.126118917e-07f,
+-5.122930701e-07f, -5.119734187e-07f, -5.116529380e-07f, -5.113316290e-07f, -5.110094922e-07f, -5.106865285e-07f, -5.103627385e-07f, -5.100381229e-07f, -5.097126824e-07f, -5.093864179e-07f,
+-5.090593300e-07f, -5.087314194e-07f, -5.084026868e-07f, -5.080731331e-07f, -5.077427588e-07f, -5.074115648e-07f, -5.070795518e-07f, -5.067467205e-07f, -5.064130717e-07f, -5.060786060e-07f,
+-5.057433243e-07f, -5.054072272e-07f, -5.050703154e-07f, -5.047325899e-07f, -5.043940512e-07f, -5.040547001e-07f, -5.037145374e-07f, -5.033735638e-07f, -5.030317800e-07f, -5.026891869e-07f,
+-5.023457851e-07f, -5.020015754e-07f, -5.016565586e-07f, -5.013107354e-07f, -5.009641065e-07f, -5.006166728e-07f, -5.002684349e-07f, -4.999193937e-07f, -4.995695499e-07f, -4.992189042e-07f,
+-4.988674575e-07f, -4.985152104e-07f, -4.981621638e-07f, -4.978083184e-07f, -4.974536749e-07f, -4.970982342e-07f, -4.967419971e-07f, -4.963849642e-07f, -4.960271363e-07f, -4.956685143e-07f,
+-4.953090990e-07f, -4.949488909e-07f, -4.945878911e-07f, -4.942261002e-07f, -4.938635190e-07f, -4.935001483e-07f, -4.931359889e-07f, -4.927710415e-07f, -4.924053070e-07f, -4.920387861e-07f,
+-4.916714797e-07f, -4.913033884e-07f, -4.909345132e-07f, -4.905648547e-07f, -4.901944138e-07f, -4.898231913e-07f, -4.894511879e-07f, -4.890784045e-07f, -4.887048419e-07f, -4.883305008e-07f,
+-4.879553821e-07f, -4.875794865e-07f, -4.872028149e-07f, -4.868253680e-07f, -4.864471467e-07f, -4.860681518e-07f, -4.856883840e-07f, -4.853078443e-07f, -4.849265333e-07f, -4.845444519e-07f,
+-4.841616009e-07f, -4.837779811e-07f, -4.833935934e-07f, -4.830084385e-07f, -4.826225173e-07f, -4.822358306e-07f, -4.818483791e-07f, -4.814601638e-07f, -4.810711854e-07f, -4.806814448e-07f,
+-4.802909427e-07f, -4.798996801e-07f, -4.795076577e-07f, -4.791148764e-07f, -4.787213369e-07f, -4.783270402e-07f, -4.779319870e-07f, -4.775361781e-07f, -4.771396145e-07f, -4.767422969e-07f,
+-4.763442262e-07f, -4.759454032e-07f, -4.755458288e-07f, -4.751455037e-07f, -4.747444289e-07f, -4.743426051e-07f, -4.739400332e-07f, -4.735367141e-07f, -4.731326486e-07f, -4.727278374e-07f,
+-4.723222816e-07f, -4.719159819e-07f, -4.715089392e-07f, -4.711011543e-07f, -4.706926281e-07f, -4.702833614e-07f, -4.698733551e-07f, -4.694626100e-07f, -4.690511270e-07f, -4.686389070e-07f,
+-4.682259507e-07f, -4.678122591e-07f, -4.673978330e-07f, -4.669826734e-07f, -4.665667809e-07f, -4.661501566e-07f, -4.657328012e-07f, -4.653147156e-07f, -4.648959008e-07f, -4.644763575e-07f,
+-4.640560866e-07f, -4.636350891e-07f, -4.632133657e-07f, -4.627909174e-07f, -4.623677450e-07f, -4.619438494e-07f, -4.615192314e-07f, -4.610938920e-07f, -4.606678320e-07f, -4.602410523e-07f,
+-4.598135538e-07f, -4.593853374e-07f, -4.589564038e-07f, -4.585267541e-07f, -4.580963891e-07f, -4.576653097e-07f, -4.572335168e-07f, -4.568010112e-07f, -4.563677939e-07f, -4.559338657e-07f,
+-4.554992276e-07f, -4.550638804e-07f, -4.546278249e-07f, -4.541910622e-07f, -4.537535931e-07f, -4.533154185e-07f, -4.528765393e-07f, -4.524369563e-07f, -4.519966706e-07f, -4.515556829e-07f,
+-4.511139942e-07f, -4.506716054e-07f, -4.502285174e-07f, -4.497847311e-07f, -4.493402474e-07f, -4.488950672e-07f, -4.484491914e-07f, -4.480026210e-07f, -4.475553568e-07f, -4.471073997e-07f,
+-4.466587506e-07f, -4.462094105e-07f, -4.457593803e-07f, -4.453086609e-07f, -4.448572532e-07f, -4.444051581e-07f, -4.439523766e-07f, -4.434989095e-07f, -4.430447578e-07f, -4.425899224e-07f,
+-4.421344042e-07f, -4.416782042e-07f, -4.412213232e-07f, -4.407637622e-07f, -4.403055221e-07f, -4.398466038e-07f, -4.393870084e-07f, -4.389267366e-07f, -4.384657894e-07f, -4.380041678e-07f,
+-4.375418727e-07f, -4.370789050e-07f, -4.366152657e-07f, -4.361509556e-07f, -4.356859758e-07f, -4.352203271e-07f, -4.347540106e-07f, -4.342870270e-07f, -4.338193774e-07f, -4.333510628e-07f,
+-4.328820840e-07f, -4.324124420e-07f, -4.319421378e-07f, -4.314711722e-07f, -4.309995463e-07f, -4.305272609e-07f, -4.300543171e-07f, -4.295807157e-07f, -4.291064578e-07f, -4.286315442e-07f,
+-4.281559759e-07f, -4.276797540e-07f, -4.272028792e-07f, -4.267253527e-07f, -4.262471752e-07f, -4.257683479e-07f, -4.252888716e-07f, -4.248087473e-07f, -4.243279760e-07f, -4.238465586e-07f,
+-4.233644961e-07f, -4.228817895e-07f, -4.223984396e-07f, -4.219144475e-07f, -4.214298142e-07f, -4.209445406e-07f, -4.204586276e-07f, -4.199720763e-07f, -4.194848875e-07f, -4.189970624e-07f,
+-4.185086018e-07f, -4.180195067e-07f, -4.175297780e-07f, -4.170394169e-07f, -4.165484242e-07f, -4.160568008e-07f, -4.155645479e-07f, -4.150716663e-07f, -4.145781571e-07f, -4.140840211e-07f,
+-4.135892595e-07f, -4.130938731e-07f, -4.125978630e-07f, -4.121012301e-07f, -4.116039754e-07f, -4.111061000e-07f, -4.106076047e-07f, -4.101084906e-07f, -4.096087586e-07f, -4.091084098e-07f,
+-4.086074451e-07f, -4.081058656e-07f, -4.076036721e-07f, -4.071008658e-07f, -4.065974475e-07f, -4.060934183e-07f, -4.055887792e-07f, -4.050835312e-07f, -4.045776753e-07f, -4.040712124e-07f,
+-4.035641435e-07f, -4.030564698e-07f, -4.025481921e-07f, -4.020393114e-07f, -4.015298288e-07f, -4.010197453e-07f, -4.005090618e-07f, -3.999977793e-07f, -3.994858990e-07f, -3.989734217e-07f,
+-3.984603485e-07f, -3.979466804e-07f, -3.974324183e-07f, -3.969175634e-07f, -3.964021165e-07f, -3.958860788e-07f, -3.953694512e-07f, -3.948522348e-07f, -3.943344305e-07f, -3.938160393e-07f,
+-3.932970623e-07f, -3.927775006e-07f, -3.922573550e-07f, -3.917366266e-07f, -3.912153165e-07f, -3.906934257e-07f, -3.901709551e-07f, -3.896479058e-07f, -3.891242788e-07f, -3.886000752e-07f,
+-3.880752959e-07f, -3.875499420e-07f, -3.870240145e-07f, -3.864975145e-07f, -3.859704429e-07f, -3.854428008e-07f, -3.849145892e-07f, -3.843858091e-07f, -3.838564616e-07f, -3.833265476e-07f,
+-3.827960683e-07f, -3.822650247e-07f, -3.817334177e-07f, -3.812012485e-07f, -3.806685180e-07f, -3.801352273e-07f, -3.796013774e-07f, -3.790669694e-07f, -3.785320043e-07f, -3.779964831e-07f,
+-3.774604068e-07f, -3.769237766e-07f, -3.763865934e-07f, -3.758488583e-07f, -3.753105723e-07f, -3.747717365e-07f, -3.742323519e-07f, -3.736924195e-07f, -3.731519405e-07f, -3.726109158e-07f,
+-3.720693464e-07f, -3.715272335e-07f, -3.709845781e-07f, -3.704413812e-07f, -3.698976439e-07f, -3.693533672e-07f, -3.688085522e-07f, -3.682631999e-07f, -3.677173114e-07f, -3.671708877e-07f,
+-3.666239299e-07f, -3.660764391e-07f, -3.655284162e-07f, -3.649798623e-07f, -3.644307786e-07f, -3.638811660e-07f, -3.633310257e-07f, -3.627803586e-07f, -3.622291658e-07f, -3.616774485e-07f,
+-3.611252076e-07f, -3.605724442e-07f, -3.600191593e-07f, -3.594653541e-07f, -3.589110296e-07f, -3.583561869e-07f, -3.578008270e-07f, -3.572449510e-07f, -3.566885599e-07f, -3.561316548e-07f,
+-3.555742369e-07f, -3.550163071e-07f, -3.544578665e-07f, -3.538989163e-07f, -3.533394574e-07f, -3.527794909e-07f, -3.522190179e-07f, -3.516580395e-07f, -3.510965568e-07f, -3.505345708e-07f,
+-3.499720826e-07f, -3.494090932e-07f, -3.488456039e-07f, -3.482816155e-07f, -3.477171292e-07f, -3.471521462e-07f, -3.465866673e-07f, -3.460206938e-07f, -3.454542268e-07f, -3.448872672e-07f,
+-3.443198162e-07f, -3.437518748e-07f, -3.431834442e-07f, -3.426145254e-07f, -3.420451195e-07f, -3.414752276e-07f, -3.409048508e-07f, -3.403339901e-07f, -3.397626467e-07f, -3.391908216e-07f,
+-3.386185159e-07f, -3.380457307e-07f, -3.374724671e-07f, -3.368987262e-07f, -3.363245091e-07f, -3.357498168e-07f, -3.351746505e-07f, -3.345990112e-07f, -3.340229000e-07f, -3.334463181e-07f,
+-3.328692665e-07f, -3.322917463e-07f, -3.317137586e-07f, -3.311353045e-07f, -3.305563852e-07f, -3.299770016e-07f, -3.293971549e-07f, -3.288168462e-07f, -3.282360766e-07f, -3.276548472e-07f,
+-3.270731590e-07f, -3.264910133e-07f, -3.259084110e-07f, -3.253253533e-07f, -3.247418413e-07f, -3.241578761e-07f, -3.235734588e-07f, -3.229885905e-07f, -3.224032723e-07f, -3.218175053e-07f,
+-3.212312906e-07f, -3.206446293e-07f, -3.200575225e-07f, -3.194699714e-07f, -3.188819770e-07f, -3.182935405e-07f, -3.177046629e-07f, -3.171153453e-07f, -3.165255890e-07f, -3.159353949e-07f,
+-3.153447642e-07f, -3.147536980e-07f, -3.141621974e-07f, -3.135702636e-07f, -3.129778976e-07f, -3.123851005e-07f, -3.117918735e-07f, -3.111982177e-07f, -3.106041342e-07f, -3.100096241e-07f,
+-3.094146886e-07f, -3.088193287e-07f, -3.082235455e-07f, -3.076273402e-07f, -3.070307139e-07f, -3.064336678e-07f, -3.058362028e-07f, -3.052383203e-07f, -3.046400212e-07f, -3.040413067e-07f,
+-3.034421779e-07f, -3.028426360e-07f, -3.022426820e-07f, -3.016423171e-07f, -3.010415424e-07f, -3.004403590e-07f, -2.998387681e-07f, -2.992367708e-07f, -2.986343682e-07f, -2.980315614e-07f,
+-2.974283516e-07f, -2.968247399e-07f, -2.962207274e-07f, -2.956163152e-07f, -2.950115045e-07f, -2.944062964e-07f, -2.938006920e-07f, -2.931946924e-07f, -2.925882989e-07f, -2.919815125e-07f,
+-2.913743343e-07f, -2.907667655e-07f, -2.901588072e-07f, -2.895504605e-07f, -2.889417267e-07f, -2.883326067e-07f, -2.877231018e-07f, -2.871132131e-07f, -2.865029416e-07f, -2.858922887e-07f,
+-2.852812553e-07f, -2.846698426e-07f, -2.840580518e-07f, -2.834458840e-07f, -2.828333403e-07f, -2.822204219e-07f, -2.816071299e-07f, -2.809934654e-07f, -2.803794296e-07f, -2.797650236e-07f,
+-2.791502487e-07f, -2.785351058e-07f, -2.779195961e-07f, -2.773037209e-07f, -2.766874812e-07f, -2.760708781e-07f, -2.754539129e-07f, -2.748365866e-07f, -2.742189004e-07f, -2.736008555e-07f,
+-2.729824529e-07f, -2.723636939e-07f, -2.717445796e-07f, -2.711251111e-07f, -2.705052895e-07f, -2.698851161e-07f, -2.692645920e-07f, -2.686437182e-07f, -2.680224960e-07f, -2.674009265e-07f,
+-2.667790109e-07f, -2.661567502e-07f, -2.655341457e-07f, -2.649111986e-07f, -2.642879098e-07f, -2.636642807e-07f, -2.630403123e-07f, -2.624160058e-07f, -2.617913624e-07f, -2.611663831e-07f,
+-2.605410692e-07f, -2.599154219e-07f, -2.592894422e-07f, -2.586631313e-07f, -2.580364903e-07f, -2.574095205e-07f, -2.567822230e-07f, -2.561545989e-07f, -2.555266494e-07f, -2.548983756e-07f,
+-2.542697787e-07f, -2.536408598e-07f, -2.530116202e-07f, -2.523820609e-07f, -2.517521832e-07f, -2.511219881e-07f, -2.504914769e-07f, -2.498606506e-07f, -2.492295105e-07f, -2.485980578e-07f,
+-2.479662934e-07f, -2.473342187e-07f, -2.467018348e-07f, -2.460691429e-07f, -2.454361440e-07f, -2.448028394e-07f, -2.441692303e-07f, -2.435353177e-07f, -2.429011029e-07f, -2.422665870e-07f,
+-2.416317712e-07f, -2.409966566e-07f, -2.403612444e-07f, -2.397255357e-07f, -2.390895318e-07f, -2.384532338e-07f, -2.378166428e-07f, -2.371797600e-07f, -2.365425867e-07f, -2.359051238e-07f,
+-2.352673727e-07f, -2.346293345e-07f, -2.339910103e-07f, -2.333524012e-07f, -2.327135086e-07f, -2.320743335e-07f, -2.314348771e-07f, -2.307951406e-07f, -2.301551251e-07f, -2.295148319e-07f,
+-2.288742620e-07f, -2.282334166e-07f, -2.275922969e-07f, -2.269509042e-07f, -2.263092394e-07f, -2.256673039e-07f, -2.250250988e-07f, -2.243826252e-07f, -2.237398844e-07f, -2.230968774e-07f,
+-2.224536055e-07f, -2.218100699e-07f, -2.211662716e-07f, -2.205222119e-07f, -2.198778920e-07f, -2.192333130e-07f, -2.185884761e-07f, -2.179433824e-07f, -2.172980332e-07f, -2.166524295e-07f,
+-2.160065727e-07f, -2.153604638e-07f, -2.147141040e-07f, -2.140674945e-07f, -2.134206365e-07f, -2.127735311e-07f, -2.121261796e-07f, -2.114785830e-07f, -2.108307426e-07f, -2.101826595e-07f,
+-2.095343350e-07f, -2.088857701e-07f, -2.082369661e-07f, -2.075879242e-07f, -2.069386454e-07f, -2.062891311e-07f, -2.056393823e-07f, -2.049894002e-07f, -2.043391861e-07f, -2.036887410e-07f,
+-2.030380662e-07f, -2.023871629e-07f, -2.017360322e-07f, -2.010846752e-07f, -2.004330933e-07f, -1.997812875e-07f, -1.991292591e-07f, -1.984770091e-07f, -1.978245388e-07f, -1.971718494e-07f,
+-1.965189421e-07f, -1.958658179e-07f, -1.952124782e-07f, -1.945589240e-07f, -1.939051566e-07f, -1.932511771e-07f, -1.925969868e-07f, -1.919425867e-07f, -1.912879781e-07f, -1.906331621e-07f,
+-1.899781400e-07f, -1.893229129e-07f, -1.886674820e-07f, -1.880118484e-07f, -1.873560134e-07f, -1.866999781e-07f, -1.860437438e-07f, -1.853873115e-07f, -1.847306825e-07f, -1.840738579e-07f,
+-1.834168390e-07f, -1.827596269e-07f, -1.821022228e-07f, -1.814446279e-07f, -1.807868433e-07f, -1.801288702e-07f, -1.794707099e-07f, -1.788123635e-07f, -1.781538321e-07f, -1.774951170e-07f,
+-1.768362194e-07f, -1.761771404e-07f, -1.755178812e-07f, -1.748584430e-07f, -1.741988270e-07f, -1.735390343e-07f, -1.728790661e-07f, -1.722189237e-07f, -1.715586082e-07f, -1.708981208e-07f,
+-1.702374626e-07f, -1.695766349e-07f, -1.689156388e-07f, -1.682544756e-07f, -1.675931463e-07f, -1.669316522e-07f, -1.662699945e-07f, -1.656081743e-07f, -1.649461929e-07f, -1.642840514e-07f,
+-1.636217510e-07f, -1.629592928e-07f, -1.622966781e-07f, -1.616339081e-07f, -1.609709839e-07f, -1.603079067e-07f, -1.596446778e-07f, -1.589812982e-07f, -1.583177691e-07f, -1.576540918e-07f,
+-1.569902675e-07f, -1.563262973e-07f, -1.556621823e-07f, -1.549979239e-07f, -1.543335231e-07f, -1.536689812e-07f, -1.530042993e-07f, -1.523394786e-07f, -1.516745204e-07f, -1.510094257e-07f,
+-1.503441958e-07f, -1.496788318e-07f, -1.490133350e-07f, -1.483477065e-07f, -1.476819475e-07f, -1.470160592e-07f, -1.463500428e-07f, -1.456838995e-07f, -1.450176303e-07f, -1.443512367e-07f,
+-1.436847196e-07f, -1.430180803e-07f, -1.423513200e-07f, -1.416844398e-07f, -1.410174410e-07f, -1.403503248e-07f, -1.396830922e-07f, -1.390157446e-07f, -1.383482830e-07f, -1.376807087e-07f,
+-1.370130228e-07f, -1.363452266e-07f, -1.356773212e-07f, -1.350093078e-07f, -1.343411875e-07f, -1.336729617e-07f, -1.330046314e-07f, -1.323361978e-07f, -1.316676621e-07f, -1.309990256e-07f,
+-1.303302893e-07f, -1.296614545e-07f, -1.289925223e-07f, -1.283234940e-07f, -1.276543707e-07f, -1.269851536e-07f, -1.263158438e-07f, -1.256464427e-07f, -1.249769512e-07f, -1.243073708e-07f,
+-1.236377024e-07f, -1.229679473e-07f, -1.222981067e-07f, -1.216281818e-07f, -1.209581737e-07f, -1.202880836e-07f, -1.196179127e-07f, -1.189476623e-07f, -1.182773334e-07f, -1.176069272e-07f,
+-1.169364450e-07f, -1.162658879e-07f, -1.155952571e-07f, -1.149245538e-07f, -1.142537792e-07f, -1.135829344e-07f, -1.129120206e-07f, -1.122410390e-07f, -1.115699908e-07f, -1.108988772e-07f,
+-1.102276993e-07f, -1.095564584e-07f, -1.088851556e-07f, -1.082137920e-07f, -1.075423690e-07f, -1.068708876e-07f, -1.061993490e-07f, -1.055277544e-07f, -1.048561050e-07f, -1.041844020e-07f,
+-1.035126466e-07f, -1.028408398e-07f, -1.021689830e-07f, -1.014970773e-07f, -1.008251238e-07f, -1.001531238e-07f, -9.948107841e-08f, -9.880898883e-08f, -9.813685622e-08f, -9.746468178e-08f,
+-9.679246668e-08f, -9.612021210e-08f, -9.544791921e-08f, -9.477558919e-08f, -9.410322323e-08f, -9.343082249e-08f, -9.275838816e-08f, -9.208592141e-08f, -9.141342342e-08f, -9.074089536e-08f,
+-9.006833842e-08f, -8.939575377e-08f, -8.872314258e-08f, -8.805050603e-08f, -8.737784530e-08f, -8.670516156e-08f, -8.603245599e-08f, -8.535972976e-08f, -8.468698405e-08f, -8.401422004e-08f,
+-8.334143889e-08f, -8.266864178e-08f, -8.199582989e-08f, -8.132300440e-08f, -8.065016646e-08f, -7.997731727e-08f, -7.930445799e-08f, -7.863158979e-08f, -7.795871385e-08f, -7.728583134e-08f,
+-7.661294344e-08f, -7.594005131e-08f, -7.526715614e-08f, -7.459425908e-08f, -7.392136132e-08f, -7.324846402e-08f, -7.257556835e-08f, -7.190267549e-08f, -7.122978661e-08f, -7.055690288e-08f,
+-6.988402547e-08f, -6.921115555e-08f, -6.853829428e-08f, -6.786544284e-08f, -6.719260241e-08f, -6.651977414e-08f, -6.584695920e-08f, -6.517415877e-08f, -6.450137402e-08f, -6.382860610e-08f,
+-6.315585620e-08f, -6.248312547e-08f, -6.181041509e-08f, -6.113772622e-08f, -6.046506003e-08f, -5.979241769e-08f, -5.911980036e-08f, -5.844720921e-08f, -5.777464540e-08f, -5.710211010e-08f,
+-5.642960448e-08f, -5.575712970e-08f, -5.508468693e-08f, -5.441227732e-08f, -5.373990205e-08f, -5.306756228e-08f, -5.239525917e-08f, -5.172299388e-08f, -5.105076759e-08f, -5.037858144e-08f,
+-4.970643661e-08f, -4.903433426e-08f, -4.836227554e-08f, -4.769026162e-08f, -4.701829366e-08f, -4.634637283e-08f, -4.567450028e-08f, -4.500267717e-08f, -4.433090467e-08f, -4.365918393e-08f,
+-4.298751611e-08f, -4.231590237e-08f, -4.164434387e-08f, -4.097284178e-08f, -4.030139724e-08f, -3.963001141e-08f, -3.895868546e-08f, -3.828742054e-08f, -3.761621781e-08f, -3.694507842e-08f,
+-3.627400353e-08f, -3.560299430e-08f, -3.493205187e-08f, -3.426117742e-08f, -3.359037209e-08f, -3.291963703e-08f, -3.224897340e-08f, -3.157838236e-08f, -3.090786506e-08f, -3.023742265e-08f,
+-2.956705628e-08f, -2.889676711e-08f, -2.822655629e-08f, -2.755642496e-08f, -2.688637429e-08f, -2.621640543e-08f, -2.554651951e-08f, -2.487671770e-08f, -2.420700115e-08f, -2.353737100e-08f,
+-2.286782840e-08f, -2.219837450e-08f, -2.152901046e-08f, -2.085973741e-08f, -2.019055651e-08f, -1.952146890e-08f, -1.885247573e-08f, -1.818357815e-08f, -1.751477730e-08f, -1.684607433e-08f,
+-1.617747038e-08f, -1.550896661e-08f, -1.484056414e-08f, -1.417226414e-08f, -1.350406774e-08f, -1.283597608e-08f, -1.216799031e-08f, -1.150011158e-08f, -1.083234101e-08f, -1.016467976e-08f,
+-9.497128973e-09f, -8.829689779e-09f, -8.162363323e-09f, -7.495150745e-09f, -6.828053186e-09f, -6.161071784e-09f, -5.494207678e-09f, -4.827462007e-09f, -4.160835909e-09f, -3.494330522e-09f,
+-2.827946982e-09f, -2.161686427e-09f, -1.495549992e-09f, -8.295388147e-10f, -1.636540294e-10f, 5.021032286e-10f, 1.167731825e-09f, 1.833230625e-09f, 2.498598495e-09f, 3.163834302e-09f,
+3.828936914e-09f, 4.493905197e-09f, 5.158738020e-09f, 5.823434251e-09f, 6.487992759e-09f, 7.152412415e-09f, 7.816692087e-09f, 8.480830646e-09f, 9.144826963e-09f, 9.808679909e-09f,
+1.047238836e-08f, 1.113595118e-08f, 1.179936724e-08f, 1.246263543e-08f, 1.312575460e-08f, 1.378872365e-08f, 1.445154143e-08f, 1.511420684e-08f, 1.577671873e-08f, 1.643907599e-08f,
+1.710127750e-08f, 1.776332213e-08f, 1.842520875e-08f, 1.908693626e-08f, 1.974850352e-08f, 2.040990941e-08f, 2.107115282e-08f, 2.173223262e-08f, 2.239314770e-08f, 2.305389693e-08f,
+2.371447920e-08f, 2.437489338e-08f, 2.503513837e-08f, 2.569521304e-08f, 2.635511628e-08f, 2.701484697e-08f, 2.767440400e-08f, 2.833378625e-08f, 2.899299261e-08f, 2.965202196e-08f,
+3.031087319e-08f, 3.096954518e-08f, 3.162803683e-08f, 3.228634702e-08f, 3.294447465e-08f, 3.360241859e-08f, 3.426017775e-08f, 3.491775100e-08f, 3.557513725e-08f, 3.623233538e-08f,
+3.688934428e-08f, 3.754616285e-08f, 3.820278999e-08f, 3.885922457e-08f, 3.951546551e-08f, 4.017151168e-08f, 4.082736200e-08f, 4.148301534e-08f, 4.213847062e-08f, 4.279372673e-08f,
+4.344878255e-08f, 4.410363701e-08f, 4.475828898e-08f, 4.541273737e-08f, 4.606698108e-08f, 4.672101901e-08f, 4.737485006e-08f, 4.802847314e-08f, 4.868188714e-08f, 4.933509096e-08f,
+4.998808352e-08f, 5.064086370e-08f, 5.129343043e-08f, 5.194578260e-08f, 5.259791911e-08f, 5.324983888e-08f, 5.390154082e-08f, 5.455302382e-08f, 5.520428679e-08f, 5.585532865e-08f,
+5.650614830e-08f, 5.715674466e-08f, 5.780711662e-08f, 5.845726312e-08f, 5.910718304e-08f, 5.975687532e-08f, 6.040633885e-08f, 6.105557255e-08f, 6.170457535e-08f, 6.235334614e-08f,
+6.300188385e-08f, 6.365018739e-08f, 6.429825568e-08f, 6.494608764e-08f, 6.559368218e-08f, 6.624103821e-08f, 6.688815467e-08f, 6.753503047e-08f, 6.818166452e-08f, 6.882805576e-08f,
+6.947420309e-08f, 7.012010545e-08f, 7.076576175e-08f, 7.141117092e-08f, 7.205633189e-08f, 7.270124357e-08f, 7.334590489e-08f, 7.399031478e-08f, 7.463447216e-08f, 7.527837596e-08f,
+7.592202511e-08f, 7.656541854e-08f, 7.720855518e-08f, 7.785143394e-08f, 7.849405378e-08f, 7.913641361e-08f, 7.977851237e-08f, 8.042034899e-08f, 8.106192240e-08f, 8.170323154e-08f,
+8.234427534e-08f, 8.298505274e-08f, 8.362556267e-08f, 8.426580406e-08f, 8.490577586e-08f, 8.554547701e-08f, 8.618490643e-08f, 8.682406307e-08f, 8.746294588e-08f, 8.810155378e-08f,
+8.873988572e-08f, 8.937794064e-08f, 9.001571749e-08f, 9.065321521e-08f, 9.129043274e-08f, 9.192736902e-08f, 9.256402301e-08f, 9.320039364e-08f, 9.383647986e-08f, 9.447228063e-08f,
+9.510779488e-08f, 9.574302157e-08f, 9.637795965e-08f, 9.701260806e-08f, 9.764696576e-08f, 9.828103170e-08f, 9.891480483e-08f, 9.954828410e-08f, 1.001814685e-07f, 1.008143569e-07f,
+1.014469483e-07f, 1.020792417e-07f, 1.027112360e-07f, 1.033429302e-07f, 1.039743232e-07f, 1.046054140e-07f, 1.052362016e-07f, 1.058666849e-07f, 1.064968628e-07f, 1.071267344e-07f,
+1.077562986e-07f, 1.083855543e-07f, 1.090145006e-07f, 1.096431363e-07f, 1.102714605e-07f, 1.108994721e-07f, 1.115271701e-07f, 1.121545535e-07f, 1.127816212e-07f, 1.134083721e-07f,
+1.140348053e-07f, 1.146609198e-07f, 1.152867145e-07f, 1.159121883e-07f, 1.165373403e-07f, 1.171621694e-07f, 1.177866745e-07f, 1.184108548e-07f, 1.190347091e-07f, 1.196582364e-07f,
+1.202814358e-07f, 1.209043060e-07f, 1.215268463e-07f, 1.221490555e-07f, 1.227709326e-07f, 1.233924766e-07f, 1.240136865e-07f, 1.246345612e-07f, 1.252550998e-07f, 1.258753012e-07f,
+1.264951644e-07f, 1.271146884e-07f, 1.277338723e-07f, 1.283527148e-07f, 1.289712152e-07f, 1.295893723e-07f, 1.302071851e-07f, 1.308246527e-07f, 1.314417740e-07f, 1.320585480e-07f,
+1.326749737e-07f, 1.332910501e-07f, 1.339067762e-07f, 1.345221510e-07f, 1.351371735e-07f, 1.357518427e-07f, 1.363661575e-07f, 1.369801171e-07f, 1.375937203e-07f, 1.382069662e-07f,
+1.388198538e-07f, 1.394323820e-07f, 1.400445500e-07f, 1.406563566e-07f, 1.412678009e-07f, 1.418788820e-07f, 1.424895987e-07f, 1.430999502e-07f, 1.437099353e-07f, 1.443195532e-07f,
+1.449288029e-07f, 1.455376832e-07f, 1.461461934e-07f, 1.467543323e-07f, 1.473620990e-07f, 1.479694925e-07f, 1.485765118e-07f, 1.491831559e-07f, 1.497894238e-07f, 1.503953147e-07f,
+1.510008274e-07f, 1.516059610e-07f, 1.522107145e-07f, 1.528150869e-07f, 1.534190773e-07f, 1.540226847e-07f, 1.546259081e-07f, 1.552287465e-07f, 1.558311989e-07f, 1.564332644e-07f,
+1.570349421e-07f, 1.576362308e-07f, 1.582371297e-07f, 1.588376378e-07f, 1.594377541e-07f, 1.600374776e-07f, 1.606368075e-07f, 1.612357426e-07f, 1.618342821e-07f, 1.624324249e-07f,
+1.630301702e-07f, 1.636275169e-07f, 1.642244640e-07f, 1.648210108e-07f, 1.654171560e-07f, 1.660128989e-07f, 1.666082384e-07f, 1.672031736e-07f, 1.677977035e-07f, 1.683918271e-07f,
+1.689855436e-07f, 1.695788519e-07f, 1.701717511e-07f, 1.707642403e-07f, 1.713563185e-07f, 1.719479847e-07f, 1.725392380e-07f, 1.731300774e-07f, 1.737205020e-07f, 1.743105109e-07f,
+1.749001030e-07f, 1.754892775e-07f, 1.760780334e-07f, 1.766663698e-07f, 1.772542857e-07f, 1.778417802e-07f, 1.784288523e-07f, 1.790155010e-07f, 1.796017256e-07f, 1.801875249e-07f,
+1.807728981e-07f, 1.813578443e-07f, 1.819423625e-07f, 1.825264517e-07f, 1.831101110e-07f, 1.836933396e-07f, 1.842761364e-07f, 1.848585005e-07f, 1.854404311e-07f, 1.860219271e-07f,
+1.866029877e-07f, 1.871836119e-07f, 1.877637987e-07f, 1.883435474e-07f, 1.889228569e-07f, 1.895017263e-07f, 1.900801546e-07f, 1.906581411e-07f, 1.912356847e-07f, 1.918127845e-07f,
+1.923894397e-07f, 1.929656492e-07f, 1.935414122e-07f, 1.941167278e-07f, 1.946915950e-07f, 1.952660129e-07f, 1.958399806e-07f, 1.964134973e-07f, 1.969865619e-07f, 1.975591736e-07f,
+1.981313315e-07f, 1.987030347e-07f, 1.992742821e-07f, 1.998450731e-07f, 2.004154066e-07f, 2.009852817e-07f, 2.015546975e-07f, 2.021236532e-07f, 2.026921478e-07f, 2.032601804e-07f,
+2.038277501e-07f, 2.043948561e-07f, 2.049614974e-07f, 2.055276731e-07f, 2.060933824e-07f, 2.066586243e-07f, 2.072233980e-07f, 2.077877025e-07f, 2.083515369e-07f, 2.089149005e-07f,
+2.094777922e-07f, 2.100402112e-07f, 2.106021566e-07f, 2.111636275e-07f, 2.117246231e-07f, 2.122851424e-07f, 2.128451845e-07f, 2.134047487e-07f, 2.139638339e-07f, 2.145224393e-07f,
+2.150805641e-07f, 2.156382073e-07f, 2.161953681e-07f, 2.167520456e-07f, 2.173082389e-07f, 2.178639472e-07f, 2.184191696e-07f, 2.189739051e-07f, 2.195281530e-07f, 2.200819123e-07f,
+2.206351822e-07f, 2.211879619e-07f, 2.217402504e-07f, 2.222920469e-07f, 2.228433505e-07f, 2.233941603e-07f, 2.239444755e-07f, 2.244942953e-07f, 2.250436187e-07f, 2.255924450e-07f,
+2.261407731e-07f, 2.266886024e-07f, 2.272359319e-07f, 2.277827608e-07f, 2.283290881e-07f, 2.288749132e-07f, 2.294202350e-07f, 2.299650528e-07f, 2.305093658e-07f, 2.310531729e-07f,
+2.315964735e-07f, 2.321392666e-07f, 2.326815515e-07f, 2.332233272e-07f, 2.337645929e-07f, 2.343053478e-07f, 2.348455910e-07f, 2.353853217e-07f, 2.359245391e-07f, 2.364632422e-07f,
+2.370014304e-07f, 2.375391026e-07f, 2.380762582e-07f, 2.386128962e-07f, 2.391490159e-07f, 2.396846163e-07f, 2.402196967e-07f, 2.407542562e-07f, 2.412882941e-07f, 2.418218094e-07f,
+2.423548013e-07f, 2.428872690e-07f, 2.434192118e-07f, 2.439506287e-07f, 2.444815189e-07f, 2.450118817e-07f, 2.455417161e-07f, 2.460710214e-07f, 2.465997968e-07f, 2.471280414e-07f,
+2.476557545e-07f, 2.481829351e-07f, 2.487095825e-07f, 2.492356959e-07f, 2.497612745e-07f, 2.502863174e-07f, 2.508108238e-07f, 2.513347930e-07f, 2.518582241e-07f, 2.523811163e-07f,
+2.529034688e-07f, 2.534252808e-07f, 2.539465515e-07f, 2.544672800e-07f, 2.549874657e-07f, 2.555071077e-07f, 2.560262052e-07f, 2.565447573e-07f, 2.570627633e-07f, 2.575802225e-07f,
+2.580971339e-07f, 2.586134969e-07f, 2.591293105e-07f, 2.596445741e-07f, 2.601592868e-07f, 2.606734479e-07f, 2.611870565e-07f, 2.617001119e-07f, 2.622126132e-07f, 2.627245598e-07f,
+2.632359507e-07f, 2.637467853e-07f, 2.642570627e-07f, 2.647667822e-07f, 2.652759430e-07f, 2.657845442e-07f, 2.662925852e-07f, 2.668000652e-07f, 2.673069833e-07f, 2.678133388e-07f,
+2.683191309e-07f, 2.688243589e-07f, 2.693290220e-07f, 2.698331194e-07f, 2.703366504e-07f, 2.708396141e-07f, 2.713420099e-07f, 2.718438368e-07f, 2.723450943e-07f, 2.728457815e-07f,
+2.733458977e-07f, 2.738454420e-07f, 2.743444138e-07f, 2.748428123e-07f, 2.753406367e-07f, 2.758378863e-07f, 2.763345602e-07f, 2.768306579e-07f, 2.773261784e-07f, 2.778211211e-07f,
+2.783154853e-07f, 2.788092700e-07f, 2.793024747e-07f, 2.797950985e-07f, 2.802871408e-07f, 2.807786007e-07f, 2.812694776e-07f, 2.817597706e-07f, 2.822494791e-07f, 2.827386023e-07f,
+2.832271395e-07f, 2.837150899e-07f, 2.842024528e-07f, 2.846892275e-07f, 2.851754131e-07f, 2.856610091e-07f, 2.861460146e-07f, 2.866304290e-07f, 2.871142515e-07f, 2.875974813e-07f,
+2.880801178e-07f, 2.885621602e-07f, 2.890436078e-07f, 2.895244599e-07f, 2.900047157e-07f, 2.904843746e-07f, 2.909634357e-07f, 2.914418985e-07f, 2.919197621e-07f, 2.923970259e-07f,
+2.928736891e-07f, 2.933497511e-07f, 2.938252111e-07f, 2.943000683e-07f, 2.947743222e-07f, 2.952479720e-07f, 2.957210169e-07f, 2.961934563e-07f, 2.966652895e-07f, 2.971365157e-07f,
+2.976071343e-07f, 2.980771445e-07f, 2.985465457e-07f, 2.990153372e-07f, 2.994835182e-07f, 2.999510881e-07f, 3.004180461e-07f, 3.008843916e-07f, 3.013501238e-07f, 3.018152422e-07f,
+3.022797459e-07f, 3.027436344e-07f, 3.032069068e-07f, 3.036695626e-07f, 3.041316010e-07f, 3.045930214e-07f, 3.050538230e-07f, 3.055140053e-07f, 3.059735674e-07f, 3.064325088e-07f,
+3.068908287e-07f, 3.073485264e-07f, 3.078056014e-07f, 3.082620529e-07f, 3.087178802e-07f, 3.091730827e-07f, 3.096276596e-07f, 3.100816104e-07f, 3.105349344e-07f, 3.109876308e-07f,
+3.114396991e-07f, 3.118911385e-07f, 3.123419485e-07f, 3.127921282e-07f, 3.132416771e-07f, 3.136905945e-07f, 3.141388798e-07f, 3.145865323e-07f, 3.150335512e-07f, 3.154799361e-07f,
+3.159256862e-07f, 3.163708008e-07f, 3.168152794e-07f, 3.172591212e-07f, 3.177023256e-07f, 3.181448920e-07f, 3.185868197e-07f, 3.190281081e-07f, 3.194687565e-07f, 3.199087643e-07f,
+3.203481309e-07f, 3.207868555e-07f, 3.212249376e-07f, 3.216623766e-07f, 3.220991717e-07f, 3.225353223e-07f, 3.229708279e-07f, 3.234056878e-07f, 3.238399013e-07f, 3.242734678e-07f,
+3.247063867e-07f, 3.251386574e-07f, 3.255702792e-07f, 3.260012515e-07f, 3.264315737e-07f, 3.268612451e-07f, 3.272902652e-07f, 3.277186333e-07f, 3.281463488e-07f, 3.285734110e-07f,
+3.289998195e-07f, 3.294255734e-07f, 3.298506723e-07f, 3.302751155e-07f, 3.306989025e-07f, 3.311220325e-07f, 3.315445050e-07f, 3.319663193e-07f, 3.323874749e-07f, 3.328079712e-07f,
+3.332278076e-07f, 3.336469834e-07f, 3.340654980e-07f, 3.344833509e-07f, 3.349005415e-07f, 3.353170691e-07f, 3.357329331e-07f, 3.361481331e-07f, 3.365626682e-07f, 3.369765381e-07f,
+3.373897420e-07f, 3.378022795e-07f, 3.382141498e-07f, 3.386253524e-07f, 3.390358868e-07f, 3.394457523e-07f, 3.398549483e-07f, 3.402634744e-07f, 3.406713298e-07f, 3.410785140e-07f,
+3.414850265e-07f, 3.418908666e-07f, 3.422960338e-07f, 3.427005275e-07f, 3.431043471e-07f, 3.435074921e-07f, 3.439099619e-07f, 3.443117559e-07f, 3.447128735e-07f, 3.451133142e-07f,
+3.455130774e-07f, 3.459121626e-07f, 3.463105691e-07f, 3.467082965e-07f, 3.471053441e-07f, 3.475017114e-07f, 3.478973979e-07f, 3.482924029e-07f, 3.486867260e-07f, 3.490803666e-07f,
+3.494733241e-07f, 3.498655979e-07f, 3.502571876e-07f, 3.506480925e-07f, 3.510383121e-07f, 3.514278460e-07f, 3.518166934e-07f, 3.522048540e-07f, 3.525923270e-07f, 3.529791121e-07f,
+3.533652086e-07f, 3.537506161e-07f, 3.541353339e-07f, 3.545193616e-07f, 3.549026986e-07f, 3.552853444e-07f, 3.556672984e-07f, 3.560485602e-07f, 3.564291291e-07f, 3.568090047e-07f,
+3.571881864e-07f, 3.575666737e-07f, 3.579444661e-07f, 3.583215630e-07f, 3.586979640e-07f, 3.590736685e-07f, 3.594486760e-07f, 3.598229859e-07f, 3.601965979e-07f, 3.605695112e-07f,
+3.609417255e-07f, 3.613132402e-07f, 3.616840548e-07f, 3.620541689e-07f, 3.624235818e-07f, 3.627922930e-07f, 3.631603022e-07f, 3.635276087e-07f, 3.638942121e-07f, 3.642601118e-07f,
+3.646253074e-07f, 3.649897984e-07f, 3.653535843e-07f, 3.657166645e-07f, 3.660790385e-07f, 3.664407060e-07f, 3.668016663e-07f, 3.671619191e-07f, 3.675214637e-07f, 3.678802998e-07f,
+3.682384267e-07f, 3.685958442e-07f, 3.689525515e-07f, 3.693085484e-07f, 3.696638342e-07f, 3.700184086e-07f, 3.703722709e-07f, 3.707254209e-07f, 3.710778579e-07f, 3.714295815e-07f,
+3.717805912e-07f, 3.721308866e-07f, 3.724804672e-07f, 3.728293325e-07f, 3.731774820e-07f, 3.735249153e-07f, 3.738716319e-07f, 3.742176313e-07f, 3.745629131e-07f, 3.749074769e-07f,
+3.752513221e-07f, 3.755944483e-07f, 3.759368550e-07f, 3.762785418e-07f, 3.766195083e-07f, 3.769597539e-07f, 3.772992783e-07f, 3.776380809e-07f, 3.779761613e-07f, 3.783135191e-07f,
+3.786501538e-07f, 3.789860650e-07f, 3.793212523e-07f, 3.796557151e-07f, 3.799894531e-07f, 3.803224658e-07f, 3.806547527e-07f, 3.809863135e-07f, 3.813171477e-07f, 3.816472548e-07f,
+3.819766344e-07f, 3.823052862e-07f, 3.826332096e-07f, 3.829604042e-07f, 3.832868697e-07f, 3.836126055e-07f, 3.839376113e-07f, 3.842618865e-07f, 3.845854309e-07f, 3.849082440e-07f,
+3.852303253e-07f, 3.855516745e-07f, 3.858722911e-07f, 3.861921747e-07f, 3.865113249e-07f, 3.868297413e-07f, 3.871474235e-07f, 3.874643710e-07f, 3.877805834e-07f, 3.880960604e-07f,
+3.884108015e-07f, 3.887248064e-07f, 3.890380745e-07f, 3.893506056e-07f, 3.896623993e-07f, 3.899734550e-07f, 3.902837724e-07f, 3.905933512e-07f, 3.909021909e-07f, 3.912102912e-07f,
+3.915176515e-07f, 3.918242717e-07f, 3.921301512e-07f, 3.924352896e-07f, 3.927396867e-07f, 3.930433419e-07f, 3.933462549e-07f, 3.936484254e-07f, 3.939498529e-07f, 3.942505371e-07f,
+3.945504776e-07f, 3.948496740e-07f, 3.951481259e-07f, 3.954458329e-07f, 3.957427948e-07f, 3.960390110e-07f, 3.963344813e-07f, 3.966292053e-07f, 3.969231826e-07f, 3.972164128e-07f,
+3.975088955e-07f, 3.978006305e-07f, 3.980916173e-07f, 3.983818556e-07f, 3.986713450e-07f, 3.989600852e-07f, 3.992480757e-07f, 3.995353163e-07f, 3.998218066e-07f, 4.001075463e-07f,
+4.003925349e-07f, 4.006767722e-07f, 4.009602577e-07f, 4.012429912e-07f, 4.015249723e-07f, 4.018062007e-07f, 4.020866759e-07f, 4.023663977e-07f, 4.026453657e-07f, 4.029235796e-07f,
+4.032010391e-07f, 4.034777438e-07f, 4.037536933e-07f, 4.040288874e-07f, 4.043033256e-07f, 4.045770078e-07f, 4.048499335e-07f, 4.051221024e-07f, 4.053935142e-07f, 4.056641686e-07f,
+4.059340652e-07f, 4.062032037e-07f, 4.064715838e-07f, 4.067392052e-07f, 4.070060675e-07f, 4.072721705e-07f, 4.075375138e-07f, 4.078020972e-07f, 4.080659202e-07f, 4.083289826e-07f,
+4.085912840e-07f, 4.088528243e-07f, 4.091136030e-07f, 4.093736198e-07f, 4.096328745e-07f, 4.098913667e-07f, 4.101490962e-07f, 4.104060626e-07f, 4.106622657e-07f, 4.109177051e-07f,
+4.111723805e-07f, 4.114262917e-07f, 4.116794383e-07f, 4.119318202e-07f, 4.121834368e-07f, 4.124342881e-07f, 4.126843737e-07f, 4.129336933e-07f, 4.131822466e-07f, 4.134300333e-07f,
+4.136770532e-07f, 4.139233060e-07f, 4.141687914e-07f, 4.144135090e-07f, 4.146574588e-07f, 4.149006403e-07f, 4.151430533e-07f, 4.153846975e-07f, 4.156255726e-07f, 4.158656785e-07f,
+4.161050147e-07f, 4.163435811e-07f, 4.165813773e-07f, 4.168184032e-07f, 4.170546584e-07f, 4.172901427e-07f, 4.175248559e-07f, 4.177587975e-07f, 4.179919676e-07f, 4.182243656e-07f,
+4.184559915e-07f, 4.186868449e-07f, 4.189169256e-07f, 4.191462333e-07f, 4.193747678e-07f, 4.196025289e-07f, 4.198295163e-07f, 4.200557297e-07f, 4.202811690e-07f, 4.205058338e-07f,
+4.207297239e-07f, 4.209528392e-07f, 4.211751793e-07f, 4.213967440e-07f, 4.216175331e-07f, 4.218375463e-07f, 4.220567834e-07f, 4.222752442e-07f, 4.224929285e-07f, 4.227098360e-07f,
+4.229259665e-07f, 4.231413198e-07f, 4.233558956e-07f, 4.235696938e-07f, 4.237827140e-07f, 4.239949562e-07f, 4.242064200e-07f, 4.244171052e-07f, 4.246270117e-07f, 4.248361393e-07f,
+4.250444876e-07f, 4.252520565e-07f, 4.254588458e-07f, 4.256648553e-07f, 4.258700848e-07f, 4.260745340e-07f, 4.262782028e-07f, 4.264810909e-07f, 4.266831982e-07f, 4.268845245e-07f,
+4.270850695e-07f, 4.272848331e-07f, 4.274838150e-07f, 4.276820151e-07f, 4.278794332e-07f, 4.280760691e-07f, 4.282719226e-07f, 4.284669934e-07f, 4.286612815e-07f, 4.288547867e-07f,
+4.290475086e-07f, 4.292394473e-07f, 4.294306024e-07f, 4.296209738e-07f, 4.298105614e-07f, 4.299993649e-07f, 4.301873841e-07f, 4.303746190e-07f, 4.305610693e-07f, 4.307467348e-07f,
+4.309316154e-07f, 4.311157109e-07f, 4.312990212e-07f, 4.314815460e-07f, 4.316632852e-07f, 4.318442387e-07f, 4.320244063e-07f, 4.322037878e-07f, 4.323823830e-07f, 4.325601919e-07f,
+4.327372142e-07f, 4.329134498e-07f, 4.330888985e-07f, 4.332635602e-07f, 4.334374348e-07f, 4.336105220e-07f, 4.337828218e-07f, 4.339543340e-07f, 4.341250584e-07f, 4.342949950e-07f,
+4.344641434e-07f, 4.346325037e-07f, 4.348000757e-07f, 4.349668592e-07f, 4.351328542e-07f, 4.352980603e-07f, 4.354624777e-07f, 4.356261060e-07f, 4.357889452e-07f, 4.359509951e-07f,
+4.361122556e-07f, 4.362727266e-07f, 4.364324080e-07f, 4.365912996e-07f, 4.367494013e-07f, 4.369067131e-07f, 4.370632346e-07f, 4.372189659e-07f, 4.373739069e-07f, 4.375280574e-07f,
+4.376814172e-07f, 4.378339864e-07f, 4.379857647e-07f, 4.381367521e-07f, 4.382869485e-07f, 4.384363537e-07f, 4.385849676e-07f, 4.387327902e-07f, 4.388798213e-07f, 4.390260609e-07f,
+4.391715088e-07f, 4.393161649e-07f, 4.394600291e-07f, 4.396031014e-07f, 4.397453817e-07f, 4.398868697e-07f, 4.400275656e-07f, 4.401674691e-07f, 4.403065802e-07f, 4.404448987e-07f,
+4.405824247e-07f, 4.407191580e-07f, 4.408550986e-07f, 4.409902462e-07f, 4.411246010e-07f, 4.412581627e-07f, 4.413909314e-07f, 4.415229069e-07f, 4.416540891e-07f, 4.417844781e-07f,
+4.419140737e-07f, 4.420428758e-07f, 4.421708843e-07f, 4.422980993e-07f, 4.424245206e-07f, 4.425501482e-07f, 4.426749820e-07f, 4.427990220e-07f, 4.429222680e-07f, 4.430447200e-07f,
+4.431663781e-07f, 4.432872420e-07f, 4.434073118e-07f, 4.435265873e-07f, 4.436450686e-07f, 4.437627557e-07f, 4.438796483e-07f, 4.439957466e-07f, 4.441110504e-07f, 4.442255597e-07f,
+4.443392744e-07f, 4.444521946e-07f, 4.445643201e-07f, 4.446756510e-07f, 4.447861872e-07f, 4.448959286e-07f, 4.450048752e-07f, 4.451130270e-07f, 4.452203840e-07f, 4.453269461e-07f,
+4.454327132e-07f, 4.455376854e-07f, 4.456418627e-07f, 4.457452449e-07f, 4.458478322e-07f, 4.459496244e-07f, 4.460506215e-07f, 4.461508235e-07f, 4.462502304e-07f, 4.463488422e-07f,
+4.464466589e-07f, 4.465436803e-07f, 4.466399067e-07f, 4.467353378e-07f, 4.468299737e-07f, 4.469238144e-07f, 4.470168599e-07f, 4.471091102e-07f, 4.472005653e-07f, 4.472912251e-07f,
+4.473810897e-07f, 4.474701590e-07f, 4.475584331e-07f, 4.476459120e-07f, 4.477325956e-07f, 4.478184840e-07f, 4.479035772e-07f, 4.479878752e-07f, 4.480713779e-07f, 4.481540855e-07f,
+4.482359978e-07f, 4.483171150e-07f, 4.483974371e-07f, 4.484769639e-07f, 4.485556957e-07f, 4.486336323e-07f, 4.487107739e-07f, 4.487871203e-07f, 4.488626718e-07f, 4.489374281e-07f,
+4.490113895e-07f, 4.490845559e-07f, 4.491569274e-07f, 4.492285039e-07f, 4.492992856e-07f, 4.493692724e-07f, 4.494384643e-07f, 4.495068615e-07f, 4.495744639e-07f, 4.496412716e-07f,
+4.497072847e-07f, 4.497725030e-07f, 4.498369268e-07f, 4.499005561e-07f, 4.499633908e-07f, 4.500254310e-07f, 4.500866769e-07f, 4.501471283e-07f, 4.502067855e-07f, 4.502656484e-07f,
+4.503237170e-07f, 4.503809915e-07f, 4.504374719e-07f, 4.504931582e-07f, 4.505480506e-07f, 4.506021490e-07f, 4.506554535e-07f, 4.507079642e-07f, 4.507596812e-07f, 4.508106045e-07f,
+4.508607342e-07f, 4.509100703e-07f, 4.509586129e-07f, 4.510063621e-07f, 4.510533180e-07f, 4.510994806e-07f, 4.511448501e-07f, 4.511894264e-07f, 4.512332096e-07f, 4.512761999e-07f,
+4.513183974e-07f, 4.513598020e-07f, 4.514004139e-07f, 4.514402332e-07f, 4.514792599e-07f, 4.515174942e-07f, 4.515549361e-07f, 4.515915857e-07f, 4.516274431e-07f, 4.516625084e-07f,
+4.516967817e-07f, 4.517302631e-07f, 4.517629526e-07f, 4.517948505e-07f, 4.518259567e-07f, 4.518562714e-07f, 4.518857947e-07f, 4.519145267e-07f, 4.519424675e-07f, 4.519696171e-07f,
+4.519959758e-07f, 4.520215435e-07f, 4.520463205e-07f, 4.520703069e-07f, 4.520935026e-07f, 4.521159079e-07f, 4.521375229e-07f, 4.521583477e-07f, 4.521783824e-07f, 4.521976271e-07f,
+4.522160820e-07f, 4.522337471e-07f, 4.522506226e-07f, 4.522667087e-07f, 4.522820054e-07f, 4.522965128e-07f, 4.523102312e-07f, 4.523231605e-07f, 4.523353011e-07f, 4.523466529e-07f,
+4.523572162e-07f, 4.523669910e-07f, 4.523759775e-07f, 4.523841759e-07f, 4.523915863e-07f, 4.523982087e-07f, 4.524040434e-07f, 4.524090906e-07f, 4.524133503e-07f, 4.524168226e-07f,
+4.524195078e-07f, 4.524214061e-07f, 4.524225174e-07f, 4.524228421e-07f, 4.524223802e-07f, 4.524211319e-07f, 4.524190973e-07f, 4.524162767e-07f, 4.524126701e-07f, 4.524082778e-07f,
+4.524030999e-07f, 4.523971365e-07f, 4.523903879e-07f, 4.523828541e-07f, 4.523745354e-07f, 4.523654319e-07f, 4.523555438e-07f, 4.523448713e-07f, 4.523334144e-07f, 4.523211735e-07f,
+4.523081487e-07f, 4.522943401e-07f, 4.522797480e-07f, 4.522643724e-07f, 4.522482137e-07f, 4.522312719e-07f, 4.522135473e-07f, 4.521950400e-07f, 4.521757502e-07f, 4.521556782e-07f,
+4.521348240e-07f, 4.521131880e-07f, 4.520907702e-07f, 4.520675708e-07f, 4.520435902e-07f, 4.520188283e-07f, 4.519932856e-07f, 4.519669621e-07f, 4.519398580e-07f, 4.519119735e-07f,
+4.518833090e-07f, 4.518538644e-07f, 4.518236402e-07f, 4.517926363e-07f, 4.517608532e-07f, 4.517282909e-07f, 4.516949497e-07f, 4.516608298e-07f, 4.516259313e-07f, 4.515902546e-07f,
+4.515537999e-07f, 4.515165672e-07f, 4.514785570e-07f, 4.514397693e-07f, 4.514002044e-07f, 4.513598625e-07f, 4.513187439e-07f, 4.512768488e-07f, 4.512341773e-07f, 4.511907297e-07f,
+4.511465063e-07f, 4.511015073e-07f, 4.510557329e-07f, 4.510091832e-07f, 4.509618587e-07f, 4.509137595e-07f, 4.508648858e-07f, 4.508152378e-07f, 4.507648159e-07f, 4.507136202e-07f,
+4.506616510e-07f, 4.506089086e-07f, 4.505553931e-07f, 4.505011048e-07f, 4.504460440e-07f, 4.503902109e-07f, 4.503336058e-07f, 4.502762289e-07f, 4.502180804e-07f, 4.501591606e-07f,
+4.500994698e-07f, 4.500390083e-07f, 4.499777762e-07f, 4.499157738e-07f, 4.498530014e-07f, 4.497894593e-07f, 4.497251476e-07f, 4.496600668e-07f, 4.495942170e-07f, 4.495275985e-07f,
+4.494602115e-07f, 4.493920564e-07f, 4.493231334e-07f, 4.492534428e-07f, 4.491829848e-07f, 4.491117598e-07f, 4.490397679e-07f, 4.489670095e-07f, 4.488934849e-07f, 4.488191942e-07f,
+4.487441379e-07f, 4.486683162e-07f, 4.485917293e-07f, 4.485143776e-07f, 4.484362613e-07f, 4.483573807e-07f, 4.482777361e-07f, 4.481973278e-07f, 4.481161561e-07f, 4.480342213e-07f,
+4.479515236e-07f, 4.478680634e-07f, 4.477838410e-07f, 4.476988566e-07f, 4.476131105e-07f, 4.475266031e-07f, 4.474393346e-07f, 4.473513054e-07f, 4.472625157e-07f, 4.471729658e-07f,
+4.470826561e-07f, 4.469915869e-07f, 4.468997585e-07f, 4.468071711e-07f, 4.467138251e-07f, 4.466197208e-07f, 4.465248585e-07f, 4.464292385e-07f, 4.463328611e-07f, 4.462357268e-07f,
+4.461378356e-07f, 4.460391881e-07f, 4.459397845e-07f, 4.458396251e-07f, 4.457387103e-07f, 4.456370403e-07f, 4.455346155e-07f, 4.454314363e-07f, 4.453275029e-07f, 4.452228157e-07f,
+4.451173750e-07f, 4.450111811e-07f, 4.449042345e-07f, 4.447965353e-07f, 4.446880839e-07f, 4.445788808e-07f, 4.444689262e-07f, 4.443582204e-07f, 4.442467638e-07f, 4.441345568e-07f,
+4.440215996e-07f, 4.439078926e-07f, 4.437934363e-07f, 4.436782308e-07f, 4.435622766e-07f, 4.434455740e-07f, 4.433281233e-07f, 4.432099250e-07f, 4.430909793e-07f, 4.429712866e-07f,
+4.428508474e-07f, 4.427296618e-07f, 4.426077303e-07f, 4.424850533e-07f, 4.423616310e-07f, 4.422374639e-07f, 4.421125524e-07f, 4.419868967e-07f, 4.418604973e-07f, 4.417333544e-07f,
+4.416054686e-07f, 4.414768401e-07f, 4.413474694e-07f, 4.412173567e-07f, 4.410865025e-07f, 4.409549072e-07f, 4.408225710e-07f, 4.406894944e-07f, 4.405556778e-07f, 4.404211216e-07f,
+4.402858260e-07f, 4.401497916e-07f, 4.400130186e-07f, 4.398755075e-07f, 4.397372587e-07f, 4.395982725e-07f, 4.394585493e-07f, 4.393180895e-07f, 4.391768935e-07f, 4.390349617e-07f,
+4.388922945e-07f, 4.387488922e-07f, 4.386047553e-07f, 4.384598842e-07f, 4.383142792e-07f, 4.381679408e-07f, 4.380208693e-07f, 4.378730652e-07f, 4.377245288e-07f, 4.375752606e-07f,
+4.374252609e-07f, 4.372745302e-07f, 4.371230689e-07f, 4.369708774e-07f, 4.368179560e-07f, 4.366643052e-07f, 4.365099254e-07f, 4.363548171e-07f, 4.361989805e-07f, 4.360424162e-07f,
+4.358851246e-07f, 4.357271060e-07f, 4.355683609e-07f, 4.354088898e-07f, 4.352486929e-07f, 4.350877708e-07f, 4.349261239e-07f, 4.347637526e-07f, 4.346006573e-07f, 4.344368384e-07f,
+4.342722964e-07f, 4.341070317e-07f, 4.339410448e-07f, 4.337743360e-07f, 4.336069058e-07f, 4.334387546e-07f, 4.332698829e-07f, 4.331002911e-07f, 4.329299796e-07f, 4.327589489e-07f,
+4.325871994e-07f, 4.324147315e-07f, 4.322415457e-07f, 4.320676425e-07f, 4.318930222e-07f, 4.317176854e-07f, 4.315416324e-07f, 4.313648638e-07f, 4.311873799e-07f, 4.310091812e-07f,
+4.308302681e-07f, 4.306506412e-07f, 4.304703008e-07f, 4.302892475e-07f, 4.301074817e-07f, 4.299250037e-07f, 4.297418142e-07f, 4.295579135e-07f, 4.293733021e-07f, 4.291879805e-07f,
+4.290019491e-07f, 4.288152083e-07f, 4.286277588e-07f, 4.284396009e-07f, 4.282507350e-07f, 4.280611617e-07f, 4.278708815e-07f, 4.276798947e-07f, 4.274882019e-07f, 4.272958035e-07f,
+4.271027001e-07f, 4.269088920e-07f, 4.267143798e-07f, 4.265191639e-07f, 4.263232449e-07f, 4.261266231e-07f, 4.259292992e-07f, 4.257312734e-07f, 4.255325464e-07f, 4.253331187e-07f,
+4.251329906e-07f, 4.249321628e-07f, 4.247306356e-07f, 4.245284096e-07f, 4.243254852e-07f, 4.241218630e-07f, 4.239175434e-07f, 4.237125270e-07f, 4.235068142e-07f, 4.233004055e-07f,
+4.230933014e-07f, 4.228855025e-07f, 4.226770091e-07f, 4.224678219e-07f, 4.222579413e-07f, 4.220473678e-07f, 4.218361019e-07f, 4.216241441e-07f, 4.214114949e-07f, 4.211981549e-07f,
+4.209841245e-07f, 4.207694043e-07f, 4.205539947e-07f, 4.203378963e-07f, 4.201211096e-07f, 4.199036350e-07f, 4.196854732e-07f, 4.194666245e-07f, 4.192470896e-07f, 4.190268690e-07f,
+4.188059631e-07f, 4.185843725e-07f, 4.183620978e-07f, 4.181391393e-07f, 4.179154977e-07f, 4.176911735e-07f, 4.174661672e-07f, 4.172404793e-07f, 4.170141103e-07f, 4.167870609e-07f,
+4.165593314e-07f, 4.163309225e-07f, 4.161018346e-07f, 4.158720684e-07f, 4.156416243e-07f, 4.154105029e-07f, 4.151787046e-07f, 4.149462301e-07f, 4.147130799e-07f, 4.144792545e-07f,
+4.142447545e-07f, 4.140095804e-07f, 4.137737327e-07f, 4.135372120e-07f, 4.133000188e-07f, 4.130621537e-07f, 4.128236172e-07f, 4.125844099e-07f, 4.123445323e-07f, 4.121039850e-07f,
+4.118627684e-07f, 4.116208833e-07f, 4.113783300e-07f, 4.111351093e-07f, 4.108912215e-07f, 4.106466674e-07f, 4.104014473e-07f, 4.101555620e-07f, 4.099090119e-07f, 4.096617977e-07f,
+4.094139198e-07f, 4.091653789e-07f, 4.089161754e-07f, 4.086663101e-07f, 4.084157833e-07f, 4.081645958e-07f, 4.079127480e-07f, 4.076602405e-07f, 4.074070740e-07f, 4.071532489e-07f,
+4.068987659e-07f, 4.066436255e-07f, 4.063878283e-07f, 4.061313748e-07f, 4.058742657e-07f, 4.056165015e-07f, 4.053580828e-07f, 4.050990101e-07f, 4.048392841e-07f, 4.045789054e-07f,
+4.043178744e-07f, 4.040561919e-07f, 4.037938583e-07f, 4.035308743e-07f, 4.032672405e-07f, 4.030029573e-07f, 4.027380255e-07f, 4.024724457e-07f, 4.022062183e-07f, 4.019393440e-07f,
+4.016718234e-07f, 4.014036571e-07f, 4.011348457e-07f, 4.008653897e-07f, 4.005952898e-07f, 4.003245466e-07f, 4.000531606e-07f, 3.997811325e-07f, 3.995084628e-07f, 3.992351522e-07f,
+3.989612012e-07f, 3.986866106e-07f, 3.984113807e-07f, 3.981355124e-07f, 3.978590061e-07f, 3.975818625e-07f, 3.973040823e-07f, 3.970256659e-07f, 3.967466140e-07f, 3.964669272e-07f,
+3.961866062e-07f, 3.959056516e-07f, 3.956240639e-07f, 3.953418437e-07f, 3.950589918e-07f, 3.947755086e-07f, 3.944913949e-07f, 3.942066513e-07f, 3.939212783e-07f, 3.936352766e-07f,
+3.933486468e-07f, 3.930613895e-07f, 3.927735054e-07f, 3.924849950e-07f, 3.921958591e-07f, 3.919060982e-07f, 3.916157129e-07f, 3.913247040e-07f, 3.910330719e-07f, 3.907408174e-07f,
+3.904479411e-07f, 3.901544436e-07f, 3.898603255e-07f, 3.895655875e-07f, 3.892702302e-07f, 3.889742543e-07f, 3.886776603e-07f, 3.883804490e-07f, 3.880826209e-07f, 3.877841768e-07f,
+3.874851172e-07f, 3.871854427e-07f, 3.868851541e-07f, 3.865842520e-07f, 3.862827370e-07f, 3.859806097e-07f, 3.856778709e-07f, 3.853745211e-07f, 3.850705610e-07f, 3.847659912e-07f,
+3.844608125e-07f, 3.841550254e-07f, 3.838486307e-07f, 3.835416289e-07f, 3.832340207e-07f, 3.829258067e-07f, 3.826169878e-07f, 3.823075643e-07f, 3.819975372e-07f, 3.816869069e-07f,
+3.813756742e-07f, 3.810638397e-07f, 3.807514041e-07f, 3.804383680e-07f, 3.801247321e-07f, 3.798104971e-07f, 3.794956637e-07f, 3.791802324e-07f, 3.788642040e-07f, 3.785475792e-07f,
+3.782303585e-07f, 3.779125427e-07f, 3.775941325e-07f, 3.772751285e-07f, 3.769555314e-07f, 3.766353418e-07f, 3.763145605e-07f, 3.759931881e-07f, 3.756712252e-07f, 3.753486727e-07f,
+3.750255311e-07f, 3.747018011e-07f, 3.743774834e-07f, 3.740525786e-07f, 3.737270876e-07f, 3.734010109e-07f, 3.730743492e-07f, 3.727471032e-07f, 3.724192737e-07f, 3.720908612e-07f,
+3.717618665e-07f, 3.714322902e-07f, 3.711021331e-07f, 3.707713958e-07f, 3.704400790e-07f, 3.701081835e-07f, 3.697757099e-07f, 3.694426588e-07f, 3.691090311e-07f, 3.687748273e-07f,
+3.684400483e-07f, 3.681046946e-07f, 3.677687670e-07f, 3.674322662e-07f, 3.670951928e-07f, 3.667575476e-07f, 3.664193313e-07f, 3.660805446e-07f, 3.657411881e-07f, 3.654012627e-07f,
+3.650607689e-07f, 3.647197075e-07f, 3.643780792e-07f, 3.640358847e-07f, 3.636931247e-07f, 3.633497999e-07f, 3.630059111e-07f, 3.626614589e-07f, 3.623164441e-07f, 3.619708673e-07f,
+3.616247293e-07f, 3.612780307e-07f, 3.609307724e-07f, 3.605829550e-07f, 3.602345792e-07f, 3.598856458e-07f, 3.595361554e-07f, 3.591861088e-07f, 3.588355067e-07f, 3.584843499e-07f,
+3.581326390e-07f, 3.577803747e-07f, 3.574275578e-07f, 3.570741891e-07f, 3.567202692e-07f, 3.563657988e-07f, 3.560107788e-07f, 3.556552097e-07f, 3.552990924e-07f, 3.549424276e-07f,
+3.545852159e-07f, 3.542274582e-07f, 3.538691551e-07f, 3.535103074e-07f, 3.531509159e-07f, 3.527909812e-07f, 3.524305041e-07f, 3.520694853e-07f, 3.517079256e-07f, 3.513458256e-07f,
+3.509831862e-07f, 3.506200081e-07f, 3.502562920e-07f, 3.498920386e-07f, 3.495272487e-07f, 3.491619231e-07f, 3.487960624e-07f, 3.484296674e-07f, 3.480627389e-07f, 3.476952776e-07f,
+3.473272842e-07f, 3.469587595e-07f, 3.465897043e-07f, 3.462201192e-07f, 3.458500051e-07f, 3.454793627e-07f, 3.451081927e-07f, 3.447364959e-07f, 3.443642730e-07f, 3.439915248e-07f,
+3.436182520e-07f, 3.432444554e-07f, 3.428701358e-07f, 3.424952939e-07f, 3.421199304e-07f, 3.417440462e-07f, 3.413676419e-07f, 3.409907183e-07f, 3.406132763e-07f, 3.402353164e-07f,
+3.398568396e-07f, 3.394778466e-07f, 3.390983381e-07f, 3.387183148e-07f, 3.383377777e-07f, 3.379567273e-07f, 3.375751646e-07f, 3.371930902e-07f, 3.368105049e-07f, 3.364274095e-07f,
+3.360438047e-07f, 3.356596914e-07f, 3.352750702e-07f, 3.348899421e-07f, 3.345043076e-07f, 3.341181677e-07f, 3.337315230e-07f, 3.333443743e-07f, 3.329567225e-07f, 3.325685683e-07f,
+3.321799125e-07f, 3.317907558e-07f, 3.314010990e-07f, 3.310109429e-07f, 3.306202883e-07f, 3.302291360e-07f, 3.298374867e-07f, 3.294453412e-07f, 3.290527003e-07f, 3.286595648e-07f,
+3.282659354e-07f, 3.278718130e-07f, 3.274771983e-07f, 3.270820921e-07f, 3.266864952e-07f, 3.262904084e-07f, 3.258938325e-07f, 3.254967682e-07f, 3.250992164e-07f, 3.247011778e-07f,
+3.243026532e-07f, 3.239036435e-07f, 3.235041493e-07f, 3.231041715e-07f, 3.227037110e-07f, 3.223027684e-07f, 3.219013445e-07f, 3.214994403e-07f, 3.210970564e-07f, 3.206941936e-07f,
+3.202908528e-07f, 3.198870348e-07f, 3.194827403e-07f, 3.190779701e-07f, 3.186727251e-07f, 3.182670060e-07f, 3.178608137e-07f, 3.174541489e-07f, 3.170470124e-07f, 3.166394052e-07f,
+3.162313278e-07f, 3.158227812e-07f, 3.154137662e-07f, 3.150042835e-07f, 3.145943340e-07f, 3.141839185e-07f, 3.137730377e-07f, 3.133616926e-07f, 3.129498838e-07f, 3.125376123e-07f,
+3.121248787e-07f, 3.117116840e-07f, 3.112980289e-07f, 3.108839143e-07f, 3.104693409e-07f, 3.100543096e-07f, 3.096388212e-07f, 3.092228765e-07f, 3.088064763e-07f, 3.083896214e-07f,
+3.079723126e-07f, 3.075545509e-07f, 3.071363369e-07f, 3.067176715e-07f, 3.062985555e-07f, 3.058789897e-07f, 3.054589750e-07f, 3.050385121e-07f, 3.046176020e-07f, 3.041962454e-07f,
+3.037744431e-07f, 3.033521959e-07f, 3.029295048e-07f, 3.025063704e-07f, 3.020827937e-07f, 3.016587754e-07f, 3.012343165e-07f, 3.008094176e-07f, 3.003840796e-07f, 2.999583035e-07f,
+2.995320899e-07f, 2.991054397e-07f, 2.986783538e-07f, 2.982508329e-07f, 2.978228780e-07f, 2.973944898e-07f, 2.969656692e-07f, 2.965364169e-07f, 2.961067339e-07f, 2.956766210e-07f,
+2.952460790e-07f, 2.948151087e-07f, 2.943837110e-07f, 2.939518867e-07f, 2.935196367e-07f, 2.930869617e-07f, 2.926538626e-07f, 2.922203403e-07f, 2.917863957e-07f, 2.913520294e-07f,
+2.909172424e-07f, 2.904820355e-07f, 2.900464096e-07f, 2.896103655e-07f, 2.891739040e-07f, 2.887370261e-07f, 2.882997324e-07f, 2.878620239e-07f, 2.874239014e-07f, 2.869853658e-07f,
+2.865464179e-07f, 2.861070585e-07f, 2.856672886e-07f, 2.852271089e-07f, 2.847865202e-07f, 2.843455235e-07f, 2.839041196e-07f, 2.834623094e-07f, 2.830200936e-07f, 2.825774732e-07f,
+2.821344489e-07f, 2.816910217e-07f, 2.812471924e-07f, 2.808029618e-07f, 2.803583309e-07f, 2.799133003e-07f, 2.794678711e-07f, 2.790220441e-07f, 2.785758200e-07f, 2.781291999e-07f,
+2.776821844e-07f, 2.772347746e-07f, 2.767869712e-07f, 2.763387751e-07f, 2.758901871e-07f, 2.754412082e-07f, 2.749918391e-07f, 2.745420808e-07f, 2.740919340e-07f, 2.736413997e-07f,
+2.731904788e-07f, 2.727391720e-07f, 2.722874802e-07f, 2.718354044e-07f, 2.713829453e-07f, 2.709301039e-07f, 2.704768810e-07f, 2.700232774e-07f, 2.695692940e-07f, 2.691149318e-07f,
+2.686601915e-07f, 2.682050740e-07f, 2.677495802e-07f, 2.672937109e-07f, 2.668374671e-07f, 2.663808496e-07f, 2.659238593e-07f, 2.654664970e-07f, 2.650087636e-07f, 2.645506600e-07f,
+2.640921870e-07f, 2.636333456e-07f, 2.631741365e-07f, 2.627145607e-07f, 2.622546190e-07f, 2.617943124e-07f, 2.613336416e-07f, 2.608726076e-07f, 2.604112112e-07f, 2.599494534e-07f,
+2.594873349e-07f, 2.590248567e-07f, 2.585620196e-07f, 2.580988245e-07f, 2.576352723e-07f, 2.571713639e-07f, 2.567071002e-07f, 2.562424819e-07f, 2.557775101e-07f, 2.553121856e-07f,
+2.548465092e-07f, 2.543804819e-07f, 2.539141045e-07f, 2.534473779e-07f, 2.529803030e-07f, 2.525128807e-07f, 2.520451118e-07f, 2.515769973e-07f, 2.511085380e-07f, 2.506397348e-07f,
+2.501705886e-07f, 2.497011003e-07f, 2.492312707e-07f, 2.487611008e-07f, 2.482905915e-07f, 2.478197435e-07f, 2.473485579e-07f, 2.468770354e-07f, 2.464051771e-07f, 2.459329837e-07f,
+2.454604562e-07f, 2.449875954e-07f, 2.445144023e-07f, 2.440408777e-07f, 2.435670225e-07f, 2.430928377e-07f, 2.426183240e-07f, 2.421434825e-07f, 2.416683139e-07f, 2.411928192e-07f,
+2.407169993e-07f, 2.402408550e-07f, 2.397643873e-07f, 2.392875971e-07f, 2.388104852e-07f, 2.383330525e-07f, 2.378553000e-07f, 2.373772285e-07f, 2.368988389e-07f, 2.364201322e-07f,
+2.359411092e-07f, 2.354617708e-07f, 2.349821179e-07f, 2.345021514e-07f, 2.340218722e-07f, 2.335412813e-07f, 2.330603794e-07f, 2.325791676e-07f, 2.320976467e-07f, 2.316158175e-07f,
+2.311336811e-07f, 2.306512383e-07f, 2.301684900e-07f, 2.296854371e-07f, 2.292020805e-07f, 2.287184212e-07f, 2.282344599e-07f, 2.277501977e-07f, 2.272656354e-07f, 2.267807739e-07f,
+2.262956141e-07f, 2.258101570e-07f, 2.253244034e-07f, 2.248383543e-07f, 2.243520105e-07f, 2.238653729e-07f, 2.233784425e-07f, 2.228912202e-07f, 2.224037069e-07f, 2.219159034e-07f,
+2.214278107e-07f, 2.209394297e-07f, 2.204507613e-07f, 2.199618065e-07f, 2.194725660e-07f, 2.189830409e-07f, 2.184932319e-07f, 2.180031402e-07f, 2.175127665e-07f, 2.170221117e-07f,
+2.165311769e-07f, 2.160399628e-07f, 2.155484704e-07f, 2.150567006e-07f, 2.145646543e-07f, 2.140723325e-07f, 2.135797360e-07f, 2.130868658e-07f, 2.125937227e-07f, 2.121003077e-07f,
+2.116066217e-07f, 2.111126656e-07f, 2.106184404e-07f, 2.101239468e-07f, 2.096291860e-07f, 2.091341586e-07f, 2.086388658e-07f, 2.081433084e-07f, 2.076474872e-07f, 2.071514033e-07f,
+2.066550576e-07f, 2.061584509e-07f, 2.056615842e-07f, 2.051644583e-07f, 2.046670743e-07f, 2.041694330e-07f, 2.036715354e-07f, 2.031733823e-07f, 2.026749747e-07f, 2.021763135e-07f,
+2.016773996e-07f, 2.011782339e-07f, 2.006788175e-07f, 2.001791511e-07f, 1.996792356e-07f, 1.991790722e-07f, 1.986786615e-07f, 1.981780046e-07f, 1.976771024e-07f, 1.971759558e-07f,
+1.966745657e-07f, 1.961729330e-07f, 1.956710587e-07f, 1.951689437e-07f, 1.946665890e-07f, 1.941639953e-07f, 1.936611637e-07f, 1.931580951e-07f, 1.926547904e-07f, 1.921512505e-07f,
+1.916474763e-07f, 1.911434688e-07f, 1.906392290e-07f, 1.901347576e-07f, 1.896300557e-07f, 1.891251242e-07f, 1.886199639e-07f, 1.881145759e-07f, 1.876089610e-07f, 1.871031202e-07f,
+1.865970544e-07f, 1.860907645e-07f, 1.855842515e-07f, 1.850775162e-07f, 1.845705597e-07f, 1.840633828e-07f, 1.835559864e-07f, 1.830483715e-07f, 1.825405391e-07f, 1.820324900e-07f,
+1.815242251e-07f, 1.810157454e-07f, 1.805070519e-07f, 1.799981454e-07f, 1.794890269e-07f, 1.789796974e-07f, 1.784701576e-07f, 1.779604086e-07f, 1.774504514e-07f, 1.769402867e-07f,
+1.764299156e-07f, 1.759193390e-07f, 1.754085578e-07f, 1.748975730e-07f, 1.743863854e-07f, 1.738749961e-07f, 1.733634059e-07f, 1.728516157e-07f, 1.723396266e-07f, 1.718274394e-07f,
+1.713150551e-07f, 1.708024745e-07f, 1.702896987e-07f, 1.697767286e-07f, 1.692635650e-07f, 1.687502090e-07f, 1.682366614e-07f, 1.677229233e-07f, 1.672089954e-07f, 1.666948788e-07f,
+1.661805744e-07f, 1.656660831e-07f, 1.651514059e-07f, 1.646365436e-07f, 1.641214973e-07f, 1.636062678e-07f, 1.630908561e-07f, 1.625752632e-07f, 1.620594899e-07f, 1.615435372e-07f,
+1.610274060e-07f, 1.605110973e-07f, 1.599946119e-07f, 1.594779509e-07f, 1.589611152e-07f, 1.584441057e-07f, 1.579269233e-07f, 1.574095690e-07f, 1.568920436e-07f, 1.563743483e-07f,
+1.558564838e-07f, 1.553384511e-07f, 1.548202511e-07f, 1.543018849e-07f, 1.537833532e-07f, 1.532646571e-07f, 1.527457975e-07f, 1.522267754e-07f, 1.517075916e-07f, 1.511882471e-07f,
+1.506687428e-07f, 1.501490797e-07f, 1.496292588e-07f, 1.491092808e-07f, 1.485891469e-07f, 1.480688579e-07f, 1.475484147e-07f, 1.470278183e-07f, 1.465070697e-07f, 1.459861697e-07f,
+1.454651194e-07f, 1.449439196e-07f, 1.444225712e-07f, 1.439010753e-07f, 1.433794328e-07f, 1.428576445e-07f, 1.423357115e-07f, 1.418136347e-07f, 1.412914150e-07f, 1.407690533e-07f,
+1.402465506e-07f, 1.397239078e-07f, 1.392011259e-07f, 1.386782058e-07f, 1.381551484e-07f, 1.376319547e-07f, 1.371086256e-07f, 1.365851621e-07f, 1.360615651e-07f, 1.355378355e-07f,
+1.350139743e-07f, 1.344899823e-07f, 1.339658607e-07f, 1.334416102e-07f, 1.329172318e-07f, 1.323927265e-07f, 1.318680953e-07f, 1.313433389e-07f, 1.308184584e-07f, 1.302934548e-07f,
+1.297683289e-07f, 1.292430817e-07f, 1.287177142e-07f, 1.281922272e-07f, 1.276666217e-07f, 1.271408987e-07f, 1.266150591e-07f, 1.260891039e-07f, 1.255630339e-07f, 1.250368501e-07f,
+1.245105534e-07f, 1.239841449e-07f, 1.234576253e-07f, 1.229309958e-07f, 1.224042571e-07f, 1.218774103e-07f, 1.213504563e-07f, 1.208233960e-07f, 1.202962304e-07f, 1.197689604e-07f,
+1.192415869e-07f, 1.187141109e-07f, 1.181865333e-07f, 1.176588551e-07f, 1.171310772e-07f, 1.166032005e-07f, 1.160752260e-07f, 1.155471546e-07f, 1.150189873e-07f, 1.144907250e-07f,
+1.139623686e-07f, 1.134339191e-07f, 1.129053774e-07f, 1.123767444e-07f, 1.118480212e-07f, 1.113192085e-07f, 1.107903075e-07f, 1.102613189e-07f, 1.097322438e-07f, 1.092030831e-07f,
+1.086738377e-07f, 1.081445085e-07f, 1.076150966e-07f, 1.070856028e-07f, 1.065560281e-07f, 1.060263734e-07f, 1.054966397e-07f, 1.049668278e-07f, 1.044369388e-07f, 1.039069736e-07f,
+1.033769330e-07f, 1.028468182e-07f, 1.023166299e-07f, 1.017863691e-07f, 1.012560368e-07f, 1.007256339e-07f, 1.001951613e-07f, 9.966462003e-08f, 9.913401096e-08f, 9.860333504e-08f,
+9.807259321e-08f, 9.754178641e-08f, 9.701091558e-08f, 9.647998165e-08f, 9.594898556e-08f, 9.541792825e-08f, 9.488681065e-08f, 9.435563371e-08f, 9.382439836e-08f, 9.329310553e-08f,
+9.276175617e-08f, 9.223035121e-08f, 9.169889158e-08f, 9.116737823e-08f, 9.063581209e-08f, 9.010419410e-08f, 8.957252520e-08f, 8.904080631e-08f, 8.850903838e-08f, 8.797722234e-08f,
+8.744535913e-08f, 8.691344968e-08f, 8.638149494e-08f, 8.584949583e-08f, 8.531745329e-08f, 8.478536826e-08f, 8.425324167e-08f, 8.372107446e-08f, 8.318886756e-08f, 8.265662191e-08f,
+8.212433844e-08f, 8.159201809e-08f, 8.105966179e-08f, 8.052727048e-08f, 7.999484509e-08f, 7.946238656e-08f, 7.892989581e-08f, 7.839737379e-08f, 7.786482143e-08f, 7.733223965e-08f,
+7.679962940e-08f, 7.626699161e-08f, 7.573432722e-08f, 7.520163714e-08f, 7.466892233e-08f, 7.413618370e-08f, 7.360342220e-08f, 7.307063876e-08f, 7.253783431e-08f, 7.200500977e-08f,
+7.147216609e-08f, 7.093930420e-08f, 7.040642502e-08f, 6.987352950e-08f, 6.934061855e-08f, 6.880769312e-08f, 6.827475413e-08f, 6.774180251e-08f, 6.720883920e-08f, 6.667586513e-08f,
+6.614288123e-08f, 6.560988842e-08f, 6.507688764e-08f, 6.454387982e-08f, 6.401086588e-08f, 6.347784676e-08f, 6.294482340e-08f, 6.241179670e-08f, 6.187876762e-08f, 6.134573707e-08f,
+6.081270598e-08f, 6.027967528e-08f, 5.974664591e-08f, 5.921361878e-08f, 5.868059484e-08f, 5.814757500e-08f, 5.761456019e-08f, 5.708155134e-08f, 5.654854938e-08f, 5.601555524e-08f,
+5.548256984e-08f, 5.494959410e-08f, 5.441662897e-08f, 5.388367535e-08f, 5.335073419e-08f, 5.281780639e-08f, 5.228489290e-08f, 5.175199463e-08f, 5.121911252e-08f, 5.068624748e-08f,
+5.015340044e-08f, 4.962057232e-08f, 4.908776406e-08f, 4.855497657e-08f, 4.802221078e-08f, 4.748946761e-08f, 4.695674799e-08f, 4.642405283e-08f, 4.589138307e-08f, 4.535873962e-08f,
+4.482612341e-08f, 4.429353536e-08f, 4.376097639e-08f, 4.322844743e-08f, 4.269594939e-08f, 4.216348321e-08f, 4.163104979e-08f, 4.109865006e-08f, 4.056628494e-08f, 4.003395535e-08f,
+3.950166221e-08f, 3.896940645e-08f, 3.843718898e-08f, 3.790501071e-08f, 3.737287258e-08f, 3.684077550e-08f, 3.630872039e-08f, 3.577670816e-08f, 3.524473974e-08f, 3.471281604e-08f,
+3.418093798e-08f, 3.364910648e-08f, 3.311732246e-08f, 3.258558683e-08f, 3.205390050e-08f, 3.152226441e-08f, 3.099067945e-08f, 3.045914656e-08f, 2.992766663e-08f, 2.939624060e-08f,
+2.886486937e-08f, 2.833355386e-08f, 2.780229498e-08f, 2.727109365e-08f, 2.673995078e-08f, 2.620886729e-08f, 2.567784408e-08f, 2.514688208e-08f, 2.461598219e-08f, 2.408514532e-08f,
+2.355437240e-08f, 2.302366433e-08f, 2.249302202e-08f, 2.196244638e-08f, 2.143193833e-08f, 2.090149878e-08f, 2.037112863e-08f, 1.984082880e-08f, 1.931060019e-08f, 1.878044372e-08f,
+1.825036030e-08f, 1.772035083e-08f, 1.719041622e-08f, 1.666055738e-08f, 1.613077523e-08f, 1.560107066e-08f, 1.507144458e-08f, 1.454189790e-08f, 1.401243154e-08f, 1.348304638e-08f,
+1.295374335e-08f, 1.242452334e-08f, 1.189538727e-08f, 1.136633603e-08f, 1.083737053e-08f, 1.030849168e-08f, 9.779700378e-09f, 9.250997529e-09f, 8.722384039e-09f, 8.193860808e-09f,
+7.665428741e-09f, 7.137088739e-09f, 6.608841705e-09f, 6.080688540e-09f, 5.552630146e-09f, 5.024667424e-09f, 4.496801275e-09f, 3.969032598e-09f, 3.441362295e-09f, 2.913791264e-09f,
+2.386320406e-09f, 1.858950618e-09f, 1.331682800e-09f, 8.045178501e-10f, 2.774566659e-10f, -2.494998550e-10f, -7.763508155e-10f, -1.303095319e-09f, -1.829732468e-09f, -2.356261367e-09f,
+-2.882681121e-09f, -3.408990834e-09f, -3.935189611e-09f, -4.461276557e-09f, -4.987250779e-09f, -5.513111382e-09f, -6.038857472e-09f, -6.564488158e-09f, -7.090002546e-09f, -7.615399743e-09f,
+-8.140678858e-09f, -8.665838999e-09f, -9.190879275e-09f, -9.715798795e-09f, -1.024059667e-08f, -1.076527201e-08f, -1.128982392e-08f, -1.181425151e-08f, -1.233855391e-08f, -1.286273021e-08f,
+-1.338677953e-08f, -1.391070098e-08f, -1.443449367e-08f, -1.495815672e-08f, -1.548168925e-08f, -1.600509036e-08f, -1.652835917e-08f, -1.705149479e-08f, -1.757449634e-08f, -1.809736294e-08f,
+-1.862009369e-08f, -1.914268773e-08f, -1.966514416e-08f, -2.018746210e-08f, -2.070964067e-08f, -2.123167899e-08f, -2.175357617e-08f, -2.227533133e-08f, -2.279694360e-08f, -2.331841210e-08f,
+-2.383973594e-08f, -2.436091424e-08f, -2.488194612e-08f, -2.540283072e-08f, -2.592356714e-08f, -2.644415452e-08f, -2.696459196e-08f, -2.748487861e-08f, -2.800501357e-08f, -2.852499598e-08f,
+-2.904482496e-08f, -2.956449964e-08f, -3.008401913e-08f, -3.060338257e-08f, -3.112258908e-08f, -3.164163779e-08f, -3.216052782e-08f, -3.267925831e-08f, -3.319782838e-08f, -3.371623716e-08f,
+-3.423448378e-08f, -3.475256737e-08f, -3.527048706e-08f, -3.578824197e-08f, -3.630583125e-08f, -3.682325401e-08f, -3.734050940e-08f, -3.785759655e-08f, -3.837451458e-08f, -3.889126263e-08f,
+-3.940783984e-08f, -3.992424533e-08f, -4.044047825e-08f, -4.095653773e-08f, -4.147242290e-08f, -4.198813290e-08f, -4.250366687e-08f, -4.301902394e-08f, -4.353420325e-08f, -4.404920394e-08f,
+-4.456402514e-08f, -4.507866601e-08f, -4.559312566e-08f, -4.610740326e-08f, -4.662149793e-08f, -4.713540881e-08f, -4.764913505e-08f, -4.816267580e-08f, -4.867603018e-08f, -4.918919735e-08f,
+-4.970217645e-08f, -5.021496662e-08f, -5.072756700e-08f, -5.123997675e-08f, -5.175219500e-08f, -5.226422091e-08f, -5.277605361e-08f, -5.328769226e-08f, -5.379913600e-08f, -5.431038398e-08f,
+-5.482143535e-08f, -5.533228926e-08f, -5.584294486e-08f, -5.635340129e-08f, -5.686365771e-08f, -5.737371327e-08f, -5.788356712e-08f, -5.839321842e-08f, -5.890266630e-08f, -5.941190994e-08f,
+-5.992094847e-08f, -6.042978106e-08f, -6.093840686e-08f, -6.144682503e-08f, -6.195503472e-08f, -6.246303508e-08f, -6.297082528e-08f, -6.347840446e-08f, -6.398577180e-08f, -6.449292645e-08f,
+-6.499986756e-08f, -6.550659429e-08f, -6.601310581e-08f, -6.651940128e-08f, -6.702547985e-08f, -6.753134070e-08f, -6.803698297e-08f, -6.854240584e-08f, -6.904760846e-08f, -6.955259001e-08f,
+-7.005734964e-08f, -7.056188651e-08f, -7.106619981e-08f, -7.157028869e-08f, -7.207415231e-08f, -7.257778985e-08f, -7.308120047e-08f, -7.358438334e-08f, -7.408733764e-08f, -7.459006252e-08f,
+-7.509255716e-08f, -7.559482073e-08f, -7.609685241e-08f, -7.659865135e-08f, -7.710021674e-08f, -7.760154775e-08f, -7.810264355e-08f, -7.860350331e-08f, -7.910412621e-08f, -7.960451143e-08f,
+-8.010465814e-08f, -8.060456551e-08f, -8.110423273e-08f, -8.160365897e-08f, -8.210284341e-08f, -8.260178522e-08f, -8.310048360e-08f, -8.359893770e-08f, -8.409714673e-08f, -8.459510985e-08f,
+-8.509282626e-08f, -8.559029512e-08f, -8.608751563e-08f, -8.658448697e-08f, -8.708120831e-08f, -8.757767886e-08f, -8.807389778e-08f, -8.856986428e-08f, -8.906557752e-08f, -8.956103671e-08f,
+-9.005624103e-08f, -9.055118966e-08f, -9.104588179e-08f, -9.154031662e-08f, -9.203449334e-08f, -9.252841113e-08f, -9.302206918e-08f, -9.351546669e-08f, -9.400860286e-08f, -9.450147687e-08f,
+-9.499408791e-08f, -9.548643519e-08f, -9.597851789e-08f, -9.647033521e-08f, -9.696188636e-08f, -9.745317051e-08f, -9.794418688e-08f, -9.843493466e-08f, -9.892541305e-08f, -9.941562125e-08f,
+-9.990555846e-08f, -1.003952239e-07f, -1.008846167e-07f, -1.013737361e-07f, -1.018625814e-07f, -1.023511517e-07f, -1.028394461e-07f, -1.033274641e-07f, -1.038152046e-07f, -1.043026670e-07f,
+-1.047898504e-07f, -1.052767541e-07f, -1.057633772e-07f, -1.062497190e-07f, -1.067357787e-07f, -1.072215555e-07f, -1.077070485e-07f, -1.081922571e-07f, -1.086771803e-07f, -1.091618176e-07f,
+-1.096461679e-07f, -1.101302306e-07f, -1.106140049e-07f, -1.110974899e-07f, -1.115806850e-07f, -1.120635893e-07f, -1.125462020e-07f, -1.130285223e-07f, -1.135105495e-07f, -1.139922828e-07f,
+-1.144737215e-07f, -1.149548646e-07f, -1.154357115e-07f, -1.159162614e-07f, -1.163965134e-07f, -1.168764669e-07f, -1.173561210e-07f, -1.178354749e-07f, -1.183145280e-07f, -1.187932793e-07f,
+-1.192717282e-07f, -1.197498739e-07f, -1.202277156e-07f, -1.207052525e-07f, -1.211824838e-07f, -1.216594088e-07f, -1.221360267e-07f, -1.226123368e-07f, -1.230883382e-07f, -1.235640303e-07f,
+-1.240394121e-07f, -1.245144831e-07f, -1.249892424e-07f, -1.254636892e-07f, -1.259378227e-07f, -1.264116423e-07f, -1.268851472e-07f, -1.273583365e-07f, -1.278312096e-07f, -1.283037656e-07f,
+-1.287760038e-07f, -1.292479235e-07f, -1.297195239e-07f, -1.301908042e-07f, -1.306617637e-07f, -1.311324016e-07f, -1.316027172e-07f, -1.320727097e-07f, -1.325423783e-07f, -1.330117223e-07f,
+-1.334807410e-07f, -1.339494336e-07f, -1.344177993e-07f, -1.348858374e-07f, -1.353535472e-07f, -1.358209279e-07f, -1.362879787e-07f, -1.367546989e-07f, -1.372210877e-07f, -1.376871445e-07f,
+-1.381528684e-07f, -1.386182587e-07f, -1.390833148e-07f, -1.395480357e-07f, -1.400124208e-07f, -1.404764694e-07f, -1.409401806e-07f, -1.414035539e-07f, -1.418665883e-07f, -1.423292833e-07f,
+-1.427916379e-07f, -1.432536516e-07f, -1.437153236e-07f, -1.441766531e-07f, -1.446376394e-07f, -1.450982817e-07f, -1.455585794e-07f, -1.460185317e-07f, -1.464781379e-07f, -1.469373972e-07f,
+-1.473963089e-07f, -1.478548723e-07f, -1.483130866e-07f, -1.487709511e-07f, -1.492284651e-07f, -1.496856279e-07f, -1.501424387e-07f, -1.505988969e-07f, -1.510550016e-07f, -1.515107522e-07f,
+-1.519661479e-07f, -1.524211880e-07f, -1.528758719e-07f, -1.533301987e-07f, -1.537841677e-07f, -1.542377783e-07f, -1.546910297e-07f, -1.551439212e-07f, -1.555964521e-07f, -1.560486217e-07f,
+-1.565004292e-07f, -1.569518739e-07f, -1.574029552e-07f, -1.578536722e-07f, -1.583040244e-07f, -1.587540110e-07f, -1.592036312e-07f, -1.596528844e-07f, -1.601017698e-07f, -1.605502868e-07f,
+-1.609984346e-07f, -1.614462126e-07f, -1.618936199e-07f, -1.623406560e-07f, -1.627873202e-07f, -1.632336116e-07f, -1.636795296e-07f, -1.641250736e-07f, -1.645702427e-07f, -1.650150364e-07f,
+-1.654594538e-07f, -1.659034944e-07f, -1.663471574e-07f, -1.667904420e-07f, -1.672333477e-07f, -1.676758737e-07f, -1.681180194e-07f, -1.685597839e-07f, -1.690011667e-07f, -1.694421671e-07f,
+-1.698827843e-07f, -1.703230177e-07f, -1.707628665e-07f, -1.712023301e-07f, -1.716414078e-07f, -1.720800989e-07f, -1.725184027e-07f, -1.729563186e-07f, -1.733938458e-07f, -1.738309837e-07f,
+-1.742677315e-07f, -1.747040887e-07f, -1.751400544e-07f, -1.755756281e-07f, -1.760108091e-07f, -1.764455966e-07f, -1.768799900e-07f, -1.773139886e-07f, -1.777475918e-07f, -1.781807988e-07f,
+-1.786136090e-07f, -1.790460218e-07f, -1.794780363e-07f, -1.799096521e-07f, -1.803408683e-07f, -1.807716844e-07f, -1.812020996e-07f, -1.816321133e-07f, -1.820617248e-07f, -1.824909334e-07f,
+-1.829197386e-07f, -1.833481395e-07f, -1.837761356e-07f, -1.842037262e-07f, -1.846309106e-07f, -1.850576882e-07f, -1.854840582e-07f, -1.859100201e-07f, -1.863355732e-07f, -1.867607168e-07f,
+-1.871854502e-07f, -1.876097728e-07f, -1.880336840e-07f, -1.884571831e-07f, -1.888802694e-07f, -1.893029422e-07f, -1.897252010e-07f, -1.901470451e-07f, -1.905684737e-07f, -1.909894864e-07f,
+-1.914100823e-07f, -1.918302610e-07f, -1.922500216e-07f, -1.926693636e-07f, -1.930882863e-07f, -1.935067892e-07f, -1.939248714e-07f, -1.943425324e-07f, -1.947597716e-07f, -1.951765883e-07f,
+-1.955929819e-07f, -1.960089516e-07f, -1.964244970e-07f, -1.968396173e-07f, -1.972543119e-07f, -1.976685801e-07f, -1.980824214e-07f, -1.984958351e-07f, -1.989088206e-07f, -1.993213772e-07f,
+-1.997335043e-07f, -2.001452012e-07f, -2.005564674e-07f, -2.009673022e-07f, -2.013777049e-07f, -2.017876750e-07f, -2.021972118e-07f, -2.026063147e-07f, -2.030149831e-07f, -2.034232163e-07f,
+-2.038310137e-07f, -2.042383748e-07f, -2.046452988e-07f, -2.050517851e-07f, -2.054578332e-07f, -2.058634423e-07f, -2.062686120e-07f, -2.066733415e-07f, -2.070776303e-07f, -2.074814778e-07f,
+-2.078848832e-07f, -2.082878461e-07f, -2.086903658e-07f, -2.090924416e-07f, -2.094940731e-07f, -2.098952595e-07f, -2.102960002e-07f, -2.106962947e-07f, -2.110961423e-07f, -2.114955425e-07f,
+-2.118944946e-07f, -2.122929980e-07f, -2.126910521e-07f, -2.130886563e-07f, -2.134858100e-07f, -2.138825127e-07f, -2.142787636e-07f, -2.146745623e-07f, -2.150699080e-07f, -2.154648003e-07f,
+-2.158592385e-07f, -2.162532220e-07f, -2.166467502e-07f, -2.170398226e-07f, -2.174324384e-07f, -2.178245973e-07f, -2.182162984e-07f, -2.186075414e-07f, -2.189983255e-07f, -2.193886502e-07f,
+-2.197785148e-07f, -2.201679189e-07f, -2.205568618e-07f, -2.209453430e-07f, -2.213333618e-07f, -2.217209176e-07f, -2.221080099e-07f, -2.224946382e-07f, -2.228808018e-07f, -2.232665001e-07f,
+-2.236517326e-07f, -2.240364986e-07f, -2.244207977e-07f, -2.248046292e-07f, -2.251879926e-07f, -2.255708872e-07f, -2.259533126e-07f, -2.263352681e-07f, -2.267167532e-07f, -2.270977673e-07f,
+-2.274783098e-07f, -2.278583802e-07f, -2.282379778e-07f, -2.286171022e-07f, -2.289957528e-07f, -2.293739290e-07f, -2.297516302e-07f, -2.301288558e-07f, -2.305056054e-07f, -2.308818783e-07f,
+-2.312576740e-07f, -2.316329920e-07f, -2.320078316e-07f, -2.323821923e-07f, -2.327560736e-07f, -2.331294749e-07f, -2.335023957e-07f, -2.338748353e-07f, -2.342467933e-07f, -2.346182691e-07f,
+-2.349892621e-07f, -2.353597719e-07f, -2.357297977e-07f, -2.360993392e-07f, -2.364683957e-07f, -2.368369667e-07f, -2.372050517e-07f, -2.375726501e-07f, -2.379397614e-07f, -2.383063850e-07f,
+-2.386725204e-07f, -2.390381670e-07f, -2.394033244e-07f, -2.397679919e-07f, -2.401321691e-07f, -2.404958554e-07f, -2.408590503e-07f, -2.412217531e-07f, -2.415839635e-07f, -2.419456809e-07f,
+-2.423069047e-07f, -2.426676343e-07f, -2.430278694e-07f, -2.433876093e-07f, -2.437468536e-07f, -2.441056016e-07f, -2.444638529e-07f, -2.448216070e-07f, -2.451788633e-07f, -2.455356212e-07f,
+-2.458918804e-07f, -2.462476402e-07f, -2.466029001e-07f, -2.469576597e-07f, -2.473119184e-07f, -2.476656757e-07f, -2.480189310e-07f, -2.483716839e-07f, -2.487239338e-07f, -2.490756803e-07f,
+-2.494269227e-07f, -2.497776607e-07f, -2.501278937e-07f, -2.504776212e-07f, -2.508268426e-07f, -2.511755576e-07f, -2.515237654e-07f, -2.518714658e-07f, -2.522186581e-07f, -2.525653419e-07f,
+-2.529115166e-07f, -2.532571818e-07f, -2.536023370e-07f, -2.539469816e-07f, -2.542911151e-07f, -2.546347371e-07f, -2.549778471e-07f, -2.553204446e-07f, -2.556625290e-07f, -2.560040999e-07f,
+-2.563451568e-07f, -2.566856992e-07f, -2.570257266e-07f, -2.573652386e-07f, -2.577042346e-07f, -2.580427141e-07f, -2.583806767e-07f, -2.587181218e-07f, -2.590550491e-07f, -2.593914580e-07f,
+-2.597273479e-07f, -2.600627186e-07f, -2.603975694e-07f, -2.607318999e-07f, -2.610657096e-07f, -2.613989980e-07f, -2.617317647e-07f, -2.620640092e-07f, -2.623957310e-07f, -2.627269296e-07f,
+-2.630576046e-07f, -2.633877555e-07f, -2.637173818e-07f, -2.640464831e-07f, -2.643750588e-07f, -2.647031086e-07f, -2.650306319e-07f, -2.653576283e-07f, -2.656840974e-07f, -2.660100386e-07f,
+-2.663354515e-07f, -2.666603356e-07f, -2.669846906e-07f, -2.673085158e-07f, -2.676318109e-07f, -2.679545755e-07f, -2.682768090e-07f, -2.685985109e-07f, -2.689196810e-07f, -2.692403186e-07f,
+-2.695604233e-07f, -2.698799948e-07f, -2.701990325e-07f, -2.705175359e-07f, -2.708355048e-07f, -2.711529385e-07f, -2.714698366e-07f, -2.717861988e-07f, -2.721020246e-07f, -2.724173134e-07f,
+-2.727320650e-07f, -2.730462788e-07f, -2.733599544e-07f, -2.736730913e-07f, -2.739856892e-07f, -2.742977476e-07f, -2.746092660e-07f, -2.749202441e-07f, -2.752306813e-07f, -2.755405773e-07f,
+-2.758499316e-07f, -2.761587438e-07f, -2.764670135e-07f, -2.767747402e-07f, -2.770819236e-07f, -2.773885631e-07f, -2.776946584e-07f, -2.780002090e-07f, -2.783052145e-07f, -2.786096745e-07f,
+-2.789135886e-07f, -2.792169564e-07f, -2.795197773e-07f, -2.798220511e-07f, -2.801237773e-07f, -2.804249555e-07f, -2.807255852e-07f, -2.810256661e-07f, -2.813251978e-07f, -2.816241798e-07f,
+-2.819226117e-07f, -2.822204931e-07f, -2.825178236e-07f, -2.828146028e-07f, -2.831108303e-07f, -2.834065057e-07f, -2.837016286e-07f, -2.839961986e-07f, -2.842902152e-07f, -2.845836781e-07f,
+-2.848765869e-07f, -2.851689412e-07f, -2.854607405e-07f, -2.857519845e-07f, -2.860426729e-07f, -2.863328051e-07f, -2.866223808e-07f, -2.869113996e-07f, -2.871998612e-07f, -2.874877650e-07f,
+-2.877751108e-07f, -2.880618982e-07f, -2.883481267e-07f, -2.886337960e-07f, -2.889189057e-07f, -2.892034553e-07f, -2.894874446e-07f, -2.897708732e-07f, -2.900537406e-07f, -2.903360465e-07f,
+-2.906177905e-07f, -2.908989722e-07f, -2.911795912e-07f, -2.914596473e-07f, -2.917391399e-07f, -2.920180688e-07f, -2.922964335e-07f, -2.925742336e-07f, -2.928514689e-07f, -2.931281390e-07f,
+-2.934042434e-07f, -2.936797818e-07f, -2.939547538e-07f, -2.942291592e-07f, -2.945029974e-07f, -2.947762682e-07f, -2.950489711e-07f, -2.953211059e-07f, -2.955926722e-07f, -2.958636696e-07f,
+-2.961340977e-07f, -2.964039562e-07f, -2.966732447e-07f, -2.969419629e-07f, -2.972101105e-07f, -2.974776870e-07f, -2.977446922e-07f, -2.980111256e-07f, -2.982769870e-07f, -2.985422759e-07f,
+-2.988069921e-07f, -2.990711351e-07f, -2.993347047e-07f, -2.995977005e-07f, -2.998601222e-07f, -3.001219694e-07f, -3.003832417e-07f, -3.006439389e-07f, -3.009040606e-07f, -3.011636064e-07f,
+-3.014225760e-07f, -3.016809692e-07f, -3.019387855e-07f, -3.021960246e-07f, -3.024526862e-07f, -3.027087700e-07f, -3.029642755e-07f, -3.032192026e-07f, -3.034735509e-07f, -3.037273200e-07f,
+-3.039805096e-07f, -3.042331194e-07f, -3.044851491e-07f, -3.047365984e-07f, -3.049874669e-07f, -3.052377542e-07f, -3.054874602e-07f, -3.057365845e-07f, -3.059851267e-07f, -3.062330865e-07f,
+-3.064804637e-07f, -3.067272579e-07f, -3.069734688e-07f, -3.072190960e-07f, -3.074641394e-07f, -3.077085985e-07f, -3.079524731e-07f, -3.081957628e-07f, -3.084384674e-07f, -3.086805865e-07f,
+-3.089221199e-07f, -3.091630672e-07f, -3.094034281e-07f, -3.096432024e-07f, -3.098823897e-07f, -3.101209897e-07f, -3.103590022e-07f, -3.105964268e-07f, -3.108332633e-07f, -3.110695113e-07f,
+-3.113051706e-07f, -3.115402408e-07f, -3.117747217e-07f, -3.120086131e-07f, -3.122419145e-07f, -3.124746257e-07f, -3.127067465e-07f, -3.129382765e-07f, -3.131692154e-07f, -3.133995630e-07f,
+-3.136293191e-07f, -3.138584832e-07f, -3.140870552e-07f, -3.143150347e-07f, -3.145424215e-07f, -3.147692152e-07f, -3.149954157e-07f, -3.152210227e-07f, -3.154460358e-07f, -3.156704549e-07f,
+-3.158942795e-07f, -3.161175095e-07f, -3.163401446e-07f, -3.165621846e-07f, -3.167836291e-07f, -3.170044779e-07f, -3.172247307e-07f, -3.174443873e-07f, -3.176634473e-07f, -3.178819107e-07f,
+-3.180997770e-07f, -3.183170460e-07f, -3.185337175e-07f, -3.187497911e-07f, -3.189652668e-07f, -3.191801441e-07f, -3.193944229e-07f, -3.196081028e-07f, -3.198211837e-07f, -3.200336653e-07f,
+-3.202455474e-07f, -3.204568296e-07f, -3.206675117e-07f, -3.208775936e-07f, -3.210870749e-07f, -3.212959554e-07f, -3.215042349e-07f, -3.217119131e-07f, -3.219189898e-07f, -3.221254647e-07f,
+-3.223313376e-07f, -3.225366083e-07f, -3.227412766e-07f, -3.229453421e-07f, -3.231488047e-07f, -3.233516641e-07f, -3.235539202e-07f, -3.237555726e-07f, -3.239566211e-07f, -3.241570655e-07f,
+-3.243569057e-07f, -3.245561413e-07f, -3.247547721e-07f, -3.249527979e-07f, -3.251502185e-07f, -3.253470337e-07f, -3.255432432e-07f, -3.257388469e-07f, -3.259338444e-07f, -3.261282357e-07f,
+-3.263220204e-07f, -3.265151983e-07f, -3.267077694e-07f, -3.268997332e-07f, -3.270910897e-07f, -3.272818385e-07f, -3.274719796e-07f, -3.276615126e-07f, -3.278504375e-07f, -3.280387539e-07f,
+-3.282264616e-07f, -3.284135606e-07f, -3.286000505e-07f, -3.287859311e-07f, -3.289712024e-07f, -3.291558639e-07f, -3.293399157e-07f, -3.295233574e-07f, -3.297061889e-07f, -3.298884099e-07f,
+-3.300700204e-07f, -3.302510200e-07f, -3.304314086e-07f, -3.306111860e-07f, -3.307903520e-07f, -3.309689065e-07f, -3.311468491e-07f, -3.313241799e-07f, -3.315008985e-07f, -3.316770047e-07f,
+-3.318524985e-07f, -3.320273796e-07f, -3.322016478e-07f, -3.323753030e-07f, -3.325483450e-07f, -3.327207735e-07f, -3.328925885e-07f, -3.330637897e-07f, -3.332343770e-07f, -3.334043502e-07f,
+-3.335737091e-07f, -3.337424536e-07f, -3.339105835e-07f, -3.340780985e-07f, -3.342449987e-07f, -3.344112837e-07f, -3.345769534e-07f, -3.347420077e-07f, -3.349064464e-07f, -3.350702693e-07f,
+-3.352334763e-07f, -3.353960671e-07f, -3.355580418e-07f, -3.357194000e-07f, -3.358801417e-07f, -3.360402666e-07f, -3.361997747e-07f, -3.363586657e-07f, -3.365169395e-07f, -3.366745961e-07f,
+-3.368316351e-07f, -3.369880565e-07f, -3.371438601e-07f, -3.372990459e-07f, -3.374536135e-07f, -3.376075629e-07f, -3.377608940e-07f, -3.379136066e-07f, -3.380657005e-07f, -3.382171756e-07f,
+-3.383680319e-07f, -3.385182690e-07f, -3.386678870e-07f, -3.388168857e-07f, -3.389652649e-07f, -3.391130244e-07f, -3.392601643e-07f, -3.394066843e-07f, -3.395525843e-07f, -3.396978642e-07f,
+-3.398425239e-07f, -3.399865631e-07f, -3.401299819e-07f, -3.402727801e-07f, -3.404149575e-07f, -3.405565140e-07f, -3.406974496e-07f, -3.408377640e-07f, -3.409774572e-07f, -3.411165291e-07f,
+-3.412549795e-07f, -3.413928083e-07f, -3.415300155e-07f, -3.416666008e-07f, -3.418025642e-07f, -3.419379056e-07f, -3.420726249e-07f, -3.422067219e-07f, -3.423401965e-07f, -3.424730487e-07f,
+-3.426052783e-07f, -3.427368852e-07f, -3.428678694e-07f, -3.429982307e-07f, -3.431279690e-07f, -3.432570842e-07f, -3.433855763e-07f, -3.435134451e-07f, -3.436406905e-07f, -3.437673124e-07f,
+-3.438933108e-07f, -3.440186855e-07f, -3.441434365e-07f, -3.442675636e-07f, -3.443910669e-07f, -3.445139460e-07f, -3.446362011e-07f, -3.447578320e-07f, -3.448788386e-07f, -3.449992209e-07f,
+-3.451189787e-07f, -3.452381120e-07f, -3.453566206e-07f, -3.454745046e-07f, -3.455917638e-07f, -3.457083982e-07f, -3.458244076e-07f, -3.459397921e-07f, -3.460545515e-07f, -3.461686857e-07f,
+-3.462821947e-07f, -3.463950784e-07f, -3.465073368e-07f, -3.466189697e-07f, -3.467299771e-07f, -3.468403590e-07f, -3.469501152e-07f, -3.470592458e-07f, -3.471677506e-07f, -3.472756295e-07f,
+-3.473828826e-07f, -3.474895098e-07f, -3.475955109e-07f, -3.477008860e-07f, -3.478056350e-07f, -3.479097578e-07f, -3.480132544e-07f, -3.481161247e-07f, -3.482183686e-07f, -3.483199862e-07f,
+-3.484209774e-07f, -3.485213420e-07f, -3.486210802e-07f, -3.487201917e-07f, -3.488186767e-07f, -3.489165349e-07f, -3.490137665e-07f, -3.491103713e-07f, -3.492063493e-07f, -3.493017005e-07f,
+-3.493964248e-07f, -3.494905222e-07f, -3.495839926e-07f, -3.496768361e-07f, -3.497690525e-07f, -3.498606419e-07f, -3.499516042e-07f, -3.500419394e-07f, -3.501316474e-07f, -3.502207283e-07f,
+-3.503091819e-07f, -3.503970083e-07f, -3.504842075e-07f, -3.505707794e-07f, -3.506567239e-07f, -3.507420412e-07f, -3.508267311e-07f, -3.509107936e-07f, -3.509942287e-07f, -3.510770364e-07f,
+-3.511592167e-07f, -3.512407696e-07f, -3.513216950e-07f, -3.514019929e-07f, -3.514816633e-07f, -3.515607062e-07f, -3.516391217e-07f, -3.517169096e-07f, -3.517940700e-07f, -3.518706028e-07f,
+-3.519465082e-07f, -3.520217859e-07f, -3.520964362e-07f, -3.521704588e-07f, -3.522438540e-07f, -3.523166216e-07f, -3.523887616e-07f, -3.524602741e-07f, -3.525311590e-07f, -3.526014164e-07f,
+-3.526710462e-07f, -3.527400485e-07f, -3.528084233e-07f, -3.528761706e-07f, -3.529432903e-07f, -3.530097826e-07f, -3.530756474e-07f, -3.531408847e-07f, -3.532054945e-07f, -3.532694769e-07f,
+-3.533328319e-07f, -3.533955594e-07f, -3.534576595e-07f, -3.535191323e-07f, -3.535799777e-07f, -3.536401958e-07f, -3.536997866e-07f, -3.537587500e-07f, -3.538170862e-07f, -3.538747952e-07f,
+-3.539318769e-07f, -3.539883315e-07f, -3.540441589e-07f, -3.540993592e-07f, -3.541539324e-07f, -3.542078785e-07f, -3.542611976e-07f, -3.543138897e-07f, -3.543659548e-07f, -3.544173930e-07f,
+-3.544682043e-07f, -3.545183888e-07f, -3.545679464e-07f, -3.546168773e-07f, -3.546651815e-07f, -3.547128590e-07f, -3.547599098e-07f, -3.548063340e-07f, -3.548521317e-07f, -3.548973029e-07f,
+-3.549418477e-07f, -3.549857660e-07f, -3.550290580e-07f, -3.550717237e-07f, -3.551137631e-07f, -3.551551763e-07f, -3.551959634e-07f, -3.552361244e-07f, -3.552756594e-07f, -3.553145684e-07f,
+-3.553528515e-07f, -3.553905088e-07f, -3.554275403e-07f, -3.554639460e-07f, -3.554997261e-07f, -3.555348806e-07f, -3.555694095e-07f, -3.556033130e-07f, -3.556365911e-07f, -3.556692439e-07f,
+-3.557012714e-07f, -3.557326737e-07f, -3.557634509e-07f, -3.557936031e-07f, -3.558231303e-07f, -3.558520326e-07f, -3.558803101e-07f, -3.559079628e-07f, -3.559349909e-07f, -3.559613944e-07f,
+-3.559871734e-07f, -3.560123280e-07f, -3.560368583e-07f, -3.560607643e-07f, -3.560840461e-07f, -3.561067039e-07f, -3.561287377e-07f, -3.561501475e-07f, -3.561709336e-07f, -3.561910959e-07f,
+-3.562106346e-07f, -3.562295498e-07f, -3.562478415e-07f, -3.562655098e-07f, -3.562825550e-07f, -3.562989769e-07f, -3.563147758e-07f, -3.563299517e-07f, -3.563445048e-07f, -3.563584351e-07f,
+-3.563717427e-07f, -3.563844278e-07f, -3.563964904e-07f, -3.564079307e-07f, -3.564187488e-07f, -3.564289447e-07f, -3.564385186e-07f, -3.564474705e-07f, -3.564558007e-07f, -3.564635092e-07f,
+-3.564705961e-07f, -3.564770615e-07f, -3.564829056e-07f, -3.564881285e-07f, -3.564927302e-07f, -3.564967110e-07f, -3.565000708e-07f, -3.565028099e-07f, -3.565049284e-07f, -3.565064263e-07f,
+-3.565073039e-07f, -3.565075612e-07f, -3.565071983e-07f, -3.565062155e-07f, -3.565046127e-07f, -3.565023902e-07f, -3.564995481e-07f, -3.564960864e-07f, -3.564920054e-07f, -3.564873052e-07f,
+-3.564819858e-07f, -3.564760475e-07f, -3.564694904e-07f, -3.564623145e-07f, -3.564545202e-07f, -3.564461074e-07f, -3.564370763e-07f, -3.564274271e-07f, -3.564171599e-07f, -3.564062749e-07f,
+-3.563947721e-07f, -3.563826518e-07f, -3.563699141e-07f, -3.563565591e-07f, -3.563425871e-07f, -3.563279980e-07f, -3.563127922e-07f, -3.562969696e-07f, -3.562805306e-07f, -3.562634752e-07f,
+-3.562458036e-07f, -3.562275160e-07f, -3.562086125e-07f, -3.561890933e-07f, -3.561689585e-07f, -3.561482082e-07f, -3.561268428e-07f, -3.561048622e-07f, -3.560822668e-07f, -3.560590565e-07f,
+-3.560352317e-07f, -3.560107924e-07f, -3.559857389e-07f, -3.559600713e-07f, -3.559337898e-07f, -3.559068946e-07f, -3.558793857e-07f, -3.558512635e-07f, -3.558225280e-07f, -3.557931794e-07f,
+-3.557632180e-07f, -3.557326439e-07f, -3.557014573e-07f, -3.556696583e-07f, -3.556372471e-07f, -3.556042239e-07f, -3.555705890e-07f, -3.555363424e-07f, -3.555014844e-07f, -3.554660151e-07f,
+-3.554299348e-07f, -3.553932436e-07f, -3.553559416e-07f, -3.553180292e-07f, -3.552795065e-07f, -3.552403737e-07f, -3.552006309e-07f, -3.551602784e-07f, -3.551193163e-07f, -3.550777450e-07f,
+-3.550355644e-07f, -3.549927749e-07f, -3.549493767e-07f, -3.549053699e-07f, -3.548607547e-07f, -3.548155314e-07f, -3.547697002e-07f, -3.547232612e-07f, -3.546762146e-07f, -3.546285607e-07f,
+-3.545802997e-07f, -3.545314318e-07f, -3.544819571e-07f, -3.544318760e-07f, -3.543811886e-07f, -3.543298950e-07f, -3.542779956e-07f, -3.542254906e-07f, -3.541723801e-07f, -3.541186644e-07f,
+-3.540643437e-07f, -3.540094182e-07f, -3.539538881e-07f, -3.538977537e-07f, -3.538410151e-07f, -3.537836727e-07f, -3.537257265e-07f, -3.536671769e-07f, -3.536080240e-07f, -3.535482682e-07f,
+-3.534879095e-07f, -3.534269483e-07f, -3.533653848e-07f, -3.533032191e-07f, -3.532404516e-07f, -3.531770825e-07f, -3.531131120e-07f, -3.530485402e-07f, -3.529833676e-07f, -3.529175943e-07f,
+-3.528512205e-07f, -3.527842464e-07f, -3.527166724e-07f, -3.526484987e-07f, -3.525797254e-07f, -3.525103529e-07f, -3.524403814e-07f, -3.523698111e-07f, -3.522986422e-07f, -3.522268751e-07f,
+-3.521545099e-07f, -3.520815470e-07f, -3.520079865e-07f, -3.519338287e-07f, -3.518590738e-07f, -3.517837222e-07f, -3.517077741e-07f, -3.516312296e-07f, -3.515540892e-07f, -3.514763530e-07f,
+-3.513980212e-07f, -3.513190942e-07f, -3.512395722e-07f, -3.511594555e-07f, -3.510787443e-07f, -3.509974388e-07f, -3.509155394e-07f, -3.508330464e-07f, -3.507499599e-07f, -3.506662802e-07f,
+-3.505820076e-07f, -3.504971425e-07f, -3.504116849e-07f, -3.503256353e-07f, -3.502389939e-07f, -3.501517609e-07f, -3.500639366e-07f, -3.499755214e-07f, -3.498865154e-07f, -3.497969190e-07f,
+-3.497067324e-07f, -3.496159559e-07f, -3.495245898e-07f, -3.494326343e-07f, -3.493400898e-07f, -3.492469565e-07f, -3.491532347e-07f, -3.490589247e-07f, -3.489640268e-07f, -3.488685413e-07f,
+-3.487724684e-07f, -3.486758084e-07f, -3.485785616e-07f, -3.484807284e-07f, -3.483823089e-07f, -3.482833035e-07f, -3.481837126e-07f, -3.480835362e-07f, -3.479827749e-07f, -3.478814288e-07f,
+-3.477794983e-07f, -3.476769836e-07f, -3.475738851e-07f, -3.474702031e-07f, -3.473659378e-07f, -3.472610895e-07f, -3.471556586e-07f, -3.470496453e-07f, -3.469430501e-07f, -3.468358730e-07f,
+-3.467281146e-07f, -3.466197750e-07f, -3.465108546e-07f, -3.464013537e-07f, -3.462912726e-07f, -3.461806116e-07f, -3.460693710e-07f, -3.459575512e-07f, -3.458451524e-07f, -3.457321749e-07f,
+-3.456186191e-07f, -3.455044854e-07f, -3.453897739e-07f, -3.452744851e-07f, -3.451586192e-07f, -3.450421765e-07f, -3.449251575e-07f, -3.448075623e-07f, -3.446893914e-07f, -3.445706450e-07f,
+-3.444513235e-07f, -3.443314272e-07f, -3.442109564e-07f, -3.440899115e-07f, -3.439682928e-07f, -3.438461005e-07f, -3.437233351e-07f, -3.435999969e-07f, -3.434760862e-07f, -3.433516033e-07f,
+-3.432265486e-07f, -3.431009224e-07f, -3.429747250e-07f, -3.428479568e-07f, -3.427206181e-07f, -3.425927093e-07f, -3.424642306e-07f, -3.423351825e-07f, -3.422055653e-07f, -3.420753792e-07f,
+-3.419446247e-07f, -3.418133022e-07f, -3.416814118e-07f, -3.415489541e-07f, -3.414159292e-07f, -3.412823377e-07f, -3.411481798e-07f, -3.410134559e-07f, -3.408781663e-07f, -3.407423114e-07f,
+-3.406058915e-07f, -3.404689071e-07f, -3.403313583e-07f, -3.401932457e-07f, -3.400545695e-07f, -3.399153301e-07f, -3.397755279e-07f, -3.396351632e-07f, -3.394942364e-07f, -3.393527478e-07f,
+-3.392106979e-07f, -3.390680869e-07f, -3.389249152e-07f, -3.387811832e-07f, -3.386368913e-07f, -3.384920398e-07f, -3.383466292e-07f, -3.382006596e-07f, -3.380541316e-07f, -3.379070455e-07f,
+-3.377594017e-07f, -3.376112005e-07f, -3.374624423e-07f, -3.373131274e-07f, -3.371632564e-07f, -3.370128295e-07f, -3.368618471e-07f, -3.367103095e-07f, -3.365582172e-07f, -3.364055706e-07f,
+-3.362523700e-07f, -3.360986158e-07f, -3.359443083e-07f, -3.357894481e-07f, -3.356340353e-07f, -3.354780705e-07f, -3.353215540e-07f, -3.351644862e-07f, -3.350068675e-07f, -3.348486983e-07f,
+-3.346899789e-07f, -3.345307097e-07f, -3.343708912e-07f, -3.342105238e-07f, -3.340496077e-07f, -3.338881435e-07f, -3.337261314e-07f, -3.335635720e-07f, -3.334004655e-07f, -3.332368125e-07f,
+-3.330726132e-07f, -3.329078681e-07f, -3.327425776e-07f, -3.325767421e-07f, -3.324103620e-07f, -3.322434376e-07f, -3.320759695e-07f, -3.319079579e-07f, -3.317394033e-07f, -3.315703061e-07f,
+-3.314006667e-07f, -3.312304856e-07f, -3.310597630e-07f, -3.308884995e-07f, -3.307166954e-07f, -3.305443511e-07f, -3.303714671e-07f, -3.301980438e-07f, -3.300240815e-07f, -3.298495807e-07f,
+-3.296745419e-07f, -3.294989653e-07f, -3.293228515e-07f, -3.291462009e-07f, -3.289690138e-07f, -3.287912907e-07f, -3.286130320e-07f, -3.284342381e-07f, -3.282549095e-07f, -3.280750466e-07f,
+-3.278946497e-07f, -3.277137194e-07f, -3.275322560e-07f, -3.273502600e-07f, -3.271677317e-07f, -3.269846717e-07f, -3.268010803e-07f, -3.266169580e-07f, -3.264323053e-07f, -3.262471224e-07f,
+-3.260614099e-07f, -3.258751682e-07f, -3.256883977e-07f, -3.255010989e-07f, -3.253132722e-07f, -3.251249180e-07f, -3.249360368e-07f, -3.247466290e-07f, -3.245566951e-07f, -3.243662354e-07f,
+-3.241752505e-07f, -3.239837407e-07f, -3.237917065e-07f, -3.235991483e-07f, -3.234060667e-07f, -3.232124619e-07f, -3.230183346e-07f, -3.228236851e-07f, -3.226285138e-07f, -3.224328212e-07f,
+-3.222366078e-07f, -3.220398741e-07f, -3.218426203e-07f, -3.216448471e-07f, -3.214465548e-07f, -3.212477440e-07f, -3.210484150e-07f, -3.208485683e-07f, -3.206482044e-07f, -3.204473238e-07f,
+-3.202459268e-07f, -3.200440139e-07f, -3.198415856e-07f, -3.196386424e-07f, -3.194351847e-07f, -3.192312130e-07f, -3.190267277e-07f, -3.188217293e-07f, -3.186162183e-07f, -3.184101950e-07f,
+-3.182036601e-07f, -3.179966139e-07f, -3.177890569e-07f, -3.175809896e-07f, -3.173724124e-07f, -3.171633259e-07f, -3.169537304e-07f, -3.167436265e-07f, -3.165330146e-07f, -3.163218952e-07f,
+-3.161102688e-07f, -3.158981358e-07f, -3.156854967e-07f, -3.154723520e-07f, -3.152587021e-07f, -3.150445476e-07f, -3.148298889e-07f, -3.146147265e-07f, -3.143990609e-07f, -3.141828924e-07f,
+-3.139662218e-07f, -3.137490493e-07f, -3.135313755e-07f, -3.133132009e-07f, -3.130945259e-07f, -3.128753511e-07f, -3.126556769e-07f, -3.124355037e-07f, -3.122148322e-07f, -3.119936628e-07f,
+-3.117719959e-07f, -3.115498320e-07f, -3.113271717e-07f, -3.111040155e-07f, -3.108803637e-07f, -3.106562170e-07f, -3.104315757e-07f, -3.102064405e-07f, -3.099808117e-07f, -3.097546900e-07f,
+-3.095280757e-07f, -3.093009694e-07f, -3.090733715e-07f, -3.088452826e-07f, -3.086167032e-07f, -3.083876338e-07f, -3.081580748e-07f, -3.079280268e-07f, -3.076974902e-07f, -3.074664656e-07f,
+-3.072349535e-07f, -3.070029544e-07f, -3.067704687e-07f, -3.065374970e-07f, -3.063040398e-07f, -3.060700976e-07f, -3.058356709e-07f, -3.056007602e-07f, -3.053653660e-07f, -3.051294888e-07f,
+-3.048931292e-07f, -3.046562876e-07f, -3.044189646e-07f, -3.041811606e-07f, -3.039428763e-07f, -3.037041120e-07f, -3.034648683e-07f, -3.032251458e-07f, -3.029849449e-07f, -3.027442661e-07f,
+-3.025031101e-07f, -3.022614772e-07f, -3.020193680e-07f, -3.017767831e-07f, -3.015337229e-07f, -3.012901880e-07f, -3.010461789e-07f, -3.008016961e-07f, -3.005567402e-07f, -3.003113116e-07f,
+-3.000654109e-07f, -2.998190386e-07f, -2.995721952e-07f, -2.993248814e-07f, -2.990770975e-07f, -2.988288441e-07f, -2.985801218e-07f, -2.983309310e-07f, -2.980812724e-07f, -2.978311464e-07f,
+-2.975805536e-07f, -2.973294945e-07f, -2.970779696e-07f, -2.968259795e-07f, -2.965735247e-07f, -2.963206058e-07f, -2.960672232e-07f, -2.958133775e-07f, -2.955590693e-07f, -2.953042991e-07f,
+-2.950490674e-07f, -2.947933747e-07f, -2.945372217e-07f, -2.942806088e-07f, -2.940235367e-07f, -2.937660057e-07f, -2.935080165e-07f, -2.932495697e-07f, -2.929906657e-07f, -2.927313051e-07f,
+-2.924714884e-07f, -2.922112163e-07f, -2.919504892e-07f, -2.916893077e-07f, -2.914276723e-07f, -2.911655836e-07f, -2.909030422e-07f, -2.906400485e-07f, -2.903766032e-07f, -2.901127068e-07f,
+-2.898483599e-07f, -2.895835629e-07f, -2.893183165e-07f, -2.890526212e-07f, -2.887864775e-07f, -2.885198861e-07f, -2.882528474e-07f, -2.879853621e-07f, -2.877174307e-07f, -2.874490537e-07f,
+-2.871802317e-07f, -2.869109653e-07f, -2.866412550e-07f, -2.863711014e-07f, -2.861005051e-07f, -2.858294665e-07f, -2.855579863e-07f, -2.852860651e-07f, -2.850137034e-07f, -2.847409017e-07f,
+-2.844676607e-07f, -2.841939809e-07f, -2.839198628e-07f, -2.836453071e-07f, -2.833703143e-07f, -2.830948849e-07f, -2.828190196e-07f, -2.825427189e-07f, -2.822659834e-07f, -2.819888136e-07f,
+-2.817112101e-07f, -2.814331736e-07f, -2.811547045e-07f, -2.808758035e-07f, -2.805964711e-07f, -2.803167079e-07f, -2.800365144e-07f, -2.797558913e-07f, -2.794748391e-07f, -2.791933585e-07f,
+-2.789114499e-07f, -2.786291140e-07f, -2.783463513e-07f, -2.780631624e-07f, -2.777795479e-07f, -2.774955085e-07f, -2.772110445e-07f, -2.769261568e-07f, -2.766408457e-07f, -2.763551120e-07f,
+-2.760689562e-07f, -2.757823788e-07f, -2.754953806e-07f, -2.752079620e-07f, -2.749201236e-07f, -2.746318661e-07f, -2.743431900e-07f, -2.740540959e-07f, -2.737645844e-07f, -2.734746560e-07f,
+-2.731843115e-07f, -2.728935514e-07f, -2.726023762e-07f, -2.723107865e-07f, -2.720187830e-07f, -2.717263663e-07f, -2.714335369e-07f, -2.711402954e-07f, -2.708466425e-07f, -2.705525787e-07f,
+-2.702581046e-07f, -2.699632208e-07f, -2.696679280e-07f, -2.693722266e-07f, -2.690761174e-07f, -2.687796009e-07f, -2.684826777e-07f, -2.681853484e-07f, -2.678876137e-07f, -2.675894740e-07f,
+-2.672909301e-07f, -2.669919825e-07f, -2.666926319e-07f, -2.663928788e-07f, -2.660927238e-07f, -2.657921675e-07f, -2.654912107e-07f, -2.651898537e-07f, -2.648880974e-07f, -2.645859422e-07f,
+-2.642833888e-07f, -2.639804378e-07f, -2.636770898e-07f, -2.633733454e-07f, -2.630692052e-07f, -2.627646698e-07f, -2.624597399e-07f, -2.621544161e-07f, -2.618486989e-07f, -2.615425890e-07f,
+-2.612360870e-07f, -2.609291936e-07f, -2.606219092e-07f, -2.603142346e-07f, -2.600061704e-07f, -2.596977171e-07f, -2.593888754e-07f, -2.590796460e-07f, -2.587700293e-07f, -2.584600262e-07f,
+-2.581496371e-07f, -2.578388626e-07f, -2.575277035e-07f, -2.572161604e-07f, -2.569042337e-07f, -2.565919243e-07f, -2.562792327e-07f, -2.559661595e-07f, -2.556527053e-07f, -2.553388708e-07f,
+-2.550246566e-07f, -2.547100633e-07f, -2.543950916e-07f, -2.540797420e-07f, -2.537640153e-07f, -2.534479120e-07f, -2.531314327e-07f, -2.528145781e-07f, -2.524973489e-07f, -2.521797456e-07f,
+-2.518617689e-07f, -2.515434193e-07f, -2.512246977e-07f, -2.509056045e-07f, -2.505861404e-07f, -2.502663060e-07f, -2.499461020e-07f, -2.496255290e-07f, -2.493045877e-07f, -2.489832786e-07f,
+-2.486616024e-07f, -2.483395598e-07f, -2.480171514e-07f, -2.476943777e-07f, -2.473712396e-07f, -2.470477375e-07f, -2.467238722e-07f, -2.463996442e-07f, -2.460750543e-07f, -2.457501030e-07f,
+-2.454247910e-07f, -2.450991190e-07f, -2.447730875e-07f, -2.444466972e-07f, -2.441199488e-07f, -2.437928429e-07f, -2.434653802e-07f, -2.431375612e-07f, -2.428093867e-07f, -2.424808572e-07f,
+-2.421519735e-07f, -2.418227362e-07f, -2.414931459e-07f, -2.411632032e-07f, -2.408329089e-07f, -2.405022635e-07f, -2.401712677e-07f, -2.398399222e-07f, -2.395082276e-07f, -2.391761846e-07f,
+-2.388437938e-07f, -2.385110558e-07f, -2.381779714e-07f, -2.378445411e-07f, -2.375107656e-07f, -2.371766456e-07f, -2.368421817e-07f, -2.365073746e-07f, -2.361722249e-07f, -2.358367334e-07f,
+-2.355009005e-07f, -2.351647270e-07f, -2.348282136e-07f, -2.344913609e-07f, -2.341541696e-07f, -2.338166403e-07f, -2.334787736e-07f, -2.331405703e-07f, -2.328020310e-07f, -2.324631564e-07f,
+-2.321239471e-07f, -2.317844037e-07f, -2.314445270e-07f, -2.311043176e-07f, -2.307637761e-07f, -2.304229033e-07f, -2.300816997e-07f, -2.297401661e-07f, -2.293983031e-07f, -2.290561113e-07f,
+-2.287135915e-07f, -2.283707443e-07f, -2.280275704e-07f, -2.276840704e-07f, -2.273402450e-07f, -2.269960948e-07f, -2.266516206e-07f, -2.263068230e-07f, -2.259617027e-07f, -2.256162602e-07f,
+-2.252704964e-07f, -2.249244118e-07f, -2.245780072e-07f, -2.242312832e-07f, -2.238842405e-07f, -2.235368797e-07f, -2.231892015e-07f, -2.228412067e-07f, -2.224928958e-07f, -2.221442695e-07f,
+-2.217953285e-07f, -2.214460735e-07f, -2.210965052e-07f, -2.207466242e-07f, -2.203964312e-07f, -2.200459269e-07f, -2.196951119e-07f, -2.193439869e-07f, -2.189925527e-07f, -2.186408098e-07f,
+-2.182887590e-07f, -2.179364009e-07f, -2.175837362e-07f, -2.172307656e-07f, -2.168774898e-07f, -2.165239094e-07f, -2.161700252e-07f, -2.158158377e-07f, -2.154613478e-07f, -2.151065560e-07f,
+-2.147514630e-07f, -2.143960696e-07f, -2.140403763e-07f, -2.136843840e-07f, -2.133280932e-07f, -2.129715047e-07f, -2.126146191e-07f, -2.122574371e-07f, -2.118999594e-07f, -2.115421868e-07f,
+-2.111841197e-07f, -2.108257591e-07f, -2.104671054e-07f, -2.101081595e-07f, -2.097489221e-07f, -2.093893937e-07f, -2.090295751e-07f, -2.086694669e-07f, -2.083090699e-07f, -2.079483848e-07f,
+-2.075874122e-07f, -2.072261528e-07f, -2.068646074e-07f, -2.065027765e-07f, -2.061406609e-07f, -2.057782613e-07f, -2.054155784e-07f, -2.050526128e-07f, -2.046893653e-07f, -2.043258365e-07f,
+-2.039620271e-07f, -2.035979379e-07f, -2.032335695e-07f, -2.028689226e-07f, -2.025039979e-07f, -2.021387961e-07f, -2.017733179e-07f, -2.014075640e-07f, -2.010415351e-07f, -2.006752318e-07f,
+-2.003086549e-07f, -1.999418051e-07f, -1.995746830e-07f, -1.992072894e-07f, -1.988396249e-07f, -1.984716903e-07f, -1.981034862e-07f, -1.977350134e-07f, -1.973662725e-07f, -1.969972642e-07f,
+-1.966279893e-07f, -1.962584484e-07f, -1.958886423e-07f, -1.955185716e-07f, -1.951482370e-07f, -1.947776393e-07f, -1.944067790e-07f, -1.940356571e-07f, -1.936642740e-07f, -1.932926306e-07f,
+-1.929207275e-07f, -1.925485655e-07f, -1.921761452e-07f, -1.918034673e-07f, -1.914305326e-07f, -1.910573418e-07f, -1.906838955e-07f, -1.903101944e-07f, -1.899362393e-07f, -1.895620309e-07f,
+-1.891875698e-07f, -1.888128569e-07f, -1.884378927e-07f, -1.880626779e-07f, -1.876872134e-07f, -1.873114998e-07f, -1.869355377e-07f, -1.865593280e-07f, -1.861828713e-07f, -1.858061683e-07f,
+-1.854292197e-07f, -1.850520263e-07f, -1.846745887e-07f, -1.842969077e-07f, -1.839189840e-07f, -1.835408182e-07f, -1.831624111e-07f, -1.827837633e-07f, -1.824048757e-07f, -1.820257489e-07f,
+-1.816463836e-07f, -1.812667806e-07f, -1.808869404e-07f, -1.805068640e-07f, -1.801265518e-07f, -1.797460048e-07f, -1.793652236e-07f, -1.789842088e-07f, -1.786029613e-07f, -1.782214816e-07f,
+-1.778397707e-07f, -1.774578290e-07f, -1.770756575e-07f, -1.766932567e-07f, -1.763106274e-07f, -1.759277703e-07f, -1.755446861e-07f, -1.751613755e-07f, -1.747778393e-07f, -1.743940782e-07f,
+-1.740100928e-07f, -1.736258839e-07f, -1.732414523e-07f, -1.728567985e-07f, -1.724719234e-07f, -1.720868277e-07f, -1.717015120e-07f, -1.713159772e-07f, -1.709302238e-07f, -1.705442527e-07f,
+-1.701580645e-07f, -1.697716600e-07f, -1.693850398e-07f, -1.689982048e-07f, -1.686111555e-07f, -1.682238929e-07f, -1.678364174e-07f, -1.674487300e-07f, -1.670608312e-07f, -1.666727218e-07f,
+-1.662844026e-07f, -1.658958743e-07f, -1.655071375e-07f, -1.651181930e-07f, -1.647290415e-07f, -1.643396838e-07f, -1.639501205e-07f, -1.635603524e-07f, -1.631703802e-07f, -1.627802047e-07f,
+-1.623898264e-07f, -1.619992463e-07f, -1.616084649e-07f, -1.612174831e-07f, -1.608263014e-07f, -1.604349208e-07f, -1.600433418e-07f, -1.596515653e-07f, -1.592595918e-07f, -1.588674223e-07f,
+-1.584750573e-07f, -1.580824976e-07f, -1.576897439e-07f, -1.572967970e-07f, -1.569036575e-07f, -1.565103263e-07f, -1.561168040e-07f, -1.557230913e-07f, -1.553291890e-07f, -1.549350979e-07f,
+-1.545408185e-07f, -1.541463517e-07f, -1.537516982e-07f, -1.533568587e-07f, -1.529618340e-07f, -1.525666247e-07f, -1.521712316e-07f, -1.517756554e-07f, -1.513798968e-07f, -1.509839566e-07f,
+-1.505878356e-07f, -1.501915343e-07f, -1.497950536e-07f, -1.493983942e-07f, -1.490015568e-07f, -1.486045421e-07f, -1.482073510e-07f, -1.478099840e-07f, -1.474124419e-07f, -1.470147255e-07f,
+-1.466168355e-07f, -1.462187726e-07f, -1.458205375e-07f, -1.454221310e-07f, -1.450235538e-07f, -1.446248067e-07f, -1.442258903e-07f, -1.438268054e-07f, -1.434275527e-07f, -1.430281330e-07f,
+-1.426285470e-07f, -1.422287954e-07f, -1.418288789e-07f, -1.414287984e-07f, -1.410285544e-07f, -1.406281478e-07f, -1.402275792e-07f, -1.398268495e-07f, -1.394259593e-07f, -1.390249094e-07f,
+-1.386237004e-07f, -1.382223332e-07f, -1.378208085e-07f, -1.374191270e-07f, -1.370172894e-07f, -1.366152964e-07f, -1.362131489e-07f, -1.358108475e-07f, -1.354083930e-07f, -1.350057860e-07f,
+-1.346030274e-07f, -1.342001178e-07f, -1.337970581e-07f, -1.333938489e-07f, -1.329904909e-07f, -1.325869850e-07f, -1.321833317e-07f, -1.317795320e-07f, -1.313755864e-07f, -1.309714958e-07f,
+-1.305672608e-07f, -1.301628823e-07f, -1.297583609e-07f, -1.293536973e-07f, -1.289488924e-07f, -1.285439468e-07f, -1.281388613e-07f, -1.277336366e-07f, -1.273282735e-07f, -1.269227726e-07f,
+-1.265171348e-07f, -1.261113607e-07f, -1.257054511e-07f, -1.252994067e-07f, -1.248932283e-07f, -1.244869166e-07f, -1.240804723e-07f, -1.236738962e-07f, -1.232671890e-07f, -1.228603514e-07f,
+-1.224533843e-07f, -1.220462882e-07f, -1.216390640e-07f, -1.212317123e-07f, -1.208242340e-07f, -1.204166298e-07f, -1.200089003e-07f, -1.196010464e-07f, -1.191930687e-07f, -1.187849681e-07f,
+-1.183767452e-07f, -1.179684007e-07f, -1.175599355e-07f, -1.171513503e-07f, -1.167426457e-07f, -1.163338226e-07f, -1.159248816e-07f, -1.155158235e-07f, -1.151066491e-07f, -1.146973591e-07f,
+-1.142879541e-07f, -1.138784351e-07f, -1.134688026e-07f, -1.130590574e-07f, -1.126492003e-07f, -1.122392320e-07f, -1.118291533e-07f, -1.114189648e-07f, -1.110086673e-07f, -1.105982616e-07f,
+-1.101877484e-07f, -1.097771284e-07f, -1.093664024e-07f, -1.089555711e-07f, -1.085446352e-07f, -1.081335955e-07f, -1.077224528e-07f, -1.073112077e-07f, -1.068998610e-07f, -1.064884134e-07f,
+-1.060768657e-07f, -1.056652186e-07f, -1.052534728e-07f, -1.048416292e-07f, -1.044296884e-07f, -1.040176511e-07f, -1.036055181e-07f, -1.031932902e-07f, -1.027809680e-07f, -1.023685524e-07f,
+-1.019560440e-07f, -1.015434436e-07f, -1.011307520e-07f, -1.007179698e-07f, -1.003050978e-07f, -9.989213679e-08f, -9.947908745e-08f, -9.906595052e-08f, -9.865272676e-08f, -9.823941690e-08f,
+-9.782602168e-08f, -9.741254184e-08f, -9.699897811e-08f, -9.658533123e-08f, -9.617160195e-08f, -9.575779099e-08f, -9.534389910e-08f, -9.492992702e-08f, -9.451587549e-08f, -9.410174524e-08f,
+-9.368753701e-08f, -9.327325154e-08f, -9.285888957e-08f, -9.244445183e-08f, -9.202993907e-08f, -9.161535202e-08f, -9.120069143e-08f, -9.078595802e-08f, -9.037115254e-08f, -8.995627572e-08f,
+-8.954132831e-08f, -8.912631104e-08f, -8.871122465e-08f, -8.829606987e-08f, -8.788084745e-08f, -8.746555812e-08f, -8.705020263e-08f, -8.663478170e-08f, -8.621929608e-08f, -8.580374650e-08f,
+-8.538813371e-08f, -8.497245843e-08f, -8.455672142e-08f, -8.414092339e-08f, -8.372506510e-08f, -8.330914728e-08f, -8.289317067e-08f, -8.247713600e-08f, -8.206104401e-08f, -8.164489545e-08f,
+-8.122869104e-08f, -8.081243152e-08f, -8.039611763e-08f, -7.997975011e-08f, -7.956332970e-08f, -7.914685713e-08f, -7.873033313e-08f, -7.831375845e-08f, -7.789713383e-08f, -7.748045999e-08f,
+-7.706373768e-08f, -7.664696763e-08f, -7.623015058e-08f, -7.581328726e-08f, -7.539637842e-08f, -7.497942478e-08f, -7.456242709e-08f, -7.414538608e-08f, -7.372830248e-08f, -7.331117703e-08f,
+-7.289401048e-08f, -7.247680354e-08f, -7.205955697e-08f, -7.164227149e-08f, -7.122494784e-08f, -7.080758676e-08f, -7.039018898e-08f, -6.997275523e-08f, -6.955528626e-08f, -6.913778280e-08f,
+-6.872024557e-08f, -6.830267533e-08f, -6.788507279e-08f, -6.746743871e-08f, -6.704977380e-08f, -6.663207881e-08f, -6.621435447e-08f, -6.579660152e-08f, -6.537882068e-08f, -6.496101270e-08f,
+-6.454317830e-08f, -6.412531823e-08f, -6.370743321e-08f, -6.328952397e-08f, -6.287159127e-08f, -6.245363581e-08f, -6.203565835e-08f, -6.161765961e-08f, -6.119964032e-08f, -6.078160122e-08f,
+-6.036354305e-08f, -5.994546653e-08f, -5.952737239e-08f, -5.910926138e-08f, -5.869113422e-08f, -5.827299164e-08f, -5.785483438e-08f, -5.743666316e-08f, -5.701847873e-08f, -5.660028181e-08f,
+-5.618207314e-08f, -5.576385344e-08f, -5.534562345e-08f, -5.492738389e-08f, -5.450913551e-08f, -5.409087903e-08f, -5.367261518e-08f, -5.325434469e-08f, -5.283606829e-08f, -5.241778672e-08f,
+-5.199950070e-08f, -5.158121096e-08f, -5.116291824e-08f, -5.074462327e-08f, -5.032632676e-08f, -4.990802946e-08f, -4.948973210e-08f, -4.907143539e-08f, -4.865314008e-08f, -4.823484688e-08f,
+-4.781655654e-08f, -4.739826977e-08f, -4.697998731e-08f, -4.656170988e-08f, -4.614343822e-08f, -4.572517305e-08f, -4.530691509e-08f, -4.488866509e-08f, -4.447042375e-08f, -4.405219182e-08f,
+-4.363397002e-08f, -4.321575907e-08f, -4.279755970e-08f, -4.237937265e-08f, -4.196119863e-08f, -4.154303837e-08f, -4.112489260e-08f, -4.070676205e-08f, -4.028864744e-08f, -3.987054949e-08f,
+-3.945246893e-08f, -3.903440649e-08f, -3.861636290e-08f, -3.819833886e-08f, -3.778033513e-08f, -3.736235240e-08f, -3.694439142e-08f, -3.652645290e-08f, -3.610853758e-08f, -3.569064616e-08f,
+-3.527277938e-08f, -3.485493796e-08f, -3.443712263e-08f, -3.401933410e-08f, -3.360157310e-08f, -3.318384035e-08f, -3.276613657e-08f, -3.234846249e-08f, -3.193081883e-08f, -3.151320631e-08f,
+-3.109562565e-08f, -3.067807758e-08f, -3.026056280e-08f, -2.984308206e-08f, -2.942563606e-08f, -2.900822553e-08f, -2.859085118e-08f, -2.817351375e-08f, -2.775621394e-08f, -2.733895248e-08f,
+-2.692173008e-08f, -2.650454747e-08f, -2.608740537e-08f, -2.567030449e-08f, -2.525324555e-08f, -2.483622928e-08f, -2.441925638e-08f, -2.400232758e-08f, -2.358544360e-08f, -2.316860515e-08f,
+-2.275181295e-08f, -2.233506772e-08f, -2.191837017e-08f, -2.150172103e-08f, -2.108512100e-08f, -2.066857080e-08f, -2.025207115e-08f, -1.983562277e-08f, -1.941922637e-08f, -1.900288266e-08f,
+-1.858659237e-08f, -1.817035620e-08f, -1.775417486e-08f, -1.733804909e-08f, -1.692197958e-08f, -1.650596705e-08f, -1.609001222e-08f, -1.567411580e-08f, -1.525827850e-08f, -1.484250103e-08f,
+-1.442678411e-08f, -1.401112845e-08f, -1.359553476e-08f, -1.318000375e-08f, -1.276453614e-08f, -1.234913263e-08f, -1.193379394e-08f, -1.151852078e-08f, -1.110331385e-08f, -1.068817387e-08f,
+-1.027310155e-08f, -9.858097599e-09f, -9.443162723e-09f, -9.028297633e-09f, -8.613503037e-09f, -8.198779645e-09f, -7.784128164e-09f, -7.369549303e-09f, -6.955043769e-09f, -6.540612271e-09f,
+-6.126255514e-09f, -5.711974207e-09f, -5.297769055e-09f, -4.883640765e-09f, -4.469590044e-09f, -4.055617596e-09f, -3.641724128e-09f, -3.227910345e-09f, -2.814176952e-09f, -2.400524653e-09f,
+-1.986954152e-09f, -1.573466155e-09f, -1.160061364e-09f, -7.467404840e-10f, -3.335042170e-10f, 7.964673359e-11f, 4.927116652e-10f, 9.056898754e-10f, 1.318580662e-09f, 1.731383324e-09f,
+2.144097159e-09f, 2.556721466e-09f, 2.969255545e-09f, 3.381698695e-09f, 3.794050215e-09f, 4.206309406e-09f, 4.618475568e-09f, 5.030548002e-09f, 5.442526009e-09f, 5.854408889e-09f,
+6.266195946e-09f, 6.677886480e-09f, 7.089479794e-09f, 7.500975190e-09f, 7.912371971e-09f, 8.323669441e-09f, 8.734866903e-09f, 9.145963661e-09f, 9.556959018e-09f, 9.967852280e-09f,
+1.037864275e-08f, 1.078932974e-08f, 1.119991254e-08f, 1.161039047e-08f, 1.202076283e-08f, 1.243102893e-08f, 1.284118808e-08f, 1.325123958e-08f, 1.366118273e-08f, 1.407101685e-08f,
+1.448074125e-08f, 1.489035523e-08f, 1.529985811e-08f, 1.570924918e-08f, 1.611852777e-08f, 1.652769317e-08f, 1.693674471e-08f, 1.734568169e-08f, 1.775450342e-08f, 1.816320921e-08f,
+1.857179837e-08f, 1.898027023e-08f, 1.938862408e-08f, 1.979685924e-08f, 2.020497502e-08f, 2.061297075e-08f, 2.102084572e-08f, 2.142859926e-08f, 2.183623068e-08f, 2.224373929e-08f,
+2.265112440e-08f, 2.305838535e-08f, 2.346552143e-08f, 2.387253196e-08f, 2.427941627e-08f, 2.468617367e-08f, 2.509280348e-08f, 2.549930500e-08f, 2.590567757e-08f, 2.631192050e-08f,
+2.671803311e-08f, 2.712401471e-08f, 2.752986463e-08f, 2.793558219e-08f, 2.834116670e-08f, 2.874661749e-08f, 2.915193388e-08f, 2.955711519e-08f, 2.996216073e-08f, 3.036706984e-08f,
+3.077184184e-08f, 3.117647604e-08f, 3.158097178e-08f, 3.198532836e-08f, 3.238954513e-08f, 3.279362140e-08f, 3.319755649e-08f, 3.360134974e-08f, 3.400500047e-08f, 3.440850800e-08f,
+3.481187166e-08f, 3.521509077e-08f, 3.561816467e-08f, 3.602109268e-08f, 3.642387413e-08f, 3.682650834e-08f, 3.722899465e-08f, 3.763133239e-08f, 3.803352087e-08f, 3.843555944e-08f,
+3.883744743e-08f, 3.923918416e-08f, 3.964076896e-08f, 4.004220117e-08f, 4.044348012e-08f, 4.084460514e-08f, 4.124557556e-08f, 4.164639072e-08f, 4.204704994e-08f, 4.244755258e-08f,
+4.284789794e-08f, 4.324808538e-08f, 4.364811423e-08f, 4.404798382e-08f, 4.444769349e-08f, 4.484724258e-08f, 4.524663042e-08f, 4.564585634e-08f, 4.604491969e-08f, 4.644381981e-08f,
+4.684255603e-08f, 4.724112769e-08f, 4.763953413e-08f, 4.803777470e-08f, 4.843584872e-08f, 4.883375555e-08f, 4.923149452e-08f, 4.962906497e-08f, 5.002646625e-08f, 5.042369769e-08f,
+5.082075865e-08f, 5.121764846e-08f, 5.161436647e-08f, 5.201091202e-08f, 5.240728446e-08f, 5.280348312e-08f, 5.319950736e-08f, 5.359535653e-08f, 5.399102996e-08f, 5.438652701e-08f,
+5.478184702e-08f, 5.517698934e-08f, 5.557195331e-08f, 5.596673830e-08f, 5.636134363e-08f, 5.675576868e-08f, 5.715001277e-08f, 5.754407527e-08f, 5.793795552e-08f, 5.833165288e-08f,
+5.872516670e-08f, 5.911849633e-08f, 5.951164112e-08f, 5.990460042e-08f, 6.029737360e-08f, 6.068995999e-08f, 6.108235896e-08f, 6.147456987e-08f, 6.186659206e-08f, 6.225842489e-08f,
+6.265006773e-08f, 6.304151991e-08f, 6.343278081e-08f, 6.382384978e-08f, 6.421472618e-08f, 6.460540937e-08f, 6.499589870e-08f, 6.538619354e-08f, 6.577629324e-08f, 6.616619717e-08f,
+6.655590468e-08f, 6.694541514e-08f, 6.733472792e-08f, 6.772384236e-08f, 6.811275784e-08f, 6.850147372e-08f, 6.888998936e-08f, 6.927830412e-08f, 6.966641738e-08f, 7.005432849e-08f,
+7.044203683e-08f, 7.082954175e-08f, 7.121684263e-08f, 7.160393883e-08f, 7.199082972e-08f, 7.237751467e-08f, 7.276399304e-08f, 7.315026421e-08f, 7.353632755e-08f, 7.392218242e-08f,
+7.430782820e-08f, 7.469326425e-08f, 7.507848995e-08f, 7.546350468e-08f, 7.584830779e-08f, 7.623289868e-08f, 7.661727670e-08f, 7.700144124e-08f, 7.738539166e-08f, 7.776912735e-08f,
+7.815264769e-08f, 7.853595203e-08f, 7.891903977e-08f, 7.930191028e-08f, 7.968456293e-08f, 8.006699711e-08f, 8.044921220e-08f, 8.083120757e-08f, 8.121298260e-08f, 8.159453667e-08f,
+8.197586917e-08f, 8.235697947e-08f, 8.273786696e-08f, 8.311853102e-08f, 8.349897103e-08f, 8.387918638e-08f, 8.425917644e-08f, 8.463894061e-08f, 8.501847827e-08f, 8.539778880e-08f,
+8.577687159e-08f, 8.615572602e-08f, 8.653435149e-08f, 8.691274738e-08f, 8.729091308e-08f, 8.766884798e-08f, 8.804655146e-08f, 8.842402292e-08f, 8.880126175e-08f, 8.917826733e-08f,
+8.955503906e-08f, 8.993157633e-08f, 9.030787853e-08f, 9.068394506e-08f, 9.105977530e-08f, 9.143536866e-08f, 9.181072452e-08f, 9.218584229e-08f, 9.256072135e-08f, 9.293536111e-08f,
+9.330976096e-08f, 9.368392029e-08f, 9.405783851e-08f, 9.443151501e-08f, 9.480494919e-08f, 9.517814046e-08f, 9.555108821e-08f, 9.592379183e-08f, 9.629625075e-08f, 9.666846434e-08f,
+9.704043202e-08f, 9.741215319e-08f, 9.778362726e-08f, 9.815485362e-08f, 9.852583168e-08f, 9.889656084e-08f, 9.926704052e-08f, 9.963727011e-08f, 1.000072490e-07f, 1.003769767e-07f,
+1.007464525e-07f, 1.011156758e-07f, 1.014846461e-07f, 1.018533627e-07f, 1.022218252e-07f, 1.025900328e-07f, 1.029579850e-07f, 1.033256812e-07f, 1.036931208e-07f, 1.040603033e-07f,
+1.044272280e-07f, 1.047938944e-07f, 1.051603018e-07f, 1.055264498e-07f, 1.058923376e-07f, 1.062579648e-07f, 1.066233307e-07f, 1.069884348e-07f, 1.073532764e-07f, 1.077178550e-07f,
+1.080821701e-07f, 1.084462209e-07f, 1.088100071e-07f, 1.091735279e-07f, 1.095367828e-07f, 1.098997712e-07f, 1.102624925e-07f, 1.106249462e-07f, 1.109871317e-07f, 1.113490484e-07f,
+1.117106958e-07f, 1.120720732e-07f, 1.124331800e-07f, 1.127940158e-07f, 1.131545800e-07f, 1.135148719e-07f, 1.138748910e-07f, 1.142346368e-07f, 1.145941085e-07f, 1.149533058e-07f,
+1.153122280e-07f, 1.156708746e-07f, 1.160292449e-07f, 1.163873384e-07f, 1.167451546e-07f, 1.171026929e-07f, 1.174599527e-07f, 1.178169334e-07f, 1.181736346e-07f, 1.185300555e-07f,
+1.188861957e-07f, 1.192420547e-07f, 1.195976317e-07f, 1.199529263e-07f, 1.203079380e-07f, 1.206626660e-07f, 1.210171100e-07f, 1.213712694e-07f, 1.217251435e-07f, 1.220787318e-07f,
+1.224320338e-07f, 1.227850489e-07f, 1.231377765e-07f, 1.234902161e-07f, 1.238423672e-07f, 1.241942292e-07f, 1.245458015e-07f, 1.248970836e-07f, 1.252480749e-07f, 1.255987749e-07f,
+1.259491830e-07f, 1.262992987e-07f, 1.266491215e-07f, 1.269986507e-07f, 1.273478858e-07f, 1.276968264e-07f, 1.280454718e-07f, 1.283938214e-07f, 1.287418748e-07f, 1.290896314e-07f,
+1.294370907e-07f, 1.297842521e-07f, 1.301311150e-07f, 1.304776790e-07f, 1.308239434e-07f, 1.311699078e-07f, 1.315155717e-07f, 1.318609343e-07f, 1.322059953e-07f, 1.325507541e-07f,
+1.328952101e-07f, 1.332393628e-07f, 1.335832117e-07f, 1.339267563e-07f, 1.342699959e-07f, 1.346129301e-07f, 1.349555584e-07f, 1.352978801e-07f, 1.356398948e-07f, 1.359816020e-07f,
+1.363230010e-07f, 1.366640914e-07f, 1.370048727e-07f, 1.373453442e-07f, 1.376855056e-07f, 1.380253562e-07f, 1.383648955e-07f, 1.387041230e-07f, 1.390430382e-07f, 1.393816405e-07f,
+1.397199295e-07f, 1.400579046e-07f, 1.403955652e-07f, 1.407329109e-07f, 1.410699411e-07f, 1.414066553e-07f, 1.417430530e-07f, 1.420791337e-07f, 1.424148968e-07f, 1.427503418e-07f,
+1.430854682e-07f, 1.434202756e-07f, 1.437547633e-07f, 1.440889308e-07f, 1.444227777e-07f, 1.447563035e-07f, 1.450895075e-07f, 1.454223893e-07f, 1.457549484e-07f, 1.460871843e-07f,
+1.464190965e-07f, 1.467506843e-07f, 1.470819475e-07f, 1.474128853e-07f, 1.477434974e-07f, 1.480737832e-07f, 1.484037422e-07f, 1.487333739e-07f, 1.490626777e-07f, 1.493916533e-07f,
+1.497203000e-07f, 1.500486174e-07f, 1.503766050e-07f, 1.507042622e-07f, 1.510315886e-07f, 1.513585837e-07f, 1.516852469e-07f, 1.520115778e-07f, 1.523375759e-07f, 1.526632406e-07f,
+1.529885715e-07f, 1.533135681e-07f, 1.536382298e-07f, 1.539625562e-07f, 1.542865468e-07f, 1.546102010e-07f, 1.549335185e-07f, 1.552564986e-07f, 1.555791410e-07f, 1.559014451e-07f,
+1.562234103e-07f, 1.565450364e-07f, 1.568663226e-07f, 1.571872686e-07f, 1.575078739e-07f, 1.578281380e-07f, 1.581480603e-07f, 1.584676405e-07f, 1.587868779e-07f, 1.591057722e-07f,
+1.594243228e-07f, 1.597425293e-07f, 1.600603912e-07f, 1.603779080e-07f, 1.606950792e-07f, 1.610119043e-07f, 1.613283829e-07f, 1.616445145e-07f, 1.619602985e-07f, 1.622757346e-07f,
+1.625908222e-07f, 1.629055609e-07f, 1.632199502e-07f, 1.635339896e-07f, 1.638476786e-07f, 1.641610168e-07f, 1.644740037e-07f, 1.647866388e-07f, 1.650989217e-07f, 1.654108518e-07f,
+1.657224288e-07f, 1.660336521e-07f, 1.663445212e-07f, 1.666550358e-07f, 1.669651953e-07f, 1.672749993e-07f, 1.675844472e-07f, 1.678935387e-07f, 1.682022733e-07f, 1.685106505e-07f,
+1.688186699e-07f, 1.691263309e-07f, 1.694336331e-07f, 1.697405761e-07f, 1.700471594e-07f, 1.703533826e-07f, 1.706592451e-07f, 1.709647466e-07f, 1.712698865e-07f, 1.715746645e-07f,
+1.718790800e-07f, 1.721831326e-07f, 1.724868218e-07f, 1.727901473e-07f, 1.730931085e-07f, 1.733957049e-07f, 1.736979362e-07f, 1.739998019e-07f, 1.743013016e-07f, 1.746024347e-07f,
+1.749032009e-07f, 1.752035996e-07f, 1.755036305e-07f, 1.758032931e-07f, 1.761025870e-07f, 1.764015117e-07f, 1.767000667e-07f, 1.769982517e-07f, 1.772960661e-07f, 1.775935096e-07f,
+1.778905816e-07f, 1.781872818e-07f, 1.784836098e-07f, 1.787795650e-07f, 1.790751471e-07f, 1.793703555e-07f, 1.796651899e-07f, 1.799596499e-07f, 1.802537349e-07f, 1.805474447e-07f,
+1.808407786e-07f, 1.811337363e-07f, 1.814263174e-07f, 1.817185215e-07f, 1.820103480e-07f, 1.823017966e-07f, 1.825928668e-07f, 1.828835583e-07f, 1.831738705e-07f, 1.834638031e-07f,
+1.837533556e-07f, 1.840425277e-07f, 1.843313188e-07f, 1.846197285e-07f, 1.849077566e-07f, 1.851954024e-07f, 1.854826656e-07f, 1.857695458e-07f, 1.860560425e-07f, 1.863421554e-07f,
+1.866278840e-07f, 1.869132279e-07f, 1.871981866e-07f, 1.874827598e-07f, 1.877669471e-07f, 1.880507480e-07f, 1.883341621e-07f, 1.886171890e-07f, 1.888998284e-07f, 1.891820796e-07f,
+1.894639425e-07f, 1.897454165e-07f, 1.900265013e-07f, 1.903071964e-07f, 1.905875015e-07f, 1.908674161e-07f, 1.911469397e-07f, 1.914260722e-07f, 1.917048129e-07f, 1.919831615e-07f,
+1.922611176e-07f, 1.925386809e-07f, 1.928158508e-07f, 1.930926270e-07f, 1.933690092e-07f, 1.936449968e-07f, 1.939205895e-07f, 1.941957869e-07f, 1.944705887e-07f, 1.947449943e-07f,
+1.950190035e-07f, 1.952926157e-07f, 1.955658307e-07f, 1.958386481e-07f, 1.961110673e-07f, 1.963830881e-07f, 1.966547101e-07f, 1.969259328e-07f, 1.971967559e-07f, 1.974671790e-07f,
+1.977372017e-07f, 1.980068237e-07f, 1.982760444e-07f, 1.985448636e-07f, 1.988132808e-07f, 1.990812957e-07f, 1.993489080e-07f, 1.996161171e-07f, 1.998829227e-07f, 2.001493245e-07f,
+2.004153221e-07f, 2.006809150e-07f, 2.009461030e-07f, 2.012108855e-07f, 2.014752624e-07f, 2.017392331e-07f, 2.020027973e-07f, 2.022659547e-07f, 2.025287048e-07f, 2.027910473e-07f,
+2.030529818e-07f, 2.033145079e-07f, 2.035756253e-07f, 2.038363336e-07f, 2.040966325e-07f, 2.043565215e-07f, 2.046160003e-07f, 2.048750685e-07f, 2.051337258e-07f, 2.053919718e-07f,
+2.056498061e-07f, 2.059072284e-07f, 2.061642383e-07f, 2.064208354e-07f, 2.066770195e-07f, 2.069327900e-07f, 2.071881467e-07f, 2.074430893e-07f, 2.076976173e-07f, 2.079517303e-07f,
+2.082054282e-07f, 2.084587104e-07f, 2.087115766e-07f, 2.089640265e-07f, 2.092160597e-07f, 2.094676759e-07f, 2.097188747e-07f, 2.099696558e-07f, 2.102200188e-07f, 2.104699633e-07f,
+2.107194891e-07f, 2.109685958e-07f, 2.112172829e-07f, 2.114655503e-07f, 2.117133975e-07f, 2.119608242e-07f, 2.122078300e-07f, 2.124544147e-07f, 2.127005778e-07f, 2.129463190e-07f,
+2.131916380e-07f, 2.134365345e-07f, 2.136810081e-07f, 2.139250584e-07f, 2.141686852e-07f, 2.144118880e-07f, 2.146546667e-07f, 2.148970207e-07f, 2.151389499e-07f, 2.153804538e-07f,
+2.156215321e-07f, 2.158621845e-07f, 2.161024107e-07f, 2.163422104e-07f, 2.165815831e-07f, 2.168205286e-07f, 2.170590466e-07f, 2.172971367e-07f, 2.175347986e-07f, 2.177720320e-07f,
+2.180088366e-07f, 2.182452119e-07f, 2.184811578e-07f, 2.187166739e-07f, 2.189517598e-07f, 2.191864153e-07f, 2.194206400e-07f, 2.196544336e-07f, 2.198877959e-07f, 2.201207264e-07f,
+2.203532248e-07f, 2.205852909e-07f, 2.208169244e-07f, 2.210481248e-07f, 2.212788920e-07f, 2.215092255e-07f, 2.217391252e-07f, 2.219685906e-07f, 2.221976215e-07f, 2.224262175e-07f,
+2.226543784e-07f, 2.228821039e-07f, 2.231093936e-07f, 2.233362472e-07f, 2.235626644e-07f, 2.237886450e-07f, 2.240141886e-07f, 2.242392949e-07f, 2.244639637e-07f, 2.246881945e-07f,
+2.249119872e-07f, 2.251353414e-07f, 2.253582569e-07f, 2.255807333e-07f, 2.258027703e-07f, 2.260243676e-07f, 2.262455250e-07f, 2.264662422e-07f, 2.266865188e-07f, 2.269063546e-07f,
+2.271257492e-07f, 2.273447025e-07f, 2.275632140e-07f, 2.277812836e-07f, 2.279989108e-07f, 2.282160955e-07f, 2.284328374e-07f, 2.286491361e-07f, 2.288649915e-07f, 2.290804031e-07f,
+2.292953707e-07f, 2.295098941e-07f, 2.297239729e-07f, 2.299376069e-07f, 2.301507958e-07f, 2.303635393e-07f, 2.305758371e-07f, 2.307876890e-07f, 2.309990947e-07f, 2.312100539e-07f,
+2.314205664e-07f, 2.316306318e-07f, 2.318402499e-07f, 2.320494204e-07f, 2.322581431e-07f, 2.324664177e-07f, 2.326742438e-07f, 2.328816213e-07f, 2.330885499e-07f, 2.332950293e-07f,
+2.335010593e-07f, 2.337066395e-07f, 2.339117697e-07f, 2.341164497e-07f, 2.343206792e-07f, 2.345244579e-07f, 2.347277855e-07f, 2.349306619e-07f, 2.351330867e-07f, 2.353350598e-07f,
+2.355365807e-07f, 2.357376493e-07f, 2.359382654e-07f, 2.361384286e-07f, 2.363381387e-07f, 2.365373955e-07f, 2.367361987e-07f, 2.369345480e-07f, 2.371324433e-07f, 2.373298842e-07f,
+2.375268705e-07f, 2.377234020e-07f, 2.379194784e-07f, 2.381150994e-07f, 2.383102649e-07f, 2.385049746e-07f, 2.386992282e-07f, 2.388930254e-07f, 2.390863662e-07f, 2.392792501e-07f,
+2.394716770e-07f, 2.396636466e-07f, 2.398551587e-07f, 2.400462131e-07f, 2.402368094e-07f, 2.404269476e-07f, 2.406166273e-07f, 2.408058483e-07f, 2.409946104e-07f, 2.411829133e-07f,
+2.413707568e-07f, 2.415581407e-07f, 2.417450648e-07f, 2.419315287e-07f, 2.421175324e-07f, 2.423030755e-07f, 2.424881579e-07f, 2.426727793e-07f, 2.428569394e-07f, 2.430406381e-07f,
+2.432238752e-07f, 2.434066504e-07f, 2.435889634e-07f, 2.437708142e-07f, 2.439522024e-07f, 2.441331278e-07f, 2.443135903e-07f, 2.444935895e-07f, 2.446731253e-07f, 2.448521975e-07f,
+2.450308059e-07f, 2.452089502e-07f, 2.453866302e-07f, 2.455638457e-07f, 2.457405965e-07f, 2.459168825e-07f, 2.460927033e-07f, 2.462680588e-07f, 2.464429487e-07f, 2.466173729e-07f,
+2.467913312e-07f, 2.469648233e-07f, 2.471378490e-07f, 2.473104082e-07f, 2.474825006e-07f, 2.476541261e-07f, 2.478252843e-07f, 2.479959753e-07f, 2.481661986e-07f, 2.483359542e-07f,
+2.485052418e-07f, 2.486740613e-07f, 2.488424124e-07f, 2.490102950e-07f, 2.491777088e-07f, 2.493446537e-07f, 2.495111294e-07f, 2.496771359e-07f, 2.498426728e-07f, 2.500077400e-07f,
+2.501723373e-07f, 2.503364646e-07f, 2.505001216e-07f, 2.506633081e-07f, 2.508260240e-07f, 2.509882691e-07f, 2.511500431e-07f, 2.513113460e-07f, 2.514721775e-07f, 2.516325374e-07f,
+2.517924257e-07f, 2.519518420e-07f, 2.521107862e-07f, 2.522692581e-07f, 2.524272576e-07f, 2.525847845e-07f, 2.527418386e-07f, 2.528984197e-07f, 2.530545276e-07f, 2.532101623e-07f,
+2.533653234e-07f, 2.535200109e-07f, 2.536742246e-07f, 2.538279642e-07f, 2.539812297e-07f, 2.541340209e-07f, 2.542863376e-07f, 2.544381796e-07f, 2.545895467e-07f, 2.547404389e-07f,
+2.548908559e-07f, 2.550407976e-07f, 2.551902638e-07f, 2.553392543e-07f, 2.554877691e-07f, 2.556358079e-07f, 2.557833705e-07f, 2.559304569e-07f, 2.560770669e-07f, 2.562232003e-07f,
+2.563688569e-07f, 2.565140366e-07f, 2.566587393e-07f, 2.568029648e-07f, 2.569467130e-07f, 2.570899836e-07f, 2.572327766e-07f, 2.573750918e-07f, 2.575169290e-07f, 2.576582881e-07f,
+2.577991690e-07f, 2.579395715e-07f, 2.580794955e-07f, 2.582189409e-07f, 2.583579074e-07f, 2.584963949e-07f, 2.586344034e-07f, 2.587719326e-07f, 2.589089824e-07f, 2.590455528e-07f,
+2.591816434e-07f, 2.593172543e-07f, 2.594523853e-07f, 2.595870362e-07f, 2.597212070e-07f, 2.598548974e-07f, 2.599881073e-07f, 2.601208367e-07f, 2.602530853e-07f, 2.603848532e-07f,
+2.605161400e-07f, 2.606469457e-07f, 2.607772702e-07f, 2.609071134e-07f, 2.610364751e-07f, 2.611653551e-07f, 2.612937535e-07f, 2.614216700e-07f, 2.615491045e-07f, 2.616760570e-07f,
+2.618025272e-07f, 2.619285151e-07f, 2.620540206e-07f, 2.621790435e-07f, 2.623035837e-07f, 2.624276411e-07f, 2.625512156e-07f, 2.626743071e-07f, 2.627969154e-07f, 2.629190405e-07f,
+2.630406823e-07f, 2.631618406e-07f, 2.632825152e-07f, 2.634027063e-07f, 2.635224135e-07f, 2.636416368e-07f, 2.637603761e-07f, 2.638786313e-07f, 2.639964022e-07f, 2.641136889e-07f,
+2.642304911e-07f, 2.643468088e-07f, 2.644626419e-07f, 2.645779903e-07f, 2.646928538e-07f, 2.648072324e-07f, 2.649211260e-07f, 2.650345345e-07f, 2.651474577e-07f, 2.652598957e-07f,
+2.653718483e-07f, 2.654833153e-07f, 2.655942968e-07f, 2.657047926e-07f, 2.658148027e-07f, 2.659243269e-07f, 2.660333651e-07f, 2.661419174e-07f, 2.662499835e-07f, 2.663575634e-07f,
+2.664646570e-07f, 2.665712642e-07f, 2.666773850e-07f, 2.667830193e-07f, 2.668881669e-07f, 2.669928278e-07f, 2.670970020e-07f, 2.672006892e-07f, 2.673038896e-07f, 2.674066029e-07f,
+2.675088292e-07f, 2.676105683e-07f, 2.677118201e-07f, 2.678125846e-07f, 2.679128618e-07f, 2.680126514e-07f, 2.681119536e-07f, 2.682107681e-07f, 2.683090950e-07f, 2.684069342e-07f,
+2.685042855e-07f, 2.686011490e-07f, 2.686975245e-07f, 2.687934120e-07f, 2.688888114e-07f, 2.689837228e-07f, 2.690781459e-07f, 2.691720807e-07f, 2.692655273e-07f, 2.693584855e-07f,
+2.694509552e-07f, 2.695429364e-07f, 2.696344291e-07f, 2.697254332e-07f, 2.698159486e-07f, 2.699059753e-07f, 2.699955133e-07f, 2.700845624e-07f, 2.701731226e-07f, 2.702611939e-07f,
+2.703487762e-07f, 2.704358695e-07f, 2.705224737e-07f, 2.706085888e-07f, 2.706942148e-07f, 2.707793515e-07f, 2.708639989e-07f, 2.709481570e-07f, 2.710318258e-07f, 2.711150052e-07f,
+2.711976952e-07f, 2.712798957e-07f, 2.713616067e-07f, 2.714428281e-07f, 2.715235599e-07f, 2.716038021e-07f, 2.716835546e-07f, 2.717628174e-07f, 2.718415905e-07f, 2.719198739e-07f,
+2.719976674e-07f, 2.720749711e-07f, 2.721517849e-07f, 2.722281088e-07f, 2.723039428e-07f, 2.723792868e-07f, 2.724541408e-07f, 2.725285049e-07f, 2.726023789e-07f, 2.726757628e-07f,
+2.727486567e-07f, 2.728210604e-07f, 2.728929740e-07f, 2.729643975e-07f, 2.730353307e-07f, 2.731057738e-07f, 2.731757267e-07f, 2.732451893e-07f, 2.733141617e-07f, 2.733826438e-07f,
+2.734506356e-07f, 2.735181371e-07f, 2.735851483e-07f, 2.736516692e-07f, 2.737176998e-07f, 2.737832400e-07f, 2.738482898e-07f, 2.739128493e-07f, 2.739769183e-07f, 2.740404970e-07f,
+2.741035853e-07f, 2.741661832e-07f, 2.742282907e-07f, 2.742899078e-07f, 2.743510345e-07f, 2.744116707e-07f, 2.744718165e-07f, 2.745314720e-07f, 2.745906369e-07f, 2.746493115e-07f,
+2.747074956e-07f, 2.747651894e-07f, 2.748223927e-07f, 2.748791055e-07f, 2.749353280e-07f, 2.749910601e-07f, 2.750463018e-07f, 2.751010531e-07f, 2.751553140e-07f, 2.752090846e-07f,
+2.752623648e-07f, 2.753151546e-07f, 2.753674542e-07f, 2.754192633e-07f, 2.754705822e-07f, 2.755214108e-07f, 2.755717491e-07f, 2.756215971e-07f, 2.756709549e-07f, 2.757198224e-07f,
+2.757681998e-07f, 2.758160869e-07f, 2.758634839e-07f, 2.759103907e-07f, 2.759568073e-07f, 2.760027339e-07f, 2.760481704e-07f, 2.760931168e-07f, 2.761375732e-07f, 2.761815396e-07f,
+2.762250160e-07f, 2.762680024e-07f, 2.763104989e-07f, 2.763525055e-07f, 2.763940223e-07f, 2.764350492e-07f, 2.764755863e-07f, 2.765156337e-07f, 2.765551913e-07f, 2.765942592e-07f,
+2.766328374e-07f, 2.766709260e-07f, 2.767085250e-07f, 2.767456345e-07f, 2.767822544e-07f, 2.768183849e-07f, 2.768540259e-07f, 2.768891776e-07f, 2.769238399e-07f, 2.769580128e-07f,
+2.769916965e-07f, 2.770248910e-07f, 2.770575964e-07f, 2.770898125e-07f, 2.771215397e-07f, 2.771527777e-07f, 2.771835268e-07f, 2.772137870e-07f, 2.772435583e-07f, 2.772728407e-07f,
+2.773016344e-07f, 2.773299393e-07f, 2.773577556e-07f, 2.773850832e-07f, 2.774119223e-07f, 2.774382729e-07f, 2.774641350e-07f, 2.774895088e-07f, 2.775143942e-07f, 2.775387914e-07f,
+2.775627003e-07f, 2.775861211e-07f, 2.776090538e-07f, 2.776314985e-07f, 2.776534552e-07f, 2.776749241e-07f, 2.776959051e-07f, 2.777163983e-07f, 2.777364039e-07f, 2.777559218e-07f,
+2.777749522e-07f, 2.777934951e-07f, 2.778115506e-07f, 2.778291187e-07f, 2.778461996e-07f, 2.778627933e-07f, 2.778788998e-07f, 2.778945193e-07f, 2.779096518e-07f, 2.779242975e-07f,
+2.779384563e-07f, 2.779521284e-07f, 2.779653138e-07f, 2.779780127e-07f, 2.779902250e-07f, 2.780019509e-07f, 2.780131905e-07f, 2.780239439e-07f, 2.780342111e-07f, 2.780439922e-07f,
+2.780532873e-07f, 2.780620965e-07f, 2.780704198e-07f, 2.780782575e-07f, 2.780856095e-07f, 2.780924759e-07f, 2.780988569e-07f, 2.781047525e-07f, 2.781101629e-07f, 2.781150880e-07f,
+2.781195281e-07f, 2.781234831e-07f, 2.781269533e-07f, 2.781299386e-07f, 2.781324393e-07f, 2.781344553e-07f, 2.781359869e-07f, 2.781370340e-07f, 2.781375968e-07f, 2.781376754e-07f,
+2.781372700e-07f, 2.781363805e-07f, 2.781350071e-07f, 2.781331499e-07f, 2.781308091e-07f, 2.781279846e-07f, 2.781246767e-07f, 2.781208854e-07f, 2.781166109e-07f, 2.781118532e-07f,
+2.781066125e-07f, 2.781008889e-07f, 2.780946825e-07f, 2.780879933e-07f, 2.780808216e-07f, 2.780731674e-07f, 2.780650309e-07f, 2.780564121e-07f, 2.780473112e-07f, 2.780377284e-07f,
+2.780276636e-07f, 2.780171171e-07f, 2.780060889e-07f, 2.779945792e-07f, 2.779825881e-07f, 2.779701157e-07f, 2.779571622e-07f, 2.779437277e-07f, 2.779298122e-07f, 2.779154160e-07f,
+2.779005391e-07f, 2.778851817e-07f, 2.778693439e-07f, 2.778530259e-07f, 2.778362277e-07f, 2.778189496e-07f, 2.778011915e-07f, 2.777829537e-07f, 2.777642363e-07f, 2.777450395e-07f,
+2.777253633e-07f, 2.777052079e-07f, 2.776845735e-07f, 2.776634601e-07f, 2.776418680e-07f, 2.776197972e-07f, 2.775972479e-07f, 2.775742202e-07f, 2.775507143e-07f, 2.775267304e-07f,
+2.775022685e-07f, 2.774773288e-07f, 2.774519114e-07f, 2.774260166e-07f, 2.773996444e-07f, 2.773727950e-07f, 2.773454685e-07f, 2.773176651e-07f, 2.772893850e-07f, 2.772606282e-07f,
+2.772313950e-07f, 2.772016855e-07f, 2.771714998e-07f, 2.771408381e-07f, 2.771097006e-07f, 2.770780874e-07f, 2.770459986e-07f, 2.770134345e-07f, 2.769803951e-07f, 2.769468807e-07f,
+2.769128914e-07f, 2.768784273e-07f, 2.768434886e-07f, 2.768080756e-07f, 2.767721882e-07f, 2.767358268e-07f, 2.766989914e-07f, 2.766616823e-07f, 2.766238996e-07f, 2.765856434e-07f,
+2.765469140e-07f, 2.765077114e-07f, 2.764680360e-07f, 2.764278877e-07f, 2.763872669e-07f, 2.763461737e-07f, 2.763046082e-07f, 2.762625706e-07f, 2.762200612e-07f, 2.761770800e-07f,
+2.761336272e-07f, 2.760897031e-07f, 2.760453078e-07f, 2.760004415e-07f, 2.759551043e-07f, 2.759092964e-07f, 2.758630181e-07f, 2.758162694e-07f, 2.757690507e-07f, 2.757213620e-07f,
+2.756732035e-07f, 2.756245755e-07f, 2.755754780e-07f, 2.755259114e-07f, 2.754758757e-07f, 2.754253713e-07f, 2.753743981e-07f, 2.753229565e-07f, 2.752710467e-07f, 2.752186688e-07f,
+2.751658229e-07f, 2.751125094e-07f, 2.750587284e-07f, 2.750044801e-07f, 2.749497647e-07f, 2.748945823e-07f, 2.748389332e-07f, 2.747828176e-07f, 2.747262357e-07f, 2.746691876e-07f,
+2.746116736e-07f, 2.745536938e-07f, 2.744952485e-07f, 2.744363379e-07f, 2.743769621e-07f, 2.743171214e-07f, 2.742568160e-07f, 2.741960461e-07f, 2.741348118e-07f, 2.740731134e-07f,
+2.740109512e-07f, 2.739483252e-07f, 2.738852357e-07f, 2.738216829e-07f, 2.737576671e-07f, 2.736931884e-07f, 2.736282470e-07f, 2.735628432e-07f, 2.734969771e-07f, 2.734306491e-07f,
+2.733638592e-07f, 2.732966078e-07f, 2.732288949e-07f, 2.731607210e-07f, 2.730920860e-07f, 2.730229904e-07f, 2.729534342e-07f, 2.728834178e-07f, 2.728129413e-07f, 2.727420049e-07f,
+2.726706089e-07f, 2.725987535e-07f, 2.725264390e-07f, 2.724536655e-07f, 2.723804332e-07f, 2.723067425e-07f, 2.722325934e-07f, 2.721579863e-07f, 2.720829214e-07f, 2.720073989e-07f,
+2.719314190e-07f, 2.718549820e-07f, 2.717780881e-07f, 2.717007375e-07f, 2.716229304e-07f, 2.715446672e-07f, 2.714659480e-07f, 2.713867730e-07f, 2.713071425e-07f, 2.712270567e-07f,
+2.711465159e-07f, 2.710655203e-07f, 2.709840701e-07f, 2.709021657e-07f, 2.708198071e-07f, 2.707369947e-07f, 2.706537286e-07f, 2.705700093e-07f, 2.704858368e-07f, 2.704012114e-07f,
+2.703161334e-07f, 2.702306030e-07f, 2.701446205e-07f, 2.700581860e-07f, 2.699712999e-07f, 2.698839625e-07f, 2.697961738e-07f, 2.697079343e-07f, 2.696192441e-07f, 2.695301035e-07f,
+2.694405128e-07f, 2.693504721e-07f, 2.692599818e-07f, 2.691690421e-07f, 2.690776533e-07f, 2.689858156e-07f, 2.688935292e-07f, 2.688007945e-07f, 2.687076117e-07f, 2.686139810e-07f,
+2.685199027e-07f, 2.684253771e-07f, 2.683304044e-07f, 2.682349848e-07f, 2.681391188e-07f, 2.680428064e-07f, 2.679460480e-07f, 2.678488438e-07f, 2.677511941e-07f, 2.676530992e-07f,
+2.675545593e-07f, 2.674555746e-07f, 2.673561456e-07f, 2.672562724e-07f, 2.671559553e-07f, 2.670551945e-07f, 2.669539904e-07f, 2.668523432e-07f, 2.667502531e-07f, 2.666477205e-07f,
+2.665447457e-07f, 2.664413288e-07f, 2.663374702e-07f, 2.662331702e-07f, 2.661284290e-07f, 2.660232468e-07f, 2.659176241e-07f, 2.658115610e-07f, 2.657050579e-07f, 2.655981149e-07f,
+2.654907325e-07f, 2.653829108e-07f, 2.652746502e-07f, 2.651659509e-07f, 2.650568132e-07f, 2.649472375e-07f, 2.648372239e-07f, 2.647267728e-07f, 2.646158845e-07f, 2.645045592e-07f,
+2.643927973e-07f, 2.642805989e-07f, 2.641679645e-07f, 2.640548943e-07f, 2.639413886e-07f, 2.638274476e-07f, 2.637130717e-07f, 2.635982612e-07f, 2.634830163e-07f, 2.633673374e-07f,
+2.632512248e-07f, 2.631346786e-07f, 2.630176994e-07f, 2.629002872e-07f, 2.627824425e-07f, 2.626641654e-07f, 2.625454565e-07f, 2.624263158e-07f, 2.623067438e-07f, 2.621867406e-07f,
+2.620663068e-07f, 2.619454424e-07f, 2.618241478e-07f, 2.617024234e-07f, 2.615802695e-07f, 2.614576862e-07f, 2.613346740e-07f, 2.612112332e-07f, 2.610873640e-07f, 2.609630668e-07f,
+2.608383419e-07f, 2.607131895e-07f, 2.605876101e-07f, 2.604616038e-07f, 2.603351710e-07f, 2.602083121e-07f, 2.600810273e-07f, 2.599533170e-07f, 2.598251814e-07f, 2.596966209e-07f,
+2.595676357e-07f, 2.594382263e-07f, 2.593083929e-07f, 2.591781359e-07f, 2.590474555e-07f, 2.589163521e-07f, 2.587848259e-07f, 2.586528774e-07f, 2.585205068e-07f, 2.583877145e-07f,
+2.582545007e-07f, 2.581208659e-07f, 2.579868102e-07f, 2.578523341e-07f, 2.577174379e-07f, 2.575821218e-07f, 2.574463863e-07f, 2.573102316e-07f, 2.571736581e-07f, 2.570366661e-07f,
+2.568992559e-07f, 2.567614279e-07f, 2.566231824e-07f, 2.564845197e-07f, 2.563454401e-07f, 2.562059440e-07f, 2.560660317e-07f, 2.559257035e-07f, 2.557849598e-07f, 2.556438010e-07f,
+2.555022272e-07f, 2.553602390e-07f, 2.552178366e-07f, 2.550750203e-07f, 2.549317905e-07f, 2.547881476e-07f, 2.546440918e-07f, 2.544996235e-07f, 2.543547430e-07f, 2.542094508e-07f,
+2.540637470e-07f, 2.539176322e-07f, 2.537711065e-07f, 2.536241704e-07f, 2.534768242e-07f, 2.533290683e-07f, 2.531809029e-07f, 2.530323285e-07f, 2.528833453e-07f, 2.527339538e-07f,
+2.525841543e-07f, 2.524339471e-07f, 2.522833325e-07f, 2.521323110e-07f, 2.519808828e-07f, 2.518290484e-07f, 2.516768080e-07f, 2.515241621e-07f, 2.513711109e-07f, 2.512176549e-07f,
+2.510637944e-07f, 2.509095297e-07f, 2.507548612e-07f, 2.505997892e-07f, 2.504443142e-07f, 2.502884364e-07f, 2.501321563e-07f, 2.499754741e-07f, 2.498183903e-07f, 2.496609052e-07f,
+2.495030191e-07f, 2.493447325e-07f, 2.491860456e-07f, 2.490269589e-07f, 2.488674727e-07f, 2.487075874e-07f, 2.485473033e-07f, 2.483866209e-07f, 2.482255403e-07f, 2.480640621e-07f,
+2.479021867e-07f, 2.477399142e-07f, 2.475772453e-07f, 2.474141801e-07f, 2.472507191e-07f, 2.470868626e-07f, 2.469226110e-07f, 2.467579647e-07f, 2.465929241e-07f, 2.464274895e-07f,
+2.462616613e-07f, 2.460954399e-07f, 2.459288256e-07f, 2.457618188e-07f, 2.455944200e-07f, 2.454266294e-07f, 2.452584474e-07f, 2.450898745e-07f, 2.449209110e-07f, 2.447515572e-07f,
+2.445818136e-07f, 2.444116806e-07f, 2.442411584e-07f, 2.440702476e-07f, 2.438989484e-07f, 2.437272613e-07f, 2.435551867e-07f, 2.433827248e-07f, 2.432098762e-07f, 2.430366412e-07f,
+2.428630201e-07f, 2.426890134e-07f, 2.425146215e-07f, 2.423398447e-07f, 2.421646834e-07f, 2.419891380e-07f, 2.418132090e-07f, 2.416368966e-07f, 2.414602013e-07f, 2.412831234e-07f,
+2.411056634e-07f, 2.409278217e-07f, 2.407495986e-07f, 2.405709945e-07f, 2.403920099e-07f, 2.402126451e-07f, 2.400329005e-07f, 2.398527765e-07f, 2.396722735e-07f, 2.394913919e-07f,
+2.393101321e-07f, 2.391284945e-07f, 2.389464794e-07f, 2.387640874e-07f, 2.385813188e-07f, 2.383981739e-07f, 2.382146532e-07f, 2.380307571e-07f, 2.378464860e-07f, 2.376618403e-07f,
+2.374768204e-07f, 2.372914266e-07f, 2.371056595e-07f, 2.369195194e-07f, 2.367330066e-07f, 2.365461217e-07f, 2.363588650e-07f, 2.361712369e-07f, 2.359832379e-07f, 2.357948682e-07f,
+2.356061285e-07f, 2.354170189e-07f, 2.352275401e-07f, 2.350376923e-07f, 2.348474759e-07f, 2.346568915e-07f, 2.344659394e-07f, 2.342746200e-07f, 2.340829337e-07f, 2.338908809e-07f,
+2.336984621e-07f, 2.335056777e-07f, 2.333125280e-07f, 2.331190136e-07f, 2.329251347e-07f, 2.327308919e-07f, 2.325362855e-07f, 2.323413160e-07f, 2.321459837e-07f, 2.319502892e-07f,
+2.317542327e-07f, 2.315578148e-07f, 2.313610359e-07f, 2.311638963e-07f, 2.309663965e-07f, 2.307685370e-07f, 2.305703180e-07f, 2.303717402e-07f, 2.301728038e-07f, 2.299735093e-07f,
+2.297738572e-07f, 2.295738478e-07f, 2.293734816e-07f, 2.291727590e-07f, 2.289716805e-07f, 2.287702464e-07f, 2.285684572e-07f, 2.283663133e-07f, 2.281638152e-07f, 2.279609632e-07f,
+2.277577578e-07f, 2.275541995e-07f, 2.273502886e-07f, 2.271460257e-07f, 2.269414110e-07f, 2.267364451e-07f, 2.265311285e-07f, 2.263254614e-07f, 2.261194444e-07f, 2.259130779e-07f,
+2.257063623e-07f, 2.254992981e-07f, 2.252918856e-07f, 2.250841255e-07f, 2.248760179e-07f, 2.246675635e-07f, 2.244587627e-07f, 2.242496158e-07f, 2.240401234e-07f, 2.238302858e-07f,
+2.236201035e-07f, 2.234095770e-07f, 2.231987066e-07f, 2.229874929e-07f, 2.227759362e-07f, 2.225640371e-07f, 2.223517959e-07f, 2.221392131e-07f, 2.219262891e-07f, 2.217130245e-07f,
+2.214994195e-07f, 2.212854748e-07f, 2.210711906e-07f, 2.208565675e-07f, 2.206416060e-07f, 2.204263064e-07f, 2.202106692e-07f, 2.199946949e-07f, 2.197783838e-07f, 2.195617366e-07f,
+2.193447535e-07f, 2.191274351e-07f, 2.189097818e-07f, 2.186917941e-07f, 2.184734724e-07f, 2.182548171e-07f, 2.180358288e-07f, 2.178165078e-07f, 2.175968547e-07f, 2.173768698e-07f,
+2.171565537e-07f, 2.169359067e-07f, 2.167149294e-07f, 2.164936222e-07f, 2.162719856e-07f, 2.160500200e-07f, 2.158277258e-07f, 2.156051036e-07f, 2.153821537e-07f, 2.151588767e-07f,
+2.149352730e-07f, 2.147113431e-07f, 2.144870874e-07f, 2.142625064e-07f, 2.140376005e-07f, 2.138123703e-07f, 2.135868161e-07f, 2.133609385e-07f, 2.131347378e-07f, 2.129082147e-07f,
+2.126813694e-07f, 2.124542026e-07f, 2.122267146e-07f, 2.119989059e-07f, 2.117707770e-07f, 2.115423284e-07f, 2.113135605e-07f, 2.110844738e-07f, 2.108550687e-07f, 2.106253458e-07f,
+2.103953055e-07f, 2.101649482e-07f, 2.099342745e-07f, 2.097032848e-07f, 2.094719795e-07f, 2.092403592e-07f, 2.090084243e-07f, 2.087761753e-07f, 2.085436127e-07f, 2.083107369e-07f,
+2.080775484e-07f, 2.078440477e-07f, 2.076102352e-07f, 2.073761115e-07f, 2.071416770e-07f, 2.069069322e-07f, 2.066718775e-07f, 2.064365135e-07f, 2.062008406e-07f, 2.059648592e-07f,
+2.057285700e-07f, 2.054919732e-07f, 2.052550695e-07f, 2.050178593e-07f, 2.047803431e-07f, 2.045425214e-07f, 2.043043945e-07f, 2.040659631e-07f, 2.038272277e-07f, 2.035881886e-07f,
+2.033488463e-07f, 2.031092014e-07f, 2.028692544e-07f, 2.026290057e-07f, 2.023884557e-07f, 2.021476051e-07f, 2.019064542e-07f, 2.016650036e-07f, 2.014232537e-07f, 2.011812050e-07f,
+2.009388581e-07f, 2.006962134e-07f, 2.004532713e-07f, 2.002100324e-07f, 1.999664972e-07f, 1.997226661e-07f, 1.994785397e-07f, 1.992341183e-07f, 1.989894027e-07f, 1.987443931e-07f,
+1.984990901e-07f, 1.982534942e-07f, 1.980076059e-07f, 1.977614256e-07f, 1.975149539e-07f, 1.972681913e-07f, 1.970211382e-07f, 1.967737952e-07f, 1.965261627e-07f, 1.962782412e-07f,
+1.960300313e-07f, 1.957815333e-07f, 1.955327479e-07f, 1.952836755e-07f, 1.950343166e-07f, 1.947846717e-07f, 1.945347413e-07f, 1.942845259e-07f, 1.940340260e-07f, 1.937832421e-07f,
+1.935321747e-07f, 1.932808243e-07f, 1.930291913e-07f, 1.927772764e-07f, 1.925250799e-07f, 1.922726024e-07f, 1.920198444e-07f, 1.917668065e-07f, 1.915134890e-07f, 1.912598924e-07f,
+1.910060174e-07f, 1.907518644e-07f, 1.904974339e-07f, 1.902427264e-07f, 1.899877424e-07f, 1.897324824e-07f, 1.894769470e-07f, 1.892211365e-07f, 1.889650516e-07f, 1.887086927e-07f,
+1.884520604e-07f, 1.881951551e-07f, 1.879379773e-07f, 1.876805277e-07f, 1.874228065e-07f, 1.871648145e-07f, 1.869065521e-07f, 1.866480197e-07f, 1.863892179e-07f, 1.861301473e-07f,
+1.858708082e-07f, 1.856112013e-07f, 1.853513271e-07f, 1.850911860e-07f, 1.848307785e-07f, 1.845701053e-07f, 1.843091667e-07f, 1.840479633e-07f, 1.837864956e-07f, 1.835247641e-07f,
+1.832627694e-07f, 1.830005119e-07f, 1.827379922e-07f, 1.824752108e-07f, 1.822121682e-07f, 1.819488649e-07f, 1.816853014e-07f, 1.814214782e-07f, 1.811573959e-07f, 1.808930549e-07f,
+1.806284559e-07f, 1.803635992e-07f, 1.800984855e-07f, 1.798331152e-07f, 1.795674889e-07f, 1.793016071e-07f, 1.790354702e-07f, 1.787690789e-07f, 1.785024336e-07f, 1.782355348e-07f,
+1.779683831e-07f, 1.777009791e-07f, 1.774333231e-07f, 1.771654158e-07f, 1.768972576e-07f, 1.766288491e-07f, 1.763601908e-07f, 1.760912832e-07f, 1.758221269e-07f, 1.755527223e-07f,
+1.752830701e-07f, 1.750131706e-07f, 1.747430245e-07f, 1.744726322e-07f, 1.742019944e-07f, 1.739311114e-07f, 1.736599839e-07f, 1.733886124e-07f, 1.731169973e-07f, 1.728451393e-07f,
+1.725730388e-07f, 1.723006964e-07f, 1.720281125e-07f, 1.717552878e-07f, 1.714822228e-07f, 1.712089179e-07f, 1.709353737e-07f, 1.706615908e-07f, 1.703875697e-07f, 1.701133108e-07f,
+1.698388148e-07f, 1.695640821e-07f, 1.692891133e-07f, 1.690139089e-07f, 1.687384694e-07f, 1.684627955e-07f, 1.681868875e-07f, 1.679107461e-07f, 1.676343717e-07f, 1.673577650e-07f,
+1.670809264e-07f, 1.668038565e-07f, 1.665265557e-07f, 1.662490247e-07f, 1.659712640e-07f, 1.656932741e-07f, 1.654150555e-07f, 1.651366088e-07f, 1.648579345e-07f, 1.645790331e-07f,
+1.642999052e-07f, 1.640205514e-07f, 1.637409720e-07f, 1.634611678e-07f, 1.631811392e-07f, 1.629008867e-07f, 1.626204110e-07f, 1.623397124e-07f, 1.620587917e-07f, 1.617776492e-07f,
+1.614962856e-07f, 1.612147014e-07f, 1.609328971e-07f, 1.606508733e-07f, 1.603686305e-07f, 1.600861692e-07f, 1.598034900e-07f, 1.595205934e-07f, 1.592374800e-07f, 1.589541503e-07f,
+1.586706048e-07f, 1.583868441e-07f, 1.581028687e-07f, 1.578186792e-07f, 1.575342761e-07f, 1.572496600e-07f, 1.569648314e-07f, 1.566797908e-07f, 1.563945387e-07f, 1.561090758e-07f,
+1.558234026e-07f, 1.555375196e-07f, 1.552514273e-07f, 1.549651263e-07f, 1.546786172e-07f, 1.543919004e-07f, 1.541049766e-07f, 1.538178463e-07f, 1.535305099e-07f, 1.532429682e-07f,
+1.529552215e-07f, 1.526672706e-07f, 1.523791158e-07f, 1.520907578e-07f, 1.518021970e-07f, 1.515134342e-07f, 1.512244697e-07f, 1.509353041e-07f, 1.506459381e-07f, 1.503563721e-07f,
+1.500666067e-07f, 1.497766424e-07f, 1.494864797e-07f, 1.491961194e-07f, 1.489055618e-07f, 1.486148075e-07f, 1.483238571e-07f, 1.480327111e-07f, 1.477413701e-07f, 1.474498347e-07f,
+1.471581053e-07f, 1.468661826e-07f, 1.465740670e-07f, 1.462817592e-07f, 1.459892596e-07f, 1.456965689e-07f, 1.454036876e-07f, 1.451106162e-07f, 1.448173553e-07f, 1.445239055e-07f,
+1.442302672e-07f, 1.439364411e-07f, 1.436424277e-07f, 1.433482276e-07f, 1.430538413e-07f, 1.427592693e-07f, 1.424645122e-07f, 1.421695707e-07f, 1.418744451e-07f, 1.415791361e-07f,
+1.412836443e-07f, 1.409879702e-07f, 1.406921143e-07f, 1.403960771e-07f, 1.400998594e-07f, 1.398034616e-07f, 1.395068842e-07f, 1.392101279e-07f, 1.389131931e-07f, 1.386160805e-07f,
+1.383187905e-07f, 1.380213239e-07f, 1.377236810e-07f, 1.374258625e-07f, 1.371278689e-07f, 1.368297008e-07f, 1.365313587e-07f, 1.362328432e-07f, 1.359341549e-07f, 1.356352943e-07f,
+1.353362619e-07f, 1.350370584e-07f, 1.347376843e-07f, 1.344381401e-07f, 1.341384264e-07f, 1.338385438e-07f, 1.335384929e-07f, 1.332382741e-07f, 1.329378880e-07f, 1.326373353e-07f,
+1.323366164e-07f, 1.320357319e-07f, 1.317346825e-07f, 1.314334686e-07f, 1.311320907e-07f, 1.308305496e-07f, 1.305288457e-07f, 1.302269796e-07f, 1.299249518e-07f, 1.296227630e-07f,
+1.293204136e-07f, 1.290179043e-07f, 1.287152355e-07f, 1.284124080e-07f, 1.281094221e-07f, 1.278062786e-07f, 1.275029779e-07f, 1.271995206e-07f, 1.268959073e-07f, 1.265921386e-07f,
+1.262882149e-07f, 1.259841369e-07f, 1.256799052e-07f, 1.253755202e-07f, 1.250709826e-07f, 1.247662930e-07f, 1.244614518e-07f, 1.241564597e-07f, 1.238513172e-07f, 1.235460249e-07f,
+1.232405833e-07f, 1.229349931e-07f, 1.226292547e-07f, 1.223233688e-07f, 1.220173359e-07f, 1.217111565e-07f, 1.214048313e-07f, 1.210983608e-07f, 1.207917456e-07f, 1.204849863e-07f,
+1.201780833e-07f, 1.198710373e-07f, 1.195638488e-07f, 1.192565185e-07f, 1.189490468e-07f, 1.186414344e-07f, 1.183336818e-07f, 1.180257895e-07f, 1.177177582e-07f, 1.174095884e-07f,
+1.171012807e-07f, 1.167928356e-07f, 1.164842537e-07f, 1.161755356e-07f, 1.158666819e-07f, 1.155576930e-07f, 1.152485697e-07f, 1.149393124e-07f, 1.146299217e-07f, 1.143203983e-07f,
+1.140107425e-07f, 1.137009551e-07f, 1.133910366e-07f, 1.130809876e-07f, 1.127708086e-07f, 1.124605002e-07f, 1.121500630e-07f, 1.118394975e-07f, 1.115288044e-07f, 1.112179841e-07f,
+1.109070373e-07f, 1.105959644e-07f, 1.102847662e-07f, 1.099734432e-07f, 1.096619958e-07f, 1.093504248e-07f, 1.090387307e-07f, 1.087269140e-07f, 1.084149753e-07f, 1.081029151e-07f,
+1.077907342e-07f, 1.074784330e-07f, 1.071660120e-07f, 1.068534719e-07f, 1.065408133e-07f, 1.062280367e-07f, 1.059151426e-07f, 1.056021318e-07f, 1.052890046e-07f, 1.049757617e-07f,
+1.046624037e-07f, 1.043489311e-07f, 1.040353446e-07f, 1.037216446e-07f, 1.034078318e-07f, 1.030939067e-07f, 1.027798699e-07f, 1.024657219e-07f, 1.021514634e-07f, 1.018370949e-07f,
+1.015226171e-07f, 1.012080303e-07f, 1.008933353e-07f, 1.005785326e-07f, 1.002636228e-07f, 9.994860639e-08f, 9.963348403e-08f, 9.931825626e-08f, 9.900292366e-08f, 9.868748679e-08f,
+9.837194624e-08f, 9.805630258e-08f, 9.774055637e-08f, 9.742470819e-08f, 9.710875862e-08f, 9.679270822e-08f, 9.647655758e-08f, 9.616030726e-08f, 9.584395783e-08f, 9.552750988e-08f,
+9.521096397e-08f, 9.489432067e-08f, 9.457758057e-08f, 9.426074424e-08f, 9.394381224e-08f, 9.362678515e-08f, 9.330966355e-08f, 9.299244801e-08f, 9.267513910e-08f, 9.235773740e-08f,
+9.204024348e-08f, 9.172265792e-08f, 9.140498128e-08f, 9.108721415e-08f, 9.076935709e-08f, 9.045141068e-08f, 9.013337550e-08f, 8.981525212e-08f, 8.949704111e-08f, 8.917874305e-08f,
+8.886035851e-08f, 8.854188807e-08f, 8.822333229e-08f, 8.790469177e-08f, 8.758596706e-08f, 8.726715874e-08f, 8.694826739e-08f, 8.662929358e-08f, 8.631023789e-08f, 8.599110089e-08f,
+8.567188315e-08f, 8.535258526e-08f, 8.503320778e-08f, 8.471375128e-08f, 8.439421635e-08f, 8.407460356e-08f, 8.375491348e-08f, 8.343514668e-08f, 8.311530375e-08f, 8.279538525e-08f,
+8.247539177e-08f, 8.215532386e-08f, 8.183518212e-08f, 8.151496711e-08f, 8.119467941e-08f, 8.087431960e-08f, 8.055388824e-08f, 8.023338591e-08f, 7.991281319e-08f, 7.959217066e-08f,
+7.927145887e-08f, 7.895067842e-08f, 7.862982988e-08f, 7.830891381e-08f, 7.798793080e-08f, 7.766688142e-08f, 7.734576625e-08f, 7.702458585e-08f, 7.670334080e-08f, 7.638203168e-08f,
+7.606065907e-08f, 7.573922353e-08f, 7.541772564e-08f, 7.509616597e-08f, 7.477454511e-08f, 7.445286362e-08f, 7.413112208e-08f, 7.380932106e-08f, 7.348746114e-08f, 7.316554290e-08f,
+7.284356689e-08f, 7.252153371e-08f, 7.219944393e-08f, 7.187729811e-08f, 7.155509684e-08f, 7.123284068e-08f, 7.091053022e-08f, 7.058816602e-08f, 7.026574867e-08f, 6.994327872e-08f,
+6.962075677e-08f, 6.929818338e-08f, 6.897555912e-08f, 6.865288458e-08f, 6.833016032e-08f, 6.800738692e-08f, 6.768456495e-08f, 6.736169499e-08f, 6.703877760e-08f, 6.671581337e-08f,
+6.639280287e-08f, 6.606974667e-08f, 6.574664534e-08f, 6.542349946e-08f, 6.510030961e-08f, 6.477707634e-08f, 6.445380025e-08f, 6.413048190e-08f, 6.380712186e-08f, 6.348372072e-08f,
+6.316027903e-08f, 6.283679738e-08f, 6.251327634e-08f, 6.218971648e-08f, 6.186611837e-08f, 6.154248259e-08f, 6.121880972e-08f, 6.089510031e-08f, 6.057135495e-08f, 6.024757421e-08f,
+5.992375866e-08f, 5.959990887e-08f, 5.927602542e-08f, 5.895210888e-08f, 5.862815982e-08f, 5.830417881e-08f, 5.798016643e-08f, 5.765612325e-08f, 5.733204984e-08f, 5.700794676e-08f,
+5.668381461e-08f, 5.635965394e-08f, 5.603546533e-08f, 5.571124934e-08f, 5.538700656e-08f, 5.506273755e-08f, 5.473844289e-08f, 5.441412314e-08f, 5.408977888e-08f, 5.376541068e-08f,
+5.344101911e-08f, 5.311660474e-08f, 5.279216814e-08f, 5.246770989e-08f, 5.214323055e-08f, 5.181873069e-08f, 5.149421089e-08f, 5.116967172e-08f, 5.084511374e-08f, 5.052053753e-08f,
+5.019594366e-08f, 4.987133269e-08f, 4.954670521e-08f, 4.922206177e-08f, 4.889740295e-08f, 4.857272932e-08f, 4.824804144e-08f, 4.792333989e-08f, 4.759862524e-08f, 4.727389806e-08f,
+4.694915891e-08f, 4.662440837e-08f, 4.629964700e-08f, 4.597487537e-08f, 4.565009406e-08f, 4.532530363e-08f, 4.500050464e-08f, 4.467569768e-08f, 4.435088330e-08f, 4.402606208e-08f,
+4.370123459e-08f, 4.337640138e-08f, 4.305156304e-08f, 4.272672012e-08f, 4.240187320e-08f, 4.207702285e-08f, 4.175216962e-08f, 4.142731410e-08f, 4.110245684e-08f, 4.077759841e-08f,
+4.045273939e-08f, 4.012788033e-08f, 3.980302181e-08f, 3.947816439e-08f, 3.915330864e-08f, 3.882845513e-08f, 3.850360441e-08f, 3.817875706e-08f, 3.785391365e-08f, 3.752907474e-08f,
+3.720424089e-08f, 3.687941267e-08f, 3.655459065e-08f, 3.622977540e-08f, 3.590496747e-08f, 3.558016743e-08f, 3.525537585e-08f, 3.493059330e-08f, 3.460582033e-08f, 3.428105752e-08f,
+3.395630543e-08f, 3.363156461e-08f, 3.330683565e-08f, 3.298211909e-08f, 3.265741551e-08f, 3.233272546e-08f, 3.200804952e-08f, 3.168338824e-08f, 3.135874219e-08f, 3.103411193e-08f,
+3.070949803e-08f, 3.038490105e-08f, 3.006032154e-08f, 2.973576008e-08f, 2.941121723e-08f, 2.908669354e-08f, 2.876218959e-08f, 2.843770592e-08f, 2.811324312e-08f, 2.778880172e-08f,
+2.746438231e-08f, 2.713998543e-08f, 2.681561166e-08f, 2.649126154e-08f, 2.616693565e-08f, 2.584263454e-08f, 2.551835878e-08f, 2.519410891e-08f, 2.486988552e-08f, 2.454568914e-08f,
+2.422152036e-08f, 2.389737971e-08f, 2.357326777e-08f, 2.324918509e-08f, 2.292513224e-08f, 2.260110976e-08f, 2.227711823e-08f, 2.195315819e-08f, 2.162923021e-08f, 2.130533485e-08f,
+2.098147266e-08f, 2.065764421e-08f, 2.033385004e-08f, 2.001009072e-08f, 1.968636681e-08f, 1.936267885e-08f, 1.903902742e-08f, 1.871541306e-08f, 1.839183634e-08f, 1.806829781e-08f,
+1.774479802e-08f, 1.742133753e-08f, 1.709791690e-08f, 1.677453669e-08f, 1.645119744e-08f, 1.612789972e-08f, 1.580464408e-08f, 1.548143107e-08f, 1.515826125e-08f, 1.483513518e-08f,
+1.451205341e-08f, 1.418901649e-08f, 1.386602497e-08f, 1.354307942e-08f, 1.322018038e-08f, 1.289732841e-08f, 1.257452406e-08f, 1.225176789e-08f, 1.192906044e-08f, 1.160640227e-08f,
+1.128379393e-08f, 1.096123598e-08f, 1.063872896e-08f, 1.031627344e-08f, 9.993869948e-09f, 9.671519051e-09f, 9.349221296e-09f, 9.026977234e-09f, 8.704787416e-09f, 8.382652392e-09f,
+8.060572713e-09f, 7.738548928e-09f, 7.416581588e-09f, 7.094671243e-09f, 6.772818441e-09f, 6.451023732e-09f, 6.129287665e-09f, 5.807610789e-09f, 5.485993652e-09f, 5.164436802e-09f,
+4.842940788e-09f, 4.521506158e-09f, 4.200133459e-09f, 3.878823238e-09f, 3.557576044e-09f, 3.236392422e-09f, 2.915272920e-09f, 2.594218083e-09f, 2.273228459e-09f, 1.952304594e-09f,
+1.631447033e-09f, 1.310656321e-09f, 9.899330045e-10f, 6.692776283e-10f, 3.486907371e-10f, 2.817287574e-11f, -2.922754116e-10f, -6.126535806e-10f, -9.329610874e-10f, -1.253197388e-09f,
+-1.573361940e-09f, -1.893454199e-09f, -2.213473623e-09f, -2.533419668e-09f, -2.853291793e-09f, -3.173089456e-09f, -3.492812113e-09f, -3.812459224e-09f, -4.132030247e-09f, -4.451524641e-09f,
+-4.770941865e-09f, -5.090281378e-09f, -5.409542640e-09f, -5.728725110e-09f, -6.047828249e-09f, -6.366851517e-09f, -6.685794375e-09f, -7.004656282e-09f, -7.323436701e-09f, -7.642135093e-09f,
+-7.960750919e-09f, -8.279283642e-09f, -8.597732722e-09f, -8.916097624e-09f, -9.234377808e-09f, -9.552572739e-09f, -9.870681880e-09f, -1.018870469e-08f, -1.050664064e-08f, -1.082448919e-08f,
+-1.114224981e-08f, -1.145992195e-08f, -1.177750509e-08f, -1.209499869e-08f, -1.241240221e-08f, -1.272971513e-08f, -1.304693689e-08f, -1.336406699e-08f, -1.368110487e-08f, -1.399805000e-08f,
+-1.431490186e-08f, -1.463165991e-08f, -1.494832361e-08f, -1.526489244e-08f, -1.558136586e-08f, -1.589774335e-08f, -1.621402436e-08f, -1.653020837e-08f, -1.684629485e-08f, -1.716228327e-08f,
+-1.747817310e-08f, -1.779396381e-08f, -1.810965486e-08f, -1.842524573e-08f, -1.874073589e-08f, -1.905612482e-08f, -1.937141197e-08f, -1.968659683e-08f, -2.000167887e-08f, -2.031665756e-08f,
+-2.063153237e-08f, -2.094630277e-08f, -2.126096824e-08f, -2.157552825e-08f, -2.188998228e-08f, -2.220432980e-08f, -2.251857028e-08f, -2.283270321e-08f, -2.314672804e-08f, -2.346064427e-08f,
+-2.377445136e-08f, -2.408814879e-08f, -2.440173605e-08f, -2.471521259e-08f, -2.502857791e-08f, -2.534183148e-08f, -2.565497277e-08f, -2.596800126e-08f, -2.628091644e-08f, -2.659371778e-08f,
+-2.690640476e-08f, -2.721897686e-08f, -2.753143356e-08f, -2.784377433e-08f, -2.815599867e-08f, -2.846810604e-08f, -2.878009593e-08f, -2.909196782e-08f, -2.940372119e-08f, -2.971535553e-08f,
+-3.002687031e-08f, -3.033826502e-08f, -3.064953914e-08f, -3.096069215e-08f, -3.127172353e-08f, -3.158263278e-08f, -3.189341937e-08f, -3.220408279e-08f, -3.251462252e-08f, -3.282503805e-08f,
+-3.313532887e-08f, -3.344549445e-08f, -3.375553428e-08f, -3.406544786e-08f, -3.437523466e-08f, -3.468489417e-08f, -3.499442589e-08f, -3.530382930e-08f, -3.561310388e-08f, -3.592224913e-08f,
+-3.623126453e-08f, -3.654014957e-08f, -3.684890375e-08f, -3.715752654e-08f, -3.746601745e-08f, -3.777437596e-08f, -3.808260156e-08f, -3.839069374e-08f, -3.869865199e-08f, -3.900647582e-08f,
+-3.931416470e-08f, -3.962171813e-08f, -3.992913560e-08f, -4.023641661e-08f, -4.054356065e-08f, -4.085056721e-08f, -4.115743579e-08f, -4.146416588e-08f, -4.177075697e-08f, -4.207720857e-08f,
+-4.238352016e-08f, -4.268969125e-08f, -4.299572132e-08f, -4.330160988e-08f, -4.360735643e-08f, -4.391296045e-08f, -4.421842145e-08f, -4.452373892e-08f, -4.482891237e-08f, -4.513394129e-08f,
+-4.543882518e-08f, -4.574356355e-08f, -4.604815588e-08f, -4.635260168e-08f, -4.665690046e-08f, -4.696105170e-08f, -4.726505492e-08f, -4.756890962e-08f, -4.787261529e-08f, -4.817617144e-08f,
+-4.847957757e-08f, -4.878283319e-08f, -4.908593780e-08f, -4.938889090e-08f, -4.969169199e-08f, -4.999434059e-08f, -5.029683619e-08f, -5.059917830e-08f, -5.090136644e-08f, -5.120340009e-08f,
+-5.150527877e-08f, -5.180700200e-08f, -5.210856926e-08f, -5.240998008e-08f, -5.271123395e-08f, -5.301233039e-08f, -5.331326891e-08f, -5.361404902e-08f, -5.391467022e-08f, -5.421513203e-08f,
+-5.451543395e-08f, -5.481557549e-08f, -5.511555618e-08f, -5.541537551e-08f, -5.571503300e-08f, -5.601452817e-08f, -5.631386052e-08f, -5.661302956e-08f, -5.691203482e-08f, -5.721087581e-08f,
+-5.750955203e-08f, -5.780806301e-08f, -5.810640826e-08f, -5.840458729e-08f, -5.870259962e-08f, -5.900044477e-08f, -5.929812225e-08f, -5.959563158e-08f, -5.989297228e-08f, -6.019014387e-08f,
+-6.048714585e-08f, -6.078397776e-08f, -6.108063911e-08f, -6.137712942e-08f, -6.167344820e-08f, -6.196959499e-08f, -6.226556930e-08f, -6.256137065e-08f, -6.285699856e-08f, -6.315245256e-08f,
+-6.344773216e-08f, -6.374283689e-08f, -6.403776628e-08f, -6.433251984e-08f, -6.462709710e-08f, -6.492149759e-08f, -6.521572082e-08f, -6.550976632e-08f, -6.580363363e-08f, -6.609732226e-08f,
+-6.639083174e-08f, -6.668416160e-08f, -6.697731137e-08f, -6.727028057e-08f, -6.756306873e-08f, -6.785567537e-08f, -6.814810004e-08f, -6.844034225e-08f, -6.873240154e-08f, -6.902427744e-08f,
+-6.931596947e-08f, -6.960747718e-08f, -6.989880008e-08f, -7.018993772e-08f, -7.048088961e-08f, -7.077165531e-08f, -7.106223433e-08f, -7.135262622e-08f, -7.164283051e-08f, -7.193284672e-08f,
+-7.222267441e-08f, -7.251231309e-08f, -7.280176231e-08f, -7.309102160e-08f, -7.338009051e-08f, -7.366896856e-08f, -7.395765529e-08f, -7.424615025e-08f, -7.453445296e-08f, -7.482256298e-08f,
+-7.511047983e-08f, -7.539820306e-08f, -7.568573221e-08f, -7.597306681e-08f, -7.626020641e-08f, -7.654715056e-08f, -7.683389878e-08f, -7.712045063e-08f, -7.740680565e-08f, -7.769296337e-08f,
+-7.797892335e-08f, -7.826468513e-08f, -7.855024825e-08f, -7.883561225e-08f, -7.912077669e-08f, -7.940574111e-08f, -7.969050504e-08f, -7.997506805e-08f, -8.025942968e-08f, -8.054358947e-08f,
+-8.082754698e-08f, -8.111130175e-08f, -8.139485332e-08f, -8.167820126e-08f, -8.196134511e-08f, -8.224428442e-08f, -8.252701874e-08f, -8.280954762e-08f, -8.309187062e-08f, -8.337398728e-08f,
+-8.365589716e-08f, -8.393759981e-08f, -8.421909479e-08f, -8.450038165e-08f, -8.478145994e-08f, -8.506232922e-08f, -8.534298904e-08f, -8.562343896e-08f, -8.590367854e-08f, -8.618370733e-08f,
+-8.646352489e-08f, -8.674313078e-08f, -8.702252455e-08f, -8.730170577e-08f, -8.758067399e-08f, -8.785942877e-08f, -8.813796968e-08f, -8.841629627e-08f, -8.869440810e-08f, -8.897230474e-08f,
+-8.924998575e-08f, -8.952745069e-08f, -8.980469912e-08f, -9.008173060e-08f, -9.035854471e-08f, -9.063514100e-08f, -9.091151903e-08f, -9.118767839e-08f, -9.146361862e-08f, -9.173933930e-08f,
+-9.201483999e-08f, -9.229012026e-08f, -9.256517967e-08f, -9.284001781e-08f, -9.311463422e-08f, -9.338902849e-08f, -9.366320019e-08f, -9.393714887e-08f, -9.421087412e-08f, -9.448437550e-08f,
+-9.475765259e-08f, -9.503070495e-08f, -9.530353217e-08f, -9.557613381e-08f, -9.584850944e-08f, -9.612065864e-08f, -9.639258099e-08f, -9.666427606e-08f, -9.693574342e-08f, -9.720698266e-08f,
+-9.747799334e-08f, -9.774877504e-08f, -9.801932734e-08f, -9.828964983e-08f, -9.855974207e-08f, -9.882960365e-08f, -9.909923414e-08f, -9.936863313e-08f, -9.963780019e-08f, -9.990673491e-08f,
+-1.001754369e-07f, -1.004439057e-07f, -1.007121408e-07f, -1.009801420e-07f, -1.012479087e-07f, -1.015154406e-07f, -1.017827372e-07f, -1.020497982e-07f, -1.023166230e-07f, -1.025832114e-07f,
+-1.028495628e-07f, -1.031156769e-07f, -1.033815532e-07f, -1.036471914e-07f, -1.039125910e-07f, -1.041777516e-07f, -1.044426728e-07f, -1.047073542e-07f, -1.049717955e-07f, -1.052359960e-07f,
+-1.054999556e-07f, -1.057636737e-07f, -1.060271500e-07f, -1.062903840e-07f, -1.065533754e-07f, -1.068161237e-07f, -1.070786285e-07f, -1.073408894e-07f, -1.076029061e-07f, -1.078646781e-07f,
+-1.081262050e-07f, -1.083874864e-07f, -1.086485219e-07f, -1.089093111e-07f, -1.091698536e-07f, -1.094301490e-07f, -1.096901969e-07f, -1.099499969e-07f, -1.102095487e-07f, -1.104688517e-07f,
+-1.107279056e-07f, -1.109867100e-07f, -1.112452646e-07f, -1.115035689e-07f, -1.117616224e-07f, -1.120194249e-07f, -1.122769759e-07f, -1.125342751e-07f, -1.127913220e-07f, -1.130481162e-07f,
+-1.133046574e-07f, -1.135609452e-07f, -1.138169791e-07f, -1.140727588e-07f, -1.143282839e-07f, -1.145835539e-07f, -1.148385686e-07f, -1.150933275e-07f, -1.153478302e-07f, -1.156020763e-07f,
+-1.158560656e-07f, -1.161097974e-07f, -1.163632716e-07f, -1.166164876e-07f, -1.168694451e-07f, -1.171221438e-07f, -1.173745832e-07f, -1.176267629e-07f, -1.178786826e-07f, -1.181303419e-07f,
+-1.183817404e-07f, -1.186328777e-07f, -1.188837535e-07f, -1.191343673e-07f, -1.193847188e-07f, -1.196348076e-07f, -1.198846333e-07f, -1.201341955e-07f, -1.203834940e-07f, -1.206325282e-07f,
+-1.208812978e-07f, -1.211298024e-07f, -1.213780417e-07f, -1.216260153e-07f, -1.218737228e-07f, -1.221211638e-07f, -1.223683380e-07f, -1.226152449e-07f, -1.228618843e-07f, -1.231082557e-07f,
+-1.233543588e-07f, -1.236001932e-07f, -1.238457585e-07f, -1.240910544e-07f, -1.243360804e-07f, -1.245808363e-07f, -1.248253216e-07f, -1.250695361e-07f, -1.253134792e-07f, -1.255571507e-07f,
+-1.258005502e-07f, -1.260436772e-07f, -1.262865316e-07f, -1.265291128e-07f, -1.267714206e-07f, -1.270134545e-07f, -1.272552142e-07f, -1.274966994e-07f, -1.277379097e-07f, -1.279788446e-07f,
+-1.282195039e-07f, -1.284598873e-07f, -1.286999942e-07f, -1.289398245e-07f, -1.291793776e-07f, -1.294186533e-07f, -1.296576513e-07f, -1.298963710e-07f, -1.301348123e-07f, -1.303729747e-07f,
+-1.306108579e-07f, -1.308484615e-07f, -1.310857852e-07f, -1.313228286e-07f, -1.315595914e-07f, -1.317960732e-07f, -1.320322737e-07f, -1.322681925e-07f, -1.325038293e-07f, -1.327391837e-07f,
+-1.329742553e-07f, -1.332090439e-07f, -1.334435490e-07f, -1.336777704e-07f, -1.339117076e-07f, -1.341453604e-07f, -1.343787284e-07f, -1.346118112e-07f, -1.348446085e-07f, -1.350771199e-07f,
+-1.353093452e-07f, -1.355412839e-07f, -1.357729358e-07f, -1.360043004e-07f, -1.362353775e-07f, -1.364661667e-07f, -1.366966676e-07f, -1.369268800e-07f, -1.371568034e-07f, -1.373864376e-07f,
+-1.376157822e-07f, -1.378448369e-07f, -1.380736013e-07f, -1.383020751e-07f, -1.385302580e-07f, -1.387581496e-07f, -1.389857496e-07f, -1.392130576e-07f, -1.394400734e-07f, -1.396667966e-07f,
+-1.398932269e-07f, -1.401193638e-07f, -1.403452072e-07f, -1.405707567e-07f, -1.407960119e-07f, -1.410209725e-07f, -1.412456382e-07f, -1.414700087e-07f, -1.416940836e-07f, -1.419178626e-07f,
+-1.421413454e-07f, -1.423645316e-07f, -1.425874210e-07f, -1.428100132e-07f, -1.430323078e-07f, -1.432543046e-07f, -1.434760033e-07f, -1.436974035e-07f, -1.439185048e-07f, -1.441393071e-07f,
+-1.443598099e-07f, -1.445800129e-07f, -1.447999159e-07f, -1.450195184e-07f, -1.452388202e-07f, -1.454578210e-07f, -1.456765205e-07f, -1.458949183e-07f, -1.461130140e-07f, -1.463308075e-07f,
+-1.465482984e-07f, -1.467654864e-07f, -1.469823711e-07f, -1.471989523e-07f, -1.474152296e-07f, -1.476312027e-07f, -1.478468713e-07f, -1.480622352e-07f, -1.482772940e-07f, -1.484920473e-07f,
+-1.487064949e-07f, -1.489206365e-07f, -1.491344718e-07f, -1.493480004e-07f, -1.495612221e-07f, -1.497741366e-07f, -1.499867435e-07f, -1.501990425e-07f, -1.504110333e-07f, -1.506227158e-07f,
+-1.508340894e-07f, -1.510451540e-07f, -1.512559092e-07f, -1.514663547e-07f, -1.516764903e-07f, -1.518863156e-07f, -1.520958304e-07f, -1.523050342e-07f, -1.525139270e-07f, -1.527225082e-07f,
+-1.529307778e-07f, -1.531387352e-07f, -1.533463804e-07f, -1.535537129e-07f, -1.537607325e-07f, -1.539674388e-07f, -1.541738317e-07f, -1.543799107e-07f, -1.545856756e-07f, -1.547911262e-07f,
+-1.549962621e-07f, -1.552010830e-07f, -1.554055887e-07f, -1.556097788e-07f, -1.558136531e-07f, -1.560172113e-07f, -1.562204531e-07f, -1.564233782e-07f, -1.566259863e-07f, -1.568282772e-07f,
+-1.570302505e-07f, -1.572319060e-07f, -1.574332434e-07f, -1.576342625e-07f, -1.578349628e-07f, -1.580353442e-07f, -1.582354064e-07f, -1.584351491e-07f, -1.586345720e-07f, -1.588336749e-07f,
+-1.590324573e-07f, -1.592309192e-07f, -1.594290602e-07f, -1.596268800e-07f, -1.598243784e-07f, -1.600215551e-07f, -1.602184097e-07f, -1.604149421e-07f, -1.606111520e-07f, -1.608070391e-07f,
+-1.610026030e-07f, -1.611978437e-07f, -1.613927607e-07f, -1.615873538e-07f, -1.617816228e-07f, -1.619755673e-07f, -1.621691872e-07f, -1.623624821e-07f, -1.625554517e-07f, -1.627480959e-07f,
+-1.629404143e-07f, -1.631324067e-07f, -1.633240728e-07f, -1.635154124e-07f, -1.637064251e-07f, -1.638971108e-07f, -1.640874692e-07f, -1.642774999e-07f, -1.644672028e-07f, -1.646565776e-07f,
+-1.648456241e-07f, -1.650343419e-07f, -1.652227308e-07f, -1.654107905e-07f, -1.655985209e-07f, -1.657859216e-07f, -1.659729924e-07f, -1.661597331e-07f, -1.663461433e-07f, -1.665322229e-07f,
+-1.667179715e-07f, -1.669033890e-07f, -1.670884750e-07f, -1.672732294e-07f, -1.674576519e-07f, -1.676417421e-07f, -1.678255000e-07f, -1.680089252e-07f, -1.681920175e-07f, -1.683747766e-07f,
+-1.685572023e-07f, -1.687392943e-07f, -1.689210524e-07f, -1.691024765e-07f, -1.692835661e-07f, -1.694643211e-07f, -1.696447412e-07f, -1.698248262e-07f, -1.700045758e-07f, -1.701839899e-07f,
+-1.703630681e-07f, -1.705418103e-07f, -1.707202161e-07f, -1.708982854e-07f, -1.710760179e-07f, -1.712534134e-07f, -1.714304717e-07f, -1.716071924e-07f, -1.717835755e-07f, -1.719596205e-07f,
+-1.721353274e-07f, -1.723106958e-07f, -1.724857256e-07f, -1.726604165e-07f, -1.728347683e-07f, -1.730087808e-07f, -1.731824536e-07f, -1.733557867e-07f, -1.735287797e-07f, -1.737014324e-07f,
+-1.738737447e-07f, -1.740457163e-07f, -1.742173469e-07f, -1.743886363e-07f, -1.745595844e-07f, -1.747301909e-07f, -1.749004555e-07f, -1.750703781e-07f, -1.752399583e-07f, -1.754091961e-07f,
+-1.755780912e-07f, -1.757466433e-07f, -1.759148523e-07f, -1.760827179e-07f, -1.762502399e-07f, -1.764174181e-07f, -1.765842523e-07f, -1.767507422e-07f, -1.769168877e-07f, -1.770826885e-07f,
+-1.772481444e-07f, -1.774132552e-07f, -1.775780207e-07f, -1.777424407e-07f, -1.779065149e-07f, -1.780702433e-07f, -1.782336254e-07f, -1.783966612e-07f, -1.785593504e-07f, -1.787216929e-07f,
+-1.788836883e-07f, -1.790453366e-07f, -1.792066374e-07f, -1.793675907e-07f, -1.795281962e-07f, -1.796884536e-07f, -1.798483628e-07f, -1.800079236e-07f, -1.801671358e-07f, -1.803259992e-07f,
+-1.804845135e-07f, -1.806426786e-07f, -1.808004943e-07f, -1.809579604e-07f, -1.811150767e-07f, -1.812718429e-07f, -1.814282590e-07f, -1.815843246e-07f, -1.817400396e-07f, -1.818954038e-07f,
+-1.820504171e-07f, -1.822050791e-07f, -1.823593898e-07f, -1.825133489e-07f, -1.826669562e-07f, -1.828202116e-07f, -1.829731148e-07f, -1.831256658e-07f, -1.832778641e-07f, -1.834297098e-07f,
+-1.835812026e-07f, -1.837323423e-07f, -1.838831287e-07f, -1.840335617e-07f, -1.841836410e-07f, -1.843333665e-07f, -1.844827380e-07f, -1.846317553e-07f, -1.847804182e-07f, -1.849287266e-07f,
+-1.850766803e-07f, -1.852242790e-07f, -1.853715226e-07f, -1.855184110e-07f, -1.856649439e-07f, -1.858111211e-07f, -1.859569426e-07f, -1.861024081e-07f, -1.862475174e-07f, -1.863922704e-07f,
+-1.865366669e-07f, -1.866807067e-07f, -1.868243896e-07f, -1.869677155e-07f, -1.871106842e-07f, -1.872532956e-07f, -1.873955494e-07f, -1.875374455e-07f, -1.876789837e-07f, -1.878201638e-07f,
+-1.879609858e-07f, -1.881014493e-07f, -1.882415544e-07f, -1.883813007e-07f, -1.885206881e-07f, -1.886597165e-07f, -1.887983856e-07f, -1.889366954e-07f, -1.890746457e-07f, -1.892122363e-07f,
+-1.893494670e-07f, -1.894863377e-07f, -1.896228482e-07f, -1.897589984e-07f, -1.898947881e-07f, -1.900302172e-07f, -1.901652854e-07f, -1.902999927e-07f, -1.904343389e-07f, -1.905683237e-07f,
+-1.907019472e-07f, -1.908352091e-07f, -1.909681092e-07f, -1.911006474e-07f, -1.912328237e-07f, -1.913646377e-07f, -1.914960893e-07f, -1.916271785e-07f, -1.917579051e-07f, -1.918882688e-07f,
+-1.920182696e-07f, -1.921479074e-07f, -1.922771819e-07f, -1.924060930e-07f, -1.925346406e-07f, -1.926628246e-07f, -1.927906447e-07f, -1.929181009e-07f, -1.930451930e-07f, -1.931719208e-07f,
+-1.932982843e-07f, -1.934242833e-07f, -1.935499176e-07f, -1.936751871e-07f, -1.938000916e-07f, -1.939246311e-07f, -1.940488054e-07f, -1.941726144e-07f, -1.942960579e-07f, -1.944191357e-07f,
+-1.945418478e-07f, -1.946641940e-07f, -1.947861742e-07f, -1.949077883e-07f, -1.950290361e-07f, -1.951499174e-07f, -1.952704322e-07f, -1.953905804e-07f, -1.955103617e-07f, -1.956297762e-07f,
+-1.957488235e-07f, -1.958675037e-07f, -1.959858166e-07f, -1.961037620e-07f, -1.962213399e-07f, -1.963385501e-07f, -1.964553924e-07f, -1.965718669e-07f, -1.966879733e-07f, -1.968037115e-07f,
+-1.969190814e-07f, -1.970340829e-07f, -1.971487159e-07f, -1.972629802e-07f, -1.973768758e-07f, -1.974904024e-07f, -1.976035601e-07f, -1.977163486e-07f, -1.978287679e-07f, -1.979408178e-07f,
+-1.980524982e-07f, -1.981638091e-07f, -1.982747503e-07f, -1.983853217e-07f, -1.984955231e-07f, -1.986053546e-07f, -1.987148159e-07f, -1.988239069e-07f, -1.989326276e-07f, -1.990409778e-07f,
+-1.991489574e-07f, -1.992565664e-07f, -1.993638046e-07f, -1.994706719e-07f, -1.995771682e-07f, -1.996832933e-07f, -1.997890473e-07f, -1.998944300e-07f, -1.999994413e-07f, -2.001040810e-07f,
+-2.002083492e-07f, -2.003122456e-07f, -2.004157702e-07f, -2.005189229e-07f, -2.006217036e-07f, -2.007241122e-07f, -2.008261486e-07f, -2.009278127e-07f, -2.010291044e-07f, -2.011300237e-07f,
+-2.012305703e-07f, -2.013307442e-07f, -2.014305454e-07f, -2.015299738e-07f, -2.016290292e-07f, -2.017277115e-07f, -2.018260207e-07f, -2.019239567e-07f, -2.020215194e-07f, -2.021187086e-07f,
+-2.022155244e-07f, -2.023119666e-07f, -2.024080352e-07f, -2.025037300e-07f, -2.025990510e-07f, -2.026939981e-07f, -2.027885712e-07f, -2.028827702e-07f, -2.029765950e-07f, -2.030700456e-07f,
+-2.031631219e-07f, -2.032558238e-07f, -2.033481512e-07f, -2.034401040e-07f, -2.035316822e-07f, -2.036228857e-07f, -2.037137144e-07f, -2.038041682e-07f, -2.038942471e-07f, -2.039839510e-07f,
+-2.040732797e-07f, -2.041622334e-07f, -2.042508117e-07f, -2.043390148e-07f, -2.044268425e-07f, -2.045142947e-07f, -2.046013715e-07f, -2.046880726e-07f, -2.047743981e-07f, -2.048603478e-07f,
+-2.049459218e-07f, -2.050311199e-07f, -2.051159421e-07f, -2.052003882e-07f, -2.052844584e-07f, -2.053681524e-07f, -2.054514702e-07f, -2.055344118e-07f, -2.056169771e-07f, -2.056991660e-07f,
+-2.057809785e-07f, -2.058624145e-07f, -2.059434740e-07f, -2.060241568e-07f, -2.061044630e-07f, -2.061843925e-07f, -2.062639452e-07f, -2.063431211e-07f, -2.064219201e-07f, -2.065003421e-07f,
+-2.065783872e-07f, -2.066560552e-07f, -2.067333461e-07f, -2.068102599e-07f, -2.068867964e-07f, -2.069629557e-07f, -2.070387377e-07f, -2.071141424e-07f, -2.071891696e-07f, -2.072638194e-07f,
+-2.073380918e-07f, -2.074119865e-07f, -2.074855037e-07f, -2.075586433e-07f, -2.076314052e-07f, -2.077037893e-07f, -2.077757957e-07f, -2.078474243e-07f, -2.079186751e-07f, -2.079895479e-07f,
+-2.080600429e-07f, -2.081301599e-07f, -2.081998988e-07f, -2.082692598e-07f, -2.083382426e-07f, -2.084068473e-07f, -2.084750739e-07f, -2.085429223e-07f, -2.086103925e-07f, -2.086774844e-07f,
+-2.087441980e-07f, -2.088105333e-07f, -2.088764902e-07f, -2.089420687e-07f, -2.090072688e-07f, -2.090720905e-07f, -2.091365337e-07f, -2.092005984e-07f, -2.092642845e-07f, -2.093275921e-07f,
+-2.093905211e-07f, -2.094530715e-07f, -2.095152432e-07f, -2.095770362e-07f, -2.096384506e-07f, -2.096994863e-07f, -2.097601432e-07f, -2.098204213e-07f, -2.098803207e-07f, -2.099398413e-07f,
+-2.099989830e-07f, -2.100577459e-07f, -2.101161300e-07f, -2.101741351e-07f, -2.102317614e-07f, -2.102890087e-07f, -2.103458772e-07f, -2.104023666e-07f, -2.104584771e-07f, -2.105142087e-07f,
+-2.105695612e-07f, -2.106245348e-07f, -2.106791293e-07f, -2.107333448e-07f, -2.107871813e-07f, -2.108406387e-07f, -2.108937171e-07f, -2.109464164e-07f, -2.109987366e-07f, -2.110506778e-07f,
+-2.111022399e-07f, -2.111534228e-07f, -2.112042267e-07f, -2.112546515e-07f, -2.113046971e-07f, -2.113543637e-07f, -2.114036511e-07f, -2.114525594e-07f, -2.115010886e-07f, -2.115492387e-07f,
+-2.115970097e-07f, -2.116444015e-07f, -2.116914143e-07f, -2.117380479e-07f, -2.117843024e-07f, -2.118301778e-07f, -2.118756740e-07f, -2.119207912e-07f, -2.119655293e-07f, -2.120098883e-07f,
+-2.120538682e-07f, -2.120974690e-07f, -2.121406908e-07f, -2.121835335e-07f, -2.122259971e-07f, -2.122680817e-07f, -2.123097873e-07f, -2.123511138e-07f, -2.123920614e-07f, -2.124326299e-07f,
+-2.124728194e-07f, -2.125126300e-07f, -2.125520616e-07f, -2.125911143e-07f, -2.126297881e-07f, -2.126680829e-07f, -2.127059989e-07f, -2.127435360e-07f, -2.127806942e-07f, -2.128174736e-07f,
+-2.128538741e-07f, -2.128898959e-07f, -2.129255389e-07f, -2.129608031e-07f, -2.129956886e-07f, -2.130301954e-07f, -2.130643235e-07f, -2.130980730e-07f, -2.131314438e-07f, -2.131644360e-07f,
+-2.131970496e-07f, -2.132292846e-07f, -2.132611411e-07f, -2.132926191e-07f, -2.133237187e-07f, -2.133544398e-07f, -2.133847824e-07f, -2.134147467e-07f, -2.134443327e-07f, -2.134735403e-07f,
+-2.135023696e-07f, -2.135308207e-07f, -2.135588936e-07f, -2.135865882e-07f, -2.136139047e-07f, -2.136408431e-07f, -2.136674035e-07f, -2.136935858e-07f, -2.137193900e-07f, -2.137448164e-07f,
+-2.137698648e-07f, -2.137945353e-07f, -2.138188279e-07f, -2.138427428e-07f, -2.138662799e-07f, -2.138894393e-07f, -2.139122210e-07f, -2.139346251e-07f, -2.139566516e-07f, -2.139783005e-07f,
+-2.139995720e-07f, -2.140204660e-07f, -2.140409826e-07f, -2.140611219e-07f, -2.140808838e-07f, -2.141002685e-07f, -2.141192760e-07f, -2.141379063e-07f, -2.141561595e-07f, -2.141740357e-07f,
+-2.141915349e-07f, -2.142086571e-07f, -2.142254024e-07f, -2.142417709e-07f, -2.142577626e-07f, -2.142733775e-07f, -2.142886158e-07f, -2.143034775e-07f, -2.143179626e-07f, -2.143320712e-07f,
+-2.143458033e-07f, -2.143591591e-07f, -2.143721386e-07f, -2.143847418e-07f, -2.143969688e-07f, -2.144088196e-07f, -2.144202944e-07f, -2.144313931e-07f, -2.144421160e-07f, -2.144524629e-07f,
+-2.144624340e-07f, -2.144720293e-07f, -2.144812490e-07f, -2.144900930e-07f, -2.144985615e-07f, -2.145066545e-07f, -2.145143721e-07f, -2.145217144e-07f, -2.145286814e-07f, -2.145352731e-07f,
+-2.145414898e-07f, -2.145473313e-07f, -2.145527979e-07f, -2.145578896e-07f, -2.145626064e-07f, -2.145669485e-07f, -2.145709159e-07f, -2.145745086e-07f, -2.145777269e-07f, -2.145805706e-07f,
+-2.145830400e-07f, -2.145851351e-07f, -2.145868560e-07f, -2.145882027e-07f, -2.145891754e-07f, -2.145897741e-07f, -2.145899988e-07f, -2.145898498e-07f, -2.145893270e-07f, -2.145884306e-07f,
+-2.145871606e-07f, -2.145855172e-07f, -2.145835003e-07f, -2.145811102e-07f, -2.145783468e-07f, -2.145752102e-07f, -2.145717007e-07f, -2.145678182e-07f, -2.145635628e-07f, -2.145589346e-07f,
+-2.145539337e-07f, -2.145485603e-07f, -2.145428143e-07f, -2.145366960e-07f, -2.145302053e-07f, -2.145233424e-07f, -2.145161074e-07f, -2.145085003e-07f, -2.145005213e-07f, -2.144921705e-07f,
+-2.144834479e-07f, -2.144743536e-07f, -2.144648879e-07f, -2.144550506e-07f, -2.144448421e-07f, -2.144342622e-07f, -2.144233112e-07f, -2.144119892e-07f, -2.144002963e-07f, -2.143882324e-07f,
+-2.143757979e-07f, -2.143629927e-07f, -2.143498170e-07f, -2.143362708e-07f, -2.143223544e-07f, -2.143080677e-07f, -2.142934109e-07f, -2.142783842e-07f, -2.142629875e-07f, -2.142472210e-07f,
+-2.142310849e-07f, -2.142145792e-07f, -2.141977041e-07f, -2.141804596e-07f, -2.141628459e-07f, -2.141448631e-07f, -2.141265113e-07f, -2.141077906e-07f, -2.140887012e-07f, -2.140692430e-07f,
+-2.140494164e-07f, -2.140292213e-07f, -2.140086579e-07f, -2.139877263e-07f, -2.139664266e-07f, -2.139447590e-07f, -2.139227235e-07f, -2.139003204e-07f, -2.138775496e-07f, -2.138544114e-07f,
+-2.138309058e-07f, -2.138070330e-07f, -2.137827931e-07f, -2.137581862e-07f, -2.137332125e-07f, -2.137078720e-07f, -2.136821649e-07f, -2.136560914e-07f, -2.136296515e-07f, -2.136028454e-07f,
+-2.135756731e-07f, -2.135481349e-07f, -2.135202309e-07f, -2.134919612e-07f, -2.134633259e-07f, -2.134343251e-07f, -2.134049590e-07f, -2.133752278e-07f, -2.133451315e-07f, -2.133146703e-07f,
+-2.132838443e-07f, -2.132526536e-07f, -2.132210984e-07f, -2.131891789e-07f, -2.131568951e-07f, -2.131242473e-07f, -2.130912354e-07f, -2.130578598e-07f, -2.130241204e-07f, -2.129900176e-07f,
+-2.129555513e-07f, -2.129207217e-07f, -2.128855290e-07f, -2.128499734e-07f, -2.128140549e-07f, -2.127777737e-07f, -2.127411299e-07f, -2.127041238e-07f, -2.126667554e-07f, -2.126290248e-07f,
+-2.125909323e-07f, -2.125524780e-07f, -2.125136620e-07f, -2.124744845e-07f, -2.124349456e-07f, -2.123950455e-07f, -2.123547843e-07f, -2.123141621e-07f, -2.122731792e-07f, -2.122318357e-07f,
+-2.121901317e-07f, -2.121480674e-07f, -2.121056429e-07f, -2.120628584e-07f, -2.120197140e-07f, -2.119762099e-07f, -2.119323463e-07f, -2.118881233e-07f, -2.118435411e-07f, -2.117985998e-07f,
+-2.117532996e-07f, -2.117076406e-07f, -2.116616230e-07f, -2.116152470e-07f, -2.115685127e-07f, -2.115214203e-07f, -2.114739699e-07f, -2.114261617e-07f, -2.113779959e-07f, -2.113294727e-07f,
+-2.112805921e-07f, -2.112313544e-07f, -2.111817598e-07f, -2.111318083e-07f, -2.110815002e-07f, -2.110308356e-07f, -2.109798147e-07f, -2.109284377e-07f, -2.108767047e-07f, -2.108246159e-07f,
+-2.107721715e-07f, -2.107193716e-07f, -2.106662165e-07f, -2.106127062e-07f, -2.105588410e-07f, -2.105046210e-07f, -2.104500465e-07f, -2.103951175e-07f, -2.103398342e-07f, -2.102841969e-07f,
+-2.102282057e-07f, -2.101718608e-07f, -2.101151623e-07f, -2.100581105e-07f, -2.100007055e-07f, -2.099429475e-07f, -2.098848367e-07f, -2.098263732e-07f, -2.097675572e-07f, -2.097083890e-07f,
+-2.096488686e-07f, -2.095889964e-07f, -2.095287723e-07f, -2.094681968e-07f, -2.094072699e-07f, -2.093459917e-07f, -2.092843626e-07f, -2.092223827e-07f, -2.091600521e-07f, -2.090973711e-07f,
+-2.090343398e-07f, -2.089709585e-07f, -2.089072273e-07f, -2.088431464e-07f, -2.087787160e-07f, -2.087139363e-07f, -2.086488075e-07f, -2.085833297e-07f, -2.085175032e-07f, -2.084513282e-07f,
+-2.083848048e-07f, -2.083179333e-07f, -2.082507138e-07f, -2.081831465e-07f, -2.081152317e-07f, -2.080469694e-07f, -2.079783600e-07f, -2.079094037e-07f, -2.078401005e-07f, -2.077704508e-07f,
+-2.077004546e-07f, -2.076301123e-07f, -2.075594240e-07f, -2.074883899e-07f, -2.074170102e-07f, -2.073452851e-07f, -2.072732149e-07f, -2.072007996e-07f, -2.071280396e-07f, -2.070549350e-07f,
+-2.069814861e-07f, -2.069076929e-07f, -2.068335559e-07f, -2.067590750e-07f, -2.066842507e-07f, -2.066090829e-07f, -2.065335721e-07f, -2.064577183e-07f, -2.063815218e-07f, -2.063049828e-07f,
+-2.062281016e-07f, -2.061508782e-07f, -2.060733129e-07f, -2.059954060e-07f, -2.059171577e-07f, -2.058385681e-07f, -2.057596375e-07f, -2.056803660e-07f, -2.056007540e-07f, -2.055208016e-07f,
+-2.054405090e-07f, -2.053598765e-07f, -2.052789043e-07f, -2.051975925e-07f, -2.051159414e-07f, -2.050339513e-07f, -2.049516223e-07f, -2.048689546e-07f, -2.047859486e-07f, -2.047026043e-07f,
+-2.046189220e-07f, -2.045349020e-07f, -2.044505445e-07f, -2.043658496e-07f, -2.042808176e-07f, -2.041954488e-07f, -2.041097433e-07f, -2.040237014e-07f, -2.039373233e-07f, -2.038506093e-07f,
+-2.037635595e-07f, -2.036761741e-07f, -2.035884535e-07f, -2.035003979e-07f, -2.034120074e-07f, -2.033232823e-07f, -2.032342228e-07f, -2.031448291e-07f, -2.030551016e-07f, -2.029650404e-07f,
+-2.028746457e-07f, -2.027839178e-07f, -2.026928570e-07f, -2.026014633e-07f, -2.025097372e-07f, -2.024176788e-07f, -2.023252883e-07f, -2.022325660e-07f, -2.021395121e-07f, -2.020461269e-07f,
+-2.019524106e-07f, -2.018583634e-07f, -2.017639856e-07f, -2.016692774e-07f, -2.015742390e-07f, -2.014788707e-07f, -2.013831728e-07f, -2.012871454e-07f, -2.011907888e-07f, -2.010941033e-07f,
+-2.009970891e-07f, -2.008997464e-07f, -2.008020755e-07f, -2.007040766e-07f, -2.006057500e-07f, -2.005070958e-07f, -2.004081145e-07f, -2.003088061e-07f, -2.002091710e-07f, -2.001092094e-07f,
+-2.000089216e-07f, -1.999083077e-07f, -1.998073681e-07f, -1.997061029e-07f, -1.996045125e-07f, -1.995025971e-07f, -1.994003569e-07f, -1.992977922e-07f, -1.991949033e-07f, -1.990916903e-07f,
+-1.989881536e-07f, -1.988842934e-07f, -1.987801099e-07f, -1.986756034e-07f, -1.985707742e-07f, -1.984656225e-07f, -1.983601486e-07f, -1.982543527e-07f, -1.981482351e-07f, -1.980417961e-07f,
+-1.979350358e-07f, -1.978279546e-07f, -1.977205527e-07f, -1.976128304e-07f, -1.975047879e-07f, -1.973964255e-07f, -1.972877435e-07f, -1.971787420e-07f, -1.970694215e-07f, -1.969597821e-07f,
+-1.968498241e-07f, -1.967395477e-07f, -1.966289533e-07f, -1.965180411e-07f, -1.964068113e-07f, -1.962952643e-07f, -1.961834002e-07f, -1.960712194e-07f, -1.959587221e-07f, -1.958459086e-07f,
+-1.957327792e-07f, -1.956193341e-07f, -1.955055735e-07f, -1.953914979e-07f, -1.952771073e-07f, -1.951624022e-07f, -1.950473827e-07f, -1.949320492e-07f, -1.948164019e-07f, -1.947004411e-07f,
+-1.945841670e-07f, -1.944675800e-07f, -1.943506802e-07f, -1.942334681e-07f, -1.941159438e-07f, -1.939981076e-07f, -1.938799598e-07f, -1.937615007e-07f, -1.936427306e-07f, -1.935236497e-07f,
+-1.934042583e-07f, -1.932845567e-07f, -1.931645451e-07f, -1.930442239e-07f, -1.929235933e-07f, -1.928026536e-07f, -1.926814052e-07f, -1.925598481e-07f, -1.924379828e-07f, -1.923158096e-07f,
+-1.921933286e-07f, -1.920705403e-07f, -1.919474448e-07f, -1.918240425e-07f, -1.917003336e-07f, -1.915763184e-07f, -1.914519973e-07f, -1.913273704e-07f, -1.912024381e-07f, -1.910772007e-07f,
+-1.909516585e-07f, -1.908258117e-07f, -1.906996606e-07f, -1.905732056e-07f, -1.904464468e-07f, -1.903193847e-07f, -1.901920194e-07f, -1.900643514e-07f, -1.899363808e-07f, -1.898081079e-07f,
+-1.896795331e-07f, -1.895506566e-07f, -1.894214788e-07f, -1.892919999e-07f, -1.891622202e-07f, -1.890321401e-07f, -1.889017597e-07f, -1.887710795e-07f, -1.886400996e-07f, -1.885088205e-07f,
+-1.883772423e-07f, -1.882453654e-07f, -1.881131901e-07f, -1.879807167e-07f, -1.878479455e-07f, -1.877148767e-07f, -1.875815108e-07f, -1.874478479e-07f, -1.873138883e-07f, -1.871796325e-07f,
+-1.870450806e-07f, -1.869102330e-07f, -1.867750900e-07f, -1.866396519e-07f, -1.865039190e-07f, -1.863678915e-07f, -1.862315698e-07f, -1.860949543e-07f, -1.859580451e-07f, -1.858208426e-07f,
+-1.856833472e-07f, -1.855455590e-07f, -1.854074785e-07f, -1.852691059e-07f, -1.851304415e-07f, -1.849914857e-07f, -1.848522387e-07f, -1.847127009e-07f, -1.845728726e-07f, -1.844327540e-07f,
+-1.842923455e-07f, -1.841516474e-07f, -1.840106600e-07f, -1.838693836e-07f, -1.837278186e-07f, -1.835859652e-07f, -1.834438237e-07f, -1.833013945e-07f, -1.831586779e-07f, -1.830156742e-07f,
+-1.828723837e-07f, -1.827288067e-07f, -1.825849435e-07f, -1.824407945e-07f, -1.822963599e-07f, -1.821516402e-07f, -1.820066355e-07f, -1.818613462e-07f, -1.817157727e-07f, -1.815699152e-07f,
+-1.814237741e-07f, -1.812773497e-07f, -1.811306422e-07f, -1.809836521e-07f, -1.808363797e-07f, -1.806888252e-07f, -1.805409890e-07f, -1.803928714e-07f, -1.802444727e-07f, -1.800957933e-07f,
+-1.799468335e-07f, -1.797975935e-07f, -1.796480738e-07f, -1.794982746e-07f, -1.793481963e-07f, -1.791978392e-07f, -1.790472036e-07f, -1.788962898e-07f, -1.787450982e-07f, -1.785936291e-07f,
+-1.784418828e-07f, -1.782898597e-07f, -1.781375600e-07f, -1.779849842e-07f, -1.778321324e-07f, -1.776790052e-07f, -1.775256027e-07f, -1.773719253e-07f, -1.772179734e-07f, -1.770637473e-07f,
+-1.769092473e-07f, -1.767544737e-07f, -1.765994269e-07f, -1.764441072e-07f, -1.762885149e-07f, -1.761326504e-07f, -1.759765140e-07f, -1.758201060e-07f, -1.756634268e-07f, -1.755064768e-07f,
+-1.753492561e-07f, -1.751917652e-07f, -1.750340045e-07f, -1.748759741e-07f, -1.747176746e-07f, -1.745591062e-07f, -1.744002692e-07f, -1.742411640e-07f, -1.740817910e-07f, -1.739221504e-07f,
+-1.737622427e-07f, -1.736020680e-07f, -1.734416269e-07f, -1.732809196e-07f, -1.731199465e-07f, -1.729587078e-07f, -1.727972041e-07f, -1.726354355e-07f, -1.724734024e-07f, -1.723111052e-07f,
+-1.721485442e-07f, -1.719857198e-07f, -1.718226323e-07f, -1.716592821e-07f, -1.714956694e-07f, -1.713317946e-07f, -1.711676582e-07f, -1.710032604e-07f, -1.708386015e-07f, -1.706736820e-07f,
+-1.705085021e-07f, -1.703430622e-07f, -1.701773627e-07f, -1.700114039e-07f, -1.698451861e-07f, -1.696787098e-07f, -1.695119752e-07f, -1.693449827e-07f, -1.691777326e-07f, -1.690102253e-07f,
+-1.688424612e-07f, -1.686744406e-07f, -1.685061638e-07f, -1.683376313e-07f, -1.681688433e-07f, -1.679998002e-07f, -1.678305023e-07f, -1.676609501e-07f, -1.674911438e-07f, -1.673210838e-07f,
+-1.671507705e-07f, -1.669802043e-07f, -1.668093854e-07f, -1.666383142e-07f, -1.664669912e-07f, -1.662954165e-07f, -1.661235907e-07f, -1.659515141e-07f, -1.657791869e-07f, -1.656066096e-07f,
+-1.654337826e-07f, -1.652607061e-07f, -1.650873806e-07f, -1.649138064e-07f, -1.647399838e-07f, -1.645659133e-07f, -1.643915951e-07f, -1.642170297e-07f, -1.640422174e-07f, -1.638671586e-07f,
+-1.636918535e-07f, -1.635163027e-07f, -1.633405064e-07f, -1.631644650e-07f, -1.629881789e-07f, -1.628116484e-07f, -1.626348739e-07f, -1.624578558e-07f, -1.622805944e-07f, -1.621030901e-07f,
+-1.619253432e-07f, -1.617473541e-07f, -1.615691233e-07f, -1.613906509e-07f, -1.612119375e-07f, -1.610329834e-07f, -1.608537889e-07f, -1.606743544e-07f, -1.604946803e-07f, -1.603147670e-07f,
+-1.601346148e-07f, -1.599542240e-07f, -1.597735951e-07f, -1.595927285e-07f, -1.594116244e-07f, -1.592302832e-07f, -1.590487054e-07f, -1.588668913e-07f, -1.586848413e-07f, -1.585025557e-07f,
+-1.583200350e-07f, -1.581372794e-07f, -1.579542893e-07f, -1.577710652e-07f, -1.575876074e-07f, -1.574039163e-07f, -1.572199922e-07f, -1.570358355e-07f, -1.568514467e-07f, -1.566668260e-07f,
+-1.564819738e-07f, -1.562968906e-07f, -1.561115766e-07f, -1.559260323e-07f, -1.557402581e-07f, -1.555542543e-07f, -1.553680212e-07f, -1.551815594e-07f, -1.549948691e-07f, -1.548079507e-07f,
+-1.546208046e-07f, -1.544334312e-07f, -1.542458309e-07f, -1.540580040e-07f, -1.538699509e-07f, -1.536816721e-07f, -1.534931678e-07f, -1.533044384e-07f, -1.531154844e-07f, -1.529263061e-07f,
+-1.527369039e-07f, -1.525472782e-07f, -1.523574293e-07f, -1.521673577e-07f, -1.519770637e-07f, -1.517865478e-07f, -1.515958102e-07f, -1.514048514e-07f, -1.512136717e-07f, -1.510222716e-07f,
+-1.508306514e-07f, -1.506388115e-07f, -1.504467522e-07f, -1.502544741e-07f, -1.500619774e-07f, -1.498692626e-07f, -1.496763300e-07f, -1.494831800e-07f, -1.492898130e-07f, -1.490962295e-07f,
+-1.489024296e-07f, -1.487084140e-07f, -1.485141829e-07f, -1.483197367e-07f, -1.481250759e-07f, -1.479302008e-07f, -1.477351118e-07f, -1.475398092e-07f, -1.473442936e-07f, -1.471485652e-07f,
+-1.469526245e-07f, -1.467564718e-07f, -1.465601076e-07f, -1.463635322e-07f, -1.461667460e-07f, -1.459697495e-07f, -1.457725429e-07f, -1.455751267e-07f, -1.453775014e-07f, -1.451796672e-07f,
+-1.449816245e-07f, -1.447833739e-07f, -1.445849156e-07f, -1.443862500e-07f, -1.441873776e-07f, -1.439882987e-07f, -1.437890138e-07f, -1.435895231e-07f, -1.433898272e-07f, -1.431899265e-07f,
+-1.429898212e-07f, -1.427895118e-07f, -1.425889987e-07f, -1.423882824e-07f, -1.421873631e-07f, -1.419862413e-07f, -1.417849174e-07f, -1.415833918e-07f, -1.413816649e-07f, -1.411797371e-07f,
+-1.409776087e-07f, -1.407752802e-07f, -1.405727520e-07f, -1.403700244e-07f, -1.401670979e-07f, -1.399639729e-07f, -1.397606498e-07f, -1.395571289e-07f, -1.393534107e-07f, -1.391494956e-07f,
+-1.389453839e-07f, -1.387410761e-07f, -1.385365726e-07f, -1.383318738e-07f, -1.381269800e-07f, -1.379218917e-07f, -1.377166093e-07f, -1.375111331e-07f, -1.373054637e-07f, -1.370996013e-07f,
+-1.368935464e-07f, -1.366872994e-07f, -1.364808607e-07f, -1.362742307e-07f, -1.360674098e-07f, -1.358603985e-07f, -1.356531970e-07f, -1.354458058e-07f, -1.352382254e-07f, -1.350304560e-07f,
+-1.348224983e-07f, -1.346143524e-07f, -1.344060189e-07f, -1.341974981e-07f, -1.339887905e-07f, -1.337798965e-07f, -1.335708164e-07f, -1.333615507e-07f, -1.331520998e-07f, -1.329424640e-07f,
+-1.327326439e-07f, -1.325226398e-07f, -1.323124521e-07f, -1.321020812e-07f, -1.318915275e-07f, -1.316807915e-07f, -1.314698735e-07f, -1.312587740e-07f, -1.310474933e-07f, -1.308360320e-07f,
+-1.306243903e-07f, -1.304125687e-07f, -1.302005676e-07f, -1.299883874e-07f, -1.297760286e-07f, -1.295634915e-07f, -1.293507766e-07f, -1.291378842e-07f, -1.289248148e-07f, -1.287115688e-07f,
+-1.284981466e-07f, -1.282845485e-07f, -1.280707752e-07f, -1.278568268e-07f, -1.276427039e-07f, -1.274284069e-07f, -1.272139362e-07f, -1.269992921e-07f, -1.267844751e-07f, -1.265694857e-07f,
+-1.263543242e-07f, -1.261389910e-07f, -1.259234866e-07f, -1.257078114e-07f, -1.254919658e-07f, -1.252759502e-07f, -1.250597650e-07f, -1.248434106e-07f, -1.246268875e-07f, -1.244101961e-07f,
+-1.241933368e-07f, -1.239763099e-07f, -1.237591160e-07f, -1.235417554e-07f, -1.233242286e-07f, -1.231065360e-07f, -1.228886779e-07f, -1.226706549e-07f, -1.224524672e-07f, -1.222341155e-07f,
+-1.220155999e-07f, -1.217969211e-07f, -1.215780794e-07f, -1.213590751e-07f, -1.211399089e-07f, -1.209205809e-07f, -1.207010918e-07f, -1.204814418e-07f, -1.202616315e-07f, -1.200416612e-07f,
+-1.198215314e-07f, -1.196012424e-07f, -1.193807947e-07f, -1.191601888e-07f, -1.189394250e-07f, -1.187185037e-07f, -1.184974254e-07f, -1.182761906e-07f, -1.180547995e-07f, -1.178332527e-07f,
+-1.176115506e-07f, -1.173896936e-07f, -1.171676820e-07f, -1.169455165e-07f, -1.167231972e-07f, -1.165007248e-07f, -1.162780996e-07f, -1.160553219e-07f, -1.158323924e-07f, -1.156093113e-07f,
+-1.153860791e-07f, -1.151626962e-07f, -1.149391631e-07f, -1.147154802e-07f, -1.144916478e-07f, -1.142676665e-07f, -1.140435366e-07f, -1.138192586e-07f, -1.135948329e-07f, -1.133702599e-07f,
+-1.131455400e-07f, -1.129206738e-07f, -1.126956615e-07f, -1.124705036e-07f, -1.122452006e-07f, -1.120197529e-07f, -1.117941608e-07f, -1.115684249e-07f, -1.113425456e-07f, -1.111165232e-07f,
+-1.108903583e-07f, -1.106640511e-07f, -1.104376023e-07f, -1.102110121e-07f, -1.099842811e-07f, -1.097574096e-07f, -1.095303981e-07f, -1.093032469e-07f, -1.090759566e-07f, -1.088485276e-07f,
+-1.086209603e-07f, -1.083932550e-07f, -1.081654124e-07f, -1.079374327e-07f, -1.077093164e-07f, -1.074810639e-07f, -1.072526757e-07f, -1.070241522e-07f, -1.067954938e-07f, -1.065667009e-07f,
+-1.063377741e-07f, -1.061087136e-07f, -1.058795200e-07f, -1.056501937e-07f, -1.054207350e-07f, -1.051911445e-07f, -1.049614226e-07f, -1.047315697e-07f, -1.045015861e-07f, -1.042714725e-07f,
+-1.040412291e-07f, -1.038108565e-07f, -1.035803549e-07f, -1.033497250e-07f, -1.031189671e-07f, -1.028880817e-07f, -1.026570691e-07f, -1.024259298e-07f, -1.021946643e-07f, -1.019632730e-07f,
+-1.017317562e-07f, -1.015001145e-07f, -1.012683483e-07f, -1.010364580e-07f, -1.008044440e-07f, -1.005723068e-07f, -1.003400468e-07f, -1.001076644e-07f, -9.987516013e-08f, -9.964253435e-08f,
+-9.940978751e-08f, -9.917692005e-08f, -9.894393239e-08f, -9.871082497e-08f, -9.847759824e-08f, -9.824425261e-08f, -9.801078853e-08f, -9.777720643e-08f, -9.754350674e-08f, -9.730968990e-08f,
+-9.707575635e-08f, -9.684170651e-08f, -9.660754083e-08f, -9.637325974e-08f, -9.613886368e-08f, -9.590435307e-08f, -9.566972836e-08f, -9.543498998e-08f, -9.520013837e-08f, -9.496517396e-08f,
+-9.473009719e-08f, -9.449490849e-08f, -9.425960831e-08f, -9.402419707e-08f, -9.378867521e-08f, -9.355304318e-08f, -9.331730140e-08f, -9.308145031e-08f, -9.284549035e-08f, -9.260942196e-08f,
+-9.237324557e-08f, -9.213696162e-08f, -9.190057055e-08f, -9.166407279e-08f, -9.142746878e-08f, -9.119075896e-08f, -9.095394377e-08f, -9.071702364e-08f, -9.047999901e-08f, -9.024287032e-08f,
+-9.000563800e-08f, -8.976830250e-08f, -8.953086425e-08f, -8.929332369e-08f, -8.905568126e-08f, -8.881793740e-08f, -8.858009254e-08f, -8.834214712e-08f, -8.810410158e-08f, -8.786595636e-08f,
+-8.762771190e-08f, -8.738936863e-08f, -8.715092700e-08f, -8.691238745e-08f, -8.667375040e-08f, -8.643501631e-08f, -8.619618561e-08f, -8.595725873e-08f, -8.571823613e-08f, -8.547911823e-08f,
+-8.523990548e-08f, -8.500059832e-08f, -8.476119718e-08f, -8.452170251e-08f, -8.428211474e-08f, -8.404243431e-08f, -8.380266167e-08f, -8.356279725e-08f, -8.332284150e-08f, -8.308279485e-08f,
+-8.284265774e-08f, -8.260243061e-08f, -8.236211390e-08f, -8.212170806e-08f, -8.188121352e-08f, -8.164063073e-08f, -8.139996011e-08f, -8.115920212e-08f, -8.091835719e-08f, -8.067742577e-08f,
+-8.043640829e-08f, -8.019530520e-08f, -7.995411693e-08f, -7.971284393e-08f, -7.947148663e-08f, -7.923004549e-08f, -7.898852092e-08f, -7.874691339e-08f, -7.850522333e-08f, -7.826345118e-08f,
+-7.802159738e-08f, -7.777966237e-08f, -7.753764660e-08f, -7.729555050e-08f, -7.705337451e-08f, -7.681111908e-08f, -7.656878465e-08f, -7.632637166e-08f, -7.608388054e-08f, -7.584131175e-08f,
+-7.559866572e-08f, -7.535594290e-08f, -7.511314372e-08f, -7.487026863e-08f, -7.462731806e-08f, -7.438429247e-08f, -7.414119228e-08f, -7.389801795e-08f, -7.365476991e-08f, -7.341144861e-08f,
+-7.316805449e-08f, -7.292458798e-08f, -7.268104954e-08f, -7.243743959e-08f, -7.219375859e-08f, -7.195000698e-08f, -7.170618520e-08f, -7.146229368e-08f, -7.121833288e-08f, -7.097430323e-08f,
+-7.073020517e-08f, -7.048603915e-08f, -7.024180561e-08f, -6.999750499e-08f, -6.975313774e-08f, -6.950870429e-08f, -6.926420508e-08f, -6.901964056e-08f, -6.877501118e-08f, -6.853031736e-08f,
+-6.828555957e-08f, -6.804073822e-08f, -6.779585378e-08f, -6.755090668e-08f, -6.730589736e-08f, -6.706082626e-08f, -6.681569384e-08f, -6.657050052e-08f, -6.632524675e-08f, -6.607993298e-08f,
+-6.583455964e-08f, -6.558912718e-08f, -6.534363604e-08f, -6.509808666e-08f, -6.485247948e-08f, -6.460681495e-08f, -6.436109351e-08f, -6.411531560e-08f, -6.386948167e-08f, -6.362359214e-08f,
+-6.337764748e-08f, -6.313164811e-08f, -6.288559449e-08f, -6.263948704e-08f, -6.239332623e-08f, -6.214711248e-08f, -6.190084624e-08f, -6.165452795e-08f, -6.140815806e-08f, -6.116173700e-08f,
+-6.091526522e-08f, -6.066874316e-08f, -6.042217126e-08f, -6.017554996e-08f, -5.992887971e-08f, -5.968216095e-08f, -5.943539412e-08f, -5.918857966e-08f, -5.894171802e-08f, -5.869480963e-08f,
+-5.844785494e-08f, -5.820085439e-08f, -5.795380842e-08f, -5.770671747e-08f, -5.745958199e-08f, -5.721240241e-08f, -5.696517919e-08f, -5.671791275e-08f, -5.647060355e-08f, -5.622325202e-08f,
+-5.597585861e-08f, -5.572842376e-08f, -5.548094790e-08f, -5.523343149e-08f, -5.498587496e-08f, -5.473827875e-08f, -5.449064330e-08f, -5.424296907e-08f, -5.399525648e-08f, -5.374750598e-08f,
+-5.349971802e-08f, -5.325189302e-08f, -5.300403144e-08f, -5.275613372e-08f, -5.250820029e-08f, -5.226023160e-08f, -5.201222809e-08f, -5.176419020e-08f, -5.151611837e-08f, -5.126801304e-08f,
+-5.101987466e-08f, -5.077170366e-08f, -5.052350048e-08f, -5.027526557e-08f, -5.002699937e-08f, -4.977870231e-08f, -4.953037485e-08f, -4.928201741e-08f, -4.903363045e-08f, -4.878521439e-08f,
+-4.853676968e-08f, -4.828829677e-08f, -4.803979609e-08f, -4.779126808e-08f, -4.754271318e-08f, -4.729413184e-08f, -4.704552449e-08f, -4.679689158e-08f, -4.654823353e-08f, -4.629955081e-08f,
+-4.605084383e-08f, -4.580211305e-08f, -4.555335891e-08f, -4.530458183e-08f, -4.505578228e-08f, -4.480696067e-08f, -4.455811746e-08f, -4.430925308e-08f, -4.406036797e-08f, -4.381146258e-08f,
+-4.356253733e-08f, -4.331359268e-08f, -4.306462905e-08f, -4.281564690e-08f, -4.256664665e-08f, -4.231762875e-08f, -4.206859364e-08f, -4.181954175e-08f, -4.157047353e-08f, -4.132138941e-08f,
+-4.107228983e-08f, -4.082317524e-08f, -4.057404606e-08f, -4.032490274e-08f, -4.007574571e-08f, -3.982657542e-08f, -3.957739231e-08f, -3.932819680e-08f, -3.907898935e-08f, -3.882977038e-08f,
+-3.858054033e-08f, -3.833129965e-08f, -3.808204878e-08f, -3.783278814e-08f, -3.758351817e-08f, -3.733423933e-08f, -3.708495203e-08f, -3.683565672e-08f, -3.658635384e-08f, -3.633704382e-08f,
+-3.608772711e-08f, -3.583840413e-08f, -3.558907533e-08f, -3.533974113e-08f, -3.509040199e-08f, -3.484105834e-08f, -3.459171060e-08f, -3.434235923e-08f, -3.409300465e-08f, -3.384364730e-08f,
+-3.359428762e-08f, -3.334492604e-08f, -3.309556300e-08f, -3.284619894e-08f, -3.259683429e-08f, -3.234746949e-08f, -3.209810497e-08f, -3.184874118e-08f, -3.159937853e-08f, -3.135001748e-08f,
+-3.110065845e-08f, -3.085130188e-08f, -3.060194821e-08f, -3.035259787e-08f, -3.010325129e-08f, -2.985390891e-08f, -2.960457117e-08f, -2.935523850e-08f, -2.910591133e-08f, -2.885659010e-08f,
+-2.860727524e-08f, -2.835796719e-08f, -2.810866638e-08f, -2.785937324e-08f, -2.761008821e-08f, -2.736081172e-08f, -2.711154421e-08f, -2.686228611e-08f, -2.661303785e-08f, -2.636379987e-08f,
+-2.611457259e-08f, -2.586535646e-08f, -2.561615190e-08f, -2.536695935e-08f, -2.511777923e-08f, -2.486861199e-08f, -2.461945806e-08f, -2.437031786e-08f, -2.412119183e-08f, -2.387208041e-08f,
+-2.362298401e-08f, -2.337390308e-08f, -2.312483805e-08f, -2.287578935e-08f, -2.262675740e-08f, -2.237774265e-08f, -2.212874552e-08f, -2.187976644e-08f, -2.163080584e-08f, -2.138186416e-08f,
+-2.113294183e-08f, -2.088403927e-08f, -2.063515691e-08f, -2.038629520e-08f, -2.013745455e-08f, -1.988863540e-08f, -1.963983817e-08f, -1.939106330e-08f, -1.914231121e-08f, -1.889358234e-08f,
+-1.864487712e-08f, -1.839619596e-08f, -1.814753931e-08f, -1.789890760e-08f, -1.765030124e-08f, -1.740172067e-08f, -1.715316631e-08f, -1.690463861e-08f, -1.665613797e-08f, -1.640766484e-08f,
+-1.615921964e-08f, -1.591080279e-08f, -1.566241473e-08f, -1.541405589e-08f, -1.516572668e-08f, -1.491742753e-08f, -1.466915889e-08f, -1.442092116e-08f, -1.417271478e-08f, -1.392454017e-08f,
+-1.367639776e-08f, -1.342828798e-08f, -1.318021125e-08f, -1.293216800e-08f, -1.268415865e-08f, -1.243618364e-08f, -1.218824337e-08f, -1.194033829e-08f, -1.169246882e-08f, -1.144463537e-08f,
+-1.119683838e-08f, -1.094907827e-08f, -1.070135546e-08f, -1.045367039e-08f, -1.020602346e-08f, -9.958415114e-09f, -9.710845767e-09f, -9.463315844e-09f, -9.215825770e-09f, -8.968375967e-09f,
+-8.720966858e-09f, -8.473598867e-09f, -8.226272416e-09f, -7.978987929e-09f, -7.731745827e-09f, -7.484546532e-09f, -7.237390468e-09f, -6.990278056e-09f, -6.743209718e-09f, -6.496185875e-09f,
+-6.249206949e-09f, -6.002273362e-09f, -5.755385534e-09f, -5.508543886e-09f, -5.261748840e-09f, -5.015000815e-09f, -4.768300233e-09f, -4.521647513e-09f, -4.275043075e-09f, -4.028487340e-09f,
+-3.781980727e-09f, -3.535523655e-09f, -3.289116545e-09f, -3.042759814e-09f, -2.796453883e-09f, -2.550199170e-09f, -2.303996093e-09f, -2.057845071e-09f, -1.811746522e-09f, -1.565700864e-09f,
+-1.319708516e-09f, -1.073769894e-09f, -8.278854161e-10f, -5.820554999e-10f, -3.362805624e-10f, -9.056102029e-11f, 1.551027095e-10f, 4.007102106e-10f, 6.462610665e-10f, 8.917548612e-10f,
+1.137191179e-09f, 1.382569603e-09f, 1.627889719e-09f, 1.873151111e-09f, 2.118353365e-09f, 2.363496064e-09f, 2.608578794e-09f, 2.853601141e-09f, 3.098562690e-09f, 3.343463028e-09f,
+3.588301740e-09f, 3.833078412e-09f, 4.077792630e-09f, 4.322443983e-09f, 4.567032055e-09f, 4.811556435e-09f, 5.056016710e-09f, 5.300412467e-09f, 5.544743293e-09f, 5.789008777e-09f,
+6.033208507e-09f, 6.277342071e-09f, 6.521409058e-09f, 6.765409055e-09f, 7.009341653e-09f, 7.253206440e-09f, 7.497003005e-09f, 7.740730939e-09f, 7.984389831e-09f, 8.227979271e-09f,
+8.471498848e-09f, 8.714948155e-09f, 8.958326780e-09f, 9.201634316e-09f, 9.444870352e-09f, 9.688034481e-09f, 9.931126294e-09f, 1.017414538e-08f, 1.041709134e-08f, 1.065996375e-08f,
+1.090276222e-08f, 1.114548633e-08f, 1.138813569e-08f, 1.163070987e-08f, 1.187320847e-08f, 1.211563109e-08f, 1.235797732e-08f, 1.260024676e-08f, 1.284243900e-08f, 1.308455363e-08f,
+1.332659025e-08f, 1.356854845e-08f, 1.381042783e-08f, 1.405222799e-08f, 1.429394851e-08f, 1.453558900e-08f, 1.477714905e-08f, 1.501862825e-08f, 1.526002621e-08f, 1.550134252e-08f,
+1.574257678e-08f, 1.598372858e-08f, 1.622479752e-08f, 1.646578321e-08f, 1.670668523e-08f, 1.694750319e-08f, 1.718823668e-08f, 1.742888530e-08f, 1.766944865e-08f, 1.790992634e-08f,
+1.815031795e-08f, 1.839062310e-08f, 1.863084137e-08f, 1.887097237e-08f, 1.911101571e-08f, 1.935097097e-08f, 1.959083776e-08f, 1.983061569e-08f, 2.007030435e-08f, 2.030990334e-08f,
+2.054941227e-08f, 2.078883074e-08f, 2.102815835e-08f, 2.126739470e-08f, 2.150653940e-08f, 2.174559205e-08f, 2.198455225e-08f, 2.222341961e-08f, 2.246219373e-08f, 2.270087421e-08f,
+2.293946066e-08f, 2.317795268e-08f, 2.341634988e-08f, 2.365465186e-08f, 2.389285823e-08f, 2.413096860e-08f, 2.436898256e-08f, 2.460689973e-08f, 2.484471971e-08f, 2.508244211e-08f,
+2.532006653e-08f, 2.555759259e-08f, 2.579501989e-08f, 2.603234803e-08f, 2.626957663e-08f, 2.650670529e-08f, 2.674373363e-08f, 2.698066124e-08f, 2.721748775e-08f, 2.745421275e-08f,
+2.769083586e-08f, 2.792735669e-08f, 2.816377485e-08f, 2.840008995e-08f, 2.863630160e-08f, 2.887240940e-08f, 2.910841298e-08f, 2.934431194e-08f, 2.958010589e-08f, 2.981579445e-08f,
+3.005137723e-08f, 3.028685384e-08f, 3.052222389e-08f, 3.075748700e-08f, 3.099264278e-08f, 3.122769084e-08f, 3.146263080e-08f, 3.169746227e-08f, 3.193218487e-08f, 3.216679821e-08f,
+3.240130190e-08f, 3.263569557e-08f, 3.286997882e-08f, 3.310415127e-08f, 3.333821254e-08f, 3.357216224e-08f, 3.380600000e-08f, 3.403972542e-08f, 3.427333813e-08f, 3.450683775e-08f,
+3.474022388e-08f, 3.497349615e-08f, 3.520665418e-08f, 3.543969759e-08f, 3.567262599e-08f, 3.590543900e-08f, 3.613813625e-08f, 3.637071735e-08f, 3.660318192e-08f, 3.683552959e-08f,
+3.706775997e-08f, 3.729987269e-08f, 3.753186737e-08f, 3.776374362e-08f, 3.799550107e-08f, 3.822713935e-08f, 3.845865807e-08f, 3.869005685e-08f, 3.892133533e-08f, 3.915249312e-08f,
+3.938352985e-08f, 3.961444514e-08f, 3.984523862e-08f, 4.007590990e-08f, 4.030645863e-08f, 4.053688441e-08f, 4.076718687e-08f, 4.099736565e-08f, 4.122742037e-08f, 4.145735064e-08f,
+4.168715611e-08f, 4.191683640e-08f, 4.214639113e-08f, 4.237581993e-08f, 4.260512243e-08f, 4.283429826e-08f, 4.306334705e-08f, 4.329226842e-08f, 4.352106200e-08f, 4.374972743e-08f,
+4.397826434e-08f, 4.420667234e-08f, 4.443495108e-08f, 4.466310018e-08f, 4.489111928e-08f, 4.511900801e-08f, 4.534676599e-08f, 4.557439286e-08f, 4.580188825e-08f, 4.602925180e-08f,
+4.625648314e-08f, 4.648358190e-08f, 4.671054771e-08f, 4.693738020e-08f, 4.716407902e-08f, 4.739064380e-08f, 4.761707417e-08f, 4.784336976e-08f, 4.806953021e-08f, 4.829555516e-08f,
+4.852144425e-08f, 4.874719710e-08f, 4.897281336e-08f, 4.919829266e-08f, 4.942363464e-08f, 4.964883894e-08f, 4.987390520e-08f, 5.009883304e-08f, 5.032362213e-08f, 5.054827208e-08f,
+5.077278254e-08f, 5.099715315e-08f, 5.122138356e-08f, 5.144547339e-08f, 5.166942229e-08f, 5.189322991e-08f, 5.211689588e-08f, 5.234041984e-08f, 5.256380144e-08f, 5.278704032e-08f,
+5.301013611e-08f, 5.323308847e-08f, 5.345589704e-08f, 5.367856146e-08f, 5.390108138e-08f, 5.412345643e-08f, 5.434568626e-08f, 5.456777052e-08f, 5.478970886e-08f, 5.501150091e-08f,
+5.523314633e-08f, 5.545464476e-08f, 5.567599585e-08f, 5.589719924e-08f, 5.611825458e-08f, 5.633916152e-08f, 5.655991971e-08f, 5.678052879e-08f, 5.700098842e-08f, 5.722129823e-08f,
+5.744145789e-08f, 5.766146705e-08f, 5.788132534e-08f, 5.810103242e-08f, 5.832058795e-08f, 5.853999157e-08f, 5.875924293e-08f, 5.897834169e-08f, 5.919728750e-08f, 5.941608001e-08f,
+5.963471887e-08f, 5.985320374e-08f, 6.007153427e-08f, 6.028971011e-08f, 6.050773092e-08f, 6.072559635e-08f, 6.094330606e-08f, 6.116085970e-08f, 6.137825693e-08f, 6.159549740e-08f,
+6.181258078e-08f, 6.202950671e-08f, 6.224627485e-08f, 6.246288486e-08f, 6.267933640e-08f, 6.289562913e-08f, 6.311176270e-08f, 6.332773677e-08f, 6.354355101e-08f, 6.375920507e-08f,
+6.397469861e-08f, 6.419003129e-08f, 6.440520278e-08f, 6.462021273e-08f, 6.483506080e-08f, 6.504974666e-08f, 6.526426996e-08f, 6.547863038e-08f, 6.569282757e-08f, 6.590686119e-08f,
+6.612073092e-08f, 6.633443640e-08f, 6.654797732e-08f, 6.676135332e-08f, 6.697456409e-08f, 6.718760927e-08f, 6.740048854e-08f, 6.761320157e-08f, 6.782574801e-08f, 6.803812754e-08f,
+6.825033983e-08f, 6.846238453e-08f, 6.867426133e-08f, 6.888596988e-08f, 6.909750985e-08f, 6.930888092e-08f, 6.952008276e-08f, 6.973111502e-08f, 6.994197739e-08f, 7.015266954e-08f,
+7.036319113e-08f, 7.057354183e-08f, 7.078372132e-08f, 7.099372927e-08f, 7.120356535e-08f, 7.141322924e-08f, 7.162272060e-08f, 7.183203911e-08f, 7.204118445e-08f, 7.225015628e-08f,
+7.245895429e-08f, 7.266757814e-08f, 7.287602752e-08f, 7.308430210e-08f, 7.329240155e-08f, 7.350032555e-08f, 7.370807378e-08f, 7.391564592e-08f, 7.412304164e-08f, 7.433026062e-08f,
+7.453730253e-08f, 7.474416707e-08f, 7.495085390e-08f, 7.515736271e-08f, 7.536369318e-08f, 7.556984498e-08f, 7.577581780e-08f, 7.598161132e-08f, 7.618722522e-08f, 7.639265917e-08f,
+7.659791288e-08f, 7.680298601e-08f, 7.700787824e-08f, 7.721258928e-08f, 7.741711878e-08f, 7.762146645e-08f, 7.782563196e-08f, 7.802961501e-08f, 7.823341527e-08f, 7.843703243e-08f,
+7.864046617e-08f, 7.884371619e-08f, 7.904678218e-08f, 7.924966380e-08f, 7.945236077e-08f, 7.965487276e-08f, 7.985719946e-08f, 8.005934056e-08f, 8.026129575e-08f, 8.046306472e-08f,
+8.066464717e-08f, 8.086604277e-08f, 8.106725122e-08f, 8.126827222e-08f, 8.146910545e-08f, 8.166975061e-08f, 8.187020738e-08f, 8.207047547e-08f, 8.227055456e-08f, 8.247044435e-08f,
+8.267014454e-08f, 8.286965481e-08f, 8.306897486e-08f, 8.326810439e-08f, 8.346704309e-08f, 8.366579066e-08f, 8.386434680e-08f, 8.406271120e-08f, 8.426088356e-08f, 8.445886358e-08f,
+8.465665095e-08f, 8.485424537e-08f, 8.505164655e-08f, 8.524885418e-08f, 8.544586796e-08f, 8.564268760e-08f, 8.583931278e-08f, 8.603574322e-08f, 8.623197862e-08f, 8.642801867e-08f,
+8.662386308e-08f, 8.681951155e-08f, 8.701496379e-08f, 8.721021949e-08f, 8.740527837e-08f, 8.760014012e-08f, 8.779480445e-08f, 8.798927107e-08f, 8.818353968e-08f, 8.837760999e-08f,
+8.857148170e-08f, 8.876515452e-08f, 8.895862815e-08f, 8.915190231e-08f, 8.934497671e-08f, 8.953785104e-08f, 8.973052503e-08f, 8.992299837e-08f, 9.011527079e-08f, 9.030734198e-08f,
+9.049921166e-08f, 9.069087954e-08f, 9.088234534e-08f, 9.107360875e-08f, 9.126466951e-08f, 9.145552731e-08f, 9.164618187e-08f, 9.183663291e-08f, 9.202688013e-08f, 9.221692326e-08f,
+9.240676200e-08f, 9.259639608e-08f, 9.278582521e-08f, 9.297504910e-08f, 9.316406747e-08f, 9.335288003e-08f, 9.354148651e-08f, 9.372988663e-08f, 9.391808009e-08f, 9.410606662e-08f,
+9.429384594e-08f, 9.448141777e-08f, 9.466878183e-08f, 9.485593783e-08f, 9.504288550e-08f, 9.522962455e-08f, 9.541615472e-08f, 9.560247572e-08f, 9.578858728e-08f, 9.597448911e-08f,
+9.616018095e-08f, 9.634566250e-08f, 9.653093351e-08f, 9.671599369e-08f, 9.690084277e-08f, 9.708548047e-08f, 9.726990652e-08f, 9.745412064e-08f, 9.763812257e-08f, 9.782191203e-08f,
+9.800548874e-08f, 9.818885244e-08f, 9.837200286e-08f, 9.855493971e-08f, 9.873766274e-08f, 9.892017167e-08f, 9.910246622e-08f, 9.928454615e-08f, 9.946641116e-08f, 9.964806100e-08f,
+9.982949540e-08f, 1.000107141e-07f, 1.001917168e-07f, 1.003725032e-07f, 1.005530732e-07f, 1.007334264e-07f, 1.009135625e-07f, 1.010934813e-07f, 1.012731826e-07f, 1.014526660e-07f,
+1.016319313e-07f, 1.018109783e-07f, 1.019898066e-07f, 1.021684160e-07f, 1.023468063e-07f, 1.025249772e-07f, 1.027029284e-07f, 1.028806597e-07f, 1.030581708e-07f, 1.032354614e-07f,
+1.034125313e-07f, 1.035893802e-07f, 1.037660080e-07f, 1.039424142e-07f, 1.041185987e-07f, 1.042945611e-07f, 1.044703014e-07f, 1.046458191e-07f, 1.048211140e-07f, 1.049961859e-07f,
+1.051710346e-07f, 1.053456597e-07f, 1.055200610e-07f, 1.056942383e-07f, 1.058681913e-07f, 1.060419197e-07f, 1.062154233e-07f, 1.063887019e-07f, 1.065617552e-07f, 1.067345829e-07f,
+1.069071849e-07f, 1.070795607e-07f, 1.072517103e-07f, 1.074236333e-07f, 1.075953296e-07f, 1.077667988e-07f, 1.079380406e-07f, 1.081090550e-07f, 1.082798416e-07f, 1.084504001e-07f,
+1.086207303e-07f, 1.087908321e-07f, 1.089607050e-07f, 1.091303489e-07f, 1.092997636e-07f, 1.094689488e-07f, 1.096379043e-07f, 1.098066297e-07f, 1.099751249e-07f, 1.101433897e-07f,
+1.103114237e-07f, 1.104792268e-07f, 1.106467987e-07f, 1.108141392e-07f, 1.109812480e-07f, 1.111481249e-07f, 1.113147696e-07f, 1.114811820e-07f, 1.116473617e-07f, 1.118133086e-07f,
+1.119790223e-07f, 1.121445028e-07f, 1.123097497e-07f, 1.124747627e-07f, 1.126395418e-07f, 1.128040865e-07f, 1.129683968e-07f, 1.131324723e-07f, 1.132963128e-07f, 1.134599182e-07f,
+1.136232881e-07f, 1.137864223e-07f, 1.139493207e-07f, 1.141119829e-07f, 1.142744087e-07f, 1.144365980e-07f, 1.145985504e-07f, 1.147602658e-07f, 1.149217439e-07f, 1.150829846e-07f,
+1.152439875e-07f, 1.154047524e-07f, 1.155652792e-07f, 1.157255675e-07f, 1.158856172e-07f, 1.160454281e-07f, 1.162049998e-07f, 1.163643323e-07f, 1.165234253e-07f, 1.166822784e-07f,
+1.168408917e-07f, 1.169992647e-07f, 1.171573973e-07f, 1.173152892e-07f, 1.174729403e-07f, 1.176303504e-07f, 1.177875191e-07f, 1.179444463e-07f, 1.181011317e-07f, 1.182575752e-07f,
+1.184137766e-07f, 1.185697355e-07f, 1.187254518e-07f, 1.188809254e-07f, 1.190361558e-07f, 1.191911430e-07f, 1.193458868e-07f, 1.195003868e-07f, 1.196546430e-07f, 1.198086551e-07f,
+1.199624228e-07f, 1.201159460e-07f, 1.202692244e-07f, 1.204222579e-07f, 1.205750462e-07f, 1.207275891e-07f, 1.208798864e-07f, 1.210319379e-07f, 1.211837435e-07f, 1.213353028e-07f,
+1.214866156e-07f, 1.216376818e-07f, 1.217885012e-07f, 1.219390736e-07f, 1.220893986e-07f, 1.222394763e-07f, 1.223893062e-07f, 1.225388883e-07f, 1.226882223e-07f, 1.228373080e-07f,
+1.229861452e-07f, 1.231347338e-07f, 1.232830734e-07f, 1.234311640e-07f, 1.235790052e-07f, 1.237265970e-07f, 1.238739391e-07f, 1.240210313e-07f, 1.241678734e-07f, 1.243144652e-07f,
+1.244608065e-07f, 1.246068971e-07f, 1.247527368e-07f, 1.248983255e-07f, 1.250436628e-07f, 1.251887487e-07f, 1.253335829e-07f, 1.254781653e-07f, 1.256224955e-07f, 1.257665736e-07f,
+1.259103991e-07f, 1.260539721e-07f, 1.261972922e-07f, 1.263403592e-07f, 1.264831731e-07f, 1.266257335e-07f, 1.267680403e-07f, 1.269100934e-07f, 1.270518924e-07f, 1.271934373e-07f,
+1.273347278e-07f, 1.274757638e-07f, 1.276165450e-07f, 1.277570713e-07f, 1.278973425e-07f, 1.280373584e-07f, 1.281771188e-07f, 1.283166235e-07f, 1.284558724e-07f, 1.285948653e-07f,
+1.287336019e-07f, 1.288720821e-07f, 1.290103057e-07f, 1.291482726e-07f, 1.292859825e-07f, 1.294234353e-07f, 1.295606307e-07f, 1.296975687e-07f, 1.298342490e-07f, 1.299706714e-07f,
+1.301068358e-07f, 1.302427420e-07f, 1.303783897e-07f, 1.305137790e-07f, 1.306489094e-07f, 1.307837810e-07f, 1.309183934e-07f, 1.310527466e-07f, 1.311868403e-07f, 1.313206744e-07f,
+1.314542487e-07f, 1.315875631e-07f, 1.317206173e-07f, 1.318534111e-07f, 1.319859445e-07f, 1.321182172e-07f, 1.322502291e-07f, 1.323819800e-07f, 1.325134697e-07f, 1.326446981e-07f,
+1.327756649e-07f, 1.329063701e-07f, 1.330368135e-07f, 1.331669948e-07f, 1.332969139e-07f, 1.334265707e-07f, 1.335559650e-07f, 1.336850965e-07f, 1.338139653e-07f, 1.339425710e-07f,
+1.340709136e-07f, 1.341989928e-07f, 1.343268085e-07f, 1.344543606e-07f, 1.345816488e-07f, 1.347086730e-07f, 1.348354331e-07f, 1.349619289e-07f, 1.350881602e-07f, 1.352141269e-07f,
+1.353398287e-07f, 1.354652657e-07f, 1.355904375e-07f, 1.357153441e-07f, 1.358399852e-07f, 1.359643608e-07f, 1.360884707e-07f, 1.362123146e-07f, 1.363358925e-07f, 1.364592042e-07f,
+1.365822496e-07f, 1.367050284e-07f, 1.368275406e-07f, 1.369497860e-07f, 1.370717644e-07f, 1.371934757e-07f, 1.373149197e-07f, 1.374360964e-07f, 1.375570054e-07f, 1.376776467e-07f,
+1.377980202e-07f, 1.379181257e-07f, 1.380379629e-07f, 1.381575319e-07f, 1.382768324e-07f, 1.383958644e-07f, 1.385146275e-07f, 1.386331218e-07f, 1.387513470e-07f, 1.388693031e-07f,
+1.389869898e-07f, 1.391044070e-07f, 1.392215547e-07f, 1.393384325e-07f, 1.394550405e-07f, 1.395713784e-07f, 1.396874462e-07f, 1.398032436e-07f, 1.399187705e-07f, 1.400340269e-07f,
+1.401490125e-07f, 1.402637272e-07f, 1.403781710e-07f, 1.404923435e-07f, 1.406062448e-07f, 1.407198746e-07f, 1.408332329e-07f, 1.409463195e-07f, 1.410591342e-07f, 1.411716770e-07f,
+1.412839476e-07f, 1.413959460e-07f, 1.415076721e-07f, 1.416191256e-07f, 1.417303066e-07f, 1.418412147e-07f, 1.419518500e-07f, 1.420622122e-07f, 1.421723013e-07f, 1.422821171e-07f,
+1.423916594e-07f, 1.425009282e-07f, 1.426099234e-07f, 1.427186448e-07f, 1.428270922e-07f, 1.429352656e-07f, 1.430431648e-07f, 1.431507897e-07f, 1.432581401e-07f, 1.433652161e-07f,
+1.434720173e-07f, 1.435785438e-07f, 1.436847953e-07f, 1.437907718e-07f, 1.438964731e-07f, 1.440018991e-07f, 1.441070497e-07f, 1.442119248e-07f, 1.443165243e-07f, 1.444208480e-07f,
+1.445248958e-07f, 1.446286676e-07f, 1.447321633e-07f, 1.448353827e-07f, 1.449383258e-07f, 1.450409924e-07f, 1.451433824e-07f, 1.452454957e-07f, 1.453473323e-07f, 1.454488918e-07f,
+1.455501744e-07f, 1.456511798e-07f, 1.457519079e-07f, 1.458523586e-07f, 1.459525319e-07f, 1.460524275e-07f, 1.461520454e-07f, 1.462513855e-07f, 1.463504477e-07f, 1.464492319e-07f,
+1.465477378e-07f, 1.466459656e-07f, 1.467439149e-07f, 1.468415858e-07f, 1.469389781e-07f, 1.470360917e-07f, 1.471329266e-07f, 1.472294825e-07f, 1.473257595e-07f, 1.474217573e-07f,
+1.475174759e-07f, 1.476129153e-07f, 1.477080752e-07f, 1.478029556e-07f, 1.478975564e-07f, 1.479918774e-07f, 1.480859187e-07f, 1.481796800e-07f, 1.482731614e-07f, 1.483663626e-07f,
+1.484592836e-07f, 1.485519243e-07f, 1.486442846e-07f, 1.487363644e-07f, 1.488281636e-07f, 1.489196821e-07f, 1.490109198e-07f, 1.491018766e-07f, 1.491925525e-07f, 1.492829473e-07f,
+1.493730609e-07f, 1.494628933e-07f, 1.495524443e-07f, 1.496417139e-07f, 1.497307019e-07f, 1.498194084e-07f, 1.499078331e-07f, 1.499959760e-07f, 1.500838370e-07f, 1.501714161e-07f,
+1.502587131e-07f, 1.503457279e-07f, 1.504324605e-07f, 1.505189108e-07f, 1.506050786e-07f, 1.506909640e-07f, 1.507765668e-07f, 1.508618869e-07f, 1.509469243e-07f, 1.510316788e-07f,
+1.511161504e-07f, 1.512003391e-07f, 1.512842446e-07f, 1.513678670e-07f, 1.514512061e-07f, 1.515342620e-07f, 1.516170344e-07f, 1.516995233e-07f, 1.517817287e-07f, 1.518636504e-07f,
+1.519452885e-07f, 1.520266427e-07f, 1.521077131e-07f, 1.521884995e-07f, 1.522690019e-07f, 1.523492203e-07f, 1.524291544e-07f, 1.525088043e-07f, 1.525881699e-07f, 1.526672511e-07f,
+1.527460479e-07f, 1.528245601e-07f, 1.529027877e-07f, 1.529807306e-07f, 1.530583888e-07f, 1.531357622e-07f, 1.532128506e-07f, 1.532896542e-07f, 1.533661727e-07f, 1.534424061e-07f,
+1.535183544e-07f, 1.535940174e-07f, 1.536693951e-07f, 1.537444875e-07f, 1.538192945e-07f, 1.538938160e-07f, 1.539680519e-07f, 1.540420023e-07f, 1.541156669e-07f, 1.541890458e-07f,
+1.542621389e-07f, 1.543349462e-07f, 1.544074675e-07f, 1.544797028e-07f, 1.545516521e-07f, 1.546233153e-07f, 1.546946924e-07f, 1.547657832e-07f, 1.548365877e-07f, 1.549071059e-07f,
+1.549773377e-07f, 1.550472830e-07f, 1.551169419e-07f, 1.551863142e-07f, 1.552553998e-07f, 1.553241988e-07f, 1.553927111e-07f, 1.554609366e-07f, 1.555288752e-07f, 1.555965270e-07f,
+1.556638919e-07f, 1.557309697e-07f, 1.557977605e-07f, 1.558642643e-07f, 1.559304809e-07f, 1.559964103e-07f, 1.560620525e-07f, 1.561274074e-07f, 1.561924749e-07f, 1.562572551e-07f,
+1.563217479e-07f, 1.563859532e-07f, 1.564498709e-07f, 1.565135012e-07f, 1.565768438e-07f, 1.566398987e-07f, 1.567026660e-07f, 1.567651455e-07f, 1.568273373e-07f, 1.568892412e-07f,
+1.569508573e-07f, 1.570121854e-07f, 1.570732257e-07f, 1.571339779e-07f, 1.571944421e-07f, 1.572546183e-07f, 1.573145063e-07f, 1.573741062e-07f, 1.574334180e-07f, 1.574924415e-07f,
+1.575511768e-07f, 1.576096237e-07f, 1.576677824e-07f, 1.577256527e-07f, 1.577832347e-07f, 1.578405282e-07f, 1.578975332e-07f, 1.579542498e-07f, 1.580106778e-07f, 1.580668173e-07f,
+1.581226682e-07f, 1.581782305e-07f, 1.582335041e-07f, 1.582884890e-07f, 1.583431853e-07f, 1.583975928e-07f, 1.584517116e-07f, 1.585055416e-07f, 1.585590827e-07f, 1.586123350e-07f,
+1.586652985e-07f, 1.587179730e-07f, 1.587703587e-07f, 1.588224554e-07f, 1.588742631e-07f, 1.589257818e-07f, 1.589770115e-07f, 1.590279522e-07f, 1.590786038e-07f, 1.591289664e-07f,
+1.591790398e-07f, 1.592288241e-07f, 1.592783193e-07f, 1.593275253e-07f, 1.593764422e-07f, 1.594250698e-07f, 1.594734082e-07f, 1.595214574e-07f, 1.595692173e-07f, 1.596166880e-07f,
+1.596638694e-07f, 1.597107615e-07f, 1.597573643e-07f, 1.598036777e-07f, 1.598497018e-07f, 1.598954366e-07f, 1.599408819e-07f, 1.599860379e-07f, 1.600309045e-07f, 1.600754818e-07f,
+1.601197696e-07f, 1.601637679e-07f, 1.602074769e-07f, 1.602508964e-07f, 1.602940264e-07f, 1.603368670e-07f, 1.603794181e-07f, 1.604216797e-07f, 1.604636519e-07f, 1.605053346e-07f,
+1.605467277e-07f, 1.605878314e-07f, 1.606286456e-07f, 1.606691703e-07f, 1.607094054e-07f, 1.607493511e-07f, 1.607890072e-07f, 1.608283738e-07f, 1.608674509e-07f, 1.609062385e-07f,
+1.609447365e-07f, 1.609829451e-07f, 1.610208641e-07f, 1.610584935e-07f, 1.610958335e-07f, 1.611328839e-07f, 1.611696449e-07f, 1.612061163e-07f, 1.612422982e-07f, 1.612781906e-07f,
+1.613137935e-07f, 1.613491069e-07f, 1.613841309e-07f, 1.614188653e-07f, 1.614533103e-07f, 1.614874658e-07f, 1.615213318e-07f, 1.615549084e-07f, 1.615881955e-07f, 1.616211932e-07f,
+1.616539015e-07f, 1.616863203e-07f, 1.617184498e-07f, 1.617502898e-07f, 1.617818405e-07f, 1.618131018e-07f, 1.618440737e-07f, 1.618747563e-07f, 1.619051495e-07f, 1.619352535e-07f,
+1.619650681e-07f, 1.619945934e-07f, 1.620238295e-07f, 1.620527763e-07f, 1.620814339e-07f, 1.621098022e-07f, 1.621378814e-07f, 1.621656713e-07f, 1.621931721e-07f, 1.622203837e-07f,
+1.622473063e-07f, 1.622739396e-07f, 1.623002840e-07f, 1.623263392e-07f, 1.623521054e-07f, 1.623775825e-07f, 1.624027707e-07f, 1.624276699e-07f, 1.624522801e-07f, 1.624766014e-07f,
+1.625006338e-07f, 1.625243773e-07f, 1.625478320e-07f, 1.625709978e-07f, 1.625938748e-07f, 1.626164630e-07f, 1.626387625e-07f, 1.626607733e-07f, 1.626824954e-07f, 1.627039288e-07f,
+1.627250736e-07f, 1.627459298e-07f, 1.627664974e-07f, 1.627867765e-07f, 1.628067671e-07f, 1.628264691e-07f, 1.628458828e-07f, 1.628650080e-07f, 1.628838449e-07f, 1.629023934e-07f,
+1.629206536e-07f, 1.629386255e-07f, 1.629563092e-07f, 1.629737047e-07f, 1.629908120e-07f, 1.630076312e-07f, 1.630241623e-07f, 1.630404054e-07f, 1.630563604e-07f, 1.630720275e-07f,
+1.630874066e-07f, 1.631024978e-07f, 1.631173012e-07f, 1.631318167e-07f, 1.631460445e-07f, 1.631599846e-07f, 1.631736370e-07f, 1.631870017e-07f, 1.632000788e-07f, 1.632128684e-07f,
+1.632253704e-07f, 1.632375850e-07f, 1.632495122e-07f, 1.632611520e-07f, 1.632725045e-07f, 1.632835696e-07f, 1.632943476e-07f, 1.633048384e-07f, 1.633150420e-07f, 1.633249585e-07f,
+1.633345880e-07f, 1.633439305e-07f, 1.633529861e-07f, 1.633617547e-07f, 1.633702366e-07f, 1.633784316e-07f, 1.633863399e-07f, 1.633939616e-07f, 1.634012966e-07f, 1.634083450e-07f,
+1.634151070e-07f, 1.634215824e-07f, 1.634277715e-07f, 1.634336742e-07f, 1.634392906e-07f, 1.634446207e-07f, 1.634496647e-07f, 1.634544226e-07f, 1.634588944e-07f, 1.634630802e-07f,
+1.634669800e-07f, 1.634705939e-07f, 1.634739221e-07f, 1.634769644e-07f, 1.634797211e-07f, 1.634821921e-07f, 1.634843775e-07f, 1.634862774e-07f, 1.634878918e-07f, 1.634892209e-07f,
+1.634902646e-07f, 1.634910231e-07f, 1.634914964e-07f, 1.634916845e-07f, 1.634915876e-07f, 1.634912056e-07f, 1.634905388e-07f, 1.634895870e-07f, 1.634883505e-07f, 1.634868292e-07f,
+1.634850233e-07f, 1.634829328e-07f, 1.634805578e-07f, 1.634778983e-07f, 1.634749544e-07f, 1.634717262e-07f, 1.634682138e-07f, 1.634644172e-07f, 1.634603366e-07f, 1.634559719e-07f,
+1.634513233e-07f, 1.634463908e-07f, 1.634411745e-07f, 1.634356745e-07f, 1.634298908e-07f, 1.634238236e-07f, 1.634174729e-07f, 1.634108387e-07f, 1.634039213e-07f, 1.633967205e-07f,
+1.633892366e-07f, 1.633814696e-07f, 1.633734196e-07f, 1.633650866e-07f, 1.633564708e-07f, 1.633475722e-07f, 1.633383909e-07f, 1.633289269e-07f, 1.633191805e-07f, 1.633091516e-07f,
+1.632988403e-07f, 1.632882467e-07f, 1.632773710e-07f, 1.632662131e-07f, 1.632547732e-07f, 1.632430513e-07f, 1.632310476e-07f, 1.632187621e-07f, 1.632061950e-07f, 1.631933462e-07f,
+1.631802159e-07f, 1.631668043e-07f, 1.631531112e-07f, 1.631391370e-07f, 1.631248816e-07f, 1.631103451e-07f, 1.630955276e-07f, 1.630804293e-07f, 1.630650502e-07f, 1.630493904e-07f,
+1.630334500e-07f, 1.630172291e-07f, 1.630007278e-07f, 1.629839461e-07f, 1.629668842e-07f, 1.629495422e-07f, 1.629319202e-07f, 1.629140182e-07f, 1.628958364e-07f, 1.628773748e-07f,
+1.628586336e-07f, 1.628396129e-07f, 1.628203127e-07f, 1.628007331e-07f, 1.627808743e-07f, 1.627607363e-07f, 1.627403193e-07f, 1.627196233e-07f, 1.626986485e-07f, 1.626773949e-07f,
+1.626558627e-07f, 1.626340519e-07f, 1.626119627e-07f, 1.625895952e-07f, 1.625669494e-07f, 1.625440255e-07f, 1.625208236e-07f, 1.624973438e-07f, 1.624735861e-07f, 1.624495507e-07f,
+1.624252378e-07f, 1.624006473e-07f, 1.623757795e-07f, 1.623506343e-07f, 1.623252121e-07f, 1.622995127e-07f, 1.622735364e-07f, 1.622472833e-07f, 1.622207534e-07f, 1.621939470e-07f,
+1.621668640e-07f, 1.621395046e-07f, 1.621118689e-07f, 1.620839571e-07f, 1.620557692e-07f, 1.620273054e-07f, 1.619985657e-07f, 1.619695504e-07f, 1.619402594e-07f, 1.619106930e-07f,
+1.618808511e-07f, 1.618507341e-07f, 1.618203419e-07f, 1.617896747e-07f, 1.617587325e-07f, 1.617275156e-07f, 1.616960241e-07f, 1.616642580e-07f, 1.616322175e-07f, 1.615999026e-07f,
+1.615673136e-07f, 1.615344506e-07f, 1.615013136e-07f, 1.614679027e-07f, 1.614342182e-07f, 1.614002601e-07f, 1.613660286e-07f, 1.613315237e-07f, 1.612967457e-07f, 1.612616945e-07f,
+1.612263704e-07f, 1.611907735e-07f, 1.611549039e-07f, 1.611187617e-07f, 1.610823470e-07f, 1.610456601e-07f, 1.610087009e-07f, 1.609714697e-07f, 1.609339665e-07f, 1.608961916e-07f,
+1.608581449e-07f, 1.608198267e-07f, 1.607812371e-07f, 1.607423762e-07f, 1.607032442e-07f, 1.606638411e-07f, 1.606241672e-07f, 1.605842225e-07f, 1.605440071e-07f, 1.605035213e-07f,
+1.604627651e-07f, 1.604217387e-07f, 1.603804422e-07f, 1.603388757e-07f, 1.602970395e-07f, 1.602549335e-07f, 1.602125580e-07f, 1.601699131e-07f, 1.601269990e-07f, 1.600838157e-07f,
+1.600403634e-07f, 1.599966422e-07f, 1.599526524e-07f, 1.599083939e-07f, 1.598638671e-07f, 1.598190719e-07f, 1.597740086e-07f, 1.597286772e-07f, 1.596830780e-07f, 1.596372111e-07f,
+1.595910766e-07f, 1.595446746e-07f, 1.594980054e-07f, 1.594510690e-07f, 1.594038655e-07f, 1.593563953e-07f, 1.593086582e-07f, 1.592606547e-07f, 1.592123847e-07f, 1.591638484e-07f,
+1.591150459e-07f, 1.590659775e-07f, 1.590166433e-07f, 1.589670434e-07f, 1.589171779e-07f, 1.588670470e-07f, 1.588166509e-07f, 1.587659897e-07f, 1.587150635e-07f, 1.586638726e-07f,
+1.586124170e-07f, 1.585606970e-07f, 1.585087126e-07f, 1.584564640e-07f, 1.584039514e-07f, 1.583511749e-07f, 1.582981347e-07f, 1.582448309e-07f, 1.581912637e-07f, 1.581374333e-07f,
+1.580833397e-07f, 1.580289832e-07f, 1.579743640e-07f, 1.579194821e-07f, 1.578643377e-07f, 1.578089310e-07f, 1.577532621e-07f, 1.576973312e-07f, 1.576411385e-07f, 1.575846842e-07f,
+1.575279683e-07f, 1.574709910e-07f, 1.574137525e-07f, 1.573562530e-07f, 1.572984926e-07f, 1.572404715e-07f, 1.571821899e-07f, 1.571236478e-07f, 1.570648456e-07f, 1.570057832e-07f,
+1.569464610e-07f, 1.568868790e-07f, 1.568270375e-07f, 1.567669366e-07f, 1.567065764e-07f, 1.566459571e-07f, 1.565850790e-07f, 1.565239421e-07f, 1.564625466e-07f, 1.564008927e-07f,
+1.563389806e-07f, 1.562768105e-07f, 1.562143824e-07f, 1.561516966e-07f, 1.560887532e-07f, 1.560255525e-07f, 1.559620945e-07f, 1.558983795e-07f, 1.558344076e-07f, 1.557701791e-07f,
+1.557056939e-07f, 1.556409525e-07f, 1.555759548e-07f, 1.555107012e-07f, 1.554451917e-07f, 1.553794265e-07f, 1.553134058e-07f, 1.552471299e-07f, 1.551805988e-07f, 1.551138127e-07f,
+1.550467719e-07f, 1.549794764e-07f, 1.549119265e-07f, 1.548441224e-07f, 1.547760642e-07f, 1.547077521e-07f, 1.546391863e-07f, 1.545703669e-07f, 1.545012942e-07f, 1.544319683e-07f,
+1.543623894e-07f, 1.542925577e-07f, 1.542224734e-07f, 1.541521366e-07f, 1.540815476e-07f, 1.540107064e-07f, 1.539396134e-07f, 1.538682686e-07f, 1.537966723e-07f, 1.537248246e-07f,
+1.536527258e-07f, 1.535803759e-07f, 1.535077753e-07f, 1.534349241e-07f, 1.533618224e-07f, 1.532884705e-07f, 1.532148685e-07f, 1.531410167e-07f, 1.530669152e-07f, 1.529925642e-07f,
+1.529179639e-07f, 1.528431145e-07f, 1.527680161e-07f, 1.526926690e-07f, 1.526170734e-07f, 1.525412294e-07f, 1.524651373e-07f, 1.523887972e-07f, 1.523122093e-07f, 1.522353738e-07f,
+1.521582909e-07f, 1.520809608e-07f, 1.520033837e-07f, 1.519255598e-07f, 1.518474892e-07f, 1.517691723e-07f, 1.516906090e-07f, 1.516117998e-07f, 1.515327447e-07f, 1.514534440e-07f,
+1.513738978e-07f, 1.512941063e-07f, 1.512140698e-07f, 1.511337884e-07f, 1.510532624e-07f, 1.509724919e-07f, 1.508914771e-07f, 1.508102183e-07f, 1.507287156e-07f, 1.506469692e-07f,
+1.505649794e-07f, 1.504827463e-07f, 1.504002701e-07f, 1.503175510e-07f, 1.502345893e-07f, 1.501513852e-07f, 1.500679387e-07f, 1.499842502e-07f, 1.499003199e-07f, 1.498161479e-07f,
+1.497317344e-07f, 1.496470798e-07f, 1.495621840e-07f, 1.494770475e-07f, 1.493916703e-07f, 1.493060527e-07f, 1.492201948e-07f, 1.491340970e-07f, 1.490477593e-07f, 1.489611821e-07f,
+1.488743655e-07f, 1.487873097e-07f, 1.487000149e-07f, 1.486124813e-07f, 1.485247092e-07f, 1.484366988e-07f, 1.483484502e-07f, 1.482599637e-07f, 1.481712395e-07f, 1.480822777e-07f,
+1.479930787e-07f, 1.479036426e-07f, 1.478139697e-07f, 1.477240600e-07f, 1.476339140e-07f, 1.475435317e-07f, 1.474529133e-07f, 1.473620592e-07f, 1.472709695e-07f, 1.471796444e-07f,
+1.470880842e-07f, 1.469962890e-07f, 1.469042591e-07f, 1.468119946e-07f, 1.467194959e-07f, 1.466267631e-07f, 1.465337964e-07f, 1.464405961e-07f, 1.463471623e-07f, 1.462534954e-07f,
+1.461595954e-07f, 1.460654627e-07f, 1.459710974e-07f, 1.458764998e-07f, 1.457816701e-07f, 1.456866085e-07f, 1.455913152e-07f, 1.454957905e-07f, 1.454000345e-07f, 1.453040475e-07f,
+1.452078298e-07f, 1.451113815e-07f, 1.450147028e-07f, 1.449177940e-07f, 1.448206553e-07f, 1.447232870e-07f, 1.446256892e-07f, 1.445278622e-07f, 1.444298061e-07f, 1.443315214e-07f,
+1.442330080e-07f, 1.441342664e-07f, 1.440352966e-07f, 1.439360990e-07f, 1.438366737e-07f, 1.437370211e-07f, 1.436371412e-07f, 1.435370344e-07f, 1.434367009e-07f, 1.433361408e-07f,
+1.432353545e-07f, 1.431343421e-07f, 1.430331040e-07f, 1.429316402e-07f, 1.428299511e-07f, 1.427280369e-07f, 1.426258978e-07f, 1.425235340e-07f, 1.424209458e-07f, 1.423181334e-07f,
+1.422150970e-07f, 1.421118369e-07f, 1.420083533e-07f, 1.419046465e-07f, 1.418007166e-07f, 1.416965639e-07f, 1.415921887e-07f, 1.414875911e-07f, 1.413827715e-07f, 1.412777299e-07f,
+1.411724668e-07f, 1.410669823e-07f, 1.409612766e-07f, 1.408553501e-07f, 1.407492028e-07f, 1.406428351e-07f, 1.405362473e-07f, 1.404294394e-07f, 1.403224119e-07f, 1.402151648e-07f,
+1.401076985e-07f, 1.400000132e-07f, 1.398921092e-07f, 1.397839866e-07f, 1.396756457e-07f, 1.395670868e-07f, 1.394583101e-07f, 1.393493158e-07f, 1.392401043e-07f, 1.391306756e-07f,
+1.390210301e-07f, 1.389111680e-07f, 1.388010896e-07f, 1.386907950e-07f, 1.385802846e-07f, 1.384695586e-07f, 1.383586172e-07f, 1.382474606e-07f, 1.381360892e-07f, 1.380245032e-07f,
+1.379127027e-07f, 1.378006881e-07f, 1.376884597e-07f, 1.375760175e-07f, 1.374633620e-07f, 1.373504932e-07f, 1.372374116e-07f, 1.371241173e-07f, 1.370106106e-07f, 1.368968917e-07f,
+1.367829609e-07f, 1.366688185e-07f, 1.365544646e-07f, 1.364398995e-07f, 1.363251235e-07f, 1.362101369e-07f, 1.360949398e-07f, 1.359795326e-07f, 1.358639154e-07f, 1.357480886e-07f,
+1.356320523e-07f, 1.355158069e-07f, 1.353993526e-07f, 1.352826896e-07f, 1.351658182e-07f, 1.350487387e-07f, 1.349314512e-07f, 1.348139562e-07f, 1.346962537e-07f, 1.345783441e-07f,
+1.344602276e-07f, 1.343419045e-07f, 1.342233750e-07f, 1.341046395e-07f, 1.339856980e-07f, 1.338665510e-07f, 1.337471986e-07f, 1.336276411e-07f, 1.335078788e-07f, 1.333879119e-07f,
+1.332677407e-07f, 1.331473655e-07f, 1.330267864e-07f, 1.329060038e-07f, 1.327850180e-07f, 1.326638291e-07f, 1.325424375e-07f, 1.324208433e-07f, 1.322990469e-07f, 1.321770486e-07f,
+1.320548485e-07f, 1.319324469e-07f, 1.318098442e-07f, 1.316870405e-07f, 1.315640362e-07f, 1.314408314e-07f, 1.313174265e-07f, 1.311938217e-07f, 1.310700173e-07f, 1.309460136e-07f,
+1.308218107e-07f, 1.306974090e-07f, 1.305728088e-07f, 1.304480102e-07f, 1.303230136e-07f, 1.301978193e-07f, 1.300724274e-07f, 1.299468383e-07f, 1.298210522e-07f, 1.296950694e-07f,
+1.295688902e-07f, 1.294425148e-07f, 1.293159435e-07f, 1.291891765e-07f, 1.290622142e-07f, 1.289350568e-07f, 1.288077045e-07f, 1.286801577e-07f, 1.285524166e-07f, 1.284244815e-07f,
+1.282963526e-07f, 1.281680302e-07f, 1.280395145e-07f, 1.279108060e-07f, 1.277819047e-07f, 1.276528111e-07f, 1.275235253e-07f, 1.273940477e-07f, 1.272643784e-07f, 1.271345178e-07f,
+1.270044662e-07f, 1.268742238e-07f, 1.267437909e-07f, 1.266131678e-07f, 1.264823547e-07f, 1.263513519e-07f, 1.262201598e-07f, 1.260887784e-07f, 1.259572083e-07f, 1.258254495e-07f,
+1.256935024e-07f, 1.255613673e-07f, 1.254290444e-07f, 1.252965340e-07f, 1.251638364e-07f, 1.250309519e-07f, 1.248978808e-07f, 1.247646232e-07f, 1.246311795e-07f, 1.244975500e-07f,
+1.243637350e-07f, 1.242297347e-07f, 1.240955494e-07f, 1.239611794e-07f, 1.238266249e-07f, 1.236918863e-07f, 1.235569638e-07f, 1.234218577e-07f, 1.232865683e-07f, 1.231510958e-07f,
+1.230154406e-07f, 1.228796029e-07f, 1.227435830e-07f, 1.226073811e-07f, 1.224709977e-07f, 1.223344329e-07f, 1.221976870e-07f, 1.220607603e-07f, 1.219236531e-07f, 1.217863656e-07f,
+1.216488983e-07f, 1.215112512e-07f, 1.213734248e-07f, 1.212354193e-07f, 1.210972350e-07f, 1.209588721e-07f, 1.208203310e-07f, 1.206816119e-07f, 1.205427152e-07f, 1.204036410e-07f,
+1.202643898e-07f, 1.201249617e-07f, 1.199853571e-07f, 1.198455763e-07f, 1.197056194e-07f, 1.195654869e-07f, 1.194251791e-07f, 1.192846961e-07f, 1.191440382e-07f, 1.190032059e-07f,
+1.188621993e-07f, 1.187210188e-07f, 1.185796646e-07f, 1.184381370e-07f, 1.182964363e-07f, 1.181545628e-07f, 1.180125168e-07f, 1.178702986e-07f, 1.177279084e-07f, 1.175853466e-07f,
+1.174426134e-07f, 1.172997092e-07f, 1.171566342e-07f, 1.170133887e-07f, 1.168699730e-07f, 1.167263875e-07f, 1.165826323e-07f, 1.164387077e-07f, 1.162946142e-07f, 1.161503519e-07f,
+1.160059212e-07f, 1.158613223e-07f, 1.157165555e-07f, 1.155716212e-07f, 1.154265196e-07f, 1.152812511e-07f, 1.151358158e-07f, 1.149902142e-07f, 1.148444464e-07f, 1.146985129e-07f,
+1.145524138e-07f, 1.144061495e-07f, 1.142597203e-07f, 1.141131265e-07f, 1.139663683e-07f, 1.138194461e-07f, 1.136723602e-07f, 1.135251108e-07f, 1.133776982e-07f, 1.132301228e-07f,
+1.130823849e-07f, 1.129344847e-07f, 1.127864225e-07f, 1.126381987e-07f, 1.124898135e-07f, 1.123412672e-07f, 1.121925602e-07f, 1.120436927e-07f, 1.118946650e-07f, 1.117454774e-07f,
+1.115961302e-07f, 1.114466238e-07f, 1.112969584e-07f, 1.111471343e-07f, 1.109971518e-07f, 1.108470113e-07f, 1.106967129e-07f, 1.105462571e-07f, 1.103956441e-07f, 1.102448742e-07f,
+1.100939477e-07f, 1.099428650e-07f, 1.097916262e-07f, 1.096402318e-07f, 1.094886821e-07f, 1.093369772e-07f, 1.091851176e-07f, 1.090331035e-07f, 1.088809352e-07f, 1.087286131e-07f,
+1.085761374e-07f, 1.084235084e-07f, 1.082707265e-07f, 1.081177919e-07f, 1.079647050e-07f, 1.078114661e-07f, 1.076580754e-07f, 1.075045332e-07f, 1.073508399e-07f, 1.071969958e-07f,
+1.070430012e-07f, 1.068888564e-07f, 1.067345616e-07f, 1.065801172e-07f, 1.064255236e-07f, 1.062707809e-07f, 1.061158895e-07f, 1.059608498e-07f, 1.058056619e-07f, 1.056503263e-07f,
+1.054948433e-07f, 1.053392130e-07f, 1.051834359e-07f, 1.050275123e-07f, 1.048714424e-07f, 1.047152266e-07f, 1.045588652e-07f, 1.044023585e-07f, 1.042457067e-07f, 1.040889103e-07f,
+1.039319695e-07f, 1.037748845e-07f, 1.036176558e-07f, 1.034602837e-07f, 1.033027684e-07f, 1.031451102e-07f, 1.029873095e-07f, 1.028293666e-07f, 1.026712818e-07f, 1.025130553e-07f,
+1.023546876e-07f, 1.021961788e-07f, 1.020375294e-07f, 1.018787397e-07f, 1.017198099e-07f, 1.015607403e-07f, 1.014015313e-07f, 1.012421832e-07f, 1.010826962e-07f, 1.009230708e-07f,
+1.007633072e-07f, 1.006034057e-07f, 1.004433667e-07f, 1.002831904e-07f, 1.001228772e-07f, 9.996242732e-08f, 9.980184116e-08f, 9.964111901e-08f, 9.948026117e-08f, 9.931926796e-08f,
+9.915813969e-08f, 9.899687668e-08f, 9.883547925e-08f, 9.867394769e-08f, 9.851228234e-08f, 9.835048350e-08f, 9.818855149e-08f, 9.802648662e-08f, 9.786428921e-08f, 9.770195958e-08f,
+9.753949803e-08f, 9.737690488e-08f, 9.721418046e-08f, 9.705132507e-08f, 9.688833903e-08f, 9.672522265e-08f, 9.656197626e-08f, 9.639860017e-08f, 9.623509469e-08f, 9.607146015e-08f,
+9.590769685e-08f, 9.574380512e-08f, 9.557978527e-08f, 9.541563763e-08f, 9.525136250e-08f, 9.508696020e-08f, 9.492243106e-08f, 9.475777538e-08f, 9.459299350e-08f, 9.442808572e-08f,
+9.426305236e-08f, 9.409789375e-08f, 9.393261020e-08f, 9.376720203e-08f, 9.360166956e-08f, 9.343601310e-08f, 9.327023299e-08f, 9.310432952e-08f, 9.293830304e-08f, 9.277215385e-08f,
+9.260588227e-08f, 9.243948863e-08f, 9.227297324e-08f, 9.210633642e-08f, 9.193957850e-08f, 9.177269980e-08f, 9.160570063e-08f, 9.143858131e-08f, 9.127134218e-08f, 9.110398354e-08f,
+9.093650571e-08f, 9.076890903e-08f, 9.060119381e-08f, 9.043336037e-08f, 9.026540904e-08f, 9.009734013e-08f, 8.992915397e-08f, 8.976085088e-08f, 8.959243118e-08f, 8.942389519e-08f,
+8.925524324e-08f, 8.908647565e-08f, 8.891759273e-08f, 8.874859482e-08f, 8.857948224e-08f, 8.841025531e-08f, 8.824091435e-08f, 8.807145969e-08f, 8.790189164e-08f, 8.773221054e-08f,
+8.756241670e-08f, 8.739251045e-08f, 8.722249212e-08f, 8.705236202e-08f, 8.688212049e-08f, 8.671176784e-08f, 8.654130440e-08f, 8.637073050e-08f, 8.620004645e-08f, 8.602925259e-08f,
+8.585834923e-08f, 8.568733671e-08f, 8.551621535e-08f, 8.534498547e-08f, 8.517364740e-08f, 8.500220146e-08f, 8.483064798e-08f, 8.465898729e-08f, 8.448721970e-08f, 8.431534555e-08f,
+8.414336517e-08f, 8.397127887e-08f, 8.379908699e-08f, 8.362678985e-08f, 8.345438777e-08f, 8.328188109e-08f, 8.310927012e-08f, 8.293655520e-08f, 8.276373666e-08f, 8.259081481e-08f,
+8.241779000e-08f, 8.224466253e-08f, 8.207143275e-08f, 8.189810097e-08f, 8.172466753e-08f, 8.155113275e-08f, 8.137749697e-08f, 8.120376050e-08f, 8.102992368e-08f, 8.085598683e-08f,
+8.068195028e-08f, 8.050781436e-08f, 8.033357940e-08f, 8.015924573e-08f, 7.998481367e-08f, 7.981028356e-08f, 7.963565571e-08f, 7.946093047e-08f, 7.928610815e-08f, 7.911118910e-08f,
+7.893617363e-08f, 7.876106207e-08f, 7.858585476e-08f, 7.841055202e-08f, 7.823515419e-08f, 7.805966159e-08f, 7.788407455e-08f, 7.770839340e-08f, 7.753261847e-08f, 7.735675009e-08f,
+7.718078860e-08f, 7.700473431e-08f, 7.682858756e-08f, 7.665234869e-08f, 7.647601801e-08f, 7.629959587e-08f, 7.612308258e-08f, 7.594647849e-08f, 7.576978392e-08f, 7.559299920e-08f,
+7.541612466e-08f, 7.523916064e-08f, 7.506210746e-08f, 7.488496546e-08f, 7.470773496e-08f, 7.453041631e-08f, 7.435300981e-08f, 7.417551582e-08f, 7.399793466e-08f, 7.382026666e-08f,
+7.364251215e-08f, 7.346467147e-08f, 7.328674495e-08f, 7.310873291e-08f, 7.293063569e-08f, 7.275245362e-08f, 7.257418704e-08f, 7.239583627e-08f, 7.221740165e-08f, 7.203888350e-08f,
+7.186028217e-08f, 7.168159798e-08f, 7.150283127e-08f, 7.132398236e-08f, 7.114505160e-08f, 7.096603930e-08f, 7.078694581e-08f, 7.060777146e-08f, 7.042851658e-08f, 7.024918150e-08f,
+7.006976655e-08f, 6.989027208e-08f, 6.971069840e-08f, 6.953104586e-08f, 6.935131479e-08f, 6.917150552e-08f, 6.899161837e-08f, 6.881165370e-08f, 6.863161182e-08f, 6.845149308e-08f,
+6.827129781e-08f, 6.809102633e-08f, 6.791067898e-08f, 6.773025611e-08f, 6.754975803e-08f, 6.736918508e-08f, 6.718853760e-08f, 6.700781593e-08f, 6.682702038e-08f, 6.664615131e-08f,
+6.646520904e-08f, 6.628419390e-08f, 6.610310623e-08f, 6.592194637e-08f, 6.574071464e-08f, 6.555941139e-08f, 6.537803694e-08f, 6.519659164e-08f, 6.501507581e-08f, 6.483348978e-08f,
+6.465183390e-08f, 6.447010850e-08f, 6.428831391e-08f, 6.410645046e-08f, 6.392451850e-08f, 6.374251835e-08f, 6.356045035e-08f, 6.337831484e-08f, 6.319611215e-08f, 6.301384260e-08f,
+6.283150655e-08f, 6.264910432e-08f, 6.246663625e-08f, 6.228410267e-08f, 6.210150392e-08f, 6.191884033e-08f, 6.173611224e-08f, 6.155331998e-08f, 6.137046389e-08f, 6.118754431e-08f,
+6.100456156e-08f, 6.082151598e-08f, 6.063840791e-08f, 6.045523768e-08f, 6.027200563e-08f, 6.008871210e-08f, 5.990535741e-08f, 5.972194191e-08f, 5.953846593e-08f, 5.935492980e-08f,
+5.917133386e-08f, 5.898767844e-08f, 5.880396389e-08f, 5.862019053e-08f, 5.843635871e-08f, 5.825246875e-08f, 5.806852099e-08f, 5.788451577e-08f, 5.770045343e-08f, 5.751633429e-08f,
+5.733215870e-08f, 5.714792699e-08f, 5.696363950e-08f, 5.677929655e-08f, 5.659489850e-08f, 5.641044567e-08f, 5.622593839e-08f, 5.604137701e-08f, 5.585676186e-08f, 5.567209328e-08f,
+5.548737159e-08f, 5.530259715e-08f, 5.511777027e-08f, 5.493289131e-08f, 5.474796059e-08f, 5.456297845e-08f, 5.437794522e-08f, 5.419286125e-08f, 5.400772687e-08f, 5.382254241e-08f,
+5.363730821e-08f, 5.345202460e-08f, 5.326669193e-08f, 5.308131052e-08f, 5.289588072e-08f, 5.271040285e-08f, 5.252487726e-08f, 5.233930428e-08f, 5.215368425e-08f, 5.196801750e-08f,
+5.178230437e-08f, 5.159654519e-08f, 5.141074030e-08f, 5.122489004e-08f, 5.103899474e-08f, 5.085305474e-08f, 5.066707037e-08f, 5.048104198e-08f, 5.029496988e-08f, 5.010885443e-08f,
+4.992269596e-08f, 4.973649480e-08f, 4.955025129e-08f, 4.936396576e-08f, 4.917763856e-08f, 4.899127001e-08f, 4.880486045e-08f, 4.861841023e-08f, 4.843191966e-08f, 4.824538910e-08f,
+4.805881887e-08f, 4.787220932e-08f, 4.768556077e-08f, 4.749887357e-08f, 4.731214804e-08f, 4.712538454e-08f, 4.693858338e-08f, 4.675174490e-08f, 4.656486945e-08f, 4.637795736e-08f,
+4.619100896e-08f, 4.600402459e-08f, 4.581700459e-08f, 4.562994929e-08f, 4.544285902e-08f, 4.525573412e-08f, 4.506857493e-08f, 4.488138179e-08f, 4.469415502e-08f, 4.450689497e-08f,
+4.431960197e-08f, 4.413227635e-08f, 4.394491845e-08f, 4.375752861e-08f, 4.357010716e-08f, 4.338265444e-08f, 4.319517078e-08f, 4.300765651e-08f, 4.282011198e-08f, 4.263253752e-08f,
+4.244493346e-08f, 4.225730014e-08f, 4.206963789e-08f, 4.188194705e-08f, 4.169422796e-08f, 4.150648095e-08f, 4.131870635e-08f, 4.113090450e-08f, 4.094307573e-08f, 4.075522038e-08f,
+4.056733879e-08f, 4.037943129e-08f, 4.019149821e-08f, 4.000353989e-08f, 3.981555667e-08f, 3.962754887e-08f, 3.943951684e-08f, 3.925146090e-08f, 3.906338140e-08f, 3.887527866e-08f,
+3.868715303e-08f, 3.849900484e-08f, 3.831083441e-08f, 3.812264209e-08f, 3.793442821e-08f, 3.774619311e-08f, 3.755793711e-08f, 3.736966056e-08f, 3.718136379e-08f, 3.699304712e-08f,
+3.680471091e-08f, 3.661635547e-08f, 3.642798115e-08f, 3.623958827e-08f, 3.605117718e-08f, 3.586274820e-08f, 3.567430167e-08f, 3.548583793e-08f, 3.529735731e-08f, 3.510886013e-08f,
+3.492034674e-08f, 3.473181747e-08f, 3.454327266e-08f, 3.435471262e-08f, 3.416613771e-08f, 3.397754825e-08f, 3.378894458e-08f, 3.360032702e-08f, 3.341169592e-08f, 3.322305161e-08f,
+3.303439441e-08f, 3.284572467e-08f, 3.265704271e-08f, 3.246834887e-08f, 3.227964348e-08f, 3.209092688e-08f, 3.190219939e-08f, 3.171346136e-08f, 3.152471310e-08f, 3.133595496e-08f,
+3.114718727e-08f, 3.095841036e-08f, 3.076962456e-08f, 3.058083020e-08f, 3.039202763e-08f, 3.020321716e-08f, 3.001439914e-08f, 2.982557389e-08f, 2.963674174e-08f, 2.944790303e-08f,
+2.925905810e-08f, 2.907020726e-08f, 2.888135086e-08f, 2.869248923e-08f, 2.850362269e-08f, 2.831475158e-08f, 2.812587623e-08f, 2.793699697e-08f, 2.774811413e-08f, 2.755922805e-08f,
+2.737033905e-08f, 2.718144747e-08f, 2.699255364e-08f, 2.680365789e-08f, 2.661476054e-08f, 2.642586194e-08f, 2.623696241e-08f, 2.604806228e-08f, 2.585916188e-08f, 2.567026155e-08f,
+2.548136160e-08f, 2.529246239e-08f, 2.510356422e-08f, 2.491466745e-08f, 2.472577238e-08f, 2.453687936e-08f, 2.434798872e-08f, 2.415910078e-08f, 2.397021587e-08f, 2.378133433e-08f,
+2.359245648e-08f, 2.340358265e-08f, 2.321471318e-08f, 2.302584839e-08f, 2.283698861e-08f, 2.264813417e-08f, 2.245928540e-08f, 2.227044263e-08f, 2.208160619e-08f, 2.189277640e-08f,
+2.170395360e-08f, 2.151513811e-08f, 2.132633027e-08f, 2.113753040e-08f, 2.094873882e-08f, 2.075995588e-08f, 2.057118189e-08f, 2.038241718e-08f, 2.019366209e-08f, 2.000491693e-08f,
+1.981618204e-08f, 1.962745775e-08f, 1.943874439e-08f, 1.925004227e-08f, 1.906135173e-08f, 1.887267310e-08f, 1.868400670e-08f, 1.849535286e-08f, 1.830671191e-08f, 1.811808417e-08f,
+1.792946997e-08f, 1.774086964e-08f, 1.755228351e-08f, 1.736371189e-08f, 1.717515512e-08f, 1.698661353e-08f, 1.679808743e-08f, 1.660957717e-08f, 1.642108305e-08f, 1.623260541e-08f,
+1.604414458e-08f, 1.585570087e-08f, 1.566727462e-08f, 1.547886615e-08f, 1.529047579e-08f, 1.510210385e-08f, 1.491375068e-08f, 1.472541658e-08f, 1.453710189e-08f, 1.434880693e-08f,
+1.416053203e-08f, 1.397227751e-08f, 1.378404369e-08f, 1.359583090e-08f, 1.340763947e-08f, 1.321946971e-08f, 1.303132196e-08f, 1.284319653e-08f, 1.265509375e-08f, 1.246701394e-08f,
+1.227895743e-08f, 1.209092454e-08f, 1.190291559e-08f, 1.171493091e-08f, 1.152697082e-08f, 1.133903565e-08f, 1.115112571e-08f, 1.096324132e-08f, 1.077538282e-08f, 1.058755052e-08f,
+1.039974475e-08f, 1.021196582e-08f, 1.002421406e-08f, 9.836489800e-09f, 9.648793350e-09f, 9.461125036e-09f, 9.273485179e-09f, 9.085874101e-09f, 8.898292123e-09f, 8.710739566e-09f,
+8.523216751e-09f, 8.335724000e-09f, 8.148261634e-09f, 7.960829972e-09f, 7.773429336e-09f, 7.586060045e-09f, 7.398722421e-09f, 7.211416784e-09f, 7.024143453e-09f, 6.836902748e-09f,
+6.649694990e-09f, 6.462520498e-09f, 6.275379591e-09f, 6.088272589e-09f, 5.901199811e-09f, 5.714161576e-09f, 5.527158204e-09f, 5.340190012e-09f, 5.153257320e-09f, 4.966360446e-09f,
+4.779499709e-09f, 4.592675427e-09f, 4.405887918e-09f, 4.219137501e-09f, 4.032424492e-09f, 3.845749210e-09f, 3.659111972e-09f, 3.472513096e-09f, 3.285952899e-09f, 3.099431698e-09f,
+2.912949810e-09f, 2.726507552e-09f, 2.540105242e-09f, 2.353743194e-09f, 2.167421726e-09f, 1.981141154e-09f, 1.794901795e-09f, 1.608703963e-09f, 1.422547976e-09f, 1.236434148e-09f,
+1.050362795e-09f, 8.643342328e-10f, 6.783487766e-10f, 4.924067412e-10f, 3.065084417e-10f, 1.206541928e-10f, -6.515569085e-11f, -2.509208947e-10f, -4.366411046e-10f, -6.223160062e-10f,
+-8.079452856e-10f, -9.935286289e-10f, -1.179065722e-09f, -1.364556252e-09f, -1.549999906e-09f, -1.735396369e-09f, -1.920745330e-09f, -2.106046474e-09f, -2.291299490e-09f, -2.476504064e-09f,
+-2.661659884e-09f, -2.846766639e-09f, -3.031824015e-09f, -3.216831701e-09f, -3.401789385e-09f, -3.586696756e-09f, -3.771553501e-09f, -3.956359311e-09f, -4.141113872e-09f, -4.325816876e-09f,
+-4.510468010e-09f, -4.695066963e-09f, -4.879613427e-09f, -5.064107090e-09f, -5.248547642e-09f, -5.432934773e-09f, -5.617268173e-09f, -5.801547533e-09f, -5.985772543e-09f, -6.169942894e-09f,
+-6.354058276e-09f, -6.538118382e-09f, -6.722122901e-09f, -6.906071525e-09f, -7.089963947e-09f, -7.273799857e-09f, -7.457578947e-09f, -7.641300910e-09f, -7.824965438e-09f, -8.008572223e-09f,
+-8.192120957e-09f, -8.375611334e-09f, -8.559043047e-09f, -8.742415788e-09f, -8.925729251e-09f, -9.108983129e-09f, -9.292177116e-09f, -9.475310906e-09f, -9.658384193e-09f, -9.841396670e-09f,
+-1.002434803e-08f, -1.020723798e-08f, -1.039006619e-08f, -1.057283238e-08f, -1.075553623e-08f, -1.093817744e-08f, -1.112075571e-08f, -1.130327073e-08f, -1.148572219e-08f, -1.166810980e-08f,
+-1.185043324e-08f, -1.203269222e-08f, -1.221488644e-08f, -1.239701558e-08f, -1.257907935e-08f, -1.276107743e-08f, -1.294300954e-08f, -1.312487537e-08f, -1.330667461e-08f, -1.348840697e-08f,
+-1.367007213e-08f, -1.385166981e-08f, -1.403319969e-08f, -1.421466148e-08f, -1.439605488e-08f, -1.457737958e-08f, -1.475863528e-08f, -1.493982168e-08f, -1.512093849e-08f, -1.530198540e-08f,
+-1.548296211e-08f, -1.566386832e-08f, -1.584470374e-08f, -1.602546806e-08f, -1.620616098e-08f, -1.638678221e-08f, -1.656733145e-08f, -1.674780839e-08f, -1.692821274e-08f, -1.710854421e-08f,
+-1.728880248e-08f, -1.746898727e-08f, -1.764909828e-08f, -1.782913521e-08f, -1.800909776e-08f, -1.818898563e-08f, -1.836879854e-08f, -1.854853617e-08f, -1.872819825e-08f, -1.890778446e-08f,
+-1.908729451e-08f, -1.926672811e-08f, -1.944608497e-08f, -1.962536478e-08f, -1.980456725e-08f, -1.998369209e-08f, -2.016273900e-08f, -2.034170769e-08f, -2.052059786e-08f, -2.069940922e-08f,
+-2.087814147e-08f, -2.105679432e-08f, -2.123536748e-08f, -2.141386066e-08f, -2.159227355e-08f, -2.177060587e-08f, -2.194885733e-08f, -2.212702763e-08f, -2.230511648e-08f, -2.248312359e-08f,
+-2.266104867e-08f, -2.283889142e-08f, -2.301665155e-08f, -2.319432878e-08f, -2.337192280e-08f, -2.354943334e-08f, -2.372686010e-08f, -2.390420278e-08f, -2.408146111e-08f, -2.425863478e-08f,
+-2.443572352e-08f, -2.461272702e-08f, -2.478964501e-08f, -2.496647719e-08f, -2.514322327e-08f, -2.531988297e-08f, -2.549645599e-08f, -2.567294205e-08f, -2.584934086e-08f, -2.602565213e-08f,
+-2.620187558e-08f, -2.637801092e-08f, -2.655405785e-08f, -2.673001610e-08f, -2.690588538e-08f, -2.708166540e-08f, -2.725735587e-08f, -2.743295651e-08f, -2.760846704e-08f, -2.778388716e-08f,
+-2.795921660e-08f, -2.813445506e-08f, -2.830960226e-08f, -2.848465793e-08f, -2.865962176e-08f, -2.883449349e-08f, -2.900927282e-08f, -2.918395948e-08f, -2.935855317e-08f, -2.953305362e-08f,
+-2.970746054e-08f, -2.988177365e-08f, -3.005599267e-08f, -3.023011732e-08f, -3.040414730e-08f, -3.057808235e-08f, -3.075192218e-08f, -3.092566651e-08f, -3.109931506e-08f, -3.127286754e-08f,
+-3.144632368e-08f, -3.161968319e-08f, -3.179294580e-08f, -3.196611123e-08f, -3.213917919e-08f, -3.231214941e-08f, -3.248502160e-08f, -3.265779550e-08f, -3.283047081e-08f, -3.300304726e-08f,
+-3.317552458e-08f, -3.334790249e-08f, -3.352018070e-08f, -3.369235894e-08f, -3.386443693e-08f, -3.403641440e-08f, -3.420829107e-08f, -3.438006666e-08f, -3.455174090e-08f, -3.472331351e-08f,
+-3.489478421e-08f, -3.506615273e-08f, -3.523741879e-08f, -3.540858213e-08f, -3.557964245e-08f, -3.575059950e-08f, -3.592145299e-08f, -3.609220265e-08f, -3.626284820e-08f, -3.643338939e-08f,
+-3.660382592e-08f, -3.677415752e-08f, -3.694438393e-08f, -3.711450488e-08f, -3.728452008e-08f, -3.745442927e-08f, -3.762423217e-08f, -3.779392852e-08f, -3.796351804e-08f, -3.813300046e-08f,
+-3.830237552e-08f, -3.847164293e-08f, -3.864080243e-08f, -3.880985375e-08f, -3.897879662e-08f, -3.914763078e-08f, -3.931635594e-08f, -3.948497184e-08f, -3.965347822e-08f, -3.982187480e-08f,
+-3.999016132e-08f, -4.015833751e-08f, -4.032640310e-08f, -4.049435782e-08f, -4.066220141e-08f, -4.082993359e-08f, -4.099755411e-08f, -4.116506269e-08f, -4.133245908e-08f, -4.149974300e-08f,
+-4.166691418e-08f, -4.183397237e-08f, -4.200091730e-08f, -4.216774869e-08f, -4.233446630e-08f, -4.250106985e-08f, -4.266755908e-08f, -4.283393373e-08f, -4.300019352e-08f, -4.316633821e-08f,
+-4.333236752e-08f, -4.349828120e-08f, -4.366407897e-08f, -4.382976059e-08f, -4.399532578e-08f, -4.416077428e-08f, -4.432610584e-08f, -4.449132019e-08f, -4.465641708e-08f, -4.482139623e-08f,
+-4.498625739e-08f, -4.515100031e-08f, -4.531562471e-08f, -4.548013034e-08f, -4.564451695e-08f, -4.580878427e-08f, -4.597293204e-08f, -4.613696001e-08f, -4.630086791e-08f, -4.646465550e-08f,
+-4.662832250e-08f, -4.679186867e-08f, -4.695529375e-08f, -4.711859747e-08f, -4.728177960e-08f, -4.744483985e-08f, -4.760777799e-08f, -4.777059376e-08f, -4.793328689e-08f, -4.809585715e-08f,
+-4.825830426e-08f, -4.842062797e-08f, -4.858282804e-08f, -4.874490421e-08f, -4.890685622e-08f, -4.906868382e-08f, -4.923038675e-08f, -4.939196477e-08f, -4.955341762e-08f, -4.971474505e-08f,
+-4.987594681e-08f, -5.003702264e-08f, -5.019797229e-08f, -5.035879552e-08f, -5.051949207e-08f, -5.068006168e-08f, -5.084050412e-08f, -5.100081913e-08f, -5.116100646e-08f, -5.132106586e-08f,
+-5.148099708e-08f, -5.164079987e-08f, -5.180047398e-08f, -5.196001917e-08f, -5.211943519e-08f, -5.227872179e-08f, -5.243787872e-08f, -5.259690573e-08f, -5.275580258e-08f, -5.291456902e-08f,
+-5.307320480e-08f, -5.323170969e-08f, -5.339008342e-08f, -5.354832576e-08f, -5.370643647e-08f, -5.386441529e-08f, -5.402226198e-08f, -5.417997630e-08f, -5.433755800e-08f, -5.449500684e-08f,
+-5.465232258e-08f, -5.480950497e-08f, -5.496655378e-08f, -5.512346874e-08f, -5.528024964e-08f, -5.543689622e-08f, -5.559340823e-08f, -5.574978545e-08f, -5.590602763e-08f, -5.606213452e-08f,
+-5.621810589e-08f, -5.637394150e-08f, -5.652964111e-08f, -5.668520447e-08f, -5.684063135e-08f, -5.699592151e-08f, -5.715107471e-08f, -5.730609071e-08f, -5.746096928e-08f, -5.761571017e-08f,
+-5.777031315e-08f, -5.792477797e-08f, -5.807910442e-08f, -5.823329224e-08f, -5.838734120e-08f, -5.854125106e-08f, -5.869502159e-08f, -5.884865256e-08f, -5.900214372e-08f, -5.915549485e-08f,
+-5.930870570e-08f, -5.946177605e-08f, -5.961470566e-08f, -5.976749430e-08f, -5.992014173e-08f, -6.007264772e-08f, -6.022501204e-08f, -6.037723445e-08f, -6.052931472e-08f, -6.068125263e-08f,
+-6.083304793e-08f, -6.098470040e-08f, -6.113620982e-08f, -6.128757593e-08f, -6.143879852e-08f, -6.158987736e-08f, -6.174081222e-08f, -6.189160286e-08f, -6.204224906e-08f, -6.219275059e-08f,
+-6.234310722e-08f, -6.249331873e-08f, -6.264338488e-08f, -6.279330544e-08f, -6.294308020e-08f, -6.309270892e-08f, -6.324219137e-08f, -6.339152734e-08f, -6.354071659e-08f, -6.368975889e-08f,
+-6.383865404e-08f, -6.398740178e-08f, -6.413600192e-08f, -6.428445421e-08f, -6.443275844e-08f, -6.458091437e-08f, -6.472892180e-08f, -6.487678049e-08f, -6.502449022e-08f, -6.517205077e-08f,
+-6.531946192e-08f, -6.546672344e-08f, -6.561383512e-08f, -6.576079673e-08f, -6.590760805e-08f, -6.605426885e-08f, -6.620077893e-08f, -6.634713806e-08f, -6.649334602e-08f, -6.663940260e-08f,
+-6.678530756e-08f, -6.693106070e-08f, -6.707666179e-08f, -6.722211062e-08f, -6.736740697e-08f, -6.751255061e-08f, -6.765754135e-08f, -6.780237895e-08f, -6.794706320e-08f, -6.809159389e-08f,
+-6.823597080e-08f, -6.838019371e-08f, -6.852426241e-08f, -6.866817668e-08f, -6.881193631e-08f, -6.895554109e-08f, -6.909899080e-08f, -6.924228522e-08f, -6.938542415e-08f, -6.952840737e-08f,
+-6.967123467e-08f, -6.981390583e-08f, -6.995642065e-08f, -7.009877891e-08f, -7.024098041e-08f, -7.038302492e-08f, -7.052491224e-08f, -7.066664217e-08f, -7.080821448e-08f, -7.094962897e-08f,
+-7.109088543e-08f, -7.123198365e-08f, -7.137292343e-08f, -7.151370455e-08f, -7.165432680e-08f, -7.179478999e-08f, -7.193509389e-08f, -7.207523831e-08f, -7.221522304e-08f, -7.235504787e-08f,
+-7.249471259e-08f, -7.263421700e-08f, -7.277356090e-08f, -7.291274407e-08f, -7.305176632e-08f, -7.319062744e-08f, -7.332932722e-08f, -7.346786547e-08f, -7.360624197e-08f, -7.374445653e-08f,
+-7.388250894e-08f, -7.402039900e-08f, -7.415812651e-08f, -7.429569127e-08f, -7.443309307e-08f, -7.457033172e-08f, -7.470740700e-08f, -7.484431873e-08f, -7.498106671e-08f, -7.511765072e-08f,
+-7.525407058e-08f, -7.539032609e-08f, -7.552641704e-08f, -7.566234324e-08f, -7.579810449e-08f, -7.593370058e-08f, -7.606913134e-08f, -7.620439655e-08f, -7.633949602e-08f, -7.647442955e-08f,
+-7.660919696e-08f, -7.674379803e-08f, -7.687823259e-08f, -7.701250042e-08f, -7.714660135e-08f, -7.728053516e-08f, -7.741430168e-08f, -7.754790070e-08f, -7.768133203e-08f, -7.781459549e-08f,
+-7.794769087e-08f, -7.808061798e-08f, -7.821337664e-08f, -7.834596664e-08f, -7.847838781e-08f, -7.861063995e-08f, -7.874272286e-08f, -7.887463637e-08f, -7.900638027e-08f, -7.913795438e-08f,
+-7.926935850e-08f, -7.940059246e-08f, -7.953165607e-08f, -7.966254912e-08f, -7.979327144e-08f, -7.992382284e-08f, -8.005420314e-08f, -8.018441213e-08f, -8.031444965e-08f, -8.044431549e-08f,
+-8.057400949e-08f, -8.070353144e-08f, -8.083288117e-08f, -8.096205850e-08f, -8.109106323e-08f, -8.121989518e-08f, -8.134855417e-08f, -8.147704002e-08f, -8.160535254e-08f, -8.173349155e-08f,
+-8.186145687e-08f, -8.198924832e-08f, -8.211686571e-08f, -8.224430887e-08f, -8.237157760e-08f, -8.249867174e-08f, -8.262559111e-08f, -8.275233551e-08f, -8.287890478e-08f, -8.300529873e-08f,
+-8.313151718e-08f, -8.325755997e-08f, -8.338342690e-08f, -8.350911780e-08f, -8.363463249e-08f, -8.375997080e-08f, -8.388513256e-08f, -8.401011757e-08f, -8.413492567e-08f, -8.425955669e-08f,
+-8.438401044e-08f, -8.450828675e-08f, -8.463238545e-08f, -8.475630636e-08f, -8.488004931e-08f, -8.500361413e-08f, -8.512700064e-08f, -8.525020867e-08f, -8.537323805e-08f, -8.549608861e-08f,
+-8.561876016e-08f, -8.574125255e-08f, -8.586356560e-08f, -8.598569915e-08f, -8.610765301e-08f, -8.622942702e-08f, -8.635102102e-08f, -8.647243483e-08f, -8.659366828e-08f, -8.671472120e-08f,
+-8.683559343e-08f, -8.695628480e-08f, -8.707679514e-08f, -8.719712429e-08f, -8.731727207e-08f, -8.743723833e-08f, -8.755702288e-08f, -8.767662558e-08f, -8.779604626e-08f, -8.791528474e-08f,
+-8.803434087e-08f, -8.815321448e-08f, -8.827190540e-08f, -8.839041348e-08f, -8.850873855e-08f, -8.862688045e-08f, -8.874483901e-08f, -8.886261408e-08f, -8.898020549e-08f, -8.909761308e-08f,
+-8.921483669e-08f, -8.933187615e-08f, -8.944873132e-08f, -8.956540202e-08f, -8.968188811e-08f, -8.979818941e-08f, -8.991430577e-08f, -9.003023704e-08f, -9.014598306e-08f, -9.026154366e-08f,
+-9.037691869e-08f, -9.049210799e-08f, -9.060711141e-08f, -9.072192880e-08f, -9.083655998e-08f, -9.095100482e-08f, -9.106526315e-08f, -9.117933481e-08f, -9.129321967e-08f, -9.140691755e-08f,
+-9.152042831e-08f, -9.163375180e-08f, -9.174688785e-08f, -9.185983633e-08f, -9.197259707e-08f, -9.208516992e-08f, -9.219755474e-08f, -9.230975137e-08f, -9.242175966e-08f, -9.253357946e-08f,
+-9.264521062e-08f, -9.275665300e-08f, -9.286790643e-08f, -9.297897078e-08f, -9.308984589e-08f, -9.320053162e-08f, -9.331102782e-08f, -9.342133434e-08f, -9.353145103e-08f, -9.364137775e-08f,
+-9.375111435e-08f, -9.386066069e-08f, -9.397001662e-08f, -9.407918199e-08f, -9.418815666e-08f, -9.429694049e-08f, -9.440553332e-08f, -9.451393503e-08f, -9.462214545e-08f, -9.473016446e-08f,
+-9.483799191e-08f, -9.494562765e-08f, -9.505307155e-08f, -9.516032346e-08f, -9.526738325e-08f, -9.537425076e-08f, -9.548092586e-08f, -9.558740842e-08f, -9.569369828e-08f, -9.579979532e-08f,
+-9.590569939e-08f, -9.601141036e-08f, -9.611692808e-08f, -9.622225242e-08f, -9.632738324e-08f, -9.643232040e-08f, -9.653706377e-08f, -9.664161321e-08f, -9.674596859e-08f, -9.685012977e-08f,
+-9.695409661e-08f, -9.705786898e-08f, -9.716144674e-08f, -9.726482977e-08f, -9.736801792e-08f, -9.747101107e-08f, -9.757380908e-08f, -9.767641182e-08f, -9.777881916e-08f, -9.788103096e-08f,
+-9.798304709e-08f, -9.808486743e-08f, -9.818649184e-08f, -9.828792018e-08f, -9.838915235e-08f, -9.849018819e-08f, -9.859102758e-08f, -9.869167040e-08f, -9.879211652e-08f, -9.889236580e-08f,
+-9.899241812e-08f, -9.909227336e-08f, -9.919193138e-08f, -9.929139206e-08f, -9.939065527e-08f, -9.948972089e-08f, -9.958858880e-08f, -9.968725886e-08f, -9.978573095e-08f, -9.988400495e-08f,
+-9.998208073e-08f, -1.000799582e-07f, -1.001776372e-07f, -1.002751176e-07f, -1.003723992e-07f, -1.004694821e-07f, -1.005663660e-07f, -1.006630508e-07f, -1.007595365e-07f, -1.008558228e-07f,
+-1.009519097e-07f, -1.010477971e-07f, -1.011434847e-07f, -1.012389726e-07f, -1.013342606e-07f, -1.014293485e-07f, -1.015242363e-07f, -1.016189238e-07f, -1.017134110e-07f, -1.018076976e-07f,
+-1.019017837e-07f, -1.019956690e-07f, -1.020893534e-07f, -1.021828369e-07f, -1.022761194e-07f, -1.023692006e-07f, -1.024620805e-07f, -1.025547590e-07f, -1.026472360e-07f, -1.027395114e-07f,
+-1.028315849e-07f, -1.029234567e-07f, -1.030151264e-07f, -1.031065940e-07f, -1.031978595e-07f, -1.032889226e-07f, -1.033797833e-07f, -1.034704415e-07f, -1.035608970e-07f, -1.036511498e-07f,
+-1.037411997e-07f, -1.038310467e-07f, -1.039206906e-07f, -1.040101313e-07f, -1.040993687e-07f, -1.041884027e-07f, -1.042772332e-07f, -1.043658601e-07f, -1.044542833e-07f, -1.045425026e-07f,
+-1.046305180e-07f, -1.047183294e-07f, -1.048059367e-07f, -1.048933397e-07f, -1.049805384e-07f, -1.050675327e-07f, -1.051543224e-07f, -1.052409074e-07f, -1.053272877e-07f, -1.054134632e-07f,
+-1.054994337e-07f, -1.055851991e-07f, -1.056707594e-07f, -1.057561145e-07f, -1.058412641e-07f, -1.059262084e-07f, -1.060109471e-07f, -1.060954801e-07f, -1.061798074e-07f, -1.062639288e-07f,
+-1.063478443e-07f, -1.064315538e-07f, -1.065150571e-07f, -1.065983542e-07f, -1.066814450e-07f, -1.067643293e-07f, -1.068470072e-07f, -1.069294784e-07f, -1.070117429e-07f, -1.070938006e-07f,
+-1.071756515e-07f, -1.072572953e-07f, -1.073387321e-07f, -1.074199617e-07f, -1.075009840e-07f, -1.075817990e-07f, -1.076624065e-07f, -1.077428065e-07f, -1.078229989e-07f, -1.079029836e-07f,
+-1.079827605e-07f, -1.080623294e-07f, -1.081416904e-07f, -1.082208434e-07f, -1.082997881e-07f, -1.083785246e-07f, -1.084570528e-07f, -1.085353726e-07f, -1.086134839e-07f, -1.086913865e-07f,
+-1.087690805e-07f, -1.088465658e-07f, -1.089238422e-07f, -1.090009096e-07f, -1.090777681e-07f, -1.091544174e-07f, -1.092308576e-07f, -1.093070885e-07f, -1.093831100e-07f, -1.094589222e-07f,
+-1.095345248e-07f, -1.096099178e-07f, -1.096851011e-07f, -1.097600747e-07f, -1.098348385e-07f, -1.099093923e-07f, -1.099837362e-07f, -1.100578700e-07f, -1.101317936e-07f, -1.102055070e-07f,
+-1.102790101e-07f, -1.103523028e-07f, -1.104253851e-07f, -1.104982568e-07f, -1.105709179e-07f, -1.106433683e-07f, -1.107156080e-07f, -1.107876368e-07f, -1.108594547e-07f, -1.109310616e-07f,
+-1.110024574e-07f, -1.110736421e-07f, -1.111446156e-07f, -1.112153778e-07f, -1.112859287e-07f, -1.113562681e-07f, -1.114263960e-07f, -1.114963124e-07f, -1.115660171e-07f, -1.116355101e-07f,
+-1.117047914e-07f, -1.117738607e-07f, -1.118427182e-07f, -1.119113637e-07f, -1.119797971e-07f, -1.120480184e-07f, -1.121160275e-07f, -1.121838243e-07f, -1.122514088e-07f, -1.123187809e-07f,
+-1.123859406e-07f, -1.124528877e-07f, -1.125196222e-07f, -1.125861441e-07f, -1.126524533e-07f, -1.127185497e-07f, -1.127844332e-07f, -1.128501038e-07f, -1.129155614e-07f, -1.129808060e-07f,
+-1.130458376e-07f, -1.131106559e-07f, -1.131752610e-07f, -1.132396528e-07f, -1.133038313e-07f, -1.133677964e-07f, -1.134315480e-07f, -1.134950861e-07f, -1.135584106e-07f, -1.136215215e-07f,
+-1.136844187e-07f, -1.137471021e-07f, -1.138095717e-07f, -1.138718274e-07f, -1.139338692e-07f, -1.139956970e-07f, -1.140573107e-07f, -1.141187104e-07f, -1.141798959e-07f, -1.142408672e-07f,
+-1.143016242e-07f, -1.143621669e-07f, -1.144224953e-07f, -1.144826092e-07f, -1.145425086e-07f, -1.146021935e-07f, -1.146616639e-07f, -1.147209196e-07f, -1.147799606e-07f, -1.148387869e-07f,
+-1.148973983e-07f, -1.149557950e-07f, -1.150139768e-07f, -1.150719436e-07f, -1.151296954e-07f, -1.151872323e-07f, -1.152445540e-07f, -1.153016606e-07f, -1.153585520e-07f, -1.154152282e-07f,
+-1.154716891e-07f, -1.155279347e-07f, -1.155839650e-07f, -1.156397798e-07f, -1.156953792e-07f, -1.157507631e-07f, -1.158059315e-07f, -1.158608842e-07f, -1.159156213e-07f, -1.159701428e-07f,
+-1.160244485e-07f, -1.160785385e-07f, -1.161324127e-07f, -1.161860710e-07f, -1.162395135e-07f, -1.162927400e-07f, -1.163457506e-07f, -1.163985452e-07f, -1.164511237e-07f, -1.165034861e-07f,
+-1.165556324e-07f, -1.166075626e-07f, -1.166592765e-07f, -1.167107743e-07f, -1.167620557e-07f, -1.168131208e-07f, -1.168639696e-07f, -1.169146020e-07f, -1.169650180e-07f, -1.170152175e-07f,
+-1.170652005e-07f, -1.171149671e-07f, -1.171645170e-07f, -1.172138504e-07f, -1.172629671e-07f, -1.173118672e-07f, -1.173605506e-07f, -1.174090172e-07f, -1.174572671e-07f, -1.175053002e-07f,
+-1.175531165e-07f, -1.176007160e-07f, -1.176480985e-07f, -1.176952642e-07f, -1.177422129e-07f, -1.177889447e-07f, -1.178354594e-07f, -1.178817571e-07f, -1.179278378e-07f, -1.179737014e-07f,
+-1.180193479e-07f, -1.180647772e-07f, -1.181099894e-07f, -1.181549844e-07f, -1.181997622e-07f, -1.182443227e-07f, -1.182886660e-07f, -1.183327920e-07f, -1.183767007e-07f, -1.184203920e-07f,
+-1.184638660e-07f, -1.185071226e-07f, -1.185501618e-07f, -1.185929836e-07f, -1.186355879e-07f, -1.186779748e-07f, -1.187201441e-07f, -1.187620960e-07f, -1.188038303e-07f, -1.188453471e-07f,
+-1.188866463e-07f, -1.189277279e-07f, -1.189685919e-07f, -1.190092382e-07f, -1.190496670e-07f, -1.190898780e-07f, -1.191298714e-07f, -1.191696471e-07f, -1.192092050e-07f, -1.192485453e-07f,
+-1.192876678e-07f, -1.193265725e-07f, -1.193652594e-07f, -1.194037286e-07f, -1.194419800e-07f, -1.194800135e-07f, -1.195178292e-07f, -1.195554271e-07f, -1.195928071e-07f, -1.196299692e-07f,
+-1.196669135e-07f, -1.197036399e-07f, -1.197401483e-07f, -1.197764389e-07f, -1.198125115e-07f, -1.198483662e-07f, -1.198840030e-07f, -1.199194218e-07f, -1.199546226e-07f, -1.199896055e-07f,
+-1.200243704e-07f, -1.200589173e-07f, -1.200932462e-07f, -1.201273572e-07f, -1.201612501e-07f, -1.201949250e-07f, -1.202283819e-07f, -1.202616208e-07f, -1.202946416e-07f, -1.203274444e-07f,
+-1.203600292e-07f, -1.203923960e-07f, -1.204245447e-07f, -1.204564753e-07f, -1.204881879e-07f, -1.205196825e-07f, -1.205509590e-07f, -1.205820175e-07f, -1.206128579e-07f, -1.206434802e-07f,
+-1.206738845e-07f, -1.207040708e-07f, -1.207340390e-07f, -1.207637891e-07f, -1.207933212e-07f, -1.208226352e-07f, -1.208517312e-07f, -1.208806091e-07f, -1.209092691e-07f, -1.209377109e-07f,
+-1.209659347e-07f, -1.209939405e-07f, -1.210217283e-07f, -1.210492981e-07f, -1.210766498e-07f, -1.211037835e-07f, -1.211306992e-07f, -1.211573969e-07f, -1.211838767e-07f, -1.212101384e-07f,
+-1.212361821e-07f, -1.212620079e-07f, -1.212876158e-07f, -1.213130056e-07f, -1.213381776e-07f, -1.213631315e-07f, -1.213878676e-07f, -1.214123858e-07f, -1.214366860e-07f, -1.214607683e-07f,
+-1.214846328e-07f, -1.215082794e-07f, -1.215317081e-07f, -1.215549190e-07f, -1.215779121e-07f, -1.216006873e-07f, -1.216232447e-07f, -1.216455844e-07f, -1.216677062e-07f, -1.216896103e-07f,
+-1.217112966e-07f, -1.217327652e-07f, -1.217540161e-07f, -1.217750493e-07f, -1.217958648e-07f, -1.218164626e-07f, -1.218368427e-07f, -1.218570053e-07f, -1.218769502e-07f, -1.218966775e-07f,
+-1.219161873e-07f, -1.219354794e-07f, -1.219545541e-07f, -1.219734112e-07f, -1.219920508e-07f, -1.220104729e-07f, -1.220286776e-07f, -1.220466649e-07f, -1.220644347e-07f, -1.220819871e-07f,
+-1.220993222e-07f, -1.221164399e-07f, -1.221333403e-07f, -1.221500234e-07f, -1.221664892e-07f, -1.221827378e-07f, -1.221987691e-07f, -1.222145832e-07f, -1.222301802e-07f, -1.222455600e-07f,
+-1.222607227e-07f, -1.222756683e-07f, -1.222903968e-07f, -1.223049082e-07f, -1.223192027e-07f, -1.223332802e-07f, -1.223471407e-07f, -1.223607843e-07f, -1.223742109e-07f, -1.223874207e-07f,
+-1.224004137e-07f, -1.224131899e-07f, -1.224257493e-07f, -1.224380919e-07f, -1.224502178e-07f, -1.224621270e-07f, -1.224738196e-07f, -1.224852956e-07f, -1.224965549e-07f, -1.225075978e-07f,
+-1.225184241e-07f, -1.225290339e-07f, -1.225394272e-07f, -1.225496042e-07f, -1.225595648e-07f, -1.225693090e-07f, -1.225788369e-07f, -1.225881485e-07f, -1.225972440e-07f, -1.226061232e-07f,
+-1.226147862e-07f, -1.226232331e-07f, -1.226314640e-07f, -1.226394788e-07f, -1.226472776e-07f, -1.226548604e-07f, -1.226622273e-07f, -1.226693783e-07f, -1.226763134e-07f, -1.226830328e-07f,
+-1.226895364e-07f, -1.226958242e-07f, -1.227018964e-07f, -1.227077529e-07f, -1.227133939e-07f, -1.227188193e-07f, -1.227240291e-07f, -1.227290236e-07f, -1.227338025e-07f, -1.227383662e-07f,
+-1.227427144e-07f, -1.227468474e-07f, -1.227507652e-07f, -1.227544677e-07f, -1.227579551e-07f, -1.227612274e-07f, -1.227642847e-07f, -1.227671269e-07f, -1.227697542e-07f, -1.227721665e-07f,
+-1.227743640e-07f, -1.227763467e-07f, -1.227781146e-07f, -1.227796678e-07f, -1.227810063e-07f, -1.227821302e-07f, -1.227830396e-07f, -1.227837344e-07f, -1.227842148e-07f, -1.227844808e-07f,
+-1.227845324e-07f, -1.227843697e-07f, -1.227839927e-07f, -1.227834016e-07f, -1.227825963e-07f, -1.227815769e-07f, -1.227803434e-07f, -1.227788960e-07f, -1.227772347e-07f, -1.227753595e-07f,
+-1.227732705e-07f, -1.227709677e-07f, -1.227684512e-07f, -1.227657210e-07f, -1.227627773e-07f, -1.227596200e-07f, -1.227562493e-07f, -1.227526651e-07f, -1.227488676e-07f, -1.227448568e-07f,
+-1.227406328e-07f, -1.227361956e-07f, -1.227315452e-07f, -1.227266818e-07f, -1.227216054e-07f, -1.227163161e-07f, -1.227108139e-07f, -1.227050989e-07f, -1.226991711e-07f, -1.226930306e-07f,
+-1.226866776e-07f, -1.226801119e-07f, -1.226733338e-07f, -1.226663432e-07f, -1.226591403e-07f, -1.226517250e-07f, -1.226440975e-07f, -1.226362579e-07f, -1.226282061e-07f, -1.226199423e-07f,
+-1.226114666e-07f, -1.226027789e-07f, -1.225938793e-07f, -1.225847680e-07f, -1.225754450e-07f, -1.225659104e-07f, -1.225561642e-07f, -1.225462065e-07f, -1.225360374e-07f, -1.225256569e-07f,
+-1.225150651e-07f, -1.225042621e-07f, -1.224932480e-07f, -1.224820227e-07f, -1.224705865e-07f, -1.224589394e-07f, -1.224470813e-07f, -1.224350125e-07f, -1.224227330e-07f, -1.224102429e-07f,
+-1.223975421e-07f, -1.223846309e-07f, -1.223715093e-07f, -1.223581773e-07f, -1.223446350e-07f, -1.223308826e-07f, -1.223169200e-07f, -1.223027474e-07f, -1.222883648e-07f, -1.222737724e-07f,
+-1.222589701e-07f, -1.222439581e-07f, -1.222287364e-07f, -1.222133052e-07f, -1.221976644e-07f, -1.221818142e-07f, -1.221657547e-07f, -1.221494860e-07f, -1.221330080e-07f, -1.221163210e-07f,
+-1.220994249e-07f, -1.220823199e-07f, -1.220650060e-07f, -1.220474834e-07f, -1.220297520e-07f, -1.220118121e-07f, -1.219936636e-07f, -1.219753067e-07f, -1.219567414e-07f, -1.219379678e-07f,
+-1.219189861e-07f, -1.218997962e-07f, -1.218803983e-07f, -1.218607925e-07f, -1.218409788e-07f, -1.218209573e-07f, -1.218007282e-07f, -1.217802914e-07f, -1.217596472e-07f, -1.217387955e-07f,
+-1.217177365e-07f, -1.216964703e-07f, -1.216749969e-07f, -1.216533164e-07f, -1.216314289e-07f, -1.216093346e-07f, -1.215870334e-07f, -1.215645255e-07f, -1.215418111e-07f, -1.215188900e-07f,
+-1.214957626e-07f, -1.214724288e-07f, -1.214488887e-07f, -1.214251425e-07f, -1.214011902e-07f, -1.213770319e-07f, -1.213526678e-07f, -1.213280978e-07f, -1.213033222e-07f, -1.212783409e-07f,
+-1.212531541e-07f, -1.212277619e-07f, -1.212021644e-07f, -1.211763617e-07f, -1.211503538e-07f, -1.211241409e-07f, -1.210977231e-07f, -1.210711004e-07f, -1.210442730e-07f, -1.210172409e-07f,
+-1.209900043e-07f, -1.209625632e-07f, -1.209349178e-07f, -1.209070681e-07f, -1.208790143e-07f, -1.208507564e-07f, -1.208222946e-07f, -1.207936289e-07f, -1.207647595e-07f, -1.207356864e-07f,
+-1.207064097e-07f, -1.206769296e-07f, -1.206472462e-07f, -1.206173595e-07f, -1.205872696e-07f, -1.205569767e-07f, -1.205264809e-07f, -1.204957822e-07f, -1.204648808e-07f, -1.204337768e-07f,
+-1.204024703e-07f, -1.203709613e-07f, -1.203392500e-07f, -1.203073365e-07f, -1.202752210e-07f, -1.202429034e-07f, -1.202103839e-07f, -1.201776626e-07f, -1.201447397e-07f, -1.201116152e-07f,
+-1.200782892e-07f, -1.200447619e-07f, -1.200110334e-07f, -1.199771037e-07f, -1.199429729e-07f, -1.199086413e-07f, -1.198741089e-07f, -1.198393757e-07f, -1.198044420e-07f, -1.197693078e-07f,
+-1.197339732e-07f, -1.196984383e-07f, -1.196627034e-07f, -1.196267684e-07f, -1.195906334e-07f, -1.195542987e-07f, -1.195177643e-07f, -1.194810303e-07f, -1.194440968e-07f, -1.194069640e-07f,
+-1.193696319e-07f, -1.193321007e-07f, -1.192943705e-07f, -1.192564414e-07f, -1.192183136e-07f, -1.191799870e-07f, -1.191414619e-07f, -1.191027384e-07f, -1.190638166e-07f, -1.190246966e-07f,
+-1.189853785e-07f, -1.189458624e-07f, -1.189061485e-07f, -1.188662369e-07f, -1.188261277e-07f, -1.187858209e-07f, -1.187453168e-07f, -1.187046155e-07f, -1.186637170e-07f, -1.186226216e-07f,
+-1.185813292e-07f, -1.185398401e-07f, -1.184981543e-07f, -1.184562720e-07f, -1.184141933e-07f, -1.183719183e-07f, -1.183294472e-07f, -1.182867800e-07f, -1.182439169e-07f, -1.182008581e-07f,
+-1.181576035e-07f, -1.181141535e-07f, -1.180705080e-07f, -1.180266672e-07f, -1.179826312e-07f, -1.179384002e-07f, -1.178939743e-07f, -1.178493537e-07f, -1.178045383e-07f, -1.177595284e-07f,
+-1.177143241e-07f, -1.176689255e-07f, -1.176233328e-07f, -1.175775460e-07f, -1.175315654e-07f, -1.174853909e-07f, -1.174390228e-07f, -1.173924612e-07f, -1.173457063e-07f, -1.172987580e-07f,
+-1.172516167e-07f, -1.172042823e-07f, -1.171567551e-07f, -1.171090352e-07f, -1.170611226e-07f, -1.170130176e-07f, -1.169647203e-07f, -1.169162307e-07f, -1.168675491e-07f, -1.168186755e-07f,
+-1.167696101e-07f, -1.167203531e-07f, -1.166709045e-07f, -1.166212645e-07f, -1.165714332e-07f, -1.165214108e-07f, -1.164711974e-07f, -1.164207931e-07f, -1.163701981e-07f, -1.163194125e-07f,
+-1.162684364e-07f, -1.162172700e-07f, -1.161659134e-07f, -1.161143668e-07f, -1.160626302e-07f, -1.160107039e-07f, -1.159585879e-07f, -1.159062825e-07f, -1.158537876e-07f, -1.158011036e-07f,
+-1.157482304e-07f, -1.156951684e-07f, -1.156419175e-07f, -1.155884779e-07f, -1.155348498e-07f, -1.154810334e-07f, -1.154270287e-07f, -1.153728359e-07f, -1.153184551e-07f, -1.152638865e-07f,
+-1.152091302e-07f, -1.151541864e-07f, -1.150990552e-07f, -1.150437368e-07f, -1.149882312e-07f, -1.149325387e-07f, -1.148766594e-07f, -1.148205934e-07f, -1.147643408e-07f, -1.147079019e-07f,
+-1.146512767e-07f, -1.145944655e-07f, -1.145374683e-07f, -1.144802852e-07f, -1.144229166e-07f, -1.143653624e-07f, -1.143076228e-07f, -1.142496980e-07f, -1.141915882e-07f, -1.141332934e-07f,
+-1.140748139e-07f, -1.140161497e-07f, -1.139573010e-07f, -1.138982680e-07f, -1.138390509e-07f, -1.137796497e-07f, -1.137200646e-07f, -1.136602958e-07f, -1.136003434e-07f, -1.135402075e-07f,
+-1.134798884e-07f, -1.134193861e-07f, -1.133587009e-07f, -1.132978329e-07f, -1.132367821e-07f, -1.131755489e-07f, -1.131141332e-07f, -1.130525354e-07f, -1.129907555e-07f, -1.129287936e-07f,
+-1.128666501e-07f, -1.128043249e-07f, -1.127418182e-07f, -1.126791303e-07f, -1.126162612e-07f, -1.125532111e-07f, -1.124899802e-07f, -1.124265686e-07f, -1.123629765e-07f, -1.122992040e-07f,
+-1.122352514e-07f, -1.121711186e-07f, -1.121068060e-07f, -1.120423136e-07f, -1.119776417e-07f, -1.119127903e-07f, -1.118477597e-07f, -1.117825500e-07f, -1.117171613e-07f, -1.116515938e-07f,
+-1.115858477e-07f, -1.115199231e-07f, -1.114538202e-07f, -1.113875392e-07f, -1.113210801e-07f, -1.112544433e-07f, -1.111876287e-07f, -1.111206367e-07f, -1.110534673e-07f, -1.109861207e-07f,
+-1.109185971e-07f, -1.108508966e-07f, -1.107830195e-07f, -1.107149658e-07f, -1.106467357e-07f, -1.105783294e-07f, -1.105097471e-07f, -1.104409889e-07f, -1.103720549e-07f, -1.103029454e-07f,
+-1.102336605e-07f, -1.101642004e-07f, -1.100945653e-07f, -1.100247552e-07f, -1.099547704e-07f, -1.098846110e-07f, -1.098142772e-07f, -1.097437692e-07f, -1.096730872e-07f, -1.096022312e-07f,
+-1.095312015e-07f, -1.094599983e-07f, -1.093886216e-07f, -1.093170717e-07f, -1.092453488e-07f, -1.091734530e-07f, -1.091013844e-07f, -1.090291433e-07f, -1.089567298e-07f, -1.088841441e-07f,
+-1.088113863e-07f, -1.087384567e-07f, -1.086653554e-07f, -1.085920825e-07f, -1.085186383e-07f, -1.084450228e-07f, -1.083712364e-07f, -1.082972791e-07f, -1.082231511e-07f, -1.081488527e-07f,
+-1.080743838e-07f, -1.079997449e-07f, -1.079249359e-07f, -1.078499571e-07f, -1.077748087e-07f, -1.076994908e-07f, -1.076240037e-07f, -1.075483474e-07f, -1.074725221e-07f, -1.073965281e-07f,
+-1.073203655e-07f, -1.072440345e-07f, -1.071675352e-07f, -1.070908679e-07f, -1.070140327e-07f, -1.069370297e-07f, -1.068598592e-07f, -1.067825214e-07f, -1.067050163e-07f, -1.066273443e-07f,
+-1.065495054e-07f, -1.064714999e-07f, -1.063933279e-07f, -1.063149896e-07f, -1.062364852e-07f, -1.061578148e-07f, -1.060789787e-07f, -1.059999770e-07f, -1.059208098e-07f, -1.058414775e-07f,
+-1.057619801e-07f, -1.056823179e-07f, -1.056024910e-07f, -1.055224995e-07f, -1.054423438e-07f, -1.053620239e-07f, -1.052815400e-07f, -1.052008924e-07f, -1.051200812e-07f, -1.050391066e-07f,
+-1.049579687e-07f, -1.048766678e-07f, -1.047952040e-07f, -1.047135775e-07f, -1.046317886e-07f, -1.045498373e-07f, -1.044677239e-07f, -1.043854485e-07f, -1.043030114e-07f, -1.042204127e-07f,
+-1.041376526e-07f, -1.040547313e-07f, -1.039716490e-07f, -1.038884058e-07f, -1.038050020e-07f, -1.037214377e-07f, -1.036377132e-07f, -1.035538285e-07f, -1.034697840e-07f, -1.033855797e-07f,
+-1.033012159e-07f, -1.032166927e-07f, -1.031320104e-07f, -1.030471691e-07f, -1.029621690e-07f, -1.028770103e-07f, -1.027916933e-07f, -1.027062180e-07f, -1.026205846e-07f, -1.025347935e-07f,
+-1.024488447e-07f, -1.023627384e-07f, -1.022764749e-07f, -1.021900543e-07f, -1.021034768e-07f, -1.020167426e-07f, -1.019298518e-07f, -1.018428048e-07f, -1.017556017e-07f, -1.016682426e-07f,
+-1.015807277e-07f, -1.014930574e-07f, -1.014052316e-07f, -1.013172507e-07f, -1.012291149e-07f, -1.011408242e-07f, -1.010523790e-07f, -1.009637793e-07f, -1.008750255e-07f, -1.007861176e-07f,
+-1.006970560e-07f, -1.006078407e-07f, -1.005184720e-07f, -1.004289501e-07f, -1.003392751e-07f, -1.002494473e-07f, -1.001594669e-07f, -1.000693340e-07f, -9.997904886e-08f, -9.988861166e-08f,
+-9.979802260e-08f, -9.970728187e-08f, -9.961638968e-08f, -9.952534622e-08f, -9.943415168e-08f, -9.934280627e-08f, -9.925131018e-08f, -9.915966360e-08f, -9.906786675e-08f, -9.897591981e-08f,
+-9.888382298e-08f, -9.879157647e-08f, -9.869918046e-08f, -9.860663517e-08f, -9.851394078e-08f, -9.842109751e-08f, -9.832810554e-08f, -9.823496507e-08f, -9.814167632e-08f, -9.804823948e-08f,
+-9.795465474e-08f, -9.786092231e-08f, -9.776704239e-08f, -9.767301519e-08f, -9.757884089e-08f, -9.748451971e-08f, -9.739005185e-08f, -9.729543750e-08f, -9.720067688e-08f, -9.710577017e-08f,
+-9.701071759e-08f, -9.691551934e-08f, -9.682017562e-08f, -9.672468663e-08f, -9.662905258e-08f, -9.653327367e-08f, -9.643735011e-08f, -9.634128209e-08f, -9.624506983e-08f, -9.614871352e-08f,
+-9.605221338e-08f, -9.595556960e-08f, -9.585878239e-08f, -9.576185196e-08f, -9.566477851e-08f, -9.556756225e-08f, -9.547020338e-08f, -9.537270212e-08f, -9.527505865e-08f, -9.517727320e-08f,
+-9.507934597e-08f, -9.498127717e-08f, -9.488306699e-08f, -9.478471566e-08f, -9.468622337e-08f, -9.458759034e-08f, -9.448881677e-08f, -9.438990287e-08f, -9.429084885e-08f, -9.419165492e-08f,
+-9.409232128e-08f, -9.399284815e-08f, -9.389323573e-08f, -9.379348423e-08f, -9.369359386e-08f, -9.359356484e-08f, -9.349339737e-08f, -9.339309165e-08f, -9.329264791e-08f, -9.319206635e-08f,
+-9.309134718e-08f, -9.299049062e-08f, -9.288949686e-08f, -9.278836613e-08f, -9.268709864e-08f, -9.258569460e-08f, -9.248415421e-08f, -9.238247769e-08f, -9.228066526e-08f, -9.217871712e-08f,
+-9.207663348e-08f, -9.197441457e-08f, -9.187206059e-08f, -9.176957175e-08f, -9.166694828e-08f, -9.156419037e-08f, -9.146129825e-08f, -9.135827213e-08f, -9.125511222e-08f, -9.115181873e-08f,
+-9.104839189e-08f, -9.094483190e-08f, -9.084113899e-08f, -9.073731335e-08f, -9.063335522e-08f, -9.052926480e-08f, -9.042504231e-08f, -9.032068796e-08f, -9.021620198e-08f, -9.011158457e-08f,
+-9.000683595e-08f, -8.990195635e-08f, -8.979694597e-08f, -8.969180503e-08f, -8.958653374e-08f, -8.948113234e-08f, -8.937560102e-08f, -8.926994002e-08f, -8.916414954e-08f, -8.905822981e-08f,
+-8.895218103e-08f, -8.884600344e-08f, -8.873969725e-08f, -8.863326267e-08f, -8.852669993e-08f, -8.842000924e-08f, -8.831319082e-08f, -8.820624490e-08f, -8.809917168e-08f, -8.799197139e-08f,
+-8.788464426e-08f, -8.777719049e-08f, -8.766961031e-08f, -8.756190393e-08f, -8.745407159e-08f, -8.734611350e-08f, -8.723802987e-08f, -8.712982093e-08f, -8.702148691e-08f, -8.691302801e-08f,
+-8.680444447e-08f, -8.669573650e-08f, -8.658690433e-08f, -8.647794817e-08f, -8.636886826e-08f, -8.625966480e-08f, -8.615033803e-08f, -8.604088816e-08f, -8.593131542e-08f, -8.582162002e-08f,
+-8.571180221e-08f, -8.560186218e-08f, -8.549180018e-08f, -8.538161641e-08f, -8.527131112e-08f, -8.516088451e-08f, -8.505033681e-08f, -8.493966825e-08f, -8.482887905e-08f, -8.471796943e-08f,
+-8.460693963e-08f, -8.449578985e-08f, -8.438452034e-08f, -8.427313130e-08f, -8.416162298e-08f, -8.404999558e-08f, -8.393824935e-08f, -8.382638449e-08f, -8.371440125e-08f, -8.360229984e-08f,
+-8.349008049e-08f, -8.337774343e-08f, -8.326528888e-08f, -8.315271707e-08f, -8.304002822e-08f, -8.292722257e-08f, -8.281430033e-08f, -8.270126174e-08f, -8.258810703e-08f, -8.247483641e-08f,
+-8.236145012e-08f, -8.224794838e-08f, -8.213433143e-08f, -8.202059948e-08f, -8.190675278e-08f, -8.179279154e-08f, -8.167871599e-08f, -8.156452637e-08f, -8.145022289e-08f, -8.133580580e-08f,
+-8.122127531e-08f, -8.110663167e-08f, -8.099187509e-08f, -8.087700580e-08f, -8.076202404e-08f, -8.064693004e-08f, -8.053172401e-08f, -8.041640621e-08f, -8.030097684e-08f, -8.018543615e-08f,
+-8.006978437e-08f, -7.995402171e-08f, -7.983814843e-08f, -7.972216474e-08f, -7.960607087e-08f, -7.948986706e-08f, -7.937355354e-08f, -7.925713054e-08f, -7.914059829e-08f, -7.902395703e-08f,
+-7.890720697e-08f, -7.879034836e-08f, -7.867338143e-08f, -7.855630641e-08f, -7.843912353e-08f, -7.832183302e-08f, -7.820443511e-08f, -7.808693005e-08f, -7.796931805e-08f, -7.785159936e-08f,
+-7.773377421e-08f, -7.761584282e-08f, -7.749780544e-08f, -7.737966229e-08f, -7.726141362e-08f, -7.714305964e-08f, -7.702460060e-08f, -7.690603673e-08f, -7.678736827e-08f, -7.666859544e-08f,
+-7.654971848e-08f, -7.643073763e-08f, -7.631165313e-08f, -7.619246519e-08f, -7.607317407e-08f, -7.595377999e-08f, -7.583428319e-08f, -7.571468391e-08f, -7.559498237e-08f, -7.547517882e-08f,
+-7.535527349e-08f, -7.523526662e-08f, -7.511515843e-08f, -7.499494918e-08f, -7.487463908e-08f, -7.475422839e-08f, -7.463371733e-08f, -7.451310614e-08f, -7.439239506e-08f, -7.427158432e-08f,
+-7.415067417e-08f, -7.402966483e-08f, -7.390855654e-08f, -7.378734954e-08f, -7.366604408e-08f, -7.354464038e-08f, -7.342313868e-08f, -7.330153921e-08f, -7.317984223e-08f, -7.305804796e-08f,
+-7.293615665e-08f, -7.281416852e-08f, -7.269208382e-08f, -7.256990279e-08f, -7.244762566e-08f, -7.232525267e-08f, -7.220278407e-08f, -7.208022008e-08f, -7.195756095e-08f, -7.183480692e-08f,
+-7.171195822e-08f, -7.158901510e-08f, -7.146597779e-08f, -7.134284653e-08f, -7.121962156e-08f, -7.109630312e-08f, -7.097289146e-08f, -7.084938680e-08f, -7.072578939e-08f, -7.060209948e-08f,
+-7.047831729e-08f, -7.035444307e-08f, -7.023047705e-08f, -7.010641949e-08f, -6.998227062e-08f, -6.985803067e-08f, -6.973369990e-08f, -6.960927853e-08f, -6.948476682e-08f, -6.936016500e-08f,
+-6.923547331e-08f, -6.911069199e-08f, -6.898582129e-08f, -6.886086145e-08f, -6.873581270e-08f, -6.861067529e-08f, -6.848544946e-08f, -6.836013545e-08f, -6.823473351e-08f, -6.810924386e-08f,
+-6.798366677e-08f, -6.785800246e-08f, -6.773225119e-08f, -6.760641318e-08f, -6.748048869e-08f, -6.735447796e-08f, -6.722838122e-08f, -6.710219873e-08f, -6.697593072e-08f, -6.684957744e-08f,
+-6.672313913e-08f, -6.659661602e-08f, -6.647000838e-08f, -6.634331643e-08f, -6.621654042e-08f, -6.608968060e-08f, -6.596273721e-08f, -6.583571048e-08f, -6.570860067e-08f, -6.558140802e-08f,
+-6.545413276e-08f, -6.532677516e-08f, -6.519933544e-08f, -6.507181385e-08f, -6.494421064e-08f, -6.481652605e-08f, -6.468876033e-08f, -6.456091371e-08f, -6.443298645e-08f, -6.430497878e-08f,
+-6.417689096e-08f, -6.404872322e-08f, -6.392047581e-08f, -6.379214898e-08f, -6.366374296e-08f, -6.353525802e-08f, -6.340669438e-08f, -6.327805229e-08f, -6.314933201e-08f, -6.302053377e-08f,
+-6.289165782e-08f, -6.276270440e-08f, -6.263367377e-08f, -6.250456616e-08f, -6.237538182e-08f, -6.224612100e-08f, -6.211678394e-08f, -6.198737089e-08f, -6.185788210e-08f, -6.172831780e-08f,
+-6.159867825e-08f, -6.146896369e-08f, -6.133917437e-08f, -6.120931053e-08f, -6.107937243e-08f, -6.094936029e-08f, -6.081927439e-08f, -6.068911495e-08f, -6.055888222e-08f, -6.042857646e-08f,
+-6.029819791e-08f, -6.016774681e-08f, -6.003722342e-08f, -5.990662797e-08f, -5.977596072e-08f, -5.964522191e-08f, -5.951441179e-08f, -5.938353061e-08f, -5.925257861e-08f, -5.912155605e-08f,
+-5.899046316e-08f, -5.885930019e-08f, -5.872806740e-08f, -5.859676503e-08f, -5.846539333e-08f, -5.833395254e-08f, -5.820244292e-08f, -5.807086471e-08f, -5.793921815e-08f, -5.780750350e-08f,
+-5.767572101e-08f, -5.754387092e-08f, -5.741195348e-08f, -5.727996893e-08f, -5.714791753e-08f, -5.701579953e-08f, -5.688361517e-08f, -5.675136469e-08f, -5.661904836e-08f, -5.648666641e-08f,
+-5.635421910e-08f, -5.622170668e-08f, -5.608912938e-08f, -5.595648747e-08f, -5.582378119e-08f, -5.569101078e-08f, -5.555817651e-08f, -5.542527860e-08f, -5.529231733e-08f, -5.515929292e-08f,
+-5.502620564e-08f, -5.489305573e-08f, -5.475984344e-08f, -5.462656902e-08f, -5.449323272e-08f, -5.435983478e-08f, -5.422637546e-08f, -5.409285501e-08f, -5.395927368e-08f, -5.382563170e-08f,
+-5.369192935e-08f, -5.355816685e-08f, -5.342434447e-08f, -5.329046245e-08f, -5.315652104e-08f, -5.302252049e-08f, -5.288846106e-08f, -5.275434298e-08f, -5.262016652e-08f, -5.248593192e-08f,
+-5.235163942e-08f, -5.221728929e-08f, -5.208288176e-08f, -5.194841710e-08f, -5.181389554e-08f, -5.167931735e-08f, -5.154468276e-08f, -5.140999203e-08f, -5.127524542e-08f, -5.114044316e-08f,
+-5.100558551e-08f, -5.087067272e-08f, -5.073570504e-08f, -5.060068273e-08f, -5.046560602e-08f, -5.033047518e-08f, -5.019529044e-08f, -5.006005207e-08f, -4.992476031e-08f, -4.978941542e-08f,
+-4.965401763e-08f, -4.951856722e-08f, -4.938306441e-08f, -4.924750947e-08f, -4.911190265e-08f, -4.897624419e-08f, -4.884053435e-08f, -4.870477337e-08f, -4.856896152e-08f, -4.843309903e-08f,
+-4.829718617e-08f, -4.816122317e-08f, -4.802521030e-08f, -4.788914779e-08f, -4.775303591e-08f, -4.761687491e-08f, -4.748066503e-08f, -4.734440652e-08f, -4.720809964e-08f, -4.707174464e-08f,
+-4.693534177e-08f, -4.679889128e-08f, -4.666239342e-08f, -4.652584844e-08f, -4.638925660e-08f, -4.625261813e-08f, -4.611593331e-08f, -4.597920237e-08f, -4.584242556e-08f, -4.570560315e-08f,
+-4.556873538e-08f, -4.543182249e-08f, -4.529486475e-08f, -4.515786241e-08f, -4.502081571e-08f, -4.488372490e-08f, -4.474659024e-08f, -4.460941198e-08f, -4.447219037e-08f, -4.433492566e-08f,
+-4.419761811e-08f, -4.406026796e-08f, -4.392287546e-08f, -4.378544087e-08f, -4.364796444e-08f, -4.351044642e-08f, -4.337288706e-08f, -4.323528662e-08f, -4.309764533e-08f, -4.295996347e-08f,
+-4.282224127e-08f, -4.268447898e-08f, -4.254667687e-08f, -4.240883518e-08f, -4.227095416e-08f, -4.213303407e-08f, -4.199507515e-08f, -4.185707765e-08f, -4.171904184e-08f, -4.158096796e-08f,
+-4.144285626e-08f, -4.130470699e-08f, -4.116652041e-08f, -4.102829676e-08f, -4.089003630e-08f, -4.075173928e-08f, -4.061340595e-08f, -4.047503657e-08f, -4.033663137e-08f, -4.019819063e-08f,
+-4.005971458e-08f, -3.992120347e-08f, -3.978265757e-08f, -3.964407712e-08f, -3.950546237e-08f, -3.936681358e-08f, -3.922813100e-08f, -3.908941487e-08f, -3.895066545e-08f, -3.881188299e-08f,
+-3.867306774e-08f, -3.853421996e-08f, -3.839533989e-08f, -3.825642778e-08f, -3.811748390e-08f, -3.797850848e-08f, -3.783950179e-08f, -3.770046407e-08f, -3.756139557e-08f, -3.742229655e-08f,
+-3.728316725e-08f, -3.714400793e-08f, -3.700481884e-08f, -3.686560024e-08f, -3.672635236e-08f, -3.658707547e-08f, -3.644776981e-08f, -3.630843564e-08f, -3.616907321e-08f, -3.602968276e-08f,
+-3.589026456e-08f, -3.575081885e-08f, -3.561134588e-08f, -3.547184590e-08f, -3.533231917e-08f, -3.519276594e-08f, -3.505318645e-08f, -3.491358096e-08f, -3.477394973e-08f, -3.463429299e-08f,
+-3.449461101e-08f, -3.435490403e-08f, -3.421517230e-08f, -3.407541608e-08f, -3.393563562e-08f, -3.379583116e-08f, -3.365600297e-08f, -3.351615128e-08f, -3.337627635e-08f, -3.323637844e-08f,
+-3.309645779e-08f, -3.295651465e-08f, -3.281654928e-08f, -3.267656192e-08f, -3.253655283e-08f, -3.239652225e-08f, -3.225647045e-08f, -3.211639766e-08f, -3.197630414e-08f, -3.183619014e-08f,
+-3.169605591e-08f, -3.155590171e-08f, -3.141572777e-08f, -3.127553436e-08f, -3.113532172e-08f, -3.099509011e-08f, -3.085483977e-08f, -3.071457095e-08f, -3.057428391e-08f, -3.043397889e-08f,
+-3.029365615e-08f, -3.015331594e-08f, -3.001295850e-08f, -2.987258409e-08f, -2.973219296e-08f, -2.959178536e-08f, -2.945136153e-08f, -2.931092173e-08f, -2.917046621e-08f, -2.902999522e-08f,
+-2.888950900e-08f, -2.874900782e-08f, -2.860849191e-08f, -2.846796153e-08f, -2.832741692e-08f, -2.818685835e-08f, -2.804628605e-08f, -2.790570028e-08f, -2.776510129e-08f, -2.762448932e-08f,
+-2.748386463e-08f, -2.734322747e-08f, -2.720257808e-08f, -2.706191672e-08f, -2.692124363e-08f, -2.678055907e-08f, -2.663986328e-08f, -2.649915652e-08f, -2.635843902e-08f, -2.621771105e-08f,
+-2.607697285e-08f, -2.593622467e-08f, -2.579546676e-08f, -2.565469937e-08f, -2.551392274e-08f, -2.537313714e-08f, -2.523234279e-08f, -2.509153997e-08f, -2.495072890e-08f, -2.480990985e-08f,
+-2.466908306e-08f, -2.452824878e-08f, -2.438740726e-08f, -2.424655874e-08f, -2.410570348e-08f, -2.396484173e-08f, -2.382397372e-08f, -2.368309972e-08f, -2.354221997e-08f, -2.340133471e-08f,
+-2.326044421e-08f, -2.311954869e-08f, -2.297864842e-08f, -2.283774364e-08f, -2.269683460e-08f, -2.255592155e-08f, -2.241500473e-08f, -2.227408439e-08f, -2.213316078e-08f, -2.199223415e-08f,
+-2.185130475e-08f, -2.171037282e-08f, -2.156943861e-08f, -2.142850237e-08f, -2.128756435e-08f, -2.114662479e-08f, -2.100568394e-08f, -2.086474205e-08f, -2.072379937e-08f, -2.058285614e-08f,
+-2.044191261e-08f, -2.030096903e-08f, -2.016002564e-08f, -2.001908269e-08f, -1.987814043e-08f, -1.973719910e-08f, -1.959625896e-08f, -1.945532024e-08f, -1.931438320e-08f, -1.917344808e-08f,
+-1.903251513e-08f, -1.889158459e-08f, -1.875065671e-08f, -1.860973174e-08f, -1.846880992e-08f, -1.832789151e-08f, -1.818697673e-08f, -1.804606585e-08f, -1.790515911e-08f, -1.776425675e-08f,
+-1.762335902e-08f, -1.748246617e-08f, -1.734157843e-08f, -1.720069606e-08f, -1.705981931e-08f, -1.691894841e-08f, -1.677808361e-08f, -1.663722516e-08f, -1.649637330e-08f, -1.635552829e-08f,
+-1.621469035e-08f, -1.607385975e-08f, -1.593303672e-08f, -1.579222150e-08f, -1.565141435e-08f, -1.551061551e-08f, -1.536982522e-08f, -1.522904373e-08f, -1.508827128e-08f, -1.494750811e-08f,
+-1.480675448e-08f, -1.466601062e-08f, -1.452527678e-08f, -1.438455320e-08f, -1.424384013e-08f, -1.410313781e-08f, -1.396244648e-08f, -1.382176640e-08f, -1.368109779e-08f, -1.354044091e-08f,
+-1.339979601e-08f, -1.325916331e-08f, -1.311854307e-08f, -1.297793553e-08f, -1.283734093e-08f, -1.269675952e-08f, -1.255619154e-08f, -1.241563723e-08f, -1.227509683e-08f, -1.213457060e-08f,
+-1.199405876e-08f, -1.185356156e-08f, -1.171307925e-08f, -1.157261207e-08f, -1.143216026e-08f, -1.129172406e-08f, -1.115130372e-08f, -1.101089947e-08f, -1.087051156e-08f, -1.073014023e-08f,
+-1.058978573e-08f, -1.044944829e-08f, -1.030912815e-08f, -1.016882556e-08f, -1.002854076e-08f, -9.888273994e-09f, -9.748025497e-09f, -9.607795512e-09f, -9.467584280e-09f, -9.327392044e-09f,
+-9.187219043e-09f, -9.047065518e-09f, -8.906931711e-09f, -8.766817861e-09f, -8.626724209e-09f, -8.486650996e-09f, -8.346598462e-09f, -8.206566848e-09f, -8.066556392e-09f, -7.926567336e-09f,
+-7.786599919e-09f, -7.646654382e-09f, -7.506730963e-09f, -7.366829902e-09f, -7.226951440e-09f, -7.087095815e-09f, -6.947263267e-09f, -6.807454035e-09f, -6.667668358e-09f, -6.527906475e-09f,
+-6.388168625e-09f, -6.248455047e-09f, -6.108765980e-09f, -5.969101662e-09f, -5.829462332e-09f, -5.689848228e-09f, -5.550259589e-09f, -5.410696652e-09f, -5.271159656e-09f, -5.131648839e-09f,
+-4.992164439e-09f, -4.852706693e-09f, -4.713275839e-09f, -4.573872114e-09f, -4.434495757e-09f, -4.295147005e-09f, -4.155826094e-09f, -4.016533262e-09f, -3.877268746e-09f, -3.738032782e-09f,
+-3.598825609e-09f, -3.459647461e-09f, -3.320498577e-09f, -3.181379192e-09f, -3.042289542e-09f, -2.903229864e-09f, -2.764200395e-09f, -2.625201370e-09f, -2.486233024e-09f, -2.347295595e-09f,
+-2.208389317e-09f, -2.069514426e-09f, -1.930671157e-09f, -1.791859747e-09f, -1.653080429e-09f, -1.514333440e-09f, -1.375619013e-09f, -1.236937385e-09f, -1.098288790e-09f, -9.596734617e-10f,
+-8.210916357e-10f, -6.825435460e-10f, -5.440294270e-10f, -4.055495128e-10f, -2.671040375e-10f, -1.286932349e-10f, 9.682661028e-12f, 1.480234167e-10f, 2.863287986e-10f, 4.245985731e-10f,
+5.628325071e-10f, 7.010303672e-10f, 8.391919204e-10f, 9.773169338e-10f, 1.115405175e-09f, 1.253456410e-09f, 1.391470407e-09f, 1.529446934e-09f, 1.667385758e-09f, 1.805286647e-09f,
+1.943149369e-09f, 2.080973692e-09f, 2.218759385e-09f, 2.356506214e-09f, 2.494213950e-09f, 2.631882359e-09f, 2.769511212e-09f, 2.907100277e-09f, 3.044649323e-09f, 3.182158118e-09f,
+3.319626432e-09f, 3.457054035e-09f, 3.594440696e-09f, 3.731786184e-09f, 3.869090269e-09f, 4.006352721e-09f, 4.143573310e-09f, 4.280751805e-09f, 4.417887978e-09f, 4.554981599e-09f,
+4.692032438e-09f, 4.829040265e-09f, 4.966004852e-09f, 5.102925970e-09f, 5.239803388e-09f, 5.376636880e-09f, 5.513426215e-09f, 5.650171166e-09f, 5.786871503e-09f, 5.923527000e-09f,
+6.060137426e-09f, 6.196702555e-09f, 6.333222159e-09f, 6.469696010e-09f, 6.606123879e-09f, 6.742505541e-09f, 6.878840767e-09f, 7.015129330e-09f, 7.151371004e-09f, 7.287565561e-09f,
+7.423712774e-09f, 7.559812417e-09f, 7.695864264e-09f, 7.831868088e-09f, 7.967823663e-09f, 8.103730762e-09f, 8.239589161e-09f, 8.375398633e-09f, 8.511158952e-09f, 8.646869893e-09f,
+8.782531231e-09f, 8.918142740e-09f, 9.053704196e-09f, 9.189215373e-09f, 9.324676047e-09f, 9.460085993e-09f, 9.595444987e-09f, 9.730752804e-09f, 9.866009221e-09f, 1.000121401e-08f,
+1.013636695e-08f, 1.027146782e-08f, 1.040651640e-08f, 1.054151245e-08f, 1.067645576e-08f, 1.081134611e-08f, 1.094618327e-08f, 1.108096701e-08f, 1.121569712e-08f, 1.135037338e-08f,
+1.148499555e-08f, 1.161956342e-08f, 1.175407677e-08f, 1.188853537e-08f, 1.202293901e-08f, 1.215728746e-08f, 1.229158049e-08f, 1.242581789e-08f, 1.255999945e-08f, 1.269412492e-08f,
+1.282819410e-08f, 1.296220677e-08f, 1.309616270e-08f, 1.323006167e-08f, 1.336390347e-08f, 1.349768787e-08f, 1.363141465e-08f, 1.376508360e-08f, 1.389869449e-08f, 1.403224710e-08f,
+1.416574122e-08f, 1.429917662e-08f, 1.443255309e-08f, 1.456587041e-08f, 1.469912836e-08f, 1.483232672e-08f, 1.496546527e-08f, 1.509854380e-08f, 1.523156208e-08f, 1.536451991e-08f,
+1.549741705e-08f, 1.563025329e-08f, 1.576302843e-08f, 1.589574223e-08f, 1.602839448e-08f, 1.616098496e-08f, 1.629351347e-08f, 1.642597977e-08f, 1.655838367e-08f, 1.669072493e-08f,
+1.682300334e-08f, 1.695521869e-08f, 1.708737076e-08f, 1.721945933e-08f, 1.735148420e-08f, 1.748344514e-08f, 1.761534194e-08f, 1.774717439e-08f, 1.787894227e-08f, 1.801064536e-08f,
+1.814228345e-08f, 1.827385633e-08f, 1.840536378e-08f, 1.853680560e-08f, 1.866818156e-08f, 1.879949144e-08f, 1.893073505e-08f, 1.906191217e-08f, 1.919302257e-08f, 1.932406606e-08f,
+1.945504241e-08f, 1.958595141e-08f, 1.971679286e-08f, 1.984756654e-08f, 1.997827223e-08f, 2.010890973e-08f, 2.023947883e-08f, 2.036997931e-08f, 2.050041095e-08f, 2.063077356e-08f,
+2.076106692e-08f, 2.089129082e-08f, 2.102144504e-08f, 2.115152938e-08f, 2.128154363e-08f, 2.141148758e-08f, 2.154136101e-08f, 2.167116372e-08f, 2.180089550e-08f, 2.193055613e-08f,
+2.206014542e-08f, 2.218966314e-08f, 2.231910910e-08f, 2.244848308e-08f, 2.257778488e-08f, 2.270701428e-08f, 2.283617107e-08f, 2.296525506e-08f, 2.309426603e-08f, 2.322320378e-08f,
+2.335206809e-08f, 2.348085876e-08f, 2.360957559e-08f, 2.373821836e-08f, 2.386678687e-08f, 2.399528092e-08f, 2.412370029e-08f, 2.425204478e-08f, 2.438031418e-08f, 2.450850830e-08f,
+2.463662692e-08f, 2.476466983e-08f, 2.489263684e-08f, 2.502052774e-08f, 2.514834232e-08f, 2.527608038e-08f, 2.540374171e-08f, 2.553132611e-08f, 2.565883338e-08f, 2.578626331e-08f,
+2.591361569e-08f, 2.604089033e-08f, 2.616808703e-08f, 2.629520557e-08f, 2.642224575e-08f, 2.654920738e-08f, 2.667609025e-08f, 2.680289415e-08f, 2.692961889e-08f, 2.705626426e-08f,
+2.718283007e-08f, 2.730931610e-08f, 2.743572217e-08f, 2.756204806e-08f, 2.768829357e-08f, 2.781445851e-08f, 2.794054268e-08f, 2.806654587e-08f, 2.819246788e-08f, 2.831830852e-08f,
+2.844406758e-08f, 2.856974486e-08f, 2.869534017e-08f, 2.882085331e-08f, 2.894628407e-08f, 2.907163226e-08f, 2.919689768e-08f, 2.932208013e-08f, 2.944717941e-08f, 2.957219532e-08f,
+2.969712767e-08f, 2.982197626e-08f, 2.994674089e-08f, 3.007142136e-08f, 3.019601748e-08f, 3.032052904e-08f, 3.044495586e-08f, 3.056929774e-08f, 3.069355447e-08f, 3.081772587e-08f,
+3.094181174e-08f, 3.106581188e-08f, 3.118972609e-08f, 3.131355419e-08f, 3.143729597e-08f, 3.156095124e-08f, 3.168451981e-08f, 3.180800148e-08f, 3.193139605e-08f, 3.205470334e-08f,
+3.217792315e-08f, 3.230105529e-08f, 3.242409955e-08f, 3.254705576e-08f, 3.266992371e-08f, 3.279270321e-08f, 3.291539407e-08f, 3.303799611e-08f, 3.316050911e-08f, 3.328293290e-08f,
+3.340526728e-08f, 3.352751206e-08f, 3.364966705e-08f, 3.377173205e-08f, 3.389370688e-08f, 3.401559135e-08f, 3.413738526e-08f, 3.425908842e-08f, 3.438070065e-08f, 3.450222175e-08f,
+3.462365154e-08f, 3.474498982e-08f, 3.486623640e-08f, 3.498739110e-08f, 3.510845373e-08f, 3.522942409e-08f, 3.535030201e-08f, 3.547108728e-08f, 3.559177973e-08f, 3.571237916e-08f,
+3.583288539e-08f, 3.595329823e-08f, 3.607361749e-08f, 3.619384299e-08f, 3.631397454e-08f, 3.643401195e-08f, 3.655395503e-08f, 3.667380361e-08f, 3.679355748e-08f, 3.691321648e-08f,
+3.703278040e-08f, 3.715224908e-08f, 3.727162231e-08f, 3.739089992e-08f, 3.751008173e-08f, 3.762916754e-08f, 3.774815717e-08f, 3.786705044e-08f, 3.798584717e-08f, 3.810454717e-08f,
+3.822315026e-08f, 3.834165625e-08f, 3.846006497e-08f, 3.857837622e-08f, 3.869658983e-08f, 3.881470561e-08f, 3.893272339e-08f, 3.905064298e-08f, 3.916846419e-08f, 3.928618686e-08f,
+3.940381078e-08f, 3.952133580e-08f, 3.963876171e-08f, 3.975608836e-08f, 3.987331554e-08f, 3.999044309e-08f, 4.010747082e-08f, 4.022439855e-08f, 4.034122611e-08f, 4.045795331e-08f,
+4.057457998e-08f, 4.069110594e-08f, 4.080753100e-08f, 4.092385499e-08f, 4.104007774e-08f, 4.115619906e-08f, 4.127221877e-08f, 4.138813671e-08f, 4.150395268e-08f, 4.161966653e-08f,
+4.173527805e-08f, 4.185078709e-08f, 4.196619347e-08f, 4.208149700e-08f, 4.219669752e-08f, 4.231179484e-08f, 4.242678879e-08f, 4.254167921e-08f, 4.265646590e-08f, 4.277114870e-08f,
+4.288572743e-08f, 4.300020192e-08f, 4.311457200e-08f, 4.322883748e-08f, 4.334299820e-08f, 4.345705398e-08f, 4.357100466e-08f, 4.368485005e-08f, 4.379858998e-08f, 4.391222429e-08f,
+4.402575280e-08f, 4.413917533e-08f, 4.425249172e-08f, 4.436570179e-08f, 4.447880538e-08f, 4.459180231e-08f, 4.470469241e-08f, 4.481747551e-08f, 4.493015144e-08f, 4.504272003e-08f,
+4.515518111e-08f, 4.526753451e-08f, 4.537978006e-08f, 4.549191759e-08f, 4.560394693e-08f, 4.571586792e-08f, 4.582768038e-08f, 4.593938415e-08f, 4.605097906e-08f, 4.616246494e-08f,
+4.627384163e-08f, 4.638510894e-08f, 4.649626673e-08f, 4.660731482e-08f, 4.671825305e-08f, 4.682908124e-08f, 4.693979924e-08f, 4.705040687e-08f, 4.716090398e-08f, 4.727129039e-08f,
+4.738156594e-08f, 4.749173047e-08f, 4.760178380e-08f, 4.771172579e-08f, 4.782155625e-08f, 4.793127504e-08f, 4.804088197e-08f, 4.815037690e-08f, 4.825975965e-08f, 4.836903007e-08f,
+4.847818799e-08f, 4.858723325e-08f, 4.869616568e-08f, 4.880498513e-08f, 4.891369143e-08f, 4.902228442e-08f, 4.913076394e-08f, 4.923912983e-08f, 4.934738192e-08f, 4.945552006e-08f,
+4.956354409e-08f, 4.967145384e-08f, 4.977924916e-08f, 4.988692988e-08f, 4.999449585e-08f, 5.010194691e-08f, 5.020928289e-08f, 5.031650365e-08f, 5.042360901e-08f, 5.053059883e-08f,
+5.063747294e-08f, 5.074423119e-08f, 5.085087342e-08f, 5.095739947e-08f, 5.106380918e-08f, 5.117010241e-08f, 5.127627898e-08f, 5.138233875e-08f, 5.148828156e-08f, 5.159410726e-08f,
+5.169981568e-08f, 5.180540667e-08f, 5.191088008e-08f, 5.201623575e-08f, 5.212147354e-08f, 5.222659327e-08f, 5.233159481e-08f, 5.243647799e-08f, 5.254124266e-08f, 5.264588867e-08f,
+5.275041587e-08f, 5.285482409e-08f, 5.295911320e-08f, 5.306328304e-08f, 5.316733345e-08f, 5.327126429e-08f, 5.337507540e-08f, 5.347876663e-08f, 5.358233783e-08f, 5.368578885e-08f,
+5.378911954e-08f, 5.389232974e-08f, 5.399541931e-08f, 5.409838810e-08f, 5.420123596e-08f, 5.430396274e-08f, 5.440656829e-08f, 5.450905246e-08f, 5.461141510e-08f, 5.471365606e-08f,
+5.481577520e-08f, 5.491777237e-08f, 5.501964742e-08f, 5.512140020e-08f, 5.522303057e-08f, 5.532453838e-08f, 5.542592348e-08f, 5.552718572e-08f, 5.562832497e-08f, 5.572934107e-08f,
+5.583023388e-08f, 5.593100325e-08f, 5.603164905e-08f, 5.613217111e-08f, 5.623256930e-08f, 5.633284348e-08f, 5.643299350e-08f, 5.653301922e-08f, 5.663292049e-08f, 5.673269717e-08f,
+5.683234911e-08f, 5.693187619e-08f, 5.703127824e-08f, 5.713055513e-08f, 5.722970672e-08f, 5.732873287e-08f, 5.742763342e-08f, 5.752640826e-08f, 5.762505722e-08f, 5.772358018e-08f,
+5.782197699e-08f, 5.792024750e-08f, 5.801839159e-08f, 5.811640911e-08f, 5.821429992e-08f, 5.831206389e-08f, 5.840970086e-08f, 5.850721071e-08f, 5.860459330e-08f, 5.870184849e-08f,
+5.879897614e-08f, 5.889597611e-08f, 5.899284826e-08f, 5.908959247e-08f, 5.918620859e-08f, 5.928269648e-08f, 5.937905601e-08f, 5.947528704e-08f, 5.957138944e-08f, 5.966736307e-08f,
+5.976320780e-08f, 5.985892349e-08f, 5.995451000e-08f, 6.004996721e-08f, 6.014529497e-08f, 6.024049316e-08f, 6.033556164e-08f, 6.043050028e-08f, 6.052530893e-08f, 6.061998748e-08f,
+6.071453579e-08f, 6.080895372e-08f, 6.090324115e-08f, 6.099739794e-08f, 6.109142395e-08f, 6.118531907e-08f, 6.127908315e-08f, 6.137271607e-08f, 6.146621770e-08f, 6.155958790e-08f,
+6.165282655e-08f, 6.174593352e-08f, 6.183890867e-08f, 6.193175188e-08f, 6.202446301e-08f, 6.211704195e-08f, 6.220948856e-08f, 6.230180271e-08f, 6.239398428e-08f, 6.248603314e-08f,
+6.257794915e-08f, 6.266973220e-08f, 6.276138216e-08f, 6.285289890e-08f, 6.294428229e-08f, 6.303553221e-08f, 6.312664853e-08f, 6.321763112e-08f, 6.330847987e-08f, 6.339919464e-08f,
+6.348977532e-08f, 6.358022177e-08f, 6.367053388e-08f, 6.376071151e-08f, 6.385075456e-08f, 6.394066288e-08f, 6.403043636e-08f, 6.412007488e-08f, 6.420957831e-08f, 6.429894654e-08f,
+6.438817943e-08f, 6.447727687e-08f, 6.456623874e-08f, 6.465506492e-08f, 6.474375527e-08f, 6.483230969e-08f, 6.492072806e-08f, 6.500901025e-08f, 6.509715614e-08f, 6.518516562e-08f,
+6.527303855e-08f, 6.536077484e-08f, 6.544837435e-08f, 6.553583697e-08f, 6.562316258e-08f, 6.571035107e-08f, 6.579740230e-08f, 6.588431618e-08f, 6.597109257e-08f, 6.605773137e-08f,
+6.614423245e-08f, 6.623059570e-08f, 6.631682101e-08f, 6.640290826e-08f, 6.648885733e-08f, 6.657466810e-08f, 6.666034047e-08f, 6.674587432e-08f, 6.683126953e-08f, 6.691652599e-08f,
+6.700164359e-08f, 6.708662221e-08f, 6.717146173e-08f, 6.725616205e-08f, 6.734072306e-08f, 6.742514464e-08f, 6.750942667e-08f, 6.759356905e-08f, 6.767757167e-08f, 6.776143441e-08f,
+6.784515716e-08f, 6.792873981e-08f, 6.801218225e-08f, 6.809548438e-08f, 6.817864607e-08f, 6.826166723e-08f, 6.834454773e-08f, 6.842728748e-08f, 6.850988636e-08f, 6.859234427e-08f,
+6.867466109e-08f, 6.875683672e-08f, 6.883887105e-08f, 6.892076398e-08f, 6.900251538e-08f, 6.908412517e-08f, 6.916559323e-08f, 6.924691946e-08f, 6.932810374e-08f, 6.940914598e-08f,
+6.949004606e-08f, 6.957080389e-08f, 6.965141936e-08f, 6.973189236e-08f, 6.981222278e-08f, 6.989241053e-08f, 6.997245550e-08f, 7.005235759e-08f, 7.013211669e-08f, 7.021173270e-08f,
+7.029120552e-08f, 7.037053504e-08f, 7.044972117e-08f, 7.052876379e-08f, 7.060766281e-08f, 7.068641814e-08f, 7.076502965e-08f, 7.084349726e-08f, 7.092182087e-08f, 7.100000037e-08f,
+7.107803567e-08f, 7.115592666e-08f, 7.123367324e-08f, 7.131127533e-08f, 7.138873280e-08f, 7.146604558e-08f, 7.154321356e-08f, 7.162023664e-08f, 7.169711472e-08f, 7.177384771e-08f,
+7.185043551e-08f, 7.192687802e-08f, 7.200317515e-08f, 7.207932680e-08f, 7.215533287e-08f, 7.223119326e-08f, 7.230690789e-08f, 7.238247666e-08f, 7.245789947e-08f, 7.253317622e-08f,
+7.260830683e-08f, 7.268329120e-08f, 7.275812923e-08f, 7.283282083e-08f, 7.290736591e-08f, 7.298176438e-08f, 7.305601614e-08f, 7.313012109e-08f, 7.320407916e-08f, 7.327789024e-08f,
+7.335155424e-08f, 7.342507108e-08f, 7.349844065e-08f, 7.357166288e-08f, 7.364473767e-08f, 7.371766493e-08f, 7.379044457e-08f, 7.386307650e-08f, 7.393556063e-08f, 7.400789688e-08f,
+7.408008514e-08f, 7.415212535e-08f, 7.422401740e-08f, 7.429576120e-08f, 7.436735668e-08f, 7.443880375e-08f, 7.451010231e-08f, 7.458125228e-08f, 7.465225357e-08f, 7.472310610e-08f,
+7.479380978e-08f, 7.486436453e-08f, 7.493477026e-08f, 7.500502688e-08f, 7.507513432e-08f, 7.514509248e-08f, 7.521490128e-08f, 7.528456064e-08f, 7.535407047e-08f, 7.542343069e-08f,
+7.549264122e-08f, 7.556170198e-08f, 7.563061288e-08f, 7.569937384e-08f, 7.576798478e-08f, 7.583644561e-08f, 7.590475626e-08f, 7.597291664e-08f, 7.604092668e-08f, 7.610878628e-08f,
+7.617649538e-08f, 7.624405390e-08f, 7.631146174e-08f, 7.637871884e-08f, 7.644582512e-08f, 7.651278048e-08f, 7.657958487e-08f, 7.664623819e-08f, 7.671274038e-08f, 7.677909135e-08f,
+7.684529102e-08f, 7.691133932e-08f, 7.697723618e-08f, 7.704298151e-08f, 7.710857523e-08f, 7.717401729e-08f, 7.723930758e-08f, 7.730444606e-08f, 7.736943262e-08f, 7.743426721e-08f,
+7.749894975e-08f, 7.756348016e-08f, 7.762785837e-08f, 7.769208431e-08f, 7.775615789e-08f, 7.782007906e-08f, 7.788384774e-08f, 7.794746384e-08f, 7.801092731e-08f, 7.807423807e-08f,
+7.813739605e-08f, 7.820040117e-08f, 7.826325337e-08f, 7.832595258e-08f, 7.838849872e-08f, 7.845089172e-08f, 7.851313152e-08f, 7.857521804e-08f, 7.863715122e-08f, 7.869893099e-08f,
+7.876055727e-08f, 7.882203000e-08f, 7.888334911e-08f, 7.894451453e-08f, 7.900552620e-08f, 7.906638405e-08f, 7.912708801e-08f, 7.918763801e-08f, 7.924803399e-08f, 7.930827589e-08f,
+7.936836362e-08f, 7.942829714e-08f, 7.948807637e-08f, 7.954770125e-08f, 7.960717172e-08f, 7.966648771e-08f, 7.972564915e-08f, 7.978465599e-08f, 7.984350815e-08f, 7.990220558e-08f,
+7.996074821e-08f, 8.001913599e-08f, 8.007736884e-08f, 8.013544670e-08f, 8.019336952e-08f, 8.025113723e-08f, 8.030874977e-08f, 8.036620708e-08f, 8.042350910e-08f, 8.048065577e-08f,
+8.053764703e-08f, 8.059448281e-08f, 8.065116306e-08f, 8.070768773e-08f, 8.076405674e-08f, 8.082027005e-08f, 8.087632759e-08f, 8.093222930e-08f, 8.098797513e-08f, 8.104356503e-08f,
+8.109899892e-08f, 8.115427676e-08f, 8.120939850e-08f, 8.126436406e-08f, 8.131917340e-08f, 8.137382647e-08f, 8.142832319e-08f, 8.148266353e-08f, 8.153684743e-08f, 8.159087482e-08f,
+8.164474567e-08f, 8.169845990e-08f, 8.175201747e-08f, 8.180541833e-08f, 8.185866242e-08f, 8.191174970e-08f, 8.196468009e-08f, 8.201745356e-08f, 8.207007006e-08f, 8.212252952e-08f,
+8.217483191e-08f, 8.222697716e-08f, 8.227896523e-08f, 8.233079607e-08f, 8.238246962e-08f, 8.243398584e-08f, 8.248534467e-08f, 8.253654608e-08f, 8.258759000e-08f, 8.263847639e-08f,
+8.268920520e-08f, 8.273977638e-08f, 8.279018989e-08f, 8.284044568e-08f, 8.289054369e-08f, 8.294048389e-08f, 8.299026622e-08f, 8.303989064e-08f, 8.308935711e-08f, 8.313866557e-08f,
+8.318781598e-08f, 8.323680830e-08f, 8.328564248e-08f, 8.333431848e-08f, 8.338283624e-08f, 8.343119574e-08f, 8.347939692e-08f, 8.352743974e-08f, 8.357532415e-08f, 8.362305012e-08f,
+8.367061760e-08f, 8.371802655e-08f, 8.376527692e-08f, 8.381236868e-08f, 8.385930179e-08f, 8.390607619e-08f, 8.395269185e-08f, 8.399914874e-08f, 8.404544680e-08f, 8.409158600e-08f,
+8.413756630e-08f, 8.418338767e-08f, 8.422905005e-08f, 8.427455341e-08f, 8.431989772e-08f, 8.436508293e-08f, 8.441010901e-08f, 8.445497591e-08f, 8.449968361e-08f, 8.454423206e-08f,
+8.458862123e-08f, 8.463285108e-08f, 8.467692157e-08f, 8.472083267e-08f, 8.476458435e-08f, 8.480817656e-08f, 8.485160927e-08f, 8.489488244e-08f, 8.493799605e-08f, 8.498095006e-08f,
+8.502374443e-08f, 8.506637913e-08f, 8.510885413e-08f, 8.515116939e-08f, 8.519332488e-08f, 8.523532056e-08f, 8.527715642e-08f, 8.531883240e-08f, 8.536034849e-08f, 8.540170465e-08f,
+8.544290084e-08f, 8.548393705e-08f, 8.552481323e-08f, 8.556552936e-08f, 8.560608540e-08f, 8.564648134e-08f, 8.568671713e-08f, 8.572679275e-08f, 8.576670818e-08f, 8.580646337e-08f,
+8.584605831e-08f, 8.588549296e-08f, 8.592476730e-08f, 8.596388130e-08f, 8.600283493e-08f, 8.604162818e-08f, 8.608026100e-08f, 8.611873337e-08f, 8.615704527e-08f, 8.619519668e-08f,
+8.623318756e-08f, 8.627101789e-08f, 8.630868766e-08f, 8.634619682e-08f, 8.638354536e-08f, 8.642073326e-08f, 8.645776048e-08f, 8.649462702e-08f, 8.653133284e-08f, 8.656787792e-08f,
+8.660426224e-08f, 8.664048577e-08f, 8.667654850e-08f, 8.671245041e-08f, 8.674819147e-08f, 8.678377166e-08f, 8.681919095e-08f, 8.685444934e-08f, 8.688954680e-08f, 8.692448331e-08f,
+8.695925885e-08f, 8.699387340e-08f, 8.702832694e-08f, 8.706261946e-08f, 8.709675093e-08f, 8.713072134e-08f, 8.716453067e-08f, 8.719817889e-08f, 8.723166601e-08f, 8.726499199e-08f,
+8.729815682e-08f, 8.733116048e-08f, 8.736400296e-08f, 8.739668425e-08f, 8.742920432e-08f, 8.746156316e-08f, 8.749376076e-08f, 8.752579710e-08f, 8.755767217e-08f, 8.758938595e-08f,
+8.762093843e-08f, 8.765232959e-08f, 8.768355943e-08f, 8.771462793e-08f, 8.774553507e-08f, 8.777628085e-08f, 8.780686525e-08f, 8.783728826e-08f, 8.786754987e-08f, 8.789765007e-08f,
+8.792758885e-08f, 8.795736619e-08f, 8.798698209e-08f, 8.801643653e-08f, 8.804572951e-08f, 8.807486102e-08f, 8.810383104e-08f, 8.813263957e-08f, 8.816128661e-08f, 8.818977213e-08f,
+8.821809614e-08f, 8.824625862e-08f, 8.827425957e-08f, 8.830209898e-08f, 8.832977684e-08f, 8.835729315e-08f, 8.838464790e-08f, 8.841184109e-08f, 8.843887270e-08f, 8.846574274e-08f,
+8.849245120e-08f, 8.851899807e-08f, 8.854538335e-08f, 8.857160703e-08f, 8.859766911e-08f, 8.862356959e-08f, 8.864930847e-08f, 8.867488573e-08f, 8.870030138e-08f, 8.872555541e-08f,
+8.875064782e-08f, 8.877557862e-08f, 8.880034779e-08f, 8.882495534e-08f, 8.884940126e-08f, 8.887368556e-08f, 8.889780823e-08f, 8.892176927e-08f, 8.894556869e-08f, 8.896920648e-08f,
+8.899268265e-08f, 8.901599718e-08f, 8.903915010e-08f, 8.906214139e-08f, 8.908497106e-08f, 8.910763911e-08f, 8.913014554e-08f, 8.915249036e-08f, 8.917467357e-08f, 8.919669516e-08f,
+8.921855515e-08f, 8.924025354e-08f, 8.926179033e-08f, 8.928316553e-08f, 8.930437913e-08f, 8.932543116e-08f, 8.934632160e-08f, 8.936705047e-08f, 8.938761776e-08f, 8.940802350e-08f,
+8.942826768e-08f, 8.944835031e-08f, 8.946827139e-08f, 8.948803094e-08f, 8.950762896e-08f, 8.952706545e-08f, 8.954634043e-08f, 8.956545391e-08f, 8.958440589e-08f, 8.960319638e-08f,
+8.962182539e-08f, 8.964029293e-08f, 8.965859901e-08f, 8.967674364e-08f, 8.969472682e-08f, 8.971254858e-08f, 8.973020891e-08f, 8.974770784e-08f, 8.976504537e-08f, 8.978222151e-08f,
+8.979923628e-08f, 8.981608969e-08f, 8.983278175e-08f, 8.984931246e-08f, 8.986568186e-08f, 8.988188994e-08f, 8.989793673e-08f, 8.991382223e-08f, 8.992954646e-08f, 8.994510944e-08f,
+8.996051117e-08f, 8.997575168e-08f, 8.999083098e-08f, 9.000574908e-08f, 9.002050600e-08f, 9.003510176e-08f, 9.004953637e-08f, 9.006380986e-08f, 9.007792222e-08f, 9.009187349e-08f,
+9.010566368e-08f, 9.011929281e-08f, 9.013276089e-08f, 9.014606795e-08f, 9.015921400e-08f, 9.017219907e-08f, 9.018502316e-08f, 9.019768631e-08f, 9.021018852e-08f, 9.022252982e-08f,
+9.023471024e-08f, 9.024672978e-08f, 9.025858847e-08f, 9.027028634e-08f, 9.028182340e-08f, 9.029319968e-08f, 9.030441519e-08f, 9.031546996e-08f, 9.032636401e-08f, 9.033709737e-08f,
+9.034767005e-08f, 9.035808208e-08f, 9.036833349e-08f, 9.037842429e-08f, 9.038835452e-08f, 9.039812419e-08f, 9.040773333e-08f, 9.041718197e-08f, 9.042647013e-08f, 9.043559784e-08f,
+9.044456511e-08f, 9.045337199e-08f, 9.046201849e-08f, 9.047050464e-08f, 9.047883046e-08f, 9.048699600e-08f, 9.049500126e-08f, 9.050284628e-08f, 9.051053110e-08f, 9.051805572e-08f,
+9.052542019e-08f, 9.053262454e-08f, 9.053966878e-08f, 9.054655296e-08f, 9.055327710e-08f, 9.055984123e-08f, 9.056624538e-08f, 9.057248958e-08f, 9.057857387e-08f, 9.058449827e-08f,
+9.059026281e-08f, 9.059586752e-08f, 9.060131245e-08f, 9.060659761e-08f, 9.061172305e-08f, 9.061668879e-08f, 9.062149487e-08f, 9.062614132e-08f, 9.063062817e-08f, 9.063495546e-08f,
+9.063912322e-08f, 9.064313148e-08f, 9.064698029e-08f, 9.065066967e-08f, 9.065419966e-08f, 9.065757030e-08f, 9.066078162e-08f, 9.066383365e-08f, 9.066672644e-08f, 9.066946002e-08f,
+9.067203442e-08f, 9.067444969e-08f, 9.067670585e-08f, 9.067880296e-08f, 9.068074103e-08f, 9.068252013e-08f, 9.068414027e-08f, 9.068560150e-08f, 9.068690387e-08f, 9.068804740e-08f,
+9.068903213e-08f, 9.068985812e-08f, 9.069052539e-08f, 9.069103399e-08f, 9.069138396e-08f, 9.069157533e-08f, 9.069160816e-08f, 9.069148247e-08f, 9.069119832e-08f, 9.069075574e-08f,
+9.069015478e-08f, 9.068939547e-08f, 9.068847787e-08f, 9.068740201e-08f, 9.068616794e-08f, 9.068477569e-08f, 9.068322532e-08f, 9.068151687e-08f, 9.067965038e-08f, 9.067762590e-08f,
+9.067544347e-08f, 9.067310313e-08f, 9.067060494e-08f, 9.066794893e-08f, 9.066513516e-08f, 9.066216366e-08f, 9.065903449e-08f, 9.065574769e-08f, 9.065230331e-08f, 9.064870140e-08f,
+9.064494199e-08f, 9.064102515e-08f, 9.063695092e-08f, 9.063271935e-08f, 9.062833048e-08f, 9.062378436e-08f, 9.061908105e-08f, 9.061422059e-08f, 9.060920303e-08f, 9.060402842e-08f,
+9.059869682e-08f, 9.059320826e-08f, 9.058756281e-08f, 9.058176051e-08f, 9.057580142e-08f, 9.056968558e-08f, 9.056341305e-08f, 9.055698388e-08f, 9.055039812e-08f, 9.054365582e-08f,
+9.053675704e-08f, 9.052970183e-08f, 9.052249024e-08f, 9.051512233e-08f, 9.050759814e-08f, 9.049991774e-08f, 9.049208118e-08f, 9.048408851e-08f, 9.047593979e-08f, 9.046763507e-08f,
+9.045917440e-08f, 9.045055785e-08f, 9.044178547e-08f, 9.043285731e-08f, 9.042377343e-08f, 9.041453389e-08f, 9.040513875e-08f, 9.039558806e-08f, 9.038588187e-08f, 9.037602025e-08f,
+9.036600326e-08f, 9.035583095e-08f, 9.034550337e-08f, 9.033502060e-08f, 9.032438269e-08f, 9.031358969e-08f, 9.030264167e-08f, 9.029153869e-08f, 9.028028080e-08f, 9.026886807e-08f,
+9.025730056e-08f, 9.024557833e-08f, 9.023370143e-08f, 9.022166994e-08f, 9.020948390e-08f, 9.019714339e-08f, 9.018464846e-08f, 9.017199918e-08f, 9.015919561e-08f, 9.014623782e-08f,
+9.013312586e-08f, 9.011985979e-08f, 9.010643969e-08f, 9.009286562e-08f, 9.007913764e-08f, 9.006525581e-08f, 9.005122020e-08f, 9.003703087e-08f, 9.002268789e-08f, 9.000819133e-08f,
+8.999354125e-08f, 8.997873771e-08f, 8.996378078e-08f, 8.994867053e-08f, 8.993340703e-08f, 8.991799033e-08f, 8.990242052e-08f, 8.988669765e-08f, 8.987082179e-08f, 8.985479302e-08f,
+8.983861139e-08f, 8.982227698e-08f, 8.980578986e-08f, 8.978915009e-08f, 8.977235774e-08f, 8.975541289e-08f, 8.973831560e-08f, 8.972106595e-08f, 8.970366399e-08f, 8.968610981e-08f,
+8.966840347e-08f, 8.965054505e-08f, 8.963253461e-08f, 8.961437223e-08f, 8.959605798e-08f, 8.957759193e-08f, 8.955897415e-08f, 8.954020471e-08f, 8.952128369e-08f, 8.950221116e-08f,
+8.948298720e-08f, 8.946361187e-08f, 8.944408525e-08f, 8.942440741e-08f, 8.940457843e-08f, 8.938459839e-08f, 8.936446735e-08f, 8.934418539e-08f, 8.932375259e-08f, 8.930316901e-08f,
+8.928243475e-08f, 8.926154987e-08f, 8.924051445e-08f, 8.921932856e-08f, 8.919799229e-08f, 8.917650570e-08f, 8.915486888e-08f, 8.913308191e-08f, 8.911114485e-08f, 8.908905779e-08f,
+8.906682081e-08f, 8.904443398e-08f, 8.902189739e-08f, 8.899921110e-08f, 8.897637521e-08f, 8.895338978e-08f, 8.893025491e-08f, 8.890697066e-08f, 8.888353712e-08f, 8.885995437e-08f,
+8.883622249e-08f, 8.881234156e-08f, 8.878831166e-08f, 8.876413288e-08f, 8.873980528e-08f, 8.871532896e-08f, 8.869070400e-08f, 8.866593048e-08f, 8.864100847e-08f, 8.861593807e-08f,
+8.859071936e-08f, 8.856535242e-08f, 8.853983733e-08f, 8.851417418e-08f, 8.848836304e-08f, 8.846240401e-08f, 8.843629717e-08f, 8.841004261e-08f, 8.838364040e-08f, 8.835709063e-08f,
+8.833039339e-08f, 8.830354876e-08f, 8.827655684e-08f, 8.824941770e-08f, 8.822213142e-08f, 8.819469811e-08f, 8.816711784e-08f, 8.813939070e-08f, 8.811151678e-08f, 8.808349617e-08f,
+8.805532895e-08f, 8.802701520e-08f, 8.799855503e-08f, 8.796994852e-08f, 8.794119575e-08f, 8.791229681e-08f, 8.788325180e-08f, 8.785406080e-08f, 8.782472390e-08f, 8.779524119e-08f,
+8.776561277e-08f, 8.773583871e-08f, 8.770591912e-08f, 8.767585408e-08f, 8.764564369e-08f, 8.761528803e-08f, 8.758478719e-08f, 8.755414128e-08f, 8.752335037e-08f, 8.749241456e-08f,
+8.746133395e-08f, 8.743010862e-08f, 8.739873867e-08f, 8.736722420e-08f, 8.733556528e-08f, 8.730376203e-08f, 8.727181453e-08f, 8.723972287e-08f, 8.720748715e-08f, 8.717510747e-08f,
+8.714258391e-08f, 8.710991658e-08f, 8.707710557e-08f, 8.704415097e-08f, 8.701105288e-08f, 8.697781139e-08f, 8.694442661e-08f, 8.691089862e-08f, 8.687722752e-08f, 8.684341341e-08f,
+8.680945639e-08f, 8.677535655e-08f, 8.674111400e-08f, 8.670672882e-08f, 8.667220112e-08f, 8.663753099e-08f, 8.660271853e-08f, 8.656776384e-08f, 8.653266703e-08f, 8.649742818e-08f,
+8.646204740e-08f, 8.642652478e-08f, 8.639086043e-08f, 8.635505444e-08f, 8.631910692e-08f, 8.628301797e-08f, 8.624678768e-08f, 8.621041616e-08f, 8.617390350e-08f, 8.613724982e-08f,
+8.610045520e-08f, 8.606351976e-08f, 8.602644359e-08f, 8.598922679e-08f, 8.595186947e-08f, 8.591437173e-08f, 8.587673367e-08f, 8.583895540e-08f, 8.580103702e-08f, 8.576297863e-08f,
+8.572478033e-08f, 8.568644223e-08f, 8.564796443e-08f, 8.560934704e-08f, 8.557059017e-08f, 8.553169390e-08f, 8.549265836e-08f, 8.545348365e-08f, 8.541416986e-08f, 8.537471711e-08f,
+8.533512550e-08f, 8.529539514e-08f, 8.525552614e-08f, 8.521551860e-08f, 8.517537262e-08f, 8.513508831e-08f, 8.509466579e-08f, 8.505410516e-08f, 8.501340652e-08f, 8.497256998e-08f,
+8.493159565e-08f, 8.489048364e-08f, 8.484923406e-08f, 8.480784702e-08f, 8.476632262e-08f, 8.472466097e-08f, 8.468286219e-08f, 8.464092637e-08f, 8.459885364e-08f, 8.455664410e-08f,
+8.451429786e-08f, 8.447181503e-08f, 8.442919573e-08f, 8.438644005e-08f, 8.434354812e-08f, 8.430052004e-08f, 8.425735593e-08f, 8.421405589e-08f, 8.417062005e-08f, 8.412704850e-08f,
+8.408334136e-08f, 8.403949875e-08f, 8.399552078e-08f, 8.395140756e-08f, 8.390715920e-08f, 8.386277582e-08f, 8.381825752e-08f, 8.377360443e-08f, 8.372881665e-08f, 8.368389431e-08f,
+8.363883751e-08f, 8.359364637e-08f, 8.354832100e-08f, 8.350286153e-08f, 8.345726805e-08f, 8.341154070e-08f, 8.336567957e-08f, 8.331968480e-08f, 8.327355650e-08f, 8.322729477e-08f,
+8.318089974e-08f, 8.313437153e-08f, 8.308771025e-08f, 8.304091602e-08f, 8.299398895e-08f, 8.294692916e-08f, 8.289973677e-08f, 8.285241190e-08f, 8.280495467e-08f, 8.275736518e-08f,
+8.270964357e-08f, 8.266178995e-08f, 8.261380444e-08f, 8.256568715e-08f, 8.251743821e-08f, 8.246905774e-08f, 8.242054585e-08f, 8.237190267e-08f, 8.232312831e-08f, 8.227422290e-08f,
+8.222518655e-08f, 8.217601938e-08f, 8.212672153e-08f, 8.207729310e-08f, 8.202773421e-08f, 8.197804500e-08f, 8.192822558e-08f, 8.187827607e-08f, 8.182819659e-08f, 8.177798728e-08f,
+8.172764824e-08f, 8.167717960e-08f, 8.162658148e-08f, 8.157585401e-08f, 8.152499731e-08f, 8.147401151e-08f, 8.142289672e-08f, 8.137165306e-08f, 8.132028068e-08f, 8.126877968e-08f,
+8.121715019e-08f, 8.116539234e-08f, 8.111350625e-08f, 8.106149205e-08f, 8.100934985e-08f, 8.095707979e-08f, 8.090468200e-08f, 8.085215659e-08f, 8.079950369e-08f, 8.074672343e-08f,
+8.069381593e-08f, 8.064078133e-08f, 8.058761974e-08f, 8.053433130e-08f, 8.048091613e-08f, 8.042737435e-08f, 8.037370610e-08f, 8.031991151e-08f, 8.026599069e-08f, 8.021194378e-08f,
+8.015777091e-08f, 8.010347220e-08f, 8.004904779e-08f, 7.999449780e-08f, 7.993982236e-08f, 7.988502159e-08f, 7.983009564e-08f, 7.977504462e-08f, 7.971986867e-08f, 7.966456792e-08f,
+7.960914249e-08f, 7.955359252e-08f, 7.949791814e-08f, 7.944211947e-08f, 7.938619666e-08f, 7.933014982e-08f, 7.927397909e-08f, 7.921768461e-08f, 7.916126649e-08f, 7.910472488e-08f,
+7.904805991e-08f, 7.899127170e-08f, 7.893436040e-08f, 7.887732613e-08f, 7.882016902e-08f, 7.876288921e-08f, 7.870548682e-08f, 7.864796201e-08f, 7.859031488e-08f, 7.853254559e-08f,
+7.847465426e-08f, 7.841664103e-08f, 7.835850603e-08f, 7.830024940e-08f, 7.824187126e-08f, 7.818337176e-08f, 7.812475103e-08f, 7.806600920e-08f, 7.800714640e-08f, 7.794816278e-08f,
+7.788905847e-08f, 7.782983361e-08f, 7.777048832e-08f, 7.771102275e-08f, 7.765143703e-08f, 7.759173130e-08f, 7.753190570e-08f, 7.747196035e-08f, 7.741189541e-08f, 7.735171099e-08f,
+7.729140725e-08f, 7.723098432e-08f, 7.717044234e-08f, 7.710978144e-08f, 7.704900176e-08f, 7.698810344e-08f, 7.692708662e-08f, 7.686595144e-08f, 7.680469803e-08f, 7.674332653e-08f,
+7.668183709e-08f, 7.662022984e-08f, 7.655850492e-08f, 7.649666247e-08f, 7.643470263e-08f, 7.637262553e-08f, 7.631043133e-08f, 7.624812015e-08f, 7.618569215e-08f, 7.612314745e-08f,
+7.606048621e-08f, 7.599770855e-08f, 7.593481463e-08f, 7.587180458e-08f, 7.580867854e-08f, 7.574543666e-08f, 7.568207907e-08f, 7.561860593e-08f, 7.555501736e-08f, 7.549131352e-08f,
+7.542749454e-08f, 7.536356057e-08f, 7.529951174e-08f, 7.523534821e-08f, 7.517107012e-08f, 7.510667760e-08f, 7.504217080e-08f, 7.497754987e-08f, 7.491281495e-08f, 7.484796617e-08f,
+7.478300370e-08f, 7.471792766e-08f, 7.465273821e-08f, 7.458743548e-08f, 7.452201963e-08f, 7.445649080e-08f, 7.439084913e-08f, 7.432509476e-08f, 7.425922785e-08f, 7.419324853e-08f,
+7.412715696e-08f, 7.406095327e-08f, 7.399463762e-08f, 7.392821015e-08f, 7.386167101e-08f, 7.379502034e-08f, 7.372825829e-08f, 7.366138500e-08f, 7.359440063e-08f, 7.352730531e-08f,
+7.346009921e-08f, 7.339278245e-08f, 7.332535520e-08f, 7.325781759e-08f, 7.319016978e-08f, 7.312241192e-08f, 7.305454414e-08f, 7.298656661e-08f, 7.291847946e-08f, 7.285028285e-08f,
+7.278197693e-08f, 7.271356184e-08f, 7.264503773e-08f, 7.257640475e-08f, 7.250766306e-08f, 7.243881279e-08f, 7.236985411e-08f, 7.230078715e-08f, 7.223161208e-08f, 7.216232903e-08f,
+7.209293816e-08f, 7.202343963e-08f, 7.195383357e-08f, 7.188412014e-08f, 7.181429950e-08f, 7.174437179e-08f, 7.167433716e-08f, 7.160419576e-08f, 7.153394775e-08f, 7.146359328e-08f,
+7.139313250e-08f, 7.132256555e-08f, 7.125189260e-08f, 7.118111380e-08f, 7.111022929e-08f, 7.103923923e-08f, 7.096814377e-08f, 7.089694307e-08f, 7.082563727e-08f, 7.075422653e-08f,
+7.068271100e-08f, 7.061109085e-08f, 7.053936621e-08f, 7.046753724e-08f, 7.039560410e-08f, 7.032356694e-08f, 7.025142591e-08f, 7.017918118e-08f, 7.010683288e-08f, 7.003438118e-08f,
+6.996182624e-08f, 6.988916820e-08f, 6.981640722e-08f, 6.974354345e-08f, 6.967057706e-08f, 6.959750819e-08f, 6.952433701e-08f, 6.945106366e-08f, 6.937768830e-08f, 6.930421109e-08f,
+6.923063219e-08f, 6.915695174e-08f, 6.908316991e-08f, 6.900928686e-08f, 6.893530273e-08f, 6.886121769e-08f, 6.878703189e-08f, 6.871274549e-08f, 6.863835864e-08f, 6.856387151e-08f,
+6.848928425e-08f, 6.841459702e-08f, 6.833980997e-08f, 6.826492327e-08f, 6.818993707e-08f, 6.811485152e-08f, 6.803966679e-08f, 6.796438304e-08f, 6.788900042e-08f, 6.781351909e-08f,
+6.773793922e-08f, 6.766226095e-08f, 6.758648445e-08f, 6.751060988e-08f, 6.743463739e-08f, 6.735856715e-08f, 6.728239931e-08f, 6.720613404e-08f, 6.712977149e-08f, 6.705331182e-08f,
+6.697675520e-08f, 6.690010179e-08f, 6.682335173e-08f, 6.674650520e-08f, 6.666956236e-08f, 6.659252335e-08f, 6.651538836e-08f, 6.643815753e-08f, 6.636083103e-08f, 6.628340902e-08f,
+6.620589165e-08f, 6.612827910e-08f, 6.605057152e-08f, 6.597276907e-08f, 6.589487192e-08f, 6.581688023e-08f, 6.573879416e-08f, 6.566061386e-08f, 6.558233951e-08f, 6.550397127e-08f,
+6.542550929e-08f, 6.534695375e-08f, 6.526830480e-08f, 6.518956260e-08f, 6.511072732e-08f, 6.503179913e-08f, 6.495277818e-08f, 6.487366464e-08f, 6.479445867e-08f, 6.471516043e-08f,
+6.463577010e-08f, 6.455628783e-08f, 6.447671378e-08f, 6.439704813e-08f, 6.431729103e-08f, 6.423744264e-08f, 6.415750314e-08f, 6.407747269e-08f, 6.399735145e-08f, 6.391713959e-08f,
+6.383683727e-08f, 6.375644466e-08f, 6.367596192e-08f, 6.359538921e-08f, 6.351472671e-08f, 6.343397457e-08f, 6.335313297e-08f, 6.327220206e-08f, 6.319118202e-08f, 6.311007301e-08f,
+6.302887520e-08f, 6.294758874e-08f, 6.286621382e-08f, 6.278475059e-08f, 6.270319922e-08f, 6.262155988e-08f, 6.253983273e-08f, 6.245801794e-08f, 6.237611568e-08f, 6.229412612e-08f,
+6.221204941e-08f, 6.212988574e-08f, 6.204763526e-08f, 6.196529814e-08f, 6.188287456e-08f, 6.180036467e-08f, 6.171776865e-08f, 6.163508667e-08f, 6.155231888e-08f, 6.146946547e-08f,
+6.138652659e-08f, 6.130350242e-08f, 6.122039313e-08f, 6.113719887e-08f, 6.105391983e-08f, 6.097055617e-08f, 6.088710806e-08f, 6.080357567e-08f, 6.071995916e-08f, 6.063625871e-08f,
+6.055247449e-08f, 6.046860666e-08f, 6.038465539e-08f, 6.030062086e-08f, 6.021650322e-08f, 6.013230267e-08f, 6.004801935e-08f, 5.996365345e-08f, 5.987920513e-08f, 5.979467456e-08f,
+5.971006191e-08f, 5.962536736e-08f, 5.954059107e-08f, 5.945573322e-08f, 5.937079397e-08f, 5.928577349e-08f, 5.920067196e-08f, 5.911548955e-08f, 5.903022642e-08f, 5.894488276e-08f,
+5.885945872e-08f, 5.877395449e-08f, 5.868837022e-08f, 5.860270611e-08f, 5.851696230e-08f, 5.843113899e-08f, 5.834523633e-08f, 5.825925451e-08f, 5.817319369e-08f, 5.808705404e-08f,
+5.800083574e-08f, 5.791453896e-08f, 5.782816387e-08f, 5.774171065e-08f, 5.765517946e-08f, 5.756857048e-08f, 5.748188388e-08f, 5.739511984e-08f, 5.730827852e-08f, 5.722136011e-08f,
+5.713436477e-08f, 5.704729267e-08f, 5.696014400e-08f, 5.687291892e-08f, 5.678561760e-08f, 5.669824023e-08f, 5.661078697e-08f, 5.652325799e-08f, 5.643565348e-08f, 5.634797360e-08f,
+5.626021853e-08f, 5.617238845e-08f, 5.608448352e-08f, 5.599650392e-08f, 5.590844983e-08f, 5.582032141e-08f, 5.573211886e-08f, 5.564384233e-08f, 5.555549200e-08f, 5.546706805e-08f,
+5.537857065e-08f, 5.528999999e-08f, 5.520135622e-08f, 5.511263953e-08f, 5.502385010e-08f, 5.493498809e-08f, 5.484605369e-08f, 5.475704706e-08f, 5.466796839e-08f, 5.457881785e-08f,
+5.448959561e-08f, 5.440030186e-08f, 5.431093676e-08f, 5.422150049e-08f, 5.413199323e-08f, 5.404241516e-08f, 5.395276645e-08f, 5.386304727e-08f, 5.377325780e-08f, 5.368339823e-08f,
+5.359346872e-08f, 5.350346945e-08f, 5.341340060e-08f, 5.332326235e-08f, 5.323305486e-08f, 5.314277833e-08f, 5.305243292e-08f, 5.296201882e-08f, 5.287153619e-08f, 5.278098522e-08f,
+5.269036608e-08f, 5.259967895e-08f, 5.250892401e-08f, 5.241810144e-08f, 5.232721141e-08f, 5.223625410e-08f, 5.214522969e-08f, 5.205413835e-08f, 5.196298026e-08f, 5.187175561e-08f,
+5.178046457e-08f, 5.168910731e-08f, 5.159768401e-08f, 5.150619486e-08f, 5.141464003e-08f, 5.132301970e-08f, 5.123133405e-08f, 5.113958325e-08f, 5.104776749e-08f, 5.095588693e-08f,
+5.086394177e-08f, 5.077193218e-08f, 5.067985834e-08f, 5.058772042e-08f, 5.049551861e-08f, 5.040325309e-08f, 5.031092403e-08f, 5.021853161e-08f, 5.012607601e-08f, 5.003355742e-08f,
+4.994097600e-08f, 4.984833194e-08f, 4.975562542e-08f, 4.966285662e-08f, 4.957002572e-08f, 4.947713289e-08f, 4.938417832e-08f, 4.929116219e-08f, 4.919808467e-08f, 4.910494594e-08f,
+4.901174620e-08f, 4.891848560e-08f, 4.882516435e-08f, 4.873178260e-08f, 4.863834055e-08f, 4.854483838e-08f, 4.845127626e-08f, 4.835765438e-08f, 4.826397292e-08f, 4.817023205e-08f,
+4.807643195e-08f, 4.798257282e-08f, 4.788865482e-08f, 4.779467814e-08f, 4.770064295e-08f, 4.760654945e-08f, 4.751239781e-08f, 4.741818821e-08f, 4.732392082e-08f, 4.722959585e-08f,
+4.713521345e-08f, 4.704077382e-08f, 4.694627714e-08f, 4.685172358e-08f, 4.675711333e-08f, 4.666244656e-08f, 4.656772347e-08f, 4.647294423e-08f, 4.637810903e-08f, 4.628321803e-08f,
+4.618827143e-08f, 4.609326941e-08f, 4.599821215e-08f, 4.590309983e-08f, 4.580793263e-08f, 4.571271074e-08f, 4.561743433e-08f, 4.552210358e-08f, 4.542671869e-08f, 4.533127983e-08f,
+4.523578718e-08f, 4.514024092e-08f, 4.504464124e-08f, 4.494898832e-08f, 4.485328235e-08f, 4.475752349e-08f, 4.466171194e-08f, 4.456584788e-08f, 4.446993149e-08f, 4.437396295e-08f,
+4.427794244e-08f, 4.418187016e-08f, 4.408574627e-08f, 4.398957096e-08f, 4.389334442e-08f, 4.379706683e-08f, 4.370073837e-08f, 4.360435922e-08f, 4.350792956e-08f, 4.341144959e-08f,
+4.331491947e-08f, 4.321833940e-08f, 4.312170955e-08f, 4.302503012e-08f, 4.292830128e-08f, 4.283152321e-08f, 4.273469610e-08f, 4.263782013e-08f, 4.254089549e-08f, 4.244392236e-08f,
+4.234690091e-08f, 4.224983135e-08f, 4.215271384e-08f, 4.205554857e-08f, 4.195833572e-08f, 4.186107548e-08f, 4.176376804e-08f, 4.166641356e-08f, 4.156901225e-08f, 4.147156428e-08f,
+4.137406983e-08f, 4.127652909e-08f, 4.117894224e-08f, 4.108130947e-08f, 4.098363096e-08f, 4.088590689e-08f, 4.078813745e-08f, 4.069032282e-08f, 4.059246319e-08f, 4.049455873e-08f,
+4.039660963e-08f, 4.029861609e-08f, 4.020057827e-08f, 4.010249636e-08f, 4.000437055e-08f, 3.990620103e-08f, 3.980798797e-08f, 3.970973156e-08f, 3.961143198e-08f, 3.951308943e-08f,
+3.941470407e-08f, 3.931627610e-08f, 3.921780571e-08f, 3.911929307e-08f, 3.902073836e-08f, 3.892214178e-08f, 3.882350351e-08f, 3.872482373e-08f, 3.862610263e-08f, 3.852734038e-08f,
+3.842853719e-08f, 3.832969322e-08f, 3.823080866e-08f, 3.813188371e-08f, 3.803291854e-08f, 3.793391333e-08f, 3.783486828e-08f, 3.773578356e-08f, 3.763665936e-08f, 3.753749587e-08f,
+3.743829328e-08f, 3.733905175e-08f, 3.723977149e-08f, 3.714045266e-08f, 3.704109547e-08f, 3.694170009e-08f, 3.684226671e-08f, 3.674279552e-08f, 3.664328669e-08f, 3.654374041e-08f,
+3.644415687e-08f, 3.634453625e-08f, 3.624487874e-08f, 3.614518453e-08f, 3.604545379e-08f, 3.594568671e-08f, 3.584588347e-08f, 3.574604427e-08f, 3.564616928e-08f, 3.554625870e-08f,
+3.544631270e-08f, 3.534633147e-08f, 3.524631520e-08f, 3.514626407e-08f, 3.504617827e-08f, 3.494605798e-08f, 3.484590338e-08f, 3.474571466e-08f, 3.464549201e-08f, 3.454523562e-08f,
+3.444494565e-08f, 3.434462231e-08f, 3.424426578e-08f, 3.414387623e-08f, 3.404345387e-08f, 3.394299886e-08f, 3.384251141e-08f, 3.374199168e-08f, 3.364143987e-08f, 3.354085616e-08f,
+3.344024074e-08f, 3.333959380e-08f, 3.323891551e-08f, 3.313820606e-08f, 3.303746564e-08f, 3.293669444e-08f, 3.283589263e-08f, 3.273506041e-08f, 3.263419795e-08f, 3.253330545e-08f,
+3.243238309e-08f, 3.233143105e-08f, 3.223044952e-08f, 3.212943869e-08f, 3.202839873e-08f, 3.192732985e-08f, 3.182623221e-08f, 3.172510601e-08f, 3.162395142e-08f, 3.152276865e-08f,
+3.142155786e-08f, 3.132031925e-08f, 3.121905301e-08f, 3.111775931e-08f, 3.101643834e-08f, 3.091509029e-08f, 3.081371534e-08f, 3.071231368e-08f, 3.061088549e-08f, 3.050943096e-08f,
+3.040795027e-08f, 3.030644361e-08f, 3.020491117e-08f, 3.010335312e-08f, 3.000176966e-08f, 2.990016097e-08f, 2.979852723e-08f, 2.969686863e-08f, 2.959518536e-08f, 2.949347759e-08f,
+2.939174552e-08f, 2.928998933e-08f, 2.918820921e-08f, 2.908640533e-08f, 2.898457790e-08f, 2.888272708e-08f, 2.878085307e-08f, 2.867895605e-08f, 2.857703620e-08f, 2.847509372e-08f,
+2.837312878e-08f, 2.827114157e-08f, 2.816913228e-08f, 2.806710109e-08f, 2.796504819e-08f, 2.786297376e-08f, 2.776087799e-08f, 2.765876105e-08f, 2.755662315e-08f, 2.745446445e-08f,
+2.735228515e-08f, 2.725008543e-08f, 2.714786548e-08f, 2.704562548e-08f, 2.694336561e-08f, 2.684108607e-08f, 2.673878703e-08f, 2.663646868e-08f, 2.653413121e-08f, 2.643177480e-08f,
+2.632939963e-08f, 2.622700589e-08f, 2.612459377e-08f, 2.602216345e-08f, 2.591971511e-08f, 2.581724894e-08f, 2.571476512e-08f, 2.561226384e-08f, 2.550974529e-08f, 2.540720964e-08f,
+2.530465708e-08f, 2.520208781e-08f, 2.509950199e-08f, 2.499689982e-08f, 2.489428148e-08f, 2.479164716e-08f, 2.468899703e-08f, 2.458633129e-08f, 2.448365012e-08f, 2.438095370e-08f,
+2.427824222e-08f, 2.417551586e-08f, 2.407277481e-08f, 2.397001925e-08f, 2.386724936e-08f, 2.376446533e-08f, 2.366166735e-08f, 2.355885560e-08f, 2.345603025e-08f, 2.335319151e-08f,
+2.325033954e-08f, 2.314747454e-08f, 2.304459669e-08f, 2.294170617e-08f, 2.283880317e-08f, 2.273588786e-08f, 2.263296045e-08f, 2.253002110e-08f, 2.242707001e-08f, 2.232410735e-08f,
+2.222113332e-08f, 2.211814809e-08f, 2.201515185e-08f, 2.191214478e-08f, 2.180912707e-08f, 2.170609889e-08f, 2.160306045e-08f, 2.150001191e-08f, 2.139695346e-08f, 2.129388528e-08f,
+2.119080757e-08f, 2.108772049e-08f, 2.098462425e-08f, 2.088151901e-08f, 2.077840496e-08f, 2.067528229e-08f, 2.057215118e-08f, 2.046901182e-08f, 2.036586438e-08f, 2.026270904e-08f,
+2.015954601e-08f, 2.005637545e-08f, 1.995319754e-08f, 1.985001248e-08f, 1.974682045e-08f, 1.964362162e-08f, 1.954041619e-08f, 1.943720433e-08f, 1.933398623e-08f, 1.923076207e-08f,
+1.912753203e-08f, 1.902429630e-08f, 1.892105506e-08f, 1.881780849e-08f, 1.871455678e-08f, 1.861130010e-08f, 1.850803865e-08f, 1.840477260e-08f, 1.830150213e-08f, 1.819822743e-08f,
+1.809494868e-08f, 1.799166607e-08f, 1.788837977e-08f, 1.778508997e-08f, 1.768179684e-08f, 1.757850059e-08f, 1.747520137e-08f, 1.737189938e-08f, 1.726859481e-08f, 1.716528782e-08f,
+1.706197861e-08f, 1.695866735e-08f, 1.685535423e-08f, 1.675203943e-08f, 1.664872313e-08f, 1.654540551e-08f, 1.644208676e-08f, 1.633876705e-08f, 1.623544657e-08f, 1.613212551e-08f,
+1.602880403e-08f, 1.592548233e-08f, 1.582216058e-08f, 1.571883897e-08f, 1.561551768e-08f, 1.551219688e-08f, 1.540887677e-08f, 1.530555752e-08f, 1.520223931e-08f, 1.509892232e-08f,
+1.499560674e-08f, 1.489229275e-08f, 1.478898052e-08f, 1.468567024e-08f, 1.458236209e-08f, 1.447905626e-08f, 1.437575291e-08f, 1.427245223e-08f, 1.416915441e-08f, 1.406585961e-08f,
+1.396256804e-08f, 1.385927985e-08f, 1.375599524e-08f, 1.365271439e-08f, 1.354943747e-08f, 1.344616467e-08f, 1.334289616e-08f, 1.323963213e-08f, 1.313637276e-08f, 1.303311822e-08f,
+1.292986870e-08f, 1.282662437e-08f, 1.272338543e-08f, 1.262015203e-08f, 1.251692438e-08f, 1.241370264e-08f, 1.231048700e-08f, 1.220727763e-08f, 1.210407471e-08f, 1.200087844e-08f,
+1.189768897e-08f, 1.179450650e-08f, 1.169133120e-08f, 1.158816325e-08f, 1.148500284e-08f, 1.138185013e-08f, 1.127870532e-08f, 1.117556857e-08f, 1.107244007e-08f, 1.096931999e-08f,
+1.086620853e-08f, 1.076310584e-08f, 1.066001212e-08f, 1.055692754e-08f, 1.045385228e-08f, 1.035078652e-08f, 1.024773043e-08f, 1.014468420e-08f, 1.004164801e-08f, 9.938622024e-09f,
+9.835606431e-09f, 9.732601406e-09f, 9.629607127e-09f, 9.526623773e-09f, 9.423651522e-09f, 9.320690550e-09f, 9.217741037e-09f, 9.114803159e-09f, 9.011877095e-09f, 8.908963022e-09f,
+8.806061118e-09f, 8.703171560e-09f, 8.600294525e-09f, 8.497430191e-09f, 8.394578735e-09f, 8.291740334e-09f, 8.188915166e-09f, 8.086103407e-09f, 7.983305235e-09f, 7.880520826e-09f,
+7.777750357e-09f, 7.674994005e-09f, 7.572251946e-09f, 7.469524358e-09f, 7.366811416e-09f, 7.264113298e-09f, 7.161430179e-09f, 7.058762236e-09f, 6.956109645e-09f, 6.853472583e-09f,
+6.750851225e-09f, 6.648245747e-09f, 6.545656326e-09f, 6.443083137e-09f, 6.340526356e-09f, 6.237986159e-09f, 6.135462722e-09f, 6.032956219e-09f, 5.930466827e-09f, 5.827994721e-09f,
+5.725540076e-09f, 5.623103068e-09f, 5.520683871e-09f, 5.418282661e-09f, 5.315899613e-09f, 5.213534901e-09f, 5.111188701e-09f, 5.008861188e-09f, 4.906552536e-09f, 4.804262919e-09f,
+4.701992513e-09f, 4.599741491e-09f, 4.497510029e-09f, 4.395298300e-09f, 4.293106478e-09f, 4.190934739e-09f, 4.088783255e-09f, 3.986652201e-09f, 3.884541751e-09f, 3.782452078e-09f,
+3.680383357e-09f, 3.578335760e-09f, 3.476309462e-09f, 3.374304636e-09f, 3.272321455e-09f, 3.170360093e-09f, 3.068420722e-09f, 2.966503517e-09f, 2.864608649e-09f, 2.762736293e-09f,
+2.660886620e-09f, 2.559059804e-09f, 2.457256017e-09f, 2.355475433e-09f, 2.253718222e-09f, 2.151984559e-09f, 2.050274615e-09f, 1.948588563e-09f, 1.846926574e-09f, 1.745288821e-09f,
+1.643675476e-09f, 1.542086711e-09f, 1.440522697e-09f, 1.338983607e-09f, 1.237469611e-09f, 1.135980882e-09f, 1.034517591e-09f, 9.330799091e-10f, 8.316680079e-10f, 7.302820585e-10f,
+6.289222319e-10f, 5.275886993e-10f, 4.262816314e-10f, 3.250011991e-10f, 2.237475732e-10f, 1.225209243e-10f, 2.132142281e-11f, -7.985076068e-11f, -1.809954559e-10f, -2.821124925e-10f,
+-3.832017004e-10f, -4.842629095e-10f, -5.852959498e-10f, -6.863006515e-10f, -7.872768447e-10f, -8.882243599e-10f, -9.891430273e-10f, -1.090032678e-09f, -1.190893141e-09f, -1.291724249e-09f,
+-1.392525831e-09f, -1.493297720e-09f, -1.594039745e-09f, -1.694751738e-09f, -1.795433530e-09f, -1.896084953e-09f, -1.996705837e-09f, -2.097296015e-09f, -2.197855317e-09f, -2.298383576e-09f,
+-2.398880623e-09f, -2.499346290e-09f, -2.599780409e-09f, -2.700182813e-09f, -2.800553333e-09f, -2.900891801e-09f, -3.001198051e-09f, -3.101471914e-09f, -3.201713224e-09f, -3.301921812e-09f,
+-3.402097513e-09f, -3.502240157e-09f, -3.602349580e-09f, -3.702425613e-09f, -3.802468089e-09f, -3.902476843e-09f, -4.002451708e-09f, -4.102392517e-09f, -4.202299104e-09f, -4.302171302e-09f,
+-4.402008946e-09f, -4.501811869e-09f, -4.601579905e-09f, -4.701312889e-09f, -4.801010654e-09f, -4.900673036e-09f, -5.000299869e-09f, -5.099890986e-09f, -5.199446224e-09f, -5.298965416e-09f,
+-5.398448398e-09f, -5.497895005e-09f, -5.597305071e-09f, -5.696678433e-09f, -5.796014924e-09f, -5.895314382e-09f, -5.994576641e-09f, -6.093801537e-09f, -6.192988905e-09f, -6.292138583e-09f,
+-6.391250405e-09f, -6.490324208e-09f, -6.589359828e-09f, -6.688357102e-09f, -6.787315865e-09f, -6.886235955e-09f, -6.985117207e-09f, -7.083959460e-09f, -7.182762549e-09f, -7.281526312e-09f,
+-7.380250586e-09f, -7.478935209e-09f, -7.577580016e-09f, -7.676184847e-09f, -7.774749538e-09f, -7.873273927e-09f, -7.971757852e-09f, -8.070201152e-09f, -8.168603663e-09f, -8.266965224e-09f,
+-8.365285674e-09f, -8.463564850e-09f, -8.561802592e-09f, -8.659998738e-09f, -8.758153126e-09f, -8.856265596e-09f, -8.954335987e-09f, -9.052364136e-09f, -9.150349885e-09f, -9.248293072e-09f,
+-9.346193536e-09f, -9.444051117e-09f, -9.541865656e-09f, -9.639636990e-09f, -9.737364961e-09f, -9.835049409e-09f, -9.932690173e-09f, -1.003028709e-08f, -1.012784001e-08f, -1.022534877e-08f,
+-1.032281320e-08f, -1.042023316e-08f, -1.051760847e-08f, -1.061493899e-08f, -1.071222455e-08f, -1.080946499e-08f, -1.090666015e-08f, -1.100380989e-08f, -1.110091403e-08f, -1.119797242e-08f,
+-1.129498490e-08f, -1.139195132e-08f, -1.148887151e-08f, -1.158574532e-08f, -1.168257259e-08f, -1.177935316e-08f, -1.187608688e-08f, -1.197277358e-08f, -1.206941312e-08f, -1.216600533e-08f,
+-1.226255006e-08f, -1.235904714e-08f, -1.245549644e-08f, -1.255189777e-08f, -1.264825100e-08f, -1.274455597e-08f, -1.284081251e-08f, -1.293702047e-08f, -1.303317970e-08f, -1.312929005e-08f,
+-1.322535134e-08f, -1.332136344e-08f, -1.341732618e-08f, -1.351323941e-08f, -1.360910297e-08f, -1.370491671e-08f, -1.380068048e-08f, -1.389639412e-08f, -1.399205747e-08f, -1.408767038e-08f,
+-1.418323270e-08f, -1.427874426e-08f, -1.437420493e-08f, -1.446961454e-08f, -1.456497294e-08f, -1.466027998e-08f, -1.475553550e-08f, -1.485073934e-08f, -1.494589137e-08f, -1.504099142e-08f,
+-1.513603933e-08f, -1.523103497e-08f, -1.532597817e-08f, -1.542086878e-08f, -1.551570665e-08f, -1.561049163e-08f, -1.570522356e-08f, -1.579990229e-08f, -1.589452768e-08f, -1.598909956e-08f,
+-1.608361779e-08f, -1.617808222e-08f, -1.627249269e-08f, -1.636684906e-08f, -1.646115116e-08f, -1.655539886e-08f, -1.664959200e-08f, -1.674373042e-08f, -1.683781399e-08f, -1.693184254e-08f,
+-1.702581594e-08f, -1.711973402e-08f, -1.721359663e-08f, -1.730740364e-08f, -1.740115488e-08f, -1.749485022e-08f, -1.758848949e-08f, -1.768207255e-08f, -1.777559926e-08f, -1.786906945e-08f,
+-1.796248299e-08f, -1.805583972e-08f, -1.814913950e-08f, -1.824238217e-08f, -1.833556759e-08f, -1.842869561e-08f, -1.852176609e-08f, -1.861477887e-08f, -1.870773380e-08f, -1.880063075e-08f,
+-1.889346955e-08f, -1.898625007e-08f, -1.907897216e-08f, -1.917163567e-08f, -1.926424045e-08f, -1.935678635e-08f, -1.944927324e-08f, -1.954170096e-08f, -1.963406936e-08f, -1.972637831e-08f,
+-1.981862764e-08f, -1.991081723e-08f, -2.000294692e-08f, -2.009501657e-08f, -2.018702603e-08f, -2.027897515e-08f, -2.037086380e-08f, -2.046269182e-08f, -2.055445907e-08f, -2.064616541e-08f,
+-2.073781069e-08f, -2.082939477e-08f, -2.092091750e-08f, -2.101237874e-08f, -2.110377834e-08f, -2.119511617e-08f, -2.128639207e-08f, -2.137760590e-08f, -2.146875753e-08f, -2.155984680e-08f,
+-2.165087358e-08f, -2.174183772e-08f, -2.183273907e-08f, -2.192357750e-08f, -2.201435286e-08f, -2.210506501e-08f, -2.219571381e-08f, -2.228629912e-08f, -2.237682079e-08f, -2.246727868e-08f,
+-2.255767266e-08f, -2.264800257e-08f, -2.273826828e-08f, -2.282846965e-08f, -2.291860653e-08f, -2.300867879e-08f, -2.309868628e-08f, -2.318862886e-08f, -2.327850640e-08f, -2.336831875e-08f,
+-2.345806577e-08f, -2.354774733e-08f, -2.363736328e-08f, -2.372691348e-08f, -2.381639780e-08f, -2.390581609e-08f, -2.399516821e-08f, -2.408445403e-08f, -2.417367341e-08f, -2.426282621e-08f,
+-2.435191228e-08f, -2.444093150e-08f, -2.452988372e-08f, -2.461876881e-08f, -2.470758663e-08f, -2.479633703e-08f, -2.488501988e-08f, -2.497363505e-08f, -2.506218240e-08f, -2.515066179e-08f,
+-2.523907308e-08f, -2.532741613e-08f, -2.541569082e-08f, -2.550389699e-08f, -2.559203453e-08f, -2.568010328e-08f, -2.576810312e-08f, -2.585603390e-08f, -2.594389550e-08f, -2.603168778e-08f,
+-2.611941059e-08f, -2.620706382e-08f, -2.629464731e-08f, -2.638216094e-08f, -2.646960457e-08f, -2.655697807e-08f, -2.664428130e-08f, -2.673151413e-08f, -2.681867642e-08f, -2.690576804e-08f,
+-2.699278886e-08f, -2.707973874e-08f, -2.716661754e-08f, -2.725342515e-08f, -2.734016141e-08f, -2.742682621e-08f, -2.751341940e-08f, -2.759994085e-08f, -2.768639044e-08f, -2.777276802e-08f,
+-2.785907347e-08f, -2.794530666e-08f, -2.803146745e-08f, -2.811755570e-08f, -2.820357130e-08f, -2.828951411e-08f, -2.837538399e-08f, -2.846118082e-08f, -2.854690446e-08f, -2.863255479e-08f,
+-2.871813167e-08f, -2.880363497e-08f, -2.888906457e-08f, -2.897442033e-08f, -2.905970212e-08f, -2.914490981e-08f, -2.923004328e-08f, -2.931510239e-08f, -2.940008702e-08f, -2.948499703e-08f,
+-2.956983230e-08f, -2.965459270e-08f, -2.973927810e-08f, -2.982388836e-08f, -2.990842337e-08f, -2.999288300e-08f, -3.007726711e-08f, -3.016157558e-08f, -3.024580829e-08f, -3.032996509e-08f,
+-3.041404588e-08f, -3.049805051e-08f, -3.058197887e-08f, -3.066583082e-08f, -3.074960625e-08f, -3.083330501e-08f, -3.091692699e-08f, -3.100047207e-08f, -3.108394011e-08f, -3.116733099e-08f,
+-3.125064458e-08f, -3.133388076e-08f, -3.141703940e-08f, -3.150012039e-08f, -3.158312358e-08f, -3.166604887e-08f, -3.174889611e-08f, -3.183166520e-08f, -3.191435601e-08f, -3.199696840e-08f,
+-3.207950227e-08f, -3.216195747e-08f, -3.224433390e-08f, -3.232663143e-08f, -3.240884993e-08f, -3.249098928e-08f, -3.257304936e-08f, -3.265503005e-08f, -3.273693121e-08f, -3.281875274e-08f,
+-3.290049451e-08f, -3.298215640e-08f, -3.306373828e-08f, -3.314524004e-08f, -3.322666155e-08f, -3.330800268e-08f, -3.338926333e-08f, -3.347044337e-08f, -3.355154268e-08f, -3.363256113e-08f,
+-3.371349862e-08f, -3.379435501e-08f, -3.387513018e-08f, -3.395582403e-08f, -3.403643642e-08f, -3.411696724e-08f, -3.419741637e-08f, -3.427778369e-08f, -3.435806909e-08f, -3.443827243e-08f,
+-3.451839361e-08f, -3.459843250e-08f, -3.467838899e-08f, -3.475826296e-08f, -3.483805429e-08f, -3.491776286e-08f, -3.499738856e-08f, -3.507693127e-08f, -3.515639087e-08f, -3.523576725e-08f,
+-3.531506028e-08f, -3.539426985e-08f, -3.547339585e-08f, -3.555243815e-08f, -3.563139665e-08f, -3.571027123e-08f, -3.578906176e-08f, -3.586776814e-08f, -3.594639025e-08f, -3.602492797e-08f,
+-3.610338120e-08f, -3.618174980e-08f, -3.626003368e-08f, -3.633823271e-08f, -3.641634679e-08f, -3.649437579e-08f, -3.657231960e-08f, -3.665017811e-08f, -3.672795121e-08f, -3.680563878e-08f,
+-3.688324071e-08f, -3.696075689e-08f, -3.703818720e-08f, -3.711553153e-08f, -3.719278976e-08f, -3.726996180e-08f, -3.734704751e-08f, -3.742404680e-08f, -3.750095955e-08f, -3.757778565e-08f,
+-3.765452498e-08f, -3.773117744e-08f, -3.780774292e-08f, -3.788422130e-08f, -3.796061247e-08f, -3.803691633e-08f, -3.811313276e-08f, -3.818926165e-08f, -3.826530289e-08f, -3.834125637e-08f,
+-3.841712199e-08f, -3.849289964e-08f, -3.856858920e-08f, -3.864419056e-08f, -3.871970362e-08f, -3.879512827e-08f, -3.887046440e-08f, -3.894571190e-08f, -3.902087067e-08f, -3.909594059e-08f,
+-3.917092155e-08f, -3.924581346e-08f, -3.932061621e-08f, -3.939532968e-08f, -3.946995376e-08f, -3.954448836e-08f, -3.961893337e-08f, -3.969328868e-08f, -3.976755417e-08f, -3.984172976e-08f,
+-3.991581533e-08f, -3.998981077e-08f, -4.006371599e-08f, -4.013753087e-08f, -4.021125531e-08f, -4.028488920e-08f, -4.035843245e-08f, -4.043188494e-08f, -4.050524657e-08f, -4.057851724e-08f,
+-4.065169684e-08f, -4.072478528e-08f, -4.079778244e-08f, -4.087068822e-08f, -4.094350253e-08f, -4.101622525e-08f, -4.108885628e-08f, -4.116139552e-08f, -4.123384288e-08f, -4.130619824e-08f,
+-4.137846151e-08f, -4.145063257e-08f, -4.152271134e-08f, -4.159469771e-08f, -4.166659158e-08f, -4.173839285e-08f, -4.181010141e-08f, -4.188171717e-08f, -4.195324002e-08f, -4.202466987e-08f,
+-4.209600661e-08f, -4.216725015e-08f, -4.223840038e-08f, -4.230945721e-08f, -4.238042053e-08f, -4.245129025e-08f, -4.252206627e-08f, -4.259274849e-08f, -4.266333681e-08f, -4.273383113e-08f,
+-4.280423135e-08f, -4.287453739e-08f, -4.294474912e-08f, -4.301486647e-08f, -4.308488934e-08f, -4.315481762e-08f, -4.322465121e-08f, -4.329439003e-08f, -4.336403398e-08f, -4.343358295e-08f,
+-4.350303686e-08f, -4.357239560e-08f, -4.364165908e-08f, -4.371082721e-08f, -4.377989989e-08f, -4.384887702e-08f, -4.391775851e-08f, -4.398654426e-08f, -4.405523419e-08f, -4.412382819e-08f,
+-4.419232617e-08f, -4.426072803e-08f, -4.432903369e-08f, -4.439724304e-08f, -4.446535601e-08f, -4.453337248e-08f, -4.460129237e-08f, -4.466911559e-08f, -4.473684204e-08f, -4.480447163e-08f,
+-4.487200426e-08f, -4.493943986e-08f, -4.500677831e-08f, -4.507401954e-08f, -4.514116345e-08f, -4.520820995e-08f, -4.527515895e-08f, -4.534201035e-08f, -4.540876407e-08f, -4.547542001e-08f,
+-4.554197809e-08f, -4.560843822e-08f, -4.567480030e-08f, -4.574106424e-08f, -4.580722996e-08f, -4.587329736e-08f, -4.593926636e-08f, -4.600513687e-08f, -4.607090880e-08f, -4.613658206e-08f,
+-4.620215656e-08f, -4.626763221e-08f, -4.633300893e-08f, -4.639828662e-08f, -4.646346521e-08f, -4.652854460e-08f, -4.659352470e-08f, -4.665840543e-08f, -4.672318671e-08f, -4.678786844e-08f,
+-4.685245053e-08f, -4.691693291e-08f, -4.698131549e-08f, -4.704559817e-08f, -4.710978088e-08f, -4.717386353e-08f, -4.723784603e-08f, -4.730172830e-08f, -4.736551026e-08f, -4.742919181e-08f,
+-4.749277288e-08f, -4.755625338e-08f, -4.761963323e-08f, -4.768291234e-08f, -4.774609063e-08f, -4.780916801e-08f, -4.787214441e-08f, -4.793501974e-08f, -4.799779391e-08f, -4.806046685e-08f,
+-4.812303847e-08f, -4.818550868e-08f, -4.824787742e-08f, -4.831014459e-08f, -4.837231011e-08f, -4.843437391e-08f, -4.849633590e-08f, -4.855819600e-08f, -4.861995412e-08f, -4.868161020e-08f,
+-4.874316415e-08f, -4.880461588e-08f, -4.886596532e-08f, -4.892721239e-08f, -4.898835700e-08f, -4.904939909e-08f, -4.911033857e-08f, -4.917117535e-08f, -4.923190937e-08f, -4.929254055e-08f,
+-4.935306880e-08f, -4.941349404e-08f, -4.947381621e-08f, -4.953403521e-08f, -4.959415098e-08f, -4.965416344e-08f, -4.971407250e-08f, -4.977387810e-08f, -4.983358016e-08f, -4.989317859e-08f,
+-4.995267332e-08f, -5.001206428e-08f, -5.007135139e-08f, -5.013053458e-08f, -5.018961376e-08f, -5.024858887e-08f, -5.030745983e-08f, -5.036622656e-08f, -5.042488899e-08f, -5.048344704e-08f,
+-5.054190065e-08f, -5.060024973e-08f, -5.065849421e-08f, -5.071663402e-08f, -5.077466909e-08f, -5.083259934e-08f, -5.089042469e-08f, -5.094814509e-08f, -5.100576044e-08f, -5.106327069e-08f,
+-5.112067575e-08f, -5.117797556e-08f, -5.123517005e-08f, -5.129225913e-08f, -5.134924275e-08f, -5.140612083e-08f, -5.146289330e-08f, -5.151956009e-08f, -5.157612112e-08f, -5.163257633e-08f,
+-5.168892565e-08f, -5.174516900e-08f, -5.180130632e-08f, -5.185733754e-08f, -5.191326259e-08f, -5.196908140e-08f, -5.202479389e-08f, -5.208040001e-08f, -5.213589968e-08f, -5.219129284e-08f,
+-5.224657941e-08f, -5.230175933e-08f, -5.235683253e-08f, -5.241179894e-08f, -5.246665850e-08f, -5.252141114e-08f, -5.257605679e-08f, -5.263059538e-08f, -5.268502685e-08f, -5.273935114e-08f,
+-5.279356817e-08f, -5.284767788e-08f, -5.290168021e-08f, -5.295557508e-08f, -5.300936244e-08f, -5.306304222e-08f, -5.311661436e-08f, -5.317007878e-08f, -5.322343542e-08f, -5.327668423e-08f,
+-5.332982514e-08f, -5.338285808e-08f, -5.343578298e-08f, -5.348859980e-08f, -5.354130845e-08f, -5.359390889e-08f, -5.364640104e-08f, -5.369878485e-08f, -5.375106025e-08f, -5.380322719e-08f,
+-5.385528558e-08f, -5.390723539e-08f, -5.395907654e-08f, -5.401080898e-08f, -5.406243264e-08f, -5.411394746e-08f, -5.416535338e-08f, -5.421665034e-08f, -5.426783828e-08f, -5.431891715e-08f,
+-5.436988687e-08f, -5.442074740e-08f, -5.447149866e-08f, -5.452214061e-08f, -5.457267319e-08f, -5.462309632e-08f, -5.467340997e-08f, -5.472361406e-08f, -5.477370854e-08f, -5.482369335e-08f,
+-5.487356844e-08f, -5.492333374e-08f, -5.497298921e-08f, -5.502253477e-08f, -5.507197038e-08f, -5.512129598e-08f, -5.517051151e-08f, -5.521961692e-08f, -5.526861214e-08f, -5.531749713e-08f,
+-5.536627183e-08f, -5.541493618e-08f, -5.546349013e-08f, -5.551193362e-08f, -5.556026659e-08f, -5.560848901e-08f, -5.565660080e-08f, -5.570460191e-08f, -5.575249230e-08f, -5.580027190e-08f,
+-5.584794066e-08f, -5.589549854e-08f, -5.594294547e-08f, -5.599028141e-08f, -5.603750630e-08f, -5.608462008e-08f, -5.613162271e-08f, -5.617851414e-08f, -5.622529431e-08f, -5.627196317e-08f,
+-5.631852068e-08f, -5.636496676e-08f, -5.641130139e-08f, -5.645752450e-08f, -5.650363605e-08f, -5.654963599e-08f, -5.659552426e-08f, -5.664130081e-08f, -5.668696561e-08f, -5.673251858e-08f,
+-5.677795970e-08f, -5.682328890e-08f, -5.686850614e-08f, -5.691361137e-08f, -5.695860455e-08f, -5.700348561e-08f, -5.704825452e-08f, -5.709291123e-08f, -5.713745569e-08f, -5.718188785e-08f,
+-5.722620767e-08f, -5.727041510e-08f, -5.731451008e-08f, -5.735849259e-08f, -5.740236256e-08f, -5.744611995e-08f, -5.748976472e-08f, -5.753329682e-08f, -5.757671620e-08f, -5.762002283e-08f,
+-5.766321665e-08f, -5.770629762e-08f, -5.774926569e-08f, -5.779212083e-08f, -5.783486298e-08f, -5.787749211e-08f, -5.792000816e-08f, -5.796241110e-08f, -5.800470088e-08f, -5.804687746e-08f,
+-5.808894079e-08f, -5.813089084e-08f, -5.817272756e-08f, -5.821445090e-08f, -5.825606083e-08f, -5.829755730e-08f, -5.833894028e-08f, -5.838020972e-08f, -5.842136557e-08f, -5.846240781e-08f,
+-5.850333638e-08f, -5.854415125e-08f, -5.858485237e-08f, -5.862543971e-08f, -5.866591323e-08f, -5.870627288e-08f, -5.874651863e-08f, -5.878665044e-08f, -5.882666826e-08f, -5.886657207e-08f,
+-5.890636181e-08f, -5.894603746e-08f, -5.898559897e-08f, -5.902504630e-08f, -5.906437943e-08f, -5.910359830e-08f, -5.914270288e-08f, -5.918169314e-08f, -5.922056904e-08f, -5.925933054e-08f,
+-5.929797760e-08f, -5.933651020e-08f, -5.937492828e-08f, -5.941323182e-08f, -5.945142078e-08f, -5.948949513e-08f, -5.952745482e-08f, -5.956529983e-08f, -5.960303012e-08f, -5.964064565e-08f,
+-5.967814639e-08f, -5.971553231e-08f, -5.975280337e-08f, -5.978995954e-08f, -5.982700078e-08f, -5.986392706e-08f, -5.990073835e-08f, -5.993743462e-08f, -5.997401582e-08f, -6.001048194e-08f,
+-6.004683293e-08f, -6.008306877e-08f, -6.011918942e-08f, -6.015519485e-08f, -6.019108503e-08f, -6.022685992e-08f, -6.026251951e-08f, -6.029806375e-08f, -6.033349261e-08f, -6.036880607e-08f,
+-6.040400410e-08f, -6.043908666e-08f, -6.047405372e-08f, -6.050890526e-08f, -6.054364125e-08f, -6.057826165e-08f, -6.061276644e-08f, -6.064715559e-08f, -6.068142907e-08f, -6.071558685e-08f,
+-6.074962890e-08f, -6.078355520e-08f, -6.081736572e-08f, -6.085106043e-08f, -6.088463930e-08f, -6.091810231e-08f, -6.095144943e-08f, -6.098468063e-08f, -6.101779588e-08f, -6.105079517e-08f,
+-6.108367846e-08f, -6.111644573e-08f, -6.114909695e-08f, -6.118163210e-08f, -6.121405115e-08f, -6.124635408e-08f, -6.127854086e-08f, -6.131061146e-08f, -6.134256587e-08f, -6.137440407e-08f,
+-6.140612601e-08f, -6.143773169e-08f, -6.146922108e-08f, -6.150059415e-08f, -6.153185088e-08f, -6.156299125e-08f, -6.159401524e-08f, -6.162492283e-08f, -6.165571398e-08f, -6.168638869e-08f,
+-6.171694692e-08f, -6.174738866e-08f, -6.177771389e-08f, -6.180792258e-08f, -6.183801471e-08f, -6.186799027e-08f, -6.189784922e-08f, -6.192759156e-08f, -6.195721726e-08f, -6.198672631e-08f,
+-6.201611867e-08f, -6.204539434e-08f, -6.207455329e-08f, -6.210359550e-08f, -6.213252096e-08f, -6.216132965e-08f, -6.219002155e-08f, -6.221859663e-08f, -6.224705489e-08f, -6.227539630e-08f,
+-6.230362085e-08f, -6.233172852e-08f, -6.235971930e-08f, -6.238759316e-08f, -6.241535008e-08f, -6.244299006e-08f, -6.247051308e-08f, -6.249791911e-08f, -6.252520815e-08f, -6.255238018e-08f,
+-6.257943518e-08f, -6.260637314e-08f, -6.263319405e-08f, -6.265989788e-08f, -6.268648462e-08f, -6.271295427e-08f, -6.273930679e-08f, -6.276554219e-08f, -6.279166045e-08f, -6.281766155e-08f,
+-6.284354548e-08f, -6.286931223e-08f, -6.289496178e-08f, -6.292049413e-08f, -6.294590925e-08f, -6.297120714e-08f, -6.299638779e-08f, -6.302145117e-08f, -6.304639729e-08f, -6.307122613e-08f,
+-6.309593768e-08f, -6.312053192e-08f, -6.314500886e-08f, -6.316936847e-08f, -6.319361074e-08f, -6.321773567e-08f, -6.324174325e-08f, -6.326563346e-08f, -6.328940629e-08f, -6.331306175e-08f,
+-6.333659981e-08f, -6.336002047e-08f, -6.338332373e-08f, -6.340650956e-08f, -6.342957797e-08f, -6.345252894e-08f, -6.347536247e-08f, -6.349807855e-08f, -6.352067718e-08f, -6.354315833e-08f,
+-6.356552202e-08f, -6.358776823e-08f, -6.360989695e-08f, -6.363190818e-08f, -6.365380192e-08f, -6.367557815e-08f, -6.369723687e-08f, -6.371877807e-08f, -6.374020175e-08f, -6.376150791e-08f,
+-6.378269654e-08f, -6.380376763e-08f, -6.382472119e-08f, -6.384555719e-08f, -6.386627565e-08f, -6.388687656e-08f, -6.390735992e-08f, -6.392772571e-08f, -6.394797394e-08f, -6.396810460e-08f,
+-6.398811770e-08f, -6.400801323e-08f, -6.402779118e-08f, -6.404745155e-08f, -6.406699435e-08f, -6.408641957e-08f, -6.410572721e-08f, -6.412491726e-08f, -6.414398973e-08f, -6.416294462e-08f,
+-6.418178192e-08f, -6.420050164e-08f, -6.421910376e-08f, -6.423758831e-08f, -6.425595526e-08f, -6.427420463e-08f, -6.429233641e-08f, -6.431035061e-08f, -6.432824722e-08f, -6.434602625e-08f,
+-6.436368770e-08f, -6.438123157e-08f, -6.439865786e-08f, -6.441596658e-08f, -6.443315771e-08f, -6.445023128e-08f, -6.446718728e-08f, -6.448402571e-08f, -6.450074658e-08f, -6.451734988e-08f,
+-6.453383563e-08f, -6.455020382e-08f, -6.456645447e-08f, -6.458258757e-08f, -6.459860312e-08f, -6.461450114e-08f, -6.463028163e-08f, -6.464594459e-08f, -6.466149003e-08f, -6.467691794e-08f,
+-6.469222835e-08f, -6.470742125e-08f, -6.472249665e-08f, -6.473745455e-08f, -6.475229497e-08f, -6.476701790e-08f, -6.478162336e-08f, -6.479611135e-08f, -6.481048188e-08f, -6.482473496e-08f,
+-6.483887059e-08f, -6.485288878e-08f, -6.486678954e-08f, -6.488057287e-08f, -6.489423879e-08f, -6.490778731e-08f, -6.492121843e-08f, -6.493453216e-08f, -6.494772851e-08f, -6.496080750e-08f,
+-6.497376912e-08f, -6.498661339e-08f, -6.499934032e-08f, -6.501194992e-08f, -6.502444220e-08f, -6.503681717e-08f, -6.504907485e-08f, -6.506121523e-08f, -6.507323834e-08f, -6.508514418e-08f,
+-6.509693277e-08f, -6.510860412e-08f, -6.512015824e-08f, -6.513159514e-08f, -6.514291484e-08f, -6.515411734e-08f, -6.516520267e-08f, -6.517617083e-08f, -6.518702183e-08f, -6.519775570e-08f,
+-6.520837244e-08f, -6.521887206e-08f, -6.522925459e-08f, -6.523952003e-08f, -6.524966841e-08f, -6.525969972e-08f, -6.526961400e-08f, -6.527941126e-08f, -6.528909150e-08f, -6.529865475e-08f,
+-6.530810102e-08f, -6.531743032e-08f, -6.532664268e-08f, -6.533573811e-08f, -6.534471663e-08f, -6.535357825e-08f, -6.536232298e-08f, -6.537095085e-08f, -6.537946188e-08f, -6.538785608e-08f,
+-6.539613347e-08f, -6.540429406e-08f, -6.541233788e-08f, -6.542026494e-08f, -6.542807526e-08f, -6.543576886e-08f, -6.544334577e-08f, -6.545080599e-08f, -6.545814954e-08f, -6.546537646e-08f,
+-6.547248675e-08f, -6.547948044e-08f, -6.548635754e-08f, -6.549311808e-08f, -6.549976208e-08f, -6.550628956e-08f, -6.551270053e-08f, -6.551899503e-08f, -6.552517307e-08f, -6.553123467e-08f,
+-6.553717985e-08f, -6.554300864e-08f, -6.554872106e-08f, -6.555431713e-08f, -6.555979687e-08f, -6.556516031e-08f, -6.557040747e-08f, -6.557553837e-08f, -6.558055304e-08f, -6.558545149e-08f,
+-6.559023376e-08f, -6.559489986e-08f, -6.559944982e-08f, -6.560388367e-08f, -6.560820142e-08f, -6.561240311e-08f, -6.561648876e-08f, -6.562045839e-08f, -6.562431204e-08f, -6.562804971e-08f,
+-6.563167145e-08f, -6.563517727e-08f, -6.563856720e-08f, -6.564184127e-08f, -6.564499951e-08f, -6.564804194e-08f, -6.565096858e-08f, -6.565377947e-08f, -6.565647464e-08f, -6.565905410e-08f,
+-6.566151789e-08f, -6.566386604e-08f, -6.566609857e-08f, -6.566821551e-08f, -6.567021689e-08f, -6.567210274e-08f, -6.567387309e-08f, -6.567552796e-08f, -6.567706739e-08f, -6.567849141e-08f,
+-6.567980004e-08f, -6.568099331e-08f, -6.568207126e-08f, -6.568303391e-08f, -6.568388130e-08f, -6.568461345e-08f, -6.568523040e-08f, -6.568573218e-08f, -6.568611881e-08f, -6.568639034e-08f,
+-6.568654679e-08f, -6.568658819e-08f, -6.568651457e-08f, -6.568632597e-08f, -6.568602243e-08f, -6.568560396e-08f, -6.568507061e-08f, -6.568442241e-08f, -6.568365938e-08f, -6.568278157e-08f,
+-6.568178901e-08f, -6.568068173e-08f, -6.567945977e-08f, -6.567812315e-08f, -6.567667192e-08f, -6.567510610e-08f, -6.567342574e-08f, -6.567163087e-08f, -6.566972152e-08f, -6.566769772e-08f,
+-6.566555952e-08f, -6.566330695e-08f, -6.566094004e-08f, -6.565845883e-08f, -6.565586336e-08f, -6.565315366e-08f, -6.565032977e-08f, -6.564739173e-08f, -6.564433957e-08f, -6.564117333e-08f,
+-6.563789305e-08f, -6.563449877e-08f, -6.563099052e-08f, -6.562736833e-08f, -6.562363226e-08f, -6.561978234e-08f, -6.561581860e-08f, -6.561174108e-08f, -6.560754983e-08f, -6.560324488e-08f,
+-6.559882628e-08f, -6.559429405e-08f, -6.558964825e-08f, -6.558488890e-08f, -6.558001606e-08f, -6.557502975e-08f, -6.556993003e-08f, -6.556471693e-08f, -6.555939049e-08f, -6.555395076e-08f,
+-6.554839777e-08f, -6.554273156e-08f, -6.553695218e-08f, -6.553105967e-08f, -6.552505408e-08f, -6.551893543e-08f, -6.551270378e-08f, -6.550635917e-08f, -6.549990164e-08f, -6.549333123e-08f,
+-6.548664799e-08f, -6.547985196e-08f, -6.547294318e-08f, -6.546592170e-08f, -6.545878755e-08f, -6.545154079e-08f, -6.544418146e-08f, -6.543670960e-08f, -6.542912526e-08f, -6.542142848e-08f,
+-6.541361931e-08f, -6.540569779e-08f, -6.539766397e-08f, -6.538951788e-08f, -6.538125959e-08f, -6.537288913e-08f, -6.536440655e-08f, -6.535581190e-08f, -6.534710522e-08f, -6.533828655e-08f,
+-6.532935596e-08f, -6.532031347e-08f, -6.531115915e-08f, -6.530189303e-08f, -6.529251517e-08f, -6.528302561e-08f, -6.527342440e-08f, -6.526371159e-08f, -6.525388722e-08f, -6.524395135e-08f,
+-6.523390402e-08f, -6.522374528e-08f, -6.521347519e-08f, -6.520309378e-08f, -6.519260112e-08f, -6.518199724e-08f, -6.517128220e-08f, -6.516045605e-08f, -6.514951884e-08f, -6.513847062e-08f,
+-6.512731144e-08f, -6.511604134e-08f, -6.510466039e-08f, -6.509316863e-08f, -6.508156611e-08f, -6.506985288e-08f, -6.505802900e-08f, -6.504609452e-08f, -6.503404949e-08f, -6.502189395e-08f,
+-6.500962797e-08f, -6.499725160e-08f, -6.498476489e-08f, -6.497216788e-08f, -6.495946064e-08f, -6.494664322e-08f, -6.493371566e-08f, -6.492067803e-08f, -6.490753038e-08f, -6.489427276e-08f,
+-6.488090523e-08f, -6.486742783e-08f, -6.485384063e-08f, -6.484014368e-08f, -6.482633703e-08f, -6.481242074e-08f, -6.479839486e-08f, -6.478425945e-08f, -6.477001456e-08f, -6.475566026e-08f,
+-6.474119658e-08f, -6.472662361e-08f, -6.471194137e-08f, -6.469714995e-08f, -6.468224938e-08f, -6.466723973e-08f, -6.465212105e-08f, -6.463689341e-08f, -6.462155685e-08f, -6.460611144e-08f,
+-6.459055723e-08f, -6.457489429e-08f, -6.455912266e-08f, -6.454324241e-08f, -6.452725359e-08f, -6.451115627e-08f, -6.449495050e-08f, -6.447863635e-08f, -6.446221386e-08f, -6.444568310e-08f,
+-6.442904413e-08f, -6.441229701e-08f, -6.439544180e-08f, -6.437847855e-08f, -6.436140734e-08f, -6.434422821e-08f, -6.432694123e-08f, -6.430954645e-08f, -6.429204395e-08f, -6.427443378e-08f,
+-6.425671600e-08f, -6.423889068e-08f, -6.422095786e-08f, -6.420291763e-08f, -6.418477003e-08f, -6.416651513e-08f, -6.414815299e-08f, -6.412968368e-08f, -6.411110725e-08f, -6.409242377e-08f,
+-6.407363331e-08f, -6.405473592e-08f, -6.403573167e-08f, -6.401662061e-08f, -6.399740283e-08f, -6.397807837e-08f, -6.395864731e-08f, -6.393910970e-08f, -6.391946561e-08f, -6.389971510e-08f,
+-6.387985825e-08f, -6.385989511e-08f, -6.383982575e-08f, -6.381965023e-08f, -6.379936862e-08f, -6.377898099e-08f, -6.375848739e-08f, -6.373788791e-08f, -6.371718259e-08f, -6.369637151e-08f,
+-6.367545473e-08f, -6.365443233e-08f, -6.363330436e-08f, -6.361207089e-08f, -6.359073200e-08f, -6.356928774e-08f, -6.354773819e-08f, -6.352608341e-08f, -6.350432346e-08f, -6.348245843e-08f,
+-6.346048837e-08f, -6.343841335e-08f, -6.341623345e-08f, -6.339394872e-08f, -6.337155924e-08f, -6.334906508e-08f, -6.332646631e-08f, -6.330376299e-08f, -6.328095519e-08f, -6.325804299e-08f,
+-6.323502645e-08f, -6.321190564e-08f, -6.318868063e-08f, -6.316535150e-08f, -6.314191831e-08f, -6.311838113e-08f, -6.309474004e-08f, -6.307099510e-08f, -6.304714639e-08f, -6.302319397e-08f,
+-6.299913792e-08f, -6.297497831e-08f, -6.295071520e-08f, -6.292634868e-08f, -6.290187882e-08f, -6.287730568e-08f, -6.285262933e-08f, -6.282784986e-08f, -6.280296733e-08f, -6.277798182e-08f,
+-6.275289339e-08f, -6.272770212e-08f, -6.270240809e-08f, -6.267701137e-08f, -6.265151203e-08f, -6.262591014e-08f, -6.260020578e-08f, -6.257439902e-08f, -6.254848993e-08f, -6.252247860e-08f,
+-6.249636510e-08f, -6.247014949e-08f, -6.244383186e-08f, -6.241741227e-08f, -6.239089081e-08f, -6.236426755e-08f, -6.233754257e-08f, -6.231071593e-08f, -6.228378772e-08f, -6.225675801e-08f,
+-6.222962688e-08f, -6.220239441e-08f, -6.217506066e-08f, -6.214762572e-08f, -6.212008967e-08f, -6.209245257e-08f, -6.206471452e-08f, -6.203687557e-08f, -6.200893582e-08f, -6.198089534e-08f,
+-6.195275420e-08f, -6.192451249e-08f, -6.189617028e-08f, -6.186772765e-08f, -6.183918467e-08f, -6.181054144e-08f, -6.178179802e-08f, -6.175295449e-08f, -6.172401094e-08f, -6.169496744e-08f,
+-6.166582406e-08f, -6.163658090e-08f, -6.160723803e-08f, -6.157779553e-08f, -6.154825348e-08f, -6.151861195e-08f, -6.148887103e-08f, -6.145903081e-08f, -6.142909135e-08f, -6.139905274e-08f,
+-6.136891506e-08f, -6.133867840e-08f, -6.130834282e-08f, -6.127790842e-08f, -6.124737528e-08f, -6.121674347e-08f, -6.118601307e-08f, -6.115518418e-08f, -6.112425687e-08f, -6.109323122e-08f,
+-6.106210732e-08f, -6.103088525e-08f, -6.099956508e-08f, -6.096814691e-08f, -6.093663082e-08f, -6.090501688e-08f, -6.087330518e-08f, -6.084149581e-08f, -6.080958885e-08f, -6.077758438e-08f,
+-6.074548249e-08f, -6.071328325e-08f, -6.068098676e-08f, -6.064859310e-08f, -6.061610235e-08f, -6.058351459e-08f, -6.055082991e-08f, -6.051804841e-08f, -6.048517015e-08f, -6.045219522e-08f,
+-6.041912372e-08f, -6.038595572e-08f, -6.035269132e-08f, -6.031933059e-08f, -6.028587362e-08f, -6.025232050e-08f, -6.021867132e-08f, -6.018492615e-08f, -6.015108510e-08f, -6.011714824e-08f,
+-6.008311565e-08f, -6.004898744e-08f, -6.001476368e-08f, -5.998044446e-08f, -5.994602987e-08f, -5.991151999e-08f, -5.987691491e-08f, -5.984221473e-08f, -5.980741953e-08f, -5.977252939e-08f,
+-5.973754440e-08f, -5.970246466e-08f, -5.966729025e-08f, -5.963202126e-08f, -5.959665777e-08f, -5.956119989e-08f, -5.952564768e-08f, -5.949000126e-08f, -5.945426070e-08f, -5.941842609e-08f,
+-5.938249752e-08f, -5.934647508e-08f, -5.931035887e-08f, -5.927414897e-08f, -5.923784547e-08f, -5.920144847e-08f, -5.916495804e-08f, -5.912837429e-08f, -5.909169731e-08f, -5.905492717e-08f,
+-5.901806399e-08f, -5.898110784e-08f, -5.894405881e-08f, -5.890691701e-08f, -5.886968251e-08f, -5.883235542e-08f, -5.879493582e-08f, -5.875742381e-08f, -5.871981947e-08f, -5.868212290e-08f,
+-5.864433420e-08f, -5.860645345e-08f, -5.856848074e-08f, -5.853041618e-08f, -5.849225984e-08f, -5.845401184e-08f, -5.841567225e-08f, -5.837724117e-08f, -5.833871869e-08f, -5.830010492e-08f,
+-5.826139993e-08f, -5.822260384e-08f, -5.818371672e-08f, -5.814473867e-08f, -5.810566979e-08f, -5.806651018e-08f, -5.802725992e-08f, -5.798791911e-08f, -5.794848785e-08f, -5.790896623e-08f,
+-5.786935434e-08f, -5.782965229e-08f, -5.778986016e-08f, -5.774997805e-08f, -5.771000606e-08f, -5.766994428e-08f, -5.762979281e-08f, -5.758955174e-08f, -5.754922117e-08f, -5.750880120e-08f,
+-5.746829192e-08f, -5.742769343e-08f, -5.738700583e-08f, -5.734622920e-08f, -5.730536366e-08f, -5.726440929e-08f, -5.722336620e-08f, -5.718223447e-08f, -5.714101422e-08f, -5.709970552e-08f,
+-5.705830849e-08f, -5.701682322e-08f, -5.697524981e-08f, -5.693358836e-08f, -5.689183896e-08f, -5.685000171e-08f, -5.680807671e-08f, -5.676606406e-08f, -5.672396386e-08f, -5.668177620e-08f,
+-5.663950119e-08f, -5.659713893e-08f, -5.655468951e-08f, -5.651215303e-08f, -5.646952959e-08f, -5.642681929e-08f, -5.638402224e-08f, -5.634113853e-08f, -5.629816825e-08f, -5.625511152e-08f,
+-5.621196843e-08f, -5.616873908e-08f, -5.612542358e-08f, -5.608202201e-08f, -5.603853449e-08f, -5.599496111e-08f, -5.595130197e-08f, -5.590755718e-08f, -5.586372684e-08f, -5.581981104e-08f,
+-5.577580990e-08f, -5.573172350e-08f, -5.568755196e-08f, -5.564329537e-08f, -5.559895383e-08f, -5.555452745e-08f, -5.551001634e-08f, -5.546542058e-08f, -5.542074029e-08f, -5.537597557e-08f,
+-5.533112651e-08f, -5.528619323e-08f, -5.524117582e-08f, -5.519607439e-08f, -5.515088904e-08f, -5.510561987e-08f, -5.506026699e-08f, -5.501483051e-08f, -5.496931051e-08f, -5.492370712e-08f,
+-5.487802042e-08f, -5.483225053e-08f, -5.478639756e-08f, -5.474046159e-08f, -5.469444274e-08f, -5.464834112e-08f, -5.460215682e-08f, -5.455588995e-08f, -5.450954062e-08f, -5.446310893e-08f,
+-5.441659498e-08f, -5.436999889e-08f, -5.432332075e-08f, -5.427656067e-08f, -5.422971876e-08f, -5.418279512e-08f, -5.413578986e-08f, -5.408870309e-08f, -5.404153490e-08f, -5.399428541e-08f,
+-5.394695472e-08f, -5.389954293e-08f, -5.385205016e-08f, -5.380447651e-08f, -5.375682209e-08f, -5.370908700e-08f, -5.366127136e-08f, -5.361337526e-08f, -5.356539881e-08f, -5.351734212e-08f,
+-5.346920531e-08f, -5.342098847e-08f, -5.337269171e-08f, -5.332431514e-08f, -5.327585888e-08f, -5.322732302e-08f, -5.317870767e-08f, -5.313001294e-08f, -5.308123895e-08f, -5.303238579e-08f,
+-5.298345358e-08f, -5.293444243e-08f, -5.288535244e-08f, -5.283618372e-08f, -5.278693638e-08f, -5.273761054e-08f, -5.268820629e-08f, -5.263872375e-08f, -5.258916303e-08f, -5.253952423e-08f,
+-5.248980747e-08f, -5.244001286e-08f, -5.239014050e-08f, -5.234019050e-08f, -5.229016298e-08f, -5.224005805e-08f, -5.218987581e-08f, -5.213961637e-08f, -5.208927985e-08f, -5.203886636e-08f,
+-5.198837600e-08f, -5.193780889e-08f, -5.188716513e-08f, -5.183644484e-08f, -5.178564814e-08f, -5.173477512e-08f, -5.168382590e-08f, -5.163280059e-08f, -5.158169931e-08f, -5.153052216e-08f,
+-5.147926926e-08f, -5.142794072e-08f, -5.137653664e-08f, -5.132505715e-08f, -5.127350235e-08f, -5.122187236e-08f, -5.117016728e-08f, -5.111838723e-08f, -5.106653233e-08f, -5.101460268e-08f,
+-5.096259839e-08f, -5.091051959e-08f, -5.085836638e-08f, -5.080613887e-08f, -5.075383718e-08f, -5.070146143e-08f, -5.064901171e-08f, -5.059648816e-08f, -5.054389087e-08f, -5.049121997e-08f,
+-5.043847557e-08f, -5.038565777e-08f, -5.033276670e-08f, -5.027980248e-08f, -5.022676520e-08f, -5.017365499e-08f, -5.012047196e-08f, -5.006721623e-08f, -5.001388790e-08f, -4.996048710e-08f,
+-4.990701394e-08f, -4.985346852e-08f, -4.979985098e-08f, -4.974616142e-08f, -4.969239996e-08f, -4.963856670e-08f, -4.958466178e-08f, -4.953068529e-08f, -4.947663737e-08f, -4.942251811e-08f,
+-4.936832765e-08f, -4.931406609e-08f, -4.925973354e-08f, -4.920533014e-08f, -4.915085598e-08f, -4.909631119e-08f, -4.904169588e-08f, -4.898701017e-08f, -4.893225418e-08f, -4.887742801e-08f,
+-4.882253180e-08f, -4.876756565e-08f, -4.871252968e-08f, -4.865742400e-08f, -4.860224874e-08f, -4.854700401e-08f, -4.849168993e-08f, -4.843630661e-08f, -4.838085417e-08f, -4.832533274e-08f,
+-4.826974242e-08f, -4.821408333e-08f, -4.815835559e-08f, -4.810255932e-08f, -4.804669464e-08f, -4.799076166e-08f, -4.793476050e-08f, -4.787869128e-08f, -4.782255412e-08f, -4.776634913e-08f,
+-4.771007644e-08f, -4.765373616e-08f, -4.759732840e-08f, -4.754085330e-08f, -4.748431096e-08f, -4.742770151e-08f, -4.737102506e-08f, -4.731428174e-08f, -4.725747165e-08f, -4.720059493e-08f,
+-4.714365169e-08f, -4.708664204e-08f, -4.702956611e-08f, -4.697242402e-08f, -4.691521589e-08f, -4.685794183e-08f, -4.680060196e-08f, -4.674319641e-08f, -4.668572529e-08f, -4.662818873e-08f,
+-4.657058684e-08f, -4.651291975e-08f, -4.645518757e-08f, -4.639739042e-08f, -4.633952843e-08f, -4.628160171e-08f, -4.622361038e-08f, -4.616555457e-08f, -4.610743440e-08f, -4.604924998e-08f,
+-4.599100144e-08f, -4.593268889e-08f, -4.587431246e-08f, -4.581587227e-08f, -4.575736844e-08f, -4.569880109e-08f, -4.564017035e-08f, -4.558147632e-08f, -4.552271914e-08f, -4.546389893e-08f,
+-4.540501580e-08f, -4.534606988e-08f, -4.528706129e-08f, -4.522799015e-08f, -4.516885659e-08f, -4.510966072e-08f, -4.505040267e-08f, -4.499108255e-08f, -4.493170050e-08f, -4.487225663e-08f,
+-4.481275107e-08f, -4.475318393e-08f, -4.469355534e-08f, -4.463386542e-08f, -4.457411430e-08f, -4.451430210e-08f, -4.445442893e-08f, -4.439449493e-08f, -4.433450021e-08f, -4.427444491e-08f,
+-4.421432913e-08f, -4.415415300e-08f, -4.409391665e-08f, -4.403362021e-08f, -4.397326378e-08f, -4.391284750e-08f, -4.385237149e-08f, -4.379183588e-08f, -4.373124078e-08f, -4.367058632e-08f,
+-4.360987263e-08f, -4.354909982e-08f, -4.348826802e-08f, -4.342737736e-08f, -4.336642796e-08f, -4.330541994e-08f, -4.324435342e-08f, -4.318322854e-08f, -4.312204542e-08f, -4.306080417e-08f,
+-4.299950492e-08f, -4.293814781e-08f, -4.287673294e-08f, -4.281526046e-08f, -4.275373047e-08f, -4.269214311e-08f, -4.263049850e-08f, -4.256879677e-08f, -4.250703804e-08f, -4.244522243e-08f,
+-4.238335008e-08f, -4.232142109e-08f, -4.225943561e-08f, -4.219739376e-08f, -4.213529565e-08f, -4.207314143e-08f, -4.201093120e-08f, -4.194866510e-08f, -4.188634325e-08f, -4.182396578e-08f,
+-4.176153281e-08f, -4.169904447e-08f, -4.163650089e-08f, -4.157390219e-08f, -4.151124849e-08f, -4.144853993e-08f, -4.138577662e-08f, -4.132295870e-08f, -4.126008629e-08f, -4.119715952e-08f,
+-4.113417851e-08f, -4.107114339e-08f, -4.100805428e-08f, -4.094491132e-08f, -4.088171462e-08f, -4.081846432e-08f, -4.075516054e-08f, -4.069180341e-08f, -4.062839305e-08f, -4.056492959e-08f,
+-4.050141317e-08f, -4.043784389e-08f, -4.037422190e-08f, -4.031054732e-08f, -4.024682028e-08f, -4.018304090e-08f, -4.011920930e-08f, -4.005532563e-08f, -3.999139000e-08f, -3.992740254e-08f,
+-3.986336339e-08f, -3.979927265e-08f, -3.973513048e-08f, -3.967093698e-08f, -3.960669230e-08f, -3.954239655e-08f, -3.947804987e-08f, -3.941365238e-08f, -3.934920421e-08f, -3.928470549e-08f,
+-3.922015634e-08f, -3.915555690e-08f, -3.909090729e-08f, -3.902620765e-08f, -3.896145809e-08f, -3.889665874e-08f, -3.883180975e-08f, -3.876691122e-08f, -3.870196330e-08f, -3.863696610e-08f,
+-3.857191977e-08f, -3.850682442e-08f, -3.844168019e-08f, -3.837648720e-08f, -3.831124558e-08f, -3.824595546e-08f, -3.818061698e-08f, -3.811523025e-08f, -3.804979541e-08f, -3.798431259e-08f,
+-3.791878191e-08f, -3.785320351e-08f, -3.778757751e-08f, -3.772190405e-08f, -3.765618324e-08f, -3.759041523e-08f, -3.752460013e-08f, -3.745873809e-08f, -3.739282922e-08f, -3.732687366e-08f,
+-3.726087154e-08f, -3.719482299e-08f, -3.712872813e-08f, -3.706258710e-08f, -3.699640002e-08f, -3.693016703e-08f, -3.686388825e-08f, -3.679756382e-08f, -3.673119386e-08f, -3.666477851e-08f,
+-3.659831789e-08f, -3.653181213e-08f, -3.646526137e-08f, -3.639866573e-08f, -3.633202534e-08f, -3.626534034e-08f, -3.619861085e-08f, -3.613183701e-08f, -3.606501894e-08f, -3.599815677e-08f,
+-3.593125064e-08f, -3.586430068e-08f, -3.579730701e-08f, -3.573026976e-08f, -3.566318908e-08f, -3.559606507e-08f, -3.552889789e-08f, -3.546168765e-08f, -3.539443449e-08f, -3.532713854e-08f,
+-3.525979993e-08f, -3.519241879e-08f, -3.512499526e-08f, -3.505752945e-08f, -3.499002150e-08f, -3.492247155e-08f, -3.485487973e-08f, -3.478724616e-08f, -3.471957097e-08f, -3.465185430e-08f,
+-3.458409628e-08f, -3.451629705e-08f, -3.444845672e-08f, -3.438057543e-08f, -3.431265331e-08f, -3.424469050e-08f, -3.417668713e-08f, -3.410864332e-08f, -3.404055921e-08f, -3.397243493e-08f,
+-3.390427061e-08f, -3.383606638e-08f, -3.376782237e-08f, -3.369953872e-08f, -3.363121556e-08f, -3.356285302e-08f, -3.349445122e-08f, -3.342601031e-08f, -3.335753041e-08f, -3.328901165e-08f,
+-3.322045417e-08f, -3.315185810e-08f, -3.308322357e-08f, -3.301455071e-08f, -3.294583965e-08f, -3.287709053e-08f, -3.280830348e-08f, -3.273947862e-08f, -3.267061610e-08f, -3.260171604e-08f,
+-3.253277857e-08f, -3.246380383e-08f, -3.239479196e-08f, -3.232574307e-08f, -3.225665731e-08f, -3.218753480e-08f, -3.211837568e-08f, -3.204918008e-08f, -3.197994813e-08f, -3.191067997e-08f,
+-3.184137572e-08f, -3.177203553e-08f, -3.170265951e-08f, -3.163324781e-08f, -3.156380056e-08f, -3.149431788e-08f, -3.142479992e-08f, -3.135524680e-08f, -3.128565865e-08f, -3.121603562e-08f,
+-3.114637782e-08f, -3.107668540e-08f, -3.100695848e-08f, -3.093719721e-08f, -3.086740170e-08f, -3.079757210e-08f, -3.072770854e-08f, -3.065781115e-08f, -3.058788006e-08f, -3.051791540e-08f,
+-3.044791731e-08f, -3.037788593e-08f, -3.030782137e-08f, -3.023772379e-08f, -3.016759330e-08f, -3.009743004e-08f, -3.002723415e-08f, -2.995700576e-08f, -2.988674500e-08f, -2.981645200e-08f,
+-2.974612690e-08f, -2.967576982e-08f, -2.960538091e-08f, -2.953496030e-08f, -2.946450812e-08f, -2.939402449e-08f, -2.932350957e-08f, -2.925296347e-08f, -2.918238633e-08f, -2.911177828e-08f,
+-2.904113947e-08f, -2.897047001e-08f, -2.889977005e-08f, -2.882903971e-08f, -2.875827914e-08f, -2.868748846e-08f, -2.861666780e-08f, -2.854581731e-08f, -2.847493711e-08f, -2.840402733e-08f,
+-2.833308812e-08f, -2.826211960e-08f, -2.819112190e-08f, -2.812009517e-08f, -2.804903953e-08f, -2.797795511e-08f, -2.790684206e-08f, -2.783570049e-08f, -2.776453056e-08f, -2.769333239e-08f,
+-2.762210610e-08f, -2.755085185e-08f, -2.747956976e-08f, -2.740825996e-08f, -2.733692259e-08f, -2.726555778e-08f, -2.719416566e-08f, -2.712274637e-08f, -2.705130005e-08f, -2.697982682e-08f,
+-2.690832682e-08f, -2.683680018e-08f, -2.676524703e-08f, -2.669366752e-08f, -2.662206177e-08f, -2.655042991e-08f, -2.647877209e-08f, -2.640708842e-08f, -2.633537906e-08f, -2.626364413e-08f,
+-2.619188376e-08f, -2.612009809e-08f, -2.604828725e-08f, -2.597645138e-08f, -2.590459061e-08f, -2.583270507e-08f, -2.576079489e-08f, -2.568886022e-08f, -2.561690118e-08f, -2.554491791e-08f,
+-2.547291054e-08f, -2.540087920e-08f, -2.532882403e-08f, -2.525674517e-08f, -2.518464274e-08f, -2.511251688e-08f, -2.504036773e-08f, -2.496819541e-08f, -2.489600006e-08f, -2.482378182e-08f,
+-2.475154081e-08f, -2.467927718e-08f, -2.460699105e-08f, -2.453468257e-08f, -2.446235185e-08f, -2.438999905e-08f, -2.431762428e-08f, -2.424522769e-08f, -2.417280940e-08f, -2.410036956e-08f,
+-2.402790830e-08f, -2.395542574e-08f, -2.388292203e-08f, -2.381039729e-08f, -2.373785166e-08f, -2.366528528e-08f, -2.359269828e-08f, -2.352009079e-08f, -2.344746294e-08f, -2.337481487e-08f,
+-2.330214672e-08f, -2.322945861e-08f, -2.315675068e-08f, -2.308402307e-08f, -2.301127590e-08f, -2.293850932e-08f, -2.286572345e-08f, -2.279291843e-08f, -2.272009440e-08f, -2.264725147e-08f,
+-2.257438980e-08f, -2.250150952e-08f, -2.242861075e-08f, -2.235569363e-08f, -2.228275829e-08f, -2.220980488e-08f, -2.213683351e-08f, -2.206384433e-08f, -2.199083747e-08f, -2.191781307e-08f,
+-2.184477125e-08f, -2.177171215e-08f, -2.169863590e-08f, -2.162554264e-08f, -2.155243250e-08f, -2.147930562e-08f, -2.140616213e-08f, -2.133300215e-08f, -2.125982583e-08f, -2.118663330e-08f,
+-2.111342470e-08f, -2.104020015e-08f, -2.096695978e-08f, -2.089370374e-08f, -2.082043216e-08f, -2.074714517e-08f, -2.067384290e-08f, -2.060052548e-08f, -2.052719306e-08f, -2.045384576e-08f,
+-2.038048372e-08f, -2.030710707e-08f, -2.023371594e-08f, -2.016031047e-08f, -2.008689079e-08f, -2.001345704e-08f, -1.994000934e-08f, -1.986654783e-08f, -1.979307265e-08f, -1.971958393e-08f,
+-1.964608179e-08f, -1.957256638e-08f, -1.949903783e-08f, -1.942549627e-08f, -1.935194183e-08f, -1.927837465e-08f, -1.920479485e-08f, -1.913120259e-08f, -1.905759798e-08f, -1.898398115e-08f,
+-1.891035226e-08f, -1.883671141e-08f, -1.876305876e-08f, -1.868939443e-08f, -1.861571856e-08f, -1.854203127e-08f, -1.846833270e-08f, -1.839462299e-08f, -1.832090227e-08f, -1.824717067e-08f,
+-1.817342832e-08f, -1.809967536e-08f, -1.802591191e-08f, -1.795213812e-08f, -1.787835412e-08f, -1.780456003e-08f, -1.773075600e-08f, -1.765694214e-08f, -1.758311861e-08f, -1.750928552e-08f,
+-1.743544302e-08f, -1.736159123e-08f, -1.728773029e-08f, -1.721386033e-08f, -1.713998148e-08f, -1.706609387e-08f, -1.699219765e-08f, -1.691829294e-08f, -1.684437987e-08f, -1.677045858e-08f,
+-1.669652919e-08f, -1.662259185e-08f, -1.654864668e-08f, -1.647469381e-08f, -1.640073339e-08f, -1.632676554e-08f, -1.625279039e-08f, -1.617880807e-08f, -1.610481873e-08f, -1.603082248e-08f,
+-1.595681947e-08f, -1.588280982e-08f, -1.580879367e-08f, -1.573477115e-08f, -1.566074239e-08f, -1.558670753e-08f, -1.551266669e-08f, -1.543862001e-08f, -1.536456762e-08f, -1.529050965e-08f,
+-1.521644624e-08f, -1.514237752e-08f, -1.506830361e-08f, -1.499422465e-08f, -1.492014078e-08f, -1.484605212e-08f, -1.477195880e-08f, -1.469786096e-08f, -1.462375874e-08f, -1.454965225e-08f,
+-1.447554164e-08f, -1.440142703e-08f, -1.432730856e-08f, -1.425318636e-08f, -1.417906056e-08f, -1.410493129e-08f, -1.403079868e-08f, -1.395666286e-08f, -1.388252398e-08f, -1.380838215e-08f,
+-1.373423751e-08f, -1.366009019e-08f, -1.358594032e-08f, -1.351178803e-08f, -1.343763346e-08f, -1.336347674e-08f, -1.328931799e-08f, -1.321515735e-08f, -1.314099495e-08f, -1.306683091e-08f,
+-1.299266538e-08f, -1.291849849e-08f, -1.284433035e-08f, -1.277016112e-08f, -1.269599090e-08f, -1.262181984e-08f, -1.254764807e-08f, -1.247347572e-08f, -1.239930292e-08f, -1.232512980e-08f,
+-1.225095648e-08f, -1.217678311e-08f, -1.210260981e-08f, -1.202843672e-08f, -1.195426395e-08f, -1.188009165e-08f, -1.180591994e-08f, -1.173174896e-08f, -1.165757883e-08f, -1.158340969e-08f,
+-1.150924167e-08f, -1.143507489e-08f, -1.136090948e-08f, -1.128674558e-08f, -1.121258332e-08f, -1.113842283e-08f, -1.106426423e-08f, -1.099010766e-08f, -1.091595325e-08f, -1.084180113e-08f,
+-1.076765142e-08f, -1.069350426e-08f, -1.061935977e-08f, -1.054521809e-08f, -1.047107935e-08f, -1.039694368e-08f, -1.032281120e-08f, -1.024868204e-08f, -1.017455635e-08f, -1.010043423e-08f,
+-1.002631583e-08f, -9.952201277e-09f, -9.878090694e-09f, -9.803984214e-09f, -9.729881966e-09f, -9.655784079e-09f, -9.581690682e-09f, -9.507601906e-09f, -9.433517878e-09f, -9.359438728e-09f,
+-9.285364585e-09f, -9.211295578e-09f, -9.137231837e-09f, -9.063173489e-09f, -8.989120664e-09f, -8.915073491e-09f, -8.841032099e-09f, -8.766996616e-09f, -8.692967171e-09f, -8.618943893e-09f,
+-8.544926911e-09f, -8.470916352e-09f, -8.396912345e-09f, -8.322915019e-09f, -8.248924503e-09f, -8.174940924e-09f, -8.100964412e-09f, -8.026995093e-09f, -7.953033097e-09f, -7.879078552e-09f,
+-7.805131585e-09f, -7.731192325e-09f, -7.657260900e-09f, -7.583337438e-09f, -7.509422067e-09f, -7.435514914e-09f, -7.361616108e-09f, -7.287725776e-09f, -7.213844046e-09f, -7.139971045e-09f,
+-7.066106902e-09f, -6.992251743e-09f, -6.918405696e-09f, -6.844568890e-09f, -6.770741450e-09f, -6.696923505e-09f, -6.623115181e-09f, -6.549316607e-09f, -6.475527909e-09f, -6.401749214e-09f,
+-6.327980649e-09f, -6.254222342e-09f, -6.180474419e-09f, -6.106737008e-09f, -6.033010234e-09f, -5.959294226e-09f, -5.885589109e-09f, -5.811895011e-09f, -5.738212058e-09f, -5.664540376e-09f,
+-5.590880092e-09f, -5.517231333e-09f, -5.443594226e-09f, -5.369968895e-09f, -5.296355468e-09f, -5.222754071e-09f, -5.149164830e-09f, -5.075587872e-09f, -5.002023321e-09f, -4.928471305e-09f,
+-4.854931949e-09f, -4.781405380e-09f, -4.707891722e-09f, -4.634391102e-09f, -4.560903645e-09f, -4.487429478e-09f, -4.413968725e-09f, -4.340521513e-09f, -4.267087966e-09f, -4.193668210e-09f,
+-4.120262371e-09f, -4.046870574e-09f, -3.973492943e-09f, -3.900129605e-09f, -3.826780684e-09f, -3.753446306e-09f, -3.680126595e-09f, -3.606821676e-09f, -3.533531674e-09f, -3.460256714e-09f,
+-3.386996921e-09f, -3.313752419e-09f, -3.240523333e-09f, -3.167309788e-09f, -3.094111908e-09f, -3.020929817e-09f, -2.947763640e-09f, -2.874613501e-09f, -2.801479524e-09f, -2.728361834e-09f,
+-2.655260554e-09f, -2.582175809e-09f, -2.509107722e-09f, -2.436056418e-09f, -2.363022021e-09f, -2.290004653e-09f, -2.217004440e-09f, -2.144021504e-09f, -2.071055969e-09f, -1.998107958e-09f,
+-1.925177596e-09f, -1.852265005e-09f, -1.779370308e-09f, -1.706493630e-09f, -1.633635093e-09f, -1.560794820e-09f, -1.487972934e-09f, -1.415169559e-09f, -1.342384817e-09f, -1.269618831e-09f,
+-1.196871723e-09f, -1.124143617e-09f, -1.051434636e-09f, -9.787449008e-10f, -9.060745350e-10f, -8.334236608e-10f, -7.607924005e-10f, -6.881808766e-10f, -6.155892111e-10f, -5.430175262e-10f,
+-4.704659440e-10f, -3.979345865e-10f, -3.254235756e-10f, -2.529330332e-10f, -1.804630812e-10f, -1.080138411e-10f, -3.558543463e-11f, 3.682201658e-11f, 1.092083911e-10f, 1.815735674e-10f,
+2.539174242e-10f, 3.262398402e-10f, 3.985406942e-10f, 4.708198650e-10f, 5.430772316e-10f, 6.153126730e-10f, 6.875260683e-10f, 7.597172966e-10f, 8.318862371e-10f, 9.040327691e-10f,
+9.761567721e-10f, 1.048258125e-09f, 1.120336709e-09f, 1.192392402e-09f, 1.264425083e-09f, 1.336434634e-09f, 1.408420934e-09f, 1.480383862e-09f, 1.552323299e-09f, 1.624239125e-09f,
+1.696131219e-09f, 1.767999463e-09f, 1.839843736e-09f, 1.911663918e-09f, 1.983459891e-09f, 2.055231534e-09f, 2.126978728e-09f, 2.198701355e-09f, 2.270399294e-09f, 2.342072426e-09f,
+2.413720633e-09f, 2.485343796e-09f, 2.556941794e-09f, 2.628514511e-09f, 2.700061826e-09f, 2.771583621e-09f, 2.843079777e-09f, 2.914550177e-09f, 2.985994701e-09f, 3.057413231e-09f,
+3.128805649e-09f, 3.200171836e-09f, 3.271511675e-09f, 3.342825047e-09f, 3.414111835e-09f, 3.485371920e-09f, 3.556605185e-09f, 3.627811511e-09f, 3.698990782e-09f, 3.770142880e-09f,
+3.841267687e-09f, 3.912365086e-09f, 3.983434959e-09f, 4.054477189e-09f, 4.125491660e-09f, 4.196478253e-09f, 4.267436852e-09f, 4.338367341e-09f, 4.409269602e-09f, 4.480143518e-09f,
+4.550988973e-09f, 4.621805851e-09f, 4.692594034e-09f, 4.763353407e-09f, 4.834083853e-09f, 4.904785255e-09f, 4.975457498e-09f, 5.046100466e-09f, 5.116714043e-09f, 5.187298112e-09f,
+5.257852558e-09f, 5.328377265e-09f, 5.398872118e-09f, 5.469337001e-09f, 5.539771799e-09f, 5.610176395e-09f, 5.680550675e-09f, 5.750894524e-09f, 5.821207827e-09f, 5.891490468e-09f,
+5.961742333e-09f, 6.031963306e-09f, 6.102153273e-09f, 6.172312120e-09f, 6.242439731e-09f, 6.312535992e-09f, 6.382600789e-09f, 6.452634008e-09f, 6.522635533e-09f, 6.592605252e-09f,
+6.662543049e-09f, 6.732448812e-09f, 6.802322425e-09f, 6.872163776e-09f, 6.941972751e-09f, 7.011749235e-09f, 7.081493117e-09f, 7.151204281e-09f, 7.220882614e-09f, 7.290528005e-09f,
+7.360140338e-09f, 7.429719502e-09f, 7.499265383e-09f, 7.568777868e-09f, 7.638256845e-09f, 7.707702201e-09f, 7.777113823e-09f, 7.846491599e-09f, 7.915835417e-09f, 7.985145163e-09f,
+8.054420726e-09f, 8.123661994e-09f, 8.192868854e-09f, 8.262041195e-09f, 8.331178904e-09f, 8.400281871e-09f, 8.469349983e-09f, 8.538383128e-09f, 8.607381196e-09f, 8.676344074e-09f,
+8.745271653e-09f, 8.814163819e-09f, 8.883020463e-09f, 8.951841473e-09f, 9.020626738e-09f, 9.089376147e-09f, 9.158089591e-09f, 9.226766957e-09f, 9.295408136e-09f, 9.364013017e-09f,
+9.432581490e-09f, 9.501113444e-09f, 9.569608770e-09f, 9.638067357e-09f, 9.706489095e-09f, 9.774873875e-09f, 9.843221586e-09f, 9.911532119e-09f, 9.979805365e-09f, 1.004804121e-08f,
+1.011623956e-08f, 1.018440028e-08f, 1.025252329e-08f, 1.032060845e-08f, 1.038865568e-08f, 1.045666485e-08f, 1.052463587e-08f, 1.059256861e-08f, 1.066046297e-08f, 1.072831885e-08f,
+1.079613614e-08f, 1.086391472e-08f, 1.093165449e-08f, 1.099935534e-08f, 1.106701717e-08f, 1.113463985e-08f, 1.120222330e-08f, 1.126976740e-08f, 1.133727203e-08f, 1.140473710e-08f,
+1.147216250e-08f, 1.153954812e-08f, 1.160689385e-08f, 1.167419959e-08f, 1.174146522e-08f, 1.180869064e-08f, 1.187587576e-08f, 1.194302044e-08f, 1.201012460e-08f, 1.207718813e-08f,
+1.214421091e-08f, 1.221119285e-08f, 1.227813383e-08f, 1.234503375e-08f, 1.241189251e-08f, 1.247870999e-08f, 1.254548610e-08f, 1.261222073e-08f, 1.267891376e-08f, 1.274556511e-08f,
+1.281217465e-08f, 1.287874229e-08f, 1.294526792e-08f, 1.301175143e-08f, 1.307819272e-08f, 1.314459170e-08f, 1.321094824e-08f, 1.327726224e-08f, 1.334353361e-08f, 1.340976224e-08f,
+1.347594802e-08f, 1.354209085e-08f, 1.360819063e-08f, 1.367424724e-08f, 1.374026059e-08f, 1.380623058e-08f, 1.387215710e-08f, 1.393804004e-08f, 1.400387930e-08f, 1.406967479e-08f,
+1.413542639e-08f, 1.420113400e-08f, 1.426679753e-08f, 1.433241686e-08f, 1.439799190e-08f, 1.446352254e-08f, 1.452900867e-08f, 1.459445021e-08f, 1.465984704e-08f, 1.472519906e-08f,
+1.479050617e-08f, 1.485576827e-08f, 1.492098526e-08f, 1.498615703e-08f, 1.505128348e-08f, 1.511636452e-08f, 1.518140003e-08f, 1.524638993e-08f, 1.531133410e-08f, 1.537623245e-08f,
+1.544108487e-08f, 1.550589126e-08f, 1.557065153e-08f, 1.563536557e-08f, 1.570003329e-08f, 1.576465457e-08f, 1.582922933e-08f, 1.589375746e-08f, 1.595823885e-08f, 1.602267342e-08f,
+1.608706106e-08f, 1.615140167e-08f, 1.621569515e-08f, 1.627994141e-08f, 1.634414033e-08f, 1.640829183e-08f, 1.647239581e-08f, 1.653645215e-08f, 1.660046078e-08f, 1.666442158e-08f,
+1.672833446e-08f, 1.679219931e-08f, 1.685601605e-08f, 1.691978457e-08f, 1.698350477e-08f, 1.704717656e-08f, 1.711079984e-08f, 1.717437451e-08f, 1.723790047e-08f, 1.730137762e-08f,
+1.736480587e-08f, 1.742818511e-08f, 1.749151526e-08f, 1.755479622e-08f, 1.761802788e-08f, 1.768121014e-08f, 1.774434293e-08f, 1.780742613e-08f, 1.787045964e-08f, 1.793344338e-08f,
+1.799637725e-08f, 1.805926115e-08f, 1.812209498e-08f, 1.818487865e-08f, 1.824761205e-08f, 1.831029511e-08f, 1.837292771e-08f, 1.843550977e-08f, 1.849804119e-08f, 1.856052187e-08f,
+1.862295172e-08f, 1.868533064e-08f, 1.874765853e-08f, 1.880993532e-08f, 1.887216088e-08f, 1.893433514e-08f, 1.899645800e-08f, 1.905852937e-08f, 1.912054914e-08f, 1.918251723e-08f,
+1.924443353e-08f, 1.930629797e-08f, 1.936811044e-08f, 1.942987085e-08f, 1.949157910e-08f, 1.955323511e-08f, 1.961483877e-08f, 1.967639000e-08f, 1.973788871e-08f, 1.979933479e-08f,
+1.986072816e-08f, 1.992206872e-08f, 1.998335638e-08f, 2.004459105e-08f, 2.010577264e-08f, 2.016690104e-08f, 2.022797619e-08f, 2.028899797e-08f, 2.034996629e-08f, 2.041088107e-08f,
+2.047174222e-08f, 2.053254964e-08f, 2.059330323e-08f, 2.065400292e-08f, 2.071464861e-08f, 2.077524020e-08f, 2.083577760e-08f, 2.089626074e-08f, 2.095668950e-08f, 2.101706381e-08f,
+2.107738357e-08f, 2.113764870e-08f, 2.119785910e-08f, 2.125801467e-08f, 2.131811535e-08f, 2.137816102e-08f, 2.143815161e-08f, 2.149808701e-08f, 2.155796716e-08f, 2.161779194e-08f,
+2.167756128e-08f, 2.173727509e-08f, 2.179693327e-08f, 2.185653574e-08f, 2.191608241e-08f, 2.197557319e-08f, 2.203500799e-08f, 2.209438672e-08f, 2.215370930e-08f, 2.221297564e-08f,
+2.227218564e-08f, 2.233133923e-08f, 2.239043630e-08f, 2.244947679e-08f, 2.250846059e-08f, 2.256738762e-08f, 2.262625780e-08f, 2.268507103e-08f, 2.274382723e-08f, 2.280252631e-08f,
+2.286116819e-08f, 2.291975277e-08f, 2.297827998e-08f, 2.303674973e-08f, 2.309516192e-08f, 2.315351648e-08f, 2.321181331e-08f, 2.327005234e-08f, 2.332823347e-08f, 2.338635663e-08f,
+2.344442171e-08f, 2.350242865e-08f, 2.356037735e-08f, 2.361826773e-08f, 2.367609971e-08f, 2.373387319e-08f, 2.379158810e-08f, 2.384924434e-08f, 2.390684185e-08f, 2.396438052e-08f,
+2.402186028e-08f, 2.407928104e-08f, 2.413664272e-08f, 2.419394524e-08f, 2.425118851e-08f, 2.430837244e-08f, 2.436549696e-08f, 2.442256199e-08f, 2.447956742e-08f, 2.453651320e-08f,
+2.459339922e-08f, 2.465022542e-08f, 2.470699170e-08f, 2.476369798e-08f, 2.482034419e-08f, 2.487693023e-08f, 2.493345603e-08f, 2.498992151e-08f, 2.504632658e-08f, 2.510267116e-08f,
+2.515895517e-08f, 2.521517853e-08f, 2.527134116e-08f, 2.532744297e-08f, 2.538348388e-08f, 2.543946382e-08f, 2.549538271e-08f, 2.555124045e-08f, 2.560703698e-08f, 2.566277221e-08f,
+2.571844605e-08f, 2.577405844e-08f, 2.582960929e-08f, 2.588509852e-08f, 2.594052605e-08f, 2.599589181e-08f, 2.605119570e-08f, 2.610643766e-08f, 2.616161760e-08f, 2.621673544e-08f,
+2.627179111e-08f, 2.632678453e-08f, 2.638171561e-08f, 2.643658428e-08f, 2.649139047e-08f, 2.654613408e-08f, 2.660081505e-08f, 2.665543330e-08f, 2.670998874e-08f, 2.676448130e-08f,
+2.681891091e-08f, 2.687327748e-08f, 2.692758094e-08f, 2.698182121e-08f, 2.703599821e-08f, 2.709011187e-08f, 2.714416212e-08f, 2.719814886e-08f, 2.725207203e-08f, 2.730593155e-08f,
+2.735972734e-08f, 2.741345933e-08f, 2.746712744e-08f, 2.752073160e-08f, 2.757427173e-08f, 2.762774775e-08f, 2.768115959e-08f, 2.773450718e-08f, 2.778779043e-08f, 2.784100928e-08f,
+2.789416364e-08f, 2.794725345e-08f, 2.800027863e-08f, 2.805323910e-08f, 2.810613479e-08f, 2.815896563e-08f, 2.821173154e-08f, 2.826443245e-08f, 2.831706828e-08f, 2.836963896e-08f,
+2.842214441e-08f, 2.847458457e-08f, 2.852695936e-08f, 2.857926871e-08f, 2.863151254e-08f, 2.868369078e-08f, 2.873580336e-08f, 2.878785020e-08f, 2.883983124e-08f, 2.889174639e-08f,
+2.894359560e-08f, 2.899537878e-08f, 2.904709586e-08f, 2.909874678e-08f, 2.915033146e-08f, 2.920184983e-08f, 2.925330182e-08f, 2.930468735e-08f, 2.935600636e-08f, 2.940725877e-08f,
+2.945844452e-08f, 2.950956353e-08f, 2.956061574e-08f, 2.961160106e-08f, 2.966251944e-08f, 2.971337080e-08f, 2.976415508e-08f, 2.981487219e-08f, 2.986552208e-08f, 2.991610467e-08f,
+2.996661989e-08f, 3.001706768e-08f, 3.006744797e-08f, 3.011776067e-08f, 3.016800574e-08f, 3.021818310e-08f, 3.026829267e-08f, 3.031833440e-08f, 3.036830821e-08f, 3.041821403e-08f,
+3.046805180e-08f, 3.051782145e-08f, 3.056752292e-08f, 3.061715612e-08f, 3.066672100e-08f, 3.071621750e-08f, 3.076564553e-08f, 3.081500504e-08f, 3.086429595e-08f, 3.091351821e-08f,
+3.096267174e-08f, 3.101175648e-08f, 3.106077236e-08f, 3.110971932e-08f, 3.115859729e-08f, 3.120740620e-08f, 3.125614598e-08f, 3.130481658e-08f, 3.135341793e-08f, 3.140194996e-08f,
+3.145041260e-08f, 3.149880580e-08f, 3.154712948e-08f, 3.159538359e-08f, 3.164356805e-08f, 3.169168280e-08f, 3.173972778e-08f, 3.178770292e-08f, 3.183560817e-08f, 3.188344345e-08f,
+3.193120870e-08f, 3.197890386e-08f, 3.202652887e-08f, 3.207408366e-08f, 3.212156816e-08f, 3.216898232e-08f, 3.221632608e-08f, 3.226359936e-08f, 3.231080211e-08f, 3.235793427e-08f,
+3.240499576e-08f, 3.245198654e-08f, 3.249890653e-08f, 3.254575569e-08f, 3.259253393e-08f, 3.263924121e-08f, 3.268587746e-08f, 3.273244262e-08f, 3.277893663e-08f, 3.282535942e-08f,
+3.287171094e-08f, 3.291799113e-08f, 3.296419993e-08f, 3.301033727e-08f, 3.305640309e-08f, 3.310239734e-08f, 3.314831995e-08f, 3.319417086e-08f, 3.323995002e-08f, 3.328565737e-08f,
+3.333129284e-08f, 3.337685638e-08f, 3.342234792e-08f, 3.346776742e-08f, 3.351311480e-08f, 3.355839001e-08f, 3.360359300e-08f, 3.364872370e-08f, 3.369378205e-08f, 3.373876800e-08f,
+3.378368149e-08f, 3.382852246e-08f, 3.387329085e-08f, 3.391798661e-08f, 3.396260968e-08f, 3.400716000e-08f, 3.405163751e-08f, 3.409604216e-08f, 3.414037389e-08f, 3.418463265e-08f,
+3.422881837e-08f, 3.427293100e-08f, 3.431697049e-08f, 3.436093677e-08f, 3.440482980e-08f, 3.444864951e-08f, 3.449239585e-08f, 3.453606877e-08f, 3.457966821e-08f, 3.462319411e-08f,
+3.466664642e-08f, 3.471002509e-08f, 3.475333005e-08f, 3.479656126e-08f, 3.483971867e-08f, 3.488280220e-08f, 3.492581182e-08f, 3.496874747e-08f, 3.501160909e-08f, 3.505439663e-08f,
+3.509711004e-08f, 3.513974926e-08f, 3.518231425e-08f, 3.522480493e-08f, 3.526722128e-08f, 3.530956322e-08f, 3.535183071e-08f, 3.539402369e-08f, 3.543614212e-08f, 3.547818594e-08f,
+3.552015510e-08f, 3.556204954e-08f, 3.560386922e-08f, 3.564561409e-08f, 3.568728408e-08f, 3.572887915e-08f, 3.577039925e-08f, 3.581184433e-08f, 3.585321434e-08f, 3.589450922e-08f,
+3.593572893e-08f, 3.597687341e-08f, 3.601794262e-08f, 3.605893650e-08f, 3.609985500e-08f, 3.614069808e-08f, 3.618146568e-08f, 3.622215776e-08f, 3.626277426e-08f, 3.630331514e-08f,
+3.634378034e-08f, 3.638416982e-08f, 3.642448353e-08f, 3.646472142e-08f, 3.650488345e-08f, 3.654496955e-08f, 3.658497969e-08f, 3.662491381e-08f, 3.666477188e-08f, 3.670455383e-08f,
+3.674425963e-08f, 3.678388922e-08f, 3.682344257e-08f, 3.686291961e-08f, 3.690232030e-08f, 3.694164460e-08f, 3.698089247e-08f, 3.702006384e-08f, 3.705915868e-08f, 3.709817695e-08f,
+3.713711858e-08f, 3.717598355e-08f, 3.721477179e-08f, 3.725348328e-08f, 3.729211795e-08f, 3.733067577e-08f, 3.736915669e-08f, 3.740756066e-08f, 3.744588764e-08f, 3.748413759e-08f,
+3.752231046e-08f, 3.756040621e-08f, 3.759842478e-08f, 3.763636615e-08f, 3.767423025e-08f, 3.771201706e-08f, 3.774972652e-08f, 3.778735859e-08f, 3.782491323e-08f, 3.786239039e-08f,
+3.789979004e-08f, 3.793711212e-08f, 3.797435660e-08f, 3.801152343e-08f, 3.804861257e-08f, 3.808562398e-08f, 3.812255762e-08f, 3.815941343e-08f, 3.819619139e-08f, 3.823289145e-08f,
+3.826951357e-08f, 3.830605770e-08f, 3.834252381e-08f, 3.837891185e-08f, 3.841522178e-08f, 3.845145356e-08f, 3.848760715e-08f, 3.852368252e-08f, 3.855967961e-08f, 3.859559839e-08f,
+3.863143882e-08f, 3.866720086e-08f, 3.870288447e-08f, 3.873848960e-08f, 3.877401623e-08f, 3.880946430e-08f, 3.884483379e-08f, 3.888012465e-08f, 3.891533684e-08f, 3.895047032e-08f,
+3.898552506e-08f, 3.902050102e-08f, 3.905539815e-08f, 3.909021643e-08f, 3.912495580e-08f, 3.915961624e-08f, 3.919419770e-08f, 3.922870016e-08f, 3.926312356e-08f, 3.929746788e-08f,
+3.933173307e-08f, 3.936591910e-08f, 3.940002594e-08f, 3.943405354e-08f, 3.946800187e-08f, 3.950187089e-08f, 3.953566057e-08f, 3.956937087e-08f, 3.960300175e-08f, 3.963655319e-08f,
+3.967002513e-08f, 3.970341755e-08f, 3.973673042e-08f, 3.976996369e-08f, 3.980311733e-08f, 3.983619131e-08f, 3.986918559e-08f, 3.990210014e-08f, 3.993493492e-08f, 3.996768990e-08f,
+4.000036504e-08f, 4.003296031e-08f, 4.006547568e-08f, 4.009791112e-08f, 4.013026658e-08f, 4.016254204e-08f, 4.019473746e-08f, 4.022685281e-08f, 4.025888806e-08f, 4.029084317e-08f,
+4.032271811e-08f, 4.035451285e-08f, 4.038622736e-08f, 4.041786160e-08f, 4.044941554e-08f, 4.048088916e-08f, 4.051228241e-08f, 4.054359527e-08f, 4.057482770e-08f, 4.060597968e-08f,
+4.063705117e-08f, 4.066804214e-08f, 4.069895257e-08f, 4.072978241e-08f, 4.076053165e-08f, 4.079120025e-08f, 4.082178817e-08f, 4.085229539e-08f, 4.088272189e-08f, 4.091306762e-08f,
+4.094333257e-08f, 4.097351669e-08f, 4.100361997e-08f, 4.103364236e-08f, 4.106358386e-08f, 4.109344441e-08f, 4.112322400e-08f, 4.115292260e-08f, 4.118254018e-08f, 4.121207671e-08f,
+4.124153216e-08f, 4.127090651e-08f, 4.130019972e-08f, 4.132941177e-08f, 4.135854263e-08f, 4.138759228e-08f, 4.141656069e-08f, 4.144544782e-08f, 4.147425366e-08f, 4.150297817e-08f,
+4.153162134e-08f, 4.156018313e-08f, 4.158866351e-08f, 4.161706247e-08f, 4.164537997e-08f, 4.167361599e-08f, 4.170177051e-08f, 4.172984349e-08f, 4.175783492e-08f, 4.178574477e-08f,
+4.181357300e-08f, 4.184131961e-08f, 4.186898456e-08f, 4.189656783e-08f, 4.192406939e-08f, 4.195148922e-08f, 4.197882730e-08f, 4.200608359e-08f, 4.203325809e-08f, 4.206035076e-08f,
+4.208736158e-08f, 4.211429053e-08f, 4.214113758e-08f, 4.216790272e-08f, 4.219458591e-08f, 4.222118714e-08f, 4.224770638e-08f, 4.227414361e-08f, 4.230049881e-08f, 4.232677195e-08f,
+4.235296302e-08f, 4.237907199e-08f, 4.240509884e-08f, 4.243104355e-08f, 4.245690610e-08f, 4.248268646e-08f, 4.250838462e-08f, 4.253400055e-08f, 4.255953423e-08f, 4.258498565e-08f,
+4.261035478e-08f, 4.263564160e-08f, 4.266084609e-08f, 4.268596824e-08f, 4.271100802e-08f, 4.273596541e-08f, 4.276084039e-08f, 4.278563294e-08f, 4.281034305e-08f, 4.283497069e-08f,
+4.285951585e-08f, 4.288397851e-08f, 4.290835864e-08f, 4.293265623e-08f, 4.295687127e-08f, 4.298100373e-08f, 4.300505359e-08f, 4.302902084e-08f, 4.305290546e-08f, 4.307670743e-08f,
+4.310042674e-08f, 4.312406336e-08f, 4.314761728e-08f, 4.317108849e-08f, 4.319447696e-08f, 4.321778268e-08f, 4.324100564e-08f, 4.326414581e-08f, 4.328720318e-08f, 4.331017774e-08f,
+4.333306946e-08f, 4.335587834e-08f, 4.337860435e-08f, 4.340124749e-08f, 4.342380773e-08f, 4.344628506e-08f, 4.346867947e-08f, 4.349099094e-08f, 4.351321946e-08f, 4.353536501e-08f,
+4.355742757e-08f, 4.357940714e-08f, 4.360130370e-08f, 4.362311723e-08f, 4.364484772e-08f, 4.366649516e-08f, 4.368805954e-08f, 4.370954083e-08f, 4.373093904e-08f, 4.375225414e-08f,
+4.377348612e-08f, 4.379463496e-08f, 4.381570067e-08f, 4.383668322e-08f, 4.385758260e-08f, 4.387839880e-08f, 4.389913180e-08f, 4.391978161e-08f, 4.394034819e-08f, 4.396083155e-08f,
+4.398123167e-08f, 4.400154854e-08f, 4.402178215e-08f, 4.404193248e-08f, 4.406199953e-08f, 4.408198329e-08f, 4.410188375e-08f, 4.412170089e-08f, 4.414143470e-08f, 4.416108518e-08f,
+4.418065232e-08f, 4.420013610e-08f, 4.421953651e-08f, 4.423885356e-08f, 4.425808722e-08f, 4.427723749e-08f, 4.429630436e-08f, 4.431528781e-08f, 4.433418785e-08f, 4.435300447e-08f,
+4.437173765e-08f, 4.439038738e-08f, 4.440895366e-08f, 4.442743649e-08f, 4.444583584e-08f, 4.446415173e-08f, 4.448238413e-08f, 4.450053304e-08f, 4.451859845e-08f, 4.453658036e-08f,
+4.455447876e-08f, 4.457229364e-08f, 4.459002500e-08f, 4.460767282e-08f, 4.462523712e-08f, 4.464271786e-08f, 4.466011506e-08f, 4.467742871e-08f, 4.469465879e-08f, 4.471180531e-08f,
+4.472886826e-08f, 4.474584763e-08f, 4.476274342e-08f, 4.477955562e-08f, 4.479628423e-08f, 4.481292925e-08f, 4.482949067e-08f, 4.484596848e-08f, 4.486236268e-08f, 4.487867327e-08f,
+4.489490025e-08f, 4.491104360e-08f, 4.492710333e-08f, 4.494307943e-08f, 4.495897190e-08f, 4.497478074e-08f, 4.499050594e-08f, 4.500614751e-08f, 4.502170542e-08f, 4.503717970e-08f,
+4.505257033e-08f, 4.506787731e-08f, 4.508310063e-08f, 4.509824031e-08f, 4.511329633e-08f, 4.512826869e-08f, 4.514315739e-08f, 4.515796243e-08f, 4.517268382e-08f, 4.518732154e-08f,
+4.520187560e-08f, 4.521634599e-08f, 4.523073272e-08f, 4.524503579e-08f, 4.525925519e-08f, 4.527339093e-08f, 4.528744300e-08f, 4.530141141e-08f, 4.531529615e-08f, 4.532909723e-08f,
+4.534281464e-08f, 4.535644839e-08f, 4.536999849e-08f, 4.538346491e-08f, 4.539684768e-08f, 4.541014680e-08f, 4.542336225e-08f, 4.543649405e-08f, 4.544954220e-08f, 4.546250669e-08f,
+4.547538753e-08f, 4.548818473e-08f, 4.550089829e-08f, 4.551352820e-08f, 4.552607447e-08f, 4.553853710e-08f, 4.555091610e-08f, 4.556321147e-08f, 4.557542321e-08f, 4.558755133e-08f,
+4.559959583e-08f, 4.561155671e-08f, 4.562343397e-08f, 4.563522763e-08f, 4.564693769e-08f, 4.565856414e-08f, 4.567010700e-08f, 4.568156626e-08f, 4.569294194e-08f, 4.570423403e-08f,
+4.571544255e-08f, 4.572656750e-08f, 4.573760888e-08f, 4.574856670e-08f, 4.575944096e-08f, 4.577023168e-08f, 4.578093885e-08f, 4.579156248e-08f, 4.580210258e-08f, 4.581255916e-08f,
+4.582293221e-08f, 4.583322176e-08f, 4.584342780e-08f, 4.585355034e-08f, 4.586358939e-08f, 4.587354495e-08f, 4.588341704e-08f, 4.589320566e-08f, 4.590291082e-08f, 4.591253252e-08f,
+4.592207078e-08f, 4.593152560e-08f, 4.594089699e-08f, 4.595018496e-08f, 4.595938951e-08f, 4.596851066e-08f, 4.597754842e-08f, 4.598650279e-08f, 4.599537379e-08f, 4.600416141e-08f,
+4.601286568e-08f, 4.602148660e-08f, 4.603002418e-08f, 4.603847843e-08f, 4.604684936e-08f, 4.605513698e-08f, 4.606334130e-08f, 4.607146233e-08f, 4.607950009e-08f, 4.608745457e-08f,
+4.609532581e-08f, 4.610311379e-08f, 4.611081854e-08f, 4.611844007e-08f, 4.612597839e-08f, 4.613343350e-08f, 4.614080543e-08f, 4.614809418e-08f, 4.615529977e-08f, 4.616242220e-08f,
+4.616946149e-08f, 4.617641766e-08f, 4.618329071e-08f, 4.619008066e-08f, 4.619678752e-08f, 4.620341130e-08f, 4.620995202e-08f, 4.621640969e-08f, 4.622278432e-08f, 4.622907593e-08f,
+4.623528453e-08f, 4.624141013e-08f, 4.624745275e-08f, 4.625341241e-08f, 4.625928911e-08f, 4.626508288e-08f, 4.627079371e-08f, 4.627642164e-08f, 4.628196668e-08f, 4.628742884e-08f,
+4.629280813e-08f, 4.629810457e-08f, 4.630331818e-08f, 4.630844897e-08f, 4.631349696e-08f, 4.631846216e-08f, 4.632334459e-08f, 4.632814427e-08f, 4.633286121e-08f, 4.633749543e-08f,
+4.634204694e-08f, 4.634651577e-08f, 4.635090192e-08f, 4.635520542e-08f, 4.635942628e-08f, 4.636356452e-08f, 4.636762016e-08f, 4.637159321e-08f, 4.637548370e-08f, 4.637929164e-08f,
+4.638301704e-08f, 4.638665994e-08f, 4.639022033e-08f, 4.639369825e-08f, 4.639709372e-08f, 4.640040674e-08f, 4.640363734e-08f, 4.640678554e-08f, 4.640985136e-08f, 4.641283482e-08f,
+4.641573593e-08f, 4.641855472e-08f, 4.642129120e-08f, 4.642394540e-08f, 4.642651733e-08f, 4.642900702e-08f, 4.643141448e-08f, 4.643373974e-08f, 4.643598282e-08f, 4.643814373e-08f,
+4.644022250e-08f, 4.644221915e-08f, 4.644413370e-08f, 4.644596617e-08f, 4.644771658e-08f, 4.644938496e-08f, 4.645097132e-08f, 4.645247569e-08f, 4.645389809e-08f, 4.645523853e-08f,
+4.645649706e-08f, 4.645767368e-08f, 4.645876841e-08f, 4.645978129e-08f, 4.646071233e-08f, 4.646156156e-08f, 4.646232900e-08f, 4.646301467e-08f, 4.646361859e-08f, 4.646414080e-08f,
+4.646458130e-08f, 4.646494014e-08f, 4.646521732e-08f, 4.646541288e-08f, 4.646552684e-08f, 4.646555922e-08f, 4.646551005e-08f, 4.646537935e-08f, 4.646516714e-08f, 4.646487346e-08f,
+4.646449832e-08f, 4.646404176e-08f, 4.646350379e-08f, 4.646288444e-08f, 4.646218374e-08f, 4.646140172e-08f, 4.646053839e-08f, 4.645959378e-08f, 4.645856793e-08f, 4.645746085e-08f,
+4.645627258e-08f, 4.645500314e-08f, 4.645365255e-08f, 4.645222085e-08f, 4.645070805e-08f, 4.644911419e-08f, 4.644743930e-08f, 4.644568340e-08f, 4.644384651e-08f, 4.644192867e-08f,
+4.643992991e-08f, 4.643785025e-08f, 4.643568971e-08f, 4.643344834e-08f, 4.643112615e-08f, 4.642872317e-08f, 4.642623944e-08f, 4.642367498e-08f, 4.642102981e-08f, 4.641830398e-08f,
+4.641549751e-08f, 4.641261042e-08f, 4.640964275e-08f, 4.640659452e-08f, 4.640346577e-08f, 4.640025652e-08f, 4.639696681e-08f, 4.639359667e-08f, 4.639014611e-08f, 4.638661519e-08f,
+4.638300392e-08f, 4.637931233e-08f, 4.637554046e-08f, 4.637168834e-08f, 4.636775600e-08f, 4.636374347e-08f, 4.635965077e-08f, 4.635547795e-08f, 4.635122503e-08f, 4.634689205e-08f,
+4.634247903e-08f, 4.633798602e-08f, 4.633341303e-08f, 4.632876010e-08f, 4.632402727e-08f, 4.631921456e-08f, 4.631432202e-08f, 4.630934966e-08f, 4.630429753e-08f, 4.629916566e-08f,
+4.629395408e-08f, 4.628866282e-08f, 4.628329192e-08f, 4.627784141e-08f, 4.627231133e-08f, 4.626670170e-08f, 4.626101256e-08f, 4.625524395e-08f, 4.624939590e-08f, 4.624346844e-08f,
+4.623746161e-08f, 4.623137544e-08f, 4.622520997e-08f, 4.621896523e-08f, 4.621264126e-08f, 4.620623809e-08f, 4.619975575e-08f, 4.619319429e-08f, 4.618655374e-08f, 4.617983412e-08f,
+4.617303549e-08f, 4.616615787e-08f, 4.615920130e-08f, 4.615216581e-08f, 4.614505145e-08f, 4.613785824e-08f, 4.613058624e-08f, 4.612323546e-08f, 4.611580595e-08f, 4.610829774e-08f,
+4.610071088e-08f, 4.609304539e-08f, 4.608530132e-08f, 4.607747871e-08f, 4.606957758e-08f, 4.606159799e-08f, 4.605353996e-08f, 4.604540353e-08f, 4.603718874e-08f, 4.602889564e-08f,
+4.602052425e-08f, 4.601207462e-08f, 4.600354678e-08f, 4.599494078e-08f, 4.598625665e-08f, 4.597749442e-08f, 4.596865415e-08f, 4.595973587e-08f, 4.595073962e-08f, 4.594166543e-08f,
+4.593251335e-08f, 4.592328342e-08f, 4.591397567e-08f, 4.590459015e-08f, 4.589512689e-08f, 4.588558594e-08f, 4.587596734e-08f, 4.586627113e-08f, 4.585649734e-08f, 4.584664602e-08f,
+4.583671720e-08f, 4.582671094e-08f, 4.581662727e-08f, 4.580646622e-08f, 4.579622786e-08f, 4.578591220e-08f, 4.577551930e-08f, 4.576504920e-08f, 4.575450194e-08f, 4.574387755e-08f,
+4.573317609e-08f, 4.572239760e-08f, 4.571154211e-08f, 4.570060967e-08f, 4.568960032e-08f, 4.567851411e-08f, 4.566735107e-08f, 4.565611126e-08f, 4.564479470e-08f, 4.563340146e-08f,
+4.562193156e-08f, 4.561038505e-08f, 4.559876198e-08f, 4.558706239e-08f, 4.557528633e-08f, 4.556343383e-08f, 4.555150494e-08f, 4.553949971e-08f, 4.552741817e-08f, 4.551526038e-08f,
+4.550302638e-08f, 4.549071621e-08f, 4.547832992e-08f, 4.546586755e-08f, 4.545332915e-08f, 4.544071475e-08f, 4.542802442e-08f, 4.541525819e-08f, 4.540241611e-08f, 4.538949822e-08f,
+4.537650457e-08f, 4.536343520e-08f, 4.535029017e-08f, 4.533706951e-08f, 4.532377327e-08f, 4.531040151e-08f, 4.529695426e-08f, 4.528343157e-08f, 4.526983349e-08f, 4.525616007e-08f,
+4.524241134e-08f, 4.522858737e-08f, 4.521468820e-08f, 4.520071386e-08f, 4.518666442e-08f, 4.517253992e-08f, 4.515834040e-08f, 4.514406592e-08f, 4.512971652e-08f, 4.511529225e-08f,
+4.510079315e-08f, 4.508621928e-08f, 4.507157068e-08f, 4.505684741e-08f, 4.504204951e-08f, 4.502717703e-08f, 4.501223001e-08f, 4.499720851e-08f, 4.498211258e-08f, 4.496694226e-08f,
+4.495169761e-08f, 4.493637867e-08f, 4.492098550e-08f, 4.490551813e-08f, 4.488997663e-08f, 4.487436104e-08f, 4.485867142e-08f, 4.484290780e-08f, 4.482707025e-08f, 4.481115881e-08f,
+4.479517354e-08f, 4.477911448e-08f, 4.476298168e-08f, 4.474677520e-08f, 4.473049508e-08f, 4.471414138e-08f, 4.469771414e-08f, 4.468121343e-08f, 4.466463929e-08f, 4.464799177e-08f,
+4.463127092e-08f, 4.461447679e-08f, 4.459760945e-08f, 4.458066893e-08f, 4.456365529e-08f, 4.454656859e-08f, 4.452940887e-08f, 4.451217618e-08f, 4.449487059e-08f, 4.447749214e-08f,
+4.446004089e-08f, 4.444251688e-08f, 4.442492017e-08f, 4.440725082e-08f, 4.438950887e-08f, 4.437169439e-08f, 4.435380741e-08f, 4.433584801e-08f, 4.431781622e-08f, 4.429971211e-08f,
+4.428153573e-08f, 4.426328713e-08f, 4.424496637e-08f, 4.422657349e-08f, 4.420810856e-08f, 4.418957163e-08f, 4.417096275e-08f, 4.415228198e-08f, 4.413352938e-08f, 4.411470499e-08f,
+4.409580887e-08f, 4.407684108e-08f, 4.405780167e-08f, 4.403869071e-08f, 4.401950823e-08f, 4.400025430e-08f, 4.398092898e-08f, 4.396153232e-08f, 4.394206437e-08f, 4.392252519e-08f,
+4.390291485e-08f, 4.388323338e-08f, 4.386348086e-08f, 4.384365733e-08f, 4.382376286e-08f, 4.380379749e-08f, 4.378376129e-08f, 4.376365432e-08f, 4.374347662e-08f, 4.372322827e-08f,
+4.370290930e-08f, 4.368251979e-08f, 4.366205978e-08f, 4.364152935e-08f, 4.362092853e-08f, 4.360025740e-08f, 4.357951600e-08f, 4.355870441e-08f, 4.353782267e-08f, 4.351687084e-08f,
+4.349584898e-08f, 4.347475715e-08f, 4.345359541e-08f, 4.343236381e-08f, 4.341106243e-08f, 4.338969130e-08f, 4.336825050e-08f, 4.334674008e-08f, 4.332516010e-08f, 4.330351062e-08f,
+4.328179169e-08f, 4.326000339e-08f, 4.323814577e-08f, 4.321621888e-08f, 4.319422279e-08f, 4.317215755e-08f, 4.315002324e-08f, 4.312781990e-08f, 4.310554759e-08f, 4.308320639e-08f,
+4.306079634e-08f, 4.303831751e-08f, 4.301576995e-08f, 4.299315374e-08f, 4.297046893e-08f, 4.294771557e-08f, 4.292489374e-08f, 4.290200349e-08f, 4.287904488e-08f, 4.285601798e-08f,
+4.283292285e-08f, 4.280975954e-08f, 4.278652812e-08f, 4.276322865e-08f, 4.273986120e-08f, 4.271642582e-08f, 4.269292257e-08f, 4.266935153e-08f, 4.264571274e-08f, 4.262200628e-08f,
+4.259823220e-08f, 4.257439057e-08f, 4.255048146e-08f, 4.252650491e-08f, 4.250246100e-08f, 4.247834979e-08f, 4.245417134e-08f, 4.242992571e-08f, 4.240561297e-08f, 4.238123318e-08f,
+4.235678641e-08f, 4.233227272e-08f, 4.230769216e-08f, 4.228304481e-08f, 4.225833073e-08f, 4.223354999e-08f, 4.220870264e-08f, 4.218378875e-08f, 4.215880838e-08f, 4.213376161e-08f,
+4.210864849e-08f, 4.208346908e-08f, 4.205822346e-08f, 4.203291169e-08f, 4.200753382e-08f, 4.198208994e-08f, 4.195658009e-08f, 4.193100436e-08f, 4.190536279e-08f, 4.187965546e-08f,
+4.185388244e-08f, 4.182804378e-08f, 4.180213956e-08f, 4.177616983e-08f, 4.175013467e-08f, 4.172403414e-08f, 4.169786831e-08f, 4.167163724e-08f, 4.164534100e-08f, 4.161897965e-08f,
+4.159255327e-08f, 4.156606191e-08f, 4.153950565e-08f, 4.151288454e-08f, 4.148619867e-08f, 4.145944809e-08f, 4.143263287e-08f, 4.140575307e-08f, 4.137880878e-08f, 4.135180004e-08f,
+4.132472693e-08f, 4.129758953e-08f, 4.127038788e-08f, 4.124312207e-08f, 4.121579215e-08f, 4.118839821e-08f, 4.116094030e-08f, 4.113341849e-08f, 4.110583285e-08f, 4.107818345e-08f,
+4.105047036e-08f, 4.102269364e-08f, 4.099485337e-08f, 4.096694961e-08f, 4.093898243e-08f, 4.091095189e-08f, 4.088285808e-08f, 4.085470106e-08f, 4.082648089e-08f, 4.079819764e-08f,
+4.076985139e-08f, 4.074144220e-08f, 4.071297015e-08f, 4.068443529e-08f, 4.065583771e-08f, 4.062717747e-08f, 4.059845464e-08f, 4.056966929e-08f, 4.054082149e-08f, 4.051191130e-08f,
+4.048293881e-08f, 4.045390408e-08f, 4.042480718e-08f, 4.039564818e-08f, 4.036642715e-08f, 4.033714416e-08f, 4.030779929e-08f, 4.027839259e-08f, 4.024892415e-08f, 4.021939404e-08f,
+4.018980231e-08f, 4.016014906e-08f, 4.013043434e-08f, 4.010065823e-08f, 4.007082080e-08f, 4.004092212e-08f, 4.001096226e-08f, 3.998094129e-08f, 3.995085929e-08f, 3.992071633e-08f,
+3.989051248e-08f, 3.986024780e-08f, 3.982992238e-08f, 3.979953628e-08f, 3.976908958e-08f, 3.973858235e-08f, 3.970801466e-08f, 3.967738658e-08f, 3.964669819e-08f, 3.961594956e-08f,
+3.958514076e-08f, 3.955427186e-08f, 3.952334293e-08f, 3.949235406e-08f, 3.946130531e-08f, 3.943019676e-08f, 3.939902847e-08f, 3.936780053e-08f, 3.933651300e-08f, 3.930516596e-08f,
+3.927375948e-08f, 3.924229363e-08f, 3.921076850e-08f, 3.917918415e-08f, 3.914754065e-08f, 3.911583809e-08f, 3.908407653e-08f, 3.905225604e-08f, 3.902037672e-08f, 3.898843861e-08f,
+3.895644181e-08f, 3.892438639e-08f, 3.889227241e-08f, 3.886009996e-08f, 3.882786911e-08f, 3.879557993e-08f, 3.876323250e-08f, 3.873082689e-08f, 3.869836318e-08f, 3.866584145e-08f,
+3.863326176e-08f, 3.860062420e-08f, 3.856792883e-08f, 3.853517574e-08f, 3.850236500e-08f, 3.846949669e-08f, 3.843657087e-08f, 3.840358764e-08f, 3.837054705e-08f, 3.833744919e-08f,
+3.830429414e-08f, 3.827108197e-08f, 3.823781275e-08f, 3.820448656e-08f, 3.817110349e-08f, 3.813766359e-08f, 3.810416696e-08f, 3.807061367e-08f, 3.803700379e-08f, 3.800333740e-08f,
+3.796961457e-08f, 3.793583539e-08f, 3.790199993e-08f, 3.786810827e-08f, 3.783416049e-08f, 3.780015665e-08f, 3.776609685e-08f, 3.773198115e-08f, 3.769780963e-08f, 3.766358238e-08f,
+3.762929946e-08f, 3.759496096e-08f, 3.756056695e-08f, 3.752611751e-08f, 3.749161272e-08f, 3.745705266e-08f, 3.742243740e-08f, 3.738776702e-08f, 3.735304161e-08f, 3.731826123e-08f,
+3.728342597e-08f, 3.724853590e-08f, 3.721359111e-08f, 3.717859167e-08f, 3.714353766e-08f, 3.710842916e-08f, 3.707326624e-08f, 3.703804899e-08f, 3.700277749e-08f, 3.696745181e-08f,
+3.693207203e-08f, 3.689663823e-08f, 3.686115050e-08f, 3.682560890e-08f, 3.679001352e-08f, 3.675436444e-08f, 3.671866174e-08f, 3.668290550e-08f, 3.664709579e-08f, 3.661123270e-08f,
+3.657531630e-08f, 3.653934668e-08f, 3.650332391e-08f, 3.646724808e-08f, 3.643111927e-08f, 3.639493754e-08f, 3.635870300e-08f, 3.632241571e-08f, 3.628607575e-08f, 3.624968321e-08f,
+3.621323816e-08f, 3.617674069e-08f, 3.614019088e-08f, 3.610358881e-08f, 3.606693455e-08f, 3.603022819e-08f, 3.599346981e-08f, 3.595665949e-08f, 3.591979731e-08f, 3.588288335e-08f,
+3.584591770e-08f, 3.580890043e-08f, 3.577183162e-08f, 3.573471136e-08f, 3.569753973e-08f, 3.566031681e-08f, 3.562304268e-08f, 3.558571742e-08f, 3.554834111e-08f, 3.551091384e-08f,
+3.547343568e-08f, 3.543590672e-08f, 3.539832705e-08f, 3.536069673e-08f, 3.532301586e-08f, 3.528528451e-08f, 3.524750278e-08f, 3.520967073e-08f, 3.517178845e-08f, 3.513385603e-08f,
+3.509587355e-08f, 3.505784109e-08f, 3.501975872e-08f, 3.498162655e-08f, 3.494344463e-08f, 3.490521307e-08f, 3.486693194e-08f, 3.482860133e-08f, 3.479022131e-08f, 3.475179198e-08f,
+3.471331341e-08f, 3.467478568e-08f, 3.463620888e-08f, 3.459758310e-08f, 3.455890841e-08f, 3.452018491e-08f, 3.448141266e-08f, 3.444259176e-08f, 3.440372229e-08f, 3.436480434e-08f,
+3.432583798e-08f, 3.428682330e-08f, 3.424776038e-08f, 3.420864932e-08f, 3.416949018e-08f, 3.413028306e-08f, 3.409102804e-08f, 3.405172520e-08f, 3.401237463e-08f, 3.397297641e-08f,
+3.393353063e-08f, 3.389403736e-08f, 3.385449670e-08f, 3.381490873e-08f, 3.377527353e-08f, 3.373559119e-08f, 3.369586179e-08f, 3.365608542e-08f, 3.361626216e-08f, 3.357639210e-08f,
+3.353647531e-08f, 3.349651189e-08f, 3.345650192e-08f, 3.341644549e-08f, 3.337634267e-08f, 3.333619356e-08f, 3.329599824e-08f, 3.325575680e-08f, 3.321546932e-08f, 3.317513588e-08f,
+3.313475657e-08f, 3.309433148e-08f, 3.305386070e-08f, 3.301334430e-08f, 3.297278237e-08f, 3.293217500e-08f, 3.289152228e-08f, 3.285082428e-08f, 3.281008110e-08f, 3.276929283e-08f,
+3.272845954e-08f, 3.268758132e-08f, 3.264665826e-08f, 3.260569045e-08f, 3.256467797e-08f, 3.252362091e-08f, 3.248251935e-08f, 3.244137338e-08f, 3.240018308e-08f, 3.235894855e-08f,
+3.231766987e-08f, 3.227634712e-08f, 3.223498040e-08f, 3.219356978e-08f, 3.215211536e-08f, 3.211061722e-08f, 3.206907545e-08f, 3.202749013e-08f, 3.198586136e-08f, 3.194418921e-08f,
+3.190247378e-08f, 3.186071515e-08f, 3.181891342e-08f, 3.177706866e-08f, 3.173518096e-08f, 3.169325041e-08f, 3.165127710e-08f, 3.160926112e-08f, 3.156720255e-08f, 3.152510148e-08f,
+3.148295800e-08f, 3.144077219e-08f, 3.139854415e-08f, 3.135627395e-08f, 3.131396170e-08f, 3.127160747e-08f, 3.122921135e-08f, 3.118677343e-08f, 3.114429380e-08f, 3.110177255e-08f,
+3.105920976e-08f, 3.101660552e-08f, 3.097395992e-08f, 3.093127306e-08f, 3.088854500e-08f, 3.084577586e-08f, 3.080296570e-08f, 3.076011463e-08f, 3.071722272e-08f, 3.067429007e-08f,
+3.063131677e-08f, 3.058830290e-08f, 3.054524855e-08f, 3.050215382e-08f, 3.045901878e-08f, 3.041584353e-08f, 3.037262816e-08f, 3.032937276e-08f, 3.028607741e-08f, 3.024274220e-08f,
+3.019936722e-08f, 3.015595256e-08f, 3.011249831e-08f, 3.006900456e-08f, 3.002547140e-08f, 2.998189891e-08f, 2.993828719e-08f, 2.989463633e-08f, 2.985094640e-08f, 2.980721751e-08f,
+2.976344974e-08f, 2.971964319e-08f, 2.967579793e-08f, 2.963191406e-08f, 2.958799167e-08f, 2.954403085e-08f, 2.950003169e-08f, 2.945599428e-08f, 2.941191870e-08f, 2.936780505e-08f,
+2.932365342e-08f, 2.927946389e-08f, 2.923523656e-08f, 2.919097151e-08f, 2.914666884e-08f, 2.910232863e-08f, 2.905795098e-08f, 2.901353597e-08f, 2.896908370e-08f, 2.892459425e-08f,
+2.888006772e-08f, 2.883550419e-08f, 2.879090376e-08f, 2.874626652e-08f, 2.870159254e-08f, 2.865688194e-08f, 2.861213479e-08f, 2.856735118e-08f, 2.852253121e-08f, 2.847767497e-08f,
+2.843278255e-08f, 2.838785403e-08f, 2.834288951e-08f, 2.829788909e-08f, 2.825285283e-08f, 2.820778085e-08f, 2.816267323e-08f, 2.811753006e-08f, 2.807235144e-08f, 2.802713744e-08f,
+2.798188817e-08f, 2.793660371e-08f, 2.789128416e-08f, 2.784592960e-08f, 2.780054013e-08f, 2.775511583e-08f, 2.770965681e-08f, 2.766416314e-08f, 2.761863493e-08f, 2.757307225e-08f,
+2.752747521e-08f, 2.748184390e-08f, 2.743617839e-08f, 2.739047880e-08f, 2.734474520e-08f, 2.729897769e-08f, 2.725317636e-08f, 2.720734130e-08f, 2.716147261e-08f, 2.711557037e-08f,
+2.706963467e-08f, 2.702366561e-08f, 2.697766328e-08f, 2.693162777e-08f, 2.688555917e-08f, 2.683945757e-08f, 2.679332307e-08f, 2.674715576e-08f, 2.670095572e-08f, 2.665472305e-08f,
+2.660845785e-08f, 2.656216020e-08f, 2.651583019e-08f, 2.646946792e-08f, 2.642307348e-08f, 2.637664696e-08f, 2.633018845e-08f, 2.628369805e-08f, 2.623717584e-08f, 2.619062192e-08f,
+2.614403638e-08f, 2.609741931e-08f, 2.605077081e-08f, 2.600409097e-08f, 2.595737987e-08f, 2.591063762e-08f, 2.586386430e-08f, 2.581706000e-08f, 2.577022482e-08f, 2.572335885e-08f,
+2.567646219e-08f, 2.562953491e-08f, 2.558257713e-08f, 2.553558892e-08f, 2.548857039e-08f, 2.544152162e-08f, 2.539444271e-08f, 2.534733374e-08f, 2.530019482e-08f, 2.525302603e-08f,
+2.520582747e-08f, 2.515859923e-08f, 2.511134140e-08f, 2.506405407e-08f, 2.501673734e-08f, 2.496939130e-08f, 2.492201604e-08f, 2.487461166e-08f, 2.482717825e-08f, 2.477971589e-08f,
+2.473222469e-08f, 2.468470474e-08f, 2.463715612e-08f, 2.458957894e-08f, 2.454197328e-08f, 2.449433925e-08f, 2.444667692e-08f, 2.439898639e-08f, 2.435126776e-08f, 2.430352112e-08f,
+2.425574657e-08f, 2.420794419e-08f, 2.416011407e-08f, 2.411225632e-08f, 2.406437103e-08f, 2.401645828e-08f, 2.396851817e-08f, 2.392055080e-08f, 2.387255626e-08f, 2.382453463e-08f,
+2.377648602e-08f, 2.372841052e-08f, 2.368030822e-08f, 2.363217921e-08f, 2.358402359e-08f, 2.353584145e-08f, 2.348763288e-08f, 2.343939798e-08f, 2.339113684e-08f, 2.334284955e-08f,
+2.329453621e-08f, 2.324619691e-08f, 2.319783174e-08f, 2.314944081e-08f, 2.310102419e-08f, 2.305258199e-08f, 2.300411429e-08f, 2.295562120e-08f, 2.290710280e-08f, 2.285855919e-08f,
+2.280999046e-08f, 2.276139671e-08f, 2.271277802e-08f, 2.266413450e-08f, 2.261546624e-08f, 2.256677333e-08f, 2.251805586e-08f, 2.246931392e-08f, 2.242054762e-08f, 2.237175705e-08f,
+2.232294229e-08f, 2.227410344e-08f, 2.222524060e-08f, 2.217635386e-08f, 2.212744332e-08f, 2.207850906e-08f, 2.202955118e-08f, 2.198056978e-08f, 2.193156495e-08f, 2.188253678e-08f,
+2.183348537e-08f, 2.178441080e-08f, 2.173531318e-08f, 2.168619260e-08f, 2.163704915e-08f, 2.158788293e-08f, 2.153869403e-08f, 2.148948254e-08f, 2.144024856e-08f, 2.139099218e-08f,
+2.134171350e-08f, 2.129241261e-08f, 2.124308960e-08f, 2.119374457e-08f, 2.114437761e-08f, 2.109498881e-08f, 2.104557828e-08f, 2.099614610e-08f, 2.094669237e-08f, 2.089721718e-08f,
+2.084772063e-08f, 2.079820280e-08f, 2.074866381e-08f, 2.069910373e-08f, 2.064952266e-08f, 2.059992070e-08f, 2.055029794e-08f, 2.050065447e-08f, 2.045099040e-08f, 2.040130580e-08f,
+2.035160079e-08f, 2.030187544e-08f, 2.025212987e-08f, 2.020236415e-08f, 2.015257838e-08f, 2.010277267e-08f, 2.005294710e-08f, 2.000310176e-08f, 1.995323675e-08f, 1.990335217e-08f,
+1.985344811e-08f, 1.980352467e-08f, 1.975358193e-08f, 1.970361999e-08f, 1.965363895e-08f, 1.960363890e-08f, 1.955361993e-08f, 1.950358214e-08f, 1.945352563e-08f, 1.940345049e-08f,
+1.935335680e-08f, 1.930324468e-08f, 1.925311420e-08f, 1.920296547e-08f, 1.915279857e-08f, 1.910261361e-08f, 1.905241068e-08f, 1.900218987e-08f, 1.895195128e-08f, 1.890169499e-08f,
+1.885142112e-08f, 1.880112974e-08f, 1.875082095e-08f, 1.870049485e-08f, 1.865015154e-08f, 1.859979110e-08f, 1.854941363e-08f, 1.849901922e-08f, 1.844860798e-08f, 1.839817999e-08f,
+1.834773535e-08f, 1.829727415e-08f, 1.824679648e-08f, 1.819630245e-08f, 1.814579214e-08f, 1.809526566e-08f, 1.804472308e-08f, 1.799416452e-08f, 1.794359005e-08f, 1.789299979e-08f,
+1.784239381e-08f, 1.779177222e-08f, 1.774113511e-08f, 1.769048258e-08f, 1.763981471e-08f, 1.758913161e-08f, 1.753843336e-08f, 1.748772007e-08f, 1.743699182e-08f, 1.738624871e-08f,
+1.733549084e-08f, 1.728471829e-08f, 1.723393117e-08f, 1.718312956e-08f, 1.713231357e-08f, 1.708148328e-08f, 1.703063879e-08f, 1.697978020e-08f, 1.692890759e-08f, 1.687802107e-08f,
+1.682712072e-08f, 1.677620665e-08f, 1.672527894e-08f, 1.667433769e-08f, 1.662338300e-08f, 1.657241495e-08f, 1.652143365e-08f, 1.647043919e-08f, 1.641943165e-08f, 1.636841114e-08f,
+1.631737775e-08f, 1.626633158e-08f, 1.621527271e-08f, 1.616420124e-08f, 1.611311728e-08f, 1.606202090e-08f, 1.601091220e-08f, 1.595979129e-08f, 1.590865825e-08f, 1.585751317e-08f,
+1.580635616e-08f, 1.575518730e-08f, 1.570400670e-08f, 1.565281443e-08f, 1.560161061e-08f, 1.555039531e-08f, 1.549916864e-08f, 1.544793070e-08f, 1.539668156e-08f, 1.534542134e-08f,
+1.529415012e-08f, 1.524286799e-08f, 1.519157505e-08f, 1.514027140e-08f, 1.508895713e-08f, 1.503763233e-08f, 1.498629710e-08f, 1.493495152e-08f, 1.488359571e-08f, 1.483222974e-08f,
+1.478085371e-08f, 1.472946772e-08f, 1.467807186e-08f, 1.462666622e-08f, 1.457525090e-08f, 1.452382600e-08f, 1.447239160e-08f, 1.442094780e-08f, 1.436949469e-08f, 1.431803237e-08f,
+1.426656094e-08f, 1.421508047e-08f, 1.416359108e-08f, 1.411209285e-08f, 1.406058588e-08f, 1.400907025e-08f, 1.395754608e-08f, 1.390601343e-08f, 1.385447243e-08f, 1.380292314e-08f,
+1.375136568e-08f, 1.369980013e-08f, 1.364822658e-08f, 1.359664514e-08f, 1.354505588e-08f, 1.349345892e-08f, 1.344185434e-08f, 1.339024223e-08f, 1.333862269e-08f, 1.328699581e-08f,
+1.323536169e-08f, 1.318372041e-08f, 1.313207208e-08f, 1.308041679e-08f, 1.302875462e-08f, 1.297708568e-08f, 1.292541005e-08f, 1.287372784e-08f, 1.282203912e-08f, 1.277034400e-08f,
+1.271864258e-08f, 1.266693493e-08f, 1.261522117e-08f, 1.256350137e-08f, 1.251177564e-08f, 1.246004406e-08f, 1.240830673e-08f, 1.235656375e-08f, 1.230481520e-08f, 1.225306118e-08f,
+1.220130179e-08f, 1.214953711e-08f, 1.209776724e-08f, 1.204599228e-08f, 1.199421231e-08f, 1.194242742e-08f, 1.189063772e-08f, 1.183884330e-08f, 1.178704424e-08f, 1.173524064e-08f,
+1.168343260e-08f, 1.163162020e-08f, 1.157980354e-08f, 1.152798272e-08f, 1.147615782e-08f, 1.142432894e-08f, 1.137249617e-08f, 1.132065961e-08f, 1.126881934e-08f, 1.121697547e-08f,
+1.116512807e-08f, 1.111327725e-08f, 1.106142310e-08f, 1.100956572e-08f, 1.095770518e-08f, 1.090584159e-08f, 1.085397504e-08f, 1.080210562e-08f, 1.075023343e-08f, 1.069835855e-08f,
+1.064648108e-08f, 1.059460112e-08f, 1.054271875e-08f, 1.049083406e-08f, 1.043894716e-08f, 1.038705812e-08f, 1.033516706e-08f, 1.028327404e-08f, 1.023137918e-08f, 1.017948256e-08f,
+1.012758427e-08f, 1.007568441e-08f, 1.002378306e-08f, 9.971880329e-09f, 9.919976298e-09f, 9.868071061e-09f, 9.816164712e-09f, 9.764257342e-09f, 9.712349043e-09f, 9.660439907e-09f,
+9.608530027e-09f, 9.556619494e-09f, 9.504708400e-09f, 9.452796838e-09f, 9.400884899e-09f, 9.348972675e-09f, 9.297060258e-09f, 9.245147740e-09f, 9.193235213e-09f, 9.141322768e-09f,
+9.089410498e-09f, 9.037498493e-09f, 8.985586847e-09f, 8.933675649e-09f, 8.881764993e-09f, 8.829854970e-09f, 8.777945671e-09f, 8.726037188e-09f, 8.674129612e-09f, 8.622223036e-09f,
+8.570317549e-09f, 8.518413245e-09f, 8.466510213e-09f, 8.414608547e-09f, 8.362708336e-09f, 8.310809673e-09f, 8.258912648e-09f, 8.207017354e-09f, 8.155123880e-09f, 8.103232319e-09f,
+8.051342761e-09f, 7.999455297e-09f, 7.947570020e-09f, 7.895687019e-09f, 7.843806386e-09f, 7.791928212e-09f, 7.740052588e-09f, 7.688179604e-09f, 7.636309352e-09f, 7.584441923e-09f,
+7.532577407e-09f, 7.480715895e-09f, 7.428857478e-09f, 7.377002247e-09f, 7.325150292e-09f, 7.273301704e-09f, 7.221456574e-09f, 7.169614992e-09f, 7.117777050e-09f, 7.065942836e-09f,
+7.014112443e-09f, 6.962285960e-09f, 6.910463477e-09f, 6.858645086e-09f, 6.806830877e-09f, 6.755020939e-09f, 6.703215364e-09f, 6.651414241e-09f, 6.599617661e-09f, 6.547825714e-09f,
+6.496038489e-09f, 6.444256078e-09f, 6.392478570e-09f, 6.340706055e-09f, 6.288938623e-09f, 6.237176365e-09f, 6.185419370e-09f, 6.133667727e-09f, 6.081921528e-09f, 6.030180861e-09f,
+5.978445817e-09f, 5.926716485e-09f, 5.874992954e-09f, 5.823275316e-09f, 5.771563658e-09f, 5.719858071e-09f, 5.668158645e-09f, 5.616465468e-09f, 5.564778630e-09f, 5.513098222e-09f,
+5.461424331e-09f, 5.409757048e-09f, 5.358096461e-09f, 5.306442661e-09f, 5.254795736e-09f, 5.203155775e-09f, 5.151522868e-09f, 5.099897104e-09f, 5.048278571e-09f, 4.996667360e-09f,
+4.945063558e-09f, 4.893467255e-09f, 4.841878539e-09f, 4.790297500e-09f, 4.738724227e-09f, 4.687158807e-09f, 4.635601331e-09f, 4.584051886e-09f, 4.532510561e-09f, 4.480977446e-09f,
+4.429452628e-09f, 4.377936195e-09f, 4.326428238e-09f, 4.274928843e-09f, 4.223438099e-09f, 4.171956096e-09f, 4.120482920e-09f, 4.069018660e-09f, 4.017563406e-09f, 3.966117243e-09f,
+3.914680262e-09f, 3.863252550e-09f, 3.811834195e-09f, 3.760425284e-09f, 3.709025907e-09f, 3.657636151e-09f, 3.606256104e-09f, 3.554885853e-09f, 3.503525487e-09f, 3.452175093e-09f,
+3.400834759e-09f, 3.349504572e-09f, 3.298184621e-09f, 3.246874992e-09f, 3.195575774e-09f, 3.144287054e-09f, 3.093008918e-09f, 3.041741456e-09f, 2.990484753e-09f, 2.939238897e-09f,
+2.888003976e-09f, 2.836780077e-09f, 2.785567286e-09f, 2.734365691e-09f, 2.683175379e-09f, 2.631996438e-09f, 2.580828953e-09f, 2.529673012e-09f, 2.478528702e-09f, 2.427396109e-09f,
+2.376275320e-09f, 2.325166423e-09f, 2.274069503e-09f, 2.222984648e-09f, 2.171911944e-09f, 2.120851477e-09f, 2.069803334e-09f, 2.018767602e-09f, 1.967744366e-09f, 1.916733713e-09f,
+1.865735730e-09f, 1.814750503e-09f, 1.763778117e-09f, 1.712818659e-09f, 1.661872215e-09f, 1.610938872e-09f, 1.560018714e-09f, 1.509111829e-09f, 1.458218301e-09f, 1.407338217e-09f,
+1.356471663e-09f, 1.305618724e-09f, 1.254779486e-09f, 1.203954034e-09f, 1.153142455e-09f, 1.102344833e-09f, 1.051561255e-09f, 1.000791805e-09f, 9.500365693e-10f, 8.992956328e-10f,
+8.485690810e-10f, 7.978569989e-10f, 7.471594718e-10f, 6.964765849e-10f, 6.458084231e-10f, 5.951550715e-10f, 5.445166150e-10f, 4.938931386e-10f, 4.432847270e-10f, 3.926914652e-10f,
+3.421134378e-10f, 2.915507296e-10f, 2.410034251e-10f, 1.904716089e-10f, 1.399553657e-10f, 8.945477985e-11f, 3.896993577e-11f, -1.149908214e-11f, -6.195218958e-11f, -1.123893023e-10f,
+-1.628103361e-10f, -2.132152067e-10f, -2.636038302e-10f, -3.139761225e-10f, -3.643319996e-10f, -4.146713775e-10f, -4.649941724e-10f, -5.153003005e-10f, -5.655896779e-10f, -6.158622211e-10f,
+-6.661178464e-10f, -7.163564701e-10f, -7.665780087e-10f, -8.167823787e-10f, -8.669694967e-10f, -9.171392794e-10f, -9.672916435e-10f, -1.017426506e-09f, -1.067543783e-09f, -1.117643391e-09f,
+-1.167725249e-09f, -1.217789272e-09f, -1.267835377e-09f, -1.317863483e-09f, -1.367873505e-09f, -1.417865361e-09f, -1.467838969e-09f, -1.517794246e-09f, -1.567731108e-09f, -1.617649474e-09f,
+-1.667549261e-09f, -1.717430387e-09f, -1.767292769e-09f, -1.817136324e-09f, -1.866960972e-09f, -1.916766628e-09f, -1.966553212e-09f, -2.016320641e-09f, -2.066068833e-09f, -2.115797706e-09f,
+-2.165507179e-09f, -2.215197169e-09f, -2.264867594e-09f, -2.314518374e-09f, -2.364149425e-09f, -2.413760668e-09f, -2.463352019e-09f, -2.512923398e-09f, -2.562474723e-09f, -2.612005912e-09f,
+-2.661516886e-09f, -2.711007561e-09f, -2.760477858e-09f, -2.809927694e-09f, -2.859356990e-09f, -2.908765663e-09f, -2.958153633e-09f, -3.007520819e-09f, -3.056867141e-09f, -3.106192517e-09f,
+-3.155496867e-09f, -3.204780110e-09f, -3.254042166e-09f, -3.303282954e-09f, -3.352502394e-09f, -3.401700406e-09f, -3.450876908e-09f, -3.500031821e-09f, -3.549165065e-09f, -3.598276559e-09f,
+-3.647366224e-09f, -3.696433980e-09f, -3.745479746e-09f, -3.794503442e-09f, -3.843504990e-09f, -3.892484309e-09f, -3.941441319e-09f, -3.990375941e-09f, -4.039288096e-09f, -4.088177704e-09f,
+-4.137044685e-09f, -4.185888960e-09f, -4.234710450e-09f, -4.283509076e-09f, -4.332284758e-09f, -4.381037418e-09f, -4.429766977e-09f, -4.478473354e-09f, -4.527156473e-09f, -4.575816253e-09f,
+-4.624452616e-09f, -4.673065484e-09f, -4.721654777e-09f, -4.770220418e-09f, -4.818762327e-09f, -4.867280427e-09f, -4.915774638e-09f, -4.964244883e-09f, -5.012691084e-09f, -5.061113162e-09f,
+-5.109511039e-09f, -5.157884637e-09f, -5.206233879e-09f, -5.254558686e-09f, -5.302858980e-09f, -5.351134684e-09f, -5.399385721e-09f, -5.447612012e-09f, -5.495813479e-09f, -5.543990047e-09f,
+-5.592141636e-09f, -5.640268171e-09f, -5.688369572e-09f, -5.736445764e-09f, -5.784496670e-09f, -5.832522211e-09f, -5.880522312e-09f, -5.928496894e-09f, -5.976445883e-09f, -6.024369199e-09f,
+-6.072266768e-09f, -6.120138512e-09f, -6.167984354e-09f, -6.215804219e-09f, -6.263598030e-09f, -6.311365710e-09f, -6.359107183e-09f, -6.406822372e-09f, -6.454511203e-09f, -6.502173598e-09f,
+-6.549809482e-09f, -6.597418779e-09f, -6.645001412e-09f, -6.692557306e-09f, -6.740086386e-09f, -6.787588576e-09f, -6.835063799e-09f, -6.882511981e-09f, -6.929933047e-09f, -6.977326920e-09f,
+-7.024693525e-09f, -7.072032788e-09f, -7.119344633e-09f, -7.166628985e-09f, -7.213885769e-09f, -7.261114910e-09f, -7.308316334e-09f, -7.355489965e-09f, -7.402635729e-09f, -7.449753550e-09f,
+-7.496843356e-09f, -7.543905070e-09f, -7.590938619e-09f, -7.637943929e-09f, -7.684920924e-09f, -7.731869532e-09f, -7.778789677e-09f, -7.825681285e-09f, -7.872544284e-09f, -7.919378598e-09f,
+-7.966184154e-09f, -8.012960878e-09f, -8.059708697e-09f, -8.106427537e-09f, -8.153117324e-09f, -8.199777985e-09f, -8.246409447e-09f, -8.293011636e-09f, -8.339584478e-09f, -8.386127902e-09f,
+-8.432641834e-09f, -8.479126200e-09f, -8.525580928e-09f, -8.572005945e-09f, -8.618401178e-09f, -8.664766555e-09f, -8.711102003e-09f, -8.757407449e-09f, -8.803682821e-09f, -8.849928046e-09f,
+-8.896143052e-09f, -8.942327768e-09f, -8.988482120e-09f, -9.034606037e-09f, -9.080699446e-09f, -9.126762276e-09f, -9.172794455e-09f, -9.218795911e-09f, -9.264766572e-09f, -9.310706367e-09f,
+-9.356615224e-09f, -9.402493071e-09f, -9.448339838e-09f, -9.494155453e-09f, -9.539939845e-09f, -9.585692942e-09f, -9.631414674e-09f, -9.677104969e-09f, -9.722763757e-09f, -9.768390966e-09f,
+-9.813986526e-09f, -9.859550367e-09f, -9.905082417e-09f, -9.950582606e-09f, -9.996050864e-09f, -1.004148712e-08f, -1.008689130e-08f, -1.013226335e-08f, -1.017760317e-08f, -1.022291072e-08f,
+-1.026818592e-08f, -1.031342869e-08f, -1.035863897e-08f, -1.040381668e-08f, -1.044896177e-08f, -1.049407416e-08f, -1.053915377e-08f, -1.058420054e-08f, -1.062921441e-08f, -1.067419530e-08f,
+-1.071914313e-08f, -1.076405785e-08f, -1.080893939e-08f, -1.085378767e-08f, -1.089860263e-08f, -1.094338419e-08f, -1.098813229e-08f, -1.103284686e-08f, -1.107752784e-08f, -1.112217515e-08f,
+-1.116678872e-08f, -1.121136849e-08f, -1.125591438e-08f, -1.130042634e-08f, -1.134490429e-08f, -1.138934816e-08f, -1.143375789e-08f, -1.147813341e-08f, -1.152247465e-08f, -1.156678154e-08f,
+-1.161105401e-08f, -1.165529201e-08f, -1.169949545e-08f, -1.174366428e-08f, -1.178779843e-08f, -1.183189782e-08f, -1.187596240e-08f, -1.191999209e-08f, -1.196398683e-08f, -1.200794655e-08f,
+-1.205187118e-08f, -1.209576067e-08f, -1.213961493e-08f, -1.218343391e-08f, -1.222721754e-08f, -1.227096575e-08f, -1.231467847e-08f, -1.235835565e-08f, -1.240199721e-08f, -1.244560309e-08f,
+-1.248917322e-08f, -1.253270753e-08f, -1.257620597e-08f, -1.261966846e-08f, -1.266309494e-08f, -1.270648534e-08f, -1.274983960e-08f, -1.279315766e-08f, -1.283643944e-08f, -1.287968489e-08f,
+-1.292289393e-08f, -1.296606651e-08f, -1.300920255e-08f, -1.305230200e-08f, -1.309536478e-08f, -1.313839084e-08f, -1.318138011e-08f, -1.322433253e-08f, -1.326724802e-08f, -1.331012653e-08f,
+-1.335296800e-08f, -1.339577235e-08f, -1.343853952e-08f, -1.348126946e-08f, -1.352396209e-08f, -1.356661735e-08f, -1.360923518e-08f, -1.365181552e-08f, -1.369435830e-08f, -1.373686346e-08f,
+-1.377933093e-08f, -1.382176066e-08f, -1.386415257e-08f, -1.390650661e-08f, -1.394882271e-08f, -1.399110082e-08f, -1.403334086e-08f, -1.407554277e-08f, -1.411770649e-08f, -1.415983197e-08f,
+-1.420191913e-08f, -1.424396791e-08f, -1.428597826e-08f, -1.432795011e-08f, -1.436988339e-08f, -1.441177806e-08f, -1.445363403e-08f, -1.449545126e-08f, -1.453722968e-08f, -1.457896922e-08f,
+-1.462066984e-08f, -1.466233146e-08f, -1.470395402e-08f, -1.474553747e-08f, -1.478708173e-08f, -1.482858676e-08f, -1.487005249e-08f, -1.491147886e-08f, -1.495286581e-08f, -1.499421327e-08f,
+-1.503552119e-08f, -1.507678950e-08f, -1.511801816e-08f, -1.515920708e-08f, -1.520035622e-08f, -1.524146552e-08f, -1.528253491e-08f, -1.532356433e-08f, -1.536455373e-08f, -1.540550304e-08f,
+-1.544641221e-08f, -1.548728117e-08f, -1.552810987e-08f, -1.556889825e-08f, -1.560964624e-08f, -1.565035379e-08f, -1.569102084e-08f, -1.573164732e-08f, -1.577223319e-08f, -1.581277837e-08f,
+-1.585328282e-08f, -1.589374648e-08f, -1.593416927e-08f, -1.597455116e-08f, -1.601489207e-08f, -1.605519195e-08f, -1.609545074e-08f, -1.613566838e-08f, -1.617584482e-08f, -1.621597999e-08f,
+-1.625607385e-08f, -1.629612632e-08f, -1.633613736e-08f, -1.637610690e-08f, -1.641603489e-08f, -1.645592127e-08f, -1.649576598e-08f, -1.653556897e-08f, -1.657533018e-08f, -1.661504955e-08f,
+-1.665472702e-08f, -1.669436254e-08f, -1.673395605e-08f, -1.677350749e-08f, -1.681301681e-08f, -1.685248395e-08f, -1.689190886e-08f, -1.693129147e-08f, -1.697063174e-08f, -1.700992960e-08f,
+-1.704918499e-08f, -1.708839788e-08f, -1.712756818e-08f, -1.716669586e-08f, -1.720578086e-08f, -1.724482312e-08f, -1.728382258e-08f, -1.732277918e-08f, -1.736169289e-08f, -1.740056363e-08f,
+-1.743939135e-08f, -1.747817601e-08f, -1.751691753e-08f, -1.755561588e-08f, -1.759427099e-08f, -1.763288280e-08f, -1.767145127e-08f, -1.770997635e-08f, -1.774845796e-08f, -1.778689607e-08f,
+-1.782529061e-08f, -1.786364154e-08f, -1.790194880e-08f, -1.794021233e-08f, -1.797843208e-08f, -1.801660800e-08f, -1.805474003e-08f, -1.809282813e-08f, -1.813087223e-08f, -1.816887228e-08f,
+-1.820682823e-08f, -1.824474003e-08f, -1.828260763e-08f, -1.832043096e-08f, -1.835820998e-08f, -1.839594464e-08f, -1.843363488e-08f, -1.847128065e-08f, -1.850888190e-08f, -1.854643857e-08f,
+-1.858395062e-08f, -1.862141798e-08f, -1.865884062e-08f, -1.869621847e-08f, -1.873355148e-08f, -1.877083961e-08f, -1.880808280e-08f, -1.884528099e-08f, -1.888243415e-08f, -1.891954221e-08f,
+-1.895660512e-08f, -1.899362284e-08f, -1.903059532e-08f, -1.906752249e-08f, -1.910440431e-08f, -1.914124074e-08f, -1.917803171e-08f, -1.921477718e-08f, -1.925147710e-08f, -1.928813141e-08f,
+-1.932474007e-08f, -1.936130303e-08f, -1.939782024e-08f, -1.943429164e-08f, -1.947071719e-08f, -1.950709683e-08f, -1.954343052e-08f, -1.957971821e-08f, -1.961595984e-08f, -1.965215538e-08f,
+-1.968830476e-08f, -1.972440794e-08f, -1.976046487e-08f, -1.979647550e-08f, -1.983243978e-08f, -1.986835767e-08f, -1.990422911e-08f, -1.994005405e-08f, -1.997583246e-08f, -2.001156427e-08f,
+-2.004724944e-08f, -2.008288792e-08f, -2.011847966e-08f, -2.015402462e-08f, -2.018952275e-08f, -2.022497400e-08f, -2.026037832e-08f, -2.029573566e-08f, -2.033104598e-08f, -2.036630922e-08f,
+-2.040152535e-08f, -2.043669431e-08f, -2.047181606e-08f, -2.050689055e-08f, -2.054191773e-08f, -2.057689755e-08f, -2.061182998e-08f, -2.064671495e-08f, -2.068155243e-08f, -2.071634237e-08f,
+-2.075108472e-08f, -2.078577944e-08f, -2.082042648e-08f, -2.085502579e-08f, -2.088957733e-08f, -2.092408105e-08f, -2.095853691e-08f, -2.099294485e-08f, -2.102730484e-08f, -2.106161683e-08f,
+-2.109588077e-08f, -2.113009663e-08f, -2.116426434e-08f, -2.119838387e-08f, -2.123245517e-08f, -2.126647821e-08f, -2.130045292e-08f, -2.133437927e-08f, -2.136825722e-08f, -2.140208671e-08f,
+-2.143586771e-08f, -2.146960017e-08f, -2.150328405e-08f, -2.153691930e-08f, -2.157050587e-08f, -2.160404373e-08f, -2.163753283e-08f, -2.167097312e-08f, -2.170436457e-08f, -2.173770713e-08f,
+-2.177100075e-08f, -2.180424540e-08f, -2.183744102e-08f, -2.187058758e-08f, -2.190368503e-08f, -2.193673334e-08f, -2.196973245e-08f, -2.200268232e-08f, -2.203558292e-08f, -2.206843419e-08f,
+-2.210123611e-08f, -2.213398862e-08f, -2.216669168e-08f, -2.219934525e-08f, -2.223194928e-08f, -2.226450375e-08f, -2.229700860e-08f, -2.232946379e-08f, -2.236186928e-08f, -2.239422504e-08f,
+-2.242653101e-08f, -2.245878716e-08f, -2.249099344e-08f, -2.252314982e-08f, -2.255525626e-08f, -2.258731270e-08f, -2.261931912e-08f, -2.265127547e-08f, -2.268318171e-08f, -2.271503780e-08f,
+-2.274684370e-08f, -2.277859937e-08f, -2.281030477e-08f, -2.284195986e-08f, -2.287356460e-08f, -2.290511894e-08f, -2.293662286e-08f, -2.296807631e-08f, -2.299947925e-08f, -2.303083164e-08f,
+-2.306213344e-08f, -2.309338461e-08f, -2.312458512e-08f, -2.315573492e-08f, -2.318683398e-08f, -2.321788225e-08f, -2.324887970e-08f, -2.327982629e-08f, -2.331072198e-08f, -2.334156674e-08f,
+-2.337236051e-08f, -2.340310328e-08f, -2.343379499e-08f, -2.346443561e-08f, -2.349502510e-08f, -2.352556342e-08f, -2.355605054e-08f, -2.358648642e-08f, -2.361687102e-08f, -2.364720430e-08f,
+-2.367748623e-08f, -2.370771677e-08f, -2.373789588e-08f, -2.376802353e-08f, -2.379809967e-08f, -2.382812428e-08f, -2.385809731e-08f, -2.388801873e-08f, -2.391788849e-08f, -2.394770658e-08f,
+-2.397747294e-08f, -2.400718755e-08f, -2.403685036e-08f, -2.406646135e-08f, -2.409602046e-08f, -2.412552768e-08f, -2.415498296e-08f, -2.418438627e-08f, -2.421373758e-08f, -2.424303683e-08f,
+-2.427228402e-08f, -2.430147908e-08f, -2.433062200e-08f, -2.435971274e-08f, -2.438875126e-08f, -2.441773753e-08f, -2.444667151e-08f, -2.447555317e-08f, -2.450438247e-08f, -2.453315938e-08f,
+-2.456188387e-08f, -2.459055590e-08f, -2.461917543e-08f, -2.464774244e-08f, -2.467625689e-08f, -2.470471875e-08f, -2.473312798e-08f, -2.476148455e-08f, -2.478978842e-08f, -2.481803957e-08f,
+-2.484623795e-08f, -2.487438355e-08f, -2.490247631e-08f, -2.493051622e-08f, -2.495850323e-08f, -2.498643732e-08f, -2.501431846e-08f, -2.504214660e-08f, -2.506992172e-08f, -2.509764379e-08f,
+-2.512531277e-08f, -2.515292863e-08f, -2.518049135e-08f, -2.520800088e-08f, -2.523545720e-08f, -2.526286027e-08f, -2.529021007e-08f, -2.531750656e-08f, -2.534474971e-08f, -2.537193948e-08f,
+-2.539907586e-08f, -2.542615881e-08f, -2.545318829e-08f, -2.548016428e-08f, -2.550708675e-08f, -2.553395566e-08f, -2.556077098e-08f, -2.558753269e-08f, -2.561424075e-08f, -2.564089514e-08f,
+-2.566749582e-08f, -2.569404277e-08f, -2.572053595e-08f, -2.574697534e-08f, -2.577336090e-08f, -2.579969260e-08f, -2.582597043e-08f, -2.585219434e-08f, -2.587836430e-08f, -2.590448030e-08f,
+-2.593054230e-08f, -2.595655027e-08f, -2.598250418e-08f, -2.600840400e-08f, -2.603424971e-08f, -2.606004128e-08f, -2.608577867e-08f, -2.611146187e-08f, -2.613709084e-08f, -2.616266555e-08f,
+-2.618818598e-08f, -2.621365210e-08f, -2.623906388e-08f, -2.626442129e-08f, -2.628972431e-08f, -2.631497291e-08f, -2.634016706e-08f, -2.636530673e-08f, -2.639039190e-08f, -2.641542254e-08f,
+-2.644039863e-08f, -2.646532013e-08f, -2.649018702e-08f, -2.651499928e-08f, -2.653975687e-08f, -2.656445977e-08f, -2.658910796e-08f, -2.661370141e-08f, -2.663824009e-08f, -2.666272398e-08f,
+-2.668715305e-08f, -2.671152727e-08f, -2.673584662e-08f, -2.676011108e-08f, -2.678432062e-08f, -2.680847521e-08f, -2.683257483e-08f, -2.685661946e-08f, -2.688060906e-08f, -2.690454362e-08f,
+-2.692842310e-08f, -2.695224749e-08f, -2.697601677e-08f, -2.699973089e-08f, -2.702338985e-08f, -2.704699362e-08f, -2.707054217e-08f, -2.709403548e-08f, -2.711747352e-08f, -2.714085628e-08f,
+-2.716418373e-08f, -2.718745584e-08f, -2.721067259e-08f, -2.723383396e-08f, -2.725693992e-08f, -2.727999045e-08f, -2.730298554e-08f, -2.732592515e-08f, -2.734880926e-08f, -2.737163785e-08f,
+-2.739441090e-08f, -2.741712839e-08f, -2.743979029e-08f, -2.746239658e-08f, -2.748494723e-08f, -2.750744224e-08f, -2.752988156e-08f, -2.755226519e-08f, -2.757459311e-08f, -2.759686528e-08f,
+-2.761908168e-08f, -2.764124231e-08f, -2.766334713e-08f, -2.768539612e-08f, -2.770738927e-08f, -2.772932655e-08f, -2.775120793e-08f, -2.777303341e-08f, -2.779480296e-08f, -2.781651656e-08f,
+-2.783817418e-08f, -2.785977582e-08f, -2.788132144e-08f, -2.790281103e-08f, -2.792424456e-08f, -2.794562203e-08f, -2.796694340e-08f, -2.798820866e-08f, -2.800941779e-08f, -2.803057076e-08f,
+-2.805166757e-08f, -2.807270819e-08f, -2.809369260e-08f, -2.811462078e-08f, -2.813549272e-08f, -2.815630838e-08f, -2.817706777e-08f, -2.819777085e-08f, -2.821841761e-08f, -2.823900803e-08f,
+-2.825954209e-08f, -2.828001978e-08f, -2.830044107e-08f, -2.832080595e-08f, -2.834111439e-08f, -2.836136639e-08f, -2.838156193e-08f, -2.840170098e-08f, -2.842178352e-08f, -2.844180955e-08f,
+-2.846177905e-08f, -2.848169199e-08f, -2.850154836e-08f, -2.852134814e-08f, -2.854109133e-08f, -2.856077789e-08f, -2.858040781e-08f, -2.859998108e-08f, -2.861949768e-08f, -2.863895759e-08f,
+-2.865836080e-08f, -2.867770730e-08f, -2.869699705e-08f, -2.871623006e-08f, -2.873540630e-08f, -2.875452576e-08f, -2.877358842e-08f, -2.879259427e-08f, -2.881154329e-08f, -2.883043547e-08f,
+-2.884927079e-08f, -2.886804923e-08f, -2.888677079e-08f, -2.890543544e-08f, -2.892404318e-08f, -2.894259398e-08f, -2.896108783e-08f, -2.897952473e-08f, -2.899790464e-08f, -2.901622757e-08f,
+-2.903449350e-08f, -2.905270240e-08f, -2.907085427e-08f, -2.908894910e-08f, -2.910698687e-08f, -2.912496756e-08f, -2.914289117e-08f, -2.916075768e-08f, -2.917856708e-08f, -2.919631935e-08f,
+-2.921401448e-08f, -2.923165246e-08f, -2.924923327e-08f, -2.926675691e-08f, -2.928422336e-08f, -2.930163260e-08f, -2.931898463e-08f, -2.933627944e-08f, -2.935351700e-08f, -2.937069731e-08f,
+-2.938782036e-08f, -2.940488613e-08f, -2.942189462e-08f, -2.943884581e-08f, -2.945573969e-08f, -2.947257624e-08f, -2.948935547e-08f, -2.950607735e-08f, -2.952274187e-08f, -2.953934903e-08f,
+-2.955589881e-08f, -2.957239121e-08f, -2.958882620e-08f, -2.960520379e-08f, -2.962152396e-08f, -2.963778669e-08f, -2.965399199e-08f, -2.967013984e-08f, -2.968623022e-08f, -2.970226314e-08f,
+-2.971823857e-08f, -2.973415652e-08f, -2.975001697e-08f, -2.976581991e-08f, -2.978156532e-08f, -2.979725322e-08f, -2.981288357e-08f, -2.982845638e-08f, -2.984397163e-08f, -2.985942932e-08f,
+-2.987482944e-08f, -2.989017198e-08f, -2.990545692e-08f, -2.992068427e-08f, -2.993585401e-08f, -2.995096614e-08f, -2.996602064e-08f, -2.998101751e-08f, -2.999595675e-08f, -3.001083833e-08f,
+-3.002566226e-08f, -3.004042853e-08f, -3.005513713e-08f, -3.006978806e-08f, -3.008438129e-08f, -3.009891684e-08f, -3.011339469e-08f, -3.012781483e-08f, -3.014217726e-08f, -3.015648197e-08f,
+-3.017072895e-08f, -3.018491820e-08f, -3.019904971e-08f, -3.021312348e-08f, -3.022713950e-08f, -3.024109775e-08f, -3.025499825e-08f, -3.026884097e-08f, -3.028262592e-08f, -3.029635308e-08f,
+-3.031002246e-08f, -3.032363405e-08f, -3.033718784e-08f, -3.035068382e-08f, -3.036412200e-08f, -3.037750236e-08f, -3.039082491e-08f, -3.040408963e-08f, -3.041729652e-08f, -3.043044558e-08f,
+-3.044353681e-08f, -3.045657019e-08f, -3.046954572e-08f, -3.048246341e-08f, -3.049532324e-08f, -3.050812521e-08f, -3.052086932e-08f, -3.053355556e-08f, -3.054618393e-08f, -3.055875443e-08f,
+-3.057126705e-08f, -3.058372178e-08f, -3.059611864e-08f, -3.060845761e-08f, -3.062073868e-08f, -3.063296187e-08f, -3.064512716e-08f, -3.065723454e-08f, -3.066928403e-08f, -3.068127561e-08f,
+-3.069320928e-08f, -3.070508505e-08f, -3.071690290e-08f, -3.072866284e-08f, -3.074036487e-08f, -3.075200897e-08f, -3.076359516e-08f, -3.077512342e-08f, -3.078659377e-08f, -3.079800618e-08f,
+-3.080936067e-08f, -3.082065724e-08f, -3.083189587e-08f, -3.084307658e-08f, -3.085419935e-08f, -3.086526419e-08f, -3.087627110e-08f, -3.088722008e-08f, -3.089811112e-08f, -3.090894423e-08f,
+-3.091971940e-08f, -3.093043664e-08f, -3.094109594e-08f, -3.095169731e-08f, -3.096224074e-08f, -3.097272624e-08f, -3.098315380e-08f, -3.099352342e-08f, -3.100383512e-08f, -3.101408887e-08f,
+-3.102428470e-08f, -3.103442259e-08f, -3.104450255e-08f, -3.105452458e-08f, -3.106448868e-08f, -3.107439485e-08f, -3.108424310e-08f, -3.109403341e-08f, -3.110376581e-08f, -3.111344028e-08f,
+-3.112305683e-08f, -3.113261545e-08f, -3.114211617e-08f, -3.115155896e-08f, -3.116094384e-08f, -3.117027081e-08f, -3.117953988e-08f, -3.118875103e-08f, -3.119790428e-08f, -3.120699963e-08f,
+-3.121603708e-08f, -3.122501663e-08f, -3.123393829e-08f, -3.124280206e-08f, -3.125160794e-08f, -3.126035593e-08f, -3.126904605e-08f, -3.127767829e-08f, -3.128625265e-08f, -3.129476915e-08f,
+-3.130322777e-08f, -3.131162854e-08f, -3.131997144e-08f, -3.132825649e-08f, -3.133648369e-08f, -3.134465305e-08f, -3.135276456e-08f, -3.136081823e-08f, -3.136881407e-08f, -3.137675208e-08f,
+-3.138463227e-08f, -3.139245463e-08f, -3.140021918e-08f, -3.140792593e-08f, -3.141557487e-08f, -3.142316601e-08f, -3.143069935e-08f, -3.143817491e-08f, -3.144559269e-08f, -3.145295269e-08f,
+-3.146025491e-08f, -3.146749938e-08f, -3.147468608e-08f, -3.148181503e-08f, -3.148888623e-08f, -3.149589969e-08f, -3.150285542e-08f, -3.150975341e-08f, -3.151659369e-08f, -3.152337625e-08f,
+-3.153010110e-08f, -3.153676825e-08f, -3.154337771e-08f, -3.154992948e-08f, -3.155642357e-08f, -3.156285999e-08f, -3.156923874e-08f, -3.157555983e-08f, -3.158182327e-08f, -3.158802907e-08f,
+-3.159417723e-08f, -3.160026776e-08f, -3.160630068e-08f, -3.161227598e-08f, -3.161819368e-08f, -3.162405379e-08f, -3.162985631e-08f, -3.163560125e-08f, -3.164128862e-08f, -3.164691843e-08f,
+-3.165249069e-08f, -3.165800541e-08f, -3.166346259e-08f, -3.166886224e-08f, -3.167420438e-08f, -3.167948901e-08f, -3.168471614e-08f, -3.168988579e-08f, -3.169499796e-08f, -3.170005266e-08f,
+-3.170504989e-08f, -3.170998968e-08f, -3.171487203e-08f, -3.171969695e-08f, -3.172446446e-08f, -3.172917455e-08f, -3.173382724e-08f, -3.173842255e-08f, -3.174296048e-08f, -3.174744104e-08f,
+-3.175186424e-08f, -3.175623010e-08f, -3.176053863e-08f, -3.176478983e-08f, -3.176898372e-08f, -3.177312031e-08f, -3.177719961e-08f, -3.178122163e-08f, -3.178518638e-08f, -3.178909388e-08f,
+-3.179294413e-08f, -3.179673716e-08f, -3.180047296e-08f, -3.180415156e-08f, -3.180777296e-08f, -3.181133718e-08f, -3.181484422e-08f, -3.181829411e-08f, -3.182168685e-08f, -3.182502246e-08f,
+-3.182830095e-08f, -3.183152233e-08f, -3.183468662e-08f, -3.183779382e-08f, -3.184084396e-08f, -3.184383704e-08f, -3.184677307e-08f, -3.184965208e-08f, -3.185247407e-08f, -3.185523906e-08f,
+-3.185794707e-08f, -3.186059809e-08f, -3.186319216e-08f, -3.186572928e-08f, -3.186820947e-08f, -3.187063274e-08f, -3.187299911e-08f, -3.187530858e-08f, -3.187756119e-08f, -3.187975693e-08f,
+-3.188189582e-08f, -3.188397788e-08f, -3.188600313e-08f, -3.188797158e-08f, -3.188988324e-08f, -3.189173813e-08f, -3.189353626e-08f, -3.189527765e-08f, -3.189696232e-08f, -3.189859027e-08f,
+-3.190016154e-08f, -3.190167612e-08f, -3.190313404e-08f, -3.190453532e-08f, -3.190587996e-08f, -3.190716799e-08f, -3.190839943e-08f, -3.190957428e-08f, -3.191069256e-08f, -3.191175429e-08f,
+-3.191275950e-08f, -3.191370818e-08f, -3.191460037e-08f, -3.191543608e-08f, -3.191621532e-08f, -3.191693811e-08f, -3.191760447e-08f, -3.191821442e-08f, -3.191876797e-08f, -3.191926514e-08f,
+-3.191970595e-08f, -3.192009042e-08f, -3.192041856e-08f, -3.192069039e-08f, -3.192090593e-08f, -3.192106520e-08f, -3.192116821e-08f, -3.192121499e-08f, -3.192120555e-08f, -3.192113991e-08f,
+-3.192101809e-08f, -3.192084011e-08f, -3.192060599e-08f, -3.192031574e-08f, -3.191996938e-08f, -3.191956694e-08f, -3.191910842e-08f, -3.191859386e-08f, -3.191802327e-08f, -3.191739667e-08f,
+-3.191671408e-08f, -3.191597552e-08f, -3.191518100e-08f, -3.191433056e-08f, -3.191342420e-08f, -3.191246194e-08f, -3.191144382e-08f, -3.191036984e-08f, -3.190924003e-08f, -3.190805441e-08f,
+-3.190681300e-08f, -3.190551582e-08f, -3.190416288e-08f, -3.190275422e-08f, -3.190128985e-08f, -3.189976978e-08f, -3.189819405e-08f, -3.189656268e-08f, -3.189487568e-08f, -3.189313307e-08f,
+-3.189133488e-08f, -3.188948113e-08f, -3.188757184e-08f, -3.188560703e-08f, -3.188358673e-08f, -3.188151095e-08f, -3.187937971e-08f, -3.187719305e-08f, -3.187495097e-08f, -3.187265351e-08f,
+-3.187030068e-08f, -3.186789251e-08f, -3.186542902e-08f, -3.186291023e-08f, -3.186033617e-08f, -3.185770685e-08f, -3.185502231e-08f, -3.185228255e-08f, -3.184948762e-08f, -3.184663752e-08f,
+-3.184373228e-08f, -3.184077193e-08f, -3.183775649e-08f, -3.183468597e-08f, -3.183156042e-08f, -3.182837984e-08f, -3.182514427e-08f, -3.182185372e-08f, -3.181850822e-08f, -3.181510780e-08f,
+-3.181165247e-08f, -3.180814227e-08f, -3.180457721e-08f, -3.180095732e-08f, -3.179728263e-08f, -3.179355316e-08f, -3.178976893e-08f, -3.178592998e-08f, -3.178203631e-08f, -3.177808796e-08f,
+-3.177408496e-08f, -3.177002732e-08f, -3.176591508e-08f, -3.176174826e-08f, -3.175752688e-08f, -3.175325097e-08f, -3.174892055e-08f, -3.174453566e-08f, -3.174009631e-08f, -3.173560253e-08f,
+-3.173105435e-08f, -3.172645179e-08f, -3.172179489e-08f, -3.171708365e-08f, -3.171231812e-08f, -3.170749832e-08f, -3.170262427e-08f, -3.169769600e-08f, -3.169271354e-08f, -3.168767691e-08f,
+-3.168258614e-08f, -3.167744126e-08f, -3.167224230e-08f, -3.166698927e-08f, -3.166168222e-08f, -3.165632115e-08f, -3.165090611e-08f, -3.164543712e-08f, -3.163991421e-08f, -3.163433740e-08f,
+-3.162870673e-08f, -3.162302221e-08f, -3.161728388e-08f, -3.161149177e-08f, -3.160564590e-08f, -3.159974630e-08f, -3.159379300e-08f, -3.158778603e-08f, -3.158172541e-08f, -3.157561118e-08f,
+-3.156944336e-08f, -3.156322199e-08f, -3.155694708e-08f, -3.155061867e-08f, -3.154423679e-08f, -3.153780146e-08f, -3.153131272e-08f, -3.152477059e-08f, -3.151817511e-08f, -3.151152630e-08f,
+-3.150482419e-08f, -3.149806881e-08f, -3.149126020e-08f, -3.148439837e-08f, -3.147748336e-08f, -3.147051521e-08f, -3.146349393e-08f, -3.145641956e-08f, -3.144929213e-08f, -3.144211167e-08f,
+-3.143487821e-08f, -3.142759178e-08f, -3.142025241e-08f, -3.141286013e-08f, -3.140541497e-08f, -3.139791696e-08f, -3.139036614e-08f, -3.138276253e-08f, -3.137510616e-08f, -3.136739707e-08f,
+-3.135963528e-08f, -3.135182083e-08f, -3.134395374e-08f, -3.133603406e-08f, -3.132806181e-08f, -3.132003702e-08f, -3.131195972e-08f, -3.130382995e-08f, -3.129564773e-08f, -3.128741310e-08f,
+-3.127912610e-08f, -3.127078674e-08f, -3.126239507e-08f, -3.125395112e-08f, -3.124545491e-08f, -3.123690649e-08f, -3.122830587e-08f, -3.121965311e-08f, -3.121094822e-08f, -3.120219124e-08f,
+-3.119338221e-08f, -3.118452115e-08f, -3.117560810e-08f, -3.116664309e-08f, -3.115762616e-08f, -3.114855733e-08f, -3.113943665e-08f, -3.113026414e-08f, -3.112103983e-08f, -3.111176377e-08f,
+-3.110243598e-08f, -3.109305650e-08f, -3.108362537e-08f, -3.107414260e-08f, -3.106460825e-08f, -3.105502234e-08f, -3.104538491e-08f, -3.103569598e-08f, -3.102595561e-08f, -3.101616381e-08f,
+-3.100632062e-08f, -3.099642609e-08f, -3.098648023e-08f, -3.097648310e-08f, -3.096643471e-08f, -3.095633511e-08f, -3.094618434e-08f, -3.093598242e-08f, -3.092572939e-08f, -3.091542528e-08f,
+-3.090507014e-08f, -3.089466399e-08f, -3.088420687e-08f, -3.087369882e-08f, -3.086313988e-08f, -3.085253007e-08f, -3.084186943e-08f, -3.083115801e-08f, -3.082039582e-08f, -3.080958292e-08f,
+-3.079871934e-08f, -3.078780510e-08f, -3.077684026e-08f, -3.076582484e-08f, -3.075475888e-08f, -3.074364242e-08f, -3.073247549e-08f, -3.072125813e-08f, -3.070999037e-08f, -3.069867226e-08f,
+-3.068730383e-08f, -3.067588512e-08f, -3.066441616e-08f, -3.065289699e-08f, -3.064132764e-08f, -3.062970816e-08f, -3.061803858e-08f, -3.060631894e-08f, -3.059454928e-08f, -3.058272962e-08f,
+-3.057086002e-08f, -3.055894051e-08f, -3.054697112e-08f, -3.053495190e-08f, -3.052288288e-08f, -3.051076409e-08f, -3.049859558e-08f, -3.048637739e-08f, -3.047410955e-08f, -3.046179210e-08f,
+-3.044942509e-08f, -3.043700853e-08f, -3.042454249e-08f, -3.041202699e-08f, -3.039946207e-08f, -3.038684777e-08f, -3.037418413e-08f, -3.036147120e-08f, -3.034870900e-08f, -3.033589757e-08f,
+-3.032303696e-08f, -3.031012721e-08f, -3.029716835e-08f, -3.028416042e-08f, -3.027110347e-08f, -3.025799752e-08f, -3.024484263e-08f, -3.023163883e-08f, -3.021838616e-08f, -3.020508465e-08f,
+-3.019173436e-08f, -3.017833532e-08f, -3.016488756e-08f, -3.015139114e-08f, -3.013784608e-08f, -3.012425243e-08f, -3.011061023e-08f, -3.009691952e-08f, -3.008318034e-08f, -3.006939273e-08f,
+-3.005555673e-08f, -3.004167238e-08f, -3.002773973e-08f, -3.001375880e-08f, -2.999972965e-08f, -2.998565232e-08f, -2.997152683e-08f, -2.995735325e-08f, -2.994313160e-08f, -2.992886193e-08f,
+-2.991454427e-08f, -2.990017868e-08f, -2.988576519e-08f, -2.987130384e-08f, -2.985679468e-08f, -2.984223775e-08f, -2.982763308e-08f, -2.981298072e-08f, -2.979828071e-08f, -2.978353309e-08f,
+-2.976873791e-08f, -2.975389521e-08f, -2.973900502e-08f, -2.972406740e-08f, -2.970908238e-08f, -2.969405000e-08f, -2.967897032e-08f, -2.966384336e-08f, -2.964866918e-08f, -2.963344781e-08f,
+-2.961817929e-08f, -2.960286368e-08f, -2.958750102e-08f, -2.957209133e-08f, -2.955663468e-08f, -2.954113110e-08f, -2.952558063e-08f, -2.950998332e-08f, -2.949433922e-08f, -2.947864835e-08f,
+-2.946291078e-08f, -2.944712653e-08f, -2.943129567e-08f, -2.941541821e-08f, -2.939949422e-08f, -2.938352374e-08f, -2.936750680e-08f, -2.935144346e-08f, -2.933533375e-08f, -2.931917773e-08f,
+-2.930297543e-08f, -2.928672690e-08f, -2.927043218e-08f, -2.925409131e-08f, -2.923770435e-08f, -2.922127133e-08f, -2.920479231e-08f, -2.918826732e-08f, -2.917169640e-08f, -2.915507961e-08f,
+-2.913841699e-08f, -2.912170858e-08f, -2.910495443e-08f, -2.908815459e-08f, -2.907130909e-08f, -2.905441798e-08f, -2.903748131e-08f, -2.902049912e-08f, -2.900347146e-08f, -2.898639837e-08f,
+-2.896927991e-08f, -2.895211610e-08f, -2.893490701e-08f, -2.891765267e-08f, -2.890035313e-08f, -2.888300844e-08f, -2.886561864e-08f, -2.884818378e-08f, -2.883070390e-08f, -2.881317905e-08f,
+-2.879560928e-08f, -2.877799463e-08f, -2.876033514e-08f, -2.874263087e-08f, -2.872488186e-08f, -2.870708816e-08f, -2.868924981e-08f, -2.867136686e-08f, -2.865343935e-08f, -2.863546734e-08f,
+-2.861745087e-08f, -2.859938998e-08f, -2.858128473e-08f, -2.856313515e-08f, -2.854494130e-08f, -2.852670323e-08f, -2.850842097e-08f, -2.849009459e-08f, -2.847172411e-08f, -2.845330960e-08f,
+-2.843485110e-08f, -2.841634865e-08f, -2.839780231e-08f, -2.837921212e-08f, -2.836057813e-08f, -2.834190039e-08f, -2.832317893e-08f, -2.830441382e-08f, -2.828560511e-08f, -2.826675282e-08f,
+-2.824785703e-08f, -2.822891776e-08f, -2.820993508e-08f, -2.819090903e-08f, -2.817183965e-08f, -2.815272700e-08f, -2.813357113e-08f, -2.811437207e-08f, -2.809512989e-08f, -2.807584463e-08f,
+-2.805651633e-08f, -2.803714506e-08f, -2.801773084e-08f, -2.799827374e-08f, -2.797877381e-08f, -2.795923108e-08f, -2.793964561e-08f, -2.792001746e-08f, -2.790034666e-08f, -2.788063327e-08f,
+-2.786087733e-08f, -2.784107890e-08f, -2.782123803e-08f, -2.780135476e-08f, -2.778142914e-08f, -2.776146123e-08f, -2.774145106e-08f, -2.772139870e-08f, -2.770130419e-08f, -2.768116759e-08f,
+-2.766098893e-08f, -2.764076827e-08f, -2.762050567e-08f, -2.760020116e-08f, -2.757985481e-08f, -2.755946666e-08f, -2.753903675e-08f, -2.751856515e-08f, -2.749805190e-08f, -2.747749704e-08f,
+-2.745690064e-08f, -2.743626275e-08f, -2.741558340e-08f, -2.739486266e-08f, -2.737410056e-08f, -2.735329718e-08f, -2.733245254e-08f, -2.731156672e-08f, -2.729063974e-08f, -2.726967168e-08f,
+-2.724866257e-08f, -2.722761247e-08f, -2.720652143e-08f, -2.718538950e-08f, -2.716421673e-08f, -2.714300318e-08f, -2.712174889e-08f, -2.710045391e-08f, -2.707911830e-08f, -2.705774211e-08f,
+-2.703632538e-08f, -2.701486818e-08f, -2.699337055e-08f, -2.697183255e-08f, -2.695025422e-08f, -2.692863561e-08f, -2.690697679e-08f, -2.688527780e-08f, -2.686353869e-08f, -2.684175951e-08f,
+-2.681994032e-08f, -2.679808117e-08f, -2.677618212e-08f, -2.675424320e-08f, -2.673226448e-08f, -2.671024601e-08f, -2.668818783e-08f, -2.666609001e-08f, -2.664395259e-08f, -2.662177563e-08f,
+-2.659955918e-08f, -2.657730330e-08f, -2.655500802e-08f, -2.653267342e-08f, -2.651029953e-08f, -2.648788642e-08f, -2.646543413e-08f, -2.644294272e-08f, -2.642041225e-08f, -2.639784275e-08f,
+-2.637523430e-08f, -2.635258694e-08f, -2.632990072e-08f, -2.630717569e-08f, -2.628441192e-08f, -2.626160945e-08f, -2.623876834e-08f, -2.621588864e-08f, -2.619297040e-08f, -2.617001369e-08f,
+-2.614701854e-08f, -2.612398501e-08f, -2.610091317e-08f, -2.607780306e-08f, -2.605465473e-08f, -2.603146824e-08f, -2.600824365e-08f, -2.598498100e-08f, -2.596168035e-08f, -2.593834177e-08f,
+-2.591496529e-08f, -2.589155097e-08f, -2.586809887e-08f, -2.584460904e-08f, -2.582108154e-08f, -2.579751642e-08f, -2.577391374e-08f, -2.575027354e-08f, -2.572659589e-08f, -2.570288084e-08f,
+-2.567912844e-08f, -2.565533875e-08f, -2.563151182e-08f, -2.560764770e-08f, -2.558374646e-08f, -2.555980815e-08f, -2.553583282e-08f, -2.551182052e-08f, -2.548777131e-08f, -2.546368525e-08f,
+-2.543956240e-08f, -2.541540279e-08f, -2.539120650e-08f, -2.536697358e-08f, -2.534270408e-08f, -2.531839806e-08f, -2.529405556e-08f, -2.526967666e-08f, -2.524526140e-08f, -2.522080984e-08f,
+-2.519632203e-08f, -2.517179804e-08f, -2.514723791e-08f, -2.512264170e-08f, -2.509800946e-08f, -2.507334126e-08f, -2.504863715e-08f, -2.502389718e-08f, -2.499912142e-08f, -2.497430991e-08f,
+-2.494946271e-08f, -2.492457988e-08f, -2.489966147e-08f, -2.487470754e-08f, -2.484971816e-08f, -2.482469336e-08f, -2.479963321e-08f, -2.477453777e-08f, -2.474940709e-08f, -2.472424123e-08f,
+-2.469904024e-08f, -2.467380418e-08f, -2.464853311e-08f, -2.462322708e-08f, -2.459788616e-08f, -2.457251039e-08f, -2.454709983e-08f, -2.452165455e-08f, -2.449617459e-08f, -2.447066002e-08f,
+-2.444511089e-08f, -2.441952726e-08f, -2.439390918e-08f, -2.436825671e-08f, -2.434256992e-08f, -2.431684885e-08f, -2.429109356e-08f, -2.426530411e-08f, -2.423948056e-08f, -2.421362297e-08f,
+-2.418773138e-08f, -2.416180587e-08f, -2.413584648e-08f, -2.410985328e-08f, -2.408382632e-08f, -2.405776566e-08f, -2.403167135e-08f, -2.400554346e-08f, -2.397938204e-08f, -2.395318715e-08f,
+-2.392695885e-08f, -2.390069719e-08f, -2.387440224e-08f, -2.384807404e-08f, -2.382171267e-08f, -2.379531817e-08f, -2.376889060e-08f, -2.374243003e-08f, -2.371593651e-08f, -2.368941009e-08f,
+-2.366285085e-08f, -2.363625882e-08f, -2.360963408e-08f, -2.358297668e-08f, -2.355628668e-08f, -2.352956414e-08f, -2.350280911e-08f, -2.347602166e-08f, -2.344920184e-08f, -2.342234971e-08f,
+-2.339546533e-08f, -2.336854876e-08f, -2.334160006e-08f, -2.331461928e-08f, -2.328760649e-08f, -2.326056173e-08f, -2.323348508e-08f, -2.320637659e-08f, -2.317923632e-08f, -2.315206433e-08f,
+-2.312486067e-08f, -2.309762541e-08f, -2.307035860e-08f, -2.304306030e-08f, -2.301573058e-08f, -2.298836949e-08f, -2.296097709e-08f, -2.293355344e-08f, -2.290609860e-08f, -2.287861263e-08f,
+-2.285109558e-08f, -2.282354752e-08f, -2.279596851e-08f, -2.276835860e-08f, -2.274071786e-08f, -2.271304634e-08f, -2.268534411e-08f, -2.265761121e-08f, -2.262984772e-08f, -2.260205369e-08f,
+-2.257422919e-08f, -2.254637426e-08f, -2.251848898e-08f, -2.249057339e-08f, -2.246262757e-08f, -2.243465156e-08f, -2.240664544e-08f, -2.237860926e-08f, -2.235054307e-08f, -2.232244695e-08f,
+-2.229432094e-08f, -2.226616511e-08f, -2.223797953e-08f, -2.220976424e-08f, -2.218151931e-08f, -2.215324480e-08f, -2.212494077e-08f, -2.209660728e-08f, -2.206824439e-08f, -2.203985216e-08f,
+-2.201143065e-08f, -2.198297993e-08f, -2.195450004e-08f, -2.192599105e-08f, -2.189745303e-08f, -2.186888603e-08f, -2.184029011e-08f, -2.181166534e-08f, -2.178301176e-08f, -2.175432946e-08f,
+-2.172561847e-08f, -2.169687888e-08f, -2.166811073e-08f, -2.163931408e-08f, -2.161048900e-08f, -2.158163556e-08f, -2.155275380e-08f, -2.152384379e-08f, -2.149490559e-08f, -2.146593926e-08f,
+-2.143694486e-08f, -2.140792246e-08f, -2.137887211e-08f, -2.134979388e-08f, -2.132068782e-08f, -2.129155400e-08f, -2.126239248e-08f, -2.123320332e-08f, -2.120398658e-08f, -2.117474232e-08f,
+-2.114547060e-08f, -2.111617149e-08f, -2.108684504e-08f, -2.105749132e-08f, -2.102811038e-08f, -2.099870230e-08f, -2.096926712e-08f, -2.093980492e-08f, -2.091031575e-08f, -2.088079967e-08f,
+-2.085125676e-08f, -2.082168705e-08f, -2.079209063e-08f, -2.076246755e-08f, -2.073281787e-08f, -2.070314166e-08f, -2.067343897e-08f, -2.064370986e-08f, -2.061395441e-08f, -2.058417267e-08f,
+-2.055436470e-08f, -2.052453056e-08f, -2.049467032e-08f, -2.046478403e-08f, -2.043487177e-08f, -2.040493359e-08f, -2.037496955e-08f, -2.034497971e-08f, -2.031496414e-08f, -2.028492290e-08f,
+-2.025485605e-08f, -2.022476366e-08f, -2.019464578e-08f, -2.016450248e-08f, -2.013433381e-08f, -2.010413985e-08f, -2.007392065e-08f, -2.004367628e-08f, -2.001340679e-08f, -1.998311225e-08f,
+-1.995279273e-08f, -1.992244828e-08f, -1.989207897e-08f, -1.986168485e-08f, -1.983126600e-08f, -1.980082247e-08f, -1.977035433e-08f, -1.973986164e-08f, -1.970934445e-08f, -1.967880284e-08f,
+-1.964823687e-08f, -1.961764659e-08f, -1.958703208e-08f, -1.955639339e-08f, -1.952573058e-08f, -1.949504373e-08f, -1.946433288e-08f, -1.943359811e-08f, -1.940283947e-08f, -1.937205704e-08f,
+-1.934125086e-08f, -1.931042101e-08f, -1.927956755e-08f, -1.924869053e-08f, -1.921779003e-08f, -1.918686611e-08f, -1.915591882e-08f, -1.912494824e-08f, -1.909395442e-08f, -1.906293742e-08f,
+-1.903189732e-08f, -1.900083417e-08f, -1.896974803e-08f, -1.893863897e-08f, -1.890750706e-08f, -1.887635235e-08f, -1.884517490e-08f, -1.881397479e-08f, -1.878275207e-08f, -1.875150681e-08f,
+-1.872023907e-08f, -1.868894891e-08f, -1.865763640e-08f, -1.862630159e-08f, -1.859494456e-08f, -1.856356537e-08f, -1.853216407e-08f, -1.850074074e-08f, -1.846929543e-08f, -1.843782821e-08f,
+-1.840633914e-08f, -1.837482829e-08f, -1.834329571e-08f, -1.831174148e-08f, -1.828016566e-08f, -1.824856830e-08f, -1.821694947e-08f, -1.818530924e-08f, -1.815364767e-08f, -1.812196482e-08f,
+-1.809026076e-08f, -1.805853554e-08f, -1.802678924e-08f, -1.799502192e-08f, -1.796323363e-08f, -1.793142445e-08f, -1.789959444e-08f, -1.786774365e-08f, -1.783587216e-08f, -1.780398003e-08f,
+-1.777206732e-08f, -1.774013409e-08f, -1.770818041e-08f, -1.767620635e-08f, -1.764421196e-08f, -1.761219731e-08f, -1.758016246e-08f, -1.754810748e-08f, -1.751603243e-08f, -1.748393738e-08f,
+-1.745182238e-08f, -1.741968751e-08f, -1.738753282e-08f, -1.735535839e-08f, -1.732316426e-08f, -1.729095052e-08f, -1.725871721e-08f, -1.722646441e-08f, -1.719419218e-08f, -1.716190058e-08f,
+-1.712958968e-08f, -1.709725954e-08f, -1.706491023e-08f, -1.703254180e-08f, -1.700015432e-08f, -1.696774787e-08f, -1.693532249e-08f, -1.690287826e-08f, -1.687041523e-08f, -1.683793348e-08f,
+-1.680543307e-08f, -1.677291405e-08f, -1.674037650e-08f, -1.670782048e-08f, -1.667524606e-08f, -1.664265329e-08f, -1.661004224e-08f, -1.657741298e-08f, -1.654476556e-08f, -1.651210006e-08f,
+-1.647941654e-08f, -1.644671506e-08f, -1.641399568e-08f, -1.638125848e-08f, -1.634850351e-08f, -1.631573083e-08f, -1.628294052e-08f, -1.625013264e-08f, -1.621730725e-08f, -1.618446442e-08f,
+-1.615160420e-08f, -1.611872667e-08f, -1.608583189e-08f, -1.605291992e-08f, -1.601999082e-08f, -1.598704467e-08f, -1.595408152e-08f, -1.592110145e-08f, -1.588810450e-08f, -1.585509076e-08f,
+-1.582206028e-08f, -1.578901312e-08f, -1.575594936e-08f, -1.572286905e-08f, -1.568977227e-08f, -1.565665906e-08f, -1.562352951e-08f, -1.559038367e-08f, -1.555722161e-08f, -1.552404339e-08f,
+-1.549084908e-08f, -1.545763874e-08f, -1.542441243e-08f, -1.539117023e-08f, -1.535791218e-08f, -1.532463837e-08f, -1.529134885e-08f, -1.525804369e-08f, -1.522472295e-08f, -1.519138670e-08f,
+-1.515803500e-08f, -1.512466791e-08f, -1.509128551e-08f, -1.505788785e-08f, -1.502447500e-08f, -1.499104702e-08f, -1.495760399e-08f, -1.492414595e-08f, -1.489067298e-08f, -1.485718515e-08f,
+-1.482368251e-08f, -1.479016513e-08f, -1.475663308e-08f, -1.472308641e-08f, -1.468952521e-08f, -1.465594952e-08f, -1.462235941e-08f, -1.458875496e-08f, -1.455513621e-08f, -1.452150325e-08f,
+-1.448785613e-08f, -1.445419491e-08f, -1.442051967e-08f, -1.438683046e-08f, -1.435312735e-08f, -1.431941041e-08f, -1.428567969e-08f, -1.425193527e-08f, -1.421817721e-08f, -1.418440558e-08f,
+-1.415062043e-08f, -1.411682184e-08f, -1.408300986e-08f, -1.404918456e-08f, -1.401534602e-08f, -1.398149428e-08f, -1.394762942e-08f, -1.391375150e-08f, -1.387986058e-08f, -1.384595674e-08f,
+-1.381204003e-08f, -1.377811052e-08f, -1.374416827e-08f, -1.371021335e-08f, -1.367624582e-08f, -1.364226576e-08f, -1.360827321e-08f, -1.357426825e-08f, -1.354025095e-08f, -1.350622136e-08f,
+-1.347217955e-08f, -1.343812559e-08f, -1.340405953e-08f, -1.336998145e-08f, -1.333589142e-08f, -1.330178948e-08f, -1.326767572e-08f, -1.323355019e-08f, -1.319941295e-08f, -1.316526408e-08f,
+-1.313110364e-08f, -1.309693169e-08f, -1.306274829e-08f, -1.302855352e-08f, -1.299434743e-08f, -1.296013010e-08f, -1.292590158e-08f, -1.289166194e-08f, -1.285741124e-08f, -1.282314955e-08f,
+-1.278887694e-08f, -1.275459347e-08f, -1.272029919e-08f, -1.268599419e-08f, -1.265167852e-08f, -1.261735225e-08f, -1.258301543e-08f, -1.254866815e-08f, -1.251431045e-08f, -1.247994241e-08f,
+-1.244556409e-08f, -1.241117555e-08f, -1.237677687e-08f, -1.234236809e-08f, -1.230794930e-08f, -1.227352055e-08f, -1.223908190e-08f, -1.220463343e-08f, -1.217017520e-08f, -1.213570726e-08f,
+-1.210122969e-08f, -1.206674256e-08f, -1.203224591e-08f, -1.199773983e-08f, -1.196322437e-08f, -1.192869960e-08f, -1.189416558e-08f, -1.185962238e-08f, -1.182507006e-08f, -1.179050869e-08f,
+-1.175593833e-08f, -1.172135904e-08f, -1.168677090e-08f, -1.165217396e-08f, -1.161756829e-08f, -1.158295395e-08f, -1.154833101e-08f, -1.151369954e-08f, -1.147905959e-08f, -1.144441123e-08f,
+-1.140975453e-08f, -1.137508955e-08f, -1.134041635e-08f, -1.130573500e-08f, -1.127104557e-08f, -1.123634811e-08f, -1.120164270e-08f, -1.116692939e-08f, -1.113220826e-08f, -1.109747936e-08f,
+-1.106274276e-08f, -1.102799852e-08f, -1.099324672e-08f, -1.095848741e-08f, -1.092372065e-08f, -1.088894652e-08f, -1.085416507e-08f, -1.081937637e-08f, -1.078458049e-08f, -1.074977749e-08f,
+-1.071496743e-08f, -1.068015038e-08f, -1.064532640e-08f, -1.061049555e-08f, -1.057565791e-08f, -1.054081353e-08f, -1.050596248e-08f, -1.047110483e-08f, -1.043624063e-08f, -1.040136995e-08f,
+-1.036649286e-08f, -1.033160942e-08f, -1.029671969e-08f, -1.026182374e-08f, -1.022692163e-08f, -1.019201343e-08f, -1.015709921e-08f, -1.012217901e-08f, -1.008725292e-08f, -1.005232098e-08f,
+-1.001738328e-08f, -9.982439866e-09f, -9.947490808e-09f, -9.912536170e-09f, -9.877576015e-09f, -9.842610407e-09f, -9.807639412e-09f, -9.772663091e-09f, -9.737681510e-09f, -9.702694733e-09f,
+-9.667702823e-09f, -9.632705845e-09f, -9.597703862e-09f, -9.562696938e-09f, -9.527685138e-09f, -9.492668525e-09f, -9.457647163e-09f, -9.422621116e-09f, -9.387590448e-09f, -9.352555222e-09f,
+-9.317515503e-09f, -9.282471354e-09f, -9.247422840e-09f, -9.212370024e-09f, -9.177312969e-09f, -9.142251740e-09f, -9.107186400e-09f, -9.072117013e-09f, -9.037043644e-09f, -9.001966354e-09f,
+-8.966885209e-09f, -8.931800272e-09f, -8.896711606e-09f, -8.861619276e-09f, -8.826523345e-09f, -8.791423876e-09f, -8.756320933e-09f, -8.721214580e-09f, -8.686104880e-09f, -8.650991897e-09f,
+-8.615875695e-09f, -8.580756337e-09f, -8.545633886e-09f, -8.510508406e-09f, -8.475379961e-09f, -8.440248613e-09f, -8.405114428e-09f, -8.369977467e-09f, -8.334837794e-09f, -8.299695473e-09f,
+-8.264550567e-09f, -8.229403140e-09f, -8.194253254e-09f, -8.159100974e-09f, -8.123946362e-09f, -8.088789482e-09f, -8.053630397e-09f, -8.018469170e-09f, -7.983305865e-09f, -7.948140545e-09f,
+-7.912973273e-09f, -7.877804113e-09f, -7.842633126e-09f, -7.807460378e-09f, -7.772285930e-09f, -7.737109846e-09f, -7.701932189e-09f, -7.666753022e-09f, -7.631572409e-09f, -7.596390411e-09f,
+-7.561207093e-09f, -7.526022517e-09f, -7.490836746e-09f, -7.455649844e-09f, -7.420461873e-09f, -7.385272896e-09f, -7.350082976e-09f, -7.314892176e-09f, -7.279700559e-09f, -7.244508187e-09f,
+-7.209315124e-09f, -7.174121433e-09f, -7.138927176e-09f, -7.103732415e-09f, -7.068537215e-09f, -7.033341636e-09f, -6.998145743e-09f, -6.962949598e-09f, -6.927753264e-09f, -6.892556802e-09f,
+-6.857360276e-09f, -6.822163749e-09f, -6.786967283e-09f, -6.751770941e-09f, -6.716574784e-09f, -6.681378877e-09f, -6.646183280e-09f, -6.610988057e-09f, -6.575793271e-09f, -6.540598983e-09f,
+-6.505405256e-09f, -6.470212152e-09f, -6.435019734e-09f, -6.399828064e-09f, -6.364637205e-09f, -6.329447218e-09f, -6.294258167e-09f, -6.259070113e-09f, -6.223883118e-09f, -6.188697245e-09f,
+-6.153512557e-09f, -6.118329114e-09f, -6.083146979e-09f, -6.047966215e-09f, -6.012786884e-09f, -5.977609047e-09f, -5.942432766e-09f, -5.907258105e-09f, -5.872085124e-09f, -5.836913885e-09f,
+-5.801744451e-09f, -5.766576884e-09f, -5.731411245e-09f, -5.696247597e-09f, -5.661086000e-09f, -5.625926518e-09f, -5.590769212e-09f, -5.555614143e-09f, -5.520461373e-09f, -5.485310965e-09f,
+-5.450162979e-09f, -5.415017478e-09f, -5.379874523e-09f, -5.344734176e-09f, -5.309596498e-09f, -5.274461551e-09f, -5.239329397e-09f, -5.204200097e-09f, -5.169073712e-09f, -5.133950305e-09f,
+-5.098829936e-09f, -5.063712666e-09f, -5.028598559e-09f, -4.993487673e-09f, -4.958380072e-09f, -4.923275816e-09f, -4.888174967e-09f, -4.853077586e-09f, -4.817983734e-09f, -4.782893472e-09f,
+-4.747806862e-09f, -4.712723965e-09f, -4.677644841e-09f, -4.642569552e-09f, -4.607498160e-09f, -4.572430724e-09f, -4.537367306e-09f, -4.502307968e-09f, -4.467252769e-09f, -4.432201772e-09f,
+-4.397155036e-09f, -4.362112623e-09f, -4.327074594e-09f, -4.292041009e-09f, -4.257011930e-09f, -4.221987416e-09f, -4.186967529e-09f, -4.151952329e-09f, -4.116941878e-09f, -4.081936235e-09f,
+-4.046935462e-09f, -4.011939618e-09f, -3.976948766e-09f, -3.941962964e-09f, -3.906982273e-09f, -3.872006755e-09f, -3.837036469e-09f, -3.802071476e-09f, -3.767111836e-09f, -3.732157610e-09f,
+-3.697208858e-09f, -3.662265640e-09f, -3.627328016e-09f, -3.592396047e-09f, -3.557469793e-09f, -3.522549314e-09f, -3.487634670e-09f, -3.452725922e-09f, -3.417823129e-09f, -3.382926351e-09f,
+-3.348035649e-09f, -3.313151082e-09f, -3.278272710e-09f, -3.243400594e-09f, -3.208534793e-09f, -3.173675367e-09f, -3.138822376e-09f, -3.103975880e-09f, -3.069135938e-09f, -3.034302610e-09f,
+-2.999475956e-09f, -2.964656035e-09f, -2.929842907e-09f, -2.895036633e-09f, -2.860237270e-09f, -2.825444880e-09f, -2.790659520e-09f, -2.755881252e-09f, -2.721110133e-09f, -2.686346225e-09f,
+-2.651589585e-09f, -2.616840273e-09f, -2.582098350e-09f, -2.547363873e-09f, -2.512636902e-09f, -2.477917497e-09f, -2.443205716e-09f, -2.408501619e-09f, -2.373805264e-09f, -2.339116711e-09f,
+-2.304436020e-09f, -2.269763248e-09f, -2.235098454e-09f, -2.200441699e-09f, -2.165793040e-09f, -2.131152537e-09f, -2.096520247e-09f, -2.061896231e-09f, -2.027280547e-09f, -1.992673254e-09f,
+-1.958074409e-09f, -1.923484073e-09f, -1.888902303e-09f, -1.854329158e-09f, -1.819764697e-09f, -1.785208978e-09f, -1.750662060e-09f, -1.716124000e-09f, -1.681594858e-09f, -1.647074692e-09f,
+-1.612563561e-09f, -1.578061521e-09f, -1.543568633e-09f, -1.509084953e-09f, -1.474610540e-09f, -1.440145453e-09f, -1.405689749e-09f, -1.371243486e-09f, -1.336806723e-09f, -1.302379518e-09f,
+-1.267961928e-09f, -1.233554011e-09f, -1.199155826e-09f, -1.164767430e-09f, -1.130388880e-09f, -1.096020236e-09f, -1.061661554e-09f, -1.027312892e-09f, -9.929743076e-10f, -9.586458590e-10f,
+-9.243276035e-10f, -8.900195985e-10f, -8.557219017e-10f, -8.214345705e-10f, -7.871576624e-10f, -7.528912347e-10f, -7.186353448e-10f, -6.843900500e-10f, -6.501554077e-10f, -6.159314750e-10f,
+-5.817183091e-10f, -5.475159673e-10f, -5.133245067e-10f, -4.791439843e-10f, -4.449744573e-10f, -4.108159825e-10f, -3.766686171e-10f, -3.425324179e-10f, -3.084074417e-10f, -2.742937456e-10f,
+-2.401913863e-10f, -2.061004205e-10f, -1.720209050e-10f, -1.379528966e-10f, -1.038964518e-10f, -6.985162720e-11f, -3.581847950e-11f, -1.797065166e-12f, 3.221255929e-11f, 6.621033742e-11f,
+1.001962128e-10f, 1.341701291e-10f, 1.681320299e-10f, 2.020818590e-10f, 2.360195601e-10f, 2.699450770e-10f, 3.038583535e-10f, 3.377593336e-10f, 3.716479610e-10f, 4.055241798e-10f,
+4.393879340e-10f, 4.732391676e-10f, 5.070778247e-10f, 5.409038494e-10f, 5.747171859e-10f, 6.085177783e-10f, 6.423055710e-10f, 6.760805082e-10f, 7.098425342e-10f, 7.435915934e-10f,
+7.773276303e-10f, 8.110505892e-10f, 8.447604148e-10f, 8.784570514e-10f, 9.121404438e-10f, 9.458105365e-10f, 9.794672743e-10f, 1.013110602e-09f, 1.046740464e-09f, 1.080356805e-09f,
+1.113959570e-09f, 1.147548705e-09f, 1.181124153e-09f, 1.214685860e-09f, 1.248233771e-09f, 1.281767831e-09f, 1.315287986e-09f, 1.348794179e-09f, 1.382286357e-09f, 1.415764465e-09f,
+1.449228447e-09f, 1.482678250e-09f, 1.516113818e-09f, 1.549535098e-09f, 1.582942033e-09f, 1.616334571e-09f, 1.649712657e-09f, 1.683076235e-09f, 1.716425253e-09f, 1.749759655e-09f,
+1.783079387e-09f, 1.816384394e-09f, 1.849674624e-09f, 1.882950021e-09f, 1.916210532e-09f, 1.949456102e-09f, 1.982686678e-09f, 2.015902205e-09f, 2.049102630e-09f, 2.082287898e-09f,
+2.115457956e-09f, 2.148612751e-09f, 2.181752227e-09f, 2.214876333e-09f, 2.247985013e-09f, 2.281078215e-09f, 2.314155885e-09f, 2.347217969e-09f, 2.380264414e-09f, 2.413295167e-09f,
+2.446310174e-09f, 2.479309381e-09f, 2.512292736e-09f, 2.545260186e-09f, 2.578211677e-09f, 2.611147155e-09f, 2.644066569e-09f, 2.676969865e-09f, 2.709856989e-09f, 2.742727890e-09f,
+2.775582513e-09f, 2.808420807e-09f, 2.841242718e-09f, 2.874048194e-09f, 2.906837182e-09f, 2.939609630e-09f, 2.972365484e-09f, 3.005104692e-09f, 3.037827202e-09f, 3.070532961e-09f,
+3.103221917e-09f, 3.135894017e-09f, 3.168549209e-09f, 3.201187441e-09f, 3.233808661e-09f, 3.266412816e-09f, 3.298999854e-09f, 3.331569723e-09f, 3.364122372e-09f, 3.396657748e-09f,
+3.429175799e-09f, 3.461676473e-09f, 3.494159719e-09f, 3.526625485e-09f, 3.559073718e-09f, 3.591504368e-09f, 3.623917383e-09f, 3.656312710e-09f, 3.688690300e-09f, 3.721050099e-09f,
+3.753392057e-09f, 3.785716122e-09f, 3.818022243e-09f, 3.850310368e-09f, 3.882580447e-09f, 3.914832428e-09f, 3.947066260e-09f, 3.979281892e-09f, 4.011479273e-09f, 4.043658352e-09f,
+4.075819078e-09f, 4.107961399e-09f, 4.140085266e-09f, 4.172190628e-09f, 4.204277433e-09f, 4.236345631e-09f, 4.268395171e-09f, 4.300426003e-09f, 4.332438077e-09f, 4.364431341e-09f,
+4.396405746e-09f, 4.428361240e-09f, 4.460297774e-09f, 4.492215297e-09f, 4.524113760e-09f, 4.555993111e-09f, 4.587853301e-09f, 4.619694280e-09f, 4.651515998e-09f, 4.683318404e-09f,
+4.715101449e-09f, 4.746865083e-09f, 4.778609257e-09f, 4.810333919e-09f, 4.842039022e-09f, 4.873724514e-09f, 4.905390346e-09f, 4.937036470e-09f, 4.968662835e-09f, 5.000269391e-09f,
+5.031856091e-09f, 5.063422883e-09f, 5.094969719e-09f, 5.126496550e-09f, 5.158003326e-09f, 5.189489999e-09f, 5.220956519e-09f, 5.252402837e-09f, 5.283828904e-09f, 5.315234671e-09f,
+5.346620090e-09f, 5.377985112e-09f, 5.409329687e-09f, 5.440653768e-09f, 5.471957305e-09f, 5.503240250e-09f, 5.534502554e-09f, 5.565744169e-09f, 5.596965047e-09f, 5.628165139e-09f,
+5.659344396e-09f, 5.690502771e-09f, 5.721640215e-09f, 5.752756680e-09f, 5.783852118e-09f, 5.814926481e-09f, 5.845979721e-09f, 5.877011789e-09f, 5.908022639e-09f, 5.939012222e-09f,
+5.969980490e-09f, 6.000927396e-09f, 6.031852892e-09f, 6.062756930e-09f, 6.093639463e-09f, 6.124500443e-09f, 6.155339823e-09f, 6.186157555e-09f, 6.216953593e-09f, 6.247727888e-09f,
+6.278480394e-09f, 6.309211063e-09f, 6.339919849e-09f, 6.370606703e-09f, 6.401271580e-09f, 6.431914432e-09f, 6.462535212e-09f, 6.493133873e-09f, 6.523710370e-09f, 6.554264654e-09f,
+6.584796679e-09f, 6.615306399e-09f, 6.645793767e-09f, 6.676258736e-09f, 6.706701260e-09f, 6.737121294e-09f, 6.767518789e-09f, 6.797893700e-09f, 6.828245982e-09f, 6.858575586e-09f,
+6.888882469e-09f, 6.919166582e-09f, 6.949427882e-09f, 6.979666320e-09f, 7.009881853e-09f, 7.040074433e-09f, 7.070244015e-09f, 7.100390553e-09f, 7.130514002e-09f, 7.160614316e-09f,
+7.190691449e-09f, 7.220745356e-09f, 7.250775992e-09f, 7.280783311e-09f, 7.310767268e-09f, 7.340727817e-09f, 7.370664914e-09f, 7.400578513e-09f, 7.430468569e-09f, 7.460335037e-09f,
+7.490177872e-09f, 7.519997030e-09f, 7.549792465e-09f, 7.579564132e-09f, 7.609311988e-09f, 7.639035986e-09f, 7.668736083e-09f, 7.698412234e-09f, 7.728064394e-09f, 7.757692520e-09f,
+7.787296566e-09f, 7.816876488e-09f, 7.846432242e-09f, 7.875963784e-09f, 7.905471070e-09f, 7.934954055e-09f, 7.964412696e-09f, 7.993846948e-09f, 8.023256768e-09f, 8.052642112e-09f,
+8.082002935e-09f, 8.111339195e-09f, 8.140650847e-09f, 8.169937848e-09f, 8.199200155e-09f, 8.228437723e-09f, 8.257650509e-09f, 8.286838471e-09f, 8.316001564e-09f, 8.345139746e-09f,
+8.374252973e-09f, 8.403341202e-09f, 8.432404390e-09f, 8.461442493e-09f, 8.490455470e-09f, 8.519443277e-09f, 8.548405871e-09f, 8.577343209e-09f, 8.606255249e-09f, 8.635141948e-09f,
+8.664003264e-09f, 8.692839153e-09f, 8.721649574e-09f, 8.750434483e-09f, 8.779193839e-09f, 8.807927600e-09f, 8.836635722e-09f, 8.865318164e-09f, 8.893974884e-09f, 8.922605840e-09f,
+8.951210989e-09f, 8.979790290e-09f, 9.008343701e-09f, 9.036871180e-09f, 9.065372685e-09f, 9.093848174e-09f, 9.122297607e-09f, 9.150720941e-09f, 9.179118134e-09f, 9.207489146e-09f,
+9.235833935e-09f, 9.264152460e-09f, 9.292444679e-09f, 9.320710551e-09f, 9.348950035e-09f, 9.377163090e-09f, 9.405349675e-09f, 9.433509749e-09f, 9.461643271e-09f, 9.489750201e-09f,
+9.517830496e-09f, 9.545884118e-09f, 9.573911024e-09f, 9.601911175e-09f, 9.629884530e-09f, 9.657831049e-09f, 9.685750690e-09f, 9.713643414e-09f, 9.741509181e-09f, 9.769347950e-09f,
+9.797159681e-09f, 9.824944334e-09f, 9.852701870e-09f, 9.880432247e-09f, 9.908135426e-09f, 9.935811367e-09f, 9.963460031e-09f, 9.991081378e-09f, 1.001867537e-08f, 1.004624196e-08f,
+1.007378112e-08f, 1.010129280e-08f, 1.012877697e-08f, 1.015623358e-08f, 1.018366260e-08f, 1.021106399e-08f, 1.023843770e-08f, 1.026578371e-08f, 1.029310196e-08f, 1.032039243e-08f,
+1.034765506e-08f, 1.037488983e-08f, 1.040209670e-08f, 1.042927562e-08f, 1.045642656e-08f, 1.048354948e-08f, 1.051064433e-08f, 1.053771109e-08f, 1.056474972e-08f, 1.059176016e-08f,
+1.061874240e-08f, 1.064569638e-08f, 1.067262207e-08f, 1.069951944e-08f, 1.072638844e-08f, 1.075322904e-08f, 1.078004119e-08f, 1.080682487e-08f, 1.083358003e-08f, 1.086030663e-08f,
+1.088700464e-08f, 1.091367402e-08f, 1.094031474e-08f, 1.096692675e-08f, 1.099351001e-08f, 1.102006450e-08f, 1.104659017e-08f, 1.107308699e-08f, 1.109955492e-08f, 1.112599392e-08f,
+1.115240395e-08f, 1.117878498e-08f, 1.120513698e-08f, 1.123145989e-08f, 1.125775370e-08f, 1.128401836e-08f, 1.131025383e-08f, 1.133646008e-08f, 1.136263707e-08f, 1.138878477e-08f,
+1.141490313e-08f, 1.144099213e-08f, 1.146705172e-08f, 1.149308188e-08f, 1.151908256e-08f, 1.154505372e-08f, 1.157099534e-08f, 1.159690738e-08f, 1.162278980e-08f, 1.164864256e-08f,
+1.167446563e-08f, 1.170025898e-08f, 1.172602256e-08f, 1.175175635e-08f, 1.177746030e-08f, 1.180313438e-08f, 1.182877857e-08f, 1.185439281e-08f, 1.187997708e-08f, 1.190553134e-08f,
+1.193105556e-08f, 1.195654970e-08f, 1.198201372e-08f, 1.200744760e-08f, 1.203285129e-08f, 1.205822477e-08f, 1.208356799e-08f, 1.210888093e-08f, 1.213416354e-08f, 1.215941580e-08f,
+1.218463767e-08f, 1.220982912e-08f, 1.223499010e-08f, 1.226012060e-08f, 1.228522056e-08f, 1.231028997e-08f, 1.233532878e-08f, 1.236033696e-08f, 1.238531448e-08f, 1.241026130e-08f,
+1.243517740e-08f, 1.246006273e-08f, 1.248491726e-08f, 1.250974096e-08f, 1.253453380e-08f, 1.255929574e-08f, 1.258402675e-08f, 1.260872680e-08f, 1.263339585e-08f, 1.265803387e-08f,
+1.268264082e-08f, 1.270721668e-08f, 1.273176142e-08f, 1.275627499e-08f, 1.278075736e-08f, 1.280520851e-08f, 1.282962840e-08f, 1.285401700e-08f, 1.287837427e-08f, 1.290270018e-08f,
+1.292699471e-08f, 1.295125781e-08f, 1.297548946e-08f, 1.299968963e-08f, 1.302385828e-08f, 1.304799537e-08f, 1.307210089e-08f, 1.309617479e-08f, 1.312021704e-08f, 1.314422762e-08f,
+1.316820649e-08f, 1.319215362e-08f, 1.321606897e-08f, 1.323995252e-08f, 1.326380424e-08f, 1.328762409e-08f, 1.331141205e-08f, 1.333516807e-08f, 1.335889214e-08f, 1.338258421e-08f,
+1.340624427e-08f, 1.342987227e-08f, 1.345346818e-08f, 1.347703198e-08f, 1.350056364e-08f, 1.352406312e-08f, 1.354753040e-08f, 1.357096544e-08f, 1.359436821e-08f, 1.361773868e-08f,
+1.364107683e-08f, 1.366438262e-08f, 1.368765602e-08f, 1.371089700e-08f, 1.373410554e-08f, 1.375728159e-08f, 1.378042514e-08f, 1.380353615e-08f, 1.382661459e-08f, 1.384966044e-08f,
+1.387267366e-08f, 1.389565422e-08f, 1.391860210e-08f, 1.394151726e-08f, 1.396439967e-08f, 1.398724932e-08f, 1.401006616e-08f, 1.403285016e-08f, 1.405560131e-08f, 1.407831957e-08f,
+1.410100490e-08f, 1.412365729e-08f, 1.414627671e-08f, 1.416886311e-08f, 1.419141649e-08f, 1.421393680e-08f, 1.423642402e-08f, 1.425887812e-08f, 1.428129907e-08f, 1.430368685e-08f,
+1.432604142e-08f, 1.434836276e-08f, 1.437065084e-08f, 1.439290563e-08f, 1.441512710e-08f, 1.443731523e-08f, 1.445946999e-08f, 1.448159134e-08f, 1.450367927e-08f, 1.452573375e-08f,
+1.454775474e-08f, 1.456974222e-08f, 1.459169617e-08f, 1.461361655e-08f, 1.463550333e-08f, 1.465735650e-08f, 1.467917602e-08f, 1.470096187e-08f, 1.472271402e-08f, 1.474443244e-08f,
+1.476611711e-08f, 1.478776800e-08f, 1.480938507e-08f, 1.483096832e-08f, 1.485251770e-08f, 1.487403320e-08f, 1.489551478e-08f, 1.491696243e-08f, 1.493837610e-08f, 1.495975579e-08f,
+1.498110146e-08f, 1.500241308e-08f, 1.502369063e-08f, 1.504493409e-08f, 1.506614342e-08f, 1.508731861e-08f, 1.510845962e-08f, 1.512956643e-08f, 1.515063902e-08f, 1.517167736e-08f,
+1.519268142e-08f, 1.521365118e-08f, 1.523458661e-08f, 1.525548770e-08f, 1.527635440e-08f, 1.529718671e-08f, 1.531798458e-08f, 1.533874801e-08f, 1.535947696e-08f, 1.538017141e-08f,
+1.540083133e-08f, 1.542145670e-08f, 1.544204750e-08f, 1.546260370e-08f, 1.548312527e-08f, 1.550361219e-08f, 1.552406444e-08f, 1.554448200e-08f, 1.556486483e-08f, 1.558521292e-08f,
+1.560552624e-08f, 1.562580476e-08f, 1.564604847e-08f, 1.566625734e-08f, 1.568643134e-08f, 1.570657046e-08f, 1.572667466e-08f, 1.574674393e-08f, 1.576677824e-08f, 1.578677757e-08f,
+1.580674189e-08f, 1.582667118e-08f, 1.584656542e-08f, 1.586642459e-08f, 1.588624866e-08f, 1.590603761e-08f, 1.592579141e-08f, 1.594551005e-08f, 1.596519350e-08f, 1.598484174e-08f,
+1.600445474e-08f, 1.602403249e-08f, 1.604357495e-08f, 1.606308212e-08f, 1.608255396e-08f, 1.610199046e-08f, 1.612139158e-08f, 1.614075732e-08f, 1.616008764e-08f, 1.617938253e-08f,
+1.619864197e-08f, 1.621786592e-08f, 1.623705438e-08f, 1.625620731e-08f, 1.627532470e-08f, 1.629440653e-08f, 1.631345277e-08f, 1.633246340e-08f, 1.635143840e-08f, 1.637037776e-08f,
+1.638928144e-08f, 1.640814943e-08f, 1.642698171e-08f, 1.644577826e-08f, 1.646453905e-08f, 1.648326406e-08f, 1.650195328e-08f, 1.652060668e-08f, 1.653922424e-08f, 1.655780594e-08f,
+1.657635177e-08f, 1.659486170e-08f, 1.661333570e-08f, 1.663177377e-08f, 1.665017588e-08f, 1.666854201e-08f, 1.668687214e-08f, 1.670516625e-08f, 1.672342432e-08f, 1.674164633e-08f,
+1.675983226e-08f, 1.677798209e-08f, 1.679609581e-08f, 1.681417338e-08f, 1.683221480e-08f, 1.685022004e-08f, 1.686818909e-08f, 1.688612192e-08f, 1.690401852e-08f, 1.692187886e-08f,
+1.693970294e-08f, 1.695749072e-08f, 1.697524219e-08f, 1.699295733e-08f, 1.701063612e-08f, 1.702827855e-08f, 1.704588459e-08f, 1.706345423e-08f, 1.708098745e-08f, 1.709848423e-08f,
+1.711594455e-08f, 1.713336839e-08f, 1.715075574e-08f, 1.716810657e-08f, 1.718542088e-08f, 1.720269864e-08f, 1.721993982e-08f, 1.723714443e-08f, 1.725431243e-08f, 1.727144382e-08f,
+1.728853856e-08f, 1.730559665e-08f, 1.732261807e-08f, 1.733960280e-08f, 1.735655082e-08f, 1.737346212e-08f, 1.739033668e-08f, 1.740717448e-08f, 1.742397550e-08f, 1.744073974e-08f,
+1.745746716e-08f, 1.747415776e-08f, 1.749081151e-08f, 1.750742841e-08f, 1.752400843e-08f, 1.754055156e-08f, 1.755705778e-08f, 1.757352707e-08f, 1.758995943e-08f, 1.760635483e-08f,
+1.762271325e-08f, 1.763903468e-08f, 1.765531911e-08f, 1.767156652e-08f, 1.768777689e-08f, 1.770395021e-08f, 1.772008646e-08f, 1.773618562e-08f, 1.775224769e-08f, 1.776827264e-08f,
+1.778426045e-08f, 1.780021113e-08f, 1.781612464e-08f, 1.783200097e-08f, 1.784784012e-08f, 1.786364206e-08f, 1.787940677e-08f, 1.789513425e-08f, 1.791082448e-08f, 1.792647744e-08f,
+1.794209312e-08f, 1.795767151e-08f, 1.797321259e-08f, 1.798871634e-08f, 1.800418275e-08f, 1.801961181e-08f, 1.803500351e-08f, 1.805035782e-08f, 1.806567474e-08f, 1.808095424e-08f,
+1.809619633e-08f, 1.811140097e-08f, 1.812656817e-08f, 1.814169790e-08f, 1.815679015e-08f, 1.817184491e-08f, 1.818686217e-08f, 1.820184190e-08f, 1.821678410e-08f, 1.823168876e-08f,
+1.824655586e-08f, 1.826138538e-08f, 1.827617732e-08f, 1.829093167e-08f, 1.830564840e-08f, 1.832032750e-08f, 1.833496897e-08f, 1.834957279e-08f, 1.836413895e-08f, 1.837866743e-08f,
+1.839315823e-08f, 1.840761132e-08f, 1.842202671e-08f, 1.843640437e-08f, 1.845074429e-08f, 1.846504646e-08f, 1.847931087e-08f, 1.849353751e-08f, 1.850772637e-08f, 1.852187742e-08f,
+1.853599067e-08f, 1.855006610e-08f, 1.856410370e-08f, 1.857810345e-08f, 1.859206535e-08f, 1.860598938e-08f, 1.861987554e-08f, 1.863372380e-08f, 1.864753417e-08f, 1.866130662e-08f,
+1.867504115e-08f, 1.868873775e-08f, 1.870239640e-08f, 1.871601710e-08f, 1.872959983e-08f, 1.874314459e-08f, 1.875665136e-08f, 1.877012013e-08f, 1.878355089e-08f, 1.879694363e-08f,
+1.881029834e-08f, 1.882361502e-08f, 1.883689364e-08f, 1.885013421e-08f, 1.886333670e-08f, 1.887650112e-08f, 1.888962744e-08f, 1.890271567e-08f, 1.891576578e-08f, 1.892877778e-08f,
+1.894175165e-08f, 1.895468738e-08f, 1.896758496e-08f, 1.898044439e-08f, 1.899326565e-08f, 1.900604873e-08f, 1.901879363e-08f, 1.903150033e-08f, 1.904416883e-08f, 1.905679912e-08f,
+1.906939119e-08f, 1.908194503e-08f, 1.909446063e-08f, 1.910693798e-08f, 1.911937708e-08f, 1.913177791e-08f, 1.914414047e-08f, 1.915646474e-08f, 1.916875073e-08f, 1.918099842e-08f,
+1.919320781e-08f, 1.920537888e-08f, 1.921751162e-08f, 1.922960604e-08f, 1.924166212e-08f, 1.925367985e-08f, 1.926565923e-08f, 1.927760025e-08f, 1.928950290e-08f, 1.930136717e-08f,
+1.931319306e-08f, 1.932498055e-08f, 1.933672965e-08f, 1.934844034e-08f, 1.936011262e-08f, 1.937174648e-08f, 1.938334191e-08f, 1.939489891e-08f, 1.940641746e-08f, 1.941789757e-08f,
+1.942933922e-08f, 1.944074241e-08f, 1.945210713e-08f, 1.946343338e-08f, 1.947472115e-08f, 1.948597043e-08f, 1.949718121e-08f, 1.950835350e-08f, 1.951948728e-08f, 1.953058254e-08f,
+1.954163929e-08f, 1.955265751e-08f, 1.956363721e-08f, 1.957457836e-08f, 1.958548098e-08f, 1.959634505e-08f, 1.960717056e-08f, 1.961795752e-08f, 1.962870591e-08f, 1.963941573e-08f,
+1.965008698e-08f, 1.966071964e-08f, 1.967131372e-08f, 1.968186922e-08f, 1.969238611e-08f, 1.970286441e-08f, 1.971330410e-08f, 1.972370518e-08f, 1.973406764e-08f, 1.974439149e-08f,
+1.975467671e-08f, 1.976492330e-08f, 1.977513126e-08f, 1.978530058e-08f, 1.979543126e-08f, 1.980552329e-08f, 1.981557667e-08f, 1.982559140e-08f, 1.983556747e-08f, 1.984550487e-08f,
+1.985540361e-08f, 1.986526368e-08f, 1.987508508e-08f, 1.988486780e-08f, 1.989461183e-08f, 1.990431718e-08f, 1.991398385e-08f, 1.992361182e-08f, 1.993320109e-08f, 1.994275167e-08f,
+1.995226355e-08f, 1.996173672e-08f, 1.997117118e-08f, 1.998056694e-08f, 1.998992398e-08f, 1.999924230e-08f, 2.000852190e-08f, 2.001776278e-08f, 2.002696494e-08f, 2.003612837e-08f,
+2.004525307e-08f, 2.005433904e-08f, 2.006338627e-08f, 2.007239477e-08f, 2.008136452e-08f, 2.009029554e-08f, 2.009918782e-08f, 2.010804134e-08f, 2.011685613e-08f, 2.012563216e-08f,
+2.013436944e-08f, 2.014306797e-08f, 2.015172775e-08f, 2.016034877e-08f, 2.016893103e-08f, 2.017747453e-08f, 2.018597928e-08f, 2.019444526e-08f, 2.020287248e-08f, 2.021126094e-08f,
+2.021961063e-08f, 2.022792156e-08f, 2.023619372e-08f, 2.024442711e-08f, 2.025262174e-08f, 2.026077760e-08f, 2.026889468e-08f, 2.027697300e-08f, 2.028501255e-08f, 2.029301332e-08f,
+2.030097532e-08f, 2.030889855e-08f, 2.031678301e-08f, 2.032462870e-08f, 2.033243561e-08f, 2.034020376e-08f, 2.034793313e-08f, 2.035562372e-08f, 2.036327555e-08f, 2.037088860e-08f,
+2.037846288e-08f, 2.038599840e-08f, 2.039349514e-08f, 2.040095311e-08f, 2.040837231e-08f, 2.041575274e-08f, 2.042309440e-08f, 2.043039730e-08f, 2.043766143e-08f, 2.044488679e-08f,
+2.045207339e-08f, 2.045922123e-08f, 2.046633031e-08f, 2.047340062e-08f, 2.048043217e-08f, 2.048742497e-08f, 2.049437901e-08f, 2.050129429e-08f, 2.050817082e-08f, 2.051500860e-08f,
+2.052180762e-08f, 2.052856790e-08f, 2.053528943e-08f, 2.054197222e-08f, 2.054861626e-08f, 2.055522156e-08f, 2.056178813e-08f, 2.056831595e-08f, 2.057480504e-08f, 2.058125541e-08f,
+2.058766704e-08f, 2.059403994e-08f, 2.060037412e-08f, 2.060666957e-08f, 2.061292631e-08f, 2.061914433e-08f, 2.062532364e-08f, 2.063146424e-08f, 2.063756612e-08f, 2.064362931e-08f,
+2.064965379e-08f, 2.065563957e-08f, 2.066158666e-08f, 2.066749505e-08f, 2.067336476e-08f, 2.067919578e-08f, 2.068498812e-08f, 2.069074178e-08f, 2.069645677e-08f, 2.070213308e-08f,
+2.070777073e-08f, 2.071336971e-08f, 2.071893004e-08f, 2.072445171e-08f, 2.072993473e-08f, 2.073537910e-08f, 2.074078482e-08f, 2.074615191e-08f, 2.075148037e-08f, 2.075677019e-08f,
+2.076202139e-08f, 2.076723396e-08f, 2.077240792e-08f, 2.077754327e-08f, 2.078264001e-08f, 2.078769815e-08f, 2.079271769e-08f, 2.079769864e-08f, 2.080264100e-08f, 2.080754477e-08f,
+2.081240997e-08f, 2.081723660e-08f, 2.082202466e-08f, 2.082677416e-08f, 2.083148510e-08f, 2.083615749e-08f, 2.084079134e-08f, 2.084538664e-08f, 2.084994342e-08f, 2.085446166e-08f,
+2.085894138e-08f, 2.086338259e-08f, 2.086778528e-08f, 2.087214947e-08f, 2.087647516e-08f, 2.088076236e-08f, 2.088501107e-08f, 2.088922130e-08f, 2.089339306e-08f, 2.089752635e-08f,
+2.090162118e-08f, 2.090567756e-08f, 2.090969549e-08f, 2.091367497e-08f, 2.091761603e-08f, 2.092151865e-08f, 2.092538286e-08f, 2.092920865e-08f, 2.093299603e-08f, 2.093674502e-08f,
+2.094045561e-08f, 2.094412782e-08f, 2.094776165e-08f, 2.095135711e-08f, 2.095491421e-08f, 2.095843295e-08f, 2.096191334e-08f, 2.096535539e-08f, 2.096875911e-08f, 2.097212451e-08f,
+2.097545159e-08f, 2.097874035e-08f, 2.098199082e-08f, 2.098520299e-08f, 2.098837688e-08f, 2.099151249e-08f, 2.099460983e-08f, 2.099766892e-08f, 2.100068974e-08f, 2.100367233e-08f,
+2.100661668e-08f, 2.100952280e-08f, 2.101239070e-08f, 2.101522040e-08f, 2.101801189e-08f, 2.102076519e-08f, 2.102348031e-08f, 2.102615725e-08f, 2.102879603e-08f, 2.103139665e-08f,
+2.103395912e-08f, 2.103648346e-08f, 2.103896967e-08f, 2.104141775e-08f, 2.104382773e-08f, 2.104619961e-08f, 2.104853340e-08f, 2.105082910e-08f, 2.105308673e-08f, 2.105530630e-08f,
+2.105748782e-08f, 2.105963130e-08f, 2.106173674e-08f, 2.106380416e-08f, 2.106583357e-08f, 2.106782497e-08f, 2.106977839e-08f, 2.107169382e-08f, 2.107357128e-08f, 2.107541077e-08f,
+2.107721232e-08f, 2.107897593e-08f, 2.108070160e-08f, 2.108238936e-08f, 2.108403921e-08f, 2.108565116e-08f, 2.108722522e-08f, 2.108876141e-08f, 2.109025973e-08f, 2.109172020e-08f,
+2.109314282e-08f, 2.109452761e-08f, 2.109587458e-08f, 2.109718374e-08f, 2.109845511e-08f, 2.109968868e-08f, 2.110088448e-08f, 2.110204252e-08f, 2.110316281e-08f, 2.110424535e-08f,
+2.110529017e-08f, 2.110629726e-08f, 2.110726666e-08f, 2.110819835e-08f, 2.110909237e-08f, 2.110994872e-08f, 2.111076741e-08f, 2.111154846e-08f, 2.111229187e-08f, 2.111299766e-08f,
+2.111366585e-08f, 2.111429643e-08f, 2.111488944e-08f, 2.111544487e-08f, 2.111596275e-08f, 2.111644307e-08f, 2.111688587e-08f, 2.111729115e-08f, 2.111765892e-08f, 2.111798919e-08f,
+2.111828198e-08f, 2.111853731e-08f, 2.111875518e-08f, 2.111893561e-08f, 2.111907860e-08f, 2.111918419e-08f, 2.111925237e-08f, 2.111928316e-08f, 2.111927658e-08f, 2.111923263e-08f,
+2.111915134e-08f, 2.111903271e-08f, 2.111887676e-08f, 2.111868351e-08f, 2.111845296e-08f, 2.111818513e-08f, 2.111788004e-08f, 2.111753769e-08f, 2.111715811e-08f, 2.111674131e-08f,
+2.111628730e-08f, 2.111579609e-08f, 2.111526770e-08f, 2.111470215e-08f, 2.111409944e-08f, 2.111345960e-08f, 2.111278264e-08f, 2.111206857e-08f, 2.111131741e-08f, 2.111052917e-08f,
+2.110970387e-08f, 2.110884151e-08f, 2.110794213e-08f, 2.110700573e-08f, 2.110603232e-08f, 2.110502193e-08f, 2.110397456e-08f, 2.110289024e-08f, 2.110176897e-08f, 2.110061078e-08f,
+2.109941568e-08f, 2.109818368e-08f, 2.109691480e-08f, 2.109560905e-08f, 2.109426646e-08f, 2.109288704e-08f, 2.109147079e-08f, 2.109001775e-08f, 2.108852792e-08f, 2.108700132e-08f,
+2.108543797e-08f, 2.108383788e-08f, 2.108220107e-08f, 2.108052756e-08f, 2.107881735e-08f, 2.107707048e-08f, 2.107528695e-08f, 2.107346678e-08f, 2.107160999e-08f, 2.106971659e-08f,
+2.106778660e-08f, 2.106582004e-08f, 2.106381692e-08f, 2.106177727e-08f, 2.105970109e-08f, 2.105758841e-08f, 2.105543924e-08f, 2.105325360e-08f, 2.105103150e-08f, 2.104877297e-08f,
+2.104647802e-08f, 2.104414667e-08f, 2.104177893e-08f, 2.103937483e-08f, 2.103693437e-08f, 2.103445759e-08f, 2.103194449e-08f, 2.102939509e-08f, 2.102680941e-08f, 2.102418747e-08f,
+2.102152929e-08f, 2.101883488e-08f, 2.101610427e-08f, 2.101333747e-08f, 2.101053449e-08f, 2.100769536e-08f, 2.100482010e-08f, 2.100190872e-08f, 2.099896124e-08f, 2.099597768e-08f,
+2.099295806e-08f, 2.098990239e-08f, 2.098681070e-08f, 2.098368301e-08f, 2.098051933e-08f, 2.097731968e-08f, 2.097408408e-08f, 2.097081255e-08f, 2.096750510e-08f, 2.096416177e-08f,
+2.096078256e-08f, 2.095736749e-08f, 2.095391659e-08f, 2.095042987e-08f, 2.094690736e-08f, 2.094334907e-08f, 2.093975501e-08f, 2.093612522e-08f, 2.093245971e-08f, 2.092875850e-08f,
+2.092502161e-08f, 2.092124906e-08f, 2.091744086e-08f, 2.091359705e-08f, 2.090971763e-08f, 2.090580264e-08f, 2.090185207e-08f, 2.089786597e-08f, 2.089384435e-08f, 2.088978722e-08f,
+2.088569462e-08f, 2.088156655e-08f, 2.087740304e-08f, 2.087320411e-08f, 2.086896978e-08f, 2.086470007e-08f, 2.086039500e-08f, 2.085605460e-08f, 2.085167887e-08f, 2.084726785e-08f,
+2.084282155e-08f, 2.083833999e-08f, 2.083382320e-08f, 2.082927120e-08f, 2.082468400e-08f, 2.082006163e-08f, 2.081540411e-08f, 2.081071146e-08f, 2.080598370e-08f, 2.080122085e-08f,
+2.079642294e-08f, 2.079158998e-08f, 2.078672200e-08f, 2.078181901e-08f, 2.077688105e-08f, 2.077190813e-08f, 2.076690027e-08f, 2.076185749e-08f, 2.075677982e-08f, 2.075166728e-08f,
+2.074651989e-08f, 2.074133766e-08f, 2.073612064e-08f, 2.073086883e-08f, 2.072558225e-08f, 2.072026094e-08f, 2.071490491e-08f, 2.070951418e-08f, 2.070408878e-08f, 2.069862872e-08f,
+2.069313404e-08f, 2.068760476e-08f, 2.068204088e-08f, 2.067644245e-08f, 2.067080948e-08f, 2.066514199e-08f, 2.065944001e-08f, 2.065370356e-08f, 2.064793266e-08f, 2.064212734e-08f,
+2.063628761e-08f, 2.063041351e-08f, 2.062450505e-08f, 2.061856226e-08f, 2.061258515e-08f, 2.060657376e-08f, 2.060052811e-08f, 2.059444822e-08f, 2.058833411e-08f, 2.058218581e-08f,
+2.057600334e-08f, 2.056978672e-08f, 2.056353598e-08f, 2.055725114e-08f, 2.055093223e-08f, 2.054457926e-08f, 2.053819227e-08f, 2.053177127e-08f, 2.052531630e-08f, 2.051882737e-08f,
+2.051230450e-08f, 2.050574773e-08f, 2.049915707e-08f, 2.049253256e-08f, 2.048587420e-08f, 2.047918204e-08f, 2.047245609e-08f, 2.046569638e-08f, 2.045890293e-08f, 2.045207577e-08f,
+2.044521491e-08f, 2.043832040e-08f, 2.043139224e-08f, 2.042443046e-08f, 2.041743510e-08f, 2.041040617e-08f, 2.040334370e-08f, 2.039624772e-08f, 2.038911824e-08f, 2.038195530e-08f,
+2.037475891e-08f, 2.036752911e-08f, 2.036026592e-08f, 2.035296936e-08f, 2.034563946e-08f, 2.033827625e-08f, 2.033087975e-08f, 2.032344998e-08f, 2.031598698e-08f, 2.030849076e-08f,
+2.030096135e-08f, 2.029339878e-08f, 2.028580307e-08f, 2.027817426e-08f, 2.027051235e-08f, 2.026281739e-08f, 2.025508940e-08f, 2.024732839e-08f, 2.023953441e-08f, 2.023170747e-08f,
+2.022384760e-08f, 2.021595482e-08f, 2.020802917e-08f, 2.020007067e-08f, 2.019207934e-08f, 2.018405521e-08f, 2.017599832e-08f, 2.016790867e-08f, 2.015978631e-08f, 2.015163125e-08f,
+2.014344353e-08f, 2.013522316e-08f, 2.012697018e-08f, 2.011868462e-08f, 2.011036650e-08f, 2.010201584e-08f, 2.009363268e-08f, 2.008521704e-08f, 2.007676894e-08f, 2.006828842e-08f,
+2.005977551e-08f, 2.005123022e-08f, 2.004265258e-08f, 2.003404263e-08f, 2.002540039e-08f, 2.001672589e-08f, 2.000801915e-08f, 1.999928021e-08f, 1.999050908e-08f, 1.998170581e-08f,
+1.997287040e-08f, 1.996400290e-08f, 1.995510333e-08f, 1.994617172e-08f, 1.993720809e-08f, 1.992821247e-08f, 1.991918490e-08f, 1.991012539e-08f, 1.990103398e-08f, 1.989191070e-08f,
+1.988275556e-08f, 1.987356861e-08f, 1.986434987e-08f, 1.985509936e-08f, 1.984581712e-08f, 1.983650317e-08f, 1.982715755e-08f, 1.981778027e-08f, 1.980837137e-08f, 1.979893088e-08f,
+1.978945882e-08f, 1.977995523e-08f, 1.977042013e-08f, 1.976085355e-08f, 1.975125551e-08f, 1.974162606e-08f, 1.973196521e-08f, 1.972227300e-08f, 1.971254946e-08f, 1.970279460e-08f,
+1.969300847e-08f, 1.968319109e-08f, 1.967334250e-08f, 1.966346271e-08f, 1.965355175e-08f, 1.964360967e-08f, 1.963363648e-08f, 1.962363222e-08f, 1.961359692e-08f, 1.960353060e-08f,
+1.959343329e-08f, 1.958330503e-08f, 1.957314584e-08f, 1.956295575e-08f, 1.955273479e-08f, 1.954248300e-08f, 1.953220040e-08f, 1.952188701e-08f, 1.951154288e-08f, 1.950116803e-08f,
+1.949076249e-08f, 1.948032629e-08f, 1.946985947e-08f, 1.945936204e-08f, 1.944883404e-08f, 1.943827550e-08f, 1.942768645e-08f, 1.941706692e-08f, 1.940641694e-08f, 1.939573655e-08f,
+1.938502576e-08f, 1.937428462e-08f, 1.936351315e-08f, 1.935271138e-08f, 1.934187934e-08f, 1.933101707e-08f, 1.932012459e-08f, 1.930920193e-08f, 1.929824913e-08f, 1.928726622e-08f,
+1.927625322e-08f, 1.926521017e-08f, 1.925413710e-08f, 1.924303403e-08f, 1.923190101e-08f, 1.922073805e-08f, 1.920954520e-08f, 1.919832248e-08f, 1.918706992e-08f, 1.917578756e-08f,
+1.916447542e-08f, 1.915313354e-08f, 1.914176195e-08f, 1.913036068e-08f, 1.911892976e-08f, 1.910746922e-08f, 1.909597910e-08f, 1.908445942e-08f, 1.907291022e-08f, 1.906133152e-08f,
+1.904972336e-08f, 1.903808578e-08f, 1.902641880e-08f, 1.901472245e-08f, 1.900299677e-08f, 1.899124179e-08f, 1.897945753e-08f, 1.896764404e-08f, 1.895580134e-08f, 1.894392947e-08f,
+1.893202845e-08f, 1.892009833e-08f, 1.890813912e-08f, 1.889615087e-08f, 1.888413361e-08f, 1.887208736e-08f, 1.886001216e-08f, 1.884790805e-08f, 1.883577505e-08f, 1.882361320e-08f,
+1.881142252e-08f, 1.879920306e-08f, 1.878695484e-08f, 1.877467790e-08f, 1.876237227e-08f, 1.875003798e-08f, 1.873767507e-08f, 1.872528356e-08f, 1.871286349e-08f, 1.870041490e-08f,
+1.868793781e-08f, 1.867543226e-08f, 1.866289828e-08f, 1.865033590e-08f, 1.863774516e-08f, 1.862512609e-08f, 1.861247873e-08f, 1.859980310e-08f, 1.858709924e-08f, 1.857436718e-08f,
+1.856160695e-08f, 1.854881860e-08f, 1.853600214e-08f, 1.852315763e-08f, 1.851028508e-08f, 1.849738453e-08f, 1.848445602e-08f, 1.847149957e-08f, 1.845851523e-08f, 1.844550302e-08f,
+1.843246299e-08f, 1.841939515e-08f, 1.840629955e-08f, 1.839317623e-08f, 1.838002520e-08f, 1.836684652e-08f, 1.835364020e-08f, 1.834040629e-08f, 1.832714482e-08f, 1.831385582e-08f,
+1.830053933e-08f, 1.828719538e-08f, 1.827382401e-08f, 1.826042524e-08f, 1.824699912e-08f, 1.823354567e-08f, 1.822006493e-08f, 1.820655694e-08f, 1.819302173e-08f, 1.817945934e-08f,
+1.816586979e-08f, 1.815225312e-08f, 1.813860937e-08f, 1.812493858e-08f, 1.811124077e-08f, 1.809751597e-08f, 1.808376424e-08f, 1.806998559e-08f, 1.805618007e-08f, 1.804234770e-08f,
+1.802848853e-08f, 1.801460259e-08f, 1.800068990e-08f, 1.798675052e-08f, 1.797278447e-08f, 1.795879178e-08f, 1.794477250e-08f, 1.793072665e-08f, 1.791665428e-08f, 1.790255541e-08f,
+1.788843009e-08f, 1.787427834e-08f, 1.786010020e-08f, 1.784589571e-08f, 1.783166490e-08f, 1.781740781e-08f, 1.780312448e-08f, 1.778881493e-08f, 1.777447920e-08f, 1.776011733e-08f,
+1.774572936e-08f, 1.773131531e-08f, 1.771687523e-08f, 1.770240915e-08f, 1.768791711e-08f, 1.767339913e-08f, 1.765885527e-08f, 1.764428554e-08f, 1.762968999e-08f, 1.761506866e-08f,
+1.760042158e-08f, 1.758574878e-08f, 1.757105030e-08f, 1.755632618e-08f, 1.754157645e-08f, 1.752680115e-08f, 1.751200032e-08f, 1.749717398e-08f, 1.748232218e-08f, 1.746744495e-08f,
+1.745254233e-08f, 1.743761436e-08f, 1.742266106e-08f, 1.740768249e-08f, 1.739267866e-08f, 1.737764962e-08f, 1.736259541e-08f, 1.734751606e-08f, 1.733241161e-08f, 1.731728209e-08f,
+1.730212754e-08f, 1.728694800e-08f, 1.727174350e-08f, 1.725651408e-08f, 1.724125978e-08f, 1.722598063e-08f, 1.721067666e-08f, 1.719534793e-08f, 1.717999445e-08f, 1.716461628e-08f,
+1.714921344e-08f, 1.713378597e-08f, 1.711833392e-08f, 1.710285730e-08f, 1.708735617e-08f, 1.707183056e-08f, 1.705628051e-08f, 1.704070605e-08f, 1.702510722e-08f, 1.700948405e-08f,
+1.699383659e-08f, 1.697816488e-08f, 1.696246894e-08f, 1.694674881e-08f, 1.693100454e-08f, 1.691523615e-08f, 1.689944369e-08f, 1.688362720e-08f, 1.686778671e-08f, 1.685192225e-08f,
+1.683603387e-08f, 1.682012161e-08f, 1.680418549e-08f, 1.678822556e-08f, 1.677224186e-08f, 1.675623441e-08f, 1.674020327e-08f, 1.672414847e-08f, 1.670807003e-08f, 1.669196802e-08f,
+1.667584245e-08f, 1.665969337e-08f, 1.664352081e-08f, 1.662732482e-08f, 1.661110542e-08f, 1.659486267e-08f, 1.657859659e-08f, 1.656230722e-08f, 1.654599461e-08f, 1.652965879e-08f,
+1.651329979e-08f, 1.649691766e-08f, 1.648051243e-08f, 1.646408414e-08f, 1.644763283e-08f, 1.643115853e-08f, 1.641466129e-08f, 1.639814115e-08f, 1.638159813e-08f, 1.636503229e-08f,
+1.634844365e-08f, 1.633183225e-08f, 1.631519814e-08f, 1.629854136e-08f, 1.628186193e-08f, 1.626515990e-08f, 1.624843530e-08f, 1.623168818e-08f, 1.621491858e-08f, 1.619812652e-08f,
+1.618131206e-08f, 1.616447522e-08f, 1.614761606e-08f, 1.613073459e-08f, 1.611383087e-08f, 1.609690493e-08f, 1.607995682e-08f, 1.606298656e-08f, 1.604599420e-08f, 1.602897978e-08f,
+1.601194333e-08f, 1.599488490e-08f, 1.597780452e-08f, 1.596070223e-08f, 1.594357807e-08f, 1.592643208e-08f, 1.590926430e-08f, 1.589207476e-08f, 1.587486351e-08f, 1.585763059e-08f,
+1.584037602e-08f, 1.582309986e-08f, 1.580580215e-08f, 1.578848291e-08f, 1.577114219e-08f, 1.575378003e-08f, 1.573639646e-08f, 1.571899154e-08f, 1.570156529e-08f, 1.568411775e-08f,
+1.566664897e-08f, 1.564915898e-08f, 1.563164782e-08f, 1.561411553e-08f, 1.559656216e-08f, 1.557898773e-08f, 1.556139229e-08f, 1.554377588e-08f, 1.552613854e-08f, 1.550848031e-08f,
+1.549080122e-08f, 1.547310132e-08f, 1.545538065e-08f, 1.543763924e-08f, 1.541987713e-08f, 1.540209437e-08f, 1.538429099e-08f, 1.536646704e-08f, 1.534862255e-08f, 1.533075756e-08f,
+1.531287211e-08f, 1.529496624e-08f, 1.527703999e-08f, 1.525909341e-08f, 1.524112652e-08f, 1.522313938e-08f, 1.520513202e-08f, 1.518710447e-08f, 1.516905679e-08f, 1.515098900e-08f,
+1.513290115e-08f, 1.511479329e-08f, 1.509666544e-08f, 1.507851765e-08f, 1.506034996e-08f, 1.504216241e-08f, 1.502395503e-08f, 1.500572788e-08f, 1.498748098e-08f, 1.496921439e-08f,
+1.495092813e-08f, 1.493262225e-08f, 1.491429679e-08f, 1.489595179e-08f, 1.487758728e-08f, 1.485920332e-08f, 1.484079994e-08f, 1.482237717e-08f, 1.480393507e-08f, 1.478547367e-08f,
+1.476699300e-08f, 1.474849312e-08f, 1.472997406e-08f, 1.471143586e-08f, 1.469287856e-08f, 1.467430221e-08f, 1.465570683e-08f, 1.463709248e-08f, 1.461845919e-08f, 1.459980701e-08f,
+1.458113597e-08f, 1.456244612e-08f, 1.454373748e-08f, 1.452501012e-08f, 1.450626406e-08f, 1.448749935e-08f, 1.446871602e-08f, 1.444991413e-08f, 1.443109370e-08f, 1.441225478e-08f,
+1.439339741e-08f, 1.437452163e-08f, 1.435562748e-08f, 1.433671500e-08f, 1.431778424e-08f, 1.429883523e-08f, 1.427986801e-08f, 1.426088262e-08f, 1.424187912e-08f, 1.422285752e-08f,
+1.420381789e-08f, 1.418476025e-08f, 1.416568466e-08f, 1.414659114e-08f, 1.412747974e-08f, 1.410835050e-08f, 1.408920347e-08f, 1.407003868e-08f, 1.405085617e-08f, 1.403165599e-08f,
+1.401243817e-08f, 1.399320277e-08f, 1.397394981e-08f, 1.395467934e-08f, 1.393539139e-08f, 1.391608603e-08f, 1.389676327e-08f, 1.387742317e-08f, 1.385806576e-08f, 1.383869109e-08f,
+1.381929919e-08f, 1.379989011e-08f, 1.378046390e-08f, 1.376102058e-08f, 1.374156020e-08f, 1.372208281e-08f, 1.370258844e-08f, 1.368307714e-08f, 1.366354894e-08f, 1.364400390e-08f,
+1.362444204e-08f, 1.360486341e-08f, 1.358526805e-08f, 1.356565601e-08f, 1.354602732e-08f, 1.352638203e-08f, 1.350672018e-08f, 1.348704181e-08f, 1.346734695e-08f, 1.344763566e-08f,
+1.342790797e-08f, 1.340816393e-08f, 1.338840357e-08f, 1.336862694e-08f, 1.334883408e-08f, 1.332902503e-08f, 1.330919983e-08f, 1.328935853e-08f, 1.326950116e-08f, 1.324962777e-08f,
+1.322973839e-08f, 1.320983308e-08f, 1.318991187e-08f, 1.316997481e-08f, 1.315002193e-08f, 1.313005327e-08f, 1.311006888e-08f, 1.309006881e-08f, 1.307005309e-08f, 1.305002176e-08f,
+1.302997486e-08f, 1.300991244e-08f, 1.298983454e-08f, 1.296974121e-08f, 1.294963247e-08f, 1.292950838e-08f, 1.290936897e-08f, 1.288921430e-08f, 1.286904439e-08f, 1.284885929e-08f,
+1.282865905e-08f, 1.280844370e-08f, 1.278821329e-08f, 1.276796786e-08f, 1.274770745e-08f, 1.272743210e-08f, 1.270714186e-08f, 1.268683676e-08f, 1.266651685e-08f, 1.264618218e-08f,
+1.262583277e-08f, 1.260546868e-08f, 1.258508995e-08f, 1.256469661e-08f, 1.254428872e-08f, 1.252386630e-08f, 1.250342942e-08f, 1.248297810e-08f, 1.246251238e-08f, 1.244203232e-08f,
+1.242153795e-08f, 1.240102932e-08f, 1.238050646e-08f, 1.235996942e-08f, 1.233941825e-08f, 1.231885297e-08f, 1.229827364e-08f, 1.227768030e-08f, 1.225707299e-08f, 1.223645175e-08f,
+1.221581663e-08f, 1.219516766e-08f, 1.217450489e-08f, 1.215382836e-08f, 1.213313811e-08f, 1.211243419e-08f, 1.209171664e-08f, 1.207098549e-08f, 1.205024080e-08f, 1.202948260e-08f,
+1.200871094e-08f, 1.198792585e-08f, 1.196712739e-08f, 1.194631559e-08f, 1.192549050e-08f, 1.190465215e-08f, 1.188380059e-08f, 1.186293587e-08f, 1.184205802e-08f, 1.182116709e-08f,
+1.180026311e-08f, 1.177934614e-08f, 1.175841622e-08f, 1.173747338e-08f, 1.171651766e-08f, 1.169554912e-08f, 1.167456780e-08f, 1.165357373e-08f, 1.163256695e-08f, 1.161154752e-08f,
+1.159051547e-08f, 1.156947085e-08f, 1.154841370e-08f, 1.152734405e-08f, 1.150626196e-08f, 1.148516747e-08f, 1.146406061e-08f, 1.144294144e-08f, 1.142180998e-08f, 1.140066629e-08f,
+1.137951041e-08f, 1.135834238e-08f, 1.133716225e-08f, 1.131597005e-08f, 1.129476582e-08f, 1.127354962e-08f, 1.125232148e-08f, 1.123108145e-08f, 1.120982956e-08f, 1.118856586e-08f,
+1.116729040e-08f, 1.114600321e-08f, 1.112470434e-08f, 1.110339384e-08f, 1.108207173e-08f, 1.106073807e-08f, 1.103939290e-08f, 1.101803626e-08f, 1.099666820e-08f, 1.097528875e-08f,
+1.095389796e-08f, 1.093249587e-08f, 1.091108253e-08f, 1.088965797e-08f, 1.086822224e-08f, 1.084677538e-08f, 1.082531744e-08f, 1.080384846e-08f, 1.078236847e-08f, 1.076087753e-08f,
+1.073937567e-08f, 1.071786294e-08f, 1.069633938e-08f, 1.067480504e-08f, 1.065325995e-08f, 1.063170415e-08f, 1.061013770e-08f, 1.058856064e-08f, 1.056697300e-08f, 1.054537482e-08f,
+1.052376616e-08f, 1.050214706e-08f, 1.048051755e-08f, 1.045887768e-08f, 1.043722750e-08f, 1.041556704e-08f, 1.039389634e-08f, 1.037221546e-08f, 1.035052443e-08f, 1.032882330e-08f,
+1.030711210e-08f, 1.028539089e-08f, 1.026365970e-08f, 1.024191858e-08f, 1.022016757e-08f, 1.019840671e-08f, 1.017663604e-08f, 1.015485561e-08f, 1.013306546e-08f, 1.011126564e-08f,
+1.008945618e-08f, 1.006763713e-08f, 1.004580853e-08f, 1.002397043e-08f, 1.000212286e-08f, 9.980265873e-09f, 9.958399506e-09f, 9.936523805e-09f, 9.914638811e-09f, 9.892744568e-09f,
+9.870841118e-09f, 9.848928504e-09f, 9.827006768e-09f, 9.805075954e-09f, 9.783136104e-09f, 9.761187261e-09f, 9.739229467e-09f, 9.717262765e-09f, 9.695287199e-09f, 9.673302810e-09f,
+9.651309642e-09f, 9.629307737e-09f, 9.607297139e-09f, 9.585277888e-09f, 9.563250030e-09f, 9.541213605e-09f, 9.519168658e-09f, 9.497115230e-09f, 9.475053364e-09f, 9.452983104e-09f,
+9.430904492e-09f, 9.408817570e-09f, 9.386722382e-09f, 9.364618969e-09f, 9.342507376e-09f, 9.320387644e-09f, 9.298259816e-09f, 9.276123935e-09f, 9.253980044e-09f, 9.231828186e-09f,
+9.209668403e-09f, 9.187500737e-09f, 9.165325232e-09f, 9.143141931e-09f, 9.120950875e-09f, 9.098752109e-09f, 9.076545673e-09f, 9.054331612e-09f, 9.032109968e-09f, 9.009880784e-09f,
+8.987644101e-09f, 8.965399964e-09f, 8.943148414e-09f, 8.920889495e-09f, 8.898623249e-09f, 8.876349719e-09f, 8.854068947e-09f, 8.831780976e-09f, 8.809485849e-09f, 8.787183609e-09f,
+8.764874297e-09f, 8.742557958e-09f, 8.720234633e-09f, 8.697904366e-09f, 8.675567198e-09f, 8.653223172e-09f, 8.630872332e-09f, 8.608514720e-09f, 8.586150378e-09f, 8.563779349e-09f,
+8.541401676e-09f, 8.519017402e-09f, 8.496626568e-09f, 8.474229218e-09f, 8.451825394e-09f, 8.429415139e-09f, 8.406998496e-09f, 8.384575507e-09f, 8.362146214e-09f, 8.339710661e-09f,
+8.317268890e-09f, 8.294820943e-09f, 8.272366864e-09f, 8.249906694e-09f, 8.227440476e-09f, 8.204968253e-09f, 8.182490068e-09f, 8.160005962e-09f, 8.137515979e-09f, 8.115020161e-09f,
+8.092518551e-09f, 8.070011191e-09f, 8.047498124e-09f, 8.024979391e-09f, 8.002455037e-09f, 7.979925103e-09f, 7.957389632e-09f, 7.934848665e-09f, 7.912302247e-09f, 7.889750419e-09f,
+7.867193224e-09f, 7.844630704e-09f, 7.822062902e-09f, 7.799489860e-09f, 7.776911621e-09f, 7.754328227e-09f, 7.731739720e-09f, 7.709146144e-09f, 7.686547540e-09f, 7.663943951e-09f,
+7.641335419e-09f, 7.618721987e-09f, 7.596103697e-09f, 7.573480592e-09f, 7.550852713e-09f, 7.528220104e-09f, 7.505582807e-09f, 7.482940863e-09f, 7.460294317e-09f, 7.437643209e-09f,
+7.414987582e-09f, 7.392327478e-09f, 7.369662941e-09f, 7.346994011e-09f, 7.324320733e-09f, 7.301643147e-09f, 7.278961296e-09f, 7.256275222e-09f, 7.233584968e-09f, 7.210890576e-09f,
+7.188192089e-09f, 7.165489548e-09f, 7.142782995e-09f, 7.120072474e-09f, 7.097358026e-09f, 7.074639693e-09f, 7.051917518e-09f, 7.029191543e-09f, 7.006461810e-09f, 6.983728361e-09f,
+6.960991238e-09f, 6.938250485e-09f, 6.915506142e-09f, 6.892758252e-09f, 6.870006857e-09f, 6.847251999e-09f, 6.824493721e-09f, 6.801732064e-09f, 6.778967071e-09f, 6.756198784e-09f,
+6.733427244e-09f, 6.710652494e-09f, 6.687874576e-09f, 6.665093532e-09f, 6.642309404e-09f, 6.619522234e-09f, 6.596732064e-09f, 6.573938936e-09f, 6.551142893e-09f, 6.528343975e-09f,
+6.505542226e-09f, 6.482737686e-09f, 6.459930399e-09f, 6.437120405e-09f, 6.414307748e-09f, 6.391492468e-09f, 6.368674608e-09f, 6.345854210e-09f, 6.323031315e-09f, 6.300205966e-09f,
+6.277378204e-09f, 6.254548071e-09f, 6.231715610e-09f, 6.208880861e-09f, 6.186043867e-09f, 6.163204669e-09f, 6.140363310e-09f, 6.117519831e-09f, 6.094674274e-09f, 6.071826680e-09f,
+6.048977092e-09f, 6.026125552e-09f, 6.003272100e-09f, 5.980416778e-09f, 5.957559629e-09f, 5.934700694e-09f, 5.911840015e-09f, 5.888977634e-09f, 5.866113591e-09f, 5.843247929e-09f,
+5.820380689e-09f, 5.797511913e-09f, 5.774641643e-09f, 5.751769920e-09f, 5.728896786e-09f, 5.706022282e-09f, 5.683146450e-09f, 5.660269332e-09f, 5.637390968e-09f, 5.614511401e-09f,
+5.591630671e-09f, 5.568748821e-09f, 5.545865893e-09f, 5.522981926e-09f, 5.500096963e-09f, 5.477211046e-09f, 5.454324215e-09f, 5.431436512e-09f, 5.408547979e-09f, 5.385658657e-09f,
+5.362768587e-09f, 5.339877810e-09f, 5.316986369e-09f, 5.294094303e-09f, 5.271201655e-09f, 5.248308466e-09f, 5.225414777e-09f, 5.202520630e-09f, 5.179626065e-09f, 5.156731124e-09f,
+5.133835848e-09f, 5.110940278e-09f, 5.088044455e-09f, 5.065148422e-09f, 5.042252218e-09f, 5.019355885e-09f, 4.996459464e-09f, 4.973562996e-09f, 4.950666522e-09f, 4.927770084e-09f,
+4.904873722e-09f, 4.881977478e-09f, 4.859081392e-09f, 4.836185506e-09f, 4.813289860e-09f, 4.790394496e-09f, 4.767499454e-09f, 4.744604776e-09f, 4.721710501e-09f, 4.698816673e-09f,
+4.675923330e-09f, 4.653030515e-09f, 4.630138267e-09f, 4.607246628e-09f, 4.584355639e-09f, 4.561465341e-09f, 4.538575773e-09f, 4.515686978e-09f, 4.492798996e-09f, 4.469911867e-09f,
+4.447025633e-09f, 4.424140333e-09f, 4.401256010e-09f, 4.378372702e-09f, 4.355490452e-09f, 4.332609300e-09f, 4.309729286e-09f, 4.286850452e-09f, 4.263972836e-09f, 4.241096482e-09f,
+4.218221427e-09f, 4.195347715e-09f, 4.172475384e-09f, 4.149604475e-09f, 4.126735030e-09f, 4.103867087e-09f, 4.081000689e-09f, 4.058135875e-09f, 4.035272685e-09f, 4.012411161e-09f,
+3.989551342e-09f, 3.966693269e-09f, 3.943836982e-09f, 3.920982521e-09f, 3.898129928e-09f, 3.875279241e-09f, 3.852430502e-09f, 3.829583751e-09f, 3.806739028e-09f, 3.783896372e-09f,
+3.761055825e-09f, 3.738217427e-09f, 3.715381217e-09f, 3.692547236e-09f, 3.669715524e-09f, 3.646886121e-09f, 3.624059067e-09f, 3.601234402e-09f, 3.578412166e-09f, 3.555592400e-09f,
+3.532775143e-09f, 3.509960435e-09f, 3.487148317e-09f, 3.464338827e-09f, 3.441532007e-09f, 3.418727895e-09f, 3.395926533e-09f, 3.373127959e-09f, 3.350332214e-09f, 3.327539337e-09f,
+3.304749369e-09f, 3.281962349e-09f, 3.259178316e-09f, 3.236397311e-09f, 3.213619373e-09f, 3.190844542e-09f, 3.168072858e-09f, 3.145304360e-09f, 3.122539088e-09f, 3.099777081e-09f,
+3.077018380e-09f, 3.054263024e-09f, 3.031511052e-09f, 3.008762503e-09f, 2.986017418e-09f, 2.963275836e-09f, 2.940537796e-09f, 2.917803338e-09f, 2.895072501e-09f, 2.872345325e-09f,
+2.849621849e-09f, 2.826902112e-09f, 2.804186154e-09f, 2.781474014e-09f, 2.758765732e-09f, 2.736061345e-09f, 2.713360895e-09f, 2.690664420e-09f, 2.667971959e-09f, 2.645283552e-09f,
+2.622599238e-09f, 2.599919055e-09f, 2.577243043e-09f, 2.554571241e-09f, 2.531903689e-09f, 2.509240425e-09f, 2.486581487e-09f, 2.463926916e-09f, 2.441276751e-09f, 2.418631029e-09f,
+2.395989791e-09f, 2.373353074e-09f, 2.350720919e-09f, 2.328093363e-09f, 2.305470447e-09f, 2.282852207e-09f, 2.260238684e-09f, 2.237629916e-09f, 2.215025942e-09f, 2.192426800e-09f,
+2.169832530e-09f, 2.147243170e-09f, 2.124658758e-09f, 2.102079334e-09f, 2.079504935e-09f, 2.056935601e-09f, 2.034371370e-09f, 2.011812281e-09f, 1.989258371e-09f, 1.966709681e-09f,
+1.944166247e-09f, 1.921628109e-09f, 1.899095305e-09f, 1.876567873e-09f, 1.854045852e-09f, 1.831529280e-09f, 1.809018196e-09f, 1.786512637e-09f, 1.764012643e-09f, 1.741518250e-09f,
+1.719029498e-09f, 1.696546425e-09f, 1.674069068e-09f, 1.651597467e-09f, 1.629131658e-09f, 1.606671681e-09f, 1.584217574e-09f, 1.561769373e-09f, 1.539327118e-09f, 1.516890847e-09f,
+1.494460597e-09f, 1.472036406e-09f, 1.449618312e-09f, 1.427206354e-09f, 1.404800568e-09f, 1.382400994e-09f, 1.360007668e-09f, 1.337620629e-09f, 1.315239914e-09f, 1.292865561e-09f,
+1.270497608e-09f, 1.248136093e-09f, 1.225781052e-09f, 1.203432524e-09f, 1.181090547e-09f, 1.158755158e-09f, 1.136426394e-09f, 1.114104293e-09f, 1.091788893e-09f, 1.069480231e-09f,
+1.047178345e-09f, 1.024883271e-09f, 1.002595048e-09f, 9.803137127e-10f, 9.580393024e-10f, 9.357718546e-10f, 9.135114066e-10f, 8.912579955e-10f, 8.690116588e-10f, 8.467724335e-10f,
+8.245403568e-10f, 8.023154660e-10f, 7.800977982e-10f, 7.578873905e-10f, 7.356842799e-10f, 7.134885035e-10f, 6.913000984e-10f, 6.691191015e-10f, 6.469455499e-10f, 6.247794804e-10f,
+6.026209300e-10f, 5.804699355e-10f, 5.583265339e-10f, 5.361907620e-10f, 5.140626565e-10f, 4.919422543e-10f, 4.698295921e-10f, 4.477247066e-10f, 4.256276345e-10f, 4.035384125e-10f,
+3.814570772e-10f, 3.593836653e-10f, 3.373182133e-10f, 3.152607577e-10f, 2.932113351e-10f, 2.711699820e-10f, 2.491367349e-10f, 2.271116302e-10f, 2.050947042e-10f, 1.830859935e-10f,
+1.610855342e-10f, 1.390933629e-10f, 1.171095156e-10f, 9.513402883e-11f, 7.316693868e-11f, 5.120828140e-11f, 2.925809316e-11f, 7.316410108e-12f, -1.461673163e-11f, -3.654129597e-11f,
+-5.845724685e-11f, -8.036454823e-11f, -1.022631641e-10f, -1.241530585e-10f, -1.460341955e-10f, -1.679065392e-10f, -1.897700536e-10f, -2.116247030e-10f, -2.334704515e-10f, -2.553072633e-10f,
+-2.771351027e-10f, -2.989539339e-10f, -3.207637211e-10f, -3.425644288e-10f, -3.643560213e-10f, -3.861384630e-10f, -4.079117182e-10f, -4.296757515e-10f, -4.514305273e-10f, -4.731760101e-10f,
+-4.949121645e-10f, -5.166389549e-10f, -5.383563461e-10f, -5.600643027e-10f, -5.817627892e-10f, -6.034517704e-10f, -6.251312111e-10f, -6.468010759e-10f, -6.684613297e-10f, -6.901119372e-10f,
+-7.117528633e-10f, -7.333840729e-10f, -7.550055309e-10f, -7.766172022e-10f, -7.982190518e-10f, -8.198110447e-10f, -8.413931459e-10f, -8.629653204e-10f, -8.845275335e-10f, -9.060797502e-10f,
+-9.276219356e-10f, -9.491540549e-10f, -9.706760735e-10f, -9.921879564e-10f, -1.013689669e-09f, -1.035181177e-09f, -1.056662445e-09f, -1.078133438e-09f, -1.099594123e-09f, -1.121044465e-09f,
+-1.142484428e-09f, -1.163913979e-09f, -1.185333084e-09f, -1.206741707e-09f, -1.228139814e-09f, -1.249527371e-09f, -1.270904343e-09f, -1.292270697e-09f, -1.313626398e-09f, -1.334971412e-09f,
+-1.356305704e-09f, -1.377629241e-09f, -1.398941988e-09f, -1.420243911e-09f, -1.441534977e-09f, -1.462815150e-09f, -1.484084397e-09f, -1.505342684e-09f, -1.526589978e-09f, -1.547826244e-09f,
+-1.569051448e-09f, -1.590265556e-09f, -1.611468536e-09f, -1.632660352e-09f, -1.653840971e-09f, -1.675010360e-09f, -1.696168484e-09f, -1.717315311e-09f, -1.738450806e-09f, -1.759574937e-09f,
+-1.780687668e-09f, -1.801788968e-09f, -1.822878802e-09f, -1.843957137e-09f, -1.865023939e-09f, -1.886079176e-09f, -1.907122813e-09f, -1.928154819e-09f, -1.949175158e-09f, -1.970183798e-09f,
+-1.991180707e-09f, -2.012165850e-09f, -2.033139194e-09f, -2.054100707e-09f, -2.075050356e-09f, -2.095988106e-09f, -2.116913926e-09f, -2.137827782e-09f, -2.158729642e-09f, -2.179619472e-09f,
+-2.200497240e-09f, -2.221362913e-09f, -2.242216458e-09f, -2.263057842e-09f, -2.283887033e-09f, -2.304703998e-09f, -2.325508703e-09f, -2.346301118e-09f, -2.367081208e-09f, -2.387848942e-09f,
+-2.408604287e-09f, -2.429347210e-09f, -2.450077680e-09f, -2.470795663e-09f, -2.491501127e-09f, -2.512194040e-09f, -2.532874370e-09f, -2.553542084e-09f, -2.574197150e-09f, -2.594839536e-09f,
+-2.615469210e-09f, -2.636086139e-09f, -2.656690292e-09f, -2.677281636e-09f, -2.697860140e-09f, -2.718425771e-09f, -2.738978498e-09f, -2.759518288e-09f, -2.780045110e-09f, -2.800558932e-09f,
+-2.821059722e-09f, -2.841547448e-09f, -2.862022079e-09f, -2.882483583e-09f, -2.902931927e-09f, -2.923367082e-09f, -2.943789014e-09f, -2.964197693e-09f, -2.984593086e-09f, -3.004975163e-09f,
+-3.025343892e-09f, -3.045699242e-09f, -3.066041181e-09f, -3.086369677e-09f, -3.106684701e-09f, -3.126986219e-09f, -3.147274202e-09f, -3.167548617e-09f, -3.187809434e-09f, -3.208056622e-09f,
+-3.228290149e-09f, -3.248509985e-09f, -3.268716098e-09f, -3.288908457e-09f, -3.309087032e-09f, -3.329251792e-09f, -3.349402706e-09f, -3.369539743e-09f, -3.389662871e-09f, -3.409772062e-09f,
+-3.429867283e-09f, -3.449948504e-09f, -3.470015694e-09f, -3.490068824e-09f, -3.510107861e-09f, -3.530132776e-09f, -3.550143539e-09f, -3.570140118e-09f, -3.590122484e-09f, -3.610090606e-09f,
+-3.630044453e-09f, -3.649983996e-09f, -3.669909204e-09f, -3.689820047e-09f, -3.709716495e-09f, -3.729598517e-09f, -3.749466083e-09f, -3.769319164e-09f, -3.789157729e-09f, -3.808981749e-09f,
+-3.828791193e-09f, -3.848586031e-09f, -3.868366234e-09f, -3.888131772e-09f, -3.907882615e-09f, -3.927618733e-09f, -3.947340096e-09f, -3.967046675e-09f, -3.986738440e-09f, -4.006415361e-09f,
+-4.026077410e-09f, -4.045724556e-09f, -4.065356769e-09f, -4.084974021e-09f, -4.104576282e-09f, -4.124163523e-09f, -4.143735714e-09f, -4.163292825e-09f, -4.182834829e-09f, -4.202361694e-09f,
+-4.221873393e-09f, -4.241369896e-09f, -4.260851174e-09f, -4.280317198e-09f, -4.299767939e-09f, -4.319203368e-09f, -4.338623455e-09f, -4.358028173e-09f, -4.377417492e-09f, -4.396791383e-09f,
+-4.416149817e-09f, -4.435492766e-09f, -4.454820201e-09f, -4.474132093e-09f, -4.493428414e-09f, -4.512709136e-09f, -4.531974228e-09f, -4.551223664e-09f, -4.570457413e-09f, -4.589675449e-09f,
+-4.608877743e-09f, -4.628064266e-09f, -4.647234990e-09f, -4.666389886e-09f, -4.685528927e-09f, -4.704652084e-09f, -4.723759329e-09f, -4.742850633e-09f, -4.761925970e-09f, -4.780985310e-09f,
+-4.800028626e-09f, -4.819055890e-09f, -4.838067074e-09f, -4.857062149e-09f, -4.876041089e-09f, -4.895003864e-09f, -4.913950449e-09f, -4.932880814e-09f, -4.951794932e-09f, -4.970692776e-09f,
+-4.989574317e-09f, -5.008439529e-09f, -5.027288383e-09f, -5.046120853e-09f, -5.064936910e-09f, -5.083736528e-09f, -5.102519679e-09f, -5.121286336e-09f, -5.140036470e-09f, -5.158770057e-09f,
+-5.177487067e-09f, -5.196187473e-09f, -5.214871250e-09f, -5.233538369e-09f, -5.252188803e-09f, -5.270822527e-09f, -5.289439511e-09f, -5.308039731e-09f, -5.326623158e-09f, -5.345189766e-09f,
+-5.363739528e-09f, -5.382272418e-09f, -5.400788408e-09f, -5.419287472e-09f, -5.437769584e-09f, -5.456234716e-09f, -5.474682843e-09f, -5.493113938e-09f, -5.511527973e-09f, -5.529924924e-09f,
+-5.548304763e-09f, -5.566667464e-09f, -5.585013000e-09f, -5.603341347e-09f, -5.621652476e-09f, -5.639946363e-09f, -5.658222981e-09f, -5.676482304e-09f, -5.694724305e-09f, -5.712948960e-09f,
+-5.731156241e-09f, -5.749346123e-09f, -5.767518580e-09f, -5.785673587e-09f, -5.803811117e-09f, -5.821931144e-09f, -5.840033643e-09f, -5.858118589e-09f, -5.876185955e-09f, -5.894235717e-09f,
+-5.912267847e-09f, -5.930282322e-09f, -5.948279115e-09f, -5.966258201e-09f, -5.984219555e-09f, -6.002163151e-09f, -6.020088965e-09f, -6.037996970e-09f, -6.055887141e-09f, -6.073759454e-09f,
+-6.091613883e-09f, -6.109450403e-09f, -6.127268990e-09f, -6.145069617e-09f, -6.162852261e-09f, -6.180616896e-09f, -6.198363497e-09f, -6.216092040e-09f, -6.233802499e-09f, -6.251494851e-09f,
+-6.269169069e-09f, -6.286825131e-09f, -6.304463010e-09f, -6.322082682e-09f, -6.339684124e-09f, -6.357267310e-09f, -6.374832215e-09f, -6.392378817e-09f, -6.409907089e-09f, -6.427417008e-09f,
+-6.444908550e-09f, -6.462381690e-09f, -6.479836404e-09f, -6.497272668e-09f, -6.514690458e-09f, -6.532089749e-09f, -6.549470519e-09f, -6.566832742e-09f, -6.584176395e-09f, -6.601501454e-09f,
+-6.618807894e-09f, -6.636095694e-09f, -6.653364827e-09f, -6.670615272e-09f, -6.687847003e-09f, -6.705059998e-09f, -6.722254233e-09f, -6.739429685e-09f, -6.756586329e-09f, -6.773724142e-09f,
+-6.790843102e-09f, -6.807943184e-09f, -6.825024365e-09f, -6.842086622e-09f, -6.859129932e-09f, -6.876154271e-09f, -6.893159617e-09f, -6.910145946e-09f, -6.927113235e-09f, -6.944061461e-09f,
+-6.960990601e-09f, -6.977900633e-09f, -6.994791533e-09f, -7.011663278e-09f, -7.028515846e-09f, -7.045349214e-09f, -7.062163359e-09f, -7.078958258e-09f, -7.095733890e-09f, -7.112490230e-09f,
+-7.129227258e-09f, -7.145944949e-09f, -7.162643282e-09f, -7.179322235e-09f, -7.195981785e-09f, -7.212621909e-09f, -7.229242585e-09f, -7.245843792e-09f, -7.262425507e-09f, -7.278987707e-09f,
+-7.295530371e-09f, -7.312053477e-09f, -7.328557002e-09f, -7.345040925e-09f, -7.361505224e-09f, -7.377949876e-09f, -7.394374861e-09f, -7.410780155e-09f, -7.427165738e-09f, -7.443531588e-09f,
+-7.459877683e-09f, -7.476204001e-09f, -7.492510521e-09f, -7.508797221e-09f, -7.525064080e-09f, -7.541311077e-09f, -7.557538189e-09f, -7.573745397e-09f, -7.589932677e-09f, -7.606100010e-09f,
+-7.622247373e-09f, -7.638374747e-09f, -7.654482108e-09f, -7.670569437e-09f, -7.686636713e-09f, -7.702683914e-09f, -7.718711020e-09f, -7.734718009e-09f, -7.750704861e-09f, -7.766671554e-09f,
+-7.782618069e-09f, -7.798544384e-09f, -7.814450479e-09f, -7.830336333e-09f, -7.846201926e-09f, -7.862047236e-09f, -7.877872244e-09f, -7.893676929e-09f, -7.909461271e-09f, -7.925225248e-09f,
+-7.940968842e-09f, -7.956692031e-09f, -7.972394796e-09f, -7.988077115e-09f, -8.003738970e-09f, -8.019380340e-09f, -8.035001204e-09f, -8.050601544e-09f, -8.066181338e-09f, -8.081740567e-09f,
+-8.097279212e-09f, -8.112797252e-09f, -8.128294667e-09f, -8.143771438e-09f, -8.159227545e-09f, -8.174662969e-09f, -8.190077690e-09f, -8.205471688e-09f, -8.220844943e-09f, -8.236197437e-09f,
+-8.251529150e-09f, -8.266840062e-09f, -8.282130155e-09f, -8.297399408e-09f, -8.312647804e-09f, -8.327875321e-09f, -8.343081942e-09f, -8.358267648e-09f, -8.373432418e-09f, -8.388576235e-09f,
+-8.403699079e-09f, -8.418800931e-09f, -8.433881772e-09f, -8.448941585e-09f, -8.463980349e-09f, -8.478998046e-09f, -8.493994657e-09f, -8.508970165e-09f, -8.523924549e-09f, -8.538857792e-09f,
+-8.553769875e-09f, -8.568660780e-09f, -8.583530488e-09f, -8.598378981e-09f, -8.613206240e-09f, -8.628012248e-09f, -8.642796986e-09f, -8.657560435e-09f, -8.672302578e-09f, -8.687023397e-09f,
+-8.701722873e-09f, -8.716400989e-09f, -8.731057726e-09f, -8.745693067e-09f, -8.760306994e-09f, -8.774899489e-09f, -8.789470534e-09f, -8.804020112e-09f, -8.818548204e-09f, -8.833054794e-09f,
+-8.847539863e-09f, -8.862003394e-09f, -8.876445370e-09f, -8.890865772e-09f, -8.905264585e-09f, -8.919641790e-09f, -8.933997369e-09f, -8.948331307e-09f, -8.962643585e-09f, -8.976934186e-09f,
+-8.991203094e-09f, -9.005450291e-09f, -9.019675760e-09f, -9.033879484e-09f, -9.048061446e-09f, -9.062221629e-09f, -9.076360017e-09f, -9.090476593e-09f, -9.104571339e-09f, -9.118644240e-09f,
+-9.132695278e-09f, -9.146724437e-09f, -9.160731700e-09f, -9.174717051e-09f, -9.188680473e-09f, -9.202621950e-09f, -9.216541466e-09f, -9.230439004e-09f, -9.244314547e-09f, -9.258168080e-09f,
+-9.271999587e-09f, -9.285809051e-09f, -9.299596456e-09f, -9.313361786e-09f, -9.327105025e-09f, -9.340826157e-09f, -9.354525166e-09f, -9.368202036e-09f, -9.381856752e-09f, -9.395489298e-09f,
+-9.409099658e-09f, -9.422687815e-09f, -9.436253756e-09f, -9.449797463e-09f, -9.463318922e-09f, -9.476818117e-09f, -9.490295032e-09f, -9.503749653e-09f, -9.517181963e-09f, -9.530591947e-09f,
+-9.543979591e-09f, -9.557344878e-09f, -9.570687795e-09f, -9.584008324e-09f, -9.597306453e-09f, -9.610582165e-09f, -9.623835445e-09f, -9.637066279e-09f, -9.650274651e-09f, -9.663460548e-09f,
+-9.676623953e-09f, -9.689764853e-09f, -9.702883232e-09f, -9.715979076e-09f, -9.729052370e-09f, -9.742103100e-09f, -9.755131251e-09f, -9.768136809e-09f, -9.781119759e-09f, -9.794080087e-09f,
+-9.807017779e-09f, -9.819932819e-09f, -9.832825195e-09f, -9.845694892e-09f, -9.858541895e-09f, -9.871366191e-09f, -9.884167765e-09f, -9.896946604e-09f, -9.909702693e-09f, -9.922436019e-09f,
+-9.935146568e-09f, -9.947834326e-09f, -9.960499279e-09f, -9.973141413e-09f, -9.985760716e-09f, -9.998357172e-09f, -1.001093077e-08f, -1.002348149e-08f, -1.003600933e-08f, -1.004851427e-08f,
+-1.006099629e-08f, -1.007345539e-08f, -1.008589155e-08f, -1.009830475e-08f, -1.011069499e-08f, -1.012306225e-08f, -1.013540651e-08f, -1.014772777e-08f, -1.016002602e-08f, -1.017230123e-08f,
+-1.018455339e-08f, -1.019678250e-08f, -1.020898853e-08f, -1.022117149e-08f, -1.023333135e-08f, -1.024546810e-08f, -1.025758172e-08f, -1.026967222e-08f, -1.028173957e-08f, -1.029378375e-08f,
+-1.030580477e-08f, -1.031780261e-08f, -1.032977724e-08f, -1.034172867e-08f, -1.035365688e-08f, -1.036556186e-08f, -1.037744359e-08f, -1.038930206e-08f, -1.040113727e-08f, -1.041294919e-08f,
+-1.042473782e-08f, -1.043650314e-08f, -1.044824515e-08f, -1.045996383e-08f, -1.047165917e-08f, -1.048333115e-08f, -1.049497977e-08f, -1.050660502e-08f, -1.051820687e-08f, -1.052978533e-08f,
+-1.054134038e-08f, -1.055287201e-08f, -1.056438020e-08f, -1.057586495e-08f, -1.058732624e-08f, -1.059876406e-08f, -1.061017841e-08f, -1.062156926e-08f, -1.063293662e-08f, -1.064428046e-08f,
+-1.065560078e-08f, -1.066689757e-08f, -1.067817081e-08f, -1.068942049e-08f, -1.070064661e-08f, -1.071184915e-08f, -1.072302810e-08f, -1.073418346e-08f, -1.074531520e-08f, -1.075642332e-08f,
+-1.076750781e-08f, -1.077856867e-08f, -1.078960587e-08f, -1.080061940e-08f, -1.081160927e-08f, -1.082257545e-08f, -1.083351794e-08f, -1.084443672e-08f, -1.085533179e-08f, -1.086620314e-08f,
+-1.087705075e-08f, -1.088787462e-08f, -1.089867474e-08f, -1.090945109e-08f, -1.092020366e-08f, -1.093093246e-08f, -1.094163746e-08f, -1.095231865e-08f, -1.096297604e-08f, -1.097360960e-08f,
+-1.098421933e-08f, -1.099480522e-08f, -1.100536725e-08f, -1.101590543e-08f, -1.102641973e-08f, -1.103691016e-08f, -1.104737669e-08f, -1.105781933e-08f, -1.106823806e-08f, -1.107863287e-08f,
+-1.108900376e-08f, -1.109935071e-08f, -1.110967372e-08f, -1.111997278e-08f, -1.113024787e-08f, -1.114049899e-08f, -1.115072613e-08f, -1.116092929e-08f, -1.117110844e-08f, -1.118126359e-08f,
+-1.119139473e-08f, -1.120150184e-08f, -1.121158492e-08f, -1.122164396e-08f, -1.123167895e-08f, -1.124168988e-08f, -1.125167675e-08f, -1.126163954e-08f, -1.127157825e-08f, -1.128149287e-08f,
+-1.129138339e-08f, -1.130124981e-08f, -1.131109211e-08f, -1.132091028e-08f, -1.133070432e-08f, -1.134047423e-08f, -1.135021998e-08f, -1.135994159e-08f, -1.136963903e-08f, -1.137931229e-08f,
+-1.138896138e-08f, -1.139858629e-08f, -1.140818700e-08f, -1.141776350e-08f, -1.142731580e-08f, -1.143684389e-08f, -1.144634775e-08f, -1.145582737e-08f, -1.146528276e-08f, -1.147471391e-08f,
+-1.148412080e-08f, -1.149350343e-08f, -1.150286179e-08f, -1.151219588e-08f, -1.152150568e-08f, -1.153079120e-08f, -1.154005242e-08f, -1.154928934e-08f, -1.155850195e-08f, -1.156769024e-08f,
+-1.157685421e-08f, -1.158599385e-08f, -1.159510915e-08f, -1.160420011e-08f, -1.161326672e-08f, -1.162230897e-08f, -1.163132686e-08f, -1.164032038e-08f, -1.164928952e-08f, -1.165823428e-08f,
+-1.166715466e-08f, -1.167605064e-08f, -1.168492221e-08f, -1.169376938e-08f, -1.170259214e-08f, -1.171139048e-08f, -1.172016439e-08f, -1.172891387e-08f, -1.173763891e-08f, -1.174633951e-08f,
+-1.175501566e-08f, -1.176366736e-08f, -1.177229459e-08f, -1.178089736e-08f, -1.178947566e-08f, -1.179802947e-08f, -1.180655881e-08f, -1.181506365e-08f, -1.182354400e-08f, -1.183199986e-08f,
+-1.184043120e-08f, -1.184883804e-08f, -1.185722036e-08f, -1.186557816e-08f, -1.187391143e-08f, -1.188222017e-08f, -1.189050438e-08f, -1.189876404e-08f, -1.190699916e-08f, -1.191520972e-08f,
+-1.192339573e-08f, -1.193155718e-08f, -1.193969406e-08f, -1.194780637e-08f, -1.195589411e-08f, -1.196395726e-08f, -1.197199583e-08f, -1.198000981e-08f, -1.198799920e-08f, -1.199596399e-08f,
+-1.200390417e-08f, -1.201181975e-08f, -1.201971072e-08f, -1.202757707e-08f, -1.203541879e-08f, -1.204323590e-08f, -1.205102837e-08f, -1.205879622e-08f, -1.206653942e-08f, -1.207425799e-08f,
+-1.208195191e-08f, -1.208962118e-08f, -1.209726580e-08f, -1.210488576e-08f, -1.211248106e-08f, -1.212005170e-08f, -1.212759767e-08f, -1.213511897e-08f, -1.214261559e-08f, -1.215008754e-08f,
+-1.215753480e-08f, -1.216495738e-08f, -1.217235526e-08f, -1.217972846e-08f, -1.218707696e-08f, -1.219440076e-08f, -1.220169986e-08f, -1.220897425e-08f, -1.221622393e-08f, -1.222344890e-08f,
+-1.223064916e-08f, -1.223782470e-08f, -1.224497552e-08f, -1.225210161e-08f, -1.225920298e-08f, -1.226627962e-08f, -1.227333153e-08f, -1.228035870e-08f, -1.228736113e-08f, -1.229433883e-08f,
+-1.230129178e-08f, -1.230821998e-08f, -1.231512344e-08f, -1.232200215e-08f, -1.232885610e-08f, -1.233568530e-08f, -1.234248974e-08f, -1.234926943e-08f, -1.235602435e-08f, -1.236275450e-08f,
+-1.236945989e-08f, -1.237614052e-08f, -1.238279637e-08f, -1.238942745e-08f, -1.239603375e-08f, -1.240261528e-08f, -1.240917203e-08f, -1.241570401e-08f, -1.242221120e-08f, -1.242869360e-08f,
+-1.243515122e-08f, -1.244158406e-08f, -1.244799211e-08f, -1.245437536e-08f, -1.246073383e-08f, -1.246706750e-08f, -1.247337638e-08f, -1.247966047e-08f, -1.248591975e-08f, -1.249215424e-08f,
+-1.249836393e-08f, -1.250454882e-08f, -1.251070891e-08f, -1.251684420e-08f, -1.252295468e-08f, -1.252904036e-08f, -1.253510123e-08f, -1.254113730e-08f, -1.254714856e-08f, -1.255313501e-08f,
+-1.255909665e-08f, -1.256503348e-08f, -1.257094551e-08f, -1.257683272e-08f, -1.258269512e-08f, -1.258853271e-08f, -1.259434549e-08f, -1.260013345e-08f, -1.260589660e-08f, -1.261163494e-08f,
+-1.261734846e-08f, -1.262303717e-08f, -1.262870107e-08f, -1.263434015e-08f, -1.263995441e-08f, -1.264554386e-08f, -1.265110850e-08f, -1.265664832e-08f, -1.266216333e-08f, -1.266765353e-08f,
+-1.267311891e-08f, -1.267855947e-08f, -1.268397522e-08f, -1.268936616e-08f, -1.269473228e-08f, -1.270007360e-08f, -1.270539009e-08f, -1.271068178e-08f, -1.271594866e-08f, -1.272119072e-08f,
+-1.272640798e-08f, -1.273160042e-08f, -1.273676806e-08f, -1.274191089e-08f, -1.274702891e-08f, -1.275212212e-08f, -1.275719053e-08f, -1.276223413e-08f, -1.276725293e-08f, -1.277224693e-08f,
+-1.277721612e-08f, -1.278216052e-08f, -1.278708011e-08f, -1.279197491e-08f, -1.279684491e-08f, -1.280169011e-08f, -1.280651052e-08f, -1.281130614e-08f, -1.281607697e-08f, -1.282082300e-08f,
+-1.282554425e-08f, -1.283024070e-08f, -1.283491238e-08f, -1.283955927e-08f, -1.284418137e-08f, -1.284877870e-08f, -1.285335125e-08f, -1.285789902e-08f, -1.286242201e-08f, -1.286692023e-08f,
+-1.287139369e-08f, -1.287584237e-08f, -1.288026628e-08f, -1.288466543e-08f, -1.288903982e-08f, -1.289338944e-08f, -1.289771431e-08f, -1.290201442e-08f, -1.290628978e-08f, -1.291054038e-08f,
+-1.291476624e-08f, -1.291896734e-08f, -1.292314371e-08f, -1.292729533e-08f, -1.293142221e-08f, -1.293552436e-08f, -1.293960177e-08f, -1.294365445e-08f, -1.294768241e-08f, -1.295168563e-08f,
+-1.295566414e-08f, -1.295961792e-08f, -1.296354699e-08f, -1.296745134e-08f, -1.297133098e-08f, -1.297518591e-08f, -1.297901614e-08f, -1.298282166e-08f, -1.298660249e-08f, -1.299035862e-08f,
+-1.299409006e-08f, -1.299779681e-08f, -1.300147888e-08f, -1.300513626e-08f, -1.300876896e-08f, -1.301237699e-08f, -1.301596035e-08f, -1.301951904e-08f, -1.302305306e-08f, -1.302656243e-08f,
+-1.303004713e-08f, -1.303350719e-08f, -1.303694259e-08f, -1.304035335e-08f, -1.304373947e-08f, -1.304710094e-08f, -1.305043779e-08f, -1.305375000e-08f, -1.305703759e-08f, -1.306030056e-08f,
+-1.306353891e-08f, -1.306675265e-08f, -1.306994177e-08f, -1.307310630e-08f, -1.307624622e-08f, -1.307936154e-08f, -1.308245228e-08f, -1.308551842e-08f, -1.308855998e-08f, -1.309157697e-08f,
+-1.309456938e-08f, -1.309753722e-08f, -1.310048050e-08f, -1.310339922e-08f, -1.310629338e-08f, -1.310916299e-08f, -1.311200806e-08f, -1.311482859e-08f, -1.311762458e-08f, -1.312039604e-08f,
+-1.312314297e-08f, -1.312586538e-08f, -1.312856328e-08f, -1.313123667e-08f, -1.313388555e-08f, -1.313650994e-08f, -1.313910982e-08f, -1.314168522e-08f, -1.314423614e-08f, -1.314676257e-08f,
+-1.314926454e-08f, -1.315174203e-08f, -1.315419506e-08f, -1.315662364e-08f, -1.315902776e-08f, -1.316140744e-08f, -1.316376268e-08f, -1.316609349e-08f, -1.316839987e-08f, -1.317068182e-08f,
+-1.317293936e-08f, -1.317517249e-08f, -1.317738121e-08f, -1.317956554e-08f, -1.318172547e-08f, -1.318386101e-08f, -1.318597218e-08f, -1.318805897e-08f, -1.319012139e-08f, -1.319215945e-08f,
+-1.319417315e-08f, -1.319616251e-08f, -1.319812752e-08f, -1.320006819e-08f, -1.320198454e-08f, -1.320387656e-08f, -1.320574426e-08f, -1.320758766e-08f, -1.320940675e-08f, -1.321120154e-08f,
+-1.321297204e-08f, -1.321471826e-08f, -1.321644020e-08f, -1.321813787e-08f, -1.321981127e-08f, -1.322146043e-08f, -1.322308533e-08f, -1.322468598e-08f, -1.322626241e-08f, -1.322781460e-08f,
+-1.322934257e-08f, -1.323084633e-08f, -1.323232589e-08f, -1.323378124e-08f, -1.323521240e-08f, -1.323661937e-08f, -1.323800217e-08f, -1.323936079e-08f, -1.324069526e-08f, -1.324200556e-08f,
+-1.324329172e-08f, -1.324455374e-08f, -1.324579163e-08f, -1.324700539e-08f, -1.324819504e-08f, -1.324936057e-08f, -1.325050200e-08f, -1.325161934e-08f, -1.325271259e-08f, -1.325378177e-08f,
+-1.325482687e-08f, -1.325584791e-08f, -1.325684490e-08f, -1.325781784e-08f, -1.325876674e-08f, -1.325969161e-08f, -1.326059246e-08f, -1.326146929e-08f, -1.326232212e-08f, -1.326315096e-08f,
+-1.326395580e-08f, -1.326473667e-08f, -1.326549356e-08f, -1.326622649e-08f, -1.326693546e-08f, -1.326762048e-08f, -1.326828157e-08f, -1.326891873e-08f, -1.326953197e-08f, -1.327012130e-08f,
+-1.327068672e-08f, -1.327122825e-08f, -1.327174589e-08f, -1.327223966e-08f, -1.327270956e-08f, -1.327315560e-08f, -1.327357779e-08f, -1.327397614e-08f, -1.327435065e-08f, -1.327470135e-08f,
+-1.327502823e-08f, -1.327533131e-08f, -1.327561059e-08f, -1.327586608e-08f, -1.327609780e-08f, -1.327630575e-08f, -1.327648995e-08f, -1.327665039e-08f, -1.327678710e-08f, -1.327690008e-08f,
+-1.327698933e-08f, -1.327705488e-08f, -1.327709673e-08f, -1.327711488e-08f, -1.327710936e-08f, -1.327708016e-08f, -1.327702730e-08f, -1.327695079e-08f, -1.327685063e-08f, -1.327672685e-08f,
+-1.327657944e-08f, -1.327640842e-08f, -1.327621380e-08f, -1.327599558e-08f, -1.327575378e-08f, -1.327548841e-08f, -1.327519948e-08f, -1.327488700e-08f, -1.327455097e-08f, -1.327419142e-08f,
+-1.327380834e-08f, -1.327340176e-08f, -1.327297167e-08f, -1.327251809e-08f, -1.327204104e-08f, -1.327154051e-08f, -1.327101653e-08f, -1.327046910e-08f, -1.326989823e-08f, -1.326930394e-08f,
+-1.326868623e-08f, -1.326804512e-08f, -1.326738061e-08f, -1.326669273e-08f, -1.326598146e-08f, -1.326524684e-08f, -1.326448887e-08f, -1.326370756e-08f, -1.326290291e-08f, -1.326207496e-08f,
+-1.326122369e-08f, -1.326034913e-08f, -1.325945129e-08f, -1.325853017e-08f, -1.325758580e-08f, -1.325661817e-08f, -1.325562730e-08f, -1.325461321e-08f, -1.325357590e-08f, -1.325251539e-08f,
+-1.325143168e-08f, -1.325032479e-08f, -1.324919473e-08f, -1.324804152e-08f, -1.324686515e-08f, -1.324566565e-08f, -1.324444303e-08f, -1.324319730e-08f, -1.324192846e-08f, -1.324063654e-08f,
+-1.323932154e-08f, -1.323798348e-08f, -1.323662237e-08f, -1.323523821e-08f, -1.323383103e-08f, -1.323240083e-08f, -1.323094762e-08f, -1.322947142e-08f, -1.322797225e-08f, -1.322645010e-08f,
+-1.322490500e-08f, -1.322333696e-08f, -1.322174598e-08f, -1.322013209e-08f, -1.321849529e-08f, -1.321683559e-08f, -1.321515302e-08f, -1.321344757e-08f, -1.321171927e-08f, -1.320996813e-08f,
+-1.320819415e-08f, -1.320639735e-08f, -1.320457775e-08f, -1.320273536e-08f, -1.320087018e-08f, -1.319898224e-08f, -1.319707154e-08f, -1.319513810e-08f, -1.319318193e-08f, -1.319120304e-08f,
+-1.318920145e-08f, -1.318717717e-08f, -1.318513022e-08f, -1.318306059e-08f, -1.318096832e-08f, -1.317885341e-08f, -1.317671587e-08f, -1.317455573e-08f, -1.317237298e-08f, -1.317016765e-08f,
+-1.316793975e-08f, -1.316568928e-08f, -1.316341628e-08f, -1.316112074e-08f, -1.315880268e-08f, -1.315646212e-08f, -1.315409907e-08f, -1.315171354e-08f, -1.314930555e-08f, -1.314687510e-08f,
+-1.314442222e-08f, -1.314194692e-08f, -1.313944920e-08f, -1.313692910e-08f, -1.313438660e-08f, -1.313182175e-08f, -1.312923454e-08f, -1.312662498e-08f, -1.312399311e-08f, -1.312133892e-08f,
+-1.311866243e-08f, -1.311596366e-08f, -1.311324262e-08f, -1.311049932e-08f, -1.310773378e-08f, -1.310494602e-08f, -1.310213604e-08f, -1.309930386e-08f, -1.309644950e-08f, -1.309357297e-08f,
+-1.309067428e-08f, -1.308775345e-08f, -1.308481050e-08f, -1.308184543e-08f, -1.307885826e-08f, -1.307584901e-08f, -1.307281770e-08f, -1.306976432e-08f, -1.306668891e-08f, -1.306359148e-08f,
+-1.306047203e-08f, -1.305733059e-08f, -1.305416717e-08f, -1.305098178e-08f, -1.304777444e-08f, -1.304454517e-08f, -1.304129398e-08f, -1.303802088e-08f, -1.303472588e-08f, -1.303140902e-08f,
+-1.302807029e-08f, -1.302470972e-08f, -1.302132731e-08f, -1.301792309e-08f, -1.301449707e-08f, -1.301104926e-08f, -1.300757969e-08f, -1.300408836e-08f, -1.300057529e-08f, -1.299704050e-08f,
+-1.299348400e-08f, -1.298990581e-08f, -1.298630593e-08f, -1.298268440e-08f, -1.297904122e-08f, -1.297537641e-08f, -1.297168999e-08f, -1.296798196e-08f, -1.296425235e-08f, -1.296050118e-08f,
+-1.295672845e-08f, -1.295293418e-08f, -1.294911839e-08f, -1.294528110e-08f, -1.294142232e-08f, -1.293754207e-08f, -1.293364036e-08f, -1.292971720e-08f, -1.292577262e-08f, -1.292180664e-08f,
+-1.291781926e-08f, -1.291381050e-08f, -1.290978038e-08f, -1.290572891e-08f, -1.290165612e-08f, -1.289756202e-08f, -1.289344661e-08f, -1.288930993e-08f, -1.288515199e-08f, -1.288097280e-08f,
+-1.287677237e-08f, -1.287255073e-08f, -1.286830790e-08f, -1.286404388e-08f, -1.285975870e-08f, -1.285545237e-08f, -1.285112491e-08f, -1.284677633e-08f, -1.284240666e-08f, -1.283801590e-08f,
+-1.283360407e-08f, -1.282917120e-08f, -1.282471730e-08f, -1.282024238e-08f, -1.281574647e-08f, -1.281122957e-08f, -1.280669171e-08f, -1.280213290e-08f, -1.279755316e-08f, -1.279295251e-08f,
+-1.278833096e-08f, -1.278368853e-08f, -1.277902524e-08f, -1.277434111e-08f, -1.276963614e-08f, -1.276491037e-08f, -1.276016380e-08f, -1.275539646e-08f, -1.275060836e-08f, -1.274579951e-08f,
+-1.274096994e-08f, -1.273611967e-08f, -1.273124870e-08f, -1.272635707e-08f, -1.272144477e-08f, -1.271651184e-08f, -1.271155830e-08f, -1.270658414e-08f, -1.270158941e-08f, -1.269657411e-08f,
+-1.269153825e-08f, -1.268648187e-08f, -1.268140497e-08f, -1.267630758e-08f, -1.267118971e-08f, -1.266605137e-08f, -1.266089260e-08f, -1.265571340e-08f, -1.265051379e-08f, -1.264529379e-08f,
+-1.264005342e-08f, -1.263479270e-08f, -1.262951165e-08f, -1.262421027e-08f, -1.261888860e-08f, -1.261354665e-08f, -1.260818443e-08f, -1.260280197e-08f, -1.259739928e-08f, -1.259197638e-08f,
+-1.258653330e-08f, -1.258107004e-08f, -1.257558663e-08f, -1.257008308e-08f, -1.256455942e-08f, -1.255901565e-08f, -1.255345181e-08f, -1.254786791e-08f, -1.254226396e-08f, -1.253663999e-08f,
+-1.253099601e-08f, -1.252533204e-08f, -1.251964811e-08f, -1.251394422e-08f, -1.250822041e-08f, -1.250247668e-08f, -1.249671306e-08f, -1.249092956e-08f, -1.248512620e-08f, -1.247930301e-08f,
+-1.247346000e-08f, -1.246759718e-08f, -1.246171459e-08f, -1.245581223e-08f, -1.244989013e-08f, -1.244394831e-08f, -1.243798678e-08f, -1.243200556e-08f, -1.242600467e-08f, -1.241998414e-08f,
+-1.241394398e-08f, -1.240788421e-08f, -1.240180484e-08f, -1.239570591e-08f, -1.238958742e-08f, -1.238344940e-08f, -1.237729187e-08f, -1.237111484e-08f, -1.236491833e-08f, -1.235870237e-08f,
+-1.235246697e-08f, -1.234621216e-08f, -1.233993794e-08f, -1.233364435e-08f, -1.232733140e-08f, -1.232099911e-08f, -1.231464750e-08f, -1.230827659e-08f, -1.230188640e-08f, -1.229547695e-08f,
+-1.228904826e-08f, -1.228260035e-08f, -1.227613323e-08f, -1.226964693e-08f, -1.226314147e-08f, -1.225661687e-08f, -1.225007315e-08f, -1.224351032e-08f, -1.223692841e-08f, -1.223032743e-08f,
+-1.222370742e-08f, -1.221706838e-08f, -1.221041033e-08f, -1.220373330e-08f, -1.219703731e-08f, -1.219032238e-08f, -1.218358853e-08f, -1.217683577e-08f, -1.217006412e-08f, -1.216327362e-08f,
+-1.215646427e-08f, -1.214963610e-08f, -1.214278913e-08f, -1.213592338e-08f, -1.212903887e-08f, -1.212213561e-08f, -1.211521364e-08f, -1.210827296e-08f, -1.210131361e-08f, -1.209433559e-08f,
+-1.208733894e-08f, -1.208032367e-08f, -1.207328980e-08f, -1.206623735e-08f, -1.205916634e-08f, -1.205207680e-08f, -1.204496875e-08f, -1.203784219e-08f, -1.203069717e-08f, -1.202353369e-08f,
+-1.201635178e-08f, -1.200915145e-08f, -1.200193274e-08f, -1.199469565e-08f, -1.198744021e-08f, -1.198016645e-08f, -1.197287437e-08f, -1.196556401e-08f, -1.195823538e-08f, -1.195088851e-08f,
+-1.194352341e-08f, -1.193614011e-08f, -1.192873863e-08f, -1.192131898e-08f, -1.191388120e-08f, -1.190642530e-08f, -1.189895129e-08f, -1.189145921e-08f, -1.188394908e-08f, -1.187642091e-08f,
+-1.186887472e-08f, -1.186131055e-08f, -1.185372840e-08f, -1.184612831e-08f, -1.183851028e-08f, -1.183087435e-08f, -1.182322053e-08f, -1.181554885e-08f, -1.180785933e-08f, -1.180015198e-08f,
+-1.179242683e-08f, -1.178468391e-08f, -1.177692323e-08f, -1.176914481e-08f, -1.176134868e-08f, -1.175353485e-08f, -1.174570336e-08f, -1.173785421e-08f, -1.172998744e-08f, -1.172210307e-08f,
+-1.171420110e-08f, -1.170628158e-08f, -1.169834451e-08f, -1.169038993e-08f, -1.168241785e-08f, -1.167442829e-08f, -1.166642128e-08f, -1.165839684e-08f, -1.165035499e-08f, -1.164229575e-08f,
+-1.163421914e-08f, -1.162612519e-08f, -1.161801392e-08f, -1.160988535e-08f, -1.160173949e-08f, -1.159357639e-08f, -1.158539605e-08f, -1.157719849e-08f, -1.156898375e-08f, -1.156075184e-08f,
+-1.155250278e-08f, -1.154423660e-08f, -1.153595332e-08f, -1.152765296e-08f, -1.151933554e-08f, -1.151100109e-08f, -1.150264962e-08f, -1.149428117e-08f, -1.148589575e-08f, -1.147749338e-08f,
+-1.146907409e-08f, -1.146063790e-08f, -1.145218483e-08f, -1.144371490e-08f, -1.143522814e-08f, -1.142672457e-08f, -1.141820421e-08f, -1.140966709e-08f, -1.140111322e-08f, -1.139254263e-08f,
+-1.138395534e-08f, -1.137535138e-08f, -1.136673077e-08f, -1.135809352e-08f, -1.134943967e-08f, -1.134076923e-08f, -1.133208223e-08f, -1.132337869e-08f, -1.131465863e-08f, -1.130592208e-08f,
+-1.129716906e-08f, -1.128839959e-08f, -1.127961369e-08f, -1.127081139e-08f, -1.126199271e-08f, -1.125315767e-08f, -1.124430630e-08f, -1.123543862e-08f, -1.122655465e-08f, -1.121765442e-08f,
+-1.120873794e-08f, -1.119980524e-08f, -1.119085635e-08f, -1.118189128e-08f, -1.117291007e-08f, -1.116391273e-08f, -1.115489928e-08f, -1.114586975e-08f, -1.113682417e-08f, -1.112776255e-08f,
+-1.111868492e-08f, -1.110959130e-08f, -1.110048172e-08f, -1.109135619e-08f, -1.108221475e-08f, -1.107305741e-08f, -1.106388420e-08f, -1.105469514e-08f, -1.104549026e-08f, -1.103626958e-08f,
+-1.102703311e-08f, -1.101778090e-08f, -1.100851295e-08f, -1.099922929e-08f, -1.098992995e-08f, -1.098061495e-08f, -1.097128431e-08f, -1.096193806e-08f, -1.095257622e-08f, -1.094319881e-08f,
+-1.093380586e-08f, -1.092439738e-08f, -1.091497341e-08f, -1.090553397e-08f, -1.089607908e-08f, -1.088660877e-08f, -1.087712305e-08f, -1.086762196e-08f, -1.085810551e-08f, -1.084857374e-08f,
+-1.083902665e-08f, -1.082946429e-08f, -1.081988666e-08f, -1.081029380e-08f, -1.080068573e-08f, -1.079106247e-08f, -1.078142405e-08f, -1.077177049e-08f, -1.076210182e-08f, -1.075241805e-08f,
+-1.074271921e-08f, -1.073300533e-08f, -1.072327643e-08f, -1.071353254e-08f, -1.070377367e-08f, -1.069399986e-08f, -1.068421112e-08f, -1.067440748e-08f, -1.066458897e-08f, -1.065475560e-08f,
+-1.064490741e-08f, -1.063504442e-08f, -1.062516665e-08f, -1.061527412e-08f, -1.060536686e-08f, -1.059544489e-08f, -1.058550825e-08f, -1.057555694e-08f, -1.056559100e-08f, -1.055561045e-08f,
+-1.054561532e-08f, -1.053560562e-08f, -1.052558139e-08f, -1.051554265e-08f, -1.050548942e-08f, -1.049542173e-08f, -1.048533959e-08f, -1.047524305e-08f, -1.046513211e-08f, -1.045500681e-08f,
+-1.044486716e-08f, -1.043471320e-08f, -1.042454495e-08f, -1.041436242e-08f, -1.040416566e-08f, -1.039395468e-08f, -1.038372950e-08f, -1.037349015e-08f, -1.036323666e-08f, -1.035296904e-08f,
+-1.034268734e-08f, -1.033239156e-08f, -1.032208173e-08f, -1.031175788e-08f, -1.030142004e-08f, -1.029106822e-08f, -1.028070245e-08f, -1.027032276e-08f, -1.025992917e-08f, -1.024952171e-08f,
+-1.023910040e-08f, -1.022866527e-08f, -1.021821634e-08f, -1.020775363e-08f, -1.019727717e-08f, -1.018678699e-08f, -1.017628311e-08f, -1.016576555e-08f, -1.015523434e-08f, -1.014468951e-08f,
+-1.013413108e-08f, -1.012355907e-08f, -1.011297351e-08f, -1.010237443e-08f, -1.009176185e-08f, -1.008113579e-08f, -1.007049628e-08f, -1.005984334e-08f, -1.004917700e-08f, -1.003849729e-08f,
+-1.002780423e-08f, -1.001709784e-08f, -1.000637816e-08f, -9.995645193e-09f, -9.984898980e-09f, -9.974139543e-09f, -9.963366906e-09f, -9.952581095e-09f, -9.941782134e-09f, -9.930970049e-09f,
+-9.920144865e-09f, -9.909306607e-09f, -9.898455301e-09f, -9.887590971e-09f, -9.876713644e-09f, -9.865823343e-09f, -9.854920095e-09f, -9.844003925e-09f, -9.833074858e-09f, -9.822132920e-09f,
+-9.811178135e-09f, -9.800210530e-09f, -9.789230129e-09f, -9.778236957e-09f, -9.767231041e-09f, -9.756212406e-09f, -9.745181076e-09f, -9.734137078e-09f, -9.723080437e-09f, -9.712011179e-09f,
+-9.700929328e-09f, -9.689834910e-09f, -9.678727951e-09f, -9.667608477e-09f, -9.656476512e-09f, -9.645332082e-09f, -9.634175214e-09f, -9.623005931e-09f, -9.611824261e-09f, -9.600630228e-09f,
+-9.589423858e-09f, -9.578205177e-09f, -9.566974210e-09f, -9.555730983e-09f, -9.544475522e-09f, -9.533207852e-09f, -9.521927998e-09f, -9.510635987e-09f, -9.499331845e-09f, -9.488015596e-09f,
+-9.476687267e-09f, -9.465346883e-09f, -9.453994470e-09f, -9.442630053e-09f, -9.431253660e-09f, -9.419865314e-09f, -9.408465043e-09f, -9.397052871e-09f, -9.385628825e-09f, -9.374192930e-09f,
+-9.362745213e-09f, -9.351285698e-09f, -9.339814412e-09f, -9.328331381e-09f, -9.316836631e-09f, -9.305330187e-09f, -9.293812075e-09f, -9.282282322e-09f, -9.270740952e-09f, -9.259187993e-09f,
+-9.247623469e-09f, -9.236047408e-09f, -9.224459834e-09f, -9.212860774e-09f, -9.201250253e-09f, -9.189628299e-09f, -9.177994935e-09f, -9.166350190e-09f, -9.154694088e-09f, -9.143026656e-09f,
+-9.131347919e-09f, -9.119657905e-09f, -9.107956638e-09f, -9.096244144e-09f, -9.084520451e-09f, -9.072785583e-09f, -9.061039568e-09f, -9.049282430e-09f, -9.037514197e-09f, -9.025734894e-09f,
+-9.013944548e-09f, -9.002143184e-09f, -8.990330829e-09f, -8.978507508e-09f, -8.966673249e-09f, -8.954828077e-09f, -8.942972018e-09f, -8.931105098e-09f, -8.919227344e-09f, -8.907338782e-09f,
+-8.895439439e-09f, -8.883529339e-09f, -8.871608510e-09f, -8.859676978e-09f, -8.847734769e-09f, -8.835781909e-09f, -8.823818425e-09f, -8.811844342e-09f, -8.799859688e-09f, -8.787864488e-09f,
+-8.775858768e-09f, -8.763842556e-09f, -8.751815877e-09f, -8.739778757e-09f, -8.727731223e-09f, -8.715673302e-09f, -8.703605019e-09f, -8.691526401e-09f, -8.679437475e-09f, -8.667338266e-09f,
+-8.655228801e-09f, -8.643109107e-09f, -8.630979209e-09f, -8.618839135e-09f, -8.606688910e-09f, -8.594528562e-09f, -8.582358115e-09f, -8.570177598e-09f, -8.557987036e-09f, -8.545786456e-09f,
+-8.533575884e-09f, -8.521355347e-09f, -8.509124871e-09f, -8.496884482e-09f, -8.484634208e-09f, -8.472374074e-09f, -8.460104107e-09f, -8.447824334e-09f, -8.435534781e-09f, -8.423235474e-09f,
+-8.410926441e-09f, -8.398607707e-09f, -8.386279300e-09f, -8.373941245e-09f, -8.361593569e-09f, -8.349236299e-09f, -8.336869462e-09f, -8.324493084e-09f, -8.312107191e-09f, -8.299711810e-09f,
+-8.287306968e-09f, -8.274892691e-09f, -8.262469006e-09f, -8.250035939e-09f, -8.237593518e-09f, -8.225141768e-09f, -8.212680717e-09f, -8.200210391e-09f, -8.187730816e-09f, -8.175242019e-09f,
+-8.162744027e-09f, -8.150236867e-09f, -8.137720565e-09f, -8.125195148e-09f, -8.112660642e-09f, -8.100117075e-09f, -8.087564472e-09f, -8.075002861e-09f, -8.062432268e-09f, -8.049852721e-09f,
+-8.037264244e-09f, -8.024666866e-09f, -8.012060614e-09f, -7.999445512e-09f, -7.986821590e-09f, -7.974188872e-09f, -7.961547387e-09f, -7.948897160e-09f, -7.936238219e-09f, -7.923570589e-09f,
+-7.910894299e-09f, -7.898209374e-09f, -7.885515842e-09f, -7.872813729e-09f, -7.860103062e-09f, -7.847383867e-09f, -7.834656173e-09f, -7.821920004e-09f, -7.809175388e-09f, -7.796422353e-09f,
+-7.783660924e-09f, -7.770891128e-09f, -7.758112993e-09f, -7.745326544e-09f, -7.732531810e-09f, -7.719728816e-09f, -7.706917590e-09f, -7.694098158e-09f, -7.681270547e-09f, -7.668434784e-09f,
+-7.655590896e-09f, -7.642738909e-09f, -7.629878851e-09f, -7.617010748e-09f, -7.604134628e-09f, -7.591250516e-09f, -7.578358441e-09f, -7.565458428e-09f, -7.552550504e-09f, -7.539634698e-09f,
+-7.526711034e-09f, -7.513779541e-09f, -7.500840244e-09f, -7.487893172e-09f, -7.474938350e-09f, -7.461975806e-09f, -7.449005567e-09f, -7.436027659e-09f, -7.423042109e-09f, -7.410048945e-09f,
+-7.397048193e-09f, -7.384039880e-09f, -7.371024033e-09f, -7.358000678e-09f, -7.344969844e-09f, -7.331931556e-09f, -7.318885841e-09f, -7.305832727e-09f, -7.292772241e-09f, -7.279704408e-09f,
+-7.266629257e-09f, -7.253546814e-09f, -7.240457107e-09f, -7.227360161e-09f, -7.214256004e-09f, -7.201144663e-09f, -7.188026164e-09f, -7.174900536e-09f, -7.161767804e-09f, -7.148627995e-09f,
+-7.135481137e-09f, -7.122327257e-09f, -7.109166381e-09f, -7.095998536e-09f, -7.082823750e-09f, -7.069642048e-09f, -7.056453459e-09f, -7.043258009e-09f, -7.030055726e-09f, -7.016846635e-09f,
+-7.003630764e-09f, -6.990408140e-09f, -6.977178790e-09f, -6.963942740e-09f, -6.950700019e-09f, -6.937450652e-09f, -6.924194667e-09f, -6.910932090e-09f, -6.897662949e-09f, -6.884387271e-09f,
+-6.871105082e-09f, -6.857816410e-09f, -6.844521281e-09f, -6.831219722e-09f, -6.817911761e-09f, -6.804597424e-09f, -6.791276739e-09f, -6.777949731e-09f, -6.764616429e-09f, -6.751276859e-09f,
+-6.737931048e-09f, -6.724579023e-09f, -6.711220812e-09f, -6.697856440e-09f, -6.684485935e-09f, -6.671109324e-09f, -6.657726634e-09f, -6.644337892e-09f, -6.630943125e-09f, -6.617542360e-09f,
+-6.604135623e-09f, -6.590722942e-09f, -6.577304343e-09f, -6.563879855e-09f, -6.550449503e-09f, -6.537013314e-09f, -6.523571316e-09f, -6.510123535e-09f, -6.496669999e-09f, -6.483210734e-09f,
+-6.469745767e-09f, -6.456275126e-09f, -6.442798837e-09f, -6.429316927e-09f, -6.415829423e-09f, -6.402336352e-09f, -6.388837741e-09f, -6.375333617e-09f, -6.361824007e-09f, -6.348308938e-09f,
+-6.334788437e-09f, -6.321262530e-09f, -6.307731245e-09f, -6.294194609e-09f, -6.280652648e-09f, -6.267105390e-09f, -6.253552861e-09f, -6.239995088e-09f, -6.226432099e-09f, -6.212863920e-09f,
+-6.199290578e-09f, -6.185712100e-09f, -6.172128513e-09f, -6.158539844e-09f, -6.144946119e-09f, -6.131347367e-09f, -6.117743613e-09f, -6.104134884e-09f, -6.090521208e-09f, -6.076902611e-09f,
+-6.063279121e-09f, -6.049650764e-09f, -6.036017566e-09f, -6.022379556e-09f, -6.008736760e-09f, -5.995089204e-09f, -5.981436916e-09f, -5.967779922e-09f, -5.954118250e-09f, -5.940451926e-09f,
+-5.926780977e-09f, -5.913105430e-09f, -5.899425312e-09f, -5.885740650e-09f, -5.872051471e-09f, -5.858357801e-09f, -5.844659667e-09f, -5.830957097e-09f, -5.817250116e-09f, -5.803538752e-09f,
+-5.789823033e-09f, -5.776102983e-09f, -5.762378632e-09f, -5.748650004e-09f, -5.734917128e-09f, -5.721180029e-09f, -5.707438735e-09f, -5.693693273e-09f, -5.679943669e-09f, -5.666189950e-09f,
+-5.652432144e-09f, -5.638670276e-09f, -5.624904373e-09f, -5.611134464e-09f, -5.597360573e-09f, -5.583582728e-09f, -5.569800956e-09f, -5.556015284e-09f, -5.542225738e-09f, -5.528432345e-09f,
+-5.514635132e-09f, -5.500834125e-09f, -5.487029352e-09f, -5.473220839e-09f, -5.459408613e-09f, -5.445592701e-09f, -5.431773129e-09f, -5.417949924e-09f, -5.404123113e-09f, -5.390292723e-09f,
+-5.376458779e-09f, -5.362621310e-09f, -5.348780342e-09f, -5.334935901e-09f, -5.321088014e-09f, -5.307236708e-09f, -5.293382009e-09f, -5.279523945e-09f, -5.265662542e-09f, -5.251797826e-09f,
+-5.237929824e-09f, -5.224058563e-09f, -5.210184070e-09f, -5.196306371e-09f, -5.182425493e-09f, -5.168541463e-09f, -5.154654306e-09f, -5.140764051e-09f, -5.126870723e-09f, -5.112974348e-09f,
+-5.099074955e-09f, -5.085172569e-09f, -5.071267216e-09f, -5.057358924e-09f, -5.043447719e-09f, -5.029533628e-09f, -5.015616677e-09f, -5.001696893e-09f, -4.987774302e-09f, -4.973848931e-09f,
+-4.959920806e-09f, -4.945989955e-09f, -4.932056403e-09f, -4.918120177e-09f, -4.904181304e-09f, -4.890239810e-09f, -4.876295721e-09f, -4.862349065e-09f, -4.848399868e-09f, -4.834448155e-09f,
+-4.820493955e-09f, -4.806537292e-09f, -4.792578194e-09f, -4.778616687e-09f, -4.764652798e-09f, -4.750686553e-09f, -4.736717978e-09f, -4.722747100e-09f, -4.708773946e-09f, -4.694798541e-09f,
+-4.680820913e-09f, -4.666841087e-09f, -4.652859090e-09f, -4.638874948e-09f, -4.624888689e-09f, -4.610900337e-09f, -4.596909920e-09f, -4.582917464e-09f, -4.568922996e-09f, -4.554926540e-09f,
+-4.540928125e-09f, -4.526927777e-09f, -4.512925521e-09f, -4.498921383e-09f, -4.484915392e-09f, -4.470907571e-09f, -4.456897949e-09f, -4.442886551e-09f, -4.428873403e-09f, -4.414858533e-09f,
+-4.400841965e-09f, -4.386823726e-09f, -4.372803843e-09f, -4.358782342e-09f, -4.344759249e-09f, -4.330734590e-09f, -4.316708391e-09f, -4.302680679e-09f, -4.288651480e-09f, -4.274620820e-09f,
+-4.260588726e-09f, -4.246555222e-09f, -4.232520337e-09f, -4.218484095e-09f, -4.204446523e-09f, -4.190407647e-09f, -4.176367493e-09f, -4.162326087e-09f, -4.148283456e-09f, -4.134239625e-09f,
+-4.120194621e-09f, -4.106148470e-09f, -4.092101197e-09f, -4.078052829e-09f, -4.064003392e-09f, -4.049952912e-09f, -4.035901415e-09f, -4.021848927e-09f, -4.007795474e-09f, -3.993741083e-09f,
+-3.979685778e-09f, -3.965629586e-09f, -3.951572533e-09f, -3.937514645e-09f, -3.923455949e-09f, -3.909396469e-09f, -3.895336232e-09f, -3.881275263e-09f, -3.867213590e-09f, -3.853151237e-09f,
+-3.839088231e-09f, -3.825024597e-09f, -3.810960362e-09f, -3.796895550e-09f, -3.782830189e-09f, -3.768764304e-09f, -3.754697921e-09f, -3.740631065e-09f, -3.726563762e-09f, -3.712496039e-09f,
+-3.698427921e-09f, -3.684359434e-09f, -3.670290603e-09f, -3.656221455e-09f, -3.642152015e-09f, -3.628082309e-09f, -3.614012363e-09f, -3.599942202e-09f, -3.585871852e-09f, -3.571801339e-09f,
+-3.557730689e-09f, -3.543659926e-09f, -3.529589078e-09f, -3.515518169e-09f, -3.501447226e-09f, -3.487376273e-09f, -3.473305337e-09f, -3.459234443e-09f, -3.445163617e-09f, -3.431092884e-09f,
+-3.417022270e-09f, -3.402951800e-09f, -3.388881501e-09f, -3.374811397e-09f, -3.360741514e-09f, -3.346671878e-09f, -3.332602514e-09f, -3.318533448e-09f, -3.304464706e-09f, -3.290396312e-09f,
+-3.276328292e-09f, -3.262260671e-09f, -3.248193476e-09f, -3.234126732e-09f, -3.220060463e-09f, -3.205994696e-09f, -3.191929455e-09f, -3.177864767e-09f, -3.163800656e-09f, -3.149737149e-09f,
+-3.135674269e-09f, -3.121612043e-09f, -3.107550496e-09f, -3.093489654e-09f, -3.079429541e-09f, -3.065370183e-09f, -3.051311605e-09f, -3.037253832e-09f, -3.023196890e-09f, -3.009140804e-09f,
+-2.995085600e-09f, -2.981031301e-09f, -2.966977934e-09f, -2.952925524e-09f, -2.938874096e-09f, -2.924823676e-09f, -2.910774287e-09f, -2.896725956e-09f, -2.882678707e-09f, -2.868632567e-09f,
+-2.854587559e-09f, -2.840543708e-09f, -2.826501041e-09f, -2.812459582e-09f, -2.798419356e-09f, -2.784380388e-09f, -2.770342704e-09f, -2.756306327e-09f, -2.742271284e-09f, -2.728237598e-09f,
+-2.714205296e-09f, -2.700174402e-09f, -2.686144942e-09f, -2.672116939e-09f, -2.658090419e-09f, -2.644065406e-09f, -2.630041927e-09f, -2.616020005e-09f, -2.601999666e-09f, -2.587980933e-09f,
+-2.573963833e-09f, -2.559948390e-09f, -2.545934629e-09f, -2.531922574e-09f, -2.517912251e-09f, -2.503903684e-09f, -2.489896898e-09f, -2.475891917e-09f, -2.461888767e-09f, -2.447887471e-09f,
+-2.433888056e-09f, -2.419890545e-09f, -2.405894963e-09f, -2.391901335e-09f, -2.377909685e-09f, -2.363920038e-09f, -2.349932419e-09f, -2.335946853e-09f, -2.321963363e-09f, -2.307981974e-09f,
+-2.294002712e-09f, -2.280025600e-09f, -2.266050663e-09f, -2.252077926e-09f, -2.238107412e-09f, -2.224139147e-09f, -2.210173156e-09f, -2.196209461e-09f, -2.182248089e-09f, -2.168289063e-09f,
+-2.154332407e-09f, -2.140378147e-09f, -2.126426306e-09f, -2.112476910e-09f, -2.098529981e-09f, -2.084585545e-09f, -2.070643625e-09f, -2.056704247e-09f, -2.042767435e-09f, -2.028833212e-09f,
+-2.014901603e-09f, -2.000972632e-09f, -1.987046324e-09f, -1.973122702e-09f, -1.959201791e-09f, -1.945283616e-09f, -1.931368199e-09f, -1.917455566e-09f, -1.903545740e-09f, -1.889638746e-09f,
+-1.875734608e-09f, -1.861833349e-09f, -1.847934994e-09f, -1.834039567e-09f, -1.820147092e-09f, -1.806257593e-09f, -1.792371094e-09f, -1.778487619e-09f, -1.764607192e-09f, -1.750729837e-09f,
+-1.736855578e-09f, -1.722984438e-09f, -1.709116442e-09f, -1.695251614e-09f, -1.681389977e-09f, -1.667531556e-09f, -1.653676373e-09f, -1.639824454e-09f, -1.625975821e-09f, -1.612130499e-09f,
+-1.598288512e-09f, -1.584449882e-09f, -1.570614635e-09f, -1.556782793e-09f, -1.542954380e-09f, -1.529129420e-09f, -1.515307937e-09f, -1.501489955e-09f, -1.487675496e-09f, -1.473864585e-09f,
+-1.460057245e-09f, -1.446253500e-09f, -1.432453374e-09f, -1.418656890e-09f, -1.404864071e-09f, -1.391074941e-09f, -1.377289524e-09f, -1.363507842e-09f, -1.349729921e-09f, -1.335955782e-09f,
+-1.322185450e-09f, -1.308418947e-09f, -1.294656298e-09f, -1.280897526e-09f, -1.267142654e-09f, -1.253391705e-09f, -1.239644702e-09f, -1.225901670e-09f, -1.212162631e-09f, -1.198427609e-09f,
+-1.184696627e-09f, -1.170969708e-09f, -1.157246875e-09f, -1.143528152e-09f, -1.129813562e-09f, -1.116103127e-09f, -1.102396872e-09f, -1.088694819e-09f, -1.074996992e-09f, -1.061303413e-09f,
+-1.047614105e-09f, -1.033929093e-09f, -1.020248398e-09f, -1.006572044e-09f, -9.929000534e-10f, -9.792324499e-10f, -9.655692561e-10f, -9.519104951e-10f, -9.382561898e-10f, -9.246063631e-10f,
+-9.109610379e-10f, -8.973202372e-10f, -8.836839837e-10f, -8.700523003e-10f, -8.564252100e-10f, -8.428027354e-10f, -8.291848994e-10f, -8.155717248e-10f, -8.019632343e-10f, -7.883594507e-10f,
+-7.747603967e-10f, -7.611660950e-10f, -7.475765683e-10f, -7.339918393e-10f, -7.204119305e-10f, -7.068368647e-10f, -6.932666645e-10f, -6.797013524e-10f, -6.661409510e-10f, -6.525854829e-10f,
+-6.390349705e-10f, -6.254894366e-10f, -6.119489034e-10f, -5.984133935e-10f, -5.848829294e-10f, -5.713575335e-10f, -5.578372283e-10f, -5.443220360e-10f, -5.308119792e-10f, -5.173070801e-10f,
+-5.038073611e-10f, -4.903128446e-10f, -4.768235528e-10f, -4.633395081e-10f, -4.498607326e-10f, -4.363872487e-10f, -4.229190786e-10f, -4.094562444e-10f, -3.959987684e-10f, -3.825466727e-10f,
+-3.690999796e-10f, -3.556587110e-10f, -3.422228892e-10f, -3.287925362e-10f, -3.153676740e-10f, -3.019483248e-10f, -2.885345106e-10f, -2.751262533e-10f, -2.617235750e-10f, -2.483264976e-10f,
+-2.349350431e-10f, -2.215492335e-10f, -2.081690905e-10f, -1.947946362e-10f, -1.814258924e-10f, -1.680628809e-10f, -1.547056236e-10f, -1.413541422e-10f, -1.280084586e-10f, -1.146685946e-10f,
+-1.013345718e-10f, -8.800641207e-11f, -7.468413705e-11f, -6.136776843e-11f, -4.805732789e-11f, -3.475283708e-11f, -2.145431761e-11f, -8.161791107e-12f, 5.124720860e-12f, 1.840519672e-11f,
+3.167961493e-11f, 4.494795397e-11f, 5.821019233e-11f, 7.146630853e-11f, 8.471628111e-11f, 9.796008864e-11f, 1.111977097e-10f, 1.244291228e-10f, 1.376543068e-10f, 1.508732401e-10f,
+1.640859014e-10f, 1.772922695e-10f, 1.904923230e-10f, 2.036860407e-10f, 2.168734013e-10f, 2.300543836e-10f, 2.432289664e-10f, 2.563971285e-10f, 2.695588487e-10f, 2.827141058e-10f,
+2.958628789e-10f, 3.090051466e-10f, 3.221408880e-10f, 3.352700821e-10f, 3.483927077e-10f, 3.615087438e-10f, 3.746181695e-10f, 3.877209638e-10f, 4.008171057e-10f, 4.139065742e-10f,
+4.269893486e-10f, 4.400654078e-10f, 4.531347311e-10f, 4.661972975e-10f, 4.792530863e-10f, 4.923020767e-10f, 5.053442478e-10f, 5.183795789e-10f, 5.314080493e-10f, 5.444296382e-10f,
+5.574443251e-10f, 5.704520891e-10f, 5.834529096e-10f, 5.964467661e-10f, 6.094336379e-10f, 6.224135044e-10f, 6.353863450e-10f, 6.483521393e-10f, 6.613108667e-10f, 6.742625068e-10f,
+6.872070389e-10f, 7.001444428e-10f, 7.130746979e-10f, 7.259977838e-10f, 7.389136803e-10f, 7.518223668e-10f, 7.647238231e-10f, 7.776180288e-10f, 7.905049637e-10f, 8.033846075e-10f,
+8.162569399e-10f, 8.291219408e-10f, 8.419795898e-10f, 8.548298668e-10f, 8.676727517e-10f, 8.805082243e-10f, 8.933362645e-10f, 9.061568523e-10f, 9.189699674e-10f, 9.317755900e-10f,
+9.445737000e-10f, 9.573642773e-10f, 9.701473020e-10f, 9.829227541e-10f, 9.956906137e-10f, 1.008450861e-09f, 1.021203476e-09f, 1.033948439e-09f, 1.046685729e-09f, 1.059415328e-09f,
+1.072137216e-09f, 1.084851372e-09f, 1.097557776e-09f, 1.110256410e-09f, 1.122947254e-09f, 1.135630287e-09f, 1.148305490e-09f, 1.160972844e-09f, 1.173632328e-09f, 1.186283924e-09f,
+1.198927612e-09f, 1.211563371e-09f, 1.224191184e-09f, 1.236811029e-09f, 1.249422888e-09f, 1.262026742e-09f, 1.274622570e-09f, 1.287210353e-09f, 1.299790073e-09f, 1.312361709e-09f,
+1.324925243e-09f, 1.337480654e-09f, 1.350027925e-09f, 1.362567035e-09f, 1.375097965e-09f, 1.387620696e-09f, 1.400135209e-09f, 1.412641485e-09f, 1.425139504e-09f, 1.437629248e-09f,
+1.450110697e-09f, 1.462583833e-09f, 1.475048635e-09f, 1.487505086e-09f, 1.499953166e-09f, 1.512392856e-09f, 1.524824138e-09f, 1.537246992e-09f, 1.549661399e-09f, 1.562067341e-09f,
+1.574464799e-09f, 1.586853753e-09f, 1.599234186e-09f, 1.611606078e-09f, 1.623969411e-09f, 1.636324165e-09f, 1.648670323e-09f, 1.661007864e-09f, 1.673336772e-09f, 1.685657027e-09f,
+1.697968610e-09f, 1.710271503e-09f, 1.722565688e-09f, 1.734851145e-09f, 1.747127857e-09f, 1.759395805e-09f, 1.771654970e-09f, 1.783905333e-09f, 1.796146878e-09f, 1.808379584e-09f,
+1.820603434e-09f, 1.832818410e-09f, 1.845024492e-09f, 1.857221664e-09f, 1.869409906e-09f, 1.881589200e-09f, 1.893759528e-09f, 1.905920872e-09f, 1.918073214e-09f, 1.930216535e-09f,
+1.942350818e-09f, 1.954476044e-09f, 1.966592195e-09f, 1.978699254e-09f, 1.990797201e-09f, 2.002886020e-09f, 2.014965692e-09f, 2.027036199e-09f, 2.039097524e-09f, 2.051149648e-09f,
+2.063192554e-09f, 2.075226223e-09f, 2.087250638e-09f, 2.099265782e-09f, 2.111271635e-09f, 2.123268182e-09f, 2.135255403e-09f, 2.147233281e-09f, 2.159201799e-09f, 2.171160938e-09f,
+2.183110682e-09f, 2.195051013e-09f, 2.206981912e-09f, 2.218903363e-09f, 2.230815348e-09f, 2.242717850e-09f, 2.254610851e-09f, 2.266494333e-09f, 2.278368279e-09f, 2.290232672e-09f,
+2.302087495e-09f, 2.313932729e-09f, 2.325768359e-09f, 2.337594366e-09f, 2.349410733e-09f, 2.361217443e-09f, 2.373014478e-09f, 2.384801823e-09f, 2.396579458e-09f, 2.408347368e-09f,
+2.420105535e-09f, 2.431853942e-09f, 2.443592573e-09f, 2.455321409e-09f, 2.467040434e-09f, 2.478749631e-09f, 2.490448983e-09f, 2.502138473e-09f, 2.513818084e-09f, 2.525487800e-09f,
+2.537147602e-09f, 2.548797476e-09f, 2.560437404e-09f, 2.572067368e-09f, 2.583687353e-09f, 2.595297341e-09f, 2.606897316e-09f, 2.618487262e-09f, 2.630067160e-09f, 2.641636996e-09f,
+2.653196752e-09f, 2.664746412e-09f, 2.676285959e-09f, 2.687815377e-09f, 2.699334649e-09f, 2.710843759e-09f, 2.722342690e-09f, 2.733831426e-09f, 2.745309951e-09f, 2.756778248e-09f,
+2.768236300e-09f, 2.779684092e-09f, 2.791121607e-09f, 2.802548830e-09f, 2.813965743e-09f, 2.825372330e-09f, 2.836768576e-09f, 2.848154465e-09f, 2.859529979e-09f, 2.870895103e-09f,
+2.882249822e-09f, 2.893594118e-09f, 2.904927976e-09f, 2.916251380e-09f, 2.927564314e-09f, 2.938866762e-09f, 2.950158708e-09f, 2.961440137e-09f, 2.972711031e-09f, 2.983971377e-09f,
+2.995221157e-09f, 3.006460356e-09f, 3.017688958e-09f, 3.028906947e-09f, 3.040114309e-09f, 3.051311026e-09f, 3.062497084e-09f, 3.073672467e-09f, 3.084837159e-09f, 3.095991145e-09f,
+3.107134409e-09f, 3.118266936e-09f, 3.129388710e-09f, 3.140499715e-09f, 3.151599937e-09f, 3.162689360e-09f, 3.173767969e-09f, 3.184835747e-09f, 3.195892680e-09f, 3.206938753e-09f,
+3.217973951e-09f, 3.228998257e-09f, 3.240011657e-09f, 3.251014136e-09f, 3.262005678e-09f, 3.272986269e-09f, 3.283955893e-09f, 3.294914535e-09f, 3.305862181e-09f, 3.316798814e-09f,
+3.327724421e-09f, 3.338638986e-09f, 3.349542494e-09f, 3.360434930e-09f, 3.371316280e-09f, 3.382186528e-09f, 3.393045660e-09f, 3.403893661e-09f, 3.414730516e-09f, 3.425556211e-09f,
+3.436370730e-09f, 3.447174059e-09f, 3.457966183e-09f, 3.468747089e-09f, 3.479516760e-09f, 3.490275183e-09f, 3.501022342e-09f, 3.511758224e-09f, 3.522482814e-09f, 3.533196097e-09f,
+3.543898060e-09f, 3.554588687e-09f, 3.565267964e-09f, 3.575935876e-09f, 3.586592411e-09f, 3.597237552e-09f, 3.607871286e-09f, 3.618493599e-09f, 3.629104476e-09f, 3.639703903e-09f,
+3.650291867e-09f, 3.660868352e-09f, 3.671433345e-09f, 3.681986831e-09f, 3.692528798e-09f, 3.703059229e-09f, 3.713578113e-09f, 3.724085433e-09f, 3.734581178e-09f, 3.745065332e-09f,
+3.755537882e-09f, 3.765998814e-09f, 3.776448114e-09f, 3.786885768e-09f, 3.797311762e-09f, 3.807726084e-09f, 3.818128718e-09f, 3.828519652e-09f, 3.838898871e-09f, 3.849266363e-09f,
+3.859622113e-09f, 3.869966107e-09f, 3.880298333e-09f, 3.890618776e-09f, 3.900927424e-09f, 3.911224262e-09f, 3.921509278e-09f, 3.931782457e-09f, 3.942043787e-09f, 3.952293254e-09f,
+3.962530845e-09f, 3.972756546e-09f, 3.982970344e-09f, 3.993172227e-09f, 4.003362180e-09f, 4.013540190e-09f, 4.023706245e-09f, 4.033860331e-09f, 4.044002435e-09f, 4.054132543e-09f,
+4.064250644e-09f, 4.074356724e-09f, 4.084450770e-09f, 4.094532768e-09f, 4.104602707e-09f, 4.114660573e-09f, 4.124706352e-09f, 4.134740034e-09f, 4.144761603e-09f, 4.154771049e-09f,
+4.164768357e-09f, 4.174753515e-09f, 4.184726511e-09f, 4.194687332e-09f, 4.204635965e-09f, 4.214572397e-09f, 4.224496616e-09f, 4.234408610e-09f, 4.244308365e-09f, 4.254195869e-09f,
+4.264071111e-09f, 4.273934076e-09f, 4.283784754e-09f, 4.293623130e-09f, 4.303449194e-09f, 4.313262933e-09f, 4.323064334e-09f, 4.332853385e-09f, 4.342630074e-09f, 4.352394389e-09f,
+4.362146317e-09f, 4.371885847e-09f, 4.381612965e-09f, 4.391327661e-09f, 4.401029921e-09f, 4.410719734e-09f, 4.420397088e-09f, 4.430061971e-09f, 4.439714371e-09f, 4.449354275e-09f,
+4.458981672e-09f, 4.468596551e-09f, 4.478198899e-09f, 4.487788704e-09f, 4.497365954e-09f, 4.506930639e-09f, 4.516482745e-09f, 4.526022262e-09f, 4.535549177e-09f, 4.545063480e-09f,
+4.554565158e-09f, 4.564054199e-09f, 4.573530593e-09f, 4.582994327e-09f, 4.592445390e-09f, 4.601883771e-09f, 4.611309459e-09f, 4.620722440e-09f, 4.630122706e-09f, 4.639510243e-09f,
+4.648885040e-09f, 4.658247088e-09f, 4.667596373e-09f, 4.676932884e-09f, 4.686256612e-09f, 4.695567543e-09f, 4.704865668e-09f, 4.714150975e-09f, 4.723423453e-09f, 4.732683090e-09f,
+4.741929876e-09f, 4.751163800e-09f, 4.760384851e-09f, 4.769593018e-09f, 4.778788289e-09f, 4.787970654e-09f, 4.797140102e-09f, 4.806296623e-09f, 4.815440204e-09f, 4.824570837e-09f,
+4.833688509e-09f, 4.842793210e-09f, 4.851884930e-09f, 4.860963657e-09f, 4.870029381e-09f, 4.879082091e-09f, 4.888121778e-09f, 4.897148430e-09f, 4.906162036e-09f, 4.915162586e-09f,
+4.924150071e-09f, 4.933124478e-09f, 4.942085799e-09f, 4.951034022e-09f, 4.959969137e-09f, 4.968891134e-09f, 4.977800002e-09f, 4.986695731e-09f, 4.995578312e-09f, 5.004447733e-09f,
+5.013303985e-09f, 5.022147057e-09f, 5.030976940e-09f, 5.039793622e-09f, 5.048597095e-09f, 5.057387348e-09f, 5.066164371e-09f, 5.074928154e-09f, 5.083678687e-09f, 5.092415961e-09f,
+5.101139965e-09f, 5.109850689e-09f, 5.118548124e-09f, 5.127232260e-09f, 5.135903086e-09f, 5.144560594e-09f, 5.153204774e-09f, 5.161835615e-09f, 5.170453109e-09f, 5.179057246e-09f,
+5.187648015e-09f, 5.196225408e-09f, 5.204789415e-09f, 5.213340026e-09f, 5.221877232e-09f, 5.230401023e-09f, 5.238911390e-09f, 5.247408325e-09f, 5.255891816e-09f, 5.264361855e-09f,
+5.272818433e-09f, 5.281261540e-09f, 5.289691167e-09f, 5.298107305e-09f, 5.306509945e-09f, 5.314899077e-09f, 5.323274693e-09f, 5.331636783e-09f, 5.339985338e-09f, 5.348320349e-09f,
+5.356641807e-09f, 5.364949704e-09f, 5.373244030e-09f, 5.381524776e-09f, 5.389791933e-09f, 5.398045493e-09f, 5.406285446e-09f, 5.414511785e-09f, 5.422724499e-09f, 5.430923581e-09f,
+5.439109021e-09f, 5.447280812e-09f, 5.455438943e-09f, 5.463583407e-09f, 5.471714195e-09f, 5.479831299e-09f, 5.487934709e-09f, 5.496024418e-09f, 5.504100417e-09f, 5.512162697e-09f,
+5.520211250e-09f, 5.528246068e-09f, 5.536267142e-09f, 5.544274464e-09f, 5.552268026e-09f, 5.560247818e-09f, 5.568213834e-09f, 5.576166065e-09f, 5.584104502e-09f, 5.592029138e-09f,
+5.599939964e-09f, 5.607836973e-09f, 5.615720155e-09f, 5.623589504e-09f, 5.631445011e-09f, 5.639286668e-09f, 5.647114467e-09f, 5.654928400e-09f, 5.662728460e-09f, 5.670514638e-09f,
+5.678286927e-09f, 5.686045319e-09f, 5.693789805e-09f, 5.701520379e-09f, 5.709237033e-09f, 5.716939758e-09f, 5.724628548e-09f, 5.732303394e-09f, 5.739964289e-09f, 5.747611226e-09f,
+5.755244197e-09f, 5.762863194e-09f, 5.770468209e-09f, 5.778059237e-09f, 5.785636268e-09f, 5.793199295e-09f, 5.800748312e-09f, 5.808283311e-09f, 5.815804285e-09f, 5.823311226e-09f,
+5.830804126e-09f, 5.838282980e-09f, 5.845747779e-09f, 5.853198517e-09f, 5.860635186e-09f, 5.868057780e-09f, 5.875466290e-09f, 5.882860711e-09f, 5.890241035e-09f, 5.897607255e-09f,
+5.904959364e-09f, 5.912297355e-09f, 5.919621222e-09f, 5.926930958e-09f, 5.934226555e-09f, 5.941508006e-09f, 5.948775306e-09f, 5.956028447e-09f, 5.963267423e-09f, 5.970492227e-09f,
+5.977702852e-09f, 5.984899292e-09f, 5.992081539e-09f, 5.999249589e-09f, 6.006403433e-09f, 6.013543065e-09f, 6.020668480e-09f, 6.027779669e-09f, 6.034876628e-09f, 6.041959350e-09f,
+6.049027828e-09f, 6.056082056e-09f, 6.063122027e-09f, 6.070147736e-09f, 6.077159176e-09f, 6.084156341e-09f, 6.091139225e-09f, 6.098107821e-09f, 6.105062124e-09f, 6.112002127e-09f,
+6.118927824e-09f, 6.125839210e-09f, 6.132736278e-09f, 6.139619022e-09f, 6.146487436e-09f, 6.153341514e-09f, 6.160181252e-09f, 6.167006641e-09f, 6.173817678e-09f, 6.180614355e-09f,
+6.187396668e-09f, 6.194164610e-09f, 6.200918176e-09f, 6.207657360e-09f, 6.214382156e-09f, 6.221092559e-09f, 6.227788563e-09f, 6.234470163e-09f, 6.241137353e-09f, 6.247790128e-09f,
+6.254428481e-09f, 6.261052408e-09f, 6.267661904e-09f, 6.274256962e-09f, 6.280837577e-09f, 6.287403745e-09f, 6.293955459e-09f, 6.300492715e-09f, 6.307015508e-09f, 6.313523831e-09f,
+6.320017680e-09f, 6.326497050e-09f, 6.332961935e-09f, 6.339412332e-09f, 6.345848233e-09f, 6.352269635e-09f, 6.358676532e-09f, 6.365068920e-09f, 6.371446793e-09f, 6.377810146e-09f,
+6.384158975e-09f, 6.390493275e-09f, 6.396813041e-09f, 6.403118268e-09f, 6.409408952e-09f, 6.415685087e-09f, 6.421946668e-09f, 6.428193693e-09f, 6.434426154e-09f, 6.440644049e-09f,
+6.446847372e-09f, 6.453036118e-09f, 6.459210284e-09f, 6.465369864e-09f, 6.471514855e-09f, 6.477645252e-09f, 6.483761050e-09f, 6.489862244e-09f, 6.495948832e-09f, 6.502020807e-09f,
+6.508078167e-09f, 6.514120906e-09f, 6.520149021e-09f, 6.526162506e-09f, 6.532161359e-09f, 6.538145575e-09f, 6.544115149e-09f, 6.550070078e-09f, 6.556010358e-09f, 6.561935984e-09f,
+6.567846952e-09f, 6.573743259e-09f, 6.579624901e-09f, 6.585491873e-09f, 6.591344172e-09f, 6.597181794e-09f, 6.603004735e-09f, 6.608812991e-09f, 6.614606558e-09f, 6.620385433e-09f,
+6.626149612e-09f, 6.631899092e-09f, 6.637633868e-09f, 6.643353936e-09f, 6.649059295e-09f, 6.654749939e-09f, 6.660425865e-09f, 6.666087070e-09f, 6.671733550e-09f, 6.677365302e-09f,
+6.682982323e-09f, 6.688584608e-09f, 6.694172155e-09f, 6.699744960e-09f, 6.705303020e-09f, 6.710846332e-09f, 6.716374892e-09f, 6.721888697e-09f, 6.727387744e-09f, 6.732872030e-09f,
+6.738341552e-09f, 6.743796306e-09f, 6.749236289e-09f, 6.754661499e-09f, 6.760071933e-09f, 6.765467586e-09f, 6.770848457e-09f, 6.776214543e-09f, 6.781565840e-09f, 6.786902346e-09f,
+6.792224058e-09f, 6.797530972e-09f, 6.802823087e-09f, 6.808100400e-09f, 6.813362907e-09f, 6.818610606e-09f, 6.823843495e-09f, 6.829061570e-09f, 6.834264829e-09f, 6.839453270e-09f,
+6.844626890e-09f, 6.849785686e-09f, 6.854929656e-09f, 6.860058798e-09f, 6.865173109e-09f, 6.870272586e-09f, 6.875357227e-09f, 6.880427030e-09f, 6.885481993e-09f, 6.890522113e-09f,
+6.895547387e-09f, 6.900557815e-09f, 6.905553393e-09f, 6.910534119e-09f, 6.915499992e-09f, 6.920451008e-09f, 6.925387166e-09f, 6.930308464e-09f, 6.935214900e-09f, 6.940106472e-09f,
+6.944983178e-09f, 6.949845015e-09f, 6.954691982e-09f, 6.959524077e-09f, 6.964341299e-09f, 6.969143645e-09f, 6.973931113e-09f, 6.978703702e-09f, 6.983461410e-09f, 6.988204235e-09f,
+6.992932176e-09f, 6.997645230e-09f, 7.002343397e-09f, 7.007026674e-09f, 7.011695061e-09f, 7.016348555e-09f, 7.020987155e-09f, 7.025610859e-09f, 7.030219667e-09f, 7.034813575e-09f,
+7.039392585e-09f, 7.043956692e-09f, 7.048505898e-09f, 7.053040199e-09f, 7.057559595e-09f, 7.062064085e-09f, 7.066553666e-09f, 7.071028339e-09f, 7.075488102e-09f, 7.079932954e-09f,
+7.084362893e-09f, 7.088777918e-09f, 7.093178029e-09f, 7.097563225e-09f, 7.101933504e-09f, 7.106288865e-09f, 7.110629308e-09f, 7.114954831e-09f, 7.119265434e-09f, 7.123561115e-09f,
+7.127841874e-09f, 7.132107711e-09f, 7.136358624e-09f, 7.140594612e-09f, 7.144815675e-09f, 7.149021812e-09f, 7.153213023e-09f, 7.157389306e-09f, 7.161550662e-09f, 7.165697089e-09f,
+7.169828587e-09f, 7.173945156e-09f, 7.178046795e-09f, 7.182133503e-09f, 7.186205280e-09f, 7.190262126e-09f, 7.194304041e-09f, 7.198331023e-09f, 7.202343072e-09f, 7.206340189e-09f,
+7.210322373e-09f, 7.214289624e-09f, 7.218241941e-09f, 7.222179324e-09f, 7.226101774e-09f, 7.230009289e-09f, 7.233901870e-09f, 7.237779518e-09f, 7.241642231e-09f, 7.245490009e-09f,
+7.249322854e-09f, 7.253140764e-09f, 7.256943740e-09f, 7.260731782e-09f, 7.264504890e-09f, 7.268263064e-09f, 7.272006304e-09f, 7.275734611e-09f, 7.279447985e-09f, 7.283146426e-09f,
+7.286829934e-09f, 7.290498509e-09f, 7.294152153e-09f, 7.297790865e-09f, 7.301414645e-09f, 7.305023495e-09f, 7.308617414e-09f, 7.312196403e-09f, 7.315760463e-09f, 7.319309594e-09f,
+7.322843796e-09f, 7.326363071e-09f, 7.329867418e-09f, 7.333356839e-09f, 7.336831334e-09f, 7.340290904e-09f, 7.343735549e-09f, 7.347165271e-09f, 7.350580070e-09f, 7.353979946e-09f,
+7.357364902e-09f, 7.360734937e-09f, 7.364090052e-09f, 7.367430249e-09f, 7.370755528e-09f, 7.374065891e-09f, 7.377361338e-09f, 7.380641870e-09f, 7.383907488e-09f, 7.387158195e-09f,
+7.390393989e-09f, 7.393614874e-09f, 7.396820849e-09f, 7.400011916e-09f, 7.403188077e-09f, 7.406349332e-09f, 7.409495683e-09f, 7.412627131e-09f, 7.415743678e-09f, 7.418845324e-09f,
+7.421932072e-09f, 7.425003922e-09f, 7.428060877e-09f, 7.431102936e-09f, 7.434130103e-09f, 7.437142379e-09f, 7.440139764e-09f, 7.443122261e-09f, 7.446089871e-09f, 7.449042596e-09f,
+7.451980438e-09f, 7.454903398e-09f, 7.457811478e-09f, 7.460704679e-09f, 7.463583004e-09f, 7.466446454e-09f, 7.469295032e-09f, 7.472128738e-09f, 7.474947574e-09f, 7.477751544e-09f,
+7.480540648e-09f, 7.483314888e-09f, 7.486074267e-09f, 7.488818787e-09f, 7.491548449e-09f, 7.494263256e-09f, 7.496963209e-09f, 7.499648311e-09f, 7.502318564e-09f, 7.504973971e-09f,
+7.507614532e-09f, 7.510240251e-09f, 7.512851130e-09f, 7.515447171e-09f, 7.518028376e-09f, 7.520594748e-09f, 7.523146290e-09f, 7.525683002e-09f, 7.528204888e-09f, 7.530711951e-09f,
+7.533204192e-09f, 7.535681615e-09f, 7.538144221e-09f, 7.540592014e-09f, 7.543024995e-09f, 7.545443168e-09f, 7.547846535e-09f, 7.550235099e-09f, 7.552608862e-09f, 7.554967827e-09f,
+7.557311997e-09f, 7.559641375e-09f, 7.561955962e-09f, 7.564255764e-09f, 7.566540781e-09f, 7.568811017e-09f, 7.571066474e-09f, 7.573307157e-09f, 7.575533067e-09f, 7.577744207e-09f,
+7.579940581e-09f, 7.582122192e-09f, 7.584289042e-09f, 7.586441135e-09f, 7.588578474e-09f, 7.590701062e-09f, 7.592808901e-09f, 7.594901996e-09f, 7.596980350e-09f, 7.599043965e-09f,
+7.601092845e-09f, 7.603126993e-09f, 7.605146412e-09f, 7.607151107e-09f, 7.609141080e-09f, 7.611116334e-09f, 7.613076873e-09f, 7.615022701e-09f, 7.616953821e-09f, 7.618870236e-09f,
+7.620771949e-09f, 7.622658966e-09f, 7.624531288e-09f, 7.626388920e-09f, 7.628231865e-09f, 7.630060127e-09f, 7.631873710e-09f, 7.633672616e-09f, 7.635456851e-09f, 7.637226417e-09f,
+7.638981319e-09f, 7.640721560e-09f, 7.642447144e-09f, 7.644158075e-09f, 7.645854357e-09f, 7.647535994e-09f, 7.649202989e-09f, 7.650855347e-09f, 7.652493072e-09f, 7.654116167e-09f,
+7.655724636e-09f, 7.657318485e-09f, 7.658897716e-09f, 7.660462333e-09f, 7.662012342e-09f, 7.663547746e-09f, 7.665068550e-09f, 7.666574756e-09f, 7.668066371e-09f, 7.669543398e-09f,
+7.671005841e-09f, 7.672453704e-09f, 7.673886993e-09f, 7.675305711e-09f, 7.676709862e-09f, 7.678099452e-09f, 7.679474484e-09f, 7.680834963e-09f, 7.682180894e-09f, 7.683512281e-09f,
+7.684829128e-09f, 7.686131440e-09f, 7.687419222e-09f, 7.688692479e-09f, 7.689951214e-09f, 7.691195433e-09f, 7.692425140e-09f, 7.693640340e-09f, 7.694841038e-09f, 7.696027239e-09f,
+7.697198947e-09f, 7.698356166e-09f, 7.699498903e-09f, 7.700627162e-09f, 7.701740947e-09f, 7.702840264e-09f, 7.703925118e-09f, 7.704995513e-09f, 7.706051454e-09f, 7.707092947e-09f,
+7.708119997e-09f, 7.709132608e-09f, 7.710130786e-09f, 7.711114536e-09f, 7.712083863e-09f, 7.713038771e-09f, 7.713979267e-09f, 7.714905356e-09f, 7.715817042e-09f, 7.716714331e-09f,
+7.717597229e-09f, 7.718465740e-09f, 7.719319870e-09f, 7.720159625e-09f, 7.720985009e-09f, 7.721796028e-09f, 7.722592687e-09f, 7.723374993e-09f, 7.724142949e-09f, 7.724896563e-09f,
+7.725635840e-09f, 7.726360784e-09f, 7.727071402e-09f, 7.727767699e-09f, 7.728449681e-09f, 7.729117353e-09f, 7.729770722e-09f, 7.730409792e-09f, 7.731034570e-09f, 7.731645061e-09f,
+7.732241271e-09f, 7.732823206e-09f, 7.733390872e-09f, 7.733944274e-09f, 7.734483419e-09f, 7.735008312e-09f, 7.735518959e-09f, 7.736015367e-09f, 7.736497540e-09f, 7.736965486e-09f,
+7.737419209e-09f, 7.737858717e-09f, 7.738284015e-09f, 7.738695109e-09f, 7.739092006e-09f, 7.739474711e-09f, 7.739843231e-09f, 7.740197572e-09f, 7.740537739e-09f, 7.740863740e-09f,
+7.741175581e-09f, 7.741473267e-09f, 7.741756805e-09f, 7.742026202e-09f, 7.742281463e-09f, 7.742522596e-09f, 7.742749606e-09f, 7.742962500e-09f, 7.743161284e-09f, 7.743345966e-09f,
+7.743516550e-09f, 7.743673044e-09f, 7.743815455e-09f, 7.743943788e-09f, 7.744058051e-09f, 7.744158250e-09f, 7.744244392e-09f, 7.744316483e-09f, 7.744374530e-09f, 7.744418540e-09f,
+7.744448519e-09f, 7.744464475e-09f, 7.744466413e-09f, 7.744454341e-09f, 7.744428266e-09f, 7.744388193e-09f, 7.744334132e-09f, 7.744266087e-09f, 7.744184066e-09f, 7.744088076e-09f,
+7.743978124e-09f, 7.743854217e-09f, 7.743716362e-09f, 7.743564565e-09f, 7.743398835e-09f, 7.743219177e-09f, 7.743025600e-09f, 7.742818109e-09f, 7.742596713e-09f, 7.742361419e-09f,
+7.742112233e-09f, 7.741849163e-09f, 7.741572215e-09f, 7.741281399e-09f, 7.740976719e-09f, 7.740658185e-09f, 7.740325802e-09f, 7.739979580e-09f, 7.739619524e-09f, 7.739245642e-09f,
+7.738857942e-09f, 7.738456431e-09f, 7.738041116e-09f, 7.737612006e-09f, 7.737169107e-09f, 7.736712427e-09f, 7.736241973e-09f, 7.735757754e-09f, 7.735259776e-09f, 7.734748047e-09f,
+7.734222576e-09f, 7.733683369e-09f, 7.733130434e-09f, 7.732563779e-09f, 7.731983412e-09f, 7.731389340e-09f, 7.730781571e-09f, 7.730160114e-09f, 7.729524975e-09f, 7.728876162e-09f,
+7.728213684e-09f, 7.727537548e-09f, 7.726847762e-09f, 7.726144335e-09f, 7.725427273e-09f, 7.724696585e-09f, 7.723952280e-09f, 7.723194364e-09f, 7.722422846e-09f, 7.721637735e-09f,
+7.720839037e-09f, 7.720026762e-09f, 7.719200916e-09f, 7.718361510e-09f, 7.717508549e-09f, 7.716642044e-09f, 7.715762002e-09f, 7.714868430e-09f, 7.713961339e-09f, 7.713040734e-09f,
+7.712106626e-09f, 7.711159022e-09f, 7.710197931e-09f, 7.709223360e-09f, 7.708235319e-09f, 7.707233816e-09f, 7.706218858e-09f, 7.705190456e-09f, 7.704148616e-09f, 7.703093348e-09f,
+7.702024659e-09f, 7.700942560e-09f, 7.699847057e-09f, 7.698738160e-09f, 7.697615877e-09f, 7.696480216e-09f, 7.695331187e-09f, 7.694168799e-09f, 7.692993059e-09f, 7.691803976e-09f,
+7.690601559e-09f, 7.689385818e-09f, 7.688156760e-09f, 7.686914394e-09f, 7.685658729e-09f, 7.684389775e-09f, 7.683107539e-09f, 7.681812031e-09f, 7.680503259e-09f, 7.679181233e-09f,
+7.677845961e-09f, 7.676497453e-09f, 7.675135716e-09f, 7.673760761e-09f, 7.672372597e-09f, 7.670971231e-09f, 7.669556674e-09f, 7.668128934e-09f, 7.666688020e-09f, 7.665233942e-09f,
+7.663766709e-09f, 7.662286329e-09f, 7.660792813e-09f, 7.659286168e-09f, 7.657766405e-09f, 7.656233533e-09f, 7.654687560e-09f, 7.653128497e-09f, 7.651556351e-09f, 7.649971134e-09f,
+7.648372853e-09f, 7.646761519e-09f, 7.645137141e-09f, 7.643499728e-09f, 7.641849289e-09f, 7.640185834e-09f, 7.638509372e-09f, 7.636819914e-09f, 7.635117468e-09f, 7.633402043e-09f,
+7.631673650e-09f, 7.629932298e-09f, 7.628177996e-09f, 7.626410755e-09f, 7.624630583e-09f, 7.622837490e-09f, 7.621031487e-09f, 7.619212582e-09f, 7.617380785e-09f, 7.615536106e-09f,
+7.613678555e-09f, 7.611808142e-09f, 7.609924876e-09f, 7.608028767e-09f, 7.606119824e-09f, 7.604198058e-09f, 7.602263479e-09f, 7.600316096e-09f, 7.598355920e-09f, 7.596382959e-09f,
+7.594397225e-09f, 7.592398726e-09f, 7.590387474e-09f, 7.588363477e-09f, 7.586326746e-09f, 7.584277292e-09f, 7.582215123e-09f, 7.580140250e-09f, 7.578052684e-09f, 7.575952433e-09f,
+7.573839509e-09f, 7.571713922e-09f, 7.569575680e-09f, 7.567424796e-09f, 7.565261279e-09f, 7.563085139e-09f, 7.560896386e-09f, 7.558695030e-09f, 7.556481083e-09f, 7.554254554e-09f,
+7.552015453e-09f, 7.549763791e-09f, 7.547499579e-09f, 7.545222825e-09f, 7.542933542e-09f, 7.540631739e-09f, 7.538317426e-09f, 7.535990615e-09f, 7.533651315e-09f, 7.531299537e-09f,
+7.528935292e-09f, 7.526558589e-09f, 7.524169441e-09f, 7.521767856e-09f, 7.519353846e-09f, 7.516927421e-09f, 7.514488592e-09f, 7.512037369e-09f, 7.509573764e-09f, 7.507097786e-09f,
+7.504609447e-09f, 7.502108756e-09f, 7.499595726e-09f, 7.497070366e-09f, 7.494532687e-09f, 7.491982700e-09f, 7.489420417e-09f, 7.486845846e-09f, 7.484259000e-09f, 7.481659890e-09f,
+7.479048525e-09f, 7.476424918e-09f, 7.473789078e-09f, 7.471141017e-09f, 7.468480746e-09f, 7.465808275e-09f, 7.463123616e-09f, 7.460426780e-09f, 7.457717777e-09f, 7.454996619e-09f,
+7.452263316e-09f, 7.449517880e-09f, 7.446760322e-09f, 7.443990653e-09f, 7.441208883e-09f, 7.438415025e-09f, 7.435609088e-09f, 7.432791085e-09f, 7.429961027e-09f, 7.427118924e-09f,
+7.424264788e-09f, 7.421398630e-09f, 7.418520461e-09f, 7.415630293e-09f, 7.412728137e-09f, 7.409814004e-09f, 7.406887905e-09f, 7.403949853e-09f, 7.400999857e-09f, 7.398037930e-09f,
+7.395064083e-09f, 7.392078327e-09f, 7.389080673e-09f, 7.386071134e-09f, 7.383049720e-09f, 7.380016444e-09f, 7.376971316e-09f, 7.373914348e-09f, 7.370845551e-09f, 7.367764937e-09f,
+7.364672518e-09f, 7.361568305e-09f, 7.358452310e-09f, 7.355324544e-09f, 7.352185019e-09f, 7.349033747e-09f, 7.345870739e-09f, 7.342696006e-09f, 7.339509561e-09f, 7.336311416e-09f,
+7.333101581e-09f, 7.329880069e-09f, 7.326646892e-09f, 7.323402060e-09f, 7.320145587e-09f, 7.316877483e-09f, 7.313597761e-09f, 7.310306433e-09f, 7.307003509e-09f, 7.303689003e-09f,
+7.300362926e-09f, 7.297025289e-09f, 7.293676105e-09f, 7.290315386e-09f, 7.286943144e-09f, 7.283559390e-09f, 7.280164137e-09f, 7.276757396e-09f, 7.273339180e-09f, 7.269909500e-09f,
+7.266468370e-09f, 7.263015799e-09f, 7.259551802e-09f, 7.256076389e-09f, 7.252589573e-09f, 7.249091366e-09f, 7.245581780e-09f, 7.242060828e-09f, 7.238528521e-09f, 7.234984872e-09f,
+7.231429892e-09f, 7.227863595e-09f, 7.224285991e-09f, 7.220697095e-09f, 7.217096917e-09f, 7.213485470e-09f, 7.209862766e-09f, 7.206228818e-09f, 7.202583638e-09f, 7.198927238e-09f,
+7.195259630e-09f, 7.191580828e-09f, 7.187890843e-09f, 7.184189688e-09f, 7.180477375e-09f, 7.176753916e-09f, 7.173019324e-09f, 7.169273612e-09f, 7.165516792e-09f, 7.161748876e-09f,
+7.157969877e-09f, 7.154179807e-09f, 7.150378680e-09f, 7.146566506e-09f, 7.142743300e-09f, 7.138909074e-09f, 7.135063839e-09f, 7.131207610e-09f, 7.127340397e-09f, 7.123462215e-09f,
+7.119573076e-09f, 7.115672992e-09f, 7.111761975e-09f, 7.107840040e-09f, 7.103907198e-09f, 7.099963462e-09f, 7.096008845e-09f, 7.092043359e-09f, 7.088067018e-09f, 7.084079834e-09f,
+7.080081820e-09f, 7.076072988e-09f, 7.072053353e-09f, 7.068022925e-09f, 7.063981719e-09f, 7.059929747e-09f, 7.055867021e-09f, 7.051793556e-09f, 7.047709363e-09f, 7.043614456e-09f,
+7.039508848e-09f, 7.035392551e-09f, 7.031265579e-09f, 7.027127944e-09f, 7.022979660e-09f, 7.018820739e-09f, 7.014651194e-09f, 7.010471039e-09f, 7.006280287e-09f, 7.002078950e-09f,
+6.997867042e-09f, 6.993644575e-09f, 6.989411564e-09f, 6.985168020e-09f, 6.980913958e-09f, 6.976649389e-09f, 6.972374328e-09f, 6.968088788e-09f, 6.963792781e-09f, 6.959486321e-09f,
+6.955169422e-09f, 6.950842095e-09f, 6.946504356e-09f, 6.942156216e-09f, 6.937797689e-09f, 6.933428788e-09f, 6.929049527e-09f, 6.924659919e-09f, 6.920259977e-09f, 6.915849715e-09f,
+6.911429146e-09f, 6.906998282e-09f, 6.902557139e-09f, 6.898105728e-09f, 6.893644064e-09f, 6.889172160e-09f, 6.884690028e-09f, 6.880197684e-09f, 6.875695139e-09f, 6.871182408e-09f,
+6.866659504e-09f, 6.862126440e-09f, 6.857583230e-09f, 6.853029888e-09f, 6.848466426e-09f, 6.843892859e-09f, 6.839309201e-09f, 6.834715463e-09f, 6.830111661e-09f, 6.825497808e-09f,
+6.820873917e-09f, 6.816240001e-09f, 6.811596076e-09f, 6.806942153e-09f, 6.802278247e-09f, 6.797604372e-09f, 6.792920541e-09f, 6.788226768e-09f, 6.783523066e-09f, 6.778809449e-09f,
+6.774085932e-09f, 6.769352526e-09f, 6.764609248e-09f, 6.759856109e-09f, 6.755093124e-09f, 6.750320307e-09f, 6.745537672e-09f, 6.740745231e-09f, 6.735943000e-09f, 6.731130992e-09f,
+6.726309220e-09f, 6.721477699e-09f, 6.716636442e-09f, 6.711785463e-09f, 6.706924777e-09f, 6.702054397e-09f, 6.697174337e-09f, 6.692284610e-09f, 6.687385231e-09f, 6.682476214e-09f,
+6.677557573e-09f, 6.672629322e-09f, 6.667691474e-09f, 6.662744043e-09f, 6.657787044e-09f, 6.652820491e-09f, 6.647844398e-09f, 6.642858778e-09f, 6.637863645e-09f, 6.632859015e-09f,
+6.627844900e-09f, 6.622821315e-09f, 6.617788275e-09f, 6.612745792e-09f, 6.607693881e-09f, 6.602632557e-09f, 6.597561833e-09f, 6.592481723e-09f, 6.587392243e-09f, 6.582293405e-09f,
+6.577185224e-09f, 6.572067714e-09f, 6.566940890e-09f, 6.561804766e-09f, 6.556659355e-09f, 6.551504672e-09f, 6.546340732e-09f, 6.541167548e-09f, 6.535985135e-09f, 6.530793507e-09f,
+6.525592678e-09f, 6.520382663e-09f, 6.515163476e-09f, 6.509935131e-09f, 6.504697643e-09f, 6.499451026e-09f, 6.494195293e-09f, 6.488930461e-09f, 6.483656542e-09f, 6.478373552e-09f,
+6.473081504e-09f, 6.467780414e-09f, 6.462470295e-09f, 6.457151162e-09f, 6.451823029e-09f, 6.446485911e-09f, 6.441139822e-09f, 6.435784777e-09f, 6.430420790e-09f, 6.425047876e-09f,
+6.419666048e-09f, 6.414275322e-09f, 6.408875713e-09f, 6.403467234e-09f, 6.398049899e-09f, 6.392623725e-09f, 6.387188725e-09f, 6.381744913e-09f, 6.376292305e-09f, 6.370830915e-09f,
+6.365360757e-09f, 6.359881846e-09f, 6.354394196e-09f, 6.348897823e-09f, 6.343392741e-09f, 6.337878964e-09f, 6.332356507e-09f, 6.326825385e-09f, 6.321285613e-09f, 6.315737204e-09f,
+6.310180174e-09f, 6.304614538e-09f, 6.299040310e-09f, 6.293457504e-09f, 6.287866136e-09f, 6.282266220e-09f, 6.276657772e-09f, 6.271040804e-09f, 6.265415334e-09f, 6.259781374e-09f,
+6.254138941e-09f, 6.248488048e-09f, 6.242828711e-09f, 6.237160944e-09f, 6.231484762e-09f, 6.225800180e-09f, 6.220107212e-09f, 6.214405875e-09f, 6.208696181e-09f, 6.202978147e-09f,
+6.197251787e-09f, 6.191517116e-09f, 6.185774148e-09f, 6.180022899e-09f, 6.174263384e-09f, 6.168495617e-09f, 6.162719614e-09f, 6.156935389e-09f, 6.151142957e-09f, 6.145342333e-09f,
+6.139533532e-09f, 6.133716569e-09f, 6.127891458e-09f, 6.122058216e-09f, 6.116216857e-09f, 6.110367395e-09f, 6.104509846e-09f, 6.098644225e-09f, 6.092770547e-09f, 6.086888826e-09f,
+6.080999079e-09f, 6.075101319e-09f, 6.069195562e-09f, 6.063281822e-09f, 6.057360116e-09f, 6.051430458e-09f, 6.045492862e-09f, 6.039547345e-09f, 6.033593921e-09f, 6.027632606e-09f,
+6.021663413e-09f, 6.015686359e-09f, 6.009701459e-09f, 6.003708727e-09f, 5.997708179e-09f, 5.991699830e-09f, 5.985683695e-09f, 5.979659790e-09f, 5.973628128e-09f, 5.967588727e-09f,
+5.961541599e-09f, 5.955486762e-09f, 5.949424230e-09f, 5.943354018e-09f, 5.937276141e-09f, 5.931190615e-09f, 5.925097454e-09f, 5.918996675e-09f, 5.912888292e-09f, 5.906772321e-09f,
+5.900648776e-09f, 5.894517673e-09f, 5.888379027e-09f, 5.882232854e-09f, 5.876079168e-09f, 5.869917986e-09f, 5.863749322e-09f, 5.857573191e-09f, 5.851389609e-09f, 5.845198591e-09f,
+5.839000153e-09f, 5.832794309e-09f, 5.826581076e-09f, 5.820360468e-09f, 5.814132500e-09f, 5.807897189e-09f, 5.801654549e-09f, 5.795404596e-09f, 5.789147345e-09f, 5.782882811e-09f,
+5.776611010e-09f, 5.770331958e-09f, 5.764045669e-09f, 5.757752158e-09f, 5.751451443e-09f, 5.745143537e-09f, 5.738828456e-09f, 5.732506215e-09f, 5.726176831e-09f, 5.719840318e-09f,
+5.713496692e-09f, 5.707145968e-09f, 5.700788162e-09f, 5.694423289e-09f, 5.688051365e-09f, 5.681672404e-09f, 5.675286423e-09f, 5.668893437e-09f, 5.662493462e-09f, 5.656086513e-09f,
+5.649672605e-09f, 5.643251753e-09f, 5.636823975e-09f, 5.630389284e-09f, 5.623947697e-09f, 5.617499228e-09f, 5.611043894e-09f, 5.604581710e-09f, 5.598112692e-09f, 5.591636854e-09f,
+5.585154213e-09f, 5.578664785e-09f, 5.572168583e-09f, 5.565665626e-09f, 5.559155927e-09f, 5.552639502e-09f, 5.546116367e-09f, 5.539586538e-09f, 5.533050030e-09f, 5.526506858e-09f,
+5.519957039e-09f, 5.513400587e-09f, 5.506837520e-09f, 5.500267851e-09f, 5.493691596e-09f, 5.487108773e-09f, 5.480519395e-09f, 5.473923478e-09f, 5.467321039e-09f, 5.460712092e-09f,
+5.454096654e-09f, 5.447474740e-09f, 5.440846366e-09f, 5.434211547e-09f, 5.427570299e-09f, 5.420922638e-09f, 5.414268579e-09f, 5.407608139e-09f, 5.400941332e-09f, 5.394268174e-09f,
+5.387588681e-09f, 5.380902870e-09f, 5.374210754e-09f, 5.367512351e-09f, 5.360807676e-09f, 5.354096744e-09f, 5.347379571e-09f, 5.340656174e-09f, 5.333926567e-09f, 5.327190766e-09f,
+5.320448788e-09f, 5.313700648e-09f, 5.306946361e-09f, 5.300185943e-09f, 5.293419411e-09f, 5.286646779e-09f, 5.279868064e-09f, 5.273083281e-09f, 5.266292447e-09f, 5.259495576e-09f,
+5.252692685e-09f, 5.245883789e-09f, 5.239068904e-09f, 5.232248046e-09f, 5.225421231e-09f, 5.218588474e-09f, 5.211749792e-09f, 5.204905200e-09f, 5.198054713e-09f, 5.191198348e-09f,
+5.184336121e-09f, 5.177468046e-09f, 5.170594141e-09f, 5.163714421e-09f, 5.156828901e-09f, 5.149937598e-09f, 5.143040527e-09f, 5.136137704e-09f, 5.129229145e-09f, 5.122314865e-09f,
+5.115394882e-09f, 5.108469210e-09f, 5.101537865e-09f, 5.094600863e-09f, 5.087658220e-09f, 5.080709951e-09f, 5.073756074e-09f, 5.066796603e-09f, 5.059831554e-09f, 5.052860943e-09f,
+5.045884787e-09f, 5.038903100e-09f, 5.031915899e-09f, 5.024923200e-09f, 5.017925018e-09f, 5.010921369e-09f, 5.003912270e-09f, 4.996897736e-09f, 4.989877783e-09f, 4.982852427e-09f,
+4.975821683e-09f, 4.968785568e-09f, 4.961744098e-09f, 4.954697288e-09f, 4.947645155e-09f, 4.940587714e-09f, 4.933524980e-09f, 4.926456971e-09f, 4.919383702e-09f, 4.912305188e-09f,
+4.905221447e-09f, 4.898132492e-09f, 4.891038342e-09f, 4.883939011e-09f, 4.876834515e-09f, 4.869724870e-09f, 4.862610093e-09f, 4.855490199e-09f, 4.848365204e-09f, 4.841235124e-09f,
+4.834099974e-09f, 4.826959772e-09f, 4.819814532e-09f, 4.812664271e-09f, 4.805509005e-09f, 4.798348749e-09f, 4.791183519e-09f, 4.784013332e-09f, 4.776838203e-09f, 4.769658149e-09f,
+4.762473185e-09f, 4.755283327e-09f, 4.748088591e-09f, 4.740888993e-09f, 4.733684549e-09f, 4.726475275e-09f, 4.719261187e-09f, 4.712042301e-09f, 4.704818632e-09f, 4.697590198e-09f,
+4.690357013e-09f, 4.683119093e-09f, 4.675876456e-09f, 4.668629116e-09f, 4.661377089e-09f, 4.654120392e-09f, 4.646859040e-09f, 4.639593050e-09f, 4.632322437e-09f, 4.625047217e-09f,
+4.617767407e-09f, 4.610483022e-09f, 4.603194078e-09f, 4.595900591e-09f, 4.588602578e-09f, 4.581300054e-09f, 4.573993034e-09f, 4.566681536e-09f, 4.559365575e-09f, 4.552045166e-09f,
+4.544720327e-09f, 4.537391073e-09f, 4.530057419e-09f, 4.522719382e-09f, 4.515376979e-09f, 4.508030224e-09f, 4.500679133e-09f, 4.493323724e-09f, 4.485964011e-09f, 4.478600011e-09f,
+4.471231740e-09f, 4.463859213e-09f, 4.456482447e-09f, 4.449101457e-09f, 4.441716260e-09f, 4.434326872e-09f, 4.426933308e-09f, 4.419535584e-09f, 4.412133717e-09f, 4.404727722e-09f,
+4.397317616e-09f, 4.389903414e-09f, 4.382485133e-09f, 4.375062787e-09f, 4.367636394e-09f, 4.360205970e-09f, 4.352771529e-09f, 4.345333089e-09f, 4.337890665e-09f, 4.330444273e-09f,
+4.322993929e-09f, 4.315539649e-09f, 4.308081449e-09f, 4.300619346e-09f, 4.293153354e-09f, 4.285683490e-09f, 4.278209770e-09f, 4.270732210e-09f, 4.263250826e-09f, 4.255765634e-09f,
+4.248276649e-09f, 4.240783888e-09f, 4.233287367e-09f, 4.225787101e-09f, 4.218283107e-09f, 4.210775401e-09f, 4.203263998e-09f, 4.195748915e-09f, 4.188230167e-09f, 4.180707771e-09f,
+4.173181742e-09f, 4.165652096e-09f, 4.158118850e-09f, 4.150582018e-09f, 4.143041618e-09f, 4.135497665e-09f, 4.127950175e-09f, 4.120399165e-09f, 4.112844649e-09f, 4.105286644e-09f,
+4.097725165e-09f, 4.090160230e-09f, 4.082591853e-09f, 4.075020051e-09f, 4.067444840e-09f, 4.059866235e-09f, 4.052284253e-09f, 4.044698909e-09f, 4.037110219e-09f, 4.029518200e-09f,
+4.021922867e-09f, 4.014324236e-09f, 4.006722323e-09f, 3.999117143e-09f, 3.991508714e-09f, 3.983897051e-09f, 3.976282169e-09f, 3.968664085e-09f, 3.961042815e-09f, 3.953418374e-09f,
+3.945790778e-09f, 3.938160044e-09f, 3.930526187e-09f, 3.922889223e-09f, 3.915249167e-09f, 3.907606037e-09f, 3.899959848e-09f, 3.892310615e-09f, 3.884658355e-09f, 3.877003083e-09f,
+3.869344816e-09f, 3.861683569e-09f, 3.854019358e-09f, 3.846352199e-09f, 3.838682108e-09f, 3.831009100e-09f, 3.823333192e-09f, 3.815654400e-09f, 3.807972739e-09f, 3.800288226e-09f,
+3.792600875e-09f, 3.784910704e-09f, 3.777217727e-09f, 3.769521961e-09f, 3.761823421e-09f, 3.754122124e-09f, 3.746418085e-09f, 3.738711320e-09f, 3.731001846e-09f, 3.723289676e-09f,
+3.715574829e-09f, 3.707857319e-09f, 3.700137162e-09f, 3.692414374e-09f, 3.684688971e-09f, 3.676960969e-09f, 3.669230384e-09f, 3.661497231e-09f, 3.653761526e-09f, 3.646023285e-09f,
+3.638282524e-09f, 3.630539258e-09f, 3.622793504e-09f, 3.615045277e-09f, 3.607294593e-09f, 3.599541468e-09f, 3.591785918e-09f, 3.584027958e-09f, 3.576267604e-09f, 3.568504871e-09f,
+3.560739777e-09f, 3.552972336e-09f, 3.545202565e-09f, 3.537430478e-09f, 3.529656092e-09f, 3.521879423e-09f, 3.514100486e-09f, 3.506319297e-09f, 3.498535871e-09f, 3.490750226e-09f,
+3.482962375e-09f, 3.475172336e-09f, 3.467380123e-09f, 3.459585752e-09f, 3.451789240e-09f, 3.443990602e-09f, 3.436189853e-09f, 3.428387010e-09f, 3.420582087e-09f, 3.412775102e-09f,
+3.404966069e-09f, 3.397155004e-09f, 3.389341922e-09f, 3.381526840e-09f, 3.373709774e-09f, 3.365890738e-09f, 3.358069749e-09f, 3.350246822e-09f, 3.342421973e-09f, 3.334595217e-09f,
+3.326766571e-09f, 3.318936050e-09f, 3.311103669e-09f, 3.303269444e-09f, 3.295433391e-09f, 3.287595525e-09f, 3.279755863e-09f, 3.271914419e-09f, 3.264071209e-09f, 3.256226249e-09f,
+3.248379555e-09f, 3.240531142e-09f, 3.232681026e-09f, 3.224829222e-09f, 3.216975746e-09f, 3.209120614e-09f, 3.201263841e-09f, 3.193405442e-09f, 3.185545434e-09f, 3.177683832e-09f,
+3.169820651e-09f, 3.161955907e-09f, 3.154089616e-09f, 3.146221792e-09f, 3.138352453e-09f, 3.130481612e-09f, 3.122609286e-09f, 3.114735491e-09f, 3.106860241e-09f, 3.098983553e-09f,
+3.091105441e-09f, 3.083225922e-09f, 3.075345010e-09f, 3.067462722e-09f, 3.059579073e-09f, 3.051694078e-09f, 3.043807753e-09f, 3.035920113e-09f, 3.028031174e-09f, 3.020140951e-09f,
+3.012249460e-09f, 3.004356716e-09f, 2.996462735e-09f, 2.988567532e-09f, 2.980671122e-09f, 2.972773521e-09f, 2.964874745e-09f, 2.956974808e-09f, 2.949073727e-09f, 2.941171516e-09f,
+2.933268191e-09f, 2.925363768e-09f, 2.917458261e-09f, 2.909551687e-09f, 2.901644060e-09f, 2.893735397e-09f, 2.885825711e-09f, 2.877915020e-09f, 2.870003337e-09f, 2.862090679e-09f,
+2.854177061e-09f, 2.846262498e-09f, 2.838347006e-09f, 2.830430599e-09f, 2.822513294e-09f, 2.814595104e-09f, 2.806676047e-09f, 2.798756137e-09f, 2.790835389e-09f, 2.782913819e-09f,
+2.774991442e-09f, 2.767068273e-09f, 2.759144328e-09f, 2.751219621e-09f, 2.743294169e-09f, 2.735367986e-09f, 2.727441087e-09f, 2.719513489e-09f, 2.711585205e-09f, 2.703656252e-09f,
+2.695726644e-09f, 2.687796397e-09f, 2.679865526e-09f, 2.671934046e-09f, 2.664001972e-09f, 2.656069321e-09f, 2.648136105e-09f, 2.640202342e-09f, 2.632268046e-09f, 2.624333232e-09f,
+2.616397915e-09f, 2.608462112e-09f, 2.600525835e-09f, 2.592589102e-09f, 2.584651927e-09f, 2.576714325e-09f, 2.568776311e-09f, 2.560837900e-09f, 2.552899108e-09f, 2.544959949e-09f,
+2.537020439e-09f, 2.529080593e-09f, 2.521140426e-09f, 2.513199952e-09f, 2.505259188e-09f, 2.497318147e-09f, 2.489376846e-09f, 2.481435298e-09f, 2.473493520e-09f, 2.465551526e-09f,
+2.457609331e-09f, 2.449666950e-09f, 2.441724398e-09f, 2.433781691e-09f, 2.425838842e-09f, 2.417895868e-09f, 2.409952783e-09f, 2.402009602e-09f, 2.394066341e-09f, 2.386123013e-09f,
+2.378179634e-09f, 2.370236219e-09f, 2.362292783e-09f, 2.354349340e-09f, 2.346405907e-09f, 2.338462496e-09f, 2.330519125e-09f, 2.322575806e-09f, 2.314632556e-09f, 2.306689389e-09f,
+2.298746320e-09f, 2.290803364e-09f, 2.282860536e-09f, 2.274917850e-09f, 2.266975322e-09f, 2.259032965e-09f, 2.251090796e-09f, 2.243148829e-09f, 2.235207078e-09f, 2.227265559e-09f,
+2.219324286e-09f, 2.211383274e-09f, 2.203442538e-09f, 2.195502092e-09f, 2.187561952e-09f, 2.179622132e-09f, 2.171682647e-09f, 2.163743511e-09f, 2.155804739e-09f, 2.147866347e-09f,
+2.139928348e-09f, 2.131990757e-09f, 2.124053590e-09f, 2.116116861e-09f, 2.108180583e-09f, 2.100244774e-09f, 2.092309445e-09f, 2.084374614e-09f, 2.076440293e-09f, 2.068506498e-09f,
+2.060573243e-09f, 2.052640543e-09f, 2.044708413e-09f, 2.036776867e-09f, 2.028845920e-09f, 2.020915586e-09f, 2.012985880e-09f, 2.005056816e-09f, 1.997128409e-09f, 1.989200674e-09f,
+1.981273625e-09f, 1.973347277e-09f, 1.965421644e-09f, 1.957496740e-09f, 1.949572581e-09f, 1.941649180e-09f, 1.933726552e-09f, 1.925804712e-09f, 1.917883674e-09f, 1.909963453e-09f,
+1.902044062e-09f, 1.894125517e-09f, 1.886207832e-09f, 1.878291021e-09f, 1.870375099e-09f, 1.862460080e-09f, 1.854545979e-09f, 1.846632809e-09f, 1.838720585e-09f, 1.830809322e-09f,
+1.822899035e-09f, 1.814989736e-09f, 1.807081441e-09f, 1.799174164e-09f, 1.791267920e-09f, 1.783362722e-09f, 1.775458584e-09f, 1.767555523e-09f, 1.759653550e-09f, 1.751752682e-09f,
+1.743852931e-09f, 1.735954313e-09f, 1.728056841e-09f, 1.720160530e-09f, 1.712265394e-09f, 1.704371448e-09f, 1.696478704e-09f, 1.688587179e-09f, 1.680696885e-09f, 1.672807837e-09f,
+1.664920049e-09f, 1.657033536e-09f, 1.649148311e-09f, 1.641264388e-09f, 1.633381783e-09f, 1.625500508e-09f, 1.617620578e-09f, 1.609742007e-09f, 1.601864809e-09f, 1.593988999e-09f,
+1.586114590e-09f, 1.578241596e-09f, 1.570370032e-09f, 1.562499911e-09f, 1.554631247e-09f, 1.546764055e-09f, 1.538898349e-09f, 1.531034142e-09f, 1.523171448e-09f, 1.515310282e-09f,
+1.507450658e-09f, 1.499592589e-09f, 1.491736089e-09f, 1.483881172e-09f, 1.476027853e-09f, 1.468176145e-09f, 1.460326062e-09f, 1.452477618e-09f, 1.444630826e-09f, 1.436785702e-09f,
+1.428942258e-09f, 1.421100508e-09f, 1.413260467e-09f, 1.405422148e-09f, 1.397585564e-09f, 1.389750731e-09f, 1.381917661e-09f, 1.374086368e-09f, 1.366256867e-09f, 1.358429170e-09f,
+1.350603292e-09f, 1.342779247e-09f, 1.334957047e-09f, 1.327136708e-09f, 1.319318242e-09f, 1.311501663e-09f, 1.303686986e-09f, 1.295874223e-09f, 1.288063388e-09f, 1.280254496e-09f,
+1.272447559e-09f, 1.264642592e-09f, 1.256839608e-09f, 1.249038620e-09f, 1.241239642e-09f, 1.233442688e-09f, 1.225647772e-09f, 1.217854907e-09f, 1.210064106e-09f, 1.202275383e-09f,
+1.194488752e-09f, 1.186704226e-09f, 1.178921819e-09f, 1.171141544e-09f, 1.163363414e-09f, 1.155587444e-09f, 1.147813647e-09f, 1.140042035e-09f, 1.132272624e-09f, 1.124505425e-09f,
+1.116740453e-09f, 1.108977721e-09f, 1.101217242e-09f, 1.093459030e-09f, 1.085703098e-09f, 1.077949459e-09f, 1.070198128e-09f, 1.062449116e-09f, 1.054702438e-09f, 1.046958107e-09f,
+1.039216136e-09f, 1.031476539e-09f, 1.023739329e-09f, 1.016004518e-09f, 1.008272121e-09f, 1.000542151e-09f, 9.928146205e-10f, 9.850895432e-10f, 9.773669322e-10f, 9.696468009e-10f,
+9.619291623e-10f, 9.542140297e-10f, 9.465014162e-10f, 9.387913351e-10f, 9.310837995e-10f, 9.233788225e-10f, 9.156764173e-10f, 9.079765970e-10f, 9.002793747e-10f, 8.925847634e-10f,
+8.848927764e-10f, 8.772034267e-10f, 8.695167273e-10f, 8.618326913e-10f, 8.541513317e-10f, 8.464726616e-10f, 8.387966939e-10f, 8.311234417e-10f, 8.234529180e-10f, 8.157851358e-10f,
+8.081201079e-10f, 8.004578475e-10f, 7.927983673e-10f, 7.851416804e-10f, 7.774877997e-10f, 7.698367381e-10f, 7.621885084e-10f, 7.545431236e-10f, 7.469005965e-10f, 7.392609400e-10f,
+7.316241670e-10f, 7.239902902e-10f, 7.163593226e-10f, 7.087312768e-10f, 7.011061657e-10f, 6.934840022e-10f, 6.858647989e-10f, 6.782485686e-10f, 6.706353241e-10f, 6.630250781e-10f,
+6.554178433e-10f, 6.478136325e-10f, 6.402124583e-10f, 6.326143335e-10f, 6.250192706e-10f, 6.174272824e-10f, 6.098383816e-10f, 6.022525807e-10f, 5.946698923e-10f, 5.870903292e-10f,
+5.795139038e-10f, 5.719406288e-10f, 5.643705168e-10f, 5.568035802e-10f, 5.492398317e-10f, 5.416792838e-10f, 5.341219491e-10f, 5.265678399e-10f, 5.190169688e-10f, 5.114693484e-10f,
+5.039249910e-10f, 4.963839092e-10f, 4.888461154e-10f, 4.813116219e-10f, 4.737804413e-10f, 4.662525859e-10f, 4.587280682e-10f, 4.512069005e-10f, 4.436890952e-10f, 4.361746646e-10f,
+4.286636211e-10f, 4.211559771e-10f, 4.136517447e-10f, 4.061509364e-10f, 3.986535644e-10f, 3.911596410e-10f, 3.836691785e-10f, 3.761821892e-10f, 3.686986851e-10f, 3.612186787e-10f,
+3.537421821e-10f, 3.462692074e-10f, 3.387997670e-10f, 3.313338729e-10f, 3.238715373e-10f, 3.164127723e-10f, 3.089575902e-10f, 3.015060030e-10f, 2.940580228e-10f, 2.866136617e-10f,
+2.791729318e-10f, 2.717358452e-10f, 2.643024139e-10f, 2.568726500e-10f, 2.494465654e-10f, 2.420241722e-10f, 2.346054824e-10f, 2.271905080e-10f, 2.197792610e-10f, 2.123717532e-10f,
+2.049679968e-10f, 1.975680035e-10f, 1.901717853e-10f, 1.827793541e-10f, 1.753907219e-10f, 1.680059004e-10f, 1.606249016e-10f, 1.532477373e-10f, 1.458744193e-10f, 1.385049595e-10f,
+1.311393697e-10f, 1.237776616e-10f, 1.164198471e-10f, 1.090659379e-10f, 1.017159458e-10f, 9.436988248e-11f, 8.702775973e-11f, 7.968958925e-11f, 7.235538272e-11f, 6.502515185e-11f,
+5.769890829e-11f, 5.037666372e-11f, 4.305842978e-11f, 3.574421809e-11f, 2.843404027e-11f, 2.112790794e-11f, 1.382583267e-11f, 6.527826049e-12f, -7.661003671e-13f, -8.055935030e-12f,
+-1.534166640e-11f, -2.262328297e-11f, -2.990077322e-11f, -3.717412567e-11f, -4.444332883e-11f, -5.170837125e-11f, -5.896924147e-11f, -6.622592805e-11f, -7.347841958e-11f, -8.072670465e-11f,
+-8.797077187e-11f, -9.521060984e-11f, -1.024462072e-10f, -1.096775526e-10f, -1.169046348e-10f, -1.241274423e-10f, -1.313459639e-10f, -1.385601883e-10f, -1.457701042e-10f, -1.529757004e-10f,
+-1.601769655e-10f, -1.673738884e-10f, -1.745664578e-10f, -1.817546625e-10f, -1.889384914e-10f, -1.961179332e-10f, -2.032929768e-10f, -2.104636110e-10f, -2.176298248e-10f, -2.247916069e-10f,
+-2.319489462e-10f, -2.391018318e-10f, -2.462502524e-10f, -2.533941970e-10f, -2.605336547e-10f, -2.676686142e-10f, -2.747990647e-10f, -2.819249951e-10f, -2.890463945e-10f, -2.961632517e-10f,
+-3.032755560e-10f, -3.103832963e-10f, -3.174864617e-10f, -3.245850413e-10f, -3.316790241e-10f, -3.387683993e-10f, -3.458531561e-10f, -3.529332835e-10f, -3.600087707e-10f, -3.670796069e-10f,
+-3.741457813e-10f, -3.812072830e-10f, -3.882641012e-10f, -3.953162253e-10f, -4.023636444e-10f, -4.094063478e-10f, -4.164443248e-10f, -4.234775647e-10f, -4.305060567e-10f, -4.375297901e-10f,
+-4.445487544e-10f, -4.515629388e-10f, -4.585723328e-10f, -4.655769256e-10f, -4.725767068e-10f, -4.795716656e-10f, -4.865617915e-10f, -4.935470740e-10f, -5.005275024e-10f, -5.075030663e-10f,
+-5.144737552e-10f, -5.214395585e-10f, -5.284004657e-10f, -5.353564664e-10f, -5.423075502e-10f, -5.492537065e-10f, -5.561949249e-10f, -5.631311951e-10f, -5.700625066e-10f, -5.769888490e-10f,
+-5.839102120e-10f, -5.908265853e-10f, -5.977379584e-10f, -6.046443211e-10f, -6.115456630e-10f, -6.184419739e-10f, -6.253332434e-10f, -6.322194614e-10f, -6.391006176e-10f, -6.459767017e-10f,
+-6.528477035e-10f, -6.597136128e-10f, -6.665744194e-10f, -6.734301133e-10f, -6.802806841e-10f, -6.871261218e-10f, -6.939664162e-10f, -7.008015572e-10f, -7.076315348e-10f, -7.144563388e-10f,
+-7.212759593e-10f, -7.280903860e-10f, -7.348996091e-10f, -7.417036185e-10f, -7.485024041e-10f, -7.552959561e-10f, -7.620842644e-10f, -7.688673190e-10f, -7.756451101e-10f, -7.824176277e-10f,
+-7.891848619e-10f, -7.959468028e-10f, -8.027034405e-10f, -8.094547652e-10f, -8.162007670e-10f, -8.229414361e-10f, -8.296767626e-10f, -8.364067368e-10f, -8.431313489e-10f, -8.498505891e-10f,
+-8.565644476e-10f, -8.632729147e-10f, -8.699759808e-10f, -8.766736360e-10f, -8.833658707e-10f, -8.900526753e-10f, -8.967340400e-10f, -9.034099552e-10f, -9.100804112e-10f, -9.167453986e-10f,
+-9.234049076e-10f, -9.300589287e-10f, -9.367074523e-10f, -9.433504689e-10f, -9.499879690e-10f, -9.566199429e-10f, -9.632463813e-10f, -9.698672746e-10f, -9.764826133e-10f, -9.830923880e-10f,
+-9.896965893e-10f, -9.962952078e-10f, -1.002888234e-09f, -1.009475658e-09f, -1.016057472e-09f, -1.022633665e-09f, -1.029204228e-09f, -1.035769152e-09f, -1.042328428e-09f, -1.048882046e-09f,
+-1.055429997e-09f, -1.061972272e-09f, -1.068508862e-09f, -1.075039757e-09f, -1.081564947e-09f, -1.088084425e-09f, -1.094598180e-09f, -1.101106204e-09f, -1.107608487e-09f, -1.114105021e-09f,
+-1.120595795e-09f, -1.127080801e-09f, -1.133560031e-09f, -1.140033474e-09f, -1.146501122e-09f, -1.152962966e-09f, -1.159418996e-09f, -1.165869204e-09f, -1.172313581e-09f, -1.178752117e-09f,
+-1.185184804e-09f, -1.191611633e-09f, -1.198032595e-09f, -1.204447681e-09f, -1.210856882e-09f, -1.217260189e-09f, -1.223657594e-09f, -1.230049087e-09f, -1.236434660e-09f, -1.242814303e-09f,
+-1.249188008e-09f, -1.255555767e-09f, -1.261917570e-09f, -1.268273409e-09f, -1.274623275e-09f, -1.280967160e-09f, -1.287305054e-09f, -1.293636948e-09f, -1.299962835e-09f, -1.306282706e-09f,
+-1.312596551e-09f, -1.318904363e-09f, -1.325206133e-09f, -1.331501851e-09f, -1.337791510e-09f, -1.344075102e-09f, -1.350352616e-09f, -1.356624046e-09f, -1.362889382e-09f, -1.369148616e-09f,
+-1.375401739e-09f, -1.381648744e-09f, -1.387889621e-09f, -1.394124362e-09f, -1.400352959e-09f, -1.406575403e-09f, -1.412791687e-09f, -1.419001800e-09f, -1.425205737e-09f, -1.431403487e-09f,
+-1.437595042e-09f, -1.443780395e-09f, -1.449959538e-09f, -1.456132461e-09f, -1.462299156e-09f, -1.468459616e-09f, -1.474613832e-09f, -1.480761796e-09f, -1.486903500e-09f, -1.493038935e-09f,
+-1.499168094e-09f, -1.505290968e-09f, -1.511407549e-09f, -1.517517830e-09f, -1.523621801e-09f, -1.529719456e-09f, -1.535810785e-09f, -1.541895782e-09f, -1.547974437e-09f, -1.554046743e-09f,
+-1.560112692e-09f, -1.566172277e-09f, -1.572225488e-09f, -1.578272318e-09f, -1.584312759e-09f, -1.590346804e-09f, -1.596374444e-09f, -1.602395672e-09f, -1.608410480e-09f, -1.614418859e-09f,
+-1.620420802e-09f, -1.626416302e-09f, -1.632405350e-09f, -1.638387939e-09f, -1.644364061e-09f, -1.650333708e-09f, -1.656296873e-09f, -1.662253547e-09f, -1.668203724e-09f, -1.674147396e-09f,
+-1.680084554e-09f, -1.686015191e-09f, -1.691939300e-09f, -1.697856874e-09f, -1.703767903e-09f, -1.709672382e-09f, -1.715570302e-09f, -1.721461655e-09f, -1.727346436e-09f, -1.733224634e-09f,
+-1.739096245e-09f, -1.744961259e-09f, -1.750819670e-09f, -1.756671469e-09f, -1.762516651e-09f, -1.768355206e-09f, -1.774187129e-09f, -1.780012411e-09f, -1.785831045e-09f, -1.791643024e-09f,
+-1.797448341e-09f, -1.803246987e-09f, -1.809038957e-09f, -1.814824243e-09f, -1.820602837e-09f, -1.826374732e-09f, -1.832139921e-09f, -1.837898397e-09f, -1.843650153e-09f, -1.849395181e-09f,
+-1.855133475e-09f, -1.860865027e-09f, -1.866589830e-09f, -1.872307878e-09f, -1.878019162e-09f, -1.883723676e-09f, -1.889421413e-09f, -1.895112366e-09f, -1.900796528e-09f, -1.906473892e-09f,
+-1.912144451e-09f, -1.917808198e-09f, -1.923465126e-09f, -1.929115228e-09f, -1.934758497e-09f, -1.940394927e-09f, -1.946024510e-09f, -1.951647240e-09f, -1.957263109e-09f, -1.962872112e-09f,
+-1.968474241e-09f, -1.974069489e-09f, -1.979657850e-09f, -1.985239317e-09f, -1.990813883e-09f, -1.996381541e-09f, -2.001942285e-09f, -2.007496109e-09f, -2.013043004e-09f, -2.018582966e-09f,
+-2.024115987e-09f, -2.029642060e-09f, -2.035161179e-09f, -2.040673338e-09f, -2.046178529e-09f, -2.051676747e-09f, -2.057167985e-09f, -2.062652235e-09f, -2.068129493e-09f, -2.073599751e-09f,
+-2.079063002e-09f, -2.084519241e-09f, -2.089968461e-09f, -2.095410656e-09f, -2.100845819e-09f, -2.106273943e-09f, -2.111695023e-09f, -2.117109052e-09f, -2.122516024e-09f, -2.127915933e-09f,
+-2.133308771e-09f, -2.138694534e-09f, -2.144073214e-09f, -2.149444806e-09f, -2.154809303e-09f, -2.160166699e-09f, -2.165516988e-09f, -2.170860163e-09f, -2.176196220e-09f, -2.181525150e-09f,
+-2.186846949e-09f, -2.192161610e-09f, -2.197469128e-09f, -2.202769495e-09f, -2.208062706e-09f, -2.213348756e-09f, -2.218627637e-09f, -2.223899345e-09f, -2.229163872e-09f, -2.234421214e-09f,
+-2.239671363e-09f, -2.244914315e-09f, -2.250150064e-09f, -2.255378602e-09f, -2.260599926e-09f, -2.265814027e-09f, -2.271020902e-09f, -2.276220544e-09f, -2.281412947e-09f, -2.286598106e-09f,
+-2.291776014e-09f, -2.296946666e-09f, -2.302110056e-09f, -2.307266179e-09f, -2.312415029e-09f, -2.317556599e-09f, -2.322690886e-09f, -2.327817882e-09f, -2.332937582e-09f, -2.338049980e-09f,
+-2.343155072e-09f, -2.348252851e-09f, -2.353343312e-09f, -2.358426449e-09f, -2.363502257e-09f, -2.368570730e-09f, -2.373631863e-09f, -2.378685650e-09f, -2.383732086e-09f, -2.388771166e-09f,
+-2.393802883e-09f, -2.398827233e-09f, -2.403844210e-09f, -2.408853809e-09f, -2.413856025e-09f, -2.418850851e-09f, -2.423838283e-09f, -2.428818316e-09f, -2.433790944e-09f, -2.438756162e-09f,
+-2.443713965e-09f, -2.448664347e-09f, -2.453607303e-09f, -2.458542829e-09f, -2.463470918e-09f, -2.468391566e-09f, -2.473304768e-09f, -2.478210518e-09f, -2.483108811e-09f, -2.487999643e-09f,
+-2.492883008e-09f, -2.497758901e-09f, -2.502627317e-09f, -2.507488251e-09f, -2.512341698e-09f, -2.517187653e-09f, -2.522026112e-09f, -2.526857068e-09f, -2.531680518e-09f, -2.536496456e-09f,
+-2.541304877e-09f, -2.546105777e-09f, -2.550899150e-09f, -2.555684992e-09f, -2.560463299e-09f, -2.565234064e-09f, -2.569997283e-09f, -2.574752953e-09f, -2.579501066e-09f, -2.584241620e-09f,
+-2.588974610e-09f, -2.593700030e-09f, -2.598417876e-09f, -2.603128143e-09f, -2.607830826e-09f, -2.612525922e-09f, -2.617213425e-09f, -2.621893330e-09f, -2.626565634e-09f, -2.631230331e-09f,
+-2.635887418e-09f, -2.640536888e-09f, -2.645178739e-09f, -2.649812965e-09f, -2.654439562e-09f, -2.659058526e-09f, -2.663669851e-09f, -2.668273535e-09f, -2.672869571e-09f, -2.677457956e-09f,
+-2.682038686e-09f, -2.686611755e-09f, -2.691177161e-09f, -2.695734897e-09f, -2.700284961e-09f, -2.704827348e-09f, -2.709362053e-09f, -2.713889072e-09f, -2.718408401e-09f, -2.722920036e-09f,
+-2.727423972e-09f, -2.731920206e-09f, -2.736408734e-09f, -2.740889550e-09f, -2.745362651e-09f, -2.749828033e-09f, -2.754285691e-09f, -2.758735622e-09f, -2.763177822e-09f, -2.767612286e-09f,
+-2.772039011e-09f, -2.776457992e-09f, -2.780869225e-09f, -2.785272707e-09f, -2.789668433e-09f, -2.794056400e-09f, -2.798436604e-09f, -2.802809040e-09f, -2.807173705e-09f, -2.811530595e-09f,
+-2.815879706e-09f, -2.820221034e-09f, -2.824554576e-09f, -2.828880327e-09f, -2.833198284e-09f, -2.837508443e-09f, -2.841810800e-09f, -2.846105352e-09f, -2.850392095e-09f, -2.854671024e-09f,
+-2.858942138e-09f, -2.863205430e-09f, -2.867460900e-09f, -2.871708541e-09f, -2.875948351e-09f, -2.880180327e-09f, -2.884404464e-09f, -2.888620760e-09f, -2.892829209e-09f, -2.897029810e-09f,
+-2.901222559e-09f, -2.905407451e-09f, -2.909584484e-09f, -2.913753654e-09f, -2.917914958e-09f, -2.922068392e-09f, -2.926213953e-09f, -2.930351637e-09f, -2.934481441e-09f, -2.938603362e-09f,
+-2.942717396e-09f, -2.946823540e-09f, -2.950921791e-09f, -2.955012145e-09f, -2.959094599e-09f, -2.963169151e-09f, -2.967235796e-09f, -2.971294531e-09f, -2.975345354e-09f, -2.979388260e-09f,
+-2.983423248e-09f, -2.987450313e-09f, -2.991469453e-09f, -2.995480664e-09f, -2.999483944e-09f, -3.003479289e-09f, -3.007466696e-09f, -3.011446162e-09f, -3.015417685e-09f, -3.019381261e-09f,
+-3.023336886e-09f, -3.027284560e-09f, -3.031224277e-09f, -3.035156035e-09f, -3.039079832e-09f, -3.042995664e-09f, -3.046903529e-09f, -3.050803424e-09f, -3.054695345e-09f, -3.058579290e-09f,
+-3.062455257e-09f, -3.066323242e-09f, -3.070183242e-09f, -3.074035255e-09f, -3.077879278e-09f, -3.081715309e-09f, -3.085543344e-09f, -3.089363381e-09f, -3.093175417e-09f, -3.096979449e-09f,
+-3.100775476e-09f, -3.104563494e-09f, -3.108343500e-09f, -3.112115492e-09f, -3.115879468e-09f, -3.119635425e-09f, -3.123383360e-09f, -3.127123270e-09f, -3.130855154e-09f, -3.134579009e-09f,
+-3.138294832e-09f, -3.142002621e-09f, -3.145702374e-09f, -3.149394087e-09f, -3.153077759e-09f, -3.156753387e-09f, -3.160420969e-09f, -3.164080502e-09f, -3.167731984e-09f, -3.171375414e-09f,
+-3.175010787e-09f, -3.178638103e-09f, -3.182257358e-09f, -3.185868552e-09f, -3.189471680e-09f, -3.193066742e-09f, -3.196653735e-09f, -3.200232656e-09f, -3.203803505e-09f, -3.207366277e-09f,
+-3.210920972e-09f, -3.214467587e-09f, -3.218006120e-09f, -3.221536569e-09f, -3.225058933e-09f, -3.228573207e-09f, -3.232079392e-09f, -3.235577485e-09f, -3.239067483e-09f, -3.242549386e-09f,
+-3.246023190e-09f, -3.249488894e-09f, -3.252946496e-09f, -3.256395994e-09f, -3.259837386e-09f, -3.263270671e-09f, -3.266695846e-09f, -3.270112910e-09f, -3.273521860e-09f, -3.276922695e-09f,
+-3.280315414e-09f, -3.283700013e-09f, -3.287076493e-09f, -3.290444850e-09f, -3.293805083e-09f, -3.297157191e-09f, -3.300501171e-09f, -3.303837023e-09f, -3.307164743e-09f, -3.310484332e-09f,
+-3.313795786e-09f, -3.317099105e-09f, -3.320394287e-09f, -3.323681331e-09f, -3.326960234e-09f, -3.330230995e-09f, -3.333493613e-09f, -3.336748086e-09f, -3.339994412e-09f, -3.343232591e-09f,
+-3.346462621e-09f, -3.349684500e-09f, -3.352898226e-09f, -3.356103800e-09f, -3.359301218e-09f, -3.362490480e-09f, -3.365671584e-09f, -3.368844530e-09f, -3.372009314e-09f, -3.375165938e-09f,
+-3.378314398e-09f, -3.381454694e-09f, -3.384586825e-09f, -3.387710789e-09f, -3.390826585e-09f, -3.393934212e-09f, -3.397033668e-09f, -3.400124953e-09f, -3.403208066e-09f, -3.406283004e-09f,
+-3.409349768e-09f, -3.412408355e-09f, -3.415458766e-09f, -3.418500998e-09f, -3.421535051e-09f, -3.424560924e-09f, -3.427578615e-09f, -3.430588124e-09f, -3.433589450e-09f, -3.436582591e-09f,
+-3.439567547e-09f, -3.442544317e-09f, -3.445512900e-09f, -3.448473295e-09f, -3.451425501e-09f, -3.454369517e-09f, -3.457305342e-09f, -3.460232976e-09f, -3.463152418e-09f, -3.466063666e-09f,
+-3.468966721e-09f, -3.471861581e-09f, -3.474748245e-09f, -3.477626713e-09f, -3.480496985e-09f, -3.483359058e-09f, -3.486212934e-09f, -3.489058610e-09f, -3.491896087e-09f, -3.494725363e-09f,
+-3.497546439e-09f, -3.500359313e-09f, -3.503163985e-09f, -3.505960454e-09f, -3.508748720e-09f, -3.511528782e-09f, -3.514300640e-09f, -3.517064293e-09f, -3.519819741e-09f, -3.522566982e-09f,
+-3.525306018e-09f, -3.528036847e-09f, -3.530759469e-09f, -3.533473883e-09f, -3.536180089e-09f, -3.538878087e-09f, -3.541567876e-09f, -3.544249456e-09f, -3.546922827e-09f, -3.549587988e-09f,
+-3.552244939e-09f, -3.554893680e-09f, -3.557534211e-09f, -3.560166530e-09f, -3.562790639e-09f, -3.565406536e-09f, -3.568014222e-09f, -3.570613697e-09f, -3.573204959e-09f, -3.575788010e-09f,
+-3.578362849e-09f, -3.580929475e-09f, -3.583487889e-09f, -3.586038091e-09f, -3.588580081e-09f, -3.591113858e-09f, -3.593639422e-09f, -3.596156774e-09f, -3.598665913e-09f, -3.601166840e-09f,
+-3.603659555e-09f, -3.606144056e-09f, -3.608620346e-09f, -3.611088423e-09f, -3.613548288e-09f, -3.615999941e-09f, -3.618443382e-09f, -3.620878611e-09f, -3.623305628e-09f, -3.625724434e-09f,
+-3.628135028e-09f, -3.630537412e-09f, -3.632931584e-09f, -3.635317546e-09f, -3.637695297e-09f, -3.640064839e-09f, -3.642426170e-09f, -3.644779292e-09f, -3.647124204e-09f, -3.649460908e-09f,
+-3.651789403e-09f, -3.654109690e-09f, -3.656421770e-09f, -3.658725641e-09f, -3.661021306e-09f, -3.663308764e-09f, -3.665588017e-09f, -3.667859063e-09f, -3.670121904e-09f, -3.672376541e-09f,
+-3.674622973e-09f, -3.676861202e-09f, -3.679091228e-09f, -3.681313051e-09f, -3.683526672e-09f, -3.685732092e-09f, -3.687929311e-09f, -3.690118330e-09f, -3.692299150e-09f, -3.694471770e-09f,
+-3.696636192e-09f, -3.698792417e-09f, -3.700940445e-09f, -3.703080277e-09f, -3.705211914e-09f, -3.707335356e-09f, -3.709450604e-09f, -3.711557659e-09f, -3.713656522e-09f, -3.715747193e-09f,
+-3.717829673e-09f, -3.719903964e-09f, -3.721970066e-09f, -3.724027980e-09f, -3.726077707e-09f, -3.728119247e-09f, -3.730152602e-09f, -3.732177772e-09f, -3.734194760e-09f, -3.736203564e-09f,
+-3.738204187e-09f, -3.740196630e-09f, -3.742180893e-09f, -3.744156977e-09f, -3.746124885e-09f, -3.748084615e-09f, -3.750036171e-09f, -3.751979552e-09f, -3.753914760e-09f, -3.755841797e-09f,
+-3.757760662e-09f, -3.759671358e-09f, -3.761573885e-09f, -3.763468245e-09f, -3.765354439e-09f, -3.767232468e-09f, -3.769102333e-09f, -3.770964035e-09f, -3.772817577e-09f, -3.774662959e-09f,
+-3.776500182e-09f, -3.778329248e-09f, -3.780150158e-09f, -3.781962913e-09f, -3.783767515e-09f, -3.785563965e-09f, -3.787352264e-09f, -3.789132415e-09f, -3.790904418e-09f, -3.792668274e-09f,
+-3.794423986e-09f, -3.796171554e-09f, -3.797910981e-09f, -3.799642267e-09f, -3.801365414e-09f, -3.803080424e-09f, -3.804787298e-09f, -3.806486037e-09f, -3.808176645e-09f, -3.809859120e-09f,
+-3.811533467e-09f, -3.813199685e-09f, -3.814857778e-09f, -3.816507745e-09f, -3.818149590e-09f, -3.819783314e-09f, -3.821408917e-09f, -3.823026403e-09f, -3.824635773e-09f, -3.826237028e-09f,
+-3.827830171e-09f, -3.829415203e-09f, -3.830992125e-09f, -3.832560941e-09f, -3.834121650e-09f, -3.835674256e-09f, -3.837218761e-09f, -3.838755165e-09f, -3.840283471e-09f, -3.841803681e-09f,
+-3.843315796e-09f, -3.844819819e-09f, -3.846315751e-09f, -3.847803595e-09f, -3.849283353e-09f, -3.850755025e-09f, -3.852218615e-09f, -3.853674125e-09f, -3.855121556e-09f, -3.856560910e-09f,
+-3.857992190e-09f, -3.859415397e-09f, -3.860830534e-09f, -3.862237603e-09f, -3.863636605e-09f, -3.865027543e-09f, -3.866410420e-09f, -3.867785237e-09f, -3.869151996e-09f, -3.870510700e-09f,
+-3.871861350e-09f, -3.873203950e-09f, -3.874538500e-09f, -3.875865005e-09f, -3.877183465e-09f, -3.878493882e-09f, -3.879796261e-09f, -3.881090602e-09f, -3.882376907e-09f, -3.883655180e-09f,
+-3.884925423e-09f, -3.886187637e-09f, -3.887441826e-09f, -3.888687991e-09f, -3.889926136e-09f, -3.891156262e-09f, -3.892378372e-09f, -3.893592468e-09f, -3.894798554e-09f, -3.895996630e-09f,
+-3.897186701e-09f, -3.898368767e-09f, -3.899542833e-09f, -3.900708900e-09f, -3.901866971e-09f, -3.903017048e-09f, -3.904159134e-09f, -3.905293233e-09f, -3.906419345e-09f, -3.907537474e-09f,
+-3.908647623e-09f, -3.909749793e-09f, -3.910843989e-09f, -3.911930212e-09f, -3.913008465e-09f, -3.914078752e-09f, -3.915141073e-09f, -3.916195434e-09f, -3.917241835e-09f, -3.918280280e-09f,
+-3.919310772e-09f, -3.920333313e-09f, -3.921347906e-09f, -3.922354554e-09f, -3.923353261e-09f, -3.924344028e-09f, -3.925326858e-09f, -3.926301755e-09f, -3.927268721e-09f, -3.928227760e-09f,
+-3.929178874e-09f, -3.930122066e-09f, -3.931057339e-09f, -3.931984696e-09f, -3.932904139e-09f, -3.933815673e-09f, -3.934719300e-09f, -3.935615023e-09f, -3.936502845e-09f, -3.937382769e-09f,
+-3.938254798e-09f, -3.939118935e-09f, -3.939975184e-09f, -3.940823546e-09f, -3.941664027e-09f, -3.942496628e-09f, -3.943321352e-09f, -3.944138204e-09f, -3.944947186e-09f, -3.945748301e-09f,
+-3.946541552e-09f, -3.947326943e-09f, -3.948104477e-09f, -3.948874158e-09f, -3.949635987e-09f, -3.950389969e-09f, -3.951136107e-09f, -3.951874405e-09f, -3.952604865e-09f, -3.953327490e-09f,
+-3.954042285e-09f, -3.954749253e-09f, -3.955448396e-09f, -3.956139719e-09f, -3.956823224e-09f, -3.957498915e-09f, -3.958166796e-09f, -3.958826870e-09f, -3.959479140e-09f, -3.960123610e-09f,
+-3.960760283e-09f, -3.961389163e-09f, -3.962010253e-09f, -3.962623557e-09f, -3.963229078e-09f, -3.963826820e-09f, -3.964416786e-09f, -3.964998980e-09f, -3.965573406e-09f, -3.966140067e-09f,
+-3.966698967e-09f, -3.967250109e-09f, -3.967793497e-09f, -3.968329134e-09f, -3.968857025e-09f, -3.969377173e-09f, -3.969889581e-09f, -3.970394254e-09f, -3.970891195e-09f, -3.971380407e-09f,
+-3.971861895e-09f, -3.972335662e-09f, -3.972801713e-09f, -3.973260050e-09f, -3.973710677e-09f, -3.974153599e-09f, -3.974588819e-09f, -3.975016341e-09f, -3.975436169e-09f, -3.975848307e-09f,
+-3.976252758e-09f, -3.976649527e-09f, -3.977038617e-09f, -3.977420033e-09f, -3.977793777e-09f, -3.978159855e-09f, -3.978518270e-09f, -3.978869026e-09f, -3.979212127e-09f, -3.979547577e-09f,
+-3.979875380e-09f, -3.980195540e-09f, -3.980508061e-09f, -3.980812947e-09f, -3.981110202e-09f, -3.981399830e-09f, -3.981681836e-09f, -3.981956223e-09f, -3.982222995e-09f, -3.982482157e-09f,
+-3.982733713e-09f, -3.982977666e-09f, -3.983214022e-09f, -3.983442784e-09f, -3.983663956e-09f, -3.983877542e-09f, -3.984083547e-09f, -3.984281976e-09f, -3.984472831e-09f, -3.984656118e-09f,
+-3.984831840e-09f, -3.985000003e-09f, -3.985160610e-09f, -3.985313665e-09f, -3.985459173e-09f, -3.985597138e-09f, -3.985727565e-09f, -3.985850457e-09f, -3.985965820e-09f, -3.986073657e-09f,
+-3.986173973e-09f, -3.986266773e-09f, -3.986352060e-09f, -3.986429839e-09f, -3.986500115e-09f, -3.986562892e-09f, -3.986618174e-09f, -3.986665966e-09f, -3.986706273e-09f, -3.986739099e-09f,
+-3.986764448e-09f, -3.986782324e-09f, -3.986792734e-09f, -3.986795680e-09f, -3.986791168e-09f, -3.986779202e-09f, -3.986759787e-09f, -3.986732927e-09f, -3.986698627e-09f, -3.986656891e-09f,
+-3.986607725e-09f, -3.986551132e-09f, -3.986487118e-09f, -3.986415686e-09f, -3.986336843e-09f, -3.986250592e-09f, -3.986156938e-09f, -3.986055886e-09f, -3.985947441e-09f, -3.985831606e-09f,
+-3.985708388e-09f, -3.985577791e-09f, -3.985439819e-09f, -3.985294478e-09f, -3.985141772e-09f, -3.984981706e-09f, -3.984814285e-09f, -3.984639513e-09f, -3.984457396e-09f, -3.984267938e-09f,
+-3.984071144e-09f, -3.983867020e-09f, -3.983655569e-09f, -3.983436797e-09f, -3.983210709e-09f, -3.982977310e-09f, -3.982736604e-09f, -3.982488597e-09f, -3.982233294e-09f, -3.981970699e-09f,
+-3.981700818e-09f, -3.981423655e-09f, -3.981139215e-09f, -3.980847504e-09f, -3.980548527e-09f, -3.980242288e-09f, -3.979928793e-09f, -3.979608047e-09f, -3.979280055e-09f, -3.978944821e-09f,
+-3.978602352e-09f, -3.978252651e-09f, -3.977895725e-09f, -3.977531578e-09f, -3.977160216e-09f, -3.976781643e-09f, -3.976395865e-09f, -3.976002887e-09f, -3.975602715e-09f, -3.975195353e-09f,
+-3.974780806e-09f, -3.974359080e-09f, -3.973930181e-09f, -3.973494113e-09f, -3.973050881e-09f, -3.972600491e-09f, -3.972142949e-09f, -3.971678259e-09f, -3.971206426e-09f, -3.970727457e-09f,
+-3.970241356e-09f, -3.969748129e-09f, -3.969247781e-09f, -3.968740317e-09f, -3.968225743e-09f, -3.967704065e-09f, -3.967175287e-09f, -3.966639415e-09f, -3.966096454e-09f, -3.965546410e-09f,
+-3.964989289e-09f, -3.964425095e-09f, -3.963853835e-09f, -3.963275513e-09f, -3.962690135e-09f, -3.962097707e-09f, -3.961498234e-09f, -3.960891722e-09f, -3.960278176e-09f, -3.959657602e-09f,
+-3.959030005e-09f, -3.958395390e-09f, -3.957753764e-09f, -3.957105133e-09f, -3.956449500e-09f, -3.955786873e-09f, -3.955117257e-09f, -3.954440657e-09f, -3.953757079e-09f, -3.953066529e-09f,
+-3.952369012e-09f, -3.951664534e-09f, -3.950953101e-09f, -3.950234718e-09f, -3.949509391e-09f, -3.948777126e-09f, -3.948037928e-09f, -3.947291804e-09f, -3.946538759e-09f, -3.945778798e-09f,
+-3.945011928e-09f, -3.944238154e-09f, -3.943457482e-09f, -3.942669918e-09f, -3.941875468e-09f, -3.941074137e-09f, -3.940265931e-09f, -3.939450856e-09f, -3.938628918e-09f, -3.937800123e-09f,
+-3.936964477e-09f, -3.936121985e-09f, -3.935272654e-09f, -3.934416488e-09f, -3.933553496e-09f, -3.932683681e-09f, -3.931807050e-09f, -3.930923609e-09f, -3.930033365e-09f, -3.929136322e-09f,
+-3.928232487e-09f, -3.927321865e-09f, -3.926404464e-09f, -3.925480288e-09f, -3.924549345e-09f, -3.923611639e-09f, -3.922667177e-09f, -3.921715965e-09f, -3.920758008e-09f, -3.919793314e-09f,
+-3.918821888e-09f, -3.917843736e-09f, -3.916858865e-09f, -3.915867279e-09f, -3.914868987e-09f, -3.913863992e-09f, -3.912852303e-09f, -3.911833924e-09f, -3.910808862e-09f, -3.909777124e-09f,
+-3.908738714e-09f, -3.907693640e-09f, -3.906641908e-09f, -3.905583524e-09f, -3.904518493e-09f, -3.903446823e-09f, -3.902368520e-09f, -3.901283589e-09f, -3.900192037e-09f, -3.899093871e-09f,
+-3.897989096e-09f, -3.896877719e-09f, -3.895759745e-09f, -3.894635182e-09f, -3.893504036e-09f, -3.892366313e-09f, -3.891222019e-09f, -3.890071160e-09f, -3.888913744e-09f, -3.887749776e-09f,
+-3.886579262e-09f, -3.885402210e-09f, -3.884218625e-09f, -3.883028513e-09f, -3.881831882e-09f, -3.880628738e-09f, -3.879419086e-09f, -3.878202934e-09f, -3.876980288e-09f, -3.875751154e-09f,
+-3.874515538e-09f, -3.873273448e-09f, -3.872024890e-09f, -3.870769870e-09f, -3.869508394e-09f, -3.868240470e-09f, -3.866966103e-09f, -3.865685301e-09f, -3.864398069e-09f, -3.863104414e-09f,
+-3.861804343e-09f, -3.860497862e-09f, -3.859184979e-09f, -3.857865698e-09f, -3.856540028e-09f, -3.855207975e-09f, -3.853869544e-09f, -3.852524744e-09f, -3.851173579e-09f, -3.849816058e-09f,
+-3.848452187e-09f, -3.847081972e-09f, -3.845705420e-09f, -3.844322537e-09f, -3.842933331e-09f, -3.841537808e-09f, -3.840135974e-09f, -3.838727837e-09f, -3.837313403e-09f, -3.835892679e-09f,
+-3.834465671e-09f, -3.833032387e-09f, -3.831592832e-09f, -3.830147014e-09f, -3.828694940e-09f, -3.827236616e-09f, -3.825772048e-09f, -3.824301245e-09f, -3.822824212e-09f, -3.821340957e-09f,
+-3.819851486e-09f, -3.818355805e-09f, -3.816853923e-09f, -3.815345845e-09f, -3.813831579e-09f, -3.812311131e-09f, -3.810784508e-09f, -3.809251717e-09f, -3.807712765e-09f, -3.806167659e-09f,
+-3.804616406e-09f, -3.803059012e-09f, -3.801495485e-09f, -3.799925831e-09f, -3.798350058e-09f, -3.796768172e-09f, -3.795180180e-09f, -3.793586089e-09f, -3.791985906e-09f, -3.790379639e-09f,
+-3.788767293e-09f, -3.787148877e-09f, -3.785524397e-09f, -3.783893859e-09f, -3.782257272e-09f, -3.780614642e-09f, -3.778965975e-09f, -3.777311280e-09f, -3.775650563e-09f, -3.773983831e-09f,
+-3.772311092e-09f, -3.770632352e-09f, -3.768947618e-09f, -3.767256897e-09f, -3.765560197e-09f, -3.763857525e-09f, -3.762148887e-09f, -3.760434291e-09f, -3.758713744e-09f, -3.756987254e-09f,
+-3.755254826e-09f, -3.753516469e-09f, -3.751772189e-09f, -3.750021994e-09f, -3.748265890e-09f, -3.746503886e-09f, -3.744735987e-09f, -3.742962202e-09f, -3.741182538e-09f, -3.739397001e-09f,
+-3.737605599e-09f, -3.735808340e-09f, -3.734005229e-09f, -3.732196276e-09f, -3.730381486e-09f, -3.728560867e-09f, -3.726734427e-09f, -3.724902172e-09f, -3.723064110e-09f, -3.721220248e-09f,
+-3.719370594e-09f, -3.717515154e-09f, -3.715653936e-09f, -3.713786948e-09f, -3.711914196e-09f, -3.710035688e-09f, -3.708151432e-09f, -3.706261434e-09f, -3.704365702e-09f, -3.702464243e-09f,
+-3.700557065e-09f, -3.698644175e-09f, -3.696725580e-09f, -3.694801288e-09f, -3.692871306e-09f, -3.690935642e-09f, -3.688994303e-09f, -3.687047296e-09f, -3.685094629e-09f, -3.683136308e-09f,
+-3.681172343e-09f, -3.679202740e-09f, -3.677227506e-09f, -3.675246648e-09f, -3.673260176e-09f, -3.671268095e-09f, -3.669270413e-09f, -3.667267138e-09f, -3.665258278e-09f, -3.663243839e-09f,
+-3.661223830e-09f, -3.659198257e-09f, -3.657167128e-09f, -3.655130451e-09f, -3.653088234e-09f, -3.651040483e-09f, -3.648987207e-09f, -3.646928412e-09f, -3.644864107e-09f, -3.642794299e-09f,
+-3.640718996e-09f, -3.638638204e-09f, -3.636551933e-09f, -3.634460188e-09f, -3.632362979e-09f, -3.630260312e-09f, -3.628152195e-09f, -3.626038636e-09f, -3.623919642e-09f, -3.621795220e-09f,
+-3.619665380e-09f, -3.617530128e-09f, -3.615389471e-09f, -3.613243418e-09f, -3.611091976e-09f, -3.608935153e-09f, -3.606772956e-09f, -3.604605393e-09f, -3.602432473e-09f, -3.600254201e-09f,
+-3.598070587e-09f, -3.595881638e-09f, -3.593687361e-09f, -3.591487764e-09f, -3.589282856e-09f, -3.587072643e-09f, -3.584857134e-09f, -3.582636335e-09f, -3.580410256e-09f, -3.578178903e-09f,
+-3.575942285e-09f, -3.573700409e-09f, -3.571453283e-09f, -3.569200915e-09f, -3.566943312e-09f, -3.564680482e-09f, -3.562412433e-09f, -3.560139173e-09f, -3.557860710e-09f, -3.555577052e-09f,
+-3.553288205e-09f, -3.550994179e-09f, -3.548694980e-09f, -3.546390617e-09f, -3.544081098e-09f, -3.541766430e-09f, -3.539446622e-09f, -3.537121680e-09f, -3.534791614e-09f, -3.532456430e-09f,
+-3.530116137e-09f, -3.527770742e-09f, -3.525420254e-09f, -3.523064681e-09f, -3.520704029e-09f, -3.518338308e-09f, -3.515967524e-09f, -3.513591687e-09f, -3.511210803e-09f, -3.508824881e-09f,
+-3.506433929e-09f, -3.504037954e-09f, -3.501636965e-09f, -3.499230970e-09f, -3.496819976e-09f, -3.494403991e-09f, -3.491983023e-09f, -3.489557081e-09f, -3.487126172e-09f, -3.484690305e-09f,
+-3.482249486e-09f, -3.479803725e-09f, -3.477353029e-09f, -3.474897406e-09f, -3.472436864e-09f, -3.469971412e-09f, -3.467501056e-09f, -3.465025806e-09f, -3.462545669e-09f, -3.460060653e-09f,
+-3.457570767e-09f, -3.455076018e-09f, -3.452576414e-09f, -3.450071964e-09f, -3.447562675e-09f, -3.445048555e-09f, -3.442529614e-09f, -3.440005857e-09f, -3.437477295e-09f, -3.434943934e-09f,
+-3.432405783e-09f, -3.429862850e-09f, -3.427315143e-09f, -3.424762670e-09f, -3.422205439e-09f, -3.419643459e-09f, -3.417076737e-09f, -3.414505281e-09f, -3.411929100e-09f, -3.409348202e-09f,
+-3.406762595e-09f, -3.404172287e-09f, -3.401577286e-09f, -3.398977600e-09f, -3.396373238e-09f, -3.393764207e-09f, -3.391150516e-09f, -3.388532173e-09f, -3.385909186e-09f, -3.383281564e-09f,
+-3.380649313e-09f, -3.378012444e-09f, -3.375370963e-09f, -3.372724879e-09f, -3.370074200e-09f, -3.367418935e-09f, -3.364759091e-09f, -3.362094676e-09f, -3.359425700e-09f, -3.356752170e-09f,
+-3.354074094e-09f, -3.351391481e-09f, -3.348704339e-09f, -3.346012676e-09f, -3.343316500e-09f, -3.340615819e-09f, -3.337910642e-09f, -3.335200978e-09f, -3.332486833e-09f, -3.329768217e-09f,
+-3.327045138e-09f, -3.324317604e-09f, -3.321585623e-09f, -3.318849204e-09f, -3.316108355e-09f, -3.313363083e-09f, -3.310613399e-09f, -3.307859308e-09f, -3.305100821e-09f, -3.302337945e-09f,
+-3.299570689e-09f, -3.296799060e-09f, -3.294023068e-09f, -3.291242720e-09f, -3.288458025e-09f, -3.285668991e-09f, -3.282875627e-09f, -3.280077940e-09f, -3.277275940e-09f, -3.274469634e-09f,
+-3.271659030e-09f, -3.268844138e-09f, -3.266024965e-09f, -3.263201520e-09f, -3.260373811e-09f, -3.257541847e-09f, -3.254705635e-09f, -3.251865185e-09f, -3.249020504e-09f, -3.246171601e-09f,
+-3.243318485e-09f, -3.240461163e-09f, -3.237599644e-09f, -3.234733937e-09f, -3.231864050e-09f, -3.228989991e-09f, -3.226111768e-09f, -3.223229391e-09f, -3.220342867e-09f, -3.217452205e-09f,
+-3.214557413e-09f, -3.211658499e-09f, -3.208755473e-09f, -3.205848342e-09f, -3.202937115e-09f, -3.200021801e-09f, -3.197102407e-09f, -3.194178942e-09f, -3.191251415e-09f, -3.188319834e-09f,
+-3.185384207e-09f, -3.182444544e-09f, -3.179500852e-09f, -3.176553139e-09f, -3.173601415e-09f, -3.170645687e-09f, -3.167685965e-09f, -3.164722256e-09f, -3.161754570e-09f, -3.158782914e-09f,
+-3.155807297e-09f, -3.152827727e-09f, -3.149844214e-09f, -3.146856765e-09f, -3.143865389e-09f, -3.140870094e-09f, -3.137870889e-09f, -3.134867783e-09f, -3.131860784e-09f, -3.128849899e-09f,
+-3.125835139e-09f, -3.122816511e-09f, -3.119794024e-09f, -3.116767687e-09f, -3.113737507e-09f, -3.110703494e-09f, -3.107665656e-09f, -3.104624001e-09f, -3.101578538e-09f, -3.098529275e-09f,
+-3.095476222e-09f, -3.092419386e-09f, -3.089358776e-09f, -3.086294400e-09f, -3.083226268e-09f, -3.080154388e-09f, -3.077078767e-09f, -3.073999416e-09f, -3.070916341e-09f, -3.067829553e-09f,
+-3.064739059e-09f, -3.061644868e-09f, -3.058546988e-09f, -3.055445428e-09f, -3.052340197e-09f, -3.049231303e-09f, -3.046118755e-09f, -3.043002561e-09f, -3.039882730e-09f, -3.036759270e-09f,
+-3.033632190e-09f, -3.030501499e-09f, -3.027367205e-09f, -3.024229317e-09f, -3.021087843e-09f, -3.017942791e-09f, -3.014794172e-09f, -3.011641992e-09f, -3.008486261e-09f, -3.005326987e-09f,
+-3.002164179e-09f, -2.998997845e-09f, -2.995827995e-09f, -2.992654636e-09f, -2.989477777e-09f, -2.986297427e-09f, -2.983113594e-09f, -2.979926288e-09f, -2.976735516e-09f, -2.973541287e-09f,
+-2.970343610e-09f, -2.967142493e-09f, -2.963937946e-09f, -2.960729976e-09f, -2.957518592e-09f, -2.954303804e-09f, -2.951085619e-09f, -2.947864046e-09f, -2.944639094e-09f, -2.941410771e-09f,
+-2.938179086e-09f, -2.934944048e-09f, -2.931705666e-09f, -2.928463947e-09f, -2.925218901e-09f, -2.921970535e-09f, -2.918718860e-09f, -2.915463883e-09f, -2.912205614e-09f, -2.908944060e-09f,
+-2.905679230e-09f, -2.902411134e-09f, -2.899139779e-09f, -2.895865175e-09f, -2.892587329e-09f, -2.889306251e-09f, -2.886021950e-09f, -2.882734433e-09f, -2.879443710e-09f, -2.876149789e-09f,
+-2.872852679e-09f, -2.869552389e-09f, -2.866248927e-09f, -2.862942301e-09f, -2.859632522e-09f, -2.856319596e-09f, -2.853003533e-09f, -2.849684342e-09f, -2.846362031e-09f, -2.843036609e-09f,
+-2.839708084e-09f, -2.836376466e-09f, -2.833041762e-09f, -2.829703982e-09f, -2.826363134e-09f, -2.823019227e-09f, -2.819672269e-09f, -2.816322270e-09f, -2.812969238e-09f, -2.809613181e-09f,
+-2.806254108e-09f, -2.802892029e-09f, -2.799526951e-09f, -2.796158883e-09f, -2.792787834e-09f, -2.789413813e-09f, -2.786036828e-09f, -2.782656888e-09f, -2.779274002e-09f, -2.775888178e-09f,
+-2.772499425e-09f, -2.769107752e-09f, -2.765713167e-09f, -2.762315680e-09f, -2.758915298e-09f, -2.755512031e-09f, -2.752105887e-09f, -2.748696874e-09f, -2.745285003e-09f, -2.741870280e-09f,
+-2.738452716e-09f, -2.735032318e-09f, -2.731609095e-09f, -2.728183057e-09f, -2.724754211e-09f, -2.721322566e-09f, -2.717888132e-09f, -2.714450916e-09f, -2.711010928e-09f, -2.707568176e-09f,
+-2.704122668e-09f, -2.700674415e-09f, -2.697223423e-09f, -2.693769703e-09f, -2.690313262e-09f, -2.686854109e-09f, -2.683392254e-09f, -2.679927704e-09f, -2.676460469e-09f, -2.672990556e-09f,
+-2.669517976e-09f, -2.666042736e-09f, -2.662564845e-09f, -2.659084312e-09f, -2.655601146e-09f, -2.652115355e-09f, -2.648626947e-09f, -2.645135933e-09f, -2.641642320e-09f, -2.638146117e-09f,
+-2.634647333e-09f, -2.631145976e-09f, -2.627642056e-09f, -2.624135580e-09f, -2.620626558e-09f, -2.617114998e-09f, -2.613600909e-09f, -2.610084299e-09f, -2.606565178e-09f, -2.603043554e-09f,
+-2.599519436e-09f, -2.595992832e-09f, -2.592463751e-09f, -2.588932202e-09f, -2.585398194e-09f, -2.581861735e-09f, -2.578322833e-09f, -2.574781498e-09f, -2.571237739e-09f, -2.567691563e-09f,
+-2.564142980e-09f, -2.560591999e-09f, -2.557038627e-09f, -2.553482874e-09f, -2.549924749e-09f, -2.546364259e-09f, -2.542801415e-09f, -2.539236224e-09f, -2.535668695e-09f, -2.532098837e-09f,
+-2.528526658e-09f, -2.524952168e-09f, -2.521375375e-09f, -2.517796287e-09f, -2.514214913e-09f, -2.510631263e-09f, -2.507045344e-09f, -2.503457165e-09f, -2.499866735e-09f, -2.496274063e-09f,
+-2.492679158e-09f, -2.489082027e-09f, -2.485482681e-09f, -2.481881126e-09f, -2.478277373e-09f, -2.474671429e-09f, -2.471063304e-09f, -2.467453006e-09f, -2.463840544e-09f, -2.460225926e-09f,
+-2.456609161e-09f, -2.452990258e-09f, -2.449369225e-09f, -2.445746072e-09f, -2.442120806e-09f, -2.438493437e-09f, -2.434863973e-09f, -2.431232422e-09f, -2.427598795e-09f, -2.423963098e-09f,
+-2.420325341e-09f, -2.416685532e-09f, -2.413043680e-09f, -2.409399795e-09f, -2.405753883e-09f, -2.402105955e-09f, -2.398456018e-09f, -2.394804082e-09f, -2.391150154e-09f, -2.387494245e-09f,
+-2.383836361e-09f, -2.380176513e-09f, -2.376514708e-09f, -2.372850955e-09f, -2.369185263e-09f, -2.365517641e-09f, -2.361848097e-09f, -2.358176639e-09f, -2.354503277e-09f, -2.350828019e-09f,
+-2.347150874e-09f, -2.343471850e-09f, -2.339790956e-09f, -2.336108201e-09f, -2.332423593e-09f, -2.328737141e-09f, -2.325048853e-09f, -2.321358738e-09f, -2.317666805e-09f, -2.313973063e-09f,
+-2.310277519e-09f, -2.306580183e-09f, -2.302881063e-09f, -2.299180168e-09f, -2.295477506e-09f, -2.291773086e-09f, -2.288066917e-09f, -2.284359007e-09f, -2.280649365e-09f, -2.276937999e-09f,
+-2.273224919e-09f, -2.269510132e-09f, -2.265793647e-09f, -2.262075473e-09f, -2.258355619e-09f, -2.254634092e-09f, -2.250910902e-09f, -2.247186057e-09f, -2.243459567e-09f, -2.239731438e-09f,
+-2.236001680e-09f, -2.232270302e-09f, -2.228537312e-09f, -2.224802719e-09f, -2.221066531e-09f, -2.217328757e-09f, -2.213589405e-09f, -2.209848484e-09f, -2.206106002e-09f, -2.202361969e-09f,
+-2.198616392e-09f, -2.194869281e-09f, -2.191120643e-09f, -2.187370488e-09f, -2.183618823e-09f, -2.179865658e-09f, -2.176111001e-09f, -2.172354861e-09f, -2.168597245e-09f, -2.164838163e-09f,
+-2.161077623e-09f, -2.157315634e-09f, -2.153552204e-09f, -2.149787342e-09f, -2.146021056e-09f, -2.142253354e-09f, -2.138484247e-09f, -2.134713740e-09f, -2.130941845e-09f, -2.127168568e-09f,
+-2.123393918e-09f, -2.119617905e-09f, -2.115840536e-09f, -2.112061819e-09f, -2.108281765e-09f, -2.104500380e-09f, -2.100717673e-09f, -2.096933654e-09f, -2.093148329e-09f, -2.089361709e-09f,
+-2.085573801e-09f, -2.081784614e-09f, -2.077994157e-09f, -2.074202437e-09f, -2.070409463e-09f, -2.066615245e-09f, -2.062819789e-09f, -2.059023105e-09f, -2.055225202e-09f, -2.051426087e-09f,
+-2.047625769e-09f, -2.043824257e-09f, -2.040021559e-09f, -2.036217683e-09f, -2.032412638e-09f, -2.028606433e-09f, -2.024799076e-09f, -2.020990574e-09f, -2.017180938e-09f, -2.013370174e-09f,
+-2.009558293e-09f, -2.005745301e-09f, -2.001931207e-09f, -1.998116021e-09f, -1.994299750e-09f, -1.990482402e-09f, -1.986663987e-09f, -1.982844512e-09f, -1.979023986e-09f, -1.975202417e-09f,
+-1.971379814e-09f, -1.967556185e-09f, -1.963731539e-09f, -1.959905883e-09f, -1.956079227e-09f, -1.952251579e-09f, -1.948422946e-09f, -1.944593339e-09f, -1.940762763e-09f, -1.936931230e-09f,
+-1.933098745e-09f, -1.929265319e-09f, -1.925430959e-09f, -1.921595673e-09f, -1.917759471e-09f, -1.913922360e-09f, -1.910084348e-09f, -1.906245445e-09f, -1.902405658e-09f, -1.898564996e-09f,
+-1.894723467e-09f, -1.890881079e-09f, -1.887037841e-09f, -1.883193761e-09f, -1.879348848e-09f, -1.875503109e-09f, -1.871656553e-09f, -1.867809189e-09f, -1.863961024e-09f, -1.860112067e-09f,
+-1.856262326e-09f, -1.852411810e-09f, -1.848560526e-09f, -1.844708484e-09f, -1.840855691e-09f, -1.837002156e-09f, -1.833147887e-09f, -1.829292892e-09f, -1.825437179e-09f, -1.821580758e-09f,
+-1.817723635e-09f, -1.813865820e-09f, -1.810007320e-09f, -1.806148144e-09f, -1.802288300e-09f, -1.798427796e-09f, -1.794566641e-09f, -1.790704842e-09f, -1.786842409e-09f, -1.782979349e-09f,
+-1.779115670e-09f, -1.775251381e-09f, -1.771386490e-09f, -1.767521005e-09f, -1.763654934e-09f, -1.759788286e-09f, -1.755921068e-09f, -1.752053289e-09f, -1.748184958e-09f, -1.744316082e-09f,
+-1.740446669e-09f, -1.736576728e-09f, -1.732706266e-09f, -1.728835293e-09f, -1.724963816e-09f, -1.721091843e-09f, -1.717219383e-09f, -1.713346443e-09f, -1.709473033e-09f, -1.705599159e-09f,
+-1.701724830e-09f, -1.697850055e-09f, -1.693974840e-09f, -1.690099196e-09f, -1.686223129e-09f, -1.682346648e-09f, -1.678469760e-09f, -1.674592475e-09f, -1.670714799e-09f, -1.666836742e-09f,
+-1.662958311e-09f, -1.659079515e-09f, -1.655200361e-09f, -1.651320858e-09f, -1.647441013e-09f, -1.643560835e-09f, -1.639680332e-09f, -1.635799512e-09f, -1.631918382e-09f, -1.628036952e-09f,
+-1.624155228e-09f, -1.620273220e-09f, -1.616390935e-09f, -1.612508381e-09f, -1.608625567e-09f, -1.604742499e-09f, -1.600859187e-09f, -1.596975638e-09f, -1.593091861e-09f, -1.589207863e-09f,
+-1.585323652e-09f, -1.581439237e-09f, -1.577554625e-09f, -1.573669824e-09f, -1.569784843e-09f, -1.565899689e-09f, -1.562014370e-09f, -1.558128895e-09f, -1.554243271e-09f, -1.550357506e-09f,
+-1.546471609e-09f, -1.542585586e-09f, -1.538699447e-09f, -1.534813199e-09f, -1.530926850e-09f, -1.527040407e-09f, -1.523153880e-09f, -1.519267275e-09f, -1.515380601e-09f, -1.511493866e-09f,
+-1.507607078e-09f, -1.503720243e-09f, -1.499833372e-09f, -1.495946470e-09f, -1.492059547e-09f, -1.488172609e-09f, -1.484285666e-09f, -1.480398724e-09f, -1.476511793e-09f, -1.472624878e-09f,
+-1.468737990e-09f, -1.464851134e-09f, -1.460964320e-09f, -1.457077554e-09f, -1.453190846e-09f, -1.449304202e-09f, -1.445417630e-09f, -1.441531139e-09f, -1.437644736e-09f, -1.433758429e-09f,
+-1.429872226e-09f, -1.425986135e-09f, -1.422100162e-09f, -1.418214318e-09f, -1.414328608e-09f, -1.410443040e-09f, -1.406557624e-09f, -1.402672365e-09f, -1.398787273e-09f, -1.394902355e-09f,
+-1.391017618e-09f, -1.387133071e-09f, -1.383248720e-09f, -1.379364575e-09f, -1.375480642e-09f, -1.371596930e-09f, -1.367713446e-09f, -1.363830197e-09f, -1.359947192e-09f, -1.356064438e-09f,
+-1.352181943e-09f, -1.348299715e-09f, -1.344417761e-09f, -1.340536089e-09f, -1.336654707e-09f, -1.332773622e-09f, -1.328892842e-09f, -1.325012375e-09f, -1.321132228e-09f, -1.317252409e-09f,
+-1.313372926e-09f, -1.309493786e-09f, -1.305614998e-09f, -1.301736567e-09f, -1.297858503e-09f, -1.293980813e-09f, -1.290103505e-09f, -1.286226585e-09f, -1.282350062e-09f, -1.278473943e-09f,
+-1.274598237e-09f, -1.270722949e-09f, -1.266848089e-09f, -1.262973663e-09f, -1.259099680e-09f, -1.255226146e-09f, -1.251353069e-09f, -1.247480458e-09f, -1.243608318e-09f, -1.239736659e-09f,
+-1.235865487e-09f, -1.231994810e-09f, -1.228124636e-09f, -1.224254972e-09f, -1.220385825e-09f, -1.216517204e-09f, -1.212649115e-09f, -1.208781566e-09f, -1.204914564e-09f, -1.201048118e-09f,
+-1.197182234e-09f, -1.193316920e-09f, -1.189452184e-09f, -1.185588032e-09f, -1.181724473e-09f, -1.177861514e-09f, -1.173999161e-09f, -1.170137424e-09f, -1.166276308e-09f, -1.162415822e-09f,
+-1.158555974e-09f, -1.154696769e-09f, -1.150838216e-09f, -1.146980322e-09f, -1.143123095e-09f, -1.139266542e-09f, -1.135410670e-09f, -1.131555487e-09f, -1.127700999e-09f, -1.123847215e-09f,
+-1.119994142e-09f, -1.116141787e-09f, -1.112290158e-09f, -1.108439261e-09f, -1.104589104e-09f, -1.100739695e-09f, -1.096891040e-09f, -1.093043148e-09f, -1.089196024e-09f, -1.085349678e-09f,
+-1.081504115e-09f, -1.077659344e-09f, -1.073815371e-09f, -1.069972204e-09f, -1.066129850e-09f, -1.062288316e-09f, -1.058447610e-09f, -1.054607739e-09f, -1.050768709e-09f, -1.046930529e-09f,
+-1.043093205e-09f, -1.039256746e-09f, -1.035421157e-09f, -1.031586446e-09f, -1.027752620e-09f, -1.023919687e-09f, -1.020087654e-09f, -1.016256528e-09f, -1.012426315e-09f, -1.008597024e-09f,
+-1.004768661e-09f, -1.000941234e-09f, -9.971147499e-10f, -9.932892153e-10f, -9.894646377e-10f, -9.856410242e-10f, -9.818183819e-10f, -9.779967180e-10f, -9.741760395e-10f, -9.703563535e-10f,
+-9.665376672e-10f, -9.627199877e-10f, -9.589033219e-10f, -9.550876770e-10f, -9.512730601e-10f, -9.474594782e-10f, -9.436469384e-10f, -9.398354477e-10f, -9.360250131e-10f, -9.322156418e-10f,
+-9.284073406e-10f, -9.246001167e-10f, -9.207939771e-10f, -9.169889287e-10f, -9.131849785e-10f, -9.093821336e-10f, -9.055804010e-10f, -9.017797876e-10f, -8.979803003e-10f, -8.941819462e-10f,
+-8.903847322e-10f, -8.865886653e-10f, -8.827937524e-10f, -8.790000004e-10f, -8.752074163e-10f, -8.714160070e-10f, -8.676257794e-10f, -8.638367405e-10f, -8.600488970e-10f, -8.562622560e-10f,
+-8.524768243e-10f, -8.486926088e-10f, -8.449096163e-10f, -8.411278538e-10f, -8.373473281e-10f, -8.335680460e-10f, -8.297900145e-10f, -8.260132402e-10f, -8.222377301e-10f, -8.184634910e-10f,
+-8.146905297e-10f, -8.109188531e-10f, -8.071484678e-10f, -8.033793808e-10f, -7.996115987e-10f, -7.958451285e-10f, -7.920799768e-10f, -7.883161504e-10f, -7.845536561e-10f, -7.807925007e-10f,
+-7.770326908e-10f, -7.732742333e-10f, -7.695171349e-10f, -7.657614022e-10f, -7.620070420e-10f, -7.582540610e-10f, -7.545024659e-10f, -7.507522634e-10f, -7.470034603e-10f, -7.432560630e-10f,
+-7.395100785e-10f, -7.357655132e-10f, -7.320223739e-10f, -7.282806672e-10f, -7.245403998e-10f, -7.208015783e-10f, -7.170642093e-10f, -7.133282994e-10f, -7.095938553e-10f, -7.058608836e-10f,
+-7.021293909e-10f, -6.983993836e-10f, -6.946708686e-10f, -6.909438522e-10f, -6.872183412e-10f, -6.834943419e-10f, -6.797718611e-10f, -6.760509052e-10f, -6.723314809e-10f, -6.686135945e-10f,
+-6.648972527e-10f, -6.611824619e-10f, -6.574692287e-10f, -6.537575595e-10f, -6.500474610e-10f, -6.463389394e-10f, -6.426320014e-10f, -6.389266534e-10f, -6.352229019e-10f, -6.315207533e-10f,
+-6.278202140e-10f, -6.241212905e-10f, -6.204239893e-10f, -6.167283167e-10f, -6.130342792e-10f, -6.093418833e-10f, -6.056511351e-10f, -6.019620413e-10f, -5.982746082e-10f, -5.945888421e-10f,
+-5.909047494e-10f, -5.872223365e-10f, -5.835416098e-10f, -5.798625755e-10f, -5.761852401e-10f, -5.725096098e-10f, -5.688356910e-10f, -5.651634901e-10f, -5.614930132e-10f, -5.578242668e-10f,
+-5.541572570e-10f, -5.504919903e-10f, -5.468284728e-10f, -5.431667109e-10f, -5.395067107e-10f, -5.358484787e-10f, -5.321920209e-10f, -5.285373437e-10f, -5.248844532e-10f, -5.212333558e-10f,
+-5.175840575e-10f, -5.139365647e-10f, -5.102908835e-10f, -5.066470201e-10f, -5.030049807e-10f, -4.993647714e-10f, -4.957263985e-10f, -4.920898681e-10f, -4.884551864e-10f, -4.848223594e-10f,
+-4.811913933e-10f, -4.775622943e-10f, -4.739350685e-10f, -4.703097219e-10f, -4.666862608e-10f, -4.630646911e-10f, -4.594450190e-10f, -4.558272505e-10f, -4.522113917e-10f, -4.485974488e-10f,
+-4.449854276e-10f, -4.413753344e-10f, -4.377671751e-10f, -4.341609557e-10f, -4.305566823e-10f, -4.269543609e-10f, -4.233539975e-10f, -4.197555981e-10f, -4.161591686e-10f, -4.125647152e-10f,
+-4.089722437e-10f, -4.053817601e-10f, -4.017932703e-10f, -3.982067804e-10f, -3.946222962e-10f, -3.910398237e-10f, -3.874593689e-10f, -3.838809375e-10f, -3.803045356e-10f, -3.767301690e-10f,
+-3.731578437e-10f, -3.695875655e-10f, -3.660193403e-10f, -3.624531739e-10f, -3.588890723e-10f, -3.553270412e-10f, -3.517670865e-10f, -3.482092141e-10f, -3.446534297e-10f, -3.410997392e-10f,
+-3.375481484e-10f, -3.339986632e-10f, -3.304512892e-10f, -3.269060323e-10f, -3.233628982e-10f, -3.198218927e-10f, -3.162830217e-10f, -3.127462907e-10f, -3.092117056e-10f, -3.056792722e-10f,
+-3.021489960e-10f, -2.986208829e-10f, -2.950949386e-10f, -2.915711687e-10f, -2.880495789e-10f, -2.845301750e-10f, -2.810129626e-10f, -2.774979474e-10f, -2.739851350e-10f, -2.704745311e-10f,
+-2.669661413e-10f, -2.634599713e-10f, -2.599560266e-10f, -2.564543130e-10f, -2.529548359e-10f, -2.494576011e-10f, -2.459626140e-10f, -2.424698804e-10f, -2.389794056e-10f, -2.354911954e-10f,
+-2.320052553e-10f, -2.285215908e-10f, -2.250402074e-10f, -2.215611108e-10f, -2.180843063e-10f, -2.146097996e-10f, -2.111375961e-10f, -2.076677013e-10f, -2.042001207e-10f, -2.007348599e-10f,
+-1.972719242e-10f, -1.938113191e-10f, -1.903530501e-10f, -1.868971226e-10f, -1.834435421e-10f, -1.799923140e-10f, -1.765434437e-10f, -1.730969366e-10f, -1.696527982e-10f, -1.662110337e-10f,
+-1.627716487e-10f, -1.593346484e-10f, -1.559000383e-10f, -1.524678237e-10f, -1.490380099e-10f, -1.456106023e-10f, -1.421856062e-10f, -1.387630270e-10f, -1.353428700e-10f, -1.319251404e-10f,
+-1.285098436e-10f, -1.250969848e-10f, -1.216865694e-10f, -1.182786025e-10f, -1.148730896e-10f, -1.114700358e-10f, -1.080694463e-10f, -1.046713264e-10f, -1.012756814e-10f, -9.788251641e-11f,
+-9.449183669e-11f, -9.110364743e-11f, -8.771795382e-11f, -8.433476105e-11f, -8.095407428e-11f, -7.757589870e-11f, -7.420023945e-11f, -7.082710167e-11f, -6.745649053e-11f, -6.408841113e-11f,
+-6.072286860e-11f, -5.735986806e-11f, -5.399941461e-11f, -5.064151335e-11f, -4.728616936e-11f, -4.393338771e-11f, -4.058317348e-11f, -3.723553173e-11f, -3.389046751e-11f, -3.054798585e-11f,
+-2.720809180e-11f, -2.387079037e-11f, -2.053608658e-11f, -1.720398544e-11f, -1.387449194e-11f, -1.054761107e-11f, -7.223347816e-12f, -3.901707142e-12f, -3.901707142e-12f
+};
diff --git a/intern/audaspace/intern/AUD_LinearResampleFactory.cpp b/intern/audaspace/intern/AUD_LinearResampleFactory.cpp
index a90dc5cb860..7bedd93b7d5 100644
--- a/intern/audaspace/intern/AUD_LinearResampleFactory.cpp
+++ b/intern/audaspace/intern/AUD_LinearResampleFactory.cpp
@@ -32,18 +32,13 @@
#include "AUD_LinearResampleFactory.h"
#include "AUD_LinearResampleReader.h"
-AUD_LinearResampleFactory::AUD_LinearResampleFactory(AUD_IFactory* factory,
+AUD_LinearResampleFactory::AUD_LinearResampleFactory(AUD_Reference<AUD_IFactory> factory,
AUD_DeviceSpecs specs) :
- AUD_ResampleFactory(factory, specs)
+ AUD_MixerFactory(factory, specs)
{
}
-AUD_IReader* AUD_LinearResampleFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_LinearResampleFactory::createReader()
{
- AUD_IReader* reader = getReader();
-
- if(reader->getSpecs().rate != m_specs.rate)
- reader = new AUD_LinearResampleReader(reader, m_specs.specs);
-
- return reader;
+ return new AUD_LinearResampleReader(getReader(), m_specs.specs);
}
diff --git a/intern/audaspace/intern/AUD_LinearResampleFactory.h b/intern/audaspace/intern/AUD_LinearResampleFactory.h
index 678aa0b80cb..6fb101aa708 100644
--- a/intern/audaspace/intern/AUD_LinearResampleFactory.h
+++ b/intern/audaspace/intern/AUD_LinearResampleFactory.h
@@ -32,12 +32,12 @@
#ifndef AUD_LINEARRESAMPLEFACTORY
#define AUD_LINEARRESAMPLEFACTORY
-#include "AUD_ResampleFactory.h"
+#include "AUD_MixerFactory.h"
/**
* This factory creates a resampling reader that does simple linear resampling.
*/
-class AUD_LinearResampleFactory : public AUD_ResampleFactory
+class AUD_LinearResampleFactory : public AUD_MixerFactory
{
private:
// hide copy constructor and operator=
@@ -45,9 +45,14 @@ private:
AUD_LinearResampleFactory& operator=(const AUD_LinearResampleFactory&);
public:
- AUD_LinearResampleFactory(AUD_IFactory* factory, AUD_DeviceSpecs specs);
-
- virtual AUD_IReader* createReader() const;
+ /**
+ * Creates a new factory.
+ * \param factory The input factory.
+ * \param specs The target specifications.
+ */
+ AUD_LinearResampleFactory(AUD_Reference<AUD_IFactory> factory, AUD_DeviceSpecs specs);
+
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_LINEARRESAMPLEFACTORY
diff --git a/intern/audaspace/intern/AUD_LinearResampleReader.cpp b/intern/audaspace/intern/AUD_LinearResampleReader.cpp
index 05fb39b2cca..599be29f1d7 100644
--- a/intern/audaspace/intern/AUD_LinearResampleReader.cpp
+++ b/intern/audaspace/intern/AUD_LinearResampleReader.cpp
@@ -34,95 +34,152 @@
#include <cmath>
#include <cstring>
-#define CC channels + channel
+#define CC m_channels + channel
-AUD_LinearResampleReader::AUD_LinearResampleReader(AUD_IReader* reader,
+AUD_LinearResampleReader::AUD_LinearResampleReader(AUD_Reference<AUD_IReader> reader,
AUD_Specs specs) :
- AUD_EffectReader(reader),
- m_sspecs(reader->getSpecs()),
- m_factor(float(specs.rate) / float(m_sspecs.rate)),
- m_tspecs(specs),
- m_position(0),
- m_sposition(0)
+ AUD_ResampleReader(reader, specs.rate),
+ m_channels(reader->getSpecs().channels),
+ m_cache_pos(0),
+ m_cache_ok(false)
{
- m_tspecs.channels = m_sspecs.channels;
- m_cache.resize(2 * AUD_SAMPLE_SIZE(m_tspecs));
+ specs.channels = m_channels;
+ m_cache.resize(2 * AUD_SAMPLE_SIZE(specs));
}
void AUD_LinearResampleReader::seek(int position)
{
- m_position = position;
- m_sposition = floor(position / m_factor);
- m_reader->seek(m_sposition);
+ position = floor(position * double(m_reader->getSpecs().rate) / double(m_rate));
+ m_reader->seek(position);
+ m_cache_ok = false;
+ m_cache_pos = 0;
}
int AUD_LinearResampleReader::getLength() const
{
- return m_reader->getLength() * m_factor;
+ return floor(m_reader->getLength() * double(m_rate) / double(m_reader->getSpecs().rate));
}
int AUD_LinearResampleReader::getPosition() const
{
- return m_position;
+ return floor((m_reader->getPosition() + (m_cache_ok ? m_cache_pos - 1 : 0))
+ * m_rate / m_reader->getSpecs().rate);
}
AUD_Specs AUD_LinearResampleReader::getSpecs() const
{
- return m_tspecs;
+ AUD_Specs specs = m_reader->getSpecs();
+ specs.rate = m_rate;
+ return specs;
}
-void AUD_LinearResampleReader::read(int & length, sample_t* & buffer)
+void AUD_LinearResampleReader::read(int& length, bool& eos, sample_t* buffer)
{
- int samplesize = AUD_SAMPLE_SIZE(m_tspecs);
- int size = length * samplesize;
+ if(length == 0)
+ return;
- if(m_buffer.getSize() < size)
- m_buffer.resize(size);
+ AUD_Specs specs = m_reader->getSpecs();
- int need = ceil((m_position + length) / m_factor) + 1 - m_sposition;
- int len = need;
+ int samplesize = AUD_SAMPLE_SIZE(specs);
+ int size = length;
+ float factor = m_rate / m_reader->getSpecs().rate;
+ float spos;
+ sample_t low, high;
+ eos = false;
+
+ // check for channels changed
+
+ if(specs.channels != m_channels)
+ {
+ m_cache.resize(2 * samplesize);
+ m_channels = specs.channels;
+ m_cache_ok = false;
+ }
+
+ if(factor == 1 && (!m_cache_ok || m_cache_pos == 1))
+ {
+ // can read directly!
+ m_reader->read(length, eos, buffer);
+
+ if(length > 0)
+ {
+ memcpy(m_cache.getBuffer() + m_channels, buffer + m_channels * (length - 1), samplesize);
+ m_cache_pos = 1;
+ m_cache_ok = true;
+ }
+
+ return;
+ }
+
+ int len;
sample_t* buf;
- buffer = m_buffer.getBuffer();
- m_reader->read(len, buf);
+ if(m_cache_ok)
+ {
+ int need = ceil(length / factor + m_cache_pos) - 1;
+
+ len = need;
- if(len < need)
- length = floor((m_sposition + len - 1) * m_factor) - m_position;
+ m_buffer.assureSize((len + 2) * samplesize);
+ buf = m_buffer.getBuffer();
- float spos;
- sample_t low, high;
- int channels = m_sspecs.channels;
+ memcpy(buf, m_cache.getBuffer(), 2 * samplesize);
+ m_reader->read(len, eos, buf + 2 * m_channels);
- for(int channel = 0; channel < channels; channel++)
+ if(len < need)
+ length = floor((len + 1 - m_cache_pos) * factor);
+ }
+ else
+ {
+ m_cache_pos = 1 - 1 / factor;
+
+ int need = ceil(length / factor + m_cache_pos);
+
+ len = need;
+
+ m_buffer.assureSize((len + 1) * samplesize);
+ buf = m_buffer.getBuffer();
+
+ memset(buf, 0, samplesize);
+ m_reader->read(len, eos, buf + m_channels);
+
+ if(len == 0)
+ {
+ length = 0;
+ return;
+ }
+
+ if(len < need)
+ {
+ length = floor((len - m_cache_pos) * factor);
+ }
+
+ m_cache_ok = true;
+ }
+
+ for(int channel = 0; channel < m_channels; channel++)
{
for(int i = 0; i < length; i++)
{
- spos = (m_position + i) / m_factor - m_sposition;
-
- if(floor(spos) < 0)
- {
- low = m_cache.getBuffer()[(int)(floor(spos) + 2) * CC];
- if(ceil(spos) < 0)
- high = m_cache.getBuffer()[(int)(ceil(spos) + 2) * CC];
- else
- high = buf[(int)ceil(spos) * CC];
- }
- else
- {
- low = buf[(int)floor(spos) * CC];
- high = buf[(int)ceil(spos) * CC];
- }
+ spos = (i + 1) / factor + m_cache_pos;
+
+ low = buf[(int)floor(spos) * CC];
+ high = buf[(int)ceil(spos) * CC];
+
buffer[i * CC] = low + (spos - floor(spos)) * (high - low);
}
}
- if(len > 1)
- memcpy(m_cache.getBuffer(),
- buf + (len - 2) * channels,
- 2 * samplesize);
- else if(len == 1)
- memcpy(m_cache.getBuffer() + 1 * channels, buf, samplesize);
+ if(floor(spos) == spos)
+ {
+ memcpy(m_cache.getBuffer() + m_channels, buf + int(floor(spos)) * m_channels, samplesize);
+ m_cache_pos = 1;
+ }
+ else
+ {
+ memcpy(m_cache.getBuffer(), buf + int(floor(spos)) * m_channels, 2 * samplesize);
+ m_cache_pos = spos - floor(spos);
+ }
- m_sposition += len;
- m_position += length;
+ eos &= length < size;
}
diff --git a/intern/audaspace/intern/AUD_LinearResampleReader.h b/intern/audaspace/intern/AUD_LinearResampleReader.h
index 419c96be2fa..8d8d67a53ab 100644
--- a/intern/audaspace/intern/AUD_LinearResampleReader.h
+++ b/intern/audaspace/intern/AUD_LinearResampleReader.h
@@ -32,39 +32,24 @@
#ifndef AUD_LINEARRESAMPLEREADER
#define AUD_LINEARRESAMPLEREADER
-#include "AUD_EffectReader.h"
+#include "AUD_ResampleReader.h"
#include "AUD_Buffer.h"
/**
- * This resampling reader uses libsamplerate for resampling.
+ * This resampling reader does simple first-order hold resampling.
*/
-class AUD_LinearResampleReader : public AUD_EffectReader
+class AUD_LinearResampleReader : public AUD_ResampleReader
{
private:
/**
- * The sample specification of the source.
+ * The reader channels.
*/
- const AUD_Specs m_sspecs;
+ AUD_Channels m_channels;
/**
- * The resampling factor.
+ * The position in the cache.
*/
- const float m_factor;
-
- /**
- * The target specification.
- */
- AUD_Specs m_tspecs;
-
- /**
- * The current position.
- */
- int m_position;
-
- /**
- * The current reading source position.
- */
- int m_sposition;
+ float m_cache_pos;
/**
* The sound output buffer.
@@ -76,6 +61,11 @@ private:
*/
AUD_Buffer m_cache;
+ /**
+ * Whether the cache contains valid data.
+ */
+ bool m_cache_ok;
+
// hide copy constructor and operator=
AUD_LinearResampleReader(const AUD_LinearResampleReader&);
AUD_LinearResampleReader& operator=(const AUD_LinearResampleReader&);
@@ -86,13 +76,13 @@ public:
* \param reader The reader to mix.
* \param specs The target specification.
*/
- AUD_LinearResampleReader(AUD_IReader* reader, AUD_Specs specs);
+ AUD_LinearResampleReader(AUD_Reference<AUD_IReader> reader, AUD_Specs specs);
virtual void seek(int position);
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_LINEARRESAMPLEREADER
diff --git a/intern/audaspace/intern/AUD_Mixer.cpp b/intern/audaspace/intern/AUD_Mixer.cpp
index 03488ac46b1..74ff180627a 100644
--- a/intern/audaspace/intern/AUD_Mixer.cpp
+++ b/intern/audaspace/intern/AUD_Mixer.cpp
@@ -73,43 +73,37 @@ AUD_DeviceSpecs AUD_Mixer::getSpecs() const
return m_specs;
}
-void AUD_Mixer::add(sample_t* buffer, int start, int length, float volume)
+void AUD_Mixer::setSpecs(AUD_Specs specs)
{
- AUD_MixerBuffer buf;
- buf.buffer = buffer;
- buf.start = start;
- buf.length = length;
- buf.volume = volume;
- m_buffers.push_back(buf);
+ m_specs.specs = specs;
}
-void AUD_Mixer::superpose(data_t* buffer, int length, float volume)
+void AUD_Mixer::clear(int length)
{
- AUD_MixerBuffer buf;
+ m_buffer.assureSize(length * m_specs.channels * AUD_SAMPLE_SIZE(m_specs));
- int channels = m_specs.channels;
+ m_length = length;
- if(m_buffer.getSize() < length * channels * 4)
- m_buffer.resize(length * channels * 4);
+ memset(m_buffer.getBuffer(), 0, length * m_specs.channels * AUD_SAMPLE_SIZE(m_specs));
+}
+void AUD_Mixer::mix(sample_t* buffer, int start, int length, float volume)
+{
sample_t* out = m_buffer.getBuffer();
- sample_t* in;
- memset(out, 0, length * channels * 4);
+ length = (AUD_MIN(m_length, length + start) - start) * m_specs.channels;
+ start *= m_specs.channels;
- int end;
-
- while(!m_buffers.empty())
- {
- buf = m_buffers.front();
- m_buffers.pop_front();
+ for(int i = 0; i < length; i++)
+ out[i + start] += buffer[i] * volume;
+}
- end = buf.length * channels;
- in = buf.buffer;
+void AUD_Mixer::read(data_t* buffer, float volume)
+{
+ sample_t* out = m_buffer.getBuffer();
- for(int i = 0; i < end; i++)
- out[i + buf.start * channels] += in[i] * buf.volume * volume;
- }
+ for(int i = 0; i < m_length * m_specs.channels; i++)
+ out[i] *= volume;
- m_convert(buffer, (data_t*) out, length * channels);
+ m_convert(buffer, (data_t*) out, m_length * m_specs.channels);
}
diff --git a/intern/audaspace/intern/AUD_Mixer.h b/intern/audaspace/intern/AUD_Mixer.h
index 277d5bfe2bd..cdcf0d23b6d 100644
--- a/intern/audaspace/intern/AUD_Mixer.h
+++ b/intern/audaspace/intern/AUD_Mixer.h
@@ -34,36 +34,28 @@
#include "AUD_ConverterFunctions.h"
#include "AUD_Buffer.h"
+#include "AUD_Reference.h"
class AUD_IReader;
-#include <list>
-
-struct AUD_MixerBuffer
-{
- sample_t* buffer;
- int start;
- int length;
- float volume;
-};
/**
- * This abstract class is able to mix audiosignals of different channel count
+ * This abstract class is able to mix audiosignals with same channel count
* and sample rate and convert it to a specific output format.
*/
class AUD_Mixer
{
protected:
/**
- * The list of buffers to superpose.
+ * The output specification.
*/
- std::list<AUD_MixerBuffer> m_buffers;
+ AUD_DeviceSpecs m_specs;
/**
- * The output specification.
+ * The length of the mixing buffer.
*/
- const AUD_DeviceSpecs m_specs;
+ int m_length;
/**
- * The temporary mixing buffer.
+ * The mixing buffer.
*/
AUD_Buffer m_buffer;
@@ -90,28 +82,32 @@ public:
AUD_DeviceSpecs getSpecs() const;
/**
- * This funuction prepares a reader for playback.
- * \param reader The reader to prepare.
- * \return The reader that should be used for playback.
+ * Sets the target specification for superposing.
+ * \param specs The target specification.
*/
- virtual AUD_IReader* prepare(AUD_IReader* reader)=0;
+ void setSpecs(AUD_Specs specs);
/**
- * Adds a buffer for superposition.
+ * Mixes a buffer.
* \param buffer The buffer to superpose.
* \param start The start sample of the buffer.
* \param length The length of the buffer in samples.
* \param volume The mixing volume. Must be a value between 0.0 and 1.0.
*/
- virtual void add(sample_t* buffer, int start, int length, float volume);
+ void mix(sample_t* buffer, int start, int length, float volume);
/**
- * Superposes all added buffers into an output buffer.
+ * Writes the mixing buffer into an output buffer.
* \param buffer The target buffer for superposing.
- * \param length The length of the buffer in samples.
* \param volume The mixing volume. Must be a value between 0.0 and 1.0.
*/
- virtual void superpose(data_t* buffer, int length, float volume);
+ void read(data_t* buffer, float volume);
+
+ /**
+ * Clears the mixing buffer.
+ * \param length The length of the buffer in samples.
+ */
+ void clear(int length);
};
#endif //AUD_MIXER
diff --git a/intern/audaspace/intern/AUD_MixerFactory.cpp b/intern/audaspace/intern/AUD_MixerFactory.cpp
index e65b149b94c..c3bf6b4fa99 100644
--- a/intern/audaspace/intern/AUD_MixerFactory.cpp
+++ b/intern/audaspace/intern/AUD_MixerFactory.cpp
@@ -32,12 +32,12 @@
#include "AUD_MixerFactory.h"
#include "AUD_IReader.h"
-AUD_IReader* AUD_MixerFactory::getReader() const
+AUD_Reference<AUD_IReader> AUD_MixerFactory::getReader() const
{
return m_factory->createReader();
}
-AUD_MixerFactory::AUD_MixerFactory(AUD_IFactory* factory,
+AUD_MixerFactory::AUD_MixerFactory(AUD_Reference<AUD_IFactory> factory,
AUD_DeviceSpecs specs) :
m_specs(specs), m_factory(factory)
{
@@ -48,7 +48,7 @@ AUD_DeviceSpecs AUD_MixerFactory::getSpecs() const
return m_specs;
}
-AUD_IFactory* AUD_MixerFactory::getFactory() const
+AUD_Reference<AUD_IFactory> AUD_MixerFactory::getFactory() const
{
return m_factory;
}
diff --git a/intern/audaspace/intern/AUD_MixerFactory.h b/intern/audaspace/intern/AUD_MixerFactory.h
index 2adabbd13ca..27c703b1898 100644
--- a/intern/audaspace/intern/AUD_MixerFactory.h
+++ b/intern/audaspace/intern/AUD_MixerFactory.h
@@ -48,7 +48,7 @@ protected:
/**
* If there is no reader it is created out of this factory.
*/
- AUD_IFactory* m_factory;
+ AUD_Reference<AUD_IFactory> m_factory;
/**
* Returns the reader created out of the factory.
@@ -56,7 +56,7 @@ protected:
* classes.
* \return The reader to mix.
*/
- AUD_IReader* getReader() const;
+ AUD_Reference<AUD_IReader> getReader() const;
public:
/**
@@ -64,7 +64,7 @@ public:
* \param factory The factory to create the readers to mix out of.
* \param specs The target specification.
*/
- AUD_MixerFactory(AUD_IFactory* factory, AUD_DeviceSpecs specs);
+ AUD_MixerFactory(AUD_Reference<AUD_IFactory> factory, AUD_DeviceSpecs specs);
/**
* Returns the target specification for resampling.
@@ -75,7 +75,7 @@ public:
* Returns the saved factory.
* \return The factory.
*/
- AUD_IFactory* getFactory() const;
+ AUD_Reference<AUD_IFactory> getFactory() const;
};
#endif //AUD_MIXERFACTORY
diff --git a/intern/audaspace/intern/AUD_NULLDevice.cpp b/intern/audaspace/intern/AUD_NULLDevice.cpp
index ab824799d88..b7d658aafe6 100644
--- a/intern/audaspace/intern/AUD_NULLDevice.cpp
+++ b/intern/audaspace/intern/AUD_NULLDevice.cpp
@@ -32,120 +32,130 @@
#include <limits>
#include "AUD_NULLDevice.h"
-#include "AUD_IReader.h"
-#include "AUD_IFactory.h"
-AUD_NULLDevice::AUD_NULLDevice()
+AUD_NULLDevice::AUD_NULLHandle::AUD_NULLHandle()
{
}
-AUD_DeviceSpecs AUD_NULLDevice::getSpecs() const
+bool AUD_NULLDevice::AUD_NULLHandle::pause()
{
- AUD_DeviceSpecs specs;
- specs.channels = AUD_CHANNELS_INVALID;
- specs.format = AUD_FORMAT_INVALID;
- specs.rate = AUD_RATE_INVALID;
- return specs;
+ return false;
}
-AUD_Handle* AUD_NULLDevice::play(AUD_IReader* reader, bool keep)
+bool AUD_NULLDevice::AUD_NULLHandle::resume()
{
- return 0;
+ return false;
}
-AUD_Handle* AUD_NULLDevice::play(AUD_IFactory* factory, bool keep)
+bool AUD_NULLDevice::AUD_NULLHandle::stop()
{
- return 0;
+ return false;
}
-bool AUD_NULLDevice::pause(AUD_Handle* handle)
+bool AUD_NULLDevice::AUD_NULLHandle::getKeep()
{
return false;
}
-bool AUD_NULLDevice::resume(AUD_Handle* handle)
+bool AUD_NULLDevice::AUD_NULLHandle::setKeep(bool keep)
{
return false;
}
-bool AUD_NULLDevice::stop(AUD_Handle* handle)
+bool AUD_NULLDevice::AUD_NULLHandle::seek(float position)
{
return false;
}
-bool AUD_NULLDevice::getKeep(AUD_Handle* handle)
+float AUD_NULLDevice::AUD_NULLHandle::getPosition()
{
- return false;
+ return 0.0f;
}
-bool AUD_NULLDevice::setKeep(AUD_Handle* handle, bool keep)
+AUD_Status AUD_NULLDevice::AUD_NULLHandle::getStatus()
+{
+ return AUD_STATUS_INVALID;
+}
+
+float AUD_NULLDevice::AUD_NULLHandle::getVolume()
+{
+ return 0.0f;
+}
+
+bool AUD_NULLDevice::AUD_NULLHandle::setVolume(float volume)
{
return false;
}
-bool AUD_NULLDevice::seek(AUD_Handle* handle, float position)
+float AUD_NULLDevice::AUD_NULLHandle::getPitch()
+{
+ return 0.0f;
+}
+
+bool AUD_NULLDevice::AUD_NULLHandle::setPitch(float pitch)
{
return false;
}
-float AUD_NULLDevice::getPosition(AUD_Handle* handle)
+int AUD_NULLDevice::AUD_NULLHandle::getLoopCount()
{
- return std::numeric_limits<float>::quiet_NaN();
+ return 0;
}
-AUD_Status AUD_NULLDevice::getStatus(AUD_Handle* handle)
+bool AUD_NULLDevice::AUD_NULLHandle::setLoopCount(int count)
{
- return AUD_STATUS_INVALID;
+ return false;
}
-void AUD_NULLDevice::lock()
+bool AUD_NULLDevice::AUD_NULLHandle::setStopCallback(stopCallback callback, void* data)
{
+ return false;
}
-void AUD_NULLDevice::unlock()
+AUD_NULLDevice::AUD_NULLDevice()
{
}
-float AUD_NULLDevice::getVolume() const
+AUD_NULLDevice::~AUD_NULLDevice()
{
- return 0;
}
-void AUD_NULLDevice::setVolume(float volume)
+AUD_DeviceSpecs AUD_NULLDevice::getSpecs() const
{
+ AUD_DeviceSpecs specs;
+ specs.channels = AUD_CHANNELS_INVALID;
+ specs.format = AUD_FORMAT_INVALID;
+ specs.rate = AUD_RATE_INVALID;
+ return specs;
}
-float AUD_NULLDevice::getVolume(AUD_Handle* handle)
+AUD_Reference<AUD_IHandle> AUD_NULLDevice::play(AUD_Reference<AUD_IReader> reader, bool keep)
{
- return std::numeric_limits<float>::quiet_NaN();
+ return new AUD_NULLHandle();
}
-bool AUD_NULLDevice::setVolume(AUD_Handle* handle, float volume)
+AUD_Reference<AUD_IHandle> AUD_NULLDevice::play(AUD_Reference<AUD_IFactory> factory, bool keep)
{
- return false;
+ return new AUD_NULLHandle();
}
-float AUD_NULLDevice::getPitch(AUD_Handle* handle)
+void AUD_NULLDevice::stopAll()
{
- return std::numeric_limits<float>::quiet_NaN();
}
-bool AUD_NULLDevice::setPitch(AUD_Handle* handle, float pitch)
+void AUD_NULLDevice::lock()
{
- return false;
}
-int AUD_NULLDevice::getLoopCount(AUD_Handle* handle)
+void AUD_NULLDevice::unlock()
{
- return 0;
}
-bool AUD_NULLDevice::setLoopCount(AUD_Handle* handle, int count)
+float AUD_NULLDevice::getVolume() const
{
- return false;
+ return 0;
}
-bool AUD_NULLDevice::setStopCallback(AUD_Handle* handle, stopCallback callback, void* data)
+void AUD_NULLDevice::setVolume(float volume)
{
- return false;
}
diff --git a/intern/audaspace/intern/AUD_NULLDevice.h b/intern/audaspace/intern/AUD_NULLDevice.h
index f700bea477b..5274d68ebf6 100644
--- a/intern/audaspace/intern/AUD_NULLDevice.h
+++ b/intern/audaspace/intern/AUD_NULLDevice.h
@@ -32,41 +32,55 @@
#ifndef AUD_NULLDEVICE
#define AUD_NULLDEVICE
+#include "AUD_IReader.h"
#include "AUD_IDevice.h"
+#include "AUD_IHandle.h"
/**
* This device plays nothing.
*/
class AUD_NULLDevice : public AUD_IDevice
{
+private:
+ class AUD_NULLHandle : public AUD_IHandle
+ {
+ public:
+
+ AUD_NULLHandle();
+
+ virtual ~AUD_NULLHandle() {}
+ virtual bool pause();
+ virtual bool resume();
+ virtual bool stop();
+ virtual bool getKeep();
+ virtual bool setKeep(bool keep);
+ virtual bool seek(float position);
+ virtual float getPosition();
+ virtual AUD_Status getStatus();
+ virtual float getVolume();
+ virtual bool setVolume(float volume);
+ virtual float getPitch();
+ virtual bool setPitch(float pitch);
+ virtual int getLoopCount();
+ virtual bool setLoopCount(int count);
+ virtual bool setStopCallback(stopCallback callback = 0, void* data = 0);
+ };
public:
/**
* Creates a new NULL device.
*/
AUD_NULLDevice();
+ virtual ~AUD_NULLDevice();
+
virtual AUD_DeviceSpecs getSpecs() const;
- virtual AUD_Handle* play(AUD_IReader* reader, bool keep = false);
- virtual AUD_Handle* play(AUD_IFactory* factory, bool keep = false);
- virtual bool pause(AUD_Handle* handle);
- virtual bool resume(AUD_Handle* handle);
- virtual bool stop(AUD_Handle* handle);
- virtual bool getKeep(AUD_Handle* handle);
- virtual bool setKeep(AUD_Handle* handle, bool keep);
- virtual bool seek(AUD_Handle* handle, float position);
- virtual float getPosition(AUD_Handle* handle);
- virtual AUD_Status getStatus(AUD_Handle* handle);
+ virtual AUD_Reference<AUD_IHandle> play(AUD_Reference<AUD_IReader> reader, bool keep = false);
+ virtual AUD_Reference<AUD_IHandle> play(AUD_Reference<AUD_IFactory> factory, bool keep = false);
+ virtual void stopAll();
virtual void lock();
virtual void unlock();
virtual float getVolume() const;
virtual void setVolume(float volume);
- virtual float getVolume(AUD_Handle* handle);
- virtual bool setVolume(AUD_Handle* handle, float volume);
- virtual float getPitch(AUD_Handle* handle);
- virtual bool setPitch(AUD_Handle* handle, float pitch);
- virtual int getLoopCount(AUD_Handle* handle);
- virtual bool setLoopCount(AUD_Handle* handle, int count);
- virtual bool setStopCallback(AUD_Handle* handle, stopCallback callback = 0, void* data = 0);
};
#endif //AUD_NULLDEVICE
diff --git a/intern/audaspace/intern/AUD_ReadDevice.cpp b/intern/audaspace/intern/AUD_ReadDevice.cpp
index eb5177330bb..8ab858901b9 100644
--- a/intern/audaspace/intern/AUD_ReadDevice.cpp
+++ b/intern/audaspace/intern/AUD_ReadDevice.cpp
@@ -29,7 +29,6 @@
*/
-#include "AUD_DefaultMixer.h"
#include "AUD_ReadDevice.h"
#include "AUD_IReader.h"
@@ -43,6 +42,15 @@ AUD_ReadDevice::AUD_ReadDevice(AUD_DeviceSpecs specs) :
create();
}
+AUD_ReadDevice::AUD_ReadDevice(AUD_Specs specs) :
+ m_playing(false)
+{
+ m_specs.specs = specs;
+ m_specs.format = AUD_FORMAT_FLOAT32;
+
+ create();
+}
+
AUD_ReadDevice::~AUD_ReadDevice()
{
destroy();
@@ -60,6 +68,12 @@ bool AUD_ReadDevice::read(data_t* buffer, int length)
return m_playing;
}
+void AUD_ReadDevice::changeSpecs(AUD_Specs specs)
+{
+ if(!AUD_COMPARE_SPECS(specs, m_specs.specs))
+ setSpecs(specs);
+}
+
void AUD_ReadDevice::playing(bool playing)
{
m_playing = playing;
diff --git a/intern/audaspace/intern/AUD_ReadDevice.h b/intern/audaspace/intern/AUD_ReadDevice.h
index 0a77f74b9f6..2d0e37c44c1 100644
--- a/intern/audaspace/intern/AUD_ReadDevice.h
+++ b/intern/audaspace/intern/AUD_ReadDevice.h
@@ -60,6 +60,12 @@ public:
AUD_ReadDevice(AUD_DeviceSpecs specs);
/**
+ * Creates a new read device.
+ * \param specs The wanted audio specification.
+ */
+ AUD_ReadDevice(AUD_Specs specs);
+
+ /**
* Closes the device.
*/
virtual ~AUD_ReadDevice();
@@ -73,6 +79,12 @@ public:
* silence.
*/
bool read(data_t* buffer, int length);
+
+ /**
+ * Changes the output specification.
+ * \param specs The new audio data specification.
+ */
+ void changeSpecs(AUD_Specs specs);
};
#endif //AUD_READDEVICE
diff --git a/intern/audaspace/intern/AUD_Reference.h b/intern/audaspace/intern/AUD_Reference.h
index 3232ca3b609..4b878fc8d46 100644
--- a/intern/audaspace/intern/AUD_Reference.h
+++ b/intern/audaspace/intern/AUD_Reference.h
@@ -28,10 +28,70 @@
* \ingroup audaspaceintern
*/
-
#ifndef AUD_REFERENCE
#define AUD_REFERENCE
+#include <map>
+#include <cstddef>
+
+// #define MEM_DEBUG
+
+#ifdef MEM_DEBUG
+#include <iostream>
+#include <typeinfo>
+#endif
+
+/**
+ * This class handles the reference counting.
+ */
+class AUD_ReferenceHandler
+{
+private:
+ /**
+ * Saves the reference counts.
+ */
+ static std::map<void*, unsigned int> m_references;
+
+public:
+ /**
+ * Reference increment.
+ * \param reference The reference.
+ */
+ static inline void incref(void* reference)
+ {
+ if(!reference)
+ return;
+
+ std::map<void*, unsigned int>::iterator result = m_references.find(reference);
+ if(result != m_references.end())
+ {
+ m_references[reference]++;
+ }
+ else
+ {
+ m_references[reference] = 1;
+ }
+ }
+
+ /**
+ * Reference decrement.
+ * \param reference The reference.
+ * \return Whether the reference has to be deleted.
+ */
+ static inline bool decref(void* reference)
+ {
+ if(!reference)
+ return false;
+
+ if(!--m_references[reference])
+ {
+ m_references.erase(reference);
+ return true;
+ }
+ return false;
+ }
+};
+
template <class T>
/**
* This class provides reference counting functionality.
@@ -41,18 +101,28 @@ class AUD_Reference
private:
/// The reference.
T* m_reference;
- /// The reference counter.
- int* m_refcount;
+ void* m_original;
public:
/**
* Creates a new reference counter.
* \param reference The reference.
*/
- AUD_Reference(T* reference = 0)
+ template <class U>
+ AUD_Reference(U* reference)
+ {
+ m_original = reference;
+ m_reference = dynamic_cast<T*>(reference);
+ AUD_ReferenceHandler::incref(m_original);
+#ifdef MEM_DEBUG
+ if(m_reference != NULL)
+ std::cerr << "+" << typeid(*m_reference).name() << std::endl;
+#endif
+ }
+
+ AUD_Reference()
{
- m_reference = reference;
- m_refcount = new int;
- *m_refcount = 1;
+ m_original = NULL;
+ m_reference = NULL;
}
/**
@@ -61,9 +131,25 @@ public:
*/
AUD_Reference(const AUD_Reference& ref)
{
+ m_original = ref.m_original;
m_reference = ref.m_reference;
- m_refcount = ref.m_refcount;
- (*m_refcount)++;
+ AUD_ReferenceHandler::incref(m_original);
+#ifdef MEM_DEBUG
+ if(m_reference != NULL)
+ std::cerr << "+" << typeid(*m_reference).name() << std::endl;
+#endif
+ }
+
+ template <class U>
+ explicit AUD_Reference(const AUD_Reference<U>& ref)
+ {
+ m_original = ref.get();
+ m_reference = dynamic_cast<T*>(ref.get());
+ AUD_ReferenceHandler::incref(m_original);
+#ifdef MEM_DEBUG
+ if(m_reference != NULL)
+ std::cerr << "+" << typeid(*m_reference).name() << std::endl;
+#endif
}
/**
@@ -72,15 +158,12 @@ public:
*/
~AUD_Reference()
{
- (*m_refcount)--;
- if(*m_refcount == 0)
- {
- if(m_reference)
- {
- delete m_reference;
- }
- delete m_refcount;
- }
+#ifdef MEM_DEBUG
+ if(m_reference != NULL)
+ std::cerr << "-" << typeid(*m_reference).name() << std::endl;
+#endif
+ if(AUD_ReferenceHandler::decref(m_original))
+ delete m_reference;
}
/**
@@ -92,30 +175,75 @@ public:
if(&ref == this)
return *this;
- (*m_refcount)--;
- if(*m_refcount == 0)
- {
- if(m_reference)
- {
- delete m_reference;
- }
- delete m_refcount;
- }
+#ifdef MEM_DEBUG
+ if(m_reference != NULL)
+ std::cerr << "-" << typeid(*m_reference).name() << std::endl;
+#endif
+ if(AUD_ReferenceHandler::decref(m_original))
+ delete m_reference;
+ m_original = ref.m_original;
m_reference = ref.m_reference;
- m_refcount = ref.m_refcount;
- (*m_refcount)++;
+ AUD_ReferenceHandler::incref(m_original);
+#ifdef MEM_DEBUG
+ if(m_reference != NULL)
+ std::cerr << "+" << typeid(*m_reference).name() << std::endl;
+#endif
return *this;
}
/**
+ * Returns whether the reference is NULL.
+ */
+ inline bool isNull() const
+ {
+ return m_reference == NULL;
+ }
+
+ /**
* Returns the reference.
*/
- T* get() const
+ inline T* get() const
+ {
+ return m_reference;
+ }
+
+ /**
+ * Returns the original pointer.
+ */
+ inline void* getOriginal() const
+ {
+ return m_original;
+ }
+
+ /**
+ * Returns the reference.
+ */
+ inline T& operator*() const
+ {
+ return *m_reference;
+ }
+
+ /**
+ * Returns the reference.
+ */
+ inline T* operator->() const
{
return m_reference;
}
};
+template<class T, class U>
+inline bool operator==(const AUD_Reference<T>& a, const AUD_Reference<U>& b)
+{
+ return a.getOriginal() == b.getOriginal();
+}
+
+template<class T, class U>
+inline bool operator!=(const AUD_Reference<T>& a, const AUD_Reference<U>& b)
+{
+ return a.getOriginal() != b.getOriginal();
+}
+
#endif // AUD_REFERENCE
diff --git a/intern/audaspace/intern/AUD_ReferenceHandler.cpp b/intern/audaspace/intern/AUD_ReferenceHandler.cpp
new file mode 100644
index 00000000000..de440de37f6
--- /dev/null
+++ b/intern/audaspace/intern/AUD_ReferenceHandler.cpp
@@ -0,0 +1,33 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_Reference.cpp
+ * \ingroup audaspaceintern
+ */
+
+#include "AUD_Reference.h"
+
+std::map<void*, unsigned int> AUD_ReferenceHandler::m_references;
diff --git a/intern/audaspace/intern/AUD_DefaultMixer.h b/intern/audaspace/intern/AUD_ResampleReader.cpp
index a347141b5e0..e74d21eb743 100644
--- a/intern/audaspace/intern/AUD_DefaultMixer.h
+++ b/intern/audaspace/intern/AUD_ResampleReader.cpp
@@ -24,36 +24,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file audaspace/intern/AUD_DefaultMixer.h
+/** \file audaspace/intern/AUD_ResampleReader.cpp
* \ingroup audaspaceintern
*/
-#ifndef AUD_DEFAULTMIXER
-#define AUD_DEFAULTMIXER
+#include "AUD_ResampleReader.h"
-#include "AUD_Mixer.h"
-
-/**
- * This class is able to mix audiosignals of different channel count and sample
- * rate and convert it to a specific output format.
- * It uses a default ChannelMapperFactory and a SRCResampleFactory for
- * the perparation.
- */
-class AUD_DefaultMixer : public AUD_Mixer
+AUD_ResampleReader::AUD_ResampleReader(AUD_Reference<AUD_IReader> reader, AUD_SampleRate rate) :
+ AUD_EffectReader(reader), m_rate(rate)
{
-public:
- /**
- * Creates the mixer.
- */
- AUD_DefaultMixer(AUD_DeviceSpecs specs);
+}
- /**
- * This funuction prepares a reader for playback.
- * \param reader The reader to prepare.
- * \return The reader that should be used for playback.
- */
- virtual AUD_IReader* prepare(AUD_IReader* reader);
-};
+void AUD_ResampleReader::setRate(AUD_SampleRate rate)
+{
+ m_rate = rate;
+}
-#endif //AUD_DEFAULTMIXER
+AUD_SampleRate AUD_ResampleReader::getRate()
+{
+ return m_rate;
+}
diff --git a/intern/audaspace/intern/AUD_ResampleReader.h b/intern/audaspace/intern/AUD_ResampleReader.h
new file mode 100644
index 00000000000..0792753f4b3
--- /dev/null
+++ b/intern/audaspace/intern/AUD_ResampleReader.h
@@ -0,0 +1,68 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_ResampleReader.h
+ * \ingroup audaspaceintern
+ */
+
+#ifndef AUD_RESAMPLEREADER
+#define AUD_RESAMPLEREADER
+
+#include "AUD_EffectReader.h"
+
+/**
+ * This is the base class for all resampling readers.
+ */
+class AUD_ResampleReader : public AUD_EffectReader
+{
+protected:
+ /**
+ * The target sampling rate.
+ */
+ AUD_SampleRate m_rate;
+
+ /**
+ * Creates a resampling reader.
+ * \param reader The reader to mix.
+ * \param rate The target sampling rate.
+ */
+ AUD_ResampleReader(AUD_Reference<AUD_IReader> reader, AUD_SampleRate rate);
+
+public:
+ /**
+ * Sets the sample rate.
+ * \param rate The target sampling rate.
+ */
+ virtual void setRate(AUD_SampleRate rate);
+
+ /**
+ * Retrieves the sample rate.
+ * \return The target sampling rate.
+ */
+ virtual AUD_SampleRate getRate();
+};
+
+#endif // AUD_RESAMPLEREADER
diff --git a/intern/audaspace/intern/AUD_SequencerEntry.cpp b/intern/audaspace/intern/AUD_SequencerEntry.cpp
new file mode 100644
index 00000000000..c5112f9f3de
--- /dev/null
+++ b/intern/audaspace/intern/AUD_SequencerEntry.cpp
@@ -0,0 +1,344 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_SequencerEntry.cpp
+ * \ingroup audaspaceintern
+ */
+
+
+#include "AUD_SequencerEntry.h"
+#include "AUD_SequencerReader.h"
+
+#include <cmath>
+#include <limits>
+
+AUD_SequencerEntry::AUD_SequencerEntry(AUD_Reference<AUD_IFactory> sound, float begin, float end, float skip, int id) :
+ m_status(0),
+ m_pos_status(1),
+ m_sound_status(0),
+ m_id(id),
+ m_sound(sound),
+ m_begin(begin),
+ m_end(end),
+ m_skip(skip),
+ m_muted(false),
+ m_relative(true),
+ m_volume_max(1.0f),
+ m_volume_min(0),
+ m_distance_max(std::numeric_limits<float>::max()),
+ m_distance_reference(1.0f),
+ m_attenuation(1.0f),
+ m_cone_angle_outer(360),
+ m_cone_angle_inner(360),
+ m_cone_volume_outer(0),
+ m_location(3),
+ m_orientation(4)
+{
+ AUD_Quaternion q;
+ m_orientation.write(q.get());
+ float f = 1;
+ m_volume.write(&f);
+ m_pitch.write(&f);
+
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_init(&attr);
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+
+ pthread_mutex_init(&m_mutex, &attr);
+
+ pthread_mutexattr_destroy(&attr);
+}
+
+AUD_SequencerEntry::~AUD_SequencerEntry()
+{
+ pthread_mutex_destroy(&m_mutex);
+}
+
+void AUD_SequencerEntry::lock()
+{
+ pthread_mutex_lock(&m_mutex);
+}
+
+void AUD_SequencerEntry::unlock()
+{
+ pthread_mutex_unlock(&m_mutex);
+}
+
+void AUD_SequencerEntry::setSound(AUD_Reference<AUD_IFactory> sound)
+{
+ lock();
+
+ if(m_sound.get() != sound.get())
+ {
+ m_sound = sound;
+ m_sound_status++;
+ }
+
+ unlock();
+}
+
+void AUD_SequencerEntry::move(float begin, float end, float skip)
+{
+ lock();
+
+ if(m_begin != begin || m_skip != skip || m_end != end)
+ {
+ m_begin = begin;
+ m_skip = skip;
+ m_end = end;
+ m_pos_status++;
+ }
+
+ unlock();
+}
+
+void AUD_SequencerEntry::mute(bool mute)
+{
+ lock();
+
+ m_muted = mute;
+
+ unlock();
+}
+
+int AUD_SequencerEntry::getID() const
+{
+ return m_id;
+}
+
+AUD_AnimateableProperty* AUD_SequencerEntry::getAnimProperty(AUD_AnimateablePropertyType type)
+{
+ switch(type)
+ {
+ case AUD_AP_VOLUME:
+ return &m_volume;
+ case AUD_AP_PITCH:
+ return &m_pitch;
+ case AUD_AP_PANNING:
+ return &m_panning;
+ case AUD_AP_LOCATION:
+ return &m_location;
+ case AUD_AP_ORIENTATION:
+ return &m_orientation;
+ default:
+ return NULL;
+ }
+}
+
+void AUD_SequencerEntry::updateAll(float volume_max, float volume_min, float distance_max,
+ float distance_reference, float attenuation, float cone_angle_outer,
+ float cone_angle_inner, float cone_volume_outer)
+{
+ lock();
+
+ if(volume_max != m_volume_max)
+ {
+ m_volume_max = volume_max;
+ m_status++;
+ }
+
+ if(volume_min != m_volume_min)
+ {
+ m_volume_min = volume_min;
+ m_status++;
+ }
+
+ if(distance_max != m_distance_max)
+ {
+ m_distance_max = distance_max;
+ m_status++;
+ }
+
+ if(distance_reference != m_distance_reference)
+ {
+ m_distance_reference = distance_reference;
+ m_status++;
+ }
+
+ if(attenuation != m_attenuation)
+ {
+ m_attenuation = attenuation;
+ m_status++;
+ }
+
+ if(cone_angle_outer != m_cone_angle_outer)
+ {
+ m_cone_angle_outer = cone_angle_outer;
+ m_status++;
+ }
+
+ if(cone_angle_inner != m_cone_angle_inner)
+ {
+ m_cone_angle_inner = cone_angle_inner;
+ m_status++;
+ }
+
+ if(cone_volume_outer != m_cone_volume_outer)
+ {
+ m_cone_volume_outer = cone_volume_outer;
+ m_status++;
+ }
+
+ unlock();
+}
+
+bool AUD_SequencerEntry::isRelative()
+{
+ return m_relative;
+}
+
+void AUD_SequencerEntry::setRelative(bool relative)
+{
+ lock();
+
+ if(m_relative != relative)
+ {
+ m_relative = relative;
+ m_status++;
+ }
+
+ unlock();
+}
+
+float AUD_SequencerEntry::getVolumeMaximum()
+{
+ return m_volume_max;
+}
+
+void AUD_SequencerEntry::setVolumeMaximum(float volume)
+{
+ lock();
+
+ m_volume_max = volume;
+ m_status++;
+
+ unlock();
+}
+
+float AUD_SequencerEntry::getVolumeMinimum()
+{
+ return m_volume_min;
+}
+
+void AUD_SequencerEntry::setVolumeMinimum(float volume)
+{
+ lock();
+
+ m_volume_min = volume;
+ m_status++;
+
+ unlock();
+}
+
+float AUD_SequencerEntry::getDistanceMaximum()
+{
+ return m_distance_max;
+}
+
+void AUD_SequencerEntry::setDistanceMaximum(float distance)
+{
+ lock();
+
+ m_distance_max = distance;
+ m_status++;
+
+ unlock();
+}
+
+float AUD_SequencerEntry::getDistanceReference()
+{
+ return m_distance_reference;
+}
+
+void AUD_SequencerEntry::setDistanceReference(float distance)
+{
+ lock();
+
+ m_distance_reference = distance;
+ m_status++;
+
+ unlock();
+}
+
+float AUD_SequencerEntry::getAttenuation()
+{
+ return m_attenuation;
+}
+
+void AUD_SequencerEntry::setAttenuation(float factor)
+{
+ lock();
+
+ m_attenuation = factor;
+ m_status++;
+
+ unlock();
+}
+
+float AUD_SequencerEntry::getConeAngleOuter()
+{
+ return m_cone_angle_outer;
+}
+
+void AUD_SequencerEntry::setConeAngleOuter(float angle)
+{
+ lock();
+
+ m_cone_angle_outer = angle;
+ m_status++;
+
+ unlock();
+}
+
+float AUD_SequencerEntry::getConeAngleInner()
+{
+ return m_cone_angle_inner;
+}
+
+void AUD_SequencerEntry::setConeAngleInner(float angle)
+{
+ lock();
+
+ m_cone_angle_inner = angle;
+ m_status++;
+
+ unlock();
+}
+
+float AUD_SequencerEntry::getConeVolumeOuter()
+{
+ return m_cone_volume_outer;
+}
+
+void AUD_SequencerEntry::setConeVolumeOuter(float volume)
+{
+ lock();
+
+ m_cone_volume_outer = volume;
+ m_status++;
+
+ unlock();
+}
diff --git a/intern/audaspace/intern/AUD_SequencerEntry.h b/intern/audaspace/intern/AUD_SequencerEntry.h
new file mode 100644
index 00000000000..53e3513b1b5
--- /dev/null
+++ b/intern/audaspace/intern/AUD_SequencerEntry.h
@@ -0,0 +1,320 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_SequencerEntry.h
+ * \ingroup audaspaceintern
+ */
+
+
+#ifndef AUD_SEQUENCERENTRY
+#define AUD_SEQUENCERENTRY
+
+#include "AUD_Reference.h"
+#include "AUD_AnimateableProperty.h"
+#include "AUD_IFactory.h"
+
+#include <pthread.h>
+
+/**
+ * This class represents a sequenced entry in a sequencer factory.
+ */
+class AUD_SequencerEntry
+{
+ friend class AUD_SequencerHandle;
+private:
+ /// The status of the entry. Changes every time a non-animated parameter changes.
+ int m_status;
+
+ /// The positional status of the entry. Changes every time the entry is moved.
+ int m_pos_status;
+
+ /// The sound status, changed when the sound is changed.
+ int m_sound_status;
+
+ /// The unique (regarding the factory) ID of the entry.
+ int m_id;
+
+ /// The sound this entry plays.
+ AUD_Reference<AUD_IFactory> m_sound;
+
+ /// The begin time.
+ float m_begin;
+
+ /// The end time.
+ float m_end;
+
+ /// How many seconds are skipped at the beginning.
+ float m_skip;
+
+ /// Whether the entry is muted.
+ bool m_muted;
+
+ /// Whether the position to the listener is relative or absolute
+ bool m_relative;
+
+ /// Maximum volume.
+ float m_volume_max;
+
+ /// Minimum volume.
+ float m_volume_min;
+
+ /// Maximum distance.
+ float m_distance_max;
+
+ /// Reference distance;
+ float m_distance_reference;
+
+ /// Attenuation
+ float m_attenuation;
+
+ /// Cone outer angle.
+ float m_cone_angle_outer;
+
+ /// Cone inner angle.
+ float m_cone_angle_inner;
+
+ /// Cone outer volume.
+ float m_cone_volume_outer;
+
+ /// The mutex for locking.
+ pthread_mutex_t m_mutex;
+
+ /// The animated volume.
+ AUD_AnimateableProperty m_volume;
+
+ /// The animated panning.
+ AUD_AnimateableProperty m_panning;
+
+ /// The animated pitch.
+ AUD_AnimateableProperty m_pitch;
+
+ /// The animated location.
+ AUD_AnimateableProperty m_location;
+
+ /// The animated orientation.
+ AUD_AnimateableProperty m_orientation;
+
+public:
+ /**
+ * Creates a new sequenced entry.
+ * \param sound The sound this entry should play.
+ * \param begin The start time.
+ * \param end The end time or a negative value if determined by the sound.
+ * \param skip How much seconds should be skipped at the beginning.
+ * \param id The ID of the entry.
+ */
+ AUD_SequencerEntry(AUD_Reference<AUD_IFactory> sound, float begin, float end, float skip, int id);
+ virtual ~AUD_SequencerEntry();
+
+ /**
+ * Locks the entry.
+ */
+ void lock();
+
+ /**
+ * Unlocks the previously locked entry.
+ */
+ void unlock();
+
+ /**
+ * Sets the sound of the entry.
+ * \param sound The new sound.
+ */
+ void setSound(AUD_Reference<AUD_IFactory> sound);
+
+ /**
+ * Moves the entry.
+ * \param begin The new start time.
+ * \param end The new end time or a negative value if unknown.
+ * \param skip How many seconds to skip at the beginning.
+ */
+ void move(float begin, float end, float skip);
+
+ /**
+ * Sets the muting state of the entry.
+ * \param mute Whether the entry should be muted or not.
+ */
+ void mute(bool mute);
+
+ /**
+ * Retrieves the ID of the entry.
+ * \return The ID of the entry.
+ */
+ int getID() const;
+
+ /**
+ * Retrieves one of the animated properties of the entry.
+ * \param type Which animated property to retrieve.
+ * \return A pointer to the animated property, valid as long as the
+ * entry is.
+ */
+ AUD_AnimateableProperty* getAnimProperty(AUD_AnimateablePropertyType type);
+
+ /**
+ * Updates all non-animated parameters of the entry.
+ * \param volume_max The maximum volume.
+ * \param volume_min The minimum volume.
+ * \param distance_max The maximum distance.
+ * \param distance_reference The reference distance.
+ * \param attenuation The attenuation.
+ * \param cone_angle_outer The outer cone opening angle.
+ * \param cone_angle_inner The inner cone opening angle.
+ * \param cone_volume_outer The volume outside the outer cone.
+ */
+ void updateAll(float volume_max, float volume_min, float distance_max,
+ float distance_reference, float attenuation, float cone_angle_outer,
+ float cone_angle_inner, float cone_volume_outer);
+
+ /**
+ * Checks whether the source location, velocity and orientation are relative
+ * to the listener.
+ * \return Whether the source is relative.
+ */
+ bool isRelative();
+
+ /**
+ * Sets whether the source location, velocity and orientation are relative
+ * to the listener.
+ * \param relative Whether the source is relative.
+ * \return Whether the action succeeded.
+ */
+ void setRelative(bool relative);
+
+ /**
+ * Retrieves the maximum volume of a source.
+ * \return The maximum volume.
+ */
+ float getVolumeMaximum();
+
+ /**
+ * Sets the maximum volume of a source.
+ * \param volume The new maximum volume.
+ * \return Whether the action succeeded.
+ */
+ void setVolumeMaximum(float volume);
+
+ /**
+ * Retrieves the minimum volume of a source.
+ * \return The minimum volume.
+ */
+ float getVolumeMinimum();
+
+ /**
+ * Sets the minimum volume of a source.
+ * \param volume The new minimum volume.
+ * \return Whether the action succeeded.
+ */
+ void setVolumeMinimum(float volume);
+
+ /**
+ * Retrieves the maximum distance of a source.
+ * If a source is further away from the reader than this distance, the
+ * volume will automatically be set to 0.
+ * \return The maximum distance.
+ */
+ float getDistanceMaximum();
+
+ /**
+ * Sets the maximum distance of a source.
+ * If a source is further away from the reader than this distance, the
+ * volume will automatically be set to 0.
+ * \param distance The new maximum distance.
+ * \return Whether the action succeeded.
+ */
+ void setDistanceMaximum(float distance);
+
+ /**
+ * Retrieves the reference distance of a source.
+ * \return The reference distance.
+ */
+ float getDistanceReference();
+
+ /**
+ * Sets the reference distance of a source.
+ * \param distance The new reference distance.
+ * \return Whether the action succeeded.
+ */
+ void setDistanceReference(float distance);
+
+ /**
+ * Retrieves the attenuation of a source.
+ * \return The attenuation.
+ */
+ float getAttenuation();
+
+ /**
+ * Sets the attenuation of a source.
+ * This value is used for distance calculation.
+ * \param factor The new attenuation.
+ * \return Whether the action succeeded.
+ */
+ void setAttenuation(float factor);
+
+ /**
+ * Retrieves the outer angle of the cone of a source.
+ * \return The outer angle of the cone.
+ */
+ float getConeAngleOuter();
+
+ /**
+ * Sets the outer angle of the cone of a source.
+ * \param angle The new outer angle of the cone.
+ * \return Whether the action succeeded.
+ */
+ void setConeAngleOuter(float angle);
+
+ /**
+ * Retrieves the inner angle of the cone of a source.
+ * \return The inner angle of the cone.
+ */
+ float getConeAngleInner();
+
+ /**
+ * Sets the inner angle of the cone of a source.
+ * \param angle The new inner angle of the cone.
+ * \return Whether the action succeeded.
+ */
+ void setConeAngleInner(float angle);
+
+ /**
+ * Retrieves the outer volume of the cone of a source.
+ * The volume between inner and outer angle is interpolated between inner
+ * volume and this value.
+ * \return The outer volume of the cone.
+ */
+ float getConeVolumeOuter();
+
+ /**
+ * Sets the outer volume of the cone of a source.
+ * The volume between inner and outer angle is interpolated between inner
+ * volume and this value.
+ * \param volume The new outer volume of the cone.
+ * \return Whether the action succeeded.
+ */
+ void setConeVolumeOuter(float volume);
+};
+
+#endif //AUD_SEQUENCERENTRY
diff --git a/intern/audaspace/intern/AUD_SequencerFactory.cpp b/intern/audaspace/intern/AUD_SequencerFactory.cpp
index f49dd94fe11..7eb894b216c 100644
--- a/intern/audaspace/intern/AUD_SequencerFactory.cpp
+++ b/intern/audaspace/intern/AUD_SequencerFactory.cpp
@@ -31,42 +31,76 @@
#include "AUD_SequencerFactory.h"
#include "AUD_SequencerReader.h"
+#include "AUD_3DMath.h"
-typedef std::list<AUD_SequencerReader*>::iterator AUD_ReaderIterator;
-
-AUD_SequencerFactory::AUD_SequencerFactory(AUD_Specs specs, bool muted,
- void* data,
- AUD_volumeFunction volume) :
+AUD_SequencerFactory::AUD_SequencerFactory(AUD_Specs specs, float fps, bool muted) :
m_specs(specs),
+ m_status(0),
+ m_entry_status(0),
+ m_id(0),
m_muted(muted),
- m_data(data),
- m_volume(volume)
+ m_fps(fps),
+ m_speed_of_sound(434),
+ m_doppler_factor(1),
+ m_distance_model(AUD_DISTANCE_MODEL_INVERSE_CLAMPED),
+ m_location(3),
+ m_orientation(4)
{
+ AUD_Quaternion q;
+ m_orientation.write(q.get());
+ float f = 1;
+ m_volume.write(&f);
+
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_init(&attr);
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+
+ pthread_mutex_init(&m_mutex, &attr);
+
+ pthread_mutexattr_destroy(&attr);
}
AUD_SequencerFactory::~AUD_SequencerFactory()
{
- AUD_SequencerReader* reader;
- AUD_SequencerEntry* entry;
+ pthread_mutex_destroy(&m_mutex);
+}
- while(!m_readers.empty())
- {
- reader = m_readers.front();
- m_readers.pop_front();
- reader->destroy();
- }
+void AUD_SequencerFactory::lock()
+{
+ pthread_mutex_lock(&m_mutex);
+}
- while(!m_entries.empty())
- {
- entry = m_entries.front();
- m_entries.pop_front();
- delete entry;
- }
+void AUD_SequencerFactory::unlock()
+{
+ pthread_mutex_unlock(&m_mutex);
+}
+
+void AUD_SequencerFactory::setSpecs(AUD_Specs specs)
+{
+ lock();
+
+ m_specs = specs;
+ m_status++;
+
+ unlock();
+}
+
+void AUD_SequencerFactory::setFPS(float fps)
+{
+ lock();
+
+ m_fps = fps;
+
+ unlock();
}
void AUD_SequencerFactory::mute(bool muted)
{
+ lock();
+
m_muted = muted;
+
+ unlock();
}
bool AUD_SequencerFactory::getMute() const
@@ -74,62 +108,96 @@ bool AUD_SequencerFactory::getMute() const
return m_muted;
}
-AUD_IReader* AUD_SequencerFactory::newReader()
+float AUD_SequencerFactory::getSpeedOfSound() const
+{
+ return m_speed_of_sound;
+}
+
+void AUD_SequencerFactory::setSpeedOfSound(float speed)
{
- AUD_SequencerReader* reader = new AUD_SequencerReader(this, m_entries,
- m_specs, m_data,
- m_volume);
- m_readers.push_front(reader);
+ lock();
- return reader;
+ m_speed_of_sound = speed;
+ m_status++;
+
+ unlock();
}
-AUD_SequencerEntry* AUD_SequencerFactory::add(AUD_IFactory** sound, float begin, float end, float skip, void* data)
+float AUD_SequencerFactory::getDopplerFactor() const
{
- AUD_SequencerEntry* entry = new AUD_SequencerEntry;
- entry->sound = sound;
- entry->begin = begin;
- entry->skip = skip;
- entry->end = end;
- entry->muted = false;
- entry->data = data;
+ return m_doppler_factor;
+}
- m_entries.push_front(entry);
+void AUD_SequencerFactory::setDopplerFactor(float factor)
+{
+ lock();
- for(AUD_ReaderIterator i = m_readers.begin(); i != m_readers.end(); i++)
- (*i)->add(entry);
+ m_doppler_factor = factor;
+ m_status++;
- return entry;
+ unlock();
}
-void AUD_SequencerFactory::remove(AUD_SequencerEntry* entry)
+AUD_DistanceModel AUD_SequencerFactory::getDistanceModel() const
{
- for(AUD_ReaderIterator i = m_readers.begin(); i != m_readers.end(); i++)
- (*i)->remove(entry);
+ return m_distance_model;
+}
- m_entries.remove(entry);
+void AUD_SequencerFactory::setDistanceModel(AUD_DistanceModel model)
+{
+ lock();
- delete entry;
+ m_distance_model = model;
+ m_status++;
+
+ unlock();
}
-void AUD_SequencerFactory::move(AUD_SequencerEntry* entry, float begin, float end, float skip)
+AUD_AnimateableProperty* AUD_SequencerFactory::getAnimProperty(AUD_AnimateablePropertyType type)
{
- entry->begin = begin;
- entry->skip = skip;
- entry->end = end;
+ switch(type)
+ {
+ case AUD_AP_VOLUME:
+ return &m_volume;
+ case AUD_AP_LOCATION:
+ return &m_location;
+ case AUD_AP_ORIENTATION:
+ return &m_orientation;
+ default:
+ return NULL;
+ }
}
-void AUD_SequencerFactory::mute(AUD_SequencerEntry* entry, bool mute)
+AUD_Reference<AUD_SequencerEntry> AUD_SequencerFactory::add(AUD_Reference<AUD_IFactory> sound, float begin, float end, float skip)
{
- entry->muted = mute;
+ lock();
+
+ AUD_Reference<AUD_SequencerEntry> entry = new AUD_SequencerEntry(sound, begin, end, skip, m_id++);
+
+ m_entries.push_front(entry);
+ m_entry_status++;
+
+ unlock();
+
+ return entry;
+}
+
+void AUD_SequencerFactory::remove(AUD_Reference<AUD_SequencerEntry> entry)
+{
+ lock();
+
+ m_entries.remove(entry);
+ m_entry_status++;
+
+ unlock();
}
-AUD_IReader* AUD_SequencerFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_SequencerFactory::createQualityReader()
{
- return const_cast<AUD_SequencerFactory*>(this)->newReader();
+ return new AUD_SequencerReader(this, true);
}
-void AUD_SequencerFactory::removeReader(AUD_SequencerReader* reader)
+AUD_Reference<AUD_IReader> AUD_SequencerFactory::createReader()
{
- m_readers.remove(reader);
+ return new AUD_SequencerReader(this);
}
diff --git a/intern/audaspace/intern/AUD_SequencerFactory.h b/intern/audaspace/intern/AUD_SequencerFactory.h
index 8f3466f75ce..89f2b015929 100644
--- a/intern/audaspace/intern/AUD_SequencerFactory.h
+++ b/intern/audaspace/intern/AUD_SequencerFactory.h
@@ -33,60 +33,183 @@
#define AUD_SEQUENCERFACTORY
#include "AUD_IFactory.h"
+#include "AUD_AnimateableProperty.h"
#include <list>
+#include <pthread.h>
-typedef float (*AUD_volumeFunction)(void*, void*, float);
-
-struct AUD_SequencerEntry
-{
- AUD_IFactory** sound;
- float begin;
- float end;
- float skip;
- bool muted;
- void* data;
-};
-
-class AUD_SequencerReader;
+class AUD_SequencerEntry;
/**
- * This factory creates a resampling reader that does simple linear resampling.
+ * This factory represents sequenced entries to play a sound scene.
*/
class AUD_SequencerFactory : public AUD_IFactory
{
+ friend class AUD_SequencerReader;
private:
- /**
- * The target specification.
- */
+ /// The target specification.
AUD_Specs m_specs;
- std::list<AUD_SequencerEntry*> m_entries;
- std::list<AUD_SequencerReader*> m_readers;
+ /// The status of the factory. Changes every time a non-animated parameter changes.
+ int m_status;
+
+ /// The entry status. Changes every time an entry is removed or added.
+ int m_entry_status;
+
+ /// The next unused ID for the entries.
+ int m_id;
+
+ /// The sequenced entries.
+ std::list<AUD_Reference<AUD_SequencerEntry> > m_entries;
+
+ /// Whether the whole scene is muted.
bool m_muted;
- void* m_data;
- AUD_volumeFunction m_volume;
- AUD_IReader* newReader();
+ /// The FPS of the scene.
+ float m_fps;
+
+ /// Speed of Sound.
+ float m_speed_of_sound;
+
+ /// Doppler factor.
+ float m_doppler_factor;
+
+ /// Distance model.
+ AUD_DistanceModel m_distance_model;
+
+ /// The animated volume.
+ AUD_AnimateableProperty m_volume;
+
+ /// The animated listener location.
+ AUD_AnimateableProperty m_location;
+
+ /// The animated listener orientation.
+ AUD_AnimateableProperty m_orientation;
+
+ /// The mutex for locking.
+ pthread_mutex_t m_mutex;
// hide copy constructor and operator=
AUD_SequencerFactory(const AUD_SequencerFactory&);
AUD_SequencerFactory& operator=(const AUD_SequencerFactory&);
public:
- AUD_SequencerFactory(AUD_Specs specs, bool muted, void* data, AUD_volumeFunction volume);
+ /**
+ * Creates a new sound scene.
+ * \param specs The output audio data specification.
+ * \param fps The FPS of the scene.
+ * \param muted Whether the whole scene is muted.
+ */
+ AUD_SequencerFactory(AUD_Specs specs, float fps, bool muted);
~AUD_SequencerFactory();
+ /**
+ * Locks the factory.
+ */
+ void lock();
+
+ /**
+ * Unlocks the previously locked factory.
+ */
+ void unlock();
+
+ /**
+ * Sets the audio output specification.
+ * \param specs The new specification.
+ */
+ void setSpecs(AUD_Specs specs);
+
+ /**
+ * Sets the scene's FPS.
+ * \param fps The new FPS.
+ */
+ void setFPS(float fps);
+
+ /**
+ * Sets the muting state of the scene.
+ * \param muted Whether the scene is muted.
+ */
void mute(bool muted);
+
+ /**
+ * Retrieves the muting state of the scene.
+ * \return Whether the scene is muted.
+ */
bool getMute() const;
- AUD_SequencerEntry* add(AUD_IFactory** sound, float begin, float end, float skip, void* data);
- void remove(AUD_SequencerEntry* entry);
- void move(AUD_SequencerEntry* entry, float begin, float end, float skip);
- void mute(AUD_SequencerEntry* entry, bool mute);
- virtual AUD_IReader* createReader() const;
+ /**
+ * Retrieves the speed of sound.
+ * This value is needed for doppler effect calculation.
+ * \return The speed of sound.
+ */
+ float getSpeedOfSound() const;
+
+ /**
+ * Sets the speed of sound.
+ * This value is needed for doppler effect calculation.
+ * \param speed The new speed of sound.
+ */
+ void setSpeedOfSound(float speed);
+
+ /**
+ * Retrieves the doppler factor.
+ * This value is a scaling factor for the velocity vectors of sources and
+ * listener which is used while calculating the doppler effect.
+ * \return The doppler factor.
+ */
+ float getDopplerFactor() const;
+
+ /**
+ * Sets the doppler factor.
+ * This value is a scaling factor for the velocity vectors of sources and
+ * listener which is used while calculating the doppler effect.
+ * \param factor The new doppler factor.
+ */
+ void setDopplerFactor(float factor);
+
+ /**
+ * Retrieves the distance model.
+ * \return The distance model.
+ */
+ AUD_DistanceModel getDistanceModel() const;
+
+ /**
+ * Sets the distance model.
+ * \param model distance model.
+ */
+ void setDistanceModel(AUD_DistanceModel model);
+
+ /**
+ * Retrieves one of the animated properties of the factory.
+ * \param type Which animated property to retrieve.
+ * \return A pointer to the animated property, valid as long as the
+ * factory is.
+ */
+ AUD_AnimateableProperty* getAnimProperty(AUD_AnimateablePropertyType type);
+
+ /**
+ * Adds a new entry to the scene.
+ * \param sound The sound this entry should play.
+ * \param begin The start time.
+ * \param end The end time or a negative value if determined by the sound.
+ * \param skip How much seconds should be skipped at the beginning.
+ * \return The entry added.
+ */
+ AUD_Reference<AUD_SequencerEntry> add(AUD_Reference<AUD_IFactory> sound, float begin, float end, float skip);
+
+ /**
+ * Removes an entry from the scene.
+ * \param entry The entry to remove.
+ */
+ void remove(AUD_Reference<AUD_SequencerEntry> entry);
+
+ /**
+ * Creates a new reader with high quality resampling.
+ * \return The new reader.
+ */
+ AUD_Reference<AUD_IReader> createQualityReader();
- void removeReader(AUD_SequencerReader* reader);
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_SEQUENCERFACTORY
diff --git a/intern/audaspace/intern/AUD_SequencerHandle.cpp b/intern/audaspace/intern/AUD_SequencerHandle.cpp
new file mode 100644
index 00000000000..c9cf46ccdc3
--- /dev/null
+++ b/intern/audaspace/intern/AUD_SequencerHandle.cpp
@@ -0,0 +1,166 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_SequencerHandle.cpp
+ * \ingroup audaspaceintern
+ */
+
+
+#include "AUD_SequencerHandle.h"
+#include "AUD_ReadDevice.h"
+
+AUD_SequencerHandle::AUD_SequencerHandle(AUD_Reference<AUD_SequencerEntry> entry, AUD_ReadDevice& device) :
+ m_entry(entry),
+ m_status(0),
+ m_pos_status(0),
+ m_sound_status(0),
+ m_device(device)
+{
+ if(!entry->m_sound.isNull())
+ {
+ m_handle = device.play(entry->m_sound, true);
+ m_3dhandle = AUD_Reference<AUD_I3DHandle>(m_handle);
+ }
+}
+
+AUD_SequencerHandle::~AUD_SequencerHandle()
+{
+ stop();
+}
+
+int AUD_SequencerHandle::compare(AUD_Reference<AUD_SequencerEntry> entry) const
+{
+ if(m_entry->getID() < entry->getID())
+ return -1;
+ else if(m_entry->getID() == entry->getID())
+ return 0;
+ return 1;
+}
+
+void AUD_SequencerHandle::stop()
+{
+ if(!m_handle.isNull())
+ m_handle->stop();
+}
+
+void AUD_SequencerHandle::update(float position, float frame)
+{
+ if(!m_handle.isNull())
+ {
+ m_entry->lock();
+ if(position >= m_entry->m_end && m_entry->m_end >= 0)
+ m_handle->pause();
+ else if(position >= m_entry->m_begin)
+ m_handle->resume();
+
+ if(m_sound_status != m_entry->m_sound_status)
+ {
+ if(!m_handle.isNull())
+ m_handle->stop();
+
+ if(!m_entry->m_sound.isNull())
+ {
+ m_handle = m_device.play(m_entry->m_sound, true);
+ m_3dhandle = AUD_Reference<AUD_I3DHandle>(m_handle);
+ }
+
+ m_sound_status = m_entry->m_sound_status;
+ m_pos_status--;
+ m_status--;
+ }
+
+ if(m_pos_status != m_entry->m_pos_status)
+ {
+ seek(position);
+
+ m_pos_status = m_entry->m_pos_status;
+ }
+
+ if(m_status != m_entry->m_status)
+ {
+ m_3dhandle->setRelative(m_entry->m_relative);
+ m_3dhandle->setVolumeMaximum(m_entry->m_volume_max);
+ m_3dhandle->setVolumeMinimum(m_entry->m_volume_min);
+ m_3dhandle->setDistanceMaximum(m_entry->m_distance_max);
+ m_3dhandle->setDistanceReference(m_entry->m_distance_reference);
+ m_3dhandle->setAttenuation(m_entry->m_attenuation);
+ m_3dhandle->setConeAngleOuter(m_entry->m_cone_angle_outer);
+ m_3dhandle->setConeAngleInner(m_entry->m_cone_angle_inner);
+ m_3dhandle->setConeVolumeOuter(m_entry->m_cone_volume_outer);
+
+ m_status = m_entry->m_status;
+ }
+
+ float value;
+
+ m_entry->m_volume.read(frame, &value);
+ m_handle->setVolume(value);
+ m_entry->m_pitch.read(frame, &value);
+ m_handle->setPitch(value);
+ m_entry->m_panning.read(frame, &value);
+ AUD_SoftwareDevice::setPanning(m_handle.get(), value);
+
+ AUD_Vector3 v, v2;
+ AUD_Quaternion q;
+
+ m_entry->m_orientation.read(frame, q.get());
+ m_3dhandle->setSourceOrientation(q);
+ m_entry->m_location.read(frame, v.get());
+ m_3dhandle->setSourceLocation(v);
+ m_entry->m_location.read(frame + 1, v2.get());
+ v2 -= v;
+ m_3dhandle->setSourceVelocity(v2);
+
+ if(m_entry->m_muted)
+ m_handle->setVolume(0);
+ m_entry->unlock();
+ }
+}
+
+void AUD_SequencerHandle::seek(float position)
+{
+ if(!m_handle.isNull())
+ {
+ m_entry->lock();
+ if(position >= m_entry->m_end && m_entry->m_end >= 0)
+ {
+ m_handle->pause();
+ m_entry->unlock();
+ return;
+ }
+
+ float seekpos = position - m_entry->m_begin;
+ if(seekpos < 0)
+ seekpos = 0;
+ seekpos += m_entry->m_skip;
+ m_handle->seek(seekpos);
+ if(position < m_entry->m_begin)
+ m_handle->pause();
+ else
+ m_handle->resume();
+ m_entry->unlock();
+ }
+}
diff --git a/intern/audaspace/intern/AUD_SequencerHandle.h b/intern/audaspace/intern/AUD_SequencerHandle.h
new file mode 100644
index 00000000000..9703d2b0059
--- /dev/null
+++ b/intern/audaspace/intern/AUD_SequencerHandle.h
@@ -0,0 +1,107 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/intern/AUD_SequencerHandle.h
+ * \ingroup audaspaceintern
+ */
+
+
+#ifndef AUD_SEQUENCERHANDLE
+#define AUD_SEQUENCERHANDLE
+
+#include "AUD_SequencerEntry.h"
+#include "AUD_IHandle.h"
+#include "AUD_I3DHandle.h"
+
+class AUD_ReadDevice;
+
+/**
+ * Represents a playing sequenced entry.
+ */
+class AUD_SequencerHandle
+{
+private:
+ /// The entry this handle belongs to.
+ AUD_Reference<AUD_SequencerEntry> m_entry;
+
+ /// The handle in the read device.
+ AUD_Reference<AUD_IHandle> m_handle;
+
+ /// The 3D handle in the read device.
+ AUD_Reference<AUD_I3DHandle> m_3dhandle;
+
+ /// The last read status from the entry.
+ int m_status;
+
+ /// The last position status from the entry.
+ int m_pos_status;
+
+ /// The last sound status from the entry.
+ int m_sound_status;
+
+ /// The read device this handle is played on.
+ AUD_ReadDevice& m_device;
+
+public:
+ /**
+ * Creates a new sequenced handle.
+ * \param entry The entry this handle plays.
+ * \param device The read device to play on.
+ */
+ AUD_SequencerHandle(AUD_Reference<AUD_SequencerEntry> entry, AUD_ReadDevice& device);
+
+ /**
+ * Destroys the handle.
+ */
+ ~AUD_SequencerHandle();
+
+ /**
+ * Compares whether this handle is playing the same entry as supplied.
+ * \param entry The entry to compare to.
+ * \return Whether the entries ID is smaller, equal or bigger.
+ */
+ int compare(AUD_Reference<AUD_SequencerEntry> entry) const;
+
+ /**
+ * Stops playing back the handle.
+ */
+ void stop();
+
+ /**
+ * Updates the handle for playback.
+ * \param position The current time during playback.
+ * \param frame The current frame during playback.
+ */
+ void update(float position, float frame);
+
+ /**
+ * Seeks the handle to a specific time position.
+ * \param position The time to seek to.
+ */
+ void seek(float position);
+};
+
+#endif //AUD_SEQUENCERHANDLE
diff --git a/intern/audaspace/intern/AUD_SequencerReader.cpp b/intern/audaspace/intern/AUD_SequencerReader.cpp
index 95e0dca6323..0b8a400a97b 100644
--- a/intern/audaspace/intern/AUD_SequencerReader.cpp
+++ b/intern/audaspace/intern/AUD_SequencerReader.cpp
@@ -30,115 +30,18 @@
#include "AUD_SequencerReader.h"
-#include "AUD_DefaultMixer.h"
-#include <math.h>
+typedef std::list<AUD_Reference<AUD_SequencerHandle> >::iterator AUD_HandleIterator;
+typedef std::list<AUD_Reference<AUD_SequencerEntry> >::iterator AUD_EntryIterator;
-typedef std::list<AUD_SequencerStrip*>::iterator AUD_StripIterator;
-typedef std::list<AUD_SequencerEntry*>::iterator AUD_EntryIterator;
-
-AUD_SequencerReader::AUD_SequencerReader(AUD_SequencerFactory* factory,
- std::list<AUD_SequencerEntry*> &entries, AUD_Specs specs,
- void* data, AUD_volumeFunction volume)
+AUD_SequencerReader::AUD_SequencerReader(AUD_Reference<AUD_SequencerFactory> factory, bool quality) :
+ m_position(0), m_device(factory->m_specs), m_factory(factory), m_status(0), m_entry_status(0)
{
- AUD_DeviceSpecs dspecs;
- dspecs.specs = specs;
- dspecs.format = AUD_FORMAT_FLOAT32;
-
- m_mixer = new AUD_DefaultMixer(dspecs);
- m_factory = factory;
- m_data = data;
- m_volume = volume;
-
- AUD_SequencerStrip* strip;
-
- for(AUD_EntryIterator i = entries.begin(); i != entries.end(); i++)
- {
- strip = new AUD_SequencerStrip;
- strip->entry = *i;
- strip->old_sound = NULL;
-
- if(strip->old_sound)
- strip->reader = m_mixer->prepare(strip->old_sound->createReader());
- else
- strip->reader = NULL;
-
- m_strips.push_front(strip);
- }
-
- m_position = 0;
+ m_device.setQuality(quality);
}
AUD_SequencerReader::~AUD_SequencerReader()
{
- if(m_factory != NULL)
- m_factory->removeReader(this);
-
- AUD_SequencerStrip* strip;
-
- while(!m_strips.empty())
- {
- strip = m_strips.front();
- m_strips.pop_front();
- if(strip->reader)
- {
- delete strip->reader;
- }
- delete strip;
- }
-
- delete m_mixer;
-}
-
-void AUD_SequencerReader::destroy()
-{
- m_factory = NULL;
- AUD_SequencerStrip* strip;
-
- while(!m_strips.empty())
- {
- strip = m_strips.front();
- m_strips.pop_front();
- delete strip;
- }
-}
-
-void AUD_SequencerReader::add(AUD_SequencerEntry* entry)
-{
- AUD_SequencerStrip* strip = new AUD_SequencerStrip;
- strip->entry = entry;
-
- if(*strip->entry->sound)
- {
- strip->old_sound = *strip->entry->sound;
- strip->reader = m_mixer->prepare(strip->old_sound->createReader());
- }
- else
- {
- strip->reader = NULL;
- strip->old_sound = NULL;
- }
- m_strips.push_front(strip);
-}
-
-void AUD_SequencerReader::remove(AUD_SequencerEntry* entry)
-{
- AUD_SequencerStrip* strip;
- for(AUD_StripIterator i = m_strips.begin(); i != m_strips.end(); i++)
- {
- strip = *i;
- if(strip->entry == entry)
- {
- i++;
- if(strip->reader)
- {
- delete strip->reader;
- }
- m_strips.remove(strip);
- delete strip;
- return;
- }
- }
}
bool AUD_SequencerReader::isSeekable() const
@@ -149,6 +52,11 @@ bool AUD_SequencerReader::isSeekable() const
void AUD_SequencerReader::seek(int position)
{
m_position = position;
+
+ for(AUD_HandleIterator it = m_handles.begin(); it != m_handles.end(); it++)
+ {
+ (*it)->seek(position / m_factory->m_specs.rate);
+ }
}
int AUD_SequencerReader::getLength() const
@@ -163,84 +71,120 @@ int AUD_SequencerReader::getPosition() const
AUD_Specs AUD_SequencerReader::getSpecs() const
{
- return m_mixer->getSpecs().specs;
+ return m_factory->m_specs;
}
-void AUD_SequencerReader::read(int & length, sample_t* & buffer)
+void AUD_SequencerReader::read(int& length, bool& eos, sample_t* buffer)
{
- AUD_DeviceSpecs specs = m_mixer->getSpecs();
- int samplesize = AUD_SAMPLE_SIZE(specs);
- int rate = specs.rate;
-
- int size = length * samplesize;
+ m_factory->lock();
- int start, end, current, skip, len;
- AUD_SequencerStrip* strip;
- sample_t* buf;
+ if(m_factory->m_status != m_status)
+ {
+ m_device.changeSpecs(m_factory->m_specs);
+ m_device.setSpeedOfSound(m_factory->m_speed_of_sound);
+ m_device.setDistanceModel(m_factory->m_distance_model);
+ m_device.setDopplerFactor(m_factory->m_doppler_factor);
- if(m_buffer.getSize() < size)
- m_buffer.resize(size);
- buffer = m_buffer.getBuffer();
+ m_status = m_factory->m_status;
+ }
- if(!m_factory->getMute())
+ if(m_factory->m_entry_status != m_entry_status)
{
- for(AUD_StripIterator i = m_strips.begin(); i != m_strips.end(); i++)
+ std::list<AUD_Reference<AUD_SequencerHandle> > handles;
+
+ AUD_HandleIterator hit = m_handles.begin();
+ AUD_EntryIterator eit = m_factory->m_entries.begin();
+
+ int result;
+ AUD_Reference<AUD_SequencerHandle> handle;
+
+ while(hit != m_handles.end() && eit != m_factory->m_entries.end())
{
- strip = *i;
- if(!strip->entry->muted)
+ handle = *hit;
+ AUD_Reference<AUD_SequencerEntry> entry = *eit;
+
+ result = handle->compare(entry);
+
+ if(result < 0)
{
- if(strip->old_sound != *strip->entry->sound)
- {
- strip->old_sound = *strip->entry->sound;
- if(strip->reader)
- delete strip->reader;
-
- if(strip->old_sound)
- {
- try
- {
- strip->reader = m_mixer->prepare(strip->old_sound->createReader());
- }
- catch(AUD_Exception)
- {
- strip->reader = NULL;
- }
- }
- else
- strip->reader = NULL;
- }
-
- if(strip->reader)
- {
- end = floor(strip->entry->end * rate);
- if(m_position < end)
- {
- start = floor(strip->entry->begin * rate);
- if(m_position + length > start)
- {
- current = m_position - start;
- if(current < 0)
- {
- skip = -current;
- current = 0;
- }
- else
- skip = 0;
- current += strip->entry->skip * rate;
- len = length > end - m_position ? end - m_position : length;
- len -= skip;
- if(strip->reader->getPosition() != current)
- strip->reader->seek(current);
- strip->reader->read(len, buf);
- m_mixer->add(buf, skip, len, m_volume(m_data, strip->entry->data, (float)m_position / (float)rate));
- }
- }
- }
+ handle = new AUD_SequencerHandle(entry, m_device);
+ handles.push_front(handle);
+ eit++;
}
+ else if(result == 0)
+ {
+ handles.push_back(handle);
+ hit++;
+ eit++;
+ }
+ else
+ {
+ handle->stop();
+ hit++;
+ }
+ }
+
+ while(hit != m_handles.end())
+ {
+ (*hit)->stop();
+ hit++;
}
+
+ while(eit != m_factory->m_entries.end())
+ {
+ handle = new AUD_SequencerHandle(*eit, m_device);
+ handles.push_front(handle);
+ eit++;
+ }
+
+ m_handles = handles;
+
+ m_entry_status = m_factory->m_entry_status;
}
- m_mixer->superpose((data_t*)buffer, length, 1.0f);
+ AUD_Specs specs = m_factory->m_specs;
+ int pos = 0;
+ float time = float(m_position) / float(specs.rate);
+ float volume, frame;
+ int len, cfra;
+ AUD_Vector3 v, v2;
+ AUD_Quaternion q;
+
+
+ while(pos < length)
+ {
+ frame = time * m_factory->m_fps;
+ cfra = int(floor(frame));
+
+ len = int(ceil((cfra + 1) / m_factory->m_fps * specs.rate)) - m_position;
+ len = AUD_MIN(length - pos, len);
+ len = AUD_MAX(len, 1);
+
+ for(AUD_HandleIterator it = m_handles.begin(); it != m_handles.end(); it++)
+ {
+ (*it)->update(time, frame);
+ }
+
+ m_factory->m_volume.read(frame, &volume);
+ m_device.setVolume(volume);
+
+ m_factory->m_orientation.read(frame, q.get());
+ m_device.setListenerOrientation(q);
+ m_factory->m_location.read(frame, v.get());
+ m_device.setListenerLocation(v);
+ m_factory->m_location.read(frame + 1, v2.get());
+ v2 -= v;
+ m_device.setListenerVelocity(v2);
+
+ m_device.read(reinterpret_cast<data_t*>(buffer + specs.channels * pos), len);
+
+ pos += len;
+ time += float(len) / float(specs.rate);
+ }
+
+ m_factory->unlock();
m_position += length;
+
+ eos = false;
}
diff --git a/intern/audaspace/intern/AUD_SequencerReader.h b/intern/audaspace/intern/AUD_SequencerReader.h
index 53baf521acc..9b7aa82dc7e 100644
--- a/intern/audaspace/intern/AUD_SequencerReader.h
+++ b/intern/audaspace/intern/AUD_SequencerReader.h
@@ -33,19 +33,12 @@
#define AUD_SEQUENCERREADER
#include "AUD_IReader.h"
+#include "AUD_ReadDevice.h"
#include "AUD_SequencerFactory.h"
-#include "AUD_Buffer.h"
-class AUD_Mixer;
-
-struct AUD_SequencerStrip
-{
- AUD_IFactory* old_sound;
- AUD_IReader* reader;
- AUD_SequencerEntry* entry;
-};
+#include "AUD_SequencerHandle.h"
/**
- * This resampling reader uses libsamplerate for resampling.
+ * This reader plays back sequenced entries.
*/
class AUD_SequencerReader : public AUD_IReader
{
@@ -56,24 +49,29 @@ private:
int m_position;
/**
- * The sound output buffer.
+ * The read device used to mix the sounds correctly.
*/
- AUD_Buffer m_buffer;
+ AUD_ReadDevice m_device;
/**
- * The target specification.
+ * Saves the SequencerFactory the reader belongs to.
*/
- AUD_Mixer* m_mixer;
+ AUD_Reference<AUD_SequencerFactory> m_factory;
/**
- * Saves the SequencerFactory the reader belongs to.
+ * The list of playback handles for the entries.
*/
- AUD_SequencerFactory* m_factory;
+ std::list<AUD_Reference<AUD_SequencerHandle> > m_handles;
- std::list<AUD_SequencerStrip*> m_strips;
+ /**
+ * Last status read from the factory.
+ */
+ int m_status;
- void* m_data;
- AUD_volumeFunction m_volume;
+ /**
+ * Last entry status read from the factory.
+ */
+ int m_entry_status;
// hide copy constructor and operator=
AUD_SequencerReader(const AUD_SequencerReader&);
@@ -85,24 +83,19 @@ public:
* \param reader The reader to mix.
* \param specs The target specification.
*/
- AUD_SequencerReader(AUD_SequencerFactory* factory, std::list<AUD_SequencerEntry*> &entries, const AUD_Specs specs, void* data, AUD_volumeFunction volume);
+ AUD_SequencerReader(AUD_Reference<AUD_SequencerFactory> factory, bool quality = false);
/**
* Destroys the reader.
*/
~AUD_SequencerReader();
- void destroy();
-
- void add(AUD_SequencerEntry* entry);
- void remove(AUD_SequencerEntry* entry);
-
virtual bool isSeekable() const;
virtual void seek(int position);
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_SEQUENCERREADER
diff --git a/intern/audaspace/intern/AUD_SilenceFactory.cpp b/intern/audaspace/intern/AUD_SilenceFactory.cpp
index dc3f0626591..aefd561a584 100644
--- a/intern/audaspace/intern/AUD_SilenceFactory.cpp
+++ b/intern/audaspace/intern/AUD_SilenceFactory.cpp
@@ -37,7 +37,7 @@ AUD_SilenceFactory::AUD_SilenceFactory()
{
}
-AUD_IReader* AUD_SilenceFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_SilenceFactory::createReader()
{
return new AUD_SilenceReader();
}
diff --git a/intern/audaspace/intern/AUD_SilenceFactory.h b/intern/audaspace/intern/AUD_SilenceFactory.h
index fb6afc34189..214f1dd45d6 100644
--- a/intern/audaspace/intern/AUD_SilenceFactory.h
+++ b/intern/audaspace/intern/AUD_SilenceFactory.h
@@ -35,7 +35,7 @@
#include "AUD_IFactory.h"
/**
- * This factory creates a reader that plays a sine tone.
+ * This factory creates a reader that plays silence.
*/
class AUD_SilenceFactory : public AUD_IFactory
{
@@ -50,7 +50,7 @@ public:
*/
AUD_SilenceFactory();
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_SILENCEFACTORY
diff --git a/intern/audaspace/intern/AUD_SilenceReader.cpp b/intern/audaspace/intern/AUD_SilenceReader.cpp
index bdff4fe75a6..d34fea72bb3 100644
--- a/intern/audaspace/intern/AUD_SilenceReader.cpp
+++ b/intern/audaspace/intern/AUD_SilenceReader.cpp
@@ -66,15 +66,9 @@ AUD_Specs AUD_SilenceReader::getSpecs() const
return specs;
}
-void AUD_SilenceReader::read(int & length, sample_t* & buffer)
+void AUD_SilenceReader::read(int& length, bool& eos, sample_t* buffer)
{
- // resize if necessary
- if(m_buffer.getSize() < length * sizeof(sample_t))
- {
- m_buffer.resize(length * sizeof(sample_t));
- memset(m_buffer.getBuffer(), 0, m_buffer.getSize());
- }
-
- buffer = m_buffer.getBuffer();
+ memset(buffer, 0, length * sizeof(sample_t));
m_position += length;
+ eos = false;
}
diff --git a/intern/audaspace/intern/AUD_SilenceReader.h b/intern/audaspace/intern/AUD_SilenceReader.h
index b35b4cfab42..823dff10bcc 100644
--- a/intern/audaspace/intern/AUD_SilenceReader.h
+++ b/intern/audaspace/intern/AUD_SilenceReader.h
@@ -36,12 +36,8 @@
#include "AUD_Buffer.h"
/**
- * This class is used for sine tone playback.
- * The output format is in the 16 bit format and stereo, the sample rate can be
- * specified.
- * As the two channels both play the same the output could also be mono, but
- * in most cases this will result in having to resample for output, so stereo
- * sound is created directly.
+ * This class is used for silence playback.
+ * The signal generated is 44.1kHz mono.
*/
class AUD_SilenceReader : public AUD_IReader
{
@@ -51,11 +47,6 @@ private:
*/
int m_position;
- /**
- * The playback buffer.
- */
- AUD_Buffer m_buffer;
-
// hide copy constructor and operator=
AUD_SilenceReader(const AUD_SilenceReader&);
AUD_SilenceReader& operator=(const AUD_SilenceReader&);
@@ -71,7 +62,7 @@ public:
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_SILENCEREADER
diff --git a/intern/audaspace/intern/AUD_SinusFactory.cpp b/intern/audaspace/intern/AUD_SinusFactory.cpp
index 9ea7a031b16..b79f6bee6d7 100644
--- a/intern/audaspace/intern/AUD_SinusFactory.cpp
+++ b/intern/audaspace/intern/AUD_SinusFactory.cpp
@@ -44,7 +44,7 @@ float AUD_SinusFactory::getFrequency() const
return m_frequency;
}
-AUD_IReader* AUD_SinusFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_SinusFactory::createReader()
{
return new AUD_SinusReader(m_frequency, m_sampleRate);
}
diff --git a/intern/audaspace/intern/AUD_SinusFactory.h b/intern/audaspace/intern/AUD_SinusFactory.h
index 6d8b355784b..a6bc7f2110c 100644
--- a/intern/audaspace/intern/AUD_SinusFactory.h
+++ b/intern/audaspace/intern/AUD_SinusFactory.h
@@ -68,7 +68,7 @@ public:
*/
float getFrequency() const;
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_SINUSFACTORY
diff --git a/intern/audaspace/intern/AUD_SinusReader.cpp b/intern/audaspace/intern/AUD_SinusReader.cpp
index f32464f067a..bb5477ed5cf 100644
--- a/intern/audaspace/intern/AUD_SinusReader.cpp
+++ b/intern/audaspace/intern/AUD_SinusReader.cpp
@@ -72,19 +72,14 @@ AUD_Specs AUD_SinusReader::getSpecs() const
return specs;
}
-void AUD_SinusReader::read(int & length, sample_t* & buffer)
+void AUD_SinusReader::read(int& length, bool& eos, sample_t* buffer)
{
- // resize if necessary
- if(m_buffer.getSize() < length * sizeof(sample_t))
- m_buffer.resize(length * sizeof(sample_t));
-
// fill with sine data
- buffer = m_buffer.getBuffer();
for(int i = 0; i < length; i++)
{
- buffer[i] = sin((m_position + i) * 2 * M_PI * m_frequency /
- (float)m_sampleRate);
+ buffer[i] = sin((m_position + i) * 2 * M_PI * m_frequency / m_sampleRate);
}
m_position += length;
+ eos = false;
}
diff --git a/intern/audaspace/intern/AUD_SinusReader.h b/intern/audaspace/intern/AUD_SinusReader.h
index e807f03226d..9becbbd135a 100644
--- a/intern/audaspace/intern/AUD_SinusReader.h
+++ b/intern/audaspace/intern/AUD_SinusReader.h
@@ -37,11 +37,7 @@
/**
* This class is used for sine tone playback.
- * The output format is in the 16 bit format and stereo, the sample rate can be
- * specified.
- * As the two channels both play the same the output could also be mono, but
- * in most cases this will result in having to resample for output, so stereo
- * sound is created directly.
+ * The sample rate can be specified, the signal is mono.
*/
class AUD_SinusReader : public AUD_IReader
{
@@ -57,11 +53,6 @@ private:
int m_position;
/**
- * The playback buffer.
- */
- AUD_Buffer m_buffer;
-
- /**
* The sample rate for the output.
*/
const AUD_SampleRate m_sampleRate;
@@ -83,7 +74,7 @@ public:
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_SINUSREADER
diff --git a/intern/audaspace/intern/AUD_SoftwareDevice.cpp b/intern/audaspace/intern/AUD_SoftwareDevice.cpp
index b44b2f02d29..0413c488b5d 100644
--- a/intern/audaspace/intern/AUD_SoftwareDevice.cpp
+++ b/intern/audaspace/intern/AUD_SoftwareDevice.cpp
@@ -31,41 +31,638 @@
#include "AUD_SoftwareDevice.h"
#include "AUD_IReader.h"
-#include "AUD_DefaultMixer.h"
+#include "AUD_Mixer.h"
#include "AUD_IFactory.h"
+#include "AUD_JOSResampleReader.h"
+#include "AUD_LinearResampleReader.h"
#include <cstring>
+#include <cmath>
#include <limits>
-/// Saves the data for playback.
-struct AUD_SoftwareHandle : AUD_Handle
+#ifndef M_PI
+#define M_PI 3.14159265358979323846
+#endif
+
+typedef enum
+{
+ AUD_RENDER_DISTANCE = 0x01,
+ AUD_RENDER_DOPPLER = 0x02,
+ AUD_RENDER_CONE = 0x04,
+ AUD_RENDER_VOLUME = 0x08
+} AUD_RenderFlags;
+
+#define AUD_PITCH_MAX 10
+
+/******************************************************************************/
+/********************** AUD_SoftwareHandle Handle Code ************************/
+/******************************************************************************/
+
+AUD_SoftwareDevice::AUD_SoftwareHandle::AUD_SoftwareHandle(AUD_SoftwareDevice* device, AUD_Reference<AUD_IReader> reader, AUD_Reference<AUD_PitchReader> pitch, AUD_Reference<AUD_ResampleReader> resampler, AUD_Reference<AUD_ChannelMapperReader> mapper, bool keep) :
+ m_reader(reader), m_pitch(pitch), m_resampler(resampler), m_mapper(mapper), m_keep(keep), m_user_pitch(1.0f), m_user_volume(1.0f), m_user_pan(0.0f), m_volume(1.0f), m_loopcount(0),
+ m_relative(true), m_volume_max(1.0f), m_volume_min(0), m_distance_max(std::numeric_limits<float>::max()),
+ m_distance_reference(1.0f), m_attenuation(1.0f), m_cone_angle_outer(M_PI), m_cone_angle_inner(M_PI), m_cone_volume_outer(0),
+ m_flags(AUD_RENDER_CONE), m_stop(NULL), m_stop_data(NULL), m_status(AUD_STATUS_PLAYING), m_device(device)
+{
+}
+
+void AUD_SoftwareDevice::AUD_SoftwareHandle::update()
+{
+ int flags = 0;
+
+ AUD_Vector3 SL;
+ if(m_relative)
+ SL = -m_location;
+ else
+ SL = m_device->m_location - m_location;
+ float distance = SL * SL;
+
+ if(distance > 0)
+ distance = sqrt(distance);
+ else
+ flags |= AUD_RENDER_DOPPLER | AUD_RENDER_DISTANCE;
+
+ if(m_pitch->getSpecs().channels != AUD_CHANNELS_MONO)
+ {
+ m_volume = m_user_volume;
+ m_pitch->setPitch(m_user_pitch);
+ return;
+ }
+
+ flags = ~(flags | m_flags | m_device->m_flags);
+
+ // Doppler and Pitch
+
+ if(flags & AUD_RENDER_DOPPLER)
+ {
+ float vls;
+ if(m_relative)
+ vls = 0;
+ else
+ vls = SL * m_device->m_velocity / distance;
+ float vss = SL * m_velocity / distance;
+ float max = m_device->m_speed_of_sound / m_device->m_doppler_factor;
+ if(vss >= max)
+ {
+ m_pitch->setPitch(AUD_PITCH_MAX);
+ }
+ else
+ {
+ if(vls > max)
+ vls = max;
+
+ m_pitch->setPitch((m_device->m_speed_of_sound - m_device->m_doppler_factor * vls) / (m_device->m_speed_of_sound - m_device->m_doppler_factor * vss) * m_user_pitch);
+ }
+ }
+ else
+ m_pitch->setPitch(m_user_pitch);
+
+ if(flags & AUD_RENDER_VOLUME)
+ {
+ // Distance
+
+ if(flags & AUD_RENDER_DISTANCE)
+ {
+ if(m_device->m_distance_model == AUD_DISTANCE_MODEL_INVERSE_CLAMPED || m_device->m_distance_model == AUD_DISTANCE_MODEL_LINEAR_CLAMPED || m_device->m_distance_model == AUD_DISTANCE_MODEL_EXPONENT_CLAMPED)
+ {
+ distance = AUD_MAX(AUD_MIN(m_distance_max, distance), m_distance_reference);
+ }
+
+ switch(m_device->m_distance_model)
+ {
+ case AUD_DISTANCE_MODEL_INVERSE:
+ case AUD_DISTANCE_MODEL_INVERSE_CLAMPED:
+ m_volume = m_distance_reference / (m_distance_reference + m_attenuation * (distance - m_distance_reference));
+ break;
+ case AUD_DISTANCE_MODEL_LINEAR:
+ case AUD_DISTANCE_MODEL_LINEAR_CLAMPED:
+ {
+ float temp = m_distance_max - m_distance_reference;
+ if(temp == 0)
+ {
+ if(distance > m_distance_reference)
+ m_volume = 0.0f;
+ else
+ m_volume = 1.0f;
+ }
+ else
+ m_volume = 1.0f - m_attenuation * (distance - m_distance_reference) / (m_distance_max - m_distance_reference);
+ break;
+ }
+ case AUD_DISTANCE_MODEL_EXPONENT:
+ case AUD_DISTANCE_MODEL_EXPONENT_CLAMPED:
+ if(m_distance_reference == 0)
+ m_volume = 0;
+ else
+ m_volume = pow(distance / m_distance_reference, -m_attenuation);
+ break;
+ default:
+ m_volume = 1.0f;
+ }
+ }
+ else
+ m_volume = 1.0f;
+
+ // Cone
+
+ if(flags & AUD_RENDER_CONE)
+ {
+ AUD_Vector3 SZ = m_orientation.getLookAt();
+
+ float phi = acos(float(SZ * SL / (SZ.length() * SL.length())));
+ float t = (phi - m_cone_angle_inner)/(m_cone_angle_outer - m_cone_angle_inner);
+
+ if(t > 0)
+ {
+ if(t > 1)
+ m_volume *= m_cone_volume_outer;
+ else
+ m_volume *= 1 + t * (m_cone_volume_outer - 1);
+ }
+ }
+
+ if(m_volume > m_volume_max)
+ m_volume = m_volume_max;
+ else if(m_volume < m_volume_min)
+ m_volume = m_volume_min;
+
+ // Volume
+
+ m_volume *= m_user_volume;
+ }
+
+ // 3D Cue
+
+ AUD_Quaternion orientation;
+
+ if(!m_relative)
+ orientation = m_device->m_orientation;
+
+ AUD_Vector3 Z = orientation.getLookAt();
+ AUD_Vector3 N = orientation.getUp();
+ AUD_Vector3 A = N * ((SL * N) / (N * N)) - SL;
+
+ float Asquare = A * A;
+
+ if(Asquare > 0)
+ {
+ float phi = acos(float(Z * A / (Z.length() * sqrt(Asquare))));
+ if(N.cross(Z) * A > 0)
+ phi = -phi;
+
+ m_mapper->setMonoAngle(phi);
+ }
+ else
+ m_mapper->setMonoAngle(m_relative ? m_user_pan * M_PI / 2.0 : 0);
+}
+
+void AUD_SoftwareDevice::AUD_SoftwareHandle::setSpecs(AUD_Specs specs)
+{
+ m_mapper->setChannels(specs.channels);
+ m_resampler->setRate(specs.rate);
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::pause()
+{
+ if(m_status)
+ {
+ m_device->lock();
+
+ if(m_status == AUD_STATUS_PLAYING)
+ {
+ m_device->m_playingSounds.remove(this);
+ m_device->m_pausedSounds.push_back(this);
+
+ if(m_device->m_playingSounds.empty())
+ m_device->playing(m_device->m_playback = false);
+ m_status = AUD_STATUS_PAUSED;
+ m_device->unlock();
+
+ return true;
+ }
+
+ m_device->unlock();
+ }
+
+ return false;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::resume()
+{
+ if(m_status)
+ {
+ m_device->lock();
+
+ if(m_status == AUD_STATUS_PAUSED)
+ {
+ m_device->m_pausedSounds.remove(this);
+ m_device->m_playingSounds.push_back(this);
+
+ if(!m_device->m_playback)
+ m_device->playing(m_device->m_playback = true);
+ m_status = AUD_STATUS_PLAYING;
+ m_device->unlock();
+ return true;
+ }
+
+ m_device->unlock();
+ }
+
+ return false;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::stop()
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ // AUD_XXX Create a reference of our own object so that it doesn't get
+ // deleted before the end of this function
+ AUD_Reference<AUD_SoftwareHandle> This = this;
+
+ if(m_status == AUD_STATUS_PLAYING)
+ {
+ m_device->m_playingSounds.remove(This);
+
+ if(m_device->m_playingSounds.empty())
+ m_device->playing(m_device->m_playback = false);
+ }
+ else
+ m_device->m_pausedSounds.remove(This);
+
+ m_device->unlock();
+ m_status = AUD_STATUS_INVALID;
+ return true;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::getKeep()
+{
+ if(m_status)
+ return m_keep;
+
+ return false;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setKeep(bool keep)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ m_keep = keep;
+
+ m_device->unlock();
+
+ return true;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::seek(float position)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ m_reader->seek((int)(position * m_reader->getSpecs().rate));
+
+ m_device->unlock();
+
+ return true;
+}
+
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getPosition()
+{
+ if(!m_status)
+ return 0.0f;
+
+ m_device->lock();
+
+ float position = m_reader->getPosition() / (float)m_device->m_specs.rate;
+
+ m_device->unlock();
+
+ return position;
+}
+
+AUD_Status AUD_SoftwareDevice::AUD_SoftwareHandle::getStatus()
+{
+ return m_status;
+}
+
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getVolume()
+{
+ return m_user_volume;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setVolume(float volume)
+{
+ if(!m_status)
+ return false;
+ m_user_volume = volume;
+
+ if(volume == 0)
+ {
+ m_volume = volume;
+ m_flags |= AUD_RENDER_VOLUME;
+ }
+ else
+ m_flags &= ~AUD_RENDER_VOLUME;
+
+ return true;
+}
+
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getPitch()
+{
+ return m_user_pitch;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setPitch(float pitch)
+{
+ if(!m_status)
+ return false;
+ m_user_pitch = pitch;
+ return true;
+}
+
+int AUD_SoftwareDevice::AUD_SoftwareHandle::getLoopCount()
+{
+ if(!m_status)
+ return 0;
+ return m_loopcount;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setLoopCount(int count)
+{
+ if(!m_status)
+ return false;
+ m_loopcount = count;
+ return true;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setStopCallback(stopCallback callback, void* data)
+{
+ if(!m_status)
+ return false;
+
+ m_device->lock();
+
+ m_stop = callback;
+ m_stop_data = data;
+
+ m_device->unlock();
+
+ return true;
+}
+
+
+
+/******************************************************************************/
+/******************** AUD_SoftwareHandle 3DHandle Code ************************/
+/******************************************************************************/
+
+AUD_Vector3 AUD_SoftwareDevice::AUD_SoftwareHandle::getSourceLocation()
+{
+ if(!m_status)
+ return AUD_Vector3();
+
+ return m_location;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setSourceLocation(const AUD_Vector3& location)
+{
+ if(!m_status)
+ return false;
+
+ m_location = location;
+
+ return true;
+}
+
+AUD_Vector3 AUD_SoftwareDevice::AUD_SoftwareHandle::getSourceVelocity()
+{
+ if(!m_status)
+ return AUD_Vector3();
+
+ return m_velocity;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setSourceVelocity(const AUD_Vector3& velocity)
+{
+ if(!m_status)
+ return false;
+
+ m_velocity = velocity;
+
+ return true;
+}
+
+AUD_Quaternion AUD_SoftwareDevice::AUD_SoftwareHandle::getSourceOrientation()
+{
+ if(!m_status)
+ return AUD_Quaternion();
+
+ return m_orientation;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setSourceOrientation(const AUD_Quaternion& orientation)
+{
+ if(!m_status)
+ return false;
+
+ m_orientation = orientation;
+
+ return true;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::isRelative()
+{
+ if(!m_status)
+ return false;
+
+ return m_relative;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setRelative(bool relative)
+{
+ if(!m_status)
+ return false;
+
+ m_relative = relative;
+
+ return true;
+}
+
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getVolumeMaximum()
+{
+ if(!m_status)
+ return std::numeric_limits<float>::quiet_NaN();
+
+ return m_volume_max;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setVolumeMaximum(float volume)
+{
+ if(!m_status)
+ return false;
+
+ m_volume_max = volume;
+
+ return true;
+}
+
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getVolumeMinimum()
+{
+ if(!m_status)
+ return std::numeric_limits<float>::quiet_NaN();
+
+ return m_volume_min;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setVolumeMinimum(float volume)
+{
+ if(!m_status)
+ return false;
+
+ m_volume_min = volume;
+
+ return true;
+}
+
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getDistanceMaximum()
+{
+ if(!m_status)
+ return std::numeric_limits<float>::quiet_NaN();
+
+ return m_distance_max;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setDistanceMaximum(float distance)
+{
+ if(!m_status)
+ return false;
+
+ m_distance_max = distance;
+
+ return true;
+}
+
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getDistanceReference()
+{
+ if(!m_status)
+ return std::numeric_limits<float>::quiet_NaN();
+
+ return m_distance_reference;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setDistanceReference(float distance)
{
- /// The reader source.
- AUD_IReader* reader;
+ if(!m_status)
+ return false;
- /// Whether to keep the source if end of it is reached.
- bool keep;
+ m_distance_reference = distance;
- /// The volume of the source.
- float volume;
+ return true;
+}
+
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getAttenuation()
+{
+ if(!m_status)
+ return std::numeric_limits<float>::quiet_NaN();
+
+ return m_attenuation;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setAttenuation(float factor)
+{
+ if(!m_status)
+ return false;
+
+ m_attenuation = factor;
+
+ if(factor == 0)
+ m_flags |= AUD_RENDER_DISTANCE;
+ else
+ m_flags &= ~AUD_RENDER_DISTANCE;
+
+ return true;
+}
+
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getConeAngleOuter()
+{
+ if(!m_status)
+ return std::numeric_limits<float>::quiet_NaN();
- /// The loop count of the source.
- int loopcount;
+ return m_cone_angle_outer * 360.0f / M_PI;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setConeAngleOuter(float angle)
+{
+ if(!m_status)
+ return false;
- /// The stop callback.
- stopCallback stop;
+ m_cone_angle_outer = angle * M_PI / 360.0f;
- /// Stop callback data.
- void* stop_data;
-};
+ return true;
+}
-typedef std::list<AUD_SoftwareHandle*>::iterator AUD_HandleIterator;
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getConeAngleInner()
+{
+ if(!m_status)
+ return std::numeric_limits<float>::quiet_NaN();
+
+ return m_cone_angle_inner * 360.0f / M_PI;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setConeAngleInner(float angle)
+{
+ if(!m_status)
+ return false;
+
+ if(angle >= 360)
+ m_flags |= AUD_RENDER_CONE;
+ else
+ m_flags &= ~AUD_RENDER_CONE;
+
+ m_cone_angle_inner = angle * M_PI / 360.0f;
+
+ return true;
+}
+
+float AUD_SoftwareDevice::AUD_SoftwareHandle::getConeVolumeOuter()
+{
+ if(!m_status)
+ return std::numeric_limits<float>::quiet_NaN();
+
+ return m_cone_volume_outer;
+}
+
+bool AUD_SoftwareDevice::AUD_SoftwareHandle::setConeVolumeOuter(float volume)
+{
+ if(!m_status)
+ return false;
+
+ m_cone_volume_outer = volume;
+
+ return true;
+}
+
+/******************************************************************************/
+/**************************** IDevice Code ************************************/
+/******************************************************************************/
void AUD_SoftwareDevice::create()
{
m_playback = false;
m_volume = 1.0f;
- m_mixer = new AUD_DefaultMixer(m_specs);
+ m_mixer = new AUD_Mixer(m_specs);
+ m_speed_of_sound = 343.0f;
+ m_doppler_factor = 1.0f;
+ m_distance_model = AUD_DISTANCE_MODEL_INVERSE_CLAMPED;
+ m_flags = 0;
+ m_quality = false;
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
@@ -81,44 +678,31 @@ void AUD_SoftwareDevice::destroy()
if(m_playback)
playing(m_playback = false);
- delete m_mixer;
-
- AUD_SoftwareHandle* handle;
-
- // delete all playing sounds
while(!m_playingSounds.empty())
- {
- handle = m_playingSounds.front();
- m_playingSounds.pop_front();
- delete handle->reader;
- delete handle;
- }
+ m_playingSounds.front()->stop();
- // delete all paused sounds
while(!m_pausedSounds.empty())
- {
- handle = m_pausedSounds.front();
- m_pausedSounds.pop_front();
- delete handle->reader;
- delete handle;
- }
+ m_pausedSounds.front()->stop();
pthread_mutex_destroy(&m_mutex);
}
void AUD_SoftwareDevice::mix(data_t* buffer, int length)
{
+ m_buffer.assureSize(length * AUD_SAMPLE_SIZE(m_specs));
+
lock();
{
- AUD_SoftwareHandle* sound;
+ AUD_Reference<AUD_SoftwareDevice::AUD_SoftwareHandle> sound;
int len;
int pos;
- sample_t* buf;
- std::list<AUD_SoftwareHandle*> stopSounds;
- std::list<AUD_Buffer*> tempBufs;
- AUD_Buffer* tempbuf;
- int samplesize = AUD_SAMPLE_SIZE(m_specs);
+ bool eos;
+ std::list<AUD_Reference<AUD_SoftwareDevice::AUD_SoftwareHandle> > stopSounds;
+ std::list<AUD_Reference<AUD_SoftwareDevice::AUD_SoftwareHandle> > pauseSounds;
+ sample_t* buf = m_buffer.getBuffer();
+
+ m_mixer->clear(length);
// for all sounds
AUD_HandleIterator it = m_playingSounds.begin();
@@ -132,390 +716,239 @@ void AUD_SoftwareDevice::mix(data_t* buffer, int length)
// get the buffer from the source
pos = 0;
len = length;
- sound->reader->read(len, buf);
+
+ // update 3D Info
+ sound->update();
+
+ sound->m_reader->read(len, eos, buf);
// in case of looping
- while(pos + len < length && sound->loopcount)
+ while(pos + len < length && sound->m_loopcount && eos)
{
- tempbuf = new AUD_Buffer(len * samplesize);
- memcpy(tempbuf->getBuffer(), buf, len * samplesize);
- tempBufs.push_back(tempbuf);
- m_mixer->add(tempbuf->getBuffer(), pos, len, sound->volume);
+ m_mixer->mix(buf, pos, len, sound->m_volume);
pos += len;
- if(sound->loopcount > 0)
- sound->loopcount--;
+ if(sound->m_loopcount > 0)
+ sound->m_loopcount--;
- sound->reader->seek(0);
+ sound->m_reader->seek(0);
len = length - pos;
- sound->reader->read(len, buf);
+ sound->m_reader->read(len, eos, buf);
// prevent endless loop
if(!len)
break;
}
- m_mixer->add(buf, pos, len, sound->volume);
- pos += len;
+ m_mixer->mix(buf, pos, len, sound->m_volume);
// in case the end of the sound is reached
- if(pos < length)
+ if(eos && !sound->m_loopcount)
{
- if(sound->stop)
- sound->stop(sound->stop_data);
+ if(sound->m_stop)
+ sound->m_stop(sound->m_stop_data);
- if(sound->keep)
- pause(sound);
+ if(sound->m_keep)
+ pauseSounds.push_back(sound);
else
stopSounds.push_back(sound);
}
}
// superpose
- m_mixer->superpose(buffer, length, m_volume);
+ m_mixer->read(buffer, m_volume);
// cleanup
while(!stopSounds.empty())
{
sound = stopSounds.front();
stopSounds.pop_front();
- stop(sound);
+ sound->stop();
}
- while(!tempBufs.empty())
+ while(!pauseSounds.empty())
{
- tempbuf = tempBufs.front();
- tempBufs.pop_front();
- delete tempbuf;
+ sound = pauseSounds.front();
+ pauseSounds.pop_front();
+ sound->pause();
}
}
unlock();
}
-bool AUD_SoftwareDevice::isValid(AUD_Handle* handle)
+void AUD_SoftwareDevice::setPanning(AUD_IHandle* handle, float pan)
{
- for(AUD_HandleIterator i = m_playingSounds.begin();
- i != m_playingSounds.end(); i++)
- if(*i == handle)
- return true;
- for(AUD_HandleIterator i = m_pausedSounds.begin();
- i != m_pausedSounds.end(); i++)
- if(*i == handle)
- return true;
- return false;
+ AUD_SoftwareDevice::AUD_SoftwareHandle* h = dynamic_cast<AUD_SoftwareDevice::AUD_SoftwareHandle*>(handle);
+ h->m_user_pan = pan;
}
-AUD_DeviceSpecs AUD_SoftwareDevice::getSpecs() const
+void AUD_SoftwareDevice::setQuality(bool quality)
{
- return m_specs;
+ m_quality = quality;
}
-AUD_Handle* AUD_SoftwareDevice::play(AUD_IReader* reader, bool keep)
+void AUD_SoftwareDevice::setSpecs(AUD_Specs specs)
{
- // prepare the reader
- reader = m_mixer->prepare(reader);
- if(reader == NULL)
- return NULL;
+ m_specs.specs = specs;
+ m_mixer->setSpecs(specs);
- // play sound
- AUD_SoftwareHandle* sound = new AUD_SoftwareHandle;
- sound->keep = keep;
- sound->reader = reader;
- sound->volume = 1.0f;
- sound->loopcount = 0;
- sound->stop = NULL;
- sound->stop_data = NULL;
-
- lock();
- m_playingSounds.push_back(sound);
-
- if(!m_playback)
- playing(m_playback = true);
- unlock();
-
- return sound;
+ for(AUD_HandleIterator it = m_playingSounds.begin(); it != m_playingSounds.end(); it++)
+ {
+ (*it)->setSpecs(specs);
+ }
}
-AUD_Handle* AUD_SoftwareDevice::play(AUD_IFactory* factory, bool keep)
+AUD_DeviceSpecs AUD_SoftwareDevice::getSpecs() const
{
- return play(factory->createReader(), keep);
+ return m_specs;
}
-bool AUD_SoftwareDevice::pause(AUD_Handle* handle)
+AUD_Reference<AUD_IHandle> AUD_SoftwareDevice::play(AUD_Reference<AUD_IReader> reader, bool keep)
{
- bool result = false;
+ // prepare the reader
+ // pitch
- lock();
+ AUD_Reference<AUD_PitchReader> pitch = new AUD_PitchReader(reader, 1);
+ reader = AUD_Reference<AUD_IReader>(pitch);
- // only songs that are played can be paused
- for(AUD_HandleIterator i = m_playingSounds.begin();
- i != m_playingSounds.end(); i++)
- {
- if(*i == handle)
- {
- m_pausedSounds.push_back(*i);
- m_playingSounds.erase(i);
- if(m_playingSounds.empty())
- playing(m_playback = false);
- result = true;
- break;
- }
- }
+ AUD_Reference<AUD_ResampleReader> resampler;
- unlock();
+ // resample
+ if(m_quality)
+ resampler = new AUD_JOSResampleReader(reader, m_specs.specs);
+ else
+ resampler = new AUD_LinearResampleReader(reader, m_specs.specs);
+ reader = AUD_Reference<AUD_IReader>(resampler);
- return result;
-}
+ // rechannel
+ AUD_Reference<AUD_ChannelMapperReader> mapper = new AUD_ChannelMapperReader(reader, m_specs.channels);
+ reader = AUD_Reference<AUD_IReader>(mapper);
-bool AUD_SoftwareDevice::resume(AUD_Handle* handle)
-{
- bool result = false;
+ if(reader.isNull())
+ return AUD_Reference<AUD_IHandle>();
- lock();
+ // play sound
+ AUD_Reference<AUD_SoftwareDevice::AUD_SoftwareHandle> sound = new AUD_SoftwareDevice::AUD_SoftwareHandle(this, reader, pitch, resampler, mapper, keep);
- // only songs that are paused can be resumed
- for(AUD_HandleIterator i = m_pausedSounds.begin();
- i != m_pausedSounds.end(); i++)
- {
- if(*i == handle)
- {
- m_playingSounds.push_back(*i);
- m_pausedSounds.erase(i);
- if(!m_playback)
- playing(m_playback = true);
- result = true;
- break;
- }
- }
+ lock();
+ m_playingSounds.push_back(sound);
+ if(!m_playback)
+ playing(m_playback = true);
unlock();
- return result;
+ return AUD_Reference<AUD_IHandle>(sound);
}
-bool AUD_SoftwareDevice::stop(AUD_Handle* handle)
+AUD_Reference<AUD_IHandle> AUD_SoftwareDevice::play(AUD_Reference<AUD_IFactory> factory, bool keep)
{
- bool result = false;
-
- lock();
-
- for(AUD_HandleIterator i = m_playingSounds.begin();
- i != m_playingSounds.end(); i++)
- {
- if(*i == handle)
- {
- delete (*i)->reader;
- delete *i;
- m_playingSounds.erase(i);
- if(m_playingSounds.empty())
- playing(m_playback = false);
- result = true;
- break;
- }
- }
- if(!result)
- {
- for(AUD_HandleIterator i = m_pausedSounds.begin();
- i != m_pausedSounds.end(); i++)
- {
- if(*i == handle)
- {
- delete (*i)->reader;
- delete *i;
- m_pausedSounds.erase(i);
- result = true;
- break;
- }
- }
- }
-
- unlock();
-
- return result;
+ return play(factory->createReader(), keep);
}
-bool AUD_SoftwareDevice::getKeep(AUD_Handle* handle)
+void AUD_SoftwareDevice::stopAll()
{
- bool result = false;
-
lock();
- if(isValid(handle))
- result = ((AUD_SoftwareHandle*)handle)->keep;
+ while(!m_playingSounds.empty())
+ m_playingSounds.front()->stop();
- unlock();
+ while(!m_pausedSounds.empty())
+ m_pausedSounds.front()->stop();
- return result;
+ unlock();
}
-bool AUD_SoftwareDevice::setKeep(AUD_Handle* handle, bool keep)
+void AUD_SoftwareDevice::lock()
{
- bool result = false;
-
- lock();
-
- if(isValid(handle))
- {
- ((AUD_SoftwareHandle*)handle)->keep = keep;
- result = true;
- }
-
- unlock();
-
- return result;
+ pthread_mutex_lock(&m_mutex);
}
-bool AUD_SoftwareDevice::seek(AUD_Handle* handle, float position)
+void AUD_SoftwareDevice::unlock()
{
- lock();
-
- bool result = false;
-
- if(isValid(handle))
- {
- AUD_IReader* reader = ((AUD_SoftwareHandle*)handle)->reader;
- reader->seek((int)(position * reader->getSpecs().rate));
- result = true;
- }
-
- unlock();
-
- return result;
+ pthread_mutex_unlock(&m_mutex);
}
-float AUD_SoftwareDevice::getPosition(AUD_Handle* handle)
+float AUD_SoftwareDevice::getVolume() const
{
- lock();
-
- float position = 0.0f;
-
- if(isValid(handle))
- {
- AUD_SoftwareHandle* h = (AUD_SoftwareHandle*)handle;
- position = h->reader->getPosition() / (float)m_specs.rate;
- }
-
- unlock();
-
- return position;
+ return m_volume;
}
-AUD_Status AUD_SoftwareDevice::getStatus(AUD_Handle* handle)
+void AUD_SoftwareDevice::setVolume(float volume)
{
- AUD_Status status = AUD_STATUS_INVALID;
-
- lock();
-
- for(AUD_HandleIterator i = m_playingSounds.begin();
- i != m_playingSounds.end(); i++)
- {
- if(*i == handle)
- {
- status = AUD_STATUS_PLAYING;
- break;
- }
- }
- if(status == AUD_STATUS_INVALID)
- {
- for(AUD_HandleIterator i = m_pausedSounds.begin();
- i != m_pausedSounds.end(); i++)
- {
- if(*i == handle)
- {
- status = AUD_STATUS_PAUSED;
- break;
- }
- }
- }
+ m_volume = volume;
+}
- unlock();
+/******************************************************************************/
+/**************************** 3D Device Code **********************************/
+/******************************************************************************/
- return status;
+AUD_Vector3 AUD_SoftwareDevice::getListenerLocation() const
+{
+ return m_location;
}
-void AUD_SoftwareDevice::lock()
+void AUD_SoftwareDevice::setListenerLocation(const AUD_Vector3& location)
{
- pthread_mutex_lock(&m_mutex);
+ m_location = location;
}
-void AUD_SoftwareDevice::unlock()
+AUD_Vector3 AUD_SoftwareDevice::getListenerVelocity() const
{
- pthread_mutex_unlock(&m_mutex);
+ return m_velocity;
}
-float AUD_SoftwareDevice::getVolume() const
+void AUD_SoftwareDevice::setListenerVelocity(const AUD_Vector3& velocity)
{
- return m_volume;
+ m_velocity = velocity;
}
-void AUD_SoftwareDevice::setVolume(float volume)
+AUD_Quaternion AUD_SoftwareDevice::getListenerOrientation() const
{
- m_volume = volume;
+ return m_orientation;
}
-float AUD_SoftwareDevice::getVolume(AUD_Handle* handle)
+void AUD_SoftwareDevice::setListenerOrientation(const AUD_Quaternion& orientation)
{
- lock();
- float result = std::numeric_limits<float>::quiet_NaN();
- if(isValid(handle))
- result = ((AUD_SoftwareHandle*)handle)->volume;
- unlock();
- return result;
+ m_orientation = orientation;
}
-bool AUD_SoftwareDevice::setVolume(AUD_Handle* handle, float volume)
+float AUD_SoftwareDevice::getSpeedOfSound() const
{
- lock();
- bool result = isValid(handle);
- if(result)
- ((AUD_SoftwareHandle*)handle)->volume = volume;
- unlock();
- return result;
+ return m_speed_of_sound;
}
-float AUD_SoftwareDevice::getPitch(AUD_Handle* handle)
+void AUD_SoftwareDevice::setSpeedOfSound(float speed)
{
- return std::numeric_limits<float>::quiet_NaN();
+ m_speed_of_sound = speed;
}
-bool AUD_SoftwareDevice::setPitch(AUD_Handle* handle, float pitch)
+float AUD_SoftwareDevice::getDopplerFactor() const
{
- return false;
+ return m_doppler_factor;
}
-int AUD_SoftwareDevice::getLoopCount(AUD_Handle* handle)
+void AUD_SoftwareDevice::setDopplerFactor(float factor)
{
- lock();
- int result = 0;
- if(isValid(handle))
- result = ((AUD_SoftwareHandle*)handle)->loopcount;
- unlock();
- return result;
+ m_doppler_factor = factor;
+ if(factor == 0)
+ m_flags |= AUD_RENDER_DOPPLER;
+ else
+ m_flags &= ~AUD_RENDER_DOPPLER;
}
-bool AUD_SoftwareDevice::setLoopCount(AUD_Handle* handle, int count)
+AUD_DistanceModel AUD_SoftwareDevice::getDistanceModel() const
{
- lock();
- bool result = isValid(handle);
- if(result)
- ((AUD_SoftwareHandle*)handle)->loopcount = count;
- unlock();
- return result;
+ return m_distance_model;
}
-bool AUD_SoftwareDevice::setStopCallback(AUD_Handle* handle, stopCallback callback, void* data)
+void AUD_SoftwareDevice::setDistanceModel(AUD_DistanceModel model)
{
- lock();
- bool result = isValid(handle);
- if(result)
- {
- AUD_SoftwareHandle* h = (AUD_SoftwareHandle*)handle;
- h->stop = callback;
- h->stop_data = data;
- }
- unlock();
- return result;
+ m_distance_model = model;
+ if(model == AUD_DISTANCE_MODEL_INVALID)
+ m_flags |= AUD_RENDER_DISTANCE;
+ else
+ m_flags &= ~AUD_RENDER_DISTANCE;
}
diff --git a/intern/audaspace/intern/AUD_SoftwareDevice.h b/intern/audaspace/intern/AUD_SoftwareDevice.h
index 1f6a5ead6e0..57ca445595b 100644
--- a/intern/audaspace/intern/AUD_SoftwareDevice.h
+++ b/intern/audaspace/intern/AUD_SoftwareDevice.h
@@ -33,9 +33,14 @@
#define AUD_SOFTWAREDEVICE
#include "AUD_IDevice.h"
-struct AUD_SoftwareHandle;
-class AUD_Mixer;
-class AUD_Buffer;
+#include "AUD_IHandle.h"
+#include "AUD_I3DDevice.h"
+#include "AUD_I3DHandle.h"
+#include "AUD_Mixer.h"
+#include "AUD_Buffer.h"
+#include "AUD_PitchReader.h"
+#include "AUD_ResampleReader.h"
+#include "AUD_ChannelMapperReader.h"
#include <list>
#include <pthread.h>
@@ -48,9 +53,163 @@ class AUD_Buffer;
* - Call the create and destroy functions.
* - Call the mix function to retrieve their audio data.
*/
-class AUD_SoftwareDevice : public AUD_IDevice
+class AUD_SoftwareDevice : public AUD_IDevice, public AUD_I3DDevice
{
protected:
+ /// Saves the data for playback.
+ class AUD_SoftwareHandle : public AUD_IHandle, public AUD_I3DHandle
+ {
+ public:
+ /// The reader source.
+ AUD_Reference<AUD_IReader> m_reader;
+
+ /// The pitch reader in between.
+ AUD_Reference<AUD_PitchReader> m_pitch;
+
+ /// The resample reader in between.
+ AUD_Reference<AUD_ResampleReader> m_resampler;
+
+ /// The channel mapper reader in between.
+ AUD_Reference<AUD_ChannelMapperReader> m_mapper;
+
+ /// Whether to keep the source if end of it is reached.
+ bool m_keep;
+
+ /// The user set pitch of the source.
+ float m_user_pitch;
+
+ /// The user set volume of the source.
+ float m_user_volume;
+
+ /// The user set panning for non-3D sources
+ float m_user_pan;
+
+ /// The calculated final volume of the source.
+ float m_volume;
+
+ /// The loop count of the source.
+ int m_loopcount;
+
+ /// Location in 3D Space.
+ AUD_Vector3 m_location;
+
+ /// Velocity in 3D Space.
+ AUD_Vector3 m_velocity;
+
+ /// Orientation in 3D Space.
+ AUD_Quaternion m_orientation;
+
+ /// Whether the position to the listener is relative or absolute
+ bool m_relative;
+
+ /// Maximum volume.
+ float m_volume_max;
+
+ /// Minimum volume.
+ float m_volume_min;
+
+ /// Maximum distance.
+ float m_distance_max;
+
+ /// Reference distance;
+ float m_distance_reference;
+
+ /// Attenuation
+ float m_attenuation;
+
+ /// Cone outer angle.
+ float m_cone_angle_outer;
+
+ /// Cone inner angle.
+ float m_cone_angle_inner;
+
+ /// Cone outer volume.
+ float m_cone_volume_outer;
+
+ /// Rendering flags
+ int m_flags;
+
+ /// The stop callback.
+ stopCallback m_stop;
+
+ /// Stop callback data.
+ void* m_stop_data;
+
+ /// Current status of the handle
+ AUD_Status m_status;
+
+ /// Own device.
+ AUD_SoftwareDevice* m_device;
+
+ public:
+
+ /**
+ * Creates a new software handle.
+ * \param device The device this handle is from.
+ * \param reader The reader to play.
+ * \param pitch The pitch reader.
+ * \param resampler The resampling reader.
+ * \param mapper The channel mapping reader.
+ * \param keep Whether to keep the handle when the sound ends.
+ */
+ AUD_SoftwareHandle(AUD_SoftwareDevice* device, AUD_Reference<AUD_IReader> reader, AUD_Reference<AUD_PitchReader> pitch, AUD_Reference<AUD_ResampleReader> resampler, AUD_Reference<AUD_ChannelMapperReader> mapper, bool keep);
+
+ /**
+ * Updates the handle's playback parameters.
+ */
+ void update();
+
+ /**
+ * Sets the audio output specification of the readers.
+ * \param sepcs The output specification.
+ */
+ void setSpecs(AUD_Specs specs);
+
+ virtual ~AUD_SoftwareHandle() {}
+ virtual bool pause();
+ virtual bool resume();
+ virtual bool stop();
+ virtual bool getKeep();
+ virtual bool setKeep(bool keep);
+ virtual bool seek(float position);
+ virtual float getPosition();
+ virtual AUD_Status getStatus();
+ virtual float getVolume();
+ virtual bool setVolume(float volume);
+ virtual float getPitch();
+ virtual bool setPitch(float pitch);
+ virtual int getLoopCount();
+ virtual bool setLoopCount(int count);
+ virtual bool setStopCallback(stopCallback callback = 0, void* data = 0);
+
+ virtual AUD_Vector3 getSourceLocation();
+ virtual bool setSourceLocation(const AUD_Vector3& location);
+ virtual AUD_Vector3 getSourceVelocity();
+ virtual bool setSourceVelocity(const AUD_Vector3& velocity);
+ virtual AUD_Quaternion getSourceOrientation();
+ virtual bool setSourceOrientation(const AUD_Quaternion& orientation);
+ virtual bool isRelative();
+ virtual bool setRelative(bool relative);
+ virtual float getVolumeMaximum();
+ virtual bool setVolumeMaximum(float volume);
+ virtual float getVolumeMinimum();
+ virtual bool setVolumeMinimum(float volume);
+ virtual float getDistanceMaximum();
+ virtual bool setDistanceMaximum(float distance);
+ virtual float getDistanceReference();
+ virtual bool setDistanceReference(float distance);
+ virtual float getAttenuation();
+ virtual bool setAttenuation(float factor);
+ virtual float getConeAngleOuter();
+ virtual bool setConeAngleOuter(float angle);
+ virtual float getConeAngleInner();
+ virtual bool setConeAngleInner(float angle);
+ virtual float getConeVolumeOuter();
+ virtual bool setConeVolumeOuter(float volume);
+ };
+
+ typedef std::list<AUD_Reference<AUD_SoftwareHandle> >::iterator AUD_HandleIterator;
+
/**
* The specification of the device.
*/
@@ -59,7 +218,12 @@ protected:
/**
* The mixer.
*/
- AUD_Mixer* m_mixer;
+ AUD_Reference<AUD_Mixer> m_mixer;
+
+ /**
+ * Whether to do high or low quality resampling.
+ */
+ bool m_quality;
/**
* Initializes member variables.
@@ -84,16 +248,27 @@ protected:
*/
virtual void playing(bool playing)=0;
+ /**
+ * Sets the audio output specification of the device.
+ * \param sepcs The output specification.
+ */
+ void setSpecs(AUD_Specs specs);
+
private:
/**
+ * The reading buffer.
+ */
+ AUD_Buffer m_buffer;
+
+ /**
* The list of sounds that are currently playing.
*/
- std::list<AUD_SoftwareHandle*> m_playingSounds;
+ std::list<AUD_Reference<AUD_SoftwareHandle> > m_playingSounds;
/**
* The list of sounds that are currently paused.
*/
- std::list<AUD_SoftwareHandle*> m_pausedSounds;
+ std::list<AUD_Reference<AUD_SoftwareHandle> > m_pausedSounds;
/**
* Whether there is currently playback.
@@ -110,36 +285,63 @@ private:
*/
float m_volume;
+ /// Listener location.
+ AUD_Vector3 m_location;
+
+ /// Listener velocity.
+ AUD_Vector3 m_velocity;
+
+ /// Listener orientation.
+ AUD_Quaternion m_orientation;
+
+ /// Speed of Sound.
+ float m_speed_of_sound;
+
+ /// Doppler factor.
+ float m_doppler_factor;
+
+ /// Distance model.
+ AUD_DistanceModel m_distance_model;
+
+ /// Rendering flags
+ int m_flags;
+
+public:
+
/**
- * Checks if a handle is valid.
- * \param handle The handle to check.
- * \return Whether the handle is valid.
+ * Sets the panning of a specific handle.
+ * \param handle The handle to set the panning from.
+ * \param pan The new panning value, should be in the range [-2, 2].
*/
- bool isValid(AUD_Handle* handle);
+ static void setPanning(AUD_IHandle* handle, float pan);
+
+ /**
+ * Sets the resampling quality.
+ * \param quality Low (false) or high (true) quality.
+ */
+ void setQuality(bool quality);
-public:
virtual AUD_DeviceSpecs getSpecs() const;
- virtual AUD_Handle* play(AUD_IReader* reader, bool keep = false);
- virtual AUD_Handle* play(AUD_IFactory* factory, bool keep = false);
- virtual bool pause(AUD_Handle* handle);
- virtual bool resume(AUD_Handle* handle);
- virtual bool stop(AUD_Handle* handle);
- virtual bool getKeep(AUD_Handle* handle);
- virtual bool setKeep(AUD_Handle* handle, bool keep);
- virtual bool seek(AUD_Handle* handle, float position);
- virtual float getPosition(AUD_Handle* handle);
- virtual AUD_Status getStatus(AUD_Handle* handle);
+ virtual AUD_Reference<AUD_IHandle> play(AUD_Reference<AUD_IReader> reader, bool keep = false);
+ virtual AUD_Reference<AUD_IHandle> play(AUD_Reference<AUD_IFactory> factory, bool keep = false);
+ virtual void stopAll();
virtual void lock();
virtual void unlock();
virtual float getVolume() const;
virtual void setVolume(float volume);
- virtual float getVolume(AUD_Handle* handle);
- virtual bool setVolume(AUD_Handle* handle, float volume);
- virtual float getPitch(AUD_Handle* handle);
- virtual bool setPitch(AUD_Handle* handle, float pitch);
- virtual int getLoopCount(AUD_Handle* handle);
- virtual bool setLoopCount(AUD_Handle* handle, int count);
- virtual bool setStopCallback(AUD_Handle* handle, stopCallback callback = NULL, void* data = NULL);
+
+ virtual AUD_Vector3 getListenerLocation() const;
+ virtual void setListenerLocation(const AUD_Vector3& location);
+ virtual AUD_Vector3 getListenerVelocity() const;
+ virtual void setListenerVelocity(const AUD_Vector3& velocity);
+ virtual AUD_Quaternion getListenerOrientation() const;
+ virtual void setListenerOrientation(const AUD_Quaternion& orientation);
+ virtual float getSpeedOfSound() const;
+ virtual void setSpeedOfSound(float speed);
+ virtual float getDopplerFactor() const;
+ virtual void setDopplerFactor(float factor);
+ virtual AUD_DistanceModel getDistanceModel() const;
+ virtual void setDistanceModel(AUD_DistanceModel model);
};
#endif //AUD_SOFTWAREDEVICE
diff --git a/intern/audaspace/intern/AUD_Space.h b/intern/audaspace/intern/AUD_Space.h
index ee28a05b80d..6720dd3b4b5 100644
--- a/intern/audaspace/intern/AUD_Space.h
+++ b/intern/audaspace/intern/AUD_Space.h
@@ -41,6 +41,12 @@
/// Throws a AUD_Exception with the provided error code.
#define AUD_THROW(exception, errorstr) { AUD_Exception e; e.error = exception; e.str = errorstr; throw e; }
+/// Compares two audio data specifications.
+#define AUD_COMPARE_SPECS(s1, s2) ((s1.rate == s2.rate) && (s1.channels == s2.channels))
+
+/// Returns the bit for a channel mask.
+#define AUD_CHANNEL_BIT(channel) (0x01 << channel)
+
/// Returns the smaller of the two values.
#define AUD_MIN(a, b) (((a) < (b)) ? (a) : (b))
/// Returns the bigger of the two values.
@@ -79,10 +85,24 @@ typedef enum
AUD_CHANNELS_SURROUND5 = 5, /// 5 channel surround sound.
AUD_CHANNELS_SURROUND51 = 6, /// 5.1 surround sound.
AUD_CHANNELS_SURROUND61 = 7, /// 6.1 surround sound.
- AUD_CHANNELS_SURROUND71 = 8, /// 7.1 surround sound.
- AUD_CHANNELS_SURROUND72 = 9 /// 7.2 surround sound.
+ AUD_CHANNELS_SURROUND71 = 8 /// 7.1 surround sound.
} AUD_Channels;
+/// The channel names.
+typedef enum
+{
+ AUD_CHANNEL_FRONT_LEFT = 0,
+ AUD_CHANNEL_FRONT_RIGHT,
+ AUD_CHANNEL_FRONT_CENTER,
+ AUD_CHANNEL_LFE,
+ AUD_CHANNEL_REAR_LEFT,
+ AUD_CHANNEL_REAR_RIGHT,
+ AUD_CHANNEL_REAR_CENTER,
+ AUD_CHANNEL_SIDE_LEFT,
+ AUD_CHANNEL_SIDE_RIGHT,
+ AUD_CHANNEL_MAX
+} AUD_Channel;
+
/**
* The sample rate tells how many samples are played back within one second.
* Some exotic formats may use other sample rates than provided here.
@@ -100,7 +120,7 @@ typedef enum
AUD_RATE_88200 = 88200, /// 88200 Hz.
AUD_RATE_96000 = 96000, /// 96000 Hz.
AUD_RATE_192000 = 192000 /// 192000 Hz.
-} AUD_SampleRate;
+} AUD_DefaultSampleRate;
/// Status of a playback handle.
typedef enum
@@ -121,7 +141,7 @@ typedef enum
AUD_ERROR_FFMPEG,
AUD_ERROR_OPENAL,
AUD_ERROR_SDL,
- AUD_ERROR_JACK,
+ AUD_ERROR_JACK
} AUD_Error;
/// Fading types.
@@ -140,15 +160,54 @@ typedef enum
AUD_DISTANCE_MODEL_LINEAR,
AUD_DISTANCE_MODEL_LINEAR_CLAMPED,
AUD_DISTANCE_MODEL_EXPONENT,
- AUD_DISTANCE_MODEL_EXPONENT_CLAMPED,
+ AUD_DISTANCE_MODEL_EXPONENT_CLAMPED
} AUD_DistanceModel;
+/// Possible animatable properties for Sequencer Factories and Entries.
+typedef enum
+{
+ AUD_AP_VOLUME,
+ AUD_AP_PANNING,
+ AUD_AP_PITCH,
+ AUD_AP_LOCATION,
+ AUD_AP_ORIENTATION
+} AUD_AnimateablePropertyType;
+
+/// Container formats for writers.
+typedef enum
+{
+ AUD_CONTAINER_INVALID = 0,
+ AUD_CONTAINER_AC3,
+ AUD_CONTAINER_FLAC,
+ AUD_CONTAINER_MATROSKA,
+ AUD_CONTAINER_MP2,
+ AUD_CONTAINER_MP3,
+ AUD_CONTAINER_OGG,
+ AUD_CONTAINER_WAV
+} AUD_Container;
+
+/// Audio codecs for writers.
+typedef enum
+{
+ AUD_CODEC_INVALID = 0,
+ AUD_CODEC_AAC,
+ AUD_CODEC_AC3,
+ AUD_CODEC_FLAC,
+ AUD_CODEC_MP2,
+ AUD_CODEC_MP3,
+ AUD_CODEC_PCM,
+ AUD_CODEC_VORBIS
+} AUD_Codec;
+
/// Sample type.(float samples)
typedef float sample_t;
/// Sample data type (format samples)
typedef unsigned char data_t;
+/// Sample rate type.
+typedef double AUD_SampleRate;
+
/// Specification of a sound source.
typedef struct
{
diff --git a/intern/audaspace/intern/AUD_StreamBufferFactory.cpp b/intern/audaspace/intern/AUD_StreamBufferFactory.cpp
index c25442b6f26..ff966c86025 100644
--- a/intern/audaspace/intern/AUD_StreamBufferFactory.cpp
+++ b/intern/audaspace/intern/AUD_StreamBufferFactory.cpp
@@ -35,17 +35,17 @@
#include <cstring>
-AUD_StreamBufferFactory::AUD_StreamBufferFactory(AUD_IFactory* factory) :
+AUD_StreamBufferFactory::AUD_StreamBufferFactory(AUD_Reference<AUD_IFactory> factory) :
m_buffer(new AUD_Buffer())
{
- AUD_IReader* reader = factory->createReader();
+ AUD_Reference<AUD_IReader> reader = factory->createReader();
m_specs = reader->getSpecs();
int sample_size = AUD_SAMPLE_SIZE(m_specs);
int length;
int index = 0;
- sample_t* buffer;
+ bool eos = false;
// get an approximated size if possible
int size = reader->getLength();
@@ -55,27 +55,24 @@ AUD_StreamBufferFactory::AUD_StreamBufferFactory(AUD_IFactory* factory) :
else
size += m_specs.rate;
- // as long as we fill our buffer to the end
- while(index == m_buffer.get()->getSize() / sample_size)
+ // as long as the end of the stream is not reached
+ while(!eos)
{
// increase
- m_buffer.get()->resize(size*sample_size, true);
+ m_buffer->resize(size*sample_size, true);
// read more
length = size-index;
- reader->read(length, buffer);
- memcpy(m_buffer.get()->getBuffer() + index * m_specs.channels,
- buffer,
- length * sample_size);
- size += AUD_BUFFER_RESIZE_BYTES / sample_size;
+ reader->read(length, eos, m_buffer->getBuffer() + index * m_specs.channels);
+ if(index == m_buffer->getSize() / sample_size)
+ size += AUD_BUFFER_RESIZE_BYTES / sample_size;
index += length;
}
- m_buffer.get()->resize(index * sample_size, true);
- delete reader;
+ m_buffer->resize(index * sample_size, true);
}
-AUD_IReader* AUD_StreamBufferFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_StreamBufferFactory::createReader()
{
return new AUD_BufferReader(m_buffer, m_specs);
}
diff --git a/intern/audaspace/intern/AUD_StreamBufferFactory.h b/intern/audaspace/intern/AUD_StreamBufferFactory.h
index b6a44d95744..894cdc7fe01 100644
--- a/intern/audaspace/intern/AUD_StreamBufferFactory.h
+++ b/intern/audaspace/intern/AUD_StreamBufferFactory.h
@@ -34,7 +34,7 @@
#include "AUD_IFactory.h"
#include "AUD_Reference.h"
-class AUD_Buffer;
+#include "AUD_Buffer.h"
/**
* This factory creates a buffer out of a reader. This way normally streamed
@@ -64,9 +64,9 @@ public:
* \param factory The factory that creates the reader for buffering.
* \exception AUD_Exception Thrown if the reader cannot be created.
*/
- AUD_StreamBufferFactory(AUD_IFactory* factory);
+ AUD_StreamBufferFactory(AUD_Reference<AUD_IFactory> factory);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_STREAMBUFFERFACTORY
diff --git a/intern/audaspace/jack/AUD_JackDevice.cpp b/intern/audaspace/jack/AUD_JackDevice.cpp
index 03a740f5fbf..a8b2625b848 100644
--- a/intern/audaspace/jack/AUD_JackDevice.cpp
+++ b/intern/audaspace/jack/AUD_JackDevice.cpp
@@ -28,8 +28,6 @@
* \ingroup audjack
*/
-
-#include "AUD_Mixer.h"
#include "AUD_JackDevice.h"
#include "AUD_IReader.h"
diff --git a/intern/audaspace/jack/AUD_JackDevice.h b/intern/audaspace/jack/AUD_JackDevice.h
index 656496405db..f0b7573156d 100644
--- a/intern/audaspace/jack/AUD_JackDevice.h
+++ b/intern/audaspace/jack/AUD_JackDevice.h
@@ -122,12 +122,26 @@ private:
*/
pthread_t m_mixingThread;
+ /**
+ * Mutex for mixing.
+ */
pthread_mutex_t m_mixingLock;
+ /**
+ * Condition for mixing.
+ */
pthread_cond_t m_mixingCondition;
+ /**
+ * Mixing thread function.
+ * \param device The this pointer.
+ * \return NULL.
+ */
static void* runMixingThread(void* device);
+ /**
+ * Updates the ring buffers.
+ */
void updateRingBuffers();
// hide copy constructor and operator=
@@ -153,11 +167,39 @@ public:
*/
virtual ~AUD_JackDevice();
+ /**
+ * Starts jack transport playback.
+ */
void startPlayback();
+
+ /**
+ * Stops jack transport playback.
+ */
void stopPlayback();
+
+ /**
+ * Seeks jack transport playback.
+ * \param time The time to seek to.
+ */
void seekPlayback(float time);
+
+ /**
+ * Sets the sync callback for jack transport playback.
+ * \param sync The callback function.
+ * \param data The data for the function.
+ */
void setSyncCallback(AUD_syncFunction sync, void* data);
+
+ /**
+ * Retrieves the jack transport playback time.
+ * \return The current time position.
+ */
float getPlaybackPosition();
+
+ /**
+ * Returns whether jack transport plays back.
+ * \return Whether jack transport plays back.
+ */
bool doesPlayback();
};
diff --git a/intern/audaspace/sndfile/AUD_SndFileFactory.cpp b/intern/audaspace/sndfile/AUD_SndFileFactory.cpp
index 2d1d29e50f5..7ad027ddc1e 100644
--- a/intern/audaspace/sndfile/AUD_SndFileFactory.cpp
+++ b/intern/audaspace/sndfile/AUD_SndFileFactory.cpp
@@ -31,7 +31,6 @@
#include "AUD_SndFileFactory.h"
#include "AUD_SndFileReader.h"
-#include "AUD_Buffer.h"
#include <cstring>
@@ -43,13 +42,13 @@ AUD_SndFileFactory::AUD_SndFileFactory(std::string filename) :
AUD_SndFileFactory::AUD_SndFileFactory(const data_t* buffer, int size) :
m_buffer(new AUD_Buffer(size))
{
- memcpy(m_buffer.get()->getBuffer(), buffer, size);
+ memcpy(m_buffer->getBuffer(), buffer, size);
}
-AUD_IReader* AUD_SndFileFactory::createReader() const
+AUD_Reference<AUD_IReader> AUD_SndFileFactory::createReader()
{
- if(m_buffer.get())
- return new AUD_SndFileReader(m_buffer);
- else
+ if(m_buffer.isNull())
return new AUD_SndFileReader(m_filename);
+ else
+ return new AUD_SndFileReader(m_buffer);
}
diff --git a/intern/audaspace/sndfile/AUD_SndFileFactory.h b/intern/audaspace/sndfile/AUD_SndFileFactory.h
index 9c747e1df01..52d272b2623 100644
--- a/intern/audaspace/sndfile/AUD_SndFileFactory.h
+++ b/intern/audaspace/sndfile/AUD_SndFileFactory.h
@@ -34,7 +34,7 @@
#include "AUD_IFactory.h"
#include "AUD_Reference.h"
-class AUD_Buffer;
+#include "AUD_Buffer.h"
#include <string>
@@ -72,7 +72,7 @@ public:
*/
AUD_SndFileFactory(const data_t* buffer, int size);
- virtual AUD_IReader* createReader() const;
+ virtual AUD_Reference<AUD_IReader> createReader();
};
#endif //AUD_SNDFILEFACTORY
diff --git a/intern/audaspace/sndfile/AUD_SndFileReader.cpp b/intern/audaspace/sndfile/AUD_SndFileReader.cpp
index f226d2eee4d..16c90b6f0f1 100644
--- a/intern/audaspace/sndfile/AUD_SndFileReader.cpp
+++ b/intern/audaspace/sndfile/AUD_SndFileReader.cpp
@@ -36,7 +36,7 @@
sf_count_t AUD_SndFileReader::vio_get_filelen(void *user_data)
{
AUD_SndFileReader* reader = (AUD_SndFileReader*)user_data;
- return reader->m_membuffer.get()->getSize();
+ return reader->m_membuffer->getSize();
}
sf_count_t AUD_SndFileReader::vio_seek(sf_count_t offset, int whence,
@@ -53,7 +53,7 @@ sf_count_t AUD_SndFileReader::vio_seek(sf_count_t offset, int whence,
reader->m_memoffset = reader->m_memoffset + offset;
break;
case SEEK_END:
- reader->m_memoffset = reader->m_membuffer.get()->getSize() + offset;
+ reader->m_memoffset = reader->m_membuffer->getSize() + offset;
break;
}
@@ -65,10 +65,10 @@ sf_count_t AUD_SndFileReader::vio_read(void *ptr, sf_count_t count,
{
AUD_SndFileReader* reader = (AUD_SndFileReader*)user_data;
- if(reader->m_memoffset + count > reader->m_membuffer.get()->getSize())
- count = reader->m_membuffer.get()->getSize() - reader->m_memoffset;
+ if(reader->m_memoffset + count > reader->m_membuffer->getSize())
+ count = reader->m_membuffer->getSize() - reader->m_memoffset;
- memcpy(ptr, ((data_t*)reader->m_membuffer.get()->getBuffer()) +
+ memcpy(ptr, ((data_t*)reader->m_membuffer->getBuffer()) +
reader->m_memoffset, count);
reader->m_memoffset += count;
@@ -161,17 +161,13 @@ AUD_Specs AUD_SndFileReader::getSpecs() const
return m_specs;
}
-void AUD_SndFileReader::read(int & length, sample_t* & buffer)
+void AUD_SndFileReader::read(int& length, bool& eos, sample_t* buffer)
{
- int sample_size = AUD_SAMPLE_SIZE(m_specs);
-
- // resize output buffer if necessary
- if(m_buffer.getSize() < length*sample_size)
- m_buffer.resize(length*sample_size);
-
- buffer = m_buffer.getBuffer();
+ int olen = length;
length = sf_readf_float(m_sndfile, buffer, length);
m_position += length;
+
+ eos = length < olen;
}
diff --git a/intern/audaspace/sndfile/AUD_SndFileReader.h b/intern/audaspace/sndfile/AUD_SndFileReader.h
index af095819c0e..e7f9e9bf6d6 100644
--- a/intern/audaspace/sndfile/AUD_SndFileReader.h
+++ b/intern/audaspace/sndfile/AUD_SndFileReader.h
@@ -68,11 +68,6 @@ private:
AUD_Specs m_specs;
/**
- * The playback buffer.
- */
- AUD_Buffer m_buffer;
-
- /**
* The sndfile.
*/
SNDFILE* m_sndfile;
@@ -129,7 +124,7 @@ public:
virtual int getLength() const;
virtual int getPosition() const;
virtual AUD_Specs getSpecs() const;
- virtual void read(int & length, sample_t* & buffer);
+ virtual void read(int& length, bool& eos, sample_t* buffer);
};
#endif //AUD_SNDFILEREADER
diff --git a/intern/audaspace/sndfile/AUD_SndFileWriter.cpp b/intern/audaspace/sndfile/AUD_SndFileWriter.cpp
new file mode 100644
index 00000000000..ba59cd3d9d7
--- /dev/null
+++ b/intern/audaspace/sndfile/AUD_SndFileWriter.cpp
@@ -0,0 +1,141 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/sndfile/AUD_SndFileWriter.cpp
+ * \ingroup audsndfile
+ */
+
+
+#include "AUD_SndFileWriter.h"
+
+#include <cstring>
+
+static const char* fileopen_error = "AUD_SndFileWriter: File couldn't be written.";
+static const char* format_error = "AUD_SndFileWriter: Unsupported format.";
+
+AUD_SndFileWriter::AUD_SndFileWriter(std::string filename, AUD_DeviceSpecs specs,
+ AUD_Container format, AUD_Codec codec, unsigned int bitrate) :
+ m_specs(specs)
+{
+ SF_INFO sfinfo;
+
+ sfinfo.channels = specs.channels;
+ sfinfo.samplerate = int(specs.rate);
+
+ switch(format)
+ {
+ case AUD_CONTAINER_FLAC:
+ sfinfo.format = SF_FORMAT_FLAC;
+ switch(specs.format)
+ {
+ case AUD_FORMAT_S16:
+ sfinfo.format |= SF_FORMAT_PCM_16;
+ break;
+ case AUD_FORMAT_S24:
+ sfinfo.format |= SF_FORMAT_PCM_24;
+ break;
+ case AUD_FORMAT_S32:
+ sfinfo.format |= SF_FORMAT_PCM_32;
+ break;
+ case AUD_FORMAT_FLOAT32:
+ sfinfo.format |= SF_FORMAT_FLOAT;
+ break;
+ case AUD_FORMAT_FLOAT64:
+ sfinfo.format |= SF_FORMAT_DOUBLE;
+ break;
+ default:
+ sfinfo.format = 0;
+ break;
+ }
+ break;
+ case AUD_CONTAINER_OGG:
+ if(codec == AUD_CODEC_VORBIS)
+ sfinfo.format = SF_FORMAT_OGG | SF_FORMAT_VORBIS;
+ else
+ sfinfo.format = 0;
+ break;
+ case AUD_CONTAINER_WAV:
+ sfinfo.format = SF_FORMAT_WAV;
+ switch(specs.format)
+ {
+ case AUD_FORMAT_U8:
+ sfinfo.format |= SF_FORMAT_PCM_U8;
+ break;
+ case AUD_FORMAT_S16:
+ sfinfo.format |= SF_FORMAT_PCM_16;
+ break;
+ case AUD_FORMAT_S24:
+ sfinfo.format |= SF_FORMAT_PCM_24;
+ break;
+ case AUD_FORMAT_S32:
+ sfinfo.format |= SF_FORMAT_PCM_32;
+ break;
+ case AUD_FORMAT_FLOAT32:
+ sfinfo.format |= SF_FORMAT_FLOAT;
+ break;
+ case AUD_FORMAT_FLOAT64:
+ sfinfo.format |= SF_FORMAT_DOUBLE;
+ break;
+ default:
+ sfinfo.format = 0;
+ break;
+ }
+ break;
+ default:
+ sfinfo.format = 0;
+ break;
+ }
+
+ if(sfinfo.format == 0)
+ AUD_THROW(AUD_ERROR_SPECS, format_error);
+
+ m_sndfile = sf_open(filename.c_str(), SFM_WRITE, &sfinfo);
+
+ if(!m_sndfile)
+ AUD_THROW(AUD_ERROR_FILE, fileopen_error);
+}
+
+AUD_SndFileWriter::~AUD_SndFileWriter()
+{
+ sf_close(m_sndfile);
+}
+
+int AUD_SndFileWriter::getPosition() const
+{
+ return m_position;
+}
+
+AUD_DeviceSpecs AUD_SndFileWriter::getSpecs() const
+{
+ return m_specs;
+}
+
+void AUD_SndFileWriter::write(unsigned int length, sample_t* buffer)
+{
+ length = sf_writef_float(m_sndfile, buffer, length);
+
+ m_position += length;
+}
diff --git a/intern/audaspace/sndfile/AUD_SndFileWriter.h b/intern/audaspace/sndfile/AUD_SndFileWriter.h
new file mode 100644
index 00000000000..110b7f800cd
--- /dev/null
+++ b/intern/audaspace/sndfile/AUD_SndFileWriter.h
@@ -0,0 +1,88 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * Copyright 2009-2011 Jörg Hermann Müller
+ *
+ * This file is part of AudaSpace.
+ *
+ * Audaspace is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * AudaSpace is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Audaspace; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file audaspace/sndfile/AUD_SndFileWriter.h
+ * \ingroup audsndfile
+ */
+
+
+#ifndef AUD_SNDFILEWRITER
+#define AUD_SNDFILEWRITER
+
+#include "AUD_IWriter.h"
+
+#include <string>
+#include <sndfile.h>
+
+/**
+ * This class writes a sound file via libsndfile.
+ */
+class AUD_SndFileWriter : public AUD_IWriter
+{
+private:
+ /**
+ * The current position in samples.
+ */
+ int m_position;
+
+ /**
+ * The specification of the audio data.
+ */
+ AUD_DeviceSpecs m_specs;
+
+ /**
+ * The sndfile.
+ */
+ SNDFILE* m_sndfile;
+
+ // hide copy constructor and operator=
+ AUD_SndFileWriter(const AUD_SndFileWriter&);
+ AUD_SndFileWriter& operator=(const AUD_SndFileWriter&);
+
+public:
+ /**
+ * Creates a new writer.
+ * \param filename The path to the file to be read.
+ * \param specs The file's audio specification.
+ * \param format The file's container format.
+ * \param codec The codec used for encoding the audio data.
+ * \param bitrate The bitrate for encoding.
+ * \exception AUD_Exception Thrown if the file specified cannot be written
+ * with libsndfile.
+ */
+ AUD_SndFileWriter(std::string filename, AUD_DeviceSpecs specs, AUD_Container format, AUD_Codec codec, unsigned int bitrate);
+
+ /**
+ * Destroys the writer and closes the file.
+ */
+ virtual ~AUD_SndFileWriter();
+
+ virtual int getPosition() const;
+ virtual AUD_DeviceSpecs getSpecs() const;
+ virtual void write(unsigned int length, sample_t* buffer);
+};
+
+#endif //AUD_SNDFILEWRITER
diff --git a/intern/boolop/CMakeLists.txt b/intern/boolop/CMakeLists.txt
index 7a95d556172..742c0f1d42c 100644
--- a/intern/boolop/CMakeLists.txt
+++ b/intern/boolop/CMakeLists.txt
@@ -26,11 +26,11 @@
set(INC
.
- ./intern
- ./extern
- ../memutil
+ extern
+ intern
../container
../guardedalloc
+ ../memutil
../moto/include
../../source/blender/blenlib
../../source/blender/makesdna
diff --git a/intern/bsp/CMakeLists.txt b/intern/bsp/CMakeLists.txt
index 792f6aa1327..a844db3257e 100644
--- a/intern/bsp/CMakeLists.txt
+++ b/intern/bsp/CMakeLists.txt
@@ -25,11 +25,11 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- ./intern
+ intern
../container
../guardedalloc
- ../moto/include
../memutil
+ ../moto/include
)
set(INC_SYS
diff --git a/intern/elbeem/extern/elbeem.h b/intern/elbeem/extern/elbeem.h
index f5538df8805..6df08ccebd2 100644
--- a/intern/elbeem/extern/elbeem.h
+++ b/intern/elbeem/extern/elbeem.h
@@ -77,6 +77,10 @@ typedef struct elbeemSimulationSettings {
/* boundary types and settings for domain walls */
short domainobsType;
float domainobsPartslip;
+
+ /* what surfaces to generate */
+ int mFsSurfGenSetting;
+
/* generate speed vectors for vertices (e.g. for image based motion blur)*/
short generateVertexVectors;
/* strength of surface smoothing */
@@ -108,10 +112,12 @@ typedef struct elbeemSimulationSettings {
#define OB_FLUIDSIM_PARTICLE 64
#define OB_FLUIDSIM_CONTROL 128
-// defines for elbeemMesh->obstacleType below
+// defines for elbeemMesh->obstacleType below (low bits) high bits (>=64) are reserved for mFsSurfGenSetting flags which are defined in solver_class.h
#define FLUIDSIM_OBSTACLE_NOSLIP 1
#define FLUIDSIM_OBSTACLE_PARTSLIP 2
#define FLUIDSIM_OBSTACLE_FREESLIP 3
+#define FLUIDSIM_FSSG_NOOBS 64
+
#define OB_VOLUMEINIT_VOLUME 1
#define OB_VOLUMEINIT_SHELL 2
diff --git a/intern/elbeem/intern/simulation_object.cpp b/intern/elbeem/intern/simulation_object.cpp
index 2544b8fe29c..87828b26088 100644
--- a/intern/elbeem/intern/simulation_object.cpp
+++ b/intern/elbeem/intern/simulation_object.cpp
@@ -181,6 +181,9 @@ int SimulationObject::initializeLbmSimulation(ntlRenderGlobals *glob)
mpLbm->setGenerateParticles(mpElbeemSettings->generateParticles);
// set initial particles
mpParts->setNumInitialParticles(mpElbeemSettings->numTracerParticles);
+
+ // surface generation flag
+ mpLbm->setSurfGenSettings(mpElbeemSettings->mFsSurfGenSetting);
string dinitType = string("no");
if (mpElbeemSettings->domainobsType==FLUIDSIM_OBSTACLE_PARTSLIP) dinitType = string("part");
diff --git a/intern/elbeem/intern/solver_class.h b/intern/elbeem/intern/solver_class.h
index 8662ac3f12a..1548aaa19bc 100644
--- a/intern/elbeem/intern/solver_class.h
+++ b/intern/elbeem/intern/solver_class.h
@@ -308,6 +308,9 @@ class LbmFsgrSolver :
//! for raytracing, preprocess
void prepareVisualization( void );
+ /* surface generation settings */
+ virtual void setSurfGenSettings(short value);
+
protected:
//! internal quick print function (for debugging)
diff --git a/intern/elbeem/intern/solver_init.cpp b/intern/elbeem/intern/solver_init.cpp
index 899b1e0ecbc..7e9f5e7f420 100644
--- a/intern/elbeem/intern/solver_init.cpp
+++ b/intern/elbeem/intern/solver_init.cpp
@@ -539,6 +539,15 @@ void LbmFsgrSolver::parseAttrList()
/******************************************************************************
+ * (part of enabling chapter 6 of "Free Surface Flows with Moving and Deforming Objects for LBM")
+ *****************************************************************************/
+void LbmFsgrSolver::setSurfGenSettings(short value)
+{
+ mFsSurfGenSetting = value;
+}
+
+
+/******************************************************************************
* Initialize omegas and forces on all levels (for init/timestep change)
*****************************************************************************/
void LbmFsgrSolver::initLevelOmegas()
diff --git a/intern/elbeem/intern/solver_interface.h b/intern/elbeem/intern/solver_interface.h
index 71b347d683d..8f3181a307d 100644
--- a/intern/elbeem/intern/solver_interface.h
+++ b/intern/elbeem/intern/solver_interface.h
@@ -271,6 +271,9 @@ class LbmSolverInterface
/*! debug object display */
virtual vector<ntlGeometryObject*> getDebugObjects() { vector<ntlGeometryObject*> empty(0); return empty; }
+ /* surface generation settings */
+ virtual void setSurfGenSettings(short value) = 0;
+
#if LBM_USE_GUI==1
/*! show simulation info */
virtual void debugDisplay(int) = 0;
diff --git a/intern/ffmpeg/ffmpeg_compat.h b/intern/ffmpeg/ffmpeg_compat.h
index ab819f41ac3..d8172902a4c 100644
--- a/intern/ffmpeg/ffmpeg_compat.h
+++ b/intern/ffmpeg/ffmpeg_compat.h
@@ -40,7 +40,7 @@
#define FFMPEG_HAVE_AVIO 1
#endif
-#if (LIBAVCODEC_VERSION_MAJOR > 53) || ((LIBAVCODEC_VERSION_MAJOR == 53) && (LIBAVCODEC_VERSION_MINOR > 1)) || ((LIBAVCODEC_VERSION_MAJOR == 53) && (LIBAVCODEC_VERSION_MINOR == 1) && (LIBAVCODEC_VERSION_MICRO >= 1))
+#if (LIBAVCODEC_VERSION_MAJOR > 53) || ((LIBAVCODEC_VERSION_MAJOR == 53) && (LIBAVCODEC_VERSION_MINOR > 1)) || ((LIBAVCODEC_VERSION_MAJOR == 53) && (LIBAVCODEC_VERSION_MINOR == 1) && (LIBAVCODEC_VERSION_MICRO >= 1)) || ((LIBAVCODEC_VERSION_MAJOR == 52) && (LIBAVCODEC_VERSION_MINOR >= 121))
#define FFMPEG_HAVE_DEFAULT_VAL_UNION 1
#endif
@@ -71,6 +71,7 @@
#define avio_open url_fopen
#define avio_tell url_ftell
#define avio_close url_fclose
+#define avio_size url_fsize
#endif
/* there are some version inbetween, which have avio_... functions but no
@@ -130,4 +131,19 @@ int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
}
#endif
+static inline
+int64_t av_get_pts_from_frame(AVFormatContext *avctx, AVFrame * picture)
+{
+ int64_t pts = picture->pkt_pts;
+
+ if (pts == AV_NOPTS_VALUE) {
+ pts = picture->pkt_dts;
+ }
+ if (pts == AV_NOPTS_VALUE) {
+ pts = 0;
+ }
+
+ return pts;
+}
+
#endif
diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt
index 922f6918392..bdda0f3382e 100644
--- a/intern/ghost/CMakeLists.txt
+++ b/intern/ghost/CMakeLists.txt
@@ -37,16 +37,14 @@ set(INC_SYS
set(SRC
intern/GHOST_Buttons.cpp
- intern/GHOST_CallbackEventConsumer.cpp
intern/GHOST_C-api.cpp
- intern/GHOST_Path-api.cpp
+ intern/GHOST_CallbackEventConsumer.cpp
intern/GHOST_DisplayManager.cpp
intern/GHOST_EventManager.cpp
- intern/GHOST_EventPrinter.cpp
intern/GHOST_ISystem.cpp
intern/GHOST_ISystemPaths.cpp
intern/GHOST_ModifierKeys.cpp
- intern/GHOST_NDOFManager.cpp
+ intern/GHOST_Path-api.cpp
intern/GHOST_Path-api.cpp
intern/GHOST_Rect.cpp
intern/GHOST_System.cpp
@@ -64,6 +62,7 @@ set(SRC
GHOST_Path-api.h
GHOST_Rect.h
GHOST_Types.h
+
intern/GHOST_Buttons.h
intern/GHOST_CallbackEventConsumer.h
intern/GHOST_Debug.h
@@ -74,13 +73,10 @@ set(SRC
intern/GHOST_EventDragnDrop.h
intern/GHOST_EventKey.h
intern/GHOST_EventManager.h
- intern/GHOST_EventNDOF.h
- intern/GHOST_EventPrinter.h
intern/GHOST_EventString.h
intern/GHOST_EventTrackpad.h
intern/GHOST_EventWheel.h
intern/GHOST_ModifierKeys.h
- intern/GHOST_NDOFManager.h
intern/GHOST_System.h
intern/GHOST_SystemPaths.h
intern/GHOST_TimerManager.h
@@ -89,13 +85,51 @@ set(SRC
intern/GHOST_WindowManager.h
)
-if(WITH_HEADLESS)
+if(WITH_GHOST_DEBUG)
+ list(APPEND SRC
+ intern/GHOST_EventPrinter.cpp
+
+ intern/GHOST_EventPrinter.h
+ )
+ add_definitions(-DWITH_GHOST_DEBUG)
+endif()
+
+if(WITH_INPUT_NDOF)
+ add_definitions(-DWITH_INPUT_NDOF)
+
list(APPEND SRC
- intern/GHOST_DisplayManagerNULL.h
- intern/GHOST_SystemNULL.h
- intern/GHOST_WindowNULL.h
+ intern/GHOST_NDOFManager.cpp
+
+ intern/GHOST_EventNDOF.h
+ intern/GHOST_NDOFManager.h
)
- add_definitions(-DWITH_HEADLESS)
+
+ list(APPEND INC_SYS
+ ${NDOF_INCLUDE_DIRS}
+ )
+endif()
+
+if(WITH_HEADLESS OR WITH_GHOST_SDL)
+ if(WITH_HEADLESS)
+ list(APPEND SRC
+ intern/GHOST_DisplayManagerNULL.h
+ intern/GHOST_SystemNULL.h
+ intern/GHOST_WindowNULL.h
+ )
+ add_definitions(-DWITH_HEADLESS)
+ else()
+ list(APPEND SRC
+ intern/GHOST_DisplayManagerSDL.cpp
+ intern/GHOST_SystemSDL.cpp
+ intern/GHOST_WindowSDL.cpp
+
+ intern/GHOST_DisplayManagerSDL.h
+ intern/GHOST_SystemSDL.h
+ intern/GHOST_WindowSDL.h
+ )
+ add_definitions(-DWITH_GHOST_SDL)
+ endif()
+
# ack, this is still system dependant
if(APPLE)
@@ -115,6 +149,10 @@ if(WITH_HEADLESS)
intern/GHOST_SystemPathsX11.cpp
intern/GHOST_SystemPathsX11.h
)
+
+ if(NOT WITH_INSTALL_PORTABLE)
+ add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}")
+ endif()
elseif(WIN32)
list(APPEND SRC
@@ -124,6 +162,10 @@ if(WITH_HEADLESS)
)
endif()
+ list(APPEND INC_SYS
+ ${SDL_INCLUDE_DIR}
+ )
+
elseif(APPLE)
if(WITH_COCOA)
list(APPEND SRC
@@ -131,12 +173,21 @@ elseif(APPLE)
intern/GHOST_SystemCocoa.mm
intern/GHOST_SystemPathsCocoa.mm
intern/GHOST_WindowCocoa.mm
-
+
intern/GHOST_DisplayManagerCocoa.h
intern/GHOST_SystemCocoa.h
intern/GHOST_SystemPathsCocoa.h
intern/GHOST_WindowCocoa.h
)
+
+ if(WITH_INPUT_NDOF)
+ list(APPEND SRC
+ intern/GHOST_NDOFManagerCocoa.mm
+
+ intern/GHOST_NDOFManagerCocoa.h
+ )
+ endif()
+
else()
list(APPEND SRC
intern/GHOST_DisplayManagerCarbon.cpp
@@ -157,11 +208,9 @@ elseif(APPLE)
elseif(UNIX)
- if(WITH_X11_XINPUT)
- add_definitions(-DWITH_X11_XINPUT)
- endif()
-
- list(APPEND INC_SYS ${X11_X11_INCLUDE_PATH})
+ list(APPEND INC_SYS
+ ${X11_X11_INCLUDE_PATH}
+ )
list(APPEND SRC
intern/GHOST_DisplayManagerX11.cpp
@@ -175,13 +224,27 @@ elseif(UNIX)
intern/GHOST_WindowX11.h
)
+ if(X11_XF86keysym_INCLUDE_PATH)
+ add_definitions(-DWITH_XF86KEYSYM)
+ list(APPEND INC_SYS
+ ${X11_XF86keysym_INCLUDE_PATH}
+ )
+ endif()
+
+ if(WITH_INPUT_NDOF)
+ list(APPEND SRC
+ intern/GHOST_NDOFManagerX11.cpp
+
+ intern/GHOST_NDOFManagerX11.h
+ )
+ endif()
+
if(NOT WITH_INSTALL_PORTABLE)
add_definitions(-DPREFIX="${CMAKE_INSTALL_PREFIX}")
endif()
- if(X11_XF86keysym_INCLUDE_PATH)
- add_definitions(-DWITH_XF86KEYSYM)
- list(APPEND INC_SYS ${X11_XF86keysym_INCLUDE_PATH})
+ if(WITH_X11_XINPUT)
+ add_definitions(-DWITH_X11_XINPUT)
endif()
elseif(WIN32)
@@ -189,7 +252,9 @@ elseif(WIN32)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX")
endif()
- list(APPEND INC_SYS ${WINTAB_INC})
+ list(APPEND INC_SYS
+ ${WINTAB_INC}
+ )
list(APPEND SRC
intern/GHOST_DisplayManagerWin32.cpp
@@ -205,6 +270,15 @@ elseif(WIN32)
intern/GHOST_WindowWin32.h
intern/GHOST_TaskbarWin32.h
)
+
+ if(WITH_INPUT_NDOF)
+ list(APPEND SRC
+ intern/GHOST_NDOFManagerWin32.cpp
+
+ intern/GHOST_NDOFManagerWin32.h
+ )
+ endif()
+
endif()
blender_add_lib(bf_intern_ghost "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/ghost/GHOST_C-api.h b/intern/ghost/GHOST_C-api.h
index 75837239c4a..a315dfa85e9 100644
--- a/intern/ghost/GHOST_C-api.h
+++ b/intern/ghost/GHOST_C-api.h
@@ -288,21 +288,6 @@ extern GHOST_TSuccess GHOST_SetProgressBar(GHOST_WindowHandle windowhandle, floa
* @param windowhandle The handle to the window
*/
extern GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle);
-
-
-/***************************************************************************************
- ** N-degree of freedom device management functionality
- ***************************************************************************************/
-
-/**
-* Open N-degree of freedom devices
- */
-extern int GHOST_OpenNDOF(GHOST_SystemHandle systemhandle,
- GHOST_WindowHandle windowhandle,
- GHOST_NDOFLibraryInit_fp setNdofLibraryInit,
- GHOST_NDOFLibraryShutdown_fp setNdofLibraryShutdown,
- GHOST_NDOFDeviceOpen_fp setNdofDeviceOpen
- );
/***************************************************************************************
** Cursor management functionality
diff --git a/intern/ghost/GHOST_ISystem.h b/intern/ghost/GHOST_ISystem.h
index 69e10070be5..015ae780bea 100644
--- a/intern/ghost/GHOST_ISystem.h
+++ b/intern/ghost/GHOST_ISystem.h
@@ -298,22 +298,6 @@ public:
*/
virtual GHOST_TSuccess removeEventConsumer(GHOST_IEventConsumer* consumer) = 0;
- /***************************************************************************************
- ** N-degree of freedom device management functionality
- ***************************************************************************************/
-
- /**
- * Starts the N-degree of freedom device manager
- */
- virtual int openNDOF(GHOST_IWindow*,
- GHOST_NDOFLibraryInit_fp setNdofLibraryInit,
- GHOST_NDOFLibraryShutdown_fp setNdofLibraryShutdown,
- GHOST_NDOFDeviceOpen_fp setNdofDeviceOpen
- // original patch only
- // GHOST_NDOFEventHandler_fp setNdofEventHandler
- ) = 0;
-
-
/***************************************************************************************
** Cursor management functionality
***************************************************************************************/
diff --git a/intern/ghost/GHOST_Types.h b/intern/ghost/GHOST_Types.h
index 705f4916619..f24ab00acd3 100644
--- a/intern/ghost/GHOST_Types.h
+++ b/intern/ghost/GHOST_Types.h
@@ -47,11 +47,6 @@ typedef unsigned short GHOST_TUns16;
typedef int GHOST_TInt32;
typedef unsigned int GHOST_TUns32;
-#ifdef WIN32
-#define WM_BLND_NDOF_AXIS WM_USER + 1
-#define WM_BLND_NDOF_BTN WM_USER + 2
-#endif
-
#if defined(WIN32) && !defined(FREE_WINDOWS)
typedef __int64 GHOST_TInt64;
typedef unsigned __int64 GHOST_TUns64;
@@ -218,8 +213,9 @@ typedef enum {
GHOST_kStandardCursorBottomLeftCorner,
GHOST_kStandardCursorCopy,
GHOST_kStandardCursorCustom,
- GHOST_kStandardCursorNumCursors,
- GHOST_kStandardCursorPencil
+ GHOST_kStandardCursorPencil,
+
+ GHOST_kStandardCursorNumCursors
} GHOST_TStandardCursor;
@@ -439,37 +435,33 @@ typedef struct {
GHOST_TUns8 **strings;
} GHOST_TStringArray;
+typedef enum {
+ GHOST_kNotStarted,
+ GHOST_kStarting,
+ GHOST_kInProgress,
+ GHOST_kFinishing,
+ GHOST_kFinished
+ } GHOST_TProgress;
-/* original patch used floats, but the driver return ints and uns. We will calibrate in view, no sense on doing conversions twice */
-/* as all USB device controls are likely to use ints, this is also more future proof */
-//typedef struct {
-// /** N-degree of freedom device data */
-// float tx, ty, tz; /** -x left, +y up, +z forward */
-// float rx, ry, rz;
-// float dt;
-//} GHOST_TEventNDOFData;
+typedef struct {
+ /** N-degree of freedom device data v3 [GSoC 2010] */
+ // Each component normally ranges from -1 to +1, but can exceed that.
+ // These use blender standard view coordinates, with positive rotations being CCW about the axis.
+ float tx, ty, tz; // translation
+ float rx, ry, rz; // rotation:
+ // axis = (rx,ry,rz).normalized
+ // amount = (rx,ry,rz).magnitude [in revolutions, 1.0 = 360 deg]
+ float dt; // time since previous NDOF Motion event
+ GHOST_TProgress progress; // Starting, InProgress or Finishing (for modal handlers)
+} GHOST_TEventNDOFMotionData;
+
+typedef enum { GHOST_kPress, GHOST_kRelease } GHOST_TButtonAction;
+ // good for mouse or other buttons too, hmmm?
typedef struct {
- /** N-degree of freedom device data v2*/
- int changed;
- GHOST_TUns64 client;
- GHOST_TUns64 address;
- GHOST_TInt16 tx, ty, tz; /** -x left, +y up, +z forward */
- GHOST_TInt16 rx, ry, rz;
- GHOST_TInt16 buttons;
- GHOST_TUns64 time;
- GHOST_TUns64 delta;
-} GHOST_TEventNDOFData;
-
-typedef int (*GHOST_NDOFLibraryInit_fp)(void);
-typedef void (*GHOST_NDOFLibraryShutdown_fp)(void* deviceHandle);
-typedef void* (*GHOST_NDOFDeviceOpen_fp)(void* platformData);
-
-// original patch windows callback. In mac os X version the callback is internal to the plug-in and post an event to main thead.
-// not necessary faster, but better integration with other events.
-
-//typedef int (*GHOST_NDOFEventHandler_fp)(float* result7, void* deviceHandle, unsigned int message, unsigned int* wParam, unsigned long* lParam);
-//typedef void (*GHOST_NDOFCallBack_fp)(GHOST_TEventNDOFDataV2 *VolDatas);
+ GHOST_TButtonAction action;
+ short button;
+} GHOST_TEventNDOFButtonData;
typedef struct {
/** The key code. */
diff --git a/intern/ghost/SConscript b/intern/ghost/SConscript
index b67545f216a..82f65c1c8ae 100644
--- a/intern/ghost/SConscript
+++ b/intern/ghost/SConscript
@@ -11,14 +11,27 @@ if window_system == 'darwin':
sources += env.Glob('intern/*.mm')
-pf = ['GHOST_DisplayManager', 'GHOST_System', 'GHOST_SystemPaths', 'GHOST_Window', 'GHOST_DropTarget']
+pf = ['GHOST_DisplayManager', 'GHOST_System', 'GHOST_SystemPaths', 'GHOST_Window', 'GHOST_DropTarget', 'GHOST_NDOFManager']
defs=['_USE_MATH_DEFINES']
-if window_system in ('linux2', 'openbsd3', 'sunos5', 'freebsd7', 'freebsd8', 'freebsd9', 'irix6', 'aix4', 'aix5'):
+incs = '. ../string #extern/glew/include #source/blender/imbuf #source/blender/makesdna ' + env['BF_OPENGL_INC']
+
+if env['WITH_GHOST_SDL']:
+ for f in pf:
+ try:
+ sources.remove('intern' + os.sep + f + 'Carbon.cpp')
+ sources.remove('intern' + os.sep + f + 'Win32.cpp')
+ sources.remove('intern' + os.sep + f + 'X11.cpp')
+ except ValueError:
+ pass
+ incs += ' ' + env['BF_SDL_INC']
+ defs += ['WITH_GHOST_SDL']
+elif window_system in ('linux', 'openbsd3', 'sunos5', 'freebsd7', 'freebsd8', 'freebsd9', 'irix6', 'aix4', 'aix5'):
for f in pf:
try:
sources.remove('intern' + os.sep + f + 'Win32.cpp')
sources.remove('intern' + os.sep + f + 'Carbon.cpp')
+ sources.remove('intern' + os.sep + f + 'SDL.cpp')
except ValueError:
pass
defs += ['PREFIX=\\"/usr/local/\\"'] # XXX, make an option
@@ -29,6 +42,7 @@ elif window_system in ('win32-vc', 'win32-mingw', 'cygwin', 'linuxcross', 'win64
try:
sources.remove('intern' + os.sep + f + 'X11.cpp')
sources.remove('intern' + os.sep + f + 'Carbon.cpp')
+ sources.remove('intern' + os.sep + f + 'SDL.cpp')
except ValueError:
pass
elif window_system == 'darwin':
@@ -42,6 +56,7 @@ elif window_system == 'darwin':
sources.remove('intern' + os.sep + f + 'Win32.cpp')
sources.remove('intern' + os.sep + f + 'X11.cpp')
sources.remove('intern' + os.sep + f + 'Carbon.cpp')
+ sources.remove('intern' + os.sep + f + 'SDL.cpp')
except ValueError:
pass
else:
@@ -50,6 +65,7 @@ elif window_system == 'darwin':
sources.remove('intern' + os.sep + f + 'Win32.cpp')
sources.remove('intern' + os.sep + f + 'X11.cpp')
sources.remove('intern' + os.sep + f + 'Cocoa.mm')
+ sources.remove('intern' + os.sep + f + 'SDL.cpp')
except ValueError:
pass
@@ -58,9 +74,28 @@ else:
Exit()
if env['BF_GHOST_DEBUG']:
- defs.append('BF_GHOST_DEBUG')
+ defs.append('WITH_GHOST_DEBUG')
+else:
+ sources.remove('intern' + os.sep + 'GHOST_EventPrinter.cpp')
+
+if env['WITH_BF_3DMOUSE']:
+ defs.append('WITH_INPUT_NDOF')
+
+ if env['OURPLATFORM']=='linux':
+ incs += ' ' + env['BF_3DMOUSE_INC']
+else:
+ sources.remove('intern' + os.sep + 'GHOST_NDOFManager.cpp')
+ try:
+ if window_system in ('win32-vc', 'win32-mingw', 'cygwin', 'linuxcross', 'win64-vc'):
+ sources.remove('intern' + os.sep + 'GHOST_NDOFManagerWin32.cpp')
+ elif window_system=='darwin':
+ sources.remove('intern' + os.sep + 'GHOST_NDOFManagerCocoa.mm')
+ else:
+ sources.remove('intern' + os.sep + 'GHOST_NDOFManagerX11.cpp')
+ except ValueError:
+ pass
+
-incs = '. ../string #extern/glew/include #source/blender/imbuf #source/blender/makesdna ' + env['BF_OPENGL_INC']
if window_system in ('win32-vc', 'win32-mingw', 'cygwin', 'linuxcross', 'win64-vc'):
incs = env['BF_WINTAB_INC'] + ' ' + incs
diff --git a/intern/ghost/intern/GHOST_C-api.cpp b/intern/ghost/intern/GHOST_C-api.cpp
index 7ba8d7db411..6332d72a42f 100644
--- a/intern/ghost/intern/GHOST_C-api.cpp
+++ b/intern/ghost/intern/GHOST_C-api.cpp
@@ -275,23 +275,6 @@ GHOST_TSuccess GHOST_EndProgressBar(GHOST_WindowHandle windowhandle)
}
-int GHOST_OpenNDOF(GHOST_SystemHandle systemhandle, GHOST_WindowHandle windowhandle,
- GHOST_NDOFLibraryInit_fp setNdofLibraryInit,
- GHOST_NDOFLibraryShutdown_fp setNdofLibraryShutdown,
- GHOST_NDOFDeviceOpen_fp setNdofDeviceOpen)
- //original patch only
- /* GHOST_NDOFEventHandler_fp setNdofEventHandler)*/
-{
- GHOST_ISystem* system = (GHOST_ISystem*) systemhandle;
-
- return system->openNDOF((GHOST_IWindow*) windowhandle,
- setNdofLibraryInit, setNdofLibraryShutdown, setNdofDeviceOpen);
-// original patch
-// setNdofLibraryInit, setNdofLibraryShutdown, setNdofDeviceOpen, setNdofEventHandler);
-}
-
-
-
GHOST_TStandardCursor GHOST_GetCursorShape(GHOST_WindowHandle windowhandle)
{
GHOST_IWindow* window = (GHOST_IWindow*) windowhandle;
diff --git a/intern/ghost/intern/GHOST_Debug.h b/intern/ghost/intern/GHOST_Debug.h
index e77f3b9c461..ef1099b5cf6 100644
--- a/intern/ghost/intern/GHOST_Debug.h
+++ b/intern/ghost/intern/GHOST_Debug.h
@@ -41,9 +41,9 @@
#endif // DEBUG
#endif // WIN32
-#ifdef BF_GHOST_DEBUG
+#ifdef WITH_GHOST_DEBUG
#define GHOST_DEBUG // spit ghost events to stdout
-#endif // BF_GHOST_DEBUG
+#endif // WITH_GHOST_DEBUG
#ifdef GHOST_DEBUG
#include <iostream>
diff --git a/intern/ghost/intern/GHOST_DisplayManagerCocoa.mm b/intern/ghost/intern/GHOST_DisplayManagerCocoa.mm
index ab3abdd659f..86f5f4cdddb 100644
--- a/intern/ghost/intern/GHOST_DisplayManagerCocoa.mm
+++ b/intern/ghost/intern/GHOST_DisplayManagerCocoa.mm
@@ -164,5 +164,5 @@ GHOST_TSuccess GHOST_DisplayManagerCocoa::setCurrentDisplaySetting(GHOST_TUns8 d
//CGDisplayErr err = ::CGDisplaySwitchToMode(m_displayIDs[display], displayModeValues);
- return /*err == CGDisplayNoErr ? GHOST_kSuccess :*/ GHOST_kFailure;
+ return /*err == CGDisplayNoErr ?*/ GHOST_kSuccess /*: GHOST_kFailure*/;
}
diff --git a/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp b/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp
new file mode 100644
index 00000000000..2e55957e60a
--- /dev/null
+++ b/intern/ghost/intern/GHOST_DisplayManagerSDL.cpp
@@ -0,0 +1,93 @@
+/*
+ * $Id$
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_DisplayManagerSDL.cpp
+ * \ingroup GHOST
+ */
+
+#include "GHOST_SystemSDL.h"
+#include "GHOST_DisplayManagerSDL.h"
+
+GHOST_DisplayManagerSDL::GHOST_DisplayManagerSDL(GHOST_SystemSDL *system)
+ :
+ GHOST_DisplayManager(),
+ m_system(system)
+{
+ /* do nothing */
+}
+
+GHOST_TSuccess
+GHOST_DisplayManagerSDL::getNumDisplays(GHOST_TUns8& numDisplays)
+{
+ numDisplays= SDL_GetNumVideoDisplays();
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess GHOST_DisplayManagerSDL::getNumDisplaySettings(GHOST_TUns8 display,
+ GHOST_TInt32& numSettings)
+{
+ GHOST_ASSERT(display < 1, "Only single display systems are currently supported.\n");
+ numSettings= GHOST_TInt32(1);
+ return GHOST_kSuccess;
+}
+
+GHOST_TSuccess
+GHOST_DisplayManagerSDL::getDisplaySetting(GHOST_TUns8 display,
+ GHOST_TInt32 index,
+ GHOST_DisplaySetting& setting)
+{
+
+ GHOST_ASSERT(display < 1, "Only single display systems are currently supported.\n");
+ GHOST_ASSERT(index < 1, "Requested setting outside of valid range.\n");
+ SDL_DisplayMode mode;
+
+ SDL_GetDesktopDisplayMode(display, &mode);
+
+ setting.xPixels= mode.w;
+ setting.yPixels= mode.h;
+ setting.bpp= SDL_BYTESPERPIXEL(mode.format);
+ /* assume 60 when unset */
+ setting.frequency= mode.refresh_rate ? mode.refresh_rate : 60;
+
+ return GHOST_kSuccess;
+}
+
+GHOST_TSuccess
+GHOST_DisplayManagerSDL::getCurrentDisplaySetting(GHOST_TUns8 display,
+ GHOST_DisplaySetting& setting)
+{
+ return getDisplaySetting(display,GHOST_TInt32(0),setting);
+}
+
+GHOST_TSuccess
+GHOST_DisplayManagerSDL:: setCurrentDisplaySetting(GHOST_TUns8 display,
+ const GHOST_DisplaySetting& setting)
+{
+ // This is never going to work robustly in X
+ // but it's currently part of the full screen interface
+
+ // we fudge it for now.
+
+ return GHOST_kSuccess;
+}
diff --git a/intern/ghost/intern/GHOST_DisplayManagerSDL.h b/intern/ghost/intern/GHOST_DisplayManagerSDL.h
new file mode 100644
index 00000000000..2a815b1dc28
--- /dev/null
+++ b/intern/ghost/intern/GHOST_DisplayManagerSDL.h
@@ -0,0 +1,73 @@
+/*
+ * $Id$
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_DisplayManagerSDL.h
+ * \ingroup GHOST
+ * Declaration of GHOST_DisplayManagerSDL class.
+ */
+
+#ifndef _GHOST_DISPLAY_MANAGER_SDL_H_
+#define _GHOST_DISPLAY_MANAGER_SDL_H_
+
+#include "GHOST_DisplayManager.h"
+
+extern "C" {
+ #include "SDL.h"
+}
+
+#if !SDL_VERSION_ATLEAST(1, 3, 0)
+# error "SDL 1.3 or newer is needed to build with Ghost"
+#endif
+
+class GHOST_SystemSDL;
+
+class GHOST_DisplayManagerSDL : public GHOST_DisplayManager
+{
+public:
+ GHOST_DisplayManagerSDL(GHOST_SystemSDL *system);
+
+ GHOST_TSuccess
+ getNumDisplays(GHOST_TUns8& numDisplays);
+
+ GHOST_TSuccess
+ getNumDisplaySettings(GHOST_TUns8 display,
+ GHOST_TInt32& numSettings);
+
+ GHOST_TSuccess
+ getDisplaySetting(GHOST_TUns8 display,
+ GHOST_TInt32 index,
+ GHOST_DisplaySetting& setting);
+
+ GHOST_TSuccess
+ getCurrentDisplaySetting(GHOST_TUns8 display,
+ GHOST_DisplaySetting& setting);
+
+ GHOST_TSuccess
+ setCurrentDisplaySetting(GHOST_TUns8 display,
+ const GHOST_DisplaySetting& setting);
+
+private :
+ GHOST_SystemSDL * m_system;
+};
+
+#endif /* _GHOST_DISPLAY_MANAGER_SDL_H_ */
diff --git a/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp b/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp
index 30d9aa31207..47f748927ab 100644
--- a/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp
+++ b/intern/ghost/intern/GHOST_DisplayManagerWin32.cpp
@@ -35,8 +35,11 @@
#include "GHOST_DisplayManagerWin32.h"
#include "GHOST_Debug.h"
-// We do not support multiple monitors at the moment
+#define _WIN32_WINNT 0x501 // require Windows XP or newer
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
+
+// We do not support multiple monitors at the moment
#define COMPILE_MULTIMON_STUBS
#ifndef FREE_WINDOWS
#include <multimon.h>
diff --git a/intern/ghost/intern/GHOST_DropTargetWin32.cpp b/intern/ghost/intern/GHOST_DropTargetWin32.cpp
index 2e77da42b31..99990a46c2a 100644
--- a/intern/ghost/intern/GHOST_DropTargetWin32.cpp
+++ b/intern/ghost/intern/GHOST_DropTargetWin32.cpp
@@ -33,6 +33,7 @@
#include "GHOST_Debug.h"
#include "GHOST_DropTargetWin32.h"
+#include <ShellApi.h>
#ifdef GHOST_DEBUG
// utility
diff --git a/intern/ghost/intern/GHOST_DropTargetWin32.h b/intern/ghost/intern/GHOST_DropTargetWin32.h
index 0a553b6701e..980e9f9fe9b 100644
--- a/intern/ghost/intern/GHOST_DropTargetWin32.h
+++ b/intern/ghost/intern/GHOST_DropTargetWin32.h
@@ -33,7 +33,6 @@
#ifndef _GHOST_DROP_TARGET_WIN32_H_
#define _GHOST_DROP_TARGET_WIN32_H_
-#include <windows.h>
#include <string.h>
#include <GHOST_Types.h>
#include "GHOST_WindowWin32.h"
diff --git a/intern/ghost/intern/GHOST_EventManager.cpp b/intern/ghost/intern/GHOST_EventManager.cpp
index 1483555c362..86b87973038 100644
--- a/intern/ghost/intern/GHOST_EventManager.cpp
+++ b/intern/ghost/intern/GHOST_EventManager.cpp
@@ -42,7 +42,7 @@
#include "GHOST_EventManager.h"
#include <algorithm>
#include "GHOST_Debug.h"
-
+#include <stdio.h> // [mce] temp debug
GHOST_EventManager::GHOST_EventManager()
{
diff --git a/intern/ghost/intern/GHOST_EventNDOF.h b/intern/ghost/intern/GHOST_EventNDOF.h
index 70861b08fc6..394aff0493f 100644
--- a/intern/ghost/intern/GHOST_EventNDOF.h
+++ b/intern/ghost/intern/GHOST_EventNDOF.h
@@ -19,11 +19,6 @@
*
* ***** END GPL LICENSE BLOCK *****
*/
-
-/** \file ghost/intern/GHOST_EventNDOF.h
- * \ingroup GHOST
- */
-
#ifndef _GHOST_EVENT_NDOF_H_
@@ -31,32 +26,33 @@
#include "GHOST_Event.h"
-/**
- * N-degree of freedom device event.
- */
-class GHOST_EventNDOF : public GHOST_Event
-{
-public:
- /**
- * Constructor.
- * @param msec The time this event was generated.
- * @param type The type of this event.
- * @param x The x-coordinate of the location the cursor was at at the time of the event.
- * @param y The y-coordinate of the location the cursor was at at the time of the event.
- */
- GHOST_EventNDOF(GHOST_TUns64 msec, GHOST_TEventType type, GHOST_IWindow* window,
- GHOST_TEventNDOFData data)
- : GHOST_Event(msec, type, window)
- {
- m_ndofEventData = data;
- m_data = &m_ndofEventData;
- }
-protected:
- /** translation & rotation from the device. */
- GHOST_TEventNDOFData m_ndofEventData;
-};
+class GHOST_EventNDOFMotion : public GHOST_Event
+ {
+ protected:
+ GHOST_TEventNDOFMotionData m_axisData;
+
+ public:
+ GHOST_EventNDOFMotion(GHOST_TUns64 time, GHOST_IWindow* window)
+ : GHOST_Event(time, GHOST_kEventNDOFMotion, window)
+ {
+ m_data = &m_axisData;
+ }
+ };
+
+
+class GHOST_EventNDOFButton : public GHOST_Event
+ {
+ protected:
+ GHOST_TEventNDOFButtonData m_buttonData;
+
+ public:
+ GHOST_EventNDOFButton(GHOST_TUns64 time, GHOST_IWindow* window)
+ : GHOST_Event(time, GHOST_kEventNDOFButton, window)
+ {
+ m_data = &m_buttonData;
+ }
+ };
#endif // _GHOST_EVENT_NDOF_H_
-
diff --git a/intern/ghost/intern/GHOST_EventPrinter.cpp b/intern/ghost/intern/GHOST_EventPrinter.cpp
index 139c4beb412..9fa0b278353 100644
--- a/intern/ghost/intern/GHOST_EventPrinter.cpp
+++ b/intern/ghost/intern/GHOST_EventPrinter.cpp
@@ -37,6 +37,7 @@
#include "GHOST_EventDragnDrop.h"
#include "GHOST_Debug.h"
+#include <stdio.h>
bool GHOST_EventPrinter::processEvent(GHOST_IEvent* event)
{
@@ -82,17 +83,17 @@ bool GHOST_EventPrinter::processEvent(GHOST_IEvent* event)
case GHOST_kEventKeyUp:
{
GHOST_TEventKeyData* keyData = (GHOST_TEventKeyData*)((GHOST_IEvent*)event)->getData();
- STR_String str;
+ char str[32]= {'\0'};
getKeyString(keyData->key, str);
- std::cout << "GHOST_kEventKeyUp, key: " << str.Ptr();
+ std::cout << "GHOST_kEventKeyUp, key: " << str;
}
break;
case GHOST_kEventKeyDown:
{
GHOST_TEventKeyData* keyData = (GHOST_TEventKeyData*)((GHOST_IEvent*)event)->getData();
- STR_String str;
+ char str[32]= {'\0'};
getKeyString(keyData->key, str);
- std::cout << "GHOST_kEventKeyDown, key: " << str.Ptr();
+ std::cout << "GHOST_kEventKeyDown, key: " << str;
}
break;
@@ -183,165 +184,161 @@ bool GHOST_EventPrinter::processEvent(GHOST_IEvent* event)
}
-void GHOST_EventPrinter::getKeyString(GHOST_TKey key, STR_String& str) const
+void GHOST_EventPrinter::getKeyString(GHOST_TKey key, char str[32]) const
{
if ((key >= GHOST_kKeyComma) && (key <= GHOST_kKeyRightBracket)) {
- str = ((char)key);
+ sprintf(str, "%c", (char)key);
} else if ((key >= GHOST_kKeyNumpad0) && (key <= GHOST_kKeyNumpad9)) {
- int number = key - GHOST_kKeyNumpad0;
- STR_String numberStr (number);
- str = "Numpad";
- str += numberStr;
+ sprintf(str, "Numpad %d", (key - GHOST_kKeyNumpad0));
#if defined(__sun__) || defined(__sun)
} else if (key == 268828432) { /* solaris keyboards are messed up */
/* This should really test XK_F11 but that doesn't work */
- str = "F11";
+ strcpy(str, "F11");
} else if (key == 268828433) { /* solaris keyboards are messed up */
/* This should really test XK_F12 but that doesn't work */
- str = "F12";
+ strcpy(str, "F12");
#endif
} else if ((key >= GHOST_kKeyF1) && (key <= GHOST_kKeyF24)) {
- int number = key - GHOST_kKeyF1 + 1;
- STR_String numberStr (number);
- str = "F";
- str += numberStr;
+ sprintf(str, "F%d", key - GHOST_kKeyF1 + 1);
} else {
- switch (key)
- {
+ const char *tstr= NULL;
+ switch (key) {
case GHOST_kKeyBackSpace:
- str = "BackSpace";
+ tstr = "BackSpace";
break;
case GHOST_kKeyTab:
- str = "Tab";
+ tstr = "Tab";
break;
case GHOST_kKeyLinefeed:
- str = "Linefeed";
+ tstr = "Linefeed";
break;
case GHOST_kKeyClear:
- str = "Clear";
+ tstr = "Clear";
break;
case GHOST_kKeyEnter:
- str = "Enter";
+ tstr = "Enter";
break;
case GHOST_kKeyEsc:
- str = "Esc";
+ tstr = "Esc";
break;
case GHOST_kKeySpace:
- str = "Space";
+ tstr = "Space";
break;
case GHOST_kKeyQuote:
- str = "Quote";
+ tstr = "Quote";
break;
case GHOST_kKeyBackslash:
- str = "\\";
+ tstr = "\\";
break;
case GHOST_kKeyAccentGrave:
- str = "`";
+ tstr = "`";
break;
case GHOST_kKeyLeftShift:
- str = "LeftShift";
+ tstr = "LeftShift";
break;
case GHOST_kKeyRightShift:
- str = "RightShift";
+ tstr = "RightShift";
break;
case GHOST_kKeyLeftControl:
- str = "LeftControl";
+ tstr = "LeftControl";
break;
case GHOST_kKeyRightControl:
- str = "RightControl";
+ tstr = "RightControl";
break;
case GHOST_kKeyLeftAlt:
- str = "LeftAlt";
+ tstr = "LeftAlt";
break;
case GHOST_kKeyRightAlt:
- str = "RightAlt";
+ tstr = "RightAlt";
break;
case GHOST_kKeyOS:
- str = "OS";
+ tstr = "OS";
break;
case GHOST_kKeyGrLess:
// PC german!
- str = "GrLess";
+ tstr = "GrLess";
break;
case GHOST_kKeyCapsLock:
- str = "CapsLock";
+ tstr = "CapsLock";
break;
case GHOST_kKeyNumLock:
- str = "NumLock";
+ tstr = "NumLock";
break;
case GHOST_kKeyScrollLock:
- str = "ScrollLock";
+ tstr = "ScrollLock";
break;
case GHOST_kKeyLeftArrow:
- str = "LeftArrow";
+ tstr = "LeftArrow";
break;
case GHOST_kKeyRightArrow:
- str = "RightArrow";
+ tstr = "RightArrow";
break;
case GHOST_kKeyUpArrow:
- str = "UpArrow";
+ tstr = "UpArrow";
break;
case GHOST_kKeyDownArrow:
- str = "DownArrow";
+ tstr = "DownArrow";
break;
case GHOST_kKeyPrintScreen:
- str = "PrintScreen";
+ tstr = "PrintScreen";
break;
case GHOST_kKeyPause:
- str = "Pause";
+ tstr = "Pause";
break;
case GHOST_kKeyInsert:
- str = "Insert";
+ tstr = "Insert";
break;
case GHOST_kKeyDelete:
- str = "Delete";
+ tstr = "Delete";
break;
case GHOST_kKeyHome:
- str = "Home";
+ tstr = "Home";
break;
case GHOST_kKeyEnd:
- str = "End";
+ tstr = "End";
break;
case GHOST_kKeyUpPage:
- str = "UpPage";
+ tstr = "UpPage";
break;
case GHOST_kKeyDownPage:
- str = "DownPage";
+ tstr = "DownPage";
break;
case GHOST_kKeyNumpadPeriod:
- str = "NumpadPeriod";
+ tstr = "NumpadPeriod";
break;
case GHOST_kKeyNumpadEnter:
- str = "NumpadEnter";
+ tstr = "NumpadEnter";
break;
case GHOST_kKeyNumpadPlus:
- str = "NumpadPlus";
+ tstr = "NumpadPlus";
break;
case GHOST_kKeyNumpadMinus:
- str = "NumpadMinus";
+ tstr = "NumpadMinus";
break;
case GHOST_kKeyNumpadAsterisk:
- str = "NumpadAsterisk";
+ tstr = "NumpadAsterisk";
break;
case GHOST_kKeyNumpadSlash:
- str = "NumpadSlash";
+ tstr = "NumpadSlash";
break;
case GHOST_kKeyMediaPlay:
- str = "MediaPlayPause";
+ tstr = "MediaPlayPause";
break;
case GHOST_kKeyMediaStop:
- str = "MediaStop";
+ tstr = "MediaStop";
break;
case GHOST_kKeyMediaFirst:
- str = "MediaFirst";
+ tstr = "MediaFirst";
break;
case GHOST_kKeyMediaLast:
- str = "MediaLast";
+ tstr = "MediaLast";
break;
default:
- str = "unknown";
+ tstr = "unknown";
break;
}
+
+ sprintf(str, "%s", tstr);
}
}
diff --git a/intern/ghost/intern/GHOST_EventPrinter.h b/intern/ghost/intern/GHOST_EventPrinter.h
index 74c379e76a8..d9b7f86c04e 100644
--- a/intern/ghost/intern/GHOST_EventPrinter.h
+++ b/intern/ghost/intern/GHOST_EventPrinter.h
@@ -58,7 +58,7 @@ protected:
* @param key The GHOST key code to convert.
* @param str The GHOST key code converted to a readable string.
*/
- void getKeyString(GHOST_TKey key, STR_String& str) const;
+ void getKeyString(GHOST_TKey key, char str[32]) const;
};
#endif // _GHOST_EVENT_PRINTER_H_
diff --git a/intern/ghost/intern/GHOST_ISystem.cpp b/intern/ghost/intern/GHOST_ISystem.cpp
index 7f170d2e876..278c224ff85 100644
--- a/intern/ghost/intern/GHOST_ISystem.cpp
+++ b/intern/ghost/intern/GHOST_ISystem.cpp
@@ -43,6 +43,8 @@
#ifdef WITH_HEADLESS
# include "GHOST_SystemNULL.h"
+#elif defined(WITH_GHOST_SDL)
+# include "GHOST_SystemSDL.h"
#elif defined(WIN32)
# include "GHOST_SystemWin32.h"
#else
@@ -67,6 +69,8 @@ GHOST_TSuccess GHOST_ISystem::createSystem()
if (!m_system) {
#ifdef WITH_HEADLESS
m_system = new GHOST_SystemNULL();
+#elif defined(WITH_GHOST_SDL)
+ m_system = new GHOST_SystemSDL();
#elif defined(WIN32)
m_system = new GHOST_SystemWin32 ();
#else
diff --git a/intern/ghost/intern/GHOST_ISystemPaths.cpp b/intern/ghost/intern/GHOST_ISystemPaths.cpp
index 8873398a320..1aa043ebc80 100644
--- a/intern/ghost/intern/GHOST_ISystemPaths.cpp
+++ b/intern/ghost/intern/GHOST_ISystemPaths.cpp
@@ -70,7 +70,7 @@ GHOST_TSuccess GHOST_ISystemPaths::create()
# ifdef GHOST_COCOA
m_systemPaths = new GHOST_SystemPathsCocoa ();
# else
- m_systemPaths = new GHOST_SystemPathsarbon ();
+ m_systemPaths = new GHOST_SystemPathsCarbon ();
# endif
# else
m_systemPaths = new GHOST_SystemPathsX11 ();
diff --git a/intern/ghost/intern/GHOST_NDOFManager.cpp b/intern/ghost/intern/GHOST_NDOFManager.cpp
index 7721b1708f9..c2e6f278c6b 100644
--- a/intern/ghost/intern/GHOST_NDOFManager.cpp
+++ b/intern/ghost/intern/GHOST_NDOFManager.cpp
@@ -1,4 +1,6 @@
/*
+ * $Id$
+ *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -15,120 +17,458 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributor(s): none yet.
+ * Contributor(s):
+ * Mike Erwin
*
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file ghost/intern/GHOST_NDOFManager.cpp
- * \ingroup GHOST
- */
+#include "GHOST_Debug.h"
+#include "GHOST_NDOFManager.h"
+#include "GHOST_EventNDOF.h"
+#include "GHOST_EventKey.h"
+#include "GHOST_WindowManager.h"
+#include <string.h> // for memory functions
+#include <stdio.h> // for error/info reporting
+#include <math.h>
+#ifdef DEBUG_NDOF_MOTION
+// printable version of each GHOST_TProgress value
+static const char* progress_string[] =
+ {"not started","starting","in progress","finishing","finished"};
+#endif
-#include <stdio.h> /* just for printf */
+#ifdef DEBUG_NDOF_BUTTONS
+static const char* ndof_button_names[] = {
+ // used internally, never sent
+ "NDOF_BUTTON_NONE",
+ // these two are available from any 3Dconnexion device
+ "NDOF_BUTTON_MENU",
+ "NDOF_BUTTON_FIT",
+ // standard views
+ "NDOF_BUTTON_TOP",
+ "NDOF_BUTTON_BOTTOM",
+ "NDOF_BUTTON_LEFT",
+ "NDOF_BUTTON_RIGHT",
+ "NDOF_BUTTON_FRONT",
+ "NDOF_BUTTON_BACK",
+ // more views
+ "NDOF_BUTTON_ISO1",
+ "NDOF_BUTTON_ISO2",
+ // 90 degree rotations
+ "NDOF_BUTTON_ROLL_CW",
+ "NDOF_BUTTON_ROLL_CCW",
+ "NDOF_BUTTON_SPIN_CW",
+ "NDOF_BUTTON_SPIN_CCW",
+ "NDOF_BUTTON_TILT_CW",
+ "NDOF_BUTTON_TILT_CCW",
+ // device control
+ "NDOF_BUTTON_ROTATE",
+ "NDOF_BUTTON_PANZOOM",
+ "NDOF_BUTTON_DOMINANT",
+ "NDOF_BUTTON_PLUS",
+ "NDOF_BUTTON_MINUS",
+ // general-purpose buttons
+ "NDOF_BUTTON_1",
+ "NDOF_BUTTON_2",
+ "NDOF_BUTTON_3",
+ "NDOF_BUTTON_4",
+ "NDOF_BUTTON_5",
+ "NDOF_BUTTON_6",
+ "NDOF_BUTTON_7",
+ "NDOF_BUTTON_8",
+ "NDOF_BUTTON_9",
+ "NDOF_BUTTON_10",
+};
+#endif
-#include "GHOST_NDOFManager.h"
+static const NDOF_ButtonT SpaceNavigator_HID_map[] = {
+ NDOF_BUTTON_MENU,
+ NDOF_BUTTON_FIT
+};
+static const NDOF_ButtonT SpaceExplorer_HID_map[] = {
+ NDOF_BUTTON_1,
+ NDOF_BUTTON_2,
+ NDOF_BUTTON_TOP,
+ NDOF_BUTTON_LEFT,
+ NDOF_BUTTON_RIGHT,
+ NDOF_BUTTON_FRONT,
+ NDOF_BUTTON_NONE, // esc key
+ NDOF_BUTTON_NONE, // alt key
+ NDOF_BUTTON_NONE, // shift key
+ NDOF_BUTTON_NONE, // ctrl key
+ NDOF_BUTTON_FIT,
+ NDOF_BUTTON_MENU,
+ NDOF_BUTTON_PLUS,
+ NDOF_BUTTON_MINUS,
+ NDOF_BUTTON_ROTATE
+};
-// the variable is outside the class because it must be accessed from plugin
-static volatile GHOST_TEventNDOFData currentNdofValues = {0,0,0,0,0,0,0,0,0,0,0};
+static const NDOF_ButtonT SpacePilotPro_HID_map[] = {
+ NDOF_BUTTON_MENU,
+ NDOF_BUTTON_FIT,
+ NDOF_BUTTON_TOP,
+ NDOF_BUTTON_LEFT,
+ NDOF_BUTTON_RIGHT,
+ NDOF_BUTTON_FRONT,
+ NDOF_BUTTON_BOTTOM,
+ NDOF_BUTTON_BACK,
+ NDOF_BUTTON_ROLL_CW,
+ NDOF_BUTTON_ROLL_CCW,
+ NDOF_BUTTON_ISO1,
+ NDOF_BUTTON_ISO2,
+ NDOF_BUTTON_1,
+ NDOF_BUTTON_2,
+ NDOF_BUTTON_3,
+ NDOF_BUTTON_4,
+ NDOF_BUTTON_5,
+ NDOF_BUTTON_6,
+ NDOF_BUTTON_7,
+ NDOF_BUTTON_8,
+ NDOF_BUTTON_9,
+ NDOF_BUTTON_10,
+ NDOF_BUTTON_NONE, // esc key
+ NDOF_BUTTON_NONE, // alt key
+ NDOF_BUTTON_NONE, // shift key
+ NDOF_BUTTON_NONE, // ctrl key
+ NDOF_BUTTON_ROTATE,
+ NDOF_BUTTON_PANZOOM,
+ NDOF_BUTTON_DOMINANT,
+ NDOF_BUTTON_PLUS,
+ NDOF_BUTTON_MINUS
+};
-#if !defined(_WIN32) && !defined(__APPLE__)
-#include "GHOST_SystemX11.h"
-#endif
+/* this is the older SpacePilot (sans Pro)
+ * thanks to polosson for the info in this table */
+static const NDOF_ButtonT SpacePilot_HID_map[] = {
+ NDOF_BUTTON_1,
+ NDOF_BUTTON_2,
+ NDOF_BUTTON_3,
+ NDOF_BUTTON_4,
+ NDOF_BUTTON_5,
+ NDOF_BUTTON_6,
+ NDOF_BUTTON_TOP,
+ NDOF_BUTTON_LEFT,
+ NDOF_BUTTON_RIGHT,
+ NDOF_BUTTON_FRONT,
+ NDOF_BUTTON_NONE, // esc key
+ NDOF_BUTTON_NONE, // alt key
+ NDOF_BUTTON_NONE, // shift key
+ NDOF_BUTTON_NONE, // ctrl key
+ NDOF_BUTTON_FIT,
+ NDOF_BUTTON_MENU,
+ NDOF_BUTTON_PLUS,
+ NDOF_BUTTON_MINUS,
+ NDOF_BUTTON_DOMINANT,
+ NDOF_BUTTON_ROTATE,
+ NDOF_BUTTON_NONE // the CONFIG button -- what does it do?
+};
-namespace
+GHOST_NDOFManager::GHOST_NDOFManager(GHOST_System& sys)
+ : m_system(sys)
+ , m_deviceType(NDOF_UnknownDevice) // each platform has its own device detection code
+ , m_buttonCount(0)
+ , m_buttonMask(0)
+ , m_buttons(0)
+ , m_motionTime(0)
+ , m_prevMotionTime(0)
+ , m_motionState(GHOST_kNotStarted)
+ , m_motionEventPending(false)
+ , m_deadZone(0.f)
{
- GHOST_NDOFLibraryInit_fp ndofLibraryInit = 0;
- GHOST_NDOFLibraryShutdown_fp ndofLibraryShutdown = 0;
- GHOST_NDOFDeviceOpen_fp ndofDeviceOpen = 0;
+ // to avoid the rare situation where one triple is updated and
+ // the other is not, initialize them both here:
+ memset(m_translation, 0, sizeof(m_translation));
+ memset(m_rotation, 0, sizeof(m_rotation));
}
-GHOST_NDOFManager::GHOST_NDOFManager()
+bool GHOST_NDOFManager::setDevice(unsigned short vendor_id, unsigned short product_id)
{
- m_DeviceHandle = 0;
+ // default to NDOF_UnknownDevice so rogue button events will get discarded
+ // "mystery device" owners can help build a HID_map for their hardware
+
+ switch (vendor_id) {
+ case 0x046D: // Logitech (3Dconnexion)
+ switch (product_id) {
+ // -- current devices --
+ case 0xC626:
+ puts("ndof: using SpaceNavigator");
+ m_deviceType = NDOF_SpaceNavigator;
+ m_buttonCount = 2;
+ break;
+ case 0xC628:
+ puts("ndof: using SpaceNavigator for Notebooks");
+ m_deviceType = NDOF_SpaceNavigator; // for Notebooks
+ m_buttonCount = 2;
+ break;
+ case 0xC627:
+ puts("ndof: using SpaceExplorer");
+ m_deviceType = NDOF_SpaceExplorer;
+ m_buttonCount = 15;
+ break;
+ case 0xC629:
+ puts("ndof: using SpacePilotPro");
+ m_deviceType = NDOF_SpacePilotPro;
+ m_buttonCount = 31;
+ break;
- // discover the API from the plugin
- ndofLibraryInit = 0;
- ndofLibraryShutdown = 0;
- ndofDeviceOpen = 0;
+ // -- older devices --
+ case 0xC625:
+ puts("ndof: using SpacePilot");
+ m_deviceType = NDOF_SpacePilot;
+ m_buttonCount = 21;
+ break;
+
+ case 0xC623:
+ puts("ndof: SpaceTraveler not supported, please file a bug report");
+ m_buttonCount = 8;
+ break;
+
+ default:
+ printf("ndof: unknown Logitech product %04hx\n", product_id);
+ }
+ break;
+ default:
+ printf("ndof: unknown device %04hx:%04hx\n", vendor_id, product_id);
+ }
+
+ if (m_deviceType == NDOF_UnknownDevice) {
+ return false;
+ }
+ else {
+ m_buttonMask = ~(-1 << m_buttonCount);
+
+#ifdef DEBUG_NDOF_BUTTONS
+ printf("ndof: %d buttons -> hex:%X\n", m_buttonCount, m_buttonMask);
+#endif
+
+ return true;
+ }
}
-GHOST_NDOFManager::~GHOST_NDOFManager()
+void GHOST_NDOFManager::updateTranslation(short t[3], GHOST_TUns64 time)
{
- if (ndofLibraryShutdown)
- ndofLibraryShutdown(m_DeviceHandle);
+ memcpy(m_translation, t, sizeof(m_translation));
+ m_motionTime = time;
+ m_motionEventPending = true;
+}
- m_DeviceHandle = 0;
+void GHOST_NDOFManager::updateRotation(short r[3], GHOST_TUns64 time)
+{
+ memcpy(m_rotation, r, sizeof(m_rotation));
+ m_motionTime = time;
+ m_motionEventPending = true;
+}
+
+void GHOST_NDOFManager::sendButtonEvent(NDOF_ButtonT button, bool press, GHOST_TUns64 time, GHOST_IWindow* window)
+{
+ GHOST_EventNDOFButton* event = new GHOST_EventNDOFButton(time, window);
+ GHOST_TEventNDOFButtonData* data = (GHOST_TEventNDOFButtonData*) event->getData();
+
+ data->action = press ? GHOST_kPress : GHOST_kRelease;
+ data->button = button;
+
+#ifdef DEBUG_NDOF_BUTTONS
+ printf("%s %s\n", ndof_button_names[button], press ? "pressed" : "released");
+#endif
+
+ m_system.pushEvent(event);
}
+void GHOST_NDOFManager::sendKeyEvent(GHOST_TKey key, bool press, GHOST_TUns64 time, GHOST_IWindow* window)
+{
+ GHOST_TEventType type = press ? GHOST_kEventKeyDown : GHOST_kEventKeyUp;
+ GHOST_EventKey* event = new GHOST_EventKey(time, type, window, key);
+
+#ifdef DEBUG_NDOF_BUTTONS
+ printf("keyboard %s\n", press ? "down" : "up");
+#endif
-int
-GHOST_NDOFManager::deviceOpen(GHOST_IWindow* window,
- GHOST_NDOFLibraryInit_fp setNdofLibraryInit,
- GHOST_NDOFLibraryShutdown_fp setNdofLibraryShutdown,
- GHOST_NDOFDeviceOpen_fp setNdofDeviceOpen)
+ m_system.pushEvent(event);
+}
+
+void GHOST_NDOFManager::updateButton(int button_number, bool press, GHOST_TUns64 time)
{
- int Pid;
-
- ndofLibraryInit = setNdofLibraryInit;
- ndofLibraryShutdown = setNdofLibraryShutdown;
- ndofDeviceOpen = setNdofDeviceOpen;
-
- if (ndofLibraryInit && ndofDeviceOpen)
- {
- Pid= ndofLibraryInit();
-#if 0
- printf("%i client \n", Pid);
+ GHOST_IWindow* window = m_system.getWindowManager()->getActiveWindow();
+
+#ifdef DEBUG_NDOF_BUTTONS
+ if (m_deviceType != NDOF_UnknownDevice)
+ printf("ndof: button %d -> ", button_number);
#endif
- #if defined(WITH_HEADLESS)
- /* do nothing */
- #elif defined(_WIN32) || defined(__APPLE__)
- m_DeviceHandle = ndofDeviceOpen((void *)&currentNdofValues);
- #else
- GHOST_SystemX11 *sys;
- sys = static_cast<GHOST_SystemX11*>(GHOST_ISystem::getSystem());
- void *ndofInfo = sys->prepareNdofInfo(&currentNdofValues);
- m_DeviceHandle = ndofDeviceOpen(ndofInfo);
- #endif
- return (Pid > 0) ? 0 : 1;
-
- } else
- return 1;
+
+ switch (m_deviceType) {
+ case NDOF_SpaceNavigator:
+ sendButtonEvent(SpaceNavigator_HID_map[button_number], press, time, window);
+ break;
+ case NDOF_SpaceExplorer:
+ switch (button_number) {
+ case 6: sendKeyEvent(GHOST_kKeyEsc, press, time, window); break;
+ case 7: sendKeyEvent(GHOST_kKeyLeftAlt, press, time, window); break;
+ case 8: sendKeyEvent(GHOST_kKeyLeftShift, press, time, window); break;
+ case 9: sendKeyEvent(GHOST_kKeyLeftControl, press, time, window); break;
+ default: sendButtonEvent(SpaceExplorer_HID_map[button_number], press, time, window);
+ }
+ break;
+ case NDOF_SpacePilotPro:
+ switch (button_number) {
+ case 22: sendKeyEvent(GHOST_kKeyEsc, press, time, window); break;
+ case 23: sendKeyEvent(GHOST_kKeyLeftAlt, press, time, window); break;
+ case 24: sendKeyEvent(GHOST_kKeyLeftShift, press, time, window); break;
+ case 25: sendKeyEvent(GHOST_kKeyLeftControl, press, time, window); break;
+ default: sendButtonEvent(SpacePilotPro_HID_map[button_number], press, time, window);
+ }
+ break;
+ case NDOF_SpacePilot:
+ switch (button_number) {
+ case 10: sendKeyEvent(GHOST_kKeyEsc, press, time, window); break;
+ case 11: sendKeyEvent(GHOST_kKeyLeftAlt, press, time, window); break;
+ case 12: sendKeyEvent(GHOST_kKeyLeftShift, press, time, window); break;
+ case 13: sendKeyEvent(GHOST_kKeyLeftControl, press, time, window); break;
+ case 20: puts("ndof: ignoring CONFIG button"); break;
+ default: sendButtonEvent(SpacePilot_HID_map[button_number], press, time, window);
+ }
+ break;
+ case NDOF_UnknownDevice:
+ printf("ndof: button %d on unknown device (ignoring)\n", button_number);
+ }
+
+ int mask = 1 << button_number;
+ if (press) {
+ m_buttons |= mask; // set this button's bit
+ }
+ else {
+ m_buttons &= ~mask; // clear this button's bit
+ }
}
+void GHOST_NDOFManager::updateButtons(int button_bits, GHOST_TUns64 time)
+{
+ button_bits &= m_buttonMask; // discard any "garbage" bits
+
+ int diff = m_buttons ^ button_bits;
-bool
-GHOST_NDOFManager::available() const
-{
- return m_DeviceHandle != 0;
+ for (int button_number = 0; button_number < m_buttonCount; ++button_number) {
+ int mask = 1 << button_number;
+
+ if (diff & mask) {
+ bool press = button_bits & mask;
+ updateButton(button_number, press, time);
+ }
+ }
}
-bool
-GHOST_NDOFManager::event_present() const
-{
- if( currentNdofValues.changed >0) {
- printf("time %llu but%u x%i y%i z%i rx%i ry%i rz%i \n" ,
- currentNdofValues.time, currentNdofValues.buttons,
- currentNdofValues.tx,currentNdofValues.ty,currentNdofValues.tz,
- currentNdofValues.rx,currentNdofValues.ry,currentNdofValues.rz);
- return true;
- }else
- return false;
+void GHOST_NDOFManager::setDeadZone(float dz)
+{
+ if (dz < 0.f) {
+ // negative values don't make sense, so clamp at zero
+ dz = 0.f;
+ }
+ else if (dz > 0.5f) {
+ // warn the rogue user/programmer, but allow it
+ GHOST_PRINTF("ndof: dead zone of %.2f is rather high...\n", dz);
+ }
+ m_deadZone = dz;
+ GHOST_PRINTF("ndof: dead zone set to %.2f\n", dz);
}
-void GHOST_NDOFManager::GHOST_NDOFGetDatas(GHOST_TEventNDOFData &datas) const
+static bool atHomePosition(GHOST_TEventNDOFMotionData* ndof)
{
- datas.tx = currentNdofValues.tx;
- datas.ty = currentNdofValues.ty;
- datas.tz = currentNdofValues.tz;
- datas.rx = currentNdofValues.rx;
- datas.ry = currentNdofValues.ry;
- datas.rz = currentNdofValues.rz;
- datas.buttons = currentNdofValues.buttons;
- datas.client = currentNdofValues.client;
- datas.address = currentNdofValues.address;
- datas.time = currentNdofValues.time;
- datas.delta = currentNdofValues.delta;
+#define HOME(foo) (ndof->foo == 0.f)
+ return HOME(tx) && HOME(ty) && HOME(tz) && HOME(rx) && HOME(ry) && HOME(rz);
+#undef HOME
+}
+
+static bool nearHomePosition(GHOST_TEventNDOFMotionData* ndof, float threshold)
+{
+ if (threshold == 0.f) {
+ return atHomePosition(ndof);
+ }
+ else {
+#define HOME(foo) (fabsf(ndof->foo) < threshold)
+ return HOME(tx) && HOME(ty) && HOME(tz) && HOME(rx) && HOME(ry) && HOME(rz);
+#undef HOME
+ }
+}
+
+bool GHOST_NDOFManager::sendMotionEvent()
+{
+ if (!m_motionEventPending)
+ return false;
+
+ m_motionEventPending = false; // any pending motion is handled right now
+
+ GHOST_IWindow* window = m_system.getWindowManager()->getActiveWindow();
+
+ if (window == NULL) {
+ return false; // delivery will fail, so don't bother sending
+ }
+
+ GHOST_EventNDOFMotion* event = new GHOST_EventNDOFMotion(m_motionTime, window);
+ GHOST_TEventNDOFMotionData* data = (GHOST_TEventNDOFMotionData*) event->getData();
+
+ // scale axis values here to normalize them to around +/- 1
+ // they are scaled again for overall sensitivity in the WM based on user prefs
+
+ const float scale = 1.f / 350.f; // 3Dconnexion devices send +/- 350 usually
+
+ data->tx = scale * m_translation[0];
+ data->ty = scale * m_translation[1];
+ data->tz = scale * m_translation[2];
+
+ data->rx = scale * m_rotation[0];
+ data->ry = scale * m_rotation[1];
+ data->rz = scale * m_rotation[2];
+
+ data->dt = 0.001f * (m_motionTime - m_prevMotionTime); // in seconds
+
+ bool weHaveMotion = !nearHomePosition(data, m_deadZone);
+
+ // determine what kind of motion event to send (Starting, InProgress, Finishing)
+ // and where that leaves this NDOF manager (NotStarted, InProgress, Finished)
+ switch (m_motionState) {
+ case GHOST_kNotStarted:
+ case GHOST_kFinished:
+ if (weHaveMotion) {
+ data->progress = GHOST_kStarting;
+ m_motionState = GHOST_kInProgress;
+ // prev motion time will be ancient, so just make up a reasonable time delta
+ data->dt = 0.0125f;
+ }
+ else {
+ // send no event and keep current state
+ delete event;
+ return false;
+ }
+ break;
+ case GHOST_kInProgress:
+ if (weHaveMotion) {
+ data->progress = GHOST_kInProgress;
+ // remain 'InProgress'
+ }
+ else {
+ data->progress = GHOST_kFinishing;
+ m_motionState = GHOST_kFinished;
+ }
+ break;
+ default:
+ ; // will always be one of the above
+ }
+
+#ifdef DEBUG_NDOF_MOTION
+ printf("ndof motion sent -- %s\n", progress_string[data->progress]);
+
+ // show details about this motion event
+ printf(" T=(%.2f,%.2f,%.2f) R=(%.2f,%.2f,%.2f) dt=%.3f\n",
+ data->tx, data->ty, data->tz,
+ data->rx, data->ry, data->rz,
+ data->dt);
+#endif
+
+ m_system.pushEvent(event);
+
+ m_prevMotionTime = m_motionTime;
+
+ return true;
}
diff --git a/intern/ghost/intern/GHOST_NDOFManager.h b/intern/ghost/intern/GHOST_NDOFManager.h
index c9e09370e09..5bdbe7a6833 100644
--- a/intern/ghost/intern/GHOST_NDOFManager.h
+++ b/intern/ghost/intern/GHOST_NDOFManager.h
@@ -1,4 +1,6 @@
/*
+ * $Id$
+ *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -15,43 +17,144 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributor(s): none yet.
+ * Contributor(s):
+ * Mike Erwin
*
* ***** END GPL LICENSE BLOCK *****
*/
-
-/** \file ghost/intern/GHOST_NDOFManager.h
- * \ingroup GHOST
- */
-
#ifndef _GHOST_NDOFMANAGER_H_
#define _GHOST_NDOFMANAGER_H_
#include "GHOST_System.h"
-#include "GHOST_IWindow.h"
+// #define DEBUG_NDOF_MOTION
+// #define DEBUG_NDOF_BUTTONS
+
+typedef enum {
+ NDOF_UnknownDevice, // <-- motion will work fine, buttons are ignored
+
+ // current devices
+ NDOF_SpaceNavigator,
+ NDOF_SpaceExplorer,
+ NDOF_SpacePilotPro,
+
+ // older devices
+ NDOF_SpacePilot
+
+ } NDOF_DeviceT;
+
+// NDOF device button event types
+typedef enum {
+ // used internally, never sent
+ NDOF_BUTTON_NONE,
+ // these two are available from any 3Dconnexion device
+ NDOF_BUTTON_MENU,
+ NDOF_BUTTON_FIT,
+ // standard views
+ NDOF_BUTTON_TOP,
+ NDOF_BUTTON_BOTTOM,
+ NDOF_BUTTON_LEFT,
+ NDOF_BUTTON_RIGHT,
+ NDOF_BUTTON_FRONT,
+ NDOF_BUTTON_BACK,
+ // more views
+ NDOF_BUTTON_ISO1,
+ NDOF_BUTTON_ISO2,
+ // 90 degree rotations
+ // these don't all correspond to physical buttons
+ NDOF_BUTTON_ROLL_CW,
+ NDOF_BUTTON_ROLL_CCW,
+ NDOF_BUTTON_SPIN_CW,
+ NDOF_BUTTON_SPIN_CCW,
+ NDOF_BUTTON_TILT_CW,
+ NDOF_BUTTON_TILT_CCW,
+ // device control
+ NDOF_BUTTON_ROTATE,
+ NDOF_BUTTON_PANZOOM,
+ NDOF_BUTTON_DOMINANT,
+ NDOF_BUTTON_PLUS,
+ NDOF_BUTTON_MINUS,
+ // general-purpose buttons
+ // users can assign functions via keymap editor
+ NDOF_BUTTON_1,
+ NDOF_BUTTON_2,
+ NDOF_BUTTON_3,
+ NDOF_BUTTON_4,
+ NDOF_BUTTON_5,
+ NDOF_BUTTON_6,
+ NDOF_BUTTON_7,
+ NDOF_BUTTON_8,
+ NDOF_BUTTON_9,
+ NDOF_BUTTON_10,
+
+ } NDOF_ButtonT;
class GHOST_NDOFManager
{
public:
- GHOST_NDOFManager();
- virtual ~GHOST_NDOFManager();
-
- int deviceOpen(GHOST_IWindow* window,
- GHOST_NDOFLibraryInit_fp setNdofLibraryInit,
- GHOST_NDOFLibraryShutdown_fp setNdofLibraryShutdown,
- GHOST_NDOFDeviceOpen_fp setNdofDeviceOpen);
-
- void GHOST_NDOFGetDatas(GHOST_TEventNDOFData &datas) const;
-
- bool available() const;
- bool event_present() const;
+ GHOST_NDOFManager(GHOST_System&);
+
+ virtual ~GHOST_NDOFManager() {};
+
+ // whether multi-axis functionality is available (via the OS or driver)
+ // does not imply that a device is plugged in or being used
+ virtual bool available() = 0;
+
+ // each platform's device detection should call this
+ // use standard USB/HID identifiers
+ bool setDevice(unsigned short vendor_id, unsigned short product_id);
+
+ // filter out small/accidental/uncalibrated motions by
+ // setting up a "dead zone" around home position
+ // set to 0 to disable
+ // 0.1 is a safe and reasonable value
+ void setDeadZone(float);
+
+ // the latest raw axis data from the device
+ // NOTE: axis data should be in blender view coordinates
+ // +X is to the right
+ // +Y is up
+ // +Z is out of the screen
+ // for rotations, look from origin to each +axis
+ // rotations are + when CCW, - when CW
+ // each platform is responsible for getting axis data into this form
+ // these values should not be scaled (just shuffled or flipped)
+ void updateTranslation(short t[3], GHOST_TUns64 time);
+ void updateRotation(short r[3], GHOST_TUns64 time);
+
+ // the latest raw button data from the device
+ // use HID button encoding (not NDOF_ButtonT)
+ void updateButton(int button_number, bool press, GHOST_TUns64 time);
+ void updateButtons(int button_bits, GHOST_TUns64 time);
+ // NDOFButton events are sent immediately
+
+ // processes and sends most recent raw data as an NDOFMotion event
+ // returns whether an event was sent
+ bool sendMotionEvent();
protected:
- void* m_DeviceHandle;
-};
+ GHOST_System& m_system;
+private:
+ void sendButtonEvent(NDOF_ButtonT, bool press, GHOST_TUns64 time, GHOST_IWindow*);
+ void sendKeyEvent(GHOST_TKey, bool press, GHOST_TUns64 time, GHOST_IWindow*);
+
+ NDOF_DeviceT m_deviceType;
+ int m_buttonCount;
+ int m_buttonMask;
+
+ short m_translation[3];
+ short m_rotation[3];
+ int m_buttons; // bit field
+
+ GHOST_TUns64 m_motionTime; // in milliseconds
+ GHOST_TUns64 m_prevMotionTime; // time of most recent Motion event sent
+
+ GHOST_TProgress m_motionState;
+ bool m_motionEventPending;
+ float m_deadZone; // discard motion with each component < this
+};
#endif
diff --git a/intern/ghost/intern/GHOST_NDOFManagerCocoa.h b/intern/ghost/intern/GHOST_NDOFManagerCocoa.h
new file mode 100644
index 00000000000..5e85808b5a6
--- /dev/null
+++ b/intern/ghost/intern/GHOST_NDOFManagerCocoa.h
@@ -0,0 +1,54 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s):
+ * Mike Erwin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifndef _GHOST_NDOFMANAGERCOCOA_H_
+#define _GHOST_NDOFMANAGERCOCOA_H_
+
+#ifdef WITH_INPUT_NDOF
+
+#include "GHOST_NDOFManager.h"
+
+// Event capture is handled within the NDOF manager on Macintosh,
+// so there's no need for SystemCocoa to look for them.
+
+class GHOST_NDOFManagerCocoa : public GHOST_NDOFManager
+{
+public:
+ GHOST_NDOFManagerCocoa(GHOST_System&);
+
+ ~GHOST_NDOFManagerCocoa();
+
+ // whether multi-axis functionality is available (via the OS or driver)
+ // does not imply that a device is plugged in or being used
+ bool available();
+ bool oldDRV();
+
+private:
+ unsigned short m_clientID;
+};
+
+
+#endif // WITH_INPUT_NDOF
+#endif // #include guard
diff --git a/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm b/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm
new file mode 100644
index 00000000000..f665f5f6b39
--- /dev/null
+++ b/intern/ghost/intern/GHOST_NDOFManagerCocoa.mm
@@ -0,0 +1,189 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s):
+ * Mike Erwin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifdef WITH_INPUT_NDOF
+
+#include "GHOST_NDOFManagerCocoa.h"
+#include "GHOST_SystemCocoa.h"
+
+extern "C" {
+ #include <3DconnexionClient/ConnexionClientAPI.h>
+ #include <stdio.h>
+ }
+
+// static functions need to talk to these objects:
+static GHOST_SystemCocoa* ghost_system = NULL;
+static GHOST_NDOFManager* ndof_manager = NULL;
+
+// 3Dconnexion drivers before 10.x are "old"
+// not all buttons will work
+static bool has_old_driver = true;
+
+static void NDOF_DeviceAdded(io_connect_t connection)
+{
+ printf("ndof: device added\n"); // change these: printf --> informational reports
+
+#if 0 // device preferences will be useful some day
+ ConnexionDevicePrefs p;
+ ConnexionGetCurrentDevicePrefs(kDevID_AnyDevice, &p);
+#endif
+
+ // determine exactly which device is plugged in
+ SInt32 result = 0;
+ ConnexionControl(kConnexionCtlGetDeviceID, 0, &result);
+ unsigned short vendorID = result >> 16;
+ unsigned short productID = result & 0xffff;
+
+ ndof_manager->setDevice(vendorID, productID);
+}
+
+static void NDOF_DeviceRemoved(io_connect_t connection)
+{
+ printf("ndof: device removed\n");
+}
+
+static void NDOF_DeviceEvent(io_connect_t connection, natural_t messageType, void* messageArgument)
+{
+ switch (messageType)
+ {
+ case kConnexionMsgDeviceState:
+ {
+ ConnexionDeviceState* s = (ConnexionDeviceState*)messageArgument;
+
+ GHOST_TUns64 now = ghost_system->getMilliSeconds();
+
+ switch (s->command)
+ {
+ case kConnexionCmdHandleAxis:
+ {
+ // convert to blender view coordinates
+ short t[3] = {s->axis[0], -(s->axis[2]), s->axis[1]};
+ short r[3] = {-(s->axis[3]), s->axis[5], -(s->axis[4])};
+
+ ndof_manager->updateTranslation(t, now);
+ ndof_manager->updateRotation(r, now);
+
+ ghost_system->notifyExternalEventProcessed();
+ break;
+ }
+ case kConnexionCmdHandleButtons:
+ {
+ int button_bits = has_old_driver ? s->buttons8 : s->buttons;
+ ndof_manager->updateButtons(button_bits, now);
+ ghost_system->notifyExternalEventProcessed();
+ break;
+ }
+ case kConnexionCmdAppSpecific:
+ printf("ndof: app-specific command, param = %hd, value = %d\n", s->param, s->value);
+ break;
+
+ default:
+ printf("ndof: mystery device command %d\n", s->command);
+ }
+ break;
+ }
+ case kConnexionMsgPrefsChanged:
+ // printf("ndof: prefs changed\n"); // this includes app switches
+ // TODO: look through updated prefs for things blender cares about
+ break;
+ case kConnexionMsgCalibrateDevice:
+ printf("ndof: calibrate\n"); // but what should blender do?
+ break;
+ case kConnexionMsgDoMapping:
+ // printf("ndof: driver did something\n");
+ // sent when the driver itself consumes an NDOF event
+ // and performs whatever action is set in user prefs
+ // 3Dx header file says to ignore these
+ break;
+ default:
+ printf("ndof: mystery event %d\n", messageType);
+ }
+}
+
+GHOST_NDOFManagerCocoa::GHOST_NDOFManagerCocoa(GHOST_System& sys)
+ : GHOST_NDOFManager(sys)
+{
+ if (available())
+ {
+ // give static functions something to talk to:
+ ghost_system = dynamic_cast<GHOST_SystemCocoa*>(&sys);
+ ndof_manager = this;
+
+ OSErr error = InstallConnexionHandlers(NDOF_DeviceEvent, NDOF_DeviceAdded, NDOF_DeviceRemoved);
+ if (error) {
+ printf("ndof: error %d while installing handlers\n", error);
+ return;
+ }
+
+ // Pascal string *and* a four-letter constant. How old-skool.
+ m_clientID = RegisterConnexionClient('blnd', (UInt8*) "\007blender",
+ kConnexionClientModeTakeOver, kConnexionMaskAll);
+
+ // printf("ndof: client id = %d\n", m_clientID);
+
+ if (oldDRV()) {
+ has_old_driver = false;
+ SetConnexionClientButtonMask(m_clientID, kConnexionMaskAllButtons);
+ }
+ else {
+ printf("ndof: old 3Dx driver installed, some buttons may not work\n");
+ }
+ }
+ else {
+ printf("ndof: 3Dx driver not found\n");
+ // This isn't a hard error, just means the user doesn't have a 3D mouse.
+ }
+}
+
+GHOST_NDOFManagerCocoa::~GHOST_NDOFManagerCocoa()
+{
+ if (available())
+ {
+ UnregisterConnexionClient(m_clientID);
+ CleanupConnexionHandlers();
+ ghost_system = NULL;
+ ndof_manager = NULL;
+ }
+}
+extern "C" {
+ bool GHOST_NDOFManagerCocoa::available()
+ {
+ extern OSErr InstallConnexionHandlers() __attribute__((weak_import));
+ // Make the linker happy for the framework check (see link below for more info)
+ // http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html
+ return InstallConnexionHandlers != NULL;
+ // this means that the driver is installed and dynamically linked to blender
+ }
+
+ bool GHOST_NDOFManagerCocoa::oldDRV()
+ {
+ extern OSErr SetConnexionClientButtonMask() __attribute__((weak_import));
+ // Make the linker happy for the framework check (see link below for more info)
+ // http://developer.apple.com/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html
+ return SetConnexionClientButtonMask != NULL;
+ // this means that the driver has this symbol
+ }
+}
+#endif // WITH_INPUT_NDOF
diff --git a/intern/ghost/intern/GHOST_NDOFManagerWin32.cpp b/intern/ghost/intern/GHOST_NDOFManagerWin32.cpp
new file mode 100644
index 00000000000..fd62e845f7d
--- /dev/null
+++ b/intern/ghost/intern/GHOST_NDOFManagerWin32.cpp
@@ -0,0 +1,45 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s):
+ * Mike Erwin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifdef WITH_INPUT_NDOF // use contents of this file
+
+#include "GHOST_NDOFManagerWin32.h"
+
+
+GHOST_NDOFManagerWin32::GHOST_NDOFManagerWin32(GHOST_System& sys)
+ : GHOST_NDOFManager(sys)
+{
+ setDeadZone(0.1f);
+}
+
+// whether multi-axis functionality is available (via the OS or driver)
+// does not imply that a device is plugged in or being used
+bool GHOST_NDOFManagerWin32::available()
+{
+ // always available since RawInput is built into Windows
+ return true;
+}
+
+#endif // WITH_INPUT_NDOF
diff --git a/intern/ghost/intern/GHOST_NDOFManagerWin32.h b/intern/ghost/intern/GHOST_NDOFManagerWin32.h
new file mode 100644
index 00000000000..9f3eddeb3c8
--- /dev/null
+++ b/intern/ghost/intern/GHOST_NDOFManagerWin32.h
@@ -0,0 +1,44 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s):
+ * Mike Erwin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+
+#ifndef _GHOST_NDOFMANAGERWIN32_H_
+#define _GHOST_NDOFMANAGERWIN32_H_
+
+#ifdef WITH_INPUT_NDOF
+
+#include "GHOST_NDOFManager.h"
+
+
+class GHOST_NDOFManagerWin32 : public GHOST_NDOFManager
+{
+public:
+ GHOST_NDOFManagerWin32(GHOST_System&);
+ bool available();
+};
+
+
+#endif // WITH_INPUT_NDOF
+#endif // #include guard
diff --git a/intern/ghost/intern/GHOST_NDOFManagerX11.cpp b/intern/ghost/intern/GHOST_NDOFManagerX11.cpp
new file mode 100644
index 00000000000..4dd53319039
--- /dev/null
+++ b/intern/ghost/intern/GHOST_NDOFManagerX11.cpp
@@ -0,0 +1,105 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s):
+ * Mike Erwin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifdef WITH_INPUT_NDOF
+
+#include "GHOST_NDOFManagerX11.h"
+#include "GHOST_SystemX11.h"
+#include <spnav.h>
+#include <stdio.h>
+
+
+GHOST_NDOFManagerX11::GHOST_NDOFManagerX11(GHOST_System& sys)
+ :
+ GHOST_NDOFManager(sys),
+ m_available(false)
+{
+ setDeadZone(0.1f); /* how to calibrate on Linux? throw away slight motion! */
+
+ if (spnav_open() != -1) {
+ /* determine exactly which device (if any) is plugged in */
+
+#define MAX_LINE_LENGTH 100
+
+ /* look for USB devices with Logitech's vendor ID */
+ FILE* command_output = popen("lsusb -d 046d:","r");
+ if (command_output) {
+ char line[MAX_LINE_LENGTH] = {0};
+ while (fgets(line, MAX_LINE_LENGTH, command_output)) {
+ unsigned short vendor_id = 0, product_id = 0;
+ if (sscanf(line, "Bus %*d Device %*d: ID %hx:%hx", &vendor_id, &product_id) == 2)
+ if (setDevice(vendor_id, product_id)) {
+ m_available = true;
+ break; /* stop looking once the first 3D mouse is found */
+ }
+ }
+ pclose(command_output);
+ }
+ }
+ else {
+ puts("ndof: spacenavd not found");
+ /* This isn't a hard error, just means the user doesn't have a 3D mouse. */
+ }
+}
+
+GHOST_NDOFManagerX11::~GHOST_NDOFManagerX11()
+{
+ if (m_available)
+ spnav_close();
+}
+
+bool GHOST_NDOFManagerX11::available()
+{
+ return m_available;
+}
+
+bool GHOST_NDOFManagerX11::processEvents()
+{
+ GHOST_TUns64 now = m_system.getMilliSeconds();
+
+ bool anyProcessed = false;
+ spnav_event e;
+ while (spnav_poll_event(&e)) {
+ switch (e.type) {
+ case SPNAV_EVENT_MOTION:
+ {
+ /* convert to blender view coords */
+ short t[3] = {e.motion.x, e.motion.y, -e.motion.z};
+ short r[3] = {-e.motion.rx, -e.motion.ry, e.motion.rz};
+
+ updateTranslation(t, now);
+ updateRotation(r, now);
+ break;
+ }
+ case SPNAV_EVENT_BUTTON:
+ updateButton(e.button.bnum, e.button.press, now);
+ break;
+ }
+ anyProcessed = true;
+ }
+ return anyProcessed;
+}
+
+#endif /* WITH_INPUT_NDOF */
diff --git a/intern/ghost/intern/GHOST_NDOFManagerX11.h b/intern/ghost/intern/GHOST_NDOFManagerX11.h
new file mode 100644
index 00000000000..0a549753756
--- /dev/null
+++ b/intern/ghost/intern/GHOST_NDOFManagerX11.h
@@ -0,0 +1,50 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s):
+ * Mike Erwin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifndef _GHOST_NDOFMANAGERX11_H_
+#define _GHOST_NDOFMANAGERX11_H_
+
+#ifdef WITH_INPUT_NDOF
+
+#include "GHOST_NDOFManager.h"
+
+/* Event capture is handled within the NDOF manager on Linux,
+ * so there's no need for SystemX11 to look for them. */
+
+class GHOST_NDOFManagerX11 : public GHOST_NDOFManager
+{
+public:
+ GHOST_NDOFManagerX11(GHOST_System&);
+ ~GHOST_NDOFManagerX11();
+ bool available();
+ bool processEvents();
+
+private:
+ bool m_available;
+};
+
+#endif /* WITH_INPUT_NDOF */
+#endif /* #include guard */
+
diff --git a/intern/ghost/intern/GHOST_Path-api.cpp b/intern/ghost/intern/GHOST_Path-api.cpp
index dee66029d19..053eb7d03e8 100644
--- a/intern/ghost/intern/GHOST_Path-api.cpp
+++ b/intern/ghost/intern/GHOST_Path-api.cpp
@@ -39,7 +39,7 @@
GHOST_TSuccess GHOST_CreateSystemPaths(void)
{
- return GHOST_ISystemPaths::create();;
+ return GHOST_ISystemPaths::create();
}
GHOST_TSuccess GHOST_DisposeSystemPaths(void)
diff --git a/intern/ghost/intern/GHOST_System.cpp b/intern/ghost/intern/GHOST_System.cpp
index cb3e97fc574..64c2c218a07 100644
--- a/intern/ghost/intern/GHOST_System.cpp
+++ b/intern/ghost/intern/GHOST_System.cpp
@@ -46,7 +46,13 @@
GHOST_System::GHOST_System()
-: m_displayManager(0), m_timerManager(0), m_windowManager(0), m_eventManager(0), m_ndofManager(0)
+ : m_displayManager(0),
+ m_timerManager(0),
+ m_windowManager(0),
+ m_eventManager(0)
+#ifdef WITH_INPUT_NDOF
+ , m_ndofManager(0)
+#endif
{
}
@@ -194,12 +200,17 @@ bool GHOST_System::getFullScreen(void)
bool GHOST_System::dispatchEvents()
{
- bool handled;
- if (m_eventManager) {
- handled = m_eventManager->dispatchEvents();
+ bool handled = false;
+
+#ifdef WITH_INPUT_NDOF
+ // NDOF Motion event is sent only once per dispatch, so do it now:
+ if (m_ndofManager) {
+ handled |= m_ndofManager->sendMotionEvent();
}
- else {
- handled = false;
+#endif
+
+ if (m_eventManager) {
+ handled |= m_eventManager->dispatchEvents();
}
m_timerManager->fireTimers(getMilliSeconds());
@@ -243,18 +254,6 @@ GHOST_TSuccess GHOST_System::pushEvent(GHOST_IEvent* event)
return success;
}
-int GHOST_System::openNDOF(GHOST_IWindow* w,
- GHOST_NDOFLibraryInit_fp setNdofLibraryInit,
- GHOST_NDOFLibraryShutdown_fp setNdofLibraryShutdown,
- GHOST_NDOFDeviceOpen_fp setNdofDeviceOpen)
-{
- return m_ndofManager->deviceOpen(w,
- setNdofLibraryInit,
- setNdofLibraryShutdown,
- setNdofDeviceOpen);
-}
-
-
GHOST_TSuccess GHOST_System::getModifierKeyState(GHOST_TModifierKeyMask mask, bool& isDown) const
{
GHOST_ModifierKeys keys;
@@ -285,12 +284,6 @@ GHOST_TSuccess GHOST_System::init()
m_timerManager = new GHOST_TimerManager ();
m_windowManager = new GHOST_WindowManager ();
m_eventManager = new GHOST_EventManager ();
- m_ndofManager = new GHOST_NDOFManager();
-
-#if 0
- if(m_ndofManager)
- printf("ndof manager \n");
-#endif
#ifdef GHOST_DEBUG
if (m_eventManager) {
@@ -328,10 +321,12 @@ GHOST_TSuccess GHOST_System::exit()
delete m_eventManager;
m_eventManager = 0;
}
+#ifdef WITH_INPUT_NDOF
if (m_ndofManager) {
delete m_ndofManager;
m_ndofManager = 0;
}
+#endif
return GHOST_kSuccess;
}
diff --git a/intern/ghost/intern/GHOST_System.h b/intern/ghost/intern/GHOST_System.h
index b5c64bfceb6..c1e70916be6 100644
--- a/intern/ghost/intern/GHOST_System.h
+++ b/intern/ghost/intern/GHOST_System.h
@@ -191,25 +191,6 @@ public:
virtual GHOST_TSuccess removeEventConsumer(GHOST_IEventConsumer* consumer);
/***************************************************************************************
- ** N-degree of freedom devcice management functionality
- ***************************************************************************************/
-
- /** Inherited from GHOST_ISystem
- * Opens the N-degree of freedom device manager
- * return 0 if device found, 1 otherwise
- */
- virtual int openNDOF(GHOST_IWindow* w,
- GHOST_NDOFLibraryInit_fp setNdofLibraryInit,
- GHOST_NDOFLibraryShutdown_fp setNdofLibraryShutdown,
- GHOST_NDOFDeviceOpen_fp setNdofDeviceOpen);
-
-// original patch only
-// GHOST_NDOFEventHandler_fp setNdofEventHandler);
-
-
-
-
- /***************************************************************************************
** Cursor management functionality
***************************************************************************************/
@@ -268,11 +249,13 @@ public:
*/
virtual inline GHOST_WindowManager* getWindowManager() const;
+#ifdef WITH_INPUT_NDOF
/**
* Returns a pointer to our n-degree of freedeom manager.
* @return A pointer to our n-degree of freedeom manager.
*/
virtual inline GHOST_NDOFManager* getNDOFManager() const;
+#endif
/**
* Returns the state of all modifier keys.
@@ -337,8 +320,10 @@ protected:
/** The event manager. */
GHOST_EventManager* m_eventManager;
- /** The N-degree of freedom device manager */
- GHOST_NDOFManager* m_ndofManager;
+#ifdef WITH_INPUT_NDOF
+ /** The N-degree of freedom device manager */
+ GHOST_NDOFManager* m_ndofManager;
+#endif
/** Prints all the events. */
#ifdef GHOST_DEBUG
@@ -364,10 +349,12 @@ inline GHOST_WindowManager* GHOST_System::getWindowManager() const
return m_windowManager;
}
+#ifdef WITH_INPUT_NDOF
inline GHOST_NDOFManager* GHOST_System::getNDOFManager() const
{
return m_ndofManager;
}
+#endif
#endif // _GHOST_SYSTEM_H_
diff --git a/intern/ghost/intern/GHOST_SystemCarbon.cpp b/intern/ghost/intern/GHOST_SystemCarbon.cpp
index d5e5fbc7a58..e02e569cc6e 100644
--- a/intern/ghost/intern/GHOST_SystemCarbon.cpp
+++ b/intern/ghost/intern/GHOST_SystemCarbon.cpp
@@ -48,7 +48,9 @@
#include "GHOST_EventButton.h"
#include "GHOST_EventCursor.h"
#include "GHOST_EventWheel.h"
+#ifdef WITH_INPUT_NDOF
#include "GHOST_EventNDOF.h"
+#endif
#include "GHOST_TimerManager.h"
#include "GHOST_TimerTask.h"
@@ -1101,7 +1103,9 @@ OSStatus GHOST_SystemCarbon::sEventHandlerProc(EventHandlerCallRef handler, Even
GHOST_SystemCarbon* sys = (GHOST_SystemCarbon*) userData;
OSStatus err = eventNotHandledErr;
GHOST_IWindow* window;
+#ifdef WITH_INPUT_NDOF
GHOST_TEventNDOFData data;
+#endif
UInt32 kind;
switch (::GetEventClass(event))
@@ -1122,6 +1126,7 @@ OSStatus GHOST_SystemCarbon::sEventHandlerProc(EventHandlerCallRef handler, Even
err = sys->handleKeyEvent(event);
break;
case kEventClassBlender :
+#ifdef WITH_INPUT_NDOF
window = sys->m_windowManager->getActiveWindow();
sys->m_ndofManager->GHOST_NDOFGetDatas(data);
kind = ::GetEventKind(event);
@@ -1137,6 +1142,7 @@ OSStatus GHOST_SystemCarbon::sEventHandlerProc(EventHandlerCallRef handler, Even
// printf("button\n");
break;
}
+#endif
err = noErr;
break;
default :
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.h b/intern/ghost/intern/GHOST_SystemCocoa.h
index e7a8178a382..d20aed63f42 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.h
+++ b/intern/ghost/intern/GHOST_SystemCocoa.h
@@ -119,14 +119,6 @@ public:
const GHOST_TEmbedderWindowID parentWindow = 0
);
- virtual GHOST_TSuccess beginFullScreen(
- const GHOST_DisplaySetting& setting,
- GHOST_IWindow** window,
- const bool stereoVisual
- );
-
- virtual GHOST_TSuccess endFullScreen( void );
-
/***************************************************************************************
** Event management functionality
***************************************************************************************/
@@ -229,6 +221,11 @@ public:
GHOST_TSuccess handleApplicationBecomeActiveEvent();
/**
+ * External objects should call this when they send an event outside processEvents.
+ */
+ void notifyExternalEventProcessed();
+
+ /**
* @see GHOST_ISystem
*/
int toggleConsole(int action) { return 0; }
@@ -275,7 +272,7 @@ protected:
/** Start time at initialization. */
GHOST_TUns64 m_start_time;
- /** Event has been processed directly by Cocoa and has sent a ghost event to be dispatched */
+ /** Event has been processed directly by Cocoa (or NDOF manager) and has sent a ghost event to be dispatched */
bool m_outsideLoopEventProcessed;
/** Raised window is not yet known by the window manager, so delay application become active event handling */
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm
index bf401138cf1..303c2b24497 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.mm
+++ b/intern/ghost/intern/GHOST_SystemCocoa.mm
@@ -21,8 +21,8 @@
*
* The Original Code is: all of this file.
*
- * Contributor(s): Maarten Gribnau 05/2001
- * Damien Plisson 09/2009
+ * Contributors: Maarten Gribnau 05/2001
+ * Damien Plisson 09/2009
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -43,16 +43,17 @@
#include "GHOST_EventButton.h"
#include "GHOST_EventCursor.h"
#include "GHOST_EventWheel.h"
-#include "GHOST_EventNDOF.h"
#include "GHOST_EventTrackpad.h"
#include "GHOST_EventDragnDrop.h"
#include "GHOST_EventString.h"
-
#include "GHOST_TimerManager.h"
#include "GHOST_TimerTask.h"
#include "GHOST_WindowManager.h"
#include "GHOST_WindowCocoa.h"
-#include "GHOST_NDOFManager.h"
+#ifdef WITH_INPUT_NDOF
+#include "GHOST_NDOFManagerCocoa.h"
+#endif
+
#include "AssertMacros.h"
#pragma mark KeyMap, mouse converters
@@ -596,6 +597,11 @@ GHOST_TSuccess GHOST_SystemCocoa::init()
GHOST_TSuccess success = GHOST_System::init();
if (success) {
+
+#ifdef WITH_INPUT_NDOF
+ m_ndofManager = new GHOST_NDOFManagerCocoa(*this);
+#endif
+
//ProcessSerialNumber psn;
//Carbon stuff to move window & menu to foreground
@@ -741,11 +747,13 @@ GHOST_IWindow* GHOST_SystemCocoa::createWindow(
NSRect contentRect = [NSWindow contentRectForFrameRect:frame
styleMask:(NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask)];
+ GHOST_TInt32 bottom = (contentRect.size.height - 1) - height - top;
+
//Ensures window top left is inside this available rect
left = left > contentRect.origin.x ? left : contentRect.origin.x;
- top = top > contentRect.origin.y ? top : contentRect.origin.y;
-
- window = new GHOST_WindowCocoa (this, title, left, top, width, height, state, type, stereoVisual, numOfAASamples);
+ bottom = bottom > contentRect.origin.y ? bottom : contentRect.origin.y;
+
+ window = new GHOST_WindowCocoa (this, title, left, bottom, width, height, state, type, stereoVisual, numOfAASamples);
if (window) {
if (window->getValid()) {
@@ -771,26 +779,6 @@ GHOST_IWindow* GHOST_SystemCocoa::createWindow(
return window;
}
-GHOST_TSuccess GHOST_SystemCocoa::beginFullScreen(const GHOST_DisplaySetting& setting, GHOST_IWindow** window, const bool stereoVisual)
-{
- GHOST_IWindow* currentWindow = m_windowManager->getActiveWindow();
- *window = currentWindow;
-
- if(!currentWindow) return GHOST_kFailure;
-
- return currentWindow->setState(GHOST_kWindowStateFullScreen);
-}
-
-GHOST_TSuccess GHOST_SystemCocoa::endFullScreen(void)
-{
- GHOST_IWindow* currentWindow = m_windowManager->getActiveWindow();
- if(!currentWindow) return GHOST_kFailure;
-
- return currentWindow->setState(GHOST_kWindowStateNormal);
-}
-
-
-
/**
* @note : returns coordinates in Cocoa screen coordinates
*/
@@ -809,7 +797,6 @@ GHOST_TSuccess GHOST_SystemCocoa::getCursorPosition(GHOST_TInt32& x, GHOST_TInt3
*/
GHOST_TSuccess GHOST_SystemCocoa::setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 y)
{
- GHOST_TInt32 wx,wy;
GHOST_WindowCocoa* window = (GHOST_WindowCocoa*)m_windowManager->getActiveWindow();
if (!window) return GHOST_kFailure;
@@ -820,8 +807,7 @@ GHOST_TSuccess GHOST_SystemCocoa::setCursorPosition(GHOST_TInt32 x, GHOST_TInt32
CGAssociateMouseAndMouseCursorPosition(true);
//Force mouse move event (not pushed by Cocoa)
- window->screenToClient(x, y, wx, wy);
- pushEvent(new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, wx,wy));
+ pushEvent(new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, x, y));
m_outsideLoopEventProcessed = true;
return GHOST_kSuccess;
@@ -1027,6 +1013,11 @@ GHOST_TSuccess GHOST_SystemCocoa::handleApplicationBecomeActiveEvent()
return GHOST_kSuccess;
}
+void GHOST_SystemCocoa::notifyExternalEventProcessed()
+{
+ m_outsideLoopEventProcessed = true;
+}
+
//Note: called from NSWindow delegate
GHOST_TSuccess GHOST_SystemCocoa::handleWindowEvent(GHOST_TEventType eventType, GHOST_WindowCocoa* window)
{
@@ -1433,9 +1424,9 @@ GHOST_TSuccess GHOST_SystemCocoa::handleTabletEvent(void *eventPtr, short eventT
GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
{
NSEvent *event = (NSEvent *)eventPtr;
- GHOST_Window* window;
+ GHOST_WindowCocoa* window;
- window = (GHOST_Window*)m_windowManager->getWindowAssociatedWithOSWindow((void*)[event window]);
+ window = (GHOST_WindowCocoa*)m_windowManager->getWindowAssociatedWithOSWindow((void*)[event window]);
if (!window) {
//printf("\nW failure for event 0x%x",[event type]);
return GHOST_kFailure;
@@ -1499,7 +1490,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
switch (window->getCursorGrabMode()) {
case GHOST_kGrabHide: //Cursor hidden grab operation : no cursor move
{
- GHOST_TInt32 x_warp, y_warp, x_accum, y_accum;
+ GHOST_TInt32 x_warp, y_warp, x_accum, y_accum, x, y;
window->getCursorGrabInitPos(x_warp, y_warp);
@@ -1508,7 +1499,8 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
y_accum += -[event deltaY]; //Strange Apple implementation (inverted coordinates for the deltaY) ...
window->setCursorGrabAccum(x_accum, y_accum);
- pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x_warp+x_accum, y_warp+y_accum));
+ window->clientToScreenIntern(x_warp+x_accum, y_warp+y_accum, x, y);
+ pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x, y));
}
break;
case GHOST_kGrabWrap: //Wrap cursor at area/window boundaries
@@ -1516,7 +1508,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
NSPoint mousePos = [event locationInWindow];
GHOST_TInt32 x_mouse= mousePos.x;
GHOST_TInt32 y_mouse= mousePos.y;
- GHOST_TInt32 x_accum, y_accum, x_cur, y_cur;
+ GHOST_TInt32 x_accum, y_accum, x_cur, y_cur, x, y;
GHOST_Rect bounds, windowBounds, correctedBounds;
/* fallback to window bounds */
@@ -1525,7 +1517,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
//Switch back to Cocoa coordinates orientation (y=0 at botton,the same as blender internal btw!), and to client coordinates
window->getClientBounds(windowBounds);
- window->screenToClient(bounds.m_l,bounds.m_b, correctedBounds.m_l, correctedBounds.m_t);
+ window->screenToClient(bounds.m_l, bounds.m_b, correctedBounds.m_l, correctedBounds.m_t);
window->screenToClient(bounds.m_r, bounds.m_t, correctedBounds.m_r, correctedBounds.m_b);
correctedBounds.m_b = (windowBounds.m_b - windowBounds.m_t) - correctedBounds.m_b;
correctedBounds.m_t = (windowBounds.m_b - windowBounds.m_t) - correctedBounds.m_t;
@@ -1547,19 +1539,24 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
m_cursorDelta_y = y_mouse-mousePos.y;
//Set new cursor position
- window->clientToScreen(x_mouse, y_mouse, x_cur, y_cur);
+ window->clientToScreenIntern(x_mouse, y_mouse, x_cur, y_cur);
setMouseCursorPosition(x_cur, y_cur); /* wrap */
//Post event
window->getCursorGrabInitPos(x_cur, y_cur);
- pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x_cur + x_accum, y_cur + y_accum));
+ window->clientToScreenIntern(x_cur + x_accum, y_cur + y_accum, x, y);
+ pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x, y));
}
break;
default:
{
//Normal cursor operation: send mouse position in window
NSPoint mousePos = [event locationInWindow];
- pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, mousePos.x, mousePos.y));
+ GHOST_TInt32 x, y;
+
+ window->clientToScreenIntern(mousePos.x, mousePos.y, x, y);
+ pushEvent(new GHOST_EventCursor([event timestamp]*1000, GHOST_kEventCursorMove, window, x, y));
+
m_cursorDelta_x=0;
m_cursorDelta_y=0; //Mouse motion occurred between two cursor warps, so we can reset the delta counter
}
@@ -1574,6 +1571,8 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
GHOST_TInt32 delta;
double deltaF = [event deltaY];
+
+ if (deltaF == 0.0) deltaF = [event deltaX]; // make blender decide if it's horizontal scroll
if (deltaF == 0.0) break; //discard trackpad delta=0 events
delta = deltaF > 0.0 ? 1 : -1;
@@ -1581,6 +1580,7 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
}
else {
NSPoint mousePos = [event locationInWindow];
+ GHOST_TInt32 x, y;
double dx = [event deltaX];
double dy = -[event deltaY];
@@ -1597,7 +1597,10 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
if (dy<0.0) dy-=0.5; else dy+=0.5;
if (dy< -deltaMax) dy= -deltaMax; else if (dy>deltaMax) dy=deltaMax;
- pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventScroll, mousePos.x, mousePos.y, dx, dy));
+ window->clientToScreenIntern(mousePos.x, mousePos.y, x, y);
+ dy = -dy;
+
+ pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventScroll, x, y, dx, dy));
}
}
break;
@@ -1605,7 +1608,9 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
case NSEventTypeMagnify:
{
NSPoint mousePos = [event locationInWindow];
- pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventMagnify, mousePos.x, mousePos.y,
+ GHOST_TInt32 x, y;
+ window->clientToScreenIntern(mousePos.x, mousePos.y, x, y);
+ pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventMagnify, x, y,
[event magnification]*250.0 + 0.1, 0));
}
break;
@@ -1613,7 +1618,9 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
case NSEventTypeRotate:
{
NSPoint mousePos = [event locationInWindow];
- pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventRotate, mousePos.x, mousePos.y,
+ GHOST_TInt32 x, y;
+ window->clientToScreenIntern(mousePos.x, mousePos.y, x, y);
+ pushEvent(new GHOST_EventTrackpad([event timestamp]*1000, window, GHOST_kTrackpadEventRotate, x, y,
-[event rotation] * 5.0, 0));
}
case NSEventTypeBeginGesture:
diff --git a/intern/ghost/intern/GHOST_SystemPathsWin32.cpp b/intern/ghost/intern/GHOST_SystemPathsWin32.cpp
index becccc2c29f..523d119c7e7 100644
--- a/intern/ghost/intern/GHOST_SystemPathsWin32.cpp
+++ b/intern/ghost/intern/GHOST_SystemPathsWin32.cpp
@@ -32,12 +32,9 @@
#include "GHOST_SystemPathsWin32.h"
-#define WIN32_LEAN_AND_MEAN
-#ifdef _WIN32_IE
-#undef _WIN32_IE
-#endif
+#ifndef _WIN32_IE
#define _WIN32_IE 0x0501
-#include <windows.h>
+#endif
#include <shlobj.h>
#if defined(__MINGW32__) || defined(__CYGWIN__)
diff --git a/intern/ghost/intern/GHOST_SystemPathsWin32.h b/intern/ghost/intern/GHOST_SystemPathsWin32.h
index 67cc2140e0e..3de7bbf934e 100644
--- a/intern/ghost/intern/GHOST_SystemPathsWin32.h
+++ b/intern/ghost/intern/GHOST_SystemPathsWin32.h
@@ -38,6 +38,8 @@
#error WIN32 only!
#endif // WIN32
+#define _WIN32_WINNT 0x501 // require Windows XP or newer
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include "GHOST_SystemPaths.h"
diff --git a/intern/ghost/intern/GHOST_SystemPathsX11.cpp b/intern/ghost/intern/GHOST_SystemPathsX11.cpp
index dd8935732c5..135f5c42dc5 100644
--- a/intern/ghost/intern/GHOST_SystemPathsX11.cpp
+++ b/intern/ghost/intern/GHOST_SystemPathsX11.cpp
@@ -43,7 +43,11 @@
#include <stdio.h> // for fprintf only
#include <cstdlib> // for exit
-using namespace std;
+#ifdef PREFIX
+static const char *static_path= PREFIX "/share" ;
+#else
+static const char *static_path= NULL;
+#endif
GHOST_SystemPathsX11::GHOST_SystemPathsX11()
{
@@ -56,21 +60,12 @@ GHOST_SystemPathsX11::~GHOST_SystemPathsX11()
const GHOST_TUns8* GHOST_SystemPathsX11::getSystemDir() const
{
/* no prefix assumes a portable build which only uses bundled scripts */
-#ifdef PREFIX
- return (GHOST_TUns8*) PREFIX "/share";
-#else
- return NULL;
-#endif
+ return (const GHOST_TUns8 *)static_path;
}
const GHOST_TUns8* GHOST_SystemPathsX11::getUserDir() const
{
- const char* env = getenv("HOME");
- if(env) {
- return (GHOST_TUns8*) env;
- } else {
- return NULL;
- }
+ return (const GHOST_TUns8 *)getenv("HOME");
}
const GHOST_TUns8* GHOST_SystemPathsX11::getBinaryDir() const
diff --git a/intern/ghost/intern/GHOST_SystemSDL.cpp b/intern/ghost/intern/GHOST_SystemSDL.cpp
new file mode 100644
index 00000000000..f2cc45731fa
--- /dev/null
+++ b/intern/ghost/intern/GHOST_SystemSDL.cpp
@@ -0,0 +1,617 @@
+/*
+ * $Id$
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_SystemSDL.cpp
+ * \ingroup GHOST
+ */
+
+#include <assert.h>
+
+#include "GHOST_SystemSDL.h"
+
+#include "GHOST_WindowManager.h"
+
+#include "GHOST_EventCursor.h"
+#include "GHOST_EventKey.h"
+#include "GHOST_EventButton.h"
+#include "GHOST_EventWheel.h"
+
+GHOST_SystemSDL::GHOST_SystemSDL()
+ :
+ GHOST_System()
+{
+ if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER) != 0) {
+ printf ("Error initializing SDL: %s\n", SDL_GetError());
+ }
+
+ /* SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1); */
+ /* SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); */
+ SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
+ SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
+ SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
+}
+
+GHOST_SystemSDL::~GHOST_SystemSDL()
+{
+ SDL_Quit();
+}
+
+GHOST_IWindow *
+GHOST_SystemSDL::createWindow(const STR_String& title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ GHOST_TDrawingContextType type,
+ bool stereoVisual,
+ const GHOST_TUns16 numOfAASamples,
+ const GHOST_TEmbedderWindowID parentWindow
+ )
+{
+ GHOST_WindowSDL *window= NULL;
+
+ window= new GHOST_WindowSDL (this, title, left, top, width, height, state, parentWindow, type, stereoVisual, 1);
+
+ if (window) {
+ if (window->getValid()) {
+ m_windowManager->addWindow(window);
+ pushEvent(new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowSize, window));
+ }
+ else {
+ delete window;
+ window= NULL;
+ }
+ }
+ return window;
+}
+
+GHOST_TSuccess
+GHOST_SystemSDL::init() {
+ GHOST_TSuccess success = GHOST_System::init();
+
+ if (success) {
+ m_displayManager = new GHOST_DisplayManagerSDL(this);
+
+ if (m_displayManager) {
+ return GHOST_kSuccess;
+ }
+ }
+
+ return GHOST_kFailure;
+}
+
+void
+GHOST_SystemSDL::getMainDisplayDimensions(GHOST_TUns32& width,
+ GHOST_TUns32& height) const
+{
+ SDL_DisplayMode mode;
+ SDL_GetCurrentDisplayMode(0, &mode); /* note, always 0 display */
+ width= mode.w;
+ height= mode.h;
+}
+
+GHOST_TUns8
+GHOST_SystemSDL::getNumDisplays() const
+{
+ return SDL_GetNumVideoDisplays();
+}
+
+GHOST_TSuccess
+GHOST_SystemSDL::getModifierKeys(GHOST_ModifierKeys& keys) const
+{
+ SDL_Keymod mod= SDL_GetModState();
+
+ keys.set(GHOST_kModifierKeyLeftShift, (mod & KMOD_LSHIFT) != 0);
+ keys.set(GHOST_kModifierKeyRightShift, (mod & KMOD_RSHIFT) != 0);
+ keys.set(GHOST_kModifierKeyLeftControl, (mod & KMOD_LCTRL) != 0);
+ keys.set(GHOST_kModifierKeyRightControl, (mod & KMOD_RCTRL) != 0);
+ keys.set(GHOST_kModifierKeyLeftAlt, (mod & KMOD_LALT) != 0);
+ keys.set(GHOST_kModifierKeyRightAlt, (mod & KMOD_RALT) != 0);
+ keys.set(GHOST_kModifierKeyOS, (mod & (KMOD_LGUI|KMOD_RGUI)) != 0);
+
+ return GHOST_kSuccess;
+}
+
+#define GXMAP(k,x,y) case x: k= y; break;
+
+static GHOST_TKey
+convertSDLKey(SDL_Scancode key)
+{
+ GHOST_TKey type;
+
+ if ((key >= SDL_SCANCODE_A) && (key <= SDL_SCANCODE_Z)) {
+ type= GHOST_TKey( key - SDL_SCANCODE_A + int(GHOST_kKeyA));
+ } else if ((key >= SDL_SCANCODE_1) && (key <= SDL_SCANCODE_0)) {
+ type= (key == SDL_SCANCODE_0) ? GHOST_kKey0 : GHOST_TKey(key - SDL_SCANCODE_1 + int(GHOST_kKey1));
+ } else if ((key >= SDL_SCANCODE_F1) && (key <= SDL_SCANCODE_F12)) {
+ type= GHOST_TKey(key - SDL_SCANCODE_F1 + int(GHOST_kKeyF1));
+ } else if ((key >= SDL_SCANCODE_F13) && (key <= SDL_SCANCODE_F24)) {
+ type= GHOST_TKey(key - SDL_SCANCODE_F13 + int(GHOST_kKeyF13));
+ } else {
+ switch(key) {
+ /* TODO SDL_SCANCODE_NONUSBACKSLASH */
+
+ GXMAP(type,SDL_SCANCODE_BACKSPACE, GHOST_kKeyBackSpace);
+ GXMAP(type,SDL_SCANCODE_TAB, GHOST_kKeyTab);
+ GXMAP(type,SDL_SCANCODE_RETURN, GHOST_kKeyEnter);
+ GXMAP(type,SDL_SCANCODE_ESCAPE, GHOST_kKeyEsc);
+ GXMAP(type,SDL_SCANCODE_SPACE, GHOST_kKeySpace);
+
+ GXMAP(type,SDL_SCANCODE_SEMICOLON, GHOST_kKeySemicolon);
+ GXMAP(type,SDL_SCANCODE_PERIOD, GHOST_kKeyPeriod);
+ GXMAP(type,SDL_SCANCODE_COMMA, GHOST_kKeyComma);
+ GXMAP(type,SDL_SCANCODE_APOSTROPHE, GHOST_kKeyQuote);
+ GXMAP(type,SDL_SCANCODE_GRAVE, GHOST_kKeyAccentGrave);
+ GXMAP(type,SDL_SCANCODE_MINUS, GHOST_kKeyMinus);
+ GXMAP(type,SDL_SCANCODE_EQUALS, GHOST_kKeyEqual);
+
+ GXMAP(type,SDL_SCANCODE_SLASH, GHOST_kKeySlash);
+ GXMAP(type,SDL_SCANCODE_BACKSLASH, GHOST_kKeyBackslash);
+ GXMAP(type,SDL_SCANCODE_KP_EQUALS, GHOST_kKeyEqual);
+ GXMAP(type,SDL_SCANCODE_LEFTBRACKET, GHOST_kKeyLeftBracket);
+ GXMAP(type,SDL_SCANCODE_RIGHTBRACKET, GHOST_kKeyRightBracket);
+ GXMAP(type,SDL_SCANCODE_PAUSE, GHOST_kKeyPause);
+
+ GXMAP(type,SDL_SCANCODE_LSHIFT, GHOST_kKeyLeftShift);
+ GXMAP(type,SDL_SCANCODE_RSHIFT, GHOST_kKeyRightShift);
+ GXMAP(type,SDL_SCANCODE_LCTRL, GHOST_kKeyLeftControl);
+ GXMAP(type,SDL_SCANCODE_RCTRL, GHOST_kKeyRightControl);
+ GXMAP(type,SDL_SCANCODE_LALT, GHOST_kKeyLeftAlt);
+ GXMAP(type,SDL_SCANCODE_RALT, GHOST_kKeyRightAlt);
+ GXMAP(type,SDL_SCANCODE_LGUI, GHOST_kKeyOS);
+ GXMAP(type,SDL_SCANCODE_RGUI, GHOST_kKeyOS);
+
+ GXMAP(type,SDL_SCANCODE_INSERT, GHOST_kKeyInsert);
+ GXMAP(type,SDL_SCANCODE_DELETE, GHOST_kKeyDelete);
+ GXMAP(type,SDL_SCANCODE_HOME, GHOST_kKeyHome);
+ GXMAP(type,SDL_SCANCODE_END, GHOST_kKeyEnd);
+ GXMAP(type,SDL_SCANCODE_PAGEUP, GHOST_kKeyUpPage);
+ GXMAP(type,SDL_SCANCODE_PAGEDOWN, GHOST_kKeyDownPage);
+
+ GXMAP(type,SDL_SCANCODE_LEFT, GHOST_kKeyLeftArrow);
+ GXMAP(type,SDL_SCANCODE_RIGHT, GHOST_kKeyRightArrow);
+ GXMAP(type,SDL_SCANCODE_UP, GHOST_kKeyUpArrow);
+ GXMAP(type,SDL_SCANCODE_DOWN, GHOST_kKeyDownArrow);
+
+ GXMAP(type,SDL_SCANCODE_CAPSLOCK, GHOST_kKeyCapsLock);
+ GXMAP(type,SDL_SCANCODE_SCROLLLOCK, GHOST_kKeyScrollLock);
+ GXMAP(type,SDL_SCANCODE_NUMLOCKCLEAR, GHOST_kKeyNumLock);
+ GXMAP(type,SDL_SCANCODE_PRINTSCREEN, GHOST_kKeyPrintScreen);
+
+ /* keypad events */
+
+ /* note, sdl defines a bunch of kp defines I never saw before like
+ * SDL_SCANCODE_KP_PERCENT, SDL_SCANCODE_KP_XOR - campbell */
+ GXMAP(type,SDL_SCANCODE_KP_0, GHOST_kKeyNumpad0);
+ GXMAP(type,SDL_SCANCODE_KP_1, GHOST_kKeyNumpad1);
+ GXMAP(type,SDL_SCANCODE_KP_2, GHOST_kKeyNumpad2);
+ GXMAP(type,SDL_SCANCODE_KP_3, GHOST_kKeyNumpad3);
+ GXMAP(type,SDL_SCANCODE_KP_4, GHOST_kKeyNumpad4);
+ GXMAP(type,SDL_SCANCODE_KP_5, GHOST_kKeyNumpad5);
+ GXMAP(type,SDL_SCANCODE_KP_6, GHOST_kKeyNumpad6);
+ GXMAP(type,SDL_SCANCODE_KP_7, GHOST_kKeyNumpad7);
+ GXMAP(type,SDL_SCANCODE_KP_8, GHOST_kKeyNumpad8);
+ GXMAP(type,SDL_SCANCODE_KP_9, GHOST_kKeyNumpad9);
+ GXMAP(type,SDL_SCANCODE_KP_PERIOD, GHOST_kKeyNumpadPeriod);
+
+ GXMAP(type,SDL_SCANCODE_KP_ENTER, GHOST_kKeyNumpadEnter);
+ GXMAP(type,SDL_SCANCODE_KP_PLUS, GHOST_kKeyNumpadPlus);
+ GXMAP(type,SDL_SCANCODE_KP_MINUS, GHOST_kKeyNumpadMinus);
+ GXMAP(type,SDL_SCANCODE_KP_MULTIPLY, GHOST_kKeyNumpadAsterisk);
+ GXMAP(type,SDL_SCANCODE_KP_DIVIDE, GHOST_kKeyNumpadSlash);
+
+ /* Media keys in some keyboards and laptops with XFree86/Xorg */
+ GXMAP(type,SDL_SCANCODE_AUDIOPLAY, GHOST_kKeyMediaPlay);
+ GXMAP(type,SDL_SCANCODE_AUDIOSTOP, GHOST_kKeyMediaStop);
+ GXMAP(type,SDL_SCANCODE_AUDIOPREV, GHOST_kKeyMediaFirst);
+ // GXMAP(type,XF86XK_AudioRewind, GHOST_kKeyMediaFirst);
+ GXMAP(type,SDL_SCANCODE_AUDIONEXT, GHOST_kKeyMediaLast);
+
+ default:
+ printf("Unknown\n");
+ type= GHOST_kKeyUnknown;
+ break;
+ }
+ }
+
+ return type;
+}
+#undef GXMAP
+
+
+void
+GHOST_SystemSDL::processEvent(SDL_Event *sdl_event)
+{
+ GHOST_Event * g_event= NULL;
+
+ switch(sdl_event->type) {
+ case SDL_WINDOWEVENT:
+ {
+ SDL_WindowEvent &sdl_sub_evt= sdl_event->window;
+ GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID));
+ //assert(window != NULL); // can be NULL on close window.
+
+ switch (sdl_sub_evt.event) {
+ case SDL_WINDOWEVENT_EXPOSED:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowUpdate, window);
+ break;
+ case SDL_WINDOWEVENT_RESIZED:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowSize, window);
+ break;
+ case SDL_WINDOWEVENT_MOVED:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowMove, window);
+ break;
+ case SDL_WINDOWEVENT_FOCUS_GAINED:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowActivate, window);
+ break;
+ case SDL_WINDOWEVENT_FOCUS_LOST:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowDeactivate, window);
+ break;
+ case SDL_WINDOWEVENT_CLOSE:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowClose, window);
+ break;
+ }
+ }
+ break;
+ case SDL_QUIT:
+ g_event= new GHOST_Event(getMilliSeconds(), GHOST_kEventQuit, NULL);
+ break;
+
+ case SDL_MOUSEMOTION:
+ {
+ SDL_MouseMotionEvent &sdl_sub_evt= sdl_event->motion;
+ SDL_Window *sdl_win= SDL_GetWindowFromID(sdl_sub_evt.windowID);
+ GHOST_WindowSDL *window= findGhostWindow(sdl_win);
+ assert(window != NULL);
+
+ int x_win, y_win;
+ SDL_GetWindowPosition(sdl_win, &x_win, &y_win);
+
+ GHOST_TInt32 x_root= sdl_sub_evt.x + x_win;
+ GHOST_TInt32 y_root= sdl_sub_evt.y + y_win;
+
+#if 0
+ if(window->getCursorGrabMode() != GHOST_kGrabDisable && window->getCursorGrabMode() != GHOST_kGrabNormal)
+ {
+ GHOST_TInt32 x_new= x_root;
+ GHOST_TInt32 y_new= y_root;
+ GHOST_TInt32 x_accum, y_accum;
+ GHOST_Rect bounds;
+
+ /* fallback to window bounds */
+ if(window->getCursorGrabBounds(bounds)==GHOST_kFailure)
+ window->getClientBounds(bounds);
+
+ /* could also clamp to screen bounds
+ * wrap with a window outside the view will fail atm */
+ bounds.wrapPoint(x_new, y_new, 8); /* offset of one incase blender is at screen bounds */
+ window->getCursorGrabAccum(x_accum, y_accum);
+
+ // cant use setCursorPosition because the mouse may have no focus!
+ if(x_new != x_root || y_new != y_root) {
+ if (1 ) { //xme.time > m_last_warp) {
+ /* when wrapping we don't need to add an event because the
+ * setCursorPosition call will cause a new event after */
+ SDL_WarpMouseInWindow(sdl_win, x_new - x_win, y_new - y_win); /* wrap */
+ window->setCursorGrabAccum(x_accum + (x_root - x_new), y_accum + (y_root - y_new));
+ // m_last_warp= lastEventTime(xme.time);
+ } else {
+ // setCursorPosition(x_new, y_new); /* wrap but don't accumulate */
+ SDL_WarpMouseInWindow(sdl_win, x_new - x_win, y_new - y_win);
+ }
+
+ g_event = new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, x_new, y_new);
+ }
+ else {
+ g_event = new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, x_root + x_accum, y_root + y_accum);
+ }
+ }
+ else
+#endif
+ {
+ g_event= new GHOST_EventCursor(getMilliSeconds(), GHOST_kEventCursorMove, window, x_root, y_root);
+ }
+ break;
+ }
+ case SDL_MOUSEBUTTONUP:
+ case SDL_MOUSEBUTTONDOWN:
+ {
+ SDL_MouseButtonEvent &sdl_sub_evt= sdl_event->button;
+ GHOST_TButtonMask gbmask= GHOST_kButtonMaskLeft;
+ GHOST_TEventType type= (sdl_sub_evt.state==SDL_PRESSED) ? GHOST_kEventButtonDown : GHOST_kEventButtonUp;
+
+ GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID));
+ assert(window != NULL);
+
+ /* process rest of normal mouse buttons */
+ if(sdl_sub_evt.button == SDL_BUTTON_LEFT)
+ gbmask= GHOST_kButtonMaskLeft;
+ else if(sdl_sub_evt.button == SDL_BUTTON_MIDDLE)
+ gbmask= GHOST_kButtonMaskMiddle;
+ else if(sdl_sub_evt.button == SDL_BUTTON_RIGHT)
+ gbmask= GHOST_kButtonMaskRight;
+ /* these buttons are untested! */
+ else if(sdl_sub_evt.button == SDL_BUTTON_X1)
+ gbmask= GHOST_kButtonMaskButton4;
+ else if(sdl_sub_evt.button == SDL_BUTTON_X2)
+ gbmask= GHOST_kButtonMaskButton5;
+ else
+ break;
+
+ g_event= new GHOST_EventButton(getMilliSeconds(), type, window, gbmask);
+ break;
+ }
+ case SDL_MOUSEWHEEL:
+ {
+ SDL_MouseWheelEvent &sdl_sub_evt= sdl_event->wheel;
+ GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID));
+ assert(window != NULL);
+ g_event= new GHOST_EventWheel(getMilliSeconds(), window, sdl_sub_evt.y);
+ }
+ break;
+ case SDL_KEYDOWN:
+ case SDL_KEYUP:
+ {
+ SDL_KeyboardEvent &sdl_sub_evt= sdl_event->key;
+ SDL_Keycode sym= sdl_sub_evt.keysym.sym;
+ GHOST_TEventType type= (sdl_sub_evt.state == SDL_PRESSED) ? GHOST_kEventKeyDown : GHOST_kEventKeyUp;
+
+ GHOST_WindowSDL *window= findGhostWindow(SDL_GetWindowFromID(sdl_sub_evt.windowID));
+ assert(window != NULL);
+
+ GHOST_TKey gkey= convertSDLKey(sdl_sub_evt.keysym.scancode);
+ /* note, the sdl_sub_evt.keysym.sym is truncated, for unicode support ghost has to be modified */
+ /* printf("%d\n", sym); */
+ if(sym > 127) {
+ switch(sym) {
+ case SDLK_KP_DIVIDE: sym= '/'; break;
+ case SDLK_KP_MULTIPLY: sym= '*'; break;
+ case SDLK_KP_MINUS: sym= '-'; break;
+ case SDLK_KP_PLUS: sym= '+'; break;
+ case SDLK_KP_1: sym= '1'; break;
+ case SDLK_KP_2: sym= '2'; break;
+ case SDLK_KP_3: sym= '3'; break;
+ case SDLK_KP_4: sym= '4'; break;
+ case SDLK_KP_5: sym= '5'; break;
+ case SDLK_KP_6: sym= '6'; break;
+ case SDLK_KP_7: sym= '7'; break;
+ case SDLK_KP_8: sym= '8'; break;
+ case SDLK_KP_9: sym= '9'; break;
+ case SDLK_KP_0: sym= '0'; break;
+ case SDLK_KP_PERIOD: sym= '.'; break;
+ default: sym= 0; break;
+ }
+ }
+ else {
+ if(sdl_sub_evt.keysym.mod & (KMOD_LSHIFT|KMOD_RSHIFT)) {
+ /* lame US keyboard assumptions */
+ if(sym >= 'a' && sym <= ('a' + 32)) {
+ sym -= 32;
+ }
+ else {
+ switch(sym) {
+ case '`': sym= '~'; break;
+ case '1': sym= '!'; break;
+ case '2': sym= '@'; break;
+ case '3': sym= '#'; break;
+ case '4': sym= '$'; break;
+ case '5': sym= '%'; break;
+ case '6': sym= '^'; break;
+ case '7': sym= '&'; break;
+ case '8': sym= '*'; break;
+ case '9': sym= '('; break;
+ case '0': sym= ')'; break;
+ case '-': sym= '_'; break;
+ case '=': sym= '+'; break;
+ case '[': sym= '{'; break;
+ case ']': sym= '}'; break;
+ case '\\': sym= '|'; break;
+ case ';': sym= ':'; break;
+ case '\'': sym= '"'; break;
+ case ',': sym= '<'; break;
+ case '.': sym= '>'; break;
+ case '/': sym= '?'; break;
+ default: break;
+ }
+ }
+ }
+ }
+
+ g_event= new GHOST_EventKey(getMilliSeconds(), type, window, gkey, sym);
+ }
+ break;
+ }
+
+ if (g_event) {
+ pushEvent(g_event);
+ }
+}
+
+GHOST_TSuccess
+GHOST_SystemSDL::getCursorPosition(GHOST_TInt32& x,
+ GHOST_TInt32& y) const
+{
+ int x_win, y_win;
+ SDL_Window *win= SDL_GetMouseFocus();
+ SDL_GetWindowPosition(win, &x_win, &y_win);
+
+ int xi, yi;
+ SDL_GetMouseState(&xi, &yi);
+ x= xi + x_win;
+ y= yi + x_win;
+
+ return GHOST_kSuccess;
+}
+
+GHOST_TSuccess
+GHOST_SystemSDL::setCursorPosition(GHOST_TInt32 x,
+ GHOST_TInt32 y)
+{
+ int x_win, y_win;
+ SDL_Window *win= SDL_GetMouseFocus();
+ SDL_GetWindowPosition(win, &x_win, &y_win);
+
+ SDL_WarpMouseInWindow(win, x - x_win, y - y_win);
+ return GHOST_kSuccess;
+}
+
+bool
+GHOST_SystemSDL::generateWindowExposeEvents()
+{
+ vector<GHOST_WindowSDL *>::iterator w_start= m_dirty_windows.begin();
+ vector<GHOST_WindowSDL *>::const_iterator w_end= m_dirty_windows.end();
+ bool anyProcessed= false;
+
+ for (;w_start != w_end; ++w_start) {
+ GHOST_Event * g_event= new
+ GHOST_Event(
+ getMilliSeconds(),
+ GHOST_kEventWindowUpdate,
+ *w_start
+ );
+
+ (*w_start)->validate();
+
+ if (g_event) {
+ printf("Expose events pushed\n");
+ pushEvent(g_event);
+ anyProcessed= true;
+ }
+ }
+
+ m_dirty_windows.clear();
+ return anyProcessed;
+}
+
+
+bool
+GHOST_SystemSDL::processEvents(bool waitForEvent)
+{
+ // Get all the current events -- translate them into
+ // ghost events and call base class pushEvent() method.
+
+ bool anyProcessed= false;
+
+ do {
+ GHOST_TimerManager* timerMgr= getTimerManager();
+
+ if (waitForEvent && m_dirty_windows.empty() && !SDL_HasEvents(SDL_FIRSTEVENT, SDL_LASTEVENT)) {
+ GHOST_TUns64 next= timerMgr->nextFireTime();
+
+ if (next==GHOST_kFireTimeNever) {
+ SDL_WaitEventTimeout(NULL, -1);
+ //SleepTillEvent(m_display, -1);
+ } else {
+ GHOST_TInt64 maxSleep= next - getMilliSeconds();
+
+ if(maxSleep >= 0) {
+ SDL_WaitEventTimeout(NULL, next - getMilliSeconds());
+ // SleepTillEvent(m_display, next - getMilliSeconds()); // X11
+ }
+ }
+ }
+
+ if (timerMgr->fireTimers(getMilliSeconds())) {
+ anyProcessed= true;
+ }
+
+ SDL_Event sdl_event;
+ while (SDL_PollEvent(&sdl_event)) {
+ processEvent(&sdl_event);
+ anyProcessed= true;
+ }
+
+ if (generateWindowExposeEvents()) {
+ anyProcessed= true;
+ }
+ } while (waitForEvent && !anyProcessed);
+
+ return anyProcessed;
+}
+
+
+GHOST_WindowSDL *
+GHOST_SystemSDL::findGhostWindow(SDL_Window *sdl_win)
+{
+ if (sdl_win == NULL) return NULL;
+
+ // It is not entirely safe to do this as the backptr may point
+ // to a window that has recently been removed.
+ // We should always check the window manager's list of windows
+ // and only process events on these windows.
+
+ vector<GHOST_IWindow *> & win_vec= m_windowManager->getWindows();
+
+ vector<GHOST_IWindow *>::iterator win_it= win_vec.begin();
+ vector<GHOST_IWindow *>::const_iterator win_end= win_vec.end();
+
+ for (; win_it != win_end; ++win_it) {
+ GHOST_WindowSDL * window= static_cast<GHOST_WindowSDL *>(*win_it);
+ if (window->getSDLWindow() == sdl_win) {
+ return window;
+ }
+ }
+ return NULL;
+}
+
+
+void
+GHOST_SystemSDL::addDirtyWindow(GHOST_WindowSDL *bad_wind)
+{
+ GHOST_ASSERT((bad_wind != NULL), "addDirtyWindow() NULL ptr trapped (window)");
+
+ m_dirty_windows.push_back(bad_wind);
+}
+
+
+GHOST_TSuccess GHOST_SystemSDL::getButtons(GHOST_Buttons& buttons) const
+{
+ Uint8 state= SDL_GetMouseState(NULL, NULL);
+ buttons.set(GHOST_kButtonMaskLeft, (state & SDL_BUTTON_LMASK) != 0);
+ buttons.set(GHOST_kButtonMaskMiddle, (state & SDL_BUTTON_MMASK) != 0);
+ buttons.set(GHOST_kButtonMaskRight, (state & SDL_BUTTON_RMASK) != 0);
+
+ return GHOST_kSuccess;
+}
+
+GHOST_TUns8 *
+GHOST_SystemSDL::getClipboard(bool selection) const
+{
+ return (GHOST_TUns8 *)SDL_GetClipboardText();
+}
+
+void
+GHOST_SystemSDL::putClipboard(GHOST_TInt8 *buffer, bool selection) const
+{
+ SDL_SetClipboardText(buffer);
+}
+
+GHOST_TUns64
+GHOST_SystemSDL::getMilliSeconds()
+{
+ return GHOST_TUns64(SDL_GetTicks()); /* note, 32 -> 64bits */
+}
diff --git a/intern/ghost/intern/GHOST_SystemSDL.h b/intern/ghost/intern/GHOST_SystemSDL.h
new file mode 100644
index 00000000000..87d288117c5
--- /dev/null
+++ b/intern/ghost/intern/GHOST_SystemSDL.h
@@ -0,0 +1,126 @@
+/*
+ * $Id$
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_SystemSDL.h
+ * \ingroup GHOST
+ * Declaration of GHOST_SystemSDL class.
+ */
+
+#ifndef _GHOST_SYSTEM_SDL_H_
+#define _GHOST_SYSTEM_SDL_H_
+
+#include "GHOST_System.h"
+#include "../GHOST_Types.h"
+#include "GHOST_DisplayManagerSDL.h"
+#include "GHOST_TimerManager.h"
+#include "GHOST_WindowSDL.h"
+#include "GHOST_Event.h"
+
+extern "C" {
+ #include "SDL.h"
+}
+
+#if !SDL_VERSION_ATLEAST(1, 3, 0)
+# error "SDL 1.3 or newer is needed to build with Ghost"
+#endif
+
+
+class GHOST_WindowSDL;
+
+
+class GHOST_SystemSDL : public GHOST_System {
+public:
+
+ void addDirtyWindow(GHOST_WindowSDL *bad_wind);
+
+ GHOST_SystemSDL();
+ ~GHOST_SystemSDL();
+
+ bool
+ processEvents(bool waitForEvent);
+
+ int
+ toggleConsole(int action) { return 0; }
+
+ GHOST_TSuccess
+ getModifierKeys(GHOST_ModifierKeys& keys) const;
+
+ GHOST_TSuccess
+ getButtons(GHOST_Buttons& buttons) const;
+
+ GHOST_TUns8 *
+ getClipboard(bool selection) const;
+
+ void
+ putClipboard(GHOST_TInt8 *buffer, bool selection) const;
+
+ GHOST_TUns64
+ getMilliSeconds();
+
+ GHOST_TUns8
+ getNumDisplays() const;
+
+ GHOST_TSuccess
+ getCursorPosition(GHOST_TInt32& x,
+ GHOST_TInt32& y) const;
+
+ GHOST_TSuccess
+ setCursorPosition(GHOST_TInt32 x,
+ GHOST_TInt32 y);
+
+ void
+ getMainDisplayDimensions(GHOST_TUns32& width,
+ GHOST_TUns32& height) const;
+
+private:
+
+ GHOST_TSuccess
+ init();
+
+ GHOST_IWindow *
+ createWindow(const STR_String& title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ GHOST_TDrawingContextType type,
+ bool stereoVisual,
+ const GHOST_TUns16 numOfAASamples,
+ const GHOST_TEmbedderWindowID parentWindow
+ );
+
+ /* SDL spesific */
+ GHOST_WindowSDL * findGhostWindow(SDL_Window *sdl_win);
+
+ bool
+ generateWindowExposeEvents();
+
+ void
+ processEvent(SDL_Event *sdl_event);
+
+ /// The vector of windows that need to be updated.
+ std::vector<GHOST_WindowSDL *> m_dirty_windows;
+};
+
+#endif
diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp
index 143f7e97f2d..38f3985b139 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.cpp
+++ b/intern/ghost/intern/GHOST_SystemWin32.cpp
@@ -39,22 +39,20 @@
* @date May 7, 2001
*/
+#ifdef BF_GHOST_DEBUG
#include <iostream>
-
-#ifdef FREE_WINDOWS
-# define WINVER 0x0501 /* GetConsoleWindow() for MinGW */
#endif
+#include <stdio.h> // [mce] temporary debug, remove soon!
+
#include "GHOST_SystemWin32.h"
#include "GHOST_EventDragnDrop.h"
-#define WIN32_LEAN_AND_MEAN
-#ifdef _WIN32_IE
-#undef _WIN32_IE
+#ifndef _WIN32_IE
+#define _WIN32_IE 0x0501 /* shipped before XP, so doesn't impose additional requirements */
#endif
-#define _WIN32_IE 0x0501
-#include <windows.h>
#include <shlobj.h>
+#include <tlhelp32.h>
// win64 doesn't define GWL_USERDATA
#ifdef WIN32
@@ -64,48 +62,19 @@
#endif
#endif
-/*
- * According to the docs the mouse wheel message is supported from windows 98
- * upwards. Leaving WINVER at default value, the WM_MOUSEWHEEL message and the
- * wheel detent value are undefined.
- */
-#ifndef WM_MOUSEWHEEL
-#define WM_MOUSEWHEEL 0x020A
-#endif // WM_MOUSEWHEEL
-#ifndef WHEEL_DELTA
-#define WHEEL_DELTA 120 /* Value for rolling one detent, (old convention! MS changed it) */
-#endif // WHEEL_DELTA
-
-/*
- * Defines for mouse buttons 4 and 5 aka xbutton1 and xbutton2.
- * MSDN: Declared in Winuser.h, include Windows.h
- * This does not seem to work with MinGW so we define our own here.
- */
-#ifndef XBUTTON1
-#define XBUTTON1 0x0001
-#endif // XBUTTON1
-#ifndef XBUTTON2
-#define XBUTTON2 0x0002
-#endif // XBUTTON2
-#ifndef WM_XBUTTONUP
-#define WM_XBUTTONUP 524
-#endif // WM_XBUTTONUP
-#ifndef WM_XBUTTONDOWN
-#define WM_XBUTTONDOWN 523
-#endif // WM_XBUTTONDOWN
-
-#include "GHOST_Debug.h"
#include "GHOST_DisplayManagerWin32.h"
#include "GHOST_EventButton.h"
#include "GHOST_EventCursor.h"
#include "GHOST_EventKey.h"
#include "GHOST_EventWheel.h"
-#include "GHOST_EventNDOF.h"
#include "GHOST_TimerTask.h"
#include "GHOST_TimerManager.h"
#include "GHOST_WindowManager.h"
#include "GHOST_WindowWin32.h"
-#include "GHOST_NDOFManager.h"
+
+#ifdef WITH_INPUT_NDOF
+#include "GHOST_NDOFManagerWin32.h"
+#endif
// Key code values not found in winuser.h
#ifndef VK_MINUS
@@ -158,18 +127,35 @@
#define VK_MEDIA_PLAY_PAUSE 0xB3
#endif // VK_MEDIA_PLAY_PAUSE
-/*
- Initiates WM_INPUT messages from keyboard
- That way GHOST can retrieve true keys
-*/
-GHOST_TInt32 GHOST_SystemWin32::initKeyboardRawInput(void)
+static void initRawInput()
{
- RAWINPUTDEVICE device = {0};
- device.usUsagePage = 0x01; /* usUsagePage & usUsage for keyboard*/
- device.usUsage = 0x06; /* http://msdn.microsoft.com/en-us/windows/hardware/gg487473.aspx */
+#ifdef WITH_INPUT_NDOF
+#define DEVICE_COUNT 2
+#else
+#define DEVICE_COUNT 1
+#endif
+
+ RAWINPUTDEVICE devices[DEVICE_COUNT];
+ memset(devices, 0, DEVICE_COUNT * sizeof(RAWINPUTDEVICE));
- return RegisterRawInputDevices(&device, 1, sizeof(device));
-};
+ // Initiates WM_INPUT messages from keyboard
+ // That way GHOST can retrieve true keys
+ devices[0].usUsagePage = 0x01;
+ devices[0].usUsage = 0x06; /* http://msdn.microsoft.com/en-us/windows/hardware/gg487473.aspx */
+
+#ifdef WITH_INPUT_NDOF
+ // multi-axis mouse (SpaceNavigator, etc.)
+ devices[1].usUsagePage = 0x01;
+ devices[1].usUsage = 0x08;
+#endif
+
+ if (RegisterRawInputDevices(devices, DEVICE_COUNT, sizeof(RAWINPUTDEVICE)))
+ ; // yay!
+ else
+ printf("could not register for RawInput: %d\n", (int)GetLastError());
+
+#undef DEVICE_COUNT
+}
GHOST_SystemWin32::GHOST_SystemWin32()
: m_hasPerformanceCounter(false), m_freq(0), m_start(0)
@@ -186,6 +172,10 @@ GHOST_SystemWin32::GHOST_SystemWin32()
this->handleKeyboardChange();
// Require COM for GHOST_DropTargetWin32 created in GHOST_WindowWin32.
OleInitialize(0);
+
+#ifdef WITH_INPUT_NDOF
+ m_ndofManager = new GHOST_NDOFManagerWin32(*this);
+#endif
}
GHOST_SystemWin32::~GHOST_SystemWin32()
@@ -244,6 +234,7 @@ GHOST_IWindow* GHOST_SystemWin32::createWindow(
// Store the pointer to the window
// if (state != GHOST_kWindowStateFullScreen) {
m_windowManager->addWindow(window);
+ m_windowManager->setActiveWindow(window);
// }
}
else {
@@ -384,22 +375,15 @@ GHOST_TSuccess GHOST_SystemWin32::init()
GHOST_TSuccess success = GHOST_System::init();
/* Disable scaling on high DPI displays on Vista */
+ HMODULE
user32 = ::LoadLibraryA("user32.dll");
typedef BOOL (WINAPI * LPFNSETPROCESSDPIAWARE)();
LPFNSETPROCESSDPIAWARE SetProcessDPIAware =
(LPFNSETPROCESSDPIAWARE)GetProcAddress(user32, "SetProcessDPIAware");
if (SetProcessDPIAware)
SetProcessDPIAware();
- #ifdef NEED_RAW_PROC
- pRegisterRawInputDevices = (LPFNDLLRRID)GetProcAddress(user32, "RegisterRawInputDevices");
- pGetRawInputData = (LPFNDLLGRID)GetProcAddress(user32, "GetRawInputData");
- #else
- FreeLibrary(user32);
- #endif
-
- /* Initiates WM_INPUT messages from keyboard */
- initKeyboardRawInput();
-
+ FreeLibrary(user32);
+ initRawInput();
// Determine whether this system has a high frequency performance counter. */
m_hasPerformanceCounter = ::QueryPerformanceFrequency((LARGE_INTEGER*)&m_freq) == TRUE;
@@ -440,104 +424,84 @@ GHOST_TSuccess GHOST_SystemWin32::init()
GHOST_TSuccess GHOST_SystemWin32::exit()
{
- #ifdef NEED_RAW_PROC
- FreeLibrary(user32);
- #endif
-
return GHOST_System::exit();
}
-GHOST_TKey GHOST_SystemWin32::hardKey(GHOST_IWindow *window, WPARAM wParam, LPARAM lParam, int * keyDown, char * vk)
+GHOST_TKey GHOST_SystemWin32::hardKey(GHOST_IWindow *window, RAWINPUT const& raw, int * keyDown, char * vk)
{
- unsigned int size = 0;
- char * data;
GHOST_TKey key = GHOST_kKeyUnknown;
if(!keyDown)
return GHOST_kKeyUnknown;
- GetRawInputData((HRAWINPUT)lParam, RID_INPUT, 0, &size, sizeof(RAWINPUTHEADER));
+ GHOST_SystemWin32 *system = (GHOST_SystemWin32 *)getSystem();
- if((data = (char*)malloc(size)) &&
- GetRawInputData((HRAWINPUT)lParam, RID_INPUT, data, &size, sizeof(RAWINPUTHEADER)))
+ GHOST_ModifierKeys modifiers;
+ system->retrieveModifierKeys(modifiers);
+
+ *keyDown = !(raw.data.keyboard.Flags & RI_KEY_BREAK);
+ key = this->convertKey(window, raw.data.keyboard.VKey, raw.data.keyboard.MakeCode, (raw.data.keyboard.Flags&(RI_KEY_E1|RI_KEY_E0)));
+
+ // extra handling of modifier keys: don't send repeats out from GHOST
+ if(key >= GHOST_kKeyLeftShift && key <= GHOST_kKeyRightAlt)
{
- RAWINPUT ri;
- memcpy(&ri,data,(size < sizeof(ri)) ? size : sizeof(ri));
-
- if (ri.header.dwType == RIM_TYPEKEYBOARD)
- {
- GHOST_SystemWin32 *system = (GHOST_SystemWin32 *)getSystem();
-
- GHOST_ModifierKeys modifiers;
- system->retrieveModifierKeys(modifiers);
-
- *keyDown = !(ri.data.keyboard.Flags & RI_KEY_BREAK);
- key = this->convertKey(window, ri.data.keyboard.VKey, ri.data.keyboard.MakeCode, (ri.data.keyboard.Flags&(RI_KEY_E1|RI_KEY_E0)));
-
- // extra handling of modifier keys: don't send repeats out from GHOST
- if(key >= GHOST_kKeyLeftShift && key <= GHOST_kKeyRightAlt)
- {
- bool changed = false;
- GHOST_TModifierKeyMask modifier;
- switch(key) {
- case GHOST_kKeyLeftShift:
- {
- changed = (modifiers.get(GHOST_kModifierKeyLeftShift) != (bool)*keyDown);
- modifier = GHOST_kModifierKeyLeftShift;
- }
- break;
- case GHOST_kKeyRightShift:
- {
- changed = (modifiers.get(GHOST_kModifierKeyRightShift) != (bool)*keyDown);
- modifier = GHOST_kModifierKeyRightShift;
- }
- break;
- case GHOST_kKeyLeftControl:
- {
- changed = (modifiers.get(GHOST_kModifierKeyLeftControl) != (bool)*keyDown);
- modifier = GHOST_kModifierKeyLeftControl;
- }
- break;
- case GHOST_kKeyRightControl:
- {
- changed = (modifiers.get(GHOST_kModifierKeyRightControl) != (bool)*keyDown);
- modifier = GHOST_kModifierKeyRightControl;
- }
- break;
- case GHOST_kKeyLeftAlt:
- {
- changed = (modifiers.get(GHOST_kModifierKeyLeftAlt) != (bool)*keyDown);
- modifier = GHOST_kModifierKeyLeftAlt;
- }
- break;
- case GHOST_kKeyRightAlt:
- {
- changed = (modifiers.get(GHOST_kModifierKeyRightAlt) != (bool)*keyDown);
- modifier = GHOST_kModifierKeyRightAlt;
- }
- break;
- default: break;
+ bool changed = false;
+ GHOST_TModifierKeyMask modifier;
+ switch(key) {
+ case GHOST_kKeyLeftShift:
+ {
+ changed = (modifiers.get(GHOST_kModifierKeyLeftShift) != (bool)*keyDown);
+ modifier = GHOST_kModifierKeyLeftShift;
}
-
- if(changed)
+ break;
+ case GHOST_kKeyRightShift:
{
- modifiers.set(modifier, (bool)*keyDown);
- system->storeModifierKeys(modifiers);
+ changed = (modifiers.get(GHOST_kModifierKeyRightShift) != (bool)*keyDown);
+ modifier = GHOST_kModifierKeyRightShift;
}
- else
+ break;
+ case GHOST_kKeyLeftControl:
{
- key = GHOST_kKeyUnknown;
+ changed = (modifiers.get(GHOST_kModifierKeyLeftControl) != (bool)*keyDown);
+ modifier = GHOST_kModifierKeyLeftControl;
}
- }
-
+ break;
+ case GHOST_kKeyRightControl:
+ {
+ changed = (modifiers.get(GHOST_kModifierKeyRightControl) != (bool)*keyDown);
+ modifier = GHOST_kModifierKeyRightControl;
+ }
+ break;
+ case GHOST_kKeyLeftAlt:
+ {
+ changed = (modifiers.get(GHOST_kModifierKeyLeftAlt) != (bool)*keyDown);
+ modifier = GHOST_kModifierKeyLeftAlt;
+ }
+ break;
+ case GHOST_kKeyRightAlt:
+ {
+ changed = (modifiers.get(GHOST_kModifierKeyRightAlt) != (bool)*keyDown);
+ modifier = GHOST_kModifierKeyRightAlt;
+ }
+ break;
+ default: break;
+ }
+
+ if(changed)
+ {
+ modifiers.set(modifier, (bool)*keyDown);
+ system->storeModifierKeys(modifiers);
+ }
+ else
+ {
+ key = GHOST_kKeyUnknown;
+ }
+ }
- if(vk) *vk = ri.data.keyboard.VKey;
- };
- };
- free(data);
+ if(vk) *vk = raw.data.keyboard.VKey;
return key;
}
@@ -741,12 +705,12 @@ GHOST_EventWheel* GHOST_SystemWin32::processWheelEvent(GHOST_IWindow *window, WP
}
-GHOST_EventKey* GHOST_SystemWin32::processKeyEvent(GHOST_IWindow *window, WPARAM wParam, LPARAM lParam)
+GHOST_EventKey* GHOST_SystemWin32::processKeyEvent(GHOST_IWindow *window, RAWINPUT const& raw)
{
int keyDown=0;
char vk;
GHOST_SystemWin32 * system = (GHOST_SystemWin32 *)getSystem();
- GHOST_TKey key = system->hardKey(window, wParam, lParam, &keyDown, &vk);
+ GHOST_TKey key = system->hardKey(window, raw, &keyDown, &vk);
GHOST_EventKey* event;
if (key != GHOST_kKeyUnknown) {
char ascii = '\0';
@@ -763,7 +727,7 @@ GHOST_EventKey* GHOST_SystemWin32::processKeyEvent(GHOST_IWindow *window, WPARAM
event = new GHOST_EventKey(system->getMilliSeconds(), keyDown ? GHOST_kEventKeyDown: GHOST_kEventKeyUp, window, key, ascii);
-#ifdef BF_GHOST_DEBUG
+#ifdef GHOST_DEBUG
std::cout << ascii << std::endl;
#endif
}
@@ -776,7 +740,13 @@ GHOST_EventKey* GHOST_SystemWin32::processKeyEvent(GHOST_IWindow *window, WPARAM
GHOST_Event* GHOST_SystemWin32::processWindowEvent(GHOST_TEventType type, GHOST_IWindow* window)
{
- return new GHOST_Event(getSystem()->getMilliSeconds(), type, window);
+ GHOST_System* system = (GHOST_System*)getSystem();
+
+ if (type == GHOST_kEventWindowActivate) {
+ system->getWindowManager()->setActiveWindow(window);
+ }
+
+ return new GHOST_Event(system->getMilliSeconds(), type, window);
}
GHOST_TSuccess GHOST_SystemWin32::pushDragDropEvent(GHOST_TEventType eventType,
@@ -799,9 +769,95 @@ void GHOST_SystemWin32::processMinMaxInfo(MINMAXINFO * minmax)
minmax->ptMinTrackSize.y=240;
}
+#ifdef WITH_INPUT_NDOF
+bool GHOST_SystemWin32::processNDOF(RAWINPUT const& raw)
+{
+ bool eventSent = false;
+ GHOST_TUns64 now = getMilliSeconds();
+
+ static bool firstEvent = true;
+ if (firstEvent) { // determine exactly which device is plugged in
+ RID_DEVICE_INFO info;
+ unsigned infoSize = sizeof(RID_DEVICE_INFO);
+ info.cbSize = infoSize;
+
+ GetRawInputDeviceInfo(raw.header.hDevice, RIDI_DEVICEINFO, &info, &infoSize);
+ if (info.dwType == RIM_TYPEHID)
+ m_ndofManager->setDevice(info.hid.dwVendorId, info.hid.dwProductId);
+ else
+ puts("<!> not a HID device... mouse/kb perhaps?");
+
+ firstEvent = false;
+ }
+
+ // The NDOF manager sends button changes immediately, and *pretends* to
+ // send motion. Mark as 'sent' so motion will always get dispatched.
+ eventSent = true;
+
+#ifdef _MSC_VER
+ // using Microsoft compiler & header files
+ // they invented the RawInput API, so this version is (probably) correct
+ BYTE const* data = raw.data.hid.bRawData;
+ // struct RAWHID {
+ // DWORD dwSizeHid;
+ // DWORD dwCount;
+ // BYTE bRawData[1];
+ // };
+#else
+ // MinGW's definition (below) doesn't agree, so we need a slight
+ // workaround until it's fixed
+ BYTE const* data = &raw.data.hid.bRawData;
+ // struct RAWHID {
+ // DWORD dwSizeHid;
+ // DWORD dwCount;
+ // BYTE bRawData; // <== isn't this s'posed to be a BYTE*?
+ // };
+#endif
+
+ BYTE packetType = data[0];
+ switch (packetType)
+ {
+ case 1: // translation
+ {
+ short* axis = (short*)(data + 1);
+ // massage into blender view coords (same goes for rotation)
+ short t[3] = {axis[0], -axis[2], axis[1]};
+ m_ndofManager->updateTranslation(t, now);
+
+ if (raw.data.hid.dwSizeHid == 13)
+ { // this report also includes rotation
+ short r[3] = {-axis[3], axis[5], -axis[4]};
+ m_ndofManager->updateRotation(r, now);
+
+ // I've never gotten one of these, has anyone else?
+ puts("ndof: combined T + R");
+ }
+ break;
+ }
+ case 2: // rotation
+ {
+ short* axis = (short*)(data + 1);
+ short r[3] = {-axis[0], axis[2], -axis[1]};
+ m_ndofManager->updateRotation(r, now);
+ break;
+ }
+ case 3: // buttons
+ {
+ int button_bits;
+ memcpy(&button_bits, data + 1, sizeof(button_bits));
+ m_ndofManager->updateButtons(button_bits, now);
+ break;
+ }
+ }
+ return eventSent;
+}
+#endif // WITH_INPUT_NDOF
+
LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
GHOST_Event* event = 0;
+ bool eventHandled = false;
+
LRESULT lResult = 0;
GHOST_SystemWin32* system = ((GHOST_SystemWin32*)getSystem());
GHOST_ASSERT(system, "GHOST_SystemWin32::s_wndProc(): system not initialized")
@@ -818,18 +874,38 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
// Keyboard events, processed
////////////////////////////////////////////////////////////////////////
case WM_INPUT:
+ {
// check WM_INPUT from input sink when ghost window is not in the foreground
if (wParam == RIM_INPUTSINK) {
if (GetFocus() != hwnd) // WM_INPUT message not for this window
return 0;
- } //else wPAram == RIM_INPUT
- event = processKeyEvent(window, wParam, lParam);
- if (!event) {
- GHOST_PRINT("GHOST_SystemWin32::wndProc: key event ")
- GHOST_PRINT(msg)
- GHOST_PRINT(" key ignored\n")
+ } //else wParam == RIM_INPUT
+
+ RAWINPUT raw;
+ RAWINPUT* raw_ptr = &raw;
+ UINT rawSize = sizeof(RAWINPUT);
+
+ GetRawInputData((HRAWINPUT)lParam, RID_INPUT, raw_ptr, &rawSize, sizeof(RAWINPUTHEADER));
+
+ switch (raw.header.dwType)
+ {
+ case RIM_TYPEKEYBOARD:
+ event = processKeyEvent(window, raw);
+ if (!event) {
+ GHOST_PRINT("GHOST_SystemWin32::wndProc: key event ")
+ GHOST_PRINT(msg)
+ GHOST_PRINT(" key ignored\n")
+ }
+ break;
+#ifdef WITH_INPUT_NDOF
+ case RIM_TYPEHID:
+ if (system->processNDOF(raw))
+ eventHandled = true;
+ break;
+#endif
}
- break;
+ break;
+ }
////////////////////////////////////////////////////////////////////////
// Keyboard events, ignored
////////////////////////////////////////////////////////////////////////
@@ -839,9 +915,9 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
case WM_SYSKEYUP:
/* These functions were replaced by WM_INPUT*/
case WM_CHAR:
- /* The WM_CHAR message is posted to the window with the keyboard focus when
- * a WM_KEYDOWN message is translated by the TranslateMessage function. WM_CHAR
- * contains the character code of the key that was pressed.
+ /* The WM_CHAR message is posted to the window with the keyboard focus when
+ * a WM_KEYDOWN message is translated by the TranslateMessage function. WM_CHAR
+ * contains the character code of the key that was pressed.
*/
case WM_DEADCHAR:
/* The WM_DEADCHAR message is posted to the window with the keyboard focus when a
@@ -989,11 +1065,16 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
* procedure of the top-level window being activated. If the windows use different input queues,
* the message is sent asynchronously, so the window is activated immediately.
*/
+ {
+ GHOST_ModifierKeys modifiers;
+ modifiers.clear();
+ system->storeModifierKeys(modifiers);
event = processWindowEvent(LOWORD(wParam) ? GHOST_kEventWindowActivate : GHOST_kEventWindowDeactivate, window);
/* WARNING: Let DefWindowProc handle WM_ACTIVATE, otherwise WM_MOUSEWHEEL
will not be dispatched to OUR active window if we minimize one of OUR windows. */
lResult = ::DefWindowProc(hwnd, msg, wParam, lParam);
break;
+ }
case WM_PAINT:
/* An application sends the WM_PAINT message when the system or another application
* makes a request to paint a portion of an application's window. The message is sent
@@ -1122,28 +1203,6 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
* In GHOST, we let DefWindowProc call the timer callback.
*/
break;
- case WM_BLND_NDOF_AXIS:
- {
- GHOST_TEventNDOFData ndofdata;
- system->m_ndofManager->GHOST_NDOFGetDatas(ndofdata);
- system->m_eventManager->
- pushEvent(new GHOST_EventNDOF(
- system->getMilliSeconds(),
- GHOST_kEventNDOFMotion,
- window, ndofdata));
- }
- break;
- case WM_BLND_NDOF_BTN:
- {
- GHOST_TEventNDOFData ndofdata;
- system->m_ndofManager->GHOST_NDOFGetDatas(ndofdata);
- system->m_eventManager->
- pushEvent(new GHOST_EventNDOF(
- system->getMilliSeconds(),
- GHOST_kEventNDOFButton,
- window, ndofdata));
- }
- break;
}
}
else {
@@ -1165,10 +1224,12 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
if (event) {
system->pushEvent(event);
+ eventHandled = true;
}
- else {
+
+ if (!eventHandled)
lResult = ::DefWindowProc(hwnd, msg, wParam, lParam);
- }
+
return lResult;
}
@@ -1237,8 +1298,32 @@ int GHOST_SystemWin32::toggleConsole(int action)
{
case 3: //hide if no console
{
- CONSOLE_SCREEN_BUFFER_INFO csbi = {{0}};
- if(!GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi) || csbi.dwCursorPosition.X || csbi.dwCursorPosition.Y>1)
+ DWORD sp = GetCurrentProcessId();
+ HANDLE ptree = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
+ PROCESSENTRY32 e = {0}; e.dwSize = sizeof(PROCESSENTRY32);
+
+ if( Process32First(ptree, &e)) {
+ do { //Searches for Blender's PROCESSENTRY32
+ if (e.th32ProcessID == sp) {
+ sp = e.th32ParentProcessID;
+ Process32First(ptree, &e);
+ do { //Got parent id, searches for its PROCESSENTRY32
+ if (e.th32ProcessID == sp) {
+ if(strcmp("explorer.exe",e.szExeFile)==0)
+ { //If explorer, hide cmd
+ ShowWindow(GetConsoleWindow(),SW_HIDE);
+ m_consoleStatus = 0;
+ }
+ break;
+ }
+
+ } while( Process32Next(ptree, &e));
+ break;
+ }
+ } while( Process32Next(ptree, &e));
+ }
+
+ CloseHandle(ptree);
break;
}
case 0: //hide
diff --git a/intern/ghost/intern/GHOST_SystemWin32.h b/intern/ghost/intern/GHOST_SystemWin32.h
index 729ad56d875..858312b3eb1 100644
--- a/intern/ghost/intern/GHOST_SystemWin32.h
+++ b/intern/ghost/intern/GHOST_SystemWin32.h
@@ -38,7 +38,10 @@
#error WIN32 only!
#endif // WIN32
+#define _WIN32_WINNT 0x501 // require Windows XP or newer
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
+#include <ole2.h> // for drag-n-drop
#include "GHOST_System.h"
@@ -46,95 +49,6 @@
# define __int64 long long
#endif
-#ifndef WM_INPUT
-#define WM_INPUT 0x00FF
-#endif
-#ifndef RID_INPUT
-#define RID_INPUT 0x10000003
-#endif
-#ifndef RIM_INPUTSINK
-#define RIM_INPUTSINK 0x1
-#endif
-#ifndef RI_KEY_BREAK
-#define RI_KEY_BREAK 0x1
-#endif
-#ifndef RI_KEY_E0
-#define RI_KEY_E0 0x2
-#endif
-#ifndef RI_KEY_E1
-#define RI_KEY_E1 0x4
-#endif
-#ifndef RIM_TYPEMOUSE
-#define RIM_TYPEMOUSE 0x0
-#define RIM_TYPEKEYBOARD 0x1
-#define RIM_TYPEHID 0x2
-
-typedef struct tagRAWINPUTDEVICE {
- USHORT usUsagePage;
- USHORT usUsage;
- DWORD dwFlags;
- HWND hwndTarget;
-} RAWINPUTDEVICE;
-
-
-
-typedef struct tagRAWINPUTHEADER {
- DWORD dwType;
- DWORD dwSize;
- HANDLE hDevice;
- WPARAM wParam;
-} RAWINPUTHEADER;
-
-typedef struct tagRAWMOUSE {
- USHORT usFlags;
- union {
- ULONG ulButtons;
- struct {
- USHORT usButtonFlags;
- USHORT usButtonData;
- };
- };
- ULONG ulRawButtons;
- LONG lLastX;
- LONG lLastY;
- ULONG ulExtraInformation;
-} RAWMOUSE;
-
-typedef struct tagRAWKEYBOARD {
- USHORT MakeCode;
- USHORT Flags;
- USHORT Reserved;
- USHORT VKey;
- UINT Message;
- ULONG ExtraInformation;
-} RAWKEYBOARD;
-
-typedef struct tagRAWHID {
- DWORD dwSizeHid;
- DWORD dwCount;
- BYTE bRawData[1];
-} RAWHID;
-
-typedef struct tagRAWINPUT {
- RAWINPUTHEADER header;
- union {
- RAWMOUSE mouse;
- RAWKEYBOARD keyboard;
- RAWHID hid;
- } data;
-} RAWINPUT;
-
-DECLARE_HANDLE(HRAWINPUT);
-#endif
-
-#ifdef FREE_WINDOWS
-#define NEED_RAW_PROC
-typedef BOOL (WINAPI * LPFNDLLRRID)(RAWINPUTDEVICE*,UINT, UINT);
-
-typedef UINT (WINAPI * LPFNDLLGRID)(HRAWINPUT, UINT, LPVOID, PUINT, UINT);
-#define GetRawInputData(hRawInput, uiCommand, pData, pcbSize, cbSizeHeader) ((pGetRawInputData)?pGetRawInputData(hRawInput, uiCommand, pData, pcbSize, cbSizeHeader):(UINT)-1)
-#endif
-
class GHOST_EventButton;
class GHOST_EventCursor;
class GHOST_EventKey;
@@ -314,14 +228,13 @@ protected:
/**
* Catches raw WIN32 key codes from WM_INPUT in the wndproc.
- * @param window-> The window for this handling
- * @param wParam The wParam from the wndproc
- * @param lParam The lParam from the wndproc
+ * @param window The window for this handling
+ * @param raw RawInput structure with detailed info about the key event
* @param keyDown Pointer flag that specify if a key is down
* @param vk Pointer to virtual key
* @return The GHOST key (GHOST_kKeyUnknown if no match).
*/
- virtual GHOST_TKey hardKey(GHOST_IWindow *window, WPARAM wParam, LPARAM lParam, int * keyDown, char * vk);
+ virtual GHOST_TKey hardKey(GHOST_IWindow *window, RAWINPUT const& raw, int * keyDown, char * vk);
/**
* Creates modifier key event(s) and updates the key data stored locally (m_modifierKeys).
@@ -362,10 +275,9 @@ protected:
* In most cases this is a straightforward conversion of key codes.
* For the modifier keys however, we want to distinguish left and right keys.
* @param window The window receiving the event (the active window).
- * @param wParam The wParam from the wndproc
- * @param lParam The lParam from the wndproc
+ * @param raw RawInput structure with detailed info about the key event
*/
- static GHOST_EventKey* processKeyEvent(GHOST_IWindow *window, WPARAM wParam, LPARAM lParam);
+ static GHOST_EventKey* processKeyEvent(GHOST_IWindow *window, RAWINPUT const& raw);
/**
* Process special keys (VK_OEM_*), to see if current key layout
@@ -383,12 +295,24 @@ protected:
* @return The event created.
*/
static GHOST_Event* processWindowEvent(GHOST_TEventType type, GHOST_IWindow* window);
- /**
+
+ /**
* Handles minimum window size.
* @param minmax The MINMAXINFO structure.
*/
static void processMinMaxInfo(MINMAXINFO * minmax);
-
+
+#ifdef WITH_INPUT_NDOF
+ /**
+ * Handles Motion and Button events from a SpaceNavigator or related device.
+ * Instead of returning an event object, this function communicates directly
+ * with the GHOST_NDOFManager.
+ * @param raw RawInput structure with detailed info about the NDOF event
+ * @return Whether an event was generated and sent.
+ */
+ bool processNDOF(RAWINPUT const& raw);
+#endif
+
/**
* Returns the local state of the modifier keys (from the message queue).
* @param keys The state of the keys.
@@ -413,11 +337,6 @@ protected:
static LRESULT WINAPI s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
/**
- * Initiates WM_INPUT messages from keyboard
- */
- GHOST_TInt32 initKeyboardRawInput(void);
-
- /**
* Toggles console
* @action 0 - Hides
* 1 - Shows
@@ -445,15 +364,6 @@ protected:
/** Console status */
int m_consoleStatus;
-
- /** handle for user32.dll*/
- HMODULE user32;
- #ifdef NEED_RAW_PROC
- /* pointer to RegisterRawInputDevices function */
- LPFNDLLRRID pRegisterRawInputDevices;
- /* pointer to GetRawInputData function */
- LPFNDLLGRID pGetRawInputData;
- #endif
};
inline void GHOST_SystemWin32::retrieveModifierKeys(GHOST_ModifierKeys& keys) const
@@ -487,4 +397,3 @@ inline void GHOST_SystemWin32::handleKeyboardChange(void)
}
}
#endif // _GHOST_SYSTEM_WIN32_H_
-
diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp
index c53bf7de36c..d5100e589f2 100644
--- a/intern/ghost/intern/GHOST_SystemX11.cpp
+++ b/intern/ghost/intern/GHOST_SystemX11.cpp
@@ -42,9 +42,10 @@
#include "GHOST_EventKey.h"
#include "GHOST_EventButton.h"
#include "GHOST_EventWheel.h"
-#include "GHOST_EventNDOF.h"
-#include "GHOST_NDOFManager.h"
#include "GHOST_DisplayManagerX11.h"
+#ifdef WITH_INPUT_NDOF
+#include "GHOST_NDOFManagerX11.h"
+#endif
#include "GHOST_Debug.h"
@@ -76,18 +77,8 @@
#include <stdio.h> // for fprintf only
#include <cstdlib> // for exit
-typedef struct NDOFPlatformInfo {
- Display *display;
- Window window;
- volatile GHOST_TEventNDOFData *currValues;
- Atom cmdAtom;
- Atom motionAtom;
- Atom btnPressAtom;
- Atom btnRelAtom;
-} NDOFPlatformInfo;
-
-static NDOFPlatformInfo sNdofInfo = {NULL, 0, NULL, 0, 0, 0, 0};
-
+static GHOST_TKey
+convertXKey(KeySym key);
//these are for copy and select copy
static char *txt_cut_buffer= NULL;
@@ -147,8 +138,9 @@ GHOST_SystemX11(
if (gettimeofday(&tv,NULL) == -1) {
GHOST_ASSERT(false,"Could not instantiate timer!");
}
-
- m_start_time = GHOST_TUns64(tv.tv_sec*1000 + tv.tv_usec/1000);
+
+ // Taking care not to overflow the tv.tv_sec*1000
+ m_start_time = GHOST_TUns64(tv.tv_sec)*1000 + tv.tv_usec/1000;
/* use detectable autorepeate, mac and windows also do this */
@@ -177,6 +169,9 @@ init(
GHOST_TSuccess success = GHOST_System::init();
if (success) {
+#ifdef WITH_INPUT_NDOF
+ m_ndofManager = new GHOST_NDOFManagerX11(*this);
+#endif
m_displayManager = new GHOST_DisplayManagerX11(this);
if (m_displayManager) {
@@ -196,7 +191,8 @@ getMilliSeconds(
GHOST_ASSERT(false,"Could not compute time!");
}
- return GHOST_TUns64(tv.tv_sec*1000 + tv.tv_usec/1000) - m_start_time;
+ // Taking care not to overflow the tv.tv_sec*1000
+ return GHOST_TUns64(tv.tv_sec)*1000 + tv.tv_usec/1000 - m_start_time;
}
GHOST_TUns8
@@ -270,7 +266,7 @@ createWindow(
if (window->getValid()) {
// Store the pointer to the window
m_windowManager->addWindow(window);
-
+ m_windowManager->setActiveWindow(window);
pushEvent( new GHOST_Event(getMilliSeconds(), GHOST_kEventWindowSize, window) );
}
else {
@@ -381,8 +377,6 @@ lastEventTime(Time default_time) {
return data.timestamp;
}
-
-
bool
GHOST_SystemX11::
processEvents(
@@ -423,6 +417,13 @@ processEvents(
if (generateWindowExposeEvents()) {
anyProcessed = true;
}
+
+#ifdef WITH_INPUT_NDOF
+ if (dynamic_cast<GHOST_NDOFManagerX11*>(m_ndofManager)->processEvents()) {
+ anyProcessed = true;
+ }
+#endif
+
} while (waitForEvent && !anyProcessed);
return anyProcessed;
@@ -606,6 +607,9 @@ GHOST_SystemX11::processEvent(XEvent *xe)
case FocusOut:
{
XFocusChangeEvent &xfe = xe->xfocus;
+
+ // TODO: make sure this is the correct place for activate/deactivate
+ // printf("X: focus %s for window %d\n", xfe.type == FocusIn ? "in" : "out", (int) xfe.window);
// May have to look at the type of event and filter some
// out.
@@ -636,32 +640,8 @@ GHOST_SystemX11::processEvent(XEvent *xe)
);
} else
#endif
- if (sNdofInfo.currValues) {
- static GHOST_TEventNDOFData data = {0,0,0,0,0,0,0,0,0,0,0};
- if (xcme.message_type == sNdofInfo.motionAtom)
- {
- data.changed = 1;
- data.delta = xcme.data.s[8] - data.time;
- data.time = xcme.data.s[8];
- data.tx = xcme.data.s[2] >> 2;
- data.ty = xcme.data.s[3] >> 2;
- data.tz = xcme.data.s[4] >> 2;
- data.rx = xcme.data.s[5];
- data.ry = xcme.data.s[6];
- data.rz =-xcme.data.s[7];
- g_event = new GHOST_EventNDOF(getMilliSeconds(),
- GHOST_kEventNDOFMotion,
- window, data);
- } else if (xcme.message_type == sNdofInfo.btnPressAtom) {
- data.changed = 2;
- data.delta = xcme.data.s[8] - data.time;
- data.time = xcme.data.s[8];
- data.buttons = xcme.data.s[2];
- g_event = new GHOST_EventNDOF(getMilliSeconds(),
- GHOST_kEventNDOFButton,
- window, data);
- }
- } else if (((Atom)xcme.data.l[0]) == m_wm_take_focus) {
+
+ if (((Atom)xcme.data.l[0]) == m_wm_take_focus) {
XWindowAttributes attr;
Window fwin;
int revert_to;
@@ -718,6 +698,14 @@ GHOST_SystemX11::processEvent(XEvent *xe)
xce.y_root
);
}
+
+ // printf("X: %s window %d\n", xce.type == EnterNotify ? "entering" : "leaving", (int) xce.window);
+
+ if (xce.type == EnterNotify)
+ m_windowManager->setActiveWindow(window);
+ else
+ m_windowManager->setWindowInactive(window);
+
break;
}
case MapNotify:
@@ -829,18 +817,6 @@ GHOST_SystemX11::processEvent(XEvent *xe)
}
}
- void *
-GHOST_SystemX11::
-prepareNdofInfo(volatile GHOST_TEventNDOFData *currentNdofValues)
-{
- const vector<GHOST_IWindow*>& v(m_windowManager->getWindows());
- if (v.size() > 0)
- sNdofInfo.window = static_cast<GHOST_WindowX11*>(v[0])->getXWindow();
- sNdofInfo.display = m_display;
- sNdofInfo.currValues = currentNdofValues;
- return (void*)&sNdofInfo;
-}
-
GHOST_TSuccess
GHOST_SystemX11::
getModifierKeys(
@@ -856,60 +832,28 @@ getModifierKeys(
// now translate key symobols into keycodes and
// test with vector.
- const KeyCode shift_l = XKeysymToKeycode(m_display,XK_Shift_L);
- const KeyCode shift_r = XKeysymToKeycode(m_display,XK_Shift_R);
- const KeyCode control_l = XKeysymToKeycode(m_display,XK_Control_L);
- const KeyCode control_r = XKeysymToKeycode(m_display,XK_Control_R);
- const KeyCode alt_l = XKeysymToKeycode(m_display,XK_Alt_L);
- const KeyCode alt_r = XKeysymToKeycode(m_display,XK_Alt_R);
- const KeyCode super_l = XKeysymToKeycode(m_display,XK_Super_L);
- const KeyCode super_r = XKeysymToKeycode(m_display,XK_Super_R);
-
- // Shift
- if ((m_keyboard_vector[shift_l >> 3] >> (shift_l & 7)) & 1) {
- keys.set(GHOST_kModifierKeyLeftShift,true);
- } else {
- keys.set(GHOST_kModifierKeyLeftShift,false);
- }
- if ((m_keyboard_vector[shift_r >> 3] >> (shift_r & 7)) & 1) {
-
- keys.set(GHOST_kModifierKeyRightShift,true);
- } else {
- keys.set(GHOST_kModifierKeyRightShift,false);
- }
-
- // control (weep)
- if ((m_keyboard_vector[control_l >> 3] >> (control_l & 7)) & 1) {
- keys.set(GHOST_kModifierKeyLeftControl,true);
- } else {
- keys.set(GHOST_kModifierKeyLeftControl,false);
- }
- if ((m_keyboard_vector[control_r >> 3] >> (control_r & 7)) & 1) {
- keys.set(GHOST_kModifierKeyRightControl,true);
- } else {
- keys.set(GHOST_kModifierKeyRightControl,false);
- }
-
- // Alt (yawn)
- if ((m_keyboard_vector[alt_l >> 3] >> (alt_l & 7)) & 1) {
- keys.set(GHOST_kModifierKeyLeftAlt,true);
- } else {
- keys.set(GHOST_kModifierKeyLeftAlt,false);
- }
- if ((m_keyboard_vector[alt_r >> 3] >> (alt_r & 7)) & 1) {
- keys.set(GHOST_kModifierKeyRightAlt,true);
- } else {
- keys.set(GHOST_kModifierKeyRightAlt,false);
- }
+ const static KeyCode shift_l = XKeysymToKeycode(m_display,XK_Shift_L);
+ const static KeyCode shift_r = XKeysymToKeycode(m_display,XK_Shift_R);
+ const static KeyCode control_l = XKeysymToKeycode(m_display,XK_Control_L);
+ const static KeyCode control_r = XKeysymToKeycode(m_display,XK_Control_R);
+ const static KeyCode alt_l = XKeysymToKeycode(m_display,XK_Alt_L);
+ const static KeyCode alt_r = XKeysymToKeycode(m_display,XK_Alt_R);
+ const static KeyCode super_l = XKeysymToKeycode(m_display,XK_Super_L);
+ const static KeyCode super_r = XKeysymToKeycode(m_display,XK_Super_R);
+
+ // shift
+ keys.set(GHOST_kModifierKeyLeftShift, ((m_keyboard_vector[shift_l >> 3] >> (shift_l & 7)) & 1) != 0);
+ keys.set(GHOST_kModifierKeyRightShift, ((m_keyboard_vector[shift_r >> 3] >> (shift_r & 7)) & 1) != 0);
+ // control
+ keys.set(GHOST_kModifierKeyLeftControl, ((m_keyboard_vector[control_l >> 3] >> (control_l & 7)) & 1) != 0);
+ keys.set(GHOST_kModifierKeyRightControl, ((m_keyboard_vector[control_r >> 3] >> (control_r & 7)) & 1) != 0);
+ // alt
+ keys.set(GHOST_kModifierKeyLeftAlt, ((m_keyboard_vector[alt_l >> 3] >> (alt_l & 7)) & 1) != 0);
+ keys.set(GHOST_kModifierKeyRightAlt, ((m_keyboard_vector[alt_r >> 3] >> (alt_r & 7)) & 1) != 0);
+ // super (windows) - only one GHOST-kModifierKeyOS, so mapping to either
+ keys.set(GHOST_kModifierKeyOS, ( ((m_keyboard_vector[super_l >> 3] >> (super_l & 7)) & 1) ||
+ ((m_keyboard_vector[super_r >> 3] >> (super_r & 7)) & 1) ) != 0);
- // Super (Windows) - only one GHOST-kModifierKeyOS, so mapping
- // to either
- if ( ((m_keyboard_vector[super_l >> 3] >> (super_l & 7)) & 1) ||
- ((m_keyboard_vector[super_r >> 3] >> (super_r & 7)) & 1) ) {
- keys.set(GHOST_kModifierKeyOS,true);
- } else {
- keys.set(GHOST_kModifierKeyOS,false);
- }
return GHOST_kSuccess;
}
@@ -923,35 +867,20 @@ getButtons(
int rx,ry,wx,wy;
unsigned int mask_return;
- if (XQueryPointer(
- m_display,
- RootWindow(m_display,DefaultScreen(m_display)),
- &root_return,
- &child_return,
- &rx,&ry,
- &wx,&wy,
- &mask_return
- ) == False) {
+ if (XQueryPointer(m_display,
+ RootWindow(m_display,DefaultScreen(m_display)),
+ &root_return,
+ &child_return,
+ &rx,&ry,
+ &wx,&wy,
+ &mask_return) == True)
+ {
+ buttons.set(GHOST_kButtonMaskLeft, (mask_return & Button1Mask) != 0);
+ buttons.set(GHOST_kButtonMaskMiddle, (mask_return & Button2Mask) != 0);
+ buttons.set(GHOST_kButtonMaskRight, (mask_return & Button3Mask) != 0);
+ }
+ else {
return GHOST_kFailure;
- } else {
-
- if (mask_return & Button1Mask) {
- buttons.set(GHOST_kButtonMaskLeft,true);
- } else {
- buttons.set(GHOST_kButtonMaskLeft,false);
- }
-
- if (mask_return & Button2Mask) {
- buttons.set(GHOST_kButtonMaskMiddle,true);
- } else {
- buttons.set(GHOST_kButtonMaskMiddle,false);
- }
-
- if (mask_return & Button3Mask) {
- buttons.set(GHOST_kButtonMaskRight,true);
- } else {
- buttons.set(GHOST_kButtonMaskRight,false);
- }
}
return GHOST_kSuccess;
@@ -1056,11 +985,9 @@ generateWindowExposeEvents(
#define GXMAP(k,x,y) case x: k = y; break;
- GHOST_TKey
-GHOST_SystemX11::
-convertXKey(
- KeySym key
-){
+static GHOST_TKey
+convertXKey(KeySym key)
+{
GHOST_TKey type;
if ((key >= XK_A) && (key <= XK_Z)) {
@@ -1175,8 +1102,10 @@ convertXKey(
GXMAP(type,XF86XK_AudioPrev, GHOST_kKeyMediaFirst);
GXMAP(type,XF86XK_AudioRewind, GHOST_kKeyMediaFirst);
GXMAP(type,XF86XK_AudioNext, GHOST_kKeyMediaLast);
+#ifdef XF86XK_AudioForward /* Debian lenny's XF86keysym.h has no XF86XK_AudioForward define */
GXMAP(type,XF86XK_AudioForward, GHOST_kKeyMediaLast);
#endif
+#endif
/* some extra sun cruft (NICE KEYBOARD!) */
#ifdef __sun__
diff --git a/intern/ghost/intern/GHOST_SystemX11.h b/intern/ghost/intern/GHOST_SystemX11.h
index 0b001273634..845243f92e5 100644
--- a/intern/ghost/intern/GHOST_SystemX11.h
+++ b/intern/ghost/intern/GHOST_SystemX11.h
@@ -203,11 +203,6 @@ public:
return m_display;
}
- void *
- prepareNdofInfo(
- volatile GHOST_TEventNDOFData *current_values
- );
-
/* Helped function for get data from the clipboard. */
void getClipboard_xcout(XEvent evt, Atom sel, Atom target,
unsigned char **txt, unsigned long *len,
@@ -300,12 +295,6 @@ private :
bool
generateWindowExposeEvents(
);
-
- GHOST_TKey
- convertXKey(
- KeySym key
- );
-
};
#endif
diff --git a/intern/ghost/intern/GHOST_TaskbarWin32.h b/intern/ghost/intern/GHOST_TaskbarWin32.h
index ef9ebdf5860..eddff8bb91b 100644
--- a/intern/ghost/intern/GHOST_TaskbarWin32.h
+++ b/intern/ghost/intern/GHOST_TaskbarWin32.h
@@ -3,20 +3,16 @@
*/
#ifndef GHOST_TASKBARWIN32_H_
#define GHOST_TASKBARWIN32_H_
+
#ifndef WIN32
#error WIN32 only!
#endif // WIN32
+#define _WIN32_WINNT 0x501 // require Windows XP or newer
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <shlobj.h>
-/* MinGW needs it */
-#ifdef FREE_WINDOWS
-#ifdef WINVER
-#undef WINVER
-#endif
-#define WINVER 0x0501
-#endif /* FREE_WINDOWS */
// ITaskbarList, ITaskbarList2 and ITaskbarList3 might be missing, present here in that case.
// Note, ITaskbarList3 is supported only since Windows 7, though. Check for that is done in
diff --git a/intern/ghost/intern/GHOST_Window.cpp b/intern/ghost/intern/GHOST_Window.cpp
index c518272d614..e34bfe7ff26 100644
--- a/intern/ghost/intern/GHOST_Window.cpp
+++ b/intern/ghost/intern/GHOST_Window.cpp
@@ -41,8 +41,7 @@
GHOST_Window::GHOST_Window(
- const STR_String& /*title*/,
- GHOST_TInt32 /*left*/, GHOST_TInt32 /*top*/, GHOST_TUns32 width, GHOST_TUns32 height,
+ GHOST_TUns32 width, GHOST_TUns32 height,
GHOST_TWindowState state,
GHOST_TDrawingContextType type,
const bool stereoVisual,
diff --git a/intern/ghost/intern/GHOST_Window.h b/intern/ghost/intern/GHOST_Window.h
index e0c676f53a5..66990abb555 100644
--- a/intern/ghost/intern/GHOST_Window.h
+++ b/intern/ghost/intern/GHOST_Window.h
@@ -76,9 +76,6 @@ public:
* Constructor.
* Creates a new window and opens it.
* To check if the window was created properly, use the getValid() method.
- * @param title The text shown in the title bar of the window.
- * @param left The coordinate of the left edge of the window.
- * @param top The coordinate of the top edge of the window.
* @param width The width the window.
* @param heigh The height the window.
* @param state The state the window is initially opened with.
@@ -87,9 +84,6 @@ public:
* @param numOfAASamples Number of samples used for AA (zero if no AA)
*/
GHOST_Window(
- const STR_String& title,
- GHOST_TInt32 left,
- GHOST_TInt32 top,
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
diff --git a/intern/ghost/intern/GHOST_WindowCarbon.cpp b/intern/ghost/intern/GHOST_WindowCarbon.cpp
index 1ffd117d658..c8bd67f9a5c 100644
--- a/intern/ghost/intern/GHOST_WindowCarbon.cpp
+++ b/intern/ghost/intern/GHOST_WindowCarbon.cpp
@@ -102,7 +102,7 @@ GHOST_WindowCarbon::GHOST_WindowCarbon(
const bool stereoVisual,
const GHOST_TUns16 numOfAASamples
) :
- GHOST_Window(title, left, top, width, height, state, GHOST_kDrawingContextTypeNone),
+ GHOST_Window(width, height, state, GHOST_kDrawingContextTypeNone),
m_windowRef(0),
m_grafPtr(0),
m_aglCtx(0),
diff --git a/intern/ghost/intern/GHOST_WindowCocoa.h b/intern/ghost/intern/GHOST_WindowCocoa.h
index 98e0f9cedd1..ce28f8c4538 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.h
+++ b/intern/ghost/intern/GHOST_WindowCocoa.h
@@ -42,6 +42,7 @@
#include "STR_String.h"
@class CocoaWindow;
+@class CocoaOpenGLView;
class GHOST_SystemCocoa;
@@ -77,7 +78,7 @@ public:
GHOST_SystemCocoa *systemCocoa,
const STR_String& title,
GHOST_TInt32 left,
- GHOST_TInt32 top,
+ GHOST_TInt32 bottom,
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
@@ -181,6 +182,26 @@ public:
virtual void clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const;
/**
+ * Converts a point in screen coordinates to client rectangle coordinates
+ * but without the y coordinate conversion needed for ghost compatibility.
+ * @param inX The x-coordinate in the client rectangle.
+ * @param inY The y-coordinate in the client rectangle.
+ * @param outX The x-coordinate on the screen.
+ * @param outY The y-coordinate on the screen.
+ */
+ void clientToScreenIntern(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const;
+
+ /**
+ * Converts a point in screen coordinates to client rectangle coordinates,
+ * but without the y coordinate conversion needed for ghost compatibility.
+ * @param inX The x-coordinate in the client rectangle.
+ * @param inY The y-coordinate in the client rectangle.
+ * @param outX The x-coordinate on the screen.
+ * @param outY The y-coordinate on the screen.
+ */
+ void screenToClientIntern(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const;
+
+ /**
* Gets the screen the window is displayed in
* @return The NSScreen object
*/
@@ -289,7 +310,7 @@ protected:
CocoaWindow *m_window;
/** The openGL view */
- NSOpenGLView *m_openGLView;
+ CocoaOpenGLView *m_openGLView;
/** The opgnGL drawing context */
NSOpenGLContext *m_openGLContext;
diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm
index fb7d4a459c7..937dffe9fba 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.mm
+++ b/intern/ghost/intern/GHOST_WindowCocoa.mm
@@ -241,10 +241,19 @@ extern "C" {
//We need to subclass it in order to give Cocoa the feeling key events are trapped
@interface CocoaOpenGLView : NSOpenGLView
{
+ GHOST_SystemCocoa *systemCocoa;
+ GHOST_WindowCocoa *associatedWindow;
}
+- (void)setSystemAndWindowCocoa:(GHOST_SystemCocoa *)sysCocoa windowCocoa:(GHOST_WindowCocoa *)winCocoa;
@end
@implementation CocoaOpenGLView
+- (void)setSystemAndWindowCocoa:(GHOST_SystemCocoa *)sysCocoa windowCocoa:(GHOST_WindowCocoa *)winCocoa
+{
+ systemCocoa = sysCocoa;
+ associatedWindow = winCocoa;
+}
+
- (BOOL)acceptsFirstResponder
{
return YES;
@@ -294,6 +303,7 @@ extern "C" {
else
{
[super drawRect:rect];
+ systemCocoa->handleWindowEvent(GHOST_kEventWindowUpdate, associatedWindow);
}
}
@@ -308,14 +318,14 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
GHOST_SystemCocoa *systemCocoa,
const STR_String& title,
GHOST_TInt32 left,
- GHOST_TInt32 top,
+ GHOST_TInt32 bottom,
GHOST_TUns32 width,
GHOST_TUns32 height,
GHOST_TWindowState state,
GHOST_TDrawingContextType type,
const bool stereoVisual, const GHOST_TUns16 numOfAASamples
) :
- GHOST_Window(title, left, top, width, height, state, GHOST_kDrawingContextTypeNone, stereoVisual, numOfAASamples),
+ GHOST_Window(width, height, state, GHOST_kDrawingContextTypeNone, stereoVisual, numOfAASamples),
m_customCursor(0)
{
NSOpenGLPixelFormatAttribute pixelFormatAttrsWindow[40];
@@ -327,13 +337,12 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-
//Creates the window
NSRect rect;
NSSize minSize;
rect.origin.x = left;
- rect.origin.y = top;
+ rect.origin.y = bottom;
rect.size.width = width;
rect.size.height = height;
@@ -425,6 +434,8 @@ GHOST_WindowCocoa::GHOST_WindowCocoa(
//Creates the OpenGL View inside the window
m_openGLView = [[CocoaOpenGLView alloc] initWithFrame:rect
pixelFormat:pixelFormat];
+
+ [m_openGLView setSystemAndWindowCocoa:systemCocoa windowCocoa:this];
[pixelFormat release];
@@ -692,7 +703,30 @@ GHOST_TWindowState GHOST_WindowCocoa::getState() const
void GHOST_WindowCocoa::screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const
{
GHOST_ASSERT(getValid(), "GHOST_WindowCocoa::screenToClient(): window invalid")
-
+
+ screenToClientIntern(inX, inY, outX, outY);
+
+ /* switch y to match ghost convention */
+ GHOST_Rect cBnds;
+ getClientBounds(cBnds);
+ outY = (cBnds.getHeight() - 1) - outY;
+}
+
+
+void GHOST_WindowCocoa::clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const
+{
+ GHOST_ASSERT(getValid(), "GHOST_WindowCocoa::clientToScreen(): window invalid")
+
+ /* switch y to match ghost convention */
+ GHOST_Rect cBnds;
+ getClientBounds(cBnds);
+ inY = (cBnds.getHeight() - 1) - inY;
+
+ clientToScreenIntern(inX, inY, outX, outY);
+}
+
+void GHOST_WindowCocoa::screenToClientIntern(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const
+{
NSPoint screenCoord;
NSPoint baseCoord;
@@ -705,11 +739,8 @@ void GHOST_WindowCocoa::screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST
outY = baseCoord.y;
}
-
-void GHOST_WindowCocoa::clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const
+void GHOST_WindowCocoa::clientToScreenIntern(GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY) const
{
- GHOST_ASSERT(getValid(), "GHOST_WindowCocoa::clientToScreen(): window invalid")
-
NSPoint screenCoord;
NSPoint baseCoord;
@@ -1211,7 +1242,7 @@ GHOST_TSuccess GHOST_WindowCocoa::setWindowCursorGrab(GHOST_TGrabCursorMode mode
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
m_systemCocoa->getCursorPosition(x_old,y_old);
- screenToClient(x_old, y_old, m_cursorGrabInitPos[0], m_cursorGrabInitPos[1]);
+ screenToClientIntern(x_old, y_old, m_cursorGrabInitPos[0], m_cursorGrabInitPos[1]);
//Warp position is stored in client (window base) coordinates
setCursorGrabAccum(0, 0);
diff --git a/intern/ghost/intern/GHOST_WindowNULL.h b/intern/ghost/intern/GHOST_WindowNULL.h
index 0ec3c6f5700..f979313af5c 100644
--- a/intern/ghost/intern/GHOST_WindowNULL.h
+++ b/intern/ghost/intern/GHOST_WindowNULL.h
@@ -54,7 +54,7 @@ public:
const bool stereoVisual,
const GHOST_TUns16 numOfAASamples
) :
- GHOST_Window(title,left,top,width,height,state,type,stereoVisual,numOfAASamples),
+ GHOST_Window(width,height,state,type,stereoVisual,numOfAASamples),
m_system (system)
{
setTitle(title);
diff --git a/intern/ghost/intern/GHOST_WindowSDL.cpp b/intern/ghost/intern/GHOST_WindowSDL.cpp
new file mode 100644
index 00000000000..1675c1fb12b
--- /dev/null
+++ b/intern/ghost/intern/GHOST_WindowSDL.cpp
@@ -0,0 +1,628 @@
+/*
+ * $Id$
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_WindowSDL.cpp
+ * \ingroup GHOST
+ */
+
+#include "GHOST_WindowSDL.h"
+#include "SDL_mouse.h"
+#include <assert.h>
+
+static SDL_GLContext s_firstContext= NULL;
+
+GHOST_WindowSDL::GHOST_WindowSDL(GHOST_SystemSDL *system,
+ const STR_String& title,
+ GHOST_TInt32 left,
+ GHOST_TInt32 top,
+ GHOST_TUns32 width,
+ GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ const GHOST_TEmbedderWindowID parentWindow,
+ GHOST_TDrawingContextType type,
+ const bool stereoVisual,
+ const GHOST_TUns16 numOfAASamples
+ )
+ :
+ GHOST_Window(width,height,state,type,stereoVisual,numOfAASamples),
+ m_system (system),
+ m_invalid_window(false),
+ m_sdl_custom_cursor(NULL)
+{
+ m_sdl_win= SDL_CreateWindow(title,
+ left,
+ top,
+ width,
+ height,
+ SDL_WINDOW_RESIZABLE|SDL_WINDOW_OPENGL|SDL_WINDOW_SHOWN);
+
+ //SDL_GL_SetAttribute(SDL_GL_MULTISAMPLEBUFFERS, 1);
+ //SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4);
+ SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
+ SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
+ SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
+ SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
+
+ m_sdl_glcontext= SDL_GL_CreateContext(m_sdl_win);
+
+ //fprintf(stderr, "Ignoring Xlib error: error code %d request code %d\n",
+ // theEvent->error_code, theEvent->request_code) ;
+
+ setTitle(title);
+}
+
+GHOST_WindowSDL::~GHOST_WindowSDL()
+{
+ if(m_sdl_custom_cursor) {
+ SDL_FreeCursor(m_sdl_custom_cursor);
+ }
+
+ if (m_sdl_glcontext != s_firstContext) {
+ SDL_GL_DeleteContext(m_sdl_glcontext);
+ }
+
+ SDL_DestroyWindow(m_sdl_win);
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::installDrawingContext(GHOST_TDrawingContextType type)
+{
+ // only support openGL for now.
+ GHOST_TSuccess success;
+ switch (type) {
+ case GHOST_kDrawingContextTypeOpenGL:
+ m_sdl_glcontext= SDL_GL_CreateContext(m_sdl_win);
+
+ if (m_sdl_glcontext != NULL) {
+ if (!s_firstContext) {
+ s_firstContext= m_sdl_glcontext;
+ }
+
+ success= (SDL_GL_MakeCurrent(m_sdl_win, m_sdl_glcontext) < 0) ?
+ GHOST_kFailure : GHOST_kSuccess;
+ }
+ else {
+ success= GHOST_kFailure;
+ }
+
+ break;
+
+ case GHOST_kDrawingContextTypeNone:
+ success= GHOST_kSuccess;
+ break;
+
+ default:
+ success= GHOST_kFailure;
+ }
+ return success;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::invalidate(void)
+{
+ // So the idea of this function is to generate an expose event
+ // for the window.
+ // Unfortunately X does not handle expose events for you and
+ // it is the client's job to refresh the dirty part of the window.
+ // We need to queue up invalidate calls and generate GHOST events
+ // for them in the system.
+
+ // We implement this by setting a boolean in this class to concatenate
+ // all such calls into a single event for this window.
+
+ // At the same time we queue the dirty windows in the system class
+ // and generate events for them at the next processEvents call.
+
+ if (m_invalid_window == false) {
+ m_system->addDirtyWindow(this);
+ m_invalid_window= true;
+ }
+
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::swapBuffers()
+{
+ if (getDrawingContextType() == GHOST_kDrawingContextTypeOpenGL) {
+ SDL_GL_SwapWindow(m_sdl_win);
+ return GHOST_kSuccess;
+ }
+ else {
+ return GHOST_kFailure;
+ }
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::activateDrawingContext()
+{
+ if (m_sdl_glcontext !=NULL) {
+ int status=SDL_GL_MakeCurrent(m_sdl_win, m_sdl_glcontext);
+ (void)status;
+ return GHOST_kSuccess;
+ }
+ return GHOST_kFailure;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::removeDrawingContext()
+{
+ GHOST_TSuccess success;
+
+ if (m_sdl_glcontext != NULL) {
+ SDL_GL_DeleteContext(m_sdl_glcontext);
+ success= GHOST_kSuccess;
+ }
+ else {
+ success= GHOST_kFailure;
+ }
+ return success;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setState(GHOST_TWindowState state)
+{
+ switch(state) {
+ case GHOST_kWindowStateNormal:
+ SDL_SetWindowFullscreen(m_sdl_win, SDL_FALSE);
+ SDL_RestoreWindow(m_sdl_win);
+ break;
+ case GHOST_kWindowStateMaximized:
+ SDL_SetWindowFullscreen(m_sdl_win, SDL_FALSE);
+ SDL_MaximizeWindow(m_sdl_win);
+ break;
+ case GHOST_kWindowStateMinimized:
+ SDL_MinimizeWindow(m_sdl_win);
+ break;
+ case GHOST_kWindowStateFullScreen:
+ SDL_SetWindowFullscreen(m_sdl_win, SDL_TRUE);
+ break;
+ default:
+ break;
+ }
+
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TWindowState
+GHOST_WindowSDL::getState() const
+{
+ Uint32 flags= SDL_GetWindowFlags(m_sdl_win);
+
+ if(flags & SDL_WINDOW_FULLSCREEN) return GHOST_kWindowStateFullScreen;
+ else if(flags & SDL_WINDOW_MAXIMIZED) return GHOST_kWindowStateMaximized;
+ else if(flags & SDL_WINDOW_MINIMIZED) return GHOST_kWindowStateMinimized;
+ return GHOST_kWindowStateNormal;
+}
+
+
+void
+GHOST_WindowSDL::setTitle(const STR_String& title)
+{
+ SDL_SetWindowTitle(m_sdl_win, title.ReadPtr());
+}
+
+
+void
+GHOST_WindowSDL::getTitle(STR_String& title) const
+{
+ title= SDL_GetWindowTitle(m_sdl_win);
+}
+
+
+void
+GHOST_WindowSDL::getWindowBounds(GHOST_Rect& bounds) const
+{
+ getClientBounds(bounds);
+}
+
+
+void
+GHOST_WindowSDL::getClientBounds(GHOST_Rect& bounds) const
+{
+ int x, y, w, h;
+ SDL_GetWindowSize(m_sdl_win, &w, &h);
+ SDL_GetWindowPosition(m_sdl_win, &x, &y);
+
+ bounds.m_l= x;
+ bounds.m_r= x + w;
+ bounds.m_t= y;
+ bounds.m_b= y + h;
+}
+
+GHOST_TSuccess
+GHOST_WindowSDL::setClientWidth(GHOST_TUns32 width)
+{
+ int height;
+ SDL_GetWindowSize(m_sdl_win, NULL, &height);
+ SDL_SetWindowSize(m_sdl_win, width, height);
+ return GHOST_kSuccess;
+}
+
+GHOST_TSuccess
+GHOST_WindowSDL::setClientHeight(GHOST_TUns32 height)
+{
+ int width;
+ SDL_GetWindowSize(m_sdl_win, &width, NULL);
+ SDL_SetWindowSize(m_sdl_win, width, height);
+ return GHOST_kSuccess;
+}
+
+GHOST_TSuccess
+GHOST_WindowSDL::setClientSize(GHOST_TUns32 width,
+ GHOST_TUns32 height)
+{
+ SDL_SetWindowSize(m_sdl_win, width, height);
+ return GHOST_kSuccess;
+}
+
+void
+GHOST_WindowSDL::screenToClient( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY ) const
+{
+ /* XXXSDL_WEAK_ABS_COORDS */
+ int x_win, y_win;
+ SDL_GetWindowPosition(m_sdl_win, &x_win, &y_win);
+
+ outX = inX - x_win;
+ outY = inY - y_win;
+}
+void
+GHOST_WindowSDL::clientToScreen( GHOST_TInt32 inX, GHOST_TInt32 inY, GHOST_TInt32& outX, GHOST_TInt32& outY ) const
+{
+ /* XXXSDL_WEAK_ABS_COORDS */
+ int x_win, y_win;
+ SDL_GetWindowPosition(m_sdl_win, &x_win, &y_win);
+
+ outX = inX + x_win;
+ outY = inY + y_win;
+}
+
+/* mouse cursor */
+static unsigned char sdl_std_cursor_mask_xterm[]= {0xef,0x01,0xff,0x01,0xff,0x01,0x7c,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x7c,0x00,0xff,0x01,0xff,0x01,0xef,0x01,};
+static unsigned char sdl_std_cursor_xterm[]= {0x00,0x77,0x00,0x1c,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x1c,0x00,0x77,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_xterm 9
+#define sdl_std_cursor_HEIGHT_xterm 16
+#define sdl_std_cursor_HOT_X_xterm -3
+#define sdl_std_cursor_HOT_Y_xterm -7
+
+static unsigned char sdl_std_cursor_mask_watch[]= {0xfc,0x0f,0xfc,0x0f,0xfc,0x0f,0xfe,0x1f,0xff,0x3f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3f,0xfe,0x1f,0xfc,0x0f,0xfc,0x0f,0xfc,0x0f,};
+static unsigned char sdl_std_cursor_watch[]= {0xf8,0x07,0xf8,0x07,0xf8,0x07,0xfc,0x0f,0x86,0x18,0x83,0x30,0x81,0xe0,0xc1,0xe1,0xc1,0xe1,0x21,0xe0,0x13,0x30,0x06,0x18,0xfc,0x0f,0xf8,0x07,0xf8,0x07,0xf8,0x07,};
+#define sdl_std_cursor_WIDTH_watch 16
+#define sdl_std_cursor_HEIGHT_watch 16
+#define sdl_std_cursor_HOT_X_watch -15
+#define sdl_std_cursor_HOT_Y_watch -7
+
+static unsigned char sdl_std_cursor_mask_umbrella[]= {0xe8,0x76,0xfb,0xdf,0xfd,0x3f,0xfe,0xff,0xff,0x3f,0xff,0xff,0xcf,0x79,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x07,0xc0,0x07,0xc0,0x07,0xc0,0x07,0x80,0x03,};
+static unsigned char sdl_std_cursor_umbrella[]= {0x88,0x04,0x20,0x0a,0xc9,0x32,0xf2,0x09,0x4c,0x06,0x43,0x18,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x01,0x40,0x01,0x80,0x00,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_umbrella 16
+#define sdl_std_cursor_HEIGHT_umbrella 16
+#define sdl_std_cursor_HOT_X_umbrella -7
+#define sdl_std_cursor_HOT_Y_umbrella -12
+
+static unsigned char sdl_std_cursor_mask_top_side[]= {0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xc0,0x01,0xe0,0x03,0xf0,0x07,0xf8,0x0f,0xdc,0x1d,0xcc,0x19,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,};
+static unsigned char sdl_std_cursor_top_side[]= {0xff,0x1f,0xff,0x1f,0x00,0x00,0x40,0x00,0xe0,0x00,0x50,0x01,0x48,0x02,0x44,0x04,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_top_side 15
+#define sdl_std_cursor_HEIGHT_top_side 16
+#define sdl_std_cursor_HOT_X_top_side -6
+#define sdl_std_cursor_HOT_Y_top_side -14
+
+static unsigned char sdl_std_cursor_mask_top_right_corner[]= {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xf0,0xfc,0xf7,0xfc,0xf7,0xfc,0xf7,0xc0,0xf7,0xe0,0xf7,0x70,0xf7,0x38,0xf7,0x1c,0xf7,0x0c,0xf7,0x00,0xf0,0x00,0xf0,};
+static unsigned char sdl_std_cursor_top_right_corner[]= {0xff,0x3f,0xff,0x3f,0x00,0x30,0x00,0x30,0x00,0x30,0xfc,0x31,0x80,0x31,0x40,0x31,0x20,0x31,0x10,0x31,0x08,0x31,0x04,0x31,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_top_right_corner 16
+#define sdl_std_cursor_HEIGHT_top_right_corner 16
+#define sdl_std_cursor_HOT_X_top_right_corner -13
+#define sdl_std_cursor_HOT_Y_top_right_corner -14
+
+static unsigned char sdl_std_cursor_mask_top_left_corner[]= {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0x00,0xef,0x3f,0xef,0x3f,0xef,0x3f,0xef,0x03,0xef,0x07,0xef,0x0e,0xef,0x1c,0xef,0x38,0xef,0x30,0x0f,0x00,0x0f,0x00,};
+static unsigned char sdl_std_cursor_top_left_corner[]= {0xff,0x3f,0xff,0x3f,0x03,0x00,0x03,0x00,0x03,0x00,0xe3,0x0f,0x63,0x00,0xa3,0x00,0x23,0x01,0x23,0x02,0x23,0x04,0x23,0x08,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_top_left_corner 16
+#define sdl_std_cursor_HEIGHT_top_left_corner 16
+#define sdl_std_cursor_HOT_X_top_left_corner 0
+#define sdl_std_cursor_HOT_Y_top_left_corner -14
+
+static unsigned char sdl_std_cursor_mask_spraycan[]= {0x00,0x0c,0x18,0x0d,0x7c,0x0d,0x7c,0x0d,0x7e,0x0d,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,};
+static unsigned char sdl_std_cursor_spraycan[]= {0x00,0x06,0x80,0x00,0x2c,0x06,0x9e,0x00,0x16,0x06,0x3f,0x00,0x21,0x00,0x27,0x00,0x25,0x00,0x27,0x00,0x25,0x00,0x27,0x00,0x27,0x00,0x21,0x00,0x21,0x00,0x3f,0x00,};
+#define sdl_std_cursor_WIDTH_spraycan 12
+#define sdl_std_cursor_HEIGHT_spraycan 16
+#define sdl_std_cursor_HOT_X_spraycan -9
+#define sdl_std_cursor_HOT_Y_spraycan -14
+
+static unsigned char sdl_std_cursor_mask_sb_v_double_arrow[]= {0x38,0x00,0x7c,0x00,0xfe,0x00,0xff,0x01,0xff,0x01,0x7c,0x00,0x7c,0x00,0x7c,0x00,0x7c,0x00,0x7c,0x00,0xff,0x01,0xff,0x01,0xfe,0x00,0x7c,0x00,0x38,0x00,};
+static unsigned char sdl_std_cursor_sb_v_double_arrow[]= {0x10,0x00,0x38,0x00,0x7c,0x00,0xfe,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0x28,0x00,0xfe,0x00,0x7c,0x00,0x38,0x00,0x10,0x00,};
+#define sdl_std_cursor_WIDTH_sb_v_double_arrow 9
+#define sdl_std_cursor_HEIGHT_sb_v_double_arrow 15
+#define sdl_std_cursor_HOT_X_sb_v_double_arrow -3
+#define sdl_std_cursor_HOT_Y_sb_v_double_arrow -8
+
+static unsigned char sdl_std_cursor_mask_sb_h_double_arrow[]= {0x18,0x0c,0x1c,0x1c,0xfe,0x3f,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xfe,0x3f,0x1c,0x1c,0x18,0x0c,};
+static unsigned char sdl_std_cursor_sb_h_double_arrow[]= {0x00,0x00,0x08,0x08,0x0c,0x18,0xfe,0x3f,0x0f,0x78,0xfe,0x3f,0x0c,0x18,0x08,0x08,0x00,0x00};
+#define sdl_std_cursor_WIDTH_sb_h_double_arrow 15
+#define sdl_std_cursor_HEIGHT_sb_h_double_arrow 9
+#define sdl_std_cursor_HOT_X_sb_h_double_arrow -7
+#define sdl_std_cursor_HOT_Y_sb_h_double_arrow -4
+
+static unsigned char sdl_std_cursor_mask_right_side[]= {0x00,0xf0,0x00,0xf0,0xc0,0xf0,0xc0,0xf1,0x80,0xf3,0x00,0xf7,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0xf7,0x80,0xf3,0xc0,0xf1,0xc0,0xf0,0x00,0xf0,0x00,0xf0,};
+static unsigned char sdl_std_cursor_right_side[]= {0x00,0x30,0x00,0x30,0x40,0x30,0x80,0x30,0x00,0x31,0x00,0x32,0xff,0x37,0x00,0x32,0x00,0x31,0x80,0x30,0x40,0x30,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_right_side 16
+#define sdl_std_cursor_HEIGHT_right_side 15
+#define sdl_std_cursor_HOT_X_right_side -13
+#define sdl_std_cursor_HOT_Y_right_side -7
+
+static unsigned char sdl_std_cursor_mask_right_ptr[]= {0x00,0x03,0x80,0x03,0xc0,0x03,0xe0,0x03,0xf0,0x03,0xf8,0x03,0xfc,0x03,0xfe,0x03,0xff,0x03,0xff,0x03,0xf8,0x03,0xbc,0x03,0x3c,0x03,0x1e,0x00,0x1e,0x00,0x0c,0x00,};
+static unsigned char sdl_std_cursor_right_ptr[]= {0x00,0x80,0x00,0xc0,0x00,0xe0,0x00,0xf0,0x00,0xf8,0x00,0xfc,0x00,0xfe,0x00,0xff,0x00,0xf8,0x00,0xd8,0x00,0x8c,0x00,0x0c,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_right_ptr 10
+#define sdl_std_cursor_HEIGHT_right_ptr 16
+#define sdl_std_cursor_HOT_X_right_ptr -7
+#define sdl_std_cursor_HOT_Y_right_ptr -14
+
+static unsigned char sdl_std_cursor_mask_question_arrow[]= {0xf8,0x00,0xfc,0x01,0xfe,0x03,0xff,0x07,0x8f,0x07,0x9f,0x07,0xde,0x07,0xfc,0x03,0xf8,0x01,0xf8,0x00,0xf8,0x00,0xfc,0x01,0xfe,0x03,0xfc,0x01,0xf8,0x00,0x70,0x00,};
+static unsigned char sdl_std_cursor_question_arrow[]= {0x7c,0x00,0xfe,0x00,0xc7,0x01,0x83,0x01,0x87,0x01,0xc6,0x01,0xe0,0x00,0x78,0x00,0x38,0x00,0x28,0x00,0x28,0x00,0xee,0x00,0x6c,0x00,0x38,0x00,0x10,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_question_arrow 11
+#define sdl_std_cursor_HEIGHT_question_arrow 16
+#define sdl_std_cursor_HOT_X_question_arrow -4
+#define sdl_std_cursor_HOT_Y_question_arrow -8
+
+static unsigned char sdl_std_cursor_mask_pirate[]= {0xf0,0x03,0xf8,0x07,0xfc,0x0f,0xfe,0x1f,0xfe,0x1f,0xfc,0x0f,0xf8,0x07,0xf1,0x83,0xf1,0xe3,0xf3,0xf3,0xef,0x39,0x1e,0x1e,0xe0,0x01,0xfe,0xc7,0xff,0xff,0x0f,0x7c,};
+static unsigned char sdl_std_cursor_pirate[]= {0xe0,0x01,0xf0,0x03,0xf8,0x07,0xcc,0x0c,0xcc,0x0c,0xf8,0x07,0xf0,0x03,0xe0,0x01,0xe1,0x21,0xe1,0x61,0xc2,0x10,0x1c,0x0e,0xe0,0x01,0xf8,0x47,0x0f,0x7c,0x01,0x20,};
+#define sdl_std_cursor_WIDTH_pirate 16
+#define sdl_std_cursor_HEIGHT_pirate 16
+#define sdl_std_cursor_HOT_X_pirate -7
+#define sdl_std_cursor_HOT_Y_pirate -4
+
+static unsigned char sdl_std_cursor_mask_left_side[]= {0x0f,0x00,0x0f,0x00,0x0f,0x03,0x8f,0x03,0xcf,0x01,0xef,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x00,0xcf,0x01,0x8f,0x03,0x0f,0x03,0x0f,0x00,0x0f,0x00,};
+static unsigned char sdl_std_cursor_left_side[]= {0x03,0x00,0x03,0x00,0x83,0x00,0x43,0x00,0x23,0x00,0x13,0x00,0xfb,0x3f,0x13,0x00,0x23,0x00,0x43,0x00,0x83,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_left_side 16
+#define sdl_std_cursor_HEIGHT_left_side 15
+#define sdl_std_cursor_HOT_X_left_side 0
+#define sdl_std_cursor_HOT_Y_left_side -7
+
+static unsigned char sdl_std_cursor_mask_left_ptr[]= {0x03,0x00,0x07,0x00,0x0f,0x00,0x1f,0x00,0x3f,0x00,0x7f,0x00,0xff,0x00,0xff,0x01,0xff,0x03,0xff,0x03,0x7f,0x00,0xf7,0x00,0xf3,0x00,0xe0,0x01,0xe0,0x01,0xc0,0x00,};
+static unsigned char sdl_std_cursor_left_ptr[]= {0x00,0x00,0x02,0x00,0x06,0x00,0x0e,0x00,0x1e,0x00,0x3e,0x00,0x7e,0x00,0xfe,0x00,0xfe,0x00,0x3e,0x00,0x36,0x00,0x62,0x00,0x60,0x00,0xc0,0x00,0xc0,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_left_ptr 10
+#define sdl_std_cursor_HEIGHT_left_ptr 16
+#define sdl_std_cursor_HOT_X_left_ptr -8
+#define sdl_std_cursor_HOT_Y_left_ptr -14
+
+static unsigned char sdl_std_cursor_mask_exchange[]= {0xe3,0x07,0xf7,0x0f,0xff,0x1f,0xff,0x3f,0x3f,0x38,0xff,0x30,0xff,0x00,0xff,0x00,0x00,0xff,0x00,0xff,0x0c,0xfe,0x1c,0xfc,0xfc,0xff,0xf8,0xff,0xf0,0xef,0xe0,0xc7,};
+static unsigned char sdl_std_cursor_exchange[]= {0xf1,0x03,0xfb,0x07,0x1f,0x0c,0x09,0x08,0x19,0x00,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x00,0x26,0x04,0x24,0x0c,0x3e,0xf8,0x37,0xf0,0x23,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_exchange 16
+#define sdl_std_cursor_HEIGHT_exchange 16
+#define sdl_std_cursor_HOT_X_exchange -6
+#define sdl_std_cursor_HOT_Y_exchange -8
+
+static unsigned char sdl_std_cursor_mask_crosshair[]= {0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,};
+static unsigned char sdl_std_cursor_crosshair[]= {0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x7f,0xff,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_crosshair 16
+#define sdl_std_cursor_HEIGHT_crosshair 16
+#define sdl_std_cursor_HOT_X_crosshair -7
+#define sdl_std_cursor_HOT_Y_crosshair -8
+
+static unsigned char sdl_std_cursor_mask_bottom_side[]= {0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xc0,0x01,0xcc,0x19,0xdc,0x1d,0xf8,0x0f,0xf0,0x07,0xe0,0x03,0xc0,0x01,0xff,0x7f,0xff,0x7f,0xff,0x7f,0xff,0x7f,};
+static unsigned char sdl_std_cursor_bottom_side[]= {0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x44,0x04,0x48,0x02,0x50,0x01,0xe0,0x00,0x40,0x00,0x00,0x00,0xff,0x1f,0xff,0x1f,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_bottom_side 15
+#define sdl_std_cursor_HEIGHT_bottom_side 16
+#define sdl_std_cursor_HOT_X_bottom_side -6
+#define sdl_std_cursor_HOT_Y_bottom_side -1
+
+static unsigned char sdl_std_cursor_mask_bottom_right_corner[]= {0x00,0xf0,0x00,0xf0,0x0c,0xf7,0x1c,0xf7,0x38,0xf7,0x70,0xf7,0xe0,0xf7,0xc0,0xf7,0xfc,0xf7,0xfc,0xf7,0xfc,0xf7,0x00,0xf0,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,};
+static unsigned char sdl_std_cursor_bottom_right_corner[]= {0x00,0x30,0x00,0x30,0x04,0x31,0x08,0x31,0x10,0x31,0x20,0x31,0x40,0x31,0x80,0x31,0xfc,0x31,0x00,0x30,0x00,0x30,0x00,0x30,0xff,0x3f,0xff,0x3f,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_bottom_right_corner 16
+#define sdl_std_cursor_HEIGHT_bottom_right_corner 16
+#define sdl_std_cursor_HOT_X_bottom_right_corner -13
+#define sdl_std_cursor_HOT_Y_bottom_right_corner -1
+
+static unsigned char sdl_std_cursor_mask_bottom_left_corner[]= {0x0f,0x00,0x0f,0x00,0xef,0x30,0xef,0x38,0xef,0x1c,0xef,0x0e,0xef,0x07,0xef,0x03,0xef,0x3f,0xef,0x3f,0xef,0x3f,0x0f,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,};
+static unsigned char sdl_std_cursor_bottom_left_corner[]= {0x03,0x00,0x03,0x00,0x23,0x08,0x23,0x04,0x23,0x02,0x23,0x01,0xa3,0x00,0x63,0x00,0xe3,0x0f,0x03,0x00,0x03,0x00,0x03,0x00,0xff,0x3f,0xff,0x3f,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_bottom_left_corner 16
+#define sdl_std_cursor_HEIGHT_bottom_left_corner 16
+#define sdl_std_cursor_HOT_X_bottom_left_corner 0
+#define sdl_std_cursor_HOT_Y_bottom_left_corner -1
+
+static unsigned char sdl_std_cursor_mask_arrow[]= {0x00,0xe0,0x00,0xf8,0x00,0xfe,0x80,0x7f,0xe0,0x7f,0xf8,0x3f,0xfc,0x3f,0xfc,0x1f,0xe0,0x1f,0xf0,0x0f,0xf8,0x0f,0x7c,0x07,0x3e,0x07,0x1f,0x02,0x0e,0x00,0x04,0x00,};
+static unsigned char sdl_std_cursor_arrow[]= {0x00,0x30,0x00,0x3c,0x00,0x1f,0xc0,0x1f,0xf0,0x0f,0xfc,0x0f,0xc0,0x07,0xe0,0x07,0x70,0x03,0x38,0x03,0x1c,0x01,0x0e,0x01,0x07,0x00,0x02,0x00,0x00,0x00,0x00,0x00,};
+#define sdl_std_cursor_WIDTH_arrow 16
+#define sdl_std_cursor_HEIGHT_arrow 16
+#define sdl_std_cursor_HOT_X_arrow -13
+#define sdl_std_cursor_HOT_Y_arrow -14
+/* end cursor data */
+
+
+static SDL_Cursor *sdl_std_cursor_array[(int)GHOST_kStandardCursorNumCursors]= {0};
+
+/* utility function mostly a copy of SDL_CreateCursor but allows us to change
+ * color and supports blenders flipped bits */
+static SDL_Cursor *
+sdl_ghost_CreateCursor(const Uint8 *data,
+ const Uint8 *mask,
+ int w,
+ int h,
+ int hot_x,
+ int hot_y)
+{
+ SDL_Surface *surface;
+ SDL_Cursor *cursor;
+ int x, y;
+ Uint32 *pixel;
+ Uint8 datab= 0, maskb= 0;
+ const Uint32 black= 0xFF000000;
+ const Uint32 white= 0xFFFFFFFF;
+ const Uint32 transparent= 0x00000000;
+
+ /* Make sure the width is a multiple of 8 */
+ w= ((w + 7) & ~7);
+
+ /* Create the surface from a bitmap */
+ surface= SDL_CreateRGBSurface(0, w, h, 32,
+ 0x00FF0000,
+ 0x0000FF00,
+ 0x000000FF,
+ 0xFF000000);
+ if (!surface) {
+ return NULL;
+ }
+ for (y= 0; y < h; ++y) {
+ pixel= (Uint32 *) ((Uint8 *) surface->pixels + y * surface->pitch);
+ for (x= 0; x < w; ++x) {
+ if ((x % 8) == 0) {
+ datab= *data++;
+ maskb= *mask++;
+
+ /* reverse bit order */
+ datab= (datab * 0x0202020202ULL & 0x010884422010ULL) % 1023;
+ maskb= (maskb * 0x0202020202ULL & 0x010884422010ULL) % 1023;
+ }
+ if (maskb & 0x80) {
+ *pixel++= (datab & 0x80) ? white : black;
+ }
+ else {
+ *pixel++= (datab & 0x80) ? white : transparent;
+ }
+ datab <<= 1;
+ maskb <<= 1;
+ }
+ }
+
+ cursor= SDL_CreateColorCursor(surface, hot_x, hot_y);
+
+ SDL_FreeSurface(surface);
+
+ return cursor;
+}
+
+/* TODO, this is currently never freed but it wont leak either. */
+static void sdl_cursor_init(void)
+{
+
+#define DEF_CURSOR(name, ind) \
+ assert(\
+ (\
+ sdl_std_cursor_array[(int)ind]= \
+ sdl_ghost_CreateCursor(sdl_std_cursor_##name, \
+ sdl_std_cursor_mask_##name, \
+ sdl_std_cursor_WIDTH_##name, \
+ sdl_std_cursor_HEIGHT_##name, \
+ (sdl_std_cursor_WIDTH_##name + (sdl_std_cursor_HOT_X_##name)) - 1, \
+ (sdl_std_cursor_HEIGHT_##name + (sdl_std_cursor_HOT_Y_##name)) - 1) \
+ ) != NULL) \
+
+
+ DEF_CURSOR(left_ptr, GHOST_kStandardCursorDefault);
+ DEF_CURSOR(right_ptr, GHOST_kStandardCursorRightArrow);
+ DEF_CURSOR(left_ptr, GHOST_kStandardCursorLeftArrow);
+ DEF_CURSOR(umbrella, GHOST_kStandardCursorInfo); // TODO, replace this one.
+ DEF_CURSOR(pirate, GHOST_kStandardCursorDestroy);
+ DEF_CURSOR(question_arrow, GHOST_kStandardCursorHelp);
+ DEF_CURSOR(exchange, GHOST_kStandardCursorCycle);
+ DEF_CURSOR(spraycan, GHOST_kStandardCursorSpray);
+ DEF_CURSOR(watch, GHOST_kStandardCursorWait);
+ DEF_CURSOR(xterm, GHOST_kStandardCursorText);
+ DEF_CURSOR(crosshair, GHOST_kStandardCursorCrosshair);
+ DEF_CURSOR(sb_v_double_arrow, GHOST_kStandardCursorUpDown);
+ DEF_CURSOR(sb_h_double_arrow, GHOST_kStandardCursorLeftRight);
+ DEF_CURSOR(top_side, GHOST_kStandardCursorTopSide);
+ DEF_CURSOR(bottom_side, GHOST_kStandardCursorBottomSide);
+ DEF_CURSOR(left_side, GHOST_kStandardCursorLeftSide);
+ DEF_CURSOR(right_side, GHOST_kStandardCursorRightSide);
+ DEF_CURSOR(top_left_corner, GHOST_kStandardCursorTopLeftCorner);
+ DEF_CURSOR(top_right_corner, GHOST_kStandardCursorTopRightCorner);
+ DEF_CURSOR(bottom_right_corner, GHOST_kStandardCursorBottomRightCorner);
+ DEF_CURSOR(bottom_left_corner , GHOST_kStandardCursorBottomLeftCorner);
+ DEF_CURSOR(arrow , GHOST_kStandardCursorCopy);
+ //DEF_CURSOR(arrow, GHOST_kStandardCursorCustom);
+ DEF_CURSOR(arrow, GHOST_kStandardCursorPencil);
+
+#undef DEF_CURSOR
+
+}
+
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setWindowCursorGrab(GHOST_TGrabCursorMode mode)
+{
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setWindowCursorShape(GHOST_TStandardCursor shape)
+{
+ if(sdl_std_cursor_array[0] == NULL) {
+ sdl_cursor_init();
+ }
+
+ SDL_SetCursor(sdl_std_cursor_array[(int)shape]);
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
+ GHOST_TUns8 mask[16][2],
+ int hotX,
+ int hotY)
+{
+ return setWindowCustomCursorShape((GHOST_TUns8 *)bitmap,
+ (GHOST_TUns8 *)mask,
+ 16, 16,
+ hotX, hotY,
+ 0, 1);
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
+ GHOST_TUns8 *mask,
+ int sizex, int sizey,
+ int hotX, int hotY,
+ int fg_color, int bg_color)
+{
+ if(m_sdl_custom_cursor) {
+ SDL_FreeCursor(m_sdl_custom_cursor);
+ }
+
+ m_sdl_custom_cursor= sdl_ghost_CreateCursor((const Uint8 *)bitmap,
+ (const Uint8 *)mask,
+ sizex, sizex,
+ hotX, hotY);
+
+ SDL_SetCursor(m_sdl_custom_cursor);
+ return GHOST_kSuccess;
+}
+
+
+GHOST_TSuccess
+GHOST_WindowSDL::setWindowCursorVisibility(bool visible)
+{
+ SDL_ShowCursor(visible);
+ return GHOST_kSuccess;
+}
diff --git a/intern/ghost/intern/GHOST_WindowSDL.h b/intern/ghost/intern/GHOST_WindowSDL.h
new file mode 100644
index 00000000000..6b016b85126
--- /dev/null
+++ b/intern/ghost/intern/GHOST_WindowSDL.h
@@ -0,0 +1,167 @@
+/*
+ * $Id$
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file ghost/intern/GHOST_WindowSDL.h
+ * \ingroup GHOST
+ * Declaration of GHOST_WindowSDL class.
+ */
+
+#ifndef _GHOST_WINDOWSDL_H_
+#define _GHOST_WINDOWSDL_H_
+
+#include "GHOST_Window.h"
+#include "GHOST_SystemSDL.h"
+#include <map>
+
+extern "C" {
+ #include "SDL.h"
+}
+
+#if !SDL_VERSION_ATLEAST(1, 3, 0)
+# error "SDL 1.3 or newer is needed to build with Ghost"
+#endif
+
+class STR_String;
+
+class GHOST_WindowSDL : public GHOST_Window
+{
+private :
+ GHOST_SystemSDL * m_system;
+ bool m_invalid_window;
+
+ SDL_Window * m_sdl_win;
+ SDL_GLContext m_sdl_glcontext;
+ SDL_Cursor * m_sdl_custom_cursor;
+
+public:
+
+ const GHOST_TabletData* GetTabletData() { return NULL; }
+
+ GHOST_WindowSDL(GHOST_SystemSDL *system,
+ const STR_String& title,
+ GHOST_TInt32 left, GHOST_TInt32 top,
+ GHOST_TUns32 width, GHOST_TUns32 height,
+ GHOST_TWindowState state,
+ const GHOST_TEmbedderWindowID parentWindow,
+ GHOST_TDrawingContextType type,
+ const bool stereoVisual,
+ const GHOST_TUns16 numOfAASamples
+ );
+
+ ~GHOST_WindowSDL();
+
+ /* SDL spesific */
+ SDL_Window *
+ getSDLWindow()
+ {
+ return m_sdl_win;
+ }
+
+
+ GHOST_TSuccess invalidate(void);
+
+ /**
+ * called by the X11 system implementation when expose events
+ * for the window have been pushed onto the GHOST queue
+ */
+
+ void validate()
+ {
+ m_invalid_window = false;
+ }
+
+ bool getValid() const
+ {
+ return (m_sdl_win != NULL);
+ }
+
+ void getWindowBounds(GHOST_Rect& bounds) const;
+ void getClientBounds(GHOST_Rect& bounds) const;
+
+protected:
+ GHOST_TSuccess installDrawingContext(GHOST_TDrawingContextType type);
+ GHOST_TSuccess removeDrawingContext();
+
+ GHOST_TSuccess
+ setWindowCursorGrab(GHOST_TGrabCursorMode mode);
+
+ GHOST_TSuccess
+ setWindowCursorShape(GHOST_TStandardCursor shape);
+
+ GHOST_TSuccess
+ setWindowCustomCursorShape(GHOST_TUns8 bitmap[16][2],
+ GHOST_TUns8 mask[16][2],
+ int hotX, int hotY);
+
+ GHOST_TSuccess
+ setWindowCustomCursorShape(GHOST_TUns8 *bitmap,
+ GHOST_TUns8 *mask,
+ int sizex, int sizey,
+ int hotX, int hotY,
+ int fg_color, int bg_color);
+
+ GHOST_TSuccess
+ setWindowCursorVisibility(bool visible);
+
+ void
+ setTitle(const STR_String& title);
+
+ void
+ getTitle(STR_String& title) const;
+
+ GHOST_TSuccess
+ setClientWidth(GHOST_TUns32 width);
+
+ GHOST_TSuccess
+ setClientHeight(GHOST_TUns32 height);
+
+ GHOST_TSuccess
+ setClientSize(GHOST_TUns32 width,
+ GHOST_TUns32 height);
+
+ void
+ screenToClient(GHOST_TInt32 inX, GHOST_TInt32 inY,
+ GHOST_TInt32& outX, GHOST_TInt32& outY) const;
+
+ void
+ clientToScreen(GHOST_TInt32 inX, GHOST_TInt32 inY,
+ GHOST_TInt32& outX, GHOST_TInt32& outY) const;
+
+ GHOST_TSuccess
+ swapBuffers();
+
+ GHOST_TSuccess
+ activateDrawingContext();
+
+ GHOST_TSuccess
+ setState(GHOST_TWindowState state);
+
+ GHOST_TWindowState
+ getState() const;
+
+ GHOST_TSuccess setOrder(GHOST_TWindowOrder order) { return GHOST_kSuccess; } // TODO
+
+};
+
+
+#endif // _GHOST_WINDOWSDL_H_
diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp
index aae1509fda1..d9a495ad0f4 100644
--- a/intern/ghost/intern/GHOST_WindowWin32.cpp
+++ b/intern/ghost/intern/GHOST_WindowWin32.cpp
@@ -136,7 +136,7 @@ GHOST_WindowWin32::GHOST_WindowWin32(
GHOST_TSuccess msEnabled,
int msPixelFormat)
:
- GHOST_Window(title, left, top, width, height, state, GHOST_kDrawingContextTypeNone,
+ GHOST_Window(width, height, state, GHOST_kDrawingContextTypeNone,
stereoVisual,numOfAASamples),
m_system(system),
m_hDC(0),
@@ -612,7 +612,6 @@ GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state)
wp.showCmd = SW_SHOWMINIMIZED;
break;
case GHOST_kWindowStateMaximized:
- ShowWindow(m_hWnd, SW_HIDE);
wp.showCmd = SW_SHOWMAXIMIZED;
SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW);
break;
@@ -629,12 +628,12 @@ GHOST_TSuccess GHOST_WindowWin32::setState(GHOST_TWindowState state)
break;
case GHOST_kWindowStateNormal:
default:
- ShowWindow(m_hWnd, SW_HIDE);
wp.showCmd = SW_SHOWNORMAL;
SetWindowLongPtr(m_hWnd, GWL_STYLE, WS_OVERLAPPEDWINDOW);
break;
}
- return ::SetWindowPlacement(m_hWnd, &wp) == TRUE ? GHOST_kSuccess : GHOST_kFailure;
+ SetWindowPos(m_hWnd, 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED); /*Clears window cache for SetWindowLongPtr */
+ return ::SetWindowPlacement(m_hWnd, &wp) == TRUE ? GHOST_kSuccess : GHOST_kFailure;
}
@@ -867,6 +866,8 @@ GHOST_TSuccess GHOST_WindowWin32::installDrawingContext(GHOST_TDrawingContextTyp
{
// Make sure we don't screw up the context
+ if (m_hGlRc == s_firsthGLRc)
+ s_firsthGLRc = NULL;
m_drawingContextType = GHOST_kDrawingContextTypeOpenGL;
removeDrawingContext();
diff --git a/intern/ghost/intern/GHOST_WindowWin32.h b/intern/ghost/intern/GHOST_WindowWin32.h
index 4055c3acf56..70914d9d2ef 100644
--- a/intern/ghost/intern/GHOST_WindowWin32.h
+++ b/intern/ghost/intern/GHOST_WindowWin32.h
@@ -39,19 +39,11 @@
#endif // WIN32
#include "GHOST_Window.h"
+#include "GHOST_TaskbarWin32.h"
-/* MinGW needs it */
-#ifdef FREE_WINDOWS
-#ifdef WINVER
-#undef WINVER
-#endif
-#define WINVER 0x0501
-#endif
-
-
-
+#define _WIN32_WINNT 0x501 // require Windows XP or newer
+#define WIN32_LEAN_AND_MEAN
#include <windows.h>
-#include "GHOST_TaskbarWin32.h"
#include <wintab.h>
diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp
index fc72ea09f40..de725151607 100644
--- a/intern/ghost/intern/GHOST_WindowX11.cpp
+++ b/intern/ghost/intern/GHOST_WindowX11.cpp
@@ -164,7 +164,7 @@ GHOST_WindowX11(
const bool stereoVisual,
const GHOST_TUns16 numOfAASamples
) :
- GHOST_Window(title,left,top,width,height,state,type,stereoVisual,numOfAASamples),
+ GHOST_Window(width,height,state,type,stereoVisual,numOfAASamples),
m_context(NULL),
m_display(display),
m_normal_state(GHOST_kWindowStateNormal),
diff --git a/intern/ghost/test/CMakeLists.txt b/intern/ghost/test/CMakeLists.txt
new file mode 100644
index 00000000000..f834b55b387
--- /dev/null
+++ b/intern/ghost/test/CMakeLists.txt
@@ -0,0 +1,155 @@
+
+cmake_policy(SET CMP0003 NEW)
+cmake_policy(SET CMP0005 NEW)
+
+cmake_minimum_required(VERSION 2.8)
+
+# -----------------------------------------------------------------------------
+# Macros
+
+
+# stub macro, does nothing
+macro(blender_add_lib
+ name
+ sources
+ includes
+ includes_sys
+ )
+
+endmacro()
+
+# suffix relative paths so we can use external cmake files
+macro(suffix_relpaths
+ new_files files prefix)
+
+ set(${new_files})
+ foreach(_file ${files})
+ if(IS_ABSOLUTE _file)
+ list(APPEND ${new_files} ${_file})
+ else()
+ list(APPEND ${new_files} "${prefix}${_file}")
+ endif()
+ endforeach()
+ unset(_file)
+endmacro()
+
+
+# -----------------------------------------------------------------------------
+# Libraries
+
+# ghost
+include(${CMAKE_SOURCE_DIR}/../CMakeLists.txt)
+suffix_relpaths(INC_NEW "${INC}" "../")
+suffix_relpaths(SRC_NEW "${SRC}" "../")
+include_directories(${INC_NEW})
+add_library(ghost_lib ${SRC_NEW})
+
+# string
+include(${CMAKE_SOURCE_DIR}/../../string/CMakeLists.txt)
+suffix_relpaths(INC_NEW "${INC}" "../../string/")
+suffix_relpaths(SRC_NEW "${SRC}" "../../string/")
+include_directories(${INC_NEW})
+add_library(string_lib ${SRC_NEW})
+
+# guardedalloc
+include(${CMAKE_SOURCE_DIR}/../../guardedalloc/CMakeLists.txt)
+suffix_relpaths(INC_NEW "${INC}" "../../guardedalloc/")
+suffix_relpaths(SRC_NEW "${SRC}" "../../guardedalloc/")
+include_directories(${INC_NEW})
+add_library(guardedalloc_lib ${SRC_NEW})
+
+# blenfont
+include(${CMAKE_SOURCE_DIR}/../../../source/blender/blenfont/CMakeLists.txt)
+suffix_relpaths(INC_NEW "${INC}" "../../../source/blender/blenfont/")
+suffix_relpaths(SRC_NEW "${SRC}" "../../../source/blender/blenfont/")
+include_directories(${INC_NEW})
+add_library(blenfont_lib ${SRC_NEW})
+
+# grr, blenfont needs BLI
+include_directories(
+ "../../../source/blender/blenlib"
+ "../../../source/blender/blenloader"
+ )
+add_library(bli_lib
+ "../../../source/blender/blenlib/intern/fileops.c"
+ "../../../source/blender/blenlib/intern/rct.c"
+ "../../../source/blender/blenlib/intern/string.c"
+ "../../../source/blender/blenlib/intern/listbase.c"
+ "../../../source/blender/blenlib/intern/storage.c"
+ "../../../source/blender/blenlib/intern/path_util.c"
+ "../../../source/blender/blenlib/intern/BLI_dynstr.c"
+ "../../../source/blender/blenlib/intern/BLI_linklist.c"
+ "../../../source/blender/blenlib/intern/BLI_memarena.c"
+ )
+
+
+find_package(OpenGL REQUIRED)
+
+find_package(Freetype REQUIRED)
+
+include_directories(${CMAKE_SOURCE_DIR}/../)
+include_directories(${OPENGL_INCLUDE_DIR})
+include_directories(${FREETYPE_INCLUDE_DIRS})
+include_directories(${CMAKE_SOURCE_DIR}/../../../source/blender/blenfont)
+
+if(UNIX AND NOT APPLE)
+ find_package(X11 REQUIRED)
+
+ set(PLATFORM_LINKLIBS
+ ${X11_X11_LIB}
+ ${X11_Xinput_LIB}
+ )
+endif()
+
+# -----------------------------------------------------------------------------
+# Executables
+
+
+# Gears (C)
+add_executable(gears_c
+ ${CMAKE_SOURCE_DIR}/gears/GHOST_C-Test.c)
+
+target_link_libraries(gears_c
+ ghost_lib
+ string_lib
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${PLATFORM_LINKLIBS}
+ )
+
+
+# Gears (C++)
+add_executable(gears_cpp
+ ${CMAKE_SOURCE_DIR}/gears/GHOST_Test.cpp)
+
+target_link_libraries(gears_cpp
+ ghost_lib
+ string_lib
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${PLATFORM_LINKLIBS}
+ )
+
+
+# MultiTest (C)
+add_executable(multitest_c
+ ${CMAKE_SOURCE_DIR}/../../../source/blender/editors/datafiles/bfont.ttf.c
+ ${CMAKE_SOURCE_DIR}/multitest/Basic.c
+ ${CMAKE_SOURCE_DIR}/multitest/EventToBuf.c
+ ${CMAKE_SOURCE_DIR}/multitest/MultiTest.c
+ ${CMAKE_SOURCE_DIR}/multitest/ScrollBar.c
+ ${CMAKE_SOURCE_DIR}/multitest/Util.c
+ ${CMAKE_SOURCE_DIR}/multitest/WindowData.c
+)
+
+target_link_libraries(multitest_c
+ blenfont_lib
+ bli_lib
+ ghost_lib
+ string_lib
+ guardedalloc_lib
+ ${OPENGL_gl_LIBRARY}
+ ${OPENGL_glu_LIBRARY}
+ ${FREETYPE_LIBRARY}
+ ${PLATFORM_LINKLIBS}
+ )
diff --git a/intern/ghost/test/gears/GHOST_C-Test.c b/intern/ghost/test/gears/GHOST_C-Test.c
index b34a37132b6..c582d205258 100644
--- a/intern/ghost/test/gears/GHOST_C-Test.c
+++ b/intern/ghost/test/gears/GHOST_C-Test.c
@@ -474,6 +474,7 @@ int main(int argc, char** argv)
200,
GHOST_kWindowStateNormal,
GHOST_kDrawingContextTypeOpenGL,
+ FALSE,
FALSE);
if (!sMainWindow)
{
@@ -490,6 +491,7 @@ int main(int argc, char** argv)
200,
GHOST_kWindowStateNormal,
GHOST_kDrawingContextTypeOpenGL,
+ FALSE,
FALSE);
if (!sSecondaryWindow)
{
diff --git a/intern/ghost/test/gears/GHOST_Test.cpp b/intern/ghost/test/gears/GHOST_Test.cpp
index 6e269e1cede..930faf463b6 100644
--- a/intern/ghost/test/gears/GHOST_Test.cpp
+++ b/intern/ghost/test/gears/GHOST_Test.cpp
@@ -428,7 +428,7 @@ Application::Application(GHOST_ISystem* system)
// Create the main window
STR_String title1 ("gears - main window");
m_mainWindow = system->createWindow(title1, 10, 64, 320, 200, GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL, true /* stereo flag */);
+ GHOST_kDrawingContextTypeOpenGL, false, false);
if (!m_mainWindow) {
std::cout << "could not create main window\n";
@@ -438,7 +438,7 @@ Application::Application(GHOST_ISystem* system)
// Create a secondary window
STR_String title2 ("gears - secondary window");
m_secondaryWindow = system->createWindow(title2, 340, 64, 320, 200, GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL, false /* stereo flag */);
+ GHOST_kDrawingContextTypeOpenGL, false, false);
if (!m_secondaryWindow) {
cout << "could not create secondary window\n";
exit(-1);
diff --git a/intern/ghost/test/multitest/MultiTest.c b/intern/ghost/test/multitest/MultiTest.c
index 848601b2cc7..00939e907d6 100644
--- a/intern/ghost/test/multitest/MultiTest.c
+++ b/intern/ghost/test/multitest/MultiTest.c
@@ -42,7 +42,18 @@
#include "MEM_guardedalloc.h"
#include "GHOST_C-api.h"
-#include "BMF_Api.h"
+
+#ifdef USE_BMF
+# include "BMF_Api.h"
+#else
+# include "BLF_api.h"
+ extern int datatoc_bfont_ttf_size;
+ extern char datatoc_bfont_ttf[];
+
+ // XXX, bad, but BLI uses these
+ char bprogname[160]= "";
+char U[1024]= {0};
+#endif
#include "Util.h"
#include "Basic.h"
@@ -291,7 +302,7 @@ MainWindow *mainwindow_new(MultiTestApp *app) {
win= GHOST_CreateWindow(sys, "MultiTest:Main", 40, 40, 400, 400,
GHOST_kWindowStateNormal, GHOST_kDrawingContextTypeOpenGL,
- FALSE);
+ FALSE, FALSE);
if (win) {
MainWindow *mw= MEM_callocN(sizeof(*mw), "mainwindow_new");
@@ -324,8 +335,12 @@ struct _LoggerWindow {
MultiTestApp *app;
GHOST_WindowHandle win;
-
+
+#ifdef USE_BMF
BMF_Font *font;
+#else
+ int font;
+#endif
int fonttexid;
int fontheight;
@@ -429,18 +444,26 @@ static void loggerwindow_do_draw(LoggerWindow *lw) {
char *line= lw->loglines[(lw->nloglines-1)-(i+startline)];
int x_pos= lw->textarea[0][0] + 4;
int y_pos= lw->textarea[0][1] + 4 + i*lw->fontheight;
-
+
+#ifdef USE_BMF
if (lw->fonttexid==-1) {
glRasterPos2i(x_pos, y_pos);
BMF_DrawString(lw->font, line);
} else {
BMF_DrawStringTexture(lw->font, line, x_pos, y_pos, 0.0);
}
+#else
+ BLF_position(lw->font, x_pos, y_pos, 0.0);
+ BLF_draw(lw->font, line, 256); // XXX
+#endif
}
+
+#ifdef USE_BMF
if (lw->fonttexid!=-1) {
glDisable(GL_TEXTURE_2D);
glDisable(GL_BLEND);
}
+#endif
GHOST_SwapWindowBuffers(lw->win);
}
@@ -531,19 +554,25 @@ LoggerWindow *loggerwindow_new(MultiTestApp *app) {
GHOST_GetMainDisplayDimensions(sys, &screensize[0], &screensize[1]);
win= GHOST_CreateWindow(sys, "MultiTest:Logger", 40, screensize[1]-432,
800, 300, GHOST_kWindowStateNormal,
- GHOST_kDrawingContextTypeOpenGL, FALSE);
+ GHOST_kDrawingContextTypeOpenGL, FALSE, FALSE);
if (win) {
LoggerWindow *lw= MEM_callocN(sizeof(*lw), "loggerwindow_new");
int bbox[2][2];
lw->app= app;
lw->win= win;
-
+
+#ifdef USE_BMF
lw->font= BMF_GetFont(BMF_kScreen12);
lw->fonttexid= BMF_GetFontTexture(lw->font);
BMF_GetBoundingBox(lw->font, &bbox[0][0], &bbox[0][1], &bbox[1][0], &bbox[1][1]);
lw->fontheight= rect_height(bbox);
+#else
+ lw->font= BLF_load_mem("default", (unsigned char*)datatoc_bfont_ttf, datatoc_bfont_ttf_size);
+ BLF_size(lw->font, 11, 72);
+ lw->fontheight= BLF_height(lw->font, "A_");
+#endif
lw->nloglines= lw->logsize= 0;
lw->loglines= MEM_mallocN(sizeof(*lw->loglines)*lw->nloglines, "loglines");
@@ -711,7 +740,7 @@ ExtraWindow *extrawindow_new(MultiTestApp *app) {
win= GHOST_CreateWindow(sys, "MultiTest:Extra", 500, 40, 400, 400,
GHOST_kWindowStateNormal, GHOST_kDrawingContextTypeOpenGL,
- FALSE);
+ FALSE, FALSE);
if (win) {
ExtraWindow *ew= MEM_callocN(sizeof(*ew), "mainwindow_new");
@@ -786,7 +815,7 @@ static int multitest_event_handler(GHOST_EventHandle evt, GHOST_TUserDataPtr dat
MultiTestApp *multitestapp_new(void) {
MultiTestApp *app= MEM_mallocN(sizeof(*app), "multitestapp_new");
GHOST_EventConsumerHandle consumer= GHOST_CreateEventConsumer(multitest_event_handler, app);
-
+
app->sys= GHOST_CreateSystem();
if (!app->sys)
fatal("Unable to create ghost system");
@@ -850,6 +879,10 @@ void multitestapp_free(MultiTestApp *app) {
/***/
int main(int argc, char **argv) {
+#ifndef USE_BMF
+ BLF_init(11, 72);
+#endif
+
MultiTestApp *app= multitestapp_new();
multitestapp_run(app);
diff --git a/intern/guardedalloc/MEM_sys_types.h b/intern/guardedalloc/MEM_sys_types.h
index c5148e84ffe..4debb32b5c4 100644
--- a/intern/guardedalloc/MEM_sys_types.h
+++ b/intern/guardedalloc/MEM_sys_types.h
@@ -88,7 +88,7 @@ typedef unsigned long uintptr_t;
#define _UINTPTR_T_DEFINED
#endif
-#elif defined(__linux__) || defined(__NetBSD__)
+#elif defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__)
/* Linux-i386, Linux-Alpha, Linux-ppc */
#include <stdint.h>
@@ -98,7 +98,8 @@ typedef unsigned long uintptr_t;
#include <inttypes.h>
#elif defined(FREE_WINDOWS)
-
+/* define htoln here, there must be a syntax error in winsock2.h in MinGW */
+unsigned long __attribute__((__stdcall__)) htonl(unsigned long);
#include <stdint.h>
#else
@@ -109,12 +110,14 @@ typedef unsigned long uintptr_t;
#endif /* ifdef platform for types */
#ifdef _WIN32
+#ifndef FREE_WINDOWS
#ifndef htonl
#define htonl(x) correctByteOrder(x)
#endif
#ifndef ntohl
#define ntohl(x) correctByteOrder(x)
#endif
+#endif
#elif defined (__FreeBSD__) || defined (__OpenBSD__)
#include <sys/param.h>
#elif defined (__APPLE__)
diff --git a/intern/guardedalloc/intern/mallocn.c b/intern/guardedalloc/intern/mallocn.c
index 55340d6011d..2421c25398a 100644
--- a/intern/guardedalloc/intern/mallocn.c
+++ b/intern/guardedalloc/intern/mallocn.c
@@ -429,7 +429,7 @@ static int compare_len(const void *p1, const void *p2)
return -1;
}
-void MEM_printmemlist_stats()
+void MEM_printmemlist_stats(void)
{
MemHead *membl;
MemPrintBlock *pb, *printblock;
diff --git a/intern/iksolver/intern/IK_QJacobian.cpp b/intern/iksolver/intern/IK_QJacobian.cpp
index 6cc73e9c808..5a216309cee 100644
--- a/intern/iksolver/intern/IK_QJacobian.cpp
+++ b/intern/iksolver/intern/IK_QJacobian.cpp
@@ -59,6 +59,7 @@ void IK_QJacobian::ArmMatrices(int dof, int task_size)
m_d_theta.newsize(dof);
m_d_theta_tmp.newsize(dof);
+ m_d_norm_weight.newsize(dof);
m_norm.newsize(dof);
m_norm = 0.0;
@@ -111,11 +112,13 @@ void IK_QJacobian::SetBetas(int id, int, const MT_Vector3& v)
m_beta[id+2] = v.z();
}
-void IK_QJacobian::SetDerivatives(int id, int dof_id, const MT_Vector3& v)
+void IK_QJacobian::SetDerivatives(int id, int dof_id, const MT_Vector3& v, MT_Scalar norm_weight)
{
m_jacobian[id][dof_id] = v.x()*m_weight_sqrt[dof_id];
m_jacobian[id+1][dof_id] = v.y()*m_weight_sqrt[dof_id];
m_jacobian[id+2][dof_id] = v.z()*m_weight_sqrt[dof_id];
+
+ m_d_norm_weight[dof_id] = norm_weight;
}
void IK_QJacobian::Invert()
@@ -429,7 +432,7 @@ MT_Scalar IK_QJacobian::AngleUpdateNorm() const
MT_Scalar mx = 0.0, dtheta_abs;
for (i = 0; i < m_d_theta.size(); i++) {
- dtheta_abs = MT_abs(m_d_theta[i]);
+ dtheta_abs = MT_abs(m_d_theta[i]*m_d_norm_weight[i]);
if (dtheta_abs > mx)
mx = dtheta_abs;
}
diff --git a/intern/iksolver/intern/IK_QJacobian.h b/intern/iksolver/intern/IK_QJacobian.h
index 438b9a02c67..ecfaee5ff97 100644
--- a/intern/iksolver/intern/IK_QJacobian.h
+++ b/intern/iksolver/intern/IK_QJacobian.h
@@ -56,7 +56,7 @@ public:
// Iteratively called
void SetBetas(int id, int size, const MT_Vector3& v);
- void SetDerivatives(int id, int dof_id, const MT_Vector3& v);
+ void SetDerivatives(int id, int dof_id, const MT_Vector3& v, MT_Scalar norm_weight);
void Invert();
@@ -89,6 +89,7 @@ private:
/// the vector of computed angle changes
TVector m_d_theta;
+ TVector m_d_norm_weight;
/// space required for SVD computation
diff --git a/intern/iksolver/intern/IK_QSegment.cpp b/intern/iksolver/intern/IK_QSegment.cpp
index 237edfd4594..ba4fbb88542 100644
--- a/intern/iksolver/intern/IK_QSegment.cpp
+++ b/intern/iksolver/intern/IK_QSegment.cpp
@@ -319,7 +319,7 @@ void IK_QSegment::RemoveChild(IK_QSegment *child)
else {
IK_QSegment *seg = m_child;
- while (seg->m_sibling != child);
+ while (seg->m_sibling != child)
seg = seg->m_sibling;
if (child == seg->m_sibling)
@@ -905,9 +905,6 @@ void IK_QElbowSegment::SetLimit(int axis, MT_Scalar lmin, MT_Scalar lmax)
lmin = MT_clamp(lmin, -MT_PI, MT_PI);
lmax = MT_clamp(lmax, -MT_PI, MT_PI);
- lmin = lmin;
- lmax = lmax;
-
if (axis == 1) {
m_min_twist = lmin;
m_max_twist = lmax;
diff --git a/intern/iksolver/intern/IK_QTask.cpp b/intern/iksolver/intern/IK_QTask.cpp
index 32ecb833899..32143518533 100644
--- a/intern/iksolver/intern/IK_QTask.cpp
+++ b/intern/iksolver/intern/IK_QTask.cpp
@@ -95,10 +95,10 @@ void IK_QPositionTask::ComputeJacobian(IK_QJacobian& jacobian)
MT_Vector3 axis = seg->Axis(i)*m_weight;
if (seg->Translational())
- jacobian.SetDerivatives(m_id, seg->DoFId()+i, axis);
+ jacobian.SetDerivatives(m_id, seg->DoFId()+i, axis, 1e2);
else {
MT_Vector3 pa = p.cross(axis);
- jacobian.SetDerivatives(m_id, seg->DoFId()+i, pa);
+ jacobian.SetDerivatives(m_id, seg->DoFId()+i, pa, 1e0);
}
}
}
@@ -147,10 +147,10 @@ void IK_QOrientationTask::ComputeJacobian(IK_QJacobian& jacobian)
for (i = 0; i < seg->NumberOfDoF(); i++) {
if (seg->Translational())
- jacobian.SetDerivatives(m_id, seg->DoFId()+i, MT_Vector3(0, 0, 0));
+ jacobian.SetDerivatives(m_id, seg->DoFId()+i, MT_Vector3(0, 0, 0), 1e2);
else {
MT_Vector3 axis = seg->Axis(i)*m_weight;
- jacobian.SetDerivatives(m_id, seg->DoFId()+i, axis);
+ jacobian.SetDerivatives(m_id, seg->DoFId()+i, axis, 1e0);
}
}
}
@@ -202,10 +202,10 @@ void IK_QCenterOfMassTask::JacobianSegment(IK_QJacobian& jacobian, MT_Vector3& c
axis *= /*segment->Mass()**/m_total_mass_inv;
if (segment->Translational())
- jacobian.SetDerivatives(m_id, segment->DoFId()+i, axis);
+ jacobian.SetDerivatives(m_id, segment->DoFId()+i, axis, 1e2);
else {
MT_Vector3 pa = axis.cross(p);
- jacobian.SetDerivatives(m_id, segment->DoFId()+i, pa);
+ jacobian.SetDerivatives(m_id, segment->DoFId()+i, pa, 1e0);
}
}
diff --git a/intern/itasc/ConstraintSet.cpp b/intern/itasc/ConstraintSet.cpp
index 3b50e353758..b07dc5bb983 100644
--- a/intern/itasc/ConstraintSet.cpp
+++ b/intern/itasc/ConstraintSet.cpp
@@ -134,6 +134,7 @@ bool ConstraintSet::setControlParameter(int id, ConstraintAction action, double
break;
default:
assert(action==ACT_NONE);
+ break;
}
return setControlParameters(&values, 1, timestep);
}
diff --git a/intern/itasc/kdl/frames_io.cpp b/intern/itasc/kdl/frames_io.cpp
index d84e95c766b..3db0790cabf 100644
--- a/intern/itasc/kdl/frames_io.cpp
+++ b/intern/itasc/kdl/frames_io.cpp
@@ -133,7 +133,7 @@ std::istream& operator >> (std::istream& is,Vector& v)
{ IOTrace("Stream input Vector (vector or ZERO)");
char storage[10];
EatWord(is,"[]",storage,10);
- if (strlen(storage)==0) {
+ if (storage[0]=='\0') {
Eat(is,'[');
is >> v(0);
Eat(is,',');
@@ -194,7 +194,7 @@ std::istream& operator >> (std::istream& is,Rotation& r)
{ IOTrace("Stream input Rotation (Matrix or EULERZYX, EULERZYZ,RPY, ROT, IDENTITY)");
char storage[10];
EatWord(is,"[]",storage,10);
- if (strlen(storage)==0) {
+ if (storage[0]=='\0') {
Eat(is,'[');
for (int i=0;i<3;i++) {
is >> r(i,0);
@@ -255,7 +255,7 @@ std::istream& operator >> (std::istream& is,Frame& T)
{ IOTrace("Stream input Frame (Rotation,Vector) or DH[...]");
char storage[10];
EatWord(is,"[",storage,10);
- if (strlen(storage)==0) {
+ if (storage[0]=='\0') {
Eat(is,'[');
is >> T.M;
is >> T.p;
diff --git a/intern/mikktspace/mikktspace.c b/intern/mikktspace/mikktspace.c
index c05ada84773..1bb73553012 100644
--- a/intern/mikktspace/mikktspace.c
+++ b/intern/mikktspace/mikktspace.c
@@ -243,7 +243,7 @@ tbool genTangSpace(const SMikkTSpaceContext * pContext, const float fAngularThre
int iNrActiveGroups = 0, index = 0;
const int iNrFaces = pContext->m_pInterface->m_getNumFaces(pContext);
tbool bRes = TFALSE;
- const float fThresCos = (const float) cos((fAngularThreshold*(float)M_PI)/180.0f);
+ const float fThresCos = (float) cos((fAngularThreshold*(float)M_PI)/180.0f);
// verify all call-backs have been set
if( pContext->m_pInterface->m_getNumFaces==NULL ||
@@ -1411,7 +1411,7 @@ STSpace EvalTspace(int face_indices[], const int iFaces, const int piTriListIn[]
// weight contribution by the angle
// between the two edge vectors
fCos = vdot(v1,v2); fCos=fCos>1?1:(fCos<(-1) ? (-1) : fCos);
- fAngle = (const float) acos(fCos);
+ fAngle = (float) acos(fCos);
fMagS = pTriInfos[f].fMagS;
fMagT = pTriInfos[f].fMagT;
diff --git a/intern/opennl/CMakeLists.txt b/intern/opennl/CMakeLists.txt
index 55b0bc5855f..7d6a579819e 100644
--- a/intern/opennl/CMakeLists.txt
+++ b/intern/opennl/CMakeLists.txt
@@ -31,6 +31,13 @@ remove_strict_flags()
# and debug gives a lot of prints on UV unwrapping. developers can enable if they need to.
remove_flag("-DDEBUG")
+
+# quiet compiler warnings about undefined defines
+add_definitions(
+ -DDEBUGlevel=0
+ -DPRNTlevel=0
+)
+
set(INC
extern
superlu
diff --git a/intern/opennl/superlu/superlu_sys_types.h b/intern/opennl/superlu/superlu_sys_types.h
index 2cd9cab453d..c154b4c50ac 100644
--- a/intern/opennl/superlu/superlu_sys_types.h
+++ b/intern/opennl/superlu/superlu_sys_types.h
@@ -89,7 +89,7 @@ typedef unsigned long uintptr_t;
#define _UINTPTR_T_DEFINED
#endif
-#elif defined(__linux__) || defined(__NetBSD__)
+#elif defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__)
/* Linux-i386, Linux-Alpha, Linux-ppc */
#include <stdint.h>
diff --git a/intern/smoke/CMakeLists.txt b/intern/smoke/CMakeLists.txt
index c787f54b284..228ff6ec389 100644
--- a/intern/smoke/CMakeLists.txt
+++ b/intern/smoke/CMakeLists.txt
@@ -84,12 +84,14 @@ set(SRC
)
if(WITH_OPENMP)
- add_definitions(-DPARALLEL=1)
+ add_definitions(-DPARALLEL=1)
endif()
if(WITH_FFTW3)
- add_definitions(-DFFTW3=1)
- list(APPEND INC ${FFTW3_INC})
+ add_definitions(-DWITH_FFTW3)
+ list(APPEND INC
+ ${FFTW3_INCLUDE_DIRS}
+ )
endif()
blender_add_lib(bf_intern_smoke "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/intern/smoke/SConscript b/intern/smoke/SConscript
index fa32c5f36c3..0511257d319 100644
--- a/intern/smoke/SConscript
+++ b/intern/smoke/SConscript
@@ -16,7 +16,7 @@ incs += ' ' + env['BF_PNG_INC'] + ' ' + env['BF_ZLIB_INC']
incs += ' intern ../../extern/bullet2/src ../memutil ../guardealloc '
if env['WITH_BF_FFTW3']:
- defs += ' FFTW3=1'
+ defs += ' WITH_FFTW3'
incs += env['BF_FFTW3_INC']
env.BlenderLib ('bf_intern_smoke', sources, Split(incs), Split(defs), libtype=['intern'], priority=[40] )
diff --git a/intern/smoke/intern/FFT_NOISE.h b/intern/smoke/intern/FFT_NOISE.h
index b0597d7b20c..a087b4e1391 100644
--- a/intern/smoke/intern/FFT_NOISE.h
+++ b/intern/smoke/intern/FFT_NOISE.h
@@ -25,7 +25,7 @@
#ifndef FFT_NOISE_H_
#define FFT_NOISE_H_
-#if FFTW3==1
+#ifdef WITH_FFTW3
#include <iostream>
#include <fftw3.h>
#include <MERSENNETWISTER.h>
diff --git a/intern/smoke/intern/WAVELET_NOISE.h b/intern/smoke/intern/WAVELET_NOISE.h
index b556b4a2e66..66dfb95d143 100644
--- a/intern/smoke/intern/WAVELET_NOISE.h
+++ b/intern/smoke/intern/WAVELET_NOISE.h
@@ -45,6 +45,11 @@
#include <MERSENNETWISTER.h>
+#ifdef WIN32
+#include <float.h>
+#define isnan _isnan
+#endif
+
// Tile file header, update revision upon any change done to the noise generator
static const char tilefile_headerstring[] = "Noise Tile File rev. ";
static const char tilefile_revision[] = "001";
@@ -69,7 +74,7 @@ static void downsampleX(float *from, float *to, int n){
const float *a = &downCoeffs[16];
for (int i = 0; i < n / 2; i++) {
to[i] = 0;
- for (int k = 2 * i - 16; k <= 2 * i + 16; k++)
+ for (int k = 2 * i - 16; k < 2 * i + 16; k++)
to[i] += a[k - 2 * i] * from[modFast128(k)];
}
}
@@ -79,7 +84,7 @@ static void downsampleY(float *from, float *to, int n){
const float *a = &downCoeffs[16];
for (int i = 0; i < n / 2; i++) {
to[i * n] = 0;
- for (int k = 2 * i - 16; k <= 2 * i + 16; k++)
+ for (int k = 2 * i - 16; k < 2 * i + 16; k++)
to[i * n] += a[k - 2 * i] * from[modFast128(k) * n];
}
}
@@ -89,7 +94,7 @@ static void downsampleZ(float *from, float *to, int n){
const float *a = &downCoeffs[16];
for (int i = 0; i < n / 2; i++) {
to[i * n * n] = 0;
- for (int k = 2 * i - 16; k <= 2 * i + 16; k++)
+ for (int k = 2 * i - 16; k < 2 * i + 16; k++)
to[i * n * n] += a[k - 2 * i] * from[modFast128(k) * n * n];
}
}
@@ -262,6 +267,14 @@ static bool loadTile(float* const noiseTileData, std::string filename)
printf("loadTile: Noise tile '%s' is wrong size %d.\n", filename.c_str(), (int)bread);
return false;
}
+
+ // check for invalid nan tile data that could be generated. bug is now
+ // fixed, but invalid files may still hang around
+ if (isnan(noiseTileData[0])) {
+ printf("loadTile: Noise tile '%s' contains nan values.\n", filename.c_str());
+ return false;
+ }
+
return true;
}
diff --git a/intern/smoke/intern/WTURBULENCE.cpp b/intern/smoke/intern/WTURBULENCE.cpp
index 9934e3017cf..cd18cf7b344 100644
--- a/intern/smoke/intern/WTURBULENCE.cpp
+++ b/intern/smoke/intern/WTURBULENCE.cpp
@@ -155,7 +155,7 @@ void WTURBULENCE::setNoise(int type)
if(type == (1<<1)) // FFT
{
// needs fft
- #if FFTW3==1
+ #ifdef WITH_FFTW3
std::string noiseTileFilename = std::string("noise.fft");
generatTile_FFT(_noiseTile, noiseTileFilename);
#endif
diff --git a/release/datafiles/blenderbuttons b/release/datafiles/blenderbuttons
index 9872e53585e..4c064182a8c 100644
--- a/release/datafiles/blenderbuttons
+++ b/release/datafiles/blenderbuttons
Binary files differ
diff --git a/release/datafiles/splash.png b/release/datafiles/splash.png
index cad2bc5f06c..79339095b07 100644
--- a/release/datafiles/splash.png
+++ b/release/datafiles/splash.png
Binary files differ
diff --git a/release/scripts/modules/addon_utils.py b/release/scripts/modules/addon_utils.py
index 3877f711b7f..0c5ef69e805 100644
--- a/release/scripts/modules/addon_utils.py
+++ b/release/scripts/modules/addon_utils.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
__all__ = (
"paths",
@@ -26,11 +26,15 @@ __all__ = (
"disable",
"reset_all",
"module_bl_info",
-)
+ )
import bpy as _bpy
+error_duplicates = False
+error_encoding = False
+
+
def paths():
# RELEASE SCRIPTS: official scripts distributed in Blender releases
paths = _bpy.utils.script_paths("addons")
@@ -47,14 +51,19 @@ def paths():
def modules(module_cache):
+ global error_duplicates
+ global error_encoding
import os
- import sys
- import time
+
+ error_duplicates = False
+ error_encoding = False
path_list = paths()
# fake module importing
def fake_module(mod_name, mod_path, speedy=True):
+ global error_encoding
+
if _bpy.app.debug:
print("fake_module", mod_path, mod_name)
import ast
@@ -65,12 +74,28 @@ def modules(module_cache):
line_iter = iter(file_mod)
l = ""
while not l.startswith("bl_info"):
- l = line_iter.readline()
+ try:
+ l = line_iter.readline()
+ except UnicodeDecodeError as e:
+ if not error_encoding:
+ error_encoding = True
+ print("Error reading file as UTF-8:", mod_path, e)
+ file_mod.close()
+ return None
+
if len(l) == 0:
break
while l.rstrip():
lines.append(l)
- l = line_iter.readline()
+ try:
+ l = line_iter.readline()
+ except UnicodeDecodeError as e:
+ if not error_encoding:
+ error_encoding = True
+ print("Error reading file as UTF-8:", mod_path, e)
+ file_mod.close()
+ return None
+
data = "".join(lines)
else:
@@ -119,8 +144,18 @@ def modules(module_cache):
modules_stale -= {mod_name}
mod = module_cache.get(mod_name)
if mod:
- if mod.__time__ != os.path.getmtime(mod_path):
- print("reloading addon:", mod_name, mod.__time__, os.path.getmtime(mod_path), mod_path)
+ if mod.__file__ != mod_path:
+ print("multiple addons with the same name:\n %r\n %r" %
+ (mod.__file__, mod_path))
+ error_duplicates = True
+
+ elif mod.__time__ != os.path.getmtime(mod_path):
+ print("reloading addon:",
+ mod_name,
+ mod.__time__,
+ os.path.getmtime(mod_path),
+ mod_path,
+ )
del module_cache[mod_name]
mod = None
@@ -135,7 +170,9 @@ def modules(module_cache):
del modules_stale
mod_list = list(module_cache.values())
- mod_list.sort(key=lambda mod: (mod.bl_info['category'], mod.bl_info['name']))
+ mod_list.sort(key=lambda mod: (mod.bl_info['category'],
+ mod.bl_info['name'],
+ ))
return mod_list
@@ -155,8 +192,9 @@ def check(module_name):
loaded_state = mod and getattr(mod, "__addon_enabled__", Ellipsis)
if loaded_state is Ellipsis:
- print("Warning: addon-module %r found module but without"
- " __addon_enabled__ field, possible name collision from file: %r" %
+ print("Warning: addon-module %r found module "
+ "but without __addon_enabled__ field, "
+ "possible name collision from file: %r" %
(module_name, getattr(mod, "__file__", "<unknown>")))
loaded_state = False
@@ -173,11 +211,9 @@ def enable(module_name, default_set=True):
:return: the loaded module or None on failier.
:rtype: module
"""
- # note, this still gets added to _bpy_types.TypeMap
import os
import sys
- import bpy_types as _bpy_types
import imp
def handle_error():
@@ -201,7 +237,8 @@ def enable(module_name, default_set=True):
return None
mod.__addon_enabled__ = False
- # Split registering up into 3 steps so we can undo if it fails par way through
+ # Split registering up into 3 steps so we can undo
+ # if it fails par way through.
# 1) try import
try:
mod = __import__(module_name)
@@ -246,12 +283,11 @@ def disable(module_name, default_set=True):
:type module_name: string
"""
import sys
- import bpy_types as _bpy_types
-
mod = sys.modules.get(module_name)
- # possible this addon is from a previous session and didnt load a module this time.
- # so even if the module is not found, still disable the addon in the user prefs.
+ # possible this addon is from a previous session and didnt load a
+ # module this time. So even if the module is not found, still disable
+ # the addon in the user prefs.
if mod:
mod.__addon_enabled__ = False
@@ -306,7 +342,22 @@ def reset_all(reload_scripts=False):
disable(mod_name)
-def module_bl_info(mod, info_basis={"name": "", "author": "", "version": (), "blender": (), "api": 0, "location": "", "description": "", "wiki_url": "", "tracker_url": "", "support": 'COMMUNITY', "category": "", "warning": "", "show_expanded": False}):
+def module_bl_info(mod, info_basis={"name": "",
+ "author": "",
+ "version": (),
+ "blender": (),
+ "api": 0,
+ "location": "",
+ "description": "",
+ "wiki_url": "",
+ "tracker_url": "",
+ "support": 'COMMUNITY',
+ "category": "",
+ "warning": "",
+ "show_expanded": False,
+ }
+ ):
+
addon_info = getattr(mod, "bl_info", {})
# avoid re-initializing
diff --git a/release/scripts/modules/bpy/__init__.py b/release/scripts/modules/bpy/__init__.py
index 1df8e9e5588..5c371fd750a 100644
--- a/release/scripts/modules/bpy/__init__.py
+++ b/release/scripts/modules/bpy/__init__.py
@@ -16,34 +16,45 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
"""
Give access to blender data and utility functions.
"""
-# internal blender C module
-import _bpy
-from _bpy import types, props, app
+__all__ = (
+ "app",
+ "context",
+ "data",
+ "ops",
+ "path",
+ "props",
+ "types",
+ "utils",
+ )
+
-data = _bpy.data
-context = _bpy.context
+# internal blender C module
+from _bpy import types, props, app, data, context
# python modules
-from . import utils, path
-from . import ops as _ops_module
+from . import utils, path, ops
# fake operator module
-ops = _ops_module.ops_fake_module
+ops = ops.ops_fake_module
-import sys as _sys
-
-def _main():
+def main():
+ import sys
# Possibly temp. addons path
from os.path import join, dirname, normpath
- _sys.path.append(normpath(join(dirname(__file__), "..", "..", "addons", "modules")))
+ sys.path.append(normpath(join(dirname(__file__),
+ "..", "..", "addons", "modules")))
+
+ # fake module to allow:
+ # from bpy.types import Panel
+ sys.modules["bpy.types"] = types
# if "-d" in sys.argv: # Enable this to measure startup speed
if 0:
@@ -58,4 +69,6 @@ def _main():
utils.load_scripts()
-_main()
+main()
+
+del main
diff --git a/release/scripts/modules/bpy/ops.py b/release/scripts/modules/bpy/ops.py
index f54b0a1fefc..64c5a1a5f5f 100644
--- a/release/scripts/modules/bpy/ops.py
+++ b/release/scripts/modules/bpy/ops.py
@@ -29,7 +29,7 @@ op_as_string = ops_module.as_string
op_get_rna = ops_module.get_rna
-class bpy_ops(object):
+class BPyOps(object):
'''
Fake module like class.
@@ -42,7 +42,7 @@ class bpy_ops(object):
'''
if module.startswith('__'):
raise AttributeError(module)
- return bpy_ops_submodule(module)
+ return BPyOpsSubMod(module)
def __dir__(self):
@@ -67,7 +67,7 @@ class bpy_ops(object):
return "<module like class 'bpy.ops'>"
-class bpy_ops_submodule(object):
+class BPyOpsSubMod(object):
'''
Utility class to fake submodules.
@@ -84,7 +84,7 @@ class bpy_ops_submodule(object):
'''
if func.startswith('__'):
raise AttributeError(func)
- return bpy_ops_submodule_op(self.module, func)
+ return BPyOpsSubModOp(self.module, func)
def __dir__(self):
@@ -103,7 +103,7 @@ class bpy_ops_submodule(object):
return "<module like class 'bpy.ops.%s'>" % self.module
-class bpy_ops_submodule_op(object):
+class BPyOpsSubModOp(object):
'''
Utility class to fake submodule operators.
@@ -151,7 +151,7 @@ class bpy_ops_submodule_op(object):
self.func = func
def poll(self, *args):
- C_dict, C_exec = __class__._parse_args(args)
+ C_dict, C_exec = BPyOpsSubModOp._parse_args(args)
return op_poll(self.idname_py(), C_dict, C_exec)
def idname(self):
@@ -170,16 +170,16 @@ class bpy_ops_submodule_op(object):
wm = context.window_manager
# run to account for any rna values the user changes.
- __class__._scene_update(context)
+ BPyOpsSubModOp._scene_update(context)
if args:
- C_dict, C_exec = __class__._parse_args(args)
+ C_dict, C_exec = BPyOpsSubModOp._parse_args(args)
ret = op_call(self.idname_py(), C_dict, kw, C_exec)
else:
ret = op_call(self.idname_py(), None, kw)
if 'FINISHED' in ret and context.window_manager == wm:
- __class__._scene_update(context)
+ BPyOpsSubModOp._scene_update(context)
return ret
@@ -208,4 +208,4 @@ class bpy_ops_submodule_op(object):
return "<function bpy.ops.%s.%s at 0x%x'>" % \
(self.module, self.func, id(self))
-ops_fake_module = bpy_ops()
+ops_fake_module = BPyOps()
diff --git a/release/scripts/modules/bpy/path.py b/release/scripts/modules/bpy/path.py
index 5e95428f641..284fef97795 100644
--- a/release/scripts/modules/bpy/path.py
+++ b/release/scripts/modules/bpy/path.py
@@ -16,26 +16,44 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
"""
This module has a similar scope to os.path, containing utility
functions for dealing with paths in Blender.
"""
+__all__ = (
+ "abspath",
+ "basename",
+ "clean_name",
+ "display_name",
+ "display_name_from_filepath",
+ "ensure_ext",
+ "is_subdir",
+ "module_names",
+ "relpath",
+ "resolve_ncase",
+ )
+
import bpy as _bpy
import os as _os
def abspath(path, start=None):
"""
- Returns the absolute path relative to the current blend file using the "//" prefix.
+ Returns the absolute path relative to the current blend file
+ using the "//" prefix.
- :arg start: Relative to this path, when not set the current filename is used.
+ :arg start: Relative to this path,
+ when not set the current filename is used.
:type start: string
"""
if path.startswith("//"):
- return _os.path.join(_os.path.dirname(_bpy.data.filepath if start is None else start), path[2:])
+ return _os.path.join(_os.path.dirname(_bpy.data.filepath)
+ if start is None else start,
+ path[2:],
+ )
return path
@@ -44,7 +62,8 @@ def relpath(path, start=None):
"""
Returns the path relative to the current blend file using the "//" prefix.
- :arg start: Relative to this path, when not set the current filename is used.
+ :arg start: Relative to this path,
+ when not set the current filename is used.
:type start: string
"""
if not path.startswith("//"):
@@ -68,27 +87,28 @@ def is_subdir(path, directory):
def clean_name(name, replace="_"):
"""
- Returns a name with characters replaced that may cause problems under various circumstances, such as writing to a file.
+ Returns a name with characters replaced that
+ may cause problems under various circumstances,
+ such as writing to a file.
All characters besides A-Z/a-z, 0-9 are replaced with "_"
or the replace argument if defined.
"""
- unclean_chars = \
- "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\
- \x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\
- \x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c\
- \x2e\x2f\x3a\x3b\x3c\x3d\x3e\x3f\x40\x5b\x5c\x5d\x5e\x60\x7b\
- \x7c\x7d\x7e\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\
- \x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\
- \x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\
- \xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\
- \xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\
- \xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\
- \xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\
- \xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\
- \xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe"
-
- for ch in unclean_chars:
+ bad_chars = ("\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e"
+ "\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d"
+ "\x1e\x1f\x20\x21\x22\x23\x24\x25\x26\x27\x28\x29\x2a\x2b\x2c"
+ "\x2e\x2f\x3a\x3b\x3c\x3d\x3e\x3f\x40\x5b\x5c\x5d\x5e\x60\x7b"
+ "\x7c\x7d\x7e\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a"
+ "\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99"
+ "\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8"
+ "\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7"
+ "\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6"
+ "\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5"
+ "\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4"
+ "\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3"
+ "\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe")
+
+ for ch in bad_chars:
name = name.replace(ch, replace)
return name
@@ -96,8 +116,9 @@ def clean_name(name, replace="_"):
def display_name(name):
"""
Creates a display string from name to be used menus and the user interface.
- Capitalize the first letter in all lowercase names, mixed case names are kept as is.
- Intended for use with filenames and module names.
+ Capitalize the first letter in all lowercase names,
+ mixed case names are kept as is. Intended for use with
+ filenames and module names.
"""
name_base = _os.path.splitext(name)[0]
@@ -115,9 +136,11 @@ def display_name(name):
def display_name_from_filepath(name):
"""
- Returns the path stripped of directort and extension, ensured to be utf8 compatible.
+ Returns the path stripped of directory and extension,
+ ensured to be utf8 compatible.
"""
- return _os.path.splitext(_os.path.basename(name))[0].encode("utf8", "replace").decode("utf8")
+ name = _os.path.splitext(basename(name))[0]
+ return name.encode("utf8", "replace").decode("utf8")
def resolve_ncase(path):
@@ -132,7 +155,8 @@ def resolve_ncase(path):
if not path or os.path.exists(path):
return path, True
- filename = os.path.basename(path) # filename may be a directory or a file
+ # filename may be a directory or a file
+ filename = os.path.basename(path)
dirpath = os.path.dirname(path)
suffix = path[:0] # "" but ensure byte/str match
@@ -180,7 +204,7 @@ def resolve_ncase(path):
def ensure_ext(filepath, ext, case_sensitive=False):
"""
- Return the path with the extension added its its not alredy set.
+ Return the path with the extension added if it is not already set.
:arg ext: The extension to check for.
:type ext: string
@@ -190,7 +214,9 @@ def ensure_ext(filepath, ext, case_sensitive=False):
import os
fn_base, fn_ext = os.path.splitext(filepath)
if fn_base and fn_ext:
- if (case_sensitive and ext == fn_ext) or (ext.lower() == fn_ext.lower()):
+ if ((case_sensitive and ext == fn_ext) or
+ (ext.lower() == fn_ext.lower())):
+
return filepath
else:
return fn_base + ext
@@ -228,6 +254,17 @@ def module_names(path, recursive=False):
modules.append((filename, fullpath))
if recursive:
for mod_name, mod_path in module_names(directory, True):
- modules.append(("%s.%s" % (filename, mod_name), mod_path))
+ modules.append(("%s.%s" % (filename, mod_name),
+ mod_path,
+ ))
return modules
+
+
+def basename(path):
+ """
+ Equivalent to os.path.basename, but skips a "//" suffix.
+
+ Use for Windows compatibility.
+ """
+ return _os.path.basename(path[2:] if path[:2] in {"//", b"//"} else path)
diff --git a/release/scripts/modules/bpy/utils.py b/release/scripts/modules/bpy/utils.py
index 7c0d3d24cba..a6304378cc4 100644
--- a/release/scripts/modules/bpy/utils.py
+++ b/release/scripts/modules/bpy/utils.py
@@ -16,13 +16,33 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
"""
This module contains utility functions specific to blender but
not assosiated with blenders internal data.
"""
+__all__ = (
+ "blend_paths",
+ "keyconfig_set",
+ "load_scripts",
+ "modules_from_path",
+ "preset_find",
+ "preset_paths",
+ "refresh_script_paths",
+ "register_class",
+ "register_module",
+ "resource_path",
+ "script_paths",
+ "smpte_from_frame",
+ "smpte_from_seconds",
+ "unregister_class",
+ "unregister_module",
+ "user_resource",
+ "user_script_path",
+ )
+
from _bpy import register_class, unregister_class, blend_paths, resource_path
from _bpy import script_paths as _bpy_script_paths
from _bpy import user_resource as _user_resource
@@ -42,7 +62,8 @@ def _test_import(module_name, loaded_modules):
if module_name in loaded_modules:
return None
if "." in module_name:
- print("Ignoring '%s', can't import files containing multiple periods." % module_name)
+ print("Ignoring '%s', can't import files containing "
+ "multiple periods." % module_name)
return None
if use_time:
@@ -74,7 +95,8 @@ def modules_from_path(path, loaded_modules):
:arg path: this path is scanned for scripts and packages.
:type path: string
- :arg loaded_modules: already loaded module names, files matching these names will be ignored.
+ :arg loaded_modules: already loaded module names, files matching these
+ names will be ignored.
:type loaded_modules: set
:return: all loaded modules.
:rtype: list
@@ -97,13 +119,17 @@ def load_scripts(reload_scripts=False, refresh_scripts=False):
"""
Load scripts and run each modules register function.
- :arg reload_scripts: Causes all scripts to have their unregister method called before loading.
+ :arg reload_scripts: Causes all scripts to have their unregister method
+ called before loading.
:type reload_scripts: bool
- :arg refresh_scripts: only load scripts which are not already loaded as modules.
+ :arg refresh_scripts: only load scripts which are not already loaded
+ as modules.
:type refresh_scripts: bool
"""
use_time = _bpy.app.debug
+ prefs = _bpy.context.user_preferences
+
if use_time:
import time
t_main = time.time()
@@ -116,10 +142,11 @@ def load_scripts(reload_scripts=False, refresh_scripts=False):
if reload_scripts:
_bpy_types.TypeMap.clear()
- # just unload, dont change user defaults, this means we can sync to reload.
- # note that they will only actually reload of the modification time changes.
- # this `wont` work for packages so... its not perfect.
- for module_name in [ext.module for ext in _bpy.context.user_preferences.addons]:
+ # just unload, dont change user defaults, this means we can sync
+ # to reload. note that they will only actually reload of the
+ # modification time changes. This `wont` work for packages so...
+ # its not perfect.
+ for module_name in [ext.module for ext in prefs.addons]:
_addon_utils.disable(module_name, default_set=False)
def register_module_call(mod):
@@ -131,7 +158,9 @@ def load_scripts(reload_scripts=False, refresh_scripts=False):
import traceback
traceback.print_exc()
else:
- print("\nWarning! '%s' has no register function, this is now a requirement for registerable scripts." % mod.__file__)
+ print("\nWarning! '%s' has no register function, "
+ "this is now a requirement for registerable scripts." %
+ mod.__file__)
def unregister_module_call(mod):
unregister = getattr(mod, "unregister", None)
@@ -172,7 +201,8 @@ def load_scripts(reload_scripts=False, refresh_scripts=False):
if reload_scripts:
# module names -> modules
- _global_loaded_modules[:] = [_sys.modules[mod_name] for mod_name in _global_loaded_modules]
+ _global_loaded_modules[:] = [_sys.modules[mod_name]
+ for mod_name in _global_loaded_modules]
# loop over and unload all scripts
_global_loaded_modules.reverse()
@@ -201,7 +231,8 @@ def load_scripts(reload_scripts=False, refresh_scripts=False):
_addon_utils.reset_all(reload_scripts)
# run the active integration preset
- filepath = preset_find(_bpy.context.user_preferences.inputs.active_keyconfig, "keyconfig")
+ filepath = preset_find(prefs.inputs.active_keyconfig, "keyconfig")
+
if filepath:
keyconfig_set(filepath)
@@ -214,12 +245,16 @@ def load_scripts(reload_scripts=False, refresh_scripts=False):
# base scripts
-_scripts = _os.path.join(_os.path.dirname(__file__), _os.path.pardir, _os.path.pardir)
+_scripts = _os.path.join(_os.path.dirname(__file__),
+ _os.path.pardir,
+ _os.path.pardir,
+ )
_scripts = (_os.path.normpath(_scripts), )
def user_script_path():
- path = _bpy.context.user_preferences.filepaths.script_directory
+ prefs = _bpy.context.user_preferences
+ path = prefs.filepaths.script_directory
if path:
path = _os.path.normpath(path)
@@ -236,22 +271,25 @@ def script_paths(subdir=None, user_pref=True, all=False):
:type subdir: string
:arg user_pref: Include the user preference script path.
:type user_pref: bool
- :arg all: Include local, user and system paths rather just the paths blender uses.
+ :arg all: Include local, user and system paths rather just the paths
+ blender uses.
:type all: bool
:return: script paths.
:rtype: list
"""
scripts = list(_scripts)
+ prefs = _bpy.context.user_preferences
# add user scripts dir
if user_pref:
- user_script_path = _bpy.context.user_preferences.filepaths.script_directory
+ user_script_path = prefs.filepaths.script_directory
else:
user_script_path = None
if all:
# all possible paths
- base_paths = tuple(_os.path.join(resource_path(res), "scripts") for res in ('LOCAL', 'USER', 'SYSTEM'))
+ base_paths = tuple(_os.path.join(resource_path(res), "scripts")
+ for res in ('LOCAL', 'USER', 'SYSTEM'))
else:
# only paths blender uses
base_paths = _bpy_script_paths()
@@ -298,11 +336,18 @@ _presets = _os.path.join(_scripts[0], "presets") # FIXME - multiple paths
def preset_paths(subdir):
"""
Returns a list of paths for a specific preset.
+
+ :arg subdir: preset subdirectory (must not be an absolute path).
+ :type subdir: string
+ :return: script paths.
+ :rtype: list
"""
dirs = []
for path in script_paths("presets", all=True):
directory = _os.path.join(path, subdir)
- if _os.path.isdir(directory):
+ if not directory.startswith(path):
+ raise Exception("invalid subdir given %r" % subdir)
+ elif _os.path.isdir(directory):
dirs.append(directory)
return dirs
@@ -419,7 +464,8 @@ def user_resource(type, path="", create=False):
:type type: string
:arg subdir: Optional subdirectory.
:type subdir: string
- :arg create: Treat the path as a directory and create it if its not existing.
+ :arg create: Treat the path as a directory and create
+ it if its not existing.
:type create: boolean
:return: a path.
:rtype: string
@@ -470,7 +516,8 @@ def register_module(module, verbose=False):
try:
register_class(cls)
except:
- print("bpy.utils.register_module(): failed to registering class %r" % cls)
+ print("bpy.utils.register_module(): "
+ "failed to registering class %r" % cls)
import traceback
traceback.print_exc()
if verbose:
@@ -488,7 +535,8 @@ def unregister_module(module, verbose=False):
try:
unregister_class(cls)
except:
- print("bpy.utils.unregister_module(): failed to unregistering class %r" % cls)
+ print("bpy.utils.unregister_module(): "
+ "failed to unregistering class %r" % cls)
import traceback
traceback.print_exc()
if verbose:
diff --git a/release/scripts/modules/bpy_extras/__init__.py b/release/scripts/modules/bpy_extras/__init__.py
index 06d41fa670e..d853d5fda10 100644
--- a/release/scripts/modules/bpy_extras/__init__.py
+++ b/release/scripts/modules/bpy_extras/__init__.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
"""
Utility modules assosiated with the bpy module.
@@ -28,4 +28,4 @@ __all__ = (
"image_utils",
"mesh_utils",
"view3d_utils",
-)
+ )
diff --git a/release/scripts/modules/bpy_extras/image_utils.py b/release/scripts/modules/bpy_extras/image_utils.py
index f45f9c6f225..02959fae534 100644
--- a/release/scripts/modules/bpy_extras/image_utils.py
+++ b/release/scripts/modules/bpy_extras/image_utils.py
@@ -16,11 +16,12 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
__all__ = (
"load_image",
-)
+ )
+
# limited replacement for BPyImage.comprehensiveImageLoad
def load_image(imagepath,
@@ -32,8 +33,8 @@ def load_image(imagepath,
verbose=False,
):
"""
- Return an image from the file path with options to search multiple paths and
- return a placeholder if its not found.
+ Return an image from the file path with options to search multiple paths
+ and return a placeholder if its not found.
:arg filepath: The image filename
If a path precedes it, this will be searched as well.
@@ -50,13 +51,14 @@ def load_image(imagepath,
:type recursive: bool
:arg ncase_cmp: on non windows systems, find the correct case for the file.
:type ncase_cmp: bool
- :arg convert_callback: a function that takes an existing path and returns a new one.
- Use this when loading image formats blender may not support, the CONVERT_CALLBACK
- can take the path for a GIF (for example), convert it to a PNG and return the PNG's path.
+ :arg convert_callback: a function that takes an existing path and returns
+ a new one. Use this when loading image formats blender may not support,
+ the CONVERT_CALLBACK can take the path for a GIF (for example),
+ convert it to a PNG and return the PNG's path.
For formats blender can read, simply return the path that is given.
:type convert_callback: function
:return: an image or None
- :rtype: :class:`Image`
+ :rtype: :class:`bpy.types.Image`
"""
import os
import bpy
@@ -85,11 +87,15 @@ def load_image(imagepath,
variants = [imagepath]
if dirname:
- variants += [os.path.join(dirname, imagepath), os.path.join(dirname, os.path.basename(imagepath))]
+ variants += [os.path.join(dirname, imagepath),
+ os.path.join(dirname, bpy.path.basename(imagepath)),
+ ]
for filepath_test in variants:
if ncase_cmp:
- ncase_variants = filepath_test, bpy.path.resolve_ncase(filepath_test)
+ ncase_variants = (filepath_test,
+ bpy.path.resolve_ncase(filepath_test),
+ )
else:
ncase_variants = (filepath_test, )
@@ -98,7 +104,7 @@ def load_image(imagepath,
return _image_load(nfilepath)
if place_holder:
- image = bpy.data.images.new(os.path.basename(filepath), 128, 128)
+ image = bpy.data.images.new(bpy.path.basename(imagepath), 128, 128)
# allow the path to be resolved later
image.filepath = imagepath
return image
diff --git a/release/scripts/modules/bpy_extras/io_utils.py b/release/scripts/modules/bpy_extras/io_utils.py
index 12c2d809132..3f6a3682e7c 100644
--- a/release/scripts/modules/bpy_extras/io_utils.py
+++ b/release/scripts/modules/bpy_extras/io_utils.py
@@ -16,12 +16,13 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
__all__ = (
"ExportHelper",
"ImportHelper",
"axis_conversion",
+ "axis_conversion_ensure",
"create_derived_objects",
"free_derived_objects",
"unpack_list",
@@ -30,15 +31,34 @@ __all__ = (
"path_reference_copy",
"path_reference_mode",
"unique_name"
-)
+ )
import bpy
from bpy.props import StringProperty, BoolProperty, EnumProperty
+def _check_axis_conversion(op):
+ if hasattr(op, "axis_forward") and hasattr(op, "axis_up"):
+ return axis_conversion_ensure(op,
+ "axis_forward",
+ "axis_up",
+ )
+ return False
+
+
class ExportHelper:
- filepath = StringProperty(name="File Path", description="Filepath used for exporting the file", maxlen=1024, default="", subtype='FILE_PATH')
- check_existing = BoolProperty(name="Check Existing", description="Check and warn on overwriting existing files", default=True, options={'HIDDEN'})
+ filepath = StringProperty(
+ name="File Path",
+ description="Filepath used for exporting the file",
+ maxlen=1024,
+ subtype='FILE_PATH',
+ )
+ check_existing = BoolProperty(
+ name="Check Existing",
+ description="Check and warn on overwriting existing files",
+ default=True,
+ options={'HIDDEN'},
+ )
# subclasses can override with decorator
# True == use ext, False == no ext, None == do nothing.
@@ -59,27 +79,39 @@ class ExportHelper:
return {'RUNNING_MODAL'}
def check(self, context):
- check_extension = self.check_extension
+ change_ext = False
+ change_axis = _check_axis_conversion(self)
- if check_extension is None:
- return False
+ check_extension = self.check_extension
- filepath = bpy.path.ensure_ext(self.filepath, self.filename_ext if check_extension else "")
+ if check_extension is not None:
+ filepath = bpy.path.ensure_ext(self.filepath,
+ self.filename_ext
+ if check_extension
+ else "")
- if filepath != self.filepath:
- self.filepath = filepath
- return True
+ if filepath != self.filepath:
+ self.filepath = filepath
+ change_ext = True
- return False
+ return (change_ext or change_axis)
class ImportHelper:
- filepath = StringProperty(name="File Path", description="Filepath used for importing the file", maxlen=1024, default="", subtype='FILE_PATH')
+ filepath = StringProperty(
+ name="File Path",
+ description="Filepath used for importing the file",
+ maxlen=1024,
+ subtype='FILE_PATH',
+ )
def invoke(self, context, event):
context.window_manager.fileselect_add(self)
return {'RUNNING_MODAL'}
+ def check(self, context):
+ return _check_axis_conversion(self)
+
# Axis conversion function, not pretty LUT
# use lookup tabes to convert between any axis
@@ -115,29 +147,75 @@ _axis_convert_matrix = (
# where all 4 values are or'd into a single value...
# (i1<<0 | i1<<3 | i1<<6 | i1<<9)
_axis_convert_lut = (
- {0x8C8, 0x4D0, 0x2E0, 0xAE8, 0x701, 0x511, 0x119, 0xB29, 0x682, 0x88A, 0x09A, 0x2A2, 0x80B, 0x413, 0x223, 0xA2B, 0x644, 0x454, 0x05C, 0xA6C, 0x745, 0x94D, 0x15D, 0x365},
- {0xAC8, 0x8D0, 0x4E0, 0x2E8, 0x741, 0x951, 0x159, 0x369, 0x702, 0xB0A, 0x11A, 0x522, 0xA0B, 0x813, 0x423, 0x22B, 0x684, 0x894, 0x09C, 0x2AC, 0x645, 0xA4D, 0x05D, 0x465},
- {0x4C8, 0x2D0, 0xAE0, 0x8E8, 0x681, 0x291, 0x099, 0x8A9, 0x642, 0x44A, 0x05A, 0xA62, 0x40B, 0x213, 0xA23, 0x82B, 0x744, 0x354, 0x15C, 0x96C, 0x705, 0x50D, 0x11D, 0xB25},
- {0x2C8, 0xAD0, 0x8E0, 0x4E8, 0x641, 0xA51, 0x059, 0x469, 0x742, 0x34A, 0x15A, 0x962, 0x20B, 0xA13, 0x823, 0x42B, 0x704, 0xB14, 0x11C, 0x52C, 0x685, 0x28D, 0x09D, 0x8A5},
- {0x708, 0xB10, 0x120, 0x528, 0x8C1, 0xAD1, 0x2D9, 0x4E9, 0x942, 0x74A, 0x35A, 0x162, 0x64B, 0xA53, 0x063, 0x46B, 0x804, 0xA14, 0x21C, 0x42C, 0x885, 0x68D, 0x29D, 0x0A5},
- {0xB08, 0x110, 0x520, 0x728, 0x941, 0x151, 0x359, 0x769, 0x802, 0xA0A, 0x21A, 0x422, 0xA4B, 0x053, 0x463, 0x66B, 0x884, 0x094, 0x29C, 0x6AC, 0x8C5, 0xACD, 0x2DD, 0x4E5},
- {0x508, 0x710, 0xB20, 0x128, 0x881, 0x691, 0x299, 0x0A9, 0x8C2, 0x4CA, 0x2DA, 0xAE2, 0x44B, 0x653, 0xA63, 0x06B, 0x944, 0x754, 0x35C, 0x16C, 0x805, 0x40D, 0x21D, 0xA25},
- {0x108, 0x510, 0x720, 0xB28, 0x801, 0x411, 0x219, 0xA29, 0x882, 0x08A, 0x29A, 0x6A2, 0x04B, 0x453, 0x663, 0xA6B, 0x8C4, 0x4D4, 0x2DC, 0xAEC, 0x945, 0x14D, 0x35D, 0x765},
- {0x748, 0x350, 0x160, 0x968, 0xAC1, 0x2D1, 0x4D9, 0x8E9, 0xA42, 0x64A, 0x45A, 0x062, 0x68B, 0x293, 0x0A3, 0x8AB, 0xA04, 0x214, 0x41C, 0x82C, 0xB05, 0x70D, 0x51D, 0x125},
- {0x948, 0x750, 0x360, 0x168, 0xB01, 0x711, 0x519, 0x129, 0xAC2, 0x8CA, 0x4DA, 0x2E2, 0x88B, 0x693, 0x2A3, 0x0AB, 0xA44, 0x654, 0x45C, 0x06C, 0xA05, 0x80D, 0x41D, 0x225},
- {0x348, 0x150, 0x960, 0x768, 0xA41, 0x051, 0x459, 0x669, 0xA02, 0x20A, 0x41A, 0x822, 0x28B, 0x093, 0x8A3, 0x6AB, 0xB04, 0x114, 0x51C, 0x72C, 0xAC5, 0x2CD, 0x4DD, 0x8E5},
- {0x148, 0x950, 0x760, 0x368, 0xA01, 0x811, 0x419, 0x229, 0xB02, 0x10A, 0x51A, 0x722, 0x08B, 0x893, 0x6A3, 0x2AB, 0xAC4, 0x8D4, 0x4DC, 0x2EC, 0xA45, 0x04D, 0x45D, 0x665},
- {0x688, 0x890, 0x0A0, 0x2A8, 0x4C1, 0x8D1, 0xAD9, 0x2E9, 0x502, 0x70A, 0xB1A, 0x122, 0x74B, 0x953, 0x163, 0x36B, 0x404, 0x814, 0xA1C, 0x22C, 0x445, 0x64D, 0xA5D, 0x065},
- {0x888, 0x090, 0x2A0, 0x6A8, 0x501, 0x111, 0xB19, 0x729, 0x402, 0x80A, 0xA1A, 0x222, 0x94B, 0x153, 0x363, 0x76B, 0x444, 0x054, 0xA5C, 0x66C, 0x4C5, 0x8CD, 0xADD, 0x2E5},
- {0x288, 0x690, 0x8A0, 0x0A8, 0x441, 0x651, 0xA59, 0x069, 0x4C2, 0x2CA, 0xADA, 0x8E2, 0x34B, 0x753, 0x963, 0x16B, 0x504, 0x714, 0xB1C, 0x12C, 0x405, 0x20D, 0xA1D, 0x825},
- {0x088, 0x290, 0x6A0, 0x8A8, 0x401, 0x211, 0xA19, 0x829, 0x442, 0x04A, 0xA5A, 0x662, 0x14B, 0x353, 0x763, 0x96B, 0x4C4, 0x2D4, 0xADC, 0x8EC, 0x505, 0x10D, 0xB1D, 0x725},
- {0x648, 0x450, 0x060, 0xA68, 0x2C1, 0x4D1, 0x8D9, 0xAE9, 0x282, 0x68A, 0x89A, 0x0A2, 0x70B, 0x513, 0x123, 0xB2B, 0x204, 0x414, 0x81C, 0xA2C, 0x345, 0x74D, 0x95D, 0x165},
- {0xA48, 0x650, 0x460, 0x068, 0x341, 0x751, 0x959, 0x169, 0x2C2, 0xACA, 0x8DA, 0x4E2, 0xB0B, 0x713, 0x523, 0x12B, 0x284, 0x694, 0x89C, 0x0AC, 0x205, 0xA0D, 0x81D, 0x425},
- {0x448, 0x050, 0xA60, 0x668, 0x281, 0x091, 0x899, 0x6A9, 0x202, 0x40A, 0x81A, 0xA22, 0x50B, 0x113, 0xB23, 0x72B, 0x344, 0x154, 0x95C, 0x76C, 0x2C5, 0x4CD, 0x8DD, 0xAE5},
- {0x048, 0xA50, 0x660, 0x468, 0x201, 0xA11, 0x819, 0x429, 0x342, 0x14A, 0x95A, 0x762, 0x10B, 0xB13, 0x723, 0x52B, 0x2C4, 0xAD4, 0x8DC, 0x4EC, 0x285, 0x08D, 0x89D, 0x6A5},
- {0x808, 0xA10, 0x220, 0x428, 0x101, 0xB11, 0x719, 0x529, 0x142, 0x94A, 0x75A, 0x362, 0x8CB, 0xAD3, 0x2E3, 0x4EB, 0x044, 0xA54, 0x65C, 0x46C, 0x085, 0x88D, 0x69D, 0x2A5},
- {0xA08, 0x210, 0x420, 0x828, 0x141, 0x351, 0x759, 0x969, 0x042, 0xA4A, 0x65A, 0x462, 0xACB, 0x2D3, 0x4E3, 0x8EB, 0x084, 0x294, 0x69C, 0x8AC, 0x105, 0xB0D, 0x71D, 0x525},
- {0x408, 0x810, 0xA20, 0x228, 0x081, 0x891, 0x699, 0x2A9, 0x102, 0x50A, 0x71A, 0xB22, 0x4CB, 0x8D3, 0xAE3, 0x2EB, 0x144, 0x954, 0x75C, 0x36C, 0x045, 0x44D, 0x65D, 0xA65},
+ {0x8C8, 0x4D0, 0x2E0, 0xAE8, 0x701, 0x511, 0x119, 0xB29, 0x682, 0x88A,
+ 0x09A, 0x2A2, 0x80B, 0x413, 0x223, 0xA2B, 0x644, 0x454, 0x05C, 0xA6C,
+ 0x745, 0x94D, 0x15D, 0x365},
+ {0xAC8, 0x8D0, 0x4E0, 0x2E8, 0x741, 0x951, 0x159, 0x369, 0x702, 0xB0A,
+ 0x11A, 0x522, 0xA0B, 0x813, 0x423, 0x22B, 0x684, 0x894, 0x09C, 0x2AC,
+ 0x645, 0xA4D, 0x05D, 0x465},
+ {0x4C8, 0x2D0, 0xAE0, 0x8E8, 0x681, 0x291, 0x099, 0x8A9, 0x642, 0x44A,
+ 0x05A, 0xA62, 0x40B, 0x213, 0xA23, 0x82B, 0x744, 0x354, 0x15C, 0x96C,
+ 0x705, 0x50D, 0x11D, 0xB25},
+ {0x2C8, 0xAD0, 0x8E0, 0x4E8, 0x641, 0xA51, 0x059, 0x469, 0x742, 0x34A,
+ 0x15A, 0x962, 0x20B, 0xA13, 0x823, 0x42B, 0x704, 0xB14, 0x11C, 0x52C,
+ 0x685, 0x28D, 0x09D, 0x8A5},
+ {0x708, 0xB10, 0x120, 0x528, 0x8C1, 0xAD1, 0x2D9, 0x4E9, 0x942, 0x74A,
+ 0x35A, 0x162, 0x64B, 0xA53, 0x063, 0x46B, 0x804, 0xA14, 0x21C, 0x42C,
+ 0x885, 0x68D, 0x29D, 0x0A5},
+ {0xB08, 0x110, 0x520, 0x728, 0x941, 0x151, 0x359, 0x769, 0x802, 0xA0A,
+ 0x21A, 0x422, 0xA4B, 0x053, 0x463, 0x66B, 0x884, 0x094, 0x29C, 0x6AC,
+ 0x8C5, 0xACD, 0x2DD, 0x4E5},
+ {0x508, 0x710, 0xB20, 0x128, 0x881, 0x691, 0x299, 0x0A9, 0x8C2, 0x4CA,
+ 0x2DA, 0xAE2, 0x44B, 0x653, 0xA63, 0x06B, 0x944, 0x754, 0x35C, 0x16C,
+ 0x805, 0x40D, 0x21D, 0xA25},
+ {0x108, 0x510, 0x720, 0xB28, 0x801, 0x411, 0x219, 0xA29, 0x882, 0x08A,
+ 0x29A, 0x6A2, 0x04B, 0x453, 0x663, 0xA6B, 0x8C4, 0x4D4, 0x2DC, 0xAEC,
+ 0x945, 0x14D, 0x35D, 0x765},
+ {0x748, 0x350, 0x160, 0x968, 0xAC1, 0x2D1, 0x4D9, 0x8E9, 0xA42, 0x64A,
+ 0x45A, 0x062, 0x68B, 0x293, 0x0A3, 0x8AB, 0xA04, 0x214, 0x41C, 0x82C,
+ 0xB05, 0x70D, 0x51D, 0x125},
+ {0x948, 0x750, 0x360, 0x168, 0xB01, 0x711, 0x519, 0x129, 0xAC2, 0x8CA,
+ 0x4DA, 0x2E2, 0x88B, 0x693, 0x2A3, 0x0AB, 0xA44, 0x654, 0x45C, 0x06C,
+ 0xA05, 0x80D, 0x41D, 0x225},
+ {0x348, 0x150, 0x960, 0x768, 0xA41, 0x051, 0x459, 0x669, 0xA02, 0x20A,
+ 0x41A, 0x822, 0x28B, 0x093, 0x8A3, 0x6AB, 0xB04, 0x114, 0x51C, 0x72C,
+ 0xAC5, 0x2CD, 0x4DD, 0x8E5},
+ {0x148, 0x950, 0x760, 0x368, 0xA01, 0x811, 0x419, 0x229, 0xB02, 0x10A,
+ 0x51A, 0x722, 0x08B, 0x893, 0x6A3, 0x2AB, 0xAC4, 0x8D4, 0x4DC, 0x2EC,
+ 0xA45, 0x04D, 0x45D, 0x665},
+ {0x688, 0x890, 0x0A0, 0x2A8, 0x4C1, 0x8D1, 0xAD9, 0x2E9, 0x502, 0x70A,
+ 0xB1A, 0x122, 0x74B, 0x953, 0x163, 0x36B, 0x404, 0x814, 0xA1C, 0x22C,
+ 0x445, 0x64D, 0xA5D, 0x065},
+ {0x888, 0x090, 0x2A0, 0x6A8, 0x501, 0x111, 0xB19, 0x729, 0x402, 0x80A,
+ 0xA1A, 0x222, 0x94B, 0x153, 0x363, 0x76B, 0x444, 0x054, 0xA5C, 0x66C,
+ 0x4C5, 0x8CD, 0xADD, 0x2E5},
+ {0x288, 0x690, 0x8A0, 0x0A8, 0x441, 0x651, 0xA59, 0x069, 0x4C2, 0x2CA,
+ 0xADA, 0x8E2, 0x34B, 0x753, 0x963, 0x16B, 0x504, 0x714, 0xB1C, 0x12C,
+ 0x405, 0x20D, 0xA1D, 0x825},
+ {0x088, 0x290, 0x6A0, 0x8A8, 0x401, 0x211, 0xA19, 0x829, 0x442, 0x04A,
+ 0xA5A, 0x662, 0x14B, 0x353, 0x763, 0x96B, 0x4C4, 0x2D4, 0xADC, 0x8EC,
+ 0x505, 0x10D, 0xB1D, 0x725},
+ {0x648, 0x450, 0x060, 0xA68, 0x2C1, 0x4D1, 0x8D9, 0xAE9, 0x282, 0x68A,
+ 0x89A, 0x0A2, 0x70B, 0x513, 0x123, 0xB2B, 0x204, 0x414, 0x81C, 0xA2C,
+ 0x345, 0x74D, 0x95D, 0x165},
+ {0xA48, 0x650, 0x460, 0x068, 0x341, 0x751, 0x959, 0x169, 0x2C2, 0xACA,
+ 0x8DA, 0x4E2, 0xB0B, 0x713, 0x523, 0x12B, 0x284, 0x694, 0x89C, 0x0AC,
+ 0x205, 0xA0D, 0x81D, 0x425},
+ {0x448, 0x050, 0xA60, 0x668, 0x281, 0x091, 0x899, 0x6A9, 0x202, 0x40A,
+ 0x81A, 0xA22, 0x50B, 0x113, 0xB23, 0x72B, 0x344, 0x154, 0x95C, 0x76C,
+ 0x2C5, 0x4CD, 0x8DD, 0xAE5},
+ {0x048, 0xA50, 0x660, 0x468, 0x201, 0xA11, 0x819, 0x429, 0x342, 0x14A,
+ 0x95A, 0x762, 0x10B, 0xB13, 0x723, 0x52B, 0x2C4, 0xAD4, 0x8DC, 0x4EC,
+ 0x285, 0x08D, 0x89D, 0x6A5},
+ {0x808, 0xA10, 0x220, 0x428, 0x101, 0xB11, 0x719, 0x529, 0x142, 0x94A,
+ 0x75A, 0x362, 0x8CB, 0xAD3, 0x2E3, 0x4EB, 0x044, 0xA54, 0x65C, 0x46C,
+ 0x085, 0x88D, 0x69D, 0x2A5},
+ {0xA08, 0x210, 0x420, 0x828, 0x141, 0x351, 0x759, 0x969, 0x042, 0xA4A,
+ 0x65A, 0x462, 0xACB, 0x2D3, 0x4E3, 0x8EB, 0x084, 0x294, 0x69C, 0x8AC,
+ 0x105, 0xB0D, 0x71D, 0x525},
+ {0x408, 0x810, 0xA20, 0x228, 0x081, 0x891, 0x699, 0x2A9, 0x102, 0x50A,
+ 0x71A, 0xB22, 0x4CB, 0x8D3, 0xAE3, 0x2EB, 0x144, 0x954, 0x75C, 0x36C,
+ 0x045, 0x44D, 0x65D, 0xA65},
)
_axis_convert_num = {'X': 0, 'Y': 1, 'Z': 2, '-X': 3, '-Y': 4, '-Z': 5}
@@ -154,17 +232,61 @@ def axis_conversion(from_forward='Y', from_up='Z', to_forward='Y', to_up='Z'):
if from_forward == to_forward and from_up == to_up:
return Matrix().to_3x3()
- value = reduce(int.__or__, (_axis_convert_num[a] << (i * 3) for i, a in enumerate((from_forward, from_up, to_forward, to_up))))
+ if from_forward[-1] == from_up[-1] or to_forward[-1] == to_up[-1]:
+ raise Exception("invalid axis arguments passed, "
+ "can't use up/forward on the same axis.")
+
+ value = reduce(int.__or__, (_axis_convert_num[a] << (i * 3)
+ for i, a in enumerate((from_forward,
+ from_up,
+ to_forward,
+ to_up,
+ ))))
for i, axis_lut in enumerate(_axis_convert_lut):
if value in axis_lut:
return Matrix(_axis_convert_matrix[i])
- assert("internal error")
+ assert(0)
+
+
+def axis_conversion_ensure(operator, forward_attr, up_attr):
+ """
+ Function to ensure an operator has valid axis conversion settings, intended
+ to be used from :class:`bpy.types.Operator.check`.
+
+ :arg operator: the operator to access axis attributes from.
+ :type operator: :class:`bpy.types.Operator`
+ :arg forward_attr: attribute storing the forward axis
+ :type forward_attr: string
+ :arg up_attr: attribute storing the up axis
+ :type up_attr: string
+ :return: True if the value was modified.
+ :rtype: boolean
+ """
+ def validate(axis_forward, axis_up):
+ if axis_forward[-1] == axis_up[-1]:
+ axis_up = axis_up[0:-1] + 'XYZ'[('XYZ'.index(axis_up[-1]) + 1) % 3]
+
+ return axis_forward, axis_up
+
+ change = False
+
+ axis = getattr(operator, forward_attr), getattr(operator, up_attr)
+ axis_new = validate(*axis)
+
+ if axis != axis_new:
+ setattr(operator, forward_attr, axis_new[0])
+ setattr(operator, up_attr, axis_new[1])
+
+ return True
+ else:
+ return False
-# return a tuple (free, object list), free is True if memory should be freed later with free_derived_objects()
+# return a tuple (free, object list), free is True if memory should be freed
+# later with free_derived_objects()
def create_derived_objects(scene, ob):
- if ob.parent and ob.parent.dupli_type != 'NONE':
+ if ob.parent and ob.parent.dupli_type in {'VERTS', 'FACES'}:
return False, None
if ob.dupli_type != 'NONE':
@@ -210,31 +332,45 @@ path_reference_mode = EnumProperty(
description="Method used to reference paths",
items=(('AUTO', "Auto", "Use Relative paths with subdirectories only"),
('ABSOLUTE', "Absolute", "Always write absolute paths"),
- ('RELATIVE', "Relative", "Always write relative patsh (where possible)"),
- ('MATCH', "Match", "Match Absolute/Relative setting with input path"),
+ ('RELATIVE', "Relative", "Always write relative patsh "
+ "(where possible)"),
+ ('MATCH', "Match", "Match Absolute/Relative "
+ "setting with input path"),
('STRIP', "Strip Path", "Filename only"),
- ('COPY', "Copy", "copy the file to the destination path (or subdirectory)"),
+ ('COPY', "Copy", "copy the file to the destination path "
+ "(or subdirectory)"),
),
default='AUTO'
)
-def path_reference(filepath, base_src, base_dst, mode='AUTO', copy_subdir="", copy_set=None):
+def path_reference(filepath,
+ base_src,
+ base_dst,
+ mode='AUTO',
+ copy_subdir="",
+ copy_set=None,
+ ):
"""
Return a filepath relative to a destination directory, for use with
exporters.
- :arg filepath: the file path to return, supporting blenders relative '//' prefix.
+ :arg filepath: the file path to return,
+ supporting blenders relative '//' prefix.
:type filepath: string
- :arg base_src: the directory the *filepath* is relative too (normally the blend file).
+ :arg base_src: the directory the *filepath* is relative too
+ (normally the blend file).
:type base_src: string
- :arg base_dst: the directory the *filepath* will be referenced from (normally the export path).
+ :arg base_dst: the directory the *filepath* will be referenced from
+ (normally the export path).
:type base_dst: string
- :arg mode: the method used get the path in ['AUTO', 'ABSOLUTE', 'RELATIVE', 'MATCH', 'STRIP', 'COPY']
+ :arg mode: the method used get the path in
+ ['AUTO', 'ABSOLUTE', 'RELATIVE', 'MATCH', 'STRIP', 'COPY']
:type mode: string
:arg copy_subdir: the subdirectory of *base_dst* to use when mode='COPY'.
:type copy_subdir: string
- :arg copy_set: collect from/to pairs when mode='COPY', pass to *path_reference_copy* when exportign is done.
+ :arg copy_set: collect from/to pairs when mode='COPY',
+ pass to *path_reference_copy* when exportign is done.
:type copy_set: set
:return: the new filepath.
:rtype: string
@@ -243,12 +379,14 @@ def path_reference(filepath, base_src, base_dst, mode='AUTO', copy_subdir="", co
is_relative = filepath.startswith("//")
filepath_abs = os.path.normpath(bpy.path.abspath(filepath, base_src))
- if mode in ('ABSOLUTE', 'RELATIVE', 'STRIP'):
+ if mode in {'ABSOLUTE', 'RELATIVE', 'STRIP'}:
pass
elif mode == 'MATCH':
mode = 'RELATIVE' if is_relative else 'ABSOLUTE'
elif mode == 'AUTO':
- mode = 'RELATIVE' if bpy.path.is_subdir(filepath, base_dst) else 'ABSOLUTE'
+ mode = ('RELATIVE'
+ if bpy.path.is_subdir(filepath, base_dst)
+ else 'ABSOLUTE')
elif mode == 'COPY':
if copy_subdir:
subdir_abs = os.path.join(os.path.normpath(base_dst), copy_subdir)
@@ -262,7 +400,7 @@ def path_reference(filepath, base_src, base_dst, mode='AUTO', copy_subdir="", co
filepath_abs = filepath_cpy
mode = 'RELATIVE'
else:
- Excaption("invalid mode given %r" % mode)
+ raise Exception("invalid mode given %r" % mode)
if mode == 'ABSOLUTE':
return filepath_abs
@@ -301,7 +439,7 @@ def path_reference_copy(copy_set, report=print):
shutil.copy(file_src, file_dst)
-def unique_name(key, name, name_dict, name_max=-1, clean_func=None):
+def unique_name(key, name, name_dict, name_max=-1, clean_func=None, sep="."):
"""
Helper function for storing unique names which may have special characters
stripped and restricted to a maximum length.
@@ -318,22 +456,30 @@ def unique_name(key, name, name_dict, name_max=-1, clean_func=None):
:type name_dict: dict
:arg clean_func: Function to call on *name* before creating a unique value.
:type clean_func: function
+ :arg sep: Separator to use when between the name and a number when a
+ duplicate name is found.
+ :type sep: string
"""
name_new = name_dict.get(key)
if name_new is None:
count = 1
name_dict_values = name_dict.values()
- name_new = name_new_orig = name if clean_func is None else clean_func(name)
+ name_new = name_new_orig = (name if clean_func is None
+ else clean_func(name))
if name_max == -1:
while name_new in name_dict_values:
- name_new = "%s.%03d" % (name_new_orig, count)
+ name_new = "%s%s%03d" % (name_new_orig, sep, count)
count += 1
else:
name_new = name_new[:name_max]
while name_new in name_dict_values:
count_str = "%03d" % count
- name_new = "%.*s.%s" % (name_max - (len(count_str) + 1), name_new_orig, count_str)
+ name_new = "%.*s%s%s" % (name_max - (len(count_str) + 1),
+ name_new_orig,
+ sep,
+ count_str,
+ )
count += 1
name_dict[key] = name_new
diff --git a/release/scripts/modules/bpy_extras/mesh_utils.py b/release/scripts/modules/bpy_extras/mesh_utils.py
index b6d8a1fcf16..7bc6dae3cc6 100644
--- a/release/scripts/modules/bpy_extras/mesh_utils.py
+++ b/release/scripts/modules/bpy_extras/mesh_utils.py
@@ -16,7 +16,7 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
__all__ = (
"mesh_linked_faces",
@@ -25,7 +25,9 @@ __all__ = (
"edge_loops_from_faces",
"edge_loops_from_edges",
"ngon_tesselate",
-)
+ "face_random_points",
+ )
+
def mesh_linked_faces(mesh):
"""
@@ -33,7 +35,7 @@ def mesh_linked_faces(mesh):
other mesh elements within 1 mesh datablock.
:arg mesh: the mesh used to group with.
- :type mesh: :class:`Mesh`
+ :type mesh: :class:`bpy.types.Mesh`
:return: lists of lists containing faces.
:rtype: list
"""
@@ -66,7 +68,8 @@ def mesh_linked_faces(mesh):
if mapped_index != nxt_mapped_index:
ok = True
- # Assign mapping to this group so they all map to this group
+ # Assign mapping to this group so they
+ # all map to this group
for grp_f in face_groups[nxt_mapped_index]:
face_mapping[grp_f.index] = mapped_index
@@ -104,9 +107,9 @@ def edge_face_count(mesh):
:return: list face users for each item in mesh.edges.
:rtype: list
"""
- edge_face_count_dict = edge_face_count_dict(mesh)
+ edge_face_count = edge_face_count_dict(mesh)
get = dict.get
- return [get(edge_face_count_dict, ed.key, 0) for ed in mesh.edges]
+ return [get(edge_face_count, ed.key, 0) for ed in mesh.edges]
def edge_loops_from_faces(mesh, faces=None, seams=()):
@@ -122,9 +125,9 @@ def edge_loops_from_faces(mesh, faces=None, seams=()):
[[(0, 1), (4, 8), (3, 8)], ...]
:arg mesh: the mesh used to get edge loops from.
- :type mesh: :class:`Mesh`
+ :type mesh: :class:`bpy.types.Mesh`
:arg faces: optional face list to only use some of the meshes faces.
- :type faces: :class:`MeshFaces`, sequence or or NoneType
+ :type faces: :class:`bpy.types.MeshFaces`, sequence or or NoneType
:return: return a list of edge vertex index lists.
:rtype: list
"""
@@ -167,8 +170,8 @@ def edge_loops_from_faces(mesh, faces=None, seams=()):
# from knowing the last 2, look for th next.
ed_adj = edges[context_loop[-1]]
if len(ed_adj) != 2:
-
- if other_dir and flipped == False: # the original edge had 2 other edges
+ # the original edge had 2 other edges
+ if other_dir and flipped == False:
flipped = True # only flip the list once
context_loop.reverse()
ed_adj[:] = []
@@ -211,8 +214,6 @@ def edge_loops_from_edges(mesh, edges=None):
if not hasattr(edges, "pop"):
edges = edges[:]
- edge_dict = {ed.key: ed for ed in mesh.edges if ed.select}
-
while edges:
current_edge = edges.pop()
vert_end, vert_start = current_edge.vertices[:]
@@ -258,15 +259,18 @@ def edge_loops_from_edges(mesh, edges=None):
def ngon_tesselate(from_data, indices, fix_loops=True):
'''
- Takes a polyline of indices (fgon)
- and returns a list of face indicie lists.
- Designed to be used for importers that need indices for an fgon to create from existing verts.
+ Takes a polyline of indices (fgon) and returns a list of face
+ indicie lists. Designed to be used for importers that need indices for an
+ fgon to create from existing verts.
from_data: either a mesh, or a list/tuple of vectors.
- indices: a list of indices to use this list is the ordered closed polyline to fill, and can be a subset of the data given.
- fix_loops: If this is enabled polylines that use loops to make multiple polylines are delt with correctly.
+ indices: a list of indices to use this list is the ordered closed polyline
+ to fill, and can be a subset of the data given.
+ fix_loops: If this is enabled polylines that use loops to make multiple
+ polylines are delt with correctly.
'''
+ from mathutils.geometry import tesselate_polygon
from mathutils import Vector
vector_to_tuple = Vector.to_tuple
@@ -274,7 +278,8 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
return []
def mlen(co):
- return abs(co[0]) + abs(co[1]) + abs(co[2]) # manhatten length of a vector, faster then length
+ # manhatten length of a vector, faster then length
+ return abs(co[0]) + abs(co[1]) + abs(co[2])
def vert_treplet(v, i):
return v, vector_to_tuple(v, 6), i, mlen(v)
@@ -285,31 +290,34 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
else:
return v1[1], v2[1]
- if not PREF_FIX_LOOPS:
+ if not fix_loops:
'''
Normal single concave loop filling
'''
- if type(from_data) in (tuple, list):
+ if type(from_data) in {tuple, list}:
verts = [Vector(from_data[i]) for ii, i in enumerate(indices)]
else:
verts = [from_data.vertices[i].co for ii, i in enumerate(indices)]
- for i in range(len(verts) - 1, 0, -1): # same as reversed(xrange(1, len(verts))):
+ # same as reversed(range(1, len(verts))):
+ for i in range(len(verts) - 1, 0, -1):
if verts[i][1] == verts[i - 1][0]:
verts.pop(i - 1)
- fill = fill_polygon([verts])
+ fill = tesselate_polygon([verts])
else:
'''
- Seperate this loop into multiple loops be finding edges that are used twice
- This is used by lightwave LWO files a lot
+ Seperate this loop into multiple loops be finding edges that are
+ used twice. This is used by lightwave LWO files a lot
'''
- if type(from_data) in (tuple, list):
- verts = [vert_treplet(Vector(from_data[i]), ii) for ii, i in enumerate(indices)]
+ if type(from_data) in {tuple, list}:
+ verts = [vert_treplet(Vector(from_data[i]), ii)
+ for ii, i in enumerate(indices)]
else:
- verts = [vert_treplet(from_data.vertices[i].co, ii) for ii, i in enumerate(indices)]
+ verts = [vert_treplet(from_data.vertices[i].co, ii)
+ for ii, i in enumerate(indices)]
edges = [(i, i - 1) for i in range(len(verts))]
if edges:
@@ -418,7 +426,7 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
# See if its flipped the wrong way.
flip = None
for fi in fill:
- if flip != None:
+ if flip is not None:
break
for i, vi in enumerate(fi):
if vi == 0 and fi[i - 1] == 1:
@@ -433,3 +441,70 @@ def ngon_tesselate(from_data, indices, fix_loops=True):
fill[i] = tuple([ii for ii in reversed(fi)])
return fill
+
+
+def face_random_points(num_points, faces):
+ """
+ Generates a list of random points over mesh faces.
+
+ :arg num_points: the number of random points to generate on each face.
+ :type int:
+ :arg faces: list of the faces to generate points on.
+ :type faces: :class:`bpy.types.MeshFaces`, sequence
+ :return: list of random points over all faces.
+ :rtype: list
+ """
+
+ from random import random
+ from mathutils.geometry import area_tri
+
+ # Split all quads into 2 tris, tris remain unchanged
+ tri_faces = []
+ for f in faces:
+ tris = []
+ verts = f.id_data.vertices
+ fv = f.vertices[:]
+ tris.append((verts[fv[0]].co,
+ verts[fv[1]].co,
+ verts[fv[2]].co,
+ ))
+ if len(fv) == 4:
+ tris.append((verts[fv[0]].co,
+ verts[fv[3]].co,
+ verts[fv[2]].co,
+ ))
+ tri_faces.append(tris)
+
+ # For each face, generate the required number of random points
+ sampled_points = [None] * (num_points * len(faces))
+ for i, tf in enumerate(tri_faces):
+ for k in range(num_points):
+ # If this is a quad, we need to weight its 2 tris by their area
+ if len(tf) != 1:
+ area1 = area_tri(*tf[0])
+ area2 = area_tri(*tf[1])
+ area_tot = area1 + area2
+
+ area1 = area1 / area_tot
+ area2 = area2 / area_tot
+
+ vecs = tf[0 if (random() < area1) else 1]
+ else:
+ vecs = tf[0]
+
+ u1 = random()
+ u2 = random()
+ u_tot = u1 + u2
+
+ if u_tot > 1:
+ u1 = 1.0 - u1
+ u2 = 1.0 - u2
+
+ side1 = vecs[1] - vecs[0]
+ side2 = vecs[2] - vecs[0]
+
+ p = vecs[0] + u1 * side1 + u2 * side2
+
+ sampled_points[num_points * i + k] = p
+
+ return sampled_points
diff --git a/release/scripts/modules/bpy_extras/object_utils.py b/release/scripts/modules/bpy_extras/object_utils.py
index 51a8d4b5e23..3081e6f172e 100644
--- a/release/scripts/modules/bpy_extras/object_utils.py
+++ b/release/scripts/modules/bpy_extras/object_utils.py
@@ -16,12 +16,12 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
__all__ = (
"add_object_align_init",
"object_data_add",
-)
+ )
import bpy
@@ -33,48 +33,55 @@ def add_object_align_init(context, operator):
Return a matrix using the operator settings and view context.
:arg context: The context to use.
- :type context: :class:`Context`
+ :type context: :class:`bpy.types.Context`
:arg operator: The operator, checked for location and rotation properties.
- :type operator: :class:`Operator`
+ :type operator: :class:`bpy.types.Operator`
:return: the matrix from the context and settings.
- :rtype: :class:`Matrix`
+ :rtype: :class:`mathutils.Matrix`
"""
+
+ from mathutils import Matrix, Vector, Euler
+ properties = operator.properties if operator is not None else None
+
space_data = context.space_data
if space_data.type != 'VIEW_3D':
space_data = None
# location
- if operator and operator.properties.is_property_set("location"):
- location = mathutils.Matrix.Translation(mathutils.Vector(operator.properties.location))
+ if operator and properties.is_property_set("location"):
+ location = Matrix.Translation(Vector(properties.location))
else:
if space_data: # local view cursor is detected below
- location = mathutils.Matrix.Translation(space_data.cursor_location)
+ location = Matrix.Translation(space_data.cursor_location)
else:
- location = mathutils.Matrix.Translation(context.scene.cursor_location)
+ location = Matrix.Translation(context.scene.cursor_location)
if operator:
- operator.properties.location = location.to_translation()
+ properties.location = location.to_translation()
# rotation
view_align = (context.user_preferences.edit.object_align == 'VIEW')
view_align_force = False
if operator:
- if operator.properties.is_property_set("view_align"):
+ if properties.is_property_set("view_align"):
view_align = view_align_force = operator.view_align
else:
- operator.properties.view_align = view_align
+ properties.view_align = view_align
- if operator and operator.properties.is_property_set("rotation") and not view_align_force:
- rotation = mathutils.Euler(operator.properties.rotation).to_matrix().to_4x4()
+ if operator and (properties.is_property_set("rotation") and
+ not view_align_force):
+
+ rotation = Euler(properties.rotation).to_matrix().to_4x4()
else:
if view_align and space_data:
- rotation = space_data.region_3d.view_matrix.to_3x3().inverted().to_4x4()
+ rotation = space_data.region_3d.view_matrix.to_3x3().inverted()
+ rotation.resize_4x4()
else:
rotation = mathutils.Matrix()
# set the operator properties
if operator:
- operator.properties.rotation = rotation.to_euler()
+ properties.rotation = rotation.to_euler()
return location * rotation
@@ -85,13 +92,13 @@ def object_data_add(context, obdata, operator=None):
location, rotation and layer.
:arg context: The context to use.
- :type context: :class:`Context`
+ :type context: :class:`bpy.types.Context`
:arg obdata: the data used for the new object.
:type obdata: valid object data type or None.
:arg operator: The operator, checked for location and rotation properties.
- :type operator: :class:`Operator`
+ :type operator: :class:`bpy.types.Operator`
:return: the newly created object in the scene.
- :rtype: :class:`ObjectBase`
+ :rtype: :class:`bpy.types.ObjectBase`
"""
scene = context.scene
@@ -114,14 +121,18 @@ def object_data_add(context, obdata, operator=None):
# XXX
# caused because entering editmodedoes not add a empty undo slot!
if context.user_preferences.edit.use_enter_edit_mode:
- if not (obj_act and obj_act.mode == 'EDIT' and obj_act.type == obj_new.type):
+ if not (obj_act and
+ obj_act.mode == 'EDIT' and
+ obj_act.type == obj_new.type):
+
_obdata = bpy.data.meshes.new(obdata.name)
obj_act = bpy.data.objects.new(_obdata.name, _obdata)
obj_act.matrix_world = obj_new.matrix_world
scene.objects.link(obj_act)
scene.objects.active = obj_act
bpy.ops.object.mode_set(mode='EDIT')
- bpy.ops.ed.undo_push(message="Enter Editmode") # need empty undo step
+ # need empty undo step
+ bpy.ops.ed.undo_push(message="Enter Editmode")
# XXX
if obj_act and obj_act.mode == 'EDIT' and obj_act.type == obj_new.type:
diff --git a/release/scripts/modules/bpy_extras/view3d_utils.py b/release/scripts/modules/bpy_extras/view3d_utils.py
index 45f537ebd2f..c18a74bbb09 100644
--- a/release/scripts/modules/bpy_extras/view3d_utils.py
+++ b/release/scripts/modules/bpy_extras/view3d_utils.py
@@ -16,14 +16,14 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
__all__ = (
"region_2d_to_vector_3d",
"region_2d_to_location_3d",
"location_3d_to_region_2d",
- "location_3d_to_region_2d",
-)
+ )
+
def region_2d_to_vector_3d(region, rv3d, coord):
"""
@@ -31,14 +31,14 @@ def region_2d_to_vector_3d(region, rv3d, coord):
coordinate.
:arg region: region of the 3D viewport, typically bpy.context.region.
- :type region: :class:`Region`
+ :type region: :class:`bpy.types.Region`
:arg rv3d: 3D region data, typically bpy.context.space_data.region_3d.
- :type rv3d: :class:`RegionView3D`
+ :type rv3d: :class:`bpy.types.RegionView3D`
:arg coord: 2d coordinates relative to the region:
(event.mouse_region_x, event.mouse_region_y) for example.
:type coord: 2d vector
:return: normalized 3d vector.
- :rtype: :class:`Vector`
+ :rtype: :class:`mathutils.Vector`
"""
from mathutils import Vector
@@ -48,13 +48,13 @@ def region_2d_to_vector_3d(region, rv3d, coord):
out = Vector(((2.0 * coord[0] / region.width) - 1.0,
(2.0 * coord[1] / region.height) - 1.0,
-0.5
- ))
+ ))
- w = (out[0] * persinv[0][3]) + \
- (out[1] * persinv[1][3]) + \
- (out[2] * persinv[2][3]) + persinv[3][3]
+ w = ((out[0] * persinv[0][3]) +
+ (out[1] * persinv[1][3]) +
+ (out[2] * persinv[2][3]) + persinv[3][3])
- return ((out * persinv) / w) - rv3d.view_matrix.inverted()[3].xyz
+ return ((persinv * out) / w) - rv3d.view_matrix.inverted()[3].xyz
else:
return rv3d.view_matrix.inverted()[2].xyz.normalized()
@@ -65,9 +65,9 @@ def region_2d_to_location_3d(region, rv3d, coord, depth_location):
*depth_location*.
:arg region: region of the 3D viewport, typically bpy.context.region.
- :type region: :class:`Region`
+ :type region: :class:`bpy.types.Region`
:arg rv3d: 3D region data, typically bpy.context.space_data.region_3d.
- :type rv3d: :class:`RegionView3D`
+ :type rv3d: :class:`bpy.types.RegionView3D`
:arg coord: 2d coordinates relative to the region;
(event.mouse_region_x, event.mouse_region_y) for example.
:type coord: 2d vector
@@ -75,7 +75,7 @@ def region_2d_to_location_3d(region, rv3d, coord, depth_location):
there is no defined depth with a 2d region input.
:type depth_location: 3d vector
:return: normalized 3d vector.
- :rtype: :class:`Vector`
+ :rtype: :class:`mathutils.Vector`
"""
from mathutils import Vector
from mathutils.geometry import intersect_point_line
@@ -90,15 +90,23 @@ def region_2d_to_location_3d(region, rv3d, coord, depth_location):
origin_start = rv3d.view_matrix.inverted()[3].to_3d()
origin_end = origin_start + coord_vec
view_vec = rv3d.view_matrix.inverted()[2]
- return intersect_line_plane(origin_start, origin_end, depth_location, view_vec, 1)
+ return intersect_line_plane(origin_start,
+ origin_end,
+ depth_location,
+ view_vec, 1,
+ )
else:
dx = (2.0 * coord[0] / region.width) - 1.0
dy = (2.0 * coord[1] / region.height) - 1.0
persinv = persmat.inverted()
viewinv = rv3d.view_matrix.inverted()
- origin_start = (persinv[0].xyz * dx) + (persinv[1].xyz * dy) + viewinv[3].xyz
+ origin_start = ((persinv[0].xyz * dx) +
+ (persinv[1].xyz * dy) + viewinv[3].xyz)
origin_end = origin_start + coord_vec
- return intersect_point_line(depth_location, origin_start, origin_end)[0]
+ return intersect_point_line(depth_location,
+ origin_start,
+ origin_end,
+ )[0]
def location_3d_to_region_2d(region, rv3d, coord):
@@ -106,15 +114,17 @@ def location_3d_to_region_2d(region, rv3d, coord):
Return the *region* relative 2d location of a 3d position.
:arg region: region of the 3D viewport, typically bpy.context.region.
- :type region: :class:`Region`
+ :type region: :class:`bpy.types.Region`
:arg rv3d: 3D region data, typically bpy.context.space_data.region_3d.
- :type rv3d: :class:`RegionView3D`
+ :type rv3d: :class:`bpy.types.RegionView3D`
:arg coord: 3d worldspace location.
:type coord: 3d vector
:return: 2d location
- :rtype: :class:`Vector`
+ :rtype: :class:`mathutils.Vector`
"""
- prj = Vector((coord[0], coord[1], coord[2], 1.0)) * rv3d.perspective_matrix
+ from mathutils import Vector
+
+ prj = rv3d.perspective_matrix * Vector((coord[0], coord[1], coord[2], 1.0))
if prj.w > 0.0:
width_half = region.width / 2.0
height_half = region.height / 2.0
diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py
index 3c1b454e72e..101416f4943 100644
--- a/release/scripts/modules/bpy_types.py
+++ b/release/scripts/modules/bpy_types.py
@@ -20,7 +20,6 @@
from _bpy import types as bpy_types
import _bpy
-from mathutils import Vector
StructRNA = bpy_types.Struct.__bases__[0]
StructMetaPropGroup = _bpy.StructMetaPropGroup
@@ -58,7 +57,7 @@ class Library(bpy_types.ID):
"curves", "grease_pencil", "groups", "images", \
"lamps", "lattices", "materials", "metaballs", \
"meshes", "node_groups", "objects", "scenes", \
- "sounds", "textures", "texts", "fonts", "worlds"
+ "sounds", "speakers", "textures", "texts", "fonts", "worlds"
return tuple(id_block for attr in attr_links for id_block in getattr(bpy.data, attr) if id_block.library == self)
@@ -144,19 +143,22 @@ class _GenericBone:
def x_axis(self):
""" Vector pointing down the x-axis of the bone.
"""
- return Vector((1.0, 0.0, 0.0)) * self.matrix.to_3x3()
+ from mathutils import Vector
+ return self.matrix.to_3x3() * Vector((1.0, 0.0, 0.0))
@property
def y_axis(self):
""" Vector pointing down the x-axis of the bone.
"""
- return Vector((0.0, 1.0, 0.0)) * self.matrix.to_3x3()
+ from mathutils import Vector
+ return self.matrix.to_3x3() * Vector((0.0, 1.0, 0.0))
@property
def z_axis(self):
""" Vector pointing down the x-axis of the bone.
"""
- return Vector((0.0, 0.0, 1.0)) * self.matrix.to_3x3()
+ from mathutils import Vector
+ return self.matrix.to_3x3() * Vector((0.0, 0.0, 1.0))
@property
def basename(self):
@@ -239,7 +241,7 @@ class _GenericBone:
chain.append(child)
else:
if len(children_basename):
- print("multiple basenames found, this is probably not what you want!", bone.name, children_basename)
+ print("multiple basenames found, this is probably not what you want!", self.name, children_basename)
break
@@ -285,16 +287,16 @@ class EditBone(StructRNA, _GenericBone, metaclass=StructMetaPropGroup):
Transform the the bones head, tail, roll and envalope (when the matrix has a scale component).
:arg matrix: 3x3 or 4x4 transformation matrix.
- :type matrix: :class:`Matrix`
+ :type matrix: :class:`mathutils.Matrix`
:arg scale: Scale the bone envalope by the matrix.
:type scale: bool
:arg roll: Correct the roll to point in the same relative direction to the head and tail.
:type roll: bool
"""
from mathutils import Vector
- z_vec = Vector((0.0, 0.0, 1.0)) * self.matrix.to_3x3()
- self.tail = self.tail * matrix
- self.head = self.head * matrix
+ z_vec = self.matrix.to_3x3() * Vector((0.0, 0.0, 1.0))
+ self.tail = matrix * self.tail
+ self.head = matrix * self.head
if scale:
scalar = matrix.median_scale
@@ -302,7 +304,7 @@ class EditBone(StructRNA, _GenericBone, metaclass=StructMetaPropGroup):
self.tail_radius *= scalar
if roll:
- self.align_roll(z_vec * matrix)
+ self.align_roll(matrix * z_vec)
def ord_ind(i1, i2):
@@ -409,6 +411,16 @@ class Text(bpy_types.ID):
TypeMap = {}
+class Sound(bpy_types.ID):
+ __slots__ = ()
+
+ @property
+ def factory(self):
+ """The aud.Factory object of the sound."""
+ import aud
+ return aud._sound_from_pointer(self.as_pointer())
+
+
class RNAMeta(type):
def __new__(cls, name, bases, classdict, **args):
result = type.__new__(cls, name, bases, classdict)
diff --git a/release/scripts/modules/bpyml.py b/release/scripts/modules/bpyml.py
index fdf5172a0b3..42d2bf94fba 100644
--- a/release/scripts/modules/bpyml.py
+++ b/release/scripts/modules/bpyml.py
@@ -120,7 +120,7 @@ def fromxml(data):
py_item = (xml_node.tagName, _fromxml_kwargs(xml_node), [])
#_fromxml_iter(py_item, xml_node.childNodes)
for xml_node_child in xml_node.childNodes:
- if xml_node_child.nodeType not in (xml_node_child.TEXT_NODE, xml_node_child.COMMENT_NODE):
+ if xml_node_child.nodeType not in {xml_node_child.TEXT_NODE, xml_node_child.COMMENT_NODE}:
py_item[CHILDREN].append(_fromxml(xml_node_child))
return py_item
diff --git a/release/scripts/modules/bpyml_ui.py b/release/scripts/modules/bpyml_ui.py
index 1e0522974d1..f4b6de23dbb 100644
--- a/release/scripts/modules/bpyml_ui.py
+++ b/release/scripts/modules/bpyml_ui.py
@@ -22,7 +22,6 @@
import bpy as _bpy
import bpyml
from bpyml import TAG, ARGS, CHILDREN
-from types import ModuleType
_uilayout_rna = _bpy.types.UILayout.bl_rna
@@ -41,13 +40,13 @@ def _parse_rna(prop, value):
elif prop.type == 'INT':
value = int(value)
elif prop.type == 'BOOLEAN':
- if value in (True, False):
+ if value in {True, False}:
pass
else:
- if value not in ("True", "False"):
+ if value not in {"True", "False"}:
raise Exception("invalid bool value: %s" % value)
value = bool(value == "True")
- elif prop.type in ('STRING', 'ENUM'):
+ elif prop.type in {'STRING', 'ENUM'}:
pass
elif prop.type == 'POINTER':
value = eval("_bpy." + value)
diff --git a/release/scripts/modules/console/complete_namespace.py b/release/scripts/modules/console/complete_namespace.py
index a31280ebff0..d787fed0967 100644
--- a/release/scripts/modules/console/complete_namespace.py
+++ b/release/scripts/modules/console/complete_namespace.py
@@ -37,6 +37,11 @@ def is_dict(obj):
return hasattr(obj, 'keys') and hasattr(getattr(obj, 'keys'), '__call__')
+def is_struct_seq(obj):
+ """Returns whether obj is a structured sequence subclass: sys.float_info"""
+ return isinstance(obj, tuple) and hasattr(obj, 'n_fields')
+
+
def complete_names(word, namespace):
"""Complete variable names or attributes
@@ -174,7 +179,7 @@ def complete(word, namespace, private=True):
if type(obj) in (bool, float, int, str):
return []
# an extra char '[', '(' or '.' will be added
- if hasattr(obj, '__getitem__'):
+ if hasattr(obj, '__getitem__') and not is_struct_seq(obj):
# list or dictionary
matches = complete_indices(word, namespace, obj)
elif hasattr(obj, '__call__'):
diff --git a/release/scripts/modules/console/intellisense.py b/release/scripts/modules/console/intellisense.py
index 9352d7c14e1..a177b305fda 100644
--- a/release/scripts/modules/console/intellisense.py
+++ b/release/scripts/modules/console/intellisense.py
@@ -53,7 +53,7 @@ RE_UNQUOTED_WORD = re.compile(
re.UNICODE)
-def complete(line, cursor, namespace, private=True):
+def complete(line, cursor, namespace, private):
"""Returns a list of possible completions:
* name completion
@@ -82,6 +82,9 @@ def complete(line, cursor, namespace, private=True):
if RE_MODULE.match(line):
from . import complete_import
matches = complete_import.complete(line)
+ if not private:
+ matches[:] = [m for m in matches if m[:1] != "_"]
+ matches.sort()
else:
from . import complete_namespace
matches = complete_namespace.complete(word, namespace, private)
@@ -120,15 +123,29 @@ def expand(line, cursor, namespace, private=True):
from . import complete_calltip
matches, word, scrollback = complete_calltip.complete(line,
cursor, namespace)
+ prefix = os.path.commonprefix(matches)[len(word):]
no_calltip = False
else:
matches, word = complete(line, cursor, namespace, private)
+ prefix = os.path.commonprefix(matches)[len(word):]
if len(matches) == 1:
scrollback = ''
else:
- scrollback = ' '.join([m.split('.')[-1] for m in matches])
+ # causes blender bug [#27495] since string keys may contain '.'
+ # scrollback = ' '.join([m.split('.')[-1] for m in matches])
+
+ # add white space to align with the cursor
+ white_space = " " + (" " * (cursor + len(prefix)))
+ word_prefix = word + prefix
+ scrollback = '\n'.join(
+ [white_space + m[len(word_prefix):]
+ if (word_prefix and m.startswith(word_prefix))
+ else
+ white_space + m.split('.')[-1]
+ for m in matches])
+
no_calltip = True
- prefix = os.path.commonprefix(matches)[len(word):]
+
if prefix:
line = line[:cursor] + prefix + line[cursor:]
cursor += len(prefix)
diff --git a/release/scripts/modules/console_python.py b/release/scripts/modules/console_python.py
index 3048fa1d597..425ea210104 100644
--- a/release/scripts/modules/console_python.py
+++ b/release/scripts/modules/console_python.py
@@ -80,7 +80,7 @@ def get_console(console_id):
if console_data:
console, stdout, stderr = console_data
- # XXX, bug in python 3.1.2 ? (worked in 3.1.1)
+ # XXX, bug in python 3.1.2, 3.2 ? (worked in 3.1.1)
# seems there is no way to clear StringIO objects for writing, have to make new ones each time.
import io
stdout = io.StringIO()
@@ -179,7 +179,7 @@ def execute(context):
# special exception. its possible the command loaded a new user interface
if hash(sc) != hash(context.space_data):
- return
+ return {'FINISHED'}
bpy.ops.console.scrollback_append(text=sc.prompt + line, type='INPUT')
diff --git a/release/scripts/modules/keyingsets_utils.py b/release/scripts/modules/keyingsets_utils.py
index dc61ce2a4af..03400edc904 100644
--- a/release/scripts/modules/keyingsets_utils.py
+++ b/release/scripts/modules/keyingsets_utils.py
@@ -16,14 +16,14 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
# This file defines a set of methods that are useful for various
# Relative Keying Set (RKS) related operations, such as: callbacks
# for polling, iterator callbacks, and also generate callbacks.
# All of these can be used in conjunction with the others.
-__all__ = [
+__all__ = (
"path_add_property",
"RKS_POLL_selected_objects",
"RKS_POLL_selected_bones",
@@ -33,7 +33,7 @@ __all__ = [
"RKS_GEN_location",
"RKS_GEN_rotation",
"RKS_GEN_scaling",
-]
+ )
import bpy
@@ -75,7 +75,8 @@ def RKS_POLL_selected_bones(ksi, context):
# selected bones or objects
def RKS_POLL_selected_items(ksi, context):
- return RKS_POLL_selected_bones(ksi, context) or RKS_POLL_selected_objects(ksi, context)
+ return (RKS_POLL_selected_bones(ksi, context) or
+ RKS_POLL_selected_objects(ksi, context))
###########################
# Iterator Callbacks
diff --git a/release/scripts/modules/rna_info.py b/release/scripts/modules/rna_info.py
index 93a344f4b09..943f86adecb 100644
--- a/release/scripts/modules/rna_info.py
+++ b/release/scripts/modules/rna_info.py
@@ -148,7 +148,7 @@ class InfoStructRNA:
import types
functions = []
for identifier, attr in self._get_py_visible_attrs():
- if type(attr) in (types.FunctionType, types.MethodType):
+ if type(attr) in {types.FunctionType, types.MethodType}:
functions.append((identifier, attr))
return functions
@@ -156,7 +156,7 @@ class InfoStructRNA:
import types
functions = []
for identifier, attr in self._get_py_visible_attrs():
- if type(attr) in (types.BuiltinMethodType, types.BuiltinFunctionType):
+ if type(attr) in {types.BuiltinMethodType, types.BuiltinFunctionType}:
functions.append((identifier, attr))
return functions
@@ -260,7 +260,7 @@ class InfoPropertyRNA:
if self.array_length:
type_str += " array of %d items" % (self.array_length)
- if self.type in ("float", "int"):
+ if self.type in {"float", "int"}:
type_str += " in [%s, %s]" % (range_str(self.min), range_str(self.max))
elif self.type == "enum":
if self.is_enum_flag:
@@ -595,7 +595,7 @@ def BuildRNAInfo():
for prop in rna_info.properties:
# ERROR CHECK
default = prop.default
- if type(default) in (float, int):
+ if type(default) in {float, int}:
if default < prop.min or default > prop.max:
print("\t %s.%s, %s not in [%s - %s]" % (rna_info.identifier, prop.identifier, default, prop.min, prop.max))
diff --git a/release/scripts/modules/rna_prop_ui.py b/release/scripts/modules/rna_prop_ui.py
index 9311987e2e7..388ae2b0e13 100644
--- a/release/scripts/modules/rna_prop_ui.py
+++ b/release/scripts/modules/rna_prop_ui.py
@@ -111,12 +111,16 @@ def draw(layout, context, context_member, property_type, use_edit=True):
continue
row = layout.row()
- convert_to_pyobject = getattr(val, "convert_to_pyobject", None)
-
- val_orig = val
- if convert_to_pyobject:
- val_draw = val = val.convert_to_pyobject()
- val_draw = str(val_draw)
+ to_dict = getattr(val, "to_dict", None)
+ to_list = getattr(val, "to_list", None)
+
+ # val_orig = val # UNUSED
+ if to_dict:
+ val = to_dict()
+ val_draw = str(val)
+ elif to_list:
+ val = to_list()
+ val_draw = str(val)
else:
val_draw = val
@@ -131,7 +135,7 @@ def draw(layout, context, context_member, property_type, use_edit=True):
row.label(text=key)
# explicit exception for arrays
- if convert_to_pyobject and not hasattr(val_orig, "len"):
+ if to_dict or to_list:
row.label(text=val_draw)
else:
if key in rna_properties:
diff --git a/release/scripts/presets/ffmpeg/DV.py b/release/scripts/presets/ffmpeg/DV.py
index 46d2a0a4a2f..926fb241747 100644
--- a/release/scripts/presets/ffmpeg/DV.py
+++ b/release/scripts/presets/ffmpeg/DV.py
@@ -11,3 +11,4 @@ else:
bpy.context.scene.render.ffmpeg_audio_mixrate = 48000
bpy.context.scene.render.ffmpeg_audio_codec = "PCM"
+bpy.context.scene.render.ffmpeg_audio_channels = 2
diff --git a/release/scripts/presets/ffmpeg/DVD.py b/release/scripts/presets/ffmpeg/DVD.py
index e18ec9f817b..196b5d68406 100644
--- a/release/scripts/presets/ffmpeg/DVD.py
+++ b/release/scripts/presets/ffmpeg/DVD.py
@@ -21,3 +21,4 @@ bpy.context.scene.render.ffmpeg_muxrate = 10080000
bpy.context.scene.render.ffmpeg_audio_codec = "AC3"
bpy.context.scene.render.ffmpeg_audio_bitrate = 448
bpy.context.scene.render.ffmpeg_audio_mixrate = 48000
+bpy.context.scene.render.ffmpeg_audio_channels = 6
diff --git a/release/scripts/presets/ffmpeg/SVCD.py b/release/scripts/presets/ffmpeg/SVCD.py
index c71a3851af0..e4459ab5c5c 100644
--- a/release/scripts/presets/ffmpeg/SVCD.py
+++ b/release/scripts/presets/ffmpeg/SVCD.py
@@ -21,3 +21,4 @@ bpy.context.scene.render.ffmpeg_muxrate = 0
bpy.context.scene.render.ffmpeg_audio_bitrate = 224
bpy.context.scene.render.ffmpeg_audio_mixrate = 44100
bpy.context.scene.render.ffmpeg_audio_codec = "MP2"
+bpy.context.scene.render.ffmpeg_audio_channels = 2
diff --git a/release/scripts/presets/ffmpeg/VCD.py b/release/scripts/presets/ffmpeg/VCD.py
index faf27efe9e6..c2b73e682a2 100644
--- a/release/scripts/presets/ffmpeg/VCD.py
+++ b/release/scripts/presets/ffmpeg/VCD.py
@@ -21,3 +21,4 @@ bpy.context.scene.render.ffmpeg_muxrate = 2352 * 75 * 8
bpy.context.scene.render.ffmpeg_audio_bitrate = 224
bpy.context.scene.render.ffmpeg_audio_mixrate = 44100
bpy.context.scene.render.ffmpeg_audio_codec = "MP2"
+bpy.context.scene.render.ffmpeg_audio_channels = 2
diff --git a/release/scripts/presets/ffmpeg/xvid.py b/release/scripts/presets/ffmpeg/xvid.py
index fa64562e566..c006ba267cc 100644
--- a/release/scripts/presets/ffmpeg/xvid.py
+++ b/release/scripts/presets/ffmpeg/xvid.py
@@ -1,8 +1,7 @@
import bpy
is_ntsc = (bpy.context.scene.render.fps != 25)
-bpy.context.scene.render.ffmpeg_format = "AVI"
-bpy.context.scene.render.ffmpeg_codec = "XVID"
+bpy.context.scene.render.ffmpeg_format = "XVID"
if is_ntsc:
bpy.context.scene.render.ffmpeg_gopsize = 18
diff --git a/release/scripts/startup/bl_operators/add_mesh_torus.py b/release/scripts/startup/bl_operators/add_mesh_torus.py
index 6ab803cc469..056b3478c2b 100644
--- a/release/scripts/startup/bl_operators/add_mesh_torus.py
+++ b/release/scripts/startup/bl_operators/add_mesh_torus.py
@@ -16,8 +16,9 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
+from bpy.types import Operator
import mathutils
@@ -40,8 +41,10 @@ def add_torus(major_rad, minor_rad, major_seg, minor_seg):
for minor_index in range(minor_seg):
angle = 2 * pi * minor_index / minor_seg
- vec = Vector((major_rad + (cos(angle) * minor_rad), 0.0,
- (sin(angle) * minor_rad))) * quat
+ vec = quat * Vector((major_rad + (cos(angle) * minor_rad),
+ 0.0,
+ (sin(angle) * minor_rad),
+ ))
verts.extend(vec[:])
@@ -72,44 +75,75 @@ def add_torus(major_rad, minor_rad, major_seg, minor_seg):
return verts, faces
-from bpy.props import FloatProperty, IntProperty, BoolProperty, FloatVectorProperty
+from bpy.props import (FloatProperty,
+ IntProperty,
+ BoolProperty,
+ FloatVectorProperty,
+ )
-class AddTorus(bpy.types.Operator):
+class AddTorus(Operator):
'''Add a torus mesh'''
bl_idname = "mesh.primitive_torus_add"
bl_label = "Add Torus"
bl_options = {'REGISTER', 'UNDO'}
- major_radius = FloatProperty(name="Major Radius",
- description="Radius from the origin to the center of the cross sections",
- default=1.0, min=0.01, max=100.0)
- minor_radius = FloatProperty(name="Minor Radius",
+ major_radius = FloatProperty(
+ name="Major Radius",
+ description=("Radius from the origin to the "
+ "center of the cross sections"),
+ min=0.01, max=100.0,
+ default=1.0,
+ )
+ minor_radius = FloatProperty(
+ name="Minor Radius",
description="Radius of the torus' cross section",
- default=0.25, min=0.01, max=100.0)
- major_segments = IntProperty(name="Major Segments",
+ min=0.01, max=100.0,
+ default=0.25,
+ )
+ major_segments = IntProperty(
+ name="Major Segments",
description="Number of segments for the main ring of the torus",
- default=48, min=3, max=256)
- minor_segments = IntProperty(name="Minor Segments",
+ min=3, max=256,
+ default=48,
+ )
+ minor_segments = IntProperty(
+ name="Minor Segments",
description="Number of segments for the minor ring of the torus",
- default=12, min=3, max=256)
- use_abso = BoolProperty(name="Use Int+Ext Controls",
+ min=3, max=256,
+ default=12,
+ )
+ use_abso = BoolProperty(
+ name="Use Int+Ext Controls",
description="Use the Int / Ext controls for torus dimensions",
- default=False)
- abso_major_rad = FloatProperty(name="Exterior Radius",
+ default=False,
+ )
+ abso_major_rad = FloatProperty(
+ name="Exterior Radius",
description="Total Exterior Radius of the torus",
- default=1.0, min=0.01, max=100.0)
- abso_minor_rad = FloatProperty(name="Inside Radius",
+ min=0.01, max=100.0,
+ default=1.0,
+ )
+ abso_minor_rad = FloatProperty(
+ name="Inside Radius",
description="Total Interior Radius of the torus",
- default=0.5, min=0.01, max=100.0)
+ min=0.01, max=100.0,
+ default=0.5,
+ )
# generic transform props
- view_align = BoolProperty(name="Align to View",
- default=False)
- location = FloatVectorProperty(name="Location",
- subtype='TRANSLATION')
- rotation = FloatVectorProperty(name="Rotation",
- subtype='EULER')
+ view_align = BoolProperty(
+ name="Align to View",
+ default=False,
+ )
+ location = FloatVectorProperty(
+ name="Location",
+ subtype='TRANSLATION',
+ )
+ rotation = FloatVectorProperty(
+ name="Rotation",
+ subtype='EULER',
+ )
def execute(self, context):
diff --git a/release/scripts/startup/bl_operators/animsys_update.py b/release/scripts/startup/bl_operators/animsys_update.py
index 63d438a5066..3710c57ac16 100644
--- a/release/scripts/startup/bl_operators/animsys_update.py
+++ b/release/scripts/startup/bl_operators/animsys_update.py
@@ -686,9 +686,10 @@ data_path_update = [
import bpy
+from bpy.types import Operator
-class UpdateAnimData(bpy.types.Operator):
+class UpdateAnimData(Operator):
"""Update data paths from 2.56 and previous versions, modifying data paths of drivers and fcurves"""
bl_idname = "anim.update_data_paths"
bl_label = "Update Animation Data"
diff --git a/release/scripts/startup/bl_operators/image.py b/release/scripts/startup/bl_operators/image.py
index 462db3a2c5e..9226cbed51b 100644
--- a/release/scripts/startup/bl_operators/image.py
+++ b/release/scripts/startup/bl_operators/image.py
@@ -16,19 +16,24 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
+from bpy.types import Operator
from bpy.props import StringProperty
-class EditExternally(bpy.types.Operator):
+class EditExternally(Operator):
'''Edit image in an external application'''
bl_idname = "image.external_edit"
bl_label = "Image Edit Externally"
bl_options = {'REGISTER'}
- filepath = StringProperty(name="File Path", description="Path to an image file", maxlen=1024, default="")
+ filepath = StringProperty(
+ name="File Path",
+ description="Path to an image file",
+ maxlen=1024,
+ )
def _editor_guess(self, context):
import sys
@@ -57,10 +62,19 @@ class EditExternally(bpy.types.Operator):
def execute(self, context):
import os
import subprocess
- filepath = bpy.path.abspath(self.filepath)
+
+ filepath = self.filepath
+
+ if not filepath:
+ self.report({'ERROR'}, "Image path not set")
+ return {'CANCELLED'}
+
+ filepath = os.path.normpath(bpy.path.abspath(filepath))
if not os.path.exists(filepath):
- self.report({'ERROR'}, "Image path %r not found." % filepath)
+ self.report({'ERROR'},
+ "Image path %r not found, image may be packed or "
+ "unsaved." % filepath)
return {'CANCELLED'}
cmd = self._editor_guess(context) + [filepath]
@@ -70,7 +84,10 @@ class EditExternally(bpy.types.Operator):
except:
import traceback
traceback.print_exc()
- self.report({'ERROR'}, "Image editor not found, please specify in User Preferences > File")
+ self.report({'ERROR'},
+ "Image editor not found, "
+ "please specify in User Preferences > File")
+
return {'CANCELLED'}
return {'FINISHED'}
@@ -90,7 +107,7 @@ class EditExternally(bpy.types.Operator):
return {'FINISHED'}
-class SaveDirty(bpy.types.Operator):
+class SaveDirty(Operator):
"""Save all modified textures"""
bl_idname = "image.save_dirty"
bl_label = "Save Dirty"
@@ -104,14 +121,16 @@ class SaveDirty(bpy.types.Operator):
if "\\" not in filepath and "/" not in filepath:
self.report({'WARNING'}, "Invalid path: " + filepath)
elif filepath in unique_paths:
- self.report({'WARNING'}, "Path used by more then one image: " + filepath)
+ self.report({'WARNING'},
+ "Path used by more then one image: %r" %
+ filepath)
else:
unique_paths.add(filepath)
image.save()
return {'FINISHED'}
-class ProjectEdit(bpy.types.Operator):
+class ProjectEdit(Operator):
"""Edit a snapshot of the viewport in an external image editor"""
bl_idname = "image.project_edit"
bl_label = "Project Edit"
@@ -121,7 +140,6 @@ class ProjectEdit(bpy.types.Operator):
def execute(self, context):
import os
- import subprocess
EXT = "png" # could be made an option but for now ok
@@ -143,14 +161,14 @@ class ProjectEdit(bpy.types.Operator):
filepath = os.path.basename(bpy.data.filepath)
filepath = os.path.splitext(filepath)[0]
- # filepath = bpy.path.clean_name(filepath) # fixes <memory> rubbish, needs checking
+ # fixes <memory> rubbish, needs checking
+ # filepath = bpy.path.clean_name(filepath)
- if filepath.startswith(".") or filepath == "":
- # TODO, have a way to check if the file is saved, assume startup.blend
+ if bpy.data.is_saved:
+ filepath = "//" + filepath
+ else:
tmpdir = context.user_preferences.filepaths.temporary_directory
filepath = os.path.join(tmpdir, "project_edit")
- else:
- filepath = "//" + filepath
obj = context.object
@@ -164,7 +182,7 @@ class ProjectEdit(bpy.types.Operator):
filepath_final = filepath + ("%.3d.%s" % (i, EXT))
i += 1
- image_new.name = os.path.basename(filepath_final)
+ image_new.name = bpy.path.basename(filepath_final)
ProjectEdit._proj_hack[0] = image_new.name
image_new.filepath_raw = filepath_final # TODO, filepath raw is crummy
@@ -179,7 +197,7 @@ class ProjectEdit(bpy.types.Operator):
return {'FINISHED'}
-class ProjectApply(bpy.types.Operator):
+class ProjectApply(Operator):
"""Project edited image back onto the object"""
bl_idname = "image.project_apply"
bl_label = "Project Apply"
diff --git a/release/scripts/startup/bl_operators/mesh.py b/release/scripts/startup/bl_operators/mesh.py
index 89802d7ba5c..5f6583754e9 100644
--- a/release/scripts/startup/bl_operators/mesh.py
+++ b/release/scripts/startup/bl_operators/mesh.py
@@ -16,14 +16,15 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
+from bpy.types import Operator
from bpy.props import EnumProperty
-class MeshSelectInteriorFaces(bpy.types.Operator):
+class MeshSelectInteriorFaces(Operator):
'''Select faces where all edges have more then 2 face users.'''
bl_idname = "mesh.faces_select_interior"
@@ -67,28 +68,26 @@ class MeshSelectInteriorFaces(bpy.types.Operator):
return {'FINISHED'}
-class MeshMirrorUV(bpy.types.Operator):
+class MeshMirrorUV(Operator):
'''Copy mirror UV coordinates on the X axis based on a mirrored mesh'''
bl_idname = "mesh.faces_mirror_uv"
bl_label = "Copy Mirrored UV coords"
bl_options = {'REGISTER', 'UNDO'}
- direction = EnumProperty(items=(
- ('POSITIVE', "Positive", ""),
- ('NEGATIVE', "Negative", "")),
- name="Axis Direction",
- description="")
+ direction = EnumProperty(
+ name="Axis Direction",
+ items=(('POSITIVE', "Positive", ""),
+ ('NEGATIVE', "Negative", "")),
+ )
@classmethod
def poll(cls, context):
- ob = context.active_object
- return (ob and ob.type == 'MESH')
+ obj = context.active_object
+ return (obj and obj.type == 'MESH' and obj.data.uv_textures.active)
def execute(self, context):
DIR = (self.direction == 'NEGATIVE')
- from mathutils import Vector
-
ob = context.active_object
is_editmode = (ob.mode == 'EDIT')
if is_editmode:
@@ -113,21 +112,18 @@ class MeshMirrorUV(bpy.types.Operator):
#for i, v in enumerate(mesh.vertices):
vmap = {}
- for mirror_a, mirror_b in (mirror_gt, mirror_lt), (mirror_lt, mirror_gt):
+ for mirror_a, mirror_b in ((mirror_gt, mirror_lt),
+ (mirror_lt, mirror_gt)):
for co, i in mirror_a.items():
nco = (-co[0], co[1], co[2])
j = mirror_b.get(nco)
if j is not None:
vmap[i] = j
- active_uv_layer = None
- for lay in mesh.uv_textures:
- if lay.active:
- active_uv_layer = lay.data
- break
-
+ active_uv_layer = mesh.uv_textures.active.data
fuvs = [(uv.uv1, uv.uv2, uv.uv3, uv.uv4) for uv in active_uv_layer]
- fuvs_cpy = [(uv[0].copy(), uv[1].copy(), uv[2].copy(), uv[3].copy()) for uv in fuvs]
+ fuvs_cpy = [(uv[0].copy(), uv[1].copy(), uv[2].copy(), uv[3].copy())
+ for uv in fuvs]
# as a list
faces = mesh.faces[:]
@@ -152,7 +148,6 @@ class MeshMirrorUV(bpy.types.Operator):
if j is not None:
fmap[i] = j
- done = [False] * len(faces)
for i, j in fmap.items():
if not fuvsel[i] or not fuvsel[j]:
@@ -170,10 +165,10 @@ class MeshMirrorUV(bpy.types.Operator):
v1 = faces[j].vertices[:]
v2 = [vmap[k] for k in faces[i].vertices[:]]
- for k in range(len(uv1)):
- k_map = v1.index(v2[k])
- uv1[k].x = - (uv2[k_map].x - 0.5) + 0.5
- uv1[k].y = uv2[k_map].y
+ if len(v1) == len(v2):
+ for k in range(len(v1)):
+ k_map = v1.index(v2[k])
+ uv1[k].xy = - (uv2[k_map].x - 0.5) + 0.5, uv2[k_map].y
if is_editmode:
bpy.ops.object.mode_set(mode='EDIT', toggle=False)
diff --git a/release/scripts/startup/bl_operators/nla.py b/release/scripts/startup/bl_operators/nla.py
index 923ca92a162..c764f7d62f1 100644
--- a/release/scripts/startup/bl_operators/nla.py
+++ b/release/scripts/startup/bl_operators/nla.py
@@ -16,17 +16,17 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
+from bpy.types import Operator
-def pose_info():
+def pose_frame_info(obj):
from mathutils import Matrix
info = {}
- obj = bpy.context.object
pose = obj.pose
pose_items = pose.bones.items()
@@ -51,7 +51,6 @@ def pose_info():
except:
binfo["matrix_pose_inv"] = Matrix()
- print(binfo["matrix_pose"])
info[name] = binfo
for name, pbone in pose_items:
@@ -67,45 +66,87 @@ def pose_info():
matrix = binfo_parent["matrix_pose_inv"] * matrix
rest_matrix = binfo_parent["matrix_local_inv"] * rest_matrix
- matrix = rest_matrix.inverted() * matrix
+ binfo["matrix_key"] = rest_matrix.inverted() * matrix
+
+ return info
- binfo["matrix_key"] = matrix.copy()
+def obj_frame_info(obj):
+ info = {}
+ # parent = obj.parent
+ info["matrix_key"] = obj.matrix_local.copy()
return info
-def bake(frame_start, frame_end, step=1, only_selected=False):
+def bake(frame_start,
+ frame_end, step=1,
+ only_selected=False,
+ do_pose=True,
+ do_object=True,
+ do_constraint_clear=False,
+ action=None):
+
scene = bpy.context.scene
obj = bpy.context.object
pose = obj.pose
+ frame_back = scene.frame_current
- info_ls = []
+ if pose is None:
+ do_pose = False
+
+ if do_pose is None and do_object is None:
+ return None
+
+ pose_info = []
+ obj_info = []
frame_range = range(frame_start, frame_end + 1, step)
- # could spped this up by applying steps here too...
+ # -------------------------------------------------------------------------
+ # Collect transformations
+
+ # could speed this up by applying steps here too...
for f in frame_range:
scene.frame_set(f)
- info = pose_info()
- info_ls.append(info)
+ if do_pose:
+ pose_info.append(pose_frame_info(obj))
+ if do_object:
+ obj_info.append(obj_frame_info(obj))
+
f += 1
- action = bpy.data.actions.new("Action")
+ # -------------------------------------------------------------------------
+ # Create action
- bpy.context.object.animation_data.action = action
+ # incase animation data hassnt been created
+ atd = obj.animation_data_create()
+ if action is None:
+ action = bpy.data.actions.new("Action")
+ atd.action = action
- pose_items = pose.bones.items()
+ if do_pose:
+ pose_items = pose.bones.items()
+ else:
+ pose_items = [] # skip
- for name, pbone in pose_items:
+ # -------------------------------------------------------------------------
+ # Apply transformations to action
+
+ # pose
+ for name, pbone in (pose_items if do_pose else ()):
if only_selected and not pbone.bone.select:
continue
+ if do_constraint_clear:
+ while pbone.constraints:
+ pbone.constraints.remove(pbone.constraints[0])
+
for f in frame_range:
- matrix = info_ls[int((f - frame_start) / step)][name]["matrix_key"]
+ matrix = pose_info[(f - frame_start) // step][name]["matrix_key"]
- #pbone.location = matrix.to_translation()
- #pbone.rotation_quaternion = matrix.to_quaternion()
+ # pbone.location = matrix.to_translation()
+ # pbone.rotation_quaternion = matrix.to_quaternion()
pbone.matrix_basis = matrix
pbone.keyframe_insert("location", -1, f, name)
@@ -121,33 +162,92 @@ def bake(frame_start, frame_end, step=1, only_selected=False):
pbone.keyframe_insert("scale", -1, f, name)
+ # object. TODO. multiple objects
+ if do_object:
+ if do_constraint_clear:
+ while obj.constraints:
+ obj.constraints.remove(obj.constraints[0])
+
+ for f in frame_range:
+ matrix = obj_info[(f - frame_start) // step]["matrix_key"]
+ obj.matrix_local = matrix
+
+ obj.keyframe_insert("location", -1, f)
+
+ rotation_mode = obj.rotation_mode
+
+ if rotation_mode == 'QUATERNION':
+ obj.keyframe_insert("rotation_quaternion", -1, f)
+ elif rotation_mode == 'AXIS_ANGLE':
+ obj.keyframe_insert("rotation_axis_angle", -1, f)
+ else: # euler, XYZ, ZXY etc
+ obj.keyframe_insert("rotation_euler", -1, f)
+
+ obj.keyframe_insert("scale", -1, f)
+
+ scene.frame_set(frame_back)
+
return action
-from bpy.props import IntProperty, BoolProperty
+from bpy.props import IntProperty, BoolProperty, EnumProperty
-class BakeAction(bpy.types.Operator):
+class BakeAction(Operator):
'''Bake animation to an Action'''
bl_idname = "nla.bake"
bl_label = "Bake Action"
bl_options = {'REGISTER', 'UNDO'}
- frame_start = IntProperty(name="Start Frame",
+ frame_start = IntProperty(
+ name="Start Frame",
description="Start frame for baking",
- default=1, min=1, max=300000)
- frame_end = IntProperty(name="End Frame",
+ min=0, max=300000,
+ default=1,
+ )
+ frame_end = IntProperty(
+ name="End Frame",
description="End frame for baking",
- default=250, min=1, max=300000)
- step = IntProperty(name="Frame Step",
+ min=1, max=300000,
+ default=250,
+ )
+ step = IntProperty(
+ name="Frame Step",
description="Frame Step",
- default=1, min=1, max=120)
- only_selected = BoolProperty(name="Only Selected",
- default=True)
+ min=1, max=120,
+ default=1,
+ )
+ only_selected = BoolProperty(
+ name="Only Selected",
+ default=True,
+ )
+ clear_consraints = BoolProperty(
+ name="Clear Constraints",
+ default=False,
+ )
+ bake_types = EnumProperty(
+ name="Bake Data",
+ options={'ENUM_FLAG'},
+ items=(('POSE', "Pose", ""),
+ ('OBJECT', "Object", ""),
+ ),
+ default={'POSE'},
+ )
def execute(self, context):
- action = bake(self.frame_start, self.frame_end, self.step, self.only_selected)
+ action = bake(self.frame_start,
+ self.frame_end,
+ self.step,
+ self.only_selected,
+ 'POSE' in self.bake_types,
+ 'OBJECT' in self.bake_types,
+ self.clear_consraints,
+ )
+
+ if action is None:
+ self.report({'INFO'}, "Nothing to bake")
+ return {'CANCELLED'}
# basic cleanup, could move elsewhere
for fcu in action.fcurves:
@@ -168,3 +268,36 @@ class BakeAction(bpy.types.Operator):
def invoke(self, context, event):
wm = context.window_manager
return wm.invoke_props_dialog(self)
+
+
+class ClearUselessActions(Operator):
+ '''Mark actions with no F-Curves for deletion after save+reload of file preserving "action libraries"'''
+ bl_idname = "anim.clear_useless_actions"
+ bl_label = "Clear Useless Actions"
+ bl_options = {'REGISTER', 'UNDO'}
+
+ only_unused = BoolProperty(name="Only Unused",
+ description="Only unused (Fake User only) actions get considered",
+ default=True)
+
+ @classmethod
+ def poll(cls, context):
+ return len(bpy.data.actions) != 0
+
+ def execute(self, context):
+ removed = 0
+
+ for action in bpy.data.actions:
+ # if only user is "fake" user...
+ if ((self.only_unused is False) or
+ (action.use_fake_user and action.users == 1)):
+
+ # if it has F-Curves, then it's a "action library" (i.e. walk, wave, jump, etc.)
+ # and should be left alone as that's what fake users are for!
+ if not action.fcurves:
+ # mark action for deletion
+ action.user_clear()
+ removed += 1
+
+ self.report({'INFO'}, "Removed %d empty and/or fake-user only Actions" % (removed))
+ return {'FINISHED'}
diff --git a/release/scripts/startup/bl_operators/object.py b/release/scripts/startup/bl_operators/object.py
index 0342a14a1b2..6c9f27afaa5 100644
--- a/release/scripts/startup/bl_operators/object.py
+++ b/release/scripts/startup/bl_operators/object.py
@@ -16,21 +16,35 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
+from bpy.types import Operator
from bpy.props import StringProperty, BoolProperty, EnumProperty, IntProperty
-class SelectPattern(bpy.types.Operator):
+class SelectPattern(Operator):
'''Select object matching a naming pattern'''
bl_idname = "object.select_pattern"
bl_label = "Select Pattern"
bl_options = {'REGISTER', 'UNDO'}
- pattern = StringProperty(name="Pattern", description="Name filter using '*' and '?' wildcard chars", maxlen=32, default="*")
- case_sensitive = BoolProperty(name="Case Sensitive", description="Do a case sensitive compare", default=False)
- extend = BoolProperty(name="Extend", description="Extend the existing selection", default=True)
+ pattern = StringProperty(
+ name="Pattern",
+ description="Name filter using '*' and '?' wildcard chars",
+ maxlen=32,
+ default="*",
+ )
+ case_sensitive = BoolProperty(
+ name="Case Sensitive",
+ description="Do a case sensitive compare",
+ default=False,
+ )
+ extend = BoolProperty(
+ name="Extend",
+ description="Extend the existing selection",
+ default=True,
+ )
def execute(self, context):
@@ -39,22 +53,37 @@ class SelectPattern(bpy.types.Operator):
if self.case_sensitive:
pattern_match = fnmatch.fnmatchcase
else:
- pattern_match = lambda a, b: fnmatch.fnmatchcase(a.upper(), b.upper())
-
+ pattern_match = (lambda a, b:
+ fnmatch.fnmatchcase(a.upper(), b.upper()))
+ is_ebone = False
obj = context.object
if obj and obj.mode == 'POSE':
items = obj.data.bones
+ if not self.extend:
+ bpy.ops.pose.select_all(action='DESELECT')
elif obj and obj.type == 'ARMATURE' and obj.mode == 'EDIT':
items = obj.data.edit_bones
+ if not self.extend:
+ bpy.ops.armature.select_all(action='DESELECT')
+ is_ebone = True
else:
items = context.visible_objects
+ if not self.extend:
+ bpy.ops.object.select_all(action='DESELECT')
# Can be pose bones or objects
for item in items:
if pattern_match(item.name, self.pattern):
item.select = True
- elif not self.extend:
- item.select = False
+
+ # hrmf, perhaps there should be a utility function for this.
+ if is_ebone:
+ item.select_head = True
+ item.select_tail = True
+ if item.use_connect:
+ item_parent = item.parent
+ if item_parent is not None:
+ item_parent.select_tail = True
return {'FINISHED'}
@@ -71,7 +100,7 @@ class SelectPattern(bpy.types.Operator):
row.prop(self, "extend")
-class SelectCamera(bpy.types.Operator):
+class SelectCamera(Operator):
'''Select object matching a naming pattern'''
bl_idname = "object.select_camera"
bl_label = "Select Camera"
@@ -92,20 +121,26 @@ class SelectCamera(bpy.types.Operator):
return {'FINISHED'}
-class SelectHierarchy(bpy.types.Operator):
- '''Select object relative to the active objects position in the hierarchy'''
+class SelectHierarchy(Operator):
+ '''Select object relative to the active objects position''' \
+ '''in the hierarchy'''
bl_idname = "object.select_hierarchy"
bl_label = "Select Hierarchy"
bl_options = {'REGISTER', 'UNDO'}
- direction = EnumProperty(items=(
- ('PARENT', "Parent", ""),
- ('CHILD', "Child", "")),
- name="Direction",
- description="Direction to select in the hierarchy",
- default='PARENT')
+ direction = EnumProperty(
+ items=(('PARENT', "Parent", ""),
+ ('CHILD', "Child", ""),
+ ),
+ name="Direction",
+ description="Direction to select in the hierarchy",
+ default='PARENT')
- extend = BoolProperty(name="Extend", description="Extend the existing selection", default=False)
+ extend = BoolProperty(
+ name="Extend",
+ description="Extend the existing selection",
+ default=False,
+ )
@classmethod
def poll(cls, context):
@@ -153,17 +188,26 @@ class SelectHierarchy(bpy.types.Operator):
return {'CANCELLED'}
-class SubdivisionSet(bpy.types.Operator):
+class SubdivisionSet(Operator):
'''Sets a Subdivision Surface Level (1-5)'''
bl_idname = "object.subdivision_set"
bl_label = "Subdivision Set"
bl_options = {'REGISTER', 'UNDO'}
- level = IntProperty(name="Level",
- default=1, min=-100, max=100, soft_min=-6, soft_max=6)
+ level = IntProperty(
+ name="Level",
+ min=-100, max=100,
+ soft_min=-6, soft_max=6,
+ default=1,
+ )
- relative = BoolProperty(name="Relative", description="Apply the subsurf level as an offset relative to the current level", default=False)
+ relative = BoolProperty(
+ name="Relative",
+ description=("Apply the subsurf level as an offset "
+ "relative to the current level"),
+ default=False,
+ )
@classmethod
def poll(cls, context):
@@ -215,7 +259,8 @@ class SubdivisionSet(bpy.types.Operator):
mod = obj.modifiers.new("Subsurf", 'SUBSURF')
mod.levels = level
except:
- self.report({'WARNING'}, "Modifiers cannot be added to object: " + obj.name)
+ self.report({'WARNING'},
+ "Modifiers cannot be added to object: " + obj.name)
for obj in context.selected_editable_objects:
set_object_subd(obj)
@@ -223,24 +268,38 @@ class SubdivisionSet(bpy.types.Operator):
return {'FINISHED'}
-class ShapeTransfer(bpy.types.Operator):
- '''Copy another selected objects active shape to this one by applying the relative offsets'''
+class ShapeTransfer(Operator):
+ '''Copy another selected objects active shape to this one by ''' \
+ '''applying the relative offsets'''
bl_idname = "object.shape_key_transfer"
bl_label = "Transfer Shape Key"
bl_options = {'REGISTER', 'UNDO'}
- mode = EnumProperty(items=(
- ('OFFSET', "Offset", "Apply the relative positional offset"),
- ('RELATIVE_FACE', "Relative Face", "Calculate the geometricly relative position (using faces)."),
- ('RELATIVE_EDGE', "Relative Edge", "Calculate the geometricly relative position (using edges).")),
- name="Transformation Mode",
- description="Method to apply relative shape positions to the new shape",
- default='OFFSET')
-
- use_clamp = BoolProperty(name="Clamp Offset",
- description="Clamp the transformation to the distance each vertex moves in the original shape.",
- default=False)
+ mode = EnumProperty(
+ items=(('OFFSET',
+ "Offset",
+ "Apply the relative positional offset",
+ ),
+ ('RELATIVE_FACE',
+ "Relative Face",
+ "Calculate relative position (using faces).",
+ ),
+ ('RELATIVE_EDGE',
+ "Relative Edge",
+ "Calculate relative position (using edges).",
+ ),
+ ),
+ name="Transformation Mode",
+ description="Relative shape positions to the new shape method",
+ default='OFFSET',
+ )
+ use_clamp = BoolProperty(
+ name="Clamp Offset",
+ description=("Clamp the transformation to the distance each "
+ "vertex moves in the original shape."),
+ default=False,
+ )
def _main(self, ob_act, objects, mode='OFFSET', use_clamp=False):
@@ -272,13 +331,16 @@ class ShapeTransfer(bpy.types.Operator):
orig_shape_coords = me_cos(ob_act.active_shape_key.data)
orig_normals = me_nos(me.vertices)
- # orig_coords = me_cos(me.vertices) # the actual mverts location isnt as relyable as the base shape :S
+ # the actual mverts location isnt as relyable as the base shape :S
+ # orig_coords = me_cos(me.vertices)
orig_coords = me_cos(me.shape_keys.key_blocks[0].data)
for ob_other in objects:
me_other = ob_other.data
if len(me_other.vertices) != len(me.vertices):
- self.report({'WARNING'}, "Skipping '%s', vertex count differs" % ob_other.name)
+ self.report({'WARNING'},
+ ("Skipping '%s', "
+ "vertex count differs") % ob_other.name)
continue
target_normals = me_nos(me_other.vertices)
@@ -290,53 +352,90 @@ class ShapeTransfer(bpy.types.Operator):
ob_add_shape(ob_other, orig_key_name)
# editing the final coords, only list that stores wrapped coords
- target_shape_coords = [v.co for v in ob_other.active_shape_key.data]
+ target_shape_coords = [v.co for v in
+ ob_other.active_shape_key.data]
median_coords = [[] for i in range(len(me.vertices))]
# Method 1, edge
if mode == 'OFFSET':
for i, vert_cos in enumerate(median_coords):
- vert_cos.append(target_coords[i] + (orig_shape_coords[i] - orig_coords[i]))
+ vert_cos.append(target_coords[i] +
+ (orig_shape_coords[i] - orig_coords[i]))
elif mode == 'RELATIVE_FACE':
for face in me.faces:
i1, i2, i3, i4 = face.vertices_raw
if i4 != 0:
pt = barycentric_transform(orig_shape_coords[i1],
- orig_coords[i4], orig_coords[i1], orig_coords[i2],
- target_coords[i4], target_coords[i1], target_coords[i2])
+ orig_coords[i4],
+ orig_coords[i1],
+ orig_coords[i2],
+ target_coords[i4],
+ target_coords[i1],
+ target_coords[i2],
+ )
median_coords[i1].append(pt)
pt = barycentric_transform(orig_shape_coords[i2],
- orig_coords[i1], orig_coords[i2], orig_coords[i3],
- target_coords[i1], target_coords[i2], target_coords[i3])
+ orig_coords[i1],
+ orig_coords[i2],
+ orig_coords[i3],
+ target_coords[i1],
+ target_coords[i2],
+ target_coords[i3],
+ )
median_coords[i2].append(pt)
pt = barycentric_transform(orig_shape_coords[i3],
- orig_coords[i2], orig_coords[i3], orig_coords[i4],
- target_coords[i2], target_coords[i3], target_coords[i4])
+ orig_coords[i2],
+ orig_coords[i3],
+ orig_coords[i4],
+ target_coords[i2],
+ target_coords[i3],
+ target_coords[i4],
+ )
median_coords[i3].append(pt)
pt = barycentric_transform(orig_shape_coords[i4],
- orig_coords[i3], orig_coords[i4], orig_coords[i1],
- target_coords[i3], target_coords[i4], target_coords[i1])
+ orig_coords[i3],
+ orig_coords[i4],
+ orig_coords[i1],
+ target_coords[i3],
+ target_coords[i4],
+ target_coords[i1],
+ )
median_coords[i4].append(pt)
else:
pt = barycentric_transform(orig_shape_coords[i1],
- orig_coords[i3], orig_coords[i1], orig_coords[i2],
- target_coords[i3], target_coords[i1], target_coords[i2])
+ orig_coords[i3],
+ orig_coords[i1],
+ orig_coords[i2],
+ target_coords[i3],
+ target_coords[i1],
+ target_coords[i2],
+ )
median_coords[i1].append(pt)
pt = barycentric_transform(orig_shape_coords[i2],
- orig_coords[i1], orig_coords[i2], orig_coords[i3],
- target_coords[i1], target_coords[i2], target_coords[i3])
+ orig_coords[i1],
+ orig_coords[i2],
+ orig_coords[i3],
+ target_coords[i1],
+ target_coords[i2],
+ target_coords[i3],
+ )
median_coords[i2].append(pt)
pt = barycentric_transform(orig_shape_coords[i3],
- orig_coords[i2], orig_coords[i3], orig_coords[i1],
- target_coords[i2], target_coords[i3], target_coords[i1])
+ orig_coords[i2],
+ orig_coords[i3],
+ orig_coords[i1],
+ target_coords[i2],
+ target_coords[i3],
+ target_coords[i1],
+ )
median_coords[i3].append(pt)
elif mode == 'RELATIVE_EDGE':
@@ -374,7 +473,8 @@ class ShapeTransfer(bpy.types.Operator):
if use_clamp:
# clamp to the same movement as the original
# breaks copy between different scaled meshes.
- len_from = (orig_shape_coords[i] - orig_coords[i]).length
+ len_from = (orig_shape_coords[i] -
+ orig_coords[i]).length
ofs = co - target_coords[i]
ofs.length = len_from
co = target_coords[i] + ofs
@@ -395,7 +495,10 @@ class ShapeTransfer(bpy.types.Operator):
if 1: # swap from/to, means we cant copy to many at once.
if len(objects) != 1:
- self.report({'ERROR'}, "Expected one other selected mesh object to copy from")
+ self.report({'ERROR'},
+ ("Expected one other selected "
+ "mesh object to copy from"))
+
return {'CANCELLED'}
ob_act, objects = objects[0], [ob_act]
@@ -409,7 +512,7 @@ class ShapeTransfer(bpy.types.Operator):
return self._main(ob_act, objects, self.mode, self.use_clamp)
-class JoinUVs(bpy.types.Operator):
+class JoinUVs(Operator):
'''Copy UV Layout to objects with matching geometry'''
bl_idname = "object.join_uvs"
bl_label = "Join as UVs"
@@ -429,11 +532,14 @@ class JoinUVs(bpy.types.Operator):
bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
if not mesh.uv_textures:
- self.report({'WARNING'}, "Object: %s, Mesh: '%s' has no UVs\n" % (obj.name, mesh.name))
+ self.report({'WARNING'},
+ "Object: %s, Mesh: '%s' has no UVs"
+ % (obj.name, mesh.name))
else:
len_faces = len(mesh.faces)
- uv_array = array.array('f', [0.0] * 8) * len_faces # seems to be the fastest way to create an array
+ # seems to be the fastest way to create an array
+ uv_array = array.array('f', [0.0] * 8) * len_faces
mesh.uv_textures.active.data.foreach_get("uv_raw", uv_array)
objects = context.selected_editable_objects[:]
@@ -450,11 +556,18 @@ class JoinUVs(bpy.types.Operator):
mesh_other.tag = True
if len(mesh_other.faces) != len_faces:
- self.report({'WARNING'}, "Object: %s, Mesh: '%s' has %d faces, expected %d\n" % (obj_other.name, mesh_other.name, len(mesh_other.faces), len_faces))
+ self.report({'WARNING'}, "Object: %s, Mesh: "
+ "'%s' has %d faces, expected %d\n"
+ % (obj_other.name,
+ mesh_other.name,
+ len(mesh_other.faces),
+ len_faces),
+ )
else:
uv_other = mesh_other.uv_textures.active
if not uv_other:
- uv_other = mesh_other.uv_textures.new() # should return the texture it adds
+ # should return the texture it adds
+ uv_other = mesh_other.uv_textures.new()
# finally do the copy
uv_other.data.foreach_set("uv_raw", uv_array)
@@ -467,7 +580,7 @@ class JoinUVs(bpy.types.Operator):
return {'FINISHED'}
-class MakeDupliFace(bpy.types.Operator):
+class MakeDupliFace(Operator):
'''Make linked objects into dupli-faces'''
bl_idname = "object.make_dupli_face"
bl_label = "Make Dupli-Face"
@@ -482,14 +595,18 @@ class MakeDupliFace(bpy.types.Operator):
SCALE_FAC = 0.01
offset = 0.5 * SCALE_FAC
- base_tri = Vector((-offset, -offset, 0.0)), Vector((offset, -offset, 0.0)), Vector((offset, offset, 0.0)), Vector((-offset, offset, 0.0))
+ base_tri = (Vector((-offset, -offset, 0.0)),
+ Vector((+offset, -offset, 0.0)),
+ Vector((+offset, +offset, 0.0)),
+ Vector((-offset, +offset, 0.0)),
+ )
def matrix_to_quat(matrix):
# scale = matrix.median_scale
trans = matrix.to_translation()
rot = matrix.to_3x3() # also contains scale
- return [(b * rot) + trans for b in base_tri]
+ return [(rot * b) + trans for b in base_tri]
scene = bpy.context.scene
linked = {}
for obj in bpy.context.selected_objects:
@@ -498,7 +615,10 @@ class MakeDupliFace(bpy.types.Operator):
linked.setdefault(data, []).append(obj)
for data, objects in linked.items():
- face_verts = [axis for obj in objects for v in matrix_to_quat(obj.matrix_world) for axis in v]
+ face_verts = [axis for obj in objects
+ for v in matrix_to_quat(obj.matrix_world)
+ for axis in v]
+
faces = list(range(len(face_verts) // 3))
mesh = bpy.data.meshes.new(data.name + "_dupli")
@@ -534,8 +654,9 @@ class MakeDupliFace(bpy.types.Operator):
return {'FINISHED'}
-class IsolateTypeRender(bpy.types.Operator):
- '''Hide unselected render objects of same type as active by setting the hide render flag'''
+class IsolateTypeRender(Operator):
+ '''Hide unselected render objects of same type as active ''' \
+ '''by setting the hide render flag'''
bl_idname = "object.isolate_type_render"
bl_label = "Restrict Render Unselected"
bl_options = {'REGISTER', 'UNDO'}
@@ -554,7 +675,7 @@ class IsolateTypeRender(bpy.types.Operator):
return {'FINISHED'}
-class ClearAllRestrictRender(bpy.types.Operator):
+class ClearAllRestrictRender(Operator):
'''Reveal all render objects by setting the hide render flag'''
bl_idname = "object.hide_render_clear_all"
bl_label = "Clear All Restrict Render"
@@ -564,3 +685,49 @@ class ClearAllRestrictRender(bpy.types.Operator):
for obj in context.scene.objects:
obj.hide_render = False
return {'FINISHED'}
+
+
+class TransformsToDeltasAnim(Operator):
+ '''Convert object animation for normal transforms to delta transforms'''
+ bl_idname = "object.anim_transforms_to_deltas"
+ bl_label = "Animated Transforms to Deltas"
+ bl_options = {'REGISTER', 'UNDO'}
+
+ @classmethod
+ def poll(cls, context):
+ obs = context.selected_editable_objects
+ return (obs is not None)
+
+ def execute(self, context):
+ for obj in context.selected_editable_objects:
+ # get animation data
+ adt = obj.animation_data
+ if (adt is None) or (adt.action is None):
+ self.report({'WARNING'},
+ "No animation data to convert on object: %r" %
+ obj.name)
+ continue
+
+ # if F-Curve uses standard transform path
+ # just append "delta_" to this path
+ for fcu in adt.action.fcurves:
+ if fcu.data_path == "location":
+ fcu.data_path = "delta_location"
+ obj.location.zero()
+ elif fcu.data_path == "rotation_euler":
+ fcu.data_path = "delta_rotation_euler"
+ obj.rotation_euler.zero()
+ elif fcu.data_path == "rotation_quaternion":
+ fcu.data_path = "delta_rotation_quaternion"
+ obj.rotation_quaternion.identity()
+ # XXX: currently not implemented
+ # elif fcu.data_path == "rotation_axis_angle":
+ # fcu.data_path = "delta_rotation_axis_angle"
+ elif fcu.data_path == "scale":
+ fcu.data_path = "delta_scale"
+ obj.scale = 1.0, 1.0, 1.0
+
+ # hack: force animsys flush by changing frame, so that deltas get run
+ context.scene.frame_set(context.scene.frame_current)
+
+ return {'FINISHED'}
diff --git a/release/scripts/startup/bl_operators/object_align.py b/release/scripts/startup/bl_operators/object_align.py
index 644f30a4745..50e9bfb5b98 100644
--- a/release/scripts/startup/bl_operators/object_align.py
+++ b/release/scripts/startup/bl_operators/object_align.py
@@ -16,106 +16,213 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
+from bpy.types import Operator
from mathutils import Vector
-def align_objects(align_x, align_y, align_z, align_mode, relative_to):
+def GlobalBB_LQ(bb_world):
+
+ # Initialize the variables with the 8th vertex
+ left, right, front, back, down, up = (bb_world[7][0],
+ bb_world[7][0],
+ bb_world[7][1],
+ bb_world[7][1],
+ bb_world[7][2],
+ bb_world[7][2],
+ )
+
+ # Test against the other 7 verts
+ for i in range(7):
+
+ # X Range
+ val = bb_world[i][0]
+ if val < left:
+ left = val
+
+ if val > right:
+ right = val
+
+ # Y Range
+ val = bb_world[i][1]
+ if val < front:
+ front = val
+
+ if val > back:
+ back = val
+
+ # Z Range
+ val = bb_world[i][2]
+ if val < down:
+ down = val
+
+ if val > up:
+ up = val
+
+ return (Vector((left, front, up)), Vector((right, back, down)))
+
+
+def GlobalBB_HQ(obj):
+
+ matrix_world = obj.matrix_world.copy()
+
+ # Initialize the variables with the last vertex
+
+ verts = obj.data.vertices
+
+ val = matrix_world * verts[-1].co
+
+ left, right, front, back, down, up = (val[0],
+ val[0],
+ val[1],
+ val[1],
+ val[2],
+ val[2],
+ )
+
+ # Test against all other verts
+ for i in range(len(verts) - 1):
+
+ vco = matrix_world * verts[i].co
+
+ # X Range
+ val = vco[0]
+ if val < left:
+ left = val
+
+ if val > right:
+ right = val
+
+ # Y Range
+ val = vco[1]
+ if val < front:
+ front = val
+
+ if val > back:
+ back = val
+
+ # Z Range
+ val = vco[2]
+ if val < down:
+ down = val
+
+ if val > up:
+ up = val
+
+ return Vector((left, front, up)), Vector((right, back, down))
+
+
+def align_objects(align_x,
+ align_y,
+ align_z,
+ align_mode,
+ relative_to,
+ bb_quality):
cursor = bpy.context.scene.cursor_location
- Left_Up_Front_SEL = [0.0, 0.0, 0.0]
- Right_Down_Back_SEL = [0.0, 0.0, 0.0]
+ Left_Front_Up_SEL = [0.0, 0.0, 0.0]
+ Right_Back_Down_SEL = [0.0, 0.0, 0.0]
flag_first = True
objs = []
for obj in bpy.context.selected_objects:
- matrix_world = obj.matrix_world
- bb_world = [Vector(v[:]) * matrix_world for v in obj.bound_box]
+ matrix_world = obj.matrix_world.copy()
+ bb_world = [matrix_world * Vector(v[:]) for v in obj.bound_box]
objs.append((obj, bb_world))
if not objs:
return False
for obj, bb_world in objs:
- Left_Up_Front = bb_world[1]
- Right_Down_Back = bb_world[7]
+
+ if bb_quality:
+ GBB = GlobalBB_HQ(obj)
+ else:
+ GBB = GlobalBB_LQ(bb_world)
+
+ Left_Front_Up = GBB[0]
+ Right_Back_Down = GBB[1]
# Active Center
if obj == bpy.context.active_object:
- center_active_x = (Left_Up_Front[0] + Right_Down_Back[0]) / 2.0
- center_active_y = (Left_Up_Front[1] + Right_Down_Back[1]) / 2.0
- center_active_z = (Left_Up_Front[2] + Right_Down_Back[2]) / 2.0
+ center_active_x = (Left_Front_Up[0] + Right_Back_Down[0]) / 2.0
+ center_active_y = (Left_Front_Up[1] + Right_Back_Down[1]) / 2.0
+ center_active_z = (Left_Front_Up[2] + Right_Back_Down[2]) / 2.0
- size_active_x = (Right_Down_Back[0] - Left_Up_Front[0]) / 2.0
- size_active_y = (Right_Down_Back[1] - Left_Up_Front[1]) / 2.0
- size_active_z = (Left_Up_Front[2] - Right_Down_Back[2]) / 2.0
+ size_active_x = (Right_Back_Down[0] - Left_Front_Up[0]) / 2.0
+ size_active_y = (Right_Back_Down[1] - Left_Front_Up[1]) / 2.0
+ size_active_z = (Left_Front_Up[2] - Right_Back_Down[2]) / 2.0
# Selection Center
if flag_first:
flag_first = False
- Left_Up_Front_SEL[0] = Left_Up_Front[0]
- Left_Up_Front_SEL[1] = Left_Up_Front[1]
- Left_Up_Front_SEL[2] = Left_Up_Front[2]
+ Left_Front_Up_SEL[0] = Left_Front_Up[0]
+ Left_Front_Up_SEL[1] = Left_Front_Up[1]
+ Left_Front_Up_SEL[2] = Left_Front_Up[2]
- Right_Down_Back_SEL[0] = Right_Down_Back[0]
- Right_Down_Back_SEL[1] = Right_Down_Back[1]
- Right_Down_Back_SEL[2] = Right_Down_Back[2]
+ Right_Back_Down_SEL[0] = Right_Back_Down[0]
+ Right_Back_Down_SEL[1] = Right_Back_Down[1]
+ Right_Back_Down_SEL[2] = Right_Back_Down[2]
else:
# X axis
- if Left_Up_Front[0] < Left_Up_Front_SEL[0]:
- Left_Up_Front_SEL[0] = Left_Up_Front[0]
+ if Left_Front_Up[0] < Left_Front_Up_SEL[0]:
+ Left_Front_Up_SEL[0] = Left_Front_Up[0]
# Y axis
- if Left_Up_Front[1] < Left_Up_Front_SEL[1]:
- Left_Up_Front_SEL[1] = Left_Up_Front[1]
+ if Left_Front_Up[1] < Left_Front_Up_SEL[1]:
+ Left_Front_Up_SEL[1] = Left_Front_Up[1]
# Z axis
- if Left_Up_Front[2] > Left_Up_Front_SEL[2]:
- Left_Up_Front_SEL[2] = Left_Up_Front[2]
+ if Left_Front_Up[2] > Left_Front_Up_SEL[2]:
+ Left_Front_Up_SEL[2] = Left_Front_Up[2]
# X axis
- if Right_Down_Back[0] > Right_Down_Back_SEL[0]:
- Right_Down_Back_SEL[0] = Right_Down_Back[0]
+ if Right_Back_Down[0] > Right_Back_Down_SEL[0]:
+ Right_Back_Down_SEL[0] = Right_Back_Down[0]
# Y axis
- if Right_Down_Back[1] > Right_Down_Back_SEL[1]:
- Right_Down_Back_SEL[1] = Right_Down_Back[1]
+ if Right_Back_Down[1] > Right_Back_Down_SEL[1]:
+ Right_Back_Down_SEL[1] = Right_Back_Down[1]
# Z axis
- if Right_Down_Back[2] < Right_Down_Back_SEL[2]:
- Right_Down_Back_SEL[2] = Right_Down_Back[2]
+ if Right_Back_Down[2] < Right_Back_Down_SEL[2]:
+ Right_Back_Down_SEL[2] = Right_Back_Down[2]
- center_sel_x = (Left_Up_Front_SEL[0] + Right_Down_Back_SEL[0]) / 2.0
- center_sel_y = (Left_Up_Front_SEL[1] + Right_Down_Back_SEL[1]) / 2.0
- center_sel_z = (Left_Up_Front_SEL[2] + Right_Down_Back_SEL[2]) / 2.0
+ center_sel_x = (Left_Front_Up_SEL[0] + Right_Back_Down_SEL[0]) / 2.0
+ center_sel_y = (Left_Front_Up_SEL[1] + Right_Back_Down_SEL[1]) / 2.0
+ center_sel_z = (Left_Front_Up_SEL[2] + Right_Back_Down_SEL[2]) / 2.0
# Main Loop
for obj, bb_world in objs:
+ matrix_world = obj.matrix_world.copy()
+ bb_world = [matrix_world * Vector(v[:]) for v in obj.bound_box]
- loc_world = obj.location
- bb_world = [Vector(v[:]) * obj.matrix_world for v in obj.bound_box]
+ if bb_quality:
+ GBB = GlobalBB_HQ(obj)
+ else:
+ GBB = GlobalBB_LQ(bb_world)
- Left_Up_Front = bb_world[1]
- Right_Down_Back = bb_world[7]
+ Left_Front_Up = GBB[0]
+ Right_Back_Down = GBB[1]
- center_x = (Left_Up_Front[0] + Right_Down_Back[0]) / 2.0
- center_y = (Left_Up_Front[1] + Right_Down_Back[1]) / 2.0
- center_z = (Left_Up_Front[2] + Right_Down_Back[2]) / 2.0
+ center_x = (Left_Front_Up[0] + Right_Back_Down[0]) / 2.0
+ center_y = (Left_Front_Up[1] + Right_Back_Down[1]) / 2.0
+ center_z = (Left_Front_Up[2] + Right_Back_Down[2]) / 2.0
- positive_x = Right_Down_Back[0]
- positive_y = Right_Down_Back[1]
- positive_z = Left_Up_Front[2]
+ positive_x = Right_Back_Down[0]
+ positive_y = Right_Back_Down[1]
+ positive_z = Left_Front_Up[2]
- negative_x = Left_Up_Front[0]
- negative_y = Left_Up_Front[1]
- negative_z = Right_Down_Back[2]
+ negative_x = Left_Front_Up[0]
+ negative_y = Left_Front_Up[1]
+ negative_z = Right_Back_Down[2]
obj_loc = obj.location
@@ -230,40 +337,48 @@ def align_objects(align_x, align_y, align_z, align_mode, relative_to):
return True
-from bpy.props import EnumProperty
+from bpy.props import EnumProperty, BoolProperty
-class AlignObjects(bpy.types.Operator):
+class AlignObjects(Operator):
'''Align Objects'''
bl_idname = "object.align"
bl_label = "Align Objects"
bl_options = {'REGISTER', 'UNDO'}
- align_mode = EnumProperty(items=(
- ('OPT_1', "Negative Sides", ""),
- ('OPT_2', "Centers", ""),
- ('OPT_3', "Positive Sides", "")),
- name="Align Mode:",
- description="",
- default='OPT_2')
-
- relative_to = EnumProperty(items=(
- ('OPT_1', "Scene Origin", ""),
- ('OPT_2', "3D Cursor", ""),
- ('OPT_3', "Selection", ""),
- ('OPT_4', "Active", "")),
- name="Relative To:",
- description="",
- default='OPT_4')
-
- align_axis = EnumProperty(items=(
- ('X', "X", ""),
- ('Y', "Y", ""),
- ('Z', "Z", ""),
- ),
- name="Align",
- description="Align to axis",
- options={'ENUM_FLAG'})
+ bb_quality = BoolProperty(
+ name="High Quality",
+ description=("Enables high quality calculation of the "
+ "bounding box for perfect results on complex "
+ "shape meshes with rotation/scale (Slow)"),
+ default=True,
+ )
+ align_mode = EnumProperty(
+ name="Align Mode:",
+ items=(('OPT_1', "Negative Sides", ""),
+ ('OPT_2', "Centers", ""),
+ ('OPT_3', "Positive Sides", ""),
+ ),
+ default='OPT_2',
+ )
+ relative_to = EnumProperty(
+ name="Relative To:",
+ items=(('OPT_1', "Scene Origin", ""),
+ ('OPT_2', "3D Cursor", ""),
+ ('OPT_3', "Selection", ""),
+ ('OPT_4', "Active", ""),
+ ),
+ default='OPT_4',
+ )
+ align_axis = EnumProperty(
+ name="Align",
+ description="Align to axis",
+ items=(('X', "X", ""),
+ ('Y', "Y", ""),
+ ('Z', "Z", ""),
+ ),
+ options={'ENUM_FLAG'},
+ )
@classmethod
def poll(cls, context):
@@ -271,7 +386,12 @@ class AlignObjects(bpy.types.Operator):
def execute(self, context):
align_axis = self.align_axis
- ret = align_objects('X' in align_axis, 'Y' in align_axis, 'Z' in align_axis, self.align_mode, self.relative_to)
+ ret = align_objects('X' in align_axis,
+ 'Y' in align_axis,
+ 'Z' in align_axis,
+ self.align_mode,
+ self.relative_to,
+ self.bb_quality)
if not ret:
self.report({'WARNING'}, "No objects with bound-box selected")
diff --git a/release/scripts/startup/bl_operators/object_quick_effects.py b/release/scripts/startup/bl_operators/object_quick_effects.py
index 21640fa3ee6..48b547980d4 100644
--- a/release/scripts/startup/bl_operators/object_quick_effects.py
+++ b/release/scripts/startup/bl_operators/object_quick_effects.py
@@ -16,35 +16,65 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
from mathutils import Vector
import bpy
-from bpy.props import BoolProperty, EnumProperty, IntProperty, FloatProperty, FloatVectorProperty
+from bpy.types import Operator
+from bpy.props import (BoolProperty,
+ EnumProperty,
+ IntProperty,
+ FloatProperty,
+ FloatVectorProperty,
+ )
+
+
+def object_ensure_material(obj, mat_name):
+ """ Use an existing material or add a new one.
+ """
+ mat = mat_slot = None
+ for mat_slot in obj.material_slots:
+ mat = mat_slot.material
+ if mat:
+ break
+ if mat is None:
+ mat = bpy.data.materials.new(mat_name)
+ if mat_slot:
+ mat_slot.material = mat
+ else:
+ obj.data.materials.append(mat)
+ return mat
-class MakeFur(bpy.types.Operator):
- bl_idname = "object.make_fur"
- bl_label = "Make Fur"
+class QuickFur(Operator):
+ bl_idname = "object.quick_fur"
+ bl_label = "Quick Fur"
bl_options = {'REGISTER', 'UNDO'}
- density = EnumProperty(items=(
- ('LIGHT', "Light", ""),
- ('MEDIUM', "Medium", ""),
- ('HEAVY', "Heavy", "")),
- name="Fur Density",
- description="",
- default='MEDIUM')
-
- view_percentage = IntProperty(name="View %",
- default=10, min=1, max=100, soft_min=1, soft_max=100)
-
- length = FloatProperty(name="Length",
- default=0.1, min=0.001, max=100, soft_min=0.01, soft_max=10)
+ density = EnumProperty(
+ name="Fur Density",
+ items=(('LIGHT', "Light", ""),
+ ('MEDIUM', "Medium", ""),
+ ('HEAVY', "Heavy", "")),
+ default='MEDIUM',
+ )
+ view_percentage = IntProperty(
+ name="View %",
+ min=1, max=100,
+ soft_min=1, soft_max=100,
+ default=10,
+ )
+ length = FloatProperty(
+ name="Length",
+ min=0.001, max=100,
+ soft_min=0.01, soft_max=10,
+ default=0.1,
+ )
def execute(self, context):
fake_context = bpy.context.copy()
- mesh_objects = [obj for obj in context.selected_objects if obj.type == 'MESH']
+ mesh_objects = [obj for obj in context.selected_objects
+ if obj.type == 'MESH']
if not mesh_objects:
self.report({'ERROR'}, "Select at least one mesh object.")
@@ -75,14 +105,183 @@ class MakeFur(bpy.types.Operator):
psys.settings.child_type = 'INTERPOLATED'
obj.data.materials.append(mat)
- obj.particle_systems[-1].settings.material = len(obj.data.materials)
+ obj.particle_systems[-1].settings.material = \
+ len(obj.data.materials)
+
+ return {'FINISHED'}
+
+
+class QuickExplode(Operator):
+ bl_idname = "object.quick_explode"
+ bl_label = "Quick Explode"
+ bl_options = {'REGISTER', 'UNDO'}
+
+ style = EnumProperty(
+ name="Explode Style",
+ items=(('EXPLODE', "Explode", ""),
+ ('BLEND', "Blend", "")),
+ default='EXPLODE',
+ )
+ amount = IntProperty(
+ name="Amount of pieces",
+ min=2, max=10000,
+ soft_min=2, soft_max=10000,
+ default=100,
+ )
+ frame_duration = IntProperty(
+ name="Duration",
+ min=1, max=300000,
+ soft_min=1, soft_max=10000,
+ default=50,
+ )
+
+ frame_start = IntProperty(
+ name="Start Frame",
+ min=1, max=300000,
+ soft_min=1, soft_max=10000,
+ default=1,
+ )
+ frame_end = IntProperty(
+ name="End Frame",
+ min=1, max=300000,
+ soft_min=1, soft_max=10000,
+ default=10,
+ )
+
+ velocity = FloatProperty(
+ name="Outwards Velocity",
+ min=0, max=300000,
+ soft_min=0, soft_max=10,
+ default=1,
+ )
+
+ fade = BoolProperty(
+ name="Fade",
+ description="Fade the pieces over time.",
+ default=True,
+ )
+
+ def execute(self, context):
+ fake_context = bpy.context.copy()
+ obj_act = context.active_object
+
+ if obj_act is None or obj_act.type != 'MESH':
+ self.report({'ERROR'}, "Active object is not a mesh")
+ return {'CANCELLED'}
+
+ mesh_objects = [obj for obj in context.selected_objects
+ if obj.type == 'MESH' and obj != obj_act]
+ mesh_objects.insert(0, obj_act)
+
+ if self.style == 'BLEND' and len(mesh_objects) != 2:
+ self.report({'ERROR'}, "Select two mesh objects")
+ return {'CANCELLED'}
+ elif not mesh_objects:
+ self.report({'ERROR'}, "Select at least one mesh object")
+ return {'CANCELLED'}
+
+ for obj in mesh_objects:
+ if obj.particle_systems:
+ self.report({'ERROR'},
+ "Object %r already has a "
+ "particle system" % obj.name)
+
+ return {'CANCELLED'}
+
+ if self.fade:
+ tex = bpy.data.textures.new("Explode fade", 'BLEND')
+ tex.use_color_ramp = True
+
+ if self.style == 'BLEND':
+ tex.color_ramp.elements[0].position = 0.333
+ tex.color_ramp.elements[1].position = 0.666
+
+ tex.color_ramp.elements[0].color[3] = 1.0
+ tex.color_ramp.elements[1].color[3] = 0.0
+
+ if self.style == 'BLEND':
+ from_obj = mesh_objects[1]
+ to_obj = mesh_objects[0]
+
+ for obj in mesh_objects:
+ fake_context["object"] = obj
+ bpy.ops.object.particle_system_add(fake_context)
+
+ settings = obj.particle_systems[-1].settings
+ settings.count = self.amount
+ settings.frame_start = self.frame_start
+ settings.frame_end = self.frame_end - self.frame_duration
+ settings.lifetime = self.frame_duration
+ settings.normal_factor = self.velocity
+ settings.render_type = 'NONE'
+
+ explode = obj.modifiers.new(name='Explode', type='EXPLODE')
+ explode.use_edge_cut = True
+
+ if self.fade:
+ explode.show_dead = False
+ uv = obj.data.uv_textures.new("Explode fade")
+ explode.particle_uv = uv.name
+
+ mat = object_ensure_material(obj, "Explode Fade")
+
+ mat.use_transparency = True
+ mat.use_transparent_shadows = True
+ mat.alpha = 0.0
+ mat.specular_alpha = 0.0
+
+ tex_slot = mat.texture_slots.add()
+
+ tex_slot.texture = tex
+ tex_slot.texture_coords = 'UV'
+ tex_slot.uv_layer = uv.name
+
+ tex_slot.use_map_alpha = True
+
+ if self.style == 'BLEND':
+ if obj == to_obj:
+ tex_slot.alpha_factor = -1.0
+ elem = tex.color_ramp.elements[1]
+ elem.color = mat.diffuse_color
+ else:
+ elem = tex.color_ramp.elements[0]
+ elem.color = mat.diffuse_color
+ else:
+ tex_slot.use_map_color_diffuse = False
+
+ if self.style == 'BLEND':
+ settings.physics_type = 'KEYED'
+ settings.use_emit_random = False
+ settings.rotation_mode = 'NOR'
+
+ psys = obj.particle_systems[-1]
+
+ fake_context["particle_system"] = obj.particle_systems[-1]
+ bpy.ops.particle.new_target(fake_context)
+ bpy.ops.particle.new_target(fake_context)
+
+ if obj == from_obj:
+ psys.targets[1].object = to_obj
+ else:
+ psys.targets[0].object = from_obj
+ settings.normal_factor = -self.velocity
+ explode.show_unborn = False
+ explode.show_dead = True
+ else:
+ settings.factor_random = self.velocity
+ settings.angular_velocity_factor = self.velocity / 10.0
return {'FINISHED'}
+ def invoke(self, context, event):
+ self.frame_start = context.scene.frame_current
+ self.frame_end = self.frame_start + self.frame_duration
+ return self.execute(context)
+
def obj_bb_minmax(obj, min_co, max_co):
for i in range(0, 8):
- bb_vec = Vector((obj.bound_box[i][0], obj.bound_box[i][1], obj.bound_box[i][2])) * obj.matrix_world
+ bb_vec = obj.matrix_world * Vector(obj.bound_box[i])
min_co[0] = min(bb_vec[0], min_co[0])
min_co[1] = min(bb_vec[1], min_co[1])
@@ -92,28 +291,32 @@ def obj_bb_minmax(obj, min_co, max_co):
max_co[2] = max(bb_vec[2], max_co[2])
-class MakeSmoke(bpy.types.Operator):
- bl_idname = "object.make_smoke"
- bl_label = "Make Smoke"
+class QuickSmoke(Operator):
+ bl_idname = "object.quick_smoke"
+ bl_label = "Quick Smoke"
bl_options = {'REGISTER', 'UNDO'}
- style = EnumProperty(items=(
- ('STREAM', "Stream", ""),
- ('PUFF', "Puff", ""),
- ('FIRE', "Fire", "")),
- name="Smoke Style",
- description="",
- default='STREAM')
-
- show_flows = BoolProperty(name="Render Smoke Objects",
- description="Keep the smoke objects visible during rendering.",
- default=False)
+ style = EnumProperty(
+ name="Smoke Style",
+ items=(('STREAM', "Stream", ""),
+ ('PUFF', "Puff", ""),
+ ('FIRE', "Fire", ""),
+ ),
+ default='STREAM',
+ )
+
+ show_flows = BoolProperty(
+ name="Render Smoke Objects",
+ description="Keep the smoke objects visible during rendering.",
+ default=False,
+ )
def execute(self, context):
fake_context = bpy.context.copy()
- mesh_objects = [obj for obj in context.selected_objects if obj.type == 'MESH']
- min_co = Vector((100000, 100000, 100000))
- max_co = Vector((-100000, -100000, -100000))
+ mesh_objects = [obj for obj in context.selected_objects
+ if obj.type == 'MESH']
+ min_co = Vector((100000.0, 100000.0, 100000.0))
+ max_co = -min_co
if not mesh_objects:
self.report({'ERROR'}, "Select at least one mesh object.")
@@ -171,21 +374,25 @@ class MakeSmoke(bpy.types.Operator):
mat.volume.density = 0
mat.volume.density_scale = 5
- mat.texture_slots.add()
- mat.texture_slots[0].texture = bpy.data.textures.new("Smoke Density", 'VOXEL_DATA')
- mat.texture_slots[0].texture.voxel_data.domain_object = obj
- mat.texture_slots[0].use_map_color_emission = False
- mat.texture_slots[0].use_map_density = True
+ tex = bpy.data.textures.new("Smoke Density", 'VOXEL_DATA')
+ tex.voxel_data.domain_object = obj
+
+ tex_slot = mat.texture_slots.add()
+ tex_slot.texture = tex
+ tex_slot.use_map_color_emission = False
+ tex_slot.use_map_density = True
# for fire add a second texture for emission and emission color
if self.style == 'FIRE':
mat.volume.emission = 5
- mat.texture_slots.add()
- mat.texture_slots[1].texture = bpy.data.textures.new("Smoke Heat", 'VOXEL_DATA')
- mat.texture_slots[1].texture.voxel_data.domain_object = obj
- mat.texture_slots[1].texture.use_color_ramp = True
+ tex = bpy.data.textures.new("Smoke Heat", 'VOXEL_DATA')
+ tex.voxel_data.domain_object = obj
+ tex.use_color_ramp = True
+
+ tex_slot = mat.texture_slots.add()
+ tex_slot.texture = tex
- ramp = mat.texture_slots[1].texture.color_ramp
+ ramp = tex.color_ramp
elem = ramp.elements.new(0.333)
elem.color[0] = elem.color[3] = 1
@@ -201,33 +408,40 @@ class MakeSmoke(bpy.types.Operator):
return {'FINISHED'}
-class MakeFluid(bpy.types.Operator):
- bl_idname = "object.make_fluid"
- bl_label = "Make Fluid"
+class QuickFluid(Operator):
+ bl_idname = "object.quick_fluid"
+ bl_label = "Quick Fluid"
bl_options = {'REGISTER', 'UNDO'}
- style = EnumProperty(items=(
- ('INFLOW', "Inflow", ""),
- ('BASIC', "Basic", "")),
- name="Fluid Style",
- description="",
- default='BASIC')
-
- initial_velocity = FloatVectorProperty(name="Initial Velocity",
- description="Initial velocity of the fluid",
- default=(0.0, 0.0, 0.0), min=-100.0, max=100.0, subtype='VELOCITY')
-
- show_flows = BoolProperty(name="Render Fluid Objects",
- description="Keep the fluid objects visible during rendering.",
- default=False)
-
- start_baking = BoolProperty(name="Start Fluid Bake",
- description="Start baking the fluid immediately after creating the domain object.",
- default=False)
+ style = EnumProperty(
+ name="Fluid Style",
+ items=(('INFLOW', "Inflow", ""),
+ ('BASIC', "Basic", "")),
+ default='BASIC',
+ )
+ initial_velocity = FloatVectorProperty(
+ name="Initial Velocity",
+ description="Initial velocity of the fluid",
+ min=-100.0, max=100.0,
+ default=(0.0, 0.0, 0.0),
+ subtype='VELOCITY',
+ )
+ show_flows = BoolProperty(
+ name="Render Fluid Objects",
+ description="Keep the fluid objects visible during rendering.",
+ default=False,
+ )
+ start_baking = BoolProperty(
+ name="Start Fluid Bake",
+ description=("Start baking the fluid immediately "
+ "after creating the domain object"),
+ default=False,
+ )
def execute(self, context):
fake_context = bpy.context.copy()
- mesh_objects = [obj for obj in context.selected_objects if (obj.type == 'MESH' and not 0 in obj.dimensions)]
+ mesh_objects = [obj for obj in context.selected_objects
+ if (obj.type == 'MESH' and not 0.0 in obj.dimensions)]
min_co = Vector((100000, 100000, 100000))
max_co = Vector((-100000, -100000, -100000))
@@ -240,7 +454,8 @@ class MakeFluid(bpy.types.Operator):
# make each selected object a fluid
bpy.ops.object.modifier_add(fake_context, type='FLUID_SIMULATION')
- # fluid has to be before constructive modifiers, so it might not be the last modifier
+ # fluid has to be before constructive modifiers,
+ # so it might not be the last modifier
for mod in obj.modifiers:
if mod.type == 'FLUID_SIMULATION':
break
@@ -264,10 +479,14 @@ class MakeFluid(bpy.types.Operator):
obj = context.active_object
obj.name = "Fluid Domain"
- # give the fluid some room below the flows and scale with initial velocity
+ # give the fluid some room below the flows
+ # and scale with initial velocity
v = 0.5 * self.initial_velocity
obj.location = 0.5 * (max_co + min_co) + Vector((0.0, 0.0, -1.0)) + v
- obj.scale = 0.5 * (max_co - min_co) + Vector((1.0, 1.0, 2.0)) + Vector((abs(v[0]), abs(v[1]), abs(v[2])))
+ obj.scale = (0.5 * (max_co - min_co) +
+ Vector((1.0, 1.0, 2.0)) +
+ Vector((abs(v[0]), abs(v[1]), abs(v[2])))
+ )
# setup smoke domain
bpy.ops.object.modifier_add(type='FLUID_SIMULATION')
diff --git a/release/scripts/startup/bl_operators/object_randomize_transform.py b/release/scripts/startup/bl_operators/object_randomize_transform.py
index 9dc5086086f..7aea18487f3 100644
--- a/release/scripts/startup/bl_operators/object_randomize_transform.py
+++ b/release/scripts/startup/bl_operators/object_randomize_transform.py
@@ -16,9 +16,10 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
+from bpy.types import Operator
def randomize_selected(seed, delta, loc, rot, scale, scale_even):
@@ -87,46 +88,78 @@ def randomize_selected(seed, delta, loc, rot, scale, scale_even):
from bpy.props import IntProperty, BoolProperty, FloatVectorProperty
-class RandomizeLocRotSize(bpy.types.Operator):
+class RandomizeLocRotSize(Operator):
'''Randomize objects loc/rot/scale'''
bl_idname = "object.randomize_transform"
bl_label = "Randomize Transform"
bl_options = {'REGISTER', 'UNDO'}
- random_seed = IntProperty(name="Random Seed",
- description="Seed value for the random generator",
- default=0, min=0, max=1000)
-
- use_delta = BoolProperty(name="Transform Delta",
- description="Randomize delta transform values instead of regular transform", default=False)
-
- use_loc = BoolProperty(name="Randomize Location",
- description="Randomize the location values", default=True)
-
- loc = FloatVectorProperty(name="Location",
- description="Maximun distance the objects can spread over each axis",
- default=(0.0, 0.0, 0.0), min=-100.0, max=100.0, subtype='TRANSLATION')
-
- use_rot = BoolProperty(name="Randomize Rotation",
- description="Randomize the rotation values", default=True)
-
- rot = FloatVectorProperty(name="Rotation",
- description="Maximun rotation over each axis",
- default=(0.0, 0.0, 0.0), min=-180.0, max=180.0, subtype='TRANSLATION')
-
- use_scale = BoolProperty(name="Randomize Scale",
- description="Randomize the scale values", default=True)
-
- scale_even = BoolProperty(name="Scale Even",
- description="Use the same scale value for all axis", default=False)
-
- '''scale_min = FloatProperty(name="Minimun Scale Factor",
- description="Lowest scale percentage possible",
- default=0.15, min=-1.0, max=1.0, precision=3)'''
-
- scale = FloatVectorProperty(name="Scale",
- description="Maximum scale randomization over each axis",
- default=(0.0, 0.0, 0.0), min=-100.0, max=100.0, subtype='TRANSLATION')
+ random_seed = IntProperty(
+ name="Random Seed",
+ description="Seed value for the random generator",
+ min=0,
+ max=1000,
+ default=0,
+ )
+ use_delta = BoolProperty(
+ name="Transform Delta",
+ description=("Randomize delta transform values "
+ "instead of regular transform"),
+ default=False,
+ )
+ use_loc = BoolProperty(
+ name="Randomize Location",
+ description="Randomize the location values",
+ default=True,
+ )
+ loc = FloatVectorProperty(
+ name="Location",
+ description=("Maximun distance the objects "
+ "can spread over each axis"),
+ min=-100.0,
+ max=100.0,
+ default=(0.0, 0.0, 0.0),
+ subtype='TRANSLATION',
+ )
+ use_rot = BoolProperty(
+ name="Randomize Rotation",
+ description="Randomize the rotation values",
+ default=True,
+ )
+ rot = FloatVectorProperty(
+ name="Rotation",
+ description="Maximun rotation over each axis",
+ min=-180.0,
+ max=180.0,
+ default=(0.0, 0.0, 0.0),
+ subtype='TRANSLATION',
+ )
+ use_scale = BoolProperty(
+ name="Randomize Scale",
+ description="Randomize the scale values",
+ default=True,
+ )
+ scale_even = BoolProperty(
+ name="Scale Even",
+ description="Use the same scale value for all axis",
+ default=False,
+ )
+
+ '''scale_min = FloatProperty(
+ name="Minimun Scale Factor",
+ description="Lowest scale percentage possible",
+ min=-1.0, max=1.0, precision=3,
+ default=0.15,
+ )'''
+
+ scale = FloatVectorProperty(
+ name="Scale",
+ description="Maximum scale randomization over each axis",
+ min=-100.0,
+ max=100.0,
+ default=(0.0, 0.0, 0.0),
+ subtype='TRANSLATION',
+ )
def execute(self, context):
from math import radians
diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py
index 2175d7528a4..2fd0c4a9e12 100644
--- a/release/scripts/startup/bl_operators/presets.py
+++ b/release/scripts/startup/bl_operators/presets.py
@@ -16,9 +16,10 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
+from bpy.types import Menu, Operator
class AddPresetBase():
@@ -30,8 +31,15 @@ class AddPresetBase():
# bl_label = "Add a Python Preset"
bl_options = {'REGISTER'} # only because invoke_props_popup requires.
- name = bpy.props.StringProperty(name="Name", description="Name of the preset, used to make the path name", maxlen=64, default="")
- remove_active = bpy.props.BoolProperty(default=False, options={'HIDDEN'})
+ name = bpy.props.StringProperty(
+ name="Name",
+ description="Name of the preset, used to make the path name",
+ maxlen=64,
+ )
+ remove_active = bpy.props.BoolProperty(
+ default=False,
+ options={'HIDDEN'},
+ )
@staticmethod
def as_filename(name): # could reuse for other presets
@@ -54,7 +62,10 @@ class AddPresetBase():
filename = self.as_filename(name)
- target_path = bpy.utils.user_resource('SCRIPTS', os.path.join("presets", self.preset_subdir), create=True)
+ target_path = os.path.join("presets", self.preset_subdir)
+ target_path = bpy.utils.user_resource('SCRIPTS',
+ target_path,
+ create=True)
if not target_path:
self.report({'WARNING'}, "Failed to create presets path")
@@ -95,7 +106,9 @@ class AddPresetBase():
filepath = bpy.utils.preset_find(preset_active, self.preset_subdir)
if not filepath:
- filepath = bpy.utils.preset_find(preset_active, self.preset_subdir, display_name=True)
+ filepath = bpy.utils.preset_find(preset_active,
+ self.preset_subdir,
+ display_name=True)
if not filepath:
return {'CANCELLED'}
@@ -128,13 +141,20 @@ class AddPresetBase():
return self.execute(context)
-class ExecutePreset(bpy.types.Operator):
+class ExecutePreset(Operator):
''' Executes a preset '''
bl_idname = "script.execute_preset"
bl_label = "Execute a Python Preset"
- filepath = bpy.props.StringProperty(name="Path", description="Path of the Python file to execute", maxlen=512, default="")
- menu_idname = bpy.props.StringProperty(name="Menu ID Name", description="ID name of the menu this was called from", default="")
+ filepath = bpy.props.StringProperty(
+ name="Path",
+ description="Path of the Python file to execute",
+ maxlen=512,
+ )
+ menu_idname = bpy.props.StringProperty(
+ name="Menu ID Name",
+ description="ID name of the menu this was called from",
+ )
def execute(self, context):
from os.path import basename
@@ -149,7 +169,7 @@ class ExecutePreset(bpy.types.Operator):
return {'FINISHED'}
-class AddPresetRender(AddPresetBase, bpy.types.Operator):
+class AddPresetRender(AddPresetBase, Operator):
'''Add a Render Preset'''
bl_idname = "render.preset_add"
bl_label = "Add Render Preset"
@@ -175,14 +195,17 @@ class AddPresetRender(AddPresetBase, bpy.types.Operator):
preset_subdir = "render"
-class AddPresetSSS(AddPresetBase, bpy.types.Operator):
+class AddPresetSSS(AddPresetBase, Operator):
'''Add a Subsurface Scattering Preset'''
bl_idname = "material.sss_preset_add"
bl_label = "Add SSS Preset"
preset_menu = "MATERIAL_MT_sss_presets"
preset_defines = [
- "material = (bpy.context.material.active_node_material if bpy.context.material.active_node_material else bpy.context.material)"
+ ("material = "
+ "bpy.context.material.active_node_material "
+ "if bpy.context.material.active_node_material "
+ "else bpy.context.material")
]
preset_values = [
@@ -200,7 +223,7 @@ class AddPresetSSS(AddPresetBase, bpy.types.Operator):
preset_subdir = "sss"
-class AddPresetCloth(AddPresetBase, bpy.types.Operator):
+class AddPresetCloth(AddPresetBase, Operator):
'''Add a Cloth Preset'''
bl_idname = "cloth.preset_add"
bl_label = "Add Cloth Preset"
@@ -222,7 +245,7 @@ class AddPresetCloth(AddPresetBase, bpy.types.Operator):
preset_subdir = "cloth"
-class AddPresetSunSky(AddPresetBase, bpy.types.Operator):
+class AddPresetSunSky(AddPresetBase, Operator):
'''Add a Sky & Atmosphere Preset'''
bl_idname = "lamp.sunsky_preset_add"
bl_label = "Add Sunsky Preset"
@@ -251,7 +274,7 @@ class AddPresetSunSky(AddPresetBase, bpy.types.Operator):
preset_subdir = "sunsky"
-class AddPresetInteraction(AddPresetBase, bpy.types.Operator):
+class AddPresetInteraction(AddPresetBase, Operator):
'''Add an Application Interaction Preset'''
bl_idname = "wm.interaction_preset_add"
bl_label = "Add Interaction Preset"
@@ -277,7 +300,7 @@ class AddPresetInteraction(AddPresetBase, bpy.types.Operator):
preset_subdir = "interaction"
-class AddPresetKeyconfig(AddPresetBase, bpy.types.Operator):
+class AddPresetKeyconfig(AddPresetBase, Operator):
'''Add a Keyconfig Preset'''
bl_idname = "wm.keyconfig_preset_add"
bl_label = "Add Keyconfig Preset"
@@ -300,13 +323,17 @@ class AddPresetKeyconfig(AddPresetBase, bpy.types.Operator):
keyconfigs.remove(keyconfigs.active)
-class AddPresetOperator(AddPresetBase, bpy.types.Operator):
+class AddPresetOperator(AddPresetBase, Operator):
'''Add an Application Interaction Preset'''
bl_idname = "wm.operator_preset_add"
bl_label = "Operator Preset"
preset_menu = "WM_MT_operator_presets"
- operator = bpy.props.StringProperty(name="Operator", maxlen=64, options={'HIDDEN'})
+ operator = bpy.props.StringProperty(
+ name="Operator",
+ maxlen=64,
+ options={'HIDDEN'},
+ )
# XXX, not ideal
preset_defines = [
@@ -315,19 +342,22 @@ class AddPresetOperator(AddPresetBase, bpy.types.Operator):
@property
def preset_subdir(self):
- return __class__.operator_path(self.operator)
+ return AddPresetOperator.operator_path(self.operator)
@property
def preset_values(self):
- properties_blacklist = bpy.types.Operator.bl_rna.properties.keys()
+ properties_blacklist = Operator.bl_rna.properties.keys()
prefix, suffix = self.operator.split("_OT_", 1)
- operator_rna = getattr(getattr(bpy.ops, prefix.lower()), suffix).get_rna().bl_rna
+ op = getattr(getattr(bpy.ops, prefix.lower()), suffix)
+ operator_rna = op.get_rna().bl_rna
+ del op
ret = []
for prop_id, prop in operator_rna.properties.items():
- if (not (prop.is_hidden or prop.is_skip_save)) and prop_id not in properties_blacklist:
- ret.append("op.%s" % prop_id)
+ if not (prop.is_hidden or prop.is_skip_save):
+ if prop_id not in properties_blacklist:
+ ret.append("op.%s" % prop_id)
return ret
@@ -338,12 +368,12 @@ class AddPresetOperator(AddPresetBase, bpy.types.Operator):
return os.path.join("operator", "%s.%s" % (prefix.lower(), suffix))
-class WM_MT_operator_presets(bpy.types.Menu):
+class WM_MT_operator_presets(Menu):
bl_label = "Operator Presets"
def draw(self, context):
self.operator = context.space_data.operator.bl_idname
- bpy.types.Menu.draw_preset(self, context)
+ Menu.draw_preset(self, context)
@property
def preset_subdir(self):
diff --git a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
index 64af25e7b0f..c2a09d6a4ae 100644
--- a/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
+++ b/release/scripts/startup/bl_operators/screen_play_rendered_anim.py
@@ -1,30 +1,27 @@
-# ***** BEGIN GPL LICENSE BLOCK *****
+# ##### BEGIN GPL LICENSE BLOCK #####
#
-# Script copyright (C) Campbell J Barton
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ***** END GPL LICENCE BLOCK *****
+# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
-# History
-#
# Originally written by Matt Ebb
import bpy
+from bpy.types import Operator
import os
@@ -46,8 +43,10 @@ def guess_player_path(preset):
player_path = "djv_view"
if sys.platform == "darwin":
- # TODO, crummy supporting only 1 version, could find the newest installed version
- test_path = '/Applications/djv-0.8.2.app/Contents/Resources/bin/djv_view'
+ # TODO, crummy supporting only 1 version,
+ # could find the newest installed version
+ test_path = ("/Applications/djv-0.8.2.app"
+ "/Contents/Resources/bin/djv_view")
if os.path.exists(test_path):
player_path = test_path
@@ -60,10 +59,13 @@ def guess_player_path(preset):
elif preset == 'MPLAYER':
player_path = "mplayer"
+ else:
+ player_path = ""
+
return player_path
-class PlayRenderedAnim(bpy.types.Operator):
+class PlayRenderedAnim(Operator):
'''Plays back rendered frames/movies using an external player.'''
bl_idname = "render.play_rendered_anim"
bl_label = "Play Rendered Animation"
@@ -78,14 +80,14 @@ class PlayRenderedAnim(bpy.types.Operator):
preset = prefs.filepaths.animation_player_preset
player_path = prefs.filepaths.animation_player
- file_path = bpy.path.abspath(rd.filepath)
+ # file_path = bpy.path.abspath(rd.filepath) # UNUSED
is_movie = rd.is_movie_format
# try and guess a command line if it doesn't exist
- if player_path == '':
+ if player_path == "":
player_path = guess_player_path(preset)
- if is_movie == False and preset in ('FRAMECYCLER', 'RV', 'MPLAYER'):
+ if is_movie == False and preset in {'FRAMECYCLER', 'RV', 'MPLAYER'}:
# replace the number with '#'
file_a = rd.frame_path(frame=0)
@@ -95,11 +97,11 @@ class PlayRenderedAnim(bpy.types.Operator):
while len(file_a) == len(file_b):
frame_tmp = (frame_tmp * 10) + 9
- print(frame_tmp)
file_b = rd.frame_path(frame=frame_tmp)
file_b = rd.frame_path(frame=int(frame_tmp / 10))
- file = "".join((c if file_b[i] == c else "#") for i, c in enumerate(file_a))
+ file = ("".join((c if file_b[i] == c else "#")
+ for i, c in enumerate(file_a)))
else:
# works for movies and images
file = rd.frame_path(frame=scene.frame_start)
@@ -109,10 +111,35 @@ class PlayRenderedAnim(bpy.types.Operator):
cmd = [player_path]
# extra options, fps controls etc.
if preset == 'BLENDER24':
+ # -----------------------------------------------------------------
+ # Check blender is not 2.5x until it supports playback again
+ try:
+ process = subprocess.Popen([player_path, '--version'],
+ stdout=subprocess.PIPE,
+ )
+ except:
+ # ignore and allow the main execution to catch the problem.
+ process = None
+
+ if process is not None:
+ process.wait()
+ out = process.stdout.read()
+ process.stdout.close()
+ out_split = out.strip().split()
+ if out_split[0] == b'Blender':
+ if not out_split[1].startswith(b'2.4'):
+ self.report({'ERROR'},
+ "Blender %s doesn't support playback: %r" %
+ (out_split[1].decode(), player_path))
+ return {'CANCELLED'}
+ del out, out_split
+ del process
+ # -----------------------------------------------------------------
+
opts = ["-a", "-f", str(rd.fps), str(rd.fps_base), file]
cmd.extend(opts)
elif preset == 'DJV':
- opts = [file, "-playback_speed", str(rd.fps)]
+ opts = [file, "-playback_speed", "%d" % int(rd.fps / rd.fps_base)]
cmd.extend(opts)
elif preset == 'FRAMECYCLER':
opts = [file, "%d-%d" % (scene.frame_start, scene.frame_end)]
@@ -125,18 +152,26 @@ class PlayRenderedAnim(bpy.types.Operator):
if is_movie:
opts.append(file)
else:
- opts.append("mf://%s" % file.replace("#", "?"))
- opts += ["-mf", "fps=%.4f" % (rd.fps / rd.fps_base)]
+ opts += [("mf://%s" % file.replace("#", "?")),
+ "-mf",
+ "fps=%.4f" % (rd.fps / rd.fps_base),
+ ]
+
opts += ["-loop", "0", "-really-quiet", "-fs"]
cmd.extend(opts)
else: # 'CUSTOM'
cmd.append(file)
# launch it
+ print("Executing command:\n %r" % " ".join(cmd))
+
try:
process = subprocess.Popen(cmd)
- except:
- pass
- #raise OSError("Couldn't find an external animation player.")
+ except Exception as e:
+ import traceback
+ self.report({'ERROR'},
+ "Couldn't run external animation player with command "
+ "%r\n%s" % (" ".join(cmd), str(e)))
+ return {'CANCELLED'}
return {'FINISHED'}
diff --git a/release/scripts/startup/bl_operators/sequencer.py b/release/scripts/startup/bl_operators/sequencer.py
index 16b72406c49..856e182279a 100644
--- a/release/scripts/startup/bl_operators/sequencer.py
+++ b/release/scripts/startup/bl_operators/sequencer.py
@@ -19,11 +19,12 @@
# <pep8 compliant>
import bpy
+from bpy.types import Operator
from bpy.props import IntProperty
-class SequencerCrossfadeSounds(bpy.types.Operator):
+class SequencerCrossfadeSounds(Operator):
'''Do crossfading volume animation of two selected sound strips.'''
bl_idname = "sequencer.crossfade_sounds"
@@ -74,15 +75,19 @@ class SequencerCrossfadeSounds(bpy.types.Operator):
return {'CANCELLED'}
-class SequencerCutMulticam(bpy.types.Operator):
+class SequencerCutMulticam(Operator):
'''Cut multicam strip and select camera.'''
bl_idname = "sequencer.cut_multicam"
bl_label = "Cut multicam"
bl_options = {'REGISTER', 'UNDO'}
- camera = IntProperty(name="Camera",
- default=1, min=1, max=32, soft_min=1, soft_max=32)
+ camera = IntProperty(
+ name="Camera",
+ min=1, max=32,
+ soft_min=1, soft_max=32,
+ default=1,
+ )
@classmethod
def poll(cls, context):
@@ -112,7 +117,7 @@ class SequencerCutMulticam(bpy.types.Operator):
return {'FINISHED'}
-class SequencerDeinterlaceSelectedMovies(bpy.types.Operator):
+class SequencerDeinterlaceSelectedMovies(Operator):
'''Deinterlace all selected movie sources.'''
bl_idname = "sequencer.deinterlace_selected_movies"
diff --git a/release/scripts/startup/bl_operators/uvcalc_follow_active.py b/release/scripts/startup/bl_operators/uvcalc_follow_active.py
index edd09d9c66b..6c258d094e8 100644
--- a/release/scripts/startup/bl_operators/uvcalc_follow_active.py
+++ b/release/scripts/startup/bl_operators/uvcalc_follow_active.py
@@ -22,6 +22,7 @@
# http://mediawiki.blender.org/index.php/Scripts/Manual/UV_Calculate/Follow_active_quads
import bpy
+from bpy.types import Operator
def extend(obj, operator, EXTEND_MODE):
@@ -42,7 +43,6 @@ def extend(obj, operator, EXTEND_MODE):
edge_average_lengths = {}
OTHER_INDEX = 2, 3, 0, 1
- FAST_INDICIES = 0, 2, 1, 3 # order is faster
def extend_uvs(face_source, face_target, edge_key):
'''
@@ -227,7 +227,7 @@ def main(context, operator):
extend(obj, operator, operator.properties.mode)
-class FollowActiveQuads(bpy.types.Operator):
+class FollowActiveQuads(Operator):
'''Follow UVs from active quads along continuous face loops'''
bl_idname = "uv.follow_active_quads"
bl_label = "Follow Active Quads"
diff --git a/release/scripts/startup/bl_operators/uvcalc_lightmap.py b/release/scripts/startup/bl_operators/uvcalc_lightmap.py
index 3893612437a..060fe400045 100644
--- a/release/scripts/startup/bl_operators/uvcalc_lightmap.py
+++ b/release/scripts/startup/bl_operators/uvcalc_lightmap.py
@@ -19,11 +19,20 @@
# <pep8 compliant>
import bpy
+from bpy.types import Operator
import mathutils
class prettyface(object):
- __slots__ = "uv", "width", "height", "children", "xoff", "yoff", "has_parent", "rot"
+ __slots__ = ("uv",
+ "width",
+ "height",
+ "children",
+ "xoff",
+ "yoff",
+ "has_parent",
+ "rot",
+ )
def __init__(self, data):
self.has_parent = False
@@ -263,10 +272,9 @@ def lightmap_uvpack(meshes,
del trylens
def trilensdiff(t1, t2):
- return\
- abs(t1[1][t1[2][0]] - t2[1][t2[2][0]]) + \
- abs(t1[1][t1[2][1]] - t2[1][t2[2][1]]) + \
- abs(t1[1][t1[2][2]] - t2[1][t2[2][2]])
+ return (abs(t1[1][t1[2][0]] - t2[1][t2[2][0]]) +
+ abs(t1[1][t1[2][1]] - t2[1][t2[2][1]]) +
+ abs(t1[1][t1[2][2]] - t2[1][t2[2][2]]))
while tri_lengths:
tri1 = tri_lengths.pop()
@@ -406,7 +414,7 @@ def lightmap_uvpack(meshes,
ok = False
# Tall boxes in groups of 2
- for d, boxes in odd_dict.items():
+ for d, boxes in list(odd_dict.items()):
if d[1] < max_int_dimension:
#\boxes.sort(key = lambda a: len(a.children))
while len(boxes) >= 2:
@@ -427,7 +435,7 @@ def lightmap_uvpack(meshes,
odd_dict.setdefault((w, h), []).append(pf_parent)
# Even boxes in groups of 4
- for d, boxes in even_dict.items():
+ for d, boxes in list(even_dict.items()):
if d < max_int_dimension:
boxes.sort(key=lambda a: len(a.children))
@@ -444,7 +452,7 @@ def lightmap_uvpack(meshes,
del even_dict
del odd_dict
- orig = len(pretty_faces)
+ # orig = len(pretty_faces)
pretty_faces = [pf for pf in pretty_faces if not pf.has_parent]
@@ -489,7 +497,10 @@ def lightmap_uvpack(meshes,
if PREF_APPLY_IMAGE:
if not PREF_PACK_IN_ONE:
- image = Image.New("lightmap", PREF_IMG_PX_SIZE, PREF_IMG_PX_SIZE, 24)
+ image = bpy.data.images.new(name="lightmap",
+ width=PREF_IMG_PX_SIZE,
+ height=PREF_IMG_PX_SIZE,
+ )
for f in face_sel:
# f.image = image
@@ -517,7 +528,7 @@ def unwrap(operator, context, **kwargs):
if obj and obj.type == 'MESH':
meshes = [obj.data]
else:
- meshes = {me.name: me for obj in context.selected_objects if obj.type == 'MESH' for me in (obj.data,) if not me.library if len(me.faces)}.values()
+ meshes = list({me for obj in context.selected_objects if obj.type == 'MESH' for me in (obj.data,) if me.faces and me.library is None})
if not meshes:
operator.report({'ERROR'}, "No mesh object.")
@@ -530,32 +541,60 @@ def unwrap(operator, context, **kwargs):
return {'FINISHED'}
-from bpy.props import BoolProperty, FloatProperty, IntProperty, EnumProperty
+from bpy.props import BoolProperty, FloatProperty, IntProperty
-class LightMapPack(bpy.types.Operator):
+class LightMapPack(Operator):
'''Follow UVs from active quads along continuous face loops'''
bl_idname = "uv.lightmap_pack"
bl_label = "Lightmap Pack"
bl_options = {'REGISTER', 'UNDO'}
PREF_CONTEXT = bpy.props.EnumProperty(
+ name="Selection",
items=(("SEL_FACES", "Selected Faces", "Space all UVs evently"),
("ALL_FACES", "All Faces", "Average space UVs edge length of each loop"),
("ALL_OBJECTS", "Selected Mesh Object", "Average space UVs edge length of each loop")
),
- name="Selection",
- description="")
+ )
# Image & UVs...
- PREF_PACK_IN_ONE = BoolProperty(name="Share Tex Space", default=True, description="Objects Share texture space, map all objects into 1 uvmap")
- PREF_NEW_UVLAYER = BoolProperty(name="New UV Layer", default=False, description="Create a new UV layer for every mesh packed")
- PREF_APPLY_IMAGE = BoolProperty(name="New Image", default=False, description="Assign new images for every mesh (only one if shared tex space enabled)")
- PREF_IMG_PX_SIZE = IntProperty(name="Image Size", min=64, max=5000, default=512, description="Width and Height for the new image")
-
+ PREF_PACK_IN_ONE = BoolProperty(
+ name="Share Tex Space",
+ description=("Objects Share texture space, map all objects "
+ "into 1 uvmap"),
+ default=True,
+ )
+ PREF_NEW_UVLAYER = BoolProperty(
+ name="New UV Layer",
+ description="Create a new UV layer for every mesh packed",
+ default=False,
+ )
+ PREF_APPLY_IMAGE = BoolProperty(
+ name="New Image",
+ description=("Assign new images for every mesh (only one if "
+ "shared tex space enabled)"),
+ default=False,
+ )
+ PREF_IMG_PX_SIZE = IntProperty(
+ name="Image Size",
+ description="Width and Height for the new image",
+ min=64, max=5000,
+ default=512,
+ )
# UV Packing...
- PREF_BOX_DIV = IntProperty(name="Pack Quality", min=1, max=48, default=12, description="Pre Packing before the complex boxpack")
- PREF_MARGIN_DIV = FloatProperty(name="Margin", min=0.001, max=1.0, default=0.1, description="Size of the margin as a division of the UV")
+ PREF_BOX_DIV = IntProperty(
+ name="Pack Quality",
+ description="Pre Packing before the complex boxpack",
+ min=1, max=48,
+ default=12,
+ )
+ PREF_MARGIN_DIV = FloatProperty(
+ name="Margin",
+ description="Size of the margin as a division of the UV",
+ min=0.001, max=1.0,
+ default=0.1,
+ )
def execute(self, context):
kwargs = self.as_keywords()
diff --git a/release/scripts/startup/bl_operators/uvcalc_smart_project.py b/release/scripts/startup/bl_operators/uvcalc_smart_project.py
index 4f5b1d8b233..23838588f43 100644
--- a/release/scripts/startup/bl_operators/uvcalc_smart_project.py
+++ b/release/scripts/startup/bl_operators/uvcalc_smart_project.py
@@ -16,10 +16,11 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# TODO <pep8 compliant>
from mathutils import Matrix, Vector, geometry
import bpy
+from bpy.types import Operator
DEG_TO_RAD = 0.017453292519943295 # pi/180.0
SMALL_NUM = 0.000000001
@@ -177,7 +178,7 @@ def pointInEdges(pt, edges):
intersectCount = 0
for ed in edges:
xi, yi = lineIntersection2D(x1,y1, x2,y2, ed[0][0], ed[0][1], ed[1][0], ed[1][1])
- if xi != None: # Is there an intersection.
+ if xi is not None: # Is there an intersection.
intersectCount+=1
return intersectCount % 2
@@ -243,7 +244,7 @@ def testNewVecLs2DRotIsBetter(vecs, mat=-1, bestAreaSoFar = -1):
# Do this allong the way
if mat != -1:
- v = vecs[i] = v*mat
+ v = vecs[i] = mat * v
x= v.x
y= v.y
if x<minx: minx= x
@@ -746,13 +747,9 @@ def packIslands(islandList):
uv.y= (uv.y+yoffset) * yfactor
-
def VectoQuat(vec):
vec = vec.normalized()
- if abs(vec.x) > 0.5:
- return vec.to_track_quat('Z', 'X')
- else:
- return vec.to_track_quat('Z', 'Y')
+ return vec.to_track_quat('Z', 'X' if abs(vec.x) > 0.5 else 'Y').inverted()
class thickface(object):
@@ -791,7 +788,11 @@ def main_consts():
global ob
ob = None
-def main(context, island_margin, projection_limit):
+def main(context,
+ island_margin,
+ projection_limit,
+ user_area_weight,
+ ):
global USER_FILL_HOLES
global USER_FILL_HOLES_QUALITY
global USER_STRETCH_ASPECT
@@ -812,35 +813,25 @@ def main(context, island_margin, projection_limit):
global RotMatStepRotation
main_consts()
-#XXX objects= bpy.data.scenes.active.objects
- objects = context.selected_editable_objects
-
-
- # we can will tag them later.
- obList = [ob for ob in objects if ob.type == 'MESH']
-
- # Face select object may not be selected.
-#XXX ob = objects.active
- ob= objects[0]
-
- if ob and (not ob.select) and ob.type == 'MESH':
- # Add to the list
- obList =[ob]
- del objects
-
- if not obList:
- raise('error, no selected mesh objects')
-
# Create the variables.
USER_PROJECTION_LIMIT = projection_limit
- USER_ONLY_SELECTED_FACES = (1)
- USER_SHARE_SPACE = (1) # Only for hole filling.
- USER_STRETCH_ASPECT = (1) # Only for hole filling.
+ USER_ONLY_SELECTED_FACES = True
+ USER_SHARE_SPACE = 1 # Only for hole filling.
+ USER_STRETCH_ASPECT = 1 # Only for hole filling.
USER_ISLAND_MARGIN = island_margin # Only for hole filling.
- USER_FILL_HOLES = (0)
- USER_FILL_HOLES_QUALITY = (50) # Only for hole filling.
- USER_VIEW_INIT = (0) # Only for hole filling.
- USER_AREA_WEIGHT = (1) # Only for hole filling.
+ USER_FILL_HOLES = 0
+ USER_FILL_HOLES_QUALITY = 50 # Only for hole filling.
+ USER_VIEW_INIT = 0 # Only for hole filling.
+
+ is_editmode = (context.active_object.mode == 'EDIT')
+ if is_editmode:
+ obList = [ob for ob in [context.active_object] if ob and ob.type == 'MESH']
+ else:
+ obList = [ob for ob in context.selected_editable_objects if ob and ob.type == 'MESH']
+ USER_ONLY_SELECTED_FACES = False
+
+ if not obList:
+ raise('error, no selected mesh objects')
# Reuse variable
if len(obList) == 1:
@@ -902,8 +893,8 @@ def main(context, island_margin, projection_limit):
if USER_ONLY_SELECTED_FACES:
meshFaces = [thickface(f, uv_layer[i], me_verts) for i, f in enumerate(me.faces) if f.select]
- #else:
- # meshFaces = map(thickface, me.faces)
+ else:
+ meshFaces = [thickface(f, uv_layer[i], me_verts) for i, f in enumerate(me.faces)]
if not meshFaces:
continue
@@ -918,7 +909,7 @@ def main(context, island_margin, projection_limit):
# meshFaces = []
# meshFaces.sort( lambda a, b: cmp(b.area , a.area) ) # Biggest first.
- meshFaces.sort( key = lambda a: -a.area )
+ meshFaces.sort(key=lambda a: -a.area)
# remove all zero area faces
while meshFaces and meshFaces[-1].area <= SMALL_NUM:
@@ -966,12 +957,15 @@ def main(context, island_margin, projection_limit):
# Add the average of all these faces normals as a projectionVec
averageVec = Vector((0.0, 0.0, 0.0))
- if USER_AREA_WEIGHT:
+ if user_area_weight == 0.0:
for fprop in newProjectMeshFaces:
- averageVec += (fprop.no * fprop.area)
+ averageVec += fprop.no
+ elif user_area_weight == 1.0:
+ for fprop in newProjectMeshFaces:
+ averageVec += fprop.no * fprop.area
else:
for fprop in newProjectMeshFaces:
- averageVec += fprop.no
+ averageVec += fprop.no * ((fprop.area * user_area_weight) + (1.0 - user_area_weight))
if averageVec.x != 0 or averageVec.y != 0 or averageVec.z != 0: # Avoid NAN
projectVecs.append(averageVec.normalized())
@@ -1058,7 +1052,7 @@ def main(context, island_margin, projection_limit):
f_uv = f.uv
for j, v in enumerate(f.v):
# XXX - note, between mathutils in 2.4 and 2.5 the order changed.
- f_uv[j][:] = (v.co * MatQuat)[:2]
+ f_uv[j][:] = (MatQuat * v.co).xy
if USER_SHARE_SPACE:
@@ -1094,12 +1088,8 @@ def main(context, island_margin, projection_limit):
"""
pup_block = [\
'Projection',\
-* ('Angle Limit:', USER_PROJECTION_LIMIT, 1, 89, ''),\
('Selected Faces Only', USER_ONLY_SELECTED_FACES, 'Use only selected faces from all selected meshes.'),\
('Init from view', USER_VIEW_INIT, 'The first projection will be from the view vector.'),\
- ('Area Weight', USER_AREA_WEIGHT, 'Weight projections vector by face area.'),\
- '',\
- '',\
'',\
'UV Layout',\
('Share Tex Space', USER_SHARE_SPACE, 'Objects Share texture space, map all objects into 1 uvmap.'),\
@@ -1114,26 +1104,41 @@ def main(context, island_margin, projection_limit):
from bpy.props import FloatProperty
-class SmartProject(bpy.types.Operator):
+class SmartProject(Operator):
'''This script projection unwraps the selected faces of a mesh. it operates on all selected mesh objects, and can be used unwrap selected faces, or all faces.'''
bl_idname = "uv.smart_project"
bl_label = "Smart UV Project"
bl_options = {'REGISTER', 'UNDO'}
- angle_limit = FloatProperty(name="Angle Limit",
- description="lower for more projection groups, higher for less distortion.",
- default=66.0, min=1.0, max=89.0)
-
- island_margin = FloatProperty(name="Island Margin",
- description="Margin to reduce bleed from adjacent islands.",
- default=0.0, min=0.0, max=1.0)
+ angle_limit = FloatProperty(
+ name="Angle Limit",
+ description="lower for more projection groups, higher for less distortion",
+ min=1.0, max=89.0,
+ default=66.0,
+ )
+ island_margin = FloatProperty(
+ name="Island Margin",
+ description="Margin to reduce bleed from adjacent islands",
+ min=0.0, max=1.0,
+ default=0.0,
+ )
+ user_area_weight = FloatProperty(
+ name="Area Weight",
+ description="Weight projections vector by faces with larger areas",
+ min=0.0, max=1.0,
+ default=0.0,
+ )
@classmethod
def poll(cls, context):
- return context.active_object != None
+ return context.active_object is not None
def execute(self, context):
- main(context, self.island_margin, self.angle_limit)
+ main(context,
+ self.island_margin,
+ self.angle_limit,
+ self.user_area_weight,
+ )
return {'FINISHED'}
def invoke(self, context, event):
diff --git a/release/scripts/startup/bl_operators/vertexpaint_dirt.py b/release/scripts/startup/bl_operators/vertexpaint_dirt.py
index 672db71e361..4c78adb7161 100644
--- a/release/scripts/startup/bl_operators/vertexpaint_dirt.py
+++ b/release/scripts/startup/bl_operators/vertexpaint_dirt.py
@@ -142,19 +142,44 @@ def applyVertexDirt(me, blur_iterations, blur_strength, clamp_dirt, clamp_clean,
import bpy
+from bpy.types import Operator
from bpy.props import FloatProperty, IntProperty, BoolProperty
-class VertexPaintDirt(bpy.types.Operator):
+class VertexPaintDirt(Operator):
bl_idname = "paint.vertex_color_dirt"
bl_label = "Dirty Vertex Colors"
bl_options = {'REGISTER', 'UNDO'}
- blur_strength = FloatProperty(name="Blur Strength", description="Blur strength per iteration", default=1.0, min=0.01, max=1.0)
- blur_iterations = IntProperty(name="Blur Iterations", description="Number times to blur the colors. (higher blurs more)", default=1, min=0, max=40)
- clean_angle = FloatProperty(name="Highlight Angle", description="Less then 90 limits the angle used in the tonal range", default=180.0, min=0.0, max=180.0)
- dirt_angle = FloatProperty(name="Dirt Angle", description="Less then 90 limits the angle used in the tonal range", default=0.0, min=0.0, max=180.0)
- dirt_only = BoolProperty(name="Dirt Only", description="Dont calculate cleans for convex areas", default=False)
+ blur_strength = FloatProperty(
+ name="Blur Strength",
+ description="Blur strength per iteration",
+ min=0.01, max=1.0,
+ default=1.0,
+ )
+ blur_iterations = IntProperty(
+ name="Blur Iterations",
+ description="Number times to blur the colors. (higher blurs more)",
+ min=0, max=40,
+ default=1,
+ )
+ clean_angle = FloatProperty(
+ name="Highlight Angle",
+ description="Less then 90 limits the angle used in the tonal range",
+ min=0.0, max=180.0,
+ default=180.0,
+ )
+ dirt_angle = FloatProperty(
+ name="Dirt Angle",
+ description="Less then 90 limits the angle used in the tonal range",
+ min=0.0, max=180.0,
+ default=0.0,
+ )
+ dirt_only = BoolProperty(
+ name="Dirt Only",
+ description="Dont calculate cleans for convex areas",
+ default=False,
+ )
def execute(self, context):
import time
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index fcc30ecbb4b..aa09a088c4f 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -19,11 +19,18 @@
# <pep8 compliant>
import bpy
-from bpy.props import StringProperty, BoolProperty, IntProperty, FloatProperty
+from bpy.types import Menu, Operator
+from bpy.props import (StringProperty,
+ BoolProperty,
+ IntProperty,
+ FloatProperty,
+ EnumProperty,
+ )
+
from rna_prop_ui import rna_idprop_ui_prop_get, rna_idprop_ui_prop_clear
-class MESH_OT_delete_edgeloop(bpy.types.Operator):
+class MESH_OT_delete_edgeloop(Operator):
'''Delete an edge loop by merging the faces on each side to a single face loop'''
bl_idname = "mesh.delete_edgeloop"
bl_label = "Delete Edge Loop"
@@ -36,23 +43,30 @@ class MESH_OT_delete_edgeloop(bpy.types.Operator):
return {'CANCELLED'}
-rna_path_prop = StringProperty(name="Context Attributes",
- description="rna context string", maxlen=1024, default="")
+rna_path_prop = StringProperty(
+ name="Context Attributes",
+ description="rna context string",
+ maxlen=1024,
+ )
-rna_reverse_prop = BoolProperty(name="Reverse",
- description="Cycle backwards", default=False)
+rna_reverse_prop = BoolProperty(
+ name="Reverse",
+ description="Cycle backwards",
+ default=False,
+ )
-rna_relative_prop = BoolProperty(name="Relative",
+rna_relative_prop = BoolProperty(
+ name="Relative",
description="Apply relative to the current value (delta)",
- default=False)
+ default=False,
+ )
def context_path_validate(context, data_path):
- import sys
try:
value = eval("context.%s" % data_path) if data_path else Ellipsis
- except AttributeError:
- if "'NoneType'" in str(sys.exc_info()[1]):
+ except AttributeError as e:
+ if str(e).startswith("'NoneType'"):
# One of the items in the rna path is None, just ignore this
value = Ellipsis
else:
@@ -62,32 +76,87 @@ def context_path_validate(context, data_path):
return value
+def operator_value_is_undo(value):
+ if value in {None, Ellipsis}:
+ return False
+
+ # typical properties or objects
+ id_data = getattr(value, "id_data", Ellipsis)
+
+ if id_data is None:
+ return False
+ elif id_data is Ellipsis:
+ # handle mathutils types
+ id_data = getattr(getattr(value, "owner", None), "id_data", None)
+
+ if id_data is None:
+ return False
+
+ # return True if its a non window ID type
+ return (isinstance(id_data, bpy.types.ID) and
+ (not isinstance(id_data, (bpy.types.WindowManager,
+ bpy.types.Screen,
+ bpy.types.Scene,
+ bpy.types.Brush,
+ ))))
+
+
+def operator_path_is_undo(context, data_path):
+ # note that if we have data paths that use strings this could fail
+ # luckily we dont do this!
+ #
+ # When we cant find the data owner assume no undo is needed.
+ data_path_head, data_path_sep, data_path_tail = data_path.rpartition(".")
+
+ if not data_path_head:
+ return False
+
+ value = context_path_validate(context, data_path_head)
+
+ return operator_value_is_undo(value)
+
+
+def operator_path_undo_return(context, data_path):
+ return {'FINISHED'} if operator_path_is_undo(context, data_path) else {'CANCELLED'}
+
+
+def operator_value_undo_return(value):
+ return {'FINISHED'} if operator_value_is_undo(value) else {'CANCELLED'}
+
+
def execute_context_assign(self, context):
- if context_path_validate(context, self.data_path) is Ellipsis:
+ data_path = self.data_path
+ if context_path_validate(context, data_path) is Ellipsis:
return {'PASS_THROUGH'}
if getattr(self, "relative", False):
- exec("context.%s+=self.value" % self.data_path)
+ exec("context.%s += self.value" % data_path)
else:
- exec("context.%s=self.value" % self.data_path)
+ exec("context.%s = self.value" % data_path)
- return {'FINISHED'}
+ return operator_path_undo_return(context, data_path)
-class BRUSH_OT_active_index_set(bpy.types.Operator):
+class BRUSH_OT_active_index_set(Operator):
'''Set active sculpt/paint brush from it's number'''
bl_idname = "brush.active_index_set"
bl_label = "Set Brush Number"
- mode = StringProperty(name="mode",
- description="Paint mode to set brush for", maxlen=1024)
- index = IntProperty(name="number",
- description="Brush number")
+ mode = StringProperty(
+ name="mode",
+ description="Paint mode to set brush for",
+ maxlen=1024,
+ )
+ index = IntProperty(
+ name="number",
+ description="Brush number",
+ )
_attr_dict = {"sculpt": "use_paint_sculpt",
"vertex_paint": "use_paint_vertex",
"weight_paint": "use_paint_weight",
- "image_paint": "use_paint_image"}
+ "image_paint": "use_paint_image",
+ }
def execute(self, context):
attr = self._attr_dict.get(self.mode)
@@ -102,50 +171,63 @@ class BRUSH_OT_active_index_set(bpy.types.Operator):
return {'CANCELLED'}
-class WM_OT_context_set_boolean(bpy.types.Operator):
+class WM_OT_context_set_boolean(Operator):
'''Set a context value.'''
bl_idname = "wm.context_set_boolean"
bl_label = "Context Set Boolean"
bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
- value = BoolProperty(name="Value",
- description="Assignment value", default=True)
+ value = BoolProperty(
+ name="Value",
+ description="Assignment value",
+ default=True,
+ )
execute = execute_context_assign
-class WM_OT_context_set_int(bpy.types.Operator): # same as enum
+class WM_OT_context_set_int(Operator): # same as enum
'''Set a context value.'''
bl_idname = "wm.context_set_int"
bl_label = "Context Set"
bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
- value = IntProperty(name="Value", description="Assign value", default=0)
+ value = IntProperty(
+ name="Value",
+ description="Assign value",
+ default=0,
+ )
relative = rna_relative_prop
execute = execute_context_assign
-class WM_OT_context_scale_int(bpy.types.Operator):
+class WM_OT_context_scale_int(Operator):
'''Scale an int context value.'''
bl_idname = "wm.context_scale_int"
bl_label = "Context Set"
bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
- value = FloatProperty(name="Value", description="Assign value", default=1.0)
- always_step = BoolProperty(name="Always Step",
- description="Always adjust the value by a minimum of 1 when 'value' is not 1.0.",
- default=True)
+ value = FloatProperty(
+ name="Value",
+ description="Assign value",
+ default=1.0,
+ )
+ always_step = BoolProperty(
+ name="Always Step",
+ description="Always adjust the value by a minimum of 1 when 'value' is not 1.0.",
+ default=True,
+ )
def execute(self, context):
- if context_path_validate(context, self.data_path) is Ellipsis:
+ data_path = self.data_path
+ if context_path_validate(context, data_path) is Ellipsis:
return {'PASS_THROUGH'}
value = self.value
- data_path = self.data_path
if value == 1.0: # nothing to do
return {'CANCELLED'}
@@ -157,73 +239,85 @@ class WM_OT_context_scale_int(bpy.types.Operator):
else:
add = "-1"
func = "min"
- exec("context.%s = %s(round(context.%s * value), context.%s + %s)" % (data_path, func, data_path, data_path, add))
+ exec("context.%s = %s(round(context.%s * value), context.%s + %s)" %
+ (data_path, func, data_path, data_path, add))
else:
- exec("context.%s *= value" % self.data_path)
+ exec("context.%s *= value" % data_path)
- return {'FINISHED'}
+ return operator_path_undo_return(context, data_path)
-class WM_OT_context_set_float(bpy.types.Operator): # same as enum
+class WM_OT_context_set_float(Operator): # same as enum
'''Set a context value.'''
bl_idname = "wm.context_set_float"
bl_label = "Context Set Float"
bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
- value = FloatProperty(name="Value",
- description="Assignment value", default=0.0)
+ value = FloatProperty(
+ name="Value",
+ description="Assignment value",
+ default=0.0,
+ )
relative = rna_relative_prop
execute = execute_context_assign
-class WM_OT_context_set_string(bpy.types.Operator): # same as enum
+class WM_OT_context_set_string(Operator): # same as enum
'''Set a context value.'''
bl_idname = "wm.context_set_string"
bl_label = "Context Set String"
bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
- value = StringProperty(name="Value",
- description="Assign value", maxlen=1024, default="")
+ value = StringProperty(
+ name="Value",
+ description="Assign value",
+ maxlen=1024,
+ )
execute = execute_context_assign
-class WM_OT_context_set_enum(bpy.types.Operator):
+class WM_OT_context_set_enum(Operator):
'''Set a context value.'''
bl_idname = "wm.context_set_enum"
bl_label = "Context Set Enum"
bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
- value = StringProperty(name="Value",
+ value = StringProperty(
+ name="Value",
description="Assignment value (as a string)",
- maxlen=1024, default="")
+ maxlen=1024,
+ )
execute = execute_context_assign
-class WM_OT_context_set_value(bpy.types.Operator):
+class WM_OT_context_set_value(Operator):
'''Set a context value.'''
bl_idname = "wm.context_set_value"
bl_label = "Context Set Value"
bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
- value = StringProperty(name="Value",
+ value = StringProperty(
+ name="Value",
description="Assignment value (as a string)",
- maxlen=1024, default="")
+ maxlen=1024,
+ )
def execute(self, context):
- if context_path_validate(context, self.data_path) is Ellipsis:
+ data_path = self.data_path
+ if context_path_validate(context, data_path) is Ellipsis:
return {'PASS_THROUGH'}
- exec("context.%s=%s" % (self.data_path, self.value))
- return {'FINISHED'}
+ exec("context.%s = %s" % (data_path, self.value))
+ return operator_path_undo_return(context, data_path)
-class WM_OT_context_toggle(bpy.types.Operator):
+class WM_OT_context_toggle(Operator):
'''Toggle a context value.'''
bl_idname = "wm.context_toggle"
bl_label = "Context Toggle"
@@ -232,43 +326,50 @@ class WM_OT_context_toggle(bpy.types.Operator):
data_path = rna_path_prop
def execute(self, context):
+ data_path = self.data_path
- if context_path_validate(context, self.data_path) is Ellipsis:
+ if context_path_validate(context, data_path) is Ellipsis:
return {'PASS_THROUGH'}
- exec("context.%s=not (context.%s)" %
- (self.data_path, self.data_path))
+ exec("context.%s = not (context.%s)" % (data_path, data_path))
- return {'FINISHED'}
+ return operator_path_undo_return(context, data_path)
-class WM_OT_context_toggle_enum(bpy.types.Operator):
+class WM_OT_context_toggle_enum(Operator):
'''Toggle a context value.'''
bl_idname = "wm.context_toggle_enum"
bl_label = "Context Toggle Values"
bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
- value_1 = StringProperty(name="Value", \
- description="Toggle enum", maxlen=1024, default="")
-
- value_2 = StringProperty(name="Value", \
- description="Toggle enum", maxlen=1024, default="")
+ value_1 = StringProperty(
+ name="Value",
+ description="Toggle enum",
+ maxlen=1024,
+ )
+ value_2 = StringProperty(
+ name="Value",
+ description="Toggle enum",
+ maxlen=1024,
+ )
def execute(self, context):
+ data_path = self.data_path
- if context_path_validate(context, self.data_path) is Ellipsis:
+ if context_path_validate(context, data_path) is Ellipsis:
return {'PASS_THROUGH'}
- exec("context.%s = ['%s', '%s'][context.%s!='%s']" % \
- (self.data_path, self.value_1,\
- self.value_2, self.data_path,
- self.value_2))
+ exec("context.%s = ('%s', '%s')[context.%s != '%s']" %
+ (data_path, self.value_1,
+ self.value_2, data_path,
+ self.value_2,
+ ))
- return {'FINISHED'}
+ return operator_path_undo_return(context, data_path)
-class WM_OT_context_cycle_int(bpy.types.Operator):
+class WM_OT_context_cycle_int(Operator):
'''Set a context value. Useful for cycling active material, '''
'''vertex keys, groups' etc.'''
bl_idname = "wm.context_cycle_int"
@@ -289,7 +390,7 @@ class WM_OT_context_cycle_int(bpy.types.Operator):
else:
value += 1
- exec("context.%s=value" % data_path)
+ exec("context.%s = value" % data_path)
if value != eval("context.%s" % data_path):
# relies on rna clamping int's out of the range
@@ -298,12 +399,12 @@ class WM_OT_context_cycle_int(bpy.types.Operator):
else:
value = -1 << 31
- exec("context.%s=value" % data_path)
+ exec("context.%s = value" % data_path)
- return {'FINISHED'}
+ return operator_path_undo_return(context, data_path)
-class WM_OT_context_cycle_enum(bpy.types.Operator):
+class WM_OT_context_cycle_enum(Operator):
'''Toggle a context value.'''
bl_idname = "wm.context_cycle_enum"
bl_label = "Context Enum Cycle"
@@ -313,15 +414,15 @@ class WM_OT_context_cycle_enum(bpy.types.Operator):
reverse = rna_reverse_prop
def execute(self, context):
-
- value = context_path_validate(context, self.data_path)
+ data_path = self.data_path
+ value = context_path_validate(context, data_path)
if value is Ellipsis:
return {'PASS_THROUGH'}
orig_value = value
# Have to get rna enum values
- rna_struct_str, rna_prop_str = self.data_path.rsplit('.', 1)
+ rna_struct_str, rna_prop_str = data_path.rsplit('.', 1)
i = rna_prop_str.find('[')
# just incse we get "context.foo.bar[0]"
@@ -351,11 +452,11 @@ class WM_OT_context_cycle_enum(bpy.types.Operator):
advance_enum = enums[orig_index + 1]
# set the new value
- exec("context.%s=advance_enum" % self.data_path)
- return {'FINISHED'}
+ exec("context.%s = advance_enum" % data_path)
+ return operator_path_undo_return(context, data_path)
-class WM_OT_context_cycle_array(bpy.types.Operator):
+class WM_OT_context_cycle_array(Operator):
'''Set a context array value.
Useful for cycling the active mesh edit mode.'''
bl_idname = "wm.context_cycle_array"
@@ -378,12 +479,12 @@ class WM_OT_context_cycle_array(bpy.types.Operator):
array.append(array.pop(0))
return array
- exec("context.%s=cycle(context.%s[:])" % (data_path, data_path))
+ exec("context.%s = cycle(context.%s[:])" % (data_path, data_path))
- return {'FINISHED'}
+ return operator_path_undo_return(context, data_path)
-class WM_MT_context_menu_enum(bpy.types.Menu):
+class WM_MT_context_menu_enum(Menu):
bl_label = ""
data_path = "" # BAD DESIGN, set from operator below.
@@ -403,7 +504,7 @@ class WM_MT_context_menu_enum(bpy.types.Menu):
prop.value = identifier
-class WM_OT_context_menu_enum(bpy.types.Operator):
+class WM_OT_context_menu_enum(Operator):
bl_idname = "wm.context_menu_enum"
bl_label = "Context Enum Menu"
bl_options = {'UNDO', 'INTERNAL'}
@@ -416,15 +517,18 @@ class WM_OT_context_menu_enum(bpy.types.Operator):
return {'PASS_THROUGH'}
-class WM_OT_context_set_id(bpy.types.Operator):
+class WM_OT_context_set_id(Operator):
'''Toggle a context value.'''
bl_idname = "wm.context_set_id"
bl_label = "Set Library ID"
bl_options = {'UNDO', 'INTERNAL'}
data_path = rna_path_prop
- value = StringProperty(name="Value",
- description="Assign value", maxlen=1024, default="")
+ value = StringProperty(
+ name="Value",
+ description="Assign value",
+ maxlen=1024,
+ )
def execute(self, context):
value = self.value
@@ -446,28 +550,105 @@ class WM_OT_context_set_id(bpy.types.Operator):
if id_iter:
value_id = getattr(bpy.data, id_iter).get(value)
- exec("context.%s=value_id" % data_path)
+ exec("context.%s = value_id" % data_path)
- return {'FINISHED'}
+ return operator_path_undo_return(context, data_path)
+
+
+doc_id = StringProperty(
+ name="Doc ID",
+ maxlen=1024,
+ options={'HIDDEN'},
+ )
+
+doc_new = StringProperty(
+ name="Edit Description",
+ maxlen=1024,
+ )
+
+data_path_iter = StringProperty(
+ description="The data path relative to the context, must point to an iterable.")
+
+data_path_item = StringProperty(
+ description="The data path from each iterable to the value (int or float)")
+
+
+class WM_OT_context_collection_boolean_set(Operator):
+ '''Set boolean values for a collection of items'''
+ bl_idname = "wm.context_collection_boolean_set"
+ bl_label = "Context Collection Boolean Set"
+ bl_options = {'UNDO', 'REGISTER', 'INTERNAL'}
+ data_path_iter = data_path_iter
+ data_path_item = data_path_item
-doc_id = StringProperty(name="Doc ID",
- description="", maxlen=1024, default="", options={'HIDDEN'})
+ type = EnumProperty(
+ name="Type",
+ items=(('TOGGLE', "Toggle", ""),
+ ('ENABLE', "Enable", ""),
+ ('DISABLE', "Disable", ""),
+ ),
+ )
-doc_new = StringProperty(name="Edit Description",
- description="", maxlen=1024, default="")
+ def execute(self, context):
+ data_path_iter = self.data_path_iter
+ data_path_item = self.data_path_item
+
+ items = list(getattr(context, data_path_iter))
+ items_ok = []
+ is_set = False
+ for item in items:
+ try:
+ value_orig = eval("item." + data_path_item)
+ except:
+ continue
+
+ if value_orig == True:
+ is_set = True
+ elif value_orig == False:
+ pass
+ else:
+ self.report({'WARNING'}, "Non boolean value found: %s[ ].%s" %
+ (data_path_iter, data_path_item))
+ return {'CANCELLED'}
+
+ items_ok.append(item)
+
+ # avoid undo push when nothing to do
+ if not items_ok:
+ return {'CANCELLED'}
+
+ if self.type == 'ENABLE':
+ is_set = True
+ elif self.type == 'DISABLE':
+ is_set = False
+ else:
+ is_set = not is_set
+
+ exec_str = "item.%s = %s" % (data_path_item, is_set)
+ for item in items_ok:
+ exec(exec_str)
+
+ return operator_value_undo_return(item)
-class WM_OT_context_modal_mouse(bpy.types.Operator):
+class WM_OT_context_modal_mouse(Operator):
'''Adjust arbitrary values with mouse input'''
bl_idname = "wm.context_modal_mouse"
bl_label = "Context Modal Mouse"
- bl_options = {'INTERNAL'}
-
- data_path_iter = StringProperty(description="The data path relative to the context, must point to an iterable.")
- data_path_item = StringProperty(description="The data path from each iterable to the value (int or float)")
- input_scale = FloatProperty(default=0.01, description="Scale the mouse movement by this value before applying the delta")
- invert = BoolProperty(default=False, description="Invert the mouse input")
+ bl_options = {'GRAB_POINTER', 'BLOCKING', 'UNDO', 'INTERNAL'}
+
+ data_path_iter = data_path_iter
+ data_path_item = data_path_item
+
+ input_scale = FloatProperty(
+ description="Scale the mouse movement by this value before applying the delta",
+ default=0.01,
+ )
+ invert = BoolProperty(
+ description="Invert the mouse input",
+ default=False,
+ )
initial_x = IntProperty(options={'HIDDEN'})
def _values_store(self, context):
@@ -520,12 +701,13 @@ class WM_OT_context_modal_mouse(bpy.types.Operator):
self._values_delta(delta)
elif 'LEFTMOUSE' == event_type:
+ item = next(iter(self._values.keys()))
self._values_clear()
- return {'FINISHED'}
+ return operator_value_undo_return(item)
- elif event_type in ('RIGHTMOUSE', 'ESC'):
+ elif event_type in {'RIGHTMOUSE', 'ESC'}:
self._values_restore()
- return {'FINISHED'}
+ return {'CANCELLED'}
return {'RUNNING_MODAL'}
@@ -544,26 +726,32 @@ class WM_OT_context_modal_mouse(bpy.types.Operator):
return {'RUNNING_MODAL'}
-class WM_OT_url_open(bpy.types.Operator):
+class WM_OT_url_open(Operator):
"Open a website in the Webbrowser"
bl_idname = "wm.url_open"
bl_label = ""
- url = StringProperty(name="URL", description="URL to open")
+ url = StringProperty(
+ name="URL",
+ description="URL to open",
+ )
def execute(self, context):
import webbrowser
- _webbrowser_bug_fix()
webbrowser.open(self.url)
return {'FINISHED'}
-class WM_OT_path_open(bpy.types.Operator):
+class WM_OT_path_open(Operator):
"Open a path in a file browser"
bl_idname = "wm.path_open"
bl_label = ""
- filepath = StringProperty(name="File Path", maxlen=1024, subtype='FILE_PATH')
+ filepath = StringProperty(
+ name="File Path",
+ maxlen=1024,
+ subtype='FILE_PATH',
+ )
def execute(self, context):
import sys
@@ -591,16 +779,18 @@ class WM_OT_path_open(bpy.types.Operator):
return {'FINISHED'}
-class WM_OT_doc_view(bpy.types.Operator):
+class WM_OT_doc_view(Operator):
'''Load online reference docs'''
bl_idname = "wm.doc_view"
bl_label = "View Documentation"
doc_id = doc_id
if bpy.app.version_cycle == "release":
- _prefix = "http://www.blender.org/documentation/blender_python_api_%s%s_release" % ("_".join(str(v) for v in bpy.app.version[:2]), bpy.app.version_char)
+ _prefix = ("http://www.blender.org/documentation/blender_python_api_%s%s_release" %
+ ("_".join(str(v) for v in bpy.app.version[:2]), bpy.app.version_char))
else:
- _prefix = "http://www.blender.org/documentation/blender_python_api_%s" % "_".join(str(v) for v in bpy.app.version)
+ _prefix = ("http://www.blender.org/documentation/blender_python_api_%s" %
+ "_".join(str(v) for v in bpy.app.version))
def _nested_class_string(self, class_string):
ls = []
@@ -618,8 +808,8 @@ class WM_OT_doc_view(bpy.types.Operator):
class_name, class_prop = id_split
if hasattr(bpy.types, class_name.upper() + '_OT_' + class_prop):
- url = '%s/bpy.ops.%s.html#bpy.ops.%s.%s' % \
- (self._prefix, class_name, class_name, class_prop)
+ url = ("%s/bpy.ops.%s.html#bpy.ops.%s.%s" %
+ (self._prefix, class_name, class_name, class_prop))
else:
# detect if this is a inherited member and use that name instead
@@ -632,20 +822,19 @@ class WM_OT_doc_view(bpy.types.Operator):
# It so happens that epydoc nests these, not sphinx
# class_name_full = self._nested_class_string(class_name)
- url = '%s/bpy.types.%s.html#bpy.types.%s.%s' % \
- (self._prefix, class_name, class_name, class_prop)
+ url = ("%s/bpy.types.%s.html#bpy.types.%s.%s" %
+ (self._prefix, class_name, class_name, class_prop))
else:
return {'PASS_THROUGH'}
import webbrowser
- _webbrowser_bug_fix()
webbrowser.open(url)
return {'FINISHED'}
-class WM_OT_doc_edit(bpy.types.Operator):
+class WM_OT_doc_edit(Operator):
'''Load online reference docs'''
bl_idname = "wm.doc_edit"
bl_label = "Edit Documentation"
@@ -716,20 +905,39 @@ class WM_OT_doc_edit(bpy.types.Operator):
return wm.invoke_props_dialog(self, width=600)
-rna_path = StringProperty(name="Property Edit",
- description="Property data_path edit", maxlen=1024, default="", options={'HIDDEN'})
+rna_path = StringProperty(
+ name="Property Edit",
+ description="Property data_path edit",
+ maxlen=1024,
+ options={'HIDDEN'},
+ )
+
+rna_value = StringProperty(
+ name="Property Value",
+ description="Property value edit",
+ maxlen=1024,
+ )
-rna_value = StringProperty(name="Property Value",
- description="Property value edit", maxlen=1024, default="")
+rna_property = StringProperty(
+ name="Property Name",
+ description="Property name edit",
+ maxlen=1024,
+ )
-rna_property = StringProperty(name="Property Name",
- description="Property name edit", maxlen=1024, default="")
+rna_min = FloatProperty(
+ name="Min",
+ default=0.0,
+ precision=3,
+ )
-rna_min = FloatProperty(name="Min", default=0.0, precision=3)
-rna_max = FloatProperty(name="Max", default=1.0, precision=3)
+rna_max = FloatProperty(
+ name="Max",
+ default=1.0,
+ precision=3,
+ )
-class WM_OT_properties_edit(bpy.types.Operator):
+class WM_OT_properties_edit(Operator):
'''Internal use (edit a property data_path)'''
bl_idname = "wm.properties_edit"
bl_label = "Edit Property"
@@ -740,7 +948,9 @@ class WM_OT_properties_edit(bpy.types.Operator):
value = rna_value
min = rna_min
max = rna_max
- description = StringProperty(name="Tip", default="")
+ description = StringProperty(
+ name="Tip",
+ )
def execute(self, context):
data_path = self.data_path
@@ -776,7 +986,7 @@ class WM_OT_properties_edit(bpy.types.Operator):
prop_ui = rna_idprop_ui_prop_get(item, prop)
- if prop_type in (float, int):
+ if prop_type in {float, int}:
prop_ui['soft_min'] = prop_ui['min'] = prop_type(self.min)
prop_ui['soft_max'] = prop_ui['max'] = prop_type(self.max)
@@ -793,14 +1003,15 @@ class WM_OT_properties_edit(bpy.types.Operator):
return {'FINISHED'}
def invoke(self, context, event):
+ data_path = self.data_path
- if not self.data_path:
+ if not data_path:
self.report({'ERROR'}, "Data path not set")
return {'CANCELLED'}
self._last_prop = [self.property]
- item = eval("context.%s" % self.data_path)
+ item = eval("context.%s" % data_path)
# setup defaults
prop_ui = rna_idprop_ui_prop_get(item, self.property, False) # dont create
@@ -813,7 +1024,7 @@ class WM_OT_properties_edit(bpy.types.Operator):
return wm.invoke_props_dialog(self)
-class WM_OT_properties_add(bpy.types.Operator):
+class WM_OT_properties_add(Operator):
'''Internal use (edit a property data_path)'''
bl_idname = "wm.properties_add"
bl_label = "Add Property"
@@ -821,7 +1032,8 @@ class WM_OT_properties_add(bpy.types.Operator):
data_path = rna_path
def execute(self, context):
- item = eval("context.%s" % self.data_path)
+ data_path = self.data_path
+ item = eval("context.%s" % data_path)
def unique_name(names):
prop = 'prop'
@@ -839,19 +1051,22 @@ class WM_OT_properties_add(bpy.types.Operator):
return {'FINISHED'}
-class WM_OT_properties_context_change(bpy.types.Operator):
+class WM_OT_properties_context_change(Operator):
"Change the context tab in a Properties Window"
bl_idname = "wm.properties_context_change"
bl_label = ""
- context = StringProperty(name="Context", maxlen=32)
+ context = StringProperty(
+ name="Context",
+ maxlen=32,
+ )
def execute(self, context):
- context.space_data.context = (self.context)
+ context.space_data.context = self.context
return {'FINISHED'}
-class WM_OT_properties_remove(bpy.types.Operator):
+class WM_OT_properties_remove(Operator):
'''Internal use (edit a property data_path)'''
bl_idname = "wm.properties_remove"
bl_label = "Remove Property"
@@ -860,23 +1075,27 @@ class WM_OT_properties_remove(bpy.types.Operator):
property = rna_property
def execute(self, context):
- item = eval("context.%s" % self.data_path)
+ data_path = self.data_path
+ item = eval("context.%s" % data_path)
del item[self.property]
return {'FINISHED'}
-class WM_OT_keyconfig_activate(bpy.types.Operator):
+class WM_OT_keyconfig_activate(Operator):
bl_idname = "wm.keyconfig_activate"
bl_label = "Activate Keyconfig"
- filepath = StringProperty(name="File Path", maxlen=1024)
+ filepath = StringProperty(
+ name="File Path",
+ maxlen=1024,
+ )
def execute(self, context):
bpy.utils.keyconfig_set(self.filepath)
return {'FINISHED'}
-class WM_OT_appconfig_default(bpy.types.Operator):
+class WM_OT_appconfig_default(Operator):
bl_idname = "wm.appconfig_default"
bl_label = "Default Application Configuration"
@@ -893,11 +1112,14 @@ class WM_OT_appconfig_default(bpy.types.Operator):
return {'FINISHED'}
-class WM_OT_appconfig_activate(bpy.types.Operator):
+class WM_OT_appconfig_activate(Operator):
bl_idname = "wm.appconfig_activate"
bl_label = "Activate Application Configuration"
- filepath = StringProperty(name="File Path", maxlen=1024)
+ filepath = StringProperty(
+ name="File Path",
+ maxlen=1024,
+ )
def execute(self, context):
import os
@@ -911,7 +1133,7 @@ class WM_OT_appconfig_activate(bpy.types.Operator):
return {'FINISHED'}
-class WM_OT_sysinfo(bpy.types.Operator):
+class WM_OT_sysinfo(Operator):
'''Generate System Info'''
bl_idname = "wm.sysinfo"
bl_label = "System Info"
@@ -922,7 +1144,7 @@ class WM_OT_sysinfo(bpy.types.Operator):
return {'FINISHED'}
-class WM_OT_copy_prev_settings(bpy.types.Operator):
+class WM_OT_copy_prev_settings(Operator):
'''Copy settings from previous version'''
bl_idname = "wm.copy_prev_settings"
bl_label = "Copy Previous Settings"
@@ -957,65 +1179,3 @@ class WM_OT_copy_prev_settings(bpy.types.Operator):
return {'FINISHED'}
return {'CANCELLED'}
-
-
-def _webbrowser_bug_fix():
- # test for X11
- import os
-
- if os.environ.get("DISPLAY"):
-
- # BSD licenced code copied from python, temp fix for bug
- # http://bugs.python.org/issue11432, XXX == added code
- def _invoke(self, args, remote, autoraise):
- # XXX, added imports
- import io
- import subprocess
- import time
-
- raise_opt = []
- if remote and self.raise_opts:
- # use autoraise argument only for remote invocation
- autoraise = int(autoraise)
- opt = self.raise_opts[autoraise]
- if opt:
- raise_opt = [opt]
-
- cmdline = [self.name] + raise_opt + args
-
- if remote or self.background:
- inout = io.open(os.devnull, "r+")
- else:
- # for TTY browsers, we need stdin/out
- inout = None
- # if possible, put browser in separate process group, so
- # keyboard interrupts don't affect browser as well as Python
- setsid = getattr(os, 'setsid', None)
- if not setsid:
- setsid = getattr(os, 'setpgrp', None)
-
- p = subprocess.Popen(cmdline, close_fds=True, # XXX, stdin=inout,
- stdout=(self.redirect_stdout and inout or None),
- stderr=inout, preexec_fn=setsid)
- if remote:
- # wait five secons. If the subprocess is not finished, the
- # remote invocation has (hopefully) started a new instance.
- time.sleep(1)
- rc = p.poll()
- if rc is None:
- time.sleep(4)
- rc = p.poll()
- if rc is None:
- return True
- # if remote call failed, open() will try direct invocation
- return not rc
- elif self.background:
- if p.poll() is None:
- return True
- else:
- return False
- else:
- return not p.wait()
-
- import webbrowser
- webbrowser.UnixBrowser._invoke = _invoke
diff --git a/release/scripts/startup/bl_ui/__init__.py b/release/scripts/startup/bl_ui/__init__.py
index bf63c6071b9..778571632b2 100644
--- a/release/scripts/startup/bl_ui/__init__.py
+++ b/release/scripts/startup/bl_ui/__init__.py
@@ -36,6 +36,7 @@ _modules = (
"properties_data_mesh",
"properties_data_metaball",
"properties_data_modifier",
+ "properties_data_speaker",
"properties_game",
"properties_material",
"properties_object_constraint",
@@ -102,7 +103,10 @@ def register():
items.extend([(cat, cat, "") for cat in sorted(items_unique)])
return items
- WindowManager.addon_search = StringProperty(name="Search", description="Search within the selected filter")
+ WindowManager.addon_search = StringProperty(
+ name="Search",
+ description="Search within the selected filter",
+ )
WindowManager.addon_filter = EnumProperty(
items=addon_filter_items,
name="Category",
diff --git a/release/scripts/startup/bl_ui/properties_animviz.py b/release/scripts/startup/bl_ui/properties_animviz.py
index eb1bbfd2fb1..3b33a7ccc61 100644
--- a/release/scripts/startup/bl_ui/properties_animviz.py
+++ b/release/scripts/startup/bl_ui/properties_animviz.py
@@ -94,4 +94,5 @@ class OnionSkinButtonsPanel():
col.prop(arm, "show_only_ghost_selected", text="Selected Only")
if __name__ == "__main__": # only for live edit.
+ import bpy
bpy.utils.register_module(__name__)
diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py
index 9477dc866ab..463ba84470f 100644
--- a/release/scripts/startup/bl_ui/properties_data_armature.py
+++ b/release/scripts/startup/bl_ui/properties_data_armature.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel, Menu
from rna_prop_ui import PropertyPanel
@@ -31,7 +32,7 @@ class ArmatureButtonsPanel():
return context.armature
-class DATA_PT_context_arm(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_arm(ArmatureButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
@@ -48,7 +49,7 @@ class DATA_PT_context_arm(ArmatureButtonsPanel, bpy.types.Panel):
layout.template_ID(space, "pin_id")
-class DATA_PT_skeleton(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_skeleton(ArmatureButtonsPanel, Panel):
bl_label = "Skeleton"
def draw(self, context):
@@ -70,8 +71,10 @@ class DATA_PT_skeleton(ArmatureButtonsPanel, bpy.types.Panel):
flow.prop(arm, "use_deform_envelopes", text="Envelopes")
flow.prop(arm, "use_deform_preserve_volume", text="Quaternion")
+ if context.scene.render.engine == "BLENDER_GAME":
+ layout.row().prop(arm, "vert_deformer", expand=True)
-class DATA_PT_display(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_display(ArmatureButtonsPanel, Panel):
bl_label = "Display"
def draw(self, context):
@@ -96,7 +99,16 @@ class DATA_PT_display(ArmatureButtonsPanel, bpy.types.Panel):
col.prop(arm, "use_deform_delay", text="Delay Refresh")
-class DATA_PT_bone_groups(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_bone_group_specials(Menu):
+ bl_label = "Bone Group Specials"
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.operator("pose.group_sort", icon='SORTALPHA')
+
+
+class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel):
bl_label = "Bone Groups"
@classmethod
@@ -108,16 +120,25 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, bpy.types.Panel):
ob = context.object
pose = ob.pose
+ group = pose.bone_groups.active
row = layout.row()
- row.template_list(pose, "bone_groups", pose.bone_groups, "active_index", rows=2)
+
+ rows = 2
+ if group:
+ rows = 5
+ row.template_list(pose, "bone_groups", pose.bone_groups, "active_index", rows=rows)
col = row.column(align=True)
col.active = (ob.proxy is None)
col.operator("pose.group_add", icon='ZOOMIN', text="")
col.operator("pose.group_remove", icon='ZOOMOUT', text="")
+ col.menu("DATA_PT_bone_group_specials", icon='DOWNARROW_HLT', text="")
+ if group:
+ col.separator()
+ col.operator("pose.group_move", icon='TRIA_UP', text="").direction = 'UP'
+ col.operator("pose.group_move", icon='TRIA_DOWN', text="").direction = 'DOWN'
- group = pose.bone_groups.active
if group:
col = layout.column()
col.active = (ob.proxy is None)
@@ -147,7 +168,7 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, bpy.types.Panel):
sub.operator("pose.group_deselect", text="Deselect")
-class DATA_PT_pose_library(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_pose_library(ArmatureButtonsPanel, Panel):
bl_label = "Pose Library"
bl_options = {'DEFAULT_CLOSED'}
@@ -164,9 +185,13 @@ class DATA_PT_pose_library(ArmatureButtonsPanel, bpy.types.Panel):
layout.template_ID(ob, "pose_library", new="poselib.new", unlink="poselib.unlink")
if poselib:
+
+ # list of poses in pose library
row = layout.row()
row.template_list(poselib, "pose_markers", poselib.pose_markers, "active_index", rows=5)
-
+
+ # column of operators for active pose
+ # - goes beside list
col = row.column(align=True)
col.active = (poselib.library is None)
@@ -181,12 +206,16 @@ class DATA_PT_pose_library(ArmatureButtonsPanel, bpy.types.Panel):
if pose_marker_active is not None:
col.operator("poselib.pose_remove", icon='ZOOMOUT', text="").pose = pose_marker_active.name
col.operator("poselib.apply_pose", icon='ZOOM_SELECTED', text="").pose_index = poselib.pose_markers.active_index
-
- layout.operator("poselib.action_sanitise")
+
+ col.operator("poselib.action_sanitise", icon='HELP', text="") # XXX: put in menu?
+
+ # properties for active marker
+ if pose_marker_active is not None:
+ layout.prop(pose_marker_active, "name")
# TODO: this panel will soon be depreceated too
-class DATA_PT_ghost(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_ghost(ArmatureButtonsPanel, Panel):
bl_label = "Ghost"
def draw(self, context):
@@ -213,7 +242,7 @@ class DATA_PT_ghost(ArmatureButtonsPanel, bpy.types.Panel):
col.prop(arm, "show_only_ghost_selected", text="Selected Only")
-class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, bpy.types.Panel):
+class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel):
bl_label = "iTaSC parameters"
bl_options = {'DEFAULT_CLOSED'}
@@ -266,7 +295,7 @@ from bl_ui.properties_animviz import (
)
-class DATA_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel):
+class DATA_PT_motion_paths(MotionPathButtonsPanel, Panel):
#bl_label = "Bones Motion Paths"
bl_context = "data"
@@ -289,7 +318,7 @@ class DATA_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel):
split.operator("pose.paths_clear", text="Clear Paths")
-class DATA_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): # inherit from panel when ready
+class DATA_PT_onion_skinning(OnionSkinButtonsPanel): # , Panel): # inherit from panel when ready
#bl_label = "Bones Onion Skinning"
bl_context = "data"
@@ -299,14 +328,11 @@ class DATA_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): # in
return (context.object) and (context.armature)
def draw(self, context):
- layout = self.layout
-
ob = context.object
-
self.draw_settings(context, ob.pose.animation_visualisation, bones=True)
-class DATA_PT_custom_props_arm(ArmatureButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_arm(ArmatureButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "object.data"
_property_type = bpy.types.Armature
diff --git a/release/scripts/startup/bl_ui/properties_data_bone.py b/release/scripts/startup/bl_ui/properties_data_bone.py
index 9fc055e9343..b3eaf88d5bf 100644
--- a/release/scripts/startup/bl_ui/properties_data_bone.py
+++ b/release/scripts/startup/bl_ui/properties_data_bone.py
@@ -19,6 +19,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from rna_prop_ui import PropertyPanel
@@ -32,7 +33,7 @@ class BoneButtonsPanel():
return (context.bone or context.edit_bone)
-class BONE_PT_context_bone(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_context_bone(BoneButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
@@ -48,7 +49,7 @@ class BONE_PT_context_bone(BoneButtonsPanel, bpy.types.Panel):
row.prop(bone, "name", text="")
-class BONE_PT_transform(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_transform(BoneButtonsPanel, Panel):
bl_label = "Transform"
@classmethod
@@ -102,7 +103,7 @@ class BONE_PT_transform(BoneButtonsPanel, bpy.types.Panel):
sub.prop(bone, "lock")
-class BONE_PT_transform_locks(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_transform_locks(BoneButtonsPanel, Panel):
bl_label = "Transform Locks"
bl_options = {'DEFAULT_CLOSED'}
@@ -135,7 +136,7 @@ class BONE_PT_transform_locks(BoneButtonsPanel, bpy.types.Panel):
row.column().prop(pchan, "lock_scale")
-class BONE_PT_relations(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_relations(BoneButtonsPanel, Panel):
bl_label = "Relations"
def draw(self, context):
@@ -180,7 +181,7 @@ class BONE_PT_relations(BoneButtonsPanel, bpy.types.Panel):
sub.prop(bone, "use_local_location", text="Local Location")
-class BONE_PT_display(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_display(BoneButtonsPanel, Panel):
bl_label = "Display"
@classmethod
@@ -217,7 +218,7 @@ class BONE_PT_display(BoneButtonsPanel, bpy.types.Panel):
col.prop_search(pchan, "custom_shape_transform", ob.pose, "bones", text="At")
-class BONE_PT_inverse_kinematics(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_inverse_kinematics(BoneButtonsPanel, Panel):
bl_label = "Inverse Kinematics"
bl_options = {'DEFAULT_CLOSED'}
@@ -308,7 +309,7 @@ class BONE_PT_inverse_kinematics(BoneButtonsPanel, bpy.types.Panel):
#row.prop(pchan, "ik_linear_weight", text="Weight", slider=True)
-class BONE_PT_deform(BoneButtonsPanel, bpy.types.Panel):
+class BONE_PT_deform(BoneButtonsPanel, Panel):
bl_label = "Deform"
bl_options = {'DEFAULT_CLOSED'}
@@ -357,7 +358,7 @@ class BONE_PT_deform(BoneButtonsPanel, bpy.types.Panel):
col.prop(bone, "use_cyclic_offset")
-class BONE_PT_custom_props(BoneButtonsPanel, PropertyPanel, bpy.types.Panel):
+class BONE_PT_custom_props(BoneButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_property_type = bpy.types.Bone, bpy.types.EditBone, bpy.types.PoseBone
diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py
index 80cd5227fca..5255af40951 100644
--- a/release/scripts/startup/bl_ui/properties_data_camera.py
+++ b/release/scripts/startup/bl_ui/properties_data_camera.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from rna_prop_ui import PropertyPanel
@@ -32,7 +33,7 @@ class CameraButtonsPanel():
return context.camera and (engine in cls.COMPAT_ENGINES)
-class DATA_PT_context_camera(CameraButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_camera(CameraButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -53,7 +54,7 @@ class DATA_PT_context_camera(CameraButtonsPanel, bpy.types.Panel):
split.separator()
-class DATA_PT_camera(CameraButtonsPanel, bpy.types.Panel):
+class DATA_PT_camera(CameraButtonsPanel, Panel):
bl_label = "Lens"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -106,12 +107,12 @@ class DATA_PT_camera(CameraButtonsPanel, bpy.types.Panel):
col = split.column()
- if cam.dof_object != None:
+ if cam.dof_object is not None:
col.enabled = False
col.prop(cam, "dof_distance", text="Distance")
-class DATA_PT_camera_display(CameraButtonsPanel, bpy.types.Panel):
+class DATA_PT_camera_display(CameraButtonsPanel, Panel):
bl_label = "Display"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -138,7 +139,7 @@ class DATA_PT_camera_display(CameraButtonsPanel, bpy.types.Panel):
sub.prop(cam, "passepartout_alpha", text="Alpha", slider=True)
-class DATA_PT_custom_props_camera(CameraButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_camera(CameraButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "object.data"
_property_type = bpy.types.Camera
diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py
index 11a129377e8..6448b9a5229 100644
--- a/release/scripts/startup/bl_ui/properties_data_curve.py
+++ b/release/scripts/startup/bl_ui/properties_data_curve.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from rna_prop_ui import PropertyPanel
@@ -48,7 +49,7 @@ class CurveButtonsPanelActive(CurveButtonsPanel):
return (curve and type(curve) is not bpy.types.TextCurve and curve.splines.active)
-class DATA_PT_context_curve(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_curve(CurveButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
@@ -65,7 +66,7 @@ class DATA_PT_context_curve(CurveButtonsPanel, bpy.types.Panel):
layout.template_ID(space, "pin_id") # XXX: broken
-class DATA_PT_shape_curve(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_shape_curve(CurveButtonsPanel, Panel):
bl_label = "Shape"
def draw(self, context):
@@ -108,21 +109,32 @@ class DATA_PT_shape_curve(CurveButtonsPanel, bpy.types.Panel):
if (is_curve or is_text):
col.label(text="Fill:")
sub = col.column()
- sub.active = (curve.bevel_object is None)
+ sub.active = (curve.dimensions == '2D' or (curve.bevel_object is None and curve.dimensions == '3D'))
sub.prop(curve, "use_fill_front")
sub.prop(curve, "use_fill_back")
col.prop(curve, "use_fill_deform", text="Fill Deformed")
- col.label(text="Textures:")
- col.prop(curve, "use_uv_as_generated")
- col.prop(curve, "use_auto_texspace")
-
+
+class DATA_PT_curve_texture_space(CurveButtonsPanel, Panel):
+ bl_label = "Texture Space"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
+
+ def draw(self, context):
+ layout = self.layout
+
+ curve = context.curve
+
+ row = layout.row()
+ row.prop(curve, "use_auto_texspace")
+ row.prop(curve, "use_uv_as_generated")
+
row = layout.row()
- row.column().prop(curve, "texspace_location")
- row.column().prop(curve, "texspace_size")
+ row.column().prop(curve, "texspace_location", text="Location")
+ row.column().prop(curve, "texspace_size", text="Size")
-class DATA_PT_geometry_curve(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_geometry_curve(CurveButtonsPanel, Panel):
bl_label = "Geometry"
@classmethod
@@ -155,7 +167,7 @@ class DATA_PT_geometry_curve(CurveButtonsPanel, bpy.types.Panel):
col.prop(curve, "bevel_object", text="")
-class DATA_PT_pathanim(CurveButtonsPanelCurve, bpy.types.Panel):
+class DATA_PT_pathanim(CurveButtonsPanelCurve, Panel):
bl_label = "Path Animation"
def draw_header(self, context):
@@ -186,7 +198,7 @@ class DATA_PT_pathanim(CurveButtonsPanelCurve, bpy.types.Panel):
col.prop(curve, "use_time_offset", text="Offset Children")
-class DATA_PT_active_spline(CurveButtonsPanelActive, bpy.types.Panel):
+class DATA_PT_active_spline(CurveButtonsPanelActive, Panel):
bl_label = "Active Spline"
def draw(self, context):
@@ -257,7 +269,7 @@ class DATA_PT_active_spline(CurveButtonsPanelActive, bpy.types.Panel):
layout.prop(act_spline, "use_smooth")
-class DATA_PT_font(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_font(CurveButtonsPanel, Panel):
bl_label = "Font"
@classmethod
@@ -321,7 +333,7 @@ class DATA_PT_font(CurveButtonsPanel, bpy.types.Panel):
row.prop(char, "use_small_caps")
-class DATA_PT_paragraph(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_paragraph(CurveButtonsPanel, Panel):
bl_label = "Paragraph"
@classmethod
@@ -350,7 +362,7 @@ class DATA_PT_paragraph(CurveButtonsPanel, bpy.types.Panel):
col.prop(text, "offset_y", text="Y")
-class DATA_PT_textboxes(CurveButtonsPanel, bpy.types.Panel):
+class DATA_PT_text_boxes(CurveButtonsPanel, Panel):
bl_label = "Text Boxes"
@classmethod
@@ -390,7 +402,7 @@ class DATA_PT_textboxes(CurveButtonsPanel, bpy.types.Panel):
row.operator("font.textbox_remove", text='', icon='X', emboss=False).index = i
-class DATA_PT_custom_props_curve(CurveButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_curve(CurveButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "object.data"
_property_type = bpy.types.Curve
diff --git a/release/scripts/startup/bl_ui/properties_data_empty.py b/release/scripts/startup/bl_ui/properties_data_empty.py
index 5a0d327f90d..c781873e16c 100644
--- a/release/scripts/startup/bl_ui/properties_data_empty.py
+++ b/release/scripts/startup/bl_ui/properties_data_empty.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
class DataButtonsPanel():
@@ -30,7 +31,7 @@ class DataButtonsPanel():
return (context.object and context.object.type == 'EMPTY')
-class DATA_PT_empty(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_empty(DataButtonsPanel, Panel):
bl_label = "Empty"
def draw(self, context):
@@ -41,11 +42,9 @@ class DATA_PT_empty(DataButtonsPanel, bpy.types.Panel):
layout.prop(ob, "empty_draw_type", text="Display")
if ob.empty_draw_type == 'IMAGE':
- # layout.template_image(ob, "data", None)
layout.template_ID(ob, "data", open="image.open", unlink="image.unlink")
- row = layout.row(align=True)
- row.prop(ob, "color", text="Transparency", index=3, slider=True)
+ layout.prop(ob, "color", text="Transparency", index=3, slider=True)
row = layout.row(align=True)
row.prop(ob, "empty_image_offset", text="Offset X", index=0)
row.prop(ob, "empty_image_offset", text="Offset Y", index=1)
diff --git a/release/scripts/startup/bl_ui/properties_data_lamp.py b/release/scripts/startup/bl_ui/properties_data_lamp.py
index 36010c8b511..4ff180f74fb 100644
--- a/release/scripts/startup/bl_ui/properties_data_lamp.py
+++ b/release/scripts/startup/bl_ui/properties_data_lamp.py
@@ -18,15 +18,16 @@
# <pep8 compliant>
import bpy
+from bpy.types import Menu, Panel
from rna_prop_ui import PropertyPanel
-class LAMP_MT_sunsky_presets(bpy.types.Menu):
+class LAMP_MT_sunsky_presets(Menu):
bl_label = "Sun & Sky Presets"
preset_subdir = "sunsky"
preset_operator = "script.execute_preset"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
- draw = bpy.types.Menu.draw_preset
+ draw = Menu.draw_preset
class DataButtonsPanel():
@@ -40,7 +41,7 @@ class DataButtonsPanel():
return context.lamp and (engine in cls.COMPAT_ENGINES)
-class DATA_PT_context_lamp(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_lamp(DataButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -65,7 +66,7 @@ class DATA_PT_context_lamp(DataButtonsPanel, bpy.types.Panel):
split.label(text=str(texture_count), icon='TEXTURE')
-class DATA_PT_preview(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_preview(DataButtonsPanel, Panel):
bl_label = "Preview"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -73,7 +74,7 @@ class DATA_PT_preview(DataButtonsPanel, bpy.types.Panel):
self.layout.template_preview(context.lamp)
-class DATA_PT_lamp(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_lamp(DataButtonsPanel, Panel):
bl_label = "Lamp"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -115,7 +116,7 @@ class DATA_PT_lamp(DataButtonsPanel, bpy.types.Panel):
col.prop(lamp, "use_diffuse")
-class DATA_PT_sunsky(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_sunsky(DataButtonsPanel, Panel):
bl_label = "Sky & Atmosphere"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -187,7 +188,7 @@ class DATA_PT_sunsky(DataButtonsPanel, bpy.types.Panel):
sub.prop(lamp, "atmosphere_extinction", slider=True, text="Extinction")
-class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_shadow(DataButtonsPanel, Panel):
bl_label = "Shadow"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -302,7 +303,7 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel):
sub.prop(lamp, "shadow_buffer_clip_end", text=" Clip End")
-class DATA_PT_area(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_area(DataButtonsPanel, Panel):
bl_label = "Area Shape"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -328,7 +329,7 @@ class DATA_PT_area(DataButtonsPanel, bpy.types.Panel):
sub.prop(lamp, "size_y", text="Size Y")
-class DATA_PT_spot(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_spot(DataButtonsPanel, Panel):
bl_label = "Spot Shape"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -362,7 +363,7 @@ class DATA_PT_spot(DataButtonsPanel, bpy.types.Panel):
sub.prop(lamp, "halo_step", text="Step")
-class DATA_PT_falloff_curve(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_falloff_curve(DataButtonsPanel, Panel):
bl_label = "Falloff Curve"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -380,7 +381,7 @@ class DATA_PT_falloff_curve(DataButtonsPanel, bpy.types.Panel):
self.layout.template_curve_mapping(lamp, "falloff_curve")
-class DATA_PT_custom_props_lamp(DataButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_lamp(DataButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "object.data"
_property_type = bpy.types.Lamp
diff --git a/release/scripts/startup/bl_ui/properties_data_lattice.py b/release/scripts/startup/bl_ui/properties_data_lattice.py
index cd719b6fe84..14d6ea66894 100644
--- a/release/scripts/startup/bl_ui/properties_data_lattice.py
+++ b/release/scripts/startup/bl_ui/properties_data_lattice.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from rna_prop_ui import PropertyPanel
@@ -31,7 +32,7 @@ class DataButtonsPanel():
return context.lattice
-class DATA_PT_context_lattice(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_lattice(DataButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
@@ -51,7 +52,7 @@ class DATA_PT_context_lattice(DataButtonsPanel, bpy.types.Panel):
split.separator()
-class DATA_PT_lattice(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_lattice(DataButtonsPanel, Panel):
bl_label = "Lattice"
def draw(self, context):
@@ -76,7 +77,7 @@ class DATA_PT_lattice(DataButtonsPanel, bpy.types.Panel):
row.prop_search(lat, "vertex_group", context.object, "vertex_groups", text="")
-class DATA_PT_custom_props_lattice(DataButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_lattice(DataButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "object.data"
_property_type = bpy.types.Lattice
diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py
index e2c88413177..75df7dad5f2 100644
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@ -18,10 +18,11 @@
# <pep8 compliant>
import bpy
+from bpy.types import Menu, Panel
from rna_prop_ui import PropertyPanel
-class MESH_MT_vertex_group_specials(bpy.types.Menu):
+class MESH_MT_vertex_group_specials(Menu):
bl_label = "Vertex Group Specials"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -36,7 +37,7 @@ class MESH_MT_vertex_group_specials(bpy.types.Menu):
layout.operator("object.vertex_group_remove", icon='X', text="Delete All").all = True
-class MESH_MT_shape_key_specials(bpy.types.Menu):
+class MESH_MT_shape_key_specials(Menu):
bl_label = "Shape Key Specials"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -61,7 +62,7 @@ class MeshButtonsPanel():
return context.mesh and (engine in cls.COMPAT_ENGINES)
-class DATA_PT_context_mesh(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_mesh(MeshButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -79,7 +80,7 @@ class DATA_PT_context_mesh(MeshButtonsPanel, bpy.types.Panel):
layout.template_ID(space, "pin_id")
-class DATA_PT_normals(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_normals(MeshButtonsPanel, Panel):
bl_label = "Normals"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -99,7 +100,7 @@ class DATA_PT_normals(MeshButtonsPanel, bpy.types.Panel):
split.prop(mesh, "show_double_sided")
-class DATA_PT_texture_space(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_texture_space(MeshButtonsPanel, Panel):
bl_label = "Texture Space"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -118,7 +119,8 @@ class DATA_PT_texture_space(MeshButtonsPanel, bpy.types.Panel):
row.column().prop(mesh, "texspace_location", text="Location")
row.column().prop(mesh, "texspace_size", text="Size")
-class DATA_PT_vertex_groups(MeshButtonsPanel, bpy.types.Panel):
+
+class DATA_PT_vertex_groups(MeshButtonsPanel, Panel):
bl_label = "Vertex Groups"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -167,7 +169,7 @@ class DATA_PT_vertex_groups(MeshButtonsPanel, bpy.types.Panel):
layout.prop(context.tool_settings, "vertex_group_weight", text="Weight")
-class DATA_PT_shape_keys(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_shape_keys(MeshButtonsPanel, Panel):
bl_label = "Shape Keys"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -260,7 +262,7 @@ class DATA_PT_shape_keys(MeshButtonsPanel, bpy.types.Panel):
row.prop(key, "slurph")
-class DATA_PT_uv_texture(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_uv_texture(MeshButtonsPanel, Panel):
bl_label = "UV Texture"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -283,15 +285,14 @@ class DATA_PT_uv_texture(MeshButtonsPanel, bpy.types.Panel):
layout.prop(lay, "name")
-class DATA_PT_texface(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_texface(MeshButtonsPanel, Panel):
bl_label = "Texture Face"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@classmethod
def poll(cls, context):
- ob = context.active_object
-
- return (context.mode == 'EDIT_MESH') and ob and ob.type == 'MESH'
+ obj = context.object
+ return (context.mode == 'EDIT_MESH') and obj and obj.type == 'MESH'
def draw(self, context):
layout = self.layout
@@ -331,7 +332,7 @@ class DATA_PT_texface(MeshButtonsPanel, bpy.types.Panel):
col.label(text="No UV Texture")
-class DATA_PT_vertex_colors(MeshButtonsPanel, bpy.types.Panel):
+class DATA_PT_vertex_colors(MeshButtonsPanel, Panel):
bl_label = "Vertex Colors"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -354,7 +355,7 @@ class DATA_PT_vertex_colors(MeshButtonsPanel, bpy.types.Panel):
layout.prop(lay, "name")
-class DATA_PT_custom_props_mesh(MeshButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_mesh(MeshButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "object.data"
_property_type = bpy.types.Mesh
diff --git a/release/scripts/startup/bl_ui/properties_data_metaball.py b/release/scripts/startup/bl_ui/properties_data_metaball.py
index c568d10b3b0..cd894e60dbb 100644
--- a/release/scripts/startup/bl_ui/properties_data_metaball.py
+++ b/release/scripts/startup/bl_ui/properties_data_metaball.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from rna_prop_ui import PropertyPanel
@@ -31,7 +32,7 @@ class DataButtonsPanel():
return context.meta_ball
-class DATA_PT_context_metaball(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_context_metaball(DataButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
@@ -48,7 +49,7 @@ class DATA_PT_context_metaball(DataButtonsPanel, bpy.types.Panel):
layout.template_ID(space, "pin_id")
-class DATA_PT_metaball(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_metaball(DataButtonsPanel, Panel):
bl_label = "Metaball"
def draw(self, context):
@@ -70,13 +71,26 @@ class DATA_PT_metaball(DataButtonsPanel, bpy.types.Panel):
layout.label(text="Update:")
layout.prop(mball, "update_method", expand=True)
-
+
+
+class DATA_PT_mball_texture_space(DataButtonsPanel, Panel):
+ bl_label = "Texture Space"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
+
+ def draw(self, context):
+ layout = self.layout
+
+ mball = context.meta_ball
+
+ layout.prop(mball, "use_auto_texspace")
+
row = layout.row()
- row.column().prop(mball, "texspace_location")
- row.column().prop(mball, "texspace_size")
+ row.column().prop(mball, "texspace_location", text="Location")
+ row.column().prop(mball, "texspace_size", text="Size")
-class DATA_PT_metaball_element(DataButtonsPanel, bpy.types.Panel):
+class DATA_PT_metaball_element(DataButtonsPanel, Panel):
bl_label = "Active Element"
@classmethod
@@ -116,7 +130,7 @@ class DATA_PT_metaball_element(DataButtonsPanel, bpy.types.Panel):
col.prop(metaelem, "size_y", text="Y")
-class DATA_PT_custom_props_metaball(DataButtonsPanel, PropertyPanel, bpy.types.Panel):
+class DATA_PT_custom_props_metaball(DataButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "object.data"
_property_type = bpy.types.MetaBall
diff --git a/release/scripts/startup/bl_ui/properties_data_modifier.py b/release/scripts/startup/bl_ui/properties_data_modifier.py
index 6fd5890590d..dc6b5401168 100644
--- a/release/scripts/startup/bl_ui/properties_data_modifier.py
+++ b/release/scripts/startup/bl_ui/properties_data_modifier.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
class ModifierButtonsPanel():
@@ -26,7 +27,7 @@ class ModifierButtonsPanel():
bl_context = "modifier"
-class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
+class DATA_PT_modifiers(ModifierButtonsPanel, Panel):
bl_label = "Modifiers"
def draw(self, context):
@@ -402,6 +403,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
col.operator("object.multires_higher_levels_delete", text="Delete Higher")
col.operator("object.multires_reshape", text="Reshape")
col.operator("object.multires_base_apply", text="Apply Base")
+ col.prop(md, "use_subsurf_uv")
col.prop(md, "show_only_control_edges")
layout.separator()
@@ -491,11 +493,10 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
col.label(text="Mode:")
col.prop(md, "wrap_method", text="")
- split = layout.split(percentage=0.25)
-
- col = split.column()
-
if md.wrap_method == 'PROJECT':
+ split = layout.split(percentage=0.25)
+
+ col = split.column()
col.label(text="Axis:")
col.prop(md, "use_project_x")
col.prop(md, "use_project_y")
@@ -507,7 +508,6 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
col.prop(md, "use_positive_direction")
col = split.column()
-
col.label(text="Cull Faces:")
col.prop(md, "cull_face", expand=True)
@@ -585,13 +585,13 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
sub = col.column()
sub.active = bool(md.vertex_group)
sub.prop(md, "invert_vertex_group", text="Invert")
+ sub.prop(md, "thickness_vertex_group", text="Factor")
col.prop(md, "use_even_offset")
col.prop(md, "use_quality_normals")
col.prop(md, "use_rim")
sub = col.column()
- sub.label()
row = sub.split(align=True, percentage=0.4)
row.prop(md, "material_offset", text="")
row = row.row()
diff --git a/release/scripts/startup/bl_ui/properties_data_speaker.py b/release/scripts/startup/bl_ui/properties_data_speaker.py
new file mode 100644
index 00000000000..657c0fe652a
--- /dev/null
+++ b/release/scripts/startup/bl_ui/properties_data_speaker.py
@@ -0,0 +1,125 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+import bpy
+from rna_prop_ui import PropertyPanel
+
+
+class DataButtonsPanel():
+ bl_space_type = 'PROPERTIES'
+ bl_region_type = 'WINDOW'
+ bl_context = "data"
+
+ @classmethod
+ def poll(cls, context):
+ engine = context.scene.render.engine
+ return context.speaker and (engine in cls.COMPAT_ENGINES)
+
+
+class DATA_PT_context_speaker(DataButtonsPanel, bpy.types.Panel):
+ bl_label = ""
+ bl_options = {'HIDE_HEADER'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
+
+ def draw(self, context):
+ layout = self.layout
+
+ ob = context.object
+ speaker = context.speaker
+ space = context.space_data
+
+ split = layout.split(percentage=0.65)
+
+ if ob:
+ split.template_ID(ob, "data")
+ elif speaker:
+ split.template_ID(space, "pin_id")
+
+
+class DATA_PT_speaker(DataButtonsPanel, bpy.types.Panel):
+ bl_label = "Sound"
+ COMPAT_ENGINES = {'BLENDER_RENDER'}
+
+ def draw(self, context):
+ layout = self.layout
+
+ speaker = context.speaker
+
+ split = layout.split(percentage=0.75)
+
+ split.template_ID(speaker, "sound", open="sound.open_mono")
+ split.prop(speaker, "muted")
+
+ row = layout.row()
+ row.prop(speaker, "volume")
+ row.prop(speaker, "pitch")
+
+
+class DATA_PT_distance(DataButtonsPanel, bpy.types.Panel):
+ bl_label = "Distance"
+ COMPAT_ENGINES = {'BLENDER_RENDER'}
+
+ def draw(self, context):
+ layout = self.layout
+
+ speaker = context.speaker
+
+ split = layout.split()
+
+ col = split.column()
+ col.label("Volume:")
+ col.prop(speaker, "volume_min", text="Minimum")
+ col.prop(speaker, "volume_max", text="Maximum")
+ col.prop(speaker, "attenuation")
+
+ col = split.column()
+ col.label("Distance:")
+ col.prop(speaker, "distance_max", text="Maximum")
+ col.prop(speaker, "distance_reference", text="Reference")
+
+
+class DATA_PT_cone(DataButtonsPanel, bpy.types.Panel):
+ bl_label = "Cone"
+ COMPAT_ENGINES = {'BLENDER_RENDER'}
+
+ def draw(self, context):
+ layout = self.layout
+
+ speaker = context.speaker
+
+ split = layout.split()
+ col = split.column()
+
+ col.label("Angle:")
+ col.prop(speaker, "cone_angle_outer", text="Outer")
+ col.prop(speaker, "cone_angle_inner", text="Inner")
+
+ col = split.column()
+
+ col.label("Volume:")
+ col.prop(speaker, "cone_volume_outer", text="Outer")
+
+
+class DATA_PT_custom_props_speaker(DataButtonsPanel, PropertyPanel, bpy.types.Panel):
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
+ _context_path = "object.data"
+ _property_type = bpy.types.Speaker
+
+if __name__ == "__main__": # only for live edit.
+ bpy.utils.register_module(__name__)
diff --git a/release/scripts/startup/bl_ui/properties_game.py b/release/scripts/startup/bl_ui/properties_game.py
index 6952f3c31db..16c7adbe5ff 100644
--- a/release/scripts/startup/bl_ui/properties_game.py
+++ b/release/scripts/startup/bl_ui/properties_game.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
class PhysicsButtonsPanel():
@@ -26,7 +27,7 @@ class PhysicsButtonsPanel():
bl_context = "physics"
-class PHYSICS_PT_game_physics(PhysicsButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_game_physics(PhysicsButtonsPanel, Panel):
bl_label = "Physics"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -167,7 +168,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, bpy.types.Panel):
layout.prop(ob, "hide_render", text="Invisible")
-class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel, Panel):
bl_label = "Collision Bounds"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -231,7 +232,7 @@ class RenderButtonsPanel():
return (rd.engine in cls.COMPAT_ENGINES)
-class RENDER_PT_game(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game(RenderButtonsPanel, Panel):
bl_label = "Game"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -243,7 +244,7 @@ class RENDER_PT_game(RenderButtonsPanel, bpy.types.Panel):
row.label()
-class RENDER_PT_game_player(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_player(RenderButtonsPanel, Panel):
bl_label = "Standalone Player"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -276,7 +277,7 @@ class RENDER_PT_game_player(RenderButtonsPanel, bpy.types.Panel):
col.prop(gs, "frame_color", text="")
-class RENDER_PT_game_stereo(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_stereo(RenderButtonsPanel, Panel):
bl_label = "Stereo"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -330,7 +331,7 @@ class RENDER_PT_game_stereo(RenderButtonsPanel, bpy.types.Panel):
layout.prop(gs, "dome_text")
-class RENDER_PT_game_shading(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_shading(RenderButtonsPanel, Panel):
bl_label = "Shading"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -356,7 +357,7 @@ class RENDER_PT_game_shading(RenderButtonsPanel, bpy.types.Panel):
col.prop(gs, "use_glsl_extra_textures", text="Extra Textures")
-class RENDER_PT_game_performance(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_performance(RenderButtonsPanel, Panel):
bl_label = "Performance"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -364,12 +365,15 @@ class RENDER_PT_game_performance(RenderButtonsPanel, bpy.types.Panel):
layout = self.layout
gs = context.scene.game_settings
- row = layout.row()
+ col = layout.column()
+ row = col.row()
row.prop(gs, "use_frame_rate")
row.prop(gs, "use_display_lists")
+
+ col.prop(gs, "restrict_animation_updates")
-class RENDER_PT_game_display(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_game_display(RenderButtonsPanel, Panel):
bl_label = "Display"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -385,28 +389,13 @@ class RENDER_PT_game_display(RenderButtonsPanel, bpy.types.Panel):
flow.prop(gs, "show_mouse", text="Mouse Cursor")
-class RENDER_PT_game_sound(RenderButtonsPanel, bpy.types.Panel):
- bl_label = "Sound"
- COMPAT_ENGINES = {'BLENDER_GAME'}
-
- def draw(self, context):
- layout = self.layout
-
- scene = context.scene
-
- layout.prop(scene, "audio_distance_model")
-
- layout.prop(scene, "audio_doppler_speed", text="Speed")
- layout.prop(scene, "audio_doppler_factor")
-
-
class WorldButtonsPanel():
bl_space_type = 'PROPERTIES'
bl_region_type = 'WINDOW'
bl_context = "world"
-class WORLD_PT_game_context_world(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_game_context_world(WorldButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -430,7 +419,7 @@ class WORLD_PT_game_context_world(WorldButtonsPanel, bpy.types.Panel):
split.template_ID(space, "pin_id")
-class WORLD_PT_game_world(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_game_world(WorldButtonsPanel, Panel):
bl_label = "World"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -449,7 +438,7 @@ class WORLD_PT_game_world(WorldButtonsPanel, bpy.types.Panel):
row.column().prop(world, "ambient_color")
-class WORLD_PT_game_mist(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_game_mist(WorldButtonsPanel, Panel):
bl_label = "Mist"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -475,7 +464,7 @@ class WORLD_PT_game_mist(WorldButtonsPanel, bpy.types.Panel):
row.prop(world.mist_settings, "depth")
-class WORLD_PT_game_physics(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_game_physics(WorldButtonsPanel, Panel):
bl_label = "Physics"
COMPAT_ENGINES = {'BLENDER_GAME'}
diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py
index 52d6b5f1376..13ce92f084c 100644
--- a/release/scripts/startup/bl_ui/properties_material.py
+++ b/release/scripts/startup/bl_ui/properties_material.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Menu, Panel
from rna_prop_ui import PropertyPanel
@@ -50,14 +51,14 @@ def simple_material(mat):
return False
-class MATERIAL_MT_sss_presets(bpy.types.Menu):
+class MATERIAL_MT_sss_presets(Menu):
bl_label = "SSS Presets"
preset_subdir = "sss"
preset_operator = "script.execute_preset"
- draw = bpy.types.Menu.draw_preset
+ draw = Menu.draw_preset
-class MATERIAL_MT_specials(bpy.types.Menu):
+class MATERIAL_MT_specials(Menu):
bl_label = "Material Specials"
def draw(self, context):
@@ -79,7 +80,7 @@ class MaterialButtonsPanel():
return context.material and (context.scene.render.engine in cls.COMPAT_ENGINES)
-class MATERIAL_PT_context_material(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_context_material(MaterialButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -144,7 +145,7 @@ class MATERIAL_PT_context_material(MaterialButtonsPanel, bpy.types.Panel):
row.label(text="No material node selected")
-class MATERIAL_PT_preview(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_preview(MaterialButtonsPanel, Panel):
bl_label = "Preview"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -152,7 +153,7 @@ class MATERIAL_PT_preview(MaterialButtonsPanel, bpy.types.Panel):
self.layout.template_preview(context.material)
-class MATERIAL_PT_pipeline(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_pipeline(MaterialButtonsPanel, Panel):
bl_label = "Render Pipeline Options"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -174,6 +175,7 @@ class MATERIAL_PT_pipeline(MaterialButtonsPanel, bpy.types.Panel):
row.prop(mat, "use_transparency")
sub = row.column()
sub.prop(mat, "offset_z")
+
sub.active = mat_type and mat.use_transparency and mat.transparency_method == 'Z_TRANSPARENCY'
row = layout.row()
@@ -199,9 +201,10 @@ class MATERIAL_PT_pipeline(MaterialButtonsPanel, bpy.types.Panel):
col.prop(mat, "shadow_cast_alpha", text="Casting Alpha")
col.prop(mat, "use_cast_buffer_shadows")
col.prop(mat, "use_cast_approximate")
+ col.prop(mat, "pass_index")
-class MATERIAL_PT_diffuse(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_diffuse(MaterialButtonsPanel, Panel):
bl_label = "Diffuse"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -245,18 +248,20 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel, bpy.types.Panel):
row.prop(mat, "diffuse_fresnel_factor", text="Factor")
if mat.use_diffuse_ramp:
- layout.separator()
- layout.template_color_ramp(mat, "diffuse_ramp", expand=True)
- layout.separator()
+ col = layout.column()
+ col.active = (not mat.use_shadeless)
+ col.separator()
+ col.template_color_ramp(mat, "diffuse_ramp", expand=True)
+ col.separator()
- row = layout.row()
+ row = col.row()
row.prop(mat, "diffuse_ramp_input", text="Input")
row.prop(mat, "diffuse_ramp_blend", text="Blend")
- layout.prop(mat, "diffuse_ramp_factor", text="Factor")
+ col.prop(mat, "diffuse_ramp_factor", text="Factor")
-class MATERIAL_PT_specular(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_specular(MaterialButtonsPanel, Panel):
bl_label = "Specular"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -309,7 +314,7 @@ class MATERIAL_PT_specular(MaterialButtonsPanel, bpy.types.Panel):
layout.prop(mat, "specular_ramp_factor", text="Factor")
-class MATERIAL_PT_shading(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_shading(MaterialButtonsPanel, Panel):
bl_label = "Shading"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -343,7 +348,7 @@ class MATERIAL_PT_shading(MaterialButtonsPanel, bpy.types.Panel):
sub.prop(mat, "use_cubic")
-class MATERIAL_PT_transp(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_transp(MaterialButtonsPanel, Panel):
bl_label = "Transparency"
# bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -409,7 +414,7 @@ class MATERIAL_PT_transp(MaterialButtonsPanel, bpy.types.Panel):
sub.prop(rayt, "gloss_samples", text="Samples")
-class MATERIAL_PT_mirror(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_mirror(MaterialButtonsPanel, Panel):
bl_label = "Mirror"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -467,7 +472,7 @@ class MATERIAL_PT_mirror(MaterialButtonsPanel, bpy.types.Panel):
sub.prop(raym, "gloss_anisotropic", text="Anisotropic")
-class MATERIAL_PT_sss(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_sss(MaterialButtonsPanel, Panel):
bl_label = "Subsurface Scattering"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -519,7 +524,7 @@ class MATERIAL_PT_sss(MaterialButtonsPanel, bpy.types.Panel):
col.prop(sss, "error_threshold", text="Error")
-class MATERIAL_PT_halo(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_halo(MaterialButtonsPanel, Panel):
bl_label = "Halo"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -572,7 +577,7 @@ class MATERIAL_PT_halo(MaterialButtonsPanel, bpy.types.Panel):
number_but(col, "use_star", "star_tip_count", "Star tips", "")
-class MATERIAL_PT_flare(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_flare(MaterialButtonsPanel, Panel):
bl_label = "Flare"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -607,7 +612,7 @@ class MATERIAL_PT_flare(MaterialButtonsPanel, bpy.types.Panel):
col.prop(halo, "flare_subflare_size", text="Subsize")
-class MATERIAL_PT_physics(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_physics(MaterialButtonsPanel, Panel):
bl_label = "Physics"
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -637,7 +642,7 @@ class MATERIAL_PT_physics(MaterialButtonsPanel, bpy.types.Panel):
row.prop(phys, "use_fh_normal")
-class MATERIAL_PT_strand(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_strand(MaterialButtonsPanel, Panel):
bl_label = "Strand"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -684,7 +689,7 @@ class MATERIAL_PT_strand(MaterialButtonsPanel, bpy.types.Panel):
sub.prop(tan, "blend_distance", text="Distance")
-class MATERIAL_PT_options(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_options(MaterialButtonsPanel, Panel):
bl_label = "Options"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -729,9 +734,11 @@ class MATERIAL_PT_options(MaterialButtonsPanel, bpy.types.Panel):
col.prop(mat, "use_vertex_color_paint")
col.prop(mat, "use_vertex_color_light")
col.prop(mat, "use_object_color")
+ if simple_material(base_mat):
+ col.prop(mat, "pass_index")
-class MATERIAL_PT_shadow(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_shadow(MaterialButtonsPanel, Panel):
bl_label = "Shadow"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -775,7 +782,7 @@ class MATERIAL_PT_shadow(MaterialButtonsPanel, bpy.types.Panel):
col.prop(mat, "use_cast_approximate")
-class MATERIAL_PT_transp_game(MaterialButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_transp_game(MaterialButtonsPanel, Panel):
bl_label = "Transparency"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_GAME'}
@@ -818,7 +825,7 @@ class VolumeButtonsPanel():
return mat and (mat.type == 'VOLUME') and (engine in cls.COMPAT_ENGINES)
-class MATERIAL_PT_volume_density(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_density(VolumeButtonsPanel, Panel):
bl_label = "Density"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -832,7 +839,7 @@ class MATERIAL_PT_volume_density(VolumeButtonsPanel, bpy.types.Panel):
row.prop(vol, "density_scale")
-class MATERIAL_PT_volume_shading(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_shading(VolumeButtonsPanel, Panel):
bl_label = "Shading"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -857,7 +864,7 @@ class MATERIAL_PT_volume_shading(VolumeButtonsPanel, bpy.types.Panel):
sub.prop(vol, "reflection_color", text="")
-class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, Panel):
bl_label = "Lighting"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -883,7 +890,7 @@ class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel):
sub = col.column()
sub.enabled = True
sub.active = False
- sub.prop(vol, "use_light_cache")
+ sub.label("Light Cache Enabled")
col.prop(vol, "cache_resolution")
sub = col.column(align=True)
@@ -892,7 +899,7 @@ class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel):
sub.prop(vol, "ms_intensity")
-class MATERIAL_PT_volume_transp(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_transp(VolumeButtonsPanel, Panel):
bl_label = "Transparency"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -910,7 +917,7 @@ class MATERIAL_PT_volume_transp(VolumeButtonsPanel, bpy.types.Panel):
layout.prop(mat, "transparency_method", expand=True)
-class MATERIAL_PT_volume_integration(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_integration(VolumeButtonsPanel, Panel):
bl_label = "Integration"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -932,7 +939,7 @@ class MATERIAL_PT_volume_integration(VolumeButtonsPanel, bpy.types.Panel):
col.prop(vol, "depth_threshold")
-class MATERIAL_PT_volume_options(VolumeButtonsPanel, bpy.types.Panel):
+class MATERIAL_PT_volume_options(VolumeButtonsPanel, Panel):
bl_label = "Options"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
bl_options = {'DEFAULT_CLOSED'}
@@ -964,7 +971,7 @@ class MATERIAL_PT_volume_options(VolumeButtonsPanel, bpy.types.Panel):
row.prop(mat, "use_light_group_exclusive", text="Exclusive")
-class MATERIAL_PT_custom_props(MaterialButtonsPanel, PropertyPanel, bpy.types.Panel):
+class MATERIAL_PT_custom_props(MaterialButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "material"
_property_type = bpy.types.Material
diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py
index ae66642e903..0779debb102 100644
--- a/release/scripts/startup/bl_ui/properties_object.py
+++ b/release/scripts/startup/bl_ui/properties_object.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from rna_prop_ui import PropertyPanel
@@ -27,14 +28,13 @@ class ObjectButtonsPanel():
bl_context = "object"
-class OBJECT_PT_context_object(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_context_object(ObjectButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
def draw(self, context):
layout = self.layout
space = context.space_data
- ob = context.object
if space.use_pin_id:
layout.template_ID(space, "pin_id")
@@ -43,7 +43,7 @@ class OBJECT_PT_context_object(ObjectButtonsPanel, bpy.types.Panel):
row.template_ID(context.scene.objects, "active")
-class OBJECT_PT_transform(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_transform(ObjectButtonsPanel, Panel):
bl_label = "Transform"
def draw(self, context):
@@ -69,7 +69,7 @@ class OBJECT_PT_transform(ObjectButtonsPanel, bpy.types.Panel):
layout.prop(ob, "rotation_mode")
-class OBJECT_PT_delta_transform(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_delta_transform(ObjectButtonsPanel, Panel):
bl_label = "Delta Transform"
bl_options = {'DEFAULT_CLOSED'}
@@ -95,7 +95,7 @@ class OBJECT_PT_delta_transform(ObjectButtonsPanel, bpy.types.Panel):
row.column().prop(ob, "delta_scale")
-class OBJECT_PT_transform_locks(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_transform_locks(ObjectButtonsPanel, Panel):
bl_label = "Transform Locks"
bl_options = {'DEFAULT_CLOSED'}
@@ -121,7 +121,7 @@ class OBJECT_PT_transform_locks(ObjectButtonsPanel, bpy.types.Panel):
row.column().prop(ob, "lock_scale", text="Scale")
-class OBJECT_PT_relations(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_relations(ObjectButtonsPanel, Panel):
bl_label = "Relations"
def draw(self, context):
@@ -148,7 +148,7 @@ class OBJECT_PT_relations(ObjectButtonsPanel, bpy.types.Panel):
sub.active = (parent is not None)
-class OBJECT_PT_groups(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_groups(ObjectButtonsPanel, Panel):
bl_label = "Groups"
def draw(self, context):
@@ -187,7 +187,7 @@ class OBJECT_PT_groups(ObjectButtonsPanel, bpy.types.Panel):
index += 1
-class OBJECT_PT_display(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_display(ObjectButtonsPanel, Panel):
bl_label = "Display"
def draw(self, context):
@@ -221,7 +221,7 @@ class OBJECT_PT_display(ObjectButtonsPanel, bpy.types.Panel):
col.prop(ob, "show_transparent", text="Transparency")
-class OBJECT_PT_duplication(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_duplication(ObjectButtonsPanel, Panel):
bl_label = "Duplication"
def draw(self, context):
@@ -259,7 +259,7 @@ class OBJECT_PT_duplication(ObjectButtonsPanel, bpy.types.Panel):
# XXX: the following options are all quite buggy, ancient hacks that should be dropped
-class OBJECT_PT_animation(ObjectButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_animation(ObjectButtonsPanel, Panel):
bl_label = "Animation Hacks"
bl_options = {'DEFAULT_CLOSED'}
@@ -294,7 +294,7 @@ from bl_ui.properties_animviz import (
)
-class OBJECT_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_motion_paths(MotionPathButtonsPanel, Panel):
#bl_label = "Object Motion Paths"
bl_context = "object"
@@ -316,7 +316,7 @@ class OBJECT_PT_motion_paths(MotionPathButtonsPanel, bpy.types.Panel):
row.operator("object.paths_clear", text="Clear Paths")
-class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): # inherit from panel when ready
+class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel): # , Panel): # inherit from panel when ready
#bl_label = "Object Onion Skinning"
bl_context = "object"
@@ -330,7 +330,7 @@ class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel): # , bpy.types.Panel): #
self.draw_settings(context, ob.animation_visualisation)
-class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel, bpy.types.Panel):
+class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "object"
_property_type = bpy.types.Object
diff --git a/release/scripts/startup/bl_ui/properties_object_constraint.py b/release/scripts/startup/bl_ui/properties_object_constraint.py
index 03823ad7345..05fac2026a0 100644
--- a/release/scripts/startup/bl_ui/properties_object_constraint.py
+++ b/release/scripts/startup/bl_ui/properties_object_constraint.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
class ConstraintButtonsPanel():
@@ -234,7 +235,6 @@ class ConstraintButtonsPanel():
row.label()
def LIMIT_ROTATION(self, context, layout, con):
-
split = layout.split()
col = split.column(align=True)
@@ -258,9 +258,7 @@ class ConstraintButtonsPanel():
sub.prop(con, "min_z", text="Min")
sub.prop(con, "max_z", text="Max")
- row = layout.row()
- row.prop(con, "use_transform_limit")
- row.label()
+ layout.prop(con, "use_transform_limit")
row = layout.row()
row.label(text="Convert:")
@@ -476,6 +474,10 @@ class ConstraintButtonsPanel():
row.label(text="Clamp Region:")
row.prop(con, "limit_mode", text="")
+ row = layout.row()
+ row.prop(con, "use_transform_limit")
+ row.label()
+
def STRETCH_TO(self, context, layout, con):
self.target_template(layout, con)
@@ -655,8 +657,8 @@ class ConstraintButtonsPanel():
row = col.row()
row.label(text="Source to Destination Mapping:")
- # note: chr(187) is the ASCII arrow ( >> ). Blender Text Editor can't
- # open it. Thus we are using the hardcoded value instead.
+ # note: chr(187) is the ASCII arrow ( >> ). Blender Text Editor can't
+ # open it. Thus we are using the hardcoded value instead.
row = col.row()
row.prop(con, "map_to_x_from", expand=False, text="")
row.label(text=" %s X" % chr(187))
@@ -755,7 +757,7 @@ class ConstraintButtonsPanel():
layout.label("Blender 2.5 has no py-constraints")
-class OBJECT_PT_constraints(ConstraintButtonsPanel, bpy.types.Panel):
+class OBJECT_PT_constraints(ConstraintButtonsPanel, Panel):
bl_label = "Object Constraints"
bl_context = "constraint"
@@ -779,7 +781,7 @@ class OBJECT_PT_constraints(ConstraintButtonsPanel, bpy.types.Panel):
self.draw_constraint(context, con)
-class BONE_PT_constraints(ConstraintButtonsPanel, bpy.types.Panel):
+class BONE_PT_constraints(ConstraintButtonsPanel, Panel):
bl_label = "Bone Constraints"
bl_context = "bone_constraint"
diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index 63333083cb2..6f58f060504 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from rna_prop_ui import PropertyPanel
from bl_ui.properties_physics_common import (
@@ -72,7 +73,7 @@ class ParticleButtonsPanel():
return particle_panel_poll(cls, context)
-class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -155,7 +156,7 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel):
if part:
split = layout.split(percentage=0.65)
if part.type == 'HAIR':
- if psys != None and psys.is_edited:
+ if psys is not None and psys.is_edited:
split.operator("particle.edited_clear", text="Free Edit")
else:
row = split.row()
@@ -165,18 +166,18 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel):
row = split.row()
row.enabled = particle_panel_enabled(context, psys)
row.prop(part, "hair_step")
- if psys != None and psys.is_edited:
+ if psys is not None and psys.is_edited:
if psys.is_global_hair:
layout.operator("particle.connect_hair")
else:
layout.operator("particle.disconnect_hair")
- elif psys != None and part.type == 'REACTOR':
+ elif psys is not None and part.type == 'REACTOR':
split.enabled = particle_panel_enabled(context, psys)
split.prop(psys, "reactor_target_object")
split.prop(psys, "reactor_target_particle_system", text="Particle System")
-class PARTICLE_PT_emission(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_emission(ParticleButtonsPanel, Panel):
bl_label = "Emission"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -245,7 +246,7 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, bpy.types.Panel):
row.prop(part, "grid_random", text="Random", slider=True)
-class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, Panel):
bl_label = "Hair dynamics"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -301,7 +302,7 @@ class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, bpy.types.Panel):
col.prop(cloth, "quality", text="Steps", slider=True)
-class PARTICLE_PT_cache(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_cache(ParticleButtonsPanel, Panel):
bl_label = "Cache"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -327,7 +328,7 @@ class PARTICLE_PT_cache(ParticleButtonsPanel, bpy.types.Panel):
point_cache_ui(self, context, psys.point_cache, True, 'HAIR' if (psys.settings.type == 'HAIR') else 'PSYS')
-class PARTICLE_PT_velocity(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_velocity(ParticleButtonsPanel, Panel):
bl_label = "Velocity"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -377,7 +378,7 @@ class PARTICLE_PT_velocity(ParticleButtonsPanel, bpy.types.Panel):
# sub.prop(part, "reaction_shape", slider=True)
-class PARTICLE_PT_rotation(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_rotation(ParticleButtonsPanel, Panel):
bl_label = "Rotation"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -426,7 +427,7 @@ class PARTICLE_PT_rotation(ParticleButtonsPanel, bpy.types.Panel):
col.prop(part, "angular_velocity_factor", text="")
-class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_physics(ParticleButtonsPanel, Panel):
bl_label = "Physics"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -462,7 +463,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel):
col.prop(part, "mass")
col.prop(part, "use_multiply_size_mass", text="Multiply mass with size")
- if part.physics_type in ('NEWTON', 'FLUID'):
+ if part.physics_type in {'NEWTON', 'FLUID'}:
split = layout.split()
col = split.column()
@@ -641,7 +642,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel):
sub.prop(key, "system", text="System")
-class PARTICLE_PT_boidbrain(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel):
bl_label = "Boid Brain"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -653,7 +654,7 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, bpy.types.Panel):
if settings is None:
return False
- if psys != None and psys.point_cache.use_external:
+ if psys is not None and psys.point_cache.use_external:
return False
return settings.physics_type == 'BOIDS' and engine in cls.COMPAT_ENGINES
@@ -742,7 +743,7 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, bpy.types.Panel):
row.prop(rule, "flee_distance")
-class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_render(ParticleButtonsPanel, Panel):
bl_label = "Render"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -879,6 +880,15 @@ class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel):
col = row.column()
col.prop(part, "billboard_offset")
+ row = layout.row()
+ col = row.column()
+ col.prop(part, "billboard_size", text="Scale")
+ if part.billboard_align == 'VEL':
+ col = row.column(align=True)
+ col.label("Velocity Scale:")
+ col.prop(part, "billboard_velocity_head", text="Head")
+ col.prop(part, "billboard_velocity_tail", text="Tail")
+
if psys:
col = layout.column()
col.prop_search(psys, "billboard_normal_uv", ob.data, "uv_textures")
@@ -912,13 +922,13 @@ class PARTICLE_PT_render(ParticleButtonsPanel, bpy.types.Panel):
col = row.column()
col.label(text="")
- if part.render_type in ('OBJECT', 'GROUP') and not part.use_advanced_hair:
+ if part.render_type in {'OBJECT', 'GROUP'} and not part.use_advanced_hair:
row = layout.row(align=True)
row.prop(part, "particle_size")
row.prop(part, "size_random", slider=True)
-class PARTICLE_PT_draw(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_draw(ParticleButtonsPanel, Panel):
bl_label = "Display"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -980,7 +990,7 @@ class PARTICLE_PT_draw(ParticleButtonsPanel, bpy.types.Panel):
col.prop(part, "draw_step")
-class PARTICLE_PT_children(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_children(ParticleButtonsPanel, Panel):
bl_label = "Children"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -1080,7 +1090,7 @@ class PARTICLE_PT_children(ParticleButtonsPanel, bpy.types.Panel):
sub.prop(part, "kink_shape", slider=True)
-class PARTICLE_PT_field_weights(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_field_weights(ParticleButtonsPanel, Panel):
bl_label = "Field Weights"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -1101,7 +1111,7 @@ class PARTICLE_PT_field_weights(ParticleButtonsPanel, bpy.types.Panel):
row.prop(part, "effect_hair", slider=True)
-class PARTICLE_PT_force_fields(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_force_fields(ParticleButtonsPanel, Panel):
bl_label = "Force Field Settings"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -1135,7 +1145,7 @@ class PARTICLE_PT_force_fields(ParticleButtonsPanel, bpy.types.Panel):
basic_force_field_falloff_ui(self, context, part.force_field_2)
-class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, bpy.types.Panel):
+class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, Panel):
bl_label = "Vertexgroups"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -1206,7 +1216,7 @@ class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, bpy.types.Panel):
# row.prop(psys, "invert_vertex_group_field", text="")
-class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, bpy.types.Panel):
+class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER'}
_context_path = "particle_system.settings"
_property_type = bpy.types.ParticleSettings
diff --git a/release/scripts/startup/bl_ui/properties_physics_cloth.py b/release/scripts/startup/bl_ui/properties_physics_cloth.py
index bce6ab993a7..d5427d8bae8 100644
--- a/release/scripts/startup/bl_ui/properties_physics_cloth.py
+++ b/release/scripts/startup/bl_ui/properties_physics_cloth.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Menu, Panel
from bl_ui.properties_physics_common import (
@@ -30,14 +31,14 @@ def cloth_panel_enabled(md):
return md.point_cache.is_baked is False
-class CLOTH_MT_presets(bpy.types.Menu):
+class CLOTH_MT_presets(Menu):
'''
Creates the menu items by scanning scripts/templates
'''
bl_label = "Cloth Presets"
preset_subdir = "cloth"
preset_operator = "script.execute_preset"
- draw = bpy.types.Menu.draw_preset
+ draw = Menu.draw_preset
class PhysicButtonsPanel():
@@ -52,7 +53,7 @@ class PhysicButtonsPanel():
return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.cloth)
-class PHYSICS_PT_cloth(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_cloth(PhysicButtonsPanel, Panel):
bl_label = "Cloth"
def draw(self, context):
@@ -117,7 +118,7 @@ class PHYSICS_PT_cloth(PhysicButtonsPanel, bpy.types.Panel):
col.prop_search(cloth, "rest_shape_key", key, "key_blocks", text="")
-class PHYSICS_PT_cloth_cache(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_cloth_cache(PhysicButtonsPanel, Panel):
bl_label = "Cloth Cache"
bl_options = {'DEFAULT_CLOSED'}
@@ -130,7 +131,7 @@ class PHYSICS_PT_cloth_cache(PhysicButtonsPanel, bpy.types.Panel):
point_cache_ui(self, context, md.point_cache, cloth_panel_enabled(md), 'CLOTH')
-class PHYSICS_PT_cloth_collision(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_cloth_collision(PhysicButtonsPanel, Panel):
bl_label = "Cloth Collision"
bl_options = {'DEFAULT_CLOSED'}
@@ -171,7 +172,7 @@ class PHYSICS_PT_cloth_collision(PhysicButtonsPanel, bpy.types.Panel):
layout.prop(cloth, "group")
-class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel, Panel):
bl_label = "Cloth Stiffness Scaling"
bl_options = {'DEFAULT_CLOSED'}
@@ -207,7 +208,7 @@ class PHYSICS_PT_cloth_stiffness(PhysicButtonsPanel, bpy.types.Panel):
col.prop(cloth, "bending_stiffness_max", text="Max")
-class PHYSICS_PT_cloth_field_weights(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_cloth_field_weights(PhysicButtonsPanel, Panel):
bl_label = "Cloth Field Weights"
bl_options = {'DEFAULT_CLOSED'}
diff --git a/release/scripts/startup/bl_ui/properties_physics_common.py b/release/scripts/startup/bl_ui/properties_physics_common.py
index f7cf8da1840..204e25d9f01 100644
--- a/release/scripts/startup/bl_ui/properties_physics_common.py
+++ b/release/scripts/startup/bl_ui/properties_physics_common.py
@@ -19,6 +19,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
class PhysicButtonsPanel():
@@ -44,7 +45,7 @@ def physics_add(self, layout, md, name, type, typeicon, toggles):
sub.operator("object.modifier_add", text=name, icon=typeicon).type = type
-class PHYSICS_PT_add(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_add(PhysicButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
diff --git a/release/scripts/startup/bl_ui/properties_physics_field.py b/release/scripts/startup/bl_ui/properties_physics_field.py
index 9f96f0a5b9f..e1dc4d04378 100644
--- a/release/scripts/startup/bl_ui/properties_physics_field.py
+++ b/release/scripts/startup/bl_ui/properties_physics_field.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from bl_ui.properties_physics_common import (
@@ -37,7 +38,7 @@ class PhysicButtonsPanel():
return (context.object) and (not rd.use_game_engine)
-class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_field(PhysicButtonsPanel, Panel):
bl_label = "Force Fields"
@classmethod
@@ -164,7 +165,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel):
sub.prop(field, "radial_max", text="Distance")
-class PHYSICS_PT_collision(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_collision(PhysicButtonsPanel, Panel):
bl_label = "Collision"
#bl_options = {'DEFAULT_CLOSED'}
diff --git a/release/scripts/startup/bl_ui/properties_physics_fluid.py b/release/scripts/startup/bl_ui/properties_physics_fluid.py
index 5da89d0090a..46893af3582 100644
--- a/release/scripts/startup/bl_ui/properties_physics_fluid.py
+++ b/release/scripts/startup/bl_ui/properties_physics_fluid.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
class PhysicButtonsPanel():
@@ -32,7 +33,7 @@ class PhysicButtonsPanel():
return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.fluid)
-class PHYSICS_PT_fluid(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_fluid(PhysicButtonsPanel, Panel):
bl_label = "Fluid"
def draw(self, context):
@@ -186,7 +187,7 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel, bpy.types.Panel):
sub.prop(fluid, "velocity_radius", text="Radius")
-class PHYSICS_PT_domain_gravity(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_domain_gravity(PhysicButtonsPanel, Panel):
bl_label = "Domain World"
bl_options = {'DEFAULT_CLOSED'}
@@ -236,7 +237,7 @@ class PHYSICS_PT_domain_gravity(PhysicButtonsPanel, bpy.types.Panel):
col.prop(fluid, "compressibility", slider=True)
-class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, Panel):
bl_label = "Domain Boundary"
bl_options = {'DEFAULT_CLOSED'}
@@ -257,6 +258,7 @@ class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, bpy.types.Panel):
col.prop(fluid, "slip_type", text="")
if fluid.slip_type == 'PARTIALSLIP':
col.prop(fluid, "partial_slip_factor", slider=True, text="Amount")
+ col.prop(fluid, "surface_noobs")
col = split.column()
col.label(text="Surface:")
@@ -264,7 +266,7 @@ class PHYSICS_PT_domain_boundary(PhysicButtonsPanel, bpy.types.Panel):
col.prop(fluid, "surface_subdivisions", text="Subdivisions")
-class PHYSICS_PT_domain_particles(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_domain_particles(PhysicButtonsPanel, Panel):
bl_label = "Domain Particles"
bl_options = {'DEFAULT_CLOSED'}
diff --git a/release/scripts/startup/bl_ui/properties_physics_smoke.py b/release/scripts/startup/bl_ui/properties_physics_smoke.py
index 61d8d2e3825..771a778380d 100644
--- a/release/scripts/startup/bl_ui/properties_physics_smoke.py
+++ b/release/scripts/startup/bl_ui/properties_physics_smoke.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from bl_ui.properties_physics_common import (
@@ -38,7 +39,7 @@ class PhysicButtonsPanel():
return (ob and ob.type == 'MESH') and (not rd.use_game_engine) and (context.smoke)
-class PHYSICS_PT_smoke(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_smoke(PhysicButtonsPanel, Panel):
bl_label = "Smoke"
def draw(self, context):
@@ -103,7 +104,7 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel, bpy.types.Panel):
sub.prop(flow, "temperature")
-class PHYSICS_PT_smoke_groups(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_smoke_groups(PhysicButtonsPanel, Panel):
bl_label = "Smoke Groups"
bl_options = {'DEFAULT_CLOSED'}
@@ -131,7 +132,7 @@ class PHYSICS_PT_smoke_groups(PhysicButtonsPanel, bpy.types.Panel):
col.prop(group, "collision_group", text="")
-class PHYSICS_PT_smoke_highres(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_smoke_highres(PhysicButtonsPanel, Panel):
bl_label = "Smoke High Resolution"
bl_options = {'DEFAULT_CLOSED'}
@@ -168,7 +169,7 @@ class PHYSICS_PT_smoke_highres(PhysicButtonsPanel, bpy.types.Panel):
layout.prop(md, "show_high_resolution")
-class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, Panel):
bl_label = "Smoke Cache"
bl_options = {'DEFAULT_CLOSED'}
@@ -189,7 +190,7 @@ class PHYSICS_PT_smoke_cache(PhysicButtonsPanel, bpy.types.Panel):
point_cache_ui(self, context, cache, (cache.is_baked is False), 'SMOKE')
-class PHYSICS_PT_smoke_field_weights(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_smoke_field_weights(PhysicButtonsPanel, Panel):
bl_label = "Smoke Field Weights"
bl_options = {'DEFAULT_CLOSED'}
diff --git a/release/scripts/startup/bl_ui/properties_physics_softbody.py b/release/scripts/startup/bl_ui/properties_physics_softbody.py
index 61115a0590e..0b55ccf9516 100644
--- a/release/scripts/startup/bl_ui/properties_physics_softbody.py
+++ b/release/scripts/startup/bl_ui/properties_physics_softbody.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from bl_ui.properties_physics_common import (
@@ -44,7 +45,7 @@ class PhysicButtonsPanel():
return (ob and (ob.type == 'MESH' or ob.type == 'LATTICE'or ob.type == 'CURVE')) and (not rd.use_game_engine) and (context.soft_body)
-class PHYSICS_PT_softbody(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody(PhysicButtonsPanel, Panel):
bl_label = "Soft Body"
def draw(self, context):
@@ -71,7 +72,7 @@ class PHYSICS_PT_softbody(PhysicButtonsPanel, bpy.types.Panel):
col.prop(softbody, "speed")
-class PHYSICS_PT_softbody_cache(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_cache(PhysicButtonsPanel, Panel):
bl_label = "Soft Body Cache"
bl_options = {'DEFAULT_CLOSED'}
@@ -84,7 +85,7 @@ class PHYSICS_PT_softbody_cache(PhysicButtonsPanel, bpy.types.Panel):
point_cache_ui(self, context, md.point_cache, softbody_panel_enabled(md), 'SOFTBODY')
-class PHYSICS_PT_softbody_goal(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_goal(PhysicButtonsPanel, Panel):
bl_label = "Soft Body Goal"
bl_options = {'DEFAULT_CLOSED'}
@@ -127,7 +128,7 @@ class PHYSICS_PT_softbody_goal(PhysicButtonsPanel, bpy.types.Panel):
layout.prop_search(softbody, "vertex_group_goal", ob, "vertex_groups", text="Vertex Group")
-class PHYSICS_PT_softbody_edge(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_edge(PhysicButtonsPanel, Panel):
bl_label = "Soft Body Edges"
bl_options = {'DEFAULT_CLOSED'}
@@ -180,7 +181,7 @@ class PHYSICS_PT_softbody_edge(PhysicButtonsPanel, bpy.types.Panel):
col.prop(softbody, "use_face_collision", text="Face")
-class PHYSICS_PT_softbody_collision(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_collision(PhysicButtonsPanel, Panel):
bl_label = "Soft Body Self Collision"
bl_options = {'DEFAULT_CLOSED'}
@@ -212,7 +213,7 @@ class PHYSICS_PT_softbody_collision(PhysicButtonsPanel, bpy.types.Panel):
col.prop(softbody, "ball_damp", text="Dampening")
-class PHYSICS_PT_softbody_solver(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_solver(PhysicButtonsPanel, Panel):
bl_label = "Soft Body Solver"
bl_options = {'DEFAULT_CLOSED'}
@@ -248,7 +249,7 @@ class PHYSICS_PT_softbody_solver(PhysicButtonsPanel, bpy.types.Panel):
layout.prop(softbody, "use_estimate_matrix")
-class PHYSICS_PT_softbody_field_weights(PhysicButtonsPanel, bpy.types.Panel):
+class PHYSICS_PT_softbody_field_weights(PhysicButtonsPanel, Panel):
bl_label = "Soft Body Field Weights"
bl_options = {'DEFAULT_CLOSED'}
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index 4e1c1b34363..395cfc6934e 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -18,27 +18,28 @@
# <pep8 compliant>
import bpy
+from bpy.types import Menu, Panel
-class RENDER_MT_presets(bpy.types.Menu):
+class RENDER_MT_presets(Menu):
bl_label = "Render Presets"
preset_subdir = "render"
preset_operator = "script.execute_preset"
- draw = bpy.types.Menu.draw_preset
+ draw = Menu.draw_preset
-class RENDER_MT_ffmpeg_presets(bpy.types.Menu):
+class RENDER_MT_ffmpeg_presets(Menu):
bl_label = "FFMPEG Presets"
preset_subdir = "ffmpeg"
preset_operator = "script.python_file_run"
- draw = bpy.types.Menu.draw_preset
+ draw = Menu.draw_preset
-class RENDER_MT_framerate_presets(bpy.types.Menu):
+class RENDER_MT_framerate_presets(Menu):
bl_label = "Frame Rate Presets"
preset_subdir = "framerate"
preset_operator = "script.execute_preset"
- draw = bpy.types.Menu.draw_preset
+ draw = Menu.draw_preset
class RenderButtonsPanel():
@@ -53,7 +54,7 @@ class RenderButtonsPanel():
return (context.scene and rd.use_game_engine is False) and (rd.engine in cls.COMPAT_ENGINES)
-class RENDER_PT_render(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_render(RenderButtonsPanel, Panel):
bl_label = "Render"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -69,7 +70,7 @@ class RENDER_PT_render(RenderButtonsPanel, bpy.types.Panel):
layout.prop(rd, "display_mode", text="Display")
-class RENDER_PT_layers(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_layers(RenderButtonsPanel, Panel):
bl_label = "Layers"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -141,6 +142,7 @@ class RENDER_PT_layers(RenderButtonsPanel, bpy.types.Panel):
col.prop(rl, "use_pass_uv")
col.prop(rl, "use_pass_mist")
col.prop(rl, "use_pass_object_index")
+ col.prop(rl, "use_pass_material_index")
col.prop(rl, "use_pass_color")
col = split.column()
@@ -172,7 +174,7 @@ class RENDER_PT_layers(RenderButtonsPanel, bpy.types.Panel):
row.prop(rl, "exclude_refraction", text="")
-class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_dimensions(RenderButtonsPanel, Panel):
bl_label = "Dimensions"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -239,7 +241,7 @@ class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel):
subrow.prop(rd, "frame_map_new", text="New")
-class RENDER_PT_antialiasing(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_antialiasing(RenderButtonsPanel, Panel):
bl_label = "Anti-Aliasing"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -267,7 +269,7 @@ class RENDER_PT_antialiasing(RenderButtonsPanel, bpy.types.Panel):
col.prop(rd, "filter_size", text="Size")
-class RENDER_PT_motion_blur(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_motion_blur(RenderButtonsPanel, Panel):
bl_label = "Sampled Motion Blur"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -293,7 +295,7 @@ class RENDER_PT_motion_blur(RenderButtonsPanel, bpy.types.Panel):
row.prop(rd, "motion_blur_shutter")
-class RENDER_PT_shading(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_shading(RenderButtonsPanel, Panel):
bl_label = "Shading"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -317,7 +319,7 @@ class RENDER_PT_shading(RenderButtonsPanel, bpy.types.Panel):
col.prop(rd, "alpha_mode", text="Alpha")
-class RENDER_PT_performance(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_performance(RenderButtonsPanel, Panel):
bl_label = "Performance"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -360,7 +362,7 @@ class RENDER_PT_performance(RenderButtonsPanel, bpy.types.Panel):
sub.prop(rd, "use_local_coords", text="Local Coordinates")
-class RENDER_PT_post_processing(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_post_processing(RenderButtonsPanel, Panel):
bl_label = "Post Processing"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -376,8 +378,7 @@ class RENDER_PT_post_processing(RenderButtonsPanel, bpy.types.Panel):
col.prop(rd, "use_compositing")
col.prop(rd, "use_sequencer")
- col = split.column()
- col.prop(rd, "dither_intensity", text="Dither", slider=True)
+ split.prop(rd, "dither_intensity", text="Dither", slider=True)
layout.separator()
@@ -398,7 +399,7 @@ class RENDER_PT_post_processing(RenderButtonsPanel, bpy.types.Panel):
sub.prop(rd, "edge_color", text="")
-class RENDER_PT_stamp(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_stamp(RenderButtonsPanel, Panel):
bl_label = "Stamp"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -443,7 +444,7 @@ class RENDER_PT_stamp(RenderButtonsPanel, bpy.types.Panel):
sub.prop(rd, "stamp_note_text", text="")
-class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_output(RenderButtonsPanel, Panel):
bl_label = "Output"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -543,7 +544,7 @@ class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel):
col.prop(rd, "quicktime_audio_resampling_hq")
-class RENDER_PT_encoding(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_encoding(RenderButtonsPanel, Panel):
bl_label = "Encoding"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -591,16 +592,12 @@ class RENDER_PT_encoding(RenderButtonsPanel, bpy.types.Panel):
if rd.ffmpeg_format not in {'MP3'}:
layout.prop(rd, "ffmpeg_audio_codec", text="Audio Codec")
- split = layout.split()
-
- col = split.column()
- col.prop(rd, "ffmpeg_audio_bitrate")
- col.prop(rd, "ffmpeg_audio_mixrate")
-
- split.prop(rd, "ffmpeg_audio_volume", slider=True)
+ row = layout.row()
+ row.prop(rd, "ffmpeg_audio_bitrate")
+ row.prop(rd, "ffmpeg_audio_volume", slider=True)
-class RENDER_PT_bake(RenderButtonsPanel, bpy.types.Panel):
+class RENDER_PT_bake(RenderButtonsPanel, Panel):
bl_label = "Bake"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py
index ce5ac0c62d3..001897c222f 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Operator, Panel
from rna_prop_ui import PropertyPanel
@@ -31,7 +32,7 @@ class SceneButtonsPanel():
return context.scene
-class SCENE_PT_scene(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_scene(SceneButtonsPanel, Panel):
bl_label = "Scene"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -43,7 +44,35 @@ class SCENE_PT_scene(SceneButtonsPanel, bpy.types.Panel):
layout.prop(scene, "background_set", text="Background")
-class SCENE_PT_unit(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_audio(SceneButtonsPanel, Panel):
+ bl_label = "Audio"
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
+
+ def draw(self, context):
+ layout = self.layout
+ scene = context.scene
+ rd = context.scene.render
+
+ layout.prop(scene, "audio_volume")
+ layout.operator("sound.bake_animation")
+
+ split = layout.split()
+
+ col = split.column()
+ col.label("Listener:")
+ col.prop(scene, "audio_distance_model", text="")
+ col.prop(scene, "audio_doppler_speed", text="Speed")
+ col.prop(scene, "audio_doppler_factor", text="Doppler")
+
+ col = split.column()
+ col.label("Format:")
+ col.prop(rd, "ffmpeg_audio_channels", text="")
+ col.prop(rd, "ffmpeg_audio_mixrate", text="Rate")
+
+ layout.operator("sound.mixdown")
+
+
+class SCENE_PT_unit(SceneButtonsPanel, Panel):
bl_label = "Units"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -61,7 +90,7 @@ class SCENE_PT_unit(SceneButtonsPanel, bpy.types.Panel):
row.prop(unit, "use_separate")
-class SCENE_PT_keying_sets(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_keying_sets(SceneButtonsPanel, Panel):
bl_label = "Keying Sets"
def draw(self, context):
@@ -94,7 +123,7 @@ class SCENE_PT_keying_sets(SceneButtonsPanel, bpy.types.Panel):
col.prop(ks, "bl_options")
-class SCENE_PT_keying_set_paths(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_keying_set_paths(SceneButtonsPanel, Panel):
bl_label = "Active Keying Set"
@classmethod
@@ -144,7 +173,7 @@ class SCENE_PT_keying_set_paths(SceneButtonsPanel, bpy.types.Panel):
col.prop(ksp, "bl_options")
-class SCENE_PT_physics(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_physics(SceneButtonsPanel, Panel):
bl_label = "Gravity"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -161,7 +190,7 @@ class SCENE_PT_physics(SceneButtonsPanel, bpy.types.Panel):
layout.prop(scene, "gravity", text="")
-class SCENE_PT_simplify(SceneButtonsPanel, bpy.types.Panel):
+class SCENE_PT_simplify(SceneButtonsPanel, Panel):
bl_label = "Simplify"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -190,7 +219,7 @@ class SCENE_PT_simplify(SceneButtonsPanel, bpy.types.Panel):
col.prop(rd, "simplify_ao_sss", text="AO and SSS")
-class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, bpy.types.Panel):
+class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "scene"
_property_type = bpy.types.Scene
@@ -198,7 +227,7 @@ class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, bpy.types.Panel):
# XXX, move operator to op/ dir
-class ANIM_OT_keying_set_export(bpy.types.Operator):
+class ANIM_OT_keying_set_export(Operator):
"Export Keying Set to a python script."
bl_idname = "anim.keying_set_export"
bl_label = "Export Keying Set..."
diff --git a/release/scripts/startup/bl_ui/properties_texture.py b/release/scripts/startup/bl_ui/properties_texture.py
index 01890bc3c99..34f5a948ee7 100644
--- a/release/scripts/startup/bl_ui/properties_texture.py
+++ b/release/scripts/startup/bl_ui/properties_texture.py
@@ -18,10 +18,11 @@
# <pep8 compliant>
import bpy
+from bpy.types import Menu, Panel
from rna_prop_ui import PropertyPanel
-class TEXTURE_MT_specials(bpy.types.Menu):
+class TEXTURE_MT_specials(Menu):
bl_label = "Texture Specials"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -32,7 +33,7 @@ class TEXTURE_MT_specials(bpy.types.Menu):
layout.operator("texture.slot_paste", icon='PASTEDOWN')
-class TEXTURE_MT_envmap_specials(bpy.types.Menu):
+class TEXTURE_MT_envmap_specials(Menu):
bl_label = "Environment Map Specials"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -80,7 +81,7 @@ class TextureButtonsPanel():
return tex and (tex.type != 'NONE' or tex.use_nodes) and (context.scene.render.engine in cls.COMPAT_ENGINES)
-class TEXTURE_PT_context_texture(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_context_texture(TextureButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -88,15 +89,15 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel, bpy.types.Panel):
@classmethod
def poll(cls, context):
engine = context.scene.render.engine
- if not hasattr(context, "texture_slot"):
+ if not (hasattr(context, "texture_slot") or hasattr(context, "texture_node")):
return False
return ((context.material or context.world or context.lamp or context.brush or context.texture or context.particle_system or isinstance(context.space_data.pin_id, bpy.types.ParticleSettings))
and (engine in cls.COMPAT_ENGINES))
def draw(self, context):
layout = self.layout
- slot = context.texture_slot
- node = context.texture_node
+ slot = getattr(context, "texture_slot", None)
+ node = getattr(context, "texture_node", None)
space = context.space_data
tex = context.texture
idblock = context_tex_datablock(context)
@@ -150,7 +151,7 @@ class TEXTURE_PT_context_texture(TextureButtonsPanel, bpy.types.Panel):
split.prop(tex, "type", text="")
-class TEXTURE_PT_preview(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_preview(TextureButtonsPanel, Panel):
bl_label = "Preview"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -167,7 +168,7 @@ class TEXTURE_PT_preview(TextureButtonsPanel, bpy.types.Panel):
layout.template_preview(tex, slot=slot)
-class TEXTURE_PT_colors(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_colors(TextureButtonsPanel, Panel):
bl_label = "Colors"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -208,7 +209,7 @@ class TextureSlotPanel(TextureButtonsPanel):
return False
engine = context.scene.render.engine
- return TextureButtonsPanel.poll(self, context) and (engine in cls.COMPAT_ENGINES)
+ return TextureButtonsPanel.poll(cls, context) and (engine in cls.COMPAT_ENGINES)
# Texture Type Panels #
@@ -223,7 +224,7 @@ class TextureTypePanel(TextureButtonsPanel):
return tex and ((tex.type == cls.tex_type and not tex.use_nodes) and (engine in cls.COMPAT_ENGINES))
-class TEXTURE_PT_clouds(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_clouds(TextureTypePanel, Panel):
bl_label = "Clouds"
tex_type = 'CLOUDS'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -247,7 +248,7 @@ class TEXTURE_PT_clouds(TextureTypePanel, bpy.types.Panel):
split.prop(tex, "nabla", text="Nabla")
-class TEXTURE_PT_wood(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_wood(TextureTypePanel, Panel):
bl_label = "Wood"
tex_type = 'WOOD'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -276,7 +277,7 @@ class TEXTURE_PT_wood(TextureTypePanel, bpy.types.Panel):
split.prop(tex, "nabla")
-class TEXTURE_PT_marble(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_marble(TextureTypePanel, Panel):
bl_label = "Marble"
tex_type = 'MARBLE'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -303,7 +304,7 @@ class TEXTURE_PT_marble(TextureTypePanel, bpy.types.Panel):
col.prop(tex, "nabla")
-class TEXTURE_PT_magic(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_magic(TextureTypePanel, Panel):
bl_label = "Magic"
tex_type = 'MAGIC'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -318,7 +319,7 @@ class TEXTURE_PT_magic(TextureTypePanel, bpy.types.Panel):
row.prop(tex, "turbulence")
-class TEXTURE_PT_blend(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_blend(TextureTypePanel, Panel):
bl_label = "Blend"
tex_type = 'BLEND'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -336,7 +337,7 @@ class TEXTURE_PT_blend(TextureTypePanel, bpy.types.Panel):
sub.prop(tex, "use_flip_axis", expand=True)
-class TEXTURE_PT_stucci(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_stucci(TextureTypePanel, Panel):
bl_label = "Stucci"
tex_type = 'STUCCI'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -356,7 +357,7 @@ class TEXTURE_PT_stucci(TextureTypePanel, bpy.types.Panel):
row.prop(tex, "turbulence")
-class TEXTURE_PT_image(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_image(TextureTypePanel, Panel):
bl_label = "Image"
tex_type = 'IMAGE'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -382,7 +383,7 @@ def texture_filter_common(tex, layout):
layout.prop(tex, "use_filter_size_min")
-class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_image_sampling(TextureTypePanel, Panel):
bl_label = "Image Sampling"
bl_options = {'DEFAULT_CLOSED'}
tex_type = 'IMAGE'
@@ -393,7 +394,7 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel):
idblock = context_tex_datablock(context)
tex = context.texture
- slot = context.texture_slot
+ slot = getattr(context, "texture_slot", None)
split = layout.split()
@@ -408,12 +409,16 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel):
col = split.column()
#Only for Material based textures, not for Lamp/World...
- if isinstance(idblock, bpy.types.Material):
+ if slot and isinstance(idblock, bpy.types.Material):
col.prop(tex, "use_normal_map")
row = col.row()
row.active = tex.use_normal_map
row.prop(slot, "normal_map_space", text="")
+ row = col.row()
+ row.active = not tex.use_normal_map
+ row.prop(tex, "use_derivative_map")
+
col.prop(tex, "use_mipmap")
row = col.row()
row.active = tex.use_mipmap
@@ -423,7 +428,7 @@ class TEXTURE_PT_image_sampling(TextureTypePanel, bpy.types.Panel):
texture_filter_common(tex, col)
-class TEXTURE_PT_image_mapping(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_image_mapping(TextureTypePanel, Panel):
bl_label = "Image Mapping"
bl_options = {'DEFAULT_CLOSED'}
tex_type = 'IMAGE'
@@ -479,7 +484,7 @@ class TEXTURE_PT_image_mapping(TextureTypePanel, bpy.types.Panel):
col.prop(tex, "crop_max_y", text="Y")
-class TEXTURE_PT_envmap(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_envmap(TextureTypePanel, Panel):
bl_label = "Environment Map"
tex_type = 'ENVIRONMENT_MAP'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -517,7 +522,7 @@ class TEXTURE_PT_envmap(TextureTypePanel, bpy.types.Panel):
col.prop(env, "clip_end", text="End")
-class TEXTURE_PT_envmap_sampling(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_envmap_sampling(TextureTypePanel, Panel):
bl_label = "Environment Map Sampling"
bl_options = {'DEFAULT_CLOSED'}
tex_type = 'ENVIRONMENT_MAP'
@@ -531,7 +536,7 @@ class TEXTURE_PT_envmap_sampling(TextureTypePanel, bpy.types.Panel):
texture_filter_common(tex, layout)
-class TEXTURE_PT_musgrave(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_musgrave(TextureTypePanel, Panel):
bl_label = "Musgrave"
tex_type = 'MUSGRAVE'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -568,7 +573,7 @@ class TEXTURE_PT_musgrave(TextureTypePanel, bpy.types.Panel):
row.prop(tex, "nabla")
-class TEXTURE_PT_voronoi(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_voronoi(TextureTypePanel, Panel):
bl_label = "Voronoi"
tex_type = 'VORONOI'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -604,7 +609,7 @@ class TEXTURE_PT_voronoi(TextureTypePanel, bpy.types.Panel):
row.prop(tex, "nabla")
-class TEXTURE_PT_distortednoise(TextureTypePanel, bpy.types.Panel):
+class TEXTURE_PT_distortednoise(TextureTypePanel, Panel):
bl_label = "Distorted Noise"
tex_type = 'DISTORTED_NOISE'
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -626,7 +631,7 @@ class TEXTURE_PT_distortednoise(TextureTypePanel, bpy.types.Panel):
split.prop(tex, "nabla")
-class TEXTURE_PT_voxeldata(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_voxeldata(TextureButtonsPanel, Panel):
bl_label = "Voxel Data"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -666,7 +671,7 @@ class TEXTURE_PT_voxeldata(TextureButtonsPanel, bpy.types.Panel):
layout.prop(vd, "intensity")
-class TEXTURE_PT_pointdensity(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_pointdensity(TextureButtonsPanel, Panel):
bl_label = "Point Density"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -732,7 +737,7 @@ class TEXTURE_PT_pointdensity(TextureButtonsPanel, bpy.types.Panel):
col.template_curve_mapping(pd, "falloff_curve", brush=False)
-class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel, bpy.types.Panel):
+class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel, Panel):
bl_label = "Turbulence"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -769,7 +774,7 @@ class TEXTURE_PT_pointdensity_turbulence(TextureButtonsPanel, bpy.types.Panel):
col.prop(pd, "turbulence_strength")
-class TEXTURE_PT_mapping(TextureSlotPanel, bpy.types.Panel):
+class TEXTURE_PT_mapping(TextureSlotPanel, Panel):
bl_label = "Mapping"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -857,7 +862,7 @@ class TEXTURE_PT_mapping(TextureSlotPanel, bpy.types.Panel):
row.column().prop(tex, "scale")
-class TEXTURE_PT_influence(TextureSlotPanel, bpy.types.Panel):
+class TEXTURE_PT_influence(TextureSlotPanel, Panel):
bl_label = "Influence"
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
@@ -1024,16 +1029,18 @@ class TEXTURE_PT_influence(TextureSlotPanel, bpy.types.Panel):
# only show bump settings if activated but not for normalmap images
row = layout.row()
- row.active = (tex.use_map_normal or tex.use_map_warp) and not (tex.texture.type == 'IMAGE' and tex.texture.use_normal_map)
- row.prop(tex, "bump_method", text="Method")
+ sub = row.row()
+ sub.active = (tex.use_map_normal or tex.use_map_warp) and not (tex.texture.type == 'IMAGE' and (tex.texture.use_normal_map or tex.texture.use_derivative_map))
+ sub.prop(tex, "bump_method", text="Method")
+ # the space setting is supported for: derivmaps + bumpmaps (DEFAULT,BEST_QUALITY), not for normalmaps
sub = row.row()
- sub.active = tex.bump_method in {'BUMP_DEFAULT', 'BUMP_BEST_QUALITY'}
+ sub.active = (tex.use_map_normal or tex.use_map_warp) and not (tex.texture.type == 'IMAGE' and tex.texture.use_normal_map) and ((tex.bump_method in {'BUMP_DEFAULT', 'BUMP_BEST_QUALITY'}) or (tex.texture.type == 'IMAGE' and tex.texture.use_derivative_map))
sub.prop(tex, "bump_objectspace", text="Space")
-class TEXTURE_PT_custom_props(TextureButtonsPanel, PropertyPanel, bpy.types.Panel):
+class TEXTURE_PT_custom_props(TextureButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "texture"
_property_type = bpy.types.Texture
diff --git a/release/scripts/startup/bl_ui/properties_world.py b/release/scripts/startup/bl_ui/properties_world.py
index 4f398c9fbd9..71ee03296a0 100644
--- a/release/scripts/startup/bl_ui/properties_world.py
+++ b/release/scripts/startup/bl_ui/properties_world.py
@@ -18,10 +18,9 @@
# <pep8 compliant>
import bpy
+from bpy.types import Panel
from rna_prop_ui import PropertyPanel
-# TODO, "color_range" not in the UI
-
class WorldButtonsPanel():
bl_space_type = 'PROPERTIES'
@@ -34,7 +33,7 @@ class WorldButtonsPanel():
return (context.world and context.scene.render.engine in cls.COMPAT_ENGINES)
-class WORLD_PT_context_world(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_context_world(WorldButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -63,7 +62,7 @@ class WORLD_PT_context_world(WorldButtonsPanel, bpy.types.Panel):
split.label(text=str(texture_count), icon='TEXTURE')
-class WORLD_PT_preview(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_preview(WorldButtonsPanel, Panel):
bl_label = "Preview"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -76,7 +75,7 @@ class WORLD_PT_preview(WorldButtonsPanel, bpy.types.Panel):
self.layout.template_preview(context.world)
-class WORLD_PT_world(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_world(WorldButtonsPanel, Panel):
bl_label = "World"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -96,8 +95,12 @@ class WORLD_PT_world(WorldButtonsPanel, bpy.types.Panel):
col.active = world.use_sky_blend
row.column().prop(world, "ambient_color")
+ row = layout.row()
+ row.prop(world, "exposure")
+ row.prop(world, "color_range")
+
-class WORLD_PT_ambient_occlusion(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_ambient_occlusion(WorldButtonsPanel, Panel):
bl_label = "Ambient Occlusion"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -116,7 +119,7 @@ class WORLD_PT_ambient_occlusion(WorldButtonsPanel, bpy.types.Panel):
split.prop(light, "ao_blend_type", text="")
-class WORLD_PT_environment_lighting(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_environment_lighting(WorldButtonsPanel, Panel):
bl_label = "Environment Lighting"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -135,7 +138,7 @@ class WORLD_PT_environment_lighting(WorldButtonsPanel, bpy.types.Panel):
split.prop(light, "environment_color", text="")
-class WORLD_PT_indirect_lighting(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_indirect_lighting(WorldButtonsPanel, Panel):
bl_label = "Indirect Lighting"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -157,7 +160,7 @@ class WORLD_PT_indirect_lighting(WorldButtonsPanel, bpy.types.Panel):
layout.label(text="Only works with Approximate gather method")
-class WORLD_PT_gather(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_gather(WorldButtonsPanel, Panel):
bl_label = "Gather"
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -205,7 +208,7 @@ class WORLD_PT_gather(WorldButtonsPanel, bpy.types.Panel):
col.prop(light, "correction")
-class WORLD_PT_mist(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_mist(WorldButtonsPanel, Panel):
bl_label = "Mist"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -234,7 +237,7 @@ class WORLD_PT_mist(WorldButtonsPanel, bpy.types.Panel):
layout.prop(world.mist_settings, "falloff")
-class WORLD_PT_stars(WorldButtonsPanel, bpy.types.Panel):
+class WORLD_PT_stars(WorldButtonsPanel, Panel):
bl_label = "Stars"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER'}
@@ -261,7 +264,7 @@ class WORLD_PT_stars(WorldButtonsPanel, bpy.types.Panel):
col.prop(world.star_settings, "average_separation", text="Separation")
-class WORLD_PT_custom_props(WorldButtonsPanel, PropertyPanel, bpy.types.Panel):
+class WORLD_PT_custom_props(WorldButtonsPanel, PropertyPanel, Panel):
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'}
_context_path = "world"
_property_type = bpy.types.World
diff --git a/release/scripts/startup/bl_ui/space_console.py b/release/scripts/startup/bl_ui/space_console.py
index da6c102100b..cbbefa01a3c 100644
--- a/release/scripts/startup/bl_ui/space_console.py
+++ b/release/scripts/startup/bl_ui/space_console.py
@@ -18,32 +18,30 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu, Operator
from bpy.props import StringProperty
-class CONSOLE_HT_header(bpy.types.Header):
+class CONSOLE_HT_header(Header):
bl_space_type = 'CONSOLE'
def draw(self, context):
- layout = self.layout
+ layout = self.layout.row(align=True)
- row = layout.row(align=True)
- row.template_header()
+ layout.template_header()
if context.area.show_menus:
- sub = row.row(align=True)
- sub.menu("CONSOLE_MT_console")
+ layout.menu("CONSOLE_MT_console")
- row = layout.row(align=True)
- row.operator("console.autocomplete", text="Autocomplete")
+ layout.operator("console.autocomplete", text="Autocomplete")
-class CONSOLE_MT_console(bpy.types.Menu):
+class CONSOLE_MT_console(Menu):
bl_label = "Console"
def draw(self, context):
layout = self.layout
- layout.column()
+
layout.operator("console.clear")
layout.operator("console.copy")
layout.operator("console.paste")
@@ -55,7 +53,7 @@ class CONSOLE_MT_console(bpy.types.Menu):
layout.operator("screen.screen_full_area")
-class CONSOLE_MT_language(bpy.types.Menu):
+class CONSOLE_MT_language(Menu):
bl_label = "Languages..."
def draw(self, context):
@@ -82,7 +80,7 @@ def add_scrollback(text, text_type):
type=text_type)
-class ConsoleExec(bpy.types.Operator):
+class ConsoleExec(Operator):
'''Execute the current console line as a python expression'''
bl_idname = "console.execute"
bl_label = "Console Execute"
@@ -100,7 +98,7 @@ class ConsoleExec(bpy.types.Operator):
return {'FINISHED'}
-class ConsoleAutocomplete(bpy.types.Operator):
+class ConsoleAutocomplete(Operator):
'''Evaluate the namespace up until the cursor and give a list of options or complete the name if there is only one'''
bl_idname = "console.autocomplete"
bl_label = "Console Autocomplete"
@@ -117,7 +115,7 @@ class ConsoleAutocomplete(bpy.types.Operator):
return {'FINISHED'}
-class ConsoleBanner(bpy.types.Operator):
+class ConsoleBanner(Operator):
'''Print a message whem the terminal initializes'''
bl_idname = "console.banner"
bl_label = "Console Banner"
@@ -139,11 +137,15 @@ class ConsoleBanner(bpy.types.Operator):
return {'FINISHED'}
-class ConsoleLanguage(bpy.types.Operator):
+class ConsoleLanguage(Operator):
'''Set the current language for this console'''
bl_idname = "console.language"
bl_label = "Console Language"
- language = StringProperty(name="Language", maxlen=32, default="")
+
+ language = StringProperty(
+ name="Language",
+ maxlen=32,
+ )
def execute(self, context):
sc = context.space_data
diff --git a/release/scripts/startup/bl_ui/space_dopesheet.py b/release/scripts/startup/bl_ui/space_dopesheet.py
index 930a2029d32..90dcc99e6d7 100644
--- a/release/scripts/startup/bl_ui/space_dopesheet.py
+++ b/release/scripts/startup/bl_ui/space_dopesheet.py
@@ -19,6 +19,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu
#######################################
@@ -33,41 +34,10 @@ def dopesheet_filter(layout, context, genericFiltersOnly=False):
row.prop(dopesheet, "show_only_selected", text="")
row.prop(dopesheet, "show_hidden", text="")
- if not genericFiltersOnly:
- row = layout.row(align=True)
- row.prop(dopesheet, "show_transforms", text="")
-
- if is_nla:
- row.prop(dopesheet, "show_missing_nla", text="")
-
- row = layout.row(align=True)
- row.prop(dopesheet, "show_scenes", text="")
- row.prop(dopesheet, "show_worlds", text="")
- row.prop(dopesheet, "show_nodes", text="")
-
- if bpy.data.meshes:
- row.prop(dopesheet, "show_meshes", text="")
- if bpy.data.shape_keys:
- row.prop(dopesheet, "show_shapekeys", text="")
- if bpy.data.materials:
- row.prop(dopesheet, "show_materials", text="")
- if bpy.data.lamps:
- row.prop(dopesheet, "show_lamps", text="")
- if bpy.data.textures:
- row.prop(dopesheet, "show_textures", text="")
- if bpy.data.cameras:
- row.prop(dopesheet, "show_cameras", text="")
- if bpy.data.curves:
- row.prop(dopesheet, "show_curves", text="")
- if bpy.data.metaballs:
- row.prop(dopesheet, "show_metaballs", text="")
- if bpy.data.lattices:
- row.prop(dopesheet, "show_lattices", text="")
- if bpy.data.armatures:
- row.prop(dopesheet, "show_armatures", text="")
- if bpy.data.particles:
- row.prop(dopesheet, "show_particles", text="")
+ if is_nla:
+ row.prop(dopesheet, "show_missing_nla", text="")
+ if not genericFiltersOnly:
if bpy.data.groups:
row = layout.row(align=True)
row.prop(dopesheet, "show_only_group_objects", text="")
@@ -80,11 +50,47 @@ def dopesheet_filter(layout, context, genericFiltersOnly=False):
if dopesheet.show_only_matching_fcurves:
row.prop(dopesheet, "filter_fcurve_name", text="")
+ if not genericFiltersOnly:
+ row = layout.row(align=True)
+ row.prop(dopesheet, "show_datablock_filters", text="Filters")
+
+ if dopesheet.show_datablock_filters:
+ row.prop(dopesheet, "show_scenes", text="")
+ row.prop(dopesheet, "show_worlds", text="")
+ row.prop(dopesheet, "show_nodes", text="")
+
+ row.prop(dopesheet, "show_transforms", text="")
+
+ if bpy.data.meshes:
+ row.prop(dopesheet, "show_meshes", text="")
+ if bpy.data.shape_keys:
+ row.prop(dopesheet, "show_shapekeys", text="")
+ if bpy.data.materials:
+ row.prop(dopesheet, "show_materials", text="")
+ if bpy.data.lamps:
+ row.prop(dopesheet, "show_lamps", text="")
+ if bpy.data.textures:
+ row.prop(dopesheet, "show_textures", text="")
+ if bpy.data.cameras:
+ row.prop(dopesheet, "show_cameras", text="")
+ if bpy.data.curves:
+ row.prop(dopesheet, "show_curves", text="")
+ if bpy.data.metaballs:
+ row.prop(dopesheet, "show_metaballs", text="")
+ if bpy.data.lattices:
+ row.prop(dopesheet, "show_lattices", text="")
+ if bpy.data.armatures:
+ row.prop(dopesheet, "show_armatures", text="")
+ if bpy.data.particles:
+ row.prop(dopesheet, "show_particles", text="")
+ if bpy.data.speakers:
+ row.prop(dopesheet, "show_speakers", text="")
+
#######################################
# DopeSheet Editor - General/Standard UI
-class DOPESHEET_HT_header(bpy.types.Header):
+class DOPESHEET_HT_header(Header):
bl_space_type = 'DOPESHEET_EDITOR'
def draw(self, context):
@@ -96,21 +102,19 @@ class DOPESHEET_HT_header(bpy.types.Header):
row.template_header()
if context.area.show_menus:
- sub = row.row(align=True)
+ row.menu("DOPESHEET_MT_view")
+ row.menu("DOPESHEET_MT_select")
+ row.menu("DOPESHEET_MT_marker")
- sub.menu("DOPESHEET_MT_view")
- sub.menu("DOPESHEET_MT_select")
- sub.menu("DOPESHEET_MT_marker")
-
- if st.mode == 'DOPESHEET' or (st.mode == 'ACTION' and st.action != None):
- sub.menu("DOPESHEET_MT_channel")
+ if st.mode == 'DOPESHEET' or (st.mode == 'ACTION' and st.action is not None):
+ row.menu("DOPESHEET_MT_channel")
elif st.mode == 'GPENCIL':
- sub.menu("DOPESHEET_MT_gpencil_channel")
+ row.menu("DOPESHEET_MT_gpencil_channel")
if st.mode != 'GPENCIL':
- sub.menu("DOPESHEET_MT_key")
+ row.menu("DOPESHEET_MT_key")
else:
- sub.menu("DOPESHEET_MT_gpencil_frame")
+ row.menu("DOPESHEET_MT_gpencil_frame")
layout.prop(st, "mode", text="")
layout.prop(st.dopesheet, "show_summary", text="Summary")
@@ -134,7 +138,7 @@ class DOPESHEET_HT_header(bpy.types.Header):
row.operator("action.paste", text="", icon='PASTEDOWN')
-class DOPESHEET_MT_view(bpy.types.Menu):
+class DOPESHEET_MT_view(Menu):
bl_label = "View"
def draw(self, context):
@@ -142,8 +146,6 @@ class DOPESHEET_MT_view(bpy.types.Menu):
st = context.space_data
- layout.column()
-
layout.prop(st, "use_realtime_update")
layout.prop(st, "show_frame_indicator")
layout.prop(st, "show_sliders")
@@ -170,13 +172,12 @@ class DOPESHEET_MT_view(bpy.types.Menu):
layout.operator("screen.screen_full_area")
-class DOPESHEET_MT_select(bpy.types.Menu):
+class DOPESHEET_MT_select(Menu):
bl_label = "Select"
def draw(self, context):
layout = self.layout
- layout.column()
# This is a bit misleading as the operator's default text is "Select All" while it actually *toggles* All/None
layout.operator("action.select_all_toggle")
layout.operator("action.select_all_toggle", text="Invert Selection").invert = True
@@ -206,7 +207,7 @@ class DOPESHEET_MT_select(bpy.types.Menu):
layout.operator("action.select_linked")
-class DOPESHEET_MT_marker(bpy.types.Menu):
+class DOPESHEET_MT_marker(Menu):
bl_label = "Marker"
def draw(self, context):
@@ -216,7 +217,6 @@ class DOPESHEET_MT_marker(bpy.types.Menu):
#layout.operator_context = 'EXEC_REGION_WIN'
- layout.column()
layout.operator("marker.add", "Add Marker")
layout.operator("marker.duplicate", text="Duplicate Marker")
layout.operator("marker.delete", text="Delete Marker")
@@ -237,7 +237,7 @@ class DOPESHEET_MT_marker(bpy.types.Menu):
#######################################
# Keyframe Editing
-class DOPESHEET_MT_channel(bpy.types.Menu):
+class DOPESHEET_MT_channel(Menu):
bl_label = "Channel"
def draw(self, context):
@@ -245,7 +245,6 @@ class DOPESHEET_MT_channel(bpy.types.Menu):
layout.operator_context = 'INVOKE_REGION_CHANNELS'
- layout.column()
layout.operator("anim.channels_delete")
layout.separator()
@@ -268,13 +267,12 @@ class DOPESHEET_MT_channel(bpy.types.Menu):
layout.operator("anim.channels_fcurves_enable")
-class DOPESHEET_MT_key(bpy.types.Menu):
+class DOPESHEET_MT_key(Menu):
bl_label = "Key"
def draw(self, context):
layout = self.layout
- layout.column()
layout.menu("DOPESHEET_MT_key_transform", text="Transform")
layout.operator_menu_enum("action.snap", "type", text="Snap")
@@ -284,7 +282,7 @@ class DOPESHEET_MT_key(bpy.types.Menu):
layout.operator("action.keyframe_insert")
layout.separator()
- layout.operator("action.duplicate")
+ layout.operator("action.duplicate_move")
layout.operator("action.delete")
layout.separator()
@@ -301,13 +299,12 @@ class DOPESHEET_MT_key(bpy.types.Menu):
layout.operator("action.paste")
-class DOPESHEET_MT_key_transform(bpy.types.Menu):
+class DOPESHEET_MT_key_transform(Menu):
bl_label = "Transform"
def draw(self, context):
layout = self.layout
- layout.column()
layout.operator("transform.transform", text="Grab/Move").mode = 'TIME_TRANSLATE'
layout.operator("transform.transform", text="Extend").mode = 'TIME_EXTEND'
layout.operator("transform.transform", text="Slide").mode = 'TIME_SLIDE'
@@ -317,7 +314,7 @@ class DOPESHEET_MT_key_transform(bpy.types.Menu):
#######################################
# Grease Pencil Editing
-class DOPESHEET_MT_gpencil_channel(bpy.types.Menu):
+class DOPESHEET_MT_gpencil_channel(Menu):
bl_label = "Channel"
def draw(self, context):
@@ -325,7 +322,6 @@ class DOPESHEET_MT_gpencil_channel(bpy.types.Menu):
layout.operator_context = 'INVOKE_REGION_CHANNELS'
- layout.column()
layout.operator("anim.channels_delete")
layout.separator()
@@ -345,13 +341,12 @@ class DOPESHEET_MT_gpencil_channel(bpy.types.Menu):
#layout.operator_menu_enum("anim.channels_move", "direction", text="Move...")
-class DOPESHEET_MT_gpencil_frame(bpy.types.Menu):
+class DOPESHEET_MT_gpencil_frame(Menu):
bl_label = "Frame"
def draw(self, context):
layout = self.layout
- layout.column()
layout.menu("DOPESHEET_MT_key_transform", text="Transform")
#layout.operator_menu_enum("action.snap", "type", text="Snap")
diff --git a/release/scripts/startup/bl_ui/space_filebrowser.py b/release/scripts/startup/bl_ui/space_filebrowser.py
index 73fe1a97252..cf0d10c5844 100644
--- a/release/scripts/startup/bl_ui/space_filebrowser.py
+++ b/release/scripts/startup/bl_ui/space_filebrowser.py
@@ -18,9 +18,10 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header
-class FILEBROWSER_HT_header(bpy.types.Header):
+class FILEBROWSER_HT_header(Header):
bl_space_type = 'FILE_BROWSER'
def draw(self, context):
diff --git a/release/scripts/startup/bl_ui/space_graph.py b/release/scripts/startup/bl_ui/space_graph.py
index bfc1a0e3a23..d4b8c415a7f 100644
--- a/release/scripts/startup/bl_ui/space_graph.py
+++ b/release/scripts/startup/bl_ui/space_graph.py
@@ -19,9 +19,10 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu
-class GRAPH_HT_header(bpy.types.Header):
+class GRAPH_HT_header(Header):
bl_space_type = 'GRAPH_EDITOR'
def draw(self, context):
@@ -35,13 +36,11 @@ class GRAPH_HT_header(bpy.types.Header):
row.template_header()
if context.area.show_menus:
- sub = row.row(align=True)
-
- sub.menu("GRAPH_MT_view")
- sub.menu("GRAPH_MT_select")
- sub.menu("GRAPH_MT_marker")
- sub.menu("GRAPH_MT_channel")
- sub.menu("GRAPH_MT_key")
+ row.menu("GRAPH_MT_view")
+ row.menu("GRAPH_MT_select")
+ row.menu("GRAPH_MT_marker")
+ row.menu("GRAPH_MT_channel")
+ row.menu("GRAPH_MT_key")
layout.prop(st, "mode", text="")
@@ -61,7 +60,7 @@ class GRAPH_HT_header(bpy.types.Header):
row.operator("graph.ghost_curves_create", text="", icon='GHOST_ENABLED')
-class GRAPH_MT_view(bpy.types.Menu):
+class GRAPH_MT_view(Menu):
bl_label = "View"
def draw(self, context):
@@ -69,8 +68,6 @@ class GRAPH_MT_view(bpy.types.Menu):
st = context.space_data
- layout.column()
-
layout.operator("graph.properties", icon='MENU_PANEL')
layout.separator()
@@ -81,7 +78,7 @@ class GRAPH_MT_view(bpy.types.Menu):
layout.prop(st, "use_auto_merge_keyframes")
layout.separator()
- layout.prop(st, "use_fancy_drawing")
+ layout.prop(st, "use_beauty_drawing")
layout.separator()
if st.show_handles:
@@ -107,13 +104,12 @@ class GRAPH_MT_view(bpy.types.Menu):
layout.operator("screen.screen_full_area")
-class GRAPH_MT_select(bpy.types.Menu):
+class GRAPH_MT_select(Menu):
bl_label = "Select"
def draw(self, context):
layout = self.layout
- layout.column()
# This is a bit misleading as the operator's default text is "Select All" while it actually *toggles* All/None
layout.operator("graph.select_all_toggle")
layout.operator("graph.select_all_toggle", text="Invert Selection").invert = True
@@ -142,7 +138,7 @@ class GRAPH_MT_select(bpy.types.Menu):
layout.operator("graph.select_linked")
-class GRAPH_MT_marker(bpy.types.Menu):
+class GRAPH_MT_marker(Menu):
bl_label = "Marker"
def draw(self, context):
@@ -150,7 +146,6 @@ class GRAPH_MT_marker(bpy.types.Menu):
#layout.operator_context = 'EXEC_REGION_WIN'
- layout.column()
layout.operator("marker.add", "Add Marker")
layout.operator("marker.duplicate", text="Duplicate Marker")
layout.operator("marker.delete", text="Delete Marker")
@@ -163,7 +158,7 @@ class GRAPH_MT_marker(bpy.types.Menu):
# TODO: pose markers for action edit mode only?
-class GRAPH_MT_channel(bpy.types.Menu):
+class GRAPH_MT_channel(Menu):
bl_label = "Channel"
def draw(self, context):
@@ -171,7 +166,6 @@ class GRAPH_MT_channel(bpy.types.Menu):
layout.operator_context = 'INVOKE_REGION_CHANNELS'
- layout.column()
layout.operator("anim.channels_delete")
layout.separator()
@@ -195,13 +189,12 @@ class GRAPH_MT_channel(bpy.types.Menu):
layout.operator("anim.channels_fcurves_enable")
-class GRAPH_MT_key(bpy.types.Menu):
+class GRAPH_MT_key(Menu):
bl_label = "Key"
def draw(self, context):
layout = self.layout
- layout.column()
layout.menu("GRAPH_MT_key_transform", text="Transform")
layout.operator_menu_enum("graph.snap", "type", text="Snap")
@@ -213,7 +206,7 @@ class GRAPH_MT_key(bpy.types.Menu):
layout.operator("graph.sound_bake")
layout.separator()
- layout.operator("graph.duplicate")
+ layout.operator("graph.duplicate_move")
layout.operator("graph.delete")
layout.separator()
@@ -234,13 +227,12 @@ class GRAPH_MT_key(bpy.types.Menu):
layout.operator("graph.euler_filter", text="Discontinuity (Euler) Filter")
-class GRAPH_MT_key_transform(bpy.types.Menu):
+class GRAPH_MT_key_transform(Menu):
bl_label = "Transform"
def draw(self, context):
layout = self.layout
- layout.column()
layout.operator("transform.translate", text="Grab/Move")
layout.operator("transform.transform", text="Extend").mode = 'TIME_EXTEND'
layout.operator("transform.rotate", text="Rotate")
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index 9f69ca17076..97b5d8457e0 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu, Panel
class BrushButtonsPanel():
@@ -31,7 +32,7 @@ class BrushButtonsPanel():
return sima.show_paint and toolsettings.brush
-class IMAGE_MT_view(bpy.types.Menu):
+class IMAGE_MT_view(Menu):
bl_label = "View"
def draw(self, context):
@@ -79,7 +80,7 @@ class IMAGE_MT_view(bpy.types.Menu):
layout.operator("screen.screen_full_area")
-class IMAGE_MT_select(bpy.types.Menu):
+class IMAGE_MT_select(Menu):
bl_label = "Select"
def draw(self, context):
@@ -100,7 +101,7 @@ class IMAGE_MT_select(bpy.types.Menu):
layout.operator("uv.select_linked")
-class IMAGE_MT_image(bpy.types.Menu):
+class IMAGE_MT_image(Menu):
bl_label = "Image"
def draw(self, context):
@@ -151,7 +152,7 @@ class IMAGE_MT_image(bpy.types.Menu):
layout.prop(sima, "use_image_paint")
-class IMAGE_MT_image_invert(bpy.types.Menu):
+class IMAGE_MT_image_invert(Menu):
bl_label = "Invert"
def draw(self, context):
@@ -177,7 +178,7 @@ class IMAGE_MT_image_invert(bpy.types.Menu):
op.invert_a = True
-class IMAGE_MT_uvs_showhide(bpy.types.Menu):
+class IMAGE_MT_uvs_showhide(Menu):
bl_label = "Show/Hide Faces"
def draw(self, context):
@@ -188,7 +189,7 @@ class IMAGE_MT_uvs_showhide(bpy.types.Menu):
layout.operator("uv.hide", text="Hide Unselected").unselected = True
-class IMAGE_MT_uvs_transform(bpy.types.Menu):
+class IMAGE_MT_uvs_transform(Menu):
bl_label = "Transform"
def draw(self, context):
@@ -198,8 +199,12 @@ class IMAGE_MT_uvs_transform(bpy.types.Menu):
layout.operator("transform.rotate")
layout.operator("transform.resize")
+ layout.separator()
+
+ layout.operator("transform.shear")
+
-class IMAGE_MT_uvs_snap(bpy.types.Menu):
+class IMAGE_MT_uvs_snap(Menu):
bl_label = "Snap"
def draw(self, context):
@@ -216,7 +221,7 @@ class IMAGE_MT_uvs_snap(bpy.types.Menu):
layout.operator("uv.snap_cursor", text="Cursor to Selected").target = 'SELECTED'
-class IMAGE_MT_uvs_mirror(bpy.types.Menu):
+class IMAGE_MT_uvs_mirror(Menu):
bl_label = "Mirror"
def draw(self, context):
@@ -227,7 +232,7 @@ class IMAGE_MT_uvs_mirror(bpy.types.Menu):
layout.operator("transform.mirror", text="Y Axis").constraint_axis[1] = True
-class IMAGE_MT_uvs_weldalign(bpy.types.Menu):
+class IMAGE_MT_uvs_weldalign(Menu):
bl_label = "Weld/Align"
def draw(self, context):
@@ -237,7 +242,7 @@ class IMAGE_MT_uvs_weldalign(bpy.types.Menu):
layout.operator_enum("uv.align", "axis") # W, 2/3/4
-class IMAGE_MT_uvs(bpy.types.Menu):
+class IMAGE_MT_uvs(Menu):
bl_label = "UVs"
def draw(self, context):
@@ -282,7 +287,7 @@ class IMAGE_MT_uvs(bpy.types.Menu):
layout.menu("IMAGE_MT_uvs_showhide")
-class IMAGE_MT_uvs_select_mode(bpy.types.Menu):
+class IMAGE_MT_uvs_select_mode(Menu):
bl_label = "UV Select Mode"
def draw(self, context):
@@ -324,7 +329,7 @@ class IMAGE_MT_uvs_select_mode(bpy.types.Menu):
prop.data_path = "tool_settings.uv_select_mode"
-class IMAGE_HT_header(bpy.types.Header):
+class IMAGE_HT_header(Header):
bl_space_type = 'IMAGE_EDITOR'
def draw(self, context):
@@ -382,7 +387,7 @@ class IMAGE_HT_header(bpy.types.Header):
row = layout.row(align=True)
row.prop(toolsettings, "use_snap", text="")
- row.prop(toolsettings, "snap_element", text="", icon_only=True)
+ row.prop(toolsettings, "snap_target", text="")
mesh = context.edit_object.data
layout.prop_search(mesh.uv_textures, "active", mesh, "uv_textures", text="")
@@ -408,7 +413,7 @@ class IMAGE_HT_header(bpy.types.Header):
layout.prop(sima, "use_realtime_update", text="", icon_only=True, icon='LOCKED')
-class IMAGE_PT_image_properties(bpy.types.Panel):
+class IMAGE_PT_image_properties(Panel):
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'UI'
bl_label = "Image"
@@ -427,14 +432,13 @@ class IMAGE_PT_image_properties(bpy.types.Panel):
layout.template_image(sima, "image", iuser)
-class IMAGE_PT_game_properties(bpy.types.Panel):
+class IMAGE_PT_game_properties(Panel):
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'UI'
bl_label = "Game Properties"
@classmethod
def poll(cls, context):
- rd = context.scene.render
sima = context.space_data
# display even when not in game mode because these settings effect the 3d view
return (sima and sima.image) # and (rd.engine == 'BLENDER_GAME')
@@ -449,14 +453,12 @@ class IMAGE_PT_game_properties(bpy.types.Panel):
col = split.column()
+ col.prop(ima, "use_animation")
sub = col.column(align=True)
- sub.prop(ima, "use_animation")
-
- subsub = sub.column()
- subsub.active = ima.use_animation
- subsub.prop(ima, "frame_start", text="Start")
- subsub.prop(ima, "frame_end", text="End")
- subsub.prop(ima, "fps", text="Speed")
+ sub.active = ima.use_animation
+ sub.prop(ima, "frame_start", text="Start")
+ sub.prop(ima, "frame_end", text="End")
+ sub.prop(ima, "fps", text="Speed")
col.prop(ima, "use_tiles")
sub = col.column(align=True)
@@ -472,7 +474,7 @@ class IMAGE_PT_game_properties(bpy.types.Panel):
col.prop(ima, "mapping", expand=True)
-class IMAGE_PT_view_histogram(bpy.types.Panel):
+class IMAGE_PT_view_histogram(Panel):
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'PREVIEW'
bl_label = "Histogram"
@@ -491,7 +493,7 @@ class IMAGE_PT_view_histogram(bpy.types.Panel):
layout.prop(sima.scopes.histogram, "mode", icon_only=True)
-class IMAGE_PT_view_waveform(bpy.types.Panel):
+class IMAGE_PT_view_waveform(Panel):
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'PREVIEW'
bl_label = "Waveform"
@@ -505,13 +507,14 @@ class IMAGE_PT_view_waveform(bpy.types.Panel):
layout = self.layout
sima = context.space_data
+
layout.template_waveform(sima, "scopes")
- sub = layout.row().split(percentage=0.75)
- sub.prop(sima.scopes, "waveform_alpha")
- sub.prop(sima.scopes, "waveform_mode", text="", icon_only=True)
+ row = layout.split(percentage=0.75)
+ row.prop(sima.scopes, "waveform_alpha")
+ row.prop(sima.scopes, "waveform_mode", text="", icon_only=True)
-class IMAGE_PT_view_vectorscope(bpy.types.Panel):
+class IMAGE_PT_view_vectorscope(Panel):
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'PREVIEW'
bl_label = "Vectorscope"
@@ -529,7 +532,7 @@ class IMAGE_PT_view_vectorscope(bpy.types.Panel):
layout.prop(sima.scopes, "vectorscope_alpha")
-class IMAGE_PT_sample_line(bpy.types.Panel):
+class IMAGE_PT_sample_line(Panel):
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'PREVIEW'
bl_label = "Sample Line"
@@ -541,13 +544,15 @@ class IMAGE_PT_sample_line(bpy.types.Panel):
def draw(self, context):
layout = self.layout
- layout.operator("image.sample_line")
+
sima = context.space_data
+
+ layout.operator("image.sample_line")
layout.template_histogram(sima, "sample_histogram")
layout.prop(sima.sample_histogram, "mode")
-class IMAGE_PT_scope_sample(bpy.types.Panel):
+class IMAGE_PT_scope_sample(Panel):
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'PREVIEW'
bl_label = "Scope Samples"
@@ -559,16 +564,17 @@ class IMAGE_PT_scope_sample(bpy.types.Panel):
def draw(self, context):
layout = self.layout
+
sima = context.space_data
- split = layout.split()
- row = split.row()
+
+ row = layout.row()
row.prop(sima.scopes, "use_full_resolution")
- row = split.row()
- row.active = not sima.scopes.use_full_resolution
- row.prop(sima.scopes, "accuracy")
+ sub = row.row()
+ sub.active = not sima.scopes.use_full_resolution
+ sub.prop(sima.scopes, "accuracy")
-class IMAGE_PT_view_properties(bpy.types.Panel):
+class IMAGE_PT_view_properties(Panel):
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'UI'
bl_label = "Display"
@@ -605,21 +611,20 @@ class IMAGE_PT_view_properties(bpy.types.Panel):
if show_uvedit:
col = layout.column()
- col.label("Cursor Location")
- row = col.row()
- row.prop(uvedit, "cursor_location", text="")
+ col.label("Cursor Location:")
+ col.row().prop(uvedit, "cursor_location", text="")
+
+ col.separator()
- col = layout.column()
col.label(text="UVs:")
- row = col.row()
- row.prop(uvedit, "edge_draw_type", expand=True)
+ col.row().prop(uvedit, "edge_draw_type", expand=True)
split = layout.split()
+
col = split.column()
+ col.prop(uvedit, "show_faces")
col.prop(uvedit, "show_smooth_edges", text="Smooth")
col.prop(uvedit, "show_modified_edges", text="Modified")
- #col.prop(uvedit, "show_edges")
- #col.prop(uvedit, "show_faces")
col = split.column()
col.prop(uvedit, "show_stretch", text="Stretch")
@@ -628,7 +633,7 @@ class IMAGE_PT_view_properties(bpy.types.Panel):
sub.row().prop(uvedit, "draw_stretch_type", expand=True)
-class IMAGE_PT_paint(bpy.types.Panel):
+class IMAGE_PT_paint(Panel):
bl_space_type = 'IMAGE_EDITOR'
bl_region_type = 'UI'
bl_label = "Paint"
@@ -644,9 +649,8 @@ class IMAGE_PT_paint(bpy.types.Panel):
toolsettings = context.tool_settings.image_paint
brush = toolsettings.brush
- col = layout.split().column()
- row = col.row()
- col.template_ID_preview(toolsettings, "brush", new="brush.add", rows=3, cols=8)
+ col = layout.column()
+ col.template_ID_preview(toolsettings, "brush", new="brush.add", rows=2, cols=6)
if brush:
col = layout.column()
@@ -673,7 +677,7 @@ class IMAGE_PT_paint(bpy.types.Panel):
col.prop(brush, "clone_alpha", text="Alpha")
-class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, bpy.types.Panel):
+class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, Panel):
bl_label = "Texture"
bl_options = {'DEFAULT_CLOSED'}
@@ -688,7 +692,7 @@ class IMAGE_PT_tools_brush_texture(BrushButtonsPanel, bpy.types.Panel):
col.prop(brush, "use_fixed_texture")
-class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, bpy.types.Panel):
+class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, Panel):
bl_label = "Tool"
bl_options = {'DEFAULT_CLOSED'}
@@ -697,9 +701,7 @@ class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, bpy.types.Panel):
settings = context.tool_settings.image_paint
brush = settings.brush
- col = layout.column(align=True)
-
- col.prop(brush, "image_tool", expand=False, text="")
+ layout.prop(brush, "image_tool", text="")
row = layout.row(align=True)
row.prop(brush, "use_paint_sculpt", text="", icon='SCULPTMODE_HLT')
@@ -708,7 +710,7 @@ class IMAGE_PT_tools_brush_tool(BrushButtonsPanel, bpy.types.Panel):
row.prop(brush, "use_paint_image", text="", icon='TPAINT_HLT')
-class IMAGE_PT_paint_stroke(BrushButtonsPanel, bpy.types.Panel):
+class IMAGE_PT_paint_stroke(BrushButtonsPanel, Panel):
bl_label = "Paint Stroke"
bl_options = {'DEFAULT_CLOSED'}
@@ -719,9 +721,9 @@ class IMAGE_PT_paint_stroke(BrushButtonsPanel, bpy.types.Panel):
brush = toolsettings.brush
layout.prop(brush, "use_airbrush")
- col = layout.column()
- col.active = brush.use_airbrush
- col.prop(brush, "rate", slider=True)
+ row = layout.row()
+ row.active = brush.use_airbrush
+ row.prop(brush, "rate", slider=True)
layout.prop(brush, "use_space")
row = layout.row(align=True)
@@ -732,7 +734,7 @@ class IMAGE_PT_paint_stroke(BrushButtonsPanel, bpy.types.Panel):
layout.prop(brush, "use_wrap")
-class IMAGE_PT_paint_curve(BrushButtonsPanel, bpy.types.Panel):
+class IMAGE_PT_paint_curve(BrushButtonsPanel, Panel):
bl_label = "Paint Curve"
bl_options = {'DEFAULT_CLOSED'}
diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py
index 1fb2e5b735e..7f5a5f231cf 100644
--- a/release/scripts/startup/bl_ui/space_info.py
+++ b/release/scripts/startup/bl_ui/space_info.py
@@ -18,9 +18,10 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu, Operator
-class INFO_HT_header(bpy.types.Header):
+class INFO_HT_header(Header):
bl_space_type = 'INFO'
def draw(self, context):
@@ -61,7 +62,9 @@ class INFO_HT_header(bpy.types.Header):
layout.template_reports_banner()
- layout.label(text=scene.statistics())
+ row = layout.row(align=True)
+ row.operator("wm.splash", text="", icon='BLENDER', emboss=False)
+ row.label(text=scene.statistics())
# XXX: this should be right-aligned to the RHS of the region
layout.operator("wm.window_fullscreen_toggle", icon='FULLSCREEN_ENTER', text="")
@@ -84,19 +87,19 @@ class INFO_HT_header(bpy.types.Header):
"""
-class INFO_MT_report(bpy.types.Menu):
+class INFO_MT_report(Menu):
bl_label = "Report"
def draw(self, context):
layout = self.layout
- layout.column()
+
layout.operator("console.select_all_toggle")
layout.operator("console.select_border")
layout.operator("console.report_delete")
layout.operator("console.report_copy")
-class INFO_MT_file(bpy.types.Menu):
+class INFO_MT_file(Menu):
bl_label = "File"
def draw(self, context):
@@ -150,7 +153,7 @@ class INFO_MT_file(bpy.types.Menu):
layout.operator("wm.quit_blender", text="Quit", icon='QUIT')
-class INFO_MT_file_import(bpy.types.Menu):
+class INFO_MT_file_import(Menu):
bl_idname = "INFO_MT_file_import"
bl_label = "Import"
@@ -159,7 +162,7 @@ class INFO_MT_file_import(bpy.types.Menu):
self.layout.operator("wm.collada_import", text="COLLADA (.dae)")
-class INFO_MT_file_export(bpy.types.Menu):
+class INFO_MT_file_export(Menu):
bl_idname = "INFO_MT_file_export"
bl_label = "Export"
@@ -168,7 +171,7 @@ class INFO_MT_file_export(bpy.types.Menu):
self.layout.operator("wm.collada_export", text="COLLADA (.dae)")
-class INFO_MT_file_external_data(bpy.types.Menu):
+class INFO_MT_file_external_data(Menu):
bl_label = "External Data"
def draw(self, context):
@@ -185,12 +188,13 @@ class INFO_MT_file_external_data(bpy.types.Menu):
layout.operator("file.find_missing_files")
-class INFO_MT_mesh_add(bpy.types.Menu):
+class INFO_MT_mesh_add(Menu):
bl_idname = "INFO_MT_mesh_add"
bl_label = "Mesh"
def draw(self, context):
layout = self.layout
+
layout.operator_context = 'INVOKE_REGION_WIN'
layout.operator("mesh.primitive_plane_add", icon='MESH_PLANE', text="Plane")
layout.operator("mesh.primitive_cube_add", icon='MESH_CUBE', text="Cube")
@@ -205,12 +209,13 @@ class INFO_MT_mesh_add(bpy.types.Menu):
layout.operator("mesh.primitive_torus_add", text="Torus", icon='MESH_TORUS')
-class INFO_MT_curve_add(bpy.types.Menu):
+class INFO_MT_curve_add(Menu):
bl_idname = "INFO_MT_curve_add"
bl_label = "Curve"
def draw(self, context):
layout = self.layout
+
layout.operator_context = 'INVOKE_REGION_WIN'
layout.operator("curve.primitive_bezier_curve_add", icon='CURVE_BEZCURVE', text="Bezier")
layout.operator("curve.primitive_bezier_circle_add", icon='CURVE_BEZCIRCLE', text="Circle")
@@ -219,7 +224,7 @@ class INFO_MT_curve_add(bpy.types.Menu):
layout.operator("curve.primitive_nurbs_path_add", icon='CURVE_PATH', text="Path")
-class INFO_MT_edit_curve_add(bpy.types.Menu):
+class INFO_MT_edit_curve_add(Menu):
bl_idname = "INFO_MT_edit_curve_add"
bl_label = "Add"
@@ -235,12 +240,13 @@ class INFO_MT_edit_curve_add(bpy.types.Menu):
INFO_MT_curve_add.draw(self, context)
-class INFO_MT_surface_add(bpy.types.Menu):
+class INFO_MT_surface_add(Menu):
bl_idname = "INFO_MT_surface_add"
bl_label = "Surface"
def draw(self, context):
layout = self.layout
+
layout.operator_context = 'INVOKE_REGION_WIN'
layout.operator("surface.primitive_nurbs_surface_curve_add", icon='SURFACE_NCURVE', text="NURBS Curve")
layout.operator("surface.primitive_nurbs_surface_circle_add", icon='SURFACE_NCIRCLE', text="NURBS Circle")
@@ -250,17 +256,18 @@ class INFO_MT_surface_add(bpy.types.Menu):
layout.operator("surface.primitive_nurbs_surface_torus_add", icon='SURFACE_NTORUS', text="NURBS Torus")
-class INFO_MT_armature_add(bpy.types.Menu):
+class INFO_MT_armature_add(Menu):
bl_idname = "INFO_MT_armature_add"
bl_label = "Armature"
def draw(self, context):
layout = self.layout
+
layout.operator_context = 'INVOKE_REGION_WIN'
layout.operator("object.armature_add", text="Single Bone", icon='BONE_DATA')
-class INFO_MT_add(bpy.types.Menu):
+class INFO_MT_add(Menu):
bl_label = "Add"
def draw(self, context):
@@ -285,6 +292,9 @@ class INFO_MT_add(bpy.types.Menu):
layout.operator("object.add", text="Empty", icon='OUTLINER_OB_EMPTY').type = 'EMPTY'
layout.separator()
+ layout.operator("object.speaker_add", text="Speaker", icon='OUTLINER_OB_SPEAKER')
+ layout.separator()
+
layout.operator("object.camera_add", text="Camera", icon='OUTLINER_OB_CAMERA')
layout.operator_context = 'EXEC_SCREEN'
layout.operator_menu_enum("object.lamp_add", "type", text="Lamp", icon='OUTLINER_OB_LAMP')
@@ -300,7 +310,7 @@ class INFO_MT_add(bpy.types.Menu):
layout.operator_menu_enum("object.group_instance_add", "group", text="Group Instance", icon='OUTLINER_OB_EMPTY')
-class INFO_MT_game(bpy.types.Menu):
+class INFO_MT_game(Menu):
bl_label = "Game"
def draw(self, context):
@@ -321,7 +331,7 @@ class INFO_MT_game(bpy.types.Menu):
layout.prop(gs, "use_auto_start")
-class INFO_MT_render(bpy.types.Menu):
+class INFO_MT_render(Menu):
bl_label = "Render"
def draw(self, context):
@@ -341,7 +351,7 @@ class INFO_MT_render(bpy.types.Menu):
layout.operator("render.play_rendered_anim")
-class INFO_MT_help(bpy.types.Menu):
+class INFO_MT_help(Menu):
bl_label = "Help"
def draw(self, context):
@@ -350,7 +360,7 @@ class INFO_MT_help(bpy.types.Menu):
layout = self.layout
layout.operator("wm.url_open", text="Manual", icon='HELP').url = 'http://wiki.blender.org/index.php/Doc:Manual'
- layout.operator("wm.url_open", text="Release Log", icon='URL').url = 'http://www.blender.org/development/release-logs/blender-257/'
+ layout.operator("wm.url_open", text="Release Log", icon='URL').url = 'http://www.blender.org/development/release-logs/blender-259/'
layout.separator()
@@ -377,7 +387,7 @@ class INFO_MT_help(bpy.types.Menu):
# Help operators
-class HELP_OT_operator_cheat_sheet(bpy.types.Operator):
+class HELP_OT_operator_cheat_sheet(Operator):
bl_idname = "help.operator_cheat_sheet"
bl_label = "Operator Cheat Sheet"
diff --git a/release/scripts/startup/bl_ui/space_logic.py b/release/scripts/startup/bl_ui/space_logic.py
index 7f7aba71a46..869a91124d3 100644
--- a/release/scripts/startup/bl_ui/space_logic.py
+++ b/release/scripts/startup/bl_ui/space_logic.py
@@ -18,9 +18,10 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu, Panel
-class LOGIC_PT_properties(bpy.types.Panel):
+class LOGIC_PT_properties(Panel):
bl_space_type = 'LOGIC_EDITOR'
bl_region_type = 'UI'
bl_label = "Properties"
@@ -49,7 +50,7 @@ class LOGIC_PT_properties(bpy.types.Panel):
row.operator("object.game_property_remove", text="", icon='X', emboss=False).index = i
-class LOGIC_MT_logicbricks_add(bpy.types.Menu):
+class LOGIC_MT_logicbricks_add(Menu):
bl_label = "Add"
def draw(self, context):
@@ -60,30 +61,24 @@ class LOGIC_MT_logicbricks_add(bpy.types.Menu):
layout.operator_menu_enum("logic.actuator_add", "type", text="Actuator")
-class LOGIC_HT_header(bpy.types.Header):
+class LOGIC_HT_header(Header):
bl_space_type = 'LOGIC_EDITOR'
def draw(self, context):
- layout = self.layout
+ layout = self.layout.row(align=True)
- row = layout.row(align=True)
- row.template_header()
+ layout.template_header()
if context.area.show_menus:
- sub = row.row(align=True)
- sub.menu("LOGIC_MT_view")
- #sub.menu("LOGIC_MT_select")
- #sub.menu("LOGIC_MT_add")
+ layout.menu("LOGIC_MT_view")
-class LOGIC_MT_view(bpy.types.Menu):
+class LOGIC_MT_view(Menu):
bl_label = "View"
def draw(self, context):
layout = self.layout
- layout.column()
-
layout.operator("logic.properties", icon='MENU_PANEL')
if __name__ == "__main__": # only for live edit.
diff --git a/release/scripts/startup/bl_ui/space_nla.py b/release/scripts/startup/bl_ui/space_nla.py
index 717adb3baa8..ffead81c507 100644
--- a/release/scripts/startup/bl_ui/space_nla.py
+++ b/release/scripts/startup/bl_ui/space_nla.py
@@ -19,9 +19,10 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu
-class NLA_HT_header(bpy.types.Header):
+class NLA_HT_header(Header):
bl_space_type = 'NLA_EDITOR'
def draw(self, context):
@@ -35,20 +36,18 @@ class NLA_HT_header(bpy.types.Header):
row.template_header()
if context.area.show_menus:
- sub = row.row(align=True)
-
- sub.menu("NLA_MT_view")
- sub.menu("NLA_MT_select")
- sub.menu("NLA_MT_marker")
- sub.menu("NLA_MT_edit")
- sub.menu("NLA_MT_add")
+ row.menu("NLA_MT_view")
+ row.menu("NLA_MT_select")
+ row.menu("NLA_MT_marker")
+ row.menu("NLA_MT_edit")
+ row.menu("NLA_MT_add")
dopesheet_filter(layout, context)
layout.prop(st, "auto_snap", text="")
-class NLA_MT_view(bpy.types.Menu):
+class NLA_MT_view(Menu):
bl_label = "View"
def draw(self, context):
@@ -56,8 +55,6 @@ class NLA_MT_view(bpy.types.Menu):
st = context.space_data
- layout.column()
-
layout.operator("nla.properties", icon='MENU_PANEL')
layout.separator()
@@ -74,17 +71,20 @@ class NLA_MT_view(bpy.types.Menu):
layout.operator("anim.previewrange_clear")
layout.separator()
+ layout.operator("nla.view_all")
+ layout.operator("nla.view_selected")
+
+ layout.separator()
layout.operator("screen.area_dupli")
layout.operator("screen.screen_full_area")
-class NLA_MT_select(bpy.types.Menu):
+class NLA_MT_select(Menu):
bl_label = "Select"
def draw(self, context):
layout = self.layout
- layout.column()
# This is a bit misleading as the operator's default text is "Select All" while it actually *toggles* All/None
layout.operator("nla.select_all_toggle")
layout.operator("nla.select_all_toggle", text="Invert Selection").invert = True
@@ -98,7 +98,7 @@ class NLA_MT_select(bpy.types.Menu):
layout.operator("nla.select_leftright", text="After Current Frame").mode = 'RIGHT'
-class NLA_MT_marker(bpy.types.Menu):
+class NLA_MT_marker(Menu):
bl_label = "Marker"
def draw(self, context):
@@ -106,7 +106,6 @@ class NLA_MT_marker(bpy.types.Menu):
#layout.operator_context = 'EXEC_REGION_WIN'
- layout.column()
layout.operator("marker.add", "Add Marker")
layout.operator("marker.duplicate", text="Duplicate Marker")
layout.operator("marker.delete", text="Delete Marker")
@@ -117,7 +116,7 @@ class NLA_MT_marker(bpy.types.Menu):
layout.operator("marker.move", text="Grab/Move Marker")
-class NLA_MT_edit(bpy.types.Menu):
+class NLA_MT_edit(Menu):
bl_label = "Edit"
def draw(self, context):
@@ -125,7 +124,6 @@ class NLA_MT_edit(bpy.types.Menu):
scene = context.scene
- layout.column()
layout.menu("NLA_MT_edit_transform", text="Transform")
layout.operator_menu_enum("nla.snap", "type", text="Snap")
@@ -160,15 +158,15 @@ class NLA_MT_edit(bpy.types.Menu):
layout.operator("nla.tweakmode_enter", text="Start Tweaking Strip Actions")
-class NLA_MT_add(bpy.types.Menu):
+class NLA_MT_add(Menu):
bl_label = "Add"
def draw(self, context):
layout = self.layout
- layout.column()
layout.operator("nla.actionclip_add")
layout.operator("nla.transition_add")
+ layout.operator("nla.soundclip_add")
layout.separator()
layout.operator("nla.meta_add")
@@ -179,13 +177,12 @@ class NLA_MT_add(bpy.types.Menu):
layout.operator("nla.tracks_add", text="Add Tracks Above Selected").above_selected = True
-class NLA_MT_edit_transform(bpy.types.Menu):
+class NLA_MT_edit_transform(Menu):
bl_label = "Transform"
def draw(self, context):
layout = self.layout
- layout.column()
layout.operator("transform.translate", text="Grab/Move")
layout.operator("transform.transform", text="Extend").mode = 'TIME_EXTEND'
layout.operator("transform.transform", text="Scale").mode = 'TIME_SCALE'
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index fed1cc49c4c..708017ba749 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -18,42 +18,39 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu, Panel
-class NODE_HT_header(bpy.types.Header):
+class NODE_HT_header(Header):
bl_space_type = 'NODE_EDITOR'
def draw(self, context):
layout = self.layout
snode = context.space_data
+ snode_id = snode.id
+ id_from = snode.id_from
row = layout.row(align=True)
row.template_header()
if context.area.show_menus:
- sub = row.row(align=True)
- sub.menu("NODE_MT_view")
- sub.menu("NODE_MT_select")
- sub.menu("NODE_MT_add")
- sub.menu("NODE_MT_node")
+ row.menu("NODE_MT_view")
+ row.menu("NODE_MT_select")
+ row.menu("NODE_MT_add")
+ row.menu("NODE_MT_node")
- row = layout.row()
- row.prop(snode, "tree_type", text="", expand=True)
+ layout.prop(snode, "tree_type", text="", expand=True)
if snode.tree_type == 'MATERIAL':
- ob = snode.id_from
- snode_id = snode.id
- if ob:
- layout.template_ID(ob, "active_material", new="material.new")
+ if id_from:
+ layout.template_ID(id_from, "active_material", new="material.new")
if snode_id:
layout.prop(snode_id, "use_nodes")
elif snode.tree_type == 'TEXTURE':
- row.prop(snode, "texture_type", text="", expand=True)
+ layout.prop(snode, "texture_type", text="", expand=True)
- snode_id = snode.id
- id_from = snode.id_from
if id_from:
if snode.texture_type == 'BRUSH':
layout.template_ID(id_from, "texture", new="texture.new")
@@ -63,10 +60,8 @@ class NODE_HT_header(bpy.types.Header):
layout.prop(snode_id, "use_nodes")
elif snode.tree_type == 'COMPOSITING':
- scene = snode.id
-
- layout.prop(scene, "use_nodes")
- layout.prop(scene.render, "use_free_unused_nodes", text="Free Unused")
+ layout.prop(snode_id, "use_nodes")
+ layout.prop(snode_id.render, "use_free_unused_nodes", text="Free Unused")
layout.prop(snode, "show_backdrop")
if snode.show_backdrop:
row = layout.row(align=True)
@@ -78,7 +73,7 @@ class NODE_HT_header(bpy.types.Header):
layout.template_running_jobs()
-class NODE_MT_view(bpy.types.Menu):
+class NODE_MT_view(Menu):
bl_label = "View"
def draw(self, context):
@@ -107,7 +102,7 @@ class NODE_MT_view(bpy.types.Menu):
layout.operator("screen.screen_full_area")
-class NODE_MT_select(bpy.types.Menu):
+class NODE_MT_select(Menu):
bl_label = "Select"
def draw(self, context):
@@ -124,7 +119,7 @@ class NODE_MT_select(bpy.types.Menu):
layout.operator("node.select_same_type_prev")
-class NODE_MT_node(bpy.types.Menu):
+class NODE_MT_node(Menu):
bl_label = "Node"
def draw(self, context):
@@ -138,6 +133,7 @@ class NODE_MT_node(bpy.types.Menu):
layout.operator("node.duplicate_move")
layout.operator("node.delete")
+ layout.operator("node.delete_reconnect")
layout.separator()
layout.operator("node.link_make")
@@ -164,7 +160,7 @@ class NODE_MT_node(bpy.types.Menu):
# Node Backdrop options
-class NODE_PT_properties(bpy.types.Panel):
+class NODE_PT_properties(Panel):
bl_space_type = 'NODE_EDITOR'
bl_region_type = 'UI'
bl_label = "Backdrop"
diff --git a/release/scripts/startup/bl_ui/space_outliner.py b/release/scripts/startup/bl_ui/space_outliner.py
index 1f196cbd191..b1e6eaf3245 100644
--- a/release/scripts/startup/bl_ui/space_outliner.py
+++ b/release/scripts/startup/bl_ui/space_outliner.py
@@ -18,9 +18,10 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu
-class OUTLINER_HT_header(bpy.types.Header):
+class OUTLINER_HT_header(Header):
bl_space_type = 'OUTLINER'
def draw(self, context):
@@ -63,7 +64,7 @@ class OUTLINER_HT_header(bpy.types.Header):
row.label(text="No Keying Set active")
-class OUTLINER_MT_view(bpy.types.Menu):
+class OUTLINER_MT_view(Menu):
bl_label = "View"
def draw(self, context):
@@ -71,14 +72,13 @@ class OUTLINER_MT_view(bpy.types.Menu):
space = context.space_data
- col = layout.column()
if space.display_mode not in {'DATABLOCKS', 'USER_PREFERENCES', 'KEYMAPS'}:
- col.prop(space, "show_restrict_columns")
- col.separator()
- col.operator("outliner.show_active")
+ layout.prop(space, "show_restrict_columns")
+ layout.separator()
+ layout.operator("outliner.show_active")
- col.operator("outliner.show_one_level")
- col.operator("outliner.show_hierarchy")
+ layout.operator("outliner.show_one_level")
+ layout.operator("outliner.show_hierarchy")
layout.separator()
@@ -86,7 +86,7 @@ class OUTLINER_MT_view(bpy.types.Menu):
layout.operator("screen.screen_full_area")
-class OUTLINER_MT_search(bpy.types.Menu):
+class OUTLINER_MT_search(Menu):
bl_label = "Search"
def draw(self, context):
@@ -94,27 +94,23 @@ class OUTLINER_MT_search(bpy.types.Menu):
space = context.space_data
- col = layout.column()
+ layout.prop(space, "use_filter_case_sensitive")
+ layout.prop(space, "use_filter_complete")
- col.prop(space, "use_filter_case_sensitive")
- col.prop(space, "use_filter_complete")
-
-class OUTLINER_MT_edit_datablocks(bpy.types.Menu):
+class OUTLINER_MT_edit_datablocks(Menu):
bl_label = "Edit"
def draw(self, context):
layout = self.layout
- col = layout.column()
-
- col.operator("outliner.keyingset_add_selected")
- col.operator("outliner.keyingset_remove_selected")
+ layout.operator("outliner.keyingset_add_selected")
+ layout.operator("outliner.keyingset_remove_selected")
- col.separator()
+ layout.separator()
- col.operator("outliner.drivers_add_selected")
- col.operator("outliner.drivers_delete_selected")
+ layout.operator("outliner.drivers_add_selected")
+ layout.operator("outliner.drivers_delete_selected")
if __name__ == "__main__": # only for live edit.
bpy.utils.register_module(__name__)
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index 858c619d3c1..36f606da635 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu, Panel
def act_strip(context):
@@ -27,7 +28,7 @@ def act_strip(context):
return None
-class SEQUENCER_HT_header(bpy.types.Header):
+class SEQUENCER_HT_header(Header):
bl_space_type = 'SEQUENCE_EDITOR'
def draw(self, context):
@@ -39,28 +40,28 @@ class SEQUENCER_HT_header(bpy.types.Header):
row.template_header()
if context.area.show_menus:
- sub = row.row(align=True)
- sub.menu("SEQUENCER_MT_view")
+ row.menu("SEQUENCER_MT_view")
- if (st.view_type == 'SEQUENCER') or (st.view_type == 'SEQUENCER_PREVIEW'):
- sub.menu("SEQUENCER_MT_select")
- sub.menu("SEQUENCER_MT_marker")
- sub.menu("SEQUENCER_MT_add")
- sub.menu("SEQUENCER_MT_strip")
+ if st.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'}:
+ row.menu("SEQUENCER_MT_select")
+ row.menu("SEQUENCER_MT_marker")
+ row.menu("SEQUENCER_MT_add")
+ row.menu("SEQUENCER_MT_strip")
layout.prop(st, "view_type", expand=True, text="")
- if (st.view_type == 'PREVIEW') or (st.view_type == 'SEQUENCER_PREVIEW'):
+ if st.view_type in {'PREVIEW', 'SEQUENCER_PREVIEW'}:
layout.prop(st, "display_mode", expand=True, text="")
- if (st.view_type == 'SEQUENCER'):
+ if st.view_type == 'SEQUENCER':
row = layout.row(align=True)
row.operator("sequencer.copy", text="", icon='COPYDOWN')
row.operator("sequencer.paste", text="", icon='PASTEDOWN')
layout.separator()
layout.operator("sequencer.refresh_all")
- elif (st.view_type == 'SEQUENCER_PREVIEW'):
+ layout.template_running_jobs()
+ elif st.view_type == 'SEQUENCER_PREVIEW':
layout.separator()
layout.operator("sequencer.refresh_all")
layout.prop(st, "display_channel", text="Channel")
@@ -76,7 +77,7 @@ class SEQUENCER_HT_header(bpy.types.Header):
row.prop(ed, "overlay_lock", text="", icon='LOCKED')
-class SEQUENCER_MT_view_toggle(bpy.types.Menu):
+class SEQUENCER_MT_view_toggle(Menu):
bl_label = "View Type"
def draw(self, context):
@@ -87,7 +88,7 @@ class SEQUENCER_MT_view_toggle(bpy.types.Menu):
layout.operator("sequencer.view_toggle").type = 'SEQUENCER_PREVIEW'
-class SEQUENCER_MT_view(bpy.types.Menu):
+class SEQUENCER_MT_view(Menu):
bl_label = "View"
def draw(self, context):
@@ -95,15 +96,13 @@ class SEQUENCER_MT_view(bpy.types.Menu):
st = context.space_data
- layout.column()
-
layout.operator("sequencer.properties", icon='MENU_PANEL')
layout.separator()
- if (st.view_type == 'SEQUENCER') or (st.view_type == 'SEQUENCER_PREVIEW'):
+ if st.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'}:
layout.operator("sequencer.view_all", text='View all Sequences')
- if (st.view_type == 'PREVIEW') or (st.view_type == 'SEQUENCER_PREVIEW'):
+ if st.view_type in {'PREVIEW', 'SEQUENCER_PREVIEW'}:
layout.operator_context = 'INVOKE_REGION_PREVIEW'
layout.operator("sequencer.view_all_preview", text='Fit preview in window')
layout.operator("sequencer.view_zoom_ratio", text='Show preview 1:1').ratio = 1.0
@@ -114,7 +113,11 @@ class SEQUENCER_MT_view(bpy.types.Menu):
layout.operator("sequencer.view_selected")
- layout.prop(st, "show_frames")
+ if st.show_frames:
+ layout.operator("anim.time_toggle", text="Show Seconds")
+ else:
+ layout.operator("anim.time_toggle", text="Show Frames")
+
layout.prop(st, "show_frame_indicator")
if st.display_mode == 'IMAGE':
layout.prop(st, "show_safe_margin")
@@ -129,13 +132,12 @@ class SEQUENCER_MT_view(bpy.types.Menu):
layout.operator("screen.screen_full_area")
-class SEQUENCER_MT_select(bpy.types.Menu):
+class SEQUENCER_MT_select(Menu):
bl_label = "Select"
def draw(self, context):
layout = self.layout
- layout.column()
layout.operator("sequencer.select_active_side", text="Strips to the Left").side = 'LEFT'
layout.operator("sequencer.select_active_side", text="Strips to the Right").side = 'RIGHT'
layout.separator()
@@ -148,7 +150,7 @@ class SEQUENCER_MT_select(bpy.types.Menu):
layout.operator("sequencer.select_inverse")
-class SEQUENCER_MT_marker(bpy.types.Menu):
+class SEQUENCER_MT_marker(Menu):
bl_label = "Marker"
def draw(self, context):
@@ -156,7 +158,6 @@ class SEQUENCER_MT_marker(bpy.types.Menu):
#layout.operator_context = 'EXEC_REGION_WIN'
- layout.column()
layout.operator("marker.add", "Add Marker")
layout.operator("marker.duplicate", text="Duplicate Marker")
layout.operator("marker.delete", text="Delete Marker")
@@ -169,14 +170,26 @@ class SEQUENCER_MT_marker(bpy.types.Menu):
#layout.operator("sequencer.sound_strip_add", text="Transform Markers") # toggle, will be rna - (sseq->flag & SEQ_MARKER_TRANS)
-class SEQUENCER_MT_add(bpy.types.Menu):
+class SEQUENCER_MT_change(Menu):
+ bl_label = "Change"
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.operator_context = 'INVOKE_REGION_WIN'
+
+ layout.operator_menu_enum("sequencer.change_effect_input", "swap")
+ layout.operator_menu_enum("sequencer.change_effect_type", "type")
+ layout.operator("sequencer.change_path", text="Path/Files")
+
+
+class SEQUENCER_MT_add(Menu):
bl_label = "Add"
def draw(self, context):
layout = self.layout
layout.operator_context = 'INVOKE_REGION_WIN'
- layout.column()
if len(bpy.data.scenes) > 10:
layout.operator_context = 'INVOKE_DEFAULT'
layout.operator("sequencer.scene_strip_add", text="Scene...")
@@ -190,14 +203,13 @@ class SEQUENCER_MT_add(bpy.types.Menu):
layout.menu("SEQUENCER_MT_add_effect")
-class SEQUENCER_MT_add_effect(bpy.types.Menu):
+class SEQUENCER_MT_add_effect(Menu):
bl_label = "Effect Strip..."
def draw(self, context):
layout = self.layout
layout.operator_context = 'INVOKE_REGION_WIN'
- layout.column()
layout.operator("sequencer.effect_strip_add", text="Add").type = 'ADD'
layout.operator("sequencer.effect_strip_add", text="Subtract").type = 'SUBTRACT'
layout.operator("sequencer.effect_strip_add", text="Alpha Over").type = 'ALPHA_OVER'
@@ -216,7 +228,7 @@ class SEQUENCER_MT_add_effect(bpy.types.Menu):
layout.operator("sequencer.effect_strip_add", text="Adjustment Layer").type = 'ADJUSTMENT'
-class SEQUENCER_MT_strip(bpy.types.Menu):
+class SEQUENCER_MT_strip(Menu):
bl_label = "Strip"
def draw(self, context):
@@ -224,7 +236,6 @@ class SEQUENCER_MT_strip(bpy.types.Menu):
layout.operator_context = 'INVOKE_REGION_WIN'
- layout.column()
layout.operator("transform.transform", text="Grab/Move").mode = 'TRANSLATION'
layout.operator("transform.transform", text="Grab/Extend from frame").mode = 'TIME_EXTEND'
# uiItemO(layout, NULL, 0, "sequencer.strip_snap"); // TODO - add this operator
@@ -233,7 +244,9 @@ class SEQUENCER_MT_strip(bpy.types.Menu):
layout.operator("sequencer.cut", text="Cut (hard) at frame").type = 'HARD'
layout.operator("sequencer.cut", text="Cut (soft) at frame").type = 'SOFT'
layout.operator("sequencer.images_separate")
+ layout.operator("sequencer.offset_clear")
layout.operator("sequencer.deinterlace_selected_movies")
+ layout.operator("sequencer.rebuild_proxy")
layout.separator()
layout.operator("sequencer.duplicate")
@@ -292,6 +305,7 @@ class SEQUENCER_MT_strip(bpy.types.Menu):
layout.separator()
layout.operator("sequencer.swap_data")
+ layout.menu("SEQUENCER_MT_change")
class SequencerButtonsPanel():
@@ -300,7 +314,7 @@ class SequencerButtonsPanel():
@staticmethod
def has_sequencer(context):
- return (context.space_data.view_type == 'SEQUENCER') or (context.space_data.view_type == 'SEQUENCER_PREVIEW')
+ return (context.space_data.view_type in {'SEQUENCER', 'SEQUENCER_PREVIEW'})
@classmethod
def poll(cls, context):
@@ -313,14 +327,14 @@ class SequencerButtonsPanel_Output():
@staticmethod
def has_preview(context):
- return (context.space_data.view_type == 'PREVIEW') or (context.space_data.view_type == 'SEQUENCER_PREVIEW')
+ return (context.space_data.view_type in {'PREVIEW', 'SEQUENCER_PREVIEW'})
@classmethod
def poll(cls, context):
return cls.has_preview(context)
-class SEQUENCER_PT_edit(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_edit(SequencerButtonsPanel, Panel):
bl_label = "Edit Strip"
def draw(self, context):
@@ -374,9 +388,11 @@ class SEQUENCER_PT_edit(SequencerButtonsPanel, bpy.types.Panel):
if elem and elem.orig_width > 0 and elem.orig_height > 0:
col.label(text="Orig Dim: %dx%d" % (elem.orig_width, elem.orig_height))
+ else:
+ col.label(text="Orig Dim: None")
-class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel):
bl_label = "Effect Strip"
@classmethod
@@ -514,7 +530,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel):
col.prop(strip, "rotation_start", text="Rotation")
-class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_input(SequencerButtonsPanel, Panel):
bl_label = "Strip Input"
@classmethod
@@ -558,6 +574,9 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel):
col = split.column()
col.prop(elem, "filename", text="") # strip.elements[0] could be a fallback
+ # also accessible from the menu
+ layout.operator("sequencer.change_path")
+
elif seq_type == 'MOVIE':
split = layout.split(percentage=0.2)
col = split.column()
@@ -565,6 +584,7 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel):
col = split.column()
col.prop(strip, "filepath", text="")
col.prop(strip, "mpeg_preseek", text="MPEG Preseek")
+ col.prop(strip, "streamindex", text="Stream Index")
# TODO, sound???
# end drawing filename
@@ -595,7 +615,7 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel):
col.prop(strip, "frame_offset_end", text="End")
-class SEQUENCER_PT_sound(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_sound(SequencerButtonsPanel, Panel):
bl_label = "Sound"
@classmethod
@@ -627,8 +647,10 @@ class SEQUENCER_PT_sound(SequencerButtonsPanel, bpy.types.Panel):
row.prop(strip.sound, "use_memory_cache")
+ layout.prop(strip, "waveform")
layout.prop(strip, "volume")
- layout.prop(strip, "attenuation")
+ layout.prop(strip, "pitch")
+ layout.prop(strip, "pan")
col = layout.column(align=True)
col.label(text="Trim Duration:")
@@ -636,7 +658,7 @@ class SEQUENCER_PT_sound(SequencerButtonsPanel, bpy.types.Panel):
col.prop(strip, "animation_offset_end", text="End")
-class SEQUENCER_PT_scene(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_scene(SequencerButtonsPanel, Panel):
bl_label = "Scene"
@classmethod
@@ -657,14 +679,20 @@ class SEQUENCER_PT_scene(SequencerButtonsPanel, bpy.types.Panel):
layout.template_ID(strip, "scene")
+ scene = strip.scene
+ if scene:
+ layout.prop(scene.render, "use_sequencer")
+
layout.label(text="Camera Override")
layout.template_ID(strip, "scene_camera")
- sce = strip.scene
- layout.label(text="Original frame range: %d-%d (%d)" % (sce.frame_start, sce.frame_end, sce.frame_end - sce.frame_start + 1))
+ if scene:
+ sta = scene.frame_start
+ end = scene.frame_end
+ layout.label(text="Original frame range: %d-%d (%d)" % (sta, end, end - sta + 1))
-class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel):
+class SEQUENCER_PT_filter(SequencerButtonsPanel, Panel):
bl_label = "Filter"
@classmethod
@@ -726,8 +754,8 @@ class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel):
col.prop(strip.color_balance, "invert_gain", text="Inverse")
-class SEQUENCER_PT_proxy(SequencerButtonsPanel, bpy.types.Panel):
- bl_label = "Proxy"
+class SEQUENCER_PT_proxy(SequencerButtonsPanel, Panel):
+ bl_label = "Proxy / Timecode"
@classmethod
def poll(cls, context):
@@ -753,14 +781,30 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel, bpy.types.Panel):
flow = layout.column_flow()
flow.prop(strip, "use_proxy_custom_directory")
flow.prop(strip, "use_proxy_custom_file")
- if strip.proxy: # TODO - need to add this somehow
+ if strip.proxy:
if strip.use_proxy_custom_directory and not strip.use_proxy_custom_file:
flow.prop(strip.proxy, "directory")
if strip.use_proxy_custom_file:
flow.prop(strip.proxy, "filepath")
+ row = layout.row()
+ row.prop(strip.proxy, "build_25")
+ row.prop(strip.proxy, "build_50")
+ row.prop(strip.proxy, "build_75")
+ row.prop(strip.proxy, "build_100")
+
+ col = layout.column()
+ col.label(text="Build JPEG quality")
+ col.prop(strip.proxy, "quality")
+
+ if strip.type == "MOVIE":
+ col = layout.column()
+ col.label(text="Use timecode index:")
+
+ col.prop(strip.proxy, "timecode")
+
-class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, bpy.types.Panel):
+class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, Panel):
bl_label = "Scene Preview/Render"
bl_space_type = 'SEQUENCE_EDITOR'
bl_region_type = 'UI'
@@ -785,7 +829,7 @@ class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, bpy.types.Panel):
'''
-class SEQUENCER_PT_view(SequencerButtonsPanel_Output, bpy.types.Panel):
+class SEQUENCER_PT_view(SequencerButtonsPanel_Output, Panel):
bl_label = "View Settings"
def draw(self, context):
diff --git a/release/scripts/startup/bl_ui/space_text.py b/release/scripts/startup/bl_ui/space_text.py
index 0fc8d937f66..12e07c19ca1 100644
--- a/release/scripts/startup/bl_ui/space_text.py
+++ b/release/scripts/startup/bl_ui/space_text.py
@@ -16,11 +16,12 @@
#
# ##### END GPL LICENSE BLOCK #####
-# <pep8 compliant>
+# <pep8-80 compliant>
import bpy
+from bpy.types import Header, Menu, Panel
-class TEXT_HT_header(bpy.types.Header):
+class TEXT_HT_header(Header):
bl_space_type = 'TEXT_EDITOR'
def draw(self, context):
@@ -33,19 +34,21 @@ class TEXT_HT_header(bpy.types.Header):
row.template_header()
if context.area.show_menus:
- sub = row.row(align=True)
- sub.menu("TEXT_MT_view")
- sub.menu("TEXT_MT_text")
+ row.menu("TEXT_MT_view")
+ row.menu("TEXT_MT_text")
+
if text:
- sub.menu("TEXT_MT_edit")
- sub.menu("TEXT_MT_format")
+ row.menu("TEXT_MT_edit")
+ row.menu("TEXT_MT_format")
+
+ row.menu("TEXT_MT_templates")
if text and text.is_modified:
- row = layout.row()
- row.alert = True
- row.operator("text.resolve_conflict", text="", icon='HELP')
+ sub = row.row()
+ sub.alert = True
+ sub.operator("text.resolve_conflict", text="", icon='HELP')
- layout.template_ID(st, "text", new="text.new", unlink="text.unlink")
+ row.template_ID(st, "text", new="text.new", unlink="text.unlink")
row = layout.row(align=True)
row.prop(st, "show_line_numbers", text="")
@@ -63,14 +66,16 @@ class TEXT_HT_header(bpy.types.Header):
row = layout.row()
if text.filepath:
if text.is_dirty:
- row.label(text="File: *%s (unsaved)" % text.filepath)
+ row.label(text="File: *%r (unsaved)" % text.filepath)
else:
- row.label(text="File: %s" % text.filepath)
+ row.label(text="File: %r" % text.filepath)
else:
- row.label(text="Text: External" if text.library else "Text: Internal")
+ row.label(text="Text: External"
+ if text.library
+ else "Text: Internal")
-class TEXT_PT_properties(bpy.types.Panel):
+class TEXT_PT_properties(Panel):
bl_space_type = 'TEXT_EDITOR'
bl_region_type = 'UI'
bl_label = "Properties"
@@ -101,7 +106,7 @@ class TEXT_PT_properties(bpy.types.Panel):
col.prop(st, "margin_column")
-class TEXT_PT_find(bpy.types.Panel):
+class TEXT_PT_find(Panel):
bl_space_type = 'TEXT_EDITOR'
bl_region_type = 'UI'
bl_label = "Find"
@@ -135,7 +140,7 @@ class TEXT_PT_find(bpy.types.Panel):
row.prop(st, "use_find_all", text="All")
-class TEXT_MT_view(bpy.types.Menu):
+class TEXT_MT_view(Menu):
bl_label = "View"
def draw(self, context):
@@ -150,11 +155,15 @@ class TEXT_MT_view(bpy.types.Menu):
layout.separator()
- layout.operator("text.move", text="Top of File").type = 'FILE_TOP'
- layout.operator("text.move", text="Bottom of File").type = 'FILE_BOTTOM'
+ layout.operator("text.move",
+ text="Top of File",
+ ).type = 'FILE_TOP'
+ layout.operator("text.move",
+ text="Bottom of File",
+ ).type = 'FILE_BOTTOM'
-class TEXT_MT_text(bpy.types.Menu):
+class TEXT_MT_text(Menu):
bl_label = "Text"
def draw(self, context):
@@ -163,8 +172,9 @@ class TEXT_MT_text(bpy.types.Menu):
st = context.space_data
text = st.text
- layout.column()
+ layout.operator_context = 'EXEC_AREA'
layout.operator("text.new")
+ layout.operator_context = 'INVOKE_AREA'
layout.operator("text.open")
if text:
@@ -180,27 +190,18 @@ class TEXT_MT_text(bpy.types.Menu):
layout.column()
layout.operator("text.run_script")
- #ifdef WITH_PYTHON
- # XXX if(BPY_is_pyconstraint(text))
- # XXX uiMenuItemO(head, 0, "text.refresh_pyconstraints");
- #endif
-
- layout.separator()
-
- layout.menu("TEXT_MT_templates")
-
-class TEXT_MT_templates(bpy.types.Menu):
- '''
- Creates the menu items by scanning scripts/templates
- '''
- bl_label = "Script Templates"
+class TEXT_MT_templates(Menu):
+ bl_label = "Templates"
def draw(self, context):
- self.path_menu(bpy.utils.script_paths("templates"), "text.open", {"internal": True})
+ self.path_menu(bpy.utils.script_paths("templates"),
+ "text.open",
+ {"internal": True},
+ )
-class TEXT_MT_edit_select(bpy.types.Menu):
+class TEXT_MT_edit_select(Menu):
bl_label = "Select"
def draw(self, context):
@@ -210,7 +211,7 @@ class TEXT_MT_edit_select(bpy.types.Menu):
layout.operator("text.select_line")
-class TEXT_MT_edit_markers(bpy.types.Menu):
+class TEXT_MT_edit_markers(Menu):
bl_label = "Markers"
def draw(self, context):
@@ -221,7 +222,7 @@ class TEXT_MT_edit_markers(bpy.types.Menu):
layout.operator("text.previous_marker")
-class TEXT_MT_format(bpy.types.Menu):
+class TEXT_MT_format(Menu):
bl_label = "Format"
def draw(self, context):
@@ -240,17 +241,21 @@ class TEXT_MT_format(bpy.types.Menu):
layout.operator_menu_enum("text.convert_whitespace", "type")
-class TEXT_MT_edit_to3d(bpy.types.Menu):
+class TEXT_MT_edit_to3d(Menu):
bl_label = "Text To 3D Object"
def draw(self, context):
layout = self.layout
- layout.operator("text.to_3d_object", text="One Object").split_lines = False
- layout.operator("text.to_3d_object", text="One Object Per Line").split_lines = True
+ layout.operator("text.to_3d_object",
+ text="One Object",
+ ).split_lines = False
+ layout.operator("text.to_3d_object",
+ text="One Object Per Line",
+ ).split_lines = True
-class TEXT_MT_edit(bpy.types.Menu):
+class TEXT_MT_edit(Menu):
bl_label = "Edit"
@classmethod
@@ -284,7 +289,7 @@ class TEXT_MT_edit(bpy.types.Menu):
layout.menu("TEXT_MT_edit_to3d")
-class TEXT_MT_toolbox(bpy.types.Menu):
+class TEXT_MT_toolbox(Menu):
bl_label = ""
def draw(self, context):
diff --git a/release/scripts/startup/bl_ui/space_time.py b/release/scripts/startup/bl_ui/space_time.py
index 7e62465d1ee..db009fe43c2 100644
--- a/release/scripts/startup/bl_ui/space_time.py
+++ b/release/scripts/startup/bl_ui/space_time.py
@@ -18,9 +18,10 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu
-class TIME_HT_header(bpy.types.Header):
+class TIME_HT_header(Header):
bl_space_type = 'TIMELINE'
def draw(self, context):
@@ -34,10 +35,9 @@ class TIME_HT_header(bpy.types.Header):
row.template_header()
if context.area.show_menus:
- sub = row.row(align=True)
- sub.menu("TIME_MT_view")
- sub.menu("TIME_MT_frame")
- sub.menu("TIME_MT_playback")
+ row.menu("TIME_MT_view")
+ row.menu("TIME_MT_frame")
+ row.menu("TIME_MT_playback")
layout.prop(scene, "use_preview_range", text="", toggle=True)
@@ -91,7 +91,7 @@ class TIME_HT_header(bpy.types.Header):
row.operator("anim.keyframe_delete", text="", icon='KEY_DEHLT')
-class TIME_MT_view(bpy.types.Menu):
+class TIME_MT_view(Menu):
bl_label = "View"
def draw(self, context):
@@ -116,7 +116,7 @@ class TIME_MT_view(bpy.types.Menu):
layout.operator("marker.camera_bind")
-class TIME_MT_cache(bpy.types.Menu):
+class TIME_MT_cache(Menu):
bl_label = "Cache"
def draw(self, context):
@@ -136,7 +136,7 @@ class TIME_MT_cache(bpy.types.Menu):
col.prop(st, "cache_smoke")
-class TIME_MT_frame(bpy.types.Menu):
+class TIME_MT_frame(Menu):
bl_label = "Frame"
def draw(self, context):
@@ -162,7 +162,7 @@ class TIME_MT_frame(bpy.types.Menu):
sub.menu("TIME_MT_autokey")
-class TIME_MT_playback(bpy.types.Menu):
+class TIME_MT_playback(Menu):
bl_label = "Playback"
def draw(self, context):
@@ -187,7 +187,7 @@ class TIME_MT_playback(bpy.types.Menu):
layout.prop(scene, "use_audio_scrub")
-class TIME_MT_autokey(bpy.types.Menu):
+class TIME_MT_autokey(Menu):
bl_label = "Auto-Keyframing Mode"
def draw(self, context):
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index f018785a925..13edc3471d2 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu, Operator, Panel
import os
import addon_utils
@@ -75,7 +76,7 @@ def opengl_lamp_buttons(column, lamp):
col.prop(lamp, "direction", text="")
-class USERPREF_HT_header(bpy.types.Header):
+class USERPREF_HT_header(Header):
bl_space_type = 'USER_PREFERENCES'
def draw(self, context):
@@ -94,12 +95,12 @@ class USERPREF_HT_header(bpy.types.Header):
layout.operator("wm.keyconfig_import")
elif userpref.active_section == 'ADDONS':
layout.operator("wm.addon_install")
- layout.menu("USERPREF_MT_addons_dev_guides", text=" Addons Developer Guides", icon='INFO')
+ layout.menu("USERPREF_MT_addons_dev_guides")
elif userpref.active_section == 'THEMES':
layout.operator("ui.reset_default_theme")
-class USERPREF_PT_tabs(bpy.types.Panel):
+class USERPREF_PT_tabs(Panel):
bl_label = ""
bl_space_type = 'USER_PREFERENCES'
bl_region_type = 'WINDOW'
@@ -113,26 +114,26 @@ class USERPREF_PT_tabs(bpy.types.Panel):
layout.prop(userpref, "active_section", expand=True)
-class USERPREF_MT_interaction_presets(bpy.types.Menu):
+class USERPREF_MT_interaction_presets(Menu):
bl_label = "Presets"
preset_subdir = "interaction"
preset_operator = "script.execute_preset"
- draw = bpy.types.Menu.draw_preset
+ draw = Menu.draw_preset
-class USERPREF_MT_appconfigs(bpy.types.Menu):
+class USERPREF_MT_appconfigs(Menu):
bl_label = "AppPresets"
preset_subdir = "keyconfig"
preset_operator = "wm.appconfig_activate"
def draw(self, context):
- props = self.layout.operator("wm.appconfig_default", text="Blender (default)")
+ self.layout.operator("wm.appconfig_default", text="Blender (default)")
# now draw the presets
- bpy.types.Menu.draw_preset(self, context)
+ Menu.draw_preset(self, context)
-class USERPREF_MT_splash(bpy.types.Menu):
+class USERPREF_MT_splash(Menu):
bl_label = "Splash"
def draw(self, context):
@@ -149,7 +150,7 @@ class USERPREF_MT_splash(bpy.types.Menu):
row.menu("USERPREF_MT_appconfigs", text="Preset")
-class USERPREF_PT_interface(bpy.types.Panel):
+class USERPREF_PT_interface(Panel):
bl_space_type = 'USER_PREFERENCES'
bl_label = "Interface"
bl_region_type = 'WINDOW'
@@ -246,7 +247,7 @@ class USERPREF_PT_interface(bpy.types.Panel):
col.prop(view, "show_splash")
-class USERPREF_PT_edit(bpy.types.Panel):
+class USERPREF_PT_edit(Panel):
bl_space_type = 'USER_PREFERENCES'
bl_label = "Edit"
bl_region_type = 'WINDOW'
@@ -359,7 +360,7 @@ class USERPREF_PT_edit(bpy.types.Panel):
col.prop(edit, "use_duplicate_particle", text="Particle")
-class USERPREF_PT_system(bpy.types.Panel):
+class USERPREF_PT_system(Panel):
bl_space_type = 'USER_PREFERENCES'
bl_label = "System"
bl_region_type = 'WINDOW'
@@ -438,6 +439,8 @@ class USERPREF_PT_system(bpy.types.Panel):
col.label(text="OpenGL:")
col.prop(system, "gl_clip_alpha", slider=True)
col.prop(system, "use_mipmaps")
+ col.label(text="Anisotropic Filtering")
+ col.prop(system, "anisotropic_filter", text="")
col.prop(system, "use_vertex_buffer_objects")
#Anti-aliasing is disabled as it breaks broder/lasso select
#col.prop(system, "use_antialiasing")
@@ -494,7 +497,7 @@ class USERPREF_PT_system(bpy.types.Panel):
sub.template_color_ramp(system, "weight_color_range", expand=True)
-class USERPREF_PT_theme(bpy.types.Panel):
+class USERPREF_PT_theme(Panel):
bl_space_type = 'USER_PREFERENCES'
bl_label = "Themes"
bl_region_type = 'WINDOW'
@@ -677,7 +680,7 @@ class USERPREF_PT_theme(bpy.types.Panel):
self._theme_generic(split, getattr(theme, theme.theme_area.lower()))
-class USERPREF_PT_file(bpy.types.Panel):
+class USERPREF_PT_file(Panel):
bl_space_type = 'USER_PREFERENCES'
bl_label = "Files"
bl_region_type = 'WINDOW'
@@ -753,7 +756,32 @@ class USERPREF_PT_file(bpy.types.Panel):
from bl_ui.space_userpref_keymap import InputKeyMapPanel
-class USERPREF_PT_input(bpy.types.Panel, InputKeyMapPanel):
+class USERPREF_MT_ndof_settings(Menu):
+ # accessed from the window keybindings in C (only)
+ bl_label = "3D Mouse Settings"
+
+ def draw(self, context):
+ layout = self.layout
+ input_prefs = context.user_preferences.inputs
+
+ layout.separator()
+ layout.prop(input_prefs, "ndof_sensitivity")
+
+ if context.space_data.type == 'VIEW_3D':
+ layout.separator()
+ layout.prop(input_prefs, "ndof_show_guide")
+
+ layout.separator()
+ layout.label(text="orbit options")
+ layout.prop(input_prefs, "ndof_orbit_invert_axes")
+
+ layout.separator()
+ layout.label(text="fly options")
+ layout.prop(input_prefs, "ndof_fly_helicopter", icon='NDOF_FLY')
+ layout.prop(input_prefs, "ndof_lock_horizon", icon='NDOF_DOM')
+
+
+class USERPREF_PT_input(Panel, InputKeyMapPanel):
bl_space_type = 'USER_PREFERENCES'
bl_label = "Input"
@@ -815,12 +843,9 @@ class USERPREF_PT_input(bpy.types.Panel, InputKeyMapPanel):
#sub.prop(view, "wheel_scroll_lines", text="Scroll Lines")
col.separator()
- ''' not implemented yet
sub = col.column()
sub.label(text="NDOF Device:")
- sub.prop(inputs, "ndof_pan_speed", text="Pan Speed")
- sub.prop(inputs, "ndof_rotate_speed", text="Orbit Speed")
- '''
+ sub.prop(inputs, "ndof_sensitivity", text="NDOF Sensitivity")
row.separator()
@@ -846,21 +871,18 @@ class USERPREF_PT_input(bpy.types.Panel, InputKeyMapPanel):
#print("runtime", time.time() - start)
-class USERPREF_MT_addons_dev_guides(bpy.types.Menu):
- bl_label = "Addons develoment guides"
+class USERPREF_MT_addons_dev_guides(Menu):
+ bl_label = "Development Guides"
# menu to open webpages with addons development guides
def draw(self, context):
layout = self.layout
- layout.operator('wm.url_open', text='API Concepts'
- ).url = 'http://wiki.blender.org/index.php/Dev:2.5/Py/API/Intro'
- layout.operator('wm.url_open', text='Addons guidelines',
- ).url = 'http://wiki.blender.org/index.php/Dev:2.5/Py/Scripts/Guidelines/Addons'
- layout.operator('wm.url_open', text='How to share your addon',
- ).url = 'http://wiki.blender.org/index.php/Dev:Py/Sharing'
+ layout.operator('wm.url_open', text='API Concepts', icon='URL').url = 'http://wiki.blender.org/index.php/Dev:2.5/Py/API/Intro'
+ layout.operator('wm.url_open', text='Addon Guidelines', icon='URL').url = 'http://wiki.blender.org/index.php/Dev:2.5/Py/Scripts/Guidelines/Addons'
+ layout.operator('wm.url_open', text='How to share your addon', icon='URL').url = 'http://wiki.blender.org/index.php/Dev:Py/Sharing'
-class USERPREF_PT_addons(bpy.types.Panel):
+class USERPREF_PT_addons(Panel):
bl_space_type = 'USER_PREFERENCES'
bl_label = "Addons"
bl_region_type = 'WINDOW'
@@ -877,6 +899,29 @@ class USERPREF_PT_addons(bpy.types.Panel):
def module_get(mod_name):
return USERPREF_PT_addons._addons_fake_modules[mod_name]
+ @staticmethod
+ def is_user_addon(mod, user_addon_paths):
+ if not user_addon_paths:
+ user_script_path = bpy.utils.user_script_path()
+ if user_script_path is not None:
+ user_addon_paths.append(os.path.join(user_script_path, "addons"))
+ user_addon_paths.append(os.path.join(bpy.utils.resource_path('USER'), "scripts", "addons"))
+
+ for path in user_addon_paths:
+ if bpy.path.is_subdir(mod.__file__, path):
+ return True
+ return False
+
+ @staticmethod
+ def draw_error(layout, message):
+ lines = message.split("\n")
+ box = layout.box()
+ rowsub = box.row()
+ rowsub.label(lines[0])
+ rowsub.label(icon='ERROR')
+ for l in lines[1:]:
+ box.label(l)
+
def draw(self, context):
layout = self.layout
@@ -897,10 +942,27 @@ class USERPREF_PT_addons(bpy.types.Panel):
col = split.column()
+ # set in addon_utils.modules(...)
+ if addon_utils.error_duplicates:
+ self.draw_error(col,
+ "Multiple addons using the same name found!\n"
+ "likely a problem with the script search path.\n"
+ "(see console for details)",
+ )
+
+ if addon_utils.error_encoding:
+ self.draw_error(col,
+ "One or more addons do not have UTF-8 encoding\n"
+ "(see console for details)",
+ )
+
filter = context.window_manager.addon_filter
search = context.window_manager.addon_search.lower()
support = context.window_manager.addon_support
+ # initialized on demand
+ user_addon_paths = []
+
for mod, info in addons:
module_name = mod.__name__
@@ -970,18 +1032,21 @@ class USERPREF_PT_addons(bpy.types.Panel):
split = colsub.row().split(percentage=0.15)
split.label(text="Warning:")
split.label(text=' ' + info["warning"], icon='ERROR')
- if info["wiki_url"] or info["tracker_url"]:
+
+ user_addon = USERPREF_PT_addons.is_user_addon(mod, user_addon_paths)
+ tot_row = bool(info["wiki_url"]) + bool(info["tracker_url"]) + bool(user_addon)
+
+ if tot_row:
split = colsub.row().split(percentage=0.15)
split.label(text="Internet:")
if info["wiki_url"]:
split.operator("wm.url_open", text="Link to the Wiki", icon='HELP').url = info["wiki_url"]
if info["tracker_url"]:
split.operator("wm.url_open", text="Report a Bug", icon='URL').url = info["tracker_url"]
+ if user_addon:
+ split.operator("wm.addon_remove", text="Remove", icon='CANCEL').module = mod.__name__
- if info["wiki_url"] and info["tracker_url"]:
- split.separator()
- else:
- split.separator()
+ for i in range(4 - tot_row):
split.separator()
# Append missing scripts
@@ -1007,54 +1072,84 @@ class USERPREF_PT_addons(bpy.types.Panel):
row.operator("wm.addon_disable", icon='CHECKBOX_HLT', text="", emboss=False).module = module_name
-class WM_OT_addon_enable(bpy.types.Operator):
+class WM_OT_addon_enable(Operator):
"Enable an addon"
bl_idname = "wm.addon_enable"
bl_label = "Enable Add-On"
- module = StringProperty(name="Module", description="Module name of the addon to enable")
+ module = StringProperty(
+ name="Module",
+ description="Module name of the addon to enable",
+ )
def execute(self, context):
mod = addon_utils.enable(self.module)
if mod:
- # check if add-on is written for current blender version, or raise a warning
info = addon_utils.module_bl_info(mod)
- if info.get("blender", (0, 0, 0)) > bpy.app.version:
- self.report("WARNING','This script was written for a newer version of Blender and might not function (correctly).\nThe script is enabled though.")
+ info_ver = info.get("blender", (0, 0, 0))
+
+ if info_ver > bpy.app.version:
+ self.report({'WARNING'}, ("This script was written Blender "
+ "version %d.%d.%d and might not "
+ "function (correctly).\n"
+ "The script is enabled though.") %
+ info_ver)
return {'FINISHED'}
else:
return {'CANCELLED'}
-class WM_OT_addon_disable(bpy.types.Operator):
+class WM_OT_addon_disable(Operator):
"Disable an addon"
bl_idname = "wm.addon_disable"
bl_label = "Disable Add-On"
- module = StringProperty(name="Module", description="Module name of the addon to disable")
+ module = StringProperty(
+ name="Module",
+ description="Module name of the addon to disable",
+ )
def execute(self, context):
addon_utils.disable(self.module)
return {'FINISHED'}
-class WM_OT_addon_install(bpy.types.Operator):
+class WM_OT_addon_install(Operator):
"Install an addon"
bl_idname = "wm.addon_install"
bl_label = "Install Add-On..."
- overwrite = BoolProperty(name="Overwrite", description="Remove existing addons with the same ID", default=True)
+ overwrite = BoolProperty(
+ name="Overwrite",
+ description="Remove existing addons with the same ID",
+ default=True,
+ )
target = EnumProperty(
name="Target Path",
items=(('DEFAULT', "Default", ""),
- ('PREFS', "User Prefs", "")))
-
- filepath = StringProperty(name="File Path", description="File path to write file to")
- filter_folder = BoolProperty(name="Filter folders", description="", default=True, options={'HIDDEN'})
- filter_python = BoolProperty(name="Filter python", description="", default=True, options={'HIDDEN'})
- filter_glob = StringProperty(default="*.py;*.zip", options={'HIDDEN'})
+ ('PREFS', "User Prefs", "")),
+ )
+
+ filepath = StringProperty(
+ name="File Path",
+ description="File path to write file to",
+ )
+ filter_folder = BoolProperty(
+ name="Filter folders",
+ default=True,
+ options={'HIDDEN'},
+ )
+ filter_python = BoolProperty(
+ name="Filter python",
+ default=True,
+ options={'HIDDEN'},
+ )
+ filter_glob = StringProperty(
+ default="*.py;*.zip",
+ options={'HIDDEN'},
+ )
@staticmethod
def _module_remove(path_addons, module):
@@ -1105,7 +1200,6 @@ class WM_OT_addon_install(bpy.types.Operator):
del pyfile_dir
# done checking for exceptional case
- addon_files_old = set(os.listdir(path_addons))
addons_old = {mod.__name__ for mod in addon_utils.modules(USERPREF_PT_addons._addons_fake_modules)}
#check to see if the file is in compressed format (.zip)
@@ -1118,7 +1212,7 @@ class WM_OT_addon_install(bpy.types.Operator):
if self.overwrite:
for f in file_to_extract.namelist():
- __class__._module_remove(path_addons, f)
+ WM_OT_addon_install._module_remove(path_addons, f)
else:
for f in file_to_extract.namelist():
path_dest = os.path.join(path_addons, os.path.basename(f))
@@ -1142,7 +1236,7 @@ class WM_OT_addon_install(bpy.types.Operator):
path_dest = os.path.join(path_addons, os.path.basename(pyfile))
if self.overwrite:
- __class__._module_remove(path_addons, os.path.basename(pyfile))
+ WM_OT_addon_install._module_remove(path_addons, os.path.basename(pyfile))
elif os.path.exists(path_dest):
self.report({'WARNING'}, "File already installed to %r\n" % path_dest)
return {'CANCELLED'}
@@ -1187,12 +1281,66 @@ class WM_OT_addon_install(bpy.types.Operator):
return {'RUNNING_MODAL'}
-class WM_OT_addon_expand(bpy.types.Operator):
+class WM_OT_addon_remove(Operator):
+ "Disable an addon"
+ bl_idname = "wm.addon_remove"
+ bl_label = "Remove Add-On"
+
+ module = StringProperty(
+ name="Module",
+ description="Module name of the addon to remove",
+ )
+
+ @staticmethod
+ def path_from_addon(module):
+ for mod in addon_utils.modules(USERPREF_PT_addons._addons_fake_modules):
+ if mod.__name__ == module:
+ filepath = mod.__file__
+ if os.path.exists(filepath):
+ if os.path.splitext(os.path.basename(filepath))[0] == "__init__":
+ return os.path.dirname(filepath), True
+ else:
+ return filepath, False
+ return None, False
+
+ def execute(self, context):
+ path, isdir = WM_OT_addon_remove.path_from_addon(self.module)
+ if path is None:
+ self.report('WARNING', "Addon path %r could not be found" % path)
+ return {'CANCELLED'}
+
+ # incase its enabled
+ addon_utils.disable(self.module)
+
+ import shutil
+ if isdir:
+ shutil.rmtree(path)
+ else:
+ os.remove(path)
+
+ context.area.tag_redraw()
+ return {'FINISHED'}
+
+ # lame confirmation check
+ def draw(self, context):
+ self.layout.label(text="Remove Addon: %r?" % self.module)
+ path, isdir = WM_OT_addon_remove.path_from_addon(self.module)
+ self.layout.label(text="Path: %r" % path)
+
+ def invoke(self, context, event):
+ wm = context.window_manager
+ return wm.invoke_props_dialog(self, width=600)
+
+
+class WM_OT_addon_expand(Operator):
"Display more information on this add-on"
bl_idname = "wm.addon_expand"
bl_label = ""
- module = StringProperty(name="Module", description="Module name of the addon to expand")
+ module = StringProperty(
+ name="Module",
+ description="Module name of the addon to expand",
+ )
def execute(self, context):
module_name = self.module
diff --git a/release/scripts/startup/bl_ui/space_userpref_keymap.py b/release/scripts/startup/bl_ui/space_userpref_keymap.py
index e99cefb91b8..9ed1591cbf3 100644
--- a/release/scripts/startup/bl_ui/space_userpref_keymap.py
+++ b/release/scripts/startup/bl_ui/space_userpref_keymap.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Menu, Operator, OperatorProperties
import os
@@ -124,7 +125,7 @@ def _merge_keymaps(kc1, kc2):
return merged_keymaps
-class USERPREF_MT_keyconfigs(bpy.types.Menu):
+class USERPREF_MT_keyconfigs(Menu):
bl_label = "KeyPresets"
preset_subdir = "keyconfig"
preset_operator = "wm.keyconfig_activate"
@@ -135,7 +136,7 @@ class USERPREF_MT_keyconfigs(bpy.types.Menu):
props.value = "context.window_manager.keyconfigs.default"
# now draw the presets
- bpy.types.Menu.draw_preset(self, context)
+ Menu.draw_preset(self, context)
class InputKeyMapPanel:
@@ -188,10 +189,10 @@ class InputKeyMapPanel:
if km.is_modal:
row.label(text="", icon='LINKED')
- if km.is_user_defined:
- op = row.operator("wm.keymap_restore", text="Restore")
+ if km.is_user_modified:
+ row.operator("wm.keymap_restore", text="Restore")
else:
- op = row.operator("wm.keymap_edit", text="Edit")
+ row.label()
if km.show_expanded_children:
if children:
@@ -212,8 +213,7 @@ class InputKeyMapPanel:
# "Add New" at end of keymap item list
col = self.indented_layout(col, level + 1)
subcol = col.split(percentage=0.2).column()
- subcol.enabled = km.is_user_defined
- op = subcol.operator("wm.keyitem_add", text="Add New", icon='ZOOMIN')
+ subcol.operator("wm.keyitem_add", text="Add New", icon='ZOOMIN')
col.separator()
@@ -233,8 +233,8 @@ class InputKeyMapPanel:
flow = box.column_flow(columns=2)
for pname, value in properties.bl_rna.properties.items():
if pname != "rna_type" and not properties.is_property_hidden(pname):
- if isinstance(value, bpy.types.OperatorProperties):
- __class__.draw_kmi_properties(box, value, title=pname)
+ if isinstance(value, OperatorProperties):
+ InputKeyMapPanel.draw_kmi_properties(box, value, title=pname)
else:
flow.prop(properties, pname)
@@ -243,7 +243,7 @@ class InputKeyMapPanel:
col = self.indented_layout(layout, level)
- if km.is_user_defined:
+ if kmi.show_expanded:
col = col.column(align=True)
box = col.box()
else:
@@ -256,7 +256,6 @@ class InputKeyMapPanel:
row.prop(kmi, "show_expanded", text="", emboss=False)
row = split.row()
- row.enabled = km.is_user_defined
row.prop(kmi, "active", text="", emboss=False)
if km.is_modal:
@@ -265,12 +264,13 @@ class InputKeyMapPanel:
row.label(text=kmi.name)
row = split.row()
- row.enabled = km.is_user_defined
row.prop(kmi, "map_type", text="")
if map_type == 'KEYBOARD':
row.prop(kmi, "type", text="", full_event=True)
elif map_type == 'MOUSE':
row.prop(kmi, "type", text="", full_event=True)
+ elif map_type == 'NDOF':
+ row.prop(kmi, "type", text="", full_event=True)
elif map_type == 'TWEAK':
subrow = row.row()
subrow.prop(kmi, "type", text="")
@@ -280,18 +280,17 @@ class InputKeyMapPanel:
else:
row.label()
- if not kmi.is_user_defined:
+ if (not kmi.is_user_defined) and kmi.is_user_modified:
op = row.operator("wm.keyitem_restore", text="", icon='BACK')
op.item_id = kmi.id
- op = row.operator("wm.keyitem_remove", text="", icon='X')
- op.item_id = kmi.id
+ else:
+ op = row.operator("wm.keyitem_remove", text="", icon='X')
+ op.item_id = kmi.id
# Expanded, additional event settings
if kmi.show_expanded:
box = col.box()
- box.enabled = km.is_user_defined
-
if map_type not in {'TEXTINPUT', 'TIMER'}:
split = box.split(percentage=0.4)
sub = split.row()
@@ -306,7 +305,7 @@ class InputKeyMapPanel:
sub = split.column()
subrow = sub.row(align=True)
- if map_type == 'KEYBOARD':
+ if map_type in {'KEYBOARD', 'NDOF'}:
subrow.prop(kmi, "type", text="", event=True)
subrow.prop(kmi, "value", text="")
elif map_type == 'MOUSE':
@@ -325,7 +324,7 @@ class InputKeyMapPanel:
# Operator properties
props = kmi.properties
if props is not None:
- __class__.draw_kmi_properties(box, props)
+ InputKeyMapPanel.draw_kmi_properties(box, props)
# Modal key maps attached to this operator
if not km.is_modal:
@@ -350,10 +349,10 @@ class InputKeyMapPanel:
row.label()
row.label()
- if km.is_user_defined:
- op = row.operator("wm.keymap_restore", text="Restore")
+ if km.is_user_modified:
+ row.operator("wm.keymap_restore", text="Restore")
else:
- op = row.operator("wm.keymap_edit", text="Edit")
+ row.label()
for kmi in filtered_items:
self.draw_kmi(display_keymaps, kc, km, kmi, col, 1)
@@ -361,8 +360,7 @@ class InputKeyMapPanel:
# "Add New" at end of keymap item list
col = self.indented_layout(layout, 1)
subcol = col.split(percentage=0.2).column()
- subcol.enabled = km.is_user_defined
- op = subcol.operator("wm.keyitem_add", text="Add New", icon='ZOOMIN')
+ subcol.operator("wm.keyitem_add", text="Add New", icon='ZOOMIN')
def draw_hierarchy(self, display_keymaps, layout):
for entry in KM_HIERARCHY:
@@ -370,8 +368,7 @@ class InputKeyMapPanel:
def draw_keymaps(self, context, layout):
wm = context.window_manager
- kc = wm.keyconfigs.active
- defkc = wm.keyconfigs.default
+ kc = wm.keyconfigs.user
col = layout.column()
sub = col.column()
@@ -396,7 +393,7 @@ class InputKeyMapPanel:
col.separator()
- display_keymaps = _merge_keymaps(kc, defkc)
+ display_keymaps = _merge_keymaps(kc, kc)
if context.space_data.filter_text != "":
filter_text = context.space_data.filter_text.lower()
self.draw_filtered(display_keymaps, filter_text, col)
@@ -414,7 +411,7 @@ def export_properties(prefix, properties, lines=None):
for pname in properties.bl_rna.properties.keys():
if pname != "rna_type" and not properties.is_property_hidden(pname):
value = getattr(properties, pname)
- if isinstance(value, bpy.types.OperatorProperties):
+ if isinstance(value, OperatorProperties):
export_properties(prefix + "." + pname, value, lines)
elif properties.is_property_set(pname):
value = _string_value(value)
@@ -423,7 +420,7 @@ def export_properties(prefix, properties, lines=None):
return lines
-class WM_OT_keyconfig_test(bpy.types.Operator):
+class WM_OT_keyconfig_test(Operator):
"Test keyconfig for conflicts"
bl_idname = "wm.keyconfig_test"
bl_label = "Test Key Configuration for Conflicts"
@@ -531,37 +528,58 @@ def _string_value(value):
return result
-class WM_OT_keyconfig_import(bpy.types.Operator):
+class WM_OT_keyconfig_import(Operator):
"Import key configuration from a python script"
bl_idname = "wm.keyconfig_import"
bl_label = "Import Key Configuration..."
- filepath = StringProperty(name="File Path", description="Filepath to write file to", default="keymap.py")
- filter_folder = BoolProperty(name="Filter folders", description="", default=True, options={'HIDDEN'})
- filter_text = BoolProperty(name="Filter text", description="", default=True, options={'HIDDEN'})
- filter_python = BoolProperty(name="Filter python", description="", default=True, options={'HIDDEN'})
-
- keep_original = BoolProperty(name="Keep original", description="Keep original file after copying to configuration folder", default=True)
+ filepath = StringProperty(
+ name="File Path",
+ description="Filepath to write file to",
+ default="keymap.py",
+ )
+ filter_folder = BoolProperty(
+ name="Filter folders",
+ default=True,
+ options={'HIDDEN'},
+ )
+ filter_text = BoolProperty(
+ name="Filter text",
+ default=True,
+ options={'HIDDEN'},
+ )
+ filter_python = BoolProperty(
+ name="Filter python",
+ default=True,
+ options={'HIDDEN'},
+ )
+ keep_original = BoolProperty(
+ name="Keep original",
+ description="Keep original file after copying to configuration folder",
+ default=True,
+ )
def execute(self, context):
from os.path import basename
import shutil
- if not self.filepath:
- raise Exception("Filepath not set")
- f = open(self.filepath, "r")
- if not f:
- raise Exception("Could not open file")
+ if not self.filepath:
+ self.report({'ERROR'}, "Filepath not set")
+ return {'CANCELLED'}
config_name = basename(self.filepath)
path = bpy.utils.user_resource('SCRIPTS', os.path.join("presets", "keyconfig"), create=True)
path = os.path.join(path, config_name)
- if self.keep_original:
- shutil.copy(self.filepath, path)
- else:
- shutil.move(self.filepath, path)
+ try:
+ if self.keep_original:
+ shutil.copy(self.filepath, path)
+ else:
+ shutil.move(self.filepath, path)
+ except Exception as e:
+ self.report({'ERROR'}, "Installing keymap failed: %s" % e)
+ return {'CANCELLED'}
# sneaky way to check we're actually running the code.
bpy.utils.keyconfig_set(path)
@@ -576,20 +594,39 @@ class WM_OT_keyconfig_import(bpy.types.Operator):
# This operator is also used by interaction presets saving - AddPresetBase
-class WM_OT_keyconfig_export(bpy.types.Operator):
+class WM_OT_keyconfig_export(Operator):
"Export key configuration to a python script"
bl_idname = "wm.keyconfig_export"
bl_label = "Export Key Configuration..."
- filepath = StringProperty(name="File Path", description="Filepath to write file to", default="keymap.py")
- filter_folder = BoolProperty(name="Filter folders", description="", default=True, options={'HIDDEN'})
- filter_text = BoolProperty(name="Filter text", description="", default=True, options={'HIDDEN'})
- filter_python = BoolProperty(name="Filter python", description="", default=True, options={'HIDDEN'})
+ filepath = StringProperty(
+ name="File Path",
+ description="Filepath to write file to",
+ default="keymap.py",
+ )
+ filter_folder = BoolProperty(
+ name="Filter folders",
+ default=True,
+ options={'HIDDEN'},
+ )
+ filter_text = BoolProperty(
+ name="Filter text",
+ default=True,
+ options={'HIDDEN'},
+ )
+ filter_python = BoolProperty(
+ name="Filter python",
+ default=True,
+ options={'HIDDEN'},
+ )
def execute(self, context):
if not self.filepath:
raise Exception("Filepath not set")
+ if not self.filepath.endswith('.py'):
+ self.filepath += '.py'
+
f = open(self.filepath, "w")
if not f:
raise Exception("Could not open file")
@@ -604,7 +641,7 @@ class WM_OT_keyconfig_export(bpy.types.Operator):
# Generate a list of keymaps to export:
#
- # First add all user_defined keymaps (found in inputs.edited_keymaps list),
+ # First add all user_modified keymaps (found in keyconfigs.user.keymaps list),
# then add all remaining keymaps from the currently active custom keyconfig.
#
# This will create a final list of keymaps that can be used as a 'diff' against
@@ -614,7 +651,9 @@ class WM_OT_keyconfig_export(bpy.types.Operator):
class FakeKeyConfig():
keymaps = []
edited_kc = FakeKeyConfig()
- edited_kc.keymaps.extend(context.user_preferences.inputs.edited_keymaps)
+ for km in wm.keyconfigs.user.keymaps:
+ if km.is_user_modified:
+ edited_kc.keymaps.append(km)
# merge edited keymaps with non-default keyconfig, if it exists
if kc != wm.keyconfigs.default:
export_keymaps = _merge_keymaps(edited_kc, kc)
@@ -664,29 +703,21 @@ class WM_OT_keyconfig_export(bpy.types.Operator):
return {'RUNNING_MODAL'}
-class WM_OT_keymap_edit(bpy.types.Operator):
- "Edit stored key map"
- bl_idname = "wm.keymap_edit"
- bl_label = "Edit Key Map"
-
- def execute(self, context):
- km = context.keymap
- km.copy_to_user()
- return {'FINISHED'}
-
-
-class WM_OT_keymap_restore(bpy.types.Operator):
+class WM_OT_keymap_restore(Operator):
"Restore key map(s)"
bl_idname = "wm.keymap_restore"
bl_label = "Restore Key Map(s)"
- all = BoolProperty(name="All Keymaps", description="Restore all keymaps to default")
+ all = BoolProperty(
+ name="All Keymaps",
+ description="Restore all keymaps to default",
+ )
def execute(self, context):
wm = context.window_manager
if self.all:
- for km in wm.keyconfigs.default.keymaps:
+ for km in wm.keyconfigs.user.keymaps:
km.restore_to_default()
else:
km = context.keymap
@@ -695,37 +726,38 @@ class WM_OT_keymap_restore(bpy.types.Operator):
return {'FINISHED'}
-class WM_OT_keyitem_restore(bpy.types.Operator):
+class WM_OT_keyitem_restore(Operator):
"Restore key map item"
bl_idname = "wm.keyitem_restore"
bl_label = "Restore Key Map Item"
- item_id = IntProperty(name="Item Identifier", description="Identifier of the item to remove")
+ item_id = IntProperty(
+ name="Item Identifier",
+ description="Identifier of the item to remove",
+ )
@classmethod
def poll(cls, context):
keymap = getattr(context, "keymap", None)
- return keymap and keymap.is_user_defined
+ return keymap
def execute(self, context):
km = context.keymap
kmi = km.keymap_items.from_id(self.item_id)
- if not kmi.is_user_defined:
+ if (not kmi.is_user_defined) and kmi.is_user_modified:
km.restore_item_to_default(kmi)
return {'FINISHED'}
-class WM_OT_keyitem_add(bpy.types.Operator):
+class WM_OT_keyitem_add(Operator):
"Add key map item"
bl_idname = "wm.keyitem_add"
bl_label = "Add Key Map Item"
def execute(self, context):
- wm = context.window_manager
km = context.keymap
- kc = wm.keyconfigs.default
if km.is_modal:
km.keymap_items.new_modal("", 'A', 'PRESS') # kmi
@@ -741,16 +773,19 @@ class WM_OT_keyitem_add(bpy.types.Operator):
return {'FINISHED'}
-class WM_OT_keyitem_remove(bpy.types.Operator):
+class WM_OT_keyitem_remove(Operator):
"Remove key map item"
bl_idname = "wm.keyitem_remove"
bl_label = "Remove Key Map Item"
- item_id = IntProperty(name="Item Identifier", description="Identifier of the item to remove")
+ item_id = IntProperty(
+ name="Item Identifier",
+ description="Identifier of the item to remove",
+ )
@classmethod
def poll(cls, context):
- return hasattr(context, "keymap") and context.keymap.is_user_defined
+ return hasattr(context, "keymap")
def execute(self, context):
km = context.keymap
@@ -759,7 +794,7 @@ class WM_OT_keyitem_remove(bpy.types.Operator):
return {'FINISHED'}
-class WM_OT_keyconfig_remove(bpy.types.Operator):
+class WM_OT_keyconfig_remove(Operator):
"Remove key config"
bl_idname = "wm.keyconfig_remove"
bl_label = "Remove Key Config"
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 02004283264..9f96df1eb66 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -18,9 +18,10 @@
# <pep8 compliant>
import bpy
+from bpy.types import Header, Menu, Operator, Panel
-class VIEW3D_HT_header(bpy.types.Header):
+class VIEW3D_HT_header(Header):
bl_space_type = 'VIEW_3D'
def draw(self, context):
@@ -54,21 +55,13 @@ class VIEW3D_HT_header(bpy.types.Header):
sub.menu("VIEW3D_MT_object")
row = layout.row()
+ # Contains buttons like Mode, Pivot, Manipulator, Layer, Mesh Select Mode...
row.template_header_3D()
- # do in C for now since these buttons cant be both toggle AND exclusive.
- '''
- if obj and obj.mode == 'EDIT' and obj.type == 'MESH':
- row_sub = row.row(align=True)
- row_sub.prop(toolsettings, "mesh_select_mode", text="", index=0, icon='VERTEXSEL')
- row_sub.prop(toolsettings, "mesh_select_mode", text="", index=1, icon='EDGESEL')
- row_sub.prop(toolsettings, "mesh_select_mode", text="", index=2, icon='FACESEL')
- '''
-
if obj:
# Particle edit
if obj.mode == 'PARTICLE_EDIT':
- row.prop(toolsettings.particle_edit, "select_mode", text="", expand=True, toggle=True)
+ row.prop(toolsettings.particle_edit, "select_mode", text="", expand=True)
# Occlude geometry
if view.viewport_shade in {'SOLID', 'SHADED', 'TEXTURED'} and (obj.mode == 'PARTICLE_EDIT' or (obj.mode == 'EDIT' and obj.type == 'MESH')):
@@ -87,16 +80,21 @@ class VIEW3D_HT_header(bpy.types.Header):
row.prop(toolsettings, "proportional_edit_falloff", text="", icon_only=True)
# Snap
+ snap_element = toolsettings.snap_element
row = layout.row(align=True)
row.prop(toolsettings, "use_snap", text="")
row.prop(toolsettings, "snap_element", text="", icon_only=True)
- if toolsettings.snap_element != 'INCREMENT':
+ if snap_element != 'INCREMENT':
row.prop(toolsettings, "snap_target", text="")
- if obj and obj.mode == 'OBJECT':
- row.prop(toolsettings, "use_snap_align_rotation", text="")
- if toolsettings.snap_element == 'VOLUME':
+ if obj:
+ if obj.mode == 'OBJECT':
+ row.prop(toolsettings, "use_snap_align_rotation", text="")
+ elif obj.mode == 'EDIT':
+ row.prop(toolsettings, "use_snap_self", text="")
+
+ if snap_element == 'VOLUME':
row.prop(toolsettings, "use_snap_peel_object", text="")
- elif toolsettings.snap_element == 'FACE':
+ elif snap_element == 'FACE':
row.prop(toolsettings, "use_snap_project", text="")
# OpenGL render
@@ -131,7 +129,7 @@ class ShowHideMenu():
layout.operator("%s.hide" % self._operator_name, text="Hide Unselected").unselected = True
-class VIEW3D_MT_transform(bpy.types.Menu):
+class VIEW3D_MT_transform(Menu):
bl_label = "Transform"
# TODO: get rid of the custom text strings?
@@ -182,8 +180,12 @@ class VIEW3D_MT_transform(bpy.types.Menu):
layout.operator("object.randomize_transform")
layout.operator("object.align")
+ layout.separator()
+
+ layout.operator("object.anim_transforms_to_deltas")
-class VIEW3D_MT_mirror(bpy.types.Menu):
+
+class VIEW3D_MT_mirror(Menu):
bl_label = "Mirror"
def draw(self, context):
@@ -221,7 +223,7 @@ class VIEW3D_MT_mirror(bpy.types.Menu):
layout.operator("object.vertex_group_mirror")
-class VIEW3D_MT_snap(bpy.types.Menu):
+class VIEW3D_MT_snap(Menu):
bl_label = "Snap"
def draw(self, context):
@@ -238,7 +240,7 @@ class VIEW3D_MT_snap(bpy.types.Menu):
layout.operator("view3d.snap_cursor_to_active", text="Cursor to Active")
-class VIEW3D_MT_uv_map(bpy.types.Menu):
+class VIEW3D_MT_uv_map(Menu):
bl_label = "UV Mapping"
def draw(self, context):
@@ -271,7 +273,7 @@ class VIEW3D_MT_uv_map(bpy.types.Menu):
# ********** View menus **********
-class VIEW3D_MT_view(bpy.types.Menu):
+class VIEW3D_MT_view(Menu):
bl_label = "View"
def draw(self, context):
@@ -329,7 +331,7 @@ class VIEW3D_MT_view(bpy.types.Menu):
layout.operator("screen.screen_full_area")
-class VIEW3D_MT_view_navigation(bpy.types.Menu):
+class VIEW3D_MT_view_navigation(Menu):
bl_label = "Navigation"
def draw(self, context):
@@ -352,7 +354,7 @@ class VIEW3D_MT_view_navigation(bpy.types.Menu):
layout.operator("view3d.fly")
-class VIEW3D_MT_view_align(bpy.types.Menu):
+class VIEW3D_MT_view_align(Menu):
bl_label = "Align View"
def draw(self, context):
@@ -368,7 +370,7 @@ class VIEW3D_MT_view_align(bpy.types.Menu):
layout.operator("view3d.view_center_cursor")
-class VIEW3D_MT_view_align_selected(bpy.types.Menu):
+class VIEW3D_MT_view_align_selected(Menu):
bl_label = "Align View to Selected"
def draw(self, context):
@@ -394,7 +396,7 @@ class VIEW3D_MT_view_align_selected(bpy.types.Menu):
props.type = 'LEFT'
-class VIEW3D_MT_view_cameras(bpy.types.Menu):
+class VIEW3D_MT_view_cameras(Menu):
bl_label = "Cameras"
def draw(self, context):
@@ -406,7 +408,7 @@ class VIEW3D_MT_view_cameras(bpy.types.Menu):
# ********** Select menus, suffix from context.mode **********
-class VIEW3D_MT_select_object(bpy.types.Menu):
+class VIEW3D_MT_select_object(Menu):
bl_label = "Select"
def draw(self, context):
@@ -432,7 +434,7 @@ class VIEW3D_MT_select_object(bpy.types.Menu):
layout.operator("object.select_pattern", text="Select Pattern...")
-class VIEW3D_MT_select_pose(bpy.types.Menu):
+class VIEW3D_MT_select_pose(Menu):
bl_label = "Select"
def draw(self, context):
@@ -469,7 +471,7 @@ class VIEW3D_MT_select_pose(bpy.types.Menu):
layout.operator("object.select_pattern", text="Select Pattern...")
-class VIEW3D_MT_select_particle(bpy.types.Menu):
+class VIEW3D_MT_select_particle(Menu):
bl_label = "Select"
def draw(self, context):
@@ -494,7 +496,7 @@ class VIEW3D_MT_select_particle(bpy.types.Menu):
layout.operator("particle.select_tips", text="Tips")
-class VIEW3D_MT_select_edit_mesh(bpy.types.Menu):
+class VIEW3D_MT_select_edit_mesh(Menu):
bl_label = "Select"
def draw(self, context):
@@ -546,7 +548,7 @@ class VIEW3D_MT_select_edit_mesh(bpy.types.Menu):
layout.operator("mesh.region_to_loop")
-class VIEW3D_MT_select_edit_curve(bpy.types.Menu):
+class VIEW3D_MT_select_edit_curve(Menu):
bl_label = "Select"
def draw(self, context):
@@ -575,7 +577,7 @@ class VIEW3D_MT_select_edit_curve(bpy.types.Menu):
layout.operator("curve.select_less")
-class VIEW3D_MT_select_edit_surface(bpy.types.Menu):
+class VIEW3D_MT_select_edit_surface(Menu):
bl_label = "Select"
def draw(self, context):
@@ -601,7 +603,7 @@ class VIEW3D_MT_select_edit_surface(bpy.types.Menu):
layout.operator("curve.select_less")
-class VIEW3D_MT_select_edit_metaball(bpy.types.Menu):
+class VIEW3D_MT_select_edit_metaball(Menu):
bl_label = "Select"
def draw(self, context):
@@ -619,7 +621,7 @@ class VIEW3D_MT_select_edit_metaball(bpy.types.Menu):
layout.operator("mball.select_random_metaelems")
-class VIEW3D_MT_select_edit_lattice(bpy.types.Menu):
+class VIEW3D_MT_select_edit_lattice(Menu):
bl_label = "Select"
def draw(self, context):
@@ -632,7 +634,7 @@ class VIEW3D_MT_select_edit_lattice(bpy.types.Menu):
layout.operator("lattice.select_all", text="Select/Deselect All")
-class VIEW3D_MT_select_edit_armature(bpy.types.Menu):
+class VIEW3D_MT_select_edit_armature(Menu):
bl_label = "Select"
def draw(self, context):
@@ -663,7 +665,7 @@ class VIEW3D_MT_select_edit_armature(bpy.types.Menu):
layout.operator("object.select_pattern", text="Select Pattern...")
-class VIEW3D_MT_select_face(bpy.types.Menu): # XXX no matching enum
+class VIEW3D_MT_select_face(Menu): # XXX no matching enum
bl_label = "Select"
def draw(self, context):
@@ -676,7 +678,7 @@ class VIEW3D_MT_select_face(bpy.types.Menu): # XXX no matching enum
# ********** Object menu **********
-class VIEW3D_MT_object(bpy.types.Menu):
+class VIEW3D_MT_object(Menu):
bl_context = "objectmode"
bl_label = "Object"
@@ -734,7 +736,7 @@ class VIEW3D_MT_object(bpy.types.Menu):
layout.operator_menu_enum("object.convert", "target")
-class VIEW3D_MT_object_animation(bpy.types.Menu):
+class VIEW3D_MT_object_animation(Menu):
bl_label = "Animation"
def draw(self, context):
@@ -745,7 +747,7 @@ class VIEW3D_MT_object_animation(bpy.types.Menu):
layout.operator("anim.keying_set_active_set", text="Change Keying Set...")
-class VIEW3D_MT_object_clear(bpy.types.Menu):
+class VIEW3D_MT_object_clear(Menu):
bl_label = "Clear"
def draw(self, context):
@@ -757,7 +759,7 @@ class VIEW3D_MT_object_clear(bpy.types.Menu):
layout.operator("object.origin_clear", text="Origin")
-class VIEW3D_MT_object_specials(bpy.types.Menu):
+class VIEW3D_MT_object_specials(Menu):
bl_label = "Specials"
@classmethod
@@ -772,10 +774,16 @@ class VIEW3D_MT_object_specials(bpy.types.Menu):
if obj.type == 'CAMERA':
layout.operator_context = 'INVOKE_REGION_WIN'
- props = layout.operator("wm.context_modal_mouse", text="Camera Lens Angle")
- props.data_path_iter = "selected_editable_objects"
- props.data_path_item = "data.lens"
- props.input_scale = 0.1
+ if obj.data.type == 'PERSP':
+ props = layout.operator("wm.context_modal_mouse", text="Camera Lens Angle")
+ props.data_path_iter = "selected_editable_objects"
+ props.data_path_item = "data.lens"
+ props.input_scale = 0.1
+ else:
+ props = layout.operator("wm.context_modal_mouse", text="Camera Lens Scale")
+ props.data_path_iter = "selected_editable_objects"
+ props.data_path_item = "data.ortho_scale"
+ props.input_scale = 0.01
if not obj.data.dof_object:
#layout.label(text="Test Has DOF obj");
@@ -846,7 +854,7 @@ class VIEW3D_MT_object_specials(bpy.types.Menu):
props = layout.operator("object.hide_render_clear_all")
-class VIEW3D_MT_object_apply(bpy.types.Menu):
+class VIEW3D_MT_object_apply(Menu):
bl_label = "Apply"
def draw(self, context):
@@ -865,7 +873,7 @@ class VIEW3D_MT_object_apply(bpy.types.Menu):
layout.operator("object.duplicates_make_real")
-class VIEW3D_MT_object_parent(bpy.types.Menu):
+class VIEW3D_MT_object_parent(Menu):
bl_label = "Parent"
def draw(self, context):
@@ -875,7 +883,7 @@ class VIEW3D_MT_object_parent(bpy.types.Menu):
layout.operator("object.parent_clear", text="Clear")
-class VIEW3D_MT_object_track(bpy.types.Menu):
+class VIEW3D_MT_object_track(Menu):
bl_label = "Track"
def draw(self, context):
@@ -885,7 +893,7 @@ class VIEW3D_MT_object_track(bpy.types.Menu):
layout.operator("object.track_clear", text="Clear")
-class VIEW3D_MT_object_group(bpy.types.Menu):
+class VIEW3D_MT_object_group(Menu):
bl_label = "Group"
def draw(self, context):
@@ -900,7 +908,7 @@ class VIEW3D_MT_object_group(bpy.types.Menu):
layout.operator("group.objects_remove_active")
-class VIEW3D_MT_object_constraints(bpy.types.Menu):
+class VIEW3D_MT_object_constraints(Menu):
bl_label = "Constraints"
def draw(self, context):
@@ -911,7 +919,7 @@ class VIEW3D_MT_object_constraints(bpy.types.Menu):
layout.operator("object.constraints_clear")
-class VIEW3D_MT_object_showhide(bpy.types.Menu):
+class VIEW3D_MT_object_showhide(Menu):
bl_label = "Show/Hide"
def draw(self, context):
@@ -922,7 +930,7 @@ class VIEW3D_MT_object_showhide(bpy.types.Menu):
layout.operator("object.hide_view_set", text="Hide Unselected").unselected = True
-class VIEW3D_MT_make_single_user(bpy.types.Menu):
+class VIEW3D_MT_make_single_user(Menu):
bl_label = "Make Single User"
def draw(self, context):
@@ -944,7 +952,7 @@ class VIEW3D_MT_make_single_user(bpy.types.Menu):
props.animation = True
-class VIEW3D_MT_make_links(bpy.types.Menu):
+class VIEW3D_MT_make_links(Menu):
bl_label = "Make Links"
def draw(self, context):
@@ -961,7 +969,7 @@ class VIEW3D_MT_make_links(bpy.types.Menu):
layout.operator_enum("object.make_links_data", "type") # inline
-class VIEW3D_MT_object_game(bpy.types.Menu):
+class VIEW3D_MT_object_game(Menu):
bl_label = "Game"
def draw(self, context):
@@ -983,7 +991,7 @@ class VIEW3D_MT_object_game(bpy.types.Menu):
# ********** Vertex paint menu **********
-class VIEW3D_MT_paint_vertex(bpy.types.Menu):
+class VIEW3D_MT_paint_vertex(Menu):
bl_label = "Paint"
def draw(self, context):
@@ -998,7 +1006,7 @@ class VIEW3D_MT_paint_vertex(bpy.types.Menu):
layout.operator("paint.vertex_color_dirt")
-class VIEW3D_MT_hook(bpy.types.Menu):
+class VIEW3D_MT_hook(Menu):
bl_label = "Hooks"
def draw(self, context):
@@ -1017,7 +1025,7 @@ class VIEW3D_MT_hook(bpy.types.Menu):
layout.operator_menu_enum("object.hook_recenter", "modifier")
-class VIEW3D_MT_vertex_group(bpy.types.Menu):
+class VIEW3D_MT_vertex_group(Menu):
bl_label = "Vertex Groups"
def draw(self, context):
@@ -1042,7 +1050,7 @@ class VIEW3D_MT_vertex_group(bpy.types.Menu):
# ********** Weight paint menu **********
-class VIEW3D_MT_paint_weight(bpy.types.Menu):
+class VIEW3D_MT_paint_weight(Menu):
bl_label = "Weights"
def draw(self, context):
@@ -1072,7 +1080,7 @@ class VIEW3D_MT_paint_weight(bpy.types.Menu):
# ********** Sculpt menu **********
-class VIEW3D_MT_sculpt(bpy.types.Menu):
+class VIEW3D_MT_sculpt(Menu):
bl_label = "Sculpt"
def draw(self, context):
@@ -1098,17 +1106,18 @@ class VIEW3D_MT_sculpt(bpy.types.Menu):
layout.operator_menu_enum("brush.curve_preset", "shape")
layout.separator()
- sculpt_tool = brush.sculpt_tool
+ if brush is not None: # unlikely but can happen
+ sculpt_tool = brush.sculpt_tool
- if sculpt_tool != 'GRAB':
- layout.prop_menu_enum(brush, "stroke_method")
+ if sculpt_tool != 'GRAB':
+ layout.prop_menu_enum(brush, "stroke_method")
- if sculpt_tool in {'DRAW', 'PINCH', 'INFLATE', 'LAYER', 'CLAY'}:
- layout.prop_menu_enum(brush, "direction")
+ if sculpt_tool in {'DRAW', 'PINCH', 'INFLATE', 'LAYER', 'CLAY'}:
+ layout.prop_menu_enum(brush, "direction")
- if sculpt_tool == 'LAYER':
- layout.prop(brush, "use_persistent")
- layout.operator("sculpt.set_persistent_base")
+ if sculpt_tool == 'LAYER':
+ layout.prop(brush, "use_persistent")
+ layout.operator("sculpt.set_persistent_base")
layout.separator()
layout.prop(sculpt, "use_threaded", text="Threaded Sculpt")
@@ -1121,7 +1130,7 @@ class VIEW3D_MT_sculpt(bpy.types.Menu):
# ********** Particle menu **********
-class VIEW3D_MT_particle(bpy.types.Menu):
+class VIEW3D_MT_particle(Menu):
bl_label = "Particle"
def draw(self, context):
@@ -1153,7 +1162,7 @@ class VIEW3D_MT_particle(bpy.types.Menu):
layout.menu("VIEW3D_MT_particle_showhide")
-class VIEW3D_MT_particle_specials(bpy.types.Menu):
+class VIEW3D_MT_particle_specials(Menu):
bl_label = "Specials"
def draw(self, context):
@@ -1171,13 +1180,13 @@ class VIEW3D_MT_particle_specials(bpy.types.Menu):
layout.operator("particle.remove_doubles")
-class VIEW3D_MT_particle_showhide(ShowHideMenu, bpy.types.Menu):
+class VIEW3D_MT_particle_showhide(ShowHideMenu, Menu):
_operator_name = "particle"
# ********** Pose Menu **********
-class VIEW3D_MT_pose(bpy.types.Menu):
+class VIEW3D_MT_pose(Menu):
bl_label = "Pose"
def draw(self, context):
@@ -1243,10 +1252,10 @@ class VIEW3D_MT_pose(bpy.types.Menu):
layout.separator()
layout.menu("VIEW3D_MT_pose_showhide")
- layout.operator_menu_enum("pose.flags_set", 'mode', text="Bone Settings")
+ layout.menu("VIEW3D_MT_bone_options_toggle", text="Bone Settings")
-class VIEW3D_MT_pose_transform(bpy.types.Menu):
+class VIEW3D_MT_pose_transform(Menu):
bl_label = "Clear Transform"
def draw(self, context):
@@ -1254,14 +1263,18 @@ class VIEW3D_MT_pose_transform(bpy.types.Menu):
layout.operator("pose.transforms_clear", text="All")
+ layout.separator()
+
layout.operator("pose.loc_clear", text="Location")
layout.operator("pose.rot_clear", text="Rotation")
layout.operator("pose.scale_clear", text="Scale")
- layout.label(text="Origin")
+ layout.separator()
+
+ layout.operator("pose.user_transforms_clear", text="Reset unkeyed")
-class VIEW3D_MT_pose_slide(bpy.types.Menu):
+class VIEW3D_MT_pose_slide(Menu):
bl_label = "In-Betweens"
def draw(self, context):
@@ -1272,7 +1285,7 @@ class VIEW3D_MT_pose_slide(bpy.types.Menu):
layout.operator("pose.breakdown")
-class VIEW3D_MT_pose_propagate(bpy.types.Menu):
+class VIEW3D_MT_pose_propagate(Menu):
bl_label = "Propagate"
def draw(self, context):
@@ -1290,7 +1303,7 @@ class VIEW3D_MT_pose_propagate(bpy.types.Menu):
layout.operator("pose.propagate", text="On Selected Markers").mode = 'SELECTED_MARKERS'
-class VIEW3D_MT_pose_library(bpy.types.Menu):
+class VIEW3D_MT_pose_library(Menu):
bl_label = "Pose Library"
def draw(self, context):
@@ -1305,7 +1318,7 @@ class VIEW3D_MT_pose_library(bpy.types.Menu):
layout.operator("poselib.pose_remove", text="Remove Pose...")
-class VIEW3D_MT_pose_motion(bpy.types.Menu):
+class VIEW3D_MT_pose_motion(Menu):
bl_label = "Motion Paths"
def draw(self, context):
@@ -1315,7 +1328,7 @@ class VIEW3D_MT_pose_motion(bpy.types.Menu):
layout.operator("pose.paths_clear", text="Clear")
-class VIEW3D_MT_pose_group(bpy.types.Menu):
+class VIEW3D_MT_pose_group(Menu):
bl_label = "Bone Groups"
def draw(self, context):
@@ -1329,7 +1342,7 @@ class VIEW3D_MT_pose_group(bpy.types.Menu):
layout.operator("pose.group_unassign")
-class VIEW3D_MT_pose_ik(bpy.types.Menu):
+class VIEW3D_MT_pose_ik(Menu):
bl_label = "Inverse Kinematics"
def draw(self, context):
@@ -1339,7 +1352,7 @@ class VIEW3D_MT_pose_ik(bpy.types.Menu):
layout.operator("pose.ik_clear")
-class VIEW3D_MT_pose_constraints(bpy.types.Menu):
+class VIEW3D_MT_pose_constraints(Menu):
bl_label = "Constraints"
def draw(self, context):
@@ -1350,11 +1363,11 @@ class VIEW3D_MT_pose_constraints(bpy.types.Menu):
layout.operator("pose.constraints_clear")
-class VIEW3D_MT_pose_showhide(ShowHideMenu, bpy.types.Menu):
+class VIEW3D_MT_pose_showhide(ShowHideMenu, Menu):
_operator_name = "pose"
-class VIEW3D_MT_pose_apply(bpy.types.Menu):
+class VIEW3D_MT_pose_apply(Menu):
bl_label = "Apply"
def draw(self, context):
@@ -1364,10 +1377,53 @@ class VIEW3D_MT_pose_apply(bpy.types.Menu):
layout.operator("pose.visual_transform_apply")
+class BoneOptions:
+ def draw(self, context):
+ layout = self.layout
+
+ options = [
+ "show_wire",
+ "use_deform",
+ "use_envelope_multiply",
+ "use_inherit_rotation",
+ "use_inherit_scale",
+ ]
+
+ if context.mode == 'EDIT_ARMATURE':
+ bone_props = bpy.types.EditBone.bl_rna.properties
+ data_path_iter = "selected_bones"
+ opt_suffix = ""
+ options.append("lock")
+ else: # posemode
+ bone_props = bpy.types.Bone.bl_rna.properties
+ data_path_iter = "selected_pose_bones"
+ opt_suffix = "bone."
+
+ for opt in options:
+ props = layout.operator("wm.context_collection_boolean_set", text=bone_props[opt].name)
+ props.data_path_iter = data_path_iter
+ props.data_path_item = opt_suffix + opt
+ props.type = self.type
+
+
+class VIEW3D_MT_bone_options_toggle(Menu, BoneOptions):
+ bl_label = "Toggle Bone Options"
+ type = 'TOGGLE'
+
+
+class VIEW3D_MT_bone_options_enable(Menu, BoneOptions):
+ bl_label = "Enable Bone Options"
+ type = 'ENABLE'
+
+
+class VIEW3D_MT_bone_options_disable(Menu, BoneOptions):
+ bl_label = "Disable Bone Options"
+ type = 'DISABLE'
+
# ********** Edit Menus, suffix from ob.type **********
-class VIEW3D_MT_edit_mesh(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh(Menu):
bl_label = "Mesh"
def draw(self, context):
@@ -1414,7 +1470,7 @@ class VIEW3D_MT_edit_mesh(bpy.types.Menu):
layout.menu("VIEW3D_MT_edit_mesh_showhide")
-class VIEW3D_MT_edit_mesh_specials(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_specials(Menu):
bl_label = "Specials"
def draw(self, context):
@@ -1439,7 +1495,7 @@ class VIEW3D_MT_edit_mesh_specials(bpy.types.Menu):
layout.operator("mesh.select_vertex_path")
-class VIEW3D_MT_edit_mesh_select_mode(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_select_mode(Menu):
bl_label = "Mesh Select Mode"
def draw(self, context):
@@ -1460,7 +1516,7 @@ class VIEW3D_MT_edit_mesh_select_mode(bpy.types.Menu):
prop.data_path = "tool_settings.mesh_select_mode"
-class VIEW3D_MT_edit_mesh_extrude(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_extrude(Menu):
bl_label = "Extrude"
_extrude_funcs = { \
@@ -1494,7 +1550,7 @@ class VIEW3D_MT_edit_mesh_extrude(bpy.types.Menu):
self._extrude_funcs[menu_id](layout)
-class VIEW3D_OT_edit_mesh_extrude_individual_move(bpy.types.Operator):
+class VIEW3D_OT_edit_mesh_extrude_individual_move(Operator):
"Extrude individual elements and move"
bl_label = "Extrude Individual and Move"
bl_idname = "view3d.edit_mesh_extrude_individual_move"
@@ -1523,7 +1579,7 @@ class VIEW3D_OT_edit_mesh_extrude_individual_move(bpy.types.Operator):
return self.execute(context)
-class VIEW3D_OT_edit_mesh_extrude_move(bpy.types.Operator):
+class VIEW3D_OT_edit_mesh_extrude_move(Operator):
"Extrude and move along normals"
bl_label = "Extrude and Move on Normals"
bl_idname = "view3d.edit_mesh_extrude_move_normal"
@@ -1549,7 +1605,7 @@ class VIEW3D_OT_edit_mesh_extrude_move(bpy.types.Operator):
return self.execute(context)
-class VIEW3D_MT_edit_mesh_vertices(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_vertices(Menu):
bl_label = "Vertices"
def draw(self, context):
@@ -1581,7 +1637,7 @@ class VIEW3D_MT_edit_mesh_vertices(bpy.types.Menu):
layout.menu("VIEW3D_MT_hook")
-class VIEW3D_MT_edit_mesh_edges(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_edges(Menu):
bl_label = "Edges"
def draw(self, context):
@@ -1621,7 +1677,7 @@ class VIEW3D_MT_edit_mesh_edges(bpy.types.Menu):
layout.operator("mesh.region_to_loop")
-class VIEW3D_MT_edit_mesh_faces(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_faces(Menu):
bl_label = "Faces"
bl_idname = "VIEW3D_MT_edit_mesh_faces"
@@ -1669,7 +1725,7 @@ class VIEW3D_MT_edit_mesh_faces(bpy.types.Menu):
layout.operator_menu_enum("mesh.colors_mirror", "axis")
-class VIEW3D_MT_edit_mesh_normals(bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_normals(Menu):
bl_label = "Normals"
def draw(self, context):
@@ -1683,7 +1739,7 @@ class VIEW3D_MT_edit_mesh_normals(bpy.types.Menu):
layout.operator("mesh.flip_normals")
-class VIEW3D_MT_edit_mesh_showhide(ShowHideMenu, bpy.types.Menu):
+class VIEW3D_MT_edit_mesh_showhide(ShowHideMenu, Menu):
_operator_name = "mesh"
# Edit Curve
@@ -1723,13 +1779,13 @@ def draw_curve(self, context):
layout.menu("VIEW3D_MT_edit_curve_showhide")
-class VIEW3D_MT_edit_curve(bpy.types.Menu):
+class VIEW3D_MT_edit_curve(Menu):
bl_label = "Curve"
draw = draw_curve
-class VIEW3D_MT_edit_curve_ctrlpoints(bpy.types.Menu):
+class VIEW3D_MT_edit_curve_ctrlpoints(Menu):
bl_label = "Control Points"
def draw(self, context):
@@ -1751,7 +1807,7 @@ class VIEW3D_MT_edit_curve_ctrlpoints(bpy.types.Menu):
layout.menu("VIEW3D_MT_hook")
-class VIEW3D_MT_edit_curve_segments(bpy.types.Menu):
+class VIEW3D_MT_edit_curve_segments(Menu):
bl_label = "Segments"
def draw(self, context):
@@ -1761,7 +1817,7 @@ class VIEW3D_MT_edit_curve_segments(bpy.types.Menu):
layout.operator("curve.switch_direction")
-class VIEW3D_MT_edit_curve_specials(bpy.types.Menu):
+class VIEW3D_MT_edit_curve_specials(Menu):
bl_label = "Specials"
def draw(self, context):
@@ -1775,17 +1831,17 @@ class VIEW3D_MT_edit_curve_specials(bpy.types.Menu):
layout.operator("curve.smooth_radius")
-class VIEW3D_MT_edit_curve_showhide(ShowHideMenu, bpy.types.Menu):
+class VIEW3D_MT_edit_curve_showhide(ShowHideMenu, Menu):
_operator_name = "curve"
-class VIEW3D_MT_edit_surface(bpy.types.Menu):
+class VIEW3D_MT_edit_surface(Menu):
bl_label = "Surface"
draw = draw_curve
-class VIEW3D_MT_edit_font(bpy.types.Menu):
+class VIEW3D_MT_edit_font(Menu):
bl_label = "Text"
def draw(self, context):
@@ -1805,7 +1861,7 @@ class VIEW3D_MT_edit_font(bpy.types.Menu):
layout.operator("font.style_toggle", text="Toggle Small Caps").style = 'SMALL_CAPS'
-class VIEW3D_MT_edit_text_chars(bpy.types.Menu):
+class VIEW3D_MT_edit_text_chars(Menu):
bl_label = "Special Characters"
def draw(self, context):
@@ -1839,7 +1895,7 @@ class VIEW3D_MT_edit_text_chars(bpy.types.Menu):
layout.operator("font.text_insert", text="Spanish Exclamation Mark|Alt !").text = b'\xC2\xA1'.decode()
-class VIEW3D_MT_edit_meta(bpy.types.Menu):
+class VIEW3D_MT_edit_meta(Menu):
bl_label = "Metaball"
def draw(self, context):
@@ -1872,7 +1928,7 @@ class VIEW3D_MT_edit_meta(bpy.types.Menu):
layout.menu("VIEW3D_MT_edit_meta_showhide")
-class VIEW3D_MT_edit_meta_showhide(bpy.types.Menu):
+class VIEW3D_MT_edit_meta_showhide(Menu):
bl_label = "Show/Hide"
def draw(self, context):
@@ -1883,7 +1939,7 @@ class VIEW3D_MT_edit_meta_showhide(bpy.types.Menu):
layout.operator("mball.hide_metaelems", text="Hide Unselected").unselected = True
-class VIEW3D_MT_edit_lattice(bpy.types.Menu):
+class VIEW3D_MT_edit_lattice(Menu):
bl_label = "Lattice"
def draw(self, context):
@@ -1905,7 +1961,7 @@ class VIEW3D_MT_edit_lattice(bpy.types.Menu):
layout.prop_menu_enum(settings, "proportional_edit_falloff")
-class VIEW3D_MT_edit_armature(bpy.types.Menu):
+class VIEW3D_MT_edit_armature(Menu):
bl_label = "Armature"
def draw(self, context):
@@ -1957,10 +2013,10 @@ class VIEW3D_MT_edit_armature(bpy.types.Menu):
layout.separator()
- layout.operator_menu_enum("armature.flags_set", "mode", text="Bone Settings")
+ layout.menu("VIEW3D_MT_bone_options_toggle", text="Bone Settings")
-class VIEW3D_MT_armature_specials(bpy.types.Menu):
+class VIEW3D_MT_armature_specials(Menu):
bl_label = "Specials"
def draw(self, context):
@@ -1980,7 +2036,7 @@ class VIEW3D_MT_armature_specials(bpy.types.Menu):
layout.operator("armature.flip_names", text="Flip Names")
-class VIEW3D_MT_edit_armature_parent(bpy.types.Menu):
+class VIEW3D_MT_edit_armature_parent(Menu):
bl_label = "Parent"
def draw(self, context):
@@ -1990,7 +2046,7 @@ class VIEW3D_MT_edit_armature_parent(bpy.types.Menu):
layout.operator("armature.parent_clear", text="Clear")
-class VIEW3D_MT_edit_armature_roll(bpy.types.Menu):
+class VIEW3D_MT_edit_armature_roll(Menu):
bl_label = "Bone Roll"
def draw(self, context):
@@ -2005,7 +2061,7 @@ class VIEW3D_MT_edit_armature_roll(bpy.types.Menu):
# ********** Panel **********
-class VIEW3D_PT_view3d_properties(bpy.types.Panel):
+class VIEW3D_PT_view3d_properties(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "View"
@@ -2025,9 +2081,11 @@ class VIEW3D_PT_view3d_properties(bpy.types.Panel):
col.prop(view, "lens")
col.label(text="Lock to Object:")
col.prop(view, "lock_object", text="")
- if view.lock_object and view.lock_object.type == 'ARMATURE':
- col.prop_search(view, "lock_bone", view.lock_object.data, "bones", text="")
- elif not view.lock_object:
+ lock_object = view.lock_object
+ if lock_object:
+ if lock_object.type == 'ARMATURE':
+ col.prop_search(view, "lock_bone", lock_object.data, "edit_bones" if lock_object.mode == 'EDIT' else "bones", text="")
+ else:
col.prop(view, "lock_cursor", text="Lock to Cursor")
col = layout.column()
@@ -2046,7 +2104,7 @@ class VIEW3D_PT_view3d_properties(bpy.types.Panel):
layout.column().prop(view, "cursor_location")
-class VIEW3D_PT_view3d_name(bpy.types.Panel):
+class VIEW3D_PT_view3d_name(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "Item"
@@ -2071,7 +2129,7 @@ class VIEW3D_PT_view3d_name(bpy.types.Panel):
row.prop(bone, "name", text="")
-class VIEW3D_PT_view3d_display(bpy.types.Panel):
+class VIEW3D_PT_view3d_display(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "Display"
@@ -2143,7 +2201,7 @@ class VIEW3D_PT_view3d_display(bpy.types.Panel):
row.prop(region, "use_box_clip")
-class VIEW3D_PT_view3d_meshdisplay(bpy.types.Panel):
+class VIEW3D_PT_view3d_meshdisplay(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "Mesh Display"
@@ -2180,7 +2238,7 @@ class VIEW3D_PT_view3d_meshdisplay(bpy.types.Panel):
col.prop(mesh, "show_extra_face_area")
-class VIEW3D_PT_view3d_curvedisplay(bpy.types.Panel):
+class VIEW3D_PT_view3d_curvedisplay(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "Curve Display"
@@ -2202,7 +2260,7 @@ class VIEW3D_PT_view3d_curvedisplay(bpy.types.Panel):
col.prop(context.scene.tool_settings, "normal_size", text="Normal Size")
-class VIEW3D_PT_background_image(bpy.types.Panel):
+class VIEW3D_PT_background_image(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "Background Images"
@@ -2255,7 +2313,7 @@ class VIEW3D_PT_background_image(bpy.types.Panel):
row.prop(bg, "offset_y", text="Y")
-class VIEW3D_PT_transform_orientations(bpy.types.Panel):
+class VIEW3D_PT_transform_orientations(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "Transform Orientations"
@@ -2283,7 +2341,7 @@ class VIEW3D_PT_transform_orientations(bpy.types.Panel):
col.operator("transform.delete_orientation", text="Delete")
-class VIEW3D_PT_etch_a_ton(bpy.types.Panel):
+class VIEW3D_PT_etch_a_ton(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "Skeleton Sketching"
@@ -2328,7 +2386,7 @@ class VIEW3D_PT_etch_a_ton(bpy.types.Panel):
col.operator("sketch.convert", text="Convert")
-class VIEW3D_PT_context_properties(bpy.types.Panel):
+class VIEW3D_PT_context_properties(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_label = "Properties"
@@ -2358,7 +2416,7 @@ class VIEW3D_PT_context_properties(bpy.types.Panel):
def draw(self, context):
import rna_prop_ui
- member = __class__._active_context_member(context)
+ member = VIEW3D_PT_context_properties._active_context_member(context)
if member:
# Draw with no edit button
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index 503a1d806ac..aa26cb43eed 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -18,6 +18,7 @@
# <pep8 compliant>
import bpy
+from bpy.types import Menu, Panel
class View3DPanel():
@@ -53,15 +54,18 @@ def draw_gpencil_tools(context, layout):
row = col.row()
row.operator("gpencil.draw", text="Draw").mode = 'DRAW'
row.operator("gpencil.draw", text="Line").mode = 'DRAW_STRAIGHT'
+
+ row = col.row()
+ row.operator("gpencil.draw", text="Poly").mode = 'DRAW_POLY'
row.operator("gpencil.draw", text="Erase").mode = 'ERASER'
row = col.row()
row.prop(context.tool_settings, "use_grease_pencil_sessions")
-# ********** default tools for objectmode ****************
+# ********** default tools for objectmode ****************
-class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_objectmode(View3DPanel, Panel):
bl_context = "objectmode"
bl_label = "Object Tools"
@@ -88,8 +92,9 @@ class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel):
col = layout.column(align=True)
col.label(text="Shading:")
- col.operator("object.shade_smooth", text="Smooth")
- col.operator("object.shade_flat", text="Flat")
+ row = col.row(align=True)
+ row.operator("object.shade_smooth", text="Smooth")
+ row.operator("object.shade_flat", text="Flat")
draw_keyframing_tools(context, layout)
@@ -105,7 +110,7 @@ class VIEW3D_PT_tools_objectmode(View3DPanel, bpy.types.Panel):
# ********** default tools for editmode_mesh ****************
-class VIEW3D_PT_tools_meshedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_meshedit(View3DPanel, Panel):
bl_context = "mesh_edit"
bl_label = "Mesh Tools"
@@ -117,7 +122,8 @@ class VIEW3D_PT_tools_meshedit(View3DPanel, bpy.types.Panel):
col.operator("transform.translate")
col.operator("transform.rotate")
col.operator("transform.resize", text="Scale")
- col.operator("transform.shrink_fatten", text="Along Normal")
+ col.operator("transform.shrink_fatten", text="Shrink/Fatten")
+ col.operator("transform.push_pull", text="Push/Pull")
col = layout.column(align=True)
col.label(text="Deform:")
@@ -154,15 +160,16 @@ class VIEW3D_PT_tools_meshedit(View3DPanel, bpy.types.Panel):
col = layout.column(align=True)
col.label(text="Shading:")
- col.operator("mesh.faces_shade_smooth", text="Smooth")
- col.operator("mesh.faces_shade_flat", text="Flat")
+ row = col.row(align=True)
+ row.operator("mesh.faces_shade_smooth", text="Smooth")
+ row.operator("mesh.faces_shade_flat", text="Flat")
draw_repeat_tools(context, layout)
draw_gpencil_tools(context, layout)
-class VIEW3D_PT_tools_meshedit_options(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_meshedit_options(View3DPanel, Panel):
bl_context = "mesh_edit"
bl_label = "Mesh Options"
@@ -188,7 +195,7 @@ class VIEW3D_PT_tools_meshedit_options(View3DPanel, bpy.types.Panel):
# ********** default tools for editmode_curve ****************
-class VIEW3D_PT_tools_curveedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_curveedit(View3DPanel, Panel):
bl_context = "curve_edit"
bl_label = "Curve Tools"
@@ -234,7 +241,7 @@ class VIEW3D_PT_tools_curveedit(View3DPanel, bpy.types.Panel):
# ********** default tools for editmode_surface ****************
-class VIEW3D_PT_tools_surfaceedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_surfaceedit(View3DPanel, Panel):
bl_context = "surface_edit"
bl_label = "Surface Tools"
@@ -266,7 +273,7 @@ class VIEW3D_PT_tools_surfaceedit(View3DPanel, bpy.types.Panel):
# ********** default tools for editmode_text ****************
-class VIEW3D_PT_tools_textedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_textedit(View3DPanel, Panel):
bl_context = "text_edit"
bl_label = "Text Tools"
@@ -296,7 +303,7 @@ class VIEW3D_PT_tools_textedit(View3DPanel, bpy.types.Panel):
# ********** default tools for editmode_armature ****************
-class VIEW3D_PT_tools_armatureedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_armatureedit(View3DPanel, Panel):
bl_context = "armature_edit"
bl_label = "Armature Tools"
@@ -325,7 +332,7 @@ class VIEW3D_PT_tools_armatureedit(View3DPanel, bpy.types.Panel):
draw_gpencil_tools(context, layout)
-class VIEW3D_PT_tools_armatureedit_options(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_armatureedit_options(View3DPanel, Panel):
bl_context = "armature_edit"
bl_label = "Armature Options"
@@ -337,7 +344,7 @@ class VIEW3D_PT_tools_armatureedit_options(View3DPanel, bpy.types.Panel):
# ********** default tools for editmode_mball ****************
-class VIEW3D_PT_tools_mballedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_mballedit(View3DPanel, Panel):
bl_context = "mball_edit"
bl_label = "Meta Tools"
@@ -357,7 +364,7 @@ class VIEW3D_PT_tools_mballedit(View3DPanel, bpy.types.Panel):
# ********** default tools for editmode_lattice ****************
-class VIEW3D_PT_tools_latticeedit(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_latticeedit(View3DPanel, Panel):
bl_context = "lattice_edit"
bl_label = "Lattice Tools"
@@ -381,7 +388,7 @@ class VIEW3D_PT_tools_latticeedit(View3DPanel, bpy.types.Panel):
# ********** default tools for posemode ****************
-class VIEW3D_PT_tools_posemode(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_posemode(View3DPanel, Panel):
bl_context = "posemode"
bl_label = "Pose Tools"
@@ -422,7 +429,7 @@ class VIEW3D_PT_tools_posemode(View3DPanel, bpy.types.Panel):
draw_gpencil_tools(context, layout)
-class VIEW3D_PT_tools_posemode_options(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_posemode_options(View3DPanel, Panel):
bl_context = "posemode"
bl_label = "Pose Options"
@@ -456,7 +463,7 @@ class PaintPanel():
return None
-class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush(PaintPanel, Panel):
bl_label = "Brush"
@classmethod
@@ -466,7 +473,7 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
def draw(self, context):
layout = self.layout
- settings = __class__.paint_settings(context)
+ settings = self.paint_settings(context)
brush = settings.brush
if not context.particle_edit_object:
@@ -674,7 +681,7 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
#row.prop(brush, "use_pressure_jitter", toggle=True, text="")
-class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush_texture(PaintPanel, Panel):
bl_label = "Texture"
bl_options = {'DEFAULT_CLOSED'}
@@ -687,7 +694,7 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel):
def draw(self, context):
layout = self.layout
- settings = __class__.paint_settings(context)
+ settings = self.paint_settings(context)
brush = settings.brush
tex_slot = brush.texture_slot
@@ -772,7 +779,7 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel):
col.active = tex_slot.map_mode in {'FIXED', 'TILED'} and brush.use_texture_overlay
-class VIEW3D_PT_tools_brush_tool(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush_tool(PaintPanel, Panel):
bl_label = "Tool"
bl_options = {'DEFAULT_CLOSED'}
@@ -786,7 +793,7 @@ class VIEW3D_PT_tools_brush_tool(PaintPanel, bpy.types.Panel):
def draw(self, context):
layout = self.layout
- settings = __class__.paint_settings(context)
+ settings = self.paint_settings(context)
brush = settings.brush
col = layout.column(align=True)
@@ -806,7 +813,7 @@ class VIEW3D_PT_tools_brush_tool(PaintPanel, bpy.types.Panel):
row.prop(brush, "use_paint_image", text="", icon='TPAINT_HLT')
-class VIEW3D_PT_tools_brush_stroke(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush_stroke(PaintPanel, Panel):
bl_label = "Stroke"
bl_options = {'DEFAULT_CLOSED'}
@@ -821,7 +828,7 @@ class VIEW3D_PT_tools_brush_stroke(PaintPanel, bpy.types.Panel):
def draw(self, context):
layout = self.layout
- settings = __class__.paint_settings(context)
+ settings = self.paint_settings(context)
brush = settings.brush
image_paint = context.image_paint_object
@@ -904,7 +911,7 @@ class VIEW3D_PT_tools_brush_stroke(PaintPanel, bpy.types.Panel):
# row.prop(brush, "use_pressure_spacing", toggle=True, text="")
-class VIEW3D_PT_tools_brush_curve(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush_curve(PaintPanel, Panel):
bl_label = "Curve"
bl_options = {'DEFAULT_CLOSED'}
@@ -931,7 +938,7 @@ class VIEW3D_PT_tools_brush_curve(PaintPanel, bpy.types.Panel):
row.operator("brush.curve_preset", icon="NOCURVE", text="").shape = 'MAX'
-class VIEW3D_PT_sculpt_options(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_sculpt_options(PaintPanel, Panel):
bl_label = "Options"
bl_options = {'DEFAULT_CLOSED'}
@@ -944,7 +951,6 @@ class VIEW3D_PT_sculpt_options(PaintPanel, bpy.types.Panel):
tool_settings = context.tool_settings
sculpt = tool_settings.sculpt
- settings = __class__.paint_settings(context)
layout.label(text="Lock:")
row = layout.row(align=True)
@@ -962,7 +968,7 @@ class VIEW3D_PT_sculpt_options(PaintPanel, bpy.types.Panel):
layout.prop(tool_settings, "sculpt_paint_use_unified_strength", text="Strength")
-class VIEW3D_PT_sculpt_symmetry(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_sculpt_symmetry(PaintPanel, Panel):
bl_label = "Symmetry"
bl_options = {'DEFAULT_CLOSED'}
@@ -974,7 +980,6 @@ class VIEW3D_PT_sculpt_symmetry(PaintPanel, bpy.types.Panel):
layout = self.layout
sculpt = context.tool_settings.sculpt
- settings = __class__.paint_settings(context)
split = layout.split()
@@ -991,20 +996,28 @@ class VIEW3D_PT_sculpt_symmetry(PaintPanel, bpy.types.Panel):
layout.prop(sculpt, "use_symmetry_feather", text="Feather")
-class VIEW3D_PT_tools_brush_appearance(PaintPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_brush_appearance(PaintPanel, Panel):
bl_label = "Appearance"
bl_options = {'DEFAULT_CLOSED'}
@classmethod
def poll(cls, context):
- return (context.sculpt_object and context.tool_settings.sculpt) or (context.vertex_paint_object and context.tool_settings.vertex_paint) or (context.weight_paint_object and context.tool_settings.weight_paint) or (context.image_paint_object and context.tool_settings.image_paint)
+ ts = context.tool_settings
+ return ((context.sculpt_object and ts.sculpt) or
+ (context.vertex_paint_object and ts.vertex_paint) or
+ (context.weight_paint_object and ts.weight_paint) or
+ (context.image_paint_object and ts.image_paint))
def draw(self, context):
layout = self.layout
- settings = __class__.paint_settings(context)
+ settings = self.paint_settings(context)
brush = settings.brush
+ if brush is None: # unlikely but can happen
+ layout.label(text="Brush Unset")
+ return
+
col = layout.column()
if context.sculpt_object and context.tool_settings.sculpt:
@@ -1029,7 +1042,7 @@ class VIEW3D_PT_tools_brush_appearance(PaintPanel, bpy.types.Panel):
# ********** default tools for weightpaint ****************
-class VIEW3D_PT_tools_weightpaint(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_weightpaint(View3DPanel, Panel):
bl_context = "weightpaint"
bl_label = "Weight Tools"
@@ -1039,7 +1052,7 @@ class VIEW3D_PT_tools_weightpaint(View3DPanel, bpy.types.Panel):
ob = context.active_object
col = layout.column()
- col.active = ob.vertex_groups.active != None
+ col.active = ob.vertex_groups.active is not None
col.operator("object.vertex_group_normalize_all", text="Normalize All")
col.operator("object.vertex_group_normalize", text="Normalize")
col.operator("object.vertex_group_invert", text="Invert")
@@ -1047,7 +1060,7 @@ class VIEW3D_PT_tools_weightpaint(View3DPanel, bpy.types.Panel):
col.operator("object.vertex_group_levels", text="Levels")
-class VIEW3D_PT_tools_weightpaint_options(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_weightpaint_options(View3DPanel, Panel):
bl_context = "weightpaint"
bl_label = "Options"
@@ -1084,7 +1097,7 @@ class VIEW3D_PT_tools_weightpaint_options(View3DPanel, bpy.types.Panel):
# ********** default tools for vertexpaint ****************
-class VIEW3D_PT_tools_vertexpaint(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_vertexpaint(View3DPanel, Panel):
bl_context = "vertexpaint"
bl_label = "Options"
@@ -1113,7 +1126,7 @@ class VIEW3D_PT_tools_vertexpaint(View3DPanel, bpy.types.Panel):
# ********** default tools for texturepaint ****************
-class VIEW3D_PT_tools_projectpaint(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_projectpaint(View3DPanel, Panel):
bl_context = "imagepaint"
bl_label = "Project Paint"
@@ -1205,7 +1218,7 @@ class VIEW3D_PT_imagepaint_options(PaintPanel):
col.prop(tool_settings, "sculpt_paint_use_unified_strength", text="Strength")
-class VIEW3D_MT_tools_projectpaint_clone(bpy.types.Menu):
+class VIEW3D_MT_tools_projectpaint_clone(Menu):
bl_label = "Clone Layer"
def draw(self, context):
@@ -1216,7 +1229,7 @@ class VIEW3D_MT_tools_projectpaint_clone(bpy.types.Menu):
prop.value = i
-class VIEW3D_MT_tools_projectpaint_stencil(bpy.types.Menu):
+class VIEW3D_MT_tools_projectpaint_stencil(Menu):
bl_label = "Mask Layer"
def draw(self, context):
@@ -1227,7 +1240,7 @@ class VIEW3D_MT_tools_projectpaint_stencil(bpy.types.Menu):
prop.value = i
-class VIEW3D_PT_tools_particlemode(View3DPanel, bpy.types.Panel):
+class VIEW3D_PT_tools_particlemode(View3DPanel, Panel):
'''default tools for particle mode'''
bl_context = "particlemode"
bl_label = "Options"
diff --git a/release/scripts/startup/keyingsets_builtins.py b/release/scripts/startup/keyingsets_builtins.py
index 8cb63ea48cf..6b12c95e072 100644
--- a/release/scripts/startup/keyingsets_builtins.py
+++ b/release/scripts/startup/keyingsets_builtins.py
@@ -32,13 +32,14 @@ in lost (i.e. unkeyed) animation.
import bpy
import keyingsets_utils
+from bpy.types import KeyingSetInfo
###############################
# Built-In KeyingSets
# Location
-class BUILTIN_KSI_Location(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_Location(KeyingSetInfo):
bl_label = "Location"
# poll - use predefined callback for selected bones/objects
@@ -52,7 +53,7 @@ class BUILTIN_KSI_Location(bpy.types.KeyingSetInfo):
# Rotation
-class BUILTIN_KSI_Rotation(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_Rotation(KeyingSetInfo):
bl_label = "Rotation"
# poll - use predefined callback for selected bones/objects
@@ -66,7 +67,7 @@ class BUILTIN_KSI_Rotation(bpy.types.KeyingSetInfo):
# Scale
-class BUILTIN_KSI_Scaling(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_Scaling(KeyingSetInfo):
bl_label = "Scaling"
# poll - use predefined callback for selected bones/objects
@@ -82,7 +83,7 @@ class BUILTIN_KSI_Scaling(bpy.types.KeyingSetInfo):
# LocRot
-class BUILTIN_KSI_LocRot(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_LocRot(KeyingSetInfo):
bl_label = "LocRot"
# poll - use predefined callback for selected bones/objects
@@ -100,7 +101,7 @@ class BUILTIN_KSI_LocRot(bpy.types.KeyingSetInfo):
# LocScale
-class BUILTIN_KSI_LocScale(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_LocScale(KeyingSetInfo):
bl_label = "LocScale"
# poll - use predefined callback for selected bones/objects
@@ -118,7 +119,7 @@ class BUILTIN_KSI_LocScale(bpy.types.KeyingSetInfo):
# LocRotScale
-class BUILTIN_KSI_LocRotScale(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_LocRotScale(KeyingSetInfo):
bl_label = "LocRotScale"
# poll - use predefined callback for selected bones/objects
@@ -138,7 +139,7 @@ class BUILTIN_KSI_LocRotScale(bpy.types.KeyingSetInfo):
# RotScale
-class BUILTIN_KSI_RotScale(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_RotScale(KeyingSetInfo):
bl_label = "RotScale"
# poll - use predefined callback for selected bones/objects
@@ -158,7 +159,7 @@ class BUILTIN_KSI_RotScale(bpy.types.KeyingSetInfo):
# Location
-class BUILTIN_KSI_VisualLoc(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_VisualLoc(KeyingSetInfo):
bl_label = "Visual Location"
bl_options = {'INSERTKEY_VISUAL'}
@@ -174,7 +175,7 @@ class BUILTIN_KSI_VisualLoc(bpy.types.KeyingSetInfo):
# Rotation
-class BUILTIN_KSI_VisualRot(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_VisualRot(KeyingSetInfo):
bl_label = "Visual Rotation"
bl_options = {'INSERTKEY_VISUAL'}
@@ -190,7 +191,7 @@ class BUILTIN_KSI_VisualRot(bpy.types.KeyingSetInfo):
# VisualLocRot
-class BUILTIN_KSI_VisualLocRot(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_VisualLocRot(KeyingSetInfo):
bl_label = "Visual LocRot"
bl_options = {'INSERTKEY_VISUAL'}
@@ -212,7 +213,7 @@ class BUILTIN_KSI_VisualLocRot(bpy.types.KeyingSetInfo):
# Available
-class BUILTIN_KSI_Available(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_Available(KeyingSetInfo):
bl_label = "Available"
# poll - selected objects or selected object with animation data
@@ -234,7 +235,7 @@ class BUILTIN_KSI_Available(bpy.types.KeyingSetInfo):
# All properties that are likely to get animated in a character rig
-class BUILTIN_KSI_WholeCharacter(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_WholeCharacter(KeyingSetInfo):
bl_label = "Whole Character"
# these prefixes should be avoided, as they are not really bones
@@ -265,7 +266,7 @@ class BUILTIN_KSI_WholeCharacter(bpy.types.KeyingSetInfo):
# loc, rot, scale - only include unlocked ones
ksi.doLoc(ks, bone)
- if bone.rotation_mode in ('QUATERNION', 'AXIS_ANGLE'):
+ if bone.rotation_mode in {'QUATERNION', 'AXIS_ANGLE'}:
ksi.doRot4d(ks, bone)
else:
ksi.doRot3d(ks, bone)
@@ -365,7 +366,7 @@ class BUILTIN_KSI_WholeCharacter(bpy.types.KeyingSetInfo):
# Delta Location
-class BUILTIN_KSI_DeltaLocation(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_DeltaLocation(KeyingSetInfo):
bl_label = "Delta Location"
# poll - selected objects only (and only if active object in object mode)
@@ -390,7 +391,7 @@ class BUILTIN_KSI_DeltaLocation(bpy.types.KeyingSetInfo):
# Delta Rotation
-class BUILTIN_KSI_DeltaRotation(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_DeltaRotation(KeyingSetInfo):
bl_label = "Delta Rotation"
# poll - selected objects only (and only if active object in object mode)
@@ -407,7 +408,7 @@ class BUILTIN_KSI_DeltaRotation(bpy.types.KeyingSetInfo):
# add the property name to the base path
# rotation mode affects the property used
if data.rotation_mode == 'QUATERNION':
- path = path_add_property(base_path, "delta_rotation_quaternion")
+ path = keyingsets_utils.path_add_property(base_path, "delta_rotation_quaternion")
elif data.rotation_mode == 'AXIS_ANGLE':
# XXX: for now, this is not available yet
#path = path_add_property(base_path, "delta_rotation_axis_angle")
@@ -423,7 +424,7 @@ class BUILTIN_KSI_DeltaRotation(bpy.types.KeyingSetInfo):
# Delta Scale
-class BUILTIN_KSI_DeltaScale(bpy.types.KeyingSetInfo):
+class BUILTIN_KSI_DeltaScale(KeyingSetInfo):
bl_label = "Delta Scale"
# poll - selected objects only (and only if active object in object mode)
diff --git a/release/scripts/templates/addon_add_object.py b/release/scripts/templates/addon_add_object.py
index 67e033271f4..833ac600995 100644
--- a/release/scripts/templates/addon_add_object.py
+++ b/release/scripts/templates/addon_add_object.py
@@ -35,7 +35,7 @@ def add_object(self, context):
mesh.from_pydata(verts, edges, faces)
# useful for development when the mesh may be invalid.
# mesh.validate(verbose=True)
- add_object_data(context, mesh_data, operator=self)
+ add_object_data(context, mesh, operator=self)
class OBJECT_OT_add_object(bpy.types.Operator, AddObjectHelper):
@@ -45,10 +45,12 @@ class OBJECT_OT_add_object(bpy.types.Operator, AddObjectHelper):
bl_description = "Create a new Mesh Object"
bl_options = {'REGISTER', 'UNDO'}
- scale = FloatVectorProperty(name='scale',
- default=(1.0, 1.0, 1.0),
- subtype='TRANSLATION',
- description='scaling')
+ scale = FloatVectorProperty(
+ name='scale',
+ default=(1.0, 1.0, 1.0),
+ subtype='TRANSLATION',
+ description='scaling',
+ )
def execute(self, context):
diff --git a/release/scripts/templates/batch_export.py b/release/scripts/templates/batch_export.py
new file mode 100644
index 00000000000..45d26f4b525
--- /dev/null
+++ b/release/scripts/templates/batch_export.py
@@ -0,0 +1,33 @@
+# exports each selected object into its own file
+
+import bpy
+import os
+
+# export to blend file location
+basedir = os.path.dirname(bpy.data.filepath)
+
+if not basedir:
+ raise Exception("Blend file is not saved")
+
+selection = bpy.context.selected_objects
+
+bpy.ops.object.select_all(action='DESELECT')
+
+for obj in selection:
+
+ obj.select = True
+
+ name = bpy.path.clean_name(obj.name)
+ fn = os.path.join(basedir, name)
+
+ bpy.ops.export_scene.fbx(filepath=fn + ".fbx", use_selection=True)
+
+ ## Can be used for multiple formats
+ # bpy.ops.export_scene.x3d(filepath=fn + ".x3d", use_selection=True)
+
+ obj.select = False
+
+ print("written:", fn)
+
+for obj in selection:
+ obj.select = True
diff --git a/release/scripts/templates/operator_export.py b/release/scripts/templates/operator_export.py
index 4cf943a53b7..b1d53e6ee0c 100644
--- a/release/scripts/templates/operator_export.py
+++ b/release/scripts/templates/operator_export.py
@@ -24,22 +24,30 @@ class ExportSomeData(bpy.types.Operator, ExportHelper):
# ExportHelper mixin class uses this
filename_ext = ".txt"
- filter_glob = StringProperty(default="*.txt", options={'HIDDEN'})
+ filter_glob = StringProperty(
+ default="*.txt",
+ options={'HIDDEN'},
+ )
# List of operator properties, the attributes will be assigned
# to the class instance from the operator settings before calling.
- use_setting = BoolProperty(name="Example Boolean", description="Example Tooltip", default=True)
-
- type = EnumProperty(items=(('OPT_A', "First Option", "Description one"),
- ('OPT_B', "Second Option", "Description two."),
- ),
- name="Example Enum",
- description="Choose between two items",
- default='OPT_A')
+ use_setting = BoolProperty(
+ name="Example Boolean",
+ description="Example Tooltip",
+ default=True,
+ )
+
+ type = EnumProperty(
+ name="Example Enum",
+ description="Choose between two items",
+ items=(('OPT_A', "First Option", "Description one"),
+ ('OPT_B', "Second Option", "Description two.")),
+ default='OPT_A',
+ )
@classmethod
def poll(cls, context):
- return context.active_object != None
+ return context.active_object is not None
def execute(self, context):
return write_some_data(context, self.filepath, self.use_setting)
diff --git a/release/scripts/templates/operator_mesh_add.py b/release/scripts/templates/operator_mesh_add.py
index 10d23a6712d..d89b7e82f77 100644
--- a/release/scripts/templates/operator_mesh_add.py
+++ b/release/scripts/templates/operator_mesh_add.py
@@ -43,25 +43,38 @@ class AddBox(bpy.types.Operator):
bl_label = "Add Box"
bl_options = {'REGISTER', 'UNDO'}
- width = FloatProperty(name="Width",
+ width = FloatProperty(
+ name="Width",
description="Box Width",
- default=1.0, min=0.01, max=100.0)
-
- height = FloatProperty(name="Height",
+ min=0.01, max=100.0,
+ default=1.0,
+ )
+ height = FloatProperty(
+ name="Height",
description="Box Height",
- default=1.0, min=0.01, max=100.0)
-
- depth = FloatProperty(name="Depth",
+ min=0.01, max=100.0,
+ default=1.0,
+ )
+ depth = FloatProperty(
+ name="Depth",
description="Box Depth",
- default=1.0, min=0.01, max=100.0)
+ min=0.01, max=100.0,
+ default=1.0,
+ )
# generic transform props
- view_align = BoolProperty(name="Align to View",
- default=False)
- location = FloatVectorProperty(name="Location",
- subtype='TRANSLATION')
- rotation = FloatVectorProperty(name="Rotation",
- subtype='EULER')
+ view_align = BoolProperty(
+ name="Align to View",
+ default=False,
+ )
+ location = FloatVectorProperty(
+ name="Location",
+ subtype='TRANSLATION',
+ )
+ rotation = FloatVectorProperty(
+ name="Rotation",
+ subtype='EULER',
+ )
def execute(self, context):
diff --git a/release/scripts/templates/operator_modal.py b/release/scripts/templates/operator_modal.py
index 78dbd4c6b43..a428b097f82 100644
--- a/release/scripts/templates/operator_modal.py
+++ b/release/scripts/templates/operator_modal.py
@@ -18,7 +18,7 @@ class ModalOperator(bpy.types.Operator):
elif event.type == 'LEFTMOUSE':
return {'FINISHED'}
- elif event.type in ('RIGHTMOUSE', 'ESC'):
+ elif event.type in {'RIGHTMOUSE', 'ESC'}:
context.object.location.x = self.first_value
return {'CANCELLED'}
@@ -47,4 +47,4 @@ if __name__ == "__main__":
register()
# test call
- bpy.ops.object.modal_operator()
+ bpy.ops.object.modal_operator('INVOKE_DEFAULT')
diff --git a/release/scripts/templates/operator_modal_draw.py b/release/scripts/templates/operator_modal_draw.py
index e7a1f6e4ffe..b3d525a59bf 100644
--- a/release/scripts/templates/operator_modal_draw.py
+++ b/release/scripts/templates/operator_modal_draw.py
@@ -45,7 +45,7 @@ class ModalDrawOperator(bpy.types.Operator):
context.region.callback_remove(self._handle)
return {'FINISHED'}
- elif event.type in ('RIGHTMOUSE', 'ESC'):
+ elif event.type in {'RIGHTMOUSE', 'ESC'}:
context.region.callback_remove(self._handle)
return {'CANCELLED'}
diff --git a/release/scripts/templates/operator_modal_timer.py b/release/scripts/templates/operator_modal_timer.py
index d2267191cf5..ec47390da81 100644
--- a/release/scripts/templates/operator_modal_timer.py
+++ b/release/scripts/templates/operator_modal_timer.py
@@ -10,7 +10,7 @@ class ModalTimerOperator(bpy.types.Operator):
def modal(self, context, event):
if event.type == 'ESC':
- return self.cancel()
+ return self.cancel(context)
if event.type == 'TIMER':
# change theme color, silly!
diff --git a/release/scripts/templates/operator_modal_view3d.py b/release/scripts/templates/operator_modal_view3d.py
index c494f121017..263bf72f129 100644
--- a/release/scripts/templates/operator_modal_view3d.py
+++ b/release/scripts/templates/operator_modal_view3d.py
@@ -8,7 +8,10 @@ class ViewOperator(bpy.types.Operator):
bl_idname = "view3d.modal_operator"
bl_label = "Simple View Operator"
- offset = FloatVectorProperty(name="Offset", size=3)
+ offset = FloatVectorProperty(
+ name="Offset",
+ size=3,
+ )
def execute(self, context):
v3d = context.space_data
@@ -29,7 +32,7 @@ class ViewOperator(bpy.types.Operator):
context.area.header_text_set()
return {'FINISHED'}
- elif event.type in ('RIGHTMOUSE', 'ESC'):
+ elif event.type in {'RIGHTMOUSE', 'ESC'}:
rv3d.view_location = self._initial_location
context.area.header_text_set()
return {'CANCELLED'}
diff --git a/release/scripts/templates/operator_simple.py b/release/scripts/templates/operator_simple.py
index 8348c7a95b1..05d9afc0ad1 100644
--- a/release/scripts/templates/operator_simple.py
+++ b/release/scripts/templates/operator_simple.py
@@ -13,7 +13,7 @@ class SimpleOperator(bpy.types.Operator):
@classmethod
def poll(cls, context):
- return context.active_object != None
+ return context.active_object is not None
def execute(self, context):
main(context)
diff --git a/release/scripts/templates/ui_menu.py b/release/scripts/templates/ui_menu.py
new file mode 100644
index 00000000000..d3c94b86809
--- /dev/null
+++ b/release/scripts/templates/ui_menu.py
@@ -0,0 +1,49 @@
+import bpy
+
+
+class CustomMenu(bpy.types.Menu):
+ bl_label = "Custom Menu"
+ bl_idname = "OBJECT_MT_custom_menu"
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.operator("wm.open_mainfile")
+ layout.operator("wm.save_as_mainfile").copy = True
+
+ layout.operator("object.shade_smooth")
+
+ layout.label(text="Hello world!", icon='WORLD_DATA')
+
+ # use an operator enum property to populate a submenu
+ layout.operator_menu_enum("object.select_by_type",
+ property="type",
+ text="Select All by Type...",
+ )
+
+ # call another menu
+ layout.operator("wm.call_menu", text="Unwrap").name = "VIEW3D_MT_uv_map"
+
+
+def draw_item(self, context):
+ layout = self.layout
+ layout.menu(CustomMenu.bl_idname)
+
+
+def register():
+ bpy.utils.register_class(CustomMenu)
+
+ # lets add ourselves to the main header
+ bpy.types.INFO_HT_header.append(draw_item)
+
+
+def unregister():
+ bpy.utils.unregister_class(CustomMenu)
+
+ bpy.types.INFO_HT_header.remove(draw_item)
+
+if __name__ == "__main__":
+ register()
+
+ # The menu can also be called from scripts
+ bpy.ops.wm.call_menu(name=CustomMenu.bl_idname)
diff --git a/release/scripts/templates/ui_menu_simple.py b/release/scripts/templates/ui_menu_simple.py
new file mode 100644
index 00000000000..2129dfd81a4
--- /dev/null
+++ b/release/scripts/templates/ui_menu_simple.py
@@ -0,0 +1,26 @@
+import bpy
+
+
+class SimpleCustomMenu(bpy.types.Menu):
+ bl_label = "Simple Custom Menu"
+ bl_idname = "OBJECT_MT_simple_custom_menu"
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.operator("wm.open_mainfile")
+ layout.operator("wm.save_as_mainfile")
+
+
+def register():
+ bpy.utils.register_class(SimpleCustomMenu)
+
+
+def unregister():
+ bpy.utils.unregister_class(SimpleCustomMenu)
+
+if __name__ == "__main__":
+ register()
+
+ # The menu can also be called from scripts
+ bpy.ops.wm.call_menu(name=SimpleCustomMenu.bl_idname)
diff --git a/release/scripts/templates/panel_simple.py b/release/scripts/templates/ui_panel_simple.py
index e5bf70cb654..cde6126b626 100644
--- a/release/scripts/templates/panel_simple.py
+++ b/release/scripts/templates/ui_panel_simple.py
@@ -1,8 +1,9 @@
import bpy
-class OBJECT_PT_hello(bpy.types.Panel):
+class HelloWorldPanel(bpy.types.Panel):
bl_label = "Hello World Panel"
+ bl_idname = "OBJECT_PT_hello"
bl_space_type = "PROPERTIES"
bl_region_type = "WINDOW"
bl_context = "object"
@@ -22,11 +23,11 @@ class OBJECT_PT_hello(bpy.types.Panel):
def register():
- bpy.utils.register_class(OBJECT_PT_hello)
+ bpy.utils.register_class(HelloWorldPanel)
def unregister():
- bpy.utils.unregister_class(OBJECT_PT_hello)
+ bpy.utils.unregister_class(HelloWorldPanel)
if __name__ == "__main__":
diff --git a/release/text/GPL-license.txt b/release/text/GPL-license.txt
index 8860b2a8afa..e8c0353e734 100644
--- a/release/text/GPL-license.txt
+++ b/release/text/GPL-license.txt
@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
diff --git a/release/text/readme.html b/release/text/readme.html
index 1014d8ef80a..95094b9c0cb 100644
--- a/release/text/readme.html
+++ b/release/text/readme.html
@@ -12,22 +12,22 @@
</style>
</head>
<body>
-<p class="title"><b>Blender 2.57</b></p>
+<p class="title"><b>Blender 2.59</b></p>
<p><br></p>
<p class="header"><b>About</b></p>
<p class="body">Welcome to Blender, the free, open source 3D application for modeling, animation, rendering, compositing, video editing and game creation. Blender is available for Linux, Mac OS X, Windows, Solaris and FreeBSD and has a large world-wide community.</p>
<p class="body">Blender can be used freely for any purpose, including commercial use and distribution. It's free and open-source software, released under the GNU GPL licence. The entire source code is available on our website.</p>
<p class="body">For more information, visit <a href="http://www.blender.org">blender.org</a>.</p>
<p><br></p>
-<p class="header"><b>2.57</b></p>
-<p class="body">The Blender Foundation and online developer community is proud to present Blender 2.57. This release is the first official stable release of the Blender 2.5 series, and represents the culmination of many years of redesign and development work. <a href="http://www.blender.org/development/release-logs/blender-256-beta/">More information about this release</a>.</p>
+<p class="header"><b>2.59</b></p>
+<p class="body">The Blender Foundation and online developer community is proud to present Blender 2.59. This release is the third official stable release of the Blender 2.5 series, and represents the culmination of many years of redesign and development work. <a href="http://www.blender.org/development/release-logs/blender-259/">More information about this release</a>.</p>
<p class="body">What to Expect:</p>
<p class="body"> • Big improvements - This is our most exciting version to date, already a significant improvement in many ways over 2.49</p>
<p class="body"> • Missing/Incomplete Features - Although most of it is there, not all functionality from pre-2.5 versions has been restored yet. Some functionality may be re-implemented a different way.</p>
<p class="body"> • Changes - If you're used to the old Blenders, Blender 2.5 may seem quite different at first, but it won't be long before it grows on you even more than before.</p>
<p><br></p>
<p class="header"><b>Bugs</b></p>
-<p class="body">Although Blender 2.57 is considered a stable release, you may encounter a bug. If you do, please help us by posting it in the bug tracker or using Help → Report a Bug from inside Blender 2.57. If it wasn’t reported yet, please log in (or register) and fill in detailed information about the error. Please post detailed instructions on how to reproduce it or post a .blend file showcasing the bug.</p>
+<p class="body">Although Blender 2.59 is considered a stable release, you may encounter a bug. If you do, please help us by posting it in the bug tracker or using Help → Report a Bug from inside Blender 2.59. If it wasn’t reported yet, please log in (or register) and fill in detailed information about the error. Please post detailed instructions on how to reproduce it or post a .blend file showcasing the bug.</p>
<p><br></p>
<p class="header"><b>Package Contents</b></p>
<p class="body">The downloaded Blender package includes:</p>
@@ -51,11 +51,11 @@
<p class="header"><b>Links</b></p>
<p class="body">Users:</p>
<p class="body"> General information <a href="http://www.blender.org">www.blender.org</a> <br>
- Full release log <a href="http://www.blender.org/development/release-logs/blender-257/">www.blender.org/development/release-logs/blender-257/</a><br>
+ Full release log <a href="http://www.blender.org/development/release-logs/blender-259/">www.blender.org/development/release-logs/blender-259/</a><br>
Tutorials <a href="http://www.blender.org/education-help/">www.blender.org/education-help/</a> <br>
Manual <a href="http://wiki.blender.org/index.php/Doc:Manual">wiki.blender.org/index.php/Doc:Manual</a><br>
User Forum <a href="http://www.blenderartists.org">www.blenderartists.org</a><br>
- IRC <a href="irc://irc.freenode.net/#blender">#blender on irc.freenode.net</a><br>
+ IRC <a href="irc://irc.freenode.net/#blenderchat">#blenderchat on irc.freenode.net</a><br>
</p>
<p class="body">Developers:</p>
<p class="body"> Development <a href="http://www.blender.org/development/">www.blender.org/development/</a><br>
diff --git a/source/blender/CMakeLists.txt b/source/blender/CMakeLists.txt
index a073f5083e5..b332cd35402 100644
--- a/source/blender/CMakeLists.txt
+++ b/source/blender/CMakeLists.txt
@@ -73,6 +73,7 @@ set(SRC_DNA_INC
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_smoke_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_sound_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_space_types.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_speaker_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_text_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_texture_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_userdef_types.h
diff --git a/source/blender/avi/AVI_avi.h b/source/blender/avi/AVI_avi.h
index 85685e2bd4c..97dc12f57d8 100644
--- a/source/blender/avi/AVI_avi.h
+++ b/source/blender/avi/AVI_avi.h
@@ -55,6 +55,7 @@
#ifndef __AVI_H__
#define __AVI_H__
+#include "MEM_sys_types.h"
#include <stdio.h> /* for FILE */
typedef struct _AviChunk {
@@ -185,16 +186,16 @@ typedef struct _AviMovie {
#define AVI_MOVIE_READ 0
#define AVI_MOVIE_WRITE 1
- unsigned long size;
+ int64_t size;
AviMainHeader *header;
AviStreamRec *streams;
AviIndexEntry *entries;
int index_entries;
- int movi_offset;
- int read_offset;
- long *offset_table;
+ int64_t movi_offset;
+ int64_t read_offset;
+ int64_t *offset_table;
/* Local data goes here */
int interlace;
diff --git a/source/blender/avi/CMakeLists.txt b/source/blender/avi/CMakeLists.txt
index b62e0cc5afd..0fd6435ec4e 100644
--- a/source/blender/avi/CMakeLists.txt
+++ b/source/blender/avi/CMakeLists.txt
@@ -26,6 +26,7 @@
set(INC
.
+ ../blenlib
../../../intern/guardedalloc
)
diff --git a/source/blender/avi/SConscript b/source/blender/avi/SConscript
index 0bf8c3c74db..4d2ce8fd845 100644
--- a/source/blender/avi/SConscript
+++ b/source/blender/avi/SConscript
@@ -3,7 +3,7 @@ Import ('env')
sources = env.Glob('intern/*.c')
-incs = '. #/intern/guardedalloc'
+incs = '. #/intern/guardedalloc ../blenlib'
incs += ' ' + env['BF_JPEG_INC']
env.BlenderLib ('bf_avi', sources, Split(incs), [], libtype=['core','player'], priority = [190,120] )
diff --git a/source/blender/avi/intern/avi.c b/source/blender/avi/intern/avi.c
index 82bf3a3d21b..8ad751a5b40 100644
--- a/source/blender/avi/intern/avi.c
+++ b/source/blender/avi/intern/avi.c
@@ -42,6 +42,9 @@
#include <ctype.h>
#include "MEM_guardedalloc.h"
+#include "MEM_sys_types.h"
+
+#include "BLI_winstuff.h"
#include "AVI_avi.h"
#include "avi_intern.h"
@@ -84,17 +87,17 @@ unsigned int GET_TCC (FILE *fp) {
}
char *fcc_to_char (unsigned int fcc) {
- DEBUG_FCC[0]= (fcc)&0177;
- DEBUG_FCC[1]= (fcc>>8)&0177;
- DEBUG_FCC[2]= (fcc>>16)&0177;
- DEBUG_FCC[3]= (fcc>>24)&0177;
+ DEBUG_FCC[0]= (fcc)&127;
+ DEBUG_FCC[1]= (fcc>>8)&127;
+ DEBUG_FCC[2]= (fcc>>16)&127;
+ DEBUG_FCC[3]= (fcc>>24)&127;
return DEBUG_FCC;
}
char *tcc_to_char (unsigned int tcc) {
- DEBUG_FCC[0]= (tcc)&0177;
- DEBUG_FCC[1]= (tcc>>8)&0177;
+ DEBUG_FCC[0]= (tcc)&127;
+ DEBUG_FCC[1]= (tcc>>8)&127;
DEBUG_FCC[2]= 0;
DEBUG_FCC[3]= 0;
@@ -593,7 +596,6 @@ AviError AVI_open_movie (const char *name, AviMovie *movie) {
movie->movi_offset = ftell (movie->fp);
movie->read_offset = movie->movi_offset;
- if (AVI_DEBUG) printf ("movi_offset is %d\n", movie->movi_offset);
/* Read in the index if the file has one, otherwise create one */
if (movie->header->Flags & AVIF_HASINDEX) {
@@ -707,8 +709,8 @@ AviError AVI_open_compress (char *name, AviMovie *movie, int streams, ...) {
AviList list;
AviChunk chunk;
int i;
- int header_pos1, header_pos2;
- int stream_pos1, stream_pos2;
+ int64_t header_pos1, header_pos2;
+ int64_t stream_pos1, stream_pos2;
movie->type = AVI_MOVIE_WRITE;
movie->fp = fopen (name, "wb");
@@ -718,7 +720,7 @@ AviError AVI_open_compress (char *name, AviMovie *movie, int streams, ...) {
if (movie->fp == NULL)
return AVI_ERROR_OPEN;
- movie->offset_table = (long *) MEM_mallocN ((1+streams*2) * sizeof (long),"offsettable");
+ movie->offset_table = (int64_t *) MEM_mallocN ((1+streams*2) * sizeof (int64_t),"offsettable");
for (i=0; i < 1 + streams*2; i++)
movie->offset_table[i] = -1L;
@@ -897,7 +899,7 @@ AviError AVI_write_frame (AviMovie *movie, int frame_num, ...) {
AviIndexEntry *temp;
va_list ap;
int stream;
- long rec_off;
+ int64_t rec_off;
AviFormat format;
void *buffer;
int size;
diff --git a/source/blender/avi/intern/options.c b/source/blender/avi/intern/options.c
index edb708d8a69..96c62843436 100644
--- a/source/blender/avi/intern/options.c
+++ b/source/blender/avi/intern/options.c
@@ -40,6 +40,8 @@
#include "avi_intern.h"
#include "endian.h"
+#include "BLI_winstuff.h"
+
/* avi_set_compress_options gets its own file... now don't WE feel important? */
AviError AVI_set_compress_option (AviMovie *movie, int option_type, int stream, AviOption option, void *opt_data) {
diff --git a/source/blender/blenfont/CMakeLists.txt b/source/blender/blenfont/CMakeLists.txt
index b915764c1bb..82099d4f125 100644
--- a/source/blender/blenfont/CMakeLists.txt
+++ b/source/blender/blenfont/CMakeLists.txt
@@ -24,10 +24,10 @@
set(INC
.
+ ../blenkernel
../blenlib
- ../makesdna
../editors/include
- ../blenkernel
+ ../makesdna
../../../intern/guardedalloc
)
@@ -50,7 +50,9 @@ set(SRC
)
if(WITH_INTERNATIONAL)
- list(APPEND INC_SYS ${GETTEXT_INC})
+ list(APPEND INC_SYS
+ ${GETTEXT_INC}
+ )
add_definitions(-DINTERNATIONAL)
endif()
diff --git a/source/blender/blenfont/intern/blf.c b/source/blender/blenfont/intern/blf.c
index c0e62b1c0c7..fc812d652b3 100644
--- a/source/blender/blenfont/intern/blf.c
+++ b/source/blender/blenfont/intern/blf.c
@@ -369,28 +369,28 @@ void BLF_position(int fontid, float x, float y, float z)
za= 1.0f;
}
- remainder= x - floor(x);
- if (remainder > 0.4 && remainder < 0.6) {
- if (remainder < 0.5)
- x -= 0.1 * xa;
+ remainder= x - floorf(x);
+ if (remainder > 0.4f && remainder < 0.6f) {
+ if (remainder < 0.5f)
+ x -= 0.1f * xa;
else
- x += 0.1 * xa;
+ x += 0.1f * xa;
}
- remainder= y - floor(y);
- if (remainder > 0.4 && remainder < 0.6) {
- if (remainder < 0.5)
- y -= 0.1 * ya;
+ remainder= y - floorf(y);
+ if (remainder > 0.4f && remainder < 0.6f) {
+ if (remainder < 0.5f)
+ y -= 0.1f * ya;
else
- y += 0.1 * ya;
+ y += 0.1f * ya;
}
- remainder= z - floor(z);
- if (remainder > 0.4 && remainder < 0.6) {
- if (remainder < 0.5)
- z -= 0.1 * za;
+ remainder= z - floorf(z);
+ if (remainder > 0.4f && remainder < 0.6f) {
+ if (remainder < 0.5f)
+ z -= 0.1f * za;
else
- z += 0.1 * za;
+ z += 0.1f * za;
}
font->pos[0]= x;
diff --git a/source/blender/blenfont/intern/blf_font.c b/source/blender/blenfont/intern/blf_font.c
index 708b3708ab7..fb6505fe935 100644
--- a/source/blender/blenfont/intern/blf_font.c
+++ b/source/blender/blenfont/intern/blf_font.c
@@ -213,7 +213,7 @@ void blf_font_buffer(FontBLF *font, const char *str)
{
unsigned char *cbuf;
unsigned int c;
- unsigned char b_col_char[3];
+ unsigned char b_col_char[4];
GlyphBLF *g, *g_prev;
FT_Vector delta;
FT_UInt glyph_index;
@@ -232,6 +232,7 @@ void blf_font_buffer(FontBLF *font, const char *str)
b_col_char[0]= font->b_col[0] * 255;
b_col_char[1]= font->b_col[1] * 255;
b_col_char[2]= font->b_col[2] * 255;
+ b_col_char[3]= font->b_col[3] * 255;
while (str[i]) {
int pen_y;
@@ -296,16 +297,19 @@ void blf_font_buffer(FontBLF *font, const char *str)
a= *(g->bitmap + x + (yb * g->pitch)) / 255.0f;
if(a > 0.0f) {
+ float alphatest;
fbuf= font->b_fbuf + font->bch * ((chx + x) + ((pen_y + y)*font->bw));
if (a >= 1.0f) {
fbuf[0]= font->b_col[0];
fbuf[1]= font->b_col[1];
fbuf[2]= font->b_col[2];
+ fbuf[3]= (alphatest= (fbuf[3] + (font->b_col[3]))) < 1.0f ? alphatest : 1.0f;
}
else {
fbuf[0]= (font->b_col[0]*a) + (fbuf[0] * (1-a));
fbuf[1]= (font->b_col[1]*a) + (fbuf[1] * (1-a));
fbuf[2]= (font->b_col[2]*a) + (fbuf[2] * (1-a));
+ fbuf[3]= (alphatest= (fbuf[3] + (font->b_col[3]*a))) < 1.0f ? alphatest : 1.0f;
}
}
}
@@ -324,16 +328,19 @@ void blf_font_buffer(FontBLF *font, const char *str)
a= *(g->bitmap + x + (yb * g->pitch)) / 255.0f;
if(a > 0.0f) {
+ int alphatest;
cbuf= font->b_cbuf + font->bch * ((chx + x) + ((pen_y + y)*font->bw));
if (a >= 1.0f) {
cbuf[0]= b_col_char[0];
cbuf[1]= b_col_char[1];
cbuf[2]= b_col_char[2];
+ cbuf[3]= (alphatest= ((int)cbuf[3] + (int)b_col_char[3])) < 255 ? alphatest : 255;
}
else {
cbuf[0]= (b_col_char[0]*a) + (cbuf[0] * (1-a));
cbuf[1]= (b_col_char[1]*a) + (cbuf[1] * (1-a));
cbuf[2]= (b_col_char[2]*a) + (cbuf[2] * (1-a));
+ cbuf[3]= (alphatest= ((int)cbuf[3] + (int)((font->b_col[3]*a)*255.0f))) < 255 ? alphatest : 255;
}
}
}
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index 55ade5fe5d9..6e17b056685 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -283,7 +283,8 @@ struct DerivedMesh {
int (*setDrawOptions)(void *userData, int index,
int *drawSmooth_r),
void *userData, int useColors,
- int (*setMaterial)(int, void *attribs));
+ int (*setMaterial)(int, void *attribs),
+ int (*compareDrawOptions)(void *userData, int cur_index, int next_index));
/* Draw mapped faces using MTFace
* o Drawing options too complicated to enumerate, look at code.
@@ -526,7 +527,7 @@ void weight_to_rgb(float input, float *fr, float *fg, float *fb);
typedef struct DMVertexAttribs {
struct {
struct MTFace *array;
- int emOffset, glIndex;
+ int emOffset, glIndex, glTexco;
} tface[MAX_MTFACE];
struct {
@@ -541,7 +542,7 @@ typedef struct DMVertexAttribs {
struct {
float (*array)[3];
- int emOffset, glIndex;
+ int emOffset, glIndex, glTexco;
} orco;
int tottface, totmcol, tottang, totorco;
diff --git a/source/blender/blenkernel/BKE_action.h b/source/blender/blenkernel/BKE_action.h
index 698f0f0fecf..67efb7752ea 100644
--- a/source/blender/blenkernel/BKE_action.h
+++ b/source/blender/blenkernel/BKE_action.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -216,7 +214,7 @@ void pose_remove_group(struct Object *ob);
/* Assorted Evaluation ----------------- */
/* Used for the Action Constraint */
-void what_does_obaction(struct Scene *scene, struct Object *ob, struct Object *workob, struct bPose *pose, struct bAction *act, char groupname[], float cframe);
+void what_does_obaction(struct Object *ob, struct Object *workob, struct bPose *pose, struct bAction *act, char groupname[], float cframe);
/* for proxy */
void copy_pose_result(struct bPose *to, struct bPose *from);
diff --git a/source/blender/blenkernel/BKE_anim.h b/source/blender/blenkernel/BKE_anim.h
index 25165eeaee7..44aebdf6205 100644
--- a/source/blender/blenkernel/BKE_anim.h
+++ b/source/blender/blenkernel/BKE_anim.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/blenkernel/BKE_animsys.h b/source/blender/blenkernel/BKE_animsys.h
index 348b967f9c4..98f9ee14c7e 100644
--- a/source/blender/blenkernel/BKE_animsys.h
+++ b/source/blender/blenkernel/BKE_animsys.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -41,6 +39,7 @@ struct KeyingSet;
struct KS_Path;
struct PointerRNA;
+struct ReportList;
struct bAction;
struct bActionGroup;
struct AnimMapper;
@@ -57,6 +56,9 @@ struct AnimData *BKE_animdata_from_id(struct ID *id);
/* Add AnimData to the given ID-block */
struct AnimData *BKE_id_add_animdata(struct ID *id);
+/* Set active action used by AnimData from the given ID-block */
+short BKE_animdata_set_action(struct ReportList *reports, struct ID *id, struct bAction *act);
+
/* Free AnimData */
void BKE_free_animdata(struct ID *id);
@@ -136,10 +138,10 @@ void BKE_animdata_main_cb(struct Main *main, ID_AnimData_Edit_Callback func, voi
/* In general, these ones should be called to do all animation evaluation */
/* Evaluation loop for evaluating animation data */
-void BKE_animsys_evaluate_animdata(struct ID *id, struct AnimData *adt, float ctime, short recalc);
+void BKE_animsys_evaluate_animdata(struct Scene *scene, struct ID *id, struct AnimData *adt, float ctime, short recalc);
/* Evaluation of all ID-blocks with Animation Data blocks - Animation Data Only */
-void BKE_animsys_evaluate_all_animation(struct Main *main, float ctime);
+void BKE_animsys_evaluate_all_animation(struct Main *main, struct Scene *scene, float ctime);
/* ------------ Specialised API --------------- */
diff --git a/source/blender/blenkernel/BKE_armature.h b/source/blender/blenkernel/BKE_armature.h
index efa87532859..7d60c00156d 100644
--- a/source/blender/blenkernel/BKE_armature.h
+++ b/source/blender/blenkernel/BKE_armature.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h
index 07f0885372a..742240d53b5 100644
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@ -43,17 +43,17 @@ extern "C" {
/* these lines are grep'd, watch out for our not-so-awesome regex
* and keep comment above the defines.
* Use STRINGIFY() rather than defining with quotes */
-#define BLENDER_VERSION 257
-#define BLENDER_SUBVERSION 1
+#define BLENDER_VERSION 259
+#define BLENDER_SUBVERSION 2
#define BLENDER_MINVERSION 250
#define BLENDER_MINSUBVERSION 0
/* used by packaging tools */
/* can be left blank, otherwise a,b,c... etc with no quotes */
-#define BLENDER_VERSION_CHAR b
+#define BLENDER_VERSION_CHAR
/* alpha/beta/rc/release, docs use this */
-#define BLENDER_VERSION_CYCLE beta
+#define BLENDER_VERSION_CYCLE alpha
struct ListBase;
struct MemFile;
diff --git a/source/blender/blenkernel/BKE_constraint.h b/source/blender/blenkernel/BKE_constraint.h
index 7c0e7050a9f..925d1180dbd 100644
--- a/source/blender/blenkernel/BKE_constraint.h
+++ b/source/blender/blenkernel/BKE_constraint.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -154,6 +152,7 @@ void constraints_clear_evalob(struct bConstraintOb *cob);
void constraint_mat_convertspace(struct Object *ob, struct bPoseChannel *pchan, float mat[][4], short from, short to);
void get_constraint_target_matrix(struct Scene *scene, struct bConstraint *con, int n, short ownertype, void *ownerdata, float mat[][4], float ctime);
+void get_constraint_targets_for_solving(struct bConstraint *con, struct bConstraintOb *ob, struct ListBase *targets, float ctime);
void solve_constraints(struct ListBase *conlist, struct bConstraintOb *cob, float ctime);
#ifdef __cplusplus
diff --git a/source/blender/blenkernel/BKE_curve.h b/source/blender/blenkernel/BKE_curve.h
index 0491116d199..557ce417b14 100644
--- a/source/blender/blenkernel/BKE_curve.h
+++ b/source/blender/blenkernel/BKE_curve.h
@@ -115,5 +115,6 @@ int minmax_curve(struct Curve *cu, float min[3], float max[3]);
int curve_center_median(struct Curve *cu, float cent[3]);
int curve_center_bounds(struct Curve *cu, float cent[3]);
void curve_translate(struct Curve *cu, float offset[3], int do_keys);
+void curve_delete_material_index(struct Curve *cu, int index);
#endif
diff --git a/source/blender/blenkernel/BKE_depsgraph.h b/source/blender/blenkernel/BKE_depsgraph.h
index 14251fb1762..f36073ba841 100644
--- a/source/blender/blenkernel/BKE_depsgraph.h
+++ b/source/blender/blenkernel/BKE_depsgraph.h
@@ -51,22 +51,23 @@ struct GHash;
/* **** DAG relation types *** */
/* scene link to object */
-#define DAG_RL_SCENE 1
+#define DAG_RL_SCENE (1<<0)
/* object link to data */
-#define DAG_RL_DATA 2
+#define DAG_RL_DATA (1<<1)
/* object changes object (parent, track, constraints) */
-#define DAG_RL_OB_OB 4
+#define DAG_RL_OB_OB (1<<2)
/* object changes obdata (hooks, constraints) */
-#define DAG_RL_OB_DATA 8
+#define DAG_RL_OB_DATA (1<<3)
/* data changes object (vertex parent) */
-#define DAG_RL_DATA_OB 16
+#define DAG_RL_DATA_OB (1<<4)
/* data changes data (deformers) */
-#define DAG_RL_DATA_DATA 32
+#define DAG_RL_DATA_DATA (1<<5)
-#define DAG_NO_RELATION 64
-#define DAG_RL_ALL 63
-#define DAG_RL_ALL_BUT_DATA 61
+#define DAG_NO_RELATION (1<<6)
+
+#define DAG_RL_ALL_BUT_DATA (DAG_RL_SCENE|DAG_RL_OB_OB|DAG_RL_OB_DATA|DAG_RL_DATA_OB|DAG_RL_DATA_DATA)
+#define DAG_RL_ALL (DAG_RL_ALL_BUT_DATA|DAG_RL_DATA)
typedef void (*graph_action_func)(void * ob, void **data);
diff --git a/source/blender/blenkernel/BKE_displist.h b/source/blender/blenkernel/BKE_displist.h
index 68745975dae..b00db53a199 100644
--- a/source/blender/blenkernel/BKE_displist.h
+++ b/source/blender/blenkernel/BKE_displist.h
@@ -97,15 +97,10 @@ extern void makeDispListCurveTypes_forRender(struct Scene *scene, struct Object
extern void makeDispListCurveTypes_forOrco(struct Scene *scene, struct Object *ob, struct ListBase *dispbase);
extern void makeDispListMBall(struct Scene *scene, struct Object *ob);
extern void makeDispListMBall_forRender(struct Scene *scene, struct Object *ob, struct ListBase *dispbase);
-extern void shadeDispList(struct Scene *scene, struct Base *base);
-extern void shadeMeshMCol(struct Scene *scene, struct Object *ob, struct Mesh *me);
int surfindex_displist(DispList *dl, int a, int *b, int *p1, int *p2, int *p3, int *p4);
-void reshadeall_displist(struct Scene *scene);
void filldisplist(struct ListBase *dispbase, struct ListBase *to, int flipnormal);
-void fastshade_free_render(void);
-
float calc_taper(struct Scene *scene, struct Object *taperobj, int cur, int tot);
/* add Orco layer to the displist object which has got derived mesh and return orco */
diff --git a/source/blender/blenkernel/BKE_effect.h b/source/blender/blenkernel/BKE_effect.h
index 97ac711651b..12f9383cefb 100644
--- a/source/blender/blenkernel/BKE_effect.h
+++ b/source/blender/blenkernel/BKE_effect.h
@@ -105,6 +105,7 @@ typedef struct EffectorCache {
/* precalculated for guides */
struct GuideEffectorData *guide_data;
float guide_loc[4], guide_dir[3], guide_radius;
+ float velocity[3];
float frame;
int flag;
diff --git a/source/blender/blenkernel/BKE_fcurve.h b/source/blender/blenkernel/BKE_fcurve.h
index b791e29a38e..244fda33a52 100644
--- a/source/blender/blenkernel/BKE_fcurve.h
+++ b/source/blender/blenkernel/BKE_fcurve.h
@@ -199,7 +199,7 @@ struct FCurve *list_find_fcurve(ListBase *list, const char rna_path[], const int
struct FCurve *iter_step_fcurve (struct FCurve *fcu_iter, const char rna_path[]);
/* high level function to get an fcurve from C without having the rna */
-struct FCurve *id_data_find_fcurve(ID *id, void *data, struct StructRNA *type, const char *prop_name, int index);
+struct FCurve *id_data_find_fcurve(ID *id, void *data, struct StructRNA *type, const char *prop_name, int index, char *driven);
/* Get list of LinkData's containing pointers to the F-Curves which control the types of data indicated
* e.g. numMatches = list_find_data_fcurves(matches, &act->curves, "pose.bones[", "MyFancyBone");
diff --git a/source/blender/blenkernel/BKE_global.h b/source/blender/blenkernel/BKE_global.h
index d21b0428d76..0e48673f1b1 100644
--- a/source/blender/blenkernel/BKE_global.h
+++ b/source/blender/blenkernel/BKE_global.h
@@ -92,9 +92,6 @@ typedef struct Global {
/* save the allowed windowstate of blender when using -W or -w */
int windowstate;
-
- /* ndof device found ? */
- int ndofdevice;
} Global;
/* **************** GLOBAL ********************* */
@@ -114,7 +111,7 @@ typedef struct Global {
#define G_SCRIPT_OVERRIDE_PREF (1 << 14) /* when this flag is set ignore the userprefs */
/* #define G_NOFROZEN (1 << 17) also removed */
-#define G_GREASEPENCIL (1 << 17)
+/* #define G_GREASEPENCIL (1 << 17) also removed */
/* #define G_AUTOMATKEYS (1 << 30) also removed */
@@ -174,5 +171,3 @@ extern Global G;
#endif
#endif
-
-
diff --git a/source/blender/blenkernel/BKE_image.h b/source/blender/blenkernel/BKE_image.h
index 10910493ec9..0c31083a266 100644
--- a/source/blender/blenkernel/BKE_image.h
+++ b/source/blender/blenkernel/BKE_image.h
@@ -60,7 +60,7 @@ int BKE_ftype_to_imtype(int ftype);
int BKE_imtype_to_ftype(int imtype);
int BKE_imtype_is_movie(int imtype);
-struct anim *openanim(char * name, int flags);
+struct anim *openanim(char * name, int flags, int streamindex);
void image_de_interlace(struct Image *ima, int odd);
diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h
index 871a78bbab3..0d6d41109b4 100644
--- a/source/blender/blenkernel/BKE_library.h
+++ b/source/blender/blenkernel/BKE_library.h
@@ -44,6 +44,8 @@ struct Main;
struct Library;
struct wmWindowManager;
struct bContext;
+struct PointerRNA;
+struct PropertyRNA;
void *alloc_libblock(struct ListBase *lb, short type, const char *name);
void *copy_libblock(void *rt);
@@ -53,6 +55,7 @@ void id_lib_extern(struct ID *id);
void id_us_plus(struct ID *id);
void id_us_min(struct ID *id);
int id_make_local(struct ID *id, int test);
+int id_single_user(struct bContext *C, struct ID *id, struct PointerRNA *ptr, struct PropertyRNA *prop);
int id_copy(struct ID *id, struct ID **newid, int test);
int id_unlink(struct ID *id, int test);
diff --git a/source/blender/blenkernel/BKE_main.h b/source/blender/blenkernel/BKE_main.h
index df6a304f0b3..c25882d1dd6 100644
--- a/source/blender/blenkernel/BKE_main.h
+++ b/source/blender/blenkernel/BKE_main.h
@@ -77,6 +77,7 @@ typedef struct Main {
ListBase script;
ListBase vfont;
ListBase text;
+ ListBase speaker;
ListBase sound;
ListBase group;
ListBase armature;
diff --git a/source/blender/blenkernel/BKE_material.h b/source/blender/blenkernel/BKE_material.h
index c445408609c..88965d12e4a 100644
--- a/source/blender/blenkernel/BKE_material.h
+++ b/source/blender/blenkernel/BKE_material.h
@@ -78,7 +78,7 @@ int object_remove_material_slot(struct Object *ob);
/* rna api */
void material_append_id(struct ID *id, struct Material *ma);
-struct Material *material_pop_id(struct ID *id, int index);
+struct Material *material_pop_id(struct ID *id, int index, int remove_material_slot);
/* rendering */
diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h
index 648e67cad8a..28950e4b2eb 100644
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@ -101,6 +101,7 @@ typedef enum {
typedef void (*ObjectWalkFunc)(void *userData, struct Object *ob, struct Object **obpoin);
typedef void (*IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin);
+typedef void (*TexWalkFunc)(void *userData, struct Object *ob, struct ModifierData *md, const char *propname);
typedef struct ModifierTypeInfo {
/* The user visible name for this modifier */
@@ -284,6 +285,16 @@ typedef struct ModifierTypeInfo {
*/
void (*foreachIDLink)(struct ModifierData *md, struct Object *ob,
IDWalkFunc walk, void *userData);
+
+ /* Should call the given walk function for each texture that the
+ * modifier data stores. This is used for finding all textures in
+ * the context for the UI.
+ *
+ * This function is optional. If it is not present, it will be
+ * assumed the modifier has no textures.
+ */
+ void (*foreachTexLink)(struct ModifierData *md, struct Object *ob,
+ TexWalkFunc walk, void *userData);
} ModifierTypeInfo;
ModifierTypeInfo *modifierType_getInfo (ModifierType type);
@@ -315,6 +326,10 @@ void modifiers_foreachObjectLink(struct Object *ob,
void modifiers_foreachIDLink(struct Object *ob,
IDWalkFunc walk,
void *userData);
+void modifiers_foreachTexLink(struct Object *ob,
+ TexWalkFunc walk,
+ void *userData);
+
struct ModifierData *modifiers_findByType(struct Object *ob, ModifierType type);
struct ModifierData *modifiers_findByName(struct Object *ob, const char *name);
void modifiers_clearErrors(struct Object *ob);
diff --git a/source/blender/blenkernel/BKE_nla.h b/source/blender/blenkernel/BKE_nla.h
index 0206756a1ad..773c5ced1cb 100644
--- a/source/blender/blenkernel/BKE_nla.h
+++ b/source/blender/blenkernel/BKE_nla.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -39,6 +37,8 @@ struct AnimData;
struct NlaStrip;
struct NlaTrack;
struct bAction;
+struct Scene;
+struct Speaker;
/* ----------------------------- */
/* Data Management */
@@ -54,6 +54,7 @@ void copy_nladata(ListBase *dst, ListBase *src);
struct NlaTrack *add_nlatrack(struct AnimData *adt, struct NlaTrack *prev);
struct NlaStrip *add_nlastrip(struct bAction *act);
struct NlaStrip *add_nlastrip_to_stack(struct AnimData *adt, struct bAction *act);
+struct NlaStrip *add_nla_soundstrip(struct Scene *scene, struct Speaker *spk);
/* ----------------------------- */
/* API */
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index a126f405d09..1de3c295f4d 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -37,6 +37,10 @@
* \ingroup bke
*/
+#include "DNA_listBase.h"
+
+#include "RNA_types.h"
+
/* not very important, but the stack solver likes to know a maximum */
#define MAX_SOCKET 64
@@ -46,62 +50,151 @@ struct bNodeLink;
struct bNodeSocket;
struct bNodeStack;
struct bNodeTree;
+struct bNodeTreeExec;
struct GPUMaterial;
struct GPUNode;
struct GPUNodeStack;
struct ID;
struct ListBase;
struct Main;
+struct uiBlock;
+struct uiLayout;
struct MTex;
struct PointerRNA;
struct rctf;
struct RenderData;
struct Scene;
struct Tex;
-struct uiLayout;
-
+struct SpaceNode;
+struct ARegion;
+struct Object;
/* ************** NODE TYPE DEFINITIONS ***** */
-typedef struct bNodeSocketType {
+/** Compact definition of a node socket.
+ * Can be used to quickly define a list of static sockets for a node,
+ * which are added to each new node of that type.
+ *
+ * \deprecated New nodes should add default sockets in the initialization
+ * function instead. This struct is mostly kept for old nodes and should
+ * be removed some time.
+ */
+typedef struct bNodeSocketTemplate {
int type, limit;
- const char *name;
- float val1, val2, val3, val4; /* default alloc value for inputs */
- float min, max; /* default range for inputs */
+ char name[32];
+ float val1, val2, val3, val4; /* default alloc value for inputs */
+ float min, max;
+ PropertySubType subtype;
/* after this line is used internal only */
- struct bNodeSocket *sock; /* used during verify_types */
+ struct bNodeSocket *sock; /* used to hold verified socket */
+} bNodeSocketTemplate;
+
+typedef void (*NodeSocketButtonFunction)(const struct bContext *C, struct uiBlock *block,
+ struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock,
+ const char *name, int x, int y, int width);
+
+/** Defines a socket type.
+ * Defines the appearance and behavior of a socket in the UI.
+ */
+typedef struct bNodeSocketType {
+ int type;
+ char ui_name[32];
+ char ui_description[128];
+ int ui_icon;
+ char ui_color[4];
+
+ const char *value_structname;
+ int value_structsize;
+
+ NodeSocketButtonFunction buttonfunc;
} bNodeSocketType;
+/** Template for creating a node.
+ * Stored required parameters to make a new node of a specific type.
+ */
+typedef struct bNodeTemplate {
+ int type;
+
+ /* group tree */
+ struct bNodeTree *ngroup;
+} bNodeTemplate;
+
+/** Defines a node type.
+ * Initial attributes and constants for a node as well as callback functions
+ * implementing the node behavior.
+ */
typedef struct bNodeType {
void *next,*prev;
+ short needs_free; /* set for allocated types that need to be freed */
+
int type;
- const char *name; /* can be allocated too */
+ char name[32];
float width, minwidth, maxwidth;
+ float height, minheight, maxheight;
short nclass, flag;
- bNodeSocketType *inputs, *outputs;
+ /* templates for static sockets */
+ bNodeSocketTemplate *inputs, *outputs;
char storagename[64]; /* struct name for DNA */
- void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **);
-
- /* this line is set on startup of blender */
+ /// Main draw function for the node.
+ void (*drawfunc)(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *node);
+ /// Updates the node geometry attributes according to internal state before actual drawing.
+ void (*drawupdatefunc)(const struct bContext *C, struct bNodeTree *ntree, struct bNode *node);
+ /// Draw the option buttons on the node.
void (*uifunc)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr);
+ /// Additional parameters in the side panel.
+ void (*uifuncbut)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr);
+ /// Optional custom label function for the node header.
const char *(*labelfunc)(struct bNode *);
-
- void (*initfunc)(struct bNode *);
- void (*freestoragefunc)(struct bNode *);
- void (*copystoragefunc)(struct bNode *, struct bNode *);
+ /// Optional custom resize handle polling.
+ int (*resize_area_func)(struct bNode *node, int x, int y);
- /* for use with dynamic typedefs */
- ID *id;
- void *pynode; /* holds pointer to python script */
- void *pydict; /* holds pointer to python script dictionary (scope)*/
-
+ /// Called when the node is updated in the editor.
+ void (*updatefunc)(struct bNodeTree *ntree, struct bNode *node);
+ /// Check and update if internal ID data has changed.
+ void (*verifyfunc)(struct bNodeTree *ntree, struct bNode *node, struct ID *id);
+
+ /// Initialize a new node instance of this type after creation.
+ void (*initfunc)(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp);
+ /// Free the custom storage data.
+ void (*freestoragefunc)(struct bNode *node);
+ /// Make a copy of the custom storage data.
+ void (*copystoragefunc)(struct bNode *node, struct bNode *target);
+
+ /// Create a template from an existing node.
+ struct bNodeTemplate (*templatefunc)(struct bNode *);
+ /** If a node can be made from the template in the given node tree.
+ * \example Node groups can not be created inside their own node tree.
+ */
+ int (*validfunc)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp);
+
+ /// Initialize a node tree associated to this node type.
+ void (*inittreefunc)(struct bNodeTree *ntree);
+ /// Update a node tree associated to this node type.
+ void (*updatetreefunc)(struct bNodeTree *ntree);
+
+ /* group edit callbacks for operators */
+ /* XXX this is going to be changed as required by the UI */
+ struct bNodeTree *(*group_edit_get)(struct bNode *node);
+ struct bNodeTree *(*group_edit_set)(struct bNode *node, int edit);
+ void (*group_edit_clear)(struct bNode *node);
+
+
+ /* **** execution callbacks **** */
+ void *(*initexecfunc)(struct bNode *node);
+ void (*freeexecfunc)(struct bNode *node, void *nodedata);
+ void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **);
+ /* XXX this alternative exec function has been added to avoid changing all node types.
+ * when a final generic version of execution code is defined, this will be changed anyway
+ */
+ void (*newexecfunc)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **);
/* gpu */
int (*gpufunc)(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out);
-
+ /* extended gpu function */
+ int (*gpuextfunc)(struct GPUMaterial *mat, struct bNode *node, void *nodedata, struct GPUNodeStack *in, struct GPUNodeStack *out);
} bNodeType;
/* node->exec, now in use for composites (#define for break is same as ready yes) */
@@ -112,72 +205,124 @@ typedef struct bNodeType {
#define NODE_FREEBUFS 8
#define NODE_SKIPPED 16
+/* sim_exec return value */
+#define NODE_EXEC_FINISHED 0
+#define NODE_EXEC_SUSPEND 1
+
/* nodetype->nclass, for add-menu and themes */
-#define NODE_CLASS_INPUT 0
-#define NODE_CLASS_OUTPUT 1
-#define NODE_CLASS_OP_COLOR 3
-#define NODE_CLASS_OP_VECTOR 4
-#define NODE_CLASS_OP_FILTER 5
-#define NODE_CLASS_GROUP 6
-#define NODE_CLASS_FILE 7
-#define NODE_CLASS_CONVERTOR 8
-#define NODE_CLASS_MATTE 9
-#define NODE_CLASS_DISTORT 10
-#define NODE_CLASS_OP_DYNAMIC 11
-#define NODE_CLASS_PATTERN 12
-#define NODE_CLASS_TEXTURE 13
+#define NODE_CLASS_INPUT 0
+#define NODE_CLASS_OUTPUT 1
+#define NODE_CLASS_OP_COLOR 3
+#define NODE_CLASS_OP_VECTOR 4
+#define NODE_CLASS_OP_FILTER 5
+#define NODE_CLASS_GROUP 6
+#define NODE_CLASS_FILE 7
+#define NODE_CLASS_CONVERTOR 8
+#define NODE_CLASS_MATTE 9
+#define NODE_CLASS_DISTORT 10
+#define NODE_CLASS_OP_DYNAMIC 11
+#define NODE_CLASS_PATTERN 12
+#define NODE_CLASS_TEXTURE 13
+#define NODE_CLASS_EXECUTION 14
+#define NODE_CLASS_GETDATA 15
+#define NODE_CLASS_SETDATA 16
+#define NODE_CLASS_MATH 17
+#define NODE_CLASS_MATH_VECTOR 18
+#define NODE_CLASS_MATH_ROTATION 19
+#define NODE_CLASS_PARTICLES 25
+#define NODE_CLASS_TRANSFORM 30
+#define NODE_CLASS_COMBINE 31
+#define NODE_CLASS_LAYOUT 100
/* enum values for input/output */
#define SOCK_IN 1
#define SOCK_OUT 2
+struct bNodeTreeExec;
+
+typedef void (*bNodeTreeCallback)(void *calldata, struct ID *owner_id, struct bNodeTree *ntree);
+typedef struct bNodeTreeType
+{
+ int type; /* type identifier */
+ char idname[64]; /* id name for RNA identification */
+
+ ListBase node_types; /* type definitions */
+
+ /* callbacks */
+ void (*free_cache)(struct bNodeTree *ntree);
+ void (*free_node_cache)(struct bNodeTree *ntree, struct bNode *node);
+ void (*foreach_nodetree)(struct Main *main, void *calldata, bNodeTreeCallback func); /* iteration over all node trees */
+
+ /* calls allowing threaded composite */
+ void (*localize)(struct bNodeTree *localtree, struct bNodeTree *ntree);
+ void (*local_sync)(struct bNodeTree *localtree, struct bNodeTree *ntree);
+ void (*local_merge)(struct bNodeTree *localtree, struct bNodeTree *ntree);
+
+ /* Tree update. Overrides nodetype->updatetreefunc! */
+ void (*update)(struct bNodeTree *ntree);
+ /* Node update. Overrides nodetype->updatefunc! */
+ void (*update_node)(struct bNodeTree *ntree, struct bNode *node);
+
+ int (*validate_link)(struct bNodeTree *ntree, struct bNodeLink *link);
+} bNodeTreeType;
+
/* ************** GENERIC API, TREES *************** */
-void ntreeVerifyTypes(struct bNodeTree *ntree);
+struct bNodeTreeType *ntreeGetType(int type);
+struct bNodeType *ntreeGetNodeType(struct bNodeTree *ntree);
+struct bNodeSocketType *ntreeGetSocketType(int type);
-struct bNodeTree *ntreeAddTree(const char *name, int type, const short is_group);
+struct bNodeTree *ntreeAddTree(const char *name, int type, int nodetype);
void ntreeInitTypes(struct bNodeTree *ntree);
-//void ntreeMakeGroupSockets(struct bNodeTree *ntree);
-void ntreeUpdateType(struct bNodeTree *ntree, struct bNodeType *ntype);
void ntreeFreeTree(struct bNodeTree *ntree);
struct bNodeTree *ntreeCopyTree(struct bNodeTree *ntree);
void ntreeSwitchID(struct bNodeTree *ntree, struct ID *sce_from, struct ID *sce_to);
void ntreeMakeLocal(struct bNodeTree *ntree);
+int ntreeHasType(struct bNodeTree *ntree, int type);
void ntreeSocketUseFlags(struct bNodeTree *ntree);
-void ntreeSolveOrder(struct bNodeTree *ntree);
+void ntreeUpdateTree(struct bNodeTree *ntree);
+/* XXX Currently each tree update call does call to ntreeVerifyNodes too.
+ * Some day this should be replaced by a decent depsgraph automatism!
+ */
+void ntreeVerifyNodes(struct Main *main, struct ID *id);
-void ntreeBeginExecTree(struct bNodeTree *ntree);
-void ntreeExecTree(struct bNodeTree *ntree, void *callerdata, int thread);
-void ntreeCompositExecTree(struct bNodeTree *ntree, struct RenderData *rd, int do_previews);
-void ntreeEndExecTree(struct bNodeTree *ntree);
+void ntreeGetDependencyList(struct bNodeTree *ntree, struct bNode ***deplist, int *totnodes);
+/* XXX old trees handle output flags automatically based on special output node types and last active selection.
+ * new tree types have a per-output socket flag to indicate the final output to use explicitly.
+ */
+void ntreeSetOutput(struct bNodeTree *ntree);
void ntreeInitPreview(struct bNodeTree *, int xsize, int ysize);
void ntreeClearPreview(struct bNodeTree *ntree);
void ntreeFreeCache(struct bNodeTree *ntree);
-
- /* calls allowing threaded composite */
+
+int ntreeNodeExists(struct bNodeTree *ntree, struct bNode *testnode);
+int ntreeOutputExists(struct bNode *node, struct bNodeSocket *testsock);
struct bNodeTree *ntreeLocalize(struct bNodeTree *ntree);
void ntreeLocalSync(struct bNodeTree *localtree, struct bNodeTree *ntree);
void ntreeLocalMerge(struct bNodeTree *localtree, struct bNodeTree *ntree);
/* ************** GENERIC API, NODES *************** */
-void nodeVerifyType(struct bNodeTree *ntree, struct bNode *node);
+struct bNodeSocket *nodeAddSocket(struct bNodeTree *ntree, struct bNode *node, int in_out, const char *name, int type);
+struct bNodeSocket *nodeInsertSocket(struct bNodeTree *ntree, struct bNode *node, int in_out, struct bNodeSocket *next_sock, const char *name, int type);
+void nodeRemoveSocket(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock);
+void nodeRemoveAllSockets(struct bNodeTree *ntree, struct bNode *node);
void nodeAddToPreview(struct bNode *, float *, int, int, int);
+struct bNode *nodeAddNode(struct bNodeTree *ntree, struct bNodeTemplate *ntemp);
void nodeUnlinkNode(struct bNodeTree *ntree, struct bNode *node);
void nodeUniqueName(struct bNodeTree *ntree, struct bNode *node);
-void nodeAddSockets(struct bNode *node, struct bNodeType *ntype);
-struct bNode *nodeAddNodeType(struct bNodeTree *ntree, int type, struct bNodeTree *ngroup, struct ID *id);
-void nodeRegisterType(struct ListBase *typelist, const struct bNodeType *ntype) ;
-void nodeUpdateType(struct bNodeTree *ntree, struct bNode* node, struct bNodeType *ntype);
+
+void nodeRegisterType(struct ListBase *typelist, struct bNodeType *ntype) ;
void nodeMakeDynamicType(struct bNode *node);
int nodeDynamicUnlinkText(struct ID *txtid);
+
void nodeFreeNode(struct bNodeTree *ntree, struct bNode *node);
struct bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node);
@@ -185,6 +330,10 @@ struct bNodeLink *nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, s
void nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link);
void nodeRemSocketLinks(struct bNodeTree *ntree, struct bNodeSocket *sock);
+void nodeSpaceCoords(struct bNode *node, float *locx, float *locy);
+void nodeAttachNode(struct bNode *node, struct bNode *parent);
+void nodeDetachNode(struct bNode *node);
+
struct bNode *nodeFindNodebyName(struct bNodeTree *ntree, const char *name);
int nodeFindNode(struct bNodeTree *ntree, struct bNodeSocket *sock, struct bNode **nodep, int *sockindex, int *in_out);
@@ -201,41 +350,71 @@ void NodeTagChanged(struct bNodeTree *ntree, struct bNode *node);
int NodeTagIDChanged(struct bNodeTree *ntree, struct ID *id);
void ntreeClearTags(struct bNodeTree *ntree);
-/* ************** Groups ****************** */
-
-struct bNode *nodeMakeGroupFromSelected(struct bNodeTree *ntree);
-int nodeGroupUnGroup(struct bNodeTree *ntree, struct bNode *gnode);
-
-void nodeGroupVerify(struct bNodeTree *ngroup);
-void nodeGroupSocketUseFlags(struct bNodeTree *ngroup);
-
-void nodeGroupCopy(struct bNode *gnode);
+void nodeFreePreview(struct bNode *node);
-struct bNodeSocket *nodeGroupAddSocket(struct bNodeTree *ngroup, const char *name, int type, int in_out);
-struct bNodeSocket *nodeGroupExposeSocket(struct bNodeTree *ngroup, struct bNodeSocket *sock, int in_out);
-void nodeGroupExposeAllSockets(struct bNodeTree *ngroup);
-void nodeGroupRemoveSocket(struct bNodeTree *ngroup, struct bNodeSocket *gsock, int in_out);
+/* ************** NODE TYPE ACCESS *************** */
-/* ************** COMMON NODES *************** */
+struct bNodeTemplate nodeMakeTemplate(struct bNode *node);
+int nodeValid(struct bNodeTree *ntree, struct bNodeTemplate *ntemp);
+const char* nodeLabel(struct bNode *node);
+struct bNodeTree *nodeGroupEditGet(struct bNode *node);
+struct bNodeTree *nodeGroupEditSet(struct bNode *node, int edit);
+void nodeGroupEditClear(struct bNode *node);
/* Init a new node type struct with default values and callbacks */
-void node_type_base(struct bNodeType *ntype, int type, const char *name, short nclass, short flag,
- struct bNodeSocketType *inputs, struct bNodeSocketType *outputs);
+void node_type_base(struct bNodeType *ntype, int type, const char *name, short nclass, short flag);
+void node_type_socket_templates(struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs);
void node_type_size(struct bNodeType *ntype, int width, int minwidth, int maxwidth);
-void node_type_init(struct bNodeType *ntype, void (*initfunc)(struct bNode *));
+void node_type_init(struct bNodeType *ntype, void (*initfunc)(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp));
+void node_type_valid(struct bNodeType *ntype, int (*validfunc)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp));
void node_type_storage(struct bNodeType *ntype,
const char *storagename,
void (*freestoragefunc)(struct bNode *),
void (*copystoragefunc)(struct bNode *, struct bNode *));
+void node_type_label(struct bNodeType *ntype, const char *(*labelfunc)(struct bNode *));
+void node_type_template(struct bNodeType *ntype, struct bNodeTemplate (*templatefunc)(struct bNode *));
+void node_type_update(struct bNodeType *ntype,
+ void (*updatefunc)(struct bNodeTree *ntree, struct bNode *node),
+ void (*verifyfunc)(struct bNodeTree *ntree, struct bNode *node, struct ID *id));
+void node_type_tree(struct bNodeType *ntype,
+ void (*inittreefunc)(struct bNodeTree *),
+ void (*updatetreefunc)(struct bNodeTree *));
+void node_type_group_edit(struct bNodeType *ntype,
+ struct bNodeTree *(*group_edit_get)(struct bNode *node),
+ struct bNodeTree *(*group_edit_set)(struct bNode *node, int edit),
+ void (*group_edit_clear)(struct bNode *node));
+
void node_type_exec(struct bNodeType *ntype, void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **));
+void node_type_exec_new(struct bNodeType *ntype,
+ void *(*initexecfunc)(struct bNode *node),
+ void (*freeexecfunc)(struct bNode *node, void *nodedata),
+ void (*newexecfunc)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **));
void node_type_gpu(struct bNodeType *ntype, int (*gpufunc)(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out));
-void node_type_label(struct bNodeType *ntype, const char *(*labelfunc)(struct bNode *));
+void node_type_gpu_ext(struct bNodeType *ntype, int (*gpuextfunc)(struct GPUMaterial *mat, struct bNode *node, void *nodedata, struct GPUNodeStack *in, struct GPUNodeStack *out));
+
+/* ************** COMMON NODES *************** */
#define NODE_GROUP 2
-#define NODE_GROUP_MENU 1000
-#define NODE_DYNAMIC_MENU 4000
+#define NODE_FORLOOP 3
+#define NODE_WHILELOOP 4
+#define NODE_FRAME 5
+#define NODE_GROUP_MENU 10000
+#define NODE_DYNAMIC_MENU 20000
+
+/* look up a socket on a group node by the internal group socket */
+struct bNodeSocket *node_group_find_input(struct bNode *gnode, struct bNodeSocket *gsock);
+struct bNodeSocket *node_group_find_output(struct bNode *gnode, struct bNodeSocket *gsock);
+
+struct bNodeSocket *node_group_add_socket(struct bNodeTree *ngroup, const char *name, int type, int in_out);
+struct bNodeSocket *node_group_expose_socket(struct bNodeTree *ngroup, struct bNodeSocket *sock, int in_out);
+void node_group_expose_all_sockets(struct bNodeTree *ngroup);
+void node_group_remove_socket(struct bNodeTree *ngroup, struct bNodeSocket *gsock, int in_out);
-void register_node_type_group(ListBase *lb);
+struct bNode *node_group_make_from_selected(struct bNodeTree *ntree);
+int node_group_ungroup(struct bNodeTree *ntree, struct bNode *gnode);
+
+/* in node_common.c */
+void register_node_type_frame(ListBase *lb);
/* ************** SHADER NODES *************** */
@@ -285,11 +464,10 @@ struct ShadeResult;
#define NODE_DYNAMIC_REPARSE 6 /* 64 */
#define NODE_DYNAMIC_SET 15 /* sign */
-/* the type definitions array */
-extern struct ListBase node_all_shaders;
-
/* API */
+struct bNodeTreeExec *ntreeShaderBeginExecTree(struct bNodeTree *ntree, int use_tree_data);
+void ntreeShaderEndExecTree(struct bNodeTreeExec *exec, int use_tree_data);
void ntreeShaderExecTree(struct bNodeTree *ntree, struct ShadeInput *shi, struct ShadeResult *shr);
void ntreeShaderGetTexcoMode(struct bNodeTree *ntree, int osa, short *texco, int *mode);
void nodeShaderSynchronizeID(struct bNode *node, int copyto);
@@ -319,9 +497,10 @@ void ntreeGPUMaterialNodes(struct bNodeTree *ntree, struct GPUMaterial *mat);
#define RRES_OUT_REFRACT 12
#define RRES_OUT_INDIRECT 13
#define RRES_OUT_INDEXOB 14
-#define RRES_OUT_MIST 15
-#define RRES_OUT_EMIT 16
-#define RRES_OUT_ENV 17
+#define RRES_OUT_INDEXMA 15
+#define RRES_OUT_MIST 16
+#define RRES_OUT_EMIT 17
+#define RRES_OUT_ENV 18
/* note: types are needed to restore callbacks, don't change values */
#define CMP_NODE_VIEWER 201
@@ -413,11 +592,11 @@ void ntreeGPUMaterialNodes(struct bNodeTree *ntree, struct GPUMaterial *mat);
#define CMP_SCALE_RENDERPERCENT 3
-/* the type definitions array */
-extern struct ListBase node_all_composit;
-
/* API */
struct CompBuf;
+struct bNodeTreeExec *ntreeCompositBeginExecTree(struct bNodeTree *ntree, int use_tree_data);
+void ntreeCompositEndExecTree(struct bNodeTreeExec *exec, int use_tree_data);
+void ntreeCompositExecTree(struct bNodeTree *ntree, struct RenderData *rd, int do_previews);
void ntreeCompositTagRender(struct Scene *sce);
int ntreeCompositTagAnimated(struct bNodeTree *ntree);
void ntreeCompositTagGenerators(struct bNodeTree *ntree);
@@ -457,23 +636,22 @@ struct TexResult;
#define TEX_NODE_PROC 500
#define TEX_NODE_PROC_MAX 600
-extern struct ListBase node_all_textures;
-
/* API */
int ntreeTexTagAnimated(struct bNodeTree *ntree);
void ntreeTexSetPreviewFlag(int);
-int ntreeTexExecTree(struct bNodeTree *ntree, struct TexResult *target, float *coord, float *dxt, float *dyt, int osatex, short thread, struct Tex *tex, short which_output, int cfra, int preview, struct ShadeInput *shi, struct MTex *mtex);
void ntreeTexCheckCyclics(struct bNodeTree *ntree);
char* ntreeTexOutputMenu(struct bNodeTree *ntree);
+struct bNodeTreeExec *ntreeTexBeginExecTree(struct bNodeTree *ntree, int use_tree_data);
+void ntreeTexEndExecTree(struct bNodeTreeExec *exec, int use_tree_data);
+int ntreeTexExecTree(struct bNodeTree *ntree, struct TexResult *target, float *coord, float *dxt, float *dyt, int osatex, short thread, struct Tex *tex, short which_output, int cfra, int preview, struct ShadeInput *shi, struct MTex *mtex);
+
-/**/
+/*************************************************/
void init_nodesystem(void);
void free_nodesystem(void);
-/**/
-
void clear_scene_in_nodes(struct Main *bmain, struct Scene *sce);
#endif
diff --git a/source/blender/blenkernel/BKE_particle.h b/source/blender/blenkernel/BKE_particle.h
index 4dfc53e1734..5b565223ece 100644
--- a/source/blender/blenkernel/BKE_particle.h
+++ b/source/blender/blenkernel/BKE_particle.h
@@ -147,7 +147,8 @@ typedef struct ParticleBillboardData
struct Object *ob;
float vec[3], vel[3];
float offset[2];
- float size, tilt, random, time;
+ float size[2];
+ float tilt, random, time;
int uv[3];
int lock, num;
int totnum;
@@ -300,6 +301,8 @@ void psys_get_pointcache_start_end(struct Scene *scene, ParticleSystem *psys, in
void psys_check_boid_data(struct ParticleSystem *psys);
+void psys_get_birth_coordinates(struct ParticleSimulationData *sim, struct ParticleData *pa, struct ParticleKey *state, float dtime, float cfra);
+
void particle_system_update(struct Scene *scene, struct Object *ob, struct ParticleSystem *psys);
/* ----------- functions needed only inside particlesystem ------------ */
diff --git a/source/blender/blenkernel/BKE_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h
index bedd58876bc..cf68e5795b4 100644
--- a/source/blender/blenkernel/BKE_sequencer.h
+++ b/source/blender/blenkernel/BKE_sequencer.h
@@ -43,6 +43,7 @@ struct Scene;
struct Sequence;
struct Strip;
struct StripElem;
+struct bSound;
#define MAXSEQ 32
@@ -177,6 +178,7 @@ int seq_recursive_apply(struct Sequence *seq, int (*apply_func)(struct Sequence
/* maintainance functions, mostly for RNA */
// extern
void seq_free_sequence(struct Scene *scene, struct Sequence *seq);
+void seq_free_sequence_recurse(struct Scene *scene, struct Sequence *seq);
void seq_free_strip(struct Strip *strip);
void seq_free_editing(struct Scene *scene);
void seq_free_clipboard(void);
@@ -199,6 +201,11 @@ void update_changed_seq_and_deps(struct Scene *scene, struct Sequence *changed_s
int input_have_to_preprocess(
SeqRenderData context, struct Sequence * seq, float cfra);
+void seq_proxy_rebuild(struct Main * bmain,
+ struct Scene *scene, struct Sequence * seq,
+ short *stop, short *do_update, float *progress);
+
+
/* **********************************************************************
seqcache.c
@@ -281,8 +288,10 @@ void free_imbuf_seq(struct Scene *scene, struct ListBase * seqbasep, int check_m
struct Sequence *seq_dupli_recursive(struct Scene *scene, struct Scene *scene_to, struct Sequence * seq, int dupe_flag);
int seq_swap(struct Sequence *seq_a, struct Sequence *seq_b, const char **error_str);
-void seq_update_sound(struct Scene* scene, struct Sequence *seq);
-void seq_update_muting(struct Scene* scene, struct Editing *ed);
+void seq_update_sound_bounds_all(struct Scene *scene);
+void seq_update_sound_bounds(struct Scene* scene, struct Sequence *seq);
+void seq_update_muting(struct Editing *ed);
+void seq_update_sound(struct Scene *scene, struct bSound *sound);
void seqbase_sound_reload(struct Scene *scene, ListBase *seqbase);
void seqbase_unique_name_recursive(ListBase *seqbasep, struct Sequence *seq);
void seqbase_dupli_recursive(struct Scene *scene, struct Scene *scene_to, ListBase *nseqbase, ListBase *seqbase, int dupe_flag);
diff --git a/source/blender/blenkernel/BKE_sound.h b/source/blender/blenkernel/BKE_sound.h
index 04597fd666e..3728dd41089 100644
--- a/source/blender/blenkernel/BKE_sound.h
+++ b/source/blender/blenkernel/BKE_sound.h
@@ -35,17 +35,26 @@
* \author nzc
*/
+#define SOUND_WAVE_SAMPLES_PER_SECOND 250
+
struct PackedFile;
struct bSound;
-struct bContext;
struct ListBase;
struct Main;
struct Sequence;
+typedef struct SoundWaveform
+{
+ int length;
+ float *data;
+} SoundWaveform;
+
void sound_init_once(void);
void sound_init(struct Main *main);
+void sound_init_main(struct Main *bmain);
+
void sound_exit(void);
void sound_force_device(int device);
@@ -55,14 +64,16 @@ struct bSound* sound_new_file(struct Main *main, const char *filename);
// XXX unused currently
#if 0
-struct bSound* sound_new_buffer(struct bContext *C, struct bSound *source);
+struct bSound* sound_new_buffer(struct Main *bmain, struct bSound *source);
-struct bSound* sound_new_limiter(struct bContext *C, struct bSound *source, float start, float end);
+struct bSound* sound_new_limiter(struct Main *bmain, struct bSound *source, float start, float end);
#endif
-void sound_delete(struct bContext *C, struct bSound* sound);
+void sound_delete(struct Main *bmain, struct bSound* sound);
+
+void sound_cache(struct bSound* sound);
-void sound_cache(struct bSound* sound, int ignore);
+void sound_cache_notifying(struct Main* main, struct bSound* sound);
void sound_delete_cache(struct bSound* sound);
@@ -80,28 +91,50 @@ void sound_destroy_scene(struct Scene *scene);
void sound_mute_scene(struct Scene *scene, int muted);
+void sound_update_fps(struct Scene *scene);
+
+void sound_update_scene_listener(struct Scene *scene);
+
void* sound_scene_add_scene_sound(struct Scene *scene, struct Sequence* sequence, int startframe, int endframe, int frameskip);
void* sound_add_scene_sound(struct Scene *scene, struct Sequence* sequence, int startframe, int endframe, int frameskip);
void sound_remove_scene_sound(struct Scene *scene, void* handle);
-void sound_mute_scene_sound(struct Scene *scene, void* handle, char mute);
+void sound_mute_scene_sound(void* handle, char mute);
void sound_move_scene_sound(struct Scene *scene, void* handle, int startframe, int endframe, int frameskip);
+void sound_update_scene_sound(void* handle, struct bSound* sound);
+
+void sound_set_cfra(int cfra);
+
+void sound_set_scene_volume(struct Scene *scene, float volume);
+
+void sound_set_scene_sound_volume(void* handle, float volume, char animated);
+
+void sound_set_scene_sound_pitch(void* handle, float pitch, char animated);
+
+void sound_set_scene_sound_pan(void* handle, float pan, char animated);
+
+void sound_update_sequencer(struct Main* main, struct bSound* sound);
+
void sound_play_scene(struct Scene *scene);
void sound_stop_scene(struct Scene *scene);
-void sound_seek_scene(struct bContext *C);
+void sound_seek_scene(struct Main *bmain, struct Scene *scene);
float sound_sync_scene(struct Scene *scene);
int sound_scene_playing(struct Scene *scene);
-int sound_read_sound_buffer(struct bSound* sound, float* buffer, int length, float start, float end);
+void sound_free_waveform(struct bSound* sound);
+
+void sound_read_waveform(struct bSound* sound);
+
+void sound_update_scene(struct Scene* scene);
-int sound_get_channels(struct bSound* sound);
+void* sound_get_factory(void* sound);
#endif
diff --git a/source/blender/blenlib/intern/BLI_callbacks.h b/source/blender/blenkernel/BKE_speaker.h
index ad09339e61a..111bd86fdd3 100644
--- a/source/blender/blenlib/intern/BLI_callbacks.h
+++ b/source/blender/blenkernel/BKE_speaker.h
@@ -1,8 +1,4 @@
/*
- * blenlib/BLI_editVert.h mar 2001 Nzc
- *
- * These callbacks are needed in the lib
- *
* $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
@@ -26,21 +22,22 @@
*
* The Original Code is: all of this file.
*
- * Contributor(s): none yet.
+ * Contributor(s): Jörg Müller.
*
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/blenlib/intern/BLI_callbacks.h
- * \ingroup bli
- */
-
+#ifndef BKE_SPEAKER_H
+#define BKE_SPEAKER_H
-#ifndef BLI_CALLBACKS_H
-#define BLI_CALLBACKS_H
+/** \file BKE_speaker.h
+ * \ingroup bke
+ * \brief General operations for speakers.
+ */
-// This is blenlib internal only
-void callLocalErrorCallBack(const char* msg);
+void *add_speaker(const char *name);
+struct Speaker *copy_speaker(struct Speaker *spk);
+void make_local_speaker(struct Speaker *spk);
+void free_speaker(struct Speaker *spk);
#endif
-
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 5078657588d..c1797427cc2 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -32,8 +32,10 @@ endif()
set(INC
.
../avi
+ ../blenfont
../blenlib
../blenloader
+ ../editors/include
../gpu
../ikplugin
../imbuf
@@ -41,20 +43,19 @@ set(INC
../makesrna
../modifiers
../nodes
- ../editors/include
../render/extern/include
- ../../../intern/audaspace/intern
- ../../../intern/ffmpeg
- ../../../intern/bsp/extern ../blenfont
+ ../../../intern/bsp/extern
../../../intern/decimation/extern
../../../intern/elbeem/extern
../../../intern/guardedalloc
../../../intern/iksolver/extern
../../../intern/memutil
+ ../../../intern/mikktspace
../../../intern/opennl/extern
../../../intern/smoke/extern
- ../../../intern/mikktspace
- ../../../source/blender/windowmanager # XXX - BAD LEVEL CALL WM_api.h
+
+ # XXX - BAD LEVEL CALL WM_api.h
+ ../windowmanager
)
set(INC_SYS
@@ -139,6 +140,7 @@ set(SRC
intern/smoke.c
intern/softbody.c
intern/sound.c
+ intern/speaker.c
intern/subsurf_ccg.c
intern/suggestions.c
intern/text.c
@@ -219,6 +221,7 @@ set(SRC
BKE_smoke.h
BKE_softbody.h
BKE_sound.h
+ BKE_speaker.h
BKE_subsurf.h
BKE_suggestions.h
BKE_text.h
@@ -237,13 +240,24 @@ set(SRC
add_definitions(-DGLEW_STATIC)
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
if(WITH_BULLET)
- list(APPEND INC ../../../extern/bullet2/src)
+ list(APPEND INC
+ ../../../extern/bullet2/src
+ )
add_definitions(-DUSE_BULLET)
endif()
if(WITH_MOD_CLOTH_ELTOPO)
- list(APPEND INC ../../../extern/eltopo)
+ list(APPEND INC
+ ../../../extern/eltopo
+ )
add_definitions(-DWITH_ELTOPO)
endif()
@@ -267,24 +281,41 @@ if(WITH_IMAGE_CINEON)
add_definitions(-DWITH_CINEON)
endif()
+if(WITH_IMAGE_FRAMESERVER)
+ add_definitions(-DWITH_FRAMESERVER)
+endif()
+
if(WITH_IMAGE_HDR)
add_definitions(-DWITH_HDR)
endif()
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../quicktime)
- list(APPEND INC_SYS ${QUICKTIME_INC})
+ list(APPEND INC
+ ../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
if(WITH_CODEC_FFMPEG)
- list(APPEND INC_SYS ${FFMPEG_INC})
+ list(APPEND INC
+ ../../../intern/ffmpeg
+ )
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
if(WITH_PYTHON)
- list(APPEND INC ../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
if(WITH_PYTHON_SECURITY)
@@ -300,17 +331,25 @@ if(NOT WITH_MOD_FLUID)
add_definitions(-DDISABLE_ELBEEM)
endif()
+if(WITH_MOD_SMOKE)
+ add_definitions(-DWITH_SMOKE)
+endif()
+
if(WITH_JACK)
add_definitions(-DWITH_JACK)
endif()
if(WITH_LZO)
- list(APPEND INC_SYS ../../../extern/lzo/minilzo)
+ list(APPEND INC_SYS
+ ../../../extern/lzo/minilzo
+ )
add_definitions(-DWITH_LZO)
endif()
if(WITH_LZMA)
- list(APPEND INC_SYS ../../../extern/lzma)
+ list(APPEND INC_SYS
+ ../../../extern/lzma
+ )
add_definitions(-DWITH_LZMA)
endif()
diff --git a/source/blender/blenkernel/SConscript b/source/blender/blenkernel/SConscript
index b5f845acacb..5ea42ee65ae 100644
--- a/source/blender/blenkernel/SConscript
+++ b/source/blender/blenkernel/SConscript
@@ -21,6 +21,9 @@ incs += ' ' + env['BF_ZLIB_INC']
defs = [ 'GLEW_STATIC' ]
+defs.append('WITH_SMOKE') # TODO, make optional
+defs.append('WITH_FRAMESERVER') # TODO, make optional
+
if env['WITH_BF_PYTHON']:
incs += ' ../python'
incs += ' ' + env['BF_PYTHON_INC']
diff --git a/source/blender/blenkernel/depsgraph_private.h b/source/blender/blenkernel/depsgraph_private.h
index 1fed115893c..ef4f320602b 100644
--- a/source/blender/blenkernel/depsgraph_private.h
+++ b/source/blender/blenkernel/depsgraph_private.h
@@ -69,8 +69,9 @@ typedef struct DagNode
void * ob;
void * first_ancestor;
int ancestor_count;
- unsigned int lay; // accumulated layers of its relations + itself
+ unsigned int lay; // accumulated layers of its relations + itself
unsigned int scelay; // layers due to being in scene
+ unsigned int customdata_mask; // customdata mask
int lasttime; // if lasttime != DagForest->time, this node was not evaluated yet for flushing
int BFS_dist; // BFS distance
int DFS_dist; // DFS distance
diff --git a/source/blender/blenkernel/intern/BME_tools.c b/source/blender/blenkernel/intern/BME_tools.c
index 7665b581d7e..99b6e7f9095 100644
--- a/source/blender/blenkernel/intern/BME_tools.c
+++ b/source/blender/blenkernel/intern/BME_tools.c
@@ -1002,7 +1002,7 @@ static BME_Mesh *BME_bevel_initialize(BME_Mesh *bm, int options, int UNUSED(defg
}
/* edge pass */
- threshold = (float)cos((angle + 0.00001) * M_PI / 180.0);
+ threshold = (float)cos((angle + 0.001) * M_PI / 180.0);
for (e=bm->edges.first; e; e=e->next) {
e->tflag1 = BME_BEVEL_ORIG;
weight = 0.0;
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index d9c98bc0200..ff7f2586767 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -637,7 +637,8 @@ static void emDM_foreachMappedFaceCenter(DerivedMesh *dm, void (*func)(void *use
}
/* note, material function is ignored for now. */
-static void emDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int UNUSED(useColors), int (*setMaterial)(int, void *attribs))
+static void emDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int UNUSED(useColors), int (*setMaterial)(int, void *attribs),
+ int (*compareDrawOptions)(void *userData, int cur_index, int next_index))
{
EditMeshDerivedMesh *emdm= (EditMeshDerivedMesh*) dm;
EditFace *efa;
@@ -645,6 +646,9 @@ static void emDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *us
(void)setMaterial; /* unused */
+ /* currently unused -- each original face is handled separately */
+ (void)compareDrawOptions;
+
if (emdm->vertexCos) {
EditVert *eve;
@@ -1050,6 +1054,7 @@ static void emDM_drawMappedFacesGLSL(DerivedMesh *dm,
glEnd();
}
}
+#undef PASSATTRIB
}
static void emDM_drawFacesGLSL(DerivedMesh *dm,
@@ -1883,7 +1888,9 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos
/* set the DerivedMesh to only copy needed data */
mask= (CustomDataMask)GET_INT_FROM_POINTER(curr->link);
- DM_set_only_copy(dm, mask);
+ /* needMapping check here fixes bug [#28112], otherwise its
+ * possible that it wont be copied */
+ DM_set_only_copy(dm, mask | (needMapping ? CD_MASK_ORIGINDEX : 0));
/* add cloth rest shape key if need */
if(mask & CD_MASK_CLOTH_ORCO)
@@ -2765,6 +2772,7 @@ void DM_vertex_attributes_from_gpu(DerivedMesh *dm, GPUVertexAttribs *gattribs,
attribs->tface[a].array = tfdata->layers[layer].data;
attribs->tface[a].emOffset = tfdata->layers[layer].offset;
attribs->tface[a].glIndex = gattribs->layer[b].glindex;
+ attribs->tface[a].glTexco = gattribs->layer[b].gltexco;
}
}
else if(gattribs->layer[b].type == CD_MCOL) {
@@ -2805,6 +2813,7 @@ void DM_vertex_attributes_from_gpu(DerivedMesh *dm, GPUVertexAttribs *gattribs,
attribs->orco.array = vdata->layers[layer].data;
attribs->orco.emOffset = vdata->layers[layer].offset;
attribs->orco.glIndex = gattribs->layer[b].glindex;
+ attribs->orco.glTexco = gattribs->layer[b].gltexco;
}
}
}
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index 77f56058a4f..9c2467505cd 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -85,66 +83,84 @@ bAction *add_empty_action(const char name[])
bAction *act;
act= alloc_libblock(&G.main->action, ID_AC, name);
- act->id.flag |= LIB_FAKEUSER; // XXX this is nasty for new users... maybe we don't want this anymore
- act->id.us++;
return act;
}
+/* .................................. */
+
+/* temp data for make_local_action */
+typedef struct tMakeLocalActionContext {
+ bAction *act; /* original action */
+ bAction *actn; /* new action */
+
+ int lib; /* some action users were libraries */
+ int local; /* some action users were not libraries */
+} tMakeLocalActionContext;
+
+/* helper function for make_local_action() - local/lib init step */
+static void make_localact_init_cb(ID *id, AnimData *adt, void *mlac_ptr)
+{
+ tMakeLocalActionContext *mlac = (tMakeLocalActionContext *)mlac_ptr;
+
+ if (adt->action == mlac->act) {
+ if (id->lib)
+ mlac->lib = 1;
+ else
+ mlac->local = 1;
+ }
+}
+
+/* helper function for make_local_action() - change references */
+static void make_localact_apply_cb(ID *id, AnimData *adt, void *mlac_ptr)
+{
+ tMakeLocalActionContext *mlac = (tMakeLocalActionContext *)mlac_ptr;
+
+ if (adt->action == mlac->act) {
+ if (id->lib==0) {
+ adt->action = mlac->actn;
+
+ id_us_plus(&mlac->actn->id);
+ id_us_min(&mlac->act->id);
+ }
+ }
+}
+
// does copy_fcurve...
void make_local_action(bAction *act)
{
- // Object *ob;
+ tMakeLocalActionContext mlac = {act, NULL, 0, 0};
Main *bmain= G.main;
- bAction *actn;
- int local=0, lib=0;
- if (act->id.lib==NULL) return;
- if (act->id.us==1) {
+ if (act->id.lib==NULL)
+ return;
+
+ // XXX: double-check this; it used to be just single-user check, but that was when fake-users were still default
+ if ((act->id.flag & LIB_FAKEUSER) && (act->id.us<=1)) {
act->id.lib= NULL;
act->id.flag= LIB_LOCAL;
new_id(&bmain->action, (ID *)act, NULL);
return;
}
-#if 0 // XXX old animation system
- ob= G.main->object.first;
- while(ob) {
- if(ob->action==act) {
- if(ob->id.lib) lib= 1;
- else local= 1;
- }
- ob= ob->id.next;
- }
-#endif
+ BKE_animdata_main_cb(bmain, make_localact_init_cb, &mlac);
- if(local && lib==0) {
+ if (mlac.local && mlac.lib==0) {
act->id.lib= NULL;
act->id.flag= LIB_LOCAL;
//make_local_action_channels(act);
new_id(&bmain->action, (ID *)act, NULL);
}
- else if(local && lib) {
- actn= copy_action(act);
- actn->id.us= 0;
+ else if (mlac.local && mlac.lib) {
+ mlac.actn= copy_action(act);
+ mlac.actn->id.us= 0;
-#if 0 // XXX old animation system
- ob= G.main->object.first;
- while(ob) {
- if(ob->action==act) {
-
- if(ob->id.lib==0) {
- ob->action = actn;
- actn->id.us++;
- act->id.us--;
- }
- }
- ob= ob->id.next;
- }
-#endif // XXX old animation system
+ BKE_animdata_main_cb(bmain, make_localact_apply_cb, &mlac);
}
}
+/* .................................. */
+
void free_action (bAction *act)
{
/* sanity check */
@@ -163,6 +179,8 @@ void free_action (bAction *act)
BLI_freelistN(&act->markers);
}
+/* .................................. */
+
bAction *copy_action (bAction *src)
{
bAction *dst = NULL;
@@ -200,9 +218,6 @@ bAction *copy_action (bAction *src)
}
}
- dst->id.flag |= LIB_FAKEUSER; // XXX this is nasty for new users... maybe we don't want this anymore
- dst->id.us++;
-
return dst;
}
@@ -1128,7 +1143,7 @@ void copy_pose_result(bPose *to, bPose *from)
/* For the calculation of the effects of an Action at the given frame on an object
* This is currently only used for the Action Constraint
*/
-void what_does_obaction (Scene *UNUSED(scene), Object *ob, Object *workob, bPose *pose, bAction *act, char groupname[], float cframe)
+void what_does_obaction (Object *ob, Object *workob, bPose *pose, bAction *act, char groupname[], float cframe)
{
bActionGroup *agrp= action_groups_find_named(act, groupname);
@@ -1180,7 +1195,7 @@ void what_does_obaction (Scene *UNUSED(scene), Object *ob, Object *workob, bPose
adt.action= act;
/* execute effects of Action on to workob (or it's PoseChannels) */
- BKE_animsys_evaluate_animdata(&workob->id, &adt, cframe, ADT_RECALC_ANIM);
+ BKE_animsys_evaluate_animdata(NULL, &workob->id, &adt, cframe, ADT_RECALC_ANIM);
}
}
diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c
index 1763866c000..9ca11db7fce 100644
--- a/source/blender/blenkernel/intern/anim.c
+++ b/source/blender/blenkernel/intern/anim.c
@@ -1,8 +1,4 @@
-/* anim.c
- *
- *
- * $Id$
- *
+/*
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -171,7 +167,12 @@ bMotionPath *animviz_verify_motionpaths(Scene *scene, Object *ob, bPoseChannel *
avs= &ob->avs;
dst= &ob->mpath;
}
-
+
+ /* avoid 0 size allocs */
+ if (avs->path_sf >= avs->path_ef) {
+ return NULL;
+ }
+
/* if there is already a motionpath, just return that,
* but provided it's settings are ok
*/
@@ -226,6 +227,7 @@ typedef struct MPathTarget {
/* get list of motion paths to be baked for the given object
* - assumes the given list is ready to be used
*/
+// TODO: it would be nice in future to be able to update objects dependant on these bones too?
void animviz_get_object_motionpaths(Object *ob, ListBase *targets)
{
MPathTarget *mpt;
@@ -714,12 +716,13 @@ static void group_duplilist(ListBase *lb, Scene *scene, Object *ob, int level, i
/* note, if you check on layer here, render goes wrong... it still deforms verts and uses parent imat */
if(go->ob!=ob) {
- /* Group Dupli Offset, should apply after everything else */
- if (group->dupli_ofs[0] || group->dupli_ofs[1] || group->dupli_ofs[2]) {
+ /* group dupli offset, should apply after everything else */
+ if(!is_zero_v3(group->dupli_ofs)) {
copy_m4_m4(tmat, go->ob->obmat);
sub_v3_v3v3(tmat[3], tmat[3], group->dupli_ofs);
mul_m4_m4m4(mat, tmat, ob->obmat);
- } else {
+ }
+ else {
mul_m4_m4m4(mat, go->ob->obmat, ob->obmat);
}
@@ -789,7 +792,7 @@ static void frames_duplilist(ListBase *lb, Scene *scene, Object *ob, int level,
* and/or other objects which may affect this object's transforms are not updated either.
* However, this has always been the way that this worked (i.e. pre 2.5), so I guess that it'll be fine!
*/
- BKE_animsys_evaluate_animdata(&ob->id, ob->adt, (float)scene->r.cfra, ADT_RECALC_ANIM); /* ob-eval will do drivers, so we don't need to do them */
+ BKE_animsys_evaluate_animdata(scene, &ob->id, ob->adt, (float)scene->r.cfra, ADT_RECALC_ANIM); /* ob-eval will do drivers, so we don't need to do them */
where_is_object_time(scene, ob, (float)scene->r.cfra);
dob= new_dupli_object(lb, ob, ob->obmat, ob->lay, scene->r.cfra, OB_DUPLIFRAMES, animated);
@@ -804,7 +807,7 @@ static void frames_duplilist(ListBase *lb, Scene *scene, Object *ob, int level,
*/
scene->r.cfra= cfrao;
- BKE_animsys_evaluate_animdata(&ob->id, ob->adt, (float)scene->r.cfra, ADT_RECALC_ANIM); /* ob-eval will do drivers, so we don't need to do them */
+ BKE_animsys_evaluate_animdata(scene, &ob->id, ob->adt, (float)scene->r.cfra, ADT_RECALC_ANIM); /* ob-eval will do drivers, so we don't need to do them */
where_is_object_time(scene, ob, (float)scene->r.cfra);
/* but, to make sure unkeyed object transforms are still sane,
@@ -1239,6 +1242,8 @@ static void new_particle_duplilist(ListBase *lb, ID *id, Scene *scene, Object *p
sim.ob= par;
sim.psys= psys;
sim.psmd= psys_get_modifier(par, psys);
+ /* make sure emitter imat is in global coordinates instead of render view coordinates */
+ invert_m4_m4(par->imat, par->obmat);
/* first check for loops (particle system object used as dupli object) */
if(part->ren_as == PART_DRAW_OB) {
@@ -1343,6 +1348,10 @@ static void new_particle_duplilist(ListBase *lb, ID *id, Scene *scene, Object *p
continue;
if(part->ren_as==PART_DRAW_GR) {
+ /* prevent divide by zero below [#28336] */
+ if(totgroup == 0)
+ continue;
+
/* for groups, pick the object based on settings */
if(part->draw&PART_DRAW_RAND_GR)
b= BLI_rand() % totgroup;
@@ -1390,7 +1399,17 @@ static void new_particle_duplilist(ListBase *lb, ID *id, Scene *scene, Object *p
if(part->ren_as==PART_DRAW_GR && psys->part->draw & PART_DRAW_WHOLE_GR) {
for(go= part->dup_group->gobject.first, b=0; go; go= go->next, b++) {
- mul_m4_m4m4(tmat, oblist[b]->obmat, pamat);
+
+ /* group dupli offset, should apply after everything else */
+ if(!is_zero_v3(part->dup_group->dupli_ofs)) {
+ copy_m4_m4(tmat, oblist[b]->obmat);
+ sub_v3_v3v3(tmat[3], tmat[3], part->dup_group->dupli_ofs);
+ mul_m4_m4m4(tmat, tmat, pamat);
+ }
+ else {
+ mul_m4_m4m4(tmat, oblist[b]->obmat, pamat);
+ }
+
mul_mat3_m4_fl(tmat, size*scale);
if(par_space_mat)
mul_m4_m4m4(mat, tmat, par_space_mat);
diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c
index fdc102bf779..b690c9b4a91 100644
--- a/source/blender/blenkernel/intern/anim_sys.c
+++ b/source/blender/blenkernel/intern/anim_sys.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -56,6 +54,7 @@
#include "BKE_global.h"
#include "BKE_main.h"
#include "BKE_library.h"
+#include "BKE_report.h"
#include "BKE_utildefines.h"
#include "RNA_access.h"
@@ -84,6 +83,7 @@ short id_type_can_have_animdata (ID *id)
case ID_PA:
case ID_MA: case ID_TE: case ID_NT:
case ID_LA: case ID_CA: case ID_WO:
+ case ID_SPK:
case ID_SCE:
{
return 1;
@@ -144,6 +144,59 @@ AnimData *BKE_id_add_animdata (ID *id)
return NULL;
}
+/* Action Setter --------------------------------------- */
+
+/* Called when user tries to change the active action of an AnimData block (via RNA, Outliner, etc.) */
+short BKE_animdata_set_action (ReportList *reports, ID *id, bAction *act)
+{
+ AnimData *adt = BKE_animdata_from_id(id);
+ short ok = 0;
+
+ /* animdata validity check */
+ if (adt == NULL) {
+ BKE_report(reports, RPT_WARNING, "No AnimData to set action on");
+ return ok;
+ }
+
+ /* active action is only editable when it is not a tweaking strip
+ * see rna_AnimData_action_editable() in rna_animation.c
+ */
+ if ((adt->flag & ADT_NLA_EDIT_ON) || (adt->actstrip) || (adt->tmpact)) {
+ /* cannot remove, otherwise things turn to custard */
+ BKE_report(reports, RPT_ERROR, "Cannot change action, as it is still being edited in NLA");
+ return ok;
+ }
+
+ /* manage usercount for current action */
+ if (adt->action)
+ id_us_min((ID*)adt->action);
+
+ /* assume that AnimData's action can in fact be edited... */
+ if (act) {
+ /* action must have same type as owner */
+ if (ELEM(act->idroot, 0, GS(id->name))) {
+ /* can set */
+ adt->action = act;
+ id_us_plus((ID*)adt->action);
+ ok = 1;
+ }
+ else {
+ /* cannot set */
+ BKE_reportf(reports, RPT_ERROR,
+ "Couldn't set Action '%s' onto ID '%s', as it doesn't have suitably rooted paths for this purpose",
+ act->id.name+2, id->name);
+ //ok = 0;
+ }
+ }
+ else {
+ /* just clearing the action... */
+ adt->action = NULL;
+ ok = 1;
+ }
+
+ return ok;
+}
+
/* Freeing -------------------------------------------- */
/* Free AnimData used by the nominated ID-block, and clear ID-block's AnimData pointer */
@@ -234,7 +287,7 @@ int BKE_copy_animdata_id (ID *id_to, ID *id_from, const short do_action)
return 1;
}
-void BKE_copy_animdata_id_action(struct ID *id)
+void BKE_copy_animdata_id_action(ID *id)
{
AnimData *adt= BKE_animdata_from_id(id);
if (adt) {
@@ -733,7 +786,10 @@ void BKE_animdata_main_cb (Main *mainptr, ID_AnimData_Edit_Callback func, void *
/* particles */
ANIMDATA_IDS_CB(mainptr->particle.first);
-
+
+ /* speakers */
+ ANIMDATA_IDS_CB(mainptr->speaker.first);
+
/* objects */
ANIMDATA_IDS_CB(mainptr->object.first);
@@ -811,7 +867,10 @@ void BKE_all_animdata_fix_paths_rename (char *prefix, char *oldName, char *newNa
/* particles */
RENAMEFIX_ANIM_IDS(mainptr->particle.first);
-
+
+ /* speakers */
+ RENAMEFIX_ANIM_IDS(mainptr->speaker.first);
+
/* objects */
RENAMEFIX_ANIM_IDS(mainptr->object.first);
@@ -1062,7 +1121,7 @@ static short animsys_write_rna_setting (PointerRNA *ptr, char *path, int array_i
{
int array_len= RNA_property_array_length(&new_ptr, prop);
- if(array_len && array_index >= array_len)
+ if (array_len && array_index >= array_len)
{
if (G.f & G_DEBUG) {
printf("Animato: Invalid array index. ID = '%s', '%s[%d]', array length is %d \n",
@@ -1100,6 +1159,23 @@ static short animsys_write_rna_setting (PointerRNA *ptr, char *path, int array_i
/* nothing can be done here... so it is unsuccessful? */
return 0;
}
+
+ /* buffer property update for later flushing */
+ if (RNA_property_update_check(prop)) {
+ short skip_updates_hack = 0;
+
+ /* optimisation hacks: skip property updates for those properties
+ * for we know that which the updates in RNA were really just for
+ * flushing property editing via UI/Py
+ */
+ if (new_ptr.type == &RNA_PoseBone) {
+ /* bone transforms - update pose (i.e. tag depsgraph) */
+ skip_updates_hack = 1;
+ }
+
+ if (skip_updates_hack == 0)
+ RNA_property_update_cache_add(&new_ptr, prop);
+ }
}
/* successful */
@@ -1843,6 +1919,9 @@ void nlastrip_evaluate (PointerRNA *ptr, ListBase *channels, ListBase *modifiers
case NLASTRIP_TYPE_META: /* meta */
nlastrip_evaluate_meta(ptr, channels, modifiers, nes);
break;
+
+ default: /* do nothing */
+ break;
}
/* clear temp recursion safe-check */
@@ -2078,7 +2157,7 @@ static void animsys_evaluate_overrides (PointerRNA *ptr, AnimData *adt)
* and that the flags for which parts of the anim-data settings need to be recalculated
* have been set already by the depsgraph. Now, we use the recalc
*/
-void BKE_animsys_evaluate_animdata (ID *id, AnimData *adt, float ctime, short recalc)
+void BKE_animsys_evaluate_animdata (Scene *scene, ID *id, AnimData *adt, float ctime, short recalc)
{
PointerRNA id_ptr;
@@ -2130,6 +2209,14 @@ void BKE_animsys_evaluate_animdata (ID *id, AnimData *adt, float ctime, short re
*/
animsys_evaluate_overrides(&id_ptr, adt);
+ /* execute and clear all cached property update functions */
+ if (scene)
+ {
+ Main *bmain = G.main; // xxx - to get passed in!
+ RNA_property_update_cache_flush(bmain, scene);
+ RNA_property_update_cache_free();
+ }
+
/* clear recalc flag now */
adt->recalc= 0;
}
@@ -2141,7 +2228,7 @@ void BKE_animsys_evaluate_animdata (ID *id, AnimData *adt, float ctime, short re
* 'local' (i.e. belonging in the nearest ID-block that setting is related to, not a
* standard 'root') block are overridden by a larger 'user'
*/
-void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
+void BKE_animsys_evaluate_all_animation (Main *main, Scene *scene, float ctime)
{
ID *id;
@@ -2157,7 +2244,7 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
for (id= first; id; id= id->next) { \
if (ID_REAL_USERS(id) > 0) { \
AnimData *adt= BKE_animdata_from_id(id); \
- BKE_animsys_evaluate_animdata(id, adt, ctime, aflag); \
+ BKE_animsys_evaluate_animdata(scene, id, adt, ctime, aflag); \
} \
}
/* another macro for the "embedded" nodetree cases
@@ -2173,9 +2260,9 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
NtId_Type *ntp= (NtId_Type *)id; \
if (ntp->nodetree) { \
AnimData *adt2= BKE_animdata_from_id((ID *)ntp->nodetree); \
- BKE_animsys_evaluate_animdata((ID *)ntp->nodetree, adt2, ctime, ADT_RECALC_ANIM); \
+ BKE_animsys_evaluate_animdata(scene, (ID *)ntp->nodetree, adt2, ctime, ADT_RECALC_ANIM); \
} \
- BKE_animsys_evaluate_animdata(id, adt, ctime, aflag); \
+ BKE_animsys_evaluate_animdata(scene, id, adt, ctime, aflag); \
} \
}
@@ -2230,6 +2317,9 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
/* particles */
EVAL_ANIM_IDS(main->particle.first, ADT_RECALC_ANIM);
+ /* lamps */
+ EVAL_ANIM_IDS(main->speaker.first, ADT_RECALC_ANIM);
+
/* objects */
/* ADT_RECALC_ANIM doesn't need to be supplied here, since object AnimData gets
* this tagged by Depsgraph on framechange. This optimisation means that objects
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index fd25ebe266f..62ce184a2d7 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -1343,8 +1341,12 @@ void vec_roll_to_mat3(float *vec, float roll, float mat[][3])
cross_v3_v3v3(axis,target,nor);
/* was 0.0000000000001, caused bug [#23954], smaller values give unstable
- * roll when toggling editmode */
- if (dot_v3v3(axis,axis) > 0.00001f) {
+ * roll when toggling editmode.
+ *
+ * was 0.00001, causes bug [#27675], with 0.00000495,
+ * so a value inbetween these is needed.
+ */
+ if (dot_v3v3(axis,axis) > 0.000001f) {
/* if nor is *not* a multiple of target ... */
normalize_v3(axis);
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c
index 20b44b3b899..5f33059e117 100644
--- a/source/blender/blenkernel/intern/blender.c
+++ b/source/blender/blenkernel/intern/blender.c
@@ -64,6 +64,7 @@
#include "BLI_dynstr.h"
#include "BLI_path_util.h"
#include "BLI_utildefines.h"
+#include "BLI_callbacks.h"
#include "IMB_imbuf.h"
@@ -81,6 +82,7 @@
#include "BKE_scene.h"
#include "BKE_screen.h"
#include "BKE_sequencer.h"
+#include "BKE_sound.h"
#include "BLO_undofile.h"
@@ -89,6 +91,8 @@
#include "BKE_utildefines.h"
+#include "RNA_access.h"
+
#include "WM_api.h" // XXXXX BAD, very BAD dependency (bad level call) - remove asap, elubie
Global G;
@@ -96,7 +100,7 @@ UserDef U;
/* ListBase = {NULL, NULL}; */
short ENDIAN_ORDER;
-static char versionstr[48]= "";
+char versionstr[48]= "";
/* ********** free ********** */
@@ -110,6 +114,9 @@ void free_blender(void)
BKE_spacetypes_free(); /* after free main, it uses space callbacks */
IMB_exit();
+
+ BLI_cb_finalize();
+
seq_stripelem_cache_destruct();
free_nodesystem();
@@ -129,9 +136,9 @@ void initglobals(void)
ENDIAN_ORDER= (((char*)&ENDIAN_ORDER)[0])? L_ENDIAN: B_ENDIAN;
if(BLENDER_SUBVERSION)
- BLI_snprintf(versionstr, sizeof(versionstr), "www.blender.org %d.%d", BLENDER_VERSION, BLENDER_SUBVERSION);
+ BLI_snprintf(versionstr, sizeof(versionstr), "blender.org %d.%d", BLENDER_VERSION, BLENDER_SUBVERSION);
else
- BLI_snprintf(versionstr, sizeof(versionstr), "www.blender.org %d", BLENDER_VERSION);
+ BLI_snprintf(versionstr, sizeof(versionstr), "blender.org %d", BLENDER_VERSION);
#ifdef _WIN32 // FULLSCREEN
G.windowstate = G_WINDOWSTATE_USERDEF;
@@ -154,7 +161,6 @@ static void clear_global(void)
{
// extern short winqueue_break; /* screen.c */
- fastshade_free_render(); /* lamps hang otherwise */
free_main(G.main); /* free all lib data */
// free_vertexpaint();
@@ -180,7 +186,6 @@ static void clean_paths(Main *main)
BLI_bpathIterator_free(bpi);
for(scene= main->scene.first; scene; scene= scene->id.next) {
- BLI_clean(scene->r.backbuf);
BLI_clean(scene->r.pic);
}
}
@@ -237,9 +242,14 @@ static void setup_app_data(bContext *C, BlendFileData *bfd, const char *filepath
// CTX_wm_manager_set(C, NULL);
clear_global();
+ /* clear old property update cache, in case some old references are left dangling */
+ RNA_property_update_cache_free();
+
G.main= bfd->main;
CTX_data_main_set(C, G.main);
+
+ sound_init_main(G.main);
if (bfd->user) {
@@ -328,28 +338,45 @@ static int handle_subversion_warning(Main *main)
return 1;
}
+static void keymap_item_free(wmKeyMapItem *kmi)
+{
+ if(kmi->properties) {
+ IDP_FreeProperty(kmi->properties);
+ MEM_freeN(kmi->properties);
+ }
+ if(kmi->ptr)
+ MEM_freeN(kmi->ptr);
+}
+
void BKE_userdef_free(void)
{
wmKeyMap *km;
wmKeyMapItem *kmi;
+ wmKeyMapDiffItem *kmdi;
- for(km=U.keymaps.first; km; km=km->next) {
- for(kmi=km->items.first; kmi; kmi=kmi->next) {
- if(kmi->properties) {
- IDP_FreeProperty(kmi->properties);
- MEM_freeN(kmi->properties);
+ for(km=U.user_keymaps.first; km; km=km->next) {
+ for(kmdi=km->diff_items.first; kmdi; kmdi=kmdi->next) {
+ if(kmdi->add_item) {
+ keymap_item_free(kmdi->add_item);
+ MEM_freeN(kmdi->add_item);
+ }
+ if(kmdi->remove_item) {
+ keymap_item_free(kmdi->remove_item);
+ MEM_freeN(kmdi->remove_item);
}
- if(kmi->ptr)
- MEM_freeN(kmi->ptr);
}
+ for(kmi=km->items.first; kmi; kmi=kmi->next)
+ keymap_item_free(kmi);
+
+ BLI_freelistN(&km->diff_items);
BLI_freelistN(&km->items);
}
BLI_freelistN(&U.uistyles);
BLI_freelistN(&U.uifonts);
BLI_freelistN(&U.themes);
- BLI_freelistN(&U.keymaps);
+ BLI_freelistN(&U.user_keymaps);
BLI_freelistN(&U.addons);
}
diff --git a/source/blender/blenkernel/intern/boids.c b/source/blender/blenkernel/intern/boids.c
index 9f808704eee..a0f38e675f9 100644
--- a/source/blender/blenkernel/intern/boids.c
+++ b/source/blender/blenkernel/intern/boids.c
@@ -937,6 +937,7 @@ void boid_brain(BoidBrainData *bbd, int p, ParticleData *pa)
BoidValues val;
BoidState *state = get_boid_state(boids, pa);
BoidParticle *bpa = pa->boid;
+ ParticleSystem *psys = bbd->sim->psys;
int rand;
//BoidCondition *cond;
@@ -959,9 +960,8 @@ void boid_brain(BoidBrainData *bbd, int p, ParticleData *pa)
bbd->wanted_co[0]=bbd->wanted_co[1]=bbd->wanted_co[2]=bbd->wanted_speed=0.0f;
/* create random seed for every particle & frame */
- BLI_srandom(bbd->sim->psys->seed + p);
- rand = BLI_rand();
- BLI_srandom((int)bbd->cfra + rand);
+ rand = (int)(PSYS_FRAND(psys->seed + p) * 1000);
+ rand = (int)(PSYS_FRAND((int)bbd->cfra + rand) * 1000);
set_boid_values(&val, bbd->part->boids, pa);
diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c
index a4ceb62ab55..c497cd2813a 100644
--- a/source/blender/blenkernel/intern/brush.c
+++ b/source/blender/blenkernel/intern/brush.c
@@ -235,8 +235,6 @@ void make_local_brush(Brush *brush)
if(paint_brush(&scene->toolsettings->imapaint.paint)==brush) {
if(scene->id.lib==NULL) {
paint_brush_set(&scene->toolsettings->imapaint.paint, brushn);
- brushn->id.us++;
- brush->id.us--;
}
}
}
diff --git a/source/blender/blenkernel/intern/bvhutils.c b/source/blender/blenkernel/intern/bvhutils.c
index 5520e4d1d41..c3aeb440938 100644
--- a/source/blender/blenkernel/intern/bvhutils.c
+++ b/source/blender/blenkernel/intern/bvhutils.c
@@ -493,7 +493,7 @@ static void mesh_edges_nearest_point(void *userdata, int index, const float *co,
// NOTE: casts to "float*" here are due to co being "const float*"
closest_to_line_segment_v3(nearest_tmp, (float*)co, t0, t1);
- dist = len_v3v3(nearest_tmp, (float*)co);
+ dist = len_squared_v3v3(nearest_tmp, (float*)co);
if(dist < nearest->dist)
{
@@ -719,7 +719,7 @@ void free_bvhtree_from_mesh(struct BVHTreeFromMesh *data)
if(!data->cached)
BLI_bvhtree_free(data->tree);
- memset( data, 0, sizeof(data) );
+ memset( data, 0, sizeof(*data) );
}
}
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index 72ee9b55800..5eb97630e83 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -284,8 +284,10 @@ static void cdDM_drawVerts(DerivedMesh *dm)
else { /* use OpenGL VBOs or Vertex Arrays instead for better, faster rendering */
GPU_vertex_setup(dm);
if( !GPU_buffer_legacy(dm) ) {
- if(dm->drawObject->nelements) glDrawArrays(GL_POINTS,0, dm->drawObject->nelements);
- else glDrawArrays(GL_POINTS,0, dm->drawObject->nlooseverts);
+ if(dm->drawObject->tot_triangle_point)
+ glDrawArrays(GL_POINTS,0, dm->drawObject->tot_triangle_point);
+ else
+ glDrawArrays(GL_POINTS,0, dm->drawObject->tot_loose_point);
}
GPU_buffer_unbind();
}
@@ -547,9 +549,10 @@ static void cdDM_drawFacesSolid(DerivedMesh *dm,
GPU_normal_setup( dm );
if( !GPU_buffer_legacy(dm) ) {
glShadeModel(GL_SMOOTH);
- for( a = 0; a < dm->drawObject->nmaterials; a++ ) {
+ for( a = 0; a < dm->drawObject->totmaterial; a++ ) {
if( setMaterial(dm->drawObject->materials[a].mat_nr+1, NULL) )
- glDrawArrays(GL_TRIANGLES, dm->drawObject->materials[a].start, dm->drawObject->materials[a].end-dm->drawObject->materials[a].start);
+ glDrawArrays(GL_TRIANGLES, dm->drawObject->materials[a].start,
+ dm->drawObject->materials[a].totpoint);
}
}
GPU_buffer_unbind( );
@@ -629,13 +632,13 @@ static void cdDM_drawFacesColored(DerivedMesh *dm, int useTwoSided, unsigned cha
GPU_color_setup(dm);
if( !GPU_buffer_legacy(dm) ) {
glShadeModel(GL_SMOOTH);
- glDrawArrays(GL_TRIANGLES, 0, dm->drawObject->nelements);
+ glDrawArrays(GL_TRIANGLES, 0, dm->drawObject->tot_triangle_point);
if( useTwoSided ) {
GPU_color4_upload(dm,cp2);
GPU_color_setup(dm);
glCullFace(GL_FRONT);
- glDrawArrays(GL_TRIANGLES, 0, dm->drawObject->nelements);
+ glDrawArrays(GL_TRIANGLES, 0, dm->drawObject->tot_triangle_point);
glCullFace(GL_BACK);
}
}
@@ -787,8 +790,8 @@ static void cdDM_drawFacesTex_common(DerivedMesh *dm,
glShadeModel( GL_SMOOTH );
lastFlag = 0;
- for(i = 0; i < dm->drawObject->nelements/3; i++) {
- int actualFace = dm->drawObject->faceRemap[i];
+ for(i = 0; i < dm->drawObject->tot_triangle_point/3; i++) {
+ int actualFace = dm->drawObject->triangle_to_mface[i];
int flag = 1;
if(drawParams) {
@@ -819,13 +822,13 @@ static void cdDM_drawFacesTex_common(DerivedMesh *dm,
startFace = i;
}
}
- if( startFace < dm->drawObject->nelements/3 ) {
+ if( startFace < dm->drawObject->tot_triangle_point/3 ) {
if( lastFlag != 0 ) { /* if the flag is 0 it means the face is hidden or invisible */
if (lastFlag==1 && col)
GPU_color_switch(1);
else
GPU_color_switch(0);
- glDrawArrays(GL_TRIANGLES,startFace*3,dm->drawObject->nelements-startFace*3);
+ glDrawArrays(GL_TRIANGLES, startFace*3, dm->drawObject->tot_triangle_point - startFace*3);
}
}
}
@@ -840,7 +843,8 @@ static void cdDM_drawFacesTex(DerivedMesh *dm, int (*setDrawOptions)(MTFace *tfa
cdDM_drawFacesTex_common(dm, setDrawOptions, NULL, NULL);
}
-static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int useColors, int (*setMaterial)(int, void *attribs))
+static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int useColors, int (*setMaterial)(int, void *attribs),
+ int (*compareDrawOptions)(void *userData, int cur_index, int next_index))
{
CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
MVert *mv = cddm->mvert;
@@ -935,7 +939,7 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *us
if( useColors && mc )
GPU_color_setup(dm);
if( !GPU_buffer_legacy(dm) ) {
- int tottri = dm->drawObject->nelements/3;
+ int tottri = dm->drawObject->tot_triangle_point/3;
glShadeModel(GL_SMOOTH);
if(tottri == 0) {
@@ -947,17 +951,18 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *us
}
else {
/* we need to check if the next material changes */
- int next_actualFace= dm->drawObject->faceRemap[0];
+ int next_actualFace= dm->drawObject->triangle_to_mface[0];
for( i = 0; i < tottri; i++ ) {
- //int actualFace = dm->drawObject->faceRemap[i];
+ //int actualFace = dm->drawObject->triangle_to_mface[i];
int actualFace = next_actualFace;
MFace *mface= mf + actualFace;
int drawSmooth= (mface->flag & ME_SMOOTH);
int draw = 1;
+ int flush = 0;
if(i != tottri-1)
- next_actualFace= dm->drawObject->faceRemap[i+1];
+ next_actualFace= dm->drawObject->triangle_to_mface[i+1];
orig= (index==NULL) ? actualFace : index[actualFace];
@@ -969,11 +974,28 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *us
/* Goal is to draw as long of a contiguous triangle
array as possible, so draw when we hit either an
invisible triangle or at the end of the array */
- if(!draw || i == tottri - 1 || mf[actualFace].mat_nr != mf[next_actualFace].mat_nr) {
- if(prevstart != i)
- /* Add one to the length (via `draw')
- if we're drawing at the end of the array */
- glDrawArrays(GL_TRIANGLES,prevstart*3, (i-prevstart+draw)*3);
+
+ /* flush buffer if current triangle isn't drawable or it's last triangle... */
+ flush= !draw || i == tottri - 1;
+
+ /* ... or when material setting is dissferent */
+ flush|= mf[actualFace].mat_nr != mf[next_actualFace].mat_nr;
+
+ if(!flush && compareDrawOptions) {
+ int next_orig= (index==NULL) ? next_actualFace : index[next_actualFace];
+
+ /* also compare draw options and flush buffer if they're different
+ need for face selection highlight in edit mode */
+ flush|= compareDrawOptions(userData, orig, next_orig) == 0;
+ }
+
+ if(flush) {
+ int first= prevstart*3;
+ int count= (i-prevstart+(draw ? 1 : 0))*3; /* Add one to the length if we're drawing at the end of the array */
+
+ if(count)
+ glDrawArrays(GL_TRIANGLES, first, count);
+
prevstart = i + 1;
}
}
@@ -990,6 +1012,50 @@ static void cdDM_drawMappedFacesTex(DerivedMesh *dm, int (*setDrawOptions)(void
cdDM_drawFacesTex_common(dm, NULL, setDrawOptions, userData);
}
+static void cddm_draw_attrib_vertex(DMVertexAttribs *attribs, MVert *mvert, int a, int index, int vert, int smoothnormal)
+{
+ int b;
+
+ /* orco texture coordinates */
+ if(attribs->totorco) {
+ if(attribs->orco.glTexco)
+ glTexCoord3fv(attribs->orco.array[index]);
+ else
+ glVertexAttrib3fvARB(attribs->orco.glIndex, attribs->orco.array[index]);
+ }
+
+ /* uv texture coordinates */
+ for(b = 0; b < attribs->tottface; b++) {
+ MTFace *tf = &attribs->tface[b].array[a];
+
+ if(attribs->tface[b].glTexco)
+ glTexCoord2fv(tf->uv[vert]);
+ else
+ glVertexAttrib2fvARB(attribs->tface[b].glIndex, tf->uv[vert]);
+ }
+
+ /* vertex colors */
+ for(b = 0; b < attribs->totmcol; b++) {
+ MCol *cp = &attribs->mcol[b].array[a*4 + vert];
+ GLubyte col[4];
+ col[0]= cp->b; col[1]= cp->g; col[2]= cp->r; col[3]= cp->a;
+ glVertexAttrib4ubvARB(attribs->mcol[b].glIndex, col);
+ }
+
+ /* tangent for normal mapping */
+ if(attribs->tottang) {
+ float *tang = attribs->tang.array[a*4 + vert];
+ glVertexAttrib4fvARB(attribs->tang.glIndex, tang);
+ }
+
+ /* vertex normal */
+ if(smoothnormal)
+ glNormal3sv(mvert[index].no);
+
+ /* vertex coordinate */
+ glVertex3fv(mvert[index].co);
+}
+
static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, void *attribs), int (*setDrawOptions)(void *userData, int index), void *userData)
{
CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
@@ -1080,37 +1146,14 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
}
}
-#define PASSVERT(index, vert) { \
- if(attribs.totorco) \
- glVertexAttrib3fvARB(attribs.orco.glIndex, attribs.orco.array[index]); \
- for(b = 0; b < attribs.tottface; b++) { \
- MTFace *tf = &attribs.tface[b].array[a]; \
- glVertexAttrib2fvARB(attribs.tface[b].glIndex, tf->uv[vert]); \
- } \
- for(b = 0; b < attribs.totmcol; b++) { \
- MCol *cp = &attribs.mcol[b].array[a*4 + vert]; \
- GLubyte col[4]; \
- col[0]= cp->b; col[1]= cp->g; col[2]= cp->r; col[3]= cp->a; \
- glVertexAttrib4ubvARB(attribs.mcol[b].glIndex, col); \
- } \
- if(attribs.tottang) { \
- float *tang = attribs.tang.array[a*4 + vert]; \
- glVertexAttrib4fvARB(attribs.tang.glIndex, tang); \
- } \
- if(smoothnormal) \
- glNormal3sv(mvert[index].no); \
- glVertex3fv(mvert[index].co); \
- }
+ cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v1, 0, smoothnormal);
+ cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v2, 1, smoothnormal);
+ cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v3, 2, smoothnormal);
- PASSVERT(mface->v1, 0);
- PASSVERT(mface->v2, 1);
- PASSVERT(mface->v3, 2);
if(mface->v4)
- PASSVERT(mface->v4, 3)
+ cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v4, 3, smoothnormal);
else
- PASSVERT(mface->v3, 2)
-
-#undef PASSVERT
+ cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v3, 2, smoothnormal);
}
glEnd();
}
@@ -1129,9 +1172,9 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
GPU_normal_setup(dm);
if( !GPU_buffer_legacy(dm) ) {
- for( i = 0; i < dm->drawObject->nelements/3; i++ ) {
+ for( i = 0; i < dm->drawObject->tot_triangle_point/3; i++ ) {
- a = dm->drawObject->faceRemap[i];
+ a = dm->drawObject->triangle_to_mface[i];
mface = mf + a;
new_matnr = mface->mat_nr + 1;
@@ -1153,7 +1196,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
if( numdata != 0 ) {
- GPU_buffer_free(buffer, NULL);
+ GPU_buffer_free(buffer);
buffer = NULL;
}
@@ -1193,7 +1236,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
}
if( numdata != 0 ) {
elementsize = GPU_attrib_element_size( datatypes, numdata );
- buffer = GPU_buffer_alloc( elementsize*dm->drawObject->nelements, NULL );
+ buffer = GPU_buffer_alloc( elementsize*dm->drawObject->tot_triangle_point);
if( buffer == NULL ) {
GPU_buffer_unbind();
dm->drawObject->legacy = 1;
@@ -1202,7 +1245,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
varray = GPU_buffer_lock_stream(buffer);
if( varray == NULL ) {
GPU_buffer_unbind();
- GPU_buffer_free(buffer, NULL);
+ GPU_buffer_free(buffer);
dm->drawObject->legacy = 1;
return;
}
@@ -1284,6 +1327,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
QUATCOPY((float *)&varray[elementsize*curface*3+offset+elementsize*2], tang);
offset += sizeof(float)*4;
}
+ (void)offset;
}
curface++;
if(mface->v4) {
@@ -1324,6 +1368,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
QUATCOPY((float *)&varray[elementsize*curface*3+offset+elementsize*2], tang);
offset += sizeof(float)*4;
}
+ (void)offset;
}
curface++;
i++;
@@ -1341,7 +1386,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
}
GPU_buffer_unbind();
}
- GPU_buffer_free( buffer, NULL );
+ GPU_buffer_free(buffer);
}
glShadeModel(GL_FLAT);
diff --git a/source/blender/blenkernel/intern/cloth.c b/source/blender/blenkernel/intern/cloth.c
index ea055e90b45..3a86389dba7 100644
--- a/source/blender/blenkernel/intern/cloth.c
+++ b/source/blender/blenkernel/intern/cloth.c
@@ -923,7 +923,7 @@ static int cloth_from_object(Object *ob, ClothModifierData *clmd, DerivedMesh *d
for(i = 0; i < dm->getNumVerts(dm); i++)
{
- maxdist = MAX2(maxdist, clmd->coll_parms->selfepsilon* ( cloth->verts[i].avg_spring_len*2.0));
+ maxdist = MAX2(maxdist, clmd->coll_parms->selfepsilon* ( cloth->verts[i].avg_spring_len*2.0f));
}
clmd->clothObject->bvhselftree = bvhselftree_build_from_cloth ( clmd, maxdist );
diff --git a/source/blender/blenkernel/intern/collision.c b/source/blender/blenkernel/intern/collision.c
index e2a1b0dfb33..ed073f03270 100644
--- a/source/blender/blenkernel/intern/collision.c
+++ b/source/blender/blenkernel/intern/collision.c
@@ -1091,7 +1091,7 @@ static int cloth_collision_response_moving ( ClothModifierData *clmd, CollisionM
VECADDMUL(cloth1->verts[collpair->ap1].impulse, pimpulse, w1*2.0);
VECADDMUL(cloth1->verts[collpair->ap2].impulse, pimpulse, w2*2.0);
- VECADDMUL(cloth1->verts[collpair->ap3].impulse, pimpulse, w3*2.0);;
+ VECADDMUL(cloth1->verts[collpair->ap3].impulse, pimpulse, w3*2.0);
cloth1->verts[collpair->ap1].impulse_count++;
cloth1->verts[collpair->ap2].impulse_count++;
cloth1->verts[collpair->ap3].impulse_count++;
@@ -1487,8 +1487,8 @@ static CollPair* cloth_collision ( ModifierData *md1, ModifierData *md2,
sdis = clmd->coll_parms->distance_repel + epsilon2 + FLT_EPSILON;
- /*apply a repulsion force, to help the solver along.
- this is kindof crude, it only tests one vert of the triangle*/
+ /* apply a repulsion force, to help the solver along.
+ * this is kindof crude, it only tests one vert of the triangle */
if (isect_ray_plane_v3(cloth->verts[collpair->ap1].tx, n2, collmd->current_xnew[collpair->bp1].co,
collmd->current_xnew[collpair->bp2].co,
collmd->current_xnew[collpair->bp3].co, &l, 0))
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index d3c14a9dd12..91091d3880f 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -424,7 +422,7 @@ void constraint_mat_convertspace (Object *ob, bPoseChannel *pchan, float mat[][4
/* ------------ General Target Matrix Tools ---------- */
/* function that sets the given matrix based on given vertex group in mesh */
-static void contarget_get_mesh_mat (Scene *scene, Object *ob, const char *substring, float mat[][4])
+static void contarget_get_mesh_mat (Object *ob, const char *substring, float mat[][4])
{
DerivedMesh *dm = NULL;
Mesh *me= ob->data;
@@ -449,16 +447,9 @@ static void contarget_get_mesh_mat (Scene *scene, Object *ob, const char *substr
freeDM= 1;
}
else {
- /* when not in EditMode, use the 'final' derived mesh
- * - check if the custom data masks for derivedFinal mean that we can just use that
- * (this is more effficient + sufficient for most cases)
- */
- if (!(ob->lastDataMask & CD_MASK_MDEFORMVERT)) {
- dm = mesh_get_derived_final(scene, ob, CD_MASK_MDEFORMVERT);
- freeDM= 1;
- }
- else
- dm = (DerivedMesh *)ob->derivedFinal;
+ /* when not in EditMode, use the 'final' derived mesh, depsgraph
+ * ensures we build with CD_MDEFORMVERT layer */
+ dm = (DerivedMesh *)ob->derivedFinal;
}
/* only continue if there's a valid DerivedMesh */
@@ -587,7 +578,7 @@ static void contarget_get_lattice_mat (Object *ob, const char *substring, float
/* generic function to get the appropriate matrix for most target cases */
/* The cases where the target can be object data have not been implemented */
-static void constraint_target_to_mat4 (Scene *scene, Object *ob, const char *substring, float mat[][4], short from, short to, float headtail)
+static void constraint_target_to_mat4 (Object *ob, const char *substring, float mat[][4], short from, short to, float headtail)
{
/* Case OBJECT */
if (!strlen(substring)) {
@@ -604,7 +595,7 @@ static void constraint_target_to_mat4 (Scene *scene, Object *ob, const char *sub
* way as constraints can only really affect things on object/bone level.
*/
else if (ob->type == OB_MESH) {
- contarget_get_mesh_mat(scene, ob, substring, mat);
+ contarget_get_mesh_mat(ob, substring, mat);
constraint_mat_convertspace(ob, NULL, mat, from, to);
}
else if (ob->type == OB_LATTICE) {
@@ -684,10 +675,10 @@ static bConstraintTypeInfo CTI_CONSTRNAME = {
/* This function should be used for the get_target_matrix member of all
* constraints that are not picky about what happens to their target matrix.
*/
-static void default_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float UNUSED(ctime))
+static void default_get_tarmat (bConstraint *con, bConstraintOb *UNUSED(cob), bConstraintTarget *ct, float UNUSED(ctime))
{
if (VALID_CONS_TARGET(ct))
- constraint_target_to_mat4(cob->scene, ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
+ constraint_target_to_mat4(ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
else if (ct)
unit_m4(ct->matrix);
}
@@ -1159,7 +1150,7 @@ static void kinematic_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstra
bKinematicConstraint *data= con->data;
if (VALID_CONS_TARGET(ct))
- constraint_target_to_mat4(cob->scene, ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
+ constraint_target_to_mat4(ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
else if (ct) {
if (data->flag & CONSTRAINT_IK_AUTO) {
Object *ob= cob->ob;
@@ -2046,7 +2037,7 @@ static void pycon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintT
/* firstly calculate the matrix the normal way, then let the py-function override
* this matrix if it needs to do so
*/
- constraint_target_to_mat4(cob->scene, ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
+ constraint_target_to_mat4(ct->tar, ct->subtarget, ct->matrix, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
/* only execute target calculation if allowed */
#ifdef WITH_PYTHON
@@ -2165,7 +2156,7 @@ static void actcon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraint
unit_m4(ct->matrix);
/* get the transform matrix of the target */
- constraint_target_to_mat4(cob->scene, ct->tar, ct->subtarget, tempmat, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
+ constraint_target_to_mat4(ct->tar, ct->subtarget, tempmat, CONSTRAINT_SPACE_WORLD, ct->space, con->headtail);
/* determine where in transform range target is */
/* data->type is mapped as follows for backwards compatability:
@@ -2216,7 +2207,7 @@ static void actcon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraint
tchan->rotmode= pchan->rotmode;
/* evaluate action using workob (it will only set the PoseChannel in question) */
- what_does_obaction(cob->scene, cob->ob, &workob, pose, data->act, pchan->name, t);
+ what_does_obaction(cob->ob, &workob, pose, data->act, pchan->name, t);
/* convert animation to matrices for use here */
pchan_calc_mat(tchan);
@@ -2230,7 +2221,7 @@ static void actcon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraint
/* evaluate using workob */
// FIXME: we don't have any consistent standards on limiting effects on object...
- what_does_obaction(cob->scene, cob->ob, &workob, NULL, data->act, NULL, t);
+ what_does_obaction(cob->ob, &workob, NULL, data->act, NULL, t);
object_to_mat4(&workob, ct->matrix);
}
else {
@@ -2648,7 +2639,7 @@ static void distlimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *
/* if inside, then move to surface */
if (dist <= data->dist) {
clamp_surf= 1;
- sfac= data->dist / dist;
+ if (dist != 0.0f) sfac= data->dist / dist;
}
/* if soft-distance is enabled, start fading once owner is dist+softdist from the target */
else if (data->flag & LIMITDIST_USESOFT) {
@@ -2661,14 +2652,14 @@ static void distlimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *
/* if outside, then move to surface */
if (dist >= data->dist) {
clamp_surf= 1;
- sfac= data->dist / dist;
+ if (dist != 0.0f) sfac= data->dist / dist;
}
/* if soft-distance is enabled, start fading once owner is dist-soft from the target */
else if (data->flag & LIMITDIST_USESOFT) {
// FIXME: there's a problem with "jumping" when this kicks in
if (dist >= (data->dist - data->soft)) {
sfac = (float)( data->soft*(1.0f - expf(-(dist - data->dist)/data->soft)) + data->dist );
- sfac /= dist;
+ if (dist != 0.0f) sfac /= dist;
clamp_surf= 1;
}
@@ -2677,7 +2668,7 @@ static void distlimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *
else {
if (IS_EQF(dist, data->dist)==0) {
clamp_surf= 1;
- sfac= data->dist / dist;
+ if (dist != 0.0f) sfac= data->dist / dist;
}
}
@@ -4427,6 +4418,34 @@ void get_constraint_target_matrix (struct Scene *scene, bConstraint *con, int n,
unit_m4(mat);
}
}
+
+/* Get the list of targets required for solving a constraint */
+void get_constraint_targets_for_solving (bConstraint *con, bConstraintOb *cob, ListBase *targets, float ctime)
+{
+ bConstraintTypeInfo *cti= constraint_get_typeinfo(con);
+
+ if (cti && cti->get_constraint_targets) {
+ bConstraintTarget *ct;
+
+ /* get targets
+ * - constraints should use ct->matrix, not directly accessing values
+ * - ct->matrix members have not yet been calculated here!
+ */
+ cti->get_constraint_targets(con, targets);
+
+ /* set matrices
+ * - calculate if possible, otherwise just initialise as identity matrix
+ */
+ if (cti->get_target_matrix) {
+ for (ct= targets->first; ct; ct= ct->next)
+ cti->get_target_matrix(con, cob, ct, ctime);
+ }
+ else {
+ for (ct= targets->first; ct; ct= ct->next)
+ unit_m4(ct->matrix);
+ }
+ }
+}
/* ---------- Evaluation ----------- */
@@ -4471,27 +4490,7 @@ void solve_constraints (ListBase *conlist, bConstraintOb *cob, float ctime)
constraint_mat_convertspace(cob->ob, cob->pchan, cob->matrix, CONSTRAINT_SPACE_WORLD, con->ownspace);
/* prepare targets for constraint solving */
- if (cti->get_constraint_targets) {
- bConstraintTarget *ct;
-
- /* get targets
- * - constraints should use ct->matrix, not directly accessing values
- * - ct->matrix members have not yet been calculated here!
- */
- cti->get_constraint_targets(con, &targets);
-
- /* set matrices
- * - calculate if possible, otherwise just initialise as identity matrix
- */
- if (cti->get_target_matrix) {
- for (ct= targets.first; ct; ct= ct->next)
- cti->get_target_matrix(con, cob, ct, ctime);
- }
- else {
- for (ct= targets.first; ct; ct= ct->next)
- unit_m4(ct->matrix);
- }
- }
+ get_constraint_targets_for_solving(con, cob, &targets, ctime);
/* Solve the constraint and put result in cob->matrix */
cti->evaluate_constraint(con, cob, &targets);
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index 704af73dd10..b1beb6c449a 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -580,46 +580,47 @@ void addNurbPointsBezier(Nurb *nu, int number)
/* ~~~~~~~~~~~~~~~~~~~~Non Uniform Rational B Spline calculations ~~~~~~~~~~~ */
-static void calcknots(float *knots, short aantal, short order, short type)
-/* knots: number of pnts NOT corrected for cyclic */
-/* type; 0: uniform, 1: endpoints, 2: bezier */
+static void calcknots(float *knots, const short pnts, const short order, const short flag)
{
+ /* knots: number of pnts NOT corrected for cyclic */
+ const int pnts_order= pnts + order;
float k;
- int a, t;
-
- t = aantal+order;
- if(type==0) {
+ int a;
- for(a=0;a<t;a++) {
- knots[a]= (float)a;
- }
- }
- else if(type==1) {
+ switch(flag & (CU_NURB_ENDPOINT|CU_NURB_BEZIER)) {
+ case CU_NURB_ENDPOINT:
k= 0.0;
- for(a=1;a<=t;a++) {
+ for(a=1; a <= pnts_order; a++) {
knots[a-1]= k;
- if(a>=order && a<=aantal) k+= 1.0f;
+ if(a >= order && a <= pnts) k+= 1.0f;
}
- }
- else if(type==2) {
- /* Warning, the order MUST be 2 or 4, if this is not enforced, the displist will be corrupt */
+ break;
+ case CU_NURB_BEZIER:
+ /* Warning, the order MUST be 2 or 4,
+ * if this is not enforced, the displist will be corrupt */
if(order==4) {
k= 0.34;
- for(a=0;a<t;a++) {
+ for(a=0; a < pnts_order; a++) {
knots[a]= floorf(k);
k+= (1.0f/3.0f);
}
}
else if(order==3) {
k= 0.6f;
- for(a=0;a<t;a++) {
- if(a>=order && a<=aantal) k+= 0.5f;
+ for(a=0; a < pnts_order; a++) {
+ if(a >= order && a <= pnts) k+= 0.5f;
knots[a]= floorf(k);
}
}
else {
printf("bez nurb curve order is not 3 or 4, should never happen\n");
}
+ break;
+ default:
+ for(a=0; a < pnts_order; a++) {
+ knots[a]= (float)a;
+ }
+ break;
}
}
@@ -662,7 +663,7 @@ static void makeknots(Nurb *nu, short uv)
calcknots(nu->knotsu, nu->pntsu, nu->orderu, 0); /* cyclic should be uniform */
makecyclicknots(nu->knotsu, nu->pntsu, nu->orderu);
} else {
- calcknots(nu->knotsu, nu->pntsu, nu->orderu, nu->flagu>>1);
+ calcknots(nu->knotsu, nu->pntsu, nu->orderu, nu->flagu);
}
}
else nu->knotsu= NULL;
@@ -675,7 +676,7 @@ static void makeknots(Nurb *nu, short uv)
calcknots(nu->knotsv, nu->pntsv, nu->orderv, 0); /* cyclic should be uniform */
makecyclicknots(nu->knotsv, nu->pntsv, nu->orderv);
} else {
- calcknots(nu->knotsv, nu->pntsv, nu->orderv, nu->flagv>>1);
+ calcknots(nu->knotsv, nu->pntsv, nu->orderv, nu->flagv);
}
}
else nu->knotsv= NULL;
@@ -2431,6 +2432,7 @@ void calchandleNurb(BezTriple *bezt, BezTriple *prev, BezTriple *next, int mode)
{
float *p1,*p2,*p3, pt[3];
float dx1,dy1,dz1,dx,dy,dz,vx,vy,vz,len,len1,len2;
+ const float eps= 1e-5;
if(bezt->h1==0 && bezt->h2==0) return;
@@ -2471,7 +2473,7 @@ void calchandleNurb(BezTriple *bezt, BezTriple *prev, BezTriple *next, int mode)
if(len2==0.0f) len2=1.0f;
- if(bezt->h1==HD_AUTO || bezt->h2==HD_AUTO) { /* auto */
+ if(ELEM(bezt->h1,HD_AUTO,HD_AUTO_ANIM) || ELEM(bezt->h2,HD_AUTO,HD_AUTO_ANIM)) { /* auto */
vx= dx1/len2 + dx/len1;
vy= dy1/len2 + dy/len1;
vz= dz1/len2 + dz/len1;
@@ -2482,13 +2484,13 @@ void calchandleNurb(BezTriple *bezt, BezTriple *prev, BezTriple *next, int mode)
if(len1>5.0f*len2) len1= 5.0f*len2;
if(len2>5.0f*len1) len2= 5.0f*len1;
- if(bezt->h1==HD_AUTO) {
+ if(ELEM(bezt->h1,HD_AUTO,HD_AUTO_ANIM)) {
len1/=len;
*(p2-3)= *p2-vx*len1;
*(p2-2)= *(p2+1)-vy*len1;
*(p2-1)= *(p2+2)-vz*len1;
- if(mode==2 && next && prev) { // keep horizontal if extrema
+ if((bezt->h1==HD_AUTO_ANIM) && next && prev) { // keep horizontal if extrema
float ydiff1= prev->vec[1][1] - bezt->vec[1][1];
float ydiff2= next->vec[1][1] - bezt->vec[1][1];
if( (ydiff1 <= 0.0f && ydiff2 <= 0.0f) || (ydiff1 >= 0.0f && ydiff2 >= 0.0f) ) {
@@ -2510,13 +2512,13 @@ void calchandleNurb(BezTriple *bezt, BezTriple *prev, BezTriple *next, int mode)
}
}
}
- if(bezt->h2==HD_AUTO) {
+ if(ELEM(bezt->h2,HD_AUTO,HD_AUTO_ANIM)) {
len2/=len;
*(p2+3)= *p2+vx*len2;
*(p2+4)= *(p2+1)+vy*len2;
*(p2+5)= *(p2+2)+vz*len2;
- if(mode==2 && next && prev) { // keep horizontal if extrema
+ if((bezt->h2==HD_AUTO_ANIM) && next && prev) { // keep horizontal if extrema
float ydiff1= prev->vec[1][1] - bezt->vec[1][1];
float ydiff2= next->vec[1][1] - bezt->vec[1][1];
if( (ydiff1 <= 0.0f && ydiff2 <= 0.0f) || (ydiff1 >= 0.0f && ydiff2 >= 0.0f) ) {
@@ -2587,30 +2589,38 @@ void calchandleNurb(BezTriple *bezt, BezTriple *prev, BezTriple *next, int mode)
if(bezt->f1 & SELECT) { /* order of calculation */
if(bezt->h2==HD_ALIGN) { /* aligned */
- len= len2/len1;
- p2[3]= p2[0]+len*(p2[0]-p2[-3]);
- p2[4]= p2[1]+len*(p2[1]-p2[-2]);
- p2[5]= p2[2]+len*(p2[2]-p2[-1]);
+ if(len1>eps) {
+ len= len2/len1;
+ p2[3]= p2[0]+len*(p2[0]-p2[-3]);
+ p2[4]= p2[1]+len*(p2[1]-p2[-2]);
+ p2[5]= p2[2]+len*(p2[2]-p2[-1]);
+ }
}
if(bezt->h1==HD_ALIGN) {
- len= len1/len2;
- p2[-3]= p2[0]+len*(p2[0]-p2[3]);
- p2[-2]= p2[1]+len*(p2[1]-p2[4]);
- p2[-1]= p2[2]+len*(p2[2]-p2[5]);
+ if(len2>eps) {
+ len= len1/len2;
+ p2[-3]= p2[0]+len*(p2[0]-p2[3]);
+ p2[-2]= p2[1]+len*(p2[1]-p2[4]);
+ p2[-1]= p2[2]+len*(p2[2]-p2[5]);
+ }
}
}
else {
if(bezt->h1==HD_ALIGN) {
- len= len1/len2;
- p2[-3]= p2[0]+len*(p2[0]-p2[3]);
- p2[-2]= p2[1]+len*(p2[1]-p2[4]);
- p2[-1]= p2[2]+len*(p2[2]-p2[5]);
+ if(len2>eps) {
+ len= len1/len2;
+ p2[-3]= p2[0]+len*(p2[0]-p2[3]);
+ p2[-2]= p2[1]+len*(p2[1]-p2[4]);
+ p2[-1]= p2[2]+len*(p2[2]-p2[5]);
+ }
}
if(bezt->h2==HD_ALIGN) { /* aligned */
- len= len2/len1;
- p2[3]= p2[0]+len*(p2[0]-p2[-3]);
- p2[4]= p2[1]+len*(p2[1]-p2[-2]);
- p2[5]= p2[2]+len*(p2[2]-p2[-1]);
+ if(len1>eps) {
+ len= len2/len1;
+ p2[3]= p2[0]+len*(p2[0]-p2[-3]);
+ p2[4]= p2[1]+len*(p2[1]-p2[-2]);
+ p2[5]= p2[2]+len*(p2[2]-p2[-1]);
+ }
}
}
}
@@ -2664,15 +2674,15 @@ void testhandlesNurb(Nurb *nu)
if(bezt->f1 & SELECT) flag++;
if(bezt->f2 & SELECT) flag += 2;
if(bezt->f3 & SELECT) flag += 4;
-
+
if( !(flag==0 || flag==7) ) {
- if(bezt->h1==HD_AUTO) { /* auto */
+ if(ELEM(bezt->h1, HD_AUTO, HD_AUTO_ANIM)) { /* auto */
bezt->h1= HD_ALIGN;
}
- if(bezt->h2==HD_AUTO) { /* auto */
+ if(ELEM(bezt->h2, HD_AUTO, HD_AUTO_ANIM)) { /* auto */
bezt->h2= HD_ALIGN;
}
-
+
if(bezt->h1==HD_VECT) { /* vector */
if(flag < 4) bezt->h1= 0;
}
@@ -2682,7 +2692,7 @@ void testhandlesNurb(Nurb *nu)
}
bezt++;
}
-
+
calchandlesNurb(nu);
}
@@ -3250,3 +3260,28 @@ void curve_translate(Curve *cu, float offset[3], int do_keys)
}
}
}
+
+void curve_delete_material_index(Curve *cu, int index)
+{
+ const int curvetype= curve_type(cu);
+
+ if(curvetype == OB_FONT) {
+ struct CharInfo *info= cu->strinfo;
+ int i;
+ for(i= cu->len-1; i >= 0; i--, info++) {
+ if (info->mat_nr && info->mat_nr>=index) {
+ info->mat_nr--;
+ }
+ }
+ }
+ else {
+ Nurb *nu;
+
+ for (nu= cu->nurb.first; nu; nu= nu->next) {
+ if(nu->mat_nr && nu->mat_nr>=index) {
+ nu->mat_nr--;
+ if (curvetype == OB_CURVE) nu->charidx--;
+ }
+ }
+ }
+}
diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c
index 57a7c917fa3..883f67c3061 100644
--- a/source/blender/blenkernel/intern/customdata.c
+++ b/source/blender/blenkernel/intern/customdata.c
@@ -466,7 +466,6 @@ static void layerInterp_mdisps(void **sources, float *UNUSED(weights),
MDisps tris[2];
int vindex[4] = {0};
- S = 0;
for(i = 0; i < 2; i++)
for(y = 0; y < 4; y++)
for(x = 0; x < 4; x++)
@@ -809,42 +808,67 @@ static void layerDefault_mcol(void *data, int count)
static const LayerTypeInfo LAYERTYPEINFO[CD_NUMTYPES] = {
+ /* 0: CD_MVERT */
{sizeof(MVert), "MVert", 1, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 1: CD_MSTICKY */
{sizeof(MSticky), "MSticky", 1, NULL, NULL, NULL, layerInterp_msticky, NULL,
NULL},
+ /* 2: CD_MDEFORMVERT */
{sizeof(MDeformVert), "MDeformVert", 1, NULL, layerCopy_mdeformvert,
layerFree_mdeformvert, layerInterp_mdeformvert, NULL, NULL},
+ /* 3: CD_MEDGE */
{sizeof(MEdge), "MEdge", 1, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 4: CD_MFACE */
{sizeof(MFace), "MFace", 1, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 5: CD_MTFACE */
{sizeof(MTFace), "MTFace", 1, "UVTex", layerCopy_tface, NULL,
layerInterp_tface, layerSwap_tface, layerDefault_tface},
+ /* 6: CD_MCOL */
/* 4 MCol structs per face */
{sizeof(MCol)*4, "MCol", 4, "Col", NULL, NULL, layerInterp_mcol,
layerSwap_mcol, layerDefault_mcol},
+ /* 7: CD_ORIGINDEX */
{sizeof(int), "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 8: CD_NORMAL */
/* 3 floats per normal vector */
{sizeof(float)*3, "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 9: CD_FLAGS */
{sizeof(int), "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 10: CD_PROP_FLT */
{sizeof(MFloatProperty), "MFloatProperty",1,"Float",NULL,NULL,NULL,NULL},
+ /* 11: CD_PROP_INT */
{sizeof(MIntProperty), "MIntProperty",1,"Int",NULL,NULL,NULL,NULL},
+ /* 12: CD_PROP_STR */
{sizeof(MStringProperty), "MStringProperty",1,"String",NULL,NULL,NULL,NULL},
+ /* 13: CD_ORIGSPACE */
{sizeof(OrigSpaceFace), "OrigSpaceFace", 1, "UVTex", layerCopy_origspace_face, NULL,
layerInterp_origspace_face, layerSwap_origspace_face, layerDefault_origspace_face},
+ /* 14: CD_ORCO */
{sizeof(float)*3, "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 15: CD_MTEXPOLY */
{sizeof(MTexPoly), "MTexPoly", 1, "Face Texture", NULL, NULL, NULL, NULL, NULL},
+ /* 16: CD_MLOOPUV */
{sizeof(MLoopUV), "MLoopUV", 1, "UV coord", NULL, NULL, layerInterp_mloopuv, NULL, NULL},
+ /* 17: CD_MLOOPCOL */
{sizeof(MLoopCol), "MLoopCol", 1, "Col", NULL, NULL, layerInterp_mloopcol, NULL, layerDefault_mloopcol},
+ /* 18: CD_TANGENT */
{sizeof(float)*4*4, "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 19: CD_MDISPS */
{sizeof(MDisps), "MDisps", 1, NULL, layerCopy_mdisps,
layerFree_mdisps, layerInterp_mdisps, layerSwap_mdisps, NULL, layerRead_mdisps, layerWrite_mdisps,
layerFilesize_mdisps, layerValidate_mdisps},
+ /* 20: CD_WEIGHT_MCOL */
{sizeof(MCol)*4, "MCol", 4, "WeightCol", NULL, NULL, layerInterp_mcol,
layerSwap_mcol, layerDefault_mcol},
- {sizeof(MCol)*4, "MCol", 4, "IDCol", NULL, NULL, layerInterp_mcol,
+ /* 21: CD_ID_MCOL */
+ {sizeof(MCol)*4, "MCol", 4, "IDCol", NULL, NULL, layerInterp_mcol,
layerSwap_mcol, layerDefault_mcol},
- {sizeof(MCol)*4, "MCol", 4, "TexturedCol", NULL, NULL, layerInterp_mcol,
+ /* 22: CD_TEXTURE_MCOL */
+ {sizeof(MCol)*4, "MCol", 4, "TexturedCol", NULL, NULL, layerInterp_mcol,
layerSwap_mcol, layerDefault_mcol},
+ /* 23: CD_CLOTH_ORCO */
{sizeof(float)*3, "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 24: CD_RECAST */
{sizeof(MRecast), "MRecast", 1,"Recast",NULL,NULL,NULL,NULL}
};
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index 472d7d77b80..6f27a104144 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -301,6 +301,7 @@ static void dag_add_driver_relation(AnimData *adt, DagForest *dag, DagNode *node
for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
ChannelDriver *driver= fcu->driver;
DriverVar *dvar;
+ int isdata_fcu = isdata || (fcu->rna_path && strstr(fcu->rna_path, "modifiers["));
/* loop over variables to get the target relationships */
for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
@@ -320,14 +321,14 @@ static void dag_add_driver_relation(AnimData *adt, DagForest *dag, DagNode *node
( ((dtar->rna_path) && strstr(dtar->rna_path, "pose.bones[")) ||
((dtar->flag & DTAR_FLAG_STRUCT_REF) && (dtar->pchan_name[0])) ))
{
- dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
+ dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
}
/* check if ob data */
else if (dtar->rna_path && strstr(dtar->rna_path, "data."))
- dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
+ dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
/* normal */
else
- dag_add_relation(dag, node1, node, isdata?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Driver");
+ dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Driver");
}
}
}
@@ -372,6 +373,9 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Scene *scene, O
node2->first_ancestor = ob;
node2->ancestor_count += 1;
}
+
+ /* also build a custom data mask for dependencies that need certain layers */
+ node->customdata_mask= 0;
if (ob->type == OB_ARMATURE) {
if (ob->pose){
@@ -451,8 +455,12 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Scene *scene, O
case PARSKEL:
dag_add_relation(dag,node2,node,DAG_RL_DATA_DATA|DAG_RL_OB_OB, "Parent");
break;
- case PARVERT1: case PARVERT3: case PARBONE:
+ case PARVERT1: case PARVERT3:
dag_add_relation(dag,node2,node,DAG_RL_DATA_OB|DAG_RL_OB_OB, "Vertex Parent");
+ node2->customdata_mask |= CD_MASK_ORIGINDEX;
+ break;
+ case PARBONE:
+ dag_add_relation(dag,node2,node,DAG_RL_DATA_OB|DAG_RL_OB_OB, "Bone Parent");
break;
default:
if(ob->parent->type==OB_LATTICE)
@@ -592,7 +600,7 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Scene *scene, O
if(part->ren_as == PART_DRAW_GR && part->dup_group) {
for(go=part->dup_group->gobject.first; go; go=go->next) {
node2 = dag_get_node(dag, go->ob);
- dag_add_relation(dag, node, node2, DAG_RL_OB_OB, "Particle Group Visualisation");
+ dag_add_relation(dag, node2, node, DAG_RL_OB_OB, "Particle Group Visualisation");
}
}
@@ -647,8 +655,11 @@ static void build_dag_object(DagForest *dag, DagNode *scenenode, Scene *scene, O
if (ELEM(con->type, CONSTRAINT_TYPE_FOLLOWPATH, CONSTRAINT_TYPE_CLAMPTO))
dag_add_relation(dag, node2, node, DAG_RL_DATA_OB|DAG_RL_OB_OB, cti->name);
else {
- if (ELEM3(obt->type, OB_ARMATURE, OB_MESH, OB_LATTICE) && (ct->subtarget[0]))
+ if (ELEM3(obt->type, OB_ARMATURE, OB_MESH, OB_LATTICE) && (ct->subtarget[0])) {
dag_add_relation(dag, node2, node, DAG_RL_DATA_OB|DAG_RL_OB_OB, cti->name);
+ if (obt->type == OB_MESH)
+ node2->customdata_mask |= CD_MASK_MDEFORMVERT;
+ }
else
dag_add_relation(dag, node2, node, DAG_RL_OB_OB, cti->name);
}
@@ -722,6 +733,9 @@ struct DagForest *build_dag(Main *bmain, Scene *sce, short mask)
itA->node->color |= itA->type;
}
}
+
+ /* also flush custom data mask */
+ ((Object*)node->ob)->customdata_mask= node->customdata_mask;
}
}
/* now set relations equal, so that when only one parent changes, the correct recalcs are found */
@@ -2048,6 +2062,23 @@ static short animdata_use_time(AnimData *adt)
return 1;
}
+ /* If we have drivers, more likely than not, on a frame change
+ * they'll need updating because their owner changed
+ *
+ * This is kindof a hack to get around a whole host of problems
+ * involving drivers using non-object datablock data (which the
+ * depsgraph currently has no way of representing let alone correctly
+ * dependency sort+tagging). By doing this, at least we ensure that
+ * some commonly attempted drivers (such as scene -> current frame;
+ * see "Driver updates fail" thread on Bf-committers dated July 2)
+ * will work correctly, and that other non-object datablocks will have
+ * their drivers update at least on frame change.
+ *
+ * -- Aligorith, July 4 2011
+ */
+ if (adt->drivers.first)
+ return 1;
+
return 0;
}
@@ -2364,7 +2395,7 @@ static void dag_id_flush_update(Scene *sce, ID *id)
if(id) {
idtype= GS(id->name);
- if(ELEM7(idtype, ID_ME, ID_CU, ID_MB, ID_LA, ID_LT, ID_CA, ID_AR)) {
+ if(ELEM8(idtype, ID_ME, ID_CU, ID_MB, ID_LA, ID_LT, ID_CA, ID_AR, ID_SPK)) {
for(obt=bmain->object.first; obt; obt= obt->id.next) {
if(!(ob && obt == ob) && obt->data == id) {
obt->recalc |= OB_RECALC_DATA;
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c
index 9aa794aa97e..c2ed6468643 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.c
@@ -65,9 +65,6 @@
#include "BKE_lattice.h"
#include "BKE_modifier.h"
-#include "RE_pipeline.h"
-#include "RE_shader_ext.h"
-
#include "BLO_sys_types.h" // for intptr_t support
#include "ED_curve.h" /* for BKE_curve_nurbs */
@@ -286,499 +283,6 @@ int surfindex_displist(DispList *dl, int a, int *b, int *p1, int *p2, int *p3, i
return 1;
}
-/* ***************************** shade displist. note colors now are in rgb(a) order ******************** */
-
-/* create default shade input... save cpu cycles with ugly global */
-/* XXXX bad code warning: local ShadeInput initialize... */
-static ShadeInput shi;
-static void init_fastshade_shadeinput(Render *re)
-{
- memset(&shi, 0, sizeof(ShadeInput));
- shi.lay= RE_GetScene(re)->lay;
- shi.view[2]= -1.0f;
- shi.passflag= SCE_PASS_COMBINED;
- shi.combinedflag= -1;
-}
-
-static Render *fastshade_get_render(Scene *UNUSED(scene))
-{
- // XXX 2.5: this crashes combined with previewrender
- // due to global R so disabled for now
-#if 0
- /* XXX ugly global still, but we can't do preview while rendering */
- if(G.rendering==0) {
-
- Render *re= RE_GetRender("_Shade View_");
- if(re==NULL) {
- re= RE_NewRender("_Shade View_");
-
- RE_Database_Baking(re, scene, 0, 0); /* 0= no faces */
- }
- return re;
- }
-#endif
-
- return NULL;
-}
-
-/* called on file reading */
-void fastshade_free_render(void)
-{
- Render *re= RE_GetRender("_Shade View_");
-
- if(re) {
- RE_Database_Free(re);
- RE_FreeRender(re);
- }
-}
-
-
-static void fastshade_customdata(CustomData *fdata, int a, int j, Material *ma)
-{
- CustomDataLayer *layer;
- MTFace *mtface;
- int index, needuv= ma->texco & TEXCO_UV;
- char *vertcol;
-
- shi.totuv= 0;
- shi.totcol= 0;
-
- for(index=0; index<fdata->totlayer; index++) {
- layer= &fdata->layers[index];
-
- if(needuv && layer->type == CD_MTFACE && shi.totuv < MAX_MTFACE) {
- mtface= &((MTFace*)layer->data)[a];
-
- shi.uv[shi.totuv].uv[0]= 2.0f*mtface->uv[j][0]-1.0f;
- shi.uv[shi.totuv].uv[1]= 2.0f*mtface->uv[j][1]-1.0f;
- shi.uv[shi.totuv].uv[2]= 1.0f;
-
- shi.uv[shi.totuv].name= layer->name;
- shi.totuv++;
- }
- else if(layer->type == CD_MCOL && shi.totcol < MAX_MCOL) {
- vertcol= (char*)&((MCol*)layer->data)[a*4 + j];
-
- shi.col[shi.totcol].col[0]= ((float)vertcol[3])/255.0f;
- shi.col[shi.totcol].col[1]= ((float)vertcol[2])/255.0f;
- shi.col[shi.totcol].col[2]= ((float)vertcol[1])/255.0f;
-
- shi.col[shi.totcol].name= layer->name;
- shi.totcol++;
- }
- }
-
- if(needuv && shi.totuv == 0)
- VECCOPY(shi.uv[0].uv, shi.lo);
-
- if(shi.totcol)
- VECCOPY(shi.vcol, shi.col[0].col);
-}
-
-static void fastshade(float *co, float *nor, float *orco, Material *ma, char *col1, char *col2)
-{
- ShadeResult shr;
- int a;
-
- VECCOPY(shi.co, co);
- shi.vn[0]= -nor[0];
- shi.vn[1]= -nor[1];
- shi.vn[2]= -nor[2];
- VECCOPY(shi.vno, shi.vn);
- VECCOPY(shi.facenor, shi.vn);
-
- if(ma->texco) {
- VECCOPY(shi.lo, orco);
-
- if(ma->texco & TEXCO_GLOB) {
- VECCOPY(shi.gl, shi.lo);
- }
- if(ma->texco & TEXCO_WINDOW) {
- VECCOPY(shi.winco, shi.lo);
- }
- if(ma->texco & TEXCO_STICKY) {
- VECCOPY(shi.sticky, shi.lo);
- }
- if(ma->texco & TEXCO_OBJECT) {
- VECCOPY(shi.co, shi.lo);
- }
- if(ma->texco & TEXCO_NORM) {
- VECCOPY(shi.orn, shi.vn);
- }
- if(ma->texco & TEXCO_REFL) {
- float inp= 2.0f * (shi.vn[2]);
- shi.ref[0]= (inp*shi.vn[0]);
- shi.ref[1]= (inp*shi.vn[1]);
- shi.ref[2]= (-1.0f + inp*shi.vn[2]);
- }
- }
-
- shi.mat= ma; /* set each time... node shaders change it */
- RE_shade_external(NULL, &shi, &shr);
-
- a= 256.0f*(shr.combined[0]);
- col1[0]= CLAMPIS(a, 0, 255);
- a= 256.0f*(shr.combined[1]);
- col1[1]= CLAMPIS(a, 0, 255);
- a= 256.0f*(shr.combined[2]);
- col1[2]= CLAMPIS(a, 0, 255);
-
- if(col2) {
- shi.vn[0]= -shi.vn[0];
- shi.vn[1]= -shi.vn[1];
- shi.vn[2]= -shi.vn[2];
-
- shi.mat= ma; /* set each time... node shaders change it */
- RE_shade_external(NULL, &shi, &shr);
-
- a= 256.0f*(shr.combined[0]);
- col2[0]= CLAMPIS(a, 0, 255);
- a= 256.0f*(shr.combined[1]);
- col2[1]= CLAMPIS(a, 0, 255);
- a= 256.0f*(shr.combined[2]);
- col2[2]= CLAMPIS(a, 0, 255);
- }
-}
-
-static void init_fastshade_for_ob(Render *re, Object *ob, int *need_orco_r, float mat[4][4], float imat[3][3])
-{
- float tmat[4][4];
- float amb[3]= {0.0f, 0.0f, 0.0f};
- int a;
-
- /* initialize globals in render */
- RE_shade_external(re, NULL, NULL);
-
- /* initialize global here */
- init_fastshade_shadeinput(re);
-
- RE_DataBase_GetView(re, tmat);
- mul_m4_m4m4(mat, ob->obmat, tmat);
-
- invert_m4_m4(tmat, mat);
- copy_m3_m4(imat, tmat);
- if(ob->transflag & OB_NEG_SCALE) mul_m3_fl(imat, -1.0);
-
- if (need_orco_r) *need_orco_r= 0;
- for(a=0; a<ob->totcol; a++) {
- Material *ma= give_current_material(ob, a+1);
- if(ma) {
- init_render_material(ma, 0, amb);
-
- if(ma->texco & TEXCO_ORCO) {
- if (need_orco_r) *need_orco_r= 1;
- }
- }
- }
-}
-
-static void end_fastshade_for_ob(Object *ob)
-{
- int a;
-
- for(a=0; a<ob->totcol; a++) {
- Material *ma= give_current_material(ob, a+1);
- if(ma)
- end_render_material(ma);
- }
-}
-
-
-static void mesh_create_shadedColors(Render *re, Object *ob, int onlyForMesh, unsigned int **col1_r, unsigned int **col2_r)
-{
- Mesh *me= ob->data;
- DerivedMesh *dm;
- MVert *mvert;
- MFace *mface;
- unsigned int *col1, *col2;
- float *orco, *vnors, *nors, imat[3][3], mat[4][4], vec[3];
- int a, i, need_orco, totface, totvert;
- CustomDataMask dataMask = CD_MASK_BAREMESH | CD_MASK_MCOL
- | CD_MASK_MTFACE | CD_MASK_NORMAL;
-
-
- init_fastshade_for_ob(re, ob, &need_orco, mat, imat);
-
- if(need_orco)
- dataMask |= CD_MASK_ORCO;
-
- if (onlyForMesh)
- dm = mesh_get_derived_deform(RE_GetScene(re), ob, dataMask);
- else
- dm = mesh_get_derived_final(RE_GetScene(re), ob, dataMask);
-
- mvert = dm->getVertArray(dm);
- mface = dm->getFaceArray(dm);
- nors = dm->getFaceDataArray(dm, CD_NORMAL);
- totvert = dm->getNumVerts(dm);
- totface = dm->getNumFaces(dm);
- orco= dm->getVertDataArray(dm, CD_ORCO);
-
- if (onlyForMesh) {
- col1 = *col1_r;
- col2 = NULL;
- } else {
- *col1_r = col1 = MEM_mallocN(sizeof(*col1)*totface*4, "col1");
-
- if (col2_r && (me->flag & ME_TWOSIDED))
- col2 = MEM_mallocN(sizeof(*col2)*totface*4, "col2");
- else
- col2 = NULL;
-
- if (col2_r) *col2_r = col2;
- }
-
- /* vertexnormals */
- vnors= MEM_mallocN(totvert*3*sizeof(float), "vnors disp");
- for (a=0; a<totvert; a++) {
- MVert *mv = &mvert[a];
- float *vn= &vnors[a*3];
- float xn= mv->no[0];
- float yn= mv->no[1];
- float zn= mv->no[2];
-
- /* transpose ! */
- vn[0]= imat[0][0]*xn+imat[0][1]*yn+imat[0][2]*zn;
- vn[1]= imat[1][0]*xn+imat[1][1]*yn+imat[1][2]*zn;
- vn[2]= imat[2][0]*xn+imat[2][1]*yn+imat[2][2]*zn;
- normalize_v3(vn);
- }
-
- for (i=0; i<totface; i++) {
- MFace *mf= &mface[i];
- Material *ma= give_current_material(ob, mf->mat_nr+1);
- int j, vidx[4], nverts= mf->v4?4:3;
- unsigned char *col1base= (unsigned char*) &col1[i*4];
- unsigned char *col2base= (unsigned char*) (col2?&col2[i*4]:NULL);
- float nor[3], n1[3];
-
- if(ma==NULL) ma= &defmaterial;
-
- vidx[0]= mf->v1;
- vidx[1]= mf->v2;
- vidx[2]= mf->v3;
- vidx[3]= mf->v4;
-
- if (nors) {
- VECCOPY(nor, &nors[i*3]);
- } else {
- if (mf->v4)
- normal_quad_v3( nor,mvert[mf->v1].co, mvert[mf->v2].co, mvert[mf->v3].co, mvert[mf->v4].co);
- else
- normal_tri_v3( nor,mvert[mf->v1].co, mvert[mf->v2].co, mvert[mf->v3].co);
- }
-
- n1[0]= imat[0][0]*nor[0]+imat[0][1]*nor[1]+imat[0][2]*nor[2];
- n1[1]= imat[1][0]*nor[0]+imat[1][1]*nor[1]+imat[1][2]*nor[2];
- n1[2]= imat[2][0]*nor[0]+imat[2][1]*nor[1]+imat[2][2]*nor[2];
- normalize_v3(n1);
-
- for (j=0; j<nverts; j++) {
- MVert *mv= &mvert[vidx[j]];
- char *col1= (char*)&col1base[j*4];
- char *col2= (char*)(col2base?&col2base[j*4]:NULL);
- float *vn = (mf->flag & ME_SMOOTH)?&vnors[3*vidx[j]]:n1;
-
- mul_v3_m4v3(vec, mat, mv->co);
-
- mul_v3_v3fl(vec, vn, 0.001f);
-
- fastshade_customdata(&dm->faceData, i, j, ma);
- fastshade(vec, vn, orco?&orco[vidx[j]*3]:mv->co, ma, col1, col2);
- }
- }
- MEM_freeN(vnors);
-
- dm->release(dm);
-
- end_fastshade_for_ob(ob);
-}
-
-void shadeMeshMCol(Scene *scene, Object *ob, Mesh *me)
-{
- Render *re= fastshade_get_render(scene);
- int a;
- char *cp;
- unsigned int *mcol= (unsigned int*)me->mcol;
-
- if(re) {
- mesh_create_shadedColors(re, ob, 1, &mcol, NULL);
- me->mcol= (MCol*)mcol;
-
- /* swap bytes */
- for(cp= (char *)me->mcol, a= 4*me->totface; a>0; a--, cp+=4) {
- SWAP(char, cp[0], cp[3]);
- SWAP(char, cp[1], cp[2]);
- }
- }
-}
-
-/* has base pointer, to check for layer */
-/* called from drawobject.c */
-void shadeDispList(Scene *scene, Base *base)
-{
- Object *ob= base->object;
- DispList *dl, *dlob;
- Material *ma = NULL;
- Render *re;
- float imat[3][3], mat[4][4], vec[3];
- float *fp, *nor, n1[3];
- unsigned int *col1;
- int a, need_orco;
-
- re= fastshade_get_render(scene);
- if(re==NULL)
- return;
-
- dl = find_displist(&ob->disp, DL_VERTCOL);
- if (dl) {
- BLI_remlink(&ob->disp, dl);
- free_disp_elem(dl);
- }
-
- if(ob->type==OB_MESH) {
- dl= MEM_callocN(sizeof(DispList), "displistshade");
- dl->type= DL_VERTCOL;
-
- mesh_create_shadedColors(re, ob, 0, &dl->col1, &dl->col2);
-
- /* add dl to ob->disp after mesh_create_shadedColors, because it
- might indirectly free ob->disp */
- BLI_addtail(&ob->disp, dl);
- }
- else {
-
- init_fastshade_for_ob(re, ob, &need_orco, mat, imat);
-
- if (ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) {
-
- /* now we need the normals */
- dl= ob->disp.first;
-
- while(dl) {
- dlob= MEM_callocN(sizeof(DispList), "displistshade");
- BLI_addtail(&ob->disp, dlob);
- dlob->type= DL_VERTCOL;
- dlob->parts= dl->parts;
- dlob->nr= dl->nr;
-
- if(dl->type==DL_INDEX3) {
- col1= dlob->col1= MEM_mallocN(sizeof(int)*dl->nr, "col1");
- }
- else {
- col1= dlob->col1= MEM_mallocN(sizeof(int)*dl->parts*dl->nr, "col1");
- }
-
-
- ma= give_current_material(ob, dl->col+1);
- if(ma==NULL) ma= &defmaterial;
-
- if(dl->type==DL_INDEX3) {
- if(dl->nors) {
- /* there's just one normal */
- n1[0]= imat[0][0]*dl->nors[0]+imat[0][1]*dl->nors[1]+imat[0][2]*dl->nors[2];
- n1[1]= imat[1][0]*dl->nors[0]+imat[1][1]*dl->nors[1]+imat[1][2]*dl->nors[2];
- n1[2]= imat[2][0]*dl->nors[0]+imat[2][1]*dl->nors[1]+imat[2][2]*dl->nors[2];
- normalize_v3(n1);
-
- fp= dl->verts;
-
- a= dl->nr;
- while(a--) {
- mul_v3_m4v3(vec, mat, fp);
-
- fastshade(vec, n1, fp, ma, (char *)col1, NULL);
-
- fp+= 3; col1++;
- }
- }
- }
- else if(dl->type==DL_SURF) {
- if(dl->nors) {
- a= dl->nr*dl->parts;
- fp= dl->verts;
- nor= dl->nors;
-
- while(a--) {
- mul_v3_m4v3(vec, mat, fp);
-
- n1[0]= imat[0][0]*nor[0]+imat[0][1]*nor[1]+imat[0][2]*nor[2];
- n1[1]= imat[1][0]*nor[0]+imat[1][1]*nor[1]+imat[1][2]*nor[2];
- n1[2]= imat[2][0]*nor[0]+imat[2][1]*nor[1]+imat[2][2]*nor[2];
- normalize_v3(n1);
-
- fastshade(vec, n1, fp, ma, (char *)col1, NULL);
-
- fp+= 3; nor+= 3; col1++;
- }
- }
- }
- dl= dl->next;
- }
- }
- else if(ob->type==OB_MBALL) {
- /* there are normals already */
- dl= ob->disp.first;
-
- while(dl) {
-
- if(dl->type==DL_INDEX4) {
- if(dl->nors) {
- if(dl->col1) MEM_freeN(dl->col1);
- col1= dl->col1= MEM_mallocN(sizeof(int)*dl->nr, "col1");
-
- ma= give_current_material(ob, dl->col+1);
- if(ma==NULL) ma= &defmaterial;
-
- fp= dl->verts;
- nor= dl->nors;
-
- a= dl->nr;
- while(a--) {
- mul_v3_m4v3(vec, mat, fp);
-
- /* transpose ! */
- n1[0]= imat[0][0]*nor[0]+imat[0][1]*nor[1]+imat[0][2]*nor[2];
- n1[1]= imat[1][0]*nor[0]+imat[1][1]*nor[1]+imat[1][2]*nor[2];
- n1[2]= imat[2][0]*nor[0]+imat[2][1]*nor[1]+imat[2][2]*nor[2];
- normalize_v3(n1);
-
- fastshade(vec, n1, fp, ma, (char *)col1, NULL);
-
- fp+= 3; col1++; nor+= 3;
- }
- }
- }
- dl= dl->next;
- }
- }
-
- end_fastshade_for_ob(ob);
- }
-}
-
-/* frees render and shade part of displists */
-/* note: dont do a shade again, until a redraw happens */
-void reshadeall_displist(Scene *scene)
-{
- Base *base;
- Object *ob;
-
- fastshade_free_render();
-
- for(base= scene->base.first; base; base= base->next) {
- ob= base->object;
-
- if(ELEM5(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL))
- freedisplist(&ob->disp);
-
- if(base->lay & scene->lay) {
- /* Metaballs have standard displist at the Object */
- if(ob->type==OB_MBALL) shadeDispList(scene, base);
- }
- }
-}
-
/* ****************** make displists ********************* */
static void curve_to_displist(Curve *cu, ListBase *nubase, ListBase *dispbase, int forRender)
@@ -1865,6 +1369,11 @@ void makeDispListCurveTypes(Scene *scene, Object *ob, int forOrco)
Curve *cu= ob->data;
ListBase *dispbase;
+ /* The same check for duplis as in do_makeDispListCurveTypes.
+ Happens when curve used for constraint/bevel was converted to mesh.
+ check there is still needed for render displist and orco displists. */
+ if(!ELEM3(ob->type, OB_SURF, OB_CURVE, OB_FONT)) return;
+
freedisplist(&(ob->disp));
dispbase= &(ob->disp);
freedisplist(dispbase);
diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c
index ee46bef6038..4b95c44f55f 100644
--- a/source/blender/blenkernel/intern/effect.c
+++ b/source/blender/blenkernel/intern/effect.c
@@ -241,6 +241,16 @@ static void precalculate_effector(EffectorCache *eff)
}
else if(eff->psys)
psys_update_particle_tree(eff->psys, eff->scene->r.cfra);
+
+ /* Store object velocity */
+ if(eff->ob) {
+ float old_vel[3];
+
+ where_is_object_time(eff->scene, eff->ob, cfra - 1.0f);
+ copy_v3_v3(old_vel, eff->ob->obmat[3]);
+ where_is_object_time(eff->scene, eff->ob, cfra);
+ sub_v3_v3v3(eff->velocity, eff->ob->obmat[3], old_vel);
+ }
}
static EffectorCache *new_effector_cache(Scene *scene, Object *ob, ParticleSystem *psys, PartDeflect *pd)
{
@@ -680,10 +690,6 @@ int get_effector_data(EffectorCache *eff, EffectorData *efd, EffectedPoint *poin
Object *ob = eff->ob;
Object obcopy = *ob;
- /* XXX this is not thread-safe, but used from multiple threads by
- particle system */
- where_is_object_time(eff->scene, ob, cfra);
-
/* use z-axis as normal*/
normalize_v3_v3(efd->nor, ob->obmat[2]);
@@ -702,13 +708,8 @@ int get_effector_data(EffectorCache *eff, EffectorData *efd, EffectedPoint *poin
VECCOPY(efd->loc, ob->obmat[3]);
}
- if(real_velocity) {
- VECCOPY(efd->vel, ob->obmat[3]);
-
- where_is_object_time(eff->scene, ob, cfra - 1.0f);
-
- sub_v3_v3v3(efd->vel, efd->vel, ob->obmat[3]);
- }
+ if(real_velocity)
+ copy_v3_v3(efd->vel, eff->velocity);
*eff->ob = obcopy;
diff --git a/source/blender/blenkernel/intern/fcurve.c b/source/blender/blenkernel/intern/fcurve.c
index d6a9d950015..3916d0ca701 100644
--- a/source/blender/blenkernel/intern/fcurve.c
+++ b/source/blender/blenkernel/intern/fcurve.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -42,6 +40,7 @@
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
+#include "DNA_constraint_types.h"
#include "DNA_object_types.h"
#include "BLI_blenlib.h"
@@ -52,6 +51,7 @@
#include "BKE_animsys.h"
#include "BKE_action.h"
#include "BKE_armature.h"
+#include "BKE_constraint.h"
#include "BKE_curve.h"
#include "BKE_global.h"
#include "BKE_object.h"
@@ -172,7 +172,7 @@ void copy_fcurves (ListBase *dst, ListBase *src)
/* ----------------- Finding F-Curves -------------------------- */
/* high level function to get an fcurve from C without having the rna */
-FCurve *id_data_find_fcurve(ID *id, void *data, StructRNA *type, const char *prop_name, int index)
+FCurve *id_data_find_fcurve(ID *id, void *data, StructRNA *type, const char *prop_name, int index, char *driven)
{
/* anim vars */
AnimData *adt= BKE_animdata_from_id(id);
@@ -182,6 +182,9 @@ FCurve *id_data_find_fcurve(ID *id, void *data, StructRNA *type, const char *pro
PointerRNA ptr;
PropertyRNA *prop;
char *path;
+
+ if(driven)
+ *driven = 0;
/* only use the current action ??? */
if (ELEM(NULL, adt, adt->action))
@@ -199,11 +202,12 @@ FCurve *id_data_find_fcurve(ID *id, void *data, StructRNA *type, const char *pro
fcu= list_find_fcurve(&adt->action->curves, path, index);
/* if not animated, check if driven */
-#if 0
if ((fcu == NULL) && (adt->drivers.first)) {
- fcu= list_find_fcurve(&adt->drivers, path, but->rnaindex);
+ fcu= list_find_fcurve(&adt->drivers, path, index);
+ if(fcu && driven)
+ *driven = 1;
+ fcu = NULL;
}
-#endif
MEM_freeN(path);
}
@@ -786,13 +790,10 @@ void calchandles_fcurve (FCurve *fcu)
if (bezt->vec[2][0] < bezt->vec[1][0]) bezt->vec[2][0]= bezt->vec[1][0];
/* calculate auto-handles */
- if (fcu->flag & FCURVE_AUTO_HANDLES)
- calchandleNurb(bezt, prev, next, 2); /* 2==special autohandle && keep extrema horizontal */
- else
- calchandleNurb(bezt, prev, next, 1); /* 1==special autohandle */
+ calchandleNurb(bezt, prev, next, 1); /* 1==special autohandle */
/* for automatic ease in and out */
- if ((bezt->h1==HD_AUTO) && (bezt->h2==HD_AUTO)) {
+ if (ELEM(bezt->h1,HD_AUTO,HD_AUTO_ANIM) && ELEM(bezt->h2,HD_AUTO,HD_AUTO_ANIM)) {
/* only do this on first or last beztriple */
if ((a == 0) || (a == fcu->totvert-1)) {
/* set both handles to have same horizontal value as keyframe */
@@ -840,9 +841,9 @@ void testhandles_fcurve (FCurve *fcu)
/* one or two handles selected only */
if (ELEM(flag, 0, 7)==0) {
/* auto handles become aligned */
- if (bezt->h1==HD_AUTO)
+ if (ELEM(bezt->h1, HD_AUTO, HD_AUTO_ANIM))
bezt->h1= HD_ALIGN;
- if (bezt->h2==HD_AUTO)
+ if (ELEM(bezt->h2, HD_AUTO, HD_AUTO_ANIM))
bezt->h2= HD_ALIGN;
/* vector handles become 'free' when only one half selected */
@@ -1002,7 +1003,7 @@ static float dtar_get_prop_val (ChannelDriver *driver, DriverTarget *dtar)
/* get property to read from, and get value as appropriate */
if (RNA_path_resolve_full(&id_ptr, dtar->rna_path, &ptr, &prop, &index)) {
- if(RNA_property_array_check(&ptr, prop)) {
+ if(RNA_property_array_check(prop)) {
/* array */
if (index < RNA_property_array_length(&ptr, prop)) {
switch (RNA_property_type(prop)) {
@@ -1151,25 +1152,50 @@ static float dvar_eval_locDiff (ChannelDriver *driver, DriverVar *dvar)
/* check if object or bone */
if (pchan) {
/* bone */
- if ((dtar->flag & DTAR_FLAG_LOCALSPACE) == 0) {
+ if (dtar->flag & DTAR_FLAG_LOCALSPACE) {
+ if (dtar->flag & DTAR_FLAG_LOCAL_CONSTS) {
+ float mat[4][4];
+
+ /* extract transform just like how the constraints do it! */
+ copy_m4_m4(mat, pchan->pose_mat);
+ constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_LOCAL);
+
+ /* ... and from that, we get our transform */
+ VECCOPY(tmp_loc, mat[3]);
+ }
+ else {
+ /* transform space (use transform values directly) */
+ VECCOPY(tmp_loc, pchan->loc);
+ }
+ }
+ else {
/* convert to worldspace */
VECCOPY(tmp_loc, pchan->pose_head);
mul_m4_v3(ob->obmat, tmp_loc);
}
- else {
- /* local (use transform values directly) */
- VECCOPY(tmp_loc, pchan->loc);
- }
}
else {
/* object */
- if ((dtar->flag & DTAR_FLAG_LOCALSPACE) == 0) {
- /* worldspace */
- VECCOPY(tmp_loc, ob->obmat[3]);
+ if (dtar->flag & DTAR_FLAG_LOCALSPACE) {
+ if (dtar->flag & DTAR_FLAG_LOCAL_CONSTS) {
+ // XXX: this should practically be the same as transform space...
+ float mat[4][4];
+
+ /* extract transform just like how the constraints do it! */
+ copy_m4_m4(mat, ob->obmat);
+ constraint_mat_convertspace(ob, NULL, mat, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACE_LOCAL);
+
+ /* ... and from that, we get our transform */
+ VECCOPY(tmp_loc, mat[3]);
+ }
+ else {
+ /* transform space (use transform values directly) */
+ VECCOPY(tmp_loc, ob->loc);
+ }
}
else {
- /* local (use transform values directly) */
- VECCOPY(tmp_loc, ob->loc);
+ /* worldspace */
+ VECCOPY(tmp_loc, ob->obmat[3]);
}
}
@@ -1197,7 +1223,7 @@ static float dvar_eval_transChan (ChannelDriver *driver, DriverVar *dvar)
Object *ob= (Object *)dtar_id_ensure_proxy_from(dtar->id);
bPoseChannel *pchan;
float mat[4][4];
- float eul[3] = {0.0f,0.0f,0.0f};
+ float oldEul[3] = {0.0f,0.0f,0.0f};
short useEulers=0, rotOrder=ROT_MODE_EUL;
/* check if this target has valid data */
@@ -1210,36 +1236,62 @@ static float dvar_eval_transChan (ChannelDriver *driver, DriverVar *dvar)
/* try to get posechannel */
pchan= get_pose_channel(ob->pose, dtar->pchan_name);
- /* check if object or bone, and get transform matrix accordingly */
+ /* check if object or bone, and get transform matrix accordingly
+ * - "useEulers" code is used to prevent the problems associated with non-uniqueness
+ * of euler decomposition from matrices [#20870]
+ * - localspace is for [#21384], where parent results are not wanted
+ * but local-consts is for all the common "corrective-shapes-for-limbs" situations
+ */
if (pchan) {
/* bone */
if (pchan->rotmode > 0) {
- VECCOPY(eul, pchan->eul);
+ VECCOPY(oldEul, pchan->eul);
rotOrder= pchan->rotmode;
useEulers = 1;
}
if (dtar->flag & DTAR_FLAG_LOCALSPACE) {
- /* specially calculate local matrix, since chan_mat is not valid
- * since it stores delta transform of pose_mat so that deforms work
- */
- pchan_to_mat4(pchan, mat);
+ if (dtar->flag & DTAR_FLAG_LOCAL_CONSTS) {
+ /* just like how the constraints do it! */
+ copy_m4_m4(mat, pchan->pose_mat);
+ constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_LOCAL);
+ }
+ else {
+ /* specially calculate local matrix, since chan_mat is not valid
+ * since it stores delta transform of pose_mat so that deforms work
+ * so it cannot be used here for "transform" space
+ */
+ pchan_to_mat4(pchan, mat);
+ }
}
- else
+ else {
+ /* worldspace matrix */
mul_m4_m4m4(mat, pchan->pose_mat, ob->obmat);
+ }
}
else {
/* object */
if (ob->rotmode > 0) {
- VECCOPY(eul, ob->rot);
+ VECCOPY(oldEul, ob->rot);
rotOrder= ob->rotmode;
useEulers = 1;
}
- if (dtar->flag & DTAR_FLAG_LOCALSPACE)
- object_to_mat4(ob, mat);
- else
+ if (dtar->flag & DTAR_FLAG_LOCALSPACE) {
+ if (dtar->flag & DTAR_FLAG_LOCAL_CONSTS) {
+ /* just like how the constraints do it! */
+ copy_m4_m4(mat, ob->obmat);
+ constraint_mat_convertspace(ob, NULL, mat, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACE_LOCAL);
+ }
+ else {
+ /* transforms to matrix */
+ object_to_mat4(ob, mat);
+ }
+ }
+ else {
+ /* worldspace matrix - just the good-old one */
copy_m4_m4(mat, ob->obmat);
+ }
}
/* check which transform */
@@ -1255,9 +1307,21 @@ static float dvar_eval_transChan (ChannelDriver *driver, DriverVar *dvar)
return scale[dtar->transChan - DTAR_TRANSCHAN_SCALEX];
}
else if (dtar->transChan >= DTAR_TRANSCHAN_ROTX) {
- /* extract euler rotation (if needed), and choose the right axis */
- if ((dtar->flag & DTAR_FLAG_LOCALSPACE)==0 || (useEulers == 0))
- mat4_to_eulO(eul, rotOrder, mat);
+ /* extract rotation as eulers (if needed)
+ * - definitely if rotation order isn't eulers already
+ * - if eulers, then we have 2 options:
+ * a) decompose transform matrix as required, then try to make eulers from
+ * there compatible with original values
+ * b) [NOT USED] directly use the original values (no decomposition)
+ * - only an option for "transform space", if quality is really bad with a)
+ */
+ float eul[3];
+
+ mat4_to_eulO(eul, rotOrder, mat);
+
+ if (useEulers) {
+ compatible_eul(eul, oldEul);
+ }
return eul[dtar->transChan - DTAR_TRANSCHAN_ROTX];
}
diff --git a/source/blender/blenkernel/intern/fmodifier.c b/source/blender/blenkernel/intern/fmodifier.c
index 844f25e6d21..95c0aa60991 100644
--- a/source/blender/blenkernel/intern/fmodifier.c
+++ b/source/blender/blenkernel/intern/fmodifier.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -606,7 +604,7 @@ static float fcm_cycles_time (FCurve *fcu, FModifier *fcm, float UNUSED(cvalue),
/* calculate the 'number' of the cycle */
cycle= ((float)side * (evaltime - ofs) / cycdx);
-
+
/* calculate the time inside the cycle */
cyct= fmod(evaltime - ofs, cycdx);
@@ -631,11 +629,11 @@ static float fcm_cycles_time (FCurve *fcu, FModifier *fcm, float UNUSED(cvalue),
cycyofs = (float)ceil((evaltime - ofs) / cycdx);
cycyofs *= cycdy;
}
-
+
/* special case for cycle start/end */
if(cyct == 0.0f) {
evaltime = (side == 1 ? lastkey[0] : prevkey[0]);
-
+
if((mode == FCM_EXTRAPOLATE_MIRROR) && ((int)cycle % 2))
evaltime = (side == 1 ? prevkey[0] : lastkey[0]);
}
@@ -1013,6 +1011,7 @@ FModifier *add_fmodifier (ListBase *modifiers, int type)
fcm= MEM_callocN(sizeof(FModifier), "F-Curve Modifier");
fcm->type = type;
fcm->flag = FMODIFIER_FLAG_EXPANDED;
+ fcm->influence = 1.0f;
BLI_addtail(modifiers, fcm);
/* tag modifier as "active" if no other modifiers exist in the stack yet */
@@ -1200,6 +1199,47 @@ short list_has_suitable_fmodifier (ListBase *modifiers, int mtype, short acttype
/* Evaluation API --------------------------- */
+/* helper function - calculate influence of FModifier */
+static float eval_fmodifier_influence (FModifier *fcm, float evaltime)
+{
+ float influence;
+
+ /* sanity check */
+ if (fcm == NULL)
+ return 0.0f;
+
+ /* should we use influence stored in modifier or not
+ * NOTE: this is really just a hack so that we don't need to version patch old files ;)
+ */
+ if (fcm->flag & FMODIFIER_FLAG_USEINFLUENCE)
+ influence = fcm->influence;
+ else
+ influence = 1.0f;
+
+ /* restricted range or full range? */
+ if (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT) {
+ if ((evaltime <= fcm->sfra) || (evaltime >= fcm->efra)) {
+ /* out of range */
+ return 0.0f;
+ }
+ else if ((evaltime > fcm->sfra) && (evaltime < fcm->sfra + fcm->blendin)) {
+ /* blend in range */
+ float a = fcm->sfra;
+ float b = fcm->sfra + fcm->blendin;
+ return influence * (evaltime - a) / (b - a);
+ }
+ else if ((evaltime < fcm->efra) && (evaltime > fcm->efra - fcm->blendout)) {
+ /* blend out range */
+ float a = fcm->efra;
+ float b = fcm->efra - fcm->blendout;
+ return influence * (evaltime - a) / (b - a);
+ }
+ }
+
+ /* just return the influence of the modifier */
+ return influence;
+}
+
/* evaluate time modifications imposed by some F-Curve Modifiers
* - this step acts as an optimisation to prevent the F-Curve stack being evaluated
* several times by modifiers requesting the time be modified, as the final result
@@ -1230,11 +1270,24 @@ float evaluate_time_fmodifiers (ListBase *modifiers, FCurve *fcu, float cvalue,
for (fcm= modifiers->last; fcm; fcm= fcm->prev) {
FModifierTypeInfo *fmi= fmodifier_get_typeinfo(fcm);
- /* only evaluate if there's a callback for this */
- // TODO: implement the 'influence' control feature...
- if (fmi && fmi->evaluate_modifier_time) {
- if ((fcm->flag & (FMODIFIER_FLAG_DISABLED|FMODIFIER_FLAG_MUTED)) == 0)
- evaltime= fmi->evaluate_modifier_time(fcu, fcm, cvalue, evaltime);
+ if (fmi == NULL)
+ continue;
+
+ /* if modifier cannot be applied on this frame (whatever scale it is on, it won't affect the results)
+ * hence we shouldn't bother seeing what it would do given the chance
+ */
+ if ((fcm->flag & FMODIFIER_FLAG_RANGERESTRICT)==0 ||
+ ((fcm->sfra <= evaltime) && (fcm->efra >= evaltime)) )
+ {
+ /* only evaluate if there's a callback for this */
+ if (fmi->evaluate_modifier_time) {
+ if ((fcm->flag & (FMODIFIER_FLAG_DISABLED|FMODIFIER_FLAG_MUTED)) == 0) {
+ float influence = eval_fmodifier_influence(fcm, evaltime);
+ float nval = fmi->evaluate_modifier_time(fcu, fcm, cvalue, evaltime);
+
+ evaltime = interpf(nval, evaltime, influence);
+ }
+ }
}
}
@@ -1257,11 +1310,22 @@ void evaluate_value_fmodifiers (ListBase *modifiers, FCurve *fcu, float *cvalue,
for (fcm= modifiers->first; fcm; fcm= fcm->next) {
FModifierTypeInfo *fmi= fmodifier_get_typeinfo(fcm);
- /* only evaluate if there's a callback for this */
- // TODO: implement the 'influence' control feature...
- if (fmi && fmi->evaluate_modifier) {
- if ((fcm->flag & (FMODIFIER_FLAG_DISABLED|FMODIFIER_FLAG_MUTED)) == 0)
- fmi->evaluate_modifier(fcu, fcm, cvalue, evaltime);
+ if (fmi == NULL)
+ continue;
+
+ /* only evaluate if there's a callback for this, and if F-Modifier can be evaluated on this frame */
+ if ((fcm->flag & FMODIFIER_FLAG_RANGERESTRICT)==0 ||
+ ((fcm->sfra <= evaltime) && (fcm->efra >= evaltime)) )
+ {
+ if (fmi->evaluate_modifier) {
+ if ((fcm->flag & (FMODIFIER_FLAG_DISABLED|FMODIFIER_FLAG_MUTED)) == 0) {
+ float influence = eval_fmodifier_influence(fcm, evaltime);
+ float nval = *cvalue;
+
+ fmi->evaluate_modifier(fcu, fcm, &nval, evaltime);
+ *cvalue = interpf(nval, *cvalue, influence);
+ }
+ }
}
}
}
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index db0c9d2735f..c2e94cc97db 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/blenkernel/intern/idcode.c b/source/blender/blenkernel/intern/idcode.c
index 8c8a693e6e7..e84a2a04ded 100644
--- a/source/blender/blenkernel/intern/idcode.c
+++ b/source/blender/blenkernel/intern/idcode.c
@@ -73,7 +73,8 @@ static IDType idtypes[]= {
{ ID_SCE, "Scene", "scenes", IDTYPE_FLAGS_ISLINKABLE},
{ ID_SCR, "Screen", "screens", 0},
{ ID_SEQ, "Sequence", "sequences", 0}, /* not actually ID data */
- { ID_SO, "Sound", "sounds", IDTYPE_FLAGS_ISLINKABLE},
+ { ID_SPK, "Speaker", "speakers", IDTYPE_FLAGS_ISLINKABLE},
+ { ID_SO, "Sound", "sounds", IDTYPE_FLAGS_ISLINKABLE},
{ ID_TE, "Texture", "textures", IDTYPE_FLAGS_ISLINKABLE},
{ ID_TXT, "Text", "texts", IDTYPE_FLAGS_ISLINKABLE},
{ ID_VF, "VFont", "fonts", IDTYPE_FLAGS_ISLINKABLE},
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index c48497c45a1..4ce5de78895 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -432,6 +432,7 @@ Image *BKE_add_image_size(unsigned int width, unsigned int height, const char *n
ima->gen_x= width;
ima->gen_y= height;
ima->gen_type= uvtestgrid;
+ ima->gen_flag |= (floatbuf ? IMA_GEN_FLOAT : 0);
ibuf= add_ibuf_size(width, height, name, depth, floatbuf, uvtestgrid, color);
image_assign_ibuf(ima, ibuf, IMA_NO_INDEX, 0);
@@ -1370,15 +1371,15 @@ void BKE_makepicstring(char *string, const char *base, int frame, int imtype, co
}
/* used by sequencer too */
-struct anim *openanim(char *name, int flags)
+struct anim *openanim(char *name, int flags, int streamindex)
{
struct anim *anim;
struct ImBuf *ibuf;
- anim = IMB_open_anim(name, flags);
+ anim = IMB_open_anim(name, flags, streamindex);
if (anim == NULL) return NULL;
- ibuf = IMB_anim_absolute(anim, 0);
+ ibuf = IMB_anim_absolute(anim, 0, IMB_TC_NONE, IMB_PROXY_NONE);
if (ibuf == NULL) {
if(BLI_exists(name))
printf("not an anim: %s\n", name);
@@ -1772,20 +1773,26 @@ static ImBuf *image_load_movie_file(Image *ima, ImageUser *iuser, int frame)
else
BLI_path_abs(str, G.main->name);
- ima->anim = openanim(str, IB_rect);
+ /* FIXME: make several stream accessible in image editor, too*/
+ ima->anim = openanim(str, IB_rect, 0);
/* let's initialize this user */
if(ima->anim && iuser && iuser->frames==0)
- iuser->frames= IMB_anim_get_duration(ima->anim);
+ iuser->frames= IMB_anim_get_duration(ima->anim,
+ IMB_TC_RECORD_RUN);
}
if(ima->anim) {
- int dur = IMB_anim_get_duration(ima->anim);
+ int dur = IMB_anim_get_duration(ima->anim,
+ IMB_TC_RECORD_RUN);
int fra= frame-1;
if(fra<0) fra = 0;
if(fra>(dur-1)) fra= dur-1;
- ibuf = IMB_anim_absolute(ima->anim, fra);
+ ibuf = IMB_makeSingleUser(
+ IMB_anim_absolute(ima->anim, fra,
+ IMB_TC_RECORD_RUN,
+ IMB_PROXY_NONE));
if(ibuf) {
image_initialize_after_load(ima, ibuf);
@@ -2172,7 +2179,7 @@ ImBuf *BKE_image_acquire_ibuf(Image *ima, ImageUser *iuser, void **lock_r)
/* UV testgrid or black or solid etc */
if(ima->gen_x==0) ima->gen_x= 1024;
if(ima->gen_y==0) ima->gen_y= 1024;
- ibuf= add_ibuf_size(ima->gen_x, ima->gen_y, ima->name, 24, 0, ima->gen_type, color);
+ ibuf= add_ibuf_size(ima->gen_x, ima->gen_y, ima->name, 24, (ima->gen_flag & IMA_GEN_FLOAT) != 0, ima->gen_type, color);
image_assign_ibuf(ima, ibuf, IMA_NO_INDEX, 0);
ima->ok= IMA_OK_LOADED;
}
diff --git a/source/blender/blenkernel/intern/ipo.c b/source/blender/blenkernel/intern/ipo.c
index 4f921f005f4..0d3f3cc5ae4 100644
--- a/source/blender/blenkernel/intern/ipo.c
+++ b/source/blender/blenkernel/intern/ipo.c
@@ -1,7 +1,4 @@
-/* ipo.c
- *
- * $Id$
- *
+/*
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -518,7 +515,7 @@ static const char *material_adrcodes_to_paths (int adrcode, int *array_index)
return "alpha";
case MA_REF:
- return "diffuse_reflection";
+ return "diffuse_intensity";
case MA_EMIT:
return "emit";
@@ -527,7 +524,7 @@ static const char *material_adrcodes_to_paths (int adrcode, int *array_index)
return "ambient";
case MA_SPEC:
- return "specular_reflection";
+ return "specular_intensity";
case MA_HARD:
return "specular_hardness";
@@ -551,13 +548,13 @@ static const char *material_adrcodes_to_paths (int adrcode, int *array_index)
return "raytrace_mirror.fresnel";
case MA_FRESMIRI:
- return "raytrace_mirror.fresnel_fac";
+ return "raytrace_mirror.fresnel_factor";
case MA_FRESTRA:
return "raytrace_transparency.fresnel";
case MA_FRESTRAI:
- return "raytrace_transparency.fresnel_fac";
+ return "raytrace_transparency.fresnel_factor";
case MA_ADD:
return "halo.add";
@@ -1157,7 +1154,6 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *
if (icu->flag & IPO_ACTIVE) fcu->flag |= FCURVE_ACTIVE;
if (icu->flag & IPO_MUTE) fcu->flag |= FCURVE_MUTED;
if (icu->flag & IPO_PROTECT) fcu->flag |= FCURVE_PROTECTED;
- if (icu->flag & IPO_AUTO_HORIZ) fcu->flag |= FCURVE_AUTO_HANDLES;
/* set extrapolation */
switch (icu->extrap) {
@@ -1242,6 +1238,12 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *
/* 'hide' flag is now used for keytype - only 'keyframes' existed before */
dst->hide= BEZT_KEYTYPE_KEYFRAME;
+ /* auto-handles - per curve to per handle */
+ if (icu->flag & IPO_AUTO_HORIZ) {
+ if (dst->h1 == HD_AUTO) dst->h1 = HD_AUTO_ANIM;
+ if (dst->h2 == HD_AUTO) dst->h2 = HD_AUTO_ANIM;
+ }
+
/* correct values, by checking if the flag of interest is set */
if ( ((int)(dst->vec[1][1])) & (abp->bit) )
dst->vec[0][1]= dst->vec[1][1]= dst->vec[2][1] = 1.0f;
@@ -1292,6 +1294,12 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *
/* 'hide' flag is now used for keytype - only 'keyframes' existed before */
dst->hide= BEZT_KEYTYPE_KEYFRAME;
+
+ /* auto-handles - per curve to per handle */
+ if (icu->flag & IPO_AUTO_HORIZ) {
+ if (dst->h1 == HD_AUTO) dst->h1 = HD_AUTO_ANIM;
+ if (dst->h2 == HD_AUTO) dst->h2 = HD_AUTO_ANIM;
+ }
/* correct values for euler rotation curves
* - they were degrees/10
diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c
index 4b532362cd8..2aef5b39c71 100644
--- a/source/blender/blenkernel/intern/key.c
+++ b/source/blender/blenkernel/intern/key.c
@@ -63,6 +63,7 @@
#include "BKE_library.h"
#include "BKE_main.h"
#include "BKE_object.h"
+#include "BKE_deform.h"
#include "RNA_access.h"
@@ -473,20 +474,20 @@ static int setkeys(float fac, ListBase *lb, KeyBlock *k[], float *t, int cycl)
}
-static void flerp(int aantal, float *in, float *f0, float *f1, float *f2, float *f3, float *t)
+static void flerp(int tot, float *in, float *f0, float *f1, float *f2, float *f3, float *t)
{
int a;
- for(a=0; a<aantal; a++) {
+ for(a=0; a<tot; a++) {
in[a]= t[0]*f0[a]+t[1]*f1[a]+t[2]*f2[a]+t[3]*f3[a];
}
}
-static void rel_flerp(int aantal, float *in, float *ref, float *out, float fac)
+static void rel_flerp(int tot, float *in, float *ref, float *out, float fac)
{
int a;
- for(a=0; a<aantal; a++) {
+ for(a=0; a<tot; a++) {
in[a]-= fac*(ref[a]-out[a]);
}
}
@@ -1005,7 +1006,7 @@ static float *get_weights_array(Object *ob, char *vgroup)
MDeformVert *dvert= NULL;
EditMesh *em= NULL;
EditVert *eve;
- int totvert= 0, index= 0;
+ int totvert= 0, defgrp_index= 0;
/* no vgroup string set? */
if(vgroup[0]==0) return NULL;
@@ -1028,10 +1029,10 @@ static float *get_weights_array(Object *ob, char *vgroup)
if(dvert==NULL) return NULL;
/* find the group (weak loop-in-loop) */
- index= defgroup_name_index(ob, vgroup);
- if(index >= 0) {
+ defgrp_index= defgroup_name_index(ob, vgroup);
+ if(defgrp_index >= 0) {
float *weights;
- int i, j;
+ int i;
weights= MEM_callocN(totvert*sizeof(float), "weights");
@@ -1040,23 +1041,13 @@ static float *get_weights_array(Object *ob, char *vgroup)
dvert= CustomData_em_get(&em->vdata, eve->data, CD_MDEFORMVERT);
if(dvert) {
- for(j=0; j<dvert->totweight; j++) {
- if(dvert->dw[j].def_nr == index) {
- weights[i]= dvert->dw[j].weight;
- break;
- }
- }
+ weights[i]= defvert_find_weight(dvert, defgrp_index);
}
}
}
else {
for(i=0; i < totvert; i++, dvert++) {
- for(j=0; j<dvert->totweight; j++) {
- if(dvert->dw[j].def_nr == index) {
- weights[i]= dvert->dw[j].weight;
- break;
- }
- }
+ weights[i]= defvert_find_weight(dvert, defgrp_index);
}
}
@@ -1409,7 +1400,7 @@ float *do_ob_key(Scene *scene, Object *ob)
/* do shapekey local drivers */
float ctime= (float)scene->r.cfra; // XXX this needs to be checked
- BKE_animsys_evaluate_animdata(&key->id, key->adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, &key->id, key->adt, ctime, ADT_RECALC_DRIVERS);
if(ob->type==OB_MESH) do_mesh_key(scene, ob, key, out, tot);
else if(ob->type==OB_LATTICE) do_latt_key(scene, ob, key, out, tot);
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index 0b07f40cad6..677a2922666 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -65,6 +65,7 @@
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_sound_types.h"
#include "DNA_text_types.h"
#include "DNA_vfont_types.h"
@@ -108,6 +109,9 @@
#include "BKE_particle.h"
#include "BKE_gpencil.h"
#include "BKE_fcurve.h"
+#include "BKE_speaker.h"
+
+#include "RNA_access.h"
#ifdef WITH_PYTHON
#include "BPY_extern.h"
@@ -205,6 +209,9 @@ int id_make_local(ID *id, int test)
case ID_CA:
if(!test) make_local_camera((Camera*)id);
return 1;
+ case ID_SPK:
+ if(!test) make_local_speaker((Speaker*)id);
+ return 1;
case ID_IP:
return 0; /* deprecated */
case ID_KE:
@@ -287,6 +294,9 @@ int id_copy(ID *id, ID **newid, int test)
case ID_LA:
if(!test) *newid= (ID*)copy_lamp((Lamp*)id);
return 1;
+ case ID_SPK:
+ if(!test) *newid= (ID*)copy_speaker((Speaker*)id);
+ return 1;
case ID_CA:
if(!test) *newid= (ID*)copy_camera((Camera*)id);
return 1;
@@ -368,6 +378,34 @@ int id_unlink(ID *id, int test)
return 0;
}
+int id_single_user(bContext *C, ID *id, PointerRNA *ptr, PropertyRNA *prop)
+{
+ ID *newid = NULL;
+ PointerRNA idptr;
+
+ if (id) {
+ /* if property isn't editable, we're going to have an extra block hanging around until we save */
+ if (RNA_property_editable(ptr, prop)) {
+ if (id_copy(id, &newid, 0) && newid) {
+ /* copy animation actions too */
+ BKE_copy_animdata_id_action(id);
+ /* us is 1 by convention, but RNA_property_pointer_set
+ will also incremement it, so set it to zero */
+ newid->us= 0;
+
+ /* assign copy */
+ RNA_id_pointer_create(newid, &idptr);
+ RNA_property_pointer_set(ptr, prop, idptr);
+ RNA_property_update(C, ptr, prop);
+
+ return 1;
+ }
+ }
+ }
+
+ return 0;
+}
+
ListBase *which_libbase(Main *mainlib, short type)
{
switch( type ) {
@@ -409,6 +447,8 @@ ListBase *which_libbase(Main *mainlib, short type)
return &(mainlib->text);
case ID_SCRIPT:
return &(mainlib->script);
+ case ID_SPK:
+ return &(mainlib->speaker);
case ID_SO:
return &(mainlib->sound);
case ID_GR:
@@ -493,13 +533,14 @@ int set_listbasepointers(Main *main, ListBase **lb)
lb[a++]= &(main->latt);
lb[a++]= &(main->lamp);
lb[a++]= &(main->camera);
-
+
lb[a++]= &(main->text);
lb[a++]= &(main->sound);
lb[a++]= &(main->group);
lb[a++]= &(main->brush);
lb[a++]= &(main->script);
lb[a++]= &(main->particle);
+ lb[a++]= &(main->speaker);
lb[a++]= &(main->world);
lb[a++]= &(main->screen);
@@ -585,6 +626,9 @@ static ID *alloc_libblock_notest(short type)
case ID_SCRIPT:
//XXX id= MEM_callocN(sizeof(Script), "script");
break;
+ case ID_SPK:
+ id= MEM_callocN(sizeof(Speaker), "speaker");
+ break;
case ID_SO:
id= MEM_callocN(sizeof(bSound), "sound");
break;
@@ -671,7 +715,7 @@ void *copy_libblock(void *rt)
assert(idn != NULL);
idn_len= MEM_allocN_len(idn);
- if(idn_len - sizeof(ID) > 0) {
+ if((int)idn_len - (int)sizeof(ID) > 0) { /* signed to allow neg result */
cp= (char *)id;
cpn= (char *)idn;
memcpy(cpn+sizeof(ID), cp+sizeof(ID), idn_len - sizeof(ID));
@@ -788,6 +832,9 @@ void free_libblock(ListBase *lb, void *idv)
case ID_SCRIPT:
//XXX free_script((Script *)id);
break;
+ case ID_SPK:
+ free_speaker((Speaker *)id);
+ break;
case ID_SO:
sound_free((bSound*)id);
break;
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index 334f018efc9..aab8e1abbea 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -61,7 +61,7 @@
#include "BKE_material.h"
#include "BKE_mesh.h"
#include "BKE_node.h"
-
+#include "BKE_curve.h"
#include "GPU_material.h"
@@ -515,6 +515,21 @@ short *give_totcolp_id(ID *id)
return NULL;
}
+static void data_delete_material_index_id(ID *id, int index)
+{
+ switch(GS(id->name)) {
+ case ID_ME:
+ mesh_delete_material_index((Mesh *)id, index);
+ break;
+ case ID_CU:
+ curve_delete_material_index((Curve *)id, index);
+ break;
+ case ID_MB:
+ /* meta-elems dont have materials atm */
+ break;
+ }
+}
+
void material_append_id(ID *id, Material *ma)
{
Material ***matar;
@@ -532,7 +547,7 @@ void material_append_id(ID *id, Material *ma)
}
}
-Material *material_pop_id(ID *id, int index)
+Material *material_pop_id(ID *id, int index, int remove_material_slot)
{
Material *ret= NULL;
Material ***matar;
@@ -540,27 +555,36 @@ Material *material_pop_id(ID *id, int index)
short *totcol= give_totcolp_id(id);
if(index >= 0 && index < (*totcol)) {
ret= (*matar)[index];
- id_us_min((ID *)ret);
- if(*totcol <= 1) {
- *totcol= 0;
- MEM_freeN(*matar);
- *matar= NULL;
- }
- else {
- Material **mat;
-
- if(index + 1 != (*totcol))
- memmove((*matar), (*matar) + 1, (*totcol) - (index + 1));
+ id_us_min((ID *)ret);
- (*totcol)--;
-
- mat= MEM_callocN(sizeof(void *) * (*totcol), "newmatar");
- memcpy(mat, *matar, sizeof(void *) * (*totcol));
- MEM_freeN(*matar);
+ if (remove_material_slot) {
+ if(*totcol <= 1) {
+ *totcol= 0;
+ MEM_freeN(*matar);
+ *matar= NULL;
+ }
+ else {
+ Material **mat;
+ if(index + 1 != (*totcol))
+ memmove((*matar)+index, (*matar)+(index+1), sizeof(void *) * ((*totcol) - (index + 1)));
+
+ (*totcol)--;
+
+ mat= MEM_callocN(sizeof(void *) * (*totcol), "newmatar");
+ memcpy(mat, *matar, sizeof(void *) * (*totcol));
+ MEM_freeN(*matar);
+
+ *matar= mat;
+ test_object_materials(id);
+ }
- *matar= mat;
- test_object_materials(id);
+ /* decrease mat_nr index */
+ data_delete_material_index_id(id, index);
}
+
+ /* don't remove material slot, only clear it*/
+ else
+ (*matar)[index]= NULL;
}
}
@@ -867,6 +891,10 @@ static void do_init_render_material(Material *ma, int r_mode, float *amb)
if(ma->strand_surfnor > 0.0f)
ma->mode_l |= MA_STR_SURFDIFF;
+
+ /* parses the geom+tex nodes */
+ if(ma->nodetree && ma->use_nodes)
+ ntreeShaderGetTexcoMode(ma->nodetree, r_mode, &ma->texco, &ma->mode_l);
}
static void init_render_nodetree(bNodeTree *ntree, Material *basemat, int r_mode, float *amb)
@@ -887,8 +915,6 @@ static void init_render_nodetree(bNodeTree *ntree, Material *basemat, int r_mode
init_render_nodetree((bNodeTree *)node->id, basemat, r_mode, amb);
}
}
- /* parses the geom+tex nodes */
- ntreeShaderGetTexcoMode(ntree, r_mode, &basemat->texco, &basemat->mode_l);
}
void init_render_material(Material *mat, int r_mode, float *amb)
@@ -899,7 +925,8 @@ void init_render_material(Material *mat, int r_mode, float *amb)
if(mat->nodetree && mat->use_nodes) {
init_render_nodetree(mat->nodetree, mat, r_mode, amb);
- ntreeBeginExecTree(mat->nodetree); /* has internal flag to detect it only does it once */
+ if (!mat->nodetree->execdata)
+ mat->nodetree->execdata = ntreeShaderBeginExecTree(mat->nodetree, 1);
}
}
@@ -931,8 +958,10 @@ void init_render_materials(Main *bmain, int r_mode, float *amb)
/* only needed for nodes now */
void end_render_material(Material *mat)
{
- if(mat && mat->nodetree && mat->use_nodes)
- ntreeEndExecTree(mat->nodetree); /* has internal flag to detect it only does it once */
+ if(mat && mat->nodetree && mat->use_nodes) {
+ if (mat->nodetree->execdata)
+ ntreeShaderEndExecTree(mat->nodetree->execdata, 1);
+ }
}
void end_render_materials(Main *bmain)
@@ -1023,8 +1052,6 @@ int object_remove_material_slot(Object *ob)
{
Material *mao, ***matarar;
Object *obt;
- Curve *cu;
- Nurb *nu;
short *totcolp;
int a, actcol;
@@ -1084,23 +1111,8 @@ int object_remove_material_slot(Object *ob)
}
/* check indices from mesh */
-
- if(ob->type==OB_MESH) {
- Mesh *me= get_mesh(ob);
- mesh_delete_material_index(me, actcol-1);
- freedisplist(&ob->disp);
- }
- else if ELEM(ob->type, OB_CURVE, OB_SURF) {
- cu= ob->data;
- nu= cu->nurb.first;
-
- while(nu) {
- if(nu->mat_nr && nu->mat_nr>=actcol-1) {
- nu->mat_nr--;
- if (ob->type == OB_CURVE) nu->charidx--;
- }
- nu= nu->next;
- }
+ if (ELEM4(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT)) {
+ data_delete_material_index_id((ID *)ob->data, actcol-1);
freedisplist(&ob->disp);
}
@@ -1356,7 +1368,7 @@ void ramp_blend(int type, float *r, float *g, float *b, float fac, float *col)
}
/* copy/paste buffer, if we had a propper py api that would be better */
-Material matcopybuf;
+static Material matcopybuf;
static short matcopied= 0;
void clear_matcopybuf(void)
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 45a60b842a7..32819226361 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -1254,10 +1254,10 @@ void mesh_to_curve(Scene *scene, Object *ob)
void mesh_delete_material_index(Mesh *me, int index)
{
+ MFace *mf;
int i;
- for (i=0; i<me->totface; i++) {
- MFace *mf = &((MFace*) me->mface)[i];
+ for (i=0, mf=me->mface; i<me->totface; i++, mf++) {
if (mf->mat_nr && mf->mat_nr>=index)
mf->mat_nr--;
}
diff --git a/source/blender/blenkernel/intern/mesh_validate.c b/source/blender/blenkernel/intern/mesh_validate.c
index 34618a19ae9..70398594872 100644
--- a/source/blender/blenkernel/intern/mesh_validate.c
+++ b/source/blender/blenkernel/intern/mesh_validate.c
@@ -80,7 +80,7 @@ static void edge_store_from_mface_quad(EdgeUUID es[4], MFace *mf)
edge_store_assign(es[3].verts, mf->v4, mf->v1);
}
-static void edge_store_from_mface_tri(EdgeUUID es[3], MFace *mf)
+static void edge_store_from_mface_tri(EdgeUUID es[4], MFace *mf)
{
edge_store_assign(es[0].verts, mf->v1, mf->v2);
edge_store_assign(es[1].verts, mf->v2, mf->v3);
@@ -143,30 +143,30 @@ int BKE_mesh_validate_arrays(Mesh *me, MVert *UNUSED(mverts), unsigned int totve
BLI_assert(!(do_fixes && me == NULL));
- PRINT("ED_mesh_validate: verts(%d), edges(%d), faces(%d)\n", totvert, totedge, totface);
+ PRINT("ED_mesh_validate: verts(%u), edges(%u), faces(%u)\n", totvert, totedge, totface);
if(totedge == 0 && totface != 0) {
- PRINT(" locical error, %d faces and 0 edges\n", totface);
+ PRINT(" locical error, %u faces and 0 edges\n", totface);
do_edge_recalc= TRUE;
}
for(i=0, med= medges; i<totedge; i++, med++) {
int remove= FALSE;
if(med->v1 == med->v2) {
- PRINT(" edge %d: has matching verts, both %d\n", i, med->v1);
+ PRINT(" edge %u: has matching verts, both %u\n", i, med->v1);
remove= do_fixes;
}
if(med->v1 >= totvert) {
- PRINT(" edge %d: v1 index out of range, %d\n", i, med->v1);
+ PRINT(" edge %u: v1 index out of range, %u\n", i, med->v1);
remove= do_fixes;
}
if(med->v2 >= totvert) {
- PRINT(" edge %d: v2 index out of range, %d\n", i, med->v2);
+ PRINT(" edge %u: v2 index out of range, %u\n", i, med->v2);
remove= do_fixes;
}
if(BLI_edgehash_haskey(edge_hash, med->v1, med->v2)) {
- PRINT(" edge %d: is a duplicate of, %d\n", i, GET_INT_FROM_POINTER(BLI_edgehash_lookup(edge_hash, med->v1, med->v2)));
+ PRINT(" edge %u: is a duplicate of, %d\n", i, GET_INT_FROM_POINTER(BLI_edgehash_lookup(edge_hash, med->v1, med->v2)));
remove= do_fixes;
}
@@ -187,41 +187,41 @@ int BKE_mesh_validate_arrays(Mesh *me, MVert *UNUSED(mverts), unsigned int totve
do {
fv[fidx]= *(&(mf->v1) + fidx);
if(fv[fidx] >= totvert) {
- PRINT(" face %d: 'v%d' index out of range, %d\n", i, fidx + 1, fv[fidx]);
+ PRINT(" face %u: 'v%d' index out of range, %u\n", i, fidx + 1, fv[fidx]);
remove= do_fixes;
}
} while (fidx--);
if(remove == FALSE) {
if(mf->v4) {
- if(mf->v1 == mf->v2) { PRINT(" face %d: verts invalid, v1/v2 both %d\n", i, mf->v1); remove= do_fixes; }
- if(mf->v1 == mf->v3) { PRINT(" face %d: verts invalid, v1/v3 both %d\n", i, mf->v1); remove= do_fixes; }
- if(mf->v1 == mf->v4) { PRINT(" face %d: verts invalid, v1/v4 both %d\n", i, mf->v1); remove= do_fixes; }
+ if(mf->v1 == mf->v2) { PRINT(" face %u: verts invalid, v1/v2 both %u\n", i, mf->v1); remove= do_fixes; }
+ if(mf->v1 == mf->v3) { PRINT(" face %u: verts invalid, v1/v3 both %u\n", i, mf->v1); remove= do_fixes; }
+ if(mf->v1 == mf->v4) { PRINT(" face %u: verts invalid, v1/v4 both %u\n", i, mf->v1); remove= do_fixes; }
- if(mf->v2 == mf->v3) { PRINT(" face %d: verts invalid, v2/v3 both %d\n", i, mf->v2); remove= do_fixes; }
- if(mf->v2 == mf->v4) { PRINT(" face %d: verts invalid, v2/v4 both %d\n", i, mf->v2); remove= do_fixes; }
+ if(mf->v2 == mf->v3) { PRINT(" face %u: verts invalid, v2/v3 both %u\n", i, mf->v2); remove= do_fixes; }
+ if(mf->v2 == mf->v4) { PRINT(" face %u: verts invalid, v2/v4 both %u\n", i, mf->v2); remove= do_fixes; }
- if(mf->v3 == mf->v4) { PRINT(" face %d: verts invalid, v3/v4 both %d\n", i, mf->v3); remove= do_fixes; }
+ if(mf->v3 == mf->v4) { PRINT(" face %u: verts invalid, v3/v4 both %u\n", i, mf->v3); remove= do_fixes; }
}
else {
- if(mf->v1 == mf->v2) { PRINT(" faceT %d: verts invalid, v1/v2 both %d\n", i, mf->v1); remove= do_fixes; }
- if(mf->v1 == mf->v3) { PRINT(" faceT %d: verts invalid, v1/v3 both %d\n", i, mf->v1); remove= do_fixes; }
+ if(mf->v1 == mf->v2) { PRINT(" faceT %u: verts invalid, v1/v2 both %u\n", i, mf->v1); remove= do_fixes; }
+ if(mf->v1 == mf->v3) { PRINT(" faceT %u: verts invalid, v1/v3 both %u\n", i, mf->v1); remove= do_fixes; }
- if(mf->v2 == mf->v3) { PRINT(" faceT %d: verts invalid, v2/v3 both %d\n", i, mf->v2); remove= do_fixes; }
+ if(mf->v2 == mf->v3) { PRINT(" faceT %u: verts invalid, v2/v3 both %u\n", i, mf->v2); remove= do_fixes; }
}
if(remove == FALSE) {
if(totedge) {
if(mf->v4) {
- if(!BLI_edgehash_haskey(edge_hash, mf->v1, mf->v2)) { PRINT(" face %d: edge v1/v2 (%d,%d) is missing egde data\n", i, mf->v1, mf->v2); do_edge_recalc= TRUE; }
- if(!BLI_edgehash_haskey(edge_hash, mf->v2, mf->v3)) { PRINT(" face %d: edge v2/v3 (%d,%d) is missing egde data\n", i, mf->v2, mf->v3); do_edge_recalc= TRUE; }
- if(!BLI_edgehash_haskey(edge_hash, mf->v3, mf->v4)) { PRINT(" face %d: edge v3/v4 (%d,%d) is missing egde data\n", i, mf->v3, mf->v4); do_edge_recalc= TRUE; }
- if(!BLI_edgehash_haskey(edge_hash, mf->v4, mf->v1)) { PRINT(" face %d: edge v4/v1 (%d,%d) is missing egde data\n", i, mf->v4, mf->v1); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v1, mf->v2)) { PRINT(" face %u: edge v1/v2 (%u,%u) is missing egde data\n", i, mf->v1, mf->v2); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v2, mf->v3)) { PRINT(" face %u: edge v2/v3 (%u,%u) is missing egde data\n", i, mf->v2, mf->v3); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v3, mf->v4)) { PRINT(" face %u: edge v3/v4 (%u,%u) is missing egde data\n", i, mf->v3, mf->v4); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v4, mf->v1)) { PRINT(" face %u: edge v4/v1 (%u,%u) is missing egde data\n", i, mf->v4, mf->v1); do_edge_recalc= TRUE; }
}
else {
- if(!BLI_edgehash_haskey(edge_hash, mf->v1, mf->v2)) { PRINT(" face %d: edge v1/v2 (%d,%d) is missing egde data\n", i, mf->v1, mf->v2); do_edge_recalc= TRUE; }
- if(!BLI_edgehash_haskey(edge_hash, mf->v2, mf->v3)) { PRINT(" face %d: edge v2/v3 (%d,%d) is missing egde data\n", i, mf->v2, mf->v3); do_edge_recalc= TRUE; }
- if(!BLI_edgehash_haskey(edge_hash, mf->v3, mf->v1)) { PRINT(" face %d: edge v3/v1 (%d,%d) is missing egde data\n", i, mf->v3, mf->v1); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v1, mf->v2)) { PRINT(" face %u: edge v1/v2 (%u,%u) is missing egde data\n", i, mf->v1, mf->v2); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v2, mf->v3)) { PRINT(" face %u: edge v2/v3 (%u,%u) is missing egde data\n", i, mf->v2, mf->v3); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v3, mf->v1)) { PRINT(" face %u: edge v3/v1 (%u,%u) is missing egde data\n", i, mf->v3, mf->v1); do_edge_recalc= TRUE; }
}
}
@@ -261,10 +261,10 @@ int BKE_mesh_validate_arrays(Mesh *me, MVert *UNUSED(mverts), unsigned int totve
if(do_verbose) {
mf_prev= mfaces + sf_prev->index;
if(mf->v4) {
- PRINT(" face %d & %d: are duplicates (%d,%d,%d,%d) (%d,%d,%d,%d)\n", sf->index, sf_prev->index, mf->v1, mf->v2, mf->v3, mf->v4, mf_prev->v1, mf_prev->v2, mf_prev->v3, mf_prev->v4);
+ PRINT(" face %u & %u: are duplicates (%u,%u,%u,%u) (%u,%u,%u,%u)\n", sf->index, sf_prev->index, mf->v1, mf->v2, mf->v3, mf->v4, mf_prev->v1, mf_prev->v2, mf_prev->v3, mf_prev->v4);
}
else {
- PRINT(" face %d & %d: are duplicates (%d,%d,%d) (%d,%d,%d)\n", sf->index, sf_prev->index, mf->v1, mf->v2, mf->v3, mf_prev->v1, mf_prev->v2, mf_prev->v3);
+ PRINT(" face %u & %u: are duplicates (%u,%u,%u) (%u,%u,%u)\n", sf->index, sf_prev->index, mf->v1, mf->v2, mf->v3, mf_prev->v1, mf_prev->v2, mf_prev->v3);
}
}
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c
index 51f1cd61e7c..fe26c0ccd2d 100644
--- a/source/blender/blenkernel/intern/modifier.c
+++ b/source/blender/blenkernel/intern/modifier.c
@@ -195,6 +195,18 @@ void modifiers_foreachIDLink(Object *ob, IDWalkFunc walk, void *userData)
}
}
+void modifiers_foreachTexLink(Object *ob, TexWalkFunc walk, void *userData)
+{
+ ModifierData *md = ob->modifiers.first;
+
+ for (; md; md=md->next) {
+ ModifierTypeInfo *mti = modifierType_getInfo(md->type);
+
+ if(mti->foreachTexLink)
+ mti->foreachTexLink(md, ob, walk, userData);
+ }
+}
+
void modifier_copyData(ModifierData *md, ModifierData *target)
{
ModifierTypeInfo *mti = modifierType_getInfo(md->type);
diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c
index 5802bb2b697..e621e800520 100644
--- a/source/blender/blenkernel/intern/multires.c
+++ b/source/blender/blenkernel/intern/multires.c
@@ -465,12 +465,13 @@ static DerivedMesh *multires_dm_create_local(Object *ob, DerivedMesh *dm, int lv
return multires_dm_create_from_derived(&mmd, 1, dm, ob, 0, 0);
}
-static DerivedMesh *subsurf_dm_create_local(Object *ob, DerivedMesh *dm, int lvl, int simple, int optimal)
+static DerivedMesh *subsurf_dm_create_local(Object *ob, DerivedMesh *dm, int lvl, int simple, int optimal, int plain_uv)
{
SubsurfModifierData smd= {{NULL}};
smd.levels = smd.renderLevels = lvl;
- smd.flags |= eSubsurfModifierFlag_SubsurfUv;
+ if(!plain_uv)
+ smd.flags |= eSubsurfModifierFlag_SubsurfUv;
if(simple)
smd.subdivType = ME_SIMPLE_SUBSURF;
if(optimal)
@@ -591,7 +592,7 @@ void multiresModifier_base_apply(MultiresModifierData *mmd, Object *ob)
/* subdivide the mesh to highest level without displacements */
cddm = CDDM_from_mesh(me, NULL);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
- origdm = subsurf_dm_create_local(ob, cddm, totlvl, 0, 0);
+ origdm = subsurf_dm_create_local(ob, cddm, totlvl, 0, 0, mmd->flags & eMultiresModifierFlag_PlainUv);
cddm->release(cddm);
/* calc disps */
@@ -626,7 +627,7 @@ static void multires_subdivide(MultiresModifierData *mmd, Object *ob, int totlvl
/* create subsurf DM from original mesh at high level */
cddm = CDDM_from_mesh(me, NULL);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
- highdm = subsurf_dm_create_local(ob, cddm, totlvl, simple, 0);
+ highdm = subsurf_dm_create_local(ob, cddm, totlvl, simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv);
/* create multires DM from original mesh at low level */
lowdm = multires_dm_create_local(ob, cddm, lvl, lvl, simple);
@@ -830,7 +831,7 @@ static void multiresModifier_update(DerivedMesh *dm)
else cddm = CDDM_from_mesh(me, NULL);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
- highdm = subsurf_dm_create_local(ob, cddm, totlvl, mmd->simple, 0);
+ highdm = subsurf_dm_create_local(ob, cddm, totlvl, mmd->simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv);
/* create multires DM from original mesh and displacements */
lowdm = multires_dm_create_local(ob, cddm, lvl, totlvl, mmd->simple);
@@ -884,7 +885,7 @@ static void multiresModifier_update(DerivedMesh *dm)
else cddm = CDDM_from_mesh(me, NULL);
DM_set_only_copy(cddm, CD_MASK_BAREMESH);
- subdm = subsurf_dm_create_local(ob, cddm, mmd->totlvl, mmd->simple, 0);
+ subdm = subsurf_dm_create_local(ob, cddm, mmd->totlvl, mmd->simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv);
cddm->release(cddm);
multiresModifier_disp_run(dm, me, 1, 0, subdm->getGridData(subdm), mmd->totlvl);
@@ -927,7 +928,8 @@ DerivedMesh *multires_dm_create_from_derived(MultiresModifierData *mmd, int loca
return dm;
result = subsurf_dm_create_local(ob, dm, lvl,
- mmd->simple, mmd->flags & eMultiresModifierFlag_ControlEdges);
+ mmd->simple, mmd->flags & eMultiresModifierFlag_ControlEdges,
+ mmd->flags & eMultiresModifierFlag_PlainUv);
if(!local_mmd) {
ccgdm = (CCGDerivedMesh*)result;
@@ -1020,7 +1022,7 @@ static void old_mdisps_rotate(int S, int UNUSED(newside), int oldside, int x, in
static void old_mdisps_convert(MFace *mface, MDisps *mdisp)
{
- int newlvl = log(sqrt(mdisp->totdisp)-1)/log(2);
+ int newlvl = log(sqrt(mdisp->totdisp)-1)/M_LN2;
int oldlvl = newlvl+1;
int oldside = multires_side_tot[oldlvl];
int newside = multires_side_tot[newlvl];
@@ -1535,6 +1537,7 @@ void multires_load_old(Object *ob, Mesh *me)
me->mface[i].v2 = lvl->faces[i].v[1];
me->mface[i].v3 = lvl->faces[i].v[2];
me->mface[i].v4 = lvl->faces[i].v[3];
+ me->mface[i].mat_nr = lvl->faces[i].mat_nr;
}
/* Add a multires modifier to the object */
@@ -1633,7 +1636,7 @@ static void multires_apply_smat(Scene *scene, Object *ob, float smat[3][3])
MEM_freeN(vertCos);
/* scaled ccgDM for tangent space of object with applied scale */
- dm= subsurf_dm_create_local(ob, cddm, high_mmd.totlvl, high_mmd.simple, 0);
+ dm= subsurf_dm_create_local(ob, cddm, high_mmd.totlvl, high_mmd.simple, 0, mmd->flags & eMultiresModifierFlag_PlainUv);
cddm->release(cddm);
/*numGrids= dm->getNumGrids(dm);*/ /*UNUSED*/
diff --git a/source/blender/blenkernel/intern/nla.c b/source/blender/blenkernel/intern/nla.c
index c02b5dda9ce..6ce80342dd6 100644
--- a/source/blender/blenkernel/intern/nla.c
+++ b/source/blender/blenkernel/intern/nla.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -46,6 +44,8 @@
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
+#include "DNA_sound_types.h"
+#include "DNA_speaker_types.h"
#include "BKE_action.h"
#include "BKE_fcurve.h"
@@ -53,6 +53,9 @@
#include "BKE_global.h"
#include "BKE_library.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "RNA_access.h"
#include "nla_private.h"
@@ -337,6 +340,44 @@ NlaStrip *add_nlastrip_to_stack (AnimData *adt, bAction *act)
return strip;
}
+/* Add a NLA Strip referencing the given speaker's sound */
+NlaStrip *add_nla_soundstrip (Scene *scene, Speaker *speaker)
+{
+ NlaStrip *strip = MEM_callocN(sizeof(NlaStrip), "NlaSoundStrip");
+
+ /* if speaker has a sound, set the strip length to the length of the sound,
+ * otherwise default to length of 10 frames
+ */
+#ifdef WITH_AUDASPACE
+ if (speaker->sound)
+ {
+ AUD_SoundInfo info = AUD_getInfo(speaker->sound->playback_handle);
+
+ strip->end = ceil(info.length * FPS);
+ }
+ else
+#endif
+ {
+ strip->end = 10.0f;
+ /* quiet compiler warnings */
+ (void)scene;
+ (void)speaker;
+ }
+
+ /* general settings */
+ strip->type = NLASTRIP_TYPE_SOUND;
+
+ strip->flag = NLASTRIP_FLAG_SELECT;
+ strip->extendmode = NLASTRIP_EXTEND_NOTHING; /* nothing to extend... */
+
+ /* strip should be referenced as-is */
+ strip->scale= 1.0f;
+ strip->repeat = 1.0f;
+
+ /* return this strip */
+ return strip;
+}
+
/* *************************************************** */
/* NLA Evaluation <-> Editing Stuff */
@@ -813,34 +854,35 @@ void BKE_nlameta_flush_transforms (NlaStrip *mstrip)
/* for each child-strip, calculate new start/end points based on this new info */
for (strip= mstrip->strips.first; strip; strip= strip->next) {
if (scaleChanged) {
- PointerRNA ptr;
- float p1, p2, nStart, nEnd;
+ float p1, p2;
/* compute positions of endpoints relative to old extents of strip */
p1= (strip->start - oStart) / oLen;
p2= (strip->end - oStart) / oLen;
- /* compute the new strip endpoints using the proportions */
- nStart= (p1 * nLen) + mstrip->start;
- nEnd= (p2 * nLen) + mstrip->start;
-
- /* firstly, apply the new positions manually, then apply using RNA
- * - first time is to make sure no truncation errors from one endpoint not being
- * set yet occur
- * - second time is to make sure scale is computed properly...
- */
- strip->start= nStart;
- strip->end= nEnd;
-
- RNA_pointer_create(NULL, &RNA_NlaStrip, strip, &ptr);
- RNA_float_set(&ptr, "frame_start", nStart);
- RNA_float_set(&ptr, "frame_end", nEnd);
+ /* apply new strip endpoints using the proportions, then wait for second pass to flush scale properly */
+ strip->start= (p1 * nLen) + mstrip->start;
+ strip->end= (p2 * nLen) + mstrip->start;
}
else {
/* just apply the changes in offset to both ends of the strip */
strip->start += offset;
strip->end += offset;
}
+ }
+
+ /* apply a second pass over child strips, to finish up unfinished business */
+ for (strip= mstrip->strips.first; strip; strip= strip->next) {
+ /* only if scale changed, need to perform RNA updates */
+ if (scaleChanged) {
+ PointerRNA ptr;
+
+ /* use RNA updates to compute scale properly */
+ RNA_pointer_create(NULL, &RNA_NlaStrip, strip, &ptr);
+
+ RNA_float_set(&ptr, "frame_start", strip->start);
+ RNA_float_set(&ptr, "frame_end", strip->end);
+ }
/* finally, make sure the strip's children (if it is a meta-itself), get updated */
BKE_nlameta_flush_transforms(strip);
@@ -1185,7 +1227,7 @@ void BKE_nlastrip_validate_fcurves (NlaStrip *strip)
BLI_addtail(&strip->fcurves, fcu);
/* set default flags */
- fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
+ fcu->flag = (FCURVE_VISIBLE|FCURVE_SELECTED);
/* store path - make copy, and store that */
fcu->rna_path= BLI_strdupn("influence", 9);
@@ -1206,7 +1248,7 @@ void BKE_nlastrip_validate_fcurves (NlaStrip *strip)
BLI_addtail(&strip->fcurves, fcu);
/* set default flags */
- fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
+ fcu->flag = (FCURVE_VISIBLE|FCURVE_SELECTED);
/* store path - make copy, and store that */
fcu->rna_path= BLI_strdupn("strip_time", 10);
@@ -1242,7 +1284,7 @@ void BKE_nlastrip_validate_name (AnimData *adt, NlaStrip *strip)
if (strip->name[0]==0) {
switch (strip->type) {
case NLASTRIP_TYPE_CLIP: /* act-clip */
- sprintf(strip->name, "Act: %s", (strip->act)?(strip->act->id.name+2):("<None>"));
+ sprintf(strip->name, "%s", (strip->act)?(strip->act->id.name+2):("<No Action>"));
break;
case NLASTRIP_TYPE_TRANSITION: /* transition */
sprintf(strip->name, "Transition");
@@ -1582,7 +1624,7 @@ void BKE_nla_tweakmode_exit (AnimData *adt)
/* Baking Tools ------------------------------------------- */
-static void BKE_nla_bake (Scene *scene, ID *UNUSED(id), AnimData *adt, int UNUSED(flag))
+static void UNUSED_FUNCTION(BKE_nla_bake) (Scene *scene, ID *UNUSED(id), AnimData *adt, int UNUSED(flag))
{
/* verify that data is valid
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 3a8a2ae9c09..cd1a6e61151 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -32,8 +32,10 @@
*/
-#ifdef WITH_PYTHON
-#include <Python.h>
+#if 0 /* pynodes commented for now */
+# ifdef WITH_PYTHON
+# include <Python.h>
+# endif
#endif
#include "MEM_guardedalloc.h"
@@ -44,84 +46,107 @@
#include <limits.h>
#include "DNA_anim_types.h"
-#include "DNA_action_types.h"
#include "DNA_node_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_action_types.h"
+#include "BLI_string.h"
+#include "BLI_math.h"
#include "BLI_listbase.h"
-
-#include "RNA_access.h"
+#include "BLI_path_util.h"
+#include "BLI_utildefines.h"
#include "BKE_animsys.h"
#include "BKE_action.h"
#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_image.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_utildefines.h"
+#include "BKE_utildefines.h"
-#include "PIL_time.h"
-
-#include "CMP_node.h"
-#include "intern/CMP_util.h" /* stupid include path... */
+#include "BLI_listbase.h"
-#include "SHD_node.h"
-#include "TEX_node.h"
-#include "intern/TEX_util.h"
+#include "RNA_access.h"
-#include "GPU_material.h"
+#include "NOD_socket.h"
+#include "NOD_composite.h"
+#include "NOD_shader.h"
+#include "NOD_texture.h"
-static ListBase empty_list = {NULL, NULL};
-ListBase node_all_composit = {NULL, NULL};
-ListBase node_all_shaders = {NULL, NULL};
-ListBase node_all_textures = {NULL, NULL};
-/* ************** Type stuff ********** */
+bNodeTreeType *ntreeGetType(int type)
+{
+ static bNodeTreeType *types[NUM_NTREE_TYPES];
+ static int types_init = 1;
+ if (types_init) {
+ types[NTREE_SHADER] = &ntreeType_Shader;
+ types[NTREE_COMPOSIT] = &ntreeType_Composite;
+ types[NTREE_TEXTURE] = &ntreeType_Texture;
+ types_init = 0;
+ }
+
+ if(type >= 0 && type < NUM_NTREE_TYPES) {
+ return types[type];
+ }
+ else {
+ return NULL;
+ }
+}
-static bNodeType *node_get_type(bNodeTree *ntree, int type, ID *id)
+static bNodeType *node_get_type(bNodeTree *ntree, int type)
{
- bNodeType *ntype = ntree->alltypes.first;
+ bNodeType *ntype = ntreeGetType(ntree->type)->node_types.first;
for(; ntype; ntype= ntype->next)
- if(ntype->type==type && id==ntype->id )
+ if(ntype->type==type)
return ntype;
return NULL;
}
-void ntreeInitTypes(bNodeTree *ntree)
+bNodeType *ntreeGetNodeType(bNodeTree *ntree)
{
- bNode *node, *next;
-
- if(ntree->type==NTREE_SHADER)
- ntree->alltypes= node_all_shaders;
- else if(ntree->type==NTREE_COMPOSIT)
- ntree->alltypes= node_all_composit;
- else if(ntree->type==NTREE_TEXTURE)
- ntree->alltypes= node_all_textures;
+ return node_get_type(ntree, ntree->nodetype);
+}
+
+bNodeSocketType *ntreeGetSocketType(int type)
+{
+ static bNodeSocketType *types[NUM_SOCKET_TYPES]= {NULL};
+ static int types_init = 1;
+
+ if (types_init) {
+ node_socket_type_init(types);
+ types_init= 0;
+ }
+
+ if(type < NUM_SOCKET_TYPES) {
+ return types[type];
+ }
else {
- ntree->alltypes= empty_list;
- printf("Error: no type definitions for nodes\n");
+ return NULL;
}
+}
+
+void ntreeInitTypes(bNodeTree *ntree)
+{
+ bNode *node, *next;
for(node= ntree->nodes.first; node; node= next) {
next= node->next;
+
+ node->typeinfo= node_get_type(ntree, node->type);
+
if(node->type==NODE_DYNAMIC) {
- bNodeType *stype= NULL;
- if(node->id==NULL) { /* empty script node */
- stype= node_get_type(ntree, node->type, NULL);
- } else { /* not an empty script node */
- stype= node_get_type(ntree, node->type, node->id);
- if(!stype) {
- stype= node_get_type(ntree, node->type, NULL);
- /* needed info if the pynode script fails now: */
- if (node->id) node->storage= ntree;
- } else {
- node->custom1= 0;
- node->custom1= BSET(node->custom1,NODE_DYNAMIC_ADDEXIST);
- }
+ /* needed info if the pynode script fails now: */
+ node->storage= ntree;
+ if(node->id!=NULL) { /* not an empty script node */
+ node->custom1= 0;
+ node->custom1= BSET(node->custom1,NODE_DYNAMIC_ADDEXIST);
}
- node->typeinfo= stype;
- if(node->typeinfo)
- node->typeinfo->initfunc(node);
- } else {
- node->typeinfo= node_get_type(ntree, node->type, NULL);
+// if(node->typeinfo)
+// node->typeinfo->initfunc(node);
}
if(node->typeinfo==NULL) {
@@ -133,66 +158,51 @@ void ntreeInitTypes(bNodeTree *ntree)
ntree->init |= NTREE_TYPE_INIT;
}
-/* updates node with (modified) bNodeType.. this should be done for all trees */
-void ntreeUpdateType(bNodeTree *ntree, bNodeType *ntype)
+static bNodeSocket *make_socket(bNodeTree *UNUSED(ntree), int in_out, const char *name, int type)
{
- bNode *node;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo== ntype) {
- nodeUpdateType(ntree, node, ntype);
- }
- }
+ bNodeSocketType *stype= ntreeGetSocketType(type);
+ bNodeSocket *sock;
+
+ sock= MEM_callocN(sizeof(bNodeSocket), "sock");
+
+ BLI_strncpy(sock->name, name, NODE_MAXSTR);
+ sock->limit = (in_out==SOCK_IN ? 1 : 0xFFF);
+ sock->type= type;
+ sock->storage = NULL;
+
+ if (stype->value_structsize > 0)
+ sock->default_value = MEM_callocN(stype->value_structsize, "default socket value");
+
+ return sock;
}
-/* only used internal... we depend on type definitions! */
-static bNodeSocket *node_add_socket_type(ListBase *lb, bNodeSocketType *stype)
+bNodeSocket *nodeAddSocket(bNodeTree *ntree, bNode *node, int in_out, const char *name, int type)
{
- bNodeSocket *sock= MEM_callocN(sizeof(bNodeSocket), "sock");
+ bNodeSocket *sock = make_socket(ntree, in_out, name, type);
+ if (in_out==SOCK_IN)
+ BLI_addtail(&node->inputs, sock);
+ else if (in_out==SOCK_OUT)
+ BLI_addtail(&node->outputs, sock);
- BLI_strncpy(sock->name, stype->name, NODE_MAXSTR);
- if(stype->limit==0) sock->limit= 0xFFF;
- else sock->limit= stype->limit;
- sock->type= stype->type;
+ ntree->update |= NTREE_UPDATE_NODES;
- sock->ns.vec[0]= stype->val1;
- sock->ns.vec[1]= stype->val2;
- sock->ns.vec[2]= stype->val3;
- sock->ns.vec[3]= stype->val4;
- sock->ns.min= stype->min;
- sock->ns.max= stype->max;
-
- if(lb)
- BLI_addtail(lb, sock);
-
return sock;
}
-static bNodeSocket *node_add_group_socket(ListBase *lb, bNodeSocket *gsock)
+bNodeSocket *nodeInsertSocket(bNodeTree *ntree, bNode *node, int in_out, bNodeSocket *next_sock, const char *name, int type)
{
- bNodeSocket *sock= MEM_callocN(sizeof(bNodeSocket), "sock");
+ bNodeSocket *sock = make_socket(ntree, in_out, name, type);
+ if (in_out==SOCK_IN)
+ BLI_insertlinkbefore(&node->inputs, next_sock, sock);
+ else if (in_out==SOCK_OUT)
+ BLI_insertlinkbefore(&node->outputs, next_sock, sock);
- /* make a copy of the group socket */
- *sock = *gsock;
- sock->link = NULL;
- sock->next = sock->prev = NULL;
- sock->new_sock = NULL;
- sock->ns.data = NULL;
+ ntree->update |= NTREE_UPDATE_NODES;
- sock->own_index = gsock->own_index;
- sock->groupsock = gsock;
- /* XXX hack: group socket input/output roles are inverted internally,
- * need to change the limit value when making actual node sockets from them.
- */
- sock->limit = (gsock->limit==1 ? 0xFFF : 1);
-
- if(lb)
- BLI_addtail(lb, sock);
-
return sock;
}
-static void node_rem_socket(bNodeTree *ntree, ListBase *lb, bNodeSocket *sock)
+void nodeRemoveSocket(bNodeTree *ntree, bNode *node, bNodeSocket *sock)
{
bNodeLink *link, *next;
@@ -203,428 +213,42 @@ static void node_rem_socket(bNodeTree *ntree, ListBase *lb, bNodeSocket *sock)
}
}
- BLI_remlink(lb, sock);
- MEM_freeN(sock);
-}
-
-static bNodeSocket *verify_socket(ListBase *lb, bNodeSocketType *stype)
-{
- bNodeSocket *sock;
-
- for(sock= lb->first; sock; sock= sock->next) {
- if(strncmp(sock->name, stype->name, NODE_MAXSTR)==0)
- break;
- }
- if(sock) {
- sock->type= stype->type; /* in future, read this from tydefs! */
- if(stype->limit==0) sock->limit= 0xFFF;
- else sock->limit= stype->limit;
-
- sock->ns.min= stype->min;
- sock->ns.max= stype->max;
-
- BLI_remlink(lb, sock);
-
- return sock;
- }
- else {
- return node_add_socket_type(NULL, stype);
- }
-}
-
-static bNodeSocket *verify_group_socket(ListBase *lb, bNodeSocket *gsock)
-{
- bNodeSocket *sock;
-
- for(sock= lb->first; sock; sock= sock->next) {
- if(sock->own_index==gsock->own_index)
- break;
- }
- if(sock) {
- sock->groupsock = gsock;
-
- strcpy(sock->name, gsock->name);
- sock->type= gsock->type;
-
- /* XXX hack: group socket input/output roles are inverted internally,
- * need to change the limit value when making actual node sockets from them.
- */
- sock->limit = (gsock->limit==1 ? 0xFFF : 1);
-
- sock->ns.min= gsock->ns.min;
- sock->ns.max= gsock->ns.max;
-
- BLI_remlink(lb, sock);
-
- return sock;
- }
- else {
- return node_add_group_socket(NULL, gsock);
- }
-}
-
-static void verify_socket_list(bNodeTree *ntree, ListBase *lb, bNodeSocketType *stype_first)
-{
- bNodeSocketType *stype;
+ /* this is fast, this way we don't need an in_out argument */
+ BLI_remlink(&node->inputs, sock);
+ BLI_remlink(&node->outputs, sock);
- /* no inputs anymore? */
- if(stype_first==NULL) {
- while(lb->first)
- node_rem_socket(ntree, lb, lb->first);
- }
- else {
- /* step by step compare */
- stype= stype_first;
- while(stype->type != -1) {
- stype->sock= verify_socket(lb, stype);
- stype++;
- }
- /* leftovers are removed */
- while(lb->first)
- node_rem_socket(ntree, lb, lb->first);
- /* and we put back the verified sockets */
- stype= stype_first;
- while(stype->type != -1) {
- BLI_addtail(lb, stype->sock);
- stype++;
- }
- }
-}
-
-static void verify_group_socket_list(bNodeTree *ntree, ListBase *lb, ListBase *glb)
-{
- bNodeSocket *gsock;
-
- /* step by step compare */
- for (gsock= glb->first; gsock; gsock=gsock->next) {
- /* abusing new_sock pointer for verification here! only used inside this function */
- gsock->new_sock= verify_group_socket(lb, gsock);
- }
- /* leftovers are removed */
- while(lb->first)
- node_rem_socket(ntree, lb, lb->first);
- /* and we put back the verified sockets */
- for (gsock= glb->first; gsock; gsock=gsock->next) {
- BLI_addtail(lb, gsock->new_sock);
- gsock->new_sock = NULL;
- }
-}
-
-void nodeVerifyType(bNodeTree *ntree, bNode *node)
-{
- /* node groups don't have static sock lists, but use external sockets from the tree instead */
- if (node->type==NODE_GROUP) {
- bNodeTree *ngroup= (bNodeTree*)node->id;
- if (ngroup) {
- verify_group_socket_list(ntree, &node->inputs, &ngroup->inputs);
- verify_group_socket_list(ntree, &node->outputs, &ngroup->outputs);
- }
- }
- else {
- bNodeType *ntype= node->typeinfo;
- if(ntype) {
- verify_socket_list(ntree, &node->inputs, ntype->inputs);
- verify_socket_list(ntree, &node->outputs, ntype->outputs);
- }
- }
-}
-
-void ntreeVerifyTypes(bNodeTree *ntree)
-{
- bNode *node;
-
- /* if((ntree->init & NTREE_TYPE_INIT)==0) */
- ntreeInitTypes(ntree);
-
- /* check inputs and outputs, and remove or insert them */
- for(node= ntree->nodes.first; node; node= node->next)
- nodeVerifyType(ntree, node);
-
-}
-
-/* ************** Group stuff ********** */
-
-/* XXX group typeinfo struct is used directly in ntreeMakeOwnType, needs cleanup */
-static bNodeType ntype_group;
-
-/* groups display their internal tree name as label */
-static const char *group_label(bNode *node)
-{
- return (node->id)? node->id->name+2: "Missing Datablock";
-}
-
-void register_node_type_group(ListBase *lb)
-{
- node_type_base(&ntype_group, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS, NULL, NULL);
- node_type_size(&ntype_group, 120, 60, 200);
- node_type_label(&ntype_group, group_label);
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
+ MEM_freeN(sock);
- nodeRegisterType(lb, &ntype_group);
-}
-
-static bNodeSocket *find_group_node_input(bNode *gnode, bNodeSocket *gsock)
-{
- bNodeSocket *sock;
- for (sock=gnode->inputs.first; sock; sock=sock->next)
- if (sock->groupsock == gsock)
- return sock;
- return NULL;
+ ntree->update |= NTREE_UPDATE_NODES;
}
-static bNodeSocket *find_group_node_output(bNode *gnode, bNodeSocket *gsock)
+void nodeRemoveAllSockets(bNodeTree *ntree, bNode *node)
{
bNodeSocket *sock;
- for (sock=gnode->outputs.first; sock; sock=sock->next)
- if (sock->groupsock == gsock)
- return sock;
- return NULL;
-}
-
-bNode *nodeMakeGroupFromSelected(bNodeTree *ntree)
-{
- bNodeLink *link, *linkn;
- bNode *node, *gnode, *nextn;
- bNodeTree *ngroup;
- bNodeSocket *gsock;
- ListBase anim_basepaths = {NULL, NULL};
- float min[2], max[2];
- int totnode=0;
-
- INIT_MINMAX2(min, max);
-
- /* is there something to group? also do some clearing */
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->flag & NODE_SELECT) {
- /* no groups in groups */
- if(node->type==NODE_GROUP)
- return NULL;
- DO_MINMAX2( (&node->locx), min, max);
- totnode++;
- }
- node->done= 0;
- }
- if(totnode==0) return NULL;
-
- /* check if all connections are OK, no unselected node has both
- inputs and outputs to a selection */
- for(link= ntree->links.first; link; link= link->next) {
- if(link->fromnode && link->tonode && link->fromnode->flag & NODE_SELECT)
- link->tonode->done |= 1;
- if(link->fromnode && link->tonode && link->tonode->flag & NODE_SELECT)
- link->fromnode->done |= 2;
- }
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if((node->flag & NODE_SELECT)==0)
- if(node->done==3)
- break;
- }
- if(node)
- return NULL;
+ bNodeLink *link, *next;
- /* OK! new nodetree */
- ngroup= ntreeAddTree("NodeGroup", ntree->type, TRUE);
-
- /* move nodes over */
- for(node= ntree->nodes.first; node; node= nextn) {
- nextn= node->next;
- if(node->flag & NODE_SELECT) {
- /* keep track of this node's RNA "base" path (the part of the pat identifying the node)
- * if the old nodetree has animation data which potentially covers this node
- */
- if (ntree->adt) {
- PointerRNA ptr;
- char *path;
-
- RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr);
- path = RNA_path_from_ID_to_struct(&ptr);
-
- if (path)
- BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
- }
-
- /* change node-collection membership */
- BLI_remlink(&ntree->nodes, node);
- BLI_addtail(&ngroup->nodes, node);
-
- node->locx-= 0.5f*(min[0]+max[0]);
- node->locy-= 0.5f*(min[1]+max[1]);
- }
- }
-
- /* move animation data over */
- if (ntree->adt) {
- LinkData *ld, *ldn=NULL;
-
- BKE_animdata_separate_by_basepath(&ntree->id, &ngroup->id, &anim_basepaths);
-
- /* paths + their wrappers need to be freed */
- for (ld = anim_basepaths.first; ld; ld = ldn) {
- ldn = ld->next;
-
- MEM_freeN(ld->data);
- BLI_freelinkN(&anim_basepaths, ld);
+ for(link= ntree->links.first; link; link= next) {
+ next= link->next;
+ if(link->fromnode==node || link->tonode==node) {
+ nodeRemLink(ntree, link);
}
}
- /* make group node */
- gnode= nodeAddNodeType(ntree, NODE_GROUP, ngroup, NULL);
- gnode->locx= 0.5f*(min[0]+max[0]);
- gnode->locy= 0.5f*(min[1]+max[1]);
+ for (sock=node->inputs.first; sock; sock=sock->next)
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
+ BLI_freelistN(&node->inputs);
+ for (sock=node->outputs.first; sock; sock=sock->next)
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
- /* relink external sockets */
- for(link= ntree->links.first; link; link= linkn) {
- linkn= link->next;
-
- if(link->fromnode && link->tonode && (link->fromnode->flag & link->tonode->flag & NODE_SELECT)) {
- BLI_remlink(&ntree->links, link);
- BLI_addtail(&ngroup->links, link);
- }
- else if(link->tonode && (link->tonode->flag & NODE_SELECT)) {
- gsock = nodeGroupExposeSocket(ngroup, link->tosock, SOCK_IN);
- link->tosock->link = nodeAddLink(ngroup, NULL, gsock, link->tonode, link->tosock);
- link->tosock = node_add_group_socket(&gnode->inputs, gsock);
- link->tonode = gnode;
- }
- else if(link->fromnode && (link->fromnode->flag & NODE_SELECT)) {
- /* search for existing group node socket */
- for (gsock=ngroup->outputs.first; gsock; gsock=gsock->next)
- if (gsock->link && gsock->link->fromsock==link->fromsock)
- break;
- if (!gsock) {
- gsock = nodeGroupExposeSocket(ngroup, link->fromsock, SOCK_OUT);
- gsock->link = nodeAddLink(ngroup, link->fromnode, link->fromsock, NULL, gsock);
- link->fromsock = node_add_group_socket(&gnode->outputs, gsock);
- }
- else
- link->fromsock = find_group_node_output(gnode, gsock);
- link->fromnode = gnode;
- }
- }
-
- /* update node levels */
- ntreeSolveOrder(ntree);
-
- return gnode;
-}
-
-/* here's a nasty little one, need to check users... */
-/* should become callbackable... */
-void nodeGroupVerify(bNodeTree *ngroup)
-{
- /* group changed, so we rebuild the type definition */
-// ntreeMakeGroupSockets(ngroup);
+ BLI_freelistN(&node->outputs);
- if(ngroup->type==NTREE_SHADER) {
- Material *ma;
- for(ma= G.main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree) {
- bNode *node;
- for(node= ma->nodetree->nodes.first; node; node= node->next)
- if(node->id == (ID *)ngroup)
- nodeVerifyType(ma->nodetree, node);
- }
- }
- }
- else if(ngroup->type==NTREE_COMPOSIT) {
- Scene *sce;
- for(sce= G.main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree) {
- bNode *node;
- for(node= sce->nodetree->nodes.first; node; node= node->next)
- if(node->id == (ID *)ngroup)
- nodeVerifyType(sce->nodetree, node);
- }
- }
- }
- else if(ngroup->type==NTREE_TEXTURE) {
- Tex *tx;
- for(tx= G.main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree) {
- bNode *node;
- for(node= tx->nodetree->nodes.first; node; node= node->next)
- if(node->id == (ID *)ngroup)
- nodeVerifyType(tx->nodetree, node);
- }
- }
- }
+ ntree->update |= NTREE_UPDATE_NODES;
}
-/* also to check all users of groups. Now only used in editor for hide/unhide */
-/* should become callbackable? */
-void nodeGroupSocketUseFlags(bNodeTree *ngroup)
-{
- bNode *node;
- bNodeSocket *sock;
-
- /* clear flags */
- for(node= ngroup->nodes.first; node; node= node->next) {
- for(sock= node->inputs.first; sock; sock= sock->next)
- sock->flag &= ~SOCK_IN_USE;
- for(sock= node->outputs.first; sock; sock= sock->next)
- sock->flag &= ~SOCK_IN_USE;
- }
-
- /* tag all thats in use */
- if(ngroup->type==NTREE_SHADER) {
- Material *ma;
- for(ma= G.main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree) {
- for(node= ma->nodetree->nodes.first; node; node= node->next) {
- if(node->id==&ngroup->id) {
- for(sock= node->inputs.first; sock; sock= sock->next)
- if(sock->link)
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- for(sock= node->outputs.first; sock; sock= sock->next)
- if(nodeCountSocketLinks(ma->nodetree, sock))
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- }
- }
- }
- }
- }
- else if(ngroup->type==NTREE_COMPOSIT) {
- Scene *sce;
- for(sce= G.main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree) {
- for(node= sce->nodetree->nodes.first; node; node= node->next) {
- if(node->id==(ID *)ngroup) {
- for(sock= node->inputs.first; sock; sock= sock->next)
- if(sock->link)
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- for(sock= node->outputs.first; sock; sock= sock->next)
- if(nodeCountSocketLinks(sce->nodetree, sock))
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- }
- }
- }
- }
- }
- else if(ngroup->type==NTREE_TEXTURE) {
- Tex *tx;
- for(tx= G.main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree) {
- for(node= tx->nodetree->nodes.first; node; node= node->next) {
- if(node->id==(ID *)ngroup) {
- for(sock= node->inputs.first; sock; sock= sock->next)
- if(sock->link)
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- for(sock= node->outputs.first; sock; sock= sock->next)
- if(nodeCountSocketLinks(tx->nodetree, sock))
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- }
- }
- }
- }
- }
-
-}
/* finds a node based on its name */
bNode *nodeFindNodebyName(bNodeTree *ntree, const char *name)
{
@@ -667,272 +291,26 @@ int nodeFindNode(bNodeTree *ntree, bNodeSocket *sock, bNode **nodep, int *sockin
return 0;
}
-/* returns 1 if its OK */
-int nodeGroupUnGroup(bNodeTree *ntree, bNode *gnode)
-{
- bNodeLink *link, *linkn;
- bNode *node, *nextn;
- bNodeTree *ngroup, *wgroup;
- ListBase anim_basepaths = {NULL, NULL};
-
- ngroup= (bNodeTree *)gnode->id;
- if(ngroup==NULL) return 0;
-
- /* clear new pointers, set in copytree */
- for(node= ntree->nodes.first; node; node= node->next)
- node->new_node= NULL;
-
- /* wgroup is a temporary copy of the NodeTree we're merging in
- * - all of wgroup's nodes are transferred across to their new home
- * - ngroup (i.e. the source NodeTree) is left unscathed
- */
- wgroup= ntreeCopyTree(ngroup);
-
- /* add the nodes into the ntree */
- for(node= wgroup->nodes.first; node; node= nextn) {
- nextn= node->next;
-
- /* keep track of this node's RNA "base" path (the part of the pat identifying the node)
- * if the old nodetree has animation data which potentially covers this node
- */
- if (wgroup->adt) {
- PointerRNA ptr;
- char *path;
-
- RNA_pointer_create(&wgroup->id, &RNA_Node, node, &ptr);
- path = RNA_path_from_ID_to_struct(&ptr);
-
- if (path)
- BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
- }
-
- /* migrate node */
- BLI_remlink(&wgroup->nodes, node);
- BLI_addtail(&ntree->nodes, node);
-
- node->locx+= gnode->locx;
- node->locy+= gnode->locy;
-
- node->flag |= NODE_SELECT;
- }
-
- /* restore external links to and from the gnode */
- for(link= ntree->links.first; link; link= link->next) {
- if (link->fromnode==gnode) {
- if (link->fromsock->groupsock) {
- bNodeSocket *gsock= link->fromsock->groupsock;
- if (gsock->link) {
- if (gsock->link->fromnode) {
- /* NB: using the new internal copies here! the groupsock pointer still maps to the old tree */
- link->fromnode = (gsock->link->fromnode ? gsock->link->fromnode->new_node : NULL);
- link->fromsock = gsock->link->fromsock->new_sock;
- }
- else {
- /* group output directly maps to group input */
- bNodeSocket *insock= find_group_node_input(gnode, gsock->link->fromsock);
- if (insock->link) {
- link->fromnode = insock->link->fromnode;
- link->fromsock = insock->link->fromsock;
- }
- }
- }
- else {
- /* constant group output: copy the stack value to the external socket.
- * the link is kept here until all possible external users have been fixed.
- */
- QUATCOPY(link->tosock->ns.vec, gsock->ns.vec);
- }
- }
- }
- }
- /* remove internal output links, these are not used anymore */
- for(link=wgroup->links.first; link; link= linkn) {
- linkn = link->next;
- if (!link->tonode)
- nodeRemLink(wgroup, link);
- }
- /* restore links from internal nodes */
- for(link= wgroup->links.first; link; link= link->next) {
- /* indicates link to group input */
- if (!link->fromnode) {
- /* NB: can't use find_group_node_input here,
- * because gnode sockets still point to the old tree!
- */
- bNodeSocket *insock;
- for (insock= gnode->inputs.first; insock; insock= insock->next)
- if (insock->groupsock->new_sock == link->fromsock)
- break;
- if (insock->link) {
- link->fromnode = insock->link->fromnode;
- link->fromsock = insock->link->fromsock;
- }
- else {
- /* uses group constant input. copy the input value and remove the dead link. */
- QUATCOPY(link->tosock->ns.vec, insock->ns.vec);
- nodeRemLink(wgroup, link);
- }
- }
- }
-
- /* add internal links to the ntree */
- for(link= wgroup->links.first; link; link= linkn) {
- linkn= link->next;
- BLI_remlink(&wgroup->links, link);
- BLI_addtail(&ntree->links, link);
- }
-
- /* and copy across the animation */
- if (wgroup->adt) {
- LinkData *ld, *ldn=NULL;
- bAction *waction;
-
- /* firstly, wgroup needs to temporary dummy action that can be destroyed, as it shares copies */
- waction = wgroup->adt->action = copy_action(wgroup->adt->action);
-
- /* now perform the moving */
- BKE_animdata_separate_by_basepath(&wgroup->id, &ntree->id, &anim_basepaths);
-
- /* paths + their wrappers need to be freed */
- for (ld = anim_basepaths.first; ld; ld = ldn) {
- ldn = ld->next;
-
- MEM_freeN(ld->data);
- BLI_freelinkN(&anim_basepaths, ld);
- }
-
- /* free temp action too */
- free_libblock(&G.main->action, waction);
- }
-
- /* delete the group instance. this also removes old input links! */
- nodeFreeNode(ntree, gnode);
-
- /* free the group tree (takes care of user count) */
- free_libblock(&G.main->nodetree, wgroup);
-
- /* solve order goes fine, but the level tags not... doing it twice works for now. solve this once */
- /* XXX is this still necessary with new groups? it may have been caused by non-updated sock->link pointers. lukas */
- ntreeSolveOrder(ntree);
- ntreeSolveOrder(ntree);
-
- return 1;
-}
-
-void nodeGroupCopy(bNode *gnode)
+/* ************** Add stuff ********** */
+static void node_add_sockets_from_type(bNodeTree *ntree, bNode *node, bNodeType *ntype)
{
+ bNodeSocketTemplate *sockdef;
bNodeSocket *sock;
- gnode->id->us--;
- gnode->id= (ID *)ntreeCopyTree((bNodeTree *)gnode->id);
-
- /* new_sock was set in nodeCopyNode */
- for(sock=gnode->inputs.first; sock; sock=sock->next)
- if(sock->groupsock)
- sock->groupsock= sock->groupsock->new_sock;
-
- for(sock=gnode->outputs.first; sock; sock=sock->next)
- if(sock->groupsock)
- sock->groupsock= sock->groupsock->new_sock;
-}
-
-bNodeSocket *nodeGroupAddSocket(bNodeTree *ngroup, const char *name, int type, int in_out)
-{
- bNodeSocket *gsock = MEM_callocN(sizeof(bNodeSocket), "bNodeSocket");
-
- strncpy(gsock->name, name, sizeof(gsock->name));
- gsock->type = type;
- gsock->ns.sockettype = type;
- gsock->ns.min = INT_MIN;
- gsock->ns.max = INT_MAX;
- zero_v4(gsock->ns.vec);
- gsock->ns.data = NULL;
- gsock->flag = 0;
-
- gsock->next = gsock->prev = NULL;
- gsock->new_sock = NULL;
- gsock->link = NULL;
- gsock->ns.data = NULL;
- /* assign new unique index */
- gsock->own_index = ngroup->cur_index++;
- gsock->limit = (in_out==SOCK_IN ? 0xFFF : 1);
-
- BLI_addtail(in_out==SOCK_IN ? &ngroup->inputs : &ngroup->outputs, gsock);
-
- return gsock;
-}
-
-bNodeSocket *nodeGroupExposeSocket(bNodeTree *ngroup, bNodeSocket *sock, int in_out)
-{
- bNodeSocket *gsock= nodeGroupAddSocket(ngroup, sock->name, sock->type, in_out);
- /* initialize the default socket value */
- QUATCOPY(gsock->ns.vec, sock->ns.vec);
- return gsock;
-}
-
-void nodeGroupExposeAllSockets(bNodeTree *ngroup)
-{
- bNode *node;
- bNodeSocket *sock, *gsock;
-
- for (node=ngroup->nodes.first; node; node=node->next) {
- for (sock=node->inputs.first; sock; sock=sock->next) {
- if (!sock->link && !(sock->flag & SOCK_HIDDEN)) {
- gsock = nodeGroupAddSocket(ngroup, sock->name, sock->type, SOCK_IN);
- /* initialize the default socket value */
- QUATCOPY(gsock->ns.vec, sock->ns.vec);
- sock->link = nodeAddLink(ngroup, NULL, gsock, node, sock);
- }
- }
- for (sock=node->outputs.first; sock; sock=sock->next) {
- if (nodeCountSocketLinks(ngroup, sock)==0 && !(sock->flag & SOCK_HIDDEN)) {
- gsock = nodeGroupAddSocket(ngroup, sock->name, sock->type, SOCK_OUT);
- /* initialize the default socket value */
- QUATCOPY(gsock->ns.vec, sock->ns.vec);
- gsock->link = nodeAddLink(ngroup, node, sock, NULL, gsock);
- }
- }
- }
-}
-
-void nodeGroupRemoveSocket(bNodeTree *ngroup, bNodeSocket *gsock, int in_out)
-{
- nodeRemSocketLinks(ngroup, gsock);
- switch (in_out) {
- case SOCK_IN: BLI_remlink(&ngroup->inputs, gsock); break;
- case SOCK_OUT: BLI_remlink(&ngroup->outputs, gsock); break;
- }
- MEM_freeN(gsock);
-}
-
-/* ************** Add stuff ********** */
-void nodeAddSockets(bNode *node, bNodeType *ntype)
-{
- if (node->type==NODE_GROUP) {
- bNodeTree *ntree= (bNodeTree*)node->id;
- if (ntree) {
- bNodeSocket *gsock;
- for (gsock=ntree->inputs.first; gsock; gsock=gsock->next)
- node_add_group_socket(&node->inputs, gsock);
- for (gsock=ntree->outputs.first; gsock; gsock=gsock->next)
- node_add_group_socket(&node->outputs, gsock);
+ if(ntype->inputs) {
+ sockdef= ntype->inputs;
+ while(sockdef->type != -1) {
+ sock = node_add_input_from_template(ntree, node, sockdef);
+
+ sockdef++;
}
}
- else {
- bNodeSocketType *stype;
-
- if(ntype->inputs) {
- stype= ntype->inputs;
- while(stype->type != -1) {
- node_add_socket_type(&node->inputs, stype);
- stype++;
- }
- }
- if(ntype->outputs) {
- stype= ntype->outputs;
- while(stype->type != -1) {
- node_add_socket_type(&node->outputs, stype);
- stype++;
- }
+ if(ntype->outputs) {
+ sockdef= ntype->outputs;
+ while(sockdef->type != -1) {
+ sock = node_add_output_from_template(ntree, node, sockdef);
+
+ sockdef++;
}
}
}
@@ -943,65 +321,40 @@ void nodeUniqueName(bNodeTree *ntree, bNode *node)
BLI_uniquename(&ntree->nodes, node, "Node", '.', offsetof(bNode, name), sizeof(node->name));
}
-bNode *nodeAddNodeType(bNodeTree *ntree, int type, bNodeTree *ngroup, ID *id)
+bNode *nodeAddNode(bNodeTree *ntree, struct bNodeTemplate *ntemp)
{
- bNode *node= NULL;
- bNodeType *ntype= NULL;
-
- if (ngroup && BLI_findindex(&G.main->nodetree, ngroup)==-1) {
- printf("nodeAddNodeType() error: '%s' not in main->nodetree\n", ngroup->id.name);
- return NULL;
- }
-
- if(type>=NODE_DYNAMIC_MENU) {
- int a=0, idx= type-NODE_DYNAMIC_MENU;
- ntype= ntree->alltypes.first;
- while(ntype) {
- if(ntype->type==NODE_DYNAMIC) {
- if(a==idx)
- break;
- a++;
- }
- ntype= ntype->next;
- }
- } else
- ntype= node_get_type(ntree, type, id);
-
+ bNode *node;
+ bNodeType *ntype;
+
+ ntype= node_get_type(ntree, ntemp->type);
if(ntype == NULL) {
- printf("nodeAddNodeType() error: '%d' type invalid\n", type);
+ printf("nodeAddNodeType() error: '%d' type invalid\n", ntemp->type);
return NULL;
}
-
- node= MEM_callocN(sizeof(bNode), "new node");
- BLI_addtail(&ntree->nodes, node);
- node->typeinfo= ntype;
- if(type>=NODE_DYNAMIC_MENU)
- node->custom2= type; /* for node_dynamic_init */
-
- if(ngroup)
- BLI_strncpy(node->name, ngroup->id.name+2, NODE_MAXSTR);
- else if(type>NODE_DYNAMIC_MENU) {
- BLI_strncpy(node->name, ntype->id->name+2, NODE_MAXSTR);
- }
- else
- BLI_strncpy(node->name, ntype->name, NODE_MAXSTR);
-
- nodeUniqueName(ntree, node);
+ /* validity check */
+ if (!nodeValid(ntree, ntemp))
+ return NULL;
+ node= MEM_callocN(sizeof(bNode), "new node");
node->type= ntype->type;
+ node->typeinfo= ntype;
node->flag= NODE_SELECT|ntype->flag;
node->width= ntype->width;
- node->miniwidth= 42.0f; /* small value only, allows print of first chars */
-
- if(type==NODE_GROUP)
- node->id= (ID *)ngroup;
-
- /* need init handler later? */
- /* got it-bob*/
+ node->miniwidth= 42.0f;
+ node->height= ntype->height;
+
+ node_add_sockets_from_type(ntree, node, ntype);
+
if(ntype->initfunc!=NULL)
- ntype->initfunc(node);
+ ntype->initfunc(ntree, node, ntemp);
+
+ /* initialize the node name with the node label */
+ BLI_strncpy(node->name, nodeLabel(node), NODE_MAXSTR);
+ nodeUniqueName(ntree, node);
+
+ BLI_addtail(&ntree->nodes, node);
- nodeAddSockets(node, ntype);
+ ntree->update |= NTREE_UPDATE_NODES;
return node;
}
@@ -1009,9 +362,9 @@ bNode *nodeAddNodeType(bNodeTree *ntree, int type, bNodeTree *ngroup, ID *id)
void nodeMakeDynamicType(bNode *node)
{
/* find SH_DYNAMIC_NODE ntype */
- bNodeType *ntype= node_all_shaders.first;
+ bNodeType *ntype= ntreeGetType(NTREE_SHADER)->node_types.first;
while(ntype) {
- if(ntype->type==NODE_DYNAMIC && ntype->id==NULL)
+ if(ntype->type==NODE_DYNAMIC)
break;
ntype= ntype->next;
}
@@ -1021,17 +374,11 @@ void nodeMakeDynamicType(bNode *node)
/*node->typeinfo= MEM_dupallocN(ntype);*/
bNodeType *newtype= MEM_callocN(sizeof(bNodeType), "dynamic bNodeType");
*newtype= *ntype;
- newtype->name= BLI_strdup(ntype->name);
+ strcpy(newtype->name, ntype->name);
node->typeinfo= newtype;
}
}
-void nodeUpdateType(bNodeTree *ntree, bNode* node, bNodeType *ntype)
-{
- verify_socket_list(ntree, &node->inputs, ntype->inputs);
- verify_socket_list(ntree, &node->outputs, ntype->outputs);
-}
-
/* keep socket listorder identical, for copying links */
/* ntree is the target tree */
bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node)
@@ -1043,19 +390,23 @@ bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node)
nodeUniqueName(ntree, nnode);
BLI_addtail(&ntree->nodes, nnode);
-
+
BLI_duplicatelist(&nnode->inputs, &node->inputs);
oldsock= node->inputs.first;
for(sock= nnode->inputs.first; sock; sock= sock->next, oldsock= oldsock->next) {
oldsock->new_sock= sock;
+ sock->stack_index= 0;
+
+ sock->default_value = (oldsock->default_value ? MEM_dupallocN(oldsock->default_value) : NULL);
}
BLI_duplicatelist(&nnode->outputs, &node->outputs);
oldsock= node->outputs.first;
for(sock= nnode->outputs.first; sock; sock= sock->next, oldsock= oldsock->next) {
- sock->stack_index= 0;
- sock->ns.data= NULL;
oldsock->new_sock= sock;
+ sock->stack_index= 0;
+
+ sock->default_value = (oldsock->default_value ? MEM_dupallocN(oldsock->default_value) : NULL);
}
/* don't increase node->id users, freenode doesn't decrement either */
@@ -1067,10 +418,11 @@ bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node)
nnode->new_node= NULL;
nnode->preview= NULL;
+ ntree->update |= NTREE_UPDATE_NODES;
+
return nnode;
}
-/* fromsock and tosock can be NULL */
/* also used via rna api, so we check for proper input output direction */
bNodeLink *nodeAddLink(bNodeTree *ntree, bNode *fromnode, bNodeSocket *fromsock, bNode *tonode, bNodeSocket *tosock)
{
@@ -1093,6 +445,21 @@ bNodeLink *nodeAddLink(bNodeTree *ntree, bNode *fromnode, bNodeSocket *fromsock,
from= -1; /* OK but flip */
}
}
+ else {
+ /* check tree sockets */
+ for(sock= ntree->inputs.first; sock; sock= sock->next)
+ if(sock==fromsock)
+ break;
+ if(sock)
+ from= 1; /* OK */
+ else {
+ for(sock= ntree->outputs.first; sock; sock= sock->next)
+ if(sock==fromsock)
+ break;
+ if(sock)
+ from= -1; /* OK but flip */
+ }
+ }
if(tonode) {
for(sock= tonode->inputs.first; sock; sock= sock->next)
if(sock==tosock)
@@ -1107,8 +474,22 @@ bNodeLink *nodeAddLink(bNodeTree *ntree, bNode *fromnode, bNodeSocket *fromsock,
to= -1; /* OK but flip */
}
}
+ else {
+ /* check tree sockets */
+ for(sock= ntree->outputs.first; sock; sock= sock->next)
+ if(sock==tosock)
+ break;
+ if(sock)
+ to= 1; /* OK */
+ else {
+ for(sock= ntree->inputs.first; sock; sock= sock->next)
+ if(sock==tosock)
+ break;
+ if(sock)
+ to= -1; /* OK but flip */
+ }
+ }
- /* this allows NULL sockets to work */
if(from >= 0 && to >= 0) {
link= MEM_callocN(sizeof(bNodeLink), "link");
BLI_addtail(&ntree->links, link);
@@ -1126,6 +507,8 @@ bNodeLink *nodeAddLink(bNodeTree *ntree, bNode *fromnode, bNodeSocket *fromsock,
link->tosock= fromsock;
}
+ ntree->update |= NTREE_UPDATE_LINKS;
+
return link;
}
@@ -1135,6 +518,8 @@ void nodeRemLink(bNodeTree *ntree, bNodeLink *link)
if(link->tosock)
link->tosock->link= NULL;
MEM_freeN(link);
+
+ ntree->update |= NTREE_UPDATE_LINKS;
}
void nodeRemSocketLinks(bNodeTree *ntree, bNodeSocket *sock)
@@ -1147,26 +532,73 @@ void nodeRemSocketLinks(bNodeTree *ntree, bNodeSocket *sock)
nodeRemLink(ntree, link);
}
}
+
+ ntree->update |= NTREE_UPDATE_LINKS;
}
+/* transforms node location to area coords */
+void nodeSpaceCoords(bNode *node, float *locx, float *locy)
+{
+ if (node->parent) {
+ nodeSpaceCoords(node->parent, locx, locy);
+ *locx += node->locx;
+ *locy += node->locy;
+ }
+ else {
+ *locx = node->locx;
+ *locy = node->locy;
+ }
+}
-bNodeTree *ntreeAddTree(const char *name, int type, const short is_group)
+void nodeAttachNode(bNode *node, bNode *parent)
{
- bNodeTree *ntree;
+ float parentx, parenty;
+
+ node->parent = parent;
+ /* transform to parent space */
+ nodeSpaceCoords(parent, &parentx, &parenty);
+ node->locx -= parentx;
+ node->locy -= parenty;
+}
- if (is_group)
- ntree= alloc_libblock(&G.main->nodetree, ID_NT, name);
- else {
+void nodeDetachNode(struct bNode *node)
+{
+ float parentx, parenty;
+
+ if (node->parent) {
+ /* transform to "global" (area) space */
+ nodeSpaceCoords(node->parent, &parentx, &parenty);
+ node->locx += parentx;
+ node->locy += parenty;
+ node->parent = NULL;
+ }
+}
+
+bNodeTree *ntreeAddTree(const char *name, int type, int nodetype)
+{
+ bNodeTree *ntree;
+ bNodeType *ntype;
+
+ /* trees are created as local trees if they of compositor, material or texture type,
+ * node groups and other tree types are created as library data.
+ */
+ if (ELEM3(type, NTREE_COMPOSIT, NTREE_SHADER, NTREE_TEXTURE) && nodetype==0) {
ntree= MEM_callocN(sizeof(bNodeTree), "new node tree");
*( (short *)ntree->id.name )= ID_NT; /* not "type", as that is ntree->type */
BLI_strncpy(ntree->id.name+2, name, sizeof(ntree->id.name));
}
-
+ else
+ ntree= alloc_libblock(&G.main->nodetree, ID_NT, name);
+
ntree->type= type;
- ntree->alltypes.first = NULL;
- ntree->alltypes.last = NULL;
-
+ ntree->nodetype = nodetype;
+
ntreeInitTypes(ntree);
+
+ ntype = node_get_type(ntree, ntree->nodetype);
+ if (ntype && ntype->inittreefunc)
+ ntype->inittreefunc(ntree);
+
return ntree;
}
@@ -1197,9 +629,7 @@ bNodeTree *ntreeCopyTree(bNodeTree *ntree)
id_us_plus((ID *)newtree->gpd);
/* in case a running nodetree is copied */
- newtree->init &= ~(NTREE_EXEC_INIT);
- newtree->threadstack= NULL;
- newtree->stack= NULL;
+ newtree->execdata= NULL;
newtree->nodes.first= newtree->nodes.last= NULL;
newtree->links.first= newtree->links.last= NULL;
@@ -1208,7 +638,10 @@ bNodeTree *ntreeCopyTree(bNodeTree *ntree)
for(node= ntree->nodes.first; node; node= node->next) {
node->new_node= NULL;
nnode= nodeCopyNode(newtree, node); /* sets node->new */
- if(node==last) break;
+
+ /* make sure we don't copy new nodes again! */
+ if (node==last)
+ break;
}
/* socket definition for group usage */
@@ -1216,14 +649,15 @@ bNodeTree *ntreeCopyTree(bNodeTree *ntree)
for(gsock= newtree->inputs.first, oldgsock= ntree->inputs.first; gsock; gsock=gsock->next, oldgsock=oldgsock->next) {
oldgsock->new_sock= gsock;
gsock->groupsock = (oldgsock->groupsock ? oldgsock->groupsock->new_sock : NULL);
+ gsock->default_value = (oldgsock->default_value ? MEM_dupallocN(oldgsock->default_value) : NULL);
}
-
BLI_duplicatelist(&newtree->outputs, &ntree->outputs);
for(gsock= newtree->outputs.first, oldgsock= ntree->outputs.first; gsock; gsock=gsock->next, oldgsock=oldgsock->next) {
oldgsock->new_sock= gsock;
gsock->groupsock = (oldgsock->groupsock ? oldgsock->groupsock->new_sock : NULL);
+ gsock->default_value = (oldgsock->default_value ? MEM_dupallocN(oldgsock->default_value) : NULL);
}
-
+
/* copy links */
BLI_duplicatelist(&newtree->links, &ntree->links);
for(link= newtree->links.first; link; link= link->next) {
@@ -1235,7 +669,13 @@ bNodeTree *ntreeCopyTree(bNodeTree *ntree)
if (link->tosock)
link->tosock->link = link;
}
-
+
+ /* update node->parent pointers */
+ for (node=newtree->nodes.first; node; node=node->next) {
+ if (node->parent)
+ node->parent = node->parent->new_node;
+ }
+
return newtree;
}
@@ -1254,7 +694,7 @@ void ntreeSwitchID(bNodeTree *ntree, ID *id_from, ID *id_to)
/* *************** preview *********** */
/* if node->preview, then we assume the rect to exist */
-static void node_free_preview(bNode *node)
+void nodeFreePreview(bNode *node)
{
if(node->preview) {
if(node->preview->rect)
@@ -1358,7 +798,6 @@ void nodeAddToPreview(bNode *node, float *col, int x, int y, int do_manage)
}
}
-
/* ************** Free stuff ********** */
/* goes over entire tree */
@@ -1393,50 +832,84 @@ void nodeUnlinkNode(bNodeTree *ntree, bNode *node)
}
}
-static void composit_free_node_cache(bNode *node)
+static void node_unlink_attached(bNodeTree *ntree, bNode *parent)
{
- bNodeSocket *sock;
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if(sock->ns.data) {
- free_compbuf(sock->ns.data);
- sock->ns.data= NULL;
- }
+ bNode *node;
+ for (node=ntree->nodes.first; node; node=node->next) {
+ if (node->parent == parent)
+ nodeDetachNode(node);
}
}
void nodeFreeNode(bNodeTree *ntree, bNode *node)
{
+ bNodeTreeType *treetype= ntreeGetType(ntree->type);
+ bNodeSocket *sock, *nextsock;
+
+ /* remove all references to this node */
nodeUnlinkNode(ntree, node);
+ node_unlink_attached(ntree, node);
+
BLI_remlink(&ntree->nodes, node);
/* since it is called while free database, node->id is undefined */
- if(ntree->type==NTREE_COMPOSIT)
- composit_free_node_cache(node);
- BLI_freelistN(&node->inputs);
- BLI_freelistN(&node->outputs);
+ if (treetype->free_node_cache)
+ treetype->free_node_cache(ntree, node);
- node_free_preview(node);
+ for (sock=node->inputs.first; sock; sock = nextsock) {
+ nextsock = sock->next;
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
+ MEM_freeN(sock);
+ }
+ for (sock=node->outputs.first; sock; sock = nextsock) {
+ nextsock = sock->next;
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
+ MEM_freeN(sock);
+ }
+
+ nodeFreePreview(node);
if(node->typeinfo && node->typeinfo->freestoragefunc) {
node->typeinfo->freestoragefunc(node);
}
MEM_freeN(node);
+
+ ntree->update |= NTREE_UPDATE_NODES;
}
/* do not free ntree itself here, free_libblock calls this function too */
void ntreeFreeTree(bNodeTree *ntree)
{
bNode *node, *next;
+ bNodeSocket *sock;
if(ntree==NULL) return;
- ntreeEndExecTree(ntree); /* checks for if it is still initialized */
+ /* XXX hack! node trees should not store execution graphs at all.
+ * This should be removed when old tree types no longer require it.
+ * Currently the execution data for texture nodes remains in the tree
+ * after execution, until the node tree is updated or freed.
+ */
+ if (ntree->execdata) {
+ switch (ntree->type) {
+ case NTREE_COMPOSIT:
+ ntreeCompositEndExecTree(ntree->execdata, 1);
+ break;
+ case NTREE_SHADER:
+ ntreeShaderEndExecTree(ntree->execdata, 1);
+ break;
+ case NTREE_TEXTURE:
+ ntreeTexEndExecTree(ntree->execdata, 1);
+ break;
+ }
+ }
BKE_free_animdata((ID *)ntree);
-
+
id_us_min((ID *)ntree->gpd);
BLI_freelistN(&ntree->links); /* do first, then unlink_node goes fast */
@@ -1446,25 +919,120 @@ void ntreeFreeTree(bNodeTree *ntree)
nodeFreeNode(ntree, node);
}
+ for (sock=ntree->inputs.first; sock; sock=sock->next)
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
BLI_freelistN(&ntree->inputs);
+ for (sock=ntree->outputs.first; sock; sock=sock->next)
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
BLI_freelistN(&ntree->outputs);
}
void ntreeFreeCache(bNodeTree *ntree)
{
- bNode *node;
+ bNodeTreeType *treetype;
if(ntree==NULL) return;
+
+ treetype= ntreeGetType(ntree->type);
+ if (treetype->free_cache)
+ treetype->free_cache(ntree);
+}
- if(ntree->type==NTREE_COMPOSIT)
- for(node= ntree->nodes.first; node; node= node->next)
- composit_free_node_cache(node);
+void ntreeSetOutput(bNodeTree *ntree)
+{
+ bNode *node;
+
+ /* find the active outputs, might become tree type dependant handler */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
+ bNode *tnode;
+ int output= 0;
+
+ /* we need a check for which output node should be tagged like this, below an exception */
+ if(node->type==CMP_NODE_OUTPUT_FILE)
+ continue;
+
+ /* there is more types having output class, each one is checked */
+ for(tnode= ntree->nodes.first; tnode; tnode= tnode->next) {
+ if(tnode->typeinfo->nclass==NODE_CLASS_OUTPUT) {
+
+ if(ntree->type==NTREE_COMPOSIT) {
+
+ /* same type, exception for viewer */
+ if(tnode->type==node->type ||
+ (ELEM(tnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER) &&
+ ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER))) {
+ if(tnode->flag & NODE_DO_OUTPUT) {
+ output++;
+ if(output>1)
+ tnode->flag &= ~NODE_DO_OUTPUT;
+ }
+ }
+ }
+ else {
+ /* same type */
+ if(tnode->type==node->type) {
+ if(tnode->flag & NODE_DO_OUTPUT) {
+ output++;
+ if(output>1)
+ tnode->flag &= ~NODE_DO_OUTPUT;
+ }
+ }
+ }
+ }
+ }
+ if(output==0)
+ node->flag |= NODE_DO_OUTPUT;
+ }
+ }
+
+ /* here we could recursively set which nodes have to be done,
+ might be different for editor or for "real" use... */
+}
+
+typedef struct MakeLocalCallData {
+ ID *group_id;
+ ID *new_id;
+ int lib, local;
+} MakeLocalCallData;
+
+static void ntreeMakeLocal_CheckLocal(void *calldata, ID *owner_id, bNodeTree *ntree)
+{
+ MakeLocalCallData *cd= (MakeLocalCallData*)calldata;
+ bNode *node;
+
+ /* find if group is in tree */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->id == cd->group_id) {
+ if(owner_id->lib) cd->lib= 1;
+ else cd->local= 1;
+ }
+ }
+}
+static void ntreeMakeLocal_LinkNew(void *calldata, ID *owner_id, bNodeTree *ntree)
+{
+ MakeLocalCallData *cd= (MakeLocalCallData*)calldata;
+ bNode *node;
+
+ /* find if group is in tree */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->id == cd->group_id) {
+ if(owner_id->lib==NULL) {
+ node->id= cd->new_id;
+ cd->new_id->us++;
+ cd->group_id->us--;
+ }
+ }
+ }
}
void ntreeMakeLocal(bNodeTree *ntree)
{
- int local=0, lib=0;
+ bNodeTreeType *treetype= ntreeGetType(ntree->type);
+ MakeLocalCallData cd;
/* - only lib users: do nothing
* - only local users: set flag
@@ -1473,138 +1041,146 @@ void ntreeMakeLocal(bNodeTree *ntree)
if(ntree->id.lib==NULL) return;
if(ntree->id.us==1) {
- ntree->id.lib= NULL;
+ ntree->id.lib= 0;
ntree->id.flag= LIB_LOCAL;
- new_id(NULL, (ID *)ntree, NULL);
+ new_id(0, (ID *)ntree, 0);
return;
}
/* now check users of groups... again typedepending, callback... */
- if(ntree->type==NTREE_SHADER) {
- Material *ma;
- for(ma= G.main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= ma->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(ma->id.lib) lib= 1;
- else local= 1;
- }
- }
- }
- }
- }
- else if(ntree->type==NTREE_COMPOSIT) {
- Scene *sce;
- for(sce= G.main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= sce->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(sce->id.lib) lib= 1;
- else local= 1;
- }
- }
- }
- }
- }
- else if(ntree->type==NTREE_TEXTURE) {
- Tex *tx;
- for(tx= G.main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= tx->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(tx->id.lib) lib= 1;
- else local= 1;
- }
- }
- }
- }
- }
+ cd.group_id = &ntree->id;
+ cd.new_id = NULL;
+ cd.local = 0;
+ cd.lib = 0;
+
+ treetype->foreach_nodetree(G.main, &cd, &ntreeMakeLocal_CheckLocal);
/* if all users are local, we simply make tree local */
- if(local && lib==0) {
+ if(cd.local && cd.lib==0) {
ntree->id.lib= NULL;
ntree->id.flag= LIB_LOCAL;
- new_id(NULL, (ID *)ntree, NULL);
+ new_id(0, (ID *)ntree, 0);
}
- else if(local && lib) {
+ else if(cd.local && cd.lib) {
/* this is the mixed case, we copy the tree and assign it to local users */
bNodeTree *newtree= ntreeCopyTree(ntree);
newtree->id.us= 0;
- if(ntree->type==NTREE_SHADER) {
- Material *ma;
- for(ma= G.main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= ma->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(ma->id.lib==NULL) {
- node->id= &newtree->id;
- newtree->id.us++;
- ntree->id.us--;
- }
- }
- }
- }
- }
- }
- else if(ntree->type==NTREE_COMPOSIT) {
- Scene *sce;
- for(sce= G.main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= sce->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(sce->id.lib==NULL) {
- node->id= &newtree->id;
- newtree->id.us++;
- ntree->id.us--;
- }
- }
- }
- }
- }
- }
- else if(ntree->type==NTREE_TEXTURE) {
- Tex *tx;
- for(tx= G.main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= tx->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(tx->id.lib==NULL) {
- node->id= &newtree->id;
- newtree->id.us++;
- ntree->id.us--;
- }
- }
- }
- }
+
+ cd.new_id = &newtree->id;
+ treetype->foreach_nodetree(G.main, &cd, &ntreeMakeLocal_LinkNew);
+ }
+}
+
+int ntreeNodeExists(bNodeTree *ntree, bNode *testnode)
+{
+ bNode *node= ntree->nodes.first;
+ for(; node; node= node->next)
+ if(node==testnode)
+ return 1;
+ return 0;
+}
+
+int ntreeOutputExists(bNode *node, bNodeSocket *testsock)
+{
+ bNodeSocket *sock= node->outputs.first;
+ for(; sock; sock= sock->next)
+ if(sock==testsock)
+ return 1;
+ return 0;
+}
+
+/* returns localized tree for execution in threads */
+bNodeTree *ntreeLocalize(bNodeTree *ntree)
+{
+ bNodeTreeType *ntreetype= ntreeGetType(ntree->type);
+
+ bNodeTree *ltree;
+ bNode *node;
+
+ bAction *action_backup= NULL, *tmpact_backup= NULL;
+
+ /* Workaround for copying an action on each render!
+ * set action to NULL so animdata actions dont get copied */
+ AnimData *adt= BKE_animdata_from_id(&ntree->id);
+
+ if(adt) {
+ action_backup= adt->action;
+ tmpact_backup= adt->tmpact;
+
+ adt->action= NULL;
+ adt->tmpact= NULL;
+ }
+
+ /* node copy func */
+ ltree= ntreeCopyTree(ntree);
+
+ if(adt) {
+ AnimData *ladt= BKE_animdata_from_id(&ltree->id);
+
+ adt->action= ladt->action= action_backup;
+ adt->tmpact= ladt->tmpact= tmpact_backup;
+
+ if(action_backup) action_backup->id.us++;
+ if(tmpact_backup) tmpact_backup->id.us++;
+
+ }
+ /* end animdata uglyness */
+
+ /* ensures only a single output node is enabled */
+ ntreeSetOutput(ntree);
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ /* store new_node pointer to original */
+ node->new_node->new_node= node;
+ }
+
+ if (ntreetype->localize)
+ ntreetype->localize(ltree, ntree);
+
+ return ltree;
+}
+
+/* sync local composite with real tree */
+/* local tree is supposed to be running, be careful moving previews! */
+/* is called by jobs manager, outside threads, so it doesnt happen during draw */
+void ntreeLocalSync(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNodeTreeType *ntreetype= ntreeGetType(ntree->type);
+
+ if (ntreetype->local_sync)
+ ntreetype->local_sync(localtree, ntree);
+}
+
+/* merge local tree results back, and free local tree */
+/* we have to assume the editor already changed completely */
+void ntreeLocalMerge(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNodeTreeType *ntreetype= ntreeGetType(ntree->type);
+ bNode *lnode;
+
+ /* move over the compbufs and previews */
+ for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
+ if(ntreeNodeExists(ntree, lnode->new_node)) {
+ if(lnode->preview && lnode->preview->rect) {
+ nodeFreePreview(lnode->new_node);
+ lnode->new_node->preview= lnode->preview;
+ lnode->preview= NULL;
}
}
}
-}
+ if (ntreetype->local_merge)
+ ntreetype->local_merge(localtree, ntree);
+
+ ntreeFreeTree(localtree);
+ MEM_freeN(localtree);
+}
/* ************ find stuff *************** */
-static int ntreeHasType(bNodeTree *ntree, int type)
+int ntreeHasType(bNodeTree *ntree, int type)
{
bNode *node;
@@ -1768,7 +1344,7 @@ void ntreeSocketUseFlags(bNodeTree *ntree)
/* ************** dependency stuff *********** */
/* node is guaranteed to be not checked before */
-static int node_recurs_check(bNode *node, bNode ***nsort)
+static int node_get_deplist_recurs(bNode *node, bNode ***nsort)
{
bNode *fromnode;
bNodeSocket *sock;
@@ -1776,1625 +1352,361 @@ static int node_recurs_check(bNode *node, bNode ***nsort)
node->done= 1;
+ /* check linked nodes */
for(sock= node->inputs.first; sock; sock= sock->next) {
if(sock->link) {
fromnode= sock->link->fromnode;
if(fromnode) {
if (fromnode->done==0)
- fromnode->level= node_recurs_check(fromnode, nsort);
+ fromnode->level= node_get_deplist_recurs(fromnode, nsort);
if (fromnode->level <= level)
level = fromnode->level - 1;
}
}
}
- **nsort= node;
- (*nsort)++;
- return level;
-}
-
-
-static void ntreeSetOutput(bNodeTree *ntree)
-{
- bNode *node;
-
- /* find the active outputs, might become tree type dependant handler */
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
- bNode *tnode;
- int output= 0;
-
- /* we need a check for which output node should be tagged like this, below an exception */
- if(node->type==CMP_NODE_OUTPUT_FILE)
- continue;
-
- /* there is more types having output class, each one is checked */
- for(tnode= ntree->nodes.first; tnode; tnode= tnode->next) {
- if(tnode->typeinfo->nclass==NODE_CLASS_OUTPUT) {
-
- if(ntree->type==NTREE_COMPOSIT) {
-
- /* same type, exception for viewer */
- if(tnode->type==node->type ||
- (ELEM(tnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER) &&
- ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER))) {
- if(tnode->flag & NODE_DO_OUTPUT) {
- output++;
- if(output>1)
- tnode->flag &= ~NODE_DO_OUTPUT;
- }
- }
- }
- else {
- /* same type */
- if(tnode->type==node->type) {
- if(tnode->flag & NODE_DO_OUTPUT) {
- output++;
- if(output>1)
- tnode->flag &= ~NODE_DO_OUTPUT;
- }
- }
- }
- }
- }
- if(output==0)
- node->flag |= NODE_DO_OUTPUT;
- }
+ /* check parent node */
+ if (node->parent) {
+ if (node->parent->done==0)
+ node->parent->level= node_get_deplist_recurs(node->parent, nsort);
+ if (node->parent->level <= level)
+ level = node->parent->level - 1;
}
- /* here we could recursively set which nodes have to be done,
- might be different for editor or for "real" use... */
+ if (nsort) {
+ **nsort= node;
+ (*nsort)++;
+ }
+
+ return level;
}
-void ntreeSolveOrder(bNodeTree *ntree)
+void ntreeGetDependencyList(struct bNodeTree *ntree, struct bNode ***deplist, int *totnodes)
{
- bNode *node, **nodesort, **nsort;
- bNodeSocket *sock;
- bNodeLink *link;
- int a, totnode=0;
+ bNode *node, **nsort;
+
+ *totnodes=0;
- /* the solve-order is called on each tree change, so we should be sure no exec can be running */
- ntreeEndExecTree(ntree);
-
- /* set links pointers the input sockets, to find dependencies */
/* first clear data */
for(node= ntree->nodes.first; node; node= node->next) {
node->done= 0;
- totnode++;
- for(sock= node->inputs.first; sock; sock= sock->next)
- sock->link= NULL;
+ (*totnodes)++;
}
- /* clear group socket links */
- for(sock= ntree->outputs.first; sock; sock= sock->next)
- sock->link= NULL;
- if(totnode==0)
+ if(*totnodes==0) {
+ *deplist = NULL;
return;
-
- for(link= ntree->links.first; link; link= link->next) {
- link->tosock->link= link;
}
- nsort= nodesort= MEM_callocN(totnode*sizeof(void *), "sorted node array");
+ nsort= *deplist= MEM_callocN((*totnodes)*sizeof(bNode*), "sorted node array");
/* recursive check */
for(node= ntree->nodes.first; node; node= node->next) {
if(node->done==0) {
- node->level= node_recurs_check(node, &nsort);
+ node->level= node_get_deplist_recurs(node, &nsort);
}
}
-
- /* re-insert nodes in order, first a paranoia check */
- for(a=0; a<totnode; a++) {
- if(nodesort[a]==NULL)
- break;
- }
- if(a<totnode)
- printf("sort error in node tree");
- else {
- ntree->nodes.first= ntree->nodes.last= NULL;
- for(a=0; a<totnode; a++)
- BLI_addtail(&ntree->nodes, nodesort[a]);
- }
-
- MEM_freeN(nodesort);
-
- ntreeSetOutput(ntree);
}
-
-/* Should be callback! */
-/* Do not call execs here */
-void NodeTagChanged(bNodeTree *ntree, bNode *node)
-{
- if(ntree->type==NTREE_COMPOSIT) {
- bNodeSocket *sock;
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if(sock->ns.data) {
- //free_compbuf(sock->ns.data);
- //sock->ns.data= NULL;
- }
- }
- node->need_exec= 1;
- }
-}
-
-int NodeTagIDChanged(bNodeTree *ntree, ID *id)
-{
- int change = FALSE;
-
- if(ELEM(NULL, id, ntree))
- return change;
-
- if(ntree->type==NTREE_COMPOSIT) {
- bNode *node;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->id==id) {
- change= TRUE;
- NodeTagChanged(ntree, node);
- }
- }
- }
-
- return change;
-}
-
-
-
-/* ******************* executing ************* */
-
-/* for a given socket, find the actual stack entry */
-static bNodeStack *get_socket_stack(bNodeStack *stack, bNodeSocket *sock, bNodeStack **gin)
-{
- switch (sock->stack_type) {
- case SOCK_STACK_LOCAL:
- return stack + sock->stack_index;
- case SOCK_STACK_EXTERN:
- return (gin ? gin[sock->stack_index] : NULL);
- case SOCK_STACK_CONST:
- return sock->stack_ptr;
- }
- return NULL;
-}
-
-/* see notes at ntreeBeginExecTree */
-static void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out, bNodeStack **gin)
-{
- bNodeSocket *sock;
-
- /* build pointer stack */
- if (in) {
- for(sock= node->inputs.first; sock; sock= sock->next) {
- *(in++) = get_socket_stack(stack, sock, gin);
- }
- }
-
- if (out) {
- for(sock= node->outputs.first; sock; sock= sock->next) {
- *(out++) = get_socket_stack(stack, sock, gin);
- }
- }
-}
-
-static void node_group_execute(bNodeStack *stack, void *data, bNode *gnode, bNodeStack **in)
+static void ntree_update_link_pointers(bNodeTree *ntree)
{
bNode *node;
- bNodeTree *ntree= (bNodeTree *)gnode->id;
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
-
- if(ntree==NULL) return;
+ bNodeSocket *sock;
+ bNodeLink *link;
- stack+= gnode->stack_index;
-
+ /* first clear data */
for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo->execfunc) {
- node_get_stack(node, stack, nsin, nsout, in);
-
- /* for groups, only execute outputs for edited group */
- if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
- if(node->type==CMP_NODE_OUTPUT_FILE || (gnode->flag & NODE_GROUP_EDIT))
- node->typeinfo->execfunc(data, node, nsin, nsout);
- }
- else
- node->typeinfo->execfunc(data, node, nsin, nsout);
- }
- }
-
- /* free internal buffers */
- if (ntree->type==NTREE_COMPOSIT) {
- bNodeSocket *sock;
- bNodeStack *ns;
-
- /* clear hasoutput on all local stack data,
- * only the group output will be used from now on
- */
- for (node=ntree->nodes.first; node; node=node->next) {
- for (sock=node->outputs.first; sock; sock=sock->next) {
- if (sock->stack_type==SOCK_STACK_LOCAL) {
- ns= get_socket_stack(stack, sock, in);
- ns->hasoutput = 0;
- }
- }
- }
- /* use the hasoutput flag to tag external sockets */
- for (sock=ntree->outputs.first; sock; sock=sock->next) {
- if (sock->stack_type==SOCK_STACK_LOCAL) {
- ns= get_socket_stack(stack, sock, in);
- ns->hasoutput = 1;
- }
- }
- /* now free all stacks that are not used from outside */
- for (node=ntree->nodes.first; node; node=node->next) {
- for (sock=node->outputs.first; sock; sock=sock->next) {
- if (sock->stack_type==SOCK_STACK_LOCAL ) {
- ns= get_socket_stack(stack, sock, in);
- if (ns->hasoutput==0 && ns->data) {
- free_compbuf(ns->data);
- ns->data = NULL;
- }
- }
- }
- }
+ for(sock= node->inputs.first; sock; sock= sock->next)
+ sock->link= NULL;
}
-}
+ /* clear socket links */
+ for(sock= ntree->outputs.first; sock; sock= sock->next)
+ sock->link= NULL;
-static int set_stack_indexes_default(bNode *node, int index)
-{
- bNodeSocket *sock;
-
- for (sock=node->inputs.first; sock; sock=sock->next) {
- if (sock->link && sock->link->fromsock) {
- sock->stack_type = sock->link->fromsock->stack_type;
- sock->stack_index = sock->link->fromsock->stack_index;
- sock->stack_ptr = sock->link->fromsock->stack_ptr;
- }
- else {
- sock->stack_type = SOCK_STACK_CONST;
- sock->stack_index = -1;
- sock->stack_ptr = &sock->ns;
- }
- }
-
- for (sock=node->outputs.first; sock; sock=sock->next) {
- sock->stack_type = SOCK_STACK_LOCAL;
- sock->stack_index = index++;
- sock->stack_ptr = NULL;
+ for(link= ntree->links.first; link; link= link->next) {
+ if (link->tosock)
+ link->tosock->link= link;
}
-
- return index;
}
-static int ntree_begin_exec_tree(bNodeTree *ntree);
-static int set_stack_indexes_group(bNode *node, int index)
+void ntree_validate_links(bNodeTree *ntree)
{
- bNodeTree *ngroup= (bNodeTree*)node->id;
- bNodeSocket *sock;
-
- if(ngroup && (ngroup->init & NTREE_TYPE_INIT)==0)
- ntreeInitTypes(ngroup);
-
- node->stack_index = index;
- if(ngroup)
- index += ntree_begin_exec_tree(ngroup);
-
- for (sock=node->inputs.first; sock; sock=sock->next) {
- if (sock->link && sock->link->fromsock) {
- sock->stack_type = sock->link->fromsock->stack_type;
- sock->stack_index = sock->link->fromsock->stack_index;
- sock->stack_ptr = sock->link->fromsock->stack_ptr;
- }
- else {
- sock->stack_type = SOCK_STACK_CONST;
- sock->stack_index = -1;
- sock->stack_ptr = &sock->ns;
- }
- }
+ bNodeTreeType *ntreetype = ntreeGetType(ntree->type);
+ bNodeLink *link;
- /* identify group node outputs from internal group sockets */
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if (sock->groupsock) {
- bNodeSocket *insock, *gsock = sock->groupsock;
- switch (gsock->stack_type) {
- case SOCK_STACK_EXTERN:
- /* extern stack is resolved for this group node instance */
- insock= find_group_node_input(node, gsock->link->fromsock);
- sock->stack_type = insock->stack_type;
- sock->stack_index = insock->stack_index;
- sock->stack_ptr = insock->stack_ptr;
- break;
- case SOCK_STACK_LOCAL:
- sock->stack_type = SOCK_STACK_LOCAL;
- /* local stack index must be offset by group node instance */
- sock->stack_index = gsock->stack_index + node->stack_index;
- sock->stack_ptr = NULL;
- break;
- case SOCK_STACK_CONST:
- sock->stack_type = SOCK_STACK_CONST;
- sock->stack_index = -1;
- sock->stack_ptr = gsock->stack_ptr;
- break;
- }
- }
- else {
- sock->stack_type = SOCK_STACK_LOCAL;
- sock->stack_index = index++;
- sock->stack_ptr = NULL;
+ for (link = ntree->links.first; link; link = link->next) {
+ link->flag |= NODE_LINK_VALID;
+ if (link->fromnode && link->tonode && link->fromnode->level <= link->tonode->level)
+ link->flag &= ~NODE_LINK_VALID;
+ else if (ntreetype->validate_link) {
+ if (!ntreetype->validate_link(ntree, link))
+ link->flag &= ~NODE_LINK_VALID;
}
}
-
- return index;
}
-/* recursively called for groups */
-/* we set all trees on own local indices, but put a total counter
- in the groups, so each instance of a group has own stack */
-static int ntree_begin_exec_tree(bNodeTree *ntree)
+static void ntree_verify_nodes_cb(void *calldata, struct ID *UNUSED(owner_id), struct bNodeTree *ntree)
{
+ ID *id= (ID*)calldata;
bNode *node;
- bNodeSocket *gsock;
- int index= 0, i;
-
- if((ntree->init & NTREE_TYPE_INIT)==0)
- ntreeInitTypes(ntree);
-
- /* group inputs are numbered 0..totinputs, so external stack can easily be addressed */
- i = 0;
- for(gsock=ntree->inputs.first; gsock; gsock = gsock->next) {
- gsock->stack_type = SOCK_STACK_EXTERN;
- gsock->stack_index = i++;
- gsock->stack_ptr = NULL;
- }
-
- /* create indices for stack, check preview */
- for(node= ntree->nodes.first; node; node= node->next) {
- /* XXX can this be done by a generic one-for-all function?
- * otherwise should use node-type callback.
- */
- if(node->type==NODE_GROUP)
- index = set_stack_indexes_group(node, index);
- else
- index = set_stack_indexes_default(node, index);
- }
-
- /* group outputs */
- for(gsock=ntree->outputs.first; gsock; gsock = gsock->next) {
- if (gsock->link && gsock->link->fromsock) {
- gsock->stack_type = gsock->link->fromsock->stack_type;
- gsock->stack_index = gsock->link->fromsock->stack_index;
- gsock->stack_ptr = gsock->link->fromsock->stack_ptr;
- }
- else {
- gsock->stack_type = SOCK_STACK_CONST;
- gsock->stack_index = -1;
- gsock->stack_ptr = &gsock->ns;
- }
- }
- return index;
+ for (node=ntree->nodes.first; node; node=node->next)
+ if (node->typeinfo->verifyfunc)
+ node->typeinfo->verifyfunc(ntree, node, id);
}
-/* copy socket compbufs to stack, initialize usage of curve nodes */
-static void composit_begin_exec(bNodeTree *ntree, bNodeStack *stack)
+void ntreeVerifyNodes(struct Main *main, struct ID *id)
{
- bNode *node;
- bNodeSocket *sock;
+ bNodeTreeType *ntreetype;
+ bNodeTree *ntree;
+ int n;
- for(node= ntree->nodes.first; node; node= node->next) {
-
- /* initialize needed for groups */
- node->exec= 0;
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
- bNodeStack *ns= get_socket_stack(stack, sock, NULL);
- if(ns && sock->ns.data) {
- ns->data= sock->ns.data;
- sock->ns.data= NULL;
- }
- }
-
- /* cannot initialize them while using in threads */
- if(ELEM4(node->type, CMP_NODE_TIME, CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB, CMP_NODE_HUECORRECT)) {
- curvemapping_initialize(node->storage);
- if(node->type==CMP_NODE_CURVE_RGB)
- curvemapping_premultiply(node->storage, 0);
- }
- if(node->type==NODE_GROUP && node->id)
- composit_begin_exec((bNodeTree *)node->id, stack + node->stack_index);
-
- }
-}
-
-/* copy stack compbufs to sockets */
-static void composit_end_exec(bNodeTree *ntree, bNodeStack *stack)
-{
- bNode *node;
- bNodeStack *ns;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- bNodeSocket *sock;
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
- ns = get_socket_stack(stack, sock, NULL);
- if(ns && ns->data) {
- sock->ns.data= ns->data;
- ns->data= NULL;
- }
- }
-
- if(node->type==CMP_NODE_CURVE_RGB)
- curvemapping_premultiply(node->storage, 1);
-
- if(node->type==NODE_GROUP && node->id)
- composit_end_exec((bNodeTree *)node->id, stack + node->stack_index);
-
- node->need_exec= 0;
+ for (n=0; n < NUM_NTREE_TYPES; ++n) {
+ ntreetype= ntreeGetType(n);
+ if (ntreetype && ntreetype->foreach_nodetree)
+ ntreetype->foreach_nodetree(main, id, ntree_verify_nodes_cb);
}
+ for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next)
+ ntree_verify_nodes_cb(id, NULL, ntree);
}
-static void group_tag_used_outputs(bNode *gnode, bNodeStack *stack, bNodeStack **gin)
+void ntreeUpdateTree(bNodeTree *ntree)
{
- bNodeTree *ntree= (bNodeTree *)gnode->id;
+ bNodeTreeType *ntreetype= ntreeGetType(ntree->type);
bNode *node;
- bNodeSocket *sock;
+ bNode **deplist;
+ int totnodes, n;
- stack+= gnode->stack_index;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo->execfunc) {
- for(sock= node->inputs.first; sock; sock= sock->next) {
- bNodeStack *ns = get_socket_stack(stack, sock, gin);
- ns->hasoutput= 1;
- }
- }
-
- /* non-composite trees do all nodes by default */
- if (ntree->type!=NTREE_COMPOSIT)
- node->need_exec = 1;
-
- for(sock= node->inputs.first; sock; sock= sock->next) {
- bNodeStack *ns = get_socket_stack(stack, sock, gin);
- if (ns) {
- ns->hasoutput = 1;
-
- /* sock type is needed to detect rgba or value or vector types */
- if(sock->link && sock->link->fromsock)
- ns->sockettype= sock->link->fromsock->type;
- else
- sock->ns.sockettype= sock->type;
- }
-
- if(sock->link) {
- bNodeLink *link= sock->link;
- /* this is the test for a cyclic case */
- if(link->fromnode && link->tonode) {
- if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF);
- else {
- node->need_exec= 0;
- }
- }
- }
- }
-
- /* set stack types (for local stack entries) */
- for(sock= node->outputs.first; sock; sock= sock->next) {
- bNodeStack *ns = get_socket_stack(stack, sock, gin);
- if (ns)
- ns->sockettype = sock->type;
- }
- }
-}
-
-/* notes below are ancient! (ton) */
-/* stack indices make sure all nodes only write in allocated data, for making it thread safe */
-/* only root tree gets the stack, to enable instances to have own stack entries */
-/* per tree (and per group) unique indices are created */
-/* the index_ext we need to be able to map from groups to the group-node own stack */
-
-typedef struct bNodeThreadStack {
- struct bNodeThreadStack *next, *prev;
- bNodeStack *stack;
- int used;
-} bNodeThreadStack;
-
-static bNodeThreadStack *ntreeGetThreadStack(bNodeTree *ntree, int thread)
-{
- ListBase *lb= &ntree->threadstack[thread];
- bNodeThreadStack *nts;
+ ntree_update_link_pointers(ntree);
- for(nts=lb->first; nts; nts=nts->next) {
- if(!nts->used) {
- nts->used= 1;
- return nts;
- }
- }
- nts= MEM_callocN(sizeof(bNodeThreadStack), "bNodeThreadStack");
- nts->stack= MEM_dupallocN(ntree->stack);
- nts->used= 1;
- BLI_addtail(lb, nts);
-
- return nts;
-}
-
-static void ntreeReleaseThreadStack(bNodeThreadStack *nts)
-{
- nts->used= 0;
-}
-
-/* free texture delegates */
-static void tex_end_exec(bNodeTree *ntree)
-{
- bNodeThreadStack *nts;
- bNodeStack *ns;
- int th, a;
+ /* also updates the node level! */
+ ntreeGetDependencyList(ntree, &deplist, &totnodes);
- if(ntree->threadstack) {
- for(th=0; th<BLENDER_MAX_THREADS; th++) {
- for(nts=ntree->threadstack[th].first; nts; nts=nts->next) {
- for(ns= nts->stack, a=0; a<ntree->stacksize; a++, ns++) {
- if(ns->data) {
- MEM_freeN(ns->data);
- ns->data= NULL;
- }
- }
- }
+ if (deplist) {
+ /* update individual nodes */
+ for (n=0; n < totnodes; ++n) {
+ node = deplist[n];
+ if (ntreetype->update_node)
+ ntreetype->update_node(ntree, node);
+ else if (node->typeinfo->updatefunc)
+ node->typeinfo->updatefunc(ntree, node);
}
- }
-}
-
-void ntreeBeginExecTree(bNodeTree *ntree)
-{
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
-
- /* let's make it sure */
- if(ntree->init & NTREE_EXEC_INIT)
- return;
-
- /* allocate the thread stack listbase array */
- if(ntree->type!=NTREE_COMPOSIT)
- ntree->threadstack= MEM_callocN(BLENDER_MAX_THREADS*sizeof(ListBase), "thread stack array");
-
- /* goes recursive over all groups */
- ntree->stacksize= ntree_begin_exec_tree(ntree);
-
- if(ntree->stacksize) {
- bNode *node;
- bNodeStack *ns;
- int a;
- /* allocate the base stack */
- ns=ntree->stack= MEM_callocN(ntree->stacksize*sizeof(bNodeStack), "node stack");
+ MEM_freeN(deplist);
- /* tag inputs, the get_stack() gives own socket stackdata if not in use */
- for(a=0; a<ntree->stacksize; a++, ns++) ns->hasinput= 1;
-
- /* tag used outputs, so we know when we can skip operations */
- for(node= ntree->nodes.first; node; node= node->next) {
- bNodeSocket *sock;
-
- /* non-composite trees do all nodes by default */
- if(ntree->type!=NTREE_COMPOSIT)
- node->need_exec= 1;
-
- for(sock= node->inputs.first; sock; sock= sock->next) {
- ns = get_socket_stack(ntree->stack, sock, NULL);
- if (ns) {
- ns->hasoutput = 1;
-
- /* sock type is needed to detect rgba or value or vector types */
- if(sock->link && sock->link->fromsock)
- ns->sockettype= sock->link->fromsock->type;
- else
- sock->ns.sockettype= sock->type;
- }
-
- if(sock->link) {
- bNodeLink *link= sock->link;
- /* this is the test for a cyclic case */
- if(link->fromnode && link->tonode) {
- if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF);
- else {
- node->need_exec= 0;
- }
- }
- }
- }
-
- /* set stack types (for local stack entries) */
- for(sock= node->outputs.first; sock; sock= sock->next) {
- ns = get_socket_stack(ntree->stack, sock, NULL);
- if (ns)
- ns->sockettype = sock->type;
- }
-
- if(node->type==NODE_GROUP && node->id) {
- node_get_stack(node, ntree->stack, nsin, NULL, NULL);
- group_tag_used_outputs(node, ntree->stack, nsin);
- }
- }
+ /* ensures only a single output node is enabled, texnode allows multiple though */
+ if(ntree->type!=NTREE_TEXTURE)
+ ntreeSetOutput(ntree);
- if(ntree->type==NTREE_COMPOSIT)
- composit_begin_exec(ntree, ntree->stack);
}
- ntree->init |= NTREE_EXEC_INIT;
-}
-
-void ntreeEndExecTree(bNodeTree *ntree)
-{
- bNodeStack *ns;
-
- if(ntree->init & NTREE_EXEC_INIT) {
- bNodeThreadStack *nts;
- int a;
-
- /* another callback candidate! */
- if(ntree->type==NTREE_COMPOSIT) {
- composit_end_exec(ntree, ntree->stack);
-
- for(ns= ntree->stack, a=0; a<ntree->stacksize; a++, ns++) {
- if(ns->data) {
- printf("freed leftover buffer from stack\n");
- free_compbuf(ns->data);
- ns->data= NULL;
- }
- }
- }
- else if(ntree->type==NTREE_TEXTURE)
- tex_end_exec(ntree);
-
- if(ntree->stack) {
- MEM_freeN(ntree->stack);
- ntree->stack= NULL;
- }
-
- if(ntree->threadstack) {
- for(a=0; a<BLENDER_MAX_THREADS; a++) {
- for(nts=ntree->threadstack[a].first; nts; nts=nts->next)
- if (nts->stack) MEM_freeN(nts->stack);
- BLI_freelistN(&ntree->threadstack[a]);
- }
-
- MEM_freeN(ntree->threadstack);
- ntree->threadstack= NULL;
- }
-
- ntree->init &= ~NTREE_EXEC_INIT;
+ /* general tree updates */
+ if (ntree->update & (NTREE_UPDATE_LINKS|NTREE_UPDATE_NODES)) {
+ ntree_validate_links(ntree);
}
-}
-
-/* nodes are presorted, so exec is in order of list */
-void ntreeExecTree(bNodeTree *ntree, void *callerdata, int thread)
-{
- bNode *node;
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *stack;
- bNodeThreadStack *nts = NULL;
-
- /* only when initialized */
- if((ntree->init & NTREE_EXEC_INIT)==0)
- ntreeBeginExecTree(ntree);
- /* composite does 1 node per thread, so no multiple stacks needed */
- if(ntree->type==NTREE_COMPOSIT) {
- stack= ntree->stack;
- }
+ /* update tree */
+ if (ntreetype->update)
+ ntreetype->update(ntree);
else {
- nts= ntreeGetThreadStack(ntree, thread);
- stack= nts->stack;
+ bNodeType *ntype= node_get_type(ntree, ntree->nodetype);
+ if (ntype && ntype->updatetreefunc)
+ ntype->updatetreefunc(ntree);
}
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->need_exec) {
- if(node->typeinfo->execfunc) {
- node_get_stack(node, stack, nsin, nsout, NULL);
- node->typeinfo->execfunc(callerdata, node, nsin, nsout);
- }
- else if(node->type==NODE_GROUP && node->id) {
- node_get_stack(node, stack, nsin, NULL, NULL);
- node_group_execute(stack, callerdata, node, nsin);
- }
- }
- }
-
- if(nts)
- ntreeReleaseThreadStack(nts);
-}
-
-
-/* ***************************** threaded version for execute composite nodes ************* */
-/* these are nodes without input, only giving values */
-/* or nodes with only value inputs */
-static int node_only_value(bNode *node)
-{
- bNodeSocket *sock;
-
- if(ELEM3(node->type, CMP_NODE_TIME, CMP_NODE_VALUE, CMP_NODE_RGB))
- return 1;
+ /* XXX hack, should be done by depsgraph!! */
+ ntreeVerifyNodes(G.main, &ntree->id);
- /* doing this for all node types goes wrong. memory free errors */
- if(node->inputs.first && node->type==CMP_NODE_MAP_VALUE) {
- int retval= 1;
- for(sock= node->inputs.first; sock; sock= sock->next) {
- if(sock->link && sock->link->fromnode)
- retval &= node_only_value(sock->link->fromnode);
- }
- return retval;
- }
- return 0;
+ /* clear the update flag */
+ ntree->update = 0;
}
-
-/* not changing info, for thread callback */
-typedef struct ThreadData {
- bNodeStack *stack;
- RenderData *rd;
-} ThreadData;
-
-static void *exec_composite_node(void *node_v)
-{
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
- bNode *node= node_v;
- ThreadData *thd= (ThreadData *)node->threaddata;
-
- node_get_stack(node, thd->stack, nsin, nsout, NULL);
-
- if((node->flag & NODE_MUTED) && (!node_only_value(node))) {
- /* viewers we execute, for feedback to user */
- if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER))
- node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
- else
- node_compo_pass_on(node, nsin, nsout);
- }
- else if(node->typeinfo->execfunc) {
- node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
- }
- else if(node->type==NODE_GROUP && node->id) {
- node_group_execute(thd->stack, thd->rd, node, nsin);
- }
-
- node->exec |= NODE_READY;
- return NULL;
-}
-
-/* return total of executable nodes, for timecursor */
-/* only compositor uses it */
-static int setExecutableNodes(bNodeTree *ntree, ThreadData *thd)
-{
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
- bNode *node;
- bNodeSocket *sock;
- int totnode= 0, group_edit= 0;
-
- /* note; do not add a dependency sort here, the stack was created already */
-
- /* if we are in group edit, viewer nodes get skipped when group has viewer */
- for(node= ntree->nodes.first; node; node= node->next)
- if(node->type==NODE_GROUP && (node->flag & NODE_GROUP_EDIT))
- if(ntreeHasType((bNodeTree *)node->id, CMP_NODE_VIEWER))
- group_edit= 1;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- int a;
-
- node_get_stack(node, thd->stack, nsin, nsout, NULL);
-
- /* test the outputs */
- /* skip value-only nodes (should be in type!) */
- if(!node_only_value(node)) {
- for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
- if(nsout[a]->data==NULL && nsout[a]->hasoutput) {
- node->need_exec= 1;
- break;
- }
- }
- }
-
- /* test the inputs */
- for(a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
- /* skip viewer nodes in bg render or group edit */
- if( ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER) && (G.background || group_edit))
- node->need_exec= 0;
- /* is sock in use? */
- else if(sock->link) {
- bNodeLink *link= sock->link;
-
- /* this is the test for a cyclic case */
- if(link->fromnode==NULL || link->tonode==NULL);
- else if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) {
- if(link->fromnode->need_exec) {
- node->need_exec= 1;
- break;
- }
- }
- else {
- node->need_exec= 0;
- printf("Node %s skipped, cyclic dependency\n", node->name);
- }
- }
- }
-
- if(node->need_exec) {
-
- /* free output buffers */
- for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
- if(nsout[a]->data) {
- free_compbuf(nsout[a]->data);
- nsout[a]->data= NULL;
- }
- }
- totnode++;
- /* printf("node needs exec %s\n", node->name); */
-
- /* tag for getExecutableNode() */
- node->exec= 0;
- }
- else {
- /* tag for getExecutableNode() */
- node->exec= NODE_READY|NODE_FINISHED|NODE_SKIPPED;
-
- }
- }
-
- /* last step: set the stack values for only-value nodes */
- /* just does all now, compared to a full buffer exec this is nothing */
- if(totnode) {
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->need_exec==0 && node_only_value(node)) {
- if(node->typeinfo->execfunc) {
- node_get_stack(node, thd->stack, nsin, nsout, NULL);
- node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
- }
- }
- }
- }
-
- return totnode;
-}
-
-/* while executing tree, free buffers from nodes that are not needed anymore */
-static void freeExecutableNode(bNodeTree *ntree)
+void NodeTagChanged(bNodeTree *ntree, bNode *node)
{
- /* node outputs can be freed when:
- - not a render result or image node
- - when node outputs go to nodes all being set NODE_FINISHED
- */
- bNode *node;
- bNodeSocket *sock;
+ bNodeTreeType *ntreetype = ntreeGetType(ntree->type);
- /* set exec flag for finished nodes that might need freed */
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->type!=CMP_NODE_R_LAYERS)
- if(node->exec & NODE_FINISHED)
- node->exec |= NODE_FREEBUFS;
- }
- /* clear this flag for input links that are not done yet */
- for(node= ntree->nodes.first; node; node= node->next) {
- if((node->exec & NODE_FINISHED)==0) {
- for(sock= node->inputs.first; sock; sock= sock->next)
- if(sock->link && sock->link->fromnode)
- sock->link->fromnode->exec &= ~NODE_FREEBUFS;
- }
- }
- /* now we can free buffers */
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->exec & NODE_FREEBUFS) {
- for(sock= node->outputs.first; sock; sock= sock->next) {
- bNodeStack *ns= get_socket_stack(ntree->stack, sock, NULL);
- if(ns && ns->data) {
- free_compbuf(ns->data);
- ns->data= NULL;
- // printf("freed buf node %s \n", node->name);
- }
- }
- }
- }
+ if (ntreetype->update_node)
+ ntreetype->update_node(ntree, node);
+ else if (node->typeinfo->updatefunc)
+ node->typeinfo->updatefunc(ntree, node);
}
-static bNode *getExecutableNode(bNodeTree *ntree)
+int NodeTagIDChanged(bNodeTree *ntree, ID *id)
{
+ bNodeTreeType *ntreetype = ntreeGetType(ntree->type);
bNode *node;
- bNodeSocket *sock;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->exec==0) {
-
- /* input sockets should be ready */
- for(sock= node->inputs.first; sock; sock= sock->next) {
- if(sock->link && sock->link->fromnode)
- if((sock->link->fromnode->exec & NODE_READY)==0)
- break;
- }
- if(sock==NULL)
- return node;
- }
- }
- return NULL;
-}
+ int change = FALSE;
-/* check if texture nodes need exec or end */
-static void ntree_composite_texnode(bNodeTree *ntree, int init)
-{
- bNode *node;
+ if(ELEM(NULL, id, ntree))
+ return change;
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->type==CMP_NODE_TEXTURE && node->id) {
- Tex *tex= (Tex *)node->id;
- if(tex->nodetree && tex->use_nodes) {
- /* has internal flag to detect it only does it once */
- if(init)
- ntreeBeginExecTree(tex->nodetree);
- else
- ntreeEndExecTree(tex->nodetree);
+ if (ntreetype->update_node) {
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->id==id) {
+ change = TRUE;
+ ntreetype->update_node(ntree, node);
}
}
}
-
-}
-
-/* optimized tree execute test for compositing */
-void ntreeCompositExecTree(bNodeTree *ntree, RenderData *rd, int do_preview)
-{
- bNode *node;
- ListBase threads;
- ThreadData thdata;
- int totnode, curnode, rendering= 1;
-
- if(ntree==NULL) return;
-
- if(do_preview)
- ntreeInitPreview(ntree, 0, 0);
-
- ntreeBeginExecTree(ntree);
- ntree_composite_texnode(ntree, 1);
-
- /* prevent unlucky accidents */
- if(G.background)
- rd->scemode &= ~R_COMP_CROP;
-
- /* setup callerdata for thread callback */
- thdata.rd= rd;
- thdata.stack= ntree->stack;
-
- /* fixed seed, for example noise texture */
- BLI_srandom(rd->cfra);
-
- /* ensures only a single output node is enabled */
- ntreeSetOutput(ntree);
-
- /* sets need_exec tags in nodes */
- curnode = totnode= setExecutableNodes(ntree, &thdata);
-
- BLI_init_threads(&threads, exec_composite_node, rd->threads);
-
- while(rendering) {
-
- if(BLI_available_threads(&threads)) {
- node= getExecutableNode(ntree);
- if(node) {
- if(ntree->progress && totnode)
- ntree->progress(ntree->prh, (1.0f - curnode/(float)totnode));
- if(ntree->stats_draw) {
- char str[64];
- sprintf(str, "Compositing %d %s", curnode, node->name);
- ntree->stats_draw(ntree->sdh, str);
- }
- curnode--;
-
- node->threaddata = &thdata;
- node->exec= NODE_PROCESSING;
- BLI_insert_thread(&threads, node);
- }
- else
- PIL_sleep_ms(50);
- }
- else
- PIL_sleep_ms(50);
-
- rendering= 0;
- /* test for ESC */
- if(ntree->test_break && ntree->test_break(ntree->tbh)) {
- for(node= ntree->nodes.first; node; node= node->next)
- node->exec |= NODE_READY;
- }
-
- /* check for ready ones, and if we need to continue */
+ else {
for(node= ntree->nodes.first; node; node= node->next) {
- if(node->exec & NODE_READY) {
- if((node->exec & NODE_FINISHED)==0) {
- BLI_remove_thread(&threads, node); /* this waits for running thread to finish btw */
- node->exec |= NODE_FINISHED;
-
- /* freeing unused buffers */
- if(rd->scemode & R_COMP_FREE)
- freeExecutableNode(ntree);
- }
+ if(node->id==id) {
+ change = TRUE;
+ if (node->typeinfo->updatefunc)
+ node->typeinfo->updatefunc(ntree, node);
}
- else rendering= 1;
}
}
- BLI_end_threads(&threads);
-
- ntreeEndExecTree(ntree);
+ return change;
}
-/* ********** copy composite tree entirely, to allow threaded exec ******************* */
-/* ***************** do NOT execute this in a thread! ****************** */
+/* ************* node type access ********** */
-/* returns localized tree for execution in threads */
-/* local tree then owns all compbufs (for composite) */
-bNodeTree *ntreeLocalize(bNodeTree *ntree)
+int nodeValid(bNodeTree *ntree, bNodeTemplate *ntemp)
{
- bNodeTree *ltree;
- bNode *node;
- bNodeSocket *sock;
-
- bAction *action_backup= NULL, *tmpact_backup= NULL;
-
- /* Workaround for copying an action on each render!
- * set action to NULL so animdata actions dont get copied */
- AnimData *adt= BKE_animdata_from_id(&ntree->id);
-
- if(adt) {
- action_backup= adt->action;
- tmpact_backup= adt->tmpact;
-
- adt->action= NULL;
- adt->tmpact= NULL;
- }
-
- /* node copy func */
- ltree= ntreeCopyTree(ntree);
-
- if(adt) {
- AnimData *ladt= BKE_animdata_from_id(&ltree->id);
-
- adt->action= ladt->action= action_backup;
- adt->tmpact= ladt->tmpact= tmpact_backup;
-
- if(action_backup) action_backup->id.us++;
- if(tmpact_backup) tmpact_backup->id.us++;
-
- }
- /* end animdata uglyness */
-
- /* ensures only a single output node is enabled */
- ntreeSetOutput(ltree);
-
- for(node= ntree->nodes.first; node; node= node->next) {
-
- /* store new_node pointer to original */
- node->new_node->new_node= node;
-
- if(ntree->type==NTREE_COMPOSIT) {
- /* ensure new user input gets handled ok, only composites (texture nodes will break, for painting since it uses no tags) */
- node->need_exec= 0;
-
- /* move over the compbufs */
- /* right after ntreeCopyTree() oldsock pointers are valid */
-
- if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
- if(node->id) {
- if(node->flag & NODE_DO_OUTPUT)
- node->new_node->id= (ID *)copy_image((Image *)node->id);
- else
- node->new_node->id= NULL;
- }
- }
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
-
- sock->new_sock->ns.data= sock->ns.data;
- compbuf_set_node(sock->new_sock->ns.data, node->new_node);
-
- sock->ns.data= NULL;
- sock->new_sock->new_sock= sock;
- }
- }
- }
-
- return ltree;
-}
-
-static int node_exists(bNodeTree *ntree, bNode *testnode)
-{
- bNode *node= ntree->nodes.first;
- for(; node; node= node->next)
- if(node==testnode)
- return 1;
- return 0;
-}
-
-static int outsocket_exists(bNode *node, bNodeSocket *testsock)
-{
- bNodeSocket *sock= node->outputs.first;
- for(; sock; sock= sock->next)
- if(sock==testsock)
+ bNodeType *ntype= node_get_type(ntree, ntemp->type);
+ if (ntype) {
+ if (ntype->validfunc)
+ return ntype->validfunc(ntree, ntemp);
+ else
return 1;
- return 0;
-}
-
-
-/* sync local composite with real tree */
-/* local composite is supposed to be running, be careful moving previews! */
-/* is called by jobs manager, outside threads, so it doesnt happen during draw */
-void ntreeLocalSync(bNodeTree *localtree, bNodeTree *ntree)
-{
- bNode *lnode;
-
- if(ntree->type==NTREE_COMPOSIT) {
- /* move over the compbufs and previews */
- for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
- if( (lnode->exec & NODE_READY) && !(lnode->exec & NODE_SKIPPED) ) {
- if(node_exists(ntree, lnode->new_node)) {
-
- if(lnode->preview && lnode->preview->rect) {
- node_free_preview(lnode->new_node);
- lnode->new_node->preview= lnode->preview;
- lnode->preview= NULL;
- }
- }
- }
- }
- }
- else if(ELEM(ntree->type, NTREE_SHADER, NTREE_TEXTURE)) {
- /* copy over contents of previews */
- for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
- if(node_exists(ntree, lnode->new_node)) {
- bNode *node= lnode->new_node;
-
- if(node->preview && node->preview->rect) {
- if(lnode->preview && lnode->preview->rect) {
- int xsize= node->preview->xsize;
- int ysize= node->preview->ysize;
- memcpy(node->preview->rect, lnode->preview->rect, 4*xsize + xsize*ysize*sizeof(char)*4);
- }
- }
- }
- }
}
+ else
+ return 0;
}
-/* merge local tree results back, and free local tree */
-/* we have to assume the editor already changed completely */
-void ntreeLocalMerge(bNodeTree *localtree, bNodeTree *ntree)
+const char* nodeLabel(bNode *node)
{
- bNode *lnode;
- bNodeSocket *lsock;
-
- /* move over the compbufs and previews */
- for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
- if(node_exists(ntree, lnode->new_node)) {
-
- if(lnode->preview && lnode->preview->rect) {
- node_free_preview(lnode->new_node);
- lnode->new_node->preview= lnode->preview;
- lnode->preview= NULL;
- }
-
- if(ELEM(lnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
- if(lnode->id && (lnode->flag & NODE_DO_OUTPUT)) {
- /* image_merge does sanity check for pointers */
- BKE_image_merge((Image *)lnode->new_node->id, (Image *)lnode->id);
- }
- }
-
- for(lsock= lnode->outputs.first; lsock; lsock= lsock->next) {
- if(outsocket_exists(lnode->new_node, lsock->new_sock)) {
- lsock->new_sock->ns.data= lsock->ns.data;
- compbuf_set_node(lsock->new_sock->ns.data, lnode->new_node);
- lsock->ns.data= NULL;
- lsock->new_sock= NULL;
- }
- }
- }
- }
- ntreeFreeTree(localtree);
- MEM_freeN(localtree);
+ if (node->label[0]!='\0')
+ return node->label;
+ else if (node->typeinfo->labelfunc)
+ return node->typeinfo->labelfunc(node);
+ else
+ return node->typeinfo->name;
}
-/* *********************************************** */
-
-/* GPU material from shader nodes */
-
-static void gpu_from_node_stack(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
+struct bNodeTree *nodeGroupEditGet(struct bNode *node)
{
- bNodeSocket *sock;
- int i;
-
- for (sock=sockets->first, i=0; sock; sock=sock->next, i++) {
- memset(&gs[i], 0, sizeof(gs[i]));
-
- QUATCOPY(gs[i].vec, ns[i]->vec);
- gs[i].link= ns[i]->data;
-
- if (sock->type == SOCK_VALUE)
- gs[i].type= GPU_FLOAT;
- else if (sock->type == SOCK_VECTOR)
- gs[i].type= GPU_VEC3;
- else if (sock->type == SOCK_RGBA)
- gs[i].type= GPU_VEC4;
- else
- gs[i].type= GPU_NONE;
-
- gs[i].name = "";
- gs[i].hasinput= ns[i]->hasinput && ns[i]->data;
- gs[i].hasoutput= ns[i]->hasoutput && ns[i]->data;
- gs[i].sockettype= ns[i]->sockettype;
- }
-
- gs[i].type= GPU_NONE;
+ if (node->typeinfo->group_edit_get)
+ return node->typeinfo->group_edit_get(node);
+ else
+ return NULL;
}
-static void data_from_gpu_stack(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
+struct bNodeTree *nodeGroupEditSet(struct bNode *node, int edit)
{
- bNodeSocket *sock;
- int i;
-
- for (sock=sockets->first, i=0; sock; sock=sock->next, i++) {
- ns[i]->data= gs[i].link;
- ns[i]->sockettype= gs[i].sockettype;
- }
+ if (node->typeinfo->group_edit_set)
+ return node->typeinfo->group_edit_set(node, edit);
+ else if (node->typeinfo->group_edit_get)
+ return node->typeinfo->group_edit_get(node);
+ else
+ return NULL;
}
-static void gpu_node_group_execute(bNodeStack *stack, GPUMaterial *mat, bNode *gnode, bNodeStack **in)
+void nodeGroupEditClear(struct bNode *node)
{
- bNode *node;
- bNodeTree *ntree= (bNodeTree *)gnode->id;
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
- GPUNodeStack gpuin[MAX_SOCKET+1], gpuout[MAX_SOCKET+1];
- int doit = 0;
-
- if(ntree==NULL) return;
-
- stack+= gnode->stack_index;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo->gpufunc) {
- node_get_stack(node, stack, nsin, nsout, in);
-
- doit = 0;
-
- /* for groups, only execute outputs for edited group */
- if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
- if(gnode->flag & NODE_GROUP_EDIT)
- if(node->flag & NODE_DO_OUTPUT)
- doit = 1;
- }
- else
- doit = 1;
-
- if(doit) {
- gpu_from_node_stack(&node->inputs, nsin, gpuin);
- gpu_from_node_stack(&node->outputs, nsout, gpuout);
- if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout))
- data_from_gpu_stack(&node->outputs, nsout, gpuout);
- }
- }
- }
+ if (node->typeinfo->group_edit_clear)
+ node->typeinfo->group_edit_clear(node);
}
-void ntreeGPUMaterialNodes(bNodeTree *ntree, GPUMaterial *mat)
+struct bNodeTemplate nodeMakeTemplate(struct bNode *node)
{
- bNode *node;
- bNodeStack *stack;
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
- GPUNodeStack gpuin[MAX_SOCKET+1], gpuout[MAX_SOCKET+1];
-
- if((ntree->init & NTREE_EXEC_INIT)==0)
- ntreeBeginExecTree(ntree);
-
- stack= ntree->stack;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo->gpufunc) {
- node_get_stack(node, stack, nsin, nsout, NULL);
- gpu_from_node_stack(&node->inputs, nsin, gpuin);
- gpu_from_node_stack(&node->outputs, nsout, gpuout);
- if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout))
- data_from_gpu_stack(&node->outputs, nsout, gpuout);
- }
- else if(node->type==NODE_GROUP && node->id) {
- node_get_stack(node, stack, nsin, nsout, NULL);
- gpu_node_group_execute(stack, mat, node, nsin);
- }
+ bNodeTemplate ntemp;
+ if (node->typeinfo->templatefunc)
+ return node->typeinfo->templatefunc(node);
+ else {
+ ntemp.type = node->type;
+ return ntemp;
}
-
- ntreeEndExecTree(ntree);
}
-/* **************** call to switch lamploop for material node ************ */
-
-void (*node_shader_lamp_loop)(struct ShadeInput *, struct ShadeResult *);
-
-void set_node_shader_lamp_loop(void (*lamp_loop_func)(ShadeInput *, ShadeResult *))
-{
- node_shader_lamp_loop= lamp_loop_func;
-}
-
-/* clumsy checking... should do dynamic outputs once */
-static void force_hidden_passes(bNode *node, int passflag)
-{
- bNodeSocket *sock;
-
- for(sock= node->outputs.first; sock; sock= sock->next)
- sock->flag &= ~SOCK_UNAVAIL;
-
- sock= BLI_findlink(&node->outputs, RRES_OUT_Z);
- if(!(passflag & SCE_PASS_Z)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_NORMAL);
- if(!(passflag & SCE_PASS_NORMAL)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_VEC);
- if(!(passflag & SCE_PASS_VECTOR)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_UV);
- if(!(passflag & SCE_PASS_UV)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_RGBA);
- if(!(passflag & SCE_PASS_RGBA)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_DIFF);
- if(!(passflag & SCE_PASS_DIFFUSE)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_SPEC);
- if(!(passflag & SCE_PASS_SPEC)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_SHADOW);
- if(!(passflag & SCE_PASS_SHADOW)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_AO);
- if(!(passflag & SCE_PASS_AO)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_REFLECT);
- if(!(passflag & SCE_PASS_REFLECT)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_REFRACT);
- if(!(passflag & SCE_PASS_REFRACT)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_INDIRECT);
- if(!(passflag & SCE_PASS_INDIRECT)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_INDEXOB);
- if(!(passflag & SCE_PASS_INDEXOB)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_MIST);
- if(!(passflag & SCE_PASS_MIST)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_EMIT);
- if(!(passflag & SCE_PASS_EMIT)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_ENV);
- if(!(passflag & SCE_PASS_ENVIRONMENT)) sock->flag |= SOCK_UNAVAIL;
-
-}
-
-/* based on rules, force sockets hidden always */
-void ntreeCompositForceHidden(bNodeTree *ntree, Scene *curscene)
+void node_type_base(bNodeType *ntype, int type, const char *name, short nclass, short flag)
{
- bNode *node;
+ memset(ntype, 0, sizeof(bNodeType));
- if(ntree==NULL) return;
+ ntype->type = type;
+ BLI_strncpy(ntype->name, name, sizeof(ntype->name));
+ ntype->nclass = nclass;
+ ntype->flag = flag;
- for(node= ntree->nodes.first; node; node= node->next) {
- if( node->type==CMP_NODE_R_LAYERS) {
- Scene *sce= node->id?(Scene *)node->id:curscene;
- SceneRenderLayer *srl= BLI_findlink(&sce->r.layers, node->custom1);
- if(srl)
- force_hidden_passes(node, srl->passflag);
- }
- else if( node->type==CMP_NODE_IMAGE) {
- Image *ima= (Image *)node->id;
- if(ima) {
- if(ima->rr) {
- ImageUser *iuser= node->storage;
- RenderLayer *rl= BLI_findlink(&ima->rr->layers, iuser->layer);
- if(rl)
- force_hidden_passes(node, rl->passflag);
- else
- force_hidden_passes(node, 0);
- }
- else if(ima->type!=IMA_TYPE_MULTILAYER) { /* if ->rr not yet read we keep inputs */
- force_hidden_passes(node, RRES_OUT_Z);
- }
- else
- force_hidden_passes(node, 0);
- }
- else
- force_hidden_passes(node, 0);
- }
- }
-
+ /* default size values */
+ ntype->width = 140;
+ ntype->minwidth = 100;
+ ntype->maxwidth = 320;
+ ntype->height = 100;
+ ntype->minheight = 30;
+ ntype->maxheight = FLT_MAX;
}
-/* called from render pipeline, to tag render input and output */
-/* need to do all scenes, to prevent errors when you re-render 1 scene */
-void ntreeCompositTagRender(Scene *curscene)
+void node_type_socket_templates(struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs)
{
- Scene *sce;
-
- for(sce= G.main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree) {
- bNode *node;
-
- for(node= sce->nodetree->nodes.first; node; node= node->next) {
- if(node->id==(ID *)curscene || node->type==CMP_NODE_COMPOSITE)
- NodeTagChanged(sce->nodetree, node);
- else if(node->type==CMP_NODE_TEXTURE) /* uses scene sizex/sizey */
- NodeTagChanged(sce->nodetree, node);
- }
- }
- }
+ ntype->inputs = inputs;
+ ntype->outputs = outputs;
}
-static int node_animation_properties(bNodeTree *ntree, bNode *node)
+void node_type_init(struct bNodeType *ntype, void (*initfunc)(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp))
{
- bNodeSocket *sock;
- const ListBase *lb;
- Link *link;
- PointerRNA ptr;
- PropertyRNA *prop;
-
- /* check to see if any of the node's properties have fcurves */
- RNA_pointer_create((ID *)ntree, &RNA_Node, node, &ptr);
- lb = RNA_struct_type_properties(ptr.type);
-
- for (link=lb->first; link; link=link->next) {
- int driven, len=1, index;
- prop = (PropertyRNA *)link;
-
- if (RNA_property_array_check(&ptr, prop))
- len = RNA_property_array_length(&ptr, prop);
-
- for (index=0; index<len; index++) {
- if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
- NodeTagChanged(ntree, node);
- return 1;
- }
- }
- }
-
- /* now check node sockets */
- for (sock = node->inputs.first; sock; sock=sock->next) {
- int driven, len=1, index;
-
- RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
- prop = RNA_struct_find_property(&ptr, "default_value");
-
- if (RNA_property_array_check(&ptr, prop))
- len = RNA_property_array_length(&ptr, prop);
-
- for (index=0; index<len; index++) {
- if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
- NodeTagChanged(ntree, node);
- return 1;
- }
- }
- }
-
- return 0;
+ ntype->initfunc = initfunc;
}
-/* tags nodes that have animation capabilities */
-int ntreeCompositTagAnimated(bNodeTree *ntree)
+void node_type_valid(struct bNodeType *ntype, int (*validfunc)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp))
{
- bNode *node;
- int tagged= 0;
-
- if(ntree==NULL) return 0;
-
- for(node= ntree->nodes.first; node; node= node->next) {
-
- tagged = node_animation_properties(ntree, node);
-
- /* otherwise always tag these node types */
- if(node->type==CMP_NODE_IMAGE) {
- Image *ima= (Image *)node->id;
- if(ima && ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
- NodeTagChanged(ntree, node);
- tagged= 1;
- }
- }
- else if(node->type==CMP_NODE_TIME) {
- NodeTagChanged(ntree, node);
- tagged= 1;
- }
- /* here was tag render layer, but this is called after a render, so re-composites fail */
- else if(node->type==NODE_GROUP) {
- if( ntreeCompositTagAnimated((bNodeTree *)node->id) ) {
- NodeTagChanged(ntree, node);
- }
- }
- }
-
- return tagged;
+ ntype->validfunc = validfunc;
}
-
-/* called from image window preview */
-void ntreeCompositTagGenerators(bNodeTree *ntree)
+void node_type_size(struct bNodeType *ntype, int width, int minwidth, int maxwidth)
{
- bNode *node;
-
- if(ntree==NULL) return;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if( ELEM(node->type, CMP_NODE_R_LAYERS, CMP_NODE_IMAGE))
- NodeTagChanged(ntree, node);
- }
+ ntype->width = width;
+ ntype->minwidth = minwidth;
+ if (maxwidth <= minwidth)
+ ntype->maxwidth = FLT_MAX;
+ else
+ ntype->maxwidth = maxwidth;
}
-/* XXX after render animation system gets a refresh, this call allows composite to end clean */
-void ntreeClearTags(bNodeTree *ntree)
+void node_type_storage(bNodeType *ntype, const char *storagename, void (*freestoragefunc)(struct bNode *), void (*copystoragefunc)(struct bNode *, struct bNode *))
{
- bNode *node;
-
- if(ntree==NULL) return;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- node->need_exec= 0;
- if(node->type==NODE_GROUP)
- ntreeClearTags((bNodeTree *)node->id);
- }
+ if (storagename)
+ strncpy(ntype->storagename, storagename, sizeof(ntype->storagename));
+ else
+ ntype->storagename[0] = '\0';
+ ntype->copystoragefunc = copystoragefunc;
+ ntype->freestoragefunc = freestoragefunc;
}
-
-int ntreeTexTagAnimated(bNodeTree *ntree)
+void node_type_label(struct bNodeType *ntype, const char *(*labelfunc)(struct bNode *))
{
- bNode *node;
-
- if(ntree==NULL) return 0;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->type==TEX_NODE_CURVE_TIME) {
- NodeTagChanged(ntree, node);
- return 1;
- }
- else if(node->type==NODE_GROUP) {
- if( ntreeTexTagAnimated((bNodeTree *)node->id) ) {
- return 1;
- }
- }
- }
-
- return 0;
+ ntype->labelfunc = labelfunc;
}
-/* ************* node definition init ********** */
-
-void node_type_base(bNodeType *ntype, int type, const char *name, short nclass, short flag,
- struct bNodeSocketType *inputs, struct bNodeSocketType *outputs)
+void node_type_template(struct bNodeType *ntype, struct bNodeTemplate (*templatefunc)(struct bNode *))
{
- memset(ntype, 0, sizeof(bNodeType));
-
- ntype->type = type;
- ntype->name = name;
- ntype->nclass = nclass;
- ntype->flag = flag;
-
- ntype->inputs = inputs;
- ntype->outputs = outputs;
-
- /* default size values */
- ntype->width = 140;
- ntype->minwidth = 100;
- ntype->maxwidth = 320;
+ ntype->templatefunc = templatefunc;
}
-void node_type_init(bNodeType *ntype, void (*initfunc)(struct bNode *))
+void node_type_update(struct bNodeType *ntype,
+ void (*updatefunc)(struct bNodeTree *ntree, struct bNode *node),
+ void (*verifyfunc)(struct bNodeTree *ntree, struct bNode *node, struct ID *id))
{
- ntype->initfunc = initfunc;
+ ntype->updatefunc = updatefunc;
+ ntype->verifyfunc = verifyfunc;
}
-void node_type_size(struct bNodeType *ntype, int width, int minwidth, int maxwidth)
+void node_type_tree(struct bNodeType *ntype, void (*inittreefunc)(struct bNodeTree *), void (*updatetreefunc)(struct bNodeTree *))
{
- ntype->width = width;
- ntype->minwidth = minwidth;
- ntype->maxwidth = maxwidth;
+ ntype->inittreefunc = inittreefunc;
+ ntype->updatetreefunc = updatetreefunc;
}
-void node_type_storage(bNodeType *ntype, const char *storagename, void (*freestoragefunc)(struct bNode *), void (*copystoragefunc)(struct bNode *, struct bNode *))
+void node_type_group_edit(struct bNodeType *ntype,
+ struct bNodeTree *(*group_edit_get)(struct bNode *node),
+ struct bNodeTree *(*group_edit_set)(struct bNode *node, int edit),
+ void (*group_edit_clear)(struct bNode *node))
{
- if (storagename)
- strncpy(ntype->storagename, storagename, sizeof(ntype->storagename));
- else
- ntype->storagename[0] = '\0';
- ntype->copystoragefunc = copystoragefunc;
- ntype->freestoragefunc = freestoragefunc;
+ ntype->group_edit_get = group_edit_get;
+ ntype->group_edit_set = group_edit_set;
+ ntype->group_edit_clear = group_edit_clear;
}
void node_type_exec(struct bNodeType *ntype, void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **))
@@ -3402,42 +1714,53 @@ void node_type_exec(struct bNodeType *ntype, void (*execfunc)(void *data, struct
ntype->execfunc = execfunc;
}
+void node_type_exec_new(struct bNodeType *ntype,
+ void *(*initexecfunc)(struct bNode *node),
+ void (*freeexecfunc)(struct bNode *node, void *nodedata),
+ void (*newexecfunc)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **))
+{
+ ntype->initexecfunc = initexecfunc;
+ ntype->freeexecfunc = freeexecfunc;
+ ntype->newexecfunc = newexecfunc;
+}
+
void node_type_gpu(struct bNodeType *ntype, int (*gpufunc)(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out))
{
ntype->gpufunc = gpufunc;
}
-void node_type_label(struct bNodeType *ntype, const char *(*labelfunc)(struct bNode *))
+void node_type_gpu_ext(struct bNodeType *ntype, int (*gpuextfunc)(struct GPUMaterial *mat, struct bNode *node, void *nodedata, struct GPUNodeStack *in, struct GPUNodeStack *out))
{
- ntype->labelfunc = labelfunc;
+ ntype->gpuextfunc = gpuextfunc;
}
-static bNodeType *is_nodetype_registered(ListBase *typelist, int type, ID *id)
+
+static bNodeType *is_nodetype_registered(ListBase *typelist, int type)
{
bNodeType *ntype= typelist->first;
for(;ntype; ntype= ntype->next )
- if(ntype->type==type && ntype->id==id)
+ if(ntype->type==type)
return ntype;
return NULL;
}
-/* type can be from a static array, we make copy for duplicate types (like group) */
-void nodeRegisterType(ListBase *typelist, const bNodeType *ntype)
+void nodeRegisterType(ListBase *typelist, bNodeType *ntype)
{
- bNodeType *found= is_nodetype_registered(typelist, ntype->type, ntype->id);
+ bNodeType *found= is_nodetype_registered(typelist, ntype->type);
- if(found==NULL) {
- bNodeType *ntypen= MEM_callocN(sizeof(bNodeType), "node type");
- *ntypen= *ntype;
- BLI_addtail(typelist, ntypen);
- }
+ if(found==NULL)
+ BLI_addtail(typelist, ntype);
}
static void registerCompositNodes(ListBase *ntypelist)
{
- register_node_type_group(ntypelist);
+ register_node_type_frame(ntypelist);
+
+ register_node_type_cmp_group(ntypelist);
+// register_node_type_cmp_forloop(ntypelist);
+// register_node_type_cmp_whileloop(ntypelist);
register_node_type_cmp_rlayers(ntypelist);
register_node_type_cmp_image(ntypelist);
@@ -3513,7 +1836,11 @@ static void registerCompositNodes(ListBase *ntypelist)
static void registerShaderNodes(ListBase *ntypelist)
{
- register_node_type_group(ntypelist);
+ register_node_type_frame(ntypelist);
+
+ register_node_type_sh_group(ntypelist);
+// register_node_type_sh_forloop(ntypelist);
+// register_node_type_sh_whileloop(ntypelist);
register_node_type_sh_output(ntypelist);
register_node_type_sh_mix_rgb(ntypelist);
@@ -3542,7 +1869,11 @@ static void registerShaderNodes(ListBase *ntypelist)
static void registerTextureNodes(ListBase *ntypelist)
{
- register_node_type_group(ntypelist);
+ register_node_type_frame(ntypelist);
+
+ register_node_type_tex_group(ntypelist);
+// register_node_type_tex_forloop(ntypelist);
+// register_node_type_tex_whileloop(ntypelist);
register_node_type_tex_math(ntypelist);
register_node_type_tex_mix_rgb(ntypelist);
@@ -3583,53 +1914,47 @@ static void registerTextureNodes(ListBase *ntypelist)
register_node_type_tex_proc_distnoise(ntypelist);
}
-static void remove_dynamic_typeinfos(ListBase *list)
+static void free_dynamic_typeinfo(bNodeType *ntype)
{
- bNodeType *ntype= list->first;
- bNodeType *next= NULL;
- while(ntype) {
- next= ntype->next;
- if(ntype->type==NODE_DYNAMIC && ntype->id!=NULL) {
- BLI_remlink(list, ntype);
- if(ntype->inputs) {
- bNodeSocketType *sock= ntype->inputs;
- while(sock->type!=-1) {
- MEM_freeN((void *)sock->name);
- sock++;
- }
- MEM_freeN(ntype->inputs);
- }
- if(ntype->outputs) {
- bNodeSocketType *sock= ntype->outputs;
- while(sock->type!=-1) {
- MEM_freeN((void *)sock->name);
- sock++;
- }
- MEM_freeN(ntype->outputs);
- }
- if(ntype->name) {
- MEM_freeN((void *)ntype->name);
- }
- MEM_freeN(ntype);
+ if(ntype->type==NODE_DYNAMIC) {
+ if(ntype->inputs) {
+ MEM_freeN(ntype->inputs);
}
- ntype= next;
+ if(ntype->outputs) {
+ MEM_freeN(ntype->outputs);
+ }
+ if(ntype->name) {
+ MEM_freeN((void *)ntype->name);
+ }
+ }
+}
+
+static void free_typeinfos(ListBase *list)
+{
+ bNodeType *ntype, *next;
+ for(ntype=list->first; ntype; ntype=next) {
+ next = ntype->next;
+
+ if(ntype->type==NODE_DYNAMIC)
+ free_dynamic_typeinfo(ntype);
+
+ if(ntype->needs_free)
+ MEM_freeN(ntype);
}
}
void init_nodesystem(void)
{
- registerCompositNodes(&node_all_composit);
- registerShaderNodes(&node_all_shaders);
- registerTextureNodes(&node_all_textures);
+ registerCompositNodes(&ntreeGetType(NTREE_COMPOSIT)->node_types);
+ registerShaderNodes(&ntreeGetType(NTREE_SHADER)->node_types);
+ registerTextureNodes(&ntreeGetType(NTREE_TEXTURE)->node_types);
}
void free_nodesystem(void)
{
- /*remove_dynamic_typeinfos(&node_all_composit);*/ /* unused for now */
- BLI_freelistN(&node_all_composit);
- remove_dynamic_typeinfos(&node_all_shaders);
- BLI_freelistN(&node_all_shaders);
- BLI_freelistN(&node_all_textures);
+ free_typeinfos(&ntreeGetType(NTREE_COMPOSIT)->node_types);
+ free_typeinfos(&ntreeGetType(NTREE_SHADER)->node_types);
+ free_typeinfos(&ntreeGetType(NTREE_TEXTURE)->node_types);
}
/* called from unlink_scene, when deleting a scene goes over all scenes
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 189f2735aa8..898cec7fa55 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -54,6 +54,7 @@
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_sequence_types.h"
+#include "DNA_sound_types.h"
#include "DNA_space_types.h"
#include "DNA_view3d_types.h"
#include "DNA_world_types.h"
@@ -96,6 +97,7 @@
#include "BKE_sca.h"
#include "BKE_scene.h"
#include "BKE_sequencer.h"
+#include "BKE_speaker.h"
#include "BKE_softbody.h"
#include "BKE_material.h"
@@ -989,6 +991,7 @@ static void *add_obdata_from_type(int type)
case OB_LAMP: return add_lamp("Lamp");
case OB_LATTICE: return add_lattice("Lattice");
case OB_ARMATURE: return add_armature("Armature");
+ case OB_SPEAKER: return add_speaker("Speaker");
case OB_EMPTY: return NULL;
default:
printf("add_obdata_from_type: Internal error, bad type: %d\n", type);
@@ -1008,6 +1011,7 @@ static const char *get_obdata_defname(int type)
case OB_LAMP: return "Lamp";
case OB_LATTICE: return "Lattice";
case OB_ARMATURE: return "Armature";
+ case OB_SPEAKER: return "Speaker";
case OB_EMPTY: return "Empty";
default:
printf("get_obdata_defname: Internal error, bad type: %d\n", type);
@@ -1051,7 +1055,7 @@ Object *add_only_object(int type, const char *name)
ob->empty_drawtype= OB_PLAINAXES;
ob->empty_drawsize= 1.0;
- if(type==OB_CAMERA || type==OB_LAMP) {
+ if(type==OB_CAMERA || type==OB_LAMP || type==OB_SPEAKER) {
ob->trackflag= OB_NEGZ;
ob->upflag= OB_POSY;
}
@@ -2085,7 +2089,7 @@ void where_is_object_time(Scene *scene, Object *ob, float ctime)
if(ob==NULL) return;
/* execute drivers only, as animation has already been done */
- BKE_animsys_evaluate_animdata(&ob->id, ob->adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, ob->adt, ctime, ADT_RECALC_DRIVERS);
if(ob->parent) {
Object *par= ob->parent;
@@ -2624,7 +2628,7 @@ void object_handle_update(Scene *scene, Object *ob)
if(adt) {
/* evaluate drivers */
// XXX: for mesh types, should we push this to derivedmesh instead?
- BKE_animsys_evaluate_animdata(data_id, adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, data_id, adt, ctime, ADT_RECALC_DRIVERS);
}
/* includes all keys and modifiers */
@@ -2642,11 +2646,12 @@ void object_handle_update(Scene *scene, Object *ob)
#else /* ensure CD_MASK_BAREMESH for now */
EditMesh *em = (ob == scene->obedit)? BKE_mesh_get_editmesh(ob->data): NULL;
+ unsigned int data_mask= scene->customdata_mask | ob->customdata_mask | CD_MASK_BAREMESH;
if(em) {
- makeDerivedMesh(scene, ob, em, scene->customdata_mask | CD_MASK_BAREMESH); /* was CD_MASK_BAREMESH */
+ makeDerivedMesh(scene, ob, em, data_mask); /* was CD_MASK_BAREMESH */
BKE_mesh_end_editmesh(ob->data, em);
} else
- makeDerivedMesh(scene, ob, NULL, scene->customdata_mask | CD_MASK_BAREMESH);
+ makeDerivedMesh(scene, ob, NULL, data_mask);
#endif
}
@@ -3134,7 +3139,7 @@ int object_is_modified(Scene *scene, Object *ob)
int flag= 0;
if(ob_get_key(ob)) {
- flag |= eModifierMode_Render | eModifierMode_Render;
+ flag |= eModifierMode_Render;
}
else {
ModifierData *md;
diff --git a/source/blender/blenkernel/intern/paint.c b/source/blender/blenkernel/intern/paint.c
index 5be492d1108..d00eb6192da 100644
--- a/source/blender/blenkernel/intern/paint.c
+++ b/source/blender/blenkernel/intern/paint.c
@@ -85,8 +85,11 @@ Brush *paint_brush(Paint *p)
void paint_brush_set(Paint *p, Brush *br)
{
- if(p)
+ if(p) {
+ id_us_min((ID *)p->brush);
+ id_us_plus((ID *)br);
p->brush= br;
+ }
}
int paint_facesel_test(Object *ob)
@@ -110,12 +113,17 @@ void paint_init(Paint *p, const char col[3])
p->flags |= PAINT_SHOW_BRUSH;
}
-void free_paint(Paint *UNUSED(paint))
+void free_paint(Paint *paint)
{
- /* nothing */
+ id_us_min((ID *)paint->brush);
}
+/* called when copying scene settings, so even if 'src' and 'tar' are the same
+ * still do a id_us_plus(), rather then if we were copying betweem 2 existing
+ * scenes where a matching value should decrease the existing user count as
+ * with paint_brush_set() */
void copy_paint(Paint *src, Paint *tar)
{
tar->brush= src->brush;
+ id_us_plus((ID *)tar->brush);
}
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c
index f71e2e9a6e9..86c646fa257 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -2889,8 +2889,6 @@ void psys_cache_paths(ParticleSimulationData *sim, float cfra)
if(psys_in_edit_mode(sim->scene, psys))
if(psys->renderdata==0 && (psys->edit==NULL || pset->flag & PE_DRAW_PART)==0)
return;
-
- BLI_srandom(psys->seed);
keyed = psys->flag & PSYS_KEYED;
baked = psys->pointcache->mem_cache.first && psys->part->type != PART_HAIR;
@@ -3163,7 +3161,7 @@ void psys_cache_edit_paths(Scene *scene, Object *ob, PTCacheEdit *edit, float cf
}
else {
ca->vel[0] = ca->vel[1] = 0.0f;
- ca->vel[1] = 1.0f;
+ ca->vel[2] = 1.0f;
}
/* selection coloring in edit mode */
@@ -3534,6 +3532,8 @@ static void default_particle_settings(ParticleSettings *part)
part->path_start = 0.0f;
part->path_end = 1.0f;
+ part->bb_size[0] = part->bb_size[1] = 1.0f;
+
part->keyed_loops = 1;
part->color_vec_max = 1.f;
@@ -4372,58 +4372,46 @@ void psys_get_dupli_path_transform(ParticleSimulationData *sim, ParticleData *pa
Object *ob = sim->ob;
ParticleSystem *psys = sim->psys;
ParticleSystemModifierData *psmd = sim->psmd;
- float loc[3], nor[3], vec[3], side[3], len, obrotmat[4][4], qmat[4][4];
- float xvec[3] = {-1.0, 0.0, 0.0}, q[4], nmat[3][3];
+ float loc[3], nor[3], vec[3], side[3], len;
+ float xvec[3] = {-1.0, 0.0, 0.0}, nmat[3][3];
sub_v3_v3v3(vec, (cache+cache->steps)->co, cache->co);
len= normalize_v3(vec);
- if(psys->part->rotmode) {
- if(pa == NULL)
- pa= psys->particles+cpa->pa[0];
+ if(pa == NULL && psys->part->childflat != PART_CHILD_FACES)
+ pa = psys->particles + cpa->pa[0];
- vec_to_quat( q,xvec, ob->trackflag, ob->upflag);
- quat_to_mat4( obrotmat,q);
- obrotmat[3][3]= 1.0f;
-
- quat_to_mat4( qmat,pa->state.rot);
- mul_m4_m4m4(mat, obrotmat, qmat);
- }
- else {
- if(pa == NULL && psys->part->childflat != PART_CHILD_FACES)
- pa = psys->particles + cpa->pa[0];
-
- if(pa)
- psys_particle_on_emitter(psmd,sim->psys->part->from,pa->num,pa->num_dmcache,pa->fuv,pa->foffset,loc,nor,0,0,0,0);
- else
- psys_particle_on_emitter(psmd,PART_FROM_FACE,cpa->num,DMCACHE_ISCHILD,cpa->fuv,cpa->foffset,loc,nor,0,0,0,0);
+ if(pa)
+ psys_particle_on_emitter(psmd,sim->psys->part->from,pa->num,pa->num_dmcache,pa->fuv,pa->foffset,loc,nor,0,0,0,0);
+ else
+ psys_particle_on_emitter(psmd,PART_FROM_FACE,cpa->num,DMCACHE_ISCHILD,cpa->fuv,cpa->foffset,loc,nor,0,0,0,0);
- copy_m3_m4(nmat, ob->imat);
- transpose_m3(nmat);
- mul_m3_v3(nmat, nor);
-
- /* make sure that we get a proper side vector */
- if(fabs(dot_v3v3(nor,vec))>0.999999) {
- if(fabs(dot_v3v3(nor,xvec))>0.999999) {
- nor[0] = 0.0f;
- nor[1] = 1.0f;
- nor[2] = 0.0f;
- }
- else {
- nor[0] = 1.0f;
- nor[1] = 0.0f;
- nor[2] = 0.0f;
- }
+ copy_m3_m4(nmat, ob->imat);
+ transpose_m3(nmat);
+ mul_m3_v3(nmat, nor);
+ normalize_v3(nor);
+
+ /* make sure that we get a proper side vector */
+ if(fabs(dot_v3v3(nor,vec))>0.999999) {
+ if(fabs(dot_v3v3(nor,xvec))>0.999999) {
+ nor[0] = 0.0f;
+ nor[1] = 1.0f;
+ nor[2] = 0.0f;
+ }
+ else {
+ nor[0] = 1.0f;
+ nor[1] = 0.0f;
+ nor[2] = 0.0f;
}
- cross_v3_v3v3(side, nor, vec);
- normalize_v3(side);
- cross_v3_v3v3(nor, vec, side);
-
- unit_m4(mat);
- VECCOPY(mat[0], vec);
- VECCOPY(mat[1], side);
- VECCOPY(mat[2], nor);
}
+ cross_v3_v3v3(side, nor, vec);
+ normalize_v3(side);
+ cross_v3_v3v3(nor, vec, side);
+
+ unit_m4(mat);
+ VECCOPY(mat[0], vec);
+ VECCOPY(mat[1], side);
+ VECCOPY(mat[2], nor);
*scale= len;
}
@@ -4505,8 +4493,8 @@ void psys_make_billboard(ParticleBillboardData *bb, float xvec[3], float yvec[3]
mul_v3_fl(tvec, -sin(bb->tilt * (float)M_PI));
VECADD(yvec, yvec, tvec);
- mul_v3_fl(xvec, bb->size);
- mul_v3_fl(yvec, bb->size);
+ mul_v3_fl(xvec, bb->size[0]);
+ mul_v3_fl(yvec, bb->size[1]);
VECADDFAC(center, bb->vec, xvec, bb->offset[0]);
VECADDFAC(center, center, yvec, bb->offset[1]);
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index fca8d470dc1..e1ea6e419d3 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -69,6 +69,7 @@
#include "BLI_listbase.h"
#include "BLI_threads.h"
#include "BLI_storage.h" /* For _LARGEFILE64_SOURCE; zlib needs this on some systems */
+#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BKE_main.h"
@@ -104,12 +105,6 @@
#include <zlib.h>
#include <string.h>
-#ifdef WIN32
-#ifndef snprintf
-#define snprintf _snprintf
-#endif
-#endif
-
#endif // DISABLE_ELBEEM
/************************************************/
@@ -1562,8 +1557,7 @@ static void initialize_all_particles(ParticleSimulationData *sim)
}
}
}
-/* sets particle to the emitter surface with initial velocity & rotation */
-void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime, float cfra)
+void psys_get_birth_coordinates(ParticleSimulationData *sim, ParticleData *pa, ParticleKey *state, float dtime, float cfra)
{
Object *ob = sim->ob;
ParticleSystem *psys = sim->psys;
@@ -1575,17 +1569,6 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
float q_phase[4];
int p = pa - psys->particles;
part=psys->part;
-
- /* get precise emitter matrix if particle is born */
- if(part->type!=PART_HAIR && dtime > 0.f && pa->time < cfra && pa->time >= sim->psys->cfra) {
- /* we have to force RECALC_ANIM here since where_is_objec_time only does drivers */
- while(ob) {
- BKE_animsys_evaluate_animdata(&ob->id, ob->adt, pa->time, ADT_RECALC_ANIM);
- ob = ob->parent;
- }
- ob = sim->ob;
- where_is_object_time(sim->scene, ob, pa->time);
- }
/* get birth location from object */
if(part->tanfac != 0.f)
@@ -1594,7 +1577,7 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
psys_particle_on_emitter(sim->psmd, part->from,pa->num, pa->num_dmcache, pa->fuv,pa->foffset,loc,nor,0,0,0,0);
/* get possible textural influence */
- psys_get_texture(sim, pa, &ptex, PAMAP_IVEL|PAMAP_LIFE, cfra);
+ psys_get_texture(sim, pa, &ptex, PAMAP_IVEL, cfra);
/* particles live in global space so */
/* let's convert: */
@@ -1654,37 +1637,27 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
mat4_to_quat(rot,ob->obmat);
mul_qt_qtqt(r_rot,r_rot,rot);
}
-#if 0
- }
-#endif
if(part->phystype==PART_PHYS_BOIDS && pa->boid) {
- BoidParticle *bpa = pa->boid;
float dvec[3], q[4], mat[3][3];
- copy_v3_v3(pa->state.co,loc);
+ copy_v3_v3(state->co,loc);
/* boids don't get any initial velocity */
- zero_v3(pa->state.vel);
+ zero_v3(state->vel);
/* boids store direction in ave */
if(fabsf(nor[2])==1.0f) {
- sub_v3_v3v3(pa->state.ave, loc, ob->obmat[3]);
- normalize_v3(pa->state.ave);
+ sub_v3_v3v3(state->ave, loc, ob->obmat[3]);
+ normalize_v3(state->ave);
}
else {
- VECCOPY(pa->state.ave, nor);
+ VECCOPY(state->ave, nor);
}
- /* and gravity in r_ve */
- bpa->gravity[0] = bpa->gravity[1] = 0.0f;
- bpa->gravity[2] = -1.0f;
- if((sim->scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY)
- && sim->scene->physics_settings.gravity[2]!=0.0f)
- bpa->gravity[2] = sim->scene->physics_settings.gravity[2];
/* calculate rotation matrix */
- project_v3_v3v3(dvec, r_vel, pa->state.ave);
- sub_v3_v3v3(mat[0], pa->state.ave, dvec);
+ project_v3_v3v3(dvec, r_vel, state->ave);
+ sub_v3_v3v3(mat[0], state->ave, dvec);
normalize_v3(mat[0]);
negate_v3_v3(mat[2], r_vel);
normalize_v3(mat[2]);
@@ -1692,12 +1665,7 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
/* apply rotation */
mat3_to_quat_is_ok( q,mat);
- copy_qt_qt(pa->state.rot, q);
-
- bpa->data.health = part->boids->health;
- bpa->data.mode = eBoidMode_InAir;
- bpa->data.state_id = ((BoidState*)part->boids->states.first)->id;
- bpa->data.acc[0]=bpa->data.acc[1]=bpa->data.acc[2]=0.0f;
+ copy_qt_qt(state->rot, q);
}
else {
/* conversion done so now we apply new: */
@@ -1710,7 +1678,7 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
/* *emitter velocity */
if(dtime != 0.f && part->obfac != 0.f){
- sub_v3_v3v3(vel, loc, pa->state.co);
+ sub_v3_v3v3(vel, loc, state->co);
mul_v3_fl(vel, part->obfac/dtime);
}
@@ -1747,13 +1715,13 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
if(part->partfac != 0.f)
madd_v3_v3fl(vel, p_vel, part->partfac);
- mul_v3_v3fl(pa->state.vel, vel, ptex.ivel);
+ mul_v3_v3fl(state->vel, vel, ptex.ivel);
/* -location from emitter */
- copy_v3_v3(pa->state.co,loc);
+ copy_v3_v3(state->co,loc);
/* -rotation */
- unit_qt(pa->state.rot);
+ unit_qt(state->rot);
if(part->rotmode){
/* create vector into which rotation is aligned */
@@ -1793,32 +1761,74 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
axis_angle_to_quat( q_phase,x_vec, phasefac*(float)M_PI);
/* combine base rotation & phase */
- mul_qt_qtqt(pa->state.rot, rot, q_phase);
+ mul_qt_qtqt(state->rot, rot, q_phase);
}
/* -angular velocity */
- zero_v3(pa->state.ave);
+ zero_v3(state->ave);
if(part->avemode){
switch(part->avemode){
case PART_AVE_SPIN:
- copy_v3_v3(pa->state.ave, vel);
+ copy_v3_v3(state->ave, vel);
break;
case PART_AVE_RAND:
- copy_v3_v3(pa->state.ave, r_ave);
+ copy_v3_v3(state->ave, r_ave);
break;
}
- normalize_v3(pa->state.ave);
- mul_v3_fl(pa->state.ave,part->avefac);
+ normalize_v3(state->ave);
+ mul_v3_fl(state->ave, part->avefac);
}
}
+}
+/* sets particle to the emitter surface with initial velocity & rotation */
+void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime, float cfra)
+{
+ Object *ob = sim->ob;
+ ParticleSystem *psys = sim->psys;
+ ParticleSettings *part;
+ ParticleTexture ptex;
+ int p = pa - psys->particles;
+ part=psys->part;
+
+ /* get precise emitter matrix if particle is born */
+ if(part->type!=PART_HAIR && dtime > 0.f && pa->time < cfra && pa->time >= sim->psys->cfra) {
+ /* we have to force RECALC_ANIM here since where_is_objec_time only does drivers */
+ while(ob) {
+ BKE_animsys_evaluate_animdata(sim->scene, &ob->id, ob->adt, pa->time, ADT_RECALC_ANIM);
+ ob = ob->parent;
+ }
+ ob = sim->ob;
+ where_is_object_time(sim->scene, ob, pa->time);
+ }
+
+ psys_get_birth_coordinates(sim, pa, &pa->state, dtime, cfra);
+
+ if(part->phystype==PART_PHYS_BOIDS && pa->boid) {
+ BoidParticle *bpa = pa->boid;
+
+ /* and gravity in r_ve */
+ bpa->gravity[0] = bpa->gravity[1] = 0.0f;
+ bpa->gravity[2] = -1.0f;
+ if((sim->scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY)
+ && sim->scene->physics_settings.gravity[2]!=0.0f)
+ bpa->gravity[2] = sim->scene->physics_settings.gravity[2];
+
+ bpa->data.health = part->boids->health;
+ bpa->data.mode = eBoidMode_InAir;
+ bpa->data.state_id = ((BoidState*)part->boids->states.first)->id;
+ bpa->data.acc[0]=bpa->data.acc[1]=bpa->data.acc[2]=0.0f;
+ }
if(part->type == PART_HAIR){
pa->lifetime = 100.0f;
}
else{
+ /* get possible textural influence */
+ psys_get_texture(sim, pa, &ptex, PAMAP_LIFE, cfra);
+
pa->lifetime = part->lifetime * ptex.life;
if(part->randlife != 0.0f)
@@ -1904,6 +1914,7 @@ static void set_keyed_keys(ParticleSimulationData *sim)
PARTICLE_P;
ParticleKey *key;
int totpart = psys->totpart, k, totkeys = psys->totkeyed;
+ int keyed_flag = 0;
ksim.scene= sim->scene;
@@ -1933,6 +1944,8 @@ static void set_keyed_keys(ParticleSimulationData *sim)
for(k=0; k<totkeys; k++) {
ksim.ob = pt->ob ? pt->ob : sim->ob;
ksim.psys = BLI_findlink(&ksim.ob->particlesystem, pt->psys - 1);
+ keyed_flag = (ksim.psys->flag & PSYS_KEYED);
+ ksim.psys->flag &= ~PSYS_KEYED;
LOOP_PARTICLES {
key = pa->keys + k;
@@ -1956,6 +1969,8 @@ static void set_keyed_keys(ParticleSimulationData *sim)
if(psys->flag & PSYS_KEYED_TIMING && pt->duration!=0.0f)
k++;
+ ksim.psys->flag |= keyed_flag;
+
pt = (pt->next && pt->next->flag & PTARGET_VALID)? pt->next : psys->targets.first;
}
@@ -3490,13 +3505,15 @@ static void do_hair_dynamics(ParticleSimulationData *sim)
static void hair_step(ParticleSimulationData *sim, float cfra)
{
ParticleSystem *psys = sim->psys;
-/* ParticleSettings *part = psys->part; */
+ ParticleSettings *part = psys->part;
PARTICLE_P;
float disp = (float)psys_get_current_display_percentage(psys)/100.0f;
- BLI_srandom(psys->seed);
-
LOOP_PARTICLES {
+ pa->size = part->size;
+ if(part->randsize > 0.0f)
+ pa->size *= 1.0f - part->randsize * PSYS_FRAND(p + 1);
+
if(PSYS_FRAND(p) > disp)
pa->flag |= PARS_NO_DISP;
else
@@ -3650,7 +3667,7 @@ static void dynamics_step(ParticleSimulationData *sim, float cfra)
pa->size *= 1.0f - part->randsize * PSYS_FRAND(p + 1);
birthtime = pa->time;
- dietime = birthtime + pa->lifetime;
+ dietime = pa->dietime;
/* store this, so we can do multiple loops over particles */
pa->state.time = dfra;
@@ -3781,8 +3798,6 @@ static void cached_step(ParticleSimulationData *sim, float cfra)
PARTICLE_P;
float disp, dietime;
- BLI_srandom(psys->seed);
-
psys_update_effectors(sim);
disp= (float)psys_get_current_display_percentage(psys)/100.0f;
@@ -3856,7 +3871,7 @@ static void particles_fluid_step(ParticleSimulationData *sim, int UNUSED(cfra))
gzf = gzopen(filename, "rb");
if (!gzf) {
- snprintf(debugStrBuffer,256,"readFsPartData::error - Unable to open file for reading '%s' \n", filename);
+ BLI_snprintf(debugStrBuffer, sizeof(debugStrBuffer),"readFsPartData::error - Unable to open file for reading '%s' \n", filename);
// XXX bad level call elbeemDebugOut(debugStrBuffer);
return;
}
@@ -3917,7 +3932,7 @@ static void particles_fluid_step(ParticleSimulationData *sim, int UNUSED(cfra))
gzclose( gzf );
totpart = psys->totpart = activeParts;
- snprintf(debugStrBuffer,256,"readFsPartData::done - particles:%d, active:%d, file:%d, mask:%d \n", psys->totpart,activeParts,fileParts,readMask);
+ BLI_snprintf(debugStrBuffer,sizeof(debugStrBuffer),"readFsPartData::done - particles:%d, active:%d, file:%d, mask:%d \n", psys->totpart,activeParts,fileParts,readMask);
// bad level call
// XXX elbeemDebugOut(debugStrBuffer);
@@ -3967,7 +3982,7 @@ static void system_step(ParticleSimulationData *sim, float cfra)
BKE_ptcache_id_time(pid, sim->scene, 0.0f, &startframe, &endframe, NULL);
/* clear everythin on start frame */
- if((int)cfra == startframe) {
+ if(cfra == startframe) {
BKE_ptcache_id_reset(sim->scene, pid, PTCACHE_RESET_OUTDATED);
BKE_ptcache_validate(cache, startframe);
cache->flag &= ~PTCACHE_REDO_NEEDED;
@@ -4034,7 +4049,6 @@ static void system_step(ParticleSimulationData *sim, float cfra)
/* set particles to be not calculated TODO: can't work with pointcache */
disp= (float)psys_get_current_display_percentage(psys)/100.0f;
- BLI_srandom(psys->seed);
LOOP_PARTICLES {
if(PSYS_FRAND(p) > disp)
pa->flag |= PARS_NO_DISP;
@@ -4234,7 +4248,7 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys)
return;
/* execute drivers only, as animation has already been done */
- BKE_animsys_evaluate_animdata(&part->id, part->adt, cfra, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, &part->id, part->adt, cfra, ADT_RECALC_DRIVERS);
if(psys->recalc & PSYS_RECALC_TYPE)
psys_changed_type(&sim);
@@ -4272,7 +4286,7 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys)
for(i=0; i<=part->hair_step; i++){
hcfra=100.0f*(float)i/(float)psys->part->hair_step;
if((part->flag & PART_HAIR_REGROW)==0)
- BKE_animsys_evaluate_animdata(&part->id, part->adt, hcfra, ADT_RECALC_ANIM);
+ BKE_animsys_evaluate_animdata(scene, &part->id, part->adt, hcfra, ADT_RECALC_ANIM);
system_step(&sim, hcfra);
psys->cfra = hcfra;
psys->recalc = 0;
@@ -4350,7 +4364,7 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys)
if(psys->cfra < cfra) {
/* make sure emitter is left at correct time (particle emission can change this) */
while(ob) {
- BKE_animsys_evaluate_animdata(&ob->id, ob->adt, cfra, ADT_RECALC_ANIM);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, ob->adt, cfra, ADT_RECALC_ANIM);
ob = ob->parent;
}
ob = sim.ob;
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 64893bb0b5b..a56010a5ccf 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -516,6 +516,7 @@ static int ptcache_cloth_totpoint(void *cloth_v, int UNUSED(cfra))
return clmd->clothObject ? clmd->clothObject->numverts : 0;
}
+#ifdef WITH_SMOKE
/* Smoke functions */
static int ptcache_smoke_totpoint(void *smoke_v, int UNUSED(cfra))
{
@@ -652,6 +653,11 @@ static void ptcache_smoke_read(PTCacheFile *pf, void *smoke_v)
}
}
}
+#else // WITH_SMOKE
+static int ptcache_smoke_totpoint(void *UNUSED(smoke_v), int UNUSED(cfra)) { return 0; };
+static void ptcache_smoke_read(PTCacheFile *UNUSED(pf), void *UNUSED(smoke_v)) {}
+static int ptcache_smoke_write(PTCacheFile *UNUSED(pf), void *UNUSED(smoke_v)) { return 0; }
+#endif // WITH_SMOKE
/* Creating ID's */
void BKE_ptcache_id_from_softbody(PTCacheID *pid, Object *ob, SoftBody *sb)
@@ -911,14 +917,14 @@ static int ptcache_path(PTCacheID *pid, char *filename)
if (i > 6)
file[i-6] = '\0';
- snprintf(filename, MAX_PTCACHE_PATH, "//"PTCACHE_PATH"%s", file); /* add blend file name to pointcache dir */
+ BLI_snprintf(filename, MAX_PTCACHE_PATH, "//"PTCACHE_PATH"%s", file); /* add blend file name to pointcache dir */
BLI_path_abs(filename, blendfilename);
return BLI_add_slash(filename); /* new strlen() */
}
/* use the temp path. this is weak but better then not using point cache at all */
/* btempdir is assumed to exist and ALWAYS has a trailing slash */
- snprintf(filename, MAX_PTCACHE_PATH, "%s"PTCACHE_PATH"%d", btempdir, abs(getpid()));
+ BLI_snprintf(filename, MAX_PTCACHE_PATH, "%s"PTCACHE_PATH"%d", btempdir, abs(getpid()));
return BLI_add_slash(filename); /* new strlen() */
}
@@ -942,7 +948,7 @@ static int ptcache_filename(PTCacheID *pid, char *filename, int cfra, short do_p
idname = (pid->ob->id.name+2);
/* convert chars to hex so they are always a valid filename */
while('\0' != *idname) {
- snprintf(newname, MAX_PTCACHE_FILE, "%02X", (char)(*idname++));
+ BLI_snprintf(newname, MAX_PTCACHE_FILE, "%02X", (char)(*idname++));
newname+=2;
len += 2;
}
@@ -961,12 +967,12 @@ static int ptcache_filename(PTCacheID *pid, char *filename, int cfra, short do_p
if(pid->cache->flag & PTCACHE_EXTERNAL) {
if(pid->cache->index >= 0)
- snprintf(newname, MAX_PTCACHE_FILE, "_%06d_%02d"PTCACHE_EXT, cfra, pid->stack_index); /* always 6 chars */
+ BLI_snprintf(newname, MAX_PTCACHE_FILE, "_%06d_%02u"PTCACHE_EXT, cfra, pid->stack_index); /* always 6 chars */
else
- snprintf(newname, MAX_PTCACHE_FILE, "_%06d"PTCACHE_EXT, cfra); /* always 6 chars */
+ BLI_snprintf(newname, MAX_PTCACHE_FILE, "_%06d"PTCACHE_EXT, cfra); /* always 6 chars */
}
else {
- snprintf(newname, MAX_PTCACHE_FILE, "_%06d_%02d"PTCACHE_EXT, cfra, pid->stack_index); /* always 6 chars */
+ BLI_snprintf(newname, MAX_PTCACHE_FILE, "_%06d_%02u"PTCACHE_EXT, cfra, pid->stack_index); /* always 6 chars */
}
len += 16;
}
@@ -1996,7 +2002,7 @@ void BKE_ptcache_id_clear(PTCacheID *pid, int mode, unsigned int cfra)
if (dir==NULL)
return;
- snprintf(ext, sizeof(ext), "_%02d"PTCACHE_EXT, pid->stack_index);
+ BLI_snprintf(ext, sizeof(ext), "_%02u"PTCACHE_EXT, pid->stack_index);
while ((de = readdir(dir)) != NULL) {
if (strstr(de->d_name, ext)) { /* do we have the right extension?*/
@@ -2124,7 +2130,8 @@ void BKE_ptcache_id_time(PTCacheID *pid, Scene *scene, float cfra, int *startfra
{
Object *ob;
PointCache *cache;
- float offset, time, nexttime;
+ /* float offset; unused for now */
+ float time, nexttime;
/* TODO: this has to be sorter out once bsystem_time gets redone, */
/* now caches can handle interpolating etc. too - jahka */
@@ -2152,13 +2159,18 @@ void BKE_ptcache_id_time(PTCacheID *pid, Scene *scene, float cfra, int *startfra
*startframe= cache->startframe;
*endframe= cache->endframe;
- // XXX ipoflag is depreceated - old animation system stuff
- if (/*(ob->ipoflag & OB_OFFS_PARENT) &&*/ (ob->partype & PARSLOW)==0) {
+ /* TODO: time handling with object offsets and simulated vs. cached
+ * particles isn't particularly easy, so for now what you see is what
+ * you get. In the future point cache could handle the whole particle
+ * system timing. */
+#if 0
+ if ((ob->partype & PARSLOW)==0) {
offset= give_timeoffset(ob);
*startframe += (int)(offset+0.5f);
*endframe += (int)(offset+0.5f);
}
+#endif
}
/* verify cached_frames array is up to date */
@@ -2192,7 +2204,7 @@ void BKE_ptcache_id_time(PTCacheID *pid, Scene *scene, float cfra, int *startfra
if (dir==NULL)
return;
- snprintf(ext, sizeof(ext), "_%02d"PTCACHE_EXT, pid->stack_index);
+ BLI_snprintf(ext, sizeof(ext), "_%02u"PTCACHE_EXT, pid->stack_index);
while ((de = readdir(dir)) != NULL) {
if (strstr(de->d_name, ext)) { /* do we have the right extension?*/
@@ -2892,7 +2904,7 @@ void BKE_ptcache_disk_cache_rename(PTCacheID *pid, char *from, char *to)
return;
}
- snprintf(ext, sizeof(ext), "_%02d"PTCACHE_EXT, pid->stack_index);
+ BLI_snprintf(ext, sizeof(ext), "_%02u"PTCACHE_EXT, pid->stack_index);
/* put new name into cache */
strcpy(pid->cache->name, to);
@@ -2948,7 +2960,7 @@ void BKE_ptcache_load_external(PTCacheID *pid)
return;
if(cache->index >= 0)
- snprintf(ext, sizeof(ext), "_%02d"PTCACHE_EXT, cache->index);
+ BLI_snprintf(ext, sizeof(ext), "_%02d"PTCACHE_EXT, cache->index);
else
strcpy(ext, PTCACHE_EXT);
diff --git a/source/blender/blenkernel/intern/report.c b/source/blender/blenkernel/intern/report.c
index f84d98a31b4..4926edaeec2 100644
--- a/source/blender/blenkernel/intern/report.c
+++ b/source/blender/blenkernel/intern/report.c
@@ -44,12 +44,6 @@
#include <stdio.h>
#include <string.h>
-#ifdef _WIN32
-#ifndef vsnprintf
-#define vsnprintf _vsnprintf
-#endif
-#endif
-
static const char *report_type_str(int type)
{
switch(type) {
diff --git a/source/blender/blenkernel/intern/sca.c b/source/blender/blenkernel/intern/sca.c
index ee410e75873..d529a6d94c9 100644
--- a/source/blender/blenkernel/intern/sca.c
+++ b/source/blender/blenkernel/intern/sca.c
@@ -431,6 +431,7 @@ void init_actuator(bActuator *act)
act->data= MEM_callocN(sizeof(bCameraActuator), "camact");
ca = act->data;
ca->axis = ACT_CAMERA_X;
+ ca->damping = 1.0/32.0;
break;
case ACT_EDIT_OBJECT:
act->data= MEM_callocN(sizeof(bEditObjectActuator), "editobact");
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 31d7d8fe08e..1454b3f0ce3 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -469,15 +469,16 @@ Scene *add_scene(const char *name)
sce->r.ffcodecdata.audio_mixrate = 44100;
sce->r.ffcodecdata.audio_volume = 1.0f;
sce->r.ffcodecdata.audio_bitrate = 192;
+ sce->r.ffcodecdata.audio_channels = 2;
BLI_strncpy(sce->r.engine, "BLENDER_RENDER", sizeof(sce->r.engine));
- sce->audio.distance_model = 2.0;
- sce->audio.doppler_factor = 1.0;
- sce->audio.speed_of_sound = 343.3;
+ sce->audio.distance_model = 2.0f;
+ sce->audio.doppler_factor = 1.0f;
+ sce->audio.speed_of_sound = 343.3f;
+ sce->audio.volume = 1.0f;
- strcpy(sce->r.backbuf, "//backbuf");
- strcpy(sce->r.pic, U.renderdir);
+ BLI_strncpy(sce->r.pic, U.renderdir, sizeof(sce->r.pic));
BLI_init_rctf(&sce->r.safety, 0.1f, 0.9f, 0.1f, 0.9f);
sce->r.osa= 8;
@@ -932,7 +933,7 @@ static void scene_update_drivers(Main *UNUSED(bmain), Scene *scene)
/* scene itself */
if (scene->adt && scene->adt->drivers.first) {
- BKE_animsys_evaluate_animdata(&scene->id, scene->adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, &scene->id, scene->adt, ctime, ADT_RECALC_DRIVERS);
}
/* world */
@@ -942,7 +943,7 @@ static void scene_update_drivers(Main *UNUSED(bmain), Scene *scene)
AnimData *adt= BKE_animdata_from_id(wid);
if (adt && adt->drivers.first)
- BKE_animsys_evaluate_animdata(wid, adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, wid, adt, ctime, ADT_RECALC_DRIVERS);
}
/* nodes */
@@ -951,7 +952,7 @@ static void scene_update_drivers(Main *UNUSED(bmain), Scene *scene)
AnimData *adt= BKE_animdata_from_id(nid);
if (adt && adt->drivers.first)
- BKE_animsys_evaluate_animdata(nid, adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, nid, adt, ctime, ADT_RECALC_DRIVERS);
}
}
@@ -982,6 +983,9 @@ static void scene_update_tagged_recursive(Main *bmain, Scene *scene, Scene *scen
/* scene drivers... */
scene_update_drivers(bmain, scene);
+
+ /* update sound system animation */
+ sound_update_scene(scene);
}
/* this is called in main loop, doing tagged updates before redraw */
@@ -1002,7 +1006,7 @@ void scene_update_tagged(Main *bmain, Scene *scene)
float ctime = BKE_curframe(scene);
if (adt && (adt->recalc & ADT_RECALC_ANIM))
- BKE_animsys_evaluate_animdata(&scene->id, adt, ctime, 0);
+ BKE_animsys_evaluate_animdata(scene, &scene->id, adt, ctime, 0);
}
if (scene->physics_settings.quick_cache_step)
@@ -1017,6 +1021,8 @@ void scene_update_for_newframe(Main *bmain, Scene *sce, unsigned int lay)
{
float ctime = BKE_curframe(sce);
Scene *sce_iter;
+
+ sound_set_cfra(sce->r.cfra);
/* clear animation overrides */
// XXX TODO...
@@ -1037,7 +1043,7 @@ void scene_update_for_newframe(Main *bmain, Scene *sce, unsigned int lay)
* can be overridden by settings from Scene, which owns the Texture through a hierarchy
* such as Scene->World->MTex/Texture) can still get correctly overridden.
*/
- BKE_animsys_evaluate_all_animation(bmain, ctime);
+ BKE_animsys_evaluate_all_animation(bmain, sce, ctime);
/*...done with recusrive funcs */
/* object_handle_update() on all objects, groups and sets */
diff --git a/source/blender/blenkernel/intern/seqeffects.c b/source/blender/blenkernel/intern/seqeffects.c
index c19a74deff6..43747fde729 100644
--- a/source/blender/blenkernel/intern/seqeffects.c
+++ b/source/blender/blenkernel/intern/seqeffects.c
@@ -1582,7 +1582,7 @@ typedef struct WipeZone {
static void precalc_wipe_zone(WipeZone *wipezone, WipeVars *wipe, int xo, int yo)
{
wipezone->flip = (wipe->angle < 0);
- wipezone->angle = pow(fabsf(wipe->angle)/45.0f, log(xo)/log(2.0f));
+ wipezone->angle = pow(fabsf(wipe->angle)/45.0f, log(xo)/M_LN2);
wipezone->xo = xo;
wipezone->yo = yo;
wipezone->width = (int)(wipe->edgeWidth*((xo+yo)/2.0f));
@@ -2029,16 +2029,11 @@ static void init_transform_effect(Sequence *seq)
transform->ScalexIni = 1.0f;
transform->ScaleyIni = 1.0f;
- transform->ScalexFin = 1.0f;
- transform->ScalexFin = 1.0f;
transform->xIni=0.0f;
- transform->xFin=0.0f;
transform->yIni=0.0f;
- transform->yFin=0.0f;
transform->rotIni=0.0f;
- transform->rotFin=0.0f;
transform->interpolation=1;
transform->percent=1;
@@ -2373,7 +2368,7 @@ static void RVBlurBitmap2_float ( float* map, int width,int height,
/* Blancmange (bmange@airdmhor.gen.nz) */
k = -1.0f/(2.0f*(float)M_PI*blur*blur);
- fval=0;
+
for (ix = 0;ix< halfWidth;ix++){
weight = (float)exp(k*(ix*ix));
filter[halfWidth - ix] = weight;
@@ -2878,7 +2873,7 @@ static struct ImBuf * do_adjustment_impl(SeqRenderData context, Sequence * seq,
{
Editing * ed;
ListBase * seqbasep;
- struct ImBuf * i = 0;
+ struct ImBuf * i= NULL;
ed = context.scene->ed;
@@ -2913,7 +2908,7 @@ static struct ImBuf * do_adjustment(
struct ImBuf *UNUSED(ibuf1), struct ImBuf *UNUSED(ibuf2),
struct ImBuf *UNUSED(ibuf3))
{
- struct ImBuf * i = 0;
+ struct ImBuf * i = NULL;
struct ImBuf * out;
Editing * ed;
@@ -3036,7 +3031,7 @@ void sequence_effect_speed_rebuild_map(Scene *scene, Sequence * seq, int force)
/* XXX - new in 2.5x. should we use the animation system this way?
* The fcurve is needed because many frames need evaluating at once - campbell */
- fcu= id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "speed_factor", 0);
+ fcu= id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "speed_factor", 0, NULL);
if (!v->frameMap || v->length != seq->len) {
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index b82ac69fc9e..dbb2e7860c5 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -73,13 +73,11 @@
#include "BKE_context.h"
#include "BKE_sound.h"
-#include "AUD_C-API.h"
-#ifdef WIN32
-#define snprintf _snprintf
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
#endif
-
static ImBuf* seq_render_strip_stack(
SeqRenderData context, ListBase *seqbasep, float cfra, int chanshown);
@@ -215,6 +213,18 @@ void seq_free_sequence(Scene *scene, Sequence *seq)
MEM_freeN(seq);
}
+void seq_free_sequence_recurse(Scene *scene, Sequence *seq)
+{
+ Sequence *iseq;
+
+ for(iseq= seq->seqbase.first; iseq; iseq= iseq->next) {
+ seq_free_sequence_recurse(scene, iseq);
+ }
+
+ seq_free_sequence(scene, seq);
+}
+
+
Editing *seq_give_editing(Scene *scene, int alloc)
{
if (scene->ed == NULL && alloc) {
@@ -530,7 +540,7 @@ void calc_sequence_disp(Scene *scene, Sequence *seq)
seq->handsize= (float)((seq->enddisp-seq->startdisp)/25);
}
- seq_update_sound(scene, seq);
+ seq_update_sound_bounds(scene, seq);
}
static void seq_update_sound_bounds_recursive(Scene *scene, Sequence *metaseq)
@@ -680,13 +690,16 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range)
}
case SEQ_MOVIE:
if(seq->anim) IMB_free_anim(seq->anim);
- seq->anim = openanim(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0));
+ seq->anim = openanim(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0), seq->streamindex);
if (!seq->anim) {
return;
}
- seq->len = IMB_anim_get_duration(seq->anim);
+ seq->len = IMB_anim_get_duration(seq->anim,
+ seq->strip->proxy ?
+ seq->strip->proxy->tc :
+ IMB_TC_RECORD_RUN);
seq->anim_preseek = IMB_anim_get_preseek(seq->anim);
@@ -696,7 +709,9 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range)
seq->len = 0;
}
seq->strip->len = seq->len;
+ break;
case SEQ_SOUND:
+#ifdef WITH_AUDASPACE
if(!seq->sound)
return;
seq->len = ceil(AUD_getInfo(seq->sound->playback_handle).length * FPS);
@@ -706,6 +721,9 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range)
seq->len = 0;
}
seq->strip->len = seq->len;
+#else
+ return;
+#endif
break;
case SEQ_SCENE:
{
@@ -1109,7 +1127,7 @@ static int get_shown_sequences( ListBase * seqbasep, int cfra, int chanshown, Se
return cnt;
}
-
+
/* **********************************************************************
proxy management
@@ -1117,49 +1135,106 @@ static int get_shown_sequences( ListBase * seqbasep, int cfra, int chanshown, Se
#define PROXY_MAXFILE (2*FILE_MAXDIR+FILE_MAXFILE)
+static IMB_Proxy_Size seq_rendersize_to_proxysize(int size)
+{
+ if (size >= 100) {
+ return IMB_PROXY_NONE;
+ }
+ if (size >= 99) {
+ return IMB_PROXY_100;
+ }
+ if (size >= 75) {
+ return IMB_PROXY_75;
+ }
+ if (size >= 50) {
+ return IMB_PROXY_50;
+ }
+ return IMB_PROXY_25;
+}
+
+static void seq_open_anim_file(Sequence * seq)
+{
+ char name[FILE_MAXDIR+FILE_MAXFILE];
+ StripProxy * proxy;
+
+ if(seq->anim != NULL) {
+ return;
+ }
+
+ BLI_join_dirfile(name, sizeof(name),
+ seq->strip->dir, seq->strip->stripdata->name);
+ BLI_path_abs(name, G.main->name);
+
+ seq->anim = openanim(name, IB_rect |
+ ((seq->flag & SEQ_FILTERY) ?
+ IB_animdeinterlace : 0), seq->streamindex);
+
+ if (seq->anim == NULL) {
+ return;
+ }
+
+ proxy = seq->strip->proxy;
+
+ if (proxy == NULL) {
+ return;
+ }
+
+ if (seq->flag & SEQ_USE_PROXY_CUSTOM_DIR) {
+ IMB_anim_set_index_dir(seq->anim, seq->strip->proxy->dir);
+ }
+}
+
+
static int seq_proxy_get_fname(SeqRenderData context, Sequence * seq, int cfra, char * name)
{
int frameno;
- char dir[FILE_MAXDIR];
+ char dir[PROXY_MAXFILE];
+ int render_size = context.preview_render_size;
if (!seq->strip->proxy) {
return FALSE;
}
+ /* MOVIE tracks (only exception: custom files) are now handled
+ internally by ImBuf module for various reasons: proper time code
+ support, quicker index build, using one file instead
+ of a full directory of jpeg files, etc. Trying to support old
+ and new method at once could lead to funny effects, if people
+ have both, a directory full of jpeg files and proxy avis, so
+ sorry folks, please rebuild your proxies... */
+
if (seq->flag & (SEQ_USE_PROXY_CUSTOM_DIR|SEQ_USE_PROXY_CUSTOM_FILE)) {
strcpy(dir, seq->strip->proxy->dir);
+ } else if (seq->type == SEQ_IMAGE) {
+ BLI_snprintf(dir, PROXY_MAXFILE, "%s/BL_proxy", seq->strip->dir);
} else {
- if (ELEM(seq->type, SEQ_IMAGE, SEQ_MOVIE)) {
- snprintf(dir, FILE_MAXDIR, "%s/BL_proxy", seq->strip->dir);
- } else {
- return FALSE;
- }
+ return FALSE;
}
if (seq->flag & SEQ_USE_PROXY_CUSTOM_FILE) {
- BLI_join_dirfile(name, FILE_MAX, dir, seq->strip->proxy->file); /* XXX, not real length */
+ BLI_join_dirfile(name, PROXY_MAXFILE,
+ dir, seq->strip->proxy->file);
BLI_path_abs(name, G.main->name);
return TRUE;
}
+ /* dirty hack to distinguish 100% render size from PROXY_100 */
+ if (render_size == 99) {
+ render_size = 100;
+ }
+
/* generate a separate proxy directory for each preview size */
- switch(seq->type) {
- case SEQ_IMAGE:
- snprintf(name, PROXY_MAXFILE, "%s/images/%d/%s_proxy", dir,
+ if (seq->type == SEQ_IMAGE) {
+ BLI_snprintf(name, PROXY_MAXFILE, "%s/images/%d/%s_proxy", dir,
context.preview_render_size,
give_stripelem(seq, cfra)->name);
frameno = 1;
- break;
- case SEQ_MOVIE:
- frameno = (int) give_stripelem_index(seq, cfra) + seq->anim_startofs;
- snprintf(name, PROXY_MAXFILE, "%s/%s/%d/####", dir,
- seq->strip->stripdata->name, context.preview_render_size);
- break;
- default:
- frameno = (int) give_stripelem_index(seq, cfra) + seq->anim_startofs;
- snprintf(name, PROXY_MAXFILE, "%s/proxy_misc/%d/####", dir,
+ } else {
+ frameno = (int) give_stripelem_index(seq, cfra)
+ + seq->anim_startofs;
+ BLI_snprintf(name, PROXY_MAXFILE, "%s/proxy_misc/%d/####", dir,
context.preview_render_size);
}
@@ -1174,13 +1249,18 @@ static int seq_proxy_get_fname(SeqRenderData context, Sequence * seq, int cfra,
static struct ImBuf * seq_proxy_fetch(SeqRenderData context, Sequence * seq, int cfra)
{
char name[PROXY_MAXFILE];
+ IMB_Proxy_Size psize = seq_rendersize_to_proxysize(
+ context.preview_render_size);
+ int size_flags;
if (!(seq->flag & SEQ_USE_PROXY)) {
return NULL;
}
- /* rendering at 100% ? No real sense in proxy-ing, right? */
- if (context.preview_render_size == 100) {
+ size_flags = seq->strip->proxy->build_size_flags;
+
+ /* only use proxies, if they are enabled (even if present!) */
+ if (psize != IMB_PROXY_NONE && ((size_flags & psize) != psize)) {
return NULL;
}
@@ -1191,13 +1271,19 @@ static struct ImBuf * seq_proxy_fetch(SeqRenderData context, Sequence * seq, int
return NULL;
}
- seq->strip->proxy->anim = openanim(name, IB_rect);
+ seq->strip->proxy->anim = openanim(name, IB_rect, 0);
}
if (seq->strip->proxy->anim==NULL) {
return NULL;
}
- return IMB_anim_absolute(seq->strip->proxy->anim, frameno);
+ seq_open_anim_file(seq);
+
+ frameno = IMB_anim_index_get_frame_index(
+ seq->anim, seq->strip->proxy->tc, frameno);
+
+ return IMB_anim_absolute(seq->strip->proxy->anim, frameno,
+ IMB_TC_NONE, IMB_PROXY_NONE);
}
if (seq_proxy_get_fname(context, seq, cfra, name) == 0) {
@@ -1211,67 +1297,30 @@ static struct ImBuf * seq_proxy_fetch(SeqRenderData context, Sequence * seq, int
}
}
-#if 0
-static void do_build_seq_ibuf(Scene *scene, Sequence * seq, TStripElem *se, int cfra,
- int build_proxy_run, int preview_render_size);
-
-static void seq_proxy_build_frame(Scene *scene, Sequence * seq, int cfra, int preview_render_size, int seqrectx, int seqrecty)
+static void seq_proxy_build_frame(SeqRenderData context,
+ Sequence* seq, int cfra,
+ int proxy_render_size)
{
char name[PROXY_MAXFILE];
int quality;
- TStripElem * se;
- int ok;
int rectx, recty;
+ int ok;
struct ImBuf * ibuf;
- if (!(seq->flag & SEQ_USE_PROXY)) {
+ if (!seq_proxy_get_fname(context, seq, cfra, name)) {
return;
}
- /* rendering at 100% ? No real sense in proxy-ing, right? */
- if (preview_render_size == 100) {
- return;
- }
+ ibuf = seq_render_strip(context, seq, cfra);
- /* that's why it is called custom... */
- if (seq->flag & SEQ_USE_PROXY_CUSTOM_FILE) {
- return;
- }
-
- if (!seq_proxy_get_fname(scene, seq, cfra, name, preview_render_size)) {
- return;
- }
-
- se = give_tstripelem(seq, cfra);
- if (!se) {
- return;
- }
-
- if(se->ibuf) {
- IMB_freeImBuf(se->ibuf);
- se->ibuf = 0;
- }
-
- do_build_seq_ibuf(scene, seq, se, cfra, TRUE, preview_render_size,
- seqrectx, seqrecty);
-
- if (!se->ibuf) {
- return;
- }
-
- rectx= (preview_render_size*scene->r.xsch)/100;
- recty= (preview_render_size*scene->r.ysch)/100;
-
- ibuf = se->ibuf;
+ rectx = (proxy_render_size * context.scene->r.xsch) / 100;
+ recty = (proxy_render_size * context.scene->r.ysch) / 100;
if (ibuf->x != rectx || ibuf->y != recty) {
IMB_scalefastImBuf(ibuf, (short)rectx, (short)recty);
}
- /* quality is fixed, otherwise one has to generate separate
- directories for every quality...
-
- depth = 32 is intentionally left in, otherwise ALPHA channels
+ /* depth = 32 is intentionally left in, otherwise ALPHA channels
won't work... */
quality = seq->strip->proxy->quality;
ibuf->ftype= JPG | quality;
@@ -1284,69 +1333,80 @@ static void seq_proxy_build_frame(Scene *scene, Sequence * seq, int cfra, int pr
}
IMB_freeImBuf(ibuf);
- se->ibuf = 0;
}
-static void seq_proxy_rebuild(Scene *scene, Sequence * seq, int seqrectx,
- int seqrecty)
+void seq_proxy_rebuild(struct Main * bmain, Scene *scene, Sequence * seq,
+ short *stop, short *do_update, float *progress)
{
+ SeqRenderData context;
int cfra;
- float rsize = seq->strip->proxy->size;
+ int tc_flags;
+ int size_flags;
+ int quality;
- waitcursor(1);
+ if (!seq->strip || !seq->strip->proxy) {
+ return;
+ }
- G.afbreek = 0;
+ if (!(seq->flag & SEQ_USE_PROXY)) {
+ return;
+ }
- /* flag management tries to account for strobe and
- other "non-linearities", that might come in the future...
- better way would be to "touch" the files, so that _really_
- no one is rebuild twice.
- */
+ tc_flags = seq->strip->proxy->build_tc_flags;
+ size_flags = seq->strip->proxy->build_size_flags;
+ quality = seq->strip->proxy->quality;
- for (cfra = seq->startdisp; cfra < seq->enddisp; cfra++) {
- TStripElem * tse = give_tstripelem(seq, cfra);
+ if (seq->type == SEQ_MOVIE) {
+ seq_open_anim_file(seq);
- tse->flag &= ~STRIPELEM_PREVIEW_DONE;
+ if (seq->anim) {
+ IMB_anim_index_rebuild(
+ seq->anim, tc_flags, size_flags, quality,
+ stop, do_update, progress);
+ }
+ return;
}
-
+ if (!(seq->flag & SEQ_USE_PROXY)) {
+ return;
+ }
- /* a _lot_ faster for movie files, if we read frames in
- sequential order */
- if (seq->flag & SEQ_REVERSE_FRAMES) {
- for (cfra = seq->enddisp-seq->endstill-1;
- cfra >= seq->startdisp + seq->startstill; cfra--) {
- TStripElem * tse = give_tstripelem(seq, cfra);
-
- if (!(tse->flag & STRIPELEM_PREVIEW_DONE)) {
-//XXX set_timecursor(cfra);
- seq_proxy_build_frame(scene, seq, cfra, rsize,
- seqrectx, seqrecty);
- tse->flag |= STRIPELEM_PREVIEW_DONE;
- }
- if (blender_test_break()) {
- break;
- }
+ /* that's why it is called custom... */
+ if (seq->flag & SEQ_USE_PROXY_CUSTOM_FILE) {
+ return;
+ }
+
+ /* fail safe code */
+
+ context = seq_new_render_data(
+ bmain, scene,
+ (scene->r.size * (float) scene->r.xsch) / 100.0f + 0.5f,
+ (scene->r.size * (float) scene->r.ysch) / 100.0f + 0.5f,
+ 100);
+
+ for (cfra = seq->startdisp + seq->startstill;
+ cfra < seq->enddisp - seq->endstill; cfra++) {
+ if (size_flags & IMB_PROXY_25) {
+ seq_proxy_build_frame(context, seq, cfra, 25);
}
- } else {
- for (cfra = seq->startdisp + seq->startstill;
- cfra < seq->enddisp - seq->endstill; cfra++) {
- TStripElem * tse = give_tstripelem(seq, cfra);
-
- if (!(tse->flag & STRIPELEM_PREVIEW_DONE)) {
-//XXX set_timecursor(cfra);
- seq_proxy_build_frame(scene, seq, cfra, rsize,
- seqrectx, seqrecty);
- tse->flag |= STRIPELEM_PREVIEW_DONE;
- }
- if (blender_test_break()) {
- break;
- }
+ if (size_flags & IMB_PROXY_50) {
+ seq_proxy_build_frame(context, seq, cfra, 50);
+ }
+ if (size_flags & IMB_PROXY_75) {
+ seq_proxy_build_frame(context, seq, cfra, 75);
+ }
+ if (size_flags & IMB_PROXY_100) {
+ seq_proxy_build_frame(context, seq, cfra, 100);
}
+
+ *progress= (float)cfra/(seq->enddisp - seq->endstill
+ - seq->startdisp + seq->startstill);
+ *do_update= 1;
+
+ if(*stop || G.afbreek)
+ break;
}
- waitcursor(0);
}
-#endif
/* **********************************************************************
@@ -1563,6 +1623,8 @@ static ImBuf * input_preprocess(
{
float mul;
+ ibuf = IMB_makeSingleUser(ibuf);
+
if((seq->flag & SEQ_FILTERY) && seq->type != SEQ_MOVIE) {
IMB_filtery(ibuf);
}
@@ -1767,7 +1829,7 @@ static ImBuf* seq_render_effect_strip_impl(
facf= fac;
}
else {
- fcu = id_data_find_fcurve(&context.scene->id, seq, &RNA_Sequence, "effect_fader", 0);
+ fcu = id_data_find_fcurve(&context.scene->id, seq, &RNA_Sequence, "effect_fader", 0, NULL);
if (fcu) {
fac = facf = evaluate_fcurve(fcu, cfra);
if( context.scene->r.mode & R_FIELDS ) {
@@ -2088,17 +2150,20 @@ static ImBuf * seq_render_strip(SeqRenderData context, Sequence * seq, float cfr
}
case SEQ_MOVIE:
{
- if(seq->anim==NULL) {
- BLI_join_dirfile(name, sizeof(name), seq->strip->dir, seq->strip->stripdata->name);
- BLI_path_abs(name, G.main->name);
-
- seq->anim = openanim(name, IB_rect |
- ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0));
- }
+ seq_open_anim_file(seq);
if(seq->anim) {
- IMB_anim_set_preseek(seq->anim, seq->anim_preseek);
- ibuf = IMB_anim_absolute(seq->anim, nr + seq->anim_startofs);
+ IMB_anim_set_preseek(seq->anim,
+ seq->anim_preseek);
+
+ ibuf = IMB_anim_absolute(
+ seq->anim, nr + seq->anim_startofs,
+ seq->strip->proxy ?
+ seq->strip->proxy->tc
+ : IMB_TC_RECORD_RUN,
+ seq_rendersize_to_proxysize(
+ context.preview_render_size));
+
/* we don't need both (speed reasons)! */
if (ibuf && ibuf->rect_float && ibuf->rect)
imb_freerectImBuf(ibuf);
@@ -2115,7 +2180,7 @@ static ImBuf * seq_render_strip(SeqRenderData context, Sequence * seq, float cfr
ibuf = seq_render_scene_strip_impl(context, seq, nr);
/* Scene strips update all animation, so we need to restore original state.*/
- BKE_animsys_evaluate_all_animation(context.bmain, cfra);
+ BKE_animsys_evaluate_all_animation(context.bmain, context.scene, cfra);
copy_to_ibuf_still(context, seq, nr, ibuf);
break;
@@ -2192,7 +2257,7 @@ static ImBuf* seq_render_strip_stack(
if(scene->r.cfra != cfra) {
// XXX for prefetch and overlay offset!..., very bad!!!
AnimData *adt= BKE_animdata_from_id(&scene->id);
- BKE_animsys_evaluate_animdata(&scene->id, adt, cfra, ADT_RECALC_ANIM);
+ BKE_animsys_evaluate_animdata(scene, &scene->id, adt, cfra, ADT_RECALC_ANIM);
}
#endif
@@ -3137,16 +3202,33 @@ int shuffle_seq_time(ListBase * seqbasep, Scene *evil_scene)
return offset? 0:1;
}
-void seq_update_sound(Scene* scene, Sequence *seq)
+void seq_update_sound_bounds_all(Scene *scene)
{
- if(seq->scene_sound)
- {
+ Editing *ed = scene->ed;
+
+ if(ed) {
+ Sequence *seq;
+
+ for(seq = ed->seqbase.first; seq; seq = seq->next) {
+ if(seq->type == SEQ_META) {
+ seq_update_sound_bounds_recursive(scene, seq);
+ }
+ else if(ELEM(seq->type, SEQ_SOUND, SEQ_SCENE)) {
+ seq_update_sound_bounds(scene, seq);
+ }
+ }
+ }
+}
+
+void seq_update_sound_bounds(Scene* scene, Sequence *seq)
+{
+ if(seq->scene_sound) {
sound_move_scene_sound(scene, seq->scene_sound, seq->startdisp, seq->enddisp, seq->startofs + seq->anim_startofs);
/* mute is set in seq_update_muting_recursive */
}
}
-static void seq_update_muting_recursive(Scene *scene, ListBase *seqbasep, Sequence *metaseq, int mute)
+static void seq_update_muting_recursive(ListBase *seqbasep, Sequence *metaseq, int mute)
{
Sequence *seq;
int seqmute;
@@ -3162,26 +3244,49 @@ static void seq_update_muting_recursive(Scene *scene, ListBase *seqbasep, Sequen
if(seq == metaseq)
seqmute= 0;
- seq_update_muting_recursive(scene, &seq->seqbase, metaseq, seqmute);
+ seq_update_muting_recursive(&seq->seqbase, metaseq, seqmute);
}
else if(ELEM(seq->type, SEQ_SOUND, SEQ_SCENE)) {
if(seq->scene_sound) {
- sound_mute_scene_sound(scene, seq->scene_sound, seqmute);
+ sound_mute_scene_sound(seq->scene_sound, seqmute);
}
}
}
}
-void seq_update_muting(Scene *scene, Editing *ed)
+void seq_update_muting(Editing *ed)
{
if(ed) {
/* mute all sounds up to current metastack list */
MetaStack *ms= ed->metastack.last;
if(ms)
- seq_update_muting_recursive(scene, &ed->seqbase, ms->parseq, 1);
+ seq_update_muting_recursive(&ed->seqbase, ms->parseq, 1);
else
- seq_update_muting_recursive(scene, &ed->seqbase, NULL, 0);
+ seq_update_muting_recursive(&ed->seqbase, NULL, 0);
+ }
+}
+
+static void seq_update_sound_recursive(Scene *scene, ListBase *seqbasep, bSound *sound)
+{
+ Sequence *seq;
+
+ for(seq=seqbasep->first; seq; seq=seq->next) {
+ if(seq->type == SEQ_META) {
+ seq_update_sound_recursive(scene, &seq->seqbase, sound);
+ }
+ else if(seq->type == SEQ_SOUND) {
+ if(seq->scene_sound && sound == seq->sound) {
+ sound_update_scene_sound(seq->scene_sound, sound);
+ }
+ }
+ }
+}
+
+void seq_update_sound(struct Scene *scene, struct bSound *sound)
+{
+ if(scene->ed) {
+ seq_update_sound_recursive(scene, &scene->ed->seqbase, sound);
}
}
@@ -3225,9 +3330,10 @@ int seq_swap(Sequence *seq_a, Sequence *seq_b, const char **error_str)
{
char name[sizeof(seq_a->name)];
- if(seq_a->len != seq_b->len)
+ if(seq_a->len != seq_b->len) {
*error_str= "Strips must be the same length";
return 0;
+ }
/* type checking, could be more advanced but disalow sound vs non-sound copy */
if(seq_a->type != seq_b->type) {
@@ -3437,7 +3543,7 @@ void seq_load_apply(Scene *scene, Sequence *seq, SeqLoadInfo *seq_load)
if(seq_load->flag & SEQ_LOAD_SOUND_CACHE) {
if(seq->sound)
- sound_cache(seq->sound, 0);
+ sound_cache(seq->sound);
}
seq_load->tot_success++;
@@ -3464,6 +3570,7 @@ Sequence *alloc_sequence(ListBase *lb, int cfra, int machine)
seq->mul= 1.0;
seq->blend_opacity = 100.0;
seq->volume = 1.0f;
+ seq->pitch = 1.0f;
seq->scene_sound = NULL;
return seq;
@@ -3493,8 +3600,10 @@ Sequence *sequencer_add_image_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
return seq;
}
+#ifdef WITH_AUDASPACE
Sequence *sequencer_add_sound_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo *seq_load)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C); /* only for sound */
Editing *ed= seq_give_editing(scene, TRUE);
bSound *sound;
@@ -3516,7 +3625,7 @@ Sequence *sequencer_add_sound_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
info = AUD_getInfo(sound->playback_handle);
if (info.specs.channels == AUD_CHANNELS_INVALID) {
- sound_delete(C, sound);
+ sound_delete(bmain, sound);
//if(op)
// BKE_report(op->reports, RPT_ERROR, "Unsupported audio format");
return NULL;
@@ -3550,6 +3659,15 @@ Sequence *sequencer_add_sound_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
return seq;
}
+#else // WITH_AUDASPACE
+Sequence *sequencer_add_sound_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo *seq_load)
+{
+ (void)C;
+ (void)seqbasep;
+ (void)seq_load;
+ return NULL;
+}
+#endif // WITH_AUDASPACE
Sequence *sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo *seq_load)
{
@@ -3565,7 +3683,7 @@ Sequence *sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
BLI_strncpy(path, seq_load->path, sizeof(path));
BLI_path_abs(path, G.main->name);
- an = openanim(path, IB_rect);
+ an = openanim(path, IB_rect, 0);
if(an==NULL)
return NULL;
@@ -3581,7 +3699,7 @@ Sequence *sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
/* basic defaults */
seq->strip= strip= MEM_callocN(sizeof(Strip), "strip");
- strip->len = seq->len = IMB_anim_get_duration( an );
+ strip->len = seq->len = IMB_anim_get_duration( an, IMB_TC_RECORD_RUN );
strip->us= 1;
/* we only need 1 element for MOVIE strips */
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c
index 4405bce3d51..6ab1574ca80 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -140,6 +140,19 @@ static void fill_scs_points(Object *ob, DerivedMesh *dm, SmokeCollSettings *scs)
#define TRI_UVOFFSET (1./4.)
+/* Stubs to use when smoke is disabled */
+#ifndef WITH_SMOKE
+struct WTURBULENCE *smoke_turbulence_init(int *UNUSED(res), int UNUSED(amplify), int UNUSED(noisetype)) { return NULL; }
+struct FLUID_3D *smoke_init(int *UNUSED(res), float *UNUSED(p0)) { return NULL; }
+void smoke_free(struct FLUID_3D *UNUSED(fluid)) {}
+void smoke_turbulence_free(struct WTURBULENCE *UNUSED(wt)) {}
+void smoke_initWaveletBlenderRNA(struct WTURBULENCE *UNUSED(wt), float *UNUSED(strength)) {}
+void smoke_initBlenderRNA(struct FLUID_3D *UNUSED(fluid), float *UNUSED(alpha), float *UNUSED(beta), float *UNUSED(dt_factor), float *UNUSED(vorticity), int *UNUSED(border_colli)) {}
+long long smoke_get_mem_req(int UNUSED(xres), int UNUSED(yres), int UNUSED(zres), int UNUSED(amplify)) { return 0; }
+void smokeModifier_do(SmokeModifierData *UNUSED(smd), Scene *UNUSED(scene), Object *UNUSED(ob), DerivedMesh *UNUSED(dm)) {}
+#endif // WITH_SMOKE
+
+
static int smokeModifier_init (SmokeModifierData *smd, Object *ob, Scene *scene, DerivedMesh *dm)
{
if((smd->type & MOD_SMOKE_TYPE_DOMAIN) && smd->domain && !smd->domain->fluid)
@@ -805,6 +818,9 @@ void smokeModifier_copy(struct SmokeModifierData *smd, struct SmokeModifierData
// forward decleration
static void smoke_calc_transparency(float *result, float *input, float *p0, float *p1, int res[3], float dx, float *light, bresenham_callback cb, float correct);
static float calc_voxel_transp(float *result, float *input, int res[3], int *pixel, float *tRay, float correct);
+
+#ifdef WITH_SMOKE
+
static int get_lamp(Scene *scene, float *light)
{
Base *base_tmp = NULL;
@@ -1646,3 +1662,4 @@ static void smoke_calc_transparency(float *result, float *input, float *p0, floa
}
}
+#endif // WITH_SMOKE
diff --git a/source/blender/blenkernel/intern/softbody.c b/source/blender/blenkernel/intern/softbody.c
index ff238678eeb..2960d8a41e5 100644
--- a/source/blender/blenkernel/intern/softbody.c
+++ b/source/blender/blenkernel/intern/softbody.c
@@ -75,6 +75,7 @@ variables on the UI for now
#include "BKE_curve.h"
#include "BKE_effect.h"
#include "BKE_global.h"
+#include "BKE_modifier.h"
#include "BKE_softbody.h"
#include "BKE_DerivedMesh.h"
#include "BKE_pointcache.h"
@@ -289,21 +290,24 @@ typedef struct ccd_Mesh {
-static ccd_Mesh *ccd_mesh_make(Object *ob, DerivedMesh *dm)
+static ccd_Mesh *ccd_mesh_make(Object *ob)
{
+ CollisionModifierData *cmd;
ccd_Mesh *pccd_M = NULL;
ccdf_minmax *mima =NULL;
MFace *mface=NULL;
float v[3],hull;
int i;
+ cmd =(CollisionModifierData *)modifiers_findByType(ob, eModifierType_Collision);
+
/* first some paranoia checks */
- if (!dm) return NULL;
- if (!dm->getNumVerts(dm) || !dm->getNumFaces(dm)) return NULL;
+ if (!cmd) return NULL;
+ if (!cmd->numverts || !cmd->numfaces) return NULL;
pccd_M = MEM_mallocN(sizeof(ccd_Mesh),"ccd_Mesh");
- pccd_M->totvert = dm->getNumVerts(dm);
- pccd_M->totface = dm->getNumFaces(dm);
+ pccd_M->totvert = cmd->numverts;
+ pccd_M->totface = cmd->numfaces;
pccd_M->savety = CCD_SAVETY;
pccd_M->bbmin[0]=pccd_M->bbmin[1]=pccd_M->bbmin[2]=1e30f;
pccd_M->bbmax[0]=pccd_M->bbmax[1]=pccd_M->bbmax[2]=-1e30f;
@@ -314,12 +318,10 @@ static ccd_Mesh *ccd_mesh_make(Object *ob, DerivedMesh *dm)
hull = MAX2(ob->pd->pdef_sbift,ob->pd->pdef_sboft);
/* alloc and copy verts*/
- pccd_M->mvert = dm->dupVertArray(dm);
- /* ah yeah, put the verices to global coords once */
- /* and determine the ortho BB on the fly */
+ pccd_M->mvert = MEM_dupallocN(cmd->xnew);
+ /* note that xnew coords are already in global space, */
+ /* determine the ortho BB */
for(i=0; i < pccd_M->totvert; i++){
- mul_m4_v3(ob->obmat, pccd_M->mvert[i].co);
-
/* evaluate limits */
VECCOPY(v,pccd_M->mvert[i].co);
pccd_M->bbmin[0] = MIN2(pccd_M->bbmin[0],v[0]-hull);
@@ -332,7 +334,7 @@ static ccd_Mesh *ccd_mesh_make(Object *ob, DerivedMesh *dm)
}
/* alloc and copy faces*/
- pccd_M->mface = dm->dupFaceArray(dm);
+ pccd_M->mface = MEM_dupallocN(cmd->mfaces);
/* OBBs for idea1 */
pccd_M->mima = MEM_mallocN(sizeof(ccdf_minmax)*pccd_M->totface,"ccd_Mesh_Faces_mima");
@@ -386,19 +388,22 @@ static ccd_Mesh *ccd_mesh_make(Object *ob, DerivedMesh *dm)
}
return pccd_M;
}
-static void ccd_mesh_update(Object *ob,ccd_Mesh *pccd_M, DerivedMesh *dm)
+static void ccd_mesh_update(Object *ob,ccd_Mesh *pccd_M)
{
- ccdf_minmax *mima =NULL;
+ CollisionModifierData *cmd;
+ ccdf_minmax *mima =NULL;
MFace *mface=NULL;
float v[3],hull;
int i;
+ cmd =(CollisionModifierData *)modifiers_findByType(ob, eModifierType_Collision);
+
/* first some paranoia checks */
- if (!dm) return ;
- if (!dm->getNumVerts(dm) || !dm->getNumFaces(dm)) return ;
+ if (!cmd) return ;
+ if (!cmd->numverts || !cmd->numfaces) return ;
- if ((pccd_M->totvert != dm->getNumVerts(dm)) ||
- (pccd_M->totface != dm->getNumFaces(dm))) return;
+ if ((pccd_M->totvert != cmd->numverts) ||
+ (pccd_M->totface != cmd->numfaces)) return;
pccd_M->bbmin[0]=pccd_M->bbmin[1]=pccd_M->bbmin[2]=1e30f;
pccd_M->bbmax[0]=pccd_M->bbmax[1]=pccd_M->bbmax[2]=-1e30f;
@@ -411,12 +416,10 @@ static void ccd_mesh_update(Object *ob,ccd_Mesh *pccd_M, DerivedMesh *dm)
if(pccd_M->mprevvert) MEM_freeN(pccd_M->mprevvert);
pccd_M->mprevvert = pccd_M->mvert;
/* alloc and copy verts*/
- pccd_M->mvert = dm->dupVertArray(dm);
- /* ah yeah, put the verices to global coords once */
- /* and determine the ortho BB on the fly */
+ pccd_M->mvert = MEM_dupallocN(cmd->xnew);
+ /* note that xnew coords are already in global space, */
+ /* determine the ortho BB */
for(i=0; i < pccd_M->totvert; i++){
- mul_m4_v3(ob->obmat, pccd_M->mvert[i].co);
-
/* evaluate limits */
VECCOPY(v,pccd_M->mvert[i].co);
pccd_M->bbmin[0] = MIN2(pccd_M->bbmin[0],v[0]-hull);
@@ -555,21 +558,8 @@ static void ccd_build_deflector_hash(Scene *scene, Object *vertexowner, GHash *h
/*+++ only with deflecting set */
if(ob->pd && ob->pd->deflect && BLI_ghash_lookup(hash, ob) == NULL) {
- DerivedMesh *dm= NULL;
-
- if(ob->softflag & OB_SB_COLLFINAL) /* so maybe someone wants overkill to collide with subsurfed */
- dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);
- else
- dm = mesh_get_derived_deform(scene, ob, CD_MASK_BAREMESH);
-
- if(dm){
- ccd_Mesh *ccdmesh = ccd_mesh_make(ob, dm);
- BLI_ghash_insert(hash, ob, ccdmesh);
-
- /* we did copy & modify all we need so give 'em away again */
- dm->release(dm);
-
- }
+ ccd_Mesh *ccdmesh = ccd_mesh_make(ob);
+ BLI_ghash_insert(hash, ob, ccdmesh);
}/*--- only with deflecting set */
}/* mesh && layer*/
@@ -595,21 +585,9 @@ static void ccd_update_deflector_hash(Scene *scene, Object *vertexowner, GHash *
/*+++ only with deflecting set */
if(ob->pd && ob->pd->deflect) {
- DerivedMesh *dm= NULL;
-
- if(ob->softflag & OB_SB_COLLFINAL) { /* so maybe someone wants overkill to collide with subsurfed */
- dm = mesh_get_derived_final(scene, ob, CD_MASK_BAREMESH);
- } else {
- dm = mesh_get_derived_deform(scene, ob, CD_MASK_BAREMESH);
- }
- if(dm){
- ccd_Mesh *ccdmesh = BLI_ghash_lookup(hash,ob);
- if (ccdmesh)
- ccd_mesh_update(ob,ccdmesh,dm);
-
- /* we did copy & modify all we need so give 'em away again */
- dm->release(dm);
- }
+ ccd_Mesh *ccdmesh = BLI_ghash_lookup(hash,ob);
+ if (ccdmesh)
+ ccd_mesh_update(ob,ccdmesh);
}/*--- only with deflecting set */
}/* mesh && layer*/
diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c
index e0e456a371e..ff518d69e21 100644
--- a/source/blender/blenkernel/intern/sound.c
+++ b/source/blender/blenkernel/intern/sound.c
@@ -13,15 +13,20 @@
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
+#include "BLI_math.h"
#include "DNA_anim_types.h"
+#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "DNA_packedFile_types.h"
#include "DNA_screen_types.h"
#include "DNA_sound_types.h"
+#include "DNA_speaker_types.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "BKE_utildefines.h"
#include "BKE_global.h"
@@ -30,9 +35,76 @@
#include "BKE_context.h"
#include "BKE_library.h"
#include "BKE_packedFile.h"
-#include "BKE_fcurve.h"
#include "BKE_animsys.h"
+#include "BKE_sequencer.h"
+#include "BKE_scene.h"
+
+#ifdef WITH_AUDASPACE
+// evil global ;-)
+static int sound_cfra;
+#endif
+
+struct bSound* sound_new_file(struct Main *bmain, const char *filename)
+{
+ bSound* sound = NULL;
+
+ char str[FILE_MAX];
+ char *path;
+
+ int len;
+
+ strcpy(str, filename);
+
+ path = /*bmain ? bmain->name :*/ G.main->name;
+
+ BLI_path_abs(str, path);
+
+ len = strlen(filename);
+ while(len > 0 && filename[len-1] != '/' && filename[len-1] != '\\')
+ len--;
+
+ sound = alloc_libblock(&bmain->sound, ID_SO, filename+len);
+ BLI_strncpy(sound->name, filename, FILE_MAX);
+// XXX unused currently sound->type = SOUND_TYPE_FILE;
+
+ sound_load(bmain, sound);
+
+ if(!sound->playback_handle)
+ {
+ free_libblock(&bmain->sound, sound);
+ sound = NULL;
+ }
+
+ return sound;
+}
+
+void sound_free(struct bSound* sound)
+{
+ if (sound->packedfile)
+ {
+ freePackedFile(sound->packedfile);
+ sound->packedfile = NULL;
+ }
+
+#ifdef WITH_AUDASPACE
+ if(sound->handle)
+ {
+ AUD_unload(sound->handle);
+ sound->handle = NULL;
+ sound->playback_handle = NULL;
+ }
+
+ if(sound->cache)
+ {
+ AUD_unload(sound->cache);
+ sound->cache = NULL;
+ }
+ sound_free_waveform(sound);
+#endif // WITH_AUDASPACE
+}
+
+#ifdef WITH_AUDASPACE
static int force_device = -1;
@@ -51,7 +123,8 @@ static void sound_sync_callback(void* data, int mode, float time)
sound_play_scene(scene);
else
sound_stop_scene(scene);
- AUD_seek(scene->sound_scene_handle, time);
+ if(scene->sound_scene_handle)
+ AUD_seek(scene->sound_scene_handle, time);
}
scene = scene->id.next;
}
@@ -110,7 +183,12 @@ void sound_init(struct Main *bmain)
if(!AUD_init(device, specs, buffersize))
AUD_init(AUD_NULL_DEVICE, specs, buffersize);
-
+
+ sound_init_main(bmain);
+}
+
+void sound_init_main(struct Main *bmain)
+{
#ifdef WITH_JACK
AUD_setSyncCallback(sound_sync_callback, bmain);
#else
@@ -123,43 +201,9 @@ void sound_exit(void)
AUD_exit();
}
-struct bSound* sound_new_file(struct Main *bmain, const char *filename)
-{
- bSound* sound = NULL;
-
- char str[FILE_MAX];
- char *path;
-
- int len;
-
- strcpy(str, filename);
-
- path = /*bmain ? bmain->name :*/ G.main->name;
-
- BLI_path_abs(str, path);
-
- len = strlen(filename);
- while(len > 0 && filename[len-1] != '/' && filename[len-1] != '\\')
- len--;
-
- sound = alloc_libblock(&bmain->sound, ID_SO, filename+len);
- BLI_strncpy(sound->name, filename, FILE_MAX);
-// XXX unused currently sound->type = SOUND_TYPE_FILE;
-
- sound_load(bmain, sound);
-
- if(!sound->playback_handle)
- {
- free_libblock(&bmain->sound, sound);
- sound = NULL;
- }
-
- return sound;
-}
-
// XXX unused currently
#if 0
-struct bSound* sound_new_buffer(struct bContext *C, struct bSound *source)
+struct bSound* sound_new_buffer(struct Main *bmain, struct bSound *source)
{
bSound* sound = NULL;
@@ -167,23 +211,23 @@ struct bSound* sound_new_buffer(struct bContext *C, struct bSound *source)
strcpy(name, "buf_");
strcpy(name + 4, source->id.name);
- sound = alloc_libblock(&CTX_data_main(C)->sound, ID_SO, name);
+ sound = alloc_libblock(&bmain->sound, ID_SO, name);
sound->child_sound = source;
sound->type = SOUND_TYPE_BUFFER;
- sound_load(CTX_data_main(C), sound);
+ sound_load(bmain, sound);
if(!sound->playback_handle)
{
- free_libblock(&CTX_data_main(C)->sound, sound);
+ free_libblock(&bmain->sound, sound);
sound = NULL;
}
return sound;
}
-struct bSound* sound_new_limiter(struct bContext *C, struct bSound *source, float start, float end)
+struct bSound* sound_new_limiter(struct Main *bmain, struct bSound *source, float start, float end)
{
bSound* sound = NULL;
@@ -191,18 +235,18 @@ struct bSound* sound_new_limiter(struct bContext *C, struct bSound *source, floa
strcpy(name, "lim_");
strcpy(name + 4, source->id.name);
- sound = alloc_libblock(&CTX_data_main(C)->sound, ID_SO, name);
+ sound = alloc_libblock(&bmain->sound, ID_SO, name);
sound->child_sound = source;
sound->start = start;
sound->end = end;
sound->type = SOUND_TYPE_LIMITER;
- sound_load(CTX_data_main(C), sound);
+ sound_load(bmain, sound);
if(!sound->playback_handle)
{
- free_libblock(&CTX_data_main(C)->sound, sound);
+ free_libblock(&bmain->sound, sound);
sound = NULL;
}
@@ -210,27 +254,35 @@ struct bSound* sound_new_limiter(struct bContext *C, struct bSound *source, floa
}
#endif
-void sound_delete(struct bContext *C, struct bSound* sound)
+void sound_delete(struct Main *bmain, struct bSound* sound)
{
if(sound)
{
sound_free(sound);
- free_libblock(&CTX_data_main(C)->sound, sound);
+ free_libblock(&bmain->sound, sound);
}
}
-void sound_cache(struct bSound* sound, int ignore)
+void sound_cache(struct bSound* sound)
{
- if(sound->cache && !ignore)
+ sound->flags |= SOUND_FLAGS_CACHING;
+ if(sound->cache)
AUD_unload(sound->cache);
sound->cache = AUD_bufferSound(sound->handle);
sound->playback_handle = sound->cache;
}
+void sound_cache_notifying(struct Main* main, struct bSound* sound)
+{
+ sound_cache(sound);
+ sound_update_sequencer(main, sound);
+}
+
void sound_delete_cache(struct bSound* sound)
{
+ sound->flags &= ~SOUND_FLAGS_CACHING;
if(sound->cache)
{
AUD_unload(sound->cache);
@@ -243,6 +295,12 @@ void sound_load(struct Main *bmain, struct bSound* sound)
{
if(sound)
{
+ if(sound->cache)
+ {
+ AUD_unload(sound->cache);
+ sound->cache = NULL;
+ }
+
if(sound->handle)
{
AUD_unload(sound->handle);
@@ -294,68 +352,52 @@ void sound_load(struct Main *bmain, struct bSound* sound)
break;
}
#endif
+ if(sound->flags & SOUND_FLAGS_MONO)
+ {
+ void* handle = AUD_monoSound(sound->handle);
+ AUD_unload(sound->handle);
+ sound->handle = handle;
+ }
+
+ if(sound->flags & SOUND_FLAGS_CACHING)
+ {
+ sound->cache = AUD_bufferSound(sound->handle);
+ }
+
if(sound->cache)
sound->playback_handle = sound->cache;
else
sound->playback_handle = sound->handle;
- }
-}
-
-void sound_free(struct bSound* sound)
-{
- if (sound->packedfile)
- {
- freePackedFile(sound->packedfile);
- sound->packedfile = NULL;
- }
- if(sound->handle)
- {
- AUD_unload(sound->handle);
- sound->handle = NULL;
- sound->playback_handle = NULL;
+ sound_update_sequencer(bmain, sound);
}
}
-static float sound_get_volume(Scene* scene, Sequence* sequence, float time)
-{
- AnimData *adt= BKE_animdata_from_id(&scene->id);
- FCurve *fcu = NULL;
- char buf[64];
-
- /* NOTE: this manually constructed path needs to be used here to avoid problems with RNA crashes */
- sprintf(buf, "sequence_editor.sequences_all[\"%s\"].volume", sequence->name+2);
- if (adt && adt->action && adt->action->curves.first)
- fcu= list_find_fcurve(&adt->action->curves, buf, 0);
-
- if(fcu)
- return evaluate_fcurve(fcu, time * (float)FPS);
- else
- return sequence->volume;
-}
-
AUD_Device* sound_mixdown(struct Scene *scene, AUD_DeviceSpecs specs, int start, float volume)
{
- AUD_Device* mixdown = AUD_openReadDevice(specs);
-
- AUD_setDeviceVolume(mixdown, volume);
-
- AUD_playDevice(mixdown, scene->sound_scene, start / FPS);
-
- return mixdown;
+ return AUD_openMixdownDevice(specs, scene->sound_scene, volume, start / FPS);
}
void sound_create_scene(struct Scene *scene)
{
- scene->sound_scene = AUD_createSequencer(scene->audio.flag & AUDIO_MUTE, scene, (AUD_volumeFunction)&sound_get_volume);
+ scene->sound_scene = AUD_createSequencer(FPS, scene->audio.flag & AUDIO_MUTE);
+ AUD_updateSequencerData(scene->sound_scene, scene->audio.speed_of_sound,
+ scene->audio.doppler_factor, scene->audio.distance_model);
+ scene->sound_scene_handle = NULL;
+ scene->sound_scrub_handle = NULL;
+ scene->speaker_handles = NULL;
}
void sound_destroy_scene(struct Scene *scene)
{
if(scene->sound_scene_handle)
AUD_stop(scene->sound_scene_handle);
+ if(scene->sound_scrub_handle)
+ AUD_stop(scene->sound_scrub_handle);
if(scene->sound_scene)
AUD_destroySequencer(scene->sound_scene);
+ if(scene->speaker_handles)
+ AUD_destroySet(scene->speaker_handles);
}
void sound_mute_scene(struct Scene *scene, int muted)
@@ -364,37 +406,97 @@ void sound_mute_scene(struct Scene *scene, int muted)
AUD_setSequencerMuted(scene->sound_scene, muted);
}
+void sound_update_fps(struct Scene *scene)
+{
+ if(scene->sound_scene)
+ AUD_setSequencerFPS(scene->sound_scene, FPS);
+}
+
+void sound_update_scene_listener(struct Scene *scene)
+{
+ AUD_updateSequencerData(scene->sound_scene, scene->audio.speed_of_sound,
+ scene->audio.doppler_factor, scene->audio.distance_model);
+}
+
void* sound_scene_add_scene_sound(struct Scene *scene, struct Sequence* sequence, int startframe, int endframe, int frameskip)
{
if(scene != sequence->scene)
- return AUD_addSequencer(scene->sound_scene, &(sequence->scene->sound_scene), startframe / FPS, endframe / FPS, frameskip / FPS, sequence);
+ return AUD_addSequence(scene->sound_scene, sequence->scene->sound_scene, startframe / FPS, endframe / FPS, frameskip / FPS);
return NULL;
}
void* sound_add_scene_sound(struct Scene *scene, struct Sequence* sequence, int startframe, int endframe, int frameskip)
{
- return AUD_addSequencer(scene->sound_scene, &(sequence->sound->playback_handle), startframe / FPS, endframe / FPS, frameskip / FPS, sequence);
+ void* handle = AUD_addSequence(scene->sound_scene, sequence->sound->playback_handle, startframe / FPS, endframe / FPS, frameskip / FPS);
+ AUD_muteSequence(handle, (sequence->flag & SEQ_MUTE) != 0);
+ AUD_setSequenceAnimData(handle, AUD_AP_VOLUME, CFRA, &sequence->volume, 0);
+ AUD_setSequenceAnimData(handle, AUD_AP_PITCH, CFRA, &sequence->pitch, 0);
+ AUD_setSequenceAnimData(handle, AUD_AP_PANNING, CFRA, &sequence->pan, 0);
+ return handle;
}
void sound_remove_scene_sound(struct Scene *scene, void* handle)
{
- AUD_removeSequencer(scene->sound_scene, handle);
+ AUD_removeSequence(scene->sound_scene, handle);
}
-void sound_mute_scene_sound(struct Scene *scene, void* handle, char mute)
+void sound_mute_scene_sound(void* handle, char mute)
{
- AUD_muteSequencer(scene->sound_scene, handle, mute);
+ AUD_muteSequence(handle, mute);
}
void sound_move_scene_sound(struct Scene *scene, void* handle, int startframe, int endframe, int frameskip)
{
- AUD_moveSequencer(scene->sound_scene, handle, startframe / FPS, endframe / FPS, frameskip / FPS);
+ AUD_moveSequence(handle, startframe / FPS, endframe / FPS, frameskip / FPS);
+}
+
+void sound_update_scene_sound(void* handle, struct bSound* sound)
+{
+ AUD_updateSequenceSound(handle, sound->playback_handle);
+}
+
+void sound_set_cfra(int cfra)
+{
+ sound_cfra = cfra;
+}
+
+void sound_set_scene_volume(struct Scene *scene, float volume)
+{
+ AUD_setSequencerAnimData(scene->sound_scene, AUD_AP_VOLUME, CFRA, &volume, (scene->audio.flag & AUDIO_VOLUME_ANIMATED) != 0);
+}
+
+void sound_set_scene_sound_volume(void* handle, float volume, char animated)
+{
+ AUD_setSequenceAnimData(handle, AUD_AP_VOLUME, sound_cfra, &volume, animated);
+}
+
+void sound_set_scene_sound_pitch(void* handle, float pitch, char animated)
+{
+ AUD_setSequenceAnimData(handle, AUD_AP_PITCH, sound_cfra, &pitch, animated);
+}
+
+void sound_set_scene_sound_pan(void* handle, float pan, char animated)
+{
+ AUD_setSequenceAnimData(handle, AUD_AP_PANNING, sound_cfra, &pan, animated);
+}
+
+void sound_update_sequencer(struct Main* main, struct bSound* sound)
+{
+ struct Scene* scene;
+
+ for(scene = main->scene.first; scene; scene = scene->id.next)
+ seq_update_sound(scene, sound);
}
static void sound_start_play_scene(struct Scene *scene)
{
- scene->sound_scene_handle = AUD_play(scene->sound_scene, 1);
- AUD_setLoop(scene->sound_scene_handle, -1);
+ if(scene->sound_scene_handle)
+ AUD_stop(scene->sound_scene_handle);
+
+ AUD_setSequencerDeviceSpecs(scene->sound_scene);
+
+ if((scene->sound_scene_handle = AUD_play(scene->sound_scene, 1)))
+ AUD_setLoop(scene->sound_scene_handle, -1);
}
void sound_play_scene(struct Scene *scene)
@@ -402,11 +504,17 @@ void sound_play_scene(struct Scene *scene)
AUD_Status status;
AUD_lock();
- status = AUD_getStatus(scene->sound_scene_handle);
+ status = scene->sound_scene_handle ? AUD_getStatus(scene->sound_scene_handle) : AUD_STATUS_INVALID;
if(status == AUD_STATUS_INVALID)
sound_start_play_scene(scene);
+ if(!scene->sound_scene_handle)
+ {
+ AUD_unlock();
+ return;
+ }
+
if(status != AUD_STATUS_PLAYING)
{
AUD_seek(scene->sound_scene_handle, CFRA / FPS);
@@ -421,28 +529,44 @@ void sound_play_scene(struct Scene *scene)
void sound_stop_scene(struct Scene *scene)
{
- AUD_pause(scene->sound_scene_handle);
+ if(scene->sound_scene_handle)
+ {
+ AUD_pause(scene->sound_scene_handle);
- if(scene->audio.flag & AUDIO_SYNC)
- AUD_stopPlayback();
+ if(scene->audio.flag & AUDIO_SYNC)
+ AUD_stopPlayback();
+ }
}
-void sound_seek_scene(struct bContext *C)
+void sound_seek_scene(struct Main *bmain, struct Scene *scene)
{
- struct Scene *scene = CTX_data_scene(C);
AUD_Status status;
+ bScreen *screen;
+ int animation_playing;
AUD_lock();
- status = AUD_getStatus(scene->sound_scene_handle);
+ status = scene->sound_scene_handle ? AUD_getStatus(scene->sound_scene_handle) : AUD_STATUS_INVALID;
if(status == AUD_STATUS_INVALID)
{
sound_start_play_scene(scene);
+
+ if(!scene->sound_scene_handle)
+ {
+ AUD_unlock();
+ return;
+ }
+
AUD_pause(scene->sound_scene_handle);
}
- if(scene->audio.flag & AUDIO_SCRUB && !CTX_wm_screen(C)->animtimer)
+ animation_playing = 0;
+ for(screen=bmain->screen.first; screen; screen=screen->id.next)
+ if(screen->animtimer)
+ animation_playing = 1;
+
+ if(scene->audio.flag & AUDIO_SCRUB && !animation_playing)
{
if(scene->audio.flag & AUDIO_SYNC)
{
@@ -452,10 +576,14 @@ void sound_seek_scene(struct bContext *C)
else
AUD_seek(scene->sound_scene_handle, CFRA / FPS);
AUD_resume(scene->sound_scene_handle);
- if(AUD_getStatus(scene->sound_scrub_handle) != AUD_STATUS_INVALID)
+ if(scene->sound_scrub_handle && AUD_getStatus(scene->sound_scrub_handle) != AUD_STATUS_INVALID)
AUD_seek(scene->sound_scrub_handle, 0);
else
+ {
+ if(scene->sound_scrub_handle)
+ AUD_stop(scene->sound_scrub_handle);
scene->sound_scrub_handle = AUD_pauseAfter(scene->sound_scene_handle, 1 / FPS);
+ }
}
else
{
@@ -473,10 +601,14 @@ void sound_seek_scene(struct bContext *C)
float sound_sync_scene(struct Scene *scene)
{
- if(scene->audio.flag & AUDIO_SYNC)
- return AUD_getSequencerPosition(scene->sound_scene_handle);
- else
- return AUD_getPosition(scene->sound_scene_handle);
+ if(scene->sound_scene_handle)
+ {
+ if(scene->audio.flag & AUDIO_SYNC)
+ return AUD_getSequencerPosition(scene->sound_scene_handle);
+ else
+ return AUD_getPosition(scene->sound_scene_handle);
+ }
+ return 0.0f;
}
int sound_scene_playing(struct Scene *scene)
@@ -487,18 +619,166 @@ int sound_scene_playing(struct Scene *scene)
return -1;
}
-int sound_read_sound_buffer(struct bSound* sound, float* buffer, int length, float start, float end)
+void sound_free_waveform(struct bSound* sound)
{
- AUD_Sound* limiter = AUD_limitSound(sound->cache, start, end);
- return AUD_readSound(limiter, buffer, length);
- AUD_unload(limiter);
+ if(sound->waveform)
+ {
+ MEM_freeN(((SoundWaveform*)sound->waveform)->data);
+ MEM_freeN(sound->waveform);
+ }
+
+ sound->waveform = NULL;
}
-int sound_get_channels(struct bSound* sound)
+void sound_read_waveform(struct bSound* sound)
{
AUD_SoundInfo info;
info = AUD_getInfo(sound->playback_handle);
- return info.specs.channels;
+ if(info.length > 0)
+ {
+ SoundWaveform* waveform = MEM_mallocN(sizeof(SoundWaveform), "SoundWaveform");
+ int length = info.length * SOUND_WAVE_SAMPLES_PER_SECOND;
+
+ waveform->data = MEM_mallocN(length * sizeof(float) * 3, "SoundWaveform.samples");
+ waveform->length = AUD_readSound(sound->playback_handle, waveform->data, length, SOUND_WAVE_SAMPLES_PER_SECOND);
+
+ sound_free_waveform(sound);
+ sound->waveform = waveform;
+ }
}
+
+void sound_update_scene(struct Scene* scene)
+{
+ Object* ob;
+ Base* base;
+ NlaTrack* track;
+ NlaStrip* strip;
+ Speaker* speaker;
+ Scene* sce_it;
+
+ void* new_set = AUD_createSet();
+ void* handle;
+ float quat[4];
+
+ for(SETLOOPER(scene, sce_it, base))
+ {
+ ob = base->object;
+ if(ob->type == OB_SPEAKER)
+ {
+ if(ob->adt)
+ {
+ for(track = ob->adt->nla_tracks.first; track; track = track->next)
+ {
+ for(strip = track->strips.first; strip; strip = strip->next)
+ {
+ if(strip->type == NLASTRIP_TYPE_SOUND)
+ {
+ speaker = (Speaker*)ob->data;
+
+ if(AUD_removeSet(scene->speaker_handles, strip->speaker_handle))
+ {
+ if(speaker->sound)
+ AUD_moveSequence(strip->speaker_handle, strip->start / FPS, -1, 0);
+ else
+ {
+ AUD_removeSequence(scene->sound_scene, strip->speaker_handle);
+ strip->speaker_handle = NULL;
+ }
+ }
+ else
+ {
+ if(speaker->sound)
+ {
+ strip->speaker_handle = AUD_addSequence(scene->sound_scene, speaker->sound->playback_handle, strip->start / FPS, -1, 0);
+ AUD_setRelativeSequence(strip->speaker_handle, 0);
+ }
+ }
+
+ if(strip->speaker_handle)
+ {
+ AUD_addSet(new_set, strip->speaker_handle);
+ AUD_updateSequenceData(strip->speaker_handle, speaker->volume_max,
+ speaker->volume_min, speaker->distance_max,
+ speaker->distance_reference, speaker->attenuation,
+ speaker->cone_angle_outer, speaker->cone_angle_inner,
+ speaker->cone_volume_outer);
+
+ mat4_to_quat(quat, ob->obmat);
+ AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_LOCATION, CFRA, ob->obmat[3], 1);
+ AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_ORIENTATION, CFRA, quat, 1);
+ AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_VOLUME, CFRA, &speaker->volume, 1);
+ AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_PITCH, CFRA, &speaker->pitch, 1);
+ AUD_updateSequenceSound(strip->speaker_handle, speaker->sound->playback_handle);
+ AUD_muteSequence(strip->speaker_handle, ((strip->flag & NLASTRIP_FLAG_MUTED) != 0) || ((speaker->flag & SPK_MUTED) != 0));
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ while((handle = AUD_getSet(scene->speaker_handles)))
+ {
+ AUD_removeSequence(scene->sound_scene, handle);
+ }
+
+ if(scene->camera)
+ {
+ mat4_to_quat(quat, scene->camera->obmat);
+ AUD_setSequencerAnimData(scene->sound_scene, AUD_AP_LOCATION, CFRA, scene->camera->obmat[3], 1);
+ AUD_setSequencerAnimData(scene->sound_scene, AUD_AP_ORIENTATION, CFRA, quat, 1);
+ }
+
+ AUD_destroySet(scene->speaker_handles);
+ scene->speaker_handles = new_set;
+}
+
+void* sound_get_factory(void* sound)
+{
+ return ((struct bSound*) sound)->playback_handle;
+}
+
+#else // WITH_AUDASPACE
+
+#include "BLI_utildefines.h"
+
+int sound_define_from_str(const char *UNUSED(str)) { return -1;}
+void sound_force_device(int UNUSED(device)) {}
+void sound_init_once(void) {}
+void sound_init(struct Main *UNUSED(bmain)) {}
+void sound_exit(void) {}
+void sound_cache(struct bSound* UNUSED(sound)) { }
+void sound_delete_cache(struct bSound* UNUSED(sound)) {}
+void sound_load(struct Main *UNUSED(bmain), struct bSound* UNUSED(sound)) {}
+void sound_create_scene(struct Scene *UNUSED(scene)) {}
+void sound_destroy_scene(struct Scene *UNUSED(scene)) {}
+void sound_mute_scene(struct Scene *UNUSED(scene), int UNUSED(muted)) {}
+void* sound_scene_add_scene_sound(struct Scene *UNUSED(scene), struct Sequence* UNUSED(sequence), int UNUSED(startframe), int UNUSED(endframe), int UNUSED(frameskip)) { return NULL; }
+void* sound_add_scene_sound(struct Scene *UNUSED(scene), struct Sequence* UNUSED(sequence), int UNUSED(startframe), int UNUSED(endframe), int UNUSED(frameskip)) { return NULL; }
+void sound_remove_scene_sound(struct Scene *UNUSED(scene), void* UNUSED(handle)) {}
+void sound_mute_scene_sound(void* UNUSED(handle), char UNUSED(mute)) {}
+void sound_move_scene_sound(struct Scene *UNUSED(scene), void* UNUSED(handle), int UNUSED(startframe), int UNUSED(endframe), int UNUSED(frameskip)) {}
+static void sound_start_play_scene(struct Scene *UNUSED(scene)) {}
+void sound_play_scene(struct Scene *UNUSED(scene)) {}
+void sound_stop_scene(struct Scene *UNUSED(scene)) {}
+void sound_seek_scene(struct Main *UNUSED(bmain), struct Scene *UNUSED(scene)) {}
+float sound_sync_scene(struct Scene *UNUSED(scene)) { return 0.0f; }
+int sound_scene_playing(struct Scene *UNUSED(scene)) { return -1; }
+int sound_read_sound_buffer(struct bSound* UNUSED(sound), float* UNUSED(buffer), int UNUSED(length), float UNUSED(start), float UNUSED(end)) { return 0; }
+void sound_read_waveform(struct bSound* sound) { (void)sound; }
+void sound_init_main(struct Main *bmain) { (void)bmain; }
+void sound_set_cfra(int cfra) { (void)cfra; }
+void sound_update_sequencer(struct Main* main, struct bSound* sound) { (void)main; (void)sound; }
+void sound_update_scene(struct Scene* scene) { (void)scene; }
+void sound_update_scene_sound(void* handle, struct bSound* sound) { (void)handle; (void)sound; }
+void sound_update_scene_listener(struct Scene *scene) { (void)scene; }
+void sound_update_fps(struct Scene *scene) { (void)scene; }
+void sound_set_scene_sound_volume(void* handle, float volume, char animated) { (void)handle; (void)volume; (void)animated; }
+void sound_set_scene_sound_pan(void* handle, float pan, char animated) { (void)handle; (void)pan; (void)animated; }
+void sound_set_scene_volume(struct Scene *scene, float volume) { (void)scene; (void)volume; }
+void sound_set_scene_sound_pitch(void* handle, float pitch, char animated) { (void)handle; (void)pitch; (void)animated; }
+
+#endif // WITH_AUDASPACE
diff --git a/source/blender/blenkernel/intern/speaker.c b/source/blender/blenkernel/intern/speaker.c
new file mode 100644
index 00000000000..200dbd41899
--- /dev/null
+++ b/source/blender/blenkernel/intern/speaker.c
@@ -0,0 +1,139 @@
+/* speaker.c
+ *
+ *
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Jörg Müller.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/blenkernel/intern/speaker.c
+ * \ingroup bke
+ */
+
+#include "DNA_object_types.h"
+#include "DNA_sound_types.h"
+#include "DNA_speaker_types.h"
+
+#include "BLI_math.h"
+
+#include "BKE_animsys.h"
+#include "BKE_global.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_speaker.h"
+
+void *add_speaker(const char *name)
+{
+ Speaker *spk;
+
+ spk= alloc_libblock(&G.main->speaker, ID_SPK, name);
+
+ spk->attenuation = 1.0f;
+ spk->cone_angle_inner = 360.0f;
+ spk->cone_angle_outer = 360.0f;
+ spk->cone_volume_outer = 1.0f;
+ spk->distance_max = FLT_MAX;
+ spk->distance_reference = 1.0f;
+ spk->flag = 0;
+ spk->pitch = 1.0f;
+ spk->sound = NULL;
+ spk->volume = 1.0f;
+ spk->volume_max = 1.0f;
+ spk->volume_min = 0.0f;
+
+ return spk;
+}
+
+Speaker *copy_speaker(Speaker *spk)
+{
+ Speaker *spkn;
+
+ spkn= copy_libblock(spk);
+ if(spkn->sound)
+ spkn->sound->id.us++;
+
+ return spkn;
+}
+
+void make_local_speaker(Speaker *spk)
+{
+ Main *bmain= G.main;
+ Object *ob;
+ int local=0, lib=0;
+
+ /* - only lib users: do nothing
+ * - only local users: set flag
+ * - mixed: make copy
+ */
+
+ if(spk->id.lib==NULL) return;
+ if(spk->id.us==1) {
+ spk->id.lib= NULL;
+ spk->id.flag= LIB_LOCAL;
+ new_id(&bmain->speaker, (ID *)spk, NULL);
+ return;
+ }
+
+ ob= bmain->object.first;
+ while(ob) {
+ if(ob->data==spk) {
+ if(ob->id.lib) lib= 1;
+ else local= 1;
+ }
+ ob= ob->id.next;
+ }
+
+ if(local && lib==0) {
+ spk->id.lib= NULL;
+ spk->id.flag= LIB_LOCAL;
+ new_id(&bmain->speaker, (ID *)spk, NULL);
+ }
+ else if(local && lib) {
+ Speaker *spkn= copy_speaker(spk);
+ spkn->id.us= 0;
+
+ ob= bmain->object.first;
+ while(ob) {
+ if(ob->data==spk) {
+
+ if(ob->id.lib==NULL) {
+ ob->data= spkn;
+ spkn->id.us++;
+ spk->id.us--;
+ }
+ }
+ ob= ob->id.next;
+ }
+ }
+}
+
+void free_speaker(Speaker *spk)
+{
+ if(spk->sound)
+ spk->sound->id.us--;
+
+ BKE_free_animdata((ID *)spk);
+}
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index a66caf8879f..186a5ea1852 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -1176,7 +1176,8 @@ static void ccgDM_drawEdges(DerivedMesh *dm, int drawLooseEdges, int UNUSED(draw
CCGSubSurf *ss = ccgdm->ss;
CCGEdgeIterator *ei = ccgSubSurf_getEdgeIterator(ss);
CCGFaceIterator *fi = ccgSubSurf_getFaceIterator(ss);
- int i, edgeSize = ccgSubSurf_getEdgeSize(ss);
+ int i, j, edgeSize = ccgSubSurf_getEdgeSize(ss);
+ int totedge = ccgSubSurf_getNumEdges(ss);
int gridSize = ccgSubSurf_getGridSize(ss);
int useAging;
@@ -1184,13 +1185,16 @@ static void ccgDM_drawEdges(DerivedMesh *dm, int drawLooseEdges, int UNUSED(draw
ccgSubSurf_getUseAgeCounts(ss, &useAging, NULL, NULL, NULL);
- for (; !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
- CCGEdge *e = ccgEdgeIterator_getCurrent(ei);
+ for (j=0; j< totedge; j++) {
+ CCGEdge *e = ccgdm->edgeMap[j].edge;
DMGridData *edgeData = ccgSubSurf_getEdgeDataArray(ss, e);
if (!drawLooseEdges && !ccgSubSurf_getEdgeNumFaces(e))
continue;
+ if(ccgdm->edgeFlags && !(ccgdm->edgeFlags[j] & ME_EDGEDRAW))
+ continue;
+
if (useAging && !(G.f&G_BACKBUFSEL)) {
int ageCol = 255-ccgSubSurf_getEdgeAge(ss, e)*4;
glColor3ub(0, ageCol>0?ageCol:0, 0);
@@ -1775,7 +1779,8 @@ static void ccgDM_drawUVEdges(DerivedMesh *dm)
}
}
-static void ccgDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int useColors, int (*setMaterial)(int, void *attribs)) {
+static void ccgDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int useColors, int (*setMaterial)(int, void *attribs),
+ int (*compareDrawOptions)(void *userData, int cur_index, int next_index)) {
CCGDerivedMesh *ccgdm = (CCGDerivedMesh*) dm;
CCGSubSurf *ss = ccgdm->ss;
MCol *mcol= NULL;
@@ -1783,6 +1788,9 @@ static void ccgDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *u
char *faceFlags = ccgdm->faceFlags;
int gridFaces = gridSize - 1, totface;
+ /* currently unused -- each original face is handled separately */
+ (void)compareDrawOptions;
+
if(useColors) {
mcol = dm->getFaceDataArray(dm, CD_WEIGHT_MCOL);
if(!mcol)
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index da329503c9f..2c507370288 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -400,7 +400,13 @@ Text *add_text(const char *file, const char *relpath)
llen++;
}
- if (llen!=0 || ta->nlines==0) {
+ /* create new line in cases:
+ - rest of line (if last line in file hasn't got \n terminator).
+ in this case content of such line would be used to fill text line buffer
+ - file is empty. in this case new line is needed to start editing from.
+ - last characted in buffer is \n. in this case new line is needed to
+ deal with newline at end of file. (see [#28087]) (sergey) */
+ if (llen!=0 || ta->nlines==0 || buffer[len-1]=='\n') {
tmp= (TextLine*) MEM_mallocN(sizeof(TextLine), "textline");
tmp->line= (char*) MEM_mallocN(llen+1, "textline_string");
tmp->format= NULL;
@@ -1417,6 +1423,8 @@ void txt_insert_buf(Text *text, const char *in_buffer)
}
undoing= u;
+
+ (void)count;
}
/******************/
diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c
index 64f3c111434..38165182d83 100644
--- a/source/blender/blenkernel/intern/texture.c
+++ b/source/blender/blenkernel/intern/texture.c
@@ -766,7 +766,9 @@ Tex *copy_texture(Tex *tex)
if(tex->preview) texn->preview = BKE_previewimg_copy(tex->preview);
if(tex->nodetree) {
- ntreeEndExecTree(tex->nodetree);
+ if (tex->nodetree->execdata) {
+ ntreeTexEndExecTree(tex->nodetree->execdata, 1);
+ }
texn->nodetree= ntreeCopyTree(tex->nodetree);
}
@@ -1005,7 +1007,7 @@ void autotexname(Tex *tex)
Tex *give_current_object_texture(Object *ob)
{
- Material *ma;
+ Material *ma, *node_ma;
Tex *tex= NULL;
if(ob==NULL) return NULL;
@@ -1015,6 +1017,10 @@ Tex *give_current_object_texture(Object *ob)
tex= give_current_lamp_texture(ob->data);
} else {
ma= give_current_material(ob, ob->actcol);
+
+ if((node_ma=give_node_material(ma)))
+ ma= node_ma;
+
tex= give_current_material_texture(ma);
}
@@ -1080,17 +1086,6 @@ Tex *give_current_material_texture(Material *ma)
tex= (Tex *)node->id;
ma= NULL;
}
- else {
- node= nodeGetActiveID(ma->nodetree, ID_MA);
- if(node) {
- ma= (Material*)node->id;
- if(ma) {
- mtex= ma->mtex[(int)(ma->texact)];
- if(mtex) tex= mtex->tex;
- }
- }
- }
- return tex;
}
if(ma) {
@@ -1165,11 +1160,6 @@ void set_current_material_texture(Material *ma, Tex *newtex)
id_us_plus(&newtex->id);
ma= NULL;
}
- else {
- node= nodeGetActiveID(ma->nodetree, ID_MA);
- if(node)
- ma= (Material*)node->id;
- }
}
if(ma) {
int act= (int)ma->texact;
@@ -1198,16 +1188,8 @@ int has_current_material_texture(Material *ma)
if(ma && ma->use_nodes && ma->nodetree) {
node= nodeGetActiveID(ma->nodetree, ID_TE);
- if(node) {
+ if(node)
return 1;
- }
- else {
- node= nodeGetActiveID(ma->nodetree, ID_MA);
- if(node)
- ma= (Material*)node->id;
- else
- ma= NULL;
- }
}
return (ma != NULL);
@@ -1486,6 +1468,10 @@ int BKE_texture_dependsOnTime(const struct Tex *texture)
// assume anything in adt means the texture is animated
return 1;
}
+ else if(texture->type == TEX_NOISE) {
+ // noise always varies with time
+ return 1;
+ }
return 0;
}
diff --git a/source/blender/blenkernel/intern/unit.c b/source/blender/blenkernel/intern/unit.c
index b89e576a562..72fe1c19884 100644
--- a/source/blender/blenkernel/intern/unit.c
+++ b/source/blender/blenkernel/intern/unit.c
@@ -34,6 +34,7 @@
#include "BKE_unit.h"
#include "BLI_math.h"
+#include "BLI_string.h"
#include "BLI_winstuff.h"
@@ -136,7 +137,7 @@ static struct bUnitDef buImperialLenDef[] = {
{"yard", "yards", "yd", NULL, "Yards", UN_SC_YD, 0.0, B_UNIT_DEF_NONE},
{"foot", "feet", "'", "ft", "Feet", UN_SC_FT, 0.0, B_UNIT_DEF_NONE}, /* base unit */
{"inch", "inches", "\"", "in", "Inches", UN_SC_IN, 0.0, B_UNIT_DEF_NONE},
- {"thou", "thous", "mil", NULL, "Thous", UN_SC_MIL, 0.0, B_UNIT_DEF_NONE},
+ {"thou", "thou", "thou", "mil", "Thou", UN_SC_MIL, 0.0, B_UNIT_DEF_NONE}, /* plural for thou has no 's' */
{NULL, NULL, NULL, NULL, NULL, 0.0, 0.0}
};
static struct bUnitCollection buImperialLenCollecton = {buImperialLenDef, 4, 0, sizeof(buImperialLenDef)/sizeof(bUnitDef)};
@@ -344,7 +345,7 @@ static int unit_as_string(char *str, int len_max, double value, int prec, bUnitC
/* Convert to a string */
{
- len= snprintf(str, len_max, "%.*lf", prec, value_conv);
+ len= BLI_snprintf(str, len_max, "%.*lf", prec, value_conv);
if(len >= len_max)
len= len_max;
@@ -495,7 +496,7 @@ static int unit_scale_str(char *str, int len_max, char *str_tmp, double scale_pr
len_name = strlen(replace_str);
len_move= (len - (found_ofs+len_name)) + 1; /* 1+ to copy the string terminator */
- len_num= snprintf(str_tmp, TEMP_STR_SIZE, "*%lg"SEP_STR, unit->scalar/scale_pref); /* # removed later */
+ len_num= BLI_snprintf(str_tmp, TEMP_STR_SIZE, "*%lg"SEP_STR, unit->scalar/scale_pref); /* # removed later */
if(len_num > len_max)
len_num= len_max;
@@ -629,12 +630,12 @@ int bUnit_ReplaceString(char *str, int len_max, char *str_prev, double scale_pre
/* add the unit prefix and re-run, use brackets incase there was an expression given */
- if(snprintf(str_tmp, sizeof(str_tmp), "(%s)%s", str, unit->name) < sizeof(str_tmp)) {
+ if(BLI_snprintf(str_tmp, sizeof(str_tmp), "(%s)%s", str, unit->name) < sizeof(str_tmp)) {
strncpy(str, str_tmp, len_max);
return bUnit_ReplaceString(str, len_max, NULL, scale_pref, system, type);
}
else {
- /* snprintf would not fit into str_tmp, cant do much in this case
+ /* BLI_snprintf would not fit into str_tmp, cant do much in this case
* check for this because otherwise bUnit_ReplaceString could call its self forever */
return 0;
}
@@ -705,7 +706,7 @@ void bUnit_ToUnitAltName(char *str, int len_max, char *orig_str, int system, int
/* print the alt_name */
if(unit->name_alt)
- len_name= snprintf(str, len_max, "%s", unit->name_alt);
+ len_name= BLI_snprintf(str, len_max, "%s", unit->name_alt);
else
len_name= 0;
diff --git a/source/blender/blenkernel/intern/writeavi.c b/source/blender/blenkernel/intern/writeavi.c
index ba7f9bdd415..769a3f9b11e 100644
--- a/source/blender/blenkernel/intern/writeavi.c
+++ b/source/blender/blenkernel/intern/writeavi.c
@@ -105,13 +105,18 @@ bMovieHandle *BKE_get_movie_handle(int imtype)
mh.get_movie_path = filepath_ffmpeg;
}
#endif
+#ifdef WITH_FRAMESERVER
if (imtype == R_FRAMESERVER) {
mh.start_movie = start_frameserver;
mh.append_movie = append_frameserver;
mh.end_movie = end_frameserver;
mh.get_next_frame = frameserver_loop;
}
-
+#endif
+
+ /* incase all above are disabled */
+ (void)imtype;
+
return &mh;
}
diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
index c729565533f..13875ff19f7 100644
--- a/source/blender/blenkernel/intern/writeffmpeg.c
+++ b/source/blender/blenkernel/intern/writeffmpeg.c
@@ -39,17 +39,15 @@
#include <libswscale/swscale.h>
#include <libavcodec/opt.h>
-#if defined(WIN32) && (!(defined snprintf))
-#define snprintf _snprintf
-#endif
-
#include "MEM_guardedalloc.h"
#include "DNA_scene_types.h"
#include "BLI_blenlib.h"
-#include "AUD_C-API.h" /* must be before BKE_sound.h for define */
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "BKE_global.h"
#include "BKE_idprop.h"
@@ -89,7 +87,9 @@ static uint8_t* audio_output_buffer = 0;
static int audio_outbuf_size = 0;
static double audio_time = 0.0f;
+#ifdef WITH_AUDASPACE
static AUD_Device* audio_mixdown_device = 0;
+#endif
#define FFMPEG_AUTOSPLIT_SIZE 2000000000
@@ -103,6 +103,7 @@ static void delete_picture(AVFrame* f)
}
}
+#ifdef WITH_AUDASPACE
static int write_audio_frame(void)
{
AVCodecContext* c = NULL;
@@ -145,6 +146,7 @@ static int write_audio_frame(void)
}
return 0;
}
+#endif // #ifdef WITH_AUDASPACE
/* Allocate a temporary frame */
static AVFrame* alloc_picture(int pix_fmt, int width, int height)
@@ -549,7 +551,7 @@ static AVStream* alloc_audio_stream(RenderData *rd, int codec_id, AVFormatContex
c->sample_rate = rd->ffcodecdata.audio_mixrate;
c->bit_rate = ffmpeg_audio_bitrate*1000;
c->sample_fmt = SAMPLE_FMT_S16;
- c->channels = 2;
+ c->channels = rd->ffcodecdata.audio_channels;
codec = avcodec_find_encoder(c->codec_id);
if (!codec) {
//XXX error("Couldn't find a valid audio codec");
@@ -574,12 +576,11 @@ static AVStream* alloc_audio_stream(RenderData *rd, int codec_id, AVFormatContex
audio_outbuf_size = c->frame_size * c->channels * sizeof(int16_t) * 4;
}
- audio_output_buffer = (uint8_t*)MEM_mallocN(
- audio_outbuf_size, "FFMPEG audio encoder input buffer");
+ audio_output_buffer = (uint8_t*)av_malloc(
+ audio_outbuf_size);
- audio_input_buffer = (uint8_t*)MEM_mallocN(
- audio_input_samples * c->channels * sizeof(int16_t),
- "FFMPEG audio encoder output buffer");
+ audio_input_buffer = (uint8_t*)av_malloc(
+ audio_input_samples * c->channels * sizeof(int16_t));
audio_time = 0.0f;
@@ -647,15 +648,17 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
fmt->audio_codec = ffmpeg_audio_codec;
- snprintf(of->filename, sizeof(of->filename), "%s", name);
+ BLI_snprintf(of->filename, sizeof(of->filename), "%s", name);
/* set the codec to the user's selection */
switch(ffmpeg_type) {
case FFMPEG_AVI:
case FFMPEG_MOV:
- case FFMPEG_OGG:
case FFMPEG_MKV:
fmt->video_codec = ffmpeg_codec;
break;
+ case FFMPEG_OGG:
+ fmt->video_codec = CODEC_ID_THEORA;
+ break;
case FFMPEG_DV:
fmt->video_codec = CODEC_ID_DVVIDEO;
break;
@@ -701,7 +704,7 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
if (ffmpeg_type == FFMPEG_DV) {
fmt->audio_codec = CODEC_ID_PCM_S16LE;
- if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000) {
+ if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000 && rd->ffcodecdata.audio_channels != 2) {
BKE_report(reports, RPT_ERROR, "FFMPEG only supports 48khz / stereo audio for DV!");
return 0;
}
@@ -851,7 +854,7 @@ int start_ffmpeg(struct Scene *scene, RenderData *rd, int rectx, int recty, Repo
ffmpeg_autosplit_count = 0;
success = start_ffmpeg_impl(rd, rectx, recty, reports);
-
+#ifdef WITH_AUDASPACE
if(audio_stream)
{
AVCodecContext* c = audio_stream->codec;
@@ -860,13 +863,18 @@ int start_ffmpeg(struct Scene *scene, RenderData *rd, int rectx, int recty, Repo
specs.format = AUD_FORMAT_S16;
specs.rate = rd->ffcodecdata.audio_mixrate;
audio_mixdown_device = sound_mixdown(scene, specs, rd->sfra, rd->ffcodecdata.audio_volume);
+#ifdef FFMPEG_CODEC_TIME_BASE
+ c->time_base.den = specs.rate;
+ c->time_base.num = 1;
+#endif
}
-
+#endif
return success;
}
void end_ffmpeg(void);
+#ifdef WITH_AUDASPACE
static void write_audio_frames(double to_pts)
{
int finished = 0;
@@ -878,6 +886,7 @@ static void write_audio_frames(double to_pts)
}
}
}
+#endif
int append_ffmpeg(RenderData *rd, int frame, int *pixels, int rectx, int recty, ReportList *reports)
{
@@ -905,8 +914,9 @@ int append_ffmpeg(RenderData *rd, int frame, int *pixels, int rectx, int recty,
}
}
+#ifdef WITH_AUDASPACE
write_audio_frames((frame - rd->sfra) / (((double)rd->frs_sec) / rd->frs_sec_base));
-
+#endif
return success;
}
@@ -920,12 +930,14 @@ void end_ffmpeg(void)
write_audio_frames();
}*/
+#ifdef WITH_AUDASPACE
if(audio_mixdown_device)
{
AUD_closeReadDevice(audio_mixdown_device);
audio_mixdown_device = 0;
}
-
+#endif
+
if (video_stream && video_stream->codec) {
fprintf(stderr, "Flushing delayed frames...\n");
flush_ffmpeg ();
@@ -971,11 +983,11 @@ void end_ffmpeg(void)
video_buffer = 0;
}
if (audio_output_buffer) {
- MEM_freeN(audio_output_buffer);
+ av_free(audio_output_buffer);
audio_output_buffer = 0;
}
if (audio_input_buffer) {
- MEM_freeN(audio_input_buffer);
+ av_free(audio_input_buffer);
audio_input_buffer = 0;
}
@@ -1299,6 +1311,9 @@ void ffmpeg_verify_image_type(RenderData *rd)
/* Don't set preset, disturbs render resolution.
* ffmpeg_set_preset(rd, FFMPEG_PRESET_DVD); */
}
+ if(rd->ffcodecdata.type == FFMPEG_OGG) {
+ rd->ffcodecdata.type = FFMPEG_MPEG2;
+ }
audio= 1;
}
diff --git a/source/blender/blenkernel/intern/writeframeserver.c b/source/blender/blenkernel/intern/writeframeserver.c
index 2239f6d3147..d13d15d1269 100644
--- a/source/blender/blenkernel/intern/writeframeserver.c
+++ b/source/blender/blenkernel/intern/writeframeserver.c
@@ -22,6 +22,7 @@
*
*/
+#ifdef WITH_FRAMESERVER
#include <string.h>
#include <stdio.h>
@@ -381,3 +382,4 @@ void end_frameserver(void)
shutdown_socket_system();
}
+#endif /* WITH_FRAMESERVER */
diff --git a/source/blender/blenlib/BLI_callbacks.h b/source/blender/blenlib/BLI_callbacks.h
new file mode 100644
index 00000000000..f20cef9c3ea
--- /dev/null
+++ b/source/blender/blenlib/BLI_callbacks.h
@@ -0,0 +1,73 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): mar 2001 Nzc
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/blenlib/BLI_callbacks.h
+ * \ingroup bli
+ */
+
+
+#ifndef BLI_CALLBACKS_H
+#define BLI_CALLBACKS_H
+
+struct bContext;
+struct Main;
+struct ID;
+
+typedef enum {
+ BLI_CB_EVT_RENDER_PRE,
+ BLI_CB_EVT_RENDER_POST,
+ BLI_CB_EVT_RENDER_STATS,
+ BLI_CB_EVT_LOAD_PRE,
+ BLI_CB_EVT_LOAD_POST,
+ BLI_CB_EVT_SAVE_PRE,
+ BLI_CB_EVT_SAVE_POST,
+ BLI_CB_EVT_TOT
+} eCbEvent;
+
+
+typedef struct {
+ struct bCallbackFuncStore *next, *prev;
+ void (* func)(struct Main *, struct ID *, void *arg);
+ void *arg;
+ short alloc;
+} bCallbackFuncStore;
+
+
+void BLI_exec_cb(struct Main *main, struct ID *self, eCbEvent evt);
+void BLI_add_cb(bCallbackFuncStore *funcstore, eCbEvent evt);
+
+#endif
+
+
+void BLI_cb_init(void);
+void BLI_cb_finalize(void);
+
+
+/* This is blenlib internal only, unrelated to above */
+void callLocalErrorCallBack(const char* msg);
diff --git a/source/blender/blenlib/BLI_ghash.h b/source/blender/blenlib/BLI_ghash.h
index dcc71fa1258..e4afc6ad79b 100644
--- a/source/blender/blenlib/BLI_ghash.h
+++ b/source/blender/blenlib/BLI_ghash.h
@@ -53,14 +53,14 @@ typedef void (*GHashValFreeFP) (void *val);
typedef struct Entry {
struct Entry *next;
-
+
void *key, *val;
} Entry;
typedef struct GHash {
GHashHashFP hashfp;
GHashCmpFP cmpfp;
-
+
Entry **buckets;
struct BLI_mempool *entrypool;
int nbuckets, nentries, cursize;
@@ -72,15 +72,15 @@ typedef struct GHashIterator {
struct Entry *curEntry;
} GHashIterator;
-GHash* BLI_ghash_new (GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info);
-void BLI_ghash_free (GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
-
-//BM_INLINE void BLI_ghash_insert (GHash *gh, void *key, void *val);
-//BM_INLINE int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
-//BM_INLINE void* BLI_ghash_lookup (GHash *gh, void *key);
-//BM_INLINE int BLI_ghash_haskey (GHash *gh, void *key);
+/* *** */
-int BLI_ghash_size (GHash *gh);
+GHash* BLI_ghash_new (GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info);
+void BLI_ghash_free (GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
+void BLI_ghash_insert(GHash *gh, void *key, void *val);
+void * BLI_ghash_lookup(GHash *gh, const void *key);
+int BLI_ghash_remove(GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
+int BLI_ghash_haskey(GHash *gh, void *key);
+int BLI_ghash_size (GHash *gh);
/* *** */
@@ -149,127 +149,10 @@ unsigned int BLI_ghashutil_strhash (const void *key);
int BLI_ghashutil_strcmp (const void *a, const void *b);
unsigned int BLI_ghashutil_inthash (const void *ptr);
-int BLI_ghashutil_intcmp(const void *a, const void *b);
-
-/*begin of macro-inlined functions*/
-extern unsigned int hashsizes[];
-
-#if 0
-#define BLI_ghash_insert(gh, _k, _v){\
- unsigned int _hash= (gh)->hashfp(_k)%gh->nbuckets;\
- Entry *_e= BLI_mempool_alloc((gh)->entrypool);\
- _e->key= _k;\
- _e->val= _v;\
- _e->next= (gh)->buckets[_hash];\
- (gh)->buckets[_hash]= _e;\
- if (++(gh)->nentries>(gh)->nbuckets*3) {\
- Entry *_e, **_old= (gh)->buckets;\
- int _i, _nold= (gh)->nbuckets;\
- (gh)->nbuckets= hashsizes[++(gh)->cursize];\
- (gh)->buckets= malloc((gh)->nbuckets*sizeof(*(gh)->buckets));\
- memset((gh)->buckets, 0, (gh)->nbuckets*sizeof(*(gh)->buckets));\
- for (_i=0; _i<_nold; _i++) {\
- for (_e= _old[_i]; _e;) {\
- Entry *_n= _e->next;\
- _hash= (gh)->hashfp(_e->key)%(gh)->nbuckets;\
- _e->next= (gh)->buckets[_hash];\
- (gh)->buckets[_hash]= _e;\
- _e= _n;\
- }\
- }\
- free(_old); } }
-#endif
-
-/*---------inlined functions---------*/
-BM_INLINE void BLI_ghash_insert(GHash *gh, void *key, void *val) {
- unsigned int hash= gh->hashfp(key)%gh->nbuckets;
- Entry *e= (Entry*) BLI_mempool_alloc(gh->entrypool);
-
- e->key= key;
- e->val= val;
- e->next= gh->buckets[hash];
- gh->buckets[hash]= e;
-
- if (++gh->nentries>(float)gh->nbuckets/2) {
- Entry **old= gh->buckets;
- int i, nold= gh->nbuckets;
-
- gh->nbuckets= hashsizes[++gh->cursize];
- gh->buckets= (Entry**)MEM_mallocN(gh->nbuckets*sizeof(*gh->buckets), "buckets");
- memset(gh->buckets, 0, gh->nbuckets*sizeof(*gh->buckets));
-
- for (i=0; i<nold; i++) {
- for (e= old[i]; e;) {
- Entry *n= e->next;
-
- hash= gh->hashfp(e->key)%gh->nbuckets;
- e->next= gh->buckets[hash];
- gh->buckets[hash]= e;
-
- e= n;
- }
- }
-
- MEM_freeN(old);
- }
-}
-
-BM_INLINE void* BLI_ghash_lookup(GHash *gh, const void *key)
-{
- if(gh) {
- unsigned int hash= gh->hashfp(key)%gh->nbuckets;
- Entry *e;
-
- for (e= gh->buckets[hash]; e; e= e->next)
- if (gh->cmpfp(key, e->key)==0)
- return e->val;
- }
- return NULL;
-}
-
-BM_INLINE int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
-{
- unsigned int hash= gh->hashfp(key)%gh->nbuckets;
- Entry *e;
- Entry *p = NULL;
-
- for (e= gh->buckets[hash]; e; e= e->next) {
- if (gh->cmpfp(key, e->key)==0) {
- Entry *n= e->next;
-
- if (keyfreefp) keyfreefp(e->key);
- if (valfreefp) valfreefp(e->val);
- BLI_mempool_free(gh->entrypool, e);
-
-
- e= n;
- if (p)
- p->next = n;
- else
- gh->buckets[hash] = n;
-
- --gh->nentries;
- return 1;
- }
- p = e;
- }
-
- return 0;
-}
-
-BM_INLINE int BLI_ghash_haskey(GHash *gh, void *key) {
- unsigned int hash= gh->hashfp(key)%gh->nbuckets;
- Entry *e;
-
- for (e= gh->buckets[hash]; e; e= e->next)
- if (gh->cmpfp(key, e->key)==0)
- return 1;
-
- return 0;
-}
+int BLI_ghashutil_intcmp (const void *a, const void *b);
#ifdef __cplusplus
}
#endif
-#endif
+#endif /* BLI_GHASH_H */
diff --git a/source/blender/blenlib/BLI_math_base.h b/source/blender/blenlib/BLI_math_base.h
index 6ff57b08724..b5bab6f15be 100644
--- a/source/blender/blenlib/BLI_math_base.h
+++ b/source/blender/blenlib/BLI_math_base.h
@@ -39,6 +39,10 @@
#include <math.h>
#include "BLI_math_inline.h"
+#ifdef __sun__
+#include <ieeefp.h> /* for finite() */
+#endif
+
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
diff --git a/source/blender/blenlib/BLI_math_color.h b/source/blender/blenlib/BLI_math_color.h
index fe09706cb3d..a6a1238a064 100644
--- a/source/blender/blenlib/BLI_math_color.h
+++ b/source/blender/blenlib/BLI_math_color.h
@@ -70,6 +70,7 @@ unsigned int rgb_to_cpack(float r, float g, float b);
unsigned int hsv_to_cpack(float h, float s, float v);
float rgb_to_grayscale(float rgb[3]);
+unsigned char rgb_to_grayscale_byte(unsigned char rgb[3]);
/***************** Profile Transformations ********************/
diff --git a/source/blender/blenlib/BLI_math_geom.h b/source/blender/blenlib/BLI_math_geom.h
index b34b9c4b70f..506e271071c 100644
--- a/source/blender/blenlib/BLI_math_geom.h
+++ b/source/blender/blenlib/BLI_math_geom.h
@@ -66,6 +66,9 @@ float closest_to_line_v3(float r[3], const float p[3], const float l1[3], const
float closest_to_line_v2(float r[2], const float p[2], const float l1[2], const float l2[2]);
void closest_to_line_segment_v3(float r[3], const float p[3], const float l1[3], const float l2[3]);
+float line_point_factor_v3(const float p[3], const float l1[3], const float l2[3]);
+float line_point_factor_v2(const float p[2], const float l1[2], const float l2[2]);
+
/******************************* Intersection ********************************/
/* TODO int return value consistency */
@@ -78,6 +81,8 @@ void closest_to_line_segment_v3(float r[3], const float p[3], const float l1[3],
int isect_line_line_v2(const float a1[2], const float a2[2], const float b1[2], const float b2[2]);
int isect_line_line_v2_int(const int a1[2], const int a2[2], const int b1[2], const int b2[2]);
+int isect_line_sphere_v3(const float l1[3], const float l2[3], const float sp[3], const float r, float r_p1[3], float r_p2[3]);
+int isect_line_sphere_v2(const float l1[2], const float l2[2], const float sp[2], const float r, float r_p1[2], float r_p2[2]);
int isect_seg_seg_v2_point(const float v1[2], const float v2[2], const float v3[2], const float v4[2], float vi[2]);
/* Returns the number of point of interests
diff --git a/source/blender/blenlib/BLI_math_inline.h b/source/blender/blenlib/BLI_math_inline.h
index 0f8493e25a6..122b2679d5b 100644
--- a/source/blender/blenlib/BLI_math_inline.h
+++ b/source/blender/blenlib/BLI_math_inline.h
@@ -45,7 +45,7 @@ extern "C" {
#define MALWAYS_INLINE MINLINE
#else
#define MINLINE static inline
-#define MALWAYS_INLINE static __attribute__((always_inline))
+#define MALWAYS_INLINE static inline __attribute__((always_inline))
#endif
#else
#define MINLINE
diff --git a/source/blender/blenlib/BLI_math_matrix.h b/source/blender/blenlib/BLI_math_matrix.h
index d8719f399ae..18955c158c6 100644
--- a/source/blender/blenlib/BLI_math_matrix.h
+++ b/source/blender/blenlib/BLI_math_matrix.h
@@ -66,6 +66,9 @@ void swap_m4m4(float A[4][4], float B[4][4]);
void add_m3_m3m3(float R[3][3], float A[3][3], float B[3][3]);
void add_m4_m4m4(float R[4][4], float A[4][4], float B[4][4]);
+void sub_m3_m3m3(float R[3][3], float A[3][3], float B[3][3]);
+void sub_m4_m4m4(float R[4][4], float A[4][4], float B[4][4]);
+
void mul_m3_m3m3(float R[3][3], float A[3][3], float B[3][3]);
void mul_m4_m4m4(float R[4][4], float A[4][4], float B[4][4]);
void mul_m4_m3m4(float R[4][4], float A[3][3], float B[4][4]);
diff --git a/source/blender/blenlib/BLI_math_rotation.h b/source/blender/blenlib/BLI_math_rotation.h
index ee8c3d5e10c..ef20408a37e 100644
--- a/source/blender/blenlib/BLI_math_rotation.h
+++ b/source/blender/blenlib/BLI_math_rotation.h
@@ -107,9 +107,6 @@ void mat4_to_axis_angle(float axis[3], float *angle, float M[4][4]);
/* TODO: the following calls should probably be depreceated sometime */
/* conversion */
-void mat3_to_vec_rot(float vec[3], float *phi, float mat[3][3]);
-void mat4_to_vec_rot(float vec[3], float *phi, float mat[4][4]);
-
void vec_rot_to_quat(float quat[4], const float vec[3], const float phi);
void vec_rot_to_mat3(float mat[3][3], const float vec[3], const float phi);
void vec_rot_to_mat4(float mat[4][4], const float vec[3], const float phi);
diff --git a/source/blender/blenlib/BLI_math_vector.h b/source/blender/blenlib/BLI_math_vector.h
index decfa22c3e6..d30168c8657 100644
--- a/source/blender/blenlib/BLI_math_vector.h
+++ b/source/blender/blenlib/BLI_math_vector.h
@@ -99,7 +99,7 @@ MINLINE float dot_v3v3(const float a[3], const float b[3]);
MINLINE float cross_v2v2(const float a[2], const float b[2]);
MINLINE void cross_v3_v3v3(float r[3], const float a[3], const float b[3]);
-MINLINE void star_m3_v3(float R[3][3],float a[3]);
+MINLINE void star_m3_v3(float rmat[3][3],float a[3]);
/*********************************** Length **********************************/
@@ -124,6 +124,7 @@ void interp_v3_v3v3v3(float p[3], const float v1[3], const float v2[3], const fl
void interp_v3_v3v3v3v3(float p[3], const float v1[3], const float v2[3], const float v3[3], const float v4[3], const float w[4]);
void interp_v4_v4v4(float r[4], const float a[4], const float b[4], const float t);
void interp_v4_v4v4v4(float p[4], const float v1[4], const float v2[4], const float v3[4], const float w[3]);
+void interp_v4_v4v4v4v4(float p[4], const float v1[4], const float v2[4], const float v3[4], const float v4[4], const float w[4]);
void mid_v3_v3v3(float r[3], const float a[3], const float b[3]);
@@ -133,7 +134,7 @@ MINLINE int is_zero_v3(const float a[3]);
MINLINE int is_zero_v4(const float a[4]);
MINLINE int is_one_v3(const float a[3]);
-MINLINE int equals_v2v2(const float *v1, const float *v2);
+MINLINE int equals_v2v2(const float v1[2], const float v2[2]);
MINLINE int equals_v3v3(const float a[3], const float b[3]);
MINLINE int compare_v3v3(const float a[3], const float b[3], const float limit);
MINLINE int compare_len_v3v3(const float a[3], const float b[3], const float limit);
diff --git a/source/blender/blenlib/BLI_string.h b/source/blender/blenlib/BLI_string.h
index 408809661cf..4a0c2ab9482 100644
--- a/source/blender/blenlib/BLI_string.h
+++ b/source/blender/blenlib/BLI_string.h
@@ -122,6 +122,8 @@ __attribute__ ((format (printf, 1, 2)))
#endif
;
+size_t BLI_strescape(char *dst, const char *src, const size_t maxlen);
+
/**
* Compare two strings without regard to case.
*
diff --git a/source/blender/blenlib/BLI_utildefines.h b/source/blender/blenlib/BLI_utildefines.h
index 9af55601ff7..1a1f7be2471 100644
--- a/source/blender/blenlib/BLI_utildefines.h
+++ b/source/blender/blenlib/BLI_utildefines.h
@@ -105,9 +105,9 @@
#define FTOUSHORT(val) ((val >= 1.0f-0.5f/65535)? 65535: (val <= 0.0f)? 0: (unsigned short)(val*65535.0f + 0.5f))
#define F3TOCHAR3(v2,v1) (v1)[0]=FTOCHAR((v2[0])); (v1)[1]=FTOCHAR((v2[1])); (v1)[2]=FTOCHAR((v2[2]))
#define F3TOCHAR4(v2,v1) { (v1)[0]=FTOCHAR((v2[0])); (v1)[1]=FTOCHAR((v2[1])); (v1)[2]=FTOCHAR((v2[2])); \
- (v1)[3]=FTOCHAR((v2[3])); (v1)[3] = 255; }
+ (v1)[3] = 255; }
#define F4TOCHAR4(v2,v1) { (v1)[0]=FTOCHAR((v2[0])); (v1)[1]=FTOCHAR((v2[1])); (v1)[2]=FTOCHAR((v2[2])); \
- (v1)[3]=FTOCHAR((v2[3])); (v1)[3]=FTOCHAR((v2[3])); }
+ (v1)[3]=FTOCHAR((v2[3])); }
#define VECCOPY(v1,v2) {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2);}
@@ -184,6 +184,12 @@
#endif
#ifdef __GNUC__
+# define UNUSED_FUNCTION(x) __attribute__((__unused__)) UNUSED_ ## x
+#else
+# define UNUSED_FUNCTION(x) UNUSED_ ## x
+#endif
+
+#ifdef __GNUC__
# define WARN_UNUSED __attribute__((warn_unused_result))
#else
# define WARN_UNUSED
diff --git a/source/blender/blenlib/BLI_winstuff.h b/source/blender/blenlib/BLI_winstuff.h
index d0eb3c7d67d..e0c819c2dba 100644
--- a/source/blender/blenlib/BLI_winstuff.h
+++ b/source/blender/blenlib/BLI_winstuff.h
@@ -98,6 +98,15 @@ extern "C" {
typedef unsigned int mode_t;
#endif
+/* use functions that take a 64 bit offset for files larger than 4GB */
+#ifndef FREE_WINDOWS
+#include <stdio.h>
+#define fseek(stream, offset, origin) _fseeki64(stream, offset, origin)
+#define ftell(stream) _ftelli64(stream)
+#define lseek(fd, offset, origin) _lseeki64(fd, offset, origin)
+#define tell(fd) _telli64(fd)
+#endif
+
/* mingw using _SSIZE_T_ to declare ssize_t type */
#ifndef _SSIZE_T_
#define _SSIZE_T_
diff --git a/source/blender/blenlib/CMakeLists.txt b/source/blender/blenlib/CMakeLists.txt
index 0c25da325ad..b4fc983008c 100644
--- a/source/blender/blenlib/CMakeLists.txt
+++ b/source/blender/blenlib/CMakeLists.txt
@@ -26,10 +26,10 @@
set(INC
.
- ../makesdna
../blenkernel
../blenloader
../gpu
+ ../makesdna
../../../intern/ghost
../../../intern/guardedalloc
)
@@ -52,6 +52,7 @@ set(SRC
intern/DLRB_tree.c
intern/boxpack2d.c
intern/bpath.c
+ intern/callbacks.c
intern/cpu.c
intern/dynlib.c
intern/edgehash.c
@@ -89,6 +90,7 @@ set(SRC
BLI_blenlib.h
BLI_boxpack2d.h
BLI_bpath.h
+ BLI_callbacks.h
BLI_cpu.h
BLI_dlrbTree.h
BLI_dynlib.h
@@ -132,12 +134,13 @@ set(SRC
BLI_voxel.h
BLI_winstuff.h
PIL_time.h
- intern/BLI_callbacks.h
intern/dynamiclist.h
)
if(WITH_BINRELOC)
- list(APPEND INC_SYS "${BINRELOC_INC}")
+ list(APPEND INC_SYS
+ ${BINRELOC_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_BINRELOC)
endif()
diff --git a/source/blender/blenlib/intern/BLI_args.c b/source/blender/blenlib/intern/BLI_args.c
index 7bc93a3d3a0..5f31565d65b 100644
--- a/source/blender/blenlib/intern/BLI_args.c
+++ b/source/blender/blenlib/intern/BLI_args.c
@@ -290,8 +290,10 @@ void BLI_argsParse(struct bArgs *ba, int pass, BA_ArgCallback default_cb, void *
}
i += retval;
} else if (retval == -1){
- if (a->key->pass != -1)
- ba->passes[i] = pass;
+ if (a) {
+ if (a->key->pass != -1)
+ ba->passes[i] = pass;
+ }
break;
}
}
diff --git a/source/blender/blenlib/intern/BLI_ghash.c b/source/blender/blenlib/intern/BLI_ghash.c
index ff08ef4dba9..03e3b7ab560 100644
--- a/source/blender/blenlib/intern/BLI_ghash.c
+++ b/source/blender/blenlib/intern/BLI_ghash.c
@@ -40,7 +40,7 @@
#include "BLO_sys_types.h" // for intptr_t support
/***/
-unsigned int hashsizes[]= {
+static unsigned int hashsizes[]= {
5, 11, 17, 37, 67, 131, 257, 521, 1031, 2053, 4099, 8209,
16411, 32771, 65537, 131101, 262147, 524309, 1048583, 2097169,
4194319, 8388617, 16777259, 33554467, 67108879, 134217757,
@@ -49,8 +49,6 @@ unsigned int hashsizes[]= {
/***/
-/***/
-
GHash *BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) {
GHash *gh= MEM_mallocN(sizeof(*gh), info);
gh->hashfp= hashfp;
@@ -67,14 +65,96 @@ GHash *BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) {
return gh;
}
-#ifdef BLI_ghash_insert
-#undef BLI_ghash_insert
-#endif
-
int BLI_ghash_size(GHash *gh) {
return gh->nentries;
}
+void BLI_ghash_insert(GHash *gh, void *key, void *val) {
+ unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+ Entry *e= (Entry*) BLI_mempool_alloc(gh->entrypool);
+
+ e->key= key;
+ e->val= val;
+ e->next= gh->buckets[hash];
+ gh->buckets[hash]= e;
+
+ if (++gh->nentries>(float)gh->nbuckets/2) {
+ Entry **old= gh->buckets;
+ int i, nold= gh->nbuckets;
+
+ gh->nbuckets= hashsizes[++gh->cursize];
+ gh->buckets= (Entry**)MEM_mallocN(gh->nbuckets*sizeof(*gh->buckets), "buckets");
+ memset(gh->buckets, 0, gh->nbuckets*sizeof(*gh->buckets));
+
+ for (i=0; i<nold; i++) {
+ for (e= old[i]; e;) {
+ Entry *n= e->next;
+
+ hash= gh->hashfp(e->key)%gh->nbuckets;
+ e->next= gh->buckets[hash];
+ gh->buckets[hash]= e;
+
+ e= n;
+ }
+ }
+
+ MEM_freeN(old);
+ }
+}
+
+void *BLI_ghash_lookup(GHash *gh, const void *key) {
+ if(gh) {
+ unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+ Entry *e;
+
+ for (e= gh->buckets[hash]; e; e= e->next)
+ if (gh->cmpfp(key, e->key)==0)
+ return e->val;
+ }
+ return NULL;
+}
+
+int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
+{
+ unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+ Entry *e;
+ Entry *p = NULL;
+
+ for (e= gh->buckets[hash]; e; e= e->next) {
+ if (gh->cmpfp(key, e->key)==0) {
+ Entry *n= e->next;
+
+ if (keyfreefp) keyfreefp(e->key);
+ if (valfreefp) valfreefp(e->val);
+ BLI_mempool_free(gh->entrypool, e);
+
+ /* correct but 'e' isnt used before return */
+ /* e= n; */ /*UNUSED*/
+ if (p)
+ p->next = n;
+ else
+ gh->buckets[hash] = n;
+
+ --gh->nentries;
+ return 1;
+ }
+ p = e;
+ }
+
+ return 0;
+}
+
+int BLI_ghash_haskey(GHash *gh, void *key) {
+ unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+ Entry *e;
+
+ for (e= gh->buckets[hash]; e; e= e->next)
+ if (gh->cmpfp(key, e->key)==0)
+ return 1;
+
+ return 0;
+}
+
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp) {
int i;
diff --git a/source/blender/blenlib/intern/BLI_kdopbvh.c b/source/blender/blenlib/intern/BLI_kdopbvh.c
index 527692348e7..dcbe043f0d0 100644
--- a/source/blender/blenlib/intern/BLI_kdopbvh.c
+++ b/source/blender/blenlib/intern/BLI_kdopbvh.c
@@ -1494,7 +1494,7 @@ static float fast_ray_nearest_hit(const BVHRayCastData *data, const BVHNode *nod
float t2z = (bv[data->index[5]] - data->ray.origin[2]) * data->idot_axis[2];
if(t1x > t2y || t2x < t1y || t1x > t2z || t2x < t1z || t1y > t2z || t2y < t1z) return FLT_MAX;
- if(t2x < 0.0 || t2y < 0.0 || t2z < 0.0) return FLT_MAX;
+ if(t2x < 0.0f || t2y < 0.0f || t2z < 0.0f) return FLT_MAX;
if(t1x > data->hit.dist || t1y > data->hit.dist || t1z > data->hit.dist) return FLT_MAX;
dist = t1x;
@@ -1599,11 +1599,11 @@ int BLI_bvhtree_ray_cast(BVHTree *tree, const float *co, const float *dir, float
data.ray_dot_axis[i] = INPR( data.ray.direction, KDOP_AXES[i]);
data.idot_axis[i] = 1.0f / data.ray_dot_axis[i];
- if(fabs(data.ray_dot_axis[i]) < FLT_EPSILON)
+ if(fabsf(data.ray_dot_axis[i]) < FLT_EPSILON)
{
data.ray_dot_axis[i] = 0.0;
}
- data.index[2*i] = data.idot_axis[i] < 0.0 ? 1 : 0;
+ data.index[2*i] = data.idot_axis[i] < 0.0f ? 1 : 0;
data.index[2*i+1] = 1 - data.index[2*i];
data.index[2*i] += 2*i;
data.index[2*i+1] += 2*i;
@@ -1654,7 +1654,7 @@ float BLI_bvhtree_bb_raycast(float *bv, float *light_start, float *light_end, fl
dist = ray_nearest_hit(&data, bv);
- if(dist > 0.0)
+ if(dist > 0.0f)
{
VECADDFAC(pos, light_start, data.ray.direction, dist);
}
diff --git a/source/blender/blenlib/intern/BLI_kdtree.c b/source/blender/blenlib/intern/BLI_kdtree.c
index 713bfde3417..c885e8c8a9c 100644
--- a/source/blender/blenlib/intern/BLI_kdtree.c
+++ b/source/blender/blenlib/intern/BLI_kdtree.c
@@ -187,7 +187,7 @@ int BLI_kdtree_find_nearest(KDTree *tree, float *co, float *nor, KDTreeNearest *
cur_dist = node->co[node->d] - co[node->d];
- if(cur_dist<0.0){
+ if(cur_dist<0.0f){
cur_dist= -cur_dist*cur_dist;
if(-cur_dist<min_dist){
@@ -294,7 +294,7 @@ int BLI_kdtree_find_n_nearest(KDTree *tree, int n, float *co, float *nor, KDTree
cur_dist = node->co[node->d] - co[node->d];
- if(cur_dist<0.0){
+ if(cur_dist<0.0f){
cur_dist= -cur_dist*cur_dist;
if(found<n || -cur_dist<nearest[found-1].dist){
diff --git a/source/blender/blenlib/intern/callbacks.c b/source/blender/blenlib/intern/callbacks.c
new file mode 100644
index 00000000000..d28f794440f
--- /dev/null
+++ b/source/blender/blenlib/intern/callbacks.c
@@ -0,0 +1,70 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Blender Foundation (2011)
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#include "BLI_utildefines.h"
+#include "BLI_listbase.h"
+#include "BLI_callbacks.h"
+
+#include "MEM_guardedalloc.h"
+
+static ListBase callback_slots[BLI_CB_EVT_TOT]= {{NULL}};
+
+void BLI_exec_cb(struct Main *main, struct ID *self, eCbEvent evt)
+{
+ ListBase *lb= &callback_slots[evt];
+ bCallbackFuncStore *funcstore;
+
+ for(funcstore= (bCallbackFuncStore *)lb->first; funcstore; funcstore= (bCallbackFuncStore *)funcstore->next) {
+ funcstore->func(main, self, funcstore->arg);
+ }
+}
+
+void BLI_add_cb(bCallbackFuncStore *funcstore, eCbEvent evt)
+{
+ ListBase *lb= &callback_slots[evt];
+ BLI_addtail(lb, funcstore);
+}
+
+void BLI_cb_init(void)
+{
+ /* do nothing */
+}
+
+/* call on application exit */
+void BLI_cb_finalize(void)
+{
+ eCbEvent evt;
+ for(evt= 0; evt < BLI_CB_EVT_TOT; evt++) {
+ ListBase *lb= &callback_slots[evt];
+ bCallbackFuncStore *funcstore;
+ bCallbackFuncStore *funcstore_next;
+ for(funcstore= (bCallbackFuncStore *)lb->first; funcstore; funcstore= funcstore_next) {
+ funcstore_next= (bCallbackFuncStore *)funcstore->next;
+ BLI_remlink(lb, funcstore);
+ if(funcstore->alloc) {
+ MEM_freeN(funcstore);
+ }
+ }
+ }
+}
diff --git a/source/blender/blenlib/intern/fileops.c b/source/blender/blenlib/intern/fileops.c
index 2e0f4b483b1..3299752646b 100644
--- a/source/blender/blenlib/intern/fileops.c
+++ b/source/blender/blenlib/intern/fileops.c
@@ -69,8 +69,10 @@ int BLI_gzip(const char *from, const char *to) {
int readsize = 0;
int rval= 0, err;
gzFile gzfile;
-
- gzfile = gzopen(to, "wb");
+
+ /* level 1 is very close to 3 (the default) in terms of file size,
+ * but about twice as fast, best use for speedy saving - campbell */
+ gzfile = gzopen(to, "wb1");
if(gzfile == NULL)
return -1;
diff --git a/source/blender/blenlib/intern/graph.c b/source/blender/blenlib/intern/graph.c
index 51e639d1c75..2e26f4bd9c9 100644
--- a/source/blender/blenlib/intern/graph.c
+++ b/source/blender/blenlib/intern/graph.c
@@ -714,7 +714,7 @@ static void handleRadialSymmetry(BGraph *graph, BNode *root_node, int depth, flo
int dispatch = 0;
int last = i - 1;
- if (fabs(ring[first].arc->length - ring[i].arc->length) > limit)
+ if (fabsf(ring[first].arc->length - ring[i].arc->length) > limit)
{
dispatch = 1;
}
diff --git a/source/blender/blenlib/intern/jitter.c b/source/blender/blenlib/intern/jitter.c
index 16f0c86c449..f0e81d6b5e9 100644
--- a/source/blender/blenlib/intern/jitter.c
+++ b/source/blender/blenlib/intern/jitter.c
@@ -53,10 +53,10 @@ void BLI_jitterate1(float *jit1, float *jit2, int num, float rad1)
y = jit1[i+1];
for (j = 2*num-2; j>=0 ; j-=2) {
if (i != j){
- vecx = jit1[j] - x - 1.0;
- vecy = jit1[j+1] - y - 1.0;
+ vecx = jit1[j] - x - 1.0f;
+ vecy = jit1[j+1] - y - 1.0f;
for (k = 3; k>0 ; k--){
- if( fabs(vecx)<rad1 && fabs(vecy)<rad1) {
+ if( fabsf(vecx)<rad1 && fabsf(vecy)<rad1) {
len= sqrt(vecx*vecx + vecy*vecy);
if(len>0 && len<rad1) {
len= len/rad1;
@@ -64,9 +64,9 @@ void BLI_jitterate1(float *jit1, float *jit2, int num, float rad1)
dvecy += vecy/len;
}
}
- vecx += 1.0;
+ vecx += 1.0f;
- if( fabs(vecx)<rad1 && fabs(vecy)<rad1) {
+ if( fabsf(vecx)<rad1 && fabsf(vecy)<rad1) {
len= sqrt(vecx*vecx + vecy*vecy);
if(len>0 && len<rad1) {
len= len/rad1;
@@ -74,9 +74,9 @@ void BLI_jitterate1(float *jit1, float *jit2, int num, float rad1)
dvecy += vecy/len;
}
}
- vecx += 1.0;
+ vecx += 1.0f;
- if( fabs(vecx)<rad1 && fabs(vecy)<rad1) {
+ if( fabsf(vecx)<rad1 && fabsf(vecy)<rad1) {
len= sqrt(vecx*vecx + vecy*vecy);
if(len>0 && len<rad1) {
len= len/rad1;
@@ -84,16 +84,16 @@ void BLI_jitterate1(float *jit1, float *jit2, int num, float rad1)
dvecy += vecy/len;
}
}
- vecx -= 2.0;
- vecy += 1.0;
+ vecx -= 2.0f;
+ vecy += 1.0f;
}
}
}
- x -= dvecx/18.0 ;
- y -= dvecy/18.0;
- x -= floor(x) ;
- y -= floor(y);
+ x -= dvecx/18.0f;
+ y -= dvecy/18.0f;
+ x -= floorf(x) ;
+ y -= floorf(y);
jit2[i] = x;
jit2[i+1] = y;
}
@@ -111,28 +111,28 @@ void BLI_jitterate2(float *jit1, float *jit2, int num, float rad2)
y = jit1[i+1];
for (j =2*num -2; j>= 0 ; j-=2){
if (i != j){
- vecx = jit1[j] - x - 1.0;
- vecy = jit1[j+1] - y - 1.0;
+ vecx = jit1[j] - x - 1.0f;
+ vecy = jit1[j+1] - y - 1.0f;
- if( fabs(vecx)<rad2) dvecx+= vecx*rad2;
- vecx += 1.0;
- if( fabs(vecx)<rad2) dvecx+= vecx*rad2;
- vecx += 1.0;
- if( fabs(vecx)<rad2) dvecx+= vecx*rad2;
+ if( fabsf(vecx)<rad2) dvecx+= vecx*rad2;
+ vecx += 1.0f;
+ if( fabsf(vecx)<rad2) dvecx+= vecx*rad2;
+ vecx += 1.0f;
+ if( fabsf(vecx)<rad2) dvecx+= vecx*rad2;
- if( fabs(vecy)<rad2) dvecy+= vecy*rad2;
- vecy += 1.0;
- if( fabs(vecy)<rad2) dvecy+= vecy*rad2;
- vecy += 1.0;
- if( fabs(vecy)<rad2) dvecy+= vecy*rad2;
+ if( fabsf(vecy)<rad2) dvecy+= vecy*rad2;
+ vecy += 1.0f;
+ if( fabsf(vecy)<rad2) dvecy+= vecy*rad2;
+ vecy += 1.0f;
+ if( fabsf(vecy)<rad2) dvecy+= vecy*rad2;
}
}
- x -= dvecx/2 ;
- y -= dvecy/2;
- x -= floor(x) ;
- y -= floor(y);
+ x -= dvecx/2.0f;
+ y -= dvecy/2.0f;
+ x -= floorf(x) ;
+ y -= floorf(y);
jit2[i] = x;
jit2[i+1] = y;
}
@@ -148,17 +148,17 @@ void BLI_initjit(float *jitarr, int num)
if(num==0) return;
jit2= MEM_mallocN(12 + 2*sizeof(float)*num, "initjit");
- rad1= 1.0/sqrt((float)num);
- rad2= 1.0/((float)num);
- rad3= sqrt((float)num)/((float)num);
+ rad1= 1.0f/sqrtf((float)num);
+ rad2= 1.0f/((float)num);
+ rad3= sqrtf((float)num)/((float)num);
BLI_srand(31415926 + num);
x= 0;
for(i=0; i<2*num; i+=2) {
- jitarr[i]= x+ rad1*(0.5-BLI_drand());
- jitarr[i+1]= ((float)i/2)/num +rad1*(0.5-BLI_drand());
+ jitarr[i]= x+ rad1*(float)(0.5-BLI_drand());
+ jitarr[i+1]= ((float)i/2)/num +rad1*(float)(0.5-BLI_drand());
x+= rad3;
- x -= floor(x);
+ x -= floorf(x);
}
for (i=0 ; i<24 ; i++) {
@@ -171,8 +171,8 @@ void BLI_initjit(float *jitarr, int num)
/* finally, move jittertab to be centered around (0,0) */
for(i=0; i<2*num; i+=2) {
- jitarr[i] -= 0.5;
- jitarr[i+1] -= 0.5;
+ jitarr[i] -= 0.5f;
+ jitarr[i+1] -= 0.5f;
}
}
diff --git a/source/blender/blenlib/intern/math_base_inline.c b/source/blender/blenlib/intern/math_base_inline.c
index d37f1d6c5f0..2a2b1100fd9 100644
--- a/source/blender/blenlib/intern/math_base_inline.c
+++ b/source/blender/blenlib/intern/math_base_inline.c
@@ -114,7 +114,7 @@ MINLINE float shell_angle_to_dist(const float angle)
/* used for zoom values*/
MINLINE float power_of_2(float val)
{
- return (float)pow(2.0, ceil(log((double)val) / log(2.0)));
+ return (float)pow(2.0, ceil(log((double)val) / M_LN2));
}
MINLINE float minf(float a, float b)
diff --git a/source/blender/blenlib/intern/math_color.c b/source/blender/blenlib/intern/math_color.c
index ef1d5da56d8..93143eb7db3 100644
--- a/source/blender/blenlib/intern/math_color.c
+++ b/source/blender/blenlib/intern/math_color.c
@@ -488,6 +488,11 @@ float rgb_to_grayscale(float rgb[3])
return 0.3f*rgb[0] + 0.58f*rgb[1] + 0.12f*rgb[2];
}
+unsigned char rgb_to_grayscale_byte(unsigned char rgb[3])
+{
+ return (76*(unsigned short)rgb[0] + 148*(unsigned short)rgb[1] + 31*(unsigned short)rgb[2]) / 255;
+}
+
/* ********************************* lift/gamma/gain / ASC-CDL conversion ********************************* */
void lift_gamma_gain_to_asc_cdl(float *lift, float *gamma, float *gain, float *offset, float *slope, float *power)
diff --git a/source/blender/blenlib/intern/math_geom.c b/source/blender/blenlib/intern/math_geom.c
index 96ed788a49f..8f025880a86 100644
--- a/source/blender/blenlib/intern/math_geom.c
+++ b/source/blender/blenlib/intern/math_geom.c
@@ -37,8 +37,6 @@
#include "BLI_memarena.h"
#include "BLI_utildefines.h"
-static float lambda_cp_line(const float p[3], const float l1[3], const float l2[3]);
-
/********************************** Polygons *********************************/
void cent_tri_v3(float cent[3], const float v1[3], const float v2[3], const float v3[3])
@@ -349,6 +347,133 @@ int isect_seg_seg_v2_point(const float v1[2], const float v2[2], const float v3[
return -1;
}
+int isect_line_sphere_v3(const float l1[3], const float l2[3],
+ const float sp[3], const float r,
+ float r_p1[3], float r_p2[3])
+{
+ /* l1: coordinates (point of line)
+ * l2: coordinates (point of line)
+ * sp, r: coordinates and radius (sphere)
+ * r_p1, r_p2: return intersection coordinates
+ */
+
+
+ /* adapted for use in blender by Campbell Barton - 2011
+ *
+ * atelier iebele abel - 2001
+ * atelier@iebele.nl
+ * http://www.iebele.nl
+ *
+ * sphere_line_intersection function adapted from:
+ * http://astronomy.swin.edu.au/pbourke/geometry/sphereline
+ * Paul Bourke pbourke@swin.edu.au
+ */
+
+ const float ldir[3]= {
+ l2[0] - l1[0],
+ l2[1] - l1[1],
+ l2[2] - l1[2]
+ };
+
+ const float a= dot_v3v3(ldir, ldir);
+
+ const float b= 2.0f *
+ (ldir[0] * (l1[0] - sp[0]) +
+ ldir[1] * (l1[1] - sp[1]) +
+ ldir[2] * (l1[2] - sp[2]));
+
+ const float c=
+ dot_v3v3(sp, sp) +
+ dot_v3v3(l1, l1) -
+ (2.0f * dot_v3v3(sp, l1)) -
+ (r * r);
+
+ const float i = b * b - 4.0f * a * c;
+
+ float mu;
+
+ if (i < 0.0f) {
+ /* no intersections */
+ return 0;
+ }
+ else if (i == 0.0f) {
+ /* one intersection */
+ mu = -b / (2.0f * a);
+ madd_v3_v3v3fl(r_p1, l1, ldir, mu);
+ return 1;
+ }
+ else if (i > 0.0f) {
+ const float i_sqrt= sqrt(i); /* avoid calc twice */
+
+ /* first intersection */
+ mu = (-b + i_sqrt) / (2.0f * a);
+ madd_v3_v3v3fl(r_p1, l1, ldir, mu);
+
+ /* second intersection */
+ mu = (-b - i_sqrt) / (2.0f * a);
+ madd_v3_v3v3fl(r_p2, l1, ldir, mu);
+ return 2;
+ }
+ else {
+ /* math domain error - nan */
+ return -1;
+ }
+}
+
+/* keep in sync with isect_line_sphere_v3 */
+int isect_line_sphere_v2(const float l1[2], const float l2[2],
+ const float sp[2], const float r,
+ float r_p1[2], float r_p2[2])
+{
+ const float ldir[2]= {
+ l2[0] - l1[0],
+ l2[1] - l1[1]
+ };
+
+ const float a= dot_v2v2(ldir, ldir);
+
+ const float b= 2.0f *
+ (ldir[0] * (l1[0] - sp[0]) +
+ ldir[1] * (l1[1] - sp[1]));
+
+ const float c=
+ dot_v2v2(sp, sp) +
+ dot_v2v2(l1, l1) -
+ (2.0f * dot_v2v2(sp, l1)) -
+ (r * r);
+
+ const float i = b * b - 4.0f * a * c;
+
+ float mu;
+
+ if (i < 0.0f) {
+ /* no intersections */
+ return 0;
+ }
+ else if (i == 0.0f) {
+ /* one intersection */
+ mu = -b / (2.0f * a);
+ madd_v2_v2v2fl(r_p1, l1, ldir, mu);
+ return 1;
+ }
+ else if (i > 0.0f) {
+ const float i_sqrt= sqrt(i); /* avoid calc twice */
+
+ /* first intersection */
+ mu = (-b + i_sqrt) / (2.0f * a);
+ madd_v2_v2v2fl(r_p1, l1, ldir, mu);
+
+ /* second intersection */
+ mu = (-b - i_sqrt) / (2.0f * a);
+ madd_v2_v2v2fl(r_p2, l1, ldir, mu);
+ return 2;
+ }
+ else {
+ /* math domain error - nan */
+ return -1;
+ }
+}
+
/*
-1: colliniar
1: intersection
@@ -668,7 +793,7 @@ int isect_line_plane_v3(float out[3], const float l1[3], const float l2[3], cons
add_v3_v3v3(l1_plane, l1, p_no);
- dist = lambda_cp_line(plane_co, l1, l1_plane);
+ dist = line_point_factor_v3(plane_co, l1, l1_plane);
/* treat line like a ray, when 'no_flip' is set */
if(no_flip && dist < 0.0f) {
@@ -1118,7 +1243,7 @@ float closest_to_line_v2(float cp[2],const float p[2], const float l1[2], const
}
/* little sister we only need to know lambda */
-static float lambda_cp_line(const float p[3], const float l1[3], const float l2[3])
+float line_point_factor_v3(const float p[3], const float l1[3], const float l2[3])
{
float h[3],u[3];
sub_v3_v3v3(u, l2, l1);
@@ -1126,6 +1251,14 @@ static float lambda_cp_line(const float p[3], const float l1[3], const float l2[
return(dot_v3v3(u,h)/dot_v3v3(u,u));
}
+float line_point_factor_v2(const float p[2], const float l1[2], const float l2[2])
+{
+ float h[2], u[2];
+ sub_v2_v2v2(u, l2, l1);
+ sub_v2_v2v2(h, p, l1);
+ return(dot_v2v2(u, h)/dot_v2v2(u, u));
+}
+
/* Similar to LineIntersectsTriangleUV, except it operates on a quad and in 2d, assumes point is in quad */
void isect_point_quad_uv_v2(const float v0[2], const float v1[2], const float v2[2], const float v3[2], const float pt[2], float *uv)
{
@@ -1835,7 +1968,7 @@ void resolve_tri_uv(float uv[2], const float st[2], const float st0[2], const fl
void resolve_quad_uv(float uv[2], const float st[2], const float st0[2], const float st1[2], const float st2[2], const float st3[2])
{
const double signed_area= (st0[0]*st1[1] - st0[1]*st1[0]) + (st1[0]*st2[1] - st1[1]*st2[0]) +
- (st2[0]*st3[1] - st2[1]*st3[0]) + (st3[0]*st0[1] - st3[1]*st0[0]);
+ (st2[0]*st3[1] - st2[1]*st3[0]) + (st3[0]*st0[1] - st3[1]*st0[0]);
/* X is 2D cross product (determinant)
A= (p0-p) X (p0-p3)*/
@@ -1877,7 +2010,7 @@ void resolve_quad_uv(float uv[2], const float st[2], const float st0[2], const f
}
if(IS_ZERO(denom)==0)
- uv[1]= (float) (( (1-uv[0])*(st0[i]-st[i]) + uv[0]*(st1[i]-st[i]) ) / denom);
+ uv[1]= (float) (( (1.0f-uv[0])*(st0[i]-st[i]) + uv[0]*(st1[i]-st[i]) ) / denom);
}
}
diff --git a/source/blender/blenlib/intern/math_matrix.c b/source/blender/blenlib/intern/math_matrix.c
index 5edf6e28d4c..e2f594376cb 100644
--- a/source/blender/blenlib/intern/math_matrix.c
+++ b/source/blender/blenlib/intern/math_matrix.c
@@ -451,6 +451,24 @@ void add_m4_m4m4(float m1[][4], float m2[][4], float m3[][4])
m1[i][j]= m2[i][j] + m3[i][j];
}
+void sub_m3_m3m3(float m1[][3], float m2[][3], float m3[][3])
+{
+ int i, j;
+
+ for(i=0;i<3;i++)
+ for(j=0;j<3;j++)
+ m1[i][j]= m2[i][j] - m3[i][j];
+}
+
+void sub_m4_m4m4(float m1[][4], float m2[][4], float m3[][4])
+{
+ int i, j;
+
+ for(i=0;i<4;i++)
+ for(j=0;j<4;j++)
+ m1[i][j]= m2[i][j] - m3[i][j];
+}
+
int invert_m3(float m[3][3])
{
float tmp[3][3];
@@ -820,7 +838,7 @@ void normalize_m4_m4(float rmat[][4], float mat[][4])
len= normalize_v3_v3(rmat[1], mat[1]);
if(len!=0.0f) rmat[1][3]= mat[1][3] / len;
len= normalize_v3_v3(rmat[2], mat[2]);
- if(len!=0.0f) rmat[2][3]= mat[2][3] / len;;
+ if(len!=0.0f) rmat[2][3]= mat[2][3] / len;
}
void adjoint_m3_m3(float m1[][3], float m[][3])
diff --git a/source/blender/blenlib/intern/math_rotation.c b/source/blender/blenlib/intern/math_rotation.c
index dfd715ccbf2..6800b59c2c7 100644
--- a/source/blender/blenlib/intern/math_rotation.c
+++ b/source/blender/blenlib/intern/math_rotation.c
@@ -213,7 +213,7 @@ void quat_to_mat4(float m[][4], const float q[4])
double q0, q1, q2, q3, qda,qdb,qdc,qaa,qab,qac,qbb,qbc,qcc;
#ifdef DEBUG
- if(!((q0=dot_qtqt(q, q))==0.0f || (fabsf(q0-1.0f) < (float)QUAT_EPSILON))) {
+ if(!((q0=dot_qtqt(q, q))==0.0f || (fabs(q0-1.0) < QUAT_EPSILON))) {
fprintf(stderr, "Warning! quat_to_mat4() called with non-normalized: size %.8f *** report a bug ***\n", (float)q0);
}
#endif
@@ -492,8 +492,8 @@ void vec_to_quat(float q[4], const float vec[3], short axis, const short upflag)
else angle= (float)(-0.5*atan2(-fp[0], -fp[1]));
}
- co= (float)cos(angle);
- si= (float)(sin(angle)/len1);
+ co= cosf(angle);
+ si= sinf(angle)/len1;
q2[0]= co;
q2[1]= x2*si;
q2[2]= y2*si;
@@ -774,28 +774,6 @@ void mat4_to_axis_angle(float axis[3], float *angle,float mat[4][4])
/****************************** Vector/Rotation ******************************/
/* TODO: the following calls should probably be depreceated sometime */
-/* 3x3 matrix to axis angle */
-void mat3_to_vec_rot(float axis[3], float *angle,float mat[3][3])
-{
- float q[4];
-
- /* use quaternions as intermediate representation */
- // TODO: it would be nicer to go straight there...
- mat3_to_quat(q,mat);
- quat_to_axis_angle(axis, angle,q);
-}
-
-/* 4x4 matrix to axis angle */
-void mat4_to_vec_rot(float axis[3], float *angle,float mat[4][4])
-{
- float q[4];
-
- /* use quaternions as intermediate representation */
- // TODO: it would be nicer to go straight there...
- mat4_to_quat(q,mat);
- quat_to_axis_angle(axis, angle,q);
-}
-
/* axis angle to 3x3 matrix */
void vec_rot_to_mat3(float mat[][3], const float vec[3], const float phi)
{
diff --git a/source/blender/blenlib/intern/math_vector.c b/source/blender/blenlib/intern/math_vector.c
index 15d671e38d7..7dbceff46e4 100644
--- a/source/blender/blenlib/intern/math_vector.c
+++ b/source/blender/blenlib/intern/math_vector.c
@@ -96,6 +96,14 @@ void interp_v4_v4v4v4(float p[4], const float v1[4], const float v2[4], const fl
p[3] = v1[3]*w[0] + v2[3]*w[1] + v3[3]*w[2];
}
+void interp_v4_v4v4v4v4(float p[4], const float v1[4], const float v2[4], const float v3[4], const float v4[4], const float w[4])
+{
+ p[0] = v1[0]*w[0] + v2[0]*w[1] + v3[0]*w[2] + v4[0]*w[3];
+ p[1] = v1[1]*w[0] + v2[1]*w[1] + v3[1]*w[2] + v4[1]*w[3];
+ p[2] = v1[2]*w[0] + v2[2]*w[1] + v3[2]*w[2] + v4[2]*w[3];
+ p[3] = v1[3]*w[0] + v2[3]*w[1] + v3[3]*w[2] + v4[3]*w[3];
+}
+
void mid_v3_v3v3(float v[3], const float v1[3], const float v2[3])
{
v[0]= 0.5f*(v1[0] + v2[0]);
diff --git a/source/blender/blenlib/intern/math_vector_inline.c b/source/blender/blenlib/intern/math_vector_inline.c
index e2b7c770356..28708af7486 100644
--- a/source/blender/blenlib/intern/math_vector_inline.c
+++ b/source/blender/blenlib/intern/math_vector_inline.c
@@ -136,26 +136,26 @@ MINLINE void add_v3_v3(float *r, const float *a)
r[2] += a[2];
}
-MINLINE void add_v3_v3v3(float *r, const float *a, const float *b)
+MINLINE void add_v3_v3v3(float r[3], const float a[3], const float b[3])
{
r[0]= a[0] + b[0];
r[1]= a[1] + b[1];
r[2]= a[2] + b[2];
}
-MINLINE void sub_v2_v2(float *r, const float *a)
+MINLINE void sub_v2_v2(float r[2], const float a[2])
{
r[0] -= a[0];
r[1] -= a[1];
}
-MINLINE void sub_v2_v2v2(float *r, const float *a, const float *b)
+MINLINE void sub_v2_v2v2(float r[2], const float a[2], const float b[2])
{
r[0]= a[0] - b[0];
r[1]= a[1] - b[1];
}
-MINLINE void sub_v3_v3(float *r, const float *a)
+MINLINE void sub_v3_v3(float r[3], const float a[3])
{
r[0] -= a[0];
r[1] -= a[1];
@@ -177,7 +177,7 @@ MINLINE void sub_v4_v4(float r[4], const float a[4])
r[3] -= a[3];
}
-MINLINE void sub_v4_v4v4(float r[3], const float a[3], const float b[3])
+MINLINE void sub_v4_v4v4(float r[4], const float a[4], const float b[4])
{
r[0]= a[0] - b[0];
r[1]= a[1] - b[1];
@@ -186,10 +186,10 @@ MINLINE void sub_v4_v4v4(float r[3], const float a[3], const float b[3])
}
-MINLINE void mul_v2_fl(float *v1, float f)
+MINLINE void mul_v2_fl(float r[2], float f)
{
- v1[0]*= f;
- v1[1]*= f;
+ r[0]*= f;
+ r[1]*= f;
}
MINLINE void mul_v2_v2fl(float r[2], const float a[2], float f)
@@ -281,11 +281,11 @@ MINLINE void madd_v4_v4fl(float r[4], const float a[4], float f)
r[3] += a[3]*f;
}
-MINLINE void mul_v3_v3v3(float *v, const float *v1, const float *v2)
+MINLINE void mul_v3_v3v3(float r[3], const float v1[3], const float v2[3])
{
- v[0] = v1[0] * v2[0];
- v[1] = v1[1] * v2[1];
- v[2] = v1[2] * v2[2];
+ r[0] = v1[0] * v2[0];
+ r[1] = v1[1] * v2[1];
+ r[2] = v1[2] * v2[2];
}
MINLINE void negate_v3(float r[3])
@@ -340,15 +340,15 @@ MINLINE void cross_v3_v3v3(float r[3], const float a[3], const float b[3])
r[2]= a[0]*b[1] - a[1]*b[0];
}
-MINLINE void star_m3_v3(float mat[][3], float *vec)
+MINLINE void star_m3_v3(float rmat[][3], float a[3])
{
- mat[0][0]= mat[1][1]= mat[2][2]= 0.0;
- mat[0][1]= -vec[2];
- mat[0][2]= vec[1];
- mat[1][0]= vec[2];
- mat[1][2]= -vec[0];
- mat[2][0]= -vec[1];
- mat[2][1]= vec[0];
+ rmat[0][0]= rmat[1][1]= rmat[2][2]= 0.0;
+ rmat[0][1]= -a[2];
+ rmat[0][2]= a[1];
+ rmat[1][0]= a[2];
+ rmat[1][2]= -a[0];
+ rmat[2][0]= -a[1];
+ rmat[2][1]= a[0];
}
/*********************************** Length **********************************/
@@ -465,27 +465,27 @@ MINLINE int is_zero_v4(const float v[4])
return (v[0] == 0 && v[1] == 0 && v[2] == 0 && v[3] == 0);
}
-MINLINE int is_one_v3(const float *v)
+MINLINE int is_one_v3(const float v[3])
{
return (v[0] == 1 && v[1] == 1 && v[2] == 1);
}
-MINLINE int equals_v2v2(const float *v1, const float *v2)
+MINLINE int equals_v2v2(const float v1[2], const float v2[2])
{
return ((v1[0]==v2[0]) && (v1[1]==v2[1]));
}
-MINLINE int equals_v3v3(const float *v1, const float *v2)
+MINLINE int equals_v3v3(const float v1[3], const float v2[3])
{
return ((v1[0]==v2[0]) && (v1[1]==v2[1]) && (v1[2]==v2[2]));
}
-MINLINE int equals_v4v4(const float *v1, const float *v2)
+MINLINE int equals_v4v4(const float v1[4], const float v2[4])
{
return ((v1[0]==v2[0]) && (v1[1]==v2[1]) && (v1[2]==v2[2]) && (v1[3]==v2[3]));
}
-MINLINE int compare_v3v3(const float *v1, const float *v2, const float limit)
+MINLINE int compare_v3v3(const float v1[3], const float v2[3], const float limit)
{
if(fabsf(v1[0]-v2[0])<limit)
if(fabsf(v1[1]-v2[1])<limit)
@@ -495,7 +495,7 @@ MINLINE int compare_v3v3(const float *v1, const float *v2, const float limit)
return 0;
}
-MINLINE int compare_len_v3v3(const float *v1, const float *v2, const float limit)
+MINLINE int compare_len_v3v3(const float v1[3], const float v2[3], const float limit)
{
float x,y,z;
@@ -506,7 +506,7 @@ MINLINE int compare_len_v3v3(const float *v1, const float *v2, const float limit
return ((x*x + y*y + z*z) < (limit*limit));
}
-MINLINE int compare_v4v4(const float *v1, const float *v2, const float limit)
+MINLINE int compare_v4v4(const float v1[4], const float v2[4], const float limit)
{
if(fabsf(v1[0]-v2[0])<limit)
if(fabsf(v1[1]-v2[1])<limit)
@@ -517,7 +517,7 @@ MINLINE int compare_v4v4(const float *v1, const float *v2, const float limit)
return 0;
}
-MINLINE float line_point_side_v2(const float *l1, const float *l2, const float *pt)
+MINLINE float line_point_side_v2(const float l1[2], const float l2[2], const float pt[2])
{
return ((l1[0]-pt[0]) * (l2[1]-pt[1])) -
((l2[0]-pt[0]) * (l1[1]-pt[1]));
diff --git a/source/blender/blenlib/intern/noise.c b/source/blender/blenlib/intern/noise.c
index 5d80edebbef..9efe8dc9739 100644
--- a/source/blender/blenlib/intern/noise.c
+++ b/source/blender/blenlib/intern/noise.c
@@ -251,7 +251,7 @@ static float newPerlin(float x, float y, float z)
/* for use with BLI_gNoise()/BLI_gTurbulence(), returns unsigned improved perlin noise */
static float newPerlinU(float x, float y, float z)
{
- return (0.5+0.5*newPerlin(x, y, z));
+ return (0.5f+0.5f*newPerlin(x, y, z));
}
@@ -263,13 +263,21 @@ static float newPerlinU(float x, float y, float z)
static float orgBlenderNoise(float x, float y, float z)
{
register float cn1, cn2, cn3, cn4, cn5, cn6, i, *h;
- float ox, oy, oz, jx, jy, jz;
+ float fx, fy, fz, ox, oy, oz, jx, jy, jz;
float n= 0.5;
int ix, iy, iz, b00, b01, b10, b11, b20, b21;
- ox= (x- (ix= (int)floor(x)) );
- oy= (y- (iy= (int)floor(y)) );
- oz= (z- (iz= (int)floor(z)) );
+ fx= floor(x);
+ fy= floor(y);
+ fz= floor(z);
+
+ ox= x- fx;
+ oy= y- fy;
+ oz= z- fz;
+
+ ix= (int)fx;
+ iy= (int)fy;
+ iz= (int)fz;
jx= ox-1;
jy= oy-1;
@@ -278,12 +286,12 @@ static float orgBlenderNoise(float x, float y, float z)
cn1=ox*ox; cn2=oy*oy; cn3=oz*oz;
cn4=jx*jx; cn5=jy*jy; cn6=jz*jz;
- cn1= 1.0-3.0*cn1+2.0*cn1*ox;
- cn2= 1.0-3.0*cn2+2.0*cn2*oy;
- cn3= 1.0-3.0*cn3+2.0*cn3*oz;
- cn4= 1.0-3.0*cn4-2.0*cn4*jx;
- cn5= 1.0-3.0*cn5-2.0*cn5*jy;
- cn6= 1.0-3.0*cn6-2.0*cn6*jz;
+ cn1= 1.0f-3.0f*cn1+2.0f*cn1*ox;
+ cn2= 1.0f-3.0f*cn2+2.0f*cn2*oy;
+ cn3= 1.0f-3.0f*cn3+2.0f*cn3*oz;
+ cn4= 1.0f-3.0f*cn4-2.0f*cn4*jx;
+ cn5= 1.0f-3.0f*cn5-2.0f*cn5*jy;
+ cn6= 1.0f-3.0f*cn6-2.0f*cn6*jz;
b00= hash[ hash[ix & 255]+(iy & 255)];
b10= hash[ hash[(ix+1) & 255]+(iy & 255)];
@@ -325,23 +333,23 @@ static float orgBlenderNoise(float x, float y, float z)
h=hashvectf+ 3*hash[b21+b11];
n+= i*(h[0]*jx+h[1]*jy+h[2]*jz);
- if(n<0.0) n=0.0; else if(n>1.0) n=1.0;
+ if(n<0.0f) n=0.0f; else if(n>1.0f) n=1.0f;
return n;
}
/* as orgBlenderNoise(), returning signed noise */
static float orgBlenderNoiseS(float x, float y, float z)
{
- return (2.0*orgBlenderNoise(x, y, z)-1.0);
+ return (2.0f*orgBlenderNoise(x, y, z)-1.0f);
}
/* separated from orgBlenderNoise above, with scaling */
float BLI_hnoise(float noisesize, float x, float y, float z)
{
- if(noisesize==0.0) return 0.0;
- x= (1.0+x)/noisesize;
- y= (1.0+y)/noisesize;
- z= (1.0+z)/noisesize;
+ if(noisesize==0.0f) return 0.0f;
+ x= (1.0f+x)/noisesize;
+ y= (1.0f+y)/noisesize;
+ z= (1.0f+z)/noisesize;
return orgBlenderNoise(x, y, z);
}
@@ -357,7 +365,7 @@ float BLI_turbulence(float noisesize, float x, float y, float z, int nr)
s+= d*BLI_hnoise(noisesize*d, x, y, z);
div+= d;
- d*= 0.5;
+ d*= 0.5f;
nr--;
}
@@ -368,13 +376,13 @@ float BLI_turbulence1(float noisesize, float x, float y, float z, int nr)
{
float s, d= 0.5, div=1.0;
- s= fabs( (-1.0+2.0*BLI_hnoise(noisesize, x, y, z)));
+ s= fabsf( (-1.0f+2.0f*BLI_hnoise(noisesize, x, y, z)));
while(nr>0) {
- s+= fabs(d* (-1.0+2.0*BLI_hnoise(noisesize*d, x, y, z)));
+ s+= fabsf(d* (-1.0f+2.0f*BLI_hnoise(noisesize*d, x, y, z)));
div+= d;
- d*= 0.5;
+ d*= 0.5f;
nr--;
}
@@ -917,11 +925,11 @@ static float g[512+2][3]= {
#define DOT(a,b) (a[0] * b[0] + a[1] * b[1] + a[2] * b[2])
#define setup(i,b0,b1,r0,r1) \
- t = vec[i] + 10000.; \
+ t = vec[i] + 10000.0f; \
b0 = ((int)t) & 255; \
b1 = (b0+1) & 255; \
- r0 = t - (int)t; \
- r1 = r0 - 1.;
+ r0 = t - floorf(t); \
+ r1 = r0 - 1.0f;
static float noise3_perlin(float vec[3])
@@ -945,7 +953,7 @@ static float noise3_perlin(float vec[3])
#define at(rx,ry,rz) ( rx * q[0] + ry * q[1] + rz * q[2] )
-#define surve(t) ( t * t * (3. - 2. * t) )
+#define surve(t) ( t * t * (3.0f - 2.0f * t) )
/* lerp moved to improved perlin above */
@@ -982,7 +990,7 @@ static float noise3_perlin(float vec[3])
d = lerp(sy, a, b); /* interpolate in y at hi x */
- return 1.5 * lerp(sz, c, d); /* interpolate in z */
+ return 1.5f * lerp(sz, c, d); /* interpolate in z */
}
#if 0
@@ -996,7 +1004,7 @@ static float turbulence_perlin(float *point, float lofreq, float hifreq)
t = 0;
for (freq = lofreq ; freq < hifreq ; freq *= 2.) {
- t += fabs(noise3_perlin(p)) / freq;
+ t += fabsf(noise3_perlin(p)) / freq;
p[0] *= 2.;
p[1] *= 2.;
p[2] *= 2.;
@@ -1024,7 +1032,7 @@ static float orgPerlinNoiseU(float x, float y, float z)
v[0] = x;
v[1] = y;
v[2] = z;
- return (0.5+0.5*noise3_perlin(v));
+ return (0.5f+0.5f*noise3_perlin(v));
}
/* *************** CALL AS: *************** */
@@ -1061,18 +1069,18 @@ float BLI_hnoisep(float noisesize, float x, float y, float z)
/* distance squared */
static float dist_Squared(float x, float y, float z, float e) { (void)e; return (x*x + y*y + z*z); }
/* real distance */
-static float dist_Real(float x, float y, float z, float e) { (void)e; return sqrt(x*x + y*y + z*z); }
+static float dist_Real(float x, float y, float z, float e) { (void)e; return sqrtf(x*x + y*y + z*z); }
/* manhattan/taxicab/cityblock distance */
-static float dist_Manhattan(float x, float y, float z, float e) { (void)e; return (fabs(x) + fabs(y) + fabs(z)); }
+static float dist_Manhattan(float x, float y, float z, float e) { (void)e; return (fabsf(x) + fabsf(y) + fabsf(z)); }
/* Chebychev */
static float dist_Chebychev(float x, float y, float z, float e)
{
float t;
(void)e;
- x = fabs(x);
- y = fabs(y);
- z = fabs(z);
+ x = fabsf(x);
+ y = fabsf(y);
+ z = fabsf(z);
t = (x>y)?x:y;
return ((z>t)?z:t);
}
@@ -1080,7 +1088,7 @@ static float dist_Chebychev(float x, float y, float z, float e)
/* minkovsky preset exponent 0.5 */
static float dist_MinkovskyH(float x, float y, float z, float e)
{
- float d = sqrt(fabs(x)) + sqrt(fabs(y)) + sqrt(fabs(z));
+ float d = sqrtf(fabsf(x)) + sqrtf(fabsf(y)) + sqrtf(fabsf(z));
(void)e;
return (d*d);
}
@@ -1092,13 +1100,13 @@ static float dist_Minkovsky4(float x, float y, float z, float e)
x *= x;
y *= y;
z *= z;
- return sqrt(sqrt(x*x + y*y + z*z));
+ return sqrtf(sqrtf(x*x + y*y + z*z));
}
/* Minkovsky, general case, slow, maybe too slow to be useful */
static float dist_Minkovsky(float x, float y, float z, float e)
{
- return pow(pow(fabs(x), e) + pow(fabs(y), e) + pow(fabs(z), e), 1.0/e);
+ return powf(powf(fabsf(x), e) + powf(fabsf(y), e) + powf(fabsf(z), e), 1.0f/e);
}
@@ -1224,35 +1232,35 @@ static float voronoi_F1S(float x, float y, float z)
{
float da[4], pa[12];
voronoi(x, y, z, da, pa, 1, 0);
- return (2.0*da[0]-1.0);
+ return (2.0f*da[0]-1.0f);
}
static float voronoi_F2S(float x, float y, float z)
{
float da[4], pa[12];
voronoi(x, y, z, da, pa, 1, 0);
- return (2.0*da[1]-1.0);
+ return (2.0f*da[1]-1.0f);
}
static float voronoi_F3S(float x, float y, float z)
{
float da[4], pa[12];
voronoi(x, y, z, da, pa, 1, 0);
- return (2.0*da[2]-1.0);
+ return (2.0f*da[2]-1.0f);
}
static float voronoi_F4S(float x, float y, float z)
{
float da[4], pa[12];
voronoi(x, y, z, da, pa, 1, 0);
- return (2.0*da[3]-1.0);
+ return (2.0f*da[3]-1.0f);
}
static float voronoi_F1F2S(float x, float y, float z)
{
float da[4], pa[12];
voronoi(x, y, z, da, pa, 1, 0);
- return (2.0*(da[1]-da[0])-1.0);
+ return (2.0f*(da[1]-da[0])-1.0f);
}
/* Crackle type pattern, just a scale/clamp of F2-F1 */
@@ -1260,7 +1268,7 @@ static float voronoi_CrS(float x, float y, float z)
{
float t = 10*voronoi_F1F2(x, y, z);
if (t>1.f) return 1.f;
- return (2.0*t-1.0);
+ return (2.0f*t-1.0f);
}
@@ -1280,13 +1288,13 @@ static float cellNoiseU(float x, float y, float z)
int zi = (int)(floor(z));
unsigned int n = xi + yi*1301 + zi*314159;
n ^= (n<<13);
- return ((float)(n*(n*n*15731 + 789221) + 1376312589) / 4294967296.0);
+ return ((float)(n*(n*n*15731 + 789221) + 1376312589) / 4294967296.0f);
}
/* idem, signed */
float cellNoise(float x, float y, float z)
{
- return (2.0*cellNoiseU(x, y, z)-1.0);
+ return (2.0f*cellNoiseU(x, y, z)-1.0f);
}
/* returns a vector/point/color in ca, using point hasharray directly */
@@ -1349,14 +1357,14 @@ float BLI_gNoise(float noisesize, float x, float y, float z, int hard, int noise
}
}
- if (noisesize!=0.0) {
- noisesize = 1.0/noisesize;
+ if (noisesize!=0.0f) {
+ noisesize = 1.0f/noisesize;
x *= noisesize;
y *= noisesize;
z *= noisesize;
}
- if (hard) return fabs(2.0*noisefunc(x, y, z)-1.0);
+ if (hard) return fabsf(2.0f*noisefunc(x, y, z)-1.0f);
return noisefunc(x, y, z);
}
@@ -1403,17 +1411,17 @@ float BLI_gTurbulence(float noisesize, float x, float y, float z, int oct, int h
z += 1;
}
- if (noisesize!=0.0) {
- noisesize = 1.0/noisesize;
+ if (noisesize!=0.0f) {
+ noisesize = 1.0f/noisesize;
x *= noisesize;
y *= noisesize;
z *= noisesize;
}
sum = 0;
- for (i=0;i<=oct;i++, amp*=0.5, fscale*=2) {
+ for (i=0;i<=oct;i++, amp*=0.5f, fscale*=2.0f) {
t = noisefunc(fscale*x, fscale*y, fscale*z);
- if (hard) t = fabs(2.0*t-1.0);
+ if (hard) t = fabsf(2.0f*t-1.0f);
sum += t * amp;
}
@@ -1439,7 +1447,7 @@ float BLI_gTurbulence(float noisesize, float x, float y, float z, int oct, int h
*/
float mg_fBm(float x, float y, float z, float H, float lacunarity, float octaves, int noisebasis)
{
- float rmd, value=0.0, pwr=1.0, pwHL=pow(lacunarity, -H);
+ float rmd, value=0.0, pwr=1.0, pwHL=powf(lacunarity, -H);
int i;
float (*noisefunc)(float, float, float);
@@ -1485,7 +1493,7 @@ float mg_fBm(float x, float y, float z, float H, float lacunarity, float octaves
z *= lacunarity;
}
- rmd = octaves - floor(octaves);
+ rmd = octaves - floorf(octaves);
if (rmd!=0.f) value += rmd * noisefunc(x, y, z) * pwr;
return value;
@@ -1508,9 +1516,9 @@ float mg_fBm(float x, float y, float z, float H, float lacunarity, float octaves
* I modified it to something that made sense to me, so it might be wrong... */
float mg_MultiFractal(float x, float y, float z, float H, float lacunarity, float octaves, int noisebasis)
{
- float rmd, value=1.0, pwr=1.0, pwHL=pow(lacunarity, -H);
+ float rmd, value=1.0, pwr=1.0, pwHL=powf(lacunarity, -H);
int i;
-
+
float (*noisefunc)(float, float, float);
switch (noisebasis) {
case 1:
@@ -1547,14 +1555,14 @@ float mg_MultiFractal(float x, float y, float z, float H, float lacunarity, floa
}
for (i=0; i<(int)octaves; i++) {
- value *= (pwr * noisefunc(x, y, z) + 1.0);
+ value *= (pwr * noisefunc(x, y, z) + 1.0f);
pwr *= pwHL;
x *= lacunarity;
y *= lacunarity;
z *= lacunarity;
}
- rmd = octaves - floor(octaves);
- if (rmd!=0.0) value *= (rmd * noisefunc(x, y, z) * pwr + 1.0);
+ rmd = octaves - floorf(octaves);
+ if (rmd!=0.0f) value *= (rmd * noisefunc(x, y, z) * pwr + 1.0f);
return value;
@@ -1574,7 +1582,7 @@ float mg_HeteroTerrain(float x, float y, float z, float H, float lacunarity, flo
{
float value, increment, rmd;
int i;
- float pwHL = pow(lacunarity, -H);
+ float pwHL = powf(lacunarity, -H);
float pwr = pwHL; /* starts with i=1 instead of 0 */
float (*noisefunc)(float, float, float);
@@ -1627,8 +1635,8 @@ float mg_HeteroTerrain(float x, float y, float z, float H, float lacunarity, flo
z *= lacunarity;
}
- rmd = octaves - floor(octaves);
- if (rmd!=0.0) {
+ rmd = octaves - floorf(octaves);
+ if (rmd!=0.0f) {
increment = (noisefunc(x, y, z) + offset) * pwr * value;
value += rmd * increment;
}
@@ -1647,7 +1655,7 @@ float mg_HybridMultiFractal(float x, float y, float z, float H, float lacunarity
{
float result, signal, weight, rmd;
int i;
- float pwHL = pow(lacunarity, -H);
+ float pwHL = powf(lacunarity, -H);
float pwr = pwHL; /* starts with i=1 instead of 0 */
float (*noisefunc)(float, float, float);
@@ -1691,8 +1699,8 @@ float mg_HybridMultiFractal(float x, float y, float z, float H, float lacunarity
y *= lacunarity;
z *= lacunarity;
- for (i=1; (weight>0.001) && (i<(int)octaves); i++) {
- if (weight>1.0) weight=1.0;
+ for (i=1; (weight>0.001f) && (i<(int)octaves); i++) {
+ if (weight>1.0f) weight=1.0f;
signal = (noisefunc(x, y, z) + offset) * pwr;
pwr *= pwHL;
result += weight * signal;
@@ -1702,7 +1710,7 @@ float mg_HybridMultiFractal(float x, float y, float z, float H, float lacunarity
z *= lacunarity;
}
- rmd = octaves - floor(octaves);
+ rmd = octaves - floorf(octaves);
if (rmd!=0.f) result += rmd * ((noisefunc(x, y, z) + offset) * pwr);
return result;
@@ -1722,7 +1730,7 @@ float mg_RidgedMultiFractal(float x, float y, float z, float H, float lacunarity
{
float result, signal, weight;
int i;
- float pwHL = pow(lacunarity, -H);
+ float pwHL = powf(lacunarity, -H);
float pwr = pwHL; /* starts with i=1 instead of 0 */
float (*noisefunc)(float, float, float);
@@ -1760,7 +1768,7 @@ float mg_RidgedMultiFractal(float x, float y, float z, float H, float lacunarity
}
}
- signal = offset - fabs(noisefunc(x, y, z));
+ signal = offset - fabsf(noisefunc(x, y, z));
signal *= signal;
result = signal;
@@ -1770,8 +1778,8 @@ float mg_RidgedMultiFractal(float x, float y, float z, float H, float lacunarity
y *= lacunarity;
z *= lacunarity;
weight = signal * gain;
- if (weight>1.0) weight=1.0; else if (weight<0.0) weight=0.0;
- signal = offset - fabs(noisefunc(x, y, z));
+ if (weight>1.0f) weight=1.0f; else if (weight<0.0f) weight=0.0f;
+ signal = offset - fabsf(noisefunc(x, y, z));
signal *= signal;
signal *= weight;
result += signal * pwr;
@@ -1859,9 +1867,9 @@ float mg_VLNoise(float x, float y, float z, float distortion, int nbas1, int nba
}
/* get a random vector and scale the randomization */
- rv[0] = noisefunc1(x+13.5, y+13.5, z+13.5) * distortion;
+ rv[0] = noisefunc1(x+13.5f, y+13.5f, z+13.5f) * distortion;
rv[1] = noisefunc1(x, y, z) * distortion;
- rv[2] = noisefunc1(x-13.5, y-13.5, z-13.5) * distortion;
+ rv[2] = noisefunc1(x-13.5f, y-13.5f, z-13.5f) * distortion;
return noisefunc2(x+rv[0], y+rv[1], z+rv[2]); /* distorted-domain noise */
}
diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c
index af87707fb90..f89283178ec 100644
--- a/source/blender/blenlib/intern/path_util.c
+++ b/source/blender/blenlib/intern/path_util.c
@@ -1024,26 +1024,6 @@ static int get_path_system(char *targetpath, const char *folder_name, const char
}
}
-#if defined(WIN32) && BLENDER_VERSION < 258
-
-static int path_have_257_script_install(void)
-{
- const int ver= BLENDER_VERSION;
- char path[FILE_MAX] = "";
- char system_pyfile[FILE_MAX];
-
- if (get_path_user(path, "scripts", NULL, "BLENDER_USER_SCRIPTS", ver)) {
- BLI_join_dirfile(system_pyfile, sizeof(system_pyfile), path, "modules/bpy_types.py");
-
- if (BLI_exists(system_pyfile))
- return 1;
- }
-
- return 0;
-}
-
-#endif
-
/* get a folder out of the 'folder_id' presets for paths */
/* returns the path if found, NULL string if not */
char *BLI_get_folder(int folder_id, const char *subfolder)
@@ -1076,20 +1056,7 @@ char *BLI_get_folder(int folder_id, const char *subfolder)
return NULL;
case BLENDER_USER_SCRIPTS:
-#if defined(WIN32) && BLENDER_VERSION < 258
- /* if we have a 2.57 installation, then we may have system script
- * files in the user configuration folder. avoid using that folder
- * if they are there, until the version gets bumped to 2.58, so
- * we can be sure that folder only has addons etc. */
- if (path_have_257_script_install()) {
- if (get_path_local(path, "scripts", subfolder, ver)) break;
- }
- else
-#endif
- {
- if (get_path_user(path, "scripts", subfolder, "BLENDER_USER_SCRIPTS", ver)) break;
- }
-
+ if (get_path_user(path, "scripts", subfolder, "BLENDER_USER_SCRIPTS", ver)) break;
return NULL;
case BLENDER_SYSTEM_SCRIPTS:
@@ -1713,7 +1680,7 @@ void BLI_where_am_i(char *fullname, const size_t maxlen, const char *name)
if(GetModuleFileName(0, fullname, maxlen)) {
if(!BLI_exists(fullname)) {
printf("path can't be found: \"%.*s\"\n", maxlen, fullname);
- MessageBox(NULL, "path constains invalid characters or is too long (see console)", "Error", MB_OK);
+ MessageBox(NULL, "path contains invalid characters or is too long (see console)", "Error", MB_OK);
}
return;
}
diff --git a/source/blender/blenlib/intern/pbvh.c b/source/blender/blenlib/intern/pbvh.c
index f7b79b35cbc..0613765b868 100644
--- a/source/blender/blenlib/intern/pbvh.c
+++ b/source/blender/blenlib/intern/pbvh.c
@@ -26,7 +26,6 @@
-
#include "DNA_meshdata_types.h"
#include "MEM_guardedalloc.h"
@@ -85,25 +84,61 @@ struct PBVHNode {
/* Opaque handle for drawing code */
void *draw_buffers;
- int *vert_indices;
-
/* Voxel bounds */
BB vb;
BB orig_vb;
- /* For internal nodes */
+ /* For internal nodes, the offset of the children in the PBVH
+ 'nodes' array. */
int children_offset;
- /* Pointer into bvh prim_indices */
- int *prim_indices;
- int *face_vert_indices;
+ /* Pointer into the PBVH prim_indices array and the number of
+ primitives used by this leaf node.
+ Used for leaf nodes in both mesh- and multires-based PBVHs.
+ */
+ int *prim_indices;
unsigned int totprim;
+
+ /* Array of indices into the mesh's MVert array. Contains the
+ indices of all vertices used by faces that are within this
+ node's bounding box.
+
+ Note that a vertex might be used by a multiple faces, and
+ these faces might be in different leaf nodes. Such a vertex
+ will appear in the vert_indices array of each of those leaf
+ nodes.
+
+ In order to support cases where you want access to multiple
+ nodes' vertices without duplication, the vert_indices array
+ is ordered such that the first part of the array, up to
+ index 'uniq_verts', contains "unique" vertex indices. These
+ vertices might not be truly unique to this node, but if
+ they appear in another node's vert_indices array, they will
+ be above that node's 'uniq_verts' value.
+
+ Used for leaf nodes in a mesh-based PBVH (not multires.)
+ */
+ int *vert_indices;
unsigned int uniq_verts, face_verts;
- char flag;
+ /* An array mapping face corners into the vert_indices
+ array. The array is sized to match 'totprim', and each of
+ the face's corners gets an index into the vert_indices
+ array, in the same order as the corners in the original
+ MFace. The fourth value should not be used if the original
+ face is a triangle.
+
+ Used for leaf nodes in a mesh-based PBVH (not multires.)
+ */
+ int (*face_vert_indices)[4];
+
+ /* Indicates whether this node is a leaf or not; also used for
+ marking various updates that need to be applied. */
+ PBVHNodeFlags flag : 8;
- float tmin; // used for raycasting, is how close bb is to the ray point
+ /* Used for raycasting: how close bb is to the ray point. */
+ float tmin;
int proxy_count;
PBVHProxyNode* proxies;
@@ -339,15 +374,15 @@ static void build_mesh_leaf_node(PBVH *bvh, PBVHNode *node)
node->uniq_verts = node->face_verts = 0;
totface= node->totprim;
- node->face_vert_indices = MEM_callocN(sizeof(int) *
- 4*totface, "bvh node face vert indices");
+ node->face_vert_indices = MEM_callocN(sizeof(int) * 4*totface,
+ "bvh node face vert indices");
for(i = 0; i < totface; ++i) {
MFace *f = bvh->faces + node->prim_indices[i];
int sides = f->v4 ? 4 : 3;
for(j = 0; j < sides; ++j) {
- node->face_vert_indices[i*4 + j]=
+ node->face_vert_indices[i][j]=
map_insert_vert(bvh, map, &node->face_verts,
&node->uniq_verts, (&f->v1)[j]);
}
@@ -373,9 +408,17 @@ static void build_mesh_leaf_node(PBVH *bvh, PBVHNode *node)
BLI_ghashIterator_free(iter);
- for(i = 0; i < totface*4; ++i)
- if(node->face_vert_indices[i] < 0)
- node->face_vert_indices[i]= -node->face_vert_indices[i] + node->uniq_verts - 1;
+ for(i = 0; i < totface; ++i) {
+ MFace *f = bvh->faces + node->prim_indices[i];
+ int sides = f->v4 ? 4 : 3;
+
+ for(j = 0; j < sides; ++j) {
+ if(node->face_vert_indices[i][j] < 0)
+ node->face_vert_indices[i][j]=
+ -node->face_vert_indices[i][j] +
+ node->uniq_verts - 1;
+ }
+ }
if(!G.background) {
node->draw_buffers =
@@ -1189,8 +1232,9 @@ void BLI_pbvh_node_get_verts(PBVH *bvh, PBVHNode *node, int **vert_indices, MVer
void BLI_pbvh_node_num_verts(PBVH *bvh, PBVHNode *node, int *uniquevert, int *totvert)
{
if(bvh->grids) {
- if(totvert) *totvert= node->totprim*bvh->gridsize*bvh->gridsize;
- if(uniquevert) *uniquevert= *totvert;
+ const int tot= node->totprim*bvh->gridsize*bvh->gridsize;
+ if(totvert) *totvert= tot;
+ if(uniquevert) *uniquevert= tot;
}
else {
if(totvert) *totvert= node->uniq_verts + node->face_verts;
@@ -1339,20 +1383,20 @@ int BLI_pbvh_node_raycast(PBVH *bvh, PBVHNode *node, float (*origco)[3],
if(bvh->faces) {
MVert *vert = bvh->verts;
int *faces= node->prim_indices;
- int *face_verts= node->face_vert_indices;
int totface= node->totprim;
int i;
for(i = 0; i < totface; ++i) {
MFace *f = bvh->faces + faces[i];
+ int *face_verts = node->face_vert_indices[i];
if(origco) {
/* intersect with backuped original coordinates */
hit |= ray_face_intersection(ray_start, ray_normal,
- origco[face_verts[i*4+0]],
- origco[face_verts[i*4+1]],
- origco[face_verts[i*4+2]],
- f->v4? origco[face_verts[i*4+3]]: NULL,
+ origco[face_verts[0]],
+ origco[face_verts[1]],
+ origco[face_verts[2]],
+ f->v4? origco[face_verts[3]]: NULL,
dist);
}
else {
diff --git a/source/blender/blenlib/intern/rct.c b/source/blender/blenlib/intern/rct.c
index 17b07b49309..31ae8adc2d4 100644
--- a/source/blender/blenlib/intern/rct.c
+++ b/source/blender/blenlib/intern/rct.c
@@ -233,10 +233,10 @@ int BLI_isect_rcti(rcti *src1, rcti *src2, rcti *dest)
void BLI_copy_rcti_rctf(rcti *tar, const rctf *src)
{
- tar->xmin= floor(src->xmin + 0.5);
- tar->xmax= floor((src->xmax - src->xmin) + 0.5);
- tar->ymin= floor(src->ymin + 0.5);
- tar->ymax= floor((src->ymax - src->ymin) + 0.5);
+ tar->xmin= floor(src->xmin + 0.5f);
+ tar->xmax= floor((src->xmax - src->xmin) + 0.5f);
+ tar->ymin= floor(src->ymin + 0.5f);
+ tar->ymax= floor((src->ymax - src->ymin) + 0.5f);
}
void print_rctf(const char *str, rctf *rect)
diff --git a/source/blender/blenlib/intern/scanfill.c b/source/blender/blenlib/intern/scanfill.c
index 47a07d86e66..b159106f748 100644
--- a/source/blender/blenlib/intern/scanfill.c
+++ b/source/blender/blenlib/intern/scanfill.c
@@ -288,7 +288,7 @@ static short testedgeside(float *v1, float *v2, float *v3)
inp= (v2[cox]-v1[cox])*(v1[coy]-v3[coy])
+(v1[coy]-v2[coy])*(v1[cox]-v3[cox]);
- if(inp<0.0) return 0;
+ if(inp < 0.0f) return 0;
else if(inp==0) {
if(v1[cox]==v3[cox] && v1[coy]==v3[coy]) return 0;
if(v2[cox]==v3[cox] && v2[coy]==v3[coy]) return 0;
@@ -312,8 +312,8 @@ static short addedgetoscanvert(ScFillVert *sc, EditEdge *eed)
y= eed->v1->co[coy];
fac1= eed->v2->co[coy]-y;
- if(fac1==0.0) {
- fac1= 1.0e10*(eed->v2->co[cox]-x);
+ if(fac1==0.0f) {
+ fac1= 1.0e10f*(eed->v2->co[cox]-x);
}
else fac1= (x-eed->v2->co[cox])/fac1;
@@ -324,8 +324,8 @@ static short addedgetoscanvert(ScFillVert *sc, EditEdge *eed)
if(ed->v2==eed->v2) return 0;
fac= ed->v2->co[coy]-y;
- if(fac==0.0) {
- fac= 1.0e10*(ed->v2->co[cox]-x);
+ if(fac==0.0f) {
+ fac= 1.0e10f*(ed->v2->co[cox]-x);
}
else fac= (x-ed->v2->co[cox])/fac;
@@ -443,7 +443,7 @@ static void testvertexnearedge(void)
vec2[1]= eed->v2->co[coy];
if(boundinsideEV(eed,eve)) {
dist= dist_to_line_v2(vec1,vec2,vec3);
- if(dist<COMPLIMIT) {
+ if(dist<(float)COMPLIMIT) {
/* new edge */
ed1= BLI_addfilledge(eed->v1, eve);
@@ -816,7 +816,7 @@ int BLI_edgefill(short mat_nr)
if(v2) {
if( compare_v3v3(v2, eve->co, COMPLIMIT)==0) {
len= normal_tri_v3( norm,v1, v2, eve->co);
- if(len != 0.0) break;
+ if(len != 0.0f) break;
}
}
else if(compare_v3v3(v1, eve->co, COMPLIMIT)==0) {
@@ -825,7 +825,7 @@ int BLI_edgefill(short mat_nr)
eve= eve->next;
}
- if(len==0.0) return 0; /* no fill possible */
+ if(len==0.0f) return 0; /* no fill possible */
norm[0]= fabs(norm[0]);
norm[1]= fabs(norm[1]);
diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c
index e9db148e992..67e27063fd0 100644
--- a/source/blender/blenlib/intern/storage.c
+++ b/source/blender/blenlib/intern/storage.c
@@ -338,7 +338,7 @@ void BLI_adddirstrings(void)
if ( pwuser ) {
BLI_strncpy(file->owner, pwuser->pw_name, sizeof(file->owner));
} else {
- snprintf(file->owner, sizeof(file->owner), "%d", file->s.st_uid);
+ BLI_snprintf(file->owner, sizeof(file->owner), "%d", file->s.st_uid);
}
}
#endif
@@ -478,7 +478,7 @@ LinkNode *BLI_read_file_as_lines(const char *name)
FILE *fp= fopen(name, "r");
LinkNode *lines= NULL;
char *buf;
- int size;
+ int64_t size;
if (!fp) return NULL;
diff --git a/source/blender/blenlib/intern/string.c b/source/blender/blenlib/intern/string.c
index 8e0314ec17f..ae5fa40f3b9 100644
--- a/source/blender/blenlib/intern/string.c
+++ b/source/blender/blenlib/intern/string.c
@@ -117,6 +117,51 @@ char *BLI_sprintfN(const char *format, ...)
return n;
}
+
+/* match pythons string escaping, assume double quotes - (")
+ * TODO: should be used to create RNA animation paths.
+ * TODO: support more fancy string escaping. current code is primitive
+ * this basically is an ascii version of PyUnicode_EncodeUnicodeEscape()
+ * which is a useful reference. */
+size_t BLI_strescape(char *dst, const char *src, const size_t maxlen)
+{
+ size_t len= 0;
+ while(len < maxlen) {
+ switch(*src) {
+ case '\0':
+ goto escape_finish;
+ case '\\':
+ case '"':
+
+ /* less common but should also be support */
+ case '\t':
+ case '\n':
+ case '\r':
+ if(len + 1 < maxlen) {
+ *dst++ = '\\';
+ len++;
+ }
+ else {
+ /* not enough space to escape */
+ break;
+ }
+ /* intentionally pass through */
+ default:
+ *dst = *src;
+ }
+ dst++;
+ src++;
+ len++;
+ }
+
+escape_finish:
+
+ *dst= '\0';
+
+ return len;
+}
+
+
/* Makes a copy of the text within the "" that appear after some text 'blahblah'
* i.e. for string 'pose["apples"]' with prefix 'pose[', it should grab "apples"
*
diff --git a/source/blender/blenlib/intern/uvproject.c b/source/blender/blenlib/intern/uvproject.c
index d139fb1ab71..be7682a63d4 100644
--- a/source/blender/blenlib/intern/uvproject.c
+++ b/source/blender/blenlib/intern/uvproject.c
@@ -70,7 +70,7 @@ void project_from_camera(float target[2], float source[3], UvCameraInfo *uci)
vec2d[0]= pv4[0];
vec2d[1]= pv4[2];
target[0]= angle * ((float)M_PI / uci->camangle);
- target[1]= pv4[1] / (len_v2(vec2d) * uci->camsize);
+ target[1]= pv4[1] / (len_v2(vec2d) * (uci->camsize * 2.0f));
}
}
else {
@@ -146,7 +146,11 @@ UvCameraInfo *project_camera_info(Object *ob, float (*rotmat)[4], float winx, fl
uci.camangle= lens_to_angle(camera->lens) / 2.0f;
uci.camsize= uci.do_persp ? tanf(uci.camangle) : camera->ortho_scale;
- if (invert_m4_m4(uci.caminv, ob->obmat)) {
+ /* account for scaled cameras */
+ copy_m4_m4(uci.caminv, ob->obmat);
+ normalize_m4(uci.caminv);
+
+ if (invert_m4(uci.caminv)) {
UvCameraInfo *uci_pt;
/* normal projection */
@@ -169,8 +173,8 @@ UvCameraInfo *project_camera_info(Object *ob, float (*rotmat)[4], float winx, fl
}
/* include 0.5f here to move the UVs into the center */
- uci.shiftx = 0.5f - camera->shiftx;
- uci.shifty = 0.5f - camera->shifty;
+ uci.shiftx = 0.5f - (camera->shiftx * uci.xasp);
+ uci.shifty = 0.5f - (camera->shifty * uci.yasp);
uci_pt= MEM_mallocN(sizeof(UvCameraInfo), "UvCameraInfo");
*uci_pt= uci;
diff --git a/source/blender/blenloader/BLO_readfile.h b/source/blender/blenloader/BLO_readfile.h
index 85d4b936c51..47931477728 100644
--- a/source/blender/blenloader/BLO_readfile.h
+++ b/source/blender/blenloader/BLO_readfile.h
@@ -211,7 +211,16 @@ int BLO_has_bfile_extension(char *str);
*/
int BLO_is_a_library(const char *path, char *dir, char *group);
-struct Main* BLO_library_append_begin(const struct bContext *C, BlendHandle** bh, const char *filepath);
+
+/**
+ * Initialize the BlendHandle for appending or linking library data.
+ *
+ * @param mainvar The current main database eg G.main or CTX_data_main(C).
+ * @param bh A blender file handle as returned by BLO_blendhandle_from_file or BLO_blendhandle_from_memory.
+ * @param filepath Used for relative linking, copied to the lib->name
+ * @return the library Main, to be passed to BLO_library_append_named_part as mainl.
+ */
+struct Main* BLO_library_append_begin(struct Main *mainvar, BlendHandle** bh, const char *filepath);
/**
@@ -243,11 +252,6 @@ void BLO_library_append_end(const struct bContext *C, struct Main *mainl, BlendH
void *BLO_library_read_struct(struct FileData *fd, struct BHead *bh, const char *blockname);
-/* deprecated */
-#if 1
-void BLO_script_library_append(BlendHandle **bh, char *dir, char *name, int idcode, short flag, struct Main *mainvar, struct Scene *scene, struct ReportList *reports);
-#endif
-
BlendFileData* blo_read_blendafterruntime(int file, char *name, int actualsize, struct ReportList *reports);
#ifdef __cplusplus
diff --git a/source/blender/blenloader/BLO_sys_types.h b/source/blender/blenloader/BLO_sys_types.h
index d56723ec1c5..4b3902dca43 100644
--- a/source/blender/blenloader/BLO_sys_types.h
+++ b/source/blender/blenloader/BLO_sys_types.h
@@ -83,7 +83,7 @@ typedef unsigned long uintptr_t;
#define _UINTPTR_T_DEFINED
#endif
-#elif defined(__linux__) || defined(__NetBSD__)
+#elif defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__)
/* Linux-i386, Linux-Alpha, Linux-ppc */
#include <stdint.h>
@@ -93,7 +93,8 @@ typedef unsigned long uintptr_t;
#include <inttypes.h>
#elif defined(FREE_WINDOWS)
-
+/* define htoln here, there must be a syntax error in winsock2.h in MinGW */
+unsigned long __attribute__((__stdcall__)) htonl(unsigned long);
#include <stdint.h>
#else
@@ -105,8 +106,14 @@ typedef unsigned long uintptr_t;
#ifdef _WIN32
+#ifndef FREE_WINDOWS
+#ifndef htonl
#define htonl(x) correctByteOrder(x)
+#endif
+#ifndef ntohl
#define ntohl(x) correctByteOrder(x)
+#endif
+#endif
#elif defined (__FreeBSD__) || defined (__OpenBSD__)
#include <sys/param.h>
#elif defined (__APPLE__)
diff --git a/source/blender/blenloader/CMakeLists.txt b/source/blender/blenloader/CMakeLists.txt
index 312a6546e22..ab00a8e90dd 100644
--- a/source/blender/blenloader/CMakeLists.txt
+++ b/source/blender/blenloader/CMakeLists.txt
@@ -26,10 +26,11 @@
set(INC
.
- ../blenlib
../blenkernel
+ ../blenlib
../makesdna
../makesrna
+ ../nodes
../render/extern/include
../../../intern/guardedalloc
)
@@ -55,7 +56,7 @@ set(SRC
)
if(WITH_BUILDINFO)
- add_definitions(-DNAN_BUILDINFO)
+ add_definitions(-DWITH_BUILDINFO)
endif()
blender_add_lib(bf_blenloader "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/blenloader/SConscript b/source/blender/blenloader/SConscript
index be9908d84e6..d5d2df3ea35 100644
--- a/source/blender/blenloader/SConscript
+++ b/source/blender/blenloader/SConscript
@@ -5,7 +5,7 @@ sources = env.Glob('intern/*.c')
incs = '. #/intern/guardedalloc ../blenlib ../blenkernel'
incs += ' ../makesdna ../editors/include'
-incs += ' ../render/extern/include ../makesrna'
+incs += ' ../render/extern/include ../makesrna ../nodes'
incs += ' ' + env['BF_ZLIB_INC']
diff --git a/source/blender/blenloader/intern/readblenentry.c b/source/blender/blenloader/intern/readblenentry.c
index 4ce5685ff18..31b3724e9f6 100644
--- a/source/blender/blenloader/intern/readblenentry.c
+++ b/source/blender/blenloader/intern/readblenentry.c
@@ -115,7 +115,7 @@ void BLO_blendhandle_print_sizes(BlendHandle *bh, void *fp)
buf[2]= buf[2]?buf[2]:' ';
buf[3]= buf[3]?buf[3]:' ';
- fprintf(fp, "['%.4s', '%s', %d, %ld ], \n", buf, name, bhead->nr, (long int)bhead->len+sizeof(BHead));
+ fprintf(fp, "['%.4s', '%s', %d, %ld ], \n", buf, name, bhead->nr, (long int)(bhead->len+sizeof(BHead)));
}
}
fprintf(fp, "]\n");
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 53d4ceec4e1..f15d7a7b772 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -75,6 +75,7 @@
#include "DNA_node_types.h"
#include "DNA_object_fluidsim.h" // NT
#include "DNA_packedFile_types.h"
+#include "DNA_particle_types.h"
#include "DNA_property_types.h"
#include "DNA_text_types.h"
#include "DNA_view3d_types.h"
@@ -84,6 +85,7 @@
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "DNA_smoke_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_sound_types.h"
#include "DNA_space_types.h"
#include "DNA_vfont_types.h"
@@ -132,6 +134,8 @@
#include "BKE_utildefines.h" // SWITCH_INT DATA ENDB DNA1 O_BINARY GLOB USER TEST REND
#include "BKE_sound.h"
+#include "NOD_socket.h"
+
//XXX #include "BIF_butspace.h" // badlevel, for do_versions, patching event codes
//XXX #include "BIF_filelist.h" // badlevel too, where to move this? - elubie
//XXX #include "BIF_previewrender.h" // bedlelvel, for struct RenderInfo
@@ -2050,10 +2054,21 @@ static void lib_link_nodetree(FileData *fd, Main *main)
}
}
+static void lib_nodetree_init_types_cb(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree)
+{
+ bNode *node;
+
+ ntreeInitTypes(ntree);
+
+ /* XXX could be replaced by do_versions for new nodes */
+ for (node=ntree->nodes.first; node; node=node->next)
+ node_verify_socket_templates(ntree, node);
+}
+
/* updates group node socket own_index so that
* external links to/from the group node are preserved.
*/
-static void lib_node_do_versions_group(bNode *gnode)
+static void lib_node_do_versions_group_indices(bNode *gnode)
{
bNodeTree *ngroup= (bNodeTree*)gnode->id;
bNode *intnode;
@@ -2086,92 +2101,101 @@ static void lib_node_do_versions_group(bNode *gnode)
}
/* updates external links for all group nodes in a tree */
-static void lib_nodetree_do_versions_group(bNodeTree *ntree)
+static void lib_nodetree_do_versions_group_indices_cb(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree)
{
bNode *node;
for (node=ntree->nodes.first; node; node=node->next) {
if (node->type==NODE_GROUP) {
bNodeTree *ngroup= (bNodeTree*)node->id;
- if (ngroup && (ngroup->flag & NTREE_DO_VERSIONS))
- lib_node_do_versions_group(node);
+ if (ngroup && (ngroup->flag & NTREE_DO_VERSIONS_GROUP_EXPOSE))
+ lib_node_do_versions_group_indices(node);
}
}
}
+/* make an update call for the tree */
+static void lib_nodetree_do_versions_update_cb(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree)
+{
+ if (ntree->update)
+ ntreeUpdateTree(ntree);
+}
+
/* verify types for nodes and groups, all data has to be read */
/* open = 0: appending/linking, open = 1: open new file (need to clean out dynamic
* typedefs*/
static void lib_verify_nodetree(Main *main, int UNUSED(open))
{
- Scene *sce;
- Material *ma;
- Tex *tx;
bNodeTree *ntree;
-
+ int i;
+ bNodeTreeType *ntreetype;
+
/* this crashes blender on undo/redo
if(open==1) {
reinit_nodesystem();
}*/
- /* now create the own typeinfo structs an verify nodes */
- /* here we still assume no groups in groups */
- for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next) {
- ntreeVerifyTypes(ntree); /* internal nodes, no groups! */
+ /* set node->typeinfo pointers */
+ for (i=0; i < NUM_NTREE_TYPES; ++i) {
+ ntreetype= ntreeGetType(i);
+ if (ntreetype && ntreetype->foreach_nodetree)
+ ntreetype->foreach_nodetree(main, NULL, lib_nodetree_init_types_cb);
}
+ for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next)
+ ntreeInitTypes(ntree);
{
- /*int has_old_groups=0;*/ /*UNUSED*/
+ int has_old_groups=0;
/* XXX this should actually be part of do_versions, but since we need
* finished library linking, it is not possible there. Instead in do_versions
* we have set the NTREE_DO_VERSIONS flag, so at this point we can do the
* actual group node updates.
*/
for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next) {
- if (ntree->flag & NTREE_DO_VERSIONS) {
+ if (ntree->flag & NTREE_DO_VERSIONS_GROUP_EXPOSE) {
/* this adds copies and links from all unlinked internal sockets to group inputs/outputs. */
- nodeGroupExposeAllSockets(ntree);
- /*has_old_groups = 1;*/ /*UNUSED*/
+ node_group_expose_all_sockets(ntree);
+ has_old_groups = 1;
}
}
- /* now verify all types in material trees, groups are set OK now */
- for(ma= main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree)
- lib_nodetree_do_versions_group(ma->nodetree);
- }
- /* and scene trees */
- for(sce= main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree)
- lib_nodetree_do_versions_group(sce->nodetree);
- }
- /* and texture trees */
- for(tx= main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree)
- lib_nodetree_do_versions_group(tx->nodetree);
+
+ if (has_old_groups) {
+ for (i=0; i < NUM_NTREE_TYPES; ++i) {
+ ntreetype= ntreeGetType(i);
+ if (ntreetype && ntreetype->foreach_nodetree)
+ ntreetype->foreach_nodetree(main, NULL, lib_nodetree_do_versions_group_indices_cb);
+ }
}
for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next)
- ntree->flag &= ~NTREE_DO_VERSIONS;
- }
-
- /* now verify all types in material trees, groups are set OK now */
- for(ma= main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree)
- ntreeVerifyTypes(ma->nodetree);
+ ntree->flag &= ~NTREE_DO_VERSIONS_GROUP_EXPOSE;
}
- /* and scene trees */
- for(sce= main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree)
- ntreeVerifyTypes(sce->nodetree);
+
+ /* verify all group user nodes */
+ for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next) {
+ ntreeVerifyNodes(main, &ntree->id);
}
- /* and texture trees */
- for(tx= main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree)
- ntreeVerifyTypes(tx->nodetree);
+
+ /* make update calls where necessary */
+ {
+ for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next)
+ if (ntree->update)
+ ntreeUpdateTree(ntree);
+ for (i=0; i < NUM_NTREE_TYPES; ++i) {
+ ntreetype= ntreeGetType(i);
+ if (ntreetype && ntreetype->foreach_nodetree)
+ ntreetype->foreach_nodetree(main, NULL, lib_nodetree_do_versions_update_cb);
+ }
}
}
-
+static void direct_link_node_socket(FileData *fd, bNodeSocket *sock)
+{
+ sock->link= newdataadr(fd, sock->link);
+ sock->storage= newdataadr(fd, sock->storage);
+ sock->default_value= newdataadr(fd, sock->default_value);
+ sock->cache= NULL;
+}
/* ntree itself has been read! */
static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
@@ -2183,6 +2207,7 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
ntree->init= 0; /* to set callbacks and force setting types */
ntree->progress= NULL;
+ ntree->execdata= NULL;
ntree->adt= newdataadr(fd, ntree->adt);
direct_link_animdata(fd, ntree->adt);
@@ -2195,9 +2220,11 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
node->typeinfo= NULL;
}
+ link_list(fd, &node->inputs);
+ link_list(fd, &node->outputs);
+
node->storage= newdataadr(fd, node->storage);
if(node->storage) {
-
/* could be handlerized at some point */
if(ntree->type==NTREE_SHADER && (node->type==SH_NODE_CURVE_VEC || node->type==SH_NODE_CURVE_RGB))
direct_link_curvemapping(fd, node->storage);
@@ -2214,8 +2241,6 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
((ImageUser *)node->storage)->ok= 1;
}
}
- link_list(fd, &node->inputs);
- link_list(fd, &node->outputs);
}
link_list(fd, &ntree->links);
@@ -2225,15 +2250,19 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
/* and we connect the rest */
for(node= ntree->nodes.first; node; node= node->next) {
+ node->parent = newdataadr(fd, node->parent);
node->preview= newimaadr(fd, node->preview);
node->lasty= 0;
+
for(sock= node->inputs.first; sock; sock= sock->next)
- sock->link= newdataadr(fd, sock->link);
+ direct_link_node_socket(fd, sock);
for(sock= node->outputs.first; sock; sock= sock->next)
- sock->ns.data= NULL;
+ direct_link_node_socket(fd, sock);
}
+ for(sock= ntree->inputs.first; sock; sock= sock->next)
+ direct_link_node_socket(fd, sock);
for(sock= ntree->outputs.first; sock; sock= sock->next)
- sock->link= newdataadr(fd, sock->link);
+ direct_link_node_socket(fd, sock);
for(link= ntree->links.first; link; link= link->next) {
link->fromnode= newdataadr(fd, link->fromnode);
@@ -3161,9 +3190,40 @@ static void lib_link_particlesettings(FileData *fd, Main *main)
if(part->effector_weights)
part->effector_weights->group = newlibadr(fd, part->id.lib, part->effector_weights->group);
- dw = part->dupliweights.first;
- for(; dw; dw=dw->next)
- dw->ob = newlibadr(fd, part->id.lib, dw->ob);
+ if(part->dupliweights.first && part->dup_group) {
+ int index_ok = 0;
+ /* check for old files without indices (all indexes 0) */
+ dw = part->dupliweights.first;
+ if(part->dupliweights.first == part->dupliweights.last) {
+ /* special case for only one object in the group */
+ index_ok = 1;
+ }
+ else {
+ for(; dw; dw=dw->next) {
+ if(dw->index > 0) {
+ index_ok = 1;
+ break;
+ }
+ }
+ }
+
+ if(index_ok) {
+ /* if we have indexes, let's use them */
+ dw = part->dupliweights.first;
+ for(; dw; dw=dw->next) {
+ GroupObject *go = (GroupObject *)BLI_findlink(&part->dup_group->gobject, dw->index);
+ dw->ob = go ? go->ob : NULL;
+ }
+ }
+ else {
+ /* otherwise try to get objects from own library (won't work on library linked groups) */
+ for(; dw; dw=dw->next)
+ dw->ob = newlibadr(fd, part->id.lib, dw->ob);
+ }
+ }
+ else {
+ part->dupliweights.first = part->dupliweights.last = NULL;
+ }
if(part->boids) {
BoidState *state = part->boids->states.first;
@@ -3538,6 +3598,18 @@ static void direct_link_mesh(FileData *fd, Mesh *mesh)
mesh->mr->edge_creases= newdataadr(fd, mesh->mr->edge_creases);
mesh->mr->verts = newdataadr(fd, mesh->mr->verts);
+
+ /* If mesh has the same number of vertices as the
+ highest multires level, load the current mesh verts
+ into multires and discard the old data. Needed
+ because some saved files either do not have a verts
+ array, or the verts array contains out-of-date
+ data. */
+ if(mesh->totvert == ((MultiresLevel*)mesh->mr->levels.last)->totvert) {
+ if(mesh->mr->verts)
+ MEM_freeN(mesh->mr->verts);
+ mesh->mr->verts = MEM_dupallocN(mesh->mvert);
+ }
for(; lvl; lvl= lvl->next) {
lvl->verts= newdataadr(fd, lvl->verts);
@@ -3547,16 +3619,11 @@ static void direct_link_mesh(FileData *fd, Mesh *mesh)
}
}
- /* Gracefully handle corrupted mesh */
+ /* if multires is present but has no valid vertex data,
+ there's no way to recover it; silently remove multires */
if(mesh->mr && !mesh->mr->verts) {
- /* If totals match, simply load the current mesh verts into multires */
- if(mesh->totvert == ((MultiresLevel*)mesh->mr->levels.last)->totvert)
- mesh->mr->verts = MEM_dupallocN(mesh->mvert);
- else {
- /* Otherwise, we can't recover the data, silently remove multires */
- multires_free(mesh->mr);
- mesh->mr = NULL;
- }
+ multires_free(mesh->mr);
+ mesh->mr = NULL;
}
if((fd->flags & FD_FLAGS_SWITCH_ENDIAN) && mesh->tface) {
@@ -3848,26 +3915,10 @@ static void lib_link_object(FileData *fd, Main *main)
if(smd && smd->type == MOD_SMOKE_TYPE_DOMAIN && smd->domain)
{
- smd->domain->coll_group = newlibadr_us(fd, ob->id.lib, smd->domain->coll_group);
- smd->domain->eff_group = newlibadr_us(fd, ob->id.lib, smd->domain->eff_group);
- smd->domain->fluid_group = newlibadr_us(fd, ob->id.lib, smd->domain->fluid_group);
-
- smd->domain->effector_weights->group = newlibadr(fd, ob->id.lib, smd->domain->effector_weights->group);
-
smd->domain->flags |= MOD_SMOKE_FILE_LOAD; /* flag for refreshing the simulation after loading */
}
}
- {
- ClothModifierData *clmd = (ClothModifierData *)modifiers_findByType(ob, eModifierType_Cloth);
-
- if(clmd)
- {
- clmd->sim_parms->effector_weights->group = newlibadr(fd, ob->id.lib, clmd->sim_parms->effector_weights->group);
- clmd->coll_parms->group= newlibadr(fd, ob->id.lib, clmd->coll_parms->group);
- }
- }
-
/* texture field */
if(ob->pd)
lib_link_partdeflect(fd, &ob->id, ob->pd);
@@ -4342,6 +4393,7 @@ static void direct_link_object(FileData *fd, Object *ob)
MEM_freeN(hook);
}
+ ob->customdata_mask= 0;
ob->bb= NULL;
ob->derivedDeform= NULL;
ob->derivedFinal= NULL;
@@ -4453,7 +4505,7 @@ static void lib_link_scene(FileData *fd, Main *main)
#endif
if(sce->ed)
- seq_update_muting(sce, sce->ed);
+ seq_update_muting(sce->ed);
if(sce->nodetree) {
lib_link_ntree(fd, &sce->id, sce->nodetree);
@@ -4707,6 +4759,8 @@ static void direct_link_windowmanager(FileData *fd, wmWindowManager *wm)
wm->keyconfigs.first= wm->keyconfigs.last= NULL;
wm->defaultconf= NULL;
+ wm->addonconf= NULL;
+ wm->userconf= NULL;
wm->jobs.first= wm->jobs.last= NULL;
wm->drags.first= wm->drags.last= NULL;
@@ -4849,7 +4903,6 @@ static void lib_link_screen(FileData *fd, Main *main)
else if(sl->spacetype==SPACE_FILE) {
SpaceFile *sfile= (SpaceFile *)sl;
sfile->files= NULL;
- sfile->params= NULL;
sfile->op= NULL;
sfile->layout= NULL;
sfile->folders_prev= NULL;
@@ -4936,15 +4989,22 @@ static void lib_link_screen(FileData *fd, Main *main)
SpaceNode *snode= (SpaceNode *)sl;
snode->id= newlibadr(fd, sc->id.lib, snode->id);
+ snode->edittree= NULL;
- /* internal data, a bit patchy */
- if(snode->id) {
- if(GS(snode->id->name)==ID_MA)
- snode->nodetree= ((Material *)snode->id)->nodetree;
- else if(GS(snode->id->name)==ID_SCE)
- snode->nodetree= ((Scene *)snode->id)->nodetree;
- else if(GS(snode->id->name)==ID_TE)
- snode->nodetree= ((Tex *)snode->id)->nodetree;
+ if (ELEM3(snode->treetype, NTREE_COMPOSIT, NTREE_SHADER, NTREE_TEXTURE)) {
+ /* internal data, a bit patchy */
+ snode->nodetree= NULL;
+ if(snode->id) {
+ if(GS(snode->id->name)==ID_MA)
+ snode->nodetree= ((Material *)snode->id)->nodetree;
+ else if(GS(snode->id->name)==ID_SCE)
+ snode->nodetree= ((Scene *)snode->id)->nodetree;
+ else if(GS(snode->id->name)==ID_TE)
+ snode->nodetree= ((Tex *)snode->id)->nodetree;
+ }
+ }
+ else {
+ snode->nodetree= newlibadr_us(fd, sc->id.lib, snode->nodetree);
}
snode->linkdrag.first = snode->linkdrag.last = NULL;
@@ -5164,15 +5224,19 @@ void lib_link_screen_restore(Main *newmain, bScreen *curscreen, Scene *curscene)
snode->id= restore_pointer_by_name(newmain, snode->id, 1);
snode->edittree= NULL;
- if(snode->id==NULL)
+ if (ELEM3(snode->treetype, NTREE_COMPOSIT, NTREE_SHADER, NTREE_TEXTURE)) {
snode->nodetree= NULL;
+ if(snode->id) {
+ if(GS(snode->id->name)==ID_MA)
+ snode->nodetree= ((Material *)snode->id)->nodetree;
+ else if(GS(snode->id->name)==ID_SCE)
+ snode->nodetree= ((Scene *)snode->id)->nodetree;
+ else if(GS(snode->id->name)==ID_TE)
+ snode->nodetree= ((Tex *)snode->id)->nodetree;
+ }
+ }
else {
- if(GS(snode->id->name)==ID_MA)
- snode->nodetree= ((Material *)snode->id)->nodetree;
- else if(GS(snode->id->name)==ID_SCE)
- snode->nodetree= ((Scene *)snode->id)->nodetree;
- else if(GS(snode->id->name)==ID_TE)
- snode->nodetree= ((Tex *)snode->id)->nodetree;
+ snode->nodetree= restore_pointer_by_name(newmain, &snode->nodetree->id, 1);
}
}
}
@@ -5401,7 +5465,6 @@ static void direct_link_screen(FileData *fd, bScreen *sc)
snode->gpd= newdataadr(fd, snode->gpd);
direct_link_gpencil(fd, snode->gpd);
}
- snode->nodetree= snode->edittree= NULL;
}
else if(sl->spacetype==SPACE_TIME) {
SpaceTime *stime= (SpaceTime *)sl;
@@ -5462,7 +5525,7 @@ static void direct_link_screen(FileData *fd, bScreen *sc)
sfile->files= NULL;
sfile->layout= NULL;
sfile->op= NULL;
- sfile->params= NULL;
+ sfile->params= newdataadr(fd, sfile->params);
}
}
@@ -5551,12 +5614,51 @@ static void fix_relpaths_library(const char *basepath, Main *main)
}
}
+/* ************ READ SPEAKER ***************** */
+
+static void lib_link_speaker(FileData *fd, Main *main)
+{
+ Speaker *spk;
+
+ spk= main->speaker.first;
+ while(spk) {
+ if(spk->id.flag & LIB_NEEDLINK) {
+ if (spk->adt) lib_link_animdata(fd, &spk->id, spk->adt);
+
+ spk->sound= newlibadr(fd, spk->id.lib, spk->sound);
+ if (spk->sound) {
+ spk->sound->id.us++;
+ }
+
+ spk->id.flag -= LIB_NEEDLINK;
+ }
+ spk= spk->id.next;
+ }
+}
+
+static void direct_link_speaker(FileData *fd, Speaker *spk)
+{
+ spk->adt= newdataadr(fd, spk->adt);
+ direct_link_animdata(fd, spk->adt);
+
+ /*spk->sound= newdataadr(fd, spk->sound);
+ direct_link_sound(fd, spk->sound);*/
+}
+
/* ************** READ SOUND ******************* */
static void direct_link_sound(FileData *fd, bSound *sound)
{
sound->handle = NULL;
sound->playback_handle = NULL;
+ sound->waveform = NULL;
+
+ // versioning stuff, if there was a cache, then we enable caching:
+ if(sound->cache)
+ {
+ sound->flags |= SOUND_FLAGS_CACHING;
+ sound->cache = NULL;
+ }
sound->packedfile = direct_link_packedfile(fd, sound->packedfile);
sound->newpackedfile = direct_link_packedfile(fd, sound->newpackedfile);
@@ -5573,9 +5675,6 @@ static void lib_link_sound(FileData *fd, Main *main)
sound->ipo= newlibadr_us(fd, sound->id.lib, sound->ipo); // XXX depreceated - old animation system
sound_load(main, sound);
-
- if(sound->cache)
- sound_cache(sound, 1);
}
sound= sound->id.next;
}
@@ -5646,6 +5745,7 @@ static const char *dataname(short id_code)
case ID_SCR: return "Data from SCR";
case ID_VF: return "Data from VF";
case ID_TXT : return "Data from TXT";
+ case ID_SPK: return "Data from SPK";
case ID_SO: return "Data from SO";
case ID_NT: return "Data from NT";
case ID_BR: return "Data from BR";
@@ -5663,11 +5763,10 @@ static BHead *read_data_into_oldnewmap(FileData *fd, BHead *bhead, const char *a
while(bhead && bhead->code==DATA) {
void *data;
#if 0
- /* XXX DUMB DEBUGGING OPTION TO GIVE NAMES for guarded malloc errors */
+ /* XXX DUMB DEBUGGING OPTION TO GIVE NAMES for guarded malloc errors */
short *sp= fd->filesdna->structs[bhead->SDNAnr];
- char *allocname = fd->filesdna->types[ sp[0] ];
char *tmp= malloc(100);
-
+ allocname = fd->filesdna->types[ sp[0] ];
strcpy(tmp, allocname);
data= read_struct(fd, bhead, tmp);
#else
@@ -5791,6 +5890,9 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, int flag, ID
case ID_CA:
direct_link_camera(fd, (Camera *)id);
break;
+ case ID_SPK:
+ direct_link_speaker(fd, (Speaker *)id);
+ break;
case ID_SO:
direct_link_sound(fd, (bSound *)id);
break;
@@ -6871,6 +6973,62 @@ static void do_version_bone_roll_256(Bone *bone)
do_version_bone_roll_256(child);
}
+static void do_versions_socket_default_value(bNodeSocket *sock)
+{
+ bNodeSocketValueFloat *valfloat;
+ bNodeSocketValueVector *valvector;
+ bNodeSocketValueRGBA *valrgba;
+
+ if (sock->default_value)
+ return;
+
+ switch (sock->type) {
+ case SOCK_FLOAT:
+ valfloat = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueFloat), "default socket value");
+ valfloat->value = sock->ns.vec[0];
+ valfloat->min = sock->ns.min;
+ valfloat->max = sock->ns.max;
+ valfloat->subtype = PROP_NONE;
+ break;
+ case SOCK_VECTOR:
+ valvector = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueVector), "default socket value");
+ copy_v3_v3(valvector->value, sock->ns.vec);
+ valvector->min = sock->ns.min;
+ valvector->max = sock->ns.max;
+ valvector->subtype = PROP_NONE;
+ break;
+ case SOCK_RGBA:
+ valrgba = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueRGBA), "default socket value");
+ copy_v4_v4(valrgba->value, sock->ns.vec);
+ break;
+ }
+}
+
+static void do_versions_nodetree_default_value(bNodeTree *ntree)
+{
+ bNode *node;
+ bNodeSocket *sock;
+ for (node=ntree->nodes.first; node; node=node->next) {
+ for (sock=node->inputs.first; sock; sock=sock->next)
+ do_versions_socket_default_value(sock);
+ for (sock=node->outputs.first; sock; sock=sock->next)
+ do_versions_socket_default_value(sock);
+ }
+ for (sock=ntree->inputs.first; sock; sock=sock->next)
+ do_versions_socket_default_value(sock);
+ for (sock=ntree->outputs.first; sock; sock=sock->next)
+ do_versions_socket_default_value(sock);
+}
+
+static void do_versions_nodetree_dynamic_sockets(bNodeTree *ntree)
+{
+ bNodeSocket *sock;
+ for (sock=ntree->inputs.first; sock; sock=sock->next)
+ sock->flag |= SOCK_DYNAMIC;
+ for (sock=ntree->outputs.first; sock; sock=sock->next)
+ sock->flag |= SOCK_DYNAMIC;
+}
+
static void do_versions(FileData *fd, Library *lib, Main *main)
{
/* WATCH IT!!!: pointers from libdata have not been converted */
@@ -9932,12 +10090,6 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
if(ed) {
SEQP_BEGIN(ed, seq) {
if (seq->strip && seq->strip->proxy){
- if (sce->r.size != 100.0) {
- seq->strip->proxy->size
- = sce->r.size;
- } else {
- seq->strip->proxy->size = 25;
- }
seq->strip->proxy->quality =90;
}
}
@@ -10027,7 +10179,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
!(seq->flag & SEQ_USE_PROXY_CUSTOM_DIR))
{
- snprintf(seq->strip->proxy->dir,
+ BLI_snprintf(seq->strip->proxy->dir,
FILE_MAXDIR, "%s/BL_proxy",
seq->strip->dir);
}
@@ -10044,7 +10196,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
* to have them show in RNA viewer and accessible otherwise.
*/
for(ma= main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree && strlen(ma->nodetree->id.name)==0)
+ if(ma->nodetree && ma->nodetree->id.name[0] == '\0')
strcpy(ma->nodetree->id.name, "NTShader Nodetree");
/* which_output 0 is now "not specified" */
@@ -10058,7 +10210,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
}
/* and composit trees */
for(sce= main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree && strlen(sce->nodetree->id.name)==0)
+ if(sce->nodetree && sce->nodetree->id.name[0] == '\0')
strcpy(sce->nodetree->id.name, "NTCompositing Nodetree");
/* move to cameras */
@@ -10080,7 +10232,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
bNode *node;
if(tx->nodetree) {
- if(strlen(tx->nodetree->id.name)==0)
+ if(tx->nodetree->id.name[0] == '\0')
strcpy(tx->nodetree->id.name, "NTTexture Nodetree");
/* which_output 0 is now "not specified" */
@@ -10267,8 +10419,6 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
sce->gm.attrib = sce->r.attrib;
//Stereo
- sce->gm.xsch = sce->r.xsch;
- sce->gm.ysch = sce->r.ysch;
sce->gm.stereomode = sce->r.stereomode;
/* reassigning stereomode NO_STEREO and DOME to a separeted flag*/
if (sce->gm.stereomode == 1){ //1 = STEREO_NOSTEREO
@@ -11547,7 +11697,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
* is done in lib_verify_nodetree, because at this point the internal
* nodes may not be up-to-date! (missing lib-link)
*/
- ntree->flag |= NTREE_DO_VERSIONS;
+ ntree->flag |= NTREE_DO_VERSIONS_GROUP_EXPOSE;
}
}
@@ -11632,9 +11782,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
}
}
- /* put compatibility code here until next subversion bump */
-
- {
+ if (main->versionfile < 258 || (main->versionfile == 258 && main->subversionfile < 1)){
/* screen view2d settings were not properly initialized [#27164]
* v2d->scroll caused the bug but best reset other values too which are in old blend files only.
* need to make less ugly - possibly an iterator? */
@@ -11672,12 +11820,12 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
Tex *tex;
for(tex= main->tex.first; tex; tex= tex->id.next) {
if(tex->pd) {
- if (tex->pd->falloff_speed_scale == 0.0)
- tex->pd->falloff_speed_scale = 100.0;
-
+ if (tex->pd->falloff_speed_scale == 0.0f)
+ tex->pd->falloff_speed_scale = 100.0f;
+
if (!tex->pd->falloff_curve) {
tex->pd->falloff_curve = curvemapping_add(1, 0, 0, 1, 1);
-
+
tex->pd->falloff_curve->preset = CURVE_PRESET_LINE;
tex->pd->falloff_curve->cm->flag &= ~CUMA_EXTEND_EXTRAPOLATE;
curvemap_reset(tex->pd->falloff_curve->cm, &tex->pd->falloff_curve->clipr, tex->pd->falloff_curve->preset, CURVEMAP_SLOPE_POSITIVE);
@@ -11686,8 +11834,193 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
}
}
}
+
+ {
+ /* add default value for behind strength of camera actuator */
+ Object *ob;
+ bActuator *act;
+ for(ob = main->object.first; ob; ob= ob->id.next) {
+ for(act= ob->actuators.first; act; act= act->next) {
+ if (act->type == ACT_CAMERA) {
+ bCameraActuator *ba= act->data;
+
+ ba->damping = 1.0/32.0;
+ }
+ }
+ }
+ }
+
+ {
+ ParticleSettings *part;
+ for(part = main->particle.first; part; part = part->id.next) {
+ /* Initialize particle billboard scale */
+ part->bb_size[0] = part->bb_size[1] = 1.0f;
+ }
+ }
}
-
+
+ if (main->versionfile < 259 || (main->versionfile == 259 && main->subversionfile < 1)){
+ {
+ Scene *scene;
+ Sequence *seq;
+
+ for (scene=main->scene.first; scene; scene=scene->id.next)
+ {
+ scene->r.ffcodecdata.audio_channels = 2;
+ scene->audio.volume = 1.0f;
+ SEQ_BEGIN(scene->ed, seq) {
+ seq->pitch = 1.0f;
+ }
+ SEQ_END
+ }
+ }
+ {
+ bScreen *screen;
+ for(screen= main->screen.first; screen; screen= screen->id.next) {
+ ScrArea *sa;
+ /* add regions */
+ for(sa= screen->areabase.first; sa; sa= sa->next) {
+ SpaceLink *sl= sa->spacedata.first;
+ if(sl->spacetype==SPACE_SEQ) {
+ ARegion *ar;
+ for (ar=sa->regionbase.first; ar; ar= ar->next) {
+ if(ar->regiontype == RGN_TYPE_WINDOW) {
+ if(ar->v2d.min[1] == 4.0f)
+ ar->v2d.min[1]= 0.5f;
+ }
+ }
+ }
+ for (sl= sa->spacedata.first; sl; sl= sl->next) {
+ if(sl->spacetype==SPACE_SEQ) {
+ ARegion *ar;
+ for (ar=sl->regionbase.first; ar; ar= ar->next) {
+ if(ar->regiontype == RGN_TYPE_WINDOW) {
+ if(ar->v2d.min[1] == 4.0f)
+ ar->v2d.min[1]= 0.5f;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ {
+ /* Make "auto-clamped" handles a per-keyframe setting instead of per-FCurve
+ *
+ * We're only patching F-Curves in Actions here, since it is assumed that most
+ * drivers out there won't be using this (and if they are, they're in the minority).
+ * While we should aim to fix everything ideally, in practice it's far too hard
+ * to get to every animdata block, not to mention the performance hit that'd have
+ */
+ bAction *act;
+ FCurve *fcu;
+
+ for (act = main->action.first; act; act = act->id.next) {
+ for (fcu = act->curves.first; fcu; fcu = fcu->next) {
+ BezTriple *bezt;
+ unsigned int i = 0;
+
+ /* only need to touch curves that had this flag set */
+ if ((fcu->flag & FCURVE_AUTO_HANDLES) == 0)
+ continue;
+ if ((fcu->totvert == 0) || (fcu->bezt == NULL))
+ continue;
+
+ /* only change auto-handles to auto-clamped */
+ for (bezt=fcu->bezt; i < fcu->totvert; i++, bezt++) {
+ if (bezt->h1 == HD_AUTO) bezt->h1 = HD_AUTO_ANIM;
+ if (bezt->h2 == HD_AUTO) bezt->h2 = HD_AUTO_ANIM;
+ }
+
+ fcu->flag &= ~FCURVE_AUTO_HANDLES;
+ }
+ }
+ }
+ {
+ /* convert fcurve and shape action actuators to action actuators */
+ Object *ob;
+ bActuator *act;
+ bIpoActuator *ia;
+ bActionActuator *aa;
+
+ for (ob= main->object.first; ob; ob= ob->id.next) {
+ for (act= ob->actuators.first; act; act= act->next) {
+ if (act->type == ACT_IPO) {
+ // Create the new actuator
+ ia= act->data;
+ aa= MEM_callocN(sizeof(bActionActuator), "fcurve -> action actuator do_version");
+
+ // Copy values
+ aa->type = ia->type;
+ aa->flag = ia->flag;
+ aa->sta = ia->sta;
+ aa->end = ia->end;
+ strcpy(aa->name, ia->name);
+ strcpy(aa->frameProp, ia->frameProp);
+ if (ob->adt)
+ aa->act = ob->adt->action;
+
+ // Get rid of the old actuator
+ MEM_freeN(ia);
+
+ // Assign the new actuator
+ act->data = aa;
+ act->type= act->otype= ACT_ACTION;
+
+ }
+ else if (act->type == ACT_SHAPEACTION) {
+ act->type = act->otype = ACT_ACTION;
+ }
+ }
+ }
+ }
+ }
+
+ if (main->versionfile < 259 || (main->versionfile == 259 && main->subversionfile < 2)){
+ {
+ /* Convert default socket values from bNodeStack */
+ Scene *sce;
+ Material *mat;
+ Tex *tex;
+ bNodeTree *ntree;
+ for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next) {
+ do_versions_nodetree_default_value(ntree);
+ ntree->update |= NTREE_UPDATE;
+ }
+ for (sce=main->scene.first; sce; sce=sce->id.next)
+ if (sce->nodetree) {
+ do_versions_nodetree_default_value(sce->nodetree);
+ sce->nodetree->update |= NTREE_UPDATE;
+ }
+ for (mat=main->mat.first; mat; mat=mat->id.next)
+ if (mat->nodetree) {
+ do_versions_nodetree_default_value(mat->nodetree);
+ mat->nodetree->update |= NTREE_UPDATE;
+ }
+ for (tex=main->tex.first; tex; tex=tex->id.next)
+ if (tex->nodetree) {
+ do_versions_nodetree_default_value(tex->nodetree);
+ tex->nodetree->update |= NTREE_UPDATE;
+ }
+ }
+
+ /* add SOCK_DYNAMIC flag to existing group sockets */
+ {
+ bNodeTree *ntree;
+ /* only need to do this for trees in main, local trees are not used as groups */
+ for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next) {
+ do_versions_nodetree_dynamic_sockets(ntree);
+ ntree->update |= NTREE_UPDATE;
+ }
+ }
+ }
+
+ /* put compatibility code here until next subversion bump */
+
+ {
+
+ }
+
//set defaults for obstacle avoidance, recast data
{
Scene *sce;
@@ -11760,6 +12093,7 @@ static void lib_link_all(FileData *fd, Main *main)
lib_link_latt(fd, main);
lib_link_text(fd, main);
lib_link_camera(fd, main);
+ lib_link_speaker(fd, main);
lib_link_sound(fd, main);
lib_link_group(fd, main);
lib_link_armature(fd, main);
@@ -11774,38 +12108,63 @@ static void lib_link_all(FileData *fd, Main *main)
lib_link_library(fd, main); /* only init users */
}
+static void direct_link_keymapitem(FileData *fd, wmKeyMapItem *kmi)
+{
+ kmi->properties= newdataadr(fd, kmi->properties);
+ if(kmi->properties)
+ IDP_DirectLinkProperty(kmi->properties, (fd->flags & FD_FLAGS_SWITCH_ENDIAN), fd);
+ kmi->ptr= NULL;
+ kmi->flag &= ~KMI_UPDATE;
+}
static BHead *read_userdef(BlendFileData *bfd, FileData *fd, BHead *bhead)
{
UserDef *user;
wmKeyMap *keymap;
wmKeyMapItem *kmi;
+ wmKeyMapDiffItem *kmdi;
bfd->user= user= read_struct(fd, bhead, "user def");
/* read all data into fd->datamap */
bhead= read_data_into_oldnewmap(fd, bhead, "user def");
+ if(user->keymaps.first) {
+ /* backwards compatibility */
+ user->user_keymaps= user->keymaps;
+ user->keymaps.first= user->keymaps.last= NULL;
+ }
+
link_list(fd, &user->themes);
- link_list(fd, &user->keymaps);
+ link_list(fd, &user->user_keymaps);
link_list(fd, &user->addons);
- for(keymap=user->keymaps.first; keymap; keymap=keymap->next) {
+ for(keymap=user->user_keymaps.first; keymap; keymap=keymap->next) {
keymap->modal_items= NULL;
keymap->poll= NULL;
+ keymap->flag &= ~KEYMAP_UPDATE;
+ link_list(fd, &keymap->diff_items);
link_list(fd, &keymap->items);
- for(kmi=keymap->items.first; kmi; kmi=kmi->next) {
- kmi->properties= newdataadr(fd, kmi->properties);
- if(kmi->properties)
- IDP_DirectLinkProperty(kmi->properties, (fd->flags & FD_FLAGS_SWITCH_ENDIAN), fd);
- kmi->ptr= NULL;
+
+ for(kmdi=keymap->diff_items.first; kmdi; kmdi=kmdi->next) {
+ kmdi->remove_item= newdataadr(fd, kmdi->remove_item);
+ kmdi->add_item= newdataadr(fd, kmdi->add_item);
+
+ if(kmdi->remove_item)
+ direct_link_keymapitem(fd, kmdi->remove_item);
+ if(kmdi->add_item)
+ direct_link_keymapitem(fd, kmdi->add_item);
}
+
+ for(kmi=keymap->items.first; kmi; kmi=kmi->next)
+ direct_link_keymapitem(fd, kmi);
}
// XXX
user->uifonts.first= user->uifonts.last= NULL;
- user->uistyles.first= user->uistyles.last= NULL;
+
+ link_list(fd, &user->uistyles);
/* free fd->datamap again */
oldnewmap_free_unused(fd->datamap);
@@ -12680,6 +13039,14 @@ static void expand_camera(FileData *fd, Main *mainvar, Camera *ca)
expand_animdata(fd, mainvar, ca->adt);
}
+static void expand_speaker(FileData *fd, Main *mainvar, Speaker *spk)
+{
+ expand_doit(fd, mainvar, spk->sound);
+
+ if (spk->adt)
+ expand_animdata(fd, mainvar, spk->adt);
+}
+
static void expand_sound(FileData *fd, Main *mainvar, bSound *snd)
{
expand_doit(fd, mainvar, snd->ipo); // XXX depreceated - old animation system
@@ -12742,6 +13109,9 @@ static void expand_main(FileData *fd, Main *mainvar)
case ID_CA:
expand_camera(fd, mainvar, (Camera *)id);
break;
+ case ID_SPK:
+ expand_speaker(fd, mainvar,(Speaker *)id);
+ break;
case ID_SO:
expand_sound(fd, mainvar, (bSound *)id);
break;
@@ -12787,7 +13157,6 @@ static int object_in_any_scene(Main *mainvar, Object *ob)
return 0;
}
-/* when *lib set, it also does objects that were in the appended group */
static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, const short idcode, const short is_link)
{
Object *ob;
@@ -12822,8 +13191,14 @@ static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, const
/* when appending, make sure any indirectly loaded objects
* get a base else they cant be accessed at all [#27437] */
if(ob->id.us==1 && is_link==FALSE && ob->id.lib==lib) {
- if(object_in_any_scene(mainvar, ob)==0) {
- do_it= 1;
+
+ /* we may be appending from a scene where we already
+ * have a linked object which is not in any scene [#27616] */
+ if((ob->id.flag & LIB_PRE_EXISTING)==0) {
+
+ if(object_in_any_scene(mainvar, ob)==0) {
+ do_it= 1;
+ }
}
}
}
@@ -12844,7 +13219,6 @@ static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, const
}
}
-/* when *lib set, it also does objects that were in the appended group */
static void give_base_to_groups(Main *mainvar, Scene *scene)
{
Group *group;
@@ -12987,9 +13361,8 @@ static void append_id_part(FileData *fd, Main *mainvar, ID *id, ID **id_r)
/* common routine to append/link something from a library */
-static Main* library_append_begin(const bContext *C, FileData **fd, const char *filepath)
+static Main* library_append_begin(Main *mainvar, FileData **fd, const char *filepath)
{
- Main *mainvar= CTX_data_main(C);
Main *mainl;
/* make mains */
@@ -13005,64 +13378,17 @@ static Main* library_append_begin(const bContext *C, FileData **fd, const char *
return mainl;
}
-Main* BLO_library_append_begin(const bContext *C, BlendHandle** bh, const char *filepath)
+Main* BLO_library_append_begin(Main *mainvar, BlendHandle** bh, const char *filepath)
{
FileData *fd= (FileData*)(*bh);
- return library_append_begin(C, &fd, filepath);
+ return library_append_begin(mainvar, &fd, filepath);
}
-static void append_do_cursor(Scene *scene, Library *curlib, short flag)
-{
- Base *centerbase;
- Object *ob;
- float *curs, centerloc[3], vec[3], min[3], max[3];
- int count= 0;
-
- /* when not linking (appending)... */
- if(flag & FILE_LINK)
- return;
-
- /* we're not appending at cursor */
- if((flag & FILE_ATCURSOR) == 0)
- return;
-
- /* find the center of everything appended */
- INIT_MINMAX(min, max);
- centerbase= (scene->base.first);
- while(centerbase) {
- if(centerbase->object->id.lib==curlib && centerbase->object->parent==NULL) {
- VECCOPY(vec, centerbase->object->loc);
- DO_MINMAX(vec, min, max);
- count++;
- }
- centerbase= centerbase->next;
- }
- /* we haven't found any objects to move to cursor */
- if(!count)
- return;
-
- /* move from the center of the appended objects to cursor */
- mid_v3_v3v3(centerloc, min, max);
- curs = scene->cursor;
- VECSUB(centerloc,curs,centerloc);
-
- /* now translate the center of the objects */
- centerbase= (scene->base.first);
- while(centerbase) {
- if(centerbase->object->id.lib==curlib && centerbase->object->parent==NULL) {
- ob= centerbase->object;
- ob->loc[0] += centerloc[0];
- ob->loc[1] += centerloc[1];
- ob->loc[2] += centerloc[2];
- }
- centerbase= centerbase->next;
- }
-}
+/* Context == NULL signifies not to do any scene manipulation */
static void library_append_end(const bContext *C, Main *mainl, FileData **fd, int idcode, short flag)
{
Main *mainvar;
- Scene *scene= CTX_data_scene(C);
Library *curlib;
/* make main consistent */
@@ -13091,22 +13417,26 @@ static void library_append_end(const bContext *C, Main *mainl, FileData **fd, in
lib_verify_nodetree(mainvar, FALSE);
fix_relpaths_library(G.main->name, mainvar); /* make all relative paths, relative to the open blend file */
- /* give a base to loose objects. If group append, do it for objects too */
- if(scene) {
- const short is_link= (flag & FILE_LINK) != 0;
- if(idcode==ID_SCE) {
- /* dont instance anything when linking in scenes, assume the scene its self instances the data */
- }
- else {
- give_base_to_objects(mainvar, scene, curlib, idcode, is_link);
+ if(C) {
+ Scene *scene= CTX_data_scene(C);
+
+ /* give a base to loose objects. If group append, do it for objects too */
+ if(scene) {
+ const short is_link= (flag & FILE_LINK) != 0;
+ if(idcode==ID_SCE) {
+ /* dont instance anything when linking in scenes, assume the scene its self instances the data */
+ }
+ else {
+ give_base_to_objects(mainvar, scene, curlib, idcode, is_link);
- if (flag & FILE_GROUP_INSTANCE) {
- give_base_to_groups(mainvar, scene);
+ if (flag & FILE_GROUP_INSTANCE) {
+ give_base_to_groups(mainvar, scene);
+ }
}
}
- }
- else {
- printf("library_append_end, scene is NULL (objects wont get bases)\n");
+ else {
+ printf("library_append_end, scene is NULL (objects wont get bases)\n");
+ }
}
/* has been removed... erm, why? s..ton) */
/* 20040907: looks like they are give base already in append_named_part(); -Nathan L */
@@ -13117,8 +13447,6 @@ static void library_append_end(const bContext *C, Main *mainl, FileData **fd, in
blo_freefiledata( *fd );
*fd = NULL;
}
-
- append_do_cursor(scene, curlib, flag);
}
void BLO_library_append_end(const bContext *C, struct Main *mainl, BlendHandle** bh, int idcode, short flag)
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index fe4f914dfa4..9275852d424 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -123,6 +123,7 @@ Any case: direct data is ALWAYS after the lib block
#include "DNA_smoke_types.h"
#include "DNA_space_types.h"
#include "DNA_screen_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_sound_types.h"
#include "DNA_text_types.h"
#include "DNA_view3d_types.h"
@@ -641,6 +642,14 @@ static void write_curvemapping(WriteData *wd, CurveMapping *cumap)
writestruct(wd, DATA, "CurveMapPoint", cumap->cm[a].totpoint, cumap->cm[a].curve);
}
+static void write_node_socket(WriteData *wd, bNodeSocket *sock)
+{
+ bNodeSocketType *stype= ntreeGetSocketType(sock->type);
+ writestruct(wd, DATA, "bNodeSocket", 1, sock);
+ if (sock->default_value)
+ writestruct(wd, DATA, stype->value_structname, 1, sock->default_value);
+}
+
/* this is only direct data, tree itself should have been written */
static void write_nodetree(WriteData *wd, bNodeTree *ntree)
{
@@ -656,6 +665,12 @@ static void write_nodetree(WriteData *wd, bNodeTree *ntree)
writestruct(wd, DATA, "bNode", 1, node);
for(node= ntree->nodes.first; node; node= node->next) {
+ for(sock= node->inputs.first; sock; sock= sock->next)
+ write_node_socket(wd, sock);
+ for(sock= node->outputs.first; sock; sock= sock->next)
+ write_node_socket(wd, sock);
+
+
if(node->storage && node->type!=NODE_DYNAMIC) {
/* could be handlerized at some point, now only 1 exception still */
if(ntree->type==NTREE_SHADER && (node->type==SH_NODE_CURVE_VEC || node->type==SH_NODE_CURVE_RGB))
@@ -664,13 +679,9 @@ static void write_nodetree(WriteData *wd, bNodeTree *ntree)
write_curvemapping(wd, node->storage);
else if(ntree->type==NTREE_TEXTURE && (node->type==TEX_NODE_CURVE_RGB || node->type==TEX_NODE_CURVE_TIME) )
write_curvemapping(wd, node->storage);
- else
+ else
writestruct(wd, DATA, node->typeinfo->storagename, 1, node->storage);
}
- for(sock= node->inputs.first; sock; sock= sock->next)
- writestruct(wd, DATA, "bNodeSocket", 1, sock);
- for(sock= node->outputs.first; sock; sock= sock->next)
- writestruct(wd, DATA, "bNodeSocket", 1, sock);
}
for(link= ntree->links.first; link; link= link->next)
@@ -678,9 +689,9 @@ static void write_nodetree(WriteData *wd, bNodeTree *ntree)
/* external sockets */
for(sock= ntree->inputs.first; sock; sock= sock->next)
- writestruct(wd, DATA, "bNodeSocket", 1, sock);
+ write_node_socket(wd, sock);
for(sock= ntree->outputs.first; sock; sock= sock->next)
- writestruct(wd, DATA, "bNodeSocket", 1, sock);
+ write_node_socket(wd, sock);
}
static void current_screen_compat(Main *mainvar, bScreen **screen)
@@ -717,31 +728,48 @@ static void write_renderinfo(WriteData *wd, Main *mainvar) /* for renderdeamon
}
}
+static void write_keymapitem(WriteData *wd, wmKeyMapItem *kmi)
+{
+ writestruct(wd, DATA, "wmKeyMapItem", 1, kmi);
+ if(kmi->properties)
+ IDP_WriteProperty(kmi->properties, wd);
+}
+
static void write_userdef(WriteData *wd)
{
bTheme *btheme;
wmKeyMap *keymap;
wmKeyMapItem *kmi;
+ wmKeyMapDiffItem *kmdi;
bAddon *bext;
-
+ uiStyle *style;
+
writestruct(wd, USER, "UserDef", 1, &U);
for(btheme= U.themes.first; btheme; btheme=btheme->next)
writestruct(wd, DATA, "bTheme", 1, btheme);
- for(keymap= U.keymaps.first; keymap; keymap=keymap->next) {
+ for(keymap= U.user_keymaps.first; keymap; keymap=keymap->next) {
writestruct(wd, DATA, "wmKeyMap", 1, keymap);
- for(kmi=keymap->items.first; kmi; kmi=kmi->next) {
- writestruct(wd, DATA, "wmKeyMapItem", 1, kmi);
-
- if(kmi->properties)
- IDP_WriteProperty(kmi->properties, wd);
+ for(kmdi=keymap->diff_items.first; kmdi; kmdi=kmdi->next) {
+ writestruct(wd, DATA, "wmKeyMapDiffItem", 1, kmdi);
+ if(kmdi->remove_item)
+ write_keymapitem(wd, kmdi->remove_item);
+ if(kmdi->add_item)
+ write_keymapitem(wd, kmdi->add_item);
}
+
+ for(kmi=keymap->items.first; kmi; kmi=kmi->next)
+ write_keymapitem(wd, kmi);
}
for(bext= U.addons.first; bext; bext=bext->next)
writestruct(wd, DATA, "bAddon", 1, bext);
+
+ for(style= U.uistyles.first; style; style= style->next) {
+ writestruct(wd, DATA, "uiStyle", 1, style);
+ }
}
static void write_boid_state(WriteData *wd, BoidState *state)
@@ -832,6 +860,7 @@ static void write_particlesettings(WriteData *wd, ListBase *idbase)
{
ParticleSettings *part;
ParticleDupliWeight *dw;
+ GroupObject *go;
int a;
part= idbase->first;
@@ -846,8 +875,18 @@ static void write_particlesettings(WriteData *wd, ListBase *idbase)
writestruct(wd, DATA, "EffectorWeights", 1, part->effector_weights);
dw = part->dupliweights.first;
- for(; dw; dw=dw->next)
+ for(; dw; dw=dw->next) {
+ /* update indices */
+ dw->index = 0;
+ if(part->dup_group) { /* can be NULL if lining fails or set to None */
+ go = part->dup_group->gobject.first;
+ while(go && go->ob != dw->ob) {
+ go=go->next;
+ dw->index++;
+ }
+ }
writestruct(wd, DATA, "ParticleDupliWeight", 1, dw);
+ }
if(part->boids && part->phystype == PART_PHYS_BOIDS) {
BoidState *state = part->boids->states.first;
@@ -904,7 +943,7 @@ static void write_particlesystems(WriteData *wd, ListBase *particles)
writestruct(wd, DATA, "ClothSimSettings", 1, psys->clmd->sim_parms);
writestruct(wd, DATA, "ClothCollSettings", 1, psys->clmd->coll_parms);
}
-
+
write_pointcaches(wd, &psys->ptcaches);
}
}
@@ -2101,7 +2140,11 @@ static void write_screens(WriteData *wd, ListBase *scrbase)
writestruct(wd, DATA, "SpaceButs", 1, sl);
}
else if(sl->spacetype==SPACE_FILE) {
+ SpaceFile *sfile= (SpaceFile *)sl;
+
writestruct(wd, DATA, "SpaceFile", 1, sl);
+ if(sfile->params)
+ writestruct(wd, DATA, "FileSelectParams", 1, sfile->params);
}
else if(sl->spacetype==SPACE_SEQ) {
writestruct(wd, DATA, "SpaceSeq", 1, sl);
@@ -2313,6 +2356,23 @@ static void write_texts(WriteData *wd, ListBase *idbase)
mywrite(wd, MYWRITE_FLUSH, 0);
}
+static void write_speakers(WriteData *wd, ListBase *idbase)
+{
+ Speaker *spk;
+
+ spk= idbase->first;
+ while(spk) {
+ if(spk->id.us>0 || wd->current) {
+ /* write LibData */
+ writestruct(wd, ID_SPK, "Speaker", 1, spk);
+ if (spk->id.properties) IDP_WriteProperty(spk->id.properties, wd);
+
+ if (spk->adt) write_animdata(wd, spk->adt);
+ }
+ spk= spk->id.next;
+ }
+}
+
static void write_sounds(WriteData *wd, ListBase *idbase)
{
bSound *sound;
@@ -2434,7 +2494,7 @@ static void write_global(WriteData *wd, int fileflags, Main *mainvar)
fg.subversion= BLENDER_SUBVERSION;
fg.minversion= BLENDER_MINVERSION;
fg.minsubversion= BLENDER_MINSUBVERSION;
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
{
extern char build_rev[];
fg.revision= atoi(build_rev);
@@ -2491,6 +2551,7 @@ static int write_file_handle(Main *mainvar, int handle, MemFile *compare, MemFil
write_keys (wd, &mainvar->key);
write_worlds (wd, &mainvar->world);
write_texts (wd, &mainvar->text);
+ write_speakers (wd, &mainvar->speaker);
write_sounds (wd, &mainvar->sound);
write_groups (wd, &mainvar->group);
write_armatures(wd, &mainvar->armature);
diff --git a/source/blender/blenpluginapi/CMakeLists.txt b/source/blender/blenpluginapi/CMakeLists.txt
index c3aad25ccbe..9d398291b85 100644
--- a/source/blender/blenpluginapi/CMakeLists.txt
+++ b/source/blender/blenpluginapi/CMakeLists.txt
@@ -28,9 +28,9 @@ set(INC
.
..
../blenlib
+ ../blenloader
../imbuf
../makesdna
- ../blenloader
../../../intern/guardedalloc
)
@@ -50,7 +50,9 @@ set(SRC
)
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC_SYS ${QUICKTIME_INC})
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
diff --git a/source/blender/blenpluginapi/SConscript b/source/blender/blenpluginapi/SConscript
index 32e69069bb0..7c7c1318a6e 100644
--- a/source/blender/blenpluginapi/SConscript
+++ b/source/blender/blenpluginapi/SConscript
@@ -11,7 +11,7 @@ if env['WITH_BF_QUICKTIME']:
defs.append('WITH_QUICKTIME')
incs += ' ' + env['BF_QUICKTIME_INC']
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/blenpluginapi/iff.h b/source/blender/blenpluginapi/iff.h
index bccc7bdb769..d29853f7d15 100644
--- a/source/blender/blenpluginapi/iff.h
+++ b/source/blender/blenpluginapi/iff.h
@@ -113,9 +113,10 @@ LIBIMPORT void interlace(struct ImBuf *ib);
LIBIMPORT void IMB_rectcpy(struct ImBuf *dbuf, struct ImBuf *sbuf,
int destx, int desty, int srcx, int srcy, int width, int height);
-LIBIMPORT void IMB_rectfill(struct ImBuf *drect, float col[4]);
+LIBIMPORT void IMB_rectfill(struct ImBuf *drect, const float col[4]);
LIBIMPORT void IMB_rectfill_area(struct ImBuf *ibuf, float *col, int x1, int y1, int x2, int y2);
-LIBIMPORT void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, float *col, int x1, int y1, int x2, int y2);
+LIBIMPORT void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, const float col[4], int x1, int y1, int x2, int y2);
+LIBIMPORT void IMB_rectfill_alpha(struct ImBuf *drect, const float value);
#endif /* IFF_H */
diff --git a/source/blender/collada/AnimationExporter.cpp b/source/blender/collada/AnimationExporter.cpp
new file mode 100644
index 00000000000..498ccb5709d
--- /dev/null
+++ b/source/blender/collada/AnimationExporter.cpp
@@ -0,0 +1,1300 @@
+/*
+* $Id$
+*
+* ***** BEGIN GPL LICENSE BLOCK *****
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software Foundation,
+* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*
+* Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Jan Diederich, Tod Liverseed.
+*
+* ***** END GPL LICENSE BLOCK *****
+*/
+
+#include "GeometryExporter.h"
+#include "AnimationExporter.h"
+#include "MaterialExporter.h"
+
+template<class Functor>
+void forEachObjectInScene(Scene *sce, Functor &f)
+{
+ Base *base= (Base*) sce->base.first;
+
+ while(base) {
+ Object *ob = base->object;
+
+ f(ob);
+
+ base= base->next;
+ }
+}
+
+void AnimationExporter::exportAnimations(Scene *sce)
+{
+ if(hasAnimations(sce)) {
+ this->scene = sce;
+
+ openLibrary();
+
+ forEachObjectInScene(sce, *this);
+
+ closeLibrary();
+ }
+}
+
+// called for each exported object
+void AnimationExporter::operator() (Object *ob)
+{
+ FCurve *fcu;
+ char * transformName ;
+ bool isMatAnim = false;
+
+ //Export transform animations
+ if(ob->adt && ob->adt->action)
+ {
+ fcu = (FCurve*)ob->adt->action->curves.first;
+
+ //transform matrix export for bones are temporarily disabled here.
+ if ( ob->type == OB_ARMATURE )
+ {
+ bArmature *arm = (bArmature*)ob->data;
+ for (Bone *bone = (Bone*)arm->bonebase.first; bone; bone = bone->next)
+ write_bone_animation_matrix(ob, bone);
+ }
+
+ while (fcu) {
+ //for armature animations as objects
+ if ( ob->type == OB_ARMATURE )
+ transformName = fcu->rna_path;
+ else
+ transformName = extract_transform_name( fcu->rna_path );
+
+ if ((!strcmp(transformName, "location") || !strcmp(transformName, "scale")) ||
+ (!strcmp(transformName, "rotation_euler") && ob->rotmode == ROT_MODE_EUL)||
+ (!strcmp(transformName, "rotation_quaternion")))
+ dae_animation(ob ,fcu, transformName, false);
+ fcu = fcu->next;
+ }
+
+ }
+
+ //Export Lamp parameter animations
+ if( (ob->type == OB_LAMP ) && ((Lamp*)ob ->data)->adt && ((Lamp*)ob ->data)->adt->action )
+ {
+ fcu = (FCurve*)(((Lamp*)ob ->data)->adt->action->curves.first);
+ while (fcu) {
+ transformName = extract_transform_name( fcu->rna_path );
+
+ if ((!strcmp(transformName, "color")) || (!strcmp(transformName, "spot_size"))|| (!strcmp(transformName, "spot_blend"))||
+ (!strcmp(transformName, "distance")) )
+ dae_animation(ob , fcu, transformName, true );
+ fcu = fcu->next;
+ }
+ }
+
+ //Export Camera parameter animations
+ if( (ob->type == OB_CAMERA ) && ((Camera*)ob ->data)->adt && ((Camera*)ob ->data)->adt->action )
+ {
+ fcu = (FCurve*)(((Camera*)ob ->data)->adt->action->curves.first);
+ while (fcu) {
+ transformName = extract_transform_name( fcu->rna_path );
+
+ if ((!strcmp(transformName, "lens"))||
+ (!strcmp(transformName, "ortho_scale"))||
+ (!strcmp(transformName, "clip_end"))||(!strcmp(transformName, "clip_start")))
+ dae_animation(ob , fcu, transformName, true );
+ fcu = fcu->next;
+ }
+ }
+
+ //Export Material parameter animations.
+ for(int a = 0; a < ob->totcol; a++)
+ {
+ Material *ma = give_current_material(ob, a+1);
+ if (!ma) continue;
+ if(ma->adt && ma->adt->action)
+ {
+ isMatAnim = true;
+ fcu = (FCurve*)ma->adt->action->curves.first;
+ while (fcu) {
+ transformName = extract_transform_name( fcu->rna_path );
+
+ if ((!strcmp(transformName, "specular_hardness"))||(!strcmp(transformName, "specular_color"))
+ ||(!strcmp(transformName, "diffuse_color"))||(!strcmp(transformName, "alpha"))||
+ (!strcmp(transformName, "ior")))
+ dae_animation(ob ,fcu, transformName, true, ma );
+ fcu = fcu->next;
+ }
+ }
+
+ }
+}
+
+//euler sources from quternion sources
+float * AnimationExporter::get_eul_source_for_quat(Object *ob )
+{
+ FCurve *fcu = (FCurve*)ob->adt->action->curves.first;
+ const int keys = fcu->totvert;
+ float *quat = (float*)MEM_callocN(sizeof(float) * fcu->totvert * 4, "quat output source values");
+ float *eul = (float*)MEM_callocN(sizeof(float) * fcu->totvert * 3, "quat output source values");
+ float temp_quat[4];
+ float temp_eul[3];
+ while(fcu)
+ {
+ char * transformName = extract_transform_name( fcu->rna_path );
+
+ if( !strcmp(transformName, "rotation_quaternion") ) {
+ for ( int i = 0 ; i < fcu->totvert ; i++){
+ *(quat + ( i * 4 ) + fcu->array_index) = fcu->bezt[i].vec[1][1];
+ }
+ }
+ fcu = fcu->next;
+ }
+
+ for ( int i = 0 ; i < keys ; i++){
+ for ( int j = 0;j<4;j++)
+ temp_quat[j] = quat[(i*4)+j];
+
+ quat_to_eul(temp_eul,temp_quat);
+
+ for (int k = 0;k<3;k++)
+ eul[i*3 + k] = temp_eul[k];
+
+ }
+ MEM_freeN(quat);
+ return eul;
+
+}
+
+//Get proper name for bones
+std::string AnimationExporter::getObjectBoneName( Object* ob,const FCurve* fcu )
+{
+ //hard-way to derive the bone name from rna_path. Must find more compact method
+ std::string rna_path = std::string(fcu->rna_path);
+
+ char* boneName = strtok((char *)rna_path.c_str(), "\"");
+ boneName = strtok(NULL,"\"");
+
+ if( boneName != NULL )
+ return /*id_name(ob) + "_" +*/ std::string(boneName);
+ else
+ return id_name(ob);
+}
+
+//convert f-curves to animation curves and write
+void AnimationExporter::dae_animation(Object* ob, FCurve *fcu, char* transformName , bool is_param, Material * ma )
+{
+ const char *axis_name = NULL;
+ char anim_id[200];
+
+ bool has_tangents = false;
+ bool quatRotation = false;
+
+ if ( !strcmp(transformName, "rotation_quaternion") )
+ {
+ fprintf(stderr, "quaternion rotation curves are not supported. rotation curve will not be exported\n");
+ quatRotation = true;
+ return;
+ }
+
+ //axis names for colors
+ else if ( !strcmp(transformName, "color")||!strcmp(transformName, "specular_color")||!strcmp(transformName, "diffuse_color")||
+ (!strcmp(transformName, "alpha")))
+ {
+ const char *axis_names[] = {"R", "G", "B"};
+ if (fcu->array_index < 3)
+ axis_name = axis_names[fcu->array_index];
+ }
+
+ //axis names for transforms
+ else if ((!strcmp(transformName, "location") || !strcmp(transformName, "scale")) ||
+ (!strcmp(transformName, "rotation_euler"))||(!strcmp(transformName, "rotation_quaternion")))
+ {
+ const char *axis_names[] = {"X", "Y", "Z"};
+ if (fcu->array_index < 3)
+ axis_name = axis_names[fcu->array_index];
+ }
+
+ //no axis name. single parameter.
+ else{
+ axis_name = "";
+ }
+
+ std::string ob_name = std::string("null");
+
+ //Create anim Id
+ if (ob->type == OB_ARMATURE)
+ {
+ ob_name = getObjectBoneName( ob , fcu);
+ BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s.%s", (char*)translate_id(ob_name).c_str(),
+ transformName, axis_name);
+ }
+ else
+ {
+ if (ma)
+ ob_name = id_name(ob) + "_material";
+ else
+ ob_name = id_name(ob);
+ BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
+ fcu->rna_path, axis_name);
+ }
+
+ openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
+
+ // create input source
+ std::string input_id = create_source_from_fcurve(COLLADASW::InputSemantic::INPUT, fcu, anim_id, axis_name);
+
+ // create output source
+ std::string output_id ;
+
+ //quat rotations are skipped for now, because of complications with determining axis.
+ if(quatRotation)
+ {
+ float * eul = get_eul_source_for_quat(ob);
+ float * eul_axis = (float*)MEM_callocN(sizeof(float) * fcu->totvert, "quat output source values");
+ for ( int i = 0 ; i< fcu->totvert ; i++)
+ eul_axis[i] = eul[i*3 + fcu->array_index];
+ output_id= create_source_from_array(COLLADASW::InputSemantic::OUTPUT, eul_axis , fcu->totvert, quatRotation, anim_id, axis_name);
+ MEM_freeN(eul);
+ MEM_freeN(eul_axis);
+ }
+ else
+ {
+ output_id= create_source_from_fcurve(COLLADASW::InputSemantic::OUTPUT, fcu, anim_id, axis_name);
+ }
+ // create interpolations source
+ std::string interpolation_id = create_interpolation_source(fcu, anim_id, axis_name, &has_tangents);
+
+ // handle tangents (if required)
+ std::string intangent_id;
+ std::string outtangent_id;
+
+ if (has_tangents) {
+ // create in_tangent source
+ intangent_id = create_source_from_fcurve(COLLADASW::InputSemantic::IN_TANGENT, fcu, anim_id, axis_name);
+
+ // create out_tangent source
+ outtangent_id = create_source_from_fcurve(COLLADASW::InputSemantic::OUT_TANGENT, fcu, anim_id, axis_name);
+ }
+
+ std::string sampler_id = std::string(anim_id) + SAMPLER_ID_SUFFIX;
+ COLLADASW::LibraryAnimations::Sampler sampler(sw, sampler_id);
+ std::string empty;
+ sampler.addInput(COLLADASW::InputSemantic::INPUT, COLLADABU::URI(empty, input_id));
+ sampler.addInput(COLLADASW::InputSemantic::OUTPUT, COLLADABU::URI(empty, output_id));
+
+ // this input is required
+ sampler.addInput(COLLADASW::InputSemantic::INTERPOLATION, COLLADABU::URI(empty, interpolation_id));
+
+ if (has_tangents) {
+ sampler.addInput(COLLADASW::InputSemantic::IN_TANGENT, COLLADABU::URI(empty, intangent_id));
+ sampler.addInput(COLLADASW::InputSemantic::OUT_TANGENT, COLLADABU::URI(empty, outtangent_id));
+ }
+
+ addSampler(sampler);
+
+ std::string target ;
+
+ if ( !is_param )
+ target = translate_id(ob_name)
+ + "/" + get_transform_sid(fcu->rna_path, -1, axis_name, true);
+ else
+ {
+ if ( ob->type == OB_LAMP )
+ target = get_light_id(ob)
+ + "/" + get_light_param_sid(fcu->rna_path, -1, axis_name, true);
+
+ if ( ob->type == OB_CAMERA )
+ target = get_camera_id(ob)
+ + "/" + get_camera_param_sid(fcu->rna_path, -1, axis_name, true);
+
+ if( ma )
+ target = translate_id(id_name(ma)) + "-effect"
+ +"/common/" /*profile common is only supported */ + get_transform_sid(fcu->rna_path, -1, axis_name, true);
+ }
+ addChannel(COLLADABU::URI(empty, sampler_id), target);
+
+ closeAnimation();
+}
+
+
+
+//write bone animations in transform matrix sources
+void AnimationExporter::write_bone_animation_matrix(Object *ob_arm, Bone *bone)
+{
+ if (!ob_arm->adt)
+ return;
+
+ //This will only export animations of bones in deform group.
+ /*if(!is_bone_deform_group(bone))
+ return;*/
+
+ sample_and_write_bone_animation_matrix(ob_arm, bone);
+
+ for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next)
+ write_bone_animation_matrix(ob_arm, child);
+}
+
+bool AnimationExporter::is_bone_deform_group(Bone * bone)
+{
+ bool is_def;
+ //Check if current bone is deform
+ if((bone->flag & BONE_NO_DEFORM) == 0 ) return true;
+ //Check child bones
+ else
+ {
+ for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next){
+ //loop through all the children until deform bone is found, and then return
+ is_def = is_bone_deform_group(child);
+ if (is_def) return true;
+ }
+ }
+ //no deform bone found in children also
+ return false;
+}
+
+void AnimationExporter::sample_and_write_bone_animation_matrix(Object *ob_arm, Bone *bone)
+{
+ bArmature *arm = (bArmature*)ob_arm->data;
+ int flag = arm->flag;
+ std::vector<float> fra;
+ //char prefix[256];
+
+ FCurve* fcu = (FCurve*)ob_arm->adt->action->curves.first;
+ while(fcu)
+ {
+ std::string bone_name = getObjectBoneName(ob_arm,fcu);
+ int val = BLI_strcasecmp((char*)bone_name.c_str(),bone->name);
+ if(val==0) break;
+ fcu = fcu->next;
+ }
+
+ if(!(fcu)) return;
+ bPoseChannel *pchan = get_pose_channel(ob_arm->pose, bone->name);
+ if (!pchan)
+ return;
+
+ find_frames(ob_arm, fra);
+
+ if (flag & ARM_RESTPOS) {
+ arm->flag &= ~ARM_RESTPOS;
+ where_is_pose(scene, ob_arm);
+ }
+
+ if (fra.size()) {
+ dae_baked_animation(fra ,ob_arm, bone );
+ }
+
+ if (flag & ARM_RESTPOS)
+ arm->flag = flag;
+ where_is_pose(scene, ob_arm);
+}
+
+void AnimationExporter::dae_baked_animation(std::vector<float> &fra, Object *ob_arm , Bone *bone)
+{
+ std::string ob_name = id_name(ob_arm);
+ std::string bone_name = bone->name;
+ char anim_id[200];
+
+ if (!fra.size())
+ return;
+
+ BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
+ (char*)translate_id(bone_name).c_str(), "pose_matrix");
+
+ openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
+
+ // create input source
+ std::string input_id = create_source_from_vector(COLLADASW::InputSemantic::INPUT, fra, false, anim_id, "");
+
+ // create output source
+ std::string output_id;
+ output_id = create_4x4_source( fra, ob_arm , bone , anim_id);
+
+ // create interpolations source
+ std::string interpolation_id = fake_interpolation_source(fra.size(), anim_id, "");
+
+ std::string sampler_id = std::string(anim_id) + SAMPLER_ID_SUFFIX;
+ COLLADASW::LibraryAnimations::Sampler sampler(sw, sampler_id);
+ std::string empty;
+ sampler.addInput(COLLADASW::InputSemantic::INPUT, COLLADABU::URI(empty, input_id));
+ sampler.addInput(COLLADASW::InputSemantic::OUTPUT, COLLADABU::URI(empty, output_id));
+
+ // TODO create in/out tangents source
+
+ // this input is required
+ sampler.addInput(COLLADASW::InputSemantic::INTERPOLATION, COLLADABU::URI(empty, interpolation_id));
+
+ addSampler(sampler);
+
+ std::string target = translate_id(bone_name) + "/transform";
+ addChannel(COLLADABU::URI(empty, sampler_id), target);
+
+ closeAnimation();
+}
+
+// dae_bone_animation -> add_bone_animation
+// (blend this into dae_bone_animation)
+void AnimationExporter::dae_bone_animation(std::vector<float> &fra, float *values, int tm_type, int axis, std::string ob_name, std::string bone_name)
+{
+ const char *axis_names[] = {"X", "Y", "Z"};
+ const char *axis_name = NULL;
+ char anim_id[200];
+ bool is_rot = tm_type == 0;
+
+ if (!fra.size())
+ return;
+
+ char rna_path[200];
+ BLI_snprintf(rna_path, sizeof(rna_path), "pose.bones[\"%s\"].%s", bone_name.c_str(),
+ tm_type == 0 ? "rotation_quaternion" : (tm_type == 1 ? "scale" : "location"));
+
+ if (axis > -1)
+ axis_name = axis_names[axis];
+
+ std::string transform_sid = get_transform_sid(NULL, tm_type, axis_name, false);
+
+ BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
+ (char*)translate_id(bone_name).c_str(), (char*)transform_sid.c_str());
+
+ openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
+
+ // create input source
+ std::string input_id = create_source_from_vector(COLLADASW::InputSemantic::INPUT, fra, is_rot, anim_id, axis_name);
+
+ // create output source
+ std::string output_id;
+ if (axis == -1)
+ output_id = create_xyz_source(values, fra.size(), anim_id);
+ else
+ output_id = create_source_from_array(COLLADASW::InputSemantic::OUTPUT, values, fra.size(), is_rot, anim_id, axis_name);
+
+ // create interpolations source
+ std::string interpolation_id = fake_interpolation_source(fra.size(), anim_id, axis_name);
+
+ std::string sampler_id = std::string(anim_id) + SAMPLER_ID_SUFFIX;
+ COLLADASW::LibraryAnimations::Sampler sampler(sw, sampler_id);
+ std::string empty;
+ sampler.addInput(COLLADASW::InputSemantic::INPUT, COLLADABU::URI(empty, input_id));
+ sampler.addInput(COLLADASW::InputSemantic::OUTPUT, COLLADABU::URI(empty, output_id));
+
+ // TODO create in/out tangents source
+
+ // this input is required
+ sampler.addInput(COLLADASW::InputSemantic::INTERPOLATION, COLLADABU::URI(empty, interpolation_id));
+
+ addSampler(sampler);
+
+ std::string target = translate_id(ob_name + "_" + bone_name) + "/" + transform_sid;
+ addChannel(COLLADABU::URI(empty, sampler_id), target);
+
+ closeAnimation();
+}
+
+float AnimationExporter::convert_time(float frame)
+{
+ return FRA2TIME(frame);
+}
+
+float AnimationExporter::convert_angle(float angle)
+{
+ return COLLADABU::Math::Utils::radToDegF(angle);
+}
+
+std::string AnimationExporter::get_semantic_suffix(COLLADASW::InputSemantic::Semantics semantic)
+{
+ switch(semantic) {
+ case COLLADASW::InputSemantic::INPUT:
+ return INPUT_SOURCE_ID_SUFFIX;
+ case COLLADASW::InputSemantic::OUTPUT:
+ return OUTPUT_SOURCE_ID_SUFFIX;
+ case COLLADASW::InputSemantic::INTERPOLATION:
+ return INTERPOLATION_SOURCE_ID_SUFFIX;
+ case COLLADASW::InputSemantic::IN_TANGENT:
+ return INTANGENT_SOURCE_ID_SUFFIX;
+ case COLLADASW::InputSemantic::OUT_TANGENT:
+ return OUTTANGENT_SOURCE_ID_SUFFIX;
+ default:
+ break;
+ }
+ return "";
+}
+
+void AnimationExporter::add_source_parameters(COLLADASW::SourceBase::ParameterNameList& param,
+ COLLADASW::InputSemantic::Semantics semantic, bool is_rot, const char *axis, bool transform)
+{
+ switch(semantic) {
+ case COLLADASW::InputSemantic::INPUT:
+ param.push_back("TIME");
+ break;
+ case COLLADASW::InputSemantic::OUTPUT:
+ if (is_rot) {
+ param.push_back("ANGLE");
+ }
+ else {
+ if (axis) {
+ param.push_back(axis);
+ }
+ else
+ if ( transform )
+ {
+ param.push_back("TRANSFORM");
+ }else{ //assumes if axis isn't specified all axises are added
+ param.push_back("X");
+ param.push_back("Y");
+ param.push_back("Z");
+ }
+ }
+ break;
+ case COLLADASW::InputSemantic::IN_TANGENT:
+ case COLLADASW::InputSemantic::OUT_TANGENT:
+ param.push_back("X");
+ param.push_back("Y");
+ break;
+ default:
+ break;
+ }
+}
+
+void AnimationExporter::get_source_values(BezTriple *bezt, COLLADASW::InputSemantic::Semantics semantic, bool rotation, float *values, int *length)
+{
+ switch (semantic) {
+ case COLLADASW::InputSemantic::INPUT:
+ *length = 1;
+ values[0] = convert_time(bezt->vec[1][0]);
+ break;
+ case COLLADASW::InputSemantic::OUTPUT:
+ *length = 1;
+ if (rotation) {
+ values[0] = (bezt->vec[1][1]) * 180.0f/M_PI;
+ }
+ else {
+ values[0] = bezt->vec[1][1];
+ }
+ break;
+
+ case COLLADASW::InputSemantic::IN_TANGENT:
+ *length = 2;
+ values[0] = convert_time(bezt->vec[0][0]);
+ if (bezt->ipo != BEZT_IPO_BEZ) {
+ // We're in a mixed interpolation scenario, set zero as it's irrelevant but value might contain unused data
+ values[0] = 0;
+ values[1] = 0;
+ }
+ else if (rotation) {
+ values[1] = (bezt->vec[0][1]) * 180.0f/M_PI;
+ } else {
+ values[1] = bezt->vec[0][1];
+ }
+ break;
+
+ case COLLADASW::InputSemantic::OUT_TANGENT:
+ *length = 2;
+ values[0] = convert_time(bezt->vec[2][0]);
+ if (bezt->ipo != BEZT_IPO_BEZ) {
+ // We're in a mixed interpolation scenario, set zero as it's irrelevant but value might contain unused data
+ values[0] = 0;
+ values[1] = 0;
+ }
+ else if (rotation) {
+ values[1] = (bezt->vec[2][1]) * 180.0f/M_PI;
+ } else {
+ values[1] = bezt->vec[2][1];
+ }
+ break;
+ break;
+ default:
+ *length = 0;
+ break;
+ }
+}
+
+std::string AnimationExporter::create_source_from_fcurve(COLLADASW::InputSemantic::Semantics semantic, FCurve *fcu, const std::string& anim_id, const char *axis_name)
+{
+ std::string source_id = anim_id + get_semantic_suffix(semantic);
+
+ //bool is_rotation = !strcmp(fcu->rna_path, "rotation");
+ bool is_angle = false;
+
+ if (strstr(fcu->rna_path, "rotation")) is_angle = true;
+
+ COLLADASW::FloatSourceF source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(fcu->totvert);
+
+ switch (semantic) {
+ case COLLADASW::InputSemantic::INPUT:
+ case COLLADASW::InputSemantic::OUTPUT:
+ source.setAccessorStride(1);
+ break;
+ case COLLADASW::InputSemantic::IN_TANGENT:
+ case COLLADASW::InputSemantic::OUT_TANGENT:
+ source.setAccessorStride(2);
+ break;
+ default:
+ break;
+ }
+
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ add_source_parameters(param, semantic, is_angle, axis_name, false);
+
+ source.prepareToAppendValues();
+
+ for (unsigned int i = 0; i < fcu->totvert; i++) {
+ float values[3]; // be careful!
+ int length = 0;
+ get_source_values(&fcu->bezt[i], semantic, is_angle, values, &length);
+ for (int j = 0; j < length; j++)
+ source.appendValues(values[j]);
+ }
+
+ source.finish();
+
+ return source_id;
+}
+
+//Currently called only to get OUTPUT source values ( if rotation and hence the axis is also specified )
+std::string AnimationExporter::create_source_from_array(COLLADASW::InputSemantic::Semantics semantic, float *v, int tot, bool is_rot, const std::string& anim_id, const char *axis_name)
+{
+ std::string source_id = anim_id + get_semantic_suffix(semantic);
+
+ COLLADASW::FloatSourceF source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(tot);
+ source.setAccessorStride(1);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ add_source_parameters(param, semantic, is_rot, axis_name, false);
+
+ source.prepareToAppendValues();
+
+ for (int i = 0; i < tot; i++) {
+ float val = v[i];
+ ////if (semantic == COLLADASW::InputSemantic::INPUT)
+ // val = convert_time(val);
+ //else
+ if (is_rot)
+ val *= 180.0f / M_PI;
+ source.appendValues(val);
+ }
+
+ source.finish();
+
+ return source_id;
+}
+// only used for sources with INPUT semantic
+std::string AnimationExporter::create_source_from_vector(COLLADASW::InputSemantic::Semantics semantic, std::vector<float> &fra, bool is_rot, const std::string& anim_id, const char *axis_name)
+{
+ std::string source_id = anim_id + get_semantic_suffix(semantic);
+
+ COLLADASW::FloatSourceF source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(fra.size());
+ source.setAccessorStride(1);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ add_source_parameters(param, semantic, is_rot, axis_name, false);
+
+ source.prepareToAppendValues();
+
+ std::vector<float>::iterator it;
+ for (it = fra.begin(); it != fra.end(); it++) {
+ float val = *it;
+ //if (semantic == COLLADASW::InputSemantic::INPUT)
+ val = convert_time(val);
+ /*else if (is_rot)
+ val = convert_angle(val);*/
+ source.appendValues(val);
+ }
+
+ source.finish();
+
+ return source_id;
+}
+
+std::string AnimationExporter::create_4x4_source(std::vector<float> &frames , Object * ob_arm, Bone *bone , const std::string& anim_id)
+{
+ COLLADASW::InputSemantic::Semantics semantic = COLLADASW::InputSemantic::OUTPUT;
+ std::string source_id = anim_id + get_semantic_suffix(semantic);
+
+ COLLADASW::Float4x4Source source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(frames.size());
+ source.setAccessorStride(16);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ add_source_parameters(param, semantic, false, NULL, true);
+
+ source.prepareToAppendValues();
+
+ bPoseChannel *parchan = NULL;
+ bPoseChannel *pchan = NULL;
+ bPose *pose = ob_arm->pose;
+
+ pchan = get_pose_channel(pose, bone->name);
+
+ if (!pchan)
+ return "";
+
+ parchan = pchan->parent;
+
+ enable_fcurves(ob_arm->adt->action, bone->name);
+
+ std::vector<float>::iterator it;
+ int j = 0;
+ for (it = frames.begin(); it != frames.end(); it++) {
+ float mat[4][4], ipar[4][4];
+
+ float ctime = bsystem_time(scene, ob_arm, *it, 0.0f);
+
+ BKE_animsys_evaluate_animdata(scene , &ob_arm->id, ob_arm->adt, ctime, ADT_RECALC_ANIM);
+ where_is_pose_bone(scene, ob_arm, pchan, ctime, 1);
+
+ // compute bone local mat
+ if (bone->parent) {
+ invert_m4_m4(ipar, parchan->pose_mat);
+ mul_m4_m4m4(mat, pchan->pose_mat, ipar);
+ }
+ else
+ copy_m4_m4(mat, pchan->pose_mat);
+ UnitConverter converter;
+
+ float outmat[4][4];
+ converter.mat4_to_dae(outmat,mat);
+
+
+ source.appendValues(outmat);
+
+
+ j++;
+ }
+
+ enable_fcurves(ob_arm->adt->action, NULL);
+
+ source.finish();
+
+ return source_id;
+}
+// only used for sources with OUTPUT semantic ( locations and scale)
+std::string AnimationExporter::create_xyz_source(float *v, int tot, const std::string& anim_id)
+{
+ COLLADASW::InputSemantic::Semantics semantic = COLLADASW::InputSemantic::OUTPUT;
+ std::string source_id = anim_id + get_semantic_suffix(semantic);
+
+ COLLADASW::FloatSourceF source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(tot);
+ source.setAccessorStride(3);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ add_source_parameters(param, semantic, false, NULL, false);
+
+ source.prepareToAppendValues();
+
+ for (int i = 0; i < tot; i++) {
+ source.appendValues(*v, *(v + 1), *(v + 2));
+ v += 3;
+ }
+
+ source.finish();
+
+ return source_id;
+}
+
+std::string AnimationExporter::create_interpolation_source(FCurve *fcu, const std::string& anim_id, const char *axis_name, bool *has_tangents)
+{
+ std::string source_id = anim_id + get_semantic_suffix(COLLADASW::InputSemantic::INTERPOLATION);
+
+ COLLADASW::NameSource source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(fcu->totvert);
+ source.setAccessorStride(1);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ param.push_back("INTERPOLATION");
+
+ source.prepareToAppendValues();
+
+ *has_tangents = false;
+
+ for (unsigned int i = 0; i < fcu->totvert; i++) {
+ if (fcu->bezt[i].ipo==BEZT_IPO_BEZ) {
+ source.appendValues(BEZIER_NAME);
+ *has_tangents = true;
+ } else if (fcu->bezt[i].ipo==BEZT_IPO_CONST) {
+ source.appendValues(STEP_NAME);
+ } else { // BEZT_IPO_LIN
+ source.appendValues(LINEAR_NAME);
+ }
+ }
+ // unsupported? -- HERMITE, CARDINAL, BSPLINE, NURBS
+
+ source.finish();
+
+ return source_id;
+}
+
+std::string AnimationExporter::fake_interpolation_source(int tot, const std::string& anim_id, const char *axis_name)
+{
+ std::string source_id = anim_id + get_semantic_suffix(COLLADASW::InputSemantic::INTERPOLATION);
+
+ COLLADASW::NameSource source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(tot);
+ source.setAccessorStride(1);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ param.push_back("INTERPOLATION");
+
+ source.prepareToAppendValues();
+
+ for (int i = 0; i < tot; i++) {
+ source.appendValues(LINEAR_NAME);
+ }
+
+ source.finish();
+
+ return source_id;
+}
+
+std::string AnimationExporter::get_light_param_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis)
+{
+ std::string tm_name;
+ // when given rna_path, determine tm_type from it
+ if (rna_path) {
+ char *name = extract_transform_name(rna_path);
+
+ if (!strcmp(name, "color"))
+ tm_type = 1;
+ else if (!strcmp(name, "spot_size"))
+ tm_type = 2;
+ else if (!strcmp(name, "spot_blend"))
+ tm_type = 3;
+ else if (!strcmp(name, "distance"))
+ tm_type = 4;
+ else
+ tm_type = -1;
+ }
+
+ switch (tm_type) {
+ case 1:
+ tm_name = "color";
+ break;
+ case 2:
+ tm_name = "fall_off_angle";
+ break;
+ case 3:
+ tm_name = "fall_off_exponent";
+ break;
+ case 4:
+ tm_name = "blender/blender_dist";
+ break;
+
+ default:
+ tm_name = "";
+ break;
+ }
+
+ if (tm_name.size()) {
+ if (axis_name[0])
+ return tm_name + "." + std::string(axis_name);
+ else
+ return tm_name;
+ }
+
+ return std::string("");
+}
+
+std::string AnimationExporter::get_camera_param_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis)
+{
+ std::string tm_name;
+ // when given rna_path, determine tm_type from it
+ if (rna_path) {
+ char *name = extract_transform_name(rna_path);
+
+ if (!strcmp(name, "lens"))
+ tm_type = 0;
+ else if (!strcmp(name, "ortho_scale"))
+ tm_type = 1;
+ else if (!strcmp(name, "clip_end"))
+ tm_type = 2;
+ else if (!strcmp(name, "clip_start"))
+ tm_type = 3;
+
+ else
+ tm_type = -1;
+ }
+
+ switch (tm_type) {
+ case 0:
+ tm_name = "xfov";
+ break;
+ case 1:
+ tm_name = "xmag";
+ break;
+ case 2:
+ tm_name = "zfar";
+ break;
+ case 3:
+ tm_name = "znear";
+ break;
+
+ default:
+ tm_name = "";
+ break;
+ }
+
+ if (tm_name.size()) {
+ if (axis_name[0])
+ return tm_name + "." + std::string(axis_name);
+ else
+ return tm_name;
+ }
+
+ return std::string("");
+}
+
+// Assign sid of the animated parameter or transform
+// for rotation, axis name is always appended and the value of append_axis is ignored
+std::string AnimationExporter::get_transform_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis)
+{
+ std::string tm_name;
+ bool is_rotation =false;
+ // when given rna_path, determine tm_type from it
+ if (rna_path) {
+ char *name = extract_transform_name(rna_path);
+
+ if (!strcmp(name, "rotation_euler"))
+ tm_type = 0;
+ else if (!strcmp(name, "rotation_quaternion"))
+ tm_type = 1;
+ else if (!strcmp(name, "scale"))
+ tm_type = 2;
+ else if (!strcmp(name, "location"))
+ tm_type = 3;
+ else if (!strcmp(name, "specular_hardness"))
+ tm_type = 4;
+ else if (!strcmp(name, "specular_color"))
+ tm_type = 5;
+ else if (!strcmp(name, "diffuse_color"))
+ tm_type = 6;
+ else if (!strcmp(name, "alpha"))
+ tm_type = 7;
+ else if (!strcmp(name, "ior"))
+ tm_type = 8;
+
+ else
+ tm_type = -1;
+ }
+
+ switch (tm_type) {
+ case 0:
+ case 1:
+ tm_name = "rotation";
+ is_rotation = true;
+ break;
+ case 2:
+ tm_name = "scale";
+ break;
+ case 3:
+ tm_name = "location";
+ break;
+ case 4:
+ tm_name = "shininess";
+ break;
+ case 5:
+ tm_name = "specular";
+ break;
+ case 6:
+ tm_name = "diffuse";
+ break;
+ case 7:
+ tm_name = "transparency";
+ break;
+ case 8:
+ tm_name = "index_of_refraction";
+ break;
+
+ default:
+ tm_name = "";
+ break;
+ }
+
+ if (tm_name.size()) {
+ if (is_rotation)
+ return tm_name + std::string(axis_name) + ".ANGLE";
+ else
+ if (axis_name[0])
+ return tm_name + "." + std::string(axis_name);
+ else
+ return tm_name;
+ }
+
+ return std::string("");
+}
+
+char* AnimationExporter::extract_transform_name(char *rna_path)
+{
+ char *dot = strrchr(rna_path, '.');
+ return dot ? (dot + 1) : rna_path;
+}
+
+//find keyframes of all the objects animations
+void AnimationExporter::find_frames(Object *ob, std::vector<float> &fra)
+{
+ FCurve *fcu= (FCurve*)ob->adt->action->curves.first;
+
+ for (; fcu; fcu = fcu->next) {
+
+ for (unsigned int i = 0; i < fcu->totvert; i++) {
+ float f = fcu->bezt[i].vec[1][0];
+ if (std::find(fra.begin(), fra.end(), f) == fra.end())
+ fra.push_back(f);
+ }
+ }
+
+ // keep the keys in ascending order
+ std::sort(fra.begin(), fra.end());
+}
+
+
+
+// enable fcurves driving a specific bone, disable all the rest
+// if bone_name = NULL enable all fcurves
+void AnimationExporter::enable_fcurves(bAction *act, char *bone_name)
+{
+ FCurve *fcu;
+ char prefix[200];
+
+ if (bone_name)
+ BLI_snprintf(prefix, sizeof(prefix), "pose.bones[\"%s\"]", bone_name);
+
+ for (fcu = (FCurve*)act->curves.first; fcu; fcu = fcu->next) {
+ if (bone_name) {
+ if (!strncmp(fcu->rna_path, prefix, strlen(prefix)))
+ fcu->flag &= ~FCURVE_DISABLED;
+ else
+ fcu->flag |= FCURVE_DISABLED;
+ }
+ else {
+ fcu->flag &= ~FCURVE_DISABLED;
+ }
+ }
+}
+
+bool AnimationExporter::hasAnimations(Scene *sce)
+{
+ Base *base= (Base*) sce->base.first;
+
+ while(base) {
+ Object *ob = base->object;
+
+ FCurve *fcu = 0;
+ //Check for object transform animations
+ if(ob->adt && ob->adt->action)
+ fcu = (FCurve*)ob->adt->action->curves.first;
+ //Check for Lamp parameter animations
+ else if( (ob->type == OB_LAMP ) && ((Lamp*)ob ->data)->adt && ((Lamp*)ob ->data)->adt->action )
+ fcu = (FCurve*)(((Lamp*)ob ->data)->adt->action->curves.first);
+ //Check for Camera parameter animations
+ else if( (ob->type == OB_CAMERA ) && ((Camera*)ob ->data)->adt && ((Camera*)ob ->data)->adt->action )
+ fcu = (FCurve*)(((Camera*)ob ->data)->adt->action->curves.first);
+
+ //Check Material Effect parameter animations.
+ for(int a = 0; a < ob->totcol; a++)
+ {
+ Material *ma = give_current_material(ob, a+1);
+ if (!ma) continue;
+ if(ma->adt && ma->adt->action)
+ {
+ fcu = (FCurve*)ma->adt->action->curves.first;
+ }
+ }
+
+ if ( fcu)
+ return true;
+ base= base->next;
+ }
+ return false;
+}
+
+//------------------------------- Not used in the new system.--------------------------------------------------------
+void AnimationExporter::find_rotation_frames(Object *ob, std::vector<float> &fra, const char *prefix, int rotmode)
+{
+ if (rotmode > 0)
+ find_frames(ob, fra, prefix, "rotation_euler");
+ else if (rotmode == ROT_MODE_QUAT)
+ find_frames(ob, fra, prefix, "rotation_quaternion");
+ /*else if (rotmode == ROT_MODE_AXISANGLE)
+ ;*/
+}
+
+void AnimationExporter::find_frames(Object *ob, std::vector<float> &fra, const char *prefix, const char *tm_name)
+{
+ FCurve *fcu= (FCurve*)ob->adt->action->curves.first;
+
+ for (; fcu; fcu = fcu->next) {
+ if (prefix && strncmp(prefix, fcu->rna_path, strlen(prefix)))
+ continue;
+
+ char *name = extract_transform_name(fcu->rna_path);
+ if (!strcmp(name, tm_name)) {
+ for (unsigned int i = 0; i < fcu->totvert; i++) {
+ float f = fcu->bezt[i].vec[1][0];
+ if (std::find(fra.begin(), fra.end(), f) == fra.end())
+ fra.push_back(f);
+ }
+ }
+ }
+
+ // keep the keys in ascending order
+ std::sort(fra.begin(), fra.end());
+}
+
+void AnimationExporter::write_bone_animation(Object *ob_arm, Bone *bone)
+{
+ if (!ob_arm->adt)
+ return;
+
+ //write bone animations for 3 transform types
+ //i=0 --> rotations
+ //i=1 --> scale
+ //i=2 --> location
+ for (int i = 0; i < 3; i++)
+ sample_and_write_bone_animation(ob_arm, bone, i);
+
+ for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next)
+ write_bone_animation(ob_arm, child);
+}
+
+void AnimationExporter::sample_and_write_bone_animation(Object *ob_arm, Bone *bone, int transform_type)
+{
+ bArmature *arm = (bArmature*)ob_arm->data;
+ int flag = arm->flag;
+ std::vector<float> fra;
+ char prefix[256];
+
+ BLI_snprintf(prefix, sizeof(prefix), "pose.bones[\"%s\"]", bone->name);
+
+ bPoseChannel *pchan = get_pose_channel(ob_arm->pose, bone->name);
+ if (!pchan)
+ return;
+ //Fill frame array with key frame values framed at @param:transform_type
+ switch (transform_type) {
+ case 0:
+ find_rotation_frames(ob_arm, fra, prefix, pchan->rotmode);
+ break;
+ case 1:
+ find_frames(ob_arm, fra, prefix, "scale");
+ break;
+ case 2:
+ find_frames(ob_arm, fra, prefix, "location");
+ break;
+ default:
+ return;
+ }
+
+ // exit rest position
+ if (flag & ARM_RESTPOS) {
+ arm->flag &= ~ARM_RESTPOS;
+ where_is_pose(scene, ob_arm);
+ }
+ //v array will hold all values which will be exported.
+ if (fra.size()) {
+ float *values = (float*)MEM_callocN(sizeof(float) * 3 * fra.size(), "temp. anim frames");
+ sample_animation(values, fra, transform_type, bone, ob_arm, pchan);
+
+ if (transform_type == 0) {
+ // write x, y, z curves separately if it is rotation
+ float *axisValues = (float*)MEM_callocN(sizeof(float) * fra.size(), "temp. anim frames");
+
+ for (int i = 0; i < 3; i++) {
+ for (unsigned int j = 0; j < fra.size(); j++)
+ axisValues[j] = values[j * 3 + i];
+
+ dae_bone_animation(fra, axisValues, transform_type, i, id_name(ob_arm), bone->name);
+ }
+ MEM_freeN(axisValues);
+ }
+ else {
+ // write xyz at once if it is location or scale
+ dae_bone_animation(fra, values, transform_type, -1, id_name(ob_arm), bone->name);
+ }
+
+ MEM_freeN(values);
+ }
+
+ // restore restpos
+ if (flag & ARM_RESTPOS)
+ arm->flag = flag;
+ where_is_pose(scene, ob_arm);
+}
+
+void AnimationExporter::sample_animation(float *v, std::vector<float> &frames, int type, Bone *bone, Object *ob_arm, bPoseChannel *pchan)
+{
+ bPoseChannel *parchan = NULL;
+ bPose *pose = ob_arm->pose;
+
+ pchan = get_pose_channel(pose, bone->name);
+
+ if (!pchan)
+ return;
+
+ parchan = pchan->parent;
+
+ enable_fcurves(ob_arm->adt->action, bone->name);
+
+ std::vector<float>::iterator it;
+ for (it = frames.begin(); it != frames.end(); it++) {
+ float mat[4][4], ipar[4][4];
+
+ float ctime = bsystem_time(scene, ob_arm, *it, 0.0f);
+
+
+ BKE_animsys_evaluate_animdata(scene , &ob_arm->id, ob_arm->adt, ctime, ADT_RECALC_ANIM);
+ where_is_pose_bone(scene, ob_arm, pchan, ctime, 1);
+
+ // compute bone local mat
+ if (bone->parent) {
+ invert_m4_m4(ipar, parchan->pose_mat);
+ mul_m4_m4m4(mat, pchan->pose_mat, ipar);
+ }
+ else
+ copy_m4_m4(mat, pchan->pose_mat);
+
+ switch (type) {
+ case 0:
+ mat4_to_eul(v, mat);
+ break;
+ case 1:
+ mat4_to_size(v, mat);
+ break;
+ case 2:
+ copy_v3_v3(v, mat[3]);
+ break;
+ }
+
+ v += 3;
+ }
+
+ enable_fcurves(ob_arm->adt->action, NULL);
+}
diff --git a/source/blender/collada/AnimationExporter.h b/source/blender/collada/AnimationExporter.h
new file mode 100644
index 00000000000..d277dad8e8c
--- /dev/null
+++ b/source/blender/collada/AnimationExporter.h
@@ -0,0 +1,163 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Jan Diederich, Tod Liverseed.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <math.h>
+extern "C"
+{
+#include "DNA_scene_types.h"
+#include "DNA_object_types.h"
+#include "DNA_anim_types.h"
+#include "DNA_action_types.h"
+#include "DNA_curve_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_material_types.h"
+
+#include "BKE_DerivedMesh.h"
+#include "BKE_fcurve.h"
+#include "BKE_animsys.h"
+#ifdef NAN_BUILDINFO
+extern char build_rev[];
+#endif
+}
+
+#include "MEM_guardedalloc.h"
+
+#include "BKE_action.h" // pose functions
+#include "BKE_armature.h"
+#include "BKE_object.h"
+
+#include "BLI_math.h"
+#include "BLI_string.h"
+#include "BLI_listbase.h"
+
+#include "RNA_access.h"
+
+#include "COLLADASWSource.h"
+#include "COLLADASWInstanceGeometry.h"
+#include "COLLADASWInputList.h"
+#include "COLLADASWPrimitves.h"
+#include "COLLADASWVertices.h"
+#include "COLLADASWLibraryAnimations.h"
+#include "COLLADASWParamTemplate.h"
+#include "COLLADASWParamBase.h"
+#include "COLLADASWSampler.h"
+#include "COLLADASWConstants.h"
+#include "COLLADASWBaseInputElement.h"
+
+#include "EffectExporter.h"
+
+#include "collada_internal.h"
+
+#include <vector>
+#include <algorithm> // std::find
+
+class AnimationExporter: COLLADASW::LibraryAnimations
+{
+private:
+ Scene *scene;
+ COLLADASW::StreamWriter *sw;
+
+public:
+
+ AnimationExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryAnimations(sw) { this->sw = sw; }
+
+
+ void exportAnimations(Scene *sce);
+
+ // called for each exported object
+ void operator() (Object *ob);
+
+protected:
+
+ void dae_animation(Object* ob, FCurve *fcu, char* transformName , bool is_param, Material *ma = NULL);
+
+ void write_bone_animation_matrix(Object *ob_arm, Bone *bone);
+
+ void write_bone_animation(Object *ob_arm, Bone *bone);
+
+ void sample_and_write_bone_animation(Object *ob_arm, Bone *bone, int transform_type);
+
+ bool is_bone_deform_group(Bone * bone);
+
+ void sample_and_write_bone_animation_matrix(Object *ob_arm, Bone *bone);
+
+ void sample_animation(float *v, std::vector<float> &frames, int type, Bone *bone, Object *ob_arm, bPoseChannel *pChan);
+
+ void sample_animation(std::vector<float[4][4]> &mats, std::vector<float> &frames, Bone *bone, Object *ob_arm, bPoseChannel *pChan);
+
+ // dae_bone_animation -> add_bone_animation
+ // (blend this into dae_bone_animation)
+ void dae_bone_animation(std::vector<float> &fra, float *v, int tm_type, int axis, std::string ob_name, std::string bone_name);
+
+ void dae_baked_animation(std::vector<float> &fra, Object *ob_arm , Bone *bone);
+
+ float convert_time(float frame);
+
+ float convert_angle(float angle);
+
+ std::string get_semantic_suffix(COLLADASW::InputSemantic::Semantics semantic);
+
+ void add_source_parameters(COLLADASW::SourceBase::ParameterNameList& param,
+ COLLADASW::InputSemantic::Semantics semantic, bool is_rot, const char *axis , bool transform);
+
+ void get_source_values(BezTriple *bezt, COLLADASW::InputSemantic::Semantics semantic, bool rotation, float *values, int *length);
+
+ float * get_eul_source_for_quat(Object *ob );
+
+ std::string create_source_from_fcurve(COLLADASW::InputSemantic::Semantics semantic, FCurve *fcu, const std::string& anim_id, const char *axis_name);
+
+ std::string create_source_from_array(COLLADASW::InputSemantic::Semantics semantic, float *v, int tot, bool is_rot, const std::string& anim_id, const char *axis_name);
+
+ std::string create_source_from_vector(COLLADASW::InputSemantic::Semantics semantic, std::vector<float> &fra, bool is_rot, const std::string& anim_id, const char *axis_name);
+
+ std::string create_xyz_source(float *v, int tot, const std::string& anim_id);
+
+ std::string create_4x4_source(std::vector<float> &frames , Object * ob_arm, Bone *bone , const std::string& anim_id);
+
+ std::string create_interpolation_source(FCurve *fcu, const std::string& anim_id, const char *axis_name, bool *has_tangents);
+
+ std::string fake_interpolation_source(int tot, const std::string& anim_id, const char *axis_name);
+ // for rotation, axis name is always appended and the value of append_axis is ignored
+ std::string get_transform_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis);
+ std::string get_light_param_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis);
+ std::string get_camera_param_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis);
+ void find_frames(Object *ob, std::vector<float> &fra, const char *prefix, const char *tm_name);
+ void find_frames(Object *ob, std::vector<float> &fra);
+
+ void find_rotation_frames(Object *ob, std::vector<float> &fra, const char *prefix, int rotmode);
+
+ // enable fcurves driving a specific bone, disable all the rest
+ // if bone_name = NULL enable all fcurves
+ void enable_fcurves(bAction *act, char *bone_name);
+
+ bool hasAnimations(Scene *sce);
+
+ char* extract_transform_name(char *rna_path);
+
+ std::string getObjectBoneName ( Object *ob,const FCurve * fcu);
+};
diff --git a/source/blender/collada/AnimationImporter.cpp b/source/blender/collada/AnimationImporter.cpp
index a166324bde7..43428f57d4f 100644
--- a/source/blender/collada/AnimationImporter.cpp
+++ b/source/blender/collada/AnimationImporter.cpp
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory.
+ * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory, Sukhitha Jayathilake.
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -50,21 +50,21 @@
#include "collada_utils.h"
#include "AnimationImporter.h"
#include "ArmatureImporter.h"
+#include "MaterialExporter.h"
#include <algorithm>
-// use this for retrieving bone names, since these must be unique
+// first try node name, if not available (since is optional), fall back to original id
template<class T>
static const char *bc_get_joint_name(T *node)
{
- const std::string& id = node->getOriginalId();
- return id.size() ? id.c_str() : node->getName().c_str();
+ const std::string& id = node->getName();
+ return id.size() ? id.c_str() : node->getOriginalId().c_str();
}
FCurve *AnimationImporter::create_fcurve(int array_index, const char *rna_path)
{
FCurve *fcu = (FCurve*)MEM_callocN(sizeof(FCurve), "FCurve");
-
fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
fcu->rna_path = BLI_strdupn(rna_path, strlen(rna_path));
fcu->array_index = array_index;
@@ -89,8 +89,7 @@ void AnimationImporter::animation_to_fcurves(COLLADAFW::AnimationCurve *curve)
{
COLLADAFW::FloatOrDoubleArray& input = curve->getInputValues();
COLLADAFW::FloatOrDoubleArray& output = curve->getOutputValues();
- // COLLADAFW::FloatOrDoubleArray& intan = curve->getInTangentValues();
- // COLLADAFW::FloatOrDoubleArray& outtan = curve->getOutTangentValues();
+
float fps = (float)FPS;
size_t dim = curve->getOutDimension();
unsigned int i;
@@ -100,36 +99,55 @@ void AnimationImporter::animation_to_fcurves(COLLADAFW::AnimationCurve *curve)
switch (dim) {
case 1: // X, Y, Z or angle
case 3: // XYZ
+ case 4:
case 16: // matrix
{
for (i = 0; i < dim; i++ ) {
FCurve *fcu = (FCurve*)MEM_callocN(sizeof(FCurve), "FCurve");
-
+
fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
// fcu->rna_path = BLI_strdupn(path, strlen(path));
fcu->array_index = 0;
- //fcu->totvert = curve->getKeyCount();
-
+ fcu->totvert = curve->getKeyCount();
+
// create beztriple for each key
for (unsigned int j = 0; j < curve->getKeyCount(); j++) {
BezTriple bez;
memset(&bez, 0, sizeof(BezTriple));
- // intangent
- // bez.vec[0][0] = get_float_value(intan, j * 6 + i + i) * fps;
- // bez.vec[0][1] = get_float_value(intan, j * 6 + i + i + 1);
// input, output
bez.vec[1][0] = bc_get_float_value(input, j) * fps;
bez.vec[1][1] = bc_get_float_value(output, j * dim + i);
- // outtangent
- // bez.vec[2][0] = get_float_value(outtan, j * 6 + i + i) * fps;
- // bez.vec[2][1] = get_float_value(outtan, j * 6 + i + i + 1);
- bez.ipo = U.ipo_new; /* use default interpolation mode here... */
+ if( curve->getInterpolationType() == COLLADAFW::AnimationCurve::INTERPOLATION_BEZIER ||
+ curve->getInterpolationType() == COLLADAFW::AnimationCurve::INTERPOLATION_STEP)
+ {
+ COLLADAFW::FloatOrDoubleArray& intan = curve->getInTangentValues();
+ COLLADAFW::FloatOrDoubleArray& outtan = curve->getOutTangentValues();
+
+ // intangent
+ bez.vec[0][0] = bc_get_float_value(intan, (j * 2 * dim ) + (2 * i)) * fps;
+ bez.vec[0][1] = bc_get_float_value(intan, (j * 2 * dim )+ (2 * i) + 1);
+
+ // outtangent
+ bez.vec[2][0] = bc_get_float_value(outtan, (j * 2 * dim ) + (2 * i)) * fps;
+ bez.vec[2][1] = bc_get_float_value(outtan, (j * 2 * dim )+ (2 * i) + 1);
+ if(curve->getInterpolationType() == COLLADAFW::AnimationCurve::INTERPOLATION_BEZIER)
+ bez.ipo = BEZT_IPO_BEZ;
+ else
+ bez.ipo = BEZT_IPO_CONST;
+ //bez.h1 = bez.h2 = HD_AUTO;
+ }
+ else
+ {
+ bez.h1 = bez.h2 = HD_AUTO;
+ bez.ipo = BEZT_IPO_LIN;
+ }
+ // bez.ipo = U.ipo_new; /* use default interpolation mode here... */
bez.f1 = bez.f2 = bez.f3 = SELECT;
- bez.h1 = bez.h2 = HD_AUTO;
+
insert_bezt_fcurve(fcu, &bez, 0);
}
@@ -147,14 +165,18 @@ void AnimationImporter::animation_to_fcurves(COLLADAFW::AnimationCurve *curve)
unused_curves.push_back(*it);
}
+
void AnimationImporter::fcurve_deg_to_rad(FCurve *cu)
{
for (unsigned int i = 0; i < cu->totvert; i++) {
// TODO convert handles too
cu->bezt[i].vec[1][1] *= M_PI / 180.0f;
+ cu->bezt[i].vec[0][1] *= M_PI / 180.0f;
+ cu->bezt[i].vec[2][1] *= M_PI / 180.0f;
}
}
+
void AnimationImporter::add_fcurves_to_object(Object *ob, std::vector<FCurve*>& curves, char *rna_path, int array_index, Animation *animated)
{
bAction *act;
@@ -253,11 +275,12 @@ bool AnimationImporter::write_animation(const COLLADAFW::Animation* anim)
switch (interp) {
case COLLADAFW::AnimationCurve::INTERPOLATION_LINEAR:
case COLLADAFW::AnimationCurve::INTERPOLATION_BEZIER:
+ case COLLADAFW::AnimationCurve::INTERPOLATION_STEP:
animation_to_fcurves(curve);
break;
default:
// TODO there're also CARDINAL, HERMITE, BSPLINE and STEP types
- fprintf(stderr, "CARDINAL, HERMITE, BSPLINE and STEP anim interpolation types not supported yet.\n");
+ fprintf(stderr, "CARDINAL, HERMITE and BSPLINE anim interpolation types not supported yet.\n");
break;
}
}
@@ -281,128 +304,17 @@ bool AnimationImporter::write_animation_list(const COLLADAFW::AnimationList* ani
animlist_map[animlist_id] = animlist;
#if 0
+
// should not happen
if (uid_animated_map.find(animlist_id) == uid_animated_map.end()) {
return true;
}
// for bones rna_path is like: pose.bones["bone-name"].rotation
-
- // what does this AnimationList animate?
- Animation& animated = uid_animated_map[animlist_id];
- Object *ob = animated.ob;
-
- char rna_path[100];
- char joint_path[100];
- bool is_joint = false;
-
- // if ob is NULL, it should be a JOINT
- if (!ob) {
- ob = armature_importer->get_armature_for_joint(animated.node);
-
- if (!ob) {
- fprintf(stderr, "Cannot find armature for node %s\n", get_joint_name(animated.node));
- return true;
- }
-
- armature_importer->get_rna_path_for_joint(animated.node, joint_path, sizeof(joint_path));
-
- is_joint = true;
- }
-
- const COLLADAFW::AnimationList::AnimationBindings& bindings = animlist->getAnimationBindings();
-
- switch (animated.tm->getTransformationType()) {
- case COLLADAFW::Transformation::TRANSLATE:
- case COLLADAFW::Transformation::SCALE:
- {
- bool loc = animated.tm->getTransformationType() == COLLADAFW::Transformation::TRANSLATE;
- if (is_joint)
- BLI_snprintf(rna_path, sizeof(rna_path), "%s.%s", joint_path, loc ? "location" : "scale");
- else
- BLI_strncpy(rna_path, loc ? "location" : "scale", sizeof(rna_path));
-
- for (int i = 0; i < bindings.getCount(); i++) {
- const COLLADAFW::AnimationList::AnimationBinding& binding = bindings[i];
- COLLADAFW::UniqueId anim_uid = binding.animation;
-
- if (curve_map.find(anim_uid) == curve_map.end()) {
- fprintf(stderr, "Cannot find FCurve by animation UID.\n");
- continue;
- }
-
- std::vector<FCurve*>& fcurves = curve_map[anim_uid];
-
- switch (binding.animationClass) {
- case COLLADAFW::AnimationList::POSITION_X:
- add_fcurves_to_object(ob, fcurves, rna_path, 0, &animated);
- break;
- case COLLADAFW::AnimationList::POSITION_Y:
- add_fcurves_to_object(ob, fcurves, rna_path, 1, &animated);
- break;
- case COLLADAFW::AnimationList::POSITION_Z:
- add_fcurves_to_object(ob, fcurves, rna_path, 2, &animated);
- break;
- case COLLADAFW::AnimationList::POSITION_XYZ:
- add_fcurves_to_object(ob, fcurves, rna_path, -1, &animated);
- break;
- default:
- fprintf(stderr, "AnimationClass %d is not supported for %s.\n",
- binding.animationClass, loc ? "TRANSLATE" : "SCALE");
- }
- }
- }
- break;
- case COLLADAFW::Transformation::ROTATE:
- {
- if (is_joint)
- BLI_snprintf(rna_path, sizeof(rna_path), "%s.rotation_euler", joint_path);
- else
- BLI_strncpy(rna_path, "rotation_euler", sizeof(rna_path));
-
- COLLADAFW::Rotate* rot = (COLLADAFW::Rotate*)animated.tm;
- COLLADABU::Math::Vector3& axis = rot->getRotationAxis();
-
- for (int i = 0; i < bindings.getCount(); i++) {
- const COLLADAFW::AnimationList::AnimationBinding& binding = bindings[i];
- COLLADAFW::UniqueId anim_uid = binding.animation;
- if (curve_map.find(anim_uid) == curve_map.end()) {
- fprintf(stderr, "Cannot find FCurve by animation UID.\n");
- continue;
- }
-
- std::vector<FCurve*>& fcurves = curve_map[anim_uid];
- switch (binding.animationClass) {
- case COLLADAFW::AnimationList::ANGLE:
- if (COLLADABU::Math::Vector3::UNIT_X == axis) {
- add_fcurves_to_object(ob, fcurves, rna_path, 0, &animated);
- }
- else if (COLLADABU::Math::Vector3::UNIT_Y == axis) {
- add_fcurves_to_object(ob, fcurves, rna_path, 1, &animated);
- }
- else if (COLLADABU::Math::Vector3::UNIT_Z == axis) {
- add_fcurves_to_object(ob, fcurves, rna_path, 2, &animated);
- }
- break;
- case COLLADAFW::AnimationList::AXISANGLE:
- // TODO convert axis-angle to quat? or XYZ?
- default:
- fprintf(stderr, "AnimationClass %d is not supported for ROTATE transformation.\n",
- binding.animationClass);
- }
- }
- }
- break;
- case COLLADAFW::Transformation::MATRIX:
- case COLLADAFW::Transformation::SKEW:
- case COLLADAFW::Transformation::LOOKAT:
- fprintf(stderr, "Animation of MATRIX, SKEW and LOOKAT transformations is not supported yet.\n");
- break;
- }
#endif
-
+
return true;
}
@@ -512,52 +424,684 @@ virtual void AnimationImporter::change_eul_to_quat(Object *ob, bAction *act)
}
#endif
-// prerequisites:
-// animlist_map - map animlist id -> animlist
-// curve_map - map anim id -> curve(s)
-Object *AnimationImporter::translate_animation(COLLADAFW::Node *node,
- std::map<COLLADAFW::UniqueId, Object*>& object_map,
- std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
- COLLADAFW::Transformation::TransformationType tm_type,
- Object *par_job)
+
+//sets the rna_path and array index to curve
+void AnimationImporter::modify_fcurve(std::vector<FCurve*>* curves , char* rna_path , int array_index )
{
- bool is_rotation = tm_type == COLLADAFW::Transformation::ROTATE;
+ std::vector<FCurve*>::iterator it;
+ int i;
+ for (it = curves->begin(), i = 0; it != curves->end(); it++, i++) {
+ FCurve *fcu = *it;
+ fcu->rna_path = BLI_strdup(rna_path);
+
+ if (array_index == -1) fcu->array_index = i;
+ else fcu->array_index = array_index;
+
+ unused_curves.erase(std::remove(unused_curves.begin(), unused_curves.end(), fcu), unused_curves.end());
+ }
+}
+
+void AnimationImporter::find_frames( std::vector<float>* frames , std::vector<FCurve*>* curves)
+{
+ std::vector<FCurve*>::iterator iter;
+ for (iter = curves->begin(); iter != curves->end(); iter++) {
+ FCurve *fcu = *iter;
+
+ for (unsigned int k = 0; k < fcu->totvert; k++) {
+ //get frame value from bezTriple
+ float fra = fcu->bezt[k].vec[1][0];
+ //if frame already not added add frame to frames
+ if (std::find(frames->begin(), frames->end(), fra) == frames->end())
+ frames->push_back(fra);
+
+ }
+ }
+}
+
+//creates the rna_paths and array indices of fcurves from animations using transformation and bound animation class of each animation.
+void AnimationImporter:: Assign_transform_animations(COLLADAFW::Transformation * transform ,
+ const COLLADAFW::AnimationList::AnimationBinding * binding,
+ std::vector<FCurve*>* curves, bool is_joint, char * joint_path)
+{
+ COLLADAFW::Transformation::TransformationType tm_type = transform->getTransformationType();
bool is_matrix = tm_type == COLLADAFW::Transformation::MATRIX;
- bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
+ bool is_rotation = tm_type == COLLADAFW::Transformation::ROTATE;
- COLLADAFW::Node *root = root_map.find(node->getUniqueId()) == root_map.end() ? node : root_map[node->getUniqueId()];
- Object *ob = is_joint ? armature_importer->get_armature_for_joint(node) : object_map[node->getUniqueId()];
+ //to check if the no of curves are valid
+ bool xyz = ((tm_type == COLLADAFW::Transformation::TRANSLATE ||tm_type == COLLADAFW::Transformation::SCALE) && binding->animationClass == COLLADAFW::AnimationList::POSITION_XYZ);
+
+
+ if (!((!xyz && curves->size() == 1) || (xyz && curves->size() == 3) || is_matrix)) {
+ fprintf(stderr, "expected %d curves, got %d\n", xyz ? 3 : 1, (int)curves->size());
+ return;
+ }
+
+ char rna_path[100];
+
+ switch (tm_type) {
+ case COLLADAFW::Transformation::TRANSLATE:
+ case COLLADAFW::Transformation::SCALE:
+ {
+ bool loc = tm_type == COLLADAFW::Transformation::TRANSLATE;
+ if (is_joint)
+ BLI_snprintf(rna_path, sizeof(rna_path), "%s.%s", joint_path, loc ? "location" : "scale");
+ else
+ BLI_strncpy(rna_path, loc ? "location" : "scale", sizeof(rna_path));
+
+ switch (binding->animationClass) {
+ case COLLADAFW::AnimationList::POSITION_X:
+ modify_fcurve(curves, rna_path, 0 );
+ break;
+ case COLLADAFW::AnimationList::POSITION_Y:
+ modify_fcurve(curves, rna_path, 1 );
+ break;
+ case COLLADAFW::AnimationList::POSITION_Z:
+ modify_fcurve(curves, rna_path, 2 );
+ break;
+ case COLLADAFW::AnimationList::POSITION_XYZ:
+ modify_fcurve(curves, rna_path, -1 );
+ break;
+ default:
+ fprintf(stderr, "AnimationClass %d is not supported for %s.\n",
+ binding->animationClass, loc ? "TRANSLATE" : "SCALE");
+ }
+ break;
+ }
+
+
+ case COLLADAFW::Transformation::ROTATE:
+ {
+ if (is_joint)
+ BLI_snprintf(rna_path, sizeof(rna_path), "%s.rotation_euler", joint_path);
+ else
+ BLI_strncpy(rna_path, "rotation_euler", sizeof(rna_path));
+ std::vector<FCurve*>::iterator iter;
+ for (iter = curves->begin(); iter != curves->end(); iter++) {
+ FCurve* fcu = *iter;
+
+ //if transform is rotation the fcurves values must be turned in to radian.
+ if (is_rotation)
+ fcurve_deg_to_rad(fcu);
+ }
+ COLLADAFW::Rotate* rot = (COLLADAFW::Rotate*)transform;
+ COLLADABU::Math::Vector3& axis = rot->getRotationAxis();
+
+ switch (binding->animationClass) {
+ case COLLADAFW::AnimationList::ANGLE:
+ if (COLLADABU::Math::Vector3::UNIT_X == axis) {
+ modify_fcurve(curves, rna_path, 0 );
+ }
+ else if (COLLADABU::Math::Vector3::UNIT_Y == axis) {
+ modify_fcurve(curves, rna_path, 1 );
+ }
+ else if (COLLADABU::Math::Vector3::UNIT_Z == axis) {
+ modify_fcurve(curves, rna_path, 2 );
+ }
+ break;
+ case COLLADAFW::AnimationList::AXISANGLE:
+ // TODO convert axis-angle to quat? or XYZ?
+ default:
+ fprintf(stderr, "AnimationClass %d is not supported for ROTATE transformation.\n",
+ binding->animationClass);
+ }
+ break;
+ }
+
+ case COLLADAFW::Transformation::MATRIX:
+ /*{
+ COLLADAFW::Matrix* mat = (COLLADAFW::Matrix*)transform;
+ COLLADABU::Math::Matrix4 mat4 = mat->getMatrix();
+ switch (binding->animationClass) {
+ case COLLADAFW::AnimationList::TRANSFORM:
+
+ }
+ }*/
+ break;
+ case COLLADAFW::Transformation::SKEW:
+ case COLLADAFW::Transformation::LOOKAT:
+ fprintf(stderr, "Animation of SKEW and LOOKAT transformations is not supported yet.\n");
+ break;
+ }
+
+}
+
+//creates the rna_paths and array indices of fcurves from animations using color and bound animation class of each animation.
+void AnimationImporter:: Assign_color_animations(const COLLADAFW::UniqueId& listid, ListBase *AnimCurves ,const char * anim_type)
+{
+ char rna_path[100];
+ BLI_strncpy(rna_path,anim_type, sizeof(rna_path));
+
+ const COLLADAFW::AnimationList *animlist = animlist_map[listid];
+ const COLLADAFW::AnimationList::AnimationBindings& bindings = animlist->getAnimationBindings();
+ //all the curves belonging to the current binding
+ std::vector<FCurve*> animcurves;
+ for (unsigned int j = 0; j < bindings.getCount(); j++) {
+ animcurves = curve_map[bindings[j].animation];
+
+ switch (bindings[j].animationClass) {
+ case COLLADAFW::AnimationList::COLOR_R:
+ modify_fcurve(&animcurves, rna_path, 0 );
+ break;
+ case COLLADAFW::AnimationList::COLOR_G:
+ modify_fcurve(&animcurves, rna_path, 1 );
+ break;
+ case COLLADAFW::AnimationList::COLOR_B:
+ modify_fcurve(&animcurves, rna_path, 2 );
+ break;
+ case COLLADAFW::AnimationList::COLOR_RGB:
+ case COLLADAFW::AnimationList::COLOR_RGBA: // to do-> set intensity
+ modify_fcurve(&animcurves, rna_path, -1 );
+ break;
+
+ default:
+ fprintf(stderr, "AnimationClass %d is not supported for %s.\n",
+ bindings[j].animationClass, "COLOR" );
+ }
+
+ std::vector<FCurve*>::iterator iter;
+ //Add the curves of the current animation to the object
+ for (iter = animcurves.begin(); iter != animcurves.end(); iter++) {
+ FCurve * fcu = *iter;
+ BLI_addtail(AnimCurves, fcu);
+ }
+ }
+
+
+}
+
+void AnimationImporter:: Assign_float_animations(const COLLADAFW::UniqueId& listid, ListBase *AnimCurves, const char * anim_type)
+{
+ char rna_path[100];
+ if (animlist_map.find(listid) == animlist_map.end()) return ;
+ else
+ {
+ //anim_type has animations
+ const COLLADAFW::AnimationList *animlist = animlist_map[listid];
+ const COLLADAFW::AnimationList::AnimationBindings& bindings = animlist->getAnimationBindings();
+ //all the curves belonging to the current binding
+ std::vector<FCurve*> animcurves;
+ for (unsigned int j = 0; j < bindings.getCount(); j++) {
+ animcurves = curve_map[bindings[j].animation];
+
+ BLI_strncpy(rna_path, anim_type , sizeof(rna_path));
+ modify_fcurve(&animcurves, rna_path, 0 );
+ std::vector<FCurve*>::iterator iter;
+ //Add the curves of the current animation to the object
+ for (iter = animcurves.begin(); iter != animcurves.end(); iter++) {
+ FCurve * fcu = *iter;
+ BLI_addtail(AnimCurves, fcu);
+ }
+ }
+ }
+
+}
+
+void AnimationImporter::apply_matrix_curves( Object * ob, std::vector<FCurve*>& animcurves, COLLADAFW::Node* root ,COLLADAFW::Node* node,
+ COLLADAFW::Transformation * tm )
+{
+ bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
const char *bone_name = is_joint ? bc_get_joint_name(node) : NULL;
+ char joint_path[200];
+ if ( is_joint )
+ armature_importer->get_rna_path_for_joint(node, joint_path, sizeof(joint_path));
- if (!ob) {
+ std::vector<float> frames;
+ find_frames(&frames, &animcurves);
+
+ float irest_dae[4][4];
+ float rest[4][4], irest[4][4];
+
+ if (is_joint) {
+ get_joint_rest_mat(irest_dae, root, node);
+ invert_m4(irest_dae);
+
+ Bone *bone = get_named_bone((bArmature*)ob->data, bone_name);
+ if (!bone) {
+ fprintf(stderr, "cannot find bone \"%s\"\n", bone_name);
+ return;
+ }
+
+ unit_m4(rest);
+ copy_m4_m4(rest, bone->arm_mat);
+ invert_m4_m4(irest, rest);
+ }
+ // new curves to assign matrix transform animation
+ FCurve *newcu[10]; // if tm_type is matrix, then create 10 curves: 4 rot, 3 loc, 3 scale
+ unsigned int totcu = 10 ;
+ const char *tm_str = NULL;
+ char rna_path[200];
+ for (int i = 0; i < totcu; i++) {
+
+ int axis = i;
+
+ if (i < 4) {
+ tm_str = "rotation_quaternion";
+ axis = i;
+ }
+ else if (i < 7) {
+ tm_str = "location";
+ axis = i - 4;
+ }
+ else {
+ tm_str = "scale";
+ axis = i - 7;
+ }
+
+
+ if (is_joint)
+ BLI_snprintf(rna_path, sizeof(rna_path), "%s.%s", joint_path, tm_str);
+ else
+ strcpy(rna_path, tm_str);
+ newcu[i] = create_fcurve(axis, rna_path);
+ newcu[i]->totvert = frames.size();
+ }
+
+ if (frames.size() == 0)
+ return;
+
+ std::sort(frames.begin(), frames.end());
+
+ std::vector<float>::iterator it;
+
+ // sample values at each frame
+ for (it = frames.begin(); it != frames.end(); it++) {
+ float fra = *it;
+
+ float mat[4][4];
+ float matfra[4][4];
+
+ unit_m4(matfra);
+
+ // calc object-space mat
+ evaluate_transform_at_frame(matfra, node, fra);
+
+
+ // for joints, we need a special matrix
+ if (is_joint) {
+ // special matrix: iR * M * iR_dae * R
+ // where R, iR are bone rest and inverse rest mats in world space (Blender bones),
+ // iR_dae is joint inverse rest matrix (DAE) and M is an evaluated joint world-space matrix (DAE)
+ float temp[4][4], par[4][4];
+
+ // calc M
+ calc_joint_parent_mat_rest(par, NULL, root, node);
+ mul_m4_m4m4(temp, matfra, par);
+
+ // evaluate_joint_world_transform_at_frame(temp, NULL, , node, fra);
+
+ // calc special matrix
+ mul_serie_m4(mat, irest, temp, irest_dae, rest, NULL, NULL, NULL, NULL);
+ }
+ else {
+ copy_m4_m4(mat, matfra);
+ }
+
+ float rot[4], loc[3], scale[3];
+
+ mat4_to_quat(rot, mat);
+ /*for ( int i = 0 ; i < 4 ; i ++ )
+ {
+ rot[i] = rot[i] * (180 / M_PI);
+ }*/
+ copy_v3_v3(loc, mat[3]);
+ mat4_to_size(scale, mat);
+
+ // add keys
+ for (int i = 0; i < totcu; i++) {
+ if (i < 4)
+ add_bezt(newcu[i], fra, rot[i]);
+ else if (i < 7)
+ add_bezt(newcu[i], fra, loc[i - 4]);
+ else
+ add_bezt(newcu[i], fra, scale[i - 7]);
+ }
+ }
+ verify_adt_action((ID*)&ob->id, 1);
+
+ ListBase *curves = &ob->adt->action->curves;
+
+ // add curves
+ for (int i= 0; i < totcu; i++) {
+ if (is_joint)
+ add_bone_fcurve(ob, node, newcu[i]);
+ else
+ BLI_addtail(curves, newcu[i]);
+ }
+
+ if (is_joint) {
+ bPoseChannel *chan = get_pose_channel(ob->pose, bone_name);
+ chan->rotmode = ROT_MODE_QUAT;
+ }
+ else {
+ ob->rotmode = ROT_MODE_QUAT;
+ }
+
+ return;
+
+}
+
+void AnimationImporter::translate_Animations ( COLLADAFW::Node * node ,
+ std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
+ std::map<COLLADAFW::UniqueId, Object*>& object_map,
+ std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map)
+{
+ AnimationImporter::AnimMix* animType = get_animation_type(node, FW_object_map );
+
+ bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
+ COLLADAFW::Node *root = root_map.find(node->getUniqueId()) == root_map.end() ? node : root_map[node->getUniqueId()];
+ Object *ob = is_joint ? armature_importer->get_armature_for_joint(root) : object_map[node->getUniqueId()];
+ if (!ob)
+ {
fprintf(stderr, "cannot find Object for Node with id=\"%s\"\n", node->getOriginalId().c_str());
- return NULL;
+ return;
}
- // frames at which to sample
- std::vector<float> frames;
+ bAction * act;
+
+ if ( (animType->transform) != 0 )
+ {
+ const char *bone_name = is_joint ? bc_get_joint_name(node) : NULL;
+ char joint_path[200];
+
+ if ( is_joint )
+ armature_importer->get_rna_path_for_joint(node, joint_path, sizeof(joint_path));
+
+
+ if (!ob->adt || !ob->adt->action) act = verify_adt_action((ID*)&ob->id, 1);
+ else act = ob->adt->action;
+
+ //Get the list of animation curves of the object
+ ListBase *AnimCurves = &(act->curves);
+
+ const COLLADAFW::TransformationPointerArray& nodeTransforms = node->getTransformations();
+
+ //for each transformation in node
+ for (unsigned int i = 0; i < nodeTransforms.getCount(); i++) {
+ COLLADAFW::Transformation *transform = nodeTransforms[i];
+ COLLADAFW::Transformation::TransformationType tm_type = transform->getTransformationType();
+
+ bool is_rotation = tm_type == COLLADAFW::Transformation::ROTATE;
+ bool is_matrix = tm_type == COLLADAFW::Transformation::MATRIX;
+
+ const COLLADAFW::UniqueId& listid = transform->getAnimationList();
+
+ //check if transformation has animations
+ if (animlist_map.find(listid) == animlist_map.end()) continue ;
+ else
+ {
+ //transformation has animations
+ const COLLADAFW::AnimationList *animlist = animlist_map[listid];
+ const COLLADAFW::AnimationList::AnimationBindings& bindings = animlist->getAnimationBindings();
+ //all the curves belonging to the current binding
+ std::vector<FCurve*> animcurves;
+ for (unsigned int j = 0; j < bindings.getCount(); j++) {
+ animcurves = curve_map[bindings[j].animation];
+ if ( is_matrix )
+ apply_matrix_curves(ob, animcurves, root , node, transform );
+ else {
+ //calculate rnapaths and array index of fcurves according to transformation and animation class
+ Assign_transform_animations(transform, &bindings[j], &animcurves, is_joint, joint_path );
+
+ std::vector<FCurve*>::iterator iter;
+ //Add the curves of the current animation to the object
+ for (iter = animcurves.begin(); iter != animcurves.end(); iter++) {
+ FCurve * fcu = *iter;
+ if ((ob->type == OB_ARMATURE))
+ add_bone_fcurve( ob, node , fcu );
+ else
+ BLI_addtail(AnimCurves, fcu);
+ }
+ }
+ }
+ }
+ if (is_rotation) {
+ if (is_joint)
+ {
+ bPoseChannel *chan = get_pose_channel(ob->pose, bone_name);
+ chan->rotmode = ROT_MODE_EUL;
+ }
+ else
+ {
+ ob->rotmode = ROT_MODE_EUL;
+ }
+ }
+ }
+ }
+
+ if ((animType->light) != 0)
+ {
+ Lamp * lamp = (Lamp*) ob->data;
+
+ if (!lamp->adt || !lamp->adt->action) act = verify_adt_action((ID*)&lamp->id, 1);
+ else act = lamp->adt->action;
+
+ ListBase *AnimCurves = &(act->curves);
+ const COLLADAFW::InstanceLightPointerArray& nodeLights = node->getInstanceLights();
+
+ for (unsigned int i = 0; i < nodeLights.getCount(); i++) {
+ const COLLADAFW::Light *light = (COLLADAFW::Light *) FW_object_map[nodeLights[i]->getInstanciatedObjectId()];
+
+ if ((animType->light & LIGHT_COLOR) != 0)
+ {
+ const COLLADAFW::Color *col = &(light->getColor());
+ const COLLADAFW::UniqueId& listid = col->getAnimationList();
+
+ Assign_color_animations(listid, AnimCurves, "color");
+ }
+ if ((animType->light & LIGHT_FOA) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *foa = &(light->getFallOffAngle());
+ const COLLADAFW::UniqueId& listid = foa->getAnimationList();
+
+ Assign_float_animations( listid ,AnimCurves, "spot_size");
+ }
+ if ( (animType->light & LIGHT_FOE) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *foe = &(light->getFallOffExponent());
+ const COLLADAFW::UniqueId& listid = foe->getAnimationList();
+
+ Assign_float_animations( listid ,AnimCurves, "spot_blend");
+
+ }
+ }
+ }
+
+ if ( (animType->camera) != 0)
+ {
+ Camera * camera = (Camera*) ob->data;
+
+ if (!camera->adt || !camera->adt->action) act = verify_adt_action((ID*)&camera->id, 1);
+ else act = camera->adt->action;
+
+ ListBase *AnimCurves = &(act->curves);
+ const COLLADAFW::InstanceCameraPointerArray& nodeCameras= node->getInstanceCameras();
+
+ for (unsigned int i = 0; i < nodeCameras.getCount(); i++) {
+ const COLLADAFW::Camera *camera = (COLLADAFW::Camera *) FW_object_map[nodeCameras[i]->getInstanciatedObjectId()];
+ if ((animType->camera & CAMERA_XFOV) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *xfov = &(camera->getXFov());
+ const COLLADAFW::UniqueId& listid = xfov->getAnimationList();
+ Assign_float_animations( listid ,AnimCurves, "lens");
+ }
+
+ else if ((animType->camera & CAMERA_XMAG) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *xmag = &(camera->getXMag());
+ const COLLADAFW::UniqueId& listid = xmag->getAnimationList();
+ Assign_float_animations( listid ,AnimCurves, "ortho_scale");
+ }
+
+ if ((animType->camera & CAMERA_ZFAR) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *zfar = &(camera->getFarClippingPlane());
+ const COLLADAFW::UniqueId& listid = zfar->getAnimationList();
+ Assign_float_animations( listid ,AnimCurves, "clip_end");
+ }
+
+ if ((animType->camera & CAMERA_ZNEAR) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *znear = &(camera->getNearClippingPlane());
+ const COLLADAFW::UniqueId& listid = znear->getAnimationList();
+ Assign_float_animations( listid ,AnimCurves, "clip_start");
+ }
+
+ }
+ }
+ if ( animType->material != 0){
+ Material *ma = give_current_material(ob, 1);
+ if (!ma->adt || !ma->adt->action) act = verify_adt_action((ID*)&ma->id, 1);
+ else act = ma->adt->action;
+
+ ListBase *AnimCurves = &(act->curves);
+
+ const COLLADAFW::InstanceGeometryPointerArray& nodeGeoms = node->getInstanceGeometries();
+ for (unsigned int i = 0; i < nodeGeoms.getCount(); i++) {
+ const COLLADAFW::MaterialBindingArray& matBinds = nodeGeoms[i]->getMaterialBindings();
+ for (unsigned int j = 0; j < matBinds.getCount(); j++) {
+ const COLLADAFW::UniqueId & matuid = matBinds[j].getReferencedMaterial();
+ const COLLADAFW::Effect *ef = (COLLADAFW::Effect *) (FW_object_map[matuid]);
+ const COLLADAFW::CommonEffectPointerArray& commonEffects = ef->getCommonEffects();
+ COLLADAFW::EffectCommon *efc = commonEffects[0];
+ if((animType->material & MATERIAL_SHININESS) != 0){
+ const COLLADAFW::FloatOrParam *shin = &(efc->getShininess());
+ const COLLADAFW::UniqueId& listid = shin->getAnimationList();
+ Assign_float_animations( listid, AnimCurves , "specular_hardness" );
+ }
+
+ if((animType->material & MATERIAL_IOR) != 0){
+ const COLLADAFW::FloatOrParam *ior = &(efc->getIndexOfRefraction());
+ const COLLADAFW::UniqueId& listid = ior->getAnimationList();
+ Assign_float_animations( listid, AnimCurves , "raytrace_transparency.ior" );
+ }
+
+ if((animType->material & MATERIAL_SPEC_COLOR) != 0){
+ const COLLADAFW::ColorOrTexture *cot = &(efc->getSpecular());
+ const COLLADAFW::UniqueId& listid = cot->getColor().getAnimationList();
+ Assign_color_animations( listid, AnimCurves , "specular_color" );
+ }
+
+ if((animType->material & MATERIAL_DIFF_COLOR) != 0){
+ const COLLADAFW::ColorOrTexture *cot = &(efc->getDiffuse());
+ const COLLADAFW::UniqueId& listid = cot->getColor().getAnimationList();
+ Assign_color_animations( listid, AnimCurves , "diffuse_color" );
+ }
+ }
+ }
+ }
+}
+
+
+//Check if object is animated by checking if animlist_map holds the animlist_id of node transforms
+AnimationImporter::AnimMix* AnimationImporter::get_animation_type ( const COLLADAFW::Node * node ,
+ std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map)
+{
+ AnimMix *types = new AnimMix();
+
+ const COLLADAFW::TransformationPointerArray& nodeTransforms = node->getTransformations();
+
+ //for each transformation in node
+ for (unsigned int i = 0; i < nodeTransforms.getCount(); i++) {
+ COLLADAFW::Transformation *transform = nodeTransforms[i];
+ const COLLADAFW::UniqueId& listid = transform->getAnimationList();
+
+ //check if transformation has animations
+ if (animlist_map.find(listid) == animlist_map.end()) continue ;
+ else
+ {
+ types->transform = types->transform|NODE_TRANSFORM;
+ break;
+ }
+ }
+ const COLLADAFW::InstanceLightPointerArray& nodeLights = node->getInstanceLights();
+
+ for (unsigned int i = 0; i < nodeLights.getCount(); i++) {
+ const COLLADAFW::Light *light = (COLLADAFW::Light *) FW_object_map[nodeLights[i]->getInstanciatedObjectId()];
+ types->light = setAnimType(&(light->getColor()),(types->light), LIGHT_COLOR);
+ types->light = setAnimType(&(light->getFallOffAngle()),(types->light), LIGHT_FOA);
+ types->light = setAnimType(&(light->getFallOffExponent()),(types->light), LIGHT_FOE);
+
+ if ( types->light != 0) break;
+
+ }
+
+ const COLLADAFW::InstanceCameraPointerArray& nodeCameras = node->getInstanceCameras();
+ for (unsigned int i = 0; i < nodeCameras.getCount(); i++) {
+ const COLLADAFW::Camera *camera = (COLLADAFW::Camera *) FW_object_map[nodeCameras[i]->getInstanciatedObjectId()];
+
+ if ( camera->getCameraType() == COLLADAFW::Camera::PERSPECTIVE )
+ {
+ types->camera = setAnimType(&(camera->getXMag()),(types->camera), CAMERA_XFOV);
+ }
+ else
+ {
+ types->camera = setAnimType(&(camera->getXMag()),(types->camera), CAMERA_XMAG);
+ }
+ types->camera = setAnimType(&(camera->getFarClippingPlane()),(types->camera), CAMERA_ZFAR);
+ types->camera = setAnimType(&(camera->getNearClippingPlane()),(types->camera), CAMERA_ZNEAR);
+
+ if ( types->camera != 0) break;
+
+ }
+
+ const COLLADAFW::InstanceGeometryPointerArray& nodeGeoms = node->getInstanceGeometries();
+ for (unsigned int i = 0; i < nodeGeoms.getCount(); i++) {
+ const COLLADAFW::MaterialBindingArray& matBinds = nodeGeoms[i]->getMaterialBindings();
+ for (unsigned int j = 0; j < matBinds.getCount(); j++) {
+ const COLLADAFW::UniqueId & matuid = matBinds[j].getReferencedMaterial();
+ const COLLADAFW::Effect *ef = (COLLADAFW::Effect *) (FW_object_map[matuid]);
+ const COLLADAFW::CommonEffectPointerArray& commonEffects = ef->getCommonEffects();
+ if(!commonEffects.empty()) {
+ COLLADAFW::EffectCommon *efc = commonEffects[0];
+ types->material = setAnimType(&(efc->getShininess()),(types->material), MATERIAL_SHININESS);
+ types->material = setAnimType(&(efc->getSpecular().getColor()),(types->material), MATERIAL_SPEC_COLOR);
+ types->material = setAnimType(&(efc->getDiffuse().getColor()),(types->material), MATERIAL_DIFF_COLOR);
+ // types->material = setAnimType(&(efc->get()),(types->material), MATERIAL_TRANSPARENCY);
+ types->material = setAnimType(&(efc->getIndexOfRefraction()),(types->material), MATERIAL_IOR);
+ }
+ }
+ }
+ return types;
+}
+
+int AnimationImporter::setAnimType ( const COLLADAFW::Animatable * prop , int types, int addition)
+{
+ const COLLADAFW::UniqueId& listid = prop->getAnimationList();
+ if (animlist_map.find(listid) != animlist_map.end())
+ return types|addition;
+ else return types;
+}
+
+// Is not used anymore.
+void AnimationImporter::find_frames_old(std::vector<float> * frames, COLLADAFW::Node * node , COLLADAFW::Transformation::TransformationType tm_type)
+{
+ bool is_matrix = tm_type == COLLADAFW::Transformation::MATRIX;
+ bool is_rotation = tm_type == COLLADAFW::Transformation::ROTATE;
// for each <rotate>, <translate>, etc. there is a separate Transformation
- const COLLADAFW::TransformationPointerArray& tms = node->getTransformations();
+ const COLLADAFW::TransformationPointerArray& nodeTransforms = node->getTransformations();
unsigned int i;
-
// find frames at which to sample plus convert all rotation keys to radians
- for (i = 0; i < tms.getCount(); i++) {
- COLLADAFW::Transformation *tm = tms[i];
- COLLADAFW::Transformation::TransformationType type = tm->getTransformationType();
+ for (i = 0; i < nodeTransforms.getCount(); i++) {
+ COLLADAFW::Transformation *transform = nodeTransforms[i];
+ COLLADAFW::Transformation::TransformationType nodeTmType = transform->getTransformationType();
- if (type == tm_type) {
- const COLLADAFW::UniqueId& listid = tm->getAnimationList();
+ if (nodeTmType == tm_type) {
+ //get animation bindings for the current transformation
+ const COLLADAFW::UniqueId& listid = transform->getAnimationList();
+ //if transform is animated its animlist must exist.
if (animlist_map.find(listid) != animlist_map.end()) {
+
const COLLADAFW::AnimationList *animlist = animlist_map[listid];
const COLLADAFW::AnimationList::AnimationBindings& bindings = animlist->getAnimationBindings();
if (bindings.getCount()) {
+ //for each AnimationBinding get the fcurves which animate the transform
for (unsigned int j = 0; j < bindings.getCount(); j++) {
std::vector<FCurve*>& curves = curve_map[bindings[j].animation];
- bool xyz = ((type == COLLADAFW::Transformation::TRANSLATE || type == COLLADAFW::Transformation::SCALE) && bindings[j].animationClass == COLLADAFW::AnimationList::POSITION_XYZ);
+ bool xyz = ((nodeTmType == COLLADAFW::Transformation::TRANSLATE || nodeTmType == COLLADAFW::Transformation::SCALE) && bindings[j].animationClass == COLLADAFW::AnimationList::POSITION_XYZ);
if ((!xyz && curves.size() == 1) || (xyz && curves.size() == 3) || is_matrix) {
std::vector<FCurve*>::iterator iter;
@@ -565,13 +1109,16 @@ Object *AnimationImporter::translate_animation(COLLADAFW::Node *node,
for (iter = curves.begin(); iter != curves.end(); iter++) {
FCurve *fcu = *iter;
+ //if transform is rotation the fcurves values must be turned in to radian.
if (is_rotation)
fcurve_deg_to_rad(fcu);
for (unsigned int k = 0; k < fcu->totvert; k++) {
+ //get frame value from bezTriple
float fra = fcu->bezt[k].vec[1][0];
- if (std::find(frames.begin(), frames.end(), fra) == frames.end())
- frames.push_back(fra);
+ //if frame already not added add frame to frames
+ if (std::find(frames->begin(), frames->end(), fra) == frames->end())
+ frames->push_back(fra);
}
}
}
@@ -583,7 +1130,39 @@ Object *AnimationImporter::translate_animation(COLLADAFW::Node *node,
}
}
}
+}
+
+
+
+// prerequisites:
+// animlist_map - map animlist id -> animlist
+// curve_map - map anim id -> curve(s)
+Object *AnimationImporter::translate_animation_OLD(COLLADAFW::Node *node,
+ std::map<COLLADAFW::UniqueId, Object*>& object_map,
+ std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
+ COLLADAFW::Transformation::TransformationType tm_type,
+ Object *par_job)
+{
+
+ bool is_rotation = tm_type == COLLADAFW::Transformation::ROTATE;
+ bool is_matrix = tm_type == COLLADAFW::Transformation::MATRIX;
+ bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
+
+ COLLADAFW::Node *root = root_map.find(node->getUniqueId()) == root_map.end() ? node : root_map[node->getUniqueId()];
+ Object *ob = is_joint ? armature_importer->get_armature_for_joint(node) : object_map[node->getUniqueId()];
+ const char *bone_name = is_joint ? bc_get_joint_name(node) : NULL;
+ if (!ob) {
+ fprintf(stderr, "cannot find Object for Node with id=\"%s\"\n", node->getOriginalId().c_str());
+ return NULL;
+ }
+ // frames at which to sample
+ std::vector<float> frames;
+
+ find_frames_old(&frames, node , tm_type);
+
+ unsigned int i;
+
float irest_dae[4][4];
float rest[4][4], irest[4][4];
@@ -664,7 +1243,6 @@ Object *AnimationImporter::translate_animation(COLLADAFW::Node *node,
BLI_snprintf(rna_path, sizeof(rna_path), "%s.%s", joint_path, tm_str);
else
strcpy(rna_path, tm_str);
-
newcu[i] = create_fcurve(axis, rna_path);
#ifdef ARMATURE_TEST
@@ -812,7 +1390,7 @@ Object *AnimationImporter::translate_animation(COLLADAFW::Node *node,
}
// internal, better make it private
-// warning: evaluates only rotation
+// warning: evaluates only rotation and only assigns matrix transforms now
// prerequisites: animlist_map, curve_map
void AnimationImporter::evaluate_transform_at_frame(float mat[4][4], COLLADAFW::Node *node, float fra)
{
@@ -826,9 +1404,12 @@ void AnimationImporter::evaluate_transform_at_frame(float mat[4][4], COLLADAFW::
float m[4][4];
unit_m4(m);
+ if ( type != COLLADAFW::Transformation::MATRIX )
+ continue;
- if (!evaluate_animation(tm, m, fra, node->getOriginalId().c_str())) {
- switch (type) {
+ std::string nodename = node->getName().size() ? node->getName() : node->getOriginalId();
+ if (!evaluate_animation(tm, m, fra, nodename.c_str())) {
+ /*switch (type) {
case COLLADAFW::Transformation::ROTATE:
dae_rotate_to_mat4(tm, m);
break;
@@ -843,7 +1424,9 @@ void AnimationImporter::evaluate_transform_at_frame(float mat[4][4], COLLADAFW::
break;
default:
fprintf(stderr, "unsupported transformation type %d\n", type);
- }
+ }*/
+ dae_matrix_to_mat4(tm, m);
+
}
float temp[4][4];
@@ -860,9 +1443,9 @@ bool AnimationImporter::evaluate_animation(COLLADAFW::Transformation *tm, float
COLLADAFW::Transformation::TransformationType type = tm->getTransformationType();
if (type != COLLADAFW::Transformation::ROTATE &&
- type != COLLADAFW::Transformation::SCALE &&
- type != COLLADAFW::Transformation::TRANSLATE &&
- type != COLLADAFW::Transformation::MATRIX) {
+ type != COLLADAFW::Transformation::SCALE &&
+ type != COLLADAFW::Transformation::TRANSLATE &&
+ type != COLLADAFW::Transformation::MATRIX) {
fprintf(stderr, "animation of transformation %d is not supported yet\n", type);
return false;
}
@@ -879,9 +1462,9 @@ bool AnimationImporter::evaluate_animation(COLLADAFW::Transformation *tm, float
bool is_scale = (type == COLLADAFW::Transformation::SCALE);
bool is_translate = (type == COLLADAFW::Transformation::TRANSLATE);
- if (type == COLLADAFW::Transformation::SCALE)
+ if (is_scale)
dae_scale_to_v3(tm, vec);
- else if (type == COLLADAFW::Transformation::TRANSLATE)
+ else if (is_translate)
dae_translate_to_v3(tm, vec);
for (unsigned int j = 0; j < bindings.getCount(); j++) {
@@ -909,7 +1492,7 @@ bool AnimationImporter::evaluate_animation(COLLADAFW::Transformation *tm, float
if (animclass == COLLADAFW::AnimationList::UNKNOWN_CLASS) {
fprintf(stderr, "%s: UNKNOWN animation class\n", path);
- continue;
+ //continue;
}
if (type == COLLADAFW::Transformation::ROTATE) {
@@ -979,11 +1562,14 @@ bool AnimationImporter::evaluate_animation(COLLADAFW::Transformation *tm, float
i++;
j = 0;
}
+ unused_curves.erase(std::remove(unused_curves.begin(), unused_curves.end(), *it), unused_curves.end());
}
COLLADAFW::Matrix tm(matrix);
dae_matrix_to_mat4(&tm, mat);
+ std::vector<FCurve*>::iterator it;
+
return true;
}
}
@@ -1149,13 +1735,15 @@ void AnimationImporter::add_bone_fcurve(Object *ob, COLLADAFW::Node *node, FCurv
void AnimationImporter::add_bezt(FCurve *fcu, float fra, float value)
{
+ //float fps = (float)FPS;
BezTriple bez;
memset(&bez, 0, sizeof(BezTriple));
- bez.vec[1][0] = fra;
+ bez.vec[1][0] = fra ;
bez.vec[1][1] = value;
- bez.ipo = U.ipo_new; /* use default interpolation mode here... */
+ bez.ipo = BEZT_IPO_LIN ;/* use default interpolation mode here... */
bez.f1 = bez.f2 = bez.f3 = SELECT;
bez.h1 = bez.h2 = HD_AUTO;
insert_bezt_fcurve(fcu, &bez, 0);
calchandles_fcurve(fcu);
}
+
diff --git a/source/blender/collada/AnimationImporter.h b/source/blender/collada/AnimationImporter.h
index 05347a1fbc1..9e8f7b42069 100644
--- a/source/blender/collada/AnimationImporter.h
+++ b/source/blender/collada/AnimationImporter.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory.
+ * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory , Sukhitha Jayathilake.
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -37,10 +37,17 @@
#include "COLLADAFWAnimationList.h"
#include "COLLADAFWNode.h"
#include "COLLADAFWUniqueId.h"
+#include "COLLADAFWLight.h"
+#include "COLLADAFWCamera.h"
+#include "COLLADAFWMaterial.h"
+#include "COLLADAFWEffect.h"
+#include "COLLADAFWInstanceGeometry.h"
#include "DNA_anim_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_camera_types.h"
//#include "ArmatureImporter.h"
#include "TransformReader.h"
@@ -79,6 +86,49 @@ private:
void fcurve_deg_to_rad(FCurve *cu);
void add_fcurves_to_object(Object *ob, std::vector<FCurve*>& curves, char *rna_path, int array_index, Animation *animated);
+
+ int typeFlag;
+
+ enum lightAnim
+ {
+// INANIMATE = 0,
+ LIGHT_COLOR = 2,
+ LIGHT_FOA = 4,
+ LIGHT_FOE = 8
+ };
+
+ enum cameraAnim
+ {
+// INANIMATE = 0,
+ CAMERA_XFOV = 2,
+ CAMERA_XMAG = 4,
+ CAMERA_ZFAR = 8,
+ CAMERA_ZNEAR = 16
+ };
+
+ enum matAnim
+ {
+ MATERIAL_SHININESS = 2,
+ MATERIAL_SPEC_COLOR = 4,
+ MATERIAL_DIFF_COLOR = 1 << 3,
+ MATERIAL_TRANSPARENCY = 1 << 4,
+ MATERIAL_IOR = 1 << 5
+ };
+
+ enum AnimationType
+ {
+ INANIMATE = 0,
+ NODE_TRANSFORM = 1,
+ };
+
+ struct AnimMix
+ {
+ int transform;
+ int light;
+ int camera;
+ int material;
+ int texture;
+ };
public:
AnimationImporter(UnitConverter *conv, ArmatureImporter *arm, Scene *scene);
@@ -95,15 +145,37 @@ public:
virtual void change_eul_to_quat(Object *ob, bAction *act);
#endif
+ void translate_Animations( COLLADAFW::Node * Node ,
+ std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
+ std::map<COLLADAFW::UniqueId, Object*>& object_map ,
+ std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map);
+
+ AnimMix* get_animation_type( const COLLADAFW::Node * node , std::map<COLLADAFW::UniqueId,const COLLADAFW::Object*> FW_object_map ) ;
+
+ void apply_matrix_curves( Object * ob, std::vector<FCurve*>& animcurves, COLLADAFW::Node* root ,COLLADAFW::Node* node,
+ COLLADAFW::Transformation * tm );
+
+ void Assign_transform_animations(COLLADAFW::Transformation* transform ,
+ const COLLADAFW::AnimationList::AnimationBinding * binding,
+ std::vector<FCurve*>* curves, bool is_joint, char * joint_path);
+
+ void Assign_color_animations(const COLLADAFW::UniqueId& listid, ListBase *AnimCurves, const char * anim_type);
+ void Assign_float_animations(const COLLADAFW::UniqueId& listid, ListBase *AnimCurves, const char * anim_type);
+
+ int setAnimType ( const COLLADAFW::Animatable * prop , int type, int addition);
+
+ void modify_fcurve(std::vector<FCurve*>* curves , char* rna_path , int array_index );
// prerequisites:
// animlist_map - map animlist id -> animlist
// curve_map - map anim id -> curve(s)
- Object *translate_animation(COLLADAFW::Node *node,
+ Object * translate_animation_OLD(COLLADAFW::Node *node,
std::map<COLLADAFW::UniqueId, Object*>& object_map,
std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
COLLADAFW::Transformation::TransformationType tm_type,
Object *par_job = NULL);
-
+
+ void find_frames( std::vector<float>* frames , std::vector<FCurve*>* curves );
+ void find_frames_old( std::vector<float>* frames, COLLADAFW::Node * node, COLLADAFW::Transformation::TransformationType tm_type );
// internal, better make it private
// warning: evaluates only rotation
// prerequisites: animlist_map, curve_map
@@ -131,6 +203,8 @@ public:
void add_bone_fcurve(Object *ob, COLLADAFW::Node *node, FCurve *fcu);
void add_bezt(FCurve *fcu, float fra, float value);
+
+ void extra_data_importer(std::string elementName);
};
-
- #endif
+
+#endif
diff --git a/source/blender/collada/ArmatureExporter.cpp b/source/blender/collada/ArmatureExporter.cpp
index 90c3cfbb001..de01c000373 100644
--- a/source/blender/collada/ArmatureExporter.cpp
+++ b/source/blender/collada/ArmatureExporter.cpp
@@ -39,6 +39,7 @@
#include "BKE_action.h"
#include "BKE_armature.h"
+#include "ED_armature.h"
#include "BLI_listbase.h"
@@ -89,14 +90,14 @@ void ArmatureExporter::add_instance_controller(Object *ob)
ins.add();
}
-void ArmatureExporter::export_controllers(Scene *sce)
+void ArmatureExporter::export_controllers(Scene *sce, bool export_selected)
{
scene = sce;
openLibrary();
GeometryFunctor gf;
- gf.forEachMeshObjectInScene<ArmatureExporter>(sce, *this);
+ gf.forEachMeshObjectInScene<ArmatureExporter>(sce, *this, export_selected);
closeLibrary();
}
@@ -177,6 +178,9 @@ void ArmatureExporter::add_bone_node(Bone *bone, Object *ob_arm)
node.setNodeName(node_name);
node.setNodeSid(node_sid);
+ /*if ( bone->childbase.first == NULL || BLI_countlist(&(bone->childbase))>=2)
+ add_blender_leaf_bone( bone, ob_arm , node );
+ else{*/
node.start();
add_bone_transform(ob_arm, bone, node);
@@ -184,10 +188,26 @@ void ArmatureExporter::add_bone_node(Bone *bone, Object *ob_arm)
for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next) {
add_bone_node(child, ob_arm);
}
-
node.end();
+ //}
}
+void ArmatureExporter::add_blender_leaf_bone(Bone *bone, Object *ob_arm, COLLADASW::Node& node)
+{
+ node.start();
+
+ add_bone_transform(ob_arm, bone, node);
+
+ node.addExtraTechniqueParameter("blender", "tip_x", bone->tail[0] );
+ node.addExtraTechniqueParameter("blender", "tip_y", bone->tail[1] );
+ node.addExtraTechniqueParameter("blender", "tip_z", bone->tail[2] );
+
+ for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next) {
+ add_bone_node(child, ob_arm);
+ }
+ node.end();
+
+}
void ArmatureExporter::add_bone_transform(Object *ob_arm, Bone *bone, COLLADASW::Node& node)
{
bPoseChannel *pchan = get_pose_channel(ob_arm->pose, bone->name);
@@ -207,7 +227,7 @@ void ArmatureExporter::add_bone_transform(Object *ob_arm, Bone *bone, COLLADASW:
mul_m4_m4m4(mat, pchan->pose_mat, ob_arm->obmat);
}
- TransformWriter::add_node_transform(node, mat, NULL);
+ TransformWriter::add_node_transform(node, mat,NULL );
}
std::string ArmatureExporter::get_controller_id(Object *ob_arm, Object *ob)
@@ -355,8 +375,8 @@ std::string ArmatureExporter::add_inv_bind_mats_source(Object *ob_arm, ListBase
float world[4][4];
float inv_bind_mat[4][4];
- // make world-space matrix, pose_mat is armature-space
- mul_m4_m4m4(world, pchan->pose_mat, ob_arm->obmat);
+ // make world-space matrix, arm_mat is armature-space
+ mul_m4_m4m4(world, pchan->bone->arm_mat, ob_arm->obmat);
invert_m4_m4(mat, world);
converter.mat4_to_dae(inv_bind_mat, mat);
diff --git a/source/blender/collada/ArmatureExporter.h b/source/blender/collada/ArmatureExporter.h
index f72e5244a36..b3441c797e8 100644
--- a/source/blender/collada/ArmatureExporter.h
+++ b/source/blender/collada/ArmatureExporter.h
@@ -65,7 +65,7 @@ public:
void add_instance_controller(Object *ob);
- void export_controllers(Scene *sce);
+ void export_controllers(Scene *sce, bool export_selected);
void operator()(Object *ob);
@@ -92,6 +92,8 @@ private:
void add_bone_transform(Object *ob_arm, Bone *bone, COLLADASW::Node& node);
+ void add_blender_leaf_bone(Bone *bone, Object *ob_arm, COLLADASW::Node& node);
+
std::string get_controller_id(Object *ob_arm, Object *ob);
// ob should be of type OB_MESH
diff --git a/source/blender/collada/ArmatureImporter.cpp b/source/blender/collada/ArmatureImporter.cpp
index 8987e4ffaf7..19fa54c5044 100644
--- a/source/blender/collada/ArmatureImporter.cpp
+++ b/source/blender/collada/ArmatureImporter.cpp
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
- * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory.
+ * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory, Sukhitha jayathilake.
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -37,17 +37,18 @@
#include "BKE_action.h"
#include "BKE_depsgraph.h"
#include "BKE_object.h"
+#include "BKE_armature.h"
#include "BLI_string.h"
#include "ED_armature.h"
#include "ArmatureImporter.h"
-// use this for retrieving bone names, since these must be unique
+// use node name, or fall back to original id if not present (name is optional)
template<class T>
static const char *bc_get_joint_name(T *node)
{
- const std::string& id = node->getOriginalId();
- return id.size() ? id.c_str() : node->getName().c_str();
+ const std::string& id = node->getName();
+ return id.size() ? id.c_str() : node->getOriginalId().c_str();
}
ArmatureImporter::ArmatureImporter(UnitConverter *conv, MeshImporterBase *mesh, AnimationImporterBase *anim, Scene *sce) :
@@ -78,16 +79,102 @@ JointData *ArmatureImporter::get_joint_data(COLLADAFW::Node *node);
return &joint_index_to_joint_info_map[joint_index];
}
#endif
+void ArmatureImporter::create_unskinned_bone( COLLADAFW::Node *node, EditBone *parent, int totchild,
+ float parent_mat[][4], Object * ob_arm)
+{
+ std::vector<COLLADAFW::Node*>::iterator it;
+ it = std::find(finished_joints.begin(),finished_joints.end(),node);
+ if ( it != finished_joints.end()) return;
+
+ float mat[4][4];
+ float obmat[4][4];
+
+ // object-space
+ get_node_mat(obmat, node, NULL, NULL);
+
+ EditBone *bone = ED_armature_edit_bone_add((bArmature*)ob_arm->data, (char*)bc_get_joint_name(node));
+ totbone++;
+
+ if (parent) bone->parent = parent;
+
+ float angle = 0;
+
+ // get world-space
+ if (parent){
+ mul_m4_m4m4(mat, obmat, parent_mat);
+
+ }
+ else {
+ copy_m4_m4(mat, obmat);
+
+ }
+ float loc[3], size[3], rot[3][3];
+ mat4_to_loc_rot_size( loc, rot, size, obmat);
+ mat3_to_vec_roll(rot, NULL, &angle );
+ bone->roll=angle;
+ // set head
+ copy_v3_v3(bone->head, mat[3]);
+
+
+ // set tail, don't set it to head because 0-length bones are not allowed
+ float vec[3] = {0.0f, 0.5f, 0.0f};
+ add_v3_v3v3(bone->tail, bone->head, vec);
+
+ // set parent tail
+ if (parent && totchild == 1) {
+ copy_v3_v3(parent->tail, bone->head);
+
+ // not setting BONE_CONNECTED because this would lock child bone location with respect to parent
+ // bone->flag |= BONE_CONNECTED;
+
+ // XXX increase this to prevent "very" small bones?
+ const float epsilon = 0.000001f;
+
+ // derive leaf bone length
+ float length = len_v3v3(parent->head, parent->tail);
+ if ((length < leaf_bone_length || totbone == 0) && length > epsilon) {
+ leaf_bone_length = length;
+ }
+
+ // treat zero-sized bone like a leaf bone
+ if (length <= epsilon) {
+ add_leaf_bone(parent_mat, parent, node);
+ }
+
+ }
+
+ COLLADAFW::NodePointerArray& children = node->getChildNodes();
+ for (unsigned int i = 0; i < children.getCount(); i++) {
+ create_unskinned_bone( children[i], bone, children.getCount(), mat, ob_arm);
+ }
+
+ // in second case it's not a leaf bone, but we handle it the same way
+ if (!children.getCount() || children.getCount() > 1) {
+ add_leaf_bone(mat, bone, node);
+ }
+
+ finished_joints.push_back(node);
+
+}
void ArmatureImporter::create_bone(SkinInfo& skin, COLLADAFW::Node *node, EditBone *parent, int totchild,
float parent_mat[][4], bArmature *arm)
{
+ //Checking if bone is already made.
+ std::vector<COLLADAFW::Node*>::iterator it;
+ it = std::find(finished_joints.begin(),finished_joints.end(),node);
+ if ( it != finished_joints.end()) return;
+
float joint_inv_bind_mat[4][4];
// JointData* jd = get_joint_data(node);
float mat[4][4];
+ // TODO rename from Node "name" attrs later
+ EditBone *bone = ED_armature_edit_bone_add(arm, (char*)bc_get_joint_name(node));
+ totbone++;
+
if (skin.get_joint_inv_bind_matrix(joint_inv_bind_mat, node)) {
// get original world-space matrix
invert_m4_m4(mat, joint_inv_bind_mat);
@@ -104,12 +191,14 @@ void ArmatureImporter::create_bone(SkinInfo& skin, COLLADAFW::Node *node, EditBo
mul_m4_m4m4(mat, obmat, parent_mat);
else
copy_m4_m4(mat, obmat);
- }
- // TODO rename from Node "name" attrs later
- EditBone *bone = ED_armature_edit_bone_add(arm, (char*)bc_get_joint_name(node));
- totbone++;
+ float loc[3], size[3], rot[3][3] , angle;
+ mat4_to_loc_rot_size( loc, rot, size, obmat);
+ mat3_to_vec_roll(rot, NULL, &angle );
+ bone->roll=angle;
+ }
+
if (parent) bone->parent = parent;
// set head
@@ -137,7 +226,7 @@ void ArmatureImporter::create_bone(SkinInfo& skin, COLLADAFW::Node *node, EditBo
// treat zero-sized bone like a leaf bone
if (length <= epsilon) {
- add_leaf_bone(parent_mat, parent);
+ add_leaf_bone(parent_mat, parent, node);
}
/*
@@ -175,22 +264,40 @@ void ArmatureImporter::create_bone(SkinInfo& skin, COLLADAFW::Node *node, EditBo
// in second case it's not a leaf bone, but we handle it the same way
if (!children.getCount() || children.getCount() > 1) {
- add_leaf_bone(mat, bone);
+ add_leaf_bone(mat, bone , node);
}
+
+ finished_joints.push_back(node);
}
-void ArmatureImporter::add_leaf_bone(float mat[][4], EditBone *bone)
+void ArmatureImporter::add_leaf_bone(float mat[][4], EditBone *bone, COLLADAFW::Node * node)
{
LeafBone leaf;
leaf.bone = bone;
copy_m4_m4(leaf.mat, mat);
BLI_strncpy(leaf.name, bone->name, sizeof(leaf.name));
-
- leaf_bones.push_back(leaf);
+
+ TagsMap::iterator etit;
+ ExtraTags *et = 0;
+ etit = uid_tags_map.find(node->getUniqueId().toAscii());
+ if(etit != uid_tags_map.end())
+ {
+ et = etit->second;
+ //else return;
+
+ float x,y,z;
+ et->setData("tip_x",&x);
+ et->setData("tip_y",&y);
+ et->setData("tip_z",&z);
+ float vec[3] = {x,y,z};
+ copy_v3_v3(leaf.bone->tail, leaf.bone->head);
+ add_v3_v3v3(leaf.bone->tail, leaf.bone->head, vec);
+ }else
+ leaf_bones.push_back(leaf);
}
-void ArmatureImporter::fix_leaf_bones()
+void ArmatureImporter::fix_leaf_bones( )
{
// just setting tail for leaf bones here
@@ -199,9 +306,10 @@ void ArmatureImporter::fix_leaf_bones()
LeafBone& leaf = *it;
// pointing up
- float vec[3] = {0.0f, 0.0f, 1.0f};
-
- mul_v3_fl(vec, leaf_bone_length);
+ float vec[3] = {0.0f, 0.0f, 0.1f};
+
+ // if parent: take parent length and direction
+ if(leaf.bone->parent) sub_v3_v3v3(vec, leaf.bone->parent->tail, leaf.bone->parent->head);
copy_v3_v3(leaf.bone->tail, leaf.bone->head);
add_v3_v3v3(leaf.bone->tail, leaf.bone->head, vec);
@@ -300,6 +408,46 @@ ArmatureJoints& ArmatureImporter::get_armature_joints(Object *ob_arm)
return armature_joints.back();
}
#endif
+void ArmatureImporter::create_armature_bones( )
+{
+ std::vector<COLLADAFW::Node*>::iterator ri;
+ //if there is an armature created for root_joint next root_joint
+ for (ri = root_joints.begin(); ri != root_joints.end(); ri++) {
+ if ( get_armature_for_joint(*ri) != NULL ) continue;
+
+ //add armature object for current joint
+ //Object *ob_arm = add_object(scene, OB_ARMATURE);
+
+ Object *ob_arm = joint_parent_map[(*ri)->getUniqueId()];
+ //ob_arm->type = OB_ARMATURE;
+ ED_armature_to_edit(ob_arm);
+
+ // min_angle = 360.0f; // minimum angle between bone head-tail and a row of bone matrix
+
+ // create unskinned bones
+ /*
+ TODO:
+ check if bones have already been created for a given joint
+ */
+ leaf_bone_length = FLT_MAX;
+ create_unskinned_bone(*ri, NULL, (*ri)->getChildNodes().getCount(), NULL, ob_arm);
+
+ fix_leaf_bones();
+
+ // exit armature edit mode
+
+ unskinned_armature_map[(*ri)->getUniqueId()] = ob_arm;
+
+ ED_armature_from_edit(ob_arm);
+
+ set_pose(ob_arm , *ri, NULL, NULL );
+
+ ED_armature_edit_free(ob_arm);
+ DAG_id_tag_update(&ob_arm->id, OB_RECALC_OB|OB_RECALC_DATA);
+ }
+
+
+}
void ArmatureImporter::create_armature_bones(SkinInfo& skin)
{
@@ -373,7 +521,7 @@ void ArmatureImporter::create_armature_bones(SkinInfo& skin)
if (shared)
ob_arm = skin.set_armature(shared);
else
- ob_arm = skin.create_armature(scene);
+ ob_arm = skin.create_armature(scene); //once for every armature
// enter armature edit mode
ED_armature_to_edit(ob_arm);
@@ -420,14 +568,60 @@ void ArmatureImporter::create_armature_bones(SkinInfo& skin)
// root - if this joint is the top joint in hierarchy, if a joint
// is a child of a node (not joint), root should be true since
// this is where we build armature bones from
-void ArmatureImporter::add_joint(COLLADAFW::Node *node, bool root, Object *parent)
+
+void ArmatureImporter::set_pose ( Object * ob_arm , COLLADAFW::Node * root_node , char *parentname, float parent_mat[][4])
+{
+ char * bone_name = (char *) bc_get_joint_name ( root_node);
+ float mat[4][4];
+ float obmat[4][4];
+
+ float ax[3];
+ float angle = NULL;
+
+ // object-space
+ get_node_mat(obmat, root_node, NULL, NULL);
+
+ //if(*edbone)
+ bPoseChannel * pchan = get_pose_channel(ob_arm -> pose , bone_name);
+ //else fprintf ( "",
+
+ // get world-space
+ if (parentname){
+ mul_m4_m4m4(mat, obmat, parent_mat);
+ bPoseChannel *parchan = get_pose_channel(ob_arm->pose, parentname);
+
+ mul_m4_m4m4(pchan->pose_mat, mat , parchan->pose_mat);
+
+ }
+ else {
+ copy_m4_m4(mat, obmat);
+ float invObmat[4][4];
+ invert_m4_m4(invObmat, ob_arm->obmat);
+ mul_m4_m4m4(pchan->pose_mat, mat, invObmat);
+
+ }
+
+ mat4_to_axis_angle(ax,&angle,mat);
+ pchan->bone->roll = angle;
+
+
+ COLLADAFW::NodePointerArray& children = root_node->getChildNodes();
+ for (unsigned int i = 0; i < children.getCount(); i++) {
+ set_pose(ob_arm, children[i], bone_name, mat);
+ }
+
+}
+
+void ArmatureImporter::add_joint(COLLADAFW::Node *node, bool root, Object *parent, Scene *sce)
{
joint_by_uid[node->getUniqueId()] = node;
if (root) {
root_joints.push_back(node);
- if (parent)
+ if (parent) {
+
joint_parent_map[node->getUniqueId()] = parent;
+ }
}
}
@@ -472,6 +666,9 @@ void ArmatureImporter::make_armatures(bContext *C)
// free memory stolen from SkinControllerData
skin.free();
}
+
+ //for bones without skins
+ create_armature_bones();
}
#if 0
@@ -549,6 +746,7 @@ bool ArmatureImporter::write_controller(const COLLADAFW::Controller* controller)
return true;
}
+
COLLADAFW::UniqueId *ArmatureImporter::get_geometry_uid(const COLLADAFW::UniqueId& controller_uid)
{
if (geom_uid_by_controller_uid.find(controller_uid) == geom_uid_by_controller_uid.end())
@@ -566,10 +764,20 @@ Object *ArmatureImporter::get_armature_for_joint(COLLADAFW::Node *node)
if (skin.uses_joint_or_descendant(node))
return skin.get_armature();
}
-
+
+ std::map<COLLADAFW::UniqueId, Object*>::iterator arm;
+ for (arm = unskinned_armature_map.begin(); arm != unskinned_armature_map.end(); arm++) {
+ if(arm->first == node->getUniqueId() )
+ return arm->second;
+ }
return NULL;
}
+void ArmatureImporter::set_tags_map(TagsMap & tagsMap)
+{
+ this->uid_tags_map = tagsMap;
+}
+
void ArmatureImporter::get_rna_path_for_joint(COLLADAFW::Node *node, char *joint_path, size_t count)
{
BLI_snprintf(joint_path, count, "pose.bones[\"%s\"]", bc_get_joint_name(node));
@@ -590,3 +798,6 @@ bool ArmatureImporter::get_joint_bind_mat(float m[][4], COLLADAFW::Node *joint)
return found;
}
+
+
+
diff --git a/source/blender/collada/ArmatureImporter.h b/source/blender/collada/ArmatureImporter.h
index d36bccf7e57..a197e612a87 100644
--- a/source/blender/collada/ArmatureImporter.h
+++ b/source/blender/collada/ArmatureImporter.h
@@ -46,6 +46,7 @@ extern "C" {
#include "MeshImporter.h"
#include "SkinInfo.h"
#include "TransformReader.h"
+#include "ExtraTags.h"
#include <map>
#include <vector>
@@ -88,7 +89,9 @@ private:
std::map<COLLADAFW::UniqueId, COLLADAFW::UniqueId> geom_uid_by_controller_uid;
std::map<COLLADAFW::UniqueId, COLLADAFW::Node*> joint_by_uid; // contains all joints
std::vector<COLLADAFW::Node*> root_joints;
+ std::vector<COLLADAFW::Node*> finished_joints;
std::map<COLLADAFW::UniqueId, Object*> joint_parent_map;
+ std::map<COLLADAFW::UniqueId, Object*> unskinned_armature_map;
MeshImporterBase *mesh_importer;
AnimationImporterBase *anim_importer;
@@ -105,9 +108,15 @@ private:
void create_bone(SkinInfo& skin, COLLADAFW::Node *node, EditBone *parent, int totchild,
float parent_mat[][4], bArmature *arm);
- void add_leaf_bone(float mat[][4], EditBone *bone);
+ void create_unskinned_bone(COLLADAFW::Node *node, EditBone *parent, int totchild,
+ float parent_mat[][4], Object * ob_arm);
+
+ void add_leaf_bone(float mat[][4], EditBone *bone, COLLADAFW::Node * node);
void fix_leaf_bones();
+
+ void set_pose ( Object * ob_arm , COLLADAFW::Node * root_node ,char * parentname, float parent_mat[][4]);
+
#if 0
void set_leaf_bone_shapes(Object *ob_arm);
@@ -123,7 +132,11 @@ private:
#endif
void create_armature_bones(SkinInfo& skin);
+ void create_armature_bones( );
+ /** TagsMap typedef for uid_tags_map. */
+ typedef std::map<std::string, ExtraTags*> TagsMap;
+ TagsMap uid_tags_map;
public:
ArmatureImporter(UnitConverter *conv, MeshImporterBase *mesh, AnimationImporterBase *anim, Scene *sce);
@@ -132,7 +145,7 @@ public:
// root - if this joint is the top joint in hierarchy, if a joint
// is a child of a node (not joint), root should be true since
// this is where we build armature bones from
- void add_joint(COLLADAFW::Node *node, bool root, Object *parent);
+ void add_joint(COLLADAFW::Node *node, bool root, Object *parent, Scene *sce);
#if 0
void add_root_joint(COLLADAFW::Node *node);
@@ -151,13 +164,16 @@ public:
bool write_controller(const COLLADAFW::Controller* controller);
COLLADAFW::UniqueId *get_geometry_uid(const COLLADAFW::UniqueId& controller_uid);
-
+
Object *get_armature_for_joint(COLLADAFW::Node *node);
void get_rna_path_for_joint(COLLADAFW::Node *node, char *joint_path, size_t count);
// gives a world-space mat
bool get_joint_bind_mat(float m[][4], COLLADAFW::Node *joint);
+
+ void set_tags_map( TagsMap& tags_map);
+
};
#endif
diff --git a/source/blender/collada/CMakeLists.txt b/source/blender/collada/CMakeLists.txt
index a7e7c973f36..d73373aa901 100644
--- a/source/blender/collada/CMakeLists.txt
+++ b/source/blender/collada/CMakeLists.txt
@@ -28,46 +28,30 @@ remove_strict_flags()
set(INC
.
- ../blenlib
../blenkernel
+ ../blenlib
../blenloader
- ../windowmanager
+ ../editors/include
../makesdna
../makesrna
- ../editors/include
+ ../windowmanager
../../../intern/guardedalloc
)
set(INC_SYS
-
+ ${OPENCOLLADA_INCLUDE_DIRS}
)
-if(APPLE)
- list(APPEND INC_SYS
- ${OPENCOLLADA_INC}/COLLADAStreamWriter
- ${OPENCOLLADA_INC}/COLLADABaseUtils
- ${OPENCOLLADA_INC}/COLLADAFramework
- ${OPENCOLLADA_INC}/COLLADASaxFrameworkLoader
- ${OPENCOLLADA_INC}/GeneratedSaxParser
- )
-else()
- list(APPEND INC_SYS
- ${OPENCOLLADA_INC}/COLLADAStreamWriter/include
- ${OPENCOLLADA_INC}/COLLADABaseUtils/include
- ${OPENCOLLADA_INC}/COLLADAFramework/include
- ${OPENCOLLADA_INC}/COLLADASaxFrameworkLoader/include
- ${OPENCOLLADA_INC}/GeneratedSaxParser/include
- )
-endif()
-
set(SRC
AnimationImporter.cpp
+ AnimationExporter.cpp
ArmatureExporter.cpp
ArmatureImporter.cpp
CameraExporter.cpp
DocumentExporter.cpp
DocumentImporter.cpp
EffectExporter.cpp
+ ErrorHandler.cpp
ExtraHandler.cpp
ExtraTags.cpp
GeometryExporter.cpp
@@ -84,12 +68,14 @@ set(SRC
collada_utils.cpp
AnimationImporter.h
+ AnimationExporter.h
ArmatureExporter.h
ArmatureImporter.h
CameraExporter.h
DocumentExporter.h
DocumentImporter.h
EffectExporter.h
+ ErrorHandler.h
ExtraHandler.h
ExtraTags.h
GeometryExporter.h
@@ -107,7 +93,7 @@ set(SRC
)
if(WITH_BUILDINFO)
- add_definitions(-DNAN_BUILDINFO)
+ add_definitions(-DWITH_BUILDINFO)
endif()
if(CMAKE_COMPILER_IS_GNUCXX)
diff --git a/source/blender/collada/CameraExporter.cpp b/source/blender/collada/CameraExporter.cpp
index f8fa0fd55c0..a935f45c403 100644
--- a/source/blender/collada/CameraExporter.cpp
+++ b/source/blender/collada/CameraExporter.cpp
@@ -42,24 +42,25 @@
CamerasExporter::CamerasExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryCameras(sw){}
template<class Functor>
-void forEachCameraObjectInScene(Scene *sce, Functor &f)
+void forEachCameraObjectInScene(Scene *sce, Functor &f, bool export_selected)
{
Base *base= (Base*) sce->base.first;
while(base) {
Object *ob = base->object;
- if (ob->type == OB_CAMERA && ob->data) {
+ if (ob->type == OB_CAMERA && ob->data
+ && !(export_selected && !(ob->flag & SELECT))) {
f(ob, sce);
}
base= base->next;
}
}
-void CamerasExporter::exportCameras(Scene *sce)
+void CamerasExporter::exportCameras(Scene *sce, bool export_selected)
{
openLibrary();
- forEachCameraObjectInScene(sce, *this);
+ forEachCameraObjectInScene(sce, *this, export_selected);
closeLibrary();
}
@@ -72,19 +73,19 @@ void CamerasExporter::operator()(Object *ob, Scene *sce)
if (cam->type == CAM_PERSP) {
COLLADASW::PerspectiveOptic persp(mSW);
- persp.setXFov(lens_to_angle(cam->lens)*(180.0f/M_PI));
- persp.setAspectRatio((float)(sce->r.xsch)/(float)(sce->r.ysch));
- persp.setZFar(cam->clipend);
- persp.setZNear(cam->clipsta);
+ persp.setXFov(lens_to_angle(cam->lens)*(180.0f/M_PI),"xfov");
+ persp.setAspectRatio((float)(sce->r.xsch)/(float)(sce->r.ysch),false,"aspect_ratio");
+ persp.setZFar(cam->clipend, false , "zfar");
+ persp.setZNear(cam->clipsta,false , "znear");
COLLADASW::Camera ccam(mSW, &persp, cam_id, cam_name);
addCamera(ccam);
}
else {
COLLADASW::OrthographicOptic ortho(mSW);
- ortho.setXMag(cam->ortho_scale);
- ortho.setAspectRatio((float)(sce->r.xsch)/(float)(sce->r.ysch));
- ortho.setZFar(cam->clipend);
- ortho.setZNear(cam->clipsta);
+ ortho.setXMag(cam->ortho_scale,"xmag");
+ ortho.setAspectRatio((float)(sce->r.xsch)/(float)(sce->r.ysch),false,"aspect_ratio");
+ ortho.setZFar(cam->clipend , false , "zfar");
+ ortho.setZNear(cam->clipsta, false , "znear");
COLLADASW::Camera ccam(mSW, &ortho, cam_id, cam_name);
addCamera(ccam);
}
diff --git a/source/blender/collada/CameraExporter.h b/source/blender/collada/CameraExporter.h
index 922eaf6b1d0..999a6ddd3e5 100644
--- a/source/blender/collada/CameraExporter.h
+++ b/source/blender/collada/CameraExporter.h
@@ -40,7 +40,7 @@ class CamerasExporter: COLLADASW::LibraryCameras
{
public:
CamerasExporter(COLLADASW::StreamWriter *sw);
- void exportCameras(Scene *sce);
+ void exportCameras(Scene *sce, bool export_selected);
void operator()(Object *ob, Scene *sce);
};
diff --git a/source/blender/collada/DocumentExporter.cpp b/source/blender/collada/DocumentExporter.cpp
index 00daac60281..6e780889d16 100644
--- a/source/blender/collada/DocumentExporter.cpp
+++ b/source/blender/collada/DocumentExporter.cpp
@@ -52,7 +52,7 @@ extern "C"
#include "BLI_path_util.h"
#include "BLI_fileops.h"
#include "ED_keyframing.h"
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
extern char build_rev[];
#endif
}
@@ -114,6 +114,7 @@ extern char build_rev[];
#include "TransformWriter.h"
#include "ArmatureExporter.h"
+#include "AnimationExporter.h"
#include "CameraExporter.h"
#include "EffectExporter.h"
#include "GeometryExporter.h"
@@ -170,7 +171,7 @@ public:
SceneExporter(COLLADASW::StreamWriter *sw, ArmatureExporter *arm) : COLLADASW::LibraryVisualScenes(sw),
arm_exporter(arm) {}
- void exportScene(Scene *sce) {
+ void exportScene(Scene *sce, bool export_selected) {
// <library_visual_scenes> <visual_scene>
std::string id_naming = id_name(sce);
openVisualScene(translate_id(id_naming), id_naming);
@@ -179,7 +180,7 @@ public:
//forEachMeshObjectInScene(sce, *this);
//forEachCameraObjectInScene(sce, *this);
//forEachLampObjectInScene(sce, *this);
- exportHierarchy(sce);
+ exportHierarchy(sce, export_selected);
// </visual_scene> </library_visual_scenes>
closeVisualScene();
@@ -187,23 +188,28 @@ public:
closeLibrary();
}
- void exportHierarchy(Scene *sce)
+ void exportHierarchy(Scene *sce, bool export_selected)
{
Base *base= (Base*) sce->base.first;
while(base) {
Object *ob = base->object;
if (!ob->parent) {
+ if(sce->lay & ob->lay) {
switch(ob->type) {
case OB_MESH:
case OB_CAMERA:
case OB_LAMP:
- case OB_EMPTY:
case OB_ARMATURE:
+ case OB_EMPTY:
+ if (export_selected && !(ob->flag & SELECT)) {
+ break;
+ }
// write nodes....
writeNodes(ob, sce);
break;
}
+ }
}
base= base->next;
@@ -298,638 +304,8 @@ public:
// TODO: it would be better to instantiate animations rather than create a new one per object
// COLLADA allows this through multiple <channel>s in <animation>.
// For this to work, we need to know objects that use a certain action.
-class AnimationExporter: COLLADASW::LibraryAnimations
-{
- Scene *scene;
- COLLADASW::StreamWriter *sw;
-
-public:
-
- AnimationExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryAnimations(sw) { this->sw = sw; }
-
-
-
- void exportAnimations(Scene *sce)
- {
- if(hasAnimations(sce)) {
- this->scene = sce;
-
- openLibrary();
-
- forEachObjectInScene(sce, *this);
-
- closeLibrary();
- }
- }
-
- // called for each exported object
- void operator() (Object *ob)
- {
- if (!ob->adt || !ob->adt->action) return;
-
- FCurve *fcu = (FCurve*)ob->adt->action->curves.first;
-
- if (ob->type == OB_ARMATURE) {
- if (!ob->data) return;
-
- bArmature *arm = (bArmature*)ob->data;
- for (Bone *bone = (Bone*)arm->bonebase.first; bone; bone = bone->next)
- write_bone_animation(ob, bone);
- }
- else {
- while (fcu) {
- // TODO "rotation_quaternion" is also possible for objects (although euler is default)
- if ((!strcmp(fcu->rna_path, "location") || !strcmp(fcu->rna_path, "scale")) ||
- (!strcmp(fcu->rna_path, "rotation_euler") && ob->rotmode == ROT_MODE_EUL))
- dae_animation(fcu, id_name(ob));
-
- fcu = fcu->next;
- }
- }
- }
-
-protected:
-
- void dae_animation(FCurve *fcu, std::string ob_name)
- {
- const char *axis_names[] = {"X", "Y", "Z"};
- const char *axis_name = NULL;
- char anim_id[200];
-
- if (fcu->array_index < 3)
- axis_name = axis_names[fcu->array_index];
-
- BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
- fcu->rna_path, axis_names[fcu->array_index]);
-
- // check rna_path is one of: rotation, scale, location
-
- openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
-
- // create input source
- std::string input_id = create_source_from_fcurve(COLLADASW::InputSemantic::INPUT, fcu, anim_id, axis_name);
-
- // create output source
- std::string output_id = create_source_from_fcurve(COLLADASW::InputSemantic::OUTPUT, fcu, anim_id, axis_name);
-
- // create interpolations source
- std::string interpolation_id = create_interpolation_source(fcu->totvert, anim_id, axis_name);
-
- std::string sampler_id = std::string(anim_id) + SAMPLER_ID_SUFFIX;
- COLLADASW::LibraryAnimations::Sampler sampler(sw, sampler_id);
- std::string empty;
- sampler.addInput(COLLADASW::InputSemantic::INPUT, COLLADABU::URI(empty, input_id));
- sampler.addInput(COLLADASW::InputSemantic::OUTPUT, COLLADABU::URI(empty, output_id));
-
- // this input is required
- sampler.addInput(COLLADASW::InputSemantic::INTERPOLATION, COLLADABU::URI(empty, interpolation_id));
-
- addSampler(sampler);
-
- std::string target = translate_id(ob_name)
- + "/" + get_transform_sid(fcu->rna_path, -1, axis_name, true);
- addChannel(COLLADABU::URI(empty, sampler_id), target);
-
- closeAnimation();
- }
-
- void write_bone_animation(Object *ob_arm, Bone *bone)
- {
- if (!ob_arm->adt)
- return;
-
- for (int i = 0; i < 3; i++)
- sample_and_write_bone_animation(ob_arm, bone, i);
-
- for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next)
- write_bone_animation(ob_arm, child);
- }
-
- void sample_and_write_bone_animation(Object *ob_arm, Bone *bone, int transform_type)
- {
- bArmature *arm = (bArmature*)ob_arm->data;
- int flag = arm->flag;
- std::vector<float> fra;
- char prefix[256];
-
- BLI_snprintf(prefix, sizeof(prefix), "pose.bones[\"%s\"]", bone->name);
-
- bPoseChannel *pchan = get_pose_channel(ob_arm->pose, bone->name);
- if (!pchan)
- return;
-
- switch (transform_type) {
- case 0:
- find_rotation_frames(ob_arm, fra, prefix, pchan->rotmode);
- break;
- case 1:
- find_frames(ob_arm, fra, prefix, "scale");
- break;
- case 2:
- find_frames(ob_arm, fra, prefix, "location");
- break;
- default:
- return;
- }
-
- // exit rest position
- if (flag & ARM_RESTPOS) {
- arm->flag &= ~ARM_RESTPOS;
- where_is_pose(scene, ob_arm);
- }
-
- if (fra.size()) {
- float *v = (float*)MEM_callocN(sizeof(float) * 3 * fra.size(), "temp. anim frames");
- sample_animation(v, fra, transform_type, bone, ob_arm);
- if (transform_type == 0) {
- // write x, y, z curves separately if it is rotation
- float *c = (float*)MEM_callocN(sizeof(float) * fra.size(), "temp. anim frames");
- for (int i = 0; i < 3; i++) {
- for (unsigned int j = 0; j < fra.size(); j++)
- c[j] = v[j * 3 + i];
-
- dae_bone_animation(fra, c, transform_type, i, id_name(ob_arm), bone->name);
- }
- MEM_freeN(c);
- }
- else {
- // write xyz at once if it is location or scale
- dae_bone_animation(fra, v, transform_type, -1, id_name(ob_arm), bone->name);
- }
-
- MEM_freeN(v);
- }
-
- // restore restpos
- if (flag & ARM_RESTPOS)
- arm->flag = flag;
- where_is_pose(scene, ob_arm);
- }
-
- void sample_animation(float *v, std::vector<float> &frames, int type, Bone *bone, Object *ob_arm)
- {
- bPoseChannel *pchan, *parchan = NULL;
- bPose *pose = ob_arm->pose;
-
- pchan = get_pose_channel(pose, bone->name);
-
- if (!pchan)
- return;
-
- parchan = pchan->parent;
-
- enable_fcurves(ob_arm->adt->action, bone->name);
-
- std::vector<float>::iterator it;
- for (it = frames.begin(); it != frames.end(); it++) {
- float mat[4][4], ipar[4][4];
-
- float ctime = bsystem_time(scene, ob_arm, *it, 0.0f);
-
- BKE_animsys_evaluate_animdata(&ob_arm->id, ob_arm->adt, *it, ADT_RECALC_ANIM);
- where_is_pose_bone(scene, ob_arm, pchan, ctime, 1);
-
- // compute bone local mat
- if (bone->parent) {
- invert_m4_m4(ipar, parchan->pose_mat);
- mul_m4_m4m4(mat, pchan->pose_mat, ipar);
- }
- else
- copy_m4_m4(mat, pchan->pose_mat);
-
- switch (type) {
- case 0:
- mat4_to_eul(v, mat);
- break;
- case 1:
- mat4_to_size(v, mat);
- break;
- case 2:
- copy_v3_v3(v, mat[3]);
- break;
- }
-
- v += 3;
- }
-
- enable_fcurves(ob_arm->adt->action, NULL);
- }
-
- // dae_bone_animation -> add_bone_animation
- // (blend this into dae_bone_animation)
- void dae_bone_animation(std::vector<float> &fra, float *v, int tm_type, int axis, std::string ob_name, std::string bone_name)
- {
- const char *axis_names[] = {"X", "Y", "Z"};
- const char *axis_name = NULL;
- char anim_id[200];
- bool is_rot = tm_type == 0;
-
- if (!fra.size())
- return;
-
- char rna_path[200];
- BLI_snprintf(rna_path, sizeof(rna_path), "pose.bones[\"%s\"].%s", bone_name.c_str(),
- tm_type == 0 ? "rotation_quaternion" : (tm_type == 1 ? "scale" : "location"));
-
- if (axis > -1)
- axis_name = axis_names[axis];
-
- std::string transform_sid = get_transform_sid(NULL, tm_type, axis_name, false);
-
- BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
- (char*)translate_id(bone_name).c_str(), (char*)transform_sid.c_str());
-
- openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
-
- // create input source
- std::string input_id = create_source_from_vector(COLLADASW::InputSemantic::INPUT, fra, is_rot, anim_id, axis_name);
-
- // create output source
- std::string output_id;
- if (axis == -1)
- output_id = create_xyz_source(v, fra.size(), anim_id);
- else
- output_id = create_source_from_array(COLLADASW::InputSemantic::OUTPUT, v, fra.size(), is_rot, anim_id, axis_name);
-
- // create interpolations source
- std::string interpolation_id = create_interpolation_source(fra.size(), anim_id, axis_name);
-
- std::string sampler_id = std::string(anim_id) + SAMPLER_ID_SUFFIX;
- COLLADASW::LibraryAnimations::Sampler sampler(sw, sampler_id);
- std::string empty;
- sampler.addInput(COLLADASW::InputSemantic::INPUT, COLLADABU::URI(empty, input_id));
- sampler.addInput(COLLADASW::InputSemantic::OUTPUT, COLLADABU::URI(empty, output_id));
-
- // TODO create in/out tangents source
-
- // this input is required
- sampler.addInput(COLLADASW::InputSemantic::INTERPOLATION, COLLADABU::URI(empty, interpolation_id));
-
- addSampler(sampler);
-
- std::string target = translate_id(ob_name + "_" + bone_name) + "/" + transform_sid;
- addChannel(COLLADABU::URI(empty, sampler_id), target);
-
- closeAnimation();
- }
-
- float convert_time(float frame)
- {
- return FRA2TIME(frame);
- }
-
- float convert_angle(float angle)
- {
- return COLLADABU::Math::Utils::radToDegF(angle);
- }
-
- std::string get_semantic_suffix(COLLADASW::InputSemantic::Semantics semantic)
- {
- switch(semantic) {
- case COLLADASW::InputSemantic::INPUT:
- return INPUT_SOURCE_ID_SUFFIX;
- case COLLADASW::InputSemantic::OUTPUT:
- return OUTPUT_SOURCE_ID_SUFFIX;
- case COLLADASW::InputSemantic::INTERPOLATION:
- return INTERPOLATION_SOURCE_ID_SUFFIX;
- case COLLADASW::InputSemantic::IN_TANGENT:
- return INTANGENT_SOURCE_ID_SUFFIX;
- case COLLADASW::InputSemantic::OUT_TANGENT:
- return OUTTANGENT_SOURCE_ID_SUFFIX;
- default:
- break;
- }
- return "";
- }
-
- void add_source_parameters(COLLADASW::SourceBase::ParameterNameList& param,
- COLLADASW::InputSemantic::Semantics semantic, bool is_rot, const char *axis)
- {
- switch(semantic) {
- case COLLADASW::InputSemantic::INPUT:
- param.push_back("TIME");
- break;
- case COLLADASW::InputSemantic::OUTPUT:
- if (is_rot) {
- param.push_back("ANGLE");
- }
- else {
- if (axis) {
- param.push_back(axis);
- }
- else {
- param.push_back("X");
- param.push_back("Y");
- param.push_back("Z");
- }
- }
- break;
- case COLLADASW::InputSemantic::IN_TANGENT:
- case COLLADASW::InputSemantic::OUT_TANGENT:
- param.push_back("X");
- param.push_back("Y");
- break;
- default:
- break;
- }
- }
-
- void get_source_values(BezTriple *bezt, COLLADASW::InputSemantic::Semantics semantic, bool rotation, float *values, int *length)
- {
- switch (semantic) {
- case COLLADASW::InputSemantic::INPUT:
- *length = 1;
- values[0] = convert_time(bezt->vec[1][0]);
- break;
- case COLLADASW::InputSemantic::OUTPUT:
- *length = 1;
- if (rotation) {
- values[0] = convert_angle(bezt->vec[1][1]);
- }
- else {
- values[0] = bezt->vec[1][1];
- }
- break;
- case COLLADASW::InputSemantic::IN_TANGENT:
- case COLLADASW::InputSemantic::OUT_TANGENT:
- // XXX
- *length = 2;
- break;
- default:
- *length = 0;
- break;
- }
- }
-
- std::string create_source_from_fcurve(COLLADASW::InputSemantic::Semantics semantic, FCurve *fcu, const std::string& anim_id, const char *axis_name)
- {
- std::string source_id = anim_id + get_semantic_suffix(semantic);
-
- //bool is_rotation = !strcmp(fcu->rna_path, "rotation");
- bool is_rotation = false;
-
- if (strstr(fcu->rna_path, "rotation")) is_rotation = true;
-
- COLLADASW::FloatSourceF source(mSW);
- source.setId(source_id);
- source.setArrayId(source_id + ARRAY_ID_SUFFIX);
- source.setAccessorCount(fcu->totvert);
- source.setAccessorStride(1);
-
- COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
- add_source_parameters(param, semantic, is_rotation, axis_name);
-
- source.prepareToAppendValues();
-
- for (unsigned int i = 0; i < fcu->totvert; i++) {
- float values[3]; // be careful!
- int length = 0;
-
- get_source_values(&fcu->bezt[i], semantic, is_rotation, values, &length);
- for (int j = 0; j < length; j++)
- source.appendValues(values[j]);
- }
-
- source.finish();
-
- return source_id;
- }
-
- std::string create_source_from_array(COLLADASW::InputSemantic::Semantics semantic, float *v, int tot, bool is_rot, const std::string& anim_id, const char *axis_name)
- {
- std::string source_id = anim_id + get_semantic_suffix(semantic);
-
- COLLADASW::FloatSourceF source(mSW);
- source.setId(source_id);
- source.setArrayId(source_id + ARRAY_ID_SUFFIX);
- source.setAccessorCount(tot);
- source.setAccessorStride(1);
-
- COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
- add_source_parameters(param, semantic, is_rot, axis_name);
-
- source.prepareToAppendValues();
-
- for (int i = 0; i < tot; i++) {
- float val = v[i];
- if (semantic == COLLADASW::InputSemantic::INPUT)
- val = convert_time(val);
- else if (is_rot)
- val = convert_angle(val);
- source.appendValues(val);
- }
-
- source.finish();
-
- return source_id;
- }
-
- std::string create_source_from_vector(COLLADASW::InputSemantic::Semantics semantic, std::vector<float> &fra, bool is_rot, const std::string& anim_id, const char *axis_name)
- {
- std::string source_id = anim_id + get_semantic_suffix(semantic);
-
- COLLADASW::FloatSourceF source(mSW);
- source.setId(source_id);
- source.setArrayId(source_id + ARRAY_ID_SUFFIX);
- source.setAccessorCount(fra.size());
- source.setAccessorStride(1);
-
- COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
- add_source_parameters(param, semantic, is_rot, axis_name);
-
- source.prepareToAppendValues();
-
- std::vector<float>::iterator it;
- for (it = fra.begin(); it != fra.end(); it++) {
- float val = *it;
- if (semantic == COLLADASW::InputSemantic::INPUT)
- val = convert_time(val);
- else if (is_rot)
- val = convert_angle(val);
- source.appendValues(val);
- }
-
- source.finish();
-
- return source_id;
- }
-
- // only used for sources with OUTPUT semantic
- std::string create_xyz_source(float *v, int tot, const std::string& anim_id)
- {
- COLLADASW::InputSemantic::Semantics semantic = COLLADASW::InputSemantic::OUTPUT;
- std::string source_id = anim_id + get_semantic_suffix(semantic);
-
- COLLADASW::FloatSourceF source(mSW);
- source.setId(source_id);
- source.setArrayId(source_id + ARRAY_ID_SUFFIX);
- source.setAccessorCount(tot);
- source.setAccessorStride(3);
-
- COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
- add_source_parameters(param, semantic, false, NULL);
-
- source.prepareToAppendValues();
-
- for (int i = 0; i < tot; i++) {
- source.appendValues(*v, *(v + 1), *(v + 2));
- v += 3;
- }
-
- source.finish();
-
- return source_id;
- }
-
- std::string create_interpolation_source(int tot, const std::string& anim_id, const char *axis_name)
- {
- std::string source_id = anim_id + get_semantic_suffix(COLLADASW::InputSemantic::INTERPOLATION);
-
- COLLADASW::NameSource source(mSW);
- source.setId(source_id);
- source.setArrayId(source_id + ARRAY_ID_SUFFIX);
- source.setAccessorCount(tot);
- source.setAccessorStride(1);
-
- COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
- param.push_back("INTERPOLATION");
-
- source.prepareToAppendValues();
-
- for (int i = 0; i < tot; i++) {
- source.appendValues(LINEAR_NAME);
- }
-
- source.finish();
-
- return source_id;
- }
-
- // for rotation, axis name is always appended and the value of append_axis is ignored
- std::string get_transform_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis)
- {
- std::string tm_name;
-
- // when given rna_path, determine tm_type from it
- if (rna_path) {
- char *name = extract_transform_name(rna_path);
-
- if (strstr(name, "rotation"))
- tm_type = 0;
- else if (!strcmp(name, "scale"))
- tm_type = 1;
- else if (!strcmp(name, "location"))
- tm_type = 2;
- else
- tm_type = -1;
- }
-
- switch (tm_type) {
- case 0:
- return std::string("rotation") + std::string(axis_name) + ".ANGLE";
- case 1:
- tm_name = "scale";
- break;
- case 2:
- tm_name = "location";
- break;
- default:
- tm_name = "";
- break;
- }
-
- if (tm_name.size()) {
- if (append_axis)
- return tm_name + std::string(".") + std::string(axis_name);
- else
- return tm_name;
- }
-
- return std::string("");
- }
-
- char *extract_transform_name(char *rna_path)
- {
- char *dot = strrchr(rna_path, '.');
- return dot ? (dot + 1) : rna_path;
- }
-
- void find_frames(Object *ob, std::vector<float> &fra, const char *prefix, const char *tm_name)
- {
- FCurve *fcu= (FCurve*)ob->adt->action->curves.first;
-
- for (; fcu; fcu = fcu->next) {
- if (prefix && strncmp(prefix, fcu->rna_path, strlen(prefix)))
- continue;
-
- char *name = extract_transform_name(fcu->rna_path);
- if (!strcmp(name, tm_name)) {
- for (unsigned int i = 0; i < fcu->totvert; i++) {
- float f = fcu->bezt[i].vec[1][0];
- if (std::find(fra.begin(), fra.end(), f) == fra.end())
- fra.push_back(f);
- }
- }
- }
-
- // keep the keys in ascending order
- std::sort(fra.begin(), fra.end());
- }
-
- void find_rotation_frames(Object *ob, std::vector<float> &fra, const char *prefix, int rotmode)
- {
- if (rotmode > 0)
- find_frames(ob, fra, prefix, "rotation_euler");
- else if (rotmode == ROT_MODE_QUAT)
- find_frames(ob, fra, prefix, "rotation_quaternion");
- /*else if (rotmode == ROT_MODE_AXISANGLE)
- ;*/
- }
-
- // enable fcurves driving a specific bone, disable all the rest
- // if bone_name = NULL enable all fcurves
- void enable_fcurves(bAction *act, char *bone_name)
- {
- FCurve *fcu;
- char prefix[200];
-
- if (bone_name)
- BLI_snprintf(prefix, sizeof(prefix), "pose.bones[\"%s\"]", bone_name);
-
- for (fcu = (FCurve*)act->curves.first; fcu; fcu = fcu->next) {
- if (bone_name) {
- if (!strncmp(fcu->rna_path, prefix, strlen(prefix)))
- fcu->flag &= ~FCURVE_DISABLED;
- else
- fcu->flag |= FCURVE_DISABLED;
- }
- else {
- fcu->flag &= ~FCURVE_DISABLED;
- }
- }
- }
-
- bool hasAnimations(Scene *sce)
- {
- Base *base= (Base*) sce->base.first;
- while(base) {
- Object *ob = base->object;
-
- FCurve *fcu = 0;
- if(ob->adt && ob->adt->action)
- fcu = (FCurve*)ob->adt->action->curves.first;
-
- if ((ob->type == OB_ARMATURE && ob->data) || fcu) {
- return true;
- }
- base= base->next;
- }
- return false;
- }
-};
-
-void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename)
+void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename, bool selected)
{
PointerRNA sceneptr, unit_settings;
PropertyRNA *system; /* unused , *scale; */
@@ -952,9 +328,7 @@ void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename)
//scale = RNA_struct_find_property(&unit_settings, "scale_length");
std::string unitname = "meter";
- float linearmeasure = 1.0f;
-
- linearmeasure = RNA_float_get(&unit_settings, "scale_length");
+ float linearmeasure = RNA_float_get(&unit_settings, "scale_length");
switch(RNA_property_enum_get(&unit_settings, system)) {
case USER_UNIT_NONE:
@@ -992,14 +366,13 @@ void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename)
asset.setUnit(unitname, linearmeasure);
asset.setUpAxisType(COLLADASW::Asset::Z_UP);
- // TODO: need an Author field in userpref
- if(strlen(U.author) > 0) {
+ if(U.author[0] != '\0') {
asset.getContributor().mAuthor = U.author;
}
else {
asset.getContributor().mAuthor = "Blender User";
}
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
char version_buf[128];
sprintf(version_buf, "Blender %d.%02d.%d r%s", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION, build_rev);
asset.getContributor().mAuthoringTool = version_buf;
@@ -1011,31 +384,31 @@ void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename)
// <library_cameras>
if(has_object_type(sce, OB_CAMERA)) {
CamerasExporter ce(&sw);
- ce.exportCameras(sce);
+ ce.exportCameras(sce, selected);
}
// <library_lights>
if(has_object_type(sce, OB_LAMP)) {
LightsExporter le(&sw);
- le.exportLights(sce);
+ le.exportLights(sce, selected);
}
// <library_images>
ImagesExporter ie(&sw, filename);
- ie.exportImages(sce);
+ ie.exportImages(sce, selected);
// <library_effects>
EffectsExporter ee(&sw);
- ee.exportEffects(sce);
+ ee.exportEffects(sce, selected);
// <library_materials>
MaterialsExporter me(&sw);
- me.exportMaterials(sce);
+ me.exportMaterials(sce, selected);
// <library_geometries>
if(has_object_type(sce, OB_MESH)) {
GeometryExporter ge(&sw);
- ge.exportGeom(sce);
+ ge.exportGeom(sce, selected);
}
// <library_animations>
@@ -1045,12 +418,12 @@ void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename)
// <library_controllers>
ArmatureExporter arm_exporter(&sw);
if(has_object_type(sce, OB_ARMATURE)) {
- arm_exporter.export_controllers(sce);
+ arm_exporter.export_controllers(sce, selected);
}
// <library_visual_scenes>
SceneExporter se(&sw, &arm_exporter);
- se.exportScene(sce);
+ se.exportScene(sce, selected);
// <scene>
std::string scene_name(translate_id(id_name(sce)));
diff --git a/source/blender/collada/DocumentExporter.h b/source/blender/collada/DocumentExporter.h
index 9d6d2114cd8..923313c4ed9 100644
--- a/source/blender/collada/DocumentExporter.h
+++ b/source/blender/collada/DocumentExporter.h
@@ -34,7 +34,7 @@ struct Scene;
class DocumentExporter
{
public:
- void exportCurrentScene(Scene *sce, const char* filename);
+ void exportCurrentScene(Scene *sce, const char* filename, bool selected);
void exportScenes(const char* filename);
};
diff --git a/source/blender/collada/DocumentImporter.cpp b/source/blender/collada/DocumentImporter.cpp
index 72341e1caa2..366837421e3 100644
--- a/source/blender/collada/DocumentImporter.cpp
+++ b/source/blender/collada/DocumentImporter.cpp
@@ -76,6 +76,7 @@
#include "MEM_guardedalloc.h"
#include "ExtraHandler.h"
+#include "ErrorHandler.h"
#include "DocumentImporter.h"
#include "TransformReader.h"
@@ -113,17 +114,19 @@ DocumentImporter::~DocumentImporter()
bool DocumentImporter::import()
{
- /** TODO Add error handler (implement COLLADASaxFWL::IErrorHandler */
- COLLADASaxFWL::Loader loader;
+ ErrorHandler errorHandler;
+ COLLADASaxFWL::Loader loader(&errorHandler);
COLLADAFW::Root root(&loader, this);
- ExtraHandler *ehandler = new ExtraHandler(this);
+ ExtraHandler *ehandler = new ExtraHandler(this, &(this->anim_importer));
loader.registerExtraDataCallbackHandler(ehandler);
-
if (!root.loadDocument(mFilename))
return false;
+ if(errorHandler.hasError())
+ return false;
+
/** TODO set up scene graph and such here */
mImportStage = Controller;
@@ -190,7 +193,7 @@ void DocumentImporter::finish()
write_node(roots[i], NULL, sce, NULL, false);
}
}
-
+ armature_importer.set_tags_map(this->uid_tags_map);
armature_importer.make_armatures(mContext);
#if 0
@@ -240,22 +243,23 @@ void DocumentImporter::translate_anim_recursive(COLLADAFW::Node *node, COLLADAFW
root_map[node->getUniqueId()] = root_map[par->getUniqueId()];
}
- COLLADAFW::Transformation::TransformationType types[] = {
+ /*COLLADAFW::Transformation::TransformationType types[] = {
COLLADAFW::Transformation::ROTATE,
COLLADAFW::Transformation::SCALE,
COLLADAFW::Transformation::TRANSLATE,
COLLADAFW::Transformation::MATRIX
};
+ Object *ob;*/
unsigned int i;
- Object *ob;
- for (i = 0; i < 4; i++)
- ob = anim_importer.translate_animation(node, object_map, root_map, types[i]);
+ //for (i = 0; i < 4; i++)
+ //ob =
+ anim_importer.translate_Animations(node, root_map, object_map, FW_object_map);
COLLADAFW::NodePointerArray &children = node->getChildNodes();
for (i = 0; i < children.getCount(); i++) {
- translate_anim_recursive(children[i], node, ob);
+ translate_anim_recursive(children[i], node, NULL);
}
}
@@ -309,7 +313,7 @@ Object* DocumentImporter::create_lamp_object(COLLADAFW::InstanceLight *lamp, Sce
return ob;
}
-Object* DocumentImporter::create_instance_node(Object *source_ob, COLLADAFW::Node *source_node, COLLADAFW::Node *instance_node, Scene *sce, bool is_library_node)
+Object* DocumentImporter::create_instance_node(Object *source_ob, COLLADAFW::Node *source_node, COLLADAFW::Node *instance_node, Scene *sce, Object *par_ob, bool is_library_node)
{
Object *obn = copy_object(source_ob);
obn->recalc |= OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME;
@@ -353,10 +357,10 @@ Object* DocumentImporter::create_instance_node(Object *source_ob, COLLADAFW::Nod
Object *new_child = NULL;
if (inodes.getCount()) { // \todo loop through instance nodes
const COLLADAFW::UniqueId& id = inodes[0]->getInstanciatedObjectId();
- new_child = create_instance_node(object_map[id], node_map[id], child_node, sce, is_library_node);
+ new_child = create_instance_node(object_map[id], node_map[id], child_node, sce, NULL, is_library_node);
}
else {
- new_child = create_instance_node(object_map[child_id], child_node, NULL, sce, is_library_node);
+ new_child = create_instance_node(object_map[child_id], child_node, NULL, sce, NULL, is_library_node);
}
bc_set_parent(new_child, obn, mContext, true);
@@ -367,7 +371,12 @@ Object* DocumentImporter::create_instance_node(Object *source_ob, COLLADAFW::Nod
// when we have an instance_node, don't return the object, because otherwise
// its correct location gets overwritten in write_node(). Fixes bug #26012.
- if(instance_node) return NULL;
+ if(instance_node) {
+ if (par_ob && obn)
+ bc_set_parent(obn, par_ob, mContext);
+ return NULL;
+ }
+
else return obn;
}
@@ -377,7 +386,14 @@ void DocumentImporter::write_node (COLLADAFW::Node *node, COLLADAFW::Node *paren
bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
if (is_joint) {
- armature_importer.add_joint(node, parent_node == NULL || parent_node->getType() != COLLADAFW::Node::JOINT, par);
+ if ( par ) {
+ Object * empty = par;
+ par = add_object(sce, OB_ARMATURE);
+ bc_set_parent(par,empty->parent, mContext);
+ //remove empty : todo
+ object_map[parent_node->getUniqueId()] = par;
+ }
+ armature_importer.add_joint(node, parent_node == NULL || parent_node->getType() != COLLADAFW::Node::JOINT, par, sce);
}
else {
COLLADAFW::InstanceGeometryPointerArray &geom = node->getInstanceGeometries();
@@ -385,11 +401,11 @@ void DocumentImporter::write_node (COLLADAFW::Node *node, COLLADAFW::Node *paren
COLLADAFW::InstanceLightPointerArray &lamp = node->getInstanceLights();
COLLADAFW::InstanceControllerPointerArray &controller = node->getInstanceControllers();
COLLADAFW::InstanceNodePointerArray &inst_node = node->getInstanceNodes();
- int geom_done = 0;
- int camera_done = 0;
- int lamp_done = 0;
- int controller_done = 0;
- int inst_done = 0;
+ size_t geom_done = 0;
+ size_t camera_done = 0;
+ size_t lamp_done = 0;
+ size_t controller_done = 0;
+ size_t inst_done = 0;
// XXX linking object with the first <instance_geometry>, though a node may have more of them...
// maybe join multiple <instance_...> meshes into 1, and link object with it? not sure...
@@ -423,7 +439,7 @@ void DocumentImporter::write_node (COLLADAFW::Node *node, COLLADAFW::Node *paren
Object *source_ob = object_map[node_id];
COLLADAFW::Node *source_node = node_map[node_id];
- ob = create_instance_node(source_ob, source_node, node, sce, is_library_node);
+ ob = create_instance_node(source_ob, source_node, node, sce, par, is_library_node);
}
++inst_done;
}
@@ -436,7 +452,8 @@ void DocumentImporter::write_node (COLLADAFW::Node *node, COLLADAFW::Node *paren
// check if object is not NULL
if (!ob) return;
- rename_id(&ob->id, (char*)node->getOriginalId().c_str());
+ std::string nodename = node->getName().size() ? node->getName() : node->getOriginalId();
+ rename_id(&ob->id, (char*)nodename.c_str());
object_map[node->getUniqueId()] = ob;
node_map[node->getUniqueId()] = node;
@@ -518,7 +535,7 @@ bool DocumentImporter::writeMaterial( const COLLADAFW::Material* cmat )
if(mImportStage!=General)
return true;
- const std::string& str_mat_id = cmat->getOriginalId();
+ const std::string& str_mat_id = cmat->getName().size() ? cmat->getName() : cmat->getOriginalId();
Material *ma = add_material((char*)str_mat_id.c_str());
this->uid_effect_map[cmat->getInstantiatedEffect()] = ma;
@@ -670,6 +687,18 @@ void DocumentImporter::write_profile_COMMON(COLLADAFW::EffectCommon *ef, Materia
i++;
}
}
+
+ if(ef->getOpacity().isTexture()) {
+ COLLADAFW::Texture ctex = ef->getOpacity().getTexture();
+ mtex = create_texture(ef, ctex, ma, i, texindex_texarray_map);
+ if(mtex != NULL) {
+ mtex->mapto = MAP_ALPHA;
+ mtex->tex->imaflag |= TEX_USEALPHA;
+ i++;
+ ma->spectra = ma->alpha = 0;
+ ma->mode |= MA_ZTRANSP|MA_TRANSP;
+ }
+ }
// TRANSPARENT
// color
// if (ef->getOpacity().isColor()) {
@@ -696,13 +725,21 @@ bool DocumentImporter::writeEffect( const COLLADAFW::Effect* effect )
return true;
const COLLADAFW::UniqueId& uid = effect->getUniqueId();
+
if (uid_effect_map.find(uid) == uid_effect_map.end()) {
fprintf(stderr, "Couldn't find a material by UID.\n");
return true;
}
Material *ma = uid_effect_map[uid];
-
+ std::map<COLLADAFW::UniqueId, Material*>::iterator iter;
+ for(iter = uid_material_map.begin(); iter != uid_material_map.end() ; iter++ )
+ {
+ if ( iter->second == ma ) {
+ this->FW_object_map[iter->first] = effect;
+ break;
+ }
+ }
COLLADAFW::CommonEffectPointerArray common_efs = effect->getCommonEffects();
if (common_efs.getCount() < 1) {
fprintf(stderr, "Couldn't find <profile_COMMON>.\n");
@@ -712,7 +749,8 @@ bool DocumentImporter::writeEffect( const COLLADAFW::Effect* effect )
// Currently only first <profile_common> is supported
COLLADAFW::EffectCommon *ef = common_efs[0];
write_profile_COMMON(ef, ma);
-
+ this->FW_object_map[effect->getUniqueId()] = effect;
+
return true;
}
@@ -828,6 +866,7 @@ bool DocumentImporter::writeCamera( const COLLADAFW::Camera* camera )
}
this->uid_camera_map[camera->getUniqueId()] = cam;
+ this->FW_object_map[camera->getUniqueId()] = camera;
// XXX import camera options
return true;
}
@@ -959,12 +998,12 @@ bool DocumentImporter::writeLight( const COLLADAFW::Light* light )
if(IS_EQ(linatt, 0.0f) && quadatt > 0.0f) {
att2 = quadatt;
- d = (1.0f/quadatt) * 2;
+ d = sqrt(1.0f/quadatt);
}
// linear light
else if(IS_EQ(quadatt, 0.0f) && linatt > 0.0f) {
att1 = linatt;
- d = (1.0f/linatt) * 2;
+ d = (1.0f/linatt);
} else if (IS_EQ(constatt, 1.0f)) {
att1 = 1.0f;
} else {
@@ -987,9 +1026,12 @@ bool DocumentImporter::writeLight( const COLLADAFW::Light* light )
case COLLADAFW::Light::SPOT_LIGHT:
{
lamp->type = LA_SPOT;
- lamp->falloff_type = LA_FALLOFF_INVSQUARE;
lamp->att1 = att1;
lamp->att2 = att2;
+ if(IS_EQ(att1, 0.0f) && att2 > 0)
+ lamp->falloff_type = LA_FALLOFF_INVSQUARE;
+ if(IS_EQ(att2, 0.0f) && att1 > 0)
+ lamp->falloff_type = LA_FALLOFF_INVLINEAR;
lamp->spotsize = light->getFallOffAngle().getValue();
lamp->spotblend = light->getFallOffExponent().getValue();
}
@@ -1004,9 +1046,12 @@ bool DocumentImporter::writeLight( const COLLADAFW::Light* light )
case COLLADAFW::Light::POINT_LIGHT:
{
lamp->type = LA_LOCAL;
- lamp->falloff_type = LA_FALLOFF_INVSQUARE;
lamp->att1 = att1;
lamp->att2 = att2;
+ if(IS_EQ(att1, 0.0f) && att2 > 0)
+ lamp->falloff_type = LA_FALLOFF_INVSQUARE;
+ if(IS_EQ(att2, 0.0f) && att1 > 0)
+ lamp->falloff_type = LA_FALLOFF_INVLINEAR;
}
break;
case COLLADAFW::Light::UNDEFINED:
@@ -1019,6 +1064,7 @@ bool DocumentImporter::writeLight( const COLLADAFW::Light* light )
}
this->uid_lamp_map[light->getUniqueId()] = lamp;
+ this->FW_object_map[light->getUniqueId()] = light;
return true;
}
diff --git a/source/blender/collada/DocumentImporter.h b/source/blender/collada/DocumentImporter.h
index e57d621eeef..a347eed3e5a 100644
--- a/source/blender/collada/DocumentImporter.h
+++ b/source/blender/collada/DocumentImporter.h
@@ -38,6 +38,8 @@
#include "COLLADAFWController.h"
#include "COLLADAFWMorphController.h"
#include "COLLADAFWSkinController.h"
+#include "COLLADAFWEffectCommon.h"
+
#include "BKE_object.h"
@@ -45,7 +47,7 @@
#include "AnimationImporter.h"
#include "ArmatureImporter.h"
#include "MeshImporter.h"
-#include "ExtraTags.h"
+
struct Main;
@@ -72,7 +74,7 @@ public:
/** these should not be here */
Object* create_camera_object(COLLADAFW::InstanceCamera*, Scene*);
Object* create_lamp_object(COLLADAFW::InstanceLight*, Scene*);
- Object* create_instance_node(Object*, COLLADAFW::Node*, COLLADAFW::Node*, Scene*, bool);
+ Object* create_instance_node(Object*, COLLADAFW::Node*, COLLADAFW::Node*, Scene*, Object*, bool);
void write_node(COLLADAFW::Node*, COLLADAFW::Node*, Scene*, Object*, bool);
MTex* create_texture(COLLADAFW::EffectCommon*, COLLADAFW::Texture&, Material*, int, TexIndexTextureArrayMap&);
void write_profile_COMMON(COLLADAFW::EffectCommon*, Material*);
@@ -155,8 +157,9 @@ private:
std::map<COLLADAFW::UniqueId, COLLADAFW::Node*> node_map;
std::vector<const COLLADAFW::VisualScene*> vscenes;
std::vector<Object*> libnode_ob;
-
+
std::map<COLLADAFW::UniqueId, COLLADAFW::Node*> root_map; // find root joint by child joint uid, for bone tree evaluation during resampling
+ std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map;
};
diff --git a/source/blender/collada/EffectExporter.cpp b/source/blender/collada/EffectExporter.cpp
index ff714533199..355e384d000 100644
--- a/source/blender/collada/EffectExporter.cpp
+++ b/source/blender/collada/EffectExporter.cpp
@@ -78,12 +78,12 @@ bool EffectsExporter::hasEffects(Scene *sce)
return false;
}
-void EffectsExporter::exportEffects(Scene *sce)
+void EffectsExporter::exportEffects(Scene *sce, bool export_selected)
{
if(hasEffects(sce)) {
openLibrary();
MaterialFunctor mf;
- mf.forEachMaterialInScene<EffectsExporter>(sce, *this);
+ mf.forEachMaterialInScene<EffectsExporter>(sce, *this, export_selected);
closeLibrary();
}
@@ -94,10 +94,10 @@ void EffectsExporter::writeBlinn(COLLADASW::EffectProfile &ep, Material *ma)
COLLADASW::ColorOrTexture cot;
ep.setShaderType(COLLADASW::EffectProfile::BLINN);
// shininess
- ep.setShininess(ma->har);
+ ep.setShininess(ma->har, false , "shininess");
// specular
cot = getcol(ma->specr, ma->specg, ma->specb, 1.0f);
- ep.setSpecular(cot);
+ ep.setSpecular(cot, false , "specular" );
}
void EffectsExporter::writeLambert(COLLADASW::EffectProfile &ep, Material *ma)
@@ -111,10 +111,10 @@ void EffectsExporter::writePhong(COLLADASW::EffectProfile &ep, Material *ma)
COLLADASW::ColorOrTexture cot;
ep.setShaderType(COLLADASW::EffectProfile::PHONG);
// shininess
- ep.setShininess(ma->har);
+ ep.setShininess(ma->har , false , "shininess" );
// specular
cot = getcol(ma->specr, ma->specg, ma->specb, 1.0f);
- ep.setSpecular(cot);
+ ep.setSpecular(cot, false , "specular" );
}
void EffectsExporter::operator()(Material *ma, Object *ob)
@@ -150,10 +150,10 @@ void EffectsExporter::operator()(Material *ma, Object *ob)
// index of refraction
if (ma->mode & MA_RAYTRANSP) {
- ep.setIndexOfRefraction(ma->ang);
+ ep.setIndexOfRefraction(ma->ang, false , "index_of_refraction");
}
else {
- ep.setIndexOfRefraction(1.0f);
+ ep.setIndexOfRefraction(1.0f, false , "index_of_refraction");
}
COLLADASW::ColorOrTexture cot;
@@ -161,22 +161,22 @@ void EffectsExporter::operator()(Material *ma, Object *ob)
// transparency
if (ma->mode & MA_TRANSP) {
// Tod: because we are in A_ONE mode transparency is calculated like this:
- ep.setTransparency(ma->alpha);
+ ep.setTransparency(ma->alpha, false , "transparency");
// cot = getcol(1.0f, 1.0f, 1.0f, 1.0f);
// ep.setTransparent(cot);
}
// emission
cot=getcol(ma->emit, ma->emit, ma->emit, 1.0f);
- ep.setEmission(cot);
+ ep.setEmission(cot, false , "emission");
// diffuse multiplied by diffuse intensity
cot = getcol(ma->r * ma->ref, ma->g * ma->ref, ma->b * ma->ref, 1.0f);
- ep.setDiffuse(cot);
+ ep.setDiffuse(cot, false , "diffuse");
// ambient
cot = getcol(ma->ambr, ma->ambg, ma->ambb, 1.0f);
- ep.setAmbient(cot);
+ ep.setAmbient(cot, false , "ambient");
// reflective, reflectivity
if (ma->mode & MA_RAYMIRROR) {
@@ -193,7 +193,7 @@ void EffectsExporter::operator()(Material *ma, Object *ob)
// specular
if (ep.getShaderType() != COLLADASW::EffectProfile::LAMBERT) {
cot = getcol(ma->specr * ma->spec, ma->specg * ma->spec, ma->specb * ma->spec, 1.0f);
- ep.setSpecular(cot);
+ ep.setSpecular(cot, false , "specular");
}
// XXX make this more readable if possible
@@ -273,20 +273,20 @@ void EffectsExporter::operator()(Material *ma, Object *ob)
std::string uvname = strlen(t->uvname) ? t->uvname : active_uv;
// color
- if (t->mapto & MAP_COL) {
- ep.setDiffuse(createTexture(ima, uvname, sampler));
+ if (t->mapto & (MAP_COL | MAP_COLSPEC)) {
+ ep.setDiffuse(createTexture(ima, uvname, sampler), false , "diffuse");
}
// ambient
if (t->mapto & MAP_AMB) {
- ep.setAmbient(createTexture(ima, uvname, sampler));
+ ep.setAmbient(createTexture(ima, uvname, sampler), false , "ambient");
}
// specular
if (t->mapto & MAP_SPEC) {
- ep.setSpecular(createTexture(ima, uvname, sampler));
+ ep.setSpecular(createTexture(ima, uvname, sampler), false , "specular");
}
// emission
if (t->mapto & MAP_EMIT) {
- ep.setEmission(createTexture(ima, uvname, sampler));
+ ep.setEmission(createTexture(ima, uvname, sampler), false , "emission");
}
// reflective
if (t->mapto & MAP_REF) {
diff --git a/source/blender/collada/EffectExporter.h b/source/blender/collada/EffectExporter.h
index 2b25d1b889f..86143ae4d07 100644
--- a/source/blender/collada/EffectExporter.h
+++ b/source/blender/collada/EffectExporter.h
@@ -47,7 +47,7 @@ class EffectsExporter: COLLADASW::LibraryEffects
{
public:
EffectsExporter(COLLADASW::StreamWriter *sw);
- void exportEffects(Scene *sce);
+ void exportEffects(Scene *sce, bool export_selected);
void operator()(Material *ma, Object *ob);
diff --git a/source/blender/collada/ErrorHandler.cpp b/source/blender/collada/ErrorHandler.cpp
new file mode 100644
index 00000000000..7108dbad18a
--- /dev/null
+++ b/source/blender/collada/ErrorHandler.cpp
@@ -0,0 +1,90 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Nathan Letwory.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/collada/ErrorHandler.cpp
+ * \ingroup collada
+ */
+#include "ErrorHandler.h"
+#include <iostream>
+
+#include "COLLADASaxFWLIError.h"
+#include "COLLADASaxFWLSaxParserError.h"
+#include "COLLADASaxFWLSaxFWLError.h"
+
+#include "GeneratedSaxParserParserError.h"
+
+#include <string.h>
+
+//--------------------------------------------------------------------
+ErrorHandler::ErrorHandler() : mError(false)
+{
+}
+
+//--------------------------------------------------------------------
+ErrorHandler::~ErrorHandler()
+{
+}
+
+//--------------------------------------------------------------------
+bool ErrorHandler::handleError( const COLLADASaxFWL::IError* error )
+{
+ if ( error->getErrorClass() == COLLADASaxFWL::IError::ERROR_SAXPARSER )
+ {
+ COLLADASaxFWL::SaxParserError* saxParserError = (COLLADASaxFWL::SaxParserError*) error;
+ const GeneratedSaxParser::ParserError& parserError = saxParserError->getError();
+
+ // Workaround to avoid wrong error
+ if ( parserError.getErrorType() == GeneratedSaxParser::ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED)
+ {
+ if ( strcmp(parserError.getElement(), "effect") == 0 )
+ {
+ return false;
+ }
+ }
+ if ( parserError.getErrorType() == GeneratedSaxParser::ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT)
+ {
+ if ( (strcmp(parserError.getElement(), "extra") == 0)
+ && (strcmp(parserError.getAdditionalText().c_str(), "sibling: fx_profile_abstract") == 0))
+ {
+ return false;
+ }
+ }
+
+ if ( parserError.getErrorType() == GeneratedSaxParser::ParserError::ERROR_COULD_NOT_OPEN_FILE)
+ {
+ std::cout << "Couldn't open file" << std::endl;
+ mError = true;
+ }
+
+ std::cout << "Schema validation error: " << parserError.getErrorMessage() << std::endl;
+ mError = true;
+ }
+ else if ( error->getErrorClass() == COLLADASaxFWL::IError::ERROR_SAXFWL )
+ {
+ COLLADASaxFWL::SaxFWLError* saxFWLError = (COLLADASaxFWL::SaxFWLError*) error;
+ std::cout << "Sax FWL Error: " << saxFWLError->getErrorMessage() << std::endl;
+ mError = true;
+ }
+ return false;
+}
diff --git a/source/blender/collada/ErrorHandler.h b/source/blender/collada/ErrorHandler.h
new file mode 100644
index 00000000000..4064abb89f6
--- /dev/null
+++ b/source/blender/collada/ErrorHandler.h
@@ -0,0 +1,58 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Nathan Letwory.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/collada/ErrorHandler.h
+ * \ingroup collada
+ */
+
+#include <string>
+#include <map>
+#include <vector>
+#include <algorithm> // sort()
+
+#include "COLLADASaxFWLIErrorHandler.h"
+
+/** \brief Handler class for parser errors
+ */
+class ErrorHandler : public COLLADASaxFWL::IErrorHandler
+{
+public:
+ /** Constructor. */
+ ErrorHandler();
+
+ /** Destructor. */
+ virtual ~ErrorHandler();
+ /** handle any error thrown by the parser. */
+ bool virtual handleError(const COLLADASaxFWL::IError* error);
+ /** True if there was an error during parsing. */
+ bool hasError() { return mError; }
+private:
+ /** Disable default copy ctor. */
+ ErrorHandler( const ErrorHandler& pre );
+ /** Disable default assignment operator. */
+ const ErrorHandler& operator= ( const ErrorHandler& pre );
+ /** Hold error status. */
+ bool mError;
+};
+
diff --git a/source/blender/collada/ExtraHandler.cpp b/source/blender/collada/ExtraHandler.cpp
index 9999a61a470..820665ad757 100644
--- a/source/blender/collada/ExtraHandler.cpp
+++ b/source/blender/collada/ExtraHandler.cpp
@@ -31,9 +31,10 @@
#include "ExtraHandler.h"
-ExtraHandler::ExtraHandler(DocumentImporter *dimp) : currentExtraTags(0)
+ExtraHandler::ExtraHandler(DocumentImporter *dimp, AnimationImporter *aimp) : currentExtraTags(0)
{
this->dimp = dimp;
+ this->aimp = aimp;
}
ExtraHandler::~ExtraHandler() {}
@@ -42,6 +43,7 @@ bool ExtraHandler::elementBegin( const char* elementName, const char** attribute
{
// \todo attribute handling for profile tags
currentElement = std::string(elementName);
+ //addToSidTree(attributes[0], attributes[1]);
return true;
}
@@ -54,7 +56,7 @@ bool ExtraHandler::textData(const char* text, size_t textLength)
{
char buf[1024];
- if(currentElement.length() == 0) return false;
+ if(currentElement.length() == 0 || currentExtraTags == 0) return false;
BLI_snprintf(buf, textLength+1, "%s", text);
currentExtraTags->addTag(currentElement, std::string(buf));
diff --git a/source/blender/collada/ExtraHandler.h b/source/blender/collada/ExtraHandler.h
index de3b063290d..7296aaf1eb4 100644
--- a/source/blender/collada/ExtraHandler.h
+++ b/source/blender/collada/ExtraHandler.h
@@ -32,8 +32,10 @@
#include <algorithm> // sort()
#include "COLLADASaxFWLIExtraDataCallbackHandler.h"
+#include "COLLADASaxFWLFilePartLoader.h"
#include "DocumentImporter.h"
+#include "AnimationImporter.h"
/** \brief Handler class for <extra> data, through which different
* profiles can be handled
@@ -42,7 +44,7 @@ class ExtraHandler : public COLLADASaxFWL::IExtraDataCallbackHandler
{
public:
/** Constructor. */
- ExtraHandler(DocumentImporter *dimp);
+ ExtraHandler(DocumentImporter *dimp, AnimationImporter *aimp);
/** Destructor. */
virtual ~ExtraHandler();
@@ -69,6 +71,7 @@ private:
/** Handle to DocumentImporter for interface to extra element data saving. */
DocumentImporter* dimp;
+ AnimationImporter* aimp;
/** Holds Id of element for which <extra> XML elements are handled. */
COLLADAFW::UniqueId currentUid;
ExtraTags* currentExtraTags;
diff --git a/source/blender/collada/ExtraTags.cpp b/source/blender/collada/ExtraTags.cpp
index 653d4a377cd..f0c6d2228b1 100644
--- a/source/blender/collada/ExtraTags.cpp
+++ b/source/blender/collada/ExtraTags.cpp
@@ -90,32 +90,28 @@ std::string ExtraTags::asString( std::string tag, bool *ok)
void ExtraTags::setData(std::string tag, short *data)
{
bool ok = false;
- int tmp = 0;
- tmp = asInt(tag, &ok);
+ int tmp = asInt(tag, &ok);
if(ok)
*data = (short)tmp;
}
void ExtraTags::setData(std::string tag, int *data)
{
bool ok = false;
- int tmp = 0;
- tmp = asInt(tag, &ok);
+ int tmp = asInt(tag, &ok);
if(ok)
*data = tmp;
}
void ExtraTags::setData(std::string tag, float *data)
{
bool ok = false;
- float tmp = 0.0f;
- tmp = asFloat(tag, &ok);
+ float tmp = asFloat(tag, &ok);
if(ok)
*data = tmp;
}
void ExtraTags::setData(std::string tag, char *data)
{
bool ok = false;
- int tmp = 0;
- tmp = asInt(tag, &ok);
+ int tmp = asInt(tag, &ok);
if(ok)
*data = (char)tmp;
}
diff --git a/source/blender/collada/GeometryExporter.cpp b/source/blender/collada/GeometryExporter.cpp
index 5df5ab99b91..b724844b1ec 100644
--- a/source/blender/collada/GeometryExporter.cpp
+++ b/source/blender/collada/GeometryExporter.cpp
@@ -47,13 +47,13 @@
GeometryExporter::GeometryExporter(COLLADASW::StreamWriter *sw) : COLLADASW::LibraryGeometries(sw) {}
-void GeometryExporter::exportGeom(Scene *sce)
+void GeometryExporter::exportGeom(Scene *sce, bool export_selected)
{
openLibrary();
mScene = sce;
GeometryFunctor gf;
- gf.forEachMeshObjectInScene<GeometryExporter>(sce, *this);
+ gf.forEachMeshObjectInScene<GeometryExporter>(sce, *this, export_selected);
closeLibrary();
}
diff --git a/source/blender/collada/GeometryExporter.h b/source/blender/collada/GeometryExporter.h
index 0b9abaebc25..d9d265a66fc 100644
--- a/source/blender/collada/GeometryExporter.h
+++ b/source/blender/collada/GeometryExporter.h
@@ -60,7 +60,7 @@ class GeometryExporter : COLLADASW::LibraryGeometries
public:
GeometryExporter(COLLADASW::StreamWriter *sw);
- void exportGeom(Scene *sce);
+ void exportGeom(Scene *sce, bool export_selected);
void operator()(Object *ob);
@@ -102,14 +102,16 @@ struct GeometryFunctor {
// f should have
// void operator()(Object* ob)
template<class Functor>
- void forEachMeshObjectInScene(Scene *sce, Functor &f)
+ void forEachMeshObjectInScene(Scene *sce, Functor &f, bool export_selected)
{
Base *base= (Base*) sce->base.first;
while(base) {
Object *ob = base->object;
- if (ob->type == OB_MESH && ob->data) {
+ if (ob->type == OB_MESH && ob->data
+ && !(export_selected && !(ob->flag && SELECT))
+ && ((sce->lay & ob->lay)!=0)) {
f(ob);
}
base= base->next;
diff --git a/source/blender/collada/ImageExporter.cpp b/source/blender/collada/ImageExporter.cpp
index b7a5ef4c4e4..8e426e9dba8 100644
--- a/source/blender/collada/ImageExporter.cpp
+++ b/source/blender/collada/ImageExporter.cpp
@@ -71,12 +71,12 @@ bool ImagesExporter::hasImages(Scene *sce)
return false;
}
-void ImagesExporter::exportImages(Scene *sce)
+void ImagesExporter::exportImages(Scene *sce, bool export_selected)
{
if(hasImages(sce)) {
openLibrary();
MaterialFunctor mf;
- mf.forEachMaterialInScene<ImagesExporter>(sce, *this);
+ mf.forEachMaterialInScene<ImagesExporter>(sce, *this, export_selected);
closeLibrary();
}
diff --git a/source/blender/collada/ImageExporter.h b/source/blender/collada/ImageExporter.h
index 04e3010dc7a..6b81c099259 100644
--- a/source/blender/collada/ImageExporter.h
+++ b/source/blender/collada/ImageExporter.h
@@ -47,7 +47,7 @@ class ImagesExporter: COLLADASW::LibraryImages
public:
ImagesExporter(COLLADASW::StreamWriter *sw, const char* filename);
- void exportImages(Scene *sce);
+ void exportImages(Scene *sce, bool export_selected);
void operator()(Material *ma, Object *ob);
private:
bool hasImages(Scene *sce);
diff --git a/source/blender/collada/LightExporter.cpp b/source/blender/collada/LightExporter.cpp
index 89599c62768..31ade5604a7 100644
--- a/source/blender/collada/LightExporter.cpp
+++ b/source/blender/collada/LightExporter.cpp
@@ -38,13 +38,14 @@
#include "collada_internal.h"
template<class Functor>
-void forEachLampObjectInScene(Scene *sce, Functor &f)
+void forEachLampObjectInScene(Scene *sce, Functor &f, bool export_selected)
{
Base *base= (Base*) sce->base.first;
while(base) {
Object *ob = base->object;
- if (ob->type == OB_LAMP && ob->data) {
+ if (ob->type == OB_LAMP && ob->data
+ && !(export_selected && !(ob->flag & SELECT))) {
f(ob);
}
base= base->next;
@@ -53,59 +54,58 @@ void forEachLampObjectInScene(Scene *sce, Functor &f)
LightsExporter::LightsExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryLights(sw){}
-void LightsExporter::exportLights(Scene *sce)
+void LightsExporter::exportLights(Scene *sce, bool export_selected)
{
openLibrary();
- forEachLampObjectInScene(sce, *this);
+ forEachLampObjectInScene(sce, *this, export_selected);
closeLibrary();
}
+
void LightsExporter::operator()(Object *ob)
{
Lamp *la = (Lamp*)ob->data;
std::string la_id(get_light_id(ob));
std::string la_name(id_name(la));
COLLADASW::Color col(la->r * la->energy, la->g * la->energy, la->b * la->energy);
- float e, d, constatt, linatt, quadatt;
- float r;
+ float d, constatt, linatt, quadatt;
d = la->dist;
- r = d/2.0f;
constatt = 1.0f;
if(la->falloff_type==LA_FALLOFF_INVLINEAR) {
- linatt = 1.0f / r;
+ linatt = 1.0f / d;
quadatt = 0.0f;
}
else {
linatt = 0.0f;
- quadatt = 1.0f / r;
+ quadatt = 1.0f / (d * d);
}
// sun
if (la->type == LA_SUN) {
- COLLADASW::DirectionalLight cla(mSW, la_id, la_name, e);
- cla.setColor(col);
+ COLLADASW::DirectionalLight cla(mSW, la_id, la_name);
+ cla.setColor(col,false,"color");
cla.setConstantAttenuation(constatt);
exportBlenderProfile(cla, la);
addLight(cla);
}
// hemi
else if (la->type == LA_HEMI) {
- COLLADASW::AmbientLight cla(mSW, la_id, la_name, e);
- cla.setColor(col);
+ COLLADASW::AmbientLight cla(mSW, la_id, la_name);
+ cla.setColor(col,false,"color");
cla.setConstantAttenuation(constatt);
exportBlenderProfile(cla, la);
addLight(cla);
}
// spot
else if (la->type == LA_SPOT) {
- COLLADASW::SpotLight cla(mSW, la_id, la_name, e);
- cla.setColor(col);
- cla.setFallOffAngle(la->spotsize);
- cla.setFallOffExponent(la->spotblend);
+ COLLADASW::SpotLight cla(mSW, la_id, la_name);
+ cla.setColor(col,false,"color");
+ cla.setFallOffAngle(la->spotsize,false,"fall_off_angle");
+ cla.setFallOffExponent(la->spotblend,false,"fall_off_exponent");
cla.setConstantAttenuation(constatt);
cla.setLinearAttenuation(linatt);
cla.setQuadraticAttenuation(quadatt);
@@ -114,8 +114,8 @@ void LightsExporter::operator()(Object *ob)
}
// lamp
else if (la->type == LA_LOCAL) {
- COLLADASW::PointLight cla(mSW, la_id, la_name, e);
- cla.setColor(col);
+ COLLADASW::PointLight cla(mSW, la_id, la_name);
+ cla.setColor(col,false,"color");
cla.setConstantAttenuation(constatt);
cla.setLinearAttenuation(linatt);
cla.setQuadraticAttenuation(quadatt);
@@ -125,8 +125,8 @@ void LightsExporter::operator()(Object *ob)
// area lamp is not supported
// it will be exported as a local lamp
else {
- COLLADASW::PointLight cla(mSW, la_id, la_name, e);
- cla.setColor(col);
+ COLLADASW::PointLight cla(mSW, la_id, la_name);
+ cla.setColor(col,false,"color");
cla.setConstantAttenuation(constatt);
cla.setLinearAttenuation(linatt);
cla.setQuadraticAttenuation(quadatt);
@@ -141,18 +141,18 @@ bool LightsExporter::exportBlenderProfile(COLLADASW::Light &cla, Lamp *la)
cla.addExtraTechniqueParameter("blender", "type", la->type);
cla.addExtraTechniqueParameter("blender", "flag", la->flag);
cla.addExtraTechniqueParameter("blender", "mode", la->mode);
- cla.addExtraTechniqueParameter("blender", "gamma", la->k);
+ cla.addExtraTechniqueParameter("blender", "gamma", la->k, "blender_gamma");
cla.addExtraTechniqueParameter("blender", "red", la->r);
cla.addExtraTechniqueParameter("blender", "green", la->g);
cla.addExtraTechniqueParameter("blender", "blue", la->b);
- cla.addExtraTechniqueParameter("blender", "shadow_r", la->shdwr);
- cla.addExtraTechniqueParameter("blender", "shadow_g", la->shdwg);
- cla.addExtraTechniqueParameter("blender", "shadow_b", la->shdwb);
- cla.addExtraTechniqueParameter("blender", "energy", la->energy);
- cla.addExtraTechniqueParameter("blender", "dist", la->dist);
+ cla.addExtraTechniqueParameter("blender", "shadow_r", la->shdwr, "blender_shadow_r");
+ cla.addExtraTechniqueParameter("blender", "shadow_g", la->shdwg, "blender_shadow_g");
+ cla.addExtraTechniqueParameter("blender", "shadow_b", la->shdwb, "blender_shadow_b");
+ cla.addExtraTechniqueParameter("blender", "energy", la->energy, "blender_energy");
+ cla.addExtraTechniqueParameter("blender", "dist", la->dist, "blender_dist");
cla.addExtraTechniqueParameter("blender", "spotsize", la->spotsize);
cla.addExtraTechniqueParameter("blender", "spotblend", la->spotblend);
- cla.addExtraTechniqueParameter("blender", "halo_intensity", la->haint);
+ cla.addExtraTechniqueParameter("blender", "halo_intensity", la->haint, "blnder_halo_intensity");
cla.addExtraTechniqueParameter("blender", "att1", la->att1);
cla.addExtraTechniqueParameter("blender", "att2", la->att2);
// \todo figure out how we can have falloff curve supported here
diff --git a/source/blender/collada/LightExporter.h b/source/blender/collada/LightExporter.h
index 3706582e52c..2ae1a19fdb1 100644
--- a/source/blender/collada/LightExporter.h
+++ b/source/blender/collada/LightExporter.h
@@ -41,7 +41,7 @@ class LightsExporter: COLLADASW::LibraryLights
{
public:
LightsExporter(COLLADASW::StreamWriter *sw);
- void exportLights(Scene *sce);
+ void exportLights(Scene *sce, bool export_selected);
void operator()(Object *ob);
private:
bool exportBlenderProfile(COLLADASW::Light &cla, Lamp *la);
diff --git a/source/blender/collada/MaterialExporter.cpp b/source/blender/collada/MaterialExporter.cpp
index 0030f2a6285..9d29177578d 100644
--- a/source/blender/collada/MaterialExporter.cpp
+++ b/source/blender/collada/MaterialExporter.cpp
@@ -35,14 +35,38 @@
MaterialsExporter::MaterialsExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryMaterials(sw){}
-void MaterialsExporter::exportMaterials(Scene *sce)
+void MaterialsExporter::exportMaterials(Scene *sce, bool export_selected)
{
- openLibrary();
+ if(hasMaterials(sce)) {
+ openLibrary();
- MaterialFunctor mf;
- mf.forEachMaterialInScene<MaterialsExporter>(sce, *this);
+ MaterialFunctor mf;
+ mf.forEachMaterialInScene<MaterialsExporter>(sce, *this, export_selected);
- closeLibrary();
+ closeLibrary();
+ }
+}
+
+
+bool MaterialsExporter::hasMaterials(Scene *sce)
+{
+ Base *base = (Base *)sce->base.first;
+
+ while(base) {
+ Object *ob= base->object;
+ int a;
+ for(a = 0; a < ob->totcol; a++)
+ {
+ Material *ma = give_current_material(ob, a+1);
+
+ // no material, but check all of the slots
+ if (!ma) continue;
+
+ return true;
+ }
+ base= base->next;
+ }
+ return false;
}
void MaterialsExporter::operator()(Material *ma, Object *ob)
diff --git a/source/blender/collada/MaterialExporter.h b/source/blender/collada/MaterialExporter.h
index 033c8526346..c080e4b0596 100644
--- a/source/blender/collada/MaterialExporter.h
+++ b/source/blender/collada/MaterialExporter.h
@@ -49,8 +49,11 @@ class MaterialsExporter: COLLADASW::LibraryMaterials
{
public:
MaterialsExporter(COLLADASW::StreamWriter *sw);
- void exportMaterials(Scene *sce);
+ void exportMaterials(Scene *sce, bool export_selected);
void operator()(Material *ma, Object *ob);
+
+private:
+ bool hasMaterials(Scene *sce);
};
// used in forEachMaterialInScene
@@ -86,11 +89,11 @@ struct MaterialFunctor {
// f should have
// void operator()(Material* ma)
template<class Functor>
- void forEachMaterialInScene(Scene *sce, Functor &f)
+ void forEachMaterialInScene(Scene *sce, Functor &f, bool export_selected)
{
ForEachMaterialFunctor<Functor> matfunc(&f);
GeometryFunctor gf;
- gf.forEachMeshObjectInScene<ForEachMaterialFunctor<Functor> >(sce, matfunc);
+ gf.forEachMeshObjectInScene<ForEachMaterialFunctor<Functor> >(sce, matfunc, export_selected);
}
};
diff --git a/source/blender/collada/MeshImporter.cpp b/source/blender/collada/MeshImporter.cpp
index b6576858c51..15bd9c48f12 100644
--- a/source/blender/collada/MeshImporter.cpp
+++ b/source/blender/collada/MeshImporter.cpp
@@ -62,7 +62,7 @@ extern "C" {
#include "MeshImporter.h"
#include "collada_utils.h"
-// works for COLLADAFW::Node, COLLADAFW::Geometry
+// get node name, or fall back to original id if not present (name is optional)
template<class T>
static const char *bc_get_dae_name(T *node)
{
@@ -144,15 +144,18 @@ void WVDataWrapper::print()
}
#endif
-void UVDataWrapper::getUV(int uv_index[2], float *uv)
+void UVDataWrapper::getUV(int uv_index, float *uv)
{
+ int stride = mVData->getStride(0);
+ if(stride==0) stride = 2;
+
switch(mVData->getType()) {
case COLLADAFW::MeshVertexData::DATA_TYPE_FLOAT:
{
COLLADAFW::ArrayPrimitiveType<float>* values = mVData->getFloatValues();
if (values->empty()) return;
- uv[0] = (*values)[uv_index[0]];
- uv[1] = (*values)[uv_index[1]];
+ uv[0] = (*values)[uv_index*stride];
+ uv[1] = (*values)[uv_index*stride + 1];
}
break;
@@ -160,8 +163,8 @@ void UVDataWrapper::getUV(int uv_index[2], float *uv)
{
COLLADAFW::ArrayPrimitiveType<double>* values = mVData->getDoubleValues();
if (values->empty()) return;
- uv[0] = (float)(*values)[uv_index[0]];
- uv[1] = (float)(*values)[uv_index[1]];
+ uv[0] = (float)(*values)[uv_index*stride];
+ uv[1] = (float)(*values)[uv_index*stride + 1];
}
break;
@@ -197,54 +200,36 @@ void MeshImporter::rotate_face_indices(MFace *mface) {
void MeshImporter::set_face_uv(MTFace *mtface, UVDataWrapper &uvs,
COLLADAFW::IndexList& index_list, unsigned int *tris_indices)
{
- int uv_indices[4][2];
-
// per face vertex indices, this means for quad we have 4 indices, not 8
COLLADAFW::UIntValuesArray& indices = index_list.getIndices();
- // make indices into FloatOrDoubleArray
- for (int i = 0; i < 3; i++) {
- int uv_index = indices[tris_indices[i]];
- uv_indices[i][0] = uv_index * 2;
- uv_indices[i][1] = uv_index * 2 + 1;
- }
-
- uvs.getUV(uv_indices[0], mtface->uv[0]);
- uvs.getUV(uv_indices[1], mtface->uv[1]);
- uvs.getUV(uv_indices[2], mtface->uv[2]);
+ uvs.getUV(indices[tris_indices[0]], mtface->uv[0]);
+ uvs.getUV(indices[tris_indices[1]], mtface->uv[1]);
+ uvs.getUV(indices[tris_indices[2]], mtface->uv[2]);
}
void MeshImporter::set_face_uv(MTFace *mtface, UVDataWrapper &uvs,
COLLADAFW::IndexList& index_list, int index, bool quad)
{
- int uv_indices[4][2];
-
// per face vertex indices, this means for quad we have 4 indices, not 8
COLLADAFW::UIntValuesArray& indices = index_list.getIndices();
- // make indices into FloatOrDoubleArray
- for (int i = 0; i < (quad ? 4 : 3); i++) {
- int uv_index = indices[index + i];
- uv_indices[i][0] = uv_index * 2;
- uv_indices[i][1] = uv_index * 2 + 1;
- }
-
- uvs.getUV(uv_indices[0], mtface->uv[0]);
- uvs.getUV(uv_indices[1], mtface->uv[1]);
- uvs.getUV(uv_indices[2], mtface->uv[2]);
+ uvs.getUV(indices[index + 0], mtface->uv[0]);
+ uvs.getUV(indices[index + 1], mtface->uv[1]);
+ uvs.getUV(indices[index + 2], mtface->uv[2]);
- if (quad) uvs.getUV(uv_indices[3], mtface->uv[3]);
+ if (quad) uvs.getUV(indices[index + 3], mtface->uv[3]);
#ifdef COLLADA_DEBUG
- /*if (quad) {
+ if (quad) {
fprintf(stderr, "face uv:\n"
- "((%d, %d), (%d, %d), (%d, %d), (%d, %d))\n"
+ "((%d, %d, %d, %d))\n"
"((%.1f, %.1f), (%.1f, %.1f), (%.1f, %.1f), (%.1f, %.1f))\n",
- uv_indices[0][0], uv_indices[0][1],
- uv_indices[1][0], uv_indices[1][1],
- uv_indices[2][0], uv_indices[2][1],
- uv_indices[3][0], uv_indices[3][1],
+ indices[index + 0],
+ indices[index + 1],
+ indices[index + 2],
+ indices[index + 3],
mtface->uv[0][0], mtface->uv[0][1],
mtface->uv[1][0], mtface->uv[1][1],
@@ -253,17 +238,17 @@ void MeshImporter::set_face_uv(MTFace *mtface, UVDataWrapper &uvs,
}
else {
fprintf(stderr, "face uv:\n"
- "((%d, %d), (%d, %d), (%d, %d))\n"
+ "((%d, %d, %d))\n"
"((%.1f, %.1f), (%.1f, %.1f), (%.1f, %.1f))\n",
- uv_indices[0][0], uv_indices[0][1],
- uv_indices[1][0], uv_indices[1][1],
- uv_indices[2][0], uv_indices[2][1],
+ indices[index + 0],
+ indices[index + 1],
+ indices[index + 2],
mtface->uv[0][0], mtface->uv[0][1],
mtface->uv[1][0], mtface->uv[1][1],
mtface->uv[2][0], mtface->uv[2][1]);
- }*/
+ }
#endif
}
@@ -426,7 +411,7 @@ int MeshImporter::count_new_tris(COLLADAFW::Mesh *mesh, Mesh *me)
}
// TODO: import uv set names
-void MeshImporter::read_faces(COLLADAFW::Mesh *mesh, Mesh *me, int new_tris) //TODO:: Refactor. Possibly replace by iterators
+void MeshImporter::read_faces(COLLADAFW::Mesh *mesh, Mesh *me, int new_tris) //TODO:: Refactor. Possibly replace by iterators
{
unsigned int i;
@@ -602,7 +587,7 @@ void MeshImporter::read_faces(COLLADAFW::Mesh *mesh, Mesh *me, int new_tris)
for (k = 0; k < index_list_array.getCount(); k++) {
// get mtface by face index and uv set index
MTFace *mtface = (MTFace*)CustomData_get_layer_n(&me->fdata, CD_MTFACE, k);
- set_face_uv(&mtface[face_index], uvs, *index_list_array[k], index, mface->v4 != 0);
+ set_face_uv(&mtface[face_index], uvs, *index_list_array[k], index, vcount == 4);
}
#endif
@@ -755,9 +740,11 @@ MTex *MeshImporter::assign_textures_to_uvlayer(COLLADAFW::TextureCoordinateBindi
MTex *color_texture)
{
const COLLADAFW::TextureMapId texture_index = ctexture.getTextureMapId();
- const size_t setindex = ctexture.getSetIndex();
+ size_t setindex = ctexture.getSetIndex();
std::string uvname = ctexture.getSemantic();
+ if(setindex==-1) return NULL;
+
const CustomData *data = &me->fdata;
int layer_index = CustomData_get_layer_index(data, CD_MTFACE);
CustomDataLayer *cdl = &data->layers[layer_index+setindex];
@@ -809,7 +796,7 @@ MTFace *MeshImporter::assign_material_to_geom(COLLADAFW::MaterialBinding cmateri
std::multimap<COLLADAFW::UniqueId, COLLADAFW::UniqueId>::iterator it;
it=materials_mapped_to_geom.find(*geom_uid);
while(it!=materials_mapped_to_geom.end()) {
- if(it->second == ma_uid) return NULL; // do nothing if already found
+ if(it->second == ma_uid && it->first == *geom_uid) return NULL; // do nothing if already found
it++;
}
// first time we get geom_uid, ma_uid pair. Save for later check.
@@ -833,7 +820,6 @@ MTFace *MeshImporter::assign_material_to_geom(COLLADAFW::MaterialBinding cmateri
if (*color_texture &&
strlen((*color_texture)->uvname) &&
strcmp(layername, (*color_texture)->uvname) != 0) {
-
texture_face = (MTFace*)CustomData_get_layer_named(&me->fdata, CD_MTFACE,
(*color_texture)->uvname);
strcpy(layername, (*color_texture)->uvname);
@@ -903,7 +889,7 @@ Object *MeshImporter::create_mesh_object(COLLADAFW::Node *node, COLLADAFW::Insta
uid_object_map[*geom_uid] = ob;
// name Object
- const std::string& id = node->getOriginalId();
+ const std::string& id = node->getName().size() ? node->getName() : node->getOriginalId();
if (id.length())
rename_id(&ob->id, (char*)id.c_str());
@@ -915,6 +901,7 @@ Object *MeshImporter::create_mesh_object(COLLADAFW::Node *node, COLLADAFW::Insta
if (old_mesh->id.us == 0) free_libblock(&G.main->mesh, old_mesh);
char layername[100];
+ layername[0] = '\0';
MTFace *texture_face = NULL;
MTex *color_texture = NULL;
@@ -957,7 +944,7 @@ bool MeshImporter::write_geometry(const COLLADAFW::Geometry* geom)
return true;
}
- const std::string& str_geom_id = mesh->getOriginalId();
+ const std::string& str_geom_id = mesh->getName().size() ? mesh->getName() : mesh->getOriginalId();
Mesh *me = add_mesh((char*)str_geom_id.c_str());
// store the Mesh pointer to link it later with an Object
diff --git a/source/blender/collada/MeshImporter.h b/source/blender/collada/MeshImporter.h
index 20fdb0dcc6e..88ee0e46c33 100644
--- a/source/blender/collada/MeshImporter.h
+++ b/source/blender/collada/MeshImporter.h
@@ -69,7 +69,7 @@ public:
void print();
#endif
- void getUV(int uv_index[2], float *uv);
+ void getUV(int uv_index, float *uv);
};
class MeshImporter : public MeshImporterBase
diff --git a/source/blender/collada/SConscript b/source/blender/collada/SConscript
index 3dd6160c445..17cca9e3706 100644
--- a/source/blender/collada/SConscript
+++ b/source/blender/collada/SConscript
@@ -38,6 +38,6 @@ else:
incs = '../blenlib ../blenkernel ../windowmanager ../makesdna ../blenloader ../makesrna ../editors/include ../../../intern/guardedalloc [OPENCOLLADA]/COLLADAStreamWriter/include [OPENCOLLADA]/COLLADABaseUtils/include [OPENCOLLADA]/COLLADAFramework/include [OPENCOLLADA]/COLLADASaxFrameworkLoader/include [OPENCOLLADA]/GeneratedSaxParser/include '.replace('[OPENCOLLADA]', env['BF_OPENCOLLADA_INC'])
if env['BF_BUILDINFO']:
- defs.append('NAN_BUILDINFO')
+ defs.append('WITH_BUILDINFO')
env.BlenderLib ('bf_collada', sources, Split(incs), defs, libtype='core', priority=200 )
diff --git a/source/blender/collada/SkinInfo.cpp b/source/blender/collada/SkinInfo.cpp
index 10780de2e70..1d890415ebe 100644
--- a/source/blender/collada/SkinInfo.cpp
+++ b/source/blender/collada/SkinInfo.cpp
@@ -48,12 +48,12 @@
#include "SkinInfo.h"
#include "collada_utils.h"
-// use this for retrieving bone names, since these must be unique
+// use name, or fall back to original id if name not present (name is optional)
template<class T>
static const char *bc_get_joint_name(T *node)
{
- const std::string& id = node->getOriginalId();
- return id.size() ? id.c_str() : node->getName().c_str();
+ const std::string& id = node->getName();
+ return id.size() ? id.c_str() : node->getOriginalId().c_str();
}
// This is used to store data passed in write_controller_data.
@@ -266,9 +266,9 @@ void SkinInfo::link_armature(bContext *C, Object *ob, std::map<COLLADAFW::Unique
// ^ bone index can be -1 meaning weight toward bind shape, how to express this in Blender?
// for each vertex in weight indices
- // for each bone index in vertex
- // add vertex to group at group index
- // treat group index -1 specially
+ // for each bone index in vertex
+ // add vertex to group at group index
+ // treat group index -1 specially
// get def group by index with BLI_findlink
@@ -308,11 +308,15 @@ void SkinInfo::find_root_joints(const std::vector<COLLADAFW::Node*> &root_joints
std::vector<COLLADAFW::Node*>& result)
{
std::vector<COLLADAFW::Node*>::const_iterator it;
+ // for each root_joint
for (it = root_joints.begin(); it != root_joints.end(); it++) {
COLLADAFW::Node *root = *it;
std::vector<JointData>::iterator ji;
+ //for each joint_data in this skin
for (ji = joint_data.begin(); ji != joint_data.end(); ji++) {
+ //get joint node from joint map
COLLADAFW::Node *joint = joint_by_uid[(*ji).joint_uid];
+ //find if joint node is in the tree belonging to the root_joint
if (find_node_in_tree(joint, root)) {
if (std::find(result.begin(), result.end(), root) == result.end())
result.push_back(root);
diff --git a/source/blender/collada/TransformReader.cpp b/source/blender/collada/TransformReader.cpp
index 3d624520e53..625a0220830 100644
--- a/source/blender/collada/TransformReader.cpp
+++ b/source/blender/collada/TransformReader.cpp
@@ -45,24 +45,24 @@ void TransformReader::get_node_mat(float mat[][4], COLLADAFW::Node *node, std::m
COLLADAFW::Transformation *tm = node->getTransformations()[i];
COLLADAFW::Transformation::TransformationType type = tm->getTransformationType();
- switch(type) {
- case COLLADAFW::Transformation::TRANSLATE:
- dae_translate_to_mat4(tm, cur);
- break;
- case COLLADAFW::Transformation::ROTATE:
- dae_rotate_to_mat4(tm, cur);
- break;
- case COLLADAFW::Transformation::SCALE:
- dae_scale_to_mat4(tm, cur);
- break;
- case COLLADAFW::Transformation::MATRIX:
- dae_matrix_to_mat4(tm, cur);
- break;
- case COLLADAFW::Transformation::LOOKAT:
- case COLLADAFW::Transformation::SKEW:
- fprintf(stderr, "LOOKAT and SKEW transformations are not supported yet.\n");
- break;
- }
+ switch(type) {
+ case COLLADAFW::Transformation::TRANSLATE:
+ dae_translate_to_mat4(tm, cur);
+ break;
+ case COLLADAFW::Transformation::ROTATE:
+ dae_rotate_to_mat4(tm, cur);
+ break;
+ case COLLADAFW::Transformation::SCALE:
+ dae_scale_to_mat4(tm, cur);
+ break;
+ case COLLADAFW::Transformation::MATRIX:
+ dae_matrix_to_mat4(tm, cur);
+ break;
+ case COLLADAFW::Transformation::LOOKAT:
+ case COLLADAFW::Transformation::SKEW:
+ fprintf(stderr, "LOOKAT and SKEW transformations are not supported yet.\n");
+ break;
+ }
copy_m4_m4(copy, mat);
mul_m4_m4m4(mat, cur, copy);
diff --git a/source/blender/collada/TransformWriter.cpp b/source/blender/collada/TransformWriter.cpp
index 8638e16e1c2..88ed112c3fe 100644
--- a/source/blender/collada/TransformWriter.cpp
+++ b/source/blender/collada/TransformWriter.cpp
@@ -48,9 +48,15 @@ void TransformWriter::add_node_transform(COLLADASW::Node& node, float mat[][4],
copy_m4_m4(local, mat);
}
+ double dmat[4][4];
+ UnitConverter* converter = new UnitConverter();
+ converter->mat4_to_dae_double(dmat,local);
+
TransformBase::decompose(local, loc, rot, NULL, scale);
-
- add_transform(node, loc, rot, scale);
+ if ( node.getType() == COLLADASW::Node::JOINT)
+ node.addMatrix("transform",dmat);
+ else
+ add_transform(node, loc, rot, scale);
}
void TransformWriter::add_node_transform_ob(COLLADASW::Node& node, Object *ob)
@@ -98,8 +104,12 @@ void TransformWriter::add_node_transform_identity(COLLADASW::Node& node)
void TransformWriter::add_transform(COLLADASW::Node& node, float loc[3], float rot[3], float scale[3])
{
node.addTranslate("location", loc[0], loc[1], loc[2]);
- node.addRotateZ("rotationZ", COLLADABU::Math::Utils::radToDegF(rot[2]));
+ /*node.addRotateZ("rotationZ", COLLADABU::Math::Utils::radToDegF(rot[2]));
node.addRotateY("rotationY", COLLADABU::Math::Utils::radToDegF(rot[1]));
- node.addRotateX("rotationX", COLLADABU::Math::Utils::radToDegF(rot[0]));
+ node.addRotateX("rotationX", COLLADABU::Math::Utils::radToDegF(rot[0]));*/
+ node.addRotateZ("rotationZ", rot[2] * 180.0f/M_PI);
+ node.addRotateY("rotationY", (rot[1]* 180.0f/M_PI));
+ node.addRotateX("rotationX", (rot[0]* 180.0f/M_PI));
+
node.addScale("scale", scale[0], scale[1], scale[2]);
}
diff --git a/source/blender/collada/collada.cpp b/source/blender/collada/collada.cpp
index 51caf62f6e7..4caca20531f 100644
--- a/source/blender/collada/collada.cpp
+++ b/source/blender/collada/collada.cpp
@@ -46,12 +46,12 @@ extern "C"
int collada_import(bContext *C, const char *filepath)
{
DocumentImporter imp (C, filepath);
- imp.import();
+ if(imp.import()) return 1;
- return 1;
+ return 0;
}
- int collada_export(Scene *sce, const char *filepath)
+ int collada_export(Scene *sce, const char *filepath, int selected)
{
DocumentExporter exp;
@@ -64,7 +64,7 @@ extern "C"
}
/* end! */
- exp.exportCurrentScene(sce, filepath);
+ exp.exportCurrentScene(sce, filepath, selected);
return 1;
}
diff --git a/source/blender/collada/collada.h b/source/blender/collada/collada.h
index a167784e217..915a77354e3 100644
--- a/source/blender/collada/collada.h
+++ b/source/blender/collada/collada.h
@@ -39,7 +39,7 @@ extern "C" {
* both return 1 on success, 0 on error
*/
int collada_import(bContext *C, const char *filepath);
- int collada_export(Scene *sce, const char *filepath);
+ int collada_export(Scene *sce, const char *filepath, int selected);
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/collada/collada_internal.cpp b/source/blender/collada/collada_internal.cpp
index 4f4d16d3b0d..27397c3008e 100644
--- a/source/blender/collada/collada_internal.cpp
+++ b/source/blender/collada/collada_internal.cpp
@@ -265,7 +265,7 @@ std::string get_light_id(Object *ob)
std::string get_joint_id(Bone *bone, Object *ob_arm)
{
- return translate_id(id_name(ob_arm) + "_" + bone->name);
+ return translate_id(/*id_name(ob_arm) + "_" +*/ bone->name);
}
std::string get_camera_id(Object *ob)
diff --git a/source/blender/editors/CMakeLists.txt b/source/blender/editors/CMakeLists.txt
index 651cb66833d..abda4f11a2c 100644
--- a/source/blender/editors/CMakeLists.txt
+++ b/source/blender/editors/CMakeLists.txt
@@ -19,39 +19,42 @@
#
# ***** END GPL LICENSE BLOCK *****
-add_subdirectory(animation)
-add_subdirectory(armature)
-add_subdirectory(curve)
+if(WITH_BLENDER)
+ add_subdirectory(animation)
+ add_subdirectory(armature)
+ add_subdirectory(curve)
+ add_subdirectory(gpencil)
+ add_subdirectory(interface)
+ add_subdirectory(mesh)
+ add_subdirectory(metaball)
+ add_subdirectory(object)
+ add_subdirectory(physics)
+ add_subdirectory(render)
+ add_subdirectory(screen)
+ add_subdirectory(sculpt_paint)
+ add_subdirectory(sound)
+ add_subdirectory(space_action)
+ add_subdirectory(space_api)
+ add_subdirectory(space_buttons)
+ add_subdirectory(space_console)
+ add_subdirectory(space_file)
+ add_subdirectory(space_graph)
+ add_subdirectory(space_image)
+ add_subdirectory(space_info)
+ add_subdirectory(space_logic)
+ add_subdirectory(space_nla)
+ add_subdirectory(space_node)
+ add_subdirectory(space_outliner)
+ add_subdirectory(space_script)
+ add_subdirectory(space_sequencer)
+ add_subdirectory(space_sound)
+ add_subdirectory(space_text)
+ add_subdirectory(space_time)
+ add_subdirectory(space_userpref)
+ add_subdirectory(space_view3d)
+ add_subdirectory(transform)
+ add_subdirectory(util)
+ add_subdirectory(uvedit)
+endif()
+
add_subdirectory(datafiles)
-add_subdirectory(gpencil)
-add_subdirectory(interface)
-add_subdirectory(mesh)
-add_subdirectory(metaball)
-add_subdirectory(object)
-add_subdirectory(physics)
-add_subdirectory(render)
-add_subdirectory(screen)
-add_subdirectory(sculpt_paint)
-add_subdirectory(sound)
-add_subdirectory(space_action)
-add_subdirectory(space_api)
-add_subdirectory(space_buttons)
-add_subdirectory(space_console)
-add_subdirectory(space_file)
-add_subdirectory(space_graph)
-add_subdirectory(space_image)
-add_subdirectory(space_info)
-add_subdirectory(space_logic)
-add_subdirectory(space_nla)
-add_subdirectory(space_node)
-add_subdirectory(space_outliner)
-add_subdirectory(space_script)
-add_subdirectory(space_sequencer)
-add_subdirectory(space_sound)
-add_subdirectory(space_text)
-add_subdirectory(space_time)
-add_subdirectory(space_userpref)
-add_subdirectory(space_view3d)
-add_subdirectory(transform)
-add_subdirectory(util)
-add_subdirectory(uvedit)
diff --git a/source/blender/editors/animation/CMakeLists.txt b/source/blender/editors/animation/CMakeLists.txt
index a3c1d035d9b..83fe91d6f76 100644
--- a/source/blender/editors/animation/CMakeLists.txt
+++ b/source/blender/editors/animation/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c
index 51fde09b074..bdc654ff25a 100644
--- a/source/blender/editors/animation/anim_channels_defines.c
+++ b/source/blender/editors/animation/anim_channels_defines.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -55,6 +53,7 @@
#include "DNA_node_types.h"
#include "DNA_world_types.h"
#include "DNA_gpencil_types.h"
+#include "DNA_speaker_types.h"
#include "RNA_access.h"
@@ -159,8 +158,8 @@ static void acf_generic_channel_color(bAnimContext *ac, bAnimListElem *ale, floa
short indent= (acf->get_indent_level) ? acf->get_indent_level(ac, ale) : 0;
/* get context info needed... */
- if ((ac->sa) && (ac->sa->spacetype == SPACE_ACTION))
- saction= (SpaceAction *)ac->sa->spacedata.first;
+ if ((ac->sl) && (ac->spacetype == SPACE_ACTION))
+ saction= (SpaceAction *)ac->sl;
if (ale->type == ANIMTYPE_FCURVE) {
FCurve *fcu= (FCurve *)ale->data;
@@ -235,13 +234,6 @@ static short acf_generic_indention_flexible(bAnimContext *UNUSED(ac), bAnimListE
{
short indent= 0;
- if (ale->id) {
- /* special exception for materials, textures, and particles */
- // xxx should tex use indention 2?
- if (ELEM3(GS(ale->id->name),ID_MA,ID_PA,ID_TE))
- indent++;
- }
-
/* grouped F-Curves need extra level of indention */
if (ale->type == ANIMTYPE_FCURVE) {
FCurve *fcu= (FCurve *)ale->data;
@@ -266,36 +258,53 @@ static short acf_generic_basic_offset(bAnimContext *ac, bAnimListElem *ale)
return 0;
}
+/* offset based on nodetree type */
+static short acf_nodetree_rootType_offset(bNodeTree *ntree)
+{
+ if (ntree) {
+ switch (ntree->type) {
+ case NTREE_SHADER:
+ /* 1 additional level (i.e. is indented one level in from material,
+ * so shift all right by one step)
+ */
+ return INDENT_STEP_SIZE;
+
+ case NTREE_COMPOSIT:
+ /* no additional levels needed */
+ return 0;
+
+ case NTREE_TEXTURE:
+ /* 2 additional levels */
+ return INDENT_STEP_SIZE*2;
+ }
+ }
+
+ // unknown
+ return 0;
+}
+
/* offset for groups + grouped entities */
static short acf_generic_group_offset(bAnimContext *ac, bAnimListElem *ale)
{
short offset= acf_generic_basic_offset(ac, ale);
if (ale->id) {
- /* special exception for textures */
+ /* texture animdata */
if (GS(ale->id->name) == ID_TE) {
- /* minimum offset */
offset += 21;
-
- /* special offset from owner type */
- switch (ale->ownertype) {
- case ANIMTYPE_DSMAT:
- offset += 21;
- break;
-
- case ANIMTYPE_DSLAM:
- case ANIMTYPE_DSWOR:
- offset += 14;
- break;
- }
}
- /* special exception for materials and particles */
+ /* materials and particles animdata */
else if (ELEM(GS(ale->id->name),ID_MA,ID_PA))
- offset += 21;
+ offset += 14;
- /* if not in Action Editor mode, groupings must carry some offset too... */
+ /* if not in Action Editor mode, action-groups (and their children) must carry some offset too... */
else if (ac->datatype != ANIMCONT_ACTION)
offset += 14;
+
+ /* nodetree animdata */
+ if (GS(ale->id->name) == ID_NT) {
+ offset += acf_nodetree_rootType_offset((bNodeTree*)ale->id);
+ }
}
/* offset is just the normal type - i.e. based on indention */
@@ -314,6 +323,26 @@ static void acf_generic_idblock_name(bAnimListElem *ale, char *name)
BLI_strncpy(name, id->name+2, ANIM_CHAN_NAME_SIZE);
}
+/* name property for ID block entries */
+static short acf_generic_idblock_nameprop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ RNA_id_pointer_create(ale->id, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+}
+
+
+/* name property for ID block entries which are just subheading "fillers" */
+static short acf_generic_idfill_nameprop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ /* actual ID we're representing is stored in ale->data not ale->id, as id gives the owner */
+ RNA_id_pointer_create(ale->data, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+}
+
/* Settings ------------------------------------------- */
#if 0
@@ -324,46 +353,6 @@ static short acf_generic_none_setting_valid(bAnimContext *ac, bAnimListElem *ale
}
#endif
-/* check if some setting exists for this object-based data-expander (category only) */
-static short acf_generic_dsexpand_setting_valid(bAnimContext *ac, bAnimListElem *ale, int setting)
-{
- switch (setting) {
- /* only expand supported everywhere */
- case ACHANNEL_SETTING_EXPAND:
- return 1;
-
- /* visible
- * - only available in Graph Editor
- * - NOT available for 'filler' channels
- */
- case ACHANNEL_SETTING_VISIBLE:
- if (ELEM3(ale->type, ANIMTYPE_FILLMATD, ANIMTYPE_FILLPARTD, ANIMTYPE_FILLTEXD))
- return 0;
- else
- return ((ac) && (ac->spacetype == SPACE_IPO));
-
- default:
- return 0;
- }
-}
-
-/* get pointer to the setting (category only) */
-static void *acf_generic_dsexpand_setting_ptr(bAnimListElem *ale, int setting, short *type)
-{
- Object *ob= (Object *)ale->data;
-
- /* clear extra return data first */
- *type= 0;
-
- switch (setting) {
- case ACHANNEL_SETTING_EXPAND: /* expanded */
- GET_ACF_FLAG_PTR(ob->nlaflag); // XXX
-
- default: /* unsupported */
- return NULL;
- }
-}
-
/* check if some setting exists for this object-based data-expander (datablock only) */
static short acf_generic_dataexpand_setting_valid(bAnimContext *ac, bAnimListElem *UNUSED(ale), int setting)
{
@@ -459,8 +448,8 @@ static void *acf_summary_setting_ptr(bAnimListElem *ale, int setting, short *typ
/* if data is valid, return pointer to active dopesheet's relevant flag
* - this is restricted to DopeSheet/Action Editor only
*/
- if ((ac->sa) && (ac->spacetype == SPACE_ACTION) && (setting == ACHANNEL_SETTING_EXPAND)) {
- SpaceAction *saction= (SpaceAction *)ac->sa->spacedata.first;
+ if ((ac->sl) && (ac->spacetype == SPACE_ACTION) && (setting == ACHANNEL_SETTING_EXPAND)) {
+ SpaceAction *saction= (SpaceAction *)ac->sl;
bDopeSheet *ads= &saction->ads;
/* return pointer to DopeSheet's flag */
@@ -484,6 +473,7 @@ static bAnimChannelType ACF_SUMMARY =
NULL, /* offset */
acf_summary_name, /* name */
+ NULL, /* name prop */
acf_summary_icon, /* icon */
acf_summary_setting_valid, /* has setting */
@@ -585,6 +575,7 @@ static bAnimChannelType ACF_SCENE =
NULL, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_scene_icon, /* icon */
acf_scene_setting_valid, /* has setting */
@@ -614,7 +605,9 @@ static int acf_object_icon(bAnimListElem *ale)
return ICON_OUTLINER_OB_META;
case OB_LATTICE:
return ICON_OUTLINER_OB_LATTICE;
- case OB_ARMATURE:
+ case OB_SPEAKER:
+ return ICON_OUTLINER_OB_SPEAKER;
+ case OB_ARMATURE:
return ICON_OUTLINER_OB_ARMATURE;
case OB_FONT:
return ICON_OUTLINER_OB_FONT;
@@ -729,6 +722,7 @@ static bAnimChannelType ACF_OBJECT =
NULL, /* offset */
acf_object_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_object_icon, /* icon */
acf_object_setting_valid, /* has setting */
@@ -776,13 +770,22 @@ static void acf_group_name(bAnimListElem *ale, char *name)
BLI_strncpy(name, agrp->name, ANIM_CHAN_NAME_SIZE);
}
+/* name property for group entries */
+static short acf_group_name_prop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ RNA_pointer_create(ale->id, &RNA_ActionGroup, ale->data, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+}
+
/* check if some setting exists for this channel */
static short acf_group_setting_valid(bAnimContext *ac, bAnimListElem *UNUSED(ale), int setting)
{
/* for now, all settings are supported, though some are only conditionally */
switch (setting) {
case ACHANNEL_SETTING_VISIBLE: /* Only available in Graph Editor */
- return ((ac->sa) && (ac->sa->spacetype==SPACE_IPO));
+ return (ac->spacetype==SPACE_IPO);
default: /* always supported */
return 1;
@@ -846,6 +849,7 @@ static bAnimChannelType ACF_GROUP =
acf_generic_group_offset, /* offset */
acf_group_name, /* name */
+ acf_group_name_prop, /* name prop */
NULL, /* icon */
acf_group_setting_valid, /* has setting */
@@ -879,7 +883,7 @@ static short acf_fcurve_setting_valid(bAnimContext *ac, bAnimListElem *ale, int
return 0; // NOTE: in this special case, we need to draw ICON_ZOOMOUT
case ACHANNEL_SETTING_VISIBLE: /* Only available in Graph Editor */
- return ((ac->sa) && (ac->sa->spacetype==SPACE_IPO));
+ return (ac->spacetype==SPACE_IPO);
/* always available */
default:
@@ -932,6 +936,7 @@ static bAnimChannelType ACF_FCURVE =
acf_generic_group_offset, /* offset */
acf_fcurve_name, /* name */
+ NULL, /* name prop */
NULL, /* icon */
acf_fcurve_setting_valid, /* has setting */
@@ -1016,6 +1021,7 @@ static bAnimChannelType ACF_FILLACTD =
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
acf_fillactd_icon, /* icon */
acf_fillactd_setting_valid, /* has setting */
@@ -1028,7 +1034,7 @@ static bAnimChannelType ACF_FILLACTD =
// TODO: just get this from RNA?
static int acf_filldrivers_icon(bAnimListElem *UNUSED(ale))
{
- return ICON_ANIM_DATA;
+ return ICON_DRIVER;
}
static void acf_filldrivers_name(bAnimListElem *UNUSED(ale), char *name)
@@ -1094,6 +1100,7 @@ static bAnimChannelType ACF_FILLDRIVERS =
acf_generic_basic_offset, /* offset */
acf_filldrivers_name, /* name */
+ NULL, /* name prop */
acf_filldrivers_icon, /* icon */
acf_filldrivers_setting_valid, /* has setting */
@@ -1101,203 +1108,6 @@ static bAnimChannelType ACF_FILLDRIVERS =
acf_filldrivers_setting_ptr /* pointer for setting */
};
-/* Materials Expander ------------------------------------------- */
-
-// TODO: just get this from RNA?
-static int acf_fillmatd_icon(bAnimListElem *UNUSED(ale))
-{
- return ICON_MATERIAL_DATA;
-}
-
-static void acf_fillmatd_name(bAnimListElem *UNUSED(ale), char *name)
-{
- BLI_strncpy(name, "Materials", ANIM_CHAN_NAME_SIZE);
-}
-
-/* get the appropriate flag(s) for the setting when it is valid */
-static int acf_fillmatd_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
-{
- /* clear extra return data first */
- *neg= 0;
-
- switch (setting) {
- case ACHANNEL_SETTING_EXPAND: /* expanded */
- return OB_ADS_SHOWMATS;
-
- default: /* unsupported */
- return 0;
- }
-}
-
-/* materials expander type define */
-static bAnimChannelType ACF_FILLMATD=
-{
- "Materials Filler", /* type name */
-
- acf_generic_dataexpand_color, /* backdrop color */
- acf_generic_dataexpand_backdrop,/* backdrop */
- acf_generic_indention_1, /* indent level */
- acf_generic_basic_offset, /* offset */
-
- acf_fillmatd_name, /* name */
- acf_fillmatd_icon, /* icon */
-
- acf_generic_dsexpand_setting_valid, /* has setting */
- acf_fillmatd_setting_flag, /* flag for setting */
- acf_generic_dsexpand_setting_ptr /* pointer for setting */
-};
-
-/* Particles Expander ------------------------------------------- */
-
-// TODO: just get this from RNA?
-static int acf_fillpartd_icon(bAnimListElem *UNUSED(ale))
-{
- return ICON_PARTICLE_DATA;
-}
-
-static void acf_fillpartd_name(bAnimListElem *UNUSED(ale), char *name)
-{
- BLI_strncpy(name, "Particles", ANIM_CHAN_NAME_SIZE);
-}
-
-/* get the appropriate flag(s) for the setting when it is valid */
-static int acf_fillpartd_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
-{
- /* clear extra return data first */
- *neg= 0;
-
- switch (setting) {
- case ACHANNEL_SETTING_EXPAND: /* expanded */
- return OB_ADS_SHOWPARTS;
-
- default: /* unsupported */
- return 0;
- }
-}
-
-/* particles expander type define */
-static bAnimChannelType ACF_FILLPARTD=
-{
- "Particles Filler", /* type name */
-
- acf_generic_dataexpand_color, /* backdrop color */
- acf_generic_dataexpand_backdrop,/* backdrop */
- acf_generic_indention_1, /* indent level */
- acf_generic_basic_offset, /* offset */
-
- acf_fillpartd_name, /* name */
- acf_fillpartd_icon, /* icon */
-
- acf_generic_dsexpand_setting_valid, /* has setting */
- acf_fillpartd_setting_flag, /* flag for setting */
- acf_generic_dsexpand_setting_ptr /* pointer for setting */
-};
-
-/* Textures Expander ------------------------------------------- */
-
-/* offset for groups + grouped entities */
-static short acf_filltexd_offset(bAnimContext *ac, bAnimListElem *ale)
-{
- short offset= acf_generic_basic_offset(ac, ale);
-
- if (ale->id) {
- /* materials */
- switch (GS(ale->id->name)) {
- case ID_MA:
- offset += 21;
- break;
-
- case ID_LA:
- case ID_WO:
- offset += 14;
- break;
- }
- }
-
- return offset;
-}
-
-// TODO: just get this from RNA?
-static int acf_filltexd_icon(bAnimListElem *UNUSED(ale))
-{
- return ICON_TEXTURE_DATA;
-}
-
-static void acf_filltexd_name(bAnimListElem *UNUSED(ale), char *name)
-{
- BLI_strncpy(name, "Textures", ANIM_CHAN_NAME_SIZE);
-}
-
-/* get pointer to the setting (category only) */
-static void *acf_filltexd_setting_ptr(bAnimListElem *ale, int setting, short *type)
-{
- ID *id= (ID *)ale->data;
-
- /* clear extra return data first */
- *type= 0;
-
- switch (setting) {
- case ACHANNEL_SETTING_EXPAND: /* expanded */
- {
- switch (GS(id->name)) {
- case ID_MA:
- {
- Material *ma= (Material *)id;
- GET_ACF_FLAG_PTR(ma->flag);
- }
-
- case ID_LA:
- {
- Lamp *la= (Lamp *)id;
- GET_ACF_FLAG_PTR(la->flag);
- }
-
- case ID_WO:
- {
- World *wo= (World *)id;
- GET_ACF_FLAG_PTR(wo->flag);
- }
- }
- }
-
- default: /* unsupported */
- return NULL;
- }
-}
-
-/* get the appropriate flag(s) for the setting when it is valid */
-static int acf_filltexd_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
-{
- /* clear extra return data first */
- *neg= 0;
-
- switch (setting) {
- case ACHANNEL_SETTING_EXPAND: /* expanded */
- /* NOTE: the exact same flag must be used for other texture stack types too! */
- return MA_DS_SHOW_TEXS;
-
- default: /* unsupported */
- return 0;
- }
-}
-
-/* particles expander type define */
-static bAnimChannelType ACF_FILLTEXD=
-{
- "Textures Filler", /* type name */
-
- acf_generic_dataexpand_color, /* backdrop color */
- acf_generic_dataexpand_backdrop,/* backdrop */
- acf_generic_indention_flexible, /* indent level */
- acf_filltexd_offset, /* offset */
-
- acf_filltexd_name, /* name */
- acf_filltexd_icon, /* icon */
-
- acf_generic_dsexpand_setting_valid, /* has setting */
- acf_filltexd_setting_flag, /* flag for setting */
- acf_filltexd_setting_ptr /* pointer for setting */
-};
/* Material Expander ------------------------------------------- */
@@ -1307,12 +1117,6 @@ static int acf_dsmat_icon(bAnimListElem *UNUSED(ale))
return ICON_MATERIAL_DATA;
}
-/* offset for material expanders */
-static short acf_dsmat_offset(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale))
-{
- return 21;
-}
-
/* get the appropriate flag(s) for the setting when it is valid */
static int acf_dsmat_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
{
@@ -1368,12 +1172,13 @@ static bAnimChannelType ACF_DSMAT=
{
"Material Data Expander", /* type name */
- acf_generic_channel_color, /* backdrop color */
- acf_generic_channel_backdrop, /* backdrop */
- acf_generic_indention_0, /* indent level */
- acf_dsmat_offset, /* offset */
+ acf_generic_dataexpand_color, /* backdrop color */
+ acf_generic_dataexpand_backdrop,/* backdrop */
+ acf_generic_indention_1, /* indent level */
+ acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsmat_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1450,6 +1255,7 @@ static bAnimChannelType ACF_DSLAM=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dslam_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1466,22 +1272,10 @@ static int acf_dstex_icon(bAnimListElem *UNUSED(ale))
}
/* offset for texture expanders */
-static short acf_dstex_offset(bAnimContext *UNUSED(ac), bAnimListElem *ale)
+// FIXME: soon to be obsolete?
+static short acf_dstex_offset(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale))
{
- short offset = 21;
-
- /* special offset from owner type */
- // FIXME: too much now!
- switch (ale->ownertype) {
- case ANIMTYPE_DSMAT:
- offset += 14;
-
- case ANIMTYPE_DSLAM:
- case ANIMTYPE_DSWOR:
- offset += 7;
- }
-
- return offset;
+ return 14; // XXX: simply include this in indention instead?
}
/* get the appropriate flag(s) for the setting when it is valid */
@@ -1534,17 +1328,18 @@ static void *acf_dstex_setting_ptr(bAnimListElem *ale, int setting, short *type)
}
}
-/* material expander type define */
+/* texture expander type define */
static bAnimChannelType ACF_DSTEX=
{
"Texture Data Expander", /* type name */
- acf_generic_channel_color, /* backdrop color */
- acf_generic_channel_backdrop, /* backdrop */
- acf_generic_indention_0, /* indent level */
+ acf_generic_dataexpand_color, /* backdrop color */
+ acf_generic_dataexpand_backdrop,/* backdrop */
+ acf_generic_indention_1, /* indent level */
acf_dstex_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
acf_dstex_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1621,6 +1416,7 @@ static bAnimChannelType ACF_DSCAM=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
acf_dscam_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1707,6 +1503,7 @@ static bAnimChannelType ACF_DSCUR=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dscur_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1783,6 +1580,7 @@ static bAnimChannelType ACF_DSSKEY=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsskey_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1859,6 +1657,7 @@ static bAnimChannelType ACF_DSWOR=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
acf_dswor_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1935,6 +1734,7 @@ static bAnimChannelType ACF_DSPART=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dspart_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2011,6 +1811,7 @@ static bAnimChannelType ACF_DSMBALL=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsmball_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2087,6 +1888,7 @@ static bAnimChannelType ACF_DSARM=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsarm_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2102,6 +1904,17 @@ static int acf_dsntree_icon(bAnimListElem *UNUSED(ale))
return ICON_NODETREE;
}
+/* offset for nodetree expanders */
+static short acf_dsntree_offset(bAnimContext *ac, bAnimListElem *ale)
+{
+ bNodeTree *ntree = (bNodeTree *)ale->data;
+ short offset= acf_generic_basic_offset(ac, ale);
+
+ offset += acf_nodetree_rootType_offset(ntree);
+
+ return offset;
+}
+
/* get the appropriate flag(s) for the setting when it is valid */
static int acf_dsntree_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
{
@@ -2159,10 +1972,11 @@ static bAnimChannelType ACF_DSNTREE=
acf_generic_dataexpand_color, /* backdrop color */
acf_generic_dataexpand_backdrop,/* backdrop */
- acf_generic_indention_1, /* indent level */ // XXX this only works for compositing
- acf_generic_basic_offset, /* offset */
+ acf_generic_indention_1, /* indent level */
+ acf_dsntree_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsntree_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2239,6 +2053,7 @@ static bAnimChannelType ACF_DSMESH=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsmesh_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2315,6 +2130,7 @@ static bAnimChannelType ACF_DSLAT=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dslat_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2322,6 +2138,83 @@ static bAnimChannelType ACF_DSLAT=
acf_dslat_setting_ptr /* pointer for setting */
};
+/* Speaker Expander ------------------------------------------- */
+
+// TODO: just get this from RNA?
+static int acf_dsspk_icon(bAnimListElem *UNUSED(ale))
+{
+ return ICON_SPEAKER;
+}
+
+/* get the appropriate flag(s) for the setting when it is valid */
+static int acf_dsspk_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
+{
+ /* clear extra return data first */
+ *neg= 0;
+
+ switch (setting) {
+ case ACHANNEL_SETTING_EXPAND: /* expanded */
+ return SPK_DS_EXPAND;
+
+ case ACHANNEL_SETTING_MUTE: /* mute (only in NLA) */
+ return ADT_NLA_EVAL_OFF;
+
+ case ACHANNEL_SETTING_VISIBLE: /* visible (only in Graph Editor) */
+ *neg= 1;
+ return ADT_CURVES_NOT_VISIBLE;
+
+ case ACHANNEL_SETTING_SELECT: /* selected */
+ return ADT_UI_SELECTED;
+
+ default: /* unsupported */
+ return 0;
+ }
+}
+
+/* get pointer to the setting */
+static void *acf_dsspk_setting_ptr(bAnimListElem *ale, int setting, short *type)
+{
+ Speaker *spk= (Speaker *)ale->data;
+
+ /* clear extra return data first */
+ *type= 0;
+
+ switch (setting) {
+ case ACHANNEL_SETTING_EXPAND: /* expanded */
+ GET_ACF_FLAG_PTR(spk->flag);
+
+ case ACHANNEL_SETTING_SELECT: /* selected */
+ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
+ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
+ if (spk->adt)
+ GET_ACF_FLAG_PTR(spk->adt->flag)
+ else
+ return NULL;
+
+ default: /* unsupported */
+ return NULL;
+ }
+}
+
+/* speaker expander type define */
+static bAnimChannelType ACF_DSSPK=
+{
+ "Speaker Expander", /* type name */
+
+ acf_generic_dataexpand_color, /* backdrop color */
+ acf_generic_dataexpand_backdrop,/* backdrop */
+ acf_generic_indention_1, /* indent level */
+ acf_generic_basic_offset, /* offset */
+
+ acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
+ acf_dsspk_icon, /* icon */
+
+ acf_generic_dataexpand_setting_valid, /* has setting */
+ acf_dsspk_setting_flag, /* flag for setting */
+ acf_dsspk_setting_ptr /* pointer for setting */
+};
+
/* ShapeKey Entry ------------------------------------------- */
/* name for ShapeKey */
@@ -2339,6 +2232,22 @@ static void acf_shapekey_name(bAnimListElem *ale, char *name)
}
}
+/* name property for ShapeKey entries */
+static short acf_shapekey_nameprop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ KeyBlock *kb= (KeyBlock *)ale->data;
+
+ /* if the KeyBlock had a name, use it, otherwise use the index */
+ if (kb && kb->name[0]) {
+ RNA_pointer_create(ale->id, &RNA_ShapeKey, kb, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+ }
+
+ return 0;
+}
+
/* check if some setting exists for this channel */
static short acf_shapekey_setting_valid(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale), int setting)
{
@@ -2405,6 +2314,7 @@ static bAnimChannelType ACF_SHAPEKEY=
acf_generic_basic_offset, /* offset */
acf_shapekey_name, /* name */
+ acf_shapekey_nameprop, /* name prop */
NULL, /* icon */
acf_shapekey_setting_valid, /* has setting */
@@ -2479,6 +2389,7 @@ static bAnimChannelType ACF_GPD =
acf_generic_group_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
acf_gpd_icon, /* icon */
acf_gpd_setting_valid, /* has setting */
@@ -2497,6 +2408,19 @@ static void acf_gpl_name(bAnimListElem *ale, char *name)
BLI_strncpy(name, gpl->info, ANIM_CHAN_NAME_SIZE);
}
+/* name property for grease pencil layer entries */
+static short acf_gpl_name_prop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ if (ale->data) {
+ RNA_pointer_create(ale->id, &RNA_GPencilLayer, ale->data, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+ }
+
+ return 0;
+}
+
/* check if some setting exists for this channel */
static short acf_gpl_setting_valid(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale), int setting)
{
@@ -2554,6 +2478,7 @@ static bAnimChannelType ACF_GPL =
acf_generic_group_offset, /* offset */
acf_gpl_name, /* name */
+ acf_gpl_name_prop, /* name prop */
NULL, /* icon */
acf_gpl_setting_valid, /* has setting */
@@ -2590,9 +2515,6 @@ static void ANIM_init_channel_typeinfo_data (void)
animchannelTypeInfo[type++]= &ACF_FILLACTD; /* Object Action Expander */
animchannelTypeInfo[type++]= &ACF_FILLDRIVERS; /* Drivers Expander */
- animchannelTypeInfo[type++]= &ACF_FILLMATD; /* Materials Expander */
- animchannelTypeInfo[type++]= &ACF_FILLPARTD; /* Particles Expander */
- animchannelTypeInfo[type++]= &ACF_FILLTEXD; /* Textures Expander */
animchannelTypeInfo[type++]= &ACF_DSMAT; /* Material Channel */
animchannelTypeInfo[type++]= &ACF_DSLAM; /* Lamp Channel */
@@ -2607,6 +2529,7 @@ static void ANIM_init_channel_typeinfo_data (void)
animchannelTypeInfo[type++]= &ACF_DSMESH; /* Mesh Channel */
animchannelTypeInfo[type++]= &ACF_DSTEX; /* Texture Channel */
animchannelTypeInfo[type++]= &ACF_DSLAT; /* Lattice Channel */
+ animchannelTypeInfo[type++]= &ACF_DSSPK; /* Speaker Channel */
animchannelTypeInfo[type++]= &ACF_SHAPEKEY; /* ShapeKey */
@@ -2799,6 +2722,8 @@ void ANIM_channel_setting_set (bAnimContext *ac, bAnimListElem *ale, int setting
#define ICON_WIDTH 17
// XXX hardcoded width of sliders
#define SLIDER_WIDTH 80
+// XXX hardcoded width of rename textboxes
+#define RENAME_TEXT_WIDTH 100
/* Draw the given channel */
// TODO: make this use UI controls for the buttons
@@ -2860,7 +2785,7 @@ void ANIM_channel_draw (bAnimContext *ac, bAnimListElem *ale, float yminc, float
* - in Graph Editor, checkboxes for visibility in curves area
* - in NLA Editor, glowing dots for solo/not solo...
*/
- if (ac->sa) {
+ if (ac->sl) {
if ((ac->spacetype == SPACE_IPO) && acf->has_setting(ac, ale, ACHANNEL_SETTING_VISIBLE)) {
/* for F-Curves, draw color-preview of curve behind checkbox */
if (ale->type == ANIMTYPE_FCURVE) {
@@ -2888,10 +2813,12 @@ void ANIM_channel_draw (bAnimContext *ac, bAnimListElem *ale, float yminc, float
}
/* step 5) draw name ............................................... */
+ // TODO: when renaming, we might not want to draw this, especially if name happens to be longer than channel
if (acf->name) {
char name[ANIM_CHAN_NAME_SIZE]; /* hopefully this will be enough! */
/* set text color */
+ // XXX: if active, highlight differently?
if (selected)
UI_ThemeColor(TH_TEXT_HI);
else
@@ -2930,17 +2857,17 @@ void ANIM_channel_draw (bAnimContext *ac, bAnimListElem *ale, float yminc, float
glColor3fv(color);
/* check if we need to show the sliders */
- if ((ac->sa) && ELEM(ac->spacetype, SPACE_ACTION, SPACE_IPO)) {
+ if ((ac->sl) && ELEM(ac->spacetype, SPACE_ACTION, SPACE_IPO)) {
switch (ac->spacetype) {
case SPACE_ACTION:
{
- SpaceAction *saction= (SpaceAction *)ac->sa->spacedata.first;
+ SpaceAction *saction= (SpaceAction *)ac->sl;
draw_sliders= (saction->flag & SACTION_SLIDERS);
}
break;
case SPACE_IPO:
{
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
draw_sliders= (sipo->flag & SIPO_SLIDERS);
}
break;
@@ -3013,11 +2940,8 @@ static void achannel_setting_flush_widget_cb(bContext *C, void *ale_npoin, void
else
return;
- /* get all channels that can possibly be chosen
- * - therefore, the filter is simply ANIMFILTER_CHANNELS, since if we took VISIBLE too,
- * then the channels under closed expanders get ignored...
- */
- filter= ANIMFILTER_CHANNELS;
+ /* get all channels that can possibly be chosen - but ignore hierarchy */
+ filter= ANIMFILTER_DATA_VISIBLE|ANIMFILTER_LIST_CHANNELS;
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* call API method to flush the setting */
@@ -3027,6 +2951,19 @@ static void achannel_setting_flush_widget_cb(bContext *C, void *ale_npoin, void
BLI_freelistN(&anim_data);
}
+/* callback for rename widgets - clear rename-in-progress */
+static void achannel_setting_rename_done_cb(bContext *C, void *ads_poin, void *UNUSED(arg2))
+{
+ bDopeSheet *ads = (bDopeSheet *)ads_poin;
+
+ /* reset rename index so that edit box disappears now that editing is done */
+ ads->renameIndex = 0;
+
+ /* send notifiers */
+ // XXX: right notifier?
+ WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN|NA_RENAME, NULL);
+}
+
/* callback for widget sliders - insert keyframes */
static void achannel_setting_slider_cb(bContext *C, void *id_poin, void *fcu_poin)
{
@@ -3127,9 +3064,9 @@ static void draw_setting_widget (bAnimContext *ac, bAnimListElem *ale, bAnimChan
/* get the base icon for the setting */
switch (setting) {
- case ACHANNEL_SETTING_VISIBLE: /* visibility checkboxes */
- //icon= ((enabled)? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT);
- icon= ICON_CHECKBOX_DEHLT;
+ case ACHANNEL_SETTING_VISIBLE: /* visibility eyes */
+ //icon= ((enabled)? ICON_VISIBLE_IPO_ON : ICON_VISIBLE_IPO_OFF);
+ icon= ICON_VISIBLE_IPO_OFF;
if (ale->type == ANIMTYPE_FCURVE)
tooltip= "Channel is visible in Graph Editor for editing.";
@@ -3158,7 +3095,7 @@ static void draw_setting_widget (bAnimContext *ac, bAnimListElem *ale, bAnimChan
tooltip= "Editability of keyframes for this channel.";
break;
- case ACHANNEL_SETTING_MUTE: /* muted eye */
+ case ACHANNEL_SETTING_MUTE: /* muted speaker */
//icon= ((enabled)? ICON_MUTE_IPO_ON : ICON_MUTE_IPO_OFF);
icon= ICON_MUTE_IPO_OFF;
@@ -3219,12 +3156,11 @@ static void draw_setting_widget (bAnimContext *ac, bAnimListElem *ale, bAnimChan
}
/* Draw UI widgets the given channel */
-// TODO: make this use UI controls for the buttons
-void ANIM_channel_draw_widgets (bAnimContext *ac, bAnimListElem *ale, uiBlock *block, float yminc, float ymaxc)
+void ANIM_channel_draw_widgets (bContext *C, bAnimContext *ac, bAnimListElem *ale, uiBlock *block, float yminc, float ymaxc, size_t channel_index)
{
bAnimChannelType *acf= ANIM_channel_get_typeinfo(ale);
View2D *v2d= &ac->ar->v2d;
- float y, ymid /*, ytext*/;
+ float y, ymid/*, ytext*/;
short offset;
/* sanity checks - don't draw anything */
@@ -3264,7 +3200,7 @@ void ANIM_channel_draw_widgets (bAnimContext *ac, bAnimListElem *ale, uiBlock *b
* - in Graph Editor, checkboxes for visibility in curves area
* - in NLA Editor, glowing dots for solo/not solo...
*/
- if (ac->sa) {
+ if (ac->sl) {
if ((ac->spacetype == SPACE_IPO) && acf->has_setting(ac, ale, ACHANNEL_SETTING_VISIBLE)) {
/* visibility toggle */
draw_setting_widget(ac, ale, acf, block, offset, ymid, ACHANNEL_SETTING_VISIBLE);
@@ -3275,11 +3211,31 @@ void ANIM_channel_draw_widgets (bAnimContext *ac, bAnimListElem *ale, uiBlock *b
draw_setting_widget(ac, ale, acf, block, offset, ymid, ACHANNEL_SETTING_SOLO);
offset += ICON_WIDTH;
}
- (void)offset;
}
- /* step 4) draw text... */
- /* NOTE: this is not done here, since nothing to be clicked on... */
+ /* step 4) draw text - check if renaming widget is in use... */
+ if (acf->name_prop && ac->ads) {
+ float channel_height = ymaxc - yminc;
+
+ /* if rename index matches, add widget for this */
+ if (ac->ads->renameIndex == channel_index+1) {
+ PointerRNA ptr;
+ PropertyRNA *prop;
+
+ /* draw renaming widget if we can get RNA pointer for it */
+ if (acf->name_prop(ale, &ptr, &prop)) {
+ uiBut *but;
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+
+ but = uiDefButR(block, TEX, 1, "", offset+3, yminc, RENAME_TEXT_WIDTH, channel_height, &ptr, RNA_property_identifier(prop), -1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, achannel_setting_rename_done_cb, ac->ads, NULL);
+ uiButActiveOnly(C, block, but);
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ }
+ }
+ }
/* step 5) draw mute+protection toggles + (sliders) ....................... */
/* reset offset - now goes from RHS of panel */
@@ -3291,17 +3247,17 @@ void ANIM_channel_draw_widgets (bAnimContext *ac, bAnimListElem *ale, uiBlock *b
short draw_sliders = 0;
/* check if we need to show the sliders */
- if ((ac->sa) && ELEM(ac->spacetype, SPACE_ACTION, SPACE_IPO)) {
+ if ((ac->sl) && ELEM(ac->spacetype, SPACE_ACTION, SPACE_IPO)) {
switch (ac->spacetype) {
case SPACE_ACTION:
{
- SpaceAction *saction= (SpaceAction *)ac->sa->spacedata.first;
+ SpaceAction *saction= (SpaceAction *)ac->sl;
draw_sliders= (saction->flag & SACTION_SLIDERS);
}
break;
case SPACE_IPO:
{
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
draw_sliders= (sipo->flag & SIPO_SLIDERS);
}
break;
diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c
index 9145cc2b79d..d58d51c8e08 100644
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -38,7 +36,7 @@
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
-
+#include "BKE_library.h"
#include "DNA_anim_types.h"
#include "DNA_object_types.h"
@@ -51,6 +49,7 @@
#include "BKE_action.h"
#include "BKE_fcurve.h"
+#include "BKE_gpencil.h"
#include "BKE_context.h"
#include "BKE_global.h"
@@ -123,6 +122,7 @@ void ANIM_set_active_channel (bAnimContext *ac, void *data, short datatype, int
case ANIMTYPE_DSMESH:
case ANIMTYPE_DSTEX:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
/* need to verify that this data is valid for now */
if (ale->adt) {
@@ -167,6 +167,7 @@ void ANIM_set_active_channel (bAnimContext *ac, void *data, short datatype, int
case ANIMTYPE_DSARM:
case ANIMTYPE_DSMESH:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
/* need to verify that this data is valid for now */
if (ale && ale->adt) {
@@ -194,7 +195,8 @@ void ANIM_deselect_anim_channels (bAnimContext *ac, void *data, short datatype,
int filter;
/* filter data */
- filter= ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS;
+ /* NOTE: no list visible, otherwise, we get dangling */
+ filter= ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS;
ANIM_animdata_filter(ac, &anim_data, filter, data, datatype);
/* See if we should be selecting or deselecting */
@@ -245,6 +247,7 @@ void ANIM_deselect_anim_channels (bAnimContext *ac, void *data, short datatype,
case ANIMTYPE_DSNTREE:
case ANIMTYPE_DSTEX:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
if ((ale->adt) && (ale->adt->flag & ADT_UI_SELECTED))
sel= ACHANNEL_SETFLAG_CLEAR;
@@ -334,6 +337,7 @@ void ANIM_deselect_anim_channels (bAnimContext *ac, void *data, short datatype,
case ANIMTYPE_DSNTREE:
case ANIMTYPE_DSTEX:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
/* need to verify that this data is valid for now */
if (ale->adt) {
@@ -515,12 +519,34 @@ void ANIM_fcurve_delete_from_animdata (bAnimContext *ac, AnimData *adt, FCurve *
* - Drivers
* - TODO... some others?
*/
- if (fcu->grp)
- action_groups_remove_channel(adt->action, fcu);
- else if ((ac) && (ac->datatype == ANIMCONT_DRIVERS))
+ if ((ac) && (ac->datatype == ANIMCONT_DRIVERS)) {
+ /* driver F-Curve */
BLI_remlink(&adt->drivers, fcu);
- else if (adt->action)
- BLI_remlink(&adt->action->curves, fcu);
+ }
+ else if (adt->action) {
+ /* remove from group or action, whichever one "owns" the F-Curve */
+ if (fcu->grp)
+ action_groups_remove_channel(adt->action, fcu);
+ else
+ BLI_remlink(&adt->action->curves, fcu);
+
+ /* if action has no more F-Curves as a result of this, unlink it from
+ * AnimData if it did not come from a NLA Strip being tweaked.
+ *
+ * This is done so that we don't have dangling Object+Action entries in
+ * channel list that are empty, and linger around long after the data they
+ * are for has disappeared (and probably won't come back).
+ */
+ // XXX: does everybody always want this?
+ /* XXX: there's a problem where many actions could build up in the file if multiple
+ * full add/delete cycles are performed on the same objects, but assume that this is rare
+ */
+ if ((adt->action->curves.first == NULL) && (adt->flag & ADT_NLA_EDIT_ON)==0)
+ {
+ id_us_min(&adt->action->id);
+ adt->action = NULL;
+ }
+ }
/* free the F-Curve itself */
free_fcurve(fcu);
@@ -1016,11 +1042,6 @@ static void rearrange_action_channels (bAnimContext *ac, bAction *act, short mod
static int animchannels_rearrange_exec(bContext *C, wmOperator *op)
{
bAnimContext ac;
-
- ListBase anim_data = {NULL, NULL};
- bAnimListElem *ale;
- int filter;
-
short mode;
/* get editor data */
@@ -1030,42 +1051,51 @@ static int animchannels_rearrange_exec(bContext *C, wmOperator *op)
/* get mode */
mode= RNA_enum_get(op->ptr, "direction");
- /* get animdata blocks */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA);
- ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
-
- for (ale = anim_data.first; ale; ale = ale->next) {
- AnimData *adt= ale->data;
+ /* method to move channels depends on the editor */
+ if (ac.datatype == ANIMCONT_GPENCIL) {
+ /* Grease Pencil channels */
+ printf("Grease Pencil not supported for moving yet\n");
+ }
+ else if (ac.datatype == ANIMCONT_ACTION) {
+ /* Directly rearrange action's channels */
+ rearrange_action_channels(&ac, ac.data, mode);
+ }
+ else {
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
- switch (ac.datatype) {
- case ANIMCONT_NLA: /* NLA-tracks only */
- rearrange_nla_channels(&ac, adt, mode);
- break;
+ /* get animdata blocks */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_ANIMDATA);
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ AnimData *adt= ale->data;
- case ANIMCONT_DRIVERS: /* Drivers list only */
- rearrange_driver_channels(&ac, adt, mode);
- break;
-
- case ANIMCONT_GPENCIL: /* Grease Pencil channels */
- // FIXME: this case probably needs to get moved out of here or treated specially...
- printf("grease pencil not supported for moving yet\n");
- break;
+ switch (ac.datatype) {
+ case ANIMCONT_NLA: /* NLA-tracks only */
+ rearrange_nla_channels(&ac, adt, mode);
+ break;
- case ANIMCONT_SHAPEKEY: // DOUBLE CHECK ME...
+ case ANIMCONT_DRIVERS: /* Drivers list only */
+ rearrange_driver_channels(&ac, adt, mode);
+ break;
- default: /* some collection of actions */
- // FIXME: actions should only be considered once!
- if (adt->action)
- rearrange_action_channels(&ac, adt->action, mode);
- else if (G.f & G_DEBUG)
- printf("animdata has no action\n");
- break;
+ case ANIMCONT_SHAPEKEY: // DOUBLE CHECK ME...
+
+ default: /* some collection of actions */
+ if (adt->action)
+ rearrange_action_channels(&ac, adt->action, mode);
+ else if (G.f & G_DEBUG)
+ printf("Animdata has no action\n");
+ break;
+ }
}
+
+ /* free temp data */
+ BLI_freelistN(&anim_data);
}
- /* free temp data */
- BLI_freelistN(&anim_data);
-
/* send notifier that things have changed */
WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN|NA_EDITED, NULL);
@@ -1111,7 +1141,7 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op))
/* do groups only first (unless in Drivers mode, where there are none) */
if (ac.datatype != ANIMCONT_DRIVERS) {
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_CHANNELS | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* delete selected groups and their associated channels */
@@ -1147,28 +1177,41 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op))
BLI_freelistN(&anim_data);
}
- /* now do F-Curves */
- if (ac.datatype != ANIMCONT_GPENCIL) {
- /* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
- ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
-
- /* delete selected F-Curves */
- for (ale= anim_data.first; ale; ale= ale->next) {
- /* only F-Curves, and only if we can identify its parent */
- if (ale->type == ANIMTYPE_FCURVE) {
+ /* filter data */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* delete selected data channels */
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ switch (ale->type) {
+ case ANIMTYPE_FCURVE:
+ {
+ /* F-Curves if we can identify its parent */
AnimData *adt= ale->adt;
FCurve *fcu= (FCurve *)ale->data;
/* try to free F-Curve */
ANIM_fcurve_delete_from_animdata(&ac, adt, fcu);
}
+ break;
+
+ case ANIMTYPE_GPLAYER:
+ {
+ /* Grease Pencil layer */
+ bGPdata *gpd= (bGPdata *)ale->id;
+ bGPDlayer *gpl= (bGPDlayer *)ale->data;
+
+ /* try to delete the layer's data and the layer itself */
+ free_gpencil_frames(gpl);
+ BLI_freelinkN(&gpd->layers, gpl);
+ }
+ break;
}
-
- /* cleanup */
- BLI_freelistN(&anim_data);
}
+ /* cleanup */
+ BLI_freelistN(&anim_data);
+
/* send notifier that things have changed */
WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN|NA_EDITED, NULL);
@@ -1205,12 +1248,27 @@ static int animchannels_visibility_set_exec(bContext *C, wmOperator *UNUSED(op))
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- /* get list of all channels that selection may need to be flushed to */
- filter= ANIMFILTER_CHANNELS;
+ /* get list of all channels that selection may need to be flushed to
+ * - hierarchy mustn't affect what we have access to here...
+ */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &all_data, filter, ac.data, ac.datatype);
-
- /* hide all channels not selected */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_UNSEL | ANIMFILTER_NODUPLIS);
+
+ /* hide all channels not selected
+ * - hierarchy matters if we're doing this from the channels region
+ * since we only want to apply this to channels we can "see",
+ * and have these affect their relatives
+ * - but for Graph Editor, this gets used also from main region
+ * where hierarchy doesn't apply, as for [#21276]
+ */
+ if ((ac.spacetype == SPACE_IPO) && (ac.regiontype != RGN_TYPE_CHANNELS)) {
+ /* graph editor (case 2) */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_UNSEL | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
+ }
+ else {
+ /* standard case */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_UNSEL | ANIMFILTER_NODUPLIS);
+ }
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -1284,12 +1342,16 @@ static int animchannels_visibility_toggle_exec(bContext *C, wmOperator *UNUSED(o
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- /* get list of all channels that selection may need to be flushed to */
- filter= (ANIMFILTER_CHANNELS | ANIMFILTER_NODUPLIS);
+ /* get list of all channels that selection may need to be flushed to
+ * - hierarchy mustn't affect what we have access to here...
+ */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &all_data, filter, ac.data, ac.datatype);
- /* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_NODUPLIS);
+ /* filter data
+ * - restrict this to only applying on settings we can get to in the list
+ */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* See if we should be making showing all selected or hiding */
@@ -1362,10 +1424,6 @@ static EnumPropertyItem prop_animchannel_settings_types[] = {
/* ------------------- */
-/* macro to be used in setflag_anim_channels */
-#define ASUBCHANNEL_SEL_OK(ale) ( (onlysel == 0) || \
- ((ale->id) && (GS(ale->id->name)==ID_OB) && (((Object *)ale->id)->flag & SELECT)) )
-
/* Set/clear a particular flag (setting) for all selected + visible channels
* setting: the setting to modify
* mode: eAnimChannels_SetFlag
@@ -1381,14 +1439,29 @@ static void setflag_anim_channels (bAnimContext *ac, short setting, short mode,
/* filter data that we need if flush is on */
if (flush) {
- /* get list of all channels that selection may need to be flushed to */
- filter= ANIMFILTER_CHANNELS;
+ /* get list of all channels that selection may need to be flushed to
+ * - hierarchy visibility needs to be ignored so that settings can get flushed
+ * "down" inside closed containers
+ */
+ filter= ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS;
ANIM_animdata_filter(ac, &all_data, filter, ac->data, ac->datatype);
}
- /* filter data that we're working on */
- // XXX: noduplis enabled so that results don't cancel, but will be problematic for some channels where only type differs
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS | ANIMFILTER_NODUPLIS);
+ /* filter data that we're working on
+ * - hierarchy matters if we're doing this from the channels region
+ * since we only want to apply this to channels we can "see",
+ * and have these affect their relatives
+ * - but for Graph Editor, this gets used also from main region
+ * where hierarchy doesn't apply [#21276]
+ */
+ if ((ac->spacetype == SPACE_IPO) && (ac->regiontype != RGN_TYPE_CHANNELS)) {
+ /* graph editor (case 2) */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
+ }
+ else {
+ /* standard case */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_NODUPLIS);
+ }
if (onlysel) filter |= ANIMFILTER_SEL;
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -1681,7 +1754,7 @@ static int animchannels_enable_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* loop through filtered data and clean curves */
@@ -1771,13 +1844,14 @@ static void borderselect_anim_channels (bAnimContext *ac, rcti *rect, short sele
bAnimListElem *ale;
int filter;
+ SpaceNla *snla = (SpaceNla *)ac->sl;
View2D *v2d= &ac->ar->v2d;
rctf rectf;
float ymin, ymax;
/* set initial y extents */
if (ac->datatype == ANIMCONT_NLA) {
- ymin = (float)(-NLACHANNEL_HEIGHT);
+ ymin = (float)(-NLACHANNEL_HEIGHT(snla));
ymax = 0.0f;
}
else {
@@ -1790,13 +1864,13 @@ static void borderselect_anim_channels (bAnimContext *ac, rcti *rect, short sele
UI_view2d_region_to_view(v2d, rect->xmax, rect->ymax-2, &rectf.xmax, &rectf.ymax);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop over data, doing border select */
for (ale= anim_data.first; ale; ale= ale->next) {
if (ac->datatype == ANIMCONT_NLA)
- ymin= ymax - NLACHANNEL_STEP;
+ ymin= ymax - NLACHANNEL_STEP(snla);
else
ymin= ymax - ACHANNEL_STEP;
@@ -1892,6 +1966,107 @@ static void ANIM_OT_channels_select_border(wmOperatorType *ot)
WM_operator_properties_gesture_border(ot, FALSE);
}
+/* ******************* Rename Operator ***************************** */
+/* Allow renaming some channels by clicking on them */
+
+static void rename_anim_channels (bAnimContext *ac, int channel_index)
+{
+ ListBase anim_data = {NULL, NULL};
+ bAnimChannelType *acf;
+ bAnimListElem *ale;
+ int filter;
+
+ /* get the channel that was clicked on */
+ /* filter channels */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
+ ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
+
+ /* get channel from index */
+ ale= BLI_findlink(&anim_data, channel_index);
+ if (ale == NULL) {
+ /* channel not found */
+ if (G.f & G_DEBUG)
+ printf("Error: animation channel (index = %d) not found in rename_anim_channels() \n", channel_index);
+
+ BLI_freelistN(&anim_data);
+ return;
+ }
+
+ /* check that channel can be renamed */
+ acf = ANIM_channel_get_typeinfo(ale);
+ if (acf && acf->name_prop) {
+ PointerRNA ptr;
+ PropertyRNA *prop;
+
+ /* ok if we can get name property to edit from this channel */
+ if (acf->name_prop(ale, &ptr, &prop)) {
+ /* actually showing the rename textfield is done on redraw,
+ * so here we just store the index of this channel in the
+ * dopesheet data, which will get utilised when drawing the
+ * channel...
+ *
+ * +1 factor is for backwards compat issues
+ */
+ if (ac->ads) {
+ ac->ads->renameIndex = channel_index + 1;
+ }
+ }
+ }
+
+ /* free temp data and tag for refresh */
+ BLI_freelistN(&anim_data);
+ ED_region_tag_redraw(ac->ar);
+}
+
+static int animchannels_rename_invoke (bContext *C, wmOperator *UNUSED(op), wmEvent *evt)
+{
+ bAnimContext ac;
+ ARegion *ar;
+ View2D *v2d;
+ int channel_index;
+ float x, y;
+
+ /* get editor data */
+ if (ANIM_animdata_get_context(C, &ac) == 0)
+ return OPERATOR_CANCELLED;
+
+ /* get useful pointers from animation context data */
+ ar= ac.ar;
+ v2d= &ar->v2d;
+
+ /* figure out which channel user clicked in
+ * Note: although channels technically start at y= ACHANNEL_FIRST, we need to adjust by half a channel's height
+ * so that the tops of channels get caught ok. Since ACHANNEL_FIRST is really ACHANNEL_HEIGHT, we simply use
+ * ACHANNEL_HEIGHT_HALF.
+ */
+ UI_view2d_region_to_view(v2d, evt->mval[0], evt->mval[1], &x, &y);
+
+ if (ac.datatype == ANIMCONT_NLA) {
+ SpaceNla *snla = (SpaceNla *)ac.sl;
+ UI_view2d_listview_view_to_cell(v2d, NLACHANNEL_NAMEWIDTH, NLACHANNEL_STEP(snla), 0, (float)NLACHANNEL_HEIGHT_HALF(snla), x, y, NULL, &channel_index);
+ }
+ else {
+ UI_view2d_listview_view_to_cell(v2d, ACHANNEL_NAMEWIDTH, ACHANNEL_STEP, 0, (float)ACHANNEL_HEIGHT_HALF, x, y, NULL, &channel_index);
+ }
+
+ /* handle click */
+ rename_anim_channels(&ac, channel_index);
+
+ return OPERATOR_FINISHED;
+}
+
+static void ANIM_OT_channels_rename (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Rename Channels";
+ ot->idname= "ANIM_OT_channels_rename";
+ ot->description= "Rename animation channel under mouse";
+
+ /* api callbacks */
+ ot->invoke= animchannels_rename_invoke;
+ ot->poll= animedit_poll_channels_active;
+}
+
/* ******************** Mouse-Click Operator *********************** */
/* Handle selection changes due to clicking on channels. Settings will get caught by UI code... */
@@ -1904,7 +2079,7 @@ static int mouse_anim_channels (bAnimContext *ac, float UNUSED(x), int channel_i
/* get the channel that was clicked on */
/* filter channels */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get channel from index */
@@ -2002,6 +2177,7 @@ static int mouse_anim_channels (bAnimContext *ac, float UNUSED(x), int channel_i
case ANIMTYPE_DSNTREE:
case ANIMTYPE_DSTEX:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
/* sanity checking... */
if (ale->adt) {
@@ -2214,7 +2390,9 @@ void ED_operatortypes_animchannels(void)
{
WM_operatortype_append(ANIM_OT_channels_select_all_toggle);
WM_operatortype_append(ANIM_OT_channels_select_border);
+
WM_operatortype_append(ANIM_OT_channels_click);
+ WM_operatortype_append(ANIM_OT_channels_rename);
WM_operatortype_append(ANIM_OT_channels_setting_enable);
WM_operatortype_append(ANIM_OT_channels_setting_disable);
@@ -2249,6 +2427,9 @@ void ED_keymap_animchannels(wmKeyConfig *keyconf)
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_click", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", 1);
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_click", LEFTMOUSE, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "children_only", 1);
+ /* rename */
+ WM_keymap_add_item(keymap, "ANIM_OT_channels_rename", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
+
/* deselect all */
WM_keymap_add_item(keymap, "ANIM_OT_channels_select_all_toggle", AKEY, KM_PRESS, 0, 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0)->ptr, "invert", 1);
@@ -2277,10 +2458,10 @@ void ED_keymap_animchannels(wmKeyConfig *keyconf)
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_collapse", PADMINUS, KM_PRESS, KM_CTRL, 0)->ptr, "all", 0);
/* rearranging */
- RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEUPKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_UP);
- RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEDOWNKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_DOWN);
- RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEUPKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_TOP);
- RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEDOWNKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_BOTTOM);
+ RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEUPKEY, KM_PRESS, 0, 0)->ptr, "direction", REARRANGE_ANIMCHAN_UP);
+ RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEDOWNKEY, KM_PRESS, 0, 0)->ptr, "direction", REARRANGE_ANIMCHAN_DOWN);
+ RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEUPKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_TOP);
+ RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEDOWNKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_BOTTOM);
/* Graph Editor only */
WM_keymap_add_item(keymap, "ANIM_OT_channels_visibility_set", VKEY, KM_PRESS, 0, 0);
diff --git a/source/blender/editors/animation/anim_deps.c b/source/blender/editors/animation/anim_deps.c
index b5a1781064c..fdccf5d4baa 100644
--- a/source/blender/editors/animation/anim_deps.c
+++ b/source/blender/editors/animation/anim_deps.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -257,7 +255,7 @@ void ANIM_sync_animchannels_to_data (const bContext *C)
/* filter data */
/* NOTE: we want all channels, since we want to be able to set selection status on some of them even when collapsed */
- filter= ANIMFILTER_CHANNELS;
+ filter= ANIMFILTER_DATA_VISIBLE|ANIMFILTER_LIST_CHANNELS;
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* flush settings as appropriate depending on the types of the channels */
diff --git a/source/blender/editors/animation/anim_draw.c b/source/blender/editors/animation/anim_draw.c
index 9c923d3492b..70974386917 100644
--- a/source/blender/editors/animation/anim_draw.c
+++ b/source/blender/editors/animation/anim_draw.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -38,6 +36,7 @@
#include "BLI_math.h"
#include "BKE_context.h"
+#include "BKE_global.h"
#include "BKE_nla.h"
#include "BKE_object.h"
@@ -225,7 +224,10 @@ void ANIM_draw_cfra (const bContext *C, View2D *v2d, short flag)
vec[0]= (float)(scene->r.cfra * scene->r.framelen);
UI_ThemeColor(TH_CFRAME);
- glLineWidth(2.0);
+ if (flag & DRAWCFRA_WIDE)
+ glLineWidth(3.0);
+ else
+ glLineWidth(2.0);
glBegin(GL_LINE_STRIP);
vec[1]= v2d->cur.ymin-500.0f; /* XXX arbitrary... want it go to bottom */
@@ -243,13 +245,13 @@ void ANIM_draw_cfra (const bContext *C, View2D *v2d, short flag)
// XXX ob->ipoflag is depreceated!
if ((ob->ipoflag & OB_OFFS_OB) && (timeoffset != 0.0f)) {
vec[0]-= timeoffset; /* could avoid calling twice */
-
+
UI_ThemeColorShade(TH_CFRAME, -30);
-
+
glBegin(GL_LINE_STRIP);
/*vec[1]= v2d->cur.ymax;*/ // this is set already. this line is only included
glVertex2fv(vec);
-
+
vec[1]= v2d->cur.ymin;
glVertex2fv(vec);
glEnd();
@@ -305,6 +307,9 @@ AnimData *ANIM_nla_mapping_get(bAnimContext *ac, bAnimListElem *ale)
if (ac == NULL)
return NULL;
+ /* abort if rendering - we may get some race condition issues... */
+ if (G.rendering) return NULL;
+
/* handling depends on the type of animation-context we've got */
if (ale)
return ale->adt;
@@ -444,6 +449,9 @@ void ANIM_unit_mapping_apply_fcurve (Scene *scene, ID *id, FCurve *fcu, short fl
KeyframeEditFunc sel_cb;
float fac;
+ /* abort if rendering - we may get some race condition issues... */
+ if (G.rendering) return;
+
/* calculate mapping factor, and abort if nothing to change */
fac= ANIM_unit_mapping_get_factor(scene, id, fcu, (flag & ANIM_UNITCONV_RESTORE));
if (fac == 1.0f)
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index 967002131c2..bb710a32794 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -67,6 +65,7 @@
#include "DNA_sequence_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_world_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_object_types.h"
@@ -127,6 +126,9 @@ static Key *actedit_get_shapekeys (bAnimContext *ac)
/* Get data being edited in Action Editor (depending on current 'mode') */
static short actedit_get_context (bAnimContext *ac, SpaceAction *saction)
{
+ /* get dopesheet */
+ ac->ads = &saction->ads;
+
/* sync settings with current view status, then return appropriate data */
switch (saction->mode) {
case SACTCONT_ACTION: /* 'Action Editor' */
@@ -190,6 +192,7 @@ static short graphedit_get_context (bAnimContext *ac, SpaceIpo *sipo)
sipo->ads= MEM_callocN(sizeof(bDopeSheet), "GraphEdit DopeSheet");
sipo->ads->source= (ID *)ac->scene;
}
+ ac->ads = sipo->ads;
/* set settings for Graph Editor - "Selected = Editable" */
if (sipo->flag & SIPO_SELCUVERTSONLY)
@@ -238,6 +241,7 @@ static short nlaedit_get_context (bAnimContext *ac, SpaceNla *snla)
/* init dopesheet data if non-existant (i.e. for old files) */
if (snla->ads == NULL)
snla->ads= MEM_callocN(sizeof(bDopeSheet), "NlaEdit DopeSheet");
+ ac->ads = snla->ads;
/* sync settings with current view status, then return appropriate data */
/* update scene-pointer (no need to check for pinning yet, as not implemented) */
@@ -258,29 +262,29 @@ static short nlaedit_get_context (bAnimContext *ac, SpaceNla *snla)
*/
short ANIM_animdata_context_getdata (bAnimContext *ac)
{
- ScrArea *sa= ac->sa;
+ SpaceLink *sl = ac->sl;
short ok= 0;
/* context depends on editor we are currently in */
- if (sa) {
- switch (sa->spacetype) {
+ if (sl) {
+ switch (ac->spacetype) {
case SPACE_ACTION:
{
- SpaceAction *saction= (SpaceAction *)sa->spacedata.first;
+ SpaceAction *saction= (SpaceAction *)sl;
ok= actedit_get_context(ac, saction);
}
break;
case SPACE_IPO:
{
- SpaceIpo *sipo= (SpaceIpo *)sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)sl;
ok= graphedit_get_context(ac, sipo);
}
break;
case SPACE_NLA:
{
- SpaceNla *snla= (SpaceNla *)sa->spacedata.first;
+ SpaceNla *snla= (SpaceNla *)sl;
ok= nlaedit_get_context(ac, snla);
}
break;
@@ -303,6 +307,7 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
{
ScrArea *sa= CTX_wm_area(C);
ARegion *ar= CTX_wm_region(C);
+ SpaceLink *sl= CTX_wm_space_data(C);
Scene *scene= CTX_data_scene(C);
/* clear old context info */
@@ -317,6 +322,7 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
}
ac->sa= sa;
ac->ar= ar;
+ ac->sl= sl;
ac->spacetype= (sa) ? sa->spacetype : 0;
ac->regiontype= (ar) ? ar->regiontype : 0;
@@ -327,6 +333,35 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
/* ************************************************************ */
/* Blender Data <-- Filter --> Channels to be operated on */
+/* macros to use before/after getting the sub-channels of some channel,
+ * to abstract away some of the tricky logic involved
+ *
+ * cases:
+ * 1) Graph Edit main area (just data) OR channels visible in Channel List
+ * 2) If not showing channels, we're only interested in the data (Action Editor's editing)
+ * 3) We don't care what data, we just care there is some (so that a collapsed
+ * channel can be kept around). No need to clear channels-flag in order to
+ * keep expander channels with no sub-data out, as those cases should get
+ * dealt with by the recursive detection idiom in place.
+ */
+#define BEGIN_ANIMFILTER_SUBCHANNELS(expanded_check) \
+ { \
+ int _filter = filter_mode; \
+ short _doSubChannels = 0; \
+ if (!(filter_mode & ANIMFILTER_LIST_VISIBLE) || (expanded_check)) \
+ _doSubChannels=1; \
+ else if (!(filter_mode & ANIMFILTER_LIST_CHANNELS)) \
+ _doSubChannels=2; \
+ else {\
+ filter_mode |= ANIMFILTER_TMP_PEEK; \
+ }
+ /* ... standard sub-channel filtering can go on here now ... */
+#define END_ANIMFILTER_SUBCHANNELS \
+ filter_mode = _filter; \
+ }
+
+/* ............................... */
+
/* quick macro to test if AnimData is usable */
#define ANIMDATA_HAS_KEYS(id) ((id)->adt && (id)->adt->action)
@@ -336,8 +371,7 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
/* quick macro to test if AnimData is usable for NLA */
#define ANIMDATA_HAS_NLA(id) ((id)->adt && (id)->adt->nla_tracks.first)
-
-/* Quick macro to test for all three avove usability tests, performing the appropriate provided
+/* Quick macro to test for all three above usability tests, performing the appropriate provided
* action for each when the AnimData context is appropriate.
*
* Priority order for this goes (most important, to least): AnimData blocks, NLA, Drivers, Keyframes.
@@ -347,7 +381,7 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
* - ListBase anim_data;
* - bDopeSheet *ads;
* - bAnimListElem *ale;
- * - int items;
+ * - size_t items;
*
* - id: ID block which should have an AnimData pointer following it immediately, to use
* - adtOk: line or block of code to execute for AnimData-blocks case (usually ANIMDATA_ADD_ANIMDATA)
@@ -361,13 +395,14 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
* 2A) nla tracks: include animdata block's data as there are NLA tracks+strips there
* 2B) actions to convert to nla: include animdata block's data as there is an action that can be
* converted to a new NLA strip, and the filtering options allow this
+ * 2C) allow non-animated datablocks to be included so that datablocks can be added
* 3) drivers: include drivers from animdata block (for Drivers mode in Graph Editor)
* 4) normal keyframes: only when there is an active action
*/
#define ANIMDATA_FILTER_CASES(id, adtOk, nlaOk, driversOk, keysOk) \
{\
if ((id)->adt) {\
- if (!(filter_mode & ANIMFILTER_CURVEVISIBLE) || !((id)->adt->flag & ADT_CURVES_NOT_VISIBLE)) {\
+ if (!(filter_mode & ANIMFILTER_CURVE_VISIBLE) || !((id)->adt->flag & ADT_CURVES_NOT_VISIBLE)) {\
if (filter_mode & ANIMFILTER_ANIMDATA) {\
adtOk\
}\
@@ -393,17 +428,31 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
}\
}
+/* ............................... */
-/* quick macro to add a pointer to an AnimData block as a channel */
-#define ANIMDATA_ADD_ANIMDATA(id) \
- {\
- ale= make_new_animlistelem((id)->adt, ANIMTYPE_ANIMDATA, NULL, ANIMTYPE_NONE, (ID *)id);\
+/* Add a new animation channel, taking into account the "peek" flag, which is used to just check
+ * whether any channels will be added (but without needing them to actually get created).
+ *
+ * ! This causes the calling function to return early if we're only "peeking" for channels
+ */
+// XXX: ale_statement stuff is really a hack for one special case. It shouldn't really be needed...
+#define ANIMCHANNEL_NEW_CHANNEL_FULL(channel_data, channel_type, owner_id, ale_statement) \
+ if (filter_mode & ANIMFILTER_TMP_PEEK) \
+ return 1; \
+ else { \
+ bAnimListElem *ale= make_new_animlistelem(channel_data, channel_type, (ID *)owner_id); \
if (ale) {\
- BLI_addtail(anim_data, ale);\
- items++;\
- }\
+ BLI_addtail(anim_data, ale); \
+ items++; \
+ ale_statement \
+ } \
}
+#define ANIMCHANNEL_NEW_CHANNEL(channel_data, channel_type, owner_id) \
+ ANIMCHANNEL_NEW_CHANNEL_FULL(channel_data, channel_type, owner_id, {})
+
+/* ............................... */
+
/* quick macro to test if an anim-channel representing an AnimData block is suitably active */
#define ANIMCHANNEL_ACTIVEOK(ale) \
( !(filter_mode & ANIMFILTER_ACTIVE) || !(ale->adt) || (ale->adt->flag & ADT_UI_ACTIVE) )
@@ -432,7 +481,7 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
/* this function allocates memory for a new bAnimListElem struct for the
* provided animation channel-data.
*/
-static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *owner, short ownertype, ID *owner_id)
+static bAnimListElem *make_new_animlistelem (void *data, short datatype, ID *owner_id)
{
bAnimListElem *ale= NULL;
@@ -443,10 +492,6 @@ static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *o
ale->data= data;
ale->type= datatype;
- // XXX what is the point of the owner data?
- // xxx try and use this to simplify the problem of finding whether parent channels are working...
- ale->owner= owner;
- ale->ownertype= ownertype;
ale->id= owner_id;
ale->adt= BKE_animdata_from_id(owner_id);
@@ -509,55 +554,6 @@ static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *o
ale->datatype= ALE_NONE;
}
break;
- case ANIMTYPE_FILLMATD:
- {
- Object *ob= (Object *)data;
-
- ale->flag= FILTER_MAT_OBJC(ob);
-
- ale->key_data= NULL;
- ale->datatype= ALE_NONE;
- }
- break;
- case ANIMTYPE_FILLPARTD:
- {
- Object *ob= (Object *)data;
-
- ale->flag= FILTER_PART_OBJC(ob);
-
- ale->key_data= NULL;
- ale->datatype= ALE_NONE;
- }
- break;
- case ANIMTYPE_FILLTEXD:
- {
- ID *id= (ID *)data;
-
- switch (GS(id->name)) {
- case ID_MA:
- {
- Material *ma= (Material *)id;
- ale->flag= FILTER_TEX_MATC(ma);
- }
- break;
- case ID_LA:
- {
- Lamp *la= (Lamp *)id;
- ale->flag= FILTER_TEX_LAMC(la);
- }
- break;
- case ID_WO:
- {
- World *wo= (World *)id;
- ale->flag= FILTER_TEX_WORC(wo);
- }
- break;
- }
-
- ale->key_data= NULL;
- ale->datatype= ALE_NONE;
- }
- break;
case ANIMTYPE_DSMAT:
{
@@ -650,6 +646,19 @@ static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *o
ale->adt= BKE_animdata_from_id(data);
}
break;
+ case ANIMTYPE_DSSPK:
+ {
+ Speaker *spk= (Speaker *)data;
+ AnimData *adt= spk->adt;
+
+ ale->flag= FILTER_SPK_OBJD(spk);
+
+ ale->key_data= (adt) ? adt->action : NULL;
+ ale->datatype= ALE_ACT;
+
+ ale->adt= BKE_animdata_from_id(data);
+ }
+ break;
case ANIMTYPE_DSSKEY:
{
Key *key= (Key *)data;
@@ -681,7 +690,7 @@ static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *o
bNodeTree *ntree= (bNodeTree *)data;
AnimData *adt= ntree->adt;
- ale->flag= FILTER_NTREE_SCED(ntree);
+ ale->flag= FILTER_NTREE_DATA(ntree);
ale->key_data= (adt) ? adt->action : NULL;
ale->datatype= ALE_ACT;
@@ -807,7 +816,7 @@ static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *o
/* 'Only Selected' selected data filtering
* NOTE: when this function returns true, the F-Curve is to be skipped
*/
-static int skip_fcurve_selected_data (bDopeSheet *ads, FCurve *fcu, ID *owner_id, int filter_mode)
+static size_t skip_fcurve_selected_data (bDopeSheet *ads, FCurve *fcu, ID *owner_id, int filter_mode)
{
if (GS(owner_id->name) == ID_OB) {
Object *ob= (Object *)owner_id;
@@ -825,11 +834,12 @@ static int skip_fcurve_selected_data (bDopeSheet *ads, FCurve *fcu, ID *owner_id
/* check whether to continue or skip */
if ((pchan) && (pchan->bone)) {
/* if only visible channels, skip if bone not visible unless user wants channels from hidden data too */
- if ((filter_mode & ANIMFILTER_VISIBLE) && !(ads->filterflag & ADS_FILTER_INCL_HIDDEN)) {
+ if ((filter_mode & ANIMFILTER_DATA_VISIBLE) && !(ads->filterflag & ADS_FILTER_INCL_HIDDEN)) {
bArmature *arm= (bArmature *)ob->data;
if ((arm->layer & pchan->bone->layer) == 0)
return 1;
+ // TODO: manually hidden using flags
}
/* can only add this F-Curve if it is selected */
@@ -910,7 +920,7 @@ static short skip_fcurve_with_name (bDopeSheet *ads, FCurve *fcu, ID *owner_id)
}
/* find the next F-Curve that is usable for inclusion */
-static FCurve *animdata_filter_fcurve_next (bDopeSheet *ads, FCurve *first, bActionGroup *grp, int filter_mode, ID *owner_id)
+static FCurve *animfilter_fcurve_next (bDopeSheet *ads, FCurve *first, bActionGroup *grp, int filter_mode, ID *owner_id)
{
FCurve *fcu = NULL;
@@ -932,7 +942,7 @@ static FCurve *animdata_filter_fcurve_next (bDopeSheet *ads, FCurve *first, bAct
}
/* only include if visible (Graph Editor check, not channels check) */
- if (!(filter_mode & ANIMFILTER_CURVEVISIBLE) || (fcu->flag & FCURVE_VISIBLE)) {
+ if (!(filter_mode & ANIMFILTER_CURVE_VISIBLE) || (fcu->flag & FCURVE_VISIBLE)) {
/* only work with this channel and its subchannels if it is editable */
if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_FCU(fcu)) {
/* only include this curve if selected in a way consistent with the filtering requirements */
@@ -957,10 +967,10 @@ static FCurve *animdata_filter_fcurve_next (bDopeSheet *ads, FCurve *first, bAct
return NULL;
}
-static int animdata_filter_fcurves (ListBase *anim_data, bDopeSheet *ads, FCurve *first, bActionGroup *grp, void *owner, short ownertype, int filter_mode, ID *owner_id)
+static size_t animfilter_fcurves (ListBase *anim_data, bDopeSheet *ads, FCurve *first, bActionGroup *grp, int filter_mode, ID *owner_id)
{
FCurve *fcu;
- int items = 0;
+ size_t items = 0;
/* loop over every F-Curve able to be included
* - this for-loop works like this:
@@ -971,26 +981,98 @@ static int animdata_filter_fcurves (ListBase *anim_data, bDopeSheet *ads, FCurve
* 4) the fcu pointer is set to the F-Curve after the one we just added, so that we can keep going through
* the rest of the F-Curve list without an eternal loop. Back to step 2 :)
*/
- for (fcu=first; ( (fcu = animdata_filter_fcurve_next(ads, fcu, grp, filter_mode, owner_id)) ); fcu=fcu->next)
+ for (fcu=first; ( (fcu = animfilter_fcurve_next(ads, fcu, grp, filter_mode, owner_id)) ); fcu=fcu->next)
+ {
+ ANIMCHANNEL_NEW_CHANNEL(fcu, ANIMTYPE_FCURVE, owner_id);
+ }
+
+ /* return the number of items added to the list */
+ return items;
+}
+
+static size_t animfilter_act_group (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, bAction *UNUSED(act), bActionGroup *agrp, int filter_mode, ID *owner_id)
+{
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+ //int ofilter = filter_mode;
+
+ /* if we care about the selection status of the channels,
+ * but the group isn't expanded (1)...
+ * (1) this only matters if we actually care about the hierarchy though.
+ * - Hierarchy matters: this hack should be applied
+ * - Hierarchy ignored: cases like [#21276] won't work properly, unless we skip this hack
+ */
+ if ( ((filter_mode & ANIMFILTER_LIST_VISIBLE) && EXPANDED_AGRP(ac, agrp)==0) && /* care about hierarchy but group isn't expanded */
+ (filter_mode & (ANIMFILTER_SEL|ANIMFILTER_UNSEL)) ) /* care about selection status */
{
- bAnimListElem *ale = make_new_animlistelem(fcu, ANIMTYPE_FCURVE, owner, ownertype, owner_id);
+ /* if the group itself isn't selected appropriately, we shouldn't consider it's children either */
+ if (ANIMCHANNEL_SELOK(SEL_AGRP(agrp)) == 0)
+ return 0;
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
+ /* if we're still here, then the selection status of the curves within this group should not matter,
+ * since this creates too much overhead for animators (i.e. making a slow workflow)
+ *
+ * Tools affected by this at time of coding (2010 Feb 09):
+ * - inserting keyframes on selected channels only
+ * - pasting keyframes
+ * - creating ghost curves in Graph Editor
+ */
+ filter_mode &= ~(ANIMFILTER_SEL|ANIMFILTER_UNSEL|ANIMFILTER_LIST_VISIBLE);
+ }
+
+ /* add grouped F-Curves */
+ BEGIN_ANIMFILTER_SUBCHANNELS(EXPANDED_AGRP(ac, agrp))
+ {
+ /* special filter so that we can get just the F-Curves within the active group */
+ if (!(filter_mode & ANIMFILTER_ACTGROUPED) || (agrp->flag & AGRP_ACTIVE)) {
+ /* for the Graph Editor, curves may be set to not be visible in the view to lessen clutter,
+ * but to do this, we need to check that the group doesn't have it's not-visible flag set preventing
+ * all its sub-curves to be shown
+ */
+ if ( !(filter_mode & ANIMFILTER_CURVE_VISIBLE) || !(agrp->flag & AGRP_NOTVISIBLE) )
+ {
+ /* group must be editable for its children to be editable (if we care about this) */
+ if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_AGRP(agrp)) {
+ /* get first F-Curve which can be used here */
+ FCurve *first_fcu = animfilter_fcurve_next(ads, agrp->channels.first, agrp, filter_mode, owner_id);
+
+ /* filter list, starting from this F-Curve */
+ tmp_items += animfilter_fcurves(&tmp_data, ads, first_fcu, agrp, filter_mode, owner_id);
+ }
+ }
+ }
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* add this group as a channel first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* restore original filter mode so that this next step works ok... */
+ //filter_mode = ofilter;
+
+ /* filter selection of channel specially here again, since may be open and not subject to previous test */
+ if ( ANIMCHANNEL_SELOK(SEL_AGRP(agrp)) ) {
+ ANIMCHANNEL_NEW_CHANNEL(agrp, ANIMTYPE_GROUP, owner_id);
+ }
}
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
/* return the number of items added to the list */
return items;
}
-static int animdata_filter_action (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, bAction *act, int filter_mode, void *owner, short ownertype, ID *owner_id)
+static size_t animfilter_action (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, bAction *act, int filter_mode, ID *owner_id)
{
- bAnimListElem *ale=NULL;
bActionGroup *agrp;
- FCurve *lastchan=NULL;
- int items = 0;
+ FCurve *lastchan = NULL;
+ size_t items = 0;
/* don't include anything from this action if it is linked in from another file,
* and we're getting stuff for editing...
@@ -998,106 +1080,22 @@ static int animdata_filter_action (bAnimContext *ac, ListBase *anim_data, bDopeS
// TODO: need a way of tagging other channels that may also be affected...
if ((filter_mode & ANIMFILTER_FOREDIT) && (act->id.lib))
return 0;
-
- /* loop over groups */
- // TODO: in future, should we expect to need nested groups?
- for (agrp= act->groups.first; agrp; agrp= agrp->next) {
- FCurve *first_fcu;
- int filter_gmode;
+ /* do groups */
+ // TODO: do nested groups?
+ for (agrp = act->groups.first; agrp; agrp = agrp->next) {
/* store reference to last channel of group */
if (agrp->channels.last)
lastchan= agrp->channels.last;
-
-
- /* make a copy of filtering flags for use by the sub-channels of this group */
- filter_gmode= filter_mode;
-
- /* if we care about the selection status of the channels,
- * but the group isn't expanded...
- */
- if ( (filter_mode & (ANIMFILTER_SEL|ANIMFILTER_UNSEL)) && /* care about selection status */
- (EXPANDED_AGRP(ac, agrp)==0) ) /* group isn't expanded */
- {
- /* if the group itself isn't selected appropriately, we shouldn't consider it's children either */
- if (ANIMCHANNEL_SELOK(SEL_AGRP(agrp)) == 0)
- continue;
- /* if we're still here, then the selection status of the curves within this group should not matter,
- * since this creates too much overhead for animators (i.e. making a slow workflow)
- *
- * Tools affected by this at time of coding (2010 Feb 09):
- * - inserting keyframes on selected channels only
- * - pasting keyframes
- * - creating ghost curves in Graph Editor
- */
- filter_gmode &= ~(ANIMFILTER_SEL|ANIMFILTER_UNSEL);
- }
-
-
- /* get the first F-Curve in this group we can start to use, and if there isn't any F-Curve to start from,
- * then don't use this group at all...
- *
- * NOTE: use filter_gmode here not filter_mode, since there may be some flags we shouldn't consider under certain circumstances
- */
- first_fcu = animdata_filter_fcurve_next(ads, agrp->channels.first, agrp, filter_gmode, owner_id);
-
- /* Bug note:
- * Selecting open group to toggle visbility of the group, where the F-Curves of the group are not suitable
- * for inclusion due to their selection status (vs visibility status of bones/etc., as is usually the case),
- * will not work, since the group gets skipped. However, fixing this can easily reintroduce the bugs whereby
- * hidden groups (due to visibility status of bones/etc.) that were selected before becoming invisible, can
- * easily get deleted accidentally as they'd be included in the list filtered for that purpose.
- *
- * So, for now, best solution is to just leave this note here, and hope to find a solution at a later date.
- * -- Joshua Leung, 2010 Feb 10
- */
- if (first_fcu) {
- /* add this group as a channel first */
- if ((filter_mode & ANIMFILTER_CHANNELS) || !(filter_mode & ANIMFILTER_CURVESONLY)) {
- /* filter selection of channel specially here again, since may be open and not subject to previous test */
- if ( ANIMCHANNEL_SELOK(SEL_AGRP(agrp)) ) {
- ale= make_new_animlistelem(agrp, ANIMTYPE_GROUP, NULL, ANIMTYPE_NONE, owner_id);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
- }
-
- /* there are some situations, where only the channels of the action group should get considered */
- if (!(filter_mode & ANIMFILTER_ACTGROUPED) || (agrp->flag & AGRP_ACTIVE)) {
- /* filters here are a bit convoulted...
- * - groups show a "summary" of keyframes beside their name which must accessable for tools which handle keyframes
- * - groups can be collapsed (and those tools which are only interested in channels rely on knowing that group is closed)
- *
- * cases when we should include F-Curves inside group:
- * - we don't care about visibility
- * - group is expanded
- * - we just need the F-Curves present
- */
- if ( (!(filter_mode & ANIMFILTER_VISIBLE) || EXPANDED_AGRP(ac, agrp)) || (filter_mode & ANIMFILTER_CURVESONLY) )
- {
- /* for the Graph Editor, curves may be set to not be visible in the view to lessen clutter,
- * but to do this, we need to check that the group doesn't have it's not-visible flag set preventing
- * all its sub-curves to be shown
- */
- if ( !(filter_mode & ANIMFILTER_CURVEVISIBLE) || !(agrp->flag & AGRP_NOTVISIBLE) )
- {
- if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_AGRP(agrp)) {
- /* NOTE: filter_gmode is used here, not standard filter_mode, since there may be some flags that shouldn't apply */
- items += animdata_filter_fcurves(anim_data, ads, first_fcu, agrp, owner, ownertype, filter_gmode, owner_id);
- }
- }
- }
- }
- }
+ /* action group's channels */
+ items += animfilter_act_group(ac, anim_data, ads, act, agrp, filter_mode, owner_id);
}
- /* loop over un-grouped F-Curves (only if we're not only considering those channels in the animive group) */
+ /* un-grouped F-Curves (only if we're not only considering those channels in the active group) */
if (!(filter_mode & ANIMFILTER_ACTGROUPED)) {
- // XXX the 'owner' info here needs review...
- items += animdata_filter_fcurves(anim_data, ads, (lastchan)?(lastchan->next):(act->curves.first), NULL, owner, ownertype, filter_mode, owner_id);
+ FCurve *firstfcu = (lastchan)? (lastchan->next) : (act->curves.first);
+ items += animfilter_fcurves(anim_data, ads, firstfcu, NULL, filter_mode, owner_id);
}
/* return the number of items added to the list */
@@ -1105,35 +1103,35 @@ static int animdata_filter_action (bAnimContext *ac, ListBase *anim_data, bDopeS
}
/* Include NLA-Data for NLA-Editor:
- * - when ANIMFILTER_CHANNELS is used, that means we should be filtering the list for display
+ * - when ANIMFILTER_LIST_CHANNELS is used, that means we should be filtering the list for display
* Although the evaluation order is from the first track to the last and then apply the Action on top,
* we present this in the UI as the Active Action followed by the last track to the first so that we
* get the evaluation order presented as per a stack.
* - for normal filtering (i.e. for editing), we only need the NLA-tracks but they can be in 'normal' evaluation
* order, i.e. first to last. Otherwise, some tools may get screwed up.
*/
-static int animdata_filter_nla (bAnimContext *UNUSED(ac), ListBase *anim_data, bDopeSheet *UNUSED(ads), AnimData *adt, int filter_mode, void *owner, short ownertype, ID *owner_id)
+static size_t animfilter_nla (bAnimContext *UNUSED(ac), ListBase *anim_data, bDopeSheet *ads, AnimData *adt, int filter_mode, ID *owner_id)
{
- bAnimListElem *ale;
NlaTrack *nlt;
NlaTrack *first=NULL, *next=NULL;
- int items = 0;
+ size_t items = 0;
/* if showing channels, include active action */
- if (filter_mode & ANIMFILTER_CHANNELS) {
- /* there isn't really anything editable here, so skip if need editable */
- // TODO: currently, selection isn't checked since it doesn't matter
- if ((filter_mode & ANIMFILTER_FOREDIT) == 0) {
- /* just add the action track now (this MUST appear for drawing)
- * - as AnimData may not have an action, we pass a dummy pointer just to get the list elem created, then
- * overwrite this with the real value - REVIEW THIS...
- */
- ale= make_new_animlistelem((void *)(&adt->action), ANIMTYPE_NLAACTION, owner, ownertype, owner_id);
- ale->data= (adt->action) ? adt->action : NULL;
-
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* if NLA action-line filtering is off, don't show unless there are keyframes,
+ * in order to keep things more compact for doing transforms
+ */
+ if (!(ads->filterflag & ADS_FILTER_NLA_NOACT) || (adt->action)) {
+ /* there isn't really anything editable here, so skip if need editable */
+ if ((filter_mode & ANIMFILTER_FOREDIT) == 0) {
+ /* just add the action track now (this MUST appear for drawing)
+ * - as AnimData may not have an action, we pass a dummy pointer just to get the list elem created, then
+ * overwrite this with the real value - REVIEW THIS...
+ */
+ ANIMCHANNEL_NEW_CHANNEL_FULL((void *)(&adt->action), ANIMTYPE_NLAACTION, owner_id,
+ {
+ ale->data= adt->action ? adt->action : NULL;
+ });
}
}
@@ -1148,7 +1146,7 @@ static int animdata_filter_nla (bAnimContext *UNUSED(ac), ListBase *anim_data, b
/* loop over NLA Tracks - assume that the caller of this has already checked that these should be included */
for (nlt= first; nlt; nlt= next) {
/* 'next' NLA-Track to use depends on whether we're filtering for drawing or not */
- if (filter_mode & ANIMFILTER_CHANNELS)
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS)
next= nlt->prev;
else
next= nlt->next;
@@ -1166,12 +1164,7 @@ static int animdata_filter_nla (bAnimContext *UNUSED(ac), ListBase *anim_data, b
if ( ANIMCHANNEL_SELOK(SEL_NLT(nlt)) ) {
/* only include if this track is active */
if (!(filter_mode & ANIMFILTER_ACTIVE) || (nlt->flag & NLATRACK_ACTIVE)) {
- ale= make_new_animlistelem(nlt, ANIMTYPE_NLATRACK, owner, ownertype, owner_id);
-
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ ANIMCHANNEL_NEW_CHANNEL(nlt, ANIMTYPE_NLATRACK, owner_id);
}
}
}
@@ -1181,14 +1174,49 @@ static int animdata_filter_nla (bAnimContext *UNUSED(ac), ListBase *anim_data, b
return items;
}
+/* determine what animation data from AnimData block should get displayed */
+static size_t animfilter_block_data (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *id, int filter_mode)
+{
+ AnimData *adt = BKE_animdata_from_id(id);
+ size_t items = 0;
+
+ /* image object datablocks have no anim-data so check for NULL */
+ if(adt) {
+ IdAdtTemplate *iat = (IdAdtTemplate*)id;
+
+ /* NOTE: this macro is used instead of inlining the logic here, since this sort of filtering is still needed
+ * in a few places in he rest of the code still - notably for the few cases where special mode-based
+ * different types of data expanders are required.
+ */
+ ANIMDATA_FILTER_CASES(iat,
+ { /* AnimData */
+ /* specifically filter animdata block */
+ ANIMCHANNEL_NEW_CHANNEL(adt, ANIMTYPE_ANIMDATA, id);
+ },
+ { /* NLA */
+ items += animfilter_nla(ac, anim_data, ads, adt, filter_mode, id);
+ },
+ { /* Drivers */
+ items += animfilter_fcurves(anim_data, ads, adt->drivers.first, NULL, filter_mode, id);
+ },
+ { /* Keyframes */
+ items += animfilter_action(ac, anim_data, ads, adt->action, filter_mode, id);
+ }
+ );
+ }
+
+ return items;
+}
+
+
+
/* Include ShapeKey Data for ShapeKey Editor */
-static int animdata_filter_shapekey (bAnimContext *ac, ListBase *anim_data, Key *key, int filter_mode)
+static size_t animdata_filter_shapekey (bAnimContext *ac, ListBase *anim_data, Key *key, int filter_mode)
{
- bAnimListElem *ale;
- int items = 0;
+ size_t items = 0;
/* check if channels or only F-Curves */
- if ((filter_mode & ANIMFILTER_CURVESONLY) == 0) {
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
KeyBlock *kb;
/* loop through the channels adding ShapeKeys as appropriate */
@@ -1204,24 +1232,21 @@ static int animdata_filter_shapekey (bAnimContext *ac, ListBase *anim_data, Key
// TODO: consider 'active' too?
/* owner-id here must be key so that the F-Curve can be resolved... */
- ale= make_new_animlistelem(kb, ANIMTYPE_SHAPEKEY, NULL, ANIMTYPE_NONE, (ID *)key);
-
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ ANIMCHANNEL_NEW_CHANNEL(kb, ANIMTYPE_SHAPEKEY, key);
}
}
}
}
else {
/* just use the action associated with the shapekey */
- // FIXME: is owner-id and having no owner/dopesheet really fine?
+ // TODO: somehow manage to pass dopesheet info down here too?
if (key->adt) {
- if (filter_mode & ANIMFILTER_ANIMDATA)
- ANIMDATA_ADD_ANIMDATA(key)
- else if (key->adt->action)
- items= animdata_filter_action(ac, anim_data, NULL, key->adt->action, filter_mode, NULL, ANIMTYPE_NONE, (ID *)key);
+ if (filter_mode & ANIMFILTER_ANIMDATA) {
+ ANIMCHANNEL_NEW_CHANNEL(key->adt, ANIMTYPE_ANIMDATA, key);
+ }
+ else if (key->adt->action) {
+ items= animfilter_action(ac, anim_data, NULL, key->adt->action, filter_mode, (ID *)key);
+ }
}
}
@@ -1229,53 +1254,102 @@ static int animdata_filter_shapekey (bAnimContext *ac, ListBase *anim_data, Key
return items;
}
+static size_t animdata_filter_gpencil_data (ListBase *anim_data, bGPdata *gpd, int filter_mode)
+{
+ bGPDlayer *gpl;
+ size_t items = 0;
+
+ /* loop over layers as the conditions are acceptable */
+ for (gpl= gpd->layers.first; gpl; gpl= gpl->next) {
+ /* only if selected */
+ if ( ANIMCHANNEL_SELOK(SEL_GPL(gpl)) ) {
+ /* only if editable */
+ if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_GPL(gpl)) {
+ /* active... */
+ if (!(filter_mode & ANIMFILTER_ACTIVE) || (gpl->flag & GP_LAYER_ACTIVE)) {
+ /* add to list */
+ ANIMCHANNEL_NEW_CHANNEL(gpl, ANIMTYPE_GPLAYER, gpd);
+ }
+ }
+ }
+ }
+
+ return items;
+}
+
/* Grab all Grase Pencil datablocks in file */
// TODO: should this be amalgamated with the dopesheet filtering code?
-static int animdata_filter_gpencil (ListBase *anim_data, void *UNUSED(data), int filter_mode)
+static size_t animdata_filter_gpencil (ListBase *anim_data, void *UNUSED(data), int filter_mode)
{
- bAnimListElem *ale;
bGPdata *gpd;
- bGPDlayer *gpl;
- int items = 0;
+ size_t items = 0;
- /* check if filtering types are appropriate */
- if (!(filter_mode & (ANIMFILTER_ACTGROUPED|ANIMFILTER_CURVESONLY)))
- {
- /* for now, grab grease pencil datablocks directly from main*/
- for (gpd = G.main->gpencil.first; gpd; gpd = gpd->id.next) {
- /* only show if gpd is used by something... */
- if (ID_REAL_USERS(gpd) < 1)
- continue;
+ /* for now, grab grease pencil datablocks directly from main */
+ // XXX: this is not good...
+ for (gpd = G.main->gpencil.first; gpd; gpd = gpd->id.next) {
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+
+ /* only show if gpd is used by something... */
+ if (ID_REAL_USERS(gpd) < 1)
+ continue;
- /* add gpd as channel too (if for drawing, and it has layers) */
- if ((filter_mode & ANIMFILTER_CHANNELS) && (gpd->layers.first)) {
- /* add to list */
- ale= make_new_animlistelem(gpd, ANIMTYPE_GPDATABLOCK, NULL, ANIMTYPE_NONE, NULL);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ /* add gpencil animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(EXPANDED_GPD(gpd))
+ {
+ tmp_items += animdata_filter_gpencil_data(&tmp_data, gpd, filter_mode);
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include data-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* add gpd as channel too (if for drawing, and it has layers) */
+ ANIMCHANNEL_NEW_CHANNEL(gpd, ANIMTYPE_GPDATABLOCK, NULL);
}
- /* only add layers if they will be visible (if drawing channels) */
- if ( !(filter_mode & ANIMFILTER_VISIBLE) || (EXPANDED_GPD(gpd)) ) {
- /* loop over layers as the conditions are acceptable */
- for (gpl= gpd->layers.first; gpl; gpl= gpl->next) {
- /* only if selected */
- if ( ANIMCHANNEL_SELOK(SEL_GPL(gpl)) ) {
- /* only if editable */
- if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_GPL(gpl)) {
- /* add to list */
- ale= make_new_animlistelem(gpl, ANIMTYPE_GPLAYER, gpd, ANIMTYPE_GPDATABLOCK, (ID*)gpd);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
- }
- }
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
+ }
+ }
+
+ /* return the number of items added to the list */
+ return items;
+}
+
+/* NOTE: owner_id is scene, material, or texture block, which is the direct owner of the node tree in question */
+// TODO: how to handle group nodes is still unclear...
+static size_t animdata_filter_ds_nodetree (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *owner_id, bNodeTree *ntree, int filter_mode)
+{
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ /* add nodetree animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_NTREE_DATA(ntree))
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)ntree, filter_mode);
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include data-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* check if filtering by active status */
+ if ANIMCHANNEL_ACTIVEOK(ntree) {
+ ANIMCHANNEL_NEW_CHANNEL(ntree, ANIMTYPE_DSNTREE, owner_id);
}
}
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
/* return the number of items added to the list */
@@ -1283,16 +1357,11 @@ static int animdata_filter_gpencil (ListBase *anim_data, void *UNUSED(data), int
}
/* NOTE: owner_id is either material, lamp, or world block, which is the direct owner of the texture stack in question */
-static int animdata_filter_dopesheet_texs (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *owner_id, int filter_mode)
+static size_t animdata_filter_ds_textures (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *owner_id, int filter_mode)
{
- ListBase texs = {NULL, NULL};
- LinkData *ld;
MTex **mtex = NULL;
- short expanded=0;
- int ownertype = ANIMTYPE_NONE;
-
- bAnimListElem *ale=NULL;
- int items=0, a=0;
+ size_t items=0;
+ int a=0;
/* get datatype specific data first */
if (owner_id == NULL)
@@ -1302,28 +1371,19 @@ static int animdata_filter_dopesheet_texs (bAnimContext *ac, ListBase *anim_data
case ID_MA:
{
Material *ma= (Material *)owner_id;
-
mtex= (MTex**)(&ma->mtex);
- expanded= FILTER_TEX_MATC(ma);
- ownertype= ANIMTYPE_DSMAT;
}
break;
case ID_LA:
{
Lamp *la= (Lamp *)owner_id;
-
mtex= (MTex**)(&la->mtex);
- expanded= FILTER_TEX_LAMC(la);
- ownertype= ANIMTYPE_DSLAM;
}
break;
case ID_WO:
{
World *wo= (World *)owner_id;
-
mtex= (MTex**)(&wo->mtex);
- expanded= FILTER_TEX_WORC(wo);
- ownertype= ANIMTYPE_DSWOR;
}
break;
default:
@@ -1338,235 +1398,137 @@ static int animdata_filter_dopesheet_texs (bAnimContext *ac, ListBase *anim_data
/* firstly check that we actuallly have some textures, by gathering all textures in a temp list */
for (a=0; a < MAX_MTEX; a++) {
Tex *tex= (mtex[a]) ? mtex[a]->tex : NULL;
- short ok = 0;
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
/* for now, if no texture returned, skip (this shouldn't confuse the user I hope) */
- if (ELEM(NULL, tex, tex->adt))
+ if (tex == NULL)
continue;
- /* check if ok */
- ANIMDATA_FILTER_CASES(tex,
- { /* AnimData blocks - do nothing... */ },
- ok=1;,
- ok=1;,
- ok=1;)
- if (ok == 0) continue;
-
- /* make a temp list elem for this */
- ld= MEM_callocN(sizeof(LinkData), "DopeSheet-TextureCache");
- ld->data= tex;
- BLI_addtail(&texs, ld);
- }
-
- /* if there were no channels found, no need to carry on */
- if (texs.first == NULL)
- return 0;
-
- /* include textures-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(owner_id, ANIMTYPE_FILLTEXD, owner_id, ownertype, owner_id);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add textures */
- if ((expanded) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- /* for each texture in cache, add channels */
- for (ld= texs.first; ld; ld= ld->next) {
- Tex *tex= (Tex *)ld->data;
+ /* add texture's animation data to temp collection */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_TEX_DATA(tex))
+ {
+ /* texture animdata */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)tex, filter_mode);
+ /* nodes */
+ if ((tex->nodetree) && !(ads->filterflag & ADS_FILTER_NONTREE)) {
+ /* owner_id as id instead of texture, since it'll otherwise be impossible to track the depth */
+ // FIXME: perhaps as a result, textures should NOT be included under materials, but under their own section instead
+ // so that free-floating textures can also be animated
+ tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)tex, tex->nodetree, filter_mode);
+ }
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
/* include texture-expand widget? */
- if (filter_mode & ANIMFILTER_CHANNELS) {
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
/* check if filtering by active status */
if ANIMCHANNEL_ACTIVEOK(tex) {
- ale= make_new_animlistelem(tex, ANIMTYPE_DSTEX, owner_id, ownertype, owner_id);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ ANIMCHANNEL_NEW_CHANNEL(tex, ANIMTYPE_DSTEX, owner_id);
}
}
- /* add texture's animation data
- * NOTE: for these, we make the owner/ownertype the material/lamp/etc. not the texture, otherwise the
- * drawing code cannot resolve the indention easily
- */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_TEX_DATA(tex) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- ANIMDATA_FILTER_CASES(tex,
- { /* AnimData blocks - do nothing... */ },
- items += animdata_filter_nla(ac, anim_data, ads, tex->adt, filter_mode, owner_id, ownertype, (ID *)tex);,
- items += animdata_filter_fcurves(anim_data, ads, tex->adt->drivers.first, NULL, owner_id, ownertype, filter_mode, (ID *)tex);,
- items += animdata_filter_action(ac, anim_data, ads, tex->adt->action, filter_mode, owner_id, ownertype, (ID *)tex);)
- }
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
}
- /* free cache */
- BLI_freelistN(&texs);
-
/* return the number of items added to the list */
return items;
}
-static int animdata_filter_dopesheet_mats (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode)
+static size_t animdata_filter_ds_materials (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode)
{
- ListBase mats = {NULL, NULL};
- LinkData *ld;
-
- bAnimListElem *ale=NULL;
- Object *ob= base->object;
- int items=0, a=0;
+ size_t items=0;
+ int a=0;
/* firstly check that we actuallly have some materials, by gathering all materials in a temp list */
for (a=1; a <= ob->totcol; a++) {
Material *ma= give_current_material(ob, a);
- short ok = 0;
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
- /* for now, if no material returned, skip (this shouldn't confuse the user I hope) */
+ /* if no material returned, skip - so that we don't get weird blank entries... */
if (ma == NULL) continue;
-
- /* check if ok */
- ANIMDATA_FILTER_CASES(ma,
- { /* AnimData blocks - do nothing... */ },
- ok=1;,
- ok=1;,
- ok=1;)
-
- /* need to check textures */
- if (ok == 0 && !(ads->filterflag & ADS_FILTER_NOTEX)) {
- int mtInd;
-
- for (mtInd=0; mtInd < MAX_MTEX; mtInd++) {
- MTex *mtex = ma->mtex[mtInd];
-
- if(mtex && mtex->tex) {
- ANIMDATA_FILTER_CASES(mtex->tex,
- { /* AnimData blocks - do nothing... */ },
- ok=1;,
- ok=1;,
- ok=1;)
- }
-
- if(ok)
- break;
- }
- }
- if (ok == 0) continue;
-
- /* make a temp list elem for this */
- ld= MEM_callocN(sizeof(LinkData), "DopeSheet-MaterialCache");
- ld->data= ma;
- BLI_addtail(&mats, ld);
- }
-
- /* if there were no channels found, no need to carry on */
- if (mats.first == NULL)
- return 0;
-
- /* include materials-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(ob, ANIMTYPE_FILLMATD, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
+ /* add material's animation data to temp collection */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_MAT_OBJD(ma))
+ {
+ /* material's animation data */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)ma, filter_mode);
+
+ /* textures */
+ if (!(ads->filterflag & ADS_FILTER_NOTEX))
+ tmp_items += animdata_filter_ds_textures(ac, &tmp_data, ads, (ID *)ma, filter_mode);
+
+ /* nodes */
+ if ((ma->nodetree) && !(ads->filterflag & ADS_FILTER_NONTREE))
+ tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)ma, ma->nodetree, filter_mode);
}
- }
-
- /* add materials? */
- if (FILTER_MAT_OBJC(ob) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- /* for each material in cache, add channels */
- for (ld= mats.first; ld; ld= ld->next) {
- Material *ma= (Material *)ld->data;
-
- /* include material-expand widget? */
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include material-expand widget first */
// hmm... do we need to store the index of this material in the array anywhere?
- if (filter_mode & ANIMFILTER_CHANNELS) {
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
/* check if filtering by active status */
if ANIMCHANNEL_ACTIVEOK(ma) {
- ale= make_new_animlistelem(ma, ANIMTYPE_DSMAT, base, ANIMTYPE_OBJECT, (ID *)ma);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ ANIMCHANNEL_NEW_CHANNEL(ma, ANIMTYPE_DSMAT, ma);
}
}
- /* add material's animation data */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_MAT_OBJD(ma) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- /* material's animation data */
- ANIMDATA_FILTER_CASES(ma,
- { /* AnimData blocks - do nothing... */ },
- items += animdata_filter_nla(ac, anim_data, ads, ma->adt, filter_mode, ma, ANIMTYPE_DSMAT, (ID *)ma);,
- items += animdata_filter_fcurves(anim_data, ads, ma->adt->drivers.first, NULL, ma, ANIMTYPE_DSMAT, filter_mode, (ID *)ma);,
- items += animdata_filter_action(ac, anim_data, ads, ma->adt->action, filter_mode, ma, ANIMTYPE_DSMAT, (ID *)ma);)
-
- /* textures */
- if (!(ads->filterflag & ADS_FILTER_NOTEX))
- items += animdata_filter_dopesheet_texs(ac, anim_data, ads, (ID *)ma, filter_mode);
- }
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
}
- /* free cache */
- BLI_freelistN(&mats);
-
/* return the number of items added to the list */
return items;
}
-static int animdata_filter_dopesheet_particles (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode)
+static size_t animdata_filter_ds_particles (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode)
{
- bAnimListElem *ale=NULL;
- Object *ob= base->object;
- ParticleSystem *psys = ob->particlesystem.first;
- int items= 0, first = 1;
-
- for(; psys; psys=psys->next) {
- short ok = 0;
+ ParticleSystem *psys;
+ size_t items= 0;
- if(ELEM(NULL, psys->part, psys->part->adt))
+ for (psys = ob->particlesystem.first; psys; psys=psys->next) {
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+
+ /* if no material returned, skip - so that we don't get weird blank entries... */
+ if (ELEM(NULL, psys->part, psys->part->adt))
continue;
-
- ANIMDATA_FILTER_CASES(psys->part,
- { /* AnimData blocks - do nothing... */ },
- ok=1;,
- ok=1;,
- ok=1;)
- if (ok == 0) continue;
-
- /* include particles-expand widget? */
- if (first && (filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(ob, ANIMTYPE_FILLPARTD, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- first = 0;
+
+ /* add particle-system's animation data to temp collection */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_PART_OBJD(psys->part))
+ {
+ /* material's animation data */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)psys->part, filter_mode);
}
+ END_ANIMFILTER_SUBCHANNELS;
- /* add particle settings? */
- if (FILTER_PART_OBJC(ob) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- if ((filter_mode & ANIMFILTER_CHANNELS)) {
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include particle-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
/* check if filtering by active status */
if ANIMCHANNEL_ACTIVEOK(psys->part) {
- ale = make_new_animlistelem(psys->part, ANIMTYPE_DSPART, base, ANIMTYPE_OBJECT, (ID *)psys->part);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ ANIMCHANNEL_NEW_CHANNEL(psys->part, ANIMTYPE_DSPART, psys->part);
}
}
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_PART_OBJD(psys->part) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- ANIMDATA_FILTER_CASES(psys->part,
- { /* AnimData blocks - do nothing... */ },
- items += animdata_filter_nla(ac, anim_data, ads, psys->part->adt, filter_mode, psys->part, ANIMTYPE_DSPART, (ID *)psys->part);,
- items += animdata_filter_fcurves(anim_data, ads, psys->part->adt->drivers.first, NULL, psys->part, ANIMTYPE_DSPART, filter_mode, (ID *)psys->part);,
- items += animdata_filter_action(ac, anim_data, ads, psys->part->adt->action, filter_mode, psys->part, ANIMTYPE_DSPART, (ID *)psys->part);)
- }
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
}
@@ -1574,14 +1536,14 @@ static int animdata_filter_dopesheet_particles (bAnimContext *ac, ListBase *anim
return items;
}
-static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode)
+static size_t animdata_filter_ds_obdata (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode)
{
- bAnimListElem *ale=NULL;
- Object *ob= base->object;
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items= 0;
+
IdAdtTemplate *iat= ob->data;
- AnimData *adt= iat->adt;
short type=0, expanded=0;
- int items= 0;
/* get settings based on data type */
switch (ob->type) {
@@ -1589,6 +1551,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
Camera *ca= (Camera *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOCAM)
+ return 0;
+
type= ANIMTYPE_DSCAM;
expanded= FILTER_CAM_OBJD(ca);
}
@@ -1597,6 +1562,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
Lamp *la= (Lamp *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOLAM)
+ return 0;
+
type= ANIMTYPE_DSLAM;
expanded= FILTER_LAM_OBJD(la);
}
@@ -1607,6 +1575,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
Curve *cu= (Curve *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOCUR)
+ return 0;
+
type= ANIMTYPE_DSCUR;
expanded= FILTER_CUR_OBJD(cu);
}
@@ -1615,6 +1586,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
MetaBall *mb= (MetaBall *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOMBA)
+ return 0;
+
type= ANIMTYPE_DSMBALL;
expanded= FILTER_MBALL_OBJD(mb);
}
@@ -1623,6 +1597,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
bArmature *arm= (bArmature *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOARM)
+ return 0;
+
type= ANIMTYPE_DSARM;
expanded= FILTER_ARM_OBJD(arm);
}
@@ -1631,6 +1608,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
Mesh *me= (Mesh *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOMESH)
+ return 0;
+
type= ANIMTYPE_DSMESH;
expanded= FILTER_MESH_OBJD(me);
}
@@ -1639,463 +1619,366 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
Lattice *lt = (Lattice *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOLAT)
+ return 0;
+
type= ANIMTYPE_DSLAT;
expanded= FILTER_LATTICE_OBJD(lt);
}
break;
- }
-
- /* include data-expand widget? */
- if ((filter_mode & ANIMFILTER_CURVESONLY) == 0) {
- /* check if filtering by active status */
- if ANIMCHANNEL_ACTIVEOK(iat) {
- ale= make_new_animlistelem(iat, type, base, ANIMTYPE_OBJECT, (ID *)iat);
- if (ale) BLI_addtail(anim_data, ale);
+ case OB_SPEAKER: /* ---------- Speaker ----------- */
+ {
+ Speaker *spk= (Speaker *)ob->data;
+
+ type= ANIMTYPE_DSSPK;
+ expanded= FILTER_SPK_OBJD(spk);
}
+ break;
}
- /* add object-data animation channels? */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || (expanded) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- /* filtering for channels - nla, drivers, keyframes */
- ANIMDATA_FILTER_CASES(iat,
- { /* AnimData blocks - do nothing... */ },
- items+= animdata_filter_nla(ac, anim_data, ads, iat->adt, filter_mode, iat, type, (ID *)iat);,
- items+= animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, iat, type, filter_mode, (ID *)iat);,
- items+= animdata_filter_action(ac, anim_data, ads, iat->adt->action, filter_mode, iat, type, (ID *)iat);)
-
+ /* add object data animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(expanded)
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)iat, filter_mode);
+
/* sub-data filtering... */
switch (ob->type) {
case OB_LAMP: /* lamp - textures */
{
/* textures */
if (!(ads->filterflag & ADS_FILTER_NOTEX))
- items += animdata_filter_dopesheet_texs(ac, anim_data, ads, ob->data, filter_mode);
+ tmp_items += animdata_filter_ds_textures(ac, &tmp_data, ads, ob->data, filter_mode);
}
break;
}
}
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include data-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* check if filtering by active status */
+ if ANIMCHANNEL_ACTIVEOK(iat) {
+ ANIMCHANNEL_NEW_CHANNEL(iat, type, iat);
+ }
+ }
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
+ }
/* return the number of items added to the list */
return items;
}
-static int animdata_filter_dopesheet_ob (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode)
+/* shapekey-level animation */
+static size_t animdata_filter_ds_keyanim (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, Key *key, int filter_mode)
{
- bAnimListElem *ale=NULL;
- AnimData *adt = NULL;
- Object *ob= base->object;
- Key *key= ob_get_key(ob);
- short obdata_ok = 0;
- int items = 0;
-
- /* add this object as a channel first */
- if ((filter_mode & (ANIMFILTER_CURVESONLY|ANIMFILTER_NLATRACKS)) == 0) {
- /* check if filtering by selection */
- if ANIMCHANNEL_SELOK((base->flag & SELECT)) {
- /* check if filtering by active status */
- if ANIMCHANNEL_ACTIVEOK(ob) {
- ale= make_new_animlistelem(base, ANIMTYPE_OBJECT, NULL, ANIMTYPE_NONE, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
- }
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ /* add shapekey-level animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_SKE_OBJD(key))
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)key, filter_mode);
}
+ END_ANIMFILTER_SUBCHANNELS;
- /* if collapsed, don't go any further (unless adding keyframes only) */
- if ( ((filter_mode & ANIMFILTER_VISIBLE) && EXPANDED_OBJC(ob) == 0) &&
- !(filter_mode & (ANIMFILTER_CURVESONLY|ANIMFILTER_NLATRACKS)) )
- return items;
-
- /* Action, Drivers, or NLA */
- if (ob->adt && !(ads->filterflag & ADS_FILTER_NOOBJ)) {
- adt= ob->adt;
- ANIMDATA_FILTER_CASES(ob,
- { /* AnimData blocks - do nothing... */ },
- { /* nla */
- /* add NLA tracks */
- items += animdata_filter_nla(ac, anim_data, ads, adt, filter_mode, ob, ANIMTYPE_OBJECT, (ID *)ob);
- },
- { /* drivers */
- /* include drivers-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(adt->action, ANIMTYPE_FILLDRIVERS, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels (drivers are F-Curves) */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || EXPANDED_DRVD(adt) || !(filter_mode & ANIMFILTER_CHANNELS)) {
- // need to make the ownertype normal object here... (maybe type should be a separate one for clarity?)
- items += animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, ob, ANIMTYPE_OBJECT, filter_mode, (ID *)ob);
- }
- },
- { /* action (keyframes) */
- /* include action-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(adt->action, ANIMTYPE_FILLACTD, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels? */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || EXPANDED_ACTC(adt->action) || !(filter_mode & ANIMFILTER_CHANNELS)) {
- // need to make the ownertype normal object here... (maybe type should be a separate one for clarity?)
- items += animdata_filter_action(ac, anim_data, ads, adt->action, filter_mode, ob, ANIMTYPE_OBJECT, (ID *)ob);
- }
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include key-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ if ANIMCHANNEL_ACTIVEOK(key) {
+ ANIMCHANNEL_NEW_CHANNEL(key, ANIMTYPE_DSSKEY, ob);
}
- );
+ }
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
+ /* return the number of items added to the list */
+ return items;
+}
+
+/* object-level animation */
+static size_t animdata_filter_ds_obanim (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode)
+{
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ AnimData *adt = ob->adt;
+ short type=0, expanded=1;
+ void *cdata = NULL;
+
+ /* determine the type of expander channels to use */
+ // this is the best way to do this for now...
+ ANIMDATA_FILTER_CASES(ob,
+ {/* AnimData - no channel, but consider data */},
+ {/* NLA - no channel, but consider data */},
+ {/* Drivers */
+ type = ANIMTYPE_FILLDRIVERS;
+ cdata = adt;
+ expanded = EXPANDED_DRVD(adt);
+ },
+ {/* Keyframes */
+ type = ANIMTYPE_FILLACTD;
+ cdata = adt->action;
+ expanded = EXPANDED_ACTC(adt->action);
+ });
+
+ /* add object-level animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(expanded)
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)ob, filter_mode);
+ }
+ END_ANIMFILTER_SUBCHANNELS;
- /* ShapeKeys? */
- if ((key) && !(ads->filterflag & ADS_FILTER_NOSHAPEKEYS)) {
- adt= key->adt;
- ANIMDATA_FILTER_CASES(key,
- { /* AnimData blocks - do nothing... */ },
- { /* nla */
- /* include shapekey-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- /* check if filtering by active status */
- if ANIMCHANNEL_ACTIVEOK(key) {
- ale= make_new_animlistelem(key, ANIMTYPE_DSSKEY, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
- }
-
- /* add NLA tracks - only if expanded or so */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_SKE_OBJD(key) || (filter_mode & ANIMFILTER_CURVESONLY))
- items += animdata_filter_nla(ac, anim_data, ads, adt, filter_mode, ob, ANIMTYPE_OBJECT, (ID *)key);
- },
- { /* drivers */
- /* include shapekey-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(key, ANIMTYPE_DSSKEY, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add channels */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_SKE_OBJD(key) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- items += animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, key, ANIMTYPE_DSSKEY, filter_mode, (ID *)key);
- }
- },
- { /* action (keyframes) */
- /* include shapekey-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- /* check if filtering by active status */
- if ANIMCHANNEL_ACTIVEOK(key) {
- ale= make_new_animlistelem(key, ANIMTYPE_DSSKEY, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
- }
-
- /* add channels */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_SKE_OBJD(key) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- items += animdata_filter_action(ac, anim_data, ads, adt->action, filter_mode, key, ANIMTYPE_DSSKEY, (ID *)key);
- }
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include anim-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ if (type != ANIMTYPE_NONE) {
+ /* NOTE: active-status (and the associated checks) don't apply here... */
+ ANIMCHANNEL_NEW_CHANNEL(cdata, type, ob);
}
- );
+ }
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
+
+ /* return the number of items added to the list */
+ return items;
+}
- /* Materials? */
- if ((ob->totcol) && !(ads->filterflag & ADS_FILTER_NOMAT))
- items += animdata_filter_dopesheet_mats(ac, anim_data, ads, base, filter_mode);
+/* get animation channels from object2 */
+static size_t animdata_filter_dopesheet_ob (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode)
+{
+ ListBase tmp_data = {NULL, NULL};
+ Object *ob= base->object;
+ size_t tmp_items = 0;
+ size_t items = 0;
- /* Object Data */
- switch (ob->type) {
- case OB_CAMERA: /* ------- Camera ------------ */
- {
- Camera *ca= (Camera *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOCAM) == 0) {
- ANIMDATA_FILTER_CASES(ca,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
- }
- break;
- case OB_LAMP: /* ---------- Lamp ----------- */
- {
- Lamp *la= (Lamp *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOLAM) == 0) {
- ANIMDATA_FILTER_CASES(la,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
+ /* filter data contained under object first */
+ BEGIN_ANIMFILTER_SUBCHANNELS(EXPANDED_OBJC(ob))
+ {
+ Key *key= ob_get_key(ob);
+
+ /* object-level animation */
+ if ((ob->adt) && !(ads->filterflag & ADS_FILTER_NOOBJ)) {
+ tmp_items += animdata_filter_ds_obanim(ac, &tmp_data, ads, ob, filter_mode);
}
- break;
- case OB_CURVE: /* ------- Curve ---------- */
- case OB_SURF: /* ------- Nurbs Surface ---------- */
- case OB_FONT: /* ------- Text Curve ---------- */
- {
- Curve *cu= (Curve *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOCUR) == 0) {
- ANIMDATA_FILTER_CASES(cu,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
+
+ /* shape-key */
+ if ((key && key->adt) && !(ads->filterflag & ADS_FILTER_NOSHAPEKEYS)) {
+ tmp_items += animdata_filter_ds_keyanim(ac, &tmp_data, ads, ob, key, filter_mode);
}
- break;
- case OB_MBALL: /* ------- MetaBall ---------- */
- {
- MetaBall *mb= (MetaBall *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOMBA) == 0) {
- ANIMDATA_FILTER_CASES(mb,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
+
+ /* materials */
+ if ((ob->totcol) && !(ads->filterflag & ADS_FILTER_NOMAT)) {
+ tmp_items += animdata_filter_ds_materials(ac, &tmp_data, ads, ob, filter_mode);
}
- break;
- case OB_ARMATURE: /* ------- Armature ---------- */
- {
- bArmature *arm= (bArmature *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOARM) == 0) {
- ANIMDATA_FILTER_CASES(arm,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
+
+ /* object data */
+ if (ob->data) {
+ tmp_items += animdata_filter_ds_obdata(ac, &tmp_data, ads, ob, filter_mode);
}
- break;
- case OB_MESH: /* ------- Mesh ---------- */
- {
- Mesh *me= (Mesh *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOMESH) == 0) {
- ANIMDATA_FILTER_CASES(me,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
+
+ /* particles */
+ if ((ob->particlesystem.first) && !(ads->filterflag & ADS_FILTER_NOPART)) {
+ tmp_items += animdata_filter_ds_particles(ac, &tmp_data, ads, ob, filter_mode);
}
- break;
- case OB_LATTICE: /* ------- Lattice ---------- */
- {
- Lattice *lt= (Lattice *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOLAT) == 0) {
- ANIMDATA_FILTER_CASES(lt,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+
+ /* if we collected some channels, add these to the new list... */
+ if (tmp_items) {
+ /* firstly add object expander if required */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* check if filtering by selection */
+ // XXX: double-check on this - most of the time, a lot of tools need to filter out these channels!
+ if ANIMCHANNEL_SELOK((base->flag & SELECT)) {
+ /* check if filtering by active status */
+ if (ANIMCHANNEL_ACTIVEOK(ob)) {
+ ANIMCHANNEL_NEW_CHANNEL(base, ANIMTYPE_OBJECT, ob);
+ }
}
}
- break;
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
- if (obdata_ok)
- items += animdata_filter_dopesheet_obdata(ac, anim_data, ads, base, filter_mode);
-
- /* particles */
- if (ob->particlesystem.first && !(ads->filterflag & ADS_FILTER_NOPART))
- items += animdata_filter_dopesheet_particles(ac, anim_data, ads, base, filter_mode);
- /* return the number of items added to the list */
+ /* return the number of items added */
return items;
-}
+}
-static int animdata_filter_dopesheet_scene (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, int filter_mode)
+static size_t animdata_filter_ds_world (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, World *wo, int filter_mode)
{
- World *wo= sce->world;
- bNodeTree *ntree= sce->nodetree;
- AnimData *adt= NULL;
- bAnimListElem *ale;
- int items = 0;
-
- /* add scene as a channel first (even if we aren't showing scenes we still need to show the scene's sub-data */
- if ((filter_mode & (ANIMFILTER_CURVESONLY|ANIMFILTER_NLATRACKS)) == 0) {
- /* check if filtering by selection */
- if (ANIMCHANNEL_SELOK( (sce->flag & SCE_DS_SELECTED) )) {
- ale= make_new_animlistelem(sce, ANIMTYPE_SCENE, NULL, ANIMTYPE_NONE, NULL);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ /* add world animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_WOR_SCED(wo))
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)wo, filter_mode);
+
+ /* textures for world */
+ if (!(ads->filterflag & ADS_FILTER_NOTEX))
+ items += animdata_filter_ds_textures(ac, &tmp_data, ads, (ID *)wo, filter_mode);
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include data-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* check if filtering by active status */
+ if ANIMCHANNEL_ACTIVEOK(wo) {
+ ANIMCHANNEL_NEW_CHANNEL(wo, ANIMTYPE_DSWOR, sce);
}
}
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
- /* if collapsed, don't go any further (unless adding keyframes only) */
- if ( (EXPANDED_SCEC(sce) == 0) && !(filter_mode & (ANIMFILTER_CURVESONLY|ANIMFILTER_NLATRACKS)) )
- return items;
+ /* return the number of items added to the list */
+ return items;
+}
+
+static size_t animdata_filter_ds_scene (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, int filter_mode)
+{
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ AnimData *adt = sce->adt;
+ short type=0, expanded=1;
+ void *cdata = NULL;
+
+ /* determine the type of expander channels to use */
+ // this is the best way to do this for now...
+ ANIMDATA_FILTER_CASES(sce,
+ {/* AnimData - no channel, but consider data */},
+ {/* NLA - no channel, but consider data */},
+ {/* Drivers */
+ type = ANIMTYPE_FILLDRIVERS;
+ cdata = adt;
+ expanded = EXPANDED_DRVD(adt);
+ },
+ {/* Keyframes */
+ type = ANIMTYPE_FILLACTD;
+ cdata = adt->action;
+ expanded = EXPANDED_ACTC(adt->action);
+ });
- /* Action, Drivers, or NLA for Scene */
- if ((ads->filterflag & ADS_FILTER_NOSCE) == 0) {
- adt= sce->adt;
- ANIMDATA_FILTER_CASES(sce,
- { /* AnimData blocks - do nothing... */ },
- { /* nla */
- /* add NLA tracks */
- items += animdata_filter_nla(ac, anim_data, ads, adt, filter_mode, sce, ANIMTYPE_SCENE, (ID *)sce);
- },
- { /* drivers */
- /* include drivers-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(adt->action, ANIMTYPE_FILLDRIVERS, sce, ANIMTYPE_SCENE, (ID *)sce);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels (drivers are F-Curves) */
- if (EXPANDED_DRVD(adt) || !(filter_mode & ANIMFILTER_CHANNELS)) {
- items += animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, sce, ANIMTYPE_SCENE, filter_mode, (ID *)sce);
- }
- },
- { /* action */
- /* include action-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(adt->action, ANIMTYPE_FILLACTD, sce, ANIMTYPE_SCENE, (ID *)sce);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels? */
- if (EXPANDED_ACTC(adt->action) || !(filter_mode & ANIMFILTER_CHANNELS)) {
- items += animdata_filter_action(ac, anim_data, ads, adt->action, filter_mode, sce, ANIMTYPE_SCENE, (ID *)sce);
- }
- }
- )
+ /* add scene-level animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(expanded)
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)sce, filter_mode);
}
+ END_ANIMFILTER_SUBCHANNELS;
- /* world */
- if ((wo && wo->adt) && !(ads->filterflag & ADS_FILTER_NOWOR)) {
- /* Action, Drivers, or NLA for World */
- adt= wo->adt;
- ANIMDATA_FILTER_CASES(wo,
- { /* AnimData blocks - do nothing... */ },
- { /* nla */
- /* add NLA tracks */
- items += animdata_filter_nla(ac, anim_data, ads, adt, filter_mode, wo, ANIMTYPE_DSWOR, (ID *)wo);
- },
- { /* drivers */
- /* include world-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(wo, ANIMTYPE_DSWOR, sce, ANIMTYPE_SCENE, (ID *)wo);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels (drivers are F-Curves) */
- if (FILTER_WOR_SCED(wo)/*EXPANDED_DRVD(adt)*/ || !(filter_mode & ANIMFILTER_CHANNELS)) {
- // XXX owner info is messed up now...
- items += animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, wo, ANIMTYPE_DSWOR, filter_mode, (ID *)wo);
- }
- },
- { /* action */
- /* include world-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(wo, ANIMTYPE_DSWOR, sce, ANIMTYPE_SCENE, (ID *)sce);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add channels */
- if (FILTER_WOR_SCED(wo) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- items += animdata_filter_action(ac, anim_data, ads, adt->action, filter_mode, wo, ANIMTYPE_DSWOR, (ID *)wo);
- }
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include anim-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ if (type != ANIMTYPE_NONE) {
+ /* NOTE: active-status (and the associated checks) don't apply here... */
+ ANIMCHANNEL_NEW_CHANNEL(cdata, type, sce);
}
- )
+ }
- /* if expanded, check world textures too */
- if (FILTER_WOR_SCED(wo) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- /* textures for world */
- if (!(ads->filterflag & ADS_FILTER_NOTEX))
- items += animdata_filter_dopesheet_texs(ac, anim_data, ads, (ID *)wo, filter_mode);
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
+ }
+
+ /* return the number of items added to the list */
+ return items;
+}
+
+static size_t animdata_filter_dopesheet_scene (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, int filter_mode)
+{
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ /* filter data contained under object first */
+ BEGIN_ANIMFILTER_SUBCHANNELS(EXPANDED_SCEC(sce))
+ {
+ bNodeTree *ntree= sce->nodetree;
+ World *wo= sce->world;
+
+ /* Action, Drivers, or NLA for Scene */
+ if ((ads->filterflag & ADS_FILTER_NOSCE) == 0) {
+ tmp_items += animdata_filter_ds_scene(ac, &tmp_data, ads, sce, filter_mode);
+ }
+
+ /* world */
+ if ((wo && wo->adt) && !(ads->filterflag & ADS_FILTER_NOWOR)) {
+ tmp_items += animdata_filter_ds_world(ac, &tmp_data, ads, sce, wo, filter_mode);
}
+
+ /* nodetree */
+ if ((ntree && ntree->adt) && !(ads->filterflag & ADS_FILTER_NONTREE)) {
+ tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)sce, ntree, filter_mode);
+ }
+
+ // TODO: one day, when sequencer becomes its own datatype, perhaps it should be included here
}
- /* nodetree */
- if ((ntree && ntree->adt) && !(ads->filterflag & ADS_FILTER_NONTREE)) {
- /* Action, Drivers, or NLA for Nodetree */
- adt= ntree->adt;
- ANIMDATA_FILTER_CASES(ntree,
- { /* AnimData blocks - do nothing... */ },
- { /* nla */
- /* add NLA tracks */
- items += animdata_filter_nla(ac, anim_data, ads, adt, filter_mode, ntree, ANIMTYPE_DSNTREE, (ID *)ntree);
- },
- { /* drivers */
- /* include nodetree-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(ntree, ANIMTYPE_DSNTREE, sce, ANIMTYPE_SCENE, (ID *)ntree);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels (drivers are F-Curves) */
- if (FILTER_NTREE_SCED(ntree)/*EXPANDED_DRVD(adt)*/ || !(filter_mode & ANIMFILTER_CHANNELS)) {
- // XXX owner info is messed up now...
- items += animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, ntree, ANIMTYPE_DSNTREE, filter_mode, (ID *)ntree);
- }
- },
- { /* action */
- /* include nodetree-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(ntree, ANIMTYPE_DSNTREE, sce, ANIMTYPE_SCENE, (ID *)sce);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add channels */
- if (FILTER_NTREE_SCED(ntree) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- items += animdata_filter_action(ac, anim_data, ads, adt->action, filter_mode, ntree, ANIMTYPE_DSNTREE, (ID *)ntree);
- }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* if we collected some channels, add these to the new list... */
+ if (tmp_items) {
+ /* firstly add object expander if required */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* check if filtering by selection */
+ if ANIMCHANNEL_SELOK((sce->flag & SCE_DS_SELECTED)) {
+ /* NOTE: active-status doesn't matter for this! */
+ ANIMCHANNEL_NEW_CHANNEL(sce, ANIMTYPE_SCENE, sce);
}
- )
+ }
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
-
-
- // TODO: scene compositing nodes (these aren't standard node-trees)
- /* return the number of items added to the list */
+ /* return the number of items added */
return items;
}
// TODO: implement pinning... (if and when pinning is done, what we need to do is to provide freeing mechanisms - to protect against data that was deleted)
-static int animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, int filter_mode)
+static size_t animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, int filter_mode)
{
Scene *sce= (Scene *)ads->source;
Base *base;
- bAnimListElem *ale;
- int items = 0;
+ size_t items = 0;
/* check that we do indeed have a scene */
if ((ads->source == NULL) || (GS(ads->source->name)!=ID_SCE)) {
@@ -2113,73 +1996,14 @@ static int animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDo
filter_mode |= ANIMFILTER_SELEDIT;
}
- /* scene-linked animation */
- // TODO: sequencer, composite nodes - are we to include those here too?
- {
- short sceOk= 0, worOk= 0, nodeOk=0;
-
- /* check filtering-flags if ok */
- ANIMDATA_FILTER_CASES(sce,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(sce);
- sceOk=0;
- },
- sceOk= !(ads->filterflag & ADS_FILTER_NOSCE);,
- sceOk= !(ads->filterflag & ADS_FILTER_NOSCE);,
- sceOk= !(ads->filterflag & ADS_FILTER_NOSCE);)
- if (sce->world) {
- ANIMDATA_FILTER_CASES(sce->world,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(sce->world);
- worOk=0;
- },
- worOk= !(ads->filterflag & ADS_FILTER_NOWOR);,
- worOk= !(ads->filterflag & ADS_FILTER_NOWOR);,
- worOk= !(ads->filterflag & ADS_FILTER_NOWOR);)
- }
- if (sce->nodetree) {
- ANIMDATA_FILTER_CASES(sce->nodetree,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(sce->nodetree);
- nodeOk=0;
- },
- nodeOk= !(ads->filterflag & ADS_FILTER_NONTREE);,
- nodeOk= !(ads->filterflag & ADS_FILTER_NONTREE);,
- nodeOk= !(ads->filterflag & ADS_FILTER_NONTREE);)
- }
-
- /* if only F-Curves with visible flags set can be shown, check that
- * datablocks haven't been set to invisible
- */
- if (filter_mode & ANIMFILTER_CURVEVISIBLE) {
- if ((sce->adt) && (sce->adt->flag & ADT_CURVES_NOT_VISIBLE))
- sceOk= worOk= nodeOk= 0;
- }
-
- /* check if not all bad (i.e. so there is something to show) */
- if ( !(!sceOk && !worOk && !nodeOk) ) {
- /* add scene data to the list of filtered channels */
- items += animdata_filter_dopesheet_scene(ac, anim_data, ads, sce, filter_mode);
- }
- }
-
+ /* scene-linked animation - e.g. world, compositing nodes, scene anim (including sequencer currently) */
+ items += animdata_filter_dopesheet_scene(ac, anim_data, ads, sce, filter_mode);
- /* loop over all bases in the scene */
+ /* loop over all bases (i.e.objects) in the scene */
for (base= sce->base.first; base; base= base->next) {
/* check if there's an object (all the relevant checks are done in the ob-function) */
if (base->object) {
Object *ob= base->object;
- Key *key= ob_get_key(ob);
- short actOk=1, keyOk=1, dataOk=1, matOk=1, partOk=1;
/* firstly, check if object can be included, by the following factors:
* - if only visible, must check for layer and also viewport visibility
@@ -2187,10 +2011,10 @@ static int animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDo
* as user option controls whether sets of channels get included while
* tool-flag takes into account collapsed/open channels too
* - if only selected, must check if object is selected
- * - there must be animation data to edit
+ * - there must be animation data to edit (this is done recursively as we
+ * try to add the channels)
*/
- // TODO: if cache is implemented, just check name here, and then
- if ((filter_mode & ANIMFILTER_VISIBLE) && !(ads->filterflag & ADS_FILTER_INCL_HIDDEN)) {
+ if ((filter_mode & ANIMFILTER_DATA_VISIBLE) && !(ads->filterflag & ADS_FILTER_INCL_HIDDEN)) {
/* layer visibility - we check both object and base, since these may not be in sync yet */
if ((sce->lay & (ob->lay|base->lay))==0) continue;
@@ -2201,280 +2025,26 @@ static int animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDo
/* if only F-Curves with visible flags set can be shown, check that
* datablock hasn't been set to invisible
*/
- if (filter_mode & ANIMFILTER_CURVEVISIBLE) {
+ if (filter_mode & ANIMFILTER_CURVE_VISIBLE) {
if ((ob->adt) && (ob->adt->flag & ADT_CURVES_NOT_VISIBLE))
continue;
}
- /* additionally, dopesheet filtering also affects what objects to consider */
- {
- /* check selection and object type filters */
- if ( (ads->filterflag & ADS_FILTER_ONLYSEL) && !((base->flag & SELECT) /*|| (base == sce->basact)*/) ) {
- /* only selected should be shown */
- continue;
- }
-
- /* check if object belongs to the filtering group if option to filter
- * objects by the grouped status is on
- * - used to ease the process of doing multiple-character choreographies
- */
- if (ads->filterflag & ADS_FILTER_ONLYOBGROUP) {
- if (object_in_group(ob, ads->filter_grp) == 0)
- continue;
- }
-
- /* check filters for datatypes */
- /* object */
- actOk= 0;
- if (!(ads->filterflag & ADS_FILTER_NOOBJ)) {
- ANIMDATA_FILTER_CASES(ob,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(ob);
- actOk=0;
- },
- actOk= 1;,
- actOk= 1;,
- actOk= 1;)
- }
-
- keyOk= 0;
- if ((key) && !(ads->filterflag & ADS_FILTER_NOSHAPEKEYS)) {
- /* shapekeys */
- ANIMDATA_FILTER_CASES(key,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(key);
- keyOk=0;
- },
- keyOk= 1;,
- keyOk= 1;,
- keyOk= 1;)
- }
-
- /* materials - only for geometric types */
- matOk= 0; /* by default, not ok... */
- if ( !(ads->filterflag & ADS_FILTER_NOMAT) && (ob->totcol) &&
- ELEM5(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL) )
- {
- int a;
-
- /* firstly check that we actuallly have some materials */
- for (a=1; a <= ob->totcol; a++) {
- Material *ma= give_current_material(ob, a);
-
- if (ma) {
- /* if material has relevant animation data, break */
- ANIMDATA_FILTER_CASES(ma,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(ma);
- matOk=0;
- },
- matOk= 1;,
- matOk= 1;,
- matOk= 1;)
-
- if (matOk)
- break;
-
- /* textures? */
- // TODO: make this a macro that is used in the other checks too
- // NOTE: this has little use on its own, since the actual filtering still ignores if no anim on the data
- if (!(ads->filterflag & ADS_FILTER_NOTEX)) {
- int mtInd;
-
- for (mtInd= 0; mtInd < MAX_MTEX; mtInd++) {
- MTex *mtex= ma->mtex[mtInd];
-
- if (mtex && mtex->tex) {
- /* if texture has relevant animation data, break */
- ANIMDATA_FILTER_CASES(mtex->tex,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(mtex->tex);
- matOk=0;
- },
- matOk= 1;,
- matOk= 1;,
- matOk= 1;)
-
- if (matOk)
- break;
- }
- }
- }
-
- }
- }
- }
-
- /* data */
- switch (ob->type) {
- case OB_CAMERA: /* ------- Camera ------------ */
- {
- Camera *ca= (Camera *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(ca,
- if ((ads->filterflag & ADS_FILTER_NOCAM)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(ca);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOCAM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOCAM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOCAM);)
- }
- break;
- case OB_LAMP: /* ---------- Lamp ----------- */
- {
- Lamp *la= (Lamp *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(la,
- if ((ads->filterflag & ADS_FILTER_NOLAM)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(la);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAM);)
- }
- break;
- case OB_CURVE: /* ------- Curve ---------- */
- case OB_SURF: /* ------- Nurbs Surface ---------- */
- case OB_FONT: /* ------- Text Curve ---------- */
- {
- Curve *cu= (Curve *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(cu,
- if ((ads->filterflag & ADS_FILTER_NOCUR)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(cu);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOCUR);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOCUR);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOCUR);)
- }
- break;
- case OB_MBALL: /* ------- MetaBall ---------- */
- {
- MetaBall *mb= (MetaBall *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(mb,
- if ((ads->filterflag & ADS_FILTER_NOMBA)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(mb);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOMBA);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOMBA);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOMBA);)
- }
- break;
- case OB_ARMATURE: /* ------- Armature ---------- */
- {
- bArmature *arm= (bArmature *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(arm,
- if ((ads->filterflag & ADS_FILTER_NOARM)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(arm);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOARM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOARM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOARM);)
- }
- break;
- case OB_MESH: /* ------- Mesh ---------- */
- {
- Mesh *me= (Mesh *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(me,
- if ((ads->filterflag & ADS_FILTER_NOMESH)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(me);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOMESH);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOMESH);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOMESH);)
- }
- break;
- case OB_LATTICE: /* ------- Lattice ---------- */
- {
- Lattice *lt= (Lattice *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(lt,
- if ((ads->filterflag & ADS_FILTER_NOLAT)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(lt);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAT);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAT);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAT);)
- }
- break;
- default: /* --- other --- */
- dataOk= 0;
- break;
- }
-
- /* particles */
- partOk = 0;
- if (!(ads->filterflag & ADS_FILTER_NOPART) && ob->particlesystem.first) {
- ParticleSystem *psys = ob->particlesystem.first;
- for(; psys; psys=psys->next) {
- if (psys->part) {
- /* if particlesettings has relevant animation data, break */
- ANIMDATA_FILTER_CASES(psys->part,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(psys->part);
- partOk=0;
- },
- partOk= 1;,
- partOk= 1;,
- partOk= 1;)
- }
-
- if (partOk)
- break;
- }
- }
-
- /* check if all bad (i.e. nothing to show) */
- if (!actOk && !keyOk && !dataOk && !matOk && !partOk)
- continue;
+ /* check selection and object type filters */
+ if ( (ads->filterflag & ADS_FILTER_ONLYSEL) && !((base->flag & SELECT) /*|| (base == sce->basact)*/) ) {
+ /* only selected should be shown */
+ continue;
}
+ /* check if object belongs to the filtering group if option to filter
+ * objects by the grouped status is on
+ * - used to ease the process of doing multiple-character choreographies
+ */
+ if (ads->filterflag & ADS_FILTER_ONLYOBGROUP) {
+ if (object_in_group(ob, ads->filter_grp) == 0)
+ continue;
+ }
+
/* since we're still here, this object should be usable */
items += animdata_filter_dopesheet_ob(ac, anim_data, ads, base, filter_mode);
}
@@ -2487,7 +2057,7 @@ static int animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDo
/* Summary track for DopeSheet/Action Editor
* - return code is whether the summary lets the other channels get drawn
*/
-static short animdata_filter_dopesheet_summary (bAnimContext *ac, ListBase *anim_data, int filter_mode, int *items)
+static short animdata_filter_dopesheet_summary (bAnimContext *ac, ListBase *anim_data, int filter_mode, size_t *items)
{
bDopeSheet *ads = NULL;
@@ -2496,8 +2066,8 @@ static short animdata_filter_dopesheet_summary (bAnimContext *ac, ListBase *anim
* since all the other Animation Editors won't have this concept
* being applicable.
*/
- if ((ac && ac->sa) && (ac->sa->spacetype == SPACE_ACTION)) {
- SpaceAction *saction= (SpaceAction *)ac->sa->spacedata.first;
+ if ((ac && ac->sl) && (ac->spacetype == SPACE_ACTION)) {
+ SpaceAction *saction= (SpaceAction *)ac->sl;
ads= &saction->ads;
}
else {
@@ -2509,9 +2079,8 @@ static short animdata_filter_dopesheet_summary (bAnimContext *ac, ListBase *anim
* - only for drawing and/or selecting keyframes in channels, but not for real editing
* - only useful for DopeSheet/Action/etc. editors where it is actually useful
*/
- // TODO: we should really check if some other prohibited filters are also active, but that can be for later
- if ((filter_mode & ANIMFILTER_CHANNELS) && (ads->filterflag & ADS_FILTER_SUMMARY)) {
- bAnimListElem *ale= make_new_animlistelem(ac, ANIMTYPE_SUMMARY, NULL, ANIMTYPE_NONE, NULL);
+ if ((filter_mode & ANIMFILTER_LIST_CHANNELS) && (ads->filterflag & ADS_FILTER_SUMMARY)) {
+ bAnimListElem *ale= make_new_animlistelem(ac, ANIMTYPE_SUMMARY, NULL);
if (ale) {
BLI_addtail(anim_data, ale);
(*items)++;
@@ -2528,13 +2097,39 @@ static short animdata_filter_dopesheet_summary (bAnimContext *ac, ListBase *anim
return 1;
}
+/* ......................... */
+
+/* filter data associated with a channel - usually for handling summary-channels in DopeSheet */
+static size_t animdata_filter_animchan (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, bAnimListElem *channel, int filter_mode)
+{
+ size_t items = 0;
+
+ /* data to filter depends on channel type */
+ // XXX: only common channel-types have been handled for now
+ switch (channel->type) {
+ case ANIMTYPE_SUMMARY:
+ items += animdata_filter_dopesheet(ac, anim_data, ads, filter_mode);
+ break;
+
+ case ANIMTYPE_SCENE:
+ items += animdata_filter_dopesheet_scene(ac, anim_data, ads, channel->data, filter_mode);
+ break;
+
+ case ANIMTYPE_OBJECT:
+ items += animdata_filter_dopesheet_ob(ac, anim_data, ads, channel->data, filter_mode);
+ break;
+ }
+
+ return items;
+}
+
/* ----------- Cleanup API --------------- */
/* Remove entries with invalid types in animation channel list */
-static int animdata_filter_remove_invalid (ListBase *anim_data)
+static size_t animdata_filter_remove_invalid (ListBase *anim_data)
{
bAnimListElem *ale, *next;
- int items = 0;
+ size_t items = 0;
/* only keep entries with valid types */
for (ale= anim_data->first; ale; ale= next) {
@@ -2550,11 +2145,11 @@ static int animdata_filter_remove_invalid (ListBase *anim_data)
}
/* Remove duplicate entries in animation channel list */
-static int animdata_filter_remove_duplis (ListBase *anim_data)
+static size_t animdata_filter_remove_duplis (ListBase *anim_data)
{
bAnimListElem *ale, *next;
GHash *gh;
- int items = 0;
+ size_t items = 0;
/* build new hashtable to efficiently store and retrieve which entries have been
* encountered already while searching
@@ -2596,9 +2191,9 @@ static int animdata_filter_remove_duplis (ListBase *anim_data)
* will be placed for use.
* filter_mode: how should the data be filtered - bitmapping accessed flags
*/
-int ANIM_animdata_filter (bAnimContext *ac, ListBase *anim_data, int filter_mode, void *data, short datatype)
+size_t ANIM_animdata_filter (bAnimContext *ac, ListBase *anim_data, int filter_mode, void *data, short datatype)
{
- int items = 0;
+ size_t items = 0;
/* only filter data if there's somewhere to put it */
if (data && anim_data) {
@@ -2608,12 +2203,12 @@ int ANIM_animdata_filter (bAnimContext *ac, ListBase *anim_data, int filter_mode
switch (datatype) {
case ANIMCONT_ACTION: /* 'Action Editor' */
{
- SpaceAction *saction = (SpaceAction *)ac->sa->spacedata.first;
+ SpaceAction *saction = (SpaceAction *)ac->sl;
bDopeSheet *ads = (saction)? &saction->ads : NULL;
/* the check for the DopeSheet summary is included here since the summary works here too */
if (animdata_filter_dopesheet_summary(ac, anim_data, filter_mode, &items))
- items += animdata_filter_action(ac, anim_data, ads, data, filter_mode, NULL, ANIMTYPE_NONE, (ID *)obact);
+ items += animfilter_action(ac, anim_data, ads, data, filter_mode, (ID *)obact);
}
break;
@@ -2647,6 +2242,15 @@ int ANIM_animdata_filter (bAnimContext *ac, ListBase *anim_data, int filter_mode
items = animdata_filter_dopesheet(ac, anim_data, data, filter_mode);
}
break;
+
+ case ANIMCONT_CHANNEL: /* animation channel */
+ {
+ bDopeSheet *ads = ac->ads;
+
+ /* based on the channel type, filter relevant data for this */
+ items = animdata_filter_animchan(ac, anim_data, ads, data, filter_mode);
+ }
+ break;
}
/* remove any 'weedy' entries */
diff --git a/source/blender/editors/animation/anim_intern.h b/source/blender/editors/animation/anim_intern.h
index 7818e8118a3..0ac941e5630 100644
--- a/source/blender/editors/animation/anim_intern.h
+++ b/source/blender/editors/animation/anim_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/animation/anim_ipo_utils.c b/source/blender/editors/animation/anim_ipo_utils.c
index 209210435e6..9c43671cdf4 100644
--- a/source/blender/editors/animation/anim_ipo_utils.c
+++ b/source/blender/editors/animation/anim_ipo_utils.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -100,6 +98,8 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
* - as base, we use a custom name from the structs if one is available
* - however, if we're showing subdata of bones (probably there will be other exceptions later)
* need to include that info too since it gets confusing otherwise
+ * - if a pointer just refers to the ID-block, then don't repeat this info
+ * since this just introduces clutter
*/
if (strstr(fcu->rna_path, "bones") && strstr(fcu->rna_path, "constraints")) {
/* perform string 'chopping' to get "Bone Name : Constraint Name" */
@@ -114,7 +114,7 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
if (pchanName) MEM_freeN(pchanName);
if (constName) MEM_freeN(constName);
}
- else {
+ else if (ptr.data != ptr.id.data) {
PropertyRNA *nameprop= RNA_struct_name_property(ptr.type);
if (nameprop) {
/* this gets a string which will need to be freed */
@@ -145,7 +145,11 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
/* putting this all together into the buffer */
// XXX we need to check for invalid names...
- BLI_snprintf(name, 256, "%s%s (%s)", arrayname, propname, structname);
+ // XXX the name length limit needs to be passed in or as some define
+ if (structname)
+ BLI_snprintf(name, 256, "%s%s (%s)", arrayname, propname, structname);
+ else
+ BLI_snprintf(name, 256, "%s%s", arrayname, propname);
/* free temp name if nameprop is set */
if (free_structname)
diff --git a/source/blender/editors/animation/anim_markers.c b/source/blender/editors/animation/anim_markers.c
index c6e55427034..5345fcd756d 100644
--- a/source/blender/editors/animation/anim_markers.c
+++ b/source/blender/editors/animation/anim_markers.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -50,6 +48,7 @@
#include "BKE_main.h"
#include "BKE_report.h"
#include "BKE_scene.h"
+#include "BKE_screen.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -338,7 +337,7 @@ void debug_markers_print_list(ListBase *markers)
printf("List of markers follows: -----\n");
for (marker = markers->first; marker; marker = marker->next) {
- printf("\t'%s' on %d at %p with %d\n", marker->name, marker->frame, (void *)marker, marker->flag);
+ printf("\t'%s' on %d at %p with %u\n", marker->name, marker->frame, (void *)marker, marker->flag);
}
printf("End of list ------------------\n");
@@ -1416,7 +1415,9 @@ static void MARKER_OT_make_links_scene(wmOperatorType *ot)
static int ed_marker_camera_bind_exec(bContext *C, wmOperator *UNUSED(op))
{
+ bScreen *sc= CTX_wm_screen(C);
Scene *scene= CTX_data_scene(C);
+ Object *ob = CTX_data_active_object(C);
ListBase *markers= ED_context_get_markers(C);
TimeMarker *marker;
@@ -1424,10 +1425,15 @@ static int ed_marker_camera_bind_exec(bContext *C, wmOperator *UNUSED(op))
if(marker == NULL)
return OPERATOR_CANCELLED;
- marker->camera= scene->camera;
+ marker->camera= ob;
+
+ /* camera may have changes */
+ scene_camera_switch_update(scene);
+ BKE_screen_view3d_scene_sync(sc);
WM_event_add_notifier(C, NC_SCENE|ND_MARKERS, NULL);
WM_event_add_notifier(C, NC_ANIMATION|ND_MARKERS, NULL);
+ WM_event_add_notifier(C, NC_SCENE|NA_EDITED, scene); /* so we get view3d redraws */
return OPERATOR_FINISHED;
}
@@ -1500,3 +1506,14 @@ void ED_marker_keymap(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "MARKER_OT_camera_bind", BKEY, KM_PRESS, KM_CTRL, 0);
#endif
}
+
+/* to be called from animation editor keymaps, see note below */
+void ED_marker_keymap_animedit_conflictfree(wmKeyMap *keymap)
+{
+ /* duplicate of some marker-hotkeys but without the bounds checking
+ * since these are handy to be able to do unrestricted and won't conflict
+ * with primary function hotkeys (Usability tweak [#27469])
+ */
+ WM_keymap_add_item(keymap, "MARKER_OT_add", MKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "MARKER_OT_rename", MKEY, KM_PRESS, KM_CTRL, 0);
+}
diff --git a/source/blender/editors/animation/anim_ops.c b/source/blender/editors/animation/anim_ops.c
index 0e0bf275d8f..aa61afbac78 100644
--- a/source/blender/editors/animation/anim_ops.c
+++ b/source/blender/editors/animation/anim_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -43,6 +41,7 @@
#include "BKE_context.h"
#include "BKE_global.h"
+#include "BKE_main.h"
#include "BKE_sound.h"
#include "UI_view2d.h"
@@ -78,6 +77,7 @@ static int change_frame_poll(bContext *C)
/* Set the new frame number */
static void change_frame_apply(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
/* set the new frame number */
@@ -86,7 +86,7 @@ static void change_frame_apply(bContext *C, wmOperator *op)
SUBFRA = 0.f;
/* do updates */
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
WM_event_add_notifier(C, NC_SCENE|ND_FRAME, scene);
}
@@ -199,8 +199,8 @@ static int previewrange_define_exec(bContext *C, wmOperator *op)
* - must clamp within allowable limits
* - end must not be before start (though this won't occur most of the time)
*/
- if (sfra < 1) sfra = 1.0f;
- if (efra < 1) efra = 1.0f;
+ FRAMENUMBER_MIN_CLAMP(sfra);
+ FRAMENUMBER_MIN_CLAMP(efra);
if (efra < sfra) efra= sfra;
scene->r.flag |= SCER_PRV_RANGE;
diff --git a/source/blender/editors/animation/drivers.c b/source/blender/editors/animation/drivers.c
index 75b54a7529a..6ebe488d2c8 100644
--- a/source/blender/editors/animation/drivers.c
+++ b/source/blender/editors/animation/drivers.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -80,7 +78,7 @@ void free_anim_drivers_copybuf (void);
* 1 - add new Driver FCurve,
* -1 - add new Driver FCurve without driver stuff (for pasting)
*/
-static FCurve *verify_driver_fcurve (ID *id, const char rna_path[], const int array_index, short add)
+FCurve *verify_driver_fcurve (ID *id, const char rna_path[], const int array_index, short add)
{
AnimData *adt;
FCurve *fcu;
@@ -108,7 +106,7 @@ static FCurve *verify_driver_fcurve (ID *id, const char rna_path[], const int ar
/* use default settings to make a F-Curve */
fcu= MEM_callocN(sizeof(FCurve), "FCurve");
- fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
+ fcu->flag = (FCURVE_VISIBLE|FCURVE_SELECTED);
/* store path - make copy, and store that */
fcu->rna_path= BLI_strdupn(rna_path, strlen(rna_path));
@@ -385,11 +383,6 @@ short ANIM_paste_driver (ReportList *reports, ID *id, const char rna_path[], int
/* modifiers */
copy_fmodifiers(&fcu->modifiers, &channeldriver_copypaste_buf->modifiers);
- /* flags - on a per-relevant-flag basis */
- if (channeldriver_copypaste_buf->flag & FCURVE_AUTO_HANDLES)
- fcu->flag |= FCURVE_AUTO_HANDLES;
- else
- fcu->flag &= ~FCURVE_AUTO_HANDLES;
/* extrapolation mode */
fcu->extend= channeldriver_copypaste_buf->extend;
diff --git a/source/blender/editors/animation/fmodifier_ui.c b/source/blender/editors/animation/fmodifier_ui.c
index 954928fc486..928584966d9 100644
--- a/source/blender/editors/animation/fmodifier_ui.c
+++ b/source/blender/editors/animation/fmodifier_ui.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -162,7 +160,7 @@ static void draw_modifier__generator(uiLayout *layout, ID *id, FModifier *fcm, s
if (i == 1)
strcpy(xval, "x");
else
- sprintf(xval, "x^%d", i);
+ sprintf(xval, "x^%u", i);
uiDefBut(block, LABEL, 1, xval, 0, 0, 50, 20, NULL, 0.0, 0.0, 0, 0, "Power of x");
}
@@ -604,7 +602,7 @@ static void draw_modifier__stepped(uiLayout *layout, ID *id, FModifier *fcm, sho
void ANIM_uiTemplate_fmodifier_draw (uiLayout *layout, ID *id, ListBase *modifiers, FModifier *fcm)
{
FModifierTypeInfo *fmi= fmodifier_get_typeinfo(fcm);
- uiLayout *box, *row, *subrow;
+ uiLayout *box, *row, *subrow, *col;
uiBlock *block;
uiBut *but;
short width= 314;
@@ -622,7 +620,7 @@ void ANIM_uiTemplate_fmodifier_draw (uiLayout *layout, ID *id, ListBase *modifie
block= uiLayoutGetBlock(row); // err...
/* left-align -------------------------------------------- */
- subrow= uiLayoutRow(row, 0);
+ subrow= uiLayoutRow(row, 1);
uiLayoutSetAlignment(subrow, UI_LAYOUT_ALIGN_LEFT);
uiBlockSetEmboss(block, UI_EMBOSSN);
@@ -640,7 +638,7 @@ void ANIM_uiTemplate_fmodifier_draw (uiLayout *layout, ID *id, ListBase *modifie
uiItemL(subrow, "<Unknown Modifier>", ICON_NONE);
/* right-align ------------------------------------------- */
- subrow= uiLayoutRow(row, 0);
+ subrow= uiLayoutRow(row, 1);
uiLayoutSetAlignment(subrow, UI_LAYOUT_ALIGN_RIGHT);
@@ -694,6 +692,44 @@ void ANIM_uiTemplate_fmodifier_draw (uiLayout *layout, ID *id, ListBase *modifie
default: /* unknown type */
break;
}
+
+ /* one last panel below this: FModifier range */
+ // TODO: experiment with placement of this
+ {
+ box = uiLayoutBox(layout);
+
+ /* restricted range ----------------------------------------------------- */
+ col = uiLayoutColumn(box, 1);
+
+ /* top row: use restricted range */
+ row= uiLayoutRow(col, 1);
+ uiItemR(row, &ptr, "use_restricted_range", 0, NULL, ICON_NONE);
+
+ if (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT) {
+ /* second row: settings */
+ row = uiLayoutRow(col, 1);
+
+ uiItemR(row, &ptr, "frame_start", 0, "Start", ICON_NONE);
+ uiItemR(row, &ptr, "frame_end", 0, "End", ICON_NONE);
+
+ /* third row: blending influence */
+ row = uiLayoutRow(col, 1);
+
+ uiItemR(row, &ptr, "blend_in", 0, "In", ICON_NONE);
+ uiItemR(row, &ptr, "blend_out", 0, "Out", ICON_NONE);
+ }
+
+ /* influence -------------------------------------------------------------- */
+ col = uiLayoutColumn(box, 1);
+
+ /* top row: use influence */
+ uiItemR(col, &ptr, "use_influence", 0, NULL, ICON_NONE);
+
+ if (fcm->flag & FMODIFIER_FLAG_USEINFLUENCE) {
+ /* second row: influence value */
+ uiItemR(col, &ptr, "influence", 0, NULL, ICON_NONE);
+ }
+ }
}
}
diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c
index 00e11d8b1a4..c1e81cd0901 100644
--- a/source/blender/editors/animation/keyframes_draw.c
+++ b/source/blender/editors/animation/keyframes_draw.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -59,6 +57,7 @@
#include "DNA_meta_types.h"
#include "DNA_node_types.h"
#include "DNA_particle_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_world_types.h"
#include "DNA_gpencil_types.h"
@@ -773,7 +772,7 @@ void summary_to_keylist(bAnimContext *ac, DLRBT_Tree *keys, DLRBT_Tree *blocks)
int filter;
/* get F-Curves to take keyframes from */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY);
+ filter= ANIMFILTER_DATA_VISIBLE; // curves only
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through each F-Curve, grabbing the keyframes */
@@ -786,150 +785,71 @@ void summary_to_keylist(bAnimContext *ac, DLRBT_Tree *keys, DLRBT_Tree *blocks)
void scene_to_keylist(bDopeSheet *ads, Scene *sce, DLRBT_Tree *keys, DLRBT_Tree *blocks)
{
- if (sce) {
- AnimData *adt;
- int filterflag;
-
- /* get filterflag */
- if (ads)
- filterflag= ads->filterflag;
- else
- filterflag= 0;
-
- /* scene animdata */
- if ((sce->adt) && !(filterflag & ADS_FILTER_NOSCE)) {
- adt= sce->adt;
-
- if (adt->action)
- action_to_keylist(adt, adt->action, keys, blocks);
- }
-
- /* world animdata */
- if ((sce->world) && (sce->world->adt) && !(filterflag & ADS_FILTER_NOWOR)) {
- adt= sce->world->adt;
-
- if (adt->action)
- action_to_keylist(adt, adt->action, keys, blocks);
- }
-
- /* nodetree animdata */
- if ((sce->nodetree) && (sce->nodetree->adt) && !(filterflag & ADS_FILTER_NONTREE)) {
- adt= sce->nodetree->adt;
-
- if (adt->action)
- action_to_keylist(adt, adt->action, keys, blocks);
- }
- }
+ bAnimContext ac = {NULL};
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+
+ bAnimListElem dummychan = {0};
+
+ if (sce == NULL)
+ return;
+
+ /* create a dummy wrapper data to work with */
+ dummychan.type = ANIMTYPE_SCENE;
+ dummychan.data = sce;
+ dummychan.id = &sce->id;
+ dummychan.adt = sce->adt;
+
+ ac.ads = ads;
+ ac.data = &dummychan;
+ ac.datatype = ANIMCONT_CHANNEL;
+
+ /* get F-Curves to take keyframes from */
+ filter= ANIMFILTER_DATA_VISIBLE; // curves only
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* loop through each F-Curve, grabbing the keyframes */
+ for (ale= anim_data.first; ale; ale= ale->next)
+ fcurve_to_keylist(ale->adt, ale->data, keys, blocks);
+
+ BLI_freelistN(&anim_data);
}
void ob_to_keylist(bDopeSheet *ads, Object *ob, DLRBT_Tree *keys, DLRBT_Tree *blocks)
-{
- Key *key= ob_get_key(ob);
- int filterflag= (ads)? ads->filterflag : 0;
+{
+ bAnimContext ac = {NULL};
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+
+ bAnimListElem dummychan = {0};
+ Base dummybase = {0};
- /* sanity check */
if (ob == NULL)
return;
-
- /* Add action keyframes */
- if (ob->adt && ob->adt->action)
- action_to_keylist(ob->adt, ob->adt->action, keys, blocks);
- /* Add shapekey keyframes (only if dopesheet allows, if it is available) */
- if ((key && key->adt && key->adt->action) && !(filterflag & ADS_FILTER_NOSHAPEKEYS))
- action_to_keylist(key->adt, key->adt->action, keys, blocks);
+ /* create a dummy wrapper data to work with */
+ dummybase.object = ob;
- /* Add material keyframes */
- if ((ob->totcol) && !(filterflag & ADS_FILTER_NOMAT)) {
- int a;
-
- for (a=1; a <= ob->totcol; a++) {
- Material *ma= give_current_material(ob, a);
-
- /* there might not be a material */
- if (ELEM(NULL, ma, ma->adt))
- continue;
-
- /* add material's data */
- action_to_keylist(ma->adt, ma->adt->action, keys, blocks);
-
- // TODO: textures...
- }
- }
+ dummychan.type = ANIMTYPE_OBJECT;
+ dummychan.data = &dummybase;
+ dummychan.id = &ob->id;
+ dummychan.adt = ob->adt;
- /* Add object data keyframes */
- switch (ob->type) {
- case OB_CAMERA: /* ------- Camera ------------ */
- {
- Camera *ca= (Camera *)ob->data;
-
- if ((ca->adt) && !(filterflag & ADS_FILTER_NOCAM))
- action_to_keylist(ca->adt, ca->adt->action, keys, blocks);
- }
- break;
- case OB_LAMP: /* ---------- Lamp ----------- */
- {
- Lamp *la= (Lamp *)ob->data;
-
- if ((la->adt) && !(filterflag & ADS_FILTER_NOLAM))
- action_to_keylist(la->adt, la->adt->action, keys, blocks);
- }
- break;
- case OB_CURVE: /* ------- Curve ---------- */
- case OB_SURF: /* ------- Nurbs Surface ---------- */
- case OB_FONT: /* ------- Text Curve ---------- */
- {
- Curve *cu= (Curve *)ob->data;
-
- if ((cu->adt) && !(filterflag & ADS_FILTER_NOCUR))
- action_to_keylist(cu->adt, cu->adt->action, keys, blocks);
- }
- break;
- case OB_MBALL: /* ------- MetaBall ---------- */
- {
- MetaBall *mb= (MetaBall *)ob->data;
-
- if ((mb->adt) && !(filterflag & ADS_FILTER_NOMBA))
- action_to_keylist(mb->adt, mb->adt->action, keys, blocks);
- }
- break;
- case OB_ARMATURE: /* ------- Armature ---------- */
- {
- bArmature *arm= (bArmature *)ob->data;
-
- if ((arm->adt) && !(filterflag & ADS_FILTER_NOARM))
- action_to_keylist(arm->adt, arm->adt->action, keys, blocks);
- }
- break;
- case OB_MESH: /* ------- Mesh ---------- */
- {
- Mesh *me= (Mesh *)ob->data;
-
- if ((me->adt) && !(filterflag & ADS_FILTER_NOMESH))
- action_to_keylist(me->adt, me->adt->action, keys, blocks);
- }
- break;
- case OB_LATTICE: /* ------- Lattice ---------- */
- {
- Lattice *lt= (Lattice *)ob->data;
-
- if ((lt->adt) && !(filterflag & ADS_FILTER_NOLAT))
- action_to_keylist(lt->adt, lt->adt->action, keys, blocks);
- }
- break;
- }
+ ac.ads = ads;
+ ac.data = &dummychan;
+ ac.datatype = ANIMCONT_CHANNEL;
- /* Add Particle System Keyframes */
- if ((ob->particlesystem.first) && !(filterflag & ADS_FILTER_NOPART)) {
- ParticleSystem *psys = ob->particlesystem.first;
-
- for(; psys; psys=psys->next) {
- if (ELEM(NULL, psys->part, psys->part->adt))
- continue;
- else
- action_to_keylist(psys->part->adt, psys->part->adt->action, keys, blocks);
- }
- }
+ /* get F-Curves to take keyframes from */
+ filter= ANIMFILTER_DATA_VISIBLE; // curves only
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* loop through each F-Curve, grabbing the keyframes */
+ for (ale= anim_data.first; ale; ale= ale->next)
+ fcurve_to_keylist(ale->adt, ale->data, keys, blocks);
+
+ BLI_freelistN(&anim_data);
}
void fcurve_to_keylist(AnimData *adt, FCurve *fcu, DLRBT_Tree *keys, DLRBT_Tree *blocks)
diff --git a/source/blender/editors/animation/keyframes_edit.c b/source/blender/editors/animation/keyframes_edit.c
index e50203cbc28..2305848e7b3 100644
--- a/source/blender/editors/animation/keyframes_edit.c
+++ b/source/blender/editors/animation/keyframes_edit.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -197,196 +195,95 @@ static short act_keyframes_loop(KeyframeEditData *ked, bAction *act, KeyframeEdi
return 0;
}
-/* This function is used to loop over the keyframe data of an AnimData block */
-static short adt_keyframes_loop(KeyframeEditData *ked, AnimData *adt, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag)
-{
- /* sanity check */
- if (adt == NULL)
- return 0;
-
- /* drivers or actions? */
- if (filterflag & ADS_FILTER_ONLYDRIVERS) {
- FCurve *fcu;
-
- /* just loop through all F-Curves acting as Drivers */
- for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
- if (ANIM_fcurve_keyframes_loop(ked, fcu, key_ok, key_cb, fcu_cb))
- return 1;
- }
- }
- else if (adt->action) {
- /* call the function for actions */
- if (act_keyframes_loop(ked, adt->action, key_ok, key_cb, fcu_cb))
- return 1;
- }
-
- return 0;
-}
-
/* This function is used to loop over the keyframe data in an Object */
-static short ob_keyframes_loop(KeyframeEditData *ked, Object *ob, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag)
+static short ob_keyframes_loop(KeyframeEditData *ked, bDopeSheet *ads, Object *ob, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb)
{
- Key *key= ob_get_key(ob);
+ bAnimContext ac = {NULL};
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+ int ret=0;
+
+ bAnimListElem dummychan = {0};
+ Base dummybase = {0};
- /* sanity check */
if (ob == NULL)
return 0;
- /* firstly, Object's own AnimData */
- if (ob->adt) {
- if (adt_keyframes_loop(ked, ob->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
+ /* create a dummy wrapper data to work with */
+ dummybase.object = ob;
- /* shapekeys */
- if ((key && key->adt) && !(filterflag & ADS_FILTER_NOSHAPEKEYS)) {
- if (adt_keyframes_loop(ked, key->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
-
- /* Add material keyframes */
- if ((ob->totcol) && !(filterflag & ADS_FILTER_NOMAT)) {
- int a;
-
- for (a=1; a <= ob->totcol; a++) {
- Material *ma= give_current_material(ob, a);
-
- /* there might not be a material */
- if (ELEM(NULL, ma, ma->adt))
- continue;
-
- /* add material's data */
- if (adt_keyframes_loop(ked, ma->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
+ dummychan.type = ANIMTYPE_OBJECT;
+ dummychan.data = &dummybase;
+ dummychan.id = &ob->id;
+ dummychan.adt = ob->adt;
- /* Add object data keyframes */
- switch (ob->type) {
- case OB_CAMERA: /* ------- Camera ------------ */
- {
- Camera *ca= (Camera *)ob->data;
-
- if ((ca->adt) && !(filterflag & ADS_FILTER_NOCAM)) {
- if (adt_keyframes_loop(ked, ca->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
- break;
- case OB_LAMP: /* ---------- Lamp ----------- */
- {
- Lamp *la= (Lamp *)ob->data;
-
- if ((la->adt) && !(filterflag & ADS_FILTER_NOLAM)) {
- if (adt_keyframes_loop(ked, la->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
- break;
- case OB_CURVE: /* ------- Curve ---------- */
- case OB_SURF: /* ------- Nurbs Surface ---------- */
- case OB_FONT: /* ------- Text Curve ---------- */
- {
- Curve *cu= (Curve *)ob->data;
-
- if ((cu->adt) && !(filterflag & ADS_FILTER_NOCUR)) {
- if (adt_keyframes_loop(ked, cu->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
- break;
- case OB_MBALL: /* ------- MetaBall ---------- */
- {
- MetaBall *mb= (MetaBall *)ob->data;
-
- if ((mb->adt) && !(filterflag & ADS_FILTER_NOMBA)) {
- if (adt_keyframes_loop(ked, mb->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
- break;
- case OB_ARMATURE: /* ------- Armature ---------- */
- {
- bArmature *arm= (bArmature *)ob->data;
-
- if ((arm->adt) && !(filterflag & ADS_FILTER_NOARM)) {
- if (adt_keyframes_loop(ked, arm->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
- break;
- case OB_MESH: /* ------- Mesh ---------- */
- {
- Mesh *me= (Mesh *)ob->data;
-
- if ((me->adt) && !(filterflag & ADS_FILTER_NOMESH)) {
- if (adt_keyframes_loop(ked, me->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
+ ac.ads = ads;
+ ac.data = &dummychan;
+ ac.datatype = ANIMCONT_CHANNEL;
+
+ /* get F-Curves to take keyframes from */
+ filter= ANIMFILTER_DATA_VISIBLE; // curves only
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* loop through each F-Curve, applying the operation as required, but stopping on the first one */
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ if (ANIM_fcurve_keyframes_loop(ked, (FCurve*)ale->data, key_ok, key_cb, fcu_cb)) {
+ ret = 1;
break;
- case OB_LATTICE: /* ---- Lattice ------ */
- {
- Lattice *lt= (Lattice *)ob->data;
-
- if ((lt->adt) && !(filterflag & ADS_FILTER_NOLAT)) {
- if (adt_keyframes_loop(ked, lt->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
}
- break;
}
- /* Add Particle System Keyframes */
- if ((ob->particlesystem.first) && !(filterflag & ADS_FILTER_NOPART)) {
- ParticleSystem *psys = ob->particlesystem.first;
-
- for(; psys; psys=psys->next) {
- if (ELEM(NULL, psys->part, psys->part->adt))
- continue;
-
- if (adt_keyframes_loop(ked, psys->part->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
+ BLI_freelistN(&anim_data);
- return 0;
+ /* return return code - defaults to zero if nothing happened */
+ return ret;
}
/* This function is used to loop over the keyframe data in a Scene */
-static short scene_keyframes_loop(KeyframeEditData *ked, Scene *sce, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag)
+static short scene_keyframes_loop(KeyframeEditData *ked, bDopeSheet *ads, Scene *sce, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb)
{
- World *wo= (sce) ? sce->world : NULL;
- bNodeTree *ntree= (sce) ? sce->nodetree : NULL;
+ bAnimContext ac = {NULL};
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+ int ret=0;
+
+ bAnimListElem dummychan = {0};
- /* sanity check */
if (sce == NULL)
return 0;
- /* Scene's own animation */
- if (sce->adt) {
- if (adt_keyframes_loop(ked, sce->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
+ /* create a dummy wrapper data to work with */
+ dummychan.type = ANIMTYPE_SCENE;
+ dummychan.data = sce;
+ dummychan.id = &sce->id;
+ dummychan.adt = sce->adt;
- /* World */
- if (wo && wo->adt) {
- if (adt_keyframes_loop(ked, wo->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
+ ac.ads = ads;
+ ac.data = &dummychan;
+ ac.datatype = ANIMCONT_CHANNEL;
- /* NodeTree */
- if (ntree && ntree->adt) {
- if (adt_keyframes_loop(ked, ntree->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
+ /* get F-Curves to take keyframes from */
+ filter= ANIMFILTER_DATA_VISIBLE; // curves only
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* loop through each F-Curve, applying the operation as required, but stopping on the first one */
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ if (ANIM_fcurve_keyframes_loop(ked, (FCurve*)ale->data, key_ok, key_cb, fcu_cb)) {
+ ret = 1;
+ break;
+ }
}
+ BLI_freelistN(&anim_data);
- return 0;
+ /* return return code - defaults to zero if nothing happened */
+ return ret;
}
/* This function is used to loop over the keyframe data in a DopeSheet summary */
-static short summary_keyframes_loop(KeyframeEditData *ked, bAnimContext *ac, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int UNUSED(filterflag))
+static short summary_keyframes_loop(KeyframeEditData *ked, bAnimContext *ac, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
@@ -397,7 +294,7 @@ static short summary_keyframes_loop(KeyframeEditData *ked, bAnimContext *ac, Key
return 0;
/* get F-Curves to take keyframes from */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY);
+ filter= ANIMFILTER_DATA_VISIBLE;
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through each F-Curve, working on the keyframes until the first curve aborts */
@@ -416,7 +313,7 @@ static short summary_keyframes_loop(KeyframeEditData *ked, bAnimContext *ac, Key
/* --- */
/* This function is used to apply operation to all keyframes, regardless of the type */
-short ANIM_animchannel_keyframes_loop(KeyframeEditData *ked, bAnimListElem *ale, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag)
+short ANIM_animchannel_keyframes_loop(KeyframeEditData *ked, bDopeSheet *ads, bAnimListElem *ale, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb)
{
/* sanity checks */
if (ale == NULL)
@@ -437,18 +334,18 @@ short ANIM_animchannel_keyframes_loop(KeyframeEditData *ked, bAnimListElem *ale,
return act_keyframes_loop(ked, (bAction *)ale->key_data, key_ok, key_cb, fcu_cb);
case ALE_OB: /* object */
- return ob_keyframes_loop(ked, (Object *)ale->key_data, key_ok, key_cb, fcu_cb, filterflag);
+ return ob_keyframes_loop(ked, ads, (Object *)ale->key_data, key_ok, key_cb, fcu_cb);
case ALE_SCE: /* scene */
- return scene_keyframes_loop(ked, (Scene *)ale->data, key_ok, key_cb, fcu_cb, filterflag);
+ return scene_keyframes_loop(ked, ads, (Scene *)ale->data, key_ok, key_cb, fcu_cb);
case ALE_ALL: /* 'all' (DopeSheet summary) */
- return summary_keyframes_loop(ked, (bAnimContext *)ale->data, key_ok, key_cb, fcu_cb, filterflag);
+ return summary_keyframes_loop(ked, (bAnimContext *)ale->data, key_ok, key_cb, fcu_cb);
}
return 0;
}
/* This function is used to apply operation to all keyframes, regardless of the type without needed an AnimListElem wrapper */
-short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, void *data, int keytype, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag)
+short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, bDopeSheet *ads, void *data, int keytype, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb)
{
/* sanity checks */
if (data == NULL)
@@ -469,11 +366,11 @@ short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, void *data, int
return act_keyframes_loop(ked, (bAction *)data, key_ok, key_cb, fcu_cb);
case ALE_OB: /* object */
- return ob_keyframes_loop(ked, (Object *)data, key_ok, key_cb, fcu_cb, filterflag);
+ return ob_keyframes_loop(ked, ads, (Object *)data, key_ok, key_cb, fcu_cb);
case ALE_SCE: /* scene */
- return scene_keyframes_loop(ked, (Scene *)data, key_ok, key_cb, fcu_cb, filterflag);
+ return scene_keyframes_loop(ked, ads, (Scene *)data, key_ok, key_cb, fcu_cb);
case ALE_ALL: /* 'all' (DopeSheet summary) */
- return summary_keyframes_loop(ked, (bAnimContext *)data, key_ok, key_cb, fcu_cb, filterflag);
+ return summary_keyframes_loop(ked, (bAnimContext *)data, key_ok, key_cb, fcu_cb);
}
return 0;
@@ -491,7 +388,7 @@ void ANIM_editkeyframes_refresh(bAnimContext *ac)
int filter;
/* filter animation data */
- filter= ANIMFILTER_CURVESONLY;
+ filter= ANIMFILTER_DATA_VISIBLE;
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop over F-Curves that are likely to have been edited, and check them */
@@ -735,8 +632,8 @@ static short snap_bezier_horizontal(KeyframeEditData *UNUSED(ked), BezTriple *be
if (bezt->f2 & SELECT) {
bezt->vec[0][1]= bezt->vec[2][1]= bezt->vec[1][1];
- if ((bezt->h1==HD_AUTO) || (bezt->h1==HD_VECT)) bezt->h1= HD_ALIGN;
- if ((bezt->h2==HD_AUTO) || (bezt->h2==HD_VECT)) bezt->h2= HD_ALIGN;
+ if (ELEM3(bezt->h1, HD_AUTO, HD_AUTO_ANIM, HD_VECT)) bezt->h1= HD_ALIGN;
+ if (ELEM3(bezt->h2, HD_AUTO, HD_AUTO_ANIM, HD_VECT)) bezt->h2= HD_ALIGN;
}
return 0;
}
@@ -857,42 +754,49 @@ KeyframeEditFunc ANIM_editkeyframes_mirror(short type)
/* ******************************************* */
/* Settings */
+/* standard validation step for a few of these (implemented as macro for inlining without fn-call overhead):
+ * "if the handles are not of the same type, set them to type free"
+ */
+#define ENSURE_HANDLES_MATCH(bezt) \
+ if (bezt->h1 != bezt->h2) { \
+ if ELEM3(bezt->h1, HD_ALIGN, HD_AUTO, HD_AUTO_ANIM) bezt->h1= HD_FREE; \
+ if ELEM3(bezt->h2, HD_ALIGN, HD_AUTO, HD_AUTO_ANIM) bezt->h2= HD_FREE; \
+ }
+
/* Sets the selected bezier handles to type 'auto' */
static short set_bezier_auto(KeyframeEditData *UNUSED(ked), BezTriple *bezt)
{
- if((bezt->f1 & SELECT) || (bezt->f3 & SELECT)) {
- if (bezt->f1 & SELECT) bezt->h1= HD_AUTO; /* the secret code for auto */
+ if ((bezt->f1 & SELECT) || (bezt->f3 & SELECT)) {
+ if (bezt->f1 & SELECT) bezt->h1= HD_AUTO;
if (bezt->f3 & SELECT) bezt->h2= HD_AUTO;
- /* if the handles are not of the same type, set them
- * to type free
- */
- if (bezt->h1 != bezt->h2) {
- if ELEM(bezt->h1, HD_ALIGN, HD_AUTO) bezt->h1= HD_FREE;
- if ELEM(bezt->h2, HD_ALIGN, HD_AUTO) bezt->h2= HD_FREE;
- }
+ ENSURE_HANDLES_MATCH(bezt);
}
return 0;
}
-/* Sets the selected bezier handles to type 'vector' */
-static short set_bezier_vector(KeyframeEditData *UNUSED(ked), BezTriple *bezt)
+/* Sets the selected bezier handles to type 'auto-clamped'
+ * NOTE: this is like auto above, but they're handled a bit different
+ */
+static short set_bezier_auto_clamped(KeyframeEditData *UNUSED(ked), BezTriple *bezt)
{
if ((bezt->f1 & SELECT) || (bezt->f3 & SELECT)) {
- if (bezt->f1 & SELECT) bezt->h1= HD_VECT;
- if (bezt->f3 & SELECT) bezt->h2= HD_VECT;
+ if (bezt->f1 & SELECT) bezt->h1= HD_AUTO_ANIM;
+ if (bezt->f3 & SELECT) bezt->h2= HD_AUTO_ANIM;
- /* if the handles are not of the same type, set them
- * to type free
- */
- if (bezt->h1 != bezt->h2) {
- if ELEM(bezt->h1, HD_ALIGN, HD_AUTO) bezt->h1= HD_FREE;
- if ELEM(bezt->h2, HD_ALIGN, HD_AUTO) bezt->h2= HD_FREE;
- }
+ ENSURE_HANDLES_MATCH(bezt);
}
return 0;
}
+/* Sets the selected bezier handles to type 'vector' */
+static short set_bezier_vector(KeyframeEditData *UNUSED(ked), BezTriple *bezt)
+{
+ if (bezt->f1 & SELECT) bezt->h1= HD_VECT;
+ if (bezt->f3 & SELECT) bezt->h2= HD_VECT;
+ return 0;
+}
+
/* Queries if the handle should be set to 'free' or 'align' */
// NOTE: this was used for the 'toggle free/align' option
// currently this isn't used, but may be restored later
@@ -925,8 +829,9 @@ KeyframeEditFunc ANIM_editkeyframes_handles(short code)
{
switch (code) {
case HD_AUTO: /* auto */
- case HD_AUTO_ANIM: /* auto clamped */
return set_bezier_auto;
+ case HD_AUTO_ANIM: /* auto clamped */
+ return set_bezier_auto_clamped;
case HD_VECT: /* vector */
return set_bezier_vector;
diff --git a/source/blender/editors/animation/keyframes_general.c b/source/blender/editors/animation/keyframes_general.c
index f111339b963..3d3311b35eb 100644
--- a/source/blender/editors/animation/keyframes_general.c
+++ b/source/blender/editors/animation/keyframes_general.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -111,7 +109,7 @@ void delete_fcurve_keys(FCurve *fcu)
{
int i;
- if(fcu->bezt==NULL) /* ignore baked curves */
+ if (fcu->bezt==NULL) /* ignore baked curves */
return;
/* Delete selected BezTriples */
@@ -124,7 +122,7 @@ void delete_fcurve_keys(FCurve *fcu)
}
/* Free the array of BezTriples if there are not keyframes */
- if(fcu->totvert == 0)
+ if (fcu->totvert == 0)
clear_fcurve_keys(fcu);
}
diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c
index 1ba695209b2..53c9fc4d82c 100644
--- a/source/blender/editors/animation/keyframing.c
+++ b/source/blender/editors/animation/keyframing.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -174,7 +172,7 @@ FCurve *verify_fcurve (bAction *act, const char group[], const char rna_path[],
/* use default settings to make a F-Curve */
fcu= MEM_callocN(sizeof(FCurve), "FCurve");
- fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
+ fcu->flag = (FCURVE_VISIBLE|FCURVE_SELECTED);
if (act->curves.first==NULL)
fcu->flag |= FCURVE_ACTIVE; /* first one added active */
@@ -532,6 +530,7 @@ static short visualkey_can_use (PointerRNA *ptr, PropertyRNA *prop)
{
bConstraint *con= NULL;
short searchtype= VISUALKEY_NONE;
+ short has_parent = FALSE;
char *identifier= NULL;
/* validate data */
@@ -550,6 +549,7 @@ static short visualkey_can_use (PointerRNA *ptr, PropertyRNA *prop)
con= ob->constraints.first;
identifier= (char *)RNA_property_identifier(prop);
+ has_parent= (ob->parent != NULL);
}
else if (ptr->type == &RNA_PoseBone) {
/* Pose Channel */
@@ -557,10 +557,11 @@ static short visualkey_can_use (PointerRNA *ptr, PropertyRNA *prop)
con= pchan->constraints.first;
identifier= (char *)RNA_property_identifier(prop);
+ has_parent= (pchan->parent != NULL);
}
/* check if any data to search using */
- if (ELEM(NULL, con, identifier))
+ if (ELEM(NULL, con, identifier) && (has_parent == FALSE))
return 0;
/* location or rotation identifiers only... */
@@ -575,7 +576,12 @@ static short visualkey_can_use (PointerRNA *ptr, PropertyRNA *prop)
/* only search if a searchtype and initial constraint are available */
- if (searchtype && con) {
+ if (searchtype) {
+ /* parent is always matching */
+ if (has_parent)
+ return 1;
+
+ /* constraints */
for (; con; con= con->next) {
/* only consider constraint if it is not disabled, and has influence */
if (con->flag & CONSTRAINT_DISABLE) continue;
@@ -647,55 +653,81 @@ static float visualkey_get_value (PointerRNA *ptr, PropertyRNA *prop, int array_
if (ptr->type == &RNA_Object) {
Object *ob= (Object *)ptr->data;
- /* parented objects are not supported, as the effects of the parent
- * are included in the matrix, which kindof beats the point
- */
- if (ob->parent == NULL) {
- /* only Location or Rotation keyframes are supported now */
- if (strstr(identifier, "location")) {
- return ob->obmat[3][array_index];
- }
- else if (strstr(identifier, "rotation_euler")) {
- float eul[3];
-
- mat4_to_eulO(eul, ob->rotmode, ob->obmat);
- return eul[array_index];
- }
- // FIXME: other types of rotation don't work
+ /* only Location or Rotation keyframes are supported now */
+ if (strstr(identifier, "location")) {
+ return ob->obmat[3][array_index];
+ }
+ else if (strstr(identifier, "rotation_euler")) {
+ float eul[3];
+
+ mat4_to_eulO(eul, ob->rotmode, ob->obmat);
+ return eul[array_index];
+ }
+ else if (strstr(identifier, "rotation_quaternion")) {
+ float trimat[3][3], quat[4];
+
+ copy_m3_m4(trimat, ob->obmat);
+ mat3_to_quat_is_ok(quat, trimat);
+
+ return quat[array_index];
+ }
+ else if (strstr(identifier, "rotation_axis_angle")) {
+ float axis[3], angle;
+
+ mat4_to_axis_angle(axis, &angle, ob->obmat);
+
+ /* w = 0, x,y,z = 1,2,3 */
+ if (array_index == 0)
+ return angle;
+ else
+ return axis[array_index - 1];
}
}
else if (ptr->type == &RNA_PoseBone) {
+ Object *ob = (Object *)ptr->id.data; /* we assume that this is always set, and is an object */
bPoseChannel *pchan= (bPoseChannel *)ptr->data;
- bPoseChannel tchan;
+ float tmat[4][4];
- /* make a copy of pchan so that we can apply and decompose its chan_mat, thus getting the
- * rest-pose to pose-mode transform that got stored there at the end of posing calculations
- * for B-Bone deforms to use
- * - it should be safe to just make a local copy like this, since we're not doing anything with the copied pointers
+ /* Although it is not strictly required for this particular space conversion,
+ * arg1 must not be null, as there is a null check for the other conversions to
+ * be safe. Therefore, the active object is passed here, and in many cases, this
+ * will be what owns the pose-channel that is getting this anyway.
*/
- memcpy(&tchan, pchan, sizeof(bPoseChannel));
- pchan_apply_mat4(&tchan, pchan->chan_mat, TRUE);
+ copy_m4_m4(tmat, pchan->pose_mat);
+ constraint_mat_convertspace(ob, pchan, tmat, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_LOCAL);
/* Loc, Rot/Quat keyframes are supported... */
if (strstr(identifier, "location")) {
/* only use for non-connected bones */
if ((pchan->bone->parent) && !(pchan->bone->flag & BONE_CONNECTED))
- return tchan.loc[array_index];
+ return tmat[3][array_index];
else if (pchan->bone->parent == NULL)
- return tchan.loc[array_index];
+ return tmat[3][array_index];
}
else if (strstr(identifier, "rotation_euler")) {
- return tchan.eul[array_index];
+ float eul[3];
+
+ mat4_to_eulO(eul, pchan->rotmode, tmat);
+ return eul[array_index];
}
else if (strstr(identifier, "rotation_quaternion")) {
- return tchan.quat[array_index];
+ float trimat[3][3], quat[4];
+
+ copy_m3_m4(trimat, tmat);
+ mat3_to_quat_is_ok(quat, trimat);
+
+ return quat[array_index];
}
- else if (strstr(identifier, "rotation_axisangle")) {
+ else if (strstr(identifier, "rotation_axis_angle")) {
+ float axis[3], angle;
+
+ mat4_to_axis_angle(axis, &angle, tmat);
+
/* w = 0, x,y,z = 1,2,3 */
if (array_index == 0)
- return tchan.rotAngle;
+ return angle;
else
- return tchan.rotAxis[array_index - 1];
+ return axis[array_index - 1];
}
}
diff --git a/source/blender/editors/animation/keyingsets.c b/source/blender/editors/animation/keyingsets.c
index c525c9af626..dcd1c3abbde 100644
--- a/source/blender/editors/animation/keyingsets.c
+++ b/source/blender/editors/animation/keyingsets.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -224,6 +222,7 @@ static int add_empty_ks_path_exec (bContext *C, wmOperator *op)
ksp->groupmode= KSP_GROUP_KSNAME; // XXX?
ksp->idtype= ID_OB;
+ ksp->flag= KSP_FLAG_WHOLE_ARRAY;
return OPERATOR_FINISHED;
}
@@ -782,19 +781,19 @@ void ANIM_keying_sets_menu_setup (bContext *C, const char title[], const char op
* - these are listed in the order in which they were defined for the active scene
*/
if (scene->keyingsets.first) {
- for (ks= scene->keyingsets.first; ks; ks= ks->next) {
+ for (ks= scene->keyingsets.first; ks; ks=ks->next, i++) {
if (ANIM_keyingset_context_ok_poll(C, ks))
- uiItemIntO(layout, ks->name, ICON_NONE, op_name, "type", i++);
+ uiItemIntO(layout, ks->name, ICON_NONE, op_name, "type", i);
}
uiItemS(layout);
}
/* builtin Keying Sets */
i= -1;
- for (ks= builtin_keyingsets.first; ks; ks= ks->next) {
+ for (ks= builtin_keyingsets.first; ks; ks=ks->next, i--) {
/* only show KeyingSet if context is suitable */
if (ANIM_keyingset_context_ok_poll(C, ks))
- uiItemEnumO_value(layout, ks->name, ICON_NONE, op_name, "type", i--);
+ uiItemEnumO_value(layout, ks->name, ICON_NONE, op_name, "type", i);
}
uiPupMenuEnd(C, pup);
@@ -876,33 +875,19 @@ void ANIM_relative_keyingset_add_source (ListBase *dsources, ID *id, StructRNA *
/* KeyingSet Operations (Insert/Delete Keyframes) ------------ */
-/* Given a KeyingSet and context info (if required), modify keyframes for the channels specified
- * by the KeyingSet. This takes into account many of the different combinations of using KeyingSets.
- * Returns the number of channels that keyframes were added to
+/* Given a KeyingSet and context info, validate Keying Set's paths.
+ * This is only really necessary with relative/built-in KeyingSets
+ * where their list of paths is dynamically generated based on the
+ * current context info.
+ *
+ * Returns 0 if succeeded, otherwise an error code: eModifyKey_Returns
*/
-int ANIM_apply_keyingset (bContext *C, ListBase *dsources, bAction *act, KeyingSet *ks, short mode, float cfra)
+short ANIM_validate_keyingset (bContext *C, ListBase *dsources, KeyingSet *ks)
{
- Scene *scene= CTX_data_scene(C);
- ReportList *reports = CTX_wm_reports(C);
- KS_Path *ksp;
- int kflag=0, success= 0;
- char *groupname= NULL;
-
- /* sanity checks */
+ /* sanity check */
if (ks == NULL)
return 0;
- /* get flags to use */
- if (mode == MODIFYKEY_MODE_INSERT) {
- /* use KeyingSet's flags as base */
- kflag= ks->keyingflag;
-
- /* suppliment with info from the context */
- kflag |= ANIM_get_keyframing_flags(scene, 1);
- }
- else if (mode == MODIFYKEY_MODE_DELETE)
- kflag= 0;
-
/* if relative Keying Sets, poll and build up the paths */
if ((ks->flag & KEYINGSET_ABSOLUTE) == 0) {
KeyingSetInfo *ksi = ANIM_keyingset_info_find_named(ks->typeinfo);
@@ -937,6 +922,45 @@ int ANIM_apply_keyingset (bContext *C, ListBase *dsources, bAction *act, KeyingS
}
}
+ /* succeeded; return 0 to tag error free */
+ return 0;
+}
+
+/* Given a KeyingSet and context info (if required), modify keyframes for the channels specified
+ * by the KeyingSet. This takes into account many of the different combinations of using KeyingSets.
+ * Returns the number of channels that keyframes were added to
+ */
+int ANIM_apply_keyingset (bContext *C, ListBase *dsources, bAction *act, KeyingSet *ks, short mode, float cfra)
+{
+ Scene *scene= CTX_data_scene(C);
+ ReportList *reports = CTX_wm_reports(C);
+ KS_Path *ksp;
+ int kflag=0, success= 0;
+ char *groupname= NULL;
+
+ /* sanity checks */
+ if (ks == NULL)
+ return 0;
+
+ /* get flags to use */
+ if (mode == MODIFYKEY_MODE_INSERT) {
+ /* use KeyingSet's flags as base */
+ kflag= ks->keyingflag;
+
+ /* suppliment with info from the context */
+ kflag |= ANIM_get_keyframing_flags(scene, 1);
+ }
+ else if (mode == MODIFYKEY_MODE_DELETE)
+ kflag= 0;
+
+ /* if relative Keying Sets, poll and build up the paths */
+ success = ANIM_validate_keyingset(C, dsources, ks);
+
+ if (success != 0) {
+ /* return error code if failed */
+ return success;
+ }
+
/* apply the paths as specified in the KeyingSet now */
for (ksp= ks->paths.first; ksp; ksp= ksp->next) {
int arraylen, i;
diff --git a/source/blender/editors/armature/CMakeLists.txt b/source/blender/editors/armature/CMakeLists.txt
index 2db6e278460..9a44525611a 100644
--- a/source/blender/editors/armature/CMakeLists.txt
+++ b/source/blender/editors/armature/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/armature/SConscript b/source/blender/editors/armature/SConscript
index beabd912a20..b7f9a263bc1 100644
--- a/source/blender/editors/armature/SConscript
+++ b/source/blender/editors/armature/SConscript
@@ -7,7 +7,7 @@ incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf ../
incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
incs += ' ../../gpu ../../makesrna #/intern/opennl/extern'
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/armature/armature_intern.h b/source/blender/editors/armature/armature_intern.h
index 82decf8d1cf..47123b7fb4d 100644
--- a/source/blender/editors/armature/armature_intern.h
+++ b/source/blender/editors/armature/armature_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -79,8 +77,6 @@ void ARMATURE_OT_separate(struct wmOperatorType *ot);
void ARMATURE_OT_autoside_names(struct wmOperatorType *ot);
void ARMATURE_OT_flip_names(struct wmOperatorType *ot);
-void ARMATURE_OT_flags_set(struct wmOperatorType *ot);
-
void ARMATURE_OT_layers_show_all(struct wmOperatorType *ot);
void ARMATURE_OT_armature_layers(struct wmOperatorType *ot);
void ARMATURE_OT_bone_layers(struct wmOperatorType *ot);
@@ -97,6 +93,7 @@ void POSE_OT_rot_clear(struct wmOperatorType *ot);
void POSE_OT_loc_clear(struct wmOperatorType *ot);
void POSE_OT_scale_clear(struct wmOperatorType *ot);
void POSE_OT_transforms_clear(struct wmOperatorType *ot);
+void POSE_OT_user_transforms_clear(struct wmOperatorType *ot);
void POSE_OT_copy(struct wmOperatorType *ot);
void POSE_OT_paste(struct wmOperatorType *ot);
@@ -112,6 +109,8 @@ void POSE_OT_select_flip_active(struct wmOperatorType *ot);
void POSE_OT_group_add(struct wmOperatorType *ot);
void POSE_OT_group_remove(struct wmOperatorType *ot);
+void POSE_OT_group_move(struct wmOperatorType *ot);
+void POSE_OT_group_sort(struct wmOperatorType *ot);
void POSE_OT_group_assign(struct wmOperatorType *ot);
void POSE_OT_group_unassign(struct wmOperatorType *ot);
void POSE_OT_group_select(struct wmOperatorType *ot);
@@ -123,9 +122,9 @@ void POSE_OT_paths_clear(struct wmOperatorType *ot);
void POSE_OT_autoside_names(struct wmOperatorType *ot);
void POSE_OT_flip_names(struct wmOperatorType *ot);
-void POSE_OT_quaternions_flip(struct wmOperatorType *ot);
+void POSE_OT_rotation_mode_set(struct wmOperatorType *ot);
-void POSE_OT_flags_set(struct wmOperatorType *ot);
+void POSE_OT_quaternions_flip(struct wmOperatorType *ot);
void POSE_OT_armature_layers(struct wmOperatorType *ot);
void POSE_OT_bone_layers(struct wmOperatorType *ot);
diff --git a/source/blender/editors/armature/armature_ops.c b/source/blender/editors/armature/armature_ops.c
index 545cff82483..81ece9ddc9a 100644
--- a/source/blender/editors/armature/armature_ops.c
+++ b/source/blender/editors/armature/armature_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -85,8 +83,6 @@ void ED_operatortypes_armature(void)
WM_operatortype_append(ARMATURE_OT_autoside_names);
WM_operatortype_append(ARMATURE_OT_flip_names);
- WM_operatortype_append(ARMATURE_OT_flags_set);
-
WM_operatortype_append(ARMATURE_OT_layers_show_all);
WM_operatortype_append(ARMATURE_OT_armature_layers);
WM_operatortype_append(ARMATURE_OT_bone_layers);
@@ -112,6 +108,7 @@ void ED_operatortypes_armature(void)
WM_operatortype_append(POSE_OT_loc_clear);
WM_operatortype_append(POSE_OT_scale_clear);
WM_operatortype_append(POSE_OT_transforms_clear);
+ WM_operatortype_append(POSE_OT_user_transforms_clear);
WM_operatortype_append(POSE_OT_copy);
WM_operatortype_append(POSE_OT_paste);
@@ -128,6 +125,8 @@ void ED_operatortypes_armature(void)
WM_operatortype_append(POSE_OT_group_add);
WM_operatortype_append(POSE_OT_group_remove);
+ WM_operatortype_append(POSE_OT_group_move);
+ WM_operatortype_append(POSE_OT_group_sort);
WM_operatortype_append(POSE_OT_group_assign);
WM_operatortype_append(POSE_OT_group_unassign);
WM_operatortype_append(POSE_OT_group_select);
@@ -138,11 +137,11 @@ void ED_operatortypes_armature(void)
WM_operatortype_append(POSE_OT_autoside_names);
WM_operatortype_append(POSE_OT_flip_names);
+
+ WM_operatortype_append(POSE_OT_rotation_mode_set);
WM_operatortype_append(POSE_OT_quaternions_flip);
- WM_operatortype_append(POSE_OT_flags_set);
-
WM_operatortype_append(POSE_OT_armature_layers);
WM_operatortype_append(POSE_OT_bone_layers);
@@ -268,12 +267,9 @@ void ED_keymap_armature(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "ARMATURE_OT_separate", PKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
/* set flags */
- kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_flags_set", WKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_enum_set(kmi->ptr, "mode", 2); // toggle
- kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_flags_set", WKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
- RNA_enum_set(kmi->ptr, "mode", 1); // enable
- kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_flags_set", WKEY, KM_PRESS, KM_ALT, 0);
- RNA_enum_set(kmi->ptr, "mode", 0); // clear
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_toggle", WKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_enable", WKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_disable", WKEY, KM_PRESS, KM_ALT, 0);
/* armature/bone layers */
WM_keymap_add_item(keymap, "ARMATURE_OT_layers_show_all", ACCENTGRAVEKEY, KM_PRESS, KM_CTRL, 0);
@@ -315,6 +311,8 @@ void ED_keymap_armature(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "POSE_OT_quaternions_flip", FKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "POSE_OT_rotation_mode_set", RKEY, KM_PRESS, KM_CTRL, 0);
+
WM_keymap_add_item(keymap, "POSE_OT_copy", CKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "POSE_OT_paste", VKEY, KM_PRESS, KM_CTRL, 0);
kmi= WM_keymap_add_item(keymap, "POSE_OT_paste", VKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
@@ -349,13 +347,10 @@ void ED_keymap_armature(wmKeyConfig *keyconf)
WM_keymap_add_menu(keymap, "VIEW3D_MT_pose_group", GKEY, KM_PRESS, KM_CTRL, 0);
/* set flags */
- kmi= WM_keymap_add_item(keymap, "POSE_OT_flags_set", WKEY, KM_PRESS, KM_SHIFT, 0);
- RNA_enum_set(kmi->ptr, "mode", 2); // toggle
- kmi= WM_keymap_add_item(keymap, "POSE_OT_flags_set", WKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
- RNA_enum_set(kmi->ptr, "mode", 1); // enable
- kmi= WM_keymap_add_item(keymap, "POSE_OT_flags_set", WKEY, KM_PRESS, KM_ALT, 0);
- RNA_enum_set(kmi->ptr, "mode", 0); // clear
-
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_toggle", WKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_enable", WKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
+ WM_keymap_add_menu(keymap, "VIEW3D_MT_bone_options_disable", WKEY, KM_PRESS, KM_ALT, 0);
+
/* armature/bone layers */
WM_keymap_add_item(keymap, "ARMATURE_OT_layers_show_all", ACCENTGRAVEKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "POSE_OT_armature_layers", MKEY, KM_PRESS, KM_SHIFT, 0);
diff --git a/source/blender/editors/armature/editarmature.c b/source/blender/editors/armature/editarmature.c
index abf08393544..eaaaa12eca1 100644
--- a/source/blender/editors/armature/editarmature.c
+++ b/source/blender/editors/armature/editarmature.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -494,15 +492,32 @@ void ED_armature_apply_transform(Object *ob, float mat[4][4])
EditBone *ebone;
bArmature *arm= ob->data;
float scale = mat4_to_scale(mat); /* store the scale of the matrix here to use on envelopes */
-
+ float mat3[3][3];
+
+ copy_m3_m4(mat3, mat);
+ normalize_m3(mat3);
+
/* Put the armature into editmode */
ED_armature_to_edit(ob);
/* Do the rotations */
- for (ebone = arm->edbo->first; ebone; ebone=ebone->next){
+ for (ebone = arm->edbo->first; ebone; ebone=ebone->next) {
+ float delta[3], tmat[3][3];
+
+ /* find the current bone's roll matrix */
+ sub_v3_v3v3(delta, ebone->tail, ebone->head);
+ vec_roll_to_mat3(delta, ebone->roll, tmat);
+
+ /* transform the roll matrix */
+ mul_m3_m3m3(tmat, mat3, tmat);
+
+ /* transform the bone */
mul_m4_v3(mat, ebone->head);
mul_m4_v3(mat, ebone->tail);
-
+
+ /* apply the transfiormed roll back */
+ mat3_to_vec_roll(tmat, NULL, &ebone->roll);
+
ebone->rad_head *= scale;
ebone->rad_tail *= scale;
ebone->dist *= scale;
@@ -1352,30 +1367,6 @@ static void *get_nearest_bone (bContext *C, short findunsel, int x, int y)
return NULL;
}
-/* helper for setflag_sel_bone() */
-static void bone_setflag (int *bone, int flag, short mode)
-{
- if (bone && flag) {
- /* exception for inverse flags */
- if (flag == BONE_NO_DEFORM) {
- if (mode == 2)
- *bone |= flag;
- else if (mode == 1)
- *bone &= ~flag;
- else
- *bone ^= flag;
- }
- else {
- if (mode == 2)
- *bone &= ~flag;
- else if (mode == 1)
- *bone |= flag;
- else
- *bone ^= flag;
- }
- }
-}
-
/* Get the first available child of an editbone */
static EditBone *editbone_get_child(bArmature *arm, EditBone *pabone, short use_visibility)
{
@@ -1396,105 +1387,6 @@ static EditBone *editbone_get_child(bArmature *arm, EditBone *pabone, short use_
return chbone;
}
-/* callback for posemode setflag */
-static int pose_setflag_exec (bContext *C, wmOperator *op)
-{
- int flag= RNA_enum_get(op->ptr, "type");
- int mode= RNA_enum_get(op->ptr, "mode");
-
- /* loop over all selected pchans */
- CTX_DATA_BEGIN(C, bPoseChannel *, pchan, selected_pose_bones)
- {
- bone_setflag(&pchan->bone->flag, flag, mode);
- }
- CTX_DATA_END;
-
- /* note, notifier might evolve */
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ED_object_pose_armature(CTX_data_active_object(C)));
-
- return OPERATOR_FINISHED;
-}
-
-/* callback for editbones setflag */
-static int armature_bones_setflag_exec (bContext *C, wmOperator *op)
-{
- int flag= RNA_enum_get(op->ptr, "type");
- int mode= RNA_enum_get(op->ptr, "mode");
-
- /* loop over all selected pchans */
- CTX_DATA_BEGIN(C, EditBone *, ebone, selected_bones)
- {
- bone_setflag(&ebone->flag, flag, mode);
- }
- CTX_DATA_END;
-
- /* note, notifier might evolve */
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, CTX_data_edit_object(C));
-
- return OPERATOR_FINISHED;
-}
-
-/* settings that can be changed */
-static EnumPropertyItem prop_bone_setting_types[] = {
- {BONE_DRAWWIRE, "DRAWWIRE", 0, "Draw Wire", ""},
- {BONE_NO_DEFORM, "DEFORM", 0, "Deform", ""},
- {BONE_MULT_VG_ENV, "MULT_VG", 0, "Multiply Vertex Groups", ""},
- {BONE_HINGE, "HINGE", 0, "Hinge", ""},
- {BONE_NO_SCALE, "NO_SCALE", 0, "No Scale", ""},
- {BONE_EDITMODE_LOCKED, "LOCKED", 0, "Locked", "(For EditMode only)"},
- {0, NULL, 0, NULL, NULL}
-};
-
-/* ways that settings can be changed */
-static EnumPropertyItem prop_bone_setting_modes[] = {
- {0, "CLEAR", 0, "Clear", ""},
- {1, "ENABLE", 0, "Enable", ""},
- {2, "TOGGLE", 0, "Toggle", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
-
-void ARMATURE_OT_flags_set (wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Set Bone Flags";
- ot->idname= "ARMATURE_OT_flags_set";
- ot->description= "Set flags for armature bones";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= armature_bones_setflag_exec;
- ot->poll= ED_operator_editarmature;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-
- /* properties */
- ot->prop= RNA_def_enum(ot->srna, "type", prop_bone_setting_types, 0, "Type", "");
- RNA_def_enum(ot->srna, "mode", prop_bone_setting_modes, 0, "Mode", "");
-}
-
-void POSE_OT_flags_set (wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Set Bone Flags";
- ot->idname= "POSE_OT_flags_set";
- ot->description= "Set flags for armature bones";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= pose_setflag_exec;
- ot->poll= ED_operator_posemode;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-
- /* properties */
- ot->prop= RNA_def_enum(ot->srna, "type", prop_bone_setting_types, 0, "Type", "");
- RNA_def_enum(ot->srna, "mode", prop_bone_setting_modes, 0, "Mode", "");
-}
-
-
/* **************** END PoseMode & EditMode *************************** */
/* **************** Posemode stuff ********************** */
@@ -1601,10 +1493,8 @@ static int armature_select_linked_invoke(bContext *C, wmOperator *op, wmEvent *e
bArmature *arm;
EditBone *bone, *curBone, *next;
int extend= RNA_boolean_get(op->ptr, "extend");
- ARegion *ar;
Object *obedit= CTX_data_edit_object(C);
arm= obedit->data;
- ar= CTX_wm_region(C);
view3d_operator_needs_opengl(C);
@@ -3116,28 +3006,31 @@ static void bones_merge(Object *obedit, EditBone *start, EditBone *end, EditBone
/* TODO, copy more things to the new bone */
newbone->flag= start->flag & (BONE_HINGE|BONE_NO_DEFORM|BONE_NO_SCALE|BONE_NO_CYCLICOFFSET|BONE_NO_LOCAL_LOCATION|BONE_DONE);
- /* step 2a: parent children of in-between bones to newbone */
- for (chain= chains->first; chain; chain= chain->next) {
- /* ick: we need to check if parent of each bone in chain is one of the bones in the */
- short found= 0;
- for (ebo= chain->data; ebo; ebo= ebo->parent) {
+ /* step 2a: reparent any side chains which may be parented to any bone in the chain of bones to merge
+ * - potentially several tips for side chains leading to some tree exist...
+ */
+ for (chain = chains->first; chain; chain = chain->next) {
+ /* traverse down chain until we hit the bottom or if we run into the tip of the chain of bones we're
+ * merging (need to stop in this case to avoid corrupting this chain too!)
+ */
+ for (ebone = chain->data; (ebone) && (ebone != end); ebone = ebone->parent) {
+ short found = 0;
- /* try to find which bone from the list to be removed, is the parent */
- for (ebone= end; ebone; ebone= ebone->parent) {
- if (ebo->parent == ebone) {
- found= 1;
+ /* check if this bone is parented to one in the merging chain
+ * ! WATCHIT: must only go check until end of checking chain
+ */
+ for (ebo = end; (ebo) && (ebo != start->parent); ebo = ebo->parent) {
+ /* side-chain found? --> remap parent to new bone, then we're done with this chain :) */
+ if (ebone->parent == ebo) {
+ ebone->parent = newbone;
+ found = 1;
break;
}
}
- /* adjust this bone's parent to newbone then */
- if (found) {
- ebo->parent= newbone;
+ /* carry on to the next tip now */
+ if (found)
break;
- }
- }
- if (found) {
- break;
}
}
@@ -3173,12 +3066,12 @@ static int armature_merge_exec (bContext *C, wmOperator *op)
LinkData *chain, *nchain;
EditBone *ebo;
+ armature_tag_select_mirrored(arm);
+
/* get chains (ends on chains) */
chains_find_tips(arm->edbo, &chains);
if (chains.first == NULL) return OPERATOR_CANCELLED;
-
- armature_tag_select_mirrored(arm);
-
+
/* each 'chain' is the last bone in the chain (with no children) */
for (chain= chains.first; chain; chain= nchain) {
EditBone *bstart= NULL, *bend= NULL;
@@ -3223,7 +3116,7 @@ static int armature_merge_exec (bContext *C, wmOperator *op)
}
armature_tag_unselect(arm);
-
+
BLI_freelistN(&chains);
}
@@ -5527,12 +5420,14 @@ void ED_armature_bone_rename(bArmature *arm, char *oldnamep, char *newnamep)
ScrArea *sa;
/* add regions */
for(sa= screen->areabase.first; sa; sa= sa->next) {
- SpaceLink *sl= sa->spacedata.first;
- if(sl->spacetype == SPACE_VIEW3D) {
- View3D *v3d= (View3D *)sl;
- if(v3d->ob_centre && v3d->ob_centre->data == arm) {
- if (!strcmp(v3d->ob_centre_bone, oldname)) {
- BLI_strncpy(v3d->ob_centre_bone, newname, MAXBONENAME);
+ SpaceLink *sl;
+ for (sl= sa->spacedata.first; sl; sl= sl->next) {
+ if(sl->spacetype==SPACE_VIEW3D) {
+ View3D *v3d= (View3D *)sl;
+ if(v3d->ob_centre && v3d->ob_centre->data == arm) {
+ if (!strcmp(v3d->ob_centre_bone, oldname)) {
+ BLI_strncpy(v3d->ob_centre_bone, newname, MAXBONENAME);
+ }
}
}
}
diff --git a/source/blender/editors/armature/poseSlide.c b/source/blender/editors/armature/poseSlide.c
index 3d6888d87dc..b0ff60455cf 100644
--- a/source/blender/editors/armature/poseSlide.c
+++ b/source/blender/editors/armature/poseSlide.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -93,7 +91,8 @@
/* Temporary data shared between these operators */
typedef struct tPoseSlideOp {
Scene *scene; /* current scene */
- ARegion *ar; /* region that we're operating in (needed for */
+ ScrArea *sa; /* area that we're operating in (needed for modal()) */
+ ARegion *ar; /* region that we're operating in (needed for modal()) */
Object *ob; /* active object that Pose Info comes from */
bArmature *arm; /* armature for pose */
@@ -132,6 +131,7 @@ static int pose_slide_init (bContext *C, wmOperator *op, short mode)
pso->scene= CTX_data_scene(C);
pso->ob= ED_object_pose_armature(CTX_data_active_object(C));
pso->arm= (pso->ob)? pso->ob->data : NULL;
+ pso->sa= CTX_wm_area(C); /* only really needed when doing modal() */
pso->ar= CTX_wm_region(C); /* only really needed when doing modal() */
pso->cframe= pso->scene->r.cfra;
@@ -519,6 +519,33 @@ static void pose_slide_reset (tPoseSlideOp *pso)
/* ------------------------------------ */
+/* draw percentage indicator in header */
+static void pose_slide_draw_status (tPoseSlideOp *pso)
+{
+ char statusStr[32];
+ char mode[32];
+
+ switch (pso->mode) {
+ case POSESLIDE_PUSH:
+ strcpy(mode, "Push Pose");
+ break;
+ case POSESLIDE_RELAX:
+ strcpy(mode, "Relax Pose");
+ break;
+ case POSESLIDE_BREAKDOWN:
+ strcpy(mode, "Breakdown");
+ break;
+
+ default:
+ // unknown
+ strcpy(mode, "Sliding-Tool");
+ break;
+ }
+
+ sprintf(statusStr, "%s: %d %%", mode, (int)(pso->percentage*100.0f));
+ ED_area_headerprint(pso->sa, statusStr);
+}
+
/* common code for invoke() methods */
static int pose_slide_invoke_common (bContext *C, wmOperator *op, tPoseSlideOp *pso)
{
@@ -587,6 +614,9 @@ static int pose_slide_invoke_common (bContext *C, wmOperator *op, tPoseSlideOp *
/* set cursor to indicate modal */
WM_cursor_modal(win, BC_EW_SCROLLCURSOR);
+ /* header print */
+ pose_slide_draw_status(pso);
+
/* add a modal handler for this operator */
WM_event_add_modal_handler(C, op);
return OPERATOR_RUNNING_MODAL;
@@ -601,7 +631,8 @@ static int pose_slide_modal (bContext *C, wmOperator *op, wmEvent *evt)
switch (evt->type) {
case LEFTMOUSE: /* confirm */
{
- /* return to normal cursor */
+ /* return to normal cursor and header status */
+ ED_area_headerprint(pso->sa, NULL);
WM_cursor_restore(win);
/* insert keyframes as required... */
@@ -615,7 +646,8 @@ static int pose_slide_modal (bContext *C, wmOperator *op, wmEvent *evt)
case ESCKEY: /* cancel */
case RIGHTMOUSE:
{
- /* return to normal cursor */
+ /* return to normal cursor and header status */
+ ED_area_headerprint(pso->sa, NULL);
WM_cursor_restore(win);
/* reset transforms back to original state */
@@ -639,6 +671,9 @@ static int pose_slide_modal (bContext *C, wmOperator *op, wmEvent *evt)
pso->percentage= (evt->x - pso->ar->winrct.xmin) / ((float)pso->ar->winx);
RNA_float_set(op->ptr, "percentage", pso->percentage);
+ /* update percentage indicator in header */
+ pose_slide_draw_status(pso);
+
/* reset transforms (to avoid accumulation errors) */
pose_slide_reset(pso);
@@ -1000,7 +1035,7 @@ static short pose_propagate_get_refVal (Object *ob, FCurve *fcu, float *value)
/* resolve the property... */
if (RNA_path_resolve(&id_ptr, fcu->rna_path, &ptr, &prop)) {
- if (RNA_property_array_check(&ptr, prop)) {
+ if (RNA_property_array_check(prop)) {
/* array */
if (fcu->array_index < RNA_property_array_length(&ptr, prop)) {
found= TRUE;
diff --git a/source/blender/editors/armature/poseUtils.c b/source/blender/editors/armature/poseUtils.c
index 7ade93076e5..4b22d76ad0b 100644
--- a/source/blender/editors/armature/poseUtils.c
+++ b/source/blender/editors/armature/poseUtils.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -121,7 +119,7 @@ static void fcurves_to_pchan_links_get (ListBase *pfLinks, Object *ob, bAction *
pfl->oldangle = pchan->rotAngle;
/* make copy of custom properties */
- if (transFlags & ACT_TRANS_PROP)
+ if (pchan->prop && (transFlags & ACT_TRANS_PROP))
pfl->oldprops = IDP_CopyProperty(pchan->prop);
}
}
@@ -247,6 +245,15 @@ void poseAnim_mapping_autoKeyframe (bContext *C, Scene *scene, Object *ob, ListB
/* insert keyframes for all relevant bones in one go */
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cframe);
BLI_freelistN(&dsources);
+
+ /* do the bone paths
+ * - only do this if keyframes should have been added
+ * - do not calculate unless there are paths already to update...
+ */
+ if (C && (ob->pose->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)) {
+ //ED_pose_clear_paths(C, ob); // XXX for now, don't need to clear
+ ED_pose_recalculate_paths(scene, ob);
+ }
}
}
diff --git a/source/blender/editors/armature/poselib.c b/source/blender/editors/armature/poselib.c
index 5b4da1a38df..864eaa3bdbd 100644
--- a/source/blender/editors/armature/poselib.c
+++ b/source/blender/editors/armature/poselib.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -110,22 +108,34 @@ static int poselib_get_free_index (bAction *act)
{
TimeMarker *marker;
int low=0, high=0;
+ short changed = 0;
/* sanity checks */
if (ELEM(NULL, act, act->markers.first)) return 1;
- /* loop over poses finding various values (poses are not stored in chronological order) */
- for (marker= act->markers.first; marker; marker= marker->next) {
- /* only increase low if value is 1 greater than low, to find "gaps" where
- * poses were removed from the poselib
- */
- if (marker->frame == (low + 1))
- low++;
+ /* As poses are not stored in chronological order, we must iterate over this list
+ * a few times until we don't make any new discoveries (mostly about the lower bound).
+ * Prevents problems with deleting then trying to add new poses [#27412]
+ */
+ do {
+ changed = 0;
- /* value replaces high if it is the highest value encountered yet */
- if (marker->frame > high)
- high= marker->frame;
- }
+ for (marker= act->markers.first; marker; marker= marker->next) {
+ /* only increase low if value is 1 greater than low, to find "gaps" where
+ * poses were removed from the poselib
+ */
+ if (marker->frame == (low + 1)) {
+ low++;
+ changed = 1;
+ }
+
+ /* value replaces high if it is the highest value encountered yet */
+ if (marker->frame > high) {
+ high= marker->frame;
+ changed = 1;
+ }
+ }
+ } while (changed != 0);
/* - if low is not equal to high, then low+1 is a gap
* - if low is equal to high, then high+1 is the next index (add at end)
@@ -331,6 +341,11 @@ static int poselib_sanitise_exec (bContext *C, wmOperator *op)
/* free temp memory */
BLI_dlrbTree_free(&keys);
+ /* send notifiers for this - using keyframe editing notifiers, since action
+ * may be being shown in anim editors as active action
+ */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
+
return OPERATOR_FINISHED;
}
@@ -555,6 +570,11 @@ static int poselib_remove_exec (bContext *C, wmOperator *op)
/* fix active pose number */
act->active_marker= 0;
+ /* send notifiers for this - using keyframe editing notifiers, since action
+ * may be being shown in anim editors as active action
+ */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
+
/* done */
return OPERATOR_FINISHED;
}
@@ -637,6 +657,11 @@ static int poselib_rename_exec (bContext *C, wmOperator *op)
BLI_strncpy(marker->name, newname, sizeof(marker->name));
BLI_uniquename(&act->markers, marker, "Pose", '.', offsetof(TimeMarker, name), sizeof(marker->name));
+ /* send notifiers for this - using keyframe editing notifiers, since action
+ * may be being shown in anim editors as active action
+ */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
+
/* done */
return OPERATOR_FINISHED;
}
@@ -840,7 +865,7 @@ static void poselib_apply_pose (tPoseLib_PreviewData *pld)
/* start applying - only those channels which have a key at this point in time! */
for (agrp= act->groups.first; agrp; agrp= agrp->next) {
/* check if group has any keyframes */
- if (ANIM_animchanneldata_keyframes_loop(&ked, agrp, ALE_GROUP, NULL, group_ok_cb, NULL, 0)) {
+ if (ANIM_animchanneldata_keyframes_loop(&ked, NULL, agrp, ALE_GROUP, NULL, group_ok_cb, NULL)) {
/* has keyframe on this frame, so try to get a PoseChannel with this name */
pchan= get_pose_channel(pose, agrp->name);
@@ -881,11 +906,11 @@ static void poselib_keytag_pose (bContext *C, Scene *scene, tPoseLib_PreviewData
/* start tagging/keying */
for (agrp= act->groups.first; agrp; agrp= agrp->next) {
- /* only for selected action channels */
- if (agrp->flag & AGRP_SELECTED) {
- pchan= get_pose_channel(pose, agrp->name);
-
- if (pchan) {
+ /* only for selected bones unless there aren't any selected, in which case all are included */
+ pchan= get_pose_channel(pose, agrp->name);
+
+ if (pchan) {
+ if ( (pld->selcount == 0) || ((pchan->bone) && (pchan->bone->flag & BONE_SELECTED)) ) {
if (autokey) {
/* add datasource override for the PoseChannel, to be used later */
ANIM_relative_keyingset_add_source(&dsources, &pld->ob->id, &RNA_PoseBone, pchan);
diff --git a/source/blender/editors/armature/poseobject.c b/source/blender/editors/armature/poseobject.c
index 8176aa5893b..3911be02fe7 100644
--- a/source/blender/editors/armature/poseobject.c
+++ b/source/blender/editors/armature/poseobject.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -49,6 +47,7 @@
#include "DNA_scene_types.h"
#include "DNA_object_types.h"
+#include "BKE_animsys.h"
#include "BKE_anim.h"
#include "BKE_idprop.h"
#include "BKE_action.h"
@@ -64,6 +63,7 @@
#include "RNA_access.h"
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -108,24 +108,6 @@ Object *ED_object_pose_armature(Object *ob)
return NULL;
}
-
-/* This function is used to indicate that a bone is selected and needs keyframes inserted */
-static void set_pose_keys (Object *ob)
-{
- bArmature *arm= ob->data;
- bPoseChannel *chan;
-
- if (ob->pose){
- for (chan=ob->pose->chanbase.first; chan; chan=chan->next){
- Bone *bone= chan->bone;
- if ((bone) && (bone->flag & BONE_SELECTED) && (arm->layer & bone->layer))
- chan->flag |= POSE_KEY;
- else
- chan->flag &= ~POSE_KEY;
- }
- }
-}
-
/* This function is used to process the necessary updates for */
void ED_armature_enter_posemode(bContext *C, Base *base)
{
@@ -604,6 +586,63 @@ static short pose_select_same_layer (bContext *C, Object *ob, short extend)
return changed;
}
+static int pose_select_same_keyingset(bContext *C, Object *ob, short extend)
+{
+ KeyingSet *ks = ANIM_scene_get_active_keyingset(CTX_data_scene(C));
+ KS_Path *ksp;
+
+ bArmature *arm = (ob)? ob->data : NULL;
+ bPose *pose= (ob)? ob->pose : NULL;
+ short changed= 0;
+
+ /* sanity checks: validate Keying Set and object */
+ if ((ks == NULL) || (ANIM_validate_keyingset(C, NULL, ks) != 0))
+ return 0;
+
+ if (ELEM3(NULL, ob, pose, arm))
+ return 0;
+
+ /* if not extending selection, deselect all selected first */
+ if (extend == 0) {
+ CTX_DATA_BEGIN(C, bPoseChannel *, pchan, visible_pose_bones)
+ {
+ if ((pchan->bone->flag & BONE_UNSELECTABLE)==0)
+ pchan->bone->flag &= ~BONE_SELECTED;
+ }
+ CTX_DATA_END;
+ }
+
+ /* iterate over elements in the Keying Set, setting selection depending on whether
+ * that bone is visible or not...
+ */
+ for (ksp = ks->paths.first; ksp; ksp = ksp->next) {
+ /* only items related to this object will be relevant */
+ if ((ksp->id == &ob->id) && (ksp->rna_path != NULL)) {
+ if (strstr(ksp->rna_path, "bones")) {
+ char *boneName = BLI_getQuotedStr(ksp->rna_path, "bones[");
+
+ if (boneName) {
+ bPoseChannel *pchan = get_pose_channel(pose, boneName);
+
+ if (pchan) {
+ /* select if bone is visible and can be affected */
+ if ((PBONE_VISIBLE(arm, pchan->bone)) &&
+ (pchan->bone->flag & BONE_UNSELECTABLE)==0)
+ {
+ pchan->bone->flag |= BONE_SELECTED;
+ changed = 1;
+ }
+ }
+
+ /* free temp memory */
+ MEM_freeN(boneName);
+ }
+ }
+ }
+ }
+
+ return changed;
+}
static int pose_select_grouped_exec (bContext *C, wmOperator *op)
{
@@ -622,6 +661,9 @@ static int pose_select_grouped_exec (bContext *C, wmOperator *op)
case 1: /* group */
changed= pose_select_same_group(C, ob, extend);
break;
+ case 2: /* Keying Set */
+ changed= pose_select_same_keyingset(C, ob, extend);
+ break;
default: /* layer */
changed= pose_select_same_layer(C, ob, extend);
break;
@@ -642,6 +684,7 @@ void POSE_OT_select_grouped (wmOperatorType *ot)
static EnumPropertyItem prop_select_grouped_types[] = {
{0, "LAYER", 0, "Layer", "Shared layers"},
{1, "GROUP", 0, "Group", "Shared group"},
+ {2, "KEYINGSET", 0, "Keying Set", "All bones affected by active Keying Set"},
{0, NULL, 0, NULL, NULL}
};
@@ -945,6 +988,149 @@ void free_posebuf(void)
g_posebuf=NULL;
}
+/* This function is used to indicate that a bone is selected
+ * and needs to be included in copy buffer (used to be for inserting keys)
+ */
+static void set_pose_keys (Object *ob)
+{
+ bArmature *arm= ob->data;
+ bPoseChannel *chan;
+
+ if (ob->pose){
+ for (chan=ob->pose->chanbase.first; chan; chan=chan->next){
+ Bone *bone= chan->bone;
+ if ((bone) && (bone->flag & BONE_SELECTED) && (arm->layer & bone->layer))
+ chan->flag |= POSE_KEY;
+ else
+ chan->flag &= ~POSE_KEY;
+ }
+ }
+}
+
+/* perform paste pose, for a single bone
+ * < ob: object where bone to paste to lives
+ * < chan: bone that pose to paste comes from
+ * < selOnly: only paste on selected bones
+ * < flip: flip on x-axis
+ *
+ * > returns: whether the bone that we pasted to if we succeeded
+ */
+static bPoseChannel *pose_bone_do_paste (Object *ob, bPoseChannel *chan, short selOnly, short flip)
+{
+ bPoseChannel *pchan;
+ char name[32];
+ short paste_ok;
+
+ /* get the name - if flipping, we must flip this first */
+ if (flip)
+ flip_side_name(name, chan->name, 0); /* 0 = don't strip off number extensions */
+ else
+ BLI_strncpy(name, chan->name, sizeof(name));
+
+ /* only copy when:
+ * 1) channel exists - poses are not meant to add random channels to anymore
+ * 2) if selection-masking is on, channel is selected - only selected bones get pasted on, allowing making both sides symmetrical
+ */
+ pchan= get_pose_channel(ob->pose, name);
+
+ if (selOnly)
+ paste_ok= ((pchan) && (pchan->bone->flag & BONE_SELECTED));
+ else
+ paste_ok= ((pchan != NULL));
+
+ /* continue? */
+ if (paste_ok) {
+ /* only loc rot size
+ * - only copies transform info for the pose
+ */
+ VECCOPY(pchan->loc, chan->loc);
+ VECCOPY(pchan->size, chan->size);
+ pchan->flag= chan->flag;
+
+ /* check if rotation modes are compatible (i.e. do they need any conversions) */
+ if (pchan->rotmode == chan->rotmode) {
+ /* copy the type of rotation in use */
+ if (pchan->rotmode > 0) {
+ VECCOPY(pchan->eul, chan->eul);
+ }
+ else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
+ VECCOPY(pchan->rotAxis, chan->rotAxis);
+ pchan->rotAngle = chan->rotAngle;
+ }
+ else {
+ QUATCOPY(pchan->quat, chan->quat);
+ }
+ }
+ else if (pchan->rotmode > 0) {
+ /* quat/axis-angle to euler */
+ if (chan->rotmode == ROT_MODE_AXISANGLE)
+ axis_angle_to_eulO( pchan->eul, pchan->rotmode,chan->rotAxis, chan->rotAngle);
+ else
+ quat_to_eulO( pchan->eul, pchan->rotmode,chan->quat);
+ }
+ else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
+ /* quat/euler to axis angle */
+ if (chan->rotmode > 0)
+ eulO_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, chan->eul, chan->rotmode);
+ else
+ quat_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, chan->quat);
+ }
+ else {
+ /* euler/axis-angle to quat */
+ if (chan->rotmode > 0)
+ eulO_to_quat(pchan->quat, chan->eul, chan->rotmode);
+ else
+ axis_angle_to_quat(pchan->quat, chan->rotAxis, pchan->rotAngle);
+ }
+
+ /* paste flipped pose? */
+ if (flip) {
+ pchan->loc[0]*= -1;
+
+ /* has to be done as eulers... */
+ if (pchan->rotmode > 0) {
+ pchan->eul[1] *= -1;
+ pchan->eul[2] *= -1;
+ }
+ else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
+ float eul[3];
+
+ axis_angle_to_eulO(eul, EULER_ORDER_DEFAULT, pchan->rotAxis, pchan->rotAngle);
+ eul[1]*= -1;
+ eul[2]*= -1;
+ eulO_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, eul, EULER_ORDER_DEFAULT);
+ }
+ else {
+ float eul[3];
+
+ normalize_qt(pchan->quat);
+ quat_to_eul(eul, pchan->quat);
+ eul[1]*= -1;
+ eul[2]*= -1;
+ eul_to_quat(pchan->quat, eul);
+ }
+ }
+
+ /* ID properties */
+ if (chan->prop) {
+ if (pchan->prop) {
+ /* if we have existing properties on a bone, just copy over the values of
+ * matching properties (i.e. ones which will have some impact) on to the
+ * target instead of just blinding replacing all [
+ */
+ IDP_SyncGroupValues(pchan->prop, chan->prop);
+ }
+ else {
+ /* no existing properties, so assume that we want copies too? */
+ pchan->prop= IDP_CopyProperty(chan->prop);
+ }
+ }
+ }
+
+ /* return whether paste went ahead */
+ return pchan;
+}
+
/* ---- */
static int pose_copy_exec (bContext *C, wmOperator *op)
@@ -987,9 +1173,9 @@ void POSE_OT_copy (wmOperatorType *ot)
static int pose_paste_exec (bContext *C, wmOperator *op)
{
- Scene *scene= CTX_data_scene(C);
Object *ob= ED_object_pose_armature(CTX_data_active_object(C));
- bPoseChannel *chan, *pchan;
+ Scene *scene= CTX_data_scene(C);
+ bPoseChannel *chan;
int flip= RNA_boolean_get(op->ptr, "flipped");
int selOnly= RNA_boolean_get(op->ptr, "selected_mask");
@@ -1002,120 +1188,22 @@ static int pose_paste_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
+ /* if selOnly option is enabled, if user hasn't selected any bones,
+ * just go back to default behaviour to be more in line with other pose tools
+ */
+ if (selOnly) {
+ if (CTX_DATA_COUNT(C, selected_pose_bones) == 0)
+ selOnly = 0;
+ }
+
/* Safely merge all of the channels in the buffer pose into any existing pose */
for (chan= g_posebuf->chanbase.first; chan; chan=chan->next) {
if (chan->flag & POSE_KEY) {
- char name[32];
- short paste_ok;
+ /* try to perform paste on this bone */
+ bPoseChannel *pchan = pose_bone_do_paste(ob, chan, selOnly, flip);
- /* get the name - if flipping, we must flip this first */
- if (flip)
- flip_side_name(name, chan->name, 0); /* 0 = don't strip off number extensions */
- else
- BLI_strncpy(name, chan->name, sizeof(name));
-
- /* only copy when:
- * 1) channel exists - poses are not meant to add random channels to anymore
- * 2) if selection-masking is on, channel is selected - only selected bones get pasted on, allowing making both sides symmetrical
- */
- pchan= get_pose_channel(ob->pose, name);
-
- if (selOnly)
- paste_ok= ((pchan) && (pchan->bone->flag & BONE_SELECTED));
- else
- paste_ok= ((pchan != NULL));
-
- /* continue? */
- if (paste_ok) {
- /* only loc rot size
- * - only copies transform info for the pose
- */
- VECCOPY(pchan->loc, chan->loc);
- VECCOPY(pchan->size, chan->size);
- pchan->flag= chan->flag;
-
- /* check if rotation modes are compatible (i.e. do they need any conversions) */
- if (pchan->rotmode == chan->rotmode) {
- /* copy the type of rotation in use */
- if (pchan->rotmode > 0) {
- VECCOPY(pchan->eul, chan->eul);
- }
- else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
- VECCOPY(pchan->rotAxis, chan->rotAxis);
- pchan->rotAngle = chan->rotAngle;
- }
- else {
- QUATCOPY(pchan->quat, chan->quat);
- }
- }
- else if (pchan->rotmode > 0) {
- /* quat/axis-angle to euler */
- if (chan->rotmode == ROT_MODE_AXISANGLE)
- axis_angle_to_eulO( pchan->eul, pchan->rotmode,chan->rotAxis, chan->rotAngle);
- else
- quat_to_eulO( pchan->eul, pchan->rotmode,chan->quat);
- }
- else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
- /* quat/euler to axis angle */
- if (chan->rotmode > 0)
- eulO_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, chan->eul, chan->rotmode);
- else
- quat_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, chan->quat);
- }
- else {
- /* euler/axis-angle to quat */
- if (chan->rotmode > 0)
- eulO_to_quat(pchan->quat, chan->eul, chan->rotmode);
- else
- axis_angle_to_quat(pchan->quat, chan->rotAxis, pchan->rotAngle);
- }
-
- /* paste flipped pose? */
- if (flip) {
- pchan->loc[0]*= -1;
-
- /* has to be done as eulers... */
- if (pchan->rotmode > 0) {
- pchan->eul[1] *= -1;
- pchan->eul[2] *= -1;
- }
- else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
- float eul[3];
-
- axis_angle_to_eulO(eul, EULER_ORDER_DEFAULT, pchan->rotAxis, pchan->rotAngle);
- eul[1]*= -1;
- eul[2]*= -1;
- eulO_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, eul, EULER_ORDER_DEFAULT);
- }
- else {
- float eul[3];
-
- normalize_qt(pchan->quat);
- quat_to_eul(eul, pchan->quat);
- eul[1]*= -1;
- eul[2]*= -1;
- eul_to_quat(pchan->quat, eul);
- }
- }
-
- /* ID properties
- * - only free the existing properties if the channel we're copying from has them
- * NOTE: this means that if the pose depends on some pchan property, the pose may not be ok,
- * but this is better than loosing all the setting you've painstakingly added...
- */
- if (chan->prop) {
- /* free the old properties since we want to replace them now */
- if (pchan->prop) {
- IDP_FreeProperty(pchan->prop);
- MEM_freeN(pchan->prop);
- pchan->prop= NULL;
- }
-
- /* now copy over the new copy of the properties */
- pchan->prop= IDP_CopyProperty(chan->prop);
- }
-
- /* keyframing tagging */
+ if (pchan) {
+ /* keyframing tagging for successful paste */
if (autokeyframe_cfra_can_key(scene, &ob->id)) {
ListBase dsources = {NULL, NULL};
@@ -1169,11 +1257,11 @@ void POSE_OT_paste (wmOperatorType *ot)
/* properties */
RNA_def_boolean(ot->srna, "flipped", 0, "Flipped on X-Axis", "Paste the stored pose flipped on to current pose");
- RNA_def_boolean(ot->srna, "selected_mask", 0, "On Selected Only", "Only paste the stored pose on to selected bones in the current pose");
+ RNA_def_boolean(ot->srna, "selected_mask", 1, "On Selected Only", "Only paste the stored pose on to selected bones in the current pose");
}
/* ********************************************** */
-
+/* Bone Groups */
static int pose_group_add_exec (bContext *C, wmOperator *UNUSED(op))
{
@@ -1425,6 +1513,171 @@ void POSE_OT_group_unassign (wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
}
+static int group_move_exec(bContext *C, wmOperator *op)
+{
+ Object *ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
+ bPose *pose= (ob) ? ob->pose : NULL;
+ bPoseChannel *pchan;
+ bActionGroup *grp;
+ int dir= RNA_enum_get(op->ptr, "direction");
+ int grpIndexA, grpIndexB;
+
+ if (ELEM(NULL, ob, pose))
+ return OPERATOR_CANCELLED;
+ if (pose->active_group <= 0)
+ return OPERATOR_CANCELLED;
+
+ /* get group to move */
+ grp= BLI_findlink(&pose->agroups, pose->active_group-1);
+ if (grp == NULL)
+ return OPERATOR_CANCELLED;
+
+ /* move bone group */
+ grpIndexA = pose->active_group;
+ if (dir == 1) { /* up */
+ void *prev = grp->prev;
+
+ if (prev == NULL)
+ return OPERATOR_FINISHED;
+
+ BLI_remlink(&pose->agroups, grp);
+ BLI_insertlinkbefore(&pose->agroups, prev, grp);
+
+ grpIndexB = grpIndexA - 1;
+ pose->active_group--;
+ }
+ else { /* down */
+ void *next = grp->next;
+
+ if (next == NULL)
+ return OPERATOR_FINISHED;
+
+ BLI_remlink(&pose->agroups, grp);
+ BLI_insertlinkafter(&pose->agroups, next, grp);
+
+ grpIndexB = grpIndexA + 1;
+ pose->active_group++;
+ }
+
+ /* fix changed bone group indices in bones (swap grpIndexA with grpIndexB) */
+ for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
+ if (pchan->agrp_index == grpIndexB)
+ pchan->agrp_index= grpIndexA;
+ else if (pchan->agrp_index == grpIndexA)
+ pchan->agrp_index= grpIndexB;
+ }
+
+ /* notifiers for updates */
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+
+ return OPERATOR_FINISHED;
+}
+
+void POSE_OT_group_move(wmOperatorType *ot)
+{
+ static EnumPropertyItem group_slot_move[] = {
+ {1, "UP", 0, "Up", ""},
+ {-1, "DOWN", 0, "Down", ""},
+ {0, NULL, 0, NULL, NULL}
+ };
+
+ /* identifiers */
+ ot->name= "Move Bone Group";
+ ot->idname= "POSE_OT_group_move";
+ ot->description= "Change position of active Bone Group in list of Bone Groups";
+
+ /* api callbacks */
+ ot->exec= group_move_exec;
+ ot->poll= ED_operator_posemode;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ RNA_def_enum(ot->srna, "direction", group_slot_move, 0, "Direction", "Direction to move, UP or DOWN");
+}
+
+/* bone group sort element */
+typedef struct tSortActionGroup {
+ bActionGroup *agrp;
+ int index;
+} tSortActionGroup;
+
+/* compare bone groups by name */
+static int compare_agroup(const void *sgrp_a_ptr, const void *sgrp_b_ptr)
+{
+ tSortActionGroup *sgrp_a= (tSortActionGroup *)sgrp_a_ptr;
+ tSortActionGroup *sgrp_b= (tSortActionGroup *)sgrp_b_ptr;
+
+ return strcmp(sgrp_a->agrp->name, sgrp_b->agrp->name);
+}
+
+static int group_sort_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Object *ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
+ bPose *pose= (ob) ? ob->pose : NULL;
+ bPoseChannel *pchan;
+ tSortActionGroup *agrp_array;
+ bActionGroup *agrp;
+ int agrp_count;
+ int i;
+
+ if (ELEM(NULL, ob, pose))
+ return OPERATOR_CANCELLED;
+ if (pose->active_group <= 0)
+ return OPERATOR_CANCELLED;
+
+ /* create temporary array with bone groups and indices */
+ agrp_count = BLI_countlist(&pose->agroups);
+ agrp_array = MEM_mallocN(sizeof(tSortActionGroup) * agrp_count, "sort bone groups");
+ for (agrp= pose->agroups.first, i= 0; agrp; agrp= agrp->next, i++) {
+ BLI_assert(i < agrp_count);
+ agrp_array[i].agrp = agrp;
+ agrp_array[i].index = i+1;
+ }
+
+ /* sort bone groups by name */
+ qsort(agrp_array, agrp_count, sizeof(tSortActionGroup), compare_agroup);
+
+ /* create sorted bone group list from sorted array */
+ pose->agroups.first= pose->agroups.last= NULL;
+ for (i= 0; i < agrp_count; i++) {
+ BLI_addtail(&pose->agroups, agrp_array[i].agrp);
+ }
+
+ /* fix changed bone group indizes in bones */
+ for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
+ for (i= 0; i < agrp_count; i++) {
+ if (pchan->agrp_index == agrp_array[i].index) {
+ pchan->agrp_index= i+1;
+ break;
+ }
+ }
+ }
+
+ /* free temp resources */
+ MEM_freeN(agrp_array);
+
+ /* notifiers for updates */
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+
+ return OPERATOR_FINISHED;
+}
+
+void POSE_OT_group_sort(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Sort Bone Groups";
+ ot->idname= "POSE_OT_group_sort";
+ ot->description= "Sort Bone Groups by their names in ascending order";
+
+ /* api callbacks */
+ ot->exec= group_sort_exec;
+ ot->poll= ED_operator_posemode;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
static void pose_group_select(bContext *C, Object *ob, int select)
{
bPose *pose= ob->pose;
@@ -1625,6 +1878,46 @@ void POSE_OT_autoside_names (wmOperatorType *ot)
/* ********************************************** */
+static int pose_bone_rotmode_exec (bContext *C, wmOperator *op)
+{
+ Object *ob = CTX_data_active_object(C);
+ int mode = RNA_enum_get(op->ptr, "type");
+
+ /* set rotation mode of selected bones */
+ CTX_DATA_BEGIN(C, bPoseChannel *, pchan, selected_pose_bones)
+ {
+ pchan->rotmode = mode;
+ }
+ CTX_DATA_END;
+
+ /* notifiers and updates */
+ DAG_id_tag_update((ID *)ob, OB_RECALC_DATA);
+ WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob);
+
+ return OPERATOR_FINISHED;
+}
+
+void POSE_OT_rotation_mode_set (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Set Rotation Mode";
+ ot->idname= "POSE_OT_rotation_mode_set";
+ ot->description= "Set the rotation representation used by selected bones";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= pose_bone_rotmode_exec;
+ ot->poll= ED_operator_posemode;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ /* properties */
+ ot->prop= RNA_def_enum(ot->srna, "type", posebone_rotmode_items, 0, "Rotation Mode", "");
+}
+
+/* ********************************************** */
+
/* Show all armature layers */
static int pose_armature_layers_showall_poll (bContext *C)
{
@@ -1711,7 +2004,7 @@ static int pose_armature_layers_exec (bContext *C, wmOperator *op)
PointerRNA ptr;
int layers[32]; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */
- if(ob==NULL || ob->data==NULL) {
+ if (ELEM(NULL, ob, ob->data)) {
return OPERATOR_CANCELLED;
}
@@ -1915,6 +2208,7 @@ void ARMATURE_OT_bone_layers (wmOperatorType *ot)
}
/* ********************************************** */
+/* Flip Quats */
static int pose_flip_quats_exec (bContext *C, wmOperator *UNUSED(op))
{
@@ -1929,7 +2223,7 @@ static int pose_flip_quats_exec (bContext *C, wmOperator *UNUSED(op))
if (pchan->rotmode == ROT_MODE_QUAT) {
/* quaternions have 720 degree range */
negate_v4(pchan->quat);
-
+
/* tagging */
if (autokeyframe_cfra_can_key(scene, &ob->id)) {
ListBase dsources = {NULL, NULL};
@@ -1979,75 +2273,78 @@ void POSE_OT_quaternions_flip (wmOperatorType *ot)
}
/* ********************************************** */
+/* Clear User Transforms */
-/* context: active channel */
-#if 0
-void pose_special_editmenu(Scene *scene)
-{
- Object *obedit= scene->obedit; // XXX context
- Object *ob= OBACT;
- short nr;
-
- /* paranoia checks */
- if(!ob && !ob->pose) return;
- if(ob==obedit || (ob->mode & OB_MODE_POSE)==0) return;
-
- nr= pupmenu("Specials%t|Select Constraint Target%x1|Flip Left-Right Names%x2|Calculate Paths%x3|Clear Paths%x4|Clear User Transform %x5|Relax Pose %x6|%l|AutoName Left-Right%x7|AutoName Front-Back%x8|AutoName Top-Bottom%x9");
- if(nr==1) {
- pose_select_constraint_target(scene);
- }
- else if(nr==2) {
- pose_flip_names();
- }
- else if(nr==3) {
- pose_calculate_path(C, ob);
- }
- else if(nr==4) {
- pose_clear_paths(ob);
- }
- else if(nr==5) {
- pose_clear_user_transforms(ob);
- }
- else if(nr==6) {
- pose_relax();
- }
- else if(ELEM3(nr, 7, 8, 9)) {
- pose_autoside_names(nr-7);
- }
-}
-
-
-/* Restore selected pose-bones to 'action'-defined pose */
-static void pose_clear_user_transforms(Object *ob)
+static int pose_clear_user_transforms_exec (bContext *C, wmOperator *UNUSED(op))
{
- bArmature *arm= ob->data;
- bPoseChannel *pchan;
+ Scene *scene = CTX_data_scene(C);
+ Object *ob = CTX_data_active_object(C);
+ float cframe = (float)CFRA;
- if (ob->pose == NULL)
- return;
-
- /* if the object has an action, restore pose to the pose defined by the action by clearing pose on selected bones */
- if (ob->action) {
- /* find selected bones */
- for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
- if (pchan->bone && (pchan->bone->flag & BONE_SELECTED) && (pchan->bone->layer & arm->layer)) {
- /* just clear the BONE_UNKEYED flag, allowing this bone to get overwritten by actions again */
- pchan->bone->flag &= ~BONE_UNKEYED;
- }
+ if ((ob->adt) && (ob->adt->action)) {
+ /* XXX: this is just like this to avoid contaminating anything else;
+ * just pose values should change, so this should be fine
+ */
+ bPose *dummyPose = NULL;
+ Object workob = {{0}};
+ bPoseChannel *pchan;
+
+ /* execute animation step for current frame using a dummy copy of the pose */
+ copy_pose(&dummyPose, ob->pose, 0);
+
+ BLI_strncpy(workob.id.name, "OB<ClearTfmWorkOb>", sizeof(workob.id.name));
+ workob.type = OB_ARMATURE;
+ workob.data = ob->data;
+ workob.adt = ob->adt;
+ workob.pose = dummyPose;
+
+ BKE_animsys_evaluate_animdata(scene, &workob.id, workob.adt, cframe, ADT_RECALC_ANIM);
+
+ /* copy back values, but on selected bones only */
+ for (pchan = dummyPose->chanbase.first; pchan; pchan = pchan->next) {
+ pose_bone_do_paste(ob, pchan, 1, 0);
}
- /* clear pose locking flag
- * - this will only clear the user-defined pose in the selected bones, where BONE_UNKEYED has been cleared
- */
- ob->pose->flag |= POSE_DO_UNLOCK;
+ /* free temp data - free manually as was copied without constraints */
+ if (dummyPose) {
+ for (pchan= dummyPose->chanbase.first; pchan; pchan= pchan->next) {
+ if (pchan->prop) {
+ IDP_FreeProperty(pchan->prop);
+ MEM_freeN(pchan->prop);
+ }
+ }
+
+ /* was copied without constraints */
+ BLI_freelistN(&dummyPose->chanbase);
+ MEM_freeN(dummyPose);
+ }
}
else {
- /* no action, so restore entire pose to rest pose (cannot restore only selected bones) */
+ /* no animation, so just reset whole pose to rest pose
+ * (cannot just restore for selected though)
+ */
rest_pose(ob->pose);
}
+ /* notifiers and updates */
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
- BIF_undo_push("Clear User Transform");
+ WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob);
+
+ return OPERATOR_FINISHED;
+}
+
+void POSE_OT_user_transforms_clear (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Clear User Transforms";
+ ot->idname= "POSE_OT_user_transforms_clear";
+ ot->description= "Reset pose on selected bones to keyframed state";
+
+ /* callbacks */
+ ot->exec= pose_clear_user_transforms_exec;
+ ot->poll= ED_operator_posemode;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
-#endif
diff --git a/source/blender/editors/curve/CMakeLists.txt b/source/blender/editors/curve/CMakeLists.txt
index dfc7e336e84..9bad02eca1f 100644
--- a/source/blender/editors/curve/CMakeLists.txt
+++ b/source/blender/editors/curve/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c
index 99aebfffaee..210f36ca074 100644
--- a/source/blender/editors/curve/editcurve.c
+++ b/source/blender/editors/curve/editcurve.c
@@ -3432,7 +3432,6 @@ static int convertspline(short type, Nurb *nu)
nu->type = CU_NURBS;
nu->orderu= 4;
nu->flagu &= CU_NURB_CYCLIC; /* disable all flags except for cyclic */
- nu->flagu |= CU_NURB_BEZIER;
nurbs_knot_calc_u(nu);
a= nu->pntsu*nu->pntsv;
bp= nu->bp;
@@ -3535,6 +3534,11 @@ static int convertspline(short type, Nurb *nu)
return 0;
}
+void ED_nurb_set_spline_type(Nurb *nu, int type)
+{
+ convertspline(type, nu);
+}
+
static int set_spline_type_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
@@ -6539,12 +6543,15 @@ Nurb *add_nurbs_primitive(bContext *C, float mat[4][4], int type, int newob)
BLI_assert(!"invalid nurbs type");
return NULL;
}
-
- /* always do: */
- nu->flag |= CU_SMOOTH;
-
- test2DNurb(nu);
-
+
+ BLI_assert(nu != NULL);
+
+ if(nu) { /* should always be set */
+ nu->flag |= CU_SMOOTH;
+
+ test2DNurb(nu);
+ }
+
return nu;
}
diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c
index 649ff9e953a..6c95df53d39 100644
--- a/source/blender/editors/curve/editfont.c
+++ b/source/blender/editors/curve/editfont.c
@@ -1649,10 +1649,10 @@ static int open_exec(bContext *C, wmOperator *op)
VFont *font;
PropertyPointerRNA *pprop;
PointerRNA idptr;
- char str[FILE_MAX];
- RNA_string_get(op->ptr, "filepath", str);
+ char filepath[FILE_MAX];
+ RNA_string_get(op->ptr, "filepath", filepath);
- font = load_vfont(str);
+ font= load_vfont(filepath);
if(!font) {
if(op->customdata) MEM_freeN(op->customdata);
diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt
index ae86905a91d..17e3a868a8c 100644
--- a/source/blender/editors/datafiles/CMakeLists.txt
+++ b/source/blender/editors/datafiles/CMakeLists.txt
@@ -27,50 +27,61 @@ set(INC_SYS
)
+# blender and player
set(SRC
Bfont.c
bfont.ttf.c
- bmonofont.ttf.c
- startup.blend.c
- preview.blend.c
)
-if(NOT WITH_HEADLESS)
+if(WITH_BLENDER)
+ # blender only
list(APPEND SRC
- splash.png.c
- blenderbuttons.c
-
- # brushes
- add.png.c
- blob.png.c
- blur.png.c
- clay.png.c
- clone.png.c
- crease.png.c
- darken.png.c
- draw.png.c
- fill.png.c
- flatten.png.c
- grab.png.c
- inflate.png.c
- layer.png.c
- lighten.png.c
- mix.png.c
- multiply.png.c
- nudge.png.c
- pinch.png.c
- prvicons.c
- scrape.png.c
- smear.png.c
- smooth.png.c
- snake_hook.png.c
- soften.png.c
- subtract.png.c
- texdraw.png.c
- thumb.png.c
- twist.png.c
- vertexdraw.png.c
+ startup.blend.c
+ bmonofont.ttf.c
)
+
+ if(NOT WITH_HEADLESS)
+ # blender UI only
+ list(APPEND SRC
+ # blends
+ preview.blend.c
+
+ # images
+ splash.png.c
+ blenderbuttons.c
+
+ # brushes
+ add.png.c
+ blob.png.c
+ blur.png.c
+ clay.png.c
+ clone.png.c
+ crease.png.c
+ darken.png.c
+ draw.png.c
+ fill.png.c
+ flatten.png.c
+ grab.png.c
+ inflate.png.c
+ layer.png.c
+ lighten.png.c
+ mix.png.c
+ multiply.png.c
+ nudge.png.c
+ pinch.png.c
+ prvicons.c
+ scrape.png.c
+ smear.png.c
+ smooth.png.c
+ snake_hook.png.c
+ soften.png.c
+ subtract.png.c
+ texdraw.png.c
+ thumb.png.c
+ twist.png.c
+ vertexdraw.png.c
+ )
+ endif()
endif()
blender_add_lib(bf_editor_datafiles "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/datafiles/blenderbuttons.c b/source/blender/editors/datafiles/blenderbuttons.c
index 7525015bca9..b2b2612cd4a 100644
--- a/source/blender/editors/datafiles/blenderbuttons.c
+++ b/source/blender/editors/datafiles/blenderbuttons.c
@@ -1,6582 +1,6736 @@
-/** \file blender/editors/datafiles/blenderbuttons.c
- * \ingroup eddatafiles
- */
/* DataToC output of file <blenderbuttons> */
-int datatoc_blenderbuttons_size= 210335;
+int datatoc_blenderbuttons_size= 215334;
char datatoc_blenderbuttons[]= {
-137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 2, 90, 0, 0, 2,128, 8, 6, 0, 0, 0, 68,254,
-214,163, 0, 0, 10, 79,105, 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101, 0,
- 0,120,218,157, 83,103, 84, 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21, 8, 32, 82, 66,139,128, 20,145, 38,
- 42, 33, 9, 16, 74,136, 33,161,217, 21, 81,193, 17, 69, 69, 4, 27,200,160,136, 3,142,142,128,140, 21, 81, 44, 12,138, 10,216,
- 7,228, 33,162,142,131,163,136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207, 7,192,
- 8, 12,150, 72, 51, 81, 53,128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112, 0, 16, 8,179,100, 33,
-115,253, 35, 1, 0,248,126, 60, 60, 43, 34,192, 7,190, 0, 1,120,211, 11, 8, 0,192, 77,155,192, 48, 28,135,255, 15,234, 66,
-153, 92, 1,128,132, 1,192,116,145, 56, 75, 8,128, 20, 0, 64,122,142, 66,166, 0, 64, 70, 1,128,157,152, 38, 83, 0,160, 4,
- 0, 96,203, 99, 98,227, 0, 80, 45, 0, 96, 39,127,230,211, 0,128,157,248,153,123, 1, 0, 91,148, 33, 21, 1,160,145, 0, 32,
- 19,101,136, 68, 0,104, 59, 0,172,207, 86,138, 69, 0, 88, 48, 0, 20,102, 75,196, 57, 0,216, 45, 0, 48, 73, 87,102, 72, 0,
-176,183, 0,192,206, 16, 11,178, 0, 8, 12, 0, 48, 81,136,133, 41, 0, 4,123, 0, 96,200, 35, 35,120, 0,132,153, 0, 20, 70,
-242, 87, 60,241, 43,174, 16,231, 42, 0, 0,120,153,178, 60,185, 36, 57, 69,129, 91, 8, 45,113, 7, 87, 87, 46, 30, 40,206, 73,
- 23, 43, 20, 54, 97, 2, 97,154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204, 0, 0,160,145, 21, 17,224,131,243,253,120,
-206, 14,174,206,206, 54,142,182, 14, 95, 45,234,191, 6,255, 34, 98, 98,227,254,229,207,171,112, 64, 0, 0,225,116,126,209,254,
- 44, 47,179, 26,128, 59, 6,128,109,254,162, 37,238, 4,104, 94, 11,160,117,247,139,102,178, 15, 64,181, 0,160,233,218, 87,243,
-112,248,126, 60, 60, 69,161,144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,
-126, 60,252,247,245,224,190,226, 36,129, 50, 93,129, 71, 4,248,224,194,204,244, 76,165, 28,207,146, 9,132, 98,220,230,143, 71,
-252,183, 11,255,252, 29,211, 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197,
- 37,210,255,100,226,223, 44,251, 3, 62,223, 53, 0,176,106, 62, 1,123,145, 45,168, 93, 99, 3,246, 75, 39, 16, 88,116,192,226,
-247, 0, 0,242,187,111,193,212, 40, 8, 3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37, 0,128,102, 73,146,113, 0, 0,
- 94, 68, 36, 46, 84,202,179, 63,199, 8, 0, 0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192, 6, 28,193, 5,220,193, 11,252,
- 96, 54,132, 66, 36,196,194, 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,
-192, 81,104,134,147,112, 14, 46,194, 85,184, 14, 61,112, 15,250, 97, 8,158,193, 40,188,129, 9, 4, 65,200, 8, 19, 97, 33,218,
-136, 1, 98,138, 88, 35,142, 8, 23,153,133,248, 33,193, 72, 4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138,
- 84, 32, 85, 72, 29,242, 61,114, 2, 57,135, 92, 70,186,145, 59,200, 0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,
-181, 67,185,168, 55, 26,132, 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,
-218,143, 62, 67,199, 48,192,232, 24, 7, 51,196,108, 48, 46,198,195, 66,177, 56, 44, 9,147, 99,203,177, 34,172, 12,171,198, 26,
-176, 86,172, 3,187,137,245, 99,207,177,119, 4, 18,129, 69,192, 9, 54, 4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,
-168, 32, 28, 36, 52, 17,218, 9, 55, 9, 3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72,
- 44, 35,214, 18,143, 19, 47, 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144, 2, 73,177,164, 84,210, 18,210, 70,210,110,
- 82, 35,233, 44,169,155, 52, 72, 26, 35,147,201,218,100,107,178, 7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,
-228, 33,242, 91, 10,157, 98, 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229, 6,101,152, 50, 65, 85,163,154,
- 82,221,168,161, 84, 17, 53,143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,
-211, 26,104, 23,104,247,105,175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232, 3,244,119, 12, 13,134,
- 21,131,199,136,103, 40, 25,155, 24, 7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153,
- 15,153,111, 85, 88, 42,182, 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,
-203, 84,143,169, 94, 83,125,174, 70, 85, 51, 83,227,169, 9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,
-103,168,111, 84, 63,164,126, 89,253,137, 6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44,
- 33,107, 13,171,134,117,129, 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,
-179, 82,243,148,102, 63, 7,227,152,113,248,156,116, 78, 9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,
-185, 49,101, 92,107,170,150,151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,
-199, 74, 39, 92, 39, 71,103,143,206, 5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187,
- 68,119,191,110,167,238,152,158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12,
- 88, 6,179, 12, 36, 6,219, 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,
-225,132,145,185,209, 60,163,213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38, 6, 38, 33, 38, 75, 77,234,
- 77,238,154, 82, 77,185,166, 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,
-155,223,183, 96, 90,120, 90, 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,
-179, 70,173,157,173, 37,214,187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,
-216, 6,219,174,182,109,182,125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61, 7, 13,135,217, 14,
-171, 29, 90, 29,126,115,180,114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,
-182, 19,203, 41,196,105,157, 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,
-200,189,228, 74,116,245,113, 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159,
- 41,158, 89, 51,115,208,195,200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99,
- 47,145, 87,173,215,176,183,165,119,170,247, 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,
-183,200,183,203, 79,195,111,158, 95,133,223, 67,127, 35,255,100,255,122,255,209, 0,167,128, 37, 1,103, 3,137,129, 65,129, 91,
- 2,251,248,122,124, 33,191,142, 63, 58,219,101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,
-200,236,144,173, 33,247,231,152,206,145,206,105, 14,133, 80,126,232,214,208, 7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,
-134, 63,142,112,136, 88, 26,209, 49,151, 53,119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53,
- 42, 62,170, 46,106, 60,218, 55,186, 52,186, 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,
-190,223,252,237,243,135,226,157,226, 11,227,123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150,
- 64, 76,136, 78, 56,148,240, 65, 16, 42,168, 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216,
- 67, 92, 42, 30, 78,242, 72, 42, 77,122,146,236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,
-155, 58,158, 22,154,118, 32,109, 50, 61, 58,189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,
-101,133,178,254,197,110,139,183, 47, 30,149, 7,201,107,179,144,172, 5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42, 7,178,
-103,101, 87,102,191,205,137,202, 57,150,171,158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,
-165,134, 75, 87, 45, 29, 88,230,189,172,106, 57,178, 60,113,121,219, 10,227, 21, 5, 43,134, 86, 6,172, 60,184,138,182, 42,109,
-213, 79,171,237, 87,151,174,126,189, 38,122, 77,107,129, 94,193,202,130,193,181, 1,107,235, 11, 85, 10,229,133,125,235,220,215,
-237, 93, 79, 88, 47, 89,223,181, 97,250,134,157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,
-202,191,153,220,148,180,169,171,196,185,100,207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,
-180, 13,223, 86,180,237,245,246, 69,219, 47,151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63,
- 84,164, 84,244, 84,250, 84, 54,238,210,221,181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,
-190,219, 85, 1, 85, 77,213,102,213,101,251, 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199, 3,
-210, 3,253, 7, 35, 14,182,215,185,212,213, 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54,
- 13, 85,141,156,198,226, 35,112, 68,121,228,233,247, 9,223,247, 30, 13, 58,218,118,140,123,172,225, 7,211, 31,118, 29,103, 29,
- 47,106, 66,154,242,154, 70,155, 83,154,251, 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,
-121, 74,243, 84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,
-106, 15,111,239,186, 16,116,225,210, 69,255,139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58,
- 95,109,234,116,234, 60,254,147,211, 79,199,187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,
-221,244,189,121,241, 22,255,214,213,158, 57, 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,
-119, 39,238,173,188, 79,188, 95,244, 64,237, 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220,
- 71,247, 6,133,131,207,254,145,245,143, 15, 67, 5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,
-167, 67,207,100,207, 38,158, 23,254,162,254,203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,
-124,165,253,234,192,235, 25,175,219,198,194,198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15,
- 79,228,124, 32,127, 40,255,104,249,177,245, 83,208,167,251,147, 25,147,147,255, 4, 3,152,243,252, 99, 51, 45,219, 0, 0, 0,
- 6, 98, 75, 71, 68, 0,255, 0,255, 0,255,160,189,167,147, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 13,215, 0, 0, 13,215, 1,
- 66, 40,155,120, 0, 0, 0, 7,116, 73, 77, 69, 7,219, 2, 27, 16, 38, 47, 61,220,216,191, 0, 0, 32, 0, 73, 68, 65, 84,120,
-218,236, 93,119,120, 20,213,226, 61, 51, 59,179,187,217,146, 77, 35, 61,144, 66, 9, 96, 0, 67, 81,130, 84, 65, 80,140,138, 10,
- 86,132,167,207,103,197,134, 5, 84, 68, 68, 32, 54, 64,240, 39,242,208,167,128,160,128, 5, 4,164, 68, 74,232, 29,233, 9,144,
- 4, 18, 66, 58,201, 38,219,203,220,223, 31,217, 89, 55,203,182, 64, 98,129,123,190,111,190,221,157,157, 57,115,239,157,123,239,
-156, 57,183, 1, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,215, 52, 86,175, 94, 77,154,112,248,144,
- 64, 57, 29,219,128,191, 59,103, 11,198,157, 52, 35,231, 0, 7,231,187,255,144,112, 14,248,187,114,138,241,109, 2,239,144,166,
-228,163,230, 74, 79,151,112,146,230, 14,103, 75,113, 54, 87, 57,242, 16, 78,210, 2,247,253,221,127, 72, 56, 7,252,221, 56,221,
-243, 79,128,188, 77,226, 12, 48, 79, 53, 53,156,164,185,195,217, 82,156, 87, 91,142,124,132,147, 92,109, 94,242,114,239,223,197,
-117, 4,174, 5, 69, 86,192,200,204,204,100, 92,248,153,191, 43,167,107, 58,136,252,205, 25,214,102,196,150,230,230,116, 75,207,
-230,194,187,153,153,153,204,234,213,171,183, 2, 24,208,156,113,111,142,251,238, 22,215,102,225,189, 2,145,213, 36,206,230,202,
-247, 45,205,217, 92,101,201,157,179, 57,242,189,167,251,222,130,247,168,185,194,217, 44,101,169, 37,242,188,135,252,115,213,188,
-238,156,205, 81,150,220, 57,155, 35,223,255, 25,156,205, 81,150, 60,113, 54, 71,190,247,118,239,175, 55,131,138,253,139, 5,129,
-123, 1, 31,248,119, 22, 68, 45, 37, 54,155,224,192,252,229,156,205,124,143,222,117,112, 54,231,219,205,192,230,186, 71, 45,145,
-223, 93, 57,155,139,223,157,167, 57,238,147, 39,206,171, 13,175,151,112, 54,123,220,175, 54,223,255, 89,156,205,124,143,154,165,
- 44,185,113, 14,108,230,151,129,129, 46,191,223,109, 78,206,230, 42, 75, 30,194,121,213,247,201, 19,231,213,134,215, 75, 56,155,
- 61,238,205,241, 12,105, 41,222,107, 26, 45,213,124,214,220,156, 77,228,190,166, 56,155,216, 60, 51,164, 5,238,253, 95, 26,206,
-230,228,116, 15, 99,115, 54,247,180,100, 56,155,147,179, 9, 97,189,230, 56,255,105,247,253,239,152,158,222,248,174,166, 89,202,
-155, 59,218, 18,225,108, 78,206, 0,185,175, 9,206,171,184,247,215, 28,184,191, 75, 64,196,132,111,230, 55, 19, 52,179, 3,211,
-146,194,181, 57,195, 57,176, 37, 28,194, 22, 64,179,135,211,241,166, 60,185, 5,226,254, 79, 73, 83, 90,150,104, 89,250,219,149,
- 37,183, 60, 57,176, 25,157,162,102,117,158,221, 57,155,227, 26,174, 28,205,149, 71, 91, 58,238,205, 89,150, 90,226,222, 83, 92,
-133, 11, 65, 57, 41, 39,229,164,156,148,147,114, 82,206,235,150,243,154, 4, 75,147,128,130,130,130,130,130,130,130,130,130,130,
-130,130,130,130,130,130,226, 31, 5,175,237,187,113,113,113,171,149, 74,101, 59,111,255,235,116,186,139, 23, 47, 94, 28, 68,147,
-240,175, 3,189, 71, 20,255, 32,176,248,195, 65, 23, 0, 16,199, 70, 65, 65, 65,113, 77,195,107,103,120,185, 92,158,114,242,228,
-201, 14,130, 32,192,110,183,195,102,179, 57, 63,205,102, 51,250,247,239,223,228,142,244,209,209,209, 57, 18,137, 36,169, 41,231,
-216,237,246,243,101,101,101,125,125, 28,178, 19, 64, 10,195,252,161, 25,197,239,222, 62, 1,148, 88,173,214,238,190, 56, 25,134,
- 73,113,231,243,194, 37,126,247,201, 25, 18, 18,178,159,227,184, 4, 79, 92,222,190, 11,130,144, 95, 81, 81,209,231,207,188, 71,
-215, 51,162,163,163,115, 56,142,107,114,254, 44, 45, 45,245,154, 63, 99, 99, 99, 15,177, 44, 27,215, 4, 74,137, 32, 8,185, 23,
- 47, 94,236,235, 67,136,236, 4,144,226,243, 13,202, 45, 63, 49, 12, 83,108,183,219,123,250, 43, 71,190,184, 60,228, 81,127,156,
- 78,145,197,113, 92, 86, 84, 84,212, 51,122,189,222, 8,128, 72, 36, 18,226, 18, 54, 0,128,205,102,171,168,169,169,233, 66,115,
- 34, 5, 5,197,117, 33,180, 4, 65, 96, 77, 38, 19,242,242,242, 64,136,199,250,222,126, 5,215,235,112,224,183,141, 81,193, 81,
-209,176, 89, 44, 80,181,138,116,114,151,157, 56, 6,155,213, 2,155,217,140, 54,189,122,139, 97, 64,231,206,157, 37,126, 56, 19,
- 62,248,224,131,168,224,224, 96, 24,141, 70, 24,141, 70,152, 76, 38, 24,141, 70,152,205,102,152,205,102, 88, 44, 22, 88, 44, 22,
-216,108, 54,152, 76, 38,100,103,103,219,173, 86,171, 79,206,105,211,166, 69,105, 52, 26, 39,159,184,137,156, 34,175,213,106,133,
-209,104,196,166, 77,155,124,114,114, 28,151, 80, 82, 82, 18, 37,149, 74, 65, 8,129, 32, 8, 32,132, 52,218,220,209,182,109, 91,
-139,175, 64,182,208, 61,186,158,209, 97,218,210, 53, 81, 33, 10, 57,108,130,128,204,110,109,157,127,228,127,185, 28,196,102,135,
- 96,179,161,253,243,163,157,251, 59,117,234,228, 51,127, 18, 66, 18,167, 45, 93, 19, 26, 40,103, 85, 85,149,161, 99,199,142, 37,
-104,112,155,189, 9,173, 4,131,193, 16,229,224,191, 76, 16,177, 44,219,104, 91,191,126, 61, 50, 51, 51,253,197, 61,225,229,151,
- 95,142,178, 90,173, 48,155,205, 48,153, 76,176, 90,173,176,217,108,206,205,110,183, 59, 55,179,217,140, 61,123,246, 4,234,100,
-125,112,219,109,183, 61,190,102,205, 26,213,207, 63,255,172, 74, 74, 74,130, 84, 42,133, 68, 34,129, 68, 34, 1,203,178,224, 56,
- 14, 55,223,124, 51, 67,179, 32, 5, 5,197,117, 35,180, 76, 38, 83, 65,122,122, 58,113,124,143,151,203,229, 82,183,183,220,184,
-246,237,219,231,186,159,231,175,185, 42, 56, 42, 26, 19, 91,135, 3, 0,222, 57, 87,229,124, 64,124,216,231, 70,231, 49,239, 93,
-168, 5, 0, 40, 20, 10, 48,174,175,209, 94,160, 82,169,112,219,109,183, 65, 38,147,161,103,207,158,224,121,222,227, 38,149, 74,
-193,243,188,223, 68, 97, 24, 6,106,181, 26, 83,166, 76, 17, 69, 18, 84, 65,114,140,235,211, 19, 65, 32,248,239,177,211, 48, 11,
- 4, 28,199, 57,183, 64, 56,165, 82, 41,142, 30, 61, 10,142,227, 32,145, 72,156,159,226,247, 85,171, 86, 97,228,200,145,224, 56,
- 14, 10,133, 2,240, 51,115,176,235, 61, 50,155,205,177, 50,153,204, 2, 64, 20,103, 82,134, 97, 98,174,228, 30, 93,207, 8, 81,
-200, 49,102,222, 79, 0,128,162, 89,207, 59,239,221,158,103,223,113, 30,147,248,159, 7,192, 48, 12,120,158, 7,203,178,205,198,
- 89, 93, 93,109,120,232,161,135,182, 7, 7, 7,175,215,106,181,240, 35,224, 80, 84, 84, 4,142,227,188,230,119,150,101, 49,115,
-230, 76,156, 57,115, 38,160,184, 27,141, 70, 44, 88,176, 0,118,187,189, 17,175,248,221,125, 95,128, 34,235,253,161, 67,135,142,
- 94,179,102, 77, 24,195, 48,248,236,179,207, 32,149, 74, 49,124,248,112, 68, 68, 68, 96,195,134, 13,144, 74,165,120,253,245,215,
-105,230,163,160,160,240, 85,231,241, 0,110, 4, 16,233, 48, 17,234, 0,132,186, 28, 82,225,248,140, 20,127, 51, 12,179,207, 3,
- 79, 47,199, 49, 21, 12,195,236,115,249,109, 6, 32,243,176,191, 10,128,194,177,153,208,224,254,167,185, 92, 71, 60, 15,222,174,
-203, 1, 13,235, 15, 1,216, 2, 96, 96,102,102,230, 86, 0, 40, 45, 45,189,163,180,180, 20, 0,144,146,146,114, 50, 55, 55,183,
-163,168,121, 28,205, 83, 82,155,205,214, 65,108,170, 18,221,162, 33, 67,134,248,124,195,183, 89, 44,151, 9, 16, 79, 90,202, 83,
-115,133, 55, 1, 99,177, 88,240,192, 3, 15, 0,128,215,135,142,235, 22,128,118,131,217,108, 6,199,113, 72,109, 29,137, 73,195,
-210,113, 19,177, 66, 87,207,192, 86,171,195, 61,106, 43, 78,118,238,142,249,231, 43,112, 78, 91, 15,142,227, 2,226, 20, 4,193,
-171,200,146, 72, 36,152, 55,111, 30, 30,122,232, 33, 72, 36,146,128,248, 92,239, 81,114,114,242,154,220,220,220, 8,134, 97, 76,
-142,123, 36,183,217,108, 26,155,205, 22, 97,183,219, 35,154,114,143,174,103,216, 4,193, 99, 62,244,150,103, 3,185, 79,129,112,
- 86, 87, 87, 27, 50, 51, 51,119,203,229,242,133,209,209,209, 37,197,197,197,126,133,150,187,248,113,127,169,248,228,147, 79, 48,
-103,206, 28, 12, 26, 52, 40,160,112,154, 76, 38, 48, 12,131,249,243,231, 95,246,223,212,169, 83, 47,187,158, 31, 78, 6, 0, 27,
- 23, 23,247,236,186,117,235, 52,226,177,173, 90,181, 2,207,243,232,210,165, 11,130,131,131,177,125,251,118,216,237,246,128,203,
- 37, 5, 5,197,181, 11, 79, 90,196, 5,253, 39, 78,156,216, 51, 43, 43,107,122, 70, 70,198,119, 59,119,238, 92,202, 48,204,106,
-151, 58, 49,211, 81,191,174, 22,127, 19, 66,122,185,138, 30,135, 88,139,100, 24,102,181,120,188,235,111,241,147, 16, 50, 4,128,
- 76,252, 61,113,226,196,180,172,172,172,233, 19, 38, 76,120,115,198,140, 25,210,137, 19, 39,118,205,202,202,154, 46, 94,199, 83,
- 56, 60, 57, 90, 62,215,158, 18,155,168, 78,157, 58,229,173,137,202,245, 1,224,179,182, 84,181,138,116, 58, 89,239, 37, 70, 56,
-247, 79, 41,174,113, 62,192,230,246,104, 7,149, 74,133, 97,239,125, 20,144, 83,100, 54,155, 81, 94, 94,238,116, 25,252,109,129,
-114, 42, 21, 65,200,126,185, 11,138,170,100,120,119, 87, 53,214, 28, 62, 3,158,231,113,123,231, 46,184, 67, 26,140,183, 19,101,
-120,249,116, 33,172, 36,176, 62,189,132, 16,143, 2, 75,252, 46, 54,161, 4, 42,180,220,238, 81,145,209,104,172,202,203,203, 51,
- 8, 13, 15,118, 5, 33, 36,140, 97,152, 58,135,203, 21, 27,232, 61,186,158,145,217,173,173,211,117,218, 19, 60,216,185,127,164,
-238,168,243,158,140,159,247, 33, 0, 96, 80,247,155,253,150,135, 64, 56,171,170,170, 12,125, 7, 15,220,106, 55,152,191, 25, 61,
-122,116,193,230,205,155, 21,129,132,213,147,208, 18, 93, 91, 81,100,113, 28, 7,179,217, 28, 80,220,205,102,179,215,242, 33,149,
- 74,175,196,209,130, 78,167, 51,175, 92,185, 18,115,231,206, 69, 68, 68, 4,134, 14, 29,138,216,216, 88, 44, 95,190, 28,132, 16,
- 60,255,252,243, 80, 40, 20,162,123, 77, 51, 32, 5,197,245, 13, 95, 90, 68,158,149,149, 53,221, 93,200,184,254,118, 21, 80,110,
- 98,202, 85,172,165,249,121,254,175,118, 23, 79,226,117, 25,134, 89, 61, 99,198,140, 76, 63,225,168,240, 38,180,124, 78,137,111,
- 50,153, 10,186,117,235, 22,144,154,208,235,245,165,254,196,134,167,183,122, 87,151, 64,173, 86, 67,165, 81,131, 13,176,222,181,
- 90,173, 78,161,178,113,227, 70, 40, 20, 10, 12, 31, 62,252,170, 28, 45,139,197, 2,153,148, 7,219, 42, 26, 99,102,109, 70, 85,
-157,193,249,128,217,146, 95,128,131,101,229,120, 57, 99, 48, 84,138,114,212,155,205, 1, 57,111,130, 32, 92, 38,178, 56,142,195,
- 3, 15, 60,224,116, 19, 92,251,173,192, 71,211, 97, 68, 68,196,126,142,227, 18, 92,238, 81, 80, 74, 74, 10,240, 71,191, 30, 70,
- 16,132,250,208,208,208, 31, 1,196, 17, 66, 18, 0, 4, 7,114,143, 40, 60,231, 79,247,253,130,155, 83,117, 37,156, 85, 85, 85,
-134,204,204,204,221,118,131,249,155, 11, 23, 46,236, 6, 16,116,211, 77, 55, 53, 89,104,137, 2,139,231,121,204,156, 57, 19,115,
-230,204,113,254, 31,168,208,178,217,108,141, 4,212,233,211,167, 27, 93,203, 93,216,249,105, 54, 37,104, 24, 93, 40,164,164,164,
- 56,207,137,137,137, 65,104,104, 40, 4, 65,128, 32, 8, 8, 10, 10,130, 66,161,128, 84, 42,165,153,142,130,130,194,151, 22, 49,
- 76,152, 48,225, 77,134, 97, 86, 59,156,165, 99, 62, 4,149, 39,237,209,203, 77,172, 85,120, 57, 46,211,147,216,114,253, 46, 98,
-226,196,137,105,238,225,240,212, 92,233,172, 85,221,166,221,111, 4,215, 38,170,230,122,136,249,122,144,169, 67, 53, 80,168, 84,
-144, 72, 88, 48, 12, 67,252,113, 89, 44, 22,103,197,255,204, 51,207,248,236,183, 18,104,127, 42,139,197, 2,150,147,224, 98, 76,
- 50,236,236, 54,231,185,226,198,114, 60,206,197,116,132,228,212, 33,240, 1, 62,112,221, 29,173,231,159,127, 30, 11, 22, 44, 0,
-203,178,206, 52,225, 56, 14,237,219,183, 71, 65, 65,129, 79, 46,142,227, 18,206,157, 59, 23,229,154,142,162,136, 37,132,192,110,
-183,163,109,219,182,198,188,188,188, 23,105,209,189, 58,145,229,109,191,221, 46, 4,236,194,120, 58,174,170,170,202, 48,106,212,
-168,173,181,181,181,223,220,112,195, 13,167,209,120, 10, 4,191,124, 28,199, 53, 18, 88,162,200,250,244,211, 79, 27,137, 34,171,
-213, 26,208,139,128,213,106,189, 76,240,124,252,241,199,141, 62, 1,160, 79,159, 62, 1, 57,195, 0, 8,203,178, 68, 42,149,226,
-182,219,110, 67,215,174, 93,241,243,207, 63, 67, 16, 4, 60,247,220,115, 80, 40, 20,152, 61,123, 54,108, 54, 27, 62,248,224, 3,
-234,104, 81, 80, 80,248,210, 34,166, 25, 51,102, 28,155, 49, 99,134,211, 89,114,119,180,188, 60,119,239,116,136,170, 72, 81,164,
- 1, 48,121, 18, 68,158, 92, 50,119, 1,230,186, 47, 43, 43,107,186,123, 56,220,155, 43, 27, 9,173, 63, 11,165,199,143,226,163,
- 91,210, 1, 52,110, 46,156,119,115, 71,168,212, 42,168,130,213, 24,181,106, 27, 0, 56, 42,253, 9, 1, 57, 90,162,208,170,170,
-170,242, 41,178,154,226,104,177, 50, 14, 43, 18, 46,129,200,120,112,102,107, 35,161, 37,225,120, 20, 69, 36,131,229,165,224,236,
-182,128, 56, 9, 33,151, 53, 21,142, 29, 59, 22, 12,195, 56, 71,136,117,235,214,205,149,139,241,247,112,124, 45,188,161, 15,158,
-123,115,236, 7,149, 70, 90, 98,175, 36,127,238,255, 18, 39,127,120, 22, 0,208, 87,167,115,222,139,105,221,254, 24, 59, 48,235,
-232, 86,167,251,248, 30, 94,189, 34,206,170,170, 42,195, 77,157,210,118, 75,195, 67,190, 57,127,254,252,110, 0,236,131, 15, 62,
- 24,218,173, 91,183,128,202,164, 56,184,194, 93,100,185, 58, 89,226,167,159, 17,182, 46,194,209, 30,144,128, 18,155, 17, 3,200,
-243, 68,204,219, 26,141, 6,106,181,218, 57,226, 54, 40, 40, 8, 74,165,210,217,191, 51, 64,225, 70, 65, 65,113,253, 34, 76, 20,
- 58, 14,177,212,200,105,114,244,173,202,116,253,237,201,241,114, 56, 80, 57,126,234,215, 53, 14,129,230, 17,162,179,230,118,206,
-106,111, 34,141, 19, 21,164,235,103, 76, 76,204,175,106,181, 58, 57,208,216, 55,101, 20,155,221,106,185,204,217, 98, 24, 6,234,
- 96, 53, 20,106, 21, 20,193,106,175,174,151, 47,161, 37, 58, 69,226, 67,103,225,194,133, 80,171,213,248,215,191,254,213,228, 62,
- 90, 78,161, 37,101,177, 65,190, 9, 18, 25,215, 72,100,113, 28, 7, 9,207,163, 84, 29, 11,150,231,193,217, 2,115,201,106,107,
-107,193,113, 28, 38, 77,154,228,124,131,119, 21, 89, 77,137,179, 47,176, 12, 35,186, 91,242,118,237,218,189,202, 48, 76, 34,128,
- 36,157, 78, 39,191,120,241,226,173,180,188,250, 80, 6,118,235,101, 46,148, 55,247,245, 74, 57, 69, 39, 75, 26, 30,242, 77,199,
-142, 29,157, 78,150, 82,169, 20, 71,155,250,191,199, 44,235, 81,100,185,143, 16,228, 56,174, 33, 47,251, 25, 29,233,234,104,205,
-152, 49,195,201,235,234,100,137,104, 74, 57, 18,195,186,117,235, 86, 28, 60,120, 16,207, 60,243, 12, 20, 10, 5,230,204,153, 3,
-155,205,134,169, 83,167, 66,161, 80, 64, 38,147,209,204, 71, 65, 65,221,172, 70, 90,196, 13, 21,110,253,160, 24, 55, 81, 83,225,
- 73, 96,185, 54, 19,138,223, 25,134,177,122,224, 53,187, 53, 41,186,239, 23, 63,171,102,204,152,177, 89,116,178, 92,246, 55, 10,
-135, 95, 71, 75, 46,151, 39,231,229,229, 57, 39,194,244,245,105, 54,155, 49,104,208,160,128,157, 49,113,212, 33,199, 73, 26, 9,
- 11,101,176, 26, 74, 77, 48, 20,106,181,187,224, 96,252, 85,226,226, 27,177,171,208,154, 60,121, 50, 56,142,195,130, 5, 11, 0,
- 0,175,190,250,106,192,125,180, 68, 78,216, 25, 20,147,179, 72,159, 53, 18,230,111,173, 40,219,241, 59, 56,142, 67, 84,239, 59,
- 32,220, 52, 18,122,133, 26,156,221, 22,240,168,195,234,234,106, 20, 20, 20, 64, 34,145,224,149, 87, 94,105, 52,215,145,251, 72,
-182,141, 27, 55,250,141,187, 39, 39,107,242,249,106, 39,143, 66,161, 96,127,255,253,247,100, 65, 16, 82, 12, 6, 67,187, 62,125,
-250, 8,180, 40,251, 17, 69,130, 45, 32, 81, 21,104,254,116,231, 20,251,100,213,214,214,126,115,254,252,249, 61, 0,216,209,163,
- 71,135, 42,149, 74,124,245,213, 87,122, 0,178,229,203,151, 43,252,137, 34, 49,223,248, 19, 89, 60,207, 55,228,229, 64,226, 78,
- 26, 79, 89,226,175, 99,124, 32,121, 94, 12, 43,195, 48,176,219,237, 80, 40, 20,141,156,172,160,160, 32,200,229,114,154,241, 40,
- 40, 40,252,213, 37,251, 2,174,199, 9,233,229, 34,170,246, 93, 9,111, 83,174,231, 15,156, 55,161, 97, 50,153,112,226,196,137,
- 64,121, 2,158, 24,179,117,207,155,241,222,133, 90, 48, 12,131,255,246,185, 1, 42,141, 26, 74,149, 10,247,255,188,213, 89,113,
- 31,157,254, 42,228, 42, 53,226,250, 13, 13,168, 34, 23,155, 14, 93,133, 86, 77, 77, 13,120,158,199,251,239,191, 15,150,101,241,
-193, 7, 31, 32, 62, 62, 30, 23, 47, 94,196,242,229,203, 3,114,180, 36,118, 9, 98, 31,235, 4,229,216, 16,104, 30,235,143,176,
-219, 38,227,130,153,195, 78,163, 18,253,141,199, 33,219,240, 41,204,130, 61,224, 17, 88, 54,155, 13, 91,183,110,117,239,240,238,
-236, 83,101,179,217, 96,181, 90, 97,177, 88,240,193, 7, 31, 4, 50,194,243,178,251, 38,166,161, 99, 18, 84, 73,110,110,110, 36,
- 33, 36, 28, 64, 8,128, 74, 90, 92,125, 35,182,247,243,136,236,249, 52, 0, 96,213,140, 39,156,251, 39, 29,253, 35,127,206,252,
-182, 97, 1,128,142, 73, 67,155,196, 89, 85, 85,101,184,125, 80,159, 28,163,192,127,221,165, 75,151, 70, 78, 86, 80, 80, 16,227,
-248, 29,144, 93,198,178, 44, 36, 18,201,101,205,133,222,196, 86, 32,125,180,108, 54,155,115, 34, 81, 95,253, 25,175,196,209,122,
-226,137, 39, 16, 27, 27,235,116,178,222,123,239, 61, 40, 20, 10, 76,156, 56, 17, 86,171, 21,159,126,250, 41,205,124, 20, 20, 20,
-127,186, 40,251, 51,224,177, 38, 53, 26,141,133, 93,187,118,133,151,255,226,131,130,130,120,183, 72,197,181,111,223, 62,215, 67,
- 19,226, 16, 0,217,158, 42,117,134, 97, 16,172, 9, 70,144, 90, 5,165,155,139, 21, 20,172,129, 92,173, 6, 43,245, 88,153, 95,
-198, 41,246, 45,113, 21, 90,226, 86, 91, 91, 11,158,231, 49,119,238, 92,104, 52, 26,152, 76, 38,191,156,226, 67, 71, 34,145, 64,
- 95, 84,135,147,211,179, 33, 11,218,137,118, 67, 31, 66, 44,175,128,116,251,143, 48,216,173,254, 38, 44,189,140,179, 67,135, 14,
-120,231,157,119, 46,155,214,193, 27,226,227,227,253,198,221,221,201,154,121, 67, 27, 72,101, 82,140, 63, 94, 4,147,201,196, 60,
-244,208, 67, 2, 0, 3,128, 10,131,193,112, 62,144,244,108, 6,252,227, 57,125,141,138, 21, 33, 16,187, 39, 1,227,145, 83,116,
-178,140, 2,255,117, 65, 65,129,232,100,133, 40,149, 74,124,241,197, 23,122, 0,236,212,169, 83,149,137,137,137,146, 64,242,146,
- 68, 34,193,172, 89,179, 60,246,201,242, 36,186,154, 82,142, 92,207, 29, 48, 96,128,199, 9, 75,189,136,183,203, 56,197,176, 70,
- 68, 68, 56,157, 44,187,221,238, 28,109, 40,206, 62,239,227,165,130,230, 79,202, 73, 57,175, 31,206,107, 18, 30,107,224,139, 23,
- 47,222,238,237,132,182,109,219,230,229,229,229,181, 23,151,226,112, 84,156, 82,163,209,216,161, 79,159, 62,126,173, 29, 65, 16,
- 32,151,203, 65, 8,193,173,239,100,129, 97, 1, 22,141, 31, 98, 81,183, 12,134, 68,194, 65,104, 88,234,195,239,168, 67,131,193,
-208,232,225,224,105,171,175,175,135,201,100, 10,120, 54,111,163,209,216,104, 10, 6,134, 8, 56,247,219,178,203, 70, 31,138, 91,
-160,253,118,130,130,130, 26, 53,253,248,113,172,152, 64, 28, 45,215,166, 71,169, 76, 10, 78,202,139,142, 86,221,233,211,167, 71,
-209,108, 30, 56,196, 1, 11, 0,144,218,103, 56, 4,193, 14, 98,183, 55, 90, 38,169, 83,242,237, 16,136, 29, 22,171, 30, 38,147,
-201,223,180, 39, 76,101,101,165, 97,212,168, 81, 91, 1,252,239,158,123,238,201, 69,195,236,194, 68,173, 86,203,121,158, 23, 0,
- 84, 3, 32,151, 46, 93, 10,185,112,225,130, 96, 52, 26,219,248, 11,231,154, 53,107,112,226,196, 9,244,235,215,175,209,114, 80,
-162, 43,234, 58,187,123, 32,249, 83,108, 46,247, 52, 35,188, 55, 33, 23, 40, 36, 18, 9, 66, 66, 66, 32,149, 74,241,254,251,239,
- 67, 42,149, 66,169, 84, 2, 0, 62,253,244, 83,231,228,171, 20, 20, 20, 20,215,141,208,242, 87,111,250,104, 86,244,217,132,104,
-179,217,138, 19, 19, 19,155,116, 49,187,221, 94,230, 71,184, 21, 47, 95,190, 92,234,234, 66,248,251, 36,132,148,249,121,216, 22,
-175, 90,181, 74,234,201,221,240,182,192,180, 63, 78,187,221, 94,156,148,148,228,213, 49,241, 4,171,213,122,193,159,104,205,170,
- 48, 52, 18, 9,227,143, 23,121, 93, 59,145,194,111, 94,243,145, 63,223,186,210,252,121, 58, 53, 53,245, 66,104,104,232,218,232,
-232,232,170, 29, 59,118, 68,244,234,213, 43,194,245,152, 94,189,122,197,186,157,102,134,247,117, 14,193, 48, 76,241, 61,247,220,
-227, 49,207,139,162,201, 67,254, 44,246,151,231,247,238,221, 43,117, 61,223, 27,191, 75, 57, 42, 14, 64,184,158, 75, 79, 79,103,
- 93,121,188,229,125,171,213, 90, 65,115, 33, 5, 5,197,117, 47,180, 12, 6, 67, 81,215,174, 93,109, 94,254, 59,239,235,220,170,
-170,170,158,205, 29, 1,171,213,218,231,159,192, 89, 89, 89,217,172,113,183,217,108,197,142, 9, 74,125, 30, 67,179,248, 95,119,
-143, 0,160,188,188,252, 38, 0,208,233,116,240,183,172, 78, 19, 4, 97,179,231, 79,155,205,214,167, 37,210,180,186,186, 58,131,
-230, 44, 10, 10, 10, 42,180,154, 0,186, 24,241,223, 3, 45, 33, 90, 41, 40, 40, 40, 40, 40, 40,154, 23, 44, 77, 2, 10, 10, 10,
- 10, 10, 10, 10,138,150, 1,131,134,145, 3,158,208,148,209, 4, 67,174,224,218,217,148,147,114, 82, 78,202, 73, 57, 41, 39,229,
-188,238, 56,253,113,211,209,140, 45, 44,192, 40, 39,229,164,156,148,147,114, 82, 78,202,121,253,113, 94,147,160, 77,135, 20, 20,
- 20, 20, 20, 20, 20, 20, 45, 4,142, 38,193, 95, 6, 9,154, 48,163,190, 63, 16, 66,194, 0,120, 91, 48,206,204, 48,204,165, 43,
-224,100, 0, 72, 29,155, 56,209,145, 21,128, 5,128,133, 97, 24,226,159,227, 93,182,164, 36, 44,141,216,249, 94,132, 97,120, 65,
-192,225, 54,109, 90, 31, 98,152, 59,204, 0,160,138,238,212, 89,173, 82, 12, 49, 89,204,201,114, 94,118,162, 70, 87,191,209, 84,
-158, 87, 72,179, 7, 5,197, 95,130,187, 0, 76, 65, 67,183,146, 25, 0,150,209, 36,161,160,104, 33,161,165, 86,171,247,179, 44,
-155,224,111,126, 30, 17,142,181,204,138, 47, 93,186,212,179, 9,215, 30,165, 86,171, 7,241, 60,127, 11, 0, 88,173,214, 29,245,
-245,245,155, 1, 44, 7, 96,187,194, 56,105, 0, 60, 0,224, 17,199,239, 37,142,202, 66,123,133,124, 93, 67, 66, 66,126,224,121,
-158, 84, 86, 86,246, 6,128,136,136,136,221, 86,171,149,209,106,181,247, 3, 56,210, 68, 62,150,231,249,153,189,123,247,238,191,
-109,219,182,255, 1,152,219, 76,247, 82,206,178,172, 71,129, 34, 8, 66,210, 21,136, 44, 41,128,144,185,115,231, 70, 44, 94,188,
- 56,189,184,184,184, 11, 0, 36, 36, 36, 28, 29, 61,122,244,161,113,227,198, 85, 17, 66,106, 25,134,177,248,226, 41, 41, 9, 75,
- 43, 47,205,127,166,172,252,196, 3, 0, 16, 19,219,101,153, 68,194, 74, 9, 57,176, 75,217,234,145, 86,237,219, 37, 61,253,221,
- 87,115,165, 73,201,173,177,105,231,193, 27,199,189,248,102,218, 5,224, 19, 42,182,254, 60, 4, 7, 7,239,103, 89, 54,193, 87,
- 25,247, 84,230,237,118,123,113,117,117,117, 79,111,156, 28,199, 37,248,170, 47, 60,237, 19, 4, 33,191,178,178,210,227, 84, 19,
- 26,141,102, 23,199,113,201,129,114,137,159, 54,155,173,216,219, 40, 93,141, 70,179, 95, 34,145, 36,248,138,167,167,255, 4, 65,
-200,175,168,168,240, 22,206,203,226,222, 28,225,188, 18, 78, 95,225, 20,235, 35, 0,159, 70, 68, 68,220, 92, 85, 85,245, 40,128,
- 55,181, 90,109, 55,137, 68,130,240,240,240, 55,205,102,243,153,144,144,144, 47,107,107,107,119, 2,120, 17, 0, 93, 47,149,130,
-162,185,160,209,104,202,234,235,235,137, 8, 65, 16,136,213,106, 37, 38,147,137, 24, 12, 6,162,211,233, 72,125,125, 61,209,106,
-181,164,182,182,150, 84, 85, 85,145,200,200, 72,247,201, 27,189,181,225,118,209,104, 52,121, 89, 89, 89,166,130,130, 2, 98,177,
- 88,136,197, 98, 33,133,133,133,228,163,143, 62, 50,105, 52,154, 60, 0, 93,188,156, 59,196, 75,101,113, 27,128,165,233,233,233,
-230, 53,107,214, 16,163,209, 72,116, 58, 29, 89,182,108, 25,185,225,134, 27,204, 0,150, 58,142, 97, 3,228, 4,128,190, 49, 49,
- 49,197,103,207,158,181,111,220,184,209, 18, 18, 18,146, 29, 18, 18,146, 93, 88, 88,104, 63,123,246,172,208,170, 85,171, 98, 0,
-125,155, 16, 78, 0, 24, 57,126,252,248,178,194,194, 66, 50, 96,192,128,195, 46,251, 25,248, 95,231,110,136, 39, 39,139, 16, 18,
- 67, 8,137, 69,195, 36,151,151,109,132,144, 88,199, 49, 97, 1,114,170,242,243,243, 91, 71, 71, 71,103, 49, 12, 99,118,231, 99,
- 24,198, 28, 29, 29,157,149,159,159,223,154, 16,162,242,197, 89,124,126,222,147,107,215, 12,174,209, 93, 58, 69,116,151, 78,145,
-255,125, 61, 80,251,212,184, 71,151,198,182,237,190, 32, 52, 33,109,238,137, 83,167,231, 19, 66,230,111,222,151, 55,127,242,231,
-191,206,191,119,220,236, 47, 34, 18,211,159,106, 66,122, 94, 13, 40, 39,128,208,208,208, 82,157, 78, 71, 8, 33,196,110,183, 19,
-139,197, 66, 76, 38, 19,209,235,245,164,190,190,158,212,213,213, 57,203,121,109,109,173,243,123, 84, 84,148,215,242, 30, 22, 22,
- 86,102, 48, 24, 26,213, 29,102,179,217, 89,127,232,245,122,162,215,235,137, 78,167,115,110,245,245,245, 36, 46, 46,174,200, 71,
- 56, 47,138,225, 20, 4,129,216,108, 54, 98,177, 88,156,188, 70,163,177,209,102, 50,153,136,201,100, 34,137,137,137, 1,135, 51,
- 16, 78,163,209, 72, 18, 18, 18, 74,188,113,134,135,135,151, 25,141,198, 70,156,174,241,119,231, 21,127,199,196,196,148, 54,133,
- 51,144,112,250, 74, 79, 7,230,230,230,230, 18,131,193, 64,226,227,227,171,238,191,255,126,171,221,110, 39,107,214,172, 33,233,
-233,233,194,192,129, 3, 45,149,149,149,228, 95,255,250, 23,241,241, 82, 72,203, 17,229,164,184, 18, 71,139, 97, 24,168, 84, 42,
-124,255,253,247, 94,151,227,112,253,222,166, 77,155, 64,175,217, 51, 57, 57,121,235,246,237,219, 21,177,177,127, 76,136,109, 54,
-155, 17, 22, 22,134,231,158,123, 78,118,215, 93,119,181, 31, 58,116,232,238,115,231,206, 13, 0,176,223, 15,223,125,145,145,145,
-159, 77,154, 52, 41,250,193, 7, 31, 68, 68, 68,163, 73,183, 49,106,212, 40,220,127,255,253,210,220,220,220,135, 22, 46, 92,248,
-208,188,121,243, 74,235,235,235,199, 1,248,209, 23,169, 66,161,184, 39, 46, 46,238,139,237,219,183, 71, 69, 69, 69, 33, 37, 37,
-133,125,253,245,215,219,119,232,208, 65,145,144,144,192, 94,188,120, 17, 63,255,252,115,252,195, 15, 63,188,162,172,172,236,105,
-139,197,178, 50,128,184,203, 34, 34, 34,222,124,250,233,167, 91,105,181, 90,219,129, 3, 7,242,196,253, 50,153,108,106, 70, 70,
- 70,175, 45, 91,182,124, 11,224,203, 43,113,178, 8, 33, 90,252,209,196, 39,194, 42,254, 31,136,179, 69, 8,145, 29, 62,124, 56,
- 60, 35, 35,227, 71,147,201,212,253,153,103,158, 57, 63,125,250,116,133, 70,163,209, 0, 96,180, 90,237,165, 41, 83,166,152,103,
-207,158,253, 70,231,206,157, 7,239,218,181,235, 62, 66,136,213, 33,200, 46,231, 99, 24,103,120,138, 46, 84, 96,235, 78, 65,246,
-206,196, 87, 19, 62,156,150,124,110,223,241, 34,129, 83,104,240, 75,206, 49,148, 85,213,227,215, 93,199, 17, 19, 17,204, 72,229,
-124, 90, 72,252, 13, 3,106, 47, 28,207,129,143, 25,210, 41,154, 7, 12,195, 64,169, 84,226,151, 95,126,185,108,233, 42, 79,203,
- 90,113, 28,135,208,208, 80,191,171, 27, 4, 5, 5, 97,227,198,141, 30,215, 94,244,180,164, 79, 72, 72, 8,124,189,108, 48, 12,
-131,160,160, 32,236,216,177, 3, 44,203,122, 92, 26,200,125,159, 74,165, 2,235, 99,173, 43,145, 51, 39, 39,199, 47,151,248,169,
- 86,171,129,134,166,127,239,133, 82, 46,199,246,237,219,189,198,217,253,187,218,177,222,171, 63,206, 29, 59,118, 52, 90,250,203,
-125, 73, 48,215,223, 42,149, 10,140, 31,210,176,176,176,222, 9, 9, 9,216,187,119, 47,150, 47, 95, 30,158,150,150,134,211,167,
- 79,131, 97, 24, 76,159, 62,157,185,225,134, 27,248,210,210, 82,244,235,215, 15, 63,253,244, 83, 31,173, 86, 75, 11, 12,197, 95,
- 2, 66, 8, 15,224, 70, 0,145,104,232,118, 83, 7, 32, 20, 13, 43,105,200, 0, 84, 1, 80, 56, 54, 19,128,122, 0,173, 28,167,
- 87, 58,234, 22, 87,129, 80,225,186,248, 52, 33,164,151,131, 91, 92,161, 34,210,229, 88,241, 26,238,191,221, 63, 61,114,115, 0,
-176,122,245,106,241, 97, 54, 48, 51, 51,115,171,107,228, 2, 17, 89,226, 58,101, 30,202,180,251, 16, 77,185, 74,165,250, 97,247,
-238,221,138,200,200, 63,226, 96, 50,153, 80, 87, 87,135,250,250,122,212,213,213, 33, 56, 56, 24,203,151, 47, 87, 12, 30, 60,248,
-135,186,186,186, 14,142, 68,243,198, 57,235,226,197,139,209, 54,155, 13, 50,153,231, 46, 74, 44,203,162, 83,167, 78,120,243,205,
- 55, 49,108,216,176,152, 65,131, 6,205,114, 19, 90,151, 13, 37, 85, 42,149, 95, 28, 56,112, 32, 74,169, 84, 34, 47, 47, 15,197,
-197,197, 24, 63,126,124,107, 65, 16, 80, 84, 84,132,211,167, 79,227,194,133, 11, 88,184,112, 97,212,136, 17, 35,190,240, 32,180,
- 60, 13, 79,125,230,229,151, 95,238, 24, 22, 22,198,126,244,209, 71, 53, 58,157,238,255, 28,251,223,153, 51,103,206, 99,253,251,
-247,143,250,247,191,255, 77,118,236,216,177,216,113,227,188,166,167,107,159, 44, 71, 51, 31, 28,153,239,164,219, 57,157, 92,254,
- 7, 33, 36, 6,128,137, 97,152, 26, 15,156, 12,128,144,161, 67,135,190, 98, 50,153,186,111,223,190,253,204, 45,183,220,146, 8,
-224,162,152,249, 66, 66, 66, 84,179,102,205,138,206,204,204,204,189,245,214, 91,187, 15, 29, 58,244,149,138,138,138,233,132,144,
- 10,151, 62, 91, 78, 78, 65,192,225,152,216, 46,203,114,118,141,123, 96,203, 14,179,244,213, 23, 39,159,111,211, 58,169,246,112,
- 94,181,253,120,126, 5,234, 12, 54,220,123,107,195, 2,230,189,187,180,193,103,223,111,199,115, 47,189,197,255,184,108,209,253,
-103, 8, 84,245, 37,199,215,248, 72,207,171, 5,229,132,179,137, 9, 60,207,227,142, 59,238, 0,195, 48,151,173,229,201,243, 60,
-118,237,218,133, 91,111,189, 21, 60,207,227,137, 39,158, 8,136,147,227, 56, 12, 29, 58,212,185,142,162, 43,159,187,104,240,162,
- 9,178,221, 42, 91,112, 28, 7,150,101,189, 46,164,237,206,233,175, 94, 18,195,233,139,203,245, 63,127,225,116, 44,121, 20,176,
-200, 10,148, 83, 12, 39,199,113,232,211,167, 15, 14, 29, 58,228, 83,116,121,209,151,141,226,126,233,210,165, 49, 29, 58,116,200,
-153, 59,119,110, 56, 0, 84, 85, 85, 57, 23,188,151, 72, 36, 56,117,234, 20,204,102, 51,222,125,247, 93,139, 86,171,253, 55, 45,
- 71,148,179, 37, 57,125,105, 17, 0,253, 39, 78,156,216, 51, 43, 43,107,122, 70, 70,198,119, 59,119,238, 92,202, 48,204,106, 66,
- 72,166,248, 57,113,226,196,180,172,172,172,233, 19, 38, 76,120,115,198,140, 25,199, 24,134, 89, 13, 0,238,191, 29,117, 73,166,
-155,136,139, 20,121, 28,101,174,209,177,158,126,187,127,122,226,110,228,104,101,102,102, 50,142, 72, 50,174,149, 90,160, 66, 43,
-144,181,251, 56,142,123,126,250,244,233,209,190, 68, 86,125,125, 61, 74, 74, 74,144,152,152,136, 39,158,120, 34,122,238,220,185,
-207,219,108,182,143,125,208, 74, 37, 18, 9,246,238,221,139,242,242,114,116,237,218, 21,201,201,201,141, 14, 56,123,246, 44,214,
-174, 93,139,154,154, 26,244,232,209, 3,104,232,220,237, 17,221,186,117,123,183, 83,167, 78, 67, 89,150,181, 41, 20, 10, 28, 62,
-124, 24,221,187,119,199,247,223,127,143, 54,109,218, 64,169, 84, 34, 55, 55, 23, 93,187,118,197,214,173, 91, 17, 25, 25,137,244,
-244,116,155, 86,171,221, 86, 93, 93,189,249,220,185,115,239,122, 11,103,124,124,252,228,167,158,122, 74, 86, 82, 82, 34,124,243,
-205, 55,219, 1,108, 7,240,252, 91,111,189,245,248,176, 97,195,162, 14, 30, 60, 88,187,111,223,190, 61, 94, 68, 86, 32, 78,150,
-205,253,161,100,183,219, 77, 6,131,193,108, 50,153,172, 44,203, 22, 50, 12, 99,182,219,237, 29,188,153, 16, 99,199,142,109, 91,
- 89, 89,249,220, 75, 47,189, 84,224, 16, 89,167,208,208, 1, 30, 0, 96,179,217, 76,245,245,245,218,140,140,140,196,135, 31,126,
-248,204,210,165, 75,159, 27, 59,118,236,242,111,190,249,166, 30,128,193,157,176, 77,155,214,135, 36, 18, 86,170,171, 11,207, 95,
-177,252,203,151,215,174,122,190,117, 81,209,133,246, 17,173, 34,117, 82,117,100,201,242, 37, 95,239, 7, 96, 46,169,208,226,200,
-217, 82,240,188, 4, 39,138,106,209,255,246, 81,252,153,188,105,125, 1,172,161,239,114, 45,255,178, 40, 46, 66,189,101,203, 22,
-159,142,214,174, 93,187,192,243, 60, 20, 10, 5,102,207,158,237,147, 84, 20, 6,162, 91,228, 79,204,136,139,163,251,114,159, 4,
- 65,112, 46,244,238,190,253,223,255,253, 31, 94,122,233,165, 70,215,112,136, 13,198, 31,167,183,240, 37, 38, 37,161,188,172,172,
-209,190, 64, 22,165,183,219,237,224,121, 30, 11, 22, 44, 64,102,102, 38, 86,175, 94,237,243,243,142, 59,238, 0,203,178, 36,144,
-244,236,211,167, 15, 44, 22,139, 51,204,167, 78,157,242,200, 59,111,222, 60,127,193,188, 11,192,148,238,221,187,107, 6, 13, 26,
-132,156,156, 28,220,127,255,253, 38,139,197,146, 7, 0,119,222,121,103,234,220,185,115,101, 7, 14, 28, 64, 68, 68, 4,127,254,
-252,249,255,129,118,144,167,104, 97,120,210, 34,226, 51, 47, 43, 43,107,186,187,136,113,133,248, 63,195, 48,171,103,204,152,145,
-233, 42,138, 92,127,139,174,147,155,136, 75,115,117,164, 92, 69,148, 55, 1,229,246,188,117, 61,190,194,163,208,114, 68,108,160,
-171, 11, 36, 86,190,254, 68,150,143, 55,199, 70, 8, 9, 9, 25,126,239,189,247, 58, 69,142,209,104,116, 10, 44, 81,100,137,191,
-115,115,115,209,179,103, 79,105, 72, 72,200,240,170,170,170,143, 3, 16,113,136,139,139, 67,101,101, 37,142, 30, 61,138,196,196,
- 68, 88,173, 86,172, 95,191, 30,181,181,181,224,121, 30, 82,169, 20, 22,139,207,190,219,232,212,169,211, 29,139, 23, 47,238,185,
-104,209,162, 75,226, 27,221,146, 37, 75, 64, 8, 65,100,100, 36,244,122, 61,202,202,202,176,121,243,102,216,108, 54,168,213,106,
-164,164,164,200,238,185,231,158,190, 83,166, 76,225,125, 8,173, 62,247,223,127,127,136, 70,163,193,139, 47,190, 72, 44, 22,203,
- 12,199,190,201,227,198,141,139, 40, 44, 44, 52, 63,249,228,147,123, 45, 22,203, 71,162,153,232, 42,112,188,220, 88,175, 78,150,
-213,106, 21,211,180,160,190,190, 30,173, 90,181, 74,116,117,182,188,137,193, 29, 59,118,244, 1, 32,153, 58,117,106, 16,128, 50,
-215, 48,152,205,102,212,215,215, 67,167,211, 89,107,107,107,203, 95,123,237, 53,219,210,165, 75, 37,142,115, 78,120, 18, 90, 12,
-115,135, 89,163, 81,202, 8,145,188, 53,127,254,124,245,176, 97,195, 88,181, 90,141,186,186, 58,205,175,235,214,169, 7, 15,234,
-155, 50, 61,235,195, 13,154,132,174,101, 59, 14,231,227, 66,105, 45,204, 86, 43, 82, 98, 67, 26,252, 48,138, 22,135, 99, 32,139,
-211,209,114, 21, 21, 57, 57, 57,184,253,246,219,157,101, 93, 42,149, 54,114,190,252,113,114, 28,135,219,111,191,253, 50,135,103,
-203,150, 45, 30,221, 39,127,112, 21, 69,238,226,200,147, 0, 99, 89,214,239, 2,235,162,155,231, 73,108,185,186,250,110,226,205,
- 95, 51, 7, 56,142,195,184,113,227,192,243, 60, 94,127,253,117,112, 28,135,244,244,116,112, 28,135,140,140, 12,240, 60,143, 91,
-111,189,181,201,113,223,189,123, 55,186,119,239,238, 12, 83,122,122, 58,122,245,234, 5,142,227,208,175, 95, 63,240, 60,143,161,
- 67,135, 6,194,249,102, 93, 93, 93, 55,181, 90,141,220,220, 92, 72, 36, 18, 48, 12,115, 26, 64, 55, 0,136,141,141, 61,163, 6,
-111,130,189, 0, 0, 32, 0, 73, 68, 65, 84,215,235,219, 26,141, 70, 60,245,212, 83,140,217,108,238,250,250,235,175,191,101, 52,
- 26,169,208,162,104, 49,184,107, 17, 23, 24, 38, 76,152,240, 38,195, 48,171, 69,135,202,221,121,242,244,219, 67,221, 36, 58, 80,
-251, 28,101,181,151,155,136,171, 96, 24,102, 31, 33,228, 78,111,231, 2, 48,187, 9,171, 70, 77,135,174,205,134,126, 29, 45,177,
-242, 13, 84,104,249,131,209,104,188, 49, 42, 42,202,171,200,114,253, 52,155,205, 72, 78, 78,134,209,104,188,177,169, 15,141,216,
-216, 88, 88, 44, 22,124,249,229,151,144, 74,165,144, 74,255,208, 23,102,179,111,179,232,248,241,227, 5,187,119,239,238,222,163,
- 71,143,176,159,126,250,169, 98,192,128, 1,145,195,134, 13,131, 66,161,128,193, 96,128,213,106, 69,239,222,189,209,169, 83, 39,
- 20, 23, 23,227,215, 95,127,173,236,208,161, 67,171, 61,123,246, 8,165,165,165,231,124, 80,223, 54,120,240, 96, 48, 12,131,117,
-235,214, 85, 2,216, 39,151,203,215, 78,155, 54, 45,204,108, 54, 11,163, 71,143, 62, 95, 93, 93,253, 18, 0,139, 76, 38,155, 51,
- 96,192,128,140,236,236,236,111, 5, 65,152,221,212,140,234,158,182, 58,157, 14, 65, 65, 65,129, 76, 37,193, 87, 87, 87,119, 1,
- 0,149, 74, 21, 14,224,140, 51,135, 27, 12,141,196,176,217,108, 54,134,135,135,171, 0,192,113, 14,239,133, 51,210,102,195,138,
-115,231,242,131, 93,251,207,133,134,134,226,145,135, 31,102,111,233,211, 71,214,237,198, 27,135,190,253,201,162,239,227, 34, 52,
-230,148,184, 8, 88,237, 86,100,111, 88, 47, 16,193,186,129, 86, 59,127,142,208, 18,197,134,187,163,197,243, 60,182,110,221,122,
-217, 62,169, 84,138,255,254,247,191, 1, 9, 3, 81, 84,121,107, 58,115,107,234, 98,252, 9, 24,158,231, 33,145, 72,176, 96,193,
- 2, 8,130,128,151, 95,126,185, 81,115,162, 43,127, 64,118,158,139, 8,236, 52, 89, 0, 96, 70,241, 76,185,243,124,247,240, 58,
-206, 9,200, 37,155, 59,119,110, 64,142,214,157,119,222,233, 87,184,186,182, 48,184,134,235,208,161, 67, 30,121,231,207,159,239,
- 55, 61,237,118, 59,214,172, 89,227, 20,169, 34,222,126,251,237,167,100, 50, 89,244,182,109,219, 80, 90, 90, 10,157, 78,135,250,
-250,122,244,238,221, 59,133,101,217,195,165,165,165,133, 39, 78,156,184,151,150, 30,138, 63,209,209, 50,205,152, 49,227,216,140,
- 25, 51, 60, 58, 86,238,206,146, 47,231, 73, 20, 88, 14, 65, 20, 41,138, 55, 52,116,171,217,231,239, 92, 0, 50,247,166, 67,159,
- 70,144,155,138,156,226,169,242, 13,164,249, 48, 64, 59,157, 99, 24, 6, 70,163,209,163,192,114, 21, 7, 22,139, 5,213,213,213,
-176,219,237, 87, 60,215,151,167, 55, 89,127, 66,235,232,209,163,255,122,252,241,199, 75, 66, 66, 66,186, 85, 84, 84,148, 11,130,
-112,235,174, 93,187, 34, 57,142,131, 70,163,129, 70,163,193,218,181,107,161, 84, 42, 49,110,220,184,114,187,221,158, 19, 28, 28,
- 28, 97, 48, 24,126, 47, 45, 45,125,219,171,130,225,249,161,253,250,245,195,129, 3, 7,112,233,210,165,141, 0,210, 31,125,244,
-209,219, 91,183,110,205, 76,155, 54,205,120,246,236,217,217, 0,202, 85, 42,213,226,197,139, 23, 15,234,209,163, 71,240,232,209,
-163,177,117,235,214,249, 0,140,129,198, 89,167,211, 53, 18, 88, 90,173, 22,117,117,117, 80,169, 84,182, 0,211,140,199, 31, 35,
- 12, 65, 8,113,222, 27,135,155, 37,222, 31,194,113,156, 56,170,209,155,200,130, 74,165,154,186,104,209, 34,133,251, 32, 5,187,
-221,142,178,178, 50,104, 52, 26, 76,122,251,109,233,123,227,255,221, 93,162,142,222,197,178, 12,204, 22, 82, 67, 4,243,122, 93,
-217,131,219,128,119,105,205,243, 39, 64, 20, 6,119,223,125,247,101,205,133, 82,169, 20, 27, 55,110,196,136, 17, 35,156, 47, 46,
- 61,122,244,240,251,114, 37, 10,131,187,238,186,203,233, 12,173, 95,191,222, 99,179,159,232, 72, 5, 34, 8,197, 99, 95,120,225,
- 5,112, 28,135,207, 62,251, 12,175,188,242, 10, 88,150,197,204,153, 51,193,178, 44,222,121,231,157,128, 69,166,171,128, 41,252,
-176,225, 51,225, 21, 45,170,230, 69, 3, 0,130, 53, 26, 49, 66, 77,170,123, 56,142,115, 58, 89, 55,222,120, 35,120,158, 71, 70,
- 70, 6, 56,142,115, 58, 89,195,135, 15,119, 77, 71, 18, 8, 39,199,113,200,203,203,115,134, 57, 35, 35,163,145,147,197,113, 28,
-238,188,243,206, 64,130, 57, 61, 52, 52,116, 74,167, 78,157, 58,207,154, 53,139,151, 72, 36, 24, 60,120,112,106, 76, 76,204, 57,
-155,205, 22, 49,117,234, 84,165,135,115, 20, 0,186,117,238,220, 89, 69, 75, 13, 69, 11, 58, 90, 83, 60,252, 21,230,218,231,170,
- 9, 47,146,171, 93,143, 23, 57,220,197,145,195, 33,203,241,199,229,233, 92,127,224, 68, 5,233,203, 82, 15, 68,104, 57,108,103,
-159, 23, 83, 42,149, 71,202,203,203, 51, 20, 10, 69, 35,145,229, 73,112, 73, 36, 18,148,150,150, 66,169, 84, 30, 49,153, 76,205,
-118, 19,253, 53, 29, 2, 48,158, 62,125,122,188,203,239, 33,195,135, 15,255,102,227,198,141,177,217,217,217,216,179,103, 15, 34,
- 35, 35, 49,119,238,220,139,101,101,101,255, 2,176,177,178,178,210,239,117,219,182,109,219, 69,173, 86, 99,199,142, 29, 0,176,
- 21,192,191,159,123,238, 57,198,106,181, 98,222,188,121, 58, 0,235, 66, 67, 67,215, 44, 95,190,188,123,183,110,221,100,217,217,
-217,218, 61,123,246,252, 22,160,200,178, 11,130,112,153,192,114, 77,211,224,224,224, 64, 28, 45,107, 72, 72,200, 81,173, 86, 59,
-202, 96, 48,104,229,114,121,176, 86,171, 53,185, 10, 44,145,159,227, 56, 62, 47, 47,175, 4, 64, 74, 72, 72,200, 81,120,105,230,
-228, 56,110,240,224,193,131, 57,247,123, 80, 86, 86,134,210,210, 82, 88, 44, 22,244,232,209,131,145, 48, 86,201,165,162, 35,110,
-211, 58, 80,145,245, 39, 57, 90, 68, 44,235,226, 40, 65, 79, 35, 13,215,175, 95,239,252,205,178, 44,190,254,250,235,128, 68,209,
-198,141, 27,125,118, 88,119,107, 58,244,107,141,139,199,127,254,249,231, 32,132, 56,157, 44,150,101, 49, 97,194, 4,200,229,114,
- 76,155, 54, 13, 19, 38, 76, 0,199,113,126,155, 14, 93, 5, 76,210,235,122,215,151,163,134, 66,225,232, 15,197, 48,140,171,216,
- 98, 2, 21,111,190,220,188, 64, 90, 2, 92, 57,197,243,130,130,130,188,118,132,119,227,244,117,129, 95, 0,228,199,198,198,238,
-200,200,200, 8,217,191,127, 63,102,206,156, 41, 53,153, 76,109,178,179,179,157,215,245,148, 94, 58,157, 78, 65, 75, 14, 69, 75,
-184, 89, 62,254,174,112,235, 95,197,184, 54,227,249,248,116, 63, 30, 46,251, 92,121, 43, 24,134,177,122,184, 94,133, 7,113,229,
-126, 13,215, 99, 42,188, 58, 90,254, 42, 11,127,130, 43, 16, 71, 75,175,215,255,182,110,221,186, 94, 15, 63,252, 48,231,171,217,
- 80,167,211, 33, 58, 58, 26,199,142, 29,179,233,245,250,223, 2,112,202,154, 83,104,185, 35,187,188,188, 92, 98,181, 90,209,190,
-125,123,196,199,199,195,104, 52,162,166,166, 70, 2, 96, 99,128, 28, 82,149, 74, 37, 1,128,154,154, 26,160, 97,168,105,106,135,
- 14, 29,112,224,192, 1, 84, 87, 87,255, 8, 96,216,148, 41, 83,122,244,238,221, 91,250,253,247,223,235,159,121,230,153, 31,173,
- 86,107, 64, 74, 67, 16, 4,179,205,102, 75,102, 89,214, 82, 83, 83,115,193, 53, 61,163,163,163,195, 85, 42, 21, 83, 86, 86,102,
- 13, 68,104,117,235,214,109,239,249,243,231, 49,117,234,212,138,233,211,167,119,168,171,171,187, 84, 91, 91,107,115, 21, 91, 70,
-163,145,109,213,170,149,124,222,188,121, 10, 0,232,214,173,219, 94,111, 66, 75,167,211,181, 86, 42,255,120, 49, 54,153, 76, 40,
- 45, 45, 69,105,105, 41,202,202,202, 80, 87, 87,135,148,148, 20,232,245,250, 68, 90,205,252,101, 66,171, 81,243,153,107,249,118,
-125,144, 55,165,172,187, 10,152,187,239,190,219,217,183, 75,116,200,196,109,197,138, 21,238, 29,204, 3, 18, 90,159,127,254, 57,
- 94,120,225, 5, 4, 5, 5, 97,214,172, 89,141,154, 14,221,197,129, 32, 8, 76, 32,113, 79,126,195,128,210, 57,225,224,121, 30,
- 17,207,148, 53,106,162,243, 32, 56, 2, 10,231,244,233,211,155,165,233,208,149, 51, 49,177,161,168, 44, 88,176, 0,163, 70,141,
-194,182,109,219,174,184,233, 48, 45, 45,109,201,234,213,171, 67,142, 31, 63, 14,173, 86,139,138,138, 10,152, 76, 38, 20, 23, 23,
-123,109, 21,112,212,229, 65,180,228, 80,252,201,245,212,190, 63,147,183, 57,175,199,249,121,128, 7, 44,180, 2,113,180, 76, 38,
-211,172, 23, 95,124,241,185, 33, 67,134,132, 7, 7, 7,163,164,164,228, 50,145, 85, 95, 95, 15,181, 90, 13,131,193,128, 85,171,
- 86,105, 77, 38,211, 44,127,226,192,106,181, 34, 42, 42, 10,149,149,149, 16,188,244,159,102, 89, 22, 10,133, 2,245,245,245,128,
-159, 78,230,158, 30, 24, 22,139, 5, 86,171, 21, 86,171, 21, 22,139,197,239, 91,178,187,153,167, 82,169, 68,225, 1, 0,186,184,
-184,184,246, 65, 65, 65, 40, 40, 40, 0, 26, 70,246, 13,185,253,246,219,249,170,170, 42,242,228,147, 79,110, 39,132, 60, 5,223,
-179,227,155,115,114,114,146, 1, 64,161, 80,228, 2, 64,113,113,177,181,166,166,166,145, 83,168, 84, 42,201,136, 17, 35, 98, 9,
- 33,200,201,201, 73,150, 74,165, 4,222, 71, 53, 26, 87,174, 92,121, 60, 36, 36,100,105, 86, 86,214,195,153,153,153,199,186,116,
-233,146,172,211,233,202, 13, 6,131,193,104, 52, 18,137, 68, 34, 13, 11, 11, 11,218,176, 97,195,153, 93,187,118, 13,209,104, 52,
- 75, 87,174, 92,121,220,155,243,166, 82,169,138,245,122,125,146,120, 79, 93, 69, 86,105,105, 41, 8, 33,200,207,207,135, 82,169,
- 60,239,175, 89,151,162,229, 32,190, 84,185, 59, 47,238,251, 2, 21, 89,174,194, 96,195,134, 13, 62,231,208, 10,148,211, 85, 20,
-189,242,202, 43,152, 51,103,206,101,142,214,180,105,211, 0, 0,111,191,253,118,192,125,180, 68,247,170,116, 78, 56, 98, 94,168,
-110, 20,118, 0, 96,196,240, 53,173,204,131,227, 56, 76,157, 58,245,178, 78,234,174, 77,123, 1, 54,241, 53, 10,103,121,121, 57,
- 56,142, 67,120,120, 56, 30,121,228, 17, 12, 29, 58,212,217, 4,217, 84,222,147, 39, 79,238,120,227,141, 55,186,166,165,165,225,
-253,247,223,175, 14, 13, 13, 13,254,207,127,254,195,213,212,212, 48,190, 28, 45, 42,180, 40, 40,154, 65,104,137, 5, 44,208, 81,
-135, 94, 42,203, 33,104, 60,215, 70,173, 94,175,127,228,182,219,110,251,105,217,178,101,138,182,109,219,226,228,201,147,168,174,
-174,134,217,108,134, 84, 42, 69,108,108, 44,106,106,106,240,245,215, 95, 27,244,122,253, 35, 0,106,253,112,190,213,179,103,207,
- 47, 62,254,248,227,160,244,244,116, 84, 87, 87,163,190,190,222, 41,132, 24,134,129, 70,163,129, 66,161,192,222,189,123,177,126,
-253,122, 3,128,183,252,112,122, 82,115,176, 88, 44, 78,193, 21,128,208,114,229, 84,137,174,142, 94,175, 7, 0,107,235,214,173,
- 99, 0, 32, 63, 63, 31, 0, 10, 83, 82, 82,166,180,109,219,150, 89,188,120, 49, 33,132,172,247, 34,178,156,156, 12,195, 84, 19,
- 66, 46, 1,136, 49,155,205, 82, 0,168,173,173,181,180,106,213, 42, 74, 46,151, 11, 10,133, 66, 8, 10, 10, 18, 74, 74, 74,108,
- 54,155, 77, 10, 0,253,250,245, 51, 3, 40,117, 91,163,208,149, 83, 32,132,104,231,207,159, 63,101,244,232,209, 25,125,250,244,
- 73,123,246,217,103,143, 62,249,228,147,108,124,124,124, 88, 93, 93,157,241,244,233,211,151, 62,249,228,147,186,221,187,119, 15,
-225,121,254,220,252,249,243,167, 0,208, 50, 12, 35,120,226,180,217,108,191,101,103,103,255, 43, 51, 51,147,187,112,225, 2,202,
-202,202,156, 34,171,172,172, 12,157, 58,117,194,174, 93,187,236, 22,139, 37,187, 9,233,217, 92,160,156, 13, 47, 33, 68, 44,235,
-222, 4,150,248, 50, 21, 40,167,171, 40, 26, 53,106, 84, 35, 23, 75, 42,149,226,135, 31,126,240, 88,111,120, 40, 87,141,226,238,
- 58,199,215, 27,111,188,209, 72,180, 77,154, 52,201,107,117,230, 47, 61, 69,158,218, 5,241,141, 71, 29,122, 41,231,190,194, 41,
-214,157, 60,207, 99,210,164, 73, 1, 59, 90,184,188,143,214,101,156, 98,220, 7, 12, 24, 0,189, 94,239, 20,178,222, 28, 45,127,
-233,105,183,219, 95,152, 51,103, 14,209,104, 52, 55,107,181,218, 71,207,159, 63,191, 80,175,215,223, 84, 91, 91,235,211,209, 50,
-153, 76,114, 90,142, 40, 39, 90,102,126,174,235, 71,104, 57, 30,146,104,221,186,117,163,181,179, 88,150,109,180, 53,165,159,129,
- 3, 27,242,242,242,238,187,229,150, 91,190,125,225,133, 23,130,211,211,211,249,164,164, 36,232,116, 58, 20, 20, 20,224,216,177,
- 99,182,149, 43, 87,106,245,122,253,163, 0, 2, 25,117,182,232,248,241,227,235,135, 13, 27,246, 78,239,222,189,159,158, 60,121,
-178, 36, 53, 53, 21,181,181,181, 8, 11, 11, 67, 84, 84, 20, 78,157, 58,133, 85,171, 86,217, 43, 43, 43,191, 0,240, 30, 60,180,
-161,250,123,225,183, 88, 44,120,232,161,135, 32, 8, 2,102,207,158,141, 64, 22, 84,118,129,197, 98,177, 16, 0,140,163, 63,151,
-222, 49,187, 52, 78,159, 62, 13, 0,231,146,147,147,131, 1, 32, 59, 59,155, 65,195,252, 90,129,188,225, 19, 66,136,211,217,234,
-212,169, 83,129,123,229, 40, 58, 89,162, 11,230, 47,220, 12,195, 24, 9, 33,229,122,189,126,216, 43,175,188,242,206,231,159,127,
-254,240,231,159,127,126,217,113, 26,141,102,233,204,153, 51,223,123,224,129, 7,202, 25,134,241,218,143, 76,167,211,189, 61,102,
-204,152, 7,142, 28, 57, 18, 28, 20, 20, 4,157, 78,135,170,170, 42, 88, 44, 22,164,164,164,160,188,188, 28,139, 22, 45,170, 51,
- 24, 12,239,210,226,248,215,192, 85, 24,120,115,181, 2, 16, 89, 94, 93,157, 95,126,249,197,227, 28, 85, 77,229,116, 23, 27,129,
-206,109,229,235,165, 72,156,150,198,211,148, 17, 77,172,215, 46,227,229, 56, 14, 31,125,244,145,115,210, 86, 79, 78, 86, 83, 28,
- 45,145, 51, 60, 60,188,193, 38, 87, 42, 33, 8, 2,238,188,243,206,171,225, 21, 0,140,115,153,241,125,250,107,175,189, 54,165,
- 83,167, 78,169, 0,228,174,105,208, 68, 23,159,130,130,194,159,208,178,219,237,197, 29, 59,118,108, 84,193,249, 91,204,212,106,
-181, 22, 7,120,221,245, 58,157, 46,101,230,204,153, 47,170, 84,170, 33,122,189,190,171,163,226, 56,162,211,233,178, 77, 38,211,
-167,104,218, 34,208, 21, 0,158,223,189,123,247,236, 97,195,134, 77,187,245,214, 91, 71,142, 31, 63,158, 33,132, 96,222,188,121,
-228,236,217,179, 43, 28, 46,214,217, 43, 73,164,240,240,240,227, 95,127,253,117,244, 79, 63,253, 4,171,213,138, 79, 63,253, 20,
-193,193,193,199,171,171,171, 3,165, 40,223,180,105,211, 55,125,250,244,121,108,215,174, 93,139, 0,252,190,117,235,214,133,125,
-251,246, 29,179,107,215,174, 37, 0,142,109,222,188,121, 97,239,222,189,199,236,219,183,111, 57,128, 67, 77,168,124,157,206,150,
-205,230,185,165,209,139,147,229,139, 83, 75, 8,177, 60,254,248,227,227, 31,120,224,129, 47,247,237,219,119, 83, 77, 77, 77, 87,
- 0, 8, 13, 13, 61,210,171, 87,175,189,203,150, 45, 59,229,112,178,252,117,214,175,208,233,116, 35,186,118,237,250,227,251,239,
-191,175, 74, 75, 75,227,218,183,111,143,194,194, 66, 28, 61,122,212,246,191,255,253,175,222, 96, 48,220, 13,224, 18, 45,142,127,
-157,208, 34,132, 32, 52, 52,180,209, 75,148, 56,228,191,169,205,133,174, 15,102,113,169, 30,119, 94,111,156,190,166, 77, 16,161,
- 86,171,157,147,155, 6,210,101, 65, 16,124,207,199, 70, 8,113,114,138, 91, 0, 34,203,239, 8, 65,199, 18, 56, 1,115, 6, 50,
-189,131, 74,165,130,213,106,117,242, 6, 48,242,179,169,106,241, 23, 0,191, 88,173,214,211, 0,218, 81,113, 69, 65,209,130, 66,
-235,210,165, 75, 61, 91,248,218, 90,147,201,244,158,201,100,122, 79,220, 97, 52, 26,175,150,243, 44,128, 7, 54,109,218,244,241,
-166, 77,155,196,118,132,169,240,191, 94,162, 79,156, 60,121, 50,147,231,249,255, 46, 93,186,180, 55, 33, 4, 33, 33, 33,187, 11,
- 11, 11,255,211, 20, 14,187,221,254,248,174, 93,187,158,131,163, 47,147,197, 98,121,124,199,142, 29, 47,162, 97, 61, 38,216,237,
-246,199,247,236,217,227,252,221,196, 7, 37, 33,132,152, 8, 33,113, 94, 14, 49, 53,209,129, 19,157, 45,243,178,101,203,234, 1,
- 28,198, 31,243,100, 89, 29,155,209,173,185,208, 23, 54,235,116,186,246,147, 38, 77,154, 46,145, 72, 6,235,116,186,120,149, 74,
- 85,100,179,217,126,211,235,245,111,161, 97,141, 42,138,191, 8,102,179,249, 66,199,142, 29, 57, 79, 47, 80,190, 30,228,190, 94,
-172,236,118,123,113,135, 14, 29,252,190,156,121,224,188,224, 67, 52,156, 75, 73, 73, 97, 3,229, 18, 97,177, 88,202,125,133, 51,
- 37, 37, 5, 77,229,244, 23,247,228,228,100,143,113,247, 35, 8,189,198,221,102,179, 93, 17,167,175,244,244, 5,131,193,112, 41,
- 50, 50,178,222,104, 52,242, 38,147,137,183,217,108,141,236, 71,133, 66, 81, 97, 48, 24,104,225,161,160,184, 26,161,245, 15,199,
-126, 52, 44, 47,209, 92, 48, 29, 57,114,228, 49,167, 61, 85, 94,126,165, 60,238, 74,178,222,207,239,166, 8,163,102,119,132, 28,
- 66, 74,223, 76,116,149,245,245,245, 79,138, 63,196, 62, 32, 20,127, 61,170,170,170,110,110,110,206,234,234,234,102,127, 81,171,
-172,172,204,104,129,184,247,188, 94, 57,125,161,164,164,228,102, 63, 66,140, 22, 28, 10,138, 0,193,210, 36,160,160,160,160,160,
-160,160,160,104, 25, 48,104, 24, 57,224, 9, 77, 25, 77, 48,228, 10,174,157, 77, 57, 41, 39,229,164,156,148,147,114, 82,206,235,
-142,211, 31, 55, 29,205,216,194, 2,140,114, 82, 78,202, 73, 57, 41, 39,229,164,156,215, 31,231, 53, 9,218,116, 72, 65, 65, 65,
- 65, 65, 65, 65, 65,133, 22, 5, 5, 5, 5, 5, 5, 5, 5, 21, 90, 20, 20, 20, 20,174, 72,109,221,186,245,137,212,212,212, 11,
- 0,198,182,240,181, 30,233,221,187,119,149, 92, 46,223, 0, 32,149, 38, 61, 5, 5, 5, 21, 90, 20, 20, 20,215,180,200,234,218,
-181,235,246,147, 39, 79,118,202,206,206,142,139,143,143,255,176, 37, 47,214,179,103,207, 15,182,109,219, 22,190,110,221,186,219,
- 98, 98, 98,114,174, 80,108,165,182,105,211,230, 68,106,106,106, 49,128, 71,154, 57,136, 99, 51, 50, 50,170,101, 50,217,122, 42,
- 4, 41,174, 3,116, 1,208,149, 10, 45, 10, 10, 10,138, 22, 20, 89, 59,119,238,140, 48, 26,141, 56,121,242, 36, 42, 42, 42, 14,
-181,228, 5,115,115,115, 47,237,220,185, 19, 9, 9, 9, 88,178,100, 73,100,114,114,242,182, 38, 10,154,212,174, 93,187,110, 63,
-113,226, 68,167,236,236,236,248,168,168,168, 79,154, 51,124, 55,221,116,211,180,109,219,182,133,109,216,176, 97,104,100,100,228,
-149, 10, 65, 10,138,191, 51,228, 0, 30, 99, 24,102,111,151, 46, 93,142,164,165,165,253,206, 48,204, 46, 0,163,112,237,206,221,
- 25, 24, 86,175, 94,189,117,245,234,213, 91,105, 30,161,160,160,104, 6,164,165,165,165,233,116, 58, 29,169,168,168, 32,159,125,
-246, 25, 9, 15, 15,183, 0,248, 13,192, 74, 15,219,155, 0, 52, 1,114,107, 28,199,123,226,249, 45, 60, 60,220,242,217,103,159,
-145,252,252,124,114,252,248,113,146,154,154,106, 8, 80,208,164,118,237,218,181, 82, 12,243,218,181,107, 9,199,113,235,155, 51,
- 81, 52, 26,205,177,156,156, 28,114,246,236, 89,178, 97,195, 6, 18, 29, 29, 93, 78,197, 22,197, 53,130, 36, 0, 31,168,213,234,
-234,187,238,186,139,124,245,213, 87,100,213,170, 85,228,199, 31,127, 36,179,102,205, 34,131, 6, 13, 34, 50,153,236, 2,128,215,
- 1,132, 94, 79, 90,132,113, 68,140, 0, 24, 8, 0,153,153,153, 84,108, 81, 80, 80, 92, 45,118,234,245,250, 12,189, 94,143,186,
-186, 58,180,110,221, 26, 60,207,123, 60,176,188,188, 28, 59,118,236,192,184,113,227,142,151,150,150,246,135,239,117, 47,195,186,
-119,239,190,115,243,230,205,169,193,193,193,206,157,130, 32,192, 98,177,192,106,181,194, 98,177,192,100, 50,193,100, 50, 65, 38,
-147, 65,161, 80, 32, 60, 60,252, 40,124, 55, 97, 56,221, 55,131,193,128,131, 7, 15, 98,244,232,209, 21, 85, 85, 85,253, 1,228,
- 54, 99,186,164, 70, 69, 69,229, 44, 90,180, 40, 50, 37, 37, 5,231,207,159,199, 19, 79, 60, 81,121,238,220,185,126,205,124, 29,
- 10,138, 63, 19, 19,238,187,239,190,105,209,209,209,108,151, 46, 93, 16, 27, 27, 11,147,201, 4,131,193, 0, 66, 8, 56,142, 3,
- 33, 4,181,181,181,200,201,201,193,230,205,155, 77,151, 46, 93,250, 26,192,167, 0,242, 92, 68,214, 53,169, 69,156, 66, 43, 51,
- 51,147,161,121,133,130,130,162,153,112,164,182,182,182,139,201,100,130, 78,167, 11,232,132,252,252,124,140, 29, 59,246,120,105,
-105,233, 45,240,188,168,188,166,123,247,238,123,114,114,114, 82,141, 70, 35,180, 90,255,235,206,203,100, 50, 4, 5, 5, 33, 34,
- 34, 98, 23,128, 62,222,222,196,187,116,233,178,127,215,174, 93,225, 6,131, 1,135, 14, 29,194, 35,143, 60, 98,169,174,174,222,
- 14,192, 91,224,171,209,176,142,234, 57, 15,255, 37, 2,120,209,241,134,239, 9,170,200,200,200,190,139, 23, 47,150,182,109,219,
- 22,122,189, 30,163, 70,141,170,206,205,205,237, 5,160,128,102, 29,138,127, 32,114, 79,158, 60,217,193,110,183,163,178,178, 18,
- 38,147, 9,122,189,222, 41,180, 36, 18, 9, 8, 33,176,217,108,206, 23,163, 3, 7, 14, 32, 59, 59,155,228,231,231, 79,118,148,
-165,107, 86,139, 80,161, 69, 65, 65,209, 18, 72,237,208,161,195,161, 95,127,253, 53, 72, 42,149, 98,213,170, 85,152, 60,121,178,
-181,186,186,122,155,187,120,137,142,142, 78, 91,184,112, 97,114, 74, 74, 10,126,255,253,119,220,127,255,253,111, 1,152,238,129,
-243, 77,173, 86, 59,205, 98,177,224,208,161, 67, 24, 51,102, 76, 65, 89, 89,217, 49,119, 17,147,156,156,220,239,147, 79, 62,225,
-123,244,232, 1,173, 86,139,145, 35, 71,234, 79,157, 58,213, 27,192, 49, 47, 97,253,164,186,186,250, 21,187,221,142,186,186, 58,
- 36, 36, 36, 64, 42,149,250,140,156,193, 96, 64, 82, 82,210,174,138,138,138,203,196, 91, 68, 68,196,166,243,231,207, 15, 82, 40,
- 20, 62, 57, 44, 22, 11,138,139,139, 33,147,201, 96, 50,153,208,174, 93,187,175, 1, 60, 78,179, 14,197, 63, 81,104, 29, 62,124,
-184,195,119,223,125,135,238,221,187,163,115,231,206,168,175,175,119,138, 46,179,217, 12,171,213,122,217, 73, 90,173, 22, 47,191,
-252,114, 30, 28,205,231,215,170, 22, 17, 59,166, 77, 17,219, 68, 51, 51, 51, 7,208, 60, 67, 65, 65,113,181, 21,111, 94, 94, 94,
-250,144, 33, 67,182,173, 88,177,162,213,240,225,195,209,174, 93, 59,254,222,123,239,141,212,235,245,131, 93, 15, 44, 43, 43, 11,
- 27, 51,102,204,254,162,162,162,100,199,174, 94, 94, 56,123, 5, 7, 7, 35, 63, 63, 95, 20, 89, 61,225,214,204, 40,147,201,214,
- 31, 62,124,152,151,201,100,216,183,111, 31,198,142, 29, 91, 89, 80, 80,224,175, 89, 46,212,108, 54, 67, 34,145, 0, 0,138,139,
-139,253, 70,238,252,249,243, 16, 4,193,228,233, 63,150,101,229, 7, 14, 28, 64, 92, 92,156, 79, 14,150,101,221, 5, 93, 13,205,
- 54, 20,255, 80, 88,205,102, 51,122,246,236,137,130,130, 2, 28, 56,112,192, 41,184, 42, 43, 43, 81, 82, 82,210,232,224,189,123,
-247,226,224,193,131,232,223,191,191, 59,207, 53,169, 69,156,202,113,245,234,213, 3, 28,145,219, 74,243, 12, 5, 5, 69, 51, 33,
- 53, 46, 46, 46,103,209,162, 69,145,177,177,177, 24, 52,104, 80, 81,105,105,105, 27, 15,199,173, 36,132,220,157,159,159,143,182,
-109,219,174, 2,112,207,149, 28,147,152,152, 88,177,111,223,190, 86,199,143, 31,199, 35,143, 60, 82,225,232,243,229,175,239, 83,
-114,167, 78,157,246,109,216,176, 33,156,101, 89, 28, 59,118, 44,144,166,195, 66, 52,244, 47, 57,231,225,191, 68, 0,147, 0,132,
-123, 57, 87,213,161, 67,135,190,251,247,239,151, 50, 12,131,194,194, 66,177,233,176,167,131,151,130,226,159,134, 17,113,113,113,
-255,123,238,185,231, 66,122,247,238,141,226,226, 98, 92,184,112, 1,151, 46, 93, 66,122,122, 58,210,210,210,112,246,236, 89,172,
- 95,191, 30, 7, 15, 30,132, 92, 46, 71, 66, 66, 2,212, 75,191,195,127, 25, 28, 7,144, 70,181, 8, 5, 5, 5,197, 85,136, 45,
-169, 84,186, 62, 62, 62,190, 28,158,231,165, 10, 27, 57,114,100,137,221,110, 39,103,207,158, 37,104, 24, 61, 8, 47, 66,139,156,
- 61,123,150, 68, 71, 71,231, 3, 8,243,112,204,216,152,152,152, 34,165, 82,121, 20, 77,156,214,161,125,251,246, 21,167, 78,157,
- 34, 69, 69, 69,100,221,186,117, 36, 34, 34,162, 37, 70, 4,166,118,236,216,177,178,174,174,142, 24,141, 70,146,147,147, 67, 18,
- 19, 19, 43, 64, 71, 30, 82,252,243, 17, 12, 96,106, 74, 74,138,241,227,143, 63, 38,235,215,175, 39, 11, 22, 44, 32,211,166, 77,
- 35,227,199,143, 39, 25, 25, 25, 36, 35, 35,131,140, 26, 53,138,188,242,202, 43,228,246,219,111, 39,106,181,186, 22,192,189, 52,
-233, 40, 40, 40, 40,154, 23,137, 0,102, 57, 4,213,202,145, 35, 71,150,152, 76, 38,114,225,194, 5,242,195, 15, 63, 16, 52, 76,
-221,224, 9,111,150,150,150,146,210,210, 82,113,106,132,124,252, 49,173,195, 87, 14,222,171, 18, 65, 73, 73, 73, 21,251,247,239,
- 39,133,133,133,100,237,218,181,196, 33,216,154, 13, 10,133, 98,131, 86,171, 37, 70,163,145,108,218,180,137, 78,239, 64,113, 45,
- 34, 10,192,220, 27,110,184,193, 58,123,246,108,178,114,229, 74,242,217,103,159,145, 17, 35, 70,144,215, 95,127,157, 60,248,224,
-131, 36, 50, 50,210, 4, 32, 11, 64, 8, 77,174,171, 7, 93,217,156,114, 82, 78,202,233,142,245,199,143, 31, 39, 34,236,118, 59,
-185,112,225, 2,217,176, 97, 3,137,137,137, 57,134,198,243,105,185,114,106, 58,119,238,124,242,212,169, 83,228,252,249,243,196,
- 98,177, 56, 57, 78,158, 60, 73, 0,108,109,134,112,166,198,199,199,151,111,217,178,133,156, 58,117,138,196,196,196, 20, 53,103,
-220,147,146,146,202, 43, 42, 42,200,166, 77,155, 72,100,100,164, 63,145, 69,243, 18,229,252, 39,115, 38, 1, 88,220,163, 71, 15,
-251,156, 57,115,200,211, 79, 63, 77, 18, 19, 19,237,142,151,162,248,235, 73, 8, 93,223,179,180, 82, 80, 80,252, 21,144,239,222,
-189, 27,114,185,220,185,227,247,223,127,119,157, 71,203,219,188, 13,218, 19, 39, 78,220, 50,124,248,240,109,115,230,204,233,236,
- 58,138,105,203,150, 45, 0, 96,106,134,176,229, 94,184,112,161,255,176, 97,195, 62,141,136,136,184,177,180,180,244,157,230,140,
-120, 97, 97,225, 43, 93,187,118,157, 94, 87, 87,167,213,235,245,163, 64,231,206,162,184,118, 81, 8, 96,244,129, 3, 7, 62, 60,
-112,224,192, 91, 0, 8,128,247, 1,156,184,222, 18,130, 10, 45, 10, 10,138, 63, 27, 99,159,124,242, 73,247,206,226,251, 0,252,
-159, 15,145, 37,226, 82, 65, 65, 65,159, 59,239,188,243, 57, 52, 30,157, 40,118, 78,111, 14,228,154,205,230,161,238, 35,165,154,
- 9, 75, 74, 75, 75,151,208, 44, 64,113, 29,225, 24,128, 7,175,231, 4,160, 66,139,130,130,226,207,198, 57, 0, 79, 92,197,249,
- 90,120,158,103,139,130,130,130,226,111, 7,186,168, 52, 5, 5, 5, 5, 5, 5, 5, 5, 21, 90, 20, 20, 20, 20, 20, 20, 20, 20,
-255, 44, 48,240, 62,114, 32,187, 9, 60, 87, 50,162, 33,155,114, 82, 78,202, 73, 57, 41, 39,229,164,156,215, 29,167, 63,238,108,
- 80,180,168, 0,163,156,148,147,114, 82, 78,202,249,207,230,100, 28, 27,235,216,196,223,127,231,184, 51,127,227,184, 95, 47,156,
-215, 36,254,170,206,240,226,141, 16,208, 48,228,147,226,239, 7,215, 2, 66,232,125,162,160,160,104, 98,221, 33,113,121,216,218,
- 29, 27,254,134,117,137,171, 40, 16,174,242,185,212, 18,113,191,158, 57,175,121,161,117,163, 74,165,154, 44,147,201, 82, 24,134,
-177,235,116,186, 35, 38,147,105, 62,128, 93, 87,121,205,175,162,163,163,199, 86, 85, 85, 9, 44,203,130,101, 89, 48, 12, 3,150,
-101,193,243,188,161,182,182, 86,115, 37,164,145, 93, 70,188,202, 49,204, 11,118, 98,159, 95,126,116,213, 52,127,251, 41,124, 23,
- 24,169, 84,122, 95,120,120,120,104, 69, 69, 5, 97,217,134,174,124, 18,137, 68, 92, 8,215, 86, 91, 91,251, 77,160,100, 97, 97,
- 97,123,195,195,195, 67,197,243, 25,134, 65, 85, 85, 85, 77,121,121,249, 77, 0, 16, 20, 20,180, 67,165, 82, 69,112, 28, 7,137,
- 68, 2,137, 68, 2,189, 94, 95, 85, 85, 85,117, 11,189, 21,255, 76, 44, 95,190, 92, 50, 44,254,137,118, 28, 49,116, 99, 89, 18,
- 34, 8, 76,173,141, 81,252,190,254,194, 87,103, 2, 57,127,212,168, 81,118,154,138,127, 30,100, 50,217,236,232,232,232,127,215,
-215,215,235, 25,134, 33, 12,195,128, 97, 26,222,179,220, 63,237,118,123,113, 85, 85, 85, 79, 63, 15, 91, 94, 38,147,205,140,137,
-137, 25,163,215,235,245, 14, 62,143,188, 0, 96,181, 90,139, 43, 43, 43,123, 6, 84,215, 71, 70,206, 87, 40, 20,143,234,245,122,
- 29,195, 48,130,235,127,132, 16,215,135,249,217,202,202,202,126,254,132,129, 76, 38,251, 52, 58, 58,250, 95,142,184, 59,195,121,
-181,113,143,142,142, 30,163,211,233, 2,226,244, 17,247,203, 56, 91, 34,156,127, 83,206,107, 95,104,165,167,167,127,183,103,207,
-158, 14, 60,207, 3, 0,140, 70, 99,215,185,115,231, 62,246,198, 27,111,100, 1,152,120,133,215, 91,216,175, 95,191,135,114,114,
-114,216,149, 43, 87,178,189,122,245, 2,195, 48,176,219,237,176,219,237,232,210,165,139,226, 74, 35, 18,162, 82, 78, 56,184,241,
-191, 65, 55, 14,121,242,133,114, 96,154,191,253,190, 4, 38,128,183, 1,164, 52, 49, 8, 21,142,116, 57,232, 69,108,236,100, 89,
-182, 73,156,130, 32,228, 95,186,116,169,143, 15, 1,211,236,156, 14,145,117,127,191,126,253, 66,178,179,179,153,162,162, 34, 70,
-161, 80, 64, 16, 4,216,237,118, 88,173, 86,220,112,195, 13, 77,114, 66, 67, 67, 67, 53, 19, 38, 76,104,119,199, 29,119,224,135,
- 31,126,192, 99,143, 61,134,190,125,251,230,149,151,151, 3, 0, 84, 42, 85,196,241,227,199, 59,132,135,135, 67,175,215,163,182,
-182, 22,183,221,118, 27,170,170,170,254,209,133,235,230,244,132,247, 25,150,113,206, 21, 69,108,246,234, 61,191,151,188,125,181,
-188,225,225,225, 7,229,114,121,180, 95,181,236,242, 32, 51, 26,141,101,213,213,213,221,253,156,146, 4,224, 46,137, 68,210,158,
-227,184,142, 0,146,108, 54, 91, 52, 0, 72,165,210, 50,137, 68, 82,104,181, 90, 79,153,205,230,211, 0,126,129,143, 5,144,135,
-197, 63,209,142,177,233, 71,214,153,132,225,202,182, 89,169,250,179, 19,114,149,114,253,218, 97,241, 79,172, 8, 84,108,253,133,
- 72, 5,176, 12, 13, 11, 74, 63,141,134,121,128,174, 6,241, 0,238, 70,195,154,143,201, 22,139,165, 18,192, 1, 52,244, 67,201,
- 3,144, 24, 25, 25,185, 68, 16, 4, 83, 85, 85,213, 19,240,176, 80,117,239, 30,173,247,179, 44,155, 32,122, 2, 2,177, 23,239,
- 62, 80,220, 44, 15, 40,150,101, 63,205,204,204,252,215,138, 21, 43,148, 7, 14, 28, 80,118,238,220,217,249, 66, 36, 8, 2, 26,
-107, 23, 32, 57, 57,217,159,171,193,177, 44, 59,123,228,200,145, 15, 47, 94,188, 88,121,238,220, 57,101, 92, 92,156,147,211, 85,
-108,137,136,139,139, 11, 52,239,127, 53,116,232,208,209,139, 22, 45,226, 87,173, 90,165,104,213,170, 21, 34, 34, 34, 32,149, 74,
- 47, 59,246,150, 91,110, 17,252, 71,157,253,244,158,123,238, 25,253,253,247,223, 43,247,236,217,163,236,210,165, 11, 36, 18,201,
- 85,199,125,196,136, 17, 15,127,247,221,119,202, 35, 71,142, 40,219,183,111, 15,209, 84,112,231, 99, 89, 22,173, 91,183, 14,136,
-243,238,187,239,126,120,217,178,101,202,131, 7, 15, 42, 59,118,236,232, 76, 79, 66,200, 21,135,243,111,206,121, 93, 56, 90, 50,
-139,197,130,173, 91,183,130,101, 89,132,135,135, 99,236,216,177,216,184,113,227,132, 77,155, 54,173,190, 2,103,235, 43,135,200,
-226, 1,224,199, 71, 71, 32,159, 7,198,149,155, 33,149, 74,113,246,236, 89, 72, 36,146, 38, 91,139,114,185,124, 12, 33,100,146,
-254,194, 62,185,193, 96,133,177,100,191, 82,161, 80, 56, 31, 0,250, 18,199,254,139,251,149, 10,133,226,172, 68, 34,153, 90, 95,
- 95,191,208, 27, 95,251,246,237,191, 61,118,236, 88, 39, 79, 5,215, 23,244,122, 61,218,180,105,147, 88, 93, 93,221,222,211,255,
- 60,207, 39,156, 59,119, 46, 74, 38,147,129, 16,226, 44,196,238,159,226,119,139,197,130, 27,110,184,193,226,235,154,190, 56,109,
- 54, 27,130,130,130, 32,186, 81,102,179, 25,245,245,245,254, 56, 25,169, 84,122,159, 40,178, 0, 96,233,210,165,136,137,137, 65,
- 84, 84, 20, 84, 42, 21, 20, 10,133,147, 51, 80, 72, 36, 18, 12, 27, 54, 12,239,190,251, 46,178,178,178,240,218,107,175, 53,170,
-104,121,158, 71,120,120, 56,214,173, 91, 7,141, 70,131,196,196, 68,136, 2,255, 31,109, 11,178, 76,248,174,253,231,157, 14,237,
-237,183,118,226,110,238,206,125,238,120, 84,130,101, 1, 65,104,120,116, 50, 12,136,205, 42, 92,218,127,164,228,157, 0,210, 51,
-174,176,176, 48, 42,208, 52,178,217,108,136,139,139,147,248, 57,108,120, 90, 90,218,143,207, 62,251,172,180,125,251,246,140, 84,
- 42, 5,199,113,224, 56, 78, 20,232,137,132,144, 68, 65, 16, 6,150,149,149,145,185,115,231,126,184,101,203,150,123, 1,172,245,
- 88,177, 16, 67,183, 58,147, 48,124,219, 33,220, 52,114,200, 27, 88,183,124,194, 77,253,210, 5, 4, 43, 13,103, 0,252,157,133,
- 86,106, 90, 90,218,161, 61,123,246, 4, 89, 44, 22,244,238,221,123,119,110,110,110, 15, 92,217, 12,238, 97, 0, 62,153, 56,113,
-226,232,103,159,125, 86, 18, 26, 26, 10,153, 76,134,186,186, 58,156, 57,115,102,204, 55,223,124, 67,190,248,226,139,255, 3, 16,
- 92, 88, 88,152,177,119,239, 94, 12, 26, 52,232, 69, 0, 47, 95,174, 8, 36, 9, 59,246, 22, 68,137,191,239, 30,214, 85,154,209,
-147, 45,107,112,113,220,143, 38, 16,236, 66,241,222,195, 23, 2, 17, 98, 31,142, 24, 49,226,145, 21, 43, 86,168, 1, 96,222,188,
-121,184,239,190,251, 16, 30, 30, 14,165, 82, 9,169, 84, 10,158,231, 27,125,250,121,216, 74, 0,124,248,224,131, 15,142, 92,188,
-120,113, 48, 0, 44, 94,188, 24, 35, 70,140, 64, 68, 68, 4,130,131,131, 33,147,201, 32,145, 72,154,156,152,225,225,225, 95,245,
-189,233,166,199, 23, 45, 90, 4, 0,120,235,165,151,112,199,205, 55, 67,173, 84, 64,169,144, 65, 76, 11,153,132,199,237,227, 94,
-240,171, 47, 1,124,124,223,125,247, 61,240,253,247,223, 7, 3,192,129, 3, 7, 80, 94, 94,142,232,232,104, 40, 20, 10,200,100,
- 50,103,156, 25,134,129, 66,161, 8, 40,238,247,221,119,223,200,239,190,251, 46, 24, 0, 22, 46, 92,136, 97,195,134, 57,227, 46,
-151,203, 33,149, 74, 27,109,238,162,211, 19,231,189,247,222, 59,114,217,178,101,193, 0,240,205, 55,223, 96,200,144, 33, 8, 11,
- 11,115,166,167,200,213,148,123,244, 55,231,188, 62,132,214,161, 67,135,238, 87,169, 84, 51, 0, 68,202,100,178,208,135, 31,126,
-184,245,227,143, 63,142, 7, 31,124, 16,155, 54,109,122,170,137, 66,139,137,142,142, 30,155,147,147,227,124, 66,155,201,101,130,
-169,201, 15,112, 7, 38,237,127,234,169,152,172, 51,245,216,189,247, 20,130,192, 50,123, 63,254, 56,210,120,250, 52,236,102, 51,
-222, 59, 91,215,176,223, 70,152,173,175,140,139,185,113,246,255, 77, 2,176,208,135, 11, 32, 55,153, 76,200,203,203,107, 82, 32,
-138,138,138, 32, 8,130,201,151,187, 32,149, 74,113,244,232,209,203, 84,189, 39, 36, 38, 38,250, 42,128,126, 57,215,175, 95,143,
-241,227,199,227,212,169, 83, 16,151, 42, 9,128,147, 9, 15, 15, 15, 21, 69,150, 40,130, 20, 10, 5,120,158,103, 56,142, 99,196,
-166, 61, 71,225, 10, 72, 24,179, 44,139,111,191,253, 22, 31,124,240, 1, 94,127,253,117,204,159, 63, 31,221,186,117,251, 35, 19,
-114, 28,180, 90, 45,194,194,194, 16, 22, 22,214, 72, 32,254,147,225,126,155,103,206,154,163,132, 64, 26, 58,129, 16, 1, 16, 0,
- 2, 2,129, 8, 40,187,112, 6,147,223,253, 40,224,167, 15,207,243, 56,125,250,180, 51, 31,136,206,176, 40,140, 92, 93,131,164,
-164, 36,191,121, 73, 42,149, 78,249,249,231,159,101,223,126,251, 45,190,255,254,123, 48, 12, 3,185, 92, 14,149, 74,133,208,208,
- 80, 68, 68, 68, 56,183,132,132, 4,230,127, 61,184,254,121, 0, 0, 32, 0, 73, 68, 65, 84,255,251,159,180, 91,183,110, 83,180,
- 90,237, 90,207,247,156,132, 40,219,102,165,142, 28,242, 6, 0, 96,228, 27, 4,151,242,166,221,200,214,188,243,119, 94, 68, 54,
-181,107,215,174,219,119,238,220, 25,164,215,235, 33, 8, 2,214,174, 93,171, 28, 50,100,200,182,130,130,130,126, 77, 21, 91, 73,
- 73, 73,171,118,238,220,121, 75,100,100, 36,106,107,107,161,213,106, 97,181, 90, 33,145, 72,144,152,152,136, 15, 63,252,144,185,
-231,158,123,158, 31, 51,102,140, 81,161, 80,136,206, 70,146,231,188,212, 56, 51,205,253,236,243, 80, 66, 26,242, 15, 17, 72,163,
-207,234,242, 66,188,244,202,228,128,194,216,186,117,235,167,127,248,225, 7,181,171,179,228, 42, 2, 92, 69,150,184,249, 17, 6,
-108,155, 54,109, 30, 95,178,100,137,147,179, 85,171, 86,224, 56, 14, 60,207,131,227, 56,176, 44,139,109,219,182, 97,198,148,137,
- 8,139,140,195,156,207,230,249, 13,103,100,100,228,252, 97,195,134, 61,186,112,225, 31, 85,119,215,182,109,113,231, 45, 55, 35,
-170,149, 6,173,194,130, 27,210, 73, 96,240,251,169, 2,191,207, 35, 0,108,235,214,173,159, 88,190,124,185,218,245,133, 80,140,
-171,248,242, 44,186,248,102,179, 25, 61,123,246, 12, 40,238,174,156,162,219, 38,138, 54, 49, 61,197,235,136,229,213, 79, 56, 31,
- 23,133,176, 67,112, 54,226,224,121, 30,203,215, 45,242,234,102, 95, 41,103, 83,239,187, 59,103, 97, 97, 33,166, 79,159, 14,241,
-165,205,181,171, 80,124,124, 60,230,204,153,227,183, 94,114, 43, 3,189, 0, 68,186,236, 50, 3,144,185,124, 86, 48, 12,179,207,
-195,113,226,126,222,209, 98, 21,137,134,126, 99,117, 0, 66, 61,240,121,227,169,116, 60,243, 34,221,142,111,116, 29,175, 66,107,
-245,234,213, 98, 41, 30,152,153,153,185,213,241,189, 70, 46,151, 23, 41,149,202, 24, 0,117,107,215,174,197,127,254,243, 31, 56,
-172,213,187, 67, 66, 66,142,121,112,117, 14,153, 76,166, 55, 0,148, 57,118,137, 67, 52,217,234,234,106, 97,227,198,141,236,226,
-123,135,194, 76,128,244, 73, 51, 48, 44, 51, 19,235,227,101,144, 0,184,233,100, 37,148, 74, 37,167,213,106,173,174,253,182, 60,
-244,221,202,118,203, 80,146, 32,142, 67,239,237,107, 48,126,251, 26,220,164,146,161,106,197, 50,212,237,200, 1,203, 50,232,175,
-106,133,215, 30,217,136, 62, 26, 57,100, 38, 29, 88,150,245,148,179,157,156,121,121,121,163, 52, 26,205, 12,183, 4, 14, 4,249,
-104, 88,199, 9, 94,194, 9, 66, 8,186,117,235, 6,134, 97,156,110,129,184,137,133, 78,220, 14, 30,244,216, 2,233,149,211,209,
- 4, 7,149, 74,133,223,126,251,205,121,204,224,193,131, 97, 52, 26, 17, 30, 30, 30, 16,103, 69, 69, 5, 41, 41, 41, 97, 22, 47,
- 94, 12,158,231, 17, 17, 17, 1,165, 82,201, 44, 90,180,104,162, 84, 42, 77, 48, 26,141,130,217,108,134, 76, 38,155, 35,222, 31,
-142,227,116, 90,173, 54,194, 27,167, 68, 34,193,179,207, 62,139, 87, 95,125, 21,243,231,207,199, 83, 79, 61,117,153,227,101, 52,
- 26,209,170, 85, 43,167,216,242, 80, 0, 91, 98,184,111,203,114, 10, 4,199, 14,174,199,241, 35,217, 16,236, 2,236, 2, 1, 33,
-118, 8, 54,224,192,198,221, 29, 46,230,151,196, 19,144,134,174,183, 0,228,181,245,182, 1, 17,178,142, 0, 86,110,173, 50,207,
-246, 23, 78,142,227, 96, 52, 26,241,243,207, 63,227,228,201,147, 88,187,118, 45, 12, 6, 3, 90,181,106,133,208,208, 80,220,124,
-243,205, 24, 51,102, 12,146,146,146,252,198,157, 16,178,176,168,168, 40,189,111,223,190, 76, 77, 77, 13,106,106,106, 96, 48, 24,
- 96,183,219, 97,179,217,192,113, 28,130,130,130,160, 80, 40, 16, 29, 29, 13,163,209, 72, 76, 38,211, 66,111,156,130,192,212,234,
-207, 78,200, 93,183,124,194, 77, 35,223, 32, 88,241, 1,131,118,109,228,250,223,246, 7, 63,190,114,251,107,183, 1, 32, 2,113,
- 90, 11,196,106, 23, 42, 95,157,248,201,243,127,250, 61,186, 92,100, 69, 24, 12, 6,212,213,213, 53,216,250, 50, 25, 86,172, 88,
-209,234,174,187,238,202, 41, 41, 41,233,239, 67,108, 93,198, 25, 28, 28,156, 40,145, 72,112,244,232, 81,124,241,197, 23,248,237,
-183,223, 80, 86, 86,118, 41, 46, 46, 46,100,224,192,129,236, 75, 47,189,132,244,244,116,124,253,245,215, 65,254, 56, 9, 33, 40,
-204,219,134,194,211,219, 33, 8, 13,174,117,195,230,249, 59, 9, 48,238, 58,157,206,120,232,208, 33,245,151, 95,126,137,168,168,
- 40, 36, 39, 39, 67,169, 84, 34, 40, 40,168,209, 67,214,245,193,235,175,108, 26, 12, 6, 99, 97, 97,161,250,187,239,190, 67, 68,
- 68, 4,146,146,146,160, 84, 42, 33,147,201,192,113, 28, 24,134,193,226,197,139,177,244,221, 71, 80,120,234, 8, 70,220,121,155,
-223,112, 42,149,202, 71, 23, 46, 92,216,200, 2,137, 14, 11, 3,199,179,144,240, 12,194, 6,223, 11, 0,184,180,233, 39, 95,179,
- 67,186,114, 50,117,117,117,198, 61,123,246,168,247,239,223, 15, 65, 16,144,148,148, 4,189, 94, 15,141, 70,227,140,255,198,141,
- 27,113,207, 61,247,224,219,111,191, 69, 70, 70,134,223,184,215,215,215, 27,143, 28, 57,162, 94,178,100, 9,194,195,195,209,186,
-117,107,103,220,197,141,231,121, 72, 36, 18,164,164,164,160,182,182, 22,106,181,218,239, 61, 58,112,224,128,122,201,146, 37, 8,
- 11, 11, 67, 66, 66,130,211,113, 19,197,209, 7,159,191,219,136, 32,136,137,189,106,206,166,222,119,119,206, 17, 35, 70,160, 93,
-187,118,208,104, 52, 80,169, 84, 78,110, 95,156, 94,180,136, 83,111, 51, 12,179,218,165, 76,100, 50, 12,179,218,245,211,219,113,
-142,175,253, 39, 78,156,216, 51, 43, 43,107,122, 70, 70,198,119, 59,119,238, 92,234,141,207, 27,207,196,137, 19,211,178,178,178,
-166,187, 30,239,225, 58,222, 29,173,204,204, 76,198, 17, 73, 6, 64,114,143, 30, 61,246,109,218,180, 41, 60, 56, 56,216,121,240,
-249,243,231, 81, 83, 83,131,224,224, 96,205,204,153, 51, 53, 3, 7, 14, 68,116,116,180,243, 13, 32, 47, 47,239,134,212,212, 84,
- 45, 0,119,223, 86, 96, 89, 22,125,250,244,193, 49, 71,107,199,176,204, 76, 36, 36, 36, 56, 59,121, 4, 5, 5,225,249,231,159,
-103,198,143, 31,207,137,110, 6, 33, 4, 6,131, 1,177,177,177, 10, 95,174, 14, 0,164, 25, 42,241,211,192,254, 96, 25, 64,127,
-112, 47,164, 50, 6,172,132, 65,119, 82,133, 95, 7,245, 7, 3,192,124,120, 23, 2,112, 97, 14, 2,184,173,101, 28, 14,130, 51,
-103,206, 4,228,104, 57,226,197, 92, 41,167,232,104,236,220,185, 19,118,187, 61, 80, 78,194,178, 44, 84, 42, 21, 98, 98, 98,160,
- 80, 40,160, 84, 42,153,239,190,251,238,237,228,228,228,216,241,227,199,179, 90,173,150,237,211,167, 15,238,187,239, 62, 78,108,
-226, 76, 75, 75,243, 27,151,173, 91,183,226,139, 47,190,192, 83, 79, 61,229,209,209, 98, 24, 6,145,145,145,208,104, 52,184, 86,
- 32, 0,176,216,172,208,215, 27,156, 77,186,118,187, 29, 71,182, 28,238,144,127, 56, 47,109,245,119,223,242, 0, 96,220,242,147,
-235,105,177,247,125,190, 44,117, 64, 24,191,103,235, 37,235, 30, 95,121,158,227, 56,140, 29, 59, 22, 89, 89, 89,120,244,209, 71,
-177,118,237, 90,188,243,206, 59,248,247,191,255,125,153,171,229,239,205,209,106,181,254,247,177,199, 30,123,106,197,138, 21, 29,
-223,120,227, 13, 86,116,180,148, 74, 37, 24,134,129,209,104,132,201,100,130,193, 96,192,169, 83,167,132, 39,159,124, 50,215,108,
- 54,255,215,107,115, 37,163,248, 93, 41,215,175,109,155,192,182,211, 21,124, 20,220,247,230, 36, 3,163,232, 81,123,111,234, 16,
- 50,124,108, 82, 24, 8, 1, 17, 0,129, 0, 38,147, 14,207, 63,255,162,228, 47,188, 85, 78,145,101, 52, 26,113,232,208, 33, 12,
- 26, 52, 8, 69, 69, 69, 56,113,226, 4, 58,116,232,128, 69,139, 22, 69, 62,252,240,195, 57,229,229,229,253, 3,117,182,142, 28,
- 57, 50,241,198, 27,111,252,180,190,190,190,186,190,190,254, 83, 0, 75, 1,212,156, 57,115,166,243,153, 51,103,230,174, 95,191,
-190,223,228,201,147, 37,110,125,116, 36,222,236, 81,171,213, 6,131,193,228, 83, 96,137,191, 9, 17, 2,138, 56,195, 48,164, 99,
-199,142,184,235,174,187,192,243, 60,148, 74, 37,212,106,117,163,102, 51,119,193,229,171,254, 0, 32, 48, 12,131,184,184, 56, 12,
- 31, 62, 28, 82,169,180, 17,167,152, 15,135, 15, 31,142, 23,222,155,132,255,190,112, 43,190,120,172, 3,134,188, 95,230, 51,156,
-122,189,190,126,243,230,205,138, 87,159,122, 10, 55,182,111,143, 86, 26, 13,218, 68, 71, 66, 33,151, 65,234, 26, 38, 38, 32,147,
-157, 0, 16, 36, 18, 9,186,116,233,130,178,178, 50, 20, 20, 20,160,160,160, 0, 44,203,162,111,223,190, 78, 23,230,244,233,211,
-120,239,189,247, 96, 50,153, 2,142,123,251,246,237,113,235,173,183, 66, 38,147, 65,169, 84, 54,106, 50, 20,211,180,174,174, 14,
-237,218,181,195,202,149, 43,145,154,154,234,151,179, 83,167, 78, 24, 48, 96, 64,163,244, 84, 40, 20, 78, 81, 4, 0, 69,123,234,
-157,215,136,143,143,111, 18,231,134,189,231,241,229,198,205, 48,153, 5,104,245,214, 70, 39,196,182,210, 96,251,146, 55, 2,138,
-187,200,185, 96,193, 2,212,212,212, 56,141, 3,241,165, 92, 52, 81, 90,183,110,141,121,243, 60, 59,153,110, 90,196,211, 51, 47,
- 51,192,231,173,120,156,152,185,228, 89, 89, 89,211,221,207,247,199,231,250,191,219,249,102, 55,113, 86,214,164,166, 67,185, 92,
-254,230,230,205,155,195,107,107,107,113,250,244,105,176, 44,235,108, 83,231, 56, 14, 22,139, 5,103,207,158, 69,120,120, 56,202,
-203,203, 33,151,203, 33,145, 72, 96, 54,155, 1,160,187,183, 7, 56, 33, 4, 47, 84, 52,116, 17, 90, 23, 39, 69, 33,128, 59, 43,
- 26, 10,134,216, 33,254,135, 31,126,128, 90,173, 70,112,112,176,243,211, 95, 51,210,145,130, 51, 40,227, 25,176,187,182,129, 97,
- 1,150, 1, 24, 9,192,178, 4, 44,195,128,221,149, 3,134, 1, 84, 17, 97, 77,173,128,253,117,140,247,217, 1,222,155,251,228,
-201,197,114,255,190,101,203, 22, 4,202,217,174, 93, 59,168,213,106,231,182,126,253,250, 70,142,150,221,110, 71, 68, 68, 68, 32,
-156,164,193,141, 16, 16, 21, 21, 5,158,231,153, 69,139, 22, 77, 76,249,127,246,174, 59, 60,138,106,125,191, 51,219,119,147,108,
- 54, 61, 33, 33,148, 0, 82, 34, 77,225,194,165,151, 0, 66,104, 34, 69, 46, 4, 17, 81,138,168, 40, 17,129, 31, 42, 32,161, 73,
-147, 42,200, 37, 32, 72,151, 46, 69,164,131, 5, 20, 36,129, 64, 8, 9,164,111,234,246, 50,237,247, 71,118,227,102,179, 73, 54,
- 33,194, 5,231,125,158,121,118,167,189,115,206,156, 51,103,222,243,157,239,124,211,176, 97,200,244,233,211, 73,129, 64,128,235,
-215,175, 35, 33, 33, 1,245,235,215,119,219,103,171,168,168, 40,235,147, 79, 62, 97, 62,249,164,100, 14, 69,100,100, 36,138,138,
-138,114,237,251, 53, 26, 77,126,159, 62,125,202,248,109,228,229,229, 61,219,158,240,182,251, 72, 91,105, 24, 76, 38,232,180,134,
- 82,235, 80,110,102,142,234,227, 15, 63, 16, 45,155,250, 6, 0,224,195,149,107,160,221,248, 87, 67,118,224,195, 81,129, 67,191,
-220, 53, 19,192,224,202,248,117, 58, 29, 76, 38, 19, 34, 34, 34,112,249,242,101,104,181, 90,244,235,215, 15, 4, 65,148,206, 16,
-173, 6, 44, 25, 25, 25,157,162,163,163,127, 93,177, 98, 69, 68,243,230,205, 9,189, 94, 15,131,193, 0,199,223,155, 55,111,114,
- 59,119,238, 76, 49, 24, 12,255,182,153,206, 93,226, 68,198, 55,201,125, 67,223,220,251,227,117, 65,116, 96,163, 36,101, 70, 97,
- 4,157,159, 33,213,107,140,119, 76, 12,151, 0,142, 1, 24,176,224,104, 22,140,109,216,235,105, 65, 46,151,127,117,241,226, 69,
- 63,147,201,132,107,215,174, 97,204,152, 49,150,188,188, 60, 9, 0,252,231, 63,255,177,108,223,190, 93,210,168, 81, 35,108,219,
-182, 45,224,213, 87, 95,221,163,215,235, 95,116,147,250,219,172,172,172,111,157, 55,250,249,249,173,126,248,240, 97,119, 71,159,
- 31,154,166, 75,147,227,242,193,100, 1,138,162, 96, 52,154, 81, 92,172,133,197, 74,217,218, 76, 22, 12, 67,219,126, 89,208,182,
-118, 84, 34, 22,122,181,125, 49, 88,199,113, 28, 72,130, 40,186,246,103,118,221,202, 68,187,171, 33, 46, 55,173, 89,206, 96,236,
-179,204,252,252,252, 32, 18,137,240,237,183,223,226,198,165, 19,144, 8, 56, 48, 52, 5,154,178,130,161, 44, 16, 9, 4,248,241,
-250, 3, 68, 53,243,114, 75, 16,250,251,251, 99, 64,199,142,136,238,216,177,100,122,155, 80, 8, 79,169, 20, 10,177,172,196,146,
- 5,128, 99, 72,119,131, 8,176,246,116, 6, 5, 5,225,183,223,126,195,180,105,211,176,120,241, 98,200,229,242,210,217,207,183,
-111,223,198,238,221,187, 17, 21, 21, 85,237,188,219, 45,120, 51,103,206, 68,102,102, 38, 86,174, 92,137,151, 94,122, 9, 34,145,
- 8, 69, 69, 69,248,247,191,255,141,156,156, 28,183, 56, 29,135,247, 36, 18, 73, 25,235,147, 93, 0, 86,183,140, 28, 57,223, 24,
- 18,130, 67,151,118,130, 0,129,171, 59, 62, 40, 35, 10,215,239,186, 80,109,206,185,115,231,150, 73,167, 59,214, 44,119,225,100,
-117,170,242, 56,130, 32,174,217,141,173, 51,103,206,156, 69, 16,196,145,153, 51,103,206,138,139,139,187,229, 14,159,171,253, 4,
- 65, 28,181,137,176, 1, 14,219,174, 85, 75,104, 41, 20,138,246,158,158,158,184,119,239, 30,250,245,235,103,201,207,207, 79, 18,
-137, 68, 77,242,242,242,164,185,185,185, 48, 24, 12,186,249,243,231, 63, 0, 32,239,208,161, 67,163, 31,127,252, 17,143, 30, 61,
-194,246,237,219, 1,224,128,107,159, 13, 18, 44,203,150, 86, 10,231,110,155, 64, 32,192,149, 43, 87,112,229, 74, 89,215,175,205,
-155, 55, 87,249,194,120,245,251,195,184,126,253, 58, 28,195, 3,216,255, 59,110,147,201,100, 64,229, 51, 60,202,160, 42,199,248,
-170, 28,224, 93,193, 93,223, 47, 87, 51,115, 42, 66, 70, 70, 70,133,231, 95,185,114,165,140, 69,171, 42, 78,129, 64, 0,134, 97,
- 32,151,203, 9,177, 88, 76,136,197,226, 48,187,200, 18, 8, 4,165, 15,140, 84, 42,133, 84, 42, 45,211, 75,173, 8,153,153,153,
- 61, 50, 51, 51, 43,220,175, 86,171, 59,169,213,106, 60,143,176, 82, 20,140, 6, 11,180, 58, 35, 62,143,251,111,201,198,207,241,
- 51,128,159, 59,189, 51, 13,147,251, 70,245,172,238, 48,181,253,126, 7, 6, 6,226,220,185,115, 32, 8, 2,123,246,236,129,183,
-183, 55,250,246,237, 11,165, 82,137,153, 51,103, 98,248,240,225,213,109,204,138,243,243,243, 59,189,255,254,251,191, 46, 93,186,
- 52,188,110,221,186,176, 88, 44,176, 90,173,176, 88, 44, 72, 78, 78,198,206,157, 59, 31, 25, 12,134, 78, 0,138,171, 34, 59,145,
-241, 77,242,254,243, 31,102,246, 30,249,170,241,118,206, 15,200,206,206, 7, 77,103,128,101,104, 88,105,166,196,194, 71,211,160,
-105, 6, 98,177, 64,185,244,139, 15, 78,177,224, 64,146,132, 5,192, 43, 79,170,140, 84, 42, 85,164, 90,173,198,221,187,119, 17,
- 19, 19,147,157,159,159,159, 8,160, 23, 0,228,231,231, 95, 28, 51,102, 76,243,248,248,248,224, 6, 13, 26,192,211,211, 83,169,
-215,235,171,162,244, 4, 48, 25, 64, 31,148,248,129,216, 81, 0, 96, 62, 73,146,210,107,215,174,149,155,105,119,254,252,121, 0,
-248,217,117, 15,200,102,209, 50,153,160,206, 47,196,132,119,230,252,213, 51, 2, 87, 70, 92,112,224, 48,233, 93,200, 0, 32, 47,
- 39, 25,111, 76,152, 38,173,170, 67,224,234, 69, 88, 13, 31,157, 50, 29, 53,123, 29,245,244,244, 44, 25,126, 59,184, 19, 71,191,
-124, 7, 96,172,224, 40, 35, 96, 53, 0, 86, 29, 88,139, 1,132, 88, 14, 80, 70,183,132,150,167,167, 39, 60,229,114, 4,170, 84,
-224, 56, 14, 66,129, 0, 34,145, 16, 44, 5, 16, 12, 81, 42, 72, 89,247, 2,131,148,118, 42,229,114, 57, 82, 83, 83, 49,121,242,
-100, 88,173, 86, 12, 25, 50, 4, 22,139, 5, 38,147, 9, 70,163, 17, 13, 27, 54,132,193, 96,112,139,207, 62, 91,209,211,211, 19,
- 98,177, 24, 31,124,240, 1, 94,126,249,101,204,155, 55, 15,177,177,177,104,216,176, 33, 38, 77,154,132,157, 59,119, 34, 50, 50,
-178, 42, 94,206,177,140,236,247,211, 46,182, 28,135,248, 0, 84,187,140,156, 57, 9,130, 44, 35,216,236,203,123, 99,123, 85,155,
-115,209,162, 69, 80,171,213,229, 44, 89,246,255,161,161,161, 88,183,110, 93, 77, 71,134,236,214,163, 32, 23,251, 6, 56, 91,162,
- 56,142,107,103,243,157, 50,199,197,197,221,138,139,139,139, 38, 8,226, 72, 92, 92, 92,116, 69, 22, 45, 87, 60, 46,246,187,253,
-210, 18, 58,141,141,118,119,220,105,191,209,190,190,190,130,240,240,112, 82,169, 84,162,168,168, 8, 1, 1, 1,156, 90,173, 30,
-169, 80, 40, 62,251,238,187,239, 26,233,116, 58,220,190,125, 27,171, 87,175,254, 25,192,170,202,132,214,177, 0,155,233,216,102,
-201,114, 92, 31, 56,112, 32, 26, 52,104, 80,198,154, 37,151,203, 43,173, 60,246,125,118,139,144, 64, 32,192, 11, 47,188, 32, 79,
- 73, 73, 49,138,197, 98,132,133,133,201,179,179,179,141, 98,177,184,218, 51, 93,170,114,140,175,202, 1,222,149,240,105,215,174,
- 93, 25, 11,150,227,175,227,255, 67,135, 14, 85, 57,116,104,231,108,222,188,121,233,253,242,242,242,178,159, 11, 0,232,215,175,
- 31, 88,150,133,191,191,191, 91,156,118, 81,107,115,128,135,201,100, 98,181, 90, 45,121,237,218, 53, 72, 36, 18,120,121,121,149,
-250,234,200,100,178, 82,107, 38, 15, 87, 13, 2, 11, 11, 69,193,104, 52, 66,167,211, 1, 0,146,255,220, 87, 86,136,153, 53, 53,
-230,183, 55,176, 5, 5, 5, 56,113,226, 4,126,248,225, 7,188,252,242,203, 46, 69,117, 53, 4,151,186,160,160,160,243,140, 25,
- 51,174, 46, 88,176,160,142,175,175, 47,172, 86, 43, 30, 62,124,136, 45, 91,182,100, 26, 12,134,206,213,105, 96,192, 1, 20, 69,
-195,100, 48,163, 88,163,197,103, 95,108,173,176,234, 1, 64, 65,238, 29, 12, 28, 52, 92,242, 36,203, 41, 51, 51,115,122,231,206,
-157,191,208,106,181, 69, 6,131, 97, 56,128,101,142,253,169,252,252,252, 46,131, 6, 13, 90,225,235,235,251, 82,110,110,238, 44,
- 55, 40,103,166,166,166,206,170, 87,175, 94,153,141,102,179, 25,245,234,213,123, 33, 55, 55,119,116,215,174, 93,255, 15,128,175,
-195,110, 47, 0, 39, 1,172,171,168, 46,217,135, 14,117, 58, 35,148,170, 16,100, 60, 56, 87,101, 66,196, 2, 19, 56,150,173,180,
- 13,177,119,128, 43, 90,170,152, 25, 87, 46,169,246, 99,237, 47,236, 87,134,141,197, 43,147, 23, 65, 33, 2, 22,190,209, 9, 13,
- 85, 0,228,190, 16,119,253, 24,132,202,118,143, 38, 31,118,139, 60,118,195, 6, 92,183,181,199, 97, 1, 1,152, 49,114, 36, 56,
- 10,184,156,144,128, 93, 63,253,132,145, 61,122, 64, 33,147,185,221, 97, 97, 89, 22, 98,177, 24,201,201,201,184,124,249, 50,154,
- 53,107,134,123,247,238,149, 9, 67,193,113,156,187,249, 47,205,187, 84, 42,133, 72, 36, 66,118,118, 54,162,163,163, 33, 22,139,
-177,117,235, 86,156, 59,119, 14, 51,102,204,192,248,241,227,209,189,123,119, 36, 38, 38,186,197,201,113, 92,185,217,138,206,195,
-185,213, 45, 35,103, 78,231,247,126, 77,202,221,206,185, 96,193, 2,151, 19, 42,220,225,116,165, 69, 92,148,221, 53, 71, 49,100,
-183, 60, 57, 10, 35,231,117, 0, 62,246,109, 51,103,206,156,229,238,121,142,235,118,139, 88,117,134, 48, 75,133, 86,116,116,116,
-153,156, 23, 20, 20, 92,189,122,245,106, 11, 15, 15, 15,220,185,115, 71,162, 84, 42, 91,216, 27,116,146, 36,177,103,207, 30,175,
-254,253,251,159, 90,182,108, 89, 24,203,178,200,201,201,193, 71, 31,125,164,163,105,122, 20, 0,186,162, 23,120, 85,150,169,195,
-135,203, 63,108, 7, 15, 30,116,107, 8,196, 46,164,132, 66, 33,124,124,124,140, 70,163, 17, 10,133, 2, 62, 62, 62, 70,131,193,
- 0, 15, 15, 15,251, 88, 49,137,191,102, 42, 84,101,125,170,202, 49,222,217, 1,190, 74, 36, 36, 36,184,117,156,109,168,213,173,
- 90,158,154,154, 90, 97, 67,114,238,220, 57,176,182,134,214, 93, 78, 91, 47,143,179, 11, 63,133, 66, 1, 95, 95, 95, 72,165, 82,
-200,229,242, 50, 34, 75, 42,149, 86,249,224, 84, 21,144, 84, 38,147,253,226,225,225,161,178,239, 23,137, 68,208,106,181, 69, 5,
- 5, 5,237,159,233,161, 67,112,160,173, 52,140, 70, 19,116, 90, 99,173,243, 91, 44, 22, 72,165, 82,236,220,185, 19,157, 58,117,
- 66,135, 14, 29,202,137,172, 26,154,231,211, 11, 10, 10,186,175, 90,181,234,231,229,203,151,251,232,116, 58,252,247,191,255, 45,
-214,233,116,221, 1,164, 87, 75,108,178, 28, 40,171, 21, 6,147, 25,122, 93,201, 61,184,127,107,223,255, 90, 81,237,204,206,206,
-222, 89,201,254,251, 52, 77, 71,219,227,190,185,129,127,213,171, 87, 15,217,217,217,101, 54,166,165,165,129, 97, 24, 51, 74,226,
-100,189,233,104, 72,198, 95,209,179, 43,234,197,151, 88, 71,141,102,232,116, 37, 86, 16,147, 62,175,118,234,169, 77,108, 84,228,
-147, 85,147, 58, 68, 16, 68,169,211,247,212,169, 83,113,243,198, 13,244,170,163, 65,195, 96, 47,112,154, 12,136,123,126,138, 63,
-212,114, 44, 91,113,172,218,220,187, 29, 92, 32,150,237,222,237,114,223,253,193,131,171,149,247,164,164, 36,200,229,114, 48, 12,
- 83,238,125, 83,221,252, 59, 10,152, 21, 43, 86, 96,198,140, 25,216,186,117, 43,110,222,188,137,214,173, 91,163,119,239,222,200,
-205,205,197,141, 27, 55, 96, 54,155,221, 78,167,163,223, 92, 82, 74, 2, 78, 95, 62,142,180,244, 7,200,204,126, 84,227,114,119,
-228,116, 22, 90,251, 79,255,142, 97, 81,109,107,196,249,217,103,159, 33, 55, 55,183,140, 37,203,177, 93,170,200,162,229,172, 69,
-156,144,231,228, 11,101, 95,183, 56,137, 30,231,117,231,227, 1, 32, 23,128,160,138,243,156,215,243,226,226,226,206,218, 45, 97,
- 54, 94, 65, 85,254, 89,101, 44, 90, 78, 88, 52,120,240,224, 65,171, 87,175, 14,144,201,100,165, 51,144,102,206,156,137, 25, 51,
-102, 32, 34, 34, 2,254,254,254,161, 42,149, 10,249,249,249, 88,188,120, 49, 82, 83, 83, 39,194, 69,160, 61,103,161,213, 37, 69,
- 11,137,228,175, 14,171,221,178, 5, 0,227,199,143, 47,103,209,178, 23, 80,101,160, 40, 10,126,126,126, 48, 24, 12, 16, 8, 4,
- 24, 50,100,136,224,207, 63,255,100,250,246,237,139,161, 67,135, 10,110,220,184,193, 12, 24, 48, 0, 2,129, 0, 61,123,246,212,
-236,223,191,255, 67, 0, 95,186, 33,182,106,205, 49,222, 94,201,220,141,125,228,142,184,172,140,147, 32, 8, 24, 12, 6, 8,133,
-194, 82, 71,121,119, 56,237, 67,135,142, 15, 32, 73,146, 80,169, 84,165,141,135,221,162,101, 23, 90, 85,241, 86, 21,144, 84,161,
- 80, 40,239,220,185,211,200, 62,241, 34, 47, 47, 15, 61,123,246,188, 91, 80, 80,240,108,155,180, 88,192, 74, 51,208, 25, 77,208,
- 25, 13,181, 70,107,127, 30, 54,110,220,136,196,196, 68,152, 76, 38,124,245,213, 87,165,147, 10, 28, 69,214, 99, 8,174,100,185,
- 92,206,246,235,215, 15, 87,175, 94,133, 84, 42,165, 80,131,248, 87, 44,199,194, 74,211, 48, 25,141,208, 85, 61,228,246,188,160,
- 84, 85, 39, 38, 38,194, 98,177, 96,222,188,121,204,175,191,254,122, 22, 37, 1, 80,237, 22,188,209,221,186,117,155,239,225,225,
-161, 58,122,244,232,123, 0,182, 86,246,242,166,104,155,104,175,197,251,232, 56, 34,224,202, 39,171, 38, 97, 86, 28, 95,172, 44,
-203, 98,226, 91,111,161,119, 29, 13,134,190, 20, 0,125,214, 93, 40,188, 3, 64,168,234, 99,217,138, 99,184,149,226,182, 43, 38,
- 7, 0,253,186, 13, 70,171,102,229,195,131,117,238, 85,210, 39,187,248,227, 47,200,201,203,172,118,222,245,122,125,133,150,171,
-106, 88,180, 74,159, 57,251,253,107,211,166, 13,154, 52,105,130,179,103,207,162,109,219,182,184,119,239, 30,238,221,187,135,212,
-212, 84,220,188,121, 19,133,133,133,213, 46,163,239, 79,238, 66,161,182, 0, 18,177, 4, 5, 69,121, 72,203,120,128, 32,191,224,
-199, 46,119, 59,154, 14,248, 12, 0, 80, 39,192,187, 90, 66,203,145,115,201,146, 37,229,196,251,227,134,236, 33, 8,226,151,202,
-214,171,123,254,147, 68, 69, 66,235,129, 90,173,238, 48,114,228,200,153, 0,218,217,182, 21, 3,216,125,234,212,169,193,129,129,
-129, 61, 58,118,236, 40,148, 72, 36,184,124,249, 50,246,239,223,191, 21,192,174,202, 46, 36,145, 72,140,245,235,215,151,219, 43,
-162,253, 65, 84, 42,149,130,197,139, 23, 19,155, 55,111,174,208,202, 85, 85, 1, 21, 23, 23, 67,175,215,195,219,219, 27, 86,171,
- 21,253,250,245, 99, 18, 19, 19, 33, 22,139, 49,104,208, 32, 38, 33, 33,161,180,160, 55,109,218, 20,102, 52, 26,255,253,195, 15,
- 63,244, 1,208,181, 26,247,202,238, 24,239, 9, 55, 29,224, 43,234,229,185, 3,119,135,227, 42,226,156, 54,109, 90,141, 56,197,
- 98, 49,109,143,252, 78,146, 36,172, 86, 43,218,182,109,139,220,220,220,210,135,198,195,195,163, 84,100,185, 35,180,170, 10, 72,
- 42, 20, 10, 97,177, 88,208,181,107, 87, 16, 4,129, 53,107,214, 60, 31,195,145, 44, 75,120,122,250,161, 78,157, 23, 16, 16,104,
- 2,203,214,238, 87,101, 98, 99, 99,203,136, 41, 87,145,151,237,247,191, 38,176,115,185, 51, 75,182,178,183,163,125,200, 75,175,
- 55, 61,115, 69, 24, 24, 24,216, 33, 55, 55,247,160,211,230, 2, 0,243, 43,233, 88,150, 22,244,163, 71,143,208,183,111, 95, 28,
- 63,126, 92,112,224,192,129, 94,135, 14, 29, 74,184,123,247,238,163,182,109,219,214,125,251,237,183,165, 93,187,118, 69, 94, 94,
- 30, 94,122,233,165,207, 51, 50, 50, 42, 17, 90,182,251,104, 50, 67,175,175,125,235,168, 43,107,214,227,188, 24,237,117,114,238,
-220,255, 67,239,144, 34, 12,105,237,141,248, 35,151, 48,186,141, 28,176, 72,171,205,103, 79,139,111,157, 6,168, 31,217,161,220,
-126,169,178, 36,150,107,253,200, 14, 32, 31,221,171,118,222, 29,211,236, 44,170,106, 98,209,115,188,159, 19, 38, 76,192,199, 31,
-127,140, 62,125,250,224,222,189,123, 56,127,254, 60,238,221,187,135,105,211,166, 33, 50, 50, 18,173, 91,183,174, 22,231,161,211,
-123,161,209, 21,131, 36, 72, 20, 20,231,195,100, 54, 34,118,210,220,199, 46,247,210,151,255,233, 56, 0,192,190, 83,215,107,204,
- 57,123,246,108,100,103,103,151,177,100, 61,142, 95,214,179,142,202,162,165, 61, 0, 48,209,121,163,197, 98,241,154, 55,111, 94,
-148,191,191, 63, 8,130,192,138, 21, 43,224,235,235,219, 9,192, 45,139,197,146,167,215,235,103, 56,136,144,222,176,197,218,200,
-201,201,113, 57,111, 95,175,215, 91,163,162,162, 68, 33, 33, 33,101,102, 27,122,120,120, 84,100,221, 41,229,180,239,163,105, 26,
-177,177,177, 88,184,112, 33,194,195,195, 49, 96,192, 0, 68, 71, 71,131, 32, 8,244,235,215, 15, 3, 6,252, 53,148,171, 82,169,
-196,199,143, 31,239, 70,146,100,130,195, 11,164, 12,167, 43,216, 29,227, 41,138,114,215, 1,190, 12,167,189,178, 77,155, 54, 13,
- 11, 23, 46,196,172, 89,149,187,122,108,216,176, 1, 40,239, 79,245,183,115, 22, 20, 20,148,105,236, 21, 10,197,154,161, 67,135,
- 10, 31, 61,122, 84, 70, 92, 57, 46, 46, 26,162, 50,156, 85, 5, 36, 21, 8, 4, 8, 10, 10,194,130, 5, 11,224,231,231,135,224,
-224, 96, 87,129,252,170, 44,163, 26,224,111,229,100, 56,246,218,210, 69,255,215,249,191,219, 15,137,164, 18,224,202,249,125,208,
- 20,150, 29, 78, 50, 91,255,154, 74, 45,105,219, 11,150,235, 63,186, 85,151,236, 98,250,179,207, 62,195,103,159,125, 86,105,130,
- 54,110,220,248,216,121,119, 83,108,149,231,100, 57, 66,225,225, 3,153, 71, 29,180,136,244, 1,203,209,255, 83,101, 84, 1,126,
-253,229,151, 95, 6,249,249,249, 33, 61, 61, 61, 64, 36, 18, 13, 42, 99,174, 50, 26, 81,191,126,253, 23,212,106,245,191,171,226,
-156, 54,109,154,121,206,156, 57,210, 81,163, 70, 97,232,208,161, 24, 53,106,148, 84, 44, 22, 55,230, 56, 14, 86,171, 21,233,233,
-233,248,241,199, 31,161, 86,171,111, 87,150, 78,150,227, 8,185, 66, 5,153, 71, 8, 90,188,168, 2,203,210,181,146,119, 71,171,
-184,163, 53,171,154, 34,203,101,253, 4,128, 95,127, 60,136,185, 31,188,136,173, 71,127,198,234, 95,128, 86,170, 92,180, 8, 80,
-131, 85,223,198, 71,163, 95,198,178, 29,191, 1, 0,206,159,171,178,140,184,202,234,160,201,104,125,172,188, 59, 90,174, 28,175,
-227,134,143, 86, 57, 78,123, 39, 81,171,213,162,168,168, 8,241,241,241,120,227,141, 55,144,155,155,139,212,212, 84,220,189,123,
- 23,223,125,247, 29, 20, 10, 69,141,202,232,195,183,102, 99,206,178,233,224,192,161,105,163, 22,152, 57,249, 51,180,107,213,241,
-177,203,221, 25,110, 88,179, 42,228, 92,185,114,101, 77,235,210, 63, 78,104,185,132,191,191,255,168,110,221,186,193,100, 50, 33,
- 32, 32, 0,169,169,169, 32, 73, 50, 2, 40, 25,194, 11, 13, 13,221,173, 86,171, 35,220,229, 19, 8, 4,160,105,186,212,247,199,
-190, 0,192,192,129, 3,113,248,240,225, 42,123, 20,193,193,193,168, 91,183, 46,222,127,255,253,114,179, 28, 28,103, 58,200,229,
-114, 28, 61,122, 52,187,160,160,160,128,227,184,106, 77,115,179, 59,198, 95,188,120,209,109, 7,120, 71, 88,173,214, 71,119,239,
-222, 13,217,184,113,163,160,146,151, 95, 41,206,159, 63, 79,163,138,161,154,191,131,211, 85,207,148,227,184, 10, 69,150, 59, 97,
- 4,170, 10, 72, 42, 20, 10,145,148,148,132,185,115,231,130, 32, 8,236,219,183,239,185,120,184,254,188,147,191,153, 36, 73,159,
-129,175,116,110, 9,130,128,213, 82,126,164,218,179, 80, 87, 42,178,134,126,185, 11, 7, 62, 28,233,142,232, 73,190,112,225,130,
-239,198,141, 27,133,238,148,251,133, 11, 23,104,142,227,170, 61,236,103,127,225, 88,173, 86, 24,141, 53,179,162,112, 28,119, 57,
-238,139, 57, 81,219,190, 61, 38, 34, 8, 11,174,156,219,135,226, 34,215,238, 12, 18,145, 16,155,227,247,211, 98,145,224,209, 83,
- 46,186,181, 67,134, 12, 25,245,213, 87, 95,181,112,181,211,141, 73, 48,169, 38,147, 9, 25, 25, 25, 48, 24, 12,123, 63,249,228,
- 19,235,177, 99,199,222,124,245,213, 87,209,186,117,107,132,132,132, 32, 43, 43, 11,201,201,201,136,143,143,231, 46, 93,186,180,
- 23,192,148, 42,238,227,193, 69, 95,204,137,137,223,113, 76, 66, 18, 86, 92, 57,191, 15,197, 78,162,189,188,117, 90,132,111,182,
-238,183,138,197,162, 59, 85, 89,139, 28,173, 89,181,249, 98, 28, 52,102, 50,134,174, 90,141,136,118,125,177,104,113,111,124,243,
-197,112, 44,239, 39,134,117,207,104,180,122,109, 27,118,206,235, 15, 0,168,243,141,155,214, 18,161, 24, 15, 93, 88,172,138,138,
-101, 54,113, 83, 61,171,169, 61,239,149, 89,174,170,107,209, 34, 73, 18, 13, 26, 52, 64, 68, 68, 4, 58,117,234,132,182,109,219,
-162, 71,143, 30,184,113,227, 6,110,220,184,129,105,211,166, 85, 38,178,170, 44,163,238,255,142,194,207, 93,238, 60,118,217, 56,
-151,123,109,192,157,186, 52,121,242,100, 0,248, 71, 89,183,170, 45,180, 52, 26,205, 13,150,101, 91,122,123,123,219, 45, 82,165,
-251,210,210,210,192,178,172,161,186, 5, 99,177, 88,236,193, 49,203,196,101,178, 59,199, 87,246,224,115, 28,199, 20, 20, 20,160,
- 91,183,110,232,210,165, 75,233,240,137,227,226, 32, 76,112,224,192, 1,112, 28, 87,109, 39,107, 7,199,120, 29,170,233, 0, 15,
- 0,185,185,185,125,187,118,237,122, 74, 40, 20,186,245, 21, 77,150,101, 83,115,114,114, 94,121,210,156,174,202,135,101,217, 10,
- 69,150, 59, 13, 81, 85, 1, 73,133, 66, 33, 60, 60, 60,240,253,247,223,195,223,223,255,185,122,192,110, 36,170,151, 84,182,191,
-155,159,228, 28,128,128,161, 95,238,122,120, 46,223, 90,111,232,151,187,210, 14,124, 56, 50,188,178,115,178,179,179,251,140, 28,
- 57,242,184,187,229, 78,211,244,131,236,236,236,106,135, 75,224, 56, 14,119,238,220, 97, 39, 76,152,144,167, 86,171,135,215, 36,
-255, 51,231,174, 94,190,240,243,169,126,253,162, 58,180, 3, 9, 88, 42,118,254,229, 8,128, 19,138, 4,143,102,204, 90,249,214,
-240,225,195,159,102,177,105,178,179,179, 59, 13, 27, 54,108, 10,254,114,157, 40, 35,164, 80,193,236,106, 27, 86,213,173, 91,247,
- 69,129, 64, 32, 5, 48, 23, 64,218,165, 75,151,214, 94,186,116,169, 15,128,127, 9, 4,130, 16,134, 97, 50,108,157,158, 93, 0,
-254,168,186, 30,229,190, 13,142, 13,235,215,251, 95,125, 65, 16,156,197, 98,174,162,131, 4, 14, 28,199,137,197,162, 59,191,222,
-200,106, 85, 89, 71,202,225, 11, 28,181, 62,100, 63,101,202, 20, 76,153, 50,165,180, 62,173, 89,211, 5,123,255,188,136,215, 90,
-165,195,252,117,103, 16,202,112,183, 59,124, 0, 48,251,255, 38,212, 90,218, 28,243,238,104,209,114,245, 28, 84,199, 71, 75, 32,
- 16, 32, 47, 47, 15, 73, 73, 73,200,201,201,129,193, 96, 64, 98, 98, 34,172, 86, 43, 10, 11, 11,241,226,139, 47,214, 56,157,181,
- 85, 70, 79,147,243,159, 56,124, 88,109,161,101,181, 90, 63,109,208,160,129, 72, 38,147,181, 96, 24, 6, 28,199,129, 97, 24,206,
- 38,106,170, 61, 11, 79, 36, 18,153,154, 52,105, 66,184,154,157, 96,255,239,225,225, 97,172,196, 90, 18, 87,191,126,253, 79, 8,
-130, 16, 84,212, 11,177,255,103, 89,150, 17, 10,133,113, 53,188, 87,143,235, 24,175, 87,171,213, 29,107,185,252,254, 14, 78,231,
-242,209, 55,107,214,172,244,139,246,206, 49, 81,108, 31, 91,213, 87, 33,206, 43, 13, 72,170,215,235,179,250,246,237,203, 56,238,
-119, 12,104,250, 92,131,224,210,250,143,122,179,222,185,124,107, 61, 0,176,139, 45,112, 92, 90, 37,103, 25,179,179,179,187,253,
-221, 73, 75, 73, 73,177,252,235, 95,255,250, 86,171,213, 78, 6, 80, 99,111,254, 89,159,174,153,245, 12,150,140, 6,192,194, 26,
-158,155,150,159,159,223,211,105,219, 31,118, 65,101,143,107, 87,109,209,126, 59,175,214, 99,139,209, 52,157, 30, 17, 17, 81, 45,
-203, 13, 69, 81,233, 85,237,119,142, 17,230,136, 91,240,198,172,171, 64,201,228,239,124,183, 56, 77, 38, 83, 65,199,142, 29, 69,
-213,204, 91,174,187,121, 15, 9, 9, 65,157, 58,117, 74,127,237,112,222, 94, 85, 58,105,154, 78, 15, 11, 11,131,191,191,127,133,
- 17,223,157,125,178,220,225,172,237, 50,170,140,179, 78,157,109,181,206, 89,211,116,242,112, 15,189,121, 78,158,147,231,124,102,
- 57, 5,252,253,228, 57,121, 78,158,243, 9,114, 62,151,224,189,212,120,240,224, 81, 17, 24,254, 22,240,224,193,131,199,227,129,
-168, 68,149, 86,103,166, 79, 77,148,237,105,158,147,231,228, 57,121, 78,158,147,231,228, 57,255,113,156, 85,113,215,246, 76,227,
-231, 26,188, 89,149,231,228, 57,121, 78,158,147,231,228, 57,121,206,127, 44,248,161, 67, 30, 60,120,240,224,193,131, 7, 15, 94,
-104,241,224,193,131, 7, 15, 30, 60,120,240, 66,139, 7, 15, 30, 60,120,240,224,193,131, 7, 47,180,120,240,224,193,131, 7, 15,
- 30, 60,120,161,197,131, 7, 15, 30, 60,120,240,224,193,131, 7, 15, 30, 60,120,240,224,193,131, 71, 9, 8, 0, 56,114,228, 72,
-233, 7, 1,163,163,163, 9,254,182,240,224,193,131, 7, 15, 30, 60,158, 36,158,107, 45,226,152, 57, 30, 60,120,240,224,193,131,
- 7, 15, 94,139,212, 14, 72, 94,108,241,224,193,131, 7, 15, 30, 60,120,177,197,103,140, 7, 15, 30, 60,120,240,224,193,139,172,
-103, 10,101, 44, 90,188,224,226,193,131, 7, 15, 30, 60,120, 60, 77,177,245,140,106, 17,206,182, 56,174,243,224,193,131, 7, 15,
- 30, 60,120,240,120, 76,129, 85,217, 47, 15, 30, 60,120,240,224,193,131, 7,143, 90, 18, 92,246,255, 79, 76,104,241, 95, 54,231,
- 57,121, 78,158,147,231,228, 57,121, 78,158,243, 31, 11, 33,127, 11,120,240,224,193,131, 7, 15, 30, 60, 30, 27,142, 86, 44,130,
- 23, 90, 60,120,240,224,193,131, 7, 15, 30,181, 39,178, 8, 87,235,252,183, 14,121,240,224,193,131, 7, 15, 30, 60,254, 38,240,
- 22, 45, 30, 60,120,240,224,193,131, 7,143,199, 3, 1,126,232,144, 7, 15, 30, 60,120,240,224,193,227,111, 21, 91, 46, 55, 86,
- 52,115,224,116, 53,200,107, 50,251,224, 52,207,201,115,242,156, 60, 39,207,201,115,242,156,255, 56,206,170,184, 79,227,217, 67,
- 55, 0,103, 1,116,183,253, 86, 40,188,106, 27,252,212, 87,158,147,231,228, 57,121, 78,158,147,231,228, 57,159,119, 84, 24,168,
-148,119,134,231, 81, 21,132,168,124,136,185,170,253, 60,120,240,224,193,131,199, 63, 77,108, 17,225, 72,218, 0, 0, 32, 0, 73,
- 68, 65, 84,113,142, 47, 73, 87,104, 12, 96, 22, 0,111,135,109,191, 0,136,115, 58,110, 7, 0,133,195,186, 30,192, 60, 0,247,
-170, 76, 13,199,137,109,252, 82,219,194, 2, 48, 1, 48, 3,208, 18, 4, 65,241,101,246,212,209, 17, 64,180,237,255, 17, 0, 87,
-170,185,255,185, 66, 72, 72,136,220,199,199,167,207,245,235,215, 37,137,137,137,184,112,225, 2,183,121,243,102,107, 97, 97,225,
-201,172,172, 44, 35, 95, 93,158, 11,244, 5, 48,211,246,127, 17,128, 19,143,201, 71, 40, 20,138,105, 30, 30, 30,253,165, 82,105,
- 29,154,166, 9,131,193,144,169,215,235, 79,209, 52,253,165,173,221,171, 46, 6,251,250,250,190,217,180,105,211,198,169,169,169,
- 25,153,153,153, 59, 0,236, 1, 48,188, 78,157, 58,163,235,215,175, 31,122,231,206,157,123, 5, 5, 5,223, 0, 56,248, 20,211,
-201,131,199, 63, 9, 68,101,214, 8, 87,152,203,113,220,232, 50, 12, 68,121,142,158, 61,123, 14, 58,121,242,164,130,101, 89,216,
- 23,185, 92, 78, 3, 24, 87,133,200,242,187,124,249,114,189,201,147, 39, 15,205,204,204,124, 89,171,213,182, 7, 0,133, 66,241,
-115, 96, 96,224,175,171, 86,173,250,142,227,184,116,130, 32,180,213,204,168, 80, 36, 18,189,225,227,227,211,159,166,233,182, 28,
-199, 65, 36, 18, 93, 47, 44, 44, 60, 65, 81,212, 55, 0,106, 34,222, 36, 66,161,112,138, 84, 42,237, 75,211,116, 75, 0, 16, 10,
-133, 55,205,102,243, 9,154,166,215, 2,176,212,128, 83, 38,145, 72,166, 40,149,202, 40,139,197,210, 18, 0, 36, 18,201, 77,141,
- 70,115,202, 98,177,172,181, 9,206,167, 13, 33,128,104,142,227, 68, 0, 32, 16, 8, 6,183,111,223,190, 30, 65, 16, 44, 65, 16,
- 28,199,113,196,207, 63,255,220,134, 97, 24,210, 86, 63,162, 1,252, 10,128,126, 22,159, 16,127,127,255,133, 44,203,214,169,180,
-208,100,178,151,175, 95,191,222,116,247,238,221,204,215, 95,127, 93, 52,126,252,120,207,201,147, 39, 11,215,172, 89,179, 54, 43,
- 43,235, 61,231,227,253,252,252,150,147, 36,233,239,206,245, 89,150,205,203,207,207,159,254,180,242, 31, 19, 99, 42, 99,238,142,
-143,151, 53, 2,144, 94,195,250,253,247,113,154, 98, 56, 0,136,151,197, 55,138, 49,197, 36,219,255, 63, 46,175, 3,102,174, 59,
-173,237,202,113,192,148, 40, 47,242,113,133, 86,104,104,104,124, 76, 76,204,168,150, 45, 91, 10, 57,142, 3, 69, 81, 48,155,205,
- 77,175, 92,185,210,125,223,190,125, 47,107,181,218,225,213,164,124,235,227,143, 63, 94, 48,127,254,124,127,145, 72, 68, 80, 20,
-213,104,247,238,221,109,223,126,251,237,247, 55,110,220, 88,119,196,136, 17, 94,246,237,115,231,206,109,183,104,209,162,134, 0,
-190,124, 10,233,228,193,227,159,134,110, 40,235,163,245, 57,128,207, 42, 19, 90, 30,182,151,103,142,205,146, 5,135,223, 82,156,
- 57,115,230,144, 80, 40,180, 91,180,218,235,245,250, 32, 39, 43,152, 43,145, 85,127,204,152, 49, 29,247,238,221,187,112,196,136,
- 17,217, 10,133,162,201,171,175,190,170, 37, 8, 66,176,123,247,238, 54, 17, 17, 17,242,129, 3, 7,142,233,217,179,231,135, 28,
-199, 93, 32, 8, 66,237,102, 38, 91,248,250,250,238, 95,178,100, 73,189,190,125,251,138,253,253,253,193,113, 28, 50, 51, 51, 67,
-143, 30, 61,218,239,243,207, 63,255,176,160,160, 96, 8,128,132,106,220,184,118,114,185,124,239,231,159,127, 30,210,175, 95, 63,
- 97,112,112, 48, 76, 38, 19, 18, 19, 19,123,159, 56,113,162,235,198,141, 27,223, 51, 26,141,175,217, 4,134,187,104,239,237,237,
-189,239,191, 31,127, 28,212,225,141, 55,132,190,190,190,224, 56, 14,106,181,186,247,197,109,219,186, 79, 90,178,228,189,226,226,
-226, 97,174,238,247,211,132, 68, 34, 33,183,111,223,222, 90, 34,145, 0, 0, 44, 22, 11, 34, 35, 35,137,231,229, 9, 33, 8, 34,
- 44, 51, 51,211, 91, 44, 22,187,220,207, 48, 12,186,118,237,218, 64, 44, 22,227,203, 47,191,164,242,242,242,218,124,245,213, 87,
-215,119,238,220,233,191,118,237,218,215, 0,148, 19, 90, 36, 73,250,167,167,167,187,228,100, 24, 6, 86,171, 21, 52, 77,195, 98,
-177,160,121,243,230, 79, 53,255,241,241,178, 48, 0,211, 99, 98, 76, 31,216, 54,125, 9,224, 67, 0, 41,168,225, 55,187,254, 6,
- 78,199,250,182,220,225,255, 99,167,213, 1,245, 0,224,216, 13, 19, 0,248, 62,238,125,245,240,240,104,246,250,235,175, 11,213,
-106, 53, 68, 34, 17,172, 86, 43,178,179,179, 17, 25, 25, 41,248,246,219,111, 95,168, 46, 95,163, 70,141,198, 47, 90,180, 40,224,
-216,177, 99,214,237,219,183, 91,162,162,162, 68,227,199,143, 87,118,237,218,181,121, 88, 88, 24,185,101,203, 22,243,169, 83,167,
-168, 49, 99,198, 72,226,226,226, 2,142, 30, 61, 58, 48, 33, 33,225,203, 39,157, 78, 30, 60,254,129, 56,139,191, 66, 60,216,127,
- 43, 21, 90,112, 16, 87,131, 1, 64, 36, 18,181, 9, 10, 10,138,167,105, 58,216,102,213,201,206,201,201,249,146,162,168,223,109,
-199, 30,100, 89,118, 80, 85,150,172, 49, 99,198,116, 60,126,252,248,178, 43, 87,174, 20,231,231,231, 7, 31, 58,116,200,244,225,
-135, 31,166, 2, 64, 74, 74, 74,195,129, 3, 7,134, 78,157, 58, 53,189, 79,159, 62,171,122,244,232,241, 46,199,113,167, 8,130,
-208, 87, 37,178, 34, 35, 35, 47,159, 63,127,222, 75,165, 82,149,217, 81,191,126,125,188,251,238,187,226, 65,131, 6, 69,244,234,
-213,235, 82,114,114,114, 23, 0,127,186, 35,136, 26, 55,110,124,250,204,153, 51,158, 62, 62, 62, 40, 42, 42, 66,118,118, 54, 12,
- 6, 3,148, 74, 37, 70,140, 24, 33,238,214,185, 83,221,169,211,222, 59,157,158,145,209,219, 77,177,213,190, 83,139, 22,167,119,
-198,197,121, 82, 15, 31, 66, 46,151, 67,167,211, 1, 0,188,188,188,240,114,131, 6,194,223,182,109, 11, 29, 29, 27,123,250,215,
-164,164,222, 79, 73,108, 73,109,191,102, 0, 71, 4, 2,193, 96,137, 68, 66, 14, 30, 60, 24,167, 79,159, 38, 76, 38,147,208,102,
-221,161, 7, 15, 30, 12,185, 92, 14,139,197,194,162,100,232,144,126,150,159, 18,137, 68,130,228,228,228, 50,219,180, 90, 45,212,
-106, 53,242,243,243, 97, 54,155, 81, 84, 84, 4,150,101, 9,185, 92,174,102, 89, 22, 36, 73, 58, 11,128, 50, 16,139,197, 72, 74,
- 74, 42,179,141,166,105,232,245,122,152,205,102, 88,173, 86,104,181, 90,185,151,151, 87, 99,127,127,255,116, 0, 7, 11, 10, 10,
-190,204,201,201, 73,123,194,217,207,179, 11,162,248,120,217,125, 0,146,255, 69, 78, 7, 75, 86,168,109,253,143, 90, 74,171, 29,
- 15,143,252,110, 10,183, 89,199, 30,212, 2, 31, 11, 0, 23, 46, 92, 64, 78, 78, 14,242,242,242,160, 86,171, 17, 22, 22, 6,142,
-227,170, 61, 28,151,156,156,188,238,197, 23, 95, 36,110,221,186,117, 2,192,154,221,187,119,143, 43, 40, 40,152, 57, 99,198, 12,
-223,165, 75,151, 22,196,198,198, 46, 2,176,117,247,238,221,239, 52,107,214,172,255,237,219,183, 55, 62,141,116,242,224, 81,219,
-224, 56,174, 29,128, 0,123,219, 98,107,119,253, 28,214,111, 16, 4, 97,113, 56,206, 98,107, 27,156,127,237,176,175,171, 9,130,
-248,213,225, 60, 53, 65, 16,191,214, 52,153, 78,191, 37,157,110, 0, 56,114,228, 8,103, 95, 92,157, 25, 24, 24, 56,173,103,207,
-158,203,174, 93,187,214, 60, 43, 43,203, 39, 43, 43,203,231,218,181,107,205,123,246,236,185, 44, 48, 48,112,154,195,141,112, 62,
-245,180,195, 62,241,229,203,151,235,237,223,191,127,209,233,211,167,139,219,180,105, 99, 57,115,230, 12,221,167, 79,159, 92,219,
- 11,154,238,211,167, 79,238, 79, 63,253,196,116,232,208, 65,126,252,248,241, 71,151, 46, 93, 90,190,119,239,222, 32,142,227, 4,
-174, 56,109, 16,169, 84,170,239,207,157, 59, 87, 78,100, 57,162,110,221,186, 56,114,228,136, 82,165, 82, 29, 4, 32,174, 40,157,
- 54,200,100, 50,217,190,159,126,250,201,211,203,203, 11,185,185,185, 16,137, 68, 8, 12, 12, 68,113,113, 49,178,179,178,144,118,
-247, 46, 72,139, 5, 43,190,152,239, 37,151,203,247,186,104,236,203,113,122,123,123,239,219,185,112,161,103,254,233,211,248, 99,
-193, 2, 88,173,214,210, 33, 87,171,213,138, 75,147, 39, 67,253,227,143,216, 50,119,174,167,183,183,247, 62, 0,178, 42, 56,107,
- 3,142,156,147, 1, 20,216,150,201, 0,174, 68, 70, 70, 94, 75, 76, 76, 68,151, 46, 93,176,103,207,158, 86, 51,102,204,152, 60,
- 99,198,140,201,123,246,236,105,213,165, 75, 23, 36, 38, 38, 34, 50, 50,242, 26,202,250,103,253,221,233,252,219, 56, 25,134, 41,
-179,176,236, 95,239,152, 58,117,234,228,238,223,191, 31, 35, 70,140, 32, 37, 18, 73,214,200,145, 35,165, 23, 47, 94,228,108, 34,
-211,237,116,154, 76, 38, 24,141, 70,232,245,122,164,164,164,200,151, 44, 89,210,249,179,207, 62,107,116,250,244,233,208, 89,179,
-102, 77, 10, 8, 8,184, 30, 20, 20, 84,239, 9,231,221,234,244,127, 5,128,140,106, 90,136,254,110, 78,206,118, 62, 98, 76, 49,
-173, 29, 26,216,234,242, 86,118, 63,179,109,105,213, 3, 72,123,156,186,212,179,103,207, 23, 27, 53,106, 20,180,251,150, 15, 10,
-197, 77,193,138, 85, 96,197, 42, 48,126,237,144, 44,121, 5,225,225,225, 65,158,158,158, 29,171,153,206,237,183,110,221,250,151,
-173,167,156, 15, 96, 89,108,108,236,231, 4, 65, 92,136,141,141,157, 15, 96,153,109,251,130,219,183,111,119, 0,176,243, 41,165,
-243,153,120,222,121,206,255, 45,206, 42,180, 72, 0, 65, 16, 71, 8,130, 56,242,201, 39,159,244, 0,224,231,180,254,111,199,227,
- 0, 72, 92,253,218, 23,135,237, 1, 28,199, 13,112, 56, 47,160,134,201, 39, 92, 44,127, 9, 45, 0,136,142,142, 38,162,163,163,
-237, 59,126, 33, 8,226, 16,128, 95, 68, 34, 81,155,214,173, 91, 15,254,225,135, 31,188, 2, 2,254,186,126, 64, 64, 0,246,238,
-221,235,213,162, 69,139,193, 34,145,168, 13,128, 95,148, 74,229,161, 74,172, 48,170,201,147, 39, 15, 29, 59,118,172,166, 77,155,
- 54, 0, 80,148,144,144,160,232,208,161,131,158,166,105,130,166,105,162, 67,135, 14,250,132,132, 4, 5, 69, 81,218,118,237,218,
-121,244,234,213, 43,117,250,244,233, 99, 92, 8, 14, 71,188,190,120,241,226, 48, 31, 31,159,202,148, 48,180, 90, 45,130,130,130,
- 48,121,242,228, 96,145, 72,244,102,101,119, 75, 40, 20, 78, 89,188,120,113,160, 74,165, 66, 97, 97, 33,194,194,194, 96,177, 88,
-144,148,148, 4,147, 94, 7, 74,171, 1,165, 41,130,250,254, 61,168, 68, 66,140, 25, 20, 29, 36, 20, 10,167, 84, 97, 45,153,242,
- 77,108,108,144, 37, 53, 21, 41,123,246,128,161,203, 27,127,104,171, 21, 55, 55,109,130, 41, 61, 29,139, 38, 76, 8,146, 72, 36,
- 83,158,176, 37,107, 41,199,113,114,142,227,228, 4, 65,172,234,216,177,227,183,114,185,124,114, 92, 92, 92,223,147, 39, 79,246,
- 59,127,254,124,119,154,166, 69, 52, 77,139, 46, 92,184,208,197,100, 50, 9,165, 82, 41,132, 66, 33,135,231, 20, 34,145, 8, 98,
-177, 24,114,185, 28,157, 59,119,190,191,121,243,102, 42, 44, 44, 76,180,111,223, 62,159, 58,117,234,120,172, 89,179,166, 72,171,
-213, 46,118,151,207,106,181,194,108, 54,195,104, 52,194,100, 50,225,204,153, 51, 13,166, 78,157, 42, 52,153, 76,204,192,129, 3,
- 11, 40,138, 50,199,198,198, 42,125,125,125, 63,124,146,249,140,137, 49,177, 54,203,211,109,155,104,121,128,199,244,121,250, 59,
- 56, 1, 88,108, 62, 89,118,248,219,184, 45,181,116, 43,104, 0, 58,155,208, 50, 59, 61, 31, 45, 29, 44,190, 85,162,168,168,104,
-227, 55,223,124, 19, 70, 74, 85,184,104,233,143,239,216,207,113,210,123, 13,114,235,125,132,192,176, 70, 24, 53,106, 84, 32,199,
-113,107,106, 33,205, 95, 1,232, 10, 96, 85, 77, 78,126, 2,233,172,231,225,225,177,199,203,203,235,162,135,135,199, 30,216,134,
-103, 31, 7, 81,141,208,123, 80, 51, 50, 61, 42, 2,220,160,102,100,122, 84, 35, 62,212,192,243, 2, 39, 45,226, 8, 53,199,113,
-209, 28,199, 69, 47, 90,180,104,161,195,251,221,190, 46,119,211, 50, 22,205,113, 92,116, 25,133, 84, 34,176, 30,219,232,230, 98,
- 41,209, 20,142, 74,210, 33,115,165,179, 11,131,130,130,226,227,227,227,189,156, 25,179,178,178,160,209,104, 48,103,206, 28,175,
-177, 99,199,190,151,158,158, 30, 83, 69, 34, 36,217,217,217,109, 71,143, 30, 45,179, 90,173,133, 44,203,146, 26,141, 70,232,237,
-237,205,216, 15,240,246,246,102,138,139,139, 69,122,189, 94,192, 48,140,121,236,216,177,146, 9, 19, 38,188, 12, 64, 80, 17,105,
- 64, 64, 64, 84,255,254,253, 43, 28, 58,160, 40, 10,122,189, 30,122,189, 30, 86,171, 21,157, 59,119,150,110,222,188,185, 79,110,
-110,238,250, 10, 21,135, 84, 26, 21, 21, 21, 37, 42, 40, 40,128,183,183, 55,210,210,210,240,224,193, 3,152,117, 58, 88,117, 26,
- 88,117, 90,208, 90, 13, 56, 77, 49,242,239,221, 65,135,102, 77,197, 59,164,210,190,122,189,126,121, 69,156, 74,165, 50,170,195,
-184,113, 66, 15, 15, 15,116, 31, 93, 50,207,224,120,179,102,224, 24, 6, 44,195,128,161,105,244, 77, 74, 2, 69, 81, 32, 73, 18,
-237, 10, 10,132,202,109,219,162,212,106,245,178,167, 81,217,165, 82,169,112,251,246,237,175, 75, 36, 18,112, 28, 71, 88, 44, 22,
-156, 60,121,242, 31,247,208, 75, 36, 18,200,100, 50, 88,173, 86,212,175, 95,223, 56,122,244,232,203, 95,124,241, 69, 56, 73,146,
- 30, 98,177,248,135,252,252,252,133, 89, 89, 89, 41,238,242, 81, 20, 5,139,197, 2,139,197, 2,163,209,136,251,247,239, 7, 55,
-104,208,128,152, 60,121, 50, 99, 48, 24, 26,174, 94,189, 58,249,228,201,147,138,197,139, 23,191, 10,224,221, 39,157,223,152, 24,
- 83, 51, 0,205,226,227,101, 98,155,229,215,242, 63,198,201,161,196,241, 29,241,178,248, 68, 0,234, 90, 20, 89, 18, 0,222,225,
-126, 66,189, 72, 0, 29, 0, 47,155, 40,120,149, 32,136, 14,205,155, 55,247, 73, 76, 76, 44,228, 56,238, 42,128,239, 0,100, 85,
- 70,198,178, 44,193,178, 44,222,110, 95,132,201, 29, 5,160,168, 98, 20, 23, 23, 35, 45, 45, 13, 9, 9, 9,248,249,231,132,154,
- 62,155,111,122,122,122,246,145,201,100,245,105,154, 38,117, 58, 93,154,193, 96, 56,205,178,236, 70,212,192, 71,237,239, 74,167,
- 29, 30, 30, 30, 75,102,205,154,213,201,219,219, 27,191,255,254,123,195, 93,187,118, 45,209,235,245,143,229, 92, 47, 19,145, 91,
-150,175, 92, 19, 26, 26,168,194,141,243,135, 67, 23,110,216,189, 5, 96,195,120,153,242,236,195, 73,139, 56,138,161, 95, 57,142,
- 27, 64, 16,196, 17,103,161, 84, 45,179,211, 99,158, 95,133, 69,203,249,195,210,101,133, 86, 5, 10, 18, 52, 77, 7, 59, 90,178,
- 56,142, 67, 86, 86, 22, 50, 50, 50,160, 86,171,225,227,227, 3,171,213, 26,236, 78,251,160,213,106,219,251,249,249, 25, 68, 34,
-145,217,104, 52, 66,161, 80,176, 34,145,136,179, 93,135,176,205, 90,100,204,102, 51, 33, 20, 10, 41, 47, 47, 47, 79,179,217,220,
- 20,149,248,146,113, 28,215,222,207,207,207,229, 62,179,217, 12,157, 78, 7,189, 94, 15,157, 78, 7,179,217,140,160,160, 32,208,
- 52,221,182,210, 46, 45, 77,183, 12, 8, 8, 64,102,102, 38,228,114, 57,210,211,211, 97,209,105, 97,213,106, 65,235, 53, 96,138,
-139,193,106, 52, 96,245, 26, 80, 22, 3, 66,155, 52,131,125, 70, 98,133,221,112,139,165,165,159,159, 31,244,250,191,220,205, 56,
-155,192,162,105, 26,180,205, 57,218, 62,156,232,239,239, 15,251,140,196, 39, 4, 51,128, 25, 36, 73,174,146, 74,165,194, 73,147,
- 38, 33, 43, 43,171, 76,157,152, 52,105, 82,169, 79, 86,215,174, 93, 47,200,100, 50, 90,173, 86,195,108, 54,139,158,215,135,158,
- 32, 8, 16, 4, 81, 82, 70, 52, 13,127,127,127,125, 94, 94,222,207, 69, 69, 69,175,215,132,143,162, 40,251,140, 46, 24,141, 70,
-112, 28,135,223,127,255, 29, 50,153, 76,196, 48,204, 45,154,166, 21, 34,145, 8,164,205,249,235, 73,193, 54, 35,240, 75, 0, 97,
- 54, 11,209,155, 40,113, 56,207,112,209,144,184,117,235,220,228,172,190,112, 51,197,216, 45, 77, 25,168,217,112,164, 43,116,111,
-170,146, 44,143,235, 16,168,106, 61,208, 67,175,144, 8,244,108, 90,235,250,255, 93,154,176,107,236,152, 55,189,230,205,155, 87,
-207,223,223, 95,150,156,156,108,154, 63,127,126,131,237,219,183, 19, 40, 25,166,171, 16, 15, 31, 62, 60, 48,107,214, 44,223,254,
-253,251, 55,148, 74,165, 68,113,113, 49,212,106, 53,114,114,114,240,224,193, 3,238,198,141, 27,247,205,102,243,158,234, 36, 50,
- 36, 36,100,243,235,175,191, 62,246,165,151, 94, 18,217, 45,164,122,189,190,205,185,115,231, 6, 29, 63,126,188,139, 94,175,175,
-118,189,124,244,232,209,158,217,179,103,123,188,242,202, 43, 77,165, 82, 41, 89, 27,233,116, 4, 73,146, 65,158,158,158, 56,125,
-250, 52, 84, 42, 21, 72,146, 12,122,220,250,106,178,178,161,117,130,253, 96,186,180, 28, 77, 3,234,193,100,101, 67,121,137,242,
-252, 88,180, 42,120,215,183,179, 91,164,170, 16, 75,198,153, 51,103,206, 34, 8,226,200,204,153, 51,103,185,178,104,217,254, 50,
-142,199, 57, 28,111,174,109,177, 85,173, 64,147, 44,203, 34, 35, 35, 3,153,153,153,200,200,200, 64,126,126, 62, 72,146, 4,199,
-113,238,204, 62,227, 8,130, 96, 79,157, 58,229,115,249,242,101,125,187,118,237,138,236,254, 47, 52, 77, 19, 20, 69, 17, 54,191,
- 24, 34, 45, 45, 77,124,241,226, 69,213,237,219,183,131,108,189, 85,182, 10, 83, 96,185,109,118,129,229,184,152, 76, 38,200,100,
- 50,247, 84,135,237, 69,248,251,181,107, 37, 34, 75,167,181, 13, 25, 22,131,209, 20,131,211,107, 33, 97, 40, 72,192,129, 48, 25,
-220,190,127,142,176,139, 44,171, 77,104, 89, 44, 22, 80, 20, 5,150,101, 65,211, 79,197,175,124, 93,171, 86,173,218, 30, 56,112,
- 96,124, 70, 70,249,119,225,144, 33, 67,240,238,187,239, 98,234,212,169,183, 7, 12, 24,112,227,240,225,195,152, 50,101, 10, 88,
-150,109, 13,160, 24,192,241,231,237,161, 55,155,205,165, 22, 40,147,201, 4,171,213, 10, 84,227,179, 10,206,117,211, 94,182, 52,
- 77,219,185,137, 3, 7,246,227,194,133, 11,100, 66,194,173,176, 73,147, 38,219, 29,238,159,116, 86,211, 81, 50,115, 79, 98,107,
- 40, 44, 40,241,127,170, 40,164, 66, 4, 42, 31,178,227, 42,227,124, 28,180,218,208,106,196, 7, 31,124, 16,133,146, 25,206, 41,
-143,105,209,122, 69, 66, 18, 95, 79,107,233, 43,251,176,149,159, 94, 34, 36,116, 73, 95,207,210, 61, 8, 87,234,131,234, 42, 44,
- 97, 13, 84,117, 22, 46,252, 34,228,246,237, 59,230, 57,115,230, 36,142, 28, 57, 50,240,195, 15, 63,108,190,111,223,190, 46, 38,
-147,233, 27, 0, 69, 21, 25, 93, 6, 13, 26,116, 53, 48, 48,176,193,134, 13, 27,114, 31, 61,122,228, 67, 81,148,135,213,106,101,
-245,122,253, 3,163,209,120,218,106,181,158, 6,112,173, 58,137,245,242,242,106, 53,110,220, 56, 81, 81, 81, 17,132, 66, 33,172,
- 86, 43,114,115,115,209,169, 83, 39,193,161, 67,135, 90,212,228, 6, 20, 22, 22, 46,255,230,155,111,206,238,220,185,179,143, 82,
-169,124, 73, 42,149, 6, 3, 96,180, 90,109,142, 94,175,255,163, 38,233, 44,211,206, 49, 76,206,181,107,215, 34,148, 74, 37, 30,
- 62,124, 8,134, 97,114, 30,183, 14,200,196,228,163,155,231, 15,213,109,230,223, 0, 23, 47, 95,133, 76, 76, 62,226, 67,125, 61,
-247,176,251, 80,193, 81, 64,185, 16, 72,151,227,226,226,228,139, 22, 45, 66, 92, 92,220, 45, 87, 22, 45,187,224,138,139,139,187,
-101, 63,206,225,248,243,143,145,198,138, 45, 90, 21, 41, 72,160,100,118,161, 90,173,246, 81,169, 84,165, 2, 43, 51, 51, 19,153,
-153,153,144, 72, 36, 72, 75, 75,131, 68, 34,201,114,167, 19, 34,151,203,127,107,211,166,205, 11, 41, 41, 41,226,249,243,231,215,
-189,118,237,154,178, 83,167, 78, 47,202,229,114,134,227, 56,152, 76, 38, 50, 49, 49,209,115,217,178,101,161,237,219,183,183,180,
-111,223,254,250,238,221,187,141,168, 36,254, 21, 65, 16,191,100,101,101, 53,172, 95,191,190, 93,180,149, 17, 87,142,130, 11, 40,
- 25,242, 20, 10,133,215, 43, 75,168, 80, 40,188,153,148,148,212, 91, 33,147,194,162,213,192,170,211,128,214,106,193,104,139,193,
- 20, 23, 3,122, 13, 36, 52, 13, 17, 67, 65, 46,147, 33, 35, 61, 29, 66,161,240,102,101,156, 18,137,228,102, 78, 78, 78,111,149,
- 74, 85,250, 18,165,104,186,100, 97, 24, 88,104,186,212,162, 37, 18,137,240,232,209, 35, 72, 36,146,155, 79,186, 38,147, 36,201,
-216, 67, 56, 84,144, 15, 4, 5, 5,177, 29, 58,116,192,148, 41, 83,192, 48,140,173, 24,136,238, 0, 46,162,196,191,229,153,132,
- 43,113,107,119, 90, 55, 26,141,208,233,116, 40, 44, 44, 20,202,229,242, 23, 66, 67, 67,175, 90, 44,150, 61, 52, 77,111,121,240,
-224,129,166, 34, 78,155, 48, 43, 21, 93, 44,203,130,227, 56, 48, 12, 3,138,162, 32, 22,139,217,115,231,206, 99,217,138, 37,136,
-223,178,157, 27, 52,104, 16,113,232,208, 33,176, 44,155,254,132,179,111,177,137,150,202, 26, 13,231,144, 10, 31,161,242,144, 10,
- 21,113, 58,246,254, 28,183, 17, 46,142, 41,135, 15, 62,248,224, 4, 74,134, 12,243,108, 98,238,113, 56,191, 44,250,238, 11, 25,
-104, 70,111, 62,183, 83,247,237, 93,141,126,222,183, 43,127,179, 72, 4,154,151,187, 5,181,108,216,224, 5,129, 74,229, 67,174,
-223,184, 42,127,199,246,189,201, 15, 31, 62,212,172, 93,187,182,227, 11, 47,188,224,253,199, 31,127,132, 86, 36,180, 20, 10, 69,
-227, 55,223,124,115, 92, 97, 97,161, 56, 62, 62,126,119, 86, 86,214,111, 40, 9, 45,227, 56,131,122, 0,128,173, 54, 33, 26,100,
-107,231, 46, 2,152, 95, 89,127,141, 32, 8,252,244,211, 79,229,102, 7,178,143,167,206, 85,141, 26, 53, 26,145,146,146,114, 33,
- 39, 39,103,152,243, 78,177, 88, 60,175, 73,147, 38,125,111,221,186,245, 57,128, 99,213, 33, 54, 24, 12,177,123,247,238, 93, 42,
- 16, 8,234, 48, 12,147,105, 52, 26, 99, 31,219,162, 69,177, 19,226,214,239,218,100,180, 48,225,114,137,224,161,137, 98,223,226,
-117,200,243,107,205,178, 65,237, 96,141, 82, 3, 32,156,214,255,176,189,140, 44, 28,199,217,143, 85, 59, 88,177, 44, 78, 86, 48,
- 87,251,212,143, 17, 44,157,171,168,141,171,200,162,245, 9,128,246, 0,126,201,201,201, 89, 53,118,236,216,101, 59,118,236,240,
-210,104, 52,200,201,201, 65,110,110, 46,132, 66, 33,148, 74, 37,214,173, 91,103,204,201,201, 89,229,120, 14,202, 71,144, 7, 0,
-147,191,191,255,111,219,183,111, 15,254,250,235,175,133, 49, 49, 49,105, 3, 6, 12,104,186,110,221,186, 20,177, 88,204, 49, 12,
- 67,152,205,102,226,237,183,223,142, 88,177, 98, 69,170, 64, 32, 80,140, 24, 49,130,240,240,240,248, 5,149,132, 13, 80,171,213,
-167,190,255,254,251,161,211,167, 79,151, 90, 44, 22,151,150, 44,251, 54,149, 74,133, 75,151, 46, 89, 10, 11, 11, 79, 86, 97,197,
- 56,245,195,177,163, 93,255, 51,114,164,152,210,106, 64,105, 53,160, 53, 26, 48,218, 34, 16, 58, 13, 68, 12, 13,185,152, 69,112,
-152, 12,180,209, 19, 71,127,253,131, 50,155,205,149, 6, 54,212,104, 52,167, 46,198,199,119,111, 95,175,158,240,210,180,105,176,
- 82, 20, 94, 73, 74, 42, 21, 87, 86,171, 21, 7, 91,182, 4, 67, 16,104, 61,113, 34,238,209, 52,173,209,104, 78,253, 47, 62, 12,
- 55,110,220,200, 29, 61,122,244, 53,150,101,219,226, 9,125, 52,243, 73,128,162,168,114,214, 40,134, 97, 74,172,142, 37,150, 3,
-201,209,163, 71,187, 38, 38, 38,138,255,252,243, 79, 92,184,112,161,245,142, 29, 59, 62, 9, 15, 15,111,249,240,225,195,236,170,
-196,155,171,160,191,176,249, 31,238,222,185, 7,239,188,243, 14,145,157,157,141,239,190,251, 14, 85, 5, 79,253, 59, 16, 19, 99,
- 98,227,227,101,117,225,228,247,228, 34,164,194,239,112, 51,164, 66, 69,156,166,152, 18, 43,153, 44,190, 36,216,168, 41,166,100,
- 56, 80, 22, 95,165,165, 12, 49,166, 24,141,205, 33, 62,171, 22, 56,245,160, 25,185,229,220, 78,221,128, 99, 15,181, 87,178,140,
-243, 1,156,128,137,225,238, 93,231,110,188,244,146,143, 63, 0,152, 77, 76,112,227,198,141,187, 9,133, 66, 9, 0,120,122,122,
-190,228,231,231,183, 46, 63, 63,191,179,171, 50,141,142,142,238, 16, 24, 24,216,230,248,241,227,127,100,101,101,221, 2,240,179,
-243, 65, 17, 17, 17,115,110,223,190,221, 78, 36, 18, 17, 85,212, 17, 0, 64,183,110,221, 94,144, 74,165,126,199,238,122, 67, 35,
-110, 4, 78, 80, 12, 8,101, 96, 84,173,144, 38,110,142,176,176,171,126,133,133,133,173,139,139,139,255,168,102,209,247, 24, 58,
-116,232,150,248,248,248,176,110,221,186,113,215,175, 95, 39,157, 71, 17, 34, 34, 34,250, 92,185,114,165,237, 91,111,189,181, 97,
-215,174, 93,147, 81,118,166,109, 85, 72,179,197, 27,172, 53,156, 74,198,105,128,169,103,179,153,241, 10,229, 31,128,234,132, 92,
-120,140,240, 12,143,149,196, 10, 13, 24, 21,108,111,111,139,137,213,158,162,168,223,111,220,184,113,112,196,136, 17,186,252,252,
-124,248,249,249,161,126,253,250, 32, 8, 2,235,214,173, 51, 62,120,240, 96,159, 45,150, 86,251,204,204,204, 65, 54,177,229, 10,
-218,213,171, 87,239,218,182,109,155,234,218,181,107, 2,154,166,149, 77,155, 54, 53, 92,190,124,217, 83, 36, 18,113, 98,177,152,
-189,118,237,154, 34, 34, 34,194, 68, 16,132,244,199, 31,127,204,191,122,245,106,248,140, 25, 51,190, 65,217,105,226,206,216,185,
- 96,193,130,140,148,148, 20,152,205,102,104, 52, 26, 20, 23, 23,151, 46, 69, 69, 69, 40, 46, 46,134, 72, 36, 66,118,118, 54,246,
-239,223,159,101,139, 18, 95,153,101, 99,237,154,117,235,213, 89, 15,211,160, 84,200, 65,107,138,192, 20,231, 3,218, 98, 72, 40,
- 43, 60, 68, 12,234, 54,146, 67,166, 80, 34, 71,163, 67,252,229, 95,179,109, 81,226, 43, 54, 23, 88, 44,107,223, 93,177, 34,135,
- 22,139, 81,111,248,112, 88,109, 67,133,142, 66,139, 33, 8,132,247,234, 5,210,219, 27, 11,247,237,203,177, 69,137,127,162, 96,
- 89, 86, 96,177, 88, 42,203, 7, 88,150, 77, 79, 76, 76,220, 5,224, 44, 65, 16, 28, 65, 16, 28, 74,130,181,233,158,229, 7,153,
-162, 40,204,157, 59, 23, 98,177, 24,115,231,206,197,167,159,126,138,101,203,150, 97,253,250,245,248,246,219,111,113,244,232,209,
- 6, 23, 47, 94, 20,159, 63,127,158,139,139,139,203,139,136,136, 16, 76,156, 56, 81, 37,151,203, 63,168,140, 51, 54, 54, 22, 94,
- 94, 94,136,141,141,197,146, 37, 75,176,121,243,102, 28, 60,120, 16,151, 46, 93,130, 64, 32, 96,211,211, 31,193,100, 50,113,171,
- 87,175,206, 56,120,240,160,113,213,170, 85, 16, 10,133,196, 83,106, 36, 62,176, 9, 42, 71, 75,144,115, 72,133,124, 0, 43, 81,
-181,111, 84, 69,156,144,197,199,215,181,137,163,100, 7, 65,116, 24,192,116, 84, 62,189,218,206, 49, 25, 64,112, 45,112,206,150,
-143,254,191, 68,213,166, 59,247,175,100, 25,103, 3,248,193,158, 39,165, 82, 41, 63,112,224,123, 33, 0,236,219,187, 95,148,148,
-148,228,253,253,247,223,203, 2, 3, 3,241,237,183,223,202,228,114,121, 96, 5,156,204,193,131, 7,205, 18,137,196,111,194,132,
- 9,253,218,181,107,247,190,173, 35,218, 11, 64, 11,148,204, 94,140,186,127,255,126,130,191,191,255,221,147, 39, 79,234,221, 41,
- 32,173, 86,251,205,214,173, 91,235, 23, 48,190, 56,166, 31,138,120,118, 41,142,170,182, 32,173,222,167, 80,212,121, 25,175,191,
-254,122, 29,134, 97, 54, 85,179,220, 95, 31, 50,100,200,214,248,248,248,176, 9, 19, 38,100, 95,191,126, 61, 7, 64, 60,128,237,
-142,203,237,219,183,243,198,142, 29,155,181,105,211,166,144, 17, 35, 70,172, 7, 48,140,127,245,243,224, 81,182, 47,132,170,102,
- 29,186,120,225,150,254,207,205,205, 93, 93, 88, 88,120,233,222,189,123,239, 89, 44,150, 16,130, 32, 56,177, 88,156,157,147,147,
-179,202, 33, 96,169, 43,191,146,222,176,197,218, 32, 8,130,226, 56, 46,189, 71,143, 30, 31,244,234,213,235,171, 35, 71,142,152,
-186,119,239,142,189,123,247,250,247,232,209,195,192,178, 44,119,236,216, 49,255,190,125,251, 26,206,158, 61,171,127,251,237,183,
-155, 54,105,210,100, 98,108,108,172,154, 32, 8,214, 21,167,253, 93, 86, 84, 84, 52,164, 95,191,126,151,246,237,219,167, 84,169,
- 84,160,105, 26, 6,131, 1, 6,131, 1, 28,199,193,219,219, 27,106,181, 26,243,231,207,215, 20, 23, 23, 15,118, 33,220,156, 57,
- 77, 38,147,105,216,228,247,167,159, 90,245,249, 92,175,240, 6, 13,144,127,199, 4,218,100,128,136, 35, 81,247, 5,111,136, 37,
-114,220, 75,210,226,163, 93, 7,180, 70,147,233, 53, 23,189,229,114,156,197,197,197,195, 98, 62,253,244,244,134, 25, 51, 60,219,
- 4, 5, 65, 32, 16,192,108, 54,131, 97, 24,136, 68, 34, 68,198,196, 64, 28, 16,128, 57,187,118,233, 53, 26,205, 48,148,255, 20,
-143, 51,103,109,192,145,115,242,141, 27, 55,198, 54,107,214, 12,147, 38, 77,194,144, 33, 67,202, 28,248,253,247,223, 99,253,250,
-245, 48,155,205, 99, 1, 92, 7,176, 14, 37, 67, 29,112, 18, 89,127,119, 58,107,157,147, 97,152,194,164,164, 36,229,210,165, 75,
- 9,171,213,138,207, 63,255, 28,118,193,105,175,215, 83,166, 76,169,227,229,229,133,207, 62,251,204,146,151,151,215,115,201,146,
- 37,103,182,111,223,238,255,205, 55,223,188, 14, 32,214,153,147,101,217,220,155, 55,111,122,109,216,176,129,164,105, 26,203,151,
- 47, 47, 55, 60, 57,126,252,120, 88,173, 20, 4, 2,161,197,100, 50,183,144,203,229,201,126,126,126,114,174,172,115,215,147,188,
-159,161, 40, 9, 97,224,232,248,110,113,244,207, 66,197, 33, 21,170,195,169,150,197,199,119, 55,197,196,156,181, 9,162, 68,219,
- 49,123,237, 38,253,106,112,218, 5, 97, 77, 56, 79,217,150, 42, 97, 50,153,160, 86,171,145,151,151, 7,149, 74, 5,129, 64, 64,
- 84,148, 78,179,217,252,231, 71, 31,125,116, 99,211,166, 77,189,175, 92,185, 50,240,252,249,243, 61, 78,159, 62,109, 74, 75, 75,
-163, 41,138,226, 66, 66, 66,132,157, 59,119,150,245,239,223,223, 67, 42,149,146,179,103,207,206,251,226,139, 47,252, 81,214,135,
-205, 57,239, 2,130, 32,240, 97, 87, 45, 98,123, 8, 96,177, 88, 81, 84, 84,132,140,140,116, 36, 36, 36,224,202,149, 59,224, 56,
-142,172, 70,185,251, 1,152,253,221,119,223,133, 74, 36, 18, 98,215,174, 93,117,118,237,218, 85,165, 37,117,199,142, 29,117,118,
-239,222, 61,207, 54,122,145,254, 44, 62,239, 60,231,255, 44,231,179, 12,231,200,240,168, 82,104,217,218,249,246,176,125,148,148,
-162,168, 95, 92,132,112,248, 4,192, 92, 7, 43, 88, 85,230, 60, 13,199,113, 23,122,247,238, 61,165, 87,175, 94, 43,250,244,233,
-147,149,149,149,213,112,249,242,229, 97, 52, 77, 91, 19, 18, 18,200,228,228,228,180,223,126,251,173, 81,147, 38, 77, 38,222,190,
-125,251, 28, 65, 16, 86, 55, 50,152,144,156,156,220,169, 71,143, 30,251, 39, 78,156, 24,222,161, 67, 7,137, 74,165,130, 80, 40,
- 68, 74, 74, 10,254,248,227, 15,203,238,221,187,211,139,138,138,170,243, 9,158, 95, 82, 51, 50,162, 70, 76,125,111,223,196, 33,
- 3,253,255,213,244, 5, 73, 72, 72, 8, 96, 52,226,206,195,108, 92,189,243,135,117,243,133,171,106,179,217, 60, 12,238,127,130,
-231,151,223,238,221,235,221,115,198,140,125,243,254,243,159, 32,100,101, 9, 67, 66, 66, 32,145, 72,240,224,193, 3, 36,179, 44,
-189,120,227,198, 28,155,200,122,210, 81,225,165, 0,150,178, 44, 43, 4, 0,185, 92,142,119,223,125, 23,142,159,220, 89,191,126,
- 61,140, 70, 35, 0, 8, 9,130, 88, 10, 96,203,179,110,197,178,163,160,160, 96,206, 43,175,188, 18, 39, 20, 10, 43,140,122,235,
-227,227, 3,173, 86, 11,154,166,153,140,140,140, 59, 62, 62, 62, 16,137, 68,224, 56,206,229,115,148,159,159, 63,103,216,176, 97,
- 11, 72,146,172,200,242, 1,165, 82,153,118,230,204,153,198,111,189,245, 22,249,223,255,254, 55,101,194,132, 9,210, 51,103,206,
- 48, 28,199,237,127,210,247,160, 75,151,157,192,134,152,215, 0,188, 6,148,115,120,207,176,109,171, 86, 72,133, 46, 93,118, 98,
- 3,254,226,116, 28,198,179, 11, 34,155, 21,170,185, 44, 62,126, 5, 74,252, 44, 42,229,238,178,179, 11, 54,196,160, 86, 57,221,
-129,163,246,213,235,245, 96, 24,166, 50,107,222,239,123,247,238, 93,241,219,111,191, 5, 76,153, 50,165,225,127,254,243, 31,101,
-143, 30, 61, 60, 29, 15, 48, 26,141,236,225,195,135,245,235,215,175, 47,190,112,225, 66,234,248,241,227, 59, 84,150,206,135, 15,
- 31, 30, 93,184,112,161,119,255,254,253,155, 0, 40,245,207, 82,171,213, 72, 75, 75,195,159,127,254,153,102,181, 90, 15, 85, 35,
- 75,249, 0,230,141, 26, 53,106,233,182,109,219,234, 76,152, 48, 33,123,247,238,221,127,162, 36, 96,177, 51, 84, 67,134, 12,105,
-185,109,219,182,144, 9, 19, 38,100,163,196,143, 44, 29, 60,120,240,176,163, 59,202,251,105, 85, 58, 50,177,213, 98,177,112, 38,
-147,137, 51, 24, 12,156, 78,167,227,224,250, 43,240, 7, 51, 51, 51,185,244,244,116,238,225,195,135, 92,106,106, 42, 7,224, 91,
- 39,197,235,170,193,242,216,177, 99, 71,163,208,208,208,207, 21, 10,197, 9,129, 64,160, 17, 8, 4, 26,169, 84,250,131,159,159,
-223,167,139, 23, 47, 14,229, 56, 78, 92,137,138,174, 8, 66,145, 72,244, 86, 96, 96,224, 65, 95, 95,223,116, 31, 31,159,244,192,
-192,192,131, 34,145,232, 29, 0,162, 42,148,121, 69,144, 9,133,194,143, 60, 60, 60, 78, 73,165,210, 92,169, 84,154,235,225,225,
-113, 74, 40, 20,126,132,202, 3,169, 86,202, 41,145, 72, 62, 10, 8, 8, 56,165, 84, 42,115,149, 74,101,110, 64, 64,192, 41,137,
- 68,242, 56,156,143,211, 43,177, 11, 45, 3,103, 3, 65, 16, 84,235,214,173, 55,180,109,219,118, 93,219,182,109,215,181,106,213,
-234,107,155, 85,146,179, 89, 91, 12,168, 56,120,227,223,153,206,167,198, 25, 25, 25,185,125,219,182,109,236,156, 57,115, 52, 77,
-154, 52, 41,152, 51,103,142,102,219,182,109,108,100,100,228,246,154,114, 6, 5, 5,213,139,140,140, 44,216,180,105, 19,157,148,
-148,196,109,218,180,137,142,140,140, 44,112,138, 12,255, 36,242, 78, 0,136,176, 89,127, 14, 1,216,131, 18,231,247, 80, 0, 68,
-140, 41,134,179,205, 62, 60, 1,160, 79, 5,101,239, 46,103,152, 41, 38,134,179,249, 84,157, 4,144,232,176,222, 13,101,253,191,
-158, 4,167, 75,180,104,209,226, 30,231, 0,139,197,194,169,213,106, 46, 41, 41,137,187,112,225, 2, 23, 22, 22,118,207, 13, 78,
- 63, 0,111, 3, 56, 28, 28, 28,124,187, 99,199,142, 15, 59,117,234,244,176, 94,189,122, 41, 34,145,232, 10, 74, 34,188, 71,218,
-150,165, 0,154, 84,193,217, 81,165, 82, 45, 12, 11, 11, 59,212,184,113,227, 75,245,235,215,191,226,235,235,123, 68, 38,147, 45,
-194, 95,145,177,171, 91,231,123, 12, 29, 58, 52, 77,167,211, 49, 47,189,244,210,109, 87, 39, 53,107,214,236,162, 78,167, 99, 70,
-142, 28,153, 14, 32,250,159,240,188,243,156, 79,133,243, 31,133,198, 54,193,116,208, 97,249,196,197,113,159, 56, 29,179,213,118,
-110,149, 5,193,113,156,128,227, 56, 15,142,227,188, 57,142,243,229, 56, 78,197,113,156, 39,199,113,210, 42,204,223,124,197,254,
-251, 56, 39,219, 4,148,193,246,223, 25, 85,237,127,174,239,103,104,104,168, 79,187,118,237,166, 30, 56,112,224,163,251,247,239,
-127,116,224,192,129,143,218,181,107, 55, 53, 52, 52,212,231,113,210, 25, 20, 20, 84,175,121,243,230, 95, 53,107,214, 44,189,121,
-243,230, 95, 57,137,172, 39,153,119,137, 77,196, 52,179, 45, 13,109,219, 8,148,196,194, 90,107, 19, 54, 17, 21,244,212,170,195,
-105,231, 59, 4,160,175,109, 57,100,219, 22,246, 20, 56,203,161, 65,131, 6,199, 91,182,108,121,175, 85,171, 86,201,173, 90,181,
-186,215,162, 69,139,123, 77,155, 54,189, 23, 17, 17,113,175,110,221,186,247,252,253,253,143,215,160,140,124, 1,132,160,252,103,
-192,158,118,157,239, 30, 25, 25,121, 85, 38,147,185,140, 13, 38, 20, 10,231,181,106,213,234, 38, 74,102, 74,242,237, 39,207,201,
- 11,173,255, 33,240,149,240,217,227,148,162,242,207,140, 84,181,159,191,159,207, 54,167,203,111,117,217,132, 76, 67,155,192,145,
-212, 2,167, 35,159,189, 78, 69, 56,136,166,167,193,201,215, 37,158,147,231,228,133, 86,173, 67,200,223, 2, 30, 78, 48, 63,230,
-126, 30,207,197,104, 60,126, 0, 0, 32, 0, 73, 68, 65, 84, 54,170, 19, 19,235,113, 56, 93,241,221,127,202,156, 60,120,240,224,
- 81, 91,109,103,119, 0,231,236,189,194,138, 84,105,117,102, 19,212, 68,217,158,230, 57,121, 78,158,147,231,228, 57,121, 78,158,
-243, 31,199,105,199,138, 10,182,223,113, 90,255,250, 25, 21, 94, 79, 36, 76, 15,111, 86,229, 57,121, 78,158,147,231,228, 57,121,
- 78,158,179,166,152,248,140,138,172,110,246, 21,126,232,144, 7, 15, 30, 60,120,240,224,193,163,246, 80,117, 28,173, 61,123,246,
- 8,236,255, 71,141, 26, 53,158, 97,152,169,246,117,129, 64,176,230,187,239,190,219, 82,217, 21,134, 15, 31,206, 84,198,233, 10,
- 85, 93,199, 21,103,139, 38,202, 73,126,222,138,247,138,138, 13, 43, 83, 50,153, 11, 38,147,169,185,125,159, 76, 38, 75,220,178,
-101,203,221,218, 78,231,248,241,227,155, 56, 95,167,126,152,168,187,175,151,236,221,130, 34,221,242, 91,247,116, 95,243,117,236,
-169,192, 31, 64,180,151, 76, 60,168,133, 74,220,241,207,124,211,101,189,149, 57,140,146,217,176,133,207, 99,134,131,131,131,155,
- 42,149,202, 49, 0, 90, 24, 12,134, 64,133, 66,145, 11, 32, 65,163,209,108,207,206,206,190,227, 46, 79,183,250, 72, 3, 16,110,
- 91,125,120, 46, 21,245,220,217, 87, 21,250, 68,192,196, 1, 82,130,128,245,100,242, 95,206,232,125, 27,193,196,114,229,183,247,
-105, 4, 11,199, 65, 76, 0,230,147,247, 33,123,142,138, 74, 9, 32, 10, 37, 33, 28,110,160, 36,252,132,129,127,100,121,240,120,
-174,224, 60, 84, 88,186, 46,172, 64, 76,116, 21, 11,137,175, 56,112, 42,128,243, 51,155,205, 34,137, 68, 2,139,197, 2,133, 66,
-190,246,237, 9,227, 63, 7,137, 34,138,198,187, 91,182,108,169,241,151,174,171,115, 29, 0, 63, 57,159,239,163,148, 47, 56,123,
-248, 99,159,174, 3, 22, 47,178, 60,200,139,213,106,181,164, 84, 42,133,217,108,134,183,183,119,167, 73, 19, 39,190, 68,138, 56,
-139, 88,236,113,121,197,138, 21,217, 53, 77,231, 7, 31,124, 16,108,181,154,254,205,178,172,196, 98,177, 72,157,175,227,173,240,
- 88,124,246,240,199,138,110,209,139, 62, 7,120,161,245, 20, 32,169,231,227,113,110,229,168,238,205, 58,182,104, 12, 54,225, 60,
- 76, 22,235,160,179,233,186, 65,159, 94,201,156,158,174,179,182, 69, 45, 4,172,252, 31,130,160, 97,195,134, 83, 2, 2, 2, 70,
-110,220,184, 81,220,176, 97, 67,200,100, 50, 24,141,198,144,251,247,239,135, 76,154, 52,169,155, 92, 46,223,149,146,146,178, 22,
-238,125, 8, 46,252,236,214,255, 3, 0,116, 26, 51, 63, 28, 37, 31,139, 54, 56,239,235, 62,110,126, 56,128, 25, 40,251, 97,228,
- 44,148,132, 80,112,213,234, 72,142,108, 91,134, 65, 99, 63, 18, 2,152, 84,154,120, 18,248,225,219, 85,232, 55,234,189, 50,219,
- 9, 14,194,195,219,150, 33,122,236, 71, 21,126, 71,177,111, 99,130, 98, 89,174, 66, 75, 60, 73, 18,244,137,123,156,171, 15, 12,
-231,160, 36, 6, 88, 57, 74,148,124,208,217,229,241, 3,154, 10,114,172, 20,227, 50,224,172, 88, 36,200, 61,122,135, 41,119,110,
- 76, 27, 80, 20, 83,210,182,138,133, 96, 14,166,120,159,157, 61,123,182, 48, 58, 58, 26,155, 55,111,238,252,245,215, 95, 79,212,
-106,181, 63,218,238, 91, 50,255,248,242,224,241, 92, 11, 46,215, 66, 75, 40,192,134, 67,251,182, 52,202,201,205, 67,204, 91, 31,
- 98,231,206,157, 40, 44, 44,132,143,143, 15, 36, 98,177,104,229,210,255, 11, 86, 42, 61,130, 99, 38,198,110, 0,208,180,166,169,
-169,230,117, 26, 59,159, 79,216, 62,165, 35, 20,144, 34,137, 68, 66,238,218,181, 11, 69, 69, 69, 80,169, 84,144, 72, 68,228,138,
- 69,159,200,149, 74, 79,249,155,147,103,118, 70, 73,252,159, 26,193, 98,209,117, 62,176,115,139, 82,173, 86, 99,220, 59,177,112,
-190,142, 88, 44,102,236, 47, 22,190,142, 61, 21,204,222,248,238,216,102, 47,122, 1,214, 91,151, 32, 18, 8,160,240,246, 65,148,
- 80, 0, 1,129,230, 49, 39, 82,103, 1,248,244,121,201,108,195,134, 13,167, 12, 31, 62,124,228,130, 5, 11,196, 36, 89, 18,114,
- 78,175,215,195,104, 52, 34, 52, 52, 20,103,207,158, 21,207,153, 51,103,228,247,223,127,143,148,148,148,213,213,229,191,117,235,
- 86,253,240,240,112, 19, 0, 12,108,233,229,188,175,158,125, 31, 0,120,121,121, 85,201,231,167,242, 48,223,186,117,181,133,253,
-188, 41,189, 66,153, 10,182,155, 0, 40, 42,227, 98, 89, 78,120,242,171, 73, 21,238,127,107,193, 14,250,198,158, 11, 77, 27, 54,
-108,104,116,220,238,233,233, 89,209, 41, 65, 58,157, 46,220,121,163,253,120, 43,197, 4, 86,116,189, 62,239,174,119, 41,192, 40,
- 6,194, 29, 59,118, 0, 0,190,252,104,180, 96,211,207,121, 66,161,176,164,169, 93,186,116, 41,230,205,155, 39, 57,113,226, 68,
-255,109,219,182,245, 63,120,240,224,202,138,132, 42, 15, 30, 60,158, 73,145,229,248, 91,177,208, 34, 9,194, 75,233,229,137,215,
- 94,127, 27,199,143,255,128,174, 93,187,150,238,107,208,160, 1,134, 15, 27,140,239,182,174, 0, 0,175,199, 73,209,227, 94,167,
-176, 88,255,105,191,145, 95,205,127,152,173,187,114,228,200, 17,116,233,210,165,204,249,175,143,120, 13,223,126,179, 20,149, 68,
-153,119, 11, 4, 71,138,189,148, 30, 24, 21,243, 14, 92, 93,103,226,184, 33, 71,250, 14, 95,213, 59, 39, 95,191,130,175,103, 79,
- 30,141,130,253,250,180,108,214, 20,133,251,215,226,143, 34, 19,142,103,154,240,102,212,191, 16,233, 43, 71, 23,154, 65,176,135,
-168,103,182,158,122, 46,132, 86,112,112,112,211,128,128,128, 50, 34, 75,171,213, 66,167,211, 65,163,209, 64,171,213,130, 36, 73,
-196,198,198,138,207,157, 59, 55, 50, 56, 56,248,180, 27,195,136, 15,109,150, 44, 64, 32,210,205,157, 59,215, 28, 24, 24,104, 86,
- 40, 20,156, 80, 44,213,118, 31, 55,223, 11, 0, 72,161, 88,187,114,229, 74, 75,104,104,168, 73, 40, 20, 74,222,123,239, 61,210,
-157, 52,155,205,102,206,145,211, 98, 49,151,110, 95,188,120,177, 37, 40, 40,200,172, 80, 40, 56,171,213,125,163,227,205, 7, 5,
-144,138, 5,144,138, 5,144, 73, 68,240,170,223, 14,210,194, 63, 65,211, 52,150, 44, 89, 98, 13, 14, 14,182, 40, 20, 10, 78, 34,
-145,136,167, 77,155, 86,101, 58,199,143, 31,207,169, 84, 42,171, 66,161, 16,207,155, 55,175,220, 76,161, 51, 55, 50, 32,151,136,
-160,144, 10,209,184, 65, 24,164,156,209,237,180, 10, 4,101,189, 17,164, 82, 41, 58,119,238,140, 22, 45, 90,224,224,193,131,221,
-121,161,197,131,199,115,129, 10,103, 24, 10, 1,224,200,145, 35,221, 80,242, 65, 68, 68, 71, 71, 19, 37,103,112,152, 49,101, 24,
-222, 28, 55, 10, 12,195,150,126,231,139, 32, 9, 76,126,163, 63, 88,214,157, 17,137,170,167,120,214,224, 58,165,156, 28, 65, 10,
- 0,160, 81,189, 16,110,226,155,255, 1,195,178,127, 13,148, 8,128,183,199,245, 43,217, 86, 11,233, 20,128,193,135,147, 94,133,
-171,235, 52,109, 84,135,164,173, 38, 16,101, 63,246,248,119,124,108,147,231,116,129, 22,117, 67, 34, 40,163, 17, 38, 19,133,248,
- 59, 5,198, 83, 25,250, 64, 82,149,170, 94,245, 90, 7,153, 64,157,137,122, 94,146,198,217,122,234,185,200,187, 82,169, 28,179,
-113,227,198,114, 34, 43, 39, 39,135,212,233,116,176, 90,173,172, 86,171, 5,195, 48,152, 57,115,166,104,206,156, 57, 99,178,179,
-179,231,217, 53,143, 43, 78,155,223,213,140, 91,183,110,213,155, 61,123,182,181,103,207,158, 15, 27, 52,104,160, 23, 8, 4, 8,
- 9, 9, 89, 21, 21, 21,229,187, 96,193, 2,107,255,254,253, 83, 5, 2, 1, 26, 55,110,172,255,243,207, 63,235, 1,144,187,155,
-119, 71,206, 45,103,214,112, 0, 64, 16, 4,162,162,162,210, 26, 55,110,172, 23, 8, 4,184,123,120, 49,231,238,253, 20, 9, 73,
- 52, 9,245,182, 53, 34, 4, 32,247, 44,245,196,139,138,138, 74,111,218,180,169,142, 36, 73,220,188,121, 51, 12,229, 63,107, 85,
-142, 83, 46,151, 83,175,191,254,250,195, 59,119,238,184, 58, 30, 66, 1,137, 14, 77,109, 6,172,208,182, 64,250,197, 10,211, 41,
- 18,128,158, 51,101,180, 80, 37, 3,164, 94,254,102,141, 70, 3,165, 82, 89, 98, 33,179, 90,241,251,239,191,163, 99,199,142,221,
-246,236,217,115,142,127,222,121, 78,158,243, 47,184,210, 34,207,160, 53,203,241, 67,247,101,124,180,206, 58,103,138, 97,104, 52,
- 8, 15,194,226,255, 27, 15,134, 97,193, 48, 12,104,219, 47,195, 48,160,172,214, 90, 73,217,227, 92,199, 71, 41, 95,240,195,174,
-119,125,122, 14, 89,218, 43,110,246,184, 83, 12, 3,176, 44, 5,138, 2, 24,150, 2,203, 48,160,168,218,113,205,161, 88, 22,245,
-194,130, 17, 55,123, 28,156,175,179,253,187, 61, 3,207, 28,138, 85,116,141, 94,244,225,221, 52,195, 18, 94,216, 63, 89,200,196,
- 82, 33, 39,148,193, 98,161,161,181,176, 22, 0,122, 19,197, 90, 57, 15,127, 25, 0, 8, 73,226,121,154, 93,219,162, 97,195,134,
-101, 68,214,178,101,203,252,215,173, 91, 23, 10, 0,195,134, 13,203,232,213,171, 87, 94, 82, 82, 18, 66, 66, 66,136,188,188,188,
- 1, 0,222,179,157, 59, 3,192,186, 10,120,245,225,225,225,166,128,128, 0,179, 93, 16,145, 36, 9,161, 80,136,240,240,112, 83,
- 96, 96,160,185,113,227,198,122,177, 88, 12,146, 36, 97, 23,122,110,117,243, 8, 2, 2,129, 0,118, 78,103,107,143,157,179, 58,
- 16, 9,201,242,205,155, 3, 39, 73,146, 46,175, 87, 97, 29,146,201, 56, 0, 21, 30, 47, 32, 29,154, 71, 97,229, 30, 2,241,191,
- 67, 4,224, 44,199,113,184,126,253, 58, 82, 82, 82, 32, 22,139, 17, 28, 28,140,121,243,230,193,108, 46,209,187,195,135, 15,239,
- 6,224, 38,255, 4,243,224, 81,138,179,207,160,192,114,182,106, 85,238,163,117,228,200,145,110,209,209,209,231,236, 2,168, 68,
-236,184, 16, 63, 20, 13,138,178, 2, 28, 87, 43, 66,171,162,235, 48, 12, 91,233,117,236, 62, 90, 44,203, 9, 93,138, 44,150, 5,
- 77, 81,181,114,247, 88,134, 2,203, 82,112,117, 29,130, 32, 25, 91,131, 47,230,159,147, 39,143,224,240,122, 36, 21,222, 0, 23,
-104, 19, 66,253,164, 18,228, 25,209,240,133,102,130,223, 13, 20, 46,221, 72,132,191,167,242,185, 41, 23,131,193, 16, 40,147,201,
-160,215,235, 75, 45, 89,235,214,173, 11,181, 88, 44, 36, 0, 8,133,162, 48, 53, 27, 42, 99, 88,192, 91,153,133,194,194, 98, 63,
-142,227, 8,155,224, 89, 10, 96, 11, 42,137,238, 47, 22,139, 75, 5,138,163, 0,146, 74,165, 53, 18, 48,118,216,197,153, 88, 44,
-118,185,221,121,120,173, 42,136, 29,133, 22,184, 18,171,150,147,216, 18, 8, 4,176,251, 70, 85, 5,137, 68, 82,154,119, 87, 16,
- 10, 28,174, 39,168,190, 43,166,213,106,133, 78,167, 67, 81, 81, 17,100,178, 18,131, 25,199,113, 32, 8,226, 61, 0,239,243, 79,
- 49, 15, 30,174,181,200, 51, 44,182, 92, 11, 45,148,152,236, 8, 0,160, 41,171, 75,241,179,231,240, 37, 60,204,214, 35,216,255,
- 23,112,213,140,122, 58,114,228,200,173, 33, 33, 33, 29,236,235, 82,185,167,223,196,119, 63, 3, 77, 91,225, 37, 39,241,214,152,
-126,101, 68, 86,137, 69,203, 82,225, 55, 65, 10,139,245,159,246, 27,190,122,190,183,210,239,138,179,248,137,139,191,246, 90,161,
-198, 28, 70,146,191,162,144, 8, 97,134,191,253,217,120,135,198,253,198,174,245,115,167,187,109, 15, 36, 72,209,107,147, 86, 77,
-228,132,158,205, 21,164,246,252,199,227,254,117,192, 81,204,249,250,250, 30,233,243,218,202,222, 57, 5,188,143,214,211,128,151,
-183,138, 12,123,185, 59, 94,126,239, 43,156,249,228, 99, 14, 40,132, 95, 72, 40,217, 99,202, 23,240,124,121, 32,174,190, 53,134,
- 5, 10,158,139,188, 42, 20,138, 92,131,193, 16, 98, 52, 26,161,209,104,160,209,104,202, 10, 2,145,136,152,248,206, 84,127,145,
- 88, 2,202,106,193,241,237, 95, 84,201,105, 15,225, 48,176,165, 23, 4, 34,137, 54,161, 97,195, 85, 66,161, 16, 36, 73,226,240,
-218,143,223,219,191,252, 93, 47, 0,184,113,100,173,102, 84,236,154,213, 36, 73,194,108, 54, 75,171,147,238, 71,143, 30,133,153,
-205,102,147, 77,160,217,133, 31, 30, 60,120, 80,215,108, 54, 27, 29,183,187, 3,185,194, 11, 80, 53, 0, 20,129,229,172,103,169,
-169,169,117, 40,138, 50, 8,133, 66, 88, 44, 22,183, 84, 17, 73,146,226,155, 55,111,134,177, 44,235,242,248, 22, 17,117,128,224,
-150,128,196,219,237, 60,115,110,116, 68,109, 98,235,137, 69,144,230,193,227, 89,177,108, 61,131,207, 4, 81,193,255, 82,161,213,
-253,200,145, 35,156, 99, 15,145,166, 40,155,200,250, 75,244, 48, 12,139, 76,181, 9, 73, 73,119,177,114,229, 74, 92,186,250,145,
-247,130, 5, 11,164,115,230,204, 49,143, 28, 57,114, 57,203,178,173, 72,146,188,129,191,134, 42,202, 90,133, 88,182,238,181,107,
-215, 26,218,215, 41,138,130,151,151, 23,188,188,188,208,180,113, 88, 57,145,197, 48, 12,172,149, 12, 29,218,125,180, 8,142,229,
- 40,138, 1,195,178,165,226,167, 80, 99, 14, 59,116,250,122, 35,135,195, 95,176,255,233,220,174,121,197, 98,112,210,188,210,124,
-236, 90, 63,119,250,130,205,155,165,133, 76,192,180, 81,175,189, 25, 57,124,212, 24,188,254,234, 43,221,204, 22,203, 65, 1,201,
-177, 84,233,245, 64,130,131,179,143, 22,143, 39,132,228, 34, 61, 37,146,202,225, 25, 92, 31,119,117,140, 88, 32, 16,252,114,191,
-200, 32, 38, 5, 66,144, 66, 49, 18, 10, 77,212,115,148,221,132,228,228,228,144,186,117,235, 66,163,209,128,166,105,118,216,176,
- 97, 25, 66,161, 40, 76, 40, 18, 17,209,163,166,178,217,217,153, 20, 73, 10,192,113, 12, 94, 25, 62,137,144,202,228, 98,171,197,
- 66,163,100,232,208,149, 53,203, 49,132,131, 87, 84, 84,148,175,125, 38,224,254,229,239,122, 57,236, 83,190,244,210, 75,190,142,
-179, 14,221,180, 22, 17, 35, 71,142,148,135,135,135, 19, 0,240,235,246,217,118,235, 25, 49,112,224, 64, 89,120,120,137, 31,254,
-143,107,223,117,155,211, 95,193, 1,197, 15,128,226,212,114,150,172,129, 3, 7, 74, 27, 54,108, 88,173,103,209,230, 0, 95, 97,
-236, 46, 15, 33, 13,100, 95,119,139, 43,166, 13,168, 80, 79, 8,151,191, 66, 66,226,233,103,238,240,241,137,159,121,177,197,131,
-135, 91,112,210, 34,207, 20,186,217, 4, 98,119,219,111,169,224, 18, 2,128,205, 68, 71, 56,232, 44, 80,180,181,156,200, 98, 24,
- 6, 34,194,140,149, 43, 87,226,253,247,223, 7, 0,241,244,233,211, 15, 44, 88,176, 96, 40,203,178,173, 56,142,235, 66, 16, 68,
-101,189,198,179, 33, 33, 33, 57, 28,199,137, 72,146,236,178,118,237, 90,223,254,253,251,195,203,203, 11, 28,203,149, 19, 89, 12,
-195,194,106,181, 84,248,153, 91, 31,165,124,193, 15,123,166,249,244, 28,188,180, 23,195,178,167,236, 34,139,101, 24,128, 45, 57,
- 41, 63, 55, 3, 39,143, 31,196,134,245, 27, 10, 65,112,183,193,129,181,137, 65, 84, 32, 6, 91, 93,252, 53,177, 75,231,118,205,
-177, 96,243,102,233,173,107, 89, 7,166,126, 48, 43,114,248,168, 49,216,243,221,118,144,116,209,117, 71,145,197, 80, 44,138, 11,
-243, 6,254,196,251,104, 61, 45,248,158, 60,117,138, 24, 51,102, 12,171,213,106, 33,150, 72, 88,138,162, 4,255,254,247,191,153,
-247,223,127,159,204,206,206,134, 70,171, 19, 2,240,197,115, 96,214,210,104, 52,219, 39, 77,154,212,237,252,249,243, 98,146, 36,
-161,209,104,208,163, 71,143, 60, 53, 27, 42,155,248,206, 84,255,204,204, 12, 90, 41, 23,154,197, 98, 17,114,115,115,217,110,253,
- 71, 27, 71,141,127,191,206,251,179,227, 54,102, 93, 94,191,206,157,107, 56,206, 4,116,222,183,105,211, 38, 75,104,104,168, 73,
- 42,149, 74,198,141, 27,231,214,248,161,197, 98,225, 22, 47, 94,108,118,158, 93,104,177, 88,184,149, 43, 87, 90,194,194,194,204,
-114,185,156,163,168,170,253, 62, 73,146,160,223, 90,176,131,166,105,186,140, 21,203, 46,178, 40,150,208,125,245,213, 87,214,176,
-176, 48,139, 66,161,224,164, 82,169,216,157,116, 78,157, 58,149,243,241,241,177,122,120,120,136, 99, 99, 99, 31,107,214, 33,197,
- 64,184, 96,109,105,120, 7,169,151,151, 23,180, 90,109,105, 90, 67, 66, 66,120,177,197,131,135, 11,148,211, 34,207,166, 21,206,
-189, 56, 90, 44,160,203,201,205, 11,244, 15,170, 15,154,166,109, 11, 5,154,162, 48,237,237, 81, 88,190,254, 43, 0,176,139,173,
-168,233,211,167, 31, 0, 80,101, 99,182,107,215,174,249,211,167, 79, 87,230,228,228,156,216,186,117,171,239,232,209,163, 49, 99,
-198, 12, 44, 93,186, 20, 34,137, 12,190, 1,117, 75,175, 99,191,110,158,186, 0, 28, 56, 93, 5,118, 58,107, 73, 35, 5,161, 95,
- 64, 61, 80, 12, 5,150,162, 64, 81, 20, 8, 65, 73,214, 78, 30, 63,136,209,111, 76,133, 72,170,244, 89,179,114,137, 49,242,229,
-144,161,115, 38, 76, 48,187, 97, 4, 36,111, 93,203, 58, 48,245,253,216, 40,187,200,218,183,125,253,237, 47,103, 14,222, 41,149,
- 8, 75,175, 67,177, 44, 72, 82,192,251,104, 61, 37,145, 37,149, 74,247, 30, 59,118,236, 94,219,182,109, 9,189, 94, 15,138,162,
-144,151,151,135, 3, 7, 14, 36,112, 28, 7, 31, 31, 31, 28, 59,118,140, 29, 61,122,244, 94,179,217,252,218,179, 46,182,178,179,
-179,239,200,229,242, 93,179,102,205, 26, 53,115,230, 76, 17,203,178, 72, 74, 74, 2, 8,130, 19,137, 37, 32, 73, 18, 34,145, 16,
-197,197, 26, 86,225,169,202,178,114, 2,133, 72, 44, 1, 41, 16, 87, 54, 77,248,161, 45, 24, 41, 72,161, 88,107,159, 9, 40, 22,
-139,113,117,207, 50, 77,247,113,243,149, 0, 32,150,202, 11,251,244,233,147,214,188,121,115,253,111,191,253, 86, 15,229,103, 29,
- 58, 63,159,244,144,113,177, 2,133, 92,166,143,138,138,122,104,231, 76, 61,181, 70, 51,102,242,108,130, 16, 72,244,209,209,209,
-105,145,145,145,122,129, 64,128,196,131, 75, 52, 67,198,197,202,136, 74,130,172,158,184,199,189,117, 99,207,133,166, 95,124,241,
- 5,213,191,127,255, 71,118,127,177,212,212,212, 58, 3, 6, 12,144,174, 88,177,130, 26, 48, 96, 64,250,139,255,207,222,117,199,
- 53,113,254,225,231, 46,155,189, 71, 16, 68, 69, 81, 20,112,139, 11,197, 58,107, 29,173,226,194,189, 71,157,173,179, 14,220, 74,
-221,168,117,214, 90,220, 84,171,162,214, 81, 23, 42, 46, 16, 7, 67, 69, 1, 25, 97, 67,128,144,157,187,223, 31, 36, 52, 32, 35,
- 65, 91,107,127,121, 62,159,124,146,220,189,247,220,123,251,185,239,251, 29, 94, 94,197, 36, 73, 34, 50, 50,210,185, 58, 75,149,
- 6, 70, 70, 70,138, 9, 19, 38,188,123,254,252,121,109,163, 14,171,133,139,139, 11, 40,138, 66,183,110,221, 32,145, 72, 12,150,
- 45, 3, 12,248,111,162, 98, 30,173,170, 51,195, 43,148,138,111,167,204, 94,185, 19, 32, 76,181,238, 2,127, 25,150,104, 16,223,
-127,255,157, 9, 0, 35,141,216,154, 59,119,110,141,101, 78,180, 68, 86,155,128,128, 0, 44, 94,188, 24,155, 55,111, 86,253,248,
-227,143,140,248, 87,137,242,177,211, 87, 20, 84, 88, 15,104,208,197,148,130,250,182, 50,190,124,161,104,133,239, 87, 27, 86,166,
-101,150,220, 25, 59,109,105,217,221, 75, 5,160,144,224,171, 0, 96,207, 79, 63,137, 88, 92,115,147, 33,195, 71, 1, 64,207,157,
-219,130,206,172,193,129,154,197, 22, 77,120,124, 59,119,129,149, 70,100,237,218,186,246,185, 5,145, 25, 60,243,187, 24,133,246,
-122, 0,192,218, 12,103,124,191,218,208, 59, 43, 79,180,221,112,158,253,115,224,112, 56,171,175, 95,191,110,226,237,237, 77,228,
-230,230, 66,165, 42, 61, 34,114,185, 28, 66,161, 16, 69, 69, 69,144, 74,165,104,221,186, 53,185, 99,199, 14,147,153, 51,103,174,
-150,201,100,211, 63,247,237,126,251,246,237,174,115,231,206,225,214,173, 91,195, 22, 45, 90,196,114,116,116, 36, 44, 44, 50, 9,
-133, 92, 6,128,166,179,179,179, 41, 99, 83, 75,129,173,131,243,187,244,140, 44, 15,133, 92, 6, 74, 37,175,210,219, 92,157,222,
-225,251, 23, 47, 94,212,219,180,105,147, 76, 59, 18,112,248,130,157, 59, 90,183,110,109, 29, 28, 28, 44,235,215,175, 95,178,198,
-121, 93, 23,103,248, 43,111, 48,251,197,139,103,205, 42,114,250, 77,222,116, 80,195,169, 29,141,216,255,187,189, 7, 27, 53,106,
-100,237,233,233,153, 92, 29,111,131, 6, 13,196,124, 62, 95,214,164, 73,147, 98, 22,139, 85,106,201, 82, 40, 74, 26, 52,104, 64,
- 57, 56, 56,200,154, 54,109, 90,172,175,211,190,145,145, 17,173,177,138, 85, 6,125,162, 14, 89, 12, 40, 3, 2, 2,202, 50,195,
-127,223,168,145, 96,212,168, 81,252,121,243,230,225,224,193,131,184,123,247,238,123, 98,191,107,215,174,184,125,251,246, 74,252,
-135, 18,235, 26, 96,192,255, 25,170,207,163, 85, 17,135, 14,133,252, 9, 45,159,166,202,176,102,205, 26,174,218,146,213,115,206,
-156, 57, 16,139,197, 86,149, 52,235, 1,117,174,141,202, 68, 86, 80, 80,208, 49,154,166,157, 1,116, 86,169,168, 7,251, 15, 28,
-234, 86,213,250,134, 12, 25,242, 30, 39, 77,144, 12,146, 36,138, 57, 44,250,201, 79,251, 14, 30, 41,215,190,212,249,189, 49, 8,
- 60,221,185, 45, 72, 12,160,103, 69,177,133,191,202,140,148,113,106, 48,117,218,212, 50,145,181,115, 91,208, 85,207, 54,117,191,
- 89, 58,113,117,165,226,108,245,138, 41, 38, 36, 73,116,172,224,163,245, 30,231, 71,128,129,243, 47,116, 11, 8, 8,104,238,227,
-227, 67,106,139, 44,153, 76, 86,150,184, 83,227, 44,158,150,150,134,174, 93,187,146,205,155, 55,247,122,248,240, 97, 55,252, 85,
-206,233,115,221,118,213,219,183,111,119, 56, 58, 58, 94, 91,190,124,249,168,156,156,156,175,242,243, 11,108,194, 14,173, 70,159,
- 33,211,136,174,125, 71,136,100, 52,147,151, 42,200,108,114,243,226, 81,235, 75, 39,118, 65, 46,147, 77, 1, 16,135,191,210, 59,
- 84,228, 44,209,164,113,104,210,164,137, 72, 91,168,212,173, 91, 87,226,228,228, 36,245,244,244, 44,155, 94, 69, 52,223,123,219,
-174, 47,167,218,255, 75, 84,211,254,212,136,182,138,105, 35,140,141,141,161, 17, 95,250,244, 83, 59,218,178,210, 27,101,205, 81,
-135,101,156,234,244, 14,229,116, 90, 72, 72, 72,143,144,144,144, 54, 0,158,160,180,214,161, 2, 40, 29, 74,212,114,154, 15, 84,
-127, 12,215,187,129,243,255,149,243,115, 70, 87,252,229,155, 5,148,250,106,221,170, 82,104,213, 4,141,227, 59, 0,114,238,220,
-185,249, 98,177,216,106,212,168, 81,213, 46,147,145,145,113,240,240,225,195,229, 68,214,160, 65,131,198,133,134,134, 94,203,202,
-202,170,213, 86, 89,153, 27,173,185,117,126,161, 85,215,126, 27,230, 0,248,177, 10, 67, 30,229,217,134,255,205,206,109, 65,103,
- 42,136,173, 95, 1, 12,170, 74,149,246,250,114, 32,142, 30,218,169,241,237, 50,122,254, 56,237,210,176,168, 85,149, 70, 43, 90,
-154,114, 87,169,251, 49,207,224,163,245,207,128,205,102,251, 45, 90,180,136, 45, 18,137,222, 19, 89, 21,133, 86, 97, 97, 33,158,
- 62,125,138,177, 99,199,114,163,163,163,253,228,114,249,141,255,194, 62,200,200,200,136, 87, 39, 35,157,173, 73,225,192,229, 25,
-177, 71,140,159,227, 92, 22,117,120, 98, 23,164, 18, 49, 0, 48,117, 73,239,192,100, 50,217,209,209,209,174, 26,171,149, 92, 46,
-231,106,166, 63,126,252,216, 85,147, 91, 75, 34,145,232, 28,117,248,119,113, 62,123,246,204, 89, 19, 29,169,137, 46,100, 50,153,
-236,200,200, 72,103, 13,167, 84, 42,213, 41,234,144,195,225,176,163,163,163,157, 85, 42,213, 71,139, 58,212, 22,198, 40,173,179,
- 88,174,214,162,218,183,140, 32, 8,130, 54, 12, 27, 26, 96,192,103,143,138,145,146,213, 23,149,174, 9, 26,199,119, 61, 22, 97,
-186,184,184,244, 26, 62,124,120, 57,145,229,239,239,175, 58,125,250,244, 77, 62,159,159, 73,146,100,188,190,253, 40,243,209,194,
-123,111,144, 32, 73,242,105,231,182, 77, 65,146,228,211,165, 19, 39, 74,215,224, 64, 57,177,117,246,204,201,222,169,249, 49,149,
- 75, 51, 0, 54,246,117, 16, 48,238, 91, 4,140,251,214, 10, 64, 39,160,234,104,197,234,250, 97,192,223, 3,130, 32, 56, 78, 78,
- 78,207, 37, 18, 9, 8,130,128, 84, 42, 45, 19, 88, 69, 69, 69, 16, 10,133,101,255,229,114, 57,178,179,179, 81,183,110, 93, 16,
- 4,241,159,246,163,147,203,229,202, 69, 43, 55, 29,102, 48,217, 74,138,146, 19,114,185,124,188, 62,215,249,162, 69,139, 72, 84,
-226,123, 53,115,230,204, 74,167,127, 42,206, 37, 75,150, 84, 26, 37, 56,115,230,204,106,163, 7,171,194,119,223,125,247,209,162,
- 14,117,191,125, 25, 96,128, 1,255, 49, 84, 26,186, 87, 43,161, 69,146,228,211, 74,162, 11, 9, 0, 52, 73,146, 79, 43,201,114,
-160,124,247,238,221, 74, 75, 75,203, 41, 34,145,232,143, 65,131, 6,205,245,247,247, 87, 1,165, 14,242,181,221,162,124,161,104,
-133, 95,255,141,243, 10,138,165,193, 21,231, 85,180, 60,105,196,214,174,237, 65,187,207,132, 30,247,207, 72, 79,221, 93,213,182,
- 85, 37,168,170,138, 86, 20, 22,138, 87,250,245,223, 56, 39,191, 80,108,240,209,250,135,160, 82,169,174, 24, 25, 25, 17,154, 98,
-202,218,214,171,194,194, 66,148,148,148, 64, 93,146, 6, 0, 80, 92, 92, 12, 11, 11, 11,168, 84, 42,250, 63,182, 43,164, 0,230,
-171,173, 85, 0, 48, 63,241,230, 14,237,115,251,153,246,188,106,172, 89, 2, 93, 10, 68, 87,182, 92,117,243,254, 6,206,204,106,
- 10, 68, 87,135, 76, 61,249, 50, 1,128,205, 98,100, 85, 85, 60,154,205, 98,100, 85,227,183,175,231,123, 3, 65, 3, 88,105,184,
-178, 13, 48,224,243,125,255,255, 84, 43,238, 97,224, 52,112, 26, 56,255, 17, 78,174,250,163,235, 60,195,254, 52,112, 26, 56, 13,
-156,255, 54,206,202, 48,249, 51, 17, 90,116, 37, 31, 0,181,180,104, 25, 96,128, 1,255, 58, 72,107, 57,207, 0, 3, 12, 48,192,
-128, 15,199,123,197,164,181,103, 84,165, 74,245,137, 38,168,141,178,189,102,224, 52,112, 26, 56, 13,156, 6, 78, 3,167,129,243,
-255,142,179, 38,110,237,229, 39, 3,216,247,153,136,173, 79, 18,208, 98, 48,171, 26, 56, 13,156, 6, 78, 3,167,129,211,192,105,
-224,172, 45, 12, 67,135, 6, 24, 96,128, 1, 6, 24, 96,128, 1,255,231,208, 47, 97,169, 1,149,160,238,192,165,160,176, 68,189,
- 59,131,144,114, 54,240,191,182,137,254,254,254, 12,125,218, 39, 38, 90,146, 81,224,111, 54, 55, 97,247, 47, 22, 41, 54, 83, 81,
- 43,130,107, 58, 17,109, 27,180, 26,109,204, 51,158, 46,147,201,234,155,154,153,101,229,229,102,239,201,123,247,108,151, 86, 27,
-243, 7, 15, 30,240,125,124,124,210, 1, 20,105,189, 41, 24, 96,128, 1, 31, 19,150, 77, 93, 64, 16,227, 1,250,175,176, 75,138,
-142,129, 48,238, 80,185,118, 22, 30,227, 64, 18,205,180,166,136, 65, 99, 63, 10, 98, 83,106,120,224, 88, 38, 36, 36,184, 54,108,
-216, 48, 25, 64, 65,197,181, 87, 50,207,112,157, 27,240, 57,163, 43,202, 39, 44, 45,187, 22, 62, 92,104, 53, 26, 84, 31, 74,114,
- 12,104,140, 4,129,104, 36,134, 14,174, 21,143,219, 55,117, 64, 49,219, 1,104, 5,208,173, 76,140,120, 45,197, 50,121, 22, 69,
-211,163,241,230,228, 19,189,249,234,251, 79, 67,213,229, 44, 86, 34, 49,244, 39,189,248, 40,250,135, 71,183, 79,115, 45,141, 9,
- 52,108, 61,104, 1,202,103,112,174, 45, 56, 0,124, 73,146,108,102,108,108,204, 47, 41, 41,201,166, 40, 42, 5,165,227,211,249,
-181,228, 36, 1, 76, 48, 53, 49,233,227,106,198,105,245, 46, 71,152, 86,164, 80,133,163, 52,161,107,254,199, 58,163, 74, 69,150,
-227,190, 57, 35,124,198, 6,205,234, 1, 75,191,141, 11, 74,128,234,132, 22,225,220,184,227,217, 97,195,135,248,205,152, 60,214,
-180,142,157, 41, 4, 57, 34,155,159, 14,134,108, 10, 9, 57,218,111,226,176,158,125, 0, 96,245,234,213, 95,187,184,184,212, 99,
- 48, 24,137,203,150, 45,251,117,197,138, 21, 52, 81,117,165,114,190,250, 28,214,220,240, 77, 0,120, 2,104, 0,224, 45,128, 23,
- 40,159,101,188, 54,248, 44, 56,235,212,169,227, 68, 81,212, 68, 7, 7,135,175, 50, 51, 51, 47,144, 36,121, 32, 45, 45, 45,253,
- 83,222,117,104,154,222, 75, 16,196,100,154,166,247,233,241, 61, 69,159,117,240,120,188, 76,137, 68, 98,175,254,157, 37,145, 72,
- 28,254,174,237,249, 39,215,245, 15,189,127, 79,186,114,231, 69, 31,237, 73,189, 58, 55,171,228,142, 66, 52,187,114, 39,166, 75,
-249,118,158,170, 42,238,129, 4, 77,211, 88,185,114, 37,177,106,213,170,113,110,110,110,141, 72,146,124,185,124,249,242,114,169,
-111, 42,206,211,186,206, 13, 98,203,128,207, 21,250, 21,149,174, 17, 77,253, 77, 32,161,253, 1, 98,108,215,182, 45, 59, 79, 25,
-221,159,160, 25, 60,140,152,180, 80,169, 55,151,235, 88, 46, 24,226, 53,222,205, 26,207, 29,210,191, 7,217,198,179, 30,248,118,
- 22, 0,201,194,222,139, 73, 54,193, 65,203,118, 3,240,169, 69, 47, 87,188,137, 56,102, 47, 40, 80,129, 32, 0,130, 0, 72, 2,
- 40,150, 80,232,245,245,152, 21, 0,126,210,243,174, 68, 90, 26, 19,152,123, 76, 2, 0,140,143,112, 80,234,217,217,217,141,155,
- 61,123,182,137,167,167,167, 37,143,199,227, 72, 36, 18,135,132,132, 4,187,101,203,150,121,138,197,226,243, 0, 30,233,201, 89,
-183,161,179,211,201,224,185, 19,218, 53,111,224, 10,150,172, 24,148, 84,228,242, 42,225,117,135,169,187, 79, 77,138,201,147, 12,
- 71, 45, 74, 38,228,228,228, 16, 0, 96,107,107, 75,151, 23, 89,237,199,110,157,215, 11,115,183, 92, 65,137, 68,118,164, 58, 14,
-235,122, 45, 70,125,243,205, 64,191,181, 63,204, 52, 77,203,149, 35, 58, 81, 12,107, 83, 54, 86,204,159,198,145, 74, 21, 29,118,
-255, 26, 50,121,231,134,133,251, 85, 42,213, 23, 0,218,168, 84,170,199, 0,126, 93,185,114,101, 85, 55,223, 85, 0,150,168, 79,
-232,163, 12, 6,227,106,183,110,221,234, 79,156, 56,145,104,221,186, 53, 34, 35, 35, 27, 28, 59,118,172,199,133, 11, 23, 18, 85,
- 42,213, 51, 0, 47,161, 46,123,162, 3, 88, 0, 26, 51, 24, 12,239,127, 51, 39,159,207, 55,146,201,100, 99,156,157,157, 39,119,
-236,216,209,187,127,255,254, 68,227,198,141, 17, 31, 31,223,250,210,165, 75, 43,194,195,195,159,165,166,166,238,227,112, 56,135,
- 5, 2,129,248, 31,127,142, 19,196,100, 0, 78,106,157,188, 82,135,239,116,148,230,146, 18,232,186, 14,137, 68, 98,175, 41, 97,
- 67, 16,132,253,223,185, 61,122,174, 43,150, 32, 8,107,117, 91, 84,247, 77,146, 36,148, 74,165, 72,165, 82,185,213,192,217, 88,
-253, 34,165,179,214, 5, 80, 93, 34,104, 35, 0,232,213,169, 89, 30, 8,196,148, 89,180,222,127,201,140, 41, 19, 96, 52,154, 93,
-185, 27, 99, 93,206, 10, 86,241, 45,118,229, 74, 98,197,138, 21, 8, 12, 12,236, 15,192,151,162,168,112, 15, 15,143, 29,229, 40,
- 41,170,108,222,138, 21, 43,182, 87,115,157, 27, 96,192,231, 2, 63,232, 83, 84,186,202,247, 31,183,193, 93,160,194, 88, 87, 27,
-123,255, 89, 19,135, 26,121,122, 52,132, 4,166, 72,202, 81,225, 98,216, 37, 0, 56,161,159,213,105,104, 27, 38, 83,114, 56, 40,
-112,126, 19,223,118,158,120,158,166,192,227, 52, 21, 74, 18, 21, 96,144, 10,168, 40, 26,160, 33,169,237, 86,167,230, 43,113,231,
-165, 12, 36, 1, 48, 72,128, 36, 9, 48,200, 90,146, 81,178, 87,171, 15, 69,121,230,100, 82, 0, 37,123,245,129, 7,164,153,187,
-187,251,168, 85,171, 86, 89,102,100,100,152, 68, 70, 70,130,203,229,194,202,202,138,193,231,243,157,182,108,217, 34,158, 53,107,
-214, 87,114,185, 60, 9, 64,142,142,156, 30,125,219,120,223,219, 23,180,218, 66,241,224, 18, 10,142,255, 6, 6, 73,131,109, 98,
-138,250, 70, 70,184,244, 77, 67,107,255,176,196,211, 15, 51, 69, 30, 0,210,106, 34,139,139,139, 99, 72,165,210,225,230,230,230,
-237, 89, 44,150, 3,207,170, 30,149,206,108,147,155, 77, 52,120,155,101, 95,210,101, 94, 15,135, 62,155,231,116,195,220, 45, 87,
-176,237,216,253, 95, 90, 33, 99,121,117,121,179,141,141, 77,167,204,154, 62,209, 52, 53, 71,142, 53,167,115,112,232,118, 33,198,
-248,154, 97,238,151, 22, 8, 24, 49,204,228,212,111,161, 83, 0,236,215, 90, 36,222,195,195,131,136,139,139,171,236,230,107, 5,
- 96,161, 76, 38, 35,217,108, 54,193,227,241, 70,173, 93,187, 86, 62, 98,196,136, 84, 77, 3, 95, 95, 95,248,250,250, 18, 69, 69,
- 69, 13,110,220,184,209, 32, 36, 36, 68, 25, 17, 17, 17, 11,224,108,213, 22, 11,163,119, 18,137,216,133,103,100, 84,242,211,238,
-221,155,187,116,233, 66,113,185,127,165,159,170, 13, 39, 0, 88, 88, 88,236,183,183,183, 39, 22, 47, 94,156,254,177, 56,235,213,
-171,119,165, 93,187,118,221,122,245,234,197,236,212,169, 19,156,156,156,202,230,217,218,218,194,215,215,151, 72, 73, 73,105, 30,
- 30, 30,190,251,202,149, 43, 59,158, 60,121,114, 35, 41, 41,169,215, 63,108,209,218,167, 22, 19, 2, 61,219,127,246, 32, 8,194,
-116,239,222,189,246,154,154,140, 10,133, 2, 42,149,170,236, 91,243,161, 40, 10, 42,149, 10,107,215,174, 85,137, 68, 34, 93,246,
-145, 72,235,173, 89,243,161, 42,251,230,112, 56,182,154,132,189, 53,220,217, 99,248,220,130,166, 38, 38, 38,174, 0,250,194,174,
-209,194,242, 13, 74,223,159, 69, 34, 81,178, 64,106, 25, 3,160, 75, 53,108,150,171, 86,173, 26, 19, 24, 24, 56, 80,203, 74,235,
- 61,100,200,144,138,101,175,188,213,223, 34,130, 32,110,146, 36,121, 30,192, 33,124, 68,171,187, 1,255, 45,208, 52,221, 22,128,
-157,214, 36, 25, 74, 71,133,160,126, 78, 18, 0,108, 42, 76,215,110,167,249,206, 86, 79,183, 83, 47, 71,107,241,102, 19, 4,241,
-168,150, 93,188,133, 42,252,180,152, 0, 16, 22, 22, 70,247,235,215,143,208,124, 87, 46,138,252, 47, 78, 24, 49,160,207, 87,221,
- 59,130,228, 89,225, 85, 22, 16,241,142, 6,147, 84,128, 4,141, 7,119,111,208, 96, 82,135, 43, 44, 85,181,245,164,222,224,239,
-188, 61, 61, 54, 30, 8,154,205,136,205, 98,226, 80,120, 9,228,146, 98,100,103,188, 67, 86,122, 50, 4,169,111,145,246,238,237,
- 51,128, 88,161, 51,231,123, 7, 6, 80, 81,234,119, 64, 10,168, 38,242,178,102, 78,185, 40,174, 65, 99, 79,207,124,142, 10,144,
-139,226,116, 88,125, 85,156, 94,141, 26, 53, 26,241,195, 15, 63, 88,191,120,241,194,168,164,164, 68,122,233,210,165,248,164,164,
- 36,115, 62,159,159, 55,109,218,180, 70, 78, 78, 78,230,131, 6, 13,226, 28, 63,126,252,107,148, 15,107,173,138,211,115, 64,251,
-150, 17, 7,119,108, 53,201, 61, 21, 12, 89,194, 83, 92, 20,136,112, 55,179,132,110, 96,193, 37,190,109,110, 7, 83, 46, 19,171,
- 59, 57,153,246, 61,147,176, 81, 65, 81, 1,213,113,222,187,119,143,111,108,108,188,101,228,200,145,252,153, 51,103,114, 85, 76,
- 75,102,104, 68,174,197,194,221, 17, 78, 37, 82, 57, 99, 68,183,122,152, 55,210, 27,243,182, 93,215,136,172,201,245,235, 23, 80,
- 81, 81, 85,115, 42,228,242,250,206,246,230,136, 78, 18,227,208,237, 66,252,249,131, 19,186,175, 77,199,160, 86, 76,120,212, 53,
-133, 82,174,104, 60,100,200,144,195,234,183,246, 71, 0,190, 30, 50,100, 72, 19, 6,131,113, 29,192,239, 53, 29, 35, 30,175,242,
-234, 41, 86, 86, 86,232,218,181, 43, 60, 60, 60,152, 93,186,116,241,174, 32, 96,202,113,202,229, 50, 62, 69,209, 48, 51, 51, 51,
-178,177,177,177, 50, 51, 51,203,173,236, 65,165, 15, 39, 0, 88, 91, 91, 15,238,218,181, 43,243,216,177, 99, 57,137,137,137, 15,
- 70,140, 24,241,214,220,220,188,156,245,215,196,196, 4,141, 26, 53,194,178,101,203,152,125,250,244,169,145,211,193,193,161,103,
- 72, 72, 8, 8,130, 40,123,104,191,103, 44,118,117,133,163,163, 35,250,246,237,203, 28, 60,120,112,207,164,164,164, 90, 93, 71,
-122,224, 90, 37, 22,173,149, 21,142, 83,149,195,111,149,181,215,225,184,103,105,172, 75,106, 62,124,192,181, 89,237,112, 39,143,
-199, 43,179, 66, 85,178,174,247, 56, 73,146,196,210,165, 75, 65, 16, 4, 88, 44, 22,216,108,118,165,223,126,126,126,250,246, 51,
-133, 32, 8,146,205,102, 47,100, 50,153, 19,165, 82,169, 51,143,199, 75, 87,169, 84,191, 72,165,210,181, 0, 20, 52, 77, 91, 86,
- 33,178, 42,229, 52, 49, 49,113,125,245,234,149,123, 85, 29,145, 74,165,240,246,246, 6,164,136,173,142, 51, 33, 33,193,213,205,
-205,173, 49, 0, 77,137,182,219, 52, 77,119,209,250,175,141,219, 52, 77,127,169,254,253,242,205,155, 55,174, 13, 27, 54,204,255,
-167,206, 79, 3,231,191,143,179, 6, 45, 98, 71, 16, 68,152,113, 48, 25,151, 0, 0, 32, 0, 73, 68, 65, 84,214,181,218, 79,243,
-127,209,162, 69, 75,214,175, 95,255,130, 32,136, 48,237,233,218,237,180,191,213,247,155, 48,154,166,251, 45, 94,188,216,115,195,
-134, 13,235, 52,109,255, 14,145,168,143, 69,203, 60, 91, 98,130,240,119,230, 96, 50, 84, 96,146, 4,152, 12, 0, 52,129,228,164,
- 4, 20, 21, 22,220, 65,226,233, 68,221, 44, 89,254,157, 90,180,240, 10, 58,186,109, 1,249,115,120, 9, 10, 68, 18,196, 61,185,
-137, 71, 55,127,207, 80, 41, 85,191,131,160, 31, 3,100, 36,222, 82,241, 64,104,237,106, 92, 16, 52,179, 84,104,169,197, 85, 57,
-177,245,201,208,188, 73,147, 38,195,150, 45, 91,102, 27, 21, 21,197, 19, 10,133, 69, 71,143, 30, 77,151, 74,165, 73, 0, 46, 39,
- 39, 39, 55,217,190,125, 59, 39, 40, 40,200,203,203,203,139,127,242,228, 73, 89, 37,229,140,222,227,156, 63, 54, 32, 98,226,172,
- 57,188,216,147,187,192,137,141,196,210,167, 57,170, 63, 5, 37, 63, 0,216,134,148,226, 78,217, 18,229,213,173, 93, 93,200,122,
-102,108, 52,180,228,248,197,229, 73,170,181,100, 25, 27, 27,111, 9, 9, 9,113,109,219,182, 45, 9, 0,225, 47,149,220,133,187,
- 35,156, 46,175,239, 68,116,106,102,131,172, 2, 41,102,239,138,198,165,136,172, 63, 52, 34,171,166, 78,154,153,153,101,167,102,
- 21, 58,216,152,242, 48,186,179, 41,186,175, 77,135,127, 27, 46,184,108, 2,241,137, 25,104,232, 86,143,136,190,115,182,141, 90,
-100,181, 21, 8, 4, 0,208, 6, 64, 98, 74, 74, 10,223,199,199, 71,168, 69,151, 15, 96, 35,135,195, 89, 74, 16, 4,221,182,109,
-219,104, 47, 47,175, 98, 43, 43, 43,136,197, 98, 72,165, 82,176,217,108,136,197, 98, 36, 39, 39,227,193,131, 7,176,178,178,210,
-235, 64, 21, 23, 23,195,204,204, 12, 20, 69,125, 48,167, 74,165, 34,246,236,217, 99,242,226,197, 11,147,208,208, 80,135,185,115,
-231,230, 54,109,218,244,241,176, 97,195, 94,219,219,219, 75,159, 62,125,138,123,247,238, 33, 63, 63, 31,237,219,183,215,137, 83,
- 38,147,129,201,100, 66, 44, 22,131,203,229,130,201,100, 66,169, 84,130,162,168, 50,241, 85, 92, 92,140,188,188, 60,176,217,108,
-200,100,178, 79,241, 6,250,158,133,170,186,225,183,218, 88,180,180,133,154,142, 34,171, 38, 75, 84,149,195,157, 5, 5, 5, 70,
-150,150,150, 11, 1, 8,106, 90, 23, 65, 16, 96, 48, 24, 96,179,217, 32, 8, 2, 93,186,116,193,132, 9, 19,208,170, 85, 43, 36,
- 36, 36,224,248,241,227,120,244,232, 17, 88, 44, 86, 89,123,157,199, 39,252,252, 24, 60, 30,239,222,128, 1, 3, 60,127,248,225,
- 7, 94,189,122,245, 16, 27, 27, 91,119,195,134, 13, 11,175, 93,187, 54, 80, 36, 18,181,209,220,237,170,183,210,171,135, 4, 75,
-135, 11,251, 74,165, 82,196,198,198,234,179,204,123,104,216,176, 97, 50, 73,146,175, 41,138, 10, 7,224, 77,211,116, 23,130, 32,
- 46,161,212, 47, 81, 27, 34,154,166,191, 36, 8,162, 16,192, 51,146, 36, 95, 82, 20,149,108,176,219, 24,160,195,125,165, 95,197,
-255, 4, 65,132,173, 95,191,190, 95,101,226,170,146,107,179,220,244, 13, 27, 54,172,211,250,255, 33, 22,213,174, 40,239, 12,239,
-167,182,114,253, 37,180,194,194,194,170, 87, 32, 20, 6,133,157, 62,118,191,187, 28,174,158,173,125,181,172, 67, 52, 34, 31,220,
- 3, 64,255,162, 83, 87,248,253,140, 72, 6,243,151, 61,235,102,146,123,111,150, 32, 37, 61, 11,247, 46,254,130,108, 65,210, 33,
-128,158,139,196,208,194, 15, 62, 18,245, 6,121,217,219,216, 90, 74,228, 52, 40, 26,192,123, 98,235,147,160, 85,227,198,141, 7,
- 71, 68, 68,216, 74, 36, 18,222,157, 59,119, 74, 66, 66, 66, 50,228,114,249, 77, 0,119,213,109,162,178,179,179,135,168,133, 9,
-131,201,100,114,228,114,121,117,190, 11,173,230, 79, 28,115,103,227,158,131,188,215,207,163,177, 61,244, 34, 10, 74, 74, 84, 55,
-179,196, 95, 3,208, 40,250,235, 81, 57,226, 52, 26,180, 11,139, 36,192, 55, 97, 57,198,229, 73,120, 64,229, 67,178, 82,169,116,
-196,200,145, 35,249, 26,145, 5, 0, 57, 69, 10,102,137, 84,193,232,212,204, 6,173,187, 13, 65,228,141, 83, 56,121, 59, 13,110,
-118,198,183,235,155, 20,232,180, 71,179,179, 4,123,182, 6,239,221,186,113,229,124,206,188,190, 22,240,111,195, 2,143, 77,192,
-220,152,133,181, 59,246, 43,162, 30,220,126,202,231,243,195, 0,124, 45, 16, 8,192,231,243,139, 1,188,100, 48, 24,137, 42,149,
-170, 50,167,238,229, 0, 28, 14, 31, 62, 76, 42, 20,138,226,132,132, 4, 56, 58, 58,194,193,193, 1, 22, 22, 22,136,139,139,195,
-159,127,254,137,248,248,120, 80, 20,133, 22, 45, 90,232,117,176,114,115,115,241,244,233, 83,244,237,251,213,220,236,236, 44,115,
- 43,107, 27,209,157,240,219,155,106,195, 73, 81, 20, 1, 0,158,158,158,240,244,244,228,165,165,165, 57,135,133,133,217,175, 89,
-179,230,157,171,171,235, 81,177, 88, 92,206,114,160,171,208,210,136, 11,141, 8,228,241,120, 96,179,217, 40, 44, 44, 68,102,102,
- 38,138,138, 74,131, 54, 45, 45, 45, 63,137,208,170,194, 66,245,209,218,255,205,226,240,189,225, 78, 75, 75,203,145, 0, 22,234,
-184, 45, 80, 42,149, 96,179,217,240,241,241, 65,112,112, 48, 30, 61,122,132,223,127,255, 29,117,235,214,197,216,177, 99, 65,146,
- 36, 94,188,120,161,111, 23,169,136,136,136,133, 95,127,253,181,231,225,195,135,121,201,201,201,136,143,143,135,165,165, 37,130,
-131,131,185,147, 39, 79,110,120,227,198,141,229, 40, 13,126,169, 30, 90,209,133, 34, 35,254, 80,111,111,239,247,154, 56, 58, 58,
- 90, 92,190,124,217,190, 76,128, 85,140, 72,124, 31, 5,203,151, 47,223,234,225,225,177, 77, 61, 92,232, 11,192,132,166,105,191,
-208,208, 80, 2, 0,252,253,253,105,130, 32, 52, 15,164,103,167, 78,157,234, 22, 23, 23, 71, 7, 6, 6, 26,124,180, 12,168, 74,
-139, 76,214, 92,147, 85, 9, 40,125,132,154,182,197, 75,131,197,139, 23,123,174, 95,191,254,225, 7,138, 44,237, 55, 38, 90, 35,
-182,202, 30,166, 85, 14, 25,150,217,190, 72,190,163,189,141,245,162,177,157, 64, 81,128, 82, 5, 40, 85, 52, 68, 37, 98,196, 62,
-127, 84, 2, 30, 17,170, 83,119,184,156,160, 53, 63,204,105, 16,157, 74, 34, 61, 95,142, 91,103,247,210,217,130,164,193, 72, 60,
- 53,254,227,136,172,161,222,142, 14,246,183,142,237, 93, 77, 62,122, 43,131,138, 42,213, 89, 20, 69,151,253,254, 4,112,180,179,
-179, 11,184,127,255,190, 29,151,203,229,189,122,245,138, 58,117,234, 84,190, 92, 46,191,166, 37,178, 0,160, 83,155, 54,109,148,
-166,166,166, 16,137, 68,114,185, 92, 46,169, 70,100, 57,251,181,106,126,123,227,158,131, 60,137, 76, 6,161, 88, 10,134,141,125,
- 69,145, 5, 0, 29,187,185,215,169, 67,240,204, 64, 3, 72, 42,148,167, 87, 37,178, 0,128,203,229,246,152, 57,115,102,185,186,
-120,182,102, 44,165, 49,151,165,186, 27,147, 67, 69,222, 56,133,240, 23, 57, 20,143,205, 80,217,209,111, 27,232,186, 3, 10, 82,
- 99,246,252,126, 46,236,234,119,203,130,138, 75, 68, 69,112,115, 50, 66,113,145, 16,107,215,111, 84, 68, 68,132,223, 92, 56,119,
-106,135, 83,167, 78,109, 64,169, 51, 56, 0,188, 60,117,234,212,152,101,203,150,253,138,191,210, 60, 84, 68,122, 64, 64, 64,106,
-179,102,205,132, 30, 30, 30,194,220,220, 92,196,196,196, 32, 63, 63, 31,219,183,111, 71,108,108, 44, 52, 22, 65,157,124, 85,222,
- 23, 72,200,207,207, 51,165,105, 26,249,121,185, 38, 63,252,240,131, 69,109, 56, 85, 42, 85,185,107,171, 78,157, 58,152, 54,109,
- 26,187,164,164,196,242,221,187,119,230,218,243,116,229,148,201,100,208, 88,134,104,154,134, 76, 38,131, 80, 40,132, 76, 38,195,
-235,215,175,203, 68,150,122,253,159,204,162,165,249,205,227,241, 50, 53,231,178,102, 8,142,199,227,101, 85,213,254, 67,160,181,
- 46, 90,253, 91, 95,113, 88,227,246,232,120,220,193,102,179, 49, 97,194, 4, 60,124,248, 16, 9, 9, 9, 96, 48, 24, 16,137, 68,
- 40, 41, 41, 65,207,158, 61,193,225,112,244,181,104,209,108, 54,123,228,146, 37, 75,120,137,137,137,200,201,201,209, 56,211, 67,
-165, 82, 97,238,220,185, 70, 92, 46,119,164,190,166,123,129, 64,208,251,245,235,215,141, 43,126, 50, 50, 50,132,218, 62,133,181,
- 69,104,104, 40,225,239,239, 79,251,251,251,211, 26,193,101,128, 1,149,161, 10, 45,178,175, 42,139,214,199,176,138,105, 44, 91,
- 80, 7,136,212, 2, 26,145,213, 85, 75,120, 17, 26, 11,151,110, 67,135,110, 67, 91, 58,216, 88,223, 56,188,107,149,105,216,115,
- 2,169, 41, 73,200, 22, 36,163, 77, 7, 63,196, 62,143, 6,165, 80,157,198,235,208,154, 61, 57,235,249,187,123,120, 52,157,222,
-181,131, 23,130,194,138,241, 42,242, 50, 10,178, 5, 59,145,116,234,244, 71, 57, 66,174,254,205, 29,236,173,111,252,186,107,149,
-229,165, 24, 18, 41, 41, 73, 56,251,235, 86, 90, 33,151, 22,160,124, 36,151,222,111,205, 70,148,140, 83, 92,144, 9, 89,145, 10,
- 60,178,132,167,231, 32, 69, 6,128,240,173, 91,183,118,111,223,190, 61, 39, 32, 32, 32, 35, 63, 63,255, 44,128,251, 90,109,154,
-185,187,187,247, 13, 14, 14,118, 72, 73, 73,193,181,107,215, 50, 80, 26,250, 95, 21, 82,111, 71, 63,223,253,231,175,251,231, 27,
- 53,104,130,237, 75,190, 83,134, 62,138, 25, 0,224,146, 86, 27,143, 30,222,238, 97,107,190,159, 65, 82, 81,127,224,105,114, 38,
-222, 10,165,127, 86, 69,152,147,147, 67,148,148,148,184, 90, 90, 90,106,159,144,224,155,136,164, 11,134,186,167,247, 92,120,199,
- 73, 34, 87,129,203, 34,233,217, 3, 93,211, 31,158, 13,181,201,145,228, 16,154,104,196,154, 48,105, 88,143,129,187, 66,206,140,
- 14, 11,187, 48, 93, 46,149,120, 53,105,210,152,126, 28,113,227,233,194,185, 83,251,212,242,136,155, 62,124,248,144,100, 48, 24,
-229, 4,186,182,133, 72, 95, 75,145, 62,208,149,179,162,208,210, 64,169, 84, 18,181,229,148, 74,165,101, 66,171,226,195,189, 50,
-193,248,119,108,191, 62, 22, 42,237, 33, 67,141, 63,157, 68, 34,177, 87,251,108, 57,124, 76,139,214,135, 68, 34, 86, 55,124,169,
- 79,255, 72,146, 4, 69, 81, 96,179,217,104,209,162, 5,194,194,194, 96,109,109, 13,115,115,115,152,155,155,195,200,200, 8, 54,
- 54, 54,101, 66,139, 36,117,142,210,161,165, 82,105,221,186,117,235,226,245,235,215,224,241,120,101, 31, 46,151, 11, 79, 79, 79,
-136, 68,162, 58,248,148,182,123, 3, 12,248,123,239, 43, 97,218, 98,137, 32,136,176, 69,139, 22, 45,169, 45,223,162, 69,139,150,
- 84,102,225,250, 64,193, 85,206,186,197,212, 86,144,149, 42, 73,181,200, 58,180,115,165,249,153, 39, 64,106,106, 34,174,158,220,
- 81,164,144,203,242, 41, 74,225,250, 54, 62, 26, 32,241,139, 78, 93, 32,233,118, 3,251,118, 35,174,190,144,161,176, 32, 27, 47,
- 31, 95, 78,130,152,179,248,163,137, 44, 7,219, 27,135,119,173,180, 60,255,156, 64, 74, 74, 18, 46, 29,219, 94,168,144,203,123,
- 32, 49,244,241,135, 80,143,100,179, 7,178, 93,222,245,155,232,155, 14, 21,161,194,200,216,184, 47,179, 50, 48, 80,112,167,250,
-200, 48,109,100,103,103,159,221,186,117, 43,241,227,143, 63,118,149, 72, 36,191, 1,208, 54, 81,122,185,185,185, 13,223,183,111,
-159,117, 74, 74, 10,235,206,157, 59,162, 27, 55,110,208, 0,206,215, 96,113, 89,208,115,252, 52, 70,171,122,117,102, 70, 37,165,
- 13, 0,240,135,214,108,207,126,173,155,221, 61,184,126,185,153,226,110, 40,138, 5, 41, 88,124, 55,181, 16,128,206,251, 91,161,
- 80, 64, 40, 20, 66, 81,156,171,108,195, 23, 9, 3,135,216, 75, 51,243, 37, 76, 22, 85,162,244, 48,207,146,222,200,125,203, 48,
- 54, 54,214,107, 95,238, 90, 63, 63, 4, 64,200,144, 33, 67, 14, 63,139,184,208,134,207,231, 95,240,240,240, 32, 0,160,138, 8,
-195,170,176, 10,192,220,142, 29, 59, 18, 62, 62, 62, 15,182,109,219,118,165, 58,177, 82, 27,139, 86, 77,208,149,147,162, 40,178,
-138,253, 75,212,150, 83,219,162, 85,147,208,250,148, 22,173,202, 68,139,182, 72,212, 22, 66,255,134,168,195,234,196,148, 62,253,
-211,248,201,177,217,108, 68, 71, 71,195,197,197, 5,114,185, 28,102,102,102, 48, 51, 51,131,169,169, 41,138,138,138,192, 98,177,
-160,231, 54, 83, 60, 30,239, 93, 76, 76, 76, 99, 59, 59, 59,168, 84,170,114, 98,235,213,171, 87, 48, 49, 49, 73,211,215,162,197,
-231,243, 47,171,163, 14,203,193,209,209,209,226, 99,236, 87,109, 75,150,191,191,191, 97,136,208,128,106,173, 89, 85, 88,181,178,
- 43, 88,162,100, 90,255,179, 81,154,195,173,159,250, 55, 42,249, 45,171,100, 90,238,250,245,235,111,104,249,119,101,127,224, 38,
-104, 82, 60,148,139,112, 97,214,100,201,178,183,182,186,113, 96,123,160,249,201, 72, 32, 45, 37, 17,183, 78, 7, 11,149, 42,249,
- 23,160,104, 65,196,181,211,161, 32, 80,130,183,161,183,116,187, 69,160, 85,171,166,174,248,253,133, 2,217,169,175, 64,211,212,
- 33,100,133,148,124,240,209,113, 27,212,194,222,218,246,198,161,224, 64,139, 51,209, 4, 82, 83, 18,113,245,100,112,161, 82, 81,
-210, 29,137,167, 35,107, 75, 59, 1,176, 98,152,240,118, 15,246,107, 53,212,213,205, 25, 20,173, 0,197,166, 49,104,129, 45,243,
-101, 84,201,239,225, 60,225, 73,170,152,154,158,118, 95, 55, 7,186,226,226,226,223, 1, 60, 70,249,244, 10,205, 27, 53,106, 52,
-116,247,238,221,118,169,169,169,188,168,168, 40,241,222,189,123,179, 40,138, 58, 3, 64,151,161,212,239,162,146,210, 14,160,124,
-190,156,230,243,199, 7, 68, 4,140,155,200, 75,188, 22, 2,171,196, 88,124,127, 55, 93,245, 50, 95, 54, 66,109, 93,171, 20,182,
-182,182,116, 78, 78, 78,114, 65, 65, 65, 99, 19, 19, 19,228,230,230, 34, 47, 47, 15, 66,161, 16,210,194, 60,165,141,170, 64, 68,
- 40,243,192, 98,177,144,149,162,128, 74,165,202,208,213,154, 5,192,106,213,170, 85,147, 40,138,210,100, 68, 44, 23, 93,168,213,
- 78,115, 62, 52, 30, 50,100,200, 97,173,168, 67,109,103,120, 77,122, 7, 66,157,222,161,253, 31,127,252, 17,215,167, 79,159,212,
-202,196, 10,151,203,213,219, 81,186,170, 40,198,218,112, 86,101,209,170, 56, 93, 31, 78,205,240,165,198, 9,190,226,116, 13, 24,
- 12, 6, 40,138,130, 14, 65, 21,127,171,104,209,142, 14,172,141,200,169,112,108,170, 77, 28, 90,203, 72,196,143,106,209,210, 28,
- 11, 54,155,141,115,231,206, 97,220,184,113, 80,169, 84, 48, 54, 54,134,169,169, 41, 76, 76, 76,112,250,244,105,104,210, 63,232,
-163, 95, 21, 10,197,145,245,235,215, 47,217,179,103,143, 17, 77,211,224,112, 56,101, 66, 43, 48, 48, 80, 44,151,203,143,232, 36,
-180, 52, 25,223, 41, 58,198,196, 68, 89,109,212, 97,101,203, 84,225,175,101,185,106,213,170, 49, 20, 69, 13, 68,133, 20, 14, 21,
-218,149, 75,253, 96, 72,239, 96,128, 14,247,147, 71,255,226,238,105, 4, 22,161,101,201, 42, 19, 92,100,117,226,197,206,202,242,
-198,254,237,129,230, 71, 31, 17, 72,124,251, 22, 55,127,219, 81, 42,178,222,156,124,130,228,208, 76, 36,134,118,198,219,208,222,
- 58,191, 61, 17, 68, 43, 39,123, 75,228,137, 40, 20,230,188, 3,104, 68,125, 12,145,101,103,101,119,227,231,224, 64,139, 83, 79,
- 72, 36, 38, 38,226,234,201, 29, 66,165, 82,242,197,135,136,172,145,108,246,192, 70,238,206, 9, 75, 39, 13, 28,234,211,208, 17,
- 54,239,226,112,126,236, 80,172, 62,254, 13,204,236, 24,104,215,215, 12, 19,214, 58, 14,229,123,114, 95,243, 59, 99,160, 30,212,
-218, 34,171, 85,253,250,245,135,222,191,127,223,214,219,219,155, 23, 31, 31, 47,217,187,119,111,150, 88, 44,190, 2, 32, 90, 15,
- 78,109,145,213,106,209,228,177, 17, 27,247, 31,230,145,108, 14,130,142,156,199,172,219,169,170, 11,201,133, 67, 80,126, 88,177,
- 82, 72,165,210,107,193,193,193, 82,146, 36,145,151,151,135,156,156, 28,100,101,101,149,125, 23, 20, 20,128,193, 96,224,250,245,
-235,178,194,194,194,251,186,118,240,222,189,123,245,211,210,210, 60, 4, 2, 65, 27,245, 39, 30,165,209,133,166, 90,211,218, 8,
- 4,130,174, 0, 30,105,166,167,166,166,214,123,240,224, 1,191, 38,126, 51, 51, 51,176,217,236,114, 22, 45, 46,151, 11, 7, 7,
- 7, 40,149, 74,156, 56,113, 2, 0,242,170,227, 96,179, 57, 2,146, 36, 64,209,148,148,199,227, 81,124, 62,191, 82,129,165, 15,
-167, 26,169, 95,126,249,165, 36, 50, 50,178, 82,139, 86,109, 56,105,154, 46,233,213,171, 23,210,211,211,193,227,241,202, 30,214,
- 26, 65, 69,146, 36,184, 92, 46, 50, 50, 50, 48,101,202, 20,208, 52, 93,242, 79,223,121,180,125,154,212, 98,136, 0, 64,168,133,
-208,123,126, 90,186,250, 64,105,134, 6,105,154,134, 70,112, 85,152, 95,182, 46, 93,178,183, 87,240,233,154, 92, 80, 80,176,177,
-180, 59,244,222, 10,223,251,244,120, 40,148, 9,173,216,216, 88, 28, 62,124, 24, 5, 5, 5,224,112, 56,200,207,207,199,193,131,
- 7, 17, 19, 19, 3, 14,135, 3,205,190,208, 85,191,249,248,248,108, 12, 15, 15,143, 25, 49, 98,132, 56, 58, 58, 26, 98,177, 24,
-209,209,209,232,221,187,183,228,238,221,187, 9, 98,177,120, 21,116, 25, 58,212,100,124, 87,151,215,145, 74,165,136,138,138,170,
-244, 83,213, 50, 21,145,144,144,224,170, 82,169, 26,211, 52,237, 75,211,180, 57,212, 41, 28,212,255,181, 63, 95,170,231,153,211,
- 52,237,171, 82,169, 26, 37, 36, 36,184, 26,228,132, 1,159, 41,110,105,137, 45, 90, 75,100,221,170,222,162, 69,145,193, 7,118,
-172, 52, 63,242,144, 68, 74,114, 2, 30, 95,220, 45, 84, 81,138, 47,244, 44,135,211, 3, 90,185, 54,120, 70, 38, 94, 20, 81, 26,
-206, 92,152,147, 2,208,140,218, 8,173,114,156,160,200,224,131, 59, 2, 45,142, 61, 38,144,158,242, 6,119,207,238, 18, 42,149,
-210,238,120, 27, 26, 85, 27,206,145,108,246, 50, 22,131, 88,218,171, 83, 75,118,231,150,238, 48,201, 74, 66, 70,106, 58, 78,196,
-102,231, 37,228, 75, 39,222, 37,228, 72,126, 35, 61,208,119,146,181,181,149, 35, 11,253,166,218, 88,223, 63, 95,248, 59,193, 18,
-201,105, 57,189, 94,112,183,172, 44, 69,249,126,190, 15, 71, 51, 51,179, 17,143, 31, 63, 54,231,241,120, 70,143, 31, 63,166,246,
-238,221,155, 43, 22,139, 47, 2,136,208,105,219,223,135,115, 91,119,183, 91,235,118,237,231, 21,139, 74, 32,146,201,193,117,224,
-171,206, 68, 60, 31,140,170, 19, 96,150,227,228,114,185,199,142, 29, 59,214,183, 75,151, 46,174, 94, 94, 94,100, 94, 94, 30,138,
-139,139,203,156,171,237,236,236, 16, 27, 27, 75, 37, 38, 38,166,115,185,220,227,186,246,179, 99,199,142,137, 36, 73,198,171,135,
-209,226, 81, 33,186, 80,171,105, 99,129, 64,208,150,207,231,223, 2, 96,172, 21,117,168,205,169, 73,239,176, 4, 0, 73, 16,196,
-163,232,232,232,226, 62,125,250,192,200,200, 8, 34,145, 8,117,235,214,133, 82,169,196,197,139, 23, 17, 25, 25, 41,162, 40,234,
- 86, 37,226,181, 92, 63, 37, 18,113, 93, 0,164,184,164,164,197,152, 49, 99,186,206,155, 55,175, 92, 72,186,189,189, 61,172,173,
-173,245,226, 4,128,188,188,188,166,127,252,241,199,156,232,232,232,239,250,246,237,107,177,100,201, 18,110,253,250,245,161, 82,
-169,200,218,114,230,231,231, 91, 68, 69, 69,109,234,220,185,243,140, 62,125,250, 48,215,173, 91, 7, 11, 11, 11,168, 84, 42, 24,
- 25, 25,161,176,176, 16,171, 86,173,194,157, 59,119,148, 52, 77,239, 18, 10,133,223,235,121, 46,225, 67,175,205,170, 44, 64, 85,
-165,100,168,162,253,223,222,207, 10, 62, 93, 80,167,112, 88, 88, 69, 6,123,232,122,206,107,132, 22,131,193, 64, 82, 82, 18,246,
-238,221,251, 94, 30, 45, 77,250,135, 42,184, 43,219,118,250,230,205,155, 42,130, 32, 58, 60,126,252,120,225,232,209,163, 39,138,
- 68, 34,103, 19, 19,147,116,133, 66,241,139, 88, 44, 94,139, 82,127, 84,182, 62,247, 16,145, 72,148, 92, 89,212, 97,197, 54,128,
-101,181,156, 21,210, 59,148, 75,225, 80, 97,153,114,169, 31, 42, 73,239,240,183, 31,119, 3,231,191,146,243,115, 23, 91, 85, 39,
- 44,125, 15,173, 38,179, 88, 98,133,119,120, 2,241, 33, 34,235,125,107,137,164, 36, 97,249,177,119, 45,101, 82, 9, 68,194,204,
-151, 72, 58,145,245, 65,155,165,238,231,237, 4, 2, 73,137,111,240, 48,108, 87,105, 63,223,134,214,186,159, 4,176,248,167, 75,
-161,108,194,194, 26, 79,231,140, 67,122,129, 8,151,222,230,159,164, 75,164,211,143, 0,249,184, 3,144, 74,105,248,193, 31, 50,
-118,251, 14,178, 24,106, 91,135,133, 45,243,127, 1,111,145, 13,187, 93,247, 46,250,212, 64,204,224,241,120,225,219,183,111,239,
-225,235,235,203, 29, 50,100, 72,101, 14,242,250, 34,245,209,171, 55, 63, 93,216,179,121,190,141,119,123,236, 92,182, 64,117, 44,
-226,121,197, 40,196,106,225,225,225,161,186,119,239,222,188, 41, 83,166,108,233,209,163,135,211,128, 1, 3, 56,117,235,214, 5,
-151,203,197,155, 55,111, 16, 30, 30, 46,123,251,246,109,122, 73, 73,201,188,230,205,155,235,147,227, 44,127,249,242,229, 27,213,
-235, 32,212,195,133,109,160,142, 46,212, 52, 82, 39, 45,109, 3,192, 56, 48, 48,112, 52, 0, 84, 17,246,189, 28,192, 30, 0, 76,
-154,166, 51, 66, 66, 66, 58,156, 61,123,182,195,220,185,115,217,125,251,246,197,253,251,247,113,245,234, 85,185, 92, 46,143, 80,
- 11, 87, 93, 75,229, 80, 0,162,148, 74,229,243,160,160,160, 14, 12, 6, 99,185,102, 70, 76, 76, 12, 14, 29, 58, 84, 27, 78, 37,
-128, 77,153,153,153, 63,133,132,132, 44,191,118,237,218,248, 49, 99,198,152, 43, 20, 10,196,198,198,226,231,159,127,174, 21,167,
- 80, 40,156, 99,107,107,187,244,226,197,139,191, 92,185,114,229,235, 81,163, 70,145,179,102,205, 66,112,112, 48,126,251,237, 55,
- 74,165, 82,157,101,177, 88, 99,114,114,114, 68,159,226,174,163, 30,134, 75,215,179,214, 97,141,188, 31, 50, 52,168, 35, 4, 31,
- 74,160,217, 14, 63, 63,191, 50, 43,163,198, 10,167,221,134, 32, 8,189,135, 14, 1, 88,210, 52, 77, 1,216,133,210,250,162,218,
- 89,225, 25,248, 43,115,188,174,140,205, 4, 82,203, 24, 72, 17, 91,125, 81,105, 75,128, 70,179, 26,216, 10,150, 47, 95,190,117,
-197,138, 21, 91, 43,166,112,208,110, 84, 49,245,195,202,149, 43, 97, 72,239, 96,192,127, 21,149, 11,173,168,125, 10, 69,131,193,
- 75,182,175, 91,176, 66,169,144, 9,105,200,253,241,230,116,244,135,174,140,166,232, 69,215,143, 6, 6,131, 70, 62,173, 82, 46,
-252,224,222,255, 77,253, 36, 44,172, 81,180,106, 26,126,123,145, 78,103,136, 20,223, 28,145,203,203, 89,131, 74,125,178,168, 97,
- 55, 36,249, 39,172,156, 88,103,230,124, 97, 67, 92,200, 27,173,247,122,178,178,178,206,109,221,186,149,220,188,121,115,215,146,
-146,146,138, 14,242,181,197,130,254, 51, 23, 49,218, 53,114,157,249,240,117,242, 64,232, 48, 92, 88, 17, 29, 59,118, 20,196,197,
-197, 5, 92,185,114,101,196,237,219,183,123,136, 68, 34, 87,130, 32, 96,108,108,156, 44,149, 74,175,113,185,220, 99,122,138, 44,
- 0,192,138, 21, 43,232,149, 43, 87, 18,113,113,113, 52,131,193,248, 19, 64, 34,131,193, 72,210,118,130,215,158,174, 89, 38, 48,
- 48, 80,151, 7,226,237,226,226,226,200, 85,171, 86,117, 89,181,106, 85, 11,181, 85,232, 54,254,242,249,210, 23, 10, 0,183,217,
-108, 78, 58, 65, 16,206,108, 14, 87,116,239,222,189,107, 31,200, 89, 34,151,203, 23,166,164,164,108,217,178,101,203, 90, 19, 19,
-147,182, 49, 49, 49,127,126, 8,167, 90, 68, 13,182,182,182,118, 58,124,248,240,169,131, 7, 15,182,103, 50,153,247, 9,130, 24,
- 34, 20, 10, 63,105, 81,105,117,129,232,149,122,212, 58,212,137,247, 99, 39, 41,253, 59,132,155, 74,165, 42, 94,186,116,105, 86,
- 69,225, 85,209,122,165,249,175, 78,229,162,203, 62,213, 39,138,178, 6,225, 66, 20, 3, 64,105,237,194,210,178, 58,186, 22,149,
- 6, 32,174,233, 58, 39, 73,242, 44,128,151, 36, 73,190,174, 24,232,162, 61,111,229,202,149, 53, 93,231, 6, 24,240, 89, 67,135,
- 59, 91, 32, 9, 4,214,214,147,246, 31, 52, 87,126,156,126, 6,176,217, 43, 73, 96, 62, 0,130, 6,182, 28,145,203,127,168,110,
- 65,199,142, 88, 75, 19,152,171,222,153,235, 50,238, 98, 77, 45,182,189, 14,116,168, 63,168, 39,103, 19, 84, 95, 80,246, 61, 78,
-127,127,127, 70, 21, 15,243,114, 69,165,171, 66,104,104, 89, 22,255,170,250,169,125,190,153, 61,120,240,192,201,199,199, 71,128,
-242, 78,255,149, 77,167,245,220,118, 6, 0,213, 71,222,159,159, 5,167,155,155, 27,231,205,155, 55,178,127,215,181,105,224,252,
- 87,114, 90, 54,117, 1,129, 73,208,206, 29, 84,173, 69, 75, 75,160,209,244,207, 40,136, 77,169,162,159,154,235,220, 50, 33, 33,
-193,181, 97,195,134,201, 0, 10, 42,244,163,178,121,180,225, 24,253,223,115, 86,134,201, 40, 95,138,206,128, 74, 14,132,129,211,
-192,105,224, 52,112, 26, 56, 13,156, 6, 78, 3,103,109,133,214,103, 13, 18, 6, 24, 96,128, 1, 6, 24, 96,128, 1, 6,252, 45,
- 32,170, 81,165,250,152, 4,107,163,108,175, 25, 56, 13,156, 6, 78, 3,167,129,211,192,105,224,252,191,227,172,137, 91,123,249,
-207,117,232,240, 31,235,183,193,172,106,224, 52,112, 26, 56, 13,156, 6, 78, 3,167,129,243, 67, 4,203,103, 13, 38, 12, 48,192,
- 0, 3, 12, 48,192,128,207, 6, 61,220,193,103,170, 64,254,241, 70,167, 32,170, 26,209,199, 13,117, 0,224, 99,241,253,159,130,
- 15,224, 43,173,255, 23,160,142,140, 55, 8,173,207, 23,141, 0, 44, 1,160, 93,139,236, 33,128,245, 21,218, 29, 5,160, 93,144,
- 80,132,210, 58,129,175,245, 89, 25, 73,146,235,187,116,233, 50,253,206,157, 59,155,149, 74,229,170, 90,244,215,149,207,231,111,
- 36, 8,162, 53, 0, 22, 65, 16,111, 50, 51, 51,215, 43,149,202, 15,137, 90,105,224,232,232,184, 1, 64, 75,146, 36, 89, 4, 65,
- 36,100,102,102,174, 81, 42,149, 55, 63,128,211,204,193,193,161, 19, 77,211,142, 0, 24, 44, 22, 43, 55, 45, 45,237, 1,106,153,
- 91,201, 63, 48,150, 93, 40, 82,178, 0,192,220,132,169, 8, 13,108, 42,215,117,154,225, 20, 55,192,128,255,111,208,165,145,201,
-229,208,219, 13,107,105, 37,190, 87, 1, 68,175,250,216,113, 57, 17,223, 87,181, 60, 81, 73, 84,115, 69,206,222,110, 88,171,162,
- 75, 57,122,185, 97,211,229, 55,168, 54,210, 94, 23, 78, 13,246, 1,228,100, 29,170, 20, 16,186, 69, 95,255,219,241, 21,202, 15,
- 21,150, 13, 29, 86, 43,180,134,185,131,175, 98,130, 25, 26, 11, 77, 24,175, 25,128, 22,234,135,252,107,148,230, 42, 42,250,192,
-206,125, 46,156,255, 54, 44,167,105, 58,160,220,201, 90, 73, 30,162, 47,190,248, 98,192,149, 43, 87,140, 53,245,238, 40,138,130,
-145,145,145, 18,192, 88, 61,214,101, 63,108,216,176, 69, 7, 14, 28,192,208,161, 67,151,134,133,133,109, 5, 80,172,235,194, 86,
- 86, 86,254,150,150,150,193,251,247,239,183,107,223,190, 3,193,225,112,240,230, 77,130,243,148, 41, 83,188,226,226,226,206,102,
-101,101, 77,212,119,227,173,173,173, 71, 90, 90, 90,110,217,187,119,175,109,231,206,157, 65, 16, 4, 34, 35, 35,157,231,204,153,
-211,226,221,187,119,199, 51, 51, 51,103,232,203,105, 99, 99,227,110, 97, 97,209,109,231,206,157, 70,157, 58,117, 2,143,199, 67,
-116,116,180,233,212,169, 83, 29,211,210,210, 98, 51, 51, 51,111,233, 43,178,158, 69,158,255, 90, 41,151, 6, 1, 0,147,205, 93,
-208,126, 75,196,249,103, 55,206,247,175,105,154,127, 96,236,239, 6,177,101,128, 1, 6,104, 99,164, 19, 28,105, 26,243,175,252,
-188,140, 4,128, 94,227, 87,207, 26,233,132,205, 71,210,171,174, 97,171, 39,223,247, 99,234, 32,248,112, 26, 50, 63,164,159,251,
- 0,114, 14,147, 57,171,157,143,143,237,183,119,239, 38,200,129, 95,254, 79, 14, 81,165,195,156, 85, 10,173,193, 77,177, 74, 89,
-106, 49, 33,250, 52,196,241,171,137,140,240, 47,190,248,162,225,132, 9, 19,136, 86,173, 90, 33, 50, 50,210,253,248,241,227, 95,
- 93,184,112, 33, 65,165, 82, 69, 2,120, 1,221,179, 90,179, 0,120, 50, 24,140,214,255,114,206,127, 51, 76,212,226, 42, 19,127,
- 37, 58,125, 47,225,233,245,235,215,207, 49,153, 76,141, 69,171,157, 72, 36,114,168, 96, 5,211, 5,245, 20, 10, 5,226,227,227,
- 65,146, 36, 11, 64,125,188, 95, 82,163, 42, 56, 27, 27, 27,239,142,120, 24,105, 67, 48,141,144, 47, 1, 32,145,131, 99,234,128,
- 3,135, 66,172,231,205,158, 49,248,230,205,155,225, 69, 69, 69,191,234,209,159,250, 38, 38, 38, 91,159, 62,125,106, 99,108,108,
- 12,138,162, 80, 84, 84, 4, 71, 71, 71,236,223,191,223,114,222,188,121, 1,133,133,133, 55, 37, 18,201,111,250,136,115, 11, 11,
-139,110,207,159, 63, 55,210, 20,148,150,201,100,112,118,118,198,209,163, 71,185,179,102,205,106, 90, 80, 80,144, 42,147,201,222,
-234, 74, 88, 40, 82,178,148,114,105,208,225, 93,129, 46, 0, 48,102, 70, 96, 16,167,200,252,162, 46,211, 10, 69,202, 11, 0, 12,
- 66,203,128,127, 26,173,109,109,109, 67,115,114,114,110, 1,152,136,143, 99,105,112,231,241,120,205, 41,138,114, 36, 73, 18, 12,
- 6, 35, 67, 36, 18, 61, 5,240,170,182,132, 54,110,126,253,193, 53, 30, 7,154,106, 65, 2, 32, 72, 50, 90, 37, 47, 57,148,251,
-234,230,249, 15,226,228, 24,141, 7,232, 22, 36, 64, 17, 36,249,148, 82,150,236,207,137,191,121,233,223,114,112,238, 11,209,216,
-205, 81,247,194,152, 31,131,111,120, 3,240, 73, 10,228,209, 36,221,135, 21,103, 2,125,103,207,158,237, 56, 99,250,116, 98,220,
-216,177,141,110,221,185, 67,116,213,167, 90,193,231,137, 42, 29,223, 43, 21, 90,254, 77, 97, 69, 3, 11,143, 7, 47, 33,153, 12,
- 6, 49, 98,246,250,128,131,187, 54,145, 61,251, 15, 41, 27, 62,241,245,245,133,175,175, 47, 17, 20, 20,212,232,207, 63,255,108,
-116,244,232, 81,101, 68, 68,196, 83, 0, 39,170, 90, 89,111, 55,136, 41,128,199,102, 49, 69, 35,150,253,186,215,199,199, 7, 92,
- 46, 23, 31,194, 9, 0, 61, 27,146,111, 89,214, 13,158,142,152,185, 60,185,125,251,142,244,199,224,252,140,240, 16, 40, 43,106,
-109,229,226,226,210, 73,169, 84,242, 0,128,201,100, 74, 82, 82, 82,102,162,180, 54, 32, 0,156,165, 40,106,128, 30,220, 36,128,
- 21, 3, 6, 12, 88,250,237,183,223,162,110,221,186,152, 53,107, 22, 20, 10, 69,228,165, 75,151,150, 3,216,128, 26, 46, 30,123,
-123,251,229,187,119,239,182,102,114, 76,208,106, 97, 34, 4, 5, 74, 0,128, 41, 23, 56, 55,141,198,172, 89,179,204, 31, 63,126,
-188, 70, 31,161,101,111,111,191,106,255,254,253,214,198,198,198,160,105,186,172, 22, 99,113,113, 49,138,139,139, 49, 99,198, 12,
-243,216,216,216,141,250, 8, 45, 7, 7,135, 78, 59,119,238, 52,226,241,120, 40, 46, 46,102,203,229,114,162,168,168, 8, 37, 37,
- 37,180, 76, 38,147,207,156, 57,147,251,226,197, 11, 63,129, 64,240, 22, 6,252, 91,192, 0,240, 13,139,197, 26,212,176, 97,195,
- 54,175, 95,191,126,162, 84, 42, 79, 3, 56,253, 17, 94,166,186, 59, 57, 57,173, 77, 79, 79,223, 9, 32,228,255,101,135, 58, 56,
- 56,156,190,119,239,158,203,238,221,187,199,110,222,188,249, 34,128,223, 62,128,142,205,102,179, 7,119,237,218,213,101,204,152,
- 49, 28, 7, 7, 7, 72,165, 82, 36, 38, 38,154,159, 60,121,210, 53, 58, 58, 58, 85, 93, 17, 67,231, 23, 10, 27,247,142,166, 96,
-154, 31,239,208,177, 83,231,161,131,191, 49,115,176,177,128, 88,166,194,235,100, 65,221, 63, 46,158,235, 26,199, 54,186, 39,151,
- 11,135,231,190,186, 87,172, 47,103,183,110,221, 59,247,232,222,221,204,194,210, 2, 66,145, 28,111,146,210, 92,111, 92, 61,239,
-203,100, 26,221,166, 8,197,168,172,231, 87, 75, 62,229,177,153, 5, 48, 69, 60,155,230, 45, 58,182,122,220,107,194,154, 54, 52,
- 77,131,164,177,163,162, 53,107, 22,192,220, 81, 90,246, 75, 47, 62,208, 52, 77, 16,216,164,109,205,234,237,134,181, 52,141,239,
- 65,130,232, 93,195, 48,165, 6,189, 0,174,165,181,181,207,212,201,147,137,162,194, 66, 68, 71, 71,151, 84, 20, 89, 91,235,128,
-125,155, 68,189,179, 41,181, 23,219,255, 82,107, 86,165, 67,135, 58,231,209, 50, 54, 54,174,116,186,133,133, 5,186,117,235,134,
-245,235,215, 51, 1,180,174, 48,187,124,145, 85,128, 27,182,103, 49, 44, 76,184,100,221,186,117,205,204,205,205, 63,152, 19, 0,
- 64, 83,245, 59,214,165,191,124,244,235,146,177,215,142,110,241, 20, 21, 21,176, 42, 54, 49, 53, 53, 69,227,198,141,177,116,233,
- 82,221, 56, 63, 28,255, 40,167,163,163, 99, 19, 95, 95,223,214,215,111,221,178, 76, 79, 79,231,166,167,167,115,175, 92,191,110,
-217,161, 67,135,214,142,142,142, 77,202,118, 21, 77,235,211,207,213,187,118,237, 90,126,246,236, 89,210,215,215, 23, 86, 86, 86,
-232,214,173, 27, 46, 94,188,200,220,188,121,243, 58, 0, 75,107,234, 39, 73,146,157,125,125,125, 9,208, 52, 50,132, 74, 60, 88,
-223, 4,209,155, 60, 80, 36,161,145, 39, 44,132, 88, 44,129,177,177, 49, 15,165,195,189,186,110,123,199, 14, 29, 58, 16, 0,202,
-196, 85, 81, 81,233,167,184, 88, 4,153, 76, 14, 46,151,107, 6,128,167, 43, 39, 77,211,142,157, 58,117, 2, 0,200,229,242,178,
- 55,188,130,130, 2, 66, 40, 20, 66, 38,147,129,197, 98,177, 81,179, 95, 99, 25,167,185, 9, 83,193,100,115, 23,140,153, 17,152,
- 50,102, 70, 96, 10,147,205, 93, 32, 51, 43, 84,233, 50,205,220,132,169,248,196,231,167, 29, 73,146, 63,187,185,185,197,146, 36,
-121, 24,128,227, 7,114,182, 5,176,206,200,200,232,154,135,135, 71,138,177,177,241,117,181, 80,239, 80, 75, 78,142,177,177,241,
-245,117,235,214,157,122,242,228,201,208, 63,255,252,179,254,179,103,207, 6, 7, 5, 5, 29, 55, 53, 53, 13, 71,121,191, 68,189,
-175,205,250,245,235, 31,124,240,224, 65,219,142, 29, 59, 30, 0,192,253, 72,215, 59, 3, 64, 75,232, 84,145,227,147, 28,119,167,
- 86,173, 90,185,240,120, 60,244,232,209, 3, 0,252, 62,132,147,205,102, 15, 94,186,116,169,219,178,101,203, 56, 2,129, 0,215,
-175, 95,199,195,135, 15,161, 84, 42, 49,109,218, 52,238,152, 49, 99, 26,152,153,153, 13,214,171,159, 76,243,227,179,231,204,237,
- 51,127,214, 36,179,167,239,228, 56,116,237, 29,126,143, 16, 32,171,132,131,254,131,199, 88,244, 30, 56,172, 55,135,107,113, 92,
- 95,206, 69, 11, 23,246,153, 60, 62,192, 44, 70, 64,225,220,253, 12,220,143, 23, 66,201,178, 68,223,193, 19,173, 90,116,234,243,
- 21, 19,172, 95, 62,245, 49,218, 15,180,159, 61,123,182,221,130, 77, 71,238, 58,181,253,102, 71,118, 62,124,181,133,143, 59, 96,
-105,109, 98,242, 77,124,215,174,147,140, 74,235,197, 86,203, 89,142,175,245,192,224,172,124,116,209,246,207,234, 98,141, 70,234,
- 97, 69,198,149,159,151,145, 52,129, 89, 35,157,202,221, 7, 42,237,231, 77, 96,232,236,185,115, 89, 22, 86, 86,216,181,107, 23,
-164, 34, 81, 57,159,217,238, 46,232,115,205,152,153,218,192,195, 57,182,155, 43, 17,254, 31,124, 95,153, 92,165, 69, 43, 44, 44,
-140,238,215,175, 31, 1, 0,161,177,200, 31,220, 20, 27,135,125,187,110, 41, 65, 18,116, 61,207,142, 49,117,220,154,137,108,108,
-108, 80, 82, 82, 2,169, 84, 10, 54,155, 13,137, 68,130,119,239,222,225,254,253,251,176,178,178,210,171, 39,133,133,133, 48, 53,
- 53,133,169,169,233, 71,225, 92, 60,182, 7,247, 77, 74, 54,247,242,253,155, 93,183, 79,255,173,189, 91, 75,191,103,221,135,205,
-122,110,110,231, 36,121,246,236, 25,238,221,187,135,252,252,124,248,248,248,252, 87, 14,230, 67,181, 79,214, 67, 0, 86, 13, 27,
- 54,116,190,124,237,182, 85,177,132, 50, 79,202, 84,176, 40,138,130,177, 49, 95,121, 34,244,156,112,232,224,254, 68, 70, 70, 70,
- 22,128,135,106,113, 91, 83, 77, 69, 30,128, 38,254,254,254,139,166, 79,159,142,132,132, 4, 76,154, 52, 73,252,240,225,195,220,
-142, 29, 59,218,236,223,191,223,104,222,188,121,184,117,235,214,138,176,176,176, 51, 0, 18, 1, 84, 90,171,141,166,105, 54,155,
-205,134, 82, 45, 27,228, 42,170, 76,223, 23, 22, 22,130, 22,231,131,205,102, 51, 0,216, 65, 71, 63, 58,138,162,216, 44, 22,171,
- 76,100,189,203, 44,196,187,172, 18, 20, 22,203, 32, 22, 43, 33, 19,211, 96, 24,219, 48,129, 36, 7, 0, 73, 80,170, 87, 0, 0,
- 0, 32, 0, 73, 68, 65, 84,186, 90, 71,120, 60, 30,148, 74, 37,138,138, 74,187,161,177,148,201,100, 50, 8,133, 66, 48, 24, 12,
- 83, 0,230, 0,242,116, 33, 84, 59,185,255,174, 30, 6,196,163, 35, 3,108, 95, 95, 88, 92,110,154,185, 9, 83, 17, 58,175, 41,
-195,198,185,197,157,150, 67,127,241, 40,155,246,105,253,179,184,118,118,118, 55, 78,157, 58,213,180, 81,163, 70, 72, 76, 76,244,
- 24, 50,100,136,143, 64, 32,104, 9,253,107, 50, 26,147, 36,185,113,204,152, 49,211, 71,140, 24, 65,184,187,187,131,201,100, 66,
-169, 84, 58, 39, 36, 36,116, 59,121,242,228,194,131, 7, 15,238, 87,169, 84,223, 65,119,191, 63,146,195,225,156,216,187,119,111,
- 23, 31, 31, 31, 28, 62,124, 24, 15, 31, 62,164,218,182,109, 75,142, 30, 61, 26,174,174,174, 62,163, 71,143,254, 93, 42,149,246,
-173,165,101,203,181, 67,135, 14, 46, 12, 6, 3, 29, 59,118,100,223,187,119,175, 21,128,123, 31,184, 79, 77,157,157,157,111,249,
-249,249,181,188,118,237, 90, 84, 70, 70,134,159, 30,219, 11, 0, 3,157,156,156,130, 44, 44, 44,172,244,184,199,150,164,165,165,
-125, 15, 32, 84,199, 69,218,183,110,221, 26,201,201,201,104,210,164, 9,216,108,118, 7,185, 92, 62, 5, 64, 31, 0, 63, 0,136,
-213,163,191,238,221,187,119,119,241,243,243, 35, 66, 67, 67,203,252, 67, 73,146,132, 82,169, 4,155,205, 70,251,246,237,201,200,
-200,200, 58,143, 30, 61,114,135, 14,195,136, 54,110,126,253, 59,118,238,218,185,139, 79,115,114,115,232,107,168, 40, 21, 24,132,
- 18, 76,130, 2,165,224,130,203,102,192,221,179, 13, 35,254,197, 83, 31,153, 84,222, 63,247,213,181,243,186,112,246,233,213,211,
-183,105, 19,119,114,251,239,111, 80,144, 22,171, 74,139,187,157, 67, 50, 72, 52,109,253,133,173,123,179,150,140,150, 62,126,172,
-244,196, 23,221, 36,146, 46, 61,242, 19,110, 95,251, 20, 23,228, 74,128,225, 92,199,246,155,126, 61,253,216,130,244,116,209,201,
-208,243,207, 75, 20,184, 15, 0,183, 0,162, 47,208,220,187, 93,187,174,251, 55,108,176,225,243,249,172, 81, 35, 70, 40,247, 69,
- 69, 69,161,138,161,223,149, 0,195,214,209,177,199,212,169, 83, 25,130,244,116,250,228,233, 11,207, 52,124, 40,125, 75,241,110,
-238,236,209, 15,162,120,189,134, 41,251, 3, 28, 7, 71,199,166, 83,166, 76, 65, 70,122, 58, 14,135,132, 20, 75,128, 8,141, 21,
-235, 28, 3, 59,155,185, 57,142, 91, 48,113, 0,225,194,183,197,212, 21,251, 58,116,147,103,185, 65,240,215,241,215,214, 34,159,
-177,200,154, 92,169,208,170,136,223, 98,177,220,140,141,250, 39, 79, 30, 35,179,139,228,162,132,132, 4,216,218,218,130,207,231,
-195,194,194, 2, 49, 49, 49,184,126,253, 58, 94,190,124, 9,138,162,208,162, 69, 11,189,122,147,147,147,131,167, 79,159,194,202,
-202,234,163,113,186,185,216,225, 91, 23, 59,118,102,110, 33,251,218,195,151, 62,251, 22, 15,110, 70,122, 12, 62,168, 93, 36, 86,
- 38,147,225, 63,130,178,232, 66, 23, 23,151, 78,135, 14, 29, 98, 75,149, 48,115,159, 18,241,163, 72,162, 50, 1, 0, 19, 30, 67,
- 20, 25,212,248,187,213,171, 87,139,198,143, 31,239,145,146,146,178, 94, 7, 91,255,218,238,221,187,207,167,105,154, 53,123,246,
-108, 0,192,152, 49, 99, 10,239,223,191,239, 14, 32,235,250,245,235, 78, 19, 38, 76,120,117,227,198, 13,227,185,115,231, 50,148,
- 74,101, 12,147,201,164,195,194,194, 86, 1, 8,124,239,137, 72,146,143,163,162,162,234, 57,185, 54,134,171, 13, 9,223,165, 47,
- 75,111,112,198, 20, 82,147,222, 32,238,217, 67, 56, 58, 58, 90,240,249,252,216,212,212, 84,121, 90, 90,218, 66,145, 72,180,187,
-134, 62, 70, 71, 70, 70,242, 93, 93, 93, 81, 92, 92,140,212,236, 18,204, 58,109,140, 66,113,169, 17,131, 5, 49, 90,186, 52, 54,
- 51, 34,101, 15,179,178,178,228, 50,153,108,153, 80, 40, 60, 84, 29, 39,139,197,202,125,246,236,153,105,221,186,117, 33,145, 72,
-232,188,188, 60, 66, 36, 18,161,168,168,136,184,112,225,194,215, 2,129,160,109,253,250,245, 9,103,103,231, 85, 2,129, 64,156,
-150,150, 54, 73,151,161, 73,181, 96, 82, 49,153,204,205,147, 39, 79, 30,122,230,204,153,199,161,129, 77, 7,106, 13,151, 88,120,
-122,122, 94,110,222,188,153, 83,200, 38,239, 29, 0,126,252, 23,156, 91,227,150, 44, 89,210,212,218,218, 26, 83,167, 78,197,202,
-149, 43,177,124,249,242, 70, 83,167, 78,157, 12, 96,171, 30, 60, 70,142,142,142,143,182,111,223,238,209,169, 83, 39, 92,188,120,
- 17,199,142, 29,195,219,183,111,149,245,235,215,103,250,248,248, 96,197,138, 21,232,221,187,247,164,153, 51,103,118, 77, 79, 79,
-111,165,163,248, 24,191, 98,197,138,129,157, 59,119,198,216,177, 99,165, 55,111,222, 28, 10,224,202,213,171, 87,191,184,117,235,
- 86,232,145, 35, 71,140,214,173, 91,215, 99,222,188,121, 83, 1, 4,215, 98,251,191,238,210,165,180,134,114,231,206,157, 17, 20,
- 20,212,251, 3,133, 22,199,198,198,230,194,225,195,135, 91, 54,110,220, 24,163, 70,141,106, 53,116,232,208, 11,249,249,249, 61,
- 1,232,116, 67,170, 83,167,206,198,179,103,207, 54,172,106,100,161, 50, 72,165, 82,235,111,190,249,102, 67, 82, 82,146, 94, 66,
-235,232,209,163,248,254,251,239,209,162, 69,139,230,237,219,183,223, 51,101,202, 20,248,251,251,119,143,137,137,113, 64,105,212,
-114,141,224,241,120,205,135, 15, 31,206,121,240,224, 1, 0,192,211,211, 19, 45, 91,182, 68,114,114, 50, 30, 63,126, 12,169, 84,
- 10, 7, 7, 7, 12, 26, 52,136,151,148,148,212, 60, 39, 39,167, 70,161, 69,114,141,199, 13,236,215,215,236,220,125, 1, 84,148,
- 18,109, 26,154,195,199,195, 30,241,169,133,136,140, 77,133, 74,198,134,185,181, 13, 58,116,237,101,157,145,246,118, 92, 46, 80,
-179,191, 22,215,120,220,160,129, 95,153,158,139, 72, 71, 65,122, 28,253,250,225,153,235, 10,137,104, 18, 0, 60,254,243,248, 30,
- 71, 27,163,158,238,173,219, 48,252,122, 14,176, 58,125, 44, 99, 92,254, 63, 83,219,239, 61,220,114,193, 94, 87, 86,206,152, 5,
- 1,190, 52,203,202,249,161,153, 66,177, 83, 51,175, 55,208,107,225,146, 37,237, 39, 78,158,204,163, 40, 10, 71,126,253,181,240,
-105, 84, 84,252,100,128,154, 82, 5,223, 78,192,117,232,192,129, 92, 51,115,115,204,153, 53, 11,102, 10,197,141,178, 93, 2,116,
-159, 51,127,126,167, 25, 51,102, 24,237, 89, 53,253,113,239, 9,107, 90, 83, 52, 77,104,134, 41,143, 86,111,138,107, 59, 97,224,
- 64,152,153,155, 99,246,236,217, 32,228,242,203,101, 2,138,137, 27,227,191,246,245, 9,232,223, 25, 4, 8, 28, 11,187,131,215,
-201,217,207,110, 8,240,230,115, 85, 85, 21, 80,165,143, 86,181, 67,135, 69,114,100,118,255,106,176,192,221,221,189,168, 81,163,
- 70, 69,185,185,185,120,254,252, 57,242,243,243, 17, 28, 28,140,184,184, 56, 80, 20, 85,107, 1, 67, 81, 20, 62, 54, 39, 0, 56,
-216,152, 99, 84,223,118, 76,169, 68,196,203,206,206, 46, 55,124,244, 31, 18, 90,101, 80, 42,149,188,250,245,235,131, 4, 8, 97,
-137,194, 52,227,104, 23, 34,227,104, 23, 66, 88,162, 48,149,201,100,164,169,169, 41,164, 82, 41, 79, 7, 42,214,151, 95,126, 57,
-255,204,153, 51,172,181,107,215,194,203,203, 11,114,185, 28,247,239,223, 79, 5,144,165,110,147,126,251,246,237,116,141, 16, 94,
-191,126, 61, 78,159, 62, 77,244,232,209, 99, 97,101,231,147, 64, 32,216, 56,101,202,148,188,146,162, 60,236, 29, 38, 70,232,168,
-108,252, 60,240, 45, 70,216,156, 66, 94,230, 59,236,219,183, 15, 87,175, 94, 35,174, 92,185,202,190,121,243,166,201, 87, 95,125,
-181,163, 78,157, 58, 97,213,117, 50, 61, 61,125,237,140, 25, 51, 10,138,138,138, 80, 84, 84, 4,177, 88,130, 60, 17,240,108, 75,
- 83, 60,219,210, 20, 18,202, 8,187,118,238, 38,159, 61,123,102,251,246,237, 91,167,254,253,251,111,225,243,249, 7,171,227, 76,
- 75, 75,123,240,237,183,223, 74, 10, 11, 11, 33,147,201,228, 42,149, 74, 38, 22,139, 21,199,143, 31,159,107, 99, 99,211,225,226,
-197,139,172,171, 87,175, 49,111,222,188,197,190,126,253,186, 69,183,110,221, 78, 56, 56, 56,252,162,139,165,140,193, 96,108, 11,
- 9, 9, 25,183,107,215, 46, 7, 31, 31,159,102, 21,134,162,248, 61,123,246,172,247,235,175,191,214, 9, 10, 10, 90,136,210, 0,
-148, 79, 10, 91, 91,219,153, 3, 7, 14,196,174, 93,187,112,254,252,249,121, 59,118,236,192,151, 95,126, 9, 39, 39,167,111,161,
-251,176, 23, 0,252,184,117,235, 86, 15, 15, 15, 15,140, 25, 51, 70, 54,105,210,164,239, 14, 29, 58, 84, 63, 60, 60,156,253,203,
- 47,191,212,155, 58,117,234,236,128,128, 0, 73,131, 6, 13, 16, 28, 28,220,144, 36,201,109, 58, 93,223, 14, 14,115, 71,140, 24,
-129, 77,155, 54,225,230,205,155,131, 81,250, 64,149, 1,184,116,247,238,221,254,235,214,173,195,224,193,131,225,236,236, 60,187,
- 54,150,167,166, 77,155, 46,235,211,167, 15,194,195,195,209,170, 85, 43,116,232,208, 97, 30, 0,219, 90,238, 78,210,212,212,244,
-196,161, 67,135,124,235,213,171,135, 53,107,214,192,205,205, 13, 7, 15, 30,244, 53, 49, 49, 57, 1, 29,221, 55, 44, 44, 44, 76,
-141,141,141,177,112,225, 66,122,240,224,193,121, 53,125,230,205,155, 71,115,185, 92, 88, 89, 89,233, 26,248, 98,196,227,241, 58,
-122,121,121,225,254,253,251,184,122,245, 42,150, 46, 93,138,185,115,231, 34, 59, 59, 27,195,135, 15, 55, 6,224,175,199,118,219,
-219,217,217,161,176,176,180, 46,188,151,151, 23,158, 60,121,130,236,236,108, 56, 59, 59, 35, 35, 35, 3, 54, 54, 54,104,220,184,
- 49, 40,138,178,215,141,146,246,178,181,182, 64, 86,190, 20, 76, 40,209,218,221, 22, 55,158,231,226, 93,182, 12,246, 54,150,200,
-200,202, 70, 29, 27, 30, 92, 92,234,130,166, 41, 47,157, 20, 48,131,108,205,229, 25, 33,175, 72,142,180,216,155,185,114,149,116,
- 74, 65,226,221,148,130,196,187, 41,114,169,100,202,227, 59, 87,115,235, 57, 24,193,197,197, 5, 4, 77,181,251, 20,215,227,144,
-186,112, 49, 49, 98,142,185,250,243, 50, 34,108,255, 98, 66,154,251,174,109, 31,135, 82,203,178, 29, 80,127,200,240,225, 29,191,
-251,238, 59, 94,102,102, 38, 21, 48,108, 88,222,218,192,192,107,127,212,240, 98, 80, 12, 52,234,217,179, 39, 72, 0,127, 92,185,
- 34,202, 0, 82, 1,192, 1,112, 25,240,205, 55, 93,150, 44, 90,100,148,147,155, 75,221, 79, 40, 62, 23,151, 69, 15,178, 86,161,
-190, 46,254, 89, 42,192, 91,195,123,249,242,101, 90, 12, 60, 6, 0, 63, 23,124,219,171,147,167,207,232,129, 93, 32,200,202,199,
-236,181, 63, 99,207,201, 91,151, 45, 20,244, 23,255,161, 71,241,228, 90, 9, 45,245,208,207,123,211, 74, 74,222, 31, 61,248, 80,
- 1,243,119,112, 86,134,255,162,208,210, 64,161, 40, 29, 37,145, 41, 40,200, 20,148,230,173, 22, 98,177, 88,103,138,203,151, 47,
- 31,158, 53,107, 22,182,108,217,130, 87,175, 94,129,205,102,195,203,203,139, 15,192, 84,115,207,111,221,186,181, 61, 73,146,136,
-143,143,199,230,205,155, 49,126,252,120,250,222,189,123, 7, 81,121,190,148, 39,121,121,121, 59,167, 76, 26, 95,144,159,249, 14,
- 10,113, 62,178,210,222, 64, 42, 42,192,154,245, 27, 81,162, 96, 34, 67, 40, 71,134, 80, 14,146,107,141, 61,251, 15, 49,154, 54,
-109,218,135,193, 96,244,171,166,159,247, 51, 51, 51,247, 79,155, 54,173, 32, 35, 35,163,108,251,100, 10, 26, 50, 69,249,243,213,
-216,216, 24,219,182,109,179,112,119,119, 31,200,100, 50,187, 85,195, 41, 72, 73, 73,137,155, 54,109,154, 44, 51, 51, 19, 66,161,
- 16,231,206,157,235, 95,175, 94, 61,171, 13, 63,110, 33, 68,114, 38, 50, 10,228,200, 40,144,131, 99,106,143, 19,161,103, 24,141,
- 27, 55, 14, 96, 50,153, 29,106, 18, 89, 71,142, 28, 25, 61,108,216, 48,179, 31,127,252, 49,239,236,217,179,187, 0,104, 31,144,
-248,109,219,182,157, 60,113,226, 68,209,252,249,243,173,131,130,130,230,125, 98,177,213,109,216,176, 97, 77, 40,138,194,169, 83,
-167,158, 1,216,122,230,204,153, 71, 82,169, 20,195,135, 15,175,175, 30, 70,210, 5,109, 3, 2, 2,166,251,250,250, 98,206,156,
- 57,242,107,215,174,181, 6,176, 5,165, 67,185, 52,128,100, 0, 59,110,221,186,213, 98,230,204,153,210,118,237,218, 97,236,216,
-177,227, 1,248,214,192,219,113,196,136, 17, 30, 20, 69,225,248,241,227, 79, 1, 92,172, 48,255,122,104,104,232,125,153, 76,134,
-145, 35, 71, 54, 0,160,207,141,156,205,229,114, 79,173, 94,189,218, 50, 45, 45, 13,163, 71,143,150,198,199,199, 35, 48, 48,208,
-200,194,194,226,162,214, 53,160, 51,184, 92,238,190,159,126,250,105,160,183,183, 55,166, 77,155, 38,219,189,123,247,172,233,211,
-167,203, 90,183,110,141, 93,187,118, 13,228,112, 56,122,149,232, 72, 79, 79, 47,136,141,141,181,169,233,147,154,154,170,107,120,
-190,177,169,169,105,132,167,167,103,161,151,151, 87, 27,165, 82,137,152,152,152, 55,135, 15, 31,166,188,188,188,176,115,231, 78,
- 4, 5, 5,161, 95,191,126, 96, 48, 24, 58, 11, 45, 6,131, 1,185, 92, 14, 99, 99, 99, 48,153, 76,188,121,243, 70,147, 90, 6,
-108, 54, 27, 0, 96, 98, 98, 2, 35, 35, 35,144, 36,169, 83, 52, 26, 65,128, 46, 44, 81,128,197, 34,193, 36, 41,196, 37, 11, 33,
- 87, 80,224,177, 25, 96, 49, 9,128,166, 96,105,194, 2,143,195, 0, 73, 16,148,142,156, 16,138,228,224,176, 73,176,216, 28,130,
- 84,170,140,202, 30,142, 76,149,145,145, 17,135,176, 53,231,130,199,254, 23,149, 5, 38, 74, 29,203,199, 1, 44,147,186,117,135,
-110,218,188,153, 83, 88, 92,140,193,131, 7,231, 37, 61,122, 20, 34, 6, 30,117,173, 33, 72,137,100, 50,221,253,186,118, 69,100,
- 84, 20,138,242,243, 95, 3,165,206,241, 28, 39,167, 97,219,182,109,227,136, 37, 18, 12, 30, 52,168,224,213,157, 59, 71, 82,138,
- 17,118, 60,185, 84,136,213,120,220,217,108, 71, 13,175, 48, 63, 63, 31, 40, 77, 33,225, 96,103,186, 97, 70, 64,111, 20,149, 72,
-176, 96, 99, 8, 21, 21, 39,248, 54, 60, 21, 95,157, 73,135,240, 63,246, 24,158, 92,225, 3, 64,135,132,165, 26,235, 82, 77, 98,
- 69, 42,149,126,116, 1,244,161,156,149,137,196, 15,229,252, 55,130,201,100, 74, 94,190,124,201, 49,183,113,162,108,204, 88,249,
-245,198,223,177, 0, 0,107, 83,166, 80,174, 82, 80,233,233,233,224,114,185, 18, 29,135, 27, 38,237,219,183,111, 13,128,102, 76,
- 38, 51,236,208,161, 67, 68, 72, 72,136,213,136, 17, 35, 18, 98, 99, 99,211, 60, 61, 61, 93, 15, 29, 58,100, 14, 0, 59,118,236,
-160, 79,156, 56,209, 27,165, 41, 51,170,204,227,146,153,153, 25,152,155,155,123,111,198,140, 25,193, 28, 14,199,202,196,196,196,
- 38, 60, 60,156,144,200,105,180, 93,146, 92, 22,137,104,110, 68,226,246, 98,115, 76,158, 60,153, 17, 27, 27,187, 62, 45, 45, 45,
-172, 26,206,133, 5, 5, 5,225,175, 94,189,218, 98,225,220,210,206,196,117,137,133,207,226,120, 0,128,171, 45, 11,164,250,190,
- 88, 80, 80,128,236,236,108, 76,159, 62,221, 42, 33, 33, 97, 97, 90, 90,218,141,106,172, 90,183,114,114,114, 82, 95,188,120,225,
-199, 98,177, 56, 38, 38, 38,109, 35, 34, 34, 8,137,140, 66,243,133,201,200, 43, 46,237,167,181, 41, 19,143, 87, 59,224,219,111,
-191,101,190,126,253,122,163, 64, 32,232, 92,233,205,140, 36,131,180, 69,214,130, 5, 11,162, 1, 52, 0, 80,110,104, 84,165, 82,
- 17, 35, 71,142,124, 14,192,107,254,252,249,214, 52, 77,207, 91,184,112, 97, 30,128,189,255,244,185,100,110,110,190, 97,202,148,
- 41, 56,113,226, 4,242,243,243,183, 1, 64, 97, 97,225,214,163, 71,143, 30,159, 52,105, 18,126,253,245,215, 13,217,217,217,127,
-160,230, 80,237, 47,135, 15, 31,142, 75,151, 46,225,207, 63,255, 92, 6, 32,166,138,118,175,194,195,195, 23,158, 61,123,118,251,
-136, 17, 35,240,243,207, 63,247, 1, 80,157,131,108,207,222,189,123,227,226,197,139,200,205,205,221, 85, 89,131,130,130,130,221,
-231,206,157,107,223,187,119,111,172, 95,191,190, 39,128,235, 58,108,186,135,133,133,197,161,237,219,183,183,245,246,246, 70, 64,
- 64,128, 68, 46,151,247,153, 63,127,254,249, 99,199,142,153, 29, 62,124,184,205,228,201,147, 31,168,115,190,221,215,201,148, 69,
-146,235, 54,111,222, 60,193,207,207, 15,243,230,205, 83, 94,190,124,121, 0,128, 43,127,252,241, 71,194,130, 5, 11, 46,108,222,
-188,153,177,105,211,166, 9,179,103,207,206,166, 40,234, 83,137,235,213, 59,118,236,104,223,171, 87, 47,188,121,243, 6,247,239,
-223,135, 92, 46,255, 53, 34, 34,226,118,163, 70,141, 86,203,100,178,243, 38, 38, 38, 99,204,204,204, 60, 91,182,108,249,197,227,
-199,143,141,161,155,159, 94,102, 98, 98,162,165,133,133, 5,148, 74, 37,158, 61,123,134,186,117,235, 66, 46,151,227,237,219,183,
-240,246,246, 6,155,205, 70,102,102, 38,180,172,229, 53,136, 34,242, 89, 66, 82,122, 3,107, 51, 19, 64,197,195,147,248, 84,216,
-217, 90, 65, 69,144,200,200, 16,160,101, 19,103, 16, 4,129,130,220, 12, 16, 4,241, 92, 23, 78, 21, 77, 69,190, 75,207,170, 99,
- 99,198,133,119,251, 94, 54, 17,127,100,135,152, 55,232, 52,153,201, 32, 24, 28,174,233,222, 9, 99,199,218, 82, 20,141,130,220,
- 76, 48, 73,242,225,167, 56, 64,167,222, 33,165,171, 27,239, 73,175, 9,107, 90, 18, 52,104,177, 28,135,127,206, 68,190, 49,208,
-114,199, 15, 63, 88,218,216,218, 34, 32, 32,128,202, 77, 75,187, 86,162, 99, 98,229, 6,141, 26, 57,152,154,153,225,238,221,187,
- 96,148,250,216,226, 32,224, 17,180, 96,129,141,189,163, 35,198, 79,152, 64,101,190,123,119, 93, 12,164,235,211,215, 6,110,110,
- 44, 13, 47,169,230, 21, 48, 48,107,254, 0, 95,174,137, 17, 23,235,246,156, 65, 74,142,232,120,132, 0,123,254,163,246,142,125,
-213, 90,180,170,114, 62, 43,117,170, 54,174, 86,172,240,120,188, 50,107,138, 30,111,122, 31,157,179, 38,252, 29,156,159, 16,139,
- 1,156, 5,176, 56, 37, 37, 37,110,194,132, 9,114,165, 92, 90,116,111, 77,131, 69, 81,235,235, 77,139, 8,228, 79,251,125,150,
-197,162, 18, 97, 94,209,142, 29, 59, 20, 41, 41, 41,113,218,203,212,192,253, 14,192,197, 95,126,249,101,247,169, 83,167,224,229,
-229,133,152,152, 24,123,145, 72,212,234,249,243,231,214, 30, 30, 30, 8, 9, 9,193,137, 19, 39,182, 0,184, 90,157,200,210, 64,
-169, 84, 94,203,200,200,104,156,156,156,220,208,210,210, 82, 97,105,105,137,138,145,136,133, 98, 10,185, 5, 66, 88, 91,219,192,
-220,220,188,190, 14,226,252, 98, 70, 70,134, 59,101,213,164,139,123,206, 54, 97,228, 58, 23, 68,174,115,193,197,133, 78,224, 91,
-114,144,159,159,143,236,236,108,100,103,103,131, 32, 8, 40, 20,138,166, 58,112,190, 21, 8, 4, 7,222,189,123,119,214,193,193,
- 1,102,102,102,160, 1,100, 20, 40, 16,189,201, 3,209,155, 60,144, 81,160, 64, 97, 81, 17,234,213,171, 7, 51, 51,179,170,134,
- 40,200, 58,117,234,244, 29, 54,108,152, 25, 0,168, 5, 84,119,154,166,167, 85,242,153,170, 84, 42, 59,105,218,126,255,253,247,
-214, 0,122,255,195,231, 19, 3,192,140, 73,147, 38,181,225,241,120,216,185,115,231, 91, 0, 71, 52,247,250,221,187,119,199, 3,
-192,172, 89,179, 60, 1,204, 67, 21,153,160,203, 76, 67,108,118,235,166, 77,155, 34, 34, 34, 2, 0,206,212,176,238,208,123,247,
-238,161, 81,163, 70,224,241,120,109,107,104, 91,223,197,197, 5,241,241,241, 0,240,164,138, 54, 79,226,227,227, 75,135,123, 8,
-162,190, 14,219, 62,176, 87,175, 94,207,110,220,184,209,182, 99,199,142,152, 48, 97,130,236,193,131, 7,125, 1,220,126,242,228,
- 73,183,145, 35, 71,138,220,221,221,113,235,214, 45,143,145, 35, 71,222, 35, 73,114,141, 14,156,227, 87,173, 90,181,248,235,175,
-191,198,170, 85,171,232,147, 39, 79, 6, 0,184,162,158,119,249,248,241,227,163,215,174, 93, 75, 15, 26, 52, 8, 43, 87,174, 92,
- 12, 96, 90,117,100, 34,145, 72,168, 82,169, 32, 18,137,116, 50,201,235,218,222,214,214,246,203, 94,189,122, 97,233,210,165,168,
- 83,167, 14,206,159, 63, 79, 3, 8, 3, 16, 46,147,201,186, 0,216, 44, 18,137,126,143,136,136, 64,207,158, 61,217, 40, 95, 98,
-164,186,245, 63, 59,122,244,168,212,194,194, 2,174,174,174,104,208,160, 1, 50, 50, 50,144,148,148, 4,111,111,111,180,110,221,
- 26, 74,165, 18, 7, 14, 28,144, 20, 21, 21,233,148,147, 79, 41, 19, 29,190,122,225,180,208,198,140, 11,103,123, 11,212,171, 99,
-141,226,130, 28,100,103,164,163,117,211,186,232,218,186, 30,114,132, 50, 92, 14, 59,157, 95, 84, 84,114, 88, 39, 19,190,180,228,
-208,181, 63,206, 11,173,204,216,104,220,196, 19, 35, 39,204,106,217,178,149,207,213,118,237, 58, 93,254,113,195,186,230,221, 59,
- 52, 37, 82,115, 36,184, 20,118, 38, 95, 88, 88,120,232, 83,220,232, 87, 2, 12,137,133,251,237, 93,103, 35, 15, 52,235, 51,233,
- 64, 92, 42,182, 1,128,130,193,240,232,251,229,151, 72, 77, 77,197,233, 83,167, 4, 37,192, 83, 93,249,140,140,140, 72, 0, 16,
- 10,133,224,170,253,238,148, 64,147,175,190,250, 10,217, 57, 57, 56,122,228, 72,246, 37, 32, 74,159,126,246, 7, 56,198, 70,165,
- 6, 65,161, 80, 8, 2, 40, 4, 0,130,137,190,237,188, 26, 33, 59,175, 16, 55, 30,198, 21,215, 19, 99,122,117, 60,159,177, 35,
-124,237,124,180, 0,228,204,155, 55, 15, 92, 46, 23,124, 62,191, 76, 28,105,196, 10,135,195, 1,159,207,135, 82,169,196,241,227,
-199, 1, 32,167,218, 55, 60, 64, 58, 96,218,122, 74,170,160, 75, 88, 44,214, 71,225, 84,191, 57, 74, 7, 47,248,153,250,227, 94,
-229, 65, 49,181,225,252, 12,208, 78,157, 19,171, 29,128,252,164,164,164,212,161,131, 7, 8,147, 19, 94,100,136, 10,210, 5,133,
-185, 41,130,148,183,207, 51,150, 44,156, 39, 76, 77, 77, 77, 65,105, 46,173,118,233,233,233,154,101,116,193,188,161, 67,135,254,
- 52,105,210, 36, 58, 58, 58, 26, 0, 16, 25, 25,137,177, 99,199,210,163, 71,143,222, 6, 96, 81, 45,250, 45, 18,139,197,229,172,
- 33,114, 21, 85, 54,228, 87, 88, 88,136,244,244,116,200,100, 50,157, 21,241,171,203,155, 94,230, 37, 61, 86,120,186,154,192,211,
-213, 4, 30, 46,198, 32,148,197,101, 34, 43, 59, 59, 91,243,230, 44,209,163,159,133, 82,169,180, 92, 63,181,135, 38, 11, 11, 11,
-145,145,145, 1,149, 74, 85,213,131,140, 74, 75, 75,187,124,226,196,137, 34, 0,248,241,199, 31,243, 8,130,248,147, 32,136,159,
- 42,249,236, 97, 50,153,119, 53,109, 55,109,218,148,135,247,135,196,254, 78,124,237,237,237,157,191,120,241,226,157,179,103,207,
-198,158, 61,123, 32, 16, 8, 22,225,175, 92, 60, 84, 78, 78,206,130, 93,187,118, 97,220,184,113, 88,190,124,249,166, 86,173, 90,
- 21, 2, 24, 89, 21,161,157,157,157, 51,147,201, 68, 84, 84, 84, 33,128, 55, 53,172, 63, 35, 42, 42, 42,147, 32, 8,240,249,124,
-183,234, 26, 90, 91, 91, 55, 52, 51, 51, 67, 90, 90, 26,160,126, 99,174, 4, 73,233,233,233, 52,135,195,129,147,147, 83,163,154,
- 54,222,202,202,106,193,129, 3, 7,152, 47, 94,188, 64,247,238,221, 83,111,221,186,213, 19,128, 38, 36, 61, 42, 50, 50,210,183,
- 91,183,110, 47,175, 94,189,138,141, 27, 55, 18, 45, 90,180,152, 86, 19,167,171,171,235,212,241,227,199, 35, 56, 56, 24,123,247,
-238,157, 6,224, 84,133, 38,199,118,237,218, 53,107,239,222,189,152, 48, 97, 2,234,215,175, 63,178, 58,190,228,228,228,133,126,
-126,126,145,175, 94,189,210,169,226,129,142,237,187,249,248,248, 52, 20,139,197, 56,116,232,208,155,134, 13, 27, 62, 58,117,234,
-212, 60,188,255,192,254,253,244,233,211, 24, 53,106, 20, 90,180,104,113, 8,192, 8, 93, 46,203,216,216,216,148,235,215,175, 83,
-108, 54, 27,174,174,174,232,215,175, 31, 2, 2, 2,208,188,121,115,200,229,114,156, 62,125,154,122,254,252,121,170, 76, 38,211,
- 41,151, 82,238,171,155,231, 19, 19,255,199,222,121,135, 71, 81,181, 81,252,204,246,190,155,186, 73, 72, 72, 8, 45,149,142, 84,
-233,161, 72, 23, 81, 68, 16, 43,162,130, 72,177,125, 34, 86, 4,105, 34,136, 20, 69, 65, 4, 20, 69, 90,164,136, 40,145, 78, 2,
-132, 0, 33,129,244,186,233,101,179,125,103,238,247, 71,138, 33,164,236, 38, 40,150,251,123,158,121, 38,185,179,115,246,206,157,
-118,246,189, 45,225,212,197,115, 81, 54, 1,159, 7,127, 31, 55, 60, 24,209, 13,207, 76,238,143, 30, 33,190, 72,203, 51,226,248,
-241,159,109, 41, 41, 73,103, 28,233,113, 88,173, 25,127, 45,246,244,213,139, 39,237, 66, 1,131,144,224,142, 88,244,191, 87, 93,
-151,188,253,154, 75,199,118,254,136, 77, 46,197,207, 71, 15,217,178, 51, 51,126,189, 87, 61, 14, 79, 0, 34,165,132, 81,240,121,
- 60,176, 60, 73, 5,191,170, 35, 77,167,176,176, 32, 47,111,111, 68, 70, 70,130,231, 68,143,208, 19,128, 72,169,172,172, 5,215,
-235,245,168,214,107, 31, 28, 28,236, 31, 16,128,159, 34, 35,193,231,184,235,131,156, 28, 96,244, 70,101, 53,116,141, 46, 3,152,
- 94,104, 13, 85,251,214,218, 96, 87,141, 2,231, 98,111,194,108, 35,231,191, 41,198, 61, 29,143,236, 79,100, 38,154, 89,117,184,
- 98,227,198,141,189,190,248,226,139,225,243,231,207, 87,206,152, 49, 3, 82,169, 20, 6,131, 1,126,126,126, 96, 89, 22,135, 15,
- 31, 70,116,116,180,158,227,184,159,113,231,176, 1, 17,168,213, 75,227, 72, 18,100,149,126,203,208,107,223,195, 15,223, 21, 77,
- 0, 80,222,228,212,133,109, 44,219,215,238, 62, 57,105,199,145,139,204,203, 83, 7,241,122, 4,183, 6, 0,120,121,121, 65,173,
- 86, 59,173,121, 23,248,211, 53,107, 87,235,230,230,230,222,200,205,205,205,123,246,217,103, 67,170, 27,190, 75, 36, 18, 83, 85,
- 36,171,184,190,125, 28,200,167, 21,192, 11, 95,124,241,197,254,210,210,210, 35,175,188,242, 10,150, 44, 89,130, 3, 7, 14, 12,
- 0,112,170,153,199,206, 22, 23, 23,151,156, 63,127,222,171, 67,104,119,180,213, 10, 49,240,173, 68, 16, 66,224, 46, 39, 40, 47,
- 41,194,165, 75, 23, 81, 94, 94,126,206,153,124, 90,173,214,146,188,188, 60, 15,173, 86,139,162,162, 34, 20, 20, 20,212,152,172,
-226,226, 98, 20, 21, 21, 17,134,185, 99,204,150,198, 52, 43,242,242,242, 12,241,241,241, 98,175,214, 29,208, 78, 43, 66,239,255,
-221, 0, 8,129,191, 27, 15,229,101, 37, 56,115,230, 12, 74, 75, 75,127,107, 72,147,227,184, 5,211,166, 77,227, 3,120,252,149,
- 87, 94,113, 3,208,245,213, 87, 95,253, 25,117,122, 22, 10, 4,130,143,183,111,223,222,169,186,138,241,181,215, 94, 91, 13,224,
-139,191,234, 90,114,119,119, 95, 16, 25, 25,169,178, 90,173, 88,187,118, 45, 86,175, 94,189, 5,119, 14, 84, 25,249,233,167,159,
-174,231,241,120, 47,206,158, 61, 27,207, 61,247,156,188,103,207,158,243,115,114,114,190,169, 79, 51, 43, 43,107, 81,143, 30, 61,
- 22,231,229,229,125,232,144, 89, 78, 76,156,217,163, 71,143, 69,121,121,121,203, 27, 59, 71, 10,133, 66,193,178, 44, 82, 82, 82,
-138,129, 6,219,119,152, 82, 82, 82,178, 88,150,245,147,203,229,110, 77, 93,159,197,197,197, 31,246,236,217,243, 29,157, 78,119,
- 20,192, 7,245, 24,242,203, 57, 57, 57,225,115,231,206,157,179,108,217,178, 73,185,185,185,187,154,210, 76, 75, 75,251,112,200,
-144, 33,111, 37, 36, 36,108, 69,195, 85,192,159,190,251,238,187,214,237,219,183, 63,159,146,146,178,180, 9,205,131, 5, 5, 5,
- 7,157, 56,191, 13,125,190, 70,147,207,231,191,186,108,217, 50,222,198,141, 27, 65, 8, 89,201,178,108, 67,249,140,221,187,119,
-239,182,254,253,251,207,216,189,123,183, 52, 60, 60,252, 57,179,217,188,179,169,235,211, 96, 48,236,217,189,123,247,164,216,216,
- 88,191, 25, 51,102, 72,131,130,130, 96,181, 90,145,147,147,131,141, 27, 55,154,226,226,226, 50, 75, 74, 74,246, 56,243, 12,177,
- 91,202,166,158, 62,190,111,103,106, 98, 92,223,193,163, 38,184, 90,172,126,144, 20,242, 81, 82,152,139,195, 7,247, 20,167,164,
- 36,157, 49, 24, 74,166, 58,163,105, 53,151, 62,122,230,215,253,187, 50, 83,226,251, 12, 28, 50,218,213,100, 9,128, 68,196, 67,
-161, 46, 11,135, 35,247, 21,165,164, 36,255,110,178,153,159,184, 87,207,121,126, 32, 62,224,231, 70, 63, 59,107, 92, 55,200, 92,
-253, 46, 9,129,181,253, 1,153,135,151,151,168,234,222,129,178,178,205,163, 67,154, 58, 64,220,161,170,150,202, 96, 48, 64, 8,
- 88,158, 4,132,158,158,158, 50, 0, 72, 72, 72,128,188,178, 86,195,169,124,234, 1,133,188,150, 46, 15, 48, 20, 10,224,219, 94,
-173, 96, 0, 32, 51,183, 16, 22, 91,163,239,141,127, 58,155,107, 25,174,205,205, 17, 16, 1,136, 80, 42,149, 75, 22, 47, 94,188,
-242,220,185,115, 43,199,142, 29,187, 82, 34,145, 44,169, 42,108, 81, 35, 39,226, 47,211,188,175, 21,220,134,180, 99,162, 70,180,
-103,184, 89, 3, 92,217, 39,122, 43, 44, 67,135, 14, 93,223,194,124,182,228,102,249, 51, 53,247,217,108, 54,130,202,106,187,125,
-104,184, 74,240,141, 90,219,115,211,211,211, 73,213,223,206,228,211, 99,202,148, 41, 92,121,121, 57,121,228,145, 71, 8,154,158,
-194,167, 81, 77,137, 68, 50,100,224,192,129, 54, 93,126, 17,185,145,156, 69,206,198, 92, 35, 71,142,159, 38,187,246, 68,146,117,
-235, 55,145, 46, 93,186, 88, 0, 4, 56,163, 41, 16, 8,134, 14, 25, 50,164, 80,167,211,145,248,248,120, 18, 21, 21, 69,190,255,
-254,123,178,105,211, 38,178, 97,195, 6,210,186,117,107, 29, 0, 47,103, 52,101, 50,217,132, 7, 30,120,192, 86, 82,102, 32, 41,
- 89,133,228, 74,124, 10, 57,117,254, 10, 57,124,252, 20,249,102,231,110, 18, 22, 22,102,114, 64,147,207,231,243,215,237,218,181,
-171,140, 16, 66, 38, 76,152,144,137,219, 7, 82,109,187, 96,193,130, 60, 66, 8, 89,190,124,121, 33,234,111, 8,255,103, 95, 75,
-163,124,125,125,111,136, 68,162, 72, 0,143, 55,177,223,163, 2,129,224,128,183,183,247, 5, 0, 15,222,131,251,104,172, 86,171,
- 61, 11,160,169, 25, 14,170, 63, 55,241, 95,114,191,255, 25,154, 67, 5, 2, 65, 20,208,248, 36,194,181,158,215,239,243,249,252,
-159, 0, 12,115, 50,159, 29, 61, 60, 60, 30,113,117,117,125,217,213,213,245,101,173, 86,251,136, 88, 44,238,216,146, 99,119,239,
- 24, 49,206,191,251,248,189,173,187,142, 73,243,239, 54, 54, 45,176,199,132,189,238, 29, 35,198,181, 84, 51,160,199,132,125,254,
-221,198,166,251,119, 27,151,218,246,190, 9,123, 61,130, 35, 30,184,151,231,232,113, 95,180, 26,222, 22,118, 18,245, 22, 33, 81,
-111,145,136,182,224,250,186, 32,172, 23,160, 26, 25, 17,177,138,176,236,170, 73, 19, 39,174,234, 0,184, 19,128, 95,119,169, 79,
-179, 59,160,174,217,119,194,132, 85,237, 0,143,225,128,124,208,128, 1, 43, 9,203,174,154,246,232,163,171,252, 1,239,250,244,
- 26,210, 36, 0,223, 23,104, 85, 91,215, 3,104, 63, 57, 16,225,111,140, 11, 36, 36,234, 45,242,238,195, 65,164,135, 23, 30,111,
- 66,179,161, 72,209, 63, 58,162,229, 44,138,170,135,235,210,170,181,226, 46, 92,132,119, 93,179,143, 15,130, 34,218, 51,241,163,
-131, 5, 69,168,236,146,172,248, 23, 62, 36,183, 90, 44, 22, 98, 50,153,136,193, 96, 32,122,189,190,174,129,170, 49,100,217,217,
-217, 36, 51, 51,147,164,167,167,147,212,212, 84,130, 63,218,222, 56,156, 79,181, 90,253,197,195, 15, 63,204, 10,133,194,117,119,
-227,216,221,220,220,150,246,238,221,219,250,201, 39,159,144,189,123,247,146,207, 63,255,156,204,158, 61,155,116,234,212,201,236,
-226,226, 50,181, 57,154,222,222,222,139,130,131,131, 11,183,108,217, 66,190,249,230, 27,178,102,205, 26,242,230,155,111,178,126,
-126,126,185, 42,149,106,100,115, 52,181, 90,237,230,251,239,191,223,186,121,243,102,242,243,207, 63,147, 29, 59,118,144, 5, 11,
- 22,144,144,144, 16,179, 66,161,120,200, 65, 77,190, 64, 32, 88, 53,107,214,172,220, 86,173, 90, 69,214,217, 38, 15, 11, 11,187,
- 48,109,218,180,108, 0,175,253,139,174, 79,170, 73, 53,169,230,159, 96,180, 30,107, 5, 95, 2,240,229, 34,209,163,131, 6, 12,
- 88, 41, 2, 30,117,214, 20, 73,249,252,201,253,123,247, 94, 41, 2,166, 86,127, 86,202,231, 79, 30, 52, 96,192, 74, 33,159, 63,
-189, 33,189,198, 52, 9,192, 23, 9, 4,175,245,239,219,119,149, 0,248, 95,117,218,208,182,204,245, 5,163, 90,147, 1, 1,204,
-205,233, 90,200,255,197, 70,235,174, 35,248, 19, 46,194,127,138,230,223,229,166,238, 80,101,152,246, 57, 17,209,218,135,202, 89,
-212, 59, 52, 51,159,178,187,124,236,157, 61, 60, 60, 14,117,232,208, 33,191, 77,155, 54,217,174,174,174, 59, 1,248,181, 80, 51,
-220,219,219,251,107, 47, 47,175, 68, 31, 31,159, 88, 15, 15,143,143, 81, 57,234,124,179, 53,133, 66, 97,111, 47, 47,175,223, 2,
- 3, 3, 75, 2, 2, 2,116, 30, 30, 30,187,234,137,100, 57,162,233,131,250, 31, 42,162,170,109,244,165, 67, 53,169, 38,213,188,
-205,192,140,104,135,101,195,219,194, 62,188, 45,216, 17,129,248,184,182, 65, 25, 11,200,154,107,138,158, 0, 36,117, 63,223,148,
- 94, 83,154, 4,224,247, 3,148,117,247, 25,237,135, 48, 7, 53,255,233, 17,173,234,231,188,115,195, 59, 52,128,253, 79,200,228,
- 63, 69,243,239,194, 77, 52,210, 24,185, 22, 75,239,226,119, 26,239,242, 49, 92, 41, 40, 40,120,160,160,224,174,246, 77,184,154,
-155,155,251,248,221, 20,180,217,108,231,116, 58,221,224,187, 32,213, 80,215,107, 43, 28,236,150, 77,161, 80,254, 59, 48, 0,139,
- 36,188, 30,209, 17,107, 5, 44,120,135,147,145, 85,167, 75,158,145,105,142,102, 37,236,214,122,158,241, 76,115,243,249, 7,250,
- 59, 52, 50,113,141,249,239,156,182, 28, 84,182,209,106,177,209,162, 80, 40, 20, 10,133,242, 23,112, 44,145,254, 16,251, 7, 16,
-137,219,163,111,145,181,140,104,131,161, 79,103,122, 82, 52, 39,124,122,140,106, 82, 77,170, 73, 53,169, 38,213,164,154,255, 57,
-205,106, 26,154, 59,245, 70,157,255,155,213,139,239,191, 2,173,103,167,154, 84,147,106, 82, 77,170, 73, 53,169,230,191,157,102,
-143,163, 69,161, 80, 40, 20, 10,133, 66,105,156, 6,163,110,212,104, 81, 40, 20, 10,133, 66,161,180, 12, 31, 84, 78, 81, 21,137,
- 63,166,170,218, 76,141, 22,133, 66,161, 80, 40, 20, 74,203, 25,131, 63,122, 27,222, 22,221,226,209,178,161, 80, 40, 20, 10,133,
- 66,105, 49, 51,107,173,105, 27, 45, 10,133, 66,161, 80, 40,148,187,132, 99, 61, 35, 15, 30, 60, 72,104, 89, 81, 40, 20, 10,133,
- 66,185, 87,252, 67,189, 72,117, 20,235,142, 89, 62,104, 68,139, 66,161, 80, 40, 20, 10,165,101,108,174,101,184,110, 75,163, 70,
-139, 66,161, 80, 40, 20, 10,165,101, 84, 27,172, 72,212,153, 82,141, 7,208, 42, 67, 10,133, 66,161, 80, 40,247,150,127,184, 23,
-217, 92,181,220, 49, 93, 82,117,175,195,193, 85, 7, 56,152,158,106, 10,133, 66,161, 80, 40,247,128,127,178, 23,241, 65, 3,109,
-180, 40, 20, 10,133, 66,161, 80, 40, 45, 99,102,157,117, 13, 12, 45, 27, 10,133, 66,161, 80, 40,148,187, 98,180,106, 67, 39,195,
-166, 80, 40, 20, 10,133, 66,249, 39, 67,103, 54,167,154, 84,147,106, 82, 77,170, 73, 53,169,230,127,129,153,168, 51, 42, 60, 64,
-135,119,160, 80, 40, 20, 10,133, 66,185, 27, 38,107,115,125,255,211,185, 14, 41, 20, 10,133, 66,161, 80,254, 36,104, 68,139, 66,
-161, 80, 40, 20, 10,165,101,108, 70, 61,163,194, 83,163, 69,161, 80, 40, 20, 10,133,114,247,204,214, 29,208,170, 67, 10,133, 66,
-161, 80, 40,148,150, 49,179,161,255, 25, 52,220,115,224,152, 19, 95,208,156,222, 7,199,168, 38,213,164,154, 84,147,106, 82, 77,
-170,249,159,211,108, 74,251, 24,254,121, 52,216, 24,254,207,134,118,125,165,154, 84,147,106, 82, 77,170, 73, 53,169,230,191,157,
-234, 41,120,170,151,154,169,120,104, 27, 45, 10,229, 31, 14,217, 13, 62,138,131, 3, 65, 72, 43,240,197, 57,200,185,146,196,188,
- 3,174,197,154,186,176, 0,200,108, 94,176, 75,243,161,139, 77,110,169, 38,133, 66,161,252,139,201, 65, 3, 17, 44,106,180, 40,
-148,127, 58,249, 33, 65, 16, 96, 41,120,240, 1,177,222,130,103,216, 82,224, 90, 92,139, 53, 69,220, 7, 96,121,126, 32,214, 4,
-104,131,151, 1, 55,174,209,112,241,142,135, 0, 0, 32, 0, 73, 68, 65, 84,194,166, 80, 40, 20,231,248,203, 27,195, 11,133, 66,
- 29, 0, 78, 42,149,238, 1,157,229,154,242,231,226, 83,117,157,113, 85,215,157, 51, 40, 5, 2,193, 98,185, 92,254,171, 68, 34,
-201,147, 72, 36,121, 10,133,226, 87,129, 64,176, 24,128,242,239,114,128,228,235, 78,114,240,216, 7, 44, 54,206,247,240,149, 18,
-173,193,204, 6,129,103, 31, 77,182,116, 84,182, 72, 83,192,140, 48, 89, 57,255,111,206, 27,188, 42, 44,246, 80, 16,180, 72,179,
- 22, 46, 34,145,232, 48, 0, 15,122,121,254, 59, 9, 5,122,246, 20, 8, 22,134, 0, 67, 65,231,211,165, 80,254,122,163,101,179,
-217,180, 5, 5, 5,204,182,109,219,198,107, 52,154, 91, 2,129,224, 13, 0,162,255, 74,129, 43,149,202,211,106,181, 90,167,209,
-104,116,106,181,250, 98, 83,233,255, 82,130, 60, 61, 61,211,220,220,220, 18,106, 39,122,118,121,176, 95,135,254,143,191,237, 30,
- 54, 97, 80, 11,245, 69, 2,129,224, 13,141, 70,115,107,219,182,109,227,179,178,178, 24,155,205,166,117, 98,255,129,174,174,174,
-215,207,157, 59,247, 86, 65, 65,193,160,140,179, 91, 60,115,207,109,242, 76,251,109,213,224,232,159,214,189,229,226,162,185, 6,
- 96,224,223,162, 36, 77,156, 23,120,252, 33, 87,115, 12,242,156, 50,155, 87, 76,170, 65, 5,240, 7,195,210,130, 31, 49,165,156,
- 23, 64,134, 94,206, 52, 42, 78, 23,121,122,253,158,100, 86,131,199, 27, 2, 19,227,221,226, 7, 14,143,247, 60,199,113,195, 69,
- 34,209,203,244,241,251,239, 68,204,227,245, 63, 61,126,252, 7,175,117,233, 50, 39, 4, 24,215,128,217, 98, 0,188, 20, 18, 18,
-114, 8,192,163,119,241,235, 63, 10, 14, 14,206, 2, 48,151,158, 9,202, 95, 76,247,234, 31,248,168,211, 70,203, 97,163, 53, 57,
- 16,253,167,182,197,137, 71, 2, 81, 62,165, 45,244,211,219,226,228, 67,129, 24,218,156,220,184,187,187, 99,224,192,129,252,172,
-172, 44,217,130, 5, 11,222,150, 74,165, 41, 0, 70, 54, 71, 75, 38,147, 69,203,229,242, 12,129, 64,112, 91, 94,228,114,121,180,
- 66,161,200, 16, 8, 4,195,106,167,171, 84,170,211,106,181, 90,167, 82,169, 46, 54, 96,132,162,213,106,181, 78,169, 84, 70,215,
- 78, 23, 8, 4,195,148, 74,101,166, 74,165,170,155, 62, 84,165, 82,101,212, 77,111, 8,161, 80,232,151,145,145,161,205,204,204,
-212,138,197, 98,175,218,233,233,233,233,218,140,140,140,219,210,157, 65, 32, 16, 12, 85, 40, 20, 25,114,185, 60,186,190,244,186,
-199,212, 16,181,202,110,168, 35,233,206,154,172, 17, 35, 70,156,204,201,201,241,119,113,113,113,169,189,193, 77,227, 50,242,235,
- 45,235,231, 79, 24, 61,226,121,207,208,137,157,155,169, 63, 82, 42,149,166, 44, 88,176,224,237,172,172, 44, 89,223,190,125,249,
- 60,158, 83,191, 39, 34, 38, 76,152,176, 79,167,211,249,118,237,218,149,111,183,219,113,117,255, 98,200, 99, 95,134, 52,101, 35,
- 90,203,242, 5,183,126, 94,230, 55, 98,112,207,125,184,199,141, 65,201,238, 80, 17, 24,110, 32, 71,136,231,245, 44,147,231,152,
-241, 15, 11, 46,101, 24, 61,109, 44,235, 6,240, 7,147,175, 2, 36,205,210, 20,216, 6,112,132,120,253,146, 42,244, 28,242,200,
- 28,254,241, 84,129,167,141,101,221,193,195,160,230,104,214,190,252,249,124,254,252, 85,171, 86,241, 0,204, 6, 32,254, 47, 61,
-133,123,181,130,239,208,246,252,243,221,125,208,255, 46,202,134, 87,221,239, 65,127,151,227,180,112,220,141, 93,201,201, 71,166,
-183,111, 63,246,181, 46, 93,158,172,199,108, 49, 0, 94, 91,182,108,217,227, 87,175, 94,245,108,219,182,237,115,119,233, 71,255,
-154,101,203,150,189,122,245,234,213, 86,129,129,129,239,130, 14, 95,244,175,130, 16, 34, 38,132, 12, 33,132,140, 33,132, 12, 35,
-132,244,170,250,251,190,170,101, 12, 33, 36,162,206,250,190,170,125,171,183,247,110, 64, 99, 76,221,253,106,237, 83,247,255,219,
-254,174,199,104,141, 65,101, 91,173, 49,183, 29,192,193,131, 7, 73,237,117, 93,166, 4,226,157, 57,253,124, 13,215, 15,236, 32,
-250,140,100, 82, 28,127,137, 92,218,252, 33,153,115,159,167,225,177,182,248,200,249,242, 34,228,212,169, 83,228,234,213,171, 68,
-175,215,147,196,196, 68,210,187,119,111,163, 92, 46,255, 5, 64,160, 51, 98, 42,149, 74,247,203, 47,191,144, 17, 35, 70,148, 42,
-149,202,149,213, 55,151, 90,173,214,157, 58,117,138,140, 24, 49,162, 84,165, 82,173, 1,192, 7,128,135, 30,122, 40,143, 16, 66,
- 60, 61, 61,179,235,211,155, 48, 97, 66, 49, 33,132,104, 52,154,234,170, 38,190, 74,165, 90,243,226,139, 47,234, 47, 92,184, 64,
- 92, 93, 93,171,211,121,106,181,122,229,236,217,179,245, 49, 49, 49,181,211, 27,197,205,205, 45,131,101, 89,114,224,192, 1,162,
-213,106,107,242,224,234,234,154,193,178, 44,217,183,111, 95,131,121,107, 44, 80,160, 84, 42, 87, 76,159, 62,189, 60, 53, 53,149,
-184,187,187,235,106,165,175,156, 49, 99, 70,121,122,122, 58,241,240,240,112, 40,143,238,238,238,186,211,167, 79,147, 73,147, 38,
-149,213, 46, 83,119,119,119,221,153, 51,103,170,211, 87, 56,242, 32,107,213,170,213,115, 90,173, 54, 91,171,213,102,187,184,184,
- 44,241,241,241,201,205,207,207, 39,132, 16,210,174, 93,187,188,218,145, 44,109,248,248,121, 27,119,159, 57, 23, 21, 87,152,223,
-101,248,243, 43, 52, 93, 38,104,156, 40,131, 64,185, 92,254,203,160, 65,131,140, 25, 25, 25,164,162,162,130,196,198,198,146, 83,
-167, 78,145,155, 55,111, 18, 0,196,145,203, 73,169, 84,102,153,205,102,206,108, 54,115,249,249,249,108, 94, 94, 30, 27,191,210,
-135,144, 47,133, 53, 75,201,190,113, 36, 55,106, 41,167, 86,202, 51, 1,168,238,217,131,103,125,152, 31,217, 20,188,235,218, 98,
-255,248,168,101,163,108, 36,245, 56,217,241,164,167,237,196, 60,223, 91,100, 67,200, 15,100, 83,104,235,102,105,110, 8,221, 17,
-251,166,255,141,117,239,190,100, 75, 75, 75, 35, 11,103,140,178, 31,157,227,155, 68, 54,134,236,110,142,102, 45,166, 62,248,224,
-131,250,244,244,116, 18, 22, 22, 86,193,231,243,159,254, 47,153,172,136, 32,113, 86,236, 55, 11,185,113,225,242,194,187,100,182,
-194,181, 90,109,193,214,173, 91,137, 74,165,202,251, 27,153, 45, 38, 4, 24,191,173, 75,151,125,220,228,201,236,182, 46, 93,246,
-133, 0,227,171, 12, 22, 3,224,245,229,203,151,199,216,108,182,152,175,190,250, 42,102,252,248,241, 49, 0, 22,182,240, 59, 63,
-249,232,163,143,136,205,102, 35, 95,125,245, 21, 25, 63,126, 60, 1,176,214,209,157,149, 74,101,135,206,157, 59,111, 15, 11, 11,
- 75,239,218,181,171, 37, 52, 52,212, 20, 20, 20,148, 26, 30, 30,190, 85, 34,145, 4,130,242,151,208,152, 23, 33,132,244,122,253,
-245,215,223, 0, 64, 94,127,253,245, 55, 8, 33, 99,170,252,196,152,218,127,215, 93, 87,155,167,234,255,235,211,168, 94,234,211,
-172,239, 59,234,124, 15, 26,136,100,205,188,227,224, 14, 30, 60, 56,232,224,193,131, 39,234, 30,220,195,109,209,111, 78, 63, 95,
-163, 49, 63,135,196,125,248, 50,249,117,136, 31, 57, 53,216,155, 36,204,127,144,228,124,179,134,188,208,205,213, 48,185, 45,134,
- 56,107,180, 98, 98, 98, 72, 76, 76, 12,185,120,241, 34, 73, 73, 73, 33,165,165,165,228,219,111,191,101,221,221,221,141, 18,137,
-100, 25, 0,153, 35, 98,106,181, 90, 71, 8, 33,102,179,153, 44, 89,178,196, 84, 21,169,242,210,104, 52, 58, 66, 8, 41, 41, 41,
- 33,203,150, 45, 51,105, 52,154, 88, 0,173, 60, 60, 60, 50,146,147,147,137,151,151, 87,189,102,198,213,213, 85,119,227,198,141,
-106,227,228,235,234,234, 26,183,127,255,126, 43, 33,132,100,102,102, 18, 55, 55, 55, 29, 0, 47,119,119,247, 75, 7, 15, 30,180,
- 18, 66, 72,118,118,118,117,186, 67, 70,203,104, 52,146,163, 71,143,222,150,135,234,244, 67,135, 14,221,102,192, 28,192, 75,163,
-209,196,124,251,237,183, 22,150,101, 73, 92, 92, 92,181, 73,244,114,113,113,185,184,123,247,110, 11,203,178, 36, 62, 62,222, 97,
- 51,216,166, 77,155, 60, 66, 8,177,219,237,100,227,198,141,230,234, 50,173, 78,183, 88, 44,228,179,207, 62, 51,171,213,234, 24,
- 0,141, 70,223, 60, 60, 60,178, 45, 22, 11, 41, 41, 41, 33,189,123,247,214,159, 58,117,138,148,149,149, 17, 66, 8,105,211,166,
- 77, 30, 0, 4, 15,122,250,253,115,137,250,178,167, 94, 93,255, 93, 96,175,199, 62, 60,114, 62, 43,243,139,189,209, 49, 30,225,
- 19, 70, 57, 18,212,148, 72, 36,203,124,124,124, 76,191,255,254, 59,107,181, 90, 73,122,122, 58,185,120,241, 98,205, 53,118,229,
-202, 21,135,140,150, 64, 32, 88,124,238,220, 57, 43,203,178, 92, 65, 65, 1,155,151,151,199,230,229,229,217,235, 26, 45,242,165,
-144, 20, 28,122,150, 68,110,158,107, 17,137, 68,139,239, 77, 52, 11,124,178, 41,120, 2,217, 20, 28,179,117,186, 71, 65,249,197,
-157,132,252, 60,151, 36,189,223,150, 44, 30,165, 42,231, 54, 5,199,144, 77, 33,147,201, 59,131, 4, 78,105,110, 14, 29, 71, 54,
- 5,199,124,244,112, 64,225,165,152, 11,228,196,137, 19,228,179, 53,203,201,156, 8,223, 10,110, 83,112, 12,217, 16, 58,201, 25,
-205,218, 72, 36,146,196,147, 39, 79,146,168,168, 40,242,238,187,239, 18,185, 92,158,126, 55,162,122,100, 67, 80, 0,249, 60,104,
- 16,217,210,209,135,252, 54,232,111,215,193,167, 87, 43,248, 14, 15, 18,103, 22, 92,218, 75, 72,209, 77,146,187, 50,140,140, 10,
- 22,182,212,108,133,107,181,218,252,212,212, 84,146,155,155, 75, 86,175, 94, 77,212,106,245,223,218,108, 5, 3, 19, 0,188,177,
- 98,197,138, 26,147,181,126,253,250,152, 43, 87,174,196,248,251,251,255,212,130,239, 90,187, 98,197,138, 26,147,181,126,253,122,
-114,229,202, 21, 18, 16, 16,144,209,212,142,211,167, 79,151,247,235,215, 47,102,218,180,105,134,173, 91,183,146,212,212, 84, 18,
- 27, 27, 75, 86,172, 88, 65,222,126,251,109,242,229,151, 95,146, 73,147, 38, 85,244,238,221,251,220,228,201,147,165, 78, 70, 20,
- 4, 85, 81, 24, 49, 33, 68, 72, 8,169, 54,154, 2, 0,194,234, 31,255, 20,199,188, 72, 67,102,170, 33,131, 85,119, 91, 35, 70,
-172, 81,195,230,192,247,221,105,170,234, 70, 66,106,253,253,219,216,177, 99, 7,221,241,242, 33,120,111,230,130,247,165, 41, 91,
- 87, 67,247,237,167,224,151,232, 32, 44, 47,132,249,100, 36,108, 39,247,227,241,190,125,101, 50,134,249,192,217, 2, 21,139,197,
- 16,139,197, 16,137, 68, 48, 24, 12,200,206,206,198,253,247,223,207,187,120,241,162,244,185,231,158,155, 43,147,201,210, 1, 76,
-108,242,110,102, 42, 35,210,167, 79,159,198,179,207, 62, 43,217,190,125,123, 87, 79, 79,207,203, 44,203,138, 1, 32, 62, 62, 30,
- 83,166, 76,145,236,220,185,179, 83,171, 86,173, 46, 90,173, 86,185, 68, 34, 1,159,207,111, 80, 79, 44, 22,195,102,179, 73, 58,
-118,236, 24,123,249,242,229,240,177, 99,199, 10,211,210,210,144,156,156, 12,155,205, 38, 14, 10, 10,186,114,241,226,197,174, 99,
-198,140, 17,102,100,100, 32, 45, 45,173, 38, 31,142,228,215, 98,177, 64, 34,145,160,118,149, 22,195, 48, 48,155,205, 16,139,197,
- 14,107, 9, 4,130,161, 33, 33, 33, 87, 46, 95,190,220,125,194,132, 9,162, 11, 23, 46, 32, 51, 51, 19, 44,203,138, 67, 67, 67,
-175, 92,190,124,185,219,248,241,227, 69,177,177,177,208,233,116,112,180, 10,173,250,115,151, 47, 95,198,180,105,211,196,135, 15,
- 31,238,230,227,227, 19,107,183,219,197, 0,112,229,202, 21, 76,153, 50, 69,124,228,200,145,238,173, 91,183,142,109,162, 42,145,
- 15, 0, 54,155, 13,207, 61,247,156, 66,173, 86, 35, 35, 35, 3, 28,199,129,101, 89, 0, 64, 97,113,225,149,203, 87,226,226, 31,
-159,250,240, 32,163,213,108, 62,115, 62,250,122,187, 54, 1,126, 12, 67,218, 52,145,213,137, 10,133, 34,125,229,202,149,243, 82,
- 83, 83, 37, 33, 33, 33,188,164,164, 36,148,151,151, 67, 36, 18,213, 92, 99,142, 30,183, 88, 44, 30, 28, 22, 22, 38, 48,153, 76,
-224, 56, 14, 0, 8,143,199,171,247,100, 72, 75, 78, 34,212,203, 46,148,201,100,131,239,201, 19,169, 44,204, 29, 28,134,167,229,
- 91, 36, 18, 23, 63,149,210, 39, 8, 72,143, 66, 91, 79, 9,248, 60,190,244, 66,178, 65, 1,144,225,240, 47,112,119, 78,147, 27,
-158,156,103,145,216,220, 58, 41, 91,249,249,163,176,176, 16,173,219,133,192, 36,246, 20,159,190, 89,161, 4,227,164,230, 31, 12,
-232,216,177,163,119,135, 14, 29, 80, 80, 80,128,238,221,187,195,213,213,213, 21,192,240,102,155,172,175, 2, 36, 40, 67,127,128,
-183, 18, 44,243, 46,108,130,165,184,153,223,157,108,234, 46,252, 59,153, 44,181, 82,124,118,231,174,111,125,221,253, 67,129,200,
-167,224,229, 34,193,150,231,187,187,121,106, 36,251,154,105,182,194,189,188,188,142,159, 59,119,206, 67, 42,149,226,226,197,139,
- 8, 11, 11,195,234,213,171, 61, 93, 93, 93,163,254, 38,102,139,196, 3, 7, 62,138,141,253,106,251,173, 91, 7,167,183,111, 63,
-118, 90, 80,208,146, 89,143, 62,250,244, 75, 47,189,132,229,203,151, 99,223,190,125,232,223,191, 63,102,206,156,105, 75, 79, 79,
-223,214,204,239,249,116,229,202,149,115,230,206,157, 91, 87,211,154,150,150,214,104,109, 75, 88, 88,152, 95, 98, 98, 98,214,252,
-249,243,187,111,223,190, 93, 38,151,203, 81, 82, 82,130,207, 63,255, 28,111,188,241, 6, 24,134, 1, 33, 4, 95,126,249,165,252,
-201, 39,159,236,117,235,214,173,172,128,128,128, 38,155,117, 16, 66, 24, 66,136, 20,128,188,106, 81, 0,144,239,220,185, 83, 51,
- 97,194, 4,117, 85,154,172,106,145,128, 82,151,122,189, 72,173,119,229,193, 58,229, 61,182,110, 90,221,109,132,144,177,141,105,
- 56,105,160,235,251,190,200,198,204, 86,237, 55,208,224,122, 93, 36,208,197, 59, 48, 24,165, 63,239,134, 76,192, 64,198,175, 90,
- 4, 12,120, 73, 87,208, 90, 42,132,141,144,240,230, 26,173,234, 69, 40, 20,194, 96, 48,128,101, 89,188,241,198, 27,146,163, 71,
-143,186,243,120,188, 31,154,210,169,109,152, 18, 18, 18, 16, 26, 26,202, 28, 56,112,192,107,246,236,217,178,234,239, 41, 45, 45,
- 69,135, 14, 29,152, 67,135, 14,105,223,124,243, 77,101, 99,102,134, 97, 24,136, 68, 34,204,157, 59, 87,118,254,252,121,183, 86,
-173, 90, 33, 41, 41, 9, 69, 69, 69, 80, 42,149,152, 59,119,174,236,220,185,115,158,173, 90,181, 66,106,106, 42, 74, 75, 75,161,
- 84, 42,157, 54, 90, 34,145,232,182,125, 24,134,129,213,106,117,202, 24,104, 52,154, 29, 49, 49, 49,158, 26,141, 6,177,177,177,
-176,219,237,208,104, 52,152, 51,103,142, 44, 38, 38,198,211,197,197, 5,241,241,241, 32,132, 64,173, 86, 59,149, 71, 0,224, 56,
- 14,241,241,241,104,211,166, 13,162,162,162,180,179,102,205,146, 86,167,223,188,121, 19,126,126,126,136,138,138,210, 42, 20,138,
- 29, 13,105,113, 28,135,156,156, 28, 92,189,122, 21, 73, 73, 73,200,207,207, 71, 65, 65, 1,202,203,203, 97,183,219, 1, 0,242,
-242,178,200,157,223, 29,184, 44,147,201,228, 97, 65, 29,253,175,196, 93,203,147,201,100,242, 0,127,255, 32,224, 29, 94, 35,134,
-240,135,180,180, 52,247, 39,159,124, 82,148,155,155,139,226,226, 98, 8, 4,130, 59,174, 45,177,216,177,166, 64,118,187, 61, 84,
- 42,149, 50, 86,171,181, 38, 2, 38, 22,139, 49,111,135, 1, 97,139,113,219,242,232,154, 60, 16,214, 6,139,197, 18,250,151,191,
-193, 0, 6,140,165, 35, 24,166,251,217,164, 10,183, 1, 99,167,138,144,124, 24,224,108, 0, 79,128,193, 93,252, 4,251,174, 84,
-120,129,160, 11,204, 8, 33,164,233,158, 95, 4, 96, 0,107, 7,128,233,121, 52,209,238,222,255,193,231, 69, 89, 89, 89, 16,137,
- 68,144, 72, 36,232, 62,244, 33,193,206,203, 54,111, 48,232, 10, 43,130, 29,209,188, 45,236, 40,147,189,245,246,219,111, 43,106,
-107, 62,253,244,211, 10,141, 70,243,118,179, 77, 86,133,188, 47,236,100,238,213, 44, 67,155, 37,145,185,161,183,242,140,193, 32,
-100, 62, 96,235,118, 23,204,214, 96,137, 68,146, 12,224,254, 22,153, 44,149,248,204,174, 93,223,250,186,181,174, 52, 89,176,155,
- 0,161, 12,222,158, 46,216, 50,111,136,155,167,139,204, 89,179, 21,238,229,229,245,203,217,179,103, 61,164, 82, 41, 98, 98, 98,
- 32, 18,137, 32,149, 74,209,185,115,103,108,218,180,201,211,205,205,237,111,101,182,150,197,198,110, 93,122,245,106,194,235,225,
-225, 33, 19, 21, 10,183, 23,167, 77,211,188,249,230,155, 7,247,239,223,255,213,152, 49, 99, 10,206,159, 63,255, 49,128,221,206,
- 70,204, 0,172, 95,181,106,213,139,213,198,237,205, 55,223,252,114,255,254,253, 75,199,140, 25,147,115,254,252,249,249, 0,214,
- 55, 38,160,215,235,247, 47, 90,180, 72,243,224,131, 15, 86,255,143,147, 39, 79, 98,219,182,109, 80, 40, 20,183,125,118,252,248,
-241,120,246,217,103, 93, 45, 22, 75,163,239, 36,173, 86, 59,236,236,217,179, 97,168,236,224, 37,169, 54, 90,113,113,113, 46,101,
-101,101, 46, 74,165,210,197,199,199, 71, 85,109,182, 30,124,240, 65, 23,129, 64,112, 63, 40,104,202,139,212, 54, 58,142,164, 53,
-247,243,142,154,173, 58, 73, 13,142,161,117,155,209, 26, 59,118,236, 9, 52,208,147,202, 90,164,131, 4, 44,100,124, 6,114,126,
- 45,179, 5, 14,130,210, 60, 48,205,232,192, 91,223,203, 80, 44, 22,131,207,231,195, 98,177,160,176,176,208, 41, 83,160, 86,171,
-161, 84, 42, 97, 52, 26, 97,183,219, 33,149, 74,171,205, 8,212,106, 53,132, 66, 33,132, 66, 33,164, 82,233, 29,209,164,186,209,
- 28,145, 72, 4,133, 66,129,156,156, 28,164,165,165,129,227, 56, 40,149, 74, 40, 20, 10,136,197, 98,100,103,103, 35, 59, 59, 27,
-132, 16, 40, 20, 10, 40, 20, 10, 56,211,224,154,101,217,122, 95,254, 54,155,205,169,136,150,221,110,199,245,235,215,145,158,158,
- 14,169, 84, 90,115,172, 18,137, 4, 55,111,222, 68,110,110, 46,228,114, 57,212,106, 53, 52, 26,141,195,186,213,199,162, 82,169,
- 32,147,201, 80, 92, 92, 12,131,193, 80, 83,166,106,181, 26, 10,133, 2,165,165,165,200,203,203,107,244,216, 89,150, 69,118,118,
- 54,242,243,243,145,145,145,129,130,130,130, 26,179, 85, 21, 53,106, 89, 96,167,172, 12,133,133,133, 53,145,200,134, 22, 71,224,
- 56, 14,229,229,229, 56,123,246, 44,195,113, 28, 74, 74, 74,184,252,220, 92,246,133,108, 49,246,189,179,129,124,123,248,146,105,
-231, 79, 49,198, 61,191, 92, 53,174,223,115,197, 40,237,253,174,253,158, 60,134, 62, 11,215,192, 38, 28, 81,160,183, 73,242,173,
- 34,141, 87,120, 4,144,124, 8,224, 9, 0,169, 43,250,116,106,139,180, 98, 86,113, 67,103,145,130,193, 72,172, 15,114,117, 72,
-147, 21, 14,207, 47,183, 73, 82,173,158,234,208, 46, 61,160,211,233, 32,145, 72, 32,145, 72,208,179,127, 4,146, 11, 89,249,181,
- 44,163, 28, 4, 35, 28,210,252,131,118, 74,165,178,239,253,247,223,207,212,214, 28, 61,122, 52, 24,134,233, 12, 32,196,169,135,
-220,218,118, 98, 88,229,125, 32, 32,115,175,229, 24, 90,237,139, 51, 5,141,155,248,144,219, 39,199,242, 66,175,231,154, 3, 65,
-108, 11, 64,172, 61, 90, 96,182, 6,169, 84,170,131,235,214,173, 11,148, 74,165,135, 0, 12,104,142,136, 82,198,223,248,214,139,
- 83,125, 93,171, 77,150,205, 0, 8,100,128, 80, 6, 8,100,240,214,122,224,131,103,135,187,201,165,194, 61, 78, 24,214,157,235,
-215,175,247,172,107,178,170,151,238,221,187, 99,241,226,197,158,110,110,110, 59,238,241,203,114,132, 70,163,217, 30, 17, 17,113,
- 54, 91,165,122, 54,167, 71, 15,241, 47, 26, 77,233,176,210, 82, 77, 64, 92,156, 53, 24,184, 2,224,179,204,204,204, 81, 78,152,
-172, 71,213,106,117,204,176, 97,195,172, 42,149, 42,125,245,234,213, 47,204,158, 61, 27,203,151, 47,199,162, 69,139, 62, 7,240,
- 12,128,255,101,102,102,182,106,202,100, 1, 64,110,110,238, 99,175,189,246, 90, 65, 65, 65, 1, 0,160,115,231,206, 40, 41, 41,
-193,194,133, 11,241,242,203,149,157, 98,187,117,235, 6, 66, 8,116, 58, 29, 86,174, 92,169,203,205,205,125,162,137,103,123,198,
-238,221,187,123, 89,173, 86, 63, 84, 86, 15, 74, 74, 74, 74,212, 69, 69, 69, 42,171,213,170,224, 56, 78,225,226,226,162, 4, 32,
-127,252,241,199, 5,215,174, 93, 11,181,219,237, 89,212, 91,253, 65, 99, 94,164, 57, 48, 12, 19,217,146,200, 85,125, 17,177, 6,
-104, 60,162, 53,118,236, 88,166,246,250,182,136, 17,131,216,244,232, 40,184,133,247,184, 45,154, 37,231, 51,144,169, 53, 72,206,
- 72,131, 8,204,213,187,101,180,138,139,139,241,194, 11, 47, 24, 31,123,236,177, 66,142,227, 30,114,212, 20,104, 52, 26,104, 52,
- 26, 92,187,118,141, 76,154, 52, 73,183,122,245,106, 99,109,163,149,144,144, 64, 70,140, 24,145,247,246,219,111,235, 27, 51, 90,
-213, 17,173,101,203,150, 25, 7, 15, 30,156,127,245,234, 85, 82,109,166,148, 74, 37, 86,174, 92,105, 28, 50,100,136,238,194,133,
- 11,164, 58,205,153,136, 22,143,199,171, 49, 90,181,247,225,241,120,224, 56,206, 41,163, 85, 81, 81,241,216,152, 49, 99,116,241,
-241,241,164,250, 56, 53, 26, 13, 86,175, 94,109, 28, 62,124,184,238,234,213,171,164, 58, 77,173, 86, 59,108, 6,171,191, 95,165,
- 82, 65,173, 86,227,218,181,107,100,196,136, 17,186,181,107,215,154,106,167, 95,191,126,157,140, 31, 63, 94, 87, 94, 94,254, 88,
- 99,230,165,186, 58,207,110,183,195,100, 50,161,160,160, 0, 25, 25, 25, 53, 85,135, 70,133,122,212,212, 71,198,117, 53, 26,141,
-134,107, 9,137,233,157, 59,133,105,141, 70,163, 33, 45, 61, 61, 1,120,135,107, 68,251,161,240,240,240,194, 23, 94,120,193, 88,
- 92, 92,220, 98,163, 37, 22,139,227, 5, 2, 1, 25, 48, 96, 0,177, 88, 44, 36, 35, 35,195, 86, 80, 92,108, 15,249,240, 67,114,
-117,222, 60, 70, 22, 29, 45, 81, 42,149, 76,149, 38, 47, 41, 41,137,147,201,100,241,127,249,147,136,199,121,131, 33,247,255,158,
-168,119, 25, 62,110,138,152,201, 61, 15, 88,245,128,196, 21,144,184, 66,160,112,199, 3, 3,186,241,183,158, 45,243, 6,225,250,
- 65, 36,241,107, 82, 83, 72,188, 0,110,192,207, 9, 38,215,251, 39,207, 17, 23, 21, 21,129,207,231,215,152, 34,185, 66,129, 97,
- 19, 31,231,125,121,222,236, 13,144,254, 96,248,126, 78,220,235,175,190,245,214, 91,162,226,226, 98,240,120,188, 63, 52,229,114,
-204,154, 53, 75,162, 86,171, 23, 57,252,240,219, 29, 42,130, 80,210, 7, 32, 47,223,200, 53,181,218,127,197, 24,188, 96,217, 22,
- 89,120,183, 94,120,110,176, 86,182, 44, 50, 47,252,114,134,177, 45,192,206,131,221,210,179, 25,102,107,128, 74,165,138,140,142,
-142,150,143, 30, 61, 26, 43, 87,174, 84,200,100,178, 67,205,121,240, 87,232,217,217,239,173,253, 90, 23,251,241, 72,192, 90, 81,
-105,176,106, 45,121,122, 14,139,183, 28, 47,181,217,200, 84, 71, 53,141, 70,227,140,103,158,121,166,112,207,158, 61,119,152, 44,
-169, 84,138,148,148, 20, 44, 89,178,164,168,168,168,232,137,123,105,178,102,207,158,189, 36, 51, 51, 51,248,231,159,127, 22,228,
-231,231,107, 87,125,241, 69,233,247,165,165, 69, 75,227,226,110,252,175, 83,167,142,175,119,233,242, 68, 35, 67, 63,212,107,178,
- 94,124,241,197,157,153,153,153,221,143, 29, 59, 38,204,207,207,247,123,241,197, 23,177, 98,197, 10, 44, 90,180,104, 19,128,231,
-224, 88,135,151, 63, 2, 8, 86,235,141,226,226,226,177, 35, 71,142, 44, 41, 46, 46, 70,151, 46, 93, 48,110,220, 56,120,123,123,
-163, 85,171, 86,152, 48, 97, 2,130,130,130, 80, 88, 88,136,169, 83,167, 22,229,231,231,143, 4,144,212,152,102, 97, 97,225,173,
- 29, 59,118, 36,204,153, 51,167,123,102,102,102, 40, 0,247,242,242,114, 69,121,121,185,196, 98,177,200, 92, 93, 93, 93,187,117,
-235,230, 49,115,230, 76,229,165, 75,151, 66, 51, 51, 51,245, 0,210,168,189,170, 49, 89, 13,122, 17, 0,249, 85,134,199, 82,103,
-157,223,196, 54, 71,247,173,247,111, 7, 62, 87,215,108,213, 94,238,168, 58,172,255, 98, 4, 22,111,219,189,213, 36,246,239, 0,
- 77,112, 87,200,165, 82,200,196, 98,200, 92,221, 97,230, 56,124,145,146,107,168, 32,100,145,179, 5, 90,247, 69,200, 48, 12, 62,
-253,244, 83,123,223,190,125, 77,199,143, 31, 95,103, 52, 26,253, 1,236,117,198, 20,172, 93,187,214, 48,119,238,220,203,121,121,
-121, 93,165, 82,169,165, 58,125,221,186,117,134,199, 31,127, 60, 46, 51, 51,179,187, 92, 46, 55, 52,212, 62,171,182,209,146, 72,
- 36,230,188,188,188, 94, 79, 63,253,116,252,103,159,125, 86, 33,151,203,161, 80, 40, 32,145, 72, 44,121,121,121, 93, 95,120,225,
-133,203, 43, 86,172, 48,200,100, 50, 40, 20, 10,167,170,229, 8, 33,119, 24,170,218,233,142, 98,183,219,143,231,229,229,117,157,
- 59,119,238,165, 79, 62,249,164,162,218, 0,213,206,227,170, 85,171, 12, 74,165,210,169,136, 86,245,231, 20, 10, 5,214,172, 89,
- 99,152, 51,103,206,229,188,188,188,174, 18,137,196, 82, 43,189, 98,246,236,217,151,242,242,242,186,218,237,246,227,141,252,194,
- 99,203,202,202, 32, 16, 8, 16, 23, 23,103, 22,137, 68,224,241,120,184,121,243,102,141,209,114,115,115, 11,235,218,185, 83,200,
-215, 59,119,159,144,137, 36,146,190,189,122,134, 38,165,166,101, 18,194,164, 54,145,213,189, 70,163,209,255,248,241,227,235,250,
-246,237,107,250,244,211, 79,237, 13, 69,182, 28,193,108, 54,159,184,120,241,162, 77, 42,149, 50, 57, 57, 57,118, 62,159, 15,150,
-101,137,185, 87, 47,115,231, 79, 62, 33,215, 94,127,157, 81, 43, 20, 2,145, 72, 4,185, 92,206, 28, 62,124,216, 98, 48, 24, 78,
-252,245, 70, 11,114, 48,144, 37,230,153, 85, 82,158,157, 65,194,222, 74,147, 37,117, 1,164,174,128,212, 21,190,190,126, 56,159,
- 98, 80,129, 7, 49, 88, 7,198, 16, 35, 68, 1, 6,242, 56, 29, 84, 66,177,140,201,205,205,173, 49, 68,213, 75, 96,135, 80, 92,
- 76,211, 43,193, 16, 9,248,112,102, 8,146,177,238,238,238,130,156,156,156, 59, 52,195,194,194,248, 54,155,205,241,161, 93,178,
- 89, 31,128,123, 49, 33,215,228,243,227,229,138,224,121, 75,191,148,201,216, 18, 32,122, 45,194,219,181,194,188,201,221,196,111,
-238,207, 15,191,144,106,104, 7, 62,121, 14,156,222,211,137,124,222,175, 82,169, 14, 93,184,112, 65,174, 82,169,144,148,148,132,
- 94,189,122, 97,243,230,205,114,185, 92,254, 19, 0,167,218,227,157,211, 33, 77, 95,206,246,125,117,119,122,110,108,142,253, 54,
-147,149, 95, 65,240,204, 71,251, 75,138,203, 76, 15,157,205,104,248,254,169,135, 75, 37, 37, 37, 35, 22, 45, 90, 84,152,159,159,
-127,155,201, 74, 75, 75,171, 54, 4,131, 1, 92,189, 87, 47, 75,141, 70, 51,109,233,210,165,184,112,225, 2, 70,143, 30,141,168,
-168, 40, 20, 21, 21, 97,215,161, 67,137, 59, 18, 19,255, 87,221,102,171,129,161, 31,234, 69,173, 86, 47, 88,186,116, 41,162,163,
-163,107, 52, 11, 11, 11,177,116,233,210, 76, 0,207, 59,107,178,170,201,203,203, 59,127,227,198,141,145, 93,186,116,185,190,110,
-221,186, 76, 31, 31, 31,110,230,204,153,120,230,153,103,224,233,233,201,174, 89,179, 38,125,192,128, 1,113,183,110,221,138, 48,
- 24, 12, 87, 28,249, 45, 80, 80, 80,112,122,243,230,205,103,135, 14, 29, 42,159, 49, 99,134,231,190,125,251,220, 13, 6, 67, 43,
-137, 68,162,181, 88, 44,226,235,215,175,243,191,255,254,123,239,107,215,174,165,152, 76,166,243,205,205,251,127, 13,134, 97, 46,
- 48, 12, 19,201, 48,204,177, 58,235, 11,141,109,115, 98,223,134,254,110,244,115,117,178,185,185,206,226, 56,211,218,225,157, 89,
-157, 84,134,211,211,251,144,220,153,247, 19,221,148, 80,114,114,144, 27,121,186, 61, 83, 49,163,153,195, 59, 24,141,198,154,101,
-207,158, 61,196,219,219,187, 66,165, 82, 57, 61,188,131,183,183,183,174,172,172,140,220,119,223,125, 69,158,158,158, 53, 67, 17,
-248,248,248,232, 42, 42, 42, 72,159, 62,125,138,180, 90,109,205,240, 14,126,126,126, 25,132, 16, 18, 16, 16,144,221,144,158,221,
-110, 39,222,222,222,213, 61,244,132,110,110,110, 27,122,247,238, 93,164,211,233,136,143,143, 79,205,208, 9,158,158,158, 43,123,
-245,234, 85, 55,189,169,252,102,100,102,102,146,204,204, 76,210,186,117,235,236,218,233,105,105,105, 36, 45, 45,141,248,249,249,
- 57, 61,188,131,167,167,231,138,122,242,210,172, 60,250,251,251,235,140, 70, 35,233,215,175,223,109,101,234,239,239,175, 51,153,
- 76,213,233, 14, 13,239, 32,147,201,158,147, 74,165,217, 82,169, 52, 91, 34,145, 44,105,211,166, 77,222,119,223,125, 71,214,172,
- 89, 83,221, 37, 29,158, 97,227,251,118,232,247,196,255, 60,195, 38, 44,104,201,240, 14, 42,149,234, 23,111,111,239,138, 61,123,
-246,220,118,125, 25,141, 70,135,135,119,144,201,100,153,122,189,158,211,233,116,182, 83,167, 78, 25,162,163,163, 13,113,113,113,
-134,148,148, 20, 99, 97, 94,158, 85,167,211, 25, 75, 75, 75,205,151, 47, 95, 54,203,229,247,102,120, 7,178, 57,168, 3,217, 16,
-178,255,214,123,129,215,230, 14,148,155,174,124,208,149,144, 31, 30, 36,228,167,103, 8, 57,254, 42, 57,191,105, 38,233, 23, 40,
- 97, 79, 45,108,157, 64, 54, 6,255,232,200,144, 12,100,115,231, 14,100, 67,200, 79,137,239, 6, 94,155, 49,160,149,233,139,207,
-214,144,115,231,206,145,184,184, 56,146,148,148, 68,126,218,251, 29,233,215, 78, 94,169,185, 33,100,191,147,195, 60,244,151, 72,
- 36,250,213,171, 87,147,179,103,207,214,104,238,223,191,159,200,229,114, 3,224, 88,175,101, 2, 48,100, 67,216, 68,251,103,193,
-191,191, 57, 92, 89, 94,120,240, 85, 66,174,108, 37,100,115, 56, 33, 95,245, 38,228,187, 49,132, 28,120,130,156, 93, 51,153,244,
- 15, 20,217,200,198,224, 40,178, 41,204,225,198,246, 66,161,176,108,207,158, 61, 36, 59, 59,155, 68, 69, 69,145,232,232,104, 18,
- 31, 31, 79,210,211,211, 73,100,100, 36, 17, 10,133, 38, 52, 99,218,178,222, 94, 8,136,232, 40,202,185,188,172, 63, 33,251,166,
-146,252, 29,211,200,216, 78,170,162, 62,173, 91, 52, 30, 93, 55,119,119,247,130,200,200, 72,146,146,146, 66, 78,156, 56, 65,180,
- 90,109, 1,128,240,123,253, 66,140,136,136, 56, 71, 8,137, 25, 61,122,116, 12,128,195, 17, 17, 17, 49,201,201,201, 49,189,122,
-245, 58,139,198,135,126,104,144, 97,195,134, 89, 9, 33,100,244,232,209, 4, 64,118, 68, 68, 4, 73, 78, 78, 38,189,122,245,178,
-220,165,108,243, 1, 60, 33, 20, 10,191,112,115,115,251,213,213,213,245, 56,159,207,223, 12, 96, 58,154, 63, 30, 23, 31, 64, 43,
- 0, 97, 0,122, 86, 45,161, 85,105,180,199, 33,229, 78, 38, 7,162,255,147,237,152, 19,143,181, 69,249,212,182,208, 63,213,158,
-113,100,192,210,136,134,140, 22,199,113, 36, 33, 33,129, 12, 25, 50,164, 66,161, 80,100,193,241, 1, 75,111,211,244,240,240,136,
-214,106,181,119, 12,162, 89, 43,253,182, 1, 75,181, 90,237,105, 31, 31, 31,157,167,167,231,197,250, 52, 61, 60, 60,162,125,124,
-124,116, 30, 30, 30,183, 13,238,201,231,243, 71,123,120,120,100,213, 77, 23, 8, 4, 67,181, 90,109, 70,221,244, 6,142, 29,222,
-222,222, 25,217,217,217, 36, 63, 63,159,248,251,251,103,215, 53, 96,185,185,185,183, 25, 48, 71, 52,155,202, 75, 35,121,172, 87,
-211,129, 50,109,206,121,175, 38,200,215,215, 55,111,213,170, 85, 68,169, 84,230,213,222, 16, 60,240,169,183,206, 37,234,203,158,
-121,109,195,119,245, 12, 88,234,232,224,160, 35, 21, 10, 69,214,144, 33, 67, 42, 18, 18, 18, 8,199,113,132,227,184,134,140, 86,
-125,154,163,122,246,236, 89, 88, 80, 80,192,150,151,151,219, 51, 50, 50,204,201,201,201,198, 15, 62,248,192,154,159,159,111,210,
-235,245,150,216,216, 88,179,143,143, 79, 62,128, 81,206,158,163,230,190,187,234, 86,159,145, 77,161,253,201,198,208,200,248,183,
- 3,174, 63,209, 91, 97,142, 89, 53,154,144,227,175,146,179, 27,158, 33,125, 3,197,149,134,104, 83,200, 33,242,101,208, 64,178,
-182,157,216, 33,205, 47,218, 15, 32,155, 66, 14, 93, 91, 28,112,253,193, 30,158,150,157, 91, 55,145,155, 55,111,146,253,223,239,
- 32,125,218, 86,153,172,141,161, 71,201,134,208, 33,142,104,214,103,182,182,108,217, 66,110,222,188, 73,126,252,241, 71, 71, 77,
- 86, 68,125, 70,235,141, 8,101,201, 51,189,165,230,169,221,196,150, 9,225, 34,235,136, 14, 34,123,191, 0, 1,219,213,135,199,
-133,122,130,140, 8,150,153,201,198,224, 40,178, 49,116,164,163,249, 20,139,197,233,168, 53,166, 78,221, 69, 34,145,228, 55, 98,
-180, 34,154, 52, 91, 65,146,156, 95,222, 27, 74,198,117, 81, 21, 58,104,178,154,186,150,186,121,120,120, 20,124,245,213, 87,196,
-203,203, 43,223, 65,147,245,167, 95,159, 26,141,102,187, 94,175,143, 57,114,228, 72, 76, 68, 68, 68,204,246,237,219, 99, 78,158,
- 60, 25, 35,151,203,183, 87, 7, 39,234,154,173,208, 59,159,255, 17,117, 34, 90, 49,229,229,229,228,200,145, 35, 36, 34, 34,130,
-108,223,190,157,156, 60,121,146,200,229,242,152,230,230,243,207, 56,118,170,249,159,102, 38, 26,168, 58,252,211,127,220,212,103,
-180, 76, 38, 19, 89,184,112,161, 69, 42,149, 26, 68, 34,145,179, 83,240,252,163, 47, 66, 15, 15,143,211, 94, 94, 94, 58, 47, 47,
-175,219,204, 94,237,116, 15, 15,143,139,255,242, 27, 48, 72, 36, 18,165, 9,133,194,219,167,224, 9, 27,223,183,125,255, 25,139,
-188,194,199, 63,208,194,124,138, 68, 34,209, 27, 82,169,212,176,112,225, 66,139, 94,175,119,198,104, 1,192,112,185, 92,158,181,
-109,219, 54, 99, 98, 98,162,173,168,168,200,126,238,220, 57, 91,116,116,180,229,157,119,222, 41,151,203,229, 89,104,120, 88,130,
-191,164, 60,201,218,118,226,106,179,117,101, 81, 64,252,184, 78,114,235,230,249, 35, 72,223, 54,117, 76, 86,195, 35,185,215,175,
- 89,101,182, 46,189,233, 31, 63, 36, 72,105, 95,186,104, 30,233,211, 86,118,187,201,114, 66,179,174,217,146,203,229,229,111,191,
-253,182, 51,145,172,219, 13,225, 23,193,254,100, 83,200,246, 74, 19,213,196,178, 33,248,115,242,105,176,255,223,229, 62,234,237,
-133,128, 97, 65,146,171, 78, 68,178, 28,201,103, 55, 87, 87,215,235, 78, 68,178,254,138, 99, 31, 49,107,214,172,152,228,228,228,
-152,164,164,164,152,147, 39, 79,198, 76,156, 56, 49, 6,192,136, 90,159,169, 49, 91,214, 73,147,204,221,120,188,121, 77,104, 62,
- 58,107,214, 44,146,156,156, 76,146,146,146,200,201,147, 39,201,196,137, 19, 9,156,155,190,135,154, 34,106,180,238, 9,127,246,
-132,159, 17, 0,142,213, 78,144, 74,165, 58,147,201,228,169, 84, 42,247,234,245,250, 57,168,236, 22,217, 34,205, 63, 35,159, 84,
-243, 95,161,233,163, 84, 42,215,233,245,250,137, 82,169, 52,223,100, 50,121, 57,161,233, 34,145, 72,230, 73,165,210, 33, 6,131,
- 33, 8, 0, 20, 10, 69,130,217,108,254,213,104, 52,126, 12,160,228, 94, 31, 59, 89,219, 78, 12,177,184, 39, 8, 94,143, 73,175,
-104,187,244, 72, 81,192,252,161,174,233,253,218, 43, 82, 32,228, 62, 2, 99, 62,207, 60,153,102,118, 90, 83,198,244, 2, 43,124,
-253,124,170,161,205, 71, 63,151, 7, 44, 24,162, 76,239,215, 78,153, 14,130,143, 32, 49,156,113, 86,179,174,217, 82, 40, 20,219,
- 42, 42, 42,158, 5,240,171,179,199, 78,118,135,138, 80, 97,243,133,141,223, 9,164,145, 41,124, 8, 49,128,199,143, 67, 46,116,
-204, 59,215,173,244, 62,250,203, 53, 71, 40,149,202,105, 33, 33, 33,237,174, 93,187,150,100, 48, 24,190, 1,112,180,238,251, 39,
- 4, 24, 34, 23, 8,186, 26,237,246,168,235, 64,116, 19,154,143, 42,149,202, 5, 33, 33, 33,225,215,174, 93,187,106, 48, 24, 86,
- 1,216, 69,207,209,191, 74,243, 95,201, 95, 62,138,114,245,203, 78,175,215,211,210,167,252,217,228,232,245,250, 73, 85,215,157,
-179,251,150,152,205,230,197,102,179,121,113,245, 15,146,226,226,226,191, 85,163, 85,230,165, 36, 11, 89,219, 46, 26, 98,241,178,
- 30,254,178, 57,123,102,201, 12, 32, 76, 38,132,220,154, 38, 76, 86, 83,154,231, 33,179, 45,235, 21, 32,123,249,199,231,100, 6,
- 16,228,130,224,227, 38, 76,150,163,156,170,168,168,104,219,236, 99,126,248,186, 21, 64, 10, 1, 82,241, 78, 35, 63, 20,223, 1,
- 97,104, 35,227,123,201, 81,189, 94,127,244,252,249,243,141,125,134,196, 3, 4,249, 91,179, 0, 0, 32, 0, 73, 68, 65, 84,199,
- 97,119,184, 51,192, 46,189, 94,191,171, 9, 77, 10,133, 26, 45, 10,229, 31,200,223,246,133,205,188,148,100, 33,187, 67, 47,160,
-128,191, 16, 60,180, 5,236,105,168,176,231, 50, 47,165, 89, 90,168,121, 14, 5,204, 92,240, 17, 4,177,253, 22,244,150, 92,230,
-249, 52,203,223,230,184, 1,130,119,168,145,162, 80, 40,127, 27,102,226,246,158,134, 53,255, 83,163, 69,161,252,195,169,138,242,
-100, 86, 45,127, 91, 77, 10,133, 66,249, 15, 26, 46, 48,104,184, 65,155, 51,117,175,205,105, 20,119,140,106, 54, 75,147, 15, 64,
- 3,192, 5,149,211, 56, 84,119, 19,110,106,152,141, 7, 0,216,104,121, 82, 77,170, 73, 53,169, 38,213,188,199,154, 77,105,255,
- 19,219,126,213,215,203,112,243, 95,241,197,180, 71,198,221,101, 36, 45, 79,170, 73, 53,169, 38,213,164,154,255, 82,205,127, 37,
- 60, 90, 4,255, 40,164,180, 8, 40, 20, 10,133, 66,249,219,209,189,106,237,131,202,232,150, 79,245,134,123,218, 70, 75,230,222,
-209, 7, 2, 94, 23,134, 35, 33, 0, 64,120, 76, 60,236, 92,172,177, 48, 49,167,165,218,202, 86, 65,110, 4,226,221, 12, 44, 15,
-235,179, 19,138, 90,170,215, 41, 72, 61,201,203, 67, 53, 45,183,176,116,219,213, 27,250,125,206,236,171,209, 4,104,164,110,174,
-147,205, 86, 91, 39,177, 72,148,110, 45, 41,219, 92, 92,156, 84,222,140,108,184, 53,182,241,157,119, 8,115, 48,231, 34, 35,146,
- 91,121,238,106, 17,163,135,158,232,115,148, 92, 96, 73, 10,249,254,251,135,137,179,231,134,225, 97,176, 66,165,234, 33,145,202,
-123,201, 85,174, 29, 57, 2, 20,233,178, 82, 45, 54,251, 73,214, 98,136, 33, 28,126,187, 27,231,138, 66,161, 80, 40,148,127,129,
-209,186, 8, 96, 12, 42,171, 12,155,110, 12, 31, 16,118,255, 5,169, 84, 22, 8, 0, 28, 33,224, 8, 80, 81, 86, 18,147,155, 20,
- 61, 18, 0, 60,218,116, 63, 34,148,170,123,112,164,114, 59,203, 1,118,171, 41,165, 44,237,220,125,142,228, 72,225, 25,244,224,
-208,136, 97,147,198,142, 29, 19,220,185, 83,231,246, 0,112, 37,238,202,173,131, 7, 35,111, 28, 63,198,236,169,200, 79,248,177,
- 37, 71, 76, 32,125,191,103,207,110,247, 71, 71, 95,124, 15,192,139, 45, 45, 65,119,119,229,156,163, 63, 44, 28, 56,108,210, 74,
- 5,224,156,209,146,186,185, 78,158, 48,110, 84,183, 87, 94,154,197,123,102,225,135,129, 23, 78,253,182, 92,233, 19, 94, 66, 56,
-219,209, 10,221,148,223, 27,155, 56,185,174,127,108,200, 96,125, 83,116,152,183,230,171,190,174,198,162, 91, 83, 8,199, 78, 97,
- 24, 6,124,177,252,123,207,118,247,127,231, 50,120,126, 49, 0,135,123,140,169,125,194, 34,180, 62,126,123,166, 60, 53, 79, 42,
-215,120, 9,192, 23, 1, 96,144,157,122, 29,199,119, 45,117,125,249,221, 45,221, 79,197,166,217,127,249, 97,189,137, 17, 9, 39,
- 25,114,174,209,177, 84, 40, 20, 10,133,242, 95, 38,178,202, 92, 69,214,221,208,160,209,146, 74,101,129,103,127, 59,232,246,227,
-201, 12, 0, 64, 68,119,111,252,239,131,117, 35,182,175,141,190, 1, 0,125,135,142, 13,122,239,141,151,112,250,106, 30, 8, 33,
-232,214,193, 29, 15, 76,120,216, 49,227,225, 21,122,223,228,201, 15, 61,182,112,225,130,241, 55,111,222, 76,221,185,115,231,239,
- 0, 48, 96,224,192, 14, 31,126,248,225, 35, 43, 93,221, 36,223,126,255, 67,150, 73,119,253, 66,115,142, 86,218,170,157,111,112,
-199,182,211,190,253,114, 29,111,240,200,135,166,166,162, 98,169, 41, 59, 41,203,145,125, 61, 60, 60,230, 10,133, 66, 13, 0,112,
-220, 31,254,199,106, 37,222, 0, 96,103, 57,149,107,171,224,114,190, 72,202, 74, 36,162,107,229,122,253,182,178,172,235, 95, 52,
-166,105,182,217,194, 95,126,254, 73,222,165,164, 66, 4,134, 15,224,175, 89,250, 38, 56,214,230, 58,239,141, 15, 38, 71,159,251,
- 22, 21, 58,156,112,240,208,132,117, 19,124,125,251,240,223, 95,170, 28,206, 48,120, 34,160,239, 83, 19,223,219,250,189,176,103,
- 7, 53,204, 54, 14,135, 98, 10,251,110,248,248,253, 21,167, 54,140, 57, 0, 96, 19,128, 95, 0, 52,105,234,220,220,221,190,153,
-187,232, 99,101,133,229,143, 97,138,170, 76, 22, 62,223,182, 27,151, 51, 56,132, 4,135, 8,188,231, 46, 87,110,250, 96,230, 86,
- 67,229,220, 93, 20, 10,133, 66,161,252, 87,201,193,237,141,223, 55, 55,105,180, 0, 64, 41, 19,224, 70,114, 46, 0,192, 69, 6,
-204,121,110, 6, 10, 11,242,131, 44,118, 14, 79,205,152,142,139,241, 57,184,145,146, 15, 66, 8,130,252,228, 14,231,134, 15,174,
-231, 83, 79, 63, 53,232,200,209,163,231,223, 90,244,214,215, 12,131, 51, 0,176,105,243,231,125, 23,191,189,248,217,233, 51,166,
- 15,255,254,251,239,175, 2,104,150,209, 18, 48,170,117, 43,150, 45, 17,103, 22,152, 76,115, 23,190,206, 45,152, 63,119, 13,128,
-135, 28,114, 50, 66,161, 38, 51, 51, 83,201,227,221,222,124,237,163, 37,175, 71, 13,159,180, 50, 49, 53,189,228,210,145,253,251,
-239, 11, 11, 11, 67,102, 86,110,255,229,159,108,236,122,232,136,236,201,242, 50,227, 36, 67,193,245,122, 39,109,150, 8,133, 87,
-223, 93,190,161, 27,231,210,129,247,191,103, 71, 35,188,125, 43,100,229,149, 96,224,200,241,130,152, 11, 23, 70, 0, 14, 27,173,
-186, 3, 52, 78,182,112,121, 93, 63,220,118,110,216,196,126,173,122,242,120,124,232,141, 54,228,151,154,193,114,192,128, 80, 13,
- 70,109,255, 68, 80, 84, 97,123,240,131, 31, 50, 30, 60,179,118,172,206, 84,154, 61, 27,192,158,198,191,134,184,249,105,213,184,
-145, 81, 94,175,201,170, 48,217, 1, 0, 34, 62, 11, 6,196,157,222, 95, 20, 10,133, 66,249,143,211, 96,175, 67, 30, 0, 28, 60,
-120,176,222,246, 59, 44, 75,112, 35, 37, 7, 55, 82,114,112, 62, 62, 31, 86, 34,196,154,229,239, 98,213,210,183, 81,100,228,225,
-199,211, 25, 72, 72,201, 69, 66, 74, 46, 10,138,235, 29,233,253,182, 42,165,149, 75,101,221, 63,254, 88,189, 98,196, 64,197, 96,
- 55, 87, 87,215,196,171, 95, 87, 44,158,175, 11,125,247,229, 12,145,208, 34,201, 84, 40, 21,253,118,239,254, 46,204,203, 83,171,
- 80, 42, 85,175,202,125,187,110,209,104,186,104, 26,211,172,139, 76, 27, 50,126,252,152, 81, 67,189,189,189,184, 89,107, 98,226,
- 59,133,134,216, 58,118,232,216, 95,166,237, 56,190,145,221,106, 52, 57,142, 3,143,199,131, 78,167, 67,118,118, 54,146,147,147,
-145,144,144,128,140,140, 84, 29, 71,136,144, 5,199,243,241,241,131, 64, 32, 70, 96,155, 0,108, 88,179, 84,254,193, 59,255,235,
- 37, 85,136,247,213, 49, 66, 53,154,166,162,226,239,127, 58,124, 52,235,208,206, 13, 44, 0,228, 21,235,113,252,194, 77, 92,188,
-150,225,236,137,172, 59,132, 67,155,172,180,155,101,246,148, 72,254,123,111, 46,200, 56,121,242, 84,106,105,185, 5,229, 6, 43,
- 12, 38, 27,204, 22, 22, 54,150, 67,128,167, 20,123, 95,239,132,253,191,198,122, 49, 12,243,113, 83,229,105, 54,219,216,251, 67,
- 20,152, 58,164, 53, 66,252, 20,200,186,113, 6,115, 23,125,140,232,100, 51,138,139, 75, 96,171, 40, 0,167,207, 68, 65,202, 69,
-216, 89,150, 52,117,222,239, 18, 84,147,106, 82, 77,170, 73, 53,255,197,154, 13,121,145,127, 8,155,235, 89, 80, 99,180, 26,226,
- 86, 70, 17,110, 36,231,162, 71,136, 47,218,183,241,193,249,132, 98,124,115, 60, 3, 91,142,164,225,248,229,124,112, 2, 21,114,
-203,128,196, 84, 29, 18,211, 10,154, 28, 63,155, 47, 17, 78,121,249,229,210,133,157,195,202,250,252,118,104, 14,124, 61, 19,195,
- 94,123,173,100, 14, 95, 34,156,226,218, 90,181,243,245,133,243,166,169,228,114,177,197,108, 65,187,182, 1,210,151,102,207,121,
-146,113,149,236,116,244, 40, 85,190,161,174, 18,153,236,139, 15,222,121, 85,242,241,143,137,233, 21, 22, 84,236, 57,163, 75, 90,
-240,250,226, 34,129, 80,186, 65,229, 27,234,234,168,150,205,102,131,217,108,134,197, 98,129,213,106, 69, 86,198,245,241,191,252,
-248,202,200,182,173,221, 70, 74,164, 82, 16, 0,101, 70, 59,146,115, 12, 24, 50,108, 56,191, 71,247,238,225, 74,159,208,167,235,
-211, 42, 45, 77, 43,229, 8, 95,117,112,239, 14,254,119, 63, 95,194,215, 7, 47, 96,223,175,151,112,254,196, 33, 59,225,108, 53,
-243,127, 41,125, 58, 4, 41,125, 58,167, 41, 91,117,209,213, 44,190,157,162, 27, 45, 83, 62,143, 12, 25, 22,113,236,185, 23, 95,
-250,205, 80, 94,152,247,197,186,119,179,242,179, 83,175, 75, 68,140, 93, 46,225, 67,111,178, 99,235, 47,217,152,188,244, 50,174,
-165,235, 65, 8,105,114, 2,111, 14,152, 63,229,233, 87, 88,155,213,138, 96,127, 37,118,108, 94,134,241, 67,186, 98,104,103, 87,
-220,215, 94, 1,185,192,140,171,241, 55,176,107,199, 86, 59,199,241, 22,208, 31, 50, 20, 10,133, 66,161, 17,173,154,197,167,246,
-134, 6,171, 14, 77, 38, 99,202, 67, 83,166,195, 71,235,173,156, 48,248, 9, 81,204,173, 18,228,231,164,225,102, 66, 28, 12, 38,
- 27, 68,174,109, 1,169, 55,218, 4, 6, 32,246,198, 62,235,218, 21,145,122,206,110, 78,105, 72,111,252,120, 31,191,155,241, 12,
-111,197,114,255,179, 9, 55,138,123,236, 88,244, 21, 30,123, 76,233,177, 98,185,255,217,212, 36, 5, 79, 46, 37,253,158,156, 49,
-149,225, 49, 4,175,189,182, 16, 19,198,142,194, 83, 79, 62,206,108,219,182,181, 79,137,131, 71,201, 65,248,233, 27,111,190, 43,
-214,149,216, 45,231, 19,244,102,185, 66, 38, 59,149,168,175, 8, 15,244,151,141,158,244, 68,118,228,238, 47, 62, 6, 48,195, 17,
-173,106,131,101,179,217, 96,181, 90, 1,128, 5, 0, 30,175,114, 93, 88,110, 65, 94,137, 25,186, 18, 51,236, 44,135, 73, 83,102,
-200, 46, 68, 95,158, 1,160,129,246, 90, 28,103,179,219,176,231,231,139,200,186,240, 61,199,240,248,165,181, 26,195, 67,233,211,
- 33,200,219,219, 63,106,236,164,199, 61,197,210,202,106,216,242, 10, 51,182,109, 92,222,104, 62,121, 12, 67, 56,214, 94, 98,183,
-217, 42,218,181,109,151, 21, 18,214, 85,122,242,183, 35,227, 79, 29,219,163,183,183,123,220,229, 86,106, 14,248, 66, 9,248, 34,
- 41,204, 86,199,126, 44,232,110,158, 93, 15,128,121,250,133,133,107,230,189,242, 63,254,252,181,191,195, 98, 50,192,108,172, 64,
- 89,105, 49,100, 2, 27,174,158,222,111, 39,172,109, 94, 69,206,165,245,244,254,162, 80, 40, 20,202,127,156,186,211,239,212,164,
- 53,104,180,210,174,157,188, 15, 0,130,122,142, 40, 84, 74, 5,110, 2, 30, 3, 93,230, 45,108, 91, 57, 23, 28, 71, 48,250,217,
- 21, 80, 5,122, 67, 38,226,195,172, 47,212, 23,221, 58,209,104, 91, 29,134,177, 13, 95,191, 41, 43,240,133,231,219,169,119,236,
-208, 11, 1, 96,199, 14,189,240,249, 89,173,213,159,109, 74, 9,236,125,127, 15, 16,150,197,216, 9, 15, 97,202,163, 83,144,154,
-107,192, 15, 81,233,168, 48, 90, 28,234, 45, 39,243, 8,233,234,225,238, 57,234,229, 39, 70, 41, 4,124,134,233, 24,160,225,103,
-228,219,236,124,190,144, 61,112,161, 52,123,210,164, 71, 61,142,255,244,221, 80,214, 35,164,171,177, 32,254,114, 83,122,102,179,
- 25, 44,203,194,108, 54,195,102,179,193,205,163,237, 79,195, 31, 90,153,153,147, 91, 30,153, 91,108,234, 93, 97,179, 67, 87, 98,
- 70, 94,137, 25, 37, 21, 86,120,171, 92, 97,183, 89, 58, 55,164, 71, 8,249,122,226, 67,211, 31, 7,192, 99,120,246,175,244, 57,
-241, 9,149, 91,254, 48, 89,163, 38, 60,230, 25, 21,115, 11, 55,163, 15, 21, 19,206, 94, 57,138, 59,195,101, 54, 94,174, 32,124,
- 6,156, 72,192,216,248, 60, 30,103,181,234,109, 90,173,231,241, 19,199, 15,143, 51,217,147,192, 23, 73,106, 62,107,180,176, 14,
- 95, 49,186,155,103, 63, 5,128, 79,214,174, 89,213,111,248, 99,162, 19, 23, 83, 96,180, 1,125,187, 7, 97,239,183,159,155, 9,
-177,189, 82,145,115,233, 83,122,111, 81, 40, 20, 10,133,114,155,193,138, 68,101,227,248,219, 35, 90,213,117,163, 99,199,142,173,
-219,224, 26, 89,186, 34,184, 43, 5,240,108, 21,136,105,115, 87,225,235,143,231,131,101,109, 32, 4,176,179,142,141, 76, 64,136,
-240,231, 23,159, 15, 12,105, 19,200,247,156,246,152,220,248,205, 14,131,108,218, 99,114, 99,167,206,238,165, 47, 62, 31,152, 82,
-110,242,239,111,103, 89,156,186,154,135,184,148, 82,196,165,150, 65, 41,115,124,152, 47,190, 88,244,252,242,101, 75, 69, 2, 62,
-195, 92, 77,211,235, 51, 11,237,122,190, 80,104,149,203,196,196, 66, 4,230,212, 2, 82, 56,108,226,147,198, 3,219, 63,121, 26,
-192,236,134,116,170,123, 26, 86, 71,178,170,215,132, 16,194, 0, 28,199,176,108,102,129, 9,122,171, 13,186,226, 63,140, 22, 99,
-111,184,230, 84,233,211, 33, 72,173, 82, 30,230,243,249, 18, 66, 0,155,213,254, 8,124, 58,140,212,231,220, 76,168,109,178,206,
- 94,205,198,173, 75,199,116,172,213, 48,221,144,119,227, 23, 71,143,157, 97, 64,248,124,112,124, 30,195, 49, 12, 56, 33,143, 88,
- 64, 8, 87, 55, 71, 6, 39,140, 86,181,217, 18, 11,249,139,142,238,250, 88,251,212,152, 80,124, 27, 85,233,249, 76,229,249,101,
- 21, 89,212,100, 81, 40, 20, 10,229,238,210,152, 23,249, 7, 69,181,238,140,104, 53,118, 64,132, 0,137,105, 5,104,227,231, 9,
-191, 54,237,145,112, 61,246,143,109, 0,236,172, 99,213, 81,251,247,231,100,174, 90,165,230,230,207, 47,237,187,124,185,255,153,
-231,103,181,214,116,234,236, 94,250,234,171,233,125, 87,175,214,156,249,249,172,144, 37, 85,227,117, 85,143,205, 69,136, 51,237,
-226,120,189,186,134,181,229,191,187, 35, 49,253,151, 43,229,121, 34,145,200,230,237, 42,101, 84, 74, 49,159,207, 19,138,205, 54,
-158, 57, 40,188, 59,255, 0,143,233,222,152, 74,181,209,170, 91,117, 88,152,127,107,252,209, 31, 22,118, 26, 60,113,133, 91, 86,
-190, 17,165, 22,126, 77,213, 33,159,199,224,202,245, 52,128, 47,138,171, 79, 83,173,114, 59,178,243,155,175,253, 87, 47, 95, 2,
-171,157,197,139,243,223,194,147, 51,166, 31,129, 79,135,145,254,129,193, 49,191, 31,248, 74, 62,114,214, 6,164,221,136,206,181,
-155,203,118, 57, 99,178,106,204, 22, 64, 88,194,241,138,138,203,148,102, 59,164,168,199,247,153,173, 92,179,174, 28,189,209,142,
- 3,231,114,113,240,199, 93,208,168, 20,244, 73, 64,161, 80, 40,148,187,206, 63,212, 92,161,142,185, 2, 26,138,104, 53, 70,128,
-159, 23,206,197,165,160,115, 72, 91,104,212, 42,196,223,202, 4,159, 39, 4,143, 1,108,118,199,205, 16,177,218,190, 93,189, 90,
-131,180, 20, 5,239,179, 13, 41,129, 47, 62, 31,152,178,122,181,230, 12,177,218,190, 5, 48,157, 16,160,210,108, 85, 26, 46,214,
- 9, 95, 64, 56, 91,107, 47, 55, 57, 63, 58,169,162,144,199,227,155,221, 53, 82,206, 93, 35,225,185,171,196, 66,145,144,207,217,
- 9,207,234,167, 13, 52, 17,142,235,234,136, 94,237,170, 67,150,101,193, 48, 60,182,202,136, 41, 50, 10,141, 40, 53,241,161, 43,
- 49,163,184,220,138,142,190, 10, 28, 59,254,189,129,181, 25,119,212,167,197, 23,138, 52,237, 3,253,240,191,247, 87,195,104,102,
-145,152,165,135, 72, 34,241,246,242, 14,191, 60,253,133,215, 37, 47,109,190,133,167,135,186, 99,254,239,183,178, 12, 58,233,235,
-206,156, 89,150,101, 97, 52, 89, 68,186,130, 98,215,178,242, 10,181, 76, 42, 49,122,186,105, 10,234,251,172,201,201,136, 86, 53,
-114,169, 0,227,250,120,195,100,157, 10,163,217,142,211,191,236,161, 79, 4, 10,133, 66,161, 80,254,160,193, 9,164, 29, 50, 90,
- 74,185, 20,132, 47,197,239, 49,183, 16, 28,214, 5, 91,247,159, 71,135,206,125,144, 83,110, 7, 1,175,201,222,134,213, 44,124,
-195,120, 17,192,197,241,227,229,126, 15, 62,232, 59,156, 16,225,207, 27, 54,149,101, 2, 64,219, 78,149, 50, 28, 71, 64, 8, 64,
-184, 74,195,229, 48,140, 32, 45, 37,167,172, 77,160,183, 2,215, 50,173,102,133, 68,196,115, 85,136,249,158, 26,177, 72, 36, 16,
-128, 37,140, 57, 39,231,150,153, 1, 82, 29,145,171, 91,117, 40, 87,250,252, 52,108,226,138,252,212,244,210,232,142, 69,134,174,
-165, 86, 49, 8, 1, 58,250, 42, 16,119, 54,146,213,101,221, 76, 52,234,110,108,172, 79,139,227,192,183,218, 57, 92, 78, 42, 69,
- 73,133, 13, 37,122, 43,250, 15, 25, 39,234, 31, 49, 30,191,199, 21,128,179,219,176,252,243,200,114,150,216,166, 0,215,109, 78,
- 28, 52,239,220,197,171,126,249,197, 21, 18,161, 64, 80, 18,210, 33, 32, 89, 44, 18,218,203,202,202,196,183,127,138, 15,133, 76,
-140, 34,189, 13, 0,108,206, 94, 61,165, 21, 54,236, 63,155,139, 3,123,118, 66, 38,147,129,208, 27,138, 66,161, 80, 40,148,218,
-248,160,114,250,157,200,170,117,141,249,114,104, 82,105,150, 35,240,112,119,131, 84,161, 70,138,206,138,114, 70,139, 98, 3, 1,
-203, 86, 70,180, 26, 9, 60,213, 59,187,247,254,253, 57,153,251,246, 21,108,217,191, 63,167, 86, 67,239, 63, 34, 89, 53,107,142,
- 56,172,201, 16,246,216,254, 67,191,149,142,239,237,233,202,227,243,141, 34, 33,207, 44, 16,241,173, 34, 1,207, 38, 18,240, 44,
- 94,106, 33,255,183, 3,187,196,132,193,111, 77,105,154, 76, 38, 68, 68, 68, 96,244,232,209,152, 48, 97, 2, 30,126,248, 97, 4,
- 5,133,106,121,124,198, 66, 24,142,243, 20,151,163,189, 39, 3,129, 41, 3,191,236,250,200, 16,119,106,239,101,214,108, 26,135,
-219, 45,231, 31,154,132,112, 69,165,102,152,172, 44,138,245, 86, 20, 87, 88, 97,247,236,139,189,167,179, 97,180,176, 72,139,249,
-222,152,159,155, 57,215,156,119, 51,165,137, 83,241,218,237,255,146,204,103,158,154,145,175,146,242,110, 14,232,119, 95,190,135,
-187,155,157, 97,254,136,188, 50, 12, 3,169, 90, 11, 87, 23, 21, 82, 46, 30,194,209,229,195,140, 0,222,116,164, 60,107,163,150,
- 11, 48,190,183, 55,198, 77,154,138,206,125, 70, 58, 98,172,233,140,246, 84,147,106, 82, 77,170, 73, 53,255, 75, 84,207,113, 88,
-189,118,108,100,248,106, 3,212,206, 71,129, 14,190, 10,152,172, 90,152, 44, 44, 42, 76, 44,202, 12, 86,148, 25,108, 72,201, 53,
- 32,110,127,203,115, 88, 25,197,170, 28,241,147, 16, 0, 76,165,193,115, 52,122, 34,182, 90,222, 95,181,252,195, 71,118,117,239,
-102,121,105,140, 79,235,216, 20, 75, 54,195,240,140, 60,190,192,230,166, 18, 8,227,227, 99,243,207, 68,253, 52, 80,106,103, 31,
- 55, 52,162, 99,183,219, 75,125,125,125, 1,220, 62, 5, 79,104,123,217,132, 83,145,175,181, 29, 52,126,185,231,199, 75, 22, 26,
-120,124, 17,199, 8, 68,113,172,205,184,211,168,187,177, 1,141,216, 15,158, 72,122,253,220,165,107,125, 92,220, 90,227,102, 86,
- 5, 42, 76,118, 88,237, 28, 92,149, 34,100, 94, 57, 98, 77,137,143,254, 78,159, 29,187,181, 25,197,182, 35,225,122,156,223,168,
- 81, 35, 31,234,211,167, 47,127,241,226,183, 16, 28, 28, 12,163,209, 8, 30,143,135,214,109,218, 35, 37,225, 18,206, 70,190,207,
- 26, 10, 83, 55, 2,120, 15, 64,190,179, 95, 82, 80,102,193,161,232, 60, 68,254,248, 45,248, 66, 49,189,157, 40, 20, 10,133, 66,
-185,147,153,117,214,155, 29, 50, 90, 38,147, 41,229,254,136,113,224, 56, 2,150, 0, 28, 91, 21,121,226,254,136, 62,177, 54, 83,
- 74, 75,115,199,113,236,249, 79, 55,111, 25,221,189,215, 32,126,152,191, 18,101,133,185, 56,123,234, 87, 59, 56,114,198,145,253,
- 11, 11, 19,245, 50,175, 14, 15, 61, 50,249,193,221, 51,158,154, 85, 50,112,200, 16,133, 86,235,109,206,204,202, 52,124,185,253,
- 27,219,145,159,246, 13,228, 96,127,180,176,240,166,190, 49,157,210,210,210, 79,234, 75,151,136,149,253, 1,180,229, 11, 24,139,
- 49, 63,209,169, 22,225, 5, 89, 25,147, 62,124,255,157,212,199,158,157, 39,110,231,219, 30,121,165,124,164,100,230, 34, 62,106,
-159, 57, 43,225,194,143,101,153, 23,159,118, 80, 42,167,158,180, 76, 0, 31,159, 61,123, 38,124,212,168, 81, 35,135, 14, 29, 74,
-102,206,156, 9, 66,128, 95, 54, 63, 79,138, 82,206,126,143,202, 40, 86, 82, 51,207, 75, 90,212,153, 75,110, 15, 15,236, 41,112,
- 87, 61,141, 45,223,254,100, 3,225,210,232,253, 68,161, 80, 40, 20, 74, 13,205,111,163,149,113,189,114, 60,173, 63,155,242,220,
-188,233, 91,183,126,253,193,215,219,119,245, 55, 89, 44,190, 4,162, 12,214,110, 57,161,103,177,216, 81, 13,163,238,102,180,187,
-123,199, 78, 95,126,254,233,155, 95,110,249,108, 16, 56, 54,132, 1, 82, 9,131,223,164, 54,118, 70, 83, 38,171, 81,179, 84, 80,
-190,105,248, 67, 43,141,133,133,250,175,157,221,215, 88,120, 35,151,199,183,182,222,180,230,253, 21, 60, 30,127, 4,203,114, 66,
-142,181,221,100,173,166,143,140,249, 55,246,195,225, 86,110, 40,106,100,219, 85, 0, 87,143, 31, 63, 62,224,248,241,227,189, 0,
-124,130,202, 57, 20,163, 91,114, 94,204,133,229,195, 94, 89,248,202, 47, 11,192, 4,112, 28,129,157,229,210, 68, 70,195, 48,122,
- 79, 81, 40, 20, 10,133, 82,195, 76,220, 57,104,169, 99, 17,173,191,138,226,226,164,114, 20,227,165,150,234, 20, 22, 38,234, 1,
-220,209,115,207,208, 66,221,184,196,178, 31,144, 88,246, 67,115,247,175,200, 75,206, 7,146,103,180, 48, 27,142, 52,100,255,189,
-106,185, 43, 20, 20, 92,175, 64, 1,122,211,123,136, 66,161, 80, 40, 20,167, 13,151, 99,141,225, 41, 20, 10,133, 66,161, 80, 40,
- 77,154,172,218,107, 0,149,109,207, 27,234, 57,224,204,204,220,205,233,125,112,140,106,182, 88, 83, 8, 64, 12, 64, 9,160,169,
- 42,205,145,168,154,175,145,150, 39,213,164,154, 84,147,106, 82,205,123,168,217,148,246, 49, 80,254, 84, 3, 70, 53,169, 38,213,
-164,154, 84,147,106, 82,205,255,158,230, 63,153,153,245, 44, 0,254, 70,109,180, 40, 20, 10,133, 66,249,171,112,119,239,168, 4,
-106,218,245, 54,137,220, 35,212, 11, 0, 12, 5,215,117,180,244, 40,245, 80,123,158,195,187,210, 70, 75,200, 19,136, 95,145,171,
-220,175, 43, 52,238, 89,255,241,194,101,130,218, 40,230, 12, 31, 24,184, 55,184,173,108,130, 51, 59,202, 61,131,190,242,110,223,
- 59, 93,161, 13,154, 3,159,238,178,150,100, 66,161,109,235,169,108,221,243,148,202, 55,252,129, 63,225, 24, 37, 97, 97, 97,125,
-195,194,194,250, 2,144,220, 13, 65,185, 54,104,170, 95,135, 62, 81,218,118,221,126, 85,120,117,156,124,183, 51,172,244,233,224,
-174,108,221,227, 7,101,171, 46,197, 74,159, 46,101, 74,191, 30, 39, 84, 30,161,237,154,218,175,245,248, 15, 67,222,221, 25,183,
-179,245,248, 15, 67,234,219,238, 58,106,173,234,237, 93,137, 75,220,199,125,164,164,207,149,230,209,186,255, 84, 23,159, 65, 11,
-220,157,221,207, 55,168,207,213, 54,225, 3,242, 90,117,236, 29,231,232, 62,126,193,125, 47, 6,132,245,215,249, 5,245,141,166,
- 37,239, 24, 82,207,182,125,165,174,254,145, 18, 87,255,159, 36,110,109,135,180, 84,207,199,199, 71, 22, 18, 18, 50,170, 79,159,
- 62,207, 13, 27, 54,236,229,110,221,186,205, 12, 8, 8, 24,113, 47,127,232,203,181, 65,111,152,133, 76,129, 89,200, 20,200,181,
- 65,111, 52,253,124, 13,254,128,225,177,217, 12,143,205, 86,104,131, 63,248,187,156, 43,137, 87, 80,128, 92, 27,180, 90,229, 29,
-118, 94,166,237, 56,206,217,253, 93, 93, 93, 71,120,122,122, 78,172, 94, 92, 93, 93, 71,208, 59,160,217,212,142, 98,181, 56,162,
-197, 23, 74,228, 39, 31,123,234,197, 78,203,222,121, 93,186,102,203, 94,172, 89,178,240,154,185,162, 36,236,239,120,228, 30,109,
-123, 69,243,121,124,191,218,105, 44,199,102, 22, 36,159,239,121, 55,244,131,219,200,158,126,243,213,233,243,167, 62, 18, 17, 16,
- 49,118, 46,115, 35,217,184,207,113,139,134,174,223,253,240, 99,235,168,223,126, 93,187,101,203,230,247,242,237,193,171,133, 18,
-193,167,101, 25, 87, 75,156,201,131,218,179, 93, 91,129,194, 35,234,254, 9, 47,122,199, 28,251,102, 43,107,225,134, 27, 10,106,
-205,254,221,124, 60,219,183,111,127, 31,159,207,119,159, 51,103,142, 8, 0, 62,254,248,227, 14, 44,203, 22,222,186,117,235, 2,
-154, 49,248,105,165,193, 12,158,254,201,138,119,191,126,224,129,209,200, 46,168,192,242,213,235, 7, 31, 62,248,221,195, 21,186,
-196,239,239,198, 57,113,113, 9, 84, 67,164,186, 50,247,213,247,180,163, 6,223,199,215,155,236, 56, 28,117,105,192, 55,235,223,
- 59, 15,132,246, 42, 47,184,222,224,152, 98,156,161,116,145,151,146,140,226, 12,165, 0, 48,245,142,151,189,210, 22,225, 41, 99,
- 71,249, 72, 4,151, 10,129, 38, 39,125,116,105,211,255,136, 80, 34, 9,224,241,120,224, 49, 0,143,199,128,207, 48,149,243,132,
- 90,141,105, 89,241,191,143,252, 59,220, 39, 42,255, 94,185,224, 11,220,121,204, 31,249, 99,120, 85,107, 66,202,114, 19, 79,186,
-223,133,175,209,116,234,224, 18,222,191, 67,197,151, 39,146,139, 20,130,129, 47, 71, 50,132,247, 89,250,239,171, 47, 59,100, 0,
-164, 82,215, 3, 7, 14,120,142, 26, 53, 74,163, 13,159,112,194,145,125,196,124,125,216,193,131,251, 69,163, 70,141,116,226,250,
- 12, 26, 14, 30,111, 59, 3, 8, 57,142,124,204,231,200,119,250,194,132, 91,128,115,179, 79,201,180,193, 79,243, 64, 28,126,206,
-112, 96,162,141,121, 55,182, 52,183,112, 5, 18,245, 48,161, 72,244,114,219,160,206,221,179, 82,111, 70, 87,232,203, 87,219,205,
-165, 39,156, 22,178,217, 95, 57,246,123,204, 3, 2,161,144, 25, 53,172, 55,223, 12,252,218,146,147,238,229,229, 53,113,221,186,
-117,237,250,246,237, 11, 0,176,219,237,234,221,187,119,123,191,255,254,251,138,132,132,132,230, 78,156,234,235,233,233,233, 47,
- 22,139,125, 1,192, 98,177,100,229,231,231,167, 3,104,242,135,191,194,171,157, 7, 8,222,251, 61, 42, 74, 0, 0, 3, 6, 12,
-252,192,255,254,217,174,124,145,210, 88,111,113, 88,202, 21, 37,183,126,157,119,246,220, 25, 6, 0,250,244,238,251,186,220, 35,
-244,211,123, 25,217,146,106,131,123,243,128,249,125, 6, 68, 76,154,242,232,116, 94,120, 71,127,140, 24, 62,244, 53, 35,112,192,
-169,107, 70, 32,144,157, 63,127,190, 61,143,199,227,219,237,118, 83,159, 62,125,210, 91,146,175, 86, 65,125, 79, 51,224,181,182,
-218, 45,159,231, 39, 69,127, 0,220, 49,113, 12, 95,211,186,251,155,224, 11,158,229, 56, 46,163, 60, 61,186,223,191, 48,162,117,
-103, 57, 59,171,196, 19,136, 95,158,250,228, 11,157,230, 45,248,159,116,238,154,227,136, 92,255,122,193,223,213,100, 1, 0,159,
-199,247, 59,114,244,136, 86, 46,230, 3, 0,244, 38, 59, 30, 24, 53,170,233, 55, 66,155, 94,191,241, 24, 38,184,122, 66, 27,214,
-110,149, 10,132, 98, 19, 83,105,144,192, 0,240,104,213,230,184,151,253,164,124,234, 35, 17, 1,219,119,253,156,153,158, 89,232,
-244, 67,141,225,139,208,103,224, 8, 68, 12, 31,169, 57,127,238,244,123,155, 55,110,120,195,110,181,109,224,108,220,106, 83,209,
-205,236, 38, 31,230,222, 29,123,136,149, 30,135, 39, 61,247,190,187,137,231,134,197, 75, 62,241,136, 58,180,227, 68, 86, 70, 87,
- 46, 45, 45,195, 68, 24,230, 90,113, 81,206,203, 21,185,183,110, 56, 90,100, 74,165,178,157, 82,169,236,218,165, 75, 23,233,194,
-133, 11,133,131, 7, 15,254,195,178,207,156, 41,250,237,183,223,124, 86,174, 92, 57, 58, 54, 54,214,164,215,235, 47,235,245,250,
- 36, 56,209,208,222,219,219,115,246, 67, 15,142,195,208, 73, 47,130,229, 24,204,124, 97, 30,142, 28,218, 51, 11,192, 93, 49, 90,
- 54,185,250,253,103,159, 91,232,217,231,190,110,252,247,118,220,128, 76, 44,192,200,158,193,204,147,115, 22,185,108, 89,251,222,
- 23, 40,192,160,250, 34, 89,156,161,116, 81, 39, 15,203,163,227,251,182,197,254,157,150, 71, 49,236, 85,240,228,154, 15, 50,246,
-255, 47, 30, 0,218,141,154,163,146,176,249,235, 90,185,240,181, 18, 54,127, 93,187, 81,115,142, 37, 29, 94, 87,222, 88, 94,132,
- 18, 73,192,206, 29, 59, 58,186,170, 68, 16,240, 24,240,249, 12, 4,124, 30, 76, 22, 22, 15, 63,242,232, 93,187,204,101,218,142,
-163,121,192,147,149, 47,108,124,101,204, 75,252,201,153,115,194,240, 69,238, 7,247,255, 40,208,106, 36,224,243, 25,240,121, 0,
-159,199, 32, 85,103,196,211, 79, 63,169,105,169, 97,127,160,191,246,190, 87,166, 4,143,236,211,201,173,203,183,103, 24, 77,159,
- 7,166,184, 23,152,228, 79,236,218,247,235,163,100,192,188,115,132,112, 43, 50, 79,126,114,180, 49, 17,179,217,172, 27, 57,234,
- 1, 53, 35, 80,200,143,237,221, 58, 80,192, 99, 96, 99, 9,236, 44, 1, 91, 53, 55, 42, 83,245, 11,134,199, 99, 64, 56,130,103,
-159,125, 26, 35, 71, 61, 96,224,236, 92,166,227, 15, 57,222,246,195,199, 78,121,154,109, 28, 86,174,219,242, 94, 69,105,254,123,
-201,241,238,169,250,210,130,121,198,188, 68,135,231,193,224,129,244,204, 72,138,123,110,199,193,179,232, 20, 22, 10,150,171,204,
-103,176,159, 2, 59, 34,207, 34, 36, 56,164, 50,223, 28,249, 63,123,103, 29, 29,197,245,183,241,103,214, 53,238, 9,193, 3,193,
- 18,220,221,139,107,209, 66,113, 90, 74,141, 34, 45, 45, 80,180, 20,167, 64, 11,148, 82,160,184, 7, 11, 14,165,104,128,144, 0,
- 73,136, 19,223,216,186,239,220,247,143, 77, 40, 18,217, 0,125,251,107,123, 63,231,236,217,204,100,247,217, 59,115,103,238, 60,
-247,123, 13,181, 3,229,104,214,180, 25, 0,188,150,209,226,137,156,190,233,208,123,244,130, 62, 67,199,193,219,203, 11, 28, 98,
-233,115,238,196,111,125,126,217,248,253, 23, 86,131,106, 69,133,196,136,237,217,115,129,176,236, 27, 71,157,252,253,253,189,154,
- 53,251,115, 58, 70,171,213,138,106,213,170, 33, 61, 61, 61,248,117,234,105,126,126,126,189,231,205,155,231,221,171, 87, 47,190,
-175,175, 47, 0, 32, 43, 43, 43,224,244,233,211,141,231,205,155,151,147,153,153,121, 2,101,204,232, 99,179,112, 4, 28, 30,184,
- 98,177,212,126,140, 96, 56, 51,166,189, 23,234,227,231,111, 44,233,243, 10, 69,150,112,230,135, 23, 25, 30, 79, 80,244,121,112,
- 8, 97,153, 50,162, 68, 93,249,124,126,137, 45, 20,102,174,115, 75,194,119,153,192,225,114,236, 23,171,213,162, 40, 72,189, 91,
-183, 2,145,184,250,124,161, 96,211,224, 97,227, 90, 15, 25,212, 31,126, 94, 46, 56,247,123, 36,166, 76,251,204, 98, 53, 91, 86,
-189, 86,225,193,229,242,114,114,114,146,221,220,220,124,223,252,121,203, 84, 63,123,230,148,247,185,243, 23,102,175, 92,179,110,
-170,217,100,181,176,132, 60, 91,199, 88, 34, 17,241,187,245,121,215,217,187,102, 75,241,186,121, 19,248,255,194,136,214,230,183,
- 98,180,132, 18,167,119,191,158,249,145,120,225,174, 27, 56,177, 97, 74,174, 78,149,235,245,172,166,224,236,122, 87,171, 42,108,
-252, 58, 41,148,123,213,110,197,112,121,147, 25, 46, 87,198,112, 24, 33,107, 99,159, 90, 77,166, 69,250,188,184,204, 55, 61,122,
-150, 37, 56,248, 71, 78,197, 12, 16, 65,208,206,189,135,189,125, 92, 69, 48,152,109, 24, 54, 98, 52,118,236,216,225,228,229, 34,
-132,193,100,197,247, 43, 87,170, 53,201, 39,188,147,159, 22,164,119,237,251, 89,120, 66, 82, 78, 84,106,166, 97, 95, 69,211,102,
- 52,219,160,210, 89,161, 51,114, 80,171,126, 51,124,191,170,142, 56, 53, 37,241,179,237,191,108,157,254,240, 33,119, 7,203,229,
- 44, 48,100, 62,122, 90,226, 77,231,219,160,135,179,155,199,238,129,147, 23,187,198,229,240, 64, 96, 70,188,179, 24,239,142,157,
-238, 92,195, 87, 2,153,152,235,154,152,146,238, 55,227,139, 47,126, 79,176,145,230, 42, 69, 66, 98,121,233,169, 90,181,234,160,
- 62,125,250, 72, 63,255,252,115,126, 96, 96, 32,126,249,109,127,149,118, 61,134,246,205,200,204, 14, 36,132,192,199,219,251,233,
-196,247,135, 30, 63,121,242,100,202,211,167, 79,249,203,151, 47,111,113,248,240,225,122, 89, 89, 89, 14,215, 76,109,132,192, 96,
-180,193, 86,244,128, 84, 40,141, 21,246,167, 1, 1, 1,162,244,244,116,227,115, 81, 6,230,207, 64, 33,211,163, 75,135, 22,188,
-159, 78, 37, 65, 99,176, 65, 38,230, 35, 41, 91,135,166,141, 66,152, 45, 54,107,195,146, 4,199,191,219,123,174,143,156,244,236,
-215,170, 58,188,221,164,216,246,195, 98, 28,187,158,216, 51, 91,195, 96, 61,225, 78,246, 19,241,186,201,216,204,245, 29,155,214,
-244,237,220,164, 10,110, 55,173,233,123, 37, 34, 38, 86, 50,116,229, 71,233, 26,254,185,130,211,211,213, 37, 23, 60, 28,184, 59,
- 9,240,243,153, 20, 72,197, 60,200,196, 60,200, 68,246,119, 14,135,121,179, 90,173, 95,221, 64, 46,107, 27,207,229,242,198, 15,
-127,119,168,255,200,225, 67, 9,184, 28,236, 63,120,188,255,174, 93, 59, 51, 45,102,211, 86, 27,135,251,115,105,215,207, 11, 39,
-148, 3,120,187, 8,241,197,214, 40, 56, 75,248,112,146,242,225, 44,229,163,115,168, 23,184,175, 63, 9,140,219,148,254, 53,122,
- 77, 25, 88,181, 83,112,101,121,173,251,241,202,135,227, 23,221, 89,115,169,176,211, 39, 63,172,174,231,161, 41, 52,241,190,153,
- 49,145,151,150,145,209,105,255,241,203,157,109,166,113, 49, 86,179,246, 75, 69,228,254, 18,163,194,105, 49,215, 27, 7,180, 28,
- 34, 54,107, 44, 15,238,199,164,213, 44, 48,138, 16,157,172,130, 76,204,131,188,248,220,138,121,144,137,249,144,139,121,200, 72,
- 75, 66,190,150,251,123,186, 7,167, 19, 46, 95,183, 86, 36,225, 6,179, 13,247, 18, 53,168, 26,220, 8,126,126,254, 48,245, 26,
- 85,245,230,133,131, 71,111, 93, 62,178, 84,151,245,248, 75, 71,117,126, 11,187,129,217,159, 78,142, 96,128,187, 69, 15,233,198,
-223, 44,219,208,228,219,217, 31,190,176,111,198,130,117, 77, 94, 63,146,229, 52,183,243,192, 15, 22,180,235, 54, 16,234,252,108,
-252, 17,190, 15, 61,250, 12,198,168,113, 31,195,213,213,243,251, 85,139,102,222,183, 26, 85, 23, 94, 41,115,125,235,180, 13,105,
- 80,119, 87,128,191,127, 32,203,218, 87,249, 32, 4,208,168,149,152,249,201, 68,176,132,160, 97,227,230,157,197,237,186, 17, 82,
-180, 26, 72,110, 94,174, 54,230,241,195,174,134,156,152,155, 14,159, 75,131,193,162, 80, 40,112,239,222, 61,196,198,198, 34, 58,
- 58, 26,121,121,121,112,113,113,209,104,181,218, 10, 5,239, 67, 67, 67, 71, 94,184,112, 65,236,230,230,246,108,167,201,100,130,
-147,147, 19, 70,142, 28,201,239,222,189,123, 64,239,222,189,199, 68, 69, 69,253, 6, 64, 85, 98,122,242,159,100, 56,249, 4,255,
-216,161, 99,135,169, 0, 32,113,246, 75, 92,255,203,241,232, 50, 43,180, 46,254, 85, 90,183,110, 83, 19,132,128, 1, 89,171,203,
-139,205, 42, 35, 74, 36,187,113,227, 70, 13, 46,151,203,251,243, 25,196, 98,227,182,189,117,206, 94,125, 48,104,217,247, 43,196,
-206, 50, 17, 20, 74, 19, 38,140, 26,232,240, 51, 88,226, 19,220,171,117,235,246, 71,191, 93,240, 53, 79, 46,147, 33,252,102, 2,
- 62,250,228, 11, 67,102,114,212, 10,194,242, 55,232, 20,177, 57,111,248,168, 36,120, 11,212,170, 36,135, 83,191, 30,226, 41,239,
-245, 19,155, 44, 54, 20,106, 45, 48,154,109,176,177, 4, 74,173, 5, 15, 83,213,240,116,174,248, 82,110,132,144,102, 0,188, 0,
- 40, 24,134,185,253,252,118,113,133,174,216, 27,191,180,157, 91,244,124,240, 0, 96,130,125,164,254,179,203,167,104,187,180,253,
-197,223,127, 8,160,110,145,166, 13,192, 45,134, 97, 10, 74, 49, 91,175, 68,185,120, 97, 97, 97,164, 79,159, 62,207, 74,252,151,
-183, 95, 70, 36,224,251,203, 92,188, 64,200, 35, 60,191,128,177,183,111, 64,222,138, 85,107,220,167,125, 48, 57, 69, 85,152, 95,
-165,104,247, 57, 71, 30, 22, 60,134,187,170, 67,155,150,221,167,126,240, 1,130,107, 84, 18,216,108, 54, 18, 21,155,104,217,254,
-243,182,177, 87,174, 11,215,168,210,162,230, 62, 23,130,172,208,176, 79, 27,107, 75,123, 57,130,101, 99,109, 47,215,110, 95,209,
-100, 24,192, 85, 46,196,143,167,146, 64, 8,192,128,192, 69,198,199,158, 75,105, 72,140, 56,164,234,211, 80,165, 29,185,108,126,
-231, 78,189,166, 95,120, 24,111,216,151,147, 99, 56, 3, 32,171, 44,205,146, 11,116, 22, 70,179, 13, 22,171, 21, 7,142, 31, 71,
-207,206, 45,208,186,117, 11,180,111,215,154,119, 39, 34,114,220, 7, 83, 39, 6,226,207,209, 29,207, 52,197, 62, 65,205,228, 46,
-158,251, 6, 77, 93,238,244, 32,205, 10, 30, 23,168,238, 43,129,187,147, 0, 38, 43,131,100,133,185,232,206,113,197, 71, 51,218,
- 68,194,144, 0, 0, 32, 0, 73, 68, 65, 84, 22,184,207,254,108,234, 73,149, 66,216, 0,120,100, 46,235,216,117, 58,157,112,244,
-232,209,124,139,197, 98, 30, 57,225,227,238, 89, 89,138,254, 27,215,126, 39,242,246,246,129,206, 96, 69, 68,244,147,186,223,126,
-187,160,250,241,211,151,142,204,255, 98,202,209,158, 61,123,186,236,221,187,151, 45,239,124,190, 80, 67,204,206,253, 97,219,174,
- 3, 59, 86,175, 88,130,152,148, 2,252,252,211, 6, 16,155,245,199,114, 78,213,243,154,100,244,232,209,146, 35, 71,142, 84, 74,
- 75, 75, 83,233,116, 58,197, 11,241, 8, 14,195,203,206,215,193,211, 73, 8, 1,143, 3, 31, 55, 49,188, 93, 68,224,115, 1, 14,
-195,216, 74,210,252,121,223,137, 69,172, 78,137, 99,187, 77,195,183,253,176, 24,227,166,125,133,168, 92,225,105,142,212,101,209,
-135,195, 7,205,246,146,216,122,250,187,114,188, 59, 55,169, 10,153, 88,128, 57,211, 71,163,121, 68,178,119,122, 33,251,149, 66,
-207,109,180,224,244,179,197,186,207,189, 24, 28,177, 71,176,156,164,124,156,222,245,125,142, 86,169, 80, 22, 55,201,153,140,134,
- 20, 7, 47,227,115, 37,212,108,103, 55, 10,169,191,120,234,164,241,156, 54,173,154, 19, 14,135,143, 92,181,137, 33, 4,248,228,
-163, 41,248,112,202, 68,223,167, 25, 57,223,108,216,240,227,220, 11,103,201, 66,173,226,241,252,178, 52, 57,140, 61, 10, 36, 23,
-243, 32,151,216,141,139, 92,204,131,193,100, 3,195,128,235, 90,185,177,146,177, 71,114, 51,242, 83, 74,173,129,191,160,233, 94,
-185,254,249,179,137, 78,117, 10,246, 21, 92, 79,202,136, 94, 20, 17,153,125, 11, 64,126, 96,123,215, 49,102, 43,129,198, 96, 69,
- 82,182, 14, 86, 51, 97,198,189, 83, 5,213,134, 48,193, 75,182,221,221,113, 42, 18,206,207, 21,250, 47,104,166,223, 56, 96,240,
-104, 48,112,216,234,117, 63,221, 94,177,248, 43,110,174,210, 4,150, 16,136,133, 92, 72,132,188,162, 23, 23,122,173, 18, 27, 54,
-109,201,178,130, 25,132,203,151,173, 21,185, 62,193,146, 81, 3,123,181,223,195, 0, 66,134, 35, 72,243,175, 82,181, 74,151,190,
- 99,197, 93,250,141,134,205,106,154, 29,113,149, 92,212,229,196,156,119, 68,179, 65,189,186, 96,128,187,218,156,216, 41, 0, 32,
-243,174,253, 99,157,224, 58, 77, 94,222, 23, 20, 20,220,196,145,124,127, 22, 41, 21, 59, 77,115,115,247,250, 42,184,126, 35,239,
-236, 2, 35,227,228, 81, 9, 73,113,247,176,123,211, 55, 59, 89,131,105,193,249, 19,251, 22,175,249,249,240,187, 93,122, 14,196,
-182,141,223,205,201,203,124,102,180,206, 61, 23,173, 26,181,125,235,230, 64,190, 80, 4,139,149,133,197, 70,236,239, 86, 27,242,
-243, 11, 96,177,178, 16, 75,157, 96,101, 25, 88,108, 44, 44, 86, 22, 70,147, 85, 54,101,116,239, 15, 12,192,205,146,210, 25, 80,
-167,195, 25,129, 72, 84,133,192,190,118, 45, 33, 4, 73, 89,122,142,159,159,223,111, 0, 32, 18,137, 32, 18,137,192,178, 44, 34,
- 98, 20,211, 60,131,107, 79, 69,145,193,179,153, 77, 41,133,201,215,122,148,118,236,190,190,190,125, 95, 54, 89, 6,131, 1, 26,
-141, 6, 87,175,223,118,217,186,227, 64,207,164,148,180, 26, 44,113, 49, 58,121,215,232,161,206, 73,232, 91,218,249, 84,103,199,
-124,224,220,114, 34,231,243, 15,199, 4,173,219, 30,118,235,201,153, 69,101,246,211,170,214,101,150,233,243,201,131,155, 46, 91,
-251,115, 92,193,181, 31, 63, 45, 47,143,120, 60, 30, 95,161, 80, 60,187,191,215,111,217,221,244,110, 76,250,128, 53,171,215,136,
- 35, 18,212,120,144,148,129, 49, 93, 43,219,107, 56, 14,228,187,204,167,134,103,245,154, 53,127,219,176,118, 25, 47, 46,195,128,
- 31, 14,221,194,133,163, 63, 94,205,202,185,217, 19,217,153,250,215, 41, 67,222,130,209, 42, 85,243, 98,100, 46, 52, 6, 43,140,
- 38, 43, 44, 44,129, 74,103, 65, 78,161, 9, 42,157, 25, 26,189, 21, 99,186, 85, 46,241,123,229,248, 17, 47,134, 97,194, 8, 33,
-125, 8, 33, 93, 1, 8,139,183,237,207,108, 38,172,200,144,189,176, 61,123,246,236, 47,151, 46, 93, 26, 93,252,217,226,253,197,
-159, 45,107,255,115,223,247,152, 51,103, 78,131,101,203,150, 45,105,213,170,213,158, 63,254,248, 35, 17, 64,129,163,205,135,188,
-231, 15, 38, 44, 44,172,188, 19, 93,195,108, 49,139,156, 37,124, 84,175, 86, 25,239,127,185,205,243,215,101,227,115,196, 66, 30,
-247,212,169, 83,238,121, 38, 57, 56, 28,174,195, 85, 20,185, 87,173,214, 2,129,240,196,202,149, 43, 49,188,111, 59, 73,106,174,
- 69, 19,153,170,207,214,154, 96,245,246,170, 45, 92,180,100,153,124,217,242,239, 63, 12, 59,198, 22,106,178, 31,126, 95,114, 19,
- 95,211, 59, 92,230,185, 62, 88, 12, 3,194,218,210, 10,146,111, 55, 5,128, 55,233,139,165, 49, 88,192, 45,234, 91,195, 48,128,
-206, 96, 5,151,203,228, 20,198,236,123, 56,114,225,162,206, 59,247,156,205, 32, 28, 87,181, 86,155, 36,133,125,205,193, 10, 99,
- 48,217, 96,180,216, 16,125, 63, 2,237, 91,214, 67,235,166,117,160, 51,216,160, 51, 90, 81,173,102, 48, 0,120,150,152,113, 92,
- 78, 34,177, 89, 12,132,216,156,250, 52,243,130,183,171, 16,126,110, 34,136,132, 60, 88,172,128,222,196,194, 96,178, 33, 57, 71,
- 15,181, 94,130,144, 14, 67,171,123,248,221, 49,102, 37, 75,142,228,167,222, 25, 84,166, 57,181,217,176,253,183, 3, 65, 25, 25,
-217,253, 79, 30,217, 37, 82,168, 44,136, 76,214, 34,167,208, 8,112,189, 48,111,201, 15,162, 89,159, 78, 26,176,125,247,193,148,
- 46,237, 90,164, 84,244,152,117,138,152,157,251,246, 31,248,177, 79,159, 1,146,232,155, 39, 17,119,239,252, 98,109, 78,133,250,
-103,113, 26, 54,108,104,157, 52,105,146,122,201,146, 37,129,199,142, 29,171,166, 80, 40,238, 1,176,184,186,186,214,169, 29, 84,
-229,126,248,233, 83, 1,189, 7, 12,229,167,229,234,225, 34, 21,160,138,183, 20,215,175,158,177, 8,133,252, 18,251,155, 20, 53,
- 15,142, 64,151,153, 56,118, 61,177,103,116,158,248,210,196,241, 99, 82,194,175,196,228,173,223, 17,254, 93,128,220,114, 79,204,
- 42,214,223,105, 90,211,119,246, 71,163,177,116,221, 78, 92,142,136,201,209,114,252, 22,103, 26,173,103, 75, 15,165, 3, 60, 46,
- 3, 39, 9, 31, 90,149, 66, 25,127,247,116,237,183, 20,166, 30, 19,126,100, 39, 39, 95,109,193,211, 92, 3,147,145,175,134,141,
- 37,112,149, 10, 96,101, 9, 10,243,115,153, 93, 59,119,224,246,237,235, 28,112, 57, 19, 0,204, 47,243,132, 50,246,166, 66,185,
-152,111,143, 8, 73,236,239, 22, 27,139,224,160,154,216,188,126,149,179,167,183, 15,218,182,119,188,111,180,147, 71,149,134,123,
-126, 89,143, 75,127,220,237,120,121,205, 15,205,228,254, 94,235, 24,198,182, 2, 4, 6,163,217, 6,101, 97, 1,132,166,167,104,
- 30,160,128,187,212,134,100,149, 31,162,178,226,228,229, 21,248,121, 81,135,239, 49,100,192,220, 3,199, 47, 44,237,209,173, 35,
-162,146, 85,144, 8,121, 16, 11,185, 16, 11,185,224, 51, 54,172,218,244,163,165, 64,169,238,147, 23,125, 52,247, 53,174,207,115,
- 69,181, 95,187,185,179,105,188,118,174,155,251,235,196,153,203,123,244, 28, 56,150,137,186,125,241, 75, 29,112,222,177,138, 30,
-113,104, 31,203, 58,254,140, 19, 59,121,174,157, 62,107,209,244,238,125,134,130,203,229,193, 98,177,224,224,222,157,248,229,135,
-121,143, 77,154,188,177, 0, 88, 83, 14,119,210,190,157,155,134,206,252,102, 21,211,160, 97,243, 22, 23, 51, 95, 93,142,150,229,
- 50, 63,189, 55,126,242, 48, 31, 31, 31,167, 63, 35, 90, 4,181,131,235,161, 87,191,193, 56,115,244, 48, 30, 70, 71,130, 37,118,
-195,196,178, 4,133, 5,121, 89, 86,139,105,123,169, 45, 30, 98,113,149,109,191,236,168,197,225, 48, 48, 91, 88,152,172, 44, 62,
-253,224,125,211,148, 79,190,108,219,171,123,135,104, 33, 23,170,228,212, 76,215,235,119, 31,133,176,124,121,224,248, 25,171, 4,
- 6,163, 13, 74,157, 5, 39,127, 46,221,235,136,221, 42,183,170,218,164,215,248, 41, 95,111, 22,137,184, 28,115,253,218,129,137,
- 29, 90,214,127, 90,217,223, 83,253,237,178, 31,154,255,126,243,110,175,119, 71,142, 23,143,169,211,132,241,247,144, 56,189, 63,
-114, 96,168,205,106,126, 79,151,255,180,212,249, 5,249, 82,183,194,202,213,130,116,127, 70,140,106, 31, 98, 8,170,191,224, 60,
- 24, 36,234,179, 99, 7, 1,128,159,127,101, 3, 95,228,172,174, 64, 4,134, 0,192,186, 45,187,155,222,143,205,152,184,122,245,
- 26,105, 68,130, 26,247, 18,148, 16, 9, 56, 48, 91, 88, 48, 14, 6,181, 89,194,157,252,213,156,217,206, 5, 90, 27, 46, 69, 42,
- 16,125,231, 34, 49,105, 12, 35,165, 86,231, 65,240,118,122, 15, 64, 77, 0,241, 12, 67,126,210,102,251, 30, 5, 46, 91, 43,122,
-221,179,172,189,190,236,236, 85,163,186,141, 39,234,197, 23,202, 90, 49, 12,169,207, 16,184, 1, 36, 61,191,232,153,234,168, 83,
-211,102,199, 98,249,146,111,176,118,235, 97,100,228, 25,224, 98,123,138,163, 63, 47,194,231, 75,127,131,222, 88,122,175,134,242,
-252, 72, 73,198,232,101,195, 85,252,119,241,231,150, 46, 93,218,231,165,188,233, 83, 74,158,189,242,185,226,239, 47, 91,182,108,
-201,115,255,215, 57,106,178,158, 25,173,226,131, 42,199,108,213,246,242,171,242,199,209, 35,135,220, 10, 52,102,136, 5, 92, 84,
-174, 22,132,249,235,143,122,189,211,212, 19,185,102, 23,236,222,188, 34,223,160, 83,239,117,168,176,240, 14,110, 33,145,203, 78,
- 30, 58,120, 24, 53, 42,123, 11,118, 93,205, 79,186,155,168,127, 22,234, 85, 41, 82,132,213,156,117,188, 65, 3, 7, 74,207, 95,
-184,248,137, 6, 40,209,104,113, 25,110,165, 45, 59, 14,122, 59, 73,248, 96, 24, 64,173,183, 98,226,123,131,223,252, 49, 70, 88,
-238,248,177, 99,192, 20,153, 44, 85, 94, 22,190,156,245,129, 65,102,137,123,152,154,156,154,222,181,239,231,231, 85, 26,198, 48,
-108,244, 7,183, 31,198, 46, 45,208,233, 94,111,145, 31,163,201, 6,163,153, 69, 66, 66, 60, 62, 29,211, 13,124, 46, 7, 92, 46,
-107,239, 44,109, 45,253, 98,212,100,196,230,195, 87, 48,100,231,202,105, 91,252,125,188, 61,228, 50, 9,145, 75, 69, 76,253, 58,
-181, 4, 45, 91,182, 22, 86, 11, 14, 21, 92,125,164, 71,170, 66,143,196, 12, 37, 68, 62,141,120,195, 59,191,131,157,107,102,116,
-204, 79,189,195,193,171,157, 20, 95,224,236,165, 27,125,183,110, 90, 45,202, 46, 52,227,113,170, 6, 89, 5, 6,100, 22, 24,145,
-149,111,128, 92,194, 71,251,126,147, 68, 39,142,254,212,183, 75,187, 22,235, 94,231,184, 19, 19,147, 78, 36,167,103, 14, 13,109,
-220, 28, 59,127,253,165,157,171,107, 53,231,194,194, 36,149,163,185,179,104,209, 34,225,178,101,203,120,235,215,175, 87,181,108,
-217,210,119,206,156, 57, 61,114,114,114,110, 85,173, 90, 53,248,204,161,237, 23, 26,181,239,223, 12,172,217,171, 93,135, 78, 2,
- 17,203, 67,120, 88,152,121,223,222, 93,121,122,189,122, 74,153,134, 67,234,178, 40, 91,195,192, 43, 32, 32, 90, 46,180,117,227,
-113, 10, 99, 11, 78, 79,223, 81, 0, 28,170,209,243,163,115, 23,239,196,196, 54,141, 72,246,190, 16,241, 36, 39, 95,103,174,157,
-112,250,243, 50, 11, 94, 46,195,128,207,229,192, 73,194, 3,167,168, 84,149,251,135, 62, 1,195,120, 21, 71, 78, 25, 48, 69,239,
- 0,195, 32,163, 32,245,158, 3,125, 54, 24,194, 18, 32, 38, 77, 11,141,193, 30,154,175,228, 41,133, 34, 59, 13, 27,215,109,199,
-221, 59,183,209,253,157,126,216,176,101, 23, 38,190, 55,212, 80, 94,237,135,195, 41,138,104, 61, 23,205,146, 75,120, 0, 24, 20,
-106, 45, 56,248,251, 83,212,172,206,113,248,193, 0, 0, 78,114, 41,148,106, 61, 56, 2, 39,196, 71,156,148,158,186,120,115,206,
-220,133,171,191, 40,200,140, 76,125,242,224, 42,130, 61,149,168, 30, 96, 70,116,150, 51,238,228, 85, 67,112, 80, 13,112, 4,183,
- 29,210,206,141, 14, 89,126,148,115,176, 79,211, 70,245, 90, 85,241,118,133,222,100, 43,138,106,113,241,203,182, 29, 72, 78, 74,
- 27,159,247,240,232,221,183,225,104,181, 57,137, 10,145,119,208,135, 15,110,158, 79, 28, 56,242, 67,248, 5, 84,110, 88,152,122,
-207,225,110, 11,142,236,179, 57,104,180, 4, 82,215, 57,159,126,245,221,244,238,189,135,224,198,213,243,184, 23, 29,143, 22, 45,
-154,225,157, 1,195,161, 86,229,215,217,191, 99, 77, 55,171, 78,125,134, 39,178, 78,111,222,186, 51,195,218,108,136,123, 28, 21,
- 95,146,150, 62, 51,230,222,245,204, 24,231, 23,154,167, 60,235, 52,148,187,184,223, 51,154,109, 72, 79, 79,195,181, 63, 46, 53,
-214,103,198,220,171,200,249, 18, 9,184, 8,191,155, 3,179,133,133,217,202,162,125,135,110, 38, 1,199,216,110,241,234,109, 45,
- 51, 51, 50, 57, 50,103, 79,214, 61,160,174,192, 79,100, 54,222, 79, 80, 10,204, 22, 22, 53,252,101,101,106,122,249, 7, 45,153,
- 49,227,211,186, 92,129, 4,106,173,209,148,153,145,238,187,121,247, 69,205,163,199, 15, 2, 42,121,187, 56,127,183,230, 39,129,
-202,192, 32, 71,105, 68,190, 90,197,140,156, 60,211,127,235, 15, 75, 71,149,101,180, 74,232, 46, 82,253, 68,248,213, 58,110, 78,
- 2, 70, 99,176,178,121, 42,179,109,228,128, 55, 27,116, 89,100,178, 38,173, 94,181, 70,122, 55, 65,141,251, 9, 74,136, 5, 92,
- 8, 5, 28,152, 44, 44, 28,188,157, 56,190,222,190, 83, 90, 55, 13,193,153,123,185,224,114, 57,208,171, 11,116, 60,228,197, 54,
-237,216, 93,218,164,121, 75,116,234,216, 1, 79, 98, 99, 42,135, 29, 59,216,229,250,181,203, 89, 86,115,237,105, 90, 69,236,225,
- 10, 5, 22,116, 58,174, 69,232,251,190, 95, 64,213, 54,131,134,191,239, 82,165,114, 0,227,237,233, 1, 43,225, 97,210,123,131,
- 29,190,243,237,198, 28, 88,182,112, 14,140, 70, 19,188, 92,133, 32, 4,216,182,110, 62, 76, 38, 19,252, 61, 68, 80,106, 75, 95,
- 77,174, 60, 63, 82, 90, 20,170, 66,125, 79,158, 51, 99,101,237,103, 24, 38,108,246,236,217, 95, 2, 32,179,103,207,254,178,120,
-123,233,210,165,122, 0, 25,229, 52, 29,110,126,193,104, 21, 31, 92,233,119,183, 32,216,211,195,239,122,248,153,211, 46, 71,238,
-179,184,113,248, 14,122,183,240,131,128,199,129,212,197, 31,247,147,148, 56,113,104, 83,225,209, 61, 63,165, 27,141,198,239,203,
-111,107, 14,106, 42,151,202,206,252,186,115, 47,235,233,225,193,217, 24,174, 72,200, 83, 91,159, 53,105,197,222, 60,198,222, 57,
-179,217,143,128, 57, 45, 22,139,131, 76, 38,147, 91,121, 25,187, 45, 60,165,168, 19, 47,243, 54,202, 86, 48, 92,174,109,231,174,
-157,240,116, 22,194,104, 97, 49,251,139,143,245, 99,186,203, 11, 71,190, 59,188,115,167, 94,211, 47,240,101,181,206,183,110, 92,
-139, 52,106,212,168,144,203,229, 58,212,149,194,219,219,123, 62,135,195, 25, 33, 20, 10,157, 76, 38,147,218,196, 26,164, 90,131,
- 9, 6, 51,160,211, 25,192, 23,216,205, 34,159,203, 64,111, 48, 65,167, 55,149,125, 99,100, 69,253, 14,160,182,234,185,152,210,
-249, 71, 53,132,191,237, 63,250,241,144,119,135,205, 13,104, 56, 64,158,148,169,132,128, 49,163, 89, 93, 63, 92, 60,125,152,164,
- 37,199,126, 90,158,201, 2,128, 28, 69,126,160,151,151, 15,238, 38,106,144,158,167, 71, 86,145,201,202, 44, 48, 66,173, 87, 35,
-180,138, 63, 10,149,202,192,215, 62,191,192,225, 51,103,206, 12,237,213,127, 24,166,127,177,160,237,207,155, 86, 68,202,132,252,
-113,218,236,184, 75,142, 24,173,168,168,168,252, 89,179,102,213,220,178,101, 11,103,212,168, 81,250,144,144, 16,241,232,209,163,
-219,238,216,177, 67, 44,149,138,245,247,175, 30,155, 59,225,163,217,253, 55,175, 93,212,176,160,160,128,177, 90, 44,167,204, 5,
- 5,179, 53,229,152,185,167,199,190,124, 60, 47,193, 60,182, 91, 59,175, 99,238, 82, 78,125, 17, 49, 13, 71,221,249,123,241,104,
-190, 57,225,244,122,181,100,232,202,143, 50, 10,217,175, 12, 28,239,197,229,153, 44, 0,224,112, 25,152,172, 54, 56, 73,248,224,
-112, 56,197, 38,222,239,151,189,167,164, 94, 46, 66,240,185, 28,240,184, 12, 84, 58, 11,114, 85,102,124,248,190,163, 51,132, 16,
-214,106, 35,208,155,172,208, 21,213, 14,213,170, 92,204,249,226, 51,188,211,119, 32, 38, 76,249, 12, 5,122,224, 78,162, 26,102,
-139,165,220,155,130,195,112,160, 51, 90, 49,174,123, 21,228,107,204,208,234,173, 48, 89, 89, 72,133, 60,240,121, 28,200,196, 60,
- 56, 75,249, 0, 33,130,226,194,132,207,231, 27, 44, 22,203,206, 50,106,244,168, 22,232, 3,189,133,131,230,195, 86,160,107,171,
-218,136,254,253, 32,239,242,141, 7,213, 63,249,226, 43,124, 60,177, 47, 14, 60,174, 9,119,239, 42,144,203, 36,176, 16, 14, 0,
-226, 96,135,189,249, 44,199, 60,112,196,143, 91,182,197,124,251,205,108,113,161,150,129, 72,192,197,133,243,231,112,253,230,157,
-181,185, 15,143,238,196, 91,132, 79, 56, 62,206,206,206, 16, 11,185, 48,153,141, 38,199,187, 46, 16, 16,160,177,204,187,246,143,
- 69, 53,254,198, 54, 22, 37,236, 43,223,104,241,196,206,179,167,125,241,237,146,238,189,135, 32, 60,236, 0,246, 31,216,107,107,
-213,115, 60,119,215, 47,155,208,182,107, 63,180,237, 62, 12,167, 14,239,248, 76,203, 50,245, 38, 77,159,187,176,125,231, 94, 8,
- 63,113, 0,217, 89,105, 43, 29, 77, 47,151,207, 76,239,220,173, 47, 12, 38, 27,218,117,233,131,211,199, 15,127,132,162, 65, 22,
-142, 63,196, 94, 42,159,193,177,126,246,233,116,126, 78,161,137,175, 80,153,144,166,208, 33, 41, 91,135,163,123,126, 38,142,151,
- 23,166,102,237, 67, 43,241, 39, 45,191,240, 52,176,146,159,145,111,212, 75, 98,227, 19,234, 76,120,127, 12,191,122, 80, 29, 78,
-142,210, 8,133,210,136, 92,165, 17, 26,131, 21, 65,149,106,113, 44, 86,166, 85, 69,243,217,211, 69,200,223,112, 60, 17,206, 50,
- 62, 90,215,121,253,129,182, 44,203,254,105,178, 86,219, 77, 86,100,162, 18, 34, 1, 23, 34, 1, 7, 34, 1, 23, 86, 27,113,168,
-226, 34,241,174,221,235,195,105, 31,248,155,172, 64,158,210, 4, 30,151,129,183,167,155,172, 89,195, 17,216,182,226, 35, 0,192,
-196, 89, 27, 49, 97,220,104,212,173, 31,130,194,130, 2,223, 17, 67,122,173, 6,112,216,209,180,158, 12,191, 84, 57,252,202,221,
- 89, 31,206,152, 39,127,183,111, 39,238,189, 4, 37, 50,243,141,136,143, 85, 87, 40,242, 6, 0, 86, 27, 11, 2,130,237,123,195,
- 32, 17,242,160, 80,154, 65, 8,193,162,245,251,224, 36,225, 35,179,192,222,220, 95, 22,101,250,145, 50, 34, 82, 21,136, 54,246,
-129,189, 47,151,151,163, 17,173,165, 75,151, 70, 47, 93,186,180,196, 8,217,115, 38,235,245, 22,149, 22, 8,100,117,156, 61, 60,
-111,132,159, 62,233,116,248,190, 13, 23,239,231, 97, 72,187, 74,208,228,167,226,251, 47,222,205,103, 64, 76, 28, 46,183,208,168,
-215, 29,210,235,181,139, 1,152,203,188,104,124,107, 55,150,137,229,231, 54,108,254,213,234,233,237,141,157, 87,243,211, 10,180,
- 86,203,159,205, 86, 22,230,206,153,205,213,173,172,165,167, 33,251,201,237,242,106,226, 44,129, 96,233,166,163, 0, 8, 88,150,
- 5, 97, 89,240,197,114,153,103,141,150,217, 69, 5,157,152,199, 97, 12,207,151, 0,132,181,166,229, 38,150, 29, 6,101, 0,184,
- 72,249,216,123, 57, 29, 0,178,185,234,136, 71, 35,223,181, 55, 23, 26, 76, 98, 85,253,154, 53, 73,179,102,205, 10, 37, 18,135,
-166,191,226,250,248,248,220,154, 59,119,110,157, 9, 19, 38,136,132, 66, 33,172, 86,171,251, 79,155, 55,179,155, 23, 79,196,160,
-143, 54, 64, 32, 20, 65,111, 48,131,207,231,161, 64,169, 65,161, 74, 7,181,206, 82,241, 43, 40, 33,193,164, 0,150, 31, 57, 44,
- 28,216, 67, 30,218, 92,200, 17,160, 73,176, 31, 46,158, 57, 66,110,156,222, 54, 81,159, 19,251,171,131, 23, 34, 52, 6, 11, 50,
-242, 12, 72,207, 51, 32,171,192,128,172,124, 35,178, 10, 12, 96, 24, 6, 6,147,245,141, 30, 92,218,156,152,253, 59,127,221,218,
-207,104,198,240,246,221, 7,226,179,121, 27,170,236,252,113,217,185, 68,194,105,227, 96, 71, 91, 91,116,116,116,242,251,239,191,
-223,112,247,238,221,220, 6, 13, 26,232, 31, 61,122, 36, 45, 50,145,102,185, 92, 42,249,249,135,165,103,154, 55,111,190, 39, 61,
-246,241,133,162,246,244,114, 11,246, 42, 29,198,138, 36,230,187,147, 42,203, 90,247,168,225, 43, 69,101,153,186, 71, 29,249,253,
-239,243, 58,127,188, 68,113, 97,109, 78,166,209,122, 86,161,231, 54, 74,215,240, 29,234,131,103, 49, 26, 82, 6, 13, 25, 14, 46,
-195,129,217,160, 75, 41,190,184,188, 93,132,152,191,235, 49,228, 98, 62,156, 36, 60,200, 37,124,180,173,231,142, 10,148,103,196,
- 98, 99,161, 51,218,160, 55, 90, 97, 48, 89,225, 25,232,134, 45, 59,247, 35, 53, 71,143,163,183,115, 17,147,162, 70,173, 74, 50,
- 16, 82,126, 49,201,218, 44,218,190,131, 71, 57,113, 57, 12,184, 28,134, 83,175, 78,109,228,107,204, 16,240, 56, 16,136, 37,144,
-137,120,112,150,240, 33, 16,240,145,147,147, 3,163,209,136,202,149, 43,139,203,182,130, 4, 78,114, 9,106, 85,247,135,217, 98,
-197,201, 43, 15,177,248,211, 65,232,214,190, 41, 24,190, 28,143,141,141,225,228,238, 4,150,195,129,217,202,194,100,182, 1,224,
- 24, 74,211, 11, 12, 12,236, 44,147,201,100, 58,157, 78,157,154,154,122, 41, 43,230,112,170,141,219,127,210,233,240, 11, 59,251,
-188,211, 13,119, 35,163,113,224,240,177,171,185, 30,202, 25,197,223,169, 95,191,126, 75, 79, 79, 79,121, 94, 94,158, 42, 42, 42,
-234,214,235,214, 11, 8,135,243, 73,171,182, 29,161, 41,204, 65,246,211, 36,135,107,209,117,171, 56,225,235,165, 27,154, 4,215,
- 14,110, 98, 35,118,227, 85,175,178, 19, 62,159,183,174, 73,205, 90,181,155, 20, 15, 8,169, 91,185,236,105,217,120, 82,167,238,
-239, 77,248,108,105,191, 33, 99,113, 33,252, 24, 86, 45,254, 98,167,204,197,171,174,187,155, 75,163, 6, 45,187,227,234,185, 99,
- 16, 59,249,194,205,195,183,237,168,113,211,186, 14, 25, 53, 25,215,175,158,195,218,101, 95,238,176, 25,213,191, 57,146, 86,153,
-119,117,175,134,141,155,143,116,114,247, 65,161, 82, 13, 39, 55,111,212, 13,109, 54,242,225,125,227, 44,109, 78,162,226,181, 77,
- 7, 33, 48,154, 9, 10, 52,102, 60, 85,232,145,156,101, 55, 90, 44, 91,129, 62, 65, 54,150,145,139,121, 60,119,203,147,202, 15,
-206, 93, 32, 85, 2,125,152,229, 11,191,224,154, 33,134,162,208,110,178, 20, 42, 19, 20, 74, 19, 52, 6, 11,220,101, 60,176, 54,
-182,194,181,238, 2,141, 25, 78, 82, 62, 92,164, 2,135,163,140, 37,177,233,151,189,193,247, 99, 51, 6,172, 90,181, 70,122, 47,
-241, 57,147,197,183, 71,179, 68, 2, 46,108, 44, 11, 56,112,199,243,121,252,233,253,123,117,197,211, 92,189,125,212, 50,135, 65,
-173,144,230,240,148,176,232, 50,108, 54, 0,160,111, 47,123,215,182,196, 76, 45,142,223, 80, 0, 47,118,236, 46,187, 44,214,235,
-185,155,119,157,248,100,255,190, 61, 46, 6, 27, 15, 63,157, 74,134,206,104,133, 88,192,133, 72,192,133, 68,192,125,161, 63,118,
-249, 70,203,222,231, 46, 53,215, 2,157,193, 0,149,222, 2, 2,224,214, 19, 13,244, 38, 43,148, 90, 11, 90,214,113,123,179, 64,
- 8,195,156, 32,132,244,126,217, 16,189,108,150,158,139, 72,149,164,113,251,121,141,226,207,151,102,228,158,239,179, 5,160, 66,
- 35,184,120, 47, 59,199,231,183, 5, 50,183,186, 46, 78, 46, 55, 78,159, 10,147, 31,190,207,226, 82,164,221,100, 89,244,185, 88,
- 57,107, 68,154,170, 48,183, 19,128, 4, 71,127, 76,234, 89, 55, 84, 44, 20, 93,248,110,205, 79,102,111,159, 0,246,208,141,194,
- 28,165,206,246,130,155,176, 25,141, 28,194, 18,129, 33,251,137, 67,109, 8, 28, 14, 99,158,247,209, 64,176,132, 96,254,154,253,
- 88, 50, 99, 24,228,146, 81, 82,134, 97,164, 90,131, 21,159, 46,216,138,149, 95,143,119,146,138,120, 96, 24,123,159,168,247,134,
- 15,116,236, 2, 52, 88, 17,127,115,183, 70,157, 24,246,232,249,230,194, 22,109,223,185,211,162, 69,139, 66, 55, 55, 55, 72, 36,
-146, 63, 35, 21,165,224,227,227,243,245,188,121,243,130,167, 76,153,242,108,178, 79, 30,143,135, 15, 63,248,128, 99,179, 17,156,
- 58,181, 13, 94, 85, 27,227,216,217, 27,232,217,185, 25, 52, 58, 3,242, 11,213, 96,193,125,237, 11, 81, 93,152,123, 33, 43,249,
- 65,243, 54,157,250,226,210,153, 35,228,198,169,159, 39, 86,100,142, 30, 55,119,183,167, 17, 15,226,235, 50,140,187, 61,162, 85,
-100,178, 76, 22, 22, 85,124,164,120,154, 28, 15, 87, 23,151,167,142,234, 73,188,130,251, 51, 28, 50,133, 1,217,166,205,142,219,
- 15,128,104, 51, 31,141,216,255,219,230,200,232,168,123,139,251,140,156,206,235, 62,228, 3,238,143, 75,167,125, 9,192,209,137,
-247,204, 49, 49, 49, 15,199,143, 31,223,250,250,245,235, 54, 0, 58,134, 97, 44, 92, 46, 87,106, 50,153, 4,157, 58,117, 82, 62,
-126,252,248, 50, 74,238,180,248, 2,109,223,223,239,201,136,212,239, 8, 89,243,136, 42, 78,234,110,157,218,181, 66,171,250,129,
-120,218,174, 21, 0, 76, 79,209,200,131, 13, 53,183,238,181, 88, 37, 39,127,252,229,248,146,137,195,186,126,186,147, 55,127, 85,
-102,216,252, 50, 59,162, 62,125,116,185, 71, 73, 54,158,199,229,192, 73,194,135, 92,194,131,147,132, 15, 39, 49, 31, 22, 43,169,
- 72,205,145, 88,172,172, 61,162,101,178, 66,163,183,226,194,189,108,100, 41, 77, 40, 84,155,161, 55,219, 64, 64,236,181, 81, 7,
- 74,115,197,147,107,174,197, 79, 82,215,202,141,149,155,215,175,112, 62,248,123,218,179, 17,125, 46, 82, 33,156,164,246,209,216,
- 87,174, 92,129,135, 71,249,181,125,150,101,113,224,244, 45,172,218,126, 1,167,183,205,132, 88,192, 69,104,255, 5, 24, 59,160,
- 5, 88,194, 34, 62, 38, 58,187, 86,189,134, 62, 28,142, 4, 28,134,129,209,194, 2, 32,165,158, 79,147,201,228,145,154,154,170,
- 10, 10, 10,242,245,247,247, 31,194,229,114, 9,212,247,140, 71,246,228,235,206,135,253, 38,213,234,141, 54,169, 85,185, 45, 40,
- 83,223, 27, 65, 65, 96, 24,134, 56, 59, 59, 11, 46, 92,184,160, 9, 9, 9,241,122,205, 91,137, 35,241,174,189,118,194,212, 79,
-134,212,172, 81, 3,251,127,219, 6, 66,152,131,142,126,121,215,241,235, 88, 56,231,197, 17,134,159,207, 91,215,100,229,130,233,
- 47,236,155, 58,103, 85,153,163, 14, 37, 34,249,140, 65, 35, 38,225,206,173, 63,240,253,130,207,247, 24, 53,249, 99, 45, 86,203,
-208,252,204,196, 61,213,235,181, 0, 49,171, 17,190,111, 5,134,141,158, 40,234,222,103, 8,174, 95, 61,135, 37, 95, 78,221,165,
- 43,204,121, 31, 14,118,114,102, 9,127, 74,167, 30, 3,248,122,163, 25,235,150,127,131,201, 51, 22,163,101,231,190,252,168,123,
- 55,166, 0,248,214,225,238, 16,102, 27, 58,133,120,218,205,179,133,197,177, 68, 46,175,164, 43,144,199,101, 56,141,106,184, 66,
-111,178, 66, 85, 78,165,146, 39,224,103, 21, 42, 85, 85,127, 88,242, 9, 87,107,176, 66,161, 52, 33, 71,105, 68,110,225,159, 6,
- 43, 87,105,132, 66,105, 2,159,199, 32, 54, 33, 5, 28, 62,175,194,253,243, 10, 52, 22, 52,175,237,102,191, 71, 95,179,117,196,
-194,115,110,113,250,242,253, 65,171, 86,173, 22,223, 79, 82, 35, 50, 81, 85, 20,201,226, 66,196,231, 64, 88,244,183,141,181,247,
-141, 44, 11,103,175, 26,213,199,188, 55,170,139,179, 92,130,140,184, 28,240,184,246, 41, 98, 92,188, 3,225, 34, 50, 96,218,212,
- 73,240,244,112, 69,106,174, 17,107, 15,199, 34,242,225, 19,176,250,138, 29,246,186,159,246,244,156,240,225,231,174, 28,190, 16,
- 59,206, 36,217,211,201,181,225,241,141,227,134,140,248, 7, 90,141, 42,143,128,216, 28,236,131,204, 16,171,205,126,185, 45,153,
- 63, 27,123,182,111,196,153,136,156,103, 87,224,239, 7, 87,226,147, 57,139,144,171, 50,161,164,235,178, 44, 63, 2, 64,241, 92,
- 36,234,149,237,231,204, 81, 73,219, 76,209,182,169, 20, 13,211, 75,230,202,244,210,126,211, 75,122, 37,205,253,183,185,220,166,
-195, 87, 76,145,171, 87, 3,169, 88,246,199,169, 83,199,101, 71, 34,201, 51,147,101,214,229,146,197,211,251,166,169, 10, 21,221,
- 43,100,178,188,106, 53, 16, 73, 69,151,231, 46, 90,107,244, 9,168,106, 61,121, 79,149,167, 54,216,172,175,246, 65,144,217,100,
- 46, 94, 6,158, 80,180,138,175, 55,125,147,155,251, 72, 91, 94,228,137, 37, 4, 97, 55,179, 64,136,189,138,180,239, 74, 58,138,
-106,230,176,177,246,102,149,179,247,114,192, 43,234,135,226,104,248,123,211, 79, 27, 85,189, 67,148,218,145, 75,230, 63,107, 46,
-108,217,208, 30,201,114,118,118,134,171,171, 43,228,114, 57,202,107, 58,100, 24,230,189, 9, 19, 38,188, 82,251,207,201,201, 65,
-215, 46,157,176,126,227, 22, 52,236, 50, 6,103,175,157,129,217,194, 34,180, 94, 13, 84,245,119,195,211,108,245,107,221,232, 50,
-159,224, 15,155,119, 26,240,101,219,206,125,113,225,244, 33,114,227,244, 47,147, 42, 58, 17, 98,239,174,173,143, 47, 92, 56,191,
-250,220,197, 63,136,156,196, 60, 60,210,152,192, 97, 24, 84,241,145,194, 67,198,193,165, 35, 59, 12,195,250,182,118,120,114,188,
-192,192,128,157, 43,215,111,150,173, 92,182,160,211,157, 8,230,130, 38, 35, 54, 31, 0,116,217, 49,203, 31, 3, 15, 43,253, 17,
-126,178, 97,135,129,240,241,175,209, 45, 49,251,177,195,102, 3,128, 46, 33, 33, 33,113,238,220,185,193,203,150, 45, 35, 92, 46,
-151, 5, 32, 90,179,102,141, 46, 46, 46,238, 30,236, 67,115, 81,222,195,166, 75,183,250,159,202,133,182,150,238, 82, 78,253, 26,
-190, 82,180,170,111,111, 21, 29,214,187, 45, 2, 43, 87, 70, 66,150,174, 81,190,142,229,107, 76,220, 26, 27,126,138,188, 93,205,
-147, 59,209,170, 55, 61, 4,112,180,162,249,195,224,207, 14,242,197,209, 44, 39, 9, 31,172,253, 90,169,144,209, 50,154,109,208,
- 27,109,208,155,172,208,154,108,208,153,108, 96,137,253,158, 96, 24, 6,102, 43, 11,135,170,205, 47, 93,251,206,238,158,168, 81,
-141,129,179,212,158, 54,231,162,233, 30, 24, 0, 30, 30, 30,240,246,246,118, 40, 42,106, 50,219,111,113,147,133,125,214,172,111,
- 50, 91, 65, 8, 65,108,108,204,204,228,196,196,254, 65,181,130,218,215, 11,109,232, 46, 21,113, 0,160, 84,163,165,211,233,108,
- 78, 78, 78,222,238,238,238,156,244,244,244,103,230, 57,168, 81, 39,235,225, 67, 7, 49,104,208, 64,205,163, 91,247,159, 13,113,
-215,235,245, 76,155, 54,109,156, 3, 3, 3, 57, 70,163, 81, 85,209,108,146,121,213, 30,224,230,225,190,248,189,247, 39,215,238,
-212,181, 39, 46,158, 15,199,209, 67,187,127,213, 41, 98,195, 29, 21, 9, 14,174,243,202,168,195,154,181,106,191, 50,234,176,106,
-245, 90,101, 26,173,122,161,205, 90, 16,134,135, 51, 97,251,136,129, 99,158, 10,128,181, 25,212,251,246,110,250,250,219, 17, 83,
-230,212,236,213,111, 4,222, 27, 61, 22, 60, 30, 23,151,206, 30,199,202, 5,159,157,208, 40,115,198, 56,210, 77,192, 30,122,171,
- 43, 8,144, 4,126, 92,185,102, 3, 68,220,184,138,248,216,168,232,251,183,175,215, 15, 10,105, 9, 47,255, 42, 31,167,120,114,
-151,225,209, 35,115,121, 50, 38,131, 33,101,236,152,209,120,126,212, 97,171,198,193, 30,204,203, 55, 0, 0,157, 58,199,252,243,
-138, 79,227,138, 71, 29,178,102, 83, 74,105,186,202, 2,197,129, 75,215,110,206,232,223,187, 39, 39, 87,101,178, 71,176,148,166,
-162,151, 17,185,197,127,171,140,168,229, 47, 71, 76,116, 4,107, 80,230, 30,172,224,125,105, 24, 59,180,199,195,226,107,151,101,
- 9, 24,192, 80,225,102, 41,190,243,164,229,223,175, 18,223, 79,212, 32, 50, 73,101,111, 42,228,115,237, 6,139,207,121,102,186,
-236,163,217,203,137, 14, 49,220, 37,227,198, 12, 71,174,202, 12,150, 5,120, 92, 78,209, 75,128, 84, 53,131,167,106, 29,114, 11,
- 20, 72, 76, 78, 65, 97, 86, 60, 56, 28, 14, 60,253,107, 59, 60,147,180,141, 8,253,116, 38, 18, 50,164,119,123,222,161, 63, 50,
- 33, 21,241, 96, 84,103,227,212,222, 21, 10,163, 70,181, 88,175,211, 28,114,100, 62,199, 63,187, 32, 48, 10,149,198,224, 35,226,
-115,177,127,251, 15, 24, 58,118,234, 11,165,239,204,175, 22, 2, 28, 6,249, 5,106, 48, 12,163,168, 88,185,196,220, 46,107,251,
- 53, 35, 99,111,172, 81,130,217,122,181,162, 80,122,109,148,156, 10, 63,125, 92,246,123,178, 8,183, 98, 50,139, 76,150,130, 93,
-244, 81,239, 52,181, 50,191, 7,128,216,138,213, 11, 57, 61,134,141,155, 17, 93,163,118, 61,227,197, 40, 77, 82,161,214, 82,106,
- 63,135, 86, 67,230, 70,223, 57,177,190,151,210,146,240,129,204,175,158,141,181, 90,151,235, 21,177, 11, 74,105, 58, 20, 46, 88,
-187,255, 89,179,225,172,101, 59,236,127,219,108,176, 17, 22,132, 5,166,125,189, 9, 86,214, 6,214,102, 3,107, 35,176,216,136,
-180,188,228,122,251, 87, 61, 84,240,120, 95,157,145,223,190,218, 92,232,234,234, 10, 15, 15, 15,120,120,120,192,217,217,185, 92,
-163,197,231,243,229, 60,222,139,167, 58, 37, 37, 5,201,201,201,112,118,118, 6, 97, 45, 48, 89,128, 6, 45,187,227, 65,124, 20,
-206,253,126, 15,132,181, 65, 38,175,248, 42, 47, 50,159,224, 15,154,117,236,255, 67,231,126,227,113,246,208, 79,228,246,149,227,
-147,245, 57,177, 91, 29,142,208,219,108,140,197, 98, 65,239,238, 29, 83,238, 70, 63, 57,253,213,140, 41, 61, 91,247,153, 44,106,
- 21, 28, 0,131,201,134,180,228,120, 92, 58,242,139,161,118,117,191, 51, 93,218,181, 72,177, 88, 44,176,217,108,229, 62,200, 13,
- 38,115, 46,151, 47,145, 13, 31, 62,146,127,251,214,173,131, 50,175, 90,251,109, 12,231, 62, 67,216, 80,134,144, 65,161,161,117,
- 97,182,176,208,233, 84, 5, 21, 61,102,181, 90,157,184,109,219,182,234, 99,198,140,145,214,171, 87,143, 31, 31, 31,143,149, 43,
- 87,230,169,213,234, 68, 71, 53,194,175,196,172,225, 49, 5,113,197, 17,173,212,182,173, 48,188, 79, 91,236, 57,241, 59, 46, 93,
-189,142, 20,141,252,158,198,202, 59,242, 52, 37,195, 88,223, 93,117,176, 95,171,170,220,253,219, 11, 14, 70,119,156,253, 46, 33,
-162,240,220,203,243,181,142,223,220,128, 90,111,129,179,212, 62,223, 83,113,100,139,203, 48, 14, 59, 34, 6, 72,188,122, 61,162,
- 65,211, 90,245,112, 55, 81,137,156, 66, 35,244, 70, 43, 88,150,128, 5,129,135,147, 16, 98, 1, 7,169,201,137, 96,137, 57,169,
-130,143, 10, 69,135,246, 29,120, 0, 3,134, 33, 60, 62,143, 7, 2,251,252,138, 18,137, 68,227,237,237,237, 80, 68,203,108,181,
- 98, 80,207, 22,104,217, 44, 20,253, 39,219,231,204, 60,255,235,108,184,201,249,216,179,115, 43,158, 94, 89,179,179,122,171, 41,
-225, 81, 15,162, 7, 71,223,253, 99,228, 59, 77, 36,141,124,121, 25,130,210,194,164, 90,173,246, 32, 0,161, 64, 32,232,217,190,
-125,123,247,131, 7, 15, 22,122,122,122,178, 66,129, 64,209,175,111, 31,150, 47, 16,228, 23,127,246,218,181,107,252,201,147, 39,
- 59, 21, 20, 20,164,102,103,103, 95, 7, 96, 41,187, 34, 24,220, 21, 28,236, 6,195,136,229, 18,105, 74,181,106, 53,252,155,181,
-108,225, 50, 96,208, 80,136,132, 34,156, 13, 63,141,117,171,151,237,211,100, 62, 26, 87,145, 51,249,182, 70, 29,166,165, 38, 37,
-234,244,198,144, 6, 77, 59, 50, 87,195,143, 76, 55,195,115, 53, 87,100, 94,209,117,208,212,154,137, 25, 26,172, 91, 58, 19,110,
- 46, 50, 36,197, 63,214,199, 61,122,176,201, 98, 80,205,116,216,100, 1,144,230,217, 6,183, 26,221,211,205,104,182,225,202,133,
- 19, 6,214,202,246,188,126,249,100,124,165,218,205,196, 13,154,117,113,203, 61,186,117,144, 14,216, 83,158, 78,250,227, 87, 35,
-184,196, 84,152,116,254,194, 57, 23,159, 42,245,185, 12, 24,152,141, 6, 40, 18,110, 91,117,217,143, 85,170,244, 40,135, 70,225,
-230, 61,197,215,115,230,125,247, 65,179,166, 77,101, 4,226, 23, 34, 88,197, 6, 43, 87,101,130,167,147, 16,122,149, 2,113,183,
- 79, 27,116, 10,110,153,243,157, 89, 77, 90,105,110, 78,182,240,207,238, 12,177, 45,203,250,124,110, 78,182,208,106,210, 74,203,
-127,212,113,225, 44, 19,226, 65, 82,250,179,142,239, 34,190,189,111,150,144,207,125,214, 79,171,184, 44, 40,135,142, 2,177, 43,
-210,243, 12, 96, 64,192,218,172,176, 90, 76,221, 61,207,163, 0, 0, 32, 0, 73, 68, 65, 84, 80,171, 84, 72,207,200, 66,118, 86,
- 54,212,234, 66, 72,229,110,104,208,168, 57,156,100, 98,220,191,180, 15,132, 16,135,230, 53,180, 48,252,224,102, 45,219,137,162,
-146,237,125,177,196,124,130,227,187,151,229,105, 84, 57,237, 52,153,113,113, 21, 45,139,173, 54,219,185,200,135,113,245, 43,249,
- 85, 99,238,197, 43,177,115,203,122,152,138, 34,155, 22,139, 13, 81,169, 90,100,230,235,144,154,240,136,176, 54,219, 57,252, 71,
-224,149, 30, 0, 4, 47,180, 65, 93,116, 31, 53, 0, 27, 55,110, 66, 66, 98, 50,187,120,122,175, 84,141,186,240,157, 10,152,172,
-174, 40,154,107, 67,151, 29,179, 92,239,214, 44,237,216,221,124,142,222, 68,202,236,224, 35,246,170,130,118,227, 86,158,209,171,
-243,133, 54,163,142,119,124,231,184,221, 37,105,218, 29, 52, 76,139, 63, 31, 6,185,132, 7,134, 97, 80,220, 92,184, 97,225, 36,
- 72, 69,246,182,101,189,209,138, 81,159,174,194,206, 85,159,129, 0, 24, 49,244,119, 93,105,233,132,125,237,194,105,126,184, 85,
- 41, 37, 57, 39,189,107,223,207,207, 27,204, 34, 99,159,129, 99,238, 52,109,218,180, 80, 34,145, 64, 34,145,192,217,217, 25,110,
-110,110,112,117,117, 45,247,216, 45, 22,139,198,100, 50,121, 8,133, 66,176, 44,139,164,164, 36, 36, 37, 37, 65,169, 84, 66,161,
- 80, 64,171, 81, 89,111,157,223,207,107,208,170, 23,252,107,132,160, 74,173,134,224,115, 25,240,120, 28, 92, 58,182,165,180,116,
-150,108,178, 58,244,219,208,165,255, 4,156, 61,180,153,220,190,114,124,138, 62, 39,118,139,163,121, 84,212,220,115,127,208,160,
- 65, 33,147, 39, 79, 22,204,155, 49,249,204,137,240, 75,177,251,195, 54,247, 45, 40, 40, 12, 36,132,192,213,197,229,233,176,190,
-173,143,119,106,211, 44,229,252,249,243,236,238,221,187,141, 12,195, 60, 40, 75,211, 94, 72,229,252,122,254,220,133,249,237, 58,
-116,196,214,237,187, 59, 68, 63,124,212, 33, 62, 62, 14,129, 85,106,160, 90,245, 90,208, 49,110,184,112,249, 42, 52,133, 57,191,
- 58,146,206,151,162, 90, 76, 65, 65,193, 31,195,134, 13,235,254,251,239,191,115,134, 13, 27,166,203,205,205,189,246, 92, 20,139,
-148,167,121,253,199,129, 10, 0,191, 86,233, 48,118, 95,186,185,240, 99, 0,203, 42, 87,169,140, 75, 87,175,227,250,239, 55, 55,
-229, 74, 43, 47, 24, 55,234,253, 73, 85,251,113, 39,244,107, 85,149,235,237, 38,197,111,155, 87,114,143, 93, 79, 94,149,156,103,
-219,186,236,242,252,133,142,228,209,179, 7,135,218,140, 54,117,221, 97,177, 17,176,196, 94,224, 58,137,249,165, 21,188,175,104,
-242, 76,162,113, 83, 38, 79,142,111, 16,218,232,147, 81,239, 79, 17, 52,170, 17,136, 91, 79, 10, 1,134,129,187,175, 12,153,153,
-153,184,114, 96,179,181, 32,253,241, 38, 46,151,253,182, 2,231, 19, 5, 41,247,130,158,219,156,148,155,155,139, 75,151, 46,161,
-216, 96,121,121,121,149,102,180, 94,208,204,203,206,184,182,240,251,159,218, 76,124,111, 32,250,116,172,143,203,183,227, 97, 42,
-154,175,169,120, 40,121,226,245, 31,133, 31, 15,171, 97,250, 96, 80,109,149,222, 34, 76,254, 58, 73,121, 5,246, 53, 88,217, 82,
-210,105,202,207,207, 63, 22, 19, 19,211,182, 97,195,134, 85, 79,158, 60,153, 31,125,243,204,244,231, 19,241,249,231,159,203, 55,
-110,220, 40, 37,132, 92, 51,153, 76, 9, 14, 29, 59, 7,191, 69,220,185,227, 97,182,176,184,122,243,126,221, 46,109, 26,129, 37,
-192,237,219,183,177,245,231,173,134, 7,145,247, 86,104,179,125,191, 45,195,188,148,120, 62,109,111, 54,234,240,153,102,102,122,
-242,138,179, 39, 14,236,108,214,161, 47, 70, 78,251,246,219, 75, 39,118,207,111,210,174, 15,167,110,179,238,136,184,126, 1,231,
- 78,158,254,206,172,201,159,143,242,251,142,148,152, 78,145, 68,250, 81,189, 38, 29,144,154,146,140,164,184,168, 95, 13,249, 79,
- 50, 82,226,185,191,102,164,165, 76,169, 94,191, 13,126, 63,179,103,122, 25, 70,171,204,107, 62,208, 75,178,249,100,216,177,225,
-105,105, 63,250,106,245, 6, 17, 33,196, 32, 18,242,178,228, 28,245, 94,149,195,233,124,100, 86,100, 84, 29, 52,116,212,148, 19,
-235,214,173,230,251,184, 74,145, 85, 96,128, 74,111,134, 90,103, 6,135, 97, 16,228, 47,131, 78,157,143,203, 7,190,183,152, 52,
- 5,195,128,120,115,105,154, 50,239,224, 69, 5, 79, 46, 76,251,124,234, 69, 8, 93, 2,253,171,117,158, 83,102,180, 78,157,126,
-175,239,231, 83,143, 7, 19, 66,186,200,188,131,213,218,156,152,185,165, 29, 59,195,216,239,239,145,157, 2, 97,182,218,231, 31,
-179,178,128,141,101,139,162,124, 0,121,214,158,207,148,115,236, 12,187,247,196, 53,100,100, 23, 66,111,178,192,104,178,194,108,
-177,129,195,229,194,213,205, 21,181,170, 53,134,139,171, 51,178,179, 50,112,253,252, 49,196, 70, 94,190,198, 16, 44,208, 43,226,
-206, 59,146, 71, 2,137,107,176,159,191, 47, 39, 83,101,130, 68,200,197,189,203, 39,205, 22,147,113,133,131, 38,235, 21,205,194,
-188,252, 85,159,204,248, 98,196, 47,219,182,251,134, 84,119, 70, 90,174, 30,105, 10, 3,212, 6, 75,145, 17, 99, 97,212,228, 34,
-242,194,246, 44,155, 65,189, 10,255, 17, 74, 53, 90, 86,179, 65,125,240,244, 45,143,217,243,191,231, 62,137, 79,176, 44,250,184,
-119,154, 94,163,234, 85,225, 72,214,115,252,242, 97,245, 61,127,197, 65,188,210, 92, 72, 88,176,132,224,248,205,172,103,205,133,
-108, 81,207,203,187,241,101, 47, 35,248,252,218,133, 29,123, 77, 63, 27, 25,163,222,165,215,103,187, 60,126,178,162, 0, 0,184,
- 92,238,179, 87,113,223, 44,131,193, 96, 42,167, 9,101,199,150, 45, 91,102, 77,153, 50, 69,244,244,233, 83,196,199,199,163,176,
-176, 16, 98,177, 24,167, 79,159,182,128,181,174,136,252,253,112, 82, 76, 68,248, 55,193, 77,187, 87, 10,105,213, 11, 82,169, 12,
- 60,226,120,103, 76,169,119,237,225, 77, 59,244,251,161,203,128,137, 56,119,120, 11,185,125,249,216, 84,189, 34,118,115, 69,207,
-101, 97, 97, 97, 52,128,184, 21, 43, 86, 52,218,186,117,107,245, 25, 51,102, 36,236,248, 97,254, 58, 0,200,203,203, 3, 0,220,
-189,123,151, 76,157, 58,213,104, 48, 24, 18, 11, 10, 10, 34, 80,206, 0, 8, 0,208, 43,164, 75,182,110, 88,214,224,105,122,230,
-192, 26, 13,154,195,171,122,115,248, 6,181, 64,129,218,140, 91, 79, 50,144,240,232, 60, 30, 93, 61,112, 82, 39,183,206, 71, 5,
-231, 55,110,216,176, 97, 32,135,195,169,166,209,104,124,235,213,171,215, 80, 38,147,221,109,216,176, 97, 99, 30,143,151,118,231,
-206,157,228,138,104,165, 92,222,110,172,210, 97,236,218, 20,181, 83,167,132, 44, 93,227, 20,181,211, 93,157,200,229, 51,197,133,
-181,198, 95,184, 1,171,136, 57, 55,122,255,118,213,193,223, 54,175,228,142,154,244,185, 45, 74,233,246, 49, 79, 34, 60, 91,177,
-112, 53, 39,243,131, 49,253,255,156,222,161, 40,146, 85,244,183, 67, 97,122,165, 50, 82, 9, 96, 86,228, 67,254, 15, 81, 31, 79,
- 94, 24,218,172,205,232,246,239, 12,227, 88, 5,114,156, 57,252, 35, 73,140,188,176,159, 71,108, 95,233, 29, 88, 13,160,220,230,
- 32,147,201, 17,147,245,106, 26,159,202, 58,238,223,253,243,216,131,135, 15, 45, 29,208,175,191,199,134,175,223,197,247, 63, 29,
-129, 76, 34, 2, 97, 89,188,219, 41,112,200, 55, 19,234,244, 13,244, 17, 7, 28,188,152,118,101,218,234,168, 89, 58,157, 57,214,
-129, 72, 12,201,205,205,189, 42,151,203, 21,109,219,182,109, 41, 18,137,152,220,220, 92,158,183,183,183,213,197,197,197,148,150,
-150,166, 51, 26,141, 7, 1, 84,104,218,113,179,133, 69, 82,182, 1, 71, 15, 29,196,253,155,231,241,232, 81,140,250,209,195, 71,
-235, 25, 30, 89,173,205,142,203, 7, 42, 92,193, 7, 91,226,168, 67, 82,225, 81,135, 54,163,250,183, 29,155, 22,117,214, 25,140,
- 99, 27,182,238,141,170,117,219,112,204, 22, 27, 30,220,190,136,139, 7, 86,127,111,214,228,207,126,147, 60,246,175, 84,189, 22,
-225, 10,241,199,165, 19, 32, 44,187, 9, 0, 8,203,110,186,251,251,201, 41, 45,122, 77,128,187,119,213,134,133,169,119, 25,188,
-198,236,225, 2, 30, 71,123,234,224, 47,135,147,146,146,240,248,241, 99, 60,121,242, 4,249,249,249,248,237,183,164, 10,229,143,
-174, 32,249,108,236, 67, 78,143,193,239,142, 60, 62,100,248,123,226,234,181, 66, 56,193,149,220,224, 33,231, 33,230, 73, 50, 98,
-239, 68,178, 49,183, 78, 26,204,170,156, 1,250,130,228, 82,141,159,212,179,174, 15, 96,155, 93,188,118, 97,171, 86,109,130,191,
- 88,188,180,165,135,151,119,137,229,120,158, 34, 71, 56,115,218,177,224,235, 55,254,112,104,173, 67,214,102,203,155, 52,118, 24,
-203,181, 47, 20,138,103,113,234,162,179,103,175, 76,217,247, 19,214, 90,110, 4,255,253,129,237, 96,101, 89,104,245,102,168,180,
- 70, 40,213, 6,100,230,228,225,126,100, 36, 46, 31, 63,134,248,152,251,137, 22,147, 41,156,195, 97, 14,232,179, 99, 47, 87,172,
-165,137, 87,221,195,221, 29,137,249, 26,136,133, 60, 36,199,222, 49,106, 85,202, 93,175,123, 29,233,243,226, 50,115,184, 76,247,
- 97,195,134,159,238,220,163,159, 75,179,214, 93,165,158,206,174, 16,240, 8,226,146, 50, 16,113,237,180, 54,225,254, 21,149,197,
-164,233,249, 54, 86,125,249, 31,167,252, 81,135,102,163,182,239,136,254, 29, 14,113,185, 60, 33,203, 90,141,102,147,113,240,155,
-152,172,191, 10, 66,108,105, 99, 71, 12,124,161,110, 96,101,137,100,196,208, 51,250,231,235, 10, 22, 27,145,142, 24,122, 77,103,
- 47, 64, 74,239,216,231,231,231,222,187,120,237,194,148,148,188,219,249,249,198,139, 0,210, 12, 6,195,107,167, 49, 59, 59,123,
-225,226,197,139,251,232,116,186, 58, 29, 59,118, 20, 57, 59, 59, 35, 47, 47, 15,225,225,225,150,176,176,176,135, 57, 57, 57,223,
- 0, 57, 86, 61, 26,255, 26,105, 56, 60, 38,230, 78,248, 55,117,154,246,168, 20,210,186,151,227,133,153, 72, 50,177,115,191,241,
-204,185, 35, 91,200,173, 75, 71, 62,208, 43,226,126,122,131,211,106, 54, 24, 12, 55, 13, 6, 67,212, 87, 95,125,213,204,199,199,
-199,231,155,111,190, 17,171, 84, 42,254,134, 13, 27, 12,185,185,185, 89, 42,149,234, 58,202,232, 79,243, 42,119, 45,202,116, 12,
- 58,117,112, 75, 39,114,112, 75, 55, 87,207,128,238, 46, 94,149,106, 22, 42,210, 19,149,138,140,112, 0,231,138, 38,138,172, 16,
-141, 26, 53,170,193, 48,204, 48, 0, 13,100, 50, 89,144, 92, 46, 23, 17, 66,234, 48, 12, 19,205,178,108,100,189,122,245,194, 30,
- 62,124, 88,161,201,100, 83, 46,111, 55, 6, 6,183,217,157,175, 99, 5, 38,142, 96,119,202,229,237, 70, 0,200, 57,251,133, 14,
-192,209,135, 29,103, 13, 58,118, 61,121, 93,116,129,203,116,197,165,165,199, 42,154,102,101,218,253,160,183,117,253, 27, 50, 31,
-166, 1, 24, 27,121, 7, 43, 31,220,189, 62,143, 33,224,219, 96, 93,164,207,121,114,231,109,232,243,249,124, 67, 64, 64, 64,137,
-163, 11, 69, 34,145,193,104, 44, 43,128,114,217,170,201,196, 86,160,195,246, 67,251,182,143, 61,114,236,232,210,246, 93, 6,120,
-136, 43, 85, 66, 53,111, 6,219,103, 55,153,126,254,174,226, 86,191, 47,174,108, 76,200, 48, 68,162,130,253, 97, 52, 26, 77, 44,
-128, 2,141, 70,211,159, 16,242,148, 97,152,192,130,130,130,123, 22,139,229, 65,133, 13, 1,139,145,173, 90, 53,255,141, 97, 24,
- 30,177,178,203,175,243,185,187, 13,153,143,210,240,134,203,146,132, 84,115,198,167,223,172,109, 82, 51,168,118,147,226,181, 14,
-235, 87,117,194,228, 89, 43,155, 84,173, 94,171,201,159,235, 31,150,219, 77,128, 88,116, 5,227, 14,253,188,252,202,221, 27, 23,
-191,244,244,171, 90, 53, 43, 45,225,209,211, 39,247, 22,218, 12,170, 67,111,154,207, 73, 79,162, 87,111, 93, 49,107, 70,102,122,
-226, 86,157, 34, 46, 10, 0,116,138,184,168, 71, 17,248, 58, 55, 43,109, 70, 94, 78,194,138,215, 61, 23, 90,173, 54, 99,215,174,
- 93,174,109,218,180,225,248,248,248, 64,161, 80,224,226,197,139, 44,203,178,233, 21,214,202, 79,188,168,205,103,220,127,253,233,
-135,229, 2,153, 83, 47,171,213,234, 79, 8,192,227,241, 50, 77, 58,213,105, 53, 71,246, 5, 10,146, 13,101, 63, 51, 88, 6, 0,
-167,120,237, 66,150,101,153,229,235,182, 39,243,197, 78, 37, 78,134,104, 49,168,165, 44,203, 58,188,214, 97, 97,106, 68,205,183,
-117,127, 51,132, 44,104,216,180,229,151, 22,139,217, 80,116,127, 24, 0, 24, 8, 65, 30,135,195, 92,230,178,150, 51,170, 55,168,
- 76, 49, 12,156, 9,195,131,147,132, 7, 6, 12, 52,202,124, 82,145, 62, 89, 37, 26,226,156,216,104, 93, 78,135, 42,167, 76,251,
-198, 92, 56,123,114,168,205,102,171, 86, 20, 51, 72, 50,234,181,251, 53,153,110,191, 2,119,172,248,247,115,162,216,108, 49,127,
-241, 15, 57,212,140,242,191,164, 25, 92, 93,210,191, 82,128,207,152,164,228,156, 91, 9, 79,117,191,226,197,101,117,222, 36,157,
- 92, 31, 31,159,175, 25,134, 25, 45, 20, 10,229, 38,147, 73, 75, 8,217,145,157,157,189, 16,175, 44,254,219,152, 47,241,214,143,
- 17,138,165,115,205, 6,237, 31,186,156,216,145,229, 29,187,212,171,118,119,177, 76, 54,203,160,215,238,208,101,199,110,127,203,
-231,211, 69, 36, 18, 53,150,203,229,252,220,220,220,155, 0,148,255, 75,249,222,176, 97,195,202, 28, 14,167, 26,203,178, 62, 0,
- 92, 96, 31, 21,146,203,227,241,210,139, 34, 90,164,162,154,109,223,223,239,217,165, 91,253, 79,195,175,196,172, 41,106, 86,124,
- 70,192,144, 85,226,209,189, 58,125,254,235,161,163, 37,141, 58,252,199, 93,243,255,127,154, 29,120,114,191,220,177, 28,161,203,
-162, 46,193, 6, 93,110, 70,250,212,171, 15, 20, 55, 1,168,223, 36,157, 2,129, 96,148,217,108,150, 8, 4, 2,189,217,108,222,
-245,191,114,236, 18,239,224,241, 28, 16,135, 87,166, 96,193,220,121,105,208,202,191,229, 90,226,134,132,132,180, 19, 8, 4,149,
-109, 54,155,212,100, 50,233,244,122,125, 82,114,114,242, 31, 40,125,225,243,191, 52,157, 50,239, 90,171, 5, 2,209,199, 0, 96,
- 54, 27,215,106,115,226, 62, 45,235,139,101,124,254, 31,157, 71,158,213,154,198,241,184,124, 47, 20, 77,204,205, 90,173,138,236,
-196,219,181,254,198,116, 82, 94, 51,115,169, 38,213,164,154, 84,243,101, 56,244,124, 82,205,191, 83, 83,236, 87, 55, 80,236, 87,
-215,225, 73,151, 75,249, 60, 61,159,148, 98, 38,149,240, 2,224,192,132,165, 20, 10,133,242, 23,192,210, 83, 64,249, 59, 49,100,
- 62,122,250, 87,126,158,242,159,163,212, 62,209, 76, 25,174,180, 34, 33,193,215,113,182,231,168, 38,213,164,154, 84,147,106, 82,
- 77,170,249,159,211, 44, 79,251,159,216, 36, 57,233,165,237, 19, 0,254, 95, 58,252,211,176, 42,213,164,154, 84,147,106, 82, 77,
-170, 73, 53,255,107, 60, 51, 94, 28,122, 46, 40, 20, 10,133, 66,161, 80,254, 26,104, 31, 45, 10,133, 66,161, 80, 40,148, 55,163,
-164,166, 67,106,180, 40, 20, 10,133, 66,161, 80,222, 2,165,118,134,167, 77,135, 20, 10,133, 66,161, 80, 40,111, 70,113, 68,203,
- 15, 47, 77,239, 64,141, 22,133, 66,161, 80, 40, 20,202,219, 33, 19, 37, 69,183,194,194,194, 72, 73,127, 83, 40, 20, 10,133, 66,
-161,252,127,240, 15,247, 34,207, 71,178, 38, 21,109, 3,120, 46,162, 69, 13, 22,133, 66,161, 80, 40,148,255, 21,179,245, 15,163,
- 56,146, 85,252,202,124,197,104,245,233,211,135,161,102,139, 66,161, 80, 40, 20,202,223,197,191,209,139,112, 94, 62, 64,154,205,
- 20, 10,133, 66,161, 80,254, 78,179,245,111, 58, 30, 58,189, 3,133, 66,161, 80, 40, 20,202,155,225, 7,160,247,115,219,255,111,
- 75,240, 80, 40, 20, 10,133, 66,161,252,219,153, 84,218, 54,141,104, 81, 40, 20, 10,133, 66,161,188,125,179, 69,161, 80, 40, 20,
- 10,133, 66,249, 39, 67, 87, 54,167,154, 84,147,106, 82, 77,170, 73, 53,169,230,191,157,226,121,180,128,210,230,209,162, 80, 40,
- 20, 10,133, 66,161,188, 22,189, 97,159, 63,107, 82,209,123,111,106,180, 40, 20, 10,133, 66,161, 80,222, 46,175, 44,191, 67,141,
- 22,133, 66,161, 80, 40, 20,202,219, 53, 88,155,169,209,162, 80, 40, 20, 10,133, 66,249,139,161, 70,139, 66,161, 80, 40, 20, 10,
-229, 47,130, 65,233, 35, 7,206, 85, 64,231,117, 70, 31,156,163,154, 84,147,106, 82, 77,170, 73, 53,169,230,127, 78,179, 60,237,
-115,248,231, 81, 60, 51,252, 9,252,217, 17,126,243,255,199, 15,211,161,175, 84,147,106, 82, 77,170, 73, 53,169, 38,213,252,183,
- 51,233,165,247,103,208,166, 67, 10,133, 66,161, 80, 40,148,183,107,182,232, 18, 60, 20, 10,133, 66,161, 80, 40,111,137, 82,155,
- 9,105, 68,139, 66,161, 80, 40, 20, 10,229,205, 40,117, 81,105,106,180, 40, 20, 10,133, 66,161, 80,254, 26,195, 69,141, 22,133,
- 66,161, 80, 40, 20,202, 91, 52, 89,147, 74,252,111, 88, 88, 24,161,231,136, 66,161, 80, 40, 20,202,223,197,191,214,139, 20, 31,
- 24, 53, 91, 20, 10,133, 66,161, 80,168, 23,169, 48,126,248,115,180,225,164,162,109, 0,116,212, 33,133, 66,161, 80, 40, 20,202,
-155,210, 27, 47,142, 60,156, 84,188, 77,141, 22,133, 66,161, 80, 40, 20,202,155, 51,169,204,255,210,102, 67, 10,133, 66,161, 80,
- 40,127, 39,255, 70, 47,194,208,108,165, 80, 40, 20, 10,133, 66,121, 35, 74,138,102,109,166,167,133, 66,161, 80, 40, 20, 10,229,
-175, 53, 92, 20, 10,133, 66,161, 80, 40,148,191,194,100,253,213, 19,150,210,149,205,169, 38,213,164,154, 84,147,106, 82, 77,170,
-249, 95, 49, 89,207, 79,241, 0,128,142, 58,164, 80, 40, 20, 10,133, 66,121, 83,232,162,210, 20, 10,133, 66,161, 80, 40,127, 17,
-116, 81,105, 10,133, 66,161, 80, 40,148,255,103,195, 69,141, 22,133, 66,161, 80, 40, 20,202, 91, 52, 89, 47,152, 45,218, 71,139,
- 66,161, 80, 40, 20, 10,229,205, 40,181,143, 22,131,210, 71, 14,156,171,192, 15,188,206,232,131,115, 84,147,106, 82, 77,170, 73,
- 53,169, 38,213,252,207,105,150,167,125, 14,255,124, 38,225,255,105,194, 82, 58,244,149,106, 82, 77,170, 73, 53,169, 38,213,164,
-154,255, 53,232,244, 14, 20, 10,133, 66,161, 80, 40,111,219, 88,189, 12, 53, 90, 20, 10,133, 66,161, 80, 40,111, 6,157, 71,139,
- 66,161, 80, 40, 20, 10,229, 47,194, 15,246,168, 86,241,123, 99,106,180, 40, 20, 10,133, 66,161, 80,222, 14,189, 97,143,106, 21,
-191, 83,163, 69,161, 80, 40, 20, 10,133,242, 22, 41,113, 30, 45, 6, 0,194,194,194, 72,209,118,199, 62,125,250, 92,166,231,138,
- 66,161, 80, 40, 20,202,255, 39,255, 86, 47,242, 44,162,213,167, 79, 31, 6,192, 37,154,213, 20, 10,133, 66,161, 80,254, 14,254,
-141, 94,132,243,146,147,236, 72,179,153, 66,161, 80, 40, 20,202,223,193,191,209,139,240, 94,114,145, 20, 10,133, 66,161, 80, 40,
-127, 11,255, 96, 47,226, 7,123, 71,248, 19, 69,239, 64,209,148, 15,116, 30, 45, 10,133, 66,161, 80, 40,148, 55,163,120,180,225,
- 43, 75,239,208, 40, 22,133, 66,161, 80, 40, 20,202,155, 81,210,204,240,155,233,105,161, 80, 40, 20, 10,133, 66,249, 11,161, 17,
- 45, 10,133, 66,161, 80, 40,148, 55,231,249,168,214,255, 91, 52,139,174,108, 78, 53,169, 38,213,164,154, 84,147,106, 82,205,255,
-146,201,122, 97,155,206, 12, 79,161, 80, 40, 20, 10,133,242, 23, 65, 71, 29, 82, 40, 20, 10,133, 66,161,188, 25,197, 35, 14,159,
-223,166, 70,139, 66,161, 80, 40, 20, 10,229, 45,154,173, 87,160, 77,135, 20, 10,133, 66,161, 80, 40,111,198,164,210,254, 65,141,
- 22,133, 66,161, 80, 40, 20,202, 95,100,184, 24,148, 62,114,224, 92, 5,132, 95,103,244,193, 57,170, 73, 53,169, 38,213,164,154,
- 84,147,106,254,231, 52,203,211, 62,135,127, 30,127,219,132,165,116,232, 43,213,164,154, 84,147,106, 82, 77,170, 73, 53,255,179,
-208,166, 67, 10,133, 66,161, 80, 40,148,255, 1,163,229,197,227,241,190,148, 72, 36, 27, 37, 18,201, 79, 60, 30,111, 5, 0,183,
-138,254,160, 76, 38,155,238,235,235,251,216,215,215, 55,173,114,229,202, 39,157,156,164,159,212, 16,161, 61, 0,254, 91, 58,158,
- 96, 0,159, 72, 36,146, 71, 98,177, 56, 25,192, 78, 0,159, 0,240,124, 19,225,133,254, 24, 28,245,113,255, 35, 11,253, 49,248,
-165,127,245,246,241,241,185, 10,160,251,219,202,148,225, 82,116, 29, 34, 67,234, 16, 25, 82,135, 75, 95,191,214,224,228,228, 52,
-218,207,207,239,186,135,135, 71,186,159,159,223, 53,177, 88, 60,164,130, 18,222, 62, 62, 62,223, 7, 6, 6,198,250,251,251,175,
-129,125,117,242,255, 89,218,137,208,174,165, 8,138, 86, 66,168,219, 8,177,177,149, 16,221,186, 1,210,215,148,107, 11,224,128,
-179,179,243, 61, 30,143, 23, 6, 96, 80,209,245, 53,136,199,227,133, 57, 59, 59,223, 3,112,160,232,115,175,115,157,126, 15, 32,
- 29,192,146,162,237,143, 2, 3, 3,213,161,161,161,201,161,161,161,191, 4, 5, 5,189,231,168,152, 84, 42,237, 22, 24, 24,120,
-176,114,229,202,201,173, 90,181,202, 15, 8, 8,136,169, 84,169,210,118,145, 72,212,145, 22,113, 20, 10,133,242,191, 79, 95, 0,
- 75, 1,172,143,140,140,140, 32,132, 68, 16, 66, 34, 34, 35, 35, 35, 0,108, 4,176, 12,165,135, 16, 95,216,239,225,225,177, 96,
-209,162, 69,134,204,204, 76,162, 80, 40, 72,108,108, 44, 89, 61,119, 22,219,195,157, 71,106,120,185,233,252,252,252,226,171, 84,
-170,180,167,190,156, 51, 11, 64, 77, 71, 52,159,195, 77, 34,145,220,156, 59,119,174,230,234,213,171, 26,147,201,164, 97, 89, 86,
-147,145,145,161, 57,119,238,156,166, 77,155, 54, 26, 0,159, 2,224, 86, 64,243, 25,223,250,227, 50,249,249,107,242,173, 63, 46,
- 63,191,191, 78,157, 58, 15, 89,150, 37,131, 7, 15, 54, 2, 8,168,136,230,203, 4, 0,226,250,206,112, 29, 34, 71,182,117,251,
- 66, 66, 54,204, 32, 67,100, 72,125, 29, 77,111,111,239,163,211,167, 79, 87,165,167,167, 19,163,209, 72, 82, 83, 83,201,228,201,
-147,149,222,222,222,187, 28, 60,118,143,144,144,144,236,235,215,175,179,133,133,133,228,210,165, 75,108,131, 6, 13,178, 29, 52,
- 91, 93, 95, 74,203,102,127,127,255,147, 21,121,121,123,123,111,173,104, 30,181, 16, 33,213, 28,113,145,144,219,225,228,216,224,
- 86,100,117,211, 74,100,144,187,176,176,173, 16, 31,117, 40,121, 42,147,210, 52,135,118,232,208, 65,251,224,193, 3, 91, 94, 94,
- 30,121,248,240, 33, 59,113,226, 68, 3,128,232,137, 19, 39, 26, 30, 62,124,200,230,229,229,145, 7, 15, 30,216, 58,116,232,160,
- 5, 48,161, 2,233,228, 0,216, 54,127,254,124, 66, 8, 33,139, 22, 45, 34,161,161,161,164,115,231,206, 68,163,209, 16, 66, 72,
- 50, 33,228, 23,171,213, 58,214, 17, 77, 23, 23,151,209,211,167, 79,215,232,116, 58, 82, 12,203,178,164,176,176,144,172, 95,191,
- 94,235,235,235,123,178,148, 74, 6,109,242,160,154, 84,147,106,254,175,105,254,147,241,131,189,159, 86,241,203,225,192,196,136,
- 89,179,102, 21,155,170, 83,109,219,182,189, 53,118,236,216,136,177, 99,199, 70,180,109,219,246, 18,128, 51,119,238,220,137,152,
- 57,115,102, 4,128, 17,229,100,132, 91,235,214,173, 11,179,178,178, 72,173, 90,181, 72,213,170, 85, 73, 86, 86, 22, 33,132,144,
-219, 67,155,144,243,117, 65,158, 94, 57, 69,194, 15, 31, 32, 19,253,120,164,157,159,139,197,207,215, 55,207,211,211,115, 49, 94,
- 92,147,177,164,204, 29, 88,183,110, 93,117,116,116,180, 38, 46, 46, 78,179, 96,193, 2, 77,231,206,157, 53, 33, 33, 33,154, 65,
-131, 6,105,214,173, 91,167, 49,155,205,154,173, 91,183,106,156,157,157,163, 75, 48, 91,175,109,180,120, 60,222,218,200,200, 72,
- 18, 31, 31, 79,138,162, 20,165,105,186,184,186,186,246,116,115,115,251,212,213,213,181, 39, 0, 23, 0,168, 5,200, 27,186,160,
-242, 71, 13,107,212, 9, 27,209,181,230,250,174,205,154, 12,113,226, 20, 90,126,152, 65,200,224,202,175,101,180, 92, 92, 92, 70,
-127,242,201, 39,106,163,209, 72,116, 58, 29,209,104, 52, 68,167,211, 17,181, 90, 77, 70,140, 24,161, 18,139,197, 3,203,211,244,
-244,244, 92,120,229,202, 21,107, 86, 86, 22,185,114,229, 10, 57,121,242, 36,217,176, 97, 3,235,237,237,189,170,162, 55,160,175,
-175,239,217,240,240,240,136,187,119,239, 70,220,188,121, 51,194, 98,177, 68,152,205,230, 8,179,217, 28, 17, 22, 22, 22,113,232,
-208,161,136,189,123,247, 70,152, 76,166, 8,147,201, 20, 97, 52, 26, 35,170, 87,175,126,186,162,121,212, 92,132,167,166,171,199,
- 8, 89,245, 33, 81,126, 55,149, 20,126,214,139,228, 76,110, 79, 54, 54,171, 68,218, 75,112, 28,175,174,237, 89,162, 38,159,207,
-191,156,156,156,204,206,153, 51,199, 84,175, 94, 61,229,184,113,227, 12, 70,163,145, 16, 66,136,209,104, 36,227,198,141, 51,212,
-171, 87, 79, 57,103,206, 28, 83, 82, 82, 18,203,227,241,206, 85, 32,157,203,138, 77,214,229,203,151,201,243,104, 52, 26,210,185,
-115,231,228,208,208,208, 95,170, 85,171, 54,178, 60, 77,185, 92,222,127,246,236,217, 26, 82, 2, 22,139,133,168,213,106,146,148,
-148,196, 86,173, 90, 53, 3,128, 7, 45,204,169, 38,213,164,154,212,104,253,101, 76, 42,103,187,228,147, 56,115,230,204, 8, 66,
- 72,196, 87, 95,125, 21, 81, 20,217, 18, 0,144, 23,189,120, 0,134,207,158, 61, 59,130, 16, 18, 49,107,214,172,226,207,148,150,
- 17,125,247,239,223,111, 94,179,102, 13,241,241,241, 33,190,190,190,100,237,218,181,132,101, 89,146, 21,182,139,156,175, 11,242,
-232,203, 49,132, 16, 66, 98, 23, 79, 35,231,235,130, 36,108,250,150,140, 26, 53, 74, 39,149, 74, 71,148,145,185,238, 77,154, 52,
- 81,235,245,122,205,246,237,219, 53, 82,169,244, 54,128,122,176, 55, 69, 50, 69,105,125,175, 94,189,122,170,168,168, 40,205,238,
-221,187, 53, 0, 22, 56,120,193,212, 4,208, 73, 38,147, 13,154, 29,192,143, 35, 63,127, 77,102,251,224, 1,128, 6, 0,188,138,
- 62,227, 63,107,214, 44, 66, 8, 33,129,129,129, 87, 74,209,116, 9, 9, 9,153, 21, 23, 23, 55,207, 98,177,204,187,123,247,238,
-188,218,181,107,207,233, 87,221,175,213,145, 17,221, 26, 43,191,157,218,152,172,252, 44,100,197, 59,205,187,238, 25,214,113,196,
-251,213, 60,175,142,243, 22,235,222,117,225,170, 95,106, 58,116,232,194, 14, 8, 8,184,153,154,154,250,204, 92,169,213,106,146,
-158,158, 78, 18, 19, 19,201,213,171, 87,137,159,159,223,249,242, 52,125,125,125, 31,166,166,166,146, 77,171, 87,147,193, 13,234,
-144,246,174, 78,164,131,155, 19,105, 42, 23,107,235, 2, 77, 43,106,180,238,221,187, 23, 1, 32, 2, 64, 68, 94, 94, 94, 68, 94,
- 94, 94, 68, 65, 65,193,179,125, 0, 34,148, 74,101,132, 82,169,140, 48,153, 76, 17, 53,106,212,168,176,209,106, 35, 70,155, 22,
- 98,228,183, 18, 65,223, 55,192, 51, 99,106,117, 79,219,141, 17,173, 72,193,135,157,201,154,198, 1,164,173, 16, 31, 57,168,217,
- 87, 40, 20, 94, 2, 48,163,200,148,143,233,217,179,167,142, 16, 66,122,246,236,169, 3, 48,166,104,255, 39, 69, 38,171,167,131,
-233,228, 4, 5, 5,105,139, 35, 89, 0,254, 8, 10, 10,210,134,134,134,146,208,208, 80, 18, 24, 24,168, 46,210,118,168, 64,171,
- 89,179,102,172, 94,175,127,102, 0, 11, 11, 11, 73, 70, 70, 6, 73, 72, 72, 32,209,209,209,228,246,237,219, 36, 57, 57,153,236,
-219,183,207,230,234,234,122,130, 22,230, 84,147,106, 82, 77,106,180,254, 82,163,245,242,235, 69,194,194,194,200, 75,187,190,187,
-115,231, 78,196,236,217,179, 35,202,113,102,147,190,250,234,171,226,168,215,210, 50, 30,254, 91, 99, 99, 99,201,152, 49, 99, 72,
-112,112, 48, 9, 14, 14, 38, 99,199,142, 37, 74,165,146,104,158, 68,145,243,117, 65,110,191,219,148, 16, 66,136,250,209, 93,114,
-190, 46, 72,196,168,214,228,254,253,251,164, 82,165, 74,225,101,252,254,241,107,215,174, 41,118,237,218,149, 5,123,127, 44, 62,
-128,150, 0,214, 74, 36,146,109,176, 55, 23, 86, 5,224, 86,171, 86,173,124,157, 78,167, 25, 60,120,176, 6, 64,229, 50, 52, 59,
- 4, 7, 7,199,111,221,186,149,228,228,228,144,252,252,124,178,188, 77,109, 66,126,254,154, 44,106, 90,149,221,180,105,147,113,
-198,140, 25, 90,119,119,247, 48, 0,254,131, 7, 15,182, 18, 66, 72,251,246,237,179, 75, 18,115,117,117,237, 25, 23, 23, 55,207,
- 96, 48,204, 43, 44, 44,156,151,159,159, 63,239,216,145, 35,243,122, 52,168, 61, 70,249,237,212,198, 71, 70,116,107,252, 78,128,
-219,160, 85,221,155, 77, 73,159, 51, 97,240, 87,173,235, 61, 50, 44,251,248,226,208,234, 62,223,191, 78,110,123,121,121,101, 26,
-141, 70, 2,224,149, 87,124,124, 60,241,240,240, 72, 45, 79,195,221,221,253,171, 79,134, 15,179, 13,172, 26, 64,226,215,204, 37,
-150,179,187,137,229,228,118,242,228,187,207, 72, 63, 95, 79, 85, 75, 1,103,182,163,233,241,245,245, 61,123,243,230,205, 23,140,
- 86, 65, 65, 65,137, 70, 75,165, 82, 69,152, 76,166,136,160,160,160,211,111,122,213,183, 20,162, 70, 7, 9,247,246,221, 49,237,
-136, 98,106,103,210,211,133,159,252, 6,114,195, 1, 92, 2, 48,170,130,223,227, 0, 88, 86,108,168,190,251,238, 59, 66, 8, 33,
- 65, 65, 65, 90,188,217, 96, 20,151, 58,117,234, 36, 78,152, 48,193, 90,183,110,221,156, 54,109,218, 20,222,186,117,139, 92,190,
-124,153,156, 60,121,146, 28, 56,112,128, 68, 69, 69,145,244,244,116, 18, 27, 27, 75,122,247,238, 93, 8,160, 3, 45, 11, 41, 20,
-202,255, 50, 37,120,145,127, 60,156,226, 3,235,211,167, 15,243,220, 1,186, 0, 16, 55,109,218, 84,177,108,217,178,149,176,207,
- 5,193,132,112, 49,180,179,132,119,191,179,132,119, 63,132,139,161, 69, 17,163,205,139, 23, 47, 94, 24, 26, 26,154, 9, 64, 2,
-192,183,164, 31, 34,132,180,243,240,240, 64,106,106, 42, 92, 92, 92,224,226,226,130,212,212, 84, 16, 66, 96, 37,128,133, 0, 70,
-179, 25,122,189, 30, 6,150, 64,207, 2, 42,141, 6,190,190,190, 48,155,205, 53, 74, 73,127,195,119,223,125,183, 70, 72, 72,136,
- 98,230,204,153, 25,176,247,149,217, 54,126,252,248,179,127,252,241, 71,136, 70,163,201,143,142,142, 54, 52,104,208,160, 39, 0,
-223,184,184,184,209,235,215,175,199,152, 49, 99, 80,198, 67,167, 65,239,222,189, 79, 70, 69, 69,213, 24, 53,106, 20, 46, 93,186,
-132,229,203,151, 35, 55, 55,151, 0,128,209,104, 36, 54,155,205,220,186,117,107,243,154, 53,107,154,183,111,223,254,102,245,234,
-213,185, 0,144,152,152,248,164, 36, 65,134, 97,106, 87,169, 82, 5, 70,163, 17, 10,133, 2, 81, 81, 81,112,114,113, 65,100, 70,
-174, 79,199, 85,155,242,190, 60,114,150, 63,188,121,136,251,167,221,218, 24,151,132, 95,170, 85,207,223,199,199,100,182,248,198,
-102,102,103,188, 78,166, 10, 4,130,212,220,220, 92,152, 76, 38,232,245,122,168, 84, 42,228,229,229, 33, 55, 55, 23, 25, 25, 25,
- 16, 8, 4,241,229,105, 56,231,231, 95, 73,188,118,153,217,247,227,119,168, 97,205, 7,239,224, 90,240,142,110, 68, 77,147, 2,
- 63,205,157,236,100,242,240,154,239,236,228, 84,224,234,234,186, 25, 64, 80,121,122,141, 27, 55, 70, 94, 94, 30,242,242,242,224,
-225,225, 1, 55, 55, 55,184,185,185,161,176,176, 16, 74,165, 18, 42,149, 10,181,106,213, 66,195,134, 13,177, 99,199,142,183,114,
-113,223, 48, 33,193, 10,219,212,179, 49, 25, 16,200,100,168,238, 38,175,210, 76, 14,247, 50,190,210,153,207,231,239,119,119,119,
- 15, 7,240, 33, 0, 25,128, 15,221,221,221,195,249,124,254, 0, 0,139, 0,236,170, 96, 50,150,204,159, 63,127, 86, 92, 92,156,
-244,254,253,251,152, 57,115, 38, 22, 44, 88,128, 39, 79,158,252, 0,128, 45,250,204, 7, 30, 30, 30, 97, 28, 14,103, 11,128, 94,
- 0,122,250,249,249,117, 41, 71,119,192,140, 25, 51, 12, 77,154, 52,137,125,244,232,209,128,107,215,174, 53,253,236,179,207,148,
- 41, 41, 41,136,141,141,133,159,159, 31, 2, 3, 3,161,209,104, 80, 80, 80,128, 1, 3, 6,184, 56, 59, 59,143,160,197, 56,133,
- 66,249, 95, 54, 89, 47,121,145,127, 90, 68,171,196,237, 18,107,212, 82,169,116,126, 68, 68, 68,171,208,208, 80, 30,128,125, 0,
- 16,194,197,144, 1,173, 27,109, 59,178,249,187,208, 67,107,230,134,246, 8,173,181, 45,132,139,226, 81,108, 97, 77,155, 54,117,
-139,136,136,104, 45, 18,137, 62, 42, 37, 17, 4, 0,220,220,220,224,226,226, 2, 87, 87, 87,184,185,185,129,101, 89,104,116, 6,
-104,109,128,218, 96,130, 82,169,132,186,104, 91, 99, 52, 67,171,213, 62,251,110, 9,116,156, 48, 97,130, 98,253,250,245, 57,153,
-153,153,223, 1,104, 48,102,204,152,254,235,214,173,195,133, 11, 23, 12,189,130,107,122, 44,110,215,104, 97,189,204, 39,243,130,
-249,152, 8,224,202,149, 43, 87,208,186,117,107, 48, 12, 51,172, 36, 65,137, 68,178,113,207,158, 61,146,232,232,104,212,172, 89,
- 51,122,216,176, 97, 67,191,251,238,187, 26, 50, 77,254,239, 0, 96,205,203,138,158, 54,109,218,215,139, 23, 47, 86, 40, 20, 10,
-179, 78,167,251, 63,246,190, 59, 44,138,171,125,251,158,237,203,238,210,219,210, 85,138, 96, 65,197,222,176,183,136,157,216, 53,
-246, 88,162,209, 24, 99, 11,197,168,177, 68,141, 26, 19, 77,108, 17,141, 5, 81, 17, 99,195,222, 21, 80, 84, 4, 65,144, 38,101,
-105,203, 22,182,176,229,124,127, 32, 4, 13,213,188,239,239,123,147,204,125, 93,123, 45,236,156,185,231,156,153,115,102,238,121,
-206,115,158,199,110,248,240,225,200,204,204,196,155, 55,111,238,214, 34, 50, 95,198,197,197,145,210,210, 82,164,166,166, 34, 46,
- 46,206,228,235,175,191,238,100, 96, 48, 70,100,195,116,218,212,238, 29, 58, 77,234,210, 14,135,239, 61,225,220, 74, 74,179,232,
-208,196,201,242,113, 86,110, 83, 29,133, 87, 31,114,181,229,114,249,246,111,190,249, 70,161, 80, 40,144,157,157,141,167, 79,159,
-226,197,139, 23, 72, 79, 79,199,166, 77,155, 20,197,197,197, 59,234,227,112,228,179,190,216,188,100, 6,197, 74,184, 11, 60,185,
- 1,148,201, 1,149, 2,154,196, 88, 28, 72,204,195,174,147,167,184, 25,153,153, 22,199,142, 29,155,233,234,234, 26, 11,192,171,
- 46, 62, 66, 42, 46, 33,131,193,120, 95,132,130,193, 96,200, 1,228, 9,133,194, 44, 83, 83,211, 44, 6,131,145, 71, 8, 81,254,
- 71,222, 36,244, 40, 7,147, 9,112, 77,192, 96,215,153,218,243,227,113,227,198, 29,205,202,202, 26,148,154,154,218,117,199,142,
- 29,223,240,249,252,248, 29, 59,118,124,147,154,154,218, 53, 43, 43,107,208,184,113,227,142, 2,152,210,152,227,123,122,122, 46,
- 8, 14, 14,198,166, 77,155,208,182,109, 91,120,121,121,149,133,132,132,108, 7,176, 26,192,103,158,158,158,183, 23, 44, 88, 48,
- 93, 34,145,136,179,179,179,219,254,240,195, 15,115,182,111,223,222, 49, 39, 39,135, 95, 15,117,143,129, 3, 7,226,252,249,243,
- 0,144, 11, 32,181,168,168, 72,159,147,147, 3, 31, 31, 31,116,234,212, 9, 10,133, 2, 10,133, 2, 82,169, 20,110,110,110, 48,
- 26,141, 93,233, 91, 57, 13, 26, 52,104,252,159, 10,174,154,133, 22,159,207,183,244,243,243, 67,179,102,205, 44,241,118,181,150,
- 53,151,181, 98,241,204,241, 2, 81,236, 5, 80,113, 87, 48,174,103, 43,129, 53,151,181,226,237, 46, 44, 55, 55, 55,158,159,159,
- 31,132, 66,161, 83, 45, 7,191,158,151,151, 7, 63, 63, 63, 88, 88, 88,192,220,220, 28,126,126,126, 40, 47, 47, 71,169, 92, 14,
-165, 1, 40,211, 25, 81, 90, 90,138,226,130,124,148, 25, 0,189,169, 53,210,211,211,193,100, 50,211,106,225,116,240,240,240, 40,
-136,143,143, 47, 0,112, 19,192,167,161,161,161, 88,190,124, 57,130,130,130,142, 10,114, 95, 15, 60,122,254,140,245,145,144,121,
-182, 94, 92,106, 60,128,242,172,172, 44, 88, 88, 88, 64, 40, 20,214, 40, 12,252,253,253,219, 11,133, 66, 28, 60,120,144,100,103,
-103,119, 71,197, 18,254, 52,138,170, 16,123, 38, 12,148, 2,216, 30, 27, 27,219,249,235,175,191, 78,234,223,191, 63,187, 75,151,
- 46, 88,187,118, 45, 0, 68,213,196, 41,149, 74,239, 79,153, 50, 69,123,237,218, 53, 36, 38, 38, 10, 79,159, 62, 29,184,118,237,
-218, 86, 25, 25, 25,188,179,191, 95, 24, 18,150, 37, 11,220,120,233, 22,127,221,197,235,247,109,204,132, 45,155,218, 88, 33, 46,
-227, 13,199,192,196,195,250,174,104,103, 54,115,102,111, 62, 43,174, 39,143,145,219,155,207, 66,159, 74, 59, 0, 0, 32, 0, 73,
- 68, 65, 84,138,237,200,102,206,144,203,229,199, 34, 35, 35, 47, 46, 89,178, 68, 33,145, 72, 96,106,106,138,162,162, 34,172, 95,
-191, 94, 17, 23, 23,119, 82,171,213,158,173,143,215, 96, 36,237, 93,154,184, 2,175,226,171,126, 43, 55, 18, 60,212,114, 16,240,
-233, 34,120,251,248, 64,171,213,162,117,235,214, 84,104,104,168,208,220,220,252,203,122, 69, 15,227, 79,221, 77, 79, 81, 84, 30,
- 33,228,141, 66,161,200, 54, 49, 49,201,224,112, 56, 25,197,197,197,217,132,144,252,255,132,206, 34, 12,124,209,173,181, 39,192,
- 51, 65, 70,145, 34,231,145, 2,197, 53, 21, 52, 53, 53,157,177,107,215, 46,254,190,125,251,116, 11, 22, 44,208,204,153, 51,135,
-173, 82,169,236,230,204,153,195, 94,176, 96,129,102,223,190,125,186, 93,187,118,241, 69, 34,209,232, 15,169,136, 78,167, 67,124,
-124,252,198,148,148, 20, 33, 42,194,141, 44, 10, 9, 9,153,154,156,156,204,223,185,115, 39,194,195,195, 17, 30, 30,142, 17, 35,
- 70, 96,225,194,133, 8, 14, 14,174,139, 78,208,166, 77, 27, 63,107,107,107,220,184,113, 35, 7, 64, 6,128,246, 34,145,200,116,
-196,136, 17, 24, 52,104, 16,212,106, 53,202,203,203,171,132, 22,147,201,132,133,133,133, 53,125, 15,164, 65,131, 6,141,255,186,
-200,122, 71,108,177, 0,160,210, 84, 23, 16, 16, 64,213,245, 96, 52,148, 72, 32, 85,150, 33,189,180, 12,153, 37,198,119,182, 25,
-141,198, 58,143,158,147,147,115,246,222,189,123, 51,252,252,252, 88, 57, 57, 21, 51, 98,126,126,126, 40, 43, 43, 67,206,147, 7,
- 80, 26, 1,161,135, 47,148, 74, 37, 74, 94, 60,134,168, 77, 87, 88, 15,157,132,173, 59,119,106,138,138,138,118,215,196,201,229,
-114,217,206,206,206, 5,105,105,105,122, 0,197,230,230,230, 3, 93, 93, 93,113,253,250,117, 0, 56, 76,128,205,136,187, 6,220,
-136, 0,169, 48,169,136,220,220,220, 32,145, 72,160, 80, 40,174,215,196,121,239,222,189,100,157, 78,215,122,248,240,225,212,175,
-191,254,122, 92, 38,147, 5, 1,120,170, 49,130,249, 36, 43, 31, 74, 3,248, 0, 6, 88, 90, 90,126, 30, 28, 28,220,111,193,130,
- 5,136,140,140,196,165, 75,151,202, 81,225, 11,118,175, 6,218,210,212,212,212, 61, 75,151, 46,237,194, 96, 48, 62,189,124,249,
-178,222,203,203, 75, 86, 94, 94,110,104,238,237,205, 8, 10, 93,195,153,255,233,108,139,162, 50, 36, 12,106,238,208,141,162,128,
-132, 55,146,140, 20, 5,138,234, 58,167,254, 92,102,212,200,238,109,252,103,140, 27, 38, 18,122,180,132,242,217, 3,241,158, 19,
-191,111, 53,137, 75, 14,184, 33,145,140,136,140,140, 12,188,126,253,250,124,173, 86,219,140,199,227,189,146, 74,165,223, 43, 20,
-138,122, 69, 22,147,201, 28,170,113,112,182,148, 22, 23,131,255,214, 18, 37,211, 25, 81,168,209, 35,209,194, 11, 19,156, 93,170,
-166, 65,243,242,242, 32, 22,139, 41,131,193, 48,172, 46,206, 75,151, 46, 33, 32, 32,160, 82,120,130,162, 40, 80, 20, 85,232,237,
-237,157,207,227,241,138, 56, 28,142,108,243,230,205,106,181, 90, 13, 22,139,197, 55, 24, 12,204,191,210,219, 59, 9, 96,199, 35,
-212,143,115,134,247,233,223,182,165, 15,185,249,232, 9, 85, 82,166, 62, 80,135, 21,240, 7, 79, 79, 79, 86,113,113,241, 89, 0,
-137, 58,157,238,200,241,227,199,249,147, 39, 79, 86,159, 56,113, 98, 34, 0,247, 45, 91,182, 4, 42, 20,138, 70,165, 84, 72, 73,
- 73,249, 97,221,186,117, 95,173, 90,181, 10,135, 14, 29, 90,144,146,146,178,252,173,165,107, 68,112,112, 48, 54,111,222,140, 67,
-135, 14, 25, 19, 19, 19,127, 55, 26,141, 41, 75,150, 44,105, 99,111,111, 95,152,155,155,155, 82, 7,109,135,193,131, 7,107,110,
-223,190,205,149,203,229,183, 0,124, 62,119,238,220,153,157, 59,119,150,141, 27, 55, 78, 84, 92, 92, 44, 21, 8, 4,220,189,123,
-247, 90,178, 88, 44, 40,149, 74, 80, 20, 5,185, 92,174,165,239,131, 52,104,208,248, 95, 69,109, 90,228,111,130, 90,159, 13,172,
-154, 26, 88, 86, 86,150,159,153,153,233,243,230,205, 27, 61, 0, 61, 0, 20,105,245,223,174,219, 27,177,111,116, 23, 79, 97,174,
- 78,135,211,143,158,151, 21,105,245,149,206,239,250, 55,111,222,200, 51, 50, 50, 76, 85, 42,149,162,150, 99,221,253,241,199, 31,
- 85,215,174, 93, 51, 77, 77, 77,133,193, 96, 64,251,246,237,241,242,229, 75,148, 36,198, 67,232,211, 30,194, 94, 1,120, 30,251,
- 8,113,151,162,241, 90,161,213, 39,173, 94, 87,170, 80, 42,131,203,203,203, 79,215, 68,200,102,179,139, 1, 16, 66,136, 1, 0,
-100, 50,217, 83,133, 66,209,211,222,222, 30, 9, 9, 9, 66,165, 1, 11, 3, 87,108,221, 65, 8, 49,112, 42, 86,115, 45, 30, 55,
-110, 28, 98, 98, 98, 0, 32,166, 38, 78,153, 76,182, 96,214,172, 89,215, 14, 30, 60,200, 74, 77, 77, 29,180,111,223,190, 65, 73,
- 73, 73,132, 42,206, 52,220, 46, 99,195,125,234,194,142, 63,185,121, 95, 10, 8, 8,128,131,131, 3,246,238,221,139,239,191,255,
- 94, 55,111,222,188,228,239,191,255,190,163, 68, 34, 57, 82, 75,251, 75,165, 82,233, 5,107,107,235,249,173, 90,181,146, 43,149,
- 74, 20, 21, 21, 33, 39, 39, 7, 86,214,214, 12, 61, 24,221,108, 45, 44,142,156,205,147, 11, 89, 23,238,227, 65,118,110,157,214,
-172, 46,108,230,148,209,254,237,252, 63, 91,181, 66,132,219,167, 65,205, 10, 6,217,247, 13, 22,125, 18,104,170,214, 28,233,165,
-124,146, 62, 57, 86, 38, 11,147,201,100,225,141,236, 44,131,187,117,235,118,116,221,186,117, 38, 43, 55,173,195, 22, 31, 39,232,
-139,138, 80,160, 49,160, 80,163,135,172, 36, 17, 9, 9,207, 97,109,109,131,215,175, 95, 67,173, 86,227,197,139, 23,132,201,100,
-158,173,207,162, 83,137,106,211,133, 82, 30,143, 87,196,102,179,243, 89, 44, 86,113,106,106,170, 82,173, 86,131,193, 96, 8, 13,
- 6,131, 73, 3,234,234,108, 99, 99,179, 4, 21,193, 68, 35,229,133,133,219,253,216,176, 0, 11,189,221,108,172,135,172,158, 51,
-217,198,213,209, 78,154,154,252, 74,183,251,226,157, 66,181,166,246,197, 26, 0,162,138,139,139,171, 44,146, 39, 78,156, 88,116,
-226,196,137,153, 0,246,163, 34,239, 86,180, 84, 42,253,233, 3, 6,223,234,147, 39, 79,126,181,106,213, 42,152,152,152, 84, 5,
- 79, 53, 49, 49,225, 3,192,111,191,253,134,132,132,132,206,120,235,175,101, 52, 26,143,230,230,230,214,199,233,238,235,235,155,
- 26, 17, 17,193, 5,224, 56,119,238,220,174, 59,118,236,192, 39,159,124, 82,240,252,249,243, 46, 0,210, 0,184,127,250,233,167,
- 15, 15, 29, 58,100,105, 52, 26, 81, 82, 82, 2,173, 86,155, 70,223,202,105,208,160, 65,139,173,255, 10,252, 0,196,161, 34,126,
-214, 80, 0,231, 80,225,214, 81, 43, 92,222,170,179,139, 0,134, 87, 62, 31,107,113,134, 7, 42, 86,100, 93, 0,240, 11, 0,251,
-218, 72,173,173,173,191,156, 58,117,170, 46, 59, 59,155,228,229,229,145,240,240,112,178,120,198, 84,195, 0, 15, 71,163,135,163,
-189,210,214,214,246,165,131,141,213,129,118, 2, 44, 6,224,220,128,134, 77, 77, 74, 74,154, 61,117,234,212, 25,111,143, 59,227,
-232,209,163,138,203,151, 47, 43,152, 76,102, 20, 42, 66, 59, 84, 10,202, 41,195,134, 13, 83,104, 52, 26,133,183,183,119, 49, 42,
- 28,247,107, 67, 96,239,222,189, 75,206,159, 63, 79, 12, 6,195,159, 98, 20, 21, 20, 20,144, 75,151, 46,145,238,221,187, 75, 1,
- 76,238,215,175,223,245, 59,119,238, 92,239,209,163,199,201,250, 42,108, 99, 99,179,226,201,147, 39, 49,233,233,233,177,231,206,
-157,139, 61,114,228, 72,236,167,159,126,250,180, 77,155, 54,170,228,228,100,163, 94,175, 39, 79, 30, 63, 38,222,205,155, 43, 1,
-184,213,198,211,215,132,245, 80,182,247, 27,162, 94,251, 9, 81,143,116, 33, 0,136,124,235,151, 36,127, 65,127,242,114,254, 16,
-210,135,207,188,247, 33, 61,197,202,202,234, 98, 76, 76, 12,145,203,229,228,217,179,103,100, 74,192, 32,114,111,102,127,114, 97,
-144, 39, 57,212,171, 41,217, 58,176, 13, 25,212,171, 39,249,241,199, 31, 73, 68, 68, 4, 89,177, 98,133,209,198,198, 70,142, 58,
-124,180,196, 98,241,229,227,199,143,199, 2,136,101, 50,153,177, 50,153, 44, 86, 46,151,159,205,202,202,218,229,237,237,253, 85,
-171, 86,173, 38,250,248,248,244,237,211,212,237,171,126,166,188,151,253,205,248,175,154,139, 4, 91,241,231,184, 87, 85, 48, 7,
-220, 60,220,221,229, 55,110,220, 48,106, 52, 26,114,235,214, 45, 99,139,230, 94,234, 45, 99, 7,159,124,189,119,195, 73,245,249,
- 95, 47,150,157,249,249,206,137,105, 1,241,189, 5,140, 95,187, 10,171,194,113,124, 40,198, 3, 56,141, 63, 86, 29, 78, 5,112,
- 6,117,175, 66,100, 0,216,191,118,237,218,234, 43, 13, 1,128,209,166, 77,155, 88, 66, 72,108,155, 54,109, 98, 27, 91, 17,129,
- 64,176, 36, 50, 50, 50,196,213,213,117,211,184,113,227,246, 74,165,210,115, 19, 39, 78,140, 71,197, 98, 16, 10, 21,217, 17,134,
- 57, 59, 59, 23,196,197,197,145,235,215,175,147, 49, 99,198,200, 57, 28,206, 36,250, 54, 78,131, 6, 13, 26,255, 21,204,174,229,
-187, 78,172,139,143,143,175,140,161, 53,183, 46,242,229,203,151,199,198,196,196,196,162, 34, 74,124,157, 96,177, 88,167,230,205,
-155, 71,236,237,237, 21,118,118,118,167,216, 76,230, 76, 23, 19,248,225,195,150,186,247, 12, 11, 11, 27,241,195, 15, 63, 12, 5,
-208, 25, 0,219,201,201, 41, 39, 47, 47, 79,113,231,206, 29, 69,247,238,221, 21, 54, 54, 54, 18, 95, 95, 95,197,150, 45, 91, 20,
- 58,157, 78,177,100,201, 18, 5,254, 28,239,171, 38,240, 1,204,231,114,185,167, 90,180,104, 17,191,122,120, 95,221,166,133, 51,
-201, 84, 79, 91, 5,128, 31, 0,204, 3, 96, 1,128, 29, 24, 24,120,229,197,139, 23, 23,125,125,125,247, 52,128,215,177, 85,171,
- 86, 87,143, 30, 61, 26, 19, 17, 17, 17,251,229,151, 95,198, 88, 91, 91,103, 39, 39, 39, 27,213,106, 53, 41, 41, 41, 33, 82,169,
-148,156, 59,119,206, 96,101,101,181,179,214,134,243,152,185,228,210,225, 26, 67, 56,100,173,154, 68,186,115, 25,111, 62,164,167,
- 8,133,194,226,162,162, 34,146,151,151, 71, 82, 83, 83,201,201,147, 39,201,224,110,157,200,177, 79, 71,147,195, 51, 70,144,205,
-131, 59,145,206,166,124,165,216, 84, 20, 99,106,106, 42,105,200,170, 67,177, 88,124, 89,163,209, 84,133,111,112,118,118,142,245,
-246,246,142,240,245,245,221, 26, 25, 25,185,104,219,182,109, 35,250, 52,117,251,106,253,160,110,170,178,232, 19, 68,126,252, 7,
-178,188,189,151,250,173,152,175, 17, 78,214, 86, 97, 55,174, 95, 55, 86,138, 95,189, 94, 79, 78,159, 58, 69,198, 14, 25, 16, 95,
-122,225,183, 95,110, 5, 47, 56,186,164,189,215,233,238,124,140,175, 75,176, 85,189,138,136, 96,237,111,198,216,245,145,171, 85,
-110, 79,115,198, 15, 93, 76,223, 73, 47, 53,214,203,203, 43,149, 16,146,235,227,227,147, 10,224,176,143,143, 79,245,255,167,213,
- 66, 91, 21,156, 52, 36, 36,132,188, 29, 31, 12, 0, 65,235,214,173,139, 37,132,196,122,122,122,222, 6,128,182, 66,216,244, 50,
-103,252, 50,220,221,190,168,151, 57,227,151,182,194,154, 83, 70,185,113,208,188,167,173,224,214, 8, 79, 7,121,111, 39,243,155,
-135, 15,236,219,244,209, 71, 31,237, 5,176, 19,192, 55,214,214,214,183,198,143, 31,159,112,232,208,161,132, 45, 91,182,148, 39,
- 39, 39,147,233,211,167, 43,121, 60,222, 55,244,125,144, 6, 13, 26, 52,254,107,168,140, 12,239,208, 24,161, 53,236,171,175,190,
-138, 37,132, 84,198,210,154, 92, 67,153,225,171, 86,173,138, 37,132, 84, 70,135,127, 63,128, 89, 77, 1,205, 66,118,237,218, 69,
-120, 60,222, 47, 31,216,152,234,156,226,145, 35, 71,118,145,201,100, 29,237,237,237, 59,190,181, 92,185,216,216,216,164, 30, 57,
-114, 68,161, 82,169, 20,132, 16,133, 94,175, 87,196,196,196, 40,122,247,238,173,168,246,214, 95, 95, 61,223,193, 74, 49,110, 63,
- 90, 61,131,172, 20,227,246,123,155, 38,237,223,191,255,124, 90, 90,218, 89, 51, 51,179,101, 13,228,116,177,181,181, 13,178,178,
-178,186,104, 99, 99,179,210,202,202, 42,183,188,188,156,148,148,148,144,151, 47, 95,146,235,215,175,147,123,247,238, 17, 43, 43,
-171,236,218,234,217,207,132,117,191,100,211,124, 98,220,191,142,104,119,172, 32, 0,136,116,219,114, 82,248, 99, 40,121, 52,107,
- 16,233,205,103,222,253,128,243, 9, 11, 11,139,159, 79,157, 58,101, 76, 73, 73, 33, 81, 81, 81,228,220,185,115,100,225,194,133,
-164,185,163,131,166, 11,151,145,223,147,199,186,248, 33, 1, 75, 53, 26, 77,172, 76, 38,139, 85, 40, 20,177, 45, 90,180,136,237,
-212,169, 83, 68,151, 46, 93,182,158, 56,113, 98,209,250,245,235, 71,244, 51,229,189, 44,139, 62, 65,200,151, 67, 8,153,223,131,
-188,154,217,155,244, 53, 97, 61,169,149,211,222, 62,187, 50, 90,187, 82,169, 36, 55,111,222, 36, 87,175, 94, 37, 98, 27, 27,153,
-191, 9,115,118,119, 30,122,117, 55,131, 69, 67,235,217,199,156,113,224,254,143,223, 26, 84,231, 15,145,223,166, 14,209,247,182,
- 96,236,170, 86,238, 24, 33, 36,119,204,152, 49,175, 9, 33,185, 39, 79,158,204, 34,132,228,142, 30, 61,250, 53, 33, 36, 23,192,
-209,154, 56,223, 11, 78,186,255,173,200,154, 31, 18, 18, 18, 75, 8,137, 13, 9, 9,137, 5, 42,130,168,246, 50,103, 28,124,176,
-103,179, 81,115,238, 32, 57, 49,125,168,161,151, 57,227, 96,141,245,180, 96,157,141,219,191,141,104, 47, 30, 38,167, 22, 78, 52,
-244, 16,155,221,240,242,242,218,188,104,209,162,136,123,247,238, 61, 53, 24, 12, 9,169,169,169, 9, 59,119,238, 76,232,218,181,
-235,109,107,107,235,120, 46,151, 59,175,190,107,244, 31, 2,205, 73,115,210,156, 52, 39,141,247, 13, 76,117,108, 59,187,113,227,
- 70, 33, 33,100, 73, 96, 96, 32, 54,108,216, 48,182, 85,171, 86,227,157,156,156,108, 1, 32, 39, 39,167,236,217,179,103,178,192,
-192, 64, 4, 5, 5, 97,211,166, 77, 91, 81,225,203,242,127,137,188,211,167, 79, 59, 47, 88,176, 64,178,126,253,122,227,244,233,
-211,125, 0, 60, 43, 44, 44,108, 62,113,226,196,249, 44, 22, 43,208,205,205,205, 55, 55, 55,183, 64,165, 82, 29, 6,176, 7,245,
-204,153,214, 6, 30, 3,134, 14, 77, 28,112,145, 1, 67,181,159,135, 4, 5, 5,141, 27, 61,122,116,249,182,109,219,244, 50,153,
- 44,178,129,116, 89, 5, 5, 5,107, 42,255,177,178,178, 18, 63,121,242,100,158,157,157, 29, 35, 53, 53, 21, 26,141, 6, 41, 41,
- 41, 70, 84, 76, 77,213, 8,133,158,108,255,233,228,101,239, 37,147, 2,204,202, 18, 31,131,195,100, 66,199,230, 34,239,254, 69,
-236,191,153, 40, 83,150, 99,199,135,180, 83, 42,149,126,183,112,225,194,137,203,150, 45,227,187,185,185, 81,119,239,222,197,241,
-227,199, 53, 18,137,100, 48,128, 27,127,132,126,106, 28,140, 70, 35,184, 92, 46, 0, 96,249,242,229, 96, 48, 24,108,137, 68,194,
-165, 40,138, 71, 81,148,128,162, 40,166, 46, 45, 1, 70, 89, 9,242, 75,164,200,202,151,214,201,103, 48, 26,143, 63,120,240, 96,
-113,187,118,237, 24,143, 30, 61, 66, 65, 65, 1, 82, 82, 82,136,129,144,163, 55, 85,134, 10,167, 68, 77,195,235, 39,176,178, 30,
-217,214,146,199,224, 30, 8,130,191,150,193,220,109,196, 24, 84,196,210, 2,128,253, 20, 69,113, 0, 20,181,104,209,162,207,139,
- 23, 47, 76, 90,180,104,161, 74, 76, 76, 60, 79, 81,148, 19,128,131, 53,113,154,152,152, 20, 2, 40, 60,121,242, 36, 0,204, 66,
-197,201,107, 31, 28, 28,156,123,243,230, 77,132,132,132,228, 3,216, 5, 0, 34, 75,235,225,190,230, 28,138,251,107, 8,186,106,
-192,216, 97, 36, 53, 90, 93, 69,118,246,125, 91, 9, 25, 96,239,251, 26, 29,197,222, 12,174,190,188,117,104,104,232, 77,133, 66,
-161, 57,118,236,152,118,218,180,105,204,228,228,228,135, 0,110, 1, 56,137,183, 62,150, 52,104,208,160, 65,227,191,138,247, 45,
- 88,245,250,104,189,175, 90, 55, 0,248, 41, 41, 41,169, 42,169,116, 82, 82, 82, 44,128,221,168,136, 6, 63,172, 17,138,119,245,
- 91,139,214,158, 15,108,204,251,156,124, 63, 63, 63,147, 23, 47, 94,112, 80,115, 18, 71,234, 3, 56,255,132,154,114, 29,122,121,
-121,125,175,211,233, 34,118,239,222,125,130,201,100, 78,252, 11,106,223,205,211,211,179,228,200,145, 35,198,168,168, 40,178,122,
-245,106,131,131,131, 67, 9,254,236,163,245, 14,167, 63,151, 25,190,212,199, 73, 22, 51,185, 7,121,181,104, 56,185, 53,169, 55,
-153,237, 36,146,249,243,153,199,255,226, 91,137,167,185,185,249,126, 19, 19, 19,153,153,153,217,101, 0,221,254,202, 53,178,182,
-182, 62, 36, 22,139, 47, 87,255,216,219,219, 71,216,218,218,254, 96, 99, 99,179,218,194,194, 98,142, 59,159,187,109, 81,115, 71,
-117,252,200, 22, 36,186,187, 45,153,100,195,125,127,234,240,253,122, 58,184,187,187, 23,133,133,133, 25,207,158, 61, 75, 86,172,
- 88, 97,108,210,164,137, 12,117,248,181,213,105,209,178, 96, 30, 15, 31,221,197,152, 63,212,137,108,240, 49, 53,246,177,100,214,
-182, 66,113,210, 91, 1, 60,181, 62, 78, 15, 15,143,221,132,144, 3,107,215,174, 61,128, 63,114,129, 14, 8, 13, 13, 13, 38,132,
- 4,135,134,134, 6, 3, 24, 4, 0,254,230,140,176,195, 35, 58, 24,114, 62,114, 36,223,250,136, 12,254,230,140,176, 26, 45,153,
- 86,172,211,103,102, 14, 53,230,206,236, 78,130, 60,133,134, 46, 86,188, 43, 92, 46,119, 17, 42, 44,206,157, 0,112,233,183,102,
-154,147,230,164, 57,105,139,214,255,156,240,106, 16,196, 86, 86, 86,251,155, 53,107,118,194,205,205,237,132, 72, 36,218,138, 10,
-167,249,198, 94, 8,247,117,235,214,201,204,205,205,219,254, 7, 47,174, 29, 0, 39,252, 57,113,238,127,172,195,172,113,192,130,
-228,101, 99,159,172,113,192,130,106, 63,119,242,241,241,249, 22, 21,209,188,255,106, 39,116,179,178,178,218,105,101,101,149,253,
-214, 55,203,173, 33,156, 29,152,204,137,125,248,204,187,221,184,140,188, 62,124,214,157,142, 76,230,132,191,233, 0,172,107,177,
- 69,109,156,206, 54, 54, 54,219,172,172,172,114,108,108,108,118, 54, 82,100,189,195,217,214, 4, 14,125, 45,152,167,187,153, 82,
-202,190,230,204,147, 29, 4,181, 47,234,104, 68,219,253, 66, 66, 66, 62, 33,132,124,226,232,232, 24, 88, 77,248,251, 6, 5, 5,
- 5, 16, 66, 2, 42, 35,192,119, 18,192,174,183, 5,243, 72,119, 51, 74,218,219,130,121,164,147, 0,118,181,213,179,143, 5,243,
-120,119, 51, 74,234,111,198, 56,226,202, 67, 19,250,102, 78,115,210,156, 52, 39, 45,180,254, 25, 66,139,238, 48, 52, 39,205, 73,
-115,210,156, 52, 39,205, 73,115,210, 66,171,102, 97, 85,253, 83, 53,195,198,162,207, 13, 13, 26, 52,104,208,160, 65,131,198, 95,
- 66,173, 1, 75,169, 58, 84,105, 99, 28,219, 63, 68,217, 70,211,156, 52, 39,205, 73,115,210,156, 52, 39,205,249,175,227,172,143,
-251,255,122, 97,221,223, 26,180, 89,149,230,164, 57,105, 78,154,147,230,164, 57,105,206,127, 45, 24,244, 41,160, 65,131, 6, 13,
- 26, 52,104,208,248, 75,240,123,251,253,126,224,210,154,125,180, 88,157,214,230,235,245,122, 59, 0, 96,177, 88, 18,221,195,213,
- 14,117,177,179,129,126,250,138,244, 59, 96, 1,179,244,192,229, 26, 56, 47,235,245,122,203,183,156, 37,186,135,171, 7,213,201,
-217,105,237,197,234,229,245, 15, 87, 15,120,191, 12, 1,152,236, 78,107,115,222,171,171, 99, 67,207, 10,133,119, 98, 98,253,215,
-234,249,119,225,252, 55,131,221,121,109,190, 78, 87,209,143,216,108,150,164,252, 65,221,253,136,211,121,109, 78,245,242,186, 7,
-171,237,235,226, 20,152,240,138, 60,156,108,183,214,197,153,154, 83,184, 68, 89,166,182,174,139,179,177, 99,211,197,193,161,159,
-225,237,216,100, 2,179,178,115,115, 47,255,143,245,165, 14, 0, 86, 3, 48,171,246, 91, 60,128,207,233, 94, 73,131, 6,141,191,
-153,208,138, 67, 69,158,195,159,223,138,173,159,107, 21, 90,122,189,222, 46,246, 84, 48,148, 26,160,223,148,181,118,238, 35,247,
-252, 41, 81,178, 94, 93,194,149, 62, 63,230,203,212,201, 44,109, 89,229,102, 57, 57, 57, 20, 0, 80, 20,245, 11, 0,215, 26, 56,
- 45, 99, 79, 5,163, 76, 11,248,143, 15,181,116, 5,204, 10, 56,156, 47, 76,132,194, 62, 42,149,170, 21, 0,152,152,152, 60, 87,
- 41,149,215,108,203,203,183,188, 95,190,182,150, 85,175,107,223,201,107,237,124, 70,238, 89,104, 48, 26,185,111, 30,237,246, 87,
- 23, 38,179,216,122,205,174,149,192,249,224, 26, 68, 85, 45,124,127, 28,247,227, 21,214,108,160, 47,151,207,111,107, 97,105,217,
-211, 72, 72, 11,163,209, 72, 25,244,250, 4, 89,105,233, 45,163, 94,255, 68,175, 85, 90,199, 70,126,107,172,171,158,239,183,229,
- 99,128,117, 10, 8, 20,138, 68,125,152,108,118, 55, 0, 48,232,116,119,149, 10,197,181, 81, 64,120, 67,218,222,208,243,243,161,
-229,255,109,208,233,244,118,105, 23,131,161,209, 1,126, 99,190,181,107, 51,241,215, 35, 0,160,149, 60,177, 87, 36, 71,118, 6,
- 0,161, 71,192, 3,158,216, 47, 31, 0, 88, 25,185,118, 47,163, 86, 65,163, 3, 90, 4,132,218,213,199, 57, 45,232,184,245,178,
-217,163,121, 0,112,233,228, 15,205,175, 70,252, 52, 4, 0,250,142,158,123,126,224,152, 5, 47, 1, 96,211,207, 17,214, 71,191,
- 29, 91, 39,103,195,198,102, 41,167, 52, 57,202, 83, 43,203,181,112, 17,178,196,201,201,201, 12, 0,112,116,116,108,208,216,116,
- 6,204,115,129,249, 12, 38,179,167,135,167,167, 31, 0,146,250,234, 85,156, 65,175,191,237, 0,236,250, 15,247,165,133,132,188,
- 27,156,149,162, 40,186, 67,210,160, 65,227,239,134,115,111,197,213,185, 63,189,204,214,182,135, 82, 3,220, 72, 1,122,117,105,
-131,217, 19, 63, 18, 85,223, 22,190, 39,212, 53,249,209, 25,159,125,191,110, 97,180,105,211, 6,105,105,105, 13,170, 69,153, 22,
-184,158, 12, 64,250,194,180, 68, 40,124,181,109,243,102,179, 1, 3, 6,176, 28, 29, 29, 65, 81, 20,242,242,242,186, 68, 71, 71,
-119, 88,188,120,241,167,144,190, 40, 41,211, 66,126, 61,185,126,222,202,186,182,106,222, 4,171, 23,140, 53, 7,128,149, 83,118,
-117,120,148,148,111,245,234,213,171,126, 95,125,245, 85, 17,243,218,181,159,108,128, 3,249, 64, 86, 67,234,121,232,236, 3,190,
-121,238,111,238,147, 22, 44, 56,233,233,233, 41,114,115,115,163, 76, 77, 77,193,100, 50, 81, 82, 82,226,250,236,217,179, 33, 15,
- 31, 62, 84, 70,223,248,133, 27,243,112,120,170,132,223, 89,221,160,182,171,114,248,151, 76, 77,159, 79, 30, 53,202,121,236,216,
-177,124, 15, 15, 15, 0,192,171, 87,175,188,194,195,195,199,159, 60,121, 50, 8,170, 28,125,153, 22,234,250,218, 94,197, 9,128,
- 15,116,179,176,179,155,196,100,179, 91,233,245,122,167,183,214,134, 55, 6,157,238,185, 84, 34, 57,252,126,121, 26,127,134, 70,
- 7,188,200, 5,250,247,244,195,228,209,253,133, 0,240,213,184,117, 93, 50, 94,167,112,180, 90, 45,154,123,183,232,254,205,183,
- 91, 47,130,193, 64, 88, 68,116, 85,249,134,112,198,191, 72, 67,240, 55,219,144,243, 52,188,139,161, 52,165,143, 92, 86,202, 4,
- 0, 51,115,243,209,225,199,126,187,230,232, 27,120, 63,165,176,188, 65,156,117,141,205, 11,199,118, 58,100, 63,187,214,242,199,
- 75,251,217,174,174,174,120,250,244,105,227,198,102,105,146,169,209,193, 33, 97,203,151, 95,138,253,253,253, 33, 18,137,192, 98,
-177,160,215,235,251,223,190,125,187,127,112,112,240, 92,148, 38, 41, 27, 58, 54, 27,128, 45, 20, 69,245,153, 54,123,161,195, 71,
- 35, 2, 49,122,112,119,186, 35,210,160, 65,227,239,134, 74,235, 85,245,149,135, 63,215, 41,180, 88, 44,150,100,192,212,245,118,
- 61, 59,183,198,163, 39, 47, 75,211, 51,115, 21,149,219,138,159,135, 55, 31,209,221,169,229,205,155, 55,160,209,104,112,247,238,
- 93, 60,121,242, 4,175, 95,191,198,156, 57,115, 52,111,167, 14,107,226, 44,241, 31, 31,106,137,210,100,145, 23, 55,169,105,116,
- 98, 34, 83,173, 86,227,230,205,155, 40, 41, 41, 1,151,203,133,179,179, 51, 6, 14, 28,200, 74, 76, 76,180,234, 55, 96,176,185,
-255,224, 9,105, 48,247, 82,176, 88,172,146,218,242,136,176, 88, 44, 73,191, 41,107,237, 90,122, 53,193,171,244,156,210,213,223,
-238, 83, 24,141,132,149,250, 58,163,252,198,141, 27,240,243,243,195,229,203,151,173,139,139,139,191,222,181,107,215,106,246,198,
- 31,183,235,180, 69, 75, 81, 59, 95,137,255,248, 80, 75,107,201, 9,183,171, 23, 78,115,158, 63,127,206,217,189,123, 55,138,138,
-138,192,229,114, 97, 97, 97, 1,177, 88,140,230,205,155, 83, 43, 87,174, 20, 5, 4, 60,199,103,179, 2,221,202,221,103, 38,213,
- 86,207,170,182, 43, 50, 4, 54,178, 75, 30, 17,231,206, 49,122,244,232,241,206,107,123,179,102,205, 48,104,208, 32,254,164, 73,
-147, 60,198,142,159,104,244, 31, 58,237, 21, 68,110,101,245,114, 42,179, 76,172,203,238, 57,246, 31, 63, 62, 50, 52, 52,212, 66,
- 44, 22, 67, 40, 20, 2, 0, 74, 75, 75,157,211,211,211,187, 4, 5, 5,141,121, 16,127,140,229, 31,144,149, 3,161,139,170,174,
-243,249,111, 5,155,205,146, 84, 90,145, 76,133, 38, 37, 89,217,249, 74, 0,208,106,181,208,106,181,208,104, 52,152, 55,119, 14,
-115,214,152, 78,158,110, 61, 23, 62,126,253, 38,191,184, 69,244,125,171,202,125,117,245,112,178,202, 94, 75,165,153, 87,102, 5,
-127,249,165,216,222,254,143, 25,193,176, 67,135,152,197,197,197,253,131,131,131, 91, 18, 65,111,105,139,128, 80,139,186, 56,235,
- 26,155,210,151,231,154,126,179, 96, 80,219, 61,223, 70,193, 96, 48,224,222,189,123,184,121,243, 38,182,110,221, 74,206,159, 63,
- 95,106, 38, 20,206, 66,157, 99, 51,201,180,135, 67,158,251,198,141, 39, 41, 30,143,135, 51,103,206, 32, 49, 49, 17, 12, 6, 3,
-109,218,180,193,228,201,147,209,191,127,127,241,236,217,115,136,255,224,113,169, 48,247,150,255,197,190,196, 0,176,112, 69,240,
- 70,135, 41, 51,231, 99,211, 55, 43,105,161, 69,131, 6,141,191,179, 53,171,214, 16, 15,136,138,138, 34,111, 63,189, 0,128, 0,
-140,102, 35,247, 28, 61, 17, 99, 60,215,108,228,158,163, 4, 96, 16,128, 97, 6, 52,105,215,174,157, 78, 42,149,146,135, 15, 31,
-146,121,243,230, 41,183,111,223,126,237,220,185,115,225,250,242,242,189,142, 14, 14,223,145, 90, 28,236, 9,192,112, 3,204, 5,
- 2, 65, 65,102,102, 38,249,253,247,223, 73, 72, 72, 8, 57,124,248, 48, 57,127,254, 60,137,142,142, 38,231,207,159, 39, 71,143,
- 30, 37,241,241,241,228,229,203,151, 68, 40, 20, 22,184, 1,230,117,112, 50, 9,192,108, 62,114,247,210,147,143,116,161,222, 35,
-247, 44, 38, 0,211, 18,240,105,215,174,157, 33, 60, 60,156,132,133,133,145, 95,127,253,149,196,199,199,147,194,194, 66,194,226,
- 9, 11, 42,247,171,173,158, 4, 96, 56, 57, 57, 21, 72,165, 82,226,226,226, 66,184, 92, 46,177,183,183, 39,205,155, 55, 39, 93,
-186,116, 33, 67,134, 12, 33, 19, 39, 78, 36, 95,127,253, 53,145, 74,165,132,207,231,231, 87,238, 87, 27,167, 31, 96, 34, 20, 10,
- 51, 99, 99, 99, 73,109, 80,169, 84,164,176,176,144, 92,188,120,145, 8,133,194, 76, 63,192,164, 46, 78, 19,160,189,175,175,111,
- 65, 97, 97, 33, 41, 47, 47, 39,153,153,153,228,217,179,103, 36, 49, 49,145,100,102,102, 18,149, 74, 85,197,253,242,229, 75,226,
-238,238, 94, 96, 2,180, 39,244, 34,136, 90,251,210,251, 31, 87,123,251, 33, 98,177, 88,117,242,228, 73,242,230,205, 27,114,240,
-224, 65,194, 0,214,189, 95,174, 46, 78, 46, 48,176, 71,143, 30,134,123,247,238,145,199,143, 31,147,229,203,151,147, 65,131, 6,
-145,193,131, 7,147,224,224, 96,146,157,157, 77,178,179,179,201,144, 33, 67, 12, 92, 96, 96,125,253,179,166,177,105, 14,184, 6,
- 4, 4,168,202,203,203, 73,106,106, 42,105,213,170, 85, 54, 19,152, 36, 4, 90,246, 2,120,245,245, 79, 39,192,210,193,193, 33,
-247,222,189,123, 36, 34, 34,130,184,185,185, 21, 48,129,105,102, 64, 51, 51,160, 25, 19,152,214,172, 89,179,130,123,247,238,145,
-162,162, 34,226,234,234,154,235, 4, 88,254,133,190,196, 0,176,127, 69,240, 70,146,148,173, 36, 43,130, 55, 18, 0,153,132, 16,
-130, 26,124, 60,105,208,160,241,207,199,251, 90,228,159,130,170,155,100, 64, 64, 0, 5,224,122, 93,133, 85, 76,230,250, 77,155,
- 54,177,212,106, 53,246,237,219, 39,255,120,204,152, 19,189,122,246, 76,109,234,230, 38,165, 24,140,122,179, 13, 23,240,120,139,
- 54,109,218,100,161,213,106, 17, 19, 19,131, 14, 29, 58, 64, 44, 22, 67, 36, 18, 65, 36, 18,193,206,206, 14,222,222,222,144, 72,
- 36, 48, 53, 53,197,178,101,203,204, 11,120,188, 69,245,241, 26,141,132, 5, 0, 6,163,145,203, 1,102,187,119,236, 24, 19, 20,
- 20,196,176,182,182,134,149,149, 21, 68, 34, 17, 18, 19, 19,161,213,106, 33, 48, 17, 52, 40, 72, 43,131,193, 96,136, 68, 34, 92,
-189,122, 21, 11, 23, 46, 68,183,110,221, 96, 97, 97, 1, 83, 83, 83,180,106,213, 10, 3, 7, 14,196,172, 89,179,144,154,154, 10,
-170, 1, 78, 37, 9, 44,214,252, 89,179,102,217,249,249,249,213,184, 93,173, 86, 67, 42,149,162,160,160, 0,206,206,206, 8, 12,
- 12,180, 75, 96,177,230,215,198,103, 13,136,157,189,188, 34, 31, 62,124,104, 35, 20, 10, 17, 22, 22,134,211,167, 79,227,194,133,
- 11,248,253,247,223, 17, 21, 21,133, 51,103,206,160,160,160, 0, 0,224,229,229,133,227,199,143,219,136,236,236,162,172, 1, 49,
- 61,164, 27,134,140,252,252, 75,173,242,242,108, 38, 77,156,120, 75,161, 80, 96,210,164, 73, 88,191, 97,195, 74, 54,176,184, 33,
-251,123, 3,230, 86, 14, 14, 7, 54,110,220,200,200,203,203,195,168, 81,163, 10,183,108,216, 48, 35,238,226, 69,143,216, 11, 23,
- 60,214,135,134,206,232,213,171, 87, 97,118,118, 54, 14, 29, 58,196,176,119,117, 61,224, 13,152, 55,182,158,114, 96,225,247,223,
-127,207, 87,171,213, 24, 48, 96, 64,170,241,249,115,111, 61,240,155, 2, 72,188, 14,148,215,183,127, 46, 48,127,217,178,101, 98,
- 30,143,135, 47,190,248,162,176, 44, 35,163,181, 30,248,181, 20, 72, 47, 5,210,245,192,175,242,180,180,214, 83,166, 76, 41,228,
-241,120,216,182,109,155, 56,247,143,164,219, 13, 69, 7, 0,145, 0,110, 0,200,153, 54,123,225, 52,191, 78, 93,113,104,239, 46,
-124, 27,250,213, 1, 0, 31, 83, 20,117, 24,192, 82,186,231,209,160,241,239, 68, 67,180,200,255, 40,106, 77,185,195,170,174, 36,
- 1,244,174,139,197,210,218,186, 67,235,214,173,113,243,230, 77,248,250,250, 62,180,176,176,208,115,120, 60,176,217,108, 16, 99,
-189, 58, 11, 38, 66, 97,191,254,253,251,179,238,223,191, 15,119,119,119,152,152,152,128,205,102,191,243,225,112, 56,112,112,112,
-128, 76, 38, 67,191,126,253,216, 59,118,236,232, 7,141,230,155,122, 31,136,201,207, 68, 5,247, 55, 78,252,229,224,129,102,254,
-254,254, 40, 45,149,193,104, 52, 66, 32, 16, 64,171,213,130,197, 98, 85, 76, 1,233,136,172, 33,103,204, 96, 48, 24,152, 76, 38,
-220,221,221,177,126,253,122,168,213,106,112, 56, 28, 0,128, 76, 38,131, 84, 42,197,179,103,207,144,158,158,142,183,111,225,117,
-194,212,220,252,163,177, 99,199,214,152,240, 87,163,209,160,180,180, 20,165,165,165,144, 74,165, 80,171,213,232,218,181, 43,247,
- 92, 84,212, 71, 40, 42,218, 82,227, 62,124,254,152, 67,135, 14,217,113,185, 92,168, 84, 42,200,229,114,100,101,101, 33, 35, 35,
- 67, 45,145, 72,244,166,166,166, 12, 55, 55, 55, 6,143,199,227,141, 28, 57,146,146,201,100,160, 40, 10, 1, 1, 1,214, 71,194,
-194,198, 66,171,221, 74, 15,233,134,225, 18,160,105,175,213, 14,235,220,169,211,213,135,143, 30,249, 45, 90,180, 8,241,241,241,
- 27, 5,199,142,221, 40, 3,158,212,181,111, 42, 48,255,187,106, 2,134,100,100,248,150, 3, 5,213,138,164,187,165,165, 93,152,
- 50,101,202,211,248,248,120,155,109,219,182,137, 63, 30, 53,106, 62,128,117,141,169,163,169,185,121, 71, 7, 7, 7,156, 63,127,
- 30,153,175, 95,127,165, 7, 84,141,122,227, 98, 50,123,248,251,251,227,204,153, 51,200,206,200,248, 74,255,110, 29, 43, 94,148,
-128, 2, 86,106,234, 87, 7, 14, 28,216, 63,125,250,116, 48, 89,172, 30,208, 55,106,226,240, 79,142,239,211,231, 44,194,129,159,
-119, 28, 0, 48, 19,128, 17,192, 67,186,199,209,160,241,239,182,106,213,167, 69,254, 70, 98,235,231, 70, 91,180,236,236,236,156,
- 68, 34, 17,114,114,114,208,194,199, 71,194,227,241,192,101,179,193,231,114, 27, 84,131,178,178, 50, 95, 71, 71, 71,148,150,150,
-194,198,198, 6, 28, 14,167,234,195,229,114,171,254, 54, 53, 53, 5,131,193,128,171,171, 43,202,202,202,124,235,229,205,127,102,
-119,108,199,220,121,247,110,156,111, 54,106,212,104, 88, 90, 90,193,197,197, 25,118,118,118, 48, 49, 49,129,139,139, 11, 60, 60,
- 60,200,150, 45, 91, 32,176,107,211,160, 27,121,117,241,196, 98,177, 96, 48, 24,144,159,159,143,164,164, 36,196,199,199,227,222,
-189,123,120,252,248, 49,228,114, 57, 26,160,179, 80,166, 82,181,101,177, 88, 53,138, 44,169, 84, 10,169, 84, 90, 37,180, 10, 10,
- 10,144,158,158, 14,133, 82,217,174, 14,209, 59,186,117,235,214, 76, 0, 48, 49, 49, 65,187,118,237,176,103,207, 30,253,217,211,
-167,199,181,188,119,207,202,229,226, 69,139, 95,118,239, 30, 23, 24, 24,104,184,127,255, 62,100, 50, 25, 94,188,120, 1, 91, 91,
- 91, 22,151,207, 31, 75, 15,231,198, 33, 22, 80,218,200,229,131,187,117,235,150, 86, 90, 90,138,205,155, 55, 51,216,166,166, 63,
-135,214, 50,197, 87, 5, 38,179,187,191,191, 63, 34, 35, 35,145,147,145,177, 60,163, 6, 1,147, 1, 20,100,166,166, 46, 63,112,
-224, 0, 6, 14, 28, 8,138,197,106,180,163, 82,151, 46, 93, 90, 27,141, 70, 60,125,250, 20, 22,192,131,198,238,239,225,233,233,
- 87,105,249, 21, 2,183,106, 43, 39, 4,110,197,197,197,193,196,196, 4, 45, 90,182,108,223,200,195,108,161, 40, 42,119,250,156,
- 69,136,184,112, 7, 0,112,224,231, 29,249,213, 68, 22, 13, 26, 52,104,139,214,223,213,162, 85, 41,172,170,127,240,142,208,106,
-160,248, 0, 0,176,217,108,112,121, 60,112,185,220, 10,129,196,227, 53,152,131,162, 40,240,249,252, 42, 97, 85, 93, 96, 85,255,
- 91, 32, 16, 52, 72,192, 0, 64, 73,202,133,158, 51,103, 76,231,242,120, 60,104,181, 26, 16, 66,192,227,241, 97, 97, 97, 1,119,
-119,119,200,100, 50,116,235,222, 75,147, 37,229, 68, 89,183, 24, 25,255, 33,103, 79,175,215, 67,169, 84,162,164,164, 4,197,197,
-197,144,201,100, 80,169, 84, 13, 94,138,110, 52, 26,153, 89, 89, 89,248,237,183,223, 80, 84, 84, 4,160,194,209,186, 82, 92, 85,
-126,167,165,165, 33, 44, 44, 12,175, 95,191,110,212,245,233,217,179, 39,162,162,162,152,189,251,245,219,123,217,205, 45,231,178,
-155, 91, 78,239,126,253,246, 70, 70, 70, 50,157,156,156,144,158,158,142,152,152, 24,148,148,148,128, 16, 66,175,159,255, 0,188,
- 2, 74,202,138,139,167,175, 92,185,146,136, 68, 34,108,254,238,187,182,235,128, 9, 13, 21, 48,230,117, 8, 24,243,191, 38, 96,
- 64, 8,129,209,104,132,193, 96,248,160,182, 81, 20, 69,177,217,236,198,134, 86,104, 76,225, 42,199,247,101, 95,175,199,239,103,
-194, 43,127, 79,166, 69, 22, 13, 26, 52,254, 1,168,213, 17,158, 85, 77, 65, 86,125,215,134,252,252,252, 55, 74,165,178,153,155,
-155, 27,178,179,179,237, 92, 93, 93, 51,184,108, 54, 56, 92, 46, 40, 70,253,154, 64, 32, 16, 60,205,201,201,233,238,228,228, 4,
-189, 94, 95, 37,170,222,159, 58,172,180,210, 60,126,252, 24, 2,129,224, 41,212,117, 70, 78,128, 65, 91,210,164,125,251,246, 85,
-150, 33, 11, 11, 11, 88, 88,152,131,199,227, 99,213,170, 85,198,109, 91,182,236,114,237, 27, 90,250,201,226,149,100,229,186,189,
-255,209, 51,219,208, 7,147, 64, 32,120,234,226,226,210,213,220,220, 28, 17, 17, 17, 72, 79, 79, 71, 73, 73, 9,202,202,202,160,
-209,104, 80, 86, 86, 6,173, 86, 11, 62,159,143,150, 45, 91,194,204,204, 12,209,209,209, 79,161,209,212, 44, 46,139,138, 34,158,
- 62,125,218,181, 83,167, 78, 85, 22,149, 62,125,250, 80,125,250,244,177,169,178,162,149,149,161,176,176, 16, 15, 31, 62, 68,116,
-116, 52, 40,148, 28,221,209, 0, 0, 32, 0, 73, 68, 65, 84,138, 66,114,114,178, 65,163, 82, 29,165,199,196,135, 65, 13,220,101,
- 30, 56,176,255,211, 79, 63,157,209,189,123,119, 24,128, 33, 0,194,254, 63, 10, 24, 0,192,189,123,247,158, 25, 12,134,238,205,
-155, 55,135, 20,232, 12,224, 76,163, 68,100, 74, 74,156, 94,175,239,215,182,109, 91, 68,156, 56,209, 19, 64,122, 77,229,148, 64,
- 79, 63, 63, 63,168, 84, 42,188, 72, 72,136,109,132,200,218,187, 34,120,227,180, 41, 51,231,227,208,222, 93, 56,240,243,142,172,
-253,123,182,187,160, 1,254, 99, 52,104,208,248, 87, 89,179,234,213, 34,255,163,152, 93,155,248, 98, 53,134,165,180,164, 36, 54,
- 46, 46,174, 89,251,246,237,177,119,239,222, 78,221,186,118,125,195,225,114,245, 92, 14, 7,140, 6, 60, 72, 84, 74,229,149, 43,
- 87,174,116, 30, 57,114, 36,235,254,253,251, 16,139,197, 85, 66,171,242,155,197, 98,129, 16, 2,129, 64,128, 83,167, 78,149,171,
-148,202, 43,245, 90,139, 12, 70, 3,227,173,208, 35,132, 64, 42,149,130,195,225, 96,235,214,109,216,185,101,203, 68, 3, 16,238,
- 37,180,253, 18, 0,255,255,219, 3,186,172,236,234,239,191,255,222, 33, 40, 40,136,237,236,236, 12,169, 84,138,146,146, 18, 20,
- 21, 21, 65, 38,147, 65, 38,147,161,164,164, 4, 82,169, 20,124, 62, 31,241,241,241, 58,117, 89,217,213,218,248,120,106,245,201,
-169, 83,167, 46,139,139,139,115, 96,177, 88,208,233,116, 48, 26,141, 48, 26,141, 40, 47, 47, 71, 74, 74, 10,158, 63,127,142,196,
-196, 68, 20, 23, 23,131,205,102,131,201,100,226,241,227,199, 37, 66,157,238,132,150, 30,211, 31, 12, 54, 16,113,251,246,237, 25,
-147, 39, 79,134,163,179,115, 47,100,103, 55, 72,192,156,174, 67,192,148,126,152,128,249, 67, 0,201,229,143,210,210,210,186,247,
-238,221, 27, 14,206,206, 27, 91,102,103, 95, 78,104,132,159,150, 65,175,191,117,251,246,237,126, 83,166, 76,193,222,189,123, 55,
-218,166,165, 93, 40,120,111,154,211, 22,176,109,234,225,177,113,218,180,105,184,116,233, 18, 12,122,253,173, 58, 40,171, 71,124,
-111, 50,109,246, 66,151,247, 28,223,247, 80, 20,181, 0,192,102,186, 71,209,160, 65,227,159,108,209,106,212,212,161,137,193,176,
- 98,233,210,165, 58, 6,131,129,209,163, 71,155,158,137,140, 12,124,252,228,137,187, 68, 34,177, 48, 24, 12,245,114,217,106, 52,
-219,151, 46, 93, 42,213,106,181,240,246,246, 70,113,113, 49, 12, 6, 3, 88, 44, 22, 88, 44, 22, 40,138, 2,131,193,128, 72, 36,
- 66, 92, 92, 28,246,239,223, 47,179,213,104,182,215,251,144, 48, 24,158,134,133,133,129,201,100, 18, 62,159, 15,138,162,192, 98,
-177,176,109,219, 54,201, 78, 32, 2, 0,152, 12,134, 22, 0, 24, 12,170,161,222,187,245,206, 91,114,185, 92, 24, 43, 22, 1,212,
- 91,214, 82,163,249,126,211,166, 77,242, 23, 47, 94, 64,169, 84, 86, 89,223, 20, 10, 69,149,115,189, 84, 42, 5, 69, 81, 80, 42,
-149,136,140,140,148, 91,106, 52,223,215,198, 87, 4,228,101, 39, 39, 15,239,212,169, 83, 81, 90, 90, 26, 74, 75, 75,241,244,233,
- 83, 68, 71, 71,227,248,241,227,184,116,233, 18, 82, 82, 82,160,215,235,225,228,228, 4, 66, 8, 78,159, 62, 93,170,151,203,135,
- 20, 1,121,244,152,168, 29, 77,196,226,126,246,118,118,153,182, 54, 54,217, 77,196,226,126,239,111, 55, 7, 94,190,124,249, 18,
-122,189, 30,238,238,238, 86,117,249,105, 17,189,254,246,237,219,183, 49,101,202, 20,184, 52,107,182,193, 13,176,125,191,140, 27,
- 96,235,230,225,177,161, 82,192, 16,189,254,118, 99,235,108, 10,236,248,242,203, 47, 85, 28, 14, 7,199,142, 29,115,215,121,122,
- 38,178,128, 9, 34,192,167, 55,192,169,111,127, 7, 96,215,215, 95,127,157, 71, 81, 20, 14, 31, 62,108, 99,238,225,241,140, 5,
- 76, 53, 7,154,152, 3, 77, 88,192, 84,115, 15,143,103,199,142, 29,179,209,235,245, 88,188,120,113,158, 3,176,171, 14,202,133,
-132,144, 97,132, 16,127, 66,136,203,254, 61,219,241,251,153,240, 74,145, 53, 19, 21, 78,239,147, 1, 60,163,123, 28, 13, 26, 52,
-254,201,168,209, 12,197,234,180, 54, 31, 32,118,189,186,180,193,163, 39, 73,165, 54,150,102, 23, 43,183, 21, 63, 15,111,222,215,
-215,172,205,143, 63,254, 8, 54,155,141,172,172, 44, 36, 36, 36,192,204,204, 12, 19, 39, 78,212,168,228,242,225,213,114, 29,246,
- 7, 16,253,150,179, 34,159, 90,105,178,200,131, 21,223,236,194,239, 81, 76,115,115,115, 40, 20, 10, 48, 24, 12,240,249,124, 8,
- 4, 2,152,152,152, 32, 38, 38, 6, 67,135,141, 48, 20, 8,252,255, 8, 88,250, 71, 62,181, 42,206,202, 88, 67,157, 1, 65, 28,
-240,133,157,163,227,210,213,171, 87,155, 12, 26, 52, 8, 28, 14, 7,206, 77,188,242,220, 7,111,222,193, 96, 80,250,236, 34,217,
- 42,143, 38,142,230, 9,201,233, 0, 40,137,238,225,106,199,106,185, 14,255, 84, 79, 87,237, 13,247, 83,191,110, 49,107,215,174,
-194, 31, 93, 42,149, 34, 63, 63, 31, 18,137, 4, 82,169, 20, 74,165, 18, 0, 16, 21, 21,133,223,111, 38,202, 84,206,129,169,181,
-213,243,143,182, 39,153, 58,150, 63,104,122, 36,236, 87,166,173,173, 45,242,243,243, 81, 80, 80, 0,169, 84, 10,149, 74, 5,131,
-193,128,226,226, 98,236, 59,240,171,161, 72,228,255,186, 42, 32,100, 93,156,202, 44, 19, 43,197, 29, 39,191,150,110,100,198,140,
- 25,166,102,102,102, 48, 26,141, 40, 41, 41, 65,102,102, 38,210,210,210,112,243,230, 77,165, 68,170,133,210,102, 64,118, 85,192,
-210, 26, 56,255,131,248,219,113, 86,143, 91,229,232,224,144,147,145,145, 97,103, 48, 24,224,228,228,164,151, 22, 23,111,224, 2,
-151, 76,129, 92, 0,164, 16, 88,253,253,142, 29,211, 71,140, 24,129,142, 29, 59,102,229,229,231, 55,173,169, 47, 17,128,233, 13,
-152,151, 57, 59, 63,127,248,240,161, 56, 51, 51, 19, 83,166, 76, 41,204,120,245,106,121,165,191, 86, 41,208,211,205,195, 99,195,
-177, 99,199,108,154, 53,107, 6, 95, 95,223, 60,126,102,102,171, 36,160,180,150,254, 89,235,216,148,190, 60,215,116,238,168,214,
- 29,231,205,155, 7,189, 94,143,155, 55,111,226,193,131, 7,200,200,200,192,157, 59,119,164,102, 66,225,184,106,185, 14,107,236,
-159, 67,188,148,238,135, 15,135, 81, 28, 14, 7, 7, 14, 28, 64, 92, 92, 28, 0,192,207,207, 15,211,166, 77,131, 94,175,199,164,
- 73,147,201,185, 36,147,212,186,250, 39,128,214, 0,190, 67,133,200,235, 72, 8,225, 83, 20,149, 3,192, 5,141,243,201,162,251,
- 39,205, 73,115,254,123, 56,255,145,168, 55,215,225,218,159, 96,254,110,154,143, 89, 57,225,123, 66, 89, 61,122,250,251,132,134,
- 4, 51, 58,117,234, 4, 23, 23, 23,248,249,249, 33, 51, 51,147,103, 97, 97, 81, 95, 62, 53,133,255,224, 9,105,109,218,180,177,
- 88,190,124,185,249,192,129, 3,217, 46, 46, 46, 32,132, 32, 46, 46, 14, 17, 17, 17,229,123,247,238,149,149,217, 15,147,198, 94,
-251, 77,209,144,124,106, 15,128, 50, 0,107,156,115,114,126,158, 63,119,110,112,187,246,237,103,132,132,132, 48, 68, 2, 19,246,
-250, 85, 51,249, 0,176,246,135,227,230, 35, 2, 39,226,123, 79,160,215,132,154,243,200, 85,175,103,102,246,172,140,143, 70,245,
-243,252, 98,193,116,195,216,177, 99,133,102,102,102,112,113,113,129,165,165, 37, 82, 83, 83,145,157,157, 77,206,158, 61,171,184,
-247,248, 37,251,244,165, 71, 25,124,115,135,134,228, 37,148,251, 15,250,248,245, 71, 31,125,100, 57,117,234, 84,211, 14, 29, 58,
-176,121, 60, 30,120, 60, 30,242,243,243,145,146,146, 82,126,246,236, 89, 69,153,221,144,146,216,107,199,228, 13,204,117,168,242,
- 31, 31,154,114,235,114,200,226,231, 79,159, 78, 54, 2,109,203,203,203,157, 12, 6, 3,197, 96, 48,114,141, 70,227,211,114,185,
-124,191,198, 47,100, 27,157,235,176, 97, 48, 24, 12, 28,131,193, 0,169, 84,138,203,151, 47,179, 94,189,122,181,250,201,147, 39,
-171,115,114,114,160,211,233, 48,102,204, 24,248,249,249,225,218,181,107, 40,200,207, 63, 91, 23, 87, 18, 80,202,203,206,158, 54,
-107,214,172,243, 97, 97, 97,140, 39, 79,158,216, 28, 56,112, 96, 95, 77, 2,102,242,228,201,198,252,204,204,105, 26,160,180,142,
-254, 89,215,216, 44,188,112,108,231,147,145,163, 3, 91,134, 4,173,102,119,235,214, 13, 54, 54, 54,232,217,179, 39,202,203,203,
- 45, 90,180,104, 81,223,216,148,251, 15, 30,151,218,182,109, 91,225,182,109,219,196,211,167, 79,199,130, 5, 11, 0, 0, 42,149,
- 10,151, 46, 93,194,226,197,139,243, 50, 89,157,149,245,245,207,183,150,170, 74, 1,118, 3,128, 63,128, 84,208,142,239, 52,104,
-208,248,103,162, 50,169,180, 3, 42, 18, 75,159, 67,197,203,121,253,185, 14,111, 61,120,134,234,105, 62, 42,224,144,160,119,157,
-250,106,206,210, 13,190, 76,157,204,146, 77,169,205,146, 95,190,164,234,203,121, 88,149, 79,205,220, 75, 97,157,118,180,211,250,
-181,107, 23,125,255,253,247,253, 42, 67, 56, 8, 4,130,167, 42,165,242,138,173, 70,179,189,204,220,235, 74, 99,115,243,101, 3,
-249, 0,230, 90,198,198,238, 8, 24, 49,102, 19,223,202,157,189,114,221, 94, 53,147,193,208,166,228, 20,224,123, 79, 64,216,128,
- 5,146,101, 90,224,185,212, 65,159,111, 29,152,244,245,151, 95,126,177,118,205,154, 78, 34,145,168, 87,185, 94,239,101, 52, 26,
- 1,163, 49,185, 76,169,188, 65,202,203, 31,106,252,130,182,240,205, 29, 72,131,243, 18, 90,180,144, 91,189, 14,239,116,112,255,
-254,133, 39, 78,156,248, 83,219,173, 53,154, 29,101, 22, 45,162, 27,210,246,234,101,212,192, 93, 72, 36,119,235, 50, 93,210,185,
- 14, 27,248,246, 97, 52,206,182,180,180, 60,212,175, 95, 63,126,255,254,253, 49,116,232, 80,116,235,214, 13, 70,163, 17,132, 16,
-200,229,114, 28, 63,126, 28,155, 54,109, 74,110, 10,172,169,143, 79, 3, 92,225,253,254,251,144,182,109,219, 30,168, 75,192,188,
- 21, 89,245,250, 36,214, 61, 54,121,201,122,243,225,233,227,231,175,247,212,202,114, 45,172, 5,122,241,243,103, 79, 25, 13, 31,
-155,222,114, 67,220,241,206, 99, 70,141,154,207,100,177,122,190, 93, 1, 73, 94, 36, 36,196, 86, 38,149,134,223,180,203,141,236,
- 75,149,177,235,104,199,119, 26, 52,104,252,211,133,214, 80, 84,248,107, 85,165,228,169, 53,215, 97,165,213,135,197, 98, 73, 82,
- 79,207,153, 88, 23, 59, 27,232,247,214,146,133,122,115, 29,190,253, 59, 29,144, 67,163,249,230,157, 96,164,213, 86, 23,178,223,
- 43,223,152,176,136, 37, 64, 18,244,154, 0, 72, 18,128,200,185, 21,124,157,214,126, 85,189, 77,181, 62,100,223, 57, 46,167, 88,
- 13,220,130, 66,113, 11, 10, 69,141, 78,187,108, 22,167,184,190,122,190,223,246, 76, 64,246, 87,219,254, 62,103,189,226,225, 47,
-156,207,127, 27,222, 20, 22,158, 6, 32,114,142,138,178,191, 16, 21, 53,246,139, 37, 75,198, 56, 56, 58,122,216,216,216, 88,154,
-154,154, 50,238,223,191,159,166, 87,171,119,180, 3, 14,190,181,166,214, 11, 13,112,197, 59, 51,179,213,199,163, 70,205,167, 88,
-172, 30,213, 5, 12,209,235,239,184, 3,187,234,178,100,125,232,216,116,225, 57,244,123,107,201, 2, 19,152,213,144,190,145, 93,
- 81,143,117,208,235,215, 33, 62,190,134, 62,223,232,190,180,150,162, 40, 57,104,199,119, 26, 52,104,252,115, 81,153,239,240,220,
-255,245,129,251,211,156, 52,231, 63,136,147,137,138, 85,116,244,249,164, 57,105, 78,154,147,230,164,209, 32,176,232, 83, 64,131,
- 70,131, 97,192, 31,211, 96, 52,104,208,160, 65,131, 70, 37, 42,125,179,170,227,103,160,194,117,167, 54, 85,218,152,213, 4, 31,
-162,108,163,105, 78,154,147,230,164, 57,105, 78,154,147,230,252,215,113,214,199,253,119, 92,205, 88,233,147, 85,229,155,245,127,
- 5,218,172, 74,115,210,156, 52, 39,205, 73,115,210,156, 52,231, 63, 29, 14,111, 69, 86,245, 15,128, 70, 6, 44,165, 65,131, 6,
-141,127, 42, 66, 66,192, 32, 4, 20, 33, 33, 12, 66, 78, 48, 9, 9,100, 18,130,191,148, 10, 36, 48,176,230, 96,182,159, 77,180,
- 52,165,207, 56, 13, 26,255, 40,228,162,150,164,210,180,143,214,255, 95,184,138,197,226, 61, 0,168,188,188,188,217, 0, 50,233,
- 83,242,191, 7, 43, 43,171,126,122,189, 30, 50,153,236,202, 63,177,125, 45, 61, 48,138, 48,208,162,234, 7,130,204, 23, 41, 56,
- 84, 83,217, 22,158,152, 2,234,143, 88, 92,148, 17, 47, 18, 94,225, 84, 35, 14,199, 24,210,223,101, 23, 0,156,143,206,154,143,
-255, 78, 92,173,230,182,182,182, 23, 89, 44, 22,203, 96, 48,204,149, 72, 36, 81,181, 11,161, 64, 38, 0,176,201,181, 21,210, 60,
-187,229,159,127, 74,177,203, 52,251,165, 26,149,178,148,201,102,190,230,177,197,183,231, 76,103,156, 47, 81,116, 77,168,105,255,
-240,240,240, 90,179,120,183,242,196, 16,134,161,229, 48,191,214,105,169,223,109,239,244,125, 47,119, 27,118, 90,214, 99,209,198,
-221,165,123,184, 22,110,195,166,140,165,162, 88, 2,106,242,254,253, 69, 10,122,148, 53, 28,235, 1,171,114,192,151,205,227,185,
- 24,244,122,123, 10, 32, 76, 22, 43, 95,167,209,100,113,128,248, 21,128,244,159,206,201,225,241,156, 13,122,189, 61, 0,252, 47,
-214,147,198,187,168, 85,104,137, 68,162, 24, 6,131,225, 92, 61, 25,110,101, 62,193,202,223,170,111,163, 40, 10, 6,131, 33,187,
-164,164,164, 67, 35,142,111, 6, 96, 44,128,202, 37,234, 71, 0, 28,199,135, 59, 28,155,113, 56,156,165, 66,161,176,175, 74,165,
-106, 5, 0, 38, 38, 38,207,149, 74,229,213,242,242,242,239, 62,144,151, 5,224, 99,145, 72,212,135,193, 96,244, 33,132, 80,132,
-144,107, 10,133,226, 42,128, 19, 0, 62, 36, 82,130,137,157,157,221, 58, 43, 43,171, 9, 43, 86,172, 40,178,182,182,246, 94,188,
-120,241,163,226,226,226,223, 10, 11, 11, 87,161, 17, 57,234,254,203,240, 16,139,197, 71,216,108, 54, 51, 43, 43,171, 15, 0,184,
-184,184, 92,211,106,181, 6,137, 68, 50, 17,192,171, 70,242, 9, 1,116, 17,137, 68, 29, 68, 34,145,191,193, 96,104,241, 54, 63,
-227, 11,133, 66,113,179,188,188, 60, 6,192,125, 0,202,255,161, 49, 98,202, 98,177,194,222,246,117, 47, 0,242,127,218, 77,128,
- 48,208, 34,225,121,162,119,149,240,106,229, 83,123, 97, 10,174, 53,148,109,176,208,234,219,203, 97,216,240,225, 3, 24, 0,160,
-213,157, 31,118,245, 70,238,153,255,112,115,154,143, 30, 61,250,110, 88, 88,152,165, 70,163,193,236,217,179,143, 68, 71, 71,239,
-146,201,100, 43,234,188,113,136, 44, 23,111,222,118, 73, 64, 81, 12, 0,176, 51, 26, 13,118,111,222,188,242, 74,120,118,119,240,
-243,231,247,214,171, 18,175,222, 55, 82,236, 57,229,232,153,216,144, 74,180,112, 71,192,176, 49,163,134,174, 89, 19,130, 9,227,
- 38, 52,121,254, 92,109,226,100,150,202, 45, 86, 9, 61,173,109,237,134,175, 89, 27, 78,221,190,117,122,120,216,129,208,171,211,
-167, 91,247,165,197, 86,131, 64,173,101,177,186,152,123,122,250,143, 59,125, 26, 34, 23, 23, 22,139,199, 99, 0,128, 94,163,113,
- 81,100,101, 57, 28, 27, 62,188,115,200,203,151,215, 67,128, 7, 52,231,255, 23, 78, 26,141, 17, 90, 12, 6,195,249,205,155, 55,
-118, 66,161,176,226,102, 76, 8, 12, 6, 3, 12, 6, 67, 85,242, 98, 66, 72,213,183, 94,175,135,143,143, 79,131,222,104, 1,244,
- 5,240, 73,239,222,189, 3,191,251,238, 59,182,175,175,111,101,202,144,158, 43, 87,174,252, 33, 46, 46,238, 36,128,131,168, 8,
-222,216,208, 55,222, 65, 66,161,240,240,230,205,155,205, 6, 12, 24,192,114,116,116, 4, 69, 81,200,203,203,235, 18, 29, 29,221,
- 97,241,226,197,115,149, 74,229, 36, 0, 23, 27,113,126, 90,155,154,154,134,143, 26, 53,202,185, 87,175, 94,252,150, 45, 91,194,
- 96, 48,224,241,227,199,211, 99, 98, 98,198,159, 60,121, 50, 88, 46,151, 7,162,225,249,218, 40,145, 72, 52,213,204,204,108, 93,
- 80, 80,144,213,164, 73,147,184,207,158, 61, 43,113,119,119,167,110,223,190,109,123,252,248,241,185, 27, 54,108,248, 88, 38,147,
-173, 82, 40, 20,191,162, 1, 57, 20, 77, 77, 77, 99, 24, 12,134,115, 67,132, 48,128,198,136,225,118, 77,155, 54, 61,126,235,214,
-173,166,233,233,233,134,145, 35, 71, 30, 2,128,171, 87,175,250,234,116, 58,106,224,192,129,231,179,179,179,199, 2,120,220,192,
-182,183,177,178,178, 58, 51, 97,194, 4, 43, 15, 15, 15, 65,211,166, 77, 41,161, 80, 8, 38,147,137,210,210, 82,199,103,207,158,
-245,127,240,224,129, 42, 58, 58,186, 88,163,209, 12, 7, 16,223,136,235,212,205,206,206,110, 50,155,205,110,173,215,235,157, 0,
-128,197, 98,189,209,233,116,207, 36, 18, 73, 24,128,187, 31, 58, 64,236,237,237,119,174, 91,183,206, 70, 34,145,144, 13, 27, 54,
-236,148,203,229, 83,255,169, 55,131, 35,191,157, 64,204,163, 7, 64, 69,218, 28,170,134,254, 71, 1,224,124,254,249, 18,116,232,
-216, 25, 19, 39,124, 92, 47,231, 71,253,156, 55,179,185, 28,107,181, 90,125,183,180, 76,115, 66, 40,224,143,157, 48, 62, 32, 25,
- 0,206, 95,184, 62,182, 83, 39,203,107,230, 2,222,199,124, 62,191,155, 78, 91, 94,244,251,149,236, 47, 27, 35,170,156,156,156,
- 46, 90, 90, 90, 10,138,139,139,243, 10, 10, 10,126, 26, 54,108,216,218,131, 7, 15, 90,166,165,165, 33, 43, 43, 11,139, 22, 45,
- 18,101,103,103,207,143,143,143,191,167,213,106,107,181,108,201,229,197,219, 87, 46, 31, 17,100,110,110,195, 20, 10,204, 96,106,
-110, 5,119,143,182,232,210,109, 24,134, 12,157,129,148,228,184, 46, 7, 15,172,137,123,243, 38,250, 91,145, 85,179,181, 82,105,
-211, 90,239, 75, 45,155,163,215,240, 81, 21, 34, 43, 40, 40, 4, 47, 19, 19,229,233,175, 25,159,157, 59,205, 18, 12,233,231,195,
-211,107,243,210,111,223, 58,221,180, 71,207,145, 0,208, 33,236, 64,232,213,207, 38, 90,246,219,121,164, 68, 78, 63,146,106,191,
-119,174, 97,179,167, 14,218,182,205,206,111,238, 92,142,226,245,235,242,212,221,187,203,242,111,222, 52,176,120, 60,226, 50,120,
- 48,101,219,167, 15,127,238,139, 23,156, 59, 27, 54,248,179, 67, 67,221, 87,149,151, 31,166, 57,255, 79, 57,255,237,168,116,130,
-175,190,250,240,231, 58,133, 22, 69, 81, 16, 10,133, 56,118,236, 24,216,108, 54, 88, 44, 22,216,108,118,173,127,187,186,186, 54,
-164, 34,163,197, 98,241, 15,187,118,237,178, 31, 52,104, 16,248,124,126,213, 6, 38,147,137, 1, 3, 6,160,127,255,254,236,156,
-156,156,241,199,142, 29, 27,191,126,253,250,124,169, 84,186, 0,111, 19, 67,215,129, 62,222,222,222, 17,151, 46, 93, 50, 81,171,
-213,184,121,243, 38, 74, 74, 74,192,229,114,225,236,236,140,129, 3, 7,178, 18, 19, 19,173, 6, 12, 24, 16,241,242,229,203, 0,
- 0,215, 26, 80,215, 14,118,118,118, 55, 78,156, 56,193,111,219,182, 45,149,146,146, 2, 63, 63, 63, 0, 64,105,105, 41, 70,142,
- 28,201,159, 52,105,146,199,248,241,227,239, 75, 36,146, 94, 0, 98,234,225,107, 47, 22,139,127, 29, 53,106,148,227,250,245,235,
-205, 76, 77, 77,145,158,158,158, 43, 22,139,189, 42,207,247,248,241,227,185,195,134, 13,115,216,180,105,211,246,240,240,240, 47,
- 37, 18,201, 84, 0,177,117,170,214,183,130, 88, 32, 16, 32, 63, 63, 31, 71,142, 28,193,252,249,243,193,100, 50, 33,145, 72,112,
-252,248,113,124,246,217,103,149,130,166, 65, 98, 88, 32, 16,244,247,244,244,220,119,245,234, 85,103, 11, 11, 11, 56, 58, 58, 50,
-190,254,250,235,214,238,238,238, 38, 77,154, 52, 97,230,230,230, 34, 34, 34,194,125,242,228,201,103, 50, 51, 51,167,107, 52,154,
-122,167,212,236,237,237,247,159, 59,119,206,245,249,243,231,216,189,123, 55,138,139,139,193,229,114, 97, 97, 97, 1,177, 88, 12,
- 47, 47, 47,106,249,242,229,130, 97,195,134, 9, 22, 44, 88,176, 95,171,213,182,107,192, 53,106,107,103,103,183,167, 79,159, 62,
-238,161,161,161, 22, 98,177, 24,149, 47, 6,165,165,165,206,233,233,233, 93,130,130,130, 2, 99, 98, 98,210, 36, 18,201, 28, 0,
- 79, 26, 57,112,218,181,108,217, 50, 96,228,200,145,204,220,220, 92,132,133,133, 5,200,229,242,118,141, 16,151,127, 43,196, 60,
-122,128,217,243, 22, 41, 28, 93, 92, 56,151, 46,238, 27, 29,126,170,249, 35, 11,147,138,132,212, 82, 21,202, 3, 71,189,236, 56,
-112,208, 12,206, 71, 67, 71, 42,126,254,113,187,168, 33, 66,139,205,229, 88, 31, 57,188, 53,243,214,237,152,214,151,163, 31, 12,
- 30, 61,124, 56,225,112, 44,220, 1,224,203,197,159,179, 35, 34, 35, 15, 12,232,223, 57,167,103,143, 14,153, 19, 39, 45,113,109,
- 68,117,155, 55,111,222,252,122, 92, 92,156, 61,143,199, 67,113,113,177,245,207, 63,255,188,181, 71,143, 30,140,212,212, 84, 36,
- 38, 38,226,245,235,215, 40, 45, 45,197,128, 1, 3, 68,177,177,177, 63, 1,168, 85,104,149, 51,250,174,115,108,162,219, 97,109,
- 34,108, 90,110,144,217, 17, 93,110,203,203,231, 46,183, 57, 26,166,242,179,119,240,241,250,100, 90, 48,214,172, 61,201,254,237,
-200,198,160, 43,209, 71, 1, 70,211,218, 51, 2, 16,116, 91,185,106, 5,100,114, 13, 38, 77,152,133,201, 19,102, 89, 19,104, 29,
-136, 65, 45,212,170, 74, 44, 76, 57, 47,162,118,237,221, 58, 10,128,115, 53,177,117,133, 22, 91,181, 99, 13,139,213, 57,224,135,
- 31,108, 91,207,156,201,123, 18, 26,170, 44,188,121, 83,229,249,209, 71, 37,126,159,126,170, 1, 0,249,235,215,156,151,193,193,
- 2, 91,127,127,147,174, 75,151, 90, 26,180, 90,241,154, 53,107, 58, 5, 85, 36, 47,111, 20,167,235,216,177,134,160, 3, 7, 58,
-222, 92,178,164, 55,165,211, 49, 7,119,237,250,120, 67, 88,216,155,191,194,249,159,172,103,206,141, 27,154, 98,119,119,248,141,
- 28, 89,228,106,103,167,249, 79,182,253,175,212,147, 70, 21, 42,125,181,102, 87,127, 67, 69, 84, 84, 84, 47, 0,215, 1,132, 6,
- 4, 4,132, 0,128,185,185,121,190, 84, 42,181,139,136,136,168, 87,100,177,217,108, 56, 56, 56,192,203,203, 75, 34,145, 72,236,
-235,168, 64,150,209,104,116, 38,132, 84, 89, 95,106,131, 70,163, 65,114,114, 50,218,180,105,147,141,138, 68,180,181, 26,117, 4,
- 2, 65,106, 98, 98,162, 77, 66, 66, 2, 98, 98, 98,224,238,238, 14, 75, 75, 75,176,217,108,232,116, 58,200,100, 50,120,123,123,
-131,199,227,161,125,251,246,133, 74,165,210,189,158, 41, 32,158, 80, 40, 76,190,113,227,134,139,159,159, 31, 30, 62,124, 8, 23,
- 23, 23,136,197, 98, 0,192,235,215,175,113,251,246,109,124,244,209, 71,136,139,139,195,152, 49, 99,178,148, 74,165, 23, 0, 77,
-109,132, 86, 86, 86,185, 87,175, 94,205,246,245,245, 85, 43,149, 74, 70,126,126, 62,251,230,205,155,122,185, 92, 46, 42, 45, 45,
-101, 75,165, 82,182, 76, 38, 99, 41,149, 74, 54,131,193,224,168, 84, 42,246,149, 43, 87,152,229,229,229,117, 6,200,172,188, 78,
-145,145,145,240,245,245, 69, 68, 68, 4,190,248,226, 11,220,185,115, 7, 46, 46, 46, 56,113,226, 4,150, 46, 93,138,164,164, 36,
-216,216,216,160,101,203,150,245, 93, 35,120,120,120,164, 60,125,250,212,131,195,225, 84,230,117,172,204,151,135,130,130, 2,188,
-122,245, 10,111,222,188,129,167,167, 39, 38, 76,152,240,234,205,155, 55,158,245,245, 60, 39, 39,167,130,231,207,159,219,180,105,
-211, 6,249,249,249,176,176,176,128,185,185, 57, 44, 44, 44,170,254,118,119,119,199,146, 37, 75, 32, 22,139, 37,106,181,218,190,
- 62, 17,228,235,235,123,241,202,149, 43, 54,102,102,102,200,203,203,131, 76, 38, 3,139,197,130, 64, 32,128,141,141, 77,149,144,
- 79, 78, 78,198,208,161, 67, 11, 83, 83, 83, 7, 53, 66, 36, 49,236,237,237, 19,227,227,227,189, 8, 33,200,204,204, 68, 82, 82,
- 18,230,205,155,151,172, 86,171,125,240, 15,202,217, 87,205,239,138, 51,117,218,108,206,168, 17,221,180, 47,158, 71, 81, 60, 99,
- 18,218,181, 54, 43, 5,128,199,207,100,230, 26,134, 55, 90,180, 10, 32,167,206,220,229,254,122,240,103, 54,140,176, 7,133,164,
- 23,201,248,166, 54,238,129,125, 28,102,126,254,249,244,214,189,123,244, 98,200,149, 74,187,159,126,218,214, 62, 53,245,133, 29,
- 0,184,187,183,144,204,157,187, 56,214, 84, 40,148, 92,191,125,195,248,253,247,251,159, 93,186,150,187,183, 1, 85,118,247,242,
-242,186, 23, 25, 25,105, 99,103,103, 7,115,115,115, 40,149, 74,148,151,151, 35, 33, 33, 65,125,236,216, 49,157,153,153,153,105,
- 94, 94, 30,164, 82, 41, 40,138, 66,100,100,100, 38, 0,183,247,137, 42,125,180, 0, 96,222,144, 22,236,150,125,189, 44, 57, 60,
-189,137, 9,251,165, 3, 40, 3,143, 34, 34,251,243, 23, 31,183, 57,127,249,225,196, 81,163,191,176,237,217,107, 20,130, 86, 7,
-234,114,114, 50,253,202,209, 51,177, 38, 31, 45, 31, 79,244, 29, 57,102,212,199,107,214,132, 32, 36, 40, 20, 81,145,167, 75, 69,
- 66,134,198,204,130,109,238,223,165,187,122,201,252, 17, 89, 10, 69,142,203,154, 77,199, 38, 12, 29,177,196,185, 71,207,145,184,
-125,235, 52,194, 14,132,198, 80, 38,132,158, 70,124, 15, 33,128,165,133,187,251,156,133,201,201,156, 39, 33, 33, 10,125, 78, 78,
- 73,135,197,139, 11,107, 42,155,125,249,178,144,235,232,104,102, 57,124,184,213,118, 55, 55,162,147, 72,246,212,228, 99, 84, 19,
-103,180, 72,100,113,244,252,249,126,132,205,238,181,236,171,175, 76, 2, 2, 2, 32,147,201,112,242,228, 73,236,217,189, 91,227,
-224,224,240,212,241,217,179,184,214, 50,217,234,134,114,118, 88,188,184,208, 96, 48, 80, 31, 47, 93, 58,224,249,235,215,125,243,
- 36,146, 38, 0,224, 96,101,149,213,193,221, 61,102,127, 84, 84,210,206,166, 77,141, 13,173,231, 47, 23, 46,216,135,167,167,207,
-180,178,178, 50,201,151, 72, 88, 60, 46,183,168, 75,203,150, 39,126, 92,181,234,186, 62, 62,158,195,119,118, 54, 51, 15, 8,104,
-116,219, 59, 44, 94, 92, 88, 44,151,179, 22,174, 93,219, 61, 35, 63,191,137, 66,163,241,148,202,229, 98,131, 78,199, 48, 19, 8,
-138,154,121,123, 75, 84, 55,111,230, 54, 43, 43, 91,180, 23,144,252,183,174,117, 77, 90,228,111,132,247,227,104,253, 41,215,225,
-245,128,128,128, 63,173,174, 33,132, 52,200,154,197,102,179,223,153,166,170, 3, 28,138,162, 16, 27, 27, 11,107,107,107,136,197,
- 98,240,120,239, 38, 31, 44, 40, 40,192,157, 59,119,240,226,197, 11,180,109,219,182,114, 26,163,118, 69,196,227,125,190,105,211,
- 38, 11,173, 86,139,152,152, 24,116,232,208, 1, 60, 30, 15, 28, 14,231, 29, 17, 40,145, 72,208,170, 85, 43, 44, 91,182,204,124,
-253,250,245,159,107, 52,154, 90,223, 72, 89, 44,214,130, 89,179,102,217, 85, 90,176,178,178,178,208,190,125,251,170,237,182,182,
-182,120,252,248, 49, 58,116,232, 0,103,103,103, 4, 6, 6,218,133,133,133, 45,208,235,245,223,213,198,201,229,114, 25,190,190,
-190, 29, 1, 64, 40, 20,130,193, 96,188, 52, 51, 51,179,181,183,183, 23,154,153,153,253,169,141, 7, 14, 28,144, 50, 24, 12, 93,
-189,106,128,193, 64, 94, 94, 30, 90,183,110,141,210,210,138, 12, 46, 74,165, 18,158,158,158,144,201,100, 85,162,213,209,209, 17,
- 42, 85,221,174, 95,109,218,180, 9,241,241,241, 25, 40, 20, 10,121,108, 54, 27, 79,158, 60,129,159,159, 31,142, 29, 59, 6, 87,
- 87, 87, 8, 4, 2, 36, 39, 39,195,215,215, 23, 55,110,220,128,173,173, 45, 90,181,106,197,179,179,179,187, 85, 92, 92,124, 45,
- 35, 35, 35,164,142,122, 50, 68, 34, 17,110,220,184,129,253,251,247,227,245,235,215,200,201,201,129,169,169, 41,218,181,107,135,
-150, 45, 91,162, 91,183,110, 72, 78, 78, 6, 85,127,103, 18,123,121,121, 69, 61,124,248,208,134, 16,130,176,176, 48, 40, 20, 10,
-104,181, 90, 48, 24, 12,240,249,124, 88, 90, 90,162,111,223,190,176,181,181,133,151,151, 23,142, 31, 63,110, 51,100,200,144,223,
- 37, 18, 73, 59, 0,121,245,157, 87, 75, 75,203, 69,193,193,193, 46,118,118,118, 72, 79, 79, 71,105,105, 41,236,237,237,209,187,
-119,111,167,232,232,232, 69, 58,157,110,219, 63,229, 65, 86,205,241,157,186,116,113,223,104,175,102, 37,190,109,189, 5, 46, 17,
- 81,246, 46,199,162, 36,173, 0,160,117, 11,251,231,163, 3, 4, 89, 79,158, 71,101, 93,186,120, 58,230,197, 75, 68,160, 1, 83,
-219,165,101,154, 19,151,163, 31, 12,246,107,219,222,184,105,227,210,161,243,231,205,228,217,217,207, 64,126,230,105, 68, 95,141,
-117, 93,250,197, 44,219,239,182,252,114,254,114,244, 3, 70,105,153,102,117,195, 76, 89,174, 59, 15,254,216,205, 70, 94, 24,142,
-148, 68, 46, 76, 76, 91,195,221,189, 57,100, 50, 25,248,124, 62,127,194,132, 9,134, 21, 43, 86,148,153,153,153, 9, 40,138,194,
-181,107,215, 36, 0, 6,213,199,171,182,179, 36,134,114,157,158,112,153, 70, 66,153,170, 40, 67, 49,247, 89, 66, 26, 6,246,239,
-147,223,163,115,235,245, 43,214,108, 89,233,213,220,207,118,250,204, 80,246,218,144,137,187, 65,161,103, 77, 60,137, 41,184, 74,
-157, 56,101, 2, 96,232,154,111, 66,144,154,154,108, 57,251, 19,105, 40,139,103,226,232,227,214,221,116,247,254,107,131, 61, 61,
-155, 54, 89,178, 32,240,220,214, 31,182, 14,173,110,217, 58,120, 32,248, 12,128,126, 13, 57,183,255, 34,180,153, 28, 21, 5, 69,
-102,166,174,248,214, 45,117,191, 31,126, 40,116, 25, 52,104,155,182,188,220,166,242, 86,193,160, 40, 80,149,174, 19, 70, 35,197,
- 90,182,140, 65, 88, 44,232, 44, 45, 63, 65, 73, 73,243,250, 56,191,200,205, 29, 61,113,230,204,161,103, 46, 92, 64,211,166, 77,
-171,158,103, 22, 22, 22, 88,186,116, 41, 22, 47, 94,204,123,252,248,113,167,240,240,240, 78,223,109,222,108, 15, 96,116, 67,234,
-121,233,254,125,203, 79,215,172, 89,213,182, 67, 7,215, 67, 71,142,240, 60, 60, 60, 0, 0,175, 94,189,242,218,184, 97,131, 91,
-107, 95,223,252,245,159,127,126,240,249,138, 21,173, 0,220,170,139, 51,239,230, 77,109,120,122,250,204,171,215,174, 89,180,110,
-221, 26, 0,144,148,148,100,183,125,251,246, 89,173, 2, 3, 39,173,153, 59,119,117,128, 90, 45, 53, 43, 40,224, 5,236,220,201,
- 58,250,241,199,245,114, 86,214, 19, 0,122, 79,159,254,121,207, 62,125, 90,142,158, 57,211,202,213,213,149, 18,137, 68, 40, 47,
- 47, 71, 78, 78,142,229,243,231,207, 61,162,228,114,217,169,251,247,195, 96, 48, 12,248, 47, 94,235, 26,181,200,223,204,146,245,
-103, 77,241,246,187,119, 84, 84, 20, 1,208, 59, 32, 32,224, 70,229, 3,220, 96, 48, 52, 72,100,177, 88, 44, 80, 20,213, 80,177,
- 5, 66, 8, 10, 11, 11, 81, 88, 88, 88, 53,117, 36,145, 72,112,245,234, 85, 36, 39, 39,131,205,102,131,195,225,160,188,188,254,
- 28,180, 66,161,176,127,255,254,253, 89,247,239,223,135,187,187, 59, 76, 76, 76,170,234, 85,249,225,112, 56,112,112,112,128, 76,
- 38, 67,191,126,253,216, 59,118,236,232, 95,151,208, 50, 55, 55,255,104,236,216,177,220,202,255, 21, 10, 5,152, 76,102,149,104,
- 81, 40, 20, 40, 46, 46,134, 84, 42,133, 90,173, 70,215,174, 93,185, 81, 81, 81, 31, 21, 21, 21,125,215,144,246,151,149,149, 41,
- 36, 18,137, 69,207,158, 61, 45, 15, 30, 60,152,212,181,107, 87,239,119,122,218,245,235,106,181, 90,205,102, 48, 24, 13,202,163,
-119,248,240,225,170,115,255,230,205, 27,236,222,189,187,106, 91,114,114, 50,118,236,216, 1, 66, 8, 8, 33,117, 94, 35, 31, 31,
-159, 33, 97, 97, 97, 29, 14, 29, 58, 84,194,100, 50,145,148,148,132, 35, 71,142,128, 16, 2, 91, 91, 91,148,149,149, 33, 63, 63,
- 31,215,174, 93,131, 94,175,135, 72, 36,130,147,147, 19,127,193,130, 5, 61, 66, 67, 67,217,117, 9, 45,131,193, 96, 96, 50,153,
-112,115,115, 67, 80, 80, 16,212,106, 53, 56,156, 10,125, 41,147,201, 32,149, 74, 17, 23, 23,135,244,244,116, 16, 66,234,124,200,
-240,249,252,192, 67,135, 14,217,113,185, 92,168, 84, 42,200,229,114,100,101,101, 33, 35, 35, 67, 45,145, 72,244,166,166,166, 12,
- 55, 55, 55, 6,143,199,227,141, 28, 57,146,170, 20,156, 1, 1, 1,214, 97, 97, 97,227,180, 90,109,125, 34,201, 86, 44, 22,175,
-156, 53,107, 22,191,122,159,205,203,203,195,232,209,163, 5,119,239,222, 93, 33,147,201,142, 0, 40,248,135, 61,208, 72,248,169,
-230,143, 98,162,147,124, 35,162,236, 93, 50,178, 13,221,151,126,185,133, 5, 0, 63,239,249,182,123, 68,212,155, 59, 62, 77,243,
-179,194, 79, 53,127,100,105,249,162, 62, 33,192,232,219,203, 97,152, 80,192, 31, 59,122,248,112,242,211, 79,219,218,207,159, 55,
-147,231,214,124,105,133,133,147,109,135,126,250,111,168, 50,213, 43,254, 79, 63,109,107, 63,122,248,152,184,215,175,211,247,244,
-237,197, 59,126,245, 70,238,217,186, 44,134,118,214,124, 39, 1, 79, 9, 39,247,150,240,110, 33,196,227, 39, 73, 56,121,226, 30,
- 90,180,234, 2,141, 70, 3,189, 94, 47, 28, 54,108, 88,217,177, 99,199,212, 47, 95,190,148,171, 84,170, 94, 0, 94,214,215,248,
-236,236, 4,163,183,184, 75, 57,199,132,167,151,151,114,202,150,175, 14,255,184,125,231,129, 29, 44, 29,156,216,182, 66,227,217,
- 33, 3, 58, 29,217,191, 55,104,241,234,224, 35,232,216,105, 96,215, 23, 73,183, 90, 2,120, 90,163,120, 77, 69, 20,227,228, 41,
-125,106, 74,202,208,140,244,244,236,230,246, 98,237, 43, 41,209, 45, 90,254,203,128,158,189, 2,219,120,180,240,231,190, 72,184,
- 65, 5, 45, 27,247,219,154, 77, 91, 39, 84,138,173, 43,151,127,235,245,201, 39,247,184, 7, 15,214,110, 29,255,183,129,195,227,
- 57,139,220,220, 88,175, 15, 30, 84,185, 15, 27, 86, 2, 0,218,242,114,155,215,233,233,230, 2,129, 0,132, 16,232,116,186,119,
-124,136, 43,253,134, 91,123,123,219, 55,132,243,245,215, 95,183, 89,182,108, 25,242,242,242,160,215,235,193,102,179,223,191,103,
- 67,169, 84,226,147, 79, 62,193,206,205,155,187, 52,132,211, 96, 48, 80,159,174, 89,179,234,171, 85,171, 60,230,204,153,195,168,
-126,239,181,178,178, 66,248,201,147,220, 93,187,118, 57,175,220,185,243,147,137, 60, 94, 42, 52,154, 58, 57, 11, 61, 61, 97,149,
-159,111, 82, 41,178, 0,192,219,219, 27,187,119,239,230,205,152, 49,131, 59,108,216,176, 45,143,219,182,221,190,173, 71,143, 20,
-235,230,205,205,184, 60,158,115,125,156,149,231, 19, 0,228,106,117,235,109,219,183, 91, 62,120,240, 0,249,249,249,200,203,171,
-120, 31,165, 40, 10, 29, 59,118,164, 38, 79,158,108,222,204,197,165, 19, 12,134,255,230,229,254,147, 22,249, 27, 97,118, 13,191,
-253,225,163,245,182, 65,212,219, 6, 82,213, 30,142,239, 8,150,250,132,214,135, 64, 42,149, 66, 42,149, 98,239,222,189,224,112,
- 56, 85, 15, 95, 0,208,106,181, 13, 17, 45,190,142,142,142, 40, 45, 45, 69,243,230,205,223,177,100,113, 56, 28,176, 88, 44,112,
- 56, 28,240,120, 60,104, 52, 26,184,186,186,162,172,172,204,183, 46, 78,149, 74,213,206,202,202,170,234, 1,171,121,219, 89, 53,
- 26, 77, 85,125,181, 90, 45, 74, 74, 74,160, 80, 40, 32,151,203,161, 84, 42,253, 26,210, 94,163,209,136,103,207,158,189,242,246,
-246,110,199,100, 50, 33, 18,137,132, 74,165,178,202,183,168,184,184, 24,191,254,250,171,114,202,148, 41, 54,145,145,145,245, 10,
- 45,138,162,240,217,103,159,129,199,227,161,172,172, 12, 63,253,244, 19, 22, 46, 92, 8, 14,135, 3,185, 92,142,221,187,119, 99,
-201,146, 37, 96,177, 88,208,106,181,216,190,125,123,173, 92, 9, 9, 9,175,239,223,191,239,215,190,125,123,203, 83,167, 78, 21,
- 12, 24, 48,192,118,208,160, 65, 48, 49, 49,129, 74,165,130, 78,167, 67,151, 46, 93,224,227,227, 3,137, 68,130,243,231,207, 23,
-122,121,121,217, 60,120,240,192,152,151,151,151,241,255,216,187,238,240, 40,170,246,123,102,123, 73,175,164,144, 80, 34,164,211,
- 12,160,244, 18, 90, 18, 12,162, 20, 69, 81, 81,154, 5, 20, 68, 16, 5, 68, 52,128,162,136,130, 82, 44, 96, 16,144,110,168, 1,
- 19,144, 34, 66, 8, 37, 29, 2,169,187,201,110, 54,201,110,178,125,218,239, 15,146,124, 33, 38,217, 77,192,239,167,126,115,158,
-103,159,157,157,189,115,230,222,185,119,102,206,125,239,123,223,107, 67, 92,179,141, 44,134,160,105, 26,229,229,229,168,174,174,
-134, 90,173,134, 66,161, 64, 73, 73, 9, 4, 2, 1,108,232, 44,120,120,120, 60, 21, 25, 25,201, 7, 0,153, 76,134,222,189,123,
- 99,233,210,165,148,209,104,156, 12,224, 88, 93,178,113, 91, 22,186,136,224, 0, 0, 32, 0, 73, 68, 65, 84,183,110, 61,112,238,
-220, 57,129,159,159, 31,178,179,179,225,229,229, 37,144, 74,165, 54,133,150,143,143,207,247,191,252,242,139,123,189,184,174,191,
-206, 6,195,189,234,152, 56,113,162,251,142, 29, 59,190,167, 40, 42,230,223,246, 82,115,149, 65,212, 59,210, 89,187, 59, 73, 21,
-177,240,237,117,130,208,200,123,157,215,153,179, 32,248,244,147, 5, 17,211,226,157,143,184,202,116, 34, 91, 60,227,162, 3, 54,
- 62,241,196, 40,222, 51, 83,227,242, 68, 34,215,160,205, 91, 62,240,246,238, 48,163,145, 12,115,134,135,167, 51,130, 58,137,137,
-189, 71,178,188, 23, 47,249,208,156,184,227,179,252,159,118, 37,141, 21, 11,147, 71, 31, 59, 85, 60,167, 37,238,220,219,213,135,
- 13,102,105,152, 78,115,157,112,239, 48, 16,189,123,133,192,219,171, 10, 91,191,223,141, 46, 93,251,194,108, 54,195,217,217, 89,
- 78,211,180,149,207,231, 39,218, 35,178, 0,224,244,233,106, 38, 34,162,218,194,175, 97,168, 87,223,248,244,201, 81,227,158, 8,
- 31, 49, 34,154, 57,153,124,210, 58,176,143, 85, 57,110, 76,239,242,227,201, 27,243,148,138, 59,221, 35,122, 12, 66,102, 70,202,
- 88,150,197, 77,130,104,222,250,148,113, 11,199, 77, 76,102,202,238,221, 51, 25, 35,115, 85,182,234,163, 27,227, 98, 99,167, 71,
- 14, 25, 60,132, 73, 62,245,171, 69,140,138, 44,231, 65, 3, 74, 95,125,121,220,129,111, 19,191, 24,125,252,216,247,221,180,186,
-194, 36, 78,100, 53,233,164, 81, 84, 7,129, 68,194, 83,167,164, 80, 61,102,204, 48,215,223,143,114,185, 28,135, 14, 29,130, 88,
- 44,110,248,136, 68,162,134,237, 14, 29, 58,128,168,155, 70,106, 15, 39, 0, 40,149, 74,148,149,149,193,197,197, 5, 94, 94, 94,
- 40, 43, 43,195,133, 11, 23,144,155,155, 11,161, 80,136,177, 99,199,130,215,130,111,115, 83,206, 73, 11, 23,142, 10,235,209, 35,
-176,169,200, 2, 0,171,213,138,202,202, 74,196,199,199,243,142, 29, 59,230,115,188,168,232, 9, 0,137,173,113,246,137,141,213,
-148,239,221,219,236,185, 31,125,244, 81,226,252,249,243,146,177, 99,198,188,185,224,163,143, 54,126,185, 99, 71, 49, 77, 81, 62,
-109, 41, 59,143,199,227, 17, 4,129,128,128, 0, 84, 86, 86,162,182,246,222, 8,182,163,163, 35,220,220,220, 64,146, 36, 24,150,
- 21,254,149,117,221,146, 22,249,135, 96, 75, 35,193,181,229, 79, 22,173,186, 66, 1,192,176,198, 47, 22,134, 97,236, 18, 89, 66,
-161,208,166,207,149, 61, 86,174,166,176, 71,104,213,231, 85, 42,149, 54,220,104,141, 5, 86,125, 62,121, 60, 30,248,124,190,205,
-151,120,157, 24,226,215,212,212, 96,223,190,125, 24, 58,116,104,195,176,148, 86,171, 69,117,117, 53,180, 90, 45, 76, 38, 19,238,
-222,189,139,211,167, 79,163, 91,183,110,128,157,193, 95,243,243,243,175,116,233,210, 37,170,254, 37, 62,124,248,240,142, 63,252,
-240,131, 34, 38, 38,198,143,101, 89,188,247,222,123, 21,143, 61,246,152,103,227,151,188, 45,240,249,124, 92,184,112, 1,221,186,
-117, 3,203,178, 16,137, 68,200,201,201,129,183,183, 55, 24,134,129, 64, 32,128, 90,173,134,147, 83,235, 49, 18,111,222,188,249,
-226, 75, 47,189,164,112,113,113,233,169,209,104,148, 18,137,100,240,217,179,103, 3,172, 86, 43,156,157,157,225,236,236,140,163,
- 71,143,194,213,213, 21,243,231,207, 47, 50, 26,141, 23, 28, 28, 28, 58, 24,141,198,235,101,101,101,239,181,165,190, 41,138,130,
- 94,175, 71, 85, 85, 21, 42, 43, 43,161,211,233, 96, 50,153,108,230,177, 57, 12, 30, 60, 24, 73, 73, 73,252,132,132,132,111,243,
-243,243, 1, 0, 65, 65, 65,152, 63,127, 62,223,223,223, 31,119,239,222,197,149, 43, 87, 96,181, 90,193,178,108,171, 55,175, 64,
- 32, 24,254,252,243,207, 15, 10, 12, 12, 36,172, 86, 43, 24,134,129,217,108, 70,253,118, 81, 81, 17,194,194,194,120,157, 58,117,
-122, 60, 63, 63,127, 56,236,155, 88,193, 1, 64,121,209, 65,248, 11,189, 1,158, 51, 88,227, 65,104, 42,218, 23,197, 69,165, 82,
-125,180,232,253,243, 51,190, 92,107,237, 80,162, 4, 66, 34, 39,160,123,248, 72,188,248, 28,133,132, 79,246, 33,176, 83, 8, 10,
- 11, 11, 49,124,248,112,145, 66,161,120,169,182,182,118,161,189,220,201,201,191,211, 39,143, 30,123,122,210,148,233, 81,209,209,
- 49,212,137, 19, 71,113,243,250,137,140,151,166, 60,165, 98,153, 90,194,221, 85,118, 53, 39,251,114,247,158,189,135,193, 66,209,
-131,129, 21,107,129, 21,108,203,247, 59, 44, 71,142,248,242,142, 28,252,254,185,103,166,189,208,107,228,200,209,228,137,228, 95,
-112,229, 98,242,181,117,107, 95, 57,147,240,197,158,225,163,198, 62, 21,225,213,225,194,209,200, 96,243,203, 1, 30, 46,183,183,
-254, 80,201, 53,150,230,238, 77,169,148, 65,221,115,145, 71, 16, 96, 89,246, 62,145,213, 84,104,241,120, 60,155, 6,128,198,156,
-141,223, 69,245, 29,234,205,155, 55, 67, 34,145, 64, 44, 22, 67, 40, 20,218,116,191,104,204,153,113,247,238,136,237,137,137,146,
-230, 68,150, 70,163,129, 70,163, 65,109,109, 45,166, 78,157, 42,250,224,242,229, 71, 81,231,250,209, 18,103,160,175,175,217, 65,
- 38, 43,207,204,204,244, 11, 15, 15,191, 47,191, 58,157, 14, 50,153, 12,137, 59,119,138,226, 98, 99,231,142, 60,122,116, 29,108,
-196,191,106,174,236, 4, 65,192,219,219, 27,110,110,110, 32, 8, 2, 20, 69,161,172,172, 12, 25, 25, 25,184,124,249, 50,248, 4,
- 65,253,149,117,220,156, 22,249, 7, 90,181,182, 52, 59,116,216,210,152,104, 91,132, 22,159,207,111,183, 85,171, 37,216, 51,116,
- 40,151,203,111, 40, 20,138,129,254,254,254,160, 40,170, 65,104, 53, 29, 58,172,183,126,164,167,167, 67, 46,151,223, 48,153, 76,
-173,114,178, 44,251,120,191,126,253,176,127,255,126,164,164,164,224,206,157, 59, 48, 24, 12, 48,155,205, 48, 26,141,200,200,200,
- 0,195, 48,136,140,140,132,131,131, 3,228,114,249, 13,179,185,245,142,168, 94,175, 87, 10,133,194, 16,153, 76,214,176,207,215,
-215, 23, 26,141,134, 33, 73, 18,219,183,111,215,249,248,248, 56,200,100, 50,187,133, 43, 65, 16, 80,169, 84,232,216,177, 99,131,
-143, 86, 77, 77, 13,188,189,189,235,133, 5,204,102, 51,156,156,156,108, 14, 29, 2, 48,221,186,117,107, 65,163,223,125, 39, 77,
-154,244,211,238,221,187,187,158, 58,117, 10,151, 46, 93,130,151,151, 23, 62,254,248,227, 59, 5, 5, 5,207, 0,184,172, 82, 61,
- 92,191, 72,123,218,144, 70,163,217,119,227,198,141,199,251,245,235,215,240,148, 24, 62,124, 56, 49,124,248,112,207,198,166,126,
-181, 90,141, 63,254,248, 3,167, 78,157, 2, 65, 16,200,203,203,163,141, 70,227, 79,173,141, 82,248,251,251,255,176,116,233, 82,
- 71,138,162, 26,218,182, 76, 38,131, 84, 42,133, 72, 36, 2,159,207, 71, 65, 65, 1,226,227,227, 93,190,250,234,171,239,205,102,
-243, 35, 0,172,248,151,160,218, 8,107,250, 77,157, 75,100, 88,135,140, 45,155, 19, 6,206,156,133,250,161, 67, 42, 50,204, 59,
- 35,253,102,185, 75,148,183,237,242, 30, 59, 85,252,170,133, 60, 54,254,216,241,212,201,111,191, 57, 95, 24, 20, 20,166, 58,245,
-107, 90,224, 72,234, 67,194,195,211, 25,154, 10, 29, 10,138,202,145, 95,104, 97,131,130,194, 84, 87,254,184, 33,249,228,243,245,
-221,245, 6, 83,253,208, 97,171,237,244,183, 11,119, 38,172,219, 32, 57, 51,253,165,190, 98,153,204, 15,149, 21, 55, 16, 24,232,
-133,248,184,158,248,110,199, 5,184,184,184,163, 67,135, 14,224,241,120, 14,246,150,189,162,162,130,216,183,235,183, 25,207,191,
-240,202, 99, 99, 70,199, 82,199, 79, 28, 17,164,156, 60,124,225,251, 45,239, 30, 96,249,122, 57,193,214,200, 58,119,241,185,126,
-251, 86,250, 51, 35,162,167, 66, 38,114,234, 6,132, 54,219, 96, 27, 38, 24,176, 40,218,191,123,133,244,249, 23,102, 14, 24, 51,
-230, 9,234,196,137,131, 56,113,116,199,239,203,151,119, 62,122,167,116,167,232,226,229, 18,233,132,167,231, 84, 37, 29,203,178,
- 60, 53,190, 75,174,159, 67,111, 35,112,135, 83, 85,141, 59,146, 2, 65, 57,101, 54, 7,116, 28, 51,134,111, 40, 44, 20, 58,118,
-232, 64, 1, 0, 73,146, 54,133, 22, 90, 24,130,110,202,105,111, 94, 12, 6, 3,152, 22, 98, 39, 54,229, 44, 83,169, 58,215,117,
-194, 27, 64,146,100,131,200,210,104, 52,168,174,174,134,131,131, 3,212,102,115, 7,123, 56, 71,247,239,191,253,131, 21, 43, 22,
-238,221,183, 79,212, 88,100,213,127,132, 66, 33,214,172, 93, 43,122,227,237,183,231,204, 21, 8,230,129,162,236,190,158,245,157,
-118, 62,159, 15,129, 64,128,194,194, 66, 20, 21, 21,161,176,176, 16,133,133,133,144,201,100, 96,255,226, 73, 64,255, 96,255,172,
-122,145,213,248,187,193,202,213,106,120,135,182, 56,195,219, 43, 12,232, 54,140,239,218, 35,180,244,122,253,169,211,167, 79,247,
-159, 48, 97,130,224,247,223,127,135,143,143, 79,131,208,170,255,174, 31,142,146,203,229, 56,112,224,128, 85,175,215,159,178,113,
- 51,157, 62,122,244,104,212,178,101,203,132, 47,190,248, 34, 50, 51, 51, 49,107,214, 44, 84, 87, 87, 67,167,211, 65,163,209,192,
- 96, 48,160,127,255,254,144, 74,165,184,126,253, 58,105, 48, 24, 78,219,176,216,177, 42,149,170,214,203,203,203,183,233,127, 79,
- 63,253,116,135, 77,155, 54, 25,178,179,179,201,129, 3, 7, 58,219, 43, 56,234,177,107,215,174, 6, 75, 93,110,110, 46, 54,109,
-218,212,224,147,149,150,150,134, 79, 63,253,180, 33,246, 89, 27,113,185,162,162,130, 34, 73, 18,221,186,117,131,191,191, 63, 76,
- 38, 19,214,175, 95, 79, 1,184,252,255,213,154, 77, 38,211,222,233,211,167,191,115,245,234, 85, 95,129, 64,112,207,164, 93, 87,
- 62,171,213,138, 91,183,110, 33, 35, 35, 3,217,217,217,168,172,172,108,232, 8,164,167,167, 87,145, 36,185,167, 37, 94, 47, 47,
-175,247,190,251,238, 59, 31,185, 92,126, 95,123,174,183,134,214, 91, 73,213,106, 53, 92, 93, 93, 49,114,228, 72,239,211,167, 79,
-191,103, 54,155,151,253, 75,222,105,196,211, 79,230,246,125,227,213, 9,152, 24, 39, 47,222,159, 84,122,254,211, 79, 22,212, 57,
-195,123,103, 76,140,243, 47,190,150,227,138,167,159, 60,216, 23, 64, 9, 90,119,216,102,126, 61,163, 60,212,175,159, 91,202,254,
-195,135,191, 95,178,232,205,180,133, 11, 94,241, 50, 24,111, 75,131, 58,137, 9, 0,200, 47,180,176,215, 51, 25,211,167,235,222,
- 76, 75, 88,251, 21,175, 92, 83, 61,235,143, 63, 90, 14,111,208, 88,188,240,120,144, 6,133, 14, 85,116, 15, 30,212,229,247, 11,
-137,112,148, 27, 17, 18,218, 23, 99, 70, 63,142,148,212,116,148,169, 77, 80, 42,149, 48,155,205,173,134, 75,200,190,126,224, 57,
-150, 96, 3, 9,150, 40, 34,120,172,244,185,233, 47, 15,142,141,125,130, 77, 74, 58, 76, 29, 60,144,120,110,207,143, 27,246,242,
- 68, 66,129,209,226, 98, 33, 8,147, 22,188,155,153,181,250,123, 29, 26,161, 68,212,178,249,181, 46,176,107,120, 68,168,207,115,
-211,103,185,196,140,139,103,143, 30, 61,200,236,217,189, 61,101,207,182, 30,137, 12, 79, 39, 82, 22, 27, 36, 90, 29,169,101, 9,
-177,107,173,142, 49,148,231, 63, 98,242,139,125,218, 10,236,229,212, 85,227,247,128,217, 92, 82, 91, 92,236,235, 62,116,168,228,
-214,138, 21,242, 14,253,251,155,136, 58, 31,226,214,132, 22,159,207, 7,120, 60,198, 30, 78,123,243, 98, 52, 26,193, 0,100,123,
- 56, 41,138,186, 79,100,213, 11,173,250,251,197, 30,206, 45,203,151,255, 30, 56,102, 76,101,106,106,106,135, 97,195,134, 17, 53,
- 53, 53,168,169,169,185, 79,108,249,249,249, 17,225,145,145,242, 93, 41, 41, 65,246, 94, 79,123,202,206,227,241,254,114,161,245,
- 15, 71,139, 11, 73,183,186, 4, 79,189, 69,203, 30,161,101,167, 69,139, 36, 73, 18,222,222,222,168,168,168,104,241,197,207,227,
-241, 32,147,201,234,199,136, 91,157,121,103, 54,155,215, 47, 92,184,240,181,113,227,198,121,134,132,132, 64,173, 86,163, 67,135,
- 14,144, 74,165, 13,190, 99,245,124,105,105,105,248,238,187,239,116,102,179,121,189, 13,206,207,215,174, 93,251,234,196,137, 19,
-221,125,124,124,224,230,230,134,235,215,175,195,205,205, 13, 58,157, 14, 57, 57, 57,112,114,114,106,240,219, 57,124,248,112,141,
-217,108,254,220,134,120, 99,207,158, 61,107,117,114,114,186,174, 86,171,249,149,149,149,130,170,170, 42,129, 78,167, 19,106,181,
- 90,225,241,227,199, 61, 93, 92, 92, 12,191,254,250,171, 58, 48, 48,144,127,231,206, 29, 62, 73,146, 54,213, 43, 65, 16,152, 55,
-111, 30, 68, 34, 17,204,102, 51,214,175, 95,143,133, 11, 23, 54,248,100,173, 93,187, 22, 75,151, 46,109, 16,206, 91,183,110,109,
- 83,203, 97, 89, 22, 86,171, 21, 36, 73,130, 36, 73,187,196,239,131,192, 78,193, 94,150,151,151, 23,215,175, 95,191,147, 63,255,
-252,179, 71, 93, 76, 50,148,151,151,163,188,188, 28,106,181, 26,181,181,181,160, 40, 10,254,254,254, 40, 47, 47,199,193,131, 7,
-181, 53, 53, 53, 99,208,202,140, 67, 62,159, 63,125,240,224,193,130,166,121,168,239,229,213,139,119,137, 68, 2,133, 66,129,225,
-195,135,139, 83, 83, 83,167, 3,248, 71, 11,173,198,225, 29, 70,143,153, 33, 10,139, 24, 96,185,150,145, 84, 28,218,165,188,120,
- 90,188,243, 17, 0, 72,191, 89,238,114, 45,199, 21, 97, 17,113,236,232, 49,110, 81,229,101, 91,122, 0,176,182,182, 92, 15, 0,
-184,200, 37,147, 70, 69,247, 87, 56, 57, 56,240, 62, 93,183,245,216,215, 95,127,254,232,222, 35,255, 9,239,240,233,186,123,225,
- 29, 70, 69,247,103,178,179,178, 39, 1,216,102,175,120,137,139, 27,127,245,187, 31,190, 67,118,198,175,126,239,204,235, 41,174,
- 44, 39, 33,115, 12, 64, 84,239, 14,216,242,195, 13, 92,187,118,173,204, 98,177, 12,111,181,125, 19,108, 96, 70,230,205,224, 30,
- 17,225, 62,207, 77,159,233, 28, 23, 23,143,164,164, 67,248,113,251,182,179, 79, 77,157,248,109,105,149,142,239, 45,148,139,228,
- 44, 35,230,139, 92, 4, 34,137, 76,101,177,220,155, 3, 33, 20, 74,157,129, 73,173,190,120,102,207,156,230, 50, 34, 58, 30, 71,
-142, 30,194,143,219,183,156,121, 63,226,233,109, 93,250,132, 17,253, 31,253,100, 78,151,174, 93, 58,233,107,203,117, 60, 66,108,
- 53,153, 24,167, 79,182, 23,124,150,191,116,122, 62,128,117,224,102, 29, 54,198,245, 31, 99, 98,250,189,113,251,182,200,107,208,
- 32,153, 34, 37, 69, 94,183, 18, 73,171, 66, 75, 32, 16,128,109,121,168,235, 62, 78, 98,199, 14, 30,128, 86, 39, 97,137, 68, 34,
- 24, 12, 6,144, 45, 91,176,239,227,244, 61,113,162,248,246,237,219,221,221,221,221,239, 19, 89,149,149,149, 13,219, 38,147, 9,
- 6,131, 1, 50,153, 44,195,216,252,136,200,125,156,229,103,207,154, 86,207,155,183,236,153,169, 83, 55,156, 58,125, 90,234,225,
-225, 1,173, 86,123,159,208,178, 88, 44, 24, 49,114,164,104,237,213,171,207, 65,167, 91,110,207,245,236, 48,124,184, 77,127, 96,
- 62,159, 15,230, 47, 30, 58,252, 23, 96,102,115,194,139,103,107, 8,199,222, 89,135, 45,188, 32,155,174,238,189, 52, 42, 42,202,
-148,155,155,139,192,192,192, 6,177,210,248,156,206,206,206,112,117,117, 69, 90, 90, 26, 62,250,232, 35, 35,128,165, 54, 56,107,
- 12, 6,195,148, 81,163, 70, 25, 5, 2, 1, 66, 67, 67, 27,226,103, 49, 12, 3,177, 88, 12, 7, 7, 7, 92,189,122, 21,227,199,
-143, 55, 24, 12,134, 41,248,115, 12,173,166,156, 90,131,193,240,236,232,209,163, 13,153,153,153, 24, 60,120, 48,174, 93,187,134,
-218,218, 90,212,214,214,226,238,221,187, 8, 15, 15,135,193, 96,192,166, 77,155,140, 6,131,225, 89, 0,218,214, 56,107,106,106,
-198, 47, 92,184,144,255,211, 79, 63,117,241,247,247,143,232,219,183,111,200,200,145, 35, 31,121,242,201, 39, 59,197,196,196,248,
-118,239,222,221, 52,102,204, 24,175,113,227,198,121, 25, 12, 6,225,249,243,231,149, 36, 73,142,179,145,207, 6,113,146,155,155,
-219, 48, 84, 40, 16, 8, 80, 81, 81,209, 16,185,191,254,161,212,130, 16,142,182, 37,182,235, 5, 86,189,224,178,195,207,173, 57,
- 78,155, 7,137,197,226,122,139, 39,107, 7,103,122, 86, 86,214,168,161, 67,135,166,207,152, 49,163,166,172,172, 12, 78, 78, 78,
- 8, 10, 10, 66,112,112, 48, 60, 61, 61, 97,181, 90,113,224,192, 1,253,193,131, 7,111,104,181,218,225,248,115, 12,173,232, 38,
-215,241,110,115, 15,217,122,107, 86,189,208,146, 74,165,240,247,247,175,191,182,119,219,114, 61,219,137,191,150,179, 78,192,140,
- 28, 49,166,107, 76,236, 4,151, 3,135, 46,136, 55,108, 60,120, 35, 42, 26, 91, 61, 58,235, 14,123,116,214, 29,142,138,198,214,
- 13, 27, 15,222, 56,112,232,130, 56, 38,118,130,203,200, 17, 99,186,102,102,100,135, 52, 94,247,176,185,124, 74,165,210, 1,131,
- 7, 69, 85,165,158, 59,195, 36,172,253,138, 55, 98,248, 83, 87,183,125,123,224,192,182,111, 15, 28, 24, 49,252,169,171, 9,107,
-191,226,165,158, 59,195, 12, 30, 20, 85, 37,149, 74, 7,216, 83,246,217, 51,167,185,196,198,196, 35, 41,233, 0,181,119,215,166,
-181,187,247,229, 13,125,249,181,179,229,185,185,215, 88, 85,201, 9, 8,121,133,200,202,202,210,214,137,172, 92,123, 56,103,189,
- 50,173,177,200,250,205,195,103,240,214,172, 44,208,201,201,191,144,167, 79, 95, 53,254,150,174,210, 94,201,172,168, 84,168, 43,
-239,232,116, 26, 11,195,208,160,105,154,255,193, 7, 13, 14,187,205,214,209,192,129,195,240,235,169,157,216,254,195,102, 45,195,
-192, 52,105,239, 94,122,210,164, 21,108,167,206,157, 59, 37,238,218, 73,196, 61, 49,193,133, 5,152,241, 19,227, 93,127,218,253,
- 19,209,181, 91,215,206, 65, 65, 13, 33,109,254,121,109,233, 47,224, 92, 1, 84,233, 10, 11,207,164,125,245,149,185,195,148, 41,
-238,226, 14, 29,156, 65,211, 68,253,243,189,165,143, 64, 32,104,106,129,105,145,211,223,211,179,244,240,225,195, 8, 14, 14,134,
-191,191, 63, 26,251,200,214, 7,228,246,240,240,192,190,125,251,192,222, 31,156,186, 69,206, 62, 93,186,164,173, 89,189,218,194,
- 48, 12,170,170,170,254,100,205,170,170,170, 2,195, 48, 56,122,228,136, 69,119,111, 37, 16,187,202, 62,156,207,175,125,102,200,
-144,132,216,216, 88,235,237,219,183,193, 48, 12, 26, 91,182, 84, 42, 21, 28, 29, 29, 97, 50,155, 3, 0,200,237,225, 84, 29, 63,
-238, 0, 27,207,245,102, 44, 90,127, 69,189,255,211, 69, 86,227, 5,165,103,218,101,209,162, 40, 10, 1, 1, 1,247, 45,233,194,
-227,241,238,251,180,113,198,225,142,204,204,204, 19, 99,198,140, 89,246,216, 99,143,205, 94,182,108, 25, 63, 36, 36, 4, 90,173,
- 22,110,110,110,240,246,246, 70, 78, 78, 14, 14, 31, 62, 76, 87, 84, 84,124, 3, 96, 37,236,155, 66,159,146,151,151, 23,215,179,
-103,207,221,139, 23, 47,118, 25, 61,122,180, 48, 32, 32, 0, 44,203,226,234,213,171,216,191,127,191,117,219,182,109,186, 58,145,
-101,175,243,242, 73,133, 66,241,212,184,113,227, 18,167, 79,159,238, 68,211,180,240,238,221,187, 48,155,205, 32, 73, 18, 69, 69,
- 69,214,164,164,164, 90,131,193, 48, 13,192, 73, 59,248,210,170,171,171,195,147,147,147,167,159, 63,127,254,163, 25, 51,102,120,
-140, 28, 57, 82, 68, 81, 20,206,157, 59,167,238,211,167,143,183, 74,165,178,238,219,183, 79, 99, 50,153,150,210, 52,109,215, 18,
- 60, 4, 65, 64,167,211,193,211,211, 19,102,179, 25, 12,195,192, 98,177,192,209,209,177, 97,217, 36,150,101,209, 22,231,250, 38,
-109,128,111,181, 90, 49,117,234, 84, 48, 12,131,245,235,215,131,162,168, 54,147,185,184,184, 92, 73, 79, 79,143,235,221,187,119,
-131,120,169,111, 67, 18,137, 4,158,158,158,240,240,240, 64, 82, 82, 18,132, 66,225, 21, 91,254,110,117,184, 86, 81, 81,209, 39,
- 57, 57,121,192,141, 27, 55,158, 7,208,219,106,181,250,211, 52, 77,240,120, 60, 37,203,178,215,117, 58,221,183,176,115, 9, 30,
-149, 74,245,209, 11, 47,188,208,103,231,206,157,142, 2,193,127,110, 13,129, 64, 0,137, 68,130,250,224,152, 44,203,194, 98,177,
-224,189,247,222,211,233,245,250,143,254, 45, 79,137,168,190,253,177,101,211, 23,142,167,127, 61,161,206,202,195,254,102, 66, 56,
-148,148,151,109,233,161, 40, 46,118,140,234,219,223, 46, 78,210, 98,213, 60, 59,237,173,192,186, 37,120,222,187,123,183, 96,115,
-226,142,207,242, 1,224,147,207,215,119, 47,215, 84,207,202,206,202,158,180,121,243,174, 1,164,197,170,177,135,243, 63,226, 37,
- 81, 11, 22, 38, 0,151,174,222, 40,239, 50,126,202,241,165,221,186, 58, 63,161,210, 24, 75,107,107, 13,175, 3,200,183,183,236,
-131, 6, 14,197,175, 39,127,194,143,219, 19,117, 44,195, 55,121,122,122,178, 0,144,149,229,201,102,101, 85,179,255,241, 43,118,
-213, 11,217,107, 43,223,122,125,228, 91, 90, 93,229,231,235, 55,181, 62,148,210,179,215, 99,232,217,235, 49,188,246,250,187, 46,
-225, 17,161,129, 0,176,119, 47,232,136,110,153,191, 44,123,127,197, 19, 43, 87,174,128,174,198,140,250,229,122,114,110,102, 30,
-201,207,135,133,123,103,221,143,101, 20,117, 9,111,189,213,221, 80, 89,233, 53,232,157,119, 60, 5,111,191,205,107,205, 25,190,
-241,253,107, 15,231,229,235,215,143,204,122,249,229,210,229,203,150,141,249,102,243,102, 89,143, 30, 61, 80, 86, 86,134,208,208,
- 80,248,251,251, 35, 57, 57, 25,251,246,236,209, 87,215,212, 44, 5,240,181, 61,156, 59,142, 30,205, 9,137,136,168,216,188,121,
-179, 95,108,108, 44,161,215,235,161,213,106,161,213,106, 97, 54,155, 81, 23, 16,154,205,205,203,203, 34, 73,242, 27,123,203, 78,
-171,213,210,149,253,251,151,136, 24,102,205, 83, 19, 39, 46, 92,249,225,135,146,174, 93,187, 18,102,179,185,193,170,101,181, 90,
-225,232,232,104,181, 88, 44, 30, 0, 12,246,112, 74,182,109,163,212,106, 53,188,188,188, 26,194, 53, 53,142, 75, 88, 83, 83, 3,
-150,101,185, 96,186,237, 64,139, 10,201,205,205,237,138, 64, 32,232,216,216,186,213,220,218,121,141,247,145, 36, 89, 82, 81, 81,
- 17,213, 68,241,182,228, 15, 21, 4,224,227, 17, 35, 70, 60,181, 96,193, 2, 34, 53, 53, 21, 7, 15, 30,100,243,243,243,247,214,
- 89,177,242, 91,233,233,180,196,233, 36,145, 72,230, 59, 56, 56, 68,215,135,112,144,203,229, 55,244,122,253,169,186,225,194,154,
-118,112, 58, 75, 36,146,121, 14, 14, 14,163,234,150, 95,129,147,147, 83,186, 94,175, 79, 54,155,205, 95,160,229,133,170, 91,227,
-148,185,184,184,124,228,233,233,249,236,219,111,191,237,113,246,236, 89,229,175,191,254, 42,170,174,174,222,105,177, 88, 90, 91,
- 84,250, 79,156,238,238,238, 87,248,124,126,199,191,168,142,208,179,103,207,164,241,227,199,199, 78,155, 54, 13, 36, 73,226,235,
-175,191, 70,114,114,242,145, 91,183,110,197,217,232,141, 54,229,244,236,216,177, 99,234,236,217,179, 59, 77,157, 58, 85,238,230,
-230, 6,129, 64, 0,189, 94,143, 91,183,110,225,234,213,171,236,161, 67,135,106,211,210,210, 74, 12, 6,195, 48, 0, 21,109,184,
-158, 15,210,107,190,143, 83, 32, 16, 12, 13, 8, 8,216,181,124,249,114,167, 81,163, 70,201, 60, 60, 60,192,231,243, 65,146, 36,
-148, 74, 37,110,222,188,137, 19, 39, 78,232,247,238,221,171,215,104, 52, 83, 1,156,249,255,200,231,195,228, 12,235,142,247,155,
- 44, 20,221, 98,180,119, 27,105,109,230,115,196, 80,223,248, 73, 79,141, 27, 11, 0, 63,239, 59,118,220,142, 69,165, 91,204,167,
-173,188,218,195, 25,218,141,183, 60, 35,243,230,125, 1, 45, 35,194, 35,115,195,122, 76, 92,101, 15, 81,163,200,240,247,149,189,
-209,112,108, 99,155,238,125,195,172, 97, 65,136,139,159,244,100,236,187, 75,151,224,227,143, 18,112,232,231, 3, 71,178,242,239,
- 91, 38,232, 31,215,150,254, 98, 78, 98,149, 64,240,152,220,215,119,200,122,134, 89,114,237,230, 77,199,198, 29,182,122,203,115,
-227, 78,165,159,159,159, 74,169, 84,118,176,135, 51,238,203, 47,173, 6, 7, 7,201,146, 53,107,134,214,154, 76, 67, 87,174, 92,
- 41,184,124,249, 50, 54,125,245, 21,101, 42, 41, 73, 84, 3,243, 90, 24, 13,105,145,179,211,188,121,210, 69,155, 54,189, 24,212,
-173,155,247,243,207, 63, 47, 20, 10,133,208,235,245, 40, 46, 46,198,201, 19, 39, 44,153, 89, 89,153, 58,157,238, 9, 0, 10,123,
- 57,227,190,252,210,234, 26, 20, 4,185,151, 23,123, 58, 37,197,101,214,252,249,179, 59,119,233,226, 50,102,236, 88,161,179,179,
- 51,170,170,170,112,247,238, 93, 28, 56,112, 64, 85, 91, 91,235, 7,128,182,135, 51,241,252,249,158, 71,207,156,121,122,213,170,
- 85,226,200,200, 72,184,184,184,160,166,166, 6, 55,111,222,196,153, 51,103,204,223,124,243,141, 86,171,213,206,166,105,250,240,
- 95, 88,239,255, 6,171, 86, 61,182,216, 20, 90,255,197, 27, 48, 10,192,251,117,219, 31,194,246,154,129,255,166,135, 79,160,187,
-187,251, 22,147,201,196, 26,141,198, 89, 0,138,254,134,249, 20, 68, 69, 69,109, 82,169, 84, 3, 88,150,133,139,139,203,133,140,
-140,140,185,104, 97,230,141, 13, 78, 62,128, 1,142,142,142,253,157,156,156,134,154,205,230,176,186,225,183, 44,189, 94,127,198,
-106,181, 94,170,179, 62,209,255,207,101,231, 3, 24,229,231,231,247, 50,195, 48,221, 8,130,112,165,105, 26, 36, 73, 86, 51, 12,
-115, 75,171,213,110, 3,144,252, 55,200,231, 67,225, 12,127, 4, 79,178, 60,132,181, 36, 8,238, 19, 90, 77, 4, 4,193, 32, 43,
-243, 54, 14,180, 33,159,188,113,209, 1, 27,129,123, 51, 19, 97,219,185,246, 63, 66,203, 14,241,210,102,145,249, 8,255, 5,150,
- 96,239,227, 36, 88,162, 40,180,231,147, 63, 62,136,208,178, 23,225,193, 24, 10, 22, 3, 24, 22,151,178,111,225,215,127,241,179,
-238,161,113,126, 12,184,127,229,230,118,129, 39, 16,248, 0,224,213, 89, 95, 24,134, 32,104,150, 32,168,198,195, 91, 77, 58,150,
-173,114, 90,129, 30, 66,137, 36,128,166,168, 14,101,128,227, 81,154,126,212,196,178,181, 29,129,247,211,129,156,246,228,211, 10,
-244,224, 75, 36,129, 71, 89, 54, 94,237,224,208, 83,101, 52,122, 1, 96, 29, 29, 28,178,116,122,253,118,147,201,180, 17,127, 30,
-185,176,201, 41,146, 72, 58,210, 20,213, 1, 0,120, 2,129,106,183,217, 28, 80,226,236,252,188,201,108,238,228,232,232, 72, 90,
- 44, 22,157,201,100,154, 70, 81,212,233,182,148,253, 22, 69,133,159,231,241, 6, 91, 29, 28, 60,172, 4,225, 96,161, 40,171,197,
-106, 45, 54,153, 76, 55, 0,124, 6,224,246, 95, 92,239, 28,218,121,179,112,156, 28, 39,199,201,113,114,156, 28, 39,199,249,215,
-115,202, 1, 4,214,117, 22,255,137,101,255, 55,193, 62, 31, 45, 14, 28, 56,112,224,192,129,195, 63, 6, 6, 52,227,147,197,225,
-255, 23, 68, 43,170,180, 45, 38,193,246, 40,219, 83, 28, 39,199,201,113,114,156, 28, 39,199,201,113,254,207,113,218,226,254, 39,
- 14, 73,182,184,214,225, 95, 13,206,252,203,113,114,156, 28, 39,199,201,113,114,156, 28,231,255, 44,120,220, 37,104, 17, 29,234,
- 62, 15, 59, 45,135,127,119, 91,104, 10,255,186, 79, 91,210,251,114,151,156, 3, 7, 14, 28, 56,161,245, 87,191,180, 30,228,229,
-246,160,194, 39,129, 32,160, 32, 8, 40, 0, 36, 60,196,180,182,224,231,233,233,249, 70,120,120,120, 98,135, 14, 29, 94, 3,224,
-221,198,227,187,203,229,242, 47, 28, 28, 28, 82, 29, 28, 28, 82,229,114,249, 23, 0,186, 63,164,122, 35, 0,204,146, 72, 36, 41,
-190,190,190,165, 98,177, 56, 5,192,108,180,127,230,106, 8,238,197, 73,251, 16, 64,207,182, 28,232, 29, 17,191,199, 43, 34,254,
-186, 87, 68,252, 77,143,200,241,221,189, 34,226,111,122, 69,196, 95,247,142,136,223,243, 23,180,215, 7,169,223, 4,130, 64, 17,
- 65,160,200,206, 99, 63, 35,128, 98,130, 64,201, 67,104, 75, 28, 56,112,224,192,225,159, 6, 63, 63,191,167,124,125,125, 79,249,
-250,250, 38,251,249,249, 61,101,199, 33,209,205,188,120,104,130, 0,109,227, 69,210, 90, 58, 91,230,202,198,199,126,106,103,209,
- 26,115,118, 32, 8,208,108, 29, 8, 2,140,183,183,247, 6, 95, 95,223,132,166, 31,111,111,239, 13, 4, 1,166, 81, 90,186,145,
-192,107,171, 89,181,195,115,207, 61,247,115, 85, 85, 85,146,197, 98, 73,202,203,203, 75, 26, 54,108,216,238, 38,214,141, 22, 57,
-165, 82,233, 51,253,250, 15, 72, 59,115,238, 82, 94,238,173, 2, 69,102,206,157,130, 95,142,159,190, 28,217,163,231, 31, 82,169,
-244,153, 54,212, 17, 1, 96,150, 64, 32, 72,113,116,116, 44, 17, 8, 4, 41, 0,230,240,249,252,195,171, 87,175, 46,200,200,200,
- 40, 63,127,254,124,245,153, 51,103, 74,103,204,152,113,139, 32,136, 95,154, 17,236,209,205, 88,105,154, 90,117,150, 21, 22, 22,
- 30, 87, 42,149, 39,100, 50,217, 71,118,164,111,224,244,138,136,191,174,210, 90, 89,149,214,202,122, 69,196,179,141,182,175,183,
-241,154,219,170,163, 63,181, 5,137, 68, 18,104, 67,208, 71,183,116, 44, 0,159,186,255,162, 0,124, 89,247,169,159,122,238, 35,
-149, 72, 30, 86, 91,122, 24,101,231, 56, 57, 78,142,147,227,252,111,115,254,147,209,167,238,219, 23,247,252,181, 26,222,221,109,
-157,117,248,106, 94, 94,158, 35, 0, 4, 7, 7,207, 5,176,175, 45, 66,130, 32,176,136, 97, 88, 30, 0,240,120,196, 59,195,135,
-143,232, 35,147,201,238,139,130,108, 52, 26,197, 41, 41,191,142,100, 24,150,168, 75,183,136,101,241, 5,128,114,123,207, 97,177,
-152,121, 66,161, 24, 60, 30,241, 86,100,100,143,206, 21, 21, 21,103,121, 60, 94, 98,105,105,105, 85,155,205, 56, 4,129,173, 91,
-183, 6,251,250,250,254, 41, 90,179, 82,169, 20,199,199, 63,209, 38,190, 23, 0,137, 89, 34,233, 47, 34, 8, 95,154,162, 92, 1,
- 64, 32, 16, 84, 93, 22,139,163, 62, 94,181, 74, 78, 16, 4,163,209,104, 96, 52, 26,241,230,155,111,202, 50, 51, 51, 39, 84, 84,
- 84,108,180, 65, 27,220,179, 87,159, 55, 79,156, 56, 30,166,171,172, 50,109,253,124,115,154, 81, 32, 50,116, 9, 15, 21,109,218,
-178,221,109,230,139,211, 94,207,206,206, 72, 71,243,203,145, 52, 6, 15,192,129,249,243,231, 71,196,197,197,137,107,106,106,164,
- 70,163,177,115, 98, 98,226,123, 81, 81, 81,142,189,123,247, 22,239,218,181,139,208,106,181, 96, 89, 86, 30, 26, 26,202, 78,158,
- 60,217,180,123,247,238,215, 0,108,104, 69,248, 46,186,119, 45,121,235, 67, 66, 66,150, 3, 64, 94, 94,158,168,209, 53, 22,134,
-133,133, 57, 0, 64, 78, 78,206, 7, 44,203,204, 7, 0,150,197, 90, 0, 75,154, 49,173,229, 69, 12,154, 4, 16,232,150,113,238,
-103,105,196,224, 73, 38,176,184, 69, 0,121,117, 29,130,149, 64,163,184, 80,247, 35, 75,161, 80,180,107,109,194,216,216, 56,130,
- 32,136,189,105,105,105,251, 84, 42, 85, 23,134,161, 95,105, 45,159, 77,218, 17,225,225,225,241, 66, 69, 69, 69, 2,128,151,179,
-178,178,250, 0, 64, 88, 88,152, 8,192, 21,103,103,231,129, 86,139,133,224,158, 85, 28, 56,112,224,240,143, 21, 90, 87, 1,196,
-226, 63, 75,240,108,105,143,208, 18, 3,192,217,179,103, 1, 64,210,142,140, 16,141, 5,204,188,121,243,224,235,235,219, 84,188,
- 32, 53, 53,229, 65, 10,123,223, 57, 62,252,240, 67,199,234,234,234,232,111,191,253,118, 8,203,178,159, 42, 20,138,223,109, 28,
- 95,206,178, 88,203,227, 17,239, 16, 4, 1,137, 68,154, 59,123,246,236,171,117,255,117,254,229,151, 95,228,227,199,143, 55, 0,
- 40, 0, 0,137, 68,234,207,231,243,130, 89,150,173,127,225,182, 40, 8,159, 6,130, 40,177,120,196,172, 47,191,164, 30, 29, 63,
- 94,224,224,229, 69, 0, 64, 65,118,182,199,218, 79, 62, 25, 88,149,159, 47, 54,122,120,104, 52,122,189, 49, 55, 55, 23, 18,137,
-132,224,243,249,143,218, 42,176,131,131,195, 27,171, 62, 94,227,160,171,172, 54,154,116, 53, 22, 62, 69,154,157,100,114,186,188,
- 76,165,113,148, 57, 24,222,121,127,133,248,213, 87,166,191,161,215,235,231,218,160,122,237,173,183,222, 10,235,215,175,159,255,
-158, 61,123, 8,173, 86, 11,129, 64,224,216,187,119,111, 68, 69, 69,209,191,254,250, 43,209,165, 75, 23, 68, 70, 70,226,220,185,
-115,184,112,225, 2,209,167, 79, 31,249,254,253,251,159, 35, 73,114,131, 45,113,205,231,243,222, 12, 13, 13,237,237,224,224, 96,
- 9, 14, 14,198, 43,175,188, 2,150,101, 17, 29, 29, 29,233,232,232,184, 79,175,215,139,115,114,178,135,216, 18,217,170,140, 67,
-147,235, 45, 91, 0,122,128,197, 45,117,198,161,198,195,143, 97, 57, 57, 57,143, 85, 85, 85,225, 94,189,176, 13, 11,152, 15, 25,
- 50,164, 45,109,169,156,101,177,118,252,248,184,119, 0,130,136,142,142,174,126,237,181,215,120,217,217,217,207, 62,249,228,132,
-200,188,188, 91,104, 37,159,141,219, 17,241,194, 11, 47,150, 59, 58, 58, 78,220,187,119,111,142, 82,169, 20,136, 68, 13, 58,147,
-239,237,237,237, 21, 28, 28, 60,199,221,221, 93,197,231,241,188, 89,176,172,173,182,196,129, 3, 7, 14, 28,254, 86, 56, 82, 39,
-174,142, 52,253, 67, 0, 0, 73, 73, 73, 13,145,105,227,226,226, 90,236, 85,179, 44, 91,126,237,218,181, 0,131,193, 0,150,101,
-237,121, 9, 52,158,162, 89, 78, 16,188, 77, 60, 30, 49,151, 32, 8, 68, 70,246,184,179,126,253,250,230,214,244,178, 68, 70,246,
-184,195,231,243,186,178, 44, 11,130,224,125,205,178, 76,121, 11,156,205,190, 24,197, 98,201, 34, 0,240,241,241,205, 63,118,236,
-152,229,233,167,159,198, 39,159,124, 34, 90,188,120,241, 66,129, 64,240, 90, 81, 81, 81, 89, 43,249, 4,128, 37, 94, 94,222,242,
-173, 91,183, 6,207,158, 61,251,170, 82,169, 92, 2, 0,190,190,190, 9, 0,194, 1, 20, 52,218,135,111,190,217, 93,250,202, 43,
-175,228,170, 84,170, 37, 45,113, 78, 4, 30, 9, 8, 13, 29,177,242,236, 89,150,103, 54, 19, 21,191,253,166, 83,151,151,147,183,
-213,106,249, 15, 87,174,196,189,151,144, 32, 12, 8, 12, 68,234,225,195,158, 21, 6,131, 90,107, 54,155,202,203,203, 89,138,162,
- 46,216, 81,246, 8,111, 47,111,249,230,207,190,190,236, 36,228, 51,222, 29,253, 9,161,187,187,128, 39,119, 22,243, 5, 60,115,
-215,206,221,197, 0, 34,108,213,145, 72, 36,122,110,244,232,209,242,221,187,119, 19,145,145,145,112,117,117,197,111,191,253,134,
-244,244,116, 84, 85, 85,241, 72,146, 68,223,190,125,177,102,205, 26, 4, 6, 6,162,186,186, 26, 69, 69, 69,158, 98,177,216,139,
- 36,201,150,174,231,125,237,105,209,162, 69,240,245,245, 5, 69, 81,168,172,172, 4, 69, 81,112,116,116, 4, 0,148,148,148,224,
-240,225, 67,246,180, 37,155, 96, 89, 22,143, 63,254,120, 13, 65, 16, 89, 77, 45, 90,109,225,244,247,247,223,165, 86, 87,140, 27,
- 49, 98, 4,170,170,170,200, 21, 43, 86,160,103,207,158, 8, 14, 14,182, 39,159, 75, 68, 34,241,183,157, 58,117,250,108,222,188,
-121,190,238,238,238, 48,155,205,239,149,149,149, 97,206,156, 57, 0,128,152,152,152,158, 66,161,240,216,140, 25, 51,208,165, 75,
-151,210,202,202,202,162,180,180,180, 87, 12, 6,195,205,246,150,221, 78,112,156, 28, 39,199,201,113,254,173, 56,237,213, 34,127,
- 83, 40,113,127, 56,135, 45,247, 9,173,184,184, 56, 34, 41, 41,137,181,163, 96,154,142, 29, 59, 6,200,100, 50, 0,208,180, 53,
- 23, 12,195,188,230,225,225,161, 90,178,100,201,160,224,224, 96,203,107,175,189,118,179,160,160, 96,105,227, 52,157, 59,119,254,
-232,171,175,190, 66,110,110,110, 65, 66, 66,194, 57,141, 70,211,214,117,204, 22,179, 44,214,215, 89,199, 42, 14, 31, 62,220,243,
-236,217,179,115, 63,255,252,115,175, 87, 95,125, 85,244,198, 27,111, 76, 3,240,137, 45, 18, 62,159,111,104,110,184,176, 57,248,
-250,250, 90,248,124,126,139, 65,226,226, 0,153, 84, 44, 30,190,242,236, 89,214, 82, 80, 96,248,110,221, 58,167,205,127,252,177,
-156,100,217, 14,222,222,222, 24, 60,112, 96,173,148,207,175, 80,149,149, 49,222,143, 60,194,191,123,236,152,167, 81, 44, 86,236,
-222,189, 91,171,209,104, 14,218, 52,225, 17,132,142, 97, 89,139, 99,199, 64,242,233, 9,163, 34, 47, 95, 74,207,118,242,246,228,
-245,233, 29,217, 51, 59,183, 32, 13, 12, 99, 37, 8, 66,103,139,199,197,197, 37, 88,163,209, 64,167,211,193,203,203, 11,235,215,
-175,135,143,143, 15, 12, 6, 3, 50, 50, 50,216,142, 29, 59, 18,103,207,158, 69,199,142, 29,161, 86,171, 97,144,143,144,232, 0,
- 0, 32, 0, 73, 68, 65, 84,177, 88, 80, 83, 83,163, 50,155,205, 45,173,205, 88,206,227,241,191,231,241,136, 23, 9,130, 64,215,
-174, 65,133, 27, 55,110,180, 48, 12,131,176,176, 48, 60,249,228,147,216,191,127, 63, 50, 50, 50,234, 45, 79,150, 78,157, 58, 23,
-242,120, 68,167, 58,173,212,110,171, 78,253,210, 62, 10,133, 98, 98, 59,111, 26,158,159,159,223,180,110,221,186,205,125,230,153,
-103, 72,177, 88, 12,189, 94, 95,127, 45,200,113,227, 98,170,199,143,143,115, 57,114,228, 72,171,249,180, 88, 44,249, 90,173,246,
-229,183,222,122, 43,241,155,111,190,113, 91,186,116, 41, 24,134, 1,203,178,160, 40,170, 97,209,111,134, 97,112,224,192, 1,220,
-190,125,251,163, 38, 34,139, 3, 7, 14, 28,254, 39,208, 6, 45,242,119,132, 47,238, 13, 27,162,169,216,250,175, 71,134,231,243,
-249,155, 79,158, 60,217,123,200,144, 33,130,145, 35, 71, 70, 30, 63,126, 60,178,180,180,244,102,157,245, 32,114,228,200,145,145,
-222,222,222,248,226,139, 47, 12,124, 62,127,115, 59, 79,211,240,210, 43, 43, 43,187, 10,224,211,253,251,247,175,157, 53,107, 22,
-124,124,124,194,149, 74,229,127,181,204,206, 18, 73,159, 25,235,215, 83, 66,146,228,125,249,233,167,206,235, 82, 82,214,238,249,
-249,103,193,227,143, 63, 78,176, 44,139, 27,215,175,203,214,108,216, 32,159, 58, 97, 66, 65, 78,126, 62,117,232,196, 9,178,188,
-180,180,178, 84,173, 94, 6,160,210, 22, 63, 73,146, 23,243,242,242,252, 6, 15,125,220,255,204, 31, 55,211,159,158, 16, 51, 66,
- 40,224, 17,183, 10, 74,174,248,250,120,186,164,166,156, 50,146, 36,121,209, 22,143, 94,175,191, 75, 81,148, 59,203,178, 94,169,
-169,169,240,242,242, 66, 85, 85, 21, 72,146,132,197, 98,177, 24, 12, 6,169, 70,163,129,201,100,130,217,108,134,179,179, 51,110,
-220,184, 81, 78, 81,212,175, 45,113,210, 52, 61, 67, 34,145,124, 40, 20, 10,197, 34,145, 72,113,229,202, 21,232,116,186,206,174,
-174,174,159, 80, 20, 5,133, 66,129,179,103,207,190,237,236,236, 92, 0, 0, 82,169, 20, 98,177,196,195,108, 54, 83, 0, 74,219,
-123,205, 89,150,109,119,125,249,248,248, 4,202,100,178,149,239,188,179, 40,172, 87,175,222, 80,171,213, 96, 24, 6, 14, 14, 14,
- 48, 24, 12,112,118,118,198,128, 1, 3,238,174, 92,185, 82,201,178,152,105, 75, 12,170, 84, 42,181, 64, 32,120,109,214,172, 89,
- 31, 6, 7, 7,119,101, 89, 22,221,187,119,199,232,209,163,113,236,216, 49,228,230,230, 66,175,215,211,191,255,254,251, 79, 74,
-165,242, 23,238,113,203,129, 3, 7, 14,255, 56,252,201, 55,235, 62,139,214,127, 19, 42,149, 74,157,157,157,125, 60, 45, 45, 45,
-110,242,228,201, 72, 77, 77,125, 1,192, 91, 0, 32,145, 72, 94,152, 60,121, 50,210,210,210,144,157,157,125, 92,165, 82,169, 31,
-198, 57,197, 98,177,201, 98,185,103,156,146, 74,165,210, 54, 30,222,185,110,200, 16, 0, 58,183,178,175,101,211,136, 64,224,219,
- 99,236, 88, 65, 85,122,186,110,235,165, 75, 31, 38, 38, 38, 10, 6, 13, 26, 68,144, 86, 43,104,134, 65, 80, 80, 16, 49, 50, 58,
-218,225,251,196, 68,119, 90,175, 63,187,234,157,119,126,219, 50, 99, 70,109, 94,157, 31,152, 45,152,205,230, 13,115,231,188, 28,
-157,146,250,155,127,120,232, 35,238,199, 79,166, 92,245,240,112,145, 7,119,235,230,160,169,170,164,151, 46,126, 91, 96, 54,155,
-191,180,197, 99, 52, 26, 15,156, 58,117,106, 66, 64, 64,128,215,205,155, 55, 97,177, 88, 64,211, 52, 70,142, 28, 9,150,101, 37,
- 0, 24,129, 64,128,236,236,108, 88,173, 86, 85, 94, 94,158,226,214,173, 91, 18, 0,171,109,228,175,208,108, 54, 35, 43,235,222,
-168, 93,199,142, 29, 71,197,198,198,130,162, 40,140, 29, 59, 22,135, 14, 29, 26,149,149,149,181,174,177,230,123,208, 58,175,179,
-144,133,249,249,249,237,175,219,101,151, 19,188,191,191,127,100, 80, 80,208, 55,171, 87,175, 22,117,236,216, 17, 44,203,194,205,
-205, 21, 6,131, 1, 21, 21, 26,132,135,135, 35, 32, 32, 0,171, 87,175, 6,128,159,236,181,184, 41, 20,138, 91, 10,133, 98,178,
- 74,165, 18, 85, 87, 87, 71,141, 26, 53,234,139,232,232,104, 92,189,122, 21,191,253,246,219, 84,137, 68,162,178, 90,173,148,143,
-143,207, 76,130, 32,156,173, 86,235, 78,141, 70,163,228,158, 93, 28, 56,112,224,240,143, 64,189,143, 22, 26,125,183,205,162, 21,
- 22, 22,230, 80, 80, 80,240,124,231,206,157,197, 0, 32,147,201,194,131,130,130, 22,230,231,231,215,180, 53, 55, 6,131, 97, 79,
- 98, 98,226,232,207, 62,251, 76, 20, 19, 19,243,200,254,253,251,251, 1, 64, 76, 76,204, 35, 78, 78, 78, 72, 76, 76,180, 26, 12,
-134,135, 22, 19,137, 36,201, 33,125,251,246, 69,101,101, 37, 10, 10, 10,218, 52, 44,243,203, 47,191,200,113,207, 47,171,213,125,
-173,129,178, 88,220, 92,253,253,121,165, 41, 41,214, 74,157,206,119,200,208,161, 4,105,181,130,199,227, 65,163,209,160,168,168,
- 8, 46,174,174, 68,118, 94,158,227,182, 69,139,126,233,220,171,151,152,182, 88, 60,218,144, 77,125,133,170,252,197,215, 95,123,
-245,192,206,157, 63,121, 85,235,116,183,101, 50,185, 89, 34, 17,249,204,123,253,117,186,178,178,114, 58,128, 90, 59,120, 86,239,
-220,185,115,236,216,177, 99,175, 7, 6, 6,122,171,213,106,159,234,234,106,186,178,178,146,143,123,190, 86, 4, 0,164,164,164,
- 64,167,211, 81, 52, 77,159,197,189, 88, 88, 22,123, 51,218,169, 83, 39,151,168,168,168, 97, 94, 94, 94,208,106,181,240,240,240,
- 64,239,222,189,135,241,249,252,111, 11, 11, 11,181, 15,179,213, 39, 39, 39, 59,177, 44,251, 24,203,178, 24, 59,118,172, 93,199,
-208, 52,253, 82,108,108,172,136, 32, 8, 24,141, 6, 72,165, 50, 56, 56, 56,194,201,201, 25,193,193, 33, 80, 40, 20, 24, 51,102,
-140,229,246,237,219,155,148, 74,101,155,219,168, 86,171,141, 31, 48, 96,192,130, 57,115,230,128,162, 40,196,199,199,163,184,184,
-120,221,221,187,119,119,251,249,249, 77,123,233,165,151,188, 60, 60, 60,176, 96,193, 2, 25,128, 15,184,103, 23, 7, 14, 28, 56,
-252, 35,208,212, 71,235,207, 22,173,214,198, 68,125,124,124, 6, 19, 4,241,158,209,104, 20,215, 15,201, 16, 4, 33,246,242,242,
- 58,100, 52, 26, 19,148, 74,101,155,156,226,170,171,171,117,119,238,220, 57,116,241,226,197, 73, 19, 39, 78, 68,114,114,242,116,
- 0,152, 56,113, 34, 46, 94,188,136, 59,119,238, 28,170,174,174,214, 61,140,146,251,251,251,143, 27, 58,116,232,196,190,125,251,
- 34, 41, 41, 9, 52, 77, 95,104,203,241,141,103, 24,162,153, 89,135,245,251,236, 34,227,243, 65, 16, 4, 40,138, 2, 0, 84,168,
-213,200,205,201, 65,101, 85, 21,204, 38, 19,244, 6, 3, 29,220,165,139, 81,107,177, 8, 9,160,173, 99, 95,133,105,151,127, 47,
- 50,232,245,222, 30,110,238, 70,185, 92,130,106,157, 86,116,229,242,239,181, 0,110,219,201, 97, 97, 89,118,232,177, 99,199,150,
-241,249,252,201,142,142,142,152, 59,119, 46,127,216,176, 97, 16,137, 68, 48,155,205,168,174,174, 70, 98, 98,162,154,166,233,174,
-117,199, 56,202,229,242,237,124, 62,191,164,166,166,230, 61,155, 39,176, 88, 98,226,226,226, 4, 22,139, 5,171, 86,173,194,242,
-229,203, 49,118,236, 88,193,229,203,151, 99, 0,236,124, 88, 45,158, 97, 24,140, 26, 53,170,177, 51,124,150, 61,199, 9,133,194,
-200,110,221,186, 65,173, 86, 67,173, 86,195,203,203, 11,126,126,126,240,241,241,193,186,117,235,216, 47,190,248,226,184,213,106,
-221, 84, 81, 81, 81,222,142,182, 56,115,250,244,233, 51, 39, 77,154,132,218,218, 90, 92,188,120, 17, 3, 7, 14,196,218,181,107,
-125,207,158, 61,251, 86,223,190,125, 33, 20, 10,145,154,154, 10,138,162,138,185,231, 22, 7, 14, 28,254,215,240, 15,245,207,106,
- 21,173, 90,180, 2, 2, 2, 92,105,154,126, 59, 54, 54,118,212,132, 9, 19, 48,102,204,152,251,254,223,185,115,167,211,190,125,
-251, 18, 54,108,216, 48,214,106,181,174,110,203, 80, 31,195, 48, 7,118,238,220, 25,243,248,227,143,203,135, 15, 31, 30, 4, 0,
- 18,137,196,178,115,231, 78, 3,195, 48, 7,218, 81,150,250,224,142,229, 0,224,231,231,215, 83, 32, 16, 76, 28, 55,110, 92,207,
- 23, 95,124, 17, 25, 25, 25, 72, 76, 76,188, 21, 28, 28,124,174,188,188, 77,239,200, 2, 27,179, 14, 19,108, 89,183,248, 98,177,
-166,186,172,204,213, 49, 48, 80,232,230,228,164, 76, 74, 74, 10,136,142,142, 38,138,139,139, 81, 85, 85, 5,147,201,132,203,151,
- 47, 51, 2,160, 80,224,230, 70, 20, 94,188, 72,240,197, 98, 13,238,159,201,103, 19, 1,190,110,221,223, 95, 60,187,179,201,108,
-138,208,106,181,148, 64, 40, 20,118,244,113, 45,206,185,221,166,145, 56,179, 92, 46,143, 2, 32, 96, 24,198,224,238,238, 46, 63,
-121,242, 36,196, 98, 49, 8,130, 64,143, 30, 61, 32,149, 74, 69, 44,203, 22, 1,128,147,147,147,120,243,230,205, 46,211,166, 77,
-251,205, 22,113,159, 62,125,132, 18,137,228,137,224,224, 96, 92,188,120, 17, 55,111,222, 44,188,120,241, 98,167, 62,125,250, 32,
- 48, 48,240, 9, 95, 95,223,159,175, 94,189, 74, 62,140,134,125,111,198,106,219,157,225,105,154,102, 8,130, 0,143,199, 3,195,
- 48, 80,171,213,232,218,181, 43, 54,110,220,136,245,235,215,175, 82, 42,149,135,219,147,159,176,176, 48, 81,215,174, 93,167, 79,
-154, 52, 9,249,249,249, 72, 72, 72,168, 80, 42,149, 41, 39, 78,156,120,106,206,156, 57,252,129, 3, 7, 66,163,209,224,251,239,
-191,167,174, 92,185,242, 93, 89, 89,217, 14,238,145,203,129, 3, 7, 14,255, 98,161, 21, 16, 16, 48, 73, 36, 18, 45,152, 50,101,
- 10, 63, 36, 36, 4,229,229,229,112,118,118, 38, 9,130, 16, 2,128,171,171, 43, 41,147,201, 48,123,246,108,244,234,213,107,240,
-162, 69,139, 6, 10, 4,130,141, 10,133, 98,187, 61, 39, 86,169, 84, 6, 30,143,183,119,238,220,185,171,211,211,175,118, 5,128,
- 63,254,248,227,142, 66,161, 88,172, 82,169, 12,109, 44, 71,125, 80, 76, 66, 34,145, 94,234,222,189,251,221,168,168, 40,231, 9,
- 19, 38,192,203,203, 11,105,105,105, 88,179,102, 77,158,197, 98, 89,118,230,204, 25,234,191,125,145, 41,179,185,236,202,193,131,
- 78,195,158,125,214,121, 94,108,236,167,175,206,157,251,217,251,239,191, 47, 8, 9, 9, 33, 12, 6, 3, 46, 93,186,196,238,219,
-183,143,252,254,195, 15,215,195,193, 65,120,113,223, 62,177,197, 98, 41,108,163,181,100,232,160, 33,131, 67, 62,253,108, 3, 76,
-198, 90, 92,186,112, 4, 85, 85,106,108,222,178, 63,196,223,159, 29, 90, 90, 90,122,198, 94, 46,130, 32,130,147,147,147,189, 89,
-150,133, 88, 44,198,202,149, 43,225,231,231, 7,103,103,103,212,212,212,224,173,183,222,114,153, 63,127,190, 11, 0,100,100,100,
- 52,132,103,176, 5,133, 66, 49, 96,246,236,217, 78, 20, 69,225,248,241,227, 22,130, 32,222, 59,117,234,212,183, 61,122,244, 16,
- 15, 30, 60,216,105,199,142, 29, 3, 1,164, 62, 44,161,213,206,227,110,157, 60,121,178,239,228,201,147, 89,161, 80, 72, 84, 87,
- 87,195,213,213, 21, 27, 55,110,212, 43,149,202, 35,237,110, 3, 20, 37,150,203,229, 98,150,101,177,119,239, 94, 20, 22, 22,190,
-164,209,104,202,104,154,222,255,246,219,111, 47, 12, 9, 9,233,146,147,147, 83, 88, 83, 83,179, 86,165, 82,221,229, 30, 77, 28,
- 56,112,224,240,143, 66,189, 19,124,253,236,195, 35,184, 55,156,216,178,208,162,105,122,246,137, 19, 39,248, 12,195, 96,203,150,
- 45,184,114,229, 10, 43,151,203,223,147,203,229, 95,201,100, 50,218,104, 52,206,122,229,149, 87,166, 45, 95,190,156, 55,120,240,
- 96, 92,188,120,145,215,181,107,215,233, 0, 26, 11,173,104,180, 18,107, 67,171,213, 94, 46, 47, 47,235,218, 40, 64,101, 87,137,
- 68,122,217, 70, 97,154,114, 54, 13,138,217,127,229,202,149,122, 95, 95, 95,203,205,155, 55,241,205, 55,223, 48, 87,174, 92, 73,
- 17,139,197,155,149, 74,165,217, 78,206,135,129, 6, 78, 49, 69,165,253,184,112, 97,216,163,241,241,204,203, 11, 22,212,138,100,
-178, 55, 62,221,176, 97, 81,117, 77,141, 31, 8,130,245,112,113, 41,220,178,114,101,194,216, 39,158,168,205, 56,115, 70,154,158,
-156, 44,244, 34,201,107,109,201,103,105,105,233,153,212,212,223,240,195,214,207, 96,181,154,161, 44,189,167,211, 42, 52, 90,216,
- 16, 89,127,226,164, 40, 74,251,212, 83, 79,137, 0,200,158,123,238, 57,177, 74,165,194, 35,143, 60, 2, 0,208,233,116, 56,114,
-228, 8, 66, 67, 67, 1, 0, 55,110,220,104,216,182,149, 79, 7, 7,135, 39, 6, 14, 28,136,194,194, 66,100,100,100,156, 86, 42,
-149, 26, 0,167,139,139,139, 99,250,246,237,139, 3, 7, 14,140,111, 69,104,181,169,142,236, 20, 90,127,226,148,201,100,139,247,
-239,223,255,210,133, 11, 23, 38, 47, 92,184, 80, 56,114,228, 72, 0, 64, 77, 77,141, 1, 0,221, 30,206,198,121, 34, 73, 18, 12,
-195,192,221,221, 93,175,209,104,160, 82,169,238,170, 84,170,185,183,111,223,110, 23,231,195,104,159, 28, 39,199,201,113,114,156,
-127, 19,206,127, 3,236,143, 12,207,178, 44,197, 48, 12, 82, 83, 83,177,127,255,126,218,106,181,206, 84, 42,149, 55, 26, 37,217,
-144,150,150,150,252,212, 83, 79,109,207,201,201,225,103,102,102,130,101, 89,186, 45,185, 49,153, 76, 36, 65,252,121,223,131,150,
-242,135, 31,126, 64, 89, 89,153,181,184,184,248, 20, 69, 81, 7, 30,112,246,226, 3,207, 58,252, 1, 48, 63, 99,177,156, 90, 62,
-104,208,168,101,201,201,146,151,223,125,215,252,194,139, 47,190, 77, 91, 44, 36, 95, 36, 98,196, 14, 14, 60, 90, 34, 17,102,156,
- 57, 35,253, 98,206, 28,119,163,217,124, 60,177, 13, 14,230,245, 22,173, 97,195, 6,227,133,151,223,132,177,145, 69,235,226,229,
- 92,152,173,104,147, 69,203,108, 54, 71, 40,149, 74, 72,165,210, 34, 0, 62,207, 63,255, 60, 24,134,129,209,104, 68, 77, 77, 13,
- 20, 10,133,246,197, 23, 95,164,235,196,147, 96,226,196,137,206,246,240, 6, 5, 5,249, 9,133, 66, 28, 63,126, 28, 66,161,240,
- 8, 0, 8,133,194, 35,201,201,201, 49, 83,167, 78,133,191,191,127, 80,126,126, 62, 1, 27,254,105,222, 17,241,123, 88,160, 59,
- 8,116,187,103,130, 67, 55,175,136,248,235, 4,144, 87, 23, 53, 62,171, 79,159, 62,128,157,126, 89,141, 81, 55,185, 99, 61, 73,
-146, 63, 47, 90,180,104,110,255,254,253, 71, 47, 95,190,156, 0,192,127, 24,119, 32, 69, 81, 15, 20,122,130, 3, 7, 14, 28, 56,
-252,173,173, 90,127, 66,139, 66,139, 32,136, 45, 67,135, 14,157, 9,128, 79, 16,196, 55, 10,133,226, 70,211, 52, 74,165, 50,215,
-207,207,239,147, 46, 93,186,204, 2,192, 18, 4,177,165,141,153, 42,103, 89,172,225,241,136, 69,247,196, 93,187, 2, 84,214, 47,
-117,178, 8, 0,193,227,241,183, 95,189,122,245,221,162,162, 34,181,157, 22,136, 86,241, 48,102, 29, 2,192, 79,192,221, 41,133,
-133, 39, 22, 68, 70, 70,143,157, 51, 7, 61,199,142,117,246,235,212,137, 54, 90,173,204,141,115,231,136, 11,123,247,138,210,147,
-147,133, 70,179,249,248, 1,160,168,173,249, 44, 45, 45, 61,243,107,202,153,147, 79, 79,140, 25, 29,212,197,239,158,104,184,171,
- 64, 69,165,246,100, 91, 68, 86, 19,209, 27,191,113,227,198,195, 34,145, 72,208,120, 41, 27,171,213, 90,105, 54,155, 35, 0,160,
-170,170,202,111,203,150, 45,187,120, 60, 94,161, 45,190,204,204,204, 67,203,150, 45,155, 88, 80, 80,112,178,184,184,184, 0, 0,
-138,138,138, 10, 72,146,220,174, 84, 42, 39, 22, 22, 22,238,131, 29,147, 0, 88,160,123,198,185,159,123, 0, 64,196,160, 73,200,
- 56,247,179, 20, 64,143,136, 65,147, 0, 0,237, 93,203,176, 49,234, 66, 43,188,119,241,226,197,157,163, 71,143,126, 5, 15, 16,
-211, 11, 0, 44, 22, 11,105, 52, 26, 41,154,166, 5, 86,171,149,181, 88, 44, 36,247, 76,226,192,129, 3, 7,251,193,178,108, 95,
- 0, 94,117, 63,235, 13, 40, 94, 77,182, 45,168, 91, 46,176,254,241, 91,247, 91, 77, 16,196,229, 70, 28, 13,251,237, 56, 22, 0,
- 42, 0, 92, 39, 8,162, 37, 35,200,150,150,126,183, 40,180, 20, 10,197, 62,216,177,104,180,189,233, 90,193,146,186,117,226,128,
-246,175,237,214,192, 65,211,116,121, 81, 81,209, 3, 87, 40,143,199,187, 59,126,252,248, 54,165,183,149,102, 55, 80,248,186,217,
-188, 35,233,203, 47,123, 31,255,230, 27,127,154,162, 60, 8,128,229,139,197, 26,139,197, 82,224, 69,146,215,218,106,201,186,207,
- 26,115,167,116, 76,254,157, 82,116,235,214,141,189,117,235,214, 61, 91,207,131,225,154, 94,175, 15,176,213, 4, 12, 6,195, 96,
- 59,197,224, 79,165,165,165, 63, 53, 35,216,119, 41,149,202, 93,246,102,170, 97, 81,105,128,199, 16,204,211, 17,131, 38,237, 5,
-192,212, 47, 42,253, 48, 81, 86, 86,150,131,186, 56,111, 15,130,194,194, 66, 51, 65, 16, 63,174, 89,179,230,185,244,244,244,221,
- 10,133,194,204, 61, 54, 57,112,224,192,161,109, 34,139, 32,136,164,186,223,113,117, 70,161,164,166,219,245,105,234,211, 53, 78,
- 83,207,209,116,127,107,199, 2,192,226,197,139,223, 77, 72, 72,144, 3,176,119, 49,230,118, 47, 42,253, 87,161,252,111,194,209,
- 88, 20,108,253, 43, 10,250, 37, 96, 1, 69,253, 14,170,145, 79, 62,249,112,141, 27,183,110,221, 34,254,205, 55, 92,253,162,210,
-141, 16,249, 79,200,119, 65, 65,193,198,192,192,192,205, 10,133,130, 2, 7, 14, 28, 56,112,104, 11,188,154, 19, 70, 45,136,178,
-184,214,254,191,175,227,222, 76,186,230,126, 19, 4,145,148,144,144, 16,215,134,252, 54, 88,180,120, 92,221,113,224,240,223,195,
-255,199,172, 87, 14, 28, 56,112,224,208, 60,154, 90,177,234,197, 87,211,223,139, 23, 47,126, 23,173,143, 56,249,226,158, 21,203,
-183,238,119,131,191, 22,129,123, 51, 7,154, 67, 91,102, 19, 68,183,163,124,167, 56, 78,142,147,227,228, 56, 57, 78,142,147,227,
-252,159,227,180,197,125,170, 25, 65, 20,219,210, 80, 95,107,195,136, 77,183,109, 29,107, 43, 45, 65, 16, 45,133,249,169, 31, 42,
-108,250,253,151, 35,154,227,228, 56, 57, 78,142,147,227,228, 56, 57, 78,142,243, 65,192,178,108, 95,150,101, 99,113,111,194, 20,
-203,178,108, 44,203,178, 99, 23, 47, 94,188,164,126,223,226,197,139,151,176, 44, 59,178, 62, 93, 93,154,134, 99,234,247, 53,253,
-110,186,175,181,180,173,100,113,102,147,237,134,223,127, 23, 31, 45, 14, 28, 56,112,224,192,129, 3,135,102, 81, 63, 99,176,145,
-181, 73, 13,224, 70, 66, 66, 66, 85, 35,223, 41, 53,128,107, 0,122,213,165, 83,215,137,180,198,190, 85,150,186,223,150,102,210,
- 88,236, 73,219, 2,182,180,176,205, 9,173,150,208,203,135,247, 97, 96, 71,239,168,186, 10, 0,203, 48, 0, 0,166, 46, 6, 18,
- 91, 31, 12,137, 97,192,178, 44, 20,170,234,180, 27, 42,188,223,222,243, 5,251,193,221, 91, 42, 93,207,176,236,160,186, 93,103,
-180, 26,243,155, 25, 58, 84,219,203, 17,218, 1, 97, 82, 30,222,102, 88,244, 4, 0, 30,129,235, 38, 6,159,100,151,183, 61,158,
- 84,115,237, 60,194, 11, 51,197, 50,249, 20, 23, 87,183,110, 85, 85, 21,121, 86,147,249,231, 76, 53, 54,163,237,235, 50, 34,200,
- 13,143, 49, 44,222, 5,192, 19,242,176, 46,175,210,238,153, 28, 28, 56,112,224,240,160,214,145, 7,138,139, 71, 16, 4,221, 12,
- 39,241,128,156, 92,128, 61, 59,196, 86, 51,187,255,104,102,223,229,191, 83,190,219, 36,180,194,189, 48, 7, 4, 86, 0, 96,193,
-226,131, 76, 53,190,110,211,241,190,136,150,242,249,219, 0,240, 77, 86,122, 1,203,224,108,179, 23,147,135, 33, 82, 17,127, 29,
- 0,198, 68,211, 51, 50,149,246,251,139, 69,248, 99,172,128,225,253,200,176,172,144,102,216,237, 96,145,228, 40,194,249,223, 75,
- 97,106, 75, 94, 3, 59,122, 71, 29,252, 67, 57, 58,229,235,121,232,223,243, 17,176, 52, 5, 48, 36,228,131,223,198,233,207,159,
- 71,255,176, 64,176, 12, 9, 48, 20, 28,199,125,138,113,145, 46,236, 13, 85,251,214,193, 14,246,131,123, 39, 79,239,155, 91,183,
-110,243,241, 11, 10, 39, 24,202,138,156, 63, 78, 78,155,191,104,217,136, 8,104, 35,237, 17, 91, 61,125,241,114, 96,231,144,183,
-223, 92,241, 25,223,215, 47,192,129, 33,205, 84,217,221,172, 62, 27,214, 46,219, 39,226, 21,174,187,174,196, 54,123,219,114,184,
- 23,102, 9, 36,226, 73, 50,169, 67, 55,131,161,230, 22,109, 37,127,230, 9, 5, 99, 63,249,116,125,239, 97,163, 98, 28,233,154,
- 50, 30,201, 32,124,207,238, 93,157,190,220,184, 41,230,166,146,126, 2, 0,211,150, 50, 51, 44, 22,229,238,152, 25, 35, 20,240,
-137,176,151,182,242, 1,170, 93, 66, 43,204, 27,207, 16, 44,108,134,151, 96, 9,252,150,165,194, 79,237, 57, 71,168, 55,190, 37,
- 88, 4,131,192, 94,130,197,174, 76, 53, 84,220, 35,143, 3,135,127, 23,120, 60, 94, 10,195, 48,195, 31,178, 48,120,140,101,217,
-223,185,171,251,191,141,182, 89,180, 8,172,202,184, 93,236, 6,218,138,136,224,160, 15,129,182, 9, 45, 41,159,191,253,114, 94,
-185, 15, 40, 43,182,126, 52,119,183,133, 4, 40,210, 10,154, 34, 65, 83, 36, 40,202, 10,154, 36,193,146,102, 44,251, 46, 5,176,
-212, 32, 42,178,251,118,128,246,181,247, 28, 66,150,247, 99,218,185,147,238,132, 69,139,159,190, 78,120,189, 88, 93,251,250,169,
-235,138,138,112,111,227,146, 76, 21,190,111,139, 32, 72,249,102, 30, 18, 15, 28, 41,249,226, 91,125, 54,195,178,112,119,150,133,
- 76,139,203, 8,216,113, 40,165,120,253,118, 83, 54, 0,184, 56,136, 67,166, 95,207, 11,124,144, 74,240,150, 74,215,111,222,244,
-165,143,175,135,140,160, 46,172, 6, 69,211, 8,232, 20,203, 95,242,218, 52,223, 85,159,111,251, 28, 58,243, 11,173, 29, 31,226,
-141,240,206, 93,194, 22,108, 63,114, 33, 80,175, 83, 89, 78,238,124,247, 54,204, 32,125,252,195,132, 31, 38,124,198, 95,250,206,
-188,183, 44,116,201,165, 28, 21, 50,109, 61,107,194,188,113, 40, 97,245,167, 61, 71,140,139,115,100,106,213,124,147,190, 54,120,
-235,119,219, 86,132,246,236, 39, 31, 28,217, 81,164,250,121, 54, 97,172,169,132,149, 39,149,140,136,136,118, 54, 62, 55,149,220,
-250, 67,226,107,153, 42,108,104, 75,153,105,246, 63,109,143, 97,218, 31,117,157, 96, 49, 56,253,247,148, 89,180,226, 50, 88,154,
- 4,104,107,195, 55,104, 18, 44,115,239,187,255,236,239, 0,180, 79,104,241, 88,140, 62,117,238,178,111,121,153,178,239,231,159,
-126,188,132,189,124,249, 24,104,252,152, 85,137, 51,109, 21,152, 28, 56,112,248, 91, 91, 76, 40,150,101, 5, 15,153, 51,134,101,
-217,163, 15, 72,243, 54,128,151,235,182,183, 1,248,228, 33,100,173, 35, 0,159,186,237, 50, 0, 37, 92, 11,120, 32, 52,117,126,
-111,119, 28, 45, 41, 88, 6,216, 59, 1, 0,100,109,205, 5, 11, 72, 65,240, 1, 82,143,248,113,163,224,233,237, 3,144, 6,192,
-106, 0, 72, 35, 64,234, 1,210,136, 10,101, 33, 96,213, 3,249,199, 64,177,172,164,205,197, 53,107,129,220,159, 49,178, 79, 32,
-188, 92,164,152, 23, 31,238,185,229,120,238,182,109, 39,115,162, 51, 85,152, 98, 87, 94, 89, 22,253,123,116,195, 23,219,244,217,
-191, 92, 85,143, 1,128,152, 94, 30,199,251,135,119, 10, 88,191,221,148,125,244, 70,213, 88, 0, 24, 27,225,124,172, 95,136,111,
- 32,131,246, 91,125, 25,150, 29,236,215,185, 27, 65,167,111, 6,163, 43,129, 78,103, 68,201,221, 29,112,243,127,148, 71, 51, 24,
-106,235,120, 25, 31,139,223, 88,186, 70,104,208,149, 91, 24,171,154,246,226, 87,241, 5, 98,134, 64,233, 25,115, 45, 83, 77,191,
- 57,243,121,106,193,251, 31, 45, 6, 48,173, 53,158,112,111,188,182,110,221,250, 30, 3,163, 66,189,203,246,205, 35,106,171,202,
- 65,241,229,146,248,199, 7,194,181,123, 56, 83,158,186,142, 16, 7, 69,195,213, 35, 8,165, 23,118,162,224,247,253,196,160, 62,
- 19, 37,223,255, 36,122, 14,176, 54, 43,180,186,121, 98,208,152, 33,253,118, 7, 5,250,249,178, 44, 3,134, 97,193, 50, 52,106,
- 77, 36,150,236,201, 7, 77,211,120,106,204,160,145, 14, 98,130,101, 24, 6, 44,203,160,184, 76, 99,248,245, 82,246,200,252, 42,
- 92,178,199, 82,213,235,177,225,131,174,167,253, 30, 74,230,254,130,168,105, 9,217, 4,112,174, 81,155, 27,116,245,196,247,161,
-192,119,237,215,114, 4,232,130,227,171, 17, 56,100, 38,127,243, 79,199,189,180,234,210,233,251,118,108,122,250,235,205,155, 19,
-179, 85,152,205, 61, 95, 56,112,248,119,128,101,217,135, 46,182, 10, 11, 11, 21, 15, 34,182,252,253,253,135,148,150,150,174,173,
-247, 86, 33, 8, 98,109,231,206,157,151,253,167,163,122, 95, 95, 79, 75,211,244,180,210,210,210,179,173,113,198,198,198,250, 29,
- 57,114,164, 75, 35,206, 46, 0,186, 52,151,214,213,213,149, 30, 48, 96, 64,193,145, 35, 71, 20, 92, 11,105,151,224,106,179,208,
-202, 46,250,121, 94, 31,179,178, 22, 0,178,237, 72,127,223,144,159,137,164, 87,255,176,226,249,213, 17,157,221, 81,163,183,224,
-228,149, 2,208, 52, 9,154,162,234, 44, 91, 20,104,138,196,152, 94,158, 24, 96,154,141, 13, 73, 57,160,104, 38,161, 53,206,166,
-176,178,204, 51,189,163, 39,239, 97, 24, 86, 44, 17,242,180,193, 1, 30,222, 11,158,234,197,155, 23, 31, 1,163,149,154,188, 51,
-245,246,175, 89, 42,108,181,139,147,249,115,200, 35,182,185,125, 52,101,179,236,173, 88,163,250, 71, 15, 27,236,204,154,181, 32,
- 43,242, 81, 99, 32,145,175, 33, 81,102,170,134,132, 80,218,197,201,176,232,217,209,223, 87,126,126,247, 59,119, 61,248, 58,129,
- 55,159, 18,137,121, 20,104,134,229,179,213,153,102,247,208, 81,194,122,191,173,214,242, 41,147, 59, 61, 63,100,116,172, 75,209,
-206,153,132, 44,120, 12,188,251, 4,224,238,217, 31,160,186,146, 4,141,162,128,112, 54, 85,163,131,199, 35, 24, 55,109, 10, 62,
-153,210, 23, 53,186, 26,240,149,183, 93,196, 66,137, 43, 96,109,150,147,165, 49,109,221,154,143,124, 5,124,222,189,235, 89,255,
-161, 73, 24,205,102,128,166, 32, 21, 48, 32,216,250,255, 72,208,164, 85,222,115,226, 59,115, 1,250,146,173,178,103,169,240, 83,
-184, 23, 6,131, 33, 67, 89,210, 8, 2, 56,151,169,254,143,248, 9,243,198, 51,143,142,121,113, 48, 75,224,183,246,212, 81,164,
- 7,226,162,186, 56, 58, 56,232,178, 81,178,247,117,220,134,148,237, 48,240,101, 60,243,210,107,242, 45, 91,182,140, 7,216, 57,
-184,223, 71,237,175, 88,100,149,227,228, 56,255,145,156,206,206,206, 93, 59,119,238,188,140, 36,201, 33, 34,145,168,131,213,106,
- 5,195, 48,101, 98,177,248,183,130,130,130,149, 58,157,238,206,223,173,236,215,175, 95,111,139,216,178,201, 41, 20, 10,145,147,
-147,115,171, 13, 98,235, 84,147,227,127, 60,119,238, 28,246,236,217, 3, 0,200,205,205, 69,247,238,221, 29,154, 59,240,238,221,
-187, 14,195,134, 13,251, 17, 64, 64,107,156, 55,110,220,232,250,203, 47,191, 96,239,222,189, 0,128,156,156, 28, 4, 7, 7, 55,
-155,153,115,231,206,241,159,125,246,217,174, 0, 20,255,133, 58,250, 55,136,172,198,223,255, 17, 90, 73, 73, 73,108, 92, 92, 28,
-209,116,187, 25,228, 7,186,137,251,192, 68, 3, 64,126, 91,115,144, 85,142, 53, 95,236, 56, 49,246,244,222,141, 67,164, 34, 30,
-150,111, 93, 80,172,174,172,121, 76, 64,220, 27,126,161, 88,240,220, 28,197, 23, 19,166,247, 10,172,170, 53,225,240, 31,165,103,
- 51, 85,109, 51,145,102, 42,145, 12, 48,174,247,126,209, 48, 25, 85,193,211, 63, 73,222,181,107,241,216,158,111,198,247,196,161,
- 11, 5,111, 2,148,205,168,239, 44,195,128,101,168, 6,231,247,186,174, 3,192,220,191, 40, 48, 3,246,222, 62,166,109, 22,173,
-161,128,160,202, 27,227,156,228,226,175,102,205,122,197,153, 84,231,161,210, 34, 66,113,149, 9,101, 70, 33,106, 5,222, 40,205,
-190, 65,243, 8, 36,219, 52,185, 16,208,177,148,201,213, 77,236,200,139, 28, 53,215, 95,119,252,221, 42, 49, 65,241,157,159, 92,
-229, 90,113,250,179, 2, 74,175,214, 19, 4,108,134,159,119,113,113,237,110,210, 20,240,181, 85, 21,112,245,137,192,216,201,113,
-248, 32, 54, 28, 53, 58, 61,212,149, 23,217,110,190,206, 68,225,111,137, 88, 58, 46, 12,154,114, 37,204, 36, 64,232,205,149, 38,
-139,169,182,197,235,200,195,230,249, 11, 23, 61,211,201,215,203,161,126, 82, 1,203,208,232, 21, 22,132, 81, 67,250, 35,249,220,
-121, 92,190,145, 11,166,110, 82, 1,203, 48, 40, 81, 85,149,155,172,244, 15,109,186,160, 52, 5,150, 52, 53, 43,196,208,142, 33,
-195, 72,111,200,105,224,253,190, 93,157,102, 44,142,235,228,228, 32, 33, 96, 34,105,152, 44, 36,106,206,127, 5,143,206, 61, 32,
-151, 74,137, 62, 48, 10,174, 2,220,186,133, 28, 56, 52,194,211, 79, 63, 45, 45, 47, 47, 79, 13, 8, 8, 8, 31, 53,106,148,124,
-240,224,193,208,235,245, 56,121,242, 36,244,122,125,167,128,128,128, 78, 39, 79,158,156, 88, 84, 84,148,217,177, 99,199, 97,123,
-247,238,181,219,135,182, 78, 0,241, 27, 30,193, 0, 69, 16, 4,234,246, 17,117,251,218,189,206,173, 88, 44, 70, 97, 97,225, 67,
-183,108,149,150,150,222,106,143,101,171,182,182, 86,228,239,239, 15, 47, 47, 47,208, 52, 13,189, 94,143,131, 7, 15, 66,171,213,
-130, 97, 24,200,100, 50,172, 90,183, 21,217, 87, 83,113,233,210, 37,104,181, 90,145, 45,206,146,146, 18,162, 87,175, 94, 48,155,
-205,160, 40, 10, 38,147, 9,167, 78,157,106,248, 45, 16, 8,176,232,195,207,145,123, 37, 21,233,233,233, 40, 41, 41,249,175,172,
- 54,210, 6, 45,242,119, 68,139, 49,179,254,235,179, 14,105,154, 90,178,101,251,174,139, 75,102, 79,193,107, 83,163, 3, 86,110,
-220, 31,157, 85,129,237, 0, 16,230,137,233,207, 13,239, 22,232, 42, 23,226,131,157, 87, 0,150, 93,242,160,231,203,168, 68,110,
-120, 7,230,205, 3,151, 10, 83,223,157,210, 7, 65,190,206,221,171,196,149,226,252,124, 59,214, 20,100, 40,184, 57, 74, 66, 98,
-122,121, 28, 7,195,192,213, 73, 18, 10,154,130,171,163, 36,100,108,132,243, 49, 0,112,150, 11, 67,155,179,124,181,132,168, 0,
-225, 76,185, 68, 48,211,193,201, 53,240,133,241,163,100, 49,227, 39,202, 28,133, 20, 52,151, 78, 66, 39,236, 8,210,189, 19,204,
-100, 37, 74,238,220,166, 79,255,158, 85, 90, 81, 99, 94, 96, 51,155, 44,206,150,222,201,241,234,218,115,148, 91, 69,210, 82, 85,
-215, 23,119,118,225,129,225,213, 36, 62, 89,238,224,221, 79,246, 71,254,157, 90,134,109,214,162,115, 31,116, 90,109, 1, 73,195,
-215, 72, 11,156,110,167,124,143,197,227,122,160,170, 82, 5,147,149,130,214, 72, 89,125, 92,165, 18,243,157,155, 48, 91, 41, 88,
- 72, 6, 66, 87,127,156,188,120,163,130, 33,201, 99, 45,113,230,107,144,158,127, 48,221,177,241,190, 32, 79,244,122,199, 89,150,
- 14,210,136,194, 18, 5,182, 31,185,216, 39, 95,131,244, 7,169,103,150,161,238, 13, 63, 55,178,100, 17, 44, 6,183,199, 9, 62,
-212, 27,253, 68, 82,209,151,107,223,124, 54,252,241, 96,119, 9, 83,114, 17, 4, 99,133, 3, 45,128, 81, 76,195, 37, 32, 8,140,
-165,134, 53,152, 76,213, 25, 0, 23,233,157, 3,135, 70, 8, 9, 9,241, 41, 45, 45,205, 88,184,112,161,251,147, 79, 62,137, 3,
- 7, 14, 64,167,211,225,135, 31,126,192,250,245,235,177, 98,197, 10,144, 36,137, 45, 91,182,200,247,237,219,215,111,211,166, 77,
- 37,129,129,129, 17, 69, 69, 69,101, 54, 4, 22, 1, 64, 2, 64, 88,247,238, 34, 0, 48, 71,143, 30, 69, 76, 76, 12,142, 30, 61,
-202,212,237,163,113,175,243,211,174,245, 68,197, 98, 49,196, 98, 49,180, 90,237, 67, 17, 91, 66,161, 16,142,142,142, 16,139,197,
-168,169,169,105,179,216,162, 40,138, 95, 82, 82, 2,173, 86,139, 81,227,199,227,243,132, 4, 12, 31, 62, 28,163, 70,141, 2,203,
-178, 56,117,234, 20,162, 7, 70, 98,202, 19,195,144,149,149, 5,138,162,236,202,111, 89, 89, 25,202,203,203, 49,118,252,120,108,
-221,180, 9,253,251,247, 71, 72, 72, 8, 40,138, 66,106,106, 42,158, 30, 51, 16,210, 9,209,200,205,205,229, 26,181,253,214,172,
-135,226,163,245,192,200, 80,227,119,230,208,153,164,169, 99,250,197,141, 31, 20,142,173,187, 79,127, 4, 47,221, 46, 0,240, 48,
- 75, 86, 61, 63, 60, 8,153, 69, 85, 56,157,174, 72,202,170,192, 67,153,173,193,208,240,244,112,150, 3,124, 49,140, 86,134,114,
-206,183,237,192,204,176, 44,228, 67,222,193,115,227, 51, 3,250,135, 7, 4,212,207, 58,116,140,249, 12,211,111,220, 10,236, 27,
-226, 19, 8,154, 4,104, 18,206, 83,118, 2, 31, 58,216,204,199,192, 46,226,228,249,243,230, 13, 24, 55, 97,178, 76, 44,119, 1,
-173, 43, 6, 89,118, 3,154,188,179,208,203,187,163,172, 48, 31,123, 78, 92,210,230,149,104,116, 60, 30, 78,150,107,205,111,231,
- 87,161,214, 22,175,137, 68,194,178,165, 11, 98,247,236,218,237, 36, 9, 26, 68,220,254, 42, 70, 43, 22, 80, 18,175, 46,143,242,
- 12, 82, 79,246,227, 31,118, 59,235, 45, 88,109,139,199,160,215,237, 63,117,242,248,148,110, 93, 7, 57,221,189,124, 4, 70,147,
- 25,102, 18,136,232, 55, 12, 52,205,138, 9, 30,193, 56,243,249,132, 74, 83, 5,130,164,203,127,187,118, 87,121,238, 90, 62,223,
-236,132,213,173, 70, 23,105,170,238, 9,254, 27,227,135,245, 6, 72, 35,158, 24,210, 3,159, 39,158,126, 29,160, 95,124,176, 74,
-190,103,209, 98,129, 65,225, 94,248,134,101, 49,232,202,193,245,161, 81, 19,230,163, 45, 22,173, 8, 79,140, 11,235,234,247,253,
-231,171,222,113,247,232,216,157, 79, 48, 36, 88,159,158,128,174,132, 37, 74, 46,194,197,191, 63,104,191,129,216,178,225,211, 90,
-134, 97,119, 1,224,166,100,115,224,208,248,121,100, 50,237, 95,179,102,141,123, 92, 92, 92,189, 69, 6, 23, 47, 94,196,182,109,
-219,224,224,112,255,115, 50, 38, 38, 6, 44,203,186, 47, 95,190,124, 63,128,199, 91,226, 28, 48, 96,192,248,244,244,116, 69,239,
-222,189,243,235,196,150, 8, 0,239,230,205,155,188,226,226, 98,194,205,205,141,245,243,243, 35, 21, 10, 5, 3,128,126,233,165,
-151,248, 63,255,252,115, 55,189, 94,127,166,189, 66, 75, 44, 22, 63, 20,159, 45,161, 80, 8,130, 32, 32, 22,139, 33, 18,137,192,
-178,108,155,196, 22, 77,211,130,163, 71,143,226,202,149, 43, 88,209,187, 55,222,244,247,135,187,187, 59, 82, 83, 83,193,178, 44,
- 28, 28, 28, 80, 89, 89,137, 93,187,118, 97,196,136, 17,160, 40, 74,100, 15,239,222,189,123,145,150,150,134, 15,163,162,240,166,
-139, 11, 28, 29, 29,113,234,212,189,209, 64,137, 68,130,194,194, 66,156, 58,117, 10,195,134, 13,227, 26,245, 3,194,238,198, 51,
- 20, 16, 84, 18,240,177, 90,140, 96, 41, 22, 32,224, 23, 22, 6, 81, 86,214,253,206, 57,246,128,199,195,210, 13,219,147, 98, 63,
-155, 63,158,152, 25,223,199,111,229,247, 41,115, 0, 96,198, 83,193,254,114,137, 0, 95, 28,202,100,121, 60, 44,125, 24, 5, 12,
- 11,131,136,208, 96,206,168,254, 33, 80, 84, 91,112, 91, 81,253,107,150,157, 67, 61,167, 63,123, 14, 59, 14,167, 22,175,223, 97,
-202,102, 89, 22,174,142,146,144,233,215,111, 7,126,127, 52,173,104,221, 30, 83, 54,203,176,112,149, 11, 67, 95,204, 26,104,115,
-214, 97, 84,128,112,230, 91, 11, 22, 12,140,127,113,161,148,202,254, 25,150,219, 39,192, 88,141,208, 89, 69,168,230,251,160,164,
-168, 8, 31,111, 73, 42,214,233, 45, 83, 50,212,109, 19,152,121, 26,212, 10, 8,221,147, 31,127,240,110,114,194,170,229,142,198,
-252,212, 90, 62, 65, 25,249,157,135, 10, 86,173,248,140,168, 49, 91, 38,231, 87,161,198, 22,143,217, 9,171,215,172,219, 16,251,
-202,180,137,217,193,221,135,122,208,138, 59, 30, 38,157, 78,181,243,120,154, 79, 93, 79,145, 0,128,219, 37, 26,168,181,122,138,
-166,200, 51, 78, 66,172,204,180,199, 58, 88,135,174,222,240,138, 27, 20,241,172,151,147, 8,198,218,106,120, 59, 9, 49,166,255,
- 35,207,146,127,228,190,115, 71,213, 22,185,214, 84,104,145, 96, 73, 35,126, 95, 61, 34,148,165,201, 80,208, 36,172,215,127,108,
-187,101,140,192,155,175, 13,113,116,118,179,220,229, 65,239, 0,200, 60, 65, 56,119, 2, 92,186, 16,194,176,201, 80,228,103, 80,
-175, 63, 59, 77,115,167,160,228, 91, 79,217, 67,153,249,195,129,195,191, 10,133,133,133,207, 47, 89,178,228, 92,255,254,253, 59,
-120,122,122,162, 71,143, 30, 4, 75, 75,198, 0, 0, 32, 0, 73, 68, 65, 84, 56,124,248, 48, 22, 46, 92,216,144,166,119,239,222,
- 96, 89, 22,149,149,149, 88,179,102, 77,153, 66,161,120,190,213, 14,122, 70, 70,246,142, 29, 59,134,132,135,135, 91, 69, 34, 81,
- 53, 0, 73,117,117,181,180,178,178,146, 48,153, 76, 96, 24,134,113,113,113,161, 21, 10, 5, 57,101,202, 20,243,133, 11, 23, 30,
-209,235,245,133, 15, 98,209, 10, 8, 8,184,169,209,104,180, 4, 65, 60,112,232,135,122,145,229,233,233,233, 85, 91, 91,203, 0,
-168,106, 79,232, 7,138,162, 16, 21, 21,133, 19,103,175,226,232,233, 11,208, 41,114, 48,231,149,231,209,163, 71, 15,156, 56,113,
-162,221,117,214,171, 87, 47, 28, 63,117, 14,231,174, 92, 67, 97,238,117,188, 62,231, 21, 68, 68, 68,224,248,241,227, 92,131,182,
- 31, 71,112,191,111,214,145,166, 66,107, 88, 82, 82, 82,125,207,252, 79,242, 53,212, 19,189,132,174,226, 31,151,143,123, 36, 76,
- 56,106, 57, 8,161, 12, 63,119, 63, 62,112,233,199, 95,101,243,189, 11,167,221, 84,217,158, 29,118,223, 77,163, 66, 6,123, 41,
-251,167,107, 89,161,207, 62,209, 63, 0, 91, 15,203,223, 7,128,201,131,187,226,143, 60, 53, 46,229,170,126,202, 84, 35,227, 65,
- 75, 29,233, 13, 57, 93,129,159,214,188, 17, 63,172, 83, 71, 31,108, 59,112, 14, 4,129,253,118,189,112, 89,150,237, 31,222, 9,
-235,119, 52,157, 97,232, 19,184,110,143, 41,251,100, 70,205, 56, 0, 24, 21, 42, 63,214,247, 17,183, 64,182,177,227, 86, 51,144,
-137, 5,179,198, 77,124, 78, 74,229, 30, 6, 10, 78,129,160,204, 48, 90, 25, 40, 43,106, 96,112, 9, 64,234,197,107, 70,173,201,
- 50, 63, 83,221, 62, 43, 94, 86, 5,242, 69,151,175, 21,213,234,141,190,114,175, 71, 76,124, 30,195,212,154, 89,252,145, 89,160,
-203, 44, 67,142, 61, 28,249,249,176, 60,230, 79, 13,254,102,251,158,101, 66,145,120, 50,159, 0,225,237,234,224,245,205,103, 31,
-194,201,201, 17,140,165, 22,208,171,241,228,171, 31,171,111, 42,200,174, 0,208,221, 3,142,131,187, 10,183, 11,120, 68, 73,202,
-109,235,123,182,206, 65,144,152, 61,109, 76,111, 33, 99,209,227,141, 53,187,177,249,157,120, 60, 55, 50, 76,120,228,124,238,108,
- 0, 43,219, 91,215, 44, 77,129, 37,141,120,252,221,179,217, 4,112,142, 5, 6, 93,217,179, 42, 20,184,106, 55, 71, 31, 64, 72,
- 11,136,176,158,129, 14, 34,166,228, 60,152,146,243, 44, 63, 96, 32,136,192, 33, 4,225, 19,197,126,185,118,133,126,235,214,109,
- 39, 25, 30, 62,176, 35, 84, 6, 7, 14,255,171,200, 87, 40, 20, 99, 99, 98, 98, 78,159, 56,113,194, 61, 50, 50, 18, 0,112,229,
-202,149,123,157,206,168, 40, 4, 7, 7,163,188,188, 28, 83,167, 78,173, 80, 42,149, 99, 97,195,231,183,166,166,230,206,222,189,
-123, 59,232,245,250,222,239,189,247,158,170, 83,167, 78, 58,147,201, 68, 84, 87, 87, 51, 20, 69,193,205,205, 77,220,187,119,111,
- 12, 24, 48,160,246,226,197,139,157,139,139,139,107, 0, 20,180, 39,243,241,241,241, 56,123,246,222,164,189,135, 17, 87, 75, 36,
- 18, 33, 50, 50,210, 63, 63, 63,191,180,238,221,210,230,103,124,227,215,203,181,107,215,112,230,106, 9, 4, 22, 35,196,106, 5,
-126, 63,176, 23,227,103,205, 5, 69,181,223,139,225,255,216, 59,239,240, 40,170, 54,138,159, 41,219,178,233,101,211, 11, 33,144,
- 64, 32,244, 78, 16,144,166, 18, 62,138, 84, 65,154, 64, 64, 20, 16,165, 35, 69,165, 35, 69, 58,168,244,142,148,160, 2, 81,122,
- 9,157,132, 36, 4, 2,132,180, 77,239,217, 62,229,251, 35,197, 4, 82,118, 19,108, 56,191,231,153,103,182,204,158,157,153,187,
- 59,247,204,123,239,125,239,253,251,247,113, 60,244, 6,204,165, 52, 30, 61,122,136, 35, 71,142, 96,226,196,137,181,210,172, 33,
- 85,122,145,127, 56, 74, 84,210, 79,139, 6,128,160,160,160,139, 37,209,138,178,248,248, 64, 34, 45,192,130, 30, 45,220,102, 12,
- 14,172, 71, 25,242,146,193,177, 28, 40, 17,224,232, 96,133, 61,123,246,215,221,127,240,224,245, 77, 27, 55,173,231, 24,102,110,
- 68, 26, 84, 38,236,212,130,111, 15, 94, 25,188,103,122, 23,122,226,187, 13,237, 0, 64, 76,147, 88,119,242, 33, 3, 96, 65,109,
-142,182,157, 27,100, 5, 6,140,119,180,183,158, 63,251,163,222,118, 93, 90,249,225, 98, 88, 4,214, 31,185,126, 73,146,134,221,
- 70,255,184, 57, 3, 94,246, 79, 21,141, 58, 4, 87,125,191, 75,150,229,157,197,230,182,208,199,157, 7,244, 26,104,180,122, 36,
-100,178, 72,200,210,128,150,139,113, 59, 38, 81,109,159,130,144, 90, 28, 54, 97, 46,151,185,126,249,205,106,119,141,186,128,201,
-203,206, 96,196,146, 27, 34,185,153, 84,105, 74, 87,133, 27, 73,208,188,229, 45,106, 9,112,148, 68,198,171,230,124, 54,202, 60,
- 41,242, 12,234,147,201, 32,120, 30,102,254,189, 97,105, 70,137, 3,235,136,226, 1,192,220, 92, 46, 89,190,232,115,235,169, 51,
- 23, 85,219, 7,204, 31, 16,251,249, 56, 79, 13,240,178,197,165, 59,209,184, 20,254,226,225,165,219,143, 26,119,109,226, 10, 63,
-119,155, 41,146,236,156,101, 81, 48, 61, 66, 90, 84, 48, 12, 96,208,148,142, 58,244,119,196,176,214,131,231, 85, 54,218,176, 66,
-188, 1, 46,134,229, 65, 80, 20, 64,144, 69, 35, 32, 19,174,130,182,241,225,247, 31, 58,174,218,177, 99,247, 87, 81, 25, 66, 20,
- 75, 64,160, 58,114,115,115, 31, 68, 69, 69,245,106,218,180,233,206, 79, 63,253,212,114,248,240,225,174,227,198,141, 35, 1, 32,
- 53, 53,149, 91,187,118,109,242,119,223,125,151,155,145,145, 49,218, 96, 48,132, 27,243, 15, 87, 42,149,215,190,255,254,251,244,
-203,151, 47, 55,110,211,166,141,180,101,203,150,156,173,173, 45, 45,149, 74, 89,157, 78,167,137,137,137, 97,159, 62,125,234,146,
-147,147,243, 4, 64, 44,106,208,172, 95, 28,189, 90, 76, 81,212,151, 60,207, 7,188,142, 62, 90,114,185,220, 21,192, 19,130, 32,
-234,155,218,108,248, 74,133, 77,211,200,206,206,134, 42,229, 33,100,137,143,209,212,156, 68, 35, 91, 11, 88, 89, 89,213,202, 20,
-229,230,230, 2,133, 73,184,114,229, 62,192, 48,176,182,182,134,181,181,245, 95,110,180, 42,243, 34,255, 18,198, 87,240, 90,213,
-125,180, 26, 41, 48,209, 76,135,181, 19,122,215, 19,123,123,186, 67,155,120, 27,247, 19, 10, 48,183, 93,155, 72, 74,106,169,153,
-240, 97,223, 86, 3, 6,214, 65,151, 14,173, 9,111, 23,235, 41,203,190,221,252,113, 35,100,124, 30,153,134,117,198,236, 81,100,
- 58,158,113, 72,219,113,254, 65, 98,176,187, 92, 13,142,227,113, 62, 92,137,240,184,236, 29,209,233,120,102,202,209, 53,114, 65,
-119, 26,228, 65,158,231,101,214,230,230,249,141,252,220, 29,186,183,111, 70,190,211,185, 21,196, 20,112,229,230,125, 76,251,246,
-216, 13,142,227,123, 27, 61, 66,140,227, 94, 49, 80, 69, 35, 12, 13,229, 70, 24,242, 60,207, 23,141, 58,172,186,219, 23, 69, 17,
- 41,170, 23,183,156, 69,246,190, 80,199,158, 71, 92, 54,135, 23,105,249,200,163,157,161, 77, 74, 2,120, 46,254, 98, 45, 58, 86,
- 59, 56, 56, 56,214,109,228, 87,111,195,174, 35,208,171,114,241,236,194, 78, 20,100, 43,241,245,150,147,245,220,220,236, 59, 39,
- 37, 37, 93, 52,225, 98,227,247, 91,200,126, 71,240, 0, 37,146,226,244,166, 67,200,176, 55,131,131, 92, 12, 78,157,142, 9, 83,
-135, 91,191,219, 99,184, 53, 0,188,120,116, 15, 94,114,181, 81,186,122,123, 12, 24,220,181,129, 13, 12,106,236,250,245,158,134,
- 4,222,217,125,246, 97,108,215,134, 54,178,193,129, 94,182,139,147,115,222, 71,102,205,146,138,150, 68,180, 74, 35,124, 53, 24,
-109,120, 4, 96, 27,114,136, 61,120, 45,205,124, 96,143,150,114, 49, 77, 16,124, 65, 18,120, 51, 7,108,222,117,184, 64, 98,248,
-107,102, 98, 23, 16,120, 19, 80,171,213,119,212,106,117,147, 47,190,248, 98,216,156, 57,115,222, 50, 55, 55,175, 11, 0,133,133,
-133,207, 12, 6,195,165,226,255,167, 41,163, 3,121, 0, 79, 98, 99, 99,159,197,198,198, 58,237,221,187,215, 6,128,172,248, 61,
- 13,128, 28, 0,169,168,197,136,195, 18, 83, 69, 16,196,151,175,235, 60,148,152, 42,130, 32,234,215,228,243, 36, 73,178, 4, 65,
-128, 32, 8, 72,165, 82, 92,190,124, 25,131,122,247, 64,212,233, 28, 4,216, 88,160,205,232, 9, 56,120,238, 28, 40,138, 2, 65,
- 16,160, 40,202,164,122,132,166,105, 92,185,114, 5, 35,134, 14,132,148, 6,172,173,173,241,197, 23, 95,224,196,137, 19,160,105,
- 97,150, 62, 19,216, 86,198,112, 25,153, 71,139,192,226,115, 59,151,136,193, 26,112,106,231, 42,132, 68, 20,232, 30,165, 99,110,
-131,116,172, 61,130,124, 46,253,219,221,193,231,174, 68,172, 28, 51, 36, 72,254,118,215, 30,120,187, 75, 87,186,113,235,206,243,
-129,114, 70,171, 59,170,200,181,193,114,248,106,219,175,209, 19, 14, 94,136, 33,160,207,199,144,158,173,121,150,195, 87,213, 28,
-204, 43,154,214,102, 22, 7,175, 92,191,110, 11,125, 1,226,238,253, 46,171, 83,183, 30,192,234,241,228,201, 99,124,183,235, 39,
-238,194,205, 71,123,116, 12, 62,125,154,141, 66, 99, 53,139,156, 21, 3,107,115, 73,131,119, 26, 91,253,194,129,135,141, 92,220,
-144,231, 88,216,200, 69, 13,123, 52,148,255,194,243, 60,111,105, 38,106,200,179,134,106, 53,213, 58,102,235,174, 31,118,172, 30,
- 59,118,172,121, 70, 98, 10,146,243, 34, 80, 32,113,131, 65,238,129,216,123,151,212, 42, 45, 99, 76, 37, 94,233,249,204,200,200,
- 72,187, 19,150,133,131, 91,150,194,160,211, 34, 45,177,200,171, 38,103,228,193,202,193,237,122, 82, 82,146,209,154,122,134,203,
- 29, 48,124,188,216,204, 18,102, 35, 6, 4, 73, 98, 51,181,104,225,106, 89,116,209, 40, 72, 71, 84,232, 21,116, 41,238, 99,250,
- 52,129,132, 87, 51, 87,163,246,211, 82, 38,254,244,221,150,110,120, 22,175,196,229,135, 73,187,158,101, 33,153,141, 86,238,138,
- 77,206, 9,238,219,206, 19,107, 78, 68,126, 2, 24,246,155,114,236,254,142, 24,198,243, 8, 44,234, 12,175, 6, 15, 4,250, 59,
- 98,152,145, 35, 13, 95,209,164,197,248, 96,245, 47, 47,230, 29,190,149,209,119,198, 7,157,172, 58,116,120, 79, 2, 70,135,124,
-181,214, 16,149,131,188,218,148, 81, 45, 16, 52, 5,205,127,171, 38, 11, 96,143,193, 96,216,147,147,147,243, 58, 53,147,241,106,
- 94,167, 90, 29,123,217,102, 66,158,231,233,226,104, 86,117,157,225,171,212, 44,219, 76,200,243,252,207,197,209,172,234,162, 90,
-229, 52, 57,142, 75,110,213,170,149, 93,159, 62,125,192,178, 44, 30, 63,126,140, 23, 9, 9,232, 30,252, 9,108,108,108,112,233,
-193, 3, 60,122,244, 8, 95,126,249, 37, 12, 6, 3,142, 31, 63,158, 88,157, 38, 77,211,250,122,245,234,137,251,245,235, 7,134,
- 97,240,244,233, 83, 36, 37, 37, 97,218,180,105,176,182,182,198,157, 59,119, 74, 53, 51, 50, 50, 64,211,180,190,130,232,214,159,
-241, 91,250,183,243,138,201,170,218,104, 1, 44, 88, 3,114,207, 45,192,186,203,208,235, 13,104, 24,153,142,231,145,127, 68,164,
- 54, 83, 97, 15, 78, 61,136,136,126,118,231,234,219, 18,164,133,195,212, 59,137,199,153, 80, 90,202,242,243,161,207,183,194,211,
- 95,240, 60, 53,191,224,113, 38,148, 38,223, 49,112, 44, 1,189, 10, 80,222,198,181, 75, 23,113,225,198,125,220, 10,143,102,175,
-221,137, 57, 72,114,248, 42, 42, 19,143,107,112, 23, 2,139,222,107, 48, 42,252,137,103,107, 63, 39, 79,176, 12,120,206, 0,235,
- 33,251, 49, 58,178,131,103,107, 31, 27,207,162, 72,150, 1,182, 31,253, 14,172,150, 85,169,119, 59,193,176, 77,114,226,204,251,
-249, 57,153,237,186,117,110,111,110,237,255, 46, 50,158,196,224,241,253, 43,234, 59, 17,177,215,110, 39, 24,106, 21, 45,113,115,
-115,123,171, 91,231, 6, 24, 50, 97, 54,244,170, 92, 60,189,240, 3, 10,178, 82,112,249,186, 5,162,243,242,218, 3, 48, 58,162,
-117, 61,158,105,140,248,108,116,172, 35,138,183,132,214,249,195,160, 62,144, 18, 26,112,218, 60, 16,170, 12,196, 38,233,114,223,
-223,146,192, 2,128, 92, 74,208,230,124,174,149, 81,145, 71, 47,123, 95, 57,101,192,238,115, 15,193,113, 69,211, 55,113, 28, 54,
-239,254, 61, 54,248,171, 17, 45,208,200,211,182,217,189,164, 52, 2, 38,132,252, 9, 30,157,110, 29, 92,212, 80,243,219,124,128,
-211,227,202, 20,187,134,157,214,101,117, 66, 13,167,219,137, 72, 70, 18,128, 96,208,170,173, 83,214,253, 58,191,213,185,200,192,
-233, 31,245,181, 2, 47, 76,192, 46, 32, 32,240,215, 83, 80, 80, 48, 97,244,232,209, 91, 69, 34,145, 2, 0,193,113, 28, 56,142,
-163, 87,174, 92, 41, 98, 89,150, 36, 73,146,165, 40,138,249,249,231,159, 13, 44,203,166,107, 52,154, 9,213,105, 50, 12, 19, 59,
-105,210,164,122,213,141, 80, 60,112,224, 64,137,201,138, 21, 74,194, 40,147, 85,118, 93, 26,229,170,188,242,224,177,168,227,136,
- 5, 11, 0, 16,224,177, 48, 50, 29,207, 95,222, 36, 60, 11,201,141, 40,253,180,198,173, 59, 47, 40,249,140,169,123,166, 97,217,
-129,173,155,248, 29, 0, 0, 45,207,142,168,201,209,229,105,213,131,155,183,110,127,144,227,121,154,225,249, 29, 36,135,163, 26,
- 6, 81,198,140,180,171,140,228,180,156, 59,239, 6, 88,243, 64, 81,147, 97,105,115, 97,113, 26, 7,158,231,249,210,230,194, 85,
- 50,100,228,106,171,205, 3,117,245,185,174,135,142,185, 53,254,236,213,123, 19, 88,150,119,166, 40, 34, 69,173, 99,182,214,214,
-100, 1, 64, 82, 82,210,197,208,115, 73,103, 31, 52,115,234,233, 32, 47,142,114,169,128, 12, 21,206, 38,165, 23, 92,172,137,102,
-118,161,161,239,156,181, 39, 78, 74, 68, 20, 13,158, 47, 74, 40,202,243,208,232,217,172,235,241, 76, 99, 0,104, 98, 7,215, 47,
-142, 51, 7, 40,138,120, 81,157, 94,216, 35,229,154, 33,203, 66, 63,127, 24,151,189, 35, 46, 7, 17, 0, 16,151,131,136, 67, 87,
-158,207,143, 77,201,255, 60,226, 69,246, 42,152,216,175,130, 39,112,185,245,144, 5,175,188, 86,219,243, 25,173,196,125, 0,253,
-129,196, 30, 67,166,127, 55,157, 32, 32, 76, 63, 33, 32,240, 31,162, 36,170, 69,146,228,226,215,168,249, 51, 65, 16,239, 1,120,
- 98,194,199,194, 10, 10, 10,154,188,230,195,203,100, 24, 38,211,152, 13,255,134, 14,241,255, 86,254,182,174, 37,221, 5,205,191,
- 94,179,126,253,250,188, 9,134, 69, 56,159,130,166,160, 41,104,254,167, 52,121,158,167,106,179, 84,162, 73,212,102, 17,202,232,
- 95,207,248,202,158, 11,205, 33,111, 32, 79,158, 60, 33,132,179, 32, 32, 32, 32, 80, 49, 4, 65,176,127,130,166,144,188, 88,160,
-196, 96,149,139,110,145,194, 57, 17, 16, 16, 16, 16, 16, 16, 16,120, 45, 38,171,236,186,200,132,163,242,240,159, 41,163, 9,106,
- 18, 66, 12, 21, 52, 5, 77, 65, 83,208, 20, 52, 5, 77, 65,243, 63,167, 89,157,182, 48,154,241, 79, 54, 96,130,166,160, 41,104,
- 10,154,130,166,160, 41,104,254,247, 52,255,205, 84,218, 71, 75,104, 58, 20, 16, 16, 16, 16, 16, 16, 16,248,147, 16, 58,195, 11,
- 8, 8, 8, 8, 8, 8, 8,212,142,106, 39,149, 22, 16, 16, 16, 16, 16, 16, 16, 16,168, 25, 85, 79, 42, 45, 32, 32, 32, 32, 32,
- 32, 32, 32, 80, 99, 76,159, 84, 90, 64, 64, 64, 64, 64, 64, 64, 64,192, 40,182, 9,167, 64, 64, 64, 64, 64, 64, 64, 64,224,175,
-161,252,168,195,144,144, 16,190,236, 90, 64, 64, 64, 64, 64, 64, 64,224,175,228, 77,245, 34, 66,211,161,128,128,128,128,128,128,
-128, 64,237, 24, 47, 24, 45, 1, 1, 1, 1, 1, 1, 1,129, 63,135, 74,251,104,149, 36, 44,237, 82, 28,170,235, 34,156, 43, 1,
- 1, 1, 1, 1, 1,129,191,129, 55,219,139, 8,253,179, 4, 4, 4, 4, 4, 4, 4, 4, 47, 34, 32, 32, 32, 32, 32, 32, 32, 32,
-240, 79, 66,152,235, 80, 64, 64, 64, 64, 64, 64, 64,224, 47, 54, 92,127,186,209, 18,102, 54, 23, 52, 5, 77, 65, 83,208, 20, 52,
- 5, 77, 65,243,191,100,178,202,153, 45, 97,212,161,128,128,128,128,128,128,128, 64,237,168,118,212,161,128,128,128,128,128,128,
-128,128, 64,205, 24, 15, 32,168,248,113, 16,202, 68,181,132,136,150,128,128,128,128,128,128,128, 64,237,216, 6,192,165,216, 96,
-157, 6,160, 20,140,150,128,128,128,128,128,128,128,192,235,161,108,191,172,222,101,204,151, 96,180, 4, 4, 4, 4, 4, 4, 4,
- 4,106, 73,165,125,180, 8, 84, 62,114, 32,212,132, 47,168,201,232,131, 80, 65, 83,208, 20, 52, 5, 77, 65, 83,208, 20, 52,255,
-115,154,213,105,135,226,223,199,120, 83,204,215,235, 68, 24,250, 42,104, 10,154,130,166,160, 41,104, 10,154,130,230,127,150,215,
- 62,234,176, 5, 96, 38,156,214, 55, 18,167,226, 69, 64, 64, 64, 64, 64, 64,160,106,254,156, 81,135,254,192, 71,195, 3, 20, 91,
- 12, 17,233, 86, 17,128,170,170,109, 21, 10,197, 86,185, 92, 62, 92,165, 82, 21, 18, 4,193,149,188,206,243, 60, 0,148,157,235,
-232,105,122,122,122,167,234,190, 91, 34,145,172,117,114,114,250,168,160,160, 64, 69, 16, 4, 79, 16, 4, 8,130, 0,128, 87,214,
- 44,203, 38,102,102,102,182,250, 87, 23, 33,207, 83, 14, 78, 78, 55, 69, 20,229,102,234, 71, 89,142,123,158,150,154,218,222,132,
-143, 44, 37, 8,204, 40,250, 90,172, 0, 48,251, 77,251, 71,240, 0,101,204,118, 1,128,101, 12, 48,132, 37,201, 79, 68,192, 70,
- 45,199,109, 1, 0, 2, 96,107,250,221,218, 48,212, 35,120, 52, 35, 8, 88,243, 60,114,121, 2,247,165,109, 17,251, 55,157,138,
- 1, 34,145,168,175,149,149,149, 69,102,102,230, 69, 0, 7, 0, 12,181,183,183,239,156,151,151, 87, 96, 48, 24, 78, 0, 56, 86,
- 19,225, 78,205, 48, 83, 34, 22,141,209,232, 13,203,175,222,199, 15,157, 91,192,158,225,176, 76, 38,166, 59,105,117,204,138, 43,
- 15,176,195, 68, 73,162,120, 41,185,102,152, 60, 71,218, 97, 35,203, 29, 0,142,219,218,250, 73, 21, 86,191,137, 36,212,243,156,
-212,130,225, 3,211,210, 18, 6,213,162,220,255,137, 56, 56, 56,140, 34, 73,242, 27,158,231,193,178,236,220,172,172,172,157,175,
- 73,122, 46, 0,155,226,199, 57, 0,190,169,165,222, 11, 0,158,197,143,227, 1,120, 9,245,122,141,217,252,211, 79, 63, 5,119,
-237,218, 21,107,214,172,193,230,205,155,227,210,211,211,151, 1,216, 5, 64,247, 55,232, 8, 84, 70, 35,224,189,149,189,218,178,
-134, 31,191,226,202,188,220,189,146, 63,243,247, 31,126,248,161,158,231,121,254,209,163, 71,188, 78,167,227, 13, 6, 3,207, 48,
- 12,207, 48, 12,111, 48, 24, 74, 23, 55, 55,183,164,151, 62,254,138, 38, 73,146,235,222,127,255,253,124,158,231,249,219,183,111,
-243,106,181,154,215,106,181,188, 78,167,227, 53, 26, 13,175, 86,171,203, 45, 78, 78, 78,169, 85,105, 90, 89, 89,221,182,181,181,
- 77,181,181,181, 77,181,179,179, 75,181,179,179, 75,181,183,183, 47, 93, 28, 28, 28, 74, 23,133, 66,145,170, 80, 40, 82,237,236,
-236,110, 87,183,159,197,244, 2,112,209,136,165, 87, 5,159,237, 94,214,104,185,184,184,164,242, 53,192,221,221, 61,193,136,253,
- 44,193,137, 32,192,150,124,150, 32,192, 73,165, 82,207,178,239,227,213, 72, 87,181, 33,101, 87, 87,215,247, 93, 92, 92, 66, 93,
- 92, 92,206,185,186,186,190,111,196, 79,172,156,166,165,165,229,109, 7, 7,135, 84,103,103,231,180,146,197,197,197,165,220,226,
-234,234, 90,186, 56, 57, 57,165,218,218,218, 86, 90, 70, 60, 64, 85,182, 92, 0,104, 41,240, 54, 77, 81, 33, 78, 78, 78,121,225,
-225,225, 44,207,243, 60, 73,146, 73, 37,219,152,114,236, 47,155, 44,213, 21,204,205, 56, 47, 13, 43,120,190, 44, 55,227,188, 52,
- 76,117, 5,115,181, 97,168, 87, 83, 77, 35,169, 72,115,228,200,145, 35,239,167,166,166, 38,229,228,228, 40,183,108,217, 18, 35,
-147,201,174,108,217,178, 37, 38, 39, 39, 71,153,154,154,154, 52,114,228,200,251, 0, 38,153,160, 9, 0,104,223, 12,237,198, 14,
-112, 81,221, 63, 62, 66,245,118,107,250, 94,199, 0, 4,245,104, 47, 78,218, 48,203, 95,117,105,123,160,170,107, 75, 50,194, 68,
- 77,130,166,233, 14,158,158,158, 99, 20, 10,197,135,197,203,136,146,197,217,217,121,132,179,179,243, 8, 91, 91,219, 65, 85,105,
- 30, 6, 40, 99, 22, 15,153,172,195,160,186,158,170, 23,139, 23,242,225, 83, 63,225,199,248,120,228, 13,116,116,172,243, 55,148,
-209,159,170,233,232,232,152,108, 48, 24,120,189, 94,207,219,219,219, 39,191,198,253, 92,197,243,252, 42,158,231, 87, 1, 88,245,
- 26, 52, 75,175,103, 38, 24,236,170, 52,101, 52, 73, 78,151, 75, 36,231,164, 52,157, 38,165,233, 52,185, 68,114,142, 38,201,207,
- 1,200,254, 73,101,244, 39,104, 90, 40, 20,138,103,107,215,174,229, 85, 42, 21,175, 82,169,248,181,107,215,242, 10,133,226, 25,
- 0, 11, 19, 52,107,170,243, 38, 69,176, 94, 94, 94, 95, 68,203, 31,104,245,118,179,250, 71,167,140, 26, 2,238,200, 90,162,154,
- 59,166,239,219,183,106, 53,102,215,174, 93, 0,128,225,125,251,162,103,155, 54,176,180, 48,135, 68, 82,180, 59, 4, 79, 64, 44,
- 18,163,223,180,207,140,249,250, 21,253,250,245,251,224,200,145, 35, 22, 0,176,121,243,102, 12, 24, 48, 0,118,118,118,144,203,
-229, 16,139,197, 16,137, 68,229,214,213, 65, 81,148,123, 82, 82,146,163, 76, 38, 43,141,178,113, 28, 87,110,225,121,190, 36,250,
- 6,134, 97,224,235,235,107,236,233,154,149,155,155,251, 86, 97, 97, 97,169, 70, 69, 75,221,186,117, 1,224,140, 49,130,223,124,
-253, 21, 56,166, 16, 52, 13, 48, 12,160,213,147,224,248, 10,205, 13, 38, 77,154, 84,186,223, 53,161,119,239, 32,130, 32,136, 35,
-119,238,220, 57,154,150,150,230,205,113,236,184, 26, 70,186, 62,126,252,248,177, 5, 0,248,249,249, 77, 2,112,212,148,253,160,
-105,218,253,193,131, 7,142, 82,169,180,210,200,101,153, 8, 38,244,122, 61, 90,180,104,193,152,242, 29, 78,128,103, 22, 73,142,
-107,222,178,229,248, 5,253,250,201,110,222,188, 41, 35, 73, 18, 12,195, 96,229,202,149, 12,207,243, 54,141, 0,171, 72, 32,175,
- 10,153, 57, 0, 70, 21, 87, 6, 59, 0,172, 44,231, 22,120, 52, 83, 27,164, 65, 79, 11,250,181,105, 91,103, 38, 34, 31,134,183,
-241,177, 56, 14, 75, 90, 27, 11,252,181, 81, 45, 43, 43,171,190,107,214,172, 81,236,216,177, 35,239,209,163, 71,250, 45, 91,182,
- 40, 38, 76,152, 96,169,215,235, 17, 28, 28,156,222,160, 65, 3,241,154, 53,107, 20,199,142, 29,123,187,176,176,112,147, 73,229,
- 69,224,171,161,125,123, 66, 99, 32, 97, 48, 48, 10, 23,133,229,158, 41, 35,187,136,120, 94,135,221, 39,238,192,192,112, 63,152,
- 24,201,106, 63,112,224, 64,159,253,251,247,211,209,209,209,116,195,134, 13,193,113, 28, 88,150,133,193, 96, 0, 0,112, 28,135,
-250,245,235,215,250,188,140, 1,252, 28,156,236,206,181,127,239, 93, 51, 23,153, 20,118,217,233, 24, 43,166, 45,119,202,181,123,
- 1,116,120,163, 34,187, 60, 15,154,166,145,144,144, 0, 71, 71, 71, 51,142,227,148, 0, 22,102,103,103,111,195,155, 75, 27, 9,
- 77, 31,221,253,195, 58,231,182, 29, 58, 80, 78, 46,142,136,121, 28, 15,154, 96,187, 63,184,117,167,203,152,137,211,167,232, 24,
-230,125, 0, 55,223,180, 3,119,238, 48,169, 63, 65, 82,155, 9,158,195,162, 13, 39,243,151,174, 88, 43, 15, 30, 55,146,154, 54,
-109, 26, 60, 60, 60,188,251,247,239,191, 2,192,196,106,117,218, 78,234, 15,138,220, 12,158,199,130,239, 78,230, 47, 89,177, 86,
- 62,177, 6, 58,255,114, 42,253,143,212,218,104,249, 3, 62,141, 61, 28,207, 46,157, 49, 81,196,255,242, 35,169,202, 76,171,116,
- 91,133, 66,177,245,157,119,222, 25,190,115,231, 31,209,232,246, 1, 1,232,255,118, 32, 28,237,173, 33, 55,151, 20, 85, 71, 28,
-129,251,143,158, 27,101, 8, 60, 60, 60,130,143, 30, 61,106, 81,214, 76,136,197,226,210,165,172,201, 42, 89, 74, 42,224,170,144,
-201,100, 8, 13, 13, 5, 77,211,160, 40, 10, 52, 77,151, 46,101,159, 83, 20, 5, 39, 39,147,186, 46, 45,179,182,182,110,154,159,
-159,111,149,147,147, 3, 79, 79,207, 60, 0, 15,202,188,223, 52, 61, 61,221,202, 20, 65,142, 41,196,180,177,254, 16,233,110, 64,
- 39,106, 3, 53,221, 17,215,110, 69, 33,228,204, 69, 36, 37,167, 32,176, 93,115,124, 56,108, 32,206,157, 59, 7,150, 53,185,165,
- 35,149,231,177,162, 79,159,160,153, 0, 65,116,239,222, 61,103,242,228,201,100,116,116,244, 7,253,251,247, 11,120,252,248, 73,
-113, 84,145,152,193,243, 88, 7, 32,213, 72, 93, 9, 0, 92,186,116, 9, 0,164, 53,249,237, 73,165, 82, 92,191,126, 29, 37,205,
-196, 36, 73,130, 36, 73, 80, 20,133, 83, 79, 28, 80,168, 35,161, 74,141,192, 39, 65,158,168, 91,183, 46, 72,178,250, 46,137, 93,
- 0,217, 53,160, 63, 33, 18, 77,115,113,117,245,238,236,227, 35, 15, 13, 13,165, 0,192,203,203,139, 87, 42,149, 57, 39, 78,156,
-200,167,129,205, 94, 60,191,171, 42,147,229,225,225,209, 49, 41, 41,233,155,146,115, 78, 16,196,138, 58,117,234,124, 89, 90,110,
- 28,135,133, 63, 20,138,166, 76,153, 42,110,219,101, 30, 0,160,109,159,253,200,123,186,212,159,200,154, 99,253, 87, 95, 37,242,
-242,242, 14,214,175, 95,159,202,204,204,188, 6,224,133,193, 96,152,181,103,207, 30,199,177, 99,199,166,237,221,187,119, 25, 0,
-215,229,203,151,119, 41, 44, 44, 60,100,138,110, 96, 83,188,215,178,105, 64, 59, 79, 15, 15, 92,188,118, 19, 98,137,200,102,210,
-168, 32, 88, 88,208, 88,181,227, 52,247, 34, 49,107,242,149, 7,216,101,130,201,106, 51,112,224, 64,239,253,251,247, 75, 0,224,
-193,131, 7, 72, 73, 73,129, 66,161,128,153,153, 25, 68, 34, 17, 40,138,130, 72, 36,122, 45, 38,203,218,195, 62,236,248,241, 19,
-102,118,118, 54,216,240,217, 20,124,152,150, 10, 27, 75, 11, 24, 10, 10,189,223,176,138,194,175, 83,167, 78, 50,150,101, 81, 88,
- 88,136, 11, 23, 46, 88,155,153,153, 89,187,187,187, 47,128, 9,163,167,100, 50, 89,170, 70,163,113, 44,126,156,166,209,104,156,
- 0,228, 73,165,210,146,235,116, 65,241,218,216,230,196, 23,120,181,153, 48,158, 32,136,178,175,213,148,214,109, 90, 55, 13, 61,
-118,100,159, 69,110,126, 10,108,108,211, 64, 34, 23,219,182,109,132,153,153, 21, 22, 44,152, 67, 63,239,254,182, 91,175,247,222,
- 15,125, 24, 21,211,253,141, 51, 91, 60,177,173,123,159,225,118,102,114,203,226,186,196,128,157,219,167,128, 36, 73,124,249,229,
-151,104,220,184,241,248,135, 15, 31,206, 3,144, 85,181, 12,182, 53,121,107,176,157, 68, 86, 84,196, 28,107,192,150, 3,159, 23,
-233,204,158,128,161,125,234,142,255, 98,224,179, 95, 27,251, 32,191,248,198, 92, 45, 34, 17, 79,180, 69,169, 97, 8, 9, 9,233,
- 28, 20, 20,116,177,178,231,255, 2, 92,240, 71,254,172,114,230,139, 14, 9, 9,225,131,130,130,136, 50, 7, 87,238,121, 85, 52,
- 3, 28,108,173,229,161,155, 23, 78,177,160,111,156,166,212,241, 79,144,172, 41, 87,145,151, 27,162, 41,151,203,135,239,220,185,
-179, 92, 72,201,211,201, 17, 98,177, 8, 34, 49, 1,155, 78, 69,217,235,115, 46,135,128, 32, 42, 53, 89,229, 52, 11, 11, 11, 53,
-247,238,221,179,216,177, 99, 7, 28, 29, 29,225,237,237, 13,185, 92, 14,153, 76, 86,206, 92,149, 53, 92, 21, 24,173,114,154, 37,
-239,211, 52, 13,146, 36,113,238,220, 57, 48, 12,131,129, 3, 7,190, 98,178,104,154,174,204,184, 85, 54, 60,245, 12,128, 7, 60,
-207,191, 85, 92, 1, 63, 0,208,185,204,251,189, 20, 10,197, 44, 0,203,140,213,164, 40, 30,148,230, 26, 56,247,181,160, 19,166,
- 64, 39,106,134,243, 87,238, 96,231,214, 53, 0, 0,239,134,173, 49,168,127, 80,105, 52,206,200,253, 44,197,205,205,237, 64,122,
-122,198,187,111,191,253, 54,178,179,179, 13, 11, 23, 46, 68,211,166, 77,225,231,231,103, 84, 25, 85,114,231,156,250,224,193, 3,
- 15,181, 90, 13,158,231,141, 49,103,175,104, 18, 4,129, 61,123,246, 64,163,209,188,178,177,109,231, 37,248,124,128, 23, 70,127,
-178, 11, 43, 30, 29,194,166, 77,155,170, 60,118, 57,208, 84, 99, 93,127,157,132, 98,154, 46,155,243,177,244,195, 15, 63,164, 70,
-143, 30,141,248,248,120,140, 29, 59, 86,115,238,220, 57, 93,138, 82,121, 66,194,113, 27,244,229,141,113,165,154, 82,169,116,247,
-153, 51,103,112,232, 80,145, 47,137,137,137,129,175,175,175,121, 57,147,156,117, 24,249, 47, 54, 32,236, 84, 52,218,246,217,143,
-176, 83,195,192,230,156, 22,181,242, 69,174, 41,231,179, 6, 84,164,121, 40, 51, 51,179,212, 68,237,221,187,215,108,239,222,189,
-253, 0,156, 4,112, 8, 0,178,178,178,190, 53, 81, 19, 32, 48,122,240,128,126,160,197,150,136,126,146,136,206,237, 91,192,201,
-209, 17, 15,162, 98,241, 34, 41, 43,149, 32, 48,170, 87, 7,201, 50,181, 90, 55,239,242,125,124, 95,141, 38,225,238,238,238,119,
-248,240, 97,113,153, 8,116,233,127,156,162,168,210,231, 37,198,187, 38,191,207, 18,147,101,233,110, 17,246,213,198,142,230, 97,
-225,123,225,235,245, 30,108,223, 11,194,247,103,207,226,241,195, 72,141, 78,197,116,251, 27,202,232,207,210,244, 27, 48, 96,192,
-181,125,251,246,217, 36, 36, 36,224,210,165, 75,240,246,246,134, 74,165, 50,230,134,183,156,166, 70,163,113, 44,249, 12, 65, 16,
-142, 37,129,119,157, 78, 87, 82, 24, 37,127, 68,155, 50,219,217, 84,161,233, 89,102,187, 18,115,229,245, 26,142, 93, 34, 19,139,
- 15, 31, 63,118,192, 34, 50,250, 18,154, 55,107, 7, 11,235, 70,224,216, 20,100,102, 21, 32,251, 73, 50,190,254,122, 5, 22, 44,
-156,139,147, 63, 29,177,104,224,223,236,168,142, 97,234, 3,208,188, 49,229, 78,240,227, 67, 79,237,221, 76,240, 28,212,169,209,
- 82, 81,225, 51,249,240, 97,239, 83, 67,134, 12,193,201,147, 39,241,240,225,195,205, 85,152,172,208, 50,145,249,241, 17,151, 14,
-109, 6,207, 67,157, 22, 45, 21,171,159,201, 71,126, 48,136,250,112,104, 79,220,248,125, 29,122, 54,127, 22,225,234,136,254,217,
-197, 22,155,166,144, 41,149,225, 42, 31,134, 27,101,204,214, 5, 0, 68, 25,131,117, 1,127,244,193,252, 55,208,187,216, 88,141,
-127,249,198,132,174,137,193, 2, 0, 95,192,130,144,136,195,118, 46,248,216, 85, 30,255,144,214, 70, 92, 71,178,150,227,183,196,
- 49, 92, 11,192,236, 46,160,126,249, 51, 42,149,170, 48, 54, 54,214,108, 84,255,254,232, 16, 16, 0, 23,123,123,212,119,119,135,
-153, 84, 2,137, 88, 84,238,150,213,232, 54, 4,130,224, 27, 52,104,128, 62,125,250, 64, 36, 18, 65, 46,151,195,194,194, 2, 18,
-137,164,194,104,150,177,119,185, 60,207,131,162, 40, 68, 68, 68,224,197,139, 23,176,177,177,193,213,171, 87,209,173, 91,183, 87,
-162, 90,101,205,153, 41, 33,250, 10, 42,254, 18, 35,118,198, 20, 45,150, 37, 80,192, 55,131, 44,110, 50, 84, 68, 11,104,181, 12,
-180, 90, 45,190,191,162,199,205,216, 66,232,245, 58,104,181,218,170,190,179, 50, 72, 87, 87,215,225,245,235,215,159, 52,108,216,
- 48,131, 68, 34, 65, 97, 97, 33, 84, 42, 21, 30, 62,124,104,120,247,221,247,114,250,244, 9,178, 62,125,250, 52, 95,220,116,152,
-106,130,118,166,155,155,155, 71,113,243,108,102, 77,126,213, 4, 65,148,154,152,151, 25,245,109, 36,104,170,168, 76, 54,111,222,
- 12,150,101,193,243,124,165,133,164, 33,136,223, 22, 46, 89,109,189,124,237, 15,176,182,115,194,197,139, 23,217, 95,127,253, 53,
-159, 0, 98, 30, 63,124,248,237,255,128,159, 15, 3,122, 83,246, 47, 59, 59,219,204,219,219, 27,238,238,238,224, 56, 14, 6,131,
-161, 52,250,146,153,153, 9,181, 90, 13, 59,243, 28,212,179,119, 7,147,127, 1,202,136, 69,112,177,136,198,174, 51, 58, 67, 75,
- 63,220,255, 7, 92, 56,126, 44, 94,106,121,215, 12, 55, 71,103, 15,144,188, 1,201,105,153,232,215,187, 39, 40,177, 5,158, 39,
-100,160, 89, 35, 31,151, 15,254,215,209,133, 34, 24,204, 88,182,127, 18,192,125, 95,157, 92, 65, 65, 1, 27, 29, 29,141, 7, 15,
-138,252,174,149,149, 21,204,205,205,203,253,199, 73,146,172, 85, 68,171,196,100, 45,217,220,205,156, 20, 21, 34,143, 13,197,142,
- 61,119,208,172, 65, 16,182,132,221,210,176,169, 89,221, 87,105, 52, 49, 7,254,197,193, 12,103,103,231, 9, 28,199, 45,224,121,
- 62, 39, 48, 48,208,105,255,254,253,182, 73, 73, 73,184,115,231, 14,190,252,242,203,116,150,101, 25,158,231, 9,158,231, 23,189,
-134,175,227,202, 24,172,215,137, 72, 46,195, 39, 14, 86, 68, 95,154,180,242,102,242, 10,158,103,232,248, 19, 42,134,251, 14,128,
-161,202,139, 27, 73,126,116,228,224,102, 87, 7, 5,135, 46,138,183,161, 76,213, 99,201,103, 35,145,153,153,143,239,183, 47, 5,
- 32,129,158,161,240, 86,151,247,225,232,232,134,241,227,198, 59,111,222,186,229, 99,134,227, 86,225, 13, 33,229,218,166,159, 0,
-132, 42, 20,138,135, 31,143, 31,175,240,246, 30, 1,153, 76,134, 3, 7, 14, 96,255,134, 13,236, 90, 96,144, 20, 56, 31, 12,252,
- 84,165, 78,216, 31, 58, 83,130,131, 21,254,254,193,144, 74,165,248,253,215, 31,161, 73,217,147,223,187, 3,244, 42, 13,122,215,
-233,195,219,197,157, 34,178, 68, 34, 60, 1, 0,145, 12, 74, 0, 47, 55,131,253,219, 12, 86, 9,167,241, 71,191,172,241,229, 34,
- 90, 53,190,118,138, 36,225,219,167, 14,245,114,130,150,208, 93, 57,133, 36, 45,199, 46,127,172,167,238,230,242,159, 71, 85, 96,
-178,138,127,216,156,167,167, 39,222,110,213, 10,253, 59,117, 2, 77,211,144, 73,196,176,148,153,129,103,139, 34, 89, 37, 77,135,
- 85,212,137,168, 40,250,100,111,111, 15,177, 88, 92,106,176, 76,136,102, 85,168,201,113, 28,104,154,198,131, 7, 15, 16, 24, 24,
- 8, 15, 15, 15, 28, 58,116, 8,189,122,245,122,165, 41,209, 84,147, 85, 98,180, 94,106,198,235, 5,160, 36,146,101,146,209,210,
-232, 8,100,232,154,129, 32, 2,192, 48, 0,203, 3, 90,141, 6, 60, 15,240, 60, 96,208,235,160,209,104, 74,191,211,152, 38, 89,
-103,103,103, 79, 51, 51,179,197, 51,103,206,240,111,214,172, 57,210,211,211,193,113, 28,204,205,205,161, 82,169, 96,101,101,133,
- 14, 29, 58, 60, 95,188,120,177,146,231, 49,222, 68,147, 85,107, 74,206,249,217,179,103,203, 53, 27,150, 44,133,202, 68,140,254,
-116, 47, 36,116, 81,211, 82, 73, 31,158,170,174,187, 93,223,234,136,107,119, 99,152,143,102,172,211,138, 50,239, 44,115,230,184,
-157,137,181, 56, 46,158,231,145,145,145,129,212,212, 84,244,237,215, 15,251,247,237, 67, 92, 92, 28, 26, 53,106,132,174, 93,187,
-194,209,209, 17,113,113,113,184,121, 89, 11,109,118, 22,178,116,119, 32,183,108,139,227, 23, 99,181, 95,110,214,199,254,141, 23,
-140,190, 0, 70, 90, 89, 89,213, 85,169, 84, 74,134, 97, 14, 3, 56, 12, 96, 16, 77,211,131,228,114,185, 75, 94, 94,222, 51, 20,
-141, 38, 58, 81,157,152,153, 76,102, 47,149, 89,129, 99,180,160,105, 26, 30, 30,222,224, 89, 29,178,243,212, 24, 53,164, 15,238,
- 62,136,194,175,231,111, 48, 6, 3,183,222,152,211, 74, 81, 20,239,231,231,135,180,180, 52,136, 68, 34,152,153,153,193,194,194,
- 2,179,103,207,198,134, 13, 27, 74, 77, 86, 77,141,214, 24,192,207,202,211,226,198, 55, 27,139, 76, 86, 74,178, 18,169,137, 34,
- 40,236,157,176,126,195,218,194,236,184,148,182, 63, 0, 49,255,246, 74,150,227,184, 69, 73, 73, 73,142, 52, 77, 59, 51, 12,131,
-132,132, 4,220,190,125, 27,147, 39, 79, 78,205,204,204,236,130, 26, 30,163, 76, 38, 75, 43,137,100, 21, 55, 29, 86,214,156,152,
- 83, 38,146,149, 83,133,100,101,205,132, 62,222,238,150,231,182,175,153,230,217,186,109, 7, 82, 78, 91,101, 23, 60, 73, 9,188,
-114,233, 98,135,201,107,190,255,248, 69,118, 65, 79, 0, 79, 43, 19,149,138, 68,239,182,235,216,145, 6,159, 10, 90, 18,136, 21,
-203,135, 32, 61, 35, 15,217, 89,249, 16,139,205,161, 51, 80, 96, 57, 2, 29, 2, 59,225,199, 93, 7,209,120,220, 88, 74, 34, 18,
-245, 96,116,186, 55,198,104, 21,179,244,187,239,190,243,108,208,160, 1,118,238,220,137,243,187,119,227,195,220, 92, 92, 36, 73,
-202, 32, 18, 57,252,108, 48,108, 67, 53, 70,171,172, 78,227,198,141,241,195, 15, 63, 96,207,158, 61,241,195,187,165, 29,157, 54,
- 28,142,122, 61,222,185,243, 8,118,117,250, 0,119, 30,193,174,101, 3,212,103,104, 60, 33,136,242,233,160, 66, 66, 66, 58,151,
- 93,255,203, 80,162,146, 38,118, 26, 64,151,144,144, 16,190,236,186,218, 11,232, 44, 71,207, 0, 0, 32, 0, 73, 68, 65, 84,167,
-194, 55,120,105,207,186, 94, 1,245, 60, 9,195,161,117, 72, 40,100,116,243, 30,233, 37,143, 11,248,105, 81,192,218, 42,238, 32,
-120,138,162, 96,105,102, 6,133,141, 77, 81,152,159, 36, 1, 14,224, 12, 0,193, 22, 25, 0,158, 35,192,179, 38, 93, 48, 32,145,
- 72, 42,236,248,110,106,223,172,178,154,249,249,249,120,254,252, 57,198,143, 31, 15,185, 92, 94,228,220, 83, 82,224,229,229, 5,
-154,166,145,148,148,132,223,127,255, 29,117,235,214,133, 84, 42, 53,201,109,149,137, 46, 53, 69,209, 40,195,166, 74,165,210,202,
-197,197, 5, 38, 71,180, 56, 30, 42, 45, 1,157,142,197,227,199,143,145,156,156,140,231,207,158,160,117, 97, 30,120, 80,224,121,
-222,164,136,150,155,155, 91,128,143,143,207,150,101,203,150,137,221,221,221,193,243, 60,108,109,109,160, 82,169,144,145,145,137,
- 70,141, 26,193,195,195, 3,203,150, 45, 3,128,253,127,181,201,122,233, 55, 85,106,180,202, 26,174, 79,255,231,137,172, 44, 11,
- 80, 20, 89,106,156,171,233,163, 37, 6,128, 46, 61, 7,208,231,126,253,217,156, 1, 22,167, 80,212, 98,186,250,114, 52,176, 28,
- 39,175,236,253,132,132, 4,136, 68, 34, 28, 57,124, 24, 89,169,169,104,214,172, 25,218,180,105,131, 39, 79,158,224,238,221,187,
-176,183,183,135,194,189, 61, 46, 62,211, 35, 50, 89, 13,107,107,107,196, 38,146,127,103,202,128,113,221,187,119,255,242,219,111,
-191,117,116,118,118, 22,165,167,167, 55,216,184,113, 99,179,141, 27, 55, 78,249,248,227,143,157, 62,254,248, 99, 91,133, 66, 65,
-167,164,164,248,125,246,217,103, 45, 67, 67, 67,235, 2, 88, 93,149,160,185,185,165, 29, 37, 54, 7, 65,208,176,177,182, 5, 45,
- 49, 7,199,208, 96, 57,192,202, 90,129,107,119,143,224,106,120,254,132,180, 76, 28, 54, 42, 62, 86, 92,238,246,246,246,175, 68,
-170, 39, 79,158,140,237,219,183,151, 54, 35,214,212,100, 45,217,216,205,130, 40, 54, 89, 41, 9, 52, 8,109, 93,156,250,233,122,
- 78,118, 92, 74,224,155, 96,178, 74,174,113, 60,207,227,217,179,103, 80,169, 84,184,124,249, 50, 22, 45, 90,148,254,178,201,114,
-116,116, 28,103,101,101,181,176,160,160, 96, 69, 74, 74,202,186,106,111,252,138, 76, 84,201,227,146,117,133,205,137, 70,238,170,
- 87, 69,145, 44, 15, 23,217,153,187,151,247,122, 89,243,247, 9,188, 24, 15, 60,206,123,104, 25,230,248,214,123,173,123,147, 45,
- 54,125, 85,167,205,132,217,103, 18,242, 52, 13, 42,139,108,113, 44,219,194,220,194, 18, 64, 26,238,220,190, 80,106,178, 50,179,
-114,161,213, 83,208,234, 8,104,244, 36,222,238,254, 14, 54,108,217,131,164,180, 44,176, 44,219,228, 13, 51, 89,118, 1, 1, 1,
-193,131, 6, 13,194,226,197,139, 17,250,237,183,186,137, 4,145, 71, 3,252,105,150, 5,199,243, 4,105, 92, 39,246,114, 58,171,
- 86,173,250, 9,192,208,101,147,209, 62,187, 0,163, 92,251,240,118,117,250, 20,109, 56,112, 38, 15, 0,118,233,161,229,171,204,
-160,160, 32,162,164,101,205,212, 22,182,127, 58,116, 80, 80,208,197,144,144, 16,148, 93, 87,245, 1, 75,167, 6,239,125, 49,125,
-210,242,214,189, 58, 17,202,233, 61,144,149,167, 97,230, 68,234, 37,137,234,170, 77, 86, 89,190,216,184, 17,119, 99,138,254,199,
-238,142,142,152,241,193, 7,224, 25,224,234,195, 72, 28, 12, 13,197,144,238,221, 97, 46,147, 25, 29,217,224, 56,174,194, 40, 86,
-217,104,150,169, 81,167,156,156, 28, 28, 62,124, 24,109,218,180,129, 92, 46, 7, 77,211,104,218,180, 41,162,162,162,224,227,227,
- 3,130, 32,112,252,248,113,244,239,223, 31, 79,159, 62, 69,251,246,237, 45, 94,188,120, 97,178,209,138,140,140,180,226,121,254,
-173,146,232, 71, 77,209,106,181,136,142,142, 70,159, 62,125, 96,107,107, 11, 55,183,253, 8, 61,179, 23,242,128, 15, 65, 16, 48,
-201,104,177, 44, 59,166,119,239,222, 98,130, 32,160, 86,171, 32,147,153,193,220,220, 2,150,150, 86,240,243,107,128,228,228,100,
-244,234,213, 75, 23, 27, 27,187, 73,169, 84, 30, 50,117, 95,253,253,253,205,227,226,226, 62,172, 83,167,142, 4, 0,204,204,204,
- 26,249,248,248,124,254,244,233,211,124, 83,163, 90, 37, 6,139, 32, 8, 80, 20, 85,106,180,104,146,132,139,179, 99,233,243,226,
-254,105, 68, 21, 90,121, 73,153, 90, 41, 0,120,122,122, 98,195,214,147,100,239,222,189, 49,101,202, 20, 24, 12, 6,108,218, 84,
- 52,200,110,216,176, 97,208,235,245, 56,122,180,104,144, 36, 77,211, 85,134, 77,110,223,190,141, 59,119,238,192, 96, 48, 32, 55,
- 55, 23,191,252,242, 11, 46, 94,186,132, 3,199,127, 67,220,179, 39,104,218,192, 11, 99,199,142,129, 72, 36,194,174, 93,187, 16,
- 24, 24,248,183, 94, 16, 68, 34,209,240,237,219,183,187,236,220,185, 51,231,248,241,227,133,237,218,181,147,174, 93,187,214,113,
-195,134, 13, 10,157, 78,135,169, 83,167,166,221,184,113, 67,219,175, 95, 63,243,109,219,182,185,212,171, 87,175, 7,195, 48, 21,
- 25, 45,115, 0, 67, 0,140,200,206,215,209, 57,249,106,112,140, 14,207,226,158, 35,183, 64, 7,142,213, 35, 62, 49, 25, 5, 26,
- 22,153, 89,249,104,218,162,231,119, 23, 46, 92,152,171,215,235,231, 0, 8,169,110, 63, 31, 62,124,136, 27, 55,110, 32, 46, 46,
- 14,207,158, 61, 43,239, 20,199,141,195,158, 61,123, 76,142,104, 85,108,178, 40, 16, 90, 31,132, 28, 15,203, 73,123,162,124, 99,
- 76, 86,241, 53,104,129,139,139,203, 2, 23, 23, 23,217,217,179,103,173,235,212,169, 3,134, 97,116, 47, 71,178,186,116,233, 50,
-111,251,246,237, 46, 62, 62, 62,147, 1,172,251, 39,236, 59, 73, 98,220,138,205,193, 14,150,146,248,100, 60, 94, 93,156, 75,144,
- 2, 84,121,192,133,125,160, 59,206,127, 62,185,223, 76,219, 89, 59, 23,143,227,192, 85, 58, 66, 54,246,105, 2, 54,111,222,128,
-105, 83, 71,225,199,239, 87,128,227,104,104, 13, 20, 60,189,219, 65,171,231, 64,144, 52,154,181,104,133,243, 23, 46, 67, 68, 2,
-135,119,110,126,195,124, 22,178, 34, 34, 34, 54, 29, 63,126,252,147, 41, 83,166,128,227, 56,201,194,205,155,213,233,233,233, 75,
- 97, 90,254,171,151,117,250,111,222,188, 57,102,214,134,244,159,166, 13, 7, 21,119,138,200,186,243, 8,118, 3,103,242, 56,178,
-156, 64,203, 6,200,146, 87, 92,197, 95,122,105,253,102, 24,173, 18, 39, 89,118, 93, 17, 45,124,235,126,101,109,103, 59,134,180,
-116,115,152, 49,101, 34,253, 52, 69,131,163,117, 62, 40,248,125,247,122,243, 20, 70,250, 93, 44, 52,107, 77,249,226,131,191,255,
- 94,250,120,229,254,253, 21,190,167, 28, 56,208,232, 59,179,202,162, 88,166, 70,178, 0, 64, 46,151,219,244,232,209, 3,221,186,
-117,195,251,239,191, 95,218, 39,171,121,243,230, 56,112,224, 0, 6, 12, 24,128,123,247,238,193,197,197, 5, 13, 27, 54, 68,195,
-134, 13,241,243,207, 63,155,122,145, 3,203,178, 8, 8, 8, 40, 25,117,216, 52, 49, 49,209,170,166, 5,169,213,106,145,153,153,
- 9, 59, 59, 59, 72, 36, 18,180,109,219, 6,159,124,218, 22, 14, 46, 63, 32,192,191, 1, 10, 11, 11, 75,135,191, 27, 81,217, 6,
-212,175, 95, 31,233,233,233, 72, 79, 79,135, 66,161,128,171,171, 43,156,157,157,177,122,245,106,126,221,186,117,191,234,245,250,
- 77, 25, 25, 25, 38, 71,178,156,157,157, 59, 17, 4, 49, 79,173, 86, 75,202,220,225, 74, 20, 10,197, 9,181, 90,189, 84,169, 84,
- 26,221, 17,148, 32, 8,232,245,122, 16, 4,129,211,207, 92, 81,168, 35,144,151,120, 7, 83,254,231, 85,206,120,137, 68,162,106,
-155, 75,121,158, 47, 28, 58,116,168,163,135,135, 59, 18, 98, 31,226,200, 17, 30,223,126,251,109,201,168, 72,196, 20,223, 24,148,
- 60,239,218,181, 43,188,189,189,193,155,144, 43,131,227, 56, 60,120,240, 0,251, 79, 92,132,139,151, 63,226, 31, 71,227,238,207,
-167, 80, 71, 97,135,198, 45, 90,193, 96, 48,212, 42,245,198,235,192, 96, 48,236,240,245,245,229,117, 58,221, 69, 0, 27,194,195,
-195, 71, 41,149,202,169, 39, 79,158,116, 29, 52,104, 80,242,169, 83,167,214, 2,216, 25, 30, 30, 30,252,245,215, 95,119, 99, 24,
-166,194,209,130, 20, 69,253,248,217,103,159,117, 25, 52,104, 16, 33, 38, 13,186,179,103,118,209, 12, 99, 32,190,152,179,131,189,
-112,229, 34,201, 48, 6,226,253,161,159,113, 63,255, 30, 78, 78,248,116, 37,219,188, 93,111, 68, 68, 68, 56, 7, 5, 5,125,109,
- 48, 24,170, 52, 90, 37,145,170,202, 34,148, 20, 69, 97,212,168, 81, 56,112,192,248, 30, 84, 99, 1, 31, 43, 47,139, 27, 75, 54,
-118,183, 32,232,130, 50, 38,171, 30, 66,142,135,229,164, 62, 78,126,163, 76, 22, 0,100,102,102,110, 5,176,149,227,184, 84,115,
-115,115,228,231,231, 87,244,251,147,133,135,135,203, 36, 18, 9,122,246,236,105, 23, 26, 26, 26, 67,146,228,186,228,228,228, 74,
- 29, 71, 69,205,132, 21, 53, 39,162, 22,163, 14,109, 21, 8,106,219,169,133,229, 35,235,197,150, 50, 90,115,175, 78,140,204,138,
- 0,144,171,117,122,118,237,197,144, 60, 34, 77,218,188, 85,215,150,176,162,205,131,114,152,252, 10,141, 22, 73, 81,119,115,179,
-115,222,205,203,215,225,202,213, 8, 12, 29, 82, 31, 90, 61, 1,142, 35, 81, 80,168, 5, 40, 17, 72, 0,195, 62, 24, 9,158,160,
-145,149,154, 12,138,162,194,193, 48,120,195,152, 29, 28, 28,252,238,156, 57,115,234,206,152, 49, 3, 51,102,204,240,218,190,125,
-251,214, 37, 75,150,204, 72, 79, 79,111,130,106,146,143, 87,161, 83,231,212,129,249,211, 79, 92,222,146,219,187,131,250,113,203,
- 6, 69,145,175,150, 13,144, 37, 18,225, 9, 77, 33,147,231,203,119, 51, 10, 10, 10,234, 92,118,253, 47,227,229, 78,240,165,207,
-141,234,163, 85,191,174,219, 59, 45,154, 7,124, 58,119,206, 92,203,168,107, 23, 48,235,171, 13,188,111,171, 30,249, 91, 47,223,
-213, 21,152,123,191, 91,144,241,228,170,177,254, 2, 0,222,121,123, 0,154, 54,106,243,202,155,129, 93,139,146,181, 95, 57,127,
- 27,169,233, 73, 70, 87,182,197,230,160,194, 62, 89,198, 12,233,127, 25,181, 90,157, 19, 17, 17,225,152,152,152, 88,174,227,187,
-183,183, 55, 8,130, 64, 88, 88, 24,110,220,184,129,161, 67,135,130,166,105,136, 68, 34, 92,188,120,209,164,104, 76,153,232, 82,
-201,168,195, 94,238,238,238,149,141, 54,172, 86, 75,173, 86, 35, 55, 55, 23,103,206,156, 65,253,250,245,177,100,201, 18,184,186,
- 56, 97,238,220,233,224, 56, 14,121,121,121, 96, 89,214,216,136, 22, 87, 18, 45,226, 56, 14,233,233,233,168, 91,183, 46, 54,110,
-220,136,181,107,215,126,173, 84, 42, 79,154,186,143, 30, 30, 30, 54, 44,203,126,209,187,119,239, 30,253,250,245, 67,175, 94,229,
-243,177,238,219,183,207,242,232,209,163, 75,215,175, 95,255,142, 94,175, 95,150,150,150,150,110,140,238, 15, 63, 20,165, 95,146,
-183, 91,128, 89,131,234, 96,196,164, 93, 88,189,250, 24,164, 82,105,185,138,119,241,226,197, 85,154, 24,142,231,125,197, 25,215,
-146,167,207, 92,229,184,116,105, 40, 66, 67,211, 64,146, 36, 92, 92, 92, 64,146, 36,158, 63,127, 14,146, 36,225,229,229, 5,146,
- 36,145,148,148, 84,210, 39, 48, 27, 21,140,122,172,248, 46,156,132, 70,163, 65, 66,124, 28, 18, 99, 99, 96,145,151, 2,133,149,
- 28,217, 15, 31,160,233,216,113,165,249,159,254,102,246,232,116,186, 61,101,158,175, 58,117,234,148,142, 32,136,247, 81,212, 79,
-163, 36,162,241, 53,195, 48, 95, 87, 38,210,174, 93,187,230,115,230,204, 17,149,164,219,112,245,252,134,209,235,245, 28, 0, 52,
-104,250, 86, 57,183,255,228,201, 19,172, 94,189, 26,133,133,133, 16,139,197, 98, 99,206, 3,199,113,165, 35, 12, 43, 50, 97,166,
-152, 44, 0,176,247,114,255, 46,236,206, 69,246,126,236, 22,117,248,163, 95,204,148,241, 36, 72,221,155,107,178, 94,142,108,185,
-187,187, 47,224, 56,142,231,121,126,126,153,183,164,158,158,158,151,207,158, 61,107,207, 48, 12,214,175, 95,111,147,146,146, 98,
-243,214, 91,111,205, 2, 80,169,209,170,168,153,176,162,230, 68,148, 25,117, 40,149, 74,237,116,186, 74,131, 39,175,140, 58,100,
- 89,248, 89, 89,218, 32, 27,137,208, 58, 24,154,231,216, 51, 89,231,148,227,238,185,190,104,209,200,156, 53,212, 37,243,116,112,
-147,219,128,227,249, 74,135, 70,107, 13,134, 95,238,221,185,219,211,211,163, 62,117, 50,228, 18,250,246, 31, 4,173,150,132,198,
- 64,128,160, 68, 32, 40, 49,154, 52,109,129,134,141,155,130, 7,112,251,230, 53, 70,103, 48,156,123,147,202,222,165,227, 39, 67,
- 9, 2,235,192,115,124, 5,121,180,234,246,239,223,127, 41,128, 79,171,211,113,108,247,201, 80,146, 44,210, 41,155, 71,235,179,
- 79,130,241,240,166,200,250,210,157,229,226, 94,237,112, 58, 61,148,128, 92,246,199,168, 67, 17, 89,171,212, 28,255, 22,195, 85,
-189,209,242,240,240,176,177,146,202,126,248,120,236, 24,203, 23,247,175, 35, 37, 50, 12, 87, 47,197,100, 31, 60,122, 44,171, 48,
- 51,109,172, 9, 38,171,180,153,207,222,185, 14,188,253, 95, 53, 90, 50, 11, 5, 0,192,219,191, 13, 40,115,211,210, 8, 85, 20,
-205,170,137,201, 42,123,193,174, 40,135,214,132, 9, 19,176,125,251,118,116,236,216, 17,190,190,190,165, 23,123, 83,163,102, 21,
- 68,151, 76, 30,109, 88,150,252,252,124,120,121,121, 97,219,182,109, 8, 15, 15,135,165,165, 37,134, 14, 29,138,252,252,252, 82,
-131,101,108,103,120,158,231,159,156, 61,123,182,245,224,193,131,121,145, 72, 68,228,228,228,192,198,198, 6, 27, 55,110, 44, 84,
- 42,149,167,107, 96,178, 6,137,197,226,233, 67,134, 12,161, 26, 52,104,128,212,212, 84, 88, 89, 89, 25, 8,130, 16, 1,128,141,
-141,141,193,204,204, 12,193,193,193,104,214,172, 89,167, 25, 51,102,116,164,105,122, 99,114,114,242,174,170,126, 75, 4, 65,148,
- 86,168, 99,215, 69, 67,167, 43,170,160, 55,109,218,132,226,190,110,127, 52, 17,196,198, 2, 70,140,100,177,176,176,128,175,175,
-111,133,101,223,169, 83, 39,220,190,125,187,168,105,146,166,225,232,232,136,171, 87,175, 26, 53,146,170, 36, 17,100, 68, 68, 4,
-252,189, 29, 16, 30,122, 22, 14,114, 17,154,185, 58,195,189, 83,103,196,196,196,252,157,209, 44, 2, 69,253, 48,186, 23,255, 6,
-119, 0,152, 80,230,249, 70, 0,223,153, 34,200, 48, 12, 79,146, 36,145,144,144,160,151,203,229,132,157,157, 29, 45,149, 74,161,
-213,106, 75, 13,215,147, 39, 79, 16, 18, 18,130,196,196, 68,216,217,217,145,214,214,214,208,235,245,217,198,232,251,249,249,193,
-217,217,185, 92,199,247,177, 99,199,214,200,100,141, 2, 2,182,127,179,172,142,148,164,172,253, 29,222,193,179,232,231, 26, 82,
- 7,217,127,193,100, 1, 64, 78, 78,206, 86, 0, 91, 75,158, 59, 56, 56,140,166, 40,106,174, 86,171,181,190,120,241,162,141, 66,
-161, 32,118,237,218,101,152, 63,127,126, 14, 69, 81,217, 4, 65,172,249,251,205, 33, 34, 51,114, 99,189, 68,182,174,220,125, 13,
-127,109,106,194,172,134,217,162,250, 10,162,113, 0,250,167, 69, 93, 25,205,196,118, 72, 85,166,144, 60,184,200, 42,174,193, 59,
-102,205, 89,252, 69, 76,244, 93, 79,153,149, 12, 19,130,231,224,244,175,231, 65,144, 34, 92,190, 22, 6,157,158, 69, 70, 86, 46,
-134, 12, 27, 14,119, 23, 7, 68,222, 56,147,206,112,220,198, 55,203,100,115, 27,122,246, 29,109, 43, 53,147, 23,159, 19, 22,123,
-190,159, 14,146, 92,135, 47,191,252, 18, 1, 1, 1,147, 34, 34, 34, 22,161,154, 60, 90, 4,193,109,104,210,121,152,173, 88, 90,
-164,195,115, 44,182, 29,158, 85,156, 71,107, 26, 54,110, 61,218,164,177,247,179,133, 85,229,209,122,131, 76, 86,217,117,213, 70,
-203,203,203, 75,106, 46,194,120, 17, 69,207,248,248,131,126,138,180,216,135, 72,140,186, 91,212,188,160, 87,235, 83, 30, 71, 25,
-147, 10,189, 59,202,231,239,224,171,106,186,210,104,140,186,163, 47,167, 89, 82,225,190, 28,205, 50,209,100,189,162, 89,214,108,
-149,205,155,229,225,225,129,165, 75,151, 26,147, 71,235,229, 99, 47,161, 23,138, 58,192,151,237, 12,223,203, 72,147, 85,161,166,
- 66,161, 64,102,102, 81,134,132, 46, 93,186,160, 75,151, 63,198, 51,232,245,250,210, 40,150,165,165,101, 69, 17,173, 87, 52,205,
-204,204,102, 29, 59,118,108,204,181,107,215, 6,127,254,249,231,162,110,221,186,149,152, 57, 21,140,155,219,173,156, 38,203,178,
-193,103,206,156,161, 56,142,195,182,109,219,112,251,246,109, 94, 46,151,207,147,203,229, 27,204,204,204, 88,181, 90, 61, 97,220,
-184,113,195, 23, 46, 92, 72,118,234,212, 9,215,175, 95, 39,235,214,173, 59, 18, 40,151,196,178,194, 99, 15, 11, 11, 3, 73,146,
- 96,178,226, 49,105,214, 65,152,155,209,136,142,142, 70, 86, 86,214, 43, 73, 76,141, 57,159,101, 35, 37, 37, 75,167, 78,157, 74,
-155, 33,219,182,109, 11,138,162,112,239,222,189,202,154, 97,203,106,242,246,246,246,165,191, 15,177, 88,140,243,231,207,227,171,
-175,190,130,167,157, 13,178,163,194,225,220,229,109,244, 24, 51, 14, 67,135, 14, 5, 69, 81,176,179,179, 43,141,252, 26,241, 91,
-170, 13,101, 53,199,248,251,251,143,140,140,140,116,111,210,164,137, 75, 68, 68, 68,215,128,128, 0,175,240,240,240,146,231, 82,
- 24,215, 55,167, 84,243,214,173, 91, 71, 54,108,216, 16, 60,106,212, 40, 49,199,113,236,139, 23, 47, 12, 0, 8,103,103,103,234,
-214,173, 91,220,201,147, 39,161, 86,171,225,238,238, 78,186,185,185, 17,231,206,157,227,162,162,162,194,120,158,159, 99,204,177,
-179, 44, 91, 46,141, 67,201,227,125,251,246,153,252,127,175,211,208,111, 73,183,183, 26,120,100, 36,223,131, 50, 41, 22,108,174,
- 66, 31,114,252,148,214, 68,147,245,103,151,209, 95,169,185,248,241,227,199,110, 90,173, 22, 18,137, 4,155, 54,109,210, 47, 93,
-186, 52, 50, 35, 35, 35, 16, 21,143, 40, 47,167, 89,195, 81,135, 89, 85,104,190, 50,234, 48, 55, 19,167,143,159,184,213,218,162,
-255, 14, 76, 74, 78, 47,237,216,200, 19,132,221, 49,167, 70,129,242, 54, 77,146,200,159, 23,144,249,172,234,116, 21,199,174, 83,
-235,116,131,250, 15, 24,246,219,129, 3,251, 45,230, 47, 88,128,171, 97,225,200,204, 41, 0,199, 83,224, 8, 2,115,231,206,135,
-179,131, 29,242,146, 31,171,180,122,125,127,148,207,161,245,175, 47,119,130, 32, 39,159, 59,185,107, 29, 73,128, 43, 76,125, 36,
-165,242, 99,229, 35,134,246,167, 7, 13, 26,132, 99,199,142, 33, 34, 34, 98, 75, 21, 38,171, 84,147,231,201,201,225, 23, 15,174,
- 35, 0, 78,157,254, 72, 74, 23, 60,147,143,252,160, 63, 61,116,232, 80,252, 20,114, 13, 7, 78, 61,219,124,224, 20, 78,225,205,
-198,244,204,240,150, 52, 34, 2, 27,249,184,117,106,209, 88, 70,179,106, 36, 70,197, 34,171, 80,131,115, 15, 95,228,144, 60, 89,
-227,220, 58, 69, 23, 72, 49,226,227, 31, 87,112,103, 37, 43,174,208, 53, 38,105,146, 36, 89, 46,154, 85,155, 72, 86,217,253,116,
-114,114, 42, 55,157, 75,217,138,187,164, 15, 80, 13, 82, 59,204,138,143,143,183,138,143,143, 7,207,243, 8, 11, 11,179,106,219,
-182,237,172,218, 68,179,166, 79,159, 94, 26,181,122,121, 93,209,107,213, 81,220, 41,125,173,193, 96, 56, 60, 99,198,140, 73,109,
-219,182,237,185, 96,193, 2, 2, 38, 76,192,251, 82, 52,135,225, 56, 14, 23, 46, 92,192,177, 99,199, 88,189, 94, 63, 94,169, 84,
-134,151,217,100,253,157, 59,119,206, 13, 24, 48, 96,215,163, 71,143,168,200,200, 72,240,124,245,227, 78,213,106, 53,124,125,125,
-193, 48, 12,150, 79,242, 64,126,126, 19, 48, 12, 3,150,101, 97,110,110, 94, 26,197, 43,107,158,171,251, 29,177, 44,251,138,209,
- 10, 11, 11, 3, 69, 81, 8, 12, 12,196,221,187,119, 75, 35, 90,213, 69,160,244,122,125,188,147,147,147,211,226,197,139, 75,247,
- 43, 61, 61, 29,103,207,158, 69,187,246, 29,208,104,252, 4, 36, 39, 39, 99,205,154, 53,112,117,117,197,146, 37, 75,144,149,149,
- 5,134, 97,254,234,112,250,187,145,145,145,238, 31,124,240, 65, 90,120,120,184,123, 72, 72,136, 77, 80, 80,144,249,176, 97,195,
-210,194,195,195,221, 9,130,232, 0, 19, 59, 65,115, 28, 55,123,238,220,185,191, 46, 89,178,100,214,167,159,126,218,118,212,168,
- 81, 34,145, 72,196, 37, 37, 37, 49,251,247,239, 39,124,125,125, 73,177, 88, 76,156, 57,115,134,187,121,243,230, 13,134, 97,150,
- 3,184,108, 74,196,185,172,201,162, 40,202, 88,147, 85,142,169,142,210,145,150,100,122,224,134, 77, 75,201, 6,222,238,250,221,
-251,207, 38, 92,190,254,248, 41,165,101,166,254, 80, 69,106,128, 55, 25,138,162, 14,249,251,251,143,158, 60,121,178, 89,175, 94,
-189,164, 11, 23, 46,204,205,207,207,175,204,100, 85,112,195,252,151,140, 58,252,126,246,231, 33, 83, 63,107, 50,218,231, 35,231,
- 58, 8, 45, 76, 67, 54, 77,145, 86, 54, 36, 90,120, 81,200,207,120,162, 56,245,219,206,231, 0,170,203,203,118,235,206,131,136,
-238,141,155, 52, 63,186,124,201,114,199,121, 51,103,136,142,134,252, 2,158,209, 35,236,226, 69, 88,136, 89, 62,234, 78,104,170,
- 86,175,235,135, 55,112, 10, 30,229,213,239, 14, 0, 56, 97,103,103,119,127,204,168, 81,190,254,254,195, 32,151,203,113,228,200,
- 17,236, 89,191,158, 93, 11, 12,150, 2,119,131,171,201,167,151,118,163, 84,231,222,184, 49, 99,252, 90,180,248, 8,114,185, 28,
-135, 15, 31,198,174,181,107,141,214,249,151, 83,146, 25,254, 52,254,200, 16, 95, 77, 31, 45,146,200,191,241,248, 69, 65,216,227,
- 23, 5,224,120,158,227,121, 45, 73, 34,161, 80,175, 95,242,248, 89, 82,141, 76, 65, 73,211,225,215,223, 76,126,125,109, 30,101,
-204, 79, 77,135,116, 87, 96,178, 18,203,206,145, 86,182,146,174,236,177,193, 96, 72, 52, 82,126,153,167,167,231, 43,175,213, 60,
-244,203,155,100,178,140,205,163, 5, 0,153,153,153, 74, 0,243,174, 95,191,190,175,103,207,158,227, 0, 36,213,176,140,182,117,
-238,220,121, 60, 0,138, 32,136, 45,201,201,201,225,175,252,225,149,202, 24, 87, 87,215,149,222,222,222, 19,138,110, 76,137,109,
-213, 84,228,207,154, 52,105,162,175,168, 44, 42,123,206,113, 92,181,101,148,147,147,131, 54,109,218,188, 50,167, 37,207,243,120,
-241,226, 69, 73,196,169,244,220, 87,101,224, 10, 10, 10, 38,124,242,201, 39, 91, 69, 34,145, 39, 0,162,196,228,178, 44, 75,125,
-247,221,119, 50,150,101, 41, 0, 4, 73,146,140, 72, 36,210, 28, 59,118,140, 97, 24, 38, 94,171,213, 78,248,139, 47, 16,135,137,
-162,169, 24, 10, 35, 35, 35, 27, 20, 71,178, 18, 35, 34, 34,238, 29, 56,112, 64, 1,224, 96, 13,117, 47,171, 84,170,203, 75,151,
- 46,237,180,105,211,166,217, 19, 38, 76,104, 51,116,232, 80,186, 75,151, 46, 56,125,250, 52,123,225,194,133, 48,181, 90,189,204,
- 20,131, 85, 92,150,185, 30, 30, 30,165,134,171,154,255,114,149, 29,121,237,189,164, 27,134, 79,116,149,109, 91,118,182, 32, 35,
- 89,119,205, 80,160,155,179, 19,136,192,127,152,212,212,212,207, 1,204, 95,179,102, 77,114,179,102,205,164, 98,177, 88,103,172,
-201,250, 11, 97,184,156,130,247,190,237, 49,240, 68,231,185,159,120,247,232, 26, 40,247,168,227,232, 22, 21,155,138, 39,215, 79,
- 23,222, 63,245, 77, 28,175,205,238, 11,192,152,158,235, 55,181,122,125,253,233, 51,166, 79,146,136, 68, 61, 89,150,109,218,237,
-220,113,158,162,168,112,157,193,112,174,184,185, 80,243, 6, 23,249,215, 43, 87,174,244,245,247,247,199,145, 35, 71,112,110,239,
- 94, 12,201,200,192,121,138,162, 72,177,216,254,148, 94,191, 10,198, 25,164,175, 87,175, 94,237, 23, 16, 16,128, 67,135, 14,225,
-204,174, 93, 24, 92, 51,157,202,234,186,214, 0, 20,197, 79, 51, 0, 60, 2,208, 18,128, 25, 0, 45,138,166,118,114, 40, 91,133,
- 21,191, 87,242,254, 37,130, 32,254,204,142,176,213,103,134,127,153,136, 39,113, 45, 95,247, 94,168,213,234, 44, 95, 95, 95,147,
-198, 92, 27, 12,134, 42,219,112, 25,134, 73,244,241,241, 49, 58,106, 97,140, 41,202,202,202,106,245, 39, 22, 70,173,250, 98,149,
-171, 68, 56, 46,206,197,197,133, 43,169,244, 43, 50, 97, 21,189,198, 3,207, 77,249,158,148,148,148, 71, 0, 62,171,233,126, 38,
- 39, 39, 31,133, 17,147, 70, 27,187, 29, 0,100,103,103,191,246,201,124, 9,158, 79, 90,184,112,161, 73, 6, 27, 60, 95,149,249,
- 12, 47, 40, 40,104,107,204,119,235,245,122,252,141, 28, 42, 94,200,136,136,136,113, 4, 65,244, 66, 81,147,192, 22,188,158,108,
-222,151,243,242,242, 46,175, 88,177,162,211,182,109,219,166,242, 60,143,188,188,188,181,166, 26,172,210,187,231,180,180,211,175,
-235,192,179, 82,117,191,239,223,146,248,182, 58, 71, 63,117,123,129,110, 23, 4, 74,131, 81, 60,207,255, 56, 98,196,136,118, 0,
-118,214, 86,172,146, 81,135,181,229, 57,151,157,219,236,252,244,175,198,156,183,177,236, 13,150,110, 0, 29,121, 10,186,204,211,
- 0,126,128,113,221, 28, 74,143,151,225,184,213,140, 78,183,186, 76,229,242, 95, 40,103,187,128,128,128,169,163, 71,143,198,252,
-249,243,113,102,213, 42,253, 68,130,200, 21, 1,252,175, 69, 55,154, 36, 1,204, 52, 86,103,228,200,145,152, 63,127, 62,126, 94,
-190,188,166, 58, 85,161, 32, 8, 34, 4, 0,102,205,154, 53,103,233,210,165,182,179,103,207,110,186,108,217,178, 37,197,207, 31,
-150,188, 95, 92,215, 5,205,158, 61,187,113,153,247,243, 1,220,250,147,207,103,133,153,225,255,108,186, 11,154,130,166,160, 41,
-104, 10,154,130,166,160, 41,104,214, 6,158,231,123, 23,173, 42, 95, 87,246,184,204,250,111,129,134,128,128,128,128,128,128,128,
-192,191,144,178, 81,172,154,188,255, 26, 41,233,163, 85,150,109, 64,209,176,238,202, 92,169, 41,163, 30,106,226,108, 67, 5, 77,
- 65, 83,208, 20, 52, 5, 77, 65, 83,208,252,207,105, 86,167,253,202,231,121,158,239, 77, 16, 68, 8,207,243, 65,149,173, 75,140,
-213,203,143,203,172, 95, 91,183,131, 10, 40,233,155,245, 74, 31,173, 63, 27, 33,172, 42,104, 10,154,130,166,160, 41,104, 10,154,
-130,102,173, 40,105, 2, 4,192,207,154, 53,107,246, 63,176,233,208,165,216,100,149, 93, 0, 84,209,116,200,243,135,169,164, 36,
- 88, 73, 36,114, 49, 0,232,116, 42,189,155, 27,242, 8, 98,208,223, 57,225,173,192,191,147,146,225,222,169,175,121, 91, 1, 1,
- 1, 1,129,255, 6,233, 37,145, 42, 0,233, 0,136,226,231,186,226,117,122,177, 33,123,249,113,185,247,255, 68,148,168, 36,146,
- 69, 87,102,178, 50, 50,228, 14, 52,157,237,199,178,154,134, 0, 64,211,100,116, 70,134,109, 12,207, 31,206,168,137,217,114,112,
-116,188, 35,162, 40, 55, 99,182, 53,176,108, 82, 70,106,106,249,212,241, 4,241, 38, 24, 60, 99, 77, 68,109,204,198,159,110, 84,
- 28, 28, 28,156,156,156,156,254,103,101,101,213, 62, 39, 39,231,102,122,122,250, 79, 85,204,123,184,148, 32, 48,163,232,119,133,
- 21, 0,102, 87, 33,109,202,182, 47,227, 43,151,203, 39, 17, 4, 17, 80,252, 7,139, 80,169, 84,155, 0, 60,254, 15, 94,144,204,
- 0,244,163,105,122,164,131,131, 67,155,148,148,148,133, 0,106,154,205,155, 6, 48,221,198,198,102,136,141,141,141, 79, 86, 86,
-214,211,188,188,188, 67, 0, 86, 3,168,118,168,244,194, 79, 93,218,119,233,213,101,222,133, 51, 23,190, 94,184, 94,121,253,149,
-247,167,187,216,247,236,209,113,254,133, 83,215, 22,207,217,152,156,101,226,190,145,197, 11, 80, 52, 58,146,199,171,201, 94,107,
-139, 8, 64, 31, 0, 93, 0, 92, 0,112,202,152,227,174,132,118, 0,230, 20,239,243,106, 0,231,255,225,191, 35,115, 39, 39,167,
-229, 0,250,208, 52, 29,153,148,148, 52, 30, 64,226,223,188, 79, 52,128,214, 0, 2, 80,148,134,227, 22,140, 75,225, 80, 45,246,
-246,246, 65, 52, 77, 79, 42, 78,237,178, 41, 51, 51, 51,228,159, 90, 48, 18,137,100,173,179,179,243, 71,106,181, 90, 69, 16, 4,
- 95, 54,223, 35,195, 48,137, 25, 25, 25,173,222,180,139, 26, 65, 16,183,254,225,187, 56,190,130,215, 42,207,163,149,148, 4, 43,
-154,206,246, 75, 75, 9, 31,146,172,124, 48, 24, 0, 92, 93,154, 30,114,116,110,114, 48, 41, 73,162,119,110,208,223, 66, 36,167,
- 55, 81,148,168,185, 70,167,117, 16,209,162, 12, 61, 99,184, 71,234,248, 73, 41,143,126,170, 48,217,162,136,162,220,226, 98,206,
- 59, 50,250, 44,136,100,174, 16,153,121, 86,186,183,174,174,174, 53, 58, 74, 91, 91, 31, 75,189, 84, 54, 85, 36,162,122,112, 60,
- 19,192,115, 0, 73,136, 34, 24,214,240,155, 88,171,253, 54, 59,251,105,126, 77,207, 96, 3,123, 56,243,192, 80, 16,232, 1, 30,
-231, 8,224,192,163, 76,164,152, 32, 97,172,137,168,141,217, 40,251,217, 53, 0, 62,127,221,191, 36, 55, 55, 55,219,160,160,160,
-181, 95,125,245,149,153,133,133, 5, 17, 31, 31,223,107,230,204,153,111,221,190,125,251,179,164,164,164,228,151, 77, 31, 65, 96,
- 6,199,241, 36, 0,144, 36, 49, 83,161,112,148, 83, 20,245, 74,110, 35,150,101,229,233,233,105,147, 57,142, 39,138,183,157,193,
-243, 88,103,140, 97,148,201,100,195, 2,154, 52,255,108,249,202,213, 22, 78,142,142,230, 12,203,233,159,191,136,147,207,155,245,
-121,219,216, 39,143,215,105, 52,154,253, 53,249, 95, 83, 20, 53, 68, 42,149, 6, 1,240, 47,126, 45, 74,171,213,134,176, 44,123,
-208,216, 10,221,201,201,233, 18, 69, 81,117, 76,249, 98,150,101,227, 83, 83, 83, 3,107, 88, 68,131, 60, 61, 61,127,232,220,185,
-179,188, 77,155, 54,144, 72, 36,152, 63,127,254,116,165, 82, 89,157,209,162, 1, 76,151,203,229, 67,204,205,205,125, 10, 10, 10,
- 98,213,106,245, 81,137, 68,210,125,221,186,117, 30, 29, 59,118,180, 76, 77, 77, 37, 40,138,114,250,249,231,159, 63, 92,187,118,
-109, 47,134, 97,186, 85, 87,201,229,198,242,243,164,125,252, 59,229,198,158,159, 7,224,221,151,223,103, 52,178,145, 60,229, 17,
-164,230,239, 38, 20,155, 15,163, 77,150, 72, 36, 90,231,236,236, 60, 90, 83,148, 43,128,127,185,194, 1, 0,157, 78,151,157,147,
-147,211,160, 38,127,121, 0, 99,109,108,108, 70,127,241,197, 23,182,239,190,251, 46,246,238,221,251,241,246,237,219,179,243,242,
-242,126, 68, 81, 34,204, 71, 38,106,206, 72, 73, 73,121, 79, 36, 18, 17, 30, 30, 30,148, 90,173, 54,197,104,249,161,104, 18,230,
- 91, 0, 54,161, 40,117, 65, 87,160,232,255, 14, 96, 69,137,113, 35, 73,114, 83,131, 6, 13,254, 23, 21, 21,181, 25,192,215, 53,
-253,175, 59, 59, 59,111,221,184,113,227,224,190,125,251, 82,233,233,233,110,205,154, 53,219,151,146,146,210,233, 53, 92, 70,198,
- 72,165,210,105, 77,155, 54,109,244,232,209,163,152,188,188,188,213,197,231,179,170,255,148, 59,128,238, 54, 54, 54,221,230,206,
-157,107, 17, 20, 20,132,109,219,182,189,183,125,251,246,130,252,252,252,223, 80,212,167,167, 86, 38,144,166,233, 73,137,137,137,
- 14, 60,207,195,197,197,101, 18,128,127,164,209, 34, 73,114,221,128, 1, 3, 70,239,219,183, 79, 30, 23, 23, 39,119,115,115, 43,
- 77,158, 77, 16, 68,141,235, 79,129, 90,179,173,140,225,170, 62,143,150, 68, 34, 23,179,172,166, 97,178,242,193,224,183, 58,127,
-103, 13, 0,151, 46,126, 50,216,209,185,113,132, 68, 34,143,145, 90,201,142, 13,232,211,189,249,192,160,206,132,187,139, 35, 18,
-149,105, 78,223, 31, 56,243, 78,200,153,243,199, 80,148, 64,172, 66, 24,125, 22,204,244,161,120,116,101, 61, 28,186, 36, 99,195,
-207,137,184,126,255, 57, 84,185, 25,168,227,108,134,149, 83,123,194,217, 86, 94,179, 91, 47, 71,223,174, 12, 45, 61,248,193,176,
- 17,214,255,235,231, 47,242,114,118, 6,207, 75, 17, 19, 91,208,225,151,179,231, 91, 31, 61,188,127,146,185,200,119, 72, 97,218,
- 99,163, 47,110, 45, 92, 96, 86,168, 71, 63,154, 34, 62,236,216,170, 81,183, 97,239,117, 34, 27,249,215, 71,228,195,168,158, 39,
-126, 15, 91, 73, 94,123,248, 27,195,242,187,205,197, 56,126, 87, 89,101, 66,191, 87, 12, 71,183,110,221, 59, 73,165,210,114,201,
-147,180, 90,173,248,183,223, 66,219,213,196,108,148,124,135, 78,167, 37, 69, 34, 9, 72,146,248, 44, 32,160,137,127, 70, 70,198,
-121,130, 32,126, 72, 78, 54, 45, 90,240, 9, 32,201,166,233,150,164, 84,234,194,234,116,246, 0, 64, 72, 36,217,207, 73,178,201,
-220, 57,115, 44, 40,138,226, 50, 51, 51,161, 82,169,136,113,227,198,201, 98, 99, 99, 7, 36, 37, 37,173,175,230,142, 4,219,183,
-111,247,115,113,113,121,101,246, 88,165, 82, 41,233,219,247,127, 53, 41,122,191,166,205, 90, 76, 59,115,230, 87,255,188,172,108,
-205,246, 53, 91,239, 24,100,114,109, 93,255, 6,162, 77,219,118, 89,143, 31, 61,252,147,232,232,135,247, 96,218,124,117,158,102,
-102,102,199, 86,173, 90, 21,208,181,107, 87,145,163,163, 35, 82, 83, 83, 17, 21, 21, 21,240,251,239,191,247,219,181,107,215,116,
-181, 90, 61, 0, 48,106, 66, 84,223,223,118,255,224,104,110,103, 15,214, 96,128,107,211, 22,165,249,205,158,252,126, 22,140, 94,
- 15,206, 96,128,127, 80,191,226,104, 50, 15,127,127,255,154,102,221,117,109,220,184,241,158, 37, 75,150,136,181, 90, 45,194,194,
-194,112,254,252,121, 78,169, 84, 86,151, 16,151, 38, 8,226,236,130, 5, 11,220, 3, 3, 3, 45, 51, 50, 50,192,178,172,195,241,
-227,199, 39, 53,111,222,220,202,195,195, 67,178,123,247,110, 20, 20, 20,128, 97, 24, 59, 31, 31, 31,187, 97,195,134,233,118,239,
-222, 61, 29,192,242,202, 34, 89,121,177,252, 60, 37,225,243, 78,131,150, 35,145, 66,252,250,206,180,119,240,139, 85, 61,162, 52,
-178,245,142,143,143,101, 94,146,124,166,133, 85, 19,187,188,164,208,153,239,248,248,108,255,245,169, 81, 55, 67,100,113,101,243,
-193,129, 3, 7,228, 81, 81, 81,114,127,127,127,112, 28, 87,154,129,191, 36,225,172,175,175,111, 77,206,227,178,224,224,224,153,
-131, 7, 15, 70,211,166, 77, 75,147,162,126,249,229,151,152, 57,115,166,237,165, 75,151,166,239,223,191,127,250, 79, 63,253,180,
- 28,192, 44, 19,163, 49, 37,152, 90,198,139,158, 61,123, 54,232,216,177, 99,195,103,204,152,225, 11, 96, 50,128,249,153,153,153,
-157,139,163, 49,146, 98,163, 53,102,250,244,233, 19,103,205,154,133,247,222,123,111,126, 88, 88,216, 55, 53,140,242, 81, 12,195,
-188,215,183,111, 95,202, 96, 48,192,220,220, 28, 6,131,161, 94,109,131, 18, 0, 54, 78,152, 48, 97, 98,112,112, 48,108,109,109,
- 97, 48, 24,252, 14, 28, 56,176,125,254,252,249,237, 1,140,173,100, 95, 71, 78,156, 56,241,253, 17, 35, 70,160, 85,171, 86,160,
-233,162,211,184,106,213, 42, 44, 94,188,216,226,236,217,179,253,118,239,222,221,239,196,137, 19, 71, 81,126,218, 46,147,224, 56,
- 14, 52, 77, 35, 33, 33, 1,142,142,142, 82,142,227,206, 16, 4,177, 45, 43, 43,235,167,127, 80,101,190, 98,208,160, 65, 31,236,
-219,183,207, 2, 0, 86,174, 92,137,105,211,166,193,201,201, 9, 22, 22, 22,130,213,249,231, 68,180,198, 87, 27,209,170, 14,149,
- 74,213, 98,246,167, 31,130, 36,139,238, 26,235,215,245,196,210, 57,227,137, 19, 33,103, 90, 84, 25,131,151,185,226,209,149,245,
-144,122, 76,133,214,192,224,198,253,103, 56,183,178, 87, 81,109,249,238, 92,104,245,221, 74, 42, 27, 59,137,153,217, 10, 29,203,
- 94,133,179,115, 24, 94,188, 72,175,206,100, 41,156,157, 66,182,108, 89,110, 22, 80,175, 1,244,140, 1, 73,105, 73, 32, 8, 41,
-220,221, 44, 49,102,228,187,162,206,157, 93, 29, 22, 45,218,122, 58,133, 67,127, 85,198,227,106, 19,134,250, 57, 96,103,139, 0,
-223,193,195,122, 7, 74,155, 4, 52,134, 88,106, 86,250, 94,203, 86,173,208,178, 85, 43,114, 86, 65,126,143,155,183,238,244, 56,
-114,246,134, 86,101,120,113, 40, 38, 3,163,170,185,200,148, 26,142, 41, 83,166,192,201,201,169,220, 6,169,169,169,248,253,247,
-223, 42,252,140, 9, 23,178,210,239,248,230,155,111, 44,179,179,179,223,221,177, 99,199,219, 28,199,125,147,146,146,114,197, 24,
-145, 17, 64,157, 92,169,180,219,232,213,171,185,230,255,251, 31,101,227,236, 76,114, 44, 75, 36, 63,125,106,191,102,253,250, 46,
- 89, 79,158,152, 21,218,217,101,101,171,213,170,152,152, 24,200,100, 50,130,166,233,214, 21, 72,165,242, 60, 86,144, 36, 49,147,
- 32, 8, 72,165,178,152,224,224,224,187,197,239,213, 57,117,234,148,188, 79,159, 62, 42, 0,113, 0, 32,149,202,220, 40,138,222,
- 54, 21,243, 0, 0, 32, 0, 73, 68, 65, 84,244, 43,202,196,142, 21,198, 24, 76,115,115,243, 79,191, 94,178,220, 60, 47, 43, 71,
-173, 47, 44, 52, 40,172, 44, 8,194,194,146,202,203,205,207, 79, 82,166,107,231, 46, 92, 76, 77, 24, 51,226,211,194,194,194, 73,
-198,154,172,102,205,154,221, 60,118,236,152,163,189,189, 61,114,114,114,144,153,153,137,155, 55,111,130,227, 56, 12, 24, 48, 64,
-218,161,109,155, 22,115,230,206,187,158,144,148,212,222, 24,179,101,110,231,128,149,129,205,139, 42,235,184,204,210,242,217, 54,
- 40,168,116,155,197,137,185, 37,209,185,218, 76, 33,213,190, 91,183,110, 98, 0, 24, 59,118,108, 94,126,126,254, 82, 0,251, 80,
-125, 70,255,233,243,230,205,115,171, 91,183,174,215,190,125,251, 80, 80, 80, 0, 0,142,117,235,214,133,159,159, 31,123,225,194,
- 5,248,249,249,193,210,210, 18,151, 46, 93,194,245,235,215,209,170, 85, 43, 75,177, 88, 60, 88,175,215, 87,104,180,186,244,234,
- 50, 79,218,199,191, 83,131,150, 35, 97, 97,229,130,237,251, 15,226,209,157, 93,157,180,250,168,121, 98,246,226, 8, 53, 47, 29,
-149, 30,111, 49,171, 78,171,206,246,245, 27,255, 15, 94, 45,239, 58,104,216,203,207,230,245,168,187,140,150,105,118, 45, 92,173,
-204,172,204,100, 1, 88, 57, 96,192,128, 65, 7, 14, 28,176, 1,128,240,240,112,164,166,166, 66,161, 80, 64, 38,147, 65, 36, 18,
-149,206, 79, 90, 67, 70,109,218,180,169,212,180, 49, 12, 83, 58, 11,128, 92, 46,199, 91,111,189,133,230,205,155,227,167,159,126,
- 26, 85,137,209, 10,108,219,182,237, 94, 47, 47, 47,143,178, 47, 22, 22, 22, 98,232,208,161, 0,128,206,157, 59,119, 51, 51, 51,
-227, 75, 12,161, 82,169, 44,184,117,235, 86, 15, 0, 97,149, 56, 75,117, 82, 82, 18,190,248,226, 11, 60,127,254,252,227, 45, 91,
-182,188, 0, 32,147, 72, 36,165,247,199, 0,252, 26, 55,110,188,110,218,180,105,136,141,141, 69,100,100,228, 77,212,188, 41,149,
- 53, 55, 55,127, 98, 48, 24, 90, 49, 12, 3,181, 90,141,254,253,251,203,142, 30, 61,154, 74, 81, 84,116, 70, 70,198,112, 20,245,
- 73, 49, 22, 25,128,213,193,193,193, 19,103,204,152,129,223,126,251, 13, 39, 78,156,192,136, 17, 35, 48,117,234, 84, 88, 88, 88,
-140,158, 58,117,234,117, 20, 77,104,254, 50,221, 54,109,218, 4,150,101, 95,249,111,200,100, 50, 4, 6, 6,162, 81,163, 70, 56,
-113,226, 68,183, 90, 24, 45,175,192,192, 64, 9,199,113, 40, 44, 44,196,133, 11, 23, 44,204,204,204, 44,220,221,221,199, 1,248,
-199, 24, 45, 47, 47,175,224, 3, 7, 14, 88,148,109,253,145, 74,165, 40,243, 59, 16,248,251, 35, 90, 85,222, 97,149,162,211,169,
-244, 52, 77, 70,187,186, 52, 61,116,233,226, 39,165, 77,135, 0, 25,173,211,169,244, 0,192,114, 60,242, 84, 12,204,164, 36,226,
- 82,242,241,240,105, 70, 69, 82,229,134,104,138,204, 60, 33,109, 19, 7,158,231,161,211,179,208,230,166, 96,233,105, 21,162, 18,
- 53,208, 21,102, 67,167, 47,234,134,229,224,224, 64,159, 57,243,203,180,208,208,223, 39,254,248,227,143, 84,162,181,117,100, 62,
-208,162, 34, 77, 91, 91, 31, 75, 78, 34, 57,180,121,203,124, 51,158,122,138,152,248, 66,212,119,111, 3, 7, 27, 15,164,100, 20,
-226,106,228,207,136,126, 28,130,186, 46, 94,152,250,233, 59,178,175,151,236, 59, 40,102,188, 61,115,114,158,231, 85,182,159, 37,
-119, 81, 91,127,141, 1,147,245, 20,108,102, 44,216,252,228, 87, 54,176, 80,120,162,101, 87, 55, 40, 60,234, 73, 71, 77, 93, 60,
- 18, 40,103,180,202,106,166, 18, 4,185,153, 36,137,137, 4, 65,160,105,211,102,137,171, 87,175,174, 40, 21,184,190,105,211,102,
-137, 20, 69,186, 23, 93,216,201, 77, 60,207,165, 86,179,159,229, 76,141, 68, 34,157, 81, 20,246,119, 73, 56,125,250,180,126,208,
-160, 65, 88,181,106,149,100,230,204,153,115, 41,138, 26, 91, 65,243, 94, 57,205,254,128,167, 77,189,122, 61,191,185,122,149, 23,
- 25, 12, 68,214,205,155,121, 57, 74, 37,147,146,159, 47, 57, 28, 29,253,222, 71,159,127, 46,241,240,240,192,149,144, 16,251,244,
-194, 66, 62, 71,171, 85,231,228,228,240, 12,195,220,172, 68,115,182, 66,225, 40,223,190,125,187, 95,112,112,240, 93,165, 82, 57,
- 27, 0, 92, 92, 92,150, 2,104, 4, 32,174,204,107,216,178,229, 96,210,184,113,227, 98,210,210,210,102, 87,181,159,101,104,236,
-168,112,148,239,223,186,251,129,157,165, 25,169,112,119, 37, 69, 54, 54, 52, 35, 49, 19,115,128,186,174, 71, 61,115, 0,141, 43,
-249,236,203,154,132,153,153,217,177,147, 39, 79, 58,138, 68, 34,176, 44, 11,133, 66,129,231,207,159, 35, 39, 39, 7,249,249,249,
-120, 22, 29, 5,111, 15, 15, 44,154, 53,211,101,242,204, 89,199, 84, 42, 85,171,151, 42,179, 87, 39, 64, 54,232, 95,137,236, 85,
- 52,139,193,203,205, 94, 70,150,123, 89,158,199,199,199,195,194,194, 2, 1, 1, 1, 22, 87,175, 94,189, 92,133,201, 42, 59, 9,
-240,224,142, 29, 59, 90,238,219,183, 15,173, 90,181,130,181,181, 53, 46, 92,184,128,240,240,112,232,245,122,178,160,160, 0, 22,
- 22, 22, 88,182,108, 25, 60, 61, 61,145,159,159,143,184,184, 56,123,145, 72,228,240, 82, 70,251, 82,205, 11,103, 46,124,157, 27,
-123,126, 94, 10,241,235, 59,219,247, 31,196,184, 97, 67,224,204, 63,189,108, 93,143,248,186,103,159,142, 95,242,148, 71,144,185,
-101, 83, 91,223,128, 62, 16, 75, 44, 48,121,198, 98,196, 68,156,178, 85,229, 63,248,152, 96, 19, 60, 22,174, 62, 60,165,130, 99,
- 39, 0,144, 30, 30, 30, 31, 29, 62,124,216,178, 52,244, 66, 81,165,115, 30,150,157, 4,190,138, 9,223,171, 61,159, 4, 65,224,
-249,243,231,112,116,116,132,133,133, 69,233, 4,226, 81, 81, 81,184,113,227, 6, 74,102,163,168, 68,115,120,104,104,168,135,185,
-185,121,185, 13,120,158, 71, 70, 70, 6, 24,134,129, 92, 46, 7,203,178,208,235,245, 48, 24, 12,208,104, 52, 22,141, 26, 53,154,
-100, 48, 24,194, 42,210,228, 56,238,179,193,131, 7,119, 12, 11, 11,243, 89,191,126, 61,116, 58,221,202,148,148, 20,188,255,254,
-251,224, 56, 14,221,186,117,107,199,243,252,163,185,115,231, 2, 0,166, 77,155,102, 40, 44, 44, 12,174,201,177, 23,211,168,101,
-203,150, 62,191,253,246, 27, 58,117,234, 4,173, 86,139, 85,171, 86, 89,109,217,178,197,106,247,238,221,138, 25, 51,102,252,144,
-158,158,222,171, 26, 77, 2,192, 74,103,103,231,137, 93,186,116, 49, 43,158,195, 20,187,118,237,194,162, 69,139, 14, 0,152,251,
-203, 47,191, 44, 56,113,226,196,200,143, 62,250, 8,139, 22, 45,154,154,147,147,179,163, 50,205,103,207,158, 65,161, 80,192,202,
-202,170,232, 98,169,215,227,222,189,123, 56,119,238, 28, 26, 54,108,104,204, 49, 85,182,159, 94, 3, 6, 12,248, 97,255,254,253,
-150, 9, 9, 9,184,116,233, 18,188,189,189,161, 82,169,140,153, 27, 54,244, 79,168,176, 43,213, 84,171,213,154,248,248,120,139,
-229,203,151,195,197,197, 5, 94, 94, 94,144,201,100, 32, 8, 2, 6,131,161,170,233,213,170,221,207,206,157, 65,103, 36,217,246,
-181,182,177,253,152,231,121, 58, 55, 55,123,171, 30, 57, 71,158, 62,133,238, 47, 60,246,127, 51, 45, 0,220, 69,249, 57, 15,149,
-165, 70, 43, 36, 36,132, 15, 10, 10, 34, 74,214,110,110,200,203,200,176,141,113,116,110,114,208,209,185,113,241,188, 95,100, 52,
- 69,217,198, 56, 57,169,242, 0, 64,207,240,184, 22,157,131, 7, 79, 82, 16,254, 36, 5,230, 82,227,130, 47, 90, 61, 83,212, 99,
-149,231,161, 41,248,227,166, 85,175,202,134, 86, 95,212,221, 67,167, 85, 33, 55, 61,146, 24,212,191,135,108,226,196, 9,112,113,
-113, 83, 84,166,167,151,202,166, 78,158,246,158,141,157,141, 8, 33, 87,127, 69,187,134,253, 33,147,138,144,153,171, 1, 8,224,
-241,211,115, 0,103,137,136,152,120,180,109, 44, 71,175,158,254,255,103,239,186,195,162,184,218,239,153,237,176,187,244, 94, 44,
- 88, 0,123,239, 40, 98, 67, 99,239, 88, 98,239,216, 27,106,140, 37, 42, 26, 77,236,189,196, 96,239,137,216, 80, 84, 44, 88,233,
-136, 88, 0, 41, 11, 82,150,165,108,223,157,157,249,253, 65, 9, 42,101, 65,243,253,190,228,219,243, 60,243,192,236,206,156,125,
-231,222, 59,115,207,188,247,222,247, 21, 94,190, 16,191, 4,192,106,125,236, 37,211,158,131,227,218, 15,108,157, 22,218,156,120,
- 80,121,201,128,192, 30, 10, 66, 8,113, 70, 50, 94, 63,188,168,215, 59, 35, 69, 81,115,172,173,173,243, 86,173, 90,213,189, 97,
-195,134,154,217,179,103, 71, 38, 39, 39, 47,250,236,109,229,215,125,251,246,225,221,187,119,162,141, 27, 55,222,207,201,201,249,
-161,154, 21,237, 71,211,216, 81, 60, 20,151,115,229,202,149, 54, 33, 33, 33, 11,118,236,216, 97, 55,119,238, 92,238,220,185,115,
- 39, 3,248,169,178,225,194, 2, 30,175,215,198, 7, 15,104, 50, 45, 77,117, 98,247,110,238,222,208,208, 85, 26,138,114,180,182,
-181, 37, 58,119,232, 32,227, 51, 24, 57,226,204, 76,210,166,126,125,102,210,237,219, 86,180,177,113,250,141, 27, 55, 10,164, 82,
-105,133,169,115,152, 76,166,188,188,225,194,242,224,224,224,160, 46,111, 14, 87, 37, 29, 98, 1, 69,211, 26,243,122,245,232, 62,
- 61, 59, 53,124, 23,159,144, 96,100,110,206,116,109,232,226, 30,251, 58,233, 57,173,211, 41, 9,130, 40,208,107,172,132,201, 28,
-189, 99,199,142,230,166,166,166,160, 40, 10,102,102,102,200,206,206,134, 90,173, 70, 65, 65, 1,212,133,249, 80,231,231, 35, 58,
- 57, 9, 93,186,119,199,200,190,125, 26, 7, 92,249,115,180, 78,167, 59, 83,233,120, 94,139,214,165,158,172,245,117,173,254, 26,
- 11, 74,205, 43, 21, 93, 91, 90,187,130, 35, 20,162,247, 34,191,175,185,209,195,175, 93,187,118,125,216,176, 97,223, 45, 89,178,
-132,145,145,145,113, 51, 41, 41,169, 11,128, 87,149,157, 36, 20, 10, 27,228,228,228, 64, 42,149,194,204,204, 12, 59,118,236,128,
-157,157, 29,228,114, 57, 94,188,120, 65, 59, 59, 59, 19,247,239,223,135,179,179, 51,196, 98, 49, 52, 26, 13, 20, 10,197, 71,181,
- 90, 93,225,112,121,241,240, 96,191,133,125,113, 35, 62,236,247,174, 78, 68,226,139, 81,139, 61,223,197, 71,191, 78, 9,186,253,
-248, 39, 82,105,148,154,151,118,103,121,189,118,225,214,115,150,174,195,158,173,107, 16,255,236, 65,174, 93,237,130,189,198,132,
-234,120,101,246,202,100, 50,229,235,215,175, 77, 34, 35, 35, 65, 16, 4,204,204,204,192,231,243,203, 21, 91, 53, 0,163,172, 7,
- 74, 38,147,129,195,225,192,202,202, 10, 71,142, 28, 41,237,120, 93, 92, 92, 42,227, 56,216,187,119,239,209,181,107,215, 54, 41,
-251, 97,187,118,237, 48, 99,198, 12,236,223,191, 31,161,161,161,159,228,211,252,248,241, 99,134, 86,171,173,236,186,243, 50, 51,
- 51,251, 14, 29, 58, 52,236,225,195,135,166, 71,142, 28, 1, 73,146,229,110,135, 15, 31,198,211,167, 79, 87, 3,120, 93,195,118,
-212,104,248,240,225, 15, 78,158, 60,105,158,157,157,141,146,182, 33,147,201,160,211,233,224,238,238, 78,144, 36, 89,213,188, 55,
- 6,147,201,188,178,123,247,238,129,211,166, 77, 3,139,197,130, 90,173,198,238,221,187,177,124,249,242,204,226,151, 82, 13,128,
- 85,199,143, 31,159, 48,104,208, 32,180,108,217,178,241,189,123, 21,207,236,144, 74,165,144, 74,165, 96,179,217,176,183,183,199,
-134, 13, 27,160, 86, 23, 61, 86,220,220,220, 74,111, 99, 0, 7,221,220,220, 6,190,121,243,102, 27,138,230,174,125, 1,123,123,
-251,161, 52, 77, 79,215,233,116,133, 93,187,118,181, 58,125,250,180,137, 72, 36, 66, 88, 88, 24, 86,175, 94, 45,161, 40, 74, 71,
- 81, 20,161, 80, 40, 18,109,109,109,195,120, 60,158,177, 92, 46,207, 21,139,197,155, 0,220,252,255,234,201, 9,130, 32,216,108,
- 54,166, 76,153, 2, 22,139, 5, 99, 99, 99, 40,149, 74,104,181,218, 82, 49,143,106, 14, 75, 55,108, 40,180, 98,129, 51,205,194,
-164,201,130,145,243, 7,216, 56, 56, 58,193,220,148,135,184,184, 87, 93,238, 6,223,222,205,101,197, 31,160,212,218, 3,241, 31,
-242,255,246,100,247,159,107,145,127,168,208,250, 34,231, 33,171,252,202, 28,169,163,233,243, 57, 34, 17, 87,195,229,242,223,148,
-120,185,236,236,228, 5, 4, 49, 82,103,211,116, 48, 72,141,182,248, 65, 65, 23,111,122, 10, 45,173, 14,239,226, 99,240, 48,232,
- 79, 88,203, 69,200, 73,108, 5,112,154, 67,173,200,135, 82,173, 41, 22, 37, 58, 68,134, 5,163, 32, 63, 23,205,218, 14, 0, 24,
-140,167, 21,241,153, 89, 17, 3, 58,183,105,193,124,151, 18,131,118,110, 35, 80,223,185, 43,146, 51, 10,144, 39, 85, 65, 82,160,
- 68,171,102,126,200,150, 40, 80, 32, 87,226,213,187, 0, 56, 57,214,103, 16,172,132,158,250, 10, 45,213,171, 75, 80,189,254, 3,
-156, 58, 93,192,117, 31, 4,102, 29, 15,164, 68,221, 67,228,141,237, 72,139,125, 4,154,210,193,193,173,189,190, 55,201,238,155,
- 55,111,182,239,210,165, 11,171, 87,175, 94, 45,175, 95,191,222, 50, 35, 35, 35,178, 88, 96,180,236,213,171, 87, 75, 27, 27, 27,
-236,220,185, 83, 65, 16,196,238, 26, 86,118,169, 7, 44, 43, 43,235, 57,128,141,151, 46, 93,218, 61, 99,198, 12,216,218,218, 54,
- 79, 79, 79,175,240,196,108, 54,187,229,196, 77,155,104, 54,147, 73,159,217,179,135,179,238,230,205, 95,126, 59,126,156,211,195,
-203,139,160,105, 26, 17, 17, 17,252, 45,123,246,240,199, 14, 30,252, 33, 57, 43,139, 12, 9, 13,213,100,164,165, 21,102,201,100,
-235, 50, 50, 50, 62,254,127,180,108,173, 86,251, 36, 49, 41,209,169,109,135, 86, 54,225,113,137,177,222, 61, 58,119,102, 48, 24,
-140,248,132,228, 80, 27, 27, 83,254,237,160,219, 26,173, 86,251, 68, 31, 46, 30,143, 55,160, 71,143, 30, 44,137, 68, 2, 71, 71,
- 71,100,103,103, 67, 36, 18, 21,121, 28,242, 37,208,228,231, 67, 91,144, 7,157, 76,138,196, 23,207,209,170,126, 61,222,121, 30,
-111,128, 92, 46,175, 84,104,149,188,101,150,151,232,186,228, 51,174,137, 9,184, 66, 33,136,234, 15, 27, 14, 54, 55, 55, 95,158,
-151,151,119, 29,192, 6,141, 70,227,187,124,249,242,118,187,118,237,178,222,184,113,163,233,244,233,211,207, 75,165,210, 86, 40,
- 74,170, 90, 81, 7,246,158, 36, 73, 43, 0,118,193,193,193,176,181,181, 69,126,126,126,137,167, 69, 45,151,203,141,196, 98, 49,
- 84, 42, 21,212,106, 53, 76, 77, 77,241,242,229,203, 92,146, 36,175, 86,101,156,105, 3, 98,131, 74, 19,247,131, 85, 99, 65,186,
-134,180,240,204,202,165, 36,107,127,201, 88, 15,224,151,190,245,235, 31,214, 80, 15, 18,223,198, 92,181, 72,122,113, 63, 55,253,
-173,172,254,145,235,137,149,205,209,162, 1, 80, 4, 65,208,110,110,110,200,206,206, 6,147,201, 4,159,207,135, 80, 40,196,138,
- 21, 43,176,123,247,238,154, 8, 45, 35,129, 64,176,137,193, 96,140,102, 48, 24, 54, 58,157, 14,126,126,126, 24, 56,112, 32,184,
- 92, 46, 52, 26, 77,169, 71,179,196, 75, 85,133,167, 35,226,233,211,167,166, 79,159,126,242,216,242,178,182,182,190,171, 82,169,
-144,144,144,128, 43, 87,174,116, 7, 16, 82,205,186, 78,136,136,136,232,235,225,225,241,123,155, 54,109, 26,208, 52,141,230,205,
-155,195,199,199, 7, 1, 1, 1,136,140,140, 68,126,126, 62,117,251,246,237,223, 0,108,171,110, 31, 94, 92,190,238,195,135, 15,
-127,116,234,212, 41, 11,177, 88, 12,133, 66, 1,153, 76,134,243,231,207,163, 75,151, 46,176,182,182,198,201,147, 39, 73,154,166,
- 43,171,123, 6,131,193, 56,114,224,192,129,129, 83,167, 78,197,222,189,123,113,230,204, 25, 12, 26, 52, 8,163, 71,143, 70,118,
-118,182,221,214,173, 91, 39, 20, 15, 19,174,241,241,241,129, 84, 42,197,139, 23, 47,226,244,188,231,145,151,151,135,188,188, 60,
- 24, 27, 27,151,189,199, 8, 0, 1,219,183,111, 31,179, 96,193, 2,212,175, 95,127, 77, 98, 98,226,118,148,179, 74,148,162,168,
-153, 34,145,200,130,197, 98, 89,145, 36,137,212,212, 84,188,124,249, 18,115,230,204,201,205,205,205,157, 1, 32, 25,192,170, 41,
- 83,166,108, 88,180,104, 81,105, 91, 90,180,104, 81,224,245,235,215,251,254,167,189, 57,110,110,230, 77,185, 76,222,124, 73, 33,
-211, 74, 34,145,148, 62, 59,212,106, 53, 84, 42,213, 39,158, 44, 14,135,109,213,174, 85,237,107, 10,121,225,202, 87,111,243, 42,
- 76,144,222,184,129, 89, 11,190,192,108, 65,151,174, 61,198,245,233, 59,132, 73,106,181,184,117,235, 42,142, 30,221, 7, 47, 15,
- 55,212,111,216, 28,115,231,205, 55, 83,169, 73,191,219,183,111, 46, 55,127,250,240,102, 97, 65,222,138,202, 56,255,199,113,173,
- 88, 92, 93, 43,119,232,176, 60, 5, 89, 28,194, 65, 82,188,107,109, 97, 97,177, 71,167,211,121,153,154,154,130,202,123,131, 87,
- 47,159, 33, 87,194,134, 74,161, 3, 69, 23,137, 45,189,132,139, 74,141, 7,183,254,192,142,237,191, 64, 44, 22,195,163, 91,119,
- 72, 89,181, 80,187, 86,109, 40, 21,242,226,155, 6,208,168,181,176,177,171,131,240,240, 72,109,129, 76, 86,225, 3,137, 99,164,
-105, 92,219,206, 13, 42, 77, 39, 24,113,185,200, 47, 84, 67, 82, 44,178, 78, 94, 24, 5,149, 92, 1, 82,173, 1,169,214,194,166,
-246,112, 52,178,235, 1, 74,119,181,105,181,138,143,210, 65,147,244, 0,154,164, 7, 48,238, 52, 15,127,250,143,249,172, 35,213,
- 47,239,110,118,118,118, 86,108,108,236,213,136,136,136,161,163, 70,141,194,189,123,247,166, 3,152, 85, 60,124, 51,125,212,168,
- 81,136,136,136, 64,108,108,236,213,236,236,236,172,111, 81,243, 92, 46, 87,161, 82, 21,245,177,124, 62,223,168,138, 99,157,218,
- 13, 27,198,200, 15, 15, 47,216,254,248,241,154,195, 71,142,112,122,245,236, 73,104, 73, 18,148, 78,135,134,174,174, 68,159, 62,
-125, 4, 1,231,206, 89, 49,181,218,167, 75,125,125,131,247,143, 31, 95,248, 92, 38,211,119,162,121,221,226, 33, 67, 0,168, 91,
-201,103,122, 67,165, 82,237,154, 57,109, 82,175,144, 7,143,106,213,174,229,100,122,235,118, 72, 36,207,152,203,168,239,210,128,
- 41,201,207,101,173, 95,179,210, 88,165, 82,233, 43, 90, 27, 91, 91, 91,227,227,199,143,120,247,238, 29, 84, 42, 21,180, 90, 45,
- 40,185, 12,106, 73, 30,212,249,185, 32,148, 10,240,116, 58, 40,115, 50, 81,183,126, 61,224,175, 21,137, 85, 14, 69,149, 39,180,
- 74,254, 26,153,154,130, 35, 16,130,193,102,235,157, 28, 29, 64,155,246,237,219,159,187,120,241, 34,103,242,228,201, 29,238,220,
-185,179, 7, 64,178, 72, 36,234,185,122,245,234,231,123,246,236,225,205,152, 49,195,125,219,182,109, 19, 0, 28,172,136, 68,169,
- 84,158,187,118,237,218,216, 58,117,234,216, 69, 71, 71, 67,169, 84,130,162, 40,244,235,215, 15, 40,154, 91, 3, 0,136,143,143,
- 87, 40,149,202,172,152,152,152,130,228,228,100, 13,244, 88, 37,184,118, 87,198,147,130,143, 15,134,217,217, 59, 61, 53, 50,174,
-235, 66, 75,195,135, 46, 28,225,180,117,251, 5,145,242,102, 66, 66,225, 15,189,235,109,150, 21, 70,205, 49,119,150,238,189, 25,
-152,168,207, 68,248,210,213,133, 86, 86, 86, 96,177, 88, 96,179,217,224,112, 56, 32, 8, 2,243,230,205,195,161, 67,135,170, 26,
- 58,252, 68,100,153,152,152,196,174, 91,183,206,121,198,140, 25, 28, 35, 35, 35, 72, 36, 18,156, 60,121, 18, 83,166, 76,193,209,
-163, 71,203,157,255,162,199,144,210,231,222,210, 5,227,199,143,135, 90,173,134,143,143, 15, 14, 31, 62,188, 64,167,211,133,212,
-224,150,126, 26, 25, 25,233, 26, 25, 25,105, 10, 96,208,232,209,163,143, 15, 31, 62, 28, 33, 33, 33,184,122,245,106,119, 20, 45,
-250, 80, 0,240, 7, 96, 91,252,183,178,251, 83, 96,103,103,183,143,162,168, 65, 54, 54, 54,145,110,110,110,205, 78,157, 58,101,
-158,149,149, 85,178,248, 1, 73, 73, 73, 56,118,236, 88,198,145, 35, 71, 10,116, 58,157, 21,131,193,184,150,151,151,183,162, 18,
-193,118,100,251,246,237,147,138,135, 3,113,241,226, 69,250,151, 95,126, 33, 86,175, 94, 13,137, 68, 2, 47, 47, 47, 28, 56,112,
- 96,190, 84, 42,109,249,203, 47,191, 76, 27, 57,114, 36,214,175, 95, 15,153, 76,182,189,170,151,149, 74,196, 23, 1,160,243,246,
-237,219,235, 44, 88,176, 0, 23, 47, 94, 68,155, 54,109,140, 19, 19, 19,247, 3,152, 90, 94,253,209, 52,141,196,196, 68,200,229,
-114, 60,122,244, 8,107,214,172,145,148, 17, 89,243,103,205,154,181, 97,254,252,249,216,180,105, 19, 29, 29, 29,157, 53,124,248,
-112,187, 67,135, 14, 49, 27, 54,108, 56, 95, 46,151,255,199,132,150,123, 67,203,205,237,218,116, 93,238,224,212, 16, 39, 79,157,
- 70,110,110,110,105,153,148,148, 11, 77,211, 40, 44, 44,196,199,143, 31, 97,102,106,130,173,219, 54,124, 55,123,250,164, 90, 40,
- 10,131,241,165,203,178,190,197,182,225,163, 39, 47,246, 25, 59, 9,209,145, 97, 8, 56,126, 16, 49,209, 17,165,124,164, 86,131,
- 55,113, 47,241, 38,238, 37,236,236,235,160, 79,175,238,196,152, 49, 99,250,141, 31, 59,218, 6,192,223, 22, 58,226, 31,236,205,
- 2,190,140,163,117,232, 19,161, 85,133,187,206,218,194,194, 34,246,236,217,179, 86, 30, 30, 30, 76,146, 36,113,243,214, 45,204,
-153,245, 61, 38,140,247,131, 6, 22, 32,213, 28, 80, 28, 35,189, 44, 81, 40,228,160, 65, 67, 38,147, 33, 52, 52, 20, 52, 69, 34,
-224,208, 47,160,105,170, 84,104, 1, 52,212, 26, 13,156,106,187, 99,223,225,141, 36,216,236,231,208,150, 31,186,166, 64,204,212,
-105, 73, 26,162,172, 20,164,100,196,192,204,164, 54, 88,236,218, 16,231,201,193, 98,216, 67,171,140,135,174,248, 92,185, 44, 13,
- 10,205,215,213,159,174, 28,239, 41, 93,141,135,174, 66,161, 56,113,226,196,137,239,126,253,245, 87,110,255,254,253,221, 46, 92,
-184,208, 25, 0,250,247,239,239,102,106,106,138, 19, 39, 78,168, 21, 10,197,137,111,232,241,233,209,190,125,123, 72, 36, 18, 36,
- 37, 37, 69, 86,122,109,106,181,149,208,214,150,153,117,239,158, 54, 91, 34,169,213,163, 71, 15, 66, 75,146, 96, 16, 4,114,243,
-243,145,252,225, 3,204,205,205,137,216,248,120,225,238,185,115, 47,187, 53,107,198, 42, 89,145,168, 15,174, 94,189,202, 71,209,
-188,172, 74, 63,171, 38,100, 89,153, 31, 39,249,250,250, 94, 62,113,226,164, 89,102, 86,230, 27, 30,151, 75, 10,133, 70,142,227,
-199,205,102,229,229,229,141, 5, 32,213,151, 76, 34,145, 32, 49, 49, 17,198,198,198,224,176,217,160, 20,114,232,100, 82, 40,115,
-179,193,212,168,193,213,233, 96,201,231,161,150,157, 29,106,219, 88,235,197,249,238,110, 80,233,196,247,178,195,133, 91,219, 55,
- 6, 87, 32, 4,215, 68,136,217,129,247,139,223, 70, 57,192,234,159,244,161,181,118,114,114,250,243,212,169, 83,156,236,236,108,
- 68, 68, 68, 68, 2,200, 7, 96, 2,128,138,139,139,187, 19, 19, 19, 51,160,120,213, 93, 85,171,197,126,185,116,233, 82,111, 15,
- 15, 15,210,197,197, 69,144,149,149, 85, 75, 34,145, 80, 25, 25, 25,159,184,132,130,130,130,120,133,133,133, 50,138,162, 46, 23,
-139,172, 42,227, 23, 45, 28,225,100, 20, 26,142,121,158,222,117,155,155, 90,183, 64, 46, 25,222,252,105,100,198,188,133, 35,156,
-118,109,191, 32, 82, 26, 19,170,227,132, 46,181, 22,203, 72,169,239, 36,102, 26, 40,154, 43, 21, 26, 26,138,228,228,100, 36, 38,
- 38,126, 34,168,166, 79,159,142,128,128, 0,189, 60, 90, 2,129, 96,211,218,181,107,157, 23, 44, 88,192, 41, 35,138,224,235,235,
-139,252,252,124, 28, 62,124, 24,190,190,190,213,238,248, 63, 67,189, 30, 61,122,244,119,112,112,128, 88, 44,134,189,189, 61, 60,
- 60, 60, 6,134,132,132,184, 0, 72,170, 97,187,159,237,237,237,189, 97,221,186,117,208,106,181,152, 50,101, 10,222,190,125,123,
-238,237,219,183, 59,106,215,174, 61,111,217,178,101,118,118,118,118, 24, 53,106,148,128, 36,201, 97, 21,145, 88, 90, 90,250, 31,
- 60,120,112,108,255,254,253, 25, 26,141,166,219,221,187,119,241,225,195, 7,168,213,106,144, 36,137,247,239,223,195,215,215, 55,
-163,120,117,227,123, 61,236,154,188,106,213,170, 73,243,230,205,195,150, 45, 91,176,118,237,218,223,204,204,204,154,181,106,213,
-170,245,218,181,107,177,116,233, 82,212,169, 83, 7, 86, 86, 86,141, 86,175, 94,221,120,209,162, 69,216,181,107, 23,214,172, 89,
-243, 27,128, 99, 53, 41, 8,138,162,136,205,155, 55,183,220,190,125,187, 67,137,200, 98, 48, 24, 56,123,246, 44,194,195,195, 7,
- 38, 36, 36,148,119,206, 1,123,123,251,233, 14, 14, 14,220,219,183,111, 11,235,212,169, 3,146, 36,181,197, 34,107,119,237,218,
-181,231,188,127,255, 30,253,251,247, 71, 66, 66,194, 9, 0, 19,204,204,204,100,139, 22, 45,226, 27, 27, 27,155,201,229,242,255,
- 84,231, 13, 38,131,152,184,105,253, 82,188, 8,143,199,165, 75, 28,188,120,241, 2,118,118,118,224,241,120,160,105, 26, 42,149,
- 10,217,217,217,208,106, 84,104,222,180, 30,126, 63,178, 25, 89, 89,217, 0,131,168,112,202, 13,193, 32,198, 77,250,126, 40, 30,
- 62,186,133,253,251, 15, 66, 42,149, 85,240,242,109,132,134,110,141,225,228,104,139,212,180, 84, 16, 12, 88,255,157,215,250, 15,
- 31, 58, 44,125, 4, 65,159,240, 14,101, 97,110,110,190,227,204,153, 51, 86, 94, 94, 94, 76,153, 76, 6,138,162,208,213,195, 3,
-243, 22, 44,192,213, 83,167,224,218,193, 7,132, 90, 8,146,175,223,170, 7,165, 66,142, 38,173, 59, 99,228,168,209, 72, 73, 78,
-134,247,128,225, 80, 42,229,165,111, 24, 37, 30, 45,181, 90, 3,107,219, 90, 8, 10, 10, 98, 98,202,148, 87,216, 93,190, 83, 66,
-167,225, 70,189,121,175,236,146,167, 8, 71,232,139, 0,104, 84, 26, 52,111,190, 26, 26,202, 10,182,206,211,161,213, 94, 65, 65,
-246,221,162, 97, 12, 43, 47,164,165,164,128,193,228,196,214,180, 4, 41, 89,246, 87, 61,116,243,243,243,243, 19, 19, 19, 47,132,
-134,134,142, 27, 54,108, 24,130,130,130,166, 1,192,176, 97,195, 16, 26, 26,138,196,196,196, 11,249,249,249,249,223,162,182, 29,
- 28, 28, 6,117,239,222,221,167, 93,187,118, 8, 12, 12, 4, 77,211, 15,245,186,177,217,108,154,193, 96,128,162, 40, 16, 0,196,
-121,121,120,251,246, 45,196, 57, 57,208,106,181,144, 73,165, 84, 99, 55, 55, 41, 77, 81, 38,213,177,167,236, 10, 67,148,179,234,
-176,228,179, 26, 92,106,242,243,167,143, 83, 10,165, 82, 27, 11,115,139, 66, 46,151,171,147,228,229,229,191,138,141, 86,235,217,
- 57,148, 32, 46, 38, 38,166, 89,122,122, 58, 82, 82, 82, 64,202, 10,193, 84,169,193, 80,201,209,179,115, 39, 24,131,134, 17, 40,
-176, 41, 45,216, 76, 54, 10,139, 86,231, 85, 57,220,161, 43,243,146, 80, 34,178, 8,130, 40, 26, 46, 20, 8,192, 21,154,124,226,
-225,210,167, 61,241,120,188, 83,231,207,159,119,112,114,114,194,250,245,235,225,236,236,220,200,209,209, 81,110,102,102,102,108,
-103,103,135, 38, 77,154,160,115,231,206,184,113,227, 6,244, 40, 3,146,166,233, 62, 15, 31, 62, 92,252,248,241,227,145, 2,129,
-128,152, 59,119, 46,171, 95,191,126,224,241,120,144,203,229,144, 72, 36, 56,125,250,116, 14, 69, 81, 37,139, 82,172,248,124,254,
- 49,130, 32,146,100, 50,217,130,207, 9,127,255,181,185, 99, 86, 46, 53,133,150,242,135,122,122,215,109,222,195,187, 23,234,185,
-246, 64, 15,239, 20, 0,216,108,201,250,224,243,243, 42,243,203,230, 38,196,177,160,155,183,215,120,120,246, 88,181, 92,122,111,
-195,150, 67,121, 85,206,167, 35, 8, 2, 20, 69,125, 18, 59,232,243,239, 39, 76,152,128,179,103,207, 86, 89,142, 12, 6, 99,244,
-140, 25, 51, 56,159,121,158, 33, 18,137, 48, 96,192, 0, 12, 27, 54,236, 19,161,101,109,109, 13,123,123,123,124,248,240, 1, 0,
-196,122,182,171,121,147, 39, 79, 38, 20, 10, 5,166, 78,157,138,195,135, 15,195,199,199,135, 8, 9, 9,153, 7, 96, 65,117, 27,
- 59,131,193,216,186,108,217,178,197,190,190,190,200,205,205,197,245,235,215,209,175, 95, 63,156, 61,123,214,230,250,245,235,155,
-188,188,188,192,100, 50, 17, 24, 24, 8,146, 36, 43,141,245,197,225,112, 6,245,239,223,159,145,154,154, 10, 14,135,131,182,109,
-219, 34, 45, 45, 13,114,185, 28, 34,145, 8,243,231,207,255, 40, 22,139,187,235,123, 31,113, 56,156, 5,243,230,205,195,153, 51,
-103,224,231,231,119, 28,192,212,252,252,252,145,143, 31, 63, 62, 51,120,240, 96,136, 68, 34, 92,190,124, 25,107,214,172, 33, 38,
- 76,152,128,189,123,247, 98,254,252,249,191, 21,123,157, 42,106,248,133, 89, 89, 89,102, 13, 26, 52, 64,102,102, 38,164, 82, 41,
- 46, 95,190,108,123,227,198, 13, 23, 39, 39, 39,211,196,196, 68,221, 79, 63,253,196, 93,176, 96, 1,118,236,216,129,136,136, 8,
- 4, 4, 4,160, 71,143, 30,100, 66, 66, 66,185, 94,178,226,144, 13,151,105,154,190, 45, 16, 8, 80, 88, 88, 88,114,223, 45,241,
-243,243,243,245,247, 47,114,178,167,167,167, 99,226,196,137,227,131,131,131, 41, 47, 47, 47, 62,135,195,129, 82,169,148,253, 39,
-123,109, 74, 71, 1,160,224, 82, 75,136, 91, 87,143, 32, 44, 50, 1, 97,145, 49,224,242,138, 38,193, 43, 20,114,180,110,222, 16,
- 29,218,182, 71,122,134, 8, 39, 2,142,192,210,218,169,210,231, 8, 77,211,224,176,116,104,236,102,143, 83, 1, 7, 17,120, 61,
- 24, 1, 39, 78,151,206,121, 99,177,216,104,213,186, 3,218,182,245, 64, 66,226,123, 28, 57,178, 31, 54,182,181, 12,131,131, 53,
- 68,233,208, 97,217,191,159, 41,255, 30, 30, 30, 30, 76,169, 84, 10,165, 82,137,143, 31, 63,226,195,135, 15, 48,183, 48, 71, 66,
-122, 18,186,243, 53,248, 72, 21, 32, 46, 50, 86, 71, 48,217, 17, 85,253, 96,127,207, 86,128,103, 43,204,153,236, 83,201, 43, 43,
- 13,129,169,117,209,208, 13, 73,190,195,174, 93,100, 69, 66,139,212,105,239,220,186,125,183,253,228, 9,131,216, 65,119, 15, 67,
-171,166,160,208,154, 65,166, 84, 67,166, 97,131, 97,214, 15,200, 9, 1,147,197, 67,199,150, 13,113,249,210, 13, 13, 77,106,131,
-245, 46, 32,187,102, 32, 51, 99,202, 8,173,172,207,198, 29, 44,245, 30, 58, 44,237,120,117,186,179, 39, 79,158, 28,210,169, 83,
- 39,190,151,151, 87,131,226,142, 83,115,242,228, 73,121,113, 48,204,234,226,147,104,240,246,246,246,173, 57, 28,142, 79,191,126,
-253, 90, 79,154, 52, 9,175, 94,189,194,137, 19, 39,222, 52,108,216,240, 94, 70, 70,197, 43,178,153, 92,174, 88,154,149,101, 46,
-116,113, 97, 89,152,152,164,223,184,126,189, 78,175,222,189,137,148,148, 20,136,197, 98, 40,149, 74, 68, 68, 70,210,108, 38, 51,
-141, 48, 53,101,196,135,135, 51,152, 92,174,184, 34,111, 99, 57,248, 80,197,170, 67,255,154,122,183,106, 57, 88, 52, 88,227, 55,
-179,158, 82,165,108, 86, 80, 80, 64,178,216,108,182,179,189,121,114,252,123,253,159,137, 42,149, 42,240,206,157, 59, 67,122,245,
-234,197,123, 19, 21, 1, 50, 63, 31,234,124, 9, 56,148, 14,150,173, 91,130,169, 81, 1,106, 45,156, 26,211, 80,230,241, 17,242,
- 44, 94,171, 82,169,170, 12,106, 88, 34,180, 24,159, 9, 3,174, 80, 8,158,137, 41,120, 66,225,231,130,161,170, 55, 57,126,159,
- 62,125,122,118,236,216, 17, 52, 77,227,208,161, 67,208,104, 52, 92,141, 70, 3,181, 90, 13,141, 70,131,130,130, 2, 4, 4, 4,
- 96,223,190,125,143, 1,252,166,199,229,147,198,198,198,131, 9,130,176,101,177, 88,114, 27, 27, 27,193,217,179,103, 75,195, 77,
-180,106,213, 10, 38, 38, 38, 28, 20, 7,133,180,181,181,101, 31, 61,122,212,124,224,192,129, 15,202, 29,238,104,222,104,105, 61,
-210,194,211,200,184,174,139,169,117, 11,212,115,237, 1, 0,232, 61, 96, 50,234, 53,172,141,130,156, 40, 23,165,226,195, 80, 14,
- 75, 98, 17,187, 75,244,202,184,127,179, 73,178,172,251,111, 81,254,242,254,114, 59, 10, 6,131, 81,225,112,172, 62, 34,171, 72,
-179, 48,108, 74,230,249, 0,128, 88, 44, 70, 70, 70, 6,226,226,226,224,238,238,142,220,220, 92, 56, 57, 57, 65,173, 86,163, 93,
-187,118, 80, 40, 20,216,190,125, 59, 30, 61,122,244, 24,192,124, 61,126,195,216,213,213,117, 98,235,214,173,113,253,250,117,188,
-120,241, 66,116,235,214, 45, 39, 15, 15, 15,184,184,184, 76, 74, 74, 74, 90, 89, 60,212,167, 47, 4, 30, 30, 30,115,125,125,125,
- 17, 19, 19,131,153, 51,103,138, 83, 83, 83, 47,159, 59,119,110,234,154, 53,107, 24,222,222,222,200,200,200,192,214,173, 91,117,
-143, 30, 61,218, 6, 96,125, 21,229,248, 58, 53, 53,213, 89,169, 84, 34, 55, 55, 23, 36, 73, 66, 46,151,227,198,141, 27, 8, 8,
- 8,200, 44, 22, 89,239,244, 53,174,101,203,150, 77, 24, 12, 6,206,156, 57, 3, 0, 63,160, 40, 98,255,229,161, 67,135,138,126,
-250,233, 39,167, 21, 43, 86, 96,218,180,105,208,104, 52,216,178,101, 11, 86,172, 88,113,173, 88,100, 85,246, 16,253,213,222,222,
-126,250,204,153, 51, 27, 45, 90,180, 8,161,161,161,182, 47, 95,190,108, 27, 17, 17,129, 90,181,106, 65, 44, 22,179,172,172,172,
-176, 99,199, 14, 44, 92,184,240, 34,128,156, 39, 79,158,140, 78, 76, 76,244, 7,176,181, 10,209,126,192,201,201,105, 58, 77,211,
-180, 92, 46,255,224,231,231,183,117,227,198,141, 88,184,112, 33, 98, 99, 99,145,159,159, 15, 19, 19, 19, 98,217,178,101, 19,127,
-248,225, 7, 76,153, 50,133,150,201,100,251,254,211, 29, 53, 77,235, 32,151,196, 64,167,178, 64,171,230,238,104,213,172, 46,110,
-221, 13, 3, 0,244, 28,238, 1,185,172, 16,199,143, 31,194,187,119,111,193, 98,179, 97,110,105,175,143, 39, 16,234,130,215,200,
-211,100,160,151, 87, 91,244,243,238,142,223,126, 63, 11, 82,171,193,212,201, 99, 33,201,203,195,239,191, 31, 65, 66,226,123,176,
-216,108, 88, 89,255,253,129, 80, 43,211, 34,255,120,161,165,199,240, 19, 40,138,130, 72, 36,194,203,151, 47,145,148,148, 4, 62,
-159, 15, 5,169,163,246,223,121, 68, 17, 4, 39,141,162,233,199, 52, 89, 26,165,248, 75, 14,157, 78, 84, 38, 98,173,153,133,133,
- 5, 87,165, 82,128, 36,181,101,122, 21, 2, 32, 0, 14, 11,112,112,172,135,212,148, 84, 90,169, 84,222,175,244, 13, 74,165,220,
-241,199,229,243,190,157,187,120, 88,247,235,185, 14,151,175,172,134,164,160, 0, 74, 13, 27, 50,165, 6,114, 37, 96,110,233,134,
-118,205, 91, 32, 61, 93,140,168, 23, 33, 82,150, 74,174,207, 68,209,183,187, 87, 77,118,157, 60,103, 41,140,235,116,129, 42,238,
- 50, 40,105,102,169, 71,203, 72,104, 1,203,218,141,145, 39, 83,225,124,112, 24, 80,141, 84, 47, 89, 89, 89,114, 38,147,121,210,
-215,215,119, 75, 88,216, 75,103, 0, 8, 11, 11, 75,203,200,200, 88,158,149,149, 85, 93,159,116, 73, 52,120,194,200,200, 56,172,
- 97,195,134,233,109,219,182, 53, 27, 58,116, 40,172,173,173, 17, 17, 17, 1,127,127,255,215, 26,141,102,105, 72, 72, 72,165, 67,
- 61,106,181, 90, 20,118,229,138,105,247,239,191, 55, 95, 58,112,224, 86, 95, 95,223, 29,235,215,175,103,187,186,186, 18, 90,141,
- 6,209,209,209,244,169,147, 39,181,251, 86,172,216,206, 21, 8, 88,207,255,248,131, 77,170, 84,162,255,239, 70,236,228,228,228,
-233,209,173,107,227,109,191,238,130, 82, 33,197,179,208,107,144, 72,178,113,240,208,165,198, 78, 78,180,167, 72, 36, 10,209, 87,
- 0, 31, 59,118,108,113,135,214,173, 91,215,175, 85, 11,209,201, 73,224, 82, 58,112, 72, 18, 76,141, 10, 12, 82,137, 90,205,104,
- 16, 12, 19,100,124, 44,192,198, 51, 23, 98,244, 17,198,141,190, 27,132,245,105,249, 32, 8, 2,191,116,106, 6,174,137, 16, 28,
-129, 16,179,255,188, 91, 42, 12, 2,215,175, 0, 87, 40, 68,131, 14,122, 5,132,151,223,187,119,239,101,116,116,116,187,102,205,
-154, 97,241,226,197,248,240,225, 3, 40,138, 66,102,102,166, 50, 35, 35, 67,148,157,157,253, 1, 69,241,127, 14, 87,209,137,149,
- 85, 29, 78, 33, 33, 33,165,195, 13,193,193,193,112,116,116,132,153,153, 25, 10, 10, 10, 48, 99,198, 12,243, 31,127,252, 17, 0,
-240,242,229, 75,148, 21, 40,159, 35, 58, 44,110, 91, 94, 33, 45,161,165,225, 67,115,201,240,230, 61,188, 83,209,123,192, 36,220,
- 14,252, 13,119,111,221,129, 37,235, 67, 18, 4,133, 55,114,146,114, 10,210,100,174, 7, 26,183,153,202,204,144,221, 58, 48,119,
-208, 27,166,131, 3,117,126,197,254,130,188,202,108,117,117,117,133,157,157, 93,233, 28, 45, 22,139,133, 41, 83,166,128,166,105,
-125, 69, 86,113, 95, 67,101, 43,149, 74, 59,196,253, 47,128, 0, 0, 32, 0, 73, 68, 65, 84, 35, 35, 35,124,252,248, 17,239,223,
-191, 71, 66, 66, 66,105,232, 0,138,162,180, 75,150, 44, 97,207,157, 59, 23,251,247,239,199,253,251,247, 31, 3, 88, 7, 64,223,
-151,181,177,163, 70,141, 50, 81,171,213, 56,125,250, 52, 9, 96,192,249,243,231, 95,182,107,215,142,213,183,111, 95,147,189,123,
-247,142, 45,174, 35,189,133,150,169,169, 41, 71,163,209, 96,239,222,189, 72, 77, 77,245, 4, 16,247,252,249,243, 3,163, 70,141,
-218,215,172, 89,179,134, 49, 49, 49,111,165, 82,233,108, 0, 81, 85,145,101,102,102, 78,110,219,182,237,121,138,162,234,244,234,
-213, 75,240,235,175,191,154,198,199,199,195,217,217, 25, 20, 69, 69,163,154, 41,172,222,190,125, 27,151,145,145,209,184,123,247,
-238,184,113,227,198,102,157, 78,183, 9,192,150, 89,179,102, 57, 37, 39, 39,163,117,235,214,176,180,180, 68,124,124,124, 97, 70,
- 70,198, 62, 20,165, 36,170,202,133,155, 8, 96,249,129, 3, 7, 90, 28, 56,112,192,199,210,210,178, 99, 68, 68, 4, 30, 62,124,
-136,109,219,182,225,199, 31,127, 68,215,174, 93,177,120,241,226, 28, 0, 62, 0,200,196,196, 68,189,226,230,149,120,182, 0,160,
- 77,155, 54,233,254,254,254,152, 58,117, 42,125,244,232,209,157, 39, 79,158, 92, 48,118,236,216,210, 62,112,226,196,137,244,137,
- 19, 39, 38,162, 40, 13,211,127, 18, 90,141, 70, 13, 83,203,122,144,230,165, 32, 59, 53, 20,124, 19,123,120,247,104, 9,185, 66,
-141,171,127, 92, 68, 84,116, 36, 24, 12, 6,236,236,107,193,220,194, 26,111,222,188, 5, 42, 95,109,172,213,104, 52, 48,177,168,
- 11,105,126, 42,212, 89, 97, 48, 22,218, 98,210,247, 67, 33, 87,104,112,233,242, 69,196,196, 68,129,201,100,194,222,161, 22,204,
-204,139, 56, 9,186,242, 21,204, 6, 0, 40, 39,158, 86,149, 66,139,201,100,222,187,121,243,230,136, 14, 29, 58,176,222,189,123,
-135,119,239,138, 94,110, 36, 18, 9, 73, 64,119, 33, 43,250,143, 49,149,156,222, 11,197,171, 51,202,230, 46, 20,154,152,136,226,
- 95,199,217, 73,114, 51, 17, 25,254, 8,239,222, 68, 35, 41, 33, 14, 26,141, 18, 76, 6, 3, 12, 38, 3,117,235, 53,197,163,199,
-161,106, 37, 73,134, 86,196, 89,100, 71, 66,161,192,214,117,244,134,245, 43, 3, 23, 46, 93,107, 60,114,196,126, 68,197,191,130,
-148,180, 7, 77, 3,246, 86, 2,180,170,191, 12,162,244,108,156,249,109,175,156,210,104,198,125, 22, 67,235, 11, 78, 0,176,203,
- 65,147,125,135,126,155,114, 56,224,212,218,165,115,103,216, 13, 30, 54, 14,220,220, 87,208,166,135,161, 94,187,126, 32,120,230,
-184, 30,116, 23, 33, 47, 95,101, 82, 58,122,173,157, 24, 71,223, 84,193, 89, 22,121,121,121, 79, 62,126,204,112, 46, 19, 5,222,
-153,199, 51,170,106,117,220,231,156,159, 68,156,103, 50, 25,109, 54,108,216,160,181,179,179,211,196,196,196, 96,255,254,253, 84,
- 88, 88, 88, 16,131,193,216,157,145,145,161,172,138,211, 70,171,141, 60,229,231,215,164,253,176, 97,244,152,185,115,229,224,241,
-230,109,253,229, 23,191,108,137,196,145,166, 40,216, 88, 90,166,109, 93,177,194,127,196,168, 81,146,216, 71,143,140, 67,175, 92,
- 49,230,146,100,152, 30,118,126, 11, 84,200, 41, 18,137, 66,238,223,127,136,227,135,127,133, 70,163, 66,134, 40, 25, 0,144, 35,
-206, 71, 21, 34,235,115, 78, 90, 46,151, 15,251,225,199, 31,159,254,176,112,129,125,183,158,189,144, 18, 25, 1, 77,110, 54, 8,
- 45, 9, 54,193,130, 44,139,143,172, 76, 41,150,159, 56,151, 37,149,203,135,149,211, 73,148,107,103,137,199,138,103,106, 2,142,
- 64, 8,174,208,228, 19, 47,150,145,169, 41,184, 2, 33, 88, 92,110,121, 19,184,191,224,148, 74,165,195, 71,140, 24, 17,245,252,
-249,115,139,169, 83,167,162,115,231,206,225, 10,133,194, 11, 64, 97, 77,203,147,162, 40, 81,183,110,221, 24, 4, 65, 8,199,141,
- 27,199,203,206,206, 46,141,172, 46,149, 74,113,227,198, 13,184,187, 23,173,234,143,141,141, 69,211,166, 77, 43,228,156,182, 60,
- 70, 4, 96,253,194, 17, 78, 91,159, 70,102,204, 3,176,185, 94,195, 90,184,123,235, 14, 30,222, 13,245,235,216,140,218,245,221,
-184,118, 63,241,189, 70, 45,109,220,102, 42, 83,104,234,128,223, 47, 93,100,198,133, 29,217, 40,151, 71, 55,192,254,203, 75, 42,
-178,147, 32, 8,208, 52,253, 69, 40, 7, 38,147,137,147, 39, 79, 86,247,218,207, 29, 62,124,120,214,204,153, 51, 57, 25, 25, 25,
-120,253,250, 53,100, 50, 25,140,140,140,112,235,214, 45, 18,192,222,147, 39, 79,222, 58,121,242,100, 95, 20,173, 38, 10,174, 78,
-251, 20, 8, 4,190,222,222,222,120,253,250, 53, 94,188,120,113, 17, 64, 84,120,120,248,197,119,239,222,141,238,218,181, 43,126,
-251,237, 55, 95,133, 66,113,184, 58,156, 20, 69,149,141,153, 84,146,241, 33, 82, 42,149,118, 12, 13, 13,173,110,189,103,136,197,
-226, 46,197,194, 58,213,206,206,206, 52, 50, 50, 18,181,107,215,134, 70,163,233, 80,221,182,148,159,159,255,235,238,221,187,143,
- 78,158, 60, 25, 63,253,244,211,184,115,231,206,141,251,238,187,239,208,191,127,127, 28, 59,118, 12, 81, 81, 81,155,161, 95, 90,
-177,242,174, 61, 10, 64,148,157,157,221,156, 90,181,106, 97,219,182,109,136,142,142,246, 95,191,126,253,138,168,168, 40,184,187,
-187,243,226,226,226,200,154, 60, 67, 0,192,212,212,212, 84,171,213,226,202,149, 43,207, 0, 44, 28, 55,110,156,237,142, 29, 59,
-124,132, 66, 33,114,115,115, 21, 49, 49, 49, 99, 1,252,241,159,126,214,209, 4,177,106,234,180,121, 7,166, 77, 29,107,212,182,
- 77, 43,200, 11,210,160,144,102, 66, 94,248, 17,187, 15, 7,129, 32, 24,176,177,113,128,173,189, 51,146,147, 83,240,248,218,117,
-181, 76,174,216,193,213, 82,155, 43,231,156, 91,196,217,186,136, 83, 46,203,130, 66,154, 85,202,105,107,235, 88,204,153,140, 71,
-161,215,149, 10,153,236, 87, 53, 77,252,252, 55, 95,251, 63, 25,213,203,117, 88, 22, 18,137,100,254,140, 25, 51,188,150, 47, 95,
-110, 69,146, 36,211,210,210, 18,201,201,201,228,133, 11, 23,114,165, 82,233,252,154, 88,195, 98,179,163, 92,221,220,189, 6, 15,
- 30, 76, 14, 26, 52,144, 51,126,114, 95,150,141,173, 45,242,243,196,120,243, 58, 2,241,175,194,224,234,222, 18,107,214,111, 7,
-204,205,171, 76, 36, 89,156, 86,103,192,186, 31,150,156,237,226,217,199,212,189,105, 75, 78,171, 6,102,208,104, 73,164,165,165,
-225,143, 43,145,154,152,151, 15, 11, 40, 82, 61, 90,158,163, 95, 10,158, 16,128,132, 24, 7,155,217,106, 78,110,218,186,123,241,
-222,131,199,151, 46,159, 55, 85,208,213,163, 55,162,239,252,134,139,129,103,101, 74,149,122, 43,135,137, 95, 98,196,144,191,169,
-102, 25, 40,149, 74,205,231,253,169, 82,169,212,124,109, 77, 31, 59,118, 12,153,153,153,234, 15, 31, 62,220, 36, 73,242, 92, 37,
-201,158,191,192,110, 64, 61, 84,165,186,243,131,135, 71,223, 31,110,221, 50,154,184,108,153,122,220,248,241, 75,160, 82,105,192,
-229,210, 44,129,128, 1, 30,143, 29,251,232,145,241,206, 89,179, 44, 9,181,250,246,241, 74,194, 6,148,131,111,190,234,176,196,
-163,213,189,123, 87, 76,156,186, 16,138, 50, 30,173, 39, 47,222, 64,165,129,222, 30,173, 98,164,124, 72, 77,237, 56,111,213, 15,
-151, 70,123,247,108,220,172, 78, 93,158,141, 75, 93, 8,237,237, 33,206,206,198,163, 23,241,218,245,103, 47,197, 20,139, 44,189,
-226,202, 80, 20, 85, 52,201, 29, 64,207,249,203, 65, 48,153, 64,113, 24,135,146,149, 67, 46,237, 58,131, 96,177,160,163, 41,168,
- 84, 42,125, 38,253,165,189,127,255,126,248,184,113,227,130, 3, 3, 3, 25,222,222,222,173, 46, 95,190, 76,125, 77,219, 81, 40,
- 20, 29, 1,192,200,200, 40,201,220,220,220,105,242,228,201,208,106,181,144,203,229,200,207,207, 71, 90, 90, 90,222,228,201,147,
- 53, 0, 96,108,108,204, 29, 49, 98,132,105, 85,156,219, 47,136,148, 11, 71, 56,237,178,100,125,240, 41,200,137,114,177,100,125,
- 72,234,216,140,218,181,253,130, 72,105,234, 40,219,144,243, 33,228, 77,134,236,214,129,223, 47, 93,100, 78, 24, 58, 92,231, 44,
-124,235,103,100, 75, 95,168,138,151, 32,136, 47,130,147,234, 41,178, 62, 65, 97, 97,225,138,213,171, 87,247,151, 72, 36,206,125,
-251,246,229, 52,110,220, 24, 79,159, 62, 69, 96, 96, 32,249,228,201,147, 84,153, 76,182, 18,128, 18, 64, 80, 77,202,212,205,205,
-205,133,197, 98,149, 12,165,237, 41,254,120,207,229,203,151, 71, 79,157, 58, 21,117,235,214,109, 18, 23, 23,199, 67, 53,238, 35,
-154,166, 75, 71, 25,190, 37, 8,130, 72,216,185,115,167,147,189,189, 61,113,227,198, 13,146,201,100,214,196,115,115,236,200,145,
- 35, 29,180, 90,237,180,233,211,167,195,211,211, 19, 36, 73,226,196,137, 19, 56,114,228,136,190, 34,171, 82,188,121,243, 38, 44,
- 53, 53,181,219,146, 37, 75,176,109,219,182, 21, 75,150, 44, 65,106,106, 42,222,188,121, 19,241, 53,188, 5, 5, 5,138,148,148,
- 20,126,167, 78,157,218,198,196,196,196,120,121,121, 53,157, 58,117, 42, 54,111,222, 76,223,191,127,127, 4,128, 27,255, 31,189,
-119,252,187,220, 0,182,142,117,107,253,134, 95,127,108, 80,223,101,230,148, 73,163,152,110,174, 77, 33,203, 79,131,149,181, 29,
-156,107,213, 67,118, 86, 14,110,222,188,161,203,201,201, 59,166, 99, 16,235,222,189,203, 77,255, 26, 78, 39,231,122,200,202,202,
-194,245,235,215,117,121,146,130, 67,208, 50,214,199, 37,231,101,194, 0,125, 60, 89,211, 81, 73,148,248,202, 96,109, 97, 97,113,
-218,212,212, 52,211,212,212, 52,211,194,194,226, 52,160,215,234,131, 94,101,158, 14,204, 79,182, 17, 35,140, 96,100,212, 17, 44,
-214, 34,115, 11,139, 27,102,102,102,226,238,221,187,171, 15, 28, 56,160,140,139,139,165, 68,162, 84,218,204,204, 44,191,244,248,
-242, 56, 63,131,133, 69,125, 19,129, 67,211, 31,205,156, 91, 61, 18, 58, 52, 41, 20, 58, 52, 41, 52,115,110,249, 88,224,208,100,
-173,133, 69,125, 19,189,236,172, 0,245,108, 97,227,106,141,189,238, 54,132,194,213, 26,123,235,217,194, 70,239,107,175,124,216,
- 79, 71, 16,208,161,104, 25, 54,106,192, 89,194, 65, 49,153,204,227,206,206,206, 14,168, 94,192,186, 47, 56,199, 3,117,199,243,
-120,211,206,251,249, 77, 76,186,127,127, 92, 65, 98,226,152,252,132,132, 81, 17,103,207,142,222, 51,122,244,248, 49, 60,222,244,
- 17, 64,125,125, 57, 29, 28, 28,252,195,194,194, 2,245,221,202, 8, 47,189,203,179,126, 61,167, 91,222,189, 58,208,190, 51,134,
-209,190, 51,134,209,222,189, 58,208,245,235, 57,221,250,138, 58, 34,152, 76,166, 15,159,207, 63, 45,224,243,163, 5,124,126, 52,
-159,207, 63,205,100, 50,125, 80,249, 28,170, 79, 56,173,172,172, 94,218,217,217,101, 86,103,179,182,182, 14,175,134,157, 99, 92,
- 92, 92, 82, 25, 12,198,246,106,222,211,149,113,186, 26, 27, 27, 39, 8, 4,130,180,178,155,177,177,113,217,192, 80, 86,124, 62,
-255,170, 64, 32,216,161, 15,231,207,171,154,254,248, 56,104, 78,212,207,171,154,254,248,249,119,115,135, 88, 76,126, 26,188, 78,
- 60,119,136,197,100,125,236,180,181,181,189,111,107,107,155, 97,107,107,155, 97,103,103, 87,233,102,109,109,253, 82, 15, 78, 35,
- 19, 19,147, 29, 38, 38, 38,153, 2,129, 64, 39, 20, 10, 51, 5, 2,193,118,148, 9,109, 81,211,242,100, 48, 24,155,155, 52,105,
-162,100, 50,153, 71, 63,251,106, 91,131, 6, 13,148, 44, 22,107,107, 53, 57, 77,187,118,237,170,139,140,140,164, 61, 61, 61,105,
- 0, 22,223,176,222,237, 45, 44, 44,110,152,154,154,166,152,152,152,236, 6, 32,168, 33, 39, 1,192,199,201,201, 41,162, 71,143,
- 30,114, 39, 39,167, 80, 0,131,191,161,157,253,135, 12, 25, 66,165,164,164,208, 52, 77,211, 41, 41, 41,244,144, 33, 67, 40, 20,
- 5,138,252,154,103,242,170, 89,179,102,209, 79,158, 60,161,159, 60,121, 66,135,134,134,210,253,251,247,167, 0,124,255,149,207,
-121,124,171,107,111, 92,207,186,126,163,134, 22,231,198, 14,247,160,130,254,216, 78,175, 89, 57,147,238,237,217,148,118,111, 96,
-113,201,213,213,202,245, 91,112,254,184,114, 6,221,171, 91, 19,170,113,125,139,179,141,235, 89,215,255, 15, 95,251,191,209,171,
-133,191,123,194,217, 95,174,197, 79,197, 82,249,112,116,116,132, 88,220,193,136,197,242,224,241,120, 94, 12, 38,243, 94,110,118,
-246,130,226,215, 45,221,127,202, 85, 91,105,135, 94, 31,220, 74, 82, 18,212,132,243,147,137,236, 53,228,172, 14,135, 94,156, 21,
- 37,149,166, 84,170,116, 43,146,124,185, 27,149,150,193, 39,156, 78, 78, 78,211, 40,138,114,209,215, 32, 6,131,145, 36, 18,137,
- 14,215,164, 60, 27, 54,108, 72, 23, 15,111, 19,223,178,222,255,142,182,244,191,196,249,251,175,205, 29,221,155, 55, 90, 26, 29,
- 22,183,173,120, 88,177, 20,107,231, 90,152,120,244,232,190,250,209,221,251, 63,173,221, 45, 41,252,127,190,118, 6,244,156,211,
-246, 13, 56, 75,130,132, 86,139,147,205,102, 31,104,223,190,253,180,167, 79,159, 30,213,233,116,211,255, 71,219,103,127, 38,147,
-185,196,205,205,173,213,155, 55,111, 34,116, 58,221, 54,148, 19, 40,178, 6,118,174,116,113,113,153,205,225,112,120, 82,169, 84,
-146,158,158,190, 26,192,185,255,182,242,108,220,208,178, 45, 77,151, 6,221,222,248,250,125,238,243,111,198, 73, 83, 58,138,102,
-110,120,147, 40, 14,255,127,168,247,127,155,200, 58,244,159,248,225, 94, 6, 78, 3,167,129,211,192,105,224,252,230,156,198,134,
-242, 52,112,254, 11, 57,255,149, 96, 25,138,192, 0, 3, 12, 48,224, 31, 7,133,161, 8, 12, 48,224,191, 14,101,189, 90,165,222,
- 44,162, 18, 85, 90, 29,151, 96, 77,148,237, 29, 3,167,129,211,192,105,224, 52,112, 26, 56, 13,156,255,115,156,255, 86,145,117,
-168,146,253,191, 13, 6,183,170,129,211,192,105,224, 52,112, 26, 56, 13,156, 6,206,255, 5,161, 85,238,190, 97,232,208,128,191,
- 29,187,134,194, 9, 0,230, 93,134,232,239, 56,222, 0, 3, 12, 48,192, 0, 3,254,159,113, 8, 21, 12, 29,254, 55, 8, 45, 71,
- 0, 29, 81,148,248, 54, 30,192, 67, 0,146,175,224,179, 6, 48,138, 32,136,145, 0, 64,211,244,121, 20,173, 26,201,209,231,100,
- 35, 35,163, 76,165, 82,105, 91,252,127,150, 82,169, 44,155,203,128,192,151,171,217,232, 50, 91,185,112,113,113,201, 84,169, 84,
-182,122,252,124, 62, 77,211, 81, 12, 6, 35, 90, 40, 20,222,125,243,230, 77, 96,117, 46,220,203,203,107, 34,147,201,220, 8, 0,
- 58,157,110,213,189,123,247,142,255,141,245,214,161,150,163,253,111, 26,173,134,204,204,206, 93,141, 47, 3,249, 1, 0,246, 14,
-128, 63, 65, 98,105,241,255, 91,231, 4, 86, 30, 71,167,186,199, 87,130,182,108, 54,219,215,206,206,174, 95, 90, 90,218, 75, 0,
-203,128,170,163, 26,215,170, 85,235,123, 22,139, 53, 78,167,211,213,103, 50,153, 9, 36, 73,158, 76, 77, 77, 13, 48, 60, 67, 12,
- 48,192, 0, 3, 12,208, 67,108,125,129,106, 9, 45,119, 43,216,211,128, 15, 8,244, 6,141,219, 4,112, 38, 94,140,143,250,158,
-255,157, 59,180, 90,178,232, 55, 57, 12,232,110,188,103, 28,234,215,175,159,243,220,185,115,209,185,115,103, 60,125,250,180,211,
-177, 99,199, 38,159, 59,119, 46,138,162,168,123, 0,158, 2,122,133, 82, 16,160, 40, 78,203,216,126,253,250,245,218,184,113, 35,
-179,105,211,166, 80, 40, 20,184,127,255,190,199,214,173, 91,119, 60,126,252,248, 14,128, 83,197,130,160,194, 4,120, 74,165,210,
-182, 36, 25, 39, 65, 16,182, 35, 70,140,120, 94, 86, 92, 21,231, 87, 35,104,154,126, 66, 16, 68,168, 78,167,123,122,225,194,133,
- 84,119,160,195, 12, 23,206,133, 5, 73, 26,231,207, 57, 85, 42,149,237,149,159, 55,129,197,227, 65, 85, 88,128, 78,147,254, 18,
-189,183,127, 92, 10,130, 34,193, 4, 45,241,218,176, 35, 10, 64,116,122,122,122,148,167,167,103, 82,117,107,152,201,100,110,188,
-121,243,166, 3, 77,211,240,246,246,222, 8,224,239, 18, 90,188,142,109, 91,222,187,122,241,180,145, 52, 55, 19,125, 7,143, 62,
-249, 54, 53,107, 34,128,139,159,136,166,126,176, 35, 8, 44,157,181,233, 20, 19, 0,246,173, 28,187,108,123, 31,236, 90, 24,132,
-143, 0,188,138,197, 15, 0,252, 12,224,222,222,126,176, 3,176,124,214,166, 83, 4, 0,236, 95, 57,118,233,222,126,216, 57,231,
- 70,181,195, 86,204,158, 56,113,226,174,141, 27, 55, 50, 29, 28, 28, 32, 18,137,250, 54,105,210,196,173,160,160,160, 9, 42,153,
- 68, 92,183,110,221,179, 93,123, 12,172, 55,108,164, 15,223,198,218, 2,233, 25, 57,166,103, 79, 31,157,193,124,114,191,223,135,
- 15, 31, 70, 27,158, 33, 6, 24, 96,128, 1, 6, 84,128,154, 71,134,111,237, 0, 99,153, 6, 67, 88, 76,226,251, 46,109,155,244,
- 28,243, 93, 87, 70,147,198, 13,241, 42, 54,174,207, 31,119,159,109,101,132,198, 6,147, 58, 58, 64,192,193,149,240,140,202, 87,
-194,104, 73,176,130,174,156, 42,234, 9, 39,143,101, 62,127,254,188, 97,155, 54,109, 74, 83,195,244,236,217, 19, 61,123,246, 36,
-246,237,219,215, 50, 40, 40,168,229,145, 35, 71, 52,193,193,193,191,161,242,248, 40,190, 13, 26, 52,216,186,107,215, 46,158,167,
-167, 39,120, 60, 94,233, 23, 66,161, 16, 3, 7, 14,196,192,129, 3,153,233,233,233,222, 87,175, 94,245,254,249,231,159,213,201,
-201,201, 75,240, 87,148,230, 74,177,122,245,234,182,229,124,124,147, 32,136,247, 36, 73, 70,180,108,217, 50,213, 13,104, 56,227,
-187,206,183,103,119,113, 21, 44, 88,113,172, 92, 30, 22,151,139,223, 39, 22,245,213,101,133, 86,210,221, 27, 16,154,154,136,249,
- 38, 38, 81, 0,162, 1, 68,209, 52, 29,157,144,144, 16,215, 8,104,217,209,130,241,219, 81, 9,213,162, 26, 98, 11,169,169,169,
- 48, 51, 51, 51,246,244,244,204, 32, 8, 98,237,253,251,247,191,245,132,188, 14,107,151,206,230, 72, 62, 68,225,227,235, 39, 88,
- 52,210,131,191, 96,247,159, 63, 41,213,218,139,149,157, 68, 16, 12,198,207,161,148, 31,138,146,241,174, 22,139,197,158, 0, 96,
-101,101,197, 5,112,111,251, 51,124,183,176, 11,241, 53,177,221, 56, 76, 38,115,239,177, 99,199,166,126,255,253,247, 69,169, 35,
- 30, 61,130, 80, 40,196,250,245,235,235, 46, 94,188,216,159, 36,201,249, 21,121,178,186,246, 24, 88,111,231,182,159,154, 20,230,
-230,171, 14,238, 61,247,194,177,153, 59, 99,150,239, 98,147,157, 26,149,189, 78,167,251,222,224,217, 50,192, 0, 3, 12, 48,160,
- 58,222,172, 42,133,150,155, 53,142,183,110,230, 58,106, 76,127, 15, 94,243,102, 77,193,225,253, 21,186,165, 77,219,182,104,211,
-182, 45,195, 79, 90,216,251,249,139,176,222, 23,130,158,170,228,218,228,115,111,114, 48, 81, 95,171, 74,146,210,110, 28,108,215,
- 67,150,151,101, 4, 0, 2,115, 91,229,202, 43, 31,239,118,233,210, 5,206,206,206,156,224,224,224, 41, 85, 8,173,149,241,241,
-241, 60, 38,179,242,120,168,142,142,142, 24, 49, 98, 4,220,221,221,185,221,187,119, 95, 89,145,208, 50, 50, 50,202, 34, 8,194,
- 22, 0, 44, 45, 45,117,107,215,174,141,160,139, 0, 0, 52, 77,211, 79, 24, 12,198, 83,138,162,158,253,249,231,159,105, 77, 0,
-219,190,109,220, 31,206, 30, 63,130, 79, 95,216, 81,161, 72, 80, 22, 20,148,251, 57, 95, 40,200, 54, 22, 8,162,120,124,163,104,
- 20,229,242,138,118,118,118,142,107, 2, 56,183,119,119, 9,218,183,112,172,201,209,233, 63, 85, 89,150,173, 91,183,118,107,209,
-162,133,145, 78,167,131, 76, 38,195,254,253,251,205,140,141,141,205,250,245,235,183,166,108, 3,104, 12, 52, 31,238,200,156,190,
- 46, 93, 55,167, 6, 13,201,188,107,167,182, 31, 70, 12,236,103,218,182, 99, 87,188,189,119, 2,185,185,133,200,207,147,130,162,
-168, 47,226,250,204,185,129,204,189, 3,176,117,223,138,177,203, 9, 6,131,104, 57,116, 25, 6,217,231,207, 59,112,224, 64, 44,
- 0, 54,151,203, 45,219, 14, 29,141,157,154,109,109,216,167, 43,246,175, 26, 15,154,162,104, 0, 91,171,225,205,178, 53, 49, 49,
-249, 35, 40, 40,168, 67,187,118,237,240,244,233, 83, 36, 38, 38, 98,246,236,217,234, 57,115,230,112, 38, 76,152, 64, 44, 90,180,
-104,238,207, 63,255,124, 1,192,227, 47,110, 4, 22,107,220,224, 97,163,185,210,188, 2,165, 90,165, 81, 91, 90,155, 83, 42,153,
- 82,158, 35, 41, 80,142, 30, 59, 77, 29, 27,254,108, 28,128, 47,132,214, 87,150,167, 1, 6, 24, 96,128, 1,122,128,166,233,118,
- 0,108, 0,100, 19, 4,241,162,236,126,241, 33, 37,217, 90, 62,223,207, 65,209,168,148, 85, 25,186, 28, 20, 77,247,177, 1,160,
- 3,240,156, 32, 8,201, 87,154, 88,249, 42,195,192,192, 64,186,236,223, 50, 66,139,166,105,154,214,138,223,211,170, 55, 55,104,
-249,139,195, 95,108,138,216,139,116,198,243,115,244,179, 83, 63,210,110,214,149,103, 97,255,206, 29,218,177, 45, 64,207,106, 7,
-122,126,119,115,229,243,231,207,131, 41,138, 10,244,235, 10,154,126,117,138,166, 95,157,162, 23,118, 2,125,225,194,133,155,254,
-254,254,129, 1, 1, 1,129, 0,170,154,167,148, 89,248, 34,148,126,102, 11,186, 34,196,199,199,211, 7, 14, 28,160, 87,172, 88,
- 65, 31, 61,122,148, 70, 21, 17,212,189,189,189,239,199,196,196,208, 19, 38, 76,136, 64, 37,129, 1, 27, 3,130,113,117,237, 95,
-171,206,238,208,168,191,111, 78, 75,186, 25,149,123,253, 14, 14, 14,159,216,179,217,213,158,222,211,222,149, 62,222,187,205, 71,
-154,166,111,210, 52,189,153,166,233,209, 52, 77,187, 3, 64,107,192,116,176,131,213, 59,229,185,157, 10,245,244,142, 85,230,189,
-107,221,186,181,219,146, 37, 75,114,213,106, 53,157,148,148, 68, 31, 60,120,144,190,125,251, 54,125,229,202, 21,218,195,195, 35,
-189,140,189,118,147,221,235,100,170,143,172, 83,213,164, 21,177,153,204, 61, 47,110, 95,160,223, 61, 60, 79, 63, 63,227, 79,159,
-252, 97, 12, 61,119,112, 7,141,169, 49, 79, 9,160, 71, 69,231,205,233,130,134,238,117,109,222, 36, 39, 39,211, 26,141,134,158,
- 52,105, 18,237,237,237, 77,247,233,211,135,238,213,171, 23,221,179,103, 79,186, 71,143, 30,244,221,187,119,233,244,244,116,186,
- 87,215, 54,178, 1,141,209,182, 26,166, 53,171, 83,167,206,199,164,164, 36, 90,163,209,208,193,193,193,244,137, 19, 39,232,224,
-224, 96,218,207,207,143, 6,112,124,214,172, 89, 10,137, 68, 66,123,123,123,167,161,156,168,241,117,234,212,137,139,121,147,154,
-186,125,211,225,187,191,239, 57,125,247,210,133,219,119,255,184,245,252,218,149, 91, 47,206, 61,139, 76,184, 82,167, 78,157,184,
-114,234,255,171,202,211, 0, 3, 12, 48,192,128,170,181, 72,177,208,234, 95,236,236,232, 79,211,116,175,207,246,251, 23, 11,167,
- 47,246,253,252,252, 86,148,221, 47, 57,198,207,207,111, 5, 0,186, 83,167, 78,167,105,154,110,248, 13,204,159, 94,206, 86,181,
- 71,171, 4,100,218,115,112, 92,251,129,173,211, 66,155, 19, 15, 42, 47, 25, 16,216, 67, 65, 8, 33,206, 72,198,235,135, 23, 43,
- 79, 36, 81,140,235,241, 96, 3, 8,142,139,139,195,235,215,175,145,154,154, 10, 62,159,255,197,113,143, 30, 61,130,177,177, 49,
- 28, 28, 28,244, 83,186,234, 79,251,185,168, 54,117, 32,236,228,137,156, 49, 51, 17, 28, 28,140,172,172, 44,112, 56, 28,112,185,
- 92,144, 36, 89, 37, 31,131, 81,148,241,183,196,139, 85,222, 49,158, 0,139,103, 41,188,186,111,205,124, 23,198,147, 64,182, 34,
-229, 29,210,149, 58,253, 60,121, 66, 1,248, 2,126,134,177, 49,191,116,184, 16, 64, 52, 65, 16,111, 91, 3,108,129,208,232,234,
-111, 27, 22,217, 51,195,131,141, 20,239,162,202,229,232,213,171,215, 12, 0,107,104,154,206,107,209,162,133,221,198,141, 27, 45,
- 68, 34, 17, 94,189,122,133,115,231,206,101,147, 69, 23, 74,208, 52,189, 14, 0, 58, 2, 70,230, 54,230,183,246,252, 56,223, 4,
-247,206,114,107,210,138,204, 26, 15,188, 54,124,194,172, 57,187,230, 15,132,172, 80,129, 83,183,195,113, 51,236,253, 32, 0,143,
- 80,201,188,183,189,143,241, 14,200,238, 57,108,216,176,136, 7, 15, 30, 88, 31, 57,114, 4, 36, 73,150,187, 29, 57,114, 4,119,
- 30,134,205, 3,240, 82, 79,179, 28, 93, 92, 92,238, 60,123,246,204,134,207,231,227,246,237,219,200,203,203, 43,245,100, 77,156,
- 56,145,200,203,203,243,217,191,127,255,240, 15, 31, 62,108,123,248,240,161, 24, 69,185, 32, 63,105, 8, 76, 38,243, 61, 73,106,
- 26, 57, 52,110,200, 26, 57,176,107, 87,169, 56, 10, 66,171, 22,120, 18,249,254,106,158, 68,172, 96, 50,153,239,203, 30,255, 45,
-202,211, 0, 3, 12, 48,192,128,234,129, 32,136, 64,154,166, 7, 16, 4, 17,248,249,103,159,255, 95,114,156,191,191,127,233,126,
-201, 57,155, 55,111,222, 84,102, 95,254,141,204,171,116, 50,124,247, 98, 5,217,189,188,131, 84,175, 46, 65,245,250, 15,112,234,
-116, 1,215,125, 16,152,117, 60,144, 18,117, 15,145, 55,182, 35, 45,246, 17,104, 74, 7, 7,183,246,250, 26,162,108,212,168, 17,
-148,202,162,169, 89, 42,149, 10, 28,129,133,114,209,244,177, 70, 0, 64,177,140, 84,101, 20,172, 94,132, 38, 93,188,208, 62,147,
-198,115,187, 34, 71, 69,251,204,162,243, 54, 76,154, 4, 14,135, 3, 14,135, 3,162,120,234,143, 62, 66,139, 40, 62,152, 42, 26,
-190, 42,207, 8, 66,206, 99,159, 58,179,198,183, 61,239, 67, 52, 87, 21,243, 4,233, 42,138,190,154,169,187,166,143,189,124, 1,
- 95,100,204,231, 71, 27, 11, 5,165, 66,139, 32,136,247, 0, 64,179,217, 1, 39,214,249,182, 16,100, 38, 8,148, 47,130,145,161,
-164, 52, 21,208,172,187,113,227,134, 45,139,197,178,215,233,116, 72, 73, 73, 65,108,108, 44,118,238,220,153, 89, 88, 88,216, 61,
- 60, 60,252, 77, 89,237,168, 51,230,158, 11, 88, 63,191, 30, 43, 42,196, 72,245, 62,166,218,173,199,186,217, 16,239, 65,221, 91,
- 94,155, 49,126, 21,134,124,215, 7, 19,186, 55,161,147,210,115,149, 0,110, 23,187, 94,171,130, 40, 60, 60,188,119,183,110,221,
- 78,182,106,213,170, 49, 77,211,104,222,188, 57,124,124,124, 16, 16, 16,128,200,200, 72, 20, 20, 20,104,130,130,130,118, 0, 56,
-166,167, 89,124, 11, 11,139,155,119,239,222,181,225,243,249, 8, 10, 10,130, 66,161,128,131,131, 3,230,204,153,195,221,188,121,
-243,239, 5, 5, 5, 35,253,253,253,141,146,146,146,246,220,186,117,171, 46,138,242,206,125,209, 8,212,106,245,161, 83, 1,199,
-119,205,241,157,235,116,247,233,171, 96,149,180,208,172, 78,157,212, 2, 27, 11,161,201,142, 45,235,106,171,213,234, 25,229,151,
-231,253, 26,149,167, 1, 6, 24, 96,128, 1, 95,160, 82, 45, 82, 86, 60,125, 46,182,170, 35,210, 0, 40,252,252,252, 86, 18, 4,
- 17,232,231,231,183,210,223,223, 95, 1, 32,253,239, 16, 89,165, 66,107,192,128, 1, 33,129,129,129, 24, 48, 96, 64, 72,133, 20,
-148, 14,154,164, 7,208, 36, 61,128,113,167,121,248,211,127,204,103, 23, 79,213,216,186,129,235,111,223, 85,169, 84,172,227,199,
-143,151,206,219, 2, 0,157, 78,247,205,107,177, 58, 66,171, 88,232,125, 97,132, 11, 79, 24,114,104,225,200,142, 86, 58, 57, 91,
-253,232, 42, 68, 42,138,220,246, 78, 35,127,145, 71,255, 92, 17,231,149, 5, 51,144,250,240, 14,248, 66, 97,234,212, 7,209,165,
- 94,172, 98,145,149, 8, 0,117,121, 38,193, 7,230, 15,241,176,231,128,163,190,118, 30,233, 42, 74,117,224,131,246, 88, 5,141,
- 13, 52, 77, 35, 49, 49, 17,114,185, 28,161,161,161,184,120,241, 98,118, 57, 34, 11, 46, 60,225,253,163,203,198,117, 48, 45,252,
-200, 81,191,184,131,116, 21,165,215, 80,151,117,243, 33, 93, 56, 12, 34,136, 96, 48,141,123,118,116,195,130,105, 67,177,253,232,
-159,164,218,182,235,128, 93,127, 92, 31, 37, 85,105, 86,234, 41,178, 74,157,141,225,225,225, 77,194,195,195,121, 0,188,124,124,
-124,174, 15, 31, 62, 28, 33, 33, 33,184,122,245,170, 43,128,140,226,227,214,163, 40, 81,246,207, 0, 18, 42,114, 60,114, 56,156,
- 51,119,238,220,105,234,232,232,136, 59,119,238, 64,161, 80, 96,214,172, 89,106, 95, 95, 95,206,196,137, 19,137,252,252,252, 82,
- 79, 86,104,104,168,184, 34,145, 5, 0, 34,145,232,198,197,115, 39, 58,119,235,214,109,104, 61, 87,119,211,132,194,130, 44, 62,
-223,200,248, 97,200, 61,206,139,103,143,247,136, 68,162,231,229,151,103,176,222,229,105,128, 1, 6, 24, 96, 64,197,208, 75,139,
-124,230,153,170, 14,202,156,199,246,247,247,143,245,247,247,255,196,227,245,149,248,124,213,225,181,146, 62,173, 70,113,180,116,
-249, 41, 95, 94, 0, 69, 85,231, 98,191,248,204,194,194,130, 52, 54, 54,254, 68,104, 81,122,114,230, 94, 62,141,132,217, 99, 75,
- 61, 89, 37,158, 45,244,157,248, 85, 66,139,162,168, 80, 0,159, 24,193,183,117, 27,179, 99, 96,227, 46, 77,234, 57, 49,180,231,
-118, 34, 77, 78, 42,215,196,107,148,175, 11,233, 65,113,229, 76,178, 46,229, 36,181, 48, 18, 24, 39, 27, 11, 5,159,139,172, 15,
- 0, 32,176,115, 29,190,173,159,123,247,150,238, 13, 24,228,217, 95, 33,146,107,165,126,113, 26, 77,130,140,190, 84, 65, 25,174,
-233,211,167,207, 26, 43, 43, 43,163, 93,187,118,153,213,169, 83, 7, 36, 73,170, 63, 23, 89,124, 91,183, 49, 59,135, 52,235,226,
-102,111,193,208, 94,216,141, 84,133, 78,190, 51, 65,251,187, 62, 34,203,218, 76,120,235,192,166,217,198,124, 30, 27, 74,165, 18,
-155,247, 93, 64,208,227,152, 1, 57, 49, 87,110, 1,184,245, 21, 13,114,234,128, 1, 3,182,175, 95,191, 30, 90,173, 22, 83,166,
- 76,193,251,247,239,131,226,227,227,119,214,174, 93,123,201,178,101,203, 28,237,237,237, 49,106,212, 40,142, 86,171,157, 88, 1,
-199,150, 83,167, 78, 13,104,217,178, 37, 66, 66, 66,144,151,151, 7, 7, 7, 7,248,250,250,114,253,253,253,127, 47, 40, 40, 24,
-185,105,211, 38,163,196,196,196, 74, 61, 89,159,180,107,157,110,195,193,237,179,151,180,235,232,193,120,247,238, 13,153,210,222,
-147,113,239,206,213, 7, 86, 86, 86,191,167,164,164,252, 85,158, 67,155, 87,187, 60, 13, 48,192, 0, 3, 12,248, 54, 32, 8,226,
- 90,241,188,171, 79,188, 92,159,139,176, 18,143, 85,217,253,207,143, 47,254,254, 91,188, 44, 31, 42, 71,120,125, 26,222, 97,192,
-128, 1,122, 47,171,167,100,217,122,137,167,207,241,157, 59,180, 78, 66,176, 86,122, 50,192, 17, 88, 40, 7,174,191,125,183,162,
- 99, 5, 2,129,222, 30, 45, 74,165,172,170, 82,170, 37,180,138,231,104,221,164,105,250, 19,161,101,102,231,230,185,124,217,252,
- 29, 30,195,251, 50, 50,167,117, 66,158, 84,165, 90,246,138,164,210,228,149,139,172,162, 94, 92,155,196, 23, 8,163,141, 4,252,
-178, 34, 43, 5, 0,140,108, 27,180, 95,186, 96,206,190, 30, 99, 6, 18,217,179, 60, 32,201, 83,168,150,196,146,132, 72, 65,143,
-140, 3,238,149, 71,119,247,238,221,131, 0, 14,122,122,122,102, 10, 4, 2, 72,165,210, 47,234,160,196,222, 46,195,251, 50, 50,
-167,118, 64,174, 76,163, 90, 22, 75, 34, 93, 65,157,169, 74,100,217,152,155,220, 58,176,113, 54, 63, 61,237, 3, 56, 28, 14,132,
- 66, 33,110, 63,138, 70, 78,236, 31, 95, 35,176,192, 96, 48,214,250,249,249,173,153, 51,103, 14,196, 98, 49,174, 94,189,138,239,
-190,251, 14,167, 79,159,174,115,253,250,245,237, 94, 94, 94, 96, 50,153, 8, 12, 12,132, 86,171,125, 91, 1,205,208,233,211,167,
- 47, 25, 62,124, 56,158, 63,127,142,140,140,140, 79, 60, 89,121,121,121, 62,251,246,237, 27,158,148,148, 84,165, 39,235, 51,180,
-119,105,208,154,179, 98,245, 47, 80,201,179, 88,217,162,167, 33,193,183, 25, 79,114,115,115,249, 0,242,107, 90,158, 6, 24, 96,
-128, 1, 6,232,237,213,170, 72,139,100, 23,139,168,236,242,246,203, 8,172,242,246,137,207,188, 96,234,207,190,143,252, 59,175,
- 73, 47,143, 22,203,174, 25,200,204,152, 50, 66, 43,235,147,239,141, 76, 44,245, 26, 58,212,146, 96, 29, 56, 86, 26, 71,203, 72,
- 44, 22, 27, 89, 91, 91, 43,203, 10, 4, 62,159, 15, 71, 71, 71, 72, 36, 18, 28, 58,116, 8,168,122, 82, 52,105, 58,124, 60,218,
-143,153,130, 23,206, 92,208, 90, 77,169,103,235,192,164, 73,159,136, 45, 14,135, 83, 50, 55,172,170, 78,247, 89,177,167,233, 9,
- 0,186,181,107,189,159,140, 4,130, 73, 70,214,181,172, 23,204,158,202, 78,202, 82,225,174,199,138,188, 11, 91,150, 11, 83,105,
-225,156, 20,228, 63,174,130, 47, 97,240,254, 19,159,123,178,210, 90,185,214, 91,101,196, 55,154,198,181,172,107,239,183,104, 54,
- 59, 41, 83, 69,220,109,191,172,224,226,207,203,248,137, 48, 89,146,134,188,123,122, 84,207,154,239,190,251,110, 13, 77,211, 52,
- 69, 81,171, 1,160,172,189,139,124,167,177, 19, 62, 42, 17,236,177, 74,114,113,203,114,147, 84, 84,110,175,117,243, 33, 93,236,
- 44, 76,111, 29,216, 52,135,159, 33, 74, 6,143,199,131,137,137, 9, 82, 51,243,193,102, 49, 21, 95,217,222,120, 93,187,118, 93,
- 62,123,246,108, 68, 71, 71, 99,214,172, 89, 25, 41, 41, 41,151,206,158, 61, 59,235,199, 31,127,100,121,123,123, 35, 35, 35, 3,
- 91,183,110,213, 62,122,244,104, 19,128,173,229,182, 71, 22,107,234, 79, 63,253, 68,167,167,167, 19,137,137,137,112,112,112,192,
-220,185,115,185,155, 54,109, 42,157,147, 85, 29, 79, 86, 9, 68, 34, 81, 72,208,157, 39, 24,116, 99, 7, 72,173, 42, 36, 79,156,
-242,224,117,130, 36,196,146,203, 93,236,212,186,121,141,202,211, 0, 3, 12, 48,192,128,111,226,197,122, 81,217,254,127, 1,202,
- 27, 58,212, 75,104,189,221,189,106,178,235,228, 57, 75, 97, 92,167, 11, 84,113,151, 65, 73, 51, 75, 61, 90, 70, 66, 11, 88,214,
-110,140, 60,153, 10,231,131,195, 0,224,109,117,172, 42, 44, 44, 68,155, 54,109,176,119,162, 91, 15,101,161,216,200, 24,128,138,
-103,170,188,194,237,122,247,250,245,235,114,138,162,206, 0,184, 94, 5,205,218,166, 77,155,238,249,229,151, 95,184,141,199, 76,
-134,244,233,195,207, 61, 40, 48, 54, 54, 6,143,199, 67, 84, 84, 20,238,222,189,171, 6,176,182,138, 10,125, 70,146,100,228,217,
-179,103,211, 26,214,115,234,219,166, 85,139,121, 43, 87,248,153,188,122, 24,132,213,155,246, 80, 13,219,122,231,111, 62,125,165,
- 48, 95, 88,187,167, 34, 35, 62, 66,143, 75,141,252, 76,100,165, 55,114,169,213,163, 85,179,166, 75, 87,175, 94,101, 26,251,240,
- 54,126,252,249, 0,237,218,178, 87,254,207, 23,255, 40,200,225,215,237,163,204,122,253, 92,159, 50, 12, 9, 9, 57, 8,224, 96,
-201,254,231,246,250,173,223, 73,185,181,235, 43,217,124,250,162,172,192,164,118,175,202,236,181,105, 60,180,179,179,141,197,173,
-221, 27,102,242, 63,138, 82,192,227,241, 32, 20, 10,145,146,145,135, 53, 59,206,201, 52, 20,213,247,107,133,150,137,137, 9, 79,
-163,209, 96,239,222,189, 72, 73, 73,233, 4, 32,229,229,203,151, 7, 70,143, 30,189,171,121,243,230,141, 98, 99, 99,223, 74,165,
-210, 57, 0, 94, 87, 68, 98,110,110,222,201,198,198,134,120,242,228, 9,102,206,156,169,158, 59,119, 46,103,194,132, 9,132, 68,
- 34,169,169, 39, 11, 0,224,228,228,228,217,187,103, 71,116,233, 61, 43, 68,173,204,123,144,244,250,247, 16, 6,253,216,168,166,
-229,105,128, 1, 6, 24, 96,192,255, 12,106, 22, 24,220, 19, 96,185, 89, 97, 70, 83, 39,206,199,128, 45,115,233,194,132, 80, 90,
-241,252, 32, 93,112,121, 26,125,109,235, 4,250,250,238, 5,244,172,254, 77,233, 70,182,196, 71, 55, 43,204,240,252, 82,184,125,
-146,221,251, 59,119,104,123, 55, 0,221,187, 1,232,254,110,208, 2, 88,217,186,117,235, 43,190,237,255,138,163,229,219, 30, 52,
-128,153, 0,132, 21,152, 85, 94,198,112, 7, 0,135,218,180,105, 67,222,187,119,143,142, 31,217,139, 14,111,100, 77,207,153, 51,
-135,254,241,199, 31,233,177, 99,199,210, 54, 54, 54,100,113, 65, 56, 84,197, 57,104,208, 32,103, 0,168, 85,171,150,121,219,198,
- 13, 63, 70, 5, 95,165, 31, 4,236,162,143,250, 14,163, 59, 52,111,156, 99,223,168, 91,164,177,131,123,171, 42,138,175,148,211,
-222,222,126, 5, 77,211,125,105,154,118, 0, 0, 87, 87, 43, 97,235, 70, 13,211, 35,239, 92,165, 31,158,216, 67, 31,245, 29, 70,
-119,108,209, 68,236,220,216,235,181,145,109,163,246,250,112,150,135,114,237,109,214, 40,199,104,243, 99,239, 0, 0, 32, 0, 73,
- 68, 65, 84,174, 97,231,136, 74,236, 45,229,172,215,126,212, 31,105,233,153,244,179,103,207,232,235,215,175,211, 15, 31, 62,164,
- 3,206,254, 65,215,110, 55, 82,106,221,124, 72,151,106, 52,157,138,236, 52,235,223,191, 63,253,246,237, 91,186, 95,191,126, 52,
- 0,179, 26,114, 94, 73, 74, 74,162, 99, 98, 98,232,149, 43, 87,210, 0,142,207,158, 61, 91,145,159,159, 79,247,234,213, 43,165,
- 88, 96,177,106, 98,103,125, 23,167,205, 67, 7,118, 93,235, 59,115,184,231,215,150,231, 55,132,129,211,192,105,224, 52,112,254,
- 47,112,254,147,225, 80,236,213, 42,249,219, 90, 47,143, 86, 8, 64, 66,140,131,205,108, 53, 39, 55,109,221,189,120,239,193,227,
- 75,151,207,155, 42,232,234,209, 27,209,119,126,195,197,192,179, 50,165, 74,189,149,195,196, 47, 49, 98,200,223, 84, 97, 69,113,
- 28,173, 79, 16, 30, 30,206,183,108,240, 87, 12,166,119, 69,177, 89, 15, 84,243, 2, 51, 0, 76, 15, 11, 11,251,197,203,203,107,
-227,180, 46,237,135,249,118,238, 1,173, 86,139,128,128, 0, 36, 39, 39, 95, 2,176, 74, 95,143, 91,116,116,116, 78,147, 6,117,
-230,179,153,172,165,115,198, 14,181,201,126,255, 10,105,113,225, 0, 0,149, 74,161,253,248,246, 65,203,234, 24,103,108,108,252,
-204,198,198, 38,222,198,198, 70,226, 86,175,214,116, 30,216,171,103,249, 12,182, 21, 39,189, 70,106,108,209,200,168, 74, 41,215,
-164,189,189,215,168, 38,181, 91,167, 78, 29,158,128,141, 25,229,218,171, 86,106, 51,223,189,110,165, 15,143, 92,165,222,180,110,
-123, 64,159, 13, 75, 39,241, 76, 77, 77, 17, 22,243, 14,171,127, 61, 45, 83,168,181,125,115,162,175,124,147,225, 49,154,166,161,
-213,106,245, 94,232, 80, 1,150,183,108,217,210,125,227,198,141,174, 19, 39, 78,196,215,122,178,202, 34, 33, 73,228,231, 84,171,
-126,147,119,241, 97, 94,150,198,156,147, 95, 83,158, 6, 24, 96,128, 1, 6,252,207,160,127,177, 51,103,122,153,191,225, 85, 10,
-173, 18,196,100, 65, 14, 96,125, 61,166,244,192,138,141,219,215, 48,136, 29,147, 40,154,254,141,100, 96, 93,162, 24,217, 95,105,
-156,156,205, 2,217,103,200, 88, 22, 0,176, 89, 53,235, 32,139,241, 22,192,240,195,143,159,183, 59,252,248,249, 15,197,159,109,
- 0, 80,173,177, 92, 19, 22, 98, 60,154,212,119,234,218,186,169, 17, 83,167, 64, 90,220,123,228,202,148,184, 29,155,156,199,160,
- 25,191, 85,215,168,196,196,196,251, 0, 96,103,198,143,235,218,164, 65,237,110,109,154,242,217,132, 26,105,175,194,144,175, 80,
- 35, 40, 54, 57, 31, 4, 81,227, 9,213,223,202,222,204,232, 63, 94,252, 9,162, 23, 65, 16,119, 86,250,142,225,173,249,245,204,
- 55, 21, 89, 0,228, 34,145, 72, 44,151,203,173,210,211,211,213,168,121,144,184,119, 5, 5, 5,205, 23, 44, 88,176,126,201,146,
- 37, 75,183,108,217,194,169,201,156,172,138, 32, 17, 37, 95,238,214,244,219,213,191, 1, 6, 24, 96,128, 1,255, 19,152,254,217,
- 95,232, 45,180, 74, 5, 67, 22,178, 1,204,169, 95,159, 94,148,144, 0,245,183,178,172, 60, 79,215, 87,226, 5,128,129, 53, 62,
-155, 65, 20, 62,125,155, 44,125,246, 54, 89, 10,138,166, 41,154, 86, 49, 24, 72,149,105, 52,155,222, 38,138,106,190,234,142, 32,
-116, 47,222,165, 40, 94,190, 79, 85,210, 20, 69, 83, 52,173, 38, 8,124,212,106,169, 77,177,137,201,127,252, 55,216,155, 19,125,
-229,113, 32, 73,116,125,252, 44,102,145, 76,166,217,147, 19,119, 37,244, 27,214,139, 54, 58, 58,122, 92,167, 78,157, 38,235,116,
-186, 3, 0,180, 95,193,165, 38, 73,114,249,230,205,155, 47, 69, 71, 71,159, 11, 13, 13,205,248, 22, 34,235,111,173,127, 3, 12,
- 48,192, 0, 3,254,173,168, 89, 82,233,138,240, 45, 69,214,127, 35, 98,222,125,104,243,119,240,198,190,251,208,236,159, 96,111,
-102,220,229,151,153,128,207,223, 84,188, 65, 58,157, 46,232, 91,138,234,155, 55,111,186,160,156,180, 58,255,109,245,111,128, 1,
- 6, 24, 96,192,191, 22,211, 43, 18, 95, 44, 67,217, 24,240, 47, 0,253,173, 68,150, 1, 6, 24, 96,128, 1, 6,212, 0, 21,122,
-180, 8, 84,188,114,224, 78, 53,126,160, 38,171, 15,238, 24, 56, 13,156, 6, 78, 3,167,129,211,192,105,224,252,159,227,252, 55,
-194, 1, 69, 19,226,175, 21,255,173, 84,124,125, 75, 24,150,190, 26, 56, 13,156, 6, 78, 3,167,129,211,192,105,224,252,183,163,
-220,137,240, 64,209,228, 97, 3, 12, 48,192, 0, 3, 12,248,187,192, 43,222,106,250,189, 1, 6,252, 19,197, 86,169,224,170,201,
- 28,173,134,197,127,223,253,141,198,250, 58, 56, 56, 76,111,209,162, 69, 99, 14,135,195, 40, 44, 44, 92,119,239,222,189,181,159,
- 31,212,181, 9,235, 37,147, 1,231,191, 62, 33, 0,130, 9, 48, 24,208,209, 72,123, 24,165,104,107,168,247,255,106,212, 49, 54,
-181,249,147, 96, 48,185, 58, 82, 3,157, 86,131,162,233, 86, 69,160, 40, 50, 89,167, 81,121, 87,116,178,125,203,161,181, 73, 29,
-181, 5,160,247, 2,140,217, 0,181,143, 0,107, 22, 13,114, 63, 1,230, 76, 48,233,159,161, 35,150,177,216,204, 21, 25,225, 23,
- 82,255, 13, 5,118,254,252,121,230,215,156, 63,114,228,200,114, 19,136, 58, 58, 58, 6,242,249,252, 6, 21,157, 39,147,201, 50,
- 50, 50, 50,188,254,229,237,177, 27,128,221, 0,154,126,246,249,107, 0,243, 1, 4,127,237, 15,120, 2, 44, 59, 96, 6, 7, 88,
- 6, 0, 26,224,231, 76,224, 96,200,127,209, 28, 67, 27, 27,155, 7, 44, 22,203, 85, 38,147,201, 10, 11, 11,235,155,152,152, 36,
- 8, 4, 2, 1, 73,146,111,179,179,179,187, 85,147,110, 54,254, 74,165,181, 20,192,190,106,126,111,128, 1,255, 20,124,213,170,
- 67,183,162,231, 3, 60, 1,116,107,215,174,157,157, 76, 38,195,235,215,175, 51, 1, 60, 0, 16, 82,188,189,249, 22,150, 50, 24,
-140,109,219,183,111, 95, 60,119,238,220,210,100,208, 81, 81, 81,104,217,242,203, 24,161, 76, 6,156,239, 93,189, 99,251, 34,250,
- 13,218,245, 26, 81, 44,180, 24,128, 44, 3, 94,189,219,215,212, 4, 19, 11, 11,139,117, 4, 65,140,100, 48, 24, 85,118,106, 20,
- 69,233,104,154, 62, 47,145, 72,214, 0, 40,172,206, 15, 9,248, 60, 45,169,211,149,251, 27, 44, 38, 83, 39,147,171, 42, 12,123,
- 97,105,105, 25,202, 96, 48,234,149, 77,152, 13,124,154, 64,187,162,239, 72,146, 76,203,201,201,209, 71,132, 26, 49, 88,156,249,
- 4,193,233, 13, 6,229, 6, 16, 32,192,120, 67,233,212,183, 41, 82,179, 19,128,242,107, 68,150, 67,173,250, 15, 23,174,218,236,
- 28, 19,247, 26, 43,125,199, 98,203,238,227, 88, 49,127, 50,118, 30, 58,141,249,211,199,160, 73,147,166,168, 44,173, 56, 5,206,
-166, 85,243, 70,246,242,223,123,206, 99,197,156,145, 60,255,189,231,187,174,244, 29,205,221,180,231, 92,215,149,190,163,120,254,
-123,206,121,172,152, 55,210,120,211,190, 11, 20,128,241, 53, 49,114,140,171,163,140, 32,201,114,223,182,105, 22, 75,117,250,109,
-186,224,255,227,142,158, 56,113, 98, 11,133, 66, 17, 54,182,119,235,205,173,220,156, 68,229, 29, 35,254, 40,114, 74,136, 15,247,
- 99,115,140,219, 12,246, 59, 30, 85,169,203,129,199,171,247,250,245,107, 87,138,162,160,211,233, 64,146,100,233, 95,181, 90,141,
-110,221,186,125,171,133, 51, 3, 1,172, 43,186, 89,225, 15,224,220, 87,112, 9, 89, 44,214, 66, 46,151,235, 73,146,100, 99, 0,
- 96,179,217,113, 42,149, 42,132, 36,201,237, 0,164,213,228,219, 33, 18,137,154, 8,133, 66,104, 52,154,210, 4,244, 76, 38,179,
- 81,237,218,181,247, 42,149, 74,215,175,189,120, 59, 96, 70,103, 15,143,157, 19, 22, 47,102, 42, 30, 60,192,206, 99,199,118,160,
-160, 0, 0,246, 86,117, 46,151,203,189,197, 96, 48,234, 84,231,247, 40,138, 74, 86,171,213,222,213, 57,135,197, 98,185,166,167,
-167,219, 58, 58, 58,162,176,176, 16, 2,129, 64, 80,178, 95, 3, 79,214, 86,154,166,141,139,159,237, 59, 59,118,236,216,137, 32,
- 8, 18, 0, 77, 81, 20,227,217,179,103, 99, 40,138, 98, 21, 63,159,182, 2, 56, 6, 64,101,232,179, 13,248,135,122,179, 14, 85,
- 87,104, 93, 7,224,217,174, 93, 59, 99, 31, 31, 31,120,122,122,194,213,213, 21, 70, 70, 70, 69, 15,113,177,216, 46, 34, 34, 98,
-212,131, 7, 15, 70, 93,189,122, 21,175, 94,189, 82, 0,120, 4,160,220,155,186,231, 0,143,185, 70, 66,222, 46, 0,200, 78, 19,
-103,164, 37,102,237,202,200,200,216, 10,160,108,136,240,250,227,199,143, 95, 52,111,222, 60, 4, 6, 6,226,244,233,211, 80,169,
- 84, 40, 44,172, 68,191,200,179, 32,185,187, 25, 16, 36, 1, 41, 33, 0,223, 22, 16,216,213,184,164, 44, 44, 44,214,205,159, 63,
-127, 65,147, 38, 77, 74,163,152,107,181, 90,144, 36, 9,173, 86, 11,137, 68,130, 69,139, 22, 21,117,180, 52, 13,138,162,112,227,
-198,141,185,211,167, 79,135, 68, 34, 89, 88, 30,103,199, 54,181, 94, 50, 8,134,115,137,175,134,214,233,210,158, 70,164,181, 37,
-117, 58,166, 82,169, 41, 55, 83,185,145, 17,167, 82,145,199,102,179,157, 95,253,249,167, 45,131,203, 5,173,211, 1, 20, 5,154,
-162,138,139,179,120,163,139, 62,163,117, 20,104,173, 14, 20, 73,129, 84,168,208,126,246,108,125,138,162, 51,155,107,124,122,220,
-180,197,246, 29, 58,118,100,215,173,229, 8, 82, 71,225,125, 82,154,125,216,203,167, 93,206,255,190,119,150, 90, 81, 56, 6, 64,
-141,226,108,113,249,166, 65,123,246, 31,118,126, 17, 17,131,224,123, 15,112,231,110, 8, 0,224,214,189,208, 18,193, 93,101, 85,
-129,148, 54,159, 63,101, 8,111,243,158, 51,236,249, 83,134, 50,183,236, 57,203,158, 55,121, 48,115,243,174,211,156,121,147, 7,
- 51, 55,239, 62,205,153, 55,101, 8,211,127,231,209, 22, 0, 44, 0, 72, 42, 34,171,168,142, 8,146,228,157, 76,200,100, 2, 64,
-246,129, 3,208,102,101,193,113,205, 26, 0,192,184,250,118,122, 15,119, 88, 91, 91,191,100,179,217,206, 85, 29,167,213,106,171,
- 20,193, 19, 39, 78,108,169, 80, 40, 94,146, 36, 73,179, 88, 44,191,177, 67,251, 92,233,219,181,165,184,236, 49, 81, 81,145, 86,
-155, 54,253, 57,228, 92, 88, 33, 61,170,141, 73, 88,224,182,137,109, 7, 44, 57, 30, 89, 73,135,204, 80,169, 84,120,251,246, 45,
-202, 38,121, 47, 3, 93, 77,223,157, 0,236,180,178,178,234, 32, 22,139,199, 1, 88, 89, 80, 80,208,130,201,100,194,210,210,114,
-165, 90,173,126,111,102,102,118, 36, 63, 63, 63,180,216,107,164,111,202,128,110,166,166,166, 1,151, 47, 95,182,104,221,186, 53,
- 35, 39, 39, 7, 46, 46, 46,200,205,205,109,255,224,193,131, 54, 83,166, 76,153, 82, 88, 88,248,125,241,203,160,190,112,231,243,
-249,244,132, 9, 19, 8,157,238,175,203, 61,122,244, 40,188,155,145, 13,108,204,249,114,165,154,206, 15,126,107, 54,147,195,225,
- 60, 74, 78, 78,206,175,110, 97,112,128,101, 19, 22, 47,102, 10, 63,124,128, 48, 50, 18,227, 10, 10, 88, 91,138,188, 91, 85, 10,
- 45, 6,131, 81, 39,224,244,111,174, 92, 46, 23, 36, 73,150,138,193,146,103,148, 86,171,133, 70,163,129, 86,171,133, 78,167,131,
- 86,163,133,255,134,159,107,252, 44,228,243,249,124, 7, 7,135, 76, 62,159,207,255, 22,189, 16,143,199, 99,253,254,251,239, 99,
-184, 92, 46, 0, 64,173, 86,163, 89,179,102,132,161,127, 54,224, 95, 38,182,190,240,114, 85, 38,180,250, 21, 20, 20, 64,167,211,
-193,196,196, 4, 76,230,167,253,190,149,149, 21,122,247,238,141,110,221,186,193,199,199, 7,175, 94,189, 50,246,241,241,233, 93,
- 17,217,216,197, 3, 80,203,213,174,184, 51,161, 28, 30, 95,139,216,124,244,167, 11, 54, 31, 63,126, 92, 92,230,176, 41, 51,102,
-204, 32,196, 98, 49, 70,142, 28,249, 64,165, 82, 13, 2, 80, 80, 17,167,142, 66,154,151,207, 56, 80, 52, 97,188,253,217, 97, 66,
-173, 84,208, 12, 6, 67, 81, 50,116, 88,147, 82, 34, 8, 98,164,163,163, 35,206,156,249, 63,246,190, 59, 46,138,107,125,255,153,
-217,190, 44,189,131, 10, 42,136,130, 32,216, 16,108,216, 53, 17, 19,107,188,246, 36, 38,222, 36,150, 88, 18,177, 69, 99,131,196,
- 26, 19,141,154,196, 88,174, 13,187,216, 98,197,196,174, 40, 82, 20, 20,105,194, 2, 75, 95,216, 54,187, 51,243,251, 3, 88, 1,
-217,130,201,253,221,251,189,217,231,243,217,207,238,236,204,190,123,230,156,153, 57,207,121,222,247,188,231, 32, 52,154,215,211,
-133,217,218,218, 34, 57, 57,249,149,170,198,225, 32, 44, 44,140, 67, 16,196, 56, 0,115,155,182, 73,182,188,113, 47,203,181,110,
- 59,114,112, 32, 63,172, 43, 89,152, 95, 88,205, 2, 32,150, 44, 89,162, 39,110, 0,240,245,215, 95,155, 83, 78,144, 60, 30,100,
-241,241,175, 30,196, 92, 18, 36,159, 0,193, 3, 72,110,141, 23, 21, 44,192,210, 0,163, 3, 24, 45, 32,242,104,101, 78, 53,132,
-182,240,242,139, 91,187,113,155,189, 90,203,226,224,201,203,200,204,124, 1, 14, 73,194,199,215, 15, 67,250,245,225,117,237, 30,
-222,234,219, 21,243, 79,231,231, 60,123, 11,192,221,102, 87, 52,195,138,124,189,156,241,243, 47, 15,224,226, 96,141,113, 35,223,
-134, 88, 36,196, 55,223,255,138,213,139,102,194,207,199, 27, 59, 54,175, 49,248,115, 59, 59,187,149, 1,126,190,222,219,246,156,
- 65,128,191, 63,103,219,222, 51, 8,232, 88,251, 30, 24,192,217,182,247, 12, 58, 6,118,228,108,219,123, 6,193,129, 29, 90,223,
-151,222, 89, 89, 90, 90, 58,211,112,125, 54,106,163, 33, 53,109,196,171, 98,244, 29, 65,214, 39,159, 0,128,158,104, 53, 7, 60,
- 30,175,101,126,126,190,171,169,227, 76,169, 6,181, 74,214,125,157, 78,135,162,162, 34,162,188,188,156,181,183,183, 31,121,126,
-199,226,227, 67,123,135,148, 2,192,163, 71,143, 28,163,163,215,142, 60,116,191, 18,202,219, 63, 16,255, 58, 21,207, 76,122, 39,
-226,254,201,152,105, 93, 81,187, 36, 68, 99,168,213,234,204,206,157, 59,179,181,159, 91, 8,133, 66,126,163,235,205,179, 93,187,
-118,175,169,214,102,184, 20,191,187,117,235,214,204,142, 29, 59,194,223,223,255,102,143, 30, 61,108, 37, 18, 9,206,159, 63,143,
-128,128,128, 64, 91, 91,219, 59,177,177,177,188,133, 11, 23,134,236,218,181, 11, 0,102,153, 81,157,131,250,247,239,127, 48, 46,
- 46, 78,196,231,243,161, 84, 42,145,156,156, 12, 59, 59, 59, 8, 4, 2,188,251,238,187,156, 94,189,122, 57,245,235,215,239,104,
- 90, 90,218, 4, 52, 99, 6,148, 74,165, 98, 23, 47, 94, 12, 43, 43, 43, 88, 89, 89, 65, 34,145, 64, 34,145,192, 90, 4, 98,251,
- 28, 47,241,236,157,229,226,185,203,183,199,236,221,182,226,106,171, 86,204, 87,185,185,185,229,205,189, 22,148,215,175,195,250,
-209, 35,160,222,189,107, 46,236, 36,142,136,138,138, 50,165, 72,129,207,231,163,103,207,158, 38,237, 57, 58, 58, 30,227,114,185,
- 13, 70,166, 58,157, 78, 20, 21, 21, 69,167,165,165, 73, 72,146,148, 48, 12,131,168,168, 40, 90,167,211,137, 92, 93, 93,111, 50,
- 12, 83, 88, 92, 92, 60,218,140,226,170, 1,124, 65,146,228,119, 66,161,144,219,186,117,235,236,101,203,150,221,170, 85, 51,193,
-178, 44,217,186,117,235, 80,177, 88,236,173, 86,171,117,168,113, 29, 90,212, 44, 11,154, 4,203,178, 93,107, 68, 97, 61, 52, 0,
- 4,181,159, 75,106,122, 59, 56, 55,250, 30, 0,138,107, 7,138,110, 6,182, 75, 0,164, 0,232, 0,192,181,118,223, 61,130, 32,
- 74,223,160,152,134, 21,173,184,184, 56,253, 16, 54, 50, 50, 82,223,177,216,216,216,224,222,189,123, 32, 8, 2, 54, 54, 54,176,
-181,181,133,157,157, 29, 42, 43, 43,145,146,146,130, 39, 79,158, 32, 43, 43, 11, 4, 65,192,199,199, 7,117, 55, 80, 61,232, 31,
-112,251, 55,196, 65,100, 45, 4, 65, 0, 93, 6, 4, 35,184,111, 16,186,223,205,152,115,255, 18,177, 83, 42,149,166, 3,224, 6,
- 5, 5,125, 24, 22, 22,134,141, 27, 55, 66,173, 86,111, 52, 64,178,244, 54,127, 79,209,117, 3, 0, 15, 15,143, 5,251,206, 63,
-183,154, 60,204, 87, 33,149, 74,215,191, 65,229, 52,120, 16, 23, 23, 23,155,189, 22, 31,195, 48, 40, 43, 43, 51,106,179,177, 66,
-176,233,187, 31,236,229, 21,133, 88,245,205, 62,104,181, 90,204,159, 63, 31, 12,195,232, 95,229,229,229,102,149,147,165,233,215,
-181, 3,178,198,123, 74,112, 1,175,241, 53,188, 34,231,224, 15, 32, 88,128,160, 1,188,126, 94,141, 59, 33, 17,135, 47, 62,180,
-226,155, 45,246, 9, 79, 94,226,228,229, 4, 80,149,121,144, 62, 58, 94, 35, 57,246,156,128,195,106, 14,122, 4,251,226,243, 37,
-223, 58, 44,253,124,202, 33,141, 82,238,143,134,110,196, 75,166,111, 26, 26,171, 86,174,196,206, 45, 27,241,237,198, 45,168,172,
- 40, 7,143,231, 92,251,160,167, 65,211,180,241,115,103,217, 97, 81,115,222, 39,190,249,241, 24, 66, 59,122,224,232,249,187,232,
-221,217, 27,199,127,187,143,190, 93,219,224,228,165, 4, 12,232,225,139,179,241, 73,248,124,198, 4, 98,194,133, 93,195,154,211,
- 70,155, 55,255, 96, 47,175, 44, 68,220,154, 61, 40,218,186, 21,217, 51,103, 34,180,246,152,187, 4, 1,126,203,150, 0,223,116,
- 27, 53, 70,106,106, 42,212,106,117, 83,163,125, 4, 4, 4,152,108,119,165, 82,249, 64,167,211,177,133,133,133, 68, 97, 97, 33,
- 36, 18, 9,145,156,156, 68, 7, 6, 6,141, 98,159, 28,249, 9, 0,162,163,215,142, 58,252,160, 18,138,155, 91,160,188,245, 61,
-248,109, 18,201,157, 95,207,160, 62, 94,190,227, 65,189,123,180, 65, 57, 11, 10, 10,222, 42, 40, 40, 0, 0,180,109,219,246, 73,
- 90, 90, 90,135, 58, 87,115,173, 11,145,175,211,233,252,234,220,137, 58,157, 14,106,181, 26,131, 6, 13,226, 24, 59,119, 7, 7,
-135,176,128,128, 0, 36, 36, 36, 96,203,150, 45,142,253,251,247,199,179,103,207, 64, 16, 4,214,174, 93, 75,116,236,216,145, 87,
- 92, 92,140,161, 67,135,226,216,177, 99, 61, 43, 43, 43, 77,213,167,141, 68, 34,217,117,250,244,105, 17, 73,146,144,203,229, 96,
- 24, 6,189,122,245, 2, 73,146, 72, 74, 74,194,146, 37, 75,112,236,216, 49,156, 56,113, 66,220,181,107,215, 93, 10,133, 34, 0,
- 13,221,250,134,218,136, 85,169, 84,172, 80, 40,132, 80, 40,132, 72, 36,130, 72, 36,130, 64, 32, 64,149, 10,248,120, 83,182,154,
- 35,114,102, 2, 59,247,246,125,127,246, 90,114,253,178, 15,174, 0, 56,105,238, 53, 15,212,196,100,125,247,235,175, 91, 38, 85,
- 84,144, 0,240, 51, 65, 48, 20,203,126,107,206,253, 14, 0, 85,170, 10,120,251,180,196,209, 67, 39, 48,102,252,200, 38, 73, 22,
-143,199, 7,159,199,131,173,163,196,164, 77, 62,159,239,246,228,201, 19, 39, 30,143, 7,150,101, 65,211, 52, 40,138, 42, 92,186,
-116,169,203,240,225,195,109,206,157, 59, 71, 14, 31, 62,156,113,112,112,168,190,123,247,110,145, 78,167,115,234,211,167, 79,115,
-174,249,109,193,193,193, 93,142, 31, 63,254, 65, 84, 84,212,253, 5, 11, 22,172,170,191,115,221,186,117, 43,207,158, 61,235, 61,
-106,212,168,189,143, 30, 61,218,214,156,103,200,159,125,206, 91,108,254,247,217, 52,196, 69,106,225, 70, 16, 68, 92,189,103,118,
-100,221,118, 84, 84,212,226,232,232,232,100,130, 32,226,234,127, 95,119, 92,237, 96, 49,174,169,237,218,223, 58, 46, 90,180, 40,
- 40, 38, 38,102,109,120,120,248,193,155, 55,111,190, 0,208, 92,162,101, 60, 70,171,238,132,234,159,100,163, 78, 13,149,149,149,
-168,172,172, 68,110,110, 46,182,111,223, 94,123, 67,243,192,229,114,193,229,114,245,241, 12,134,112, 57,238,143,239, 1,124,223,
-165, 75, 23,222,227, 91,177,231,190,220, 57,123, 96,183, 65, 93, 56, 15, 46, 63, 30,139,154,245, 8,223,154, 58,117,170, 51, 0,
-236,217,179,167, 24,192,185,255, 16,107,142, 77, 79, 79,255,220,195,195, 67, 31,163, 82,223,125,168,211,233, 32, 18,137, 80, 23,
-203,162, 82,169,176,125,251,118, 29,203,178,177, 70,108, 34, 45,249, 10,210,147,175,214,252,142, 97,192,208,175,126,191, 98,197,
- 10,176, 44,171,239,236, 63,169, 85, 78, 76,146,188,166,234,156,109,244,222,232,123,150,166, 77,184, 39,248,179,199, 78,153,233,
-193, 16, 92,156,186,242, 16, 60, 30, 15, 76, 61, 53,147,199,169, 25, 45, 39, 63,203,135,167, 91, 32,222,153, 48,195,253,248,222,
- 31,102,235, 40,213, 55,205,173,107,255,224,112,204,249,252,115,252,180,115, 39,150, 44, 95,169,103, 0, 58,154,134,206,100, 57,
- 73,114, 80,175, 32,232,170,242,193,225,112, 48, 32,212, 23, 28, 14, 7,131,195,219,131,195,225, 96,104, 47,127,112,185, 92, 12,
-235,221, 17,237,218,181, 3,151,203, 37, 77,180, 59,210,146, 47, 35, 61,249, 90, 61,210,203,130, 5, 64, 73,165,175, 29,175,149,
- 74,193,122, 57, 53,247,218,194,135, 31,126, 88,158,155,155, 75, 53,222,215,170, 85, 43,254,245,235,215,237, 13,184,237,244, 16,
-139,197, 93,185, 92,238,131,210,210, 82,198,202,202,138,100, 24,154, 9, 12, 12,226,156,223,177,248,120,221, 49,139, 22, 45, 62,
-254, 94, 87,219, 81,251, 98,227, 88,126,235,222, 4,193, 19,234, 62, 90,190,131,207,227,139,187, 2, 74,115, 6, 15,164, 90,173,
-198,211,167, 79, 97,170, 60, 44,203, 26,117,253,148,149,149, 77, 13, 8, 8,184,254,253,247,223, 59, 18, 4,129,223,127,255, 29,
- 28, 14, 71,255,202,200,200, 0, 73,146,248,242,203, 47,169,202,202,202,233,166,202,198,229,114, 63, 63,122,244,168,157, 64, 32,
-128, 92, 46,215,223, 55, 28, 14, 7, 79,158, 60,193,250,245,235, 49,117,234, 84,228,228,228,192,211,211, 19,243,231,207,183,142,
-137,137,249,156,162,168,149,102, 52, 81,162, 70,163,233,102,101,101, 5,145, 72,132, 58,194, 5, 0,191, 37,243,146,148, 74,101,
- 39, 39, 39,133,187, 75,124,220,169,158,253,223, 9,113,114,241, 8,151, 74,165,205, 90, 58,235, 57,176, 51,147,166,151,190,117,
-252,184,235,141,227,199,153,219,167, 79,191, 20,202,229, 59,204,190,134,180, 36,178, 51, 94,162,107,215,174,120,240,224, 1,186,
-118,237, 90,159, 52, 65, 32, 16,128,207,231,131,207,231,195,217,193,172, 16, 10,150, 36, 73,220,184,113, 3, 52, 77, 67,163,209,
- 64,163,209,160, 99,199,142,165, 87,175, 94,181, 6,128,140,140, 12,118,242,228,201,229,119,238,220, 65,231,206,198,215, 83,119,
-115,115,187,206,225,112, 90,215,255,174,164,164,196, 97,244,232,209, 40, 43, 43,123,123,244,232,209,189,107,239,223,188, 35, 71,
-142, 76, 6, 0,129, 64, 0,146, 36,105, 88,240,183,135, 41, 46, 82,159, 40, 53, 38, 92,209,209,209,145,141,191,171, 79,170,154,
-250, 92,255,183, 49, 49, 49,107,235,217, 86,190, 65,241, 77,199,104,197,197,197,177, 77, 48, 72,179, 97,138,104,213, 33, 33, 33,
- 65,235,233,233,249, 83,250,195,172,129,190,193, 62, 16, 75,132, 67, 0,124, 47, 20, 10,231, 77,153, 50, 5,183,111,223, 70, 82,
- 82,210, 47,248,147,179,112,130,130,130, 46, 8,133, 66,111, 3,110,146,236,164,164,164,161, 6, 58,134,229,167, 79,159,134,177,
- 96,248, 43, 87,174,212,239,148,234, 7,195, 55,125, 97, 48, 44,180,148, 22,213, 10,229,171, 78,188,150,104, 85, 87, 87, 99,252,
-248,241, 13, 20,173,162,162, 34,147,231, 71, 16, 4,214,159, 60,137,139,177,177,120, 59, 36, 4,199,238,222, 69,204,148,137,240,
-247,110, 1,150, 38,192, 18, 64,206,129, 31, 80, 82, 89,133,253,151,111,160, 84,174,192,164, 62,125,224,103,235,108,220, 46,143,
- 63, 56, 52, 44,156,127,233,102, 10,120, 60, 46, 72, 48, 96,181, 10,120, 6,244, 3,135, 36, 97,231,214, 6,124, 30, 15, 60, 30,
- 23, 25,185,197, 8, 8,234, 46,136, 19,136, 6,191, 9,209,106,229,221, 6, 52, 77, 99,234,212,169, 56,120,240, 32,156,220,189,
- 97,215, 42, 8,171, 55,238,196,219,131,250,152, 60,255,186, 17, 60,151,203, 5,135,195,121,237,189,238,179, 57,234, 36,203,176,
-160, 26,183, 17,195, 2, 44,139,150,107,214,160,229,154, 53,184, 91,251,159, 29,171,171,161, 84, 42,129, 30,129,205, 34, 89, 26,
-141, 6,185,185,185, 84, 65, 65,129, 91, 19,251, 11, 53, 26,141, 73, 98,179,123,247,238,196,105,211,166,117,115,116,116,188,159,
-248,232,145, 54, 56, 36,132,119,110,251,226, 19,117,110, 67, 0, 8, 9, 9, 41, 93,188,120,241,137,201,227, 34, 71,110,139,250,
- 7,253,233,202,189, 92,161, 88,220, 45,114,193,238,196, 3,227,198,153,246,247,168,213,153,193,193,193,172, 57,231,165, 80, 40,
- 10,140,236, 30, 1,224,235, 46, 93,186,216,246,239,223, 31,215,175, 95,199,152, 49, 99,212, 20, 69,165, 3,192,240,225,195,219,
-239,223,191, 95,144,146,146, 2, 23, 23, 23, 94,118,118,246, 46,152, 8,144, 23, 8, 4,253,186,119,239, 78,170,213,234,215, 72,
- 86, 76, 76, 12, 38, 76,152,128,246,237,219,131, 97, 24, 84, 85, 85,161,127,255,254,188, 45, 91,182,244, 51,147,104,205,241,247,
-247, 95,143,154, 89,135,245,159,133,169,168,113,107,161,164,164,164,224,225,157,203,201,125, 6,141,238,214,186, 93,144, 71, 82,
-226, 3,163, 6, 93, 93, 93, 23,145, 36,249, 30,195, 48,156,202,202,202,220,135, 26, 77,187,142,222,222,110,189, 70,142, 68, 5,
-143,199,249,238,242,101,178, 80, 46,183, 6, 96,150, 11, 82,165,173,134,183, 79, 77,168,223,152,241, 35,241,224,193, 3,140,253,
-199, 40,240,249,124,112,185,188,154,123,147, 95,163,104,217, 59,219,154,117,109,106,181, 90,253, 51,188, 46,206,139,162, 40,212,
-133,102, 89, 89, 89,233,247,169,213,106, 16, 4, 97,236,218,240, 59,188,114,153,171,216,214, 14,180, 86,139,192,145, 99,245,215,
-244,157,159,183,137,193, 48,226,242,236, 76,204,138, 61,205,131, 5, 22, 24, 80,181,140,113,145,250, 68,233,207,130, 32,136,184,
-168,168,168,197, 0,216,168,168,168,197,117,219,209,209,209, 74, 0,121,111, 72,182, 94, 83,185,184,127, 5,201,170,115, 47, 24,
- 67,255,254,253,103,217,216,216,108,169,219,206,189,157,135,220,219,121, 8,232, 16,216,171, 75, 72,183,138, 9, 19, 38,192,201,
-201, 9, 11, 22, 44, 96, 1,252,210,220,255,207, 72, 75,182, 6,192,122,120,120, 44,168,125, 32,135,220,189,123,215,229,222,189,
-123,232,222,189,251, 43,233,158,162,208,187,119,111, 99,166,228,181, 65,237,115,255, 58,149,140, 1, 69, 81, 80, 40,148,208,104,
- 40,232,180, 12,116, 58, 29,186, 6,218, 96,239,206,168,154,239,116,117,234, 89,141,106,214,210,221, 6, 54,214, 60, 45, 73, 18,
-202,251,137, 5, 77, 62, 49, 53, 26, 13, 18,179,179,241, 40, 43, 11, 0,240, 78,180,241,192,215,189,151,175,163, 99,199,142,166,
- 74,235,219,210,211, 29,249, 23, 19,107, 30,222,202, 92,220,251,227, 48,108,108,172, 1, 0,129, 17,147,192,231,215, 16,173,106,
- 37, 5,231, 14,173, 64,176,172,193,180, 0, 86, 14,238, 23,184,124,145, 55, 75, 51, 96, 89, 6, 44, 67,131,101, 25,112,120,124,
-171, 89,159,124, 0,134,161, 17, 26, 26, 10,130,195, 1,173, 85, 99,220,136,193, 40,171,144,195,201,222,188, 78,130,207,231, 35,
- 34, 34, 66,108,104,255,179,103,207,148,245,137,153,241, 54,210,162,186, 90, 9,181, 90, 13, 74,163, 3,165,213,129,110,203,199,
-170,165, 19,161,163,116, 80,252, 35, 28,148, 86, 7,230,243, 81,160, 52, 90,228, 88,145,100,112,128,179,150, 4,161,124,152, 42,
-179, 53, 69,180,234,200,129, 33, 52, 21, 19,104,128,108, 61,154, 54,109, 90,215,224,144,144, 7,239, 13, 10,217,240, 56, 41, 57,
-255,113, 82,242,107,199,121,183, 15,201,252, 52,230,224,124, 30, 95,220, 53,114,129,241, 89,135,245, 81,223,141,248, 39,177, 88,
- 46,151, 7, 91, 91, 91, 35, 45, 45, 13, 28, 14, 7, 4, 65, 60, 3, 16, 12, 0, 30, 30, 30,207,185, 92,174, 15,135,195,193,214,
-173, 91, 9, 46,151,219, 41, 60, 60,124,177, 74,165, 58,108,100, 64, 23, 96, 99, 99,211, 64,205,226,243,249,136,138,138,194,228,
-201,147,245, 36,139,207,231, 99,247,238,221,232,214,173, 27, 52, 26, 77,128,153,229,189, 7,160,143, 25,138, 31, 81, 75,206, 77,
-146, 81,157, 78, 55,173,228,189,247,218, 33, 62, 30,189,124,124, 58,118,237,218, 21, 20,245, 74,208,244,241,241,105, 37,151,203,
- 11,148, 74,229,191, 80,147,218,224,161, 81, 82,164, 98,144,157, 81, 19,126,250,224,193, 3,132,134,134,234, 21,172,250,106, 22,
-159,207,135, 88, 96,221, 44,162,197, 48, 53,207, 37,185, 92, 78,198,199,199, 59,251,251,251, 19, 0,224,239,239, 79, 60,124,248,
-208,209,202,202,170,216,215,215,215,228, 0, 88,108,107,135,221,211,198, 3, 0,190, 26, 52, 76, 63, 48, 58,255,245, 98,240,120,
- 60, 12, 92,176,248,181,235,158, 97, 24, 14, 44,176,144, 44, 51,184,200, 95, 69,178, 26, 43, 90,209,209,209,201,209,209,209,175,
-169, 99,205,132,105, 69,171,190,116,215, 92,212,221,172,134,176,113,227, 70,116,234,212,201,104, 71,180,101,203, 22,236,219,183,
-111, 35,128,140,102, 75,142, 3,187, 4, 98,211,241,100,159,246,129, 4, 0,172,252,124, 4, 89, 93, 93,141, 27, 55,110,192,206,
-206, 14,207,158,153,157,246,203,198,206,206,238,107,146, 36,199,113, 26,207, 0,104,154, 96,210, 12,195,196, 86, 84, 84, 24, 76,
-239,192,178, 0,165,213,161, 90,161,130, 70,163,193,231, 95,254, 96,178, 16,209, 0, 65,105,228,220,136,190,225, 98, 67,138, 78,
-104,167,126,248,108,138,245,107,157, 55,135, 4, 72, 18,232, 28, 90,163,184, 60,188,155, 12,134, 1,104, 6,112,118,117,192, 47,
- 7, 54, 24, 37,249, 58,154,169, 29, 29,211,168, 82,211, 8, 8,139,196,203,212,120,189,130, 36,224,215,184,140,249, 60, 30, 24,
-150,168,201,250, 96,136, 8, 9,196,222,101,210, 12,191,157,113,143,241,113,100, 39, 28,185,148,136,177,131,130,113,245, 78, 10,
-250,247,232,136,228,244, 44, 4,250,181,198,214, 93,177, 96, 89,200,127,220,180,186,224, 85,135,166,203, 54, 71,209,186,125,251,
-182,178,177,138, 85,255,157, 53,221, 31,130,101, 95, 41, 90, 74,149, 26, 11, 22,153,149,206,167,166,141,250,132,137,205, 57,216,
-152, 98,101, 14, 17,107,172,108,193, 68,122,150,182, 0,186, 1, 11,255,147, 15, 78,154,166,113,230,204, 25,125,123, 52,213,142,
-245,219,206, 12,146,131,236,236,108, 36, 39, 39, 35, 44, 44, 12, 21, 21, 21,224,145, 36,230, 63,126,140,142, 83,166, 64,195,231,
-131, 97, 24, 8, 4, 2,204,152, 49,195,236,250,108,230,211,185, 54,152,155, 54,101,124, 67,120,120,120,187,180,234,106, 36, 63,
-121,130, 65, 43, 86, 0, 0,206,158, 61,219,224,154,152, 55,111,158, 32, 37, 37,229,195,251,247,239,127,152,159,159,191, 17,192,
-124,131,207, 89, 86,173,143,209,122,111,226, 24,180,243,111,139,125,191, 30,208,239,159,247,197, 28,240,120,124,240,248, 60,216,
-219,217,155,117, 54, 90,173, 86, 79, 90, 21, 10, 5,121,246,236,217,150,131, 7, 15,230,207,153, 51,135, 0,128,125,251,246,145,
-223,127,255,189,228,226,197,139,252, 22, 45, 90, 72, 77,146, 75,138,122,173,141, 9,130, 0,143,199, 3, 95,192, 7, 24, 6, 4,
- 65, 72,214,173, 91,183, 50, 57, 57,185,187,191,191, 63,212,106,245, 20,212, 76,212,176,228,209,178,144, 45,163, 92,164,169, 88,
-171, 90, 85,202, 16,100,245,227,182, 12, 17,181,250, 49, 91,120,179, 73, 25,230,197,104, 53, 5, 14,135, 99, 82,173, 34, 73,210,
-164,235,112,222,188,121,176,177,177, 49,212, 1,177,143, 31, 63, 78,145, 74,165, 59, 1,252,240, 70,141,115, 57, 33,249,235,185,
-163,228,168,245,173,218,219,219, 23, 15, 24, 48,160, 10, 0,117,248,112,195, 1,178, 90,173, 54,216,129,219,217,217,125,253,243,
-207, 63,207, 30, 57,114, 36,217, 56,197, 64,125,247, 94,221, 75,171,213,226,240,225,195,179, 23, 46, 92,136,138,138,138,185,198,
- 58,113, 69,181, 18,202,218, 64,232,231, 73, 71,204,125,168, 27,220,101,109,239,129,150,109,131, 13,118, 38, 36,191, 38,134,200,
-205,235, 85, 7,102, 99, 35, 2,109,196, 38, 65,144, 25, 89, 57,249, 45, 90,185, 59,226,121,174, 12,110,173, 59,161, 44,239, 85,
- 61,112,185, 28,240,106, 93,135,246,182, 18,200,138,138, 64,146, 28,163,196,120,245,254, 4,220, 73,202,194,209, 75, 15, 65,169,
-170,177,105,207,121, 80,234, 42, 80,170,106, 80,170,154,247,181, 11, 63, 2, 65,160, 64,171,174,110,223,156,118,231,114,185,232,
-209,163,135, 65,162,147,151,151,103,166,162,197,234, 21, 45,165,170,153,109,100,222,200,201,168, 98, 85,183,255, 77,137, 65, 93,
-202, 7,177, 88,220,109,247,110,195,105, 28,154,130,187,187,251, 57,107,107,235, 54,230, 30,223,140,228,165,107,237,237,237,191,
-246,247,247, 15,216,180,105, 19,143,195,225, 96,224,192,129,237,221,221,221,179, 1, 32, 48, 48,208,179,238, 25,243,233,167,159,
-178,183,111,223, 78,170, 25, 99, 24,134, 64, 32,120, 98,103,103,215,173,127,255,254,168,168,168, 64,110,110, 46, 36, 18, 9, 58,
-110,216,128,199,159,126,138,144,237,219, 65, 14, 24, 0,130, 32, 32, 16, 8,240,248,241, 99,136,197,226, 39, 42,149,193,148,111,
- 61, 0,124, 11,160, 23, 94,185, 11, 89, 0, 55, 80,147,118,225, 78, 19,207, 59, 18, 0,104,134, 49,213, 88, 19, 23, 44, 88,128,
-114, 30, 15, 24, 62, 28,252,140, 12, 80, 20,133,176,176, 48,189,202, 30, 22, 22, 6, 46,151,139,224,224, 96,120,122,122, 98,235,
-214,173, 19,141, 17, 45, 85, 21,133,236,140,151, 8, 15, 15,215, 43, 87,195,135, 15,215, 43, 90, 60, 30, 79,175,108, 17,180,105,
-226, 74, 16, 4, 91,127,144, 76,211, 52,193,229,114,185,115,231,206, 37,198,140, 25,195,106, 52, 26, 70, 32, 16,144, 71,143, 30,
- 37,174, 94,189,202,173,174,174, 54, 57, 16, 15, 26, 53, 14, 95, 13,126,171,230,222,111,227, 2, 30,159, 7, 1,159,143, 5, 79,
- 94,234,219,197,118,247, 65, 65, 76, 76,204, 88,127,127,255, 26, 55, 60,192,181,228,209,178,192,132,208, 35,107, 68,146, 52,245,
-182,101, 0,136,218,109, 89, 61, 66, 37, 35, 8,226, 30,203,178,221, 27, 29, 91,183, 95,211,232,189,110,255,163, 55, 40,126,221,
- 90,135,175,145, 47, 99, 35,226,244, 91,183,110,249,117,237,218, 21, 57, 57, 57,175,205,132,171,235,184, 36, 18, 9,196, 98, 49,
-110,222,188, 9, 0,233,134,140, 93,189,122,245,123,212,100, 93,174, 41,145,135, 71,120,255,247,250,221, 12, 29,214, 29,251,163,
- 15, 84, 72,165,210, 96,188,202,161, 67,120,122,122, 78,230, 9,184,227,125,130,188, 34,192, 48,223, 94, 62,125, 99,133,177, 51,
-244,105, 31, 88, 5, 64, 89, 55,235,240, 13,103, 31,130, 36,201,113, 35, 71,142, 36, 83, 82, 82, 48,126,252,120,236,219,183,207,
-224,177,147, 39, 79,198,193,131, 7, 49,114,228, 72,114,209,162, 69, 6,211, 59, 52, 84, 75, 52,127,217, 69,153,246,236, 17,246,
- 30,252,217, 96, 12,146,171,107, 77, 60, 86, 81, 81,177,254,187,238, 93,141,123, 70, 24,157,230, 98,194,253,187,225, 61,251, 14,
-228,231, 22,150,131,209,169,161,146,191,250,189,162,188, 16,172, 78, 5,190,149, 35,220,157,237,240,224,214,111, 26, 74,163,186,
-104,204,230,236,145,129,248,116, 68, 0,192, 50, 24, 53,255, 23,196,253, 48, 75, 63,130,238, 61,102, 14, 46, 31,254,206,236, 24,
-191,198,224,241,120,120,252,248,177,210,144,154,197,225,112,204,201,201, 85,171, 58,106,161, 80, 40,161, 80,170,254,202,103,135,
-139,155,155,219,143, 14, 14, 14, 34, 3, 68,202,197,197,197,229, 71, 39, 39, 39,145,185,174, 67, 67, 36,171, 54,175,214,253,105,
-211,166, 53,139,108, 9,133,194, 54,233,233,233,250,100,165,198,222, 53, 26, 13,250,247,239,111,110,242,210,211, 0, 94,120,120,
-120,220,232,216,177,163,221,243,231,207,113,224,192, 1, 62,143,199,243,170,123,126,200,229,114,112, 56, 28, 20, 21, 21,105, 1,
-124, 0, 19,174, 51,181, 90, 29, 31, 31, 31,223,121,196,136, 17,156, 39, 79,158,128,195,225,212,148, 43, 60, 28, 33,219,183, 35,
-105,238, 92, 68,100,101, 65, 69, 81, 16,137, 68,184,112,225, 2,165, 80, 40,226, 13,217, 19,139,197, 59, 51, 51, 51, 3, 69, 34,
- 17, 40,138, 2,195, 48, 32, 73,146,224,114,185,189,237,237,237,183, 0,232,222,168,177, 92, 67,186,247,239, 64,235,116,180, 52,
-231,185,204, 84, 5,148,148,148,224,244,233,211, 8, 11, 11, 67, 68, 68, 4,242,242,242,144,145,145,129,183,223,126, 91,127,204,
-163, 71,143,144,144,144, 0, 95, 95, 95,211,138, 30,169,133,111,135, 54,224,243,249, 53, 10, 17,143, 95, 59,240,225,233,149, 44,
- 62,143, 15, 30,151, 7,145, 88,100,182,162, 69, 16, 4, 72,146, 4, 65, 16, 16,139,197,117,131,108,166,101,203,150,210,210,210,
- 82, 15, 0, 13, 3, 10, 12, 0, 0, 32, 0, 73, 68, 65, 84, 28,177, 88, 12,154,166,205, 26,180,212,245, 17,117, 36,139, 47,224,
-235,149, 45, 0, 40, 47, 47, 87,141, 28, 57,242, 95,106,181,250,125,188,217, 10, 37, 22,252,205, 64, 16,196,189,255,196,111,155,
-129,225,181,196,234,181,160,120, 99, 23,248,219, 61,123,246,220, 62, 97,194,132,129,155, 55,111,134,181,181, 53,164, 82,169,190,
- 67, 20, 8, 4,104,213,170, 21, 74, 75, 75,177, 99,199, 14,188,124,249,242, 10,128, 25,230,150, 72, 42,149,222,126,246, 48,189,
-164,255,216,158, 78,129, 61, 59,216,231,166,191, 12,147, 74,165, 55,107, 73,214, 47, 19,230,189,253,126,255,209,161,224, 11,120,
-200,125, 86,128,203,167,111,252,127,105, 76, 14,135,195, 33, 8, 2,227,199,143, 55,235,248,127,252,227, 31,136,143,143,135, 49,
- 55, 35, 83,167,104, 41, 84,168, 86,254,117,131,181,207,102, 77,198,103,179, 38,235,201,132, 57,174, 23, 0,240,244, 60,100,132,
-104, 81,155,227, 14,237,248,184, 75,104,184,119,183,192, 54,184,115,255, 33,246,111,127, 37, 50,236,250,126, 37,190,217,117, 5,
-173,220, 28, 64,169,171,113,238,200, 79, 5,148, 90,177,249, 13, 69,185, 26,114, 75, 16, 96, 89,166, 89,231, 94, 71,158,120, 60,
- 30,130,130,130, 12, 42, 90,165,165,165, 74, 83, 29,131,190,141, 52, 90, 84, 85, 43,161, 84,252,101, 68, 43,164,119,239,222, 23,
- 99, 99, 99,157, 92, 93, 93,145,159,159,223,152,104,133,244,234,213,235, 98,108,108,172,147,155,155, 27,114,115,115,205, 78, 43,
-210, 4,201,130, 76, 38, 35,202,202,202, 24, 7, 7,135,102,145, 45,146, 36,161, 86,171,145,154,154,106,238,223,154, 61, 67,204,
-206,206,110,247,193,131, 7,237,138,139,139,193,225,112,144,154,154,218, 96,214, 97,221,235,151, 95,126,225,143, 26, 53,234,231,
-242,242,114,163,211,218,116, 58,221,198,201,147, 39,127,152,151,151,231,224,234,234, 10,169, 84, 10,129, 64, 0,150,101, 65,244,
-239,143, 62, 47, 94,128,162,105,136,197, 98,164,165,165, 97,231,206,157,213,181,169, 98,154, 20,200, 8,130,240,227,243,249,152,
- 52,105, 82,131, 29,123,246,236,193, 59,221, 56,221, 92,236,184, 85, 58,136,212,133,226,183,206,113, 56, 28, 34,164,199,128,246,
- 61,250, 14, 15,122,154,116,231,185,172,240,165,169,135,146, 86,163,209,192,223,223, 31,247,238,221,195,165, 75,151, 48, 96,192,
- 0, 68, 68, 68, 32, 49, 49, 17,191,253,246, 27, 18, 18, 18, 64, 16, 4,156,156,156,234,194, 47,140,198, 96,104, 20, 58, 20,229,
-151,188,166, 94, 53,222,230,243,249, 80, 43, 41,179,218,232,201,147, 39,184,119,239,158, 62,181, 12,135,195,209, 77,153, 50, 5,
- 44,203,178,153,153,153,176,177,177, 97,167, 77,155, 70,115,185, 92, 93, 94,158,121,241,193,117,164,170,142,100,113,249,188, 6,
- 4,141, 97, 24,121, 98, 98,226,199, 0, 18,107,149, 44,192,146, 71,203,130,255,219, 56,131,215, 23,150, 54,169,104,189, 0, 48,
-232,192,129, 3, 19, 79,156, 56,177,113,203,150, 45, 46,145,145,145, 40, 43, 43,131,183,183, 55, 60, 60, 60, 16, 23, 23,135,179,
-103,207, 22,211, 52, 61, 31, 64, 83,210,207, 32, 24,201, 89,147,247, 92, 26,171,174,170,250,180,107, 68, 0,174, 28,254, 61,218,
-221,221,125, 6,135,195,249,124,218,226,119,223,239, 55,178, 59,210, 18, 50,113,251,183,199, 40,204, 41, 54,105,179,113, 48,188,
-189,189,253,135, 86, 86, 86, 2, 0, 84, 19,163,226,198,179, 14,245, 54,105,154,166, 53, 26, 13, 14, 29, 58,100, 22,217, 58,112,
-224, 0, 84, 42, 21,232,215,253,171,122,155, 44,195, 18, 92,158, 16,158,173,252, 65, 81,213, 96,152, 55,158, 80,169,183, 89, 55,
- 2,125, 46, 16,192,181,184, 24,119,238,220, 49,143,114, 15, 31,110,170,141, 84, 26,149,124,210,119,107, 22,196,205,140,250,214,
-126, 64,207,206,248,106,195, 30, 80,212, 46,144, 28, 18, 98, 33, 31, 93, 67,123,129, 3, 53,126,140,249,162, 92, 81, 89, 54, 9,
-175, 47,197,211,192, 38,107,204,195,194, 2, 52,195,224,210,245,187,102,159,187,190,183,167,105,112,185, 92, 60,123,246, 76,217,
-212,108, 67, 14,167,198,205, 89, 55, 82, 55,102,147,101, 24,130,199, 23,161,149,119, 71,104,212, 85,127, 73, 27,185,186,186,126,
-113,252,248,113,167,186, 84, 9,137,137,137, 32, 8, 34,245,149,226, 88,179, 95,169, 84, 34, 41, 41, 9,137,137,137, 64,205, 12,
- 55,179,239,163, 58, 37, 75, 38,147, 17, 82,169, 20, 86, 86, 86,100, 98, 98,162, 58, 56, 56,248,190,137,251, 91,111, 83,165, 82,
-101, 25,138,159, 84,169, 84, 45, 68, 34, 17,175, 81, 39,234,217,174, 93,187,180, 38, 92,136,175,149,179,162,162,226,206,194,133,
- 11,187, 14, 27, 54, 12, 95,124,241, 69,169,131,131,131,205,143, 63,254,200,229,112, 56,196,204,153, 51,233,162,162,162,170,159,
-126,250,201,238,196,137, 19, 40, 47, 47,191,105,198,185,203, 85, 42,213,199, 61,123,246,220,115,254,252,121, 43, 63, 63, 63, 84,
- 86, 86,130,101, 89,236,222,189, 27, 51,103,206,132, 72, 36, 66, 90, 90, 26,222,121,231, 29,133, 66,161,248, 24,175,199, 78,214,
-217, 36, 8,130, 96, 25,134,193,178,101,203,244,201, 73,235,146,149,218,136, 9,236,156,215, 86, 50,231,167, 10,201,196,175,126,
-154, 2, 0,180, 78, 71, 63, 77,186,243,124,247, 15, 95, 93,229,243,249,215, 77,180,209,146, 57,115,230,252, 56,124,248,112,177,
-181,181, 53, 74, 75, 75,113,227,198, 13,220,186,117, 11,183,111,223,134, 70,163,129,147,147, 19, 28, 28, 28, 32,149, 74,241,228,
-201, 19, 37,128, 37,198,108, 10,172,120,240,105, 95, 55,243,183, 70,193,226,213,155,109, 88, 95,221,226,243,120,102,221, 71,125,
-251,246, 69,143, 30, 61,234, 8, 16,157,157,157, 45, 85,171,213, 68, 61,210,159, 87, 71,200,189,188,188,116,251,246,237, 99,141,
-217,188,189,115, 43,206,175, 90, 2, 1,159,143,249,169,185,122,210,181,103, 64, 23,240, 4,124, 4,140, 24, 83,255,183,219, 80,
-227, 46, 68, 35,146,101,172,239,248,211,247,166,197,230,127,173,205,255,203,144,226, 13,150,224,169,195,126,149, 74,117,238,163,
-143, 62,138, 9, 9, 9,249,104,211,166, 77, 4,159,207,199,138, 21, 43,216,252,252,252, 95,107, 71, 33,101,111, 82, 42,150,101,
-127,189,118,236,230, 39, 83,163, 70, 18,243, 54, 79,235,125,255,114,210,147, 78, 61,253,208,169,167, 31,238, 95, 73,193, 15,139,
- 15,236,163,181,244,178,130,130,130, 28, 19,166,212,131,122,117,104, 28, 12,239, 20,127,245,178, 83,115,103, 29, 50, 12, 19,123,
-224,192,129,217,163, 71,143, 38,239,222,189,251, 90, 76, 86,221,178, 59, 12,195,224,226,197,139,160, 40, 10,191,254,250, 43,195,
- 48,140,225, 60, 90, 96, 79,126,183, 57,102,234,175,123, 79, 10, 4,124, 2,183,174, 31, 69, 69,153,241, 89, 93,124, 62, 15,191,
-236, 62, 70,241,249,188,167, 77,237,167, 40, 42,247,242,229,203,110, 67,105,154, 71,146,100, 83, 4,170, 73,196,198,198,106, 25,
-134,201, 54,113,216,205,194,151, 57, 35, 86,127,241,193,129,225,239,125,228,214,179,103,111,158,179,171, 27, 8,130, 64, 81, 97,
- 17,210,146,238,106,207, 29,253,185,176, 90, 97,222, 18, 60, 31,172,191,166,143,201, 2,128,200,153, 91,244,241, 89, 0, 48, 98,
-218, 66,244, 15, 11, 4, 97,142,244,244,138,100, 49, 58,157, 14, 18,137, 4, 58,157,174,201, 20, 15,118,118,118, 98,149, 74,165,
-172, 77,196,104, 84, 42, 98,129,191,188,141,104,154, 14, 40, 43, 43, 67,117,117, 53,110,221,186,197,174, 89,179, 70, 38,147,201,
-244, 65,155, 90,173, 54,160,180,180, 20, 85, 85, 85,184,121,243, 38, 27, 19, 19, 35, 43, 41, 41, 89,220,156,123, 72, 44, 22,119,
-227,114,185,247,203,202,202, 24, 43, 43, 43, 82,171,213,106,131,131,131,133, 98,177,216,236, 5,213,165, 82,233, 48, 67,251,124,
-124,124,210,211,211,211,219,209, 52, 93,127, 13, 68,190, 74,165,242,235,217,179,167, 57,207,143, 57,187,118,237,194,177, 99,199,
- 66, 43, 43, 43, 39,103,103,103,239, 1, 16,202,229,114,241,240,225,195, 84,149, 74, 53, 97,244,232,209,187,203,202,202,238,160,
-102, 9, 30,115,112, 62, 45, 45,109, 82, 64, 64,192,174,175,191,254,218, 58, 34, 34,130,235,233,233,137,238,221,187, 35, 45, 45,
- 13,103,206,156,209,110,219,182,173, 90,161, 80,124, 0,224,162,241,102, 7,161,211,233, 32, 16, 8,244, 47,161, 80, 8, 62,159,
- 15,185,146,197,244, 13, 25, 74, 29,196,202,141, 43, 62, 62,195, 2, 68, 65,110, 70,113, 81, 65,238, 29,130, 32,174, 75,165,210,
- 10, 3,117, 38, 80,169, 84,157, 89,150,229, 16, 4,177,153,162,168,105,179,102,205,242, 88,187,118, 45, 58,116,232,128,226,226,
- 98, 72, 36, 18,248,249,249, 65, 38,147,225,238,221,187,180, 66,161,216, 14, 96, 37,106,227, 71, 12,161,188,184, 18, 45,221,189,
- 26, 40,159, 44,203,130,165, 1,173,154, 6, 77,177,208, 16, 90,240,120, 90,240,249,124,115,148, 39,150, 97, 24,148,121,120,128,
- 73, 74,194,237,219,183,193,178,172, 65, 85,205,223,223,223,140, 7, 59, 3,129, 80,208,192, 93, 72, 16, 4,248, 2, 1,120, 2,
-126, 83, 51,103, 44, 42,150, 5,255,211, 48,215, 55, 94, 14, 96,198,163, 71,143,246,244,235,215, 47,142,101, 89, 30,106,252,145,
-191,255,153, 63, 47, 40, 40,120,112,243,204,131, 69,110, 45, 29, 98,222,154,220, 27, 29, 58,123,131,214,209,184,113,246, 33,126,
- 93,123,226, 96, 94,110,222, 52,152,177,246, 25,195, 48, 87,123,117,235, 64,162, 94,174,110, 79, 79, 79,230, 77,102, 29, 86, 84,
- 84, 44,159, 63,127, 62,190,248,226,139, 55,153,117,216, 36, 30, 63,145,205, 32,192,182, 28,241, 86,159,161, 32, 72, 86,163, 81,
- 27,121,240, 65,159,185,148,207,231, 61,189,151, 40, 13,110,234, 56,153, 76, 54,244,253,247,223,191,200,229,114,219, 52,167,206,
- 25,134,201, 46, 44, 44, 28,104,250, 72,221, 13,181,178,210,239,244,193, 29,115,207, 31,219, 53,148, 97,104, 95, 2, 0,135,203,
-127,174,165,168, 11,106,101,229, 38,152,185,168,244,186, 25,225,152,243,221,111,216,250,197, 8,204,138, 57,140,159,151, 77,199,
-162, 13, 7,240,237, 23,115,176,102,203,191,240,213,156, 73, 24, 59,241,125,134, 37,200, 63,204, 61, 15, 14,135,115,126,199,142,
- 29, 83,167, 79,159,174,159,180,192,178,108,131, 7,187, 86,171, 85, 50, 12,131,237,219,183, 51, 0,206, 27,179,215,176,141, 8,
-214, 88,188,148,185,109, 84, 89, 89,249, 65,120,120,248,110, 0, 66,150,101,159,149,149,149,253, 19,120,181, 52, 84, 85, 85,213,
- 7, 61,123,246,220,205,178,172,144, 32,136,215,246,155,131,218, 84, 15,221, 28, 28, 28,238,215, 42, 89,194, 55, 9,136, 55, 86,
-213, 70,220,138,230,184, 16, 25, 0,179,234,101,124, 95, 27, 26, 26, 90,127, 81,233,212,178,178,178,110,111, 80,174,139, 74,165,
- 50,112,217,178,101,115, 69, 34, 81,127,133, 66,209, 30, 0, 36, 18, 73,154, 90,173,190,170, 84, 42, 55,193,116,110, 42, 13,195,
- 48,105, 58,157, 46,200,197,197,165,102, 70,109, 45,217, 2,128, 83,247,233,251, 0,221,189, 70, 20,223,111,118,193,206,158, 61,
-219,218,193,193, 97, 8, 65, 16, 99, 89,150,245,151,203,229,234,101,203,150,221,140,141,141,173,104,211,166,205, 91,195,135, 15,
- 39, 28, 29, 29,113,239,222, 61,182,164,164,228, 40,128,197, 48, 99,166, 53,195, 48,217,235,214,173, 67,115,239,119, 99,251, 41,
-138, 42, 56,123,246,172,243,176,162, 34, 46,195, 48, 24, 49, 98, 68, 3, 2,215, 24, 79,159, 62,133, 90,173, 54,154,204, 81, 93,
- 81,134, 1,115, 23, 2,181,179, 63,235, 80,163,100,177, 96, 53, 22, 94,101,193,223, 11,255,238, 5, 61,205,146, 22, 61, 60, 60,
-198,139, 36,194,207,188,219,123, 4,231,103, 20,165,200, 43, 20,251,164, 82,233, 14, 3, 15,114,179,108, 54, 51, 97,169, 69,254,
-253, 55,217,124,149, 71,139, 6,203,210, 96, 25, 22, 44,203,128, 97,232,154, 5,175, 89, 6, 44, 77, 19, 4,129, 63, 52, 74,163,
-153,193, 27,151,211,193,217,217,121, 37,203,178,195, 56, 28, 14, 89, 95, 12,171,255,185, 86,201, 58, 47,147,201,190,106, 66,121,
-253, 63, 87,159,177,177,177, 77,146,127,115,103, 29,142, 27, 55,142,110,230,189,121, 85, 34,145,120, 52,181,175,186,186, 58, 71,
- 42,149, 14,249, 47,169,207,250, 51, 6,155, 99,179,217,179, 14, 77,217,244,246,246, 22, 82, 20,213, 5,128, 31, 65, 16,246, 0,
- 74, 41,138,186, 80, 92, 92, 92, 8,160, 27,128,101,181,191, 89, 5,224,254,127,248,126, 23, 59, 59, 59,239, 34, 73,178,165, 57,
- 63,214,233,116,154,210,210,210,169,141, 6, 4,122,155, 78, 78, 78,247,185, 92,110, 75, 51,236,188, 44, 41, 41,233,102,121,126,
- 90,108,254, 15,161,113, 16,188,193, 76,241,255, 14,162,101,177,105,177,105,177,105,177,105,177,105,177,105,177,105,177,249,191,
- 78,180,154,220,182, 76,171,181,192, 2, 11, 44,176,192, 2, 11, 44,248,115, 56,211,136,108,157,169,251, 64, 24, 97,165,205,145,
- 4,223,132,217, 94,178,216,180,216,180,216,180,216,180,216,180,216,180,216,252,219,217,180,224, 47,132, 69, 86,181,216,180,216,
-180,216,180,216,180,216,180,216,180,216,252, 95,135, 65,215, 33,105,169, 27, 11, 44,176,192, 2, 11, 44,176,192,130,127, 15,204,
- 38, 90, 18, 55,255, 0,103,239,224,221, 14, 45, 59, 37, 58,180,236,148,232,236, 29,188, 91,226,230, 31,240, 55,173, 55, 49,128,
-137, 92, 46,247,162,187,187,123, 37, 12, 44,189,243, 63, 0, 91, 0, 99, 81,147,223,103, 20, 0,171,191,210,120, 4,192, 29, 15,
-124, 54, 5,200,153, 2,228,140, 7, 62,139,248, 31,140, 27, 92, 49,219, 35,252,250,185,137,231, 86,204,246, 8,111,114,255,124,
- 15,167,219,191,141,251,110,237,103,158,142,127,209, 95,218,184,186,186,238,116,115,115,203,114,117,117,205,118,117,117,221, 5,
-192,206,242,184,179,192, 2, 11, 44,248,183,161, 46, 70,171,238,165,143,209,226, 2, 64, 92, 92, 92, 4,128,107, 0,250, 69, 70,
- 70,198, 55,254,181,131, 87,208,116,223,182,190, 95,172, 94,177,152,112,119,117,182,210,209, 12,149,153,149,219,113,249,234,152,
- 35,249, 2,238,198,178,156,164,159,223,160, 80, 4,135,195, 25, 47, 20, 10, 35, 1,212, 17,182, 84,181, 90, 29, 71,211,244, 33,
-152, 55, 77, 27,110,110,110,215, 57, 28, 78,235,230,252, 49, 77,211, 57,133,133,133,189,223,176, 50,199,121,121,121,237,138,136,
-136,176, 10, 13, 13,133, 64, 32,192,178,101,203,230, 75,165,210, 77,230, 26,112,112,240,177,161,132,162,207,185, 2,193, 96, 86,
-171, 9, 98,193, 2,164, 48,137,209,169, 47,243,213,234,141,101,101, 25,114, 51, 77, 45, 6, 48,173,182,174,126, 6,176,238,207,
- 92, 37, 83, 59, 67,171,165,107,174, 9, 62, 23,244,201, 23,118,215,150, 44, 89,194,141,140,140,196,207, 63,255,220,123,231,206,
-157, 31,203,229,242,203, 0, 78, 1,120,254,103,175, 74, 55, 96, 70,207,222,189,191,155, 58,127, 62, 71,121,253, 58,190,219,181,
-107, 51,106,242, 45,109,109,238,181,196,231, 99,172,179, 51, 47,146,101,209,133, 0, 8, 2,120, 40, 43, 97,206, 82, 20,125, 8,
-102,228, 98, 51,130,137,104, 56, 29,127,127,115, 13, 84, 60,103,151, 10, 71, 4,244,169,120,126,117, 41,128,183, 26,239,215,169,
- 68, 83, 89, 78,171, 72, 37,155,144, 11, 96,195,159,172, 86, 43, 23, 23,151,196,147, 39, 79,182, 12, 13, 13,229, 2,192,253,251,
-247,167, 68, 70, 70, 14,144,201,100, 65, 0, 42,255, 67, 15, 33, 17,151, 36, 63, 19,240,120,131,105,154,238, 4, 0, 28, 14,231,
-177, 70,171,189,168, 99,152,173, 48, 51, 39,155, 5, 22, 88,240,191, 11, 83, 92,228,191, 28, 6, 51,195,215,157, 28, 91,255,189,
- 62, 36,174, 29, 58,134, 13, 28,243,180, 66,174, 80,101,101,229,149,205,251,108,205,197,143,231,172, 63,177,225,167,184,179,241,
-119, 82,111, 7,132, 14, 73,145,184,118,232,104,192,180, 33, 31,174,151, 88, 44,126,176,109,219, 54, 42, 45, 45,141, 45, 47, 47,
-103,159, 62,125,202, 30, 61,122,148,253,228,147, 79, 84, 98,177,248, 1, 0, 47,115,108,186,185,185, 21, 62,189,242, 27,251, 50,
- 49,129,205,190,127,135,213,106,181, 44, 69, 81, 44, 69, 81,108,202,249, 56, 54,241,212, 49,246,225,209, 67,172, 70,163, 97, 53,
- 26, 13,171, 86,171,217,182,109,219,230,155, 89,206,198,240, 12, 12, 12,212,196,197,197,177, 71,142, 28, 97,231,207,159,207,134,
-132,132,208, 0,102,154,123,238, 18, 87,191,254, 54, 45,130,101,211,163,182, 82,103,110, 94, 96,147, 95, 60,100,147, 95,164,179,
-177,151, 82,217,105, 11,182, 80, 54, 45, 66,100, 18, 87,191,254,166,206,221,193,193, 33,140, 32, 8,182, 14, 0,216,214,173, 91,
- 87,213,127,121,121,121, 53,120,181,106,213,170,170, 77,155, 54,207,157,156,156,186, 52,101,115, 66, 39,176,108,202,126,150, 77,
-217,207, 46,233, 11, 54, 57, 57,249, 54,203,178,215,234, 94, 74,165,242,218,241,227,199,175,189,251,238,187,215, 0,188, 99,164,
-158,204,170,207, 41, 64,142,252,228, 73,150,221,180,137,101, 35, 34,216, 84,128,157, 2,228, 52,211,102, 91,119,119,222,195,245,
-235, 62,214,156, 60,249, 43,123,238,220, 25,246,236,217, 56,246,196,241, 93,236,230, 77,159, 81,110,110,188, 36, 0,237,154, 97,
-147, 11, 96, 13,128,141,168, 81, 46,211,100, 50, 25, 91, 80, 80,192, 2, 72,171,253,110,163,139,139,203, 6, 52,173,190, 13,170,
-175,100,205, 29,230,126,238,189,183,122,179,242,138,124,246,189,183,122,179,115,135,185, 55, 80,182,134,249,248,216,204, 26,209,
- 73,150,124,127, 31, 61,107, 68, 39,217, 48, 31, 31,155, 55,172, 79, 2, 53,235,132,110,187,114,229,138,142,173, 7,173, 86,203,
-238,217,179,135,118,112,112,248,181, 25, 54,219,187,184,184,100, 59, 58, 58,166,213,255,210, 37,120, 84, 79,255, 62, 83,150, 59,
-117,124, 55,162, 25,229, 12, 21,241,249, 47, 47, 30,254,145, 46,201,121,204,106,148,133,108,197,179, 4,246,101,234,109,118,207,
-142,141, 90, 1,151,251, 18, 64,232,159,185,150,154, 9,139, 77,139, 77,139,205,255, 66,155,198,184,200,255,101,112, 27,159, 96,
- 99, 8,133,130,168,229, 75, 22, 18,229, 37,229, 74, 85,165, 92,163, 85,169, 84, 36,159, 85, 61, 78,121, 81, 68,114, 57,229,115,
-231,204,182,137, 90,180, 36,170, 26,152,100,230,127,122,133,132,132,220, 61,118,236,152,171,163,163, 35, 42, 42, 42, 80, 82, 82,
-130,187,119,239,130,101, 89,140, 30, 61, 90,216,163,123,247, 46, 75,151, 45,187,245, 50, 47, 47, 28,134, 59,222, 87,228,197,209,
- 25,235,122,215,172, 69,251, 85, 86, 73, 77,175, 67, 16,216, 57, 46, 82,127,204,202,151, 53,171,101,136, 68, 34,253,130,196,111,
-128,240,129, 3, 7,242, 1,224,195, 15, 63,172,148,203,229,209,181, 10,135, 89, 43,173, 74, 92,253,250, 59,123,120,198,253,184,
-125,157,184,147,175, 31, 40,173, 14,217, 5,249,224,242,236,209,178, 37, 31,239, 79, 26,204,235,219,211,209,121,205,170,157,103,
- 10, 24,140, 82, 20,167, 95, 48,100,203,222,222,126,207,161, 67,135,112,248,240, 97, 0, 64, 90, 90, 26,252,252,252, 36,166,202,
-144,148,148,228,243,206, 59,239, 28, 44, 41, 41,105,103,234,216,198,137,241,133, 66, 33,122,247,238,141,142, 29, 59,226,228,201,
-147,253,106,149,173, 63, 5,229,245,235,176,126,244, 8,136,127,163,193, 75,219,174, 93,189,111,159, 61,179,207,249,204,217, 84,
-108,216,176, 11,207,159,215, 8,109, 62, 62, 62,152, 56, 97, 28,239,241,227,155,129, 99,199, 78,188,249,251,239,207,123,215, 18,
- 37, 83,248,250,167,159,126, 90,220,166, 77, 27,140, 29, 59,118, 92, 96, 96,160,187,173,173, 45,118,236,216, 1, 15, 15, 15, 31,
-141, 70,243,236,228,201,147,158, 5, 5, 5,152, 61,123, 54, 10, 11, 11,231, 27, 50,212,111,104,191,165,194, 17, 1,125, 58,116,
-157, 10,107, 91, 15,252,116,224, 16,158, 62,216,211, 71, 77,165, 46,229,211,241,147,149,172,112,154, 44,199, 58,170,117,183, 8,
-167,118,129,239,192,187,107,130,179,138,254,253,197,210,193,109, 99,184, 34,213,158, 21, 27,164, 37,175, 25, 29, 27,203, 9,170,
-124,226,152,116, 17, 37,192, 10,166,142, 96,233,213, 90, 22,239,244,237,219, 87,223,112, 89, 89, 89, 80,171,213, 8, 8, 8, 32,
- 53, 26, 77,127, 51,235,181,253,144, 33, 67,254, 56,123,246,172, 83,251,246,237,101,165,165,165,250, 29,238, 78,246, 67,227,143,
-109,158,189,230,187,127,249,239,101,137,114, 89,234,137,199, 38,108,133,246, 10,235,122,233,220,177,125,214, 68, 85, 46, 4,246,
-197, 0, 83,130,140,131,191,128,176,114,196,248, 79,230,113,251, 15, 28,208, 98,240, 91, 99, 46, 61, 77,127, 62, 16,192, 61,203,
-184,222, 2, 11,254,214,170, 22,251,191,118, 78,122,162, 21, 25, 25, 73, 52,117,130, 12,203, 4,187,185, 58,137, 55,175,223,125,
-143, 67,105, 52, 18,123, 59, 13,207,206,150, 33,108,236, 56,148, 70, 91,229,237,227, 45, 96, 88, 38,216,128,253,198, 83, 60, 9,
-177, 88,124,236,212,169, 83,174, 60, 30, 15, 12,195,192,197,197, 5,153,153,153, 40, 47, 47,135, 92, 46,199,243,212, 84,180,241,
-106,133, 21, 81, 11, 61,102, 47,140, 58,166, 80, 40,186,161,161, 27,241,181,105,163,180,182,225,186,209,117, 75,176,188, 54,228,
-175,253,174,137,125,230, 78, 69,205,204,201,201,129,181,181, 53,130,130,130,172,111,220,184,241,187, 17,146,213,192,166,131,131,
-143, 13, 35, 20, 28,222,246,227, 50, 49,165, 77, 66, 74, 70, 41, 58,180,233, 3, 55, 39, 47,228,151,106,112,251,238, 41, 36, 37,
-238,135,111, 11, 47,204,252,100,128, 40,102,221,145, 67,124, 93, 27,175,242,242,204,202,166,108, 86, 86, 86, 90,183,109,219, 22,
- 94, 94, 53,235,158,209, 52,141,148,148, 20,208, 52,173,223,174,255,190,251,232, 21,232, 42,179, 49,117,202, 20,148,148,148, 88,
- 55,101,147,199,129,110,222,199, 19,185, 98, 30, 32,144, 56,106,170,170,170,244,203,112, 80, 20,133,135, 15, 31, 34, 60, 60, 60,
- 34, 54, 54,214, 20, 43, 50,171, 62, 41,224,219,239,126,253,117,203,164,138, 10, 18, 0,126, 38, 8,134, 98,217,111,205,189,150,
- 92, 93,121, 71,207,159,219,235,204, 33,159,192,209,238, 27,220,189,155, 13,138,170, 41,111, 73, 73, 17,102,125, 86, 9, 62,207,
- 6, 39, 79,254,203, 41, 32,160,247,209,130, 2, 42, 8, 13,221,136, 77,149, 83,116,238,220, 57,204,154, 53, 11, 41, 41, 41,158,
- 28, 14, 7,119,238,220,129, 88, 44,198,250,245,235, 57, 1, 1, 1,158, 18,137, 4,231,207,159, 71, 97, 97, 33, 97,172,156,215,
- 46, 92, 91, 93,241,252,234,210, 2,226,252,176,159, 14, 28,194, 71, 19,198,195,157,205,248,221,206,151, 88, 61,100, 68,175,175,
- 88, 78,171, 72,137, 77,176,131, 95,208, 8,240, 5,214,152,249,229, 74,164, 37,157,118, 80,200, 19, 63, 35,232,220, 86, 43, 54,
-196,206,121,173,156, 71,198,209, 31,238,191,209,245,162,215, 61,239, 71, 15, 63,190, 35, 77,216,153,248,138,104,249,112, 9,146,
-182, 3,106,150, 79,121,246,236, 25,158, 63,127, 14, 46,151, 11,165, 82, 9,157, 78,215,100, 57, 61, 61, 61,103,232,116,186,175,
-106,219,121,183, 72, 36,250, 96,223,190,125, 78,245,137,182, 75,240,168,158, 78, 54,146,129,133, 69, 37,101, 55,239, 37, 63,157,
- 55, 99,108,191,235,183,147,114, 41,222,187, 57, 21,137, 39, 43, 12,212,167, 72, 44, 16, 28, 61,127,252, 95,214,218, 23, 87, 32,
- 9,232, 7,158,181, 31,104,109, 30, 20,101,213,144, 63,151, 66,253,227, 15,232,252,217, 92,156, 62,113,196, 58,176, 83,183, 88,
-181, 86,235, 7, 64,243, 6,247,102,115, 96,177,105,177,105,177,249,223,105,211, 32, 23, 97, 89,182, 43, 0,183,218,205,146, 90,
- 94,224, 12,160, 24, 53,171,200,184,213, 62, 59, 4,245,126,214,120,187,254,177,141,183,235,127, 46,169,253,236, 90,251,126,143,
- 32,136, 82, 19, 69,247, 64,205,210,132,103,106,223,129, 90, 87,162,201,192, 99,130, 32, 43,105,154, 17,242, 93, 92, 85, 31,190,
- 55,176,211,111,151,238, 63,180,114,182,229, 14,237,215, 37,226,238,227, 23,183, 8,146,208, 18, 4,105, 86,220, 7,135,195, 25,
-191,121,243,230, 78,182,182,182, 96, 24, 6,118,118,118,144,201,100,208,104, 52,168,168,168,128, 90, 94, 9, 74, 94,137, 71,185,
- 89,232, 21,209, 15, 99,134, 13, 9,248,215,137, 83,227,105,154, 62,104,204,174,103,112, 23,189,146,181,178,181,211, 43,105, 34,
-183, 92, 79,186,190,233,226, 7,190,181, 53, 6,207,139,250, 51,215, 64,194,153, 51,103,206,141, 30, 61,250,173, 5, 11, 22,144,
- 82,169,244,124,102,102,102, 47, 0, 41, 38, 73,133, 80,244,249,167,159, 71, 58, 56, 88,179,136,189,120, 10,125,187, 76,128,149,
-128,131,146, 74, 10, 4, 1,164, 38, 31, 3, 65, 56, 34, 49, 77,138, 62,157,109, 49,100,104,128,245,137, 35,169, 11,240, 42, 62,
-232,181,166, 41, 43, 43, 67, 81, 81, 17,180, 90, 45,180, 90, 45,198,142, 27,135,189,123,246,160,186,186, 26, 74,165, 18, 26,141,
- 6, 52, 77,131, 36, 73, 92,140,139, 69,238,139, 84,244, 12, 15, 7, 12, 44,189,180,231, 33,120, 0,110, 63,125,250, 20,169,169,
-169,120,249,242, 37, 68, 34, 17,220,221,221,177,114,229, 74,168,213, 53,107,148,141, 27, 55, 46, 2,192,227, 63,123, 67, 61, 7,
-118,102,210,244,210,183,142, 31,119,189,113,252, 56,115,251,244,233,151, 66,185,124,135, 57,191,229,243, 49,118,221,183,159,116,
-144, 72, 36,120,153,179, 25,254,254,124,204,159,235,132,232,111,138, 1, 0,179,103,181, 68,247,110,206,168, 44, 63, 2,103,215,
-197,216,178,101,142,239,180,105, 27,167, 40, 20,244,110, 19,166,151,158, 58,117,106,140,159,159, 95,139,132,132, 4, 66, 32, 16,
- 64, 44, 22, 67, 44, 22, 67, 36, 18,161,168,168, 8,153,153,153,236,186,117,235,242, 0, 44, 53,102,104,197, 22,233, 45, 0,111,
-205, 29,134,115, 79, 31,236,233,211,130,243,226,209,152,153,189,179, 18,111, 39,200,127,187,120, 99,149, 78, 37,202, 45,127,121,
-105, 97,219,238, 9,206,159,125,241, 53,126, 88,183, 28, 79,239, 92, 47,117,243,170,220, 42, 38,212, 77,150, 51, 34, 98, 5,215,
-195,205, 81, 55, 99,218, 24,251,211,110, 55,103,156,229, 18,178,130,226, 7,235,145,153,160, 20,182,235, 50,185,189, 15,169,185,
-114,229,138,184,111,223,190, 80,169, 84,122,101,114,223,190,125,140, 78,167,187,218,228,181, 73, 81, 95,229,229,229,121, 40,149,
- 74, 12, 27, 54,108,246,250,245,235, 37,117,107,212,209, 52,221, 64,201, 90,189,105,239,133,207,191,218,122,245,194,193,111, 60,
- 87, 71,125,208,111,210,204, 53, 87, 97, 96, 29, 73, 46, 73,126,118,250,248, 46,119,145,131, 22, 98,199, 33, 80, 21, 42,241,116,
-231, 71, 80, 84,170,208,125,245,215, 0, 4,208,104, 73,236, 24, 49, 22, 60, 39, 79, 44,159,254,129,231,146, 29, 63,125,194, 48,
-204,102,203,184,222, 2, 11, 44,104, 4, 55,130, 32,226, 0, 32, 42, 42,106,113,116,116,116, 50, 65, 16,113, 44,203, 70,214, 10,
- 40,113, 44,203, 70,214, 29, 83, 75,206, 94,219,174, 59,182,241,118,227,207,139, 22, 45, 10,140,137,137, 89, 27, 30, 30,126,240,
-230,205,155, 47, 0,152, 34, 90,195,107,137,213,107, 75,239,144,117, 12,178,254,123, 3, 69,139, 97,174, 63,123,145,165, 24, 50,
-168, 71,203,184,248,199,247,222,127,127,248,192,241, 35,250, 14,205,204, 41, 73,245,245,118,119, 78, 78,126,108,203, 48,204,117,
-115,106, 73, 40, 20, 70, 14, 24, 48,128, 91, 86, 86, 6, 43, 43, 43,200,100, 50,228,229,229,129,162, 40,168, 42,202,161,174, 40,
-135,170,188, 12, 84, 69, 25,158,223,191,139, 96, 95, 31, 97,109,176,188, 81,212,169, 46,141,149,170,250,202,150,192,198, 6, 66,
- 27, 27, 16,205,119, 27,190,107,111,111,127,187,174, 83,165, 40,234,179,133, 11, 23, 22, 51, 12,131, 53,107,214,216, 90, 91, 91,
-199, 2, 16,154, 50, 98,227,194,137, 12,239, 28, 68, 62,201, 76, 68,239,144,169,104,223,246,109,100, 22, 42, 81, 44,167, 80, 84,
- 78,161,123,223,239,209, 58,228,107,180,234, 28,141,212,236, 82,120,182,240, 35,193, 21, 26, 93,252, 57, 55, 55,183,193,246,193,
- 3, 7,160, 80, 40,224,235,235,139, 9, 19, 38, 96,225,194,133,152, 48, 97, 2, 60, 61, 61, 49,233,189,119,176,124,249,114, 20,
- 20, 20,152, 42,170,186,125,251,246,106,111,111,111,181,183,183,183,154,162, 40, 84, 85, 85,161,188,188,188,113,125,207,105,110,
- 69,186,186,186, 46,114,119,119, 79,116,117,117, 77, 22, 10,133,103, 31, 18,196, 19,149,183,183, 91,175,145, 35,137,142,239,189,
-199,201, 22,139,137,120,192,218, 28, 91,206,142,188,225,253, 7,188, 37, 40, 47,219,165, 23,169, 62,120,223, 5,127,196, 7,226,
-198,239,221, 48,235, 51, 95, 16,164, 8, 4, 41,128,162,250, 10,122,132,134,243,237,237, 9, 83,215,210, 68, 0, 15,123,245,234,
-229, 57,115,230, 76, 66, 40, 20, 98,246,236,217,212,244,233,211,211, 39, 76,152,144,126,249,242,101,218,219,219, 27,173, 90,181,
- 34, 90,181,106,229, 1,224, 97,237,111,140,194,214,151, 88,173,166, 82,127,183,247,147,188,160,225,220,179, 74, 43, 28,187, 98,
-131,180,100,245,182, 23, 27, 50,159, 42,124,158,222,185, 94,146,158,116,154,201,188,119,173, 56, 63, 93,238,179,122,219,139, 13,
-139,183,230, 55,121, 83,199,199,131, 57, 22, 23, 79, 41,170, 21,220,145, 35,250, 43,102,124, 56,190,189,163,117,224, 62,180, 24,
- 18,210,218,171,229,164,229,107,183, 80,211, 63,249,156,250,249,151, 93,172, 92, 46, 71,101,101, 37,182,108,217,162, 59,125,250,
-116, 30, 77,211,159, 27, 26, 3, 1,128, 86,171,197,140, 25, 51, 36,182,182,182,200,205,205,213, 43,162, 0, 32,149,149, 60,190,
-113, 47,233,201,188,127,142,139,168, 86,171,213, 23,174,221, 79,237,232,231,221,146, 32, 88,131, 19, 81, 4, 60,222,224,110, 61,
-122,112, 88,182, 28, 4,215, 11,207,247,172, 67,101, 65, 41, 42,139, 74,193,225, 73,160,131, 16, 90, 70, 0,251,224, 80,164,221,
- 75, 64, 11, 23, 55,174,144,199, 27,106,233, 79, 44,176,224,239, 9, 99, 92,164, 62, 89,138,137,137, 89,107,108,127,189,119, 77,
-163,109, 61,145,106, 76,194,234,127, 6,128,152,152,152,181, 44,203, 70,222,188,121,243, 0, 0,165,153,167,240,113,189,119,243,
-243,104,113, 84,154,232, 5, 11,151,194,193, 78,108, 23,218,197,207,253,228,249,248,251,215,111,222, 79,109,221,202,217,133,213,
-106, 28,190,221,248, 67, 75, 66,161,140, 49,179, 16, 1,206,206,206,160, 40, 10,207,158, 61,195,203,151, 47, 65, 81, 20,116,213,
-213, 80,151,151, 67, 85, 86, 6,186, 90, 14, 62, 77, 67, 41, 43,130,147,149, 8,120, 53, 35,209,132,242, 70, 52, 73,180,234,222,
- 69,182,182, 16,218,216,130,228,241,154,116, 43, 26, 64,215,208,208,208,195, 73, 73, 73, 61, 6, 13, 26,180, 10, 53, 83,228,179,
-243,242,242, 6, 46, 91,182, 76,237,230,230,134, 25, 51,102,116, 0, 48,213, 36,201, 20,104, 2,188,221, 59,160,189,207, 84,180,
-110, 53, 0,229,213, 90,200, 42,181, 40, 42,167,176,227,251,112, 28,253, 57, 20,127, 28,237,131,164, 11,131, 81,174,117,135,181,
-231,187, 96,105, 77,160, 49,155, 23, 47, 94,196,202,149, 43,177,106,213, 42,172, 89,179, 6,171, 86,173, 66, 94, 94, 30,130,130,
-130,144,147,147,131,115,231,206, 65, 42,149,194,217,217, 25,119,239,222,197,166, 77,155,240,199, 31,127,152, 60,233, 58,226,106,
-198, 49,205,242,165,235,116,186,105,210,145, 35, 59, 21, 58, 58,118,236,210,165,203, 91,179,103,207,246,233,213,171,151,126,191,
-143,143,143,151, 88, 44, 46, 64,205, 12,202,206,198,108, 49, 64, 23, 23,151, 32,104,212, 79,106,219,152, 7,130, 16, 97,192,224,
- 84,244,234,115, 31,148,150, 15,146, 16,130, 36, 69,208,233, 74,224,224,224, 9,150, 37,130, 76, 20,113,153, 76, 38,243,187,116,
-233, 18,153,153,153, 9,145, 72, 4, 0, 89, 43, 86,172,248, 97,195,134, 13, 41, 78, 78, 78,116, 92, 92, 28, 78,156, 56,129,200,
-200, 72,206,244,233,211,253, 90,181,106,181,221,212,121,175,216, 34,189,181,127,227,185,127,240,180, 14,157, 69,226,214,109, 80,
-109,253,238,167, 17,206, 18, 0, 56,159,145, 33,119,245,170,140,169,150, 39,230,216,183,172,250,230,124,134,169, 25,167, 43,152,
- 7,233, 79,110,239, 63,126,190,162,168,176,140,215,165, 83,160, 50,122,229, 23,252,214,109,218,125,187,124,225, 63,221,243, 42,
- 69,229,131,103,159,123,114,236,252,221,170,201,239,127,164,251,240,227,153,170,115,231, 47, 30,103, 24,166, 19, 12,204, 56,100,
- 24, 6, 82,169, 20,201,201,201,200,200,200,128, 76, 38, 67,113,113, 49,228,114,185,222,221,104, 37,175, 60,243,195,175,167, 31,
- 73,196, 98,171, 30,157,252,188,238, 36,164, 20, 73,196, 98, 43,191, 54, 94,237,129, 21, 77, 62, 71,104,154,238, 36,178, 18, 3,
- 32, 80,158,116, 29, 85,101, 85,168, 42,175,130,188,180, 10,106,138, 3,149,154,132, 82, 67,194, 59, 98, 8,170,170, 85,168, 42,
-169, 0, 67,211, 33,150,238,198, 2, 11, 44, 48,210,215,199, 69, 69, 69, 45, 54,243, 88,179,221,155,141,137, 87, 84, 84,212, 98,
-130, 32,226, 22, 45, 90, 20, 8,195, 19,170,234, 99,103, 19, 47, 0,102,164,119, 40, 41, 73,175,178, 33, 2, 70,207,253,242,171,
-115, 7,126,249,222, 85,173, 86,228, 56, 57, 88,211,214, 86, 2,231, 15,103,172,129,188,170,108, 84,181,249,233, 8, 80, 86, 86,
-134, 23, 47, 94, 64, 44, 22,131,207,227,129, 86, 42, 65, 43,171,161, 44, 43, 1, 73,169,193,167,105, 56, 90,137,225,237,233,142,
-214,110,238,102,217,124,118,229, 55,125,224,123,125,119,225,186,208, 0, 8, 36,214, 16,216, 88,227,211,184,107, 0, 0, 62,159,
- 15, 44, 91,101,150,104,210,162, 69,139, 83,251,247,239,231,203,100, 50, 60,124,248,240, 17,128, 10, 0, 54, 0,152,212,212,212,
- 75, 73, 73, 73,145,126,126,126, 0,224,107,202, 88,101, 49, 73,107,117, 44,114, 11,178,144,249, 50, 1,142,118,109,193,179,106,
-143,162,114, 10, 66,113, 91,104,213,175,188,143,170,202,108, 40, 41,142, 89,231,174,209,104,160,211,233,160,211,233,160,209,104,
-240,241,199, 31,227,198,205,155, 56,120,226, 50, 94, 60, 79, 67,135, 54,238,152, 50,101, 50, 66, 67, 67,113,243,230, 77,163,182,
-166,118,134,182,133, 53,184, 27,223, 34, 33,176,118, 82,135, 45,188,112,199, 20,217, 34, 8,130,133, 1, 87,100, 35,108, 8, 15,
- 15,111,151, 86, 93,141,228, 39, 79, 48,104,197, 10, 0,192,217,179,103, 27,156,203,188,121,243, 4, 41, 41, 41, 31,222,191,127,
-255,195,252,252,252,141, 0,154, 14, 54,103,129, 51,103,110,225,159,255, 76,129, 76, 38, 3, 0, 28, 58,240,138,151,102,190,160,
- 48,108,120,141, 71,203,222,222, 30, 27, 55, 6,153, 85,159, 52, 77, 99,231,206,157,122,119, 33, 0,112,185,220, 94,243,230,205,
- 27,221,212,241,237,218,181,227,155,178, 57,119,108, 11,209, 31,143,216,207,236,218,181, 14,180,117, 14, 70,137, 54, 33, 40, 33,
- 79, 58,107,238,216, 22,155, 55, 29,201, 83,137, 9,245,110,130,206,109,197, 21,169,246,152, 83,198,140,243,223,107, 74,188,167,
-237, 41,144, 85, 46,153,249,209, 68, 39, 91,123,215,234,159,127,136,118, 32, 57, 36,123,234, 62, 85, 30,232,227,100,255,110,216,
-119, 85,255,156,187, 44, 65,163,203,157,137,220, 83,105, 48,146,226,130,166,105,228,231,231, 67, 38,147, 33, 39, 39, 7,197,197,
- 53,238,215,226,226, 98, 48, 12,243,103, 30,136, 80,230,228, 32,251,248,207,104, 61,121, 50,186,175, 90, 9,154,225, 66,169,160,
-177,177,231, 64,148, 85, 40,161,102, 8,120,118,237,137,143,206,254, 14,146,165,129, 29, 91, 45, 61,137, 5, 22,252, 77, 97, 78,
-122,135, 58, 66, 20, 29, 29, 29,249, 87,255,127,125,178, 21, 29, 29,157, 28, 29, 29,221,156,255,106,236, 50,212,111,215,197,104,
- 93,171, 23,128,246, 90,167, 41, 47, 78,205, 72, 73,225,230, 87, 43,171,173,220, 92, 93,212, 86, 34, 33, 83, 81, 41,231, 36, 60,
-126, 68, 85, 23, 60,127,218,140,243, 72, 77, 74, 74, 10,202,207,207, 71, 78,118, 54,116,202,106,144,106, 13, 88,149, 2,131,122,
-247,132, 8,128,136, 36,192,103, 40,112, 57, 2,200,171, 42, 1, 32,213,100,231,168,213,190,166,108, 17, 4, 1,129,141, 13, 4,
- 18, 9, 4,214, 54, 13, 20, 46,115, 20, 27,161, 80,184, 63, 54, 54,214,163, 69,139, 22, 88,185,114, 37, 90,182,108,233,239,233,
-233,169,176,179,179, 19,187,185,185,161, 99,199,142,232,217,179, 39,206,157, 59, 7,152,145, 83, 74,171, 19, 37, 62,205, 66,175,
-226,210,155,248,253,218,143,208, 40,213,232, 18,241, 35, 40,219, 62, 66,105, 0, 0, 32, 0, 73, 68, 65, 84,110,107,184, 4,126,
- 13,230,217, 62, 40, 10, 78,214,168, 7,238, 35,240, 50, 39, 11, 4, 71,144,108,174,242, 84,247,249,209,163, 71, 56,112, 50, 30,
- 30,222, 1,200, 73,127,130, 39, 87, 47,225,134,139, 19,188, 3, 58,234,221, 64, 6,203, 72,131,187,122,107, 77,154,168,165,159,
- 77, 20,150,150,150, 10, 29, 29, 29,213,117,117,231,225,225,241,103,200,214,196, 5, 11, 22,160,156,199, 3,134, 15, 7, 63, 35,
- 3, 20, 69, 33, 44, 44, 12,221,187,119, 7, 0,132,133,133,129,203,229, 34, 56, 56, 24,158,158,158,216,186,117,235, 68, 67, 68,
-139, 36,240, 80,167, 43,241,247,241,241,209, 19,173, 61,123,101, 72,184, 63, 24, 4, 4,216,242,195, 51,253,177, 94, 94, 94, 40,
-144,102,128, 32,216, 36, 19,101, 92,229,238,238,190,204,195,195,195,103,195,134, 13, 28,145, 72,132, 79, 62,249,164,109, 85, 85,
- 85,235, 90, 41, 25,139, 22, 45, 2, 0, 44, 95,190, 28, 43, 86,172,128, 90,173, 86, 24, 50,182,103, 99, 39,207,162, 82,230, 67,
-182,202,106, 84,127,231,214,157, 6, 12, 29,132,182,126, 3, 48, 96,104, 14, 0,172,117,228,102,189,247,237, 18,251,227,246, 54,
-196,174,223,206, 95, 92,222, 59, 98,192,146,133, 85, 87, 87,127,179,179,220,100,204, 99, 69,246,110,249, 83,193,248, 77,223,111,
-223,187,233,171, 69,115, 68, 57, 50, 77, 89, 94, 25, 91,101, 45,228, 90,251,186, 17,214,179,190, 92,245, 34, 63, 63, 99, 62,114,
-207,155,156,105,201, 48, 12, 50, 50, 50,244, 49,125, 42,149, 10,213,213,213,200,205,205,213, 95, 51, 74,137,237,176,153,239,143,
- 8,169, 86, 42, 21,119, 30,167,231, 44,157, 61, 41,188, 90,169, 84,164,103,230,164, 1, 91,154,100, 99, 36, 73, 62, 86,200, 21,
-131, 20,229, 42,200, 30, 62, 69,203,129,222,208,234, 8,104,116, 52,100, 37,114,168,117, 0, 77,242, 16,248,222, 20,208, 4, 23,
-197,249,121, 32, 57,156, 71,104, 24,180,111,129, 5, 22,252,125, 96,148,139,212, 41, 90,225,225,225, 7,235,171, 78,117,159, 1,
-168, 97, 60,148, 71, 86,159, 76,213,185, 19, 13,253, 79, 35,187,230,226,181, 24, 45,147,233, 29,234,254,179,149, 93,165,231,186,
-229,147, 90, 50, 58, 93,135,162,226, 66, 29,151, 43,228,181,178, 83, 74, 75,115,204,255,119,181, 90, 29,119,233,210,165,145,131,
- 7, 15, 22,166, 63,126, 4, 77, 69, 5, 52, 21,229,224, 49, 58, 56,138,187,129,164,212, 32, 52, 26,180,240,103,160,146,139, 17,
-127, 35, 73,171, 86,171,227,204, 37, 90, 36,135,211, 48, 46,203,218, 26, 66, 27, 91, 8,173,173, 27,187, 22, 77,145, 2,171, 33,
- 67,134, 12, 12, 11, 11, 3,203,178,216,185,115, 39, 40,138, 18, 80, 20, 5,141, 70, 3,138,162, 80, 89, 89,137,189,123,247, 98,
-219,182,109, 55, 0,252,106,178, 51,211,105, 46, 93,184,120, 37,244,131, 73,145,188,179,113, 27,161,211,208, 80, 18, 45, 81, 93,
-173, 69,149,198, 10,180,211,100,160,240, 12, 56, 92, 17,194,131,219,226,228,145, 99, 20,116,234,203,102,178,240, 6,170, 80,110,
- 78, 22, 94, 62, 79,131,117,101, 1, 92,108,173,160,200, 72, 67,151, 41, 83,223, 72,157,104,213,170, 21, 24,134, 65,255,254,253,
-245,193,213,111, 74,182, 74, 74, 74,112,250,244,105,132,133,133, 33, 34, 34, 2,121,121,121,200,200,200,192,219,111,191,173, 63,
-230,209,163, 71, 72, 72, 72,128,175,175,113,145,176,184, 84,123,246,101,238,195,113,239,190,251, 46,255,246,237,219, 96, 89, 22,
-126,126,182,176,181,145,128, 32,133, 8, 8,112, 5, 80, 51, 6,232,215,175, 31, 42, 43, 51,116,101,101,236, 89, 19,167,187, 31,
-192, 9,141, 70,243,172,111,223,190,158,207,159, 63,199,220,185,115,185,135, 14, 29,170,147,146, 17, 21,213,112, 50,133, 82,105,
-216,117,223,161,147,255, 23,109,117, 14, 17, 34,113,235, 54,182,206,193,104,235, 55, 0, 0, 48, 56,242, 3,180,109,231,133,202,
-226,196, 54, 42,101,214, 40, 62,183,204, 33,113, 75, 94,138,120,120,208,251,170,162,107,233,168,113,157,154,108,118,101,250,161,
-194, 28,222,228,195, 39, 78,157,155,241,118,228, 59, 60, 45,173,211, 5,121,243,236, 99,143,159, 41,202,203,206,249, 14, 57,231,
-147, 94,233,127, 70, 85, 60,186,178,178, 18, 18,137, 4, 73, 73, 73,234,225,195,135, 11, 73,146,196,179,103,207,244, 68,203,213,
-217,177, 99,175,238, 65,254,171, 55,237,189, 32, 17, 10,133, 67,251,117, 11, 72, 73,207,126,201,178, 68,150, 65,181, 85,171,189,
-248,248,225,163,254, 46,158,237, 56, 25,215,110,195,169,207,219, 80,171, 73, 40, 53, 12,212, 58, 64,199,225,195,163,115, 15,216,
-251, 6,128, 5,112,239,246, 13,173, 90,171,189, 96,233,107, 44,176,224,111,173,106,177,198, 72, 82,237,231, 82, 0, 89,209,209,
-209,197,245,212, 38, 25,128, 71, 0, 66,106,143,147, 53,250,157,140, 32,136,123, 44,203,118,175,103, 71, 86,143,112,213,255,172,
-105,116,204,163,102,144,172,250,239, 13,137,150,161, 41,149, 0,224,236,236,236,218,165, 75, 55,223,159,126, 57, 12,150,101,241,
- 52, 97, 61,202,138,158, 96,217,218, 91,190, 45, 90,180,136,200,203,203,139, 55,167, 4, 52, 77, 31,218,181,107,215,252, 30, 93,
-187,116,105,211,178, 37, 30,101,101,130,207,210,224,211, 52, 72, 74, 13, 46,173, 65,203, 32, 26, 36, 97,141,252,252, 10,196,236,
- 63,156, 84,155, 37,222, 40,252,223,126, 7, 43, 95, 86,128, 32, 8,108, 8, 15,130,192,198, 26,124,137, 53, 62, 61,117, 69, 79,
-174,226, 86, 46,130,192,218, 26,190, 61,204, 74, 8,175,184,122,245,234,253,199,143, 31,119, 15, 10, 10,194,252,249,243,145,149,
-149, 5,134, 97, 80, 88, 88,168,146, 74,165,121, 50,153, 44, 11,192,113, 0, 63,193,140,204,227,124,181,106,115,220,209, 61, 51,
-195,123, 71, 56,191, 59,106, 27, 78, 28,153,135,242,138, 74, 40,116, 98, 84,171,116,168, 86,115,224,232,212, 9, 61,130,131,145,
-159, 87,132,228,219, 23,170,184,106,197,250,230, 92,160, 4, 65, 32, 33, 33, 1, 62,158, 54, 72,251, 61, 30,206, 86, 60,132,120,
-186,195,179, 87,111,125,126, 41, 99,224,113,160,155, 56,113,162, 62, 51,252,144, 33, 67, 50, 39, 79,158,236, 49,111,222, 60,252,
-242,203, 47,184,113,227,198,107, 1,218, 17, 17, 17,184,126,253,250,215, 0,150,155, 18,245, 52, 26, 13,252,253,253,113,239,222,
- 61, 92,186,116, 9, 3, 6, 12, 64, 68, 68, 4, 18, 19, 19,241,219,111,191, 33, 33, 33, 1, 4, 65,192,201,201, 9,218, 26,242,
-172, 53,100,140,162, 16,251,205,183,187, 22,111,218,180, 45,112,210,164, 73, 56,122,244, 32, 62,120,191, 3, 8, 82, 8,130, 16,
-226,157, 17, 29,176,114,213, 61,244,232,209, 15,206,206, 60,108,218,120,242,133, 82, 73,239, 53,163, 26, 87,255,246,219,111,158,
- 42,149, 10,229,229,229,172,181,181, 53, 81, 82, 82, 51,163,181, 41, 69, 75,161, 80,136, 12, 25,122,252, 32,117,125,185,156, 45,
- 99,171, 18, 70,149,234, 18, 58, 13, 24,154,139,193,145,239,227, 98,220,175,184,114,225, 18, 28,185, 89,153,144,200,207, 21,103,
- 22, 87, 74,171,253,182, 7,116,157,206,121, 89,125, 97,251,172,119,210, 56, 30, 30, 76,236,162, 31, 43,203,141, 17, 45, 0, 68,
-105,202,190, 83,199, 89,188,211, 51,188, 71,187, 32, 47, 15, 65, 89,113, 17,123,228,228,185, 36, 42,243,232,233,122, 4,139, 53,
- 65,212, 87, 70, 69, 69,125, 85,251,121,247,210,165, 75,167,199,196,196,184, 20, 20, 20,232, 99,180,138,138, 75,175,244, 28, 62,
-139, 46, 41,175,208,236,218,244,229, 88,177, 72, 40, 88, 26,179,235,154,150,131,219,134,236,234, 24,102,235,123,115,151,205, 73,
-127,154,208,162,181, 88,128,147, 95, 46,199,163,223,174, 66, 75,242,241,207, 75,119,160,166,104,148, 23,151,224,242,135,159,193,
-218,205, 1,219,174, 29, 45,100, 24,230, 71, 75, 87, 99,129, 5,127, 95, 24,226, 34, 4, 65, 52,149, 99,175,176,137,239,238, 25,
-251,157, 1, 59,127, 5, 12,102,133, 55,107, 10, 94,113,113,113,209,245,235,119,112, 45,110, 53,226,227, 86, 35, 57,225, 17,242,
-243, 52,200, 43, 84,193,214,214,246,150,145,159, 54,206, 28,203, 42, 20,138,209, 75,151,125, 85, 32, 18, 91,161,239,192,129,112,
-119,113,133, 21,159, 7,142,142, 1,135,224,161, 74,102,143,180, 68, 5, 22,238,218, 87, 84,165, 80,140,110,162,147, 24,100,136,
-100, 16, 4, 1,161,173, 13, 4,214, 54, 16,218,216, 54,112, 35,138,108,109, 33,178,177, 5, 87, 32,104, 42, 24,254, 53,155, 85,
- 85, 85, 99,198,142, 29, 91, 86, 81, 81,129,233,211,167, 35, 62, 62, 62,225,194,133, 11,182,137,137,137, 98,153, 76,214, 14,192,
- 16, 0, 59,140,144,172, 6, 54,203,202, 50,228,172, 78, 61, 62,250,171,207,149, 42,157, 19,198, 77, 61, 4, 9,153, 11, 29,205,
-128, 5,224,233, 40, 64,175, 65,171, 80,164,233,137, 67,219,215, 40, 24, 74, 53,169, 81, 14,173, 6, 54, 89,150,101,221,220,220,
- 94,171,131, 75,151, 46, 97,220,216, 49, 24, 58,106, 36, 92,218,248,192,117,208,219, 24, 58,253,159,216,190,125, 59, 72,146,132,
-179,179,115,227,142, 87,111,115,207, 67,240, 14, 60, 6,113,224, 49,136,221, 9,224, 2,152,178,111,223,190,111, 66, 66, 66,174,
-222,184,113, 99, 61,128,241,245,255,171, 30, 86, 52, 82,179,154,106,163, 37,115,230,204, 81,166,167,167, 67, 34,145, 64,167,211,
-225,198,141, 27,216,182,109, 27, 54,108,216,128,132,132, 4, 56, 57, 57,193,215,215, 23,106,181, 26,247,238,221, 83, 2, 88, 98,
-196, 38, 35,147,233,198,108,217, 18, 83, 18, 25,217, 7,187,118,253, 0,119,247,158,224,113,221,193,229,185, 64, 98,237,143,159,
-127,250, 6,111,189,213, 5,167, 78, 30, 46, 45, 46,209,141, 1,160, 51,227, 90, 82,221,185,115, 7,219,183,111,199,216,177, 99,
-243,198,141, 27, 71, 87, 84, 84,232, 21, 45,150,101,193,178, 44, 86,212,198,152,169,213,106,161, 33,155, 31, 45, 76,202,251,114,
- 77,242,202,194,130,188,176,248,171,183, 38, 94,185,112, 9, 47,210,175,224,202,133, 75,248,253,202,205,168,194,130,188,176, 46,
-161,237,249,163,167,207,252, 98,207,177,163, 28,107, 91, 15,236, 57,118,148, 51, 97,214,231,107,186, 13, 29,176,196,212, 53, 95,
-219,142,108, 85, 81,225,162,181,235,191,175,210, 81, 42,114,221,119, 91,243,149, 50,233,146,122,215, 37,107,234,250, 84, 42,149,
- 59, 84, 42,149,167, 74,165,242, 84,171,213, 75,178,178,178,250,206,159, 63, 95, 70,211,180, 94, 45,149,165,156,186,245,228,143,
-221,107, 93,157, 29,196, 61,187, 7,118,216,184,227,200,181,156,220,194,127,213,203,161,213, 84, 57, 85, 85, 74,213,152,145,163,
- 39, 87,151,151,169, 17,254,121, 20, 24,145, 53,212, 52,160,101, 57,208, 17, 92, 60, 94,189, 17, 98, 71, 27,236,207,124,160,168,
-208, 82, 99,208, 48,135,150,177,115,255, 51,176,216,180,216,180,216,252,239,180,249,127, 25, 30,104,184,214,161, 71, 3, 69,203,
-212,148,202, 22, 45, 90,244,125,247,157, 65,232, 23,185, 20, 44,203,226,201,131,111, 81, 38,123,138, 22,238, 66,100,228, 84,134,
- 3,136,111, 70, 97,114,178,114,115,195,230, 44, 89,122,108,220,144,129, 1, 65,109,218, 8, 91,183,246,134,196,213, 21,197,197,
- 50,252,113, 59, 69,187,230, 64,108, 82, 45,201, 50,203, 49,201, 48, 76, 77,144, 59,128,129,115, 22,130,224,112,128,218, 52, 14,
-117, 29, 99,155,238, 61, 65,112,185,160, 89, 6,106,181,218,156,217,114, 47,159, 63,127, 62,102,210,164, 73,151,227,226,226,200,
-161, 67,135,118, 62,126,252,248,159, 89, 51, 15,213, 69,233, 87, 1, 68,174, 89, 52,227, 80,216,128,145,182,126,129,221,248,221,
- 90,115, 64,105, 9,228,231,101, 35,238,216, 93, 42,229,206,133, 74, 86,167, 26,175, 40, 78,191,106,204, 22, 69, 81, 57,237,218,
-181,115,219,190,125,187, 62, 24,158,166,105, 20, 23, 23,227,214,173, 91,232,212,189, 7, 2,222,255, 16, 50,153, 12, 91,182,108,
-129,151,151, 23, 70,140, 24,129,210,210, 82,232,116, 58,115, 29,190, 52,128, 11,181, 47, 52, 34, 89, 68,237, 18, 64, 70,221,134,
- 62, 62, 62, 2,149, 74,213,153,101, 89, 14, 65, 16,155, 53, 26,205,180, 69,139, 22,121,172, 93,187, 22, 29, 58,116, 64,113,113,
- 49, 36, 18, 9,252,252,252, 32,147,201,112,247,238, 93, 90,161, 80,108, 71,205, 66,214, 50, 19,229,123,118,247,110,102,216,236,
-217,159, 30,251, 38,102,134,159, 74,221, 79,224,232,216, 27, 44,171,131, 76,150, 5,121,229, 13,106,213,202, 95,159, 23, 22,105,
- 71, 3, 72, 55,243,156,151,207,156, 57, 19, 0, 68, 0,150,102,100,100, 60, 12, 8, 8,240, 51,164,104,153,131, 77, 71,242, 84,
- 0, 14,140, 25,234, 57,183,178, 56,209,207,145,155,149, 25, 22,196,108,217,116, 36, 79,101,235, 89,189,186, 56, 43, 62, 77, 90,
-125, 97,251,158, 99, 71, 57, 83, 71,141,161, 91, 90,167, 71,137, 92,217, 35,102,152,102, 67, 66, 66, 90, 17, 68,105,219,162,146,
-167,247, 63,152, 62,227, 61, 59,190,242,108, 72,203, 18, 95,210,171,139, 40, 33, 33, 33, 19,205,156, 25, 90,139,180,188,188,188,
-190,139, 22, 45,186,192,178,108,131,216,132,162,226,210, 43,225,145, 51,217,242,242,138,135,178,212, 83,230,228, 82,187,123,247,
- 65,194,192,160, 78, 93,142,126,179, 54,198,173,223,156,249,220,180,171,215, 0, 90,139,236,248,107,160,133, 26,102,227,205,139,
-133, 21, 20, 53, 10,150,172,240, 22, 88,240,183, 87,179,140,113,145,255,114, 12,135,129, 96,120,179, 79,198,167,109,139, 11, 29,
-252, 90, 15,241,106,233, 2, 0,200,200,204, 71, 70,102,222,111, 25, 47,242,134,154, 96,188,134,166, 87,234, 23,149, 38,106, 83,
- 56,176,230, 45, 42,221,192,166,147,147,211,125, 46,151,219,178, 57,181, 65,211,116,126,113,113,113, 23, 51,203, 57,161, 77,155,
- 54, 49,217,217,217,199, 24,134,153,219, 76,182,223,164,205,186, 69,165, 73,174, 96, 16,171,211,116, 2, 0,130, 43, 48,103, 81,
-233,250, 54, 59, 89, 91, 91,239,224,241,120, 94,117,237, 88, 23,131, 69,211, 52,135,162, 40, 17, 77,211, 28, 0, 4, 73,146, 58,
- 30,143,167, 34, 8, 66,167,211,233,114,212,106,245, 12,188, 74, 56,106,236,220, 77,118,244,181, 68, 11, 77, 40, 90,151, 0, 32,
- 61, 61,189,189,131,131,195,120,130, 32,198,178, 44,235, 47,151,203,213,203,150, 45, 75,136,141,141,173,108,211,166,205,176,225,
-195,135, 19,137,137,137, 72, 74, 74, 98, 75, 74, 74,142,212,170, 88, 25,205,188,150, 72,161,144,243, 15, 71, 71,114, 56,203, 34,
- 4, 44, 8,130,196,227,138, 10,230,172, 66, 65,255,171,150, 48, 54,247,250,172,195,196,214,173, 91,255,154,153,153,201, 51,164,
-164, 26, 58,247,198,248,118, 73,224,210,240, 62,125,198,220,250,253,247,227, 95,174, 73, 94, 89,127,223,172,145, 14, 31, 76,248,
-108,206,183, 7,182,126,247,229,247, 39,202,118,153, 83,206,206,157, 59,251, 16, 4, 49, 30, 64, 16,203,178,237, 88,150, 16, 17,
- 4, 91, 70, 16, 68, 50,128, 68,141, 70, 19,151,146,146,242,242, 79,156,251,155,140,112, 13,217,212, 47, 42, 13,154, 14,166, 1,
-214,204, 69,165,255,127,151,211, 98,211, 98,211, 98,243, 63,103,243,255, 50, 62,110,226, 59,243, 50,195,215, 33,227, 69,222,208,
-140, 23,121,104,215,174, 29,251,236,217,179,102,145, 52, 67,157, 52, 77,211, 7, 21, 10,197,193, 63, 99,164,164,164,164,219,191,
-185,242, 14,100,102,102, 30,248, 43, 13,214, 18,169,149,181,175, 55,197,227,170,170,170, 30,230, 30, 76, 81,212,191,163,110,136,
- 90, 53,235,107, 67, 7, 12, 25, 50, 36,155,162,168, 75, 0,114, 9,130,176, 7, 80, 74, 81,212, 5,157, 78, 87,248,236,217,179,
-110, 27, 55,110,172,203,124,191, 10,192,253, 55, 44, 7,163, 86,211,251,243,243,233,253,255,134,115,220,175,209,104,230, 57, 57,
- 57,249,170, 84, 42,129, 74,165,226,215,159,124, 32, 22,139,101,198, 2,226,235,195,222,134,216,205,231,150, 57,217,219, 16,141,
-137, 20, 28, 91,224,168,178, 58,169,131, 99, 11, 28, 53,183, 96, 15, 31, 62,204, 8, 9, 9,217, 71,146,100, 27,150,101,221, 0,
-214,142,101, 33, 99, 89,182,152,251,255,216,187,238,184, 40,174,182,123,102,102,103,251, 46,176, 75, 93,138, 5, 20, 68, 64, 1,
- 11,246,136,154, 24,123,137, 88,162, 98, 47, 49,106, 98,212,168, 81,163,177,198,215,196,158,216,123,111, 81,176,247, 94,177, 43,
- 86,164, 55,169, 11,203,246,157,249,254,128, 37,168,148, 5, 77,222,228,253,246,252,126,227, 58,195,238,217,123,103,231,222,123,
-238,115,159,251, 60, 28, 78,210,227,199,143,147,254, 65,157,144,198,200, 48,139,141, 58,221,159,126,135,214,221,133, 86, 88, 97,
-197,255, 14,202,244,209,226, 84,150,233,197,139, 23,132,245,126, 90, 81, 82,108,149,247,199,184,184, 56, 45,128,171, 69,199,187,
-184, 13,160,203, 63,189,130, 41, 41, 41,193,101,253,205, 82,145, 5, 20,250,108, 1, 15, 75,141,206, 62,107, 69,118, 30, 86, 28,
-152, 84,217,178,221,187,119, 47, 30, 22, 46,177, 91, 97,133, 21, 86, 88,241,151,225,195, 45, 90, 86, 88, 97,133, 21, 86, 88, 97,
-133, 21, 86,148,138,181, 37, 4,215, 91,214, 45, 2,101,239, 28,168,204,218,107, 85,118, 31,156,182,114, 90, 57,173,156, 86, 78,
- 43,167,149,211,202,249,255,142,243,127, 21,239,137,172,191, 3,214,173,175, 86, 78, 43,167,149,211,202,105,229,180,114, 90, 57,
-255, 63,136,172,119, 15, 0,214,165, 67, 43,172,176,226,255, 49,246,238,221,107, 81, 82,209,190,147,215,119,150, 72,100, 51,242,
-149,185, 11,119, 45, 30,114,208,124, 61, 44, 44,204,100,189,139, 86, 88, 97, 5,170,226, 12,239,233,233,238, 71,154,152,230, 44,
- 75, 82, 44,201, 26, 8,165,122,247,171,236,236,183,194, 14,120,120,120,216,209, 36,186, 16, 44, 43, 38, 8,198,196, 80,228,149,
-152,152,196,199,149, 40, 24, 79, 38,147,125,205,229,114,219,233,116, 58,119,146, 36, 19,181, 90,237,233,130,130,130,149,120, 63,
-112,225,127, 13, 62, 62, 62,253,206,159, 63,111,215,162, 69, 11,173, 80, 40, 52,170,213,106,206,241,227,199,249, 29, 58,116,200,
-121,249,242,101,149,118, 36,186,186,186,182, 89,191,126,189,103,251,246,237, 81,187,118,109, 85,159, 62,125,184, 77,155, 54,229,
- 14, 27, 54, 44, 38, 57, 57,249,108, 37,233,252, 8,130,216, 74, 16, 4,197, 48,204, 64,252, 25,186,225, 99,131, 36, 73,114, 36,
- 65, 16, 61, 88,150,245, 34, 8,226, 21,203,178, 7, 25,134, 41, 47,112,107,121,248, 2, 64, 71,146, 36,131, 1,128, 97,152, 59,
- 0,142, 2,150,239,188,251, 59, 57, 69, 34, 81, 16, 0, 20, 20, 20,220,253, 88,156, 4, 65, 4, 1, 0,203,178, 85,229, 28, 44,
- 20, 10,135, 3,128, 90,173, 94, 7, 11,210, 65,189, 11,118,181, 47, 27, 60, 59, 26, 0,112,231, 71, 95, 0, 64,101,206,137, 81,
-209, 68,101,190,171, 52,190,202,112,148,130,142,253,251,247,159,191,125,251,246, 31, 1, 28,250, 43, 30,124, 23, 23,143,149,191,
- 44, 91,235,250,205,215, 67, 23,162, 48, 35, 68,249, 13, 18,248,148, 71, 81, 93,117, 38,211,165,199,192, 94, 0, 28,185, 92,222,
-143,199,227,181,210,233,116, 10, 14,135,147,162,211,233, 46,230,230,230,238, 68, 57, 25, 16, 44,190,175, 79, 32,211, 23,192,133,
- 96,254,204,243,198,146,208,114, 69, 72, 37,234, 34,251, 31,208,141,146, 0,198, 23,213,117, 3,202, 14,231, 81, 94,231,243,141,
-171,171,107, 15,165, 82, 89, 64, 81, 20,139,194, 93,207,133,255, 20,254,157, 96, 24, 38, 61, 43, 43,107, 96, 69, 92,226,106,168,
-195, 19, 19, 91, 77, 6,168,141, 90,118,180, 42, 1,209, 18, 15, 52, 99,129,129, 44, 80,147,164, 72, 71,134, 97, 82, 0,156, 37,
-141,136,200, 79,198,139,127,232,224, 94,189,232,190,214, 40, 58,167, 1, 56, 3,184, 15,224, 27, 0,249, 86,253,243,183,225, 93,
-103,248, 35, 0, 82,138,133, 86,137,112,247,173, 59,119,238,124,193,211,211,221,175, 87,247,158,243, 71,141, 28, 77, 80, 20,137,
-135,143, 30,113,190, 28, 56,248, 51,153, 76,230, 38,209,106,235,130, 32,152, 2,129,224,161, 82,153,155,180,119,231,118,169,111,
-157, 58, 38,147,137,193,234, 53,191,119,216,247,199,129,105, 22,138, 45, 31, 23, 23,151,173, 83,166, 76,113,233,218,181, 43,229,
-226,226,130,216,216, 88,187, 93,187,118,213, 89,177, 98, 69,239,236,236,236,129, 0,158, 85,161,178, 45, 93,228,228,103, 82, 33,
-209, 22,121, 38,228, 25,112, 38, 85,141,147, 0, 46, 85,245,238, 21, 20, 20,140, 45, 40, 40, 8,105,212,168, 17,187, 97,195, 6,
- 98,208,160, 65, 44, 65, 16,132, 90,173,222, 12,160, 74, 66, 75, 44, 22,175,106,223,190,189,183,183,183,247,171,151, 47, 95,118,
-220,179,103,207,209,240,240,112, 47,177, 88,252, 28,128, 79, 37,233, 54,101,102,102, 6,170,213,106,184,187,187,111, 0,208,224,
- 47,120,136, 8,138,162, 14,186,185,185,177,139, 22, 45, 58, 20, 24, 24,232,156,149,149,101,156, 52,105, 82,187,235,215,175,119,
- 48,153, 76, 93, 43, 33,182,100, 4, 65,172,113,118,118,118, 88,184,112,225,139,134, 13, 27,222,231,243,249,188,231,207,159,139,
- 38, 76,152,240,237,179,103,207,122,179, 44, 59, 18,168,212, 0, 33, 35, 8, 98,141,171,171,171,195,252,249,243, 99,131,131,131,
- 31,114,185, 92,238,243,231,207,197,223,127,255,253, 55,209,209,209, 85,226, 36, 73,114,117, 72, 72,136,236,199, 31,127,124, 82,
-167, 78,157,171, 20, 69,241, 18, 19, 19,201, 89,179,102,125,125,234,212,169, 48,134, 97, 70, 85,165,156, 78, 78, 78,178, 89,179,
-102, 61,105,218,180,233,117, 46,151,203,125,250,244, 41, 57,101,202,148,175, 95,188,120, 97,113, 57,229,114,121, 40, 65, 16,107,
- 83, 83, 83, 57, 0,160, 80, 40, 26,219,216,216,172, 40,153,211,210, 28,138,194, 96, 48,228,105, 52,154,254, 89, 89, 89,165, 6,
-194, 29, 52,117,121, 23, 0, 88,161, 55,159, 23,190, 86,116, 14,172,142,176,164,210, 65, 46,133,113,241,126, 81, 13,233, 14, 0,
-253,138, 82,133,255,162, 2, 56, 28, 14, 19,228,242, 13,123, 55,181, 82, 33, 99,186,181,105,211,102,214,217,179,103,127,111,221,
-186,245,247,219,182,109,115, 74, 72, 72,248,249,210,165, 75, 30,125,251,246, 29,116,230,204,153, 5, 25, 25, 25,251, 62,214,195,
-207,227,242,249, 4, 73, 64, 40, 16,217, 88,242,126,154, 36, 59, 95,237,214,109,248,186,167, 79,131, 87, 68, 71,123,170, 20,138,
-144,113,227,198, 57,247,236,217,147,244,240,240,192,139, 23, 47,236,183,109,219, 86,119,221,186,117, 61,114,114,114,198, 3,136,
-251, 16,145,165,202, 65, 61,173, 14,193, 44, 11,187,226, 6, 75, 32,135,175,199, 29,246, 9, 30,252, 3,196,214,204, 77,155, 54,
-253,248,226,197, 11, 44, 88,176, 0, 0, 86, 86,242,243, 19,186,117,235,214,233,192,129, 3,194,189,123,247, 10, 27, 53,106, 4,
- 23, 23, 23, 20, 77,166,138, 3, 83,123,122,122, 90,118,207, 24,252,178,244,232,144, 6, 15,179,142, 97, 85,207,212, 5, 66,119,
- 24,155,117,243,238,209,121, 80, 48,108, 29, 69, 16, 72, 56,200,201, 84, 6, 60,189,147,208,254,220,158, 23, 63,191,136,122,179,
- 80, 21,143,153, 40, 59, 38,223,127, 5,246,246,246, 27, 98, 98, 98, 66,197, 98,241, 91,215, 95,189,122, 21,228,237,237,157, 11,
-224,187,202, 10, 55, 71, 71,199, 29, 12,195,104, 51, 51, 51,135, 2,128, 84, 42,221, 46, 22,139,101, 41, 41, 41,211,254,170,137,
-140, 25,239,106,145,127,185, 69,171,216, 95,171,180, 92,135, 4,105, 98,154,143, 26, 57,154,232,211,175,111,234,139, 87, 49, 12,
-135,230,245, 59,126,226,132,200,207,207,143,212,174, 92, 9,227,155, 55, 48,124,251,109,179,211,167, 79, 27,194,250, 13, 80,211,
- 20,177,201,203,179,166,104,247,206, 93, 46, 7,246,239,107, 14,160, 34,161,197,115,113,113,217,122,254,252,121, 55, 79, 79, 79,
-228,228,228, 32, 54, 54, 22, 42,149, 10,189,123,247,166,155, 55,111,238,214,171, 87,175,173,185,185,185, 45, 42, 97,217,114,174,
-237,206,137, 28, 57,184,167, 79,135,207,154,139,221, 60,106,129, 77,213, 32,225,101,116,163,200,243,215,199,109,218,127,244,217,
-139, 92,182, 51, 74,207,141, 84, 46, 50, 50, 50, 38,247,232,209, 99,127,104,104,168, 35,159,207,135,171,171, 43,209,181,107,215,
-244,228,228,228,217, 85, 86, 45, 69, 41,108, 72,146, 52,149,124, 45, 37, 61,144, 37,112,151,201,100,144,201,100, 0,224,246,161,
- 51, 79, 59, 59,187,149, 82,169,180,151, 82,169, 84,147, 36,201, 18, 4,193,234,116, 58,161, 76, 38,187,247, 36,250,153,171, 86,
-171,173,189,120,233,186,101,109, 90, 6,218,156, 58,117, 10, 61,123,246,100, 79,158, 60, 57,210,210, 60,117, 4, 65,172,233,209,
-163, 71,193,140, 25, 51, 52, 47, 94,197,186, 61,121,246,138, 16, 11,120,140,131,131, 3,125,243,230, 77,206,146, 37, 75, 4,179,
-102,205, 90,195,178,108,175, 74,220,207, 53,125,251,246,213, 79,156, 56, 49,229,233,139, 24,167, 7, 79, 94,176, 18, 1,109,116,
-112,176,167,174, 95,191,206, 84,133,147, 36,201,213,147, 39, 79, 86,142, 28, 57, 50, 59, 51, 43,215, 37, 91,153,207,242,105,202,
-224,226,226,194, 57,116,232,144,118,199,142, 29,228,240,225,195, 87, 51, 12, 19, 86,137,251,187,186,107,215,174,121, 83,166, 76,
-201,121,254,234,181,203,131,199,207, 32,226,211, 6,103,103, 39,234,214,173, 91,250,197,139, 23,147,115,231,206,181,168,156, 98,
-177,120,203,158, 61,123, 56,135, 14, 21,246,125,215,174, 93, 35,189,188,188, 68, 37,223,163,214,104, 65, 18, 64, 70, 70,134,168,
-105,211,166, 91, 0,188, 23,220, 55,120,118, 52, 6, 77, 5,198,142, 29,155, 82,217,135, 37, 88, 49,174,194,247,152,126,247,101,
-151, 20, 12,233,206,225,112,152,225,195,135,167,190,251,119,141, 70, 67, 0,232,138,159, 45, 23, 91, 29, 59,118,252,225,200,145,
- 35,181,182,109,219,246,235,142, 29, 59,116, 0, 32, 16, 8, 28,118,237,218,181,160,119,239,222,232,221,187,247,140,125,251,246,
-125, 52,161,101, 98, 77,122, 0,224, 11,248,252,232,232,104,194,215,215,183,220,136,251,122,134,185,189,238,233,211,134, 95,249,
-250, 54,202, 98,152,218,220, 14, 29,242, 39, 76,152,144,161, 84, 42, 17, 27, 27, 11,189, 94,143, 65,131, 6, 81,173, 91,183,118,
-237,221,187,247,242,188,188,188, 47, 0,232, 45,120, 38, 23,187,185,185,141,200,205,205,205, 55, 91,117, 90, 12, 52,113, 90, 5,
- 25,249,245,107, 27,120, 92,202,200,237,242, 45, 67,156, 92, 73,168,124, 61,113, 25, 0,184, 5,120, 83,201,201, 64,169,176,113,
-135,167,137,198, 92, 71,119, 97,155, 55,113,234,159, 84,241,229,138,165, 47,196, 98,113,119,149, 74,181,175,104,112,246,233,220,
-185, 51,174, 95,191, 14, 0,205,139,132, 86, 27,146, 36,191,100, 24,102, 61,128,242, 82,185,141,235,214,173,219,167, 7, 14, 28,
-144, 2,192,190,125,251, 96, 48, 24,224,229,229, 5, 46,151, 11, 30,143, 7,154,166,139,179,131, 88, 8,133,163,163, 3, 28,108,
-105,200,228,226, 14,223,255,214,141, 83,205,207, 6,233,166, 71,200, 98,115, 96,100,181,224,218,139, 81,167,189, 29,130, 63,107,
- 67, 70,172,126, 56, 45, 98,213,147,134, 5, 36,186, 32, 14,218,127,202,200, 78,146, 36,255,254,253,251,112,117,117,125,235, 58,
- 69, 81, 0,208,170, 10,148, 51, 94,189,122,213, 52, 42, 42, 10,161,161,161, 51,234,213,171,247,249,133, 11, 23, 92, 50, 51, 51,
- 17, 26, 26,186, 60, 49, 49,241,208, 95, 93,167,146, 90,228,127,197,212, 69,190,163, 36, 91, 23,206,130, 73,138,162, 72,196,188,
-138, 53,132,134,182, 13,143,143,143,151,132,132,132,144, 52, 77, 67,117,246, 44, 52,183,110, 65, 34,145,160, 71,143, 30,244,197,
-139, 23,109,108, 36, 54,195, 94,199,188,206,163, 40, 18, 44, 75, 86,232,243, 32,147,201,190,158, 54,109,154,139,183,183, 55,140,
- 70, 99,113, 68,115,163,209,136,132,132, 4, 72, 36, 18, 12, 28, 56,208, 73, 36, 18,125,109, 97, 61,106,248,120, 57,221, 57,127,
-116, 77,131, 9,163, 58,138,125, 68,167, 32, 78, 24, 15,201,190,175, 80, 55,249, 56,166,116, 15, 17,159, 92, 53, 35,184,150,171,
-252, 78, 9, 19,171,197,208,106,181,151, 31, 62,124, 56,236,194,133, 11, 12, 0,156, 59,119,142,125,242,228,201,200, 15,153,133,
- 50, 12,131,156,156, 28, 48, 12, 67, 21,157,155, 95,255,171,207,131,141,141,205,234,207, 63,255,188,111, 92, 92,156,240,216,177,
- 99,246,241,241,241, 14,175, 95,191,118,244,241,241,225, 44, 88,176,224,136, 70,171,167, 12, 38, 86,103, 52, 25,242, 82, 30, 61,
-122,149,157,150,118,103,227,198,141,106,130, 32,122, 88,248, 29, 95, 40, 20, 10,251,169, 83,167,130,160, 69,141,235,212,173,231,
- 77,209, 66, 91,146,230,217,170,213, 26, 83, 76, 76, 76,194,212,169, 83,107, 6, 6, 6,186,162,112,121,205, 34, 78, 87, 87, 87,
-135,137, 19, 39,130,195,151, 6,213, 15, 12,174,197,227,139,165, 20, 45,148,134,132,132,180,126,245,234, 85,242,148, 41, 83, 20,
-141, 26, 53,170, 20,103,163, 70,141,100,195,135, 15, 55, 10,132,210,166,158,158, 94,117,235,251,215,237,228,227,227,211,157,195,
-225, 24,223,188,121, 19, 55,112,224, 64, 69,151, 46, 93,156, 43,195,233,228,228, 36,155, 50,101,138,209,163,186, 87,251,246,159,
-126,214,132, 43,148,218,114,120, 98,187,130, 2,141,233,233,211,167,113,211,167, 79, 87, 4, 5, 5, 57, 89,194, 89, 80, 80, 64,
- 59, 56, 56, 32, 32, 32, 0,126, 94, 94,200,205,205,197,129, 3, 7,176,105,211, 38,172, 95,191, 30, 59,119,238, 68,195, 22,159,
- 65, 42,149, 34, 57, 57, 25, 74,165,146,254,187, 31, 40,211,239,190,236, 10,221,136,174,163, 71,143, 78, 30, 62,124,120,170, 80,
- 40,100,222, 61,228,114,185,169,127,255,254,105, 3,191, 95,218,213,188,180, 88,129, 37,235,254,209,163, 71, 95,110,219,182, 13,
-126,126,126,104,223,190, 61, 15, 0,190,254,250,107, 94,239,222,189,177,103,207, 30,236,219,183,239,177,183,183,247, 21, 0,221,
- 44, 41,231,192,129, 3, 91,132,133,133, 93, 10, 11, 11,187,219,167, 79,159,181, 35, 71,142,124,107,228, 74, 73, 78,188,173,211,
-233, 16, 24,220, 72, 52,103,195,141,254, 21,241, 61, 1,182,173,141,142,222,180,240,209,163,184, 25,126,126,118,213, 95,191,150,
-111, 94,188,216,193,156,164,219, 96, 48, 32, 33, 33, 1, 50,153, 12,253,251,247,119,224,243,249, 3, 45, 40,230,146,110,221,186,
- 13,142,143,143,151,172, 91,183, 78,113,247,238, 93,215,148,148, 20,197,153,211, 39, 28, 39,125,247,181,212, 86,194,227, 37,191,
- 97, 9, 0,120,157, 12,113,116, 12, 90,176, 44,236, 74, 46, 39, 86, 9, 10, 8,133,238, 88, 81,171,133,221,179,137,123,130,250,
- 76,137, 12,118,144, 41,248, 83,203,249, 68,253, 69,139, 22,237,141,136,136,232,215,162, 69,139,253, 0,132,165,188, 71,208,176,
- 97,195, 3,123,246,236, 25,220,178,101,203,203, 0, 2,202,156, 69,186,187,247,248,227,143, 63,236,205,231, 14, 14, 14, 16, 8,
- 4,239,137, 44, 46,151, 11,146, 36, 43, 93,189,121,187,250,113,228,117,181,120,152,125, 20,123, 22,221,199,162, 14, 79,153,249,
-205, 94,107, 87, 14,140,198,201, 61,247,145,142,251,232,248, 85, 45,244,155, 30,216, 78,100,194,220,127,210, 0,254,230,205,155,
- 47, 91,181,106,181,183, 99,199,142,218,168,168, 40,188,121,243, 6,110,110,197,115,237,212, 42, 80,202, 69, 34, 17, 60, 60, 60,
-224,237,237,221,239,226,197,139, 46, 6,131, 1,175, 95,191, 70,122,122,250,157,191,163, 78, 37,181,200,191, 12,239, 58,194, 31,
-121, 79,104, 21,229, 22, 58, 15, 0, 44, 65,168,238, 63,124, 72, 83, 60,222,128,237, 59,118,240,185, 92, 46,226,226,226,240,248,
-241, 99, 20,156, 57, 3,245,213,171, 72, 75, 75, 67,126,126, 62,156,157,157,177,102,195, 6,177,206,196, 14,121,250,236, 25,197,
-146,108, 73,127,131, 82,183,120,242,249,252,118, 61,123,246, 44, 83,144, 37, 39, 39,163, 99,199,142, 52, 69, 81,165,237,106,120,
-151,147,112,117, 36, 34,206,236,159,163, 80,240, 30, 3, 47, 38, 0,121,119, 0, 86, 11, 24,117, 64,210, 3,224,200,108, 84,207,
-143, 38, 78,204, 9,119,113, 19,113, 34, 74, 81,202, 21,109, 69,245,242,245,245, 93, 63, 96,192, 0, 18, 0,218,180,105, 67,248,
-250,250,174, 5,224, 85,206,103, 78, 87, 48, 72, 94,207,206,206, 70,239,222,189,237,107,213,170,117,186,119,239,222,246,230,235,
- 85,229, 52, 91,147,253,252,252, 50, 5, 2,193, 78,192,162, 14,182,152,211,206,206,110,101,199,142, 29,123,237,216,177,131, 11,
- 0,231,207,159, 71, 68, 68, 4, 30, 61,122,132,231,207,159, 51,193,193,193,142, 75,215,239, 93,189,242,247, 45, 75,186, 55, 15,
-116,109,221, 56,184,174, 36, 63, 59,223,217,217,185, 57,203,178, 94, 22,150,179,227,236,217,179, 31, 63,121, 25,103, 75,114,104,
- 14,151,230,240,109,108,196,206, 50,169,216, 93, 46, 18,184,241, 73, 66, 82, 80, 80,144,186,115,231, 78, 6, 64, 71, 75, 57,231,
-204,153, 19,243,228, 69,156, 29, 65,114, 56, 52,135,230, 74, 36, 34,187, 14,237, 67, 27, 1, 0, 23, 44, 87,169, 84,166,109,218,
-180, 73, 95, 25,206, 31,127,252,241, 97, 86, 78,190,140, 67,211, 52,135, 67, 21,223, 75,177, 80,232, 40,226,243,121, 90,173, 54,
-105,217,178,101,234,202,112,206,158, 61,251,241,211,151,241,114,146, 32, 40,130, 32, 57, 54, 82,177,189,189,173,200,209, 81, 34,
-116, 16,113, 40,158, 82,169, 76,218,186,117,171, 69,156,122,189,158,155,150,150,134, 39, 79,158,192,163, 81, 35,156, 58,117, 10,
-213,170, 85, 67,239,222,189,209,183,111, 95, 8,133, 66,180,105, 90, 15, 83,167, 78,197,203,151, 47,161,215,235,249,165,113,154,
-253,164,222,133,171,171,107, 84, 69, 15,207, 59,159,125,171,156, 65, 46, 96, 87,232, 70,116, 45, 41,176,202,226,151,203,229,166,
-210,172, 93,239,114,118,236,216,241,135, 51,103,206,212,218,186,117,107,215,129, 3, 7, 94,222,186,117, 43,154, 52,105,130, 39,
- 79,158,160,102,205,154,216,188,121, 51,250,246,237,123,121,249,242,229, 93,163,162,162, 2, 61, 61, 61,167, 85,196,217,167, 79,
-159, 49, 65, 65, 65,103, 83, 83, 83,155,102,101,101, 5, 28, 56,112, 96, 72,143, 30, 61, 98,250,245,235,215,182, 88, 48, 26, 12,
- 59,142, 28,222,143, 78, 93,123,162,142,127,192,234, 65,211,182,213,171,160,109,178,143,128,181,155, 82, 82,222,236,208,104, 10,
-122,211,180, 72,116,227,134,124,223,239,191, 59,148,204, 44,144,148,148,132, 46, 93,186,208, 92, 46,183,101, 5,229, 92,212,189,
-123,247,222, 7, 14, 28,144,153,173, 58, 87,175, 94,197,131, 7, 15, 16, 27, 27,139,156,156, 28,180, 29,153,143,209, 11, 10,185,
- 71, 47, 96,241,217,215,172,184,138,125, 72, 49,132,213,224, 98,111,195,185, 50,100, 89,157,175, 71,172,246,227, 72,228, 52,182,
-127,255, 28, 25,175,181,251,202,224, 36,154, 54,109,186, 45, 44, 44,140,208,233,116,208,233,116, 58, 0,165, 70,245,117,115,115,
- 19,212,175, 95, 31, 35, 71,142, 36,109,108,108,150,151, 85, 78,149, 74,165, 61,122,244, 40, 6, 14, 28,136,241,227,199,163,118,
-237,218,144,201,100,160,105, 26, 91,182,237,118,232, 59,100,148, 79,131, 22,173, 2,253, 26, 52,169,159,167,165, 26,209, 66,217,
-240, 50,172, 33,165,214, 61,223, 41, 10, 15, 95, 95,195,138,174,137,204,205,205, 5,249,147,190,252, 79,244,211, 11,105,143,166,
-133,173,125,200, 94,107,150,177,237,155,120,164, 25,158,160,101,239,234,240, 12,146,125, 43,246,128,111, 85,239,167,133,168, 20,
-103,189,122,245, 90,220,188,121,147,223,170, 85, 43,196,197,197,129,166,139,231, 83,166, 15, 41,231,236,217,179,249, 26,141, 6,
-247,238,221, 67,120,120,120,146, 94,175,255,246, 67,202, 89, 25,139,150, 89,139,252,203,176,246,157, 35,165, 44,139,214,108, 0,
- 48, 48,136, 24, 16, 62,164, 32, 50, 50, 82,196,227,241, 16, 23, 23,135,148,148, 20,108,217,180,201,212,198,201, 41,175,189,155,
-155,114,203,166, 77,172, 78,167, 3,203,178,240,245,245, 69,175, 94,189,132, 95,244,238,151, 78, 40,213,187, 45, 88,230, 81,152,
-215,215,135, 12, 25,242,222,223, 39, 77,154, 4, 27, 27, 27, 16, 4,225, 98, 65,229,194,198,205,238,238, 46,243,180, 75, 99, 83,
-183,100,129, 18, 0, 28, 41,192,177, 1, 4,182, 0, 95, 10,240, 68,208, 70,157,205, 34,217,246,177, 61, 91, 14,117, 3, 80,153,
-165, 30,184,186,186,206, 56,123,246,172, 99, 84, 84, 20,171, 84, 42,145,146,146,194,206,159, 63,223,209,213,213,117, 70, 85,127,
-145,228,228,228, 57,157, 58,117, 74, 11, 15, 15,183, 61,126,252,184, 71,120,120,184,109,167, 78,157,210,146, 7,149,255,129, 0,
- 0, 32, 0, 73, 68, 65, 84,147,147,231,124,200, 47,205,229,114,169, 71,143, 30,201,231,206,157,219, 23,192,109,127,127,255, 76,
- 55, 55,183,219, 40,116,154, 44, 23, 82,169,180, 88,100,153,173,107, 28, 14, 7, 52, 77,195,213,213, 85,151,149,149,101,106,217,
-192, 75,232,107, 75, 26, 92,249, 92,161, 92, 40,112,151,218,216,134,100,102,102,222, 39, 8,226,149,133, 75,124, 65,141, 27, 55,
-166, 77, 44,205,140, 30,208,198,245,235,193,161, 78,191,205, 29, 94,109,217,156, 17,110,139,102, 13,243,157, 51,185,127, 40,201,
- 48,154,154, 53,107,186,152, 29,218, 45, 48,159, 7, 55,108,216,144,195,128,198,147,103,177,105,113,137, 73,121,159,182,110, 90,
-108,185,244, 11, 10,110,239,232,232,216,202,215,215,183, 33, 65, 16, 22,109, 73, 22, 10,133, 65,117,234,212,225,144, 20, 77,216,
-203,164, 30, 82,137,208,185,120, 9,197,206,174,153,220,209, 49,140,100,217, 92,133, 66,225, 36, 20, 10,131, 42, 81,119, 14, 3,
- 46,156,157,228,182,142, 14,118,146,246,161,205,107, 55,109,214,212,167, 94, 72,147,166,254, 13, 26,126, 65, 24,141, 74, 47, 47,
- 47, 39,179,147,124, 5,150, 86,193,142, 29, 59, 48,119,238, 92,212,175, 94, 29,110,110,110,112,114,114,194,213,171, 87,113,243,
-230, 77,200,100, 50,164,167,167, 99,241,226,197, 56,120,240, 32,244,122,189,180,178,207,147, 37, 98,171, 60, 24,141, 70,242, 93,
-129, 85, 22,191, 80, 40,100,204, 78,242,101,225,232,209,163,219,204,150,172,111,190,249,166,197,210,165, 75, 47, 71, 71, 71, 67,
- 34,145,224,230,205,155, 24, 50,100,200,229,229,203,151,183, 24, 53,106, 20, 54,109,218,132,152,152,152, 13,229,241,245,233,211,
-103,214,176, 97,195,150, 93,184,112,129,116,118,118,134, 76, 38, 67,247,238,221,177, 97,195, 6,142,209,104,220, 24, 22, 22,118,
- 55, 44, 44,236,174, 41,225,228, 15,123,215,207,191,250,240,254, 93,140, 25, 55,145,167, 51, 26,166, 88, 80,125, 86, 45,145,228,
- 25, 91,181,202,218, 99, 48, 20,244,225,114, 69,182,119,239,202, 35, 54,110, 44, 22, 91, 83,167, 78,133,173,173, 45, 80,232,192,
-140,114,172, 58, 35, 14, 30, 60, 88,220, 31,218,219,219,131,199,227,129,203,229,130,166,105, 80, 20,133,211,171,197,248,125,106,
-161,190,248,125, 42,129,147, 43, 9,213,135,252,118, 34, 55, 4,200,156,121,119,191,218,236, 31, 24,208,214, 30, 87,119,165, 98,
-126,167,168,196,155,123,222, 76,208,164,227,151, 50, 62,214, 96,210,164, 73,126,233,233,233,184,117,235, 22,110,221,186, 85,150,
- 5, 72,115,248,240,225,159,243,243,243,225,233,233,137,110,221,186,181, 2,208,168,140,118,131,134, 13, 27,162, 75,151, 46, 8,
- 13, 13, 69,253,250,245,161,211, 27,233,176, 1, 35,234, 60,138,121,227, 54,127,241,124,209,217,115, 7,200,203,151, 47, 80,219,
-246,159,180,109, 26,250,217, 50,174, 84,113, 29, 66,123,133, 37,245, 44, 48,101, 34, 72,209, 1,107,207,140, 35, 87,156, 15,151,
-108,137, 88,225, 37,149, 74,137, 59,183,238, 26,182,172,218, 19, 31, 32,238,150,126,125, 87, 38, 10,136, 84,180, 29,236, 73, 50,
- 64,175,127,202,200, 46, 16, 8,150, 94,184,112,193, 69,175,215,227,225,195,135, 24, 63,126,188,230, 3, 41,139, 13, 32, 30, 30,
- 30, 56,127,254, 60,250,247,239,175, 73, 75, 75,187,246,119,213,169,164, 22,249, 95, 1,167,132,130, 44, 70, 66, 66, 66,142, 76,
- 38,115,171, 83,167, 14,169,211,233, 10,151, 36,246,237, 51,173,223,184,241,136, 70,163, 25, 7,128,187,242,183,223, 86,187,185,
-187,135, 14, 24, 56,144, 48, 24, 12,232,212,169, 19, 47, 50, 50,210,254, 85,122,122,158, 5, 3,206, 91,223, 55,104,208, 32, 44,
- 93,186, 20, 0, 48,118,236,216, 98,211, 58, 97,129,195,146,196, 22, 29,219,119,110,104,147, 32, 94, 97,163,111,102,200,175,241,
- 82,122, 93,156, 47,108, 8,146,199,129,128, 2,163, 55, 24,159,167,247,184,253,242,121, 93, 63, 97, 86,102,205,118,254,159, 96,
-253,169,173, 29, 11, 76,154, 61, 22,119, 56, 34, 81, 99,137, 68,130,219,183,111,103, 53,108,216, 48,135,101, 89,219, 57,115,230,
- 56,136, 68,162,198, 31,112,239, 95, 63,123,246,172, 85,243,230,205,191, 38, 73,178, 29,195, 48,167,211,210,210, 86, 2,120,109,
-225,231, 71, 3,248, 17, 64,241,204, 82,167,211,129, 36, 73,176, 44,139, 62,125,250, 96,234,212,169,126, 15, 30, 60,192,217,179,
-103,229,237,218,181,187, 14, 32, 7,192, 80, 0,165, 90,205,148, 74,165,250,230,205,155,194,179,103,207,130, 97, 24,200,229,114,
-216,216,216,128,207,231,163,123,247,238,146, 41, 83,166,180, 61,113,226, 68,186,178, 70, 53, 74,144,146,164,226, 75, 36, 82,184,
-184,181, 28,213,239,203,104,150,101, 15, 86,162,115,224, 9, 57, 70, 13, 97,210,146,139,102, 46, 39, 69, 92, 46, 33,224,114,192,
-103, 10,240,195,207,243, 8, 46,107,226,160,146,235,243, 92, 46,151, 43,229, 67, 71,241, 40,131,136, 0,251, 49, 26, 7, 69, 81,
- 60, 1,183,108,127, 12,154, 36, 73,146, 36,185, 0, 44, 78,218,199,231,243,185, 82, 62, 91, 38,167,144, 34, 40,130, 32,120, 40,
- 99, 39, 90,144, 11, 88,179, 21,137, 55,238,149,182,164, 40,110,217,178, 37,142,156,189,141,125, 17,167,145, 17,119, 31,211,191,
-255, 6,141, 26, 53, 66,100,100,100,185,101, 50,251,104,149,101, 93,118,117,117,141, 74, 78, 78,110, 80,214,103,203, 91, 50, 44,
-195, 74,245, 62,255, 76, 91, 4,207,142, 70, 5, 62, 90,221, 90,182,108, 57,102,199,142, 29,186,207, 63,255,156,215,167, 79, 31,
- 4, 4, 4,180, 24, 60,120, 48, 0,160, 93,187,118, 88,186,116,105,139,193,131, 7, 99,247,238,221, 56,112,224,128,182,117,235,
-214,223,159, 63,127, 62, 9,133, 59, 58,223, 3,195, 48, 93,214,172, 89,243,174,165, 16, 70,163, 17, 6,131, 65, 97, 52, 26, 21,
- 69,125, 17,150, 45, 91,158,113,242, 68, 36,190,159, 54, 27, 78,142, 46, 65, 22, 62, 67,196,160,137, 19, 51, 54, 47, 94,140,197,
-187,119, 99, 98,205,154,162,173,143, 31,227,164, 70,131, 61,103,207,102, 20,125, 79,133,190,153, 42,149, 74,125,244,232, 81,155,
- 61,123,246,192,206,206, 14,181,107,215,134, 92, 46, 7, 77,211, 32, 41, 33, 40,174, 12,117,252, 27, 3,184, 9, 0,168,233, 10,
-149,175, 39, 46, 19, 4,114, 88,178,242, 62, 69,252,106,168,225,224, 46,184, 48,102, 83,128,157,141, 19, 23,199, 87,198,227,196,
-138,132,131,154, 12,252, 10, 35,158,162,108,159,175,134,158,158,158, 72, 79, 79,199,209,163, 71, 85, 64,153,130, 12, 12,195,252,
-252,219,111,191, 77,154, 54,109, 26,223,215,215, 23, 0,130, 0,220, 42,237,189, 98,177, 24,110,110,110,197,194,178, 79,248, 40,
-175,145, 19, 70, 9,123,124, 22, 10, 14,199, 1, 57, 42, 3, 50,243, 12,144, 57, 72,240,253,132, 48,193,233,134,110,141,214, 44,
-223,126, 88,173, 70, 35,224,253,254,128, 32,112,235,198,253,203,245, 4,190, 0, 65, 2, 9,228, 57, 16, 32,144, 79, 24, 64, 80,
- 20,107, 50,153, 16, 31, 31, 15,150,101,209,191,199,144,132, 17,243, 15, 56,181,232,175,132, 71, 29, 87, 16, 44, 62,249,167, 8,
- 1,123,123,251,160,204,204, 76,188,126,253, 26,225,225,225, 73, 25, 25, 25,167, 84, 42,213,144,228,228,100, 0,200,170, 2,101,
-177,152, 15, 10, 10, 66,227,198,141,209,187,119,111, 65, 65, 65, 65,152,151,151,151,219,155, 55,111,154,253,149,245,121, 87,139,
-252, 79, 9,173, 82, 27,154,193, 80, 71,187,122, 53, 84,167, 79,131,119,242, 36,246,184,186,230,107, 52,154,239, 0, 36, 20, 53,
-252,111, 54,109,222,124,165,235,181,107, 54,186,232,104,120, 61,120, 0,218,206, 46,168,178, 5,216,184,113, 35,148, 74, 37,114,
-115,115, 1, 0, 43, 86,172,128, 82,169,132,209,194,132,179, 28, 46, 90,184, 56,213, 68, 42,158,131,225,144,146,216, 58, 5, 77,
- 36, 26,105,178, 91,188,179, 42,151,116, 67,116, 92,136, 88,157,169,107, 66, 80, 58,104, 50, 10,224,214,188, 54, 56,224,180,168,
- 76, 25,205,235,254, 28, 14, 39,235,217,179,103, 93,124,124,124, 34, 0, 56, 84,197, 31,224, 29,188, 72, 75, 75, 27, 87,149, 15,
- 82, 20,245, 99, 76, 76,140,211,134, 13, 27,190,158, 51,103, 14, 91, 82,104,153,255,207,225,112,192,178, 44,108,109,109, 65,211,
-180,243,213,171, 87,157, 67, 66, 66, 86, 49, 12, 19, 84, 70, 61,217,128,128, 0,196,196,196,128,195,225,192,214,214, 22,140, 81,
-143,217, 19, 70,193, 68,241, 57,147, 39, 79, 14,234,217,179,231,195, 13, 27, 54, 24,108,154, 54,111,150,153,153,249,104, 76,255,
- 1, 15, 15, 29, 58,164, 43, 10,241, 80,241, 20,159,101,239, 62,127,254,156,114,119,117,166, 88, 99, 1, 35,230, 2,130,251,203,
- 88,158,196, 5, 2, 14,197,114, 9, 18,124,129,208,246,117, 98, 98, 38,195, 48, 79, 44,225,100, 24,230, 78, 76, 76,140,208,217,
-201,158, 83,160,214,229, 11,105,150, 23,123,231,246,171, 26,193, 13,189, 0, 64,115,231,230,121,126,157,186,194,216,180, 55,226,
-154, 53,107, 90,196,169, 86,171,239, 38, 37, 37, 81,206,206,206,156,184,132,196,195,118, 18,177,163,141,157, 93, 19, 0,208,231,
-229,222, 36,181,218, 55, 20,205,113,126,147,153,153,165, 86,171, 99, 44,173,251,203,151, 47, 57, 10,133, 19,117,252,228,153, 8,
-103, 17,223, 73,202,227,216,240, 9,130, 16, 81,132,146,107,100, 50, 4, 34,145,211,235,196,196, 44,150,101,203,180, 16, 46,204,
- 25,208,163,240,247,154,189,187, 4, 55,238,223,191,143, 99,151,159, 64,204,234, 64,104,114,113,114,211, 58,244,159, 60,237,131,
-253,254, 42, 18, 91, 85,178,102,173,169, 27,245, 14, 63, 82, 42,112,132,239,223,191,255,236,109,219,182, 21, 59,160, 60,121,242,
- 4,109,218,180, 49, 47,115,160,125,251,246, 8, 9, 9,193,147, 39, 79,224,237,237,141,179,103,207,242, 41,138,226, 15, 24, 48,
- 96,254,246,237,219,143, 86,104,247, 95,187, 22, 67,134, 12, 41,205,177,250, 37, 0, 13, 33,243,205,159,186,112,139, 67, 86,102,
- 6,210,223,164,222,181,244, 62, 16, 4,129, 65, 19, 39,102,172,209,233,176,227,198, 13, 12, 20,139, 69,155, 95,188, 64,167,144,
- 16,212,107,211, 38,195,146,190,206,108,213,209,104, 52,160,105, 26, 54, 54, 54,176,183,183, 7,151,203, 5, 69,187,130,195, 11,
- 4,201,229, 34,184,101, 32, 22,127, 39, 46, 8,239,128,229, 4,129, 28, 62, 15,119,184,162, 50,125,117, 8,113, 53,116,103, 89,
- 40, 11, 18,112,206, 44, 72,108,171,195,150,150,210, 39,135,173,242,181,179,113,226,226,216,242, 56,156, 92,149,184, 95,147,138,
-233, 69,247,130, 41,103, 34, 81,207,206,206, 14, 9, 9, 9,136,143,143,127,140,242, 29,252, 11,158, 60,121,242,138,207,231,251,
- 57, 58, 58, 2,128,103, 89, 19,115,134, 97,138,253,176,182,238,216,235, 16,212,202, 75,240,105, 11, 63,108,137,152,135,175,194,
-150,131,166, 8,152, 76,122,252,186,180, 51, 76,218,124,132,117, 29, 65,124,210,206, 59,240,116,132,110,152, 65,157,189,238,189,
-137, 0, 7,115,255,211,247,170, 29, 95, 66,214, 3, 67,216, 57, 56, 56,137,185, 92, 46,236,109, 20,186,105, 35,191, 77, 97, 89,
-182,184,221,208, 20,215, 64,230,201,213,153,169,249, 66, 59, 90, 13,176,100,141,170, 69,179,249,248, 72, 76, 76, 28,215,170, 85,
-171,249,121,121,121,217, 42,149,170, 63, 0,120,122,122, 86, 39, 73,146, 15,160,188,213,145,234, 40, 61, 44, 4,247,193,131, 7,
-144, 74,165, 72, 74, 74, 42,105,124, 1,195, 48,255,152, 77, 0,255, 80, 4, 3,184, 3, 64, 1,160, 19, 74,132,119, 32,139, 76,
-117,159, 68, 70, 70,178,145,145,145,159, 20, 15, 94, 44,203, 24,179,178,192,106, 11,239, 45, 77,211, 44,128,146, 59,154, 68,118,
-118,118, 4,237,238, 14,130, 95,232,250,193,126,196,173,175, 6,131,101,161,101, 24, 19, 40, 16,122,176, 37, 38, 45, 42, 1,129,
-121, 14,109, 49,142, 55, 3,169, 60,187,146, 35, 29, 96,100, 97, 2, 67, 85,178, 56,172, 74,165,130,209,104,148,213,170, 85,235,
-136,209,104,148, 21, 13,110,236,127,235, 23, 53,153, 76,175, 40,138,194,215, 95,127, 13,179,245, 71,167,211, 33, 53, 53, 21, 90,
-173, 22, 58,157, 14, 49, 49, 49,200,205,205,133, 78,167,195,163, 71,143,224,233,233, 9,138,162, 20,229,116,230, 44,203,178,240,
-240,240, 64,141, 26, 53, 64, 17, 44,214, 47,154,133, 31,198,143, 66, 95, 79, 6, 27, 87,254,138,214,173, 91,215,173, 89,179,102,
- 83, 14,135, 99,114,113,113,225, 30, 56,112,224,176,201,100,234, 14,203,123,158,163, 83,167, 78,173,225,239,239,239,100,103, 35,
- 53,240,121, 20,120, 6, 21,203,215,102,178,156,130, 12,120,120, 84, 55, 66, 40,242, 30, 56,112,160,169, 44, 43, 68,105,156,223,
-125,247,157,194,215,215,215, 86,102, 39, 85,241,104, 42,157, 11, 54, 35,247,254,173,235, 0,192,115,116,210, 64, 32,242, 11, 15,
- 15, 55, 86,134,115,198,140, 25,158,142,142,142,118, 36,216, 60,147, 94,255,231,122,187, 86,151, 73,208,180, 26, 92, 94,195,177,
- 99,199, 18,149,225,156, 52,105, 82, 77, 63, 63, 63, 59, 59, 27,113, 62,135,166, 82,184, 12,147, 34, 0,147, 74,235,244,217, 2,
- 71,135, 2,136, 36,193, 3, 7, 14, 44,147,211,108,205,154, 50,101, 74,194, 59,194, 27, 89, 89, 89,208,164, 62, 4, 55, 41, 26,
-129, 18, 26,141, 28,101,224,243,249,197, 91,223,203,122, 92,203,242,209, 42, 77,108, 89,250,217,134, 63,149,179, 4,184,166,110,
-212,187,113,179,146,147,147,161, 80, 40,202,109, 79,219,183,111,159, 22, 26, 26,154,222,190,125,123,221,145, 35, 71, 64, 16, 4,
-206,158, 61,139,164,164, 36,180,111,223, 30, 44,203,154,119,181,225,238,221,187,104,215,174,157,174, 85,171, 86, 73, 69,241,181,
- 42,196,144, 33, 67, 96, 48, 24,144,159,159,143,172,172, 44, 68, 70, 70, 34, 48, 48,144, 21,137, 68, 61, 41,143,207,230,133, 13,
-155,214, 44,160,126, 16, 86, 45, 95,172,227,113,232,133,149,105,175, 4, 65, 32,252,187,239, 50,114,131,131,179,182,170, 84, 5,
-131,108,108, 68,181, 18, 18,228,183, 79,156,112,208,235,245, 22,113,152,173, 58,238,238,238,197, 34,139,203,229,130,195,115, 4,
- 37,174, 7,158,125,123,136, 92,122,226,220, 29,190,214, 86,140,131, 82, 9,142,139,237,202, 14,237, 32,242,192,188,102,125, 20,
- 7,154,247, 85,156, 17, 85,195,134,162,241,128,100, 57,196,129,193,191,250,212,114,172, 33,196,181,189,169, 56,185, 42,241, 15,
- 77, 42,102, 1,120, 81, 81, 59,215,235,245, 26,147,201, 4,146, 36,193,225,112, 74,250, 4, 94,249,227,143, 63,112,251,246,109,
-160, 68,216,158,188,188, 60, 19, 69, 81, 16, 8, 4, 0, 32, 41,167,191, 3, 77,211,160,105, 26,231,175, 95,180,239,251, 69,103,
-226,234,189, 83,104, 30,216, 15,153,249,122,164,229,234,145, 83, 0,248, 55,154,142,128,118, 7,113, 63, 38, 15, 65,245, 3, 40,
-138, 39, 14, 47,141, 79,243, 26, 9,170,120,244,202,124,204,212,214, 37, 10,143, 93, 59,244,228,241,197,125,247, 31,237,250, 45,
-226, 69,179, 70,173, 84, 69,198, 4,228,231,231,179, 4, 65,176,223, 14,159,246,106,235,144,108,211,242,254,247, 25,142, 86,240,
-242,111,236,234,171, 59, 58, 58, 94,181,183,183, 63, 91, 36,142,170, 75,165,210, 43, 10,133, 34, 26,133, 27, 61, 14,165,164,164,
-248,170, 84,170,230, 40,220,156, 21,151,153,153,217,166,200,242, 20, 87,142, 37,108,131, 82,169,252,198,100, 50,117, 45, 58, 58,
-152, 76,166,160,231,207,159,251, 5, 5, 5, 61,246,242,242,186,235,229,229,117,204,203,203,235,176,151,151,215,225,208,208,208,
-165,230,112, 15,127,241,178,225,123, 90,228, 95, 38,180, 80, 36,178,214, 22,189,162, 88,104, 1, 56,255,174, 3,154,145,207,127,
-100, 28, 51, 6,118,135, 15,131,126,254, 28,131,195,195,109, 68, 34,209,114, 20,198,104,106, 46,145, 72, 86,205,154, 53, 75,234,
-176, 96, 1, 92, 47, 94, 68,108,100, 36, 12, 52,125,171, 42,165, 83,171,213,224,112, 56,197,150, 24,177, 88, 12,147,201,132,210,
- 76,190,239, 53, 64, 35,174, 37,165, 69,131,135, 26, 96,192,230, 31, 87,182,186,209,239,213,116,167, 72,165,167,247, 11, 21,215,
-251, 39,199, 38, 78,203,171,183,184,161, 34, 56,249, 60, 59, 1,226,227, 19, 96, 2, 83,169,245,102,141, 70,147,171, 82,169, 16,
- 20, 20,100,127,251,246,237, 90,129,129,129,242,162,235, 55, 63,240,135,105,234,234,234,186,215,205,205,237,181,171,171,235, 94,
- 0, 77, 43,241,217, 13,151, 46, 93, 2, 69, 81,152, 53,107, 22,242,242,242,160,215,235,145,153,153,137,248,248,120,232,116, 58,
- 36, 38, 38,226,233,211,167,208,233,116,136,141,141,133, 86, 91,241,132,132, 97, 24,216,216,216, 64,163,206,199,239,243,126,192,
-140, 41, 19,144,251, 50, 10,137,201,105,176,179, 21, 99,220,184,113,148, 76, 38, 99, 24,134,169, 97, 50,153,218, 49, 12,179,218,
-146,223,169,196,243,118,217,195,195, 35, 96,209,162, 69,126, 63,204, 91,205,181,225,228,179,124,169,128,225, 73,249, 44,175,110,
- 19, 12,153,190,156,187,108,201, 47,207,174, 93,187,150, 4,203,130,119,146, 0, 46, 7, 7, 7,251, 36, 37, 37, 5,250,250,250,
-214,113,168, 94,147,207, 87,184,229,112, 21,213,148,172, 86,115,131,112,171,214,114,245,234,213, 15,175, 92,185,146, 92, 25, 78,
-177, 88, 92,119,203,150, 45, 1,206,206,206, 1,180, 80, 40, 40,200,205,221, 99, 44, 80,237,165,236,100, 2,210,198,174,195,193,
-131, 7,163,246,239,223,159, 90, 25, 78,111,111,111,223,121,243,230,249,215,171, 87,207,223,197,179, 22, 95,232,230,145, 41,112,
-175,158, 41,172, 23,200,135,123,141,207, 87,173, 90,117,247,218,181,107, 22,113, 82, 20,101, 36, 73, 18, 52, 77, 67, 36, 18,225,
-248,241,227, 24, 51,172, 31, 60,220,236, 81,199,215, 23,109,191,250, 6,251,247,239, 47,246,225,161, 40,170,204, 17,125,243,130,
-113, 17,193, 10, 34, 10,107,234, 70, 97, 77,221,168, 96, 5, 17, 85,166,216, 42,250,123,105,239,177,168, 55, 42, 99,185,209, 2,
-177,117,244,252,249,243, 63, 15, 26, 52,136,215,177, 99, 71,220,184,113, 3, 67,134, 12,185,124,224,192, 1, 0,192,141, 27, 55,
-240,237,183,223, 94, 62,115,230, 12, 70,141, 26,133, 54,109,218,240, 46, 93,186,180, 10, 22,196,254, 49, 26,141,216,184,113, 35,
-140, 70, 35, 36, 18, 9,228,114, 57, 58,119,238,140,135, 15, 31,142,218,180,105, 83, 52, 69,211, 95,118,234,250, 5,142, 28, 62,
-128,167,143, 30,142,218, 60,127, 64,165,131, 2,147, 36,137,142,225,225, 25, 25,254,254, 89,155,149,202,130,161, 50,153,200, 55,
- 53, 85,126,110,239, 94, 7, 11,132, 26, 97, 50,153,138,197,149, 89,116,152, 15, 14,207, 17, 28,113, 0, 56,210, 70,184,255,130,
-107,224,134,224, 14,175, 17,158,148, 23, 63,139,230,145, 67,122,254,224,137,158, 63,120,162,219,228,154,131, 69,213,176, 94, 92,
- 13,163, 59,142,175, 17,234,213,200, 22,202,116, 61, 34,127,141,141,211,100, 98, 1,128,167,150,180,115,134, 97, 30, 39, 37, 37,
-129,199,227,161, 90,181,106, 62, 0,204,126,129, 27,134, 15, 31, 62,246,167,159,126,154, 0,224,167,162,107,146,208,208, 80,255,
-252,252,124, 60,127,254, 28, 0,110,151, 99, 13, 46,222,101,152,165,140,229,215,116,173,135,192,186, 35, 33,147,213, 71, 82,150,
- 14,201, 89, 58,172,255,189, 59,162, 46,205,197,237,147, 3, 17,151,154, 10,161, 75, 15,152,140,218, 0, 11, 38,245,174,247,238,
-221, 35, 46, 93,186, 68, 48, 12, 3,131,193,192,230, 41,149,236,157,203,151,161,190,112,129,176,177,177, 33, 90, 52,110,149,191,
-121,238,145,155, 7, 87, 94,190,173, 47,168,244, 68,253, 67, 48,227,213,171, 87, 77,247,238,221, 27, 10, 96, 70,189,122,245,174,
-197,199,199, 55,187,120,241, 98, 29,119,119,247,229, 85, 37, 53,135,133,136,141,141,125,235, 40, 10, 11,161, 43, 18, 13, 29,139,
-196, 92, 55, 0,223,226, 3,118,217, 87, 2,231,255,197,206,240, 71,240,206,110,195,119,133, 86,201, 64, 97,240,146,201,164, 6,
-131, 62,241,212,169, 83,122,146, 36, 33, 18,137, 48,104,200, 16,242,247,223,126,107,217,175,105,211,179, 35, 62,253,244,216,217,
- 51,103,130, 67, 66, 66,192,178, 44, 72,146,196,238,221,187,213, 26,141, 58,211,195,195,195,206,146, 78,163,100, 3, 82, 42,149,
-197, 66, 43, 55, 55, 23,206,206,206, 22, 47, 29,170,148, 56,125,230,120, 84, 54,107,250, 42,190,227,139, 37,250,133,169,221, 67,
-114, 24, 19, 39,215,100, 64,174,154, 69,158, 6,156, 27,164, 60,100,144,119, 15,125, 76,187,144,167, 23,162,175,102,106, 76,154,
- 74,237,150, 72, 79, 79,255, 33, 44, 44, 44, 83,161, 80, 16, 54, 54, 54,112,115,115, 35,187,117,235,150,145,144,144,240, 83, 85,
-127, 17,123,123,251,190,161,161,161, 17, 73, 73, 73,189, 46, 92,184, 80,227,226,197,139,189, 66, 67, 67, 35,236,237,237,251, 90,
- 72,177,103,218,180,105, 42, 30,143,135, 38, 77,154, 32, 47, 47, 15, 69,187,124,202, 61, 44, 89, 34,229,114,185, 88,179,232, 71,
-204,152, 50, 1, 89,209, 55,112,255,242, 41,156, 79, 37, 48,125,222, 47,224,114,185, 85,138,245, 85,219, 81, 84,175,158,171,244,
-201,183, 67,250, 36, 79,157, 50, 69,122,247,238, 93,122,236,248,111,217,216,148, 44,240, 58, 46,166,240,201, 15,228, 61,149, 35,
- 58,117,104,139, 89, 51, 38,214, 43, 10,218, 89, 46,234, 58,138,234, 5,184, 74, 31, 79, 28,209,239,213,248,241,227,133, 11, 23,
- 46,212, 52,109,218, 84,157,150,150, 38, 20,203,228,190, 28, 91,187,128,216,148, 84, 73,211,166, 77, 99,190,250,234,171,156,202,
-114, 78,159, 62, 93,116,226,196, 9, 78, 88, 88,152, 49, 59, 59, 91, 66, 11,133, 65, 4, 95,208,248, 77,118,182,109,175,176,176,
- 23,189,122,245, 42, 40, 10, 88,106, 49,231,204,153, 51, 69, 79,159, 62,229, 52,109,218,212,144,154,154, 42, 21,219, 59, 4, 82,
-118,242, 70,175, 83,210,108, 26,135,132,188, 28, 59,118,172,170,188,114,150, 20, 41, 82,169, 52,169,121,243,230,248,245,215, 95,
-177,108,217, 50,124,254,249,231,120,248,232, 33, 58,141,157, 0,191,209,223,226,240,213,235, 72, 74, 74,194,156, 57,115, 16, 24,
- 24, 8, 46,151,251,180,212,246, 56, 42,154,184,155, 10,226,110, 42, 8, 98, 84, 52, 97, 62, 47,211,178,245, 83, 46, 74,190,191,
-180,247,221,158, 89,186,165, 43, 88, 65, 68,149,231,135, 85,145,216,234,213,171,215, 24,115, 8,135,161, 67,135, 94, 94,190,124,
-121,139,161, 67, 11, 39,218, 77,154, 52,193,220,185,115, 91, 76,159, 62,253,242,188,121,243,208,182,109, 91,120,121,121, 85,184,
-241,197,100, 50,193,104, 52,162, 95,191,126, 48, 26,141,120,243,230, 13,158, 61,123,134,181,107,215,130,101, 89, 1, 0, 40, 92,
-221, 27,242,120, 60,220,187,115,171, 96,198,208,144,237,149,176,100, 17, 37, 39, 49,249,249,249,232, 53,122,116, 70, 98,237,218,
- 89,171, 51, 50, 10,134,201,100,162,154,113,113,114,169, 78,231,134,114,252, 18, 9,130, 0,195, 48,197,194,202, 44,184,222, 61,
-138, 6, 74,139,160, 47, 96,142, 94,220,150, 12, 0,104, 53,192, 21,221, 38,215, 28,172,240, 22,173,104,217,191,208,232,189,127,
-238, 43, 54, 47,217,180, 16, 6, 60,174,132,197,250,198,141, 27, 55, 96,103,103,135,176,176, 48, 62, 73,146, 11,204,243, 85, 20,
-198,206, 90, 98,230,226,243,249,139, 7, 14, 28, 72,230,228,228,224,254,253,251, 0,112,166,172,126,137,101,217,226,186,231,103,
- 17, 48, 49, 60, 92,185,115, 28, 39, 47,238,195,235,164, 55,136, 75,215, 0, 28, 91,104, 84,137,208,171,147,160,203,185, 3,165,
- 86,100, 81,129,185, 92,238,155,122,245,234,177,141, 26, 53, 98, 89,150,197,203,151, 47,141,177,113,113,198, 91, 75,151,178, 15,
- 70,142, 36,164,207,158,113,133, 66, 33,225,233,233, 9,129, 64,192, 8, 4,130,204,191,113,240,254, 75,194, 45,252, 5, 97, 33,
- 62,166, 85,139,197,191, 19, 41,120,123,183, 97,113, 0,211,210, 2,150,130,181, 17,246,217,183,234,119,219,176,126, 3, 84,129,
-129,129, 50, 55, 55, 55, 16, 4,129,238, 61,122, 16,161, 23, 46, 72,105, 87, 87,216, 55,104, 80,188, 28,113,250,212, 41, 28, 63,
-126, 92,117,228,143,131,110, 67,134, 13,235, 2, 96, 75, 57,133,225,240,249,252,226,239, 77, 73, 73, 1,159,207, 47,246,137, 80,
- 42,149,112,116,116, 68, 74, 74, 10, 44, 92,153,219, 58,117,202,245, 41,233, 33, 63,120,134, 72,105,226,152, 42, 21, 38,150, 5,
- 77,152, 0, 53, 11,131, 9,208, 26, 88, 52,172, 73,201, 79,170,141,178,200, 27, 7, 98, 0,108,173,204,221,211,106,181,231,238,
-222,189, 59,146, 97,152,125, 0,200, 11, 23, 46, 48,143, 31, 63, 30, 3,203, 29,215,223, 55,219,139, 68,147,207,158, 61, 43,159,
- 60,121,114,118,100,100,100,110,231,206,157,109,215,174, 93, 43,111,211,166,205,228,204,204,204, 93,150, 24, 2,227,227,227,183,
- 36, 36, 36,140,105,212,168, 17,178,178,178,160,215,235, 17, 21, 21, 5,111,111,111,220,190,125, 27, 62, 62, 62,184,117,235, 22,
-234,212,169, 3,147,201, 4,141, 70, 3,134, 97, 76, 21,117,230, 89, 25,111,128,204,120, 36,223, 56,134,103, 15,162,112, 54,153,
-192,202, 93, 17,168, 86,195,179, 74,113,106,124,156, 68,254, 10, 71,251,147, 11,103,207,116,138, 61,183, 27, 7, 54,174,100,206,
- 31, 59,230,199,147, 98,228, 39,253,190,249, 66,103, 64,117, 0,188,102, 33,141,208, 81,246,212, 36,170,129,212,179,143,203, 15,
-176,232,227, 36,242,119,118,176, 63,241,159, 5, 63, 73, 95, 30,223,140, 61,107,126,101,247,111,219, 25,168, 1, 66,252,253,253,
- 59,146, 36,105, 7, 64, 83,228,231,101, 81,106,155,210, 56, 79, 71, 68, 4,107,128,144, 67,135, 14,117, 20,137, 68, 46, 0, 12,
- 5, 5, 5,175, 62,132,243, 76,100,100,176,185,156, 4, 65, 56, 1,208,179, 44,251, 18,149, 76,193,211,187,119,239,185,223,126,
-251,237, 20,147,201,228, 88, 98,118, 78, 45, 94,188,152,195, 48, 12,197,178,172,158, 36, 73,253,137, 19, 39, 76, 70,163, 49, 89,
-163,209,140,254,144, 94,228,139, 47,190,192,245,235,215,103,163,112, 19,134,165,214,234,183,252,180,138, 82,246, 84,153,255,194,
-133, 11,115,190,252,242,203,169,187,118,237,122,182,124,249,242,174,163, 70,141,194,238,221,187, 81,187,118,109,220,187,119, 15,
- 63,252,240, 3, 0,180,152, 62,125,250,225, 13, 27, 54,120,197,198,198, 46,182,192,162, 1,163,209,136,157, 59,119,162,123,247,
-238,112,116,116,132,171,171, 43, 8,130, 56, 55,108,216,176,223, 0,128, 34, 40, 46, 0,104, 53, 90,173,175,111, 35,139, 45,184,
- 92, 46,183,184,175, 75, 77, 77, 45,222, 41,248,217,151, 95,102,172, 95,184, 16,219,213,106, 12,147,201, 68,137,238,238,138,195,
- 47, 95,142,120, 84,216, 57,179,229, 89,117, 42, 18, 89,150,186, 52,168, 83, 48,237,143,249,175, 93, 0,124,222,106,128, 43, 90,
- 13,112, 69,163,110, 78, 4, 73, 17,120,112, 50, 19, 15, 79,103,237, 55, 40,113, 14,149, 75,151,243,120,193,130, 5,135, 63,249,
-228,147,174,117,235,214,197,240,225,195,191,218,184,113, 35,215, 96, 48,140,199,159, 97, 30,108, 73,146,252,105,205,154, 53, 35,
-228,114, 57, 46, 93,186,132,139, 23, 47,158, 3, 16, 95, 86,191, 4,160, 56,102, 86, 53, 15, 31,205,211,216,124, 81,122,210, 21,
- 92,190,244, 7,106, 7,126, 3,161, 75, 23,200,125,231, 65, 31,189, 12,186,204,147,144,123,116, 70, 98,236, 75, 80, 28,254,195,
-138,156, 80, 88,150,125,148,152,152,232,229,229,229, 69,188,126,253,218, 8,128, 53,153, 76,172,190,101, 75,131,223,194,133,244,
-195,175,190, 34,154, 61,125, 74,177, 4,193, 68, 69, 69, 1,192,147,255,198, 40,110, 14,183,240,240,225,195,178,194, 45, 84, 10,
-245,234,213,107,113,241,226, 69,190, 70,163,193,249,243,231,209,184,113,241,222,174,255,106,244,251,146, 90,228, 95,134, 17,165,
- 92, 91,251,150, 69,235,173, 7,155, 33,232, 58, 62, 62, 38, 46,137, 77,221,187,116, 41,184,123,247,110,241,172, 79,115,243, 38,
- 84,199,143,195,100, 50,129,101, 89, 92,188,112, 1, 3, 7, 12,200,167, 41, 98,125,205,154, 53, 88,130,125, 43,118, 75,187, 82,
-102, 15, 97, 97, 97, 97,197,157, 79, 66, 66, 2,196, 98, 49,120, 60, 30, 24,134,129,209,104, 4, 69, 81,176,181,181,133,209,104,
- 44,205, 4,243, 46,167,193,148,165,234,181,161, 83,255, 20,215,124, 61, 59,210,174, 38,170,115,133,197,141,211,197,134, 64,215,
- 64, 26, 14,156,116,246,204,226, 79,147, 25,109,102, 47,188,191,163,171,162, 45,255, 62,245,235,215,255,109,224,192,129, 36, 0,
-180,107,215,142,172, 95,191,254, 10,148,159, 42,167, 92, 78,129, 64,192, 7,128,136,136,136,172,103,207,158,125, 30, 17, 17,145,
- 85,242,186,133,156,107, 23, 45, 90, 4,145, 72, 4,163,209, 8,157, 78, 87,236,159, 85,242, 85,175,215,195,193,193, 1, 71,142,
- 28,129,201,100, 58, 82, 81, 57, 61,170,215, 0,225, 88, 11, 91, 34,206,226, 98, 6,183, 42, 34,171,152,179,150,139,184,142,139,
-131,253,169,255,204,159,227,152,253, 34, 10,137,137,137,236,137,227, 71,174,105,128,164,220, 60,204,200, 81,161,142, 90, 7, 65,
- 99, 47,196,159, 90,243, 61, 59,189, 21, 12, 40,125,215, 96, 49,167,159,139,184,142,155,163,253,137, 95,254, 51, 95,154,243, 34,
- 10, 41,169,169, 56,122, 36,226,174, 6, 48, 47, 55, 14,102, 24, 38,128, 97,152, 0, 0,131,203, 17, 47,149,226, 44, 40, 40,168,
- 87, 80, 80, 80,239, 99,114,178, 44, 91,143,101, 89,139, 57, 75,250, 68, 45, 89,178, 36, 58, 37, 37,101, 96,122,122,122,123,243,
-145,157,157,221, 46, 63, 63,191,117, 65, 65, 65, 75,245,146, 26,182, 5, 5, 5, 78,249,249,249, 10,141, 70,211, 16, 64, 84, 37,
-158,249, 98,148,140, 58,157,146,146, 50, 43, 37, 37,133,168,168,156,212,232,104, 98,199, 47, 19,255, 88,179,102,141,226, 3,249,
-223, 42,103, 70, 70,198,190, 93,187,118, 5,121,122,122,122, 13, 30, 60, 24,171, 87,175,198,242,229,203,181, 0,176, 97,195, 6,
-109, 9, 75,150, 71,108,108,108,163, 50,150, 13,219,149,176,150,108,253,236,179,207,216,139, 23, 47,162,123,247,238,197,129, 68,
-215,173, 91, 7,163,209,168,108,219,182, 45, 3, 0,106, 77,129,146,101, 88,232,244,101,174,191,191,119, 63,121, 60, 94,135,146,
-241, 2,205,193,152,121, 60, 30, 88,150, 69,157, 22, 45, 50,114, 2, 3,179, 54,230,230, 22,204,170, 87,207,102,132,175,239,224,
-186,192,128,210, 56, 9,130,120,203,170,243,238, 81, 9, 75, 86,201,114,166,171,147, 49,252,143,249,175,143,155, 45, 91, 2, 9,
- 7,154, 60, 35, 14, 46,124,253, 70,243, 6,235,202, 18, 63,229,213, 61, 43, 43,107,236,194,133, 11,181, 50,153, 12, 95,124,241,
- 5,230,205,155, 55,172, 69,139, 22,185, 78, 78, 78,215,107,215,174,253,160, 79,159, 62, 41, 81, 81, 81, 99, 67, 67, 67,241,252,
-249,115,252,242,203, 47, 57,217,217,217,253,203,227, 36, 8,162,216,146,215,173, 83,187,172,223, 87,252,202,180,253,100, 12, 68,
- 66, 27, 24,104, 15,100,229, 27,144,173, 98,161,227,135,128,199,229,163,125, 83,127, 92, 63,177,185,192,164, 83,109,169,232,153,
-207,207,207,223, 63,104,208, 32, 37,151,203,133, 78,167, 99,105,154, 6,191,208,239,152,161, 63,255, 92,223,236,241, 99,163,137,
-101, 25,130, 32,240,221,119,223,169,178,179,179,119, 85,165, 29, 85, 2, 37, 57, 63, 86,184,133,118,239,140, 63, 31, 35, 44,196,
- 95, 81,247,127, 51,214,150,114,252,105,209, 50,111,169, 52,191, 18, 4, 99, 50,153, 24,212,244,172, 41,141,125, 29,191,178,119,
-239,176,161, 29, 59,118, 18,117,234,212, 73,224, 31, 93, 56, 27,141,136,136,192,129, 3, 7, 10, 78,158, 60,169,228,211,212, 6,
-143,106, 30,206, 38, 19, 3,130, 96,202, 85,195, 82,169,116,252,180,105,211,132,185,185,185, 88,190,124, 57, 19, 20, 20, 68,138,
-197, 98,232,245,122,108,216,176,193,224,239,239, 79,147, 36,137,220,220, 92,144, 36,249,212,194, 10,222,207,141, 79,106,255, 91,
-104,207, 3,141,190, 30, 98,239, 23,218, 76,214,218,195, 13,134, 6, 44,146, 19, 94,227,217,153,147,217,143, 78, 44,205,132, 38,
-173, 39, 42, 78, 15, 84,218, 64,240,227,201,147, 39,157,198,142, 29,203,106, 52, 26, 34, 62, 62,158,157, 63,127,190,211,240,225,
-195,127, 76, 78, 78,238, 91,197, 31,133,200,201,201, 1, 65, 16, 76, 81, 71, 98,158,245, 87,102, 93,238,225,150, 45, 91, 14,245,
-232,209,163, 91,219,182,109, 17, 29, 29, 93,188, 68, 88, 82,104,153,119, 31, 46, 88,176, 32, 7,192,212,138, 72,105,154,198,242,
- 45,251,144,147,157, 1,103,103, 87, 8,132, 66, 84,117,135, 37,143, 36,103,253, 60,103,166, 83,198,147,235,196,195,107,103,153,
-189,247,211,210,141, 38,182,244,136,255,121,201,108,145,250, 47,127, 54, 67, 82,179,126,158,255,147,173,121, 89,115,215,157, 20,
- 37, 97, 98,199,126, 80, 19,249,183,112,254,205,112,117,117, 69, 74, 74, 10,225,234,234,202, 22,249,104,177,229, 8,173,183, 31,
-240,194,229, 50,162,188,101,195,170,242,199,196,196,204,111,208,160,193,196,231,207,159,239,245,243,243, 27, 5,160,154, 86,171,
-205,153, 62,125,250,127, 54,108,216, 48,212, 18, 75, 22, 0,236,222,189,123,233,144, 33, 67,142,119,233,210,229,123,134, 97,234,
-151, 24,216, 99,156,156,156,138,151,112,223,164,165, 78, 25, 57,180,223,148,252,252,108,139,227,220, 73, 36,146, 17,211,167, 79,
- 23,168, 84, 42,172, 90,181,138,241,247,247, 39,205,147,162,109,219,182, 25,125,124,124, 56, 97, 99,198,100, 44, 73, 77,197,220,
- 75,151, 84, 83, 2, 2,130, 54, 62,123,214, 16, 12,179,181, 44,171, 78,105,150, 44,179,219, 69, 21,145, 92, 36,182,214, 1,248,
-188, 89,111, 23, 28, 90,244, 26,217,177,186,255,192,136,151,176, 32, 45, 80, 41, 72,220,191,127,127,251,180,180,180, 67, 51,103,
-206,180,109,216,176, 33, 2, 2, 2,104,137, 68, 18, 98, 14, 23,147,155,155,139,211,167, 79, 99,245,234,213,186, 71,143, 30,245,
- 40,111,185,202,100, 50,165,251,248,248,152,239, 3, 75, 16, 68,166, 82, 75,216,238,169, 27, 34, 25, 60,114, 47,113,249,214, 85,
- 36,235, 25,104, 13, 12,106,122, 6,163,245,231, 75,112,248,216, 3, 83,114,236,227,199, 6,117,246,122, 11,202,251,242,197,139,
- 23, 7,231,204,153,211,251,251,239,191, 23,102,100,100,152,180, 90, 45,179,111,223, 62,106,240,224,193, 38,150,195, 97,184, 28,
- 14,198,143, 31,175,206,201,201,249, 3,248, 91, 19, 76,255, 37,225, 22,254,130,176, 16, 31,205,154, 85,242,245,127, 5,165,182,
- 80,134, 34,175,172, 94,243,123,135,221, 59,119,185, 80, 20,233,242,242,213,171, 91, 93,123,246, 74, 58,117,234,148,156,107,107,
-219, 24, 0,163, 27, 53,234,154, 94,171,206,138, 60,116,168,122,205,154, 53, 2,139,146, 74,179, 12, 69, 94, 41,239, 11,243,243,
-243, 85,151, 46, 93, 42,152, 58,117, 42,145,144,144,176,195,217,217,185,207,177, 99,199, 36, 61,123,246, 84, 71, 71, 71,239,119,
-113,113,233, 22, 26, 26, 42,157, 56,113,162, 54, 63, 63,191, 50,137, 71, 31,179,111,178,235,222,156,185,248,203,155,139,126,255,
- 20, 28,170, 57,180, 52,192, 24,174, 64,159,119, 10,192, 14, 84, 34,222, 81, 73,136,197,226, 64,145, 72,132,187,119,239,102,135,
-132,132,232, 52, 26, 13,119,222,188,121,246, 98,177, 56,176,170, 55,158,101, 89, 54, 59, 59, 27, 12,195,112, 0, 16, 69,175, 96,
- 42,191, 23,191,111,215,174, 93, 15,237,217,179,231,179, 78,157, 58,193,203,203, 11, 6,131, 1, 62, 62, 62,208,233,116,240,246,
-246,134, 86,171,197,236,217,179,145,155,155, 59, 1,229,228, 60, 35, 8, 2, 70,163,177,216,217,214,205,189,122, 97,156,158, 15,
- 8, 99, 33,166, 73,175,167,145, 27,145,158,153,193,236,185,151,150, 86,160, 55,181,127,241,166,224,209,187,239, 43, 48, 65, 21,
- 58,120, 92, 18, 0,104,153,242, 51,206,139,121,240,122,118,100, 29,210,210, 51,176,251, 78, 74,142, 74,207,124,254,172, 20,206,
- 74,149,243, 95,194, 25, 60, 59, 26,189,198, 89,254,222, 15,129,165,130,170, 44,220, 77, 5,113, 91,180,145,197,154,141,165,198,
-200,250, 64,254, 67,207,159, 63, 63, 4, 0,143, 31, 63, 78,232,215,175,223,148,215,175, 95,207, 1,112, 52, 54, 54,118, 77,101,
-136, 54,110,220,248, 28,192,144,242,222,179,107,241,144,131, 0, 14, 86,134, 55, 47, 47, 79, 19, 21, 21,165,153, 56,113, 34,145,
-144,144,112,204,197,197,229,179,227,199,143,139,122,246,236,169,125,248,240,225, 25, 87, 87,215, 86,237,218,181,147, 28,189,113,
- 35,169,224,229,203,200,200,196,133,151,166, 0, 0, 32, 0, 73, 68, 65, 84,215,175,221, 13, 12, 19, 89, 94,251,252,200, 34,235,
- 45,177,117,112,238,235,159, 15,253,252,186, 29,163,197,126, 93, 54,174, 1, 72,252, 0,206,139, 87,174, 92,241, 27, 48, 96,192,
-158,206,157, 59, 55,243,243,243, 67,181,106,213,240,236,217, 51,188,121,243, 6,247,239,223, 71, 68, 68, 68,132, 70,163,169, 48,
-161,118, 86, 86,214,251,233,137, 4,114,215,205,171,102, 69,220,186,220,216,167,101,167, 65,194, 0, 87, 6, 58, 61,139,132,184,
-151,152, 61, 99,125, 65, 74,220,243,199,122,163,190, 7, 44,220,168,163, 86,171,215, 46, 91,182,140,142,140,140,236,180,114,229,
- 74,105,245,234,213, 41, 46,151, 75, 2, 96,111,223,190,205,142, 27, 55, 78,149,145,145,113, 68,169, 84,174,253,155,199,232,139,
-175, 94,189, 10,166, 40,234,163,134, 91,248,128,176, 16, 86,124, 76,120,122,186,251,213,170,238, 58,202,171,154,251, 24,207,234,
- 30,225,165, 57,185,123,201,100, 82,207, 26,110, 35,188,170,185,143,169, 85,221,117,148,167,167,187,159, 5,166, 69, 47, 27, 27,
-155, 99, 10,133, 34, 8, 0,108,109,109,187,217,217,217, 61,178,181,181,237, 86, 52, 11,236, 38,145, 72,158,248,251,251, 15,255,
- 27,205,149,229,114,250,248,248,244,203,207,207,255,202,199,199,167,159,249,252,229,203,151,197,231, 85,225,244,240,240,104,123,
-251,246,237,190,139, 23, 47,254,162,118,237,218,221,230,207,159,255,197, 31,127,252,209,215,221,221,189, 97, 21, 56,249, 0,182,
-211, 52,157,198,227,241,210,105,154, 78, 51, 31, 28, 14, 39,141,162,168, 52, 0,107,202,176,150,181, 43, 49,203,185,236,236,236,
- 28,235,236,236, 28,235,226,226, 18,235,226,226, 18,171, 80, 40,222, 59, 28, 28, 28, 46, 91,122, 63,125, 93, 36, 45, 66,170, 73,
-175,212, 83, 72, 46,215,117, 22,251,126,140,223,200,215, 69,210,162,113, 53,219, 43,245, 20,210, 75,255,223, 56,131, 92,192,178,
-171,125, 89,118,181, 47, 27,228, 2,182,162,243,143,105,246, 87, 40, 20,172, 66,161,152,245, 87, 45, 37,148,193,255,183,183,247,
-143,200,233, 37,149, 74,119, 85,171, 86,205,220,215,117,177,177,177, 57, 39,145, 72,186, 20,245,117, 93,196, 98,241, 5,127,127,
-255, 65, 21,113,202,229,242,219, 78, 78, 78,169, 69, 71,138,179,179,115,138,179,179,115,138,147,147, 83,178,147,147, 83,178,163,
-163, 99,146,249,176,179,179,187, 94,197,186, 59, 1,104, 2,160, 33, 0,155,143,120, 63, 61, 1,140, 44,234,131, 22, 2, 24, 14,
-160,254, 71,248,141, 8, 90, 40, 31,205,183,243,184, 66, 75, 28,243,104,137, 99, 30,223,214,253, 74, 57, 41,120, 44,225,172, 35,
-151,203,231,217,216,216,252, 33,149, 74, 47, 73,165,210, 67, 14, 14, 14,243, 1,212,249, 47, 61, 75, 18, 0, 27, 80, 24,159,233,
- 40, 10,151,194, 15,161,112, 83, 65,245,127,224, 51,255,255, 25, 35,254, 91, 95,220,206,202,105,229,180,114, 90, 57,173,156, 86,
-206,127, 33, 39,105,189,159, 86,161, 85, 73,161,245,238, 1,160,156,200,240, 86, 88, 97,133, 21, 86, 88,241,255, 24,140,245, 22,
- 88, 81, 73,148,186,180, 76,148,163, 74, 43, 19,107,170, 42,202,246,180,149,211,202,105,229,180,114, 90, 57,173,156, 86,206,255,
-119,156, 86,124, 68, 88,205,170, 86, 78, 43,167,149,211,202,105,229,180,114, 90, 57,255,215, 97, 93, 58,180,194, 10, 43,172,176,
-194, 10, 43,172,248,139,176,182,132,224,122,107, 9,209, 42,180, 42, 15, 18,192, 87, 0,122, 1,168,133,194,108,246,251, 0,252,
-134,170,173,233,219, 0,152, 2,160, 57, 10,119,231,196, 0,184,132,194,221, 57,249,214,219, 93, 58, 28, 28, 28,166,209, 52,109,
- 7, 20,166, 54, 49,191,150,252,191,201,100,202, 81, 42,149,243,255,162, 34, 80,176, 48,130,178,185,172, 37,203, 86,242,213, 96,
- 48,252,149,229,180,226,159, 9, 31,185, 92,190, 61, 43, 43,171, 63, 74, 36, 89,182,194,138,255, 5, 56, 58, 58,142,210,235,245,
-211,185, 92,238,188, 55,111,222,252,254,255,168,234,239,137,172,183,132, 86,100,100,228, 5, 0,232,220,185,243, 39, 0, 96,103,
-103,119,149, 36, 73,207,202,124, 3,195, 48, 49, 57, 57, 57,101, 6, 80,179,179,179,187, 74, 81,212,123,156, 6,131, 65,202,225,
-112,242, 74,251,140,209,104, 76, 84, 42,149, 13,255, 33, 55,145, 0, 16, 41,147,201, 52,115,230,204,249,173,117,235,214, 30,201,
-201,201,198,201,147, 39,183,186,119,239, 94, 39, 0, 29, 42, 41,182,154, 18, 4,177, 57, 40, 40,232, 96,120,120,248,158,144,144,
- 16, 94,102,102,166,116,223,190,125,110, 91,182,108,137, 98, 24,166, 63,202, 73,180,250,255, 25, 52, 77,219, 37, 38, 38, 74,129,
-194,212, 36, 69,194, 10, 6,131, 1, 6,131, 1, 42,149, 10,129,129,129, 31,253,123, 93, 92, 92,130, 9,130, 88, 41,145, 72, 26,
-230,231,231,223, 2, 48, 38, 37, 37,229, 94,101,202,106, 52, 26,193,178,108,113, 57,253,252,252,172, 63,104,229, 48,140,199,227,
-125,238,237,237,221, 88,171,213,102,199,196,196,220, 52,153, 76, 51,241,241,114,180,217, 2,152,201,231,243, 67,106,213,170,229,
-241,252,249,243, 4,189, 94,127, 3,133,201,144,115, 63,134,200,250,228,147, 79, 46,175, 90,181,202,126,244,232,209,151, 47, 93,
-186,212,194, 42,182,172,248,111,193,195,195,195, 78,165, 82,173, 7, 16, 76,211,180,139, 64, 32,128, 80, 40, 76,229,243,249,119,
-133, 66,225,208, 43, 87,174,228, 84,150,211,100, 50,205,140,141,141,117,105,210,164,201, 34, 39, 39,167,217, 25, 25, 25, 26,189,
- 94,127, 38, 59, 59,123, 2, 0,101,121,159,125, 87,139,252,203, 68, 86,201, 87,152, 69, 23,167,168, 98, 44,128,214,111, 41, 48,
- 14,199, 61, 46, 46,206, 73, 32, 16,128, 97,152,226,193,236,221,195,124, 93,167,211, 33, 32, 32, 64, 95,193,128,227,145,144,144,
-224,196,227,241,138,175,233,116, 58,184,185,185, 49,137,137,137, 78, 69,105, 15,138,161,213,106,225,238,238,254, 79,202,121,244,
-149, 92, 46,207,141,143, 79, 8,212,104,245, 63, 13, 31, 59,117, 90,255, 94,159,202,174, 94,189,202,116,232,208, 65,123,225,194,
-133,175, 80,152, 56,213,162,206,156, 32,136, 45,147, 39, 79,158, 45, 16,217,216,159,189,250, 88,187,101,223,145,164, 32,159,154,
-196,132, 9, 19,168,113,227,198, 93, 12, 14, 14,222,206, 48, 76, 3, 84,194,178, 37,147,201,142,243,249,252, 26, 69,247, 47, 62,
- 59, 59,251,179,127,224, 3,201,193,251,193, 99, 75,187, 86, 33, 50, 51, 51,161, 86,171,223, 59,252,252,252, 44,205,149, 89,169,
-114,211, 52,125,104,193,130, 5,110,169, 41, 41,248,117,201,146, 38, 40,180,100, 54,177,228,195,233,233,233,239,149,211,215,215,
- 23, 86, 84, 10, 83,102,207,158,189,224,203, 47,191,132,201,100,130, 90,173,118,125,241,226,133,255,244,233,211,123,188,124,249,
-178, 49,128, 87, 31, 58, 25,247,246,246,142,254,230,155,111,228,141, 27, 55, 70, 81,150, 10,215, 75,151, 46, 53,217,176, 97,195,
-192,248,248,120, 95, 0,111, 62,228, 11,228,114,249,246,117,235,214,217,139, 68, 34, 28, 62,124,216,190,109,219,182,151,238,220,
-185,211,242, 3,196, 22,105,111,111, 63, 14, 64, 27,134, 97,120, 0,110,100,103,103,207, 69,229,163,186, 43, 36, 18,201,126,146,
- 36,107, 2,127, 70,163, 39, 73,210,129, 32,136, 12,243, 53,130, 32,156, 24,134,185,150,149,149,213,204,250, 56,254,187, 97,111,
-111, 63, 44, 45, 45,109, 21,159,207,231,202,100, 50,136, 68, 34,112, 56, 28,112, 56,156,106,124, 62,191, 26,159,207,239, 24, 26,
- 26, 58,230,220,185,115,229, 70,216,111, 26,228, 60, 24, 36,241, 19, 69,144, 20, 0,144,180,216,198,214,214, 22, 63,253,244,147,
-184, 91,183,110, 98, 0,184,124,249,114,248,160, 65,131,218, 38, 38, 38, 6,148, 37,182, 74,211, 34,255, 34,172, 45,111,192, 67,
-145,122,188,240, 86,203, 37, 73,240,120, 60, 92,191,126, 29,150, 4, 43, 55,167, 72, 40,183, 55, 40,138, 48,126,239,222,159, 6,
- 0,243, 64,195,227,241,112,229,202,219, 65,229,155, 54,109, 90,220,216,255, 46,244,242, 43, 12,242,184,247,235,194,114,133,173,
- 44,140,174,189,247,107, 95,180,250, 37, 14,189,198,205,234, 83,160,209, 55, 2,160,202,201,206,206,190,117,224, 64,114,144,143,
- 15,119,251,246,237,141,221,220,220,122, 85, 66,104, 77,105,208,160,193,126, 74,104,235, 16, 62,104,112,248, 80, 14,169, 31, 56,
-114,226,188,132,148, 12,213,136, 17, 35, 14, 28, 62,124, 56,252,231,159,127,126, 50,105,210,164, 41, 0,126,176,180,252, 2,129,
-160,198,211,167, 79,189, 77, 38, 19,252,252,252,254,137,105, 12,130, 80, 24,124,239, 75, 0, 59,139,174,245, 67, 97,228,254, 96,
- 0,119, 43, 67,102,182, 96,149,118,124,108,184,185,185,249, 14, 24, 48,192, 33, 43, 35, 3,191, 46, 89, 98,190,220, 16, 21, 44,
- 35,154,219,143, 78,167,195, 23, 95,124, 49,192,100, 50,113,204, 34, 80,171,213,234,114,115,115, 53,248,211,177,244, 13,128, 79,
- 45, 40,142,167, 88, 44,254, 15,128, 96,181, 90,237, 6, 0, 98,177, 56,137, 97,152,131, 42,149,234, 7,252,153,192,183,210, 19,
- 92, 0,254, 40, 59, 21, 20,187, 96,193,130,231, 83,167, 78,125,245, 95,224,172,225,236,236, 60, 63, 44, 44, 12, 71,142, 28,193,
-209,163, 71, 13, 66,161,144, 51,104,208, 32, 98,204,152, 49,178,111,190,249,166, 35,128,101, 31,248, 51,119,156, 61,123,182,188,
-110,221,186,216,183,111, 31,238,223,191,175,246,246,246, 22,182,110,221, 26, 28, 14, 71, 62,109,218,180, 14, 0, 54,127,200, 23,
-100,101,101,205,157, 56,113,226,150,157, 59,119, 74, 99, 98, 98,176,114,229, 74,135, 62,125,250, 92,136,143,143,255,164, 18, 98,
-139, 15, 96, 28,128, 80,138,162, 90, 14, 26, 52,200, 56,118,236, 88,154, 36, 73,195,146, 37, 75, 28, 55,108,216,208,135,166,233,
-224,204,204, 76, 75, 38,105, 36,128,159,134, 14, 29, 58,228,220,185,115,178,155, 55,111,242,236,237,237, 97, 50,153,138, 45,197,
- 12,195, 56,153,159, 89,163,209, 8, 95, 95, 95,247, 18,159, 23,254, 91,133, 6, 73,146,122,134, 97,104, 0, 2, 0,218,138,206,
-255,151, 68,150, 92, 46, 31,157,149,149,245,155,139,139, 11,156,157,157,223, 27,107,181, 90, 45, 4, 2, 1,215,197,197,101, 93,
-183,110,221,232, 67,135, 14,149,185, 4, 72, 80,196,204,195,187,230,184,201,101, 82, 0,192,210,213, 39, 10, 0,224,143, 63,254,
- 64,114,114, 50,100, 50, 25, 2, 2, 2,168, 57,115,230, 40, 38, 76,152,240,107,118,118,246,208,178,184,222,213, 34,255, 50,139,
-214,218,210,206,203,245,209, 98, 89,182, 56, 79,158,133, 15,237,187,151, 78,191,195, 71,232,116, 58,188,107,209, 50, 55, 94,154,
-166,223, 53, 63,130, 32, 8,182, 60,206, 82, 48, 72, 44, 22, 7,170, 84,170, 21,149,152,221, 22,115,238,253,218, 23, 91,248,147,
-251,153, 51,145,118,156, 88,248,186, 5,192,213,215, 67, 87,174,250,228, 19,183,113, 51,150,207, 82,103, 38,103, 76, 27,208,165,
-134,183,139,189, 80,156,147,158, 43,175, 83,167,253, 59, 22,153,138,202,217, 42, 60, 60,124,235,201,235,177,132, 64,192,229,114,
- 40,138,110, 81,207,199,222,195,150,178,149, 2,182, 9,175,158, 95, 29, 60,120,112,189, 73,147, 38,181,172, 4, 39,138, 6, 92,
-108,219,182, 13, 4, 65,144,149,169,251, 71,196,233,242, 68, 22,203,178, 32, 8, 98, 71,137, 65,101, 71,209,181, 59, 37,196, 22,
-167,188,251,105,182,166,154, 69,213,160, 65,131, 6, 24,141, 70, 78,137, 78,226, 93, 1, 83,154,136,177,168,238, 10,133,226, 36,
-128, 79, 9,130,128, 78,163,209,253,231,151, 95, 74,254,249,246, 59, 34,235,116, 89,109,201, 96, 48,192,100, 50,113,238,220,185,
- 67,151,120,214,105, 0, 98, 0, 14, 44,203,130, 36,201, 7, 22,220, 79, 95,145, 72,116, 53, 34, 34,194,166, 97,195,134, 4,143,
-199,131,209,104,196,195,135, 15, 61,126,254,249,231,145,167, 79,159,238,160, 82,169,252,240,126,242,116, 75,126, 35,255, 75,151,
- 46,169,188,188,188, 74, 21,142, 74,165,146,227,227,227,243, 73, 25,162,232,175,230, 76, 76, 75, 75,235,254,233,167,159,142, 74,
- 77, 77,141, 54, 26,141,223, 3, 8,112,112,112,184,211,179,103, 79, 8,133,194, 80,181, 90,189,236, 67,158,121, 39, 39,167,110,
-205,154, 53,195,202,149, 43,241,243,207, 63,183, 3,112, 6, 64, 91,165, 82,121,186,107,215,174,176,179,179,235,158,147,147,179,
-249, 3,218,145, 79,171, 86,173,214,253,244,211, 79,210, 35, 71,142,192,219,219, 27,121,121,121,248,238,187,239,156,126,252,241,
-199,243, 57, 57, 57,173, 75,180,139,178, 56,253,248,124,254,230,157, 59,119, 74,188,188,188,188,184, 92, 46,233,229,229,133,172,
-172, 44,104, 52, 26,254,188,121,243,234, 9,133,194,123,203,150, 45,219, 12,160,103, 5,229, 36, 1,204, 93,179,102,205,168, 17,
- 35, 70,216, 13, 24, 48,192,164,211,233,176,103,207, 30, 80, 20, 5,154,166, 33, 18,137,138,147, 87,115,185, 92,212,169,243, 94,
-144,244,195,229,212, 55, 23,133,126,168,118,168,220,178,235,233,114,248,138,151, 62,104,154,134, 64, 32,128, 64, 32, 0,159,207,
-199,211,167, 79,103, 8, 4,130, 37, 4, 65, 24, 45,225, 36,254, 84, 23,129, 0,110, 86,116,142,247, 93, 67,254,206,254,211, 12,
-119,130, 32,150, 2, 8, 45, 28,118,201, 11, 14, 14, 14,227,211,210,210,226, 44,229, 84, 40, 20,246,153,153,153,203, 20, 10, 5,
-156,157,157,139,199,111, 55, 55, 55, 24, 12, 6,164,165,165,129,101, 89,228,228,228, 64, 36, 18,193,213,213,117,217,136, 17, 35,
-246,173, 93,187, 54,179, 84, 78, 6, 63,119,237, 51,125, 38, 69, 81, 36, 0, 80, 28,137,228,155,169, 64,141, 26, 53,208,162, 69,
- 11,104, 52, 26,228,230,230,194,223,223,159, 67, 16, 68, 56, 65, 16, 54, 44,203,254, 14,224,236,255,160,161,176, 76,103,248,217,
-239,174,139,154,179,197,115,185, 92,139,132, 86,209,251, 43,178,160,144, 6,131, 1, 92, 46,247, 45,139, 4, 65, 16, 48,153, 76,
-111, 93, 55, 11,173,170, 8,245, 49, 99,198, 48,235,214,173, 27,149,157,157,189, 26, 85, 92, 74, 8, 15, 15,127,207,223, 99,194,
-132, 9,137,233,233,233,236, 23,237, 3,197,209,199,146, 83,106,201, 36, 66, 71,169,180,166, 64, 38,183,203,204,204,188, 86,212,
-153, 88,138,218, 13, 26, 52, 16,110, 57,112, 41,113,248,183, 11,230, 52,244,178,183,169,239,238, 32,115,177, 21,242, 36, 36,161,
- 18, 24, 13,137,114,185,220,187,178,229, 54,247, 11, 34,145, 8, 36, 73,254,147, 44, 90, 28,179,200,202,202,202,194,145, 35, 71,
-208,169, 83,167, 59,102, 17,162, 84, 42,145,146,146, 2,133, 66,113,167,200,242, 81,225, 50, 34,195, 48,208,235,245,208,235,245,
-197, 2,166,196, 51, 84, 44, 96,204,239,165, 40,234, 65, 21,203, 62, 71, 38,147,181, 10, 13, 13,229,237,218,179,135,199,178,172,
- 10,133, 57,212,242, 89,182,140, 4,217,239,192,104, 52, 22, 91,217,104,154, 70,124,124,124,241,192,101,206, 45, 41, 16, 8, 44,
- 51,101,240,249, 19,119,239,222,109,211,184,113, 99, 34, 51, 51, 19, 12,195, 20,119,146,191,253,246,155,160, 87,175, 94,110, 81,
- 81, 81,211,180, 90,237,236, 42,212,149, 40, 75, 16, 1,128,141,141,141, 17,150, 69,204,174,144,211,104, 52, 18,205,155, 55,159,
-148,145,145, 81, 79,173, 86,207,179,228, 54, 2, 56,156,152,152, 88,114, 96,191, 23, 29, 29,173,238,221,187,183,176,102,205,154,
- 33,143, 31, 63,254,160,135,212,199,199,167, 41, 77,211,184,113,227,134, 22,128,121,102,125,225,254,253,251,218,158, 61,123,242,
- 61, 60, 60,154,230,228, 88,236,178,226,227,235,235,123,202,201,201, 73,104,238, 67, 29, 29, 29,233,181,107,215, 74,147,146,146,
-160,215,235, 49,101,202, 20,116,238,220, 25, 14, 14, 14,152, 48, 97,130,243,162, 69,139,182,231,231,231, 55, 40,207,104,205,227,
-241,182,190,120,241,194, 91,161, 80, 8,175, 95,191,142,250,245,235, 35, 35, 35, 3,169,169,169,200,207,207, 71,106,106, 42,134,
- 14, 29,234,244,235,175,191,186, 90, 96,201, 42, 22, 89,107,215,174,205,217,191,127, 63,181,126,253,122, 41, 77,211,197, 66,139,
-195,225, 20, 11, 45,115,110,197, 42,172, 52,228, 20,137, 54,187,220,220,220, 15,241,115,227, 3,224,149, 20, 89,124, 62, 31,124,
- 62, 31, 2,129,224,131,242,178,254, 75,224, 70, 16,196, 99, 46,151,203, 23,137, 68, 92,146, 36,193,231,243,219,203,229,242, 71,
- 1, 1, 1, 1,167, 78,157,138,181,132, 68,163,209,108,229,243,249,180,147,147, 19, 0,192,219,219, 27,245,235,215,135, 74,165,
- 98,114,115,115, 97,103,103, 71,198,197,197, 65,173, 86, 35, 37, 37, 5,213,171, 87,167, 73,146,220,138, 66, 63,228,247,112,245,
- 78,234,106, 0,171,205,231, 14, 14, 14,105, 37, 45,157, 2,129, 0,110,110,110, 72, 74, 74,130, 84, 42,165,126,252,241,199,158,
-123,246,236,233,113,245,234,213,112, 0,219, 74, 80,205,254, 23,251,104,153, 69, 86,201,215, 63,133, 86,231,206,157,103, 69, 70,
- 70,126, 82,218, 44,156,166,233,143,230,235, 98, 22, 84, 54, 54, 54,239, 90,173,192, 48, 76, 89, 22,173, 74,127,143, 64, 32, 16,
-142, 30, 61, 58,239,247,223,127,175,180,216, 10, 91, 25, 93,108,197,122,111, 26,233,231,119,117,218,180,105,221,206,157, 59,151,
-212,208,171, 38, 71,156, 28,151, 47,176,177,179,131,123,181, 78,131,186,247,188,143,194,221,135,150,226, 69, 94, 94,158,176,150,
-187, 72, 71,146, 26,162, 26,159, 35, 85,136,185,124, 23,153,204,141,171,211,166,219,200,100, 60,173, 86,155,131,114,146, 64, 3,
-128,179,179,243, 9,161, 80, 88,221,124, 46,147,201,108, 89,150,133, 72, 36,130, 66,161,144, 80, 20,245,172, 68,227,138, 75, 75,
- 75,107, 95, 81,193,236,236,236, 78,240,249,252,234, 36, 73,130, 32, 8, 80, 20, 5,146, 36, 65,146,100,241,255, 41,138, 2, 65,
- 16, 40, 40, 40,136,139,141,141,109,111, 65,125,141, 0,130, 9,130,184,115,228,200, 17,132,132,132,224,216,177, 99,248,252,243,
-207,145,155,155,139,135, 15, 31,162, 85,171, 86, 64,225,146,162, 69, 40,233,252,110,158, 20, 60,125,250,180, 88,184,148, 60,164,
- 82,233,135,152,216, 47,135,133,133, 97,221,186,117,108,209,100, 66, 76, 16, 68,125, 91, 91,219,167, 79,158, 60,177,200, 15,134,
-101, 89,232,245,127,190,213, 60,120, 21,249, 67, 84, 42, 57, 48, 69, 81,237, 27, 52,104, 64,228,230,230,154, 5, 36, 56, 28, 14,
- 40,138, 2, 69, 81, 88,181,106,149,176,113,227,198,211,249,124,254, 36, 46,151,171, 52, 24, 12,187, 52, 26,205, 60, 0, 57,255,
-164, 30,169,101,203,150,223, 38, 36, 36,116,174, 94,189,122,196, 7,208,176, 6,131, 65, 7, 64, 72, 81, 20,253, 17,250, 40,170,
-232,217,210,148, 16,251,198,162,115, 62, 10,151,137, 45,130,131,131,195,246,163, 71,143,186, 87,175, 94, 29, 6,131, 1, 70,163,
- 17,249,249,249,184,112,225, 2,180, 90, 45,140, 70, 35,188,189,189, 49,115,230, 76,205,248,241,227, 5,107,214,172, 73,207,207,
-207,239, 95, 1,237,248,125,251,246,137, 21, 10,133, 80,173, 86,227,213,171, 87,104,208,160, 1,242,242,242,160, 82,169, 80, 80,
- 80, 0,189, 94, 15,165, 82,105,103, 50,153,116, 21,112,205, 40, 41,178, 70,142, 28,249,128,199,227, 53, 24, 59,118, 44, 18, 19,
- 19,139,219,252,240,225,195,225,236,236, 92,220,150,138,250,228, 74,117,204, 28, 14, 7,124, 62, 31, 92, 46, 55,167, 90,181,106,
- 32, 8, 66, 16, 23, 23, 87,149,165, 56, 27, 0, 74,154,166,121, 37, 5, 22,159,207,199,141, 27, 55,166,241,120,188,178,172, 89,
-101,181, 75,182, 50,231,255,109, 16, 4,177,148,203,229,242,229,114, 57,183,196,132,147, 43,145, 72,224,228,228,180, 18, 64, 71,
- 11,235, 29, 36,151,203,139,251,247,192,192, 64, 36, 36, 36, 28,204,205,205, 29,152,158,158, 14,146, 36,183,146, 36,217,195, 60,
- 73,205,206,206,134,135,135, 71, 80, 89,124,205,130, 93, 70,129, 96,223,178,104,189, 51, 65,131,141,141, 13, 94,191,126, 13,149,
- 74,197, 62,127,254,156, 24, 61,122, 52,161,211,233, 54, 69, 69, 69, 93, 67,225,110,251, 50,181,200,191, 4,149,247,209, 50, 91,
-180, 44, 29, 0, 8,130,168,112, 54, 97, 48, 24, 36,254,254,254,165, 57,124, 17,165, 9,173,162,229,164, 42, 61,232, 52, 77, 75,
-171, 42,182,222, 69,196,254,157,206, 63,207,156, 50, 83,238, 90,179,214,164, 73, 51, 56, 93,186,116,185,190,101,203, 22,147,188,
-110,199,182,103, 79,108,115, 94,246,221,228, 99, 71,143, 30, 5, 10, 29,163, 45,197,229,200,200, 72,151, 9,227,198, 96,230,196,
-241,199,109,188, 29,120, 18, 66, 46, 22,104, 85,111, 36, 96,213,252,218,190,157, 15, 68, 68,164, 0,136, 42,143, 68, 36, 18, 85,
-127,252,248,177,119,201,141, 4,186,255,107,239,186,195,163,168,214,247, 59, 51,219, 75, 54,189, 18, 72, 0,129, 0,161,133,222,
-171,128,128, 98,161, 92,165, 94, 48,136,120,189,160, 87,208, 31,122,197, 72, 17,132, 11, 10, 82,114, 65, 41, 98,161, 73, 19,144,
- 98, 66, 34, 61, 1, 9, 73, 8, 69, 72,111,155,205,214,108,182,204,236,252,254,200,238,186, 9, 41,187, 97, 67,241,238,251, 60,
-243,100,103,103,246,205,153, 51,167,188,231, 59,223,249,142,209, 8,177, 88,140, 51,103,206, 4,138, 68,162, 64, 0,208,235,245,
-232,212,169,147,179, 22,147,136,172,172,172,182, 94, 94, 94,168,168,168,128,193, 96,128,217,108,134,197, 98, 1, 65, 16,224,114,
-185,224,243,249,144, 72, 36,174,174,236,187, 10,224,181,177, 99,199,238, 62,118,236, 24,162,163,163, 81, 94, 94,142,204,204, 76,
-155,200,114,201, 71,203,102, 37,114,244,199,226,112, 56,248,182,117,107,188, 94, 80, 96, 23, 48,235,188,189,241,111, 75,227,118,
-211,232,212,169, 19,155,156,156,140,227,199,143,227,133, 23, 94, 32, 14, 30, 60,104, 98, 24,134, 87, 80, 80,112,189,160,160,192,
- 41, 14,139,197, 98, 79,171,173,221,118, 20, 88,174, 10, 45,154,166,189,248,124, 62, 42, 43, 43, 97,179, 60, 56, 30,173, 90,181,
-130, 66,161,224,168,213,106, 78, 65, 65,129,120,233,210,165,255, 72, 72, 72, 8,213,104, 52,175, 62,206, 86,104,211,166, 77, 17,
-175,191,254,122, 14,135,195, 97, 71,143, 30, 61, 53, 59, 59,251,197,208,208,208,211,191,254,250,235, 26, 0,237, 92,229, 11, 8,
- 8,184,194,225,112,194,213,106, 53,111,207,158, 61,102,141, 70,195, 11, 12, 12, 44,182,181, 29,182,188, 54,155,205, 78,173, 92,
- 14, 8, 8,184, 34,151,203,121,235,215,175, 55,151,149,149,241,130,131,131,139,109, 60, 74,165,146,183,103,207, 30,179, 90,173,
-230,121,123,123, 95, 81,169, 84, 13,242,201,229,242, 41,211,167, 79, 79, 58,125,250,116, 0, 69, 81,200,206,206, 70, 89, 89, 25,
-124,124,124,176,115,231, 78, 68, 68, 68, 96,239,222,189, 10,133, 66, 49,251,243,207, 63,255,208, 42,178, 26,242,209, 26,212,187,
-119,239, 8,165, 82, 9, 31, 31, 31,232,116, 58, 92,185,114, 5, 29, 59,118, 68, 65, 65, 1, 72,146,132,143,143, 15, 54,110,220,
- 88, 65, 16,132,162, 62, 34,145, 72,244, 98,108,108,172, 15, 0,196,198,198,250,196,198,198,214,218,193,245,237,219, 23, 27, 54,
-108,168, 41,180, 92, 25, 24,216,173, 78, 14,226,168,178, 79,159, 62, 72, 72, 72, 88,232,162, 56, 50,218, 68, 91, 77,107,150, 64,
- 32,112,121, 49,141,197, 98,225,161,202,165,129,112,230,252, 9,192, 96,145, 72,196,171,249,101, 69, 69, 5, 47, 52, 52,116,160,
- 11,194,215, 95, 36,170, 50, 56, 69, 68, 68, 64,165, 82, 49, 70,163,113,242,174, 93,187,204, 0, 16, 19, 19, 51,153, 97,152, 74,
-154,166, 41, 62,159, 15,157, 78,135,160,160, 32,255,122,108,163,139, 14,125,191, 52,164,166,143, 86,104,104, 40, 98, 98, 98, 96,
- 48, 24, 80, 88, 88,136,196,196, 68, 51,195, 48,187, 55,109,218,100, 9, 12, 12,252,251, 43,175,188, 66,165,164,164,188, 5, 96,
- 65, 93, 90,228, 41,179,102,197,215, 41,180,172, 10, 50, 1,192,144,154, 15, 89, 83,252,212, 39,180, 26,154, 58,228,243,249,202,
-156,156, 28,137, 99,167, 66,211, 52,194,194,194, 44, 44,203, 18,181, 9,173,135, 49, 5,115,185, 92,175, 15, 62,248, 64,185,105,
-211,166, 41,247,238,221, 91,226,204,111,246,188,213, 30, 59,106,136,172,205, 43,227, 54,172, 95,185,212,239,206,241,111,176,245,
-203,213, 12,195, 32,165,115,231,206, 3,181, 90, 45,199, 91, 98,134, 92,137, 99, 86,145,229,172, 40, 36, 1,124,125,233,210,165,
-148, 49, 99,198,252,246,245, 15,251,253, 10,238,222, 61, 47, 80,203, 11,101,109,218,114,120,205, 34, 94,210, 84, 86,242, 38, 79,
-158, 28, 8,224,149,134, 26, 49,165, 82,137,162,162,162,154, 2, 12, 55,111,222,124,224, 94,167, 18, 71,146, 96, 24, 6,251,246,
-237,131, 88, 44,134, 68, 34,169,118,216, 68, 86, 35, 23, 42,100, 1,192,232,209,163,161, 80, 40, 32,149, 74,157, 78, 87, 77,241,
-194,178, 44,140, 70, 35,140, 70, 35, 76, 38, 19, 3,128,203,225,112, 48, 43, 47,207,110,229,113, 69,192,212, 68,231,206,157,217,
-115,231,206,225,183,223,126,131, 78,167,195,250,245,235, 17, 26, 26, 58, 12,192, 71,174,114, 57, 56,233, 51,106,181,154,171, 86,
-171,237,214, 65, 46,151,107,183, 30, 56,105,201,227,113, 56, 28,251,104,212,118, 56, 90,181, 40,138, 66,112,112, 48, 66, 66, 66,
-176,121,243,102, 94,203,150, 45,199, 61,206, 22,104,213,170, 85,109,214,173, 91,183,109,199,142, 29,199,166, 76,153,242, 99, 90,
- 90,218, 76,111,111,239,235,103,206,156, 89, 42, 16, 8, 44,141,172,223,225, 5, 5, 5, 65,142, 95, 89, 44, 22, 49, 77,211,118,
- 97, 91, 81, 81,225,244, 0,131,203,229,134,167,167,167,139, 1, 96,233,210,165, 92, 0, 98,155, 51,184,141,179,162,162,130,219,
-177, 99,199,112,103,203,122, 82, 82,210,192, 17, 35, 70,156, 59,121,242,164,111, 68, 68, 4,242,243,243,145,159,159,143, 54,109,
-218, 96,249,242,229, 58,181, 90,221, 31, 64,150, 86,171, 61,232, 36,103,152,175,175, 47, 55, 39, 39, 7, 52, 77,163, 91,183,110,
-216,184,113, 35, 38, 79,158,140, 78,157, 58, 65,173, 86, 35, 61, 61, 29,219,183,111,247,229,241,120,245,182, 29,122,189,254, 96,
-124,124,124,243,154, 22,173,169, 83,167, 74,138,139,139,237,101, 50, 46, 46,174,218, 20,162, 43,109,178,117,106,171,206,163, 49,
-160,105, 90, 38, 20, 10,213, 2,129,128,111,243,207, 74, 76, 76,116,217,154, 85, 99, 0,232,202,249, 99,131, 77,180,214,210,183,
- 34, 36, 36,196,105, 30,129, 64, 64,216,218, 70,154,166,161, 82,169,152,208,208, 80,251,244,126,106,106, 42, 19, 25, 25,201, 80,
- 20, 69,241,249,124, 16, 4, 1,177, 88, 92,103,131,207, 50,108,220,243,147, 63,170,182,234,112,254, 7,128,201,100, 66,106,106,
- 42, 76, 38, 19, 18, 19, 19,205,159,127,254,121,129, 82,169,156, 15,128,115,226,196,137,233, 11, 23, 46,164,130,130,130, 70,148,
-148,148,160, 33, 45,242, 20,137,173, 7,172, 92,182, 94, 40, 97,220,184,113,132,117,105, 37, 97, 19, 78,174, 8, 45,107,229,107,
-176,231, 37, 8, 2,133,133,133,246,243,160,160, 32,151,255,151,179,240,247,247,215,245,237,219,215, 75, 46,151, 31, 92,181,106,
- 85,163, 44, 89,155, 87,198,109, 88,241,233,199,126,138,140, 11,200, 43, 40,132,162,196,156,146,124,253,222, 1, 0, 7, 0, 0,
- 91, 58, 36, 16,111,100,126,229, 44,103,251, 0, 81, 87, 46,143,115,224,217, 49,227,154, 79,138, 93, 64,190,249,230,155, 3,166,
- 79,159,174,154, 50,101,202,219, 82,169,180,157,201,100, 42,223,127,244,232,253, 73,147, 38,181,100, 24,102, 58, 26,136, 57,162,
-215,235,179,135, 12, 25,226,152,159,178, 83,167, 78, 5,223,191,127, 31,243,230,205, 43,205,207,207, 87, 58,222,235, 76, 26, 77,
- 38, 83,118,215,174, 93,235,156, 46,180, 77, 41, 2,128, 70,163,201,118, 33, 75, 95,133,213,241,189,172,172, 12, 55,111,222, 4,
-135,195, 65,159, 62,125,144,156,156,140, 1, 3, 6,164,186, 98,213,170,172,172, 68, 68, 68, 4, 42, 43, 43,161,211,233, 42, 0,
- 8,118,182,108, 9, 0,120,171,172, 12, 87, 62,255, 28, 23, 86,172,128, 99,121,118, 22, 93,186,116, 97, 47, 92,184,128,235,215,
-175,195, 96, 48, 96,246,236,217, 0, 64, 88,203,174, 43, 33, 51, 90, 83, 20, 53,122,204,152, 49, 97, 0,160,211,233,136, 75,151,
- 46, 65, 40, 20,218,235,194,225,195,135,145,159,159, 15,130, 32,224,235,235, 27, 94, 94, 94,222, 18,192,189,122,204,254,196,189,
-123,247,240,217,103,159,193, 98,177, 96,225,194,133,104,219,182,173, 93, 96,101,103,103, 99,233,210,165, 96, 24, 6, 31,127,252,
- 49,218,180,105, 3,179,217, 44, 68, 35, 67,104,184, 3,239,188,243,206,157, 3, 7, 14, 28,203,205,205,125,110,229,202,149,131,
- 9,130,176,188,247,222,123,159,201,100, 50,230, 97,120,203, 85, 26,220,188,157,109, 23, 66, 53,143,192, 0, 63,151,249,110,221,
-205,181,255,158, 97, 28,249, 24,248,251,249,186,154,196, 10,179,217,172,123,233,165,151,124,246,237,219, 71,180,105,211, 6,127,
-252,241,135,205, 50, 84, 1,215, 67, 58,228, 43, 20,138,182, 20, 69,241,110,223,190,141,200,200, 72,244,238,221, 27,203,150, 45,
-131, 92, 46, 7, 77,211, 8, 10, 10,178,152,205,230, 84,147,201,116,182, 1,174,184, 57,115,230,240, 0,188, 97,181,108,117,158,
- 63,127,190,101,245,234,213, 72, 77, 77,181, 91,176, 28,157,225, 93,157, 58,116,180, 58, 57, 30,137,137,137, 11,249,124, 62, 11,
-224, 34, 92, 15,244,108,172,105,209,106,140, 53,171,169,208,148, 43, 25, 67, 67, 67, 19,189,188,188,198,149,151,151, 87,179,106,
-245,239,223,223, 20, 28, 28,156,228, 44,143, 84, 42, 45,167, 40,202, 31, 0,242,243,243, 33,145, 72,120,119,239,222, 93,129,170,
-224,217,104,217,178,229, 10,133, 66,193,107,105,109, 79, 67, 66, 66, 96, 52, 26,235,116, 99, 57,127,181,248, 27, 0,223,216,206,
-253,252,252, 10, 85, 42,149,104,245,234,213,218, 21, 43, 86,232, 25,134, 49, 0, 56,163, 84, 42,237,113,180,138,138,138, 84, 92,
- 46,215,207,199,199,167,153, 77,104,213,166, 69,158, 50,212,109,209,178, 42, 73,182,166, 32, 34, 8,226, 1, 7,245, 6,132, 86,
-131, 34,139, 97,152,106, 86, 6,155,195,123,109,255,203,218,169, 55,106,234,208, 42,178,132,251,247,239,223,185,106,213,170,139,
-206,254,206,209, 71,107,203,154, 79, 87,218, 68,214,239,191,157,196,193, 76,149,124,225,138,181,235, 26,251, 6, 58, 4,136,187,
- 4, 7,251, 39,124,190, 60, 78,118,231,248,118,252,184,229, 63,236,239,151, 47,247,186,124,249,242,180,121,243,230,181,176, 22,
- 44, 5,128,107, 0, 38,193,137, 85, 58,249,249,249,163,106,116,194, 89, 60, 30, 47, 88, 44, 22, 35, 63, 63, 95,123,235,214, 45,
-151,167,100,228,114,249,168, 38, 40,128, 28,155,200,146,203,229, 72, 79, 79,199,208,161, 67, 1, 0,201,201,201,232,223,191, 63,
- 82, 82, 82,208,189,123,247, 84, 0, 61,209, 64,160, 86,179,217,172,236,208,161,131,221,186,165, 82,169, 44, 0, 16, 91, 88,136,
-248,208, 80,112, 56, 28, 92, 88,177, 2,139,205,102, 44,115, 81,192,119,237,218,149,189,116,233, 18,238,223,191, 15,154,166, 49,
-126,252,120, 52,178,210,119,106,223,190,253,169, 51,103,206, 4, 74,165, 82,232,116, 58,104,181, 90,204,152, 49, 3,147, 39, 79,
-134,193, 96,192,158, 61,123,112,232,208, 33,120,121,121, 65,167,211, 65,167,211,249,142, 29, 59,246, 92, 86, 86,214, 32, 0,183,
-235, 16, 90,236,168, 81,163,144,148,148, 4,138,162,208,171, 87, 47,148,149,253,185, 24, 40, 56, 56,184,182,107,212,227, 20, 90,
- 28, 14,135, 77, 76, 76, 92, 57,120,240, 96,228,230,230, 62,215,189,123,247,245, 51,103,206,204,127, 88, 94, 95,111, 47,116,237,
-216, 26, 6,131, 1, 6,131, 1, 97, 97, 97,208,104, 52,184,115,231, 14, 12, 6, 3,130,131,124, 92,230,139,233,212,198,206, 23,
- 20, 20, 4,157, 78,135,123,247,238,193,104, 52, 34, 32,192, 37,161,213,124,212,168, 81,191,238,222,189,219,127,251,246,237,198,
- 33, 67,134,240,215,175, 95, 79,200,100, 50, 56,116, 44,174, 34, 49, 57, 57, 57, 98,196,136, 17, 81, 25, 25, 25, 72, 76, 76,132,
-209,104, 68, 76, 76, 12,110,221,186,133,190,125,251, 66,171,213, 94,188,124,249,242, 33,103, 12,195, 0, 62,156, 51,103, 14,108,
- 98, 43, 41, 41, 9,133,133,133,240,242,242,122, 64,104,217,124, 31,173,171,198,195,156, 73,172, 77, 16, 57, 88,158, 22,251,248,
-248,152, 0,172,107,164,245, 9, 0,144,155,155, 43,232,220,185,179, 65, 40, 20,242,173,162,109,237,195,240,185, 19,110, 88,201,
- 88, 39, 66, 66, 66,230, 7, 4, 4,140,104,213,170, 21,138,139,139,121,124, 62, 31,253,251,247, 55,245,236,217,211, 20, 18, 18,
-242,150,179, 60, 2,129, 32,131,199,227, 13,170, 26, 76, 48,200,201,201, 1,203,178, 11, 59,117,234,244, 79,141, 70,131,178,178,
- 50,190, 76, 38,179, 15,170,163,162,162, 96, 48, 24, 50, 92,176,188,197, 69, 70, 70,126,200,227,241,150,201,229,242,218,194, 66,
-240,125,124,124,100, 60, 30, 15, 38,147,169,154,216,172,169, 69,158,118,145, 85, 77,104, 57,168,200,106, 66,199, 21,139,150, 51,
- 86, 3,155,131,189,227,185, 77,212,213,252, 95,141,141,161,229,237,237,109,176,137,172,101,203,150, 93,108, 12,199,222,221,187,
- 66,189, 45, 21,205, 11, 46,254,140,172,235, 41, 56,144,174,148, 47, 92,177,246,237,231, 95,121,181,184,166, 48,115, 6,109, 3,
-197,157,130,131,252, 19,214,172, 90, 33, 83,100, 92, 64, 97, 81, 17,126,190,120, 57,197, 4,164, 3, 88,232, 78,211, 50, 80, 53,
-117, 72, 81,212,147, 84, 96,237,206,240,133,133,133, 54,145, 21, 3, 0, 3, 6, 12, 72,181,138, 44, 56,107,209, 82, 42,149, 53,
-183,172, 25, 1, 32,192,246,252, 28, 14, 7,253, 63,252,208,101,145, 5,128, 77, 73, 73,129, 66,161,176,141, 20, 27, 43,178, 16,
- 18, 18,242,175, 51,103,206, 4,126,253,245,215,234, 29, 59,118,148, 89, 44, 22,110,215,174, 93,195,123,244,232, 65,236,220,185,
- 19, 0, 48,105,210, 36, 44, 92,184, 16, 55,110,220,128, 68, 34,193,128, 1, 3,152, 37, 75,150, 4,205,159, 63,255,173,226,226,
-226,183,107,237, 29, 45, 22,158, 80, 40, 60, 13, 96, 88, 70, 70, 6, 0,156, 67,213, 22, 78, 54, 43, 66,157,215,156,233,124, 53,
- 26, 13,215,203,203,171,214,208, 16,188,170,209,144,171, 22, 8, 59,231,111,191,253,246,217,154, 53,107, 14,188,251,238,187,183,
- 31,146,179, 86,139,214,184,113,227,160, 55,152,144, 87,172, 2,195,208,208,155, 74, 92,230,115,180,104,141, 27, 55, 14, 21,149,
- 70,228, 20, 42, 64,211, 12, 52,122,167,251,114,241,179,207, 62,123,226,251,239,191, 15, 57,127,254, 60, 24,134,177,220,186,117,
-235,222, 75, 47,189, 36,123,239,189,247,252, 31, 98,145,209,151,175,190,250,234,132,223,126,251, 77, 17, 21, 21,229,119,241,226,
- 69,148,148,148,128,166,105, 12, 27, 54, 12,124, 62, 63,103,197,138, 21, 60, 0, 95, 58,251,110,172, 98,203,116,249,242,229,215,
- 47, 92,184,224,231,231,231,199,183,180,111,143,194,147, 39,177,111,223,190, 7,126,176,101,203, 22,192,201, 40,252, 54,139,211,
-165, 75,151,220, 34,176,170,245,212,124,126,163,167, 31,159, 86, 92,186,116, 41,255,205, 55,223,236, 40,147,201,214, 13, 28, 56,
-112,168,191,191, 63,233,235,235,155,216,172, 89,179,127,118,237,218,213,233,217, 5, 46,151, 59, 83, 34,145,220,161,105,154,210,
-106,181,208,233,116, 85,141, 52, 77,243, 73,146, 68,203,150, 45,237,125, 73,175, 94,189, 16, 18, 18,194,100,102,102,206,116,150,
-191,180,180,180,218, 42,196, 90, 48,167,127,255,254, 28,131,193,128,251,247,239, 39, 59, 94,168, 77,139, 60, 37,136,173, 87,124,
-217, 30,202,241,225,154, 53,107,150,107, 54,155,217,116,128,189,118,237, 26, 27, 27, 27, 91,239, 81, 89, 89,201, 6, 5, 5, 21,
-214,210,249,193,145,211, 96, 48, 84,251,157,193, 96, 96,131,131,131, 25,189, 94,255, 0,167, 94,175,103,195,195,195,243,235,227,
-172, 5, 51,174, 94,189,186,105,241,226,197,189, 93,200, 32, 59, 39,187,185, 61,187,125,251,246,191,177, 44, 59,120, 96,199,136,
-235, 19,187, 6,179,253,219, 6, 21, 28,218,187,123, 50,203,178,131,107, 30,182, 0,167,245,113,182, 15,150,116, 24, 30,221,162,
-252,247,227,223,177,103, 86,255,131, 93, 51,190, 45,219, 61,220, 75,217, 62, 64,228,234, 30, 49, 13,238,150, 30, 29, 29,157,101,
-177, 88, 88,163,209,200, 70, 71, 71,223,114, 7,103, 35, 80, 31,103, 55, 84,249,178,189, 90,203,119,221, 30, 34,157,191,179, 44,
-203, 42, 20, 10, 86,171,213,178, 6,131,129,101, 24,134,117, 4,128,223,157, 92,118,192,127, 0, 0, 32, 0, 73, 68, 65, 84,224,
-100, 77, 38, 19, 91, 94, 94,206,194,121,159,187, 90, 57, 67, 67, 67,239,221,189,123,151,125,230,153,103,114,173,230,248,249, 58,
-157,142,173, 9,157, 78,199, 14, 29, 58,148,189,117,235, 22, 27, 25, 25, 89,121,235,214, 45, 54, 52, 52,244,102, 3,233,108,213,
-188,121,243,211, 1, 1, 1,137, 0,218,186,112,173,222,252,220,179,103, 79,107,150,101,103,179, 44, 27, 91,199, 49,155,101,217,
-246,143,155,211,154,191,197, 44,203,178, 21, 21, 21,172, 66,161, 96, 11, 10, 10,216,138,138, 10, 86,171,213,178, 87,175, 94,101,
-207,159, 63,207, 94,191,126,157,245,243,243, 43,118,134,211,198,103, 52, 26, 89,181, 90,205,150,148,148,176,122,189,158,213,233,
-116,108, 90, 90, 26,123,229,202, 21, 54, 35, 35,163, 54,190, 7, 56,253,253,253,183, 20, 21, 21,105,207,157, 59, 87,177,121,243,
-230,138,144,144,144, 12, 0, 17, 0,218,249,250,250, 22,253,227, 31,255, 96,165, 82,105,118, 35,235, 81, 71, 46,151,123,117,229,
-202,149,151,142, 28, 57, 82,124,232,208, 33,227,182,109,219,242,230,205,155,119,150,195,225, 92, 5,208,177,145,245, 40,200,199,
-199,231,220,197,139, 23,233,242,242,114, 86,169, 84,178,106,181,154,213,233,116,172, 94,175,103,141, 70, 35,107, 54,155,217,179,
-103,207,178,193,193,193,142,211,146,139,234, 25, 88, 47, 96, 89,246, 95, 44,203,114,220,221,214, 57,112, 15,116, 23,167, 59,218,
- 58,146, 36, 77,214,182,163, 79,213,105,253,231,143, 43,157,195,135, 15,255,120,242,228,201,236,232,209,163,217,152,152,152, 7,
-142,238,221,187,179,115,231,206,101,143, 28, 57,194,126,254,249,231, 31,187, 33,157, 28, 84, 45,122, 89, 62,124,248,112,115, 82,
- 82, 18, 59,105,210, 36, 22,192,168,250,180,200, 95, 65,112,217,194, 59, 16,142,127, 1,192,100, 50,229,102,101,101,133, 70,209,
- 52, 5, 0, 95,125,245,213, 3,150, 41, 71, 36, 37, 37,209, 4, 65,220,169,239,191,155, 76,166,220, 51,103,206, 4,111,216,176,
-129,235, 96, 2, 6, 77,211,150,130,130, 2,114,253,250,245,213,238, 79, 72, 72,160,105,154,206,113,241, 33,183,119,235,214,109,
-187, 59,114,235,236,141,251,255, 60,241,243, 79, 1,125,122, 15, 84,202,252,252,106, 29,133,237,121,171, 61,136, 55,234,183,106,
- 17, 28,114,217,202,229,113, 62,182, 41,200, 31, 82,139,148,149, 6,102,104,166, 92,255,187,187,223,176, 86,171,189,111, 91, 9,
-168,211,233,114,158,192, 66,120, 21, 85, 49,174,232, 26,223,245,196, 67, 58,157, 90, 44, 22,120,123,123,219,173,161,141,176,136,
-178, 54, 11,171,237,213, 61, 76,122, 88,150,253, 45, 45, 45, 45,114,198,140, 25, 94, 59,118,236,184,203, 48, 12,119,214,172, 89,
-166,144,144, 16, 94,114,114,178, 25, 0, 49,120,240, 96, 78, 81, 81, 17,155,159,159,175,120,225,133, 23, 52,175,191,254,186,255,
-181,107,215,248, 22,139,165,161,160,133,127,228,230,230, 14,111,196,181,122, 49,113,226,196,187,120,248,109,108,154,156,211, 6,
-133, 82,141,187,247,243,173, 17,204, 45, 96,178,139,237,126, 85,102, 51, 13,133,186,204,101,139,214,157,123,249,214, 45,198, 24,
- 48, 76,129,149,175,202, 33,158, 45,175,104,184, 55,225,112, 6, 44, 89,178,100, 12, 73,146,228,133, 11, 23, 12,171, 86,173,202,
- 45, 45, 45, 29, 15, 32, 7, 0,202,203,203,135,108,223,190,253, 91, 39, 66, 57,212,133,116,179,217,220,119,209,162, 69,111, 3,
- 24, 0,160,133,149, 59,217,106,201,106,108, 4,243, 18,165, 82, 57,114,204,152, 49, 39, 41,138,106,233, 80,143, 2, 0,200,109,
-245,130,101,217,160,226,226,226,231,156, 33, 36, 8, 98,109, 83, 53, 36, 77,201,253,144,237,208, 83,177,146,241,244,233,211,159,
-140, 31, 63,158, 19, 17, 17,241,127, 17, 17, 17,100,121,121, 57,180, 90, 45, 72,146, 68, 72, 72, 8,162,163,163, 17, 18, 18, 98,
-201,200,200, 88,254,254,251,239, 55, 24,147,175, 67,135, 14,173,205,102,243, 51, 36, 73,182, 6,208,154,101,217,214, 4, 65,180,
- 6,224, 7, 0, 50,153, 76, 22, 25, 25,201,233,211,167, 15,122,247,238,141,132,132, 4,236,221,187,247, 27, 0, 39, 28,173, 89,
- 53,181,200,147,128,244,110, 96, 59, 94, 5,113,163, 59, 6, 19, 22, 36,176, 36,134, 68,167,216,227,236,213, 20, 89,117,111, 42,
- 93,139,233,111,212,176, 97,195,236, 21,206,137, 78,229,126, 67,149,175,180,180,116,212,204,153, 51,171,113, 50, 12, 99, 40, 43,
- 43,123,179, 95,191,126, 27, 41,138, 18,212, 40,176,217, 37, 37, 37,143,116,175,190,154,113,180, 70,141,121, 81,254,176,156, 82,
- 30,249, 76,214,209,255,162,184, 68,142, 31, 82,139,202, 53, 70,102,200, 45,121, 69, 90, 83,164, 63, 59, 59,123,244, 83,160,248,
-107, 19,173, 15,187,121,118,169, 19, 1, 73, 27,218,163,142,176,134, 19,113, 75, 37, 47, 42, 42, 90,253,225,135, 31,142, 92,190,
-124,121,224,177, 99,199,100,182, 1,202,203, 47,191, 92,146,150,150, 54, 16,128,160,178,178,242,212,242,229,203, 3,227,226,226,
-252, 1,248, 3,192,216,177, 99,139,139,139,139, 55,192,131,122, 97, 54,155,243,162, 59, 68,217, 7,126,142, 33, 29, 28, 63,211,
- 52,157,231, 10, 95,109, 60,142,231, 12,195,212,203, 71, 81,212,187,189,123,247,166,222,125,247,221,226, 99,199,142,217, 54,210,
-117, 84,104, 89, 13, 4, 37,117, 6, 6, 0,171,172,135, 59,161, 83, 40, 20,125, 93,252, 13,227, 41,141,181, 14, 40, 93, 57,127,
- 44, 56,120,240,224, 71,147, 38, 77,218,238,231,231,183,171,117,235,214, 81,193,193,193, 50,145, 72, 4,131,193,160, 49, 26,141,
- 55,179,178,178,166,124,244,209, 71,127, 56,101,225,216,190,157, 2,192,179, 88, 44, 66,146, 36, 37, 0,100, 4, 65,248,218,132,
- 22, 65, 16, 48,153, 76,184,127,255, 62, 22, 47, 94,204,156, 62,125,250,115, 0, 31,187, 48,112,237, 9, 32,208,161, 29, 15, 4,
- 96, 68, 85, 0,219, 82,130, 32, 46, 55,117,126, 17, 22, 36,116,188, 10, 34,189, 27,106,235, 39,234,223, 84,186,174, 10, 87, 90,
- 90,218,215,221,149,184, 46,206,210,210,210,136, 39,165,134, 76, 55,172,250, 14, 91, 86, 85,219,231,208, 38,194,106, 59,111, 8,
- 42, 61, 61,239,203, 19, 55, 86, 27,104,214, 98,162, 45,127,191, 85, 90,145,238,105,135,220,142,103,221, 85,151,220,152,166,180,
-204,204,204,126,243,230,205,251, 72, 44, 22,247, 2,128,138,138,138, 11, 5, 5, 5,159,194,186,170,176,161,235, 30,212, 13,185,
- 92,222,227, 73,228, 51, 26,141,255,236,215,175,223, 23, 12,195,172,161,105, 58,249,127,224, 85, 84,122, 74,227,211,139, 31,127,
-252,241, 15, 0,125, 1, 96,194,132, 9, 20, 0,236,221,187,215,101,241, 60, 99,198, 12,134,101, 89,147,181, 60,232, 80,181,186,
-176,220,214,166,234,116,186,242,130,130,130, 12,134, 97, 50, 0,124, 11,215, 87,220, 6, 18, 4,113,132,101,217,113, 86,225,118,
-132,101,217,113,142,223, 53,181, 85,171,129, 91, 26,118,134,247,160, 10,123,211, 65,212,156, 10,108,232,188, 33,100, 21,235, 18,
- 1,116,247,228,238,255, 36,238, 22, 20, 20, 76,127,136,235, 30, 60,125,200, 49, 26,141,227,255,135,158, 87,229,121,229,127,145,
-254,175, 17, 2,203,134,140,140,140, 38,115, 17,120,220,232,120,181,250, 0,188,230,185, 3, 98,107, 19, 94, 30,161,229,129, 7,
- 30,120,224,193,195, 64,233,201, 2, 15,254,202,176,249,102,217,206,235,240,209,170,233,159,101, 63, 39, 80,247,202, 1, 87,118,
- 37,111,204, 42,137, 83, 30, 78, 15,167,135,211,195,233,225,124,236,156, 62, 0, 34, 1,172,108,224,190,154,171, 11,139, 1,200,
- 1,152, 61,249,233,225,124, 8,253,224, 20, 88,150, 29, 91,223,212, 33, 65, 16, 71,155, 74,104,217,157,225,187, 97, 73,244, 85,
- 44,177,157, 59, 43,180,154, 26, 35, 60,156, 30, 78, 15,167,135,211,195,233,225,244,112,122, 56, 31, 82,104, 13,125,255,253,247,
- 63, 64, 85,104, 12,246,253,247,223,255,128,101,217,177, 85,151,216,177, 77,249,191,111,116,199,224,244,110, 96,109,199,141,238,
- 24, 92,199,173,177, 14,135, 29,158,169, 67, 15, 60,240,192, 3, 15, 60,240,224, 73,199,185, 21, 43, 86, 84,172, 88,177,194,230,
-248, 94, 10,128,176, 90,184, 74,155,242, 31, 91,167, 9,157, 89, 40, 85,255, 22, 60,143, 1, 97, 36,135, 55,149,203, 19, 12, 5,
-107,137, 6, 0,144,212, 13,198, 88,249, 43, 77,155,118, 1, 40,104, 44,113,123,160, 67, 27, 31,209, 33, 3,195,240,114, 53,198,
- 9,153, 85,219, 28,184,140, 9, 64,127, 1,159,255,139,192,199, 71, 84,219,117,131, 82,169, 55, 24,141, 35,247, 2,191,121,234,
-128, 7, 30,120,224,129, 7, 79, 9, 36,190,190,190,167, 73,146,140,176,125,225, 24,119,176,102, 12, 66,134, 97, 10, 21, 10,197,
- 72, 84, 77, 21, 63, 74, 78,199,223, 27,209,200,190,220,221,112,117,234,144, 3, 84,139,194,250, 72,118,204,166,184,130,215,189,
-188,125,150,253,109,230, 63,253,219,182,139, 34,154, 55,111, 6,176, 64, 78,110, 94,240,157,219,183,134,255,184,227,203,119,212,
- 42,197, 98,179,193,240, 95, 87,185, 59, 0,146, 22, 82, 65,242,127,223,127,205,135, 3, 26,175, 46,221,125,156,208,154,154,103,
- 84, 45, 55,117, 73,100,249,248,251,159, 88,113,234,148,200,183, 75,151,106,215, 88,150,173,218, 95,239,247,223, 69,255, 55,114,
-228,137, 9, 10,197, 40,143,216,250, 75, 34, 68, 38,147,205,231,114,185, 67, 76, 38, 83, 4,159,207,207,101, 24, 38,177,188,188,
-124, 29,128,124, 79,246,252,181, 17, 21, 34, 25, 24,213, 58, 98,119, 65, 81,113,170,186,210, 56, 43,171, 64,171,240,228,138,203,
-168,111,127,205,199,182,247, 38, 0, 72,165,210, 43, 36, 73,134, 59,138, 0,219,158,189,182,243,154,127, 45, 22,203, 31, 10,133,
-162, 95, 61,180,173,253,252,252, 54, 2,232,217, 80,192,100,107,108,182,203, 10,133,226, 77,212,189, 90,207,203,215,215,247, 19,
-130, 32, 38,146, 36, 73, 53,244, 76, 22,139,133, 97, 89,118, 79,121,121,249,199, 0, 52,117,221,231,235,235,123, 42, 51, 51,179,
-103, 80, 80, 80,131, 86, 26,154,166,145,147,147, 19,216,171, 87,175,179, 10,133,162,125, 83,114, 62,106, 45,210, 88,212,179,234,
-176,206,130, 14,160,218,254, 66, 77, 26,145,149, 39,148, 30,234, 59,104,212,208,185,111,191, 43,185,154,118, 19,191, 36,156,135,
- 90,103, 0, 69,146,240,241, 18,163, 93,187,103,136,181,241,251, 2,190,217,188,118,205,133,164,147, 99, 43,117,170, 23, 92,146,
-233, 98,206,226,133, 47,245,146,248,251, 49,128,133,193,191,198,116,149,252,223,145,212,197,168,160, 63,112, 89,100,157, 62, 45,
- 46, 41, 46, 70, 92, 88, 24, 56, 52, 13, 33, 73, 66, 72, 16, 16,146, 36, 36, 66, 33, 70,111,219,134, 79,143, 29, 19,127,244,220,
-115, 30,177,245, 23,131, 84, 42,157, 25, 22, 22,182,106,235,214,173,254,173, 90,181,130, 68, 34,129, 66,161, 8,200,202,202,234,
-182, 96,193,130,233,133,133,133, 31,170,213,234, 45,158,156,250,235,194, 98,193,212,175,151,189,217,172, 48,251,118,179, 57,203,
-191,107, 71,248, 51, 67,110,150,233,139, 60, 57,227, 52,186, 1, 72, 69,237,251,151,214,119,173, 78, 8,133,194,226,202,202,202,
-160,250,238,225,243,249, 37, 70,163, 49,184, 33, 46,146, 36,195,243,243,243,131,196, 98, 49, 24,134,177,238, 6, 96,177, 15,164,
- 29,119, 63,177, 6,170, 69,251,246,237, 77,245,113,122,121,121,125, 85, 82, 82, 50,194,182, 79,160,131,160,170, 21,249,249,249,
- 35, 58,118,236,248,149, 70,163, 25, 89,135,120,249,228,237,183,223,158,223,169, 83, 39,155, 21,200,186, 11, 66,213, 95,185, 92,
-142,121,243,230,217,255,135,197, 98,193,201,147, 39,223,158, 57,115, 38,202,203,203, 23,212,243,236, 17, 65, 65, 65,132,117, 67,
-241, 58,177,100,201, 18, 44, 89,178, 4, 95,126,249, 37,193,229,114,125, 26,200, 79,183,112, 62, 42, 45,210, 24, 11, 86, 3,145,
-225,143,162,186,111,214,209, 7,132,214,163, 0,197, 21,252,189,103,191, 17, 67,230,205, 95, 40,249,238,167, 51,200,202,248, 29,
-153,201,223, 87,187,167,199,200,153, 40,146,107, 48,115,238,191,164, 4,197, 25,146,116,234,224,223,205, 6,253,215, 78, 90,179,
-130, 35, 4,252,127,244,233, 21,205,205, 23,101, 33,196, 87,132, 1,221,219,112,155,159,184,254, 15, 29,232, 47, 50,170, 86,201,
-184, 36,178,182,190,246, 26, 6,154,205, 8,162, 40, 80, 4, 1, 10, 0, 73, 16,168, 52, 24,112,121,234, 84,244,218,185, 19, 31,
- 31, 62, 44,254,228,249,231, 93, 18, 91, 18,137,228, 42, 65, 16,190, 90,173,118, 44,170, 54,150,126, 26,208, 81, 42,149, 30,101,
- 89,182, 92,167,211,117,123,130,210, 21,138,170, 57,250,154,163, 99, 30,170, 86, 84,185,180,179,176, 64, 32,120,125,194,132, 9,
-107, 55,108,216, 32, 46, 46, 46, 70, 65, 65, 1, 24,134,129, 80, 40, 68,219,182,109,137, 83,167, 78,249, 47, 92,184,112,245,209,
-163, 71, 5, 26,141,230, 11, 87, 6, 54, 92, 46, 55,222,207,207,239,185,224,224, 96, 73, 73, 73, 73,133, 82,169, 60,105, 48, 24,
- 94, 71,227,183, 77, 33,185, 92,238,148,200,200,200, 23,195,194,194,130,243,243,243,229,121,121,121,135, 12, 6,195, 55,104,228,
- 70,205, 14,121,218, 5,214,104,245, 0, 10, 35, 35, 35,111,220,191,127,191,196,141,156, 5,145,145,145,233,141,224,148, 0,248,
- 17, 64, 88, 3,247, 21, 0,152, 4, 23,173,217,246,140,101, 45, 63, 47, 93,183,117, 86,220,140, 1,196,215, 11, 70,180,125,227,
-203, 83,231, 73, 30, 59, 40,163,176, 50,215,163,161,156, 19, 89,214, 45,173,106, 10,170,250,174,213, 11,131,193, 16,104, 50,153,
-192,173, 99,179,120,157, 78, 7, 47, 47,175, 64,103, 19, 41, 18,137,240,253,247,223,131,203,229,130,203,229,162,188,188, 28,225,
-225,225,246,115, 30,143,103,255,220,162, 69,139, 6,249, 24,134,233, 69, 81, 20,180, 90, 45, 24,134,177, 31, 74,165, 18, 44,203,
- 66, 32, 16,128, 97,170,182,115,114,184,222,171, 46, 62,130, 32, 38,134,133,133,225,187,239,190,131,209,104,124,224,186, 76, 38,
- 67, 90,218,159,155,140, 80, 20,133,222,189,123,147, 4, 65, 76, 4,176,160, 30, 94, 22, 0, 98, 99, 99, 65, 81, 20, 40,138, 2,
- 73,146,246,207,182,131, 97, 24, 44, 89,178, 4, 53,182, 38,123,100,156, 79, 26, 26,136, 12, 95,136, 58,124,180,200, 38, 78,151,
-227, 18,207, 48,177, 68,246,217,155,255,252,151,244,232,217,235,200,201,205,121, 64,100, 1,192,149, 95,190, 65, 97, 65, 62, 82,
- 51,243, 48,229,239,111, 73,101, 50,159,207,106, 52,168,117, 46, 27,245,246,226,125,254,254,164, 1, 66,173,185, 0, 26, 95,128,
-106,205, 7, 87,172,195,194,113, 93, 4, 50, 47,222, 42,103,210, 41,224,243,127, 89,113,234,148, 93,100,245, 55, 24, 32, 96, 24,
-208, 12, 99, 23, 89, 70,154,134,222,104, 68,168, 86,139, 59, 51,103,130, 53,155,241,225,129, 3, 98, 1,159,255,139, 51,233, 4,
- 0, 30,143, 23,122,232,208,161, 22,157, 59,119, 78,128,243,193, 76, 79, 53,241, 59,170, 15,221,187,118,237,154,184,115,231,206,
- 22, 60, 30, 47,212, 29,156, 66,161,240, 21,137, 68, 82, 42, 20, 10, 95,105,100, 58, 73, 0, 75,103,205,154,149,242,204, 51,207,
-156,177, 10, 43,187,168,121,230,153,103, 78,205,154, 53,235, 42,128, 37,117,148,245,218, 56,155,133,133,133, 45,219,176, 97,131,
-248,214,173, 91,200,207,207,135,217,108,198,171,175,190, 10,134, 97,160,215,235, 97, 52, 26,177,114,229, 74,137,191,191,255, 98,
- 84,109, 20,236,204,179,243,188,189,189,111,237,216,177, 99,194,189,123,247,164,103,206,156, 33,210,210,210, 36,171, 87,175, 30,
-239,239,239,159, 5, 64,208,136,252, 36, 67, 67, 67,191, 62,120,240,224,155,105,105,105,225,251,247,239,231, 94,184,112, 33,116,
-243,230,205,179, 67, 67, 67,119, 2,160, 26,249,142,186,137,197,226,225,239,189,247,158,229,220,185,115,249,231,206,157,203, 95,
-187,118, 45, 6, 14, 28,216, 63, 46, 46, 46,166,145,156,221,189,188,188,134,189,247,222,123,150,164,164,164,130,139, 23, 47,230,
-173, 94,189,154, 28, 54,108,216,128,101,203,150,117,113,145,243,199,115,231,206, 13,206,205,205,109,149,151,151,215, 50, 47, 47,
- 47, 50, 47, 47, 47, 50, 63, 63, 63,162,176,176,176, 69, 81, 81, 81,243,146,146,146,230,137,137,137, 3, 0,236,118,134, 51, 42,
- 88,242,230,130, 87, 71, 84, 44,254,251, 24,246,131,105,207,178, 11, 95, 29,204, 62, 55,168,243, 79, 20,135, 67, 92, 76,207, 65,
-184, 55,240,205,188,158, 17,205, 3, 36,105,209,126,210,118, 79, 88,221,124,210, 56, 57, 54, 33,165, 80, 40,112,244,232, 81, 88,
-173, 87,221, 28, 69,150, 90,173, 70, 97, 97,161,237, 26,199,153,116,202,100,178,211, 91,183,110,101, 43, 43, 43,161, 82,169, 80,
- 82, 82,130,220,220, 92,220,185,115, 7,101,101,101,184,121,243, 38,196, 98,241,105,103,210, 73, 16, 4, 24,134,177, 11,169,147,
- 39, 79, 98,214,172, 89, 80, 40, 20,246,239, 56, 28,142,253,179,237, 55, 13,113,218, 44, 79, 12,195,224,226,197,139,152, 51,103,
- 14,214,174, 93,139,221,187,119,227,200,145, 35, 80, 40, 20,118,177, 69,211,116,131,156,114,185, 28, 22,139,115, 99, 38,150,101,
-161, 82,169,156,126,239,142, 2,136,195,225, 60, 32,138,108,135, 43,101,233, 33, 57,159, 88, 56, 17, 25,190,238, 17,182,237,131,
-213, 84, 55,164,169, 18, 73,114,120, 83, 38,206,120,219, 63,175, 68,141,252, 98, 21, 40,242,207,126, 47,102,196, 12,112, 40, 18,
-151, 78, 84, 25,174, 72,138,130, 74,103,128, 82,107,194,132, 25,243,253,254,187,246,223, 83,104, 83,101,189, 49, 94, 58, 1,109,
-163,165,210,151, 58,118,108, 65,102, 8, 50, 17,243, 92, 50, 24, 11,192, 38, 61,143,110,229, 65, 84,251, 95,248, 47,233, 52,166,
-101,105,192,173,122,173, 25, 62, 62, 34,223, 46, 93, 16, 23, 22,134, 65,102, 51,120, 44,139,103,139,139,241,251,252,249, 48,236,
-219, 7, 18, 0,239,149, 87, 48,116,221, 58,156, 13, 11, 67,136, 94, 15,229, 59,239, 32,240,248,113,240,100, 50, 17, 74,157, 91,
-252, 64, 16, 4,134, 12, 25,130, 83,167, 78,249,143, 30, 61,250,196,245,235,215, 95,166,105,250,108, 99,242,214,219,219,251, 10,
-135,195, 9,111,232, 62,154,166,243, 84, 42,149,203,219,140,112, 56,156, 65,189,123,247, 62,176,127,255,126, 95,147,201,228,150,
- 81, 8,159,207, 31, 61,126,252,248,173,155, 54,109,146,205,158, 61,123,235,145, 35, 71, 42,140, 70,227,113, 87,138, 20,128,165,
- 91,182,108,121, 35, 54, 54,214,103,246,236,217,236,157, 59,119, 28,173, 87,129, 3, 7, 14,124,102,235,214,173, 33, 61,123,246,
-124,123,206,156, 57, 60, 0, 31, 54,100,229,145, 74,165,115,183,110,221, 26, 32,151,203,161,213,106,237,141,108, 94, 94, 30, 68,
- 34, 17, 72,146, 4, 73,146,224,114,185,248,236,179,207,252,231,206,157, 59, 95,161, 80,204,119,194, 74, 22,191,113,227,198,192,
-145, 35, 71,146,247,238,221, 3, 73,146, 16, 10,133,120,237,181,215, 72,189, 94,239, 27, 23, 23,183, 93,167,211, 77,118, 37, 15,
-185, 92,238,148,248,248,248,118,253,251,247,231,100,102,102,162,111,223,190,184,116,233, 18, 94,121,229, 21,174, 70,163,105,185,
-112,225,194, 89, 6,131,193,213, 56, 46,161, 98,177,184,211,175,191,254,154,219,188,121,115,123,195,210,178,101, 75,102,236,216,
-177,138,204,204,204,168,115,231,206,149,245,235,215,207,149, 13,203,155,137,197,226,246, 63,255,252,115, 97, 92, 92,220,240, 45,
- 91,182,140, 7,128, 94,189,122, 29,250,244,211, 79,207, 40, 20,138,232,179,103,207, 42, 6, 13, 26,148,231, 36, 95, 88,104,104,
- 40, 51,111,222, 60,105,125, 55,109,219,182, 77,137,170, 13,151, 91, 1,168,119,191,182,168,200,144,197,171,230, 79, 20,129, 49,
-129, 53,235, 1, 83, 5, 96,210,194, 98,172, 0,193, 19, 1,102, 61, 2, 5, 10,252, 56, 55, 74,182,232,187,187, 25,204, 77, 98,
-108,166, 92,115, 28, 30,212,218,212, 0,136, 33, 8, 34,245,232,209,163,232,221,187, 55,142, 30, 61,138,177, 99,199,166, 58,138,
-129,180,180, 52, 12, 26, 52, 8, 86,139,150, 83,190, 90, 42,149,234,253, 37, 75,150, 36, 77,153, 50, 69, 92,173, 49, 32, 73,248,
-248,248, 96,204,152, 49,149, 58,157,238,125,103, 19,202, 48, 12, 56, 28, 14,242,242,242,176,109,219, 54, 44, 95,190, 28,109,219,
-182,133,217,108,126, 64,108, 89,219, 61,167, 26, 63,154,166,113,249,242,101,236,218,185, 19, 31, 46, 94, 12, 47, 47, 47, 0,128,
-201,100,130,162,188, 28, 66,161,208, 46,198, 26, 16, 78,123,110,223,190, 61, 63, 60, 60,188,218,148,161,237,175,181,205,130,197,
- 98, 1, 77,211,168,172,172,196,218,181,107,105,150,101,247, 52,212,255,216, 68,209,252,249,243, 97, 48,252,105, 80,239, 98,245,
- 73,142,140,140, 68,215,174, 93,237,231, 36, 73,178,206,114,254,183, 95, 39,232, 29,238,142, 90,178, 26, 0, 16, 30, 30,142,168,
-168, 40,132,134,134,214,201,217,212, 90,164, 49,112, 33, 50,124,221, 66,235, 81,236,148,205,229, 9,135,182,110,211,142,200, 41,
- 84,128,195,225, 64,226, 29,128,126, 47, 46, 0, 69,145,144,250, 4,128, 96,244,127, 42, 98,146, 2,135,226, 64,161,209, 35,178,
- 85, 27, 82, 32, 20, 13,213, 53, 32,180,100,222,220,141,239, 77,238, 39, 44,163,243, 32,106, 33, 4, 99,235, 78,195,248, 32,253,
- 53,120,119,116, 91, 81,236,161,235, 27,161, 50, 15,115, 38,189, 20, 77, 35,136,162, 96, 98, 89,252, 62,127, 62, 98,226,227,145,
-106, 19,134,241,241, 72,141,141,133, 31,151, 11, 1, 73,130, 53,155, 31,152,211,119, 70,104, 1, 64,110,110, 46,246,237,219,231,
- 55,113,226,196, 3,105,105,105, 83, 92, 20, 27, 54,174,128,139, 23, 47, 6,181,106,213,170,206,123,254,248,227, 15,244,232,209,
-195,229,233, 41, 62,159, 63,122,216,176, 97,223,237,219,183,207, 59, 61, 61, 29, 65, 65, 65, 15, 45,180, 4, 2,193,160, 17, 35,
- 70,124,183, 99,199, 14, 89,105,105, 41,226,227,227,101,207, 63,255,252,238,148,148,148, 23, 13, 6,131, 51, 98,179,154,200,138,
-143,143, 87,110,219,182,237,191,168, 62, 69, 88,184,109,219,182,175,123,246,236,249,102,108,108,172, 15,128, 55,172,190, 3,245,
-138, 45,129, 64, 48,164,117,235,214,213, 70,181, 2, 65,149,177, 73, 34,145,192,219,219, 27, 60, 30, 15, 6,131, 1, 49, 49, 49,
- 4,159,207, 31,224,204, 51,123,121,121,141,120,233,165,151,200,228,228,100, 20, 21, 21,193,199,199, 7, 82,169, 20, 12,195, 96,
-246,236,217,212,218,181,107,135,232,116,174,205,112, 53,111,222,124,252,240,225,195, 57, 55,110,220,192,189,123,247, 96, 48, 24,
-144,149,149, 5,153, 76,134,105,211,166,241, 86,173, 90,245,124,126,126,190,171, 66,171, 83,108,108,108,177,163,200,178, 65, 34,
-145, 16,237,218,181, 83,248,251,251,119, 7,224,138,208,234,244,214, 91,111,149,172, 88,177, 98,208,169, 83,167,236, 65, 47, 79,
-157, 58,181, 16, 0,190,248,226,139,164,192,192,192,238, 0,156, 21, 90, 96, 89,214,242,183,191,253, 45,155,207,231,131,203,229,
-130,207,231, 87, 59,120, 60, 30, 72,146,244,178, 85,231,134,248, 50,238, 21,173,156,189,112,245,106,137,144,226,254,243,197,206,
-104,225,195, 3, 68,126,224, 13, 90, 4,194,167,202,104,201, 42,254, 0,126, 89,132, 53, 47, 41,200,216,111, 43,127, 50, 49,190,
-129,119,203,203, 53,143,185, 15,232, 9,224, 63,168,218, 92,119, 49,128,139, 79, 72,223,116, 21, 64,204,216,177, 99,237, 98,235,
-216,177, 99, 24, 61,122, 52,148, 74, 37,110,220,184,225, 40,178, 92,217, 96,249,170,217,108,190,246,253,247,223,247,155, 56,113,
- 34,225, 80,191,144,158,158,142,155, 55,111,166, 58,203, 71,146, 36, 44, 22, 11,184, 92, 46, 86,175, 94, 13,147,201,132,111,191,
-253, 22,123,247,238, 5, 73,146, 32, 8, 2, 4, 65, 64, 38,147,225,203, 47,191,116,169,221, 99, 24, 6,219,183,111,199,162,133,
- 11,237, 34,203, 58,147,129,144,224, 96,248, 7, 4,224,238,221,187, 13, 10,173,242,242,242,143, 15, 31, 62,140,250,156,225, 15,
- 31, 62,108,255, 92,195, 25,190,225,126,142,162, 96, 48, 24,240,236,179,127,110, 21,251,214, 91,111,217, 63, 43, 20, 10, 80, 20,
-101,203, 11,194, 89, 78, 61, 11,188, 40,252,243,187, 49,239,190, 91,205, 66, 87, 23,231,163,208, 34,238,178,110,213, 34,182, 98,
-172,214,217, 80, 0, 99, 81,229,163, 85, 8, 60, 66, 31, 45,150,181,180, 15,111, 22,134,107,119,210,192,161, 40,240,189, 3,224,
-237, 23, 12, 11,109,132,170,228, 30, 18,246,127, 5, 0,216,178,125, 15, 72,146, 4,135, 67,193, 96,100,208,182, 69, 24, 44, 22,
- 75,251,250,184, 59, 0,253,134, 4, 7,244,110, 30,225, 67,220,240,189,135,118, 65,254, 53, 38, 66, 4,104, 91, 32, 37,250, 74,
- 69,189,202, 85,234,126, 25,192,185, 6,197, 0, 73,130, 36, 8,136,121, 60, 24,246,237,171,242,218,140,175,234,179, 82, 99, 99,
- 65,254,244, 19,188, 4, 2, 80, 4, 1,142,213, 4,221, 24,168,213,106, 16, 4,129, 93,187,118,249, 78,155, 54,109,247,141, 27,
- 55, 98, 43, 43, 43,247,185,194,161, 84, 42,199,246,239,223,255,204,246,237,219, 3, 67, 66, 66, 30,184, 94, 84, 84,132, 25, 51,
-102,148, 42,149, 74,151,130,186, 9,133,194, 87,198,143, 31,191,245,155,111,190,145,221,190,125, 27, 90,173, 22,129,129,129, 15,
- 91, 20,186,247,233,211,231,192,190,125,251,188,139,138,138,160, 82,169, 96, 48, 24,176,107,215, 46,159, 49, 99,198,236,203,204,
-204, 28, 13, 32,165, 1,142,143, 28, 69,214,156, 57,115,174, 3, 8, 2,176,177,166, 6,181, 94,235,236, 32,182, 84, 0, 86,213,
- 51, 18,141,144, 72, 36, 40, 41, 41,193,140, 25, 51,112,235,214,159, 6,208,176,176, 48,251, 72,239,238,221,187, 8, 12, 12, 4,
- 65, 16, 65,206, 60,116, 96, 96,160,212,104, 52, 98,214,172, 89,200,205,205,173,198,153,151,151, 7,130, 32,196,174,102,100,112,
-112,112,176, 94,175,199,192,129, 3, 81, 89, 89,181,175,239,164, 73,147,192,229,114, 81, 82, 82, 2, 46,151, 27,208,136,247, 19,
- 48,118,236,216, 58, 67,171,200,100, 50,147,175,175,111, 7, 23, 57,253,159,127,254,249,252,248,248,248, 7, 22,182, 92,186,116,
-233, 5, 63, 63,191, 83,126,126,126,237, 92,228,180, 56,138, 42, 30,143, 87, 77,104,113,185, 92,144, 36,233,180,143,218,173, 18,
-221, 6, 14, 81,216,117,197,188,145, 51, 90, 4,121,131,213, 22,131, 55,236, 99, 92, 43, 21, 97,245,218,159, 1, 0,255,122,173,
- 7,186,140, 88, 10,227, 55, 35, 49,191, 47,197,159,154,103,120, 15,192, 71,143,185,205,255, 28,128,109, 21,220, 38, 0, 93,159,
-160,254,200, 46,182,142, 29, 59,134,232,232,104,148,151,151, 35, 51, 51,179,177, 34,203,214,222, 45,250,228,147, 79,126,121,249,
-229,151, 37,182, 65,171, 72, 36,194, 59,239,188,163,215,106,181,139, 92, 42, 68, 22, 11, 56, 28,142,125,144, 44, 20, 10, 17, 19,
- 19, 99, 23, 89, 4, 65,160,162,162, 2, 28, 14,199,182, 34,145,112, 50,141, 8, 13, 9,129,151,151, 23,218,180,109,139,219,214,
-118,196,246, 89, 32, 16,128, 32, 8,208,116,131,134, 60,141,213,169,125,129,187,187,100,155, 40,170,215,116, 28, 22, 6,139,197,
- 98, 19,153,172, 59, 56, 3, 2, 2,160,213,106,157,229,124, 34, 81,135, 69,203, 38,180,198,162,202, 87,235,129,240, 14,131, 1,
- 36,160, 9,151, 84, 18, 96, 9, 11,203,130, 67,145,214,185, 91, 10, 20, 69, 66, 81, 90,136,117, 31,191, 97, 21, 89,123,113, 52,
- 41, 19,225,173,163,255,156,199, 37, 8,128,173,191,112, 7,122,243,226,231,190,220, 71, 84, 76, 20,194, 39, 76, 12,161,176,134,
-126,244,229,129,136, 36, 49,111, 72,184,248,242,225,202,248, 12,149,169,193,142, 66, 72,146, 85,206,239, 4, 81,171,115, 15,105,
-189, 70, 17, 4, 88,150, 5,107,113,205,239,216, 38,228, 69, 34, 17, 76, 38, 19, 40,138,194,250,245,235,125, 70,140, 24,177,209,
- 85,161, 5, 32,189,184,184,120,204,236,217,179,143,237,217,179, 39, 32, 32, 32,160,218,232, 97,246,236,217,242,226,226,226, 49,
-112,209,233,158,203,229,110,220,180,105,147,236,254,253,251,168,168,168,128, 72, 36,178, 55, 62,141, 45,159,189,122,245, 58,113,
-252,248,113, 95,149, 74, 5,147,201, 4,145, 72, 4,150,101, 65, 81, 20,126,248,225, 7,255,113,227,198,253,156,147,147, 51,172,
-190,180,138, 68,162, 23,173,194, 9,177,177,177, 62,177,177,177,131,129, 58, 35,245,218, 17, 27, 27,235,179, 96,193,130,231,245,
-122,253,170,122,158, 57, 87,161, 80,132,136, 68, 34,236,223,191, 31, 82,169, 20, 98,177, 24, 97, 97, 97, 80, 40, 20, 16,139,197,
- 96, 89, 22,102,179,217,214, 88,148, 57,243,224,165,165,165, 90,154,166,189,143, 29, 59,134,178,178, 63,127,210,162, 69, 11, 40,
-149, 74, 88, 44,150, 10, 87, 51,179,160,160,160,152, 32,136,230,215,174, 93,195,253,251,247, 49,122,244,104,252,244,211, 79,232,
-209,163,106,118,216,104, 52, 54, 38,136, 31, 67, 81, 20, 91, 79,185, 37, 0,248,186,147,211,218,121,185,196,105,177, 88, 44, 54,
-145,229,248,215, 81,124, 53,240, 63,171, 85,231, 14,193,210,109, 43,230, 14,159, 49, 50, 58, 0,250,210,123, 16,122, 5,128,240,
-137,196,234,181, 63,227,198, 31, 85,239,107,245,238, 43,248, 46,110, 12, 32,242, 67,148,183, 28, 33, 94,156,151,110,150, 60,118,
-161,229,237, 56, 78,120, 82, 59,166,209,163, 71, 67,161, 80, 64, 42,149,186,195, 63,231,188, 94,175,207, 58,120,240, 96,247,177,
- 99,199,130,207,231, 35, 43, 43, 11, 41, 41, 41,153, 0,206,187, 42,180,184, 92, 46, 62,249,228, 19,188,241,198, 27, 8, 14, 14,
-198,162, 69,139,192,225,112,236, 7, 65, 16,118, 11,151, 43, 8, 10,174,127,225,163,205, 33,190, 33, 99,184,183,183,247, 39, 36,
- 73, 78,164,156,200, 56,134, 97, 24,139,197,178, 71,165, 82,213, 27,222,193,230,184,238,204,187,112,204,131, 6,250,180,135,230,
-124, 20, 90,164, 49,168,185,218,176, 14,139,150,109,213,225, 3, 91, 1,217,158, 50,193,106,178, 75,104,170,132, 18, 36,117, 51,
- 47,191, 0,254,190, 82,171,200,178, 30, 36,137, 46,209, 85,131,217,163, 73,153, 8,111, 21, 13, 14, 69,129, 67, 81,144,138, 4,
- 40, 46, 42, 4,135, 67,222,172,139,183, 19,133,151, 95,110,215, 60,210,215,159, 11,121,160, 17,161,193,117, 24, 6,186,123, 33,
- 60,148,143, 81,254,194,136, 78, 20, 94,174,223,250,198,218,133,150,137,166,193,123,229, 21,251,116, 97,106,108, 44, 98,226,227,
-193,140, 31, 15,157,201, 84,205, 84,220, 88,161, 37, 18,137,160,209,104, 48,101,202, 20,133,217,108,126,179,145, 89,156, 82, 86,
- 86, 54, 97,234,212,169,101, 54, 1, 99, 50,153, 48,117,234,212,178,178,178,178, 9, 78, 88,137, 30,128,217,108,126,179, 71,143,
- 30, 10,185, 92,110, 79,103, 99, 26, 28, 27,252,252,252,142,110,219,182,205,207, 96, 48,128,166,105, 59,167, 72, 36, 2, 69, 81,
- 8, 12, 12,196,119,223,125, 23,232,231,231, 87,239,158, 85,122,189,254, 96,124,124,188, 18, 0,226,227,227,149, 4, 65, 36, 18,
- 4,177,153, 32,136, 77, 53,142,205, 4, 65, 36, 58,222,171,215,235, 15,212,199,109, 52, 26, 19, 51, 51, 51, 89,177, 88, 12,138,
-162, 96, 50,153, 32, 20, 10,237, 38,113,181, 90, 13,189,190,106,154, 59, 37, 37, 5,102,179, 57,217,153,103,215,104, 52,167,183,
-111,223,110,105,209,162, 5,162,163,163, 17, 19, 19,131, 62,125,250, 32, 34, 34, 2,159,126,250, 41,163,211,233, 92,174,123, 5,
- 5, 5, 71,127,252,241, 71,115,243,230,205,209,189,123,119, 8, 4, 2,116,233,210, 5, 97, 97, 97, 88,190,124,185, 81,165, 82,
- 29,107,196,107,202, 73, 75, 75,163,234, 17,185, 50, 56,177,122,183, 6,114, 47, 95,190, 76,245,233,211,231, 80,205, 11,189,122,
-245, 58, 36,149, 74,189,109, 38,118, 87, 70,228,142,226, 74, 32, 16,216, 15,219,247, 28, 14,199,153,209, 15,217, 33, 88,186,237,
-179, 55,134,206, 24, 25,237,139, 67,167, 47,130,103, 82, 2,198,122,102, 4, 25, 51, 8,158, 4,193,222,220,240, 39,160, 15,152,
- 15,224, 58,170,226, 48, 45,194,147, 5,187,227,123, 89, 89, 25, 50, 51, 51,145,146,146,130, 62,125,250, 32, 57, 57, 25,248,211,
- 65,222,101,168, 84,170, 69,113,113,113, 58,219, 74,190,197,139, 23,235, 53, 26,205, 34, 87,219, 96,150,101,193,229,114, 17, 21,
- 21,133, 5, 11, 22,224,231,159,127, 70, 86, 86, 22,204,102,179, 93, 8,217,124, 50, 93,177,104,241,120, 60, 4, 7, 7,195,108,
- 54,219,173, 89, 0,112,251,214, 45,112, 56, 28, 88, 44, 22, 24,141,198, 6, 45, 90,222,222,222,159,108,221,186,245,109,185, 92,
- 30, 90, 90, 90, 26,228,120, 20, 23, 23, 7, 21, 22, 22, 6,229,231,231, 7,229,230,230, 6,101,103,103, 7,221,187,119, 47,116,
-229,202,149,111,123,123,123,127,226, 76, 58, 41,138, 66,151, 46, 93,240,214, 91,111,217,143, 13, 27, 54,216,143,132,132, 4,151,
-157,215, 41,138, 66,212,146,213, 24, 83,202,218,143,159, 3, 9,251,113,227, 95,115,234,227,108,114, 45,210, 40,253, 98, 93,109,
-232,184,177,116, 45,176,173, 58,180,181,101,118,183,141,154,206,240, 77, 6,218, 88,121,230,143, 59,183,134, 70,117,234, 73, 22,
-201,181,213,150,127,198, 12,153, 0,130, 32,208,172, 85, 52, 40, 14, 7, 20, 69,130, 67, 81,240,145, 9,145,121,237,154,197,160,
-215,159,169,141,115, 48,192,225,139,248, 27, 94, 27,213, 69, 88,192, 47, 65, 96,168, 4, 60,110,149,118,100,255,152, 80,163,135,
-224, 0,157,188, 48, 51,223, 95,116,166,184,114,131,175,206,116, 40,177,142, 17,160,197, 98,129, 84, 32, 64,165,193, 0, 61, 77,
- 99,200,186,117,246,233, 66,146, 32,112, 21, 64,231,117,235,112,110,223, 62,200,248,124, 64, 32,112,122, 85, 72,109, 66, 75, 46,
-151, 99,250,244,233,101,133,133,133,211, 26,227,163,101,131,193, 96, 56, 91, 84, 84, 52,109,194,132, 9,187,246,239,223,239, 55,
- 97,194, 4, 69, 81, 81,209, 52, 39,253,158, 30, 64,101,101,229,190,220,220,220,138,233,211,167,239,220,189,123,183,127, 64, 64,
-128,125, 36,210,168,194, 74, 16,242,225,195,135, 11,156,185,175,129, 91,226,172,206,237,111, 88, 45, 91,157,231,204,153,115, 14,
- 85,254, 87,142, 88,178,101,203,150, 73, 14, 83,140,155, 1,172,171,143, 88,173, 86,111, 90,176, 96,193,223,207,158, 61, 27, 32,
- 20, 10, 65, 16, 4,120, 60, 30,218,180,105, 99, 95, 69,195,229,114,193,178, 44,222,125,247, 93,121, 73, 73,201, 23, 78,190,155,
- 57,113,113,113,131, 42, 43, 43,125,167, 79,159, 78, 9,133, 66, 20, 23, 23, 99,237,218,181,204, 55,223,124,163,212,233,116, 51,
- 26, 33,132,183,255,251,223,255, 30,162,213,106, 91,205,158, 61,155,167, 82,169,160,215,235,241,222,123,239, 25,191,254,250,235,
- 60,189, 94,239,114,192,223,190,125,251,222,201,206,206, 30, 80, 81, 81, 81, 46, 22,139,107, 90,251, 8,137, 68,210, 19,192, 78,
- 87, 56, 99, 98, 98,238,230,228,228,244, 89,186,116,105,162,217,108,230, 94,186,116,201,238, 12,191,126,253,250, 4,161, 80, 56,
- 28, 46,110,190, 74, 16,132, 69, 32, 16, 84,179, 96,213,252,204,225,112, 26,108,211,218,135,136,151,126,246,250,160, 25,207,118,
-240,198,193,211, 87, 16,119,224,143,155,109,103, 4, 70, 61,227, 91, 10, 75,105, 38,254,245, 90, 15,172,222,125, 5, 64,213,212,
-161,165,228, 6,216,242,187, 96,189,154,227,158, 66, 94,240, 4,244, 1, 9,168, 10,153,241,164,161,154,200,186,113,227, 6,134,
- 14, 29, 10, 0, 72, 78, 78, 70,255,254,253,145,156,156,140, 1, 3, 6,184, 28, 75,203,138, 95,213,106,117,118, 66, 66, 66,199,
-230,205,155,227,252,249,243,247, 0,252,234,106, 34,109, 66,139,195,225,224,213, 87, 95,197,136, 17, 35,208,162, 69,139,106,171,
- 13,109,159, 93, 17, 27, 52, 77,163, 83,167, 78, 48, 24,141,224,241,120,246,169, 73, 14,135,131,192,160, 32,220,185,115,199, 41,
-139, 22, 73,146, 19, 95,124,241, 69, 50, 61, 61, 29,147, 39, 79,198,174, 93,187,234,188,119,234,212,169,248,254,251,239,241,226,
-139, 47,146, 31,124,240, 65,189,225, 29,108, 78,232,206, 60,147,173,159,110,168,221,119, 23,103, 83,107,145,135,129, 67,104,135,
- 90, 39, 77,106,249, 46,190,154,208,114, 8, 18,214, 52, 66,139, 54,237,250,233,219,175, 22,244,217, 56, 32, 48, 52,200, 27, 10,
-149,222, 46,182, 82, 19,246, 2, 0, 94,158,179, 12, 28,170,106, 74, 81, 38, 21, 66,196,163,176,111,199, 23,114,147,169,178,214,
-210,165,225,146,111,124,208,175,141, 55, 95, 98,134, 58,132, 69,116,224,159, 59,229, 16,173,246, 62, 40,184,186,249, 34,224,248,
- 59,101,193, 0, 0, 9,165, 73, 68, 65, 84, 70, 57, 94,123, 70, 42,251, 34, 93,249, 6,204,150, 13, 15,116,136, 74,165, 94,121,
-237,154,104,244,214,173,184, 52,109, 26,154, 49, 12, 18,195,194,224,199,229,194, 91, 32, 0, 73, 16,208, 31, 57,130,115,251,247,
- 35, 88, 32, 0,188,188, 64,127,250, 41, 12,153,153, 48,107, 52,250, 70,140,204, 48,105,210, 36,185, 92, 46,159, 96, 52, 26,207,
- 62,108, 62,235,245,250,227,185,185,185,111,244,237,219,119,163,217,108,126, 83,175,215, 63,212,202, 40,163,209,120,188,168,168,
-232,149, 73,147, 38,237, 61,112,224, 64,128,143,143, 79,163,185,202,202,202,122,184,169, 56, 89, 0,124,104,117,110,127, 35, 54,
- 54,214,231,242,229,203,127,223,182,109,219, 70,135,209, 68,208,172, 89,179, 94,175, 33,178, 26, 92,117, 8, 32,167,164,164,228,
-211,119,222,121,103,217,154, 53,107,164, 54,199,247,223,127,255, 29, 52, 77,131,203,229,130, 97, 24,204,154, 53, 75, 91, 86, 86,
-182, 26,117, 71,116,126,160,104,169,213,234, 54, 75,151, 46,221,182,110,221,186, 17, 20, 69, 73, 24,134,209, 85, 84, 84, 36, 86,
- 86, 86,206, 64,227,226,104, 89, 74, 75, 75,167,127,244,209, 71,211,215,174, 93,251, 34, 73,146, 65, 52, 77,203, 53, 26,205, 97,
-189, 94,255, 53, 26, 49,149,116,254,252,249,210,215, 94,123,237,143,210,210,210,246,225,225,225, 42,169, 84,106, 52, 26,141,148,
- 72, 36,146, 73, 36,146, 24, 0,231, 9,130,200,112,133, 51, 53, 53,181,104,246,236,217,247, 13, 6, 67,212,230,205,155,147,100,
- 50,217,105,130, 32, 8, 30,143,231, 43, 18,137,134, 2, 72, 36, 8,226,182, 43,156, 36, 73, 90, 28,173, 87, 53,253,179,248,124,
-190, 83, 62, 90,173, 2,197, 51, 71,180,225,224,224,153, 43,136, 59,152,179,157, 97,217,253,251, 83,203,143, 44,234, 15,152,246,
-188,134, 46, 19,118, 86, 77, 23, 2,176,148,220,128,105,207, 84, 16,226, 0, 36,229,115,161,210,155,142,194,131,218, 96, 15,239,
- 32,151,203,145,158,158,110, 19, 89, 49, 0, 48, 96,192,128, 84,155,216, 74, 73, 73, 65,247,238,221, 83, 1,112, 93, 45,175,106,
-181,250,157, 41, 83,166, 28,183, 14,142,223,105,196,192,207, 46,180,108,130,170, 69,139, 22,246,115,199,195,193, 71,203, 41, 48,
- 12, 3, 30,143, 7, 14,135,131,208,176, 48,251,255, 98, 89, 22,119,238,220,129, 66,161,112, 74,104, 81, 20, 69, 17, 4,129,201,
-147,157, 91,144,252,183,191,253, 13,137,137,137,160,156, 84,133, 20, 69, 33, 50, 50,178,193,123,108,186,212, 89,206,240,240,240,
- 70,115, 54,181, 22,105,172,192,170,237,115,109,162,170,174, 10,241,168, 80,160,213,170, 62,220,177,117,253,154, 89,115,223,149,
-222,184, 91, 12,149,214, 0,138, 34, 29, 27, 79,112, 56, 20,100, 18, 33,154,135,120, 99,247,127,255,163,209,168,149, 31,161,142,
-125, 15, 91,120,241,230, 12,239,249,140,128, 23,170, 67, 84,231, 73,160,132,127,138, 0,182,168,142,217,193,254,191,224,185, 28,
-157,240,167, 28,221,156,171,229,198, 7,133,150,209, 56,114,241,168, 81, 39,226,126,254, 89,220,107,251,118,220,157, 53, 11, 97,
-122, 61, 4,214,169, 68,146, 32, 32,229,241, 32,229,241,170, 68,214,218,181,208,211, 52,214, 77,155, 86, 97, 48, 26, 71,185, 82,
-201,203,202,202, 48,126,252,248,210,130,130,130, 49,104,196,212, 94, 93,208,233,116,251, 0,236,115, 23,159,193, 96, 56,155,151,
-151,247,220,248,241,227,127, 62,126,252,120,224, 19, 18,100,206, 38,182, 76,151, 47, 95,126, 61, 41, 41,233, 46,170,111, 44,170,
- 76, 74, 74,186, 59,123,246,108, 98,219,182,109, 95, 3,248, 55,156, 12,224,169,211,233,214,159, 60,121, 18,131, 6, 13,250,247,
-138, 21, 43,252,123,244,232,129,160,160, 32,104, 52, 26,164,164,164, 96,254,252,249, 10,181, 90,189, 66,169, 84,174,113, 49,205,
- 38,131,193, 48,213,113, 41,181, 59,242,193, 96, 48,124, 83, 88, 88,248,141,187, 8,231,205,155,247,251,157, 59,119,202, 2, 3,
- 3,123,243,120,188,206,168,242, 3, 42, 2,240,181,171,130,200,134,185,115,231, 94,187,115,231,142,188, 89,179,102,125,172,156,
- 62,168,218,198,104,107, 35, 56, 11,174, 92,185, 18,222,179,103, 79,146,203,229,178, 20, 69,129,203,229,178, 28, 14,135,181,250,
-213,176, 0,112,248,240, 97, 1,128,122,183,205,185, 91,162, 95, 58,245, 63,191,125,144, 81, 84,185, 63,179,184, 98, 1, 0,118,
-207, 13,241, 47, 93, 2,169,145, 35,219,229,193, 16, 63, 0,132,172, 42, 80, 37,171, 45, 4, 33, 9, 70,158,165, 25,150, 28,186,
- 89, 68,131, 88,229,209, 84,181,143,171, 97, 13,239, 80, 88, 88,232, 40,178,108, 86,171,152, 1, 3, 6,164, 90, 69,150,237, 90,
- 99,252,203, 78, 89, 44,150,135,234,195, 88,150, 69, 92, 92, 28,182,108,217,130,134, 34,154, 91, 87,247, 17, 13,241,217, 44, 90,
- 12,195,192,100, 50,225,198,141, 27,246,152, 93,182,233, 66, 91,104, 7,154,166,235, 93,173,206, 48, 12, 99, 52, 26,241,195, 15,
- 63, 56, 37,182,190,251,238, 59, 84, 86, 86,130,105, 64,193, 57,134, 98,232,218,181, 43, 20, 10,133,125,177, 79, 76,204,159,161,
-242, 76, 38,147, 75,194,213,198, 25, 21, 21, 5,185, 92, 14,155,191,112,243,105,127, 26,123,104,157,238,175, 90,238,235,180,104,
- 61,242, 30, 83, 32,150, 29,239,209,111, 68,255,105,175,207,151,104, 13, 12,238,223,207, 70,105, 73, 33, 72,130, 68,104,179,112,
- 68, 68, 68, 66,196, 39,177, 43,126,141, 46,245,220,233,223,180,154,242,209,117,113,141,245,230,157, 91,251, 74,255, 62,173, 91,
-123, 17,160,205, 0, 99, 6,104, 51, 96,177,254,181,125,103,169, 94,230,210,211,149,236, 7, 87, 21, 23,142,170, 76,181,238, 89,
- 53, 1,232,239,227,231,119, 98,201,225,195, 98,139,201,132,178,119,222,129,152,166, 33,180,142, 74,170, 30, 68, 0,250,211, 79,
-171, 68,214,212,169, 21, 42,165,210,165, 45,120, 2, 2, 2,174, 16, 4, 17, 80, 90, 90,250, 84, 69,134, 15, 12, 12, 60,202,178,
-172, 92, 46,151,247,120,130,210, 21, 4, 64, 9,192, 84,203, 64, 34, 16,174,251,255,216, 16, 25, 24, 24,248, 1, 73,146,125, 89,
-150,245, 39, 73,178,220, 98,177,156, 47, 41, 41, 89, 9,224,142,167, 63,125,108,176, 69,134,111,217,192,125, 37, 0,254,137, 42,
-167,224,251,206,146,119,241,246,246, 54,240,205, 7, 94,136, 22, 12,153, 24,227,141, 86, 33, 94,224,242,132, 40, 80,211, 56,149,
-161,198,214,132,162, 92,189,153, 25,119,171,180, 34,205,243, 42,234,133,219,183,224,113, 39,252,252,252, 46,158, 56,113,162, 71,
-171, 86,173, 72, 71,135,119, 91,172, 60,219,244, 22,135, 83,165,229,206,158, 61, 75, 79,158, 60,249,124,113,113,241,160,186, 56,
-189,188,188,126,185,126,253,250,179, 42,149,234, 1, 65,229, 24, 41,222,118,174,211,233, 48,119,238,220,147,117,109,193,227,237,
-237,189,118,205,154, 53,111,191,252,242,203,164, 45, 28,133,227, 97,219, 46,200,118,152, 76, 38,236,220,185,211,242,197, 23, 95,
-124,169, 82,169,234,156, 58, 12, 13, 13,205, 45, 40, 40, 8,183,133, 90,112, 38,168,104,100,100,100, 97,118,118,118,216,163,228,
-124,138, 5, 87, 53,235,214, 99, 49, 77,112, 69,162,121, 94, 82,223,143, 95,158,242,150,127,100,235,182, 68,112,104, 51, 16, 32,
- 81, 92,148,143,236, 63,110,177, 7,190,253,170, 76,167, 86,124,162,215,235,190,170,143,167, 3,208,186,165,140,183,135,207,160,
- 29,108, 2,168,198,254, 84, 15,140, 56, 0,152,184,228,205,251, 26,243,164,140,122,166,125,108, 98,235,195, 3, 7,196,252,118,
-237, 30, 8, 20,103,177, 88, 96,200,204,196,186,105,211, 92, 22, 89, 30,120,224,129, 91,208, 10, 13,199,200, 50,163, 42, 62,151,
-171, 22, 19, 34, 42, 72, 50,137, 5, 38,146,176,116, 34, 9,130, 79,179,200, 2,139, 95,196,156,138,141,169,133,208,123,178,223,
- 41, 60,177,155, 74, 3,144,248,249,249,157,166, 40, 42,194,102,145,113,180,214,215,178,161,244,253,226,226,226,225, 0,234, 91,
- 33,220,218,203,203,235, 43,134, 97,122, 57,179,169, 52, 69, 81,151, 52, 26,205, 60,212,179,169,116, 83,172, 58,244,247,247,191,
-147,157,157,221,218,182,138,218,177,175,172,109,101,249,237,219,183, 49,120,240,224,236,162,162,162,200, 71,201,249,164,162,142,
- 85,135, 79,142, 69,203, 1, 97, 60,129,116, 58, 95, 36, 28,102, 49,211, 81, 32, 0, 14,151,123,211, 88,169, 63, 99,208,107,119,
-160,142,233,194, 71,137, 9, 64,127, 1,159,255, 11, 79, 38, 19,213, 38,218,204, 26,141,222, 96, 52,142,244,136, 44, 15, 60,240,
-192, 3, 15,158, 34,180,243,243,243, 59,193,229,114, 5,142, 98,178,230,103, 27,104,154,174, 44, 45, 45, 29, 13, 32,235, 17,115,
-254,111,194, 69, 39,181, 17,206,114, 90,143,193, 79, 58,103, 19, 62, 59,235, 70,206,193, 86,206, 37, 79, 73, 58, 7, 63,169,156,
-182,231,117,129,119,132, 43,229,200, 93,249,233,144, 78,214,221,233,108, 42, 78,119,213,163, 90,210,201, 54,193,123, 95,242,148,
-164,115,240,147,198, 89,179,252, 56,201,235, 18,167,147,101,202,213,116,178,238, 78,103, 83,113, 62,108, 61,170, 39,157,236,195,
-150,165, 58,222,253, 18, 60,133, 72,239, 6, 54,189, 27,216, 27,221,107,141,219, 24, 91,215,239, 92,114, 36,108,170,149, 0,182,
-176,251, 86,126,226, 73,229,116,204, 7,119,110, 21,208, 4,219, 14, 36,184,155,179, 70,126,186, 11, 75,172, 43, 76, 18,225, 68,
-192, 81, 87,158,221, 29,239,189,198,179,186,133,183, 17, 34,203, 37, 78,119,149,251,166,230,116, 87, 93,170,201,233,142,114, 95,
-219,123,111,194,119,228,174,116,186,165, 46, 53, 69,153,175,165,252, 60, 52,111, 77, 78,119,212,165,154,156,238, 40,247,143,130,
-211, 29,117,169, 54, 78,119,148,251,186,222,253,211,106,104,178, 77, 23, 90, 67, 60, 16, 78,136,173,120, 0, 32, 27,147,105, 77,
-104, 41, 27,226,110, 78,119,167,185, 41,196,166, 11, 22,152,199,206,233,230,119,180,196,202,233,206,209,205, 16,119,189,163,166,
- 40,239,142,156,238,226,175,201,227,142,247, 84, 27,231,195,166,183,142,116,186,253,217, 31,182,220, 63, 42, 78, 55,191, 35,183,
-212,165, 26,156, 67,220, 60, 24, 24,226,112,190,196,157,156,238,170, 75,181,164,243,161,223, 83,109,156, 15,155,222, 58,210,233,
-246,103,119, 71, 31,210, 84,188,143,211,162,197,146,117,150,137,248, 26,199, 35, 17, 26,143,109, 74,206, 69,238,191, 20,167,139,
-211, 51, 35,154,224,221, 63,214,116,186,147,179,102, 26,221, 57,221,211,148,233,116, 39,167, 11,105,253,203,113, 62,109,239,253,
- 73,204,207,186,248, 30,102, 90,170, 46,235,104, 83,164,211,157,156, 78,114,255, 37, 56, 31,226,221,255,229,192,121, 82, 18, 98,
-203,120, 55,143, 76,224,102, 11, 76,147, 61,183,155,211, 57,164, 41, 44,132, 77, 0,183,167,211, 58, 82,254,184, 9,158,253,105,
-201, 83, 79, 93,242,212,165, 39,174, 46,213, 40,147, 67,220,104, 41,114,171,229,185, 38,167, 59,254,135, 35,135,187,202,104, 83,
- 63,187, 59,235, 82, 83,188,251,167, 13,255, 15, 47,211, 45,132, 34, 78,139,159, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130,
+137, 80, 78, 71, 13, 10,
+ 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 2, 90, 0, 0, 2,128, 8, 6, 0, 0, 0, 68,254,214,163, 0, 0, 10, 79,105,
+ 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101, 0, 0,120,218,157, 83,103, 84,
+ 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21, 8, 32, 82, 66,139,128, 20,145, 38, 42, 33, 9, 16, 74,136, 33,
+161,217, 21, 81,193, 17, 69, 69, 4, 27,200,160,136, 3,142,142,128,140, 21, 81, 44, 12,138, 10,216, 7,228, 33,162,142,131,163,
+136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207, 7,192, 8, 12,150, 72, 51, 81, 53,
+128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112, 0, 16, 8,179,100, 33,115,253, 35, 1, 0,248,126,
+ 60, 60, 43, 34,192, 7,190, 0, 1,120,211, 11, 8, 0,192, 77,155,192, 48, 28,135,255, 15,234, 66,153, 92, 1,128,132, 1,192,
+116,145, 56, 75, 8,128, 20, 0, 64,122,142, 66,166, 0, 64, 70, 1,128,157,152, 38, 83, 0,160, 4, 0, 96,203, 99, 98,227, 0,
+ 80, 45, 0, 96, 39,127,230,211, 0,128,157,248,153,123, 1, 0, 91,148, 33, 21, 1,160,145, 0, 32, 19,101,136, 68, 0,104, 59,
+ 0,172,207, 86,138, 69, 0, 88, 48, 0, 20,102, 75,196, 57, 0,216, 45, 0, 48, 73, 87,102, 72, 0,176,183, 0,192,206, 16, 11,
+178, 0, 8, 12, 0, 48, 81,136,133, 41, 0, 4,123, 0, 96,200, 35, 35,120, 0,132,153, 0, 20, 70,242, 87, 60,241, 43,174, 16,
+231, 42, 0, 0,120,153,178, 60,185, 36, 57, 69,129, 91, 8, 45,113, 7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20, 54, 97, 2, 97,
+154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204, 0, 0,160,145, 21, 17,224,131,243,253,120,206, 14,174,206,206, 54,142,
+182, 14, 95, 45,234,191, 6,255, 34, 98, 98,227,254,229,207,171,112, 64, 0, 0,225,116,126,209,254, 44, 47,179, 26,128, 59, 6,
+128,109,254,162, 37,238, 4,104, 94, 11,160,117,247,139,102,178, 15, 64,181, 0,160,233,218, 87,243,112,248,126, 60, 60, 69,161,
+144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,126, 60,252,247,245,224,190,
+226, 36,129, 50, 93,129, 71, 4,248,224,194,204,244, 76,165, 28,207,146, 9,132, 98,220,230,143, 71,252,183, 11,255,252, 29,211,
+ 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197, 37,210,255,100,226,223, 44,
+251, 3, 62,223, 53, 0,176,106, 62, 1,123,145, 45,168, 93, 99, 3,246, 75, 39, 16, 88,116,192,226,247, 0, 0,242,187,111,193,
+212, 40, 8, 3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37, 0,128,102, 73,146,113, 0, 0, 94, 68, 36, 46, 84,202,179,
+ 63,199, 8, 0, 0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192, 6, 28,193, 5,220,193, 11,252, 96, 54,132, 66, 36,196,194,
+ 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,192, 81,104,134,147,112, 14,
+ 46,194, 85,184, 14, 61,112, 15,250, 97, 8,158,193, 40,188,129, 9, 4, 65,200, 8, 19, 97, 33,218,136, 1, 98,138, 88, 35,142,
+ 8, 23,153,133,248, 33,193, 72, 4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85, 72, 29,242, 61,
+114, 2, 57,135, 92, 70,186,145, 59,200, 0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,181, 67,185,168, 55, 26,132,
+ 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,218,143, 62, 67,199, 48,192,
+232, 24, 7, 51,196,108, 48, 46,198,195, 66,177, 56, 44, 9,147, 99,203,177, 34,172, 12,171,198, 26,176, 86,172, 3,187,137,245,
+ 99,207,177,119, 4, 18,129, 69,192, 9, 54, 4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28, 36, 52, 17,218,
+ 9, 55, 9, 3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72, 44, 35,214, 18,143, 19, 47,
+ 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144, 2, 73,177,164, 84,210, 18,210, 70,210,110, 82, 35,233, 44,169,155, 52,
+ 72, 26, 35,147,201,218,100,107,178, 7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,228, 33,242, 91, 10,157, 98,
+ 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229, 6,101,152, 50, 65, 85,163,154, 82,221,168,161, 84, 17, 53,
+143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,211, 26,104, 23,104,247,105,
+175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232, 3,244,119, 12, 13,134, 21,131,199,136,103, 40, 25,
+155, 24, 7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153, 15,153,111, 85, 88, 42,182,
+ 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,203, 84,143,169, 94, 83,125,
+174, 70, 85, 51, 83,227,169, 9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,103,168,111, 84, 63,164,126,
+ 89,253,137, 6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44, 33,107, 13,171,134,117,129,
+ 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,179, 82,243,148,102, 63, 7,
+227,152,113,248,156,116, 78, 9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,185, 49,101, 92,107,170,150,
+151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,199, 74, 39, 92, 39, 71,103,
+143,206, 5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187, 68,119,191,110,167,238,152,
+158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12, 88, 6,179, 12, 36, 6,219,
+ 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,225,132,145,185,209, 60,163,
+213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38, 6, 38, 33, 38, 75, 77,234, 77,238,154, 82, 77,185,166,
+ 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,155,223,183, 96, 90,120, 90,
+ 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,179, 70,173,157,173, 37,214,
+187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,216, 6,219,174,182,109,182,
+125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61, 7, 13,135,217, 14,171, 29, 90, 29,126,115,180,
+114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,182, 19,203, 41,196,105,157,
+ 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,200,189,228, 74,116,245,113,
+ 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159, 41,158, 89, 51,115,208,195,
+200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99, 47,145, 87,173,215,176,183,
+165,119,170,247, 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,183,200,183,203, 79,195,111,
+158, 95,133,223, 67,127, 35,255,100,255,122,255,209, 0,167,128, 37, 1,103, 3,137,129, 65,129, 91, 2,251,248,122,124, 33,191,
+142, 63, 58,219,101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,200,236,144,173, 33,247,231,
+152,206,145,206,105, 14,133, 80,126,232,214,208, 7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,134, 63,142,112,136, 88, 26,
+209, 49,151, 53,119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53, 42, 62,170, 46,106, 60,218,
+ 55,186, 52,186, 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,190,223,252,237,243,135,226,
+157,226, 11,227,123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150, 64, 76,136, 78, 56,148,240,
+ 65, 16, 42,168, 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216, 67, 92, 42, 30, 78,242, 72,
+ 42, 77,122,146,236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,155, 58,158, 22,154,118, 32,
+109, 50, 61, 58,189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,110,139,
+183, 47, 30,149, 7,201,107,179,144,172, 5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42, 7,178,103,101, 87,102,191,205,137,
+202, 57,150,171,158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,165,134, 75, 87, 45, 29, 88,
+230,189,172,106, 57,178, 60,113,121,219, 10,227, 21, 5, 43,134, 86, 6,172, 60,184,138,182, 42,109,213, 79,171,237, 87,151,174,
+126,189, 38,122, 77,107,129, 94,193,202,130,193,181, 1,107,235, 11, 85, 10,229,133,125,235,220,215,237, 93, 79, 88, 47, 89,223,
+181, 97,250,134,157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,202,191,153,220,148,180,169,
+171,196,185,100,207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,180, 13,223, 86,180,237,245,
+246, 69,219, 47,151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63, 84,164, 84,244, 84,250, 84,
+ 54,238,210,221,181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,190,219, 85, 1, 85, 77,213,
+102,213,101,251, 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199, 3,210, 3,253, 7, 35, 14,182,
+215,185,212,213, 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54, 13, 85,141,156,198,226, 35,
+112, 68,121,228,233,247, 9,223,247, 30, 13, 58,218,118,140,123,172,225, 7,211, 31,118, 29,103, 29, 47,106, 66,154,242,154, 70,
+155, 83,154,251, 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,121, 74,243, 84,201,105,218,
+233,130,211,147,103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,106, 15,111,239,186, 16,116,
+225,210, 69,255,139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58, 95,109,234,116,234, 60,254,
+147,211, 79,199,187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,221,244,189,121,241, 22,255,
+214,213,158, 57, 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,119, 39,238,173,188, 79,188,
+ 95,244, 64,237, 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220, 71,247, 6,133,131,207,254,
+145,245,143, 15, 67, 5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,167, 67,207,100,207, 38,158,
+ 23,254,162,254,203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235, 25,
+175,219,198,194,198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15, 79,228,124, 32,127, 40,255,
+104,249,177,245, 83,208,167,251,147, 25,147,147,255, 4, 3,152,243,252, 99, 51, 45,219, 0, 0, 0, 6, 98, 75, 71, 68, 0,255,
+ 0,255, 0,255,160,189,167,147, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 13,215, 0, 0, 13,215, 1, 66, 40,155,120, 0, 0, 0,
+ 7,116, 73, 77, 69, 7,219, 8, 3, 13, 27, 3,174, 15,171, 16, 0, 0, 32, 0, 73, 68, 65, 84,120,218,236, 93,119,120, 20,213,
+226, 61, 51, 59, 91,178, 37,155, 70,122, 32,133, 18,192, 0,134,162, 4,169,130,160, 24, 21, 21,172, 8, 79,159,207,138, 13, 11,
+168,136,136, 64,108,128,224, 79,228,161, 79, 1, 65, 1, 11,188,192,163, 68, 74,232, 29,233, 9,144, 4, 18, 66, 58,201,102,123,
+155,251,251, 35, 59,235,102,179, 45,144,160,194, 61,223, 55,223,238,206,206,156,185,247,206,189,119,206,156,219, 24, 66, 8, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 90, 30, 44, 77, 2, 10, 10, 10, 10, 10, 10, 10,138,191, 8,178,179,179,155, 99,129, 13, 11,148,
+211,177, 13,250,171,115,182, 98,220, 73, 11,114, 14,114,112,190,255, 55, 9,231,160,191, 42,167, 16,223,102,240, 14,107, 78, 62,
+106,169,244,116, 9, 39,105,233,112,182, 22,103, 75,149, 35, 15,225, 36,173,112,223,223,255,155,132,115,208, 95,141,211, 61,255,
+ 4,200,219, 44,206, 0,243, 84,115,195, 73, 90, 58,156,173,197,121,181,229,200, 71, 56,201,213,230, 37, 47,247,254,125,220, 32,
+ 32,132,128,107, 69,145, 21, 48, 50, 51, 51, 25, 23,126,230,175,202,233,154, 14, 2,127, 75,134,181, 5,177,181,165, 57,221,210,
+179,165,240,126,102,102, 38,147,157,157,189, 13,192,160,150,140,123, 75,220,119,183,184,182, 8,239, 21,136,172,102,113,182, 84,
+190,111,109,206,150, 42, 75,238,156, 45,145,239, 61,221,247, 86,188, 71, 45, 21,206, 22, 41, 75,173,145,231, 61,228,159,171,230,
+117,231,108,137,178,228,206,217, 18,249,254, 90,112,182, 68, 89,242,196,217, 18,249,222,219,189,191,209, 12, 42,246, 74, 18,173,
+ 21,157,178,193,127,101, 65,212, 90, 98,179, 25, 14,204,159,206,217,194,247,232,125, 7,103, 75,190,221, 12,110,169,123,212, 26,
+249,221,149,179,165,248,221,121, 90,226, 62,121,226,188,218,240,122, 9,103,139,199,253,106,243,253,181,226,108,225,123,212, 34,
+101,201,141,115,112, 11,191, 12, 12,118,249,253,126, 75,114,182, 84, 89,242, 16,206,171,190, 79,158, 56,175, 54,188, 94,194,217,
+226,113,111,137,103, 72,107,241, 94,215,104,173,230,179,150,230,108, 38,247,117,197,217,204,230,153, 97,173,112,239,255,212,112,
+182, 36,167,123, 24, 91,178,185,167, 53,195,217,146,156,205, 8,235,117,199,249,119,187,239,127,197,244,244,198,119, 53,205, 82,
+222,220,209,214, 8,103, 75,114, 6,200,125, 93,112, 94,197,189,191,174,208,236,166,195,107, 33,224, 90,248,205, 4, 45,236,192,
+180,166,112,109,201,112, 14,110, 13,135,176, 21,208,226,225,116,188, 41, 79,109,133,184,255, 93,210,148,150, 37, 90,150,254,114,
+101,201, 45, 79, 14,110, 65,167,168, 69,157,103,119,206,150,184,134, 43, 71, 75,229,209,214,142,123, 75,150,165,214,184,247, 20,
+ 87,225, 66, 80, 78,202, 73, 57, 41, 39,229,164,156,148,243,134,229,188,238, 64, 8,161,211, 59, 80, 80, 80, 80, 80, 80, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80,252,141,224,179,143, 86, 92, 92, 92,182, 66,161,232,224,237,127,157, 78,119,233,210,165, 75,
+ 67,104, 50,254,121,160,247,136,226,111, 4, 22,127,140,114,230, 1, 16,199, 70, 65, 65, 65,113, 93,195,171,208,146,201,100, 41,
+167, 78,157,234,196,243, 60,236,118, 59,108, 54,155,243,211,108, 54, 99,224,192,129,205,238, 72, 31, 29, 29,157, 43, 18,137,146,
+154,115,142,221,110,191, 80, 94, 94,222,223,199, 33,187, 0,164, 48,204, 31,125, 2,133,239,222, 62, 1,148, 90,173,214,158,190,
+ 56, 25,134, 73,113,231,243,194, 37,124,247,201, 25, 18, 18,114,128,227,184, 4, 79, 92,222,190,243, 60, 95, 80, 89, 89,217,239,
+ 90,222,163, 27, 25,209,209,209,185, 28,199, 53, 59,127,150,149,149,121,205,159,177,177,177,135, 89,150,141,107, 6,165,136,231,
+249,188, 75,151, 46,245,247, 33, 68,118, 1, 72,241, 69,226,158,159, 24,134, 41,177,219,237,189,253,149, 35, 95, 92, 30,242,168,
+ 63, 78,167,200,226, 56, 46, 43, 42, 42,234, 57,189, 94,111, 4, 64, 68, 34, 17,113, 9, 27, 0,192,102,179, 85,214,214,214,118,
+163, 57,145,130,130,226,134, 16, 90, 60,207,179, 38,147, 9,249,249,249,240,178, 30,162,253, 10,174,215,233,224,111,155,162,130,
+163,162, 97,179, 88,160,108, 19,233,228, 46, 63,121, 28, 54,171, 5, 54,179, 25,237,250,244, 21,194,128,174, 93,187,138,252,112,
+ 38,124,244,209, 71, 81,193,193,193, 48, 26,141, 48, 26,141, 48,153, 76, 48, 26,141, 48,155,205, 48,155,205,176, 88, 44,176, 88,
+ 44,176,217,108, 48,153, 76,200,201,201,177, 91,173, 86,159,156, 51,102,204,136, 82,171,213, 78, 62, 97, 19, 56, 5, 94,171,213,
+ 10,163,209,136,205,155, 55,251,228,228, 56, 46,161,180,180, 52, 74, 34,145,128, 16, 2,158,231, 65, 8,105,180,185,163,125,251,
+246, 22, 95,129,108,165,123,116, 35,163,211,140,229,107,163, 66,228, 50,216,120, 30,153, 61,218, 59,255, 40,248,122, 37,136,205,
+ 14,222,102, 67,199, 23,199, 58,247,119,233,210,197,103,254, 36,132, 36,206, 88,190, 54, 52, 80,206,234,234,106, 67,231,206,157,
+ 75,209, 48,185,159, 55,161,149, 96, 48, 24,162, 28,252, 77, 4, 17,203,178,141,182, 13, 27, 54, 32, 51, 51,211, 95,220, 19, 94,
+125,245,213, 40,171,213, 10,179,217, 12,147,201, 4,171,213, 10,155,205,230,220,236,118,187,115, 51,155,205,216,187,119,111,160,
+ 78,214, 71,119,220,113,199,147,107,215,174, 85,254,250,235,175,202,164,164, 36, 72, 36, 18,136, 68, 34,136, 68, 34,176, 44, 11,
+142,227,112,235,173,183, 50, 52, 11, 82, 80, 80,220, 48, 66,203,100, 50, 21,166,167,167, 19,199,247,120,153, 76, 38,113,123,203,
+141,235,216,177, 99,158,251,121,254,154,171,130,163,162, 49,185,109, 56, 0,224,189,243,213,206, 7,196,199,253,110,118, 30,243,
+193,197, 58, 0,128, 92, 46, 7,227,250, 26,237, 5, 74,165, 18,119,220,113, 7,164, 82, 41,122,247,238, 13,177, 88,236,113,147,
+ 72, 36, 16,139,197,126, 19,133, 97, 24,168, 84, 42, 76,155, 54, 77, 16, 73, 80, 6,201, 48,161, 95,111, 4,129,224,223,199,207,
+192,204, 19,112, 28,231,220, 2,225,148, 72, 36, 56,118,236, 24, 56,142,131, 72, 36,114,126, 10,223,215,172, 89,131,209,163, 71,
+131,227, 56,200,229,114,192,207,204,193,174,247,200,108, 54,199, 74,165, 82, 11, 0, 65,156, 73, 24,134,137,185,146,123,116, 35,
+ 35, 68, 46,195,184, 5,191, 0, 0,138,231,188,232,188,119,123,159,127,207,121, 76,226,191, 30, 2,195, 48, 16,139,197, 96, 89,
+182,197, 56,107,106,106, 12,143, 60,242,200,142,224,224,224, 13, 26,141, 6,126, 4, 28,138,139,139,193,113,156,215,252,206,178,
+ 44,102,207,158,141,179,103,207, 6, 20,119,163,209,136, 69,139, 22,193,110,183, 55,226, 21,190,187,239, 11, 80,100,125, 56,124,
+248,240,177,107,215,174, 13, 99, 24, 6, 95,124,241, 5, 36, 18, 9, 70,142, 28,137,136,136, 8,108,220,184, 17, 18,137, 4,111,
+190,249, 38,205,124, 20, 20, 20,190,234, 60, 49,128,155, 1, 68, 58, 76,132,122, 0,161, 46,135, 84, 58, 62, 35,133,223, 12,195,
+236,247,192,211,199,113, 76, 37,195, 48,251, 93,126,155, 1, 72, 61,236,175, 6, 32,119,108, 38, 52,184,255,105, 46,215, 17,206,
+131,183,235,114, 64,195,250, 67, 0,182, 2, 24,156,153,153,185, 13, 0,202,202,202,238, 42, 43, 43, 3, 0,164,164,164,156,202,
+203,203,235, 44,104, 30, 71,243,148,196,102,179,117, 18,154,170, 4,183,104,216,176, 97, 62,223,240,109, 22, 75, 19, 1,226, 73,
+ 75,121,106,174,240, 38, 96, 44, 22, 11, 30,122,232, 33, 0,240,250,208,113,221, 2,208,110, 48,155,205,224, 56, 14,169,109, 35,
+ 49,101, 68, 58,110, 33, 86,232,180, 12,108,117, 58,220,167,178,226, 84,215,158, 88,120,161, 18,231, 53, 90,112, 28, 23, 16, 39,
+207,243, 94, 69,150, 72, 36,194,130, 5, 11,240,200, 35,143, 64, 36, 18, 5,196,231,122,143,146,147,147,215,230,229,229, 69, 48,
+ 12, 99,114,220, 35,153,205,102, 83,219,108,182, 8,187,221, 30,209,156,123,116, 35,195,198,243, 30,243,161,183, 60, 27,200,125,
+ 10,132,179,166,166,198,144,153,153,185, 71, 38,147, 45,142,142,142, 46, 45, 41, 41,241, 43,180,220,197,143,251, 75,197,103,159,
+125,134,121,243,230, 97,200,144, 33, 1,133,211,100, 50,129, 97, 24, 44, 92,184,176,201,127,211,167, 79,111,114, 61, 63,156, 12,
+ 0, 54, 46, 46,238,249,245,235,215,171,133, 99,219,180,105, 3,177, 88,140,110,221,186, 33, 56, 56, 24, 59,118,236,128,221,110,
+ 15,184, 92, 82, 80, 80, 92,191,240,164, 69, 92, 48,112,242,228,201,189,179,178,178,102,102,100,100,252,176,107,215,174,229, 12,
+195,100,187,212,137,153,142,250, 53, 91,248, 77, 8,233,227, 42,122, 28, 98, 45,146, 97,152,108,225,120,215,223,194, 39, 33,100,
+ 24, 0,169,240,123,242,228,201,105, 89, 89, 89, 51, 39, 77,154,244,246,172, 89,179, 36,147, 39, 79,238,158,149,149, 53, 83,184,
+142,167,112,120,114,180,124,174, 61, 37, 52, 81,157, 62,125,218, 91, 19,149,235, 3,192,103,109,169,108, 19,233,116,178, 62, 72,
+140,112,238,159, 86, 82,235,124,128,205,239,213, 1, 74,165, 18, 35, 62,248, 36, 32,167,200,108, 54,163,162,162,194,233, 50,248,
+219, 2,229, 84,200,131,144,243,106, 55, 20, 87, 75,241,254,238, 26,172, 61,114, 22, 98,177, 24,119,118,237,134,187, 36,193,120,
+ 55, 81,138, 87,207, 20,193, 74, 2,235,211, 75, 8,241, 40,176,132,239, 66, 19, 74,160, 66,203,237, 30, 21, 27,141,198,234,252,
+252,124, 3,223,240, 96,151, 19, 66,194, 24,134,169,119,184, 92,177,129,222,163, 27, 25,153, 61,218, 59, 93,167,189,193, 67,157,
+251, 71,235,142, 57,239,201,196, 5, 31, 3, 0,134,244,188,213,111,121, 8,132,179,186,186,218,208,127,232,224,109,118,131,249,
+187,177, 99,199, 22,110,217,178, 69, 30, 72, 88, 61, 9, 45,193,181, 21, 68, 22,199,113, 48,155,205, 1,197,221,108, 54,123, 45,
+ 31, 18,137,228, 74, 28, 45,232,116, 58,243,234,213,171, 49,127,254,124, 68, 68, 68, 96,248,240,225,136,141,141,197,202,149, 43,
+ 65, 8,193,139, 47,190, 8,185, 92, 46,184,215, 52, 3, 82, 80,220,216,240,165, 69,100, 89, 89, 89, 51,221,133,140,235,111, 87,
+ 1,229, 38,166, 92,197, 90,154,159,231,127,182,187,120, 18,174,203, 48, 76,246,172, 89,179, 50,253,132,163,210,155,208,242, 57,
+ 37,190,201,100, 42,236,209,163, 71, 64,106, 66,175,215,151,249, 19, 27,158,222,234, 93, 93, 2,149, 74, 5,165, 90, 5, 54,192,
+122,215,106,181, 58,133,202,166, 77,155, 32,151,203, 49,114,228,200,171,114,180, 44, 22, 11,164, 18, 49,216, 54,209, 24, 55,103,
+ 11,170,235, 13,206, 7,204,214,130, 66, 28, 42,175,192,171, 25, 67,161,148, 87, 64,107, 54, 7,228,188,241, 60,223, 68,100,113,
+ 28,135,135, 30,122,200,233, 38,184,246, 91,129,143,166,195,136,136,136, 3, 28,199, 37,184,220,163,160,148,148, 20,224,143,126,
+ 61, 12,207,243,218,208,208,208,159, 1,196, 17, 66, 18, 0, 4, 7,114,143, 40, 60,231, 79,247,253,188,155, 83,117, 37,156,213,
+213,213,134,204,204,204, 61,118,131,249,187,139, 23, 47,238, 1, 16,116,203, 45,183, 52, 91,104, 9, 2, 75, 44, 22, 99,246,236,
+217,152, 55,111,158,243,255, 64,133,150,205,102,107, 36,160,206,156, 57,211,232, 90,238,194,206, 79,179, 41, 65,195,232, 66, 62,
+ 37, 37,197,121, 78, 76, 76, 12, 66, 67, 67,193,243, 60,120,158, 71, 80, 80, 16,228,114, 57, 36, 18, 9,205,116, 20, 20, 20,190,
+180,136, 97,210,164, 73,111, 51, 12,147,237,112,150,142,251, 16, 84,158,180, 71, 31, 55,177, 86,233,229,184, 76, 79, 98,203,245,
+187,128,201,147, 39,167,185,135,195, 83,115,165,179, 86,117,155,118,191, 17, 92,155,168, 90,234, 33,230,235, 65,166, 10, 85, 67,
+174, 84, 66, 36, 98,193, 48, 12,241,199,101,177, 88,156, 21,255,115,207, 61,231,179,223, 74,160,253,169, 44, 22, 11, 88, 78,132,
+ 75, 49,201,176,179,219,157,231, 10, 27,203,137,113, 62,166, 51, 68,167, 15, 67, 28,224, 3,215,221,209,122,241,197, 23,177,104,
+209, 34,176, 44,235, 76, 19,142,227,208,177, 99, 71, 20, 22, 22,250,228,226, 56, 46,225,252,249,243, 81,174,233, 40,136, 88, 66,
+ 8,236,118, 59,218,183,111,111,204,207,207,127,153, 22,221,171, 19, 89,222,246,219,237,124,192, 46,140,167,227,170,171,171, 13,
+ 99,198,140,217, 86, 87, 87,247,221, 77, 55,221,116, 6,141,167, 64,240,203,199,113, 92, 35,129, 37,136,172,207, 63,255,188,145,
+ 40,178, 90,173, 1,189, 8, 88,173,214, 38,130,231,211, 79, 63,109,244, 9, 0,253,250,245, 11,200, 25, 6, 64, 88,150, 37, 18,
+137, 4,119,220,113, 7,186,119,239,142, 95,127,253, 21, 60,207,227,133, 23, 94,128, 92, 46,199,220,185,115, 97,179,217,240,209,
+ 71, 31, 81, 71,139,130,130,194,151, 22, 49,205,154, 53,235,248,172, 89,179,156,206,146,187,163,229,229,185,123,183, 67, 84, 69,
+ 10, 34, 13,128,201,147, 32,242,228,146,185, 11, 48,215,125, 89, 89, 89, 51,221,195,225,222, 92,217, 72,104, 93, 43,148,157, 56,
+134, 79,110, 75, 7,208,184,185,112,193,173,157,161, 84, 41,161, 12, 86, 97,204,154,237, 0,224,168,244, 39, 5,228,104, 9, 66,
+171,186,186,218,167,200,106,142,163,197, 74, 57,172, 74,184, 12, 34, 21,131, 51, 91, 27, 9, 45, 17, 39, 70,113, 68, 50, 88,177,
+ 4,156,221, 22, 16, 39, 33,164, 73, 83,225,248,241,227,193, 48,140,115,132, 88,143, 30, 61, 92,185, 24,127, 15,199, 55,194, 27,
+250,224,185, 55,199,126, 84,101,164, 37,246, 74,242,231,129,175,113,234,167,231, 1, 0,253,117, 58,231,189,152,209,227,143,177,
+ 3,115,142,109,115,186,143, 31,224,245, 43,226,172,174,174, 54,220,210, 37,109,143, 36, 60,228,187, 11, 23, 46,236, 1,192, 62,
+252,240,195,161, 61,122,244, 8,168, 76, 10,131, 43,220, 69,150,171,147, 37,124,250, 25, 97,235, 34, 28,237, 1, 9, 40,161, 25,
+ 49,128, 60, 79,132,188,173, 86,171,161, 82,169,156, 35,110,131,130,130,160, 80, 40,156,253, 59, 3, 20,110, 20, 20, 20, 55, 46,
+194, 4,161,227, 16, 75,141,156, 38, 71,223,170, 76,215,223,158, 28, 47,135, 3,149,235,167,126, 93,235, 16,104, 30, 33, 56,107,
+110,231,100,123, 19,105,156,160, 32, 93, 63, 99, 98, 98,254,167, 82,169,146, 3,141,125,115, 70,177,217,173,150, 38,206, 22,195,
+ 48, 80, 5,171, 32, 87, 41, 33, 15, 86,121,117,189,124, 9, 45,193, 41, 18, 30, 58,139, 23, 47,134, 74,165,194, 63,254,241,143,
+102,247,209,114, 10, 45, 9,139,141,178,205, 16, 73,185, 70, 34,139,227, 56,136,196, 98,148,169, 98,193,138,197,224,108,129,185,
+100,117,117,117,224, 56, 14, 83,166, 76,113,190,193,187,138,172,230,196,217, 23, 88,134, 17,220, 45, 89,135, 14, 29, 94,103, 24,
+ 38, 17, 64,146, 78,167,147, 93,186,116,233,118, 90, 94,125, 40, 3,187,181,137, 11,229,205,125,189, 82, 78,193,201,146,132,135,
+124,215,185,115,103,167,147,165, 80, 40,132,209,166,254,239, 49,203,122, 20, 89,238, 35, 4, 57,142,107,200,203,126, 70, 71,186,
+ 58, 90,179,102,205,114,242,186, 58, 89, 2,154, 83,142,132,176,110,219,182, 13,135, 14, 29,194,115,207, 61, 7,185, 92,142,121,
+243,230,193,102,179, 97,250,244,233,144,203,229,144, 74,165, 52,243, 81, 80, 80, 55,171,145, 22,113, 67,165, 91, 63, 40,198, 77,
+212, 84,122, 18, 88,174,205,132,194,119,134, 97,172, 30,120,205,110, 77,138,238,251,133,207,234, 89,179,102,109, 17,156, 44,151,
+253,141,194,225,215,209,146,201,100,201,249,249,249,206,137, 48,125,125,154,205,102, 12, 25, 50, 36, 96,103, 76, 24,117,200,113,
+162, 70,194, 66, 17,172,130, 66, 29, 12,185, 74,229, 46, 56, 24,127,149,184,240, 70,236, 42,180,166, 78,157, 10,142,227,176,104,
+209, 34, 0,192,235,175,191, 30,112, 31, 45,129, 19,118, 6, 37,228, 28,210,231,140,134,249,123, 43,202,119,254, 14,142,227, 16,
+213,247, 46,240,183,140,134, 94,174, 2,103,183, 5, 60,234,176,166,166, 6,133,133,133, 16,137, 68,120,237,181,215, 26,205,117,
+228, 62,146,109,211,166, 77,126,227,238,201,201,154,122,161,198,201, 35,151,203,217,223,127,255, 61,153,231,249, 20,131,193,208,
+161, 95,191,126, 60, 45,202,126, 68, 17,111, 11, 72, 84, 5,154, 63,221, 57,133, 62, 89,117,117,117,223, 93,184,112, 97, 47, 0,
+118,236,216,177,161, 10,133, 2,223,124,243,141, 30,128,116,229,202,149,114,127,162, 72,200, 55,254, 68,150, 88, 44,110,200,203,
+129,196,157, 52,158,178,196, 95,199,248, 64,242,188, 16, 86,134, 97, 96,183,219, 33,151,203, 27, 57, 89, 65, 65, 65,144,201,100,
+ 52,227, 81, 80, 80,248,171, 75,246, 7, 92,143, 19,210,199, 69, 84,237,191, 18,222,230, 92,207, 31, 56,111, 66,195,100, 50,225,
+228,201,147,129,242, 4, 60, 49,102,219,222,183,226,131,139,117, 96, 24, 6,255,238,119, 19,148,106, 21, 20, 74, 37, 30,252,117,
+155,179,226, 62, 54,243,117,200,148, 42,196, 13, 24, 30, 80, 69, 46, 52, 29,186, 10,173,218,218, 90,136,197, 98,124,248,225,135,
+ 96, 89, 22, 31,125,244, 17,226,227,227,113,233,210, 37,172, 92,185, 50, 32, 71, 75,100, 23, 33,246,137, 46, 80,140, 15,129,250,
+137,129, 8,187, 99, 42, 46,154, 57,236, 50, 42, 48,208,120, 2,210,141,159,195,204,219, 3, 30,129,101,179,217,176,109,219, 54,
+247, 14,239,206, 62, 85, 54,155, 13, 86,171, 21, 22,139, 5, 31,125,244, 81, 32, 35, 60,155,220, 55, 33, 13, 29,147,160,138,242,
+242,242, 34, 9, 33,225, 0, 66, 0, 84,209,226,234, 27,177,125, 95, 68,100,239,103, 1, 0,107,102, 61,229,220, 63,229,216, 31,
+249,115,246,247, 13, 11, 0,116, 78, 26,222, 44,206,234,234,106,195,157, 67,250,229, 26,121,241,183,221,186,117,107,228,100, 5,
+ 5, 5, 49,142,223, 1,217,101, 44,203, 66, 36, 18, 53,105, 46,244, 38,182, 2,233,163,101,179,217,156, 19,137,250,234,207,120,
+ 37,142,214, 83, 79, 61,133,216,216, 88,167,147,245,193, 7, 31, 64, 46,151, 99,242,228,201,176, 90,173,248,252,243,207,105,230,
+163,160,160,184,230,162,236, 90,192, 99, 77,106, 52, 26,139,186,119,239, 14, 47,255,197, 7, 5, 5,137,221, 34, 21,215,177, 99,
+199, 60, 15, 77,136,195, 0,228,120,170,212, 25,134, 65,176, 58, 24, 65, 42, 37, 20,110, 46, 86, 80,176, 26, 50,149, 10,172,196,
+ 99,101,222,132, 83,232, 91,226, 42,180,132,173,174,174, 14, 98,177, 24,243,231,207,135, 90,173,134,201,100,242,203, 41, 60,116,
+ 68, 34, 17,244,197,245, 56, 53, 51, 7,210,160, 93,232, 48,252, 17,196,138,229,144,236,248, 25, 6,187,213,223,132,165, 77, 56,
+ 59,117,234,132,247,222,123,175,201,180, 14,222, 16, 31, 31,239, 55,238,238, 78,214,236,155,218, 65, 34,149, 96,226,137, 98,152,
+ 76, 38,230,145, 71, 30,225, 1, 24, 0, 84, 26, 12,134, 11,129,164,103, 11,224,111,207,233,107, 84,172, 0,158,216, 61, 9, 24,
+143,156,130,147,101,228,197,223, 22, 22, 22, 10, 78, 86,136, 66,161,192, 87, 95,125,165, 7,192, 78,159, 62, 93,145,152,152, 40,
+ 10, 36, 47,137, 68, 34,204,153, 51,199, 99,159, 44, 79,162,171, 57,229,200,245,220, 65,131, 6,121,156,176,212,139,120,107,194,
+ 41,132, 53, 34, 34,194,233,100,217,237,118,231,104, 67, 97,246,121, 31, 47, 21, 52,127, 82, 78,202,121,227,112, 94,151,240, 88,
+ 3, 95,186,116,233, 78,111, 39,180,111,223, 62, 63, 63, 63,191,163,176, 20,135,163,226,148, 24,141,198, 78,253,250,245,243,107,
+237,240, 60, 15,153, 76, 6, 66, 8,110,127, 47, 11, 12, 11,176,104,252, 16,139,186,109, 40, 68, 34, 14,124,195, 82, 31,126, 71,
+ 29, 26, 12,134, 70, 15, 7, 79,155, 86,171,133,201,100, 10,120, 54,111,163,209,216,104, 10, 6,134,240, 56,255,219,138, 38,163,
+ 15,133, 45,208,126, 59, 65, 65, 65,141,154,126,252, 56, 86, 76, 32,142,150,107,211,163, 68, 42, 1, 39, 17, 11,142, 86,253,153,
+ 51,103,198,208,108, 30, 56,132, 1, 11, 0,144,218,111, 36,120,222, 14, 98,183, 55, 90, 38,169, 75,242,157,224,137, 29, 22,171,
+ 30, 38,147,201,223,180, 39, 76, 85, 85,149, 97,204,152, 49,219, 0,252,231,190,251,238,203, 67,195,236,194, 68,165, 82,201,196,
+ 98, 49, 15,160, 6, 0,185,124,249,114,200,197,139, 23,121,163,209,216,206, 95, 56,215,174, 93,139,147, 39, 79, 98,192,128, 1,
+141,150,131, 18, 92, 81,215,217,221, 3,201,159, 66,115,185,167, 25,225,189, 9,185, 64, 33, 18,137, 16, 18, 18, 2,137, 68,130,
+ 15, 63,252, 16, 18,137, 4, 10,133, 2, 0,240,249,231,159, 59, 39, 95,165,160,160,160,184, 97,132,150,191,122,211, 71,179,162,
+207, 38, 68,155,205, 86,146,152,152,216,172,139,217,237,246,114, 63,194,173,100,229,202,149, 18, 87, 23,194,223, 39, 33,164,220,
+207,195,182,100,205,154, 53, 18, 79,238,134,183, 5,166,253,113,218,237,246,146,164,164, 36,175,142,137, 39, 88,173,214,139,254,
+ 68,107, 86,165,161,145, 72,152,120,162,216,235,218,137, 20,126,243,154,143,252,249,206,149,230,207, 51,169,169,169, 23, 67, 67,
+ 67,215, 69, 71, 71, 87,239,220,185, 51,162, 79,159, 62, 17,174,199,244,233,211, 39,214,237, 52, 51,188,175,115, 8,134, 97, 74,
+238,187,239, 62,143,121, 94, 16, 77, 30,242,103,137,191, 60,191,111,223, 62,137,235,249,222,248, 93,202, 81, 73, 0,194,245,124,
+122,122, 58,235,202,227, 45,239, 91,173,214, 74,154, 11, 41, 40, 40,110,120,161,101, 48, 24,138,187,119,239,110,243,242,223, 5,
+ 95,231, 86, 87, 87,247,110,233, 8, 88,173,214,126,127, 7,206,170,170,170, 22,141,187,205,102, 43,113, 76, 80,234,243, 24,154,
+197,255,188,123, 4, 0, 21, 21, 21,183, 0,128, 78,167,131,191,101,117,154, 33, 8, 91, 60,127,218,108,182,126,173,145,166, 53,
+ 53, 53, 25, 52,103, 81, 80, 80, 80,161,213, 12,208,197,136,255, 26,104, 13,209, 74, 65, 65, 65, 65, 65, 65,209,178, 96,105, 18,
+ 80, 80, 80, 80, 80, 80, 80, 80,180, 14, 24, 52,140, 28,240,132,230,140, 38, 24,118, 5,215,206,161,156,148,147,114, 82, 78,202,
+ 73, 57, 41,231, 13,199,233,143,251,186, 25,205,120, 45,250, 75, 15,163,156,148,147,114, 82, 78,202, 73, 57, 41, 39,229,188, 17,
+ 65, 8,161, 77,135, 20, 20, 20, 20, 20, 20, 20, 20,173, 5,142, 38,193,159, 6, 17,154, 49,163,126, 0,170, 57, 12,128,183, 5,
+227,204, 12,195, 92,190, 2, 78, 6,128,196,177, 9, 19, 29, 89, 1, 88, 0, 88, 24,134, 33,254, 57,222,103, 75, 75,195,210,136,
+ 93,220,135, 48,140,152,231,113,164, 93,187,182,135, 25,230, 46, 51, 0, 40,163,187,116, 85, 41,229,195, 76, 22,115,178, 76, 44,
+ 61, 89,171,211,110, 50, 85,228, 23,209,236, 65, 65,241,167,224, 30, 0,211,208,208,173,100, 22,128, 21, 52, 73, 40, 40, 90, 73,
+104,169, 84,170, 3, 44,203, 38,248,155,159, 71,128, 99, 45,179,146,203,151, 47,247,110,198,181,199,168, 84,170, 33, 98,177,248,
+ 54, 0,176, 90,173, 59,181, 90,237, 22, 0, 43, 1,216,174, 48, 78,106, 0, 15, 1,120,204,241,123,153,163,178,208, 92, 33, 95,
+247,144,144,144,159,196, 98, 49,169,170,170,234, 11, 0, 17, 17, 17,123,172, 86, 43,163,209,104, 30, 4,112,180,153,124,172, 88,
+ 44,158,221,183,111,223,129,219,183,111,255, 15,128,249, 45,116, 47,101, 44,203,122, 20, 40, 60,207, 39, 93,129,200,146, 0, 8,
+153, 63,127,126,196,210,165, 75,211, 75, 74, 74,186, 1, 64, 66, 66,194,177,177, 99,199, 30,158, 48, 97, 66, 53, 33,164,142, 97,
+ 24,139, 47,158,210,210,176,180,138,178,130,231,202, 43, 78, 62, 4, 0, 49,177,221, 86,136, 68,172,132,144,131,187, 21,109, 30,
+107,211,177, 67,210,179, 63,124, 51, 95,146,148,220, 22,155,119, 29,186,121,194,203,111,167, 93, 4, 62,163, 98,235,218, 33, 56,
+ 56,248, 0,203,178, 9,190,202,184,167, 50,111,183,219, 75,106,106,106,122,123,227,228, 56, 46,193, 87,125,225,105, 31,207,243,
+ 5, 85, 85, 85, 30,167,154, 80,171,213,187, 57,142, 75, 14,148, 75,248,180,217,108, 37,222, 70,233,170,213,234, 3, 34,145, 40,
+193, 87, 60, 61,253,199,243,124, 65,101,101,165,183,112, 54,137,123, 75,132,243, 74, 56,125,133, 83,168,143, 0,124, 30, 17, 17,
+113,107,117,117,245,227, 0,222,214,104, 52, 61, 68, 34, 17,194,195,195,223, 54,155,205,103, 67, 66, 66,190,174,171,171,219, 5,
+224,101, 0,116,189, 84, 10,138,150,130, 90,173, 46,215,106,181, 68, 0,207,243,196,106,181, 18,147,201, 68, 12, 6, 3,209,233,
+116, 68,171,213, 18,141, 70, 67,234,234,234, 72,117,117, 53,137,140,140,116,159,188,209, 91, 27,110, 55,181, 90,157,159,149,149,
+101, 42, 44, 44, 36, 22,139,133, 88, 44, 22, 82, 84, 84, 68, 62,249,228, 19,147, 90,173,206, 7,208,205,203,185,195,188, 84, 22,
+119, 0, 88,158,158,158,110, 94,187,118, 45, 49, 26,141, 68,167,211,145, 21, 43, 86,144,155,110,186,201, 12, 96,185,227, 24, 54,
+ 64, 78, 0,232, 31, 19, 19, 83,114,238,220, 57,251,166, 77,155, 44, 33, 33, 33, 57, 33, 33, 33, 57, 69, 69, 69,246,115,231,206,
+241,109,218,180, 41, 1,208,191, 25,225, 4,128,209, 19, 39, 78, 44, 47, 42, 42, 34,131, 6, 13, 58,226,178,159,129,255,117,238,
+134,121,114,178, 8, 33, 49,132,144, 88, 52, 76,114,217,100, 35,132,196, 58,142, 9, 11,144, 83, 89, 80, 80,208, 54, 58, 58, 58,
+139, 97, 24,179, 59, 31,195, 48,230,232,232,232,172,130,130,130,182,132, 16,165, 47,206,146, 11, 11,158, 94,183,118,104,173,238,
+242,105,162,187,124,154,252,231,219,193,154,103, 38, 60,190, 60,182,125,207, 69,161, 9,105,243, 79,158, 62,179,144, 16,178,112,
+203,254,252,133, 83,191,252,223,194,251, 39,204,253, 42, 34, 49,253,153,102,164,231,213,128,114, 2, 8, 13, 13, 45,211,233,116,
+132, 16, 66,236,118, 59,177, 88, 44,196,100, 50, 17,189, 94, 79,180, 90, 45,169,175,175,119,150,243,186,186, 58,231,247,168,168,
+ 40,175,229, 61, 44, 44,172,220, 96, 48, 52,170, 59,204,102,179,179,254,208,235,245, 68,175,215, 19,157, 78,231,220,180, 90, 45,
+137,139,139, 43,246, 17,206, 75, 66, 56,121,158, 39, 54,155,141, 88, 44, 22, 39,175,209,104,108,180,153, 76, 38, 98, 50,153, 72,
+ 98, 98, 98,192,225, 12,132,211,104, 52,146,132,132,132, 82,111,156,225,225,225,229, 70,163,177, 17,167,107,252,221,121,133,223,
+ 49, 49, 49,101,205,225, 12, 36,156,190,210,211,129,249,121,121,121,196, 96, 48,144,248,248,248,234, 7, 31,124,208,106,183,219,
+201,218,181,107, 73,122,122, 58, 63,120,240, 96, 75, 85, 85, 21,249,199, 63,254, 65,124,188, 20,210,114, 68, 57, 41,188,155, 22,
+222, 29, 45,134, 97,160, 84, 42,241,227,143, 63,122, 93,142,195,245,123,187,118,237, 2,189,110,239,228,228,228,109, 59,118,236,
+144,199,198,254, 49, 33,182,217,108, 70, 88, 88, 24, 94,120,225, 5,233, 61,247,220,211,113,248,240,225,123,206,159, 63, 63, 8,
+192, 1, 63,124, 15, 68, 70, 70,126, 49,101,202,148,232,135, 31,126, 24, 17, 17,141, 38,221,198,152, 49, 99,240,224,131, 15, 74,
+242,242,242, 30, 89,188,120,241, 35, 11, 22, 44, 40,211,106,181, 19, 0,252,236,139, 84, 46,151,223, 23, 23, 23,247,213,142, 29,
+ 59,162,162,162,162,144,146,146,194,190,249,230,155, 29, 59,117,234, 36, 79, 72, 72, 96, 47, 93,186,132, 95,127,253, 53,254,209,
+ 71, 31, 93, 85, 94, 94,254,172,197, 98, 89, 29, 64,220,165, 17, 17, 17,111, 63,251,236,179,109, 52, 26,141,237,224,193,131,249,
+194,126,169, 84, 58, 61, 35, 35,163,207,214,173, 91,191, 7,240,245,149, 56, 89,132, 16, 13,254,104,226, 19, 96, 21,254, 15,196,
+217, 34,132, 72,143, 28, 57, 18,158,145,145,241,179,201,100,234,249,220,115,207, 93,152, 57,115,166, 92,173, 86,171, 1, 48, 26,
+141,230,242,180,105,211,204,115,231,206,125,171,107,215,174, 67,119,239,222,253, 0, 33,196,234, 16,100, 77,249, 24,198, 25,158,
+226,139,149,216,182,139,151,190, 55,249,245,132,143,103, 36,159,223,127,162,152,231,228,106,252, 55,247, 56,202,171,181,248,223,
+238, 19,136,137, 8,102, 36, 50,113, 90, 72,252, 77,131,234, 46,158,200,133,143, 25,210, 41, 90, 6, 12,195, 64,161, 80,224,191,
+255,253,111,147,165,171, 60, 45,107,197,113, 28, 66, 67, 67,253,174,110, 16, 20, 20,132, 77,155, 54,121, 92,123,209,211,146, 62,
+ 33, 33, 33,240,245,178,193, 48, 12,130,130,130,176,115,231, 78,176, 44,235,113,105, 32,247,125, 74,165, 18,172,143,181,174, 4,
+206,220,220, 92,191, 92,194,167, 74,165, 2, 26,154,254,189, 23, 74,153, 12, 59,118,236,240, 26,103,247,239, 42,199,122,175,254,
+ 56,119,238,220,217,104,233, 47,247, 37,193, 92,127, 43,149, 74, 48,126, 72,195,194,194,250, 38, 36, 36, 96,223,190,125, 88,185,
+114,101,120, 90, 90, 26,206,156, 57, 3,134, 97, 48,115,230, 76,230,166,155,110, 18,151,149,149, 97,192,128, 1,248,229,151, 95,
+250,105, 52, 26, 90, 96, 40,254, 44,193, 34, 6,112, 51,128, 72, 52,116,187,169, 7, 16,138,134,149, 52,164, 0,170, 1,200, 29,
+155, 9,128, 22, 64, 27,199,233, 85,142,186,197, 85, 32, 84,186, 46, 62, 77, 8,233,227,224, 22, 86,168,136,116, 57, 86,184,134,
+251,111,247, 79,143,220, 28, 0,100,103,103, 11, 15,179,193,153,153,153,219, 92, 35, 23,136,200, 18,214, 41,243, 80,166,221,135,
+104,202,148, 74,229, 79,123,246,236,145, 71, 70,254, 17, 7,147,201,132,250,250,122,104,181, 90,212,215,215, 35, 56, 56, 24, 43,
+ 87,174,148, 15, 29, 58,244,167,250,250,250, 78,142, 68,243,198, 57,231,210,165, 75,209, 54,155, 13, 82,169,231, 46, 74, 44,203,
+162, 75,151, 46,120,251,237,183, 49, 98,196,136,152, 33, 67,134,204,113, 19, 90, 77,134,146, 42, 20,138,175, 14, 30, 60, 24,165,
+ 80, 40,144,159,159,143,146,146, 18, 76,156, 56,177, 45,207,243, 40, 46, 46,198,153, 51,103,112,241,226, 69, 44, 94,188, 56,106,
+212,168, 81, 95,121, 16, 90,158,134,167, 62,247,234,171,175,118, 14, 11, 11, 99, 63,249,228,147, 90,157, 78,247,127,142,253,239,
+205,155, 55,239,137,129, 3, 7, 70,253,243,159,255, 36, 59,119,238, 92,234,184,113, 94,211,211,181, 79,150,163,153, 15,142,204,
+119,202,237,156, 46, 46,255,131, 16, 18, 3,192,196, 48, 76,173, 7, 78, 6, 64,200,240,225,195, 95, 51,153, 76, 61,119,236,216,
+113,246,182,219,110, 75, 4,112, 73,200,124, 33, 33, 33,202, 57,115,230, 68,103,102,102,230,221,126,251,237, 61,135, 15, 31,254,
+ 90,101,101,229, 76, 66, 72,165, 75,159, 45, 39, 39,207,227, 72, 76,108,183, 21,185,187, 39, 60,180,117,167, 89,242,250,203, 83,
+ 47,180,107,155, 84,119, 36,191,198,126,162,160, 18,245, 6, 27,238,191,189, 97, 1,243,190,221,218,225,139, 31,119,224,133, 87,
+222, 17,255,188, 98,201,131,103, 9,148,218,210, 19,107,125,164,231,213,130,114,194,217,196, 4,177, 88,140,187,238,186, 11, 12,
+195, 52, 89,203, 83, 44, 22, 99,247,238,221,184,253,246,219, 33, 22,139,241,212, 83, 79, 5,196,201,113, 28,134, 15, 31,238, 92,
+ 71,209,149,207, 93, 52,120,209, 4, 57, 77,222, 14, 57, 14, 44,203,122, 93, 72,219,157,211, 95,189, 36,132,211, 23,151,235,127,
+254,194,233, 88,242, 40, 96,145, 21, 40,167, 16, 78,142,227,208,175, 95, 63, 28, 62,124,216,167,232,242,162, 47, 27,197,253,242,
+229,203,227, 58,117,234,148, 59,127,254,252,112, 0,168,174,174,118, 46,120, 47, 18,137,112,250,244,105,152,205,102,188,255,254,
+251, 22,141, 70,243, 79, 90,142, 40,103,107,114,250,210, 34, 0, 6, 78,158, 60,185,119, 86, 86,214,204,140,140,140, 31,118,237,
+218,181,156, 97,152,108, 66, 72,166,240, 57,121,242,228,180,172,172,172,153,147, 38, 77,122,123,214,172, 89,199, 25,134,201, 6,
+ 0,247,223,142,186, 36,211, 77,196, 69, 10, 60,142, 50,215,232, 88, 79,191,221, 63, 61,113, 59,133, 22, 0,100,102,102, 50,142,
+ 72, 50,174,149, 90,160, 66, 43,144,181,251, 56,142,123,113,230,204,153,209,190, 68,150, 86,171, 69,105,105, 41, 18, 19, 19,241,
+212, 83, 79, 69,207,159, 63,255, 69,155,205,246,169, 15, 90,137, 72, 36,194,190,125,251, 80, 81, 81,129,238,221,187, 35, 57, 57,
+185,209, 1,231,206,157,195,186,117,235, 80, 91, 91,139, 94,189,122, 1, 13,157,187, 61,162, 71,143, 30,239,119,233,210,101, 56,
+203,178, 54,185, 92,142, 35, 71,142,160,103,207,158,248,241,199, 31,209,174, 93, 59, 40, 20, 10,228,229,229,161,123,247,238,216,
+182,109, 27, 34, 35, 35,145,158,158,110,211,104, 52,219,107,106,106,182,156, 63,127,254,125,111,225,140,143,143,159,250,204, 51,
+207, 72, 75, 75, 75,249,239,190,251,110, 7,128, 29, 0, 94,124,231,157,119,158, 28, 49, 98, 68,212,161, 67,135,234,246,239,223,
+191,215,139,200, 10,196,201,178,185, 63,148,236,118,187,201, 96, 48,152, 77, 38,147,149,101,217, 34,134, 97,204,118,187,189,147,
+ 55, 19, 98,252,248,241,237,171,170,170, 94,120,229,149, 87, 10, 29, 34,235, 52, 26, 58,192, 3, 0,108, 54,155, 73,171,213,106,
+ 50, 50, 50, 18, 31,125,244,209,179,203,151, 47,127, 97,252,248,241, 43,191,251,238, 59, 45, 0,131, 59, 97,187,118,109, 15,139,
+ 68,172, 68, 87, 31, 94,176,106,229,215,175,174, 91,243, 98,219,226,226,139, 29, 35,218, 68,234, 36,170,200,210,149,203,190, 61,
+ 0,192, 92, 90,169,193,209,115,101, 16,139, 69, 56, 89, 92,135,129,119,142, 17,159,205,159,209, 31,192, 90,250, 46,215,250, 47,
+139,194, 34,212, 91,183,110,245,233,104,237,222,189, 27, 98,177, 24,114,185, 28,115,231,206,245, 73, 42, 8, 3,193, 45,242, 39,
+102,132,197,209,125,185, 79, 60,207, 59, 23,122,119,223,254,239,255,254, 15,175,188,242, 74,163,107, 56,196, 6,227,143,211, 91,
+248, 18,147,146, 80, 81, 94,222,104, 95, 32,139,210,219,237,118,136,197, 98, 44, 90,180, 8,153,153,153,200,206,206,246,249,121,
+215, 93,119,129,101, 89, 18, 72,122,246,235,215, 15, 22,139,197, 25,230,211,167, 79,123,228, 93,176, 96,129,191, 96,222, 3, 96,
+ 90,207,158, 61,213, 67,134, 12, 65,110,110, 46, 30,124,240, 65,147,197, 98,201, 7,128,187,239,190, 59,117,254,252,249,210,131,
+ 7, 15, 34, 34, 34, 66,124,225,194,133,255,128,118,144,167,104,101,120,210, 34,194, 51, 47, 43, 43,107,166,187,136,113,133,240,
+ 63,195, 48,217,179,102,205,202,116, 21, 69,174,191, 5,215,201, 77,196,165,185, 58, 82,174, 34,202,155,128,114,123,222,186, 30,
+ 95,233, 81,104, 57, 34, 54,216,213, 5, 18, 42, 95,127, 34,203,199,155, 99, 35,132,132,132,140,188,255,254,251,157, 34,199,104,
+ 52, 58, 5,150, 32,178,132,223,121,121,121,232,221,187,183, 36, 36, 36,100,100,117,117,245,167, 1,136, 56,196,197,197,161,170,
+170, 10,199,142, 29, 67, 98, 98, 34,172, 86, 43, 54,108,216,128,186,186, 58,136,197, 98, 72, 36, 18, 88, 44, 62,251,110,163, 75,
+151, 46,119, 45, 93,186,180,247,146, 37, 75, 46, 11,111,116,203,150, 45, 3, 33, 4,145,145,145,208,235,245, 40, 47, 47,199,150,
+ 45, 91, 96,179,217,160, 82,169,144,146,146, 34,189,239,190,251,250, 79,155, 54, 77,236, 67,104,245,123,240,193, 7, 67,212,106,
+ 53, 94,126,249,101, 98,177, 88,102, 57,246, 77,157, 48, 97, 66, 68, 81, 81,145,249,233,167,159,222,103,177, 88, 62, 17,204, 68,
+ 87,129,227,229,198,122,117,178,172, 86,171,144,166,133, 90,173, 22,109,218,180, 73,116,117,182,188,137,193,157, 59,119,246, 3,
+ 32,154, 62,125,122, 16,128,114,215, 48,152,205,102,104,181, 90,232,116, 58,107, 93, 93, 93,197, 27,111,188, 97, 91,190,124,185,
+200,113,206, 73, 79, 66,139, 97,238, 50,171,213, 10, 41, 33,162,119, 22, 46, 92,168, 26, 49, 98, 4,171, 82,169, 80, 95, 95,175,
+254,223,250,245,170,161, 67,250,167,204,204,250,120,163, 58,161,123,249,206, 35, 5,184, 88, 86, 7,179,213,138,148,216,144, 6,
+ 63,140,162,213,225, 24,200,226,116,180, 92, 69, 69,110,110, 46,238,188,243, 78,103, 89,151, 72, 36,141,156, 47,127,156, 28,199,
+225,206, 59,239,108,226,240,108,221,186,213,163,251,228, 15,174,162,200, 93, 28,121, 18, 96, 44,203,250,157, 48, 80,112,243, 60,
+137, 45, 87, 87,223, 77,188,249,107,230, 0,199,113,152, 48, 97, 2,196, 98, 49,222,124,243, 77,112, 28,135,244,244,116,112, 28,
+135,140,140, 12,136,197, 98,220,126,251,237,205,142,251,158, 61,123,208,179,103, 79,103,152,210,211,211,209,167, 79, 31,112, 28,
+135, 1, 3, 6, 64, 44, 22, 99,248,240,225,129,112,190, 93, 95, 95,223, 67,165, 82, 33, 47, 47, 11, 97,163,210, 0, 0, 32, 0,
+ 73, 68, 65, 84, 15, 34,145, 8, 12,195,156, 1,208, 3, 0, 98, 99, 99,207,234,245,250,246, 70,163, 17,207, 60,243, 12, 99, 54,
+155,187,191,249,230,155,239, 24,141, 70, 42,180, 40, 90, 13,238, 90,196, 5,134, 73,147, 38,189,205, 48, 76,182,224, 80,185, 59,
+ 79,158,126,123,168,155, 4, 7,106,191,163,172,246,113, 19,113,149, 12,195,236, 39,132,220,237,237, 92, 0,102, 55, 97,213,168,
+233,208,181,217,208,175,163, 37, 84,190,129, 10, 45,127, 48, 26,141, 55, 71, 69, 69,121, 21, 89,174,159,102,179, 25,201,201,201,
+ 48, 26,141, 55, 55,247,161, 17, 27, 27, 11,139,197,130,175,191,254, 26, 18,137, 4, 18,201, 31,250,194,108,246,109, 22,157, 56,
+113,162,112,207,158, 61, 61,123,245,234, 21,246,203, 47,191, 84, 14, 26, 52, 40,114,196,136, 17,144,203,229, 48, 24, 12,176, 90,
+173,232,219,183, 47,186,116,233,130,146,146, 18,252,239,127,255,171,234,212,169, 83,155,189,123,247,242,101,101,101,231,125, 80,
+223, 49,116,232, 80, 48, 12,131,245,235,215, 87, 1,216, 47,147,201,214,205,152, 49, 35,204,108, 54,243, 99,199,142,189, 80, 83,
+ 83,243, 10, 0,139, 84, 42,157, 55,104,208,160,140,156,156,156,239,121,158,159,219,220,140,234,158,182, 58,157, 14, 65, 65, 65,
+129, 76, 37, 33,174,169,169,233, 6, 0, 74,165, 50, 28,192, 89,103, 14, 55, 24, 26,137, 97,179,217,108, 12, 15, 15, 87, 2,128,
+227, 28,177, 23,206, 72,155, 13,171,206,159, 47, 8,118,237, 63, 23, 26, 26,138,199, 30,125,148,189,173, 95, 63,105,143,155,111,
+ 30,254,238,103, 75,126,140,139, 80,155, 83,226, 34, 96,181, 91,145,179,113, 3, 79,120,235, 70, 90,237, 92, 27,161, 37,136, 13,
+119, 71, 75, 44, 22, 99,219,182,109, 77,246, 73, 36, 18,252,251,223,255, 14, 72, 24, 8,162,202, 91,211,153, 91, 83, 23,227, 79,
+192,136,197, 98,136, 68, 34, 44, 90,180, 8, 60,207,227,213, 87, 95,109,212,156,232,202, 31,144,157,231, 34, 2,187, 76,229, 1,
+152, 81, 50, 91,230, 60,223, 61,188,142,115, 2,114,201,230,207,159, 31,144,163,117,247,221,119,251, 21,174,174, 45, 12,174,225,
+ 58,124,248,176, 71,222,133, 11, 23,250, 77, 79,187,221,142,181,107,215, 58, 69,170,128,119,223,125,247, 25,169, 84, 26,189,125,
+251,118,148,149,149, 65,167,211, 65,171,213,162,111,223,190, 41, 44,203, 30, 41, 43, 43, 43, 58,121,242,228,253,180,244, 80, 92,
+ 67, 71,203, 52,107,214,172,227,179,102,205,242,232, 88,185, 59, 75,190,156, 39, 65, 96, 57, 4, 81,164, 32,222,208,208,173,102,
+191,191,115, 1, 72,221,155, 14,125, 26, 65,110, 42,114,154,167,202, 55,144,230,195, 0,237,116,142, 97, 24, 24,141, 70,143, 2,
+203, 85, 28, 88, 44, 22,212,212,212,192,110,183, 95,241, 92, 95,158,222,100,253, 9,173, 99,199,142,253,227,201, 39,159, 44, 13,
+ 9, 9,233, 81, 89, 89, 89,193,243,252,237,187,119,239,142,228, 56, 14,106,181, 26,106,181, 26,235,214,173,131, 66,161,192,132,
+ 9, 19, 42,236,118,123,110,112,112,112,132,193, 96,248,189,172,172,236, 93,175, 10, 70, 44, 30, 62, 96,192, 0, 28, 60,120, 16,
+151, 47, 95,222, 4, 32,253,241,199, 31,191,179,109,219,182,204,140, 25, 51,140,231,206,157,155, 11,160, 66,169, 84, 46, 93,186,
+116,233,144, 94,189,122, 5,143, 29, 59, 22,219,182,109, 91, 8,192, 24,104,156,117, 58, 93, 35,129,165,209,104, 80, 95, 95, 15,
+165, 82,105, 11, 48,205,196,248, 99,132, 33, 8, 33,206,123,227,112,179,132,251, 67, 56,142, 19, 70, 53,122, 19, 89, 80, 42,149,
+211,151, 44, 89, 34,119, 31,164, 96,183,219, 81, 94, 94, 14,181, 90,141, 41,239,190, 43,249, 96,226, 63,123,138, 84,209,187, 89,
+150,129,217, 66,106, 9,111,222,160, 43,127,120, 59,240, 62,173,121,174, 1, 4, 97,112,239,189,247, 54,105, 46,148, 72, 36,216,
+180,105, 19, 70,141, 26,229,124,113,233,213,171,151,223,151, 43, 65, 24,220,115,207, 61, 78,103,104,195,134, 13, 30,155,253, 4,
+ 71, 42, 16, 65, 40, 28,251,210, 75, 47,129,227, 56,124,241,197, 23,120,237,181,215,192,178, 44,102,207,158, 13,150,101,241,222,
+123,239, 5, 44, 50, 93, 5, 76,209,199, 13,159, 9,175,105, 80,189, 32, 26, 0, 16,172, 86, 11, 17,106, 86,221,195,113,156,211,
+201,186,249,230,155, 33, 22,139,145,145,145, 1,142,227,156, 78,214,200,145, 35, 93,211,145, 4,194,201,113, 28,242,243,243,157,
+ 97,206,200,200,104,228,100,113, 28,135,187,239,190, 59,144, 96,206, 12, 13, 13,157,214,165, 75,151,174,115,230,204, 17,139, 68,
+ 34, 12, 29, 58, 52, 53, 38, 38,230,188,205,102,139,152, 62,125,186,194,195, 57,114, 0, 61,186,118,237,170,164,165,134,162, 21,
+ 29,173,105, 30,254, 10,115,237,115,213,140, 23,201,108,215,227, 5, 14,119,113,228,112,200,114,253,113,121, 58,215, 31, 56, 65,
+ 65,250,178,212, 3, 17, 90, 14,219,217,231,197, 20, 10,197,209,138,138,138, 12,185, 92,222, 72,100,121, 18, 92, 34,145, 8,101,
+101,101, 80, 40, 20, 71, 77, 38, 83,139,221, 68,127, 77,135, 0,140,103,206,156,153,232,242,123,216,200,145, 35,191,219,180,105,
+ 83,108, 78, 78, 14,246,238,221,139,200,200, 72,204,159, 63,255, 82,121,121,249, 63, 0,108,170,170,170,242,123,221,246,237,219,
+119, 83,169, 84,216,185,115, 39, 0,108, 3,240,207, 23, 94,120,129,177, 90,173, 88,176, 96,129, 14,192,250,208,208,208,181, 43,
+ 87,174,236,217,163, 71, 15,105, 78, 78,142,102,239,222,189,191, 5, 40,178,236, 60,207, 55, 17, 88,174,105, 26, 28, 28, 28,136,
+163,101, 13, 9, 9, 57,166,209,104,198, 24, 12, 6,141, 76, 38, 11,214,104, 52, 38, 87,129, 37,240,115, 28, 39,206,207,207, 47,
+ 5,144, 18, 18, 18,114, 12, 94,154, 57, 57,142, 27, 58,116,232, 80,206,253, 30,148,151,151,163,172,172, 12, 22,139, 5,189,122,
+245, 98, 68,140, 85,116,185,248,168,219,180, 14, 84,100, 93, 35, 71,139, 8,101, 93, 24, 37,232,105,164,225,134, 13, 27,156,191,
+ 89,150,197,183,223,126, 27,144, 40,218,180,105,147,207, 14,235,110, 77,135,126,173,113,225,248, 47,191,252,178, 97,121, 11,135,
+147,197,178, 44, 38, 77,154, 4,153, 76,134, 25, 51,102, 96,210,164, 73,224, 56,206,111,211,161,171,128, 73,122, 83,239,250,114,
+212, 80, 40, 28,253,161, 24,134,113, 21, 91, 76,160,226,205,151,155, 23, 72, 75,128, 43,167,112, 94, 80, 80,144,215,142,240,110,
+156,190, 46,240, 95, 0, 5,177,177,177, 59, 51, 50, 50, 66, 14, 28, 56,128,217,179,103, 75, 76, 38, 83,187,156,156, 28,231,117,
+ 61,165,151, 78,167,147,211,146, 67,209, 26,110,150,143,191, 43,221,250, 87, 49,174,205,120, 62, 62,221,143,135,203, 62, 87,222,
+ 74,134, 97,172, 30,174, 87,233, 65, 92,185, 95,195,245,152, 74,175,142,150,191,202,194,159,224, 10,196,209,210,235,245,191,173,
+ 95,191,190,207,163,143, 62,202,249,106, 54,212,233,116,136,142,142,198,241,227,199,109,122,189,254,183, 0,156,178,150, 20, 90,
+238,200,169,168,168, 16, 89,173, 86,116,236,216, 17,241,241,241, 48, 26,141,168,173,173, 21, 1,216, 20, 32,135, 68,169, 84,138,
+ 0,160,182,182, 22,104, 24,106,154,218,169, 83, 39, 28, 60,120, 16, 53, 53, 53, 63, 3, 24, 49,109,218,180, 94,125,251,246,149,
+252,248,227,143,250,231,158,123,238,103,171,213, 26,144,210,224,121,222,108,179,217,146, 89,150,181,212,214,214, 94,116, 77,207,
+232,232,232,112,165, 82,201,148,151,151, 91, 3, 17, 90, 61,122,244,216,119,225,194, 5, 76,159, 62,189,114,230,204,153,157,234,
+235,235, 47,215,213,213,217, 92,197,150,209,104,100,219,180,105, 35, 91,176, 96,129, 28, 0,122,244,232,177,207,155,208,210,233,
+116,109, 21,138, 63, 94,140, 77, 38, 19,202,202,202, 80, 86, 86,134,242,242,114,212,215,215, 35, 37, 37, 5,122,189, 62,145, 86,
+ 51,127,154,208,106,212,124,230, 90,190, 93, 31,228,205, 41,235,174, 2,230,222,123,239,117,246,237, 18, 28, 50, 97, 91,181,106,
+149,123, 7,243,128,132,214,151, 95,126,137,151, 94,122, 9, 65, 65, 65,152, 51,103, 78,163,166, 67,119,113,192,243, 60, 19, 72,
+220,147,223, 50,160,108, 94, 56,196, 98, 49, 34,158, 43,111,212, 68,231, 65,112, 4, 20,206,153, 51,103,182, 72,211,161, 43,103,
+ 98, 98, 67, 81, 89,180,104, 17,198,140, 25,131,237,219,183, 95,113,211, 97, 90, 90,218,178,236,236,236,144, 19, 39, 78, 64,163,
+209,160,178,178, 18, 38,147, 9, 37, 37, 37, 94, 91, 5, 28,117,121, 16, 45, 57, 20,215,184,158,218,127, 45,121, 91,242,122,156,
+159, 7,120,192, 66, 43, 16, 71,203,100, 50,205,121,249,229,151, 95, 24, 54,108, 88,120,112,112, 48, 74, 75, 75,155,136, 44,173,
+ 86, 11,149, 74, 5,131,193,128, 53,107,214,104, 76, 38,211, 28,127,226,192,106,181, 34, 42, 42, 10, 85, 85, 85,224,189,244,159,
+102, 89, 22,114,185, 28, 90,173, 22,240,211,201,220,211, 3,195, 98,177,192,106,181,194,106,181,194, 98,177, 52,119, 69,110,133,
+ 82,169, 20,132, 7, 0,232,226,226,226, 58, 6, 5, 5,161,176,176, 16,104, 24,217, 55,236,206, 59,239, 20, 87, 87, 87,147,167,
+159,126,122, 7, 33,228, 25,248,158, 29,223,156,155,155,155, 12, 0,114,185, 60, 15, 0, 74, 74, 74,172,181,181,181,141,156, 66,
+133, 66, 65, 70,141, 26, 21, 75, 8, 65,110,110,110,178, 68, 34, 33,240, 62,170,209,184,122,245,234, 19, 33, 33, 33,203,179,178,
+178, 30,205,204,204, 60,222,173, 91,183,100,157, 78, 87, 97, 48, 24, 12, 70,163,145,136, 68, 34, 73, 88, 88, 88,208,198,141, 27,
+207,238,222,189,123,152, 90,173, 94,190,122,245,234, 19,222,156, 55,165, 82, 89,162,215,235,147,132,123,234, 42,178,202,202,202,
+ 64, 8, 65, 65, 65, 1, 20, 10,197, 5,127,205,186, 20,173, 7,225,165,202,221,121,113,223, 23,168,200,114, 21, 6, 27, 55,110,
+244, 57,135, 86,160,156,174,162,232,181,215, 94,195,188,121,243,154, 56, 90, 51,102,204, 0, 0,188,251,238,187, 1,247,209, 18,
+220,171,178,121,225,136,121,169,166, 81,216, 1,128, 17,194,215,188, 50, 15,142,227, 48,125,250,244, 38,157,212, 93,155,246, 2,
+108,226,107, 20,206,138,138, 10,112, 28,135,240,240,112, 60,246,216, 99, 24, 62,124,184,179, 9,178,185,188,167, 78,157,218,249,
+214, 91,111,117, 79, 75, 75,195,135, 31,126, 88, 19, 26, 26, 26,252,175,127,253,139,171,173,173,101,124, 57, 90, 84,104, 81, 80,
+180,128,208, 18, 10, 88,160,163, 14,189, 84,150,195,208,120,174,141, 58,189, 94,255,216, 29,119,220,241,203,138, 21, 43,228,237,
+219,183,199,169, 83,167, 80, 83, 83, 3,179,217, 12,137, 68,130,216,216, 88,212,214,214,226,219,111,191, 53,232,245,250,199, 0,
+212,249,225,124,167,119,239,222, 95,125,250,233,167, 65,233,233,233,168,169,169,129, 86,171,117, 10, 33,134, 97,160, 86,171, 33,
+151,203,177,111,223, 62,108,216,176,193, 0,224, 29, 63,156,158,212, 28, 44, 22,139, 83,112, 5, 32,180, 92, 57,149,130,171,163,
+215,235, 1,192,218,182,109,219, 24, 0, 40, 40, 40, 0,128,162,148,148,148,105,237,219,183,103,150, 46, 93, 74, 8, 33, 27,188,
+136, 44, 39, 39,195, 48, 53,132,144,203, 0, 98,204,102,179, 4, 0,234,234,234, 44,109,218,180,137,146,201,100,188, 92, 46,231,
+131,130,130,248,210,210, 82,155,205,102,147, 0,192,128, 1, 3,204, 0,202,220,214, 40,116,229,228, 9, 33,154,133, 11, 23, 78,
+ 27, 59,118,108, 70,191,126,253,210,158,127,254,249, 99, 79, 63,253, 52, 27, 31, 31, 31, 86, 95, 95,111, 60,115,230,204,229,207,
+ 62,251,172,126,207,158, 61,195,196, 98,241,249,133, 11, 23, 78, 3,160, 97, 24,134,247,196,105,179,217,126,203,201,201,249, 71,
+102,102, 38,119,241,226, 69,148,151,151, 59, 69, 86,121,121, 57,186,116,233,130,221,187,119,219, 45, 22, 75, 78, 51,210,179,165,
+ 64, 57, 27, 94, 66,136, 80,214,189, 9, 44,225,101, 42, 80, 78, 87, 81, 52,102,204,152, 70, 46,150, 68, 34,193, 79, 63,253,228,
+177,222,240, 80,174, 26,197,221,117,142,175,183,222,122,171,145,104,155, 50,101,138,215,234,204, 95,122, 10, 60,117,139,226, 27,
+143, 58,244, 82,206,125,133, 83,168, 59,197, 98, 49,166, 76,153, 18,176,163,133,166,125,180,154,112, 10,113, 31, 52,104, 16,244,
+122,189, 83,200,122,115,180,252,165,167,221,110,127,105,222,188,121, 68,173, 86,223,170,209,104, 30,191,112,225,194, 98,189, 94,
+127, 75, 93, 93,157, 79, 71,203,100, 50,201,104, 57,162,156,104,157,249,185,110, 28,161,229,120, 72,162,109,219,182,141,214,206,
+ 98, 89,182,209,214,156,126, 6, 14,108,204,207,207,127,224,182,219,110,251,254,165,151, 94, 10, 78, 79, 79, 23, 39, 37, 37, 65,
+167,211,161,176,176, 16,199,143, 31,183,173, 94,189, 90,163,215,235, 31, 7, 16,200,168,179, 37, 39, 78,156,216, 48, 98,196,136,
+247,250,246,237,251,236,212,169, 83, 69,169,169,169,168,171,171, 67, 88, 88, 24,162,162,162,112,250,244,105,172, 89,179,198, 94,
+ 85, 85,245, 21,128, 15,224,161, 13,213,223, 11,191,197, 98,193, 35,143, 60, 2,158,231, 49,119,238, 92, 4,178,160,178, 11, 44,
+ 22,139,133, 0, 96, 28,253,185,244,142,217,165,113,230,204, 25, 0, 56,159,156,156, 28, 12, 0, 57, 57, 57, 12, 26,230,215, 10,
+228, 13,159, 16, 66,156,206, 86,151, 46, 93, 10,221, 43, 71,193,201, 18, 92, 48,127,225,102, 24,198, 72, 8,169,208,235,245, 35,
+ 94,123,237,181,247,190,252,242,203, 71,191,252,242,203, 38,199,169,213,234,229,179,103,207,254,224,161,135, 30,170, 96, 24,198,
+107, 63, 50,157, 78,247,238,184,113,227, 30, 58,122,244,104,112, 80, 80, 16,116, 58, 29,170,171,171, 97,177, 88,144,146,146,130,
+138,138, 10, 44, 89,178,164,222, 96, 48,188, 79,139,227,159, 3, 87, 97,224,205,213, 10, 64,100,121,117,117,254,251,223,255,122,
+156,163,170,185,156,238, 98, 35,208,185,173,124,189, 20, 9,211,210,120,154, 50,162,153,245, 90, 19, 94,142,227,240,201, 39,159,
+ 56, 39,109,245,228,100, 53,199,209, 18, 56,195,195,195, 27,108,114,133, 2, 60,207,227,238,187,239,190, 26, 94, 30,192, 4,151,
+ 25,223,103,190,241,198, 27,211,186,116,233,146, 10, 64,230,154, 6,205,116,241, 41, 40, 40,252, 9, 45,187,221, 94,210,185,115,
+231, 70, 21,156,191,197, 76,173, 86,107, 73,128,215,221,160,211,233, 82,102,207,158,253,178, 82,169, 28,166,215,235,187, 59, 42,
+142,163, 58,157, 46,199,100, 50,125,142,230, 45, 2, 93, 9,224,197, 61,123,246,204, 29, 49, 98,196,140,219,111,191,125,244,196,
+137, 19, 25, 66, 8, 22, 44, 88, 64,206,157, 59,183,202,225, 98,157,187,146, 68, 10, 15, 15, 63,241,237,183,223, 70,255,242,203,
+ 47,176, 90,173,248,252,243,207, 17, 28, 28,124,162,166,166, 38, 80,138,138,205,155, 55,127,215,175, 95,191, 39,118,239,222,189,
+ 4,192,239,219,182,109, 91,220,191,127,255,113,187,119,239, 94, 6,224,248,150, 45, 91, 22,247,237,219,119,220,254,253,251, 87,
+ 2, 56,220,140,202,215,233,108,217,108,158, 91, 26,189, 56, 89,190, 56, 53,132, 16,203,147, 79, 62, 57,241,161,135, 30,250,122,
+255,254,253,183,212,214,214,118, 7,128,208,208,208,163,125,250,244,217,183, 98,197,138,211, 14, 39,203, 95,103,253, 74,157, 78,
+ 55,170,123,247,238, 63,127,248,225,135,202,180,180, 52,174, 99,199,142, 40, 42, 42,194,177, 99,199,108,255,249,207,127,180, 6,
+131,225, 94, 0,151,105,113,252,243,132, 22, 33, 4,161,161,161,141, 94,162,132, 33,255,205,109, 46,116,125, 48, 11, 75,245,184,
+243,122,227,244, 53,109,130, 0,149, 74,229,156,220, 52,144, 46, 11, 60,239,123, 62, 54, 66,136,147, 83,216, 2, 16, 89,126, 71,
+ 8, 58,150,192, 9,152, 51,144,233, 29,148, 74, 37,172, 86,171,147, 55,128,145,159,205, 85,139,255, 5,240, 95,171,213,122, 6,
+ 64, 7, 42,174, 40, 40, 90, 81,104, 93,190,124,185,119, 43, 95, 91, 99, 50,153, 62, 48,153, 76, 31, 8, 59,140, 70,227,213,114,
+158, 3,240,208,230,205,155, 63,221,188,121,179,208,142, 48, 29,254,215, 75,244,137, 83,167, 78,101,138,197,226,127, 47, 95,190,
+188, 47, 33, 4, 33, 33, 33,123,138,138,138,254,213, 28, 14,187,221,254,228,238,221,187, 95,128,163, 47,147,197, 98,121,114,231,
+206,157, 47,163, 97, 61, 38,216,237,246, 39,247,238,221,235,252,221,204, 7, 37, 33,132,152, 8, 33,113, 94, 14, 49, 53,211,129,
+ 19,156, 45,243,138, 21, 43,180, 0,142,224,143,121,178,172,142,205,232,214, 92,232, 11, 91,116, 58, 93,199, 41, 83,166,204, 20,
+137, 68, 67,117, 58, 93,188, 82,169, 44,182,217,108,191,233,245,250,119,208,176, 70, 21,197,159, 4,179,217,124,177,115,231,206,
+156,167, 23, 40, 95, 15,114, 95, 47, 86,118,187,189,164, 83,167, 78,126, 95,206, 60,112, 94,244, 33, 26,206,167,164,164,176,129,
+114, 9,176, 88, 44, 21,190,194,153,146,146,130,230,114,250,139,123,114,114,178,199,184,251, 17,132, 94,227,110,179,217,174,136,
+211, 87,122,250,130,193, 96,184, 28, 25, 25,169, 53, 26,141, 98,147,201, 36,182,217,108,141,236, 71,185, 92, 94,105, 48, 24,104,
+225,161,160,184, 26,161,245, 55,199, 1, 52, 44, 47,209, 82, 48, 29, 61,122,244, 9,167, 61, 85, 81,113,165, 60,238, 74, 82,235,
+231,119,115,132, 81,139, 59, 66, 14, 33,165,111, 33,186, 42,173, 86,251,180,240, 67,232, 3, 66,241,231,163,186,186,250,214,150,
+230,172,169,169,105,241, 23,181,170,170,170,140, 86,136,123,239, 27,149,211, 23, 74, 75, 75,111,245, 35,196,104,193,161,160, 8,
+ 16, 44, 77, 2, 10, 10, 10, 10, 10, 10, 10,138,214, 1,131,134,145, 3,158,208,156,209, 4,195,174,224,218, 57,148,147,114, 82,
+ 78,202, 73, 57, 41, 39,229,188,225, 56,253,113, 95, 55,163, 25,175, 69, 63,199, 97,148,147,114, 82, 78,202, 73, 57, 41, 39,229,
+164,156, 55, 34, 8, 33,180,233,144,130,130,130,130,130,130,130,162,181, 64,133, 22, 5, 5, 5, 5, 5, 5, 5, 5, 21, 90, 20,
+ 20, 20,127, 83,164,182,109,219,246,100,106,106,234, 69, 0,227, 91,249, 90,143,245,237,219,183, 90, 38,147,109, 4,144, 74,147,
+158,130,130,130, 10, 45, 10, 10,138,235, 90,100,117,239,222,125,199,169, 83,167,186,228,228,228,196,197,199,199,127,220,154, 23,
+235,221,187,247, 71,219,183,111, 15, 95,191,126,253, 29, 49, 49, 49,185, 87, 40,182, 82,219,181,107,119, 50, 53, 53,181, 4,192,
+ 99, 45, 28,196,241, 25, 25, 25, 53, 82,169,116, 3, 21,130, 20, 55, 0,186, 1,232, 78,133, 22, 5, 5, 5, 69, 43,138,172, 93,
+187,118, 69, 24,141, 70,156, 58,117, 10,149,149,149,135, 91,243,130,121,121,121,151,119,237,218,133,132,132, 4, 44, 91,182, 44,
+ 50, 57, 57,121,123, 51, 5, 77,106,247,238,221,119,156, 60,121,178, 75, 78, 78, 78,124, 84, 84,212,103, 45, 25,190, 91,110,185,
+101,198,246,237,219,195, 54,110,220, 56, 60, 50, 50,242, 74,133, 32, 5,197, 95, 25, 50, 0, 79, 48, 12,179,175, 91,183,110, 71,
+211,210,210,126,103, 24,102, 55,128, 49,184,126,231,238, 12, 12,217,217,217,219,178,179,179,183,209, 60, 66, 65, 65,209, 2, 72,
+ 75, 75, 75,211,233,116, 58, 82, 89, 89, 73,190,248,226, 11, 18, 30, 30,110, 1,240, 27,128,213, 30,182,183, 1,168, 3,228, 86,
+ 59,142,247,196,243, 91,120,120,184,229,139, 47,190, 32, 5, 5, 5,228,196,137, 19, 36, 53, 53,213, 16,160,160, 73,237,222,189,
+123,149, 16,230,117,235,214, 17,142,227, 54,180,100,162,168,213,234,227,185,185,185,228,220,185,115,100,227,198,141, 36, 58, 58,
+186,130,138, 45,138,235, 4, 73, 0, 62, 82,169, 84, 53,247,220,115, 15,249,230,155,111,200,154, 53,107,200,207, 63,255, 76,230,
+204,153, 67,134, 12, 25, 66,164, 82,233, 69, 0,111, 2, 8,189, 81,180, 8, 33,164, 97, 85,251,236,236,108, 2, 96, 48, 0,100,
+102,102, 82,177, 69, 65, 65,113,181,216,165,215,235, 51,244,122, 61,234,235,235,209,182,109, 91,136,197, 98,143, 7, 86, 84, 84,
+ 96,231,206,157,152, 48, 97,194,137,178,178,178,129,240,189,238,101, 88,207,158, 61,119,109,217,178, 37, 53, 56, 56,216,185,147,
+231,121, 88, 44, 22, 88,173, 86, 88, 44, 22,152, 76, 38,152, 76, 38, 72,165, 82,200,229,114,132,135,135, 31,131,239, 38, 12,167,
+251,102, 48, 24,112,232,208, 33,140, 29, 59,182,178,186,186,122, 32,128,188, 22, 76,151,212,168,168,168,220, 37, 75,150, 68,166,
+164,164,224,194,133, 11,120,234,169,167,170,206,159, 63, 63,160,133,175, 67, 65,113, 45, 49,233,129, 7, 30,152, 17, 29, 29,205,
+118,235,214, 13,177,177,177, 48,153, 76, 48, 24, 12, 32,132,128,227, 56, 16, 66, 80, 87, 87,135,220,220, 92,108,217,178,197,116,
+249,242,229,111, 1,124, 14, 32,223, 69,100, 93,119, 90,164,145,208,202,204,204,100,104, 94,161,160,160,104, 33, 28,173,171,171,
+235,102, 50,153,160,211,233, 2, 58,161,160,160, 0,227,199,143, 63, 81, 86, 86,118, 27, 60, 47, 42,175,238,217,179,231,222,220,
+220,220, 84,163,209, 8,141,198,255,186,243, 82,169, 20, 65, 65, 65,136,136,136,216, 13,160,159,183, 55,241,110,221,186, 29,216,
+189,123,119,184,193, 96,192,225,195,135,241,216, 99,143, 89,106,106,106,118, 0,240, 22,248, 26, 52,172,163,122,222,195,127,137,
+ 0, 94,118,188,225,123,130, 50, 50, 50,178,255,210,165, 75, 37,237,219,183,135, 94,175,199,152, 49, 99,106,242,242,242,250, 0,
+ 40,164, 89,135,226,111,136,188, 83,167, 78,117,178,219,237,168,170,170,130,201,100,130, 94,175,119, 10, 45,145, 72, 4, 66, 8,
+108, 54,155,243,197,232,224,193,131,200,201,201, 33, 5, 5, 5, 83, 29,101,233,186,212, 34, 84,104, 81, 80, 80,180, 22, 82, 59,
+117,234,116,248,127,255,251, 95,144, 68, 34,193,154, 53,107, 48,117,234, 84,107, 77, 77,205,118,119,241, 18, 29, 29,157,182,120,
+241,226,228,148,148, 20,252,254,251,239,120,240,193, 7,223, 1, 48,211, 3,231,219, 26,141,102,134,197, 98,193,225,195,135, 49,
+110,220,184,194,242,242,242,227,238, 34, 38, 57, 57,121,192,103,159,125, 38,238,213,171, 23, 52, 26, 13, 70,143, 30,173, 63,125,
+250,116, 95, 0,199,189,132,245,179,154,154,154,215,236,118, 59,234,235,235,145,144,144, 0,137, 68,226, 51,114, 6,131, 1, 73,
+ 73, 73,187, 43, 43, 43,155,136,183,136,136,136,205, 23, 46, 92, 24, 34,151,203,125,114, 88, 44, 22,148,148,148, 64, 42,149,194,
+100, 50,161, 67,135, 14,223, 2,120,146,102, 29,138,191,163,208, 58,114,228, 72,167, 31,126,248, 1, 61,123,246, 68,215,174, 93,
+161,213,106,157,162,203,108, 54,195,106,181, 54, 57, 73,163,209,224,213, 87, 95,205,135,163,249,252,122, 21, 90, 66,199,180,105,
+ 66,155,104,102,102,230, 32,154,103, 40, 40, 40,174,182,226,205,207,207, 79, 31, 54,108,216,246, 85,171, 86,181, 25, 57,114, 36,
+ 58,116,232, 32,190,255,254,251, 35,245,122,253, 80,215, 3,203,203,203,195,198,141, 27,119,160,184,184, 56,217,177,171,143, 23,
+206, 62,193,193,193, 40, 40, 40, 16, 68, 86,111,184, 53, 51, 74,165,210, 13, 71,142, 28, 17, 75,165, 82,236,223,191, 31,227,199,
+143,175, 42, 44, 44,244,215, 44, 23,106, 54,155, 33, 18,137, 0, 0, 37, 37, 37,126, 35,119,225,194, 5,240, 60,111,242,244, 31,
+203,178,178,131, 7, 15, 34, 46, 46,206, 39, 7,203,178,238,130,174,150,102, 27,138,191, 41,172,102,179, 25,189,123,247, 70, 97,
+ 97, 33, 14, 30, 60,232, 20, 92, 85, 85, 85, 40, 45, 45,109,116,240,190,125,251,112,232,208, 33, 12, 28, 56,208,157,231,186,212,
+ 34, 78,229,152,157,157, 61,200, 17,185,109, 52,207, 80, 80, 80,180, 16, 82,227,226,226,114,151, 44, 89, 18, 25, 27, 27,139, 33,
+ 67,134, 20,151,149,149,181,243,112,220,106, 66,200,189, 5, 5, 5,104,223,190,253, 26, 0,247, 93,201, 49,137,137,137,149,251,
+247,239,111,115,226,196, 9, 60,246,216, 99,149,142, 62, 95,254,250, 62, 37,119,233,210,101,255,198,141, 27,195, 89,150,197,241,
+227,199, 3,105, 58, 44, 66, 67,255,146,243, 30,254, 75, 4, 48, 5, 64,184,151,115,149,157, 58,117,234,127,224,192, 1, 9,195,
+ 48, 40, 42, 42, 18,154, 14,123, 59,120, 41, 40,254,110, 24, 21, 23, 23,247,159, 23, 94,120, 33,164,111,223,190, 40, 41, 41,193,
+197,139, 23,113,249,242,101,164,167,167, 35, 45, 45, 13,231,206,157,195,134, 13, 27,112,232,208, 33,200,100, 50, 36, 36, 36, 64,
+181,252, 7,252,155,193, 9, 0,105,215,171, 22,185, 22,107, 29, 82, 80, 80, 80,164, 74, 36,146, 13,241,241,241, 21,240, 60, 47,
+ 85,216,232,209,163, 75,237,118, 59, 57,119,238, 28, 65,195,232, 65,120, 17, 90,228,220,185,115, 36, 58, 58,186, 0, 64,152,135,
+ 99,198,199,196,196, 20, 43, 20,138, 99,104,230,180, 14, 29, 59,118,172, 60,125,250, 52, 41, 46, 46, 38,235,215,175, 39, 17, 17,
+ 17,173, 49, 34, 48,181,115,231,206, 85,245,245,245,196,104, 52,146,220,220, 92,146,152,152, 88, 9, 58,242,144,226,239,143, 96,
+ 0,211, 83, 82, 82,140,159,126,250, 41,217,176, 97, 3, 89,180,104, 17,153, 49, 99, 6,153, 56,113, 34,201,200,200, 32, 25, 25,
+ 25,100,204,152, 49,228,181,215, 94, 35,119,222,121, 39, 81,169, 84,117, 0,238,191,158, 19,133, 10, 45, 10, 10,138, 63, 3,137,
+ 0,230, 56, 4,213,234,209,163, 71,151,154, 76, 38,114,241,226, 69,242,211, 79, 63, 17, 52, 76,221,224, 9,111,151,149,149,145,
+178,178, 50, 97,106,132, 2,252, 49,173,195, 55, 14,222,171, 18, 65, 73, 73, 73,149, 7, 14, 28, 32, 69, 69, 69,100,221,186,117,
+196, 33,216, 90, 12,114,185,124,163, 70,163, 33, 70,163,145,108,222,188,153, 78,239, 64,113, 61, 34, 10,192,252,155,110,186,201,
+ 58,119,238, 92,178,122,245,106,242,197, 23, 95,144, 81,163, 70,145, 55,223,124,147, 60,252,240,195, 36, 50, 50,210, 4, 32, 11,
+ 64,200,245,158, 24,215, 66,104,209,149,205, 41, 39,229,164,156,238,216,112,226,196, 9, 34,192,110,183,147,139, 23, 47,146,141,
+ 27, 55,146,152,152,152,227,104, 60,159,150, 43,167,186,107,215,174,167, 78,159, 62, 77, 46, 92,184, 64, 44, 22,139,147,227,212,
+169, 83, 4,192,182, 22, 8,103,106,124,124,124,197,214,173, 91,201,233,211,167, 73, 76, 76, 76,113, 75,198, 61, 41, 41,169,162,
+178,178,146,108,222,188,153, 68, 70, 70,250, 19, 89, 52, 47, 81,206,191, 51,103, 18,128,165,189,122,245,178,207,155, 55,143, 60,
+251,236,179, 36, 49, 49,209,238,120, 41,138,191, 81, 84,167,107,103,120, 10, 10, 10,138,107, 5,217,158, 61,123, 32,147,201,156,
+ 59,126,255,253,119,215,121,180,188,205,219,160, 57,121,242,228,109, 35, 71,142,220, 62,111,222,188,174,174,163,152,182,110,221,
+ 10, 0,166, 22, 8, 91,222,197,139, 23, 7,142, 24, 49,226,243,136,136,136,155,203,202,202,222,107,201,136, 23, 21, 21,189,214,
+189,123,247,153,245,245,245, 26,189, 94, 63, 6,116,238, 44,138,235, 23, 69, 0,198, 30, 60,120,240,227,131, 7, 15,190, 3,128,
+ 0,248, 16,192,201, 27, 45, 33,168,208,162,160,160,184,214, 24,255,244,211, 79,187,119, 22,223, 15,224,255,124,136, 44, 1,151,
+ 11, 11, 11,251,221,125,247,221, 47,160,241,232, 68,161,115,122, 75, 32,207,108, 54, 15,119, 31, 41,213, 66, 88, 86, 86, 86,182,
+140,102, 1,138, 27, 8,199, 1, 60,124, 35, 39, 0, 21, 90, 20, 20, 20,215, 26,231, 1, 60,117, 21,231,107,224,121,158, 45, 10,
+ 10, 10,138,191, 28,232,162,210, 20, 20, 20, 20, 20, 20, 20, 20, 84,104, 81, 80, 80, 80, 80, 80, 80, 80,252,189,192,192,251,200,
+129,156,102,240, 92,201,136,134, 28,202, 73, 57, 41, 39,229,164,156,148,147,114,222,112,156,254,184,115,112,157,128, 78,239, 64,
+ 57, 41, 39,229,164,156,148,179, 53, 56, 25,199,198, 58, 54,225,247, 95, 57,238,204, 95, 56,238, 55, 10,231,117,135, 63,115,122,
+ 7,225, 70,240,104, 24,242, 73,241,215,131,107, 1, 33,244, 62, 81, 80, 80, 52,179,238, 16,185, 60,108,237,142, 13,127,193,186,
+196, 85, 20,240, 87,249, 92,106,141,184,223,200,156,215, 5,124, 9,173,155,149, 74,229, 84,169, 84,154,194, 48,140, 93,167,211,
+ 29, 53,153, 76, 11, 1,236,190,202,107,126, 19, 29, 29, 61,190,186,186,154,103, 89, 22, 44,203,130, 97, 24,176, 44, 11,177, 88,
+108,168,171,171, 83, 95, 9,105,100,183, 81,175,115, 12,243,146,157,216, 23, 86, 28, 91, 51,195,223,126, 10,223, 5, 70, 34,145,
+ 60, 16, 30, 30, 30, 90, 89, 89, 73, 88,182,161, 43,159, 72, 36, 18, 22,194,181,213,213,213,125, 23, 40, 89, 88, 88,216,190,240,
+240,240, 80,225,124,134, 97, 80, 93, 93, 93, 91, 81, 81,113, 11, 0, 4, 5, 5,237, 84, 42,149, 17, 28,199, 65, 36, 18, 65, 36,
+ 18, 65,175,215, 87, 87, 87, 87,223, 70,111,197,223, 19, 43, 87,174, 20,141,136,127,170, 3, 71, 12, 61, 88,150,132,240, 60, 83,
+103, 99,228,191,111,184,248,205,217, 64,206, 31, 51,102,140,157,166,226,181,131, 84, 42,157, 27, 29, 29,253, 79,173, 86,171,103,
+ 24,134, 48, 12, 3,134,105,120,207,114,255,180,219,237, 37,213,213,213,189,253, 60,108,197, 82,169,116,118, 76, 76,204, 56,189,
+ 94,175,119,240,121,228, 5, 0,171,213, 90, 82, 85, 85,213, 59,160,186, 62, 50,114,161, 92, 46,127, 92,175,215,235, 24,134,225,
+221,220, 3,215,135,249,185,170,170,170, 1,254,132,129, 84, 42,253, 60, 58, 58,250, 31,142,184, 59,195,121,181,113,143,142,142,
+ 30,167,211,233, 2,226,244, 17,247, 38,156,173, 17,206,191, 40,231,245, 47,180,210,211,211,127,216,187,119,111, 39,177, 88, 12,
+ 0, 48, 26,141,221,231,207,159,255,196, 91,111,189,149, 5, 96,242, 21, 94,111,241,128, 1, 3, 30,201,205,205,101, 87,175, 94,
+205,246,233,211, 7, 12,195,192,110,183,195,110,183,163, 91,183,110,242, 43,141, 72,136, 82, 49,233,208,166,127, 7,221, 60,236,
+233,151, 42,128, 25,254,246,251, 18,152, 0,222, 5,144,210,204, 32, 84, 58,210,229,144, 23,177,177,139,101,217,102,113,242, 60,
+ 95,112,249,242,229,126, 62, 4, 76,139,115, 58, 68,214,131, 3, 6, 12, 8,201,201,201, 97,138,139,139, 25,185, 92, 14,158,231,
+ 97,183,219, 97,181, 90,113,211, 77, 55, 53,203, 9, 13, 13, 13, 85, 79,154, 52,169,195, 93,119,221,133,159,126,250, 9, 79, 60,
+241, 4,250,247,239,159, 95, 81, 81, 1, 0, 80, 42,149, 17, 39, 78,156,232, 20, 30, 30, 14,189, 94,143,186,186, 58,220,113,199,
+ 29,168,174,174,254, 91, 23,174, 91,211, 19, 62,100, 88,198, 57, 87, 20,177,217,107,246,254, 94,250,238,213,242,134,135,135, 31,
+146,201,100,209,126,213,178,203,131,204,104, 52,150,215,212,212,244,244,115, 74, 18,128,123, 68, 34, 81, 71,142,227, 58, 3, 72,
+178,217,108,209, 0, 32,145, 72,202, 69, 34, 81,145,213,106, 61,109, 54,155,207, 0,248, 47,124, 44,128, 60, 34,254,169, 14,140,
+ 77, 63,186,222,196,143, 84,180,207, 74,213,159,155,148,167,144,233,215,141,136,127,106, 85,160, 98,235, 79, 68, 42,128, 21,104,
+ 88, 80,250, 89, 52,204, 3,116, 53,136, 7,112, 47, 26,214,124, 76,182, 88, 44, 85, 0, 14,162,161, 31, 74, 62,128,196,200,200,
+200,101, 60,207,155,170,171,171,159,130,135,133,170,251,246,106,123,128,101,217, 4,193, 19,224,137,189,100,207,193,146, 22,121,
+ 64,177, 44,251,121,102,102,230, 63, 86,173, 90,165, 56,120,240,160,162,107,215,174,206, 23, 34,158,231,155,244, 49, 73, 78, 78,
+246,231,106,112, 44,203,206, 29, 61,122,244,163, 75,151, 46, 85,156, 63,127, 94, 17, 23, 23,231,228,116, 21, 91, 2,226,226,226,
+ 2,205,251,223, 12, 31, 62,124,236,146, 37, 75,196,107,214,172,145,183,105,211, 6, 17, 17, 17,144, 72, 36, 77,142,189,237,182,
+219,120,255, 81,103, 63,191,239,190,251,198,254,248,227,143,138,189,123,247, 42,186,117,235, 6,145, 72,116,213,113, 31, 53,106,
+212,163, 63,252,240,131,226,232,209,163,138,142, 29, 59, 66, 48, 21,220,249, 88,150, 69,219,182,109, 3,226,188,247,222,123, 31,
+ 93,177, 98,133,226,208,161, 67,138,206,157, 59, 59,211,147, 16,114,197,225,252,139,115,222, 16,142,150,212, 98,177, 96,219,182,
+109, 96, 89, 22,225,225,225, 24, 63,126, 60, 54,109,218, 52,105,243,230,205,217, 87,224,108,125,227, 16, 89, 98, 0,248,249,241,
+ 81, 40, 16, 3, 19, 42,204,144, 72, 36, 56,119,238, 28, 68, 34, 81,179,173, 69,153, 76, 54,142, 16, 50, 69,127,113,191,204, 96,
+176,194, 88,122, 64, 33,151,203,157, 15, 0,125,169, 99,255,165, 3, 10,185, 92,126, 78, 36, 18, 77,215,106,181,139,189,241,117,
+236,216,241,251,227,199,143,119,241, 84,112,125, 65,175,215,163, 93,187,118,137, 53, 53, 53, 29, 61,253, 47, 22,139, 19,206,159,
+ 63, 31, 37,149, 74, 65, 8,113, 22, 98,247, 79,225,187,197, 98,193, 77, 55,221,100,241,117, 77, 95,156, 54,155, 13, 65, 65, 65,
+ 16,220, 40,179,217, 12,173, 86,235,143,147,145, 72, 36, 15, 8, 34, 11, 0,150, 47, 95,142,152,152, 24, 68, 69, 69, 65,169, 84,
+ 66, 46,151, 59, 57, 3,133, 72, 36,194,136, 17, 35,240,254,251,239, 35, 43, 43, 11,111,188,241, 70,163,138, 86, 44, 22, 35, 60,
+ 60, 28,235,215,175,135, 90,173, 70, 98, 98, 34, 4,129,255,183,182, 5, 89, 38,124,247,129, 11, 78,135,246,206,219,187,112,183,
+246,228,190,116, 60, 42,193,178, 0,207, 55, 60, 58, 25, 6,196,102,229, 47, 31, 56, 90,250, 94, 0,233, 25, 87, 84, 84, 20, 21,
+104, 26,217,108, 54,196,197,197,137,252, 28, 54, 50, 45, 45,237,231,231,159,127, 94,210,177, 99, 71, 70, 34,145,128,227, 56,112,
+ 28, 39, 8,244, 68, 66, 72, 34,207,243,131,203,203,203,201,252,249,243, 63,222,186,117,235,253, 0,214,121,172, 88,136,161, 71,
+189,137, 31,185,253, 48,110, 25, 61,236, 45,172, 95, 57,233,150, 1,233, 60,130, 21,134,179, 0,254,202, 66, 43, 53, 45, 45,237,
+240,222,189,123,131, 44, 22, 11,250,246,237,187, 39, 47, 47,175, 23,174,108, 6,247, 48, 0,159, 77,158, 60,121,236,243,207, 63,
+ 47, 10, 13, 13,133, 84, 42, 69,125,125, 61,206,158, 61, 59,238,187,239,190, 35, 95,125,245,213,255, 1, 8, 46, 42, 42,202,216,
+183,111, 31,134, 12, 25,242, 50,128, 87,155, 42, 2, 81,194,206,125,133, 81,194,239,123, 71,116,151,100,244,102,203, 27, 92, 28,
+247,163, 9,120, 59, 95,178,239,200,197, 64,132,216,199,163, 70,141,122,108,213,170, 85, 42, 0, 88,176, 96, 1, 30,120,224, 1,
+132,135,135, 67,161, 80, 64, 34,145, 64, 44, 22, 55,250,244,243,176, 21, 1,248,248,225,135, 31, 30,189,116,233,210, 96, 0, 88,
+186,116, 41, 70,141, 26,133,136,136, 8, 4, 7, 7, 67, 42,149, 66, 36, 18, 53, 59, 49,195,195,195,191,233,127,203, 45, 79, 46,
+ 89,178, 4, 0,240,206, 43,175,224,174, 91,111,133, 74, 33,135, 66, 46,133,144, 22, 82,145, 24,119, 78,120,201,175,190, 4,240,
+233, 3, 15, 60,240,208,143, 63,254, 24, 12, 0, 7, 15, 30, 68, 69, 69, 5,162,163,163, 33,151,203, 33,149, 74,157,113,102, 24,
+ 6,114,185, 60,160,184, 63,240,192, 3,163,127,248,225,135, 96, 0, 88,188,120, 49, 70,140, 24,225,140,187, 76, 38,131, 68, 34,
+105,180,185,139, 78, 79,156,247,223,127,255,232, 21, 43, 86, 4, 3,192,119,223,125,135, 97,195,134, 33, 44, 44,204,153,158, 2,
+ 87,115,238,209, 95,156,243,198, 16, 90,135, 15, 31,126, 80,169, 84,206, 2, 16, 41,149, 74, 67, 31,125,244,209,182, 79, 62,249,
+ 36, 30,126,248, 97,108,222,188,249,153,102, 10, 45, 38, 58, 58,122,124,110,110,174,243, 9,109, 38, 77, 4, 83,179, 31,224, 14,
+ 76, 57,240,204, 51, 49, 89,103,181,216,179,239, 52,130,192, 50,251, 62,253, 52,210,120,230, 12,236,102, 51, 62, 56, 87,223,176,
+223, 70,152,109,175, 77,136,185,121,238,255, 77, 1,176,216,135, 11, 32, 51,153, 76,200,207,207,111, 86, 32,138,139,139,193,243,
+188,201,151,187, 32,145, 72,112,236,216,177,128, 70, 33, 36, 38, 38,250, 42,128,126, 57, 55,108,216,128,137, 19, 39,226,244,233,
+211, 16,150, 42, 9,128,147, 9, 15, 15, 15, 21, 68,150, 32,130,228,114, 57,196, 98, 49,195,113, 28, 35, 52,237, 57, 10, 87, 64,
+194,152,101, 89,124,255,253,247,248,232,163,143,240,230,155,111, 98,225,194,133,232,209,163,199, 31,153,144,227,160,209,104, 16,
+ 22, 22,134,176,176,176, 70, 2,241,239, 12,247,219, 60,123,206, 60, 5,120,210,208, 9,132,240, 0, 15, 16, 16,240,132, 71,249,
+197,179,152,250,254, 39, 1, 63,125,196, 98, 49,206,156, 57,227,204, 7,130, 51, 44, 8, 35, 87,215, 32, 41, 41,201,111, 94,146,
+ 72, 36,211,126, 42,220,225,142, 0, 0, 32, 0, 73, 68, 65, 84,253,245, 87,233,247,223,127,143, 31,127,252, 17, 12,195, 64, 38,
+147, 65,169, 84, 34, 52, 52, 20, 17, 17, 17,206, 45, 33, 33,129,249,207,127,254, 35,233,209,163,199, 52,141, 70,179,206,243, 61,
+ 39, 33,138,246, 89,169,163,135,189, 5, 0, 24,253, 22,193,229,252, 25, 55,179,181,239,253,149, 23,145, 77,237,222,189,251,142,
+ 93,187,118, 5,233,245,122,240, 60,143,117,235,214, 41,134, 13, 27,182,189,176,176,112, 64,115,197, 86, 82, 82,210,154, 93,187,
+118,221, 22, 25, 25,137,186,186, 58,104, 52, 26, 88,173, 86,136, 68, 34, 36, 38, 38,226,227,143, 63,102,238,187,239,190, 23,199,
+141, 27,103,148,203,229,130,179,145,228, 57, 47, 53,206, 76,243,191,248, 50,148,144,134,252, 67,120,210,232,179,166,162, 8,175,
+188, 54, 53,160, 48,182,109,219,246,217,159,126,250, 73,229,234, 44,185,138, 0, 87,145, 37,108,126,132, 1,219,174, 93,187, 39,
+151, 45, 91,230,228,108,211,166, 13, 56,142,131, 88, 44, 6,199,113, 96, 89, 22,219,183,111,199,172,105,147, 17, 22, 25,135,121,
+ 95, 44,240, 27,206,200,200,200,133, 35, 70,140,120,124,241,226, 63,170,238,238,237,219,227,238,219,110, 69, 84, 27, 53,218,132,
+ 5, 55,164, 19,207,224,247,211,133,126,159, 71, 0,216,182,109,219, 62,181,114,229, 74,149,235, 11,161, 16, 87,225,229, 89,112,
+241,205,102, 51,122,247,238, 29, 80,220, 93, 57, 5,183, 77, 16,109, 66,122, 10,215, 17,202,171,159,112, 62, 41, 8, 97,135,224,
+108,196, 33, 22,139,177,114,253, 18,175,110,246,149,114, 54,247,190,187,115, 22, 21, 21, 97,230,204,153, 16, 94,218, 92,187, 10,
+197,199,199, 99,222,188,121,126,235, 37,183, 50,208, 7, 64,164,203, 46, 51, 0,169,203,103, 37,195, 48,251, 61, 28, 39,236, 23,
+ 59, 90,172, 34,209,208,111,172, 30, 64,168, 7, 62,111, 60, 85,142,103, 94,164,219,241,141,174,227, 85,104,101,103,103, 11,165,
+120,112,102,102,230, 54,199,247, 90,153, 76, 86,172, 80, 40, 98, 0,212,175, 91,183, 14,255,250,215,191,224,176, 86,239, 13, 9,
+ 9, 57,238,193,213, 57,108, 50,153,222, 2, 80,238,216, 37, 12,209,100,107,106,106,248, 77,155, 54,177, 75,239, 31, 14, 51, 1,
+210,167,204,194,136,204, 76,108,136,151, 66, 4,224,150, 83, 85, 80, 40, 20,156, 70,163,177,186,246,219,242,208,119, 43,199, 45,
+ 67,137,130, 56, 14,125,119,172,197,196, 29,107,113,139, 82,138,234, 85, 43, 80,191, 51, 23, 44,203, 96,160,178, 13,222,120,108,
+ 19,250,169,101,144,154,116, 96, 89,214, 83,206,118,114,230,231,231,143, 81,171,213,179,220, 18, 56, 16, 20,160, 97, 29, 39,120,
+ 9, 39, 8, 33,232,209,163, 7, 24,134,113,186, 5,194, 38, 20, 58, 97, 59,116,200, 99, 11,164, 87, 78, 71, 19, 28,148, 74, 37,
+126,251,237, 55,231, 49, 67,135, 14,133,209,104, 68,120,120,120, 64,156,149,149,149,164,180,180,148, 89,186,116, 41,196, 98, 49,
+ 34, 34, 34,160, 80, 40,152, 37, 75,150, 76,150, 72, 36, 9, 70,163,145, 55,155,205,144, 74,165,243,132,251,195,113,156, 78,163,
+209, 68,120,227, 20,137, 68,120,254,249,231,241,250,235,175, 99,225,194,133,120,230,153,103,154, 56, 94, 70,163, 17,109,218,180,
+113,138, 45, 15, 5,176, 53,134,251,182, 46, 39, 79,112,252,208, 6,156, 56,154, 3,222,206,195,206, 19, 16, 98, 7,111, 3, 14,
+110,218,211,233, 82, 65,105, 60, 1,105,232,122, 11, 64, 86,167,181, 13,138,144,118, 6,176,122, 91,181,121,174,191,112,114, 28,
+ 7,163,209,136, 95,127,253, 21,167, 78,157,194,186,117,235, 96, 48, 24,208,166, 77, 27,132,134,134,226,214, 91,111,197,184,113,
+227,144,148,148,228, 55,238,132,144,197,197,197,197,233,253,251,247,103,106,107,107, 81, 91, 91, 11,131,193, 0,187,221, 14,155,
+205, 6,142,227, 16, 20, 20, 4,185, 92,142,232,232,104, 24,141, 70, 98, 50,153, 22,123,227,228,121,166, 78,127,110, 82,222,250,
+149,147,110, 25,253, 22,193,170,143, 24,116,104, 39,211,255,118, 32,248,201,213, 59,222,184, 3, 0,225,137,211, 90, 32, 86, 59,
+ 95,245,250,228,207, 94,188,230,247,168,169,200,138, 48, 24, 12,168,175,175,111,176,245,165, 82,172, 90,181,170,205, 61,247,220,
+147, 91, 90, 90, 58,208,135,216,106,194, 25, 28, 28,156, 40, 18,137,112,236,216, 49,124,245,213, 87,248,237,183,223, 80, 94, 94,
+126, 57, 46, 46, 46,100,240,224,193,236, 43,175,188,130,244,244,116,124,251,237,183, 65,254, 56, 9, 33, 40,202,223,142,162, 51,
+ 59,192,243, 13,174,117,195,230,249, 59, 9, 48,238, 58,157,206,120,248,240, 97,213,215, 95,127,141,168,168, 40, 36, 39, 39, 67,
+161, 80, 32, 40, 40,168,209, 67,214,245,193,235,175,108, 26, 12, 6, 99, 81, 81,145,234,135, 31,126, 64, 68, 68, 4,146,146,146,
+160, 80, 40, 32,149, 74,193,113, 28, 24,134,193,210,165, 75,177,252,253,199, 80,116,250, 40, 70,221,125,135,223,112, 42, 20,138,
+199, 23, 47, 94,220,200, 2,137, 14, 11, 3, 39,102, 33, 18, 51, 8, 27,122, 63, 0,224,242,230, 95,124,205, 14,233,202,201,212,
+215,215, 27,247,238,221,171, 58,112,224, 0,120,158, 71, 82, 82, 18,244,122, 61,212,106,181, 51,254,155, 54,109,194,125,247,221,
+135,239,191,255, 30, 25, 25, 25,126,227,174,213,106,141, 71,143, 30, 85, 45, 91,182, 12,225,225,225,104,219,182,173, 51,238,194,
+ 38, 22,139, 33, 18,137,144,146,146,130,186,186, 58,168, 84, 42,191,247,232,224,193,131,170,101,203,150, 33, 44, 44, 12, 9, 9,
+ 9, 78,199, 77, 16, 71, 31,125,249,126, 35,130, 32, 38,246,170, 57,155,123,223,221, 57, 71,141, 26,133, 14, 29, 58, 64,173, 86,
+ 67,169, 84, 58,185,125,113,122,209, 34, 78,189,205, 48, 76,182, 75,153,200,100, 24, 38,219,245,211,219,113,142,175, 3, 39, 79,
+158,220, 59, 43, 43,107,102, 70, 70,198, 15,187,118,237, 90,238,141,207, 27,207,228,201,147,211,178,178,178,102,186, 30,239,225,
+ 58,222, 29,173,204,204, 76,198, 17, 73, 6, 64,114,175, 94,189,246,111,222,188, 57, 60, 56, 56,216,121,240,133, 11, 23, 80, 91,
+ 91,139,224,224, 96,245,236,217,179,213,131, 7, 15, 70,116,116,180,243, 13, 32, 63, 63,255,166,212,212, 84, 13, 0,119,223,150,
+103, 89, 22,253,250,245,195,113, 71,107,199,136,204, 76, 36, 36, 36, 56, 59,121, 4, 5, 5,225,197, 23, 95,100, 38, 78,156,200,
+ 9,110, 6, 33, 4, 6,131, 1,177,177,177,114, 95,174, 14, 0,164, 25,170,240,203,224,129, 96, 25, 64,127,104, 31, 36, 82, 6,
+172,136, 65, 79, 82,141,255, 13, 25, 8, 6,128,249,200,110, 4,224,194, 28, 2,112, 71,235, 56, 28, 4,103,207,158, 13,200,209,
+114,196,139,185, 82, 78,193,209,216,181,107, 23,236,118,123,160,156,132,101, 89, 40,149, 74,196,196,196, 64, 46,151, 67,161, 80,
+ 48, 63,252,240,195,187,201,201,201,177, 19, 39, 78,100, 53, 26, 13,219,175, 95, 63, 60,240,192, 3,156,208,196,153,150,150,230,
+ 55, 46,219,182,109,195, 87, 95,125,133,103,158,121,198,163,163,197, 48, 12, 34, 35, 35,161, 86,171,113,189,128, 7, 96,177, 89,
+161,215, 26,156, 77,186,118,187, 29, 71,183, 30,233, 84,112, 36, 63, 45,251,135,239,197, 0, 96,220,250,139,235,105,177, 15,124,
+185, 34,117, 80,152,120,239,182,203,214,189,190,242, 60,199,113, 24, 63,126, 60,178,178,178,240,248,227,143, 99,221,186,117,120,
+239,189,247,240,207,127,254,179,137,171,229,239,205,209,106,181,254,251,137, 39,158,120,102,213,170, 85,157,223,122,235, 45, 86,
+112,180, 20, 10, 5, 24,134,129,209,104,132,201,100,130,193, 96,192,233,211,167,249,167,159,126, 58,207,108, 54,255,219,107,115,
+ 37, 35,255, 93, 33,211,175,107,159,192,118,208, 21,126, 18,220,255,214, 36, 3, 35,239, 85,119,127,234, 48, 50,114,124, 82, 24,
+ 8, 1,225, 1,158, 0, 38,147, 14, 47,190,248,178,232, 79,188, 85, 78,145,101, 52, 26,113,248,240, 97, 12, 25, 50, 4,197,197,
+197, 56,121,242, 36, 58,117,234,132, 37, 75,150, 68, 62,250,232,163,185, 21, 21, 21, 3, 3,117,182,142, 30, 61, 58,249,230,155,
+111,254, 92,171,213,214,104,181,218,207, 1, 44, 7, 80,123,246,236,217,174,103,207,158,157,191, 97,195,134, 1, 83,167, 78, 21,
+185,245,209, 17,121,179, 71,173, 86, 27, 12, 6,147, 79,129, 37,252, 38,132, 15, 40,226, 12,195,144,206,157, 59,227,158,123,238,
+129, 88, 44,134, 66,161,128, 74,165,106,212,108,230, 46,184,124,213, 31, 0,120,134, 97, 16, 23, 23,135,145, 35, 71, 66, 34,145,
+ 52,226, 20,242,225,200,145, 35,241,210, 7, 83,240,239,151,110,199, 87, 79,116,194,176, 15,203,125,134, 83,175,215,107,183,108,
+217, 34,127,253,153,103,112,115,199,142,104,163, 86,163, 93,116, 36,228, 50, 41, 36,174, 97, 98, 2, 50,217, 9, 0, 94, 36, 18,
+161, 91,183,110, 40, 47, 47, 71, 97, 97, 33, 10, 11, 11,193,178, 44,250,247,239,239,116, 97,206,156, 57,131, 15, 62,248, 0, 38,
+147, 41,224,184,119,236,216, 17,183,223,126, 59,164, 82, 41, 20, 10, 69,163, 38, 67, 33, 77,235,235,235,209,161, 67, 7,172, 94,
+189, 26,169,169,169,126, 57,187,116,233,130, 65,131, 6, 53, 74, 79,185, 92,238, 20, 69, 0, 80,188, 87,235,188, 70,124,124,124,
+179, 56, 55,238,187,128,175, 55,109,129,201,204, 67,163,183, 54, 58, 33,182,141, 26, 59,150,189, 21, 80,220, 5,206, 69,139, 22,
+161,182,182,214,105, 28, 8, 47,229,130,137,210,182,109, 91, 44, 88,224,217,201,116,211, 34,158,158,121,153, 1, 62,111,133,227,
+132,204, 37,203,202,202,154,233,126,190, 63, 62,215,255,221,206, 55,187,137,179,242,102, 53, 29,202,100,178,183,183,108,217, 18,
+ 94, 87, 87,135, 51,103,206,128,101, 89,103,155, 58,199,113,176, 88, 44, 56,119,238, 28,194,195,195, 81, 81, 81, 1,153, 76, 6,
+145, 72, 4,179,217, 12, 0, 61,189, 61,192, 9, 33,120,169,178,161,139,208,250, 56, 9,138, 0,220, 93,217, 80, 48,132, 14,241,
+ 63,253,244, 19, 84, 42, 21,130,131,131,157,159,254,154,145,142, 22,158, 69,185,152, 1,187,123, 59, 24, 22, 96, 25,128, 17, 1,
+ 44, 75,192, 50, 12,216,221,185, 96, 24, 64, 25, 17,214,220, 10,216, 95,199,120,159, 29,224,189,185, 79,158, 92, 44,247,239, 91,
+183,110, 69,160,156, 29, 58,116,128, 74,165,114,110, 27, 54,108,104,228,104,217,237,118, 68, 68, 68, 4,194, 73, 26,220, 8, 30,
+ 81, 81, 81,255,207,222,117,135, 71, 81,181,223, 51,179,125, 55,201,102,211, 19, 18, 66, 9, 32, 37,210, 20, 62,144, 94, 2, 8,
+161,137, 20,249, 32,136,136, 82, 68, 5,137, 8,252, 80, 1, 9, 77,154, 84, 65, 62, 2,130,116,233, 82, 68, 58, 88, 64, 65, 18,
+ 8,132, 18, 72,223,212,237,101,218,239,143,236,198,205,102,147,108,138, 32, 56,231,121,230,217,157,118,230,222,185,119,238,156,
+251,222,247,190, 3,145, 72, 68,108,221,186,245,147,250,245,235,135, 76,157, 58,149, 20, 8, 4,184,118,237, 26, 18, 18, 18, 80,
+183,110, 93,183,125,182, 10, 10, 10, 50, 62,249,228, 19,230,147, 79,138,230, 80, 68, 70, 70,162,160,160, 32,219,190, 95,163,209,
+228,246,234,213,171,132,223, 70, 78, 78,206,179,237, 9,111,187,143,180,149,134,193,100,130, 78,107, 40,182, 14,101,167,103,169,
+ 62,158,246,161,104,233,228, 55, 1, 0,211, 86,172,134,118,195, 95, 13,217,254,105, 35, 2, 7,127,185,115, 6,128,129,229,241,
+235,116, 58,152, 76, 38, 68, 68, 68,224,210,165, 75,208,106,181,232,211,167, 15, 8,130, 40,158, 33, 90, 9, 88,210,210,210, 58,
+ 68, 71, 71,255,186,124,249,242,136,166, 77,155, 18,122,189, 30, 6,131, 1,142,191, 55,110,220,224,118,236,216,113,223, 96, 48,
+188, 98, 51,157,187,196,241,180,111,146,123,135,190,181,231,199,107,130,232,192, 6, 73,202,180,252, 8, 58, 55, 77,170,215, 24,
+111,155, 24, 46, 1, 28, 3, 48, 96,193,209, 44, 24,219,176,215,211,130, 92, 46,255,234,194,133, 11,126, 38,147, 9, 87,175, 94,
+197,168, 81,163, 44, 57, 57, 57, 18, 0,248,239,127,255,107,217,182,109,155,164, 65,131, 6,216,186,117,107,192,107,175,189,182,
+ 91,175,215,191,232, 38,245,183, 25, 25, 25,223, 58,111,244,243,243, 91,245,232,209,163,174,142, 62, 63, 52, 77, 23, 39,199,229,
+131,201, 2, 20, 69,193,104, 52,163,176, 80, 11,139,149,178,181,153, 44, 24,134,182,253,178,160,109,237,168, 68, 44,244,106,253,
+ 98,176,142,227, 56,144, 4, 81,112,245,207,204,218,229,137,118, 87, 67, 92,110, 90,179,156,193,216,103,153,249,249,249, 65, 36,
+ 18,225,219,111,191,197,245,139,199, 33, 17,112, 96,104, 10, 52,101, 5, 67, 89, 32, 18, 8,240,227,181, 7,136,106,226,229,150,
+ 32,244,247,247, 71,191,246,237, 17,221,190,125,209,244, 54,161, 16,158, 82, 41, 20, 98, 89,145, 37, 11, 0,199,144,238, 6, 17,
+ 96,237,233, 12, 10, 10,194,111,191,253,134, 41, 83,166, 96,209,162, 69,144,203,229,197,179,159,111,221,186,133, 93,187,118, 33,
+ 42, 42,170,210,121,183, 91,240,102,204,152,129,244,244,116,172, 88,177, 2, 47,189,244, 18, 68, 34, 17, 10, 10, 10,240,202, 43,
+175, 32, 43, 43,203, 45, 78,199,225, 61,137, 68, 82,194,250,100, 23,128,149, 45, 35, 71,206, 55, 7,133,224,224,197, 29, 32, 64,
+224,202,246, 15, 75,136,194,117, 59,207, 87,154,115,206,156, 57, 37,210,233,142, 53,203, 93, 56, 89,157, 42, 60,142, 32,136,171,
+118, 99,235,140, 25, 51,102, 18, 4,113,120,198,140, 25, 51,227,226,226,110,186,195,231,106, 63, 65, 16, 71,108, 34,172,159,195,
+182,171,149, 18, 90, 10,133,162,173,167,167, 39,238,222,189,139, 62,125,250, 88,114,115,115,147, 68, 34, 81,163,156,156, 28,105,
+118,118, 54, 12, 6,131,110,222,188,121, 15, 0,200,219,181,107,215,224,199, 31,127,196,227,199,143,177,109,219, 54, 0,216,239,
+218,103,131, 4,203,178,197,149,194,185,219, 38, 16, 8,112,249,242,101, 92,190, 92,210,245,107,211,166, 77, 21,190, 48, 94,251,
+254, 16,174, 93,187, 6,199,240, 0,246,255,142,219,100, 50, 25, 80,254, 12,143, 18,168,200, 49,190, 34, 7,120, 87,112,215,247,
+203,213,204,156,178,144,150,150, 86,230,249,151, 47, 95, 46, 97,209,170,136, 83, 32, 16,128, 97, 24,200,229,114, 66, 44, 22, 19,
+ 98,177, 56,204, 46,178, 4, 2, 65,241, 3, 35,149, 74, 33,149, 74, 75,244, 82,203, 66,122,122,122,183,244,244,244, 50,247,171,
+213,234, 14,106,181, 26,207, 35,172, 20, 5,163,193, 2,173,206,136,207,227,254, 87,180,241,115,252, 12,224,231, 14,239, 78,193,
+196,222, 81,221, 43, 59, 76,109,191,223,129,129,129, 56,123,246, 44, 8,130,192,238,221,187,225,237,237,141,222,189,123, 67,169,
+ 84, 98,198,140, 25, 24, 58,116,104,101, 27,179,194,220,220,220, 14, 31,124,240,193,175, 75,150, 44, 9,175, 93,187, 54, 44, 22,
+ 11,172, 86, 43, 44, 22, 11,146,147,147,177, 99,199,142,199, 6,131,161, 3,128,194,138,200,142,167,125,147,188,239,220,180,244,
+158,195, 95, 51,222,202,250, 1,153,153,185,160,233, 52,176, 12, 13, 43,205, 20, 89,248,104, 26, 52,205, 64, 44, 22, 40,151,124,
+241,225, 73, 22, 28, 72,146,176, 0,120,245, 73,149,145, 74,165,138, 84,171,213,184,115,231, 14, 98, 98, 98, 50,115,115,115, 19,
+ 1,244, 0,128,220,220,220, 11,163, 70,141,106, 26, 31, 31, 31, 92,175, 94, 61,120,122,122, 42,245,122,125, 69,148,158, 0, 38,
+ 2,232,133, 34, 63, 16, 59,242, 0,204, 35, 73, 82,122,245,234,213, 82, 51,237,206,157, 59, 7, 0, 63,187,238, 1,217, 44, 90,
+ 38, 19,212,185,249, 24,247,238,236,191,122, 70,224, 74,136, 11, 14, 28, 38,188, 7, 25, 0,228,100, 37,227,205,113, 83,164, 21,
+117, 8, 92,189, 8, 43,225,163, 83,162,163,102,175,163,158,158,158, 69,195,111, 7,118,224,200,151,239, 2,140, 21, 28,101, 4,
+172, 6,192,170, 3,107, 49,128, 16,203, 1,202,232,150,208,242,244,244,132,167, 92,142, 64,149,170, 40, 8,164, 64, 0,145, 72,
+ 8,150, 2, 8,134, 40, 22,164,172,123,129, 65,138, 59,149,114,185, 28, 15, 31, 62,196,196,137, 19, 97,181, 90, 49,104,208, 32,
+ 88, 44, 22,152, 76, 38, 24,141, 70,212,175, 95, 31, 6,131,193, 45, 62,251,108, 69, 79, 79, 79,136,197, 98,124,248,225,135,120,
+249,229,151, 49,119,238, 92,196,198,198,162,126,253,250,152, 48, 97, 2,118,236,216,129,200,200,200,138,120, 57,199, 50,178,223,
+ 79,187,216,114, 28,226, 3, 80,233, 50,114,230, 36, 8,178,132, 96,179, 47,239,143,238, 81,105,206,133, 11, 23, 66,173, 86,151,
+178,100,217,255,135,134,134, 98,237,218,181, 85, 29, 25,178, 91,143,130, 92,236,235,231,108,137,226, 56,174,141,205,119,202, 28,
+ 23, 23,119, 51, 46, 46, 46,154, 32,136,195,113,113,113,209,101, 89,180, 92,241,184,216,239,246, 75, 75,232, 52, 54,218,213,113,
+167,253, 70,251,250,250, 10,194,195,195, 73,165, 82,137,130,130, 2, 4, 4, 4,112,106,181,122,184, 66,161,248,236,187,239,190,
+107,160,211,233,112,235,214, 45,172, 90,181,234,103, 0, 43,203, 19, 90, 71, 3,108,166, 99,155, 37,203,113,189,127,255,254,168,
+ 87,175, 94, 9,107,150, 92, 46, 47,183,242,216,247,217, 45, 66, 2,129, 0, 47,188,240,130,252,254,253,251, 70,177, 88,140,176,
+176, 48,121,102,102,166, 81, 44, 22, 87,122,166, 75, 69,142,241, 21, 57,192,187, 18, 62,109,218,180, 41, 97,193,114,252,117,252,
+127,240,224,193, 10,135, 14,237,156, 77,155, 54, 45,190, 95, 94, 94, 94,246,115, 1, 0,125,250,244, 1,203,178,240,247,247,119,
+139,211, 46,106,109, 14,240, 48,153, 76,172, 86,171, 37,175, 94,189, 10,137, 68, 2, 47, 47,175, 98, 95, 29,153, 76, 86,108,205,
+228,225,170, 65, 96, 97,161, 40, 24,141, 70,232,116, 58, 0, 64,242,159,123, 75, 10, 49,179,166,202,252,246, 6, 54, 47, 47, 15,
+199,143, 31,199, 15, 63,252,128,151, 95,126,217,165,168,174,132,224, 82,231,229,229,117,156, 62,125,250,149,249,243,231,215,242,
+245,245,133,213,106,197,163, 71,143,176,121,243,230,116,131,193,208,177, 50, 13, 12, 56,128,162,104,152, 12,102, 20,106,180,248,
+236,139, 45,101, 86, 61, 0,200,203,190,141,254, 3,134, 74,158,100, 57,165,167,167, 79,237,216,177,227, 23, 90,173,182,192, 96,
+ 48, 12, 5,176,212,177, 63,149,155,155,219,105,192,128, 1,203,125,125,125, 95,202,206,206,158,233, 6,229,140,135, 15, 31,206,
+172, 83,167, 78,137,141,102,179, 25,117,234,212,121, 33, 59, 59,123,100,231,206,157,255, 15,128,175,195,110, 47, 0, 39, 0,172,
+ 45,171, 46,217,135, 14,117, 58, 35,148,170, 16,164, 61, 56, 91, 97, 66,196, 2, 19, 56,150, 45,183, 13,177,119,128,203, 90, 42,
+152, 25, 87, 42,169,246, 99,237, 47,236, 87,135,140,198,171, 19, 23, 66, 33, 2, 22,188,217, 1,245, 85, 0,228,190, 16,119,254,
+ 24,132,202,118,143, 38, 30,114,139, 60,118,253,122, 92,179,181,199, 97, 1, 1,152, 62,124, 56, 56, 10,184,148,144,128,157, 63,
+253,132,225,221,186, 65, 33,147,185,221, 97, 97, 89, 22, 98,177, 24,201,201,201,184,116,233, 18,154, 52,105,130,187,119,239,150,
+ 8, 67,193,113,156,187,249, 47,206,187, 84, 42,133, 72, 36, 66,102,102, 38,162,163,163, 33, 22,139,177,101,203, 22,156, 61,123,
+ 22,211,167, 79,199,216,177, 99,209,181,107, 87, 36, 38, 38,186,197,201,113, 92,169,217,138,206,195,185,149, 45, 35,103, 78,231,
+247,126, 85,202,221,206, 57,127,254,124,151, 19, 42,220,225,116,165, 69, 92,148,221, 85, 71, 49,100,183, 60, 57, 10, 35,231,117,
+ 0, 62,246,109, 51,102,204,152,233,238,121,142,235,118,139, 88,101,134, 48,139,133, 86,116,116,116,137,156,231,229,229, 93,185,
+114,229, 74, 51, 15, 15, 15,220,190,125, 91,162, 84, 42,155,217, 27,116,146, 36,177,123,247,110,175,190,125,251,158, 92,186,116,
+105, 24,203,178,200,202,202,194, 71, 31,125,164,163,105,122, 4, 0,186,172, 23,120, 69,150,169, 67,135, 74, 63,108, 7, 14, 28,
+112,107, 8,196, 46,164,132, 66, 33,124,124,124,140, 70,163, 17, 10,133, 2, 62, 62, 62, 70,131,193, 0, 15, 15, 15,251, 88, 49,
+137,191,102, 42, 84,100,125,170,200, 49,222,217, 1,190, 66, 36, 36, 36,184,117,156,109,168,213,173, 90,254,240,225,195, 50, 27,
+146,179,103,207,130,181, 53,180,238,114,218,122,121,156, 93,248, 41, 20, 10,248,250,250, 66, 42,149, 66, 46,151,151, 16, 89, 82,
+169,180,194, 7,167,162,128,164, 50,153,236, 23, 15, 15, 15,149,125,191, 72, 36,130, 86,171, 45,200,203,203,107,251, 76, 15, 29,
+130, 3,109,165, 97, 52,154,160,211, 26,107,156,223, 98,177, 64, 42,149, 98,199,142, 29,232,208,161, 3,218,181,107, 87, 74,100,
+ 85,209, 60,159,154,151,151,215,117,229,202,149, 63, 47, 91,182,204, 71,167,211,225,127,255,251, 95,161, 78,167,235, 10, 32,181,
+ 82, 98,147,229, 64, 89,173, 48,152,204,208,235,138,238,193,189,155,123,255,105, 69,181, 35, 51, 51,115, 71, 57,251,239,209, 52,
+ 29,109,143,251,230, 6,254, 83,167, 78, 29,100,102,102,150,216,152,146,146, 2,134, 97,204, 40,138,147,245,150,163, 33, 25,127,
+ 69,207, 46,171, 23, 95,100, 29, 53,154,161,211, 21, 89, 65, 76,250,156,154,169,167, 54,177, 81,150, 79, 86, 85,234, 16, 65, 16,
+197, 78,223,147, 39, 79,198,141,235,215,209,163,150, 6,245,131,189,192,105,210, 32,238,254, 41,254, 80,203,177,116,249,209, 74,
+115,239,114,112,129, 88,186,107,151,203,125,247, 6, 14,172, 84,222,147,146,146, 32,151,203,193, 48, 76,169,247, 77,101,243,239,
+ 40, 96,150, 47, 95,142,233,211,167, 99,203,150, 45,184,113,227, 6, 90,182,108,137,158, 61,123, 34, 59, 59, 27,215,175, 95,135,
+217,108,118, 59,157,142,126,115, 73,247, 19,112,234,210, 49,164,164, 62, 64,122,230,227, 42,151,187, 35,167,179,208,218,119,234,
+119, 12,137,106, 93, 37,206,207, 62,251, 12,217,217,217, 37, 44, 89,142,237, 82, 89, 22, 45,103, 45,226,132, 28, 39, 95, 40,251,
+186,197, 73,244, 56,175, 59, 31, 15, 0,217, 0, 4, 21,156,231,188,158, 19, 23, 23,119,198,110, 9,179,241, 10, 42,242,207, 42,
+ 97,209,114,194,194,129, 3, 7, 14, 88,181,106, 85,128, 76, 38, 43,158,129, 52, 99,198, 12, 76,159, 62, 29, 17, 17, 17,240,247,
+247, 15, 85,169, 84,200,205,205,197,162, 69,139,240,240,225,195,241,112, 17,104,207, 89,104,117,186,175,133, 68,242, 87,135,213,
+110,217, 2,128,177, 99,199,150,178,104,217, 11,168, 60, 80, 20, 5, 63, 63, 63, 24, 12, 6, 8, 4, 2, 12, 26, 52, 72,240,231,
+159,127, 50,189,123,247,198,224,193,131, 5,215,175, 95,103,250,245,235, 7,129, 64,128,238,221,187,107,246,237,219, 55, 13,192,
+151,110,136,173, 26,115,140,183, 87, 50,119, 99, 31,185, 35, 46,203,227, 36, 8, 2, 6,131, 1, 66,161,176,216, 81,222, 29, 78,
+251,208,161,227, 3, 72,146, 36, 84, 42, 85,113,227, 97,183,104,217,133, 86, 69,188, 21, 5, 36, 85, 40, 20,202,219,183,111, 55,
+176, 79,188,200,201,201, 65,247,238,221,239,228,229,229, 61,219, 38, 45, 22,176,210, 12,116, 70, 19,116, 70, 67,141,209,218,159,
+135, 13, 27, 54, 32, 49, 49, 17, 38,147, 9, 95,125,245, 85,241,164, 2, 71,145, 85, 13,193,149, 44,151,203,217, 62,125,250,224,
+202,149, 43,144, 74,165, 20,170, 16,255,138,229, 88, 88,105, 26, 38,163, 17,186,138,135,220,158, 23, 20,171,234,196,196, 68, 88,
+ 44, 22,204,157, 59,151,249,245,215, 95,207,160, 40, 0,170,221,130, 55,178, 75,151, 46,243, 60, 60, 60, 84, 71,142, 28,121, 31,
+192,150,242, 94,222, 20,109, 19,237, 53,120, 31, 29, 71, 4, 92,249,100, 85, 37,204,138,227,139,149,101, 89,140,127,251,109,244,
+172,165,193,224,151, 2,160,207,184, 3,133,119, 0, 8, 85, 93, 44, 93,126, 20, 55,239,187,237,138,201, 1, 64,159, 46, 3,209,
+162, 73,233,240, 96, 29,123, 20,245,201, 46,252,248, 11,178,114,210, 43,157,119,189, 94, 95,166,229,170, 18, 22,173,226,103,206,
+126,255, 90,181,106,133, 70,141, 26,225,204,153, 51,104,221,186, 53,238,222,189,139,187,119,239,226,225,195,135,184,113,227, 6,
+242,243,243, 43, 93, 70,223,159,216,137,124,109, 30, 36, 98, 9,242, 10,114,144,146,246, 0, 65,126,193,213, 46,119, 59, 26,247,
+251, 12, 0, 80, 43,192,187, 82, 66,203,145,115,241,226,197,165,196,123,117, 67,246, 16, 4,241, 75,121,235,149, 61,255, 73,162,
+ 44,161,245, 64,173, 86,183, 27, 62,124,248, 12, 0,109,108,219, 10, 1,236, 58,121,242,228,192,192,192,192,110,237,219,183, 23,
+ 74, 36, 18, 92,186,116, 9,251,246,237,219, 2, 96,103,121, 23,146, 72, 36,198,186,117,235,202,237, 21,209,254, 32, 42,149, 74,
+193,162, 69,139,136, 77,155, 54,149,105,229,170,168,128, 10, 11, 11,161,215,235,225,237,237, 13,171,213,138, 62,125,250, 48,137,
+137,137, 16,139,197, 24, 48, 96, 0,147,144,144, 80, 92,208, 27, 55,110, 12, 51, 26,141,175,252,240,195, 15,189, 0,116,174,196,
+189,178, 59,198,123,194, 77, 7,248,178,122,121,238,192,221,225,184,178, 56,167, 76,153, 82, 37, 78,177, 88, 76,219, 35,191,147,
+ 36, 9,171,213,138,214,173, 91, 35, 59, 59,187,248,161,241,240,240, 40, 22, 89,238, 8,173,138, 2,146, 10,133, 66, 88, 44, 22,
+116,238,220, 25, 4, 65, 96,245,234,213,207,199,112, 36,203, 18,158,158,126,168, 85,235, 5, 4, 4,154,192,178, 53,251, 85,153,
+216,216,216, 18, 98,202, 85,228,101,251,253,175, 10,236, 92,213,249,250, 60, 7, 20, 15,121,233,245,166,103,174, 8, 3, 3, 3,
+219,101,103,103, 31,112,218,156, 7, 96, 94, 57, 29,203,226,130,126,252,248, 49,122,247,238,141, 99,199,142, 9,246,239,223,223,
+227,224,193,131, 9,119,238,220,121,220,186,117,235,218,239,188,243,142,180,115,231,206,200,201,201,193, 75, 47,189,244,121, 90,
+ 90, 90, 57, 66,203,118, 31, 77,102,232,245, 53,111, 29,117,101,205,170,206,139,209, 94, 39,231,204,249, 63,244, 12, 41,192,160,
+150,222,136, 63,124, 17, 35, 91,201, 1,139,180,210,124,246,180,248,214,170,135,186,145,237, 74,237,151, 42,139, 98,185,214,141,
+108, 7,242,241,221, 74,231,221, 49,205,206,162,170, 42, 22, 61,199,251, 57,110,220, 56,124,252,241,199,232,213,171, 23,238,222,
+189,139,115,231,206,225,238,221,187,152, 50,101, 10, 34, 35, 35,209,178,101,203, 74,113, 30, 60,181, 7, 26, 93, 33, 72,130, 68,
+ 94, 97, 46, 76,102, 35, 98, 39,204,169,118,185, 23,191,252, 79,197, 1, 0,246,158,188, 86,101,206, 89,179,102, 33, 51, 51,179,
+132, 37,171, 58,126, 89,207, 58,202,139,150,246, 0,192,120,231,141, 22,139,197,107,238,220,185, 81,254,254,254, 32, 8, 2,203,
+151, 47,135,175,175,111, 7, 0, 55, 45, 22, 75,142, 94,175,159,238, 32, 66,122,194, 22,107, 35, 43, 43,203,229,188,125,189, 94,
+111,141,138,138, 18,133,132,132,148,152,109,232,225,225, 81,150,117,167,152,211,190,143,166,105,196,198,198, 98,193,130, 5, 8,
+ 15, 15, 71,191,126,253, 16, 29, 29, 13,130, 32,208,167, 79, 31,244,235,247,215, 80,174, 74,165, 18, 31, 59,118,172, 11, 73,146,
+ 9, 14, 47,144, 18,156,174, 96,119,140,167, 40,202, 93, 7,248, 18,156,246,202, 54,101,202, 20, 44, 88,176, 0, 51,103,150,239,
+234,177,126,253,122,160,180, 63,213,223,206,153,151,151, 87,162,177, 87, 40, 20,171, 7, 15, 30, 44,124,252,248,113, 9,113,229,
+184,184,104,136, 74,112, 86, 20,144, 84, 32, 16, 32, 40, 40, 8,243,231,207,135,159,159, 31,130,131,131, 93, 5,242,171,176,140,
+170,128,191,149,147,225,216,171, 75, 22,254, 95,199,255,109, 59, 40,146, 74,128,203,231,246, 66,147, 95,114, 56,201,108,253,107,
+ 42,181,164,117, 15, 88,174,253,232, 86, 93,178,139,233,207, 62,251, 12,159,125,246, 89,185, 9,218,176, 97, 67,181,243,238,166,
+216, 42,205,201,114,132,194,195, 7, 50,143, 90,104, 22,233, 3,150,163,255, 81,101, 84, 6,126,253,229,151, 95, 6,248,249,249,
+ 33, 53, 53, 53, 64, 36, 18, 13, 40, 97,174, 50, 26, 81,183,110,221, 23,212,106,245, 43, 21,113, 78,153, 50,197, 60,123,246,108,
+233,136, 17, 35, 48,120,240, 96,140, 24, 49, 66, 42, 22,139, 27,114, 28, 7,171,213,138,212,212, 84,252,248,227,143, 80,171,213,
+183,202, 75, 39,203,113,132, 92,161,130,204, 35, 4,205, 94, 84,129,101,233, 26,201,187,163, 85,220,209,154, 85, 73,145,229,178,
+126, 2,192,175, 63, 30,192,156, 15, 95,196,150, 35, 63, 99,213, 47, 64, 11, 85, 54,154, 5,168,193,170,111,225,163,145, 47, 99,
+233,246,223, 0, 0,231,206, 86, 88, 70, 92,121,117,208,100,180, 86, 43,239,142,150, 43,199,235,184,225,163, 85,138,211,222, 73,
+212,106,181, 40, 40, 40, 64,124,124, 60,222,124,243, 77,100,103,103,227,225,195,135,184,115,231, 14,190,251,238, 59, 40, 20,138,
+ 42,149,209,180,183,103, 97,246,210,169,224,192,161,113,131,102,152, 49,241, 51,180,105,209,190,218,229,238, 12, 55,172, 89,101,
+114,174, 88,177,162,170,117,233, 95, 39,180, 92,194,223,223,127, 68,151, 46, 93, 96, 50,153, 16, 16, 16,128,135, 15, 31,130, 36,
+201, 8,160,104, 8, 47, 52, 52,116,151, 90,173,142,112,151, 79, 32, 16,128,166,233, 98,223, 31,251, 2, 0,253,251,247,199,161,
+ 67,135, 42,236, 81, 4, 7, 7,163,118,237,218,248,224,131, 15, 74,205,114,112,156,233, 32,151,203,113,228,200,145,204,188,188,
+188, 60,142,227, 42, 53,205,205,238, 24,127,225,194, 5,183, 29,224, 29, 97,181, 90, 31,223,185,115, 39,100,195,134, 13,130,114,
+ 94,126,197, 56,119,238, 28,141, 10,134,106,254, 14, 78, 87, 61, 83,142,227,202, 20, 89,238,132, 17,168, 40, 32,169, 80, 40, 68,
+ 82, 82, 18,230,204,153, 3,130, 32,176,119,239,222,231,226,225,250,243,118,238, 38,146, 36,125,250,191,218,177, 57, 8, 2, 86,
+ 75,233,145,106,207,124, 93,177,200, 26,252,229, 78,236,159, 54,220, 29,209,147,124,254,252,121,223, 13, 27, 54, 8,221, 41,247,
+243,231,207,211, 28,199, 85,122,216,207,254,194,177, 90,173, 48, 26,171,102, 69,225, 56,238, 82,220, 23,179,163,182,126,123, 84,
+ 68, 16, 22, 92, 62,187, 23,133, 5,174,221, 25, 36, 34, 33, 54,197,239,163,197, 34,193,227,167, 92,116,107, 6, 13, 26, 52,226,
+171,175,190,106,230,106,167, 27,147, 96, 30,154, 76, 38,164,165,165,193, 96, 48,236,249,228,147, 79,172, 71,143, 30,125,235,181,
+215, 94, 67,203,150, 45, 17, 18, 18,130,140,140, 12, 36, 39, 39, 35, 62, 62,158,187,120,241,226, 30, 0,147, 42,184,143, 7, 22,
+126, 49, 59, 38,126,251, 81, 9, 73, 88,113,249,220, 94, 20, 58,137,246,210,214,105, 17,190,217,178,207, 42, 22,139,110, 87,100,
+ 45,114,180,102,213,228,139,113,192,168,137, 24,188,114, 21, 34,218,244,198,194, 69, 61,241,205, 23, 67,177,172,143, 24,214,221,
+ 35,209,226,245,173,216, 49,183, 47, 0,160,214, 55,110, 90, 75,132, 98, 60,114, 97,177, 42, 40,148,217,196, 77,229,172,166,246,
+188,151,103,185,170,172, 69,139, 36, 73,212,171, 87, 15, 17, 17, 17,232,208,161, 3, 90,183,110,141,110,221,186,225,250,245,235,
+184,126,253, 58,166, 76,153, 82,158,200,170,176,140,186,190, 18,133,159, 59,221,174,118,217, 56,151,123, 77,192,157,186, 52,113,
+226, 68, 0,248, 87, 89,183, 42, 45,180, 52, 26,205,117,150,101,155,123,123,123,219, 45, 82,197,251, 82, 82, 82,192,178,172,161,
+178, 5, 99,177, 88,236,193, 49, 75,196,101,178, 59,199,151,247,224,115, 28,199,228,229,229,161, 75,151, 46,232,212,169, 83,241,
+240,137,227,226, 32, 76,176,127,255,126,112, 28, 87,105, 39,107, 7,199,120, 29, 42,233, 0, 15, 0,217,217,217,189, 59,119,238,
+124, 82, 40, 20,186,245, 21, 77,150,101, 31,102,101,101,189,250,164, 57, 93,149, 15,203,178,101,138, 44,119, 26,162,138, 2,146,
+ 10,133, 66,120,120,120,224,251,239,191,135,191,191,255,115,245,128, 93, 79, 84, 47, 46,111,127, 23, 63,201, 89, 0, 1,131,191,
+220,249,232,108,174,181,206,224, 47,119,166,236,159, 54, 60,188,188,115, 50, 51, 51,123, 13, 31, 62,252,152,187,229, 78,211,244,
+131,204,204,204, 74,135, 75,224, 56, 14,183,111,223,102,199,141, 27,151,163, 86,171,135, 86, 37,255, 51,230,172, 90,182,224,243,
+201,126,125,162,218,181, 1, 9, 88,202,118,254,229, 8,128, 19,138, 4,143,167,207, 92,241,246,208,161, 67,159,102,177,105, 50,
+ 51, 51, 59, 12, 25, 50,100, 18,254,114,157, 40, 33,164, 80,198,236,106, 27, 86,214,174, 93,251, 69,129, 64, 32, 5, 48, 7, 64,
+202,197,139, 23,215, 92,188,120,177, 23,128,255, 8, 4,130, 16,134, 97,210,108,157,158,157, 0,254,168,184, 30,101,191, 3,142,
+ 13,235,211,243, 63,189, 65, 16,156,197, 98,174,160,131, 4, 14, 28,199,137,197,162,219,191, 94,207,104, 81, 94, 71,202,225, 11,
+ 28, 53, 62,100, 63,105,210, 36, 76,154, 52,169,184, 62,173, 94,221, 9,123,254,188,128,215, 91,164,194,252,117, 71, 16,202,112,
+183, 59,124, 0, 48,235,255,198,213, 88,218, 28,243,238,104,209,114,245, 28, 84,198, 71, 75, 32, 16, 32, 39, 39, 7, 73, 73, 73,
+200,202,202,130,193, 96, 64, 98, 98, 34,172, 86, 43,242,243,243,241,226,139, 47, 86, 57,157, 53, 85, 70, 79,147,243,223, 56,124,
+ 88,105,161,101,181, 90, 63,173, 87,175,158, 72, 38,147, 53, 99, 24, 6, 28,199,129, 97, 24,206, 38,106, 42, 61, 11, 79, 36, 18,
+153, 26, 53,106, 68,184,154,157, 96,255,239,225,225, 97, 44,199, 90, 18, 87,183,110,221, 79, 8,130, 16,148,213, 11,177,255,103,
+ 89,150, 17, 10,133,113, 85,188, 87,213,117,140,215,171,213,234,246, 53, 92,126,127, 7,167,115,249,232,155, 52,105, 82,252, 69,
+123,231,152, 40,182,143,173,234, 43, 16,231,229, 6, 36,213,235,245, 25,189,123,247,102, 28,247, 59, 6, 52,125,174, 65,112, 41,
+125, 71,188, 85,231,108,174,181, 14, 0,216,197, 22, 56, 46,165,156,179,140,153,153,153, 93,254,238,164,221,191,127,223,242,159,
+255,252,231, 91,173, 86, 59, 17, 64,149,189,249,103,126,186,122,230, 51, 88, 50, 26, 0, 11,170,120,110, 74,110,110,110,119,167,
+109,127,216, 5,149, 61,174, 93,165, 69,251,173,156, 26,143, 45, 70,211,116,106, 68, 68, 68,165, 44, 55, 20, 69,165, 86,180,223,
+ 57, 70,152, 35,110,194, 27, 51,175, 0, 69,147,191,115,221,226, 52,153, 76,121,237,219,183, 23, 85, 50,111,217,238,230, 61, 36,
+ 36, 4,181,106,213, 42,254,181,195,121,123, 69,233,164,105, 58, 53, 44, 44, 12,254,254,254,101, 70,124,119,246,201,114,135,179,
+166,203,168, 60,206, 90,181,182,214, 56,103, 85,211,201,195, 61,244,228, 57,121, 78,158,243,153,229, 20,240,247,147,231,228, 57,
+121,206, 39,200,249,220,129,227, 56,240, 94,106, 60,120,240, 40, 11, 12,127, 11,120,240,224,193,163,122, 32,202, 81,165,149,153,
+233, 83, 21,101,123,138,231,228, 57,121, 78,158,147,231,228, 57,121,206,127, 29,103, 69,220, 53, 61,211,248,169,161, 58,225,113,
+254, 78, 1,198,115,242,156, 60, 39,207,201,115,242,156, 60,231,191,143,243,185, 3, 63,116,200,131, 7, 15, 30, 60,120,240,224,
+241, 55,130, 23, 90, 60,120,240,224,193,131, 7, 15, 30,188,208,226,193,131, 7, 15, 30, 60,120,240,224,133, 22, 15, 30, 60,120,
+240,224,193,131, 7, 15, 94,104,241,224,193,131, 7, 15, 30, 60,120,240,224,193,131, 7, 15, 30, 60,120,240,120,166,192,113, 92,
+209, 39,120, 14, 31, 62, 92, 28,232, 33, 58, 58,154,224,111, 13, 15, 30, 60,120,240,224,193,227, 73,226,121,213, 34, 66, 94, 96,
+241,224,193,131, 7, 15, 30, 60,254, 9,120, 30,181, 8,233, 74, 73,242,224,193,131, 7, 15, 30, 60,120, 60,105, 60,143, 90,132,
+124,158, 85, 36, 15, 30, 60,120,240,224,193,227,217,193,115,111,209,226,173, 90, 60,120,240,224,193,131, 7,143,167,133,103, 88,
+139,112,182,197,113,157, 7, 15, 30, 60,120,240,224,193,131, 71, 53, 5, 86,153,191,252,183, 14,121,240,224,193,131, 7, 15, 30,
+ 60,170, 14,194,197,250, 19,181,102,241, 95, 54,231, 57,121, 78,158,147,231,228, 57,121, 78,158,243, 95,137,226, 56, 90, 60,120,
+240,224,193,131, 7, 15, 30, 60,170,167,171, 28,254, 23, 91,186,120,161,197,131, 7, 15, 30, 60,120,240,224, 81,125,145, 69,184,
+ 90,231,125,180,120,240,224,193,131, 7, 15, 30, 60,254, 38,240, 22, 45, 30, 60,120,240,224,193,131, 7,143,234,193,217, 9,158,
+ 31, 58,228,193,131, 7, 15, 30, 60,120,240,168, 97,177,229,114, 99, 89, 51, 7, 78, 85,130,188, 42,179, 15, 78,241,156, 60, 39,
+207,201,115,242,156, 60, 39,207,249,175,227,172,136,251, 20,158, 13,137,148,178, 0, 0, 32, 0, 73, 68, 65, 84, 61,116, 1,112,
+ 6, 64, 87,219, 47, 0, 16, 28,247,247, 71,122,224,167,190,242,156, 60, 39,207,201,115,242,156, 60, 39,207,249,188,195, 57, 96,
+105,209, 10, 31,176,148,135, 27, 16,162,252, 33,230,138,246,243,224,193,131, 7, 15, 30,255, 54,177,197, 57,190, 36, 93,161, 33,
+128,153, 0,188, 29,182,253, 2, 32,206,233,184,237, 0, 20, 14,235,122, 0,115, 1,220,173, 48, 53, 28, 39,182,241, 75,109, 11,
+ 11,192, 4,192, 12, 64, 75, 16, 4,197,151,217, 83, 71,123, 0,209,182,255,135, 1, 92,174,228,254,231, 10, 33, 33, 33,114, 31,
+ 31,159, 94,215,174, 93,147, 36, 38, 38,226,252,249,243,220,166, 77,155,172,249,249,249, 39, 50, 50, 50,140,124,117,121, 46,208,
+ 27,192, 12,219,255,133, 0,142, 87,147,143, 80, 40, 20, 83, 60, 60, 60,250, 74,165,210, 90, 52, 77, 19, 6,131, 33, 93,175,215,
+159,164,105,250, 75, 91,187, 87, 89, 12,244,245,245,125,171,113,227,198, 13, 31, 62,124,152,150,158,158,190, 29,192,110, 0, 67,
+107,213,170, 53,178,110,221,186,161,183,111,223,190,155,151,151,247, 13,128, 3, 79, 49,157, 60,120,252,155, 64,148,103,141,112,
+133, 57, 28,199,141, 44,193, 64,148,230,232,222,189,251,128, 19, 39, 78, 40, 88,150,133,125,145,203,229, 52,128, 49, 21,136, 44,
+191, 75,151, 46,213,153, 56,113,226,224,244,244,244,151,181, 90,109, 91, 0, 80, 40, 20, 63, 7, 6, 6,254,186,114,229,202,239,
+ 56,142, 75, 37, 8, 66, 91,201,140, 10, 69, 34,209,155, 62, 62, 62,125,105,154,110,205,113, 28, 68, 34,209,181,252,252,252,227,
+ 20, 69,125, 3,160, 42,226, 77, 34, 20, 10, 39, 73,165,210,222, 52, 77, 55, 7, 0,161, 80,120,195,108, 54, 31,167,105,122, 13,
+ 0, 75, 21, 56,101, 18,137,100,146, 82,169,140,178, 88, 44,205, 1, 64, 34,145,220,208,104, 52, 39, 45, 22,203, 26,155,224,124,
+218, 16, 2,136,230, 56, 78, 4, 0, 2,129, 96, 96,219,182,109,235, 16, 4,193, 18, 4,193,113, 28, 71,252,252,243,207,173, 24,
+134, 33,109,245, 35, 26,192,175, 0,232,103,241, 9,241,247,247, 95,192,178,108,173,114, 11, 77, 38,123,249,218,181,107,141,119,
+237,218,197,124,253,245,215, 5, 99,199,142,245,156, 56,113,162,112,245,234,213,107, 50, 50, 50,222,119, 62,222,207,207,111, 25,
+ 73,146,254,238, 92,159,101,217,156,220,220,220,169, 79, 43,255, 49, 49,166, 18,230,238,248,120, 89, 3, 0,169, 85,172,223,127,
+ 31,167, 41,134, 3,128,120, 89,124,131, 24, 83, 76,178,253,127,117,121, 29, 48, 99,237, 41,109,103,142, 3, 38, 69,121,145,213,
+ 21, 90,161,161,161,241, 49, 49, 49, 35,154, 55,111, 46,228, 56, 14, 20, 69,193,108, 54, 55,190,124,249,114,215,189,123,247,190,
+172,213,106,135, 86,146,242,237,143, 63,254,120,254,188,121,243,252, 69, 34, 17, 65, 81, 84,131, 93,187,118,181,126,231,157,119,
+ 62,216,176, 97, 67,237, 97,195,134,121,217,183,207,153, 51,167,205,194,133, 11,235, 3,248,242, 41,164,147, 7,143,127, 27,186,
+160,164,143,214,231, 0, 62, 43, 79,104,121,216, 94,158, 89, 54, 75, 22, 28,126,139,113,250,244,233,131, 66,161,208,110,209,106,
+171,215,235,131,156,172, 96,174, 68, 86,221, 81,163, 70,181,223,179,103,207,130, 97,195,134,101, 42, 20,138, 70,175,189,246,154,
+150, 32, 8,193,174, 93,187, 90, 69, 68, 68,200,251,247,239, 63,170,123,247,238,211, 56,142, 59, 79, 16,132,218,205, 76, 54,243,
+245,245,221,183,120,241,226, 58,189,123,247, 22,251,251,251,131,227, 56,164,167,167,135, 30, 57,114,164,207,231,159,127, 62, 45,
+ 47, 47,111, 16,128,132, 74,220,184, 54,114,185,124,207,231,159,127, 30,210,167, 79, 31, 97,112,112, 48, 76, 38, 19, 18, 19, 19,
+123, 30, 63,126,188,243,134, 13, 27,222, 55, 26,141,175,219, 4,134,187,104,235,237,237,189,247,127, 31,127, 28,212,238,205, 55,
+133,190,190,190,224, 56, 14,106,181,186,231,133,173, 91,187, 78, 88,188,248,253,194,194,194, 33,174,238,247,211,132, 68, 34, 33,
+183,109,219,214, 82, 34,145, 0, 0, 44, 22, 11, 34, 35, 35,137,231,166, 43, 66, 16, 97,233,233,233,222, 98,177,216,229,126,134,
+ 97,208,185,115,231,122, 98,177, 24, 95,126,249, 37,149,147,147,211,234,171,175,190,186,182, 99,199, 14,255, 53,107,214,188, 14,
+160,148,208, 34, 73,210, 63, 53, 53,213, 37, 39,195, 48,176, 90,173,160,105, 26, 22,139, 5, 77,155, 54,125,170,249,143,143,151,
+133, 1,152, 26, 19, 99,250,208,182,233, 75, 0,211, 0,220, 71, 21,191,219,245, 55,112, 58,214,183,101, 14,255,171,157, 86, 7,
+212, 1,128,163,215, 77, 0,224, 91,221,251,234,225,225,209,228,141, 55,222, 16,170,213,106,136, 68, 34, 88,173, 86,100,102,102,
+ 34, 50, 50, 82,240,237,183,223,190, 80, 89,190, 6, 13, 26,140, 93,184,112, 97,192,209,163, 71,173,219,182,109,179, 68, 69, 69,
+137,198,142, 29,171,236,220,185,115,211,176,176, 48,114,243,230,205,230,147, 39, 79, 82,163, 70,141,146,196,197,197, 5, 28, 57,
+114,164,127, 66, 66,194,151, 79, 58,157, 60,120,252, 11,113, 6,127,133,120,176,255,150, 43,180,224, 32,174, 6, 2,128, 72, 36,
+106, 21, 20, 20, 20, 79,211,116,176,205,170,147,153,149,149,245, 37, 69, 81,191,219,142, 61,192,178,236,128,138, 44, 89,163, 70,
+141,106,127,236,216,177,165,151, 47, 95, 46,204,205,205, 13, 62,120,240,160,105,218,180,105, 15, 1,224,254,253,251,245,251,247,
+239, 31, 58,121,242,228,212, 94,189,122,173,236,214,173,219,123, 28,199,157, 36, 8, 66, 95,145,200,138,140,140,188,116,238,220,
+ 57, 47,149, 74, 85, 98, 71,221,186,117,241,222,123,239,137, 7, 12, 24, 16,209,163, 71,143,139,201,201,201,157, 0,252,233,142,
+ 32,106,216,176,225,169,211,167, 79,123,250,248,248,160,160,160, 0,153,153,153, 48, 24, 12, 80, 42,149, 24, 54,108,152,184, 75,
+199, 14,181, 39, 79,121,255, 84,106, 90, 90, 79, 55,197, 86,219, 14,205,154,157,218, 17, 23,231, 73, 61,122, 4,185, 92, 14,157,
+ 78, 7, 0,240,242,242,194,203,245,234, 9,127,219,186, 53,116,100,108,236,169, 95,147,146,122, 62, 37,177, 37,181,253,154, 1,
+ 28, 22, 8, 4, 3, 37, 18, 9, 57,112,224, 64,156, 58,117,138, 48,153, 76, 66,155,117,135, 30, 56,112, 32,228,114, 57, 44, 22,
+ 11,139,162,161, 67,250, 89,126, 74, 36, 18, 9,146,147,147, 75,108,211,106,181, 80,171,213,200,205,205,133,217,108, 70, 65, 65,
+ 1, 88,150, 37,228,114,185,154,101, 89,144, 36,233, 44, 0, 74, 64, 44, 22, 35, 41, 41,169,196, 54,154,166,161,215,235, 97, 54,
+155, 97,181, 90,161,213,106,229, 94, 94, 94, 13,253,253,253, 83, 1, 28,200,203,203,251, 50, 43, 43, 43,229, 9,103, 63,199, 46,
+136,226,227,101,247, 0, 72,254,137,156, 14,150,172, 80,219,250, 31, 53,148, 86, 59, 30, 29,254,221, 20,110,179,142, 61,168, 1,
+ 62, 22, 0,206,159, 63,143,172,172, 44,228,228,228, 64,173, 86, 35, 44, 44, 12, 28,199, 85,122, 56, 46, 57, 57,121,237,139, 47,
+190, 72,220,188,121,243, 56,128,213,187,118,237, 26,147,151,151, 55, 99,250,244,233,190, 75,150, 44,201,139,141,141, 93, 8, 96,
+203,174, 93,187,222,109,210,164, 73,223, 91,183,110,109,120, 26,233,228,193,163,166,193,113, 92, 27, 0, 1,246,182,197,214,238,
+250, 57,172, 95, 39, 8,194,226,112,156,197,214, 54, 56,255,218, 97, 95, 87, 19, 4,241,171,195,121,106,130, 32,126,173,106, 50,
+157,126,139, 58,221, 0,112,248,240, 97,206,190,184, 58, 51, 48, 48,112, 74,247,238,221,151, 94,189,122,181,105, 70, 70,134, 79,
+ 70, 70,134,207,213,171, 87,155,118,239,222,125,105, 96, 96,224, 20,135, 27,225,124,234, 41,135,125,226, 75,151, 46,213,217,183,
+111,223,194, 83,167, 78, 21,182,106,213,202,114,250,244,105,186, 87,175, 94,217,182, 23, 52,221,171, 87,175,236,159,126,250,137,
+105,215,174,157,252,216,177, 99,143, 47, 94,188,184,108,207,158, 61, 65, 28,199, 9, 92,113,218, 32, 82,169, 84,223,159, 61,123,
+182,148,200,114, 68,237,218,181,113,248,240, 97,165, 74,165, 58, 0, 64, 92, 86, 58,109,144,201,100,178,189, 63,253,244,147,167,
+151,151, 23,178,179,179, 33, 18,137, 16, 24, 24,136,194,194, 66,100,102,100, 32,229,206, 29,144, 22, 11,150,127, 49,207, 75, 46,
+151,239,113,209,216,151,226,244,246,246,222,187, 99,193, 2,207,220, 83,167,240,199,252,249,176, 90,173,197, 67,174, 86,171, 21,
+ 23, 39, 78,132,250,199, 31,177,121,206, 28, 79,111,111,239,189, 0,100, 21,112,214, 4, 28, 57, 39, 2,200,179, 45, 19, 1, 92,
+142,140,140,188,154,152,152,136, 78,157, 58, 97,247,238,221, 45,166, 79,159, 62,113,250,244,233, 19,119,239,222,221,162, 83,167,
+ 78, 72, 76, 76, 68,100,100,228, 85,148,244,207,250,187,211,249,183,113, 50, 12, 83, 98, 97,217,191,222, 49,181,106,213,202,222,
+183,111, 31,134, 13, 27, 70, 74, 36,146,140,225,195,135, 75, 47, 92,184,192,217, 68,166,219,233, 52,153, 76, 48, 26,141,208,235,
+245,184,127,255,190,124,241,226,197, 29, 63,251,236,179, 6,167, 78,157, 10,157, 57,115,230,132,128,128,128,107, 65, 65, 65,117,
+158,112,222,173, 78,255,151, 3, 72,171,164,133,232,239,230,228,108,231, 35,198, 20,211,210,161,129,173, 44,111,121,247, 51,211,
+150, 86, 61,128,148,234,212,165,238,221,187,191,216,160, 65,131,160, 93, 55,125,144, 47,110, 12, 86,172, 2, 43, 86,129,241,107,
+131,100,201,171, 8, 15, 15, 15,242,244,244,108, 95,201,116,110,187,121,243,230,127,108, 61,229, 92, 0, 75, 99, 99, 99, 63, 39,
+ 8,226,124,108,108,236, 60, 0, 75,109,219,231,223,186,117,171, 29,128, 29, 79, 41,157,207,196,243,206,115,254,179, 56, 43,208,
+ 34, 1, 4, 65, 28, 38, 8,226,240, 39,159,124,210, 13,128,159,211,250, 43,142,199, 1,144,184,250,181, 47, 14,219, 3, 56,142,
+235,231,112, 94, 64, 21,147, 79,184, 88,254, 18, 90, 0, 16, 29, 29, 77, 68, 71, 71,219,119,252, 66, 16,196, 65, 0,191,136, 68,
+162, 86, 45, 91,182, 28,248,195, 15, 63,120, 5, 4,252,117,253,128,128, 0,236,217,179,199,171, 89,179,102, 3, 69, 34, 81, 43,
+ 0,191, 40,149,202,131,229, 88, 97, 84, 19, 39, 78, 28, 60,122,244,104, 77,171, 86,173, 0,160, 32, 33, 33, 65,209,174, 93, 59,
+ 61, 77,211, 4, 77,211, 68,187,118,237,244, 9, 9, 9, 10,138,162,180,109,218,180,241,232,209,163,199,195,169, 83,167,142,114,
+ 33, 56, 28,241,198,162, 69,139,194,124,124,124,202, 83,194,208,106,181, 8, 10, 10,194,196,137, 19,131, 69, 34,209, 91,229,221,
+ 45,161, 80, 56,105,209,162, 69,129, 42,149, 10,249,249,249, 8, 11, 11,131,197, 98, 65, 82, 82, 18, 76,122, 29, 40,173, 6,148,
+166, 0,234,123,119,161, 18, 9, 49,106, 64,116,144, 80, 40,156, 84,129,181,100,210, 55,177,177, 65,150,135, 15,113,127,247,110,
+ 48,116,105,227, 15,109,181,226,198,198,141, 48,165,166, 98,225,184,113, 65, 18,137,100,210, 19,182,100, 45,225, 56, 78,206,113,
+156,156, 32,136,149,237,219,183,255, 86, 46,151, 79,140,139,139,235,125,226,196,137, 62,231,206,157,235, 74,211,180,136,166,105,
+209,249,243,231, 59,153, 76, 38,161, 84, 42,133, 80, 40,228,240,156, 66, 36, 18, 65, 44, 22, 67, 46,151,163, 99,199,142,247, 54,
+109,218, 68,133,133,133,137,246,238,221,235, 83,171, 86, 45,143,213,171, 87, 23,104,181,218, 69,238,242, 89,173, 86,152,205,102,
+ 24,141, 70,152, 76, 38,156, 62,125,186,222,228,201,147,133, 38,147,137,233,223,191,127, 30, 69, 81,230,216,216, 88,165,175,175,
+239,180, 39,153,207,152, 24, 19,107,179, 60,221,178,137,150, 7,168,166,207,211,223,193, 9,192, 98,243,201,178,195,223,198,109,
+169,161, 91, 65, 3,208,217,132,150,217,233,249,104,238, 96,241,173, 16, 5, 5, 5, 27,190,249,230,155, 48, 82,170,194, 5, 75,
+ 95,124,199,126,142, 19,222,171,145, 93,231, 35, 4,134, 53,192,136, 17, 35, 2, 57,142, 91, 93, 3,105,254, 10, 64,103, 0, 43,
+171,114,242, 19, 72,103, 29, 15, 15,143,221, 94, 94, 94, 23, 60, 60, 60,118,195, 54, 60, 91, 29, 68, 53, 64,207, 1, 77,200,212,
+168, 8,112, 3,154,144,169, 81, 13,248, 80, 3,207, 11,156,180,136, 35,212, 28,199, 69,115, 28, 23,189,112,225,194, 5, 14,239,
+119,251,186,220, 77,203, 88, 52,199,113,209, 37, 20, 82,145,192,170,182,209,205,197, 82,164, 41, 28,149,164, 67,230,138,103, 23,
+ 6, 5, 5,197,199,199,199,123, 57, 51,102,100,100, 64,163,209, 96,246,236,217, 94,163, 71,143,126, 63, 53, 53, 53,166,130, 68,
+ 72, 50, 51, 51, 91,143, 28, 57, 82,102,181, 90,243, 89,150, 37, 53, 26,141,208,219,219,155,177, 31,224,237,237,205, 20, 22, 22,
+138,244,122,189,128, 97, 24,243,232,209,163, 37,227,198,141,123, 25,128,160, 44,210,128,128,128,168,190,125,251,150, 57,116, 64,
+ 81, 20,244,122, 61,244,122, 61,172, 86, 43, 58,118,236, 40,221,180,105, 83,175,236,236,236,117,101, 42, 14,169, 52, 42, 42, 42,
+ 74,148,151,151, 7,111,111,111,164,164,164,224,193,131, 7, 48,235,116,176,234, 52,176,234,180,160,181, 26,112,154, 66,228,222,
+189,141,118, 77, 26,139,183, 75,165,189,245,122,253,178,178, 56,149, 74,101, 84,187, 49, 99,132, 30, 30, 30,232, 58,178,104,158,
+193,177, 38, 77,192, 49, 12, 88,134, 1, 67,211,232,157,148, 4,138,162, 64,146, 36,218,228,229, 9,149, 91,183, 70,169,213,234,
+165, 79,163,178, 75,165, 82,225,182,109,219,222,144, 72, 36,224, 56,142,176, 88, 44, 56,113,226,196,191,238,161,151, 72, 36,144,
+201,100,176, 90,173,168, 91,183,174,113,228,200,145,151,190,248,226,139,112,146, 36, 61,196, 98,241, 15,185,185,185, 11, 50, 50,
+ 50,238,187,203, 71, 81, 20, 44, 22, 11, 44, 22, 11,140, 70, 35,238,221,187, 23, 92,175, 94, 61, 98,226,196,137,140,193, 96,168,
+191,106,213,170,228, 19, 39, 78, 40, 22, 45, 90,244, 26,128,247,158,116,126, 99, 98, 76, 77, 0, 52,137,143,151,137,109,150, 95,
+203, 63,140,147, 67,145,227, 59,226,101,241,137, 0,212, 53, 40,178, 36, 0,188,195,253,132,122,145, 0, 58, 0, 94, 54, 81,240,
+ 26, 65, 16,237,154, 54,109,234,147,152,152,152,207,113,220, 21, 0,223, 1,200, 40,143,140,101, 89,130,101, 89,188,211,182, 0,
+ 19,219, 11, 64, 81,133, 40, 44, 44, 68, 74, 74, 10, 18, 18, 18,240,243,207, 9, 85,125, 54,223,242,244,244,236, 37,147,201,234,
+210, 52, 77,234,116,186, 20,131,193,112,138,101,217, 13,168,130,143,218,223,149, 78, 59, 60, 60, 60, 22,207,156, 57,179,131,183,
+183, 55,126,255,253,247,250, 59,119,238, 92,172,215,235,171,229, 92, 47, 19,145,155,151,173, 88, 29, 26, 26,168,194,245,115,135,
+ 66, 23,172,223,181, 25, 96,195,120,153,242,236,195, 73,139, 56,138,161, 95, 57,142,235, 71, 16,196, 97,103,161, 84, 41,179, 83,
+ 53,207,175,192,162,229,252, 97,233,146, 66,171, 12, 5, 9,154,166,131, 29, 45, 89, 28,199, 33, 35, 35, 3,105,105,105, 80,171,
+213,240,241,241,129,213,106, 13,118,167,125,208,106,181,109,253,252,252, 12, 34,145,200,108, 52, 26,161, 80, 40, 88,145, 72,196,
+217,174, 67,216,102, 45, 50,102,179,153, 16, 10,133,148,151,151,151,167,217,108,110,140,114,124,201, 56,142,107,235,231,231,231,
+114,159,217,108,134, 78,167,131, 94,175,135, 78,167,131,217,108, 70, 80, 80, 16,104,154,110, 93,110,151,150,166,155, 7, 4, 4,
+ 32, 61, 61, 29,114,185, 28,169,169,169,176,232,180,176,106,181,160,245, 26, 48,133,133, 96, 53, 26,176,122, 13, 40,139, 1,161,
+141,154,192, 62, 35,177,204,110,184,197,210,220,207,207, 15,122,253, 95,238,102,156, 77, 96,209, 52, 13,218,230, 28,109, 31, 78,
+244,247,247,135,125, 70,226, 19,130, 25,192,116,146, 36, 87, 74,165, 82,225,132, 9, 19,144,145,145, 81,162, 78, 76,152, 48,161,
+216, 39,171,115,231,206,231,101, 50, 25,173, 86,171, 97, 54,155, 69,207,235, 67, 79, 16, 4, 8,130, 40, 42, 35,154,134,191,191,
+191, 62, 39, 39,231,231,130,130,130, 55,170,194, 71, 81,148,125, 70, 23,140, 70, 35, 56,142,195,239,191,255, 14,153, 76, 38, 98,
+ 24,230, 38, 77,211, 10,145, 72, 4,210,230,252,245,164, 96,155, 17,248, 37,128, 48,155,133,232, 45, 20, 57,156,167,185,104, 72,
+220,186,117,110,114, 86, 94,184,153, 98,236,150,166, 52, 84,109, 56,210, 21,186, 54, 86, 73,150,197,181, 11, 84,181,236,239,161,
+ 87, 72, 4,122, 54,165,101,221,255, 45, 73,216, 57,122,212, 91, 94,115,231,206,173,227,239,239, 47, 75, 78, 78, 54,205,155, 55,
+175,222,182,109,219, 8, 20, 13,211,149,137, 71,143, 30,237,159, 57,115,166,111,223,190,125,235, 75,165, 82,162,176,176, 16,106,
+181, 26, 89, 89, 89,120,240,224, 1,119,253,250,245,123,102,179,121,119,101, 18, 25, 18, 18,178,233,141, 55,222, 24,253,210, 75,
+ 47,137,236, 22, 82,189, 94,223,234,236,217,179, 3,142, 29, 59,214, 73,175,215, 87,186, 94, 62,126,252,120,247,172, 89,179, 60,
+ 94,125,245,213,198, 82,169,148,172,137,116, 58,130, 36,201, 32, 79, 79, 79,156, 58,117, 10, 42,149, 10, 36, 73, 6, 85,183,190,
+154,172,108,104,173, 96, 63,152, 46, 46, 67,227,128, 58, 48, 89,217, 80, 94,162, 60, 63, 22,173, 50,222,245,109,236, 22,169, 10,
+196,146,113,198,140, 25, 51, 9,130, 56, 60, 99,198,140,153,174, 44, 90,182,191,140,227,113, 14,199,155,107, 90,108, 85, 42,208,
+ 36,203,178, 72, 75, 75, 67,122,122, 58,210,210,210,144,155,155, 11,146, 36,193,113,156, 59,179,207, 56,130, 32,216,147, 39, 79,
+250, 92,186,116, 73,223,166, 77,155, 2,187,255, 11, 77,211, 4, 69, 81,132,205, 47,134, 72, 73, 73, 17, 95,184,112, 65,117,235,
+214,173, 32, 91,111,149,173,192, 20, 88,106,155, 93, 96, 57, 46, 38,147, 9, 50,153,204, 61,213, 97,123, 17,254,126,245,106,145,
+200,210,105,109, 67,134,133, 96, 52,133,224,244, 90, 72, 24, 10, 18,112, 32, 76, 6,183,239,159, 35,236, 34,203,106, 19, 90, 22,
+139, 5, 20, 69,129,101, 89,208,244, 83,241, 43, 95,219,162, 69,139,214,251,247,239, 31,155,150, 86,250, 93, 56,104,208, 32,188,
+247,222,123,152, 60,121,242,173,126,253,250, 93, 63,116,232, 16, 38, 77,154, 4,150,101, 91, 2, 40, 4,112,236,121,123,232,205,
+102,115,177, 5,202,100, 50,193,106,181, 2,229, 56,191, 87, 84, 55,237,101, 75,211,180,157,155,216,191,127, 31,206,159, 63, 79,
+ 38, 36,220, 12,155, 48, 97,162,221,225,254, 73,103, 53, 21, 69, 51,247, 36,182,134,194,130, 34,255,167,178, 66, 42, 68,160,252,
+ 33, 59,174, 60,206,234,160,197,250, 22,195, 62,252,240,195, 40, 20,205,112,190, 95, 77,139,214,171, 18,146,248,122, 74,115, 95,
+217,180, 22,126,122,137,144,208, 37,125, 61, 83,247, 32, 92,169, 15,170,173,176,132,213, 83,213, 90,176,224,139,144, 91,183,110,
+155,103,207,158,157, 56,124,248,240,192,105,211,166, 53,221,187,119,111, 39,147,201,244, 13,128,130,178,140, 46, 3, 6, 12,184,
+ 18, 24, 24, 88,111,253,250,245,217,143, 31, 63,246,161, 40,202,195,106,181,178,122,189,254,129,209,104, 60,101,181, 90, 79, 1,
+184, 90,153,196,122,121,121,181, 24, 51,102,140,168,160,160, 0, 66,161, 16, 86,171, 21,217,217,217,232,208,161,131,224,224,193,
+131,205,170,114, 3,242,243,243,151,125,243,205, 55,103,118,236,216,209, 75,169, 84,190, 36,149, 74,131, 1, 48, 90,173, 54, 75,
+175,215,255, 81,149,116,150,104,231, 24, 38,235,234,213,171, 17, 74,165, 18,143, 30, 61, 2,195, 48, 89,213,173, 3, 50, 49,249,
+248,198,185,131,181,155,248,215,195,133, 75, 87, 32, 19,147,143,249, 80, 95,207, 61,236, 62, 84,112, 20, 80, 46, 4,210,165,184,
+184, 56,249,194,133, 11, 17, 23, 23,119,211,149, 69,203, 46,184,226,226,226,110,218,143,115, 56,254, 92, 53,210, 88,182, 69,171,
+ 44, 5, 9, 20,205, 46, 84,171,213, 62, 42,149,170, 88, 96,165,167,167, 35, 61, 61, 29, 18,137, 4, 41, 41, 41,144, 72, 36, 25,
+238,116, 66,228,114,249,111,173, 90,181,122,225,254,253,251,226,121,243,230,213,190,122,245,170,178, 67,135, 14, 47,202,229,114,
+134,227, 56,152, 76, 38, 50, 49, 49,209,115,233,210,165,161,109,219,182,181,180,109,219,246,218,174, 93,187,140, 40, 39,254, 21,
+ 65, 16,191,100,100,100,212,175, 91,183,174, 93,180,149, 16, 87,142,130, 11, 40, 26,242, 20, 10,133,215,202, 75,168, 80, 40,188,
+145,148,148,212, 83, 33,147,194,162,213,192,170,211,128,214,106,193,104, 11,193, 20, 22, 2,122, 13, 36, 52, 13, 17, 67, 65, 46,
+147, 33, 45, 53, 21, 66,161,240, 70,121,156, 18,137,228, 70, 86, 86, 86, 79,149, 74, 85,252, 18,165,104,186,104, 97, 24, 88,104,
+186,216,162, 37, 18,137,240,248,241, 99, 72, 36,146, 27, 79,186, 38,147, 36,201,216, 67, 56,148,145, 15, 4, 5, 5,177,237,218,
+181,195,164, 73,147,192, 48,140,173, 24,136,174, 0, 46,160,200,191,229,153,132, 43,113,107,119, 90, 55, 26,141,208,233,116,200,
+207,207, 23,202,229,242, 23, 66, 67, 67,175, 88, 44,150,221, 52, 77,111,126,240,224,129,166, 44, 78,155, 48, 43, 22, 93, 44,203,
+130,227, 56, 48, 12, 3,138,162, 32, 22,139,217,179,103,207, 97,233,242,197,136,223,188,141, 27, 48, 96, 0,113,240,224, 65,176,
+ 44,155,250,132,179,111,177,137,150,242, 26, 13,231,144, 10, 31,161,252,144, 10,101,113, 58,246,254, 28,183, 17, 46,142, 41,133,
+ 15, 63,252,240, 56,138,134, 12,115,108, 98,174, 58,156, 95, 22,124,247,133, 12, 52,163, 55,159,221,161,251,246,142, 70, 63,247,
+219, 21,191, 89, 36, 2,205,203, 93,130,154,215,175,247,130, 64,165,242, 33,215,109, 88,153,187,125,219,158,228, 71,143, 30,105,
+214,172, 89,211,254,133, 23, 94,240,254,227,143, 63, 66,203, 18, 90, 10,133,162,225, 91,111,189, 53, 38, 63, 63, 95, 28, 31, 31,
+191, 43, 35, 35,227, 55, 20,133,150,113,156, 65,221, 15,192, 22,155, 16, 13,178,181,115, 23, 0,204, 43,175,191, 70, 16, 4,126,
+250,233,167, 82,179, 3,217,234,169,115, 85,131, 6, 13,134,221,191,127,255,124, 86, 86,214, 16,231,157, 98,177,120,110,163, 70,
+141,122,223,188,121,243,115, 0, 71, 43, 67,108, 48, 24, 98,247,236,217,179, 68, 32, 16,212, 98, 24, 38,221,104, 52,198, 86,219,
+162, 69,177,227,226,214,237,220,104,180, 48,225,114,137,224,145,137, 98,223,230,117,200,243,107,205,178, 65,237, 96,141, 82,163,
+232, 59,130,142,235,127,216, 94, 70, 22,142,227,236,199,170, 29,172, 88, 22, 39, 43,152,171,125,234,106, 4, 75,231,202,106,227,
+202,178,104,125, 2,160, 45,128, 95,178,178,178, 86,142, 30, 61,122,233,246,237,219,189, 52, 26, 13,178,178,178,144,157,157, 13,
+161, 80, 8,165, 82,137,181,107,215, 26,179,178,178, 86, 58,158,131,210, 17,228, 1,192,228,239,239,255,219,182,109,219,130,191,
+254,250,107, 97, 76, 76, 76, 74,191,126,253, 26,175, 93,187,246,190, 88, 44,230, 24,134, 33,204,102, 51,241,206, 59,239, 68, 44,
+ 95,190,252,161, 64, 32, 80, 12, 27, 54,140,240,240,240,248, 5,229,132, 13, 80,171,213, 39,191,255,254,251,193, 83,167, 78,149,
+ 90, 44, 22,151,150, 44,251, 54,149, 74,133,139, 23, 47, 90,242,243,243, 79, 84, 96,197, 56,249,195,209, 35,157,255, 59,124,184,
+152,210,106, 64,105, 53,160, 53, 26, 48,218, 2, 16, 58, 13, 68, 12, 13,185,152, 69,112,152, 12,180,209, 19, 71,126,253,131, 50,
+155,205,229, 6, 54,212,104, 52, 39, 47,196,199,119,109, 91,167,142,240,226,148, 41,176, 82, 20, 94, 77, 74, 42, 22, 87, 86,171,
+ 21, 7,154, 55, 7, 67, 16,104, 57,126, 60,238,210, 52,173,209,104, 78,254, 19, 31,134,235,215,175,103,143, 28, 57,242, 42,203,
+178,173, 43, 99,221,249,167,131,162,168, 82,214, 40,134, 97,138,172,142, 69,150, 3,201,145, 35, 71, 58, 39, 38, 38,138,255,252,
+243, 79,156, 63,127,190,229,246,237,219, 63, 9, 15, 15,111,254,232,209,163,204,138,196,155,171,160,191,176,249, 31,238,218,177,
+ 27,239,190,251, 46,145,153,153,137,239,190,251, 14, 21, 5, 79,253, 59, 16, 19, 99, 98,227,227,101,181,225,228,247,228, 34,164,
+194,239,112, 51,164, 66, 89,156,166,152, 34, 43,153, 44,190, 40,216,168, 41,166,104, 56, 80, 22, 95,161,165, 12, 49,166, 24,141,
+205, 33, 62,163, 6, 56,245,160, 25,185,229,236, 14, 93,191,163,143,180,151, 51,140,243, 0, 28,135,137,225,238, 94,227,174,191,
+244,146,143, 63, 0,152, 77, 76,112,195,134, 13,187, 8,133, 66, 9, 0,120,122,122,190,228,231,231,183, 54, 55, 55,183,163,171,
+ 50,141,142,142,110, 23, 24, 24,216,234,216,177, 99,127,100,100,100,220, 4,240,179,243, 65, 17, 17, 17,179,111,221,186,213, 70,
+ 36, 18, 17, 21,212, 17, 0, 64,151, 46, 93, 94,144, 74,165,126, 71,239,120, 67, 35,110, 0, 78, 80, 8, 8,101, 96, 84, 45,144,
+ 34,110,138,176,176, 43,126,249,249,249, 45, 11, 11, 11,255,168,100,209,119, 27, 60,120,240,230,248,248,248,176, 46, 93,186,112,
+215,174, 93, 35,157, 71, 17, 34, 34, 34,122, 93,190,124,185,245,219,111,191,189,126,231,206,157, 19, 81,114,166,109, 69, 72,177,
+197, 27,172, 49,156, 76,198, 41,128,169, 99,179,153,241, 10,229, 95,128,202,132, 92,168, 70,120,134,106, 37,177, 76, 3, 70, 25,
+219,219,218, 98, 98,181,165, 40,234,247,235,215,175, 31, 24, 54,108,152, 46, 55, 55, 23,126,126,126,168, 91,183, 46, 8,130,192,
+218,181,107,141, 15, 30, 60,216,107,139,165,213, 54, 61, 61,125,128, 77,108,185,130,118,213,170, 85, 59,183,110,221,170,186,122,
+245,170,128,166,105,101,227,198,141, 13,151, 46, 93,242, 20,137, 68,156, 88, 44,102,175, 94,189,170,136,136,136, 48, 17, 4, 33,
+253,241,199, 31,115,175, 92,185, 18, 62,125,250,244,111, 80,114,154,184, 51,118,204,159, 63, 63,237,254,253,251, 48,155,205,208,
+104, 52, 40, 44, 44, 44, 94, 10, 10, 10, 80, 88, 88, 8,145, 72,132,204,204, 76,236,219,183, 47,195, 22, 37,190, 60,203,198,154,
+213,107,215,169, 51, 30,165, 64,169,144,131,214, 20,128, 41,204, 5,180,133,144, 80, 86,120,136, 24,212,110, 32,135, 76,161, 68,
+150, 70,135,248, 75,191,102,218,162,196,151,109, 46,176, 88,214,188,183,124,121, 22, 45, 22,163,206,208,161,176,218,134, 10, 29,
+133, 22, 67, 16, 8,239,209, 3,164,183, 55, 22,236,221,155,101,139, 18,255, 68,193,178,172,192, 98,177,148,151, 15,176, 44,155,
+154,152,152,184, 19,192, 25,130, 32, 56,130, 32, 56, 20, 5,107,211, 61,203, 15, 50, 69, 81,152, 51,103, 14,196, 98, 49,230,204,
+153,131, 79, 63,253, 20, 75,151, 46,197,186,117,235,240,237,183,223,226,200,145, 35,245, 46, 92,184, 32, 62,119,238, 28, 23, 23,
+ 23,151, 19, 17, 17, 33, 24, 63,126,188, 74, 46,151,127, 88, 30,103,108,108, 44,188,188,188, 16, 27, 27,139,197,139, 23, 99,211,
+166, 77, 56,112,224, 0, 46, 94,188, 8,129, 64,192,166,166, 62,134,201,100,226, 86,173, 90,149,118,224,192, 1,227,202,149, 43,
+ 33, 20, 10,137,167,212, 72,124,104, 19, 84,142,150, 32,231,144, 10,185, 0, 86,160, 98,223,168,178, 56, 33,139,143,175,109, 19,
+ 71,201, 14,130,232, 16,128,169, 40,127,122,181,157, 99, 34,128,224, 26,224,156, 37, 31,249,127,137,170,141,183,239, 93,206, 48,
+206, 2,240,131, 61, 79, 74,165, 82,190,127,255,247, 66, 0,216,187,103,159, 40, 41, 41,201,251,251,239,191,151, 5, 6, 6,226,
+219,111,191,149,201,229,242,192, 50, 56,153, 3, 7, 14,152, 37, 18,137,223,184,113,227,250,180,105,211,230, 3, 91, 71,180, 7,
+128,102, 40,154,189, 24,117,239,222,189, 4,127,127,255, 59, 39, 78,156,208,187, 83, 64, 90,173,246,155, 45, 91,182,212,205, 99,
+124,113, 84, 63, 24,241,236, 18, 28, 81,109, 70, 74,157, 79,161,168,245, 50,222,120,227,141, 90, 12,195,108,172,100,185,191, 49,
+104,208,160, 45,241,241,241, 97,227,198,141,203,188,118,237, 90, 22,128,120, 0,219, 28,151, 91,183,110,229,140, 30, 61, 58, 99,
+227,198,141, 33,195,134, 13, 91, 7, 96, 8,255,234,231,193,163,100, 95, 8, 21,205, 58,116,241,194, 45,254,159,157,157,189, 42,
+ 63, 63,255,226,221,187,119,223,183, 88, 44, 33, 4, 65,112, 98,177, 56, 51, 43, 43,107,165, 67,192, 82, 87,126, 37, 61, 97,139,
+181, 65, 16, 4,197,113, 92,106,183,110,221, 62,236,209,163,199, 87,135, 15, 31, 54,117,237,218, 21,123,246,236,241,239,214,173,
+155,129,101, 89,238,232,209,163,254,189,123,247, 54,156, 57,115, 70,255,206, 59,239, 52,110,212,168,209,248,216,216, 88, 53, 65,
+ 16,172, 43, 78,251,187,172,160,160, 96, 80,159, 62,125, 46,238,221,187, 87,169, 82,169, 64,211, 52, 12, 6, 3, 12, 6, 3, 56,
+142,131,183,183, 55,212,106, 53,230,205,155,167, 41, 44, 44, 28,232, 66,184, 57,115,154, 76, 38,211,144,137, 31, 76, 61,185,242,
+243, 57, 94,225,245,234, 33,247,182, 9,180,201, 0, 17, 71,162,246, 11,222, 16, 75,228,184,155,164,197, 71, 59,247,107,141, 38,
+211,235, 46,122,203,165, 56, 11, 11, 11,135,196,124,250,233,169,245,211,167,123,182, 10, 10,130, 64, 32,128,217,108, 6,195, 48,
+ 16,137, 68,136,140,137,129, 56, 32, 0,179,119,238,212,107, 52,154, 33, 40,253, 41, 30,103,206,154,128, 35,231,196,235,215,175,
+143,110,210,164, 9, 38, 76,152,128, 65,131, 6,149, 56,240,251,239,191,199,186,117,235, 96, 54,155, 71, 3,184, 6, 96, 45,138,
+134, 58,224, 36,178,254,238,116,214, 56, 39,195, 48,249, 73, 73, 73,202, 37, 75,150, 16, 86,171, 21,159,127,254, 57,236,130,211,
+ 94,175, 39, 77,154, 84,203,203,203, 11,159,125,246,153, 37, 39, 39,167,251,226,197,139, 79,111,219,182,205,255,155,111,190,121,
+ 3, 64,172, 51, 39,203,178,217, 55,110,220,240, 90,191,126, 61, 73,211, 52,150, 45, 91, 86,106,120,114,236,216,177,176, 90, 41,
+ 8, 4, 66,139,201,100,110, 38,151,203,147,253,252,252,228, 92, 73,231,174, 39,121, 63, 67, 81, 20,194,192,209,241,221,226,232,
+159,133,178, 67, 42, 84,134, 83, 45,139,143,239,106,138,137, 57, 99, 19, 68,137,182, 99,246,216, 77,250,149,224,180, 11,194,170,
+112,158,180, 45, 21,194,100, 50, 65,173, 86, 35, 39, 39, 7, 42,149, 10, 2,129,128, 40, 43,157,102,179,249,207,143, 62,250,232,
+250,198,141, 27,123, 94,190,124,185,255,185,115,231,186,157, 58,117,202,148,146,146, 66, 83, 20,197,133,132,132, 8, 59,118,236,
+ 40,235,219,183,175,135, 84, 42, 37,103,205,154,149,243,197, 23, 95,248,163,164, 15,155,115,222, 5, 4, 65, 96, 90,103, 45, 98,
+187, 9, 96,177, 88, 81, 80, 80,128,180,180, 84, 36, 36, 36,224,242,229,219,224, 56,142,172, 68,185,251, 1,152,245,221,119,223,
+133, 74, 36, 18, 98,231,206,157,181,118,238,220, 89,161, 37,117,251,246,237,181,118,237,218, 53,215, 54,122,145,250, 44, 62,239,
+ 60,231, 63,150,243, 89,134,115,100,120, 84, 40,180,108,237,124, 91,216, 62, 74, 74, 81,212, 47, 46, 66, 56,124, 2, 96,142,131,
+ 21,172, 34,115,158,134,227,184,243, 61,123,246,156,212,163, 71,143,229,189,122,245,202,200,200,200,168,191,108,217,178, 48,154,
+166,173, 9, 9, 9,100,114,114,114,202,111,191,253,214,160, 81,163, 70,227,111,221,186,117,150, 32, 8,171, 27, 25, 76, 72, 78,
+ 78,238,208,173, 91,183,125,227,199,143, 15,111,215,174,157, 68,165, 82, 65, 40, 20,226,254,253,251,248,227,143, 63, 44,187,118,
+237, 74, 45, 40, 40,168,204, 39,120,126,121,152,150, 22, 53,108,242,251,123,199, 15,234,239,255,159,198, 47, 72, 66, 66, 66, 0,
+163, 17,183, 31,101,226,202,237, 63,172,155,206, 95, 81,155,205,230, 33,112,255, 19, 60,191,252,118,247,110,207,238,211,167,239,
+157,251,223,255, 6, 33, 35, 67, 24, 18, 18, 2,137, 68,130, 7, 15, 30, 32,153,101,233, 69, 27, 54,100,217, 68,214,147,142, 10,
+ 47, 5,176,132,101, 89, 33, 0,200,229,114,188,247,222,123,112,252,228,206,186,117,235, 96, 52, 26, 1, 64, 72, 16,196, 18, 0,
+155,159,117, 43,150, 29,121,121,121,179, 95,125,245,213, 56,161, 80, 88,102,212, 91, 31, 31, 31,104,181, 90,208, 52,205,164,165,
+165,221,246,241,241,129, 72, 36, 2,199,113, 46,159,163,220,220,220,217, 67,134, 12,153, 79,146,100, 89,150, 15, 40,149,202,148,
+211,167, 79, 55,124,251,237,183,201,255,253,239,127,247,199,141, 27, 39, 61,125,250, 52,195,113,220,190, 39,125, 15, 58,117,218,
+ 1,172,143,121, 29,192,235, 64, 41,135,247, 52,219,182, 74,133, 84,232,212,105, 7,214,227, 47, 78,199, 97, 60,187, 32,178, 89,
+161,154,202,226,227,151,163,200,207,162, 92,238, 78, 59, 58, 97,125, 12,106,148,211, 29, 56,106, 95,189, 94, 15,134, 97,202,179,
+230,253,190,103,207,158,229,191,253,246, 91,192,164, 73,147,234,255,247,191,255, 85,118,235,214,205,211,241, 0,163,209,200, 30,
+ 58,116, 72,191,110,221,186,194,243,231,207, 63, 28, 59,118,108,187,242,210,249,232,209,163, 35, 11, 22, 44,240,238,219,183,111,
+ 35, 0,197,254, 89,106,181, 26, 41, 41, 41,248,243,207, 63, 83,172, 86,235,193, 74,100, 41, 23,192,220, 17, 35, 70, 44,217,186,
+117,107,173,113,227,198,101,238,218,181,235, 79, 20, 5, 44,118,134,106,208,160, 65,205,183,110,221, 26, 50,110,220,184, 76, 20,
+249,145,165,130, 7, 15, 30,118,116, 69,105, 63,173,114, 71, 38,182, 88, 44, 22,206,100, 50,113, 6,131,129,211,233,116, 28, 92,
+127, 5,254, 64,122,122, 58,151,154,154,202, 61,122,244,136,123,248,240, 33, 7,224, 91, 39,197,235,170,193,242,216,190,125,123,
+131,208,208,208,207, 21, 10,197,113,129, 64,160, 17, 8, 4, 26,169, 84,250,131,159,159,223,167,139, 22, 45, 10,229, 56, 78, 92,
+142,138, 46, 11, 66,145, 72,244,118, 96, 96,224, 1, 95, 95,223, 84, 31, 31,159,212,192,192,192, 3, 34,145,232, 93, 0,162, 10,
+148,121, 89,144, 9,133,194,143, 60, 60, 60, 78, 74,165,210,108,169, 84,154,237,225,225,113, 82, 40, 20,126,132,242, 3,169,150,
+203, 41,145, 72, 62, 10, 8, 8, 56,169, 84, 42,179,149, 74,101,118, 64, 64,192, 73,137, 68, 82, 29,206,234,244, 74,236, 66,203,
+192,217, 64, 16, 4,213,178,101,203,245,173, 91,183, 94,219,186,117,235,181, 45, 90,180,248,218,102,149,228,108,214, 22, 3,202,
+ 14,222,248,119,166,243,169,113, 70, 70, 70,110,219,186,117, 43, 59,123,246,108, 77,163, 70,141,242,102,207,158,173,217,186,117,
+ 43, 27, 25, 25,185,173,170,156, 65, 65, 65,117, 34, 35, 35,243, 54,110,220, 72, 39, 37, 37,113, 27, 55,110,164, 35, 35, 35,243,
+156, 34,195, 63,137,188, 19, 0, 34,108,214,159,131, 0,118,163,200,249, 61, 20, 0, 17, 99,138,225,108,179, 15,143, 3,232, 85,
+ 70,217,187,203, 25,102,138,137,225,108, 62, 85, 39, 0, 36, 58,172,119, 65, 73,255,175, 39,193,233, 18,205,154, 53,187,203, 57,
+192, 98,177,112,106,181,154, 75, 74, 74,226,206,159, 63,207,133,133,133,221,117,131,211, 15,192, 59, 0, 14, 5, 7, 7,223,106,
+223,190,253,163, 14, 29, 58, 60,170, 83,167,206,125,145, 72,116, 25, 69, 17,222, 35,109,203, 18, 0,141, 42,224,108,175, 82,169,
+ 22,132,133,133, 29,108,216,176,225,197,186,117,235, 94,246,245,245, 61, 44,147,201, 22,226,175,200,216,149,173,243,221, 6, 15,
+ 30,156,162,211,233,152,151, 94,122,233,150,171,147,154, 52,105,114, 65,167,211, 49,195,135, 15, 79, 5, 16,253,111,120,222,121,
+206,167,194,249,220,193, 85, 84, 4, 59, 26,218, 4,211, 1,135,229, 19, 23,199,125,226,116,204, 22,219,185, 21, 22, 4,199,113,
+ 2,142,227, 60, 56,142,243,230, 56,206,151,227, 56, 21,199,113,158, 28,199, 73, 43, 48,127,243, 21,251,239,227,156,104, 19, 80,
+ 6,219,127,103, 84,180,255,185,190,159,161,161,161, 62,109,218,180,153,188,127,255,254,143,238,221,187,247,209,254,253,251, 63,
+106,211,166,205,228,208,208, 80,159,234,164, 51, 40, 40,168, 78,211,166, 77,191,106,210,164, 73,106,211,166, 77,191,114, 18, 89,
+ 79, 50,239, 18,155,136,105, 98, 91,234,219,182, 17, 40,138,133,181,198, 38,108, 34,202,232,169, 85,134,211,206,119, 16, 64,111,
+219,114,208,182, 45,236, 41,112,150, 66,189,122,245,142, 53,111,222,252,110,139, 22, 45,146, 91,180,104,113,183, 89,179,102,119,
+ 27, 55,110,124, 55, 34, 34,226,110,237,218,181,239,250,251,251, 31,171, 66, 25,249, 2, 8, 65,233,207,128, 61,237, 58,223, 53,
+ 50, 50,242,138, 76, 38,115, 25, 27, 76, 40, 20,206,109,209,162,197, 13, 20,205,148,228,219, 79,158,147, 23, 90,162, 32,200, 0,
+ 0, 0, 32, 0, 73, 68, 65, 84, 53, 32,180,248, 10,243,239,229,148,162,252,207,140, 84,180,159,191,159,207, 54,167,203,111,117,
+217,132, 76,125,155,192,145,212, 0,167, 35,159,189, 78, 69, 56,136,166,167,193,201,215, 37,158,147,231,228,133, 86,141, 11, 45,
+ 33,127, 27,120, 56,193, 92,205,253, 60,158,241,118,161,140,237,174, 98, 98, 85,135,211, 21,223,189,167,204,201,131, 7, 15, 30,
+ 53,213,118,118, 5,112,214,222, 43, 44, 75,149, 86,102, 54, 65, 85,148,237, 41,158,147,231,228, 57,121, 78,158,147,231,228, 57,
+255,117,156,118, 44, 47, 99,251,109,167,245,175,159, 81,225, 69,240, 67,135, 60, 39,207,201,115,242,156, 60, 39,207,201,115,254,
+ 83, 56, 93, 97,252, 51, 42,178,186, 0,252,208, 33, 15, 30, 60,120,240,224,193,131, 71, 77,163,226, 56, 90,187,119,239, 22,216,
+255,143, 24, 49, 98, 44,195, 48,147,237,235, 2,129, 96,245,119,223,125,183,185,188, 43, 12, 29, 58,148, 41,143,211, 21, 42,186,
+142, 43,206,102,141,148, 19,252,188, 21,239, 23, 20, 26, 86,220, 79,103,206,155, 76,166,166,246,125, 50,153, 44,113,243,230,205,
+119,106, 58,157, 99,199,142,109,228,124,157,186, 97,162,174,190, 94,178,247,242, 10,116,203,110,222,213,125,205,215,177,167, 2,
+127, 0,209, 94, 50,241,128,102, 42,113,251, 63,115, 77,151,244, 86,230, 16,138,102,195,230, 63,143, 25, 14, 14, 14,110,172, 84,
+ 42, 71, 1,104,102, 48, 24, 2, 21, 10, 69, 54,128, 4,141, 70,179, 45, 51, 51,243,182,187, 60, 93,234, 34, 5, 64,184,109,245,
+209,217,135,168,227,206,190,138,208, 43, 2, 38, 14,144, 18, 4,172, 39,146,255,114, 70,239,221, 0, 38,150, 43,189,189, 87, 3,
+ 88, 56, 14, 98, 2, 48,159,184, 7,217,115, 84, 84, 74, 0, 81, 40, 10,225,112, 29, 69,225, 39, 12,252, 35,203,131,199,115, 5,
+231, 64,165,197,235,194, 50,196, 68,103,177,144,248,138, 3,167, 2, 56, 63,179,217, 44,146, 72, 36,176, 88, 44, 80, 40,228,107,
+222, 25, 55,246,115,144, 40,160,104,188,183,121,243,230, 42,127,233,186, 50,215, 1,240,147,243,249, 62, 74,249,252, 51,135, 62,
+246,233,220,111,209, 66,203,131,156, 88,173, 86, 75, 74,165, 82,152,205,102,120,123,123,119,152, 48,126,252, 75,164,136,179,136,
+197, 30,151,150, 47, 95,158, 89,213,116,126,248,225,135,193, 86,171,233, 21,150,101, 37, 22,139, 69,234,124, 29,111,133,199,162,
+ 51,135, 62, 86,116,137, 94,248, 57,192, 11,173,167, 0, 73, 29, 31,143,179, 43, 70,116,109,210,190, 89, 67,176, 9,231, 96,178,
+ 88, 7,156, 73,213, 13,248,244,114,250,212, 84,157,181, 53,106, 32, 96,229, 63, 8,130,250,245,235, 79, 10, 8, 8, 24,190, 97,
+195, 6,113,253,250,245, 33,147,201, 96, 52, 26, 67,238,221,187, 23, 50, 97,194,132, 46,114,185,124,231,253,251,247,215,192,189,
+ 15,193,133,159,217,242,127, 0,128, 14,163,230,133,163,232, 99,209, 6,231,125, 93,199,204, 11, 7, 48, 29, 37, 63,140,156,129,
+162, 16, 10,174, 90, 29,201,225,173, 75, 49, 96,244, 71, 66, 0, 19,138, 19, 79, 2, 63,124,187, 18,125, 70,188, 95, 98, 59,193,
+ 65,120,104,235, 82, 68,143,254,168,204,239, 40,246,110, 72, 80, 44,203,149,105,137, 39, 73,130, 62,126,151,115,245,129,225, 44,
+ 20,197, 0, 43, 69,137,162, 15, 58,187, 60,190, 95, 99, 65,150,149, 98, 92, 6,156, 21,139, 4,217, 71,110, 51,165,206,141,105,
+ 5,138, 98,138,218, 86,177, 16,204,129,251,222,103,102,205,154, 37,140,142,142,198,166, 77,155, 58,126,253,245,215,227,181, 90,
+237,143,182,251,150,204, 63,190, 60,120, 60,215,130,203,181,208, 18, 10,176,254,224,222,205, 13,178,178,115, 16,243,246, 52,236,
+216,177, 3,249,249,249,240,241,241,129, 68, 44, 22,173, 88,242,127,193, 74,165, 71,112,204,248,216,245, 0, 26, 87, 53, 53,149,
+188, 78, 67,231,243, 9,219,167,116,132, 2, 82, 36,145, 72,200,157, 59,119,162,160,160, 0, 42,149, 10, 18,137,136, 92,190,240,
+ 19,185, 82,233, 41,127,107,226,140,142, 40,138,255, 83, 37, 88, 44,186,142,251,119,108, 86,170,213,106,140,121, 55, 22,206,215,
+ 17,139,197,140,253,197,194,215,177,167,130, 89, 27,222, 27,221,228, 69, 47,192,122,243, 34, 68, 2, 1, 20,222, 62,136, 18, 10,
+ 32, 32,208, 52,230,248,195,153, 0, 62,125, 94, 50, 91,191,126,253, 73, 67,135, 14, 29, 62,127,254,124, 49, 73, 22,133,156,211,
+235,245, 48, 26,141, 8, 13, 13,197,153, 51,103,196,179,103,207, 30,254,253,247,223,227,254,253,251,171, 42,203,127,243,230,205,
+186,225,225,225, 38, 0,232,223,220,203,121, 95, 29,251, 62, 0,240,242,242,170,144,207, 79,229, 97,190,121,243, 74, 51,251,121,
+147,122,132, 50,101,108, 55, 1, 80,148,199,197,178,156,240,196, 87, 19,202,220,255,246,252,237,244,245,221,231, 27,215,175, 95,
+223,232,184,221,211,211,179,172, 83,130,116, 58, 93,184,243, 70,251,241, 86,138, 9, 44,235,122,189,222, 91,231, 82,128, 81, 12,
+132,219,183,111, 7, 0,124,249,209, 72,193,198,159,115,132, 66, 97, 81, 83,187,100,201, 18,204,157, 59, 87,114,252,248,241,190,
+ 91,183,110,237,123,224,192,129, 21,101, 9, 85, 30, 60,120, 60,147, 34,203,241,183,108,161, 69, 18,132,151,210,203, 19,175,191,
+241, 14,142, 29,251, 1,157, 59,119, 46,222, 87,175, 94, 61, 12, 29, 50, 16,223,109, 89, 14, 0, 94,213, 73, 81,117,175,147, 95,
+168,255,180,207,240,175,230, 61,202,212, 93, 62,124,248, 48, 58,117,234, 84,226,252, 55,134,189,142,111,191, 89,130,114,162,204,
+187, 5,130, 35,197, 94, 74, 15,140,136,121, 23,174,174, 51,126,204,160,195,189,135,174,236,153,149,171, 95,206,215,179, 39,143,
+ 6,193,126,189,154, 55,105,140,252,125,107,240, 71,129, 9,199,210, 77,120, 43,234, 63,136,244,149,163, 19,205, 32,216, 67,212,
+ 61, 83, 79, 61, 23, 66, 43, 56, 56,184,113, 64, 64, 64, 9,145,165,213,106,161,211,233,160,209,104,160,213,106, 65,146, 36, 98,
+ 99, 99,197,103,207,158, 29, 30, 28, 28,124,202,141, 97,196, 71, 54, 75, 22, 32, 16,233,230,204,153, 99, 14, 12, 12, 52, 43, 20,
+ 10, 78, 40,150,106,187,142,153,231, 5, 0,164, 80,172, 93,177, 98,133, 37, 52, 52,212, 36, 20, 10, 37,239,191,255, 62,233, 78,
+154,205,102, 51,231,200,105,177,152,139,183, 47, 90,180,200, 18, 20, 20,100, 86, 40, 20,156,213,234,190,209,241,198,131, 60, 72,
+197, 2, 72,197, 2,200, 36, 34,120,213,109, 3,105,254,159,160,105, 26,139, 23, 47,182, 6, 7, 7, 91, 20, 10, 5, 39,145, 72,
+196, 83,166, 76,169, 48,157, 99,199,142,229, 84, 42,149, 85,161, 80,136,231,206,157, 91, 42, 24,235,233,235,105,144, 75, 68, 80,
+ 72,133,104, 88, 47, 12, 82,206,232,118, 90, 5,130,146,222, 8, 82,169, 20, 29, 59,118, 68,179,102,205,112,224,192,129,174,188,
+208,226,193,227,185, 64,153,159,219, 17, 2,192,225,195,135,187,160,232,131,136,136,142,142, 38,138,206,224, 48,125,210, 16,188,
+ 53,102, 4, 24,134, 45,142,110, 74,144, 4, 38,190,217, 23, 44,235,206,136, 68,197, 83, 60,171,112,157, 98, 78,142, 32, 5, 0,
+208,160, 78, 8, 55,254,173,255,130, 97,217,191, 6, 74, 4,192, 59, 99,250, 20,109,171,129,116, 10,192, 96,218,132,215,224,234,
+ 58,141, 27,212, 34,105,171, 9, 68,201,143, 61,254, 29, 31,219,228, 57, 93,160, 89,237,144, 8,202,104,132,201, 68, 33,254,118,
+158,241,100,154, 62,144, 84, 61, 84,175,124,189,157, 76,160, 78, 71, 29, 47, 73,195, 76, 61,245, 92,228, 93,169, 84,142,218,176,
+ 97, 67, 41,145,149,149,149, 69,234,116, 58, 88,173, 86, 86,171,213,130, 97, 24,204,152, 49, 67, 52,123,246,236, 81,153,153,153,
+115,237,154,199, 21,167,205,239,106,250,205,155, 55,235,204,154, 53,203,218,189,123,247, 71,245,234,213,211, 11, 4, 2,132,132,
+132,172,140,138,138,242,157, 63,127,190,181,111,223,190, 15, 5, 2, 1, 26, 54,108,168,255,243,207, 63,235, 0,144,187,155,119,
+ 71,206,205,167, 87,115, 0, 64, 16, 4,162,162,162, 82, 26, 54,108,168, 23, 8, 4,184,115,104, 17,231,238,253, 20, 9, 73, 52,
+ 10,245,182, 53, 34, 4, 32,247, 44,246,196,139,138,138, 74,109,220,184,177,142, 36, 73,220,184,113, 35, 12,165, 63,107, 85,138,
+ 83, 46,151, 83,111,188,241,198,163,219,183,111,187, 58, 30, 66, 1,137,118,141,109, 6,172,208,214, 64,234,133, 50,211, 41, 18,
+128,158, 61,105,164, 80, 37, 3,164, 94,254,102,141, 70, 3,165, 82, 89,100, 33,179, 90,241,251,239,191,163,125,251,246, 93,118,
+239,222,125,150,127,222,121, 78,158,243, 47,184,210, 34,207,160, 53,203,241, 67,247, 37,124,180,206, 56,103,138, 97,104,212, 11,
+ 15,194,162,255, 27, 11,134, 97,193, 48, 12,104,219, 47,195, 48,160,172,214, 26, 73, 89,117,174,227,163,148,207,255, 97,231,123,
+ 62,221, 7, 45,233, 17, 55,107,204, 73,134, 1, 88,150, 2, 69, 1, 12, 75,129,101, 24, 80, 84,205,184,230, 80, 44,139, 58, 97,
+193,136,155, 53, 6,206,215,217,246,221,238,254,167, 15,198, 42, 58, 71, 47,156,118, 39,197,176,152, 23,246, 79, 22, 50,177, 84,
+200, 9,101,176, 88,104,104, 45,172, 5,128,222, 68,177, 86,206,195, 95, 6, 0, 66,146,120,158,102,215, 54,171, 95,191,126, 9,
+145,181,116,233, 82,255,181,107,215,134, 2,192,144, 33, 67,210,122,244,232,145,147,148,148,132,144,144, 16, 34, 39, 39,167, 31,
+128,247,109,231, 78, 7,176,182, 12, 94,125,120,120,184, 41, 32, 32,192,108, 23, 68, 36, 73, 66, 40, 20, 34, 60, 60,220, 20, 24,
+ 24,104,110,216,176,161, 94, 44, 22,131, 36, 73,216,133,158, 91,221, 60,130,128, 64, 32,128,157,211,217,218, 99,231,172, 12, 68,
+ 66,178,116,243,230,192, 73,146,164,203,235,149, 89,135,100, 50, 14, 64,153,199, 11, 72,135,230, 81, 88,190,135, 64,252,239, 16,
+ 1, 56,195,113, 28,174, 93,187,134,251,247,239, 67, 44, 22, 35, 56, 56, 24,115,231,206,133,217, 92,164,119,135, 14, 29,218, 5,
+192, 13,254, 9,230,193,163, 24,103,158, 65,129,229,108,213, 42,223, 71,235,240,225,195, 93,162,163,163,207,218, 5, 80,145,216,
+113, 33,126, 40, 26, 20,101, 5,106, 32, 16, 87,121,215, 97, 24,182,220,235,216,125,180, 88,150, 19,186, 20, 89, 44, 11,154,162,
+106,228,238,177, 12, 5,150,165,224,234, 58, 4, 65, 50,182, 6, 95,204, 63, 39, 79, 30,193,225,117, 72, 42,188, 30,206,211, 38,
+132,250, 73, 37,200, 49,162,254, 11, 77, 4,191, 27, 40, 92,188,158, 8,127, 79,229,115, 83, 46, 6,131, 33, 80, 38,147, 65,175,
+215, 23, 91,178,214,174, 93, 27,106,177, 88, 72, 0, 16, 10, 69, 97,106, 54, 84,198,176,128,183, 50, 3,249,249,133,126, 28,199,
+ 17, 54,193,179, 4,192,102,148, 19,221, 95, 44, 22, 23, 11, 20, 71, 1, 36,149, 74,171, 36, 96,236,176,139, 51,177, 88,236,114,
+187,243,240, 90, 69, 16, 59, 10, 45,112, 69, 86, 45, 39,177, 37, 16, 8, 96,247,141,170, 8, 18,137,164, 56,239,174, 32, 20, 56,
+ 92, 79, 80,121, 87, 76,171,213, 10,157, 78,135,130,130, 2,200,100, 69, 6, 51,142,227, 64, 16,196,251, 0, 62,224,159, 98, 30,
+ 60, 92,107,145,103, 88,108,185, 22, 90, 40, 50,217, 17, 0, 64, 83, 86,151,226,103,247,161,139,120,148,169, 71,176,255, 47,224,
+202, 25,147,116,133,225,195,135,111, 9, 9, 9,105,103, 95,151,202, 61,253,198,191,247, 25,104,218, 10, 47, 57,137,183, 71,245,
+ 41, 33,178,138, 44, 90,150, 50,191, 9,146, 95,168,255,180,207,208, 85,243,188,149,126,151,157,197, 79, 92,252,213,215,243, 53,
+230, 48,146,252, 21,249, 68, 8, 51,244,157,207,198, 58, 52,238,215,119,174,155, 51,213,109,123, 32, 65,138, 94,159,176,114, 60,
+ 39,244,108,170, 32,181,231, 62, 30,243,159,253,142, 98,206,215,215,247,112,175,215, 87,244,204,202,227,125,180,158, 6,188,188,
+ 85,100,216,203, 93,241,242,251, 95,225,244, 39, 31,115, 64, 62,252, 66, 66,201,110,147,190,128,231,203,253,113,229,237, 81, 44,
+144,247, 92,228, 85,161, 80,100, 27, 12,134, 16,163,209, 8,141, 70, 3,141, 70, 83, 82, 16,136, 68,196,248,119, 39,251,139,196,
+ 18, 80, 86, 11,142,109,251,162, 66, 78,123, 8,135,254,205,189, 32, 16, 73,180, 9,245,235,175, 20, 10,133, 32, 73, 18,135,214,
+124,252,254,190,101,239,121, 1,192,245,195,107, 52, 35, 98, 87,175, 34, 73, 18,102,179, 89, 90,153,116, 63,126,252, 56,204,108,
+ 54,155,108, 2,205, 46,252,240,224,193,131,218,102,179,217,232,184,221, 29,200, 21, 94,128,170, 30,160, 8, 44,101, 61,123,248,
+240, 97, 45,138,162, 12, 66,161, 16, 22,139,197, 45, 85, 68,146,164,248,198,141, 27, 97, 44,203,186, 60,190, 89, 68, 45, 32,184,
+ 57, 32,241,118, 59,207,238, 68,132,182,137, 45, 14,149,108, 75,121,240,120,222, 45, 91,207,224, 51, 65,148,241,191, 88,104,117,
+ 61,124,248, 48,231,216, 67,164, 41,202, 38,178,254, 18, 61, 12,195, 34, 93,109, 66, 82,210, 29,172, 88,177, 2, 23,175,124,228,
+ 61,127,254,124,233,236,217,179,205,195,135, 15, 95,198,178,108, 11,146, 36,175,227,175,161,138,146, 86, 33,150,173,125,245,234,
+213,250,246,117,138,162,224,229,229, 5, 47, 47, 47, 52,110, 24, 86, 74,100, 49, 12, 3,107, 57, 67,135,118, 31, 45,130, 99, 57,
+138, 98,192,176,108,177,248,201,215,152,195, 14,158,186,214,192,225,240, 23,236,127, 58,182,105, 90,182, 24,156, 48,183, 56, 31,
+ 59,215,205,153, 58,127,211, 38,105, 62, 19, 48,101,196,235,111, 69, 14, 29, 49, 10,111,188,246,106, 23,179,197,114, 64, 64,114,
+ 44, 85,124, 61,144,224,224,236,163,197,227, 9, 33,185, 64, 79,137,164,114,120, 6,215,197, 29, 29, 35, 22, 8, 4,191,220, 43,
+ 48,136, 73,129, 16,164, 80,140,132,124, 19,245, 28,101, 55, 33, 57, 57, 57,164,118,237,218,208,104, 52,160,105,154, 29, 50,100,
+ 72,154, 80, 40, 10, 19,138, 68, 68,244,136,201,108,102,102, 58, 69,146, 2,112, 28,131, 87,135, 78, 32,164, 50,185,216,106,177,
+208, 40, 26, 58,116,101,205,114, 12,225,224, 21, 21, 21,229,107,159, 9,184,111,217,123, 94, 14,251,148, 47,189,244,146,175,227,
+172, 67, 55,173, 69,196,240,225,195,229,225,225,225, 4, 0,252,186,109,150,221,122, 70,244,239,223, 95, 22, 30, 94,228,135,255,
+227,154,247,220,230,244, 87,112, 64,225, 3,160,240, 97, 41, 75, 86,255,254,253,165,245,235,215,175,212,179,104,115,128, 47, 51,
+118,151,135,144, 6, 50,175,185,197, 21,211, 10, 84,168, 39,132,203, 94, 37, 33,241,244, 51,183,251,248,248,207,188,216,226,193,
+195, 45, 56,105,145,103, 10, 93,108, 2,177,171,237,183, 88,112, 9, 1,192,102,162, 35, 28,116, 22, 40,218, 90, 74,100, 49, 12,
+ 3, 17, 97,198,138, 21, 43,240,193, 7, 31, 0,128,120,234,212,169,251,231,207,159, 63,152,101,217, 22, 28,199,117, 34, 8,162,
+188, 94,227,153,144,144,144, 44,142,227, 68, 36, 73,118, 90,179,102,141,111,223,190,125,225,229,229, 5,142,229, 74,137, 44,134,
+ 97, 97,181, 90,202,252,204,173,143, 82, 62,255,135,221, 83,124,186, 15, 92,210,131, 97,217,147,118,145,197, 50, 12,192, 22,157,
+148,155,157,134, 19,199, 14, 96,253,186,245,249, 32,184, 91,224,192,218,196, 32,202, 16,131, 45, 46,252,154,216,169, 99,155,166,
+152,191,105,147,244,230,213,140,253,147, 63,156, 25, 57,116,196, 40,236,254,110, 27, 72,186,224,154,163,200, 98, 40, 22,133,249,
+ 57,253,127,226,125,180,158, 22,124, 79,156, 60, 73,140, 26, 53,138,213,106,181, 16, 75, 36, 44, 69, 81,130, 87, 94,121,133,249,
+224,131, 15,200,204,204, 76,104,180, 58, 33, 0, 95, 60, 7,102, 45,141, 70,179,109,194,132, 9, 93,206,157, 59, 39, 38, 73, 18,
+ 26,141, 6,221,186,117,203, 81,179,161,178,241,239, 78,246, 79, 79, 79,163,149,114,161, 89, 44, 22, 33, 59, 59,155,237,210,119,
+164,113,196,216, 15,106,125, 48, 43,110, 67,198,165,117,107,221,185,134,227, 76, 64,231,125, 27, 55,110,180,132,134,134,154,164,
+ 82,169,100,204,152, 49,110,141, 31, 90, 44, 22,110,209,162, 69,102,231,217,133, 22,139,133, 91,177, 98,133, 37, 44, 44,204, 44,
+151,203, 57,138,170,216,239,147, 36, 9,250,237,249,219,105,154,166, 75, 88,177,236, 34,139, 98, 9,221, 87, 95,125,101, 13, 11,
+ 11,179, 40, 20, 10, 78, 42,149,138,221, 73,231,228,201,147, 57, 31, 31, 31,171,135,135,135, 56, 54, 54,182, 90,179, 14, 41, 6,
+194,249,107,138,195, 59, 72,189,188,188,160,213,106,139,211, 26, 18, 18,194,139, 45, 30, 60, 92,160,148, 22,121, 54,173,112,238,
+197,209, 98, 1, 93, 86,118, 78,160,127, 80, 93,208, 52,109, 91, 40,208, 20,133, 41,239,140,192,178,117, 95, 1,128, 93,108, 69,
+ 77,157, 58,117, 63,128, 10, 27,179,157, 59,119,206,155, 58,117,170, 50, 43, 43,235,248,150, 45, 91,124, 71,142, 28,137,233,211,
+167, 99,201,146, 37, 16, 73,100,240, 13,168, 93,124, 29,251,117,115,212,121,224,192,233,202,176,211, 89,139, 26, 41, 8,253, 2,
+234,128, 98, 40,176, 20, 5,138,162, 64, 8,138,178,118,226,216, 1,140,124,115, 50, 68, 82,165,207,234, 21,139,141,145, 47,135,
+ 12,158, 61,110,156,217, 13, 35, 32,121,243,106,198,254,201, 31,196, 70,217, 69,214,222,109,235,110,125, 57, 99,224, 14,169, 68,
+ 88,124, 29,138,101, 65,146, 2,222, 71,235, 41,137, 44,169, 84,186,231,232,209,163,119, 91,183,110, 77,232,245,122, 80, 20,133,
+156,156, 28,236,223,191, 63,129,227, 56,248,248,248,224,232,209,163,236,200,145, 35,247,152,205,230,215,159,117,177,149,153,153,
+121, 91, 46,151,239,156, 57,115,230,136, 25, 51,102,136, 88,150, 69, 82, 82, 18, 64, 16,156, 72, 44, 1, 73,146, 16,137,132, 40,
+ 44,212,176, 10, 79, 85,134,149, 19, 40, 68, 98, 9, 72,129,184,188,105,194,143,108,193, 72, 65, 10,197, 90,251, 76, 64,177, 88,
+140, 43,187,151,106,186,142,153,167, 4, 0,177, 84,158,223,171, 87,175,148,166, 77,155,234,127,251,237,183, 58, 40, 61,235,208,
+249,249,164, 7,141,137, 21, 40,228, 50,125, 84, 84,212, 35, 59,231,195,147,171, 53,163, 38,206, 34, 8,129, 68, 31, 29, 29,157,
+ 18, 25, 25,169, 23, 8, 4, 72, 60,176, 88, 51,104, 76,172,140, 40, 39,200,234,241,187,220,219,215,119,159,111,252,197, 23, 95,
+ 80,255,207,222,117,199, 53,113,254,225,231, 46,155,189, 71, 16, 68, 69, 81, 20,112,139, 11,197, 58,235,108, 21, 23,110,235,174,
+179,117,214,129, 91,169, 27,181,206, 90,139,155,106, 85,212, 58,234, 66,197, 5,226, 96,168, 40, 32, 35,108, 8, 16,178,115,247,
+251,131,132, 6,100, 36,104,107,237, 47,207,231,147, 79,146,187,247,158,123,111, 63,247,125,191,163,111,223,190, 41, 26,127,177,
+164,164, 36,167,126,253,250,113,183,110,221,170,232,215,175, 95,170,151,151, 87, 49, 73,146,136,140,140,116,174,206, 82,165,129,
+145,145,145, 98,226,196,137,239,158, 63,127, 94,219,168,195,106,225,226,226, 2,138,162,208,173, 91, 55, 72, 36, 18,131,101,203,
+ 0, 3,254,155,168,152, 71,171,234,204,240, 10,165,226,219, 41,179, 87,238, 4, 8, 83,173,187,192, 95,134, 37, 26,196,247,223,
+127,103, 2,192, 72, 35,182,230,206,157, 91, 99,153, 19, 45,145,213, 38, 32, 32, 0,139, 23, 47,198,230,205,155, 85, 63,254,248,
+ 35, 35,254, 85,162,124,220,244, 21, 5, 21,214, 3, 26,116, 49,165,160,190,173,140, 47, 95, 40, 90,225,219,111,195,202,180,204,
+146, 59,227,166, 45, 45,187,123,169, 0, 20, 18,124, 21, 0,236,249,233, 39, 17,139,107,110, 50,116,196,104, 0,232,185,115, 91,
+208,153, 53, 56, 80,179,216,162, 9,143,111,231, 46,176,210,136,172, 93, 91,215, 62,183, 32, 50,131,103,126, 23,163,208, 94, 15,
+ 0, 88,155,225,140,111,191, 13,189,179,242, 68,219, 13,231,217, 63, 7, 14,135,179,250,250,245,235, 38,222,222,222, 68,110,110,
+ 46, 84,170,210, 35, 34,151,203, 33, 20, 10, 81, 84, 84, 4,169, 84,138,214,173, 91,147, 59,118,236, 48,153, 57,115,230,106,153,
+ 76, 54,253,115,223,238,183,111,223,238, 58,119,238, 28,110,221,186, 53,124,209,162, 69, 44, 71, 71, 71,194,194, 34,147, 80,200,
+101, 0,104, 58, 59, 59,155, 50, 54,181, 20,216, 58, 56,191, 75,207,200,242, 80,200,101,160, 84,242, 42,189,205,213,233, 29,190,
+127,241,226, 69,189, 77,155, 54,201,180, 35, 1, 71, 44,216,185,163,117,235,214,214,193,193,193,178,254,253,251, 39,107,156,215,
+117,113,134,191,242, 6,179, 95,188,120,214,172, 34,167,223,228, 77, 7, 53,156,218,209,136, 3,190,219,123,176, 81,163, 70,214,
+158,158,158,201,213,241, 54,104,208, 64,204,231,243,101, 77,154, 52, 41,102,177, 88,165,150, 44,133,162,164, 65,131, 6,148,131,
+131,131,172,105,211,166,197,250, 58,237, 27, 25, 25,209, 26,171, 88,101,208, 39,234,144,197,128, 50, 32, 32,160, 44, 51,252,247,
+141, 26, 9, 70,143, 30,205,159, 55,111, 30, 14, 30, 60,136,187,119,239,190, 39,246,187,118,237,138,219,183,111,175,196,127, 40,
+177,174, 1, 6,252,159,161,250, 60, 90, 21,113,232, 80,200,159,208,242,105,170, 12,107,214,172,225,170, 45, 89, 61,231,204,153,
+ 3,177, 88,108, 85, 73,179, 30, 80,231,218,168, 76,100, 5, 5, 5, 29,163,105,218, 25, 64,103,149,138,122,176,255,192,161,110,
+ 85,173,111,232,208,161,239,113,210, 4,201, 32, 73,162,152,195,162,159,252,180,239,224,145,114,237, 75,157,223, 27,131,192,211,
+157,219,130,196, 0,122, 86, 20, 91,248,171,204, 72, 25,167, 6, 83,167, 77, 45, 19, 89, 59,183, 5, 93,245,108, 83,247,235,165,
+223,172,174, 84,156,173, 94, 49,197,132, 36,137,142, 21,124,180,222,227,252, 8, 48,112,254,133,110, 1, 1, 1,205,125,124,124,
+ 72,109,145, 37,147,201,202, 18,119,106,156,197,211,210,210,208,181,107, 87,178,121,243,230, 94, 15, 31, 62,236,134,191,202, 57,
+125,174,219,174,122,251,246,237, 14, 71, 71,199,107,203,151, 47, 31,157,147,147,211, 47, 63,191,192, 38,236,208,106,244, 25, 58,
+141,232,218,119,164, 72, 70, 51,121,169,130,204, 38, 55, 47, 30,181,190,116, 98, 23,228, 50,217, 20, 0,113,248, 43,189, 67, 69,
+206, 18, 77, 26,135, 38, 77,154,136,180,133, 74,221,186,117, 37, 78, 78, 78, 82, 79, 79,207,178,233, 85, 68,243,189,183,237,250,
+114,170,253,191, 68, 53,237, 79,141,104,171,152, 54,194,216,216, 24, 26,241,165, 79, 63,181,163, 45, 43,189, 81,214, 28,117, 88,
+198,169, 78,239, 80, 78,167,133,132,132,244, 8, 9, 9,105, 3,224, 9, 74,107, 29, 42,128,210,161, 68, 45,167,249, 64,245,199,
+112,189, 27, 56,255, 95, 57, 63,103,116,197, 95,190, 89, 64,169,175,214,173, 42,133, 86, 77,208, 56,190, 3, 32,231,206,157,155,
+ 47, 22,139,173, 70,143, 30, 93,237, 50, 25, 25, 25, 7, 15, 31, 62, 92, 78,100, 13, 30, 60,120,124,104,104,232,181,172,172,172,
+ 90,109,149,149,185,209,154, 91,231, 23, 90,117,237,191, 97, 14,128, 31,171, 48,228, 81,158,109,248, 95,239,220, 22,116,166,130,
+216,250, 21,192,224,170, 84,105,175, 47, 7,225,232,161,157, 26,223, 46,163,231,143,211, 46, 13,143, 90, 85,105,180,162,165, 41,
+119,149,186, 31,243, 12, 62, 90,255, 12,216,108,182,223,162, 69,139,216, 34,145,232, 61,145, 85, 81,104, 21, 22, 22,226,233,211,
+167, 24, 55,110, 28, 55, 58, 58,218, 79, 46,151,223,248, 47,236,131,140,140,140,120,117, 50,210,217,154, 20, 14, 92,158, 17,123,
+228,132, 57,206,101, 81,135, 39,118, 65, 42, 17, 3, 0, 83,151,244, 14, 76, 38,147, 29, 29, 29,237,170,177, 90,201,229,114,174,
+102,250,227,199,143, 93, 53,185,181, 36, 18,137,206, 81,135,127, 23,231,179,103,207,156, 53,209,145,154,232, 66, 38,147,201,142,
+140,140,116,214,112, 74,165, 82,157,162, 14, 57, 28, 14, 59, 58, 58,218, 89,165, 82,125,180,168, 67,109, 97,140,210, 58,139,229,
+106, 45,170,125,203, 8,130, 32,104,195,176,161, 1, 6,124,246,168, 24, 41, 89,125, 81,233,154,160,113,124,215, 99, 17,166,139,
+139, 75,175, 17, 35, 70,148, 19, 89,254,254,254,170,211,167, 79,223,228,243,249,153, 36, 73,198,235,219,143, 50, 31, 45,188,247,
+ 6, 9,146, 36,159,118,110,219, 20, 36, 73, 62, 93,250,205, 55,210, 53, 56, 80, 78,108,157, 61,115,178,119,106,126, 76,229,210,
+ 12,128,141,125, 29, 4,140,255, 22, 1,227,191,181, 2,208, 9,168, 58, 90,177,186,126, 24,240,247,128, 32, 8,142,147,147,211,
+115,137, 68, 2,130, 32, 32,149, 74,203, 4, 86, 81, 81, 17,132, 66, 97,217,127,185, 92,142,236,236,108,212,173, 91, 23, 4, 65,
+252,167,253,232,228,114,185,114,209,202, 77,135, 25, 76,182,146,162,228,132, 92, 46,159,160,207,117,190,104,209, 34, 18,149,248,
+ 94,205,156, 57,179,210,233,159,138,115,201,146, 37,149, 70, 9,206,156, 57,179,218,232,193,170,240,221,119,223,125,180,168, 67,
+221,111, 95, 6, 24, 96,192,127, 12,149,134,238,213, 74,104,145, 36,249,180,146,232, 66, 2, 0, 77,146,228,211, 74,178, 28, 40,
+223,189,123,183,210,210,210,114,138, 72, 36,250, 99,240,224,193,115,253,253,253, 85, 64,169,131,124,109,183, 40, 95, 40, 90,225,
+ 55, 96,227,188,130, 98,105,112,197,121, 21, 45, 79, 26,177,181,107,123,208,238, 51,161,199,253, 51,210, 83,119, 87,181,109, 85,
+ 9,170,170,162, 21,133,133,226,149,126, 3, 54,206,201, 47, 20, 27,124,180,254, 33,168, 84,170, 43, 70, 70, 70,132,166,152,178,
+182,245,170,176,176, 16, 37, 37, 37, 80,151,164, 1, 0, 20, 23, 23,195,194,194, 2, 42,149,138,254,143,237, 10, 41,128,249,106,
+107, 21, 0,204, 79,188,185, 67,251,220,126,166, 61,175, 26,107,150, 64,151, 2,209,149, 45, 87,221,188,191,129, 51,179,154, 2,
+209,213, 33, 83, 79,190, 76, 0, 96,179, 24, 89, 85, 21,143,102,179, 24, 89,213,248,237,235,249,222, 64,208, 0, 86, 26,174,108,
+ 3, 12,248,124,223,255, 63,213,138,123, 24, 56, 13,156, 6,206,127,132,147,171,254,232, 58,207,176, 63, 13,156, 6, 78, 3,231,
+191,141,179, 50, 76,254, 76,132, 22, 93,201, 7, 52, 77,227,191, 84, 3,206, 0, 3,254,159, 33,173,229, 60, 3, 12, 48,192, 0,
+ 3, 62, 28,239, 21,147,214,158, 81,149, 42,213, 39,154,160, 54,202,246,154,129,211,192,105,224, 52,112, 26, 56, 13,156, 6,206,
+255, 59,206,154,184,181,151,159, 12, 96,223,103, 34,182,222, 19, 89, 52,253,247,123,171, 24,204,170, 6, 78, 3,167,129,211,192,
+105,224, 52,112, 26, 56,107, 11,195,208,161, 1, 6, 24, 96,128, 1, 6, 24, 96,192,255, 57,244, 75, 88,106, 64, 37,168, 59,104,
+ 41, 40, 44, 81,239,206, 32,164,156, 13,252,175,109,162,191,191, 63, 67,159,246,137,137,150,100, 20,248,155,205, 77,216, 3,138,
+ 69,138,205, 84,212,138,224,154, 78, 68,219, 6,173,198, 24,243,140,167,203,100,178,250,166,102,102, 89,121,185,217,123,242,222,
+ 61,219,165,213,198,252,193,131, 7,124, 31, 31,159,116, 0, 69, 90,111, 10, 6, 24, 96,192,199,132,101, 83, 23, 16,196, 4,128,
+254, 43,236,146,162, 99, 32,140, 59, 84,174,157,133,199,120,144, 68, 51,173, 41, 98,208,216,143,130,216,148, 26, 30, 56,150, 9,
+ 9, 9,174, 13, 27, 54, 76, 6, 80, 80,113,237,149,204, 51, 92,231, 6,124,206,232,138,242, 9, 75,203,174,133, 15, 23, 90,141,
+ 6,215,135,146, 28, 11, 26,163, 64, 32, 26,137,161, 67,106,197,227,246,117, 29, 80,204,118, 0, 90, 1,116, 43, 19, 35, 94, 75,
+177, 76,158, 69,209,244, 24,188, 57,249, 68,111,190,250,254,211, 80,117, 57,139,149, 72, 12,253, 73, 47, 62,138,254,225,209,237,
+211, 92, 75, 99, 2, 13, 91, 15, 94,128,242, 25,156,107, 11, 14, 0, 95,146, 36,155, 25, 27, 27,243, 75, 74, 74,178, 41,138, 74,
+ 65,233,248,116,126, 45, 57, 73, 0, 19, 77, 77, 76,250,184,154,113, 90,189,203, 17,166, 21, 41, 84,225, 40, 77,232,154,255,177,
+206,168, 82,145,229,184,111,206, 72,159,113, 65,179,122,192,210,111,227,130, 18,160, 58,161, 69, 56, 55,238,120,118,248,136,161,
+126, 51, 38,143, 51,173, 99,103, 10, 65,142,200,230,167,131, 33,155, 66, 66,142,246,255,102,120,207, 62, 0,176,122,245,234,175,
+ 92, 92, 92,234, 49, 24,140,196,101,203,150,253,186, 98,197, 10,154,168,186, 82, 57, 95,125, 14,107,110,248, 38, 0, 60, 1, 52,
+ 0,240, 22,192, 11,148,207, 50, 94, 27,124, 22,156,117,234,212,113,162, 40,234, 27, 7, 7,135,126,153,153,153, 23, 72,146, 60,
+144,150,150,150,254, 41,239, 58, 52, 77,239, 37, 8, 98, 50, 77,211,251,244,248,158,162,207, 58,120, 60, 94,166, 68, 34,177, 87,
+255,206,146, 72, 36, 14,127,215,246,252,147,235,250,135,222,191, 39, 93,185,243,162,143,246,164, 94,157,155, 85,114, 71, 33,154,
+ 93,185, 19,211,165,124, 59, 79, 85, 21,247, 64,130,166,105,172, 92,185,146, 88,181,106,213,120, 55, 55,183, 70, 36, 73,190, 92,
+190,124,121,185,212, 55, 21,231,105, 93,231, 6,177,101,192,231, 10,253,138, 74,215,136,166,254, 38,144,208,254, 0, 49,174,107,
+219,150,157,167,140, 25, 64,208, 12, 30, 70, 78, 90,168,212,155,203,117, 28, 23, 12,241, 26,239,102,141,231, 14, 29,208,131,108,
+227, 89, 15,124, 59, 11,128,100, 97,239,197, 36,155,224,160,101,187, 1,248,212,162,151, 43,222, 68, 28,179, 23, 20,168, 64, 16,
+ 0, 65, 0, 36, 1, 20, 75, 40,244,250,106,236, 10, 0, 63,233,121, 87, 34, 45,141, 9,204, 61, 38, 1, 0,198, 71, 56, 40,245,
+236,236,236,198,207,158, 61,219,196,211,211,211,146,199,227,113, 36, 18,137, 67, 66, 66,130,221,178,101,203, 60,197, 98,241,121,
+ 0,143,244,228,172,219,208,217,233,100,240,220,137,237,154, 55,112, 5, 75, 86, 12, 74, 42,114,121,149,240,186,195,212,221,167,
+ 38,197,228, 73, 70,160, 22, 37, 19,114,114,114, 8, 0,176,181,181,165,203,139,172,246,227,182,206,235,133,185, 91,174,160, 68,
+ 34, 59, 82, 29,135,117,189, 22,163,191,254,122,144,223,218, 31,102,154,166,229,202, 17,157, 40,134,181, 41, 27, 43,230, 79,227,
+ 72,165,138, 14,187,127, 13,153,188,115,195,194,253, 42,149,234, 11, 0,109, 84, 42,213, 99, 0,191,174, 92,185,178,170,155,239,
+ 42, 0, 75,212, 39,244, 81, 6,131,113,181, 91,183,110,245,191,249,230, 27,162,117,235,214,136,140,140,108,112,236,216,177, 30,
+ 23, 46, 92, 72, 84,169, 84,207, 0,188,132,186,236,137, 14, 96, 1,104,204, 96, 48,188,255,205,156,124, 62,223, 72, 38,147,141,
+117,118,118,158,220,177, 99, 71,239, 1, 3, 6, 16,141, 27, 55, 70,124,124,124,235, 75,151, 46,173, 8, 15, 15,127,150,154,154,
+186,143,195,225, 28, 22, 8, 4,226,127,252, 57, 78, 16,147, 1, 56,169,117,242, 74, 29,190,211, 81,154, 75, 74,160,235, 58, 36,
+ 18,137,189,198,217,148, 32, 8,251,191,115,123,244, 92, 87, 44, 65, 16,214,234,182,168,238,155, 36, 73, 40,149, 74,145, 74,165,
+114,171,129,179,177,250, 69, 74,103,173, 11,160,186, 68,208, 70, 0,208,171, 83,179, 60, 16,136, 41,179,104,189,255,146, 25, 83,
+ 38,192,104, 52,187,114, 55,198,186,156, 21,172,226, 91,236,202,149,196,138, 21, 43, 16, 24, 24, 56, 0,128, 47, 69, 81,225, 30,
+ 30, 30, 59,202, 81, 82, 84,217,188, 21, 43, 86,108,175,230, 58, 55,192,128,207, 5,126,208,167,168,116,149,239, 63,110, 67,186,
+ 64,133,113,174, 54,246,254,179,190, 25,102,228,233,209, 16, 18,152, 34, 41, 71,133,139, 97,151, 0,224,132,126, 86,167, 97,109,
+152, 76,201,225,160,192,249, 77,124,219,121,226,121,154, 2,143,211, 84, 40, 73, 84,128, 65, 42,160,162,104,128,134,164,182, 91,
+157,154,175,196,157,151, 50,144, 4,192, 32, 1,146, 36,192, 32,107, 73, 70,201, 94,173, 62, 20,229,153,147, 73, 1,148,236,213,
+ 7, 30,144,102,238,238,238,163, 87,173, 90,101,153,145,145, 97, 18, 25, 25, 9, 46,151, 11, 43, 43, 43, 6,159,207,119,218,178,
+101,139,120,214,172, 89,253,228,114,121, 18,128, 28, 29, 57, 61,250,182,241,190,183, 47,104,181,133,226,193, 37, 20, 28,255, 13,
+ 12,146, 6,219,196, 20,245,141,140,112,233,235,134,214,254, 97,137,167, 31,102,138, 60, 0,164,213, 68, 22, 23, 23,199,144, 74,
+165, 35,204,205,205,219,179, 88, 44, 7,158, 85, 61, 42,157,217, 38, 55,155,104,240, 54,203,190,164,203,188, 30, 14,125, 54,207,
+233,134,185, 91,174, 96,219,177,251,191,180, 66,198,242,234,242,102, 27, 27,155, 78,153, 53,253, 27,211,212, 28, 57,214,156,206,
+193,161,219,133, 24,235,107,134,185, 95, 90, 32, 96,228,112,147, 83,191,133, 78, 1,176, 95,107,145,120, 15, 15, 15, 34, 46, 46,
+174,178,155,175, 21,128,133, 50,153,140,100,179,217, 4,143,199, 27,189,118,237, 90,249,200,145, 35, 83, 53, 13,124,125,125,225,
+235,235, 75, 20, 21, 21, 53,184,113,227, 70,131,144,144, 16,101, 68, 68, 68, 44,128,179, 85, 91, 44,140,222, 73, 36, 98, 23,158,
+145, 81,201, 79,187,119,111,238,210,165, 11,197,229,254,149,126,170, 54,156, 0, 96, 97, 97,177,223,222,222,158, 88,188,120,113,
+250,199,226,172, 87,175,222,149,118,237,218,117,235,213,171, 23,179, 83,167, 78,112,114,114, 42,155,103,107,107, 11, 95, 95, 95,
+ 34, 37, 37,165,121,120,120,248,238, 43, 87,174,236,120,242,228,201,141,164,164,164, 94,255,176, 69,107,159, 90, 76, 8,244,108,
+255,217,131, 32, 8,211,189,123,247,218,107,106, 50, 42, 20, 10,168, 84,170,178,111,205,135,162, 40,168, 84, 42,172, 93,187, 86,
+ 37, 18,137,116,217, 71, 34,173,183,102,205,135,170,236,155,195,225,216,106, 18,246,214,112,103,143,225,115, 11,154,154,152,152,
+184, 2,232, 11,187, 70, 11,203, 55, 40,125,127, 22,137, 68,201, 2,169,101, 12,128, 46,213,176, 89,174, 90,181,106,108, 96, 96,
+224, 32, 45, 43,173,247,208,161, 67, 43,150,189,242, 86,127,139, 8,130,184, 73,146,228,121, 0,135,240, 17,173,238, 6,252,183,
+ 64,211,116, 91, 0,118, 90,147,100, 40, 29, 21,130,250, 57, 73, 0,176,169, 48, 93,187,157,230, 59, 91, 61,221, 78,189, 28,173,
+197,155, 77, 16,196,163, 90,118,241, 22,170,240,211, 98, 2, 64, 88, 88, 24,221,191,127,127, 66,243, 93,185, 40,242,191, 56,113,
+228,192, 62,253,186,119, 4,201,179,194,171, 44, 32,226, 29, 13, 38,169, 0, 9, 26, 15,238,222,160,193,164, 14, 87, 88,170,106,
+235, 73,189, 33,223,121,123,122,108, 60, 16, 52,155, 17,155,197,196,161,240, 18,200, 37,197,200,206,120,135,172,244,100, 8, 82,
+223, 34,237,221,219,103, 0,177, 66,103,206,247, 14, 12,160,162,212,239,128, 20, 42,179,232,233,206, 41, 23,197, 53,104,236,233,
+153,207, 81, 1,114, 81,156, 14,171,175,138,211,171, 81,163, 70, 35,127,248,225, 7,235, 23, 47, 94, 24,149,148,148, 72, 47, 93,
+186, 20,159,148,148,100,206,231,243,243,166, 77,155,214,200,201,201,201,124,240,224,193,156,227,199,143,127,133,242, 97,173, 85,
+113,122, 14,108,223, 50,226,224,142,173, 38,185,167,130, 33, 75,120,138,139, 2, 17,238,102,150,208, 13, 44,184,196,183,205,237,
+ 96,202,101, 98,117, 39, 39,211,190,103, 18, 54, 42, 40, 42,160, 58,206,123,247,238,241,141,141,141,183,140, 26, 53,138, 63,115,
+230, 76,174,138,105,201, 12,141,200,181, 88,184, 59,194,169, 68, 42,103,140,236, 86, 15,243, 70,121, 99,222,182,235, 26,145, 53,
+185,126,253, 2, 42, 42,170,106, 78,133, 92, 94,223,217,222, 28,209, 73, 98, 28,186, 93,136, 63,127,112, 66,247,181,233, 24,220,
+138, 9,143,186,166, 80,202, 21,141,135, 14, 29,122, 88,253,214,254, 8,192, 87, 67,135, 14,109,194, 96, 48,174, 3,248,189,166,
+ 99,196,227, 85, 94, 61,197,202,202, 10, 93,187,118,133,135,135, 7,179, 75,151, 46,222, 21, 4, 76, 57, 78,185, 92,198,167, 40,
+ 26,102,102,102, 70, 54, 54, 54, 86,102,102,102,185,149, 61,168,244,225, 4, 0,107,107,235, 33, 93,187,118,101, 30, 59,118, 44,
+ 39, 49, 49,241,193,200,145, 35,223,154,155,155,151,179,254,154,152,152,160, 81,163, 70, 88,182,108, 25,179, 79,159, 62, 53,114,
+ 58, 56, 56,244, 12, 9, 9, 1, 65, 16,101, 15,237,247,140,197,174,174,112,116,116, 68,223,190,125,153, 67,134, 12,233,153,148,
+148, 84,171,235, 72, 15, 92,171,196,162,181,178,194,113,170,114,248,173,178,246, 58, 28,247, 44,141,117, 73,205,135, 15,184, 54,
+171, 29,238,228,241,120,101, 86,168, 74,214,245, 30, 39, 73,146, 88,186,116, 41, 8,130, 0,139,197, 2,155,205,174,244,219,207,
+207, 79,223,126,166, 16, 4, 65,178,217,236,133, 76, 38,243, 27,169, 84,234,204,227,241,210, 85, 42,213, 47, 82,169,116, 45, 0,
+ 5, 77,211,150, 85,136,172, 74,105,239,132, 46, 0, 0, 32, 0, 73, 68, 65, 84, 57, 77, 76, 76, 92, 95,189,122,229, 94, 85, 71,
+164, 82, 41,188,189,189, 1, 41, 98,171,227, 76, 72, 72,112,117,115,115,107, 12, 64, 83,162,237, 54, 77,211, 93,180,254,107,227,
+ 54, 77,211, 95,170,127,191,124,243,230,141,107,195,134, 13,243,255,169,243,211,192,249,239,227,172, 65,139,216, 17, 4, 17,166,
+117,173,246,215,252, 95,180,104,209,146,245,235,215,191, 32, 8, 34, 76,123,186,118, 59,237,111,245,253, 38,140,166,233,254,139,
+ 23, 47,246,220,176, 97,195, 58, 77,219,191, 67, 36,234, 99,209, 50,207,150,152, 32,252,157, 57,152, 12, 21,152, 36, 1, 38, 3,
+ 0, 77, 32, 57, 41, 1, 69,133, 5,119,144,120, 58, 81, 55, 75,150,127,167, 22, 45,188,130,142,110, 91, 64,254, 28, 94,130, 2,
+145, 4,113, 79,110,226,209,205,223, 51, 84, 74,213,239, 32,232,199, 0, 25,137,183, 84, 60, 16, 90,187, 26, 23, 4,205, 44, 21,
+ 90,106,113, 85, 78,108,125, 50, 52,111,210,164,201,240,101,203,150,217, 70, 69, 69,241,132, 66, 97,209,209,163, 71,211,165, 82,
+105, 18,128,203,201,201,201, 77,182,111,223,206, 9, 10, 10,242,242,242,242,226,159, 60,121, 82, 86, 73, 57,163,247, 56,231,143,
+ 11,136,248,102,214, 28, 94,236,201, 93,224,196, 70, 98,233,211, 28,213,159,130,146, 31, 0,108, 67, 74,113,167,108,137,242,234,
+214,174, 46,100, 61, 51, 54, 26, 90,114,252,226,242, 36,213, 90,178,140,141,141,183,132,132,132,184,182,109,219,150, 4,128,240,
+151, 74,238,194,221, 17, 78,151,215,119, 34, 58, 53,179, 65, 86,129, 20,179,119, 69,227, 82, 68,214, 31, 26,145, 85, 83, 39,205,
+204,204,178, 83,179, 10, 29,108, 76,121, 24,211,217, 20,221,215,166,195,191, 13, 23, 92, 54,129,248,196, 12, 52,116,171, 71, 68,
+223, 57,219, 70, 45,178,218, 10, 4, 2, 0,104, 3, 32, 49, 37, 37,133,239,227,227, 35,212,162,203, 7,176,145,195,225, 44, 37,
+ 8,130,110,219,182,109,180,151,151, 87,177,149,149, 21,196, 98, 49,164, 82, 41,216,108, 54,196, 98, 49,146,147,147,241,224,193,
+ 3, 88, 89, 89,233,117,160,138,139,139, 97,102,102, 6,138,162, 62,152, 83,165, 82, 17,123,246,236, 49,121,241,226,133, 73,104,
+104,168,195,220,185,115,115,155, 54,109,250,120,248,240,225,175,237,237,237,165, 79,159, 62,197,189,123,247,144,159,159,143,246,
+237,219,235,196, 41,147,201,192,100, 50, 33, 22,139,193,229,114,193,100, 50,161, 84, 42, 65, 81, 84,153,248, 42, 46, 46, 70, 94,
+ 94, 30,216,108, 54,100, 50,217,167,120, 3,125,207, 66, 85,221,240, 91,109, 44, 90,218, 66, 77, 71,145, 85,147, 37,170,202,225,
+206,130,130, 2, 35, 75, 75,203,133, 0, 4, 53,173,139, 32, 8, 48, 24, 12,176,217,108, 16, 4,129, 46, 93,186, 96,226,196,137,
+104,213,170, 21, 18, 18, 18,112,252,248,113, 60,122,244, 8, 44, 22,171,172,189,206,227, 19,126,126, 12, 30,143,119,111,224,192,
+129,158, 63,252,240, 3,175, 94,189,122,136,141,141,173,187, 97,195,134,133,215,174, 93, 27, 36, 18,137,218,104,238,118,213, 91,
+233,213, 67,130,165,195,133,125,165, 82, 41, 98, 99, 99,245, 89,230, 61, 52,108,216, 48,153, 36,201,215, 20, 69,133, 3,240,166,
+105,186, 11, 65, 16,151, 80,234,151,168, 13, 17, 77,211, 95, 18, 4, 81, 8,224, 25, 73,146, 47, 41,138, 74, 54,216,109, 12,208,
+225,190,210,191,226,127,130, 32,194,214,175, 95,223,191, 50,113, 85,201,181, 89,110,250,134, 13, 27,214,105,253,255, 16,139,106,
+ 87,148,119,134,247, 83, 91,185,254, 18, 90, 97, 97, 97,213, 43, 16, 10,131,195, 78, 31,187,223, 93, 14, 87,207,214,190, 90,214,
+ 33, 26,145, 15,238, 1,160,127,209,169, 43,252,254, 70, 36,131,249,203,158,117, 51,201,189, 55, 75,144,146,158,133,123, 23,127,
+ 65,182, 32,233, 16, 64,207, 69, 98,104,225, 7, 31,137,122,131,189,236,109,108, 45, 37,114, 26, 20, 13,224, 61,177,245, 73,208,
+170,113,227,198, 67, 34, 34, 34,108, 37, 18, 9,239,206,157, 59, 37, 33, 33, 33, 25,114,185,252, 38,128,187,234, 54, 81,217,217,
+217, 67,213,194,132,193,100, 50, 57,114,185,188, 58,223,133, 86,243,191, 25,123,103,227,158,131,188,215,207,163,177, 61,244, 34,
+ 10, 74, 74, 84, 55,179,196, 95, 1,208, 40,250,235, 81, 57,226, 52, 26,180, 11,139, 36,192, 55, 97, 57,198,229, 73,120, 64,229,
+ 67,178, 82,169,116,228,168, 81,163,248, 26,145, 5, 0, 57, 69, 10,102,137, 84,193,232,212,204, 6,173,187, 13, 69,228,141, 83,
+ 56,121, 59, 13,110,118,198,183,235,155, 20,232,180, 71,179,179, 4,123,182, 6,239,221,186,113,229,124,206,188,190, 22,240,111,
+195, 2,143, 77,192,220,152,133,181, 59,246, 43,162, 30,220,126,202,231,243,195, 0,124, 37, 16, 8,192,231,243,139, 1,188,100,
+ 48, 24,137, 42,149,170, 50,167,238,229, 0, 28, 14, 31, 62, 76, 42, 20,138,226,132,132, 4, 56, 58, 58,194,193,193, 1, 22, 22,
+ 22,136,139,139,195,159,127,254,137,248,248,120, 80, 20,133, 22, 45, 90,232,117,176,114,115,115,241,244,233, 83,244,237,219,111,
+110,118,118,150,185,149,181,141,232, 78,248,237, 77,181,225,164, 40,138, 0, 0, 79, 79, 79,120,122,122,242,210,210,210,156,195,
+194,194,236,215,172, 89,243,206,213,213,245,168, 88, 44, 46,103, 57,208, 85,104,105,196,133, 70, 4,242,120, 60,176,217,108, 20,
+ 22, 22, 34, 51, 51, 19, 69, 69,165, 65,155,150,150,150,159, 68,104, 85, 97,161,250,104,237,255,102,113,248,222,112,167,165,165,
+229, 40, 0, 11,117,220, 22, 40,149, 74,176,217,108,248,248,248, 32, 56, 56, 24,143, 30, 61,194,239,191,255,142,186,117,235, 98,
+220,184,113, 32, 73, 18, 47, 94,188,208,183,139, 84, 68, 68,196,194,175,190,250,202,243,240,225,195,188,228,228,100,196,199,199,
+195,210,210, 18,193,193,193,220,201,147, 39, 55,188,113,227,198,114,148, 6,191, 84, 15,173,232, 66,145, 17,127,152,183,183,247,
+123, 77, 28, 29, 29, 45, 46, 95,190,108, 95, 38,192, 42, 70, 36,190,143,130,229,203,151,111,245,240,240,216,166, 30, 46,244, 5,
+ 96, 66,211,180, 95,104,104, 40, 1, 0,254,254,254, 52, 65, 16,154, 7,210,179, 83,167, 78,117,139,139,139,163, 3, 3, 3, 13,
+ 62, 90, 6, 84,165, 69, 38,107,174,201,170, 4,148, 62, 66, 77,219,226,165,193,226,197,139, 61,215,175, 95,255,240, 3, 69,150,
+246, 27, 19,173, 17, 91,101, 15,211, 42,135, 12,203,108, 95, 36,223,209,222,198,122,209,184, 78,160, 40, 64,169, 2,148, 42, 26,
+162, 18, 49, 98,159, 63, 42, 1,143, 8,213,169, 59, 92, 78,208,154, 31,230, 52,136, 78, 37,145,158, 47,199,173,179,123,233,108,
+ 65,210, 16, 36,158,154,240,113, 68,214, 48,111, 71, 7,251, 91,199,246,174, 38, 31,189,149, 65, 69,149,234, 44,138,162,203,126,
+127, 2, 56,218,217,217, 5,220,191,127,223,142,203,229,242, 94,189,122, 69,157, 58,117, 42, 95, 46,151, 95,211, 18, 89, 0,208,
+169, 77,155, 54, 74, 83, 83, 83,136, 68, 34,185, 92, 46,151, 84, 35,178,156,253, 90, 53,191,189,113,207, 65,158, 68, 38,131, 80,
+ 44, 5,195,198,190,162,200, 2,128,142,221,220,235,212, 33,120,102,160, 1, 36, 21,202,211,171, 18, 89, 0,192,229,114,123,204,
+156, 57,179, 92, 93, 60, 91, 51,150,210,152,203, 82,221,141,201,161, 34,111,156, 66,248,139, 28,138,199,102,168,236,232,183, 13,
+116,221, 1, 5,169, 49,123,126, 63, 23,118,245,187,101, 65,197, 37,162, 34,184, 57, 25,161,184, 72,136,181,235, 55, 42, 34, 34,
+194,111, 46,156, 59,181,195,169, 83,167, 54,160,212, 25, 28, 0, 94,158, 58,117,106,236,178,101,203,126,197, 95,105, 30, 42, 34,
+ 61, 32, 32, 32,181, 89,179,102, 66, 15, 15, 15, 97,110,110, 46, 98, 98, 98,144,159,159,143,237,219,183, 35, 54, 54, 22, 26,139,
+160, 78,190, 42,239, 11, 36,228,231,231,153,210, 52,141,252,188, 92,147, 31,126,248,193,162, 54,156, 42,149,170,220,181, 85,167,
+ 78, 29, 76,155, 54,141, 93, 82, 82, 98,249,238,221, 59,115,237,121,186,114,202,100,178,178,140,195, 52, 77, 67, 38,147, 65, 40,
+ 20, 66, 38,147,225,245,235,215,101, 34, 75,189,254, 79,102,209,210,252,230,241,120,153,154,115, 89, 51, 4,199,227,241,178,170,
+106,255, 33,208, 90, 23,173,254,173,175, 56,172,113,123,116, 60,238, 96,179,217,152, 56,113, 34, 30, 62,124,136,132,132, 4, 48,
+ 24, 12,136, 68, 34,148,148,148,160,103,207,158,224,112, 56,250, 90,180,104, 54,155, 61,106,201,146, 37,188,196,196, 68,228,228,
+228,104,156,233,161, 82,169, 48,119,238, 92, 35, 46,151, 59, 74, 95,211,189, 64, 32,232,253,250,245,235,198, 21, 63, 25, 25, 25,
+ 66,109,159,194,218, 34, 52, 52,148,240,247,247,167,253,253,253,105,141,224, 50,192,128,202, 80,133, 22,217, 87,149, 69,235, 99,
+ 88,197, 52,150, 45,168, 3, 68,106, 1,141,200,234,170, 37,188, 8,141,133, 75,183,161, 67,183, 97, 45, 29,108,172,111, 28,222,
+181,202, 52,236, 57,129,212,148, 36,100, 11,146,209,166,131, 31, 98,159, 71,131, 82,168, 78,227,117,104,205,158,156,245,252,221,
+ 61, 60,154, 78,239,218,193, 11, 65, 97,197,120, 21,121, 25, 5,217,130,157, 72, 58,117,250,163, 28, 33, 87,255,230, 14,246,214,
+ 55,126,221,181,202,242, 82, 12,137,148,148, 36,156,253,117, 43,173,144, 75, 11, 80, 62,146, 75,239,183,102, 35, 74,198, 41, 46,
+200,132,172, 72, 5, 30, 89,194,211,115,144, 34, 3, 64,248,214,173, 91,187,183,111,223,158, 19, 16, 16,144,145,159,159,127, 22,
+192,125,173, 54,205,220,221,221,251, 6, 7, 7, 59,164,164,164,224,218,181,107, 25, 40, 13,253,175, 10,169,183,163,159,239,254,
+243,215,253,243,141, 26, 52,193,246, 37,223, 41, 67, 31,197, 12, 4,112, 73,171,141, 71, 15,111,247,176, 53,223,207, 32,169,168,
+ 63,240, 52, 57, 19,111,133,210, 63,171, 34,204,201,201, 33, 74, 74, 74, 92, 45, 45, 45,181, 79, 72,240, 77, 68,210, 5,195,220,
+211,123, 46,188,227, 36,145,171,192,101,145,244,236, 65,174,233, 15,207,134,218,228, 72,114, 8, 77, 52, 98, 77,152, 52,188,199,
+160, 93, 33,103,198,132,133, 93,152, 46,151, 74,188,154, 52,105, 76, 63,142,184,241,116,225,220,169,125,106,121,196, 77, 31, 62,
+124, 72, 50, 24,140,114, 2, 93,219, 66,164,175,165, 72, 31,232,202, 89, 81,104,105,160, 84, 42,137,218,114, 74,165,210, 74, 75,
+ 59, 84,230,171, 69, 81,212,223,178,253,250, 88,168,180,135, 12, 53,254,116, 18,137,196, 94,237,179,229,240, 49, 45, 90, 31, 18,
+137, 88,221,240,165, 62,253, 35, 73, 18, 20, 69,129,205,102,163, 69,139, 22, 8, 11, 11,131,181,181, 53,204,205,205, 97,110,110,
+ 14, 35, 35, 35,216,216,216,148, 9, 45,146,212, 57, 74,135,150, 74,165,117,235,214,173,139,215,175, 95,131,199,227,149,125,184,
+ 92, 46, 60, 61, 61, 33, 18,137,234,224, 83,218,238, 13, 48,224,239,189,175,132,105,139, 37,130, 32,194, 22, 45, 90,180,164,182,
+124,139, 22, 45, 90, 82,153,133,235, 3, 5, 87, 57,235, 22, 83, 91, 65, 86,170, 36,213, 34,235,208,206,149,230,103,158, 0,169,
+169,137,184,122,114, 71,145, 66, 46,203,167, 40,133,235,219,248,104,128,196, 47, 58,117,129,164,219, 13,234,219,141,184,250, 66,
+134,194,130,108,188,124,124, 57, 9, 98,206,226,143, 38,178, 28,108,111, 28,222,181,210,242,252,115, 2, 41, 41, 73,184,116,108,
+123,161, 66, 46,239,129,196,208,199, 31, 66, 61,138,205, 30,196,118,121,215,255, 27,223,116,168, 8, 21, 70,197,198,125,153,149,
+129, 65,130, 59,213, 71,134,105, 35, 59, 59,251,236,214,173, 91,137, 31,127,252,177,171, 68, 34,249, 13,128,182,137,210,203,205,
+205,109,196,190,125,251,172, 83, 82, 82, 88,119,238,220, 17,221,184,113,131, 6,112,190, 6,139,203,130,158, 19,166, 49, 90,213,
+171, 51, 51, 42, 41,109, 32,128, 63,180,102,123,246,111,221,236,238,193,245,203,205, 20,119, 67, 81, 44, 72,193,226,187,169,133,
+ 0,116,222,223, 10,133, 2, 66,161, 16,138,226, 92,101, 27,190, 72, 24, 56,212, 94,154,153, 47, 97,178,168, 18,165,135,121,150,
+244, 70,238, 91,134,177,177,177, 94,251,114,215,250,249, 33, 0, 66,134, 14, 29,122,248, 89,196,133, 54,124, 62,255,130,135,135,
+ 7, 1, 0, 85, 68, 24, 86,133, 85, 0,230,118,236,216,145,240,241,241,121,176,109,219,182, 43,213,137,149,218, 88,180,106,130,
+174,156, 20, 69,145, 85,236, 95,162,182,156,218, 22,173,154,132,214,167,180,104, 85, 38, 90,180, 69,162,182, 16,250, 55, 68, 29,
+ 86, 39,166,244,233,159,198, 79,142,205,102, 35, 58, 58, 26, 46, 46, 46,144,203,229, 48, 51, 51,131,153,153, 25, 76, 77, 77, 81,
+ 84, 84, 4, 22,139, 5, 61,183,153,226,241,120,239, 98, 98, 98, 26,219,217,217, 65,165, 82,149, 19, 91,175, 94,189,130,137,137,
+ 73,154,190, 22, 45, 62,159,127, 89, 29,117, 88, 14,142,142,142, 22, 31, 99,191,106, 91,178,252,253,253, 13, 67,132, 6, 84,107,
+205,170,194,170,149, 93,193, 18, 37,211,250,159,141,210, 28,110,253,213,191, 81,201,111, 89, 37,211,114,215,175, 95,127, 67,203,
+191, 43,251, 3, 55, 65,147,226,161, 92,132, 11,179, 38, 75,150,189,181,213,141, 3,219, 3,205, 79, 70, 2,105, 41,137,184,117,
+ 58, 88,168, 84,201,191, 0, 69, 11, 34,174,157, 14, 5,129, 18,188, 13,189,165,219, 45, 2,173, 90, 53,117,197,239, 47, 20,200,
+ 78,125, 5,154,166, 14, 33, 43,164,228,131,143,142,219,224, 22,246,214,182, 55, 14, 5, 7, 90,156,137, 38,144,154,146,136,171,
+ 39,131, 11,149,138,146,238, 72, 60, 29, 89, 91,218,137,128, 21,195,132,183,123,136, 95,171, 97,174,110,206,160,104, 5, 40, 54,
+141,193, 11,108,153, 47,163, 74,126, 15,231, 9, 79, 82,197,212,244,180,251,186, 57,208, 21, 23, 23,255, 14,224, 49,202,167, 87,
+104,222,168, 81,163, 97,187,119,239,182, 75, 77, 77,229, 69, 69, 69,137,247,238,221,155, 69, 81,212, 25, 0,186, 12,165,126, 23,
+149,148,118, 0,229,243,229, 52,159, 63, 33, 32, 34, 96,252, 55,188,196,107, 33,176, 74,140,197,247,119,211, 85, 47,243,101, 35,
+213,214,181, 74, 97,107,107, 75,231,228,228, 36, 23, 20, 20, 52, 54, 49, 49, 65,110,110, 46,242,242,242, 32, 20, 10, 33, 45,204,
+ 83,218,168, 10, 68,132, 50, 15, 44, 22, 11, 89, 41, 10,168, 84,170, 12, 93,173, 89, 0,172, 86,173, 90, 53,137,162, 40, 77, 70,
+196,114,209,133, 90,237, 52,231, 67,227,161, 67,135, 30,214,138, 58,212,118,134,215,164,119, 32,212,233, 29,218,255,241,199, 31,
+113,125,250,244, 73,173, 76,172,112,185, 92,189, 29,165,171,138, 98,172, 13,103, 85, 22,173,138,211,245,225,212, 12, 95,106,156,
+224, 43, 78,215,128,193, 96,128,162, 40,232, 16, 84,241,183,138, 22,237,232,192,218,136,156, 10,199,166,218,196,161,181,140, 68,
+252,168, 22, 45,205,177, 96,179,217, 56,119,238, 28,198,143, 31, 15,149, 74, 5, 99, 99, 99,152,154,154,194,196,196, 4,167, 79,
+159,134, 38,253,131, 62,250, 85,161, 80, 28, 89,191,126,253,146, 61,123,246, 24,209, 52, 13, 14,135, 83, 38,180, 2, 3, 3,197,
+114,185,252,136, 78, 66, 75,147,241,157,162, 99, 76, 76,148,213, 70, 29, 86,182, 76, 21,254, 90,150,171, 86,173, 26, 75, 81,212,
+ 32, 84, 72,225, 80,161, 93,185,212, 15,134,244, 14, 6,232,112, 63,121,244, 47,238,158, 70, 96, 17, 90,150,172, 50,193, 69, 86,
+ 39, 94,236,172, 44,111,236,223, 30,104,126,244, 17,129,196,183,111,113,243,183, 29,165, 34,235,205,201, 39, 72, 14,205, 68, 98,
+104,103,188, 13,237,173,243,219, 19, 65,180,114,178,183, 68,158,136, 66, 97,206, 59,128, 70,212,199, 16, 89,118, 86,118, 55,126,
+ 14, 14,180, 56,245,132, 68, 98, 98, 34,174,158,220, 33, 84, 42, 37, 95,124,136,200, 26,197,102, 15,106,228,238,156,176,116,210,
+160, 97, 62, 13, 29, 97,243, 46, 14,231,199, 13,195,234,227, 95,195,204,142,129,118,125,205, 48,113,173,227, 48,190, 39,247, 53,
+191, 51, 6,233, 65,173, 45,178, 90,213,175, 95,127,216,253,251,247,109,189,189,189,121,241,241,241,146,189,123,247,102,137,197,
+226, 43, 0,162,245,224,212, 22, 89,173, 22, 77, 30, 23,177,113,255, 97, 30,201,230, 32,232,200,121,204,186,157,170,186,144, 92,
+ 56, 20,229,135, 21, 43,133, 84, 42,189, 22, 28, 28, 44, 37, 73, 18,121,121,121,200,201,201, 65, 86, 86, 86,217,119, 65, 65, 1,
+ 24, 12, 6,174, 95,191, 46, 43, 44, 44,188,175,107, 7,239,221,187, 87, 63, 45, 45,205, 67, 32, 16,180, 81,127,226, 81, 26, 93,
+104,170, 53,173,141, 64, 32,232, 10,224,145,102,122,106,106,106,189, 7, 15, 30,240,107,226, 55, 51, 51, 3,155,205, 46,103,209,
+226,114,185,112,112,112,128, 82,169,196,137, 19, 39, 0, 32,175, 58, 14, 54,155, 35, 32, 73, 2, 20, 77, 73,121, 60, 30,197,231,
+243, 43, 21, 88,250,112,170,145,250,229,151, 95, 74, 34, 35, 35, 43,181,104,213,134,147,166,233,146, 94,189,122, 33, 61, 61, 29,
+ 60, 30,175,236, 97,173, 17, 84, 36, 73,130,203,229, 34, 35, 35, 3, 83,166, 76, 1, 77,211, 37,255,244,157, 71,219,167, 73, 45,
+134, 8, 0,132, 90, 8,189,231,167,165,171, 15,148,102,104,144,166,105,104, 4, 87,133,249,101,235,210, 37,123,123, 5,159,174,
+201, 5, 5, 5, 27, 75,187, 67,239,173,240,189, 79,143,135, 66,153,208,138,141,141,197,225,195,135, 81, 80, 80, 0, 14,135,131,
+252,252,124, 28, 60,120, 16, 49, 49, 49,224,112, 56,208,236, 11, 93,245,155,143,143,207,198,240,240,240,152,145, 35, 71,138,163,
+163,163, 33, 22,139, 17, 29, 29,141,222,189,123, 75,238,222,189,155, 32, 22,139, 87, 65,151,161, 67, 77,198,119,117,121, 29,169,
+ 84,138,168,168,168, 74, 63, 85, 45, 83, 17, 9, 9, 9,174, 42,149,170, 49, 77,211,190, 52, 77,155, 67,157,194, 65,253, 95,251,
+243,165,122,158, 57, 77,211,190, 42,149,170, 81, 66, 66,130,171, 65, 78, 24,240,153,226,150,150,216,162,181, 68,214,173,234, 45,
+ 90, 20, 25,124, 96,199, 74,243, 35, 15, 73,164, 36, 39,224,241,197,221, 66, 21,165,248, 66,207,114, 56, 61,160,149,107,131,103,
+100,226, 69, 17,165,225,204,133, 57, 41, 0,205,168,141,208, 42,199, 9,138, 12, 62,184, 35,208,226,216, 99, 2,233, 41,111,112,
+247,236, 46,161, 82, 41,237,142,183,161, 81,181,225, 28,197,102, 47, 99, 49,136,165,189, 58,181,100,119,110,233, 14,147,172, 36,
+100,164,166,227, 68,108,118, 94, 66,190,244,155,187,132, 28,201,111,164, 7,250, 78,178,182,182,114,100,161,255, 84, 27,235,251,
+231, 11,127, 39, 88, 34, 57, 45,167,215, 11,238,150,149,165, 40,223,207,247,225,104,102,102, 54,242,241,227,199,230, 60, 30,207,
+232,241,227,199,212,222,189,123,115,197, 98,241, 69, 0, 17, 58,109,251,251,112,110,235,238,118,107,221,174,253,188, 98, 81, 9,
+ 68, 50, 57,184, 14,124,213,153,136,231, 67, 80,117, 2,204,114,156, 92, 46,247,216,177, 99,199,250,118,233,210,197,213,203,203,
+139,204,203,203, 67,113,113,113,153,115,181,157,157, 29, 98, 99, 99,169,196,196,196,116, 46,151,123, 92,215,126,118,236,216, 49,
+145, 36,201,120,245, 48, 90, 60, 42, 68, 23,106, 53,109, 44, 16, 8,218,242,249,252, 91, 0,140,181,162, 14,181, 57, 53,233, 29,
+150, 0, 32, 9,130,120, 20, 29, 29, 93,220,167, 79, 31, 24, 25, 25, 65, 36, 18,161,110,221,186, 80, 42,149,184,120,241, 34, 34,
+ 35, 35, 69, 20, 69,221,170, 68,188,150,235,167, 68, 34,174, 11,128, 20,151,148,180, 24, 59,118,108,215,121,243,230,149, 11, 73,
+183,183,183,135,181,181,181, 94,156, 0,144,151,151,215,244,143, 63,254,152, 19, 29, 29,253, 93,223,190,125, 45,150, 44, 89,194,
+173, 95,191, 62, 84, 42, 21, 89, 91,206,252,252,124,139,168,168,168, 77,157, 59,119,158,209,167, 79, 31,230,186,117,235, 96, 97,
+ 97, 1,149, 74, 5, 35, 35, 35, 20, 22, 22, 98,213,170, 85,184,115,231,142,146,166,233, 93, 66,161,240,123, 61,207, 37,124,232,
+181, 89,149, 5,168,170,148, 12, 85,180,255,219,251, 89,193,167, 11,234, 20, 14, 11,171,200, 96, 15, 93,207,121,141,208, 98, 48,
+ 24, 72, 74, 74,194,222,189,123,223,203,163,165, 73,255, 80, 5,119,101,219, 78,223,188,121, 83, 69, 16, 68,135,199,143, 31, 47,
+ 28, 51,102,204, 55, 34,145,200,217,196,196, 36, 93,161, 80,252, 34, 22,139,215,162,212, 31,149,173,207, 61, 68, 36, 18, 37, 87,
+ 22,117, 88,177, 13, 96, 89, 45,103,133,244, 14,229, 82, 56, 84, 88,166, 92,234,135, 74,210, 59,252,237,199,221,192,249,175,228,
+252,220,197, 86,213, 9, 75,223, 67,171,201, 44,150, 88,225, 29,158, 64,124,136,200,122,223, 90, 34, 41, 73, 88,126,236, 93, 75,
+153, 84, 2,145, 48,243, 37,146, 78,100,125,208,102,169,251,121, 59,129, 64, 82,226, 27, 60, 12,219, 85,218,207,183,161,181,238,
+ 39, 1, 44,254,233, 82, 40,155,176,176,198,211, 57,227,145, 94, 32,194,165,183,249, 39,233, 18,233,244, 35, 64, 62,238, 0,164,
+ 82, 26,126,240,135,140,221,190,131, 45,134,217,214, 97, 97,203,252, 95,192, 91,100,195,110,215,189,139, 62, 53, 16, 51,120, 60,
+ 94,248,246,237,219,123,248,250,250,114,135, 14, 29, 90,153,131,188,190, 72,125,244,234,205, 79, 23,246,108,158,111,227,221, 30,
+ 59,151, 45, 80, 29,139,120, 94, 49, 10,177, 90,120,120,120,168,238,221,187, 55,111,202,148, 41, 91,122,244,232,225, 52,112,224,
+ 64, 78,221,186,117,193,229,114,241,230,205, 27,132,135,135,203,222,190,125,155, 94, 82, 82, 50,175,121,243,230,250,228, 56,203,
+ 95,190,124,249, 70,245, 58, 8,245,112, 97, 27,168,163, 11, 53,141,212, 73, 75,219, 0, 48, 14, 12, 12, 28, 3, 0, 85,132,125,
+ 47, 7,176, 7, 0,147,166,233,140,144,144,144, 14,103,207,158,237, 48,119,238, 92,118,223,190,125,113,255,254,125, 92,189,122,
+ 85, 46,151,203, 35,212,194, 85,215, 82, 57, 20,128, 40,165, 82,249, 60, 40, 40,168, 3,131,193, 88,174,153, 17, 19, 19,131, 67,
+135, 14,213,134, 83, 9, 96, 83,102,102,230, 79, 33, 33, 33,203,175, 93,187, 54, 97,236,216,177,230, 10,133, 2,177,177,177,248,
+249,231,159,107,197, 41, 20, 10,231,216,218,218, 46,189,120,241,226, 47, 87,174, 92,249,106,244,232,209,228,172, 89,179, 16, 28,
+ 28,140,223,126,251,141, 82,169, 84,103, 89, 44,214,216,156,156, 28,209,167,184,235,168,135,225,210,245,172,117, 88, 35,239,135,
+ 12, 13,234, 8,193,135, 18,104,182,195,207,207,175,204,202,168,177,194,105,183, 33, 8, 66,239,161, 67, 0,150, 52, 77, 83, 0,
+118,161,180,190,168,118, 86,120, 6,254,202, 28,175, 43, 99, 51,129,212, 50, 6, 82,196, 86, 95, 84,218, 18,160,209,172, 6,182,
+130,229,203,151,111, 93,177, 98,197,214,138, 41, 28,180, 27, 85, 76,253,176,114,229, 74, 24,210, 59, 24,240, 95, 69,229, 66, 43,
+106,159, 66,209, 96,200,146,237,235, 22,172, 80, 42,100, 66, 26,114,127,188, 57, 29,253,161, 43,163, 41,122,209,245,163,129,193,
+160,145, 79,171,148, 11, 63,184,247,127, 83, 63, 9, 11,107, 20,173,154,134,223, 94,164,211, 25, 34,197,215, 71,228,242,114,214,
+160, 82,159, 44,106,248, 13, 73,254, 9, 43, 39,214,153, 57, 95,216, 16, 23,242,198,232,189,158,172,172,172,115, 91,183,110, 37,
+ 55,111,222,220,181,164,164,164,162,131,124,109,177, 96,192,204, 69,140,118,141, 92,103, 62,124,157, 60, 8, 58, 12, 23, 86, 68,
+199,142, 29, 5,113,113,113, 1, 87,174, 92, 25,121,251,246,237, 30, 34,145,200,149, 32, 8, 24, 27, 27, 39, 75,165,210,107, 92,
+ 46,247,152,158, 34, 11, 0,176, 98,197, 10,122,229,202,149, 68, 92, 92, 28,205, 96, 48,254, 4,144,200, 96, 48,146,180,157,224,
+181,167,107,150, 9, 12, 12,212,229,129,120,187,184,184, 56,114,213,170, 85, 93, 86,173, 90,213, 66,109, 21,186,141,191,124,190,
+244,133, 2,192,109, 54,155,147, 78, 16,132, 51,155,195, 21,221,187,119,239,218, 7,114,150,200,229,242,133, 41, 41, 41, 91,182,
+108,217,178,214,196,196,164,109, 76, 76,204,159, 31,194,169, 22, 81, 67,172,173,173,157, 14, 31, 62,124,234,224,193,131,237,153,
+ 76,230,125,130, 32,134, 10,133,194, 79, 90, 84, 90, 93, 32,122,165, 30,181, 14,117,226,253,216, 73, 74,255, 14,225,166, 82,169,
+138,151, 46, 93,154, 85, 81,120, 85,180, 94,105,254,171, 83,185,232,178, 79,245,137,162,172, 65,184, 16,197, 0, 80, 90,187,176,
+180,172,142,174, 69,165, 1,136,107,186,206, 73,146, 60, 11,224, 37, 73,146,175, 43, 6,186,104,207, 91,185,114,101, 77,215,185,
+ 1, 6,124,214,208,225,206, 22, 72, 2,129,181,245,164,253, 7,205,149, 31,167,159, 1,108,246, 74, 18,152, 15,128,160,129, 45,
+ 71,228,242, 31,170, 91,208,177, 35,214,210, 4,230,170,119,230,186,140,187, 88, 83,139,109,175, 3, 29,234, 15,234,201,217, 4,
+213, 23,148,125,143,211,223,223,159, 81,197,195,188, 92, 81,233,170, 16, 26, 90,150,197,191,170,126,106,159,111,102, 15, 30, 60,
+112,242,241,241, 17,160,188,211,127,101,211,105, 61,183,157, 1, 64,245,145,247,231,103,193,233,230,230,198,121,243,230,141,236,
+223,117,109, 26, 56,255,149,156,150, 77, 93, 64, 96, 18,180,115, 7, 85,107,209,210, 18,104, 52,253, 51, 10, 98, 83,170,232,167,
+230, 58,183, 76, 72, 72,112,109,216,176, 97, 50,128,130, 10,253,168,108, 30,109, 56, 70,255,247,156,149, 97, 50,202,151,162,251,
+172, 80, 89,116, 56,254,134, 3, 97,224, 52,112, 26, 56, 13,156, 6, 78, 3,167,129,211,192, 89, 91,161,245,217,130,166,105,144,
+ 48,192, 0, 3, 12, 48,192, 0, 3, 12, 48,224,111, 1, 81,141, 42,213,199, 36, 88, 27,101,123,205,192,105,224, 52,112, 26, 56,
+ 13,156, 6, 78, 3,231,255, 29,103, 77,220,218,203,127,174, 67,135,147, 1,236, 51, 12, 29, 26, 56, 13,156, 6, 78, 3,167,129,
+211,192,105,224,252,183,112, 86, 37, 88, 62, 91,208, 52,173, 99,173, 67, 3, 12, 48,192, 0, 3, 12, 48,224, 95,129, 30,238,224,
+ 51, 85, 32,255,120,163, 83, 16, 85,141,232,227,134, 58, 0,240,177,248,254, 79,193, 7,208, 79,235,255, 5,168, 35,227, 13, 66,
+235,243, 69, 35, 0, 75, 0,104,215, 34,123, 8, 96,125,133,118, 71, 1,104, 23, 36, 20,161,180, 78,224,107,125, 86, 70,146,228,
+250, 46, 93,186, 76,191,115,231,206,102,165, 82,185,170, 22,253,117,229,243,249, 27, 9,130,104, 13,128, 69, 16,196,155,204,204,
+204,245, 74,165,242, 67,162, 86, 26, 56, 58, 58,110, 0,208,146, 36, 73, 22, 65, 16, 9,153,153,153,107,148, 74,229,205, 15,224,
+ 52,115,112,112,232, 68,211,180, 35, 0, 6,139,197,202, 77, 75, 75,123,128, 90,230, 86,242, 15,140,101, 23,138,148, 44, 0, 48,
+ 55, 97, 42, 66, 3,155,202,117,157,102, 56,197, 13, 48,224,255, 27,116,105,100,114, 57,244,118,195, 90, 90,137,239, 85, 0,209,
+171, 62,118, 92, 78,196,247, 85, 45, 79, 84, 18,213, 92,145,179,183, 27,214,170,232, 82,142, 94,110,216,116,249, 13,170,141,180,
+215,133, 83,131,125, 0, 57, 89,135, 42, 5,132,110,209,215,255,118,244, 67,249, 33,206,178, 33,207,106,133,214,112,119,240, 85,
+ 76, 48, 67, 99,161, 9,227, 53, 3,208, 66,253,144,127,141,210, 92, 69, 69, 31,216,185,207,133,243,223,134,229, 52, 77, 7,148,
+ 59, 89, 43,201, 67,244,197, 23, 95, 12,188,114,229,138,177,166,222, 29, 69, 81, 48, 50, 50, 82, 2, 24,167,199,186,236,135, 15,
+ 31,190,232,192,129, 3, 24, 54,108,216,210,176,176,176,173, 0,138,117, 93,216,202,202,202,223,210,210, 50,120,255,254,253,118,
+237,219,119, 32, 56, 28, 14,222,188, 73,112,158, 50,101,138, 87, 92, 92,220,217,172,172,172,111,244,221,120,107,107,235, 81,150,
+150,150, 91,246,238,221,107,219,185,115,103, 16, 4,129,200,200, 72,231, 57,115,230,180,120,247,238,221,241,204,204,204, 25,250,
+114,218,216,216,184, 91, 88, 88,116,219,185,115,167, 81,167, 78,157,192,227,241, 16, 29, 29,109, 58,117,234, 84,199,180,180,180,
+216,204,204,204, 91,250,138,172,103,145,231,191, 82,202,165, 65, 0,192,100,115, 23,180,223, 18,113,254,217,141,243, 3,106,154,
+230, 31, 24,251,187, 65,108, 25, 96,128, 1,218, 24,229, 4, 71,154,198,252, 43, 63, 47, 35, 1,160,215,132,213,179, 70, 57, 97,
+243,145,244,170,107,216,234,201,247,253,216, 58, 8, 62,156,134,204, 15,233,231, 62,128,156,195,100,206,106,231,227, 99,251,237,
+221,187, 9,114,224,151,255,147, 67, 84,233, 48,103,149, 66,107, 72, 83,172, 82,150, 90, 76,136, 62, 13,113,252,106, 34, 35,252,
+139, 47,190,104, 56,113,226, 68,162, 85,171, 86,136,140,140,116, 63,126,252,120,191, 11, 23, 46, 36,168, 84,170, 72, 0, 47,160,
+123, 86,107, 22, 0, 79, 6,131,209,250, 95,206,249,111,134,137, 90, 92,101,226,175, 68,167,239, 37, 60,189,126,253,250, 57, 38,
+147,169,177,104,181, 19,137, 68, 14, 21,172, 96,186,160,158, 66,161, 64,124,124, 60, 72,146,100, 1,168,143,247, 75,106, 84, 5,
+103, 99, 99,227,221, 17, 15, 35,109, 8,166, 17,242, 37, 0, 36,114,112, 76, 29,112,224, 80,136,245,188,217, 51,134,220,188,121,
+ 51,188,168,168,232, 87, 61,250, 83,223,196,196,100,235,211,167, 79,109,140,141,141, 65, 81, 20,138,138,138,224,232,232,136,253,
+251,247, 91,206,155, 55, 47,160,176,176,240,166, 68, 34,249, 77, 31,113,110, 97, 97,209,237,249,243,231, 70,154,130,210, 50,153,
+ 12,206,206,206, 56,122,244, 40,119,214,172, 89, 77, 11, 10, 10, 82,101, 50,217, 91, 93, 9, 11, 69, 74,150, 82, 46, 13, 58,188,
+ 43,208, 5, 0,198,206, 8, 12,226, 20,153, 95,212,101, 90,161, 72,121, 1,128, 65,104, 25,240, 79,163,181,173,173,109,104, 78,
+ 78,206, 45, 0,223,224,227, 88, 26,220,121, 60, 94,115,138,162, 28, 73,146, 4,131,193,200, 16,137, 68, 79, 1,188,170, 45,161,
+141,155,223, 0,112,141,199,131,166, 90,144, 0, 8,146,140, 86,201, 75, 14,229,190,186,121,254,131, 56, 57, 70, 19, 0,186, 5,
+ 9, 80, 4, 73, 62,165,148, 37,251,115,226,111, 94,250,183, 28,156,251, 66, 52,118,115,212,189, 48,230,199,224, 27,209, 0,124,
+146, 2,121, 52, 73,247, 97,197,153, 64,223,217,179,103, 59,206,152, 62,157, 24, 63,110, 92,163, 91,119,238, 16, 93,245,169, 86,
+240,121,162, 74,135,253, 74,133,150,127, 83, 88,209,192,194,227,193, 75, 72, 38,131, 65,140,156,189, 62,224,224,174, 77,100,207,
+ 1, 67,203,134, 79,124,125,125,225,235,235, 75, 4, 5, 5, 53,250,243,207, 63, 27, 29, 61,122, 84, 25, 17, 17,241, 20,192,137,
+170, 86,214,219, 13, 98, 10,224,177, 89, 76,209,200,101,191,238,245,241,241, 1,151,203,197,135,112, 2, 64,207,134,228, 91,150,
+117,131,167, 35,103, 46, 79,110,223,190, 35,253, 49, 56, 63, 35, 60, 4,202,138, 90, 91,185,184,184,116, 82, 42,149, 60, 0, 96,
+ 50,153,146,148,148,148,153, 40,173, 13, 8, 0,103, 41,138, 26,168, 7, 55, 9, 96,197,192,129, 3,151,126,251,237,183,168, 91,
+183, 46,102,205,154, 5,133, 66, 17,121,233,210,165,229, 0, 54,160,134,139,199,222,222,126,249,238,221,187,173,153, 28, 19,180,
+ 90,152, 8, 65,129, 18, 0, 96,202, 5,206, 77,163, 49,107,214, 44,243,199,143, 31,175,209, 71,104,217,219,219,175,218,191,127,
+191,181,177,177, 49,104,154, 46,171,197, 88, 92, 92,140,226,226, 98,204,152, 49,195, 60, 54, 54,118,163, 62, 66,203,193,193,161,
+211,206,157, 59,141,120, 60, 30,138,139,139,217,114,185,156, 40, 42, 42, 66, 73, 73, 9, 45,147,201,228, 51,103,206,228,190,120,
+241,194, 79, 32, 16,188,133, 1,255, 22, 48, 0,124,205, 98,177, 6, 55,108,216,176,205,235,215,175,159, 40,149,202,211, 0, 78,
+127,132,151,169,238, 78, 78, 78,107,211,211,211,119, 2, 8,249,127,217,161, 14, 14, 14,167,239,221,187,231,178,123,247,238,113,
+155, 55,111,190, 8,224,183, 15,160, 99,179,217,236, 33, 93,187,118,117, 25, 59,118, 44,199,193,193, 1, 82,169, 20,137,137,137,
+230, 39, 79,158,116,141,142,142, 78, 85, 87,196,208,249,133,194,198,189,163, 41,152,230,199, 59,116,236,212,121,216,144,175,205,
+ 28,108, 44, 32,150,169,240, 58, 89, 80,247,143,139,231,186,198,177,141,238,201,229,194, 17,185,175,238, 21,235,203,217,173, 91,
+247,206, 61,186,119, 55,179,176,180,128, 80, 36,199,155,164, 52,215, 27, 87,207,251, 50,153, 70,183, 41, 66, 49, 58,235,249,213,
+146, 79,121,108,102, 1, 76, 17,207,166,121,139,142,173, 30,247,154,184,166, 13, 77,211, 32,105,236,168,104,205,154, 5, 48,119,
+148,150,253,210,139, 15, 52, 77, 19, 4, 54,105, 91,179,122,187, 97, 45, 77,227,123,144, 32,122,215, 48, 76,169, 65, 47,128,107,
+105,109,237, 51,117,242,100,162,168,176, 16,209,209,209, 37, 21, 69,214,214, 58, 96,223, 38, 81,239,108, 74,237,197,246,191,212,
+154, 85,233,208,161,206,121,180,140,141,141, 43,157,110, 97, 97,129,110,221,186, 97,253,250,245, 76, 0,173, 43,204, 46, 95,100,
+ 21,224,134,237, 89, 12, 11, 19, 46, 89,183,110, 93, 51,115,115,243, 15,230, 4, 0,208, 84,253,142,117,233, 47, 31,253,186,100,
+220,181,163, 91, 60, 69, 69, 5,172,138, 77, 76, 77, 77,209,184,113, 99, 44, 93,186, 84, 55,206, 15,199, 63,202,233,232,232,216,
+196,215,215,183,245,245, 91,183, 44,211,211,211,185,233,233,233,220, 43,215,175, 91,118,232,208,161,181,163,163, 99,147,178, 93,
+245,126,168,105,117,253, 92,189,107,215,174,229,103,207,158, 37,125,125,125, 97,101,101,133,110,221,186,225,226,197,139,204,205,
+155, 55,175, 3,176,180,166,126,146, 36,217,217,215,215,151, 0, 77, 35, 67,168,196,131,245, 77, 16,189,201, 3, 69, 18, 26,121,
+194, 66,136,197, 18, 24, 27, 27,243, 80, 58,220,171,235,182,119,236,208,161, 3, 1,160, 76, 92, 21, 21,149,126,138,139, 69,144,
+201,228,224,114,185,102, 0,120,186,114,210, 52,237,216,169, 83, 39, 0,128, 92, 46, 47,123,195, 43, 40, 40, 32,132, 66, 33,100,
+ 50, 25, 88, 44, 22, 27, 53,251, 53,150,113,154,155, 48, 21, 76, 54,119,193,216, 25,129, 41, 99,103, 4,166, 48,217,220, 5, 50,
+179, 66,149, 46,211,204, 77,152,138, 79,124,126,218,145, 36,249,179,155,155, 91, 44, 73,146,135, 1, 56,126, 32,103, 91, 0,235,
+140,140,140,174,121,120,120,164, 24, 27, 27, 95, 87, 11,245, 14,181,228,228, 24, 27, 27, 95, 95,183,110,221,169, 39, 79,158, 12,
+251,243,207, 63,235, 63,123,246,108, 72, 80, 80,208,113, 83, 83,211,112,148,247, 75,212,251,218,172, 95,191,254,193, 7, 15, 30,
+180,237,216,177,227, 1, 0,220,143,116,189, 51, 0,180,132, 78, 21, 57, 62,201,113,119,106,213,170,149, 11,143,199, 67,143, 30,
+ 61, 0,192,239, 67, 56,217,108,246,144,165, 75,151,186, 45, 91,182,140, 35, 16, 8,112,253,250,117, 60,124,248, 16, 74,165, 18,
+211,166, 77,227,142, 29, 59,182,129,153,153,217, 16,189,250,201, 52, 63, 62,123,206,220, 62,243,103, 77, 50,123,250, 78,142, 67,
+215,222,225,247, 8, 1,178, 74, 56, 24, 48,100,172, 69,239, 65,195,123,115,184, 22,199,245,229, 92,180,112, 97,159,201, 19, 2,
+204, 98, 4, 20,206,221,207,192,253,120, 33,148, 44, 75,244, 29,242,141, 85,139, 78,125,250, 49,193,250,229, 83, 31,163,253, 64,
+251,217,179,103,219, 45,216,116,228,174, 83,219,175,119,100,231,195, 87, 91,248,184, 3,150,214, 38, 38, 95,199,119,237, 58,201,
+168,180, 94,108,181,156,229,248, 90, 15, 10,206,202, 71, 23,109,255,172, 46,214,104,164, 30, 86,100, 92,249,121, 25, 73, 19,152,
+ 53,202,169,220,125,160,210,126,222, 4,134,205,158, 59,151,101, 97,101,133, 93,187,118, 65, 42, 18,149,243,153,237,238,130, 62,
+215,140,153,169, 13, 60,156, 99,187,185, 18,225,255,193,247,149,201, 85, 90,180,194,194,194,232,254,253,251, 19, 0, 16, 26,139,
+252, 33, 77,177,113,248,183,235,150, 18, 36, 65,215,243,236, 24, 83,199,173,153,200,198,198, 6, 37, 37, 37,144, 74,165, 96,179,
+217,144, 72, 36,120,247,238, 29,238,223,191, 15, 43, 43, 43,189,122, 82, 88, 88, 8, 83, 83, 83,152,154,154,126, 20,206,197,227,
+122,112,223,164,100,115, 47,223,191,217,117,251,244,223,218,187,181,244,123,214,125,248,172,231,230,118, 78,146,103,207,158,225,
+222,189,123,200,207,207,135,143,143,207,127,229, 96, 62, 84,251,100, 61, 4, 96,213,176, 97, 67,231,203,215,110, 91, 21, 75, 40,
+243,164, 76, 5,139,162, 40, 24, 27,243,149, 39, 66,207, 9,135, 13, 25, 64,100,100,100,100, 1,120,168, 22,183, 53,213, 84,228,
+ 1,104,226,239,239,191,104,250,244,233, 72, 72, 72,192,164, 73,147,196, 15, 31,100,113,178,147, 0, 0, 32, 0, 73, 68, 65, 84,
+ 62,204,237,216,177,163,205,254,253,251,141,230,205,155,135, 91,183,110,173, 8, 11, 11, 59, 3, 32, 17, 64,165,181,218,104,154,
+102,179,217,108, 40,213,178, 65,174,162,202,244,125, 97, 97, 33,104,113, 62,216,108, 54, 3,128, 29,116,244,163,163, 40,138,205,
+ 98,177,202, 68,214,187,204, 66,188,203, 42, 65, 97,177, 12, 98,177, 18, 50, 49, 13,134,177, 13, 19, 72,114, 0,144,164,171,117,
+132,199,227, 65,169, 84,162,168,168,180, 27, 26, 75,153, 76, 38,131, 80, 40, 4,131,193, 48, 5, 96, 14, 32, 79, 23, 66,181,147,
+251,239,234, 97, 64, 60, 58, 50,208,246,245,133,197,229,166,153,155, 48, 21,161,243,154, 50,108,156, 91,220,105, 57,236, 23,143,
+178,105,159,214, 63,139,107,103,103,119,227,212,169, 83, 77, 27, 53,106,132,196,196, 68,143,161, 67,135,250, 8, 4,130,150,208,
+191, 38,163, 49, 73,146, 27,199,142, 29, 59,125,228,200,145,132,187,187, 59,152, 76, 38,148, 74,165,115, 66, 66, 66,183,147, 39,
+ 79, 46, 60,120,240,224,126,149, 74,245, 29,116,247,251, 35, 57, 28,206,137,189,123,247,118,241,241,241,193,225,195,135,241,240,
+225, 67,170,109,219,182,228,152, 49, 99,224,234,234,234, 51,102,204,152,223,165, 82,105,223, 90, 90,182, 92, 59,116,232,224,194,
+ 96, 48,208,177, 99, 71,246,189,123,247, 90, 1,184,247,129,251,212,212,217,217,249,150,159,159, 95,203,107,215,174, 69,101,100,
+100,248,233,177,189, 0, 48,200,201,201, 41,200,194,194,194, 74,143,123,108, 73, 90, 90,218,247, 0, 66,117, 92,164,125,235,214,
+173,145,156,156,140, 38, 77,154,128,205,102,119,144,203,229, 83, 0,244, 1,240, 3,128, 88, 61,250,235,222,189,123,119, 23, 63,
+ 63, 63, 34, 52, 52,180,204, 63,148, 36, 73, 40,149, 74,176,217,108,180,111,223,158,140,140,140,172,243,232,209, 35,119,232, 48,
+140,104,227,230, 55,160, 99,231,174,157,187,248, 52, 39, 55,135,190,134,138, 82,129, 65, 40,193, 36, 40, 80, 10, 46,184,108, 6,
+220, 61,219, 48,226, 95, 60,245,145, 73,229, 3,114, 95, 93, 59,175, 11,103,159, 94, 61,125,155, 54,113, 39,183,255,254, 6, 5,
+105,177,170,180,184,219, 57, 36,131, 68,211,214, 95,216,186, 55,107,201,104,233,227,199, 74, 79,124,209, 77, 34,233,210, 35, 63,
+225,246,181, 79,113, 65,174, 4, 24,206,117,108,191,238,223,211,143, 45, 72, 79, 23,157, 12, 61,255,188, 68,129,251, 0,112, 11,
+ 32,250, 2,205,189,219,181,235,186,127,195, 6, 27, 62,159,207, 26, 61,114,164,114, 95, 84, 84, 20,170, 24,250, 93, 9, 48,108,
+ 29, 29,123, 76,157, 58,149, 33, 72, 79,167, 79,158,190,240, 76,195,135,210,183, 20,239,230,206, 30,253, 33,138,215,107,152,114,
+ 0,192,113,112,116,108, 58,101,202, 20,100,164,167,227,112, 72, 72,177, 4,136,208, 88,177,206, 49,176,179,153,155,227,248, 5,
+223, 12, 36, 92,248,182,152,186, 98, 95,135,110,242, 44, 55, 8,254, 58,254,218, 90,228, 51, 22, 89,147, 43, 21, 90, 21,241, 91,
+ 44,150,155,177, 81,255,228,201, 99,100,118,145, 92,148,144,144, 0, 91, 91, 91,240,249,124, 88, 88, 88, 32, 38, 38, 6,215,175,
+ 95,199,203,151, 47, 65, 81, 20, 90,180,104,161, 87,111,114,114,114,240,244,233, 83, 88, 89, 89,125, 52, 78, 55, 23, 59,124,235,
+ 98,199,206,204, 45,100, 95,123,248,210,103,223,226, 33,205, 72,143, 33, 7,181,139,196,202,100, 50,252, 71, 80, 22, 93,232,226,
+226,210,233,208,161, 67,108,169, 18,102,238, 83, 34,126, 20, 73, 84, 38, 0, 96,194, 99,136, 34,131, 26,127,183,122,245,106,209,
+132, 9, 19, 60, 82, 82, 82,214,235, 96,235, 95,219,189,123,247,249, 52, 77,179,102,207,158, 13, 0, 24, 59,118,108,225,253,251,
+247,221, 1,100, 93,191,126,221,105,226,196,137,175,110,220,184, 97, 60,119,238, 92,134, 82,169,140, 97, 50,153,116, 88, 88,216,
+ 42, 0,129,239, 61, 17, 73,242,113, 84, 84, 84, 61, 39,215,198,112,181, 33,225,187,244,101,233, 13,206,152, 66,106,210, 27,196,
+ 61,123, 8, 71, 71, 71, 11, 62,159, 31,155,154,154, 42, 79, 75, 75, 91, 40, 18,137,118,215,208,199,232,200,200, 72,190,171,171,
+ 43,138,139,139,145,154, 93,130, 89,167,141, 81, 40, 46, 53, 98,176, 32, 70, 75,151,198,102, 70,164,236, 97, 86, 86,150, 92, 38,
+147, 45, 19, 10,133,135,170,227,100,177, 88,185,207,158, 61, 51,173, 91,183, 46, 36, 18, 9,157,151,151, 71,136, 68, 34, 20, 21,
+ 21, 17, 23, 46, 92,248, 74, 32, 16,180,173, 95,191, 62,225,236,236,188, 74, 32, 16,136,211,210,210, 38,233, 50, 52,169, 22, 76,
+ 42, 38,147,185,121,242,228,201,195,206,156, 57,243, 56, 52,176,233, 32,173,225, 18, 11, 79, 79,207,203,205,155, 55,115, 10,217,
+228,189, 3,192,143,255,130,115,107,252,146, 37, 75,154, 90, 91, 91, 99,234,212,169, 88,185,114, 37,150, 47, 95,222,104,234,212,
+169,147, 1,108,213,131,199,200,209,209,241,209,246,237,219, 61, 58,117,234,132,139, 23, 47,226,216,177, 99,120,251,246,173,178,
+126,253,250, 76, 31, 31, 31,172, 88,177, 2,189,123,247,158, 52,115,230,204,174,233,233,233,173,116, 20, 31, 19, 86,172, 88, 49,
+168,115,231,206, 24, 55,110,156,244,230,205,155,195, 0, 92,185,122,245,234, 23,183,110,221, 10, 61,114,228,136,209,186,117,235,
+122,204,155, 55,111, 42,128,224, 90,108,255, 87, 93,186,148,214, 80,238,220,185, 51,130,130,130,122,127,160,208,226,216,216,216,
+ 92, 56,124,248,112,203,198,141, 27, 99,244,232,209,173,134, 13, 27,118, 33, 63, 63,191, 39, 0,157,110, 72,117,234,212,217,120,
+246,236,217,134, 85,141, 44, 84, 6,169, 84,106,253,245,215, 95,111, 72, 74, 74,210, 75,104, 29, 61,122, 20,223,127,255, 61, 90,
+180,104,209,188,125,251,246,123,166, 76,153, 2,127,127,255,238, 49, 49, 49, 14, 40,141, 90,174, 17, 60, 30,175,249,136, 17, 35,
+ 56, 15, 30, 60, 0, 0,120,122,122,162,101,203,150, 72, 78, 78,198,227,199,143, 33,149, 74,225,224,224,128,193,131, 7,243,146,
+146,146,154,231,228,228,212, 40,180, 72,174,241,248, 65,253,251,154,157,187, 47,128,138, 82,162, 77, 67,115,248,120,216, 35, 62,
+181, 16,145,177,169, 80,201,216, 48,183,182, 65,135,174,189,172, 51,210,222,142,207, 5,106,246,215,226, 26,143, 31, 60,168,159,
+233,185,136,116, 20,164,199,209,175, 31,158,185,174,144,136, 38, 1,192,227, 63,143,239,113,180, 49,234,233,222,186, 13,195,175,
+231, 64,171,211,199, 50,198,231,255, 51,181,253,222,195, 45, 23,236,117,101,229,140, 93, 16,224, 75,179,172,156, 31,154, 41, 20,
+ 59, 53,243,122, 3,189, 22, 46, 89,210,254,155,201,147,121, 20, 69,225,200,175,191, 22, 62,141,138,138,159, 12, 80, 83,170,224,
+219, 9,184, 14, 27, 52,136,107,102,110,142, 57,179,102,193, 76,161,184, 81,182, 75,128,238,115,230,207,239, 52, 99,198, 12,163,
+ 61,171,166, 63,238, 61,113, 77,107,138,166, 9,205, 48,229,209,234, 77,113,109, 39, 14, 26, 4, 51,115,115,204,158, 61, 27,132,
+ 92,126,185, 76, 64, 49,113, 99,194, 87,190, 62, 1, 3, 58,131, 0,129, 99, 97,119,240, 58, 57,251,217, 13, 1,222,124,174,170,
+170, 2,170,244,209,170,118,232,176, 72,142,204,238,253,134, 8,220,221,221,139, 26, 53,106, 84,148,155,155,139,231,207,159, 35,
+ 63, 63, 31,193,193,193,136,139,139, 3, 69, 81,181, 22, 48, 20, 69,225, 99,115, 2,128,131,141, 57, 70,247,109,199,148, 74, 68,
+188,236,236,236,114,195, 71,255, 33,161, 85, 6,165, 82,201,171, 95,191, 62, 72,128, 16,150, 40, 76, 51,142,118, 33, 50,142,118,
+ 33,132, 37, 10, 83,153, 76, 70,154,154,154, 66, 42,149,242,116,160, 98,125,249,229,151,243,207,156, 57,195, 90,187,118, 45,188,
+188,188, 32,151,203,113,255,254,253, 84, 0, 89,234, 54,233,183,111,223, 78,215, 8,225,245,235,215,227,244,233,211, 68,143, 30,
+ 61, 22, 86,118, 62, 9, 4,130,141, 83,166, 76,201, 43, 41,202,195,222,225, 98,132,142,206,198,207,131,222, 98,164,205, 41,228,
+101,190,195,190,125,251,112,245,234, 53,226,202,149,171,236,155, 55,111,154,244,235,215,111, 71,157, 58,117,194,170,235,100,122,
+122,250,218, 25, 51,102, 20, 20, 21, 21,161,168,168, 8, 98,177, 4,121, 34,224,217,150,166,120,182,165, 41, 36,148, 17,118,237,
+220, 77, 62,123,246,204,246,237,219,183, 78, 3, 6, 12,216,194,231,243, 15, 86,199,153,150,150,246,224,219,111,191,149, 20, 22,
+ 22, 66, 38,147,201, 85, 42,149, 76, 44, 22, 43,142, 31, 63, 62,215,198,198,166,195,197,139, 23, 89, 87,175, 94, 99,222,188,121,
+139,125,253,250,117,139,110,221,186,157,112,112,112,248, 69, 23, 75, 25,131,193,216, 22, 18, 18, 50,126,215,174, 93, 14, 62, 62,
+ 62,205, 42, 12, 69,241,123,246,236, 89,239,215, 95,127,173, 19, 20, 20,180, 16,165, 1, 40,159, 20,182,182,182, 51, 7, 13, 26,
+132, 93,187,118,225,252,249,243,243,118,236,216,129, 47,191,252, 18, 78, 78, 78,223, 66,247, 97, 47, 0,248,113,235,214,173, 30,
+ 30, 30, 30, 24, 59,118,172,108,210,164, 73,223, 29, 58,116,168,126,120,120, 56,251,151, 95,126,169, 55,117,234,212,217, 1, 1,
+ 1,146, 6, 13, 26, 32, 56, 56,184, 33, 73,146,219,116,186,190, 29, 28,230,142, 28, 57, 18,155, 54,109,194,205,155, 55,135,160,
+244,129, 42, 3,112,233,238,221,187, 3,214,173, 91,135, 33, 67,134,192,217,217,121,118,109, 44, 79, 77,155, 54, 93,214,167, 79,
+ 31,132,135,135,163, 85,171, 86,232,208,161,195, 60, 0,182,181,220,157,164,169,169,233,137, 67,135, 14,249,214,171, 87, 15,107,
+214,172,129,155,155, 27, 14, 30, 60,232,107, 98, 98,114, 2, 58,186,111, 88, 88, 88,152, 26, 27, 27, 99,225,194,133,244,144, 33,
+ 67,242,106,250,204,155, 55,143,230,114,185,176,178,178,210, 53,240,197,136,199,227,117,244,242,242,194,253,251,247,113,245,234,
+ 85, 44, 93,186, 20,115,231,206, 69,118,118, 54, 70,140, 24, 97, 12,192, 95,143,237,182,183,179,179, 67, 97, 97,105, 93,120, 47,
+ 47, 47, 60,121,242, 4,217,217,217,112,118,118, 70, 70, 70, 6,108,108,108,208,184,113, 99, 80, 20,101,175, 27, 37,237,101,107,
+109,129,172,124, 41,152, 80,162,181,187, 45,110, 60,207,197,187,108, 25,236,109, 44,145,145,149,141, 58, 54, 60,184,184,212, 5,
+ 77, 83, 94, 58, 41, 96, 6,217,154,203, 51, 66, 94,145, 28,105,177, 55,115,229, 42,233,148,130,196,187, 41, 5,137,119, 83,228,
+ 82,201,148,199,119,174,230,214,115, 48,130,139,139, 11, 8,154,106,247, 41,174,199,161,117,225, 98, 98,196, 28,123,245,231,101,
+ 68,216,254,197,132, 52,247, 93,219, 62, 14,165,150,101, 59,160,254,208, 17, 35, 58,126,247,221,119,188,204,204, 76, 42, 96,248,
+240,188,181,129,129,215,254,168,225,197,160, 24,104,212,179,103, 79,144, 0,254,184,114, 69,148, 1,164, 2,128, 3,224, 50,240,
+235,175,187, 44, 89,180,200, 40, 39, 55,151,186,159, 80,124, 46, 46,139, 30,108,173, 66,125, 93,252,179, 84,128,183,134,247,242,
+229,203,180, 24,120, 12, 0,126, 46,248,182, 87, 39, 79,159, 49,131,186, 64,144,149,143,217,107,127,198,158,147,183, 46, 91, 40,
+232, 47,254, 67,143,226,201,181, 18, 90,234,161,159,247,166,149,148,188, 63,122,240,161, 2,230,239,224,172, 12,255, 69,161,165,
+129, 66, 81, 58, 74, 34, 83, 80,144, 41, 40,205, 91, 45,196, 98,177,206, 20,151, 47, 95, 62, 60,107,214, 44,108,217,178, 5,175,
+ 94,189, 2,155,205,134,151,151, 23, 31,128,169,230,158,223,186,117,107,123,146, 36, 17, 31, 31,143,205,155, 55, 99,194,132, 9,
+244,189,123,247, 14,162,242,124, 41, 79,242,242,242,118, 78,153, 52,161, 32, 63,243, 29, 20,226,124,100,165,189,129, 84, 84,128,
+ 53,235, 55,162, 68,193, 68,134, 80,142, 12,161, 28, 36,215, 26,123,246, 31, 98, 52,109,218,180, 15,131,193,232, 95, 77, 63,239,
+103,102,102,238,159, 54,109, 90, 65, 70, 70, 70,217,246,201, 20, 52,100,138,242,231,171,177,177, 49,182,109,219,102,225,238,238,
+ 62,136,201,100,118,171,134, 83,144,146,146, 18, 55,109,218, 52, 89,102,102, 38,132, 66, 33,206,157, 59, 55,160, 94,189,122, 86,
+ 27,126,220, 66,136,228, 76,100, 20,200,145, 81, 32, 7,199,212, 30, 39, 66,207, 48, 26, 55,110, 28,192,100, 50, 59,212, 36,178,
+142, 28, 57, 50,102,248,240,225,102, 63,254,248, 99,222,217,179,103,119, 1,208, 62, 32,241,219,182,109, 59,121,226,196,137,162,
+249,243,231, 91, 7, 5, 5,205,251,196, 98,171,219,240,225,195,155, 80, 20,133, 83,167, 78, 61, 3,176,245,204,153, 51,143,164,
+ 82, 41, 70,140, 24, 81, 95, 61,140,164, 11,218, 6, 4, 4, 76,247,245,245,197,156, 57,115,228,215,174, 93,107, 13, 96, 11, 74,
+135,114,105, 0,201, 0,118,220,186,117,171,197,204,153, 51,165,237,218,181,195,184,113,227, 38, 0,240,173,129,183,227,200,145,
+ 35, 61, 40,138,194,241,227,199,159, 2,184, 88, 97,254,245,208,208,208,251, 50,153, 12,163, 70,141,106, 0, 64,159, 27, 57,155,
+203,229,158, 90,189,122,181,101, 90, 90, 26,198,140, 25, 35,141,143,143, 71, 96, 96,160,145,133,133,197, 69,173,107, 64,103,112,
+185,220,125, 63,253,244,211, 32,111,111,111, 76,155, 54, 77,182,123,247,238, 89,211,167, 79,151,181,110,221, 26,187,118,237, 26,
+196,225,112,244, 42, 45,146,158,158, 94, 16, 27, 27,107, 83,211, 39, 53, 53, 85,215,240,124, 99, 83, 83,211, 8, 79, 79,207, 66,
+ 47, 47,175, 54, 74,165, 18, 49, 49, 49,111, 14, 31, 62, 76,121,121,121, 97,231,206,157, 8, 10, 10, 66,255,254,253,193, 96, 48,
+116, 22, 90, 12, 6, 3,114,185, 28,198,198,198, 96, 50,153,120,243,230,141, 38,181, 12,216,108, 54, 0,192,196,196, 4, 70, 70,
+ 70, 32, 73, 82,167,104, 52,130, 0, 93, 88,162, 0,139, 69,130, 73, 82,136, 75, 22, 66,174,160,192, 99, 51,192, 98, 18, 0, 77,
+193,210,132, 5, 30,135, 1,146, 32, 40, 29, 57, 33, 20,201,193, 97,147, 96,177, 57, 4,169, 84, 25,149, 61, 28,153, 42, 35, 35,
+ 35, 14, 97,107,206, 5,143,253, 47, 42, 11, 76,148, 58,150,143, 7, 88, 38,117,235, 14,219,180,121, 51,167,176,184, 24, 67,134,
+ 12,201, 75,122,244, 40, 68, 12, 60,234, 90, 67,144, 18,201,100,186,251,117,237,138,200,168, 40, 20,229,231,191, 6, 74,157,227,
+ 57, 78, 78,195,183,109,219,198, 17, 75, 36, 24, 50,120,112,193,171, 59,119,142,164, 20, 35,236,120,114,169, 16,171,241,184,179,
+217,142, 26, 94, 97,126,126, 62, 80,154, 66,194,193,206,116,195,140,128,222, 40, 42,145, 96,193,198, 16, 42, 42, 78,240,109,120,
+ 42,250,157, 73,135,240, 63,246, 24,158, 92,225, 3, 64,135,132,165, 26,235, 82, 77, 98, 69, 42,149,126,116, 1,244,161,156,149,
+137,196, 15,229,252, 55,130,201,100, 74, 94,190,124,201, 49,183,113,162,108,204, 88,249,245, 38,220,177, 0, 0,107, 83,166, 80,
+174, 82, 80,233,233,233,224,114,185, 18, 29,135, 27, 38,237,219,183,111, 13,128,102, 76, 38, 51,236,208,161, 67, 68, 72, 72,136,
+213,200,145, 35, 19, 98, 99, 99,211, 60, 61, 61, 93, 15, 29, 58,100, 14, 0, 59,118,236,160, 79,156, 56,209, 27,165, 41, 51,170,
+204,227,146,153,153, 25,152,155,155,123,111,198,140, 25,193, 28, 14,199,202,196,196,196, 38, 60, 60,156,144,200,105,180, 93,146,
+ 92, 22,137,104,110, 68,226,246, 98,115, 76,158, 60,153, 17, 27, 27,187, 62, 45, 45, 45,172, 26,206,133, 5, 5, 5,225,175, 94,
+189,218, 98,225,220,210,206,196,117,137,133,207,226,120, 0,128,171, 45, 11,164,250,190, 88, 80, 80,128,236,236,108, 76,159, 62,
+221, 42, 33, 33, 97, 97, 90, 90,218,141,106,172, 90,183,114,114,114, 82, 95,188,120,225,199, 98,177, 56, 38, 38, 38,109, 35, 34,
+ 34, 8,137,140, 66,243,133,201,200, 43, 46,237,167,181, 41, 19,143, 87, 59,224,219,111,191,101,190,126,253,122,163, 64, 32,232,
+ 92,233,205,140, 36,131,180, 69,214,130, 5, 11,162, 1, 52, 0, 80,110,104, 84,165, 82, 17,163, 70,141,122, 14,192,107,254,252,
+249,214, 52, 77,207, 91,184,112, 97, 30,128,189,255,244,185,100,110,110,190, 97,202,148, 41, 56,113,226, 4,242,243,243,183, 1,
+ 64, 97, 97,225,214,163, 71,143, 30,159, 52,105, 18,126,253,245,215, 13,217,217,217,127,160,230, 80,237, 47, 71,140, 24,129, 75,
+151, 46,225,207, 63,255, 92, 6, 32,166,138,118,175,194,195,195, 23,158, 61,123,118,251,200,145, 35,241,243,207, 63,247, 1, 80,
+157,131,108,207,222,189,123,227,226,197,139,200,205,205,221, 85, 89,131,130,130,130,221,231,206,157,107,223,187,119,111,172, 95,
+191,190, 39,128,235, 58,108,186,135,133,133,197,161,237,219,183,183,245,246,246, 70, 64, 64,128, 68, 46,151,247,153, 63,127,254,
+249, 99,199,142,153, 29, 62,124,184,205,228,201,147, 31,168,115,190,221,215,201,148, 69,146,235, 54,111,222, 60,209,207,207, 15,
+243,230,205, 83, 94,190,124,121, 32,128, 43,127,252,241, 71,194,130, 5, 11, 46,108,222,188,153,177,105,211,166,137,179,103,207,
+206,166, 40,234, 83,137,235,213, 59,118,236,104,223,171, 87, 47,188,121,243, 6,247,239,223,135, 92, 46,255, 53, 34, 34,226,118,
+163, 70,141, 86,203,100,178,243, 38, 38, 38, 99,205,204,204, 60, 91,182,108,249,197,227,199,143,141,161,155,159, 94,102, 98, 98,
+162,165,133,133, 5,148, 74, 37,158, 61,123,134,186,117,235, 66, 46,151,227,237,219,183,240,246,246, 6,155,205, 70,102,102, 38,
+180,172,229, 53,136, 34,242, 89, 66, 82,122, 3,107, 51, 19, 64,197,195,147,248, 84,216,217, 90, 65, 69,144,200,200, 16,160,101,
+ 19,103, 16, 4,129,130,220, 12, 16, 4,241, 92, 23, 78, 21, 77, 69,190, 75,207,170, 99, 99,198,133,119,251, 94, 54, 17,127,100,
+135,152, 55,232, 52,153,201, 32, 24, 28,174,233,222,137,227,198,217, 82, 20,141,130,220, 76, 48, 73,242,225,167, 56, 64,167,222,
+ 33,165,171, 27,239, 73,175,137,107, 90, 18, 52,104,177, 28,135,127,206, 68,190, 49,208,114,199, 15, 63, 88,218,216,218, 34, 32,
+ 32,128,202, 77, 75,187, 86,162, 99, 98,229, 6,141, 26, 57,152,154,153,225,238,221,187, 96,148,250,216,226, 32,224, 17,180, 96,
+129,141,189,163, 35, 38, 76,156, 72,101,190,123,119, 93, 12,164,235,211,215, 6,110,110, 44, 13, 47,169,230, 21, 48, 48,107,254,
+ 64, 95,174,137, 17, 23,235,246,156, 65, 74,142,232,120,132, 0,123,254,163,246,142,125,213, 90,180,170,114, 62, 43,117,170, 54,
+174, 86,172,240,120,188, 50,107,138, 30,111,122, 31,157,179, 38,252, 29,156,159, 16,139, 1,156, 5,176, 56, 37, 37, 37,110,226,
+196,137,114,165, 92, 90,116,111, 77,131, 69, 81,235,235, 77,139, 8,228, 79,251,125,150,197,162, 18, 97, 94,209,142, 29, 59, 20,
+ 41, 41, 41,113,218,203,212,192,253, 14,192,197, 95,126,249,101,247,169, 83,167,224,229,229,133,152,152, 24,123,145, 72,212,234,
+249,243,231,214, 30, 30, 30, 8, 9, 9,193,137, 19, 39,182, 0,184, 90,157,200,210, 64,169, 84, 94,203,200,200,104,156,156,156,
+220,208,210,210, 82, 97,105,105,137,138,145,136,133, 98, 10,185, 5, 66, 88, 91,219,192,220,220,188,190, 14,226,252, 98, 70, 70,
+134, 59,101,213,164,139,123,206, 54, 97,228, 58, 23, 68,174,115,193,197,133, 78,224, 91,114,144,159,159,143,236,236,108,100,103,
+103,131, 32, 8, 40, 20,138,166, 58,112,190, 21, 8, 4, 7,222,189,123,119,214,193,193, 1,102,102,102,160, 1,100, 20, 40, 16,
+189,201, 3,209,155, 60,144, 81,160, 64, 97, 81, 17,234,213,171, 7, 51, 51,179,170,134, 40,200, 58,117,234,244, 29, 62,124,184,
+ 25, 0,168, 5, 84,119,154,166,167, 85,242,153,170, 84, 42, 59,105,218,126,255,253,247,214, 0,122,255,195,231, 19, 3,192,140,
+ 73,147, 38,181,225,241,120,216,185,115,231, 91, 0, 71, 52,247,250,221,187,119,199, 3,192,172, 89,179, 60, 1,204, 67, 21,153,
+160,203, 76, 67,108,118,235,166, 77,155, 34, 34, 34, 2, 0,206,212,176,238,208,123,247,238,161, 81,163, 70,224,241,120,109,107,
+104, 91,223,197,197, 5,241,241,241, 0,240,164,138, 54, 79,226,227,227, 75,135,123, 8,162,190, 14,219, 62,168, 87,175, 94,207,
+110,220,184,209,182, 99,199,142,152, 56,113,162,236,193,131, 7,125, 1,220,126,242,228, 73,183, 81,163, 70,137,220,221,221,113,
+235,214, 45,143, 81,163, 70,221, 35, 73,114,141, 14,156, 19, 86,173, 90,181,248,171,175,190,194,170, 85,171,232,147, 39, 79, 6,
+ 0,184,162,158,119,249,248,241,227, 99,214,174, 93, 75, 15, 30, 60, 24, 43, 87,174, 92, 12, 96, 90,117,100, 34,145, 72,168, 82,
+169, 32, 18,137,116, 50,201,235,218,222,214,214,246,203, 94,189,122, 97,233,210,165,168, 83,167, 14,206,159, 63, 79, 3, 8, 3,
+ 16, 46,147,201,186, 0,216, 44, 18,137,126,143,136,136, 64,207,158, 61,217, 40, 95, 98,164,186,245, 63, 59,122,244,168,212,194,
+194, 2,174,174,174,104,208,160, 1, 50, 50, 50,144,148,148, 4,111,111,111,180,110,221, 26, 74,165, 18, 7, 14, 28,144, 20, 21,
+ 21,233,148,147, 79, 41, 19, 29,190,122,225,180,208,198,140, 11,103,123, 11,212,171, 99,141,226,130, 28,100,103,164,163,117,211,
+186,232,218,186, 30,114,132, 50, 92, 14, 59,157, 95, 84, 84,114, 88, 39, 19,190,180,228,208,181, 63,206, 11,173,204,216,104,220,
+196, 19,163, 38,206,106,217,178,149,207,213,118,237, 58, 93,254,113,195,186,230,221, 59, 52, 37, 82,115, 36,184, 20,118, 38, 95,
+ 88, 88,120,232, 83,220,232, 87, 2, 12,137,133,251,237, 93,103, 35, 15, 52,235, 51,233, 64, 92, 42,182, 1,128,130,193,240,232,
+251,229,151, 72, 77, 77,197,233, 83,167, 4, 37,192, 83, 93,249,140,140,140, 72, 0, 16, 10,133,224,170,253,238,148, 64,147,126,
+253,250, 33, 59, 39, 7, 71,143, 28,201,190, 4, 68,233,211,207, 1, 0,199,216,168,212, 32, 40, 20, 10, 65, 0,133, 0, 64, 48,
+209,183,157, 87, 35,100,231, 21,226,198,195,184,226,122, 98, 76,175,142,231, 51,118,132,175,157,143, 22,128,156,121,243,230,129,
+203,229,130,207,231,151,137, 35,141, 88,225,112, 56,224,243,249, 80, 42,149, 56,126,252, 56, 0,228, 84,251,134, 7, 72, 7, 78,
+ 91, 79, 73, 21,116, 9,139,197,250, 40,156,234, 55, 71,233,144, 5, 63, 83,127,220,171, 60, 40,166, 54,156,159, 1,218,169,115,
+ 98,181, 3,144,159,148,148,148, 58,108,200, 64, 97,114,194,139, 12, 81, 65,186,160, 48, 55, 69,144,242,246,121,198,146,133,243,
+132,169,169,169, 41, 40,205,165,213, 46, 61, 61, 93,179,140, 46,152, 55,108,216,176,159, 38, 77,154, 68, 71, 71, 71, 3, 0, 34,
+ 35, 35, 49,110,220, 56,122,204,152, 49,219, 0, 44,170, 69,191, 69, 98,177,184,156, 53, 68,174,162,202,134,252, 10, 11, 11,145,
+158,158, 14,153, 76,166,179, 34,126,117,121,211,203,188,164,199, 10, 79, 87, 19,120,186,154,192,195,197, 24,132,178,184, 76,100,
+101,103,103,107,222,156, 37,122,244,179, 80, 42,149,150,235,167,246,208,100, 97, 97, 33, 50, 50, 50,160, 82,169,170,122,144, 81,
+105,105,105,151, 79,156, 56, 81, 4, 0, 63,254,248, 99, 30, 65, 16,127, 18, 4,241, 83, 37,159, 61, 76, 38,243,174,166,237,166,
+ 77,155,242,240,254,144,216,223,137,175,188,189,189,243, 23, 47, 94,188,115,246,236,217,216,179,103, 15, 4, 2,193, 34,252,149,
+139,135,202,201,201, 89,176,107,215, 46,140, 31, 63, 30,203,151, 47,223,212,170, 85,171, 66, 0,163,170, 34,180,179,179,115,102,
+ 50,153,136,138,138, 42, 4,240,166,134,245,103, 68, 69, 69,101, 18, 4, 1, 62,159,239, 86, 93, 67,107,107,235,134,102,102,102,
+ 72, 75, 75, 3,212,111,204,149, 32, 41, 61, 61,157,230,112, 56,112,114,114,106, 84,211,198, 91, 89, 89, 45, 56,112,224, 0,243,
+197,139, 23,232,222,189,123,234,173, 91,183,122, 2,208,132,164, 71, 69, 70, 70,250,118,235,214,237,229,213,171, 87,177,113,227,
+ 70,162, 69,139, 22,211,106,226,116,117,117,157, 58, 97,194, 4, 4, 7, 7, 99,239,222,189,211, 0,156,170,208,228,216,174, 93,
+187,102,237,221,187, 23, 19, 39, 78, 68,253,250,245, 71, 85,199,151,156,156,188,208,207,207, 47,242,213,171, 87, 58, 85, 60,208,
+177,125, 55, 31, 31,159,134, 98,177, 24,135, 14, 29,122,211,176, 97,195, 71,167, 78,157,154,135,247, 31,216,191,159, 62,125, 26,
+163, 71,143, 70,139, 22, 45, 14, 1, 24,169,203,101, 25, 27, 27,155,114,253,250,117,138,205,102,227,127,236,157,119,120, 20, 85,
+219,198,239,217,222,119,211, 59, 9,161,165,210, 2,132, 94, 2, 33, 8,132, 80, 68, 17, 65, 84, 20,145, 34, 10, 40, 22,192, 6,
+130,116, 65,164,136,133, 23, 1, 65,145, 22,154,128,130,116, 18, 32, 36,144, 4, 72,175,155, 94, 54,219,119,230,124,127,144, 96,
+136, 41,187, 9,126,130,206,239,186,230,218,228,204,206,189,103,218,217,123,159,115,206, 51, 62, 62, 62,136,140,140,196,243,207,
+ 63,143,206,157, 59,195,100, 50, 97,223,190,125, 76,124,124,124,182,209,104,180, 42,151, 82,241,157,223, 15,165,165, 37,159,191,
+118,249,172,153,199,229,192,219,221, 1, 99,195,187,226,149,241,125,209, 45,192, 19, 25, 5, 58,156, 62,253,171, 57, 45, 45,229,
+162, 53, 51, 14,107, 52, 19,111,197, 93, 72,184,118,206,194,231, 81, 8,240,239,128,133,239,191, 99,191,244,195, 5,118, 29,218,
+122, 35, 46,181, 28,191,158, 56,106,206,205,206,250,237,159,154,113,120, 6, 16,200, 69,148,140,203,225,128,230,136,170,184,213,
+ 19,105, 58, 6, 5,249,185,186,185, 33, 58, 58, 26, 28, 27,102,132,158, 1, 4,114,249,253, 94,112,141, 70,131, 26,189,118,254,
+254,254,222, 62, 62, 56, 18, 29, 13, 46,195,220, 30,104, 99,130,209,164,251,221,208, 15,116, 41, 64, 63,163, 21, 20,237, 90,185,
+248,219,171,100,184, 28,119, 23, 6, 51,185,242, 67, 41,254,209,124,100,127, 35,211,208,204,174,195,149,155, 55,111, 14,221,182,
+109,219,208,185,115,231,202,167, 76,153, 2,177, 88, 12,173, 86, 11, 47, 47, 47,208, 52,141, 99,199,142, 33, 38, 38, 70,195, 48,
+204,175,248,107,218,128,112,212,154,165,113, 60, 5,146,251,126, 75, 27,122,224,153,103, 30,137, 38, 0,200,239, 50,202,226,214,
+198, 29,235,247,158, 27,183,243,248, 53,234,205,137, 3, 57,221,252, 91, 1, 0, 92, 93, 93,161, 84, 42,109,214,124, 4,252,237,
+154,181,187,117,243,243,243,147,242,243,243, 11, 94,125,245,213,128,154,129,239, 34,145, 72, 95, 29,201, 42,173,111, 27, 43,234,
+105, 2, 48, 99,219,182,109, 7,203,203,203,143,191,253,246,219, 88,186,116, 41, 14, 29, 58,212, 31,192,249,102,238, 59, 93, 90,
+ 90, 90,118,229,202, 21,215,246,129, 33,104,227,194,199,128, 69,119, 64, 8,129,163,148,160,178,172, 4,215,175, 95, 67,101,101,
+229,101, 91,234,105, 50,153,202, 10, 10, 10,156, 92, 92, 92, 80, 82, 82,130,162,162,162, 7, 38,171,180,180, 20, 37, 37, 37,132,
+162,254,146,179,165, 49,205,170,130,130, 2,109, 98, 98,162,208,181, 85,123,180,117, 17,160,231,251, 73, 0, 33,240,118,224,160,
+178,162, 12, 23, 47, 94, 68,121,121,249,239, 13,105, 50, 12, 51,111,210,164, 73, 92, 0, 47,188,253,246,219, 14, 0,186,188,243,
+206, 59,191,162,206,204, 66, 30,143,183,118,199,142, 29, 29,107,186, 24, 23, 44, 88,176, 6,192,182,255,175,107,201,209,209,113,
+ 94,116,116,180,194,100, 50, 97,253,250,245, 88,179,102,205, 55,248,107,162,202,232, 47,191,252,114, 35,135,195,153, 57,107,214,
+ 44,188,246,218,107,210,238,221,187,207,205,203,203,251,161, 62,205,156,156,156,133,221,186,117, 91, 92, 80, 80,240,153, 85,102,
+249,206,157,105,221,186,117, 91, 88, 80, 80,176,162,177,115, 36,147,201,100, 52, 77, 35, 45, 45,173, 20,104,112,124,135, 62, 45,
+ 45, 45,135,166,105, 47,169, 84,234,208,212,245, 89, 90, 90,250, 89,247,238,221, 63, 82,171,213, 39, 0, 44,169,199,144,223,200,
+203,203, 11,158, 51,103,206,236,229,203,151,143,203,207,207,223,221,148,102, 70, 70,198,103, 97, 97, 97,139,146,147,147,191, 71,
+195, 93,192, 95,126,252,241,199,166, 29, 59,118,188,158,150,150,182,172, 9,205,195, 69, 69, 69,135,109, 56,191, 13,189,255,129,
+ 38,151,203,125,103,249,242,229,156,205,155, 55,131, 16,178,138,166,233,134,234, 25,183,127,255,254,237,125,251,246,157,178,119,
+239, 94,113,112,112,240,107, 6,131, 97, 87, 83,215,167, 86,171,221,183,119,239,222,113,113,113,113, 94, 83,166, 76, 17,251,249,
+249,193,100, 50, 33, 47, 47, 15,155, 55,111,214,199,199,199,103,151,149,149,237,179,165, 13,177, 24, 43, 38, 94, 56,125, 96, 87,
+250,157,248,222,131,158, 26,109,111, 52,121, 65, 84,204, 69, 89,113, 62,142, 29,222, 87,154,150,150,114, 81,171, 45,155,104,139,
+166,201, 80,254,220,197,223, 14,238,206, 78, 75,236, 53, 32,108,132,189,222,232, 3,145,128,131, 98,117, 14,142, 69, 31, 40, 73,
+ 75, 75,253, 67,111, 54,188,248, 79,181,243, 92, 95, 44,225,230,199,188, 58,125, 84, 87, 72,236,189,174,243,129,245,125, 1,137,
+147,171,171,160,250,222,129,252,254,152, 71,171, 52,213,128,176,125,117, 47,149, 86,171, 5, 31, 48,190, 4,240,157,157,157, 37,
+ 0,144,156,156, 12,233,253, 94, 13,155,234,169, 1,100,210, 90,186, 28, 64, 91,204,131,103, 59,165,140, 2,128,236,252, 98, 24,
+205,141,126,111, 60,233,108,173,101,184,182, 54, 71, 64, 0, 32, 92, 46,151, 47, 93,188,120,241,170,203,151, 47,175,138,140,140,
+ 92, 37, 18,137,150, 86, 31,108, 65, 35, 39,226,255, 77,179,135, 7, 28,194,218, 82,103, 35,218, 81,204,244,254,246,244,139, 61,
+101,198,193,131, 7,111,108, 97, 61, 91,114,179,252,157,154, 7,204,102, 51,193,253,110,187, 3,104,184, 75,240,189, 90,235,243,
+ 51, 51, 51, 73,245,223,182,212,211,105,194,132, 9, 76,101,101, 37,121,246,217,103, 9,154,126,132, 79,163,154, 34,145, 40,108,
+192,128, 1,102,117, 97, 9, 73, 74,205, 33,151, 98,111,145,227,167, 47,144,221,251,162,201,134,141, 91, 72,231,206,157,141, 0,
+124,108,209,228,241,120,131,195,194,194,138,213,106, 53, 73, 76, 76, 36,103,207,158, 37, 63,253,244, 19,217,178,101, 11,217,180,
+105, 19,105,213,170,149, 26,128,171, 45,154, 18,137,100,244,240,225,195,205,101, 21, 90,146,150, 83, 76,110, 38,166,145,243, 87,
+110,146, 99,167,207,147, 31,118,237, 37, 65, 65, 65,122, 43, 52,185, 92, 46,119,195,238,221,187, 43, 8, 33,100,244,232,209,217,
+120, 56,145,106,155,121,243,230, 21, 16, 66,200,138, 21, 43,138, 81,255, 64,248,191,251, 90,122,202,211,211, 51, 73, 32, 16, 68,
+ 3,120,161,137,237,158,227,241,120,135,220,220,220,174, 2, 24,251, 15,220, 71,145, 46, 46, 46,151, 0, 52,245,132,131,154,247,
+141,249,151,220,239,127,135,230, 96, 30,143,119, 22,104,252, 33,194,181,218,235, 79,185, 92,238, 17, 0, 67,108,172,103, 7, 39,
+ 39,167,103,237,237,237,223,180,183,183,127,211,197,197,229, 89,161, 80,216,161, 37,251,238,216, 33,124,148,119, 72,212,254, 86,
+ 93, 70,102,120,119,141,204,240,237, 54,122,191, 99,135,240, 81, 45,213,244,233, 54,250,128,119,215,200, 76,239,174,163,210,219,
+244, 24,189,223,201, 63,124,248, 63,121,142, 94,240,132,199,208, 54,176,144,179,139, 8, 57,187,136,132,183, 1,211,219, 14, 65,
+161,128, 98, 88,120,248,106, 66,211,171,199,141, 25,179,186, 61,224, 72, 0,110,221,165, 62,205, 16, 64,249, 96,219,209,163, 87,
+183, 5,156,134, 2,210,129,253,251,175, 34, 52,189,122,210,115,207,173,246, 6,220,234,211,107, 72,147, 0, 92, 79,192,163,182,
+174, 19,208,110,188, 47,130,223, 27,229, 75,200,217, 69,228,227,103,252, 72, 55, 87,188,208,132,102, 67,145,162, 39, 54,162, 85,
+223, 88,241,166,144, 85, 55,174,203,170, 95,101,143,224, 34,124,228,154,189,220,225, 23,222,142, 74, 28,225,207, 43,193,253, 41,
+201,178,127, 97, 35,249,189,209,104, 36,122,189,158,104,181, 90,162,209,104,234, 26,168, 7,134, 44, 55, 55,151,100,103,103,147,
+204,204, 76,146,158,158, 78,240,231,216, 27,171,235,169, 84, 42,183, 61,243,204, 51, 52,159,207,223,240, 40,246,221,193,193, 97,
+ 89,207,158, 61, 77, 95,124,241, 5,217,191,127, 63,249,250,235,175,201,172, 89,179, 72,199,142, 29, 13,118,118,118, 19,155,163,
+233,230,230,182,208,223,223,191,248,155,111,190, 33, 63,252,240, 3, 89,183,110, 29,249,224,131, 15,104, 47, 47,175,124,133, 66,
+ 49,172, 57,154, 46, 46, 46, 91,251,245,235,103,218,186,117, 43,249,245,215, 95,201,206,157, 59,201,188,121,243, 72, 64, 64,128,
+ 65, 38,147, 61,109,165, 38,151,199,227,173,158, 62,125,122,190,135,135, 71,116,157,117,210,160,160,160,171,147, 38, 77,202, 5,
+176,224, 95,116,125,178,154,172, 38,171,249, 55, 24,173,231, 61,224, 73, 0,174, 84, 32,120,110, 96,255,254,171, 4,192,115,182,
+154, 34, 49,151, 59,190,111,207,158,171, 4,192,196,154,247,138,185,220,241, 3,251,247, 95,197,231,114, 39, 55,164,215,152, 38,
+ 1,184, 2, 30,111, 65,223,222,189, 87,243,128,247,107,202, 6,183,161,110,207,123,170, 21,233,239, 67,221,157,236, 2,233,191,
+216,104,213, 75,115,140,214,131, 0,194,223,112, 17, 62, 41,154,143,203, 77,221,190,218, 48, 29,176, 33,162,117, 0,247,159,162,
+222,190,153,245,148, 60,226,125,239,228,228,228,116,180,125,251,246,133,173, 91,183,206,181,183,183,223, 5,192,171,133,154,193,
+110,110,110,255,115,117,117,189,227,238,238, 30,231,228,228,180, 22,247,179,206, 55, 91,147,207,231,247,116,117,117,253,221,215,
+215,183,204,199,199, 71,237,228,228,180,187,158, 72,150, 53,154,238,168,191, 81, 17, 84,175, 99,191,116, 88, 77, 86,147,213,124,
+200,192, 68,180,197,242,161,109, 96, 25,218, 6,116,132, 47,214,214, 54, 40,145,128,164,185,166,232, 69, 64, 84,247,253, 77,233,
+ 53,165, 73, 0,110, 31, 64, 94,119,155, 17, 94, 8,178, 82,243, 73,143,104,213,180,243, 15, 69,180,120,205, 20,180,252, 13,149,
+124, 82, 52, 31, 23,238,162,145,193,200,181, 88,246, 8, 63, 83,247,136,247,225,102, 81, 81,209,240,162,162, 71, 58, 55, 33, 33,
+ 63, 63,255,133, 71, 41,104, 54,155, 47,171,213,234, 65,143, 64,170,161,169,215, 38, 88, 57, 45,155,133,133,229,191, 3, 5,208,
+ 72,193,187,225, 29,176,158, 71,131,115, 44, 21, 57,117,166,228,233,168,230,104,222,135,254,190,158, 54,158,106,110, 61,255, 68,
+243, 23,141,108,220,162,254, 59,167, 45, 15,247,199,104, 89,159, 71,139,133,133,133,133,133,133,229,159,227,228, 29,246,135,216,
+ 19, 64, 52, 30,142,190, 69,215, 50,162, 13,134, 62,109,153, 73,209,156,240,233, 73, 86,147,213,100, 53, 89, 77, 86,147,213,100,
+ 53,255,115,154, 53, 52,244,236,212,164, 58,255, 55,107, 22,223,227, 64, 75,198,104,253,157, 6,140,213,100, 53, 89, 77, 86,147,
+213,100, 53, 89,205,255,158,230,147, 76,131,179, 14,217,174, 67, 22, 22, 22, 22, 22, 22, 22,150,150,209, 96,212,141, 53, 90, 44,
+ 44, 44, 44, 44, 44, 44, 44, 45,195, 29,247, 31, 81, 21,141, 63, 31, 85,181, 21,104,250, 17, 60, 15,177,124,249,114, 78,251,246,
+237,229, 66,161,176, 99, 74, 74, 10,103,198,140, 25, 45,158, 72,176,106,237, 6,142,143,143,143, 28, 64,199,226,210, 74,206,203,
+175,188, 77,177,231,139,133,133,133,133,133,133,229, 9, 98,100,181,177,170,121,125, 16,225,178, 41,162,181,100,201, 18,152,205,
+102, 25,128, 9,193,193,193,159,234,245,122,253,158, 61,123,168,234,108,225,205,226,253, 5,243, 96, 50,153,100, 0, 38,184, 56,
+217,125, 74,211,180,126,239,161,115,212, 51,163,250, 17,246,188,177,176,176,176,176,176,176, 60, 33, 76,171,243,186,213,102,163,
+197,227,241,184, 28, 14,167,173,217,108, 30, 46, 22,139, 79,232,245,250,179, 45, 49, 89, 53,154, 20,135,211,214, 98, 54, 15, 23,
+137,196, 39,180,218,170,179,172,201, 98, 97, 97, 97, 97, 97, 97,121,130,176,110,102,228,225,195,135, 27, 52, 56, 66,161,144, 19,
+ 28, 28,220,207,199,199,231,124, 96, 96,160,209,203,203,235, 39,169, 84, 42,107, 97,197, 56,237,253, 2,250,121,184,187,158,239,
+218,214,221,232,226,226,242, 19,159,207,151,177,231,139,133,133,133,133,133,229,191, 73, 99, 94,228, 49,166,102,166,225, 67, 79,
+249, 32,132,216, 52, 70,171,139, 90,173,222, 56,102,204,152, 94,115,230,204, 17,112,185,220, 86, 50,153,172,163,147,147,211, 67,
+ 81,177,151, 94,122,137,178, 73, 51, 63,111,227,210,241, 93,122,157,127,191,135,128,207, 69, 43,153, 76,214, 81,169, 84, 62,164,
+233, 61, 87, 77, 0, 0, 32, 0, 73, 68, 65, 84, 57,233,229,215,216,113, 91, 44, 44, 44, 44, 44, 44, 44,143, 43, 53,227,178, 70,
+214, 50, 93, 0,154,232, 58,236,209,163,135, 40, 43, 43,171,171, 78,167,115, 17, 8, 4, 11,162,162,162,130,199,141, 27,135,235,
+215,175,211,193,193,193, 30,197,197,197,179, 75, 75, 75, 79, 86, 85, 85, 93,103, 24, 38, 88, 36, 18,157,222,181,107,151, 28,192,
+157,134, 52, 59,117,233, 46,202,202, 72,125,160, 57,125,252,224,224, 23,230, 14, 7,115,116, 61, 61,184,179,183, 71, 70,145,118,
+118, 65,113,249, 73,109,149,230, 58,205,144, 96,145, 72,116,250,135,111,183, 52,170,201,194,194,194,194,194,194,194,242, 15, 82,
+ 99,172,162, 81,231,145,106, 60,224,126,152, 46, 50, 50,242,161,168,145, 80, 40,252, 42, 57, 57,185,175,131,131, 67, 91, 62,159,
+ 79, 63,247,220,115,162, 73,147, 38,161,176,176,144,209,104, 52,220,144,144, 16,215,171, 87,175, 14,183, 88, 44,253,237,236,236,
+180,101,101,101, 78, 6,131,225, 46,128,217,141, 84,228,171, 59, 73,241,125, 29,237, 29,218, 10,249, 92,122,214,212, 73,162,247,
+ 23, 60, 5,202, 16,203,208, 5,197,220, 79,187,217,185,174,189, 80, 53, 60,217, 68,247,175, 82,137,181,249,229, 6,107, 52, 89,
+ 88, 88, 88, 88, 88, 88,158,112,234,243, 34, 79, 16, 77,230,209, 26, 84,221, 39, 90,251,193,185,219,157,157,157,221,228,114,121,
+224,180,105,211, 56, 78, 78, 78,136,137,137, 97,170,170,170, 56,124, 62, 31,124, 62,159, 59,120,240, 96,185,197, 98,145, 30, 57,
+114,132,186,119,239, 94,161,217,108,254,180,184,184,248,106, 35, 21,217,222,206, 78,228, 38,177, 19, 6, 30,122,123, 0,199,185,
+125, 49,112,252, 99,134,104, 10, 56, 60,134,192, 73,198,112, 87,247,167,228,249, 42, 95,233,172,221,133,212, 31,247,202, 10,205,
+102,243,167,149,149,149, 87,217, 75,144,133,133,133,133,133,229, 95, 77,125, 94,228, 73,161,118, 30,173,135, 34, 90, 13, 58, 71,
+ 87, 87, 87, 74,175,215,187,249,250,250, 78,115,118,118,158, 44,149, 74, 93, 7, 12, 24, 32,161,105, 26,132, 16,168, 84, 42,166,
+117,235,214,204,174, 93,187, 44,231,206,157,203,126,227,141, 55,198,204,156, 57,243,246,136, 17, 35, 56, 71,142, 28, 97,234,211,
+180,179,119,160, 44,218, 10, 55,239,182,129,211, 58, 57,147,201,190, 42,147,235,162, 40,169,132,151, 86, 4,226,196, 3, 92,124,
+ 25, 78,199, 8,102,217,234, 19,150,175, 79,166,102,191,179,104,217,152,215,167, 78,184, 29, 30, 49,130,115,242, 68,253,154, 44,
+ 44, 44, 44, 44, 44, 44, 44,255, 48,211,112, 63,170, 85,243, 10,224,254, 96,248, 6,141, 86,223,190,125,169,132,132, 4,202,199,
+199, 71, 90, 92, 92, 28, 4, 96,237,252,249,243, 67, 9, 33,180, 68, 34,225, 74, 36, 18,250,183,223,126,211,254,252,243,207,231,
+204,102,243, 11, 70,163,177,212,215,215,151, 74, 75, 75,107,112,182, 64,143, 94,189,169, 91,113,215, 41,111,159,182,210,226, 34,
+117, 16, 5,178, 54,231,125,143, 80,190,166,148,134,135, 51, 23, 10, 23,122,213,190, 82,237,251,191,220, 56,103, 54,155, 94, 0,
+ 80,234,229,225, 78,101,231,230,177,233, 30, 88, 88, 88, 88, 88, 88, 88, 30,103,163, 85,151,173,141, 62,235,240,252,249,243, 4,
+ 0,201,201,201,161,205,102,179,114,224,192,129,246, 92, 46, 23,142,142,142, 92,173, 86,203, 84, 85, 85,113,157,156,156,114,249,
+124,254, 15, 85, 85, 85,165, 99,198,140,161,246,239,223,223,168, 33,186,122,233, 34, 1, 64,178,179,179,104,198,172, 87,206,232,
+215,218,158,103, 49,129, 9,233,203,213, 84, 82,140, 92,151,198, 13,112, 23,229, 10, 4,252, 31,204,102, 83,233,216,200,145,212,
+ 47,135,163, 89,147,197,194,194,194,194,194,194,242, 56,211,224, 24,173, 38,211, 59,104,181, 90,123,129, 64, 16, 30, 26, 26,218,
+186,170,170,138, 89,178,100, 73,214, 23, 95,124,177,227,238,221,187,102, 59, 59,187,182, 18,137,228,205, 9, 19, 38, 56,237,223,
+191,159,244,239,223,191,110,132,172,222,167,123,235,116, 26,123,145,128, 31,254,102, 79, 69,235, 44,147, 61, 19,248,230,149,172,
+129,139, 47,236,248, 37,129,103,238,228,160,107,235, 32,164,222,156, 48,225, 89,167, 95, 14, 71,147,222,189,123, 89,165,217, 66,
+ 88, 77, 86,147,213,100, 53, 89, 77, 86,147,213,252,103, 53,159,116,166,161, 78,106, 7,192,138,204,240, 34,145,104,128,183,183,
+119,191,132,132, 4,250,226,197,139,229, 28, 14,103,211,136, 17, 35,126,218,183,111, 95, 79, 7, 7, 7,151, 86,173, 90,185,158,
+ 58,117, 42, 12,192,158, 63,254,248,195,170,232,147, 68, 36, 24,208,213, 75,213,111,235, 13, 66,127, 27,115,167,156,230,138, 54,
+ 13,126,250,233,159,222,216,177,179,167,135,147,194,165,171,187,210,245,200,145, 99, 97, 0,246, 92,188,120,137,141,104,177,176,
+176,176,176,176,176, 60,238, 38,107,107,125,255, 55, 26,209, 18, 10,133,158, 92, 46, 55, 40, 59, 59, 59,227,200,145, 35, 9, 61,
+122,244, 24,158,145,145,177,156, 16,146, 46,149, 74,167,101,101,101,221,201,202,202, 50,234,116,186,233, 54, 84,198, 19, 28, 65,
+ 80, 76,174, 46,227,243, 83,183, 18, 58,245, 30, 54, 60, 63, 63,119, 57, 77, 72,186, 80,170,156,150,156, 89,120,231, 82,129,193,
+168,215,219,164,201,194,194,194,194,194,194,194,242,216,209, 84, 68,203, 68,211,244, 74,131,193, 96,255,203, 47,191,228, 68, 68,
+ 68, 24, 0,224,171,175,190, 98,166, 78,157,122, 46, 37, 37,101,200,237,219,183,135,187,185,185,157, 6, 64,165,166,166, 90, 19,
+125, 50, 49, 12,189,210,104, 52,216,159,250, 45, 54,103, 64,191, 78, 6, 0,216,252,229,122,230,185,105,115,206,165, 36, 38, 12,
+ 73,142,191, 54,220,205,205,237, 52,109,225, 81,121,249,233,108, 68,139,133,133,133,133,133,133,229,113,166,102,198, 97,237,255,
+155, 54, 90, 70,163,177,208,104, 52, 2, 64,105, 68, 68,196, 67,235,190,249,230, 27, 2,160, 10,192,222,226,226, 98, 91, 42, 83,
+168,211,233, 0,160,116, 64,191, 78, 15,173,216,189,245,139, 7,154,154,202, 10,246,180,177,176,176,176,176,176,176, 60, 73,102,
+235, 47,112,216,227,194,194,194,194,194,194,194,194,210, 34,166, 53,244, 63,133,134,103, 14,156,180,225, 3,154, 51,251,224, 36,
+171,201,106,178,154,172, 38,171,201,106,178,154,255, 57,205,166,180, 79,226,201,163,222,193,240,132,252,253,163,159,216,169,175,
+172, 38,171,201,106,178,154,172, 38,171,201,106,254,219,113,199,195,233, 29,220,129,251,153,225,121,236,177, 97, 97,121,178, 33,
+123,193, 69,169,191, 47, 8,241, 0, 87,152,135,188,155, 41,212, 71, 96, 90,172,169, 14,242,129,196,236, 10,139,184, 16,234,184,
+212,150,106,178,176,176,252,251,112,235, 51, 99, 44,197,225,110,162, 8, 3,157, 58, 81, 36,208,165, 75, 11,242, 50,254,139,222,
+ 34, 15, 13,140,209, 98,141, 22, 11,203,147, 78, 97,128, 31,120, 88, 6, 14,220, 65, 76,247,224, 28,180, 12,184, 21,223, 98, 77,
+ 1,179, 4, 52,199, 11,196,148, 12, 23,255,229, 64,210, 45,246, 96,255,251,152, 61,235,117,114, 59,254, 50, 50, 51,115,209,182,
+157, 59,252, 2,250,224,139,245, 27, 41,246,200,176, 88,247,171,140,218, 26, 62,106,146,131, 68,170, 0, 0, 48, 22, 51,190,153,
+219,245, 87,139,197,178, 29,192,126, 0,186,255,250, 33,250,127, 31, 12,207,231,243,213, 0, 24,177, 88,188, 15,213,161, 53, 22,
+150,191, 9,247,234,235,140,169,190,238,108, 65,206,227,241, 22, 75,165,210,223, 68, 34, 81,129, 72, 36, 42,144,201,100,191,241,
+120,188,197, 0,228,143, 77, 27,247,191,142, 82,112,232,225, 70, 51,227,121,236,102,153,139,214, 64,251,129, 99, 25, 65,190,233,
+ 32,111,145, 38,143,138,208,155, 24,239, 31,174,104, 93,171,140,150, 64, 16,180, 72,179, 22,118, 2,129,224, 24, 0, 39,246,242,
+124, 60,200, 72,141,199,145,195,171,177,228,147, 41,248,110,235,116, 36,221,190,212, 34,189, 64,160,123,119, 30,111,126, 0, 48,
+ 24, 0,107,216,254,237, 80,100,218,201, 67, 63, 20, 30,218,245,101,225,143,171,167,147, 3,203, 34,177,126,253,250,240, 41, 83,
+166,252,224,237,237, 93, 8,224, 25,214,104,253, 63, 99, 54,155, 93,138,138,138,168,237,219,183, 71,169, 84,170,123, 60, 30,239,
+ 61, 0,130,255,202, 1,151,203,229, 23,148, 74,165, 90,165, 82,169,149, 74,229,181,166,202,255,165,248, 57, 59, 59,103, 56, 56,
+ 56, 36,215, 46,116,238, 60,182, 79,251,190, 47,124,232, 24, 52,122, 96, 11,245, 5, 60, 30,239, 61,149, 74,117,111,251,246,237,
+ 81, 57, 57, 57,148,217,108,118,177, 97,251, 1,246,246,246,183, 47, 95,190,188,168,168,168,104, 96,214,165,111,156,243, 47,111,
+113,206,248,125,245,160,152, 35, 27, 22,217,217,169,110, 1, 24,240, 88, 28, 73, 61,227, 10, 14, 55, 44, 33, 79, 43,205,171, 48,
+187,198,166,107, 21, 0,119, 16,140, 45,248, 17, 83,206,184, 2,100,240,141,108,157,236, 66,137,179,235, 31, 41, 6, 37, 56,156,
+ 48,232, 41,183, 22, 55, 56, 28,206,235, 12,195, 12, 21, 8, 4,111,178,223, 80,143, 7, 34,145, 0, 32, 4,114,153, 24, 0, 1,
+167,133,214, 72,200,225,244,189, 16, 21,181,100, 65,231,206,179, 3,128, 81, 13,152, 45, 10,192, 27, 1, 1, 1, 71, 1, 60,247,
+ 8,119,231,115,127,127,255, 28, 0,115, 30, 85,187,212,173, 91,183, 62, 97, 97, 97, 31,118,237,218,117,224,163,210,252, 55,145,
+127,225,171, 95,242,206,109,112,201, 61,191,209,165, 44,245,236, 27,238,174,246, 76,106,106, 42, 70,142, 28,137, 47,191,252, 82,
+ 26, 28, 28,188, 3,128,199,127,224, 86, 10,169,249,129,143, 90, 99,180,108, 50, 90,227,125,209,119, 98, 27,156,121,214, 23,149,
+ 19,218, 64, 51,185, 13,206, 61,237,139,193,205,169,141,163,163, 35, 6, 12, 24,192,205,201,201,145,204,155, 55,239, 67,177, 88,
+156, 6, 96, 88,115,180, 36, 18, 73,140, 84, 42,205,226,241,120, 15,213, 69, 42,149,198,200,100,178, 44, 30,143, 55,164,118,185,
+ 66,161,184,160, 84, 42,213, 10,133,226, 90, 3, 70, 40, 70,169, 84,170,229,114,121, 76,237,114, 30,143, 55, 68, 46,151,103, 43,
+ 20,138,186,229,131, 21, 10, 69, 86,221,242,134,224,243,249, 94, 89, 89, 89, 46,217,217,217, 46, 66,161,208,181,118,121,102,102,
+166, 75, 86, 86,214, 67,229,182,192,227,241, 6,203,100,178, 44,169, 84, 26, 83, 95,121,221,125,106,136, 90,199,110,176, 53,229,
+182, 54, 60, 17, 17, 17,231,242,242,242,188,237,236,236,236,106,175,112, 80,217, 13,251,223, 55, 27,231,142, 30, 17,241,186,115,
+224,152, 78,205,212, 31, 38, 22,139,211,230,205,155,247, 97, 78, 78,142,164,119,239,222, 92, 14,199,166,223, 19,225,163, 71,143,
+ 62,160, 86,171, 61,187,116,233,194,181, 88, 44, 72, 56,184, 24,210,184, 55, 33, 78,219,140, 86,146, 66,222,189, 95,151,123, 69,
+ 12,234,126, 0,255,240, 96, 80,178, 55, 80, 0,138, 25,192, 16,226,124, 59, 71,239, 60, 50,234, 25,222,245, 44,157,179,153,166,
+ 29, 0,238, 32,242,157,143,168, 89,154, 60,115,127,134, 16,215, 83,233,124,231,176,103,103,115, 79,167,243,156,205, 52,237, 8,
+ 14, 6, 54, 71,179,246,229,207,229,114,231,174, 94,189,154, 3, 96, 22, 0,225,127,201,208,132,122,192,115,112, 59,238,149, 16,
+119,244,125,132,178,193,213,247,187, 95, 75,133,182,125,119, 20, 83, 95,219,138, 14, 1,189, 90,164, 99,100,152,164,221,169,169,
+199, 39,183,107, 23,185,160,115,231,151,234, 49, 91, 20,128, 5,203,151, 47,127, 33, 33, 33,193,185, 77,155, 54,175, 61,162, 31,
+253,235,150, 47, 95,254, 78, 66, 66,130,135,175,175,239,199, 54,106, 54,216, 46,217,219,219, 15,219,182,109,219,220,145, 35, 71,
+190,222,173, 91,183, 78,143, 66,243, 95,204,151, 55,110,220,240, 94,189,122,245,187, 83,167, 78,173, 0,128, 33, 67,134, 8, 0,
+244,110,113,123, 71,136,144, 16, 18, 70, 8, 25, 73, 8, 25, 66, 8, 9,173,254,187, 71,245, 50,146, 16, 18, 94,231,181, 71,245,
+182, 53,235,123, 54,160, 49,178,238,118,181,182,169,251,255, 67,127,215, 99,180, 70,226,254, 88,173,145, 15,237,192,225,195,135,
+ 73,237,215,186, 76,240,197, 71,179,251,120,106,111, 31,218, 73, 52, 89,169,164, 52,241, 58,185,190,245, 51, 50,187,135,179,246,
+249, 54,248,220,246,227, 69,200,249,243,231, 73, 66, 66, 2,209,104, 52,228,206,157, 59,164,103,207,158, 58,169, 84,122, 10,128,
+175, 45, 98, 10,133, 66,125,234,212, 41, 18, 17, 17, 81, 46,151,203, 87,213,220, 92, 74,165, 82,125,254,252,121, 18, 17, 17, 81,
+174, 80, 40,214, 1,224, 2,192,211, 79, 63, 93, 64, 8, 33,206,206,206,185,245,233,141, 30, 61,186,148, 16, 66, 84, 42, 85, 77,
+ 87, 19, 87,161, 80,172,155, 57,115,166,230,234,213,171,196,222,222,190,166,156,163, 84, 42, 87,205,154, 53, 75, 19, 27, 27, 91,
+187,188, 81, 28, 28, 28,178,104,154, 38,135, 14, 29, 34, 46, 46, 46,185,181,110,230, 44,154,166,201,129, 3, 7, 26,172, 91, 99,
+129, 2,185, 92,190,114,242,228,201,149,233,233,233,196,209,209, 81, 93,171,124,213,148, 41, 83, 42, 51, 51, 51,137,147,147,147,
+ 85,117,116,116,116, 84, 95,184,112,129,140, 27, 55,174,162,246, 49,117,116,116, 84, 95,188,120,177,166,124,165, 53, 13,153,135,
+135,199,107, 46, 46, 46,185, 46, 46, 46,185,118,118,118, 75,221,221,221,243, 11, 11, 11, 9, 33,132,180,109,219,182,160,118, 36,
+203, 37, 56,234,173,205,123, 47, 94, 62, 27, 95, 92,216,121,232,235, 43, 85,157, 71,171,108, 56, 6,190, 82,169,244,212,192,129,
+ 3,117, 89, 89, 89,164,170,170,138,196,197,197,145,243,231,207,147,187,119,239, 18, 0,214,204,177, 85,200,229,242, 28,131,193,
+192, 24, 12, 6,166,176,176,144, 46, 40, 40,160, 19, 87,185, 19,242, 45,255,193, 82,118, 96, 20,201, 63,187,140, 81,202,165,217,
+ 0, 20,255,152,209,218, 24,228, 69,182,248,239,190,181,216, 59,241,236,242,167,204, 36,253, 52,217,249,146,179,249,204, 91,158,
+247,200,166,128,159,201,150,192, 86,205,210,220, 20,184, 51,238, 3,239,164, 13, 31,191, 97,206,200,200, 32,243,167, 60,101, 57,
+ 49,219, 51,133,108, 14,216,219, 28,205, 90, 76, 28, 59,118,172, 38, 51, 51,147, 4, 5, 5, 85,113,185,220,169,255, 37,147, 21,
+238, 39,204,137,251, 97, 62, 51, 42, 88, 90,252,136,204, 86,176,139,139, 75,209,247,223,127, 79, 20, 10, 69, 65,115,205,214,248,
+ 49,131,136,174,252, 20, 25, 19, 25,218,232, 61,242,236,179,207,146,176,176, 48, 50,123,246,236,166,238, 37, 42, 0,136,218,222,
+185,243, 1,102,252,120,122,123,231,206, 7, 2,128,168,106,131, 69, 1,120,119,197,138, 21,177,102,179, 57,246,187,239,190,139,
+141,138,138,138, 5, 48,191,133,199,226,139,207, 63,255,156,152,205,102,242,221,119,223,145,168,168, 40, 2, 96,125, 75,218,165,
+154, 72, 86, 72, 72,200, 91,251,247,239,191,156,148,148, 84, 24, 25, 25,185,178,115,231,206,170,230,106, 62,142,200,229,242,246,
+157, 58,117,218, 17, 20, 20,148,217,165, 75, 23, 99, 96, 96,160,222,207,207, 47, 61, 56, 56,248,123,145, 72,228,219, 76,217, 94,
+125,251,246,165,207,156, 57, 67,198,142, 29, 75,106,153,144, 70,105,204,139, 16, 66, 66,223,125,247,221,247, 0,144,119,223,125,
+247, 61, 66,200,200,106, 63, 49,178,246,223,117, 95,107,204, 83,205,255,245,105,212, 44,245,105,214,247, 25,117, 62, 7, 13, 68,
+178,166, 85,215,251,207,157, 59,124,248,240,192,195,135, 15,159,169,187,115,207,180, 65,159,217,125, 60,117,186,194, 60, 18,255,
+217,155,228,183, 48, 47,114,126,144, 27, 73,158, 59,150,228,253,176,142,204,232,106,175, 29,223, 6, 97,182, 26,173,216,216, 88,
+ 18, 27, 27, 75,174, 93,187, 70,210,210,210, 72,121,121, 57,249,241,199, 31,105, 71, 71, 71,157, 72, 36, 90, 14, 64, 98,141,152,
+ 82,169, 84, 19, 66,136,193, 96, 32, 75,151, 46,213, 87, 71,170, 92, 85, 42,149,154, 16, 66,202,202,202,200,242,229,203,245, 42,
+149, 42, 14,128,135,147,147, 83, 86,106,106, 42,113,117,117,173,215,204,216,219,219,171,147,146,146,106,140,147,167,189,189,125,
+252,193,131, 7, 77,132, 16,146,157,157, 77, 28, 28, 28,212, 0, 92, 29, 29, 29,175, 31, 62,124,216, 68, 8, 33,185,185,185, 53,
+229, 86, 25, 45,157, 78, 71, 78,156, 56,241, 80, 29,106,202,143, 30, 61,250,144, 1,179, 2, 87,149, 74, 21,251,227,143, 63, 26,
+105,154, 38,241,241,241, 53, 38,209,213,206,206,238,218,222,189,123,141, 52, 77,147,196,196, 68,171,205, 96,235,214,173, 11, 8,
+ 33,196, 98,177,144,205,155, 55, 27,106,142,105, 77,185,209,104, 36, 95,125,245,149, 65,169, 84,198, 2,104, 52,250,230,228,228,
+148,107, 52, 26, 73, 89, 89, 25,233,217,179,167,230,252,249,243,164,162,162,130, 16, 66, 72,235,214,173, 11, 0,192,127,224,212,
+ 79, 47,223,209, 84,188,252,206,198, 61,190,161,207,127,118,252, 74, 78,246,182,253, 49,177, 78,193,163,159,178, 38,168, 41, 18,
+137,150,187,187,187,235,255,248,227, 15,218,100, 50,145,204,204, 76,114,237,218,181, 7,215,216,205,155, 55,173, 50, 90, 60, 30,
+111,241,229,203,151, 77, 52, 77, 51, 69, 69, 69,116, 65, 65, 1, 93, 80, 80, 96,169,107,180,200,183,124, 82,116,244, 85, 18,189,
+117,142, 81, 32, 16, 44,254,103,162, 89,224,146, 45,254,163,201, 22,255,216,239, 39, 59, 21, 85, 94,219, 69,200,175,115, 72,202,
+167,109,200,226,167, 20,149,204, 22,255, 88,178, 37, 96, 60,249,104, 32,207, 38,205,173,129,163,200, 22,255,216,207,159,241, 41,
+190, 30,123,149,156, 57,115,134,124,181,110, 5,153, 29,238, 89,197,108,241,143, 37,155, 2,199,217,162, 89, 27,145, 72,116,231,
+220,185,115,228,236,217,179,228,227,143, 63, 38, 82,169, 52,243, 81, 68,245,200, 38, 63, 31,242,181,223, 64,242, 77, 7,119,242,
+251,192,199,110,130, 79,168, 7, 60,135,250, 9,179,139,174,239, 39,164,228, 46,201, 95, 21, 68,158,242,231,183,212,108, 5,187,
+184,184, 20,166,167,167,147,252,252,124,178,102,205, 26,162, 84, 42,155,101,182,198,143, 25, 68,116,101, 39, 27, 53, 90,163, 71,
+143, 38,107,215,174, 37,102,179,153,244,234,213,203,154, 31, 45,127, 49, 91,254,192,104, 0,239,173, 92,185,242,129,201,218,184,
+113, 99,236,205,155, 55, 99,189,189,189,143,180,224, 88,172, 95,185,114,229, 3,147,181,113,227, 70,114,243,230, 77,226,227,227,
+147,213,146,118,105,232,208,161,159,166,165,165, 85, 44, 92,184,112,207,128, 1, 3, 62,187,126,253,122,118,116,116,116,108, 72,
+ 72,200, 83,205,213,124, 4, 81, 29, 94,117,100, 71, 72, 8,225, 19, 66,106,204, 43, 15, 0,191, 38,160, 96, 13,147, 39, 79,150,
+246,233,211, 39,118,210,164, 73,218,239,191,255,158,164,167,167,147,184,184, 56,178,114,229, 74,242,225,135, 31,146,111,191,253,
+150,140, 27, 55,174,170,103,207,158,151,199,143, 31, 47,182,161,154, 65,190,190,190,229, 7, 14, 28, 32, 59,119,238, 36, 2,129,
+ 32,218,218, 13, 27,243, 34, 13,153,169,134, 12, 86,221,117,141, 24,177, 70, 13,155, 21,159,247,192, 84, 53,112,206, 30,138, 72,
+252, 30, 25, 25, 57,240, 47, 95, 62, 4,159, 76,155,247,169, 56,237,251, 53, 80,255,248, 37,184,101,106,240, 43,139, 97, 56, 23,
+ 13,243,185,131,120,161,119,111,137,132,162,150,216,122,193, 8,133, 66, 8,133, 66, 8, 4, 2,104,181, 90,228,230,230,162, 95,
+191,126,156,107,215,174,137, 95,123,237,181, 57, 18,137, 36, 19,192,152, 38,239,102,234,126, 68,250,194,133, 11,120,245,213, 87,
+ 69, 59,118,236,232,226,236,236,124,131,166,105, 33, 0, 36, 38, 38, 98,194,132, 9,162, 93,187,118,117,244,240,240,184,102, 50,
+153,164, 34,145, 8, 92, 46,183, 65, 61,161, 80, 8,179,217, 44,234,208,161, 67,220,141, 27, 55,130, 35, 35, 35,249, 25, 25, 25,
+ 72, 77, 77,133,217,108, 22,250,249,249,221,188,118,237, 90,151,145, 35, 71,242,179,178,178,144,145,145,241,160, 30,214,212,215,
+104, 52, 66, 36, 18,161,118,151, 22, 69, 81, 48, 24, 12, 16, 10,133, 86,107,241,120,188,193, 1, 1, 1, 55,111,220,184, 17, 50,
+122,244,104,193,213,171, 87,145,157,157, 13,154,166,133,129,129,129, 55,111,220,184,209, 53, 42, 42, 74, 16, 23, 23, 7,181, 90,
+ 13,107,187,208,106,222,119,227,198, 13, 76,154, 52, 73,120,236,216,177,174,238,238,238,113, 22,139, 69, 8, 0, 55,111,222,196,
+132, 9, 19,132,199,143, 31, 15,105,213,170, 85, 92, 19, 93,137, 92, 0, 48,155,205,120,237,181,215,100, 74,165, 18, 89, 89, 89,
+ 96, 24, 6, 52, 77, 3, 0,138, 75,139,111,222,184, 25,159,248,194,196,103, 6,234, 76, 6,195,197, 43, 49,183,219,182,246,241,
+162, 40,210,186,137,170,142,145,201,100,153,171, 86,173,122, 43, 61, 61, 93, 20, 16, 16,192, 73, 73, 73, 65,101,101, 37, 4, 2,
+193,131,107,204,218,253, 22, 10,133,131,130,130,130,120,122,189, 30, 12,195, 0, 0,225,112,234, 31,177, 34, 46, 59,135, 64, 87,
+ 11, 95, 34,145, 12,250, 71,190,189, 43,130, 28,193, 96,104, 70,161, 81, 36,178,243, 82,200,221,253,128,204,179,104,227, 44, 2,
+151,195, 21, 95, 77,213,202, 0, 50, 20,222, 69,142,182,105, 50, 67, 83, 11,140, 34,179, 67, 71,185,135,151, 55,138,139,139,209,
+170,109, 0,244, 66,103,225,133,187, 85,114, 80, 54,106,254, 73,255, 14, 29, 58,184,181,111,223, 30, 69, 69, 69, 8, 9, 9,129,
+189,189,189, 61,128,161,205,254,210,249,206, 71,132, 10,244, 5, 56,171, 64, 83, 31,195,204, 91,134,187,133, 33,100, 75, 8,255,
+113, 50, 89, 74,185,240,210,174,221, 63,122, 58,122, 7, 2,209, 47,195,213, 78,132,111, 94, 15,113,112, 86,137, 14, 52,211,108,
+ 5,187,186,186,158,190,124,249,178,147, 88, 44,198,181,107,215, 16, 20, 20,132, 53,107,214, 56,219,219,219,159,109, 94,100,139,
+128, 80, 13,155,172, 1, 3, 6, 96,214,172, 89,216,177, 99, 7, 28, 28, 28, 48,105,210,164,166,204, 22, 73, 4, 14,125, 30, 23,
+247,221,142,123,247, 14, 79,110,215, 46,114,146,159,223,210,233,207, 61, 55,245,141, 55,222,192,138, 21, 43,112,224,192, 1,244,
+237,219, 23,211,166, 77, 51,103,102,102,110,111,110, 87,213,170, 85,171,102,207,153, 51,167,174,166, 41, 35, 35,227,243, 22,181,
+ 75,197,197, 55,227,226,226, 18, 39, 78,156, 56, 80,175,215, 27,174, 92,185,114,219,215,215,215, 11, 64,235,230,106,182,192, 96,
+ 81,132, 16, 49, 0,105,245, 34, 3, 32,221,181,107,151,106,244,232,209,202,234, 50, 73,245,210,100,247,126, 80, 80,144,215,157,
+ 59,119,114,230,206,157, 27,178, 99,199, 14,137, 84, 42, 69, 89, 89, 25,190,254,250,107,188,247,222,123,160, 40, 10,132, 16,124,
+251,237,183,210,151, 94,122, 41,244,222,189,123, 57, 62, 62, 62,214, 12,105, 17,201,229,242,189, 75,151, 46, 85, 50, 12,131, 5,
+ 11, 22, 20,153, 76,166, 89,213,235, 22,218,217,217, 93,194,125,195,221, 24,245,122,145, 90,223,149,135,235, 28,155,200,186,101,
+117,215, 17, 66, 34, 27,211,176,241, 92,212,247,121,209,141,153,173,218,223, 64,131,234,117,145, 64,103, 55, 95,127,148,255,186,
+ 23, 18, 30, 5, 9,183,122,225, 81,224,164,220, 68, 43, 49, 31,102, 66,130,155,107,180,106, 22, 62,159, 15,173, 86, 11,154,166,
+241,222,123,239,137, 78,156, 56,225,200,225,112,126,110, 74,167,182, 97, 74, 78, 78, 70, 96, 96, 32,117,232,208, 33,215, 89,179,
+102, 73,106, 62,167,188,188, 28,237,219,183,167,142, 30, 61,234,242,193, 7, 31,200, 27, 51, 51, 20, 69, 65, 32, 16, 96,206,156,
+ 57,146, 43, 87,174, 56,120,120,120, 32, 37, 37, 5, 37, 37, 37,144,203,229,152, 51,103,142,228,242,229,203,206, 30, 30, 30, 72,
+ 79, 79, 71,121,121, 57,228,114,185,205, 70, 75, 32, 16, 60,180, 13, 69, 81, 48,153, 76, 54, 25, 3,149, 74,181, 51, 54, 54,214,
+ 89,165, 82, 33, 46, 46, 14, 22,139, 5, 42,149, 10,179,103,207,150,196,198,198, 58,219,217,217, 33, 49, 49, 17,132, 16, 40,149,
+ 74,155,234, 8, 0, 12,195, 32, 49, 49, 17,173, 91,183,198,217,179,103, 93,166, 79,159, 46,174, 41,191,123,247, 46,188,188,188,
+112,246,236, 89, 23,153, 76,182,179, 33, 45,134, 97,144,151,151,135,132,132, 4,164,164,164,160,176,176, 16, 69, 69, 69,168,172,
+172,132,197, 98, 1, 0, 72, 43, 43,162,119,237, 57,116, 67, 34,145, 72,131,252, 58,120,223,140,191, 85, 32,145, 72,164, 62,222,
+222,126,192, 71,156, 70, 12,225,207, 25, 25, 25,142, 47,189,244,146, 32, 63, 63, 31,165,165,165,224,241,120,127,185,182,132, 66,
+235,134, 2, 89, 44,150, 64,177, 88, 76,153, 76,166, 7, 17, 48,161, 80,136,183,118,106, 17,180, 24, 15, 45,207,173, 43, 0,161,
+205, 48, 26,141,129,255,239,209, 44,128, 2,101,236, 0,138, 10,185,148, 82,229,208, 63,114,162, 0,169,199, 0,198, 12,112,120,
+ 24,212,217,139,119,224,102,149, 43, 8, 58,195,128, 0, 66,154,158,249, 69, 0, 10, 48,181, 7,168,238, 39,238, 88, 28,251,142,
+125, 93,144,147,147, 3,129, 64, 0,145, 72,132,144,193, 79,243,118,221, 48,187,129, 66, 23,152,224,111,141,230, 67, 97, 71,137,
+100,209,135, 31,126, 40,171,173, 57,117,234, 84,153, 74,165,250,176,217, 38,171, 74,218, 27, 22, 50, 39, 33, 71,219,122,105,116,
+126,224,189, 2,157, 63, 8,153, 11,152,187, 62, 2,179, 53, 72, 36, 18,165, 2,232,215, 34,147,165, 16, 94,220,189,251, 71, 79,
+135, 86,247, 77, 22, 44,122,128, 47,129,155,179, 29,190,121, 43,204,193,217, 78, 98,171,217, 10,118,117,117, 61,117,233,210, 37,
+ 39,177, 88,140,216,216, 88, 8, 4, 2,136,197, 98,116,234,212, 9, 91,182,108,113,118,112,112,176,217,108, 17,144,122, 99,190,
+ 99,198,140, 33, 3, 6, 12,192,204,153, 51,177,125,251,118, 24,141, 70, 44, 93,186, 20, 25, 25, 25, 86,201, 38, 2,135,150,199,
+197,125,191, 44, 33, 33,249,221,224,224,128, 49, 50,153,195,204, 73,147, 84, 31,124,240,193,225,131, 7, 15,126, 55,114,228,200,
+162, 43, 87,174,172, 5,176,215,198,195, 75, 1,216,184,122,245,234,153, 53,198,237,131, 15, 62,248,246,224,193,131,203, 70,142,
+ 28,153,119,229,202,149,185, 0, 54,182,164, 93, 98, 24, 38,250,231,159,127,190, 33,145, 72,164,254,254,254,222,241,241,241, 5,
+ 18,137, 68,234,237,237,237, 55,112,224, 64, 78,115, 52,155,131,139,139,203,144, 75,151, 46, 5,225,254,164, 49, 81,141,209,138,
+143,143,183,171,168,168,176,147,203,229,118,238,238,238,138, 26,179, 53,118,236, 88, 59, 30,143,215,232,117,171,209,104, 14, 46,
+ 92,184, 80, 53,118,236,216,154,255,113,238,220, 57,108,223,190, 29, 50,153,236,161,247, 70, 69, 69,225,213, 87, 95,181, 55, 26,
+141, 63, 91, 81,221, 41,175,189,246,154,191,171,171, 43, 22, 45, 90,100,200,201,201, 25, 2, 32, 3,128, 42, 60, 60,252,211,248,
+248,248,158,161,161,161,123, 0,116,107,236,222,171,207,139,212, 54, 58,214,148, 53,247,253,214,154,173, 58, 69, 13,230,208,122,
+200,104, 69, 70, 70,158, 65, 3, 51,169, 76, 37,106,136, 64, 67,194,165, 32,229,214, 50, 91, 96,192, 43, 47, 0,213,140, 89, 42,
+245,125, 25, 10,133, 66,112,185, 92, 24,141, 70, 88,251,160,234, 26, 83,160, 84, 42, 33,151,203,161,211,233, 96,177, 88, 32, 22,
+139,107,204, 8,148, 74, 37,248,124, 62,248,124, 62,196, 98,241, 95,162, 73,117,163, 57, 2,129, 0, 50,153, 12,121,121,121,200,
+200,200, 0,195, 48,144,203,229,144,201,100, 16, 10,133,200,205,205, 69,110,110, 46, 8, 33,144,201,100,144,201,100,176,101,192,
+ 53, 77,211,245,126,249,155,205,102,155, 34, 90, 22,139, 5,183,111,223, 70,102,102, 38,196, 98,241,131,125, 21,137, 68,184,123,
+247, 46,242,243,243, 33,149, 74,161, 84, 42,161, 82,169,172,214,173,217, 23,133, 66, 1,137, 68,130,210,210, 82,104,181,218, 7,
+199, 84,169, 84, 66, 38,147,161,188,188, 28, 5, 5, 5,141,238, 59, 77,211,200,205,205, 69, 97, 97, 33,178,178,178, 80, 84, 84,
+244,160, 1,170,142, 26,181, 44,176, 83, 81,129,226,226,226, 7,145,200,134, 22,107, 96, 24, 6,149,149,149,184,116,233, 18,197,
+ 48, 12,202,202,202,152,194,252,124,122, 70,174, 16, 7, 62,218, 68,126, 60,118, 93,191,235, 72,172,110,223,169, 4,221,198,125,
+ 55,117,226,158, 31, 91,240, 79,240, 85,176, 10,102,126, 68,145,198, 44, 42, 52, 9, 84,174,193,225, 64,234, 81,128,195, 3,196,
+246,232,213,177, 13, 50, 74,105, 89,146,218, 40, 6,133, 97,216,232,103,111,149, 38,205, 31, 90, 88,105, 22,165,155,156,149,129,
+157,187, 65,173, 86, 67, 36, 18, 65, 36, 18,161,123,223,112,164, 22,211,210, 91, 57, 58, 41, 8, 34,172,210,252,147,182,114,185,
+188,119,191,126,253,168,218,154, 35, 70,140, 0, 69, 81,157, 0, 4,216,212,200,173,111, 43,132, 73,218, 11, 60, 50,231, 86,158,
+214,227, 64,188,222,111,212,152,167, 29,190, 56, 89, 16,120, 59,223,224, 11, 98,158, 7, 98,234,214, 2,179, 53, 80,161, 80, 28,
+222,176, 97,131,175, 88, 44, 62, 10,160,127,115, 68,228, 18,238,230, 69, 51, 39,122,218,215,152, 44,179, 22,224, 73, 0,190, 4,
+224, 73,224,230,226,132, 37,175, 14,117,144,138,249,251,108, 48,172,187, 54,110,220,232, 92,215,100,213, 44, 33, 33, 33, 88,188,
+120,177,179,131,131,195, 78,107,244, 86,173, 92, 65,202,202,203, 1, 2, 84, 84,104,176,106,229,138,210,154,117, 99,199,142, 37,
+253,251,247,199,204,153, 51,177,108,217, 50, 28, 57,114, 4,189,122,245,194,180,105,211, 16, 26, 26,218,148,116,132, 74,165,218,
+ 17, 30, 30,126, 41, 87,161,120, 53,175, 91, 55,225, 41,149,170,124, 72,121,185,202, 39, 62,222,228, 15,220, 4,240, 85,118,118,
+246, 83, 54,152,172,231,148, 74,101,236,144, 33, 67, 76, 10,133, 34,115,205,154, 53, 51,102,205,154,133, 21, 43, 86, 96,225,194,
+133, 95, 3,120, 5,192,251,217,217,217, 30,141,153,172,191,171, 93,250,187,218, 58,154,166,179,246,238,221, 27,106, 50,153,188,
+170,187, 7, 69,101,101,101,202,146,146, 18,133,201,100,146, 49, 12, 35,179,179,179,147, 3,144,190,240,194, 11,188, 91,183,110,
+ 5, 90, 44,150,156,198, 52,243,243,243,159, 95,176, 96, 65, 81, 81, 81, 17, 0,160, 83,167, 78, 40, 43, 43,195,252,249,243,241,
+230,155,247, 39, 4,119,237,218, 21,132, 16,168,213,106,172, 90,181, 74,157,159,159,255,162, 21,213,109,215,161, 67, 7,196,199,
+199,227,246,237,219, 39, 1, 48,184, 63,142,181,252,250,245,235, 55, 10, 11, 11,177,115,231, 78,129,167,167,231, 65, 52,144,226,
+165, 49, 47,210, 28, 40,138,138,110,206,118, 53,145,171,250, 34, 98, 13,208,120, 68, 43, 50, 50,146,170,253,250, 80,196,136, 66,
+ 92,102,204, 89, 56, 4,119,123, 40,154, 37,229, 82,144, 40, 85, 72,205,202,128, 0, 84,194,163, 50, 90,165,165,165,152, 49, 99,
+134,238,249,231,159, 47,102, 24,230,105,107, 77,129, 74,165,130, 74,165,194,173, 91,183,200,184,113,227,212,107,214,172,209,213,
+ 54, 90,201,201,201, 36, 34, 34,162,224,195, 15, 63,212, 52,102,180,106, 34, 90,203,151, 47,215, 13, 26, 52,168, 48, 33, 33,129,
+212,152, 41,185, 92,142, 85,171, 86,233,194,194,194,212, 87,175, 94, 37, 53,101,182, 68,180, 56, 28,206, 3,163, 85,123, 27, 14,
+135, 3,134, 97,108, 50, 90, 85, 85, 85,207,143, 28, 57, 82,157,152,152, 72,106,246, 83,165, 82, 97,205,154, 53,186,161, 67,135,
+170, 19, 18, 18, 72, 77,153, 82,169,180,218, 12,214,124,190, 66,161,128, 82,169,196,173, 91,183, 72, 68, 68,132,122,253,250,245,
+250,218,229,183,111,223, 38, 81, 81, 81,234,202,202,202,231, 27, 51, 47, 53,221,121, 22,139, 5,122,189, 30, 69, 69, 69,200,202,
+202,122, 16, 78,215,201,148, 79, 77,124,118, 84, 23,157, 78,167,189,149,124, 39,179, 83,199, 32, 23,157, 78,167,205,200,204, 76,
+ 6, 62, 98, 26,209,126, 58, 56, 56,184,120,198,140, 25,186,210,210,210, 22, 27, 45,161, 80,152,200,227,241, 72,255,254,253,137,
+209,104, 36, 89, 89, 89,230,162,210, 82, 75,192,103,159,145,132,183,222,162, 36, 49, 49, 34,185, 92, 78, 85,107,114, 82, 82, 82,
+ 24,137, 68,146,248,255,110,180, 56,140, 27, 40,210,239,143, 59, 26,187,161,163, 38, 8,169,252, 43,128, 73, 3,136,236, 1,145,
+ 61,120, 50, 71, 12,239,223,149,251,253,165, 10, 55, 16,166, 15, 4, 34,175, 38, 53,249,196, 21, 96,250,255,154,172,183,239, 55,
+126,182,176,164,164, 4, 92, 46,247,129, 41,146,202,100, 24, 50,230, 5,206,183, 87, 12,110, 0,233, 11,138,235,101,195,189,254,
+206,162, 69,139, 4,165,165,165,224,112, 56,127,106, 74,165,152, 62,125,186, 72,169, 84, 46,180,186,241,219, 27, 40, 0, 95,212,
+ 11, 32,111, 38,229,235, 61, 14,222,212,249,207, 91,254,141, 36,184,107, 40, 94, 27,228, 34, 89, 30, 93, 16,124, 35, 75,215, 6,
+160,223,130,197,216,189, 25,102,171,191, 66,161,136,142,137,137,145,142, 24, 49, 2,171, 86,173,146, 73, 36,146,163,205,105,248,
+171, 52,244,172, 79,214,255, 79, 29,183,118, 24, 96,170,186,111,176,106, 45, 5, 26, 6,139,191, 57, 93,110, 54,147,137,214,106,
+234,116,186, 41,175,188,242, 74,241,190,125,251,254, 98,178,196, 98, 49,210,210,210,176,116,233,210,146,146,146,146, 38,191, 20,
+215,172, 94, 21, 27,127,227, 55,124,251,245, 39, 0, 8, 54,172,121, 29, 23,255,216,109, 55,104,224, 0,210,186,117,107, 18, 26,
+ 26,138, 25, 51,102, 96,201,146, 37, 72, 74, 74,130,147,147, 19, 94,127,253,117, 12, 28, 56, 16,171, 87,175,110,172,145,138,152,
+ 53,107,214,210,236,236,108,255, 95,127,253,149, 87, 88, 88,232,178,122,219,182,242,159,202,203, 75,150,197,199, 39,189,223,177,
+ 99,135,119, 59,119,126,177,145,212, 15,245,154,172,153, 51,103,238,202,206,206, 14, 57,121,242, 36,191,176,176,208,107,230,204,
+153, 88,185,114, 37, 22, 46, 92,184, 5,192,107,176,110,194,139,213,237, 18,151,203,125,234,233,167,159,238,162,211,233,180, 73,
+ 73, 73,153, 29, 59,118,116,209,233,116,218,204,204,204,228, 51,103,206, 48,205,209,108, 14,197,197,197,247,118,238,220,153, 60,
+123,246,236,144,236,236,236, 64, 0,142,149,149,149,178,202,202, 74,145,209,104,148,216,219,219,219,119,237,218,213,105,218,180,
+105,242,235,215,175, 7,102,103,103,107,170,163, 72, 13, 98, 50,153,146, 74, 75, 75, 35,135, 13, 27, 86, 86, 90, 90,138,206,157,
+ 59, 99,212,168, 81,112,115,115,131,135,135, 7, 70,143, 30, 13, 63, 63, 63, 20, 23, 23, 99,226,196,137, 37,133,133,133,195, 0,
+164, 88, 81,221,123,249,249,249,232,211,167, 15, 62,249,228,147,200,103,158,121, 38,161,127,255,254, 21, 29, 59,118,212,122,121,
+121, 5,124,241,197, 23,240,244,244,196,222,189,123,221, 69, 34,209,206,122, 76, 86,131, 94, 4, 64, 97,181,225, 49,214,121, 45,
+108, 98,157,181,219,214,251,183, 21,239,171,107,182,106, 47,127,233, 58,172,255,132, 0,139,183,239,253, 94, 47,244,110, 15,149,
+127, 23, 72,197, 98, 72,132, 66, 72,236, 29, 97, 96, 24,108, 75,203,215, 86, 17,178,208,214,139,167,238, 23, 33, 69, 81,248,242,
+203, 47, 45,189,123,247,214,159, 62,125,122,131, 78,167,243,198,253,172,178, 86,155,130,245,235,215,107,231,204,153,115,163,160,
+160,160,139, 88, 44, 54,214,148,111,216,176, 65,251,194, 11, 47,196,103,103,103,135, 72,165, 82,109, 67,227,179,106, 27, 45,145,
+ 72,100, 40, 40, 40, 8,157, 58,117,106,226, 87, 95,125, 85, 37,149, 74, 33,147,201, 32, 18,137,140, 5, 5, 5, 93,102,204,152,
+113, 99,229,202,149, 90,137, 68, 2,153, 76,102, 83,183, 28, 33,228, 47,134,170,118,185,181, 88, 44,150,211, 5, 5, 5, 93,230,
+204,153,115,253,139, 47,190,168,170, 49, 64,181,235,184,122,245,106,173, 92, 46,183, 41,162, 85,243, 62,153, 76,134,117,235,214,
+105,103,207,158,125,163,160,160,160,139, 72, 36, 50,214, 42,175,154, 53,107,214,245,130,130,130, 46, 22,139,229,116, 35,191,198,
+232,138,138, 10,240,120, 60,196,199,199, 27, 4, 2, 1, 56, 28, 14,238,222,189,251,160,241,113,112,112, 8,234,210,169, 99,192,
+255,118,237, 61, 35, 17,136, 68,189, 67,187, 7,166,164,103,100, 19, 66,165, 55, 81,213,253, 58,157,206,251,244,233,211, 27,122,
+247,238,173,255,242,203, 47, 45, 13, 69,182,172,193, 96, 48,156,185,118,237,154, 89, 44, 22, 83,121,121,121, 22, 46,151, 11,154,
+166,137, 33, 52,212,208,233,139, 47,200,173,119,223,165,148, 50, 25, 79, 32, 16, 64, 42,149, 82,199,142, 29, 51,106,181,218, 51,
+255,255, 70, 11, 82, 80,144,220, 41, 48, 40,196,127, 29,166,161, 0, 0, 32, 0, 73, 68, 65, 84, 28, 11,133,228,253,247, 77,150,
+216, 14, 16,219, 3, 98,123,120,122,122,225, 74,154, 86, 1, 14,132,160,173,200, 33, 70,136, 12, 20,164,241,106, 40,248, 66, 9,
+149,159,159,255,192, 16,213, 44,190,237, 3,113, 45, 67, 35, 7, 69, 68,224,194,150, 20, 36,145,142,142,142,188,188,188,188,191,
+104, 6, 5, 5,113,205,102,179,245,169, 93,114,105,119,128,153,153,156,175,119,255,229, 70,149,255, 91,203,190,149, 72,232, 50,
+ 32,102, 61,130,219,122,224,173,241, 93,133, 31, 28, 44, 12,190,154,174,109, 11, 46,121, 13,140,198,217,134,122,246, 83, 40, 20,
+ 71,175, 94,189, 42, 85, 40, 20, 72, 73, 73, 65,104,104, 40,182,110,221, 42,149, 74,165, 71, 0,216, 52, 30,239,178, 26, 25,154,
+ 74,186,247, 59,123, 51,243,227,242, 44, 15,153,172,194, 42,130, 87, 62, 63, 88, 86, 90,161,127,250, 82, 86,195,247, 79, 61, 92,
+ 47, 43, 43,139, 88,184,112, 97,113, 97, 97,225, 67, 38, 43, 35, 35,163,230, 75,113, 16,128, 38,127,252,254,254,219,241,144,207,
+150,204,193,213,152, 4, 12,143,124, 19,215,226,238,225,253, 5, 99, 96,167,148,224,244,233,211, 24, 59,118, 44, 62,249,228, 19,
+220,189,123, 23, 63,254,248, 35,181,117,235, 86,234,210,165, 75,212,231,159,127, 78, 53, 49,164, 97,210,178,101,203,112,245,234,
+ 85,140, 24, 49, 2,103,207,158, 69, 73, 73, 9,118, 31, 61,122,103,231,157, 59,239,215,140,217,106, 32,245, 67,189, 40,149,202,
+121,203,150, 45, 67, 76, 76,204, 3,205,226,226, 98, 44, 91,182, 44, 27,192,235,182,152, 44, 91,218,165,206,157, 59, 7,236,218,
+181,235,140, 88, 44, 22,133,134,134, 6,166,165,165,101, 3, 72,111,134,102, 69, 75,122,170,138,138,138, 46,108,221,186,245,210,
+224,193,131,165, 83,166, 76,113, 62,112,224,128,163, 86,171,245, 16,137, 68, 46, 70,163, 81,120,251,246,109,238, 79, 63,253,228,
+118,235,214,173, 52,189, 94,127,197,154,227, 81, 80, 80,112, 37, 41, 41,105, 88,231,206,157,111,111,216,176, 33,219,221,221,157,
+153, 54,109, 26, 94,121,229, 21, 56, 59, 59,211,235,214,173,203,236,223,191,127,252,189,123,247,194,181, 90,237, 77, 43,235,250,
+221,103,159,125,118,126,215,174, 93, 24, 53,106, 20, 62,255,252,115,236,222,189, 27,191,253,246,155,228,143, 63,254, 16,110,221,
+186, 21, 2,129, 0,189,122,245, 66, 68, 68,196,144,234,238, 78,107,191,151,174, 82, 20, 21, 77, 81,212,201, 58,175, 87, 27, 91,
+103,195,182, 13,253,221,232,251,234, 84,115,107,157,197,122, 38,181,197, 71,211, 59, 42,180, 23, 38,247, 34,249,211,250, 17,245,
+132, 64,114,110,160, 3,153,218,142,170,154,210,204,244, 14, 58,157,238,193,178,111,223, 62,226,230,230, 86,165, 80, 40,108, 78,
+239,224,230,230,166,174,168,168, 32, 61,122,244, 40,113,118,118,126,144,138,192,221,221, 93, 93, 85, 85, 69,122,245,234, 85,226,
+226,226,242, 32,189,131,151,151, 87, 22, 33,132,248,248,248,228, 54,164,103,177, 88,136,155,155, 91,205, 12, 61,190,131,131,195,
+166,158, 61,123,150,168,213,106,226,238,238,254, 32,117,130,179,179,243,170,208,208,208,186,229, 77,213, 55, 43, 59, 59,155,100,
+103,103,147, 86,173, 90,229,214, 46,207,200,200, 32, 25, 25, 25,196,203,203,203,230,244, 14,206,206,206, 43,235,169, 75,179,234,
+232,237,237,173,214,233,116,164, 79,159, 62, 15, 29, 83,111,111,111,181, 94,175,175, 41,183, 42,189,131, 68, 34,121, 77, 44, 22,
+231,138,197,226, 92,145, 72,180,180,117,235,214, 5,123,246,236, 33,235,214,173,171,153,146, 14,231,160,168,222,237,251,188,248,
+190,115,208,232,121, 45, 73,239,160, 80, 40, 78,185,185,185, 85,237,219,183,239,161,235, 75,167,211, 89,157,222, 65, 34,145,100,
+107, 52, 26, 70,173, 86,155,207,159, 63,175,141,137,137,209,198,199,199,107,211,210,210,116,197, 5, 5, 38,181, 90,173, 43, 47,
+ 47, 55,220,184,113,195, 32,149,254, 51,233, 29,200, 86,191,246,100, 83,192,193,123,159,248,222,154, 51, 64,170,191,185,164, 11,
+ 33, 63,143, 37,228,200, 43,132,156,126,135, 92,217, 50,141,244,241, 21,209,231,231,183, 74, 38,155,253,127,177, 38, 37, 3,217,
+218,169, 61,217, 20,112,228,206,199,190,183,166,244,247,208,111,251,106, 29,185,124,249, 50,137,143,143, 39, 41, 41, 41,228,200,
+254, 61,164, 79, 91,233,125,205, 77, 1, 7,109, 76,243,208, 87, 36, 18,105,214,172, 89, 67, 46, 93,186,244, 64,243,224,193,131,
+ 68, 42,149,106, 1,235,102, 45, 19,128, 34,155,130,198, 88,190,242,255,227,131,161,242,202,226,195,239, 16,114,243,123, 66,182,
+ 6, 19,242, 93, 79, 66,246,140, 36,228,208,139,228,210,186,241,164,175,175,192, 76, 54,251,159, 37, 91,130,172, 30,108,207,231,
+243, 43,246,237,219, 71,114,115,115,201,217,179,103, 73, 76, 76, 12, 73, 76, 76, 36,153,153,153, 36, 58, 58,154,240,249,124, 61,
+154,241,216,178,158,174,240, 9,239, 32,200,187,177,188, 47, 33, 7, 38,146,194,157,147, 72,100, 71, 69, 73,175, 86, 45,202, 71,
+215,213,209,209,177, 40, 58, 58,154,164,165,165,145, 51,103,206, 16, 23, 23,151, 34, 0, 86,143,151,141, 28,222,159, 16,227, 13,
+ 18, 54,160, 35,233,220,185, 35, 25,216,183, 3,201,185,183,158,132,118,107, 77, 54,109,218, 68,212,106, 53,105,221,186, 53,177,
+181, 98,225,225,225,151, 9, 33,177, 35, 70,140,136, 5,112, 44, 60, 60, 60, 54, 53, 53, 53, 54, 52, 52,244, 18, 26, 79,253,208,
+ 32, 67,134, 12, 49, 17, 66,200,136, 17, 35, 8,128,220,240,240,112,146,154,154, 74, 66, 67, 67,141,205, 57,120,214,180, 75, 33,
+ 33, 33,189, 7, 15, 30,252,126, 72, 72,200, 60,107,210, 59, 52,161,249,168,146, 80,115,113, 63,249,103, 16,128,238,213, 75, 96,
+117, 25,183, 5,154, 47,242,249,252,109, 14, 14, 14,191,217,219,219,159,230,114,185, 91, 1, 76, 70,243,242,155,113,170, 35,140,
+ 39,156,157,157,239,118,238,220, 89, 55,108,216, 48, 50,124,248,112, 50,115,230, 76,194, 48, 12,217,179,103, 15,249,228,147, 79,
+ 72, 59, 71, 71,203, 58,160,104, 51,240, 18,254,165, 60, 72,239, 96, 13,227,125,209,247,165,182,212,153,231,219,160,114, 98, 27,
+104, 94,110, 71, 89,147,176, 52,188, 33,163,197, 48, 12, 73, 78, 78, 38, 97, 97, 97, 85, 50,153, 44, 7,214, 39, 44,125, 72,211,
+201,201, 41,198,197,197,229, 47, 73, 52,107,149, 63,148,176,212,197,197,229,130,187,187,187,218,217,217,249, 90,125,154, 78, 78,
+ 78, 49,238,238,238,106, 39, 39,167,135,146,123,114,185,220, 17, 78, 78, 78, 57,117,203,121, 60,222, 96, 23, 23,151,172,186,229,
+ 13,236, 59,220,220,220,178,114,115,115, 73, 97, 97, 33,241,246,246,206,173,107,192,242,243,243, 31, 50, 96,214,104, 54, 85,151,
+ 70,234, 88,175,166, 21,199,180, 57,231,189, 6, 63, 79, 79,207,130,213,171, 87, 19,185, 92,254,208,148,103,255, 1, 47, 47,186,
+124, 71, 83,241,202,130, 77,123,234, 73, 88,106,109,114,208, 97, 50,153, 44, 39, 44, 44,172, 42, 57, 57,153, 48, 12, 67, 24,134,
+105,200,104,213,167,249, 84,247,238,221,139,139,138,138,232,202,202, 74, 75, 86, 86,150, 33, 53, 53, 85,183,100,201, 18, 83, 97,
+ 97,161, 94,163,209, 24,227,226,226, 12,238,238,238,133, 0,158,178,245, 28, 53,147,240,186,221,103,100, 75, 96, 95,178, 57, 48,
+ 58,241, 67,159,219, 47,246,148, 25, 98, 87,143, 32,228,244, 59,228,210,166, 87, 72,111, 95,225,125, 67,180, 37,224, 40,249,214,
+111, 0, 89,223, 86,104,149,230,182,118,253,201,150,128,163,183, 22,251,220, 30,219,205,217,184,235,251, 45,228,238,221,187,228,
+224, 79, 59, 73,175, 54,213, 38,107,115,224, 9,178, 41, 48,204, 26,205,250,204,214, 55,223,124, 67,238,222,189, 75,126,249,229,
+ 23,107, 77, 86,120,125, 70,235,189,112,121,217, 43, 61,197,134,137, 93,133,198,209,193, 2, 83, 68,123,129,165,143, 15,143,238,
+226,206, 97, 2,157, 65, 34,252, 37, 6,178,217,255, 44,217, 28, 56,204,218,122, 10,133,194, 76,212,202,169, 83,119, 17,137, 68,
+133,141, 24,173,240, 38,205,150,159, 40,239,212, 39,131,201,168,206,138, 98, 43, 77, 86, 83,215, 82, 87, 39, 39,167,162,239,190,
+251,142,184,186,186, 22, 90,105,178, 30,104, 70, 69, 70,144,140,123, 71,200, 47,123,150,145,176, 1,129,100,199, 55,115,200,229,
+179, 31,146,145,195,195, 72,120,120, 56, 41, 42, 42, 34,131, 7, 15, 38,182,214, 83,165, 82,237,208,104, 52,177,199,143, 31,143,
+ 13, 15, 15,143,221,177, 99, 71,236,185,115,231, 98,165, 82,233,142,154,224, 68, 93,179, 21,248,215,246, 63,188, 78, 68, 43,182,
+178,178,146, 28, 63,126,156,132,135,135,147, 29, 59,118,144,115,231,206, 17,169, 84, 26,219,220,251,200,218,118,105,232,208,161,
+139,210,210,210, 42, 22, 47, 94,188,167,158,132,165,214,106,222,125, 68,245,124, 36,109,200, 63,160,169,144, 72, 36,177, 55,110,
+220, 32,165,165,165,164,163,171, 43,249,140,203, 37,217, 2, 1,201, 21, 8,200, 38,160,228, 95,224,169,166,213,215,117,104,147,
+209,122,132, 39,130,232,245,122, 50,127,254,124,163, 88, 44,214, 10, 4, 2, 91, 31,193,243, 68, 95,132, 78, 78, 78, 23, 92, 93,
+ 93,213,174,174,174, 15,153,189,218,229, 78, 78, 78,215,254,229, 55,160,159, 64, 32,200,224,243,249, 15, 63,130, 39, 40,170,119,
+187,190, 83, 22,186, 6, 71, 13,111, 97, 61, 5, 2,129,224, 61,177, 88,172,157, 63,127,190, 81,163,209,216, 98,180, 0, 96,168,
+ 84, 42,205,217,190,125,187,238,206,157, 59,230,146,146, 18,203,229,203,151,205, 49, 49, 49,198,143, 62,250,168, 82, 42,149,230,
+160,225,180, 4,255, 47,199,147,172,111, 43,172, 49, 91, 55, 23,250, 36,142,234, 40, 53,109,157, 27, 65,122,183,174, 99,178, 26,
+206,228, 94,191,102,181,217,186,254,129,119, 98,152,159,220,178,108,225, 91,164, 87, 27,201,195, 38,203, 6,205,186,102, 75, 42,
+149, 86,126,248,225,135,182, 68,178, 30, 54,132,219,252,189,201,150,128, 29,247, 77, 84, 19,203, 38,255,175,201,151,254,222,143,
+203,125,212,211, 21, 62, 67,252, 68, 9, 54, 68,178,172,169,103, 87,123,123,251,219, 54, 68,178, 30,104,126,249,229, 6, 50,105,
+194, 80,114,239,246, 62,162, 41, 62, 66,174, 93, 92, 67,198, 69,133,144, 94,189, 66,201,150, 45, 91, 72, 82, 82, 18,233,209,163,
+ 7,105, 70, 61, 35,166, 79,159, 30,155,154,154, 26,155,146,146, 18,123,238,220,185,216, 49, 99,198,196, 2,136,168,221, 19, 84,
+ 99,182, 76,227,198, 25,186,114, 56,111, 53,161,249,220,244,233,211, 73,106,106, 42, 73, 73, 73, 33,231,206,157, 35, 99,198,140,
+ 33,176,237,241, 61,205,106,151, 66, 66, 66,122,135,133,133, 45,236,214,173,219,240, 71,165,249, 31, 52, 90,178,177, 99,199, 50,
+ 52, 77,147,225,195,135,211, 95, 0,101, 91, 41, 74,189,149,162,212, 91,128,194,127,123, 68,235,239,126,224,103, 56,128,147,181,
+ 11,196, 98,177, 90,175,215, 59,203,229,242,253, 26,141,102, 54,238, 79,139,108,145,230,223, 81, 79, 86,243, 95,161,233, 46,151,
+203, 55,104, 52,154, 49, 98,177,184, 80,175,215,187,218,160,105, 39, 18,137,222, 18,139,197, 97, 90,173,214, 15, 0,100, 50, 89,
+178,193, 96,248, 77,167,211,173, 5, 80,246, 79,239, 59, 89,223, 86, 8,161,176, 59, 8,222,141,205,172,106,179,236,120,137,207,
+220,193,246,153,125,218,201,210,192,103, 62, 7,101,184, 66,189,148, 97,176, 89, 83, 66,133,130,230,191,123, 37, 93,219,250,243,
+ 95, 43,125,230,133,201, 51,251,180,149,103,130,224,115,136,180, 23,109,213,172,107,182,100, 50,217,246,170,170,170, 87, 1,252,
+102,235,190,147,189,129, 2, 84,153, 61, 97,230,118, 4,105,228, 17, 62,132,104,193,225,198, 35, 31,106,234,163,219, 38,246, 62,
+170, 95,243,171,175, 54,146,147,191, 30,129, 65, 91,130,188,130, 10, 76,154,252, 50,186,118, 13,129,147,147, 19, 62,251,236, 51,
+180,111,223, 30,159,124,242, 9,213,140,122, 70,200,229,242, 73, 1, 1, 1,109,111,221,186,149,162,213,106,127, 0,112,162,206,
+123,168, 0, 32, 76,202,227,117,209, 89, 44,103,111, 3, 49, 77,104, 62, 39,151,203,231, 5, 4, 4, 4,223,186,117, 43, 65,171,
+213,174, 6,176,155,109,235,158, 12, 77, 14,135,179,214,199,199,103, 92, 90, 90,218,187, 0,118,225, 63,194, 63, 98,180, 88, 77,
+ 86,243, 9,212,172,185, 79,200,227, 86,207, 63,205, 22, 51, 27, 20,218,128, 80,217, 16, 48,235,154, 48, 89, 77,107, 74,168, 80,
+ 88,120,111,130, 66, 43, 16,228,131,112,214, 54, 97,178,254,127, 77, 38, 64,225,163, 70,218,175,143, 64,168,134,207, 23,123,205,
+215,195,162, 69,139,200,177, 99,199, 32,149, 74,161,211,233, 48,108,216, 48,124,250,233,167, 20,219,134,176,154,255,143,154,255,
+ 74,163,197, 99, 15, 3, 11, 75,211,247,202,227, 90, 49,234,141, 20, 35,217, 27,120, 21, 69,220,249,224,160, 13, 96,201, 64,149,
+ 37,159,122, 35,195,216, 66,205,203, 40,162,230,128, 11, 63, 8, 45,247,160, 49,230, 83,175, 55, 95,243,145,239, 55, 64,240,209,
+227,123, 94,158, 68,234,154,170,152,152, 24,246,160,176,176, 88,207, 52, 60, 60,211,240,193,255,172,209, 98, 97,121,194,161,158,
+185,109, 2,144, 93,189, 60,182,154, 44, 44, 44, 44,255, 65,195, 5, 10, 13, 15,104,179, 37, 36,216,156,129,118, 39, 89,205,102,
+105,114, 1,168, 0,216,225,126, 14,146,154, 41,189, 77,165,217, 24, 14,192,204, 30, 79, 86,147,213,100, 53, 89, 77, 86,243, 31,
+214,108, 74,251, 73,236,146,172, 47, 51,252,214,127,106,214, 33,171,217,124,134,177,199,147,213,100, 53, 89, 77, 86,147,213,252,
+151,106,254,235, 32,132, 52, 43, 25, 25,203, 63,135,152, 61, 4, 44, 44, 44, 44, 44, 44,143, 29, 33,213,175,238,184, 31,221,114,
+175, 89,241,143,142,209,146, 56,118,112, 7,143,211,153, 98, 72, 0, 0, 16, 14,149, 8, 11, 19,167, 43,190,147,215, 82,109,185,
+135,159, 3,129,112, 47, 5,227, 51,154,220,228, 22, 39, 67,235,232,167, 28,231,234,164,152,148, 95, 92,190, 61, 33, 73,115,192,
+150,109, 85, 42, 31,149,216,193,126,188,193,100,238, 40, 20, 8, 50, 77,101, 21, 91, 75, 75, 83, 42,155, 81, 13,135,198, 86,126,
+244, 17,161, 14,231, 93,163, 4, 82, 19,199, 81, 41,160, 52,208, 16, 77,158,156,241, 45, 75, 35, 63,253,244, 12,177,245,220, 80,
+ 28, 12,146, 41, 20,221, 68, 98,105,168, 84, 97,223,129, 33, 64,137, 58, 39,221,104,182,156,163,141,218, 88,194,224,247, 71,113,
+174, 88, 88, 88, 88, 88, 88,254, 5, 70,235, 26,128,145,184, 63, 70,171,233,193,240, 62, 65,253,174,138,197, 18, 95, 0, 96, 8,
+ 1, 67,128,170,138,178,216,252,148,152, 97, 0,224,212, 58,228, 56, 95,172,236,198,144,251,235,105, 6,176,152,244,105, 21, 25,
+151,123, 88, 83, 35,153,179,223,216,193,225, 67,198, 69, 70,142,244,239,212,177, 83, 59, 0,184, 25,127,243,222,225,195,209, 73,
+167, 79, 82,251,170, 10,147,127,105,201, 30, 19,136, 63,237,222,189,107,191,152,152,107,159, 0,152,217,210, 35,232,232, 40,159,
+125,226,231,249, 3,134,140, 91, 37, 3,108, 51, 90, 98, 7,251,241,163, 71, 61,213,245,237, 55,166,115, 94,153,255,153,239,213,
+243,191,175,144,187, 7,151, 17,198,124,162, 74, 61,225,143,198, 30,156, 92,215, 63, 54,100,176,126, 40, 57,198, 89,247, 93,111,
+123, 93,201,189, 9,132,161, 39, 80, 20, 5,174, 80,250,147,115,219,126,123,236, 6,205, 45, 5, 96,245,140, 49,165,123, 80,184,
+139,187,215,190, 9, 47,191, 37,150,170, 92,121,224, 10, 0, 80,200, 77,191,141,211,187,151,217,191,249,241, 55, 33,231,227, 50,
+ 44,167,126,222,168,167, 4,252,113,218,188, 91,236, 20, 95, 22, 22, 22, 22,150,255, 50,209,213,230, 42,186,238,138, 6,141,150,
+ 88, 44,241,189,244,251, 97,135, 95,206,101, 1, 0,194, 67,220,240,254,146, 13, 17, 59,214,199, 36, 1, 64,239,193,145,126,159,
+188,247, 6, 46, 36, 20,128, 16,130,174,237, 29, 49,124,244, 51,214, 25, 15,215,192, 30,227,199, 63,253,252,252,249,243,162,238,
+222,189,155,190,107,215,174, 63, 0,160,255,128, 1,237, 63,251,236,179,103, 87,217, 59,136,126,252,233,231, 28,189,250,246,213,
+230,236,173,216,163,173,167,127,135, 54,147,126,252,118, 3,103,208,176,167, 39,166,163,106,153, 62, 55, 37,199,154,109,157,156,
+156,230,240,249,124, 21,112,255,105,236, 53,152, 76,196, 13, 0, 44, 52,163,176,247,240,175,228, 10,196,180, 72, 36,184, 85,169,
+209,108,175,200,185,189,173, 49, 77,131,217, 28,252,230,235, 47,113,174,167, 20,195, 55,184, 63,119,221,178, 15,192,208,102,251,
+183,222, 91, 50, 62,230,242,143,168, 82,227,140,149,187,198,175, 91,224,233,217,139,251,233, 50,249, 80,138,194,139, 62,189, 95,
+ 30,243,201,247, 63,241,187,183, 87,194, 96,102,112, 52,182,184,247,166,181,159,174, 60,191,105,228, 33, 0, 91, 0,156, 2,208,
+164,169,115,112,116,248, 97,206,194,181,242, 42,227,159,179,189,171, 77, 22,190,222,190, 23, 55,178, 24, 4,248, 7,240,220,230,
+172,144,111, 89, 50,237,123,237,253,231,108,177,176,176,176,176,176,252, 87,201,195,195,179, 13,183, 54,105,180, 0, 64, 46,225,
+ 33, 41, 53, 31, 0, 96, 39, 1,102,191, 54, 5,197, 69,133,126, 70, 11,131,151,167, 76,198,181,196, 60, 36,165, 21,130, 16, 2,
+ 63, 47,171, 31,194, 13, 46,152,238, 47, 79,125,121,224,241, 19, 39,174, 44, 90,184,232,127, 20,133,139, 0,176,101,235,215,189,
+ 23,127,184,248,213,201, 83, 38, 15,253,233,167,159, 18, 0, 52,203,104,241, 40,197,134,149,203,151, 10,179,139,244,250, 57,243,
+223,101,230,205,157,179, 14,192,211, 86, 57, 25, 62, 95,149,157,157, 45,231,112, 30, 30,190,246,249,210,119,207, 14, 29,183,234,
+ 78,122,102,217,245,227, 7, 15,246, 8, 10, 10, 66,118, 78,126,223, 21, 95,108,238,114,244,184,228,165,202, 10,221, 56,109,209,
+237,122, 31,218, 44,226,243, 19, 62, 94,177,169, 43, 99,215,158,243,254,171, 35, 16,220,206, 3, 57, 5,101, 24, 48, 44,138, 23,
+123,245,106, 4, 96,181,209,170,155, 60,112,188,145, 41,232,242,217,246,203, 67,198,244,241,232,206,225,112,161,209,153, 81, 88,
+110, 0,205, 0,253, 3, 85,120,106,199, 23,188,146, 42,243,216, 37, 63,103,141,189,184, 62, 82,173, 47,207,157, 5, 96, 95,227,
+ 31, 67, 28,188, 92,148, 72,202,170,172,215,100, 85,233, 45, 0, 0, 1,151, 6, 5,226,200,222, 95, 44, 44, 44, 44, 44,255,113,
+234,157,117, 8, 84, 63,153,251,240,225,195,245,142,223,161,105,130,164,180, 60, 36,165,229,225, 74, 98, 33, 76,132,143,117, 43,
+ 62,198,234,101, 31,162, 68,199,193, 47, 23,178,144,156,150,143,228,180,124, 20,149,106,234,147,120,168, 75,105,213, 50, 73,200,
+218,181,202,149, 17, 3,100,131, 28,236,237,237,239, 36,252,175,106,241, 92,117,224,199,111,102, 9,248, 70, 81,182, 76, 46,235,
+179,119,239,158, 32, 87,103, 23,153, 92,174,120, 71,234,217,229, 27,149,234, 47, 79, 74,111,180,155, 74,226, 18, 16, 21, 53,242,
+169,193,110,110,174,204,244,117,177,137, 29, 3, 3,204, 29,218,119,232, 43,113,233, 16,213,200,102, 15, 52, 25,134, 1,135,195,
+129, 90,173, 70,110,110, 46, 82, 83, 83,145,156,156,140,172,172,116, 53, 67, 8,159, 6,195,113,119,247, 2,143, 39,132,111,107,
+ 31,108, 90,183, 76,186,228,163,247, 67,197, 50,225,129, 58, 70,232,129,166,190,164,244,167, 35,199, 78,228, 28,221,181,137, 6,
+128,130, 82, 13, 78, 95,189,139,107,183,178,108, 61,145,117, 83, 56,180,206,201,184, 91, 97, 73,139,230,126,242,193,188,172,115,
+231,206,167,151, 87, 26, 81,169, 53, 65,171, 55,195, 96,164, 97,166, 25,248, 56,139,177,255,221,142, 56,248, 91,156, 43, 69, 81,
+107,155, 58,158, 6,131,153,238, 23, 32,195,196,176, 86, 8,240,146, 33, 39,233, 34,230, 44, 92,139,152, 84, 3, 74, 75,203, 96,
+174, 42, 2,163,201, 70, 81,218, 53, 88,104,154, 52,117,222, 31, 17,172, 38,171,201,106,178,154,172,230,191, 88,179, 33, 47,242,
+132,176,181,158, 5, 15,140, 86, 67,220,203, 42, 65, 82,106, 62,186, 5,120,162, 93,107,119, 92, 73, 46,197, 15,167,179,240,205,
+241, 12,156,190, 81, 8,134,167, 64,126, 5,112, 39, 93,141, 59, 25, 69, 77,230,207,230,138,248, 19,222,124,179,124,126,167,160,
+138, 94,191, 31,157, 13, 79,231, 59, 65, 11, 22,148,205,230,138,248, 19,236, 91, 41,118,189, 59,255,173, 73, 10,169, 84,104, 52,
+ 24,209,182,141,143,248,141, 89,179, 95,162,236, 69, 86, 63, 19, 73,225, 25,104, 47,146, 72,182, 45,249,232, 29,209,218, 95,238,
+100, 86, 25, 81,181,239,162, 58,101,222,187,139, 75,120,124,241, 38,133,103,160,189,181, 90,102,179, 25, 6,131, 1, 70,163, 17,
+ 38,147, 9, 57, 89,183,163, 78,253,242,246,176, 54,173, 28,134,137,196, 98, 16, 0, 21, 58, 11, 82,243,180, 8, 27, 50,148,219,
+ 45, 36, 36, 88,238, 30, 56,181, 62,173,242,242,140,114,134,112, 21,135,247,239,228,238,249,245, 58,254,119,248, 42, 14,252,118,
+ 29, 87,206, 28,181, 16,198,252,224,249, 95,114,247,246,126,114,247, 78, 25,114,143,206,234, 7,139,103,199, 70,211, 51,115,185,
+ 28, 18, 54, 36,252,228,107, 51,223,248, 93, 91, 89, 92,176,109,195,199, 57,133,185,233,183, 69, 2,202, 34, 21,113,161,209, 91,
+240,253,169, 92,140, 95,118, 3,183, 50, 53, 32,132, 52,249, 0,111, 6,152, 59, 97,234,219,180,217,100,130,191,183, 28, 59,183,
+ 46, 71, 84, 88, 23, 12,238,100,143, 30,237,100,144,242, 12, 72, 72, 76,194,238,157,223, 91, 24,134, 51,143,253, 33,195,194,194,
+194,194,194, 70,180, 30, 44,238,181, 87, 52,216,117,168,215,235,210,158,158, 48, 25,238, 46,110,242,209,131, 94, 20,196,222, 43,
+ 67, 97, 94, 6,238, 38,199, 67,171, 55, 67, 96,223, 6, 16,187,161,181,175, 15,226,146, 14,152,214,175,140,214, 48, 22, 67, 90,
+ 67,122, 81, 81,238, 94,119, 19, 41,206,202, 21,222,151,146,147, 74,187,237, 92,248, 29,158,127, 94,238,180,114,133,247,165,244,
+ 20, 25, 71, 42, 38,125, 94,154, 50,145,226, 80, 4, 11, 22,204,199,232,200,167,240,242, 75, 47, 80,219,183,127,223,171,204,202,
+189,100,192,255,242,189, 15, 62, 22,170,203, 44,198, 43,201, 26,131, 84, 38,145,156,191,163,169, 10,246,245,150,140, 24,247, 98,
+110,244,222,109,107, 1, 76,177, 70,171,198, 96,153,205,102,152, 76, 38, 0,160, 1,128,195,185,255, 90, 92,105, 68, 65,153, 1,
+234, 50, 3, 44, 52,131,113, 19,166, 72,174,198,220,152, 2,160,129,241, 90, 12, 99,182,152,177,239,215,107,200,185,250, 19, 67,
+113,184,229,181, 6,195, 67,238,222,222,207,205,205,251,108,228,184, 23,156,133,226,251,221,176,149, 85, 6,108,223,188,162,209,
+122,114, 40,138, 48,180,165,204, 98, 54, 87,181,109,211, 54, 39, 32,168,139,248,220,239,199,163,206,159,220,167,177,180,125,193,
+238, 94,122, 30,184,124, 17,184, 2, 49, 12, 38,235,126, 44,168,239, 94,218, 8,128,154, 58, 99,254,186,183,222,126,159, 59,119,
+253, 31, 48,234,181, 48,232,170, 80, 81, 94, 10, 9,207,140,132, 11, 7, 45,132, 54,191, 85,149,119,125, 35,123,127,177,176,176,
+176,176,252,199,169,251,248,157, 7,101, 13, 26,173,140, 91,231,122, 0,128, 95,247,136, 98,185,152,231,192,227, 80, 80,103,223,
+195,246, 85,115,192, 48, 4, 35, 94, 93, 9,133,175, 27, 36, 2, 46, 12,154, 98, 77,201,189, 51,141,142,213,161, 40,243,208,141,
+ 91,114,124,103,188,222, 86,185,115,167,134, 15, 0, 59,119,106,248,175, 79,111,165,252,106, 75,154,111,207,126,221, 64,104, 26,
+145,163,159,198,132,231, 38, 32, 61, 95,139,159,207,102,162, 74,103,180,106,182,156,196, 41,160,139,147,163,243, 83,111,190,248,
+148,140,199,165,168, 14, 62, 42,110, 86,161,217,194,229,242,233, 67, 87,203,115,199,141,123,206,233,244,145, 61,131,105,167,128,
+ 46,186,162,196, 27, 77,233, 25, 12, 6,208, 52, 13,131,193, 0,179,217, 12, 7,167, 54, 71,134, 62,189, 42, 59, 47,191, 50, 58,
+191, 84,223,179,202,108,129,186,204,128,130, 50, 3,202,170, 76,112, 83,216,195, 98, 54,118,106, 72,143, 16,242,191, 49, 79, 79,
+126, 1, 0,135,226, 88,190,211,228, 37, 38,223, 95,243,167,201,122,106,244,243,206,103, 99,239,225,110,204,209, 82,194, 88,238,
+103,113,167,152,236,198,143, 43, 8,151, 2, 35,224, 81,102, 46,135,195,152, 76, 26,179,139,139,243,233, 51,167,143,141,210, 91,
+ 82,192, 21,136, 30,188, 87,103,164,173,190, 98,212,119, 47,125, 9, 0, 95,172, 95,183,186,207,208,231, 5,103,174,165, 65,103,
+ 6,122,135,248, 97,255,143, 95, 27, 8, 49,191, 93,149,119,253, 75,246,222, 98, 97, 97, 97, 97, 97,121,200, 96, 69,227,254,224,
+248,135, 35, 90, 53,125,163,145,145,145,127,121, 90,123,142,186, 4,142,114, 30,156, 61,124, 49,105,206,106,252,111,237, 92,208,
+180, 25,132, 0, 22,218,186,204, 4,132,240,127,157,249,186,111, 64,107, 95,174,243,164,231,165,186, 31,118,106, 37,147,158,151,
+234, 58,118,114, 44,159,249,186,111, 90,165,222,187,175,133,166,113, 62,161, 0,241,105,229,136, 79,175,128, 92, 98,125,154, 47,
+174, 80,240,250,138,229,203, 4, 60, 46, 69, 37,100,104, 52,217,197, 22, 13,151,207, 55, 73, 37, 66, 98, 36, 60, 67,122, 17, 41,
+ 30, 50,230, 37,221,161, 29, 95, 76, 5, 48,171, 33,157,154,153,134, 53,145,172,154, 87, 66, 8,161, 0,134,161,104, 58,187, 72,
+ 15,141,201, 12,117,233,159, 70,139,178, 52,220,115, 42,119,111,239,167, 84,200,143,113,185, 92, 17, 33,128,217,100,121, 22,238,
+237,135,105,242,238, 38,215, 54, 89,151, 18,114,113,239,250, 73, 53,109,210, 78,214, 22, 36,157,178,118,223, 41, 10,132,203, 5,
+195,229, 80, 12, 69,129,225,115,136, 17,132, 48,117,107,164,181,193,104,213,152, 45, 33,159,187,240,196,238,181, 46, 47,143, 12,
+196,143,103,239,123, 62,125,101, 97, 69, 85, 14,107,178, 88, 88, 88, 88, 88, 30, 45,141,121,145, 39, 40,170,245,215,136, 86, 99,
+ 59, 68, 8,112, 39,163, 8,173,189,156,225,213,186, 29,146,111,199,253,185, 14,128,133,182,174, 59,234,224,193,188,236,213,171,
+149,204,220,185,229,189, 87,172,240,190,248,250,244, 86,170,142,157, 28,203,223,121, 39,179,247,154, 53,170,139,191, 94,226,211,
+164, 58, 95, 87, 77,110, 46,219,158, 17,196, 9,237, 18,212,134,251,241,206, 59,153,167,110, 86, 22, 8, 4, 2,179,155,189,152,
+ 82,200,133, 92, 46,135, 47, 52,152, 57, 6,191,224, 16,238, 33, 14, 21,210,152, 74,141,209,170,219,117, 88, 92,120, 47,234,196,
+207,243, 59, 14, 26,179,210, 33,167, 80,135,114, 35,247, 65,215, 33,151, 67,225,230,237, 12,128, 43,136,175, 79, 83,169,112, 56,
+190,235,135,255,121,175, 89,177, 20, 38, 11,141,153,115, 23,225,165, 41,147,143,195,189,253, 48,111, 95,255,216, 63, 14,125, 39,
+ 29, 54,125, 19, 50,146, 98,242, 45,134,138,221,182,152,172, 7,102, 11, 32, 52, 97, 56, 37,165, 21,114,131, 5, 98,212,227,251,
+ 12, 38,166, 89, 87,142, 70,103,193,161,203,249, 56,252,203,110,168, 20, 50,182, 37, 96, 97, 97, 97, 97,121,228, 60,161,230, 10,
+117,204, 21,208, 80, 68,171, 49,124,188, 92,113, 57, 62, 13,157, 2,218, 64,165, 84, 32,241, 94, 54,184, 28, 62, 56, 20, 96,182,
+ 88,111,134,136,201,252,227,154, 53, 42,100,164,201, 56, 95,109, 74,243,157,249,186,111,218,154, 53,170,139,196,100,254, 17,192,
+100, 66,238, 63, 23,168, 38, 65, 42,109,131, 47, 32,140,185,149,171,131,148, 27,147, 82, 85,204,225,112, 13,142, 42, 49,227,168,
+ 18,113, 28, 21, 66,190,128,207,101, 44,132, 99,242,114,241,213, 19,134,233, 98,141, 94,237,174, 67,154,166, 65, 81, 28,186,218,
+136,201,178,138,117, 40,215,115,161, 46, 51,160,180,210,132, 14,158, 50,156, 60,253,147,150, 54,235,118,214,167,197,229, 11, 84,
+237,124,189,240,254,167,107,160, 51,208,184,147,163,129, 64, 36,114,115,117, 11,190, 49,121,198,187,162, 55,182,222,195,212,193,
+142,152,251,199,189, 28,173, 90,252,174, 45,103,150,166,105,232,244, 70,129,186,168,212,190,162,178, 74, 41, 17,139,116,206, 14,
+170,162,250,222,171,183, 49,162, 85,131, 84,204,195,168, 94,110,208,155, 38, 66,103,176,224,194,169,125,108,139,192,194,194,194,
+194,194,242, 39, 91, 27, 90, 97,149,209,146, 75,197, 32, 92, 49,254,136,189, 7,255,160,206,248,254,224, 21,180,239,212, 11,121,
+149, 22, 16,112,154,156,109, 88,195,252,247,116,215, 0, 92,139,138,146,122,141, 29,235, 57,148, 16,254,175,155,182, 84,100, 3,
+ 64,155,142,247,101, 24,134,128, 16,128, 48,247, 13,151,213, 80,188,140,180,188,138,214,190,110, 50,220,202, 54, 25,100, 34, 1,
+199, 94, 38,228, 58,171,132, 2, 1,143, 7,154, 80,134,188,188,123, 6, 10, 72,183, 70,174,110,215,161, 84,238,126,100,200,152,
+149,133,233,153,229, 49, 29, 74,180, 93,202, 77, 66, 16, 2,116,240,148, 33,254, 82, 52,173,206,185,123, 71,167, 78,218, 92,159,
+ 22,195,128,107,178, 48,184,145, 82,142,178, 42, 51,202, 52, 38,244, 13, 27, 37,232, 27, 30,133, 63,226,139,192, 88,204, 88,241,
+117,116, 37, 77,204, 19,128,219,102, 27,118,154,115,249, 90,130, 87, 97,233,255,177,119,222,225, 81, 20,255, 31,127,239,238,245,
+146, 70,146, 75, 35,116, 72,232, 29, 18,122, 39, 82, 5, 65,138, 8, 10, 4, 80, 65, 17, 80, 84, 84, 58,124,233, 85,148, 38,210,
+123,175, 66,232,210,123,128, 4, 72, 35, 61,151,122,189,238,238,239,143, 75,168, 41, 23,130,229,167,243,122,158, 60,151,189,220,
+189, 51,219,102,223,243,153,207,204,232, 37, 66,129, 32,183,102,245,138,177, 98,145,208,174,209,104,196, 47,127,138,129, 66, 38,
+ 70,182,206, 6, 0,182,210, 94, 61,121,122, 27, 14, 92, 78,195,193, 61, 91, 33,147,201,192,147, 27,138, 64, 32, 16, 8,132, 23,
+241,131, 99,249,157,195,249,175,207,204,151, 83,139, 74,179, 28, 15, 47,207,114,144, 42, 92, 17,151,110,133,150, 82, 33,199,192,
+131,101, 29, 17,173, 98, 2, 79,133,174,238,125,224, 64,106,210,254,253,153,235, 14, 28, 72,125, 33,209,251,121, 36,235,217, 43,
+199, 59,173, 73,241,236,201, 3, 71,207,228,245,106,238,237, 65, 51,140, 81, 36,164,205, 2, 17, 99, 21, 9,104,155, 72, 64, 91,
+124, 92,133,204,153,131,219,196, 60,133, 51, 37,105,154, 76, 38,116,234,212, 9,221,186,117, 67,239,222,189,209,191,127,127, 4,
+ 5,213, 82,209, 12,101,225, 41,142,243, 22,107, 81,205,155,130,192,148,136, 83,219,254,103,184,119,113,223,109,214,108,234,137,
+151, 45,231,115, 77,158,231,178,243,204, 48, 89, 89,228,232,172,200,209, 91, 97,247, 14,197,190, 63, 82, 96,180,176, 72,184,177,
+203,168, 78, 75,250,220,156,241, 56,174,132, 83,241,245,203,155,124,210,136,143,135,170, 93,164,244,227,214, 45,154,170,189, 60,
+203,217, 41,234,121,228,149,162, 40, 72, 93, 85,240,112,119, 65,220,205,163, 56, 49,175,163, 17,192,119,206, 28,207, 23,113,149,
+ 11,208,171,185, 47,122,246, 29,132,122, 33, 93,157, 49,214,100, 69,123,162, 73, 52,137, 38,209, 36,154,255, 37, 10,214, 56, 44,
+120,117,110,102,248, 2, 3, 84,213, 79,129,234, 1, 10,152,172, 42,152, 44, 44,244, 38, 22, 26,131, 21, 26,131, 13,113,105, 6,
+220, 59, 80,246, 18, 58,162, 88,142, 25, 63,121, 30, 0,229, 48,120,206, 70, 79,196, 86,203,140,133,243,102,191,191,173, 81, 67,
+203,184,238,126,129,119,226, 44, 41, 20, 69, 27,105, 70, 96, 43,231, 34, 16, 62,124,120, 71,125,233,220,145, 54, 82, 59,251,161,
+161, 24, 29,187,221,158, 23, 16, 16, 0,224,229, 37,120,106, 85,147,245,190,120,248,235, 42,109,123,205,243, 94, 60,107,162,129,
+102, 68, 28, 37, 16,221, 99,109,198,173,198,244,168, 85, 40,198,126,208, 34,233,131, 43,183,238,135,184,151, 11,196,227,100, 61,
+244, 38, 59,172,118, 14, 30, 74, 17,146,238, 30,183,198, 61,188,190, 67,151,114,103,195, 27, 28,182, 45,209, 15,238,149, 15, 11,
+235,250, 94, 72, 72, 40,243,195, 15,223, 35, 56, 56, 24, 70,163, 17, 52, 77, 35,176, 82, 53,196, 69,223,194,229,195, 51, 88, 67,
+ 86,252,207, 0,166, 3, 80,151,246,159,100,106, 44, 56,122, 61, 3,135,247,110, 7, 35, 20,147,219,137, 64, 32, 16, 8,132,215,
+ 9,127,229,117,181, 83, 70,203,100, 50,197,181,234,212, 19, 28,199,131,229, 1,142,205,143, 60,113,207,163, 79,172,205, 20, 87,
+214,210,113, 28,123,117,197,234,117,221, 26, 53,107,203,212,174,160,132, 38, 43, 13,151, 47,158,182,131,227, 47, 57,243,253,172,
+172, 71, 58,153, 79,245,247,222,239,215,103,231,208,143, 71,231,182,105,223, 94,161, 82,249,154,147,146,147, 12,235, 55,109,182,
+ 29, 63,178,191, 13, 7,251,192,172,172,199,186,226,116,242,242,242,150, 22,246,190, 68,172,108, 9,160, 10, 35,160, 44, 70,245,
+163, 82,101,132,103, 38, 39,246,157, 61, 99,106,252,224,145,227,197, 85, 3,170, 33, 35,143, 65, 92, 82, 26, 30,158,219,111, 78,
+142,190,182, 87,147,116,115,184,147, 82,169,133,188,151, 4, 96,241,229,203,151,234,132,133,133,117,237,208,161, 3, 31, 30, 30,
+ 14,158, 7, 78,173, 30,195,103,199, 93,222, 5, 71, 20, 43,230, 13,207, 75,194,185, 75,183,202,245,111,211, 68,224,233, 50, 28,
+235,182, 31,177,129,231, 18,200,253, 68, 32, 16, 8, 4,194, 51,222, 60, 71, 43,241,129, 99, 62,173, 63, 27,109, 90,198,144, 13,
+ 27, 54,206,220,184,105, 91, 75,147,197, 18,192, 67,148,200,218, 45,103,117, 44,126,112, 86,195,152,254,248,186,167,103,141,186,
+235,215,172,248,110,253,186,159,218,130, 99,107, 82, 64, 60, 79,225,140,212,198, 14, 45,201,100, 21,107,150, 50,181,191,116,126,
+111,129, 49, 43, 75,183,177,180,223, 53,102, 69,165,209,140, 53,240,151, 37, 51,230,211, 52,211,133,101, 57, 33,199,218, 30,179,
+ 86,211,255,140,234,168, 3,112, 58,203, 13,217,197,252, 45, 18, 64,100, 68, 68, 68,235,136,136,136,102, 0,150,194,177,134,226,
+245,178,156, 23,115,150,182,227,164,137,147, 78, 77, 0, 85,145,227,120,216, 89, 46, 65,100, 52,116, 36,247, 20,129, 64, 32, 16,
+ 8,207, 8,199,235,147,150, 58, 23,209,250,171,200,201,137,209, 34, 7,227,202,170,147,149,245, 72, 7,224,181,145,123,134, 50,
+234,222,123,164,217,141, 71,154,221,111,250,125,125, 70,172, 26,136, 29, 90,198, 98, 56,147,200,126, 62,255,231,173,144,153,249,
+ 64,143, 76, 52, 39,247, 16,129, 64, 32, 16, 8,165, 54, 92,206, 37,195, 19, 8, 4, 2,129, 64, 32, 16, 74, 52, 89, 47,190, 2,
+112,228,158, 23, 53,114,160, 52, 43,115,191,201,232,131,147, 68,179,204,154, 66, 0, 98, 0, 74, 0, 37,117,105,118, 69,254,122,
+141,228,120, 18, 77,162, 73, 52,137, 38,209,252, 27, 53, 75,210, 62,137,127, 9,165,155,120,253,205, 32, 67, 95,137, 38,209, 36,
+154, 68,147,104, 18, 77,162,249,111, 39,188,144, 31,240, 60,255,207,201,209, 34, 16, 8, 4, 2,225,175,194,211,179,134, 18,120,
+150,215, 91, 34,114,175, 90, 62, 0, 96,200,124,144, 78,142, 30,161, 16, 94, 92,231,240,173,228,104, 9,105,129,120,146,220,197,
+243,129,194,205, 51,249, 63,126,112,169,160, 74,138,177,157,219, 84,222, 23, 92, 69,214,187, 52, 95,148,123, 7,253,234, 91,173,
+249, 83,133, 42,104, 44,252, 26,201,202, 82, 8,133,170,138,183, 50,176,201, 69,151,128, 58,239,252, 9,251, 40,169, 93,187,118,
+104,237,218,181, 67, 1, 72,222,134,160, 92, 21, 52,168,124,245,144,115,170,170, 13, 79, 43,124,106,244,123,219, 5, 86,250, 85,
+247, 84, 6, 54,222,173,244,175,159,163,244,171,175, 81,150,111,124,214,197,171, 86,213,146,190, 23,216,107,118,205,105, 91,239,
+109, 13,236, 53,187,102, 97,127,247, 8, 91,230,242,227,182, 71,179, 60,123,254, 79, 73,234,149, 55, 35,176,229, 32,119,191,182,
+ 19, 60, 75,251,189,128,160,144,200, 74,117, 90,103,248,215,104,126,207,217,239,148, 15, 14,189, 89,177,118,203,244,242, 65,161,
+215,201,145,119, 14,169,119,149, 80,169, 71,133,195, 18,143, 10, 71, 36,229,170,180, 47,171,158,159,159,159,172,102,205,154, 97,
+ 33, 33, 33,163, 58,118,236,248, 69,195,134, 13,195, 43, 86,172,216, 5,127,227, 96, 44,185, 42,232, 27,179,144,202, 52, 11,169,
+ 76,185, 42,232,155,146,235,215,224,153, 20,205,166, 80, 52,155,162, 80, 5,207,252,167,156, 43,137, 79, 80, 69,185, 42,104,145,
+139,111,237,171, 50, 85,141,158,165,253,190,135,135, 71, 23,111,111,239,119, 11,126, 60, 60, 60, 12, 35, 15, 31, 0, 0, 32, 0,
+ 73, 68, 65, 84,186,144, 59,224,141,121, 22,197,122,229,247, 55,186,208, 25,161, 68,126, 97,240,199,159,214,157, 59,117,178,116,
+201,186,125, 88, 50,107,226,125,179, 62,183,246, 63,113,207,189,170, 52,187,206,208, 76,249, 23,223, 99, 57, 54, 41, 51,246,106,
+147,183,161, 31, 92, 73, 54,252,187,175,134,124, 57,232,253, 78, 21, 59,245,248,156,138,138, 53,238,119,222,162,161,193,142,221,
+123, 3,207,157, 57,189,108,221,186,213,211,213,246,224, 69, 66,137, 96,133, 38, 49, 50,183, 52,101,112,245,174, 90, 69,160,240,
+ 58,215,170,247,167,190, 55, 78,110,222,192, 90,184,206,134,204, 23, 86,255,126,115,188,171, 85,171,214,148, 97, 24,207,177, 99,
+199,138, 0, 96,241,226,197,213, 89,150,205,122,242,228,201, 53,188,193,228,167, 14,131, 25, 60,100,233,252,105, 27,223,121,167,
+ 27, 82, 50,245,152,183,104,101,187, 99,135,118,244,215,167, 63,218,245, 54,206,137,187,123,101, 87,136, 92,238,126,254,213,116,
+ 85, 88,187,166,140,206,100,199,177,115,183, 90,111, 94, 57,253, 42, 80,171,153, 54,243, 65,145,115,138,113,134,188, 41, 62, 74,
+ 62,140, 51,228, 1,192,160,215, 30,246, 74, 91, 39,111, 25, 27,230, 39, 17,220,202, 2, 74, 92,244,209,189, 82,203,227, 66,137,
+164, 34, 77,211,160, 41,128,166, 41, 48, 20,229, 88, 39,212,106, 76, 72,126,120,190,235, 63,225, 62,113,169,208, 44, 13,140,192,
+147,166,158,151,143,162,243, 95,121, 94,147,246,232,130,231, 91,248, 55,110,117,171,187,215,105, 89, 93,191,254,108,108,182, 66,
+208,230,139,195, 20, 79,255,244,244,252,162,219, 78, 25, 0,169,212,227,224,193,131,222, 97, 97, 97,110,170, 58,189,207, 58,243,
+ 29, 49,163,171,125,232,208, 1, 81, 88, 88,215, 82, 92,159, 65,157, 65,211,155, 40, 64,200,113,252, 98,134,227,119,232,178,162,
+159, 0,165, 91,125, 74,166, 10, 30, 78,131,119,186,158,225, 64, 93, 55,102, 68,173,123,211,131, 43,144,184,118, 20,138, 68, 95,
+ 84, 9,170,215, 40, 57,254,241,117,189, 78,187,200,110,206, 59, 91,106, 33,155,125,210,201,243, 55,222, 17, 8,133, 84, 88,199,
+230,140, 25, 56, 93,150,147,238,227,227,243,238,242,229,203,171,134,134,134, 2, 0,236,118,187,235,206,157, 59,125,103,204,152,
+161,136,142,142,126,211,133, 83, 3,188,189,189, 43,136,197,226, 0, 0,176, 88, 44,201,106,181,250, 41,128, 18, 27,254, 10,159,
+170, 94,224, 49,253,252,185,115, 2, 0,104,221,186,205,204, 10,173, 62,243, 96, 68, 74, 99,161,135,195,162, 85,228, 62, 57, 61,
+254,242,149, 75, 20, 0,132, 52, 15,157, 44,247,170,181,226,239,140,108, 73, 85,193,205,105,224,203,144,214,157,250, 14, 24, 56,
+132,174, 83,163, 2,186,116,238,240,181, 17, 56, 88,170,107, 70, 32,144, 93,189,122,181, 26, 77,211,140,221,110, 55,133,132,132,
+ 60, 45, 75,185,252,131, 66,255,160, 64, 7, 90,237,150, 53,234,152,235, 51,129,215, 22,142, 97,220, 2, 27,125, 7, 70, 48,146,
+227,184, 68,237,211,235, 45,254,133, 17,173,215,143,115,105,149,104,129,248,139, 65, 31,125, 82,119,252,132,111,165,159, 47,137,
+192,225,149,147, 51,255,169, 38, 11, 0, 24,154, 41,127,252,196,113,149, 92,204, 0, 0,116, 38, 59,222, 9, 11, 43,249,137, 80,
+169,217, 25,154,162,130, 11, 22,180, 97,237, 86,169, 64, 40, 54, 81, 14,131, 4, 10,128,151,127,165, 8, 31,251, 5,249,160,247,
+ 59, 85,220,180,237,247,164,167, 73, 89,165,174,212, 40, 70,132,144, 54, 93,208,169,115, 87,183,171, 87,254,152,190,250,231, 85,
+223,216,173,182, 85,156,141, 91,100,202,126,156, 82, 98,101,238, 91,163,177, 88,233,117,172,239,168, 25,158, 38,186, 28,126,152,
+181,212,235,220,209, 45,103,147, 19, 27,112, 9, 9,137, 38,158,162,238,231,100,167,126,161, 79,123, 18,229,236, 33, 83, 42,149,
+ 85,149, 74,101,131,250,245,235, 75, 39, 78,156, 40,108,215,174,221,115,203, 30, 30, 46, 58,115,230,140,223,130, 5, 11,186,221,
+185,115,199,164,211,233,110,235,116,186, 24,148, 34,209,222,215,215,251,179,247,250,244, 68,135,190,159,130,229, 40,132,127, 50,
+ 30,199,143,238, 25, 13,224,173, 24, 45,155,220,117,198,200, 81, 19,189, 67,154, 54,100,166,111,137,130, 76, 44, 64,215, 38,193,
+212, 71, 99,167,184,175, 91, 54,125, 45, 50,209,182,176, 72, 22,103,200,155, 82,215,203, 50,176, 87,104, 21, 28,216,106, 25,136,
+142, 95,129,150,187,205, 76, 60,240,237, 67, 0,168, 26, 54,214, 69,194,170,151,251,187, 51, 42, 9,171, 94, 94, 53,108,236,201,
+152, 99,203,181,197,149, 69, 40,145, 84,220,186,101, 75, 13, 15, 23, 17, 4, 52, 5,134,161, 32, 96,104,152, 44, 44,250,191, 63,
+240,173, 93,230, 50, 85,141,110, 52,240,145,227,129,141, 95,141, 25,143,142,148,230,156, 80,140,200,243,208,129,189, 2,149,155,
+ 4, 12, 67,129,161, 1,134,166, 16,159,110,196,240,225, 31,185,149,213,176,191,211, 82,213,116,210,128,224,174, 33,117,203,213,
+223,126,137,114, 11,121,103,128,103,166, 73, 62,108,219,254,211, 3,249,214,227,175,240, 60, 55, 63,233,194,210, 19,197,137,152,
+205,230,244,174, 97,239,184, 82, 2,133,252,228,190, 13,109, 4, 52, 5, 27,203,195,206,242, 96,243,215, 70,165,242, 91, 48, 52,
+ 77,129,231,120,140, 28, 57, 28, 93,195,222, 49,112,118, 46,201,249, 74,142,222,116,236,228, 69,111,179,141,195,130,229,235,166,
+235,243,212,211, 99, 31,122,198,235,242, 50,199, 27, 51, 30, 57,189, 14, 6, 13,190, 73, 98,204,189, 81, 91, 14, 93, 70,221,218,
+181,192,114,142,114, 6,151, 87, 96,203,225,203,168, 25, 92,211, 81,110,142, 71, 80,160, 18, 77,155, 52, 5,128, 55, 50, 90, 2,
+137,203, 15,109,187, 15,153,214,163,255,199, 80,121,123,131,230,109, 61, 78, 30,222,210,227,215,159,230, 79,178,155, 52, 11, 74,
+ 37,198,179,207,158, 11, 60,199,149, 57,234,228,239,239,239,221,180,233,243,233, 24,237,118, 59, 42, 87,174,140,228,228,228,224,
+ 55,105,167,249,249,249,117,255,241,199, 31, 85,221,186,117, 19,250,250,250, 2, 0,210,210,210, 2,142, 29, 59,214,232,199, 31,
+127,204, 72, 77, 77, 61,140, 98,102,244, 97,109,180,136, 22,128,145, 74,229,142,125, 4, 69, 79,252,236,195,250, 62,126,254,230,
+194, 62,175, 86,167,137,191,250,244, 52, 37, 16,136,242, 63, 15,154,231, 57,170,152, 40, 81, 39,161, 80, 88,104, 15,133,149,113,
+ 13,225,133,110, 35,104,134,118, 92,172,118,155, 58,231,233,205, 90,165,136,196,213, 17,138, 69,171,222, 27,240,113,139,126,125,
+123,195,207,219, 13, 39, 47,220,193,232,207,190,180,217,173,182, 69,111, 84,121, 48,140, 32, 35, 35, 35,222,195,195,195,183,236,
+207, 91,170,202,239,199,143,170, 78,158,138,152,188,112,201,178, 49, 86,139,221,198,241,252,179,117,140,101, 50,137,176,115,143,
+247, 93, 85,213, 66,164,203,126, 28, 33,252, 23, 70,180, 86,191, 21,163, 37,150,185,188,255,253, 87, 99,165, 51, 54, 95,198,225,
+149,163, 51, 13,154, 76,239,103, 45, 5, 87,247,155,122, 77,110,163, 55, 41,161,210, 59, 40,148, 98, 4,163, 40,134, 81, 80, 52,
+ 37,230, 88, 46,209,110,177,204, 52,102, 61, 74, 45,235,222,115, 28,143,221,127,100,148,206, 0,241,168,190,105,251, 94,149,143,
+187, 4, 38, 43,139, 1,131,134, 96,227,198,141, 46,222,110, 98,152, 44,118,204, 95,184, 80,171,139, 63,172,138, 79,204, 73,238,
+212,243,203, 19, 49,113, 25,247,158,166,154,118,148,182,108,102, 43, 11,141,193, 14,131,153, 70,141, 58, 77, 49,127, 81, 77,233,
+211,132,216, 47, 55,252,186,118,220,253,251,204, 70,142,161,167,153, 82, 31, 36, 22,122,211,249,214,237,234,234,225,185,181,207,
+168, 89,238,143, 50, 4,224, 97,197, 19, 87, 41,222, 31, 54,206,181,170,175, 12, 10, 41,227, 30,155,144,236, 55,113,210,164, 11,
+ 49, 44,223, 76,163,142,137, 45,169, 60,149, 42, 85,234,219,163, 71, 15,249,132, 9, 19,132,129,129,129,248,117,203,206,138,173,
+187,246,239,153,146,154, 30,200,243, 60,124, 84,170,196,145, 31,245, 63,120,228,200,145,132,196,196, 68,225,188,121,243,154,239,
+221,187,183,118, 90, 90,154,211, 45, 83,150,231, 97, 50,179, 96,243, 31,144,234, 60,115,169,253,105, 64, 64,128, 36, 57, 57,217,
+252, 66,148,129,122, 30, 40,164,186,118,108,219, 92,240,203,209, 56,232, 76, 44, 20, 82, 33,226,210, 13,104,210,176, 30,181,134,
+181, 55, 40, 76,112,248,251,221,167,248, 40,249,176, 94,161, 85,160,242,144, 99,253,138, 89, 56,112, 41, 54, 44, 93, 71, 97, 57,
+207,140,242,147, 8, 58, 43,184,212,229,237,154, 84,243,237,208,184, 34,174, 53,169,230,123,238, 70, 84,180,172,255,194,177,201,
+ 58,225,201,156, 99,227,180,133, 87, 60, 52,202,185,136,176,238,120, 2,228, 82, 1, 20, 82, 1, 20, 18,199, 43, 77, 83,101,107,
+213,250,213, 10,100, 56,118, 56,195, 8,134, 15,124,191,191,255,224,129,253,121, 48, 52,118,238, 62,216,123,243,230, 77,169, 54,
+171,101, 45, 75, 51,235,138,186,126, 94, 58,160, 52,160,114, 19, 99,210,218,123,112,149, 9,225, 34, 23,194, 85, 46, 68,135,250,
+222, 96,222,124, 18, 24,143,209,189,171,118, 27,221,167, 82,251,224, 10,202, 26,183,159,228,221, 31, 62,243,250,146, 51,185,237,
+191, 88,177,184,182,167, 46,215, 34,248, 97,226, 72, 65, 82, 74, 74,251,157, 7,207,118, 96, 45, 31, 71,217,173,250,111,213,119,
+118, 22, 26, 21, 78,138,186,212, 40, 32,164,159,212,170,179,221,189, 29,149, 84, 45,199, 44, 65,100,188, 6, 10,169, 0,202,130,
+ 99, 43, 21, 64, 33, 21, 66, 41, 21, 32, 37, 41, 14,217,122,230, 66,178, 39,221, 30,103, 47,217, 75, 83,112,147,149,197,173, 88,
+ 29, 42, 5, 55,132,159,159, 63, 44,221, 62,168,116, 37, 98,247,254,171,103,247,205, 49,164, 61,252,214, 89,157, 45,135, 46, 99,
+242,248, 81, 55, 40,224,102,254, 67,186,209, 15,115, 87, 54,158, 62,249,211,151,222,155, 56,109, 89,227, 55,143,100,185, 76,233,
+208,231,147,105,173, 59,247,129, 54, 59, 29,127,156,216,129,174, 61,222,195, 7, 31,127, 14,119,119,175,249,139,102,126,117,219,
+110,214, 68,188, 86,231,250,214,108, 85,175,110,173,205, 1,254,254,129, 28,231, 88,229,131,231, 1,157, 54, 15, 95,125, 49, 18,
+ 28,207,163, 65,163,102, 29,164,173, 59,243,124,254,106, 32,153, 89,153,250,168,135,247, 59,153, 50,162,174, 56,125, 44, 77, 38,
+155, 90,173,198,173, 91,183, 16, 29, 29,141,200,200, 72,100,101,101,193,205,205, 77,167,215,235, 75, 21,188,175, 95,191,254,224,
+136,136, 8,169,135,135,199,179, 55, 45, 22, 11, 92, 92, 92, 48,120,240, 96, 97,151, 46, 93, 2,186,119,239, 62,244,222,189,123,
+ 91, 0,104, 10, 45, 79,246,227, 20, 23,159,224,159,219,182,107, 59, 6, 0,100,174,126,177,203,127, 61, 24, 89,108,131,214,205,
+191, 98,139, 22, 45,171,129,231, 65,129, 95,106,200,138, 78, 43, 38, 74,164,184,124,249,114, 85,134, 97, 4,207,159, 65, 28,126,
+ 90,191,189,230,239,231,239,246,157, 59,127,129,212, 85, 33,129, 58,207,130, 17, 31,244,113,250, 25, 44,243, 9,238,214,162, 69,
+155,253,211,167,125, 47, 80, 42, 20, 56,113, 37, 6, 99,191,152,100, 74,141,191,183,128,231,132, 43, 13,234,232,140, 50, 62, 42,
+223,202,240,184, 26,229,149,112,233,213, 85, 58,250,195, 94, 82,139,141, 69,174,222, 6,179,149, 5,203,241,200,211,219,112,255,
+169, 22, 94,174,165, 95,202,141,231,249,166, 0,188, 1,168, 41,138,186,246,226,118, 65,131,174,192, 27,191,178,157,153,255,124,
+240, 4, 96,129, 99,164,254,179,203, 39,127,187,168,247, 11,190,127, 31, 64,173,124, 77, 22,192, 85,138,162,114,138, 48, 91,175,
+ 69,185, 4,135, 14, 29,226,123,244,232,241,172,198,127,117,251, 85, 36, 34,161,191,194,205, 27, 60,255, 0, 47, 46, 96,172,242,
+ 13,200, 90,176,104, 73,185,207, 62, 25,149,160,201,205,174,152,255,246, 73,103, 30, 22, 2,138, 89,212,182,101, 72,151, 49,159,
+124,130,224,170,229, 69, 44,203,242,247,162, 99,109, 27,214,173, 31,118,238,146,120,137, 38,233,222,148, 23, 66,144,165, 26,246,
+201,114,108,210,171, 17, 44,150, 99, 95,109,221,190,166, 73, 81,128,187, 82,140,159,143,198,129,231, 1, 10, 60,220, 20, 66,108,
+ 59,147,132,216, 27,123, 52, 61, 26,104,244,131,231, 78,237,208,190,219,184,136,251, 79, 76, 59, 50, 50, 76,199, 1,164, 21,167,
+ 89,120,133,206,193,108,101, 97,179,219,177,235,224, 65,132,117,104,142, 22, 45,154,163, 77,235, 22,130,235, 55,238,124,252,201,
+152,145,129,120, 62,186,227,153,166,212,167,122, 83,165,155,215,142,190, 99,230,185,220, 77,178, 67,192, 0, 85,124,101, 40,231,
+ 34,130,197, 78, 33, 94,109,205,191,115,220, 49,118,226,180,114,147,191, 28,115, 68,163, 22,215, 5, 30, 88,139,219,119,131,193,
+ 32, 30, 50,100,136,208,102,179, 89, 7,143,248,188, 75, 90,154,186,247, 79, 75,255, 39, 81,169,124, 96, 48,217,113, 35,242,113,
+173,233,211,167, 85, 57,120,236,204,190,169,147, 70,239, 15, 11, 11,115,219,190,125, 59, 87,210,241,124,169,133,152,158,185, 98,
+253,230, 93, 27, 23, 47,152,141,168,132, 28,172,251,101, 37,120,214,254,115, 9,135,234, 69, 77,126,200,144, 33,178,125,251,246,
+149, 79, 74, 74,210, 24, 12, 6,245, 75,241, 8,154, 18,164,103, 27,224,229, 34,134, 72, 64,195,199, 67, 10,149,155, 4, 66, 6,
+160, 41,138, 45, 76,115,221,142,195, 51, 57, 67, 30, 14,108,181, 12, 92,191, 98, 22, 62,254,236, 59,220,203, 20, 31,163,229,110,
+ 51, 63, 29,216,119,178,183,140, 13,243,119,167, 85, 29, 26, 87,130, 66, 42,194, 55,227,134,160,217,141,120, 85,114, 46,247,157,
+218,200, 52,156,118,236,217, 98,221, 39, 95, 14,142, 56, 34, 88, 46,114, 33,142,109,158,159,161,207, 83,231, 21,116,201, 89,204,
+166, 4, 39, 47,227,147,133,180,108, 39, 55,172, 87,103,214,152,240,225,116,203,208,102, 60, 77, 11,145,169,181, 80, 60, 15,124,
+ 49,118, 52, 62, 29, 61,210, 55, 49, 37,227,135,149, 43,127,158, 18,241, 59, 63, 67,175,126, 56,181, 56, 77,154,114, 68,129,148,
+ 82, 1,148, 50,135,113, 81, 74, 5, 48, 89, 88, 80, 20, 24,247, 10,141,242, 40, 71, 36, 55, 37, 59,161,200, 22,248, 75,154,229,
+ 42,212, 57,245,123,172, 75,205,156, 29, 57,151,226, 82, 34,103,222,184,147,126, 21, 64,118, 96, 27,247,161, 86, 59, 15,157,201,
+142,184,116, 3,236, 86,158,250,248,157,138,168,220,143, 10,158,189,254,230,198,163,119,224,250, 66,165,255,146,102,242,229, 93,
+ 38,207,186,125, 6, 44, 94,246,203,181, 5,179,190, 99, 50,243, 44,224,120, 30, 82, 49, 3,153, 88,144,255,195,192,168,207,195,
+202, 85,107,210,236,160,250,226,236, 89,123,105,174, 79,112,252, 7,125,186,181,217, 70, 1, 98,138, 22, 37,249, 87,172, 84,177,
+ 99,207, 97,210,142,189,134,128,181, 91, 38,223, 56,207,159, 54,100, 68,157,114, 70,179,110,237, 90,160,128,155,250,140,232,209,
+ 0,160, 80, 5,253, 92, 51,184,102,227, 87,223,171, 94, 61,184,177, 51,231,253, 89,164, 84,234,242,153, 71, 57,239,239,130,235,
+ 52, 84,165,231,152, 41, 23,207,242,136,123,116, 11, 91, 87,253,176,137, 51, 89,166,157, 58,188, 99,214,146,117,123,223,239, 24,
+214, 7,235,127,250,223, 55, 89,169,207,140,214,201, 23,162, 85, 31,108, 88,187, 58, 80, 40,150,192,102,231, 96, 99,121,199,171,
+157, 69,118,118, 14,108,118, 14, 82,185, 11,236, 28, 5, 27,203,193,102,231, 96,182,216, 21,163,135,116,255,196, 4, 92, 41,172,
+156, 1, 53,219, 30, 23, 73, 36, 21,121, 56,214,174,229,121, 30,113,105, 70,218,207,207,111, 11, 0, 72, 36, 18, 72, 36, 18,112,
+ 28,135, 27, 81,234,207,188,130,131,198, 32,223,224,177, 86, 75, 66,110,252,197,174, 69,237,187,175,175,111,207, 87, 77,150,201,
+100,130, 78,167,195,249, 75,215,220,214,110,220, 21, 22,151,144, 84,149,227,221,204, 46,170,170, 93,181, 25, 49, 61,139, 58,158,
+218,244,168, 79, 92, 67, 70,210, 19, 62, 29, 90,125,217,134, 67, 87, 31, 31,159, 89,108,158, 86,229,142, 95, 91, 38,140,122,175,
+201,220,165,235, 30,229, 92,252,121,124, 73,231, 72, 32, 16, 8,213,106,245,179,251,123,249,154,173, 77,110, 70, 37,191,187,100,
+241, 18,233,141, 24, 45,238,198,165, 96,104,167, 10,142, 22,142, 19,231, 93,225, 83,213,171, 74,181,106, 91, 86, 46,157, 43,120,
+148, 98,194,138, 61, 87, 17,177,255,231,243,105, 25, 87,194,144,158,106,124,147, 58,228, 45, 24,173, 34, 53, 79,223,201,132,206,
+100,135,217, 98,135,141,227,161, 49,216,144,145,107,129,198, 96,133,206,104,199,208,206, 21, 10,253, 94, 9,126,196,155,162,168,
+ 67, 60,207,247,224,121,190, 19, 0,113,193,182,227,153, 77, 29,202, 55,100, 47,109, 79,158, 60,249,219, 57,115,230, 68, 22,124,
+182,224,253,130,207, 22,247,254, 11,223,247,252,230,155,111,234,206,157, 59,119,118,104,104,232,182, 63,254,248, 35, 22, 64,142,
+179,221,135,130, 23,119,230,208,161, 67, 37, 29,232,170, 86,155, 85,226, 42, 19,162, 74,229, 10,248,232,219,245, 94,191,205, 29,
+158, 33, 21, 11,152,163, 71,143,150,203,178, 40, 65,211,140,211, 77, 20,165,119,141, 22, 34,145,248,240,194,133, 11, 49,176,103,
+107,217,211, 76,155,238,206, 83, 99,186,222, 2,187,202, 59, 72, 60,115,246, 92,229,220,121,243, 63, 61,116,128,203,213,165,223,
+159, 95,120, 23, 95,147,235, 12,245, 66, 14, 22, 69,129,231,216,164,156,248,107, 77, 0,160, 44,185, 88, 58,147, 13, 76,126,110,
+ 13, 69, 1, 6,147, 29, 12, 67,101,228, 70,237,184, 63,120,198,204, 14,155,182,253,158,194,211,238, 90,189, 62, 78, 14,199,154,
+131,165,198,100, 97, 97,182,177,136,188,125, 3,109, 66,106,163, 69,147,154, 48,152, 88, 24,204,118, 84,174, 22, 12, 0, 94,133,
+158, 56,134,142,229, 89,155,137,231, 89,151, 30, 77,189,161,114, 23,195,207, 67, 2,137, 88, 0,155, 29, 48, 90, 56,152, 44, 44,
+226, 51,140,208, 26,101,168,215,182,127, 21, 79,191,235,230,180,120,217,190,236,167,215,251, 22,107, 78, 89, 22, 27,182,236,170,
+158,146,146,222,251,200,190,205, 18,181,198,134, 59,241,122,100,228,154, 1,198, 27, 63,206, 94, 33,249,122,124,248,187, 27,182,
+238, 78,232,216,186,121, 66,105,247,217,160,142,218,180, 99,231,174,159,123,244,120, 87, 22,121,229, 8, 30,221, 58, 53, 75,159,
+ 81,170,252, 44,186, 65,131, 6,246,240,240,112,237,236,217,179, 3, 15, 28, 56, 80, 89,173, 86,223, 2, 96,115,119,119,175, 25,
+ 84,189,226,237, 19,199,142, 6,116,127,183,191, 48, 41,211, 8, 55,185, 8, 21, 85,114, 92, 58,127,220, 38, 22, 11, 11,205, 55,
+201,239, 30, 28,132,142, 95,225,192,165,216,176,200, 44,233,153,145,195,135, 38,156, 56, 23,149,181,124,227,137,255, 5, 40,109,
+183,164,156,122,249,245, 38,213,124, 39,143, 29,130, 57,203, 54,225,236,141,168, 12, 61,237, 55, 43,213,108,255,189,232, 80, 58,
+ 32, 96, 40,184,200,132,208,107,212,121, 79,110, 30, 11,122, 75, 97,234,161, 39,246,109,162,179,181, 54, 36,102,154,168,148,108,
+ 45, 88,142,135,187, 92, 4, 59,199, 35, 55, 59,147,218,188,105, 35,174, 93,187, 68,131,161, 71, 0,152, 90,236, 1,165, 28, 93,
+133, 74,169,208, 17, 17,146, 57, 94,109, 44,135,224,234,213,176,122,249, 34, 87, 47,149, 15, 90,181,113, 62, 55,218,197,179, 98,
+131,109,191, 46,199,153, 63,110,182, 59,187,100, 69, 83,165,191,247, 50,138, 98, 23,128,135,201,108,101,145,151,155, 3,177, 37,
+ 17,205, 2,212, 40, 39,103, 17,175,241,195,189,180, 71,202,146, 42,252,172,123,123,111, 81,252,187, 83,118, 29,140,152,211,181,
+115, 59,220,139,215, 64, 38, 22, 64, 42,102, 32, 21, 51, 16, 82, 44, 22,173,250,217,150,147,167,237,145, 21,185, 63,243, 13,174,
+207,147,249,173, 95,135,185, 99,117,222,155,150, 77,249,109,228, 87,243,186,134,245, 25, 70,221,187,118,250, 91, 3,112,202,185,
+134, 30,239,212,123, 28,231,252, 51, 78,234,226,181,116,220,215, 51,199,117,233,209, 31, 12, 35,128,205,102,195,238,237,155,240,
+235,138, 31, 31, 90,116, 89,195, 0,112,150, 12, 38,124,199,166, 85,253,191,250, 97, 17, 85,183, 65,179,230,167, 83, 95, 95,142,
+150, 99,168, 95, 62, 28, 62,106,128,143,143,143,203,243,136, 22,143,160,224,218,232,214,235, 61, 28,223,191, 23,247, 35,239,128,
+227, 29,134,137,227,120,228,230,100,165,217,109,150, 13, 69,246,120, 72,165, 21,215,255,186,177, 6, 77, 83,176,218, 56, 88,236,
+ 28,198,127,242,145,101,244, 23,223,182,234,214,165,109,164,152,129, 38,254,105,170,251,165,155, 15,234,113, 66,101,224,240,137,
+139, 68, 38, 51,139, 60,131, 13, 71,214, 21,237,117,164, 30, 21, 66, 43, 53,238, 54,124,244,247,171, 37, 18,134,182,214, 9, 10,
+140,109, 27, 82, 39,177,130,191,151,118,250,220, 21,205, 46, 92,185,217,237,253,193,195,165, 67,107, 54,166,252, 61,101, 46, 31,
+ 13,238, 83,159,181, 91, 63, 52,100, 39, 22, 57,191,160, 80,238,145, 91,161,114,117,195,243,136, 81,208, 30,138, 71,149,151,156,
+ 7,133, 88, 99,122,116, 95, 0,240,243,175, 96, 18, 74, 92,181,165,136,192,240, 0,176,108,205,214, 38,183,163, 83, 70, 46, 94,
+188, 68,126, 35, 70,139, 91, 49,121,144,136,104, 88,109, 28, 40, 39,131,218, 28,207,140,250,238,155,201,174, 57,122, 22,103,238,
+168, 17,121,253, 52,111,209,153, 6,203,237,174,125,161,114,249, 16, 64, 53, 0, 79, 40,138,255, 69,159,238,187, 31, 56,107, 47,
+237,117,207,113,142,246,178,171,119,213, 42,172, 64,210, 77, 40, 86,132, 82, 20, 95,135,226,225, 1,240,201,217,249,207, 84,103,
+157,154, 62, 61, 26,243,102,255,128,165,107,247, 34, 37,203, 4, 55, 54, 17,251,215,205,196,132, 57, 91, 96, 52, 23,157,213, 80,
+146, 31, 41,204, 24,189,106,184, 10,126, 47,248,220,156, 57,115,122,188,114,110,122, 20,113,206, 94,251, 92,193,247,231,206,157,
+ 59,251,133,191, 27,156, 53, 89,207,140, 86,193, 78,149, 96,182,130,188,253, 42,254,177,127,223, 30,143, 28,157, 21, 82, 17,131,
+ 10,149,171, 99,234,242,253,222,239, 52,241, 66,166,213, 13, 91, 87, 47,200, 54, 25,180,219,157,170, 44, 84,193,205,101, 74,197,
+145, 61,187,247,162,106, 5,149,104,243,249,236,184,155,177,198,103,161, 94,141, 58, 65, 92,217,213, 32,232,219,167,143,252, 84,
+196,233, 47,116, 64,161, 70,139,161,152,242,107, 54,238, 86,185,200,132,160, 40, 64,107,180, 99,228,135,239,149,253, 49,198,115,
+204,240, 97, 67, 65,229,155, 44, 77, 86, 26,190,253,250, 19,147,194,246,232,254,211,248,167,201,157,122, 78, 56,165,209, 81,166,
+ 1, 67, 62,185,118, 63,122, 78,142,193,240,102,139,252,152, 45, 44,204, 86, 14, 49, 49, 79, 48,126,104,103, 8, 25, 26, 12,195,
+ 57,146,165,237, 69, 95,140,186,148,232,108,248,138,250,109, 90,248,217, 26,127, 31,149,167, 82, 33,227,149,114, 9, 85,167,102,
+ 13, 81, 72, 72, 11,113,229,224,250,162,243, 15,140,120,170, 54, 34, 54, 37, 15, 18,159,134,130,129, 29,222,193,166, 37, 19,219,
+101, 63,189, 78,227,245, 36,197,151,248,253,204,229,158,107, 87, 45,150,164,231, 90,241,240,169, 14,105, 57, 38,164,230,152,145,
+150,109,130, 82, 38, 68,155, 94,225,146,195,251,127,233,217,177,117,243,101,111,178,223,177,177,113,135,227,147, 83,251,215,111,
+212, 12,155,126,251,181,181,187,123,101,215,220,220, 56,141,179,103,103,230,204,153,226,185,115,231, 10,150, 47, 95,174, 9, 9,
+ 9,241,253,230,155,111,186,102,100,100, 92,173, 84,169, 82,240,241, 61, 27, 34, 26,182,233,221, 20,156,213,187,117,219,246, 34,
+ 9, 39,192,137, 67,135,172, 59,182,111,206, 50, 26,181,163,139, 53, 28,114,183,153,233, 58, 10,222, 1, 1,145, 74, 49,219, 89,
+ 64,231, 70,231, 28, 27,183, 49, 7,216, 83, 53,108,236,201,211,215,163,162,155,220,136, 87, 69,220,120,156,145,109,176, 6,197,
+ 28,155, 80,108,197,203, 80, 20,132, 12, 13, 23,153, 0,116,126,173,170,244,175,255, 24, 20,229, 93, 16, 57,165, 64,229,191, 2,
+ 20,133,148,156,167,183,156,200,217,160,120,142, 7,162,146,244,208,153, 28,161,249,242, 94,114,168,211,147,240,211,178, 13,184,
+121,253, 26,186,188,211, 11, 43,215,108,198,200, 15,251,155, 74,106,253,208,116,126, 68,235,133,104,150, 82, 38, 0, 64, 33, 87,
+111,195,238, 11,137,168, 86,133,118,250,193, 0, 0, 46, 74, 57,242,180, 70,208, 34, 23, 60,185,113, 68,126,244,244,149,111,166,
+204, 88, 60, 41, 39,245,206,211,199,119,207, 35,216, 43, 15, 85, 2,172,136, 76,115,197,245,172,202, 8,174, 94, 21,180,232,154,
+ 83,218,153,145,245,230,237,167,119,247,104,210,176,118,104, 69,149, 59,140, 22, 54, 63,170,197,224,215,245, 27, 17, 31,151, 52,
+ 60,235,254,254,155,111,195,209,234, 51, 98,213, 18, 85,245, 79,239, 94, 57, 21,219,103,240,167,240, 11,168,208, 32,247,233, 45,
+167,211, 22,156,121,143,117,210,104,137,228,238,223,140,255,238,127,227,186,116,239,135,203,231, 79,225, 86,228, 19, 52,111,222,
+ 20,239,188, 59, 16, 90, 77,118,205,157, 27,151,116,182, 27,180,199, 5, 18,251,184,102, 45, 58, 80, 28,203,226,209,195,123, 79,
+ 10,211, 50,166, 70,221,186,148, 26,229,250, 82,247,148, 87,205, 6, 74,183,114,183,204, 86, 22,201,201, 73,184,248,199,153, 70,
+198,212,168, 91,165, 57, 94, 18, 17,131, 19, 55, 51, 96,181,113,176,218, 57,180,105,219,217, 34,162,205,173,103, 45, 94, 31,146,
+154,146, 74, 43, 92,189,184,114, 1,181, 68,126, 18,171,249,118, 76,158,200,106,227, 80,213, 95, 81,172,166,183,127,245,217, 19,
+ 39,142,175,197,136,100,208,234,205,150,212,148,100,223,213, 91, 79,235, 30, 60,188, 27, 80, 94,229,230,250,191, 37,191,136, 52,
+ 38, 10, 25,121,102,100,107, 53,212,224, 81, 95,249,175, 93, 49,231,131,226,140, 86, 33,233, 34, 85, 14,159, 56, 95,211,195, 69,
+ 68,233, 76,118, 46, 75, 99,101, 7,191, 91,182, 65,151,249, 38, 43,124,241,162, 37,242,155, 49, 90,220,142,201,131, 84,196, 64,
+ 44,162, 97,177,113,112,242,118,162,125, 85,190,163, 91, 52,169,135,227,183, 50,193, 48, 52,140,218, 28,131, 0, 89,209, 77,218,
+117,145, 55,110, 22,130,246,237,218,226,113,116, 84,133, 67, 7,118,119,188,116,241,108,154,221, 26,244,153, 94, 29,189,183, 84,
+129, 5,131,129,177,137,125, 63,242, 11,168,212,178,239,192,143,220, 42, 86, 8,160, 84, 94,158,176,243, 2,132,127,248,158,211,
+119,190,195,152, 3,115,103,124, 3,179,217, 2,111,119, 49,120, 30, 88,191,108, 42, 44, 22, 11,252, 61, 37,200,211, 23,189,154,
+ 92, 73,126,164,168, 40, 84,169,114, 79, 94, 48, 99,197,189, 79, 81,212,161,201,147, 39,127, 11,128,159, 60,121,242,183, 5,219,
+115,230,204, 49, 2, 72, 41,161,235,112,245, 75, 70,171, 96,231,138,190,187, 69,193, 94,158,126,151, 78, 28, 63,230,182,239, 54,
+135,203,123,175,163,123,115, 63,136, 4, 52,228,110,254,184, 29,151,135,195,123, 86,229,238,223,246, 75,178,217,108,158, 95,114,
+ 95,115,245, 38, 74,185,226,248,111,155,182,115, 94,158,158,244, 79, 39,212, 49, 89, 90,251,179, 46,173,232, 43, 7,184,235,199,
+ 87,251,241,160,142, 73,165,210,234, 22,139,197,163,164, 19,187,254, 68, 66,126, 18, 47,245, 54,234, 86, 80, 12,195,110,218,188,
+ 9, 94,174, 98,152,109, 28, 38, 79,250,220, 56,180,139, 50,119,240,251, 3, 59,180,239, 54, 46, 66,168,168,113,170, 69,163, 26,
+124,195,134, 13,115, 25,134,113, 42,149, 66,165, 82, 77,165,105,122,144, 88, 44,118,177, 88, 44, 90, 11,103,146,235, 77, 22,152,
+172,128,193, 96,130, 80,228, 48,139, 66,134,130,209,100,129,193,104, 41,254,198, 72,187,119, 1, 64,144,230,133,152,210,169, 7,
+ 85,197, 91,118,238,255,188,223,251, 3,166, 4, 52,120, 87, 25,151,154, 7, 17,101, 69,211, 90,126, 56,125,108, 47,159, 20, 31,
+ 61,190, 36,147, 5, 0, 25,234,236, 64,111,111, 31,220,140,213, 33, 57,203,136,180,124,147,149,154, 99,134,214,168, 69,253,138,
+254,200,205,203, 11,124,227,227, 11,236, 61,126,252,120,255,110,189, 7, 96,220,164,105,173,214,173, 90,112, 71, 33, 22,126,172,
+ 79,127,116,198, 25,163,117,239,222,189,236,175,191,254,186,218,154, 53,107,232, 15, 62,248,192, 88,175, 94, 61,233,144, 33, 67,
+ 90,109,220,184, 81, 42,151, 75,141,183,207, 31,152, 50, 98,236,228,222,171,151,206,108,144,147,147, 67,217,109,182,163,214,156,
+156,201,186, 18,204, 92,226,129,111, 31,254, 24, 99, 29,214,185,181,247,129,114,114,186,142,132,183, 12, 68,173,169,219,241, 96,
+170, 53,230,216,114,173,172,255,194,177, 41,185,220,119, 38, 90, 53,171, 36,147, 5, 0, 52, 67,193, 98,103,225, 34, 19,130,166,
+233, 2, 19,239,247,235,246,163,114,111, 55, 49,132, 12, 13, 1, 67, 65, 99,176, 33, 83, 99,197,167, 31, 57, 59, 67, 8,207,217,
+ 89, 30, 70,139, 29,134,252,214,161, 86,147,137,111, 38,125,137,119,122,246,193,136,209, 95, 34,199, 8, 92,143,213,194,106,179,
+149,120, 83,208, 20, 13,131,217,142,143,187, 84, 68,182,206, 10,189,209, 14,139,157,131, 92, 44,128, 80, 64, 67, 33, 21,192, 85,
+ 46, 4,120, 94, 84, 80,153, 8,133, 66,147,205,102,219, 84, 76,139, 30,149, 3,125, 96,180,209,104, 54, 96, 1, 58,133, 6, 33,
+242,194,110,193,217,203,119,171,124, 49,233, 59,124, 62,178, 39,118, 61,172,134,114,170,138, 80, 42,100,176,241, 52, 0,222,201,
+132,189,169, 28,109,237, 51,232,231, 53,235,163,166,255, 48, 89,154,171,167, 32, 17, 49,136, 56,117, 18,151,174, 92, 95,154,121,
+127,255, 38,188, 69,132, 60,237,227,234,234, 10,169,152,129,197,106,182, 56,159,186,192,131, 7, 26, 41, 84, 65, 63,231,183,248,
+ 27,177, 28, 10,121,175,100,163, 37,144,186, 78,254,108,210,244,217, 93,186,247,195,137, 67,187,176,115,215,118, 54, 52,108, 56,
+179,249,215, 85,104,213,169, 23, 90,117, 25,128,163,123, 55,126,169,231,168,218,225,227,166,204,104,211,161, 27, 78, 28,222,133,
+244,180,164,133,206,150,151, 17, 82,227, 58,116,238, 9,147,133, 69,235,142, 61,112,236,224,222,177,200, 31,100,225,252, 67,236,
+149,250, 25,180,253,203,241,227,132, 25,185, 22,161, 90, 99, 65,146,218,128,184,116, 3,246,111, 91,199, 59, 95, 95, 88,154,182,
+169, 95, 94, 24, 62, 47, 34, 49,176,188,159, 89,104, 54,202,162,159,196,212, 28,241,209, 80, 97,149,234, 53,233,140, 60, 51,212,
+121,102,100,230,153,161, 51,217, 81,189,124, 13,218,102,167, 66, 75,123,158,189,220,196,194,149, 7, 99,225,170, 16,162, 69,205,
+ 55, 31,104,203,113,220,115,147,181,216, 97,178,238,196,230, 65, 34, 98, 32, 17,209,144,136, 24,216, 89,222,169,134,139, 76, 21,
+212,237,211,207, 62,241,183,216,129,172, 60, 11, 4, 12, 5,149,151,135,162,105,131, 65, 88,191, 96, 44, 0, 96,228,215, 63, 97,
+196,199, 67, 80,171, 78, 61,228,230,228,248, 14,234,215,109, 49,128,189,206,150,245,200,137, 51, 21, 78,156,187,249,245,167, 19,
+127, 84,190,223,179, 61,115, 43, 38, 15,169,217,102, 60,137,214,150, 42,242, 6, 0,118,150, 3, 15, 30, 27,182, 31,130, 76, 44,
+128, 58,207, 10,158,231, 49,115,249, 14,184,200,132, 72,205,113,116,247, 23, 71,177,126,164,152,136, 84, 41,162,141, 61,224,200,
+229,242,118, 54,162, 53,103,206,156,200, 57,115,230, 20, 26, 33,123,193,100,189,217,162,210, 34,145,162,166,171,167,215,229, 19,
+199,142,184,236,189,205,226,244,237, 44,244,107, 93, 30,186,236,167,152, 63,233,253,108, 10,188,133,102,152, 92,179,209,176,199,
+104,212,207, 2, 96, 45,246,162,241, 13,106,164,144, 42, 79,174, 92,253,155,221, 75,165,194,166,243,217, 73, 57,122,187,237,121,
+183,149,141,186,126,124,117, 21, 59,103, 11, 51,165, 63,190, 86, 82, 75,156,227, 33,154,179,106, 63, 0, 30, 28,199,129,231, 56,
+ 8,165, 74,133, 87,213,144,244,252,138, 78, 42,160, 41,211,139, 53, 0,207,217,147, 50, 99,139, 15,131, 82, 0,220,228, 66,108,
+ 63,155, 12, 0,233,140,246,198,131,193,239, 59,186, 11, 77, 22,169,166, 78,181,106,124,211,166, 77,115,101, 50,167,166,191, 98,
+124,124,124,174, 78,153, 50,165,230,136, 17, 35, 36, 98,177, 24,118,187,189,220, 47,171, 87,115,171,103,141, 68,223,177, 43, 33,
+ 18, 75, 96, 52, 89, 33, 20, 10,144,147,167, 67,174,198, 0,173,193, 86,250, 43, 40, 38,198,162, 6,230,237,219, 43,238,211, 85,
+ 89,191,153,152, 22,161,113,176, 31, 78, 31,223,199, 95, 62,182,126,164, 49, 35,250, 55, 39, 47, 68,232, 76, 54,164,100,153,144,
+156,101, 66, 90,142, 9,105,217,102,164,229,152, 64, 81, 20, 76, 22,123,153, 30, 92,250,140,168,157,155,126, 91,219,203,108,197,
+192, 54, 93,250,224,203, 31, 87, 86,220,244,243,220,147,177, 60,221,210,201, 68, 91, 54, 50, 50, 50,254,163,143, 62,106,176,117,
+235, 86,166,110,221,186,198, 7, 15, 30,200,243, 77,164, 85,169,148,203,214,173,152,115,188, 89,179,102,219,146,163, 31, 70,228,
+247,167,151, 88,177, 87,108, 59, 76, 34,179,222, 12,175,160,104,209,181,170,175, 28, 21, 20,218,174, 53,149,183,231,103,117,248,
+124,182, 58, 98,105, 70,170,217,254,187,218,200, 52, 76,214, 9,157,202,193,179,153, 77, 9,125,251, 13, 4, 67,209,176,154, 12,
+ 9, 5, 23,151,202, 77,140,169,155, 31, 66, 41, 21,194, 69, 38,128, 82, 38, 68,171,218,229, 80,138,250,140,183,177, 28, 12,102,
+ 22, 70,179, 29, 38,139, 29, 94,129, 30, 88,179,105, 39,158,102, 24,177,255, 90, 38,162, 18,180,168, 81, 94, 1,158, 47,185,154,
+228, 88,155,190,231,123, 31,184, 48, 52, 5,134,166,232,218, 53,131,144,173,179, 66, 36,160, 33,146,202,160,144, 8,224, 42, 19,
+ 66, 36, 18, 34, 35, 35, 3,102,179, 25, 21, 42, 84,144, 22,111, 5,121,184, 40,101,168, 81,197, 31, 86,155, 29, 71,206,221,199,
+172,241,125,209,185, 77, 19, 80, 66, 37, 30,154, 27,193,165,156, 11, 56,154,134,213,206,193, 98,101, 1,208,166,162,244, 2, 3,
+ 3, 59, 40, 20, 10,133,193, 96,208, 62,125,250,244, 76, 90,212,222,167, 44,211, 59,252,216,137,136, 77, 61,222,233,140,155,119,
+ 34,177,107,239,129,243,153,158,121, 19, 11,190, 83,167, 78,157, 16, 47, 47, 47,101, 86, 86,150,230,222,189,123, 87,223,180, 93,
+192,211,244, 23,161,173,218, 65,151,155,129,244,196, 56,167, 91,209,181, 42,186,224,251, 57, 43, 27, 7, 7, 5, 55,102,121,135,
+241,170, 93,193, 5, 19,126, 92,214,184, 90,141,160,198, 5, 3, 66,106, 85, 40,126, 90, 54,129,220,165,203,135, 35,190,156,211,
+171,223, 48, 68,156, 56,128, 69,179, 38,109, 82,184,121,215, 42,231,225,214,176,110, 72, 23,156, 63,121, 0, 82, 23, 95,120,120,
+250,182,250,224,227,207, 58,245,251, 96, 20, 46,157, 63,137,165,115,191,221,200,154,181, 91,156, 41,171, 66, 85,197,187, 65,163,
+102,131, 93,202,249, 32, 55, 79, 11, 23, 15, 21,106,213,111, 58,248,254,109,243,215,250,140, 88,245, 27,155, 14,158,135,217,202,
+ 35, 71,103, 69,162,218,136,248, 52,135,209,226,184, 82,228, 4,177, 28,165,148, 10, 4,229,108,143, 43,220, 61, 25,193, 87, 12,
+244,161,230,205,152,196, 88, 33,133, 58,215, 97,178,212, 26, 11,212,121, 22,232, 76, 54,148, 83, 8,192,177, 92,169, 91,221, 57,
+ 58, 43, 92,228, 66,184,201, 69, 78, 71, 25, 11, 99,213,175,219,131,111, 71,167,188,187,104,209, 18,249,173,216, 23, 76,150,208,
+ 17,205,146,136, 24,176, 28, 7, 56,113,199, 11, 5,194,113,189,187,117, 66, 98,166,209, 49,106,153,166, 80,163, 94, 51,120,201,
+ 56,116, 28, 48, 25, 0,208,179,155, 35,181, 45, 54, 85,143,131,151,213,192,203,137,221,197,215,197, 70, 35,179,122,243,225, 47,
+118,238,216,230,102, 98, 5,248,229,104, 60, 12,102, 59,164, 34, 6, 18, 17, 3,153,136,121, 41, 31,187,100,163,229,200,185,123,
+154,105,131,193,100,130,198,104, 3, 15,224,234, 99, 29,140, 22, 59,242,244, 54,132,212,244, 40, 91, 32,132,162, 14,243, 60,223,
+253, 85, 67,244,170, 89,122, 33, 34, 85,152,198,181, 23, 53, 10, 62, 95,148,145,123, 49,103, 11, 64,169, 70,112, 9, 94,117,142,
+ 47,110,139, 20, 30,181,220, 92,220, 46, 31, 59,122, 72,185,247, 54,135, 51,119, 28, 38,203,102,204,196,194,175, 7, 37,105,114,
+ 51,219, 3,136,113,246,159,201,189,106,213,151,138, 37, 17,255, 91,242,139, 85,229, 19,192,237,185,156,155,145,103, 96, 95,114,
+ 19,172,217, 76,216, 55,223,224, 0, 0, 32, 0, 73, 68, 65, 84,243, 28, 47, 50,165, 63,118,170, 15,129,166, 41,235,143, 99,251,
+128,227,121, 76, 93,178, 19,179, 39, 14,128, 82,246,129,156,162, 40,185,222,100,199,248,105,107,177,240,251,225, 46,114,137, 0,
+ 20,229,200,137,250,112, 96, 31,231, 46, 64,147, 29, 79,174,108,213,105, 99, 15, 61,120,177,187,176,121,171,119,174, 55,111,222,
+ 60,215,195,195, 3, 50,153,236,121,164,162, 8,124,124,124,190,255,241,199, 31,131, 71,143, 30,253,108,178, 79,129, 64,128, 79,
+ 63,249,132,102, 89, 30, 71,143,174,135,119,165, 70, 56,240,251,101,132,117,104, 10,157,193,132,236, 92, 45, 56, 48,111,124, 33,
+106,115, 51, 35,210,226,239, 54,107,217,190, 39,206, 28,223,199, 95, 62,186,110,100,105,230,232,241, 40,231,145,120,227,238,147,
+ 90, 20, 85,206, 17,209,202, 55, 89, 22, 27,135,138, 62,114, 36,198, 63,129,187,155, 91,162,179,122, 50,239,224,222, 20,205,143,
+166,192,175,215,167, 63,218, 9,128,215,167, 62, 24,180,115,203,234, 59,145,247,110,205,234, 49,120,156,160, 75,191, 79,152,159,
+231,124,246, 45, 0,103, 39,222,179, 70, 69, 69,221, 31, 62,124,120,139, 75,151, 46,177, 0, 12, 20, 69,217, 24,134,145, 91, 44,
+ 22, 81,251,246,237,243, 30, 62,124,120, 22,133, 39, 45,190, 68,171,143,118,122, 81, 18,237, 59, 98,206, 58,168,162,139,182,115,
+251,214,161, 8,173, 19,136,196,214,161, 0, 48, 46, 65,167, 12, 54, 85, 91,187,221,102,151, 29,249,249,215,131,179, 71, 14,232,
+ 52,126,147, 96,234,162,212, 67, 83,139, 77, 68, 77,124,112,182,107, 97, 54, 94,192,208,112,145, 9,161,148, 9,224, 34, 19,194,
+ 69, 42,132,205,206,151,166,229,200,219,236,156, 35,162,101,177, 67,103,180, 35,226, 86, 58,210,242, 44,200,213, 90, 97,180,178,
+224,193, 59, 90,163, 78,212,230,234,199, 23,221, 11,158,164,238, 21, 26,229,173, 94,190,192,117,247,133,164,103, 35,250,220,228,
+ 98,184,200, 29,163,177,207,157, 59, 7, 79,207,146, 91,251, 28,199, 97,215,177,171, 88,180, 33, 2,199,214,127, 5,169,136, 65,
+253,222,211, 48,236,221,230,224,120, 14, 79,162, 34,211,107,212,110,224, 67,211, 50,208, 20, 5,179,141, 3,192, 23,121, 60, 45,
+ 22,139,231,211,167, 79, 53,213,171, 87,247,245,247,247,239,199, 48, 12, 15,237, 45,243,190,109,217,134, 83,135,182,200,245, 70,
+ 51, 43,183,231,173,175,158,106,236,142,234,213, 65, 81, 20,239,234,234, 42,138,136,136,208,213,171, 87,207,251, 13,111, 37, 90,
+166, 10, 90, 58, 98,204, 23,253,170, 85,173,138,157, 91,214,131,231,169,221,206,126,121,243,193, 75,152,241,205,203, 35, 12, 39,
+252,184,172,241,194,105,227, 94,122,111,204, 55,139,138, 29,117, 40,147, 40, 39,246, 29, 20,142,235, 87,255,192,252,105, 19,182,
+153,117,217,195,108,118, 91,255,236,212,216,109, 85,106, 55, 7,111,213,226,196,142, 5, 24, 48,100,164,164, 75,143,126,184,116,
+254, 36,102,127, 59,102,179, 33, 55,227, 35, 56,153,228,204,241,194,209,237,187,190, 43, 52,154,173, 88, 54,239, 7,140,154, 56,
+ 11, 33, 29,122, 10,239,221,186, 60, 26,192,116,167,211, 33,172, 44,218,215,243,114,152,103, 27,135, 3,177,140,160,176, 43, 80,
+192, 80,116,195,170,238, 48, 90,236,208,148,208,168, 20,136,132,105,185,121,154, 74, 43,102,127,193,232, 77,118,168,243, 44,200,
+200, 51, 35, 51,247,185,193,202,204, 51, 67,157,103,129, 80, 64, 33, 58, 38, 1,180, 80, 80,234,252,188, 28,157, 13,205,130, 60,
+ 28,247,232, 27,246,142,216, 4,174,205,143,157,189,221,119,209,162,197,210,219,113, 90,220,137,213,228, 71,178, 24, 72,132, 52,
+196,249,191,179,156, 35, 55,178, 56, 92,189,171, 86, 25,250,225, 7, 29, 93,149, 50,164, 60,202,128,128,113, 76, 17,227,166, 10,
+132,155,196,132,207,198,132,195,203,211, 29, 79, 51,205, 88,186, 55, 26,119,238, 63, 6,103, 44,221,110, 47,251,101, 91,216,136,
+ 79, 39,184,211, 66, 49, 54, 30,143,115,148,147, 97,241,240,242, 65, 83,202,147,187,122,157, 38,139, 7,207, 58,153,131, 76,241,
+118,214,113,185,205,158, 58, 25,219, 54,252,132,227, 55, 50,158, 93,129, 23,118, 47,196, 23,223,204, 68,166,198,130,194,174,203,
+226,252, 8, 0,245, 11,145,168,215,182, 95, 48, 71,133,109, 83,249,219,150, 34, 52, 44,175,152, 43,203, 43,239, 91, 94,209, 43,
+108,238,191,213, 37,118, 29,190,102,138,220,189,235,202,165,138, 63,142, 30, 61,168,216,119,135,127,102,178,172,134, 76,126,214,
+184,158, 73,154, 92,117,151, 82,153, 44,239, 26,117, 37,114,201,217, 41, 51,151,154,125, 2, 42,217,143,220,210,100,105, 77,172,
+253,245, 28, 4, 5,171,112,243, 54, 9,196,146, 69, 66,163,229,135,204,204, 7,250,146, 34, 79, 28,207,227,208,149, 52,240,188,
+163,137,180,227, 92, 50,242, 91,230, 96, 57, 71,183,202,239,183, 50, 32,200,207, 67,113, 54,252,189,234,151,159, 52,221,235,229,
+233, 7,207,158,250,172,187, 48,164,129, 35,146,229,234,234, 10,119,119,119, 40,149, 74,148,212,117, 72, 81,212,135, 35, 70,140,
+120,173,245,159,145,145,129, 78, 29,219, 99,249, 79,107,208,160,227, 80,252,126,241, 56,172, 54, 14,245,107, 87, 69, 37,127, 15,
+ 36,166,107,223,232, 70, 87,248, 4,127,218,172,253,187,223,182,234,208, 19, 17,199,246,240,151,143,253, 26, 94,218,137, 16,187,
+119,106,113,112,198,140,169, 85,166,204, 90, 33,113,145, 10,240, 64,103, 1, 77, 81,168,232, 35,135,167,130,198,153,125, 27, 77,
+ 3,122,182,112,122,114,188,192,192,128, 77, 11,151,175, 86, 44,156, 59,173,253,245, 27, 84,132, 46, 37, 58, 27, 0, 12,233, 81,
+243, 30, 2,247,203,255,113,226, 72,131,182,125,224,227, 95,181,115,108,250, 67,167,205, 6, 0, 67, 76, 76, 76,236,148, 41, 83,
+130,231,206,157,203, 51, 12,195, 1,144, 44, 89,178,196,240,232,209,163, 91,112, 12,205, 69, 73, 15,155,142,157,235,140, 87,138,
+217,144,114,114,186, 78, 85, 95, 57, 66,235, 56,122, 69, 7,116,111,133,192, 10, 21, 16,147,102,104,152,109,224,132, 58, 11, 83,
+117,229, 47,119,174, 85,246, 98, 70,218,141,150,251, 0,246,151,246,252, 80,120,158, 32, 95, 16,205,114,145, 9,193, 57,174,149,
+ 82, 25, 45,179,149,133,209,204,194,104,177, 67,111, 97, 97,176,176,224,120,199, 61, 65, 81, 20,172,118, 14, 78, 53,155, 95,185,
+246, 93,203,121,161,106,101, 10,174,114, 71,217, 92,243,167,123,160, 0,120,122,122, 66,165, 82, 57, 21, 21,181, 88, 29,183,184,
+197,198, 61,235,214,183, 88,237,224,121, 30,209,209, 81, 95,197,199,198,246,174, 94,163,122,155,218,245, 27,148,147, 75,104, 0,
+ 40,210,104, 25, 12, 6,214,197,197, 69, 85,174, 92, 57, 58, 57, 57,249,153,121,174,222,176,189,125,239,158,221,232,219,183,143,
+238,193,213,219,207,134,184, 27,141, 70,170,101,203,150,174,129,129,129,180,217,108,214,148,246, 52, 41,188,131,222,245,240, 44,
+ 55,235,195,143, 70, 5,181,239, 20,134,211,167, 78, 96,255,158,173,191, 25,212,209, 39,156, 21, 9, 14,174,249,218,168,195,106,
+ 53,130, 94, 27,117, 88,169, 74,141, 98,141, 86,237,250, 77,155,243,148, 0,199, 15,237,224, 77,180,117, 12, 0,142, 53,105,119,
+108, 95,245,253,244, 65,163,191,169,214,173,215, 32,124, 56,100, 24, 4, 2, 6,103,126, 63,136,133,211,190, 60,172,203,203, 24,
+234, 76,154,128, 35,244, 86, 75, 20, 32, 11,252,188, 66,181,186,184,113,249, 60,158, 68,223,139,188,125,237, 82,157,234,245, 66,
+224,237, 95,241,243, 4, 47,102, 46, 30, 60,176,150, 36, 99, 49,153, 18,134, 13, 29,130, 23, 71, 29,134, 54, 10,246,164, 94,189,
+ 1, 0, 24,180, 25,214,117, 11,198, 63, 42, 24,117,200, 89, 45, 9, 69,233,230,229,168,119,157,185,120,101, 98,239,238, 97,116,
+166,198,226,136, 96,229, 89,242,127,204,200, 44,248, 93, 99, 70, 13,127, 37,162, 34,111,112,166,188,204,221,165,188, 47, 77,195,
+250,119,189, 95,112,237,114, 28, 15, 10, 48,149,186, 91, 74,232, 26, 62,111,254, 34,233,237, 88, 29,238,196,105, 28, 93,133, 66,
+198, 97,176,132,244, 51,211,229, 24,205, 94, 66,116,136, 98,102,127, 60,116, 32, 50, 53, 86,112, 28, 32, 96,232,252, 31, 17,158,
+106, 41, 36,106, 13,200,204, 81, 35, 54, 62, 1,185,105, 79, 64,211, 52,188,252,131,156,158, 73,154,229,197,126, 6, 11, 95,175,
+ 95,247, 54,130, 61,127,164, 66, 46, 17,192,172, 77,199,209,237, 11,212,102,157,102,150,209,160,219,227,204,124,142,207, 83, 16,
+ 40,181, 70,103,242,145, 8, 25,236,220,176, 2,253,135,141,121,169,246,253,234,187, 25, 0, 77, 33, 59, 71, 11,138,162,212,165,
+171,151,168,107,197,109,191, 97,100,172,204, 26,133,152,173,215, 27, 10, 69,183, 70,249,163, 39,142, 29, 84, 92,136,151,224,106,
+ 84,106,190,201, 82,115, 51,199,118, 79,210,230,101,119, 5, 16, 93,186,118, 33,221,117,192,199, 19, 35,171, 6,213, 54,159,190,
+167,139,203,213,219,138,204,115, 8,237, 55, 37,242,250,225,229,221,242,108, 49,159, 40,252,106,179,156,221, 62,207,168,142,158,
+ 86, 68,215,161,120,218,210,157,207,186, 13,191,158,187,209,241, 59,203,130,229, 57,240, 28,240,217,247,171, 96,231, 88,112, 44,
+ 11,142,229, 97, 99,121,121, 73,197, 85,249, 87,218,147,243,112, 71,205,193,211, 95,239, 46,116,119,119,135,167,167, 39, 60, 61,
+ 61,225,234,234, 90,162,209, 18, 10,133, 74,129,224,229, 67,157,144,144,128,248,248,120,184,186,186,130,231,108,176,216,128,186,
+ 33, 93,112,247,201, 61,156,188,112, 11, 60,199, 66,161, 44,253, 42, 47, 10,159,224, 79,154,182,235,189,162, 67,175,225,248,125,
+207, 47,252,181,115, 7, 71, 25, 51,162,215, 58, 29,161,103, 89,202,102,179,161,123,151,118, 9, 55, 35, 31, 31,251,110,226,232,
+176, 22, 61, 70, 73, 66,131, 3, 96,178,176, 72,138,127,130, 51,251,126, 53, 5, 85,241, 59,222,177,117,243, 4,155,205, 6,150,
+101, 75,124,144,155, 44,214, 76, 70, 40, 83, 12, 28, 56, 88,120,237,234,213,221, 10,239, 26, 59, 89,138,190, 77,241, 92,125,138,
+231,251,214,175, 95, 11, 86, 27, 7,131, 65,147, 83,218,125,214,106,181,177,235,215,175,175, 50,116,232, 80,121,237,218,181,133,
+ 79,158, 60,193,194,133, 11,179,180, 90,109,172,179, 26, 39,206, 69, 45, 17, 80, 57,143, 10, 34, 90, 79, 91,133, 98, 96,143, 86,
+216,118,248, 2,206,156,191,132, 4,157,242,150,206, 46,216,151,152,144, 98,174, 83, 78,179,187, 87,104, 37,102,231,134,156,221,
+145,237, 38,191,207,243,146, 19,153,103,167,234,157,191,185, 1,173,209, 6, 87,185, 99,190,167,130,200, 22, 67, 81, 78, 59, 34,
+ 10,136, 61,127,233, 70,221, 38, 53,106,227,102,108, 30, 50,114,205, 48,154,237,224, 56, 30, 28,120,120,186,136, 33, 21,209,120,
+ 26, 31, 11,142,183,198,149,242, 81,161,110,219,166,173, 0,160, 64, 81,188, 64, 40, 16,128,135, 99,126, 69,153, 76,166, 83,169,
+ 84, 78, 69,180,172,118, 59,250,134, 53, 71, 72,211,250,232, 61,202, 49,103,230,169,223, 38,195, 67, 41,196,182, 77,107,145,120,
+110,201,166, 42,161,163, 79,220,187, 27,249, 94,228,205, 63, 6,191,211, 88,214,208, 87,144, 34, 42, 42, 76,170,215,235,119, 3,
+ 16,139, 68,162,176, 54,109,218,148,219,189,123,119,174,151,151, 23, 39, 22,137,212,189,122,246,224,132, 34, 81,118,193,103, 47,
+ 94,188, 40, 28, 53,106,148, 75, 78, 78,206,211,244,244,244, 75, 0,108,197, 55, 4,131, 59,129,198, 86, 80,148, 84, 41,147, 39,
+ 84,174, 92,213,191,105, 72,115,183,119,251,246,135, 68, 44,193,239, 39,142, 97,217,226,185, 59,116,169, 15, 62, 46,205,145,124,
+ 91,163, 14,147,158,198,197, 26,140,230,122,117,155,180,163,206,159,216, 55,206, 10,175,197,140,196,186,160, 83,223, 49,213, 98,
+ 83,116, 88, 54,231, 43,120,184, 41, 16,247,228,161,241,209,131,187,171,108, 38,205, 87, 78,155, 44, 0,242, 44,246,189,208, 33,
+ 97, 30,102, 43,139,115, 17,135, 77,156,157, 11,187,116,246,200,147,242, 65, 77,165,117,155,118,244,200,220,191,182,175, 1,216,
+ 86,146, 78,242,195,215, 35,184,188, 37, 55,238, 84,196, 73, 55,159,138,117, 24, 10, 20,172,102, 19,212, 49,215,236,134,244,135,
+ 26, 77,242, 61,167, 70,225,102, 37,226,251,111,126,252,223, 39, 77,155, 52, 81,240,144,190, 20,193, 42, 48, 88,153, 26, 11,188,
+ 92,196, 48,106,212,120,116,237,152,201,160,102,138,157,239,204,110,209,203, 51, 51,210,197,207,211, 25,162, 67,138,251,124,102,
+ 70,186,216,110,209,203, 75,126,212, 49,112, 85,136,113, 55, 46,249, 89,226,187, 68,232,200,205, 18, 11,153,103,121, 90, 5,117,
+ 65, 9,180, 19, 73,221,145,156,101, 2, 5, 30, 28,107,135,221,102,129, 86,163, 65,114, 74, 26,210,211,210,161,213,230, 66,174,
+244, 64,221,134,205,224,162,144,226,246,153, 29,224,121,222,169,121, 13,109,148, 48,184,105, 72,107,201,189,120, 71, 46,150, 84,
+200,227,224,214,185, 89, 58, 77, 70,107, 93,234,163, 71,165,173,139,237, 44,123,242,206,253, 71,117,202,251, 85,166,110, 61,201,
+195,166, 53,203, 97,201,143,108,218,108, 44,238, 61,213, 35, 53,219,128,167, 49, 15,120,142,101, 79,226, 63,130,160,232, 0, 32,
+ 4,245,235,214, 66,151, 15,222,197, 79, 63,173, 66, 76,108, 60, 55,107, 92,183,167, 58,109,238, 59,165, 48, 89,157,144, 63,215,
+134, 33, 61,106,158,209,163,105,210,129,155,217,180,209,194, 23,155,224, 35,245,174,136,214, 31, 47, 60,110,212,102,139, 89,179,
+ 65,112,112,211,199, 91, 11,211,116, 56,104, 88,102, 77, 24, 0,165, 76, 0,138,162, 80,208, 93,184,114, 70, 56,228, 18, 71,223,
+178,209,108,199, 7,227, 23, 97,211,162, 47,193, 3, 24,212,255,130,161,168,114,194,177,118,225,103,126,184, 90, 62, 33, 62, 35,
+185, 83,207, 9,167, 76, 86,137,185, 71,159,161,215,155, 52,105,146, 43,147,201, 32,147,201,224,234,234, 10, 15, 15, 15,184,187,
+187,151,184,239, 54,155, 77,103,177, 88, 60,197, 98, 49, 56,142, 67, 92, 92, 28,226,226,226,144,151,151, 7,181, 90, 13,189, 78,
+ 99,191,122,106,167,160,110,104, 55,248, 87,173,135,138, 53, 26, 64,200, 80, 16, 8,104,156, 57,176,166,168,114, 22,110,178,218,
+246, 90,217,177,247, 8,252,190,103, 53,127,237,220,193,209,198,140,232, 53,206,158,163,252,238,158,219,125,251,246,173, 55,106,
+212, 40,209,143, 19, 71, 29, 63,124,226, 76,244,206, 67,171,123,230,228,228, 6,242, 60, 15,119, 55,183,196, 1, 61, 91, 28,108,
+223,178,105,194,169, 83,167,184,173, 91,183,154, 41,138,186, 91,156,166,163,146,202,248,237,212,201,136,169,173,219,182,195,218,
+ 13, 91,219, 70,222,127,208,246,201,147, 71, 8,172, 88, 21,149,171,212,128,129,242, 64,196,217,243,208,229,102,252,230, 76, 57,
+ 95,137,106, 81, 57, 57, 57,127, 12, 24, 48,160,203,133, 11, 23,232, 1, 3, 6, 24, 50, 51, 51, 47,190, 16,197,226, 75,210,188,
+244,115, 31, 53,128,223, 42,182, 29,182, 35,217,154,251, 57,128,185, 21, 42, 86,192,153,243,151,112,233,194,149, 85,153,242, 10,
+211, 62,254,224,163,240, 74,189,152, 17,189, 66, 43, 49, 42, 15, 57,182,172, 94,200, 28,184, 20,191, 40, 62,139, 93, 59,247,236,
+212, 25,206,156,163,103, 15, 14,173, 21, 45,107,149,131,141,229,193,241,142, 10,215, 69, 42, 44,170,226,125, 77, 83, 96,145,124,
+ 60,122,212,168, 39,117,235, 55,252,226,131,143, 70,139, 26, 86, 13,196,213,199,185, 0, 69,161,156,175, 2,169,169,169, 56,183,
+107,181, 61, 39,249,225, 42,134,225,166,151,226,120, 34, 39,225, 86,245, 23, 54,195, 51, 51, 51,113,230,204, 25, 20, 24, 44,111,
+111,239,162,140,214, 75,154, 89,233, 41, 23,103,204,255,165,229,200, 15,251,160, 71,187, 58, 56,123,237, 9, 44,249,243, 53, 21,
+ 12, 37,143,189,244,179,248,243, 1, 85, 45,159,244, 13,210, 24,109,226,248,239,227,242,206,193,177, 6, 43, 87, 68, 57, 45,217,
+217,217, 7,162,162,162, 90, 53,104,208,160,210,145, 35, 71,178, 35,175, 28, 31,247, 98, 33, 38, 76,152,160,252,233,167,159,228,
+ 60,207, 95,180, 88, 44, 49, 78,237, 59,141, 45, 55,174, 95,247,180,218, 56,156,191,114,187, 86,199,150, 13,193,241,192,181,107,
+215,176,118,221, 90,211,221, 59,183, 22,232,211,125,167, 23, 99, 94, 10, 61,158,108,217, 70, 29, 62,211, 76, 77,142, 95,240,251,
+225, 93,155,154,182,237,137,193,159, 77,159,126,230,240,214,169,141, 91,247,160,107, 53,237,130, 27,151, 34,112,242,200,177,255,
+ 89,117,217, 83, 81,114,238, 72,161,229,148,200,228, 99,107, 55,110,139,167, 9,241,136,123,116,239, 55, 83,246,227,148,132, 39,
+204,111, 41, 73, 9,163,171,212,105,137, 11,199,183,141, 43,198,104, 21,123,205, 7,122,203, 86, 31, 57,116, 96, 96, 82,210,207,
+190,122,163, 73,194,243,188, 73, 34, 22,164, 41,105,237,118,141,211,229,124, 96, 85,167, 84,234,219,255,131,209,135,151, 45, 91,
+ 44,244,113,151, 35, 45,199, 4,141,209, 10,173,193, 10,154,162, 80,221, 95, 1,131, 54, 27,103,119,205,183, 89,116, 57, 3,128,
+ 39,214,162, 52, 21,170,224,153, 57,143, 35, 62,155, 48,230, 52,196,110,129,254,149, 59,124, 83,108,180, 78,155,124,171,231,132,
+ 49, 7,131,121,158,239,168, 80, 5,107,245, 25, 81, 83,138,218,119,138,114,220,223,131,219, 7,194,106,119,204, 63,102,231, 0,
+150,227,242,163,124, 0,255,172, 63,159, 42, 97,223, 41,110,251,225,139, 72, 73,207,133,209, 98,131,217, 98,135,213,198,130,102,
+ 24,184,123,184,163, 70,229, 70,112,115,119, 69,122, 90, 10, 46,157, 58,128,232, 59,103, 47, 82, 60,166, 25,213,143, 78, 57,115,
+142, 68, 50,247, 96, 63,127, 95, 58, 85, 99,129, 76,204,224,214,217, 35, 86,155,197,188,192, 73,147,245,154,102,110, 86,246,162,
+ 47, 38, 78, 26,244,235,250, 13,190,245,170,184, 34, 41,211,136, 36,181, 9, 90,147, 45,223,136,113, 48,235, 50,113, 39, 98, 67,
+ 26,107,210, 46,194,127,132, 34,141,150,221,106,210,238, 62,118,213,115,242,212,249,204,227, 39, 49,182,153,159,119, 79, 50,234,
+ 52,221, 74, 29,201,122,129, 95, 63,173,178,237,207,216,137,215,186, 11,121, 14, 28,207,227,224,149,180,103,221,133, 92,126,230,
+229,205, 39,197, 47, 35,248,226,218,133,237,186,141,251,253, 78,148,118,179,209,152,238,246,240,241,130, 28, 0, 96, 24,230,217,
+ 79, 65,110,150,201,100,178,148,208,133,178,113,205,154, 53, 95,143, 30, 61, 90,146,152,152,136, 39, 79,158, 32, 55, 55, 23, 82,
+169, 20,199,142, 29,179,129,179, 47,184,115, 97,111, 92,212,141, 19, 63, 4, 55,233, 82,190, 94,104, 55,200,229, 10, 8,120,231,
+147, 49,229,170,160,129, 77,218,246, 90,209,241,221,145, 56,185,119, 13,127,237,236,129, 49, 70,117,244,234,210, 30,203,220,220,
+220, 72, 0,143, 22, 44, 88,208,112,237,218,181, 85, 38, 78,156, 24,179,113,197,212,101, 0,144,149,149, 5, 0,184,121,243, 38,
+ 63,102,204, 24,179,201,100,138,205,201,201,185,129, 18, 6, 64, 0,128, 81, 45,159,189,118,229,220,186,137,201,169,125,170,214,
+109, 6,239, 42,205,224, 91,189, 57,114,180, 86, 92,125,156,130,152, 7,167,240,224,252,174, 35, 6,165,125, 42, 74, 57,191,113,
+131, 6, 13, 2,105,154,174,172,211,233,124,107,215,174,221, 64,161, 80,220,108,208,160, 65, 35,129, 64,144,116,253,250,245,248,
+210,104, 37,156,221, 96,174,216,118,216,210, 4,173, 75,251,152, 52, 67,163, 4,173,203, 77,131,196,237, 75,117,196, 82,243,175,
+ 76,192, 34,222,154, 25,185,115,131,102,247,150,213, 11,153, 15,194, 39,176,247,242, 60, 62, 23,200,196,191,151, 46, 92, 77,167,
+126, 50,180,247,243,233, 29,242, 35, 89,249,191, 59, 21,166,207,203,187,147, 7,224,235, 59,247,133, 43,238,125, 62,106, 70,253,
+166, 45,135,180,121,103, 0,109, 23, 41,113,124,239,207,124,236,157,136,157, 2,158,253,206,232,196,106, 0, 37,118, 7, 89, 44,
+206,152,172,215,203,152,168,104,183,115,235,186, 97,187,247,238,153,243,110,175,222,158, 43,191,127, 31,243,127,217, 7,133, 76,
+ 2,158,227,240,126,251,192,126, 63,140,168,217, 51,208, 71, 26,176,251,116,210,185,207, 22,223,251,218, 96,176, 70, 59, 17,137,
+225, 51, 51, 51,207, 43,149, 74,117,171, 86,173, 66, 36, 18, 9,149,153,153, 41, 80,169, 84,118, 55, 55, 55, 75, 82, 82,146,193,
+108, 54,239, 6, 80,170,105,199,173, 54, 14,113,233, 38,236,223,179, 27,183,175,156,194,131, 7, 81,218, 7,247, 31, 44,167, 4,
+252, 98,125,250,163,108,160,212, 13,124,112,133,142, 58,228, 75, 61,234,144, 53,107,183,108, 92, 53,179,131,193,100, 30,214,160,
+ 69,119, 84,170,213,146,182,218, 88,220,189,118, 26,167,119, 45,158,111,213,101, 79, 46,203, 57,246, 47, 95,165, 6,207,136,241,
+199,153,195,224, 57,110, 21, 0,240, 28,183,234,230,133, 35,163,155,119, 27,129,114,170, 74, 13,114,159,222,164,240, 6,179,135,
+139, 4,180,254,232,238, 95,247,198,197,197,225,225,195,135,120,252,248, 49,178,179,179,177,101, 75, 92,169,206,143, 33, 39,254,
+247,232,251,116,215,247,222, 31,124,176,223,192, 15,165, 85,106,212,163,131,203,123,192, 83, 41, 64,212,227,120, 68, 95,191,195,
+ 69, 93, 61, 98,178,106, 50,222, 53,230,196, 23,105,252,228, 94,181,124, 0,118,114,193,218,133,161,161, 45,131, 39,205,154, 19,
+226,233,173, 42,180, 30,207, 82,103,136,191,250,236, 64,240,165,203,127, 56,181,214, 33,199,178, 89,225,195, 6,112,140, 99,161,
+ 80, 60,139, 83,231, 31, 61, 71, 99,202,241, 62,207,217, 75,140,224,127,212,167, 53,236, 28, 7,189,209, 10,141,222,140, 60,173,
+ 9,169, 25, 89,184,125,231, 14,206, 30, 60,128, 39, 81,183, 99,109, 22,203, 9,154,166,118, 25,211,163,207,150,174,167, 73, 80,
+197,179, 92, 57,196,102,235, 32, 21, 11, 16, 31,125,221,172,215,228,109,126,211,235,200,152,245, 40, 53,131,161,186, 12, 24, 48,
+240, 88,135,174,189,220,154,182,232, 36,247,114,117,135, 72,192,227, 81, 92, 10,110, 92, 60,166,143,185,125, 78, 99,179,232,194,
+222,198,170, 47,255,112, 74, 30,117,104, 53,235,123, 14,234,221,118, 15,195, 8,196, 28,103, 55, 91, 45,230,247,202, 98,178,254,
+ 44,120,158, 77, 26, 54,168,207, 75,109, 3, 59,199,203, 6,245, 63,110,124,177,173, 96, 99,121,249,160,254, 23, 13,142, 10,164,
+232,196, 62, 63,191,114,221, 11,214, 46, 76, 72,200,186,150,157,109, 62, 13, 32,201,100, 50,189,113, 25,211,211,211,103,204,154,
+ 53,171,135,193, 96,168,217,174, 93, 59,137,171,171, 43,178,178,178,112,226,196, 9,219,161, 67,135,238,103,100,100,252, 0,100,
+216,141,104,244,219, 29,211,222,161, 81,215, 79,252, 80,179, 73,215,242,245, 90,116,115,190, 50,147,200, 70,118,232, 53,156, 58,
+185,111, 13,127,245,204,190, 79,140,234, 71,191,148,225,176, 90, 77, 38,211, 21,147,201,116,239,187,239,190,107,234,227,227,227,
+243,195, 15, 63, 72, 53, 26,141,112,229,202,149,166,204,204,204, 52,141, 70,115, 9,197,228,211,188,206, 77, 91, 94, 50,250, 30,
+221,189,166, 61,191,123, 77,103,119,175,128, 46,110,222,229,171,229,170,147, 99,243,212, 41, 39, 0,156,204,159, 40,178, 84, 52,
+108,216,176, 42, 69, 81, 3, 0,212, 85, 40, 20,213,149, 74,165,132,231,249,154, 20, 69, 69,114, 28,119,167,118,237,218,135,238,
+223,191, 95,170,201,100, 19,206,110, 48, 7, 6,183,220,154,109,224, 68, 22, 90,180, 53,225,236, 6, 51, 0,100,252, 62,201, 0,
+ 96,255,253,118, 95,247, 61,112, 41,126, 89,100,142,219, 56,245,153, 57, 7, 74, 91,230,188,164,219,213,223,214,245,111, 74,189,
+159, 4, 96,216,157,235, 88,120,247,230,165, 31, 41, 30, 66, 22,246,153,198,140,199,215,223,134,190, 80, 40, 52, 5, 4, 4, 20,
+ 58,186, 80, 34,145,152,204,230,226, 2, 40,103,237,186, 84,172, 5,218,110,216,179, 99,195,176,125, 7,246,207,105,211,241, 93,
+ 79,105,249,242,168,172,162,176, 97,114,227,113,167,110,170,175,246,154,116,238,167,152, 20,211, 29,148, 50, 31, 70,167,211, 69,
+ 3,200,209,233,116,189,121,158, 79,164, 40, 42, 48, 39, 39,231,150,205,102,187, 91,106, 67,192, 97,112,104,104,179, 45, 20, 69,
+ 9,120, 59, 55,239,146,144,217,106, 74,125,144,132, 50, 46, 75, 82,175,178, 43,198,255,176,180,113,181,234, 65,141, 11,214, 58,
+172, 83,201, 5,163,190, 94,216,184, 82,149, 26,141,159,175,127, 88, 98,154, 0,111, 51,228,124,188,103,221,188,115, 55, 47,159,
+254,214,203,175, 82,165,180,164,152, 7,137,143,111,205, 96, 77,154, 61,101, 61,207,113,143, 35, 23,175, 93,240,245,196,212,228,
+216,181, 6,245,163,123, 0, 96, 80, 63,186,247,224, 6,190,207, 76, 75,154,152,149, 17,179,224, 77,143,133, 94,175, 79,217,188,
+121,179,123,203,150, 45,105, 31, 31, 31,168,213,106,156, 62,125,154,227, 56, 46,185,212, 90,217,177,167,245,217, 84,185,223,126,
+ 89, 49, 79,164,112,233,102,183,219,253,121, 30, 16, 8, 4,169, 22,131,230,152,150, 86, 76, 66, 78,188,169,248,103, 6, 71, 1,
+160, 11,214, 46,228, 56,142,154,183,108, 67,188, 80,234, 82,232,100,136, 54,147, 86,206,113,156,211,107, 29,230, 62,189, 81,237,
+109,221,223, 20,207, 79,107,208, 36,228, 91,155,205,106,202,191, 63, 76, 0, 76, 60,143, 44,154,166,206, 50,156,237,184,166, 12,
+141, 41,138,130, 43, 79, 9,224, 34, 19,128, 2, 5, 93, 94, 54, 95,154,156,172, 66, 13,113, 70,116,164, 33,163,109,197,163,150,
+ 29, 67, 35,126, 63,210,159,101,217,202,249, 49,131, 56,179, 81,191, 83,151,234,241, 27,112,221,142,127, 63,135, 11,204, 22,245,
+ 39,255, 35,167,186, 81,254, 73,154,193, 85,100,189,203, 7,248, 12,141,139,207,184, 26,147,104,248, 13, 47, 47,171, 83,150,114,
+ 50, 62, 62, 62,223, 83, 20, 53, 68, 44, 22, 43, 45, 22,139,158,231,249,141,233,233,233, 51,240,218,226,191,141,132, 50,149,113,
+168, 88, 42,159, 98, 53,233,255, 48,100, 68, 15, 46,105,223,229,222, 65, 93,164, 10,197,215, 38,163,126,163, 33, 61,122,195, 91,
+ 62,158,110, 18,137,164,145, 82,169, 20,102,102,102, 94, 1,144,247, 79, 58,239, 13, 26, 52,168, 64,211,116,101,142,227,124, 0,
+184,193, 49, 42, 36, 83, 32, 16, 36,231, 71,180,248,210,106,182,250,104,167, 87,199,206,117,198,159, 56, 23,181, 36,191, 91,241,
+ 25, 1,253, 22, 73,135,116,107, 63,225,183, 61,251, 11, 27,117,248,255,238,154,255,235, 52,219, 10,148,126,153,195,104,177,219,
+204,142,193, 38, 67,102, 74,242,152,243,119,213, 87, 0,104,203, 82, 78,145, 72,244,129,213,106,149,137, 68, 34,163,213,106,221,
+252, 79,217,119,153, 42,120, 56, 13,222,233,149, 41, 56, 80,215, 95, 25,180,242,111,185,150,152,122,245,234,181, 22,137, 68, 21,
+ 88,150,149, 91, 44, 22,131,209,104,140,139,143,143,255, 3, 69, 47,124,254,167,150, 83,161,170,177, 88, 36,146,124, 14, 0, 86,
+171,121,169, 62,227,209,248,226,190, 88,204,231,255, 95,159, 35,175,202, 77, 30, 9, 24,161, 55,242, 39,230,230,236,118,117,122,
+236,181, 26,127, 99, 57,255,117,240, 60,255,167,255,143, 78, 68,147,104, 18, 77,162, 89, 8, 52, 57,158, 68,243,239,212,148,250,
+213, 10,148,250,213,114,122,210,229, 34, 62, 79,142, 39,161,128,240, 66,126,192,243, 60, 4,228,216, 16, 8,132,191, 1,142, 28,
+ 2,194,223,137, 41,245, 65,226,159,249,121,194,127,142, 34,115,162,169, 98, 92,105,105, 66,130,111,226,108, 79, 18, 77,162, 73,
+ 52,137, 38,209, 36,154, 68,243, 63,167, 89,146,246,255,199, 46,201,240, 87,182, 15, 3, 72, 37, 93,135, 68,147,104, 18, 77,162,
+ 73, 52,137, 38,209,252,167,104,254,155,120,214,117, 72,147, 99, 65, 32, 16, 8, 4, 2,129,240,231, 64,114,180, 8, 4, 2,129,
+ 64, 32, 16,202, 70, 97, 93,135,196,104, 17, 8, 4, 2,129, 64, 32,188, 5,138, 76,134, 39, 93,135, 4, 2,129, 64, 32, 16, 8,
+101,163, 32,162,229,135, 23,166,119, 32, 70,139, 64, 32, 16, 8, 4, 2,225,237,145,138,194,162, 91,135, 14, 29,226, 11,251,157,
+ 64, 32, 16, 8, 4, 2,225,175,224,255,185, 23,121, 49,146, 21,158,191,253,242,168, 67, 98,176, 8, 4, 2,129, 64, 32,252, 83,
+204,214,255, 51, 10, 34, 89, 5, 63,207, 22,205,126,102,180,122,244,232, 65, 17,179, 69, 32, 16, 8, 4, 2,225,239,226,223,232,
+ 69,232, 87,119,144,156,102, 2,129, 64, 32, 16, 8,127,167,217,250, 55,237, 15,153,222,129, 64, 32, 16, 8, 4, 2,161,108,248,
+ 1,232,254,194,246, 97,188,208,125, 72, 32, 16, 8, 4, 2,129, 64,120,115,194, 11,219,230,121,158, 68,180, 8, 4, 2,129, 64,
+ 32, 16,254, 4,179, 69, 32, 16, 8, 4, 2,129, 64,248,179,248, 43, 22,149, 38, 43,155, 19, 77,162, 73, 52,137, 38,209, 36,154,
+ 68,243,223, 78,193, 60, 90,192, 11,243,104, 1,100,102,120, 2,129, 64, 32, 16, 8,132,178,210, 29,142,249,179,194,243, 95,187,
+ 19,163, 69, 32, 16, 8, 4, 2,129,240,118,121,109,249, 29, 98,180, 8, 4, 2,129, 64, 32, 16,222,174,193, 90, 77,140, 22,129,
+ 64, 32, 16, 8, 4,194,159, 12, 49, 90, 4, 2,129, 64, 32, 16, 8,127, 18, 20,138, 30, 57,112,178, 20, 58,111, 50,250,224, 36,
+209, 36,154, 68,147,104, 18, 77,162, 73, 52,255,115,154, 37,105,159,196,255, 63, 10,102,134, 63,140,231,137,240,171,121,254,207,
+ 95,182,145, 12,125, 37,154, 68,147,104, 18, 77,162, 73, 52,137,230,191,157,240, 87, 94, 1,252, 53,243,104, 17, 8, 4, 2,129,
+ 64, 32,252,215,204,214, 51,195, 69,150,224, 33, 16, 8, 4, 2,129, 64, 40, 27,171,139,250, 3,137,104, 17, 8, 4, 2,129, 64,
+ 32,148,141,240,162,182,137,209, 34, 16, 8, 4, 2,129, 64,248,115, 12, 23, 49, 90, 4, 2,129, 64, 32, 16, 8,111,209,100,133,
+ 23,250,215, 67,135, 14,241,228, 24, 17, 8, 4, 2,129, 64,248,187,248,183,121,145,103,211, 59, 20,236, 24, 49, 91, 4, 2,129,
+ 64, 32, 16,254, 78,147,245,255,212,139,248,225,249,104,195,240,252,109,240, 60, 79, 70, 29, 18, 8, 4, 2,129, 64, 32,148,145,
+238,120,121,228, 97,120,193, 54, 49, 90, 4, 2,129, 64, 32, 16, 8,101, 39,188,216,191,146,110, 67, 2,129, 64, 32, 16, 8,127,
+ 39,255,198, 28, 45,138,156, 86, 2,129, 64, 32, 16, 8,132, 50, 81, 88, 52,235, 47, 89,235,144, 64, 32, 16, 8, 4, 2,225, 63,
+105,184,136,209, 34, 16, 8, 4, 2,129, 64,248, 19, 76, 86,129,209,250,179, 39, 44, 37, 43,155, 19, 77,162, 73, 52,137, 38,209,
+ 36,154, 68,243,191, 98,178, 94,156,226, 1, 0, 25,117, 72, 32, 16, 8, 4, 2,129, 80, 86,200,162,210, 4, 2,129, 64, 32, 16,
+ 8,127, 18,100, 81,105, 2,129, 64, 32, 16, 8,132,191,216,112, 17,163, 69, 32, 16, 8, 4, 2,129,240, 22, 77,214, 75,102,139,
+228,104, 17, 8, 4, 2,129, 64, 32,148,141, 34,115,180, 40, 20, 61,114,224,100, 41,254,193,155,140, 62, 56, 73, 52,137, 38,209,
+ 36,154, 68,147,104, 18,205,255,156,102, 73,218, 39,241,255,159,112,252, 69, 19,150,146,161,175, 68,147,104, 18, 77,162, 73, 52,
+137, 38,209,252,175, 17, 14, 56,230,209, 34, 93,135, 4, 2,129, 64, 32, 16, 8,111,193, 88, 21, 6, 49, 90, 4, 2,129, 64, 32,
+ 16, 8,101,131,204,163, 69, 32, 16, 8, 4, 2,129,240, 39,225, 7, 71, 84,171,224,181, 17, 49, 90, 4, 2,129, 64, 32, 16, 8,
+111,135,238,112, 68,181, 10, 94,137,209, 34, 16, 8, 4, 2,129, 64,120,139, 20, 58,143, 22, 5, 0,135, 14, 29, 42, 24,127,216,
+174, 71,143, 30,103,201,177, 34, 16, 8, 4, 2,129,240, 87,242,111,244, 34, 60,207, 63,143,104,245,232,209,131, 2,112,134,156,
+106, 2,129, 64, 32, 16, 8,127, 7,255, 70, 47, 66,191,226, 36,219,145,211, 76, 32, 16, 8, 4, 2,225,239,224,223,232, 69, 4,
+175,184, 72, 2,129, 64, 32, 16, 8,132,191,133,255,199, 94,196, 15,142, 68,248,195,249,175, 64,254,148, 15,100, 30, 45, 2,129,
+ 64, 32, 16, 8,132,178, 81, 48,218, 48, 28,175,204,169, 69,162, 88, 4, 2,129, 64, 32, 16, 8,101,163,176,153,225,255,146,181,
+ 14, 9, 4, 2,129, 64, 32, 16,254,147,144,181, 14, 9, 4, 2,129, 64, 32, 16,222, 14, 47, 70,181, 86,255, 85,255,148,172,108,
+ 78, 52,137, 38,209, 36,154, 68,147,104, 18,205,255,146,201,122,182,253,210, 60, 90, 4, 2,129, 64, 32, 16, 8,132,183, 11,233,
+ 58, 36, 16, 8, 4, 2,129, 64, 40, 27, 5, 35, 14, 95,220, 38, 70,139, 64, 32, 16, 8, 4, 2,225, 45,154,173,215, 32, 93,135,
+ 4, 2,129, 64, 32, 16, 8,101, 35,188,168, 63, 16,163, 69, 32, 16, 8, 4, 2,129,240, 39, 25, 46, 10, 69,143, 28, 56, 89, 10,
+225, 55, 25,125,112,146,104, 18, 77,162, 73, 52,137, 38,209, 36,154,255, 57,205,146,180, 79,226,255, 31,127,219,132,165,100,232,
+ 43,209, 36,154, 68,147,104, 18, 77,162, 73, 52,255,147,144,233, 29, 8, 4, 2,129, 64, 32, 16,254, 68, 74, 99,180,188, 5, 2,
+193,183, 50,153,236, 39,153, 76,246,139, 64, 32, 88, 0,192,163,180,255, 80,161, 80,140,243,245,245,125,232,235,235,155, 84,161,
+ 66,133, 35, 46, 46,242, 47,170, 74,208, 6,128,240, 45,237, 79, 48,128, 47,100, 50,217, 3,169, 84, 26, 15, 96, 19,128, 47, 0,
+120,149, 69,120,134, 63,222,187,247,121,239,125, 51,252,241,222, 43,127,234,238,227,227,115, 30, 64,151,183,117, 82, 6,202,209,
+169,159, 2, 79,251, 41,240,116,160,252,205, 91, 13, 46, 46, 46, 67,252,252,252, 46,121,122,122, 38,251,249,249, 93,148, 74,165,
+253, 74, 41,161,242,241,241,153, 31, 24, 24, 24,237,239,239,191, 4,142,213,201,255,177,180,150,160,117,136, 4,234, 80, 49,180,
+ 45,197,248, 41, 84,140,206,157, 1,249, 27,202,181, 2,176,203,213,213,245,150, 64, 32, 56, 4,160,111,254,245,213, 87, 32, 16,
+ 28,114,117,117,189, 5, 96, 87,254,231,222,228, 58,157, 15, 32, 25,192,236,252,237,177,129,129,129,218,250,245,235,199,215,175,
+ 95,255,215,234,213,171,127,232,172,152, 92, 46,239, 28, 24, 24,184,187, 66,133, 10,241,161,161,161,217, 1, 1, 1, 81,229,203,
+151,223, 32,145, 72,218,145, 42,142,240,127,236,125,119, 88, 20,215,251,253,217,198,238,194, 46,236,210,151,174, 82, 4, 11, 40,
+ 42,118,236, 53,216,137, 93, 99,143,209,104, 52,198,174,128, 81, 99,137, 61, 38,209,143, 45,162,177, 18, 11,118,108,216,149, 69,
+ 17, 16, 1, 65,164,119,182, 2,219,239,239, 15, 74,136,161,154,228,251, 75,153,243, 60,243, 44,236,222, 57,115,239,204,189, 51,
+103,222,251,222,247,165, 64,129,194,223, 31,195, 0,124, 3, 96, 79, 76, 76,140,152, 16, 34, 38,132,136, 99, 98, 98,196, 0,190,
+ 7,176, 9,117,155, 16,127,243,189,165,165,101,200,250,245,235,203,115,114,114, 72, 65, 65, 1, 73, 76, 76, 36, 59, 86, 47, 51,
+ 12,178, 96, 18, 87,107,243, 82, 59, 59,187, 55, 46,142,142, 39,218,240,233,203, 0,184, 53,134,179, 6,204,141,141,141,159,172,
+ 94,189, 90,113,239,222, 61,133, 90,173, 86, 24, 12, 6, 69,118,118,182, 34, 34, 34, 66,209,189,123,119, 5,128, 69, 0, 24, 77,
+224,172,198, 58,123,220, 37, 7,215,144,117,246,184, 91,243,123, 47, 47,175,120,131,193, 64,198,140, 25,163, 2,224,208, 20,206,
+247,225, 0,112,219,152, 65, 24,200, 71,158,238,200,215,132,236, 93, 66, 2,121, 72,255, 16, 78, 27, 27,155,243, 11, 22, 44,144,
+101,101,101, 17,149, 74, 69,210,211,211,201,156, 57,115,164, 54, 54, 54,199, 26,217,118, 75,111,111,239,188, 71,143, 30, 25, 36,
+ 18, 9,185,115,231,142,161,109,219,182,121,141, 20, 91,253,223,171,203,126,123,123,251,203, 77,217,108,108,108, 14, 52,245, 26,
+117,230, 32, 93, 35,190, 77,200,179,235,228,194,152,174,100, 71, 71, 71, 50,218,130, 45,233,193,198,231,189,106, 15,101, 82, 23,
+231,199,189,122,245, 82,190,124,249, 82, 95, 84, 84, 68,226,227,227, 13,179,102,205, 42, 7, 16, 55,107,214,172,242,248,248,120,
+ 67, 81, 81, 17,121,249,242,165,190, 87,175, 94, 74, 0, 51,155, 80, 79, 58,128, 67,193,193,193,132, 16, 66,214,175, 95, 79,124,
+124,124, 72,223,190,125,137, 66,161, 32,132,144, 52, 66,200, 97,157, 78,247, 73, 99, 56, 5, 2,193,228, 5, 11, 22, 40, 74, 75,
+ 75, 73, 21, 12, 6, 3,145, 72, 36,100,207,158, 61, 74,145, 72,116,185,142,151, 12,106,202,131,226,164, 56, 41,206,191, 27,231,
+ 63, 25,118,168,240,211,170,218,236,128,138,169,195,134, 48, 97,217,178,101, 85,162,234, 74,143, 30, 61,158,126,242,201, 39,226,
+ 79, 62,249, 68,220,163, 71,143, 59, 0,174, 69, 69, 69,137,151,246, 11, 11, 36, 0, 0, 32, 0, 73, 68, 65, 84, 46, 93, 42, 6,
+ 48,161,129, 11, 97,222,173, 91, 55, 73,110,110, 46,241,240,240, 32,205,154, 53, 35,185,185,185,132, 16, 66,158,125,220,129,220,
+108, 5,146, 17,121,133, 92,255,229, 12,153,101,199, 36, 61,237, 4, 90, 59,145,168,200,202,202,106, 3, 42,156,246,235,187,184,
+163, 90,181,106, 37,143,139,139, 83, 36, 37, 37, 41, 66, 66, 66, 20,125,251,246, 85,120,123,123, 43, 70,143, 30,173,216,189,123,
+183, 66,163,209, 40, 14, 28, 56,160, 48, 51, 51,139,171, 69,108,125,176,208, 98, 50,153,187, 98, 98, 98,200,155, 55,111, 72,165,
+149,162, 46, 78,129, 80, 40, 28,108,110,110,190, 72, 40, 20, 14, 6, 32, 0, 0, 15,128,223, 78, 0,231,207,219,185,122,133, 79,
+232,239,182,167,127,167, 14,129,166,116,137,246,187, 37,132,140,113,254, 32,161, 37, 16, 8, 38,127,241,197, 23,114,149, 74, 69,
+ 74, 75, 75,137, 66,161, 32,165,165,165, 68, 46,151,147, 9, 19, 38,200,184, 92,238,168,134, 56,173,172,172,190,142,140,140,212,
+229,230,230,146,200,200, 72,114,249,242,101,178,119,239, 94,131,141,141,205,246,166, 14, 64,145, 72,116,227,250,245,235,226,232,
+232,104,241,147, 39, 79,196, 90,173, 86,172,209,104,196, 26,141, 70, 28, 30, 30, 46, 14, 11, 11, 19,159, 60,121, 82,172, 86,171,
+197,106,181, 90,172, 82,169,196, 45, 90,180,184,218,212,107,228,199, 65,134,250,222, 5, 66,182,207, 35,210,205,115,137,100,241,
+ 80,146, 63,199,159,124,223,201,145,248, 27,227,226,123,253,168, 78, 78, 22,139,117, 55, 45, 45,205,176, 98,197, 10,117,235,214,
+173,165,211,167, 79, 47, 87,169, 84,132, 16, 66, 84, 42, 21,153, 62,125,122,121,235,214,173,165, 43, 86,172, 80,191,125,251,214,
+192,100, 50, 35,154, 80,207, 77, 85, 34,235,238,221,187,164, 38, 20, 10, 5,233,219,183,111,154,143,143,207,225,230,205,155, 79,
+108,136,147,207,231,143, 88,190,124,185,130,212, 2,173, 86, 75,228,114, 57,121,251,246,173,161, 89,179,102,217, 0, 44,169,155,
+ 57,197, 73,113, 82,156,148,208,250,203, 80,103, 10,158,122, 79,226,210,165, 75,197,132, 16,241,170, 85,171,196,149,150, 45, 35,
+ 0,252,202,141, 9, 96,252,242,229,203,197,132, 16,241,178,101,203,170,202,212,117, 33,134,157, 62,125, 90,179,115,231, 78, 98,
+107,107, 75, 68, 34, 17,217,181,107, 23, 49, 24, 12, 36, 55,252, 24,185,217, 10,228,213,202,169,132, 16, 66, 18, 55,204, 39, 55,
+ 91,129,164,252,176,142, 76,154, 52,169,212,196,196,100, 66, 61, 23,215,162, 67,135, 14,242,178,178, 50,197,145, 35, 71, 20, 38,
+ 38, 38,207, 0,180, 70,197, 84, 36,173,178,174, 83, 90,183,110, 45,139,141,141, 85,252,252,243,207, 10, 0, 33,141,236, 48,110,
+ 0,250,240,120,188,209,203, 29, 88, 73,228,224, 26,178,220, 22, 47, 1,180, 5, 96, 93, 89,198,126,217,178,101,132, 16, 66,156,
+156,156, 34,235,224, 20,120,123,123, 47, 75, 74, 74, 10,210,106,181, 65,209,209,209, 65, 45, 91,182, 92, 49,188,133, 93,215,115,
+ 19, 6,248, 74,215,205,245, 37,219, 22,123,127, 59,196,175,255,137,113,189, 39, 76,107,110,117,111,186, 13,183,116,172,128, 33,
+127,111,234,176, 81, 29,219,193,193,225, 73,122,122,122,181,184,146,203,229, 36, 43, 43,139,164,166,166,146,123,247,238, 17, 59,
+ 59,187,155, 13,113,138, 68,162,248,244,244,116,242,195,142, 29,100, 76, 91, 47,226, 47, 52, 37,189,204, 77, 73, 71, 62, 87,217,
+ 10,232,216, 84,161,245,252,249,115, 49, 0, 49, 0,113, 81, 81,145,184,168,168, 72, 92, 82, 82, 82,253, 29, 0,177, 84, 42, 21,
+ 75,165, 82,177, 90,173, 22,187,186,186, 54, 89,104,117,231,162,123,103, 46,138,187,114, 80, 54,204,193, 42,123,110, 11, 43,253,
+227, 9, 93, 73,201,188,190,100,167,175, 3,233,193,198,231,141,228, 28,198,102,179,239, 0, 88, 82, 41,202,167, 14, 30, 60,184,
+148, 16, 66, 6, 15, 30, 92, 10, 96,106,229,247, 95, 84,138,172,193,141,172, 39,221,221,221, 93, 89,101,201, 2,240,208,221,221,
+ 93,233,227,227, 67,124,124,124,136,147,147,147,188,146,187, 81, 55, 52, 55, 55,183,196,178,178,178,106, 1, 40,145, 72, 72,118,
+118, 54, 73, 73, 73, 33,113,113,113,228,217,179,103, 36, 45, 45,141,156, 58,117, 74, 47, 20, 10, 47, 81, 55,115,138,147,226,164,
+ 56, 41,161,245,151, 10,173,247,183,223, 10,173,240,240,240,247,101,215,230,168,168, 40,241,242,229,203,197,168, 39, 16, 23,128,
+217,171, 86,173,170,178,122,125, 83,207,195,255, 64, 98, 98, 34,153, 58,117, 42,241,244,244, 36,158,158,158,228,147, 79, 62, 33,
+ 82,169,148, 40,146, 99,201,205, 86, 32,207,198,118, 36,132, 16, 34,127, 21, 77,110,182, 2, 17, 79,234, 70, 94,188,120, 65, 28,
+ 29, 29,175,215,115,252,139, 15, 30, 60, 40, 56,118,236, 88, 46, 42,252,177, 88, 0,186, 0,216,101,108,108,124, 8, 21,211,133,
+205, 0,152,123,120,120, 20,151,150,150, 42,198,140, 25,163, 0,224, 92, 15,103, 47, 79, 79,207, 55, 7, 14, 28, 32,249,249,249,
+164,184,184,152,108,233,222,146,144,131,107,200,250,142,205, 12, 63,252,240,131,106,201,146, 37, 74, 11, 11,139,112, 0,246, 99,
+198,140,209, 17, 66,136,191,191,127, 94,109,100, 66,161,112,112, 82, 82, 82, 80,121,121,121,144, 68, 34, 9, 42, 46, 46, 14,186,
+112,238, 92,208,160,182, 45,167, 74,215,205,245, 61, 55, 97,128,239, 16, 7,243,209,219, 7,118,250, 52,107,197,204, 49,171,186,
+181,126, 85,190,105,225,237,143, 91,216,110,253,144,171,109,109,109,157,163, 82,169, 8,128,223,109,111,222,188, 33,150,150,150,
+233, 13,113, 88, 88, 88,172,250, 98,252, 56,253,168,102, 14,228,205,206,213, 68,123,227,103,162,189,124,132, 36,111, 94, 76,134,
+139,172,100, 93,140,232,203, 27, 91, 31,145, 72,116,227,201,147, 39,191, 17, 90, 37, 37, 37,181, 10, 45,153, 76, 38, 86,171,213,
+ 98,119,119,247,171,127,180,215,119, 97,195,181,151, 49,227, 89,244,212,158,164, 96,110, 95, 50, 88,192, 74,251, 3,116,227, 1,
+220, 1, 48,169,137,251,209, 1,108,170, 18, 84,155, 55,111, 38,132, 16,226,238,238,174,196, 31,139, 99, 39,240,242,242, 74,157,
+ 57,115,166,174, 85,171, 86,249,221,187,119,151, 60,125,250,148,220,189,123,151, 92,190,124,153,156, 57,115,134,196,198,198,146,
+172,172, 44,146,152,152, 72, 62,250,232, 35, 9,128, 94,212,189,144, 2, 5, 10,127,103,212,162, 69,254,209,168, 94,117, 24, 30,
+ 30, 78, 2, 2, 2,104, 53, 26, 40, 0,192,237,216,177, 99,193,166, 77,155,182,161, 34,172, 60,205,155,129,143,251, 26, 51, 95,
+244, 53,102,190,240,102,224,227, 74,139,209,254, 13, 27, 54,124,237,227,227,147, 3,192, 24,128,168,142,131,245,180,180,180, 68,
+122,122, 58, 4, 2, 1, 4, 2, 1,210,211,211, 65, 8,129,142, 0, 90, 2,168, 52, 26,148,149,149,161,220, 64, 80,102, 0,100,
+ 10, 5, 68, 34, 17, 52, 26,141,107, 29,109,104, 55,118,236, 88, 87,111,111,239,130,165, 75,151,102,163,194, 87,230,208,140, 25,
+ 51,110, 60,124,248,208, 91,161, 80, 20,199,197,197,149,183,109,219,118, 48, 0, 81, 82, 82,210,228, 61,123,246, 96,234,212,169,
+168,231,161,211,246,163,143, 62,186, 28, 27, 27,235, 58,105,210, 36,220,185,115, 7, 91,182,108, 65, 97, 97, 33, 1, 0,149, 74,
+ 69,244,122,189,166, 91,183,110,154,157, 59,119,250,249,251,251, 63,105,209,162, 5, 3, 0, 82, 83, 83,147,107, 35,164,209,104,
+ 45, 93, 92, 92,160, 82,169, 80, 80, 80,128,216,216, 88,152, 10, 4,136,201, 46,180,237,189,253,135,162,149,231,110,176,198,251,
+121, 91, 44, 26,208, 93,181,241,250, 29,143,214,246,182,182,106,141, 86,148,152,147,151,253, 33, 23,214,200,200, 40,189,176,176,
+ 16,106,181, 26,101,101,101,144,201,100, 40, 42, 42, 66, 97, 97, 33,178,179,179, 97,100,100,244,166, 33, 14,179,226,226,200,212,
+ 7,119,105,167,126,220, 12, 87, 93, 49,152,103,119,129,121,254,123,184,169, 11,176,111,245, 28, 83,181,165,117,176,153,169,105,
+137, 80, 40,220, 15,192,189, 33, 62, 95, 95, 95, 20, 21, 21,161,168,168, 8,150,150,150, 48, 55, 55,135,185,185, 57, 36, 18, 9,
+164, 82, 41,100, 50, 25, 60, 60, 60,208,174, 93, 59, 28, 61,122,244, 79,233,224,143,213, 72,209, 65, 63,247,198,235,108, 24,241,
+120,104, 97,206,119,233,196,135, 69, 61,187,244,101,177, 88,167, 45, 44, 44,174, 3,152, 7,128, 7, 96,158,133,133,197,117, 22,
+139, 53, 18,192,122, 0,199,154, 88,141,141,193,193,193,203,146,146,146, 76, 94,188,120,129,165, 75,151, 34, 36, 36, 4,201,201,
+201,223, 1, 48, 84,150,249,204,210,210, 50,156, 78,167,255, 15,192, 80, 0,131,237,236,236,250, 53,192, 59,114,201,146, 37,229,
+ 29, 58,116, 72,124,245,234,213,200, 7, 15, 30,116, 92,188,120,177,244,221,187,119, 72, 76, 76,132,157,157, 29,156,156,156,160,
+ 80, 40, 80, 82, 82,130,145, 35, 71, 10,204,204,204, 38, 80,183,113, 10, 20, 40,252,157, 69,214,123, 90,228,159,102,209,170,245,
+255, 90,223,168, 77, 76, 76,130,197, 98,113, 87, 31, 31, 31, 38,128, 83, 0,224,205, 64,224,200,110,237, 15,157,219,191,217, 39,
+108,231,106,159, 65, 62, 30,135,188, 25,168, 90,197, 22,222,177, 99, 71,115,177, 88,220,141,195,225,124, 94,151,176, 3, 0,115,
+115,115, 8, 4, 2, 8,133, 66,152,155,155,195, 96, 48, 64, 81, 90, 14,165, 30,144,151,171, 33,149, 74, 33,175,252, 95,161,210,
+ 64,169, 84, 86,239, 91, 11,122,207,156, 57,179, 96,207,158, 61,249, 57, 57, 57,155, 1,180,157, 58,117,234,136,221,187,119,227,
+214,173, 91,229, 67, 61,221, 44, 55,244,108,255,117,235,156,228, 32, 79, 22,102, 1,136,140,140,140, 68,183,110,221, 64,163,209,
+198,213, 70,104,108,108,252,253,137, 19, 39,140,227,226,226,224,230,230, 22, 55,110,220,184,143, 55,111,222,236,202, 83, 20,223,
+ 7, 0, 93, 81,110,220,252,249,243,215,108,216,176,161,160,160,160, 64, 83, 90, 90,106, 51,124,248,112,164,167,167, 35, 43, 43,
+235, 97, 29, 34, 51, 49, 58, 58,154, 72,165, 82,164,164,164, 32, 58, 58,218,120,205,154, 53,126,122, 58,125, 68, 38, 76,167, 77,
+237,222,209,111, 82,151,246, 56,246,232,133,209,189,215,169,194,142,205, 28,204,159,103,228, 52,215,210,240,230, 67,174,182, 92,
+ 46,223,245,245,215, 95, 43, 20, 10, 5, 50, 51, 51,241,242,229, 75,188,122,245, 10,105,105,105,216,178,101,139,162,184,184,120,
+119, 67, 28,246, 92,230,151, 91, 23,207,160, 49,227, 31, 2, 47,238, 2,165,114,160, 76, 1, 85,130, 24,135, 19,114,177,247,236,
+ 47,236,119,233,233,194,147, 39, 79,206,116,118,118, 22, 3,240,104, 72,213, 3, 0,157, 78,127, 95,132,130, 78,167,203, 1,228,
+242,120,188, 12, 83, 83,211, 12, 58,157,158, 75, 8, 81,254, 25, 61,159,174,131, 6, 12, 6,192, 54, 6,157, 85,111,106,207,143,
+199,141, 27,119, 34, 35, 35, 99, 80, 74, 74, 74,215,221,187,119,127,205,229,114, 99,118,239,222,253,117, 74, 74, 74,215,140,140,
+140, 65,227,198,141, 59, 1, 96, 74, 83,142,239,238,238, 62, 63, 40, 40, 8, 91,182,108, 65,187,118,237,224,225,225, 81, 26, 28,
+ 28,188, 11,192,106, 0,159,187,187,187,223,159, 63,127,254,244,252,252,124, 81,102,102,102,187,239,190,251,110,206,174, 93,187,
+ 58,101,103,103,115, 27,160,238, 49,112,224, 64, 92,185,114, 5, 0,114, 0,164, 20, 21, 21,233,178,179,179,225,229,229, 5, 63,
+ 63, 63, 40, 20, 10, 40, 20, 10, 72, 36, 18,184,184,184,192, 96, 48,116,165,110,229, 20, 40, 80,160,240,127, 42,184,106, 23, 90,
+ 92, 46,215,220,215,215, 23, 45, 90,180, 48, 71,229,106, 45, 75, 54,115,197,162,153,227, 77,248,226,171,160, 69,223,196,184,158,
+109, 76, 44,217,204, 21,149,187, 48, 93, 92, 92, 56,190,190,190,224,241,120, 14,117, 28,252, 78,110,110, 46,124,125,125, 33, 20,
+ 10, 33, 16, 8,224,235,235, 11,141, 70, 3,169, 92, 14,165, 30, 40,213, 26, 32,149, 74, 81, 92,144,135, 82, 61,160, 51,181, 68,
+ 90, 90, 26, 24, 12, 70,106, 29,156,118,110,110,110, 5, 49, 49, 49, 5, 0, 34, 1,124, 26, 18, 18,130,229,203,151, 99,237,218,
+181, 39, 76,114,222, 14, 60,113,229,188,229,241,224,207,172, 61,216,180,241, 0, 52, 25, 25, 25, 16, 10,133,224,241,120,181, 10,
+ 3,127,127,255, 14, 60, 30, 15, 71,142, 28, 33,153,153,153,221, 81,177,132, 63,149, 70,171, 16,123,198,116, 72, 1,236, 18,139,
+197,157,215,172, 89,243,186,127,255,254,172, 46, 93,186, 96,253,250,245, 0, 16, 94, 27,167, 68, 34,121, 60,101,202, 20,245,237,
+219,183,145,144,144,192, 59,119,238, 92,224,250,245,235,219,188,123,247,142,115,241,242,213, 33,161, 25,178,192,205,215,239,113,
+ 55, 92,187,243,216,202,140,215,186,185,149, 5,162,223,101, 25,233, 25,120,218,208, 21,237,204, 98,204,236,205,101, 70,247,228,
+208,115,122,115,153,226, 78, 44,198, 12,185, 92,126,242,194,133, 11,215, 22, 47, 94,172,200,207,207,135,169,169, 41,138,138,138,
+176,113,227, 70, 69,116,116,244, 89,181, 90,125,177, 33, 94,189,129,116,112,106,230, 12,188,137,169,254, 78, 99, 32,120,170, 54,
+ 66,192,167, 11,225,233,229, 5,181, 90,141,182,109,219,210, 66, 66, 66,120, 2,129,224,171, 6, 69, 15,253,119,221, 77, 71,163,
+209,114, 9, 33, 89, 10,133, 34,211,216,216,248,157,145,145,209,187,226,226,226, 76, 66, 72,222,159,161,179, 8, 29, 95,118,107,
+235, 14,112,140,241,174, 72,145,253, 76,129,226,218, 10,154,154,154,206,216,187,119, 47,247,224,193,131,218,249,243,231,171,230,
+204,153,195, 42, 43, 43,179,153, 51,103, 14,107,254,252,249,170,131, 7, 15,106,247,238,221,203,229,243,249,163, 63,164, 34, 90,
+173, 22, 49, 49, 49,155,147,147,147,121,168, 8, 55,178, 48, 56, 56,120,106, 82, 82, 18,119,207,158, 61, 56,115,230, 12,206,156,
+ 57,131, 17, 35, 70, 96,193,130, 5, 8, 10, 10,170,143,206,196,199,199,199,215,210,210, 18,119,239,222,205, 6,240, 14, 64, 7,
+ 62,159,111, 58, 98,196, 8, 12, 26, 52, 8,229,229,229,208,104, 52,213, 66,139,193, 96, 64, 40, 20, 90, 82,247, 64, 10, 20, 40,
+ 80,248,203, 69,214,111,196, 22, 19, 0,170, 76,117, 1, 1, 1,180,250, 30,140,250,146,124, 72,148,165, 72,147,150, 34,189,196,
+240,155,223, 12, 6, 67,189, 71,207,206,206,190,248,232,209,163, 25,190,190,190,204,236,236,138, 25, 49, 95, 95, 95,148,150,150,
+ 34,251,197, 19, 40, 13, 0,207,205, 27, 74,165, 18, 37,175,158,131,239,211, 21,150, 31, 77,194,246, 61,123, 84, 69, 69, 69, 63,
+214,198,201,102,179, 89,142,142,142, 5,169,169,169, 58, 0,197, 2,129, 96,160,179,179, 51,238,220,185, 3, 0,199, 8,176, 21,
+209,183,129,187, 97, 32, 21, 38, 21,190,139,139, 11,242,243,243,161, 80, 40,238,212,198,249,232,209,163, 36,173, 86,219,118,248,
+240,225,180,159,126,250,233,148, 76, 38, 91, 11,224,165,202, 0,198,139,140, 60, 40,245,224, 2, 24, 96,110,110,254, 69, 80, 80,
+ 80,191,249,243,231,227,194,133, 11,184,126,253,186, 6, 21,190, 96,143,106,161,149,166,164,164,236, 91,178,100, 73, 23, 58,157,
+254,233,141, 27, 55,116, 30, 30, 30, 50,141, 70,163,111,233,233, 73, 95, 27,178,206,104,222,167,179,133, 69,165,136, 31,212,210,
+174, 27,141, 6,196,103,229,191, 75, 86,160,168,190,115,234,207,102,132,143,236,238,227, 63, 99,220, 48, 62,207,173, 53,148,177,
+ 79, 68,251, 78, 95,222,110, 28,157, 20,112, 55, 63,127,196,133, 11, 23, 2,239,220,185, 51, 79,173, 86,183,224,112, 56,111, 36,
+ 18,201, 78,133, 66,209,160,200, 98, 48, 24, 31,169,236, 28,205, 37,197,197,224, 86, 90,162,100, 90, 3, 10, 85, 58, 36, 8, 61,
+ 48,193,209,169,122, 26, 52, 55, 55, 23, 34,145,136,166,215,235,135,213,199,121,253,250,117, 4, 4, 4, 84, 9, 79,208,104, 52,
+208,104,180, 66, 79, 79,207, 60, 14,135, 83,100,100,100, 36,219,186,117,107,121,121,121, 57,152, 76, 38, 87,175,215, 51,254, 72,
+111,247, 51,129, 13,135,208,190,159, 51,188, 79,255,118,173,189, 72,228,179, 23,180,146,210,242,195,245, 88, 1,191,115,119,119,
+103, 22, 23, 23, 95, 4,144,160,213,106,143,159, 58,117,138, 59,121,242,228,242,211,167, 79, 79, 4,224,186,109,219,182, 64,133,
+ 66,177,191, 41,245, 72, 78, 78,254,110,195,134, 13,203, 86,173, 90,133,163, 71,143,206, 79, 78, 78, 94, 94,105,233, 26, 17, 20,
+ 20,132,173, 91,183,226,232,209,163,134,132,132,132,203, 6,131, 33,121,241,226,197, 62,182,182,182,133, 57, 57, 57,201,245,208,
+118, 28, 60,120,176,234,254,253,251,108,185, 92,126, 15,192, 23,115,231,206,157,217,185,115,103,217,184,113,227,248,197,197,197,
+ 18, 19, 19, 19,246,129, 3, 7,204,153, 76, 38,148, 74, 37,104, 52, 26,228,114,185,154,186, 15, 82,160, 64,225,239,138,186,180,
+200, 63, 4,117, 62, 27,152,181, 53,176,180,180, 52, 47, 61, 61,221, 43, 43, 43, 75, 7, 64, 7, 0, 69,106,221, 55, 27, 14,132,
+ 29, 28,221,197,157,151,163,213,226,220,179,184,210, 34,181,174,202,249, 93,151,149,149, 37,127,247,238,157,105, 89, 89,153,162,
+142, 99, 61,252,254,251,239,203,110,223,190,109,154,146,146, 2,189, 94,143, 14, 29, 58, 32, 49, 49, 17, 37, 9, 49,224,121,117,
+ 0,175, 87, 0,226,196,207, 16,125, 61, 2,111, 21,106,221,235,213, 27,164, 10,165, 50, 72,163,209,156,171,141,144,197, 98, 21,
+ 3, 32,132, 16, 61, 0,200,100,178,151, 10,133,162,167,173,173, 45,226,227,227,121, 74, 61, 22, 4,174,216,190,155, 16,162, 55,
+170, 88,205,181,104,220,184,113,136,138,138, 2,128,168,218, 56,101, 50,217,252, 89,179,102,221, 62,114,228, 8, 51, 37, 37,101,
+208,193,131, 7, 7,189,126,253,154,208,138,211,245,247, 75, 89,112,157,186,160,211, 15, 46,158,215, 3, 2, 2, 96,103,103,135,
+ 3, 7, 14, 96,231,206,157,218,207, 62,251, 44,105,231,206,157,157,242,243,243,143,215,209,126,169, 68, 34,185,106,105,105, 57,
+175, 77,155, 54,114,165, 82,137,162,162, 34,100,103,103,195,194,210,146,174, 3,189,155,181, 80,120,252, 98,174,156,199,188,250,
+ 24, 79, 50,115,234,181,102,117, 97, 49,166,140,246,111,239,255,249,170, 21,124,220, 63, 7,218,172, 32,144,131, 95, 99,225, 39,
+129,166,229,170,227,189,148, 47,210, 38,139,101,178, 80,153, 76,118,166,137,157,101,112,183,110,221, 78,108,216,176,193,120,229,
+150, 13,216,230,229, 0, 93, 81, 17, 10, 84,122, 20,170,116,144,149, 36, 32, 62, 62, 14,150,150, 86,120,251,246, 45,202,203,203,
+241,234,213, 43,194, 96, 48, 46, 54,100,209,169, 66,141,233, 66, 9,135,195, 41, 98,177, 88,121, 76, 38,179, 56, 37, 37, 69, 89,
+ 94, 94, 14, 58,157,206,211,235,245,198,141,168,171,163,149,149,213, 98, 84, 4, 19,189, 32, 47, 44,220,229,203,130, 16, 76,244,
+118,177,178, 28,178,122,206,100, 43,103,123, 27, 73, 74,210, 27,237,143,215, 30, 20,150,171,234, 94,172, 1, 32,188,184,184,184,
+218, 34,121,250,244,233,133,167, 79,159,158, 9,224, 16, 42,242,110, 69, 72, 36,146, 31, 62, 96,240,173, 62,123,246,236,178, 85,
+171, 86,193,216,216,184, 58,120,170,177,177, 49, 23, 0,126,254,249,103,196,199,199,119, 70,165,191,150,193, 96, 56,145,147,147,
+211, 16,167,171,183,183,119, 74, 88, 88, 24, 27,128,253,220,185,115,187,238,222,189, 27,159,124,242, 73, 65, 92, 92, 92, 23, 0,
+169, 0, 92, 63,253,244,211,167, 71,143, 30, 53, 55, 24, 12, 40, 41, 41,129, 90,173, 78,165,110,229, 20, 40, 80,160,196,214, 95,
+ 2, 95, 0,209,168,136,159,245, 17,128, 75,168,112,235,168, 19, 78,149,234,236, 26,128,225, 85,207,199, 58,156,225,129,138, 21,
+ 89, 87, 1,252, 15,128,109, 93,164,150,150,150, 95, 77,157, 58, 85,155,153,153, 73,114,115,115,201,153, 51,103,200,162, 25, 83,
+245, 3,220,236, 13,110,246,182, 74,107,107,235, 68, 59, 43,139,195,237, 77,176, 8,128, 99, 35, 26, 54,245,245,235,215,179,167,
+ 78,157, 58,163,242,184, 51, 78,156, 56,161,184,113,227,134,130,193, 96,132,163, 34,180, 67,149,160,156, 50,108,216, 48,133, 74,
+165, 82,120,122,122, 22,163,194,113,191, 46, 4,246,238,221,187,228,202,149, 43, 68,175,215,255, 46, 70, 81, 65, 65, 1,185,126,
+253, 58,233,222,189,187, 4,192,228,126,253,250,221,121,240,224,193,157, 30, 61,122,156,109,168,194, 86, 86, 86, 43, 94,188,120,
+ 17,149,150,150, 38,190,116,233,146,248,248,241,227,226, 79, 63,253,244,165,143,143, 79, 89, 82, 82,146, 65,167,211,145, 23,207,
+159, 19,207,150, 45,149, 0, 92,234,226,233,107,204,124, 42, 59,240, 53, 41, 95,255, 9, 41, 31,233, 68, 0, 16,249,246,175, 72,
+222,252,254, 36,113,222, 16,210,135,203,120,244, 33, 61,197,194,194,226, 90, 84, 84, 20,145,203,229, 36, 54, 54,150, 76, 9, 24,
+ 68, 30,205,236, 79,174, 14,114, 39, 71,123, 53, 39,219, 7,250,144, 65,189,122,146,239,191,255,158,132,133,133,145, 21, 43, 86,
+ 24,172,172,172,228,168,199, 71, 75, 36, 18,221, 56,117,234,148, 24,128,152,193, 96,136,101, 50,153, 88, 46,151, 95,204,200,200,
+216,235,233,233,185,172, 77,155, 54, 19,189,188,188,250,246,105,238,178,172,159, 41, 39,177,191, 25,247, 77, 75,190,201,118,252,
+ 62,238, 85, 53, 4,128,139,155,171,171,252,238,221,187, 6,149, 74, 69,238,221,187,103,104,213,210,163,124,219,216,193,103,223,
+ 30,216,116,182,252,202, 79,215, 74,207,239,127,112,122, 90, 64, 76,111, 19,250, 79, 93,121,213,225, 56, 62, 20,227, 1,156,195,
+175,171, 14,167, 2, 56,143,250, 87, 33,210, 1, 28, 90,191,126,125,205,149,134, 0, 64,247,241,241, 17, 19, 66,196, 62, 62, 62,
+226,166, 86,196,196,196,100,241,133, 11, 23,130,157,157,157,183,140, 27, 55,238,128, 68, 34,185, 52,113,226,196, 24, 84, 44, 6,
+161,161, 34, 59,194, 48, 71, 71,199,130,232,232,104,114,231,206, 29, 50,102,204, 24,185,145,145,209, 36,234, 54, 78,129, 2, 5,
+ 10,127, 9,102,215,246,217, 80, 28,173, 13, 49, 49, 49, 85, 49,180,230,214, 71,190,124,249,114,113, 84, 84,148, 24, 21, 81,226,
+235, 5,147,201,252,229,179,207, 62, 35,182,182,182, 10, 27, 27,155, 95, 88, 12,198, 76, 39, 99,248,226,195,150,186,247, 12, 13,
+ 13, 29,241,221,119,223,125, 4,160, 51, 0,150,131,131, 67,118,110,110,174,226,193,131, 7,138,238,221,187, 43,172,172,172,242,
+189,189,189, 21,219,182,109, 83,104,181, 90,197,226,197,139, 21,248,125,188,175,218,192, 5, 48,143,205,102,255,210,170, 85,171,
+152,213,195,251,106,183, 44,152, 73,166,186, 91, 43, 0,124, 7,224, 51, 0, 66, 0,172,192,192,192,155,175, 94,189,186,230,237,
+237,189,175, 17,188,246,109,218,180,185,117,226,196,137,168,176,176, 48,241, 87, 95,125, 21,101,105,105,153,153,148,148,100, 40,
+ 47, 47, 39, 37, 37, 37, 68, 34,145,144, 75,151, 46,233, 45, 44, 44,246,212,217,112, 14, 35,135, 92, 63, 86,107, 8,135,140, 85,
+147, 72,119, 54, 61,235, 67,122, 10,143,199, 43, 46, 42, 42, 34,185,185,185, 36, 37, 37,133,156, 61,123,150, 12,238,230, 71, 78,
+126, 58,154, 28,155, 49,130,108, 29,236, 71, 58,155,114,149, 34, 83,126,148,169,169,105,126, 99, 86, 29,138, 68,162, 27, 42,149,
+170, 58,124,131,163,163,163,216,211,211, 51,204,219,219,123,251,133, 11, 23, 22,238,216,177, 99, 68,159,230, 46,203, 54, 14,234,
+ 86, 86, 26,113,154,200, 79,125, 71,150,119,240, 40,175, 20,243,181,194,193,210, 34,244,238,157, 59,134, 42,241,171,211,233,200,
+185, 95,126, 33, 99,135, 12,136,145, 94,253,249,127,247,130,230,159, 88,220,193,227, 92,119, 46,198,215, 39,216,170, 95, 69,248,
+176,244, 55,163,239, 29,234,108,145,211, 83, 64,255,174,139,233,111,210, 75,141,245,240,240, 72, 33,132,228,120,121,121,165, 0,
+ 56,230,229,229, 85,243,255,105,117,208, 86, 7, 39, 13, 14, 14, 38,149,227,131, 14, 96,237,134, 13, 27,196,132, 16,177,187,187,
+251,125, 0,104,199,131, 85, 47, 1,253,127,195, 93,109,139,122, 9,232,255,107,199,171, 61,101,148,139, 17, 90,246,180, 54,185,
+ 55,194,221, 78,222,219, 65, 16,121,236,240,193, 45, 67,135, 14, 61, 0, 96, 15,128,175, 45, 45, 45,239,141, 31, 63, 62,254,232,
+209,163,241,219,182,109,211, 36, 37, 37,145,233,211,167, 43, 57, 28,206,215,212,125,144, 2, 5, 10, 20,254, 50, 84, 69,134,183,
+107,138,208, 26,182,108,217, 50, 49, 33,164, 42,150,214,228, 90,202, 12, 95,181,106,149,152, 16, 82, 21, 29,254,253, 0,102,181,
+ 5, 52, 11,222,187,119, 47,225,112, 56,255,251,192,198,212,228, 20,141, 28, 57,178,139, 76, 38,235,100,107,107,219,169,210,114,
+229,100,101,101,149,114,252,248,113, 69, 89, 89,153,130, 16,162,208,233,116,138,168,168, 40, 69,239,222,189, 21, 53,222,250, 27,
+170,231,111,176, 82,132,251,207, 86,207, 32, 43, 69,184,255,222, 79,147, 14, 29, 58,116, 37, 53, 53,245,162,153,153,217,210, 70,
+114, 58, 89, 91, 91,175,181,176,176,184,102,101,101,181,210,194,194, 34, 71,163,209,144,146,146, 18,146,152,152, 72,238,220,185,
+ 67, 30, 61,122, 68, 44, 44, 44, 50,235,170,103, 63, 99,230,227,146, 45,243,136,225,208, 6,162,222,189,130, 0, 32,146, 29,203,
+ 73,225,247, 33,228,217,172, 65,164, 55,151,241,240, 3,206, 39,132, 66,225,254, 95,126,249,197,144,156,156, 76,194,195,195,201,
+165, 75,151,200,130, 5, 11, 72, 75,123, 59, 85, 23, 54, 61,175, 39,135,121,237, 67, 2,150,170, 84, 42,177, 76, 38, 19, 43, 20,
+ 10,113,171, 86,173,196,126,126,126, 97, 93,186,116,217,126,250,244,233,133, 27, 55,110, 28,209,207,148,147, 88, 26,113,154,144,
+175,134, 16, 50,175, 7,121, 51,179, 55,233,107,204,124, 81, 39,167,173,109,102, 85,180,118,165, 82, 73, 34, 35, 35,201,173, 91,
+183,136,200,202, 74,230,111,204,152,221,157,131, 94,221,205, 32,108,108, 61,251, 8,232,135, 31,127,255,141,190,236,202, 81,242,
+243,212, 33,186,222, 66,250,222, 26,229, 78, 18, 66,114,198,140, 25,243,150, 16,146,115,246,236,217, 12, 66, 72,206,232,209,163,
+223, 18, 66,114, 0,156,168,141,243,189,224,164,135, 42, 69,214,188,224,224, 96, 49, 33, 68, 28, 28, 28, 44, 6, 42,130,168,246,
+ 18,208,143, 60,217,183,213,160,186,116,132,156,158,254,145,190,151,128,126,164,214,122, 10,153, 23,163, 15,237, 32,234,107,199,
+200, 47, 11, 38,234,123,136,204,238,122,120,120,108, 93,184,112, 97,216,163, 71,143, 94,234,245,250,248,148,148,148,248, 61,123,
+246,196,119,237,218,245,190,165,165,101, 12,155,205,254,172,161,107,244, 39,129,226,164, 56, 41, 78,138,147, 66, 13, 16, 66, 80,
+223,122,247,139,155, 55,111,230, 17, 66, 22, 7, 6, 6, 98,211,166, 77, 99,219,180,105, 51,222,193,193,193, 26, 0,178,179,179,
+ 75, 99, 99, 99,101,129,129,129, 88,187,118, 45,182,108,217,178, 29, 21,190, 44,255,151,200, 61,119,238,156,227,252,249,243,243,
+ 55,110,220,104,152, 62,125,186, 23,128,216,194,194,194,150, 19, 39, 78,156,199,100, 50, 3, 93, 92, 92,188,115,114,114, 10,202,
+202,202,142, 1,216,135, 6,230, 76,235, 2,135, 14,125,199,102,118,184, 70,135,190,198,215, 67,214,174, 93, 59,110,244,232,209,
+154, 29, 59,118,232,100, 50,217,133, 70,210,101, 20, 20, 20,172,171,250,199,194,194, 66,244,226,197,139,207,108,108,108,232, 41,
+ 41, 41, 80,169, 84, 72, 78, 78, 54,160, 98,106,170, 86, 40,116,100,215, 15,103,111,120, 46,158, 20, 96, 86,154,240, 28, 70, 12,
+ 6,180, 44, 54,114, 31, 95,195,161,200, 4,153, 82,131,221, 31,210, 78,137, 68,242,237,130, 5, 11, 38, 46, 93,186,148,235,226,
+226, 66,123,248,240, 33, 78,157, 58,165,202,207,207, 31, 12,224,238,175,161,159,154, 6,131,193, 0, 54,155, 13, 0, 88,190,124,
+ 57,232,116, 58, 43, 63, 63,159, 77,163,209, 56, 52, 26,205,132, 70,163, 49,180,169,241, 48,200, 74,144, 87, 34, 65, 70,158,164,
+ 94, 62,189,193,112,234,201,147, 39,139,218,183,111, 79,127,246,236, 25, 10, 10, 10,144,156,156, 76,244,132,156,136, 44,211, 87,
+ 56, 37,170, 26, 95, 63, 19, 11,203,145,237,204, 57,116,246,225,181,240, 87,211, 25, 63, 26, 48, 6, 21,177,180, 0,224, 16,141,
+ 70, 51, 2, 80,212,170, 85,171, 62,175, 94,189, 50,110,213,170, 85, 89, 66, 66,194, 21, 26,141,230, 0,224, 72,109,156,198,198,
+198,133, 0, 10,207,158, 61, 11, 0,179, 80,113,242, 58, 4, 5, 5,229, 68, 70, 70, 34, 56, 56, 56, 15,192, 94, 0,224,155, 91,
+ 14,247, 22, 24,209,216, 63, 5,163,171, 10,244,221, 6, 82,171,213,149,111, 99,219,183, 13,143, 14,214,193, 53,232, 36,242,164,
+179,117,154,182, 33, 33, 33,145, 10,133, 66,117,242,228, 73,245,180,105,211, 24, 73, 73, 73, 79, 1,220, 3,112, 22,149, 62,150,
+ 20, 40, 80,160, 64,225, 47,197,251, 97, 29, 26,244,209,122, 95,181,110, 2,240,195,235,215,175,171,147, 74,191,126,253, 90, 12,
+224, 71, 84, 68,131, 31,214, 4,197,187,186,210,162,181,239, 3, 27,243, 62, 39,215,215,215,215,248,213,171, 87, 70,168, 61,225,
+ 49,237, 3, 56,127,135,218,114, 29,122,120,120,236,212,106,181, 97, 63,254,248,227,105, 6,131, 49,241, 15,168,125, 23,119,119,
+247,146,227,199,143, 27,194,195,195,201,234,213,171,245,118,118,118, 37,248,189,143,214,111, 56,253,217,140, 51, 75,188, 28,100,
+ 81,147,123,144, 55, 11,135,147,123,147,122,147,217, 14,124,153, 63,151,113,234, 15,190,149,184, 11, 4,130, 67,198,198,198, 50,
+ 51, 51,179, 27, 0,186,253,145,107,100,105,105,121, 84, 36, 18,221,168,185,217,218,218,134, 89, 91, 91,127,103,101,101,181, 90,
+ 40, 20,206,113,229,178,119, 44,108,105, 95, 30, 51,178, 21,137,232,110, 77, 38, 89,177,223,159, 58,124,191,158,118,174,174,174,
+ 69,161,161,161,134,139, 23, 47,146, 21, 43, 86, 24,154, 53,107, 38, 67, 61,126,109,245, 90,180,132,140, 83,103, 70,119, 49,228,
+125,228, 64, 54,121,153, 26,250,152, 51,234, 90,161, 56,169, 82, 0, 79,109,136,211,205,205,237, 71, 66,200,225,245,235,215, 31,
+198,175,185, 64, 7,132,132,132, 4, 17, 66,130, 66, 66, 66,130, 0, 12, 2, 0,127, 1, 61,244,216,136,142,250,236,161,246,228,
+ 27, 47,190,222, 95, 64, 15,173,213,146,105,193, 60,119,126,230, 71,134,156,153,221,201, 90,119,158,190,139, 5,231, 38,155,205,
+ 94,136, 10,139,179, 31, 0, 54,245,214, 76,113, 82,156, 20, 39,101,209,250,123, 8,175,198, 36,149,174, 9,145,133,133,197,161,
+ 22, 45, 90,156,118,113,113, 57,205,231,243,183,163,194,105,190,169, 23,194,117,195,134, 13, 50,129, 64,208,238, 79,188,184, 54,
+ 0, 28,240,251,196,185,127, 90,135, 89,103,135,249, 73, 75,199,190, 88,103,135,249, 53,190,246,243,242,242,250, 6, 21,209,188,
+255,104, 39,116,177,176,176,216, 99, 97, 97,145, 89,233,155,229,210, 24,206,142, 12,198,196, 62, 92,198,195,110,108,122,110, 31,
+ 46,243, 65, 39, 6, 99,194, 63,116, 0,214,183,216,162, 46, 78, 71, 43, 43,171, 29, 22, 22, 22,217, 86, 86, 86,123,154, 40,178,
+126,195,217,206, 24,118,125,133,140,115,221, 76,105,202,190, 2,198,217,142, 38,117, 47,234,104, 66,219,125,131,131,131, 63, 33,
+132,124, 98,111,111, 31, 88, 67,248,123,175, 93,187, 54,128, 16, 18, 80, 21, 1,222,207, 4, 54,189,133,140,227,221,205,104,146,
+222, 66,198,113, 63, 19,216,212, 85,207, 62, 66,198,169,238,102, 52,137,191, 25,253,184, 51, 7,205,168,155, 57,197, 73,113, 82,
+156,148,208,250,119, 8, 45,170,195, 80,156, 20, 39,197, 73,113, 82,156, 20, 39,197, 73, 9,173,218,133, 85,205,205,174, 74,104,
+ 49,169,115, 67,129, 2, 5, 10, 20, 40, 80,160,240,135, 80,103,192, 82, 90, 61,170,180, 41,142,237, 31,162,108, 35, 40, 78,138,
+147,226,164, 56, 41, 78,138,147,226,252,207,113, 54,196,253,127,189,176,238, 47, 3, 53,117, 72,113, 82,156, 20, 39,197, 73,113,
+ 82,156, 20,231,223,133,243, 95, 7, 66,200, 7, 5, 9,165, 64,129, 2, 5, 10, 20, 40, 80,160,240, 43,124, 43, 63,171, 3,151,
+ 86, 89,179,106,245,209, 98,250,173,207,211,233,116, 54, 0,192,100, 50,243,181, 79, 87,219,213,199,206, 2,250,233, 42,210,239,
+128, 9,204,210, 1, 55,106,225,188,161,211,233,204, 43, 57, 75,180, 79, 87, 15,170,151,211,111,253,181,154,229,117, 79, 87, 15,
+248,157, 82, 4, 24, 44,191,245,217,239,213,213,190,177,103,133,134,223,196,196,250,203,234,249, 79,225,252, 47,131,213,121,125,
+158, 86, 91,209,143, 88, 44,102,190,230, 73,253,253,200,168,243,250,236,154,229,181, 79, 86,219,214,199,105, 98,204, 41,114,115,
+176,222, 94, 31,103, 74,118,225, 98,101,105,185,101,125,156, 77, 29,155, 78,118,118,253,244,149, 99,147, 1,204,202,204,201,185,
+241, 55,235, 75, 29, 1,172, 6, 96, 86,227,187, 24, 0, 95, 80,189,146, 2, 5, 10,255, 48,161, 21,141,138, 60,135,251, 43,197,
+214,254, 58,133,150, 78,167,179, 17,255, 18, 4,165, 10,232, 55,101,189,141,235,200,125,191, 75,148,172, 43, 47, 97, 75,226, 78,
+122, 51,180, 50,115,107,166,198, 44, 59, 59,155, 6, 0, 52, 26,237,127, 0,156,107,225, 52, 23,255, 18,132, 82, 53,224, 63, 62,
+196,220, 25, 48, 43, 48, 50,250,210,152,199,235, 83, 86, 86,214, 6, 0,140,141,141,227,202,148,202,219,214, 26,205,182,247,203,
+215,213,178,154,117,237, 59,121,189,141,215,200,125, 11,244, 6, 3, 59,235,217,143,254,229,133, 73, 76,150, 78,181,119, 37,112,
+ 37,168, 22, 81, 85, 7,223,175,199,253,120,133, 37, 11,232,203,230,114,219, 9,205,205,123, 26, 8,105,101, 48, 24,104,122,157,
+ 46, 94, 38,149,222, 51,232,116, 47,116,106,165,165,248,194, 55,134,250,234,249,126, 91, 62, 6,152,191, 0,129, 60, 62,191, 15,
+131,197,234, 6, 0,122,173,246,161, 82,161,184, 61, 10, 56,211,152,182, 55,246,252,124,104,249,255, 26,180, 90,157, 77,234,181,
+ 32,168,180,128,239,152,111,108,124, 38,254,116, 28, 0,212,249, 47,108, 21, 73, 23, 58, 3, 0,207, 45,224, 9, 71,228,155, 7,
+ 0,204,119, 57, 54,137,225,171,160,210, 2,173, 2, 66,108, 26,226,156,182,246,148,229,210,217,163, 57, 0,112,253,236,119, 45,
+111,133,253, 48, 4, 0,250,142,158,123,101,224,152,249,137, 0,176,101,127,152,229,137,111,198,214,203,217,184,177, 41, 53,146,
+ 38,133,187,171,101, 57, 66, 39, 30, 83,148,148,148, 68, 7, 0,123,123,251, 70,141, 77, 71, 64,144, 3,204,163, 51, 24, 61,221,
+220,221,125, 1,144,148, 55,111,162,245, 58,221,125, 59, 96,239,159,220,151, 22, 16,242,219,224,172, 52, 26,141,234,144, 20, 40,
+ 80,248,167,225, 82,165,184,186,244,187,151,217,186,246, 80,170,128,187,201, 64,175, 46, 62,152, 61,113, 40,191,230,111,103,246,
+133, 56, 39, 61, 59,239,117,240,167,109,116, 31, 31, 31,164,166,166, 54,170, 22,165,106,224, 78, 18, 0,201, 43,211, 18, 30,239,
+205,142,173, 91,205, 6, 12, 24,192,180,183,183, 7,141, 70, 67,110,110,110,151,136,136,136,142,139, 22, 45,250, 20,146, 87, 37,
+165,106,200,239, 36, 53,204, 91, 85,215, 54, 45,155, 97,245,252,177, 2, 0, 88, 57,101,111,199,103,175,243, 44,222,188,121,211,
+111,217,178,101, 69,140,219,183,127,176, 2, 14,231, 1, 25,141,169,231,209,139, 79,184,130,156,159, 93, 39,205,159,127,214,221,
+221,157,239,226,226, 66, 51, 53, 53, 5,131,193, 64, 73, 73,137,115,108,108,236,144,167, 79,159, 42, 35,238,254,143, 29,245,116,
+120, 74, 62,183,115,121,163,218, 94,150,205,189,110,106, 26, 55,121,212, 40,199,177, 99,199,114,221,220,220, 0, 0,111,222,188,
+241, 56,115,230,204,248,179,103,207,174, 69, 89,182,174, 84,141,242,134,218, 94,205, 9,128, 11,116, 19,218,216, 76, 98,176, 88,
+109,116, 58,157, 67,165,181, 33, 75,175,213,198, 73,242,243,143,189, 95,158,194,239,161,210, 2,175,114,128,254, 61,125, 49,121,
+116,127, 30, 0, 44, 27,183,161,203,187,183,201, 70,106,181, 26, 45, 61, 91,117,255,250,155,237,215, 64,167, 35, 52, 44,162,186,
+124, 99, 56, 99, 94,165, 34,232,235, 29,200,126,121,166,139, 94,154,220, 71, 46,147, 50, 0,192, 76, 32, 24,125,230,228,207,183,
+237,189, 3, 31, 39, 23,106, 26,197, 89,223,216,188,122,114,143, 93,102,236,237,214,223, 95, 63,196,114,118,118,198,203,151, 47,
+155, 54, 54,165,175, 77, 13,118,118,241,219,190,250, 74,228,239,239, 15, 62,159, 15, 38,147, 9,157, 78,215,255, 42,105,207, 98,
+ 0, 0, 32, 0, 73, 68, 65, 84,254,253,251,253,131,130,130,230, 66,250, 90,217,216,177,217, 8,108,163,209,104,125,166,205, 94,
+ 96, 55,116, 68, 32, 70, 15,238, 78,117, 68, 10, 20, 40,252,211, 80,101,189,170,185,242,112,127,189, 66,139,201,100,230, 15,152,
+186,209,166,103,231,182,120,246, 34, 81,154,150,158,163,168,250,173, 56,238, 76,203, 17,221, 29, 90, 71, 70,222,133, 74,165,194,
+195,135, 15,241,226,197, 11,188,125,251, 22,115,230,204, 81, 85, 78, 29,214,198, 89,226, 63, 62,196, 28,210, 36,190, 7,251,117,
+243,136,132, 4, 70,121,121, 57, 34, 35, 35, 81, 82, 82, 2, 54,155, 13, 71, 71, 71, 12, 28, 56,144,153,144,144, 96,209,111,192,
+ 96,129,255,224, 9,169, 16,120, 40,152, 76,102, 73, 93,121, 68,152, 76,102,126,191, 41,235,109, 90,123, 52,195,155,180,108,233,
+234,111, 14, 42, 12, 6,194, 76,121,251, 78,115,247,238, 93,248,250,250,226,198,141, 27,150,197,197,197,107,246,238,221,187,154,
+181,249,251, 93, 90,117,209, 18,212,205, 87,226, 63, 62,196,220, 50,255,180,203,173,171,231,140,226,226,226,140,126,252,241, 71,
+ 20, 21, 21,129,205,102, 67, 40, 20, 66, 36, 18,161,101,203,150,180,149, 43, 87,242, 3, 2,226,240,249,172, 64, 23,141,235,204,
+215,117,213,179,186,237,138,119, 38, 86,178,235,110, 97,151, 46,209,123,244,232,241,155,215,246, 22, 45, 90, 96,208,160, 65,220,
+ 73,147, 38,185,141, 29, 63,209,224,255,209,180, 55,224,187,148, 54,200,169,204, 48,182, 44,125,100,223,127,252,248, 11, 33, 33,
+ 33, 66,145, 72, 4, 30,143, 7, 0,144, 74,165,142,105,105,105, 93,214,174, 93, 59,230, 73,204, 73,166,127, 64, 70, 54,120, 78,
+101,245,157,207,255, 42, 88, 44,102,126,149, 21,201,148,103, 92,146,145,153,167, 4, 0,181, 90, 13,181, 90, 13,149, 74,133,207,
+230,206, 97,204, 26,227,231,238,210,115,193,243,183, 89,121,197,173, 34, 30, 91, 84,237,171,109,128,147, 89,250, 86, 34, 73,191,
+ 57, 43,232,171,175, 68,182,182,191,206, 8,134, 30, 61,202, 40, 46, 46,238, 31, 20, 20,212,154,152,244,150,180, 10, 8, 17,214,
+199, 89,223,216,148, 36, 94,106,254,245,252, 65,237,246,125, 19, 14,189, 94,143, 71,143, 30, 33, 50, 50, 18,219,183,111, 39, 87,
+174, 92,145,154,241,120,179, 80,239,216,124,109,218,195, 46,215,117,243,230,179, 52, 14,135,131,243,231,207, 35, 33, 33, 1,116,
+ 58, 29, 62, 62, 62,152, 60,121, 50,250,247,239, 47,154, 61,123, 14,241, 31, 60, 46, 5, 2, 79,249, 31,236, 75,116, 0, 11, 86,
+ 4,109,182,155, 50,115, 30,182,124,189,146, 18, 90, 20, 40, 80,248, 39, 91,179,234, 12,241,128,240,240,112, 82,185,245, 2, 0,
+ 2,208, 91,140,220,119,226,116,148,225, 82,139,145,251, 78, 16,128, 78, 0,186, 25,208,172,125,251,246, 90,137, 68, 66,158, 62,
+125, 74, 62,251,236, 51,229,174, 93,187,110, 95,186,116,233,140, 78,163, 57, 96,111,103,247, 45, 65,237, 14,246, 4,160,187, 0,
+ 2, 19, 19,147,130,244,244,116,114,249,242,101, 18, 28, 28, 76,142, 29, 59, 70,174, 92,185, 66, 34, 34, 34,200,149, 43, 87,200,
+137, 19, 39, 72, 76, 76, 12, 73, 76, 76, 36, 60, 30,175,192, 5, 16,212,195,201, 32, 0,163,229,200, 31,151,156,125,166, 13,241,
+ 28,185,111, 17, 1, 24,230,128, 87,251,246,237,245,103,206,156, 33,161,161,161,228,167,159,126, 34, 49, 49, 49,164,176,176,144,
+ 48, 57,188,130,170,253,234,170, 39, 1,232, 14, 14, 14, 5, 18,137,132, 56, 57, 57, 17, 54,155, 77,108,109,109, 73,203,150, 45,
+ 73,151, 46, 93,200,144, 33, 67,200,196,137, 19,201,154, 53,107,136, 68, 34, 33, 92, 46, 55,175,106,191,186, 56,125, 1, 99, 30,
+143,151, 46, 22,139, 73, 93, 40, 43, 43, 35,133,133,133,228,218,181,107,132,199,227,165,251, 2,198,245,113, 26, 3, 29,188,189,
+189, 11, 10, 11, 11,137, 70,163, 33,233,233,233, 36, 54, 54,150, 36, 36, 36,144,244,244,116, 82, 86, 86, 86,205,157,152,152, 72,
+ 92, 93, 93, 11,140,129, 14,117,113,254,151, 81,213, 39,222,223,156,109,109,135,136, 68,162,178,179,103,207,146,172,172, 44,114,
+228,200, 17, 66, 7, 54,188, 95,174, 62, 78, 54, 48,176, 71,143, 30,250, 71,143, 30,145,231,207,159,147,229,203,151,147, 65,131,
+ 6,145,193,131, 7,147,160,160, 32,146,153,153, 73, 50, 51, 51,201,144, 33, 67,244,108, 96, 96, 67,253,179,182,177, 41, 0,156,
+ 3, 2, 2,202, 52, 26, 13, 73, 73, 73, 33,109,218,180,201,100, 0,147,120, 64,235, 94, 0,167,161,254,233, 0,152,219,217,217,
+229, 60,122,244,136,132,133,133, 17, 23, 23,151, 2, 6, 48,205, 12,104, 97, 6,180, 96, 0,211, 90,180,104, 81,240,232,209, 35,
+ 82, 84, 84, 68,156,157,157,115, 28, 0,243, 63,208,151,232, 0, 14,173, 8,218, 76, 94,103, 42,201,138,160,205, 4, 64, 58,169,
+240, 30,189, 65,245, 72, 10, 20,254,123,120, 95,139,252,227,159, 43,132,252,118,213, 97, 64, 64, 0, 13,192,157,250,118, 42, 99,
+ 48, 54,110,217,178,133, 89, 94, 94,142,131, 7, 15,202, 63, 30, 51,230,116,175,158, 61, 83,154,187,184, 72,104,116,122,131,217,
+134, 11, 56,156,133, 91,182,108, 17,170,213,106, 68, 69, 69,161, 99,199,142, 16,137, 68,224,243,249,224,243,249,176,177,177,129,
+167,167, 39,242,243,243, 97,106,106,138,165, 75,151, 10, 10, 56,156,133, 13,241, 26, 12,132, 9, 0,122,131,129,109, 4,204,118,
+237,212, 41,106,237,218,181,116, 75, 75, 75, 88, 88, 88,128,207,231, 35, 33, 33, 1,106,181, 26, 38,198, 38,141, 10,210, 74,167,
+211,233,124, 62, 31,183,110,221,194,130, 5, 11,208,173, 91, 55, 8,133, 66,152,154,154,162, 77,155, 54, 24, 56,112, 32,102,205,
+154,133,148,148, 20,208, 26,225, 84, 18,207,100,206,155, 53,107,150,141,175,175,111,173,191,151,151,151, 67, 34,145,160,160,160,
+ 0,142,142,142, 8, 12, 12,180,137,103, 50,231,213,197,103, 9,136, 28, 61, 60, 46, 60,125,250,212,138,199,227, 33, 52, 52, 20,
+231,206,157,195,213,171, 87,113,249,242,101,132,135,135,227,252,249,243, 40, 40, 40, 0, 0,120,120,120,224,212,169, 83, 86,124,
+ 27,155,112, 75, 64, 68, 13,233,198,225, 93, 94,222,245, 54,185,185, 86,147, 38, 78,188,167, 80, 40, 48,105,210, 36,108,220,180,
+105, 37, 11, 88,212,152,253, 61, 1,129,133,157,221,225,205,155, 55,211,115,115,115, 49,106,212,168,194,109,155, 54,205,136,190,
+118,205, 77,124,245,170,219,198,144,144, 25,189,122,245, 42,204,204,204,196,209,163, 71,233,182,206,206,135, 61, 1, 65, 83,235,
+ 41, 7, 22,236,220,185,147, 91, 94, 94,142, 1, 3, 6,164, 24,226,226, 60,117,192,207, 10, 32,225, 14,160,105,104,255, 28, 96,
+222,210,165, 75, 69, 28, 14, 7, 95,126,249,101, 97,233,187,119,109,117,192, 79, 82, 32, 77, 10,164,233,128,159,228,169,169,109,
+167, 76,153, 82,200,225,112,176, 99,199, 14, 81,206,175, 73,183, 27,139,142, 0, 46, 0,184, 11, 32,123,218,236, 5,211,124,253,
+186,226,232,129,189,248, 38,100,217, 97, 0, 31,211,104,180, 99, 0,150, 80, 61,143, 2,133,255, 38, 26,163, 69,254,166,152, 93,
+215, 15,204,154, 74, 18, 64,239,250, 88,204, 45, 45, 59,182,109,219, 22,145,145,145,240,246,246,126, 42, 20, 10,117, 70, 28, 14,
+ 88, 44, 22,136,161, 65,157, 5, 99, 30,175, 95,255,254,253,153,143, 31, 63,134,171,171, 43,140,141,141,193, 98,177,126,179, 25,
+ 25, 25,193,206,206, 14, 50,153, 12,253,250,245, 99,237,222,189,187, 31, 84,170,175, 27,124, 32, 38,197,242, 11, 30,111,158,248,
+191, 35,135, 91,248,251,251, 67, 42,149,193, 96, 48,192,196,196, 4,106,181, 26, 76, 38,179, 98, 10, 72, 75,100,141, 57, 99,122,
+189, 94,207, 96, 48,224,234,234,138,141, 27, 55,162,188,188, 28, 70, 70, 70, 0, 0,153, 76, 6,137, 68,130,216,216, 88,164,165,
+165,129, 52, 34, 34,153,169, 64, 48,116,236,216,177,181, 38,252, 85,169, 84,144, 74,165,144, 74,165,144, 72, 36, 40, 47, 47, 71,
+215,174, 93,217,151,194,195,135,162,168,104, 91,173,251,112,185, 99,142, 30, 61,106,195,102,179, 81, 86, 86, 6,185, 92,142,140,
+140, 12,188,123,247,174, 60, 63, 63, 95,103,106,106, 74,119,113,113,161,115, 56, 28,206,200,145, 35,105, 50,153, 12, 52, 26, 13,
+ 1, 1, 1,150,199, 67, 67,199, 66,173,222, 78, 13,233,198,225, 58,160,234,160, 86, 15,235,236,231,119,235,233,179,103,190, 11,
+ 23, 46, 68, 76, 76,204,102,147,147, 39,239,150, 2, 47,234,219, 55, 5,152,247,109, 13, 1, 67,222,189,243,214, 0, 5, 53,138,
+164,185,164,166, 94,157, 50,101,202,203,152,152, 24,171, 29, 59,118,136, 62, 30, 53,106, 30,128, 13, 77,169,163,169, 64,208,201,
+206,206, 14, 87,174, 92, 65,250,219,183,203,116, 64, 89,147,204, 75, 12, 70, 15,127,127,127,156, 63,127, 30,153,239,222, 45,211,
+253,182,142, 21, 47, 74, 64, 1, 51, 37,101,217,225,195,135, 15, 77,159, 62, 29, 12, 38,179, 7,116, 77,154, 56,252,157,227,251,
+244, 57, 11,113,120,255,238,195, 0,102, 2, 48, 0,120, 74,245, 56, 10, 20,254,219, 86,173,134,180,200, 63, 72,108,237, 7,208,
+ 52,139,150,141,141,141, 3,159,207, 71,118,118, 54, 90,121,121,229,115, 56, 28,176, 89, 44,112,217,236, 70,213,160,180,180,212,
+219,222,222, 30, 82,169, 20, 86, 86, 86, 48, 50, 50,170,222,216,108,118,245,223,166,166,166,160,211,233,112,118,118, 70,105,105,
+169,119,131,188,121,177, 54, 39,119,207,253,236,209,221, 43, 45, 70,141, 26, 13,115,115, 11, 56, 57, 57,194,198,198, 6,198,198,
+198,112,114,114,130,155,155, 27,217,182,109, 27, 76,108,124, 26,117, 35,175, 41,158,152, 76, 38,244,122, 61,242,242,242,240,250,
+245,107,196,196,196,224,209,163, 71,120,254,252, 57,228,114,121,163, 34,191,150,150,149,181, 99, 50,153,181,138, 44,137, 68, 2,
+137, 68, 82, 45,180, 10, 10, 10,144,150,150, 6,133, 82,217,190, 30,209, 59,186,109,219,182, 12, 0, 48, 54, 54, 70,251,246,237,
+177,111,223, 62,221,197,115,231,198,181,126,244,200,194,233,218, 53,225,255,126,252,113, 92, 96, 96,160,254,241,227,199,144,201,
+100,120,245,234, 21,172,173,173,153,108, 46,119, 44, 53,156,155, 6, 49,160,180,146,203, 7,119,235,214, 45, 85, 42,149, 98,235,
+214,173,116,150,169,233,254,144, 58,166,248,170,193, 96,116,247,247,247,199,133, 11, 23,144,253,238,221,242,119,181, 8,152,119,
+ 64, 65,122, 74,202,242,195,135, 15, 99,224,192,129,160, 49,153, 77,118, 84,234,210,165, 75, 91,131,193,128,151, 47, 95, 66, 8,
+ 60,105,234,254,110,238,238,190, 85,150, 95, 30,112,175,174,114, 60,224, 94,116,116, 52,140,141,141,209,170,117,235, 14, 77, 60,
+204, 54, 26,141,150, 51,125,206, 66,132, 93,125, 0, 0, 56,188,127,119, 94, 13,145, 69,129, 2, 5,202,162,245, 79,181,104, 85,
+ 9,171,154, 27,126, 35,180, 26, 41, 62, 0, 0, 44, 22, 11,108, 14, 7,108, 54,187, 66, 32,113, 56,141,230,160,209,104,224,114,
+185,213,194,170,166,192,170,249,183,137,137, 73,163, 67,215,151, 36, 95,237, 57,115,198,116, 54,135,195,129, 90,173, 2, 33, 4,
+ 28, 14, 23, 66,161, 16,174,174,174,144,201,100,232,214,189,151, 42, 67, 98, 20,110,217,106,100,204,135,156, 61,157, 78, 7,165,
+ 82,137,146,146, 18, 20, 23, 23, 67, 38,147,161,172,172,172,209, 75,209, 13, 6, 3, 35, 35, 35, 3, 63,255,252, 51,138,138,138,
+ 0, 84, 56, 90, 87,137,171,170,207,212,212, 84,132,134,134,226,237,219,183, 77,186, 62, 61,123,246, 68,120,120, 56,163,119,191,
+126, 7,110,184,184,100,223,112,113,201,238,221,175,223,129, 11, 23, 46, 48, 28, 28, 28,144,150,150,134,168,168, 40,148,148,148,
+128, 16, 66,173,159,255, 0,188, 1, 74, 74,139,139,167,175, 92,185,146,240,249,124,108,253,246,219,118, 27,128, 9,141, 21, 48,
+130,122, 4,140,224,143, 9, 24, 16, 66, 96, 48, 24,160,215,235, 63,168,109, 52, 26,141,198, 98,177,154, 26, 90,161, 41,133,171,
+ 29,223,151,174,217,136,203,231,207, 84,125,159, 68,137, 44, 10, 20, 40,252, 11, 80,167, 35, 60,179,134,130,172,254,172, 11,121,
+121,121, 89, 74,165,178,133,139,139, 11, 50, 51, 51,109,156,157,157,223,177, 89, 44, 24,177,217,160,209, 27,214, 4, 38, 38, 38,
+ 47,179,179,179,187, 59, 56, 56, 64,167,211, 85,139,170,247,167, 14,171,172, 52,207,159, 63,135,137,137,201, 75,148,215, 27, 57,
+ 1,122,117, 73,179, 14, 29, 58, 84, 91,134,132, 66, 33,132, 66, 1, 56, 28, 46, 86,173, 90,101,216,177,109,219, 94,231,190, 33,
+210, 79, 22,173, 36, 43, 55, 28,248, 83,207,108, 99, 31, 76, 38, 38, 38, 47,157,156,156,186, 10, 4, 2,132,133,133, 33, 45, 45,
+ 13, 37, 37, 37, 40, 45, 45,133, 74,165, 66,105,105, 41,212,106, 53,184, 92, 46, 90,183,110, 13, 51, 51, 51, 68, 68, 68,188,132,
+ 74, 85,187,184, 44, 42, 10,123,249,242,101, 87, 63, 63,191,106,139, 74,159, 62,125,104,125,250,244,177,170,182,162,149,150,162,
+176,176, 16, 79,159, 62, 69, 68, 68, 4,104, 52, 26,146,146,146,244,170,178,178, 19,212,152,248, 48,148, 3, 15, 25,135, 15, 31,
+250,244,211, 79,103,116,239,222, 29,122, 96, 8,128,208,255,143, 2, 6, 0,240,232,209,163, 88,189, 94,223,189,101,203,150,144,
+ 0,157, 1,156,111,146,136, 76, 78,142,214,233,116,253,218,181,107,135,176,211,167,123, 2, 72,171,173,156, 18,232,233,235,235,
+139,178,178, 50,188,138,143, 23, 55, 65,100, 29, 88, 17,180,121,218,148,153,243,112,244,192, 94, 28,222,191, 59,227,208,190, 93,
+ 78,104,132,255, 24, 5, 10, 20,254, 83,214,172, 6,181,200,223, 20,179,235, 18, 95,204,166,176, 72, 75, 74,196,209,209,209, 45,
+ 58,116,232,128, 3, 7, 14,248,117,235,218, 53,203,136,205,214,177,141,140, 64,111,196,131,164, 76,169,188,121,243,230,205,206,
+ 35, 71,142,100, 62,126,252, 24, 34,145,168, 90,104, 85,125, 50,153, 76, 16, 66, 96, 98, 98,130, 95,126,249, 69, 83,166, 84,222,
+108,208, 90,164, 55,232,233,149, 66,143, 16, 2,137, 68, 2, 35, 35, 35,108,223,190, 3,123,182,109,155,168, 7,206,120,240,172,
+191, 2,192,253,255,246,128, 46, 45,189,117,249,242,229,142,107,215,174,101, 57, 58, 58, 66, 34,145,160,164,164, 4, 69, 69, 69,
+144,201,100,144,201,100, 40, 41, 41,129, 68, 34, 1,151,203, 69, 76, 76,140,182,188,180,244, 86, 93,124,156,242,242,179, 83,167,
+ 78, 93, 26, 29, 29,109,199,100, 50,161,213,106, 97, 48, 24, 96, 48, 24,160,209,104,144,156,156,140,184,184, 56, 36, 36, 36,160,
+184,184, 24, 44, 22, 11, 12, 6, 3,207,159, 63, 47,225,105,181,167,213,212,152,254, 96,176,128,176,251,247,239,207,152, 60,121,
+ 50,236, 29, 29,123, 33, 51,179, 81, 2,230, 92, 61, 2, 70,250, 97, 2,230, 87, 1, 36,151, 63, 75, 77, 77,237,222,187,119,111,
+216, 57, 58,110,110,157,153,121, 35,190, 9,126, 90,122,157,238,222,253,251,247,251, 77,153, 50, 5, 7, 14, 28,216,108,157,154,
+122,181,224,189,105, 78,107,192,186,185,155,219,230,105,211,166,225,250,245,235,208,235,116,247,234,161,172, 25,241,189,217,180,
+217, 11,156,222,115,124,223, 71,163,209,230, 3,216, 74,245, 40, 10, 20, 40,252,155, 45, 90, 77,154, 58, 52,214,235, 87, 44, 89,
+178, 68, 75,167,211, 49,122,244,104,211,243, 23, 46, 4, 62,127,241,194, 53, 63, 63, 95,168,215,235, 27,228,178, 86,169,118, 45,
+ 89,178, 68,162, 86,171,225,233,233,137,226,226, 98,232,245,122, 48,153, 76, 48,153, 76,208,104, 52,208,233,116,240,249,124, 68,
+ 71, 71,227,208,161, 67, 50,107,149,106, 87,131, 15, 9,189,254,101,104,104, 40, 24, 12, 6,225,114,185,160,209,104, 96, 50,153,
+216,177, 99, 71,254, 30, 32, 12, 0, 24,116,186, 26, 0,232,116, 90, 99,189,119, 27,156,183,100,179,217, 48, 84, 44, 2,104,176,
+172,185, 74,181,115,203,150, 45,242, 87,175, 94, 65,169, 84, 86, 91,223, 20, 10, 69,181,115,189, 68, 34, 1,141, 70,131, 82,169,
+196,133, 11, 23,228,230, 42,213,206,186,248,138,128,220,204,164,164,225,126,126,126, 69,169,169,169,144, 74,165,120,249,242, 37,
+ 34, 34, 34,112,234,212, 41, 92,191,126, 29,201,201,201,208,233,116,112,112,112, 0, 33, 4,231,206,157,147,234,228,242, 33, 69,
+ 64, 46, 53, 38,234, 70, 51,145,168,159,173,141, 77,186,181,149, 85,102, 51,145,168,223,251,191, 11,128,196,196,196, 68,232,116,
+ 58,184,186,186, 90,212,231,167, 69,116,186,251,247,239,223,199,148, 41, 83,224,212,162,197, 38, 23,192,250,253, 50, 46,128,181,
+139,155,219,166, 42, 1, 67,116,186,251, 77,173,179, 41,176,251,171,175,190, 42, 51, 50, 50,194,201,147, 39, 93,181,238,238, 9,
+ 76, 96, 2, 31,240,234, 13, 24, 53,180,191, 29,176,119,205,154, 53,185, 52, 26, 13,199,142, 29,179, 18,184,185,197, 50,129,169,
+ 2,160,153, 0,104,198, 4,166, 10,220,220, 98, 79,158, 60,105,165,211,233,176,104,209,162, 92, 59, 96,111, 61,148, 11, 8, 33,
+195, 8, 33,254,132, 16,167, 67,251,118,225,242,249, 51, 85, 34,107, 38, 42,156,222, 39, 3,136,165,122, 28, 5, 10, 20,254,205,
+168,213, 12,197,244, 91,159, 7, 16,155, 94, 93,124,240,236,197,107,169,149,185,217,181,170,223,138,227,206,180,236,235,109,230,
+243,253,247,223,131,197, 98, 33, 35, 35, 3,241,241,241, 48, 51, 51,195,196,137, 19, 85,101,114,249,240, 26,185, 14,251, 3,136,
+168,228,172,200,167, 38, 77,226,187, 49, 99, 90, 92,189, 28,206, 16, 8, 4, 80, 40, 20,160,211,233,224,114,185, 48, 49, 49,129,
+177,177, 49,162,162,162,240,209,176, 17,250, 2, 19,255, 95, 3,150,254,154, 79,173,154,179, 42,214, 80,103,192, 36, 26,248,210,
+198,222,126,201,234,213,171,141, 7, 13, 26, 4, 35, 35, 35, 56, 54,243,200,117, 29,188,117, 55,157, 78,211,101, 22,201, 86,185,
+ 53,179, 23,196, 39,165, 1,160,229,107,159,174,182,175,145,235,240,119,245,116, 86,223,117,253,229,167,109,102,237,219, 87,248,
+163, 75, 36, 18,228,229,229, 33, 63, 63, 31, 18,137, 4, 74,165, 18, 0, 16, 30, 30,142,203,145, 9,178, 50,199,192,148,186,234,
+249,107,219, 95,155,218,107,158, 52, 63, 30,250, 19,195,218,218, 26,121,121,121, 40, 40, 40,128, 68, 34, 65, 89, 89, 25,244,122,
+ 61,138,139,139,113,240,240, 79,250, 34,190,255,219,234,128,144,245,113, 42, 51,140, 45, 20, 15, 28,124, 91,187,144, 25, 51,102,
+152,154,153,153,193, 96, 48,160,164,164, 4,233,233,233, 72, 77, 77, 69,100,100,164, 50, 95,162,134,210,106, 64,102,117,192,210,
+ 90, 56,255, 68,252,227, 56,107,198,173,178,183,179,203,126,247,238,157,141, 94,175,135,131,131,131, 78, 82, 92,188,137, 13, 92,
+ 55, 5,114, 0,144, 66, 96,245,206,221,187,167,143, 24, 49, 2,157, 58,117,202,200,205,203,107, 94, 91, 95, 34, 0,195, 19, 16,
+148, 58, 58,198, 61,125,250, 84,148,158,158,142, 41, 83,166, 20,190,123,243,102,121,149,191,150, 20,232,233,226,230,182,233,228,
+201,147, 86, 45, 90,180,128,183,183,119, 46, 55, 61,189,205,107, 64, 90, 71,255,172,115,108, 74, 18, 47, 53,159, 59,170,109,167,
+207, 62,251, 12, 58,157, 14,145,145,145,120,242,228, 9,222,189,123,135, 7, 15, 30, 72,204,120,188,113, 53,114, 29,214,218, 63,
+135,120, 40, 93,143, 29, 11,165, 25, 25, 25,225,240,225,195,136,142,142, 6, 0,248,250,250, 98,218,180,105,208,233,116,152, 52,
+105, 50,185,244,218, 56,165,190,254, 9,160, 45,128,111, 81, 33,242, 58, 17, 66,184, 52, 26, 45, 27,128, 19,154,230,147, 69,245,
+ 79,138,147,226,252,239,112,254,171, 80,111, 82,233,154,249,212,214,255, 0,193,111,211,124,204,202, 62,179, 47,132,217,163,167,
+191, 87, 72,112, 16,221,207,207, 15, 78, 78, 78,240,245,245, 69,122,122, 58, 71, 40, 20, 54,148, 79, 77,225, 63,120, 66,170,143,
+143,143,112,249,242,229,130,129, 3, 7,178,156,156,156, 64, 8, 65,116,116, 52,194,194,194, 52, 7, 14, 28,144,149,218, 14,147,
+136,111,255,172,104, 76, 62,181, 39, 64, 41,128,117,142,217,217,251,231,205,157, 27,212,190, 67,135, 25,193,193,193,116,190,137,
+ 49,107,227,170,153, 92, 0, 88,255,221, 41,193,136,192,137,216,233, 14,244,154, 80,123, 30,185,154,245, 76,207,156,245,110,232,
+168,126,238, 95,206,159,174, 31, 59,118, 44,207,204,204, 12, 78, 78, 78, 48, 55, 55, 71, 74, 74, 10, 50, 51, 51,201,197,139, 23,
+ 21,143,158, 39,178,206, 93,127,246,142, 43,176,107, 76, 94, 66,185,255,160,143,223, 14, 29, 58,212,124,234,212,169,166, 29, 59,
+118,100,113, 56, 28,112, 56, 28,228,229,229, 33, 57, 57, 89,115,241,226, 69, 69,169,205,144, 18,241,237,147,242, 70,230, 58, 44,
+243, 31, 31,146,124,239, 70,240,162,184,151, 47, 39, 27,128,118, 26,141,198, 65,175,215,211,232,116,122,142,193, 96,120,169,145,
+203, 15,169,124,131,119, 80,185, 14, 27, 7,189, 94,111,164,215,235, 33,145, 72,112,227,198, 13,230,155, 55,111, 86,191,120,241,
+ 98,117,118,118, 54,180, 90, 45,198,140, 25, 3, 95, 95, 95,220,190,125, 27, 5,121,121, 23,235,227,122, 13, 72, 57,153,153,211,
+102,205,154,117, 37, 52, 52,148,254,226,197, 11,171,195,135, 15, 31,172, 77,192, 76,158, 60,217,144,151,158, 62, 77, 5, 72,235,
+233,159,245,141,205,194,171, 39,247,188, 24, 57, 58,176,117,240,218,213,172,110,221,186,193,202,202, 10, 61,123,246,132, 70,163,
+ 17,182,106,213,170,161,177, 41,247, 31, 60, 46,165, 93,187,118,188, 29, 59,118,136,166, 79,159,142,249,243,231, 3, 0,202,202,
+202,112,253,250,117, 44, 90,180, 40, 55,157,217, 89,217, 80,255,172,180, 84, 85, 9,176,187, 0,252, 1,164,128,114,124,167, 64,
+129,194,191, 19, 85, 73,165,237, 80,145, 88,250, 18, 42, 94,206, 27,206,117,120,239, 73, 44,106,166,249,168,128, 93,188,206,121,
+234,155, 57, 75, 54,121, 51,180, 50,115, 22,173,220, 44, 41, 49,145,214, 80,206,195,234,124,106, 2, 15,133,101,234, 9,191,141,
+235,215, 47,220,185,115,103,191,170, 16, 14, 38, 38, 38, 47,203,148,202,155,214, 42,213,174, 82,129,199,205,166,230,230,203, 4,
+242, 0,204, 53, 23,139,119, 7,140, 24,179,133,107,225,202, 90,185,225, 64, 57,131, 78, 87, 39,103, 23, 96,167, 59,192,107,196,
+ 2,201, 82, 53, 16, 39,177,211,229, 89, 6,190, 94,243,213, 87, 95,174, 95,183,206,143,207,231,247,210,232,116, 30, 6,131, 1,
+ 48, 24,146, 74,149,202,187, 68,163,121,170,242, 93,187,141, 43,176, 35,141,206, 75, 40,108, 37,183,120,123,198,239,200,161, 67,
+ 11, 78,159, 62,253,187,182, 91,170, 84,187, 75,133,173, 34, 26,211,246,154,101,202,129,135,200,207,127, 88,159,233,146,202,117,
+216, 56, 48, 13,134,217,230,230,230, 71,251,245,235,199,237,223,191, 63, 62,250,232, 35,116,235,214, 13, 6,131, 1,132, 16,200,
+229,114,156, 58,117, 10, 91,182,108, 73,106, 14,172,107,136, 79, 5,220,228, 92,190, 60,164, 93,187,118,135,235, 19, 48,149, 34,
+171, 65,159,196,250,199, 38, 39, 73, 39, 24,158, 54,126,222, 70,119,181, 44, 71,104,105,162, 19,197,197,190,164, 55,126,108,122,
+202,245,209,167, 58,143, 25, 53,106, 30,131,201,236, 89,185, 2,146,188,138,143, 23, 87, 37,149,134,239,180, 27, 77,236, 75, 85,
+177,235, 40,199,119, 10, 20, 40,252,219,133,214, 71,168,240,215,170, 78,201, 83,103,174,195, 42,171, 15,147,201,204, 79, 57, 55,
+103, 98,125,236, 44,160, 95,165, 37, 11, 13,230, 58,172,252, 59, 13,144, 67,165,250,250, 55,193, 72,107,172, 46,100,189, 87,190,
+ 41, 97, 17, 75,128,215,208,169, 2,144, 31, 15, 92,152, 91,193,231,183,126, 89,205, 54,213,249,144,253,205,113,141,138,203,129,
+123, 80, 40,238, 65,161,168,213,105,151,197, 52, 42,110,168,158,239,183, 61, 29,144,253,209,182,191,207,217,160,120,248, 3,231,
+243,191,134,172,194,194,115, 0,248,142,225,225,182, 87,195,195,199,126,185,120,241, 24, 59,123,123, 55, 43, 43, 43,115, 83, 83,
+ 83,250,227,199,143, 83,117,229,229,187,219, 3, 71, 42,173,169, 13, 66, 5,220,244, 76, 79,111,243,241,168, 81,243,104, 76,102,
+143,154, 2,134,232,116, 15, 92,129,189,245, 89,178, 62,116,108, 58,113,236,250, 85, 90,178,192, 0,102, 53,166,111,100, 86,212,
+ 99, 3,116,186, 13,136,137,169,165,207, 55,185, 47,173,167,209,104,114, 80,142,239, 20, 40, 80,248,247,162, 42,223,225,165,255,
+235, 3,247,167, 56, 41,206,127, 17, 39, 3, 21,171,232,168,243, 73,113, 82,156, 20, 39,197, 73,161, 94, 84,229, 58,100, 82,167,
+130, 2,133, 70, 67,143, 95,167,193, 40, 80,160, 64,129, 2,133, 42, 84,249,102,213,196,126,160,194,117,167, 46, 85,218,148,213,
+ 4, 31,162,108, 35, 40, 78,138,147,226,164, 56, 41, 78,138,147,226,252,207,113, 54,196,253, 79, 92,205, 88,229,147, 85,237,155,
+213,216,236, 54,127, 20,148, 89,149,226,164, 56, 41, 78,138,147,226,164, 56, 41,206,127, 59,236, 42, 69, 86,245, 86, 53,117, 72,
+167,206, 13, 5, 10, 20, 40, 0,193,193,160, 19, 2, 26, 33,193,116, 66, 78, 51, 8, 9,100, 16,130, 63,148, 10, 36, 48,176,246,
+ 96,182,159, 79, 52, 55,165,206, 56, 5, 10,255, 42,228,160,142,164,210,148,143,214,255, 95, 56,139, 68,162,125, 0,104,185,185,
+185,179, 1,164, 83,167,228,239, 7, 11, 11,139,126, 58,157, 14, 50,153,236,230,191,177,125,173,221, 48,138,208,209,170,250, 11,
+130,244, 87,201, 56, 90, 91,217, 86,238,152, 2,218,175,177,184,104, 6,188,138,127,131, 95,154,112, 56,250,144,254, 78,123, 1,
+224, 74, 68,198, 60,252, 53,113,181, 90, 90, 91, 91, 95, 99, 50,153, 76,189, 94, 63, 55, 63, 63, 63,188,110, 33, 20,200, 0, 0,
+ 22,185,189, 66,146,107,179,252,139, 79,105,172, 82,213, 33,137,170, 76, 41,101,176, 24,111, 57, 44,209,253, 57,211,233, 87, 74,
+ 20, 93,227,107,219,255,204,153, 51,117,102,241,110,227,142, 33,116,125,235, 97,190,109, 83, 83,190,221,229,183,179,151,171, 21,
+ 43, 53,227, 57,127,243,143,210,125,108,161,203,176, 41, 99,105,225, 76, 19,218,228, 67,135,138, 20,212, 40,107, 60, 54, 2, 22,
+ 26,192,155,197,225, 56,233,117, 58, 91, 26, 64, 24, 76,102,158, 86,165,202, 48, 2, 98, 86, 0,146,127, 59,167, 17,135,227,168,
+215,233,108, 1,224,239, 88, 79, 10,191, 69,157, 66,139,207,231, 71,209,233,116,199,154,201,112,171,242, 9, 86,125, 87,243, 55,
+ 26,141, 6,189, 94,159, 89, 82, 82,210,177, 9,199, 55, 3, 48, 22, 64,213, 18,245,227, 0, 78,225,195, 29,142,205,140,140,140,
+150,240,120,188,190,101,101,101,109, 0,192,216,216, 56, 78,169, 84,222,210,104, 52,223,126, 32, 47, 19,192,199,124, 62,191, 15,
+157, 78,239, 67, 8,161, 17, 66,110, 43, 20,138, 91, 0, 78, 3,248,144, 72, 9,198, 54, 54, 54, 27, 44, 44, 44, 38,172, 88,177,
+162,200,210,210,210,115,209,162, 69,207,138,139,139,127, 46, 44, 44, 92,133, 38,228,168,251,139,225, 38, 18,137,142,179, 88, 44,
+ 70, 70, 70, 70, 31, 0,112,114,114,186,173, 86,171,245,249,249,249, 19, 1,188,105, 34, 31, 15, 64, 23, 62,159,223,145,207,231,
+251,235,245,250, 86,149,249, 25, 95, 41, 20,138, 72,141, 70, 19, 5,224, 49, 0,229,223,104,140,152, 50,153,204,208,202,190,238,
+ 1, 64,254,111,187, 9, 16, 58, 90,197,199, 37,120, 86, 11,175, 54, 94,117, 23,166,193,185,150,178,141, 22, 90,125,123,217, 13,
+ 27, 62,124, 0, 29, 0,212,218, 43,195,110,221,205, 57,255, 39, 55,167,229,232,209,163, 31,134,134,134,154,171, 84, 42,204,158,
+ 61,251,120, 68, 68,196, 94,153, 76,182,162,222, 27, 7,223,124,209,214, 29,215, 77,104, 52, 58, 0,216, 24, 12,122,155,172,172,
+ 55, 30,241,177, 15, 7,199,197, 61,218, 88,150,112,235,177,129,198,154,163, 65,207,132,198, 84,162,149, 43, 2,134,141, 25,245,
+209,186,117,193,152, 48,110, 66,179,184,184,114, 99, 7,179, 20,118,113, 25,207,221,210,218,102,248,186,245,103,104,247,239,157,
+ 27, 30,122, 56,228,214,244,233,150,125, 41,177,213, 40,208,214, 51,153, 93, 4,238,238,254,227,206,157, 3,223,201,137,201,228,
+112,232, 0,160, 83,169,156, 20, 25, 25,118, 39,135, 15,239, 28,156,152,120, 39, 24,120, 66,113,254,127,225,164,208, 20,161, 69,
+167,211, 29,179,178,178,108,120, 60, 94,197,205,152, 16,232,245,122,232,245,250,234,228,197,132,144,234, 79,157, 78, 7, 47, 47,
+175, 70,189,209, 2,232, 11,224,147,222,189,123, 7,126,251,237,183, 44,111,111,239,170,148, 33, 61, 87,174, 92,249, 93,116,116,
+244, 89, 0, 71, 80, 17,188,177,177,111,188,131,120, 60,222,177,173, 91,183,154, 13, 24, 48,128,105,111,111, 15, 26,141,134,220,
+220,220, 46, 17, 17, 17, 29, 23, 45, 90, 52, 87,169, 84, 78, 2,112,173, 9,231,167,173,169,169,233,153, 81,163, 70, 57,246,234,
+213,139,219,186,117,107,232,245,122, 60,127,254,124,122, 84, 84,212,248,179,103,207, 6,201,229,242, 64, 52, 62, 95, 27,141,207,
+231, 79, 53, 51, 51,219,176,118,237, 90,139, 73,147, 38,177, 99, 99, 99, 75, 92, 93, 93,105,247,239,223,183, 62,117,234,212,220,
+ 77,155, 54,125, 44,147,201, 86, 41, 20,138,159,208,136, 28,138,166,166,166, 81,116, 58,221,177, 49, 66, 24, 64, 83,196,112,251,
+230,205,155,159,186,119,239, 94,243,180,180, 52,253,200,145, 35,143, 2,192,173, 91,183,188,181, 90, 45,109,224,192,129, 87, 50,
+ 51, 51,199, 2,120,222,200,182,251, 88, 88, 88,156,159, 48, 97,130,133,155,155,155, 73,243,230,205,105, 60, 30, 15, 12, 6, 3,
+ 82,169,212, 62, 54, 54,182,255,147, 39, 79,202, 34, 34, 34,138, 85, 42,213,112, 0, 49, 77,184, 78,221,108,108,108, 38,179, 88,
+172,182, 58,157,206, 1, 0,152, 76,102,150, 86,171,141,205,207,207, 15, 5,240,240, 67, 7,136,173,173,237,158, 13, 27, 54, 88,
+229,231,231,147, 77,155, 54,237,145,203,229, 83,255,173, 55,131,227, 63,159, 70,212,179, 39, 64, 69,218, 28, 90, 45,253,143, 6,
+192,232,139, 47, 22,163, 99,167,206,152, 56,225,227, 6, 57,135,246,115,220,202, 98, 27, 89,150,151,151, 63,148,150,170, 78,243,
+ 76,184, 99, 39,140, 15, 72, 2,128, 43, 87,239,140,245,243, 51,191, 45, 48,225,124,204,229,114,187,105,213,154,162,203, 55, 51,
+191,106,138,168,114,112,112,184,102,110,110,110, 82, 92, 92,156, 91, 80, 80,240,195,176, 97,195,214, 31, 57,114,196, 60, 53, 53,
+ 21, 25, 25, 25, 88,184,112, 33, 63, 51, 51,115, 94, 76, 76,204, 35,181, 90, 93,167,101, 75, 46, 47,222,181,114,249,136,181, 2,
+129, 21,131,103, 98, 6, 83,129, 5, 92,221,218,161, 75,183, 97, 24,242,209, 12, 36, 39, 69,119, 57,114,120, 93,116, 86, 86,196,
+ 55,124,139, 22,235, 37,146,230,117,222,151, 90,183, 68,175,225,163, 42, 68,214,218,181,193, 72, 76, 72,144,167,189,165,127,126,
+233, 28,211,100, 72, 63, 47,142, 78,157,155,118,255,222,185,230, 61,122,142, 4,128,142,161,135, 67,110,125, 62,209,188,223,158,
+227, 37,114,234,145, 84,247,189,115, 29,139, 53,117,208,142, 29, 54,190,115,231, 26, 41,222,190,213,164,252,248, 99,105, 94,100,
+164,158,201,225, 16,167,193,131,105,214,125,250,112,231,190,122,101,244, 96,211, 38,127, 86, 72,136,235, 42,141,230, 24,197,249,
+127,202,249, 95, 71,149, 19,124,205,213,135,251,235, 21, 90, 52, 26, 13, 60, 30, 15, 39, 79,158, 4,139,197, 2,147,201, 4,139,
+197,170,243,111,103,103,231,198, 84,100,180, 72, 36,250,110,239,222,189,182,131, 6, 13, 2,151,203,173,254,129,193, 96, 96,192,
+128, 1,232,223,191, 63, 43, 59, 59,123,252,201,147, 39,199,111,220,184, 49, 79, 34,145,204, 71,101, 98,232,122,208,199,211,211,
+ 51,236,250,245,235,198,229,229,229,136,140,140, 68, 73, 73, 9,216,108, 54, 28, 29, 29, 49,112,224, 64,102, 66, 66,130,197,128,
+ 1, 3,194, 18, 19, 19, 3, 0,220,110, 68, 93, 59,218,216,216,220, 61,125,250, 52,183, 93,187,118,180,228,228,100,248,250,250,
+ 2, 0,164, 82, 41, 70,142, 28,201,157, 52,105,146,219,248,241,227, 31,231,231,231,247, 2, 16,213, 0, 95, 7,145, 72,244,211,
+168, 81,163,236, 55,110,220,104,102,106,106,138,180,180,180, 28,145, 72,228, 81,117,190,199,143, 31,207, 30, 54,108,152,221,150,
+ 45, 91,118,157, 57,115,230,171,252,252,252,169, 0,196,245,170,214, 74, 65,108, 98, 98,130,188,188, 60, 28, 63,126, 28,243,230,
+205, 3,131,193, 64,126,126, 62, 78,157, 58,133,207, 63,255,188, 74,208, 52, 74, 12,155,152,152,244,119,119,119, 63,120,235,214,
+ 45, 71,161, 80, 8,123,123,123,250,154, 53,107,218,186,186,186, 26, 55,107,214,140,145,147,147,131,176,176, 48,215,201,147, 39,
+159, 79, 79, 79,159,174, 82,169, 26,156, 82,179,181,181, 61,116,233,210, 37,231,184,184, 56,252,248,227,143, 40, 46, 46, 6,155,
+205,134, 80, 40,132, 72, 36,130,135,135, 7,109,249,242,229, 38,195,134, 13, 51,153, 63,127,254, 33,181, 90,221,190, 17,215,168,
+157,141,141,205,190, 62,125,250,184,134,132,132, 8, 69, 34, 17,170, 94, 12,164, 82,169, 99, 90, 90, 90,151,181,107,215, 6, 70,
+ 69, 69,165,230,231,231,207, 1,240,162,137, 3,167,125,235,214,173, 3, 70,142, 28,201,200,201,201, 65,104,104,104,128, 92, 46,
+111,223, 4,113,249,143, 66,212,179, 39,152,253,217, 66,133,189,147,147,209,245,107, 7, 71,159,249,165,229, 51,161,113, 69, 66,
+106, 73, 25, 52,129,163, 18, 59, 13, 28, 52,195,104,232, 71, 35, 21,251,191,223,197,111,140,208, 98,177,141, 44,143, 31,219,158,
+126,239,126, 84,219, 27, 17, 79, 6,143, 30, 62,156, 24, 25, 9, 93, 1,224,171, 69, 95,176,194, 46, 92, 56, 60,160,127,231,236,
+158, 61, 58,166, 79,156,180,216,185, 9,213,109,217,178,101,203, 59,209,209,209,182, 28, 14, 7,197,197,197,150,251,247,239,223,
+222,163, 71, 15,122, 74, 74, 10, 18, 18, 18,240,246,237, 91, 72,165, 82, 12, 24, 48,128, 47, 22,139,127, 0, 80,167,208,210,208,
+251,110,176,111,166,221,109,105,204,107,174,209,203,108,136, 54,167,245,141, 75, 55,124, 78,132,150,249,218,218,121,121,124, 50,
+ 45, 8,235,214,159,101,253,124,124,243,218,155, 17, 39, 0,122,243,186, 51, 2, 16,116, 91,185,106, 5,100,114, 21, 38, 77,152,
+133,201, 19,102, 89, 18,168,237,136,190,156,167, 46, 43, 17,154, 26,189, 10,223,123, 96,251, 40, 0,142, 53,196,214, 77, 74,108,
+213,141,117, 76,102,231,128,239,190,179,110, 59,115, 38,231, 69, 72,136,178, 48, 50,178,204,125,232,208, 18,223, 79, 63, 85, 1,
+128,252,237, 91,163,196,160, 32, 19,107,127,127,227,174, 75,150,152,235,213,106,209,186,117,235,252,214, 86, 36, 47,111, 18,167,
+243,216,177,250,181,135, 15,119,138, 92,188,184, 55, 77,171,101, 12,238,218,245,249,166,208,208,172, 63,194,249,103,214, 51,251,
+238, 93, 85,177,171, 43,124, 71,142, 44,114,182,177, 81,253,153,109,255, 35,245,164, 80,141, 42, 95,173,217, 53,223, 80, 17, 30,
+ 30,222, 11,192, 29, 0, 33, 1, 1, 1,193, 0, 32, 16, 8,242, 36, 18,137, 77, 88, 88, 88,131, 34,139,197, 98,193,206,206, 14,
+ 30, 30, 30,249,249,249,249,182,245, 84, 32,195, 96, 48, 56, 18, 66,170,173, 47,117, 65,165, 82, 33, 41, 41, 9, 62, 62, 62,153,
+168, 72, 68, 91,167, 81,199,196,196, 36, 37, 33, 33,193, 42, 62, 62, 30, 81, 81, 81,112,117,117,133,185,185, 57, 88, 44, 22,180,
+ 90, 45,100, 50, 25, 60, 61, 61,193,225,112,208,161, 67,135, 66,165, 82,233,218,192, 20, 16,135,199,227, 37,221,189,123,215,201,
+215,215, 23, 79,159, 62,133,147,147, 19, 68, 34, 17, 0,224,237,219,183,184,127,255, 62,134, 14, 29,138,232,232,104,140, 25, 51,
+ 38, 67,169, 84,122, 0, 80,213, 69,104, 97, 97,145,115,235,214,173, 76,111,111,239,114,165, 82, 73,207,203,203, 99, 69, 70, 70,
+234,228,114, 57, 95, 42,149,178, 36, 18, 9, 75, 38,147, 49,149, 74, 37,139, 78,167, 27,149,149,149,177,110,222,188,201,208,104,
+ 52,245, 6,200,172,186, 78, 23, 46, 92,128,183,183, 55,194,194,194,240,229,151, 95,226,193,131, 7,112,114,114,194,233,211,167,
+177,100,201, 18,188,126,253, 26, 86, 86, 86,104,221,186,117, 67,215, 8,110,110,110,201, 47, 95,190,116, 51, 50, 50,170,202,235,
+ 88,149, 47, 15, 5, 5, 5,120,243,230, 13,178,178,178,224,238,238,142, 9, 19, 38,188,201,202,202,114,111,168,231, 57, 56, 56,
+ 20,196,197,197, 89,249,248,248, 32, 47, 47, 15, 66,161, 16, 2,129, 0, 66,161,176,250,111, 87, 87, 87, 44, 94,188, 24, 34,145,
+ 40,191,188,188,220,182, 33, 17, 79, 8, 2,211, 0, 0, 32, 0, 73, 68, 65, 84,228,237,237,125,237,230,205,155, 86,102,102,102,
+200,205,253,127,236, 93,119, 92, 20, 87,219, 61,179,189,209, 97,151, 38, 88,136,116,108, 65,141, 45,246, 10, 70, 99, 73, 51,209,
+196,110,140, 61, 70,163, 81, 99,138, 61,182,104,108,177, 98, 98, 98, 15, 86, 84,196,110, 20, 80,233, 32,210,148,133, 93,218, 46,
+108,223,217,153,239, 15, 89, 94, 36,192, 46, 70,243,189,241,221,243,251, 45,187, 59,220, 57,123,239,204,157, 59,103,158,251,220,
+231, 41,130, 82,169, 4,139,197,130, 80, 40,132,155,155, 91,141,144,207,204,204, 68, 68, 68, 68, 73,118,118,246,192, 38,136, 36,
+134,187,187,123,218,253,251,247,253,105,154, 70,126,126, 62,210,211,211, 49,109,218,180, 76,173, 86, 27,132, 87, 40,103, 95, 45,
+191, 43,206,216,143, 39,113,222, 30,214, 85,159,154, 28, 77,240,168,116,180, 15,115, 80, 0, 64, 98,146,210, 81,199, 8, 68,112,
+104, 36,125,236,196, 13,238,190,189, 59,216,160,224, 14, 2,233,169,153,248,166, 33,238, 1,189, 61, 39,204,154,245, 73, 88,175,
+238, 61, 25,149, 42,149,228,167,159,214,191,158,157,157, 42, 1, 0, 63,191, 96,217,212,169,179,227,237, 69, 34,217,229,107,113,
+212,134, 13,187,147,206,199, 74,119, 89, 81,101, 63,127,127,255,155, 39, 79,158,116,147, 72, 36,112,116,116,132, 74,165,130,193,
+ 96, 64, 74, 74,138,246,208,161, 67, 70, 7, 7, 7,251,162,162, 34, 84, 84, 84,128, 32, 8,156, 60,121, 50, 31, 64,243,186, 68,
+102, 31, 45, 0,152, 54, 56,152, 29,210,199,223,153,195, 35, 5, 2,118,134, 39, 8, 19,143,160,237,220,207,156, 75,108,123, 38,
+230,207, 15,222, 30, 49, 87,220,163,231,219, 88,178,120,148,177,176, 48,191,131, 1, 61,210,234,243,209, 10,106,141, 62,195, 71,
+190, 61,122,249,242,101, 88,182,228,107, 68,159, 60,174,176, 19, 49,116, 14, 78,108,199, 55,223,232,166,157,243,233,176,130,170,
+170, 66,159,229,171, 15,189, 31, 49,108, 78,179,238, 61,134,227,218,213,227, 56,176,231,235,187,132,128,182, 77, 35,214,193, 50,
+192,217,201,207,111,242,140,204, 76,206,189,101,203,170,200,194,194,242,240,217,179, 75,234, 43,251, 56, 38, 70,196,245,242,114,
+112,126,235, 45,151,141,205,155,211, 70,153,108,123,125, 62, 70,245,113, 94,176,179,115,250,245,204,153,190, 52,155,221,115,254,
+ 23, 95, 8, 34, 35, 35,161, 84, 42,113,228,200, 17,108,223,182, 77,231,233,233,249,192, 43, 41, 41, 33, 76,169, 92,108, 45,103,
+248,236,217, 37, 38,147,137, 24, 61,111, 94,255,228,156,156, 62, 69, 50, 89, 11, 0,240,116,113, 41, 8,247,243,187,187, 59, 58,
+ 58,125,115,203,150,148,181,245,220,121,246,172,251,225,220,220, 9, 46, 46, 46,130, 98,153,140,197,227,114, 75,223, 8, 9,249,
+125,235,162, 69,151,201,251,247, 57,252,102,205, 28, 28, 35, 35,155,220,246,240,217,179, 75,202, 42, 43, 89, 51,190,253,182, 91,
+ 94,113,113,139, 42,157,174,117, 69,101,165,135,201,104,100, 56, 8,133,165,173, 2, 3,101,154, 43, 87,164,173,212,234,153,187,
+ 0,217,203, 58,215,245,105,145,127, 17,234,198,209, 58, 69,211,244, 51,185, 14, 47, 71, 70, 70,254,101,117, 13, 77,211, 86, 89,
+179,216,108,246, 51,211, 84,141,128, 67, 16, 4,226,227,227,225,234,234, 10, 15, 15, 15,240,120,207, 38, 31,148,203,229,184,126,
+253, 58, 82, 83, 83,209,174, 93, 59,243, 52, 70,195,138,136,199,155,181,122,245,106, 39,189, 94,143,187,119,239, 34, 60, 60, 28,
+ 60, 30, 15, 28, 14,231, 25, 17, 40,147,201, 16, 26, 26,138,249,243,231, 59,126,255,253,247,179,116, 58, 93,131, 79,164, 44, 22,
+107,250,196,137, 19, 37,102, 11, 86, 65, 65, 1, 94,127,253,245,154,255,139,197, 98, 36, 38, 38, 34, 60, 60, 28,205,154, 53,195,
+168, 81,163, 36, 7, 14, 28,152, 78,146,228,218,134, 56,185, 92, 46,163, 77,155, 54, 29, 1, 64, 36, 18,129,193, 96,100, 56, 56,
+ 56,136,221,221,221, 69, 14, 14, 14,127,105,227,158, 61,123, 42, 24, 12,134,209,162, 26, 96, 48, 80, 84, 84,132,176,176, 48, 40,
+ 20, 79, 51,184,168, 84, 42,180,110,221, 26, 74,165,178, 70,180,122,121,121, 65,163,105,220,245,171,109,219,182,203,130,130,130,
+ 6,136, 68, 34, 30,155,205,198,189,123,247,208,161, 67, 7, 28, 58,116, 8,190,190,190, 16, 10,133,200,204,204, 68,155, 54,109,
+ 16, 23, 23, 7,177, 88,140,208,208, 80,158, 68, 34,185, 90, 86, 86, 22,155,151,151,183,172,145,122, 50,236,236,236, 16, 23, 23,
+135,221,187,119, 35, 39, 39, 7,133,133,133,176,183,183, 71,251,246,237, 17, 18, 18,130,174, 93,187, 34, 51, 51, 19,132,229,206,
+228,225,239,239, 31,253,231,159,127,186,209, 52,141, 3, 7, 14,160,170,170, 10,122,189, 30, 12, 6, 3,124, 62, 31,206,206,206,
+232,211,167, 15,196, 98, 49,252,253,253,241,219,111,191,185, 13, 30, 60,248,180, 76, 38,107, 15,160,200,210,113,117,118,118,158,
+185,116,233, 82, 31,137, 68,130,220,220, 92, 40, 20, 10,184,187,187,163, 87,175, 94,222, 23, 46, 92,152,105, 52, 26,215,191, 42,
+ 55,178, 90,142,239,196,249,115, 63,143,240,111, 85,222,166, 93,160,208,231,104,180,187,207,161,104, 89, 40, 0,132, 5,187, 39,
+143,136, 20, 22,220, 75,142, 46, 56,127,238,248,221,212, 12, 28,133, 21, 83,219, 10,181,238,247,152, 11,183, 7,117,104,247, 58,
+181,122,213,188,136, 79,167, 77,224, 73,220,199,163, 56,255, 56, 46, 92,138,247,157, 55,119,162,120,237,186,157,103, 98, 46,220,
+102, 40,212,186,197,214,153,178,124, 55,239,221,218,213,173,178,228, 48,178,210,184, 16,216,135,193,207, 47, 0, 74,165, 18,124,
+ 62,159,255,254,251,239,155, 22, 46, 92,168,118,112,112, 16, 18, 4,129,216,216, 88, 25,128,129,150,120,181, 18,103,218,100, 48,
+146, 52,151, 73,209,132,189,134, 48,149,113,147, 82, 30, 97, 64,191,222,197,221, 59,135,125,191,112,249,186, 47,253, 3, 58,136,
+ 63,153,240, 53,251,219,101, 31,108, 3,129, 30,245,241,164,101,225, 18,241,251, 49, 1,128,136,229,223, 44, 67,118,118,166,243,
+164,113, 21, 95,179,120, 2,175,160,230,221,236,183,237,142, 29,212,186,117,203, 22,115,166,143, 58,245,195,143, 63, 68,212,182,
+108,237,221,179,244, 4,128,190,214, 28,219,255, 33,180,253, 48, 58, 26, 85,249,249,198,178,171, 87,181,125,127,252,177,196,103,
+224,192,245,122,131,193,205, 60, 84, 48, 8, 2,132,217,117,130,162, 8,214,252,249, 12,154,197,130,209,217,121, 28,202,203, 3,
+ 44,113,206,149, 74, 71,124, 48, 97, 66,196,137,179,103,209,178,101,203,154,251,153,147,147, 19,230,205,155,135,217,179,103,243,
+ 18, 19, 19, 59, 29, 62,124,184,211,218, 53,107,220, 1,140,176,166,158,231,111,221,114,158,178,124,249,162,118,225,225,190,251,
+ 15, 30,228,189,246,218,107, 0,128,135, 15, 31,250,175, 90,185,178,121, 88,155, 54,197,223,207,154,181, 55,121,225,194, 80, 0,
+ 87, 27,227, 44,186,114, 69,127, 56, 55,119,194,165,216, 88,167,176,176, 48, 0, 64,122,122,186,100,227,198,141, 19, 67, 71,141,
+ 26,179,124,234,212,197,145, 90,109,133,131, 92,206,139,220,188,153,245,235,232,209, 22, 57,205,245, 4,128, 94,159,124, 50,171,
+ 71,239,222, 33, 35, 38, 76,112,241,245,245, 37,236,236,236, 96, 48, 24, 80, 88, 88,232,156,156,156,252, 90,116,101,165,242,216,
+173, 91, 7, 96, 50,245,127,137,231,186, 94, 45,242, 47,179,100,253, 85, 83, 84,191,247,138,142,142,166, 1,244,138,140,140,140,
+ 51,223,192, 77, 38,147, 85, 34,139,197, 98,129, 32, 8,107,197, 22,104,154, 70, 73, 73, 9, 74, 74, 74,106,166,142,100, 50, 25,
+ 46, 93,186,132,204,204, 76,176,217,108,112, 56, 28, 24, 12,150,115,208,138, 68,162,126,253,250,245, 99,221,186,117, 11,126,126,
+126, 16, 8, 4, 53,245, 50,191, 56, 28, 14, 60, 61, 61,161, 84, 42,209,183,111, 95,246,166, 77,155,250, 53, 38,180, 28, 29, 29,
+135,188,243,206, 59, 92,243,247,170,170, 42, 48,153,204, 26,209, 82, 85, 85,133,178,178, 50, 84, 84, 84, 64,171,213,162, 75,151,
+ 46,220,232,232,232, 33,165,165,165,107,173,105,191, 90,173,174,146,201,100, 78, 61,122,244,112,222,187,119,111,122,151, 46, 93,
+ 2,159,233,105,151, 47,107,181, 90, 45,155,193, 96, 88,149, 71, 47, 42, 42,170,230,216, 63,121,242, 4,219,182,109,171,249, 95,
+102,102, 38, 54,109,218, 84,147, 10,160,177,115, 20, 20, 20, 52,248,192,129, 3,225,251,247,239, 47,103, 50,153, 72, 79, 79,199,
+193,131, 7, 65,211, 52,196, 98, 49,212,106, 53,138,139,139, 17, 27, 27, 11,146, 36, 97,103,103, 7,111,111,111,254,244,233,211,
+187,127,253,245,215,236,198,132,150,201,100, 50, 49,153, 76, 52,111,222, 28, 75,150, 44,129, 86,171, 5,135,243, 84, 95, 42,149,
+ 74, 84, 84, 84, 32, 33, 33, 1,185,185,185,160, 45, 68,121,227,243,249,163,246,239,223, 47,225,114,185,208,104, 52,168,172,172,
+ 68, 65, 65, 1,242,242,242,180, 50,153,140,180,183,183,103, 52,111,222,156,193,227,241,120,195,135, 15, 39,204,130, 51, 50, 50,
+210,245,192,129, 3,239,234,245,122, 75, 34, 73,236,225,225,241,229,196,137, 19,249,181,251,108, 81, 81, 17, 70,140, 24, 33,188,
+113,227,198, 66,165, 82,121, 16,128,252, 21,187,161,209,135,143, 5,220,185,123, 33,189,205,209,104,119,159,188,199,166,110,243,
+ 62, 95,199, 2,128, 29,219, 87,116, 59, 26,253,228,122, 80,203,226,130,195,199, 2,238, 56, 59,167, 90, 18, 2,140, 62, 61, 61,
+135,138,132,252,119, 70,188,245, 22,253,211, 79,235, 95,255,116,218, 4, 94,243,128,121, 79, 45,156,108, 9,250,146,223, 16,106,
+205, 67,254, 79, 63,173,127,125,196, 91, 35, 19,114,114,114,183,247,233,201,251,237, 82,156,244,143,198, 44,134, 18, 87,190,183,
+144,167,130,183, 95, 8, 2,131, 69, 72,188,151,142, 35,191,223, 68,112,232, 27,208,233,116, 32, 73, 82, 52,116,232, 80,245,161,
+ 67,135,180, 25, 25, 25,149, 26,141,166, 39,128, 12, 75,141,127,252, 56,133, 10,244,120,195,192, 17,240,200, 74, 5, 71,189, 96,
+241,225,209,175,119, 30, 16,238,236,233,205, 22,139,168, 63, 6,247,239,116,112,247,174, 37,179, 23, 47, 61,136,142,157, 6,116,
+ 73, 77,191, 26, 2,224, 65,189,226, 53, 27,209,140, 35,199,200,236,172,172,136,188,220,220,199, 1,238, 30,250,135, 21,180,113,
+230,130,157,253,123,244, 28,213,246,181,224, 55,185,169, 41,113,196,146,249,239,254,178,124,245, 15,239,155,197,214,197,152, 95,
+122,142, 27,119,147,187,119,111,195,214,241,255, 53,112,120,188,102,118,205,155,179,114,246,238,213,248, 13, 29, 90, 14, 0,122,
+131,193, 45, 39, 55,215, 81, 40, 20,130,166,105, 24,141,198,103,124,136,205,126,195, 97,129,129,238,214,112,230,124,245, 85,219,
+249,243,231,163,168,168, 8, 36, 73,130,205,102,215, 29,179,161, 82,169, 48,110,220, 56,108, 94,179,230, 13,107, 56, 77, 38, 19,
+ 49,101,249,242, 69, 95, 44, 90,244,218,228,201,147, 25,181,199, 94, 23, 23, 23, 28, 62,114,132,187,101,203,150,102, 95,110,222,
+ 60,238, 3, 30, 47, 27, 58, 93,163,156, 37,173, 91,195,165,184, 88, 96, 22, 89, 0, 16, 24, 24,136,109,219,182,241,198,143, 31,
+207, 29, 58,116,232,186,196,118,237, 54,174,239,222, 61,203, 53, 32,192,129,203,227, 53,179,196,105, 62,158, 0, 80,169,213,134,
+173,223,184,209,249,246,237,219, 40, 46, 46, 70, 81,209,211,231, 81,130, 32,208,177, 99, 71,226,195, 15, 63,116,108,229,227,211,
+ 9, 38,211,203, 60,221,127,209, 34,255, 34, 76,170,103,219,127,124,180,170, 27, 68, 84, 55,144,168,117,115,124, 70,176, 88, 18,
+ 90,207,131,138,138, 10, 84, 84, 84, 96,215,174, 93,224,112, 56, 53, 55, 95, 0,208,235,245,214,136,150, 54, 94, 94, 94, 80, 40,
+ 20, 8, 8, 8,120,198,146,197,225,112,192, 98,177,192,225,112,192,227,241,160,211,233,224,235,235, 11,181, 90,221,166, 49, 78,
+141, 70,211,222,197,197,165,230, 6,171,171,238,172, 58,157,174,166,190,122,189, 30,229,229,229,168,170,170, 66,101,101, 37, 84,
+ 42, 85, 7,107,218, 75, 81, 20,146,146,146, 30, 6, 6, 6,182,103, 50,153,176,179,179, 19,169, 84,170, 26,223,162,178,178, 50,
+236,219,183, 79,245,209, 71, 31,185,157, 60,121,210,162,208, 34, 8, 2,159,125,246, 25,120, 60, 30,212,106, 53,126,250,233, 39,
+204,152, 49, 3, 28, 14, 7,149,149,149,216,182,109, 27,230,204,153, 3, 22,139, 5,189, 94,143,141, 27, 55, 54,200,149,146,146,
+146,115,235,214,173, 14,175,191,254,186,243,177, 99,199,228,253,251,247, 23, 15, 28, 56, 16, 2,129, 0, 26,141, 6, 70,163, 17,
+111,188,241, 6,130,130,130, 32,147,201,112,230,204,153, 18,127,127,127,183,219,183,111, 83, 69, 69, 69,121, 22,196, 53, 93,203,
+ 98, 8,147,201,132,226,226, 98, 84, 84, 84, 64, 46,151,163,176,176, 16,143, 31, 63, 6,139,197,178, 24, 77,215,213,213,117,100,
+ 88, 88, 24, 19, 0, 4, 2, 1,218,183,111,143, 69,139, 22,145, 26,141,230, 29, 0,103,170,139, 13,222,185,115,231,177,107,215,
+174,177,188,188,188,144,150,150, 6,177, 88,204,226,243,249, 22,133,150,135,135,199,158, 63,254,248,195,197, 44,174,205,199, 89,
+173,126,122, 58, 70,140, 24,225,178,127,255,254, 61, 36, 73, 14,121,213,110,106, 78, 2,112,218,135, 57, 40, 14, 69,203, 66,231,
+125,190,142, 21, 20,246,244,225,117,210,100,176,214,174,153, 27, 58,102,152,195, 41, 39,129,146, 99,137,103,112, 63,159, 45,111,
+189,213,159,241,254,123,145,153, 28,142,147,223,246, 29, 95, 75, 36,238,227,107,201, 48, 7,184,186, 57,192,175, 57,151, 56,124,
+ 42, 85,178, 96,225, 55,186,168,253, 63,100,255,242,107,244, 32, 46, 59,102,192,153, 11, 5, 83, 27,226,206,120, 88,113, 82,173,
+227, 7, 43, 75,239, 19, 46,238,221,208,190, 93, 32, 36,226,114,236,220,115, 8, 45, 91,117,132, 78,167,131,131,131,131,208,100,
+ 50, 25,152, 76,102,148, 53, 34, 11, 0, 46, 94,172,160, 66, 67, 43,244,204, 74,138,252,116,198,218,183,251, 15,126, 43,164, 79,
+159,126,212,249,152,243,134,110, 29, 12,210,193, 3,219, 23,159,141,217,146, 41, 45,124,228, 31,218,166, 59, 82,146, 99, 7,209,
+ 52,146, 8,162,126,235, 83,114, 22,206,106,169,148,216, 67,135, 38, 81, 26, 42, 65,240,237,119, 15, 6, 71, 68,140, 13,123,179,
+199,155, 84,204,133, 75,122, 46, 74, 82, 29,186,119,125,242,233,132,193,199,126,142,218, 56,224,236,153, 61,173, 21,202,188,104,
+155,200,170,243,144, 70,146,238, 44, 30,143, 33,143,141, 37,219,140, 31,175, 51, 95,143, 66,161, 16, 39, 78,156, 0,151,203,173,
+121,113, 56,156,154,207,238,238,238, 32,170,151,145, 90,195, 9, 0, 82,169, 20, 69, 69, 69,112,116,116,132, 88, 44, 70, 81, 81,
+ 17,110,220,184,129,140,140, 12,176,217,108, 12, 26, 52, 8,140, 6,124,155,235,114,142,158, 55,175,127,112,155, 54,190,117, 69,
+ 22, 0, 24, 12, 6,148,149,149, 97,216,176, 97,140, 51,103,206,120,156,205,207,127, 11, 64, 84, 99,156, 29, 34, 34, 74,139, 15,
+ 31,174,247,183, 95,127,253,117,226,250,245,235,188, 65, 3, 7,206,158,251,221,119, 91, 54,239,223, 95, 96, 34, 73,143,166,180,
+157,193, 96, 48, 8,130,128,143,143, 15,202,202,202, 80, 85,245,116, 6,219,206,206, 14,206,206,206, 48, 26,141,160,104,154,253,
+ 50,207,117, 67, 90,228, 95,130, 29,181, 4,215,142,191, 88,180,170, 27, 5, 0,189,106,223, 88, 40,138,178, 74,100,177,217,108,
+139, 62, 87,214, 88,185,234,194, 26,161,101,174, 43,159,207,175,185,208,106, 11, 44,115, 61, 25, 12, 6,152, 76,166, 85, 33,241,
+ 41,138, 98, 86, 86, 86,226,200,145, 35,232,217,179,103,205,180,148, 66,161, 64, 69, 69, 5, 20, 10, 5,180, 90, 45,114,114,114,
+112,241,226, 69,180,110,221, 26,128,117,193, 95,179,179,179,239,182,108,217, 50,220,124, 19,239,221,187,119,179,189,123,247, 22,
+ 14, 25, 50,196,139,166,105, 44, 94,188,184,228,141, 55,222,112,171,125,147,183, 4, 38,147,137, 27, 55,110,160,117,235,214,160,
+105, 26, 28, 14, 7,233,233,233,144, 72, 36,160, 40, 10, 44, 22, 11,114,185, 28,246,246,141,199, 72, 76, 74, 74,250,248,147, 79,
+ 62, 41,116,116,116,108, 91, 90, 90, 42,229,241,120, 61,174, 92,185,226, 99, 48, 24,224,224,224, 0, 7, 7, 7,156, 62,125, 26,
+ 78, 78, 78,152, 53,107, 86,190, 70,163,185, 33, 18,137,220, 53, 26,205,253,162,162,162,197, 77, 57,223, 36, 73, 66,165, 82,161,
+188,188, 28,101,101,101, 80, 42,149,208,106,181, 22,235, 88, 31,122,244,232,129,232,232,104,230,138, 21, 43,126,206,206,206, 6,
+ 0,248,249,249, 97,214,172, 89, 76,111,111,111,228,228,228,224,238,221,187, 48, 24, 12,160,105,186,209,139,151,197, 98,245,254,
+232,163,143,186,251,250,250, 18, 6,131, 1, 20, 69, 65,167,211,193,252, 57, 63, 63, 31,193,193,193,140,230,205,155,119,201,206,
+206,238, 13,235, 22, 86,216, 0,160, 56,255, 56,188,217, 18,128,225, 0, 90,115, 28,165, 37,207, 23,197, 69, 38,147,125, 55,255,
+171,235,227, 55,175, 54,184, 63,150, 2,129, 97,195,225, 31,210, 23, 31,127, 72, 98,197,154, 35,240,109, 30,136,188,188, 60,244,
+238,221,155, 83, 88, 88,248, 73, 85, 85,213, 60,107,185, 99, 98,110,153,206,159, 62, 51,106,244,187, 99,195,251,245, 27, 66,158,
+ 59,119, 26, 73,247,207, 37,127,242,238, 72, 25, 77, 85, 17, 46, 78,130,132,244,180, 59,254,109,219,247,130,158, 52,245, 0,150,
+173, 6,150,209, 13, 95,239,208,159, 58,229,201, 56,117,124,207,135,239,143, 25,215,174,111,223, 1,198,115, 49,127,224,238,205,
+152,123,235, 86, 79,140, 91,177,241,183,222,253, 7,141, 12, 21,187,223, 56, 29, 22,160,155,224,227,234,248,112,231,222, 50, 91,
+103,169,239,218,228,243, 41, 84,143,139, 12,130, 0, 77,211,207,136,172,186, 66,139,193, 96, 88, 52, 0,212,230,172,125, 47, 50,
+ 63, 80,111,223,190, 29, 60, 30, 15, 92, 46, 23,108, 54,219,162,251, 69,109,206,228,156,156, 62,251,162,162,120,245,137,172,210,
+210, 82,148,150,150,162,170,170, 10,239,189,247, 30,231,235, 59,119, 94, 71,181,235, 71, 67,156,190,158,158, 58,145, 64, 80,156,
+146,146,226, 21, 18, 18,242, 76,125,149, 74, 37, 4, 2, 1,162, 14, 30,228, 68, 70, 68, 76,235,123,250,244, 58, 88,136,127, 85,
+ 95,219, 9,130,128, 68, 34,129,179,179, 51, 8,130, 0, 73,146, 40, 42, 42, 66,114,114, 50,238,220,185, 3, 38, 65,144, 47,243,
+ 28,215,167, 69,254,133, 86,173, 29,245, 78, 29, 54, 52, 39,218, 20,161,197,100, 50,159,219,170,213, 16,172,153, 58, 20, 10,133,
+ 15, 10, 11, 11,187,121,123,123,131, 36,201, 26,161, 85,119,234,208,108,253, 72, 76, 76,132, 80, 40,124,160,213,106, 27,229,164,
+105,186, 75,167, 78,157,112,244,232, 81,196,198,198,226,209,163, 71, 80,171,213,208,233,116,208,104, 52, 72, 78, 78, 6, 69, 81,
+ 8, 11, 11,131, 72, 36,130, 80, 40,124,160,211, 53,254, 32,170, 82,169,164,108, 54, 59, 80, 32, 16,212,108,243,244,244, 68,105,
+105, 41,101, 52, 26,177,111,223, 62,165,135,135,135, 72, 32, 16, 88, 45, 92, 9,130,128, 76, 38, 67,179,102,205,106,124,180, 42,
+ 43, 43, 33,145, 72,204,194, 2, 58,157, 14,246,246,246, 22,167, 14, 1,104,179,178,178,230,214,250,222,113,244,232,209,191, 28,
+ 58,116,168,213,133, 11, 23,112,251,246,109,136,197, 98,124,255,253,247,143,114,115,115,223, 7,112, 71, 38,123,177,126,145,214,
+244,161,210,210,210, 35, 15, 30, 60,232,210,169, 83,167,154, 81,162,119,239,222, 68,239,222,189,221,106,155,250,229,114, 57,254,
+252,243, 79, 92,184,112, 1, 4, 65, 32, 51, 51,211,164,209,104,126,105,108,150,194,219,219,123,239,162, 69,139,236, 72,146,172,
+233,219, 2,129, 0,124, 62, 31, 28, 14, 7, 76, 38, 19,185,185,185, 24, 54,108,152,227,143, 63,254,184, 71,167,211,189, 6,192,
+128, 87, 4, 21, 26, 24, 18,147,148,142, 97,193,238,201, 59,182,175,232, 54,105, 50,204, 83,135,100, 88,176, 36, 57, 49,169,216,
+ 49, 92, 98,185,189,103, 46, 20,124,170, 55,158, 25,122,230,236,229,119, 62,159, 61,139,237,231, 23, 44,187,112, 41,222,183, 47,
+249, 13,225,234,230,128,210, 18, 37,114,243,139,145,157,167,167,253,252,130,101,119,255,124,192, 91,179,126,131,191, 74,173, 53,
+ 79, 29, 54,218, 79,175,222,120, 52,124,221, 38, 94,220,216, 79, 58,114, 5, 2, 47,148,149, 60,128,175,175, 24,195, 34,219, 98,
+247,254, 27,112,116,116,129,187,187, 59, 24, 12,134,200,218,182,151,148,148, 16, 71,126,189, 58,254,163,113, 19,223, 24, 56, 32,
+130, 60,123,238, 20, 43,246,252,201, 27,123,118,124,121,140,102,170,132, 4, 93, 41,104,209,210,227,254,195,172,196,247,251,244,
+123, 15, 2,142,125,107, 32,168,222, 14, 91,179,192,128, 70,254,209, 67,203,248, 31,141,155,212,117,224,192,183,200,115,231,142,
+227,220,233,253,183,150, 46,109,113,250,209,147,131,156,155,119, 30,243,135,143,154, 90, 30,125, 38, 85, 63,114,104,203, 12, 47,
+ 81,123, 13,240,200,166,170,106, 63, 72,178, 88,197,164, 78,231,211,108,224, 64,166, 58, 47,143,109,231,238, 78, 2,128,209,104,
+180, 40,180,208,192, 20,116, 93, 78,107,235,162, 86,171, 65, 53, 16, 59,177, 46,103,145, 76,214,162,250, 33,188, 6, 70,163,177,
+ 70,100,149,150,150,162,162,162, 2, 34,145, 8,114,157,206,221, 26,206, 1,157, 59,239,251,122,217,178,121,135,143, 28,225,212,
+ 22, 89,230, 23,155,205,198,170,213,171, 57, 51, 62,255,124,234, 52, 22,107, 38, 72,210,234,227,105,126,104,103, 50,153, 96,177,
+ 88,200,203,203, 67,126,126, 62,242,242,242,144,151,151, 7,129, 64, 0,250, 37, 47, 2,250, 23,251,103,153, 69, 86,237,247, 26,
+ 43, 87,163,225, 29,154,226, 12,111,173, 48, 48, 53, 97,126,215, 26,161,165, 82,169, 46, 92,188,120,177,243,240,225,195, 89,183,
+110,221,130,135,135, 71,141,208, 50,191,155,167,163,132, 66, 33,142, 29, 59,102, 80,169, 84, 23, 44, 92, 76, 23, 79,159, 62, 29,
+190,100,201, 18,246,199, 31,127,140,148,148, 20, 76,158, 60, 25, 21, 21, 21, 80, 42,149, 40, 45, 45,133, 90,173, 70,231,206,157,
+193,231,243,113,255,254,125,163, 90,173,190,104,193, 98, 71,203,100,178, 42,177, 88,236, 89,247,127,163, 70,141,114,223,186,117,
+171, 58, 45, 45,205,216,173, 91, 55, 7,107, 5,135, 25,191,254,250,107,141,165, 46, 35, 35, 3, 91,183,110,173,241,201,138,143,
+143,199,218,181,107,107, 98,159, 53, 17,119, 74, 74, 74, 72,163,209,136,214,173, 91,195,219,219, 27, 90,173, 22, 27, 54,108, 32,
+ 1,220,249,255,234,205, 90,173,246,240,216,177, 99,191, 72, 72, 72,240,100,177, 88, 79, 77,218,213,237, 51, 24, 12,200,202,202,
+ 66,114,114, 50,210,210,210, 80, 86, 86, 86,243, 32,144,152,152, 88,110, 52, 26,127,107,136, 87, 44, 22, 47,222,189,123,183,135,
+ 80, 40,124,166, 63,155,173,161,102, 43,169, 92, 46,135,147,147, 19,250,246,237, 43,185,120,241,226, 98,157, 78,183,228, 21,185,
+167, 17,163,222,206,232, 56,227,211,225, 24, 17, 41, 44, 56, 26,253,228,250,218, 53,115,171,157,225, 37,201, 35, 34,189, 11,238,
+165, 59, 97,212,219,199, 59, 2,120,140,198, 29,182,169, 75,113,210, 19,157, 58, 57,199, 30, 61,121,114,207,194,249,179,227,231,
+205,157, 40, 86,107, 30,242,253,154,115, 9, 0,200,206,211,211,247, 83, 40,237,218,117,179,227, 87,172,254,145, 81, 92, 90, 49,
+249,207, 63, 27, 14,111, 80, 91,188, 48, 24,224,251, 5,245, 44,244, 15,232,222,242,214,141, 40,216, 9, 53, 8, 12,234,136,129,
+ 3,186, 32,246,114, 34,138,228, 90, 72,165, 82,232,116,186, 70,195, 37,164,221, 63,246, 33, 77,208,190, 4, 77,228, 19, 12,154,
+255,225,216, 9, 61, 34, 34,222,162,163,163, 79,146,199,143, 69, 93,251,237,192,166,195, 12, 14,155,165,209, 59,234, 9, 66,171,
+ 0, 35, 41,165, 74,245,244,129,134,205,227, 52,108,126,173, 14,236, 26, 18, 26,228,241,225,216,201,142, 67, 6, 15,163, 79,159,
+ 62, 78,253,118,104, 95,236,111,187,218, 68, 81, 12, 37, 71, 90,160,230, 41,148, 70, 5, 77,112,157,170,148,148,186, 56,251, 53,
+173, 87,196, 40, 3,112,216,166,174,106,223, 7,116,186,199, 85, 5, 5,158, 46, 61,123,242,178,150, 45, 19,186,119,238,172, 37,
+170,125,136, 27, 19, 90, 76, 38, 19, 96, 48, 40,107, 56,173,173,139, 70,163, 1, 5, 24,159,135,147, 36,201,103, 68,150, 89,104,
+153,175, 23,107, 56,119, 44, 93,122,203,119,224,192,178,203,151, 47,187,247,234,213,139,168,172,172, 68,101,101,229, 51, 98,203,
+203,203,139, 8, 9, 11, 19,254, 26, 27,235,103,237,241,180,166,237, 12, 6,227,165, 11,173,127, 57,118, 52,104, 61,108,108, 47,
+179, 69,203, 26,161,101,165, 69,203,104, 52, 26, 33,145, 72, 80, 82, 82,210,224,141,159,193, 96, 64, 32, 16,152,231,136, 27, 93,
+121,167,211,233, 54,204,155, 55,111,250,224,193,131,221, 2, 3, 3, 33,151,203,225,238,238, 14, 62,159, 95,227, 59,102,230,139,
+143,143,199,238,221,187,149, 58,157,110,131, 5,206,245,171, 87,175,254,116,196,136, 17, 46, 30, 30, 30,112,118,118,198,253,251,
+247,225,236,236, 12,165, 82,137,244,244,116,216,219,219,215,248,237,156, 60,121,178, 82,167,211,173,183, 32,222,232, 43, 87,174,
+ 24,236,237,237,239,203,229,114,102, 89, 89, 25,171,188,188,156,165, 84, 42,217, 10,133,130,125,246,236, 89, 55, 71, 71, 71,245,
+165, 75,151,228,190,190,190,204, 71,143, 30, 49,141, 70,163, 69,245, 74, 16, 4,102,206,156, 9, 14,135, 3,157, 78,135, 13, 27,
+ 54, 96,222,188,121, 53, 62, 89,171, 87,175,198,162, 69,139,106,132,243,206,157, 59,155,212,115,104,154,134,193, 96,128,209,104,
+132,209,104,180, 74,252,254, 29, 88, 41,216,139, 50, 51, 51, 35, 59,117,234,116,254,247,223,127,119,173,142, 73,134,226,226, 98,
+ 20, 23, 23, 67, 46,151,163,170,170, 10, 36, 73,194,219,219, 27,197,197,197, 56,126,252,184,162,178,178,114, 32, 26, 89,113,200,
+100, 50,199,246,232,209,131, 85,183, 14,230,167, 60,179,120,231,241,120, 40, 44, 44, 68,239,222,189,185,151, 47, 95, 30, 11,224,
+ 95, 45,180,106,135,119, 24, 48,112, 60, 39, 56,180,171,254, 94,114,116, 65, 80,203,226,130, 49,195, 28, 78, 1, 64, 98, 82,177,
+227,189,116, 39, 4,135, 70,210, 3, 6, 58,135, 23, 23,237,104, 3,192,208, 88,186, 30, 0,112, 20,242, 70,247,239,215,185,208,
+ 94, 36, 98,172, 93,183,243,204, 79, 63,173,127,253,240,169,255,132,119, 88,187,238,105,120,135,254,253, 58, 83,105,169,105,163,
+ 1,236,178, 86,188, 68, 70, 14, 77,216,189,119, 55,210,146, 47,121,125, 49,179, 45,183,172,216, 8,129,157, 15,194,219,187, 99,
+199,222, 7,184,119,239, 94,145, 94,175,239,221,104,255, 38,104,223,228,148,164,128, 54,161, 33, 30, 31,142,157,228, 16, 25, 57,
+ 12,209,209, 39,112, 96,223,174, 43, 35,223, 27,241,243,147,114, 37, 83,194, 22,114,132, 52,197,101,114, 28, 89, 28,158, 64,166,
+215, 63, 93, 3,193,102,243, 29,128,209,141,222,120,166, 76, 26,227,216,167,223, 48,156, 58,125, 2, 7,246,237,136,251, 42,116,
+212,174,150, 29,130,137,206,175,175,153,218,178, 85,203,230,170,170, 98, 37,131,224, 26,180, 90,202,126,205,190,220, 31,178, 23,
+141,205, 6,176, 14,182, 85,135,181,113,255,192,144, 33,157,102, 60,124,200, 17,119,239, 46, 40,140,141, 21, 86,103, 34,105, 84,
+104,177, 88, 44,208, 13, 79,117, 61,195, 73,236,223,207, 0,208,232, 34, 44, 14,135, 3,181, 90, 13, 99,195, 22,236,103, 56, 61,
+207,157, 43,120,248,240,161,191,139,139,203, 51, 34,171,172,172,172,230,179, 86,171,133, 90,173,134, 64, 32, 72,214,212, 63, 35,
+242, 12,103,241,149, 43,218,149, 51,103, 46,121,255,189,247, 54, 93,184,120,145,239,234,234, 10,133, 66,241,140,208,210,235,245,
+232,211,183, 47,103,117, 66,194,135, 80, 42,151, 90,115, 60,221,123,247,182,232, 15,204,100, 50, 65,189,228,169,195, 87, 0,147,
+234, 19, 94, 12, 75, 83, 56,214,174, 58,108,224, 6, 89, 55,187,247,162,240,240,112,109, 70, 70, 6,124,125,125,107,196, 74,237,
+223,116,112,112,128,147,147, 19,226,227,227,241,221,119,223,105, 0, 44,178,192, 89,169, 86,171,223,237,223,191,191,134,197, 98,
+ 33, 40, 40,168, 38,126, 22, 69, 81,224,114,185, 16,137, 68, 72, 72, 72,192,208,161, 67,213,106,181,250, 93,252, 53,134, 86, 93,
+ 78,133, 90,173,254, 96,192,128, 1,234,148,148, 20,244,232,209, 3,247,238,221, 67, 85, 85, 21,170,170,170,144,147,147,131,144,
+144, 16,168,213,106,108,221,186, 85,163, 86,171, 63, 0,160,104,140,179,178,178,114,232,188,121,243,152,191,252,242, 75, 75,111,
+111,239,208,142, 29, 59, 6,246,237,219,247,181,183,223,126,187,249,144, 33, 67, 60,253,253,253,181, 3, 7, 14, 20, 15, 30, 60,
+ 88,172, 86,171,217,215,175, 95,151, 26,141,198,193, 22,234, 89, 35, 78, 50, 50, 50,106,166, 10, 89, 44, 22, 74, 74, 74,106, 34,
+247,155, 7,165, 6,132,112, 63, 75, 98,219, 44,176,204,130,203, 10, 63,183,250, 56, 45,238,196,229,114,205, 22, 79,218, 10,206,
+196,212,212,212,254, 61,123,246, 76, 28, 63,126,124,101, 81, 81, 17,236,237,237,225,231,231,135,128,128, 0,184,185,185,193, 96,
+ 48,224,216,177, 99,170,227,199,143, 63, 80, 40, 20,189,241,215, 24, 90,253,234, 28,199,156,250, 6, 89,179, 53,203, 44,180,248,
+124, 62,188,189,189,205,199, 54,167, 41,199,243, 57,241,114, 57,171, 5, 76,223, 62, 3, 91, 13,137, 24,238,120,236,196, 13,238,
+166, 45,199, 31,132,247,195, 78,215, 22,202,147,174, 45,148, 39,195,251, 97,231,166, 45,199, 31, 28, 59,113,131, 59, 36, 98,184,
+ 99,223, 62, 3, 91,165, 36,167, 5,214,206,123, 88, 95, 61,249,124,126,215, 30,221,195,203, 47, 95,139,163, 86,172,254,145,209,
+167,247,200,132, 93, 63, 31, 59,182,235,231, 99,199,250,244, 30,153,176, 98,245,143,140,203,215,226,168, 30,221,195,203,249,124,
+126, 87,107,218, 62,101,210, 24,199,136, 33,195, 16, 29,125,140, 60,252,235,214,213,135,142,100,246,156, 48,253, 74,113, 70,198,
+ 61, 90,246,248, 28,216,140, 60,164,166,166, 42,170, 69, 86,134, 53,156,147, 39,142,169, 45,178,174,186,122,244,216,153,154, 10,
+ 83, 76,204, 31,198,139, 23, 19, 52, 87, 19,101,138,187, 41, 37,101,133,242,178, 71, 74,101,169,158,162, 76, 48,153, 76,204,175,
+191,174,113,216,173,247, 28,117,235,214, 11,151, 46, 28,196,190,189,219, 21, 20, 5,237,232,195,135, 77,163, 71, 47,163,155,183,
+104,209, 60,234,215,131, 68,228, 91,195, 29,105,128, 26, 58, 98,152,211, 47,135,126, 33, 90,181,110,213,194,207,175, 38,164,205,
+191,175, 47,189, 4,206,101, 64,185, 50, 47, 47, 46,254,199, 31,117,238,239,190,235,194,117,119,119,128,201, 68,152,199,247,134,
+ 94, 44, 22,171,174, 5,166, 65, 78,111, 55,183, 39, 39, 79,158, 68, 64, 64, 0,188,189,189, 81,219, 71,214, 28,144,219,213,213,
+ 21, 71,142, 28, 1,253,108,112,234, 6, 57, 59,180,108, 25,191,106,229, 74, 61, 69, 81, 40, 47, 47,255,139, 53,171,188,188, 28,
+ 20, 69,225,244,169, 83,122,229,211, 76, 32, 86,181,189, 55,147, 89,245,254,155,111,174,136,136,136, 48, 60,124,248, 16, 20, 69,
+161,182,101, 75, 38,147,193,206,206, 14, 90,157,206, 7,128,208, 26, 78,217,217,179, 34, 88, 24,215,235,177,104,189,140,243,254,
+111, 23, 89,181, 19, 74, 79,178,202,162, 69,146, 36,124,124,124,158, 73,233,194, 96, 48,158,121, 53,113,197,225,254,148,148,148,
+115, 3, 7, 14, 92,242,198, 27,111, 76, 89,178,100, 9, 51, 48, 48, 16, 10,133, 2,206,206,206,144, 72, 36, 72, 79, 79,199,201,
+147, 39, 77, 37, 37, 37,219, 0, 44,135,117, 75,232, 99, 51, 51, 51, 35,219,182,109,123,104,193,130, 5,142, 3, 6, 12, 96,251,
+248,248,128,166,105, 36, 36, 36,224,232,209,163,134, 93,187,118, 41,171, 69,150,181,206,203,231, 11, 11, 11, 71, 14, 30, 60, 56,
+106,236,216,177,246, 38,147,137,157,147,147, 3,157, 78, 7,163,209,136,252,252,124, 67,116,116,116,149, 90,173, 30, 3,224,188,
+ 21,124,241, 21, 21, 21, 33, 49, 49, 49, 99,175, 95,191,254,221,248,241,227, 93,251,246,237,203, 33, 73, 18,215,174, 93,147,119,
+232,208, 65, 34,147,201, 12, 71,142, 28, 41,213,106,181,139, 76, 38,147, 85, 41,120, 8,130,128, 82,169,132,155,155, 27,116, 58,
+ 29, 40,138,130, 94,175,135,157,157, 93, 77,218, 36,154,166,209, 20,231,250, 58,125,128,105, 48, 24,240,222,123,239,129,162, 40,
+108,216,176, 1, 36, 73, 54,153,204,209,209,241,110, 98, 98, 98,100,251,246,237,107,196,139,185, 15,241,120, 60,184,185,185,193,
+213,213, 21,209,209,209, 96,179,217,119, 45,249,187, 85,227, 94, 73, 73, 73,135,152,152,152,174, 15, 30, 60,248, 8, 64,123,131,
+193,224,109, 50,153, 8, 6,131, 33,165,105,250,190, 82,169,252, 25, 86,166,224,145,201,100,223,141, 27, 55,174,195,193,131, 7,
+237, 88,172,255, 92, 26, 44, 22, 11, 60, 30, 15,230,224,152, 52, 77, 67,175,215, 99,241,226,197, 74,149, 74,245,221,171, 50, 74,
+132,119,236,140, 29, 91, 55,218, 93,188,116, 78,158,154,137,163,245,132,112,120, 92, 92,180,163, 77, 97, 65,129, 93,120,199,206,
+ 86,113, 26,245,134,210, 15,198,204,241,173, 78,193,179, 56, 39, 39,119,123,212,254, 31,178, 1, 96,205,250, 13,254,197,165, 21,
+147,211, 82,211, 70,111,223,254,107, 87,163,222, 80,106, 13,231,127,196, 75,148, 2, 52,180, 0,110, 39, 60, 40,110, 57,244,221,
+179,139, 90,183,114,120, 75, 86,170,121, 82, 85,165,254, 12, 64,182,181,109,239,222,173, 39, 46,157,255, 5, 7,246, 69, 41,105,
+138,169,117,115,115,163, 1, 32, 53,213,141, 78, 77,173,160,255,227, 87,236,164, 98,211,247,150,207,249,172,239, 28,133,178,108,
+253,134,173,141, 79,165,180,109,247, 6,218,182,123, 3,211, 63,251,210, 49, 36, 52,200, 23, 0, 14, 31,134, 41,180,117,202, 31,
+ 75,190, 90,246,214,242,229,203,160,172,212,193,156,174, 39, 61, 41,229, 84,118, 54,244,182,123,214,179, 88, 66,146,183, 49,103,
+142,191,186,172, 76,220,253,139, 47,220, 88,159,127,206,104,204, 25,190,246,245,107, 13,231,157,251,247, 79, 77,158, 48,225,201,
+210, 37, 75, 6,110,219,190, 93,208,166, 77, 27, 20, 21, 21, 33, 40, 40, 8,222,222,222,136,137,137,193,145,223,126, 83, 85, 84,
+ 86, 46, 2,240,147, 53,156,251, 79,159, 78, 15, 12, 13, 45,217,190,125,187, 87, 68, 68, 4,161, 82,169,160, 80, 40,160, 80, 40,
+160,211,233, 80, 29, 16,154,206,200,204, 76, 53, 26,141,219,172,109,187, 73, 46,231, 47,239,220,249, 49,135,162, 86,141, 28, 49,
+ 98,222,242,111,190,225,181,106,213,138,208,233,116, 53, 86, 45,131,193, 0, 59, 59, 59,131, 94,175,119, 5,160,182,134,147,183,
+107, 23, 41,151,203, 33, 22,139,107,194, 53,213,142, 75, 88, 89, 89, 9,154,166,109,193,116,159, 3, 13, 42, 36,103,103,231,187,
+ 44, 22,171, 89,109,235, 86,125,185,243,106,111, 51, 26,141,143, 75, 74, 74,194,235, 40,222,134,252,161,252, 0,124,223,167, 79,
+159,145,115,231,206, 37, 46, 95,190,140,227,199,143,211,217,217,217,135,171,173, 88,217,141, 60,233, 52,196,105,207,227,241,102,
+137, 68,162,126,230, 16, 14, 66,161,240,129, 74,165,186, 80, 61, 93, 88,249, 28,156, 14, 60, 30,111,166, 72, 36,234, 95,157,126,
+ 5,246,246,246,137, 42,149, 42, 70,167,211,109, 68,195,137,170, 27,227, 20, 56, 58, 58,126,231,230,230,246,193,231,159,127,238,
+122,229,202, 21,233,165, 75,151, 56, 21, 21, 21, 7,245,122,125, 99, 73,165,255,194,233,226,226,114,151,201,100, 54,123, 73,231,
+ 8,109,219,182,141, 30, 58,116,104,196,152, 49, 99, 96, 52, 26,241,211, 79, 63, 33, 38, 38,230, 84, 86, 86, 86,164,133,167,209,
+186,156,110,205,154, 53,187, 60,101,202,148,230,239,189,247,158,208,217,217, 25, 44, 22, 11, 42,149, 10, 89, 89, 89, 72, 72, 72,
+160, 79,156, 56, 81, 21, 31, 31,255, 88,173, 86,247, 2, 80,210,132,227,249,119,158,154,159,225,100,177, 88, 61,125,124,124,126,
+ 93,186,116,169,125,255,254,253, 5,174,174,174, 96, 50,153, 48, 26,141,144, 74,165, 72, 74, 74,194,185,115,231, 84,135, 15, 31,
+ 86,149,150,150,190, 7, 32,238,255,163,158, 47,146, 51,216, 31, 95,213, 73, 20,221, 96,180,119, 11,101, 45,214,179, 79, 79,207,
+ 97,163, 71, 14, 30, 4, 0,191, 31, 57,115,214,138,164,210, 13,214,211, 82, 93, 57, 2,187,231, 0, 0, 32, 0, 73, 68, 65, 84,
+173,225, 12,106,205, 88,154,156,146,244, 76, 64,203,208,144,176,140,224, 54, 35,190,181,134,168, 86,100,248,103,218, 94,107, 58,
+182,182, 77,247,153,105,214, 96, 63, 68, 14, 27,253,118,196,151,139, 22,226,251,239, 86,224,196,239,199, 78,165,102, 63,147, 38,
+232, 95,215,151, 94, 50, 39,241, 45,139,245,134,208,211,243,205, 13, 20,181,240, 94, 82,146, 93,237, 7, 54,179,229,185,246, 67,
+165,151,151,151, 76, 42,149,186, 91,195, 25,185,121,179, 65, 45, 18,241, 22,174, 90,213,179, 74,171,237,185,124,249,114,214,157,
+ 59,119,176,245,199, 31, 73,237,227,199, 81,114, 96,102, 3,179, 33, 13,114, 54,159, 57,147, 63,127,235,214,143,253, 90,183,150,
+124,244,209, 71,108, 54,155, 13,149, 74,133,130,130, 2,156, 63,119, 78,159,146,154,154,162, 84, 42,223, 2, 80,104, 45,103,228,
+230,205, 6, 39, 63, 63, 8,197, 98,250, 98,108,172,227,228, 89,179,166,180,104,217,210,113,224,160, 65,108, 7, 7, 7,148,151,
+151, 35, 39, 39, 7,199,142, 29,147, 85, 85, 85,121, 1, 48, 89,195, 25,117,253,122,219,211,113,113,163,190,253,246, 91,110, 88,
+ 88, 24, 28, 29, 29, 81, 89, 89,137,164,164, 36,196,197,197,233,182,109,219,166, 80, 40, 20, 83, 76, 38,211,201,151,120,222, 95,
+ 5,171,150, 25, 59,204,179, 63, 47,219,195,223,154, 19, 17, 14,224,171,234,207,223,192,114,206,192, 87,105,240,241,117,113,113,
+217,161,213,106,105,141, 70, 51, 25, 64,254,127, 97, 61, 89,225,225,225, 91,101, 50, 89, 87,154,166,225,232,232,120, 35, 57, 57,
+121, 26, 26, 88,121, 99,129,147, 9,160,171,157,157, 93,103,123,123,251,158, 58,157, 46,184,122,250, 45, 85,165, 82,197, 25, 12,
+134,219,213,214, 39,211,255,115,219,153, 0,250,123,121,121, 77,160, 40,170, 53, 65, 16, 78, 38,147, 9, 70,163,177,130,162,168,
+ 44,133, 66,177, 11, 64,204,127, 65, 61, 95, 8,103,200,107,120,155,102, 32,184, 33, 65,240,140,208,170, 35, 32, 8, 10,169, 41,
+ 15,113,172, 9,245,100, 12,238,231,179, 5,120,186, 50, 17,150,157,107,255, 35,180,172, 16, 47, 77, 22,153,175, 49,199,209, 4,
+253, 12, 39, 65, 19,249, 65,109,223, 62,240,119,132,150,181, 8, 9, 64, 79,208,232, 74,209,184,157,150,133, 75,175,240, 88,247,
+194, 56,191, 7, 92,126,116,118,190,193, 96,177, 60, 0, 48,170,173, 47, 20, 69, 16, 38,154, 32,200,218,211, 91,117, 30, 44, 27,
+229, 52, 0,109,216, 60,158,143,137, 36,221,139, 0,187,211, 38,211,235, 90,154,174,106, 6,124,149, 8,164, 63, 79, 61, 13, 64,
+ 27, 38,143,231,123,154,166,135,201, 69,162,182, 50,141, 70, 12,128,182, 19,137, 82,149, 42,213, 62,173, 86,187, 5,127,157,185,
+176,200,201,225,241,154,153, 72,210, 29, 0, 24, 44,150,236,144, 78,231,243,216,193,225, 35,173, 78,215,220,206,206,206,168,215,
+235,149, 90,173,118, 12, 73,146, 23,155,210,246, 44,146, 12,185,206, 96,244, 48,136, 68,174, 6,130, 16,233, 73,210,160, 55, 24,
+ 10,180, 90,237, 3, 0, 63, 0,120,248,146,207,251, 43, 5,107,194, 73,189,168,139,197,198,105,227,180,113,218, 56,109,156, 54,
+ 78, 27,231,203,231, 20, 2,240,173,126, 88,252, 55,182,253,149,178,110,153, 87,255,179,108,199,194, 6, 27,108,176,193, 6, 27,
+ 94, 9,168, 81,143, 79,150, 13,255,191, 32, 26, 81,165, 77, 49, 9, 62,143,178,189, 96,227,180,113,218, 56,109,156, 54, 78, 27,
+167,141,243,127,142,211, 18,247,191,113, 74,242, 47,185, 14,105,154,222,241, 79,252,176,205,252,107,227,180,113,218, 56,109,156,
+ 54, 78, 27,167,141,243,127, 14,230,169, 67,134,237, 80, 52, 8,247,234,215,139, 46,107,195,171,221, 23,254, 9,120, 87,191,154,
+ 82,222,211,118, 26,109,176,193, 6, 27,254,121,252,127, 8, 45,107,111, 90,127,231,230,246,119,111,140, 43, 8, 2,133, 4,129,
+ 66, 0, 43, 94, 96, 89, 75,240,114,115,115,155, 17, 18, 18, 18,229,238,238, 62, 29,128,164,137,251,251, 11,133,194,141, 34,145,
+232,178, 72, 36,186, 44, 20, 10, 55, 2,240,127, 65,231,141, 0, 48,153,199,227,197,122,122,122, 62,225,114,185,177, 0,166,224,
+249, 87,174, 6,226,105,156,180,111, 0,180,109,202,142,146,208, 97,191,137, 67,135,221, 23,135, 14, 75,114, 13, 27,234, 47, 14,
+ 29,150, 36, 14, 29,118, 95, 18, 58,236,183,151,208, 95,255,214,249, 37,136,167,175,166, 28,100, 11,229, 87, 16, 4,242, 9, 2,
+249, 86,214,231, 7, 2, 40, 32, 8, 60,126, 1,253,211, 6, 27,108,176,193,134,151, 9, 47, 47,175,145,158,158,158, 23, 60, 61,
+ 61, 99,188,188,188, 70, 90,177, 75,191,122,110, 18, 38,130,128,201,194,160,223, 88, 57, 75,230,202,218,251,174,181,178,105,181,
+ 57,221, 9, 2, 38,186, 26, 4, 1, 74, 34,145,108,242,244,244, 92, 81,247, 37,145, 72, 54, 17, 4,168, 90,101, 77,181, 4, 94,
+ 83,205,170,238, 31,126,248,225,239,229,229,229,209,122,189, 62, 58, 51, 51, 51,186, 87,175, 94,135,234, 88, 34, 26,228,228,243,
+249,239,119,234,220, 53, 62,238,218,237,204,140,172,220,194,148,244, 71,185,127,156,189,120, 39,172, 77,219, 63,249,124,254,251,
+ 77, 56, 71, 4,128,201, 44, 22, 43,214,206,206,238, 49,139,197,138, 5, 48,149,201,100,158, 92,185,114,101,110,114,114,114,241,
+245,235,215, 43,226,226,226,158,140, 31, 63, 62,139, 32,136, 63,234, 17,236,253,172,176,192, 44,201,203,203, 59, 43,149, 74,207,
+ 9, 4,130,239,172, 40, 95,195, 41, 14, 29,118, 95,166, 48,208, 50,133,129, 22,135, 14,163,107,125,190,223,196, 99,110,233, 28,
+253,165, 47,240,120, 60, 95, 11,130,190, 95,109,145,101, 54, 29, 91, 35,182,248, 60, 94, 67,229,251, 53, 84, 31, 0, 30,213,255,
+ 11, 7,176,185,250,101, 94,206,238,193,231,241, 94, 84,255,124, 17,199,211,198,105,227,180,113,218, 56, 95, 85,116,168,126,247,
+196, 83,127, 45,207,231, 93,117,248,105,102,102,166, 29, 0, 4, 4, 4, 76, 3,112,164, 41, 66,130, 32, 48,159,162,104, 6, 0,
+ 48, 24,196, 23,189,123,247,233, 32, 16, 8,158,137,130,172,209,104,184,177,177,151,250, 82, 20, 77, 84,151,155, 79,211,216, 8,
+160,216,218,223,208,235,117, 12, 54,155, 11, 6,131,152, 19, 22,214,166, 69, 73, 73,201, 21, 6,131, 17,245,228,201,147,242,166,
+ 91, 36, 8,236,220,185, 51,192,211,211,243, 47,209,154,165, 82, 41,119,216,176,183,154,196, 55, 14,224,233,120,188,206, 28,130,
+240, 52,145,164, 19, 0,176, 88,172,242, 59, 92,110,248,247,223,126, 43, 36, 8,130, 42, 45, 45,133, 70,163,193,236,217,179, 5,
+ 41, 41, 41,195, 75, 74, 74,182, 88,160, 13,104,219,174,195,236,115,231,206, 6, 43,203,202,181, 59,215,111,143,215,176, 56,234,
+150, 33, 65,156,173, 59,246, 57, 79,250,120,204,103,105,105,201,137,168, 63, 29, 73,109, 48, 0, 28,155, 53,107, 86,104,100,100,
+ 36,183,178,178,146,175,209,104, 90, 68, 69, 69, 45, 14, 15, 15,183,107,223,190, 61,247,215, 95,127, 37, 20, 10, 5,104,154, 22,
+ 6, 5, 5,209,239,188,243,142,246,208,161, 67,211, 1,108,106, 68,248,206,127,122, 44, 25, 27, 2, 3, 3,151, 2, 64,102,102,
+ 38,167,214, 49,102, 7, 7, 7,139, 0, 32, 61, 61,253,107,154,166,102, 1, 0, 77, 99, 53,128,133,245, 88,125, 50, 67,187,143,
+ 6, 8,180, 78,190,246, 59, 63,180,199,104, 45,104,100, 17, 64,102,245, 3,193,114,160, 86, 92,168,103,145, 90, 88, 88,248, 92,
+185, 9, 35, 34, 34, 9,130, 32, 14,199,199,199, 31,145,201,100, 45, 41,202, 52,177,177,122,214,237, 71,174,174,174, 40, 41, 41,
+ 9, 16,139,197,231, 76, 38,147,238,234,213,171, 1,193,193, 79,171, 41,110,251,118, 87, 87,123, 81, 95,183,208,225, 87, 74,146,
+143,199, 89,217, 55, 9, 87, 87,215,113, 37, 37, 37, 43, 0, 76, 72, 77, 77,237, 0, 0,193,193,193, 28, 0,119, 29, 28, 28,186,
+ 25,244,122,194, 54,254,217, 96,131, 13, 54,252, 35, 66, 43, 1, 64, 4,254,147,130,103, 7,128, 38, 11, 45, 46, 0, 92,185,114,
+ 5, 0,120,207, 81, 17,162,246,141,103,230,204,153,240,244,244,172, 43, 94,112,249,114,236,223,105,236, 51,191,241,205, 55,223,
+216, 85, 84, 84,244,251,249,231,159,223,164,105,122,109, 97, 97,225, 45, 11,251, 23,211, 52, 86, 51, 24,196, 23, 4, 65,128,199,
+227,103, 76,153, 50, 37,161,250,127, 45,254,248,227, 15,225,208,161, 67,213, 0,114, 1,128,199,227,123, 51,153,140,128,167,202,
+ 21,171, 27, 19,132,163, 0, 63,146,203,237, 51,121,243,102,242,245,161, 67, 89, 34,177,152, 0,128,220,180, 52,215,213,107,214,
+116, 43,207,206,230,106, 92, 93, 75, 75, 85, 42, 77, 70, 70, 6,120, 60, 30,193,100, 50, 95,183,212, 96,145, 72, 52,227,219,239,
+ 87,137,148,101, 21, 26,173,178, 82,207, 36,141, 58,123,129,208, 84, 92, 36, 43,181, 19,136,212, 95,124,181,140,251,233,196,177,
+ 51, 84, 42,213, 52, 11, 84,211,231,204,153, 19,220,169, 83, 39,239,223,126,251,141, 80, 40, 20, 96,177, 88,118,237,219,183, 71,
+120,120,184,233,210,165, 75, 68,203,150, 45, 17, 22, 22,134,107,215,174,225,198,141, 27, 68,135, 14, 29,132, 71,143, 30,253,208,
+104, 52,110,178, 36,174,153, 76,198,236,160,160,160,246, 34,145, 72, 31, 16, 16,128,137, 19, 39,130,166,105,244,235,215, 47,204,
+206,206,238,136, 74,165,226,166,167,167,189,105, 73,100,203,146, 79,188, 99,182,108, 1,104, 3, 26, 89,242,228, 19,181,167, 31,
+131,211,211,211,223, 40, 47, 47,175,177, 16,153, 19,152,191,249,230,155, 77,233, 75,197, 52,141,213, 67,135, 70,126, 1, 16, 68,
+191,126,253, 42,166, 79,159,206, 72, 75, 75,251,224,237,183,135,135,101,102,102,161,177,122,210, 52,192, 96, 60, 77,101, 49,110,
+220,199,216,189,123,119,192,128, 1, 3,174,157, 62,125,218, 53, 32, 32, 64,206,225, 60,213,154, 18,137, 4,238,174, 78, 3,227,
+142,110,152,241,221,198,168, 32, 73,200,219, 21, 52,141, 7, 22,250, 38, 49,110,220,199,197,118,118,118, 35, 14, 31, 62,156, 46,
+149, 74, 89,102, 62, 0, 76,137, 68, 34, 14, 8, 8,152,234,226,226, 34, 99, 50, 24, 18, 26, 52,109,169,127,218, 96,131, 13, 54,
+216,240,220, 56, 85, 45,174, 78,213,253, 7, 11, 0,162,163,163,107,194,151, 70, 70, 70, 54,248, 4, 76,211,116,241,189,123,247,
+124,212,106, 53,104,154,182,102,192,174,189, 68,179,152, 32, 24, 91, 25, 12, 98, 26, 65, 16, 8, 11,107,243,104,195,134, 13,245,
+229,244,210,135,133,181,121,196,100, 50, 90, 61,157, 66, 97,252, 68,211, 84,113, 3,156,245,222,136,184, 92,222,124, 0,240,240,
+240,204, 62,115,230,140,126,212,168, 81, 88,179,102, 13,103,193,130, 5,243, 88, 44,214,244,252,252,252,162, 70,234, 9, 0, 11,
+197, 98,137,112,231,206,157, 1, 83,166, 76, 73,144, 74,165, 11, 1,192,211,211,115, 5,128, 16, 0,185,181,182, 97,219,182, 67,
+ 79, 38, 78,156,152, 33,147,201, 22, 54,196, 57, 2,120,205, 39, 40,168,207,242, 43, 87,104,134, 78, 71,148, 92,189,170,148, 23,
+ 23, 27, 31,202,229,194,189,119,239, 70, 46, 94,177,130,237,227,235,139,203, 39, 79,186,149,168,213,114,133, 78,167, 45, 46, 46,
+166, 73,146,188, 97, 69,219, 67, 37, 98,137,112,251, 15, 63,221,177,103, 51, 41, 73, 51,111,130,237,226,194, 98, 8, 29,184, 76,
+ 22, 67,215,170,133, 63, 23, 64,168,165,115,196,225,112, 62, 28, 48, 96,128,240,208,161, 67, 68, 88, 88, 24,156,156,156,112,245,
+234, 85, 36, 38, 38,162,188,188,156, 97, 52, 26,209,177, 99, 71,172, 90,181, 10,190,190,190,168,168,168, 64,126,126,190, 27,151,
+203, 21, 27,141,198,134,142,231, 51,253,105,254,252,249,240,244,244, 4, 73,146, 40, 43, 43, 3, 73,146,176,179,179, 3, 0, 60,
+126,252, 24, 39, 79,158,176,166, 47, 89, 4, 77,211,232,210,165, 75, 37, 65, 16,169,117, 45, 90, 77,225,244,246,246,254, 85, 46,
+ 47, 25,220,167, 79, 31,148,151,151, 27,151, 45, 91,134,182,109,219, 34, 32, 32,192, 98, 61,189,188,188, 38,147, 36,185, 4, 0,
+142, 31, 63,190,215,211,211,243,147, 3, 7, 14,184,154, 83,132, 76,157, 58, 21,226,182,111,119,117,177, 23,245, 45,150,149,150,
+223,184,147,156, 62,103,242,168, 94, 87,110, 37, 21, 24,216,195,242, 21,247, 79, 40,234,225, 92, 88, 90, 90,250,115,243,230,205,
+127,152, 57,115,166,167,139,139, 11,116, 58,221,226,162,162, 34, 76,157, 58, 21, 0, 48,100,200,144,182,108, 54,251,204,248,241,
+227,209,178,101,203, 39,101,101,101,249,241,241,241, 19,217,175,245, 75, 82,220, 63,241, 92,199,211, 74,216, 56,109,156, 54, 78,
+ 27,231,115,195, 90, 45,242, 95, 10,169,217,130, 85,141, 29,207, 8,173,200,200, 72, 34, 58, 58,154,182,162, 97,165,205,154, 53,
+243, 17, 8, 4, 0, 80,218,212, 90, 80, 20, 53,221,213,213, 85,182,112,225,194,238, 1, 1, 1,250,233,211,167, 39,229,230,230,
+ 46,170, 93,166, 69,139, 22,223,253,248,227,143,200,200,200,200, 93,177, 98,197,181,210,210,210,166,230, 49, 91, 64,211,216, 80,
+109, 29, 43, 57,121,242,100,219, 43, 87,174, 76, 91,191,126,189,248,211, 79, 63,229,204,152, 49, 99, 12,128, 53,150, 72,152, 76,
+166,186,190,233,194,250,224,233,233,169,103, 50,153, 13, 6,137,139, 4, 4,124, 46,183,247,242, 43, 87,104,125,110,174,122,247,
+186,117,246,219,255,252,115,169,145,166,221, 37, 18, 9,122,116,235, 86,197,103, 50, 75,100, 69, 69,148,228,181,215,152, 57,103,
+206,184,105,184,220,194, 67,135, 14, 41, 74, 75, 75,143, 91, 52,225, 17,132,146,162,105,189, 93, 51, 95,227,168,225,253,195,238,
+220, 78, 76,179,151,184, 49, 58,180, 15,107,155,150,145, 27, 15,138, 50, 16, 4,161,180,196,227,232,232, 24, 80, 90, 90, 10,165,
+ 82, 9,177, 88,140, 13, 27, 54,192,195,195, 3,106,181, 26,201,201,201,116,179,102,205,136, 43, 87,174,160, 89,179,102,144,203,
+229,208,235,245,168,172,172,148,233,116,186,134,114, 51, 22, 51, 24,204, 61, 12, 6,241, 49, 65, 16,104,213,202, 47,111,203,150,
+ 45,122,138,162, 16, 28, 28,140,183,223,126, 27, 71,143, 30, 69,114,114,178,217,242,164,111,222,188, 69, 30,131, 65, 52,175,214,
+ 74,207,109,129, 49,167,246, 41, 44, 44, 28,241,156, 23, 13,195,203,203,107, 76,235,214,173,167,189,255,254,251, 70, 46,151, 11,
+149, 74,101, 62, 22,198,193,131,135, 84, 12, 29, 26,233,120,234,212,169, 6,235,105, 48, 24,150, 60,121,242,196, 83,163,209, 96,
+208,160, 65, 51,214,174, 93, 43,226,114,185, 0, 0,147,201,132,159,126,250, 9, 35,167,174, 28, 24,119,116,195,140,111,215,239,
+ 63, 55,107,201,150,216,115,191,174,242,250,118,193, 39,189,198, 76,255, 46, 22,192,217,122, 56, 81, 89, 89,153,237,227,227, 51,
+ 97,206,156, 57, 81,219,182,109,115, 94,180,104, 17, 40,138, 2, 77,211, 32, 73,178, 38,145, 56, 69, 81, 56,118,236, 24, 30, 62,
+124,248,221,177, 51,113, 73, 99,166,191, 50,249,175,109,176,193,134, 87, 16, 77,208, 34,255,141,240,196,211,105, 67,212, 21, 91,
+255,120,100,120, 38,147,185,253,252,249,243,237,223,124,243, 77, 86,223,190,125,195,206,158, 61, 27,246,228,201,147,164,106,235,
+ 65, 88,223,190,125,195, 36, 18, 9, 54,110,220,168,102, 50,153,219,159,243,103,106,110,122, 69, 69, 69, 9, 0,214, 30, 61,122,
+116,245,228,201,147,225,225,225, 17, 34,149, 74,255,209, 54, 59,240,120, 29,198,111,216, 64,178,141, 70,198,230,181,107, 29,214,
+197,198,174,254,237,247,223, 89, 93,186,116, 33,104,154,198,131,251,247, 5,171, 54,109, 18,190, 55,124,120,110,122,118, 54,121,
+226,220, 57, 99,241,147, 39,101, 79,228,242, 37, 0,202, 44,241, 27,141,198,155,153,153,153, 94, 61,122,118,241,142,251, 51, 41,
+113,212,240, 33,125,216, 44, 6,145,149,251,248,174,167,135,155,227,229,216, 11, 26,163,209,120,211, 18,143, 74,165,202, 33, 73,
+210,133,166,105,241,229,203,151, 33, 22,139, 81, 94, 94, 14,163,209, 8,189, 94,175, 87,171,213,252,210,210, 82,104,181, 90,232,
+116, 58, 56, 56, 56,224,193,131, 7,197, 36, 73, 94,106,136,211,100, 50,141,231,241,120,223,176,217,108, 46,135,195, 41,188,123,
+247, 46,148, 74,101, 11, 39, 39,167, 53, 36, 73,162,176,176, 16, 87,174, 92,249,220,193,193, 33, 23, 0,248,124, 62,184, 92,158,
+171, 78,167, 35, 1, 60,121,222, 99,254,119,114, 76,121,120,120,248, 10, 4,130,229, 95,124, 49, 63,184, 93,187,246,144,203,229,
+160, 40, 10, 34,145, 8,106,181, 26, 14, 14, 14,232,218,181,107,206,242,229,203,165, 52,141, 73,141,136, 65,102,245,249,193,228,
+201,147, 69, 14, 14, 14, 40, 40, 40, 64, 80, 80, 16, 76, 38, 19, 72,146,132, 84, 94,250,224,250,157,164,180, 57, 83, 70,247, 60,
+120, 50, 54,245,220,229,187,169,195, 7,117,107, 71, 16,116,139,198,234,152,156,156, 44,111,215,174,221,244,201,147, 39,127, 19,
+ 16, 16,208,138,166,105,248,251,251, 99,192,128, 1, 56,115,230, 12, 50, 50, 50,160, 82,169, 76,183,110,221,250,229,203,239,182,
+252, 17,226,223, 28, 4, 65,219, 70,114, 27,108,176,193,134,151,131,191,248,102, 61, 99,209,250, 39, 33,147,201,228,105,105,105,
+103,227,227,227, 35,223,121,231, 29, 92,190,124,121, 28,128, 57, 0,192,227,241,198,189,243,206, 59,136,143,143, 71, 90, 90,218,
+ 89,153, 76, 38,127, 17,191,201,229,114,181,122,253, 83,227, 20,159,207,231, 55,113,247, 22,213, 83,134, 0,208,162,145,109, 13,
+155, 70, 88, 44,207, 54,131, 6,177,202, 19, 19,149, 59,111,223,254, 38, 42, 42,138,213,189,123,119,194,104, 48,192, 68, 81,240,
+243,243, 35,250,246,235, 39,218, 19, 21,229, 98, 82,169,174,124,251,197, 23, 87,119,140, 31, 95,149, 89,237, 7,102, 9, 58,157,
+110,211,180,169, 19,250,197, 94,190,234, 29, 18,244,154,203,217,243,177, 9,174,174,142,194,128,214,173, 69,165,229,101,166, 69,
+ 11, 62,103,233,116,186,205,150,120, 52, 26,205,177, 11, 23, 46, 12,247,241,241, 17, 39, 37, 37, 65,175,215,195,100, 50,161,111,
+223,190,160,105,154, 7,128, 98,177, 88, 72, 75, 75,131,193, 96,144,101,102,102, 22,102,101,101,241, 0,172,180, 80,191, 60,157,
+ 78,135,212,212,167,179,118,205,154, 53,235, 31, 17, 17, 1,146, 36, 49,104,208, 32,156, 56,113,162,127,106,106,234,186,218,154,
+239,239,158,243,106, 11, 89,176,151,151,215,209,234, 77, 86, 57,193,123,123,123,135,249,249,249,109, 91,185,114, 37,167, 89,179,
+102,160,105, 26,206,206, 78, 80,171,213, 40, 41, 41, 69, 72, 72, 8,124,124,124,176,114,229, 74, 0,248,165, 49,139, 27, 69, 81,
+144, 74,165,200,201,201, 65,118,118, 54,124,124,124, 64, 16, 4, 42, 43, 43, 65,146, 36, 40,138,130,176, 82,121,234,199, 61,127,
+244,254,125,219,146,208,206,109,252,125,111, 39,164,200, 62, 28,209, 95,232,223,210, 55, 64,158,180,140, 1, 44,163, 26,226, 28,
+ 55,110, 92, 86,239,222,189,223,153, 49, 99, 6,167,162,162, 34,188,127,255,254, 27,251,245,235,135,132,132, 4, 92,189,122,245,
+ 61, 30,143, 39, 51, 24, 12,228,119, 95, 78,155,244,253, 34,194,129, 50, 24, 14, 2,203,164,192, 50,219,144,104,131, 13, 54,216,
+240, 98, 97,246,209, 66,173,247,166, 89,180,130,131,131, 69,185,185,185, 31,181,104,209,130, 11, 0, 2,129, 32,196,207,207,111,
+ 94,118,118,118,101, 83,107,163, 86,171,127,139,138,138, 26,240,195, 15, 63,112,134, 12, 25,242,218,209,163, 71, 59, 1,192,144,
+ 33, 67, 94,179,183,183, 71, 84, 84,148, 65,173, 86,191,176,152, 72, 70,163,241,205,142, 29, 59,162,172,172, 12,185,185,185, 73,
+ 77,217,247,143, 63,254, 16,226,169, 95, 86,163,219, 26, 3,169,215, 59, 59,121,123, 51,158,196,198, 26,202,148, 74,207, 55,123,
+246, 36,140, 6, 3, 24, 12, 6, 74, 75, 75,145,159,159, 15, 71, 39, 39, 34, 45, 51,211,110,215,252,249,127,180,104,215,142,107,
+210,235, 93,155, 80, 77, 85,137,172,248,227,207,166,127,122,236,224,193, 95,196, 21, 74,229, 67,129, 64,168,227,241, 56, 30, 51,
+ 63,251,204, 84, 86, 86, 54, 22, 64,149, 21, 60, 43, 15, 30, 60, 56,104,208,160, 65,247,125,125,125, 37,114,185,220,163,162,162,
+194, 84, 86, 86,198, 68,117,136, 39, 0,136,141,141,133, 82,169, 36, 77, 38,211, 21, 60,141,133,165,183,182,162,205,155, 55,119,
+ 12, 15, 15,239, 37, 22,139,161, 80, 40,224,234,234,138,246,237,219,247, 98, 50,153, 63,231,229,229, 41, 94,100,175,143,137,137,
+177,167,105,250, 13,154,166, 49,104,208, 32,171,246, 49,153, 76,159, 68, 68, 68,112, 8,130,128, 70,163, 6,159, 47,128, 72,100,
+ 7,123,123, 7, 4, 4, 4,162,176,176, 16, 3, 7, 14,212, 63,124,248,112,171, 84, 42,253,205, 2, 23, 10, 11, 11, 33,151,203,
+145,159,159,143,146,146, 18, 0, 64, 73, 73, 9, 40,138, 2, 73,146, 77,110, 83,125,156, 10,133, 98, 88,215,174, 93,231, 78,157,
+ 58, 21, 36, 73, 98,216,176, 97, 40, 40, 40, 88,151,147,147,115,200,203,203,107,204, 39,159,124, 34,118,117,117,197,220,185,115,
+ 5, 0,190,182,141,135, 54,216, 96,131, 13, 47, 28,117,125,180,254,106,209,106,108, 78,212,195,195,163, 7, 65, 16,139, 53, 26,
+ 13,215, 60, 37, 67, 16, 4, 87, 44, 22,159,208,104, 52, 43,164, 82,105,147,156,226, 42, 42, 42,148,143, 30, 61, 58,113,243,230,
+205,209, 35, 70,140, 64, 76, 76,204, 88, 0, 24, 49, 98, 4,110,222,188,137, 71,143, 30,157,168,168,168, 80,190,136,150,123,123,
+123, 15,238,217,179,231,136,142, 29, 59, 34, 58, 58, 26, 38,147,233, 70, 83,246,175,189,194, 16,245,172, 58, 52,111,179,138,140,
+201, 4, 65, 16, 53, 55,216, 18,185, 28, 25,233,233, 40, 43, 47,135, 78,171,133, 74,173, 54, 5,180,108,169, 81,232,245,108, 2,
+104,234, 60, 79, 94,252,157, 91,249,106,149, 74,226,234,236,162, 17, 10,121,168, 80, 42, 56,119,239,220,170, 2,240,208, 74, 14,
+ 61, 77,211, 61,207,156, 57,179,132,201,100,190, 99,103,103,135,105,211,166, 49,123,245,234, 5, 14,135, 3,157, 78,135,138,138,
+ 10, 68, 69, 69,201, 77, 38, 83,171,234,125,236,132, 66,225, 62, 38,147,249,184,178,178,114,177,197, 31,208,235,135, 68, 70, 70,
+178,244,122, 61,190,253,246, 91, 44, 93,186, 20,131, 6, 13, 98,221,185,115,103, 8,128,131, 47,170,199, 83, 20,133,254,253,251,
+215,118,134, 79,181,102, 63, 54,155, 29,214,186,117,107,200,229,114,200,229,114,136,197, 98,120,121,121,193,195,195, 3,235,214,
+173,163, 55,110,220,120,214, 96, 48,108, 45, 41, 41, 41,182,166, 14,217,217,217, 53,150, 65,173, 86, 11,149, 74,133,130,130, 2,
+152, 76, 38,196,198,198, 66, 35,114, 24, 52,253,227,161,237, 84, 26,141,250,246,131,204,252,197, 51,198,116, 81,105, 52,234,204,
+156,252, 12, 96, 19,101,137,115,222,188,121,147,198,141, 27, 55,105,244,232,209,168,170,170,194,205,155, 55,209,173, 91, 55,172,
+ 94,189,218,243,202,149, 43,115, 58,118,236, 8, 54,155,141,203,151, 47,131, 36,201, 2,155, 53,203, 6, 27,108,248,111,198,191,
+212, 63,171, 81, 52,106,209,242,241,241,113, 50,153, 76,159, 71, 68, 68,244, 31, 62,124, 56, 6, 14, 28,248,204,255, 15, 30, 60,
+104,127,228,200,145, 21,155, 54,109, 26,100, 48, 24, 86, 54,101,170,143,162,168, 99, 7, 15, 30, 28,210,165, 75, 23, 97,239,222,
+189,253, 0,128,199,227,233, 15, 30, 60,168,166, 40,234,216,115,180,197, 28,136,177, 24, 0,188,188,188,218,178, 88,172, 17,131,
+ 7, 15,110,251,241,199, 31, 35, 57, 57, 25, 81, 81, 81, 89, 1, 1, 1,215,138,139,155,228, 95,157,107, 97,213,225, 10, 75,214,
+ 45, 38,151, 91, 90, 81, 84,228,100,231,235,203,118,182,183,151, 70, 71, 71,251,244,235,215,143, 40, 40, 40, 64,121,121, 57,180,
+ 90, 45,238,220,185, 67,177,128, 60,150,179, 51,145,119,243, 38,193,228,114, 75,241,236, 74, 62,139,240,241,116,246,255,106,193,
+148, 22, 90,157, 54, 84,161, 80,144, 44, 54,155,221,204,195,169, 32,253, 97,147,102,226,116, 66,161, 48, 28, 0,139,162, 40,181,
+139,139,139,240,252,249,243,224,114,185, 32, 8, 2,109,218,180, 1,159,207,231,208, 52,157, 15, 0,246,246,246,220,237,219,183,
+ 59,142, 25, 51,230,170, 37,226, 14, 29, 58,176,121, 60,222, 91, 1, 1, 1,184,121,243, 38,146,146,146,242,110,222,188,217,188,
+ 67,135, 14,240,245,245,125,203,211,211,243,247,132,132, 4,227,139,232,216, 79, 87,172, 54,221, 25,222,100, 50, 81, 4, 65,128,
+193, 96,128,162, 40,200,229,114,180,106,213, 10, 91,182,108,193,134, 13, 27,190,149, 74,165, 39,155,192,101, 82, 42,149, 16,137,
+ 68, 72, 74, 74,210, 69, 68, 68,240, 24, 12, 6,178,178,178, 96, 50,153,176,102,205, 26, 72,252, 7,134,116,235, 24, 22,244,237,
+250,253,231, 68, 60, 30,111, 96,175,240,224,148,204,188,199, 52, 77,228, 54,100,209,170,197,201,105,223,190,253,216,209,163, 71,
+ 35, 59, 59, 27, 43, 86,172, 40,145, 74,165,177,231,206,157, 27, 57,117,234, 84,102,183,110,221, 80, 90, 90,138, 61,123,246,144,
+119,239,222,221, 93, 84, 84,180,223, 54,140,219, 96,131, 13, 54,252,151, 8, 45, 31, 31,159,209, 28, 14,103,238,187,239,190,203,
+ 12, 12, 12, 68,113,113, 49, 28, 28, 28,140, 4, 65,176, 1,192,201,201,201, 40, 16, 8, 48,101,202, 20,180,107,215,174,199,252,
+249,243,187,177, 88,172, 45,133,133,133,251,172,249, 97,153, 76,166,102, 48, 24,135,167, 77,155,182, 50, 49, 49,161, 21, 0,252,
+249,231,159,143, 10, 11, 11, 23,200,100, 50,117, 19,219, 97, 14,138, 73,240,120,252,219,254,254,254, 57,225,225,225, 14,195,135,
+ 15,135, 88, 44, 70,124,124, 60, 86,173, 90,149,169,215,235,151,196,197,197,145,255,244, 65, 38,117,186,162,187,199,143,219,247,
+250,224, 3,135,153, 17, 17,107, 63,157, 54,237,135,175,190,250,138, 21, 24, 24, 72,168,213,106,220,190,125,155, 62,114,228,136,
+113,207, 55,223,108,128, 72,196,190,121,228, 8, 87,175,215,231, 53,209,114,215,179,251,155, 61, 2,215,254,176, 9, 90, 77, 21,
+110,223, 56,133,242,114, 57,182,239, 56, 26,232,237, 77,247,124,242,228, 73,156,181, 92, 4, 65, 4,196,196,196, 72,104,154, 6,
+151,203,197,242,229,203,225,229,229, 5, 7, 7, 7, 84, 86, 86, 98,206,156, 57,142,179,102,205,114, 4,128,228,228,228,154,240,
+ 12,150, 80, 88, 88,216,117,202,148, 41,246, 36, 73,226,236,217,179,122,130, 32, 22, 95,184,112,225,231, 54,109,218,112,123,244,
+232, 97,191,127,255,254,110, 0, 46,191, 40,161,245,156,251,101,157, 63,127,190,227, 59,239,188, 67,179,217,108,162,162,162, 2,
+ 78, 78, 78,216,178,101,139, 74, 42,149,158,106, 34,215,242, 5, 11, 22, 44,169,254,188,119,241,226,197, 19, 86,174, 92, 41, 46,
+ 42, 42,122,234, 8, 47,149,130,116, 46,187,212, 53,226, 51, 83,105,133, 66,191,123,253,252, 81, 2, 62,143,187,120,229,238,203,
+ 70, 38,110, 53,212,174, 5, 11, 22,152,175, 81,174, 80, 40,228,210, 52,141,195,135, 15, 35, 47, 47,239,147,210,210,210, 34,147,
+201,116,244,243,207, 63,159, 23, 24, 24,216, 50, 61, 61, 61,175,178,178,114,181, 79,251,183,115,180,146, 34,212, 10,239, 96,131,
+ 13, 54,216, 96,195,139,131,217, 9,222,188,250,240, 20,158, 78, 39, 54,156,235,208,100, 50, 77, 57,119,238, 28,243,163,143, 62,
+194,189,123,247,176,103,207, 30, 90, 40, 20, 46,246,244,244, 20,250,249,249,241,248,124,254,188,137, 19, 39, 82, 89, 89, 89,232,
+209,163, 7,110,222,188,201, 0, 48,182, 14, 77,163, 33,250, 21, 10,197,157,132,132,248, 86, 38, 19, 69,152, 76, 20,145,144, 16,
+223, 74,161, 80,220,177,208,152,186,156, 53, 65, 49, 41,138, 38,244,122, 93,231,229,203,151,139, 39, 79,158,140,226,226, 98, 44,
+ 95,190,156,250,250,235,175, 47,210, 52,189, 88, 42,149,106,172,228,124, 17,168,225,228,146,100,252,129,121,243, 88, 85,106, 53,
+ 61, 97,238,220,202,239,199,143,159,177,101,211,166,188, 15, 62,248,192,240,197,130, 5,250,107,113,113, 89, 59,150, 47,159, 60,
+232,173,183,170,146,227,226,184,137, 49, 49,108,177,209,120,175, 41,245,124,242,228, 73,220,229,203, 87,177,119,231, 15, 56,176,
+103, 51,174,196, 94, 70,242,253, 84,148,148, 42, 96, 65,100,253,133,147, 36, 73,197,200,145, 35, 43, 70,141, 26,165, 63,124,248,
+ 48,100, 50, 25,170, 67,122, 64,169, 84,226,212,169, 83,136,137,137, 65, 76, 76, 12,206,157, 59, 87,227,228,110,169,158, 34,145,
+232,173,110,221,186, 33, 47, 47, 15,201,201,201, 23,165, 82,105,105,114,114,242,197,130,130, 2,116,236,216, 17, 34,145,104,104,
+ 83,234,249, 2,132,214, 95, 56, 5, 2,193,130,163, 71,143, 70,205,152, 49,131,124,244,232, 17,218,183,111, 15, 0,168,172,172,
+ 84, 3, 48, 53,133, 83,163,209,108,215,106,181, 94, 90,173,214,203,215,215,119, 81,110,110,238,155,115,231,206,149,155,195, 47,
+ 0,128, 60,229,228,205,180,107,123,191,151,184, 57, 11,186,118, 12, 13,252, 97,251,225,203,249, 5,197, 81,181, 98,104,213,229,
+132, 86,171,133, 86,171,173,105,167,209,104, 4, 69, 81,112,113,113, 81, 85, 63,196,228, 60,124,248,112, 90,110,149,235,192, 59,
+241,137, 83, 62,252,116, 89, 78,126, 65,113, 93,145,101, 75, 29, 98,227,180,113,218, 56,255,219, 56, 95, 5,152, 87, 31, 70, 88,
+180,104,209, 52, 77, 82, 20,133,203,151, 47,227,232,209,163, 38,131,193, 48, 73, 42,149,214,142, 86,189, 41, 62, 62, 62,102,228,
+200,145,251,210,211,211,153, 41, 41, 41,160,105,218,212,148,218,104,181, 90, 99,221, 28,112, 90,173,246,111, 79, 29,237,221,187,
+ 23, 69, 69, 69,134,130,130,130, 11, 36, 73, 30,251,155,171, 23,255,246,170,195,189,128,238,125,189,254,194,210,238,221,251, 47,
+137,137,225, 77,248,242, 75,221,184,143, 63,254,220,164,215, 27,153, 28, 14,197, 21,137, 24, 38, 30,143,157, 28, 23,199,223, 56,
+117,170,139, 70,167, 59, 27,213, 4, 7,115,179, 69,171, 87,175, 30, 24, 55, 97, 54, 52,181, 44, 90, 55,239,100, 64,103, 64,147,
+ 44, 90, 58,157, 46, 84, 42,149,130,207,231,231, 3,240,248,232,163,143, 64, 81, 20, 52, 26, 13, 42, 43, 43, 81, 88, 88,168,248,
+248,227,143, 77,213,226,137, 53, 98,196, 8, 7,107,120,253,252,252,188,216,108, 54,206,158, 61, 11, 54,155,125, 10, 0,216,108,
+246,169,152,152,152, 33,239,189,247, 30,188,189,189,253,178,179,179, 9, 88,240, 79,147,132, 14,251,141, 6,252, 65,160,245, 83,
+ 19, 28, 90,139, 67,135,221, 39,128,204,234,168,241,169, 29, 58,116, 0,172,244,203,170,141,234,197, 29, 27,140, 70,227,239,243,
+231,207,159,214,185,115,231, 1, 75,151, 46, 37, 80, 29,170,225,239,224,221,119,223,205, 56,116,232,208,155, 11, 23, 46, 60, 71,
+211,180,174,246,255,100, 37,101,151,186, 68, 78,167, 43, 42, 20,137,242,212,147, 15,154,194, 75,146,100,189,194, 82, 86, 82,134,
+ 46,145,211, 81, 81,161,128, 60,245,164,109,248,179,193, 6, 27,108,120,249, 86,173,191,160, 65,161, 69, 16,196,142,158, 61,123,
+ 78, 2,192, 36, 8, 98, 91, 97, 97,225, 95, 6,127,169, 84,154,225,229,229,181,166,101,203,150,147, 1,208, 4, 65,236,104, 98,
+165,138,105, 26,171, 24, 12, 98,254, 83,113,247, 92, 1, 42,205,105, 73,230, 3, 32, 24, 12,230,190,132,132,132, 47,243,243,243,
+229, 86, 90, 32, 26,197,139, 88,117, 8, 0,191, 0, 57,239,230,229,157,155, 27, 22,214,111,208,212,169,104, 59,104,144,131, 87,
+243,230, 38,141,193, 64, 61,184,118,141,184,113,248, 48, 39, 49, 38,134,173,209,233,206, 30, 3,242,155, 90,207, 39, 79,158,196,
+ 93,138,141, 59, 63,106,196,144, 1,126, 45,189,158,138,134,156, 66,148,148, 41,206, 55, 69,100,213, 17,189,195,182,108,217,114,
+146,195,225,176,106,167,178, 49, 24, 12,101, 58,157, 46, 20, 0,202,203,203,189,118,236,216,241, 43,131,193,200,179,196,151,146,
+146,114, 98,201,146, 37, 35,114,115,115,207, 23, 20, 20,228, 2, 64,126,126,126,174,209,104,220, 39,149, 74, 71,228,229,229, 29,
+129, 21,139, 0,104,192, 63,249,218,239,109, 0, 32,180,251,104, 36, 95,251,157, 15,160, 77,104,247,209, 0,128,231,205,101, 88,
+ 27,165,165,165, 82, 0,139,111,222,188,121,112,192,128, 1, 19,241, 55, 98,122, 1,128, 94,175,135, 70,163,193,245,235,215, 51,
+214,172, 89,211,252,193,131, 7,200,203,251,207, 33,147,167,156,188, 41, 7,110, 54,145,211,168,209,104, 72,147,201,196, 50, 24,
+ 12,180, 94,175,127,230, 33, 69,158,114, 18,114,219,192,103,131, 13, 54,188, 34,160,105,186, 35, 0,177,121,136,171,126, 23,215,
+249,172, 71,117,186, 64,243, 80, 89,253, 93, 78, 16,196,157, 90, 28, 53,219,173,216, 23, 0, 74, 0,220, 39, 8,162, 33, 35,200,
+142,134,190, 55, 40,180, 10, 11, 11,143,192,138,164,209,214,150,107, 4, 11,171,243,196, 1,207,159,135,173,134,195,100, 50, 21,
+231,231,231,255,237, 19,202, 96, 48,114,134, 14, 29,218,164,242,150,202, 28, 2,242, 62,211,233,246, 71,111,222,220,254,236,182,
+109,222, 38,146,116, 37, 0,154,201,229,150,234,245,250, 92,177,209,120,175,169,150,172,103,172, 49,143,158, 12,204,126,244, 4,
+173, 91,183,166,179,178,178,158,218,122,254, 30,238,169, 84, 42, 31, 75, 93, 64,173, 86,247,176, 82, 12,254,242,228,201,147, 95,
+234, 17,236,191, 74,165,210, 95,173,173, 84, 77, 82,105,128, 65, 17,212,168,208,238,163, 15, 3,160,204, 73,165, 95, 36,138,138,
+138,210, 81, 29,231,237,239, 32, 47, 47, 15, 4, 65, 96,213,170, 85, 72, 76, 76, 68, 97, 97, 33, 94, 0,167,142, 32,136, 3,171,
+ 86,173,250, 48, 49, 49,241, 80, 97, 97,161,206, 54, 20,219, 96,131, 13,175,178,200, 34, 8, 34,186,250,123,100,181, 81, 40,186,
+238,103,115, 25,115,185,218,101,204, 28,117,183, 55,182, 47, 0, 44, 88,176,224,203, 21, 43, 86, 8, 1, 88,155,140,249,185,147,
+ 74,191, 44, 20,255,151,112,212, 22, 5, 59, 95, 70, 67, 55, 3,122,144,228, 45,212,142,161,100, 52,190,208,223,200,202,202, 34,
+ 94,229, 11,206,156, 84,186, 22,194,254, 13,245,206,205,205,133,175,175,239, 11, 17, 89,181, 56,183,248,250,250,110, 47, 44, 44,
+ 36, 97,131, 13, 54,216,240,234, 66, 92,159, 48,106, 64,148, 69, 54,246,255,103, 30,220,235, 41, 87,223,119,130, 32,162, 87,172,
+ 88, 17,217,132,250,214, 88,180, 24,182,115,103,131, 13,255, 28,226,226,226, 94, 6,167, 77,100,217, 96,131, 13, 54, 60, 7,234,
+ 90,177,204,226,171,238,247, 5, 11, 22,124,137,198,103,156, 60,241,212,138,229, 89,253,189,198, 95,139, 64,195, 43, 7,154, 18,
+132,244,121, 86, 31, 92,176,113,218, 56,109,156, 54, 78, 27,167,141,211,198,249, 63,199,105,137,251, 66, 61,130, 40,162,161,169,
+190,198,166, 17,235,126,182,180,175,165,178, 4, 65, 52, 20,230,199, 60, 85, 88,243, 78,211,244, 14,252, 3,176, 45,125,181,113,
+218, 56,109,156, 54, 78, 27,167,141,211,198,249,183, 64,211,116, 71,154,166, 35,240,116,193, 20, 77,211,116, 4, 77,211,131, 22,
+ 44, 88,176,208,188,109,193,130, 5, 11,105,154,238,107, 46, 87, 93,166,102, 31,243,182,186,239,117,183, 53, 86,182,145, 42, 78,
+170,243,121,146,121, 17,217,127,139,143,150, 13, 54,216, 96,131, 13, 54,216, 96, 67,189, 48,175, 24,172,101,109,146, 3,120,176,
+ 98,197,138,242, 90,190, 83,114, 0,247, 0,180,171, 46, 39,175, 22,105,181,125,171,244,213,223,245,245,148,209, 91, 83,182, 1,
+236,104,224,179, 77,104, 53,132,118, 30,140,111,124,155, 73,194,171, 79, 0,104,234,105,218, 57,170, 58, 94, 17,109, 14, 92, 68,
+ 81,160,105, 26,133,178,138,248, 7, 50,124,245,188,191, 23,224, 5, 23, 9,159,191,129,162,233,238,213,155,226, 20,165,186,217,
+201, 74, 84, 88,203, 17,228,142, 96, 62, 3,159, 83, 52,218, 2, 0,131,192,125, 45,133, 53,105,197, 77,143, 39, 85, 95, 63, 15,
+ 21, 99, 18, 87, 32,124,215,209,201,185,117,121,121, 73,166, 65,171,251, 61, 69,142,237,104,122, 94, 70,248, 57,227, 13,138,198,
+151, 0, 24,108, 6,214,101,150, 89,189,146,195, 54,224, 16,230, 39, 60, 43,203, 87,255,121,206, 96,249, 54,216,240,202,129,166,
+105,230,223,187, 6, 9, 83, 61,156,196,223,228,180, 93,161, 86,136,173,122, 54,255, 89,207,182, 59,255, 77,245,110,146,208, 10,
+ 17, 99, 42, 8, 44, 3, 64,131,198,215, 41,114,252,212,164,253, 61,209,143,207,100,238, 2,192,212, 26, 76,115,105, 10, 87,234,
+ 61,152, 12,188,201,231, 48,215, 1,160,180, 38,211,248, 20,169,245,254, 98,161,222, 24,196,162, 24, 7, 40,154,102,155, 40,122,
+ 40, 53, 96,187, 0, 0, 32, 0, 73, 68, 65, 84, 31,104, 68,219,113,112,253,214, 19,104,155, 82, 87,223,102,146,240,227,127, 74,
+ 7,196,254, 52, 19,157,219,190, 6,218, 68, 2,148, 17,194, 30,159,227,226,250,143,208, 57,216, 23, 52,101, 4, 40, 18,118,131,
+215, 98,112,152, 35,253, 64,246,124,121,176, 3,188,224,210,220, 77,146,180,115,231, 46, 15, 47,191, 16,130, 34, 13, 72,255,243,
+252,152, 89,243,151,244, 9,133, 34,204, 26,177,213,214, 19, 19,124, 91, 4,126, 62,123,217, 15, 76, 79, 47, 31, 17,101,212,145,
+ 69, 57,169, 29, 54,173, 94,114,132,195,200, 91,119, 95,138, 93,214,246,229, 16, 49, 38,179,120,220,209, 2,190,168,181, 90, 93,
+153,101, 50, 24,127,103,176, 89,131,214,172,221,208,190, 87,255, 33,118,166,202, 34,134,145, 66,200,111,135,126,109,190,121,203,
+214, 33, 73, 82,211, 91, 0,168,166,180,153,162, 49, 63, 99,255,164, 33,108, 22,147, 8,254,100, 39, 19, 32,159, 75,104, 5, 75,
+240, 62, 65,195, 98,120, 9,154,192,213, 84, 25,126,121,158,223, 8,146,224,103,130, 70, 0, 8, 28, 38,104,252,154, 34,135,236,
+255, 83,100, 81,212,211,241,152,193, 32, 44,138, 39, 62,143, 7, 77,117, 20,121,107,202,219, 96,195,255, 42, 24, 12, 70, 44, 69,
+ 81,189, 95,176, 48,120,131,166,233, 91,182,163,251,191,141,166, 89,180, 8,124,155,252,176,192, 25, 38, 3, 66, 3,252,190, 1,
+154, 38,180,248, 76,230,190, 59,153,197, 30, 32, 13,216,249,221,180, 67,122, 35, 64, 26, 13, 48,145, 70,152, 72, 35, 72,210, 0,
+147,209, 8,218,168,195,146,221,177,128,190, 18,225, 97,254,251, 0,147,167,181,191,193,166, 25, 7,226,175,157,119, 33,244, 10,
+252,242,211,138,207, 10,228, 85,159, 93,184, 95, 88, 18, 34,209, 44, 76,145, 97, 79, 83, 4, 65,236,182,153,136, 58,118,234,241,
+198,159, 85,105, 20, 77,195,197, 65, 16, 56, 38, 50,217,103,255,137,216,130, 13,251,180,105, 0,224, 40,226, 6,142,189,159,233,
+251,119, 78,130,132,207,223,176,125,235,102, 15, 79, 87, 1, 65,222, 88, 9,210,100,130, 79,243, 8,230,194,233, 99, 60,191, 93,
+191,107, 61,148,186,113,141,237, 31, 40, 65, 72,139,150,193,115,247,157,186,225,171, 82,202,244,231, 15,126,249, 16, 58, 24, 61,
+188,131,217,223,172,248,129,185,232,139,153,115,244,166,199,183,211,101, 72,177, 52,214, 4, 75,112, 98,197,202,181,109,251, 12,
+142,180,163,170,228, 76,173,170, 42, 96,231,238, 93,203,130,218,118, 18,246, 8,107,198,145,253, 62,133,208, 84,150,193,192,224,
+243,250,132,246,115,208,124,248,158,113,231,222,168,233, 41, 50,108,106, 74,155, 77,181,166,173, 41,234,249,163,174, 19, 52,122,
+ 36,222,138,157,108, 42,188, 3,218,100, 4, 76,134,154,119,152,140,160,169,167,239,157,167,236, 6,240,124, 66,139, 65, 99,192,
+133,107,119, 60,139,139,164, 29,215,175,253,126, 33,125,231,206, 25,152,112, 32,181, 12,113, 77, 21,152, 0, 2, 90,185, 50,207,
+ 25, 77,208, 21, 84,152, 2, 0,160, 79, 0, 15, 0,186,122,218, 17,125,243, 21,196,149,171, 15, 53,113, 86, 14,226,112,117,117,
+ 69, 73, 73, 9, 0,212,164, 66, 10, 14, 14, 6, 0, 56, 56, 56,192,160,215,219, 70, 57, 27,108,176, 94, 24,145, 52, 77,179, 94,
+ 48,231, 16,154,166, 79,255, 77,154,207, 1, 76,168,254,188, 11,192,154, 23, 80,181,102, 0, 60,170, 63, 23, 1,120,108,235, 1,
+127, 11, 53,113,179,234,126,111,106,135,226,131,166,128,195,195, 1, 64,208,212, 90,208, 0, 31, 4, 19, 48,170, 48,108,112,127,
+184, 73, 60, 0,163, 26, 48,168, 1,163, 6, 48,170, 0,163, 6, 37,210, 60,192,160, 2,178,207,128,164,105, 94,147,155,171, 83,
+ 0, 25,191,163,111, 7, 95,136, 29,249,152, 57, 44,196,109,199,217,140, 93,187,206,167,247, 75,145,225, 93,171,234, 74,211,232,
+220,166, 53, 54,238, 82,165,253,145, 32, 31, 8, 0, 67,218,185,158,237, 28,210,220,103,195, 62,109,218,233, 7,229,131, 0, 96,
+ 80,168,195,153, 78,129,158,190, 20,158,223, 84, 64,209,116, 15,175, 22,173, 9, 83,226,118, 80,202,199, 80, 42, 53,120,156,179,
+ 31,206,222,175, 51, 76, 20,122, 90,218, 95,192,196,130, 25,139, 86,177,213,202, 98, 61,101,144,155,196,204,114, 38,139, 75, 17,
+120, 18,167,171,162, 42, 76,179, 39,125, 68,206,253,234,187, 5, 0,198, 52,106,113,148, 96,250,186,117, 27,218,116, 11, 15,146,
+ 20, 29,153, 73, 84,149, 23,131,100, 10,121,195,186,116,131,147,127, 8, 85,124,121, 29,193,245,235, 7, 39, 87, 63, 60,185,113,
+ 16,185,183,142, 18,221, 59,140,224,237,249, 63,246,206, 59, 60,138,170,109,227,247,148, 45,201,166,247,158,144, 80, 18, 2,161,
+ 73,239, 40, 69, 32,188, 20, 65,154,212,151, 34,162,136, 40, 42, 40, 32, 42,197, 6, 40, 29, 84,154,180,128,148,128,148, 40,189,
+ 68, 19, 74, 42,129, 36,164,247,158,108,182,206,204,249,254, 72, 49,129,148,221, 4,245,149,111,126,215, 53,215,108,189,119,102,
+206,236,156,123,158,115,158,115, 14, 74, 95, 3,116,117, 26,173,214,246,232, 59,172,127,247,195, 45, 61, 93, 93, 8, 17, 32, 8,
+ 4, 68,224, 81,166,214,227,195, 35, 9,224,121, 30,175, 12,235,251,146,153,140, 34,130, 32,128, 16, 1,169, 89,249,229,191,133,
+198,190,148, 80,136, 80, 67, 34, 85,157,122, 14,234,123, 63,252,118, 91,125,220,105,116,157,186, 54,150, 2,174,215, 56,231,250,
+222, 57,255, 99, 91,224,135,166,123, 57, 10,124,210,185,117,240,236, 63,151,217,113,240,156, 67,113,110,250,244, 99,251,182,142,
+223,182, 99,199,129,216, 28,204, 55,198,100,189,221, 95,118,125,195,111, 37,118,189, 90,154,229,166, 86,198, 41,125,108,104, 0,
+ 24,182,253,108,244, 91,183, 86,247,104,187,252, 12, 41,186, 26,175,142,168,251,188,172,136, 76, 81, 20,133, 25, 51,102,194,220,
+220, 28, 65, 65, 65,200,204,204,132, 84, 42,253,211,188, 59, 58,194,215,215, 23,182,182,182, 96,104, 26, 4, 68,140,102,137,136,
+ 24,112,221,127,214,102, 43, 57, 57, 57,163, 57,102,203,205,205,173,127,122,122,250, 23, 85,189, 85, 40,138,250,162, 69,139, 22,
+ 43,254,188, 81,173,117,175, 87,204,243,252,212,244,244,244,171, 13,105,142, 28, 57,210,245,204,153, 51,222, 53, 52,189, 1,120,
+215,245, 89,107,107,107,190,119,239,222, 73,103,206,156,201, 16,207,144, 38, 25, 46,163,141, 86,108,202,209, 69, 93, 52,153,101,
+ 0, 16,107,192,231,107, 53,249,169,245,252,186, 61,171,166,173,107,223,194, 22,165, 74, 45, 46,132, 37,129,231,245,224, 57,174,
+ 50,178,197,129,231,244, 24,214,201, 30,189,213,243,241,109,240, 3,112,188,176,182, 33,205, 39,209, 17, 97,114,231,193,175, 30,
+ 17, 4, 34,147, 75,232, 98, 95, 15, 59,199, 37,175,116,162, 23,141,110, 15,149,142,123,245,167,203,241,191,197,228, 96,151, 65,
+154,194,211,195, 19,145,186, 94,227,185, 70,247,189,129,104, 84,143,193, 3,251, 89, 18, 77, 49,244,121, 9, 40, 45,215, 35, 33,
+ 95,143, 44,117, 17,228, 84,166, 65,154, 2, 65, 71,119, 55, 23,197,141,195,239, 63,182, 99, 74, 88, 71,134,147,202,104, 14,188,
+ 64, 24, 82, 20,173,177,109, 59, 68, 82,213,111,171,161,237, 52, 85, 88, 76,235, 63,116,164, 85,202, 79,115, 41, 83,223, 97,112,
+236,226,129,199, 87,247, 32, 39, 44, 24,249, 25, 73,148,165,186, 8, 78,118,173, 48,124,234, 68,124, 57,177, 27, 74, 75, 74,193,
+100,198, 91,201, 36,114,107, 64, 87,167, 38,225, 49,245,235,245,159,187,176, 12, 93,113, 60,171, 22, 94, 15,149, 70, 3,240, 28,
+ 76, 88, 1, 20,169,122, 79, 15, 94,175, 83,116, 28,247,254, 2,128, 15,109,108,223, 99,114,112,176,157, 3,250, 65,208,183, 37,
+122, 21, 40,224,122,116,238,159,230,199,223, 17,147, 95, 24, 54,179, 31,161,112,173, 41,101, 20, 96,135,192,174,222,230,102,102,
+ 37,177, 72, 11,122, 19,241, 48, 33, 78,125,254,139,201,179, 22, 42,118,238,220, 57, 10, 32,175,163,118, 31,181, 16, 0,104,235,
+196, 0,192, 60, 61,143, 21, 0,160,210,147, 61, 22, 50,106,214,215,135,110,217,129,169,152,209,161, 42,146,165,214,147,151,210,
+ 75, 72,161,238,210, 71, 15,122, 46, 9, 30,216,225,238,192, 84,138,146,167, 92,121,164, 41,174,107, 59,165, 82, 25,188,188,188,
+176,104,209, 34,216,218,218, 66,163,209, 32, 43, 43, 11,175,191,254, 58, 0, 96,196,136, 17,144, 72, 36,152, 61,123, 54,188,189,
+189, 81, 80, 80,128,240,240,112,148,151,151, 27,125,126, 26,137,168, 41,106,214,194,210,210,210,167, 69,139, 22, 43,244,122,125,
+127,169, 84,234,164,211,233, 32, 8, 66,150, 76, 38,187,150,148,148,180,186,164,164, 36,241,127,109,223,239,223,191,111,140,217,
+106, 84, 83, 34,145,224,193,131, 7,143,140, 48, 91, 33, 79,124,127,255,245,235,215,113,228,200, 17, 0, 64, 92, 92, 28,218,180,
+105, 99, 86,215, 23, 31, 63,126,108, 54,112,224,192,253, 0, 60, 26,210,140,136,136,240, 57,125,250, 52,130,130,130, 0, 0, 15,
+ 30, 60,128,175,175,111,157, 27,115,253,250,117,102,202,148, 41, 62, 0, 50,254,134, 50,122, 30, 76, 86,205,245,159, 70, 43, 56,
+ 56,152, 4, 6, 6, 82, 79, 62,174,131, 4, 79, 27, 89, 23,168,121, 0, 72, 48,118, 11, 98,178,177,126,211,190,243, 47,255, 26,
+180,165,191,137,148,198,202, 93, 75, 82,115, 11, 74,123,178, 84, 69,243, 11, 71, 64,219,152,203,110,173,157,222,201,179,176, 76,
+141, 83,191,167, 95,141,206, 49, 46, 68, 26,157,137,139,128, 96, 93,241,140,135, 90,149,227, 59,253,203,139,135, 14,125,240,114,
+199,197,163, 59,226,228,205,164,197, 0,215,232,168,239, 68, 16, 64, 4,174,186,243,123,229,173, 3, 32,212,158,192, 87, 0,169,
+120, 77, 48, 46, 92, 48, 0, 96, 11, 29, 49,220, 66, 33,219, 60,111,222, 28, 75,125,238, 67, 20,104,165, 72, 45, 84, 35, 75, 37,
+ 65, 25,235,136,244,216, 8,158,166,112,177,209,144, 11,133, 18,194,169,173,109,100,230,116,192,144, 5,110, 37,231,150, 21,202,
+ 40,142,177, 28,251,153,117,222,175,223, 36,113,202, 92, 37, 69,161,209,225,231,173,172,172,219,168,243,147,152,226,194, 60, 88,
+ 59,183,199,203,175, 6,226,147,145,237, 80, 90,162, 68,110,193, 45,210,218,197,146, 74,190,118, 0,203,135,251, 35, 63, 59, 19,
+ 26, 61, 64, 41, 53, 5,106,173,186,172,222,227, 72, 99,199,219,239, 46,157,236,229,226, 96, 86,149, 84, 64, 4, 30,157,252, 91,
+ 98, 72,255, 30,184,120,253, 6,254,136,136,131, 80,153, 84, 64, 4, 1,105, 57,133,217,106, 29,191,199,168, 3,202,115, 32,122,
+117,157, 70, 12, 77,104, 50, 12,112,132,130, 7, 62,238,230, 99, 49,251,131, 64, 47, 11, 51, 57, 5,181,158,135, 90,171, 71,233,
+141,205,176,107,209, 1, 10, 19, 19,170, 11, 84,236, 29, 60,125,108, 43,167, 70, 95,145,152, 89,228,130,178, 44, 76, 25,210,254,
+173,189,107,223, 48,163, 76, 42, 78, 77, 61, 95, 59,146,117, 99, 85,183,243, 83, 62, 61,113,233,200,209, 73,174, 95,190, 55,109,
+224,176,119,246, 92, 2,112,174,174,109,211,106,181, 40, 46, 46,198, 59,239,188,131,237,219,183, 99,249,242,229,213,199,143,227,
+ 56,240, 60, 95, 61, 47,229,207, 63,255,140,248,248,248, 39, 77,150,136,200, 95,202,248,241,227, 77,178,179,179, 47,123,120,120,
+180, 27, 50,100,136,162, 95,191,126, 80, 42,149,184,112,225, 2,148, 74,165,151,135,135,135,215,133, 11, 23,198,165,164,164, 68,
+187,187,187, 15, 12, 10, 10, 50,184, 15,109,165, 1, 98,170, 47,193, 0, 71, 85,100,136, 48,168,200,253, 16,208,140,121,110,101,
+ 50, 89,213,148, 89,207, 52,178,149,158,158,254,168, 41,145,173,178,178, 50,169,155,155, 27, 28, 28, 28,192,243, 60,148, 74, 37,
+ 78,156, 56,129,226,226, 98, 8,130, 0, 83, 83, 83,124,246,245, 46,196,222,185,140,208,208, 80, 20, 23, 23, 75, 27,211, 76, 75,
+ 75,163, 58,117,234, 4,141, 70, 3,142,227,160, 86,171, 17, 18, 18, 82,253,156,101, 89, 44,253,116, 3,226,194, 46,227,238,221,
+187, 72, 75, 75,251, 91,102, 27, 49,194,139,252, 47, 82,239,152, 89,127,123,214, 33,207,115, 31,238,220,123,232,214,135,243, 39,
+ 98,225,164,193, 30,171,183, 28, 31, 28,147,135,189, 0,224,111,143,233,175, 13,106,237,105,173,144,224,147,159,194, 0, 66, 62,
+108,238,239, 69, 21, 32,174,157,147,176,248,231,208,228,203,203, 38,118, 65, 75, 23,203, 54,133,178, 2, 89, 66,130, 1,115, 10,
+ 10, 28,108,204,229,126, 35, 58,217,157,131, 32,192,218, 66,222, 22, 60, 7,107,115,185,223,203,237, 45,127, 1, 0, 75,133,164,
+109, 93,145,175,250,232,234, 33,153,171,144,179,115,205, 44,172, 61,103,140, 26, 98, 58, 98,212, 56, 83,115, 9,135,252,208, 11,
+ 40,145,184, 67,111,235, 5,141,190, 0,105,137,241,252,175,183, 99,210,243, 74, 53, 75, 26,221, 76,130,171,233,137, 15, 28,124,
+ 58, 14,177,201, 11, 94,158,227, 51,243, 39,111, 26, 2, 93,122, 96,108,182,153, 99,119,211,223, 19, 18,203, 4, 82,103, 68,167,
+ 22, 37,197,197, 73,122, 30, 46, 42,158,181,136,191,244, 35, 62, 24,222, 1,133, 5, 57, 80,235, 56, 20,171, 56,157,179,181,137,
+ 92,147, 24, 9,141,142,131, 86, 47, 64, 98,237,134, 11,183, 34,242, 4,189,254,151,250, 52, 19,242,113, 55,225,196, 93,243,154,
+175,181,180, 71,167,247, 45, 77,239, 66,175, 66,114, 90, 6,246,158,185,213, 37, 33, 31,119,155, 83,206, 68,224, 42,154,159,107,
+ 68,178, 40,130,126, 77,233, 4,223,214, 17,221,165, 38,210,239,190, 88, 60,165, 93, 47, 95, 91,185,144,118, 11,148,160,131, 25,
+207, 66, 37,227, 97,229,209, 18,130,182,148,148,171,213, 69, 81, 64, 67,133,207, 0, 0,209, 41,241,229,180,246,102,148, 77, 75,
+240, 9,231,192,118,158, 11,189, 0,196,231, 11, 0, 16,161,187,244, 81,108,239,119, 79, 15,248,244,226,160,152,140, 51, 43, 99,
+220,198,111,238, 4,236,105,209,208, 54,230,228,228,128,101, 89,204,155, 55, 15,190,190,190, 32,132,160, 77,155, 54, 24, 58,116,
+ 40,126,249,229, 23,196,197,197, 65,169, 84,226,246,237,219,200,204,204, 20,107,126,145,191, 13, 63, 63, 63,231,244,244,244,168,
+119,223,125,215,118,236,216,177,248,249,231,159, 81, 82, 82,130, 61,123,246, 96,227,198,141, 88,181,106, 21,244,122, 61,118,238,
+220,169, 56,118,236, 88,247,173, 91,183,166,121,122,122,182, 79, 73, 73,201,106,196, 96, 81, 0,228, 0, 36,149,117, 23, 5, 64,
+ 56,123,246, 44, 70,140, 24,129,179,103,207, 10,149,175,241,168,184,249,105,210,220,159, 50,153, 12, 50,153, 12,197,197,197,207,
+196,108, 73, 36, 18,152,155,155, 67, 38,147,161,180,180,212,104,179,197,113, 28,147,150,150,134,226,226, 98, 12, 25, 53, 10, 27,
+214,174,197,160, 65,131, 48,100,200, 16, 16, 66, 16, 18, 18,130,193,125, 2, 48,241, 63, 3, 17, 19, 19, 3,142,227, 12,218,222,
+172,172, 44,100,103,103,227,229, 81,163,176,107,235, 86,244,232,209, 3,126,126,126,224, 56, 14,151, 47, 95,198,248, 97,125, 96,
+ 50,102, 48,226,226,226,196,147,218,240,104,214, 51,233,163,213,108,162,114,113, 91, 56,121, 37,120,210,176,238,129,163,250,182,
+195,174,195,191,126, 14,135,146, 67, 0, 96,167,145,127, 54,109, 80, 75, 68,167, 20,226,215,187, 25,193, 49,121,120, 38,217, 26,
+ 2, 15,123, 59, 75, 5,192,200,160,210, 9,156,101, 66,227, 29,152, 5, 66,160,232,255, 62, 94, 27, 21,237,209,163,157,135, 71,
+ 85,214,161,249,136,111, 48, 61,226,145,103, 55, 63,103, 79,240,122,128,215,195,114,226, 79,192,167,102,141,110, 71, 31,111,217,
+197,183, 23, 45,234, 61,124,204,171,166, 50,133, 21,248,146, 84,232,179, 34,144,255,240, 42,148,138, 54,200, 74, 78,192,145,243,
+161,197, 15,211,242, 75,104, 26, 23,178,139, 53,239, 37, 20,162,172, 49, 93,181, 30,107, 87, 44, 95, 50,242,200,161,195, 22,242,
+150,125,169,248,205, 35,138,101, 44, 39,119,240,126,129, 46, 55,177, 39,107,246, 28,182, 84,106,177,174, 49,157,114,101,201,241,
+144, 11,231, 38,182,246,233,107,241,248,143, 51, 80,169, 53,208,232,129,246,221, 7,130,231,137,140,162, 41,193,146, 97,168,156,
+252, 66, 80,122, 62,251,218,189,199,153,215,239, 37, 48, 26, 11,172,107,112,116,145, 39,221, 61,197,188, 53,106, 96,103, 64,175,
+194,127,250,119,192,134, 3,191,190, 9,240, 51,155, 87,200, 21, 17, 45, 2,244,109,231,128,237,132,160,111,216,137,141,109,187,
+142,121, 27,198, 68,180,218,219, 99,184,191,143,235,143, 27, 62,123,223,214,206,189, 13, 67, 9,122, 16,231,142, 64, 73, 26,161,
+210,110,193,202,173, 7,120,215, 62,216,249,237, 87,101,130, 64, 14,161,158,161, 45,248,202, 51, 76, 72,185, 2, 62,246,103, 36,
+ 36, 36,192,222, 43, 12,160,104,144, 22,143,161,227, 8, 52, 58, 2, 0,103, 54,237, 57, 61,232,189, 23,215,182, 31,213,150,245,
+188,117, 47, 62,231,213, 89,174,138,158,158,140,111,116,166, 25,157,167, 84,214,123,174,102,100,100, 32, 35, 35, 3, 57, 57, 57,
+ 40, 42, 42,194,144, 33, 67, 48,120,240, 96,220,185,115, 7,215,174, 93,131, 92, 46,135, 78,167,131,179,179, 51, 40,138,130, 78,
+167, 67,126,126,190,120, 57, 20,249, 75, 81,171,213,199,215,175, 95,111, 27, 24, 24, 88, 21,145,193,173, 91,183,176,123,247,110,
+152,153,213,190, 78,142, 24, 49, 2,132, 16,219,149, 43, 87, 30, 7,208,171, 62,205,222,189,123,143,186,123,247,110, 70,231,206,
+157, 19, 42,205,150, 20, 0, 29, 25, 25, 73,167,166,166, 82, 54, 54, 54,196,213,213, 85,159,145,145, 33, 0,224,103,205,154,197,
+ 28, 61,122,180,181, 82,169,188,210, 84,163, 37,147,201,158, 73,159, 45,137, 68, 2,138,162, 32,147,201, 32,149, 74, 65, 8, 49,
+202,108,241, 60,207,158, 61,123, 22, 97, 97, 97, 88,213,185, 51, 22,187,185,193,214,214, 22,151, 47, 95, 6, 33, 4,102,102,102,
+ 40, 40, 40,192,161, 67,135,240,226,139, 47,130,227, 56,169, 33,186, 65, 65, 65, 8, 15, 15,199,167, 93,187, 98,177,149, 21,204,
+205,205, 17, 18, 82,209, 26, 40,151,203,145,156,156,140,144,144, 16, 12, 28, 56, 80, 60,169,155,137,193, 39,207, 0,128, 45,160,
+224,172,211,170, 64, 56, 2, 80,112,245,247,135, 52, 38,166,118,231, 28, 67,160,105, 44,255,118,111,240,200,111,222, 30, 69,205,
+ 29,221,197,117,245,143,151, 94, 7,128,217,175,248,186, 41,228, 44, 54,157,140, 38, 52,141,229,207, 98, 7,253,253, 33,165,242,
+241,250,144, 30,126,200, 40,210, 34, 62,163,232,183, 24,192,160, 89,156,127,253,230, 53,236, 59,117, 57,117,227, 62,117, 44, 33,
+ 4,214,230,114,191,233,247,227, 61,127, 60, 27,158,242,245, 17,117, 44, 17, 8,172, 21,146,182, 51, 99,250, 52,154,117,216,213,
+ 67, 50,247,157, 37, 75,250,140,158,249,174, 9, 23,123, 20,218,248,243, 16,116, 42,148,232,164, 40, 98,156,145,150,146,130, 53,
+ 59,131, 83, 75,148,218,137, 81,185,198, 25,204,135,249, 40, 99,169,146,177,107, 62, 89,118,113,237,103, 43,205, 85, 9,151,203,
+ 24,138, 83, 49, 45, 6,176,159,173,250,134, 42,213,104, 95, 77, 40, 68,105, 99, 58, 26, 11,172, 91,255,245,183, 35,231, 76, 29,
+ 23,235,219,102,128, 29,159,145,104,167, 46, 41,201,249,233, 92,184,115,229,157, 34, 5, 0,241,105,249,200, 45, 86,114, 60,167,
+191, 98, 33,193,234,104, 67,162,131,149,248, 56,194, 33,176,111,251, 41, 14, 22, 82,168,202,138,224,104, 33,193,176, 30,173,166,
+232,127,143,123, 63, 49,199, 24,187,246,164,209,210,131,232, 85,184,189,238,197,182,132,215,183, 5,175,135,238,254,126,227, 35,
+ 99, 20, 22, 47,236,111,110,105,163,125, 76, 67,105, 6,152,218,131,178,244, 2,172,188, 41,137,255,171,200, 72,136,226,222,156,
+ 50, 53, 63, 49, 41,237,123,123,211,250,155,181,245,149, 77,201, 66,210,101,148,101,199, 35, 50, 67,135,246, 57, 21,173,237,150,
+217,119,192, 63,195,142,233,197,197,197,232,221,187, 55, 94,127,253,117,112, 28,135,209,163, 71, 35, 53, 53, 21,143, 31, 63,134,
+171,171, 43,102,205,154, 5, 59, 59, 59, 44, 89,178, 68,188,226,137,252,229, 36, 39, 39, 79,251,240,195, 15,175,247,232,209,195,
+201,222,222, 30, 29, 58,116,192,169, 83,167,240,238,187,239, 86,127,166,115,231,206, 32,132,160,160,160, 0,235,215,175,207,202,
+200,200,152,214,224, 13,122, 84, 84,236,190,125,251,250,183,107,215, 78, 39,149, 74,139, 0,200,139,138,138, 76, 10, 10, 10, 40,
+181, 90, 13, 65, 16, 4, 43, 43, 43, 62, 35, 35, 67, 63,113,226, 68,205,205,155, 55, 91, 41,149,202,228,230, 68,180, 60, 60, 60,
+ 34,243,243,243,139, 41,138,106,246,208, 15, 85, 38,203,222,222,222,161,172,172, 76, 0, 80,216,148,161, 31, 56,142, 67,215,174,
+ 93,113,254,234, 29,156,253,245, 38, 74, 50, 30,224,245, 57,211,208,161, 67, 7,156, 63,127,190,201,101,214,169, 83, 39,156, 11,
+185,142,235, 97,247,144, 28,119, 31,111,190, 62, 7,237,219,183,199,185,115,231,196, 19,218,112,206,160,118,223,172, 51, 79, 26,
+173,129,193,193,193, 85,151,254,167,236,107, 91,123,116,146, 88,203,246,175, 28,222,202, 95, 50,100, 37, 40,137, 41,142,182, 57,
+215,103,249,154,205,177,140, 99,242,212,200,156,198,179,195,106,253,105,114, 16, 69, 66, 99, 15,222,139,105, 59,229, 63, 61, 60,
+176,235,148,226, 99, 0,120,181,159, 15,126,127,152,139,208,184,156,131,209,185,136,106,238, 94, 7, 56, 66,193,231,225,224,250,
+183, 70, 15,244,114,119,198,238,159,175,131,162,112,220,160, 10,151, 16,210,163,157, 23, 54,238,123, 50,195,208,217,243,235, 35,
+234,216, 11, 81,165,195, 1, 96, 72, 91,197, 47,221, 90,217,120, 18,210,112, 78,151,169,140,157, 55,124,220,107, 38, 92,220, 41,
+ 32, 41, 4, 20,167,129, 74, 39, 32, 51,175, 20,229, 86, 30,184,124,235,158,170, 88,173,125, 59, 58,183,105, 81,188,152, 60, 36,
+ 72,255,184,151, 82,166, 84,185, 40, 28, 90,169, 25, 90, 16,202, 52, 4,191, 71, 39,149, 68,103,225,129, 33, 26, 9, 9,208,246,
+116,227,250,109,223,123,100,133, 68, 42,123,149,161, 64, 57, 90,155, 57,108,255,230, 83, 88, 88,152, 67,208,150, 1,202, 92,140,
+125, 99, 77,110,100,134,222, 7, 0,218,216,193,188,159,143,100, 47, 75, 83,105,151,226,117, 31, 53,246, 27,148, 30,243,167, 14,
+235, 44, 17,180, 74,188,181,254, 48,118,188, 63, 26,175,189,228, 47, 57,115, 35,110, 62,128,213, 77, 45,107,194,115, 32,122, 21,
+122, 45,187, 26, 75, 1,215, 9,208, 55,236,200,103,109,129, 59, 6,107,116, 1, 36, 60, 75,249,119,244, 52,147, 10,105, 55, 32,
+164,221, 32,140, 71, 31, 80,158,253, 41,202,185, 43,249,238,139, 85,202, 93,187,118, 95, 16,104,124,210,216, 80, 25, 85, 17,173,
+188,184,235,208,106,181,208,243,128, 90,173,134, 82,169,132, 89,252, 57,232,121, 64, 42,161, 0,224,229, 69, 51, 70,117, 34,101,
+ 25,229,167, 99,185,148,221,115,218,246, 34,101, 25,229,183, 83,248,184, 60,165,166,209,200,171,155,155, 27,166, 79,159,142, 9,
+ 19, 38, 84, 71, 14,250,244,233,131, 47,190,248, 2, 87,175, 94, 69,183,110,221, 32,145, 72,112,249,242,101,112,156, 56,247,180,
+200,223, 66, 66, 70, 70,198,203, 35, 70,140,248,245,252,249,243,182, 1, 1, 1, 0,128,176,176,176,138,155,206,174, 93,225,235,
+235,139,236,236,108, 76,154, 52, 41, 47, 51, 51,243,101, 52,210,231,183,180,180, 52, 49, 40, 40,200, 73,169, 84,118,254,232,163,
+143,114,188,188,188, 74,212,106, 53, 85, 84, 84, 36,112, 28, 7, 27, 27, 27, 89,231,206,157,209,187,119,239,178, 91,183,110,181,
+ 72, 77, 77, 45, 5,144,212,148,141, 31, 61,122, 52,174, 94,173, 72,218,123, 22,227,106, 73,165, 82, 4, 4, 4,184, 37, 36, 36,
+164, 87,214, 45, 70, 95,227,107, 86, 47,247,238,221,195,149, 59,105, 96,181, 42,200,114, 51,112,251,231, 32,140,154,183,160, 89,
+255,239,123,247,238,225, 68,200,109,152,201, 89, 60,120, 16,133,160,160,160,234, 27,183,191,153, 6,189,200,255, 56,153,168,167,
+159, 22, 11, 0,129,129,129, 87,170,162, 21, 53,105,217, 18, 50,121, 25, 86, 14,233,226,182,244,213,190,173, 24,125, 73, 6, 4,
+ 94, 0, 35, 1, 28,237, 45,177,127,255, 65,159,131,135, 15,223,218,186,101,235,183, 2,199, 45,143,204,129, 49, 61,110, 87,126,
+115,248,250,171,251,151, 12,100, 95, 31,222,214, 22, 0,164, 44,141, 77,167,162, 56, 0, 43,155,179,183, 61,221, 96, 82,166,199,
+ 92, 71, 59,171,143, 63,252,239, 72,219,129, 93,125,113, 37, 52, 18,223, 6,221,186, 42,203,193, 62,131, 79,110, 65,143, 39,253,
+ 83, 93, 89,135, 16, 26,239,119,201,243,196, 89,106,102, 3, 93,210, 37, 64,167,134, 90,163, 67,106, 62,143,212, 2, 53, 88,133,
+ 20, 97,113,105, 42,187, 44, 4, 55, 99,183, 41, 51,133,137,235,138,207,191,118, 87,171,202,184,146,194, 60, 78, 42,187, 45, 81,
+152,202, 51,141,233,170,112, 59, 29,234,254,222,146, 23, 0,129,145,153,144,242,101,239,204, 48, 75,143, 62,143,214,116, 6, 40,
+ 66, 96,234, 63, 18, 22,166,140,180,111, 11, 73, 10, 0,152,153, 41,100,235, 63,121,215,234,237,247, 63,105,180, 15,152, 63, 32,
+245,109,233,252,118,128,151, 13,174,134,199,226,106, 68,114,212,213,176, 7,237, 7,117,112,133,175,187,245, 34, 89, 97,209,186,
+ 24, 24, 31, 33,173, 40, 24, 14,208,171,171,179, 14,253, 29, 49,185,219,171, 31,213,151,109, 88, 39,222,128, 16,199, 19, 80, 12,
+ 3, 80,116, 69, 6,100,234, 13,176,214, 45,201,193, 35, 39,202,119,239,222,247,105, 76,158, 97,201, 25,250,138, 83,130, 47, 41,
+ 41,129,153,153, 25,206,197,113,154,215,134, 73,229, 52, 77, 35, 53,238, 78, 69,103,120, 91, 26, 0,218, 73, 7,125,214,246,198,
+170,110,231, 45,100,148,220,117,228, 39,254, 92,196,190, 52, 67, 42, 9,127,127,127,248,248,248, 96,194,132, 9, 72, 72, 72,192,
+218,181,107,145,153,153,137,243,231,207,227,245,215, 95, 71,159, 62,125,144,159,159,143, 31,127,252, 17, 97, 97, 97,200,202,202,
+ 18, 45,128,200,223, 66,113,113,241,253,152,152,152, 97, 29, 59,118,220,243,214, 91,111, 89, 76,157, 58,213,117,206,156, 57, 52,
+ 0,100,103,103, 11, 27, 55,110,204,248,238,187,239,138,243,242,242,102,234,245,250, 8, 67,254,225,153,153,153, 55,191,255,254,
+251,220,107,215,174,181,239,222,189,187,252,133, 23, 94, 16,108,108,108, 88,185, 92,206,107,181, 90,117, 92, 92, 28,159,144,144,
+224, 82, 84, 84,244, 8, 64, 60,154, 48, 99, 69,101,244,106, 53,195, 48, 43, 8, 33, 1,207,162,143,150, 66,161,112, 5,240,136,
+162,168,214,198, 54, 27, 62, 85, 97,179, 44, 10, 11, 11, 81,158, 21, 5,147,180,135,232,104, 70,163,157,141, 57, 44, 45, 45,155,
+101,138,138,139,139, 1,101, 58,174, 95,191, 7,112, 28,172,172,172, 96,101,101,245,183, 27,173,250,188,200,191,132,185,117,188,
+214,112, 31,173,118, 14,120,221, 84,139,141,243, 70,182,146,122,123,186, 67,147, 22,134,123,169,101, 88,222,179,123, 52, 35,183,
+ 80,207,155, 54,186,235,184,241, 45, 48,176,119, 55,202,219,197,106,209,186,111,182,189,209, 14,121,239, 70,231, 96,147, 33, 91,
+ 20,157,139, 68, 1, 57,187, 47,221, 79,155,239,174, 80, 65, 16, 8, 46, 69,100, 34, 34,169,112,119,108, 46, 18,141,217,187,118,
+ 46, 24,204,130, 62, 76, 8, 49,177, 50, 51, 43,109,231,235,110, 63,184, 87, 39,250,229, 1, 93, 33,101,128,235,191,223,195,226,
+111,142,223, 22, 4, 50,242,142,129,205,134, 21, 25,134,181, 13, 84, 69,134,161,190, 86,134, 33, 33,132, 84,100, 29, 54, 28,124,
+ 96, 24, 42,171, 60,249, 15,103,137, 93, 27,168,226, 47, 33,169, 80, 64,114, 78, 41, 74, 88,103,104,210,211, 1, 34,164, 92,105,
+184, 99,117,131,216,219,219, 59,250,180,243,109,181,121,111, 16,116,229,197, 72,188,188, 7,101,133,153,248,108,251,169, 86,110,
+110,118, 3,210,211,211,175, 24,113,177,241,253, 53,248,160, 35, 8,192, 72,228, 56,179,245, 8,242,236, 76, 97,175,144, 66, 80,
+229, 98,222,219, 83,173,134, 15,153,106, 5, 0,201, 15,238,194, 75,161, 50, 72, 87,103,135,113,175, 14,242,179,134, 94,133,189,
+231,238,170,105,224,229,125, 23,162,226, 7,181,181, 54,121,181,175,151,205,234,140,162, 87,144,223,180, 65, 69,171, 34, 90,213,
+ 17,190, 38,100, 27, 6, 1,124, 91, 1,241,135,111,230,152,141, 31,242,130, 66,202, 82, 20, 41, 75, 7, 49,181,199,182,189, 71,
+203,100,122, 24, 60, 19,123,229,217,176,186,199,218,196, 21, 21,231, 9,246, 12, 95, 27,246,223,139, 31,247,116,200,202,202,130,
+142, 39, 72, 44, 16, 0,224,183,105, 67,218,241,105,197,130,246,194,186,177,227, 41, 83, 7,217,123, 95,238,187, 76,208,120,100,
+147,227, 56, 40, 20, 10, 16, 66, 16, 20, 20,132,228,228,100,228,231,231,131,231,121,188,247,222,123,240,243,243,195,131, 7, 15,
+ 80, 90, 90,138,156,156, 28,136,136,252,157,168, 84,170,112,149, 74,213,225,189,247,222,155,188,108,217,178,254,102,102,102, 62,
+ 0,160, 84, 42, 19,245,122,253,213,202,255,167, 49,217,129, 4,192,163,248,248,248,196,248,248,120,167, 3, 7, 14, 88, 3, 48,
+169,124, 79, 13,160, 8, 64, 54,154,145,113, 88,101,170, 40,138, 90,241,172,142, 67,149,169,162, 40,170,117, 83,190, 79,211, 52,
+ 79, 81, 21, 99,231,201,229,114, 92,187,118, 13, 19, 70, 14, 65,204,153, 34, 4, 88,155,163,251,204,121, 56,124,241, 34, 24,134,
+ 1, 69, 81, 96, 24,198,168,122,132,101, 89, 92,191,126, 29,175, 77, 26, 15, 57, 11, 88, 89, 89,225,189,247,222,195,201,147, 39,
+193,178,226, 44,125, 70,176,179,134,225, 50,112, 28, 45, 10,171, 47,238, 89, 35, 5,175,199,233, 61, 95, 33, 56,178, 76,251, 32,
+ 23,203,253,114,177, 49, 8,165, 66,238, 55,251,230, 95,188, 30,249,229,172,137,129,138, 23, 7, 13,193,139, 3, 7,177,237,187,
+ 13,248, 24,168,101,180, 6,163,129,177, 54,120, 1,159,238, 60, 23, 59,239,240,229, 56, 10,186, 82, 76, 28,218,141,240, 2, 62,
+109,100,103,158,210,180, 50, 53, 63,124,253,214, 45, 27,232,202,144,116,247, 55,147, 22, 62,173, 0, 94,135, 71,143, 30,226,187,
+189, 63, 11,151,127,127,176, 95,203,225,173,132, 66, 40, 13,213,172,168, 45, 57, 88,153,201,252, 94,110,111,249,139, 0, 2,107,
+133,180, 45, 17,120, 88, 43, 36,109,135,180, 85,252, 66, 8, 33, 22,166,146,182,132,215, 55,170,169,210,114, 59,246,254,176,251,
+235,217,179,103,155,229,165,101, 33,163, 36, 18,101, 50, 55,232, 21, 30,136,191,123, 85, 85,174,225, 12,169,196,235, 61,158,121,
+121,121, 57,225,161, 5, 56,188,125, 45,244, 90, 13,114,210, 42,188,106, 70, 94, 9, 44,237,221,110,165,167,167, 27,172,169,227,
+132,226,113, 83,231, 74, 77, 45, 96,250,218,184, 64, 89,124,190, 6, 93, 92, 45, 42, 46, 26,101,185,136, 9,185,142,129,149,125,
+ 76, 19, 82,105,120,117,114, 53,104, 59, 45, 76,164,111, 13,127,193, 13,137, 41,153,184, 22,149,190, 55,177, 0, 25,124,108,230,
+222,248,140,162,249,163,123,122, 98,195,201,232, 55, 1,253, 65, 99,246,221,223, 17,147, 9, 65,223,138,206,240, 42, 16,160,175,
+191, 35, 38, 27,152,105,248,148, 38, 43,197,148,175,127, 73,254,232,232, 31,121,163,151, 78,233,103,217,187,247, 8, 25, 56, 45,
+ 74, 85, 26,125, 76, 17, 74, 12,213, 44, 81, 9, 0,176,163,114, 1, 0,132,167, 9,251,251,173,188,117,245,224, 28, 15, 7,129,
+ 0, 87,227, 53, 0,112,107, 86, 15,211, 91, 62,182,244,199,210, 65,159,249,221, 90,221,227,124, 68,166,112,224,106,124,245, 24,
+ 90, 13,150, 59, 33, 4,122,189, 30,130, 32,192,214,214, 22,249,249,249,200,201,201, 65, 78, 78, 14,226,227,227,155,116, 46, 53,
+ 3, 81, 83,212,124,234, 50, 15, 96,191, 94,175,223, 95, 84, 84,244, 44, 53, 51,240,244,184, 78,205,218,247,154,205,132,132, 16,
+182, 50,154,213, 88,103,248, 6, 53,107, 54, 19, 18, 66,206, 86, 70,179, 26,139,106,213,210, 20, 4, 33,163,107,215,174,182,163,
+ 70,141, 2,207,243,120,248,240, 33,146, 83, 83, 49,120,254,155,176,182,182,198,213,251,247,241,224,193, 3,172, 88,177, 2,122,
+189, 30, 39, 78,156, 72,107, 76,147,101, 89, 93,171, 86,173,164, 99,198,140, 1,199,113, 72, 72, 72, 64,122,122, 58, 22, 47, 94,
+ 12, 43, 43, 43,132,135,135, 87,107,230,229,229,129,101, 89, 93, 29,209,173,191,226, 92,250,183,243,148,201,106,216,104, 1, 60,
+120, 61,138, 47,174,196,166,107,208,233,244,104, 27,157,139,199,209,127, 70,164,182, 49,161,247, 79,223,143,140, 77, 12,191,241,
+162, 12, 57, 17, 48,246, 78,226, 97, 62, 50, 45, 76, 74, 75,161, 43,181, 68,194, 47,120,156, 93, 90,246, 48, 31, 70,231,162, 19,
+129,167,160, 43, 7, 50,195,112,243,234, 21, 92,190,125, 15,127, 68,196,242, 55,195,227, 14,211, 2, 62,141,201,199,195, 38,220,
+133,192,124,228, 6,204,136,120,228,217,205,215,201, 19, 60, 7, 34,232, 97, 53,241, 32,102, 70,247,246,236,214,210,218,179, 34,
+146,165,135,205,127,127, 3,190, 54,105, 80, 47, 44, 85,191, 83,118,242,252, 43,165, 69,249, 61, 95, 26,208,203,204,202,127, 56,
+242, 30,197,225,225,189,235,170,240,200,248,155, 97,169,250,157,205, 41, 93, 55, 55,183,254, 47, 13,240,195,196,121, 31, 66, 87,
+ 94,140,132,203, 63,160,172, 32, 11,215,110,153, 35,182,164,164, 23, 0,131, 35, 90,183, 82,184,246, 72, 41, 68,159, 22,146, 20,
+ 11,104,156,167, 5,142,130,156, 82, 67,208,148,128, 42,207, 67,124,186,182,248,149,237,169, 60, 0, 40,228, 20,107, 70,138, 45,
+ 13,138, 60,122,217,181, 81, 48,122,236,187, 24, 5, 65,168,152,190, 73, 16,176,109,223,111,241,243, 63,125,173, 11,218,121,218,
+116,186,155,158, 67,193,136,144, 63, 69,208,239,143,195,159,180, 85,255,250, 49, 32,232,112,125,145,109,219,126,155, 10,250,161,
+137,211,237, 68,102, 32, 29,192,124,176,229, 59, 22,109, 58,247,113,215,139,209,125,151,252,119,180, 37,200, 51,201,208,141,139,
+206,226,251,247, 88,151,124, 94, 32,127,182,231,254, 25,217,242, 39, 25, 37,228,238,213,120, 77,132, 49,162, 28,199,129,136,195,
+190,139,136, 60,151,148,149,149,205,155, 57,115,230, 14,137, 68,226, 0,128, 18, 4, 1,130, 32,176, 95,126,249,165,132,231,121,
+154,166,105,158, 97, 24,238,236,217,179,122,158,231,115,213,106,245, 60, 3,174, 25,241, 11, 22, 44,104,213, 88,134,226,161, 67,
+135,170, 76, 86,188, 88, 18, 6,153,172,154,235,234, 40, 23,219, 64,144,246,147, 62,175,173, 92, 9,128, 2,193,170,232, 92, 60,
+126,242, 35, 17, 5,200,104,199,232, 22,183,239, 54, 96,101,213,119,140,221, 50, 53,207,143,239,214,193,247, 16, 0,104, 8,255,
+ 90, 83,246,174, 68,163,122,181,115,183, 94,135, 5, 66, 88,142,144,221,180,128, 99,106, 14, 49,134,100,218,213, 71, 70, 78, 81,
+248,240, 0, 43, 2, 84, 52, 25, 86, 55, 23, 86, 14,227, 64, 8, 33,213,205,133, 95,153, 32,175, 88,211,232, 56, 80, 55, 30,107,
+135,104,185, 63,230, 94,184,113,119, 30,207, 19,103,134,161,178, 84, 90,110, 71,115, 77, 22, 0,164,167,167, 95, 9,185,152,126,
+225,126, 39,167,161,246,138,202, 40, 87, 57,144, 87,142, 11,233,185,101, 87,154,162, 89,168,212,143, 94,182,241,228, 41,153,132,
+ 97, 65, 72,197,128,162,132, 64,173,227, 11,110,165,112,237, 1,160,131, 45, 92,223, 59,193, 29, 98, 24, 42,185, 49,189,208, 7,
+153, 27, 38,174, 11,121, 55, 42,169,112,119, 82, 17, 34, 1, 32,169, 8,145, 71,174, 63,254, 56, 62,171,244,221,200,228,194,175,
+ 96,100,191, 10, 66,225, 90,183,137, 43,159,122,173,185,199, 51, 54, 19,247, 0,140, 5,210,134, 76, 92,242,221, 18,138,194,179,
+154,126, 34, 78,165, 35, 94, 53, 95,168,138,108, 85, 46, 6,163,213,106,161, 82,169,192,243, 60,116, 58, 29,180,226,188,134, 34,
+ 34,207,140,170,168, 22, 77,211,171,159,161,230, 89,138,162, 70, 0,120,100,196,215, 66,203,202,202, 58, 60,227,221,203,231, 56,
+206,160,177, 94,196, 36, 26,131,217,249, 79,253,240, 96, 81,243,239,215,108,221,186, 53, 49,194,176,136,199,243, 95,172,217,162,
+ 69, 11, 4, 6, 6,194,213,213, 85, 60,158,162,166,168,105,160, 38, 33,132,105,206, 82,143, 38,213,156, 69, 44,163,127, 61, 79,
+118,134,159, 91, 21,156,160,197, 99,243,252,241,232,209,163,234, 49,175, 68,158,111,146,146,146, 80, 86, 86,134,140, 12,113,190,
+ 87, 17, 17, 67,161, 40,138,111,206, 82,143, 38,105,206, 34,150,202,115,107,184, 68,163, 37, 34,242,111,231,202,149, 43,226, 65,
+ 16, 17, 17, 17,249,223, 49, 89,181,204, 22,133,111,195, 47,213, 0, 0, 32, 0, 73, 68, 65, 84,250,195,127,198,100, 19, 52, 37,
+132, 24, 34,106,138,154,162,166,168, 41,106,138,154,162,230,255, 59,205,198,180,159,139,108,198,191, 43, 73, 73,236, 15, 32,106,
+138,154,162,166,168, 41,106,138,154,162,230,243,142,216, 71, 75, 68, 68, 68, 68, 68, 68, 68,228,239, 70, 28,246, 85, 68, 68, 68,
+ 68, 68, 68, 68,164,121, 52, 58,169,180,136,136,136,136,136,136,136,136, 72,211,104,120, 82,105, 17, 17, 17, 17, 17, 17, 17, 17,
+145, 38, 99,252,164,210, 34, 34, 34, 34, 34, 34, 34, 34, 34, 6,177, 83, 60, 4, 34, 34, 34, 34, 34, 34, 34, 34,127, 15,181,179,
+ 14,131,131,131, 73,205,181,136,136,136,136,136,136,136,200,223,201,243,234, 69,196,166, 67, 17, 17, 17, 17, 17, 17, 17,145,230,
+ 49, 87, 52, 90, 34, 34, 34, 34, 34, 34, 34, 34,127, 13,245,246,209,170, 26,176,116, 96,101,168,110,160,120,172, 68, 68, 68, 68,
+ 68, 68, 68,254, 1,158,111, 47, 34,246,207, 18, 17, 17, 17, 17, 17, 17, 17,189,200,179,161,170, 51,188,136,136,136,136,136,136,
+136,136, 72,243, 16,231, 58, 20, 17, 17, 17, 17, 17, 17, 17,249,155, 13,215, 95,110,180,196,153,205, 69, 77, 81, 83,212, 20, 53,
+ 69, 77, 81, 83,212,252,255,100,178,106,153, 45, 49,235, 80, 68, 68, 68, 68, 68, 68, 68,164,121, 52,154,117, 40, 34, 34, 34, 34,
+ 34, 34, 34, 34,210, 52,230, 2, 8,172,124, 28,136, 26, 81, 45, 49,162, 37, 34, 34, 34, 34, 34, 34, 34,210, 60,118, 2,112,169,
+ 52, 88,103, 0,100,138, 70, 75, 68, 68, 68, 68, 68, 68, 68,228,217, 80,179, 95,214,200, 26,230, 75, 52, 90, 34, 34, 34, 34, 34,
+ 34, 34, 34,205,164,222, 62, 90, 20,234,207, 28, 8, 49,226, 7,154,146,125, 16, 34,106,138,154,162,166,168, 41,106,138,154,162,
+230,255, 59,205,198,180, 67,240,239,227,169, 97, 29, 8, 33, 59,255,142, 31, 22, 83, 95, 69, 77, 81, 83,212, 20, 53, 69, 77, 81,
+ 83,212,252,127,199, 95, 54, 96,105, 23,192, 84, 60,188,207, 37, 78,149,139,136,136,136,136,136,136, 72,195,252, 53, 89,135,254,
+192,127,167, 6, 56,108,215, 71,230, 90, 70, 2,229, 13,125,214,193,193, 97,135, 66,161,152, 90, 94, 94,174,164, 40, 74,168,233,
+ 0, 1,212,156, 28, 40, 33, 55, 55,183, 95, 99,191, 45,147,201, 54, 58, 57, 57,253,183,172,172,172,156,162, 40, 66, 81, 20, 40,
+138, 2,128,167,214, 60,207,167,229,231,231,119,253,151, 91,101,198,222,201,233,119, 9,195,184, 25,251, 85, 94, 16, 30,231,100,
+103,247, 50,226, 43,107, 41, 10, 75, 43,126, 22, 95, 0,248,240,185,187,243, 0, 24, 67, 62, 23, 0, 88,196, 1, 19,121,154,126,
+ 83, 2,108,209, 8,194,118, 0,160, 0,190,169,191,173, 9, 69, 43,138,160, 19, 69,193,138, 16, 20, 19, 10,247,228, 61, 16,255,
+ 15, 29,138,113, 18,137,100,180,165,165,165,121,126,126,254, 21, 0,135, 0, 76,178,179,179, 27, 80, 82, 82, 82,166,215,235, 79,
+ 2, 56,222, 20,225,126,157,240,190, 76, 42,153,165,214,233,215,223,184,135, 31, 6,116,129, 29, 39, 96,157,137,148,237,167,209,
+114, 95, 92,191,143,221, 70, 74, 82,149, 75,213, 53,195,232, 73,197,142, 26, 88,238, 0,112,194,198,198, 87,238, 96,249,171, 68,
+198, 60, 46,202, 46,155, 58, 62, 39, 39,117, 66, 51,202,253,127, 17,123,123,251, 25, 52, 77,127, 78, 8, 1,207,243,203, 11, 10,
+ 10,246, 60, 35,233,229, 0,172, 43, 31, 23, 1,248,188,153,122,201, 0, 60, 43, 31,167, 0,240, 18,235,245, 38,179,237,231,159,
+127,158, 63,104,208, 32,108,216,176, 1,219,182,109, 75,202,205,205, 93, 7, 96, 47, 0,237, 63,160, 35, 82, 31,237,128, 17, 95,
+ 14,235,193,235,127,252, 84,168,241,242,224,122,254,204,223, 79,155, 54, 77, 71, 8, 33, 15, 30, 60, 32, 90,173,150,232,245,122,
+194,113, 28,225, 56,142,232,245,250,234,197,205,205, 45,253,137,175, 63,165, 73,211,244,166, 87, 94,121,165,148, 16, 66,194,194,
+194,136, 74,165, 34, 26,141,134,104,181, 90,162, 86,171,137, 74,165,170,181, 56, 57, 57,101, 55,164,105,105,105, 25,102, 99, 99,
+147,109, 99, 99,147,109,107,107,155,109,107,107,155,109,103,103, 87,189,216,219,219, 87, 47, 14, 14, 14,217, 14, 14, 14,217,182,
+182,182, 97,141,109,103, 37,195, 0, 92, 49, 96, 25, 86,199,119, 7,215, 52, 90, 46, 46, 46,217,164, 9,184,187,187,167, 26,176,
+157, 85, 56, 81, 20,248,170,239, 82, 20, 4,185, 92,238, 89,243,125, 60, 29,233,106, 52,164,236,234,234,250,138,139,139, 75,136,
+139,139,203, 69, 87, 87,215, 87, 12, 56,197,106,105, 90, 88, 88,132,217,219,219,103, 59, 59, 59,231, 84, 45, 46, 46, 46,181, 22,
+ 87, 87,215,234,197,201,201, 41,219,198,198,166,222, 50, 34, 0, 83,223,114, 25, 96,229,192,139, 44,195, 4, 59, 57, 57,149, 68,
+ 68, 68,240,132, 16, 66,211,116,122,213,103,140,217,247, 39, 77, 86,249,117, 44,207,187, 36, 15, 45,123,188,174, 56,239,146, 60,
+180,252, 58,150,107, 66,209,170,169,154, 6, 82,151,230,244,233,211,167,223,203,206,206, 78, 47, 42, 42,202,220,190,125,123,156,
+137,137,201,245,237,219,183,199, 21, 21, 21,101,102,103,103,167, 79,159, 62,253, 30,128, 5, 70,104, 2, 0,122,117, 66,207,217,
+227, 92,202,239,157,120,173,252,197,110,236,221, 62, 1, 8, 28,210, 75,154,190,249, 3,255,242,171,187,250,150, 15,122,129,142,
+ 52, 82,147, 98, 89,182,183,167,167,231, 44, 7, 7,135,105,149,203,107, 85,139,179,179,243,107,206,206,206,175,217,216,216, 76,
+104, 72,243, 40,192, 24,178,120,152,152,244,158,224,227, 89,158,188,122, 21,137,120,251, 77, 50,171,165, 71,201,120, 71,199, 22,
+255, 64, 25,253,165,154,142,142,142, 25,122,189,158,232,116, 58, 98,103,103,151,241, 12,183,243, 43, 66,200, 87,132,144,175, 0,
+124,245, 12, 52,171,175,103, 70, 24,236,134, 52, 77, 88,154, 94,162,144,201, 46,202, 89, 54, 71,206,178, 57, 10,153,236, 34, 75,
+211,239, 2, 48,249, 95, 42,163,191, 64,211,220,193,193, 33,113,227,198,141,164,188,188,156,148,151,151,147,141, 27, 55, 18, 7,
+ 7,135, 68, 0,230, 70,104, 54, 85,231,121,138, 96,213, 90,170,154, 14,159, 73, 68,203, 31,232,250, 98,167,214,199, 22,205,152,
+ 8, 33,104, 35,213,200, 29,211,247,189,186,118,157,181,119,239, 94, 0,192,212,209,163, 49,180,123,119, 88,152,155, 65, 38,171,
+216, 28,138, 80,144, 74,164, 24,179,248, 29, 67,126,254,139, 49, 99,198, 76, 9, 10, 10, 50, 7,128,109,219,182, 97,220,184,113,
+176,181,181,133, 66,161,128, 84, 42,133, 68, 34,169,181,110, 12,134, 97,220,211,211,211, 29, 77, 76, 76,170,163,108,130, 32,212,
+ 90,106,206,202,205,113, 28,218,180,105, 99,232,225,250,160,184,184,184,191, 82,169,172,214,168,107,241,241,241, 1,128,243,134,
+ 8,126,254,217,167, 16, 56, 37, 88, 22,224, 56, 64,163,163, 33,144, 58,205, 13, 22, 44, 88,208,172,217,196, 71,142, 12,164, 40,
+138, 10, 10, 15, 15, 63,150,147,147,227, 45, 8,252,156, 38, 70,186,222,120,248,240,161, 57, 0,248,250,250, 46, 0,112,204,152,
+237, 96, 89,214,253,254,253,251,142,114,185,188,222,200,101,141, 8, 38,116, 58, 29,186,116,233,194, 25,243, 27, 78,128,103, 1,
+ 77,207,233,252,194, 11,115, 87,142, 25, 99,242,251,239,191,155,208, 52, 13,142,227,240,229,151, 95,114,132, 16,235,118,128,101,
+ 52, 80,210,128,204, 50, 0, 51, 42, 43,131,221, 0,190,172,229, 22, 8, 58,169,244,242,192,132,178, 49,221,123,180,120, 31,209,
+ 81, 17,221, 91,154,159,128, 5,171,137, 7,254,222,168,150,165,165,229,232, 13, 27, 54, 56,236,222,189,187,228,193,131, 7,186,
+237,219,183, 59,204,155, 55,207, 66,167,211, 97,254,252,249,185,126,126,126,210, 13, 27, 54, 56, 28, 63,126,252, 69,165, 82,185,
+213,168,242,162,240,233,164,209, 67,161,214,211,208,235, 57, 7, 23, 7,139,253,139,166, 15,148, 16,162,197,190,147,225,208,115,
+194, 15, 70, 70,178,122,141, 31, 63,190,229,193,131, 7,217,216,216, 88,182,109,219,182, 16, 4, 1, 60,207, 67,175,215, 3, 0,
+ 4, 65, 64,235,214,173,155,125, 92,102, 1,190,246, 78,182, 23,123,141, 24,110,234, 98, 34,135,109, 97, 46,102, 75, 89,139, 61,
+ 10,205, 1, 0,189,159,171,200, 46, 33, 96, 89, 22,169,169,169,112,116,116, 52, 21, 4, 33, 19,192,170,194,194,194,157,120,126,
+233, 46, 99,217, 99,251,126,216,228,220,163,119,111,198,201,197, 17,113, 15, 83,192, 82,252,224,251,127,132, 15,156,245,250,146,
+ 69, 90,142,123, 5,192,239,207,219,142, 59,247, 94, 48,150,162,153,109, 20, 17,240,201,230, 83,165,107,191,216,168,152, 63,103,
+ 58,179,120,241, 98,120,120,120,120,143, 29, 59,246, 11, 0,175, 55,170,211, 99,193, 88, 48,244, 54, 16,130,149,223,157, 42, 93,
+243,197, 70,197,235, 77,208,249,151, 83,239,127,164,217, 70,203, 31,104,217,222,195,241,194,218,165,175, 75,200, 47, 63,210,229,
+249, 57,245,126,214,193,193, 97,199,203, 47,191, 60,117,207,158, 63,163,209,189, 2, 2, 48,246,197,190,112,180,179,130,194, 76,
+ 86, 81, 29, 9, 20,238, 61,120,108,144, 33,240,240,240,152,127,236,216, 49,243,154,102, 66, 42,149, 86, 47, 53, 77, 86,213, 82,
+ 85, 1, 55,132,137,137, 9, 66, 66, 66,192,178, 44, 24,134, 1,203,178,213, 75,205,231, 12,195,192,201,201,168,174, 75,235,172,
+172,172, 58,150,150,150, 90, 22, 21, 21,193,211,211,179, 4,192,253, 26,239,119,204,205,205,181, 52, 70, 80,224,148, 88, 60,219,
+ 31, 18,237,109,104, 37,221,161, 98,251,224,230, 31, 49, 8, 62,127, 5,233, 25, 89,232,219,179, 51,166, 77, 30,143,139, 23, 47,
+130,231,141,110,233,200, 38, 4, 95,140, 26, 21,248, 62, 64, 81,131, 7, 15, 46, 90,184,112, 33, 29, 27, 27, 59,101,236,216, 49,
+ 1, 15, 31, 62,170,140, 42, 82, 75, 9,193, 38, 0,217, 6,234,202, 0,224,234,213,171, 0, 32,111,202,185, 39,151,203,113,235,
+214, 45, 84, 53, 19,211, 52, 13,154,166,193, 48, 12, 78, 63,178,135, 82, 75,163, 60, 59, 18,111, 6,122,194,199,199, 7, 52,221,
+120,151,196,129,128,201, 77, 96, 44, 37,145, 44,118,113,117,245, 30,208,178,165, 34, 36, 36,132, 1, 0, 47, 47, 47,146,153,153,
+ 89,116,242,228,201, 82, 22,216,230, 69,200,222,134, 76,150,135,135, 71,159,244,244,244,207,171,142, 57, 69, 81, 95,180,104,209,
+ 98, 69,117,185, 9, 2, 86,253,160,148, 44, 90,244,182,180,199,192,143, 0, 0, 61, 70, 29, 68, 73,194, 90,127,170, 96,153,213,
+223,125,149, 40, 41, 41, 57,220,186,117,107, 38, 63, 63,255, 38,128,100,189, 94,255,193,254,253,251, 29,103,207,158,157,115,224,
+192,129,117, 0, 92,215,175, 95, 63, 80,169, 84, 30, 49, 70,183,111, 71,140,120,161, 99, 64, 79, 79, 15, 15, 92,185,249, 59,164,
+ 50,137,245,130, 25,129, 48, 55,103,241,213,238, 51, 66,114, 90,193,194,235,247,177,215, 8,147,213,125,252,248,241,222, 7, 15,
+ 30,148, 1,192,253,251,247,145,149,149, 5, 7, 7, 7,152,154,154, 66, 34,145,128, 97, 24, 72, 36,146,103, 98,178,172, 60,236,
+ 66, 79,156, 56,105,106,107,107,141,205,239, 44,194,180,156,108, 88, 91,152, 67, 95,166,244,126,206, 42, 10,223,126,253,250,153,
+240, 60, 15,165, 82,137,203,151, 47, 91,153,154,154, 90,185,187,187,175,108,168, 18,169,227,218,153,173, 86,171, 29, 43, 31,231,
+168,213,106, 39, 0, 37,114,185,188,234, 58, 93, 86,185, 54,180, 57, 49, 25, 79, 55, 19,166, 80, 20, 85,243,181,166,210,173,123,
+183,142, 33,199,131,126, 50, 47, 46,205,130,181, 77, 14,104, 20, 99,231,206, 45, 48, 53,181,196,202,149,203,216,199,131, 95,116,
+ 27, 54,226,149,144,168,152,184,193,207,157,217, 34,212,206,193,163,166,218,154, 42, 44, 42,235, 18, 61,246,236, 90, 4,154,166,
+177, 98,197, 10,180,111,223,126,110, 84, 84,212, 71, 0, 10, 26,150,193,206, 14,253, 95,181,149,153, 84, 20,177,192,235,177,253,
+208,187, 21, 58, 31,206,195,164, 81, 62,115,223, 27,159,120,174,125, 75,148, 86,222,152,171, 36, 52, 82,168, 30,168, 54, 12,193,
+193,193, 3, 2, 3, 3,175,212,247,252, 95,128, 11,254, 28, 63,171,150,249, 98,131,131,131, 73, 96, 96, 32, 85, 99,231,106, 61,
+111,136, 78,128,189,141,149, 34,100,219,170, 69,230,236,237, 51,140, 42,229, 17, 50,212,181, 42,242, 90, 41,154, 10,133, 98,234,
+158, 61,123,106,133,148, 60,157, 28, 33,149, 74, 32,145, 82,176,238, 87, 49,122,125,209,181, 96, 80, 84,189, 38,171,150,166, 82,
+169, 84,223,189,123,215,124,247,238,221,112,116,116,132,183,183, 55, 20, 10, 5, 76, 76, 76,106,153,171,154,134,171, 14,163, 85,
+ 75,179,234,125,150,101, 65,211, 52, 46, 94,188, 8,142,227, 48,126,252,248,167, 76, 22,203,178,245, 25,183,250,210, 83,207, 3,
+184, 79, 8,233, 95, 89, 1,223, 7, 48,160,198,251,195, 28, 28, 28, 62, 0,176,206, 80, 77,134, 33, 96,212, 55, 33,184,111, 4,
+155,186, 8, 90, 73, 39, 92,186, 30,142, 61, 59, 54, 0, 0,188,219,118,195,132,177,129,213,209, 56, 3,183,179, 26, 55, 55,183,
+ 67,185,185,121,195, 95,124,241, 69, 20, 22, 22,234, 87,173, 90,133,142, 29, 59,194,215,215,215,160, 50,170,231,206, 57,251,254,
+253,251, 30, 42,149, 10,132, 16, 67,204,217, 83,154, 20, 69, 97,255,254,253, 80,171,213, 79,125,216,102,192, 26,188, 59,206, 11,
+ 51,223,220,139, 47, 30, 28,193,214,173, 91, 27,220,119, 5,208, 81,109,213,122,147,140,225, 58,174, 91,246,134,124,218,180,105,
+204,204,153, 51,145,146,146,130,217,179,103,171, 47, 94,188,168,205,202,204, 60, 41, 19,132,205,186,218,198,184, 94, 77,185, 92,
+190,239,252,249,243, 56,114,164,194,151,196,197,197,161, 77,155, 54,102,181, 76,114,193, 81,148, 38,111, 70,232,233, 88,244, 24,
+117, 16,161,167, 39,131, 47, 58, 35,233,218, 6,197,198, 28,207, 38, 80,151,230,145,252,252,252,106, 19,117,224,192, 1,211, 3,
+ 7, 14,140, 1,112, 10,192, 17, 0, 40, 40, 40,248,198, 72, 77,128,194,204, 87,199,141, 1, 43,181, 64,236,163, 52, 12,232,213,
+ 5, 78,142,142,184, 31, 19,143,228,244,130,108,138,194,140, 97,189,101,235, 84, 42,237, 71,215,238,225,251, 70, 52, 41,119,119,
+119,223,163, 71,143, 74,107, 68,160,171,255,227, 12,195, 84, 63,175, 50,222, 77, 57, 63,171, 76,150,133,187,121,232,167, 91,250,
+152,133, 70, 28, 64, 27,175, 17,176, 25, 17,136,239, 47, 92,192,195,168,104,181,182,156,123,233, 31, 40,163,191, 74,211,119,220,
+184,113, 55,127,250,233, 39,235,212,212, 84, 92,189,122, 21,222,222,222, 40, 47, 47, 55,228,134,183,150,166, 90,173,118,172,250,
+ 14, 69, 81,142, 85,129,119,173, 86, 91, 85, 24, 85,127, 68,235, 26,159,179,110, 64,211,179,198,231,170,204,149,215, 51,216,119,
+153,137, 84,122,244,196,241, 67,230,209,177, 87,209,185, 83, 79,152, 91,181,131,192,103, 33,191,160, 12,133,143, 50,240,217,103,
+ 95, 96,229,170,229, 56,245,115,144,185,159,127,167, 99, 90,142,107, 13, 64,253,220,148, 59, 69,230,134,156, 62,176,141, 34, 2,
+ 84,217,177,114,137, 50, 81, 49,117,242, 43,204,196,137, 19,113,234,212, 41, 68, 69, 69,109,107,192,100,133,212,136,204,207,141,
+188,122,100, 27, 8,129, 42, 39, 86, 46, 85, 37, 42,166, 79,153,192, 76,155, 52, 20,183,127,219,132,161,157, 19, 35, 93, 29, 49,
+182,176,210, 98,179, 12,242,229, 38,184, 65, 66,113,187,134,217,186, 12,128,170, 97,176, 46,227,207, 62,152,255, 6, 70, 86, 26,
+171,185, 79,222,152,176, 77, 49, 88, 0,208, 6, 48,167,100,210,208, 61, 43,223,112, 85,164, 68,177,154,200, 91,200,208, 8,100,
+123, 18, 39,116, 1, 76,239, 0,170, 39,191, 83, 94, 94,174,140,143,143, 55,157, 49,118, 44,122, 7, 4,192,197,206, 14,173,221,
+221, 97, 42,151, 65, 38,149,212,186,101, 53,184, 13,129,162,136,159,159, 31, 70,141, 26, 5,137, 68, 2,133, 66, 1,115,115,115,
+200,100,178, 58,163, 89,134,222,229, 18, 66,192, 48, 12, 34, 35, 35,145,156,156, 12,107,107,107,220,184,113, 3, 47,189,244,210,
+ 83, 81,173,154,230,204,152, 16,125, 29, 21,127,149, 17, 59,111,140, 22,207, 83, 40, 35,157, 96,146,180, 16,229, 84, 23,104, 52,
+ 28, 52, 26, 13,190,191,174,195,239,241, 74,232,116, 90,104, 52,154,134,126,179, 62,104, 87, 87,215,169,173, 91,183, 94, 48,121,
+242,100,189, 76, 38,131, 82,169, 68,121,121, 57,162,162,162,244,195,135,143, 40, 26, 53, 42,208,234,204,153, 51,164,178,233, 48,
+219, 8,237,124, 55, 55, 55,143,202,230,217,252,166,156,213, 20, 69, 85,155,152, 39,153,241, 77, 52, 88,166,162, 76,182,109,219,
+ 6,158,231, 65, 8,169,183,144,212, 20,245,235,170, 53, 95, 91,173,223,248, 3,172,108,157,112,229,202, 21,254,220,185,115,165,
+ 20, 16,247, 48, 42,234,155,255, 0,103,143, 2, 58, 99,182,175,176,176,208,212,219,219, 27,238,238,238, 16, 4, 1,122,189,190,
+ 58,250,146,159,159, 15,149, 74, 5, 91,179, 34,180,178,115, 7, 87,122, 25,153,145,159,192,197, 60, 22,123,207,107,245, 47,248,
+226,222,255,192,133,227,199,202,165,153,119,205,112,115,116,246, 0, 77,244,200,200,201,199,152,145, 67,193, 72,205,241, 56, 53,
+ 15,157,218,181,116,153,242,159, 62, 46, 12,197, 97,233,186,131, 11, 0,225,251,198,228,202,202,202,248,216,216, 88,220,191, 95,
+225,119, 45, 45, 45, 97,102,102, 86,235, 63, 78,211,116,179, 34, 90, 85, 38,107,205,182,151,204,104,137, 18, 37,124, 8,118,239,
+ 15, 71, 39,191, 64,108, 15,253, 67,205,103, 23, 12,254, 74,173,142, 59,244, 47, 14,102, 56, 59, 59,207, 19, 4, 97, 37, 33,164,
+168,111,223,190, 78, 7, 15, 30,180, 73, 79, 79, 71,120,120, 56, 86,172, 88,145,203,243, 60, 71, 8,161, 8, 33,159, 60,131,159,
+ 19,106, 24,172,103,137, 68, 97,130, 55,237, 45,169,209, 44,109,233,205,149,148, 61,206,211,146,147,229,156,240, 29, 0,125,131,
+ 23, 55,154,254,111,208,225,109,174,246, 14, 2, 6, 58,188,136,204,108, 29,214,188, 51, 29,249,249,165,248,126,215, 90, 0, 50,
+232, 56, 6,253, 7,190, 2, 71, 71, 55,204,157, 51,215,121,219,142,237,111,112,130,240, 21,158, 19,178,110,110,253, 25, 64,136,
+131,131, 67,212, 27,115,231, 58,120,123,191, 6, 19, 19, 19, 28, 58,116, 8, 7, 55,111,230, 55, 2, 19,228,192,165,249,192,207,
+ 13,234,132,254,169,179,104,254,124, 7,127,255,249,144,203,229,248,237,220,143, 80,103,237, 47, 29,217, 27,186,114, 53, 70,182,
+ 24, 69,108,147, 78, 83, 5, 18, 9, 30, 1,128,196, 4,153, 0,158,108, 6,251,183, 25,172, 42,206,224,207, 76,195,185,181, 34,
+ 90, 77,190,118, 74,100, 17,187,222,158,228,229, 4, 13,165,189,126, 26,233, 26,129, 95,255, 80,199,220, 41, 38,239,198,212, 97,
+178, 42, 79,108,193,211,211, 19, 47,118,237,138,177,253,250,129,101, 89,152,200,164,176, 48, 49, 5,225, 43, 34, 89, 85, 77,135,
+ 13,212,137,168, 43,250,100,103,103, 7,169, 84, 90,109,176,140,136,102,213,169, 41, 8, 2, 88,150,197,253,251,247,209,183,111,
+ 95,120,120,120,224,200,145, 35, 24, 54,108,216, 83, 77,137,198,154,172, 42,163,245, 68, 51,222, 48, 0, 85,145, 44,163,140,150,
+ 90, 75, 33, 79,219, 9, 20, 21, 0,142, 3,120, 2,104,212,106, 16, 2, 16, 2,232,117, 90,168,213,234,234,223, 52,164, 73,214,
+217,217,217,211,212,212,116,245,251,239, 47,245,239,212,169, 51,114,115,115, 33, 8, 2,204,204,204, 80, 94, 94, 14, 75, 75, 75,
+244,238,221,251,241,234,213,171, 51, 9,193, 92, 35, 77, 86,179,169, 58,230, 23, 46, 92,168,213,108, 88,181, 40, 51,211, 48,243,
+173, 3,144,177, 21, 77, 75, 85,125,120, 26,186,238, 14,234,223, 7, 55,239,196,113,255, 93,186, 73, 35,201, 15, 95,231, 44, 8,
+123,210,154,177, 95,132, 16,228,229,229, 33, 59, 59, 27,163,199,140,193,193,159,126, 66, 82, 82, 18,218,181,107,135, 65,131, 6,
+193,209,209, 17, 73, 73, 73,248,253,154, 6,154,194, 2, 20,104,195,161,176,232,129, 19, 87,226, 53, 43,182,233,226,255,193, 11,
+198,104, 0,211, 45, 45, 45,125,202,203,203, 51, 57,142, 59, 10,224, 40,128, 9, 44,203, 78, 80, 40, 20, 46, 37, 37, 37,137,168,
+200, 38, 58,217,152,152,169,137,137,157,220,196, 18, 2,167, 1,203,178,240,240,240, 6,225,181, 40, 44, 81, 97,198,196, 81,184,
+115, 63, 6,231, 46,221,230,244,122,225, 91, 67, 14, 43,195, 48,196,215,215, 23, 57, 57, 57,144, 72, 36, 48, 53, 53,133,185,185,
+ 57, 62,252,240, 67,108,222,188,185,218,100, 53,213,104,205, 2,124, 45, 61,205,111,127,190,165,194,100,101,101,100, 34, 59, 77,
+ 2, 7, 59, 39,124,187,121,163,178, 48, 41,171,199, 15, 64,220,191,189,146, 21, 4,225,147,244,244,116, 71,150,101,157, 57,142,
+ 67,106,106, 42,194,194,194,176,112,225,194,236,252,252,252,129,104,226, 62,154,152,152,228, 84, 69,178, 42,155, 14,235,107, 78,
+ 44,170, 17,201, 42,106, 64,178,190,102,194,150,222,238, 22, 23,119,109, 88,236,217,173, 71,111, 90,193, 90, 22,150, 61,202,234,
+123,253,234,149,222, 11, 55,124,255, 70,114, 97,217, 80, 0, 9,245,137,202, 37,146,225, 61,251,244, 97, 65,178,193,202,250,226,
+139,245, 19,145,155, 87,130,194,130, 82, 72,165,102,208,234, 25,240, 2,133,222,125,251,225,199,189,135,209,126,206,108, 70, 38,
+145, 12,225,180,218,231,198,104, 85,178,246,187,239,190,243,244,243,243,195,158, 61,123,112,105,223, 62, 76, 43, 46,198, 21,154,
+102,244, 18,137,253, 89,189,126, 39, 26, 49, 90, 53,117,218,183,111,143, 31,126,248, 1,251,247,239, 79,153,250, 82,206,177,197,
+ 83,225,168,211,225,229,240, 7,176,109, 49, 10, 8,127, 0,219, 23,252,208,154, 99,241,136,162,106, 15, 7, 21, 28, 28, 60,160,
+230,250, 95, 70, 38,234,105, 98,103, 1, 12, 12, 14, 14, 38, 53,215,141, 94, 56, 29,218,204, 95, 59,212,199, 43,160,149, 39,165,
+ 63,178, 9,169, 74, 78,251,209, 3,157,236, 97, 25, 89, 28, 3,108,108,224, 14,130, 48, 12, 3, 11, 83, 83, 56, 88, 91, 87,132,
+249,105, 26, 16, 0, 65, 15, 80,124,133, 1, 32, 2, 5,194, 27,117,193,128, 76, 38,171,179,227,187,177,125,179,106,106,150,150,
+150,226,241,227,199,152, 59,119, 46, 20, 10, 69,133,115,207,202,130,151,151, 23, 88,150, 69,122,122, 58,126,251,237, 55,248,248,
+248, 64, 46,151, 27,229,182,106, 68,151, 58,162, 34,203,176, 99,102,102,166,165,139,139, 11,140,142,104, 9, 4,229, 26, 10, 90,
+ 45,143,135, 15, 31, 34, 35, 35, 3,143, 19, 31,161,155,178, 4, 4, 12, 8, 33, 70, 69,180,220,220,220, 2, 90,182,108,185,125,
+221,186,117, 82,119,119,119, 16, 66, 96, 99, 99,141,242,242,114,228,229,229,163, 93,187,118,240,240,240,192,186,117,235, 0,224,
+224,223,109,178,158, 56,167,170,141, 86, 77,195,245,214,127, 60, 81, 80, 96, 14,134,161,171,141,115, 35,125,180,164, 0, 48,112,
+232, 56,246,226,185,179,102, 28,176, 58,139, 97, 86,179,141,151,163,158, 23, 4, 69,125,239,167,166,166, 66, 34,145, 32,232,232,
+ 81, 20,100,103,163, 83,167, 78,232,222,189, 59, 30, 61,122,132, 59,119,238,192,206,206, 14, 14,238,189,112, 37, 81,135,232, 12,
+ 21,172,172,172, 16,159, 70,255,147, 67, 6,204, 25, 60,120,240,138,111,190,249,198,209,217,217, 89,146,155,155,235,183,101,203,
+150, 78, 91,182,108, 89,244,198, 27,111, 56,189,241,198, 27, 54, 14, 14, 14,108, 86, 86,150,239, 59,239,188,243, 66, 72, 72,136,
+ 15,128,175, 27, 18, 52, 51,179,176,101,164,102,160, 40, 22,214, 86, 54, 96,101,102, 16, 56, 22,188, 0, 88, 90, 57,224,230,157,
+ 32,220,136, 40,157,151,147,143,163, 6,197,199, 42,203,221,206,206,238,169, 72,245,194,133, 11,177,107,215,174,234,102,196,166,
+154,172, 53, 91, 94, 50,167, 42, 77, 86, 86, 42, 11, 74,227,131,211, 63,223, 42, 42, 76,202,234,251, 60,152,172,170,107, 28, 33,
+ 4,137,137,137, 40, 47, 47,199,181,107,215,240,201, 39,159,228, 62,105,178, 28, 29, 29,231, 88, 90, 90,174, 42, 43, 43,251, 34,
+ 43, 43,107, 83,163, 55,126, 21, 38,170,234,113,213,186,206,230, 68, 3, 55,213,171,174, 72,150,135,139,201,249, 59,215, 14,120,
+ 89,145,123, 20,146,231, 2, 15, 75,162, 44, 66, 29,251,143,232, 54,146,238,178,245,211, 22,221,231,125,120, 62,181, 68,237, 87,
+ 95,100, 75,224,249, 46,102,230, 22, 0,114, 16, 30,118,185,218,100,229, 23, 20, 67,163, 99,160,209, 82, 80,235,104,188, 56,248,
+101,108,222,190, 31,233, 57, 5,224,121,190,195,115,102,178,108, 3, 2, 2,230, 79,152, 48, 1,171, 87,175, 70,200, 55,223,104,
+ 95,167,168, 18, 22, 32,103,120, 30, 2, 33, 20,109, 88, 39,246, 90, 58, 95,125,245,213,207, 0, 38,173, 91,136, 94,133,101,152,
+225, 58,138,216,182, 24, 85,241,193,241,239, 19, 0,176,205, 13,169, 93,101, 6, 6, 6, 82, 85, 45,107,198,182,176,253,175,195,
+ 6, 6, 6, 94, 9, 14, 14, 70,205,117, 67, 95,176,112,242, 27,241,222,146, 5,235,187, 13,235, 71,101, 46, 25,130,130, 18, 53,
+183, 44, 90, 39, 75, 83, 53,108,178,106,242,222,150, 45,184, 19, 87,241, 63,118,119,116,196,210, 41, 83, 64, 56,224, 70, 84, 52,
+ 14,135,132, 96,226,224,193, 48, 51, 49, 49, 56,178, 33, 8, 66,157, 81,172,154,209, 44, 99,163, 78, 69, 69, 69, 56,122,244, 40,
+186,119,239, 14,133, 66, 1,150,101,209,177, 99, 71,196,196,196,160,101,203,150,160, 40, 10, 39, 78,156,192,216,177, 99,145,144,
+144,128, 94,189,122,153, 39, 39, 39, 27,109,180,162,163,163, 45, 9, 33,253,171,162, 31, 77, 69,163,209, 32, 54, 54, 22,163, 70,
+141,130,141,141, 13,220,220, 14, 34,228,252, 1, 40, 2,166,129,162, 96,148,209,226,121,126,214,200,145, 35,165, 20, 69, 65,165,
+ 42,135,137,137, 41,204,204,204, 97, 97, 97, 9, 95, 95, 63,100,100,100, 96,216,176, 97,218,248,248,248,173,153,153,153, 71,140,
+221, 86,127,127,127,179,164,164,164,105, 45, 90,180,144, 1,128,169,169,105,187,150, 45, 91,190,155,144,144, 80,106,108, 84,171,
+202, 96, 81, 20, 5,134, 97,170,141, 22, 75,211,112,113,118,172,126, 94,217, 63,141,106, 64,171, 36, 61, 95, 35, 7, 0, 79, 79,
+ 79,108,222,113,138, 30, 57,114, 36, 22, 45, 90, 4,189, 94,143,173, 91, 43,146,236, 38, 79,158, 12,157, 78,135, 99,199, 42,146,
+ 36, 89,150,109, 48,108, 18, 22, 22,134,240,240,112,232,245,122, 20, 23, 23,227,151, 95,126,193,149,171, 87,113,232,196,175, 72,
+ 74,124,132,142,126, 94,152, 61,123, 22, 36, 18, 9,246,238,221,139,190,125,251,254,163, 23, 4,137, 68, 50,117,215,174, 93, 46,
+123,246,236, 41, 58,113,226,132,178,103,207,158,242,141, 27, 55, 58,110,222,188,217, 65,171,213,226,237,183,223,206,185,125,251,
+182,102,204,152, 49,102, 59,119,238,116,105,213,170,213, 16,142,227,234, 50, 90,102, 0, 38, 2,120,173,176, 84,203, 22,149,170,
+ 32,112, 90, 36, 38, 61, 70,113,153, 22, 2,175, 67, 74, 90, 6,202,212, 60,242, 11, 74,209,177,203,208,239, 46, 95,190,188, 92,
+167,211, 45, 3, 16,220,216,118, 70, 69, 69,225,246,237,219, 72, 74, 74, 66, 98, 98, 98,109,167, 56,103, 14,246,239,223,111,116,
+ 68,171,110,147,197,128,210,180, 68,240,137,208,162,156, 71,153,207,141,201,170,188, 6,173,116,113,113, 89,233,226,226, 98,114,
+225,194, 5,171, 22, 45, 90,128,227, 56,237,147,145,172,129, 3, 7,126,180,107,215, 46,151,150, 45, 91, 46, 4,176,233,127, 97,
+219,105, 26,115,190,216, 54,223,222, 66,150,146,129,135, 95, 87,142, 37,200, 0,229, 37,192,229,159,192,246,249,248,241,194, 49,
+239,219,124,176,103,245, 28, 1, 66,189, 25,178,241, 9,169,216,182,109, 51, 22,191, 61, 3, 63,126,255, 5, 4,129,133, 70,207,
+192,211,187, 39, 52, 58, 1, 20,205,162, 83,151,174,184,116,249, 26, 36, 52,112,116,207,182,231,204,103,161, 32, 50, 50,114,235,
+137, 19, 39,222, 92,180,104, 17, 4, 65,144,173,218,182, 77,149,155,155,187, 22,198,141,127,245,164,206,216,109,219,182,197,125,
+176, 57,247,231,197, 83,193, 36,157,166, 10,194, 31,192,118,252,251, 4, 65,235, 41,188,224,135, 2, 69,221, 85,252,213, 39,214,
+207,135,209,170,114,146, 53,215,117,209,165,141,207,167, 86,182, 54,179,104, 11, 55,251,165,139, 94,103, 19,178,212, 56,214, 98,
+ 74,217,111,251,190, 53,203,226,228,223,197, 67,189,209,152, 31, 62,252,219,111,213,143,191, 60,120,176,206,247, 50,199,143, 55,
+248,206,172,190, 40,150,177,145, 44, 0, 80, 40, 20,214, 67,134, 12,193, 75, 47,189,132, 87, 94,121,165,186, 79, 86,231,206,157,
+113,232,208, 33,140, 27, 55, 14,119,239,222,133,139,139, 11,218,182,109,139,182,109,219,226,236,217,179,198, 94,228,192,243, 60,
+ 2, 2, 2,170,178, 14, 59,166,165,165, 89, 54,181, 32, 53, 26, 13,242,243,243, 97,107,107, 11,153, 76,134, 30, 61,186,227,205,
+183,122,192,222,229, 7, 4,248,251, 65,169, 84, 86,167,191, 27, 80,217, 6,180,110,221, 26,185,185,185,200,205,205,133,131,131,
+ 3, 92, 93, 93,225,236,236,140,175,191,254,154,108,218,180,233,156, 78,167,219,154,151,151,103,116, 36,203,217,217,185, 31, 69,
+ 81, 31,169, 84, 42, 89,141, 59, 92,153,131,131,195, 73,149, 74,181, 54, 51, 51,211,224,142,160, 20, 69, 65,167,211,129,162, 40,
+156, 73,116,133, 82, 75,161, 36, 45, 28,139,254,227, 85,203,120, 73, 36,146, 70,155, 75, 9, 33,202, 73,147, 38, 57,122,120,184,
+ 35, 53, 62, 10, 65, 65, 4,223,124,243, 77, 85, 86, 36,226, 42,111, 12,170,158, 15, 26, 52, 8,222,222,222, 32, 70,140,149, 33,
+ 8, 2,238,223,191,143,131, 39,175,192,197,203, 31, 41, 15, 99,113,231,236,105,180,112,176, 69,251, 46, 93,161,215,235,155, 53,
+244,198,179, 64,175,215,239,110,211,166, 13,209,106,181, 87, 0,108,142,136,136,152,145,153,153,249,246,169, 83,167, 92, 39, 76,
+152,144,113,250,244,233,141, 0,246, 68, 68, 68,204,255,236,179,207, 94,226, 56,174,206,108, 65,134, 97,126,124,231,157,119, 6,
+ 78,152, 48,129,146,210,122,237,133,243,123, 89,142,211, 83,239, 45,219,205, 95,190,126,133,230, 56, 61,245,202,164,119,132,179,
+191, 69,208,243,222,250,146,239,220,115, 36, 34, 35, 35,157, 3, 3, 3, 63,211,235,245, 13, 26,173,170, 72, 85,125, 17, 74,134,
+ 97, 48, 99,198, 12, 28, 58,100,120, 15,170,217, 64, 75, 75, 47,243,219,107,182, 12, 54,167,216,178, 26, 38,171, 21,130, 79,132,
+ 22,101, 63,204,120,174, 76, 22, 0,228,231,231,239, 0,176, 67, 16,132,108, 51, 51, 51,148,150,150,214,117,254,153, 68, 68, 68,
+152,200,100, 50, 12, 29, 58,212, 54, 36, 36, 36,142,166,233, 77, 25, 25, 25,245, 58,142,186,154, 9,235,106, 78, 68, 51,178, 14,
+109, 28, 16,216,163, 95, 23,139, 7, 86,171, 45, 76, 88,245,221, 22,113, 38,150, 20,128, 98,141, 83,226,205,228,137, 37, 84,142,
+188,115,215, 65, 47,192,146, 53, 11, 44,226, 74,235, 52, 90, 52,195,220, 41, 46, 44, 26, 94, 82,170,197,245, 27,145,152, 52,177,
+ 53, 52, 58, 10,130, 64,163, 76,169, 1, 24, 9,104, 0,147,167, 76, 7,161, 88, 20,100,103,128, 97,152, 8,112, 28,158, 51, 62,
+156, 63,127,254,240,101,203,150,249, 44, 93,186, 20, 75,151, 46,245,218,181,107,215,142, 53,107,214, 44,205,205,205,237,128, 70,
+ 6, 31,111, 64,167,197,233, 67, 31, 47, 57,121,109,123,241,200,222,170,135, 47,248, 85, 68,190, 94,240, 67,129, 68,130, 71, 44,
+131,124, 66,106,119, 51, 10, 12, 12, 28, 80,115,253, 47,227,201, 78,240,213,207, 13,234,163,213,218,199,237,229, 46,157, 3,222,
+ 90,190,108,185, 69,204,205,203,248,224,211,205,164, 77,215, 33,165, 59,174,221,209,150,153,121, 15, 47,203,123,116,195, 80,127,
+ 1, 0, 47,191, 56, 14, 29,219,117,127,234,205,190,131, 42, 6,107,191,126, 41, 12,217,185,233, 6, 87,182,149,230,160,206, 62,
+ 89,134,164,244, 63,137, 74,165, 42,138,140,140,116, 76, 75, 75,171,213,241,221,219,219, 27, 20, 69, 33, 52, 52, 20,183,111,223,
+198,164, 73,147,192,178, 44, 36, 18, 9,174, 92,185, 98, 84, 52,166, 70,116,169, 42,235,112,152,187,187,123,125,217,134,141,106,
+169, 84, 42, 20, 23, 23,227,252,249,243,104,221,186, 53,214,172, 89, 3, 87, 23, 39, 44, 95,190, 4,130, 32,160,164,164, 4, 60,
+207, 27, 26,209, 18,170,162, 69,130, 32, 32, 55, 55, 23, 62, 62, 62,216,178,101, 11, 54,110,220,248, 89,102,102,230, 41, 99,183,
+209,195,195,195,154,231,249,247, 70,142, 28, 57,100,204,152, 49, 24, 54,172,246,120,172, 63,253,244,147,197,177, 99,199,214,126,
+251,237,183, 47,235,116,186,117, 57, 57, 57,185,134,232,254,240, 67,197,240, 75,138,158, 43,241,193,132, 22,120,109,193, 94,124,
+253,245,113,200,229,242, 90, 21,239,234,213,171, 27, 52, 49, 2, 33,109,164,121, 55, 51,150,188,255,149,227,218,181, 33, 8, 9,
+201, 1, 77,211,112,113,113, 1, 77,211,120,252,248, 49,104,154,134,151,151, 23,104,154, 70,122,122,122, 85,159,192, 66,212,145,
+245, 88,247, 93, 56, 13,181, 90,141,212,148, 36,164,197,199,193,188, 36, 11, 14,150, 10, 20, 70,221, 71,199,217,115,170,199,127,
+250,135,217,175,213,106,247,215,120,254,213,233,211,167,181, 20, 69,189,130,138,126, 26, 85, 17,141,207, 56,142,251,172, 62,145,
+158, 61,123,118, 94,182,108,153,164,106,184, 13, 87,207,207, 57,157, 78, 39, 0,128, 95,199,254,181,220,254,163, 71,143,240,245,
+215, 95, 67,169, 84, 66, 42,149, 74, 13, 57, 14,130, 32, 84,103, 24,214,101,194,140, 49, 89, 0, 96,231,229,254, 93,104,248, 21,
+254, 94,252,118, 85,196,131, 95, 76, 51, 83,104,208,218,231,215,100, 61, 25,217,114,119,119, 95, 41, 8, 2, 33,132,124, 92,227,
+ 45,185,167,167,231,181, 11, 23, 46,216,113, 28,135,111,191,253,214, 58, 43, 43,203,186,127,255,254, 31, 0,168,215,104,213,213,
+ 76, 88, 87,115, 34,106,100, 29,202,229,114, 91,173,182,222,224,201, 83, 89,135, 60, 15, 95, 75, 11,107, 20, 34, 13, 26,123,125,
+231, 34, 59,174,224, 98,230,156,187,174,201, 93,218,153,241,122, 31,186, 68, 11, 55,133, 53, 4, 66,234, 77,141,214,232,245,191,
+220, 13,191, 51,212,211,163, 53,115, 42,248, 42, 70,143,157, 0,141,134,134, 90, 79,129, 98, 36,160, 24, 41, 58,116,236,130,182,
+237, 59,130, 0, 8,251,253, 38,167,213,235, 47, 62, 79,101,239,210,231,205, 73, 20,133, 77, 32, 2,169, 99, 28, 45,159,177, 99,
+199,174, 5,240, 86, 99, 58,142, 61,223,156, 68,211, 21, 58, 53,199,209,122,231,205,249,136,250, 93, 98,117, 53,124,189,116, 88,
+ 79,156,201, 13,161,160, 48,249, 51,235, 80, 66, 55,107,104,142,127,139,225,106,220,104,121,120,120, 88, 91,202, 77,126,120, 99,
+246, 44,139,228,123,183,144, 21, 29,138, 27, 87,227, 10, 15, 31, 59, 94,160,204,207,153,109,132,201,170,110,230,179,115,110, 1,
+111,255,167,141,150,137,185, 3, 0,192,219,191, 59, 24, 51,227,134, 17,170, 43,154,213, 20,147, 85,243,130, 93,215, 24, 90,243,
+230,205,195,174, 93,187,208,167, 79, 31,180,105,211,166,250, 98,111,108,212,172,142,232,146,209,217,134, 53, 41, 45, 45,133,151,
+151, 23,118,238,220,137,136,136, 8, 88, 88, 88, 96,210,164, 73, 40, 45, 45,173, 54, 88,134,118,134, 39,132, 60,186,112,225, 66,
+183, 87, 95,125,149, 72, 36, 18,170,168,168, 8,214,214,214,216,178,101,139, 50, 51, 51,243, 76, 19, 76,214, 4,169, 84,186,100,
+226,196,137,140,159,159, 31,178,179,179, 97,105,105,169,167, 40, 74, 2, 0,214,214,214,122, 83, 83, 83,204,159, 63, 31,157, 58,
+117,234,183,116,233,210, 62, 44,203,110,201,200,200,216,219,208,185, 68, 81, 84,117,133, 58,123, 83, 44,180,218,138, 10,122,235,
+214,173,168,236,235,246,103, 19, 65,124, 60, 96, 64, 38,139,185,185, 57,218,180,105, 83,103,217,247,235,215, 15, 97, 97, 97, 21,
+ 77,147, 44, 11, 71, 71, 71,220,184,113,195,160, 76,170,170,129, 32, 35, 35, 35,225,239,109,143,136,144, 11,176, 87, 72,208,201,
+213, 25,238,253, 6, 32, 46, 46,238,159,140,102, 81,168,232,135, 49,184,242, 28,220, 13, 96, 94,141,231, 91, 0,124,103,140, 32,
+199,113,132,166,105, 42, 53, 53, 85,167, 80, 40, 40, 91, 91, 91, 86, 46,151, 67,163,209, 84, 27,174, 71,143, 30, 33, 56, 56, 24,
+105,105,105,176,181,181,165,173,172,172,160,211,233, 10, 13,209,247,245,245,133,179,179,115,173,142,239,179,103,207,110,146,201,
+154, 1, 4,236,250,124, 93, 11, 57,205, 88,249,219,191,140,196,216,199,106, 90, 11,147,255, 15,167, 78,133,254, 0, 0, 32, 0,
+ 73, 68, 65, 84, 38, 11, 0,138,138,138,118, 0,216, 81,245,220,222,222,126, 38,195, 48,203, 53, 26,141,213,149, 43, 87,172, 29,
+ 28, 28,168,189,123,247,234, 63,254,248,227, 34,134, 97, 10, 41,138,218,240,207,155, 67, 68,231, 21,199,123, 73,108, 92,133,123,
+106,114,243,237,212, 15,218, 22, 74, 90, 59, 80,237, 3, 48, 54, 39,230,250, 76, 46,190,119,118,102, 22, 77, 32, 68, 55,112, 13,
+222,253,193,178,213,239,197,197,222,241, 52,177, 52,193,188,249,203,112,230,220, 37, 80,180, 4,215,110,134, 66,171,227,145, 87,
+ 80,140,137,147,167,194,221,197, 30,209,183,207,231,114,130,176,229,249, 50,217,194,230,161,163,103,218,200, 77, 21,149,199,132,
+199,254,239,151,128,166, 55, 97,197,138, 21, 8, 8, 8, 88, 16, 25, 25,249, 9, 26, 25, 71,139,162,132,205, 29, 6, 76,182,145,
+202, 43,116,136,192, 99,231,209, 15, 42,199,209, 90,140, 45, 59,142,117,104,239,157,184,170,161,113,180,158, 35,147, 85,115,221,
+176,209,242,242,242,146,155, 73, 48, 87,194,176, 75,223,152, 50,198, 33, 39, 62, 10,105, 49,119, 42,154, 23,116, 42, 93,214,195,
+ 24, 67,134, 66, 31,140,218,227,119,144,134,154,174,212,106,131,238,232,107,105, 86, 85,184, 79, 70,179,140, 52, 89, 79,105,214,
+ 52, 91, 53,199,205,242,240,240,192,218,181,107, 13, 25, 71,235,201,125,175, 98, 24, 42, 58,192,215,236, 12, 63,204, 64,147, 85,
+167,166,131,131, 3,242,243, 43, 70, 72, 24, 56,112, 32, 6, 14,252, 51,159, 65,167,211, 85, 71,177, 44, 44, 44,234,138,104, 61,
+165,105,106,106,250,193,241,227,199,103,221,188,121,243,213,119,223,125, 87,242,210, 75, 47, 85,153,185,114, 24, 54,183, 91, 45,
+ 77,158,231,231,159, 63,127,158, 17, 4, 1, 59,119,238, 68, 88, 88, 24, 81, 40, 20, 31, 41, 20,138,205,166,166,166,188, 74,165,
+154, 55,103,206,156,169,171, 86,173,162,251,245,235,135, 91,183,110,209, 62, 62, 62,211,129, 90,131, 88,214,185,239,161,161,161,
+160,105, 26, 92, 65, 10, 22,124,112, 24,102,166, 44, 98, 99, 99, 81, 80, 80,240,212, 32,166,134, 28,207,154,145,146,170,165, 95,
+191,126,213,205,144, 61,122,244, 0,195, 48,184,123,247,110,125,205,176, 53, 53,137,157,157, 93,245,249, 33,149, 74,113,233,210,
+ 37,124,250,233,167,240,180,181, 70, 97, 76, 4,156, 7,190,136, 33,179,230, 96,210,164, 73, 96, 24, 6,182,182,182,213,145, 95,
+ 3,206,165,230, 80, 83,115,150,191,191,255,244,232,232,104,247, 14, 29, 58,184, 68, 70, 70, 14, 10, 8, 8,240,138,136,136,168,
+122, 46,135, 97,125,115,170, 53,255,248,227,143,160,205,155, 55,207,159, 49, 99,134, 84, 16, 4, 62, 57, 57, 89, 15,128,114,118,
+118,102,254,248,227, 15,225,212,169, 83, 80,169, 84,112,119,119,167,221,220,220,168,139, 23, 47, 10, 49, 49, 49,161,132,144,101,
+134,236, 59,207,243,181,134,113,168,122,252,211, 79, 63, 25,253,127,111,209,214,119,205, 75,253,253, 60,242, 50,238, 34, 51, 61,
+ 30,124,177,131, 46,248,196,105,141,145, 38,235,175, 46,163,191, 83,115,245,195,135, 15,221, 52, 26, 13,100, 50, 25,182,110,221,
+170, 91,187,118,109,116, 94, 94, 94, 95,212,157, 81, 94, 75,179,137, 89,135, 5, 13,104, 62,149,117, 88,156,143, 51, 39, 78,254,
+209,205,124,236,110, 44,200,200,173,238,216, 72, 40,202,246,184, 83,187,190,138,238, 29,210,233,179, 43,233, 82,190,252, 76, 3,
+251,174, 85,105,181, 19,198,142,155,252,235,161, 67, 7,205, 63, 94,185, 18, 55, 66, 35,144, 95, 84, 6,129, 48, 16, 40, 10,203,
+151,127, 12,103,123, 91,148,100, 60, 44,215,232,116, 99, 81,123, 12,173,127,125,185, 83, 20,189,240,226,169,189,155,104, 10,130,
+ 50,251,129,156, 41,141, 87,188, 54,105, 44, 59, 97,194, 4, 28, 63,126, 28,145,145,145,219, 27, 48, 89,213,154,132,208, 11, 35,
+174, 28,222, 68, 1,130, 42,247,129,156, 45, 75, 84, 76,159, 50,150,157, 52,105, 18,126, 14,190,137, 67,167, 19,183, 29, 58,141,
+211,120,190, 49,126,100,120, 11, 22,145,125,219,181,116,235,215,165,189, 9,203,171,144, 22, 19,143, 2,165, 26, 23,163,146,139,
+104, 66, 55,121,108,157,138, 11,164, 20, 41, 41, 15,235,184,179, 50,169,172,208,213, 70,105,210, 52, 93, 43,154,213,156, 72, 86,
+205,237,116,114,114,170, 53,157, 75,205,138,187,170, 15, 80, 19,134,118,248, 32, 37, 37,197, 50, 37, 37, 5,132, 16,132,134,134,
+ 90,246,232,209,227,131,230, 68,179,150, 44, 89, 82, 29,181,122,114, 93,215,107,141, 81,217, 41,125,163, 94,175, 63,186,116,233,
+210, 5, 61,122,244, 24,186,114,229, 74, 10, 70, 76,192,251, 68, 52,135, 19, 4, 1,151, 47, 95,198,241,227,199,121,157, 78, 55,
+ 55, 51, 51, 51,162,198, 71,190, 13, 15, 15,191, 56,110,220,184,189, 15, 30, 60, 96,162,163,163, 65, 72,227,121,167, 42,149, 10,
+109,218,180, 1,199,113, 88,191,192, 3,165,165, 29,192,113, 28,120,158,135,153,153, 89,117, 20,175,166,121,110,236, 60,226,121,
+254, 41,163, 21, 26, 26, 10,134, 97,208,183,111, 95,220,185,115,167, 58,162,213, 88, 4, 74,167,211,165, 56, 57, 57, 57,173, 94,
+189,186,122,187,114,115,115,113,225,194, 5,244,236,213, 27,237,230,206, 67, 70, 70, 6, 54,108,216, 0, 87, 87, 87,172, 89,179,
+ 6, 5, 5, 5,224, 56,238,239, 14,167, 15,143,142,142,118,159, 50,101, 74, 78, 68, 68,132,123,112,112,176,117, 96, 96,160,217,
+228,201,147,115, 34, 34, 34,220, 41,138,234, 13, 35, 59, 65, 11,130,240,225,242,229,203,207,173, 89,179,230,131,183,222,122,171,
+199,140, 25, 51, 36, 18,137, 68, 72, 79, 79,231, 14, 30, 60, 72,181,105,211,134,150, 74,165,212,249,243,231,133,223,127,255,253,
+ 54,199,113,235, 1, 92, 51, 38,226, 92,211,100, 49, 12, 99,168,201,170,197,219,142,242,233, 22,116,110,223,205, 91,215,210,126,
+222,238,186,125, 7, 47,164, 94,187,245, 48,129,209,112,111,255,208,192,208, 0,207, 51, 12,195, 28,241,247,247,159,185,112,225,
+ 66,211, 97,195,134,201, 87,173, 90, 85, 92, 90, 90, 90,159,201,170,227,134,249,111,201, 58,252,254,195,119,131,223,126,167,195,
+204,150,255,117,110,129, 16,101, 14, 10, 89,134,182,180,166,209,197,139, 65,105,222, 35,135,211,191,238,121, 12,160,177,113,217,
+254, 8,191, 31, 57,184,125,135,206,199,214,175, 89,239,248,209,251, 75, 37,199,130,127, 1,225,116, 8,189,114, 5,230, 82,158,
+196,132,135,100,107,116,218, 49,120, 14,167,224,201,188,241,221, 33, 0, 39,109,109,109,239,205,154, 49,163,141,191,255,100, 40,
+ 20, 10, 4, 5, 5, 97,255,183,223,242, 27,129, 87,229,192,157,249,141,140,167,151,115,187, 90,231,238,156, 89,179,124,187,116,
+249, 47, 20, 10, 5,142, 30, 61,138,189, 27, 55, 26,172,243, 47,167,106,100,248, 51,248,115,132,248, 70,250,104,209, 84,233,237,
+135,201,101,161, 15,147,203, 32, 16, 34, 16,162,161,105,164, 42,117,186, 53, 15, 19,211,155,100, 10,170,154, 14, 63,251,124,225,
+179,107,243,168, 97,126,154,154,210, 93,135,201, 74,171, 57, 71, 90,205, 74,186,190,199,122,189, 62,205, 64,249,117,158,158,158,
+ 79,189,214,244,208, 47, 49,202,100, 25, 58,142, 22, 0,228,231,231,103, 2,248,232,214,173, 91, 63, 13, 29, 58,116, 14,128,244,
+ 38,150,209,206, 1, 3, 6,204, 5,192, 80, 20,181, 61, 35, 35, 35,226,169, 63,124,102,102,156,171,171,235,151,222,222,222,243,
+ 42,110, 76,169,157,141, 84,228,137, 29, 58,116,208,213, 85, 22,245, 61, 23, 4,161,209, 50, 42, 42, 42, 66,247,238,221,159,154,
+211,146, 16,130,228,228,228,170,136, 83,245,177,111,200,192,149,149,149,205,123,243,205, 55,119, 72, 36, 18, 79, 0, 84,149,201,
+229,121,158,249,238,187,239,254,143,189,235, 14,139,226,106,191,103,182, 87,154,116, 1, 17, 81, 32, 40, 86,212, 24, 49,216,177,
+ 27,187, 81, 99,239,189, 99,212, 88, 98,141, 26, 91, 44, 81, 99,193,222,141,216, 69,177, 97, 23, 4, 69, 80,233, 44, 75, 95,202,
+246,221,217,153,223, 31,148, 31, 42,101, 65, 83,190,239,219,243, 60,243,236,238,148,179,119,238,157,153,123,230,125,239,125, 95,
+190,193, 96, 96, 2, 32, 24, 12, 6,201,102,179,213,103,207,158, 37, 73,146, 76,214,104, 52, 19,255,230, 7,196, 41,162, 40, 21,
+131,226,245,235,215, 94,197,150,172,212,168,168,168,240,227,199,143,219, 2, 56, 81, 67,222,123, 74,165,242,222,218,181,107,219,
+237,220,185,115,209,196,137, 19, 91, 13, 29, 58,148,213,190,125,123, 92,186,116,201, 16, 26, 26,250, 88,165, 82,173,171,142,192,
+ 42,110,203,124, 23, 23,151, 82,193, 85,197,189, 92,233, 64, 94,107, 87,222,111,195, 39,215,230,239, 89,119, 93,158,157,166, 13,
+211,203,181, 63, 30, 4,162,240, 63,140,140,140,140,121, 0,150,110,222,188, 57,173,105,211,166, 60, 14,135,163, 53, 86,100,253,
+141, 32,169, 60,121,143, 95,187, 12,188,224,191,120,186, 91,151, 14,126, 66,151,186,118, 78,209,239, 51,240,238,225, 37, 69,196,
+197,213,137,180, 70,214, 23,128, 49, 35,215,159,104,116,186, 6,115, 23,204,157,194,101,179,187, 26, 12,134, 38,157,110,156,167,
+153, 76,102,164, 86,175,191, 81,236, 46, 84,255, 23, 55,249,170, 13, 27, 54,120,120,123,123,227,244,233,211,184,113,228, 8,134,
+100,103,227, 54,147,201,100,112, 56,214, 23,117,186,141, 48, 78, 32,173,218,180,105,147,167,143,143, 15, 78,158, 60,137,107,135,
+ 14, 97,112,205,120, 42,234,235, 90, 2,176, 45,254,153, 13, 32, 6, 64, 11, 0, 2, 0, 26, 20,165,118,178, 41,219,133, 21,111,
+ 43,217,126,151, 32,136,191,114, 32,108,213,145,225, 63, 70,212,187,196, 22, 95,186, 20, 42,149, 42,215,195,195,163, 90,115,174,
+245,122,125,165, 62, 92,146, 36, 83,221,221,221,141,182, 90, 24, 35,138,114,115,115,125,255,194,198,248,172,177, 88, 31,116, 34,
+ 20,149,232,232,232, 72,149,116,250,229,137,176,242,214,209, 64, 66,117,254, 39, 61, 61, 61, 6,192,156,154,150, 51, 45, 45,237,
+ 12,140, 72, 26,109,236,126, 0, 32,147,201,190,120, 50, 95,130,166, 37,203,151, 47,175,150,192, 6, 77, 87, 38, 62, 35,229,114,
+121,107, 99,254, 91,167,211,225, 31,196,201,226,133, 17, 21, 21, 53,158, 32,136, 0, 20,185, 4,118,227,203, 68,243,190, 87, 80,
+ 80,112,239,151, 95,126,105,183,103,207,158, 89, 52, 77,163,160,160, 96, 75,117, 5, 86,233,219,115,102,230,165, 47,117,226,185,
+ 25,218, 91,199,118,167,118, 84,229,233,102,237,149,107, 15,193,132, 82, 99, 20, 77,211, 7, 70,140, 24,241, 53,128,131,159, 75,
+ 86,193,172,195,207, 69, 2, 37,203,111,122,123,238,207, 99,110, 91,154,245,132,129,229, 5, 45,227, 34,180, 57,151, 0,236,135,
+113,195, 28, 74,207,151,164,168, 77,164, 86,187,169, 76,231,242,191,208,206,181,124,124,124,102,141, 30, 61, 26, 75,151, 46,197,
+181,141, 27,117,147, 9, 34,159, 13,208, 87,139, 94, 52, 25, 4,176,208, 88,158,145, 35, 71, 98,233,210,165,184,188,126,125, 77,
+121, 42,131, 45, 65, 16,193, 0, 16, 24, 24,248,227,218,181,107,173, 22, 45, 90,212,100,221,186,117,107,138,127,191, 42,217, 94,
+220,215,245, 90,180,104, 81,163, 50,219, 11, 1, 60,253,139,235,179,220,200,240,127, 53, 58,155, 56, 77,156, 38, 78, 19,167,137,
+211,196,105,226, 52,113,126, 14,104,154,238, 89,244, 81,241,103, 69,223,203,124,226,111, 46,115,209, 68, 40,211,139,155, 9, 38,
+152, 96,130, 9, 38,152,240,159,136,178, 86,172,154,108,255,130, 40, 25,163, 85, 22,123,128,162,105,221, 21,169,210,234,204,122,
+168,137,178,189,105,226, 52,113,154, 56, 77,156, 38, 78, 19,167,137,243,127,142,179, 42,238, 79,142,167,105,186, 39, 65, 16,193,
+ 52, 77,247,170,232,179, 68, 88,125,252,189,204,231, 23, 27,118, 80, 14, 74,198,102,149,142,209,250,187, 66,246,152,204,170, 38,
+ 78, 19,167,137,211,196,105,226, 52,113,154, 56, 63, 11, 37, 46, 64, 0,116, 96, 96,224,162,127,161,235,208,177, 88,100,149, 46,
+ 85,186, 14,105,250, 20, 83, 34,129, 57,151, 43,228, 0,128, 86,171,212, 57, 57,161,128, 32, 6,253,147, 9,111, 77,248,207, 68,
+201,116,239,140, 47,188,175, 9, 38,152, 96,130, 9,255, 27,200, 42,177, 84, 1,200, 2, 64, 20,255,214, 22,127,102, 21, 11,178,
+143,191,127,176,253, 47,132, 20, 21, 12,126,103, 85, 36,178,178,179,133, 54, 44,150,204,211, 96, 80,127, 5, 0, 44, 22,227, 77,
+118,182, 85, 44, 77,159,202,174,137,216,178,177,179,123,206,102, 50,157,140,217, 87,111, 48, 72,178, 51, 50, 62, 12, 29, 79, 16,
+255, 13, 2,207, 88, 17,241, 57, 98,227, 47, 23, 42, 54, 54, 54,246,246,246,246,125,204,205,205,219,228,229,229, 61,201,202,202,
+ 58, 87, 73,222,195,181, 4,129, 5, 69,215, 21,126, 1,176,168, 18,234,234,236,251, 49, 60,132, 66,225, 20,130, 32,124,138,111,
+176, 40,165, 82,185, 19,192,219,255,193, 7,146, 0,192,119, 44, 22,107,164,141,141, 77,171,244,244,244,229, 0,106, 26,205,155,
+ 5, 96,174,165,165,229, 16, 75, 75, 75,247,220,220,220,184,130,130,130,147, 0, 54, 1,168,114,170,244,242, 25,142,109,218, 7,
+180, 95, 18,122, 45,116,213,242,109,210,135,159,108,159,235,104,221,181, 75,219,165,161, 23,195, 86,254,184, 35, 45,183,154,101,
+ 99, 20, 47, 64,209,236, 72, 26,159, 6,123,253, 92,176, 1,244, 6,208, 30, 64, 40,128,139,198,156,119, 5,248, 26,192,143,197,
+101,222, 4,224,246,191,252, 58, 18,217,219,219,175, 7,208,155,197, 98,189,150, 72, 36, 19, 0,164,254,195,101, 98, 1,104, 9,
+192, 7, 69, 97, 56,158,194,184, 16, 14, 85,194,218,218,186, 23,139,197,154, 82, 28,218,101,103, 78, 78, 78,240,191,181, 97,184,
+ 92,238, 22, 7, 7,135,113, 42,149, 74, 73, 16, 4, 93, 54,222, 35, 73,146,169,217,217,217,190,255,109, 15, 53,130, 32,158,254,
+203,139, 56,161,156,117, 21,199,209,146, 72, 96,206, 98,201, 60, 51,211, 35,135,164, 73, 95, 14, 6,128,218,142, 77, 78,218, 57,
+ 52, 62, 33,145,112,117, 14, 94,253,196,108, 33,107, 39,147,201,110,166,214,106,108,216, 44,118,182,142,212,135, 51,180,244,148,
+244,152,115,229, 6, 91,100, 51,153, 78,137,177,183,237, 72, 93, 46,216,252,218, 96, 11,234, 84, 88,218,218,181,107,215,232, 44,
+173,172,220,205,116, 60,254, 44, 54,155,217,133,162, 73, 31,154, 2, 24, 4, 59,138, 52,232, 67, 56, 26,205,175, 50, 89, 92, 97,
+ 77,107,208,203, 26, 14, 52, 48, 20, 4,186,128,198, 13, 2, 56, 30,147,131,244,106, 80, 24, 43, 34, 62, 71,108,148, 61,118, 51,
+128,121, 95,250, 74,114,114,114,178,234,213,171,215,150,159,127,254, 89, 32, 22,139,137,228,228,228,128,133, 11, 23,126,251,236,
+217,179, 57, 18,137, 36,237, 99,209, 71, 16, 88, 64, 81, 52, 3, 0, 24, 12, 98,161,173,173,157,144,201,100,126, 18,219,200, 96,
+ 48, 8,179,178, 50,167, 81, 20, 77, 20,239,187,128,166,177,213, 24,193,200,231,243,191,247,105,220,108,206,250, 13,155,196,246,
+118,118, 34,210, 64,233, 18,146, 18,133, 75, 2,231,181,126,255,238,237, 86,181, 90,125,172, 38,247, 53,147,201, 28,194,227,241,
+122, 1,240, 46, 94, 23,173,209,104,130, 13, 6,195, 9, 99, 59,116,123,123,251,187, 76, 38,179,110,117,254,216, 96, 48, 36,103,
+100,100,248,213,176,137, 6,213,169, 83,103,191,191,191,191,176, 85,171, 86,224,114,185, 88,186,116,233, 92,169, 84, 90,149,208,
+ 98, 1,152, 43, 20, 10,135,136, 68, 34,119,185, 92,254, 94,165, 82,157,225,114,185,157,183,110,221,234,210,182,109, 91,179,140,
+140, 12,130,201,100,218, 95,190,124,249,135, 45, 91,182, 4,144, 36,217,169,170, 78, 46,255, 61,189,132,215,219,187, 93,254,251,
+219, 75, 0,116,255,120, 59,169,230,143,164,153, 46,189, 84,244,139,148, 98,241, 97,180,200, 98,179,217, 91, 29, 28, 28, 70,171,
+139, 98, 5,208, 31,119, 56, 0,160,213,106,101,121,121,121, 94, 53,185,229, 1,140,181,180,180, 28, 61,127,254,124,171,238,221,
+187,227,200,145, 35, 83,247,238,221, 43, 43, 40, 40, 56,128,162, 64,152, 49,213,228, 92,144,158,158,222,131,205,102, 19, 46, 46,
+ 46, 76,149, 74, 85, 29,161,229,137,162, 36,204, 79, 1,236, 68, 81,232,130, 14, 64,209,253, 14,224,151, 18,225,198, 96, 48,118,
+122,121,121,245,137,142,142,222, 5, 96, 85, 77,239,117, 7, 7,135,223,119,236,216, 49,184,111,223,190,204,172,172, 44,167,166,
+ 77,155, 30, 77, 79, 79,111,247, 5, 30, 35, 99,120, 60,222,236, 38, 77,154, 52,140,137,137,137, 45, 40, 40,216, 84, 92,159,149,
+221, 83,206, 0, 58, 91, 90, 90,118, 90,188,120,177,184, 87,175, 94,216,179,103, 79,143,189,123,247,202, 11, 11, 11, 67, 80, 52,
+166,231,179, 68, 32,139,197,154,146,154,154,106, 67,211, 52, 28, 29, 29,167, 0,248, 87, 10, 45, 6,131,177,181,127,255,254,163,
+143, 30, 61, 42, 76, 76, 76, 20, 58, 57, 57,149, 6,207, 38, 8,162,198,253,167, 9,159,141, 61,101, 4, 87,213,113,180,184, 92,
+ 33,199, 96, 80,127,149, 38,125, 57,248, 91,255,237, 22, 0,112,247,206,244,193,118, 14,141,162,184, 92, 97, 44,207,156,127,182,
+127,239,206,205, 6,246,242, 39,156, 29,237,144, 42,205,180,255,227,248,181,110,193,215,110,159, 69, 81, 0,177,114, 65,234,114,
+ 33,208,221, 68,204,253,109,176,105,159,134,223, 46,167,226, 97, 68, 2,148,249,217,168,235, 32,192,134, 89, 93,225, 96, 37,172,
+217,171,151,157, 71, 7,146,197, 59, 49,236,251, 17, 22,125,190,243,102,187, 58, 56,128,166,121,136,125, 47,255,230,202,245,219,
+ 45,207,156, 58, 54, 69,196,246, 24,162,200,124,107,244,195,173,185, 35, 4, 10, 29,190, 99, 49,137, 31,218,250, 54,236,244,125,
+143,118,140,134,222, 13,240,250, 85,116,215, 11,183, 30,111, 96,132,189, 10, 33, 13,116,144,136,131,243, 47,164,149, 6,244,251,
+ 68,112,116,234,212,185, 29,143,199,251, 32,120,146, 70,163,225,132,132,220,252,186, 38, 98,163,228, 63,180, 90, 13,131,205,230,
+130,193, 32,230,248,248, 52,246,206,206,206,190, 77, 16,196,254,180,180,234, 89, 11,166, 3, 92, 25,139,213,130,193,227, 57, 26,
+180, 90,107, 0, 32,184, 92, 89, 2,131,209,120,241,143, 63,138,153, 76, 38,149,147,147, 3,165, 82, 73,140, 31, 63,158,255,254,
+253,251,254, 18,137,100, 91, 21,111, 36,216,187,119,175,167,163,163,227, 39,217, 99,165, 82, 41,183,111,223, 62, 53,105,122,207,
+ 38, 77,155,207,190,118,237,170,119, 65,174, 76,189,119,243,239,207,245,124,161,166,158,183, 23,123,231,158, 67, 22, 19, 70, 15,
+159,254,230,205,171,112, 84, 47, 95, 93, 29,129, 64,112,118,227,198,141, 62, 29, 58,116, 96,219,217,217, 33, 35, 35, 3,209,209,
+209, 62,183,110,221,250,238,208,161, 67,115, 85, 42, 85,127,192,168,132,168, 30, 33, 65,251,237, 68,181,172, 97,208,235, 81,187,
+ 73,243,210, 1,146,239,110, 93, 7,169,211,129,210,235,225,221,235,187, 98,107, 50, 13,111,111,239,154, 70,221,173,221,168, 81,
+163,195,107,214,172,225,104, 52, 26, 60,126,252, 24,183,111,223,166,164, 82,105, 85, 1,113, 89, 4, 65, 92, 95,182,108,153,179,
+159,159,159, 89,118,118, 54, 12, 6,131,205,249,243,231,167, 52,107,214,204,220,197,197,133, 27, 20, 20, 4,185, 92, 14,146, 36,
+107,185,187,187,215,250,254,251,239,181, 65, 65, 65,115, 1,172,175,200,146, 85,240,158, 94, 34, 37,220,187,121,181, 24,137,116,
+226,106,183,217,221,112,197,188, 62, 81,106,217,234,230,238,110, 86, 32, 17, 46, 20,155, 55,174, 85, 32,185,185,176,155,187,251,
+222,171,113, 70,189, 12, 49,138, 59,155, 97,199,143, 31, 23, 70, 71, 71, 11,189,189,189, 65, 81, 84,105, 4,254,146,128,179, 30,
+ 30, 30, 53,169,199,117,147, 38, 77, 90, 56,120,240, 96, 52,105,210,164, 52, 40,234, 79, 63,253,132,133, 11, 23, 90,221,189,123,
+119,238,177, 99,199,230,158, 59,119,110, 61,128,192,106, 90, 99, 74, 80,221, 54, 94, 17, 31, 31, 63,232,236,217,179,195, 23, 44,
+ 88,224, 1, 96, 26,128,165, 57, 57, 57,254,197,214, 24,110,177,208, 26, 51,119,238,220,201,129,129,129,232,209,163,199,210,199,
+143, 31,175,174,161,149,143, 73,146,100,143,190,125,251, 50,245,122, 61, 68, 34, 17,244,122,125,253,207, 53, 74, 0,216, 49,113,
+226,196,201,147, 38, 77,130,149,149, 21,244,122,189,231,241,227,199,247, 46, 93,186,180, 13,128,177, 21,148,117,228,228,201,147,
+ 7,140, 24, 49, 2,190,190,190, 96,177,138,170,113,227,198,141, 88,185,114,165,248,250,245,235,223, 5, 5, 5,125,119,225,194,
+133, 51,248, 48,109, 87,181, 64, 81, 20, 88, 44, 22, 82, 82, 82, 96,103,103,199,163, 40,234, 26, 65, 16,123,114,115,115,207,253,
+139, 58,243, 95, 6, 13, 26, 52,236,232,209,163, 98, 0,216,176, 97, 3,102,207,158, 13,123,123,123,136,197, 98,147,212,249,247,
+ 88,180, 38, 84,105,209,170, 10, 74,165,178,249,162, 25, 63,128,193, 40,122,107,108, 80,175, 14,214,254, 56,129,184, 16,124,173,
+121,165, 54,120,126,109,196,220,223, 6,158,203, 44,104,244, 36, 30, 69,196,227,198,134,128,162,222,178,251, 98,104,116,157, 74,
+ 58,155, 90, 92,129,224, 23,173,193,240, 0, 14, 14,143,145,148,148, 85,149,200,178,117,176, 15,222,189,123,189,192,167,190, 23,
+116,164, 30,146, 76, 9, 8,130, 7,103, 39, 51,140, 25,217,157,237,239, 95,219,102,197,138,223, 47,165, 83,232,167,204,126, 91,
+101,192, 80, 79, 27, 28,108,238,227, 49,248,251,158,126,188,198, 62,141,192,225, 9, 74,183,181,240,245, 69, 11, 95, 95, 70,160,
+188,176,203,147,167,207,187,156,190,254, 72,163,212, 39,157,140,205,198,168, 42, 30, 50,165,130, 99,230,204,153,176,183,183,255,
+ 96,135,140,140, 12,220,186, 21, 82,238, 49,213,120,144,149,254,199,234,213,171,205,100, 50, 89,247,125,251,246,117,164, 40,106,
+117,122,122,250,125, 99, 72, 70, 0,117,243,121,188, 78,163, 55,109,162,154,245,233,195,180,116,112, 96, 80, 6, 3,145, 22, 23,
+103,189,121,219,182,246,185,239,222, 9, 20,181,106,229,202, 84, 42,101,108,108, 44,248,124, 62,193, 98,177, 90,150, 67,149, 65,
+211,248,133,193, 32, 22, 18, 4, 1, 30,143, 31, 59,105,210,164, 23,197,219,234, 94,188,120, 81,216,187,119,111, 37,128, 68, 0,
+224,241,248, 78, 76, 38,195,179,104, 0, 33,126, 49, 70, 96,138, 68,162, 25,171,214,172, 23, 21,228,230,169,116, 10,133,222,214,
+ 92, 76, 16, 98, 51,102, 65,126, 97,161, 68,154,165, 89,188,124, 37,115,226,152, 17, 51, 20, 10,197, 20, 99, 69, 86,211,166, 77,
+159,156, 61,123,214,206,218,218, 26,121,121,121,200,201,201,193,147, 39, 79, 64, 81, 20,250,247,239,207,251,166,117,171,230, 63,
+ 46, 94,242, 48, 69, 34,105, 99,140,216, 18,213,178,193, 6,191,102, 69,157,117, 98, 78,105,251,236, 25,212,171,116,159,149,169,
+249, 37,214,185,207, 73, 33,213,166, 83,167, 78, 28, 0, 24, 59,118,108, 65, 97, 97,225, 90, 0, 71, 81,117, 68,255,185, 75,150,
+ 44,113,170, 87,175,158,235,209,163, 71, 33,151,203, 1,192,174, 94,189,122,240,244,244, 52,132,134,134,194,211,211, 19,102,102,
+102,184,123,247, 46, 30, 62,124, 8, 95, 95, 95, 51, 14,135, 51, 88,167,211,149, 43,180,218, 7,180, 95,194,235,237,221,206,171,
+197, 72,136,205, 29,177,247,216, 9,196, 60, 63,212, 78,163,139, 94,194, 49,220, 25,161,162,121,163,178,146,197,129,117,125,253,
+173, 27, 52,234, 3,215, 22, 47,108,212,134,123,241, 75,186,212, 91,199,226,171, 15, 45,223, 36,205,169, 72,100, 1,216,208,191,
+127,255, 65,199,143, 31,183, 4,128,200,200, 72,100,100,100,192,214,214, 22,124, 62, 31,108, 54,187, 52, 63,105, 13, 49,106,231,
+206,157,165,162,141, 36,201,210, 44, 0, 66,161, 16,223,126,251, 45,154, 53,107,134,115,231,206,141,170, 64,104,249,181,110,221,
+250,136,171,171,171, 75,217,149, 10,133, 2, 67,135, 14, 5, 0,248,251,251,119, 18, 8, 4,116,137, 32,148, 74,165,242,167, 79,
+159,118, 1,240,184, 2,101,169,146, 72, 36,152, 63,127, 62, 18, 18, 18,166,238,222,189, 59, 9, 0,159,203,229,150,190, 31, 3,
+240,108,212,168,209,214,217,179,103,227,253,251,247,120,253,250,245, 19,212,220,149,106, 16,137, 68,239,244,122,189, 47, 73,146,
+ 80,169, 84,232,215,175, 31,255,204,153, 51, 25, 76, 38,243, 77,118,118,246,112, 20,141, 73, 49, 22,124, 0,155, 38, 77,154, 52,
+121,193,130, 5, 8, 9, 9,193,133, 11, 23, 48, 98,196, 8,204,154, 53, 11, 98,177,120,244,172, 89,179, 30,162, 40,161,249,199,
+232,180,115,231, 78, 24, 12,134, 79,238, 13, 62,159, 15, 63, 63, 63, 52,108,216, 16, 23, 46, 92,232,244, 25, 66,203,213,207,207,
+143, 75, 81, 20, 20, 10, 5, 66, 67, 67,197, 2,129, 64,236,236,236, 60, 30,192,191, 70,104,185,186,186, 78, 58,126,252,184,184,
+172,247,135,199,227,161,204,117, 96,194, 63,111,209,170,244, 13,171, 20, 90,173, 82,199, 98, 49,222,212,118,108,114,242,238,157,
+233,165,174, 67,128,241, 70,171, 85,234, 0,192, 64,209, 40, 80,146, 16,240, 24, 72, 76, 47,196,171,184,236,242,168, 62,152,162,
+201, 22,212, 1,175, 85, 34,104,154,134, 86,103,128, 38, 63, 29,107, 47, 41, 17,157,170,134, 86, 33,131, 86, 87, 52, 12,203,198,
+198,134,117,237,218,149,217, 55,111,222,154,124,224,192, 1,102,170,133,197,235, 66,160,121,121,156, 86, 86,238,102, 20,151,123,
+114,215,238,165, 2,154, 25,135,216,100, 5, 26, 56,183,130,141,165, 11,210,179, 21,120,240,250, 50,222,188, 13, 70, 61, 71, 87,
+204,154,209,141,191,106,205,209, 19, 28,210,173, 78, 94, 94, 66, 65, 69,229, 44,121,139,250,253,106, 44,200,220, 56, 24,114,222,
+195, 80,152,246,201, 14, 98,219, 58,104,209,193, 9,182, 46,245,121,163,102,173, 28, 9,124, 32,180,202,114,102, 16, 4, 99, 23,
+131, 65, 76, 38, 8, 2, 77,154, 52, 77,221,180,105, 83,121,161,192,117, 77,154, 52, 77,101, 50, 25,206, 69, 15,118,198, 78,154,
+166, 50,170, 40,231, 7,162,134,203,229, 45, 40, 50,251, 59,166, 92,186,116, 73, 55,104,208, 32,108,220,184,145,187,112,225,194,
+197, 76, 38,115,108, 57,238,189, 15, 56,251, 1,117, 44,235,215,239,186,250,193, 3,154,173,215, 19,185, 79,158, 20,228, 73,165,
+100,122, 97, 33,247,212,155, 55, 61,198,205,155,199,117,113,113,193,253,224, 96,235, 44,133,130,206,211,104, 84,121,121,121, 52,
+ 73,146, 79, 42,224, 92,100,107,107, 39,220,187,119,175,231,164, 73,147, 94, 72,165,210, 69, 0,224,232,232,184, 22, 64, 67, 0,
+137,101,214, 97,247,238, 19,146,241,227,199,199,102,102,102, 46,170,172,156,101,208,200,206,214, 78,120,236,247,160,151,181,204,
+ 4, 12, 91,231,218, 12,182,165, 37,139,228, 10, 56, 20,160,170,231, 82, 95, 4,160, 81, 5,199,126,204, 73, 8, 4,130,179,127,
+254,249,167, 29,155,205,134,193, 96,128,173,173, 45, 18, 18, 18,144,151,151,135,194,194, 66,196,191,137,134,155,139, 11, 86, 4,
+ 46,116,156,182, 48,240,172, 82,169,244,253,168, 51,251, 52, 1,178, 94,247,137,101,175,188, 44, 6, 31,187,189,140,108,247,178,
+ 72, 72, 78, 78,134, 88, 44,134,143,143,143,248,193,131, 7,247, 42, 17, 89,101,147, 0, 15,110,219,182,173,217,209,163, 71,225,
+235,235, 11, 11, 11, 11,132,134,134, 34, 50, 50, 18, 58,157,142, 33,151,203, 33, 22,139,177,110,221, 58,212,169, 83, 7,133,133,
+133, 72, 76, 76,180,102,179,217, 54, 31, 69,180, 47,229, 12,189, 22,186, 42,255,253,237, 37,233,196,213,110,123,143,157,192,248,
+239,135,192,129,142,187,103, 81,159, 88,213,181,119,219,159,104,166, 75, 47,145, 89, 19, 43, 15,159,222,224,112,197,152,182, 96,
+ 37, 98,163, 46, 90, 41, 11, 95, 78, 37, 12, 41, 46,203, 55,157,154, 89,206,185, 19, 0, 24, 46, 46, 46,227, 78,157, 58,101, 86,
+106,122, 97, 50, 75,115, 30,150, 77, 2, 95, 73,194,247, 42,235,147, 32, 8, 36, 36, 36,192,206,206, 14, 98,177,184, 52,129,120,
+116,116, 52, 30, 61,122,132,146,108, 20, 21,112, 14,191,121,243,166,139, 72, 36,250, 96, 7,154,166,145,157,157, 13,146, 36, 33,
+ 20, 10, 97, 48, 24,160,211,233,160,215,235,161, 86,171,197, 13, 27, 54,156,162,215,235, 31,151,199, 73, 81,212,156,193,131, 7,
+183,125,252,248,177,251,182,109,219,160,213,106, 55,164,167,167, 99,192,128, 1,160, 40, 10,157, 58,117,250,154,166,233,152,197,
+139, 23, 3, 0,102,207,158,173, 87, 40, 20,147,106,114,238,197,104,216,162, 69, 11,247,144,144, 16,180,107,215, 14, 26,141, 6,
+ 27, 55,110, 52,223,189,123,183,121, 80, 80,144,237,130, 5, 11,246,103,101,101, 5, 84,193, 73, 0,216,224,224,224, 48,185,125,
+251,246,130,226, 28,166, 56,116,232, 16, 86,172, 88,113, 28,192,226, 43, 87,174, 44,187,112,225,194,200,113,227,198, 97,197,138,
+ 21,179,242,242,242,246, 85,196, 25, 31, 31, 15, 91, 91, 91,152,155,155, 23, 61, 44,117, 58,132,135,135,227,198,141, 27,248,234,
+171,175,140, 57,167,138,202,233,218,191,127,255,253,199,142, 29, 51, 75, 73, 73,193,221,187,119,225,230,230, 6,165, 82,105, 76,
+110,216,155,127, 65,135, 93, 33,167, 74,165, 82, 39, 39, 39,139,215,175, 95, 15, 71, 71, 71,184,186,186,130,207,231,131, 32, 8,
+232,245,250,202,194, 9, 84, 89, 78,127,127,176,178, 37, 86,125, 45, 44,173,166,210, 52,205,202,207,151,253,174, 67,222,233,184,
+ 56,104,255,198,115,255, 79, 70,115, 0, 47,240, 97,206, 67,105,169,208, 10, 14, 14,166,123,245,234, 69,148,124, 58, 57,161, 32,
+ 59,219, 42,214,206,161,241, 9, 59,135, 70,197,121,191, 24,111,152, 76,171, 88,123,123,101, 1, 0,232, 72, 26, 97,111,242,240,
+242, 93, 58, 34,223,165, 67,196, 51,206,248,162,209,145, 69, 35, 86,105, 26,106,249,255,191,180,234,148, 50,104,116, 69,195, 61,
+180, 26, 37,242,179, 94, 19,131,250,117,225, 79,158, 60, 17,142,142, 78,182, 21,241,233,120,252, 89,211,102,247,176,172,101,201,
+ 70,240,131,171,248,250,171,126,224,243,216,200,201, 87, 3, 4,240, 54,238, 6, 64,153, 33, 42, 54, 25,173, 27, 9, 17,208,213,
+ 91,124,238,116,204, 60, 0, 75,141, 41, 47,153,250, 4, 28,143,238, 96, 27,244,208,103,199,128,202, 75, 2, 68, 14, 80, 17, 98,
+228, 72,147,240,230,222, 25,163,222, 25, 41,138,154,106, 99, 99,147,183,120,241,226,246, 13, 26, 52,208, 77,153, 50, 37, 34, 41,
+ 41,105,206, 71,111, 43,191,238,220,185, 19,239,222,189,147,172, 94,189, 58, 52, 59, 59,123, 73, 53, 27, 58,144,166,177,165,216,
+ 21,151,125,254,252,249, 22,119,238,220,153,181,101,203, 22,251,233,211,167,115,167, 79,159, 62, 6,192,207,149,185, 11, 11,120,
+188,206,171,239,222,165,201,212, 84,205,225,237,219,185, 59,194,194, 22,235, 40,170,182,141,157, 29,241, 77,235,214, 10, 33,131,
+145,157,147,145, 65,218,186,187, 51, 19,110,220,176,166, 5,130,180, 43, 87,174, 20,200,229,242, 10, 83,231, 48,153, 76,101,121,
+238,194,242,224,232,232,168, 45,111, 12, 87, 37, 29, 98, 1, 69,211, 58,203,122,245,232,174,157,218, 52,120, 23, 19, 23,199,183,
+180,100,122, 52,112,243,122,245, 38,225, 9,109, 48,168, 9,130, 40, 48,202, 87,194,100, 14,217,178,101, 75, 99,115,115,115, 80,
+ 20, 5, 11, 11, 11,100,101,101, 65,171,213,162,160,160, 0,218,194,124,104,243,243, 17,153,148,128,182,237,219, 99, 80,183,174,
+222, 65,231,255, 28, 98, 48, 24,142, 87,234,207,107,210,188,212,146,181,178,174,245,255,251,130, 82,242, 74, 69,215,250,230, 30,
+224,136,197,232, 50, 39,240,115,110,244, 23,151, 46, 93,186,220,191,127,255, 30,243,230,205, 99, 72,165,210,171, 9, 9, 9,109,
+ 1,188,174,236, 32,177, 88, 92, 63, 59, 59, 27,114,185, 28, 22, 22, 22,216,178,101, 11,236,237,237,161, 84, 42,241,244,233, 83,
+218,217,217,153, 8, 13, 13,133,179,179, 51,114,114,114,160,211,233,160, 82,169,210,181, 90,109,133,238,242, 98,247, 96,247,217,
+221,112, 37,230,249,161,118, 78, 68,252,211,193,115,253,223,197, 68,190, 73,190,126,227,193,207,164,154,159,146,151,122,115, 97,
+189,150, 47,108,166,206, 95,129,223, 54, 44, 67,204,227,187,185,246,117, 10,118, 8, 8,205,193,202,202,171, 80, 40,212,111,222,
+188, 49,139,136,136, 0, 65, 16,176,176,176,128, 80, 40, 44, 87,108,213, 0,140,178, 22, 40,133, 66, 1, 14,135, 3,107,107,107,
+236,219,183,175,180,227,117,115,115,171,140,227,247, 46, 93,186, 12,169, 83,167,142, 89,217,149, 45, 91,182,196,196,137, 19,177,
+107,215, 46,132,133,133,125,144, 79, 51, 61, 61, 93,170,215,235, 43, 59,239,188,140,140,140,110,253,250,245,123,126,239,222, 61,
+243,125,251,246,129, 36,201,114,151,189,123,247,226,209,163, 71, 75, 1,188,169,225,117,244,213,128, 1, 3,238, 30, 57,114,196,
+ 50, 43, 43, 11, 37,215,134, 66,161,128,193, 96,128,151,151, 23, 65,146,100, 85,227,222, 24, 76, 38,243,252,246,237,219,123,143,
+ 31, 63, 30, 44, 22, 11, 90,173, 22,219,183,111,199,194,133, 11, 51,138, 95, 74,117, 0, 22, 31, 60,120,112,100,159, 62,125,208,
+180,105, 83,239,219,183, 43, 30,217, 33,151,203, 33,151,203,193,102,179,225,224,224,128, 85,171, 86, 65,171, 45,122,172,120,122,
+122,150,222,198, 0,126,247,244,244,236, 29, 27, 27,187, 17, 69, 99,215, 62,129,131,131, 67, 63,154,166, 39, 24, 12,134,194,118,
+237,218, 89, 31, 59,118,204, 76, 34,145,224,249,243,231, 88,186,116,169,140,162, 40, 3, 69, 81,132, 74,165,138,183,179,179,123,
+206,227,241, 4, 74,165, 50, 55, 39, 39,103, 13,128,171,255, 84, 79, 78, 16, 4,193,102,179, 49,118,236, 88,176, 88, 44, 8, 4,
+ 2,168,213,106,232,245,250, 82, 49,143,106,186,165, 27, 52, 16, 91,179,192, 25,111,101,214,112,214,160,153,189,108, 29,107, 59,
+193,210,156,135,232,232,215,109,111,133,220,216,206,101,197,236,166,180,250,221, 49,137,249,127,121,178,251,143,181,200,127,168,
+208,250, 36,231, 33,171,252,198, 28,100,160,233, 83,217, 18, 9, 87,199,229, 10, 99, 75,172, 92,246,246,202, 2,130, 24,100,176,
+109,212, 23,164, 78, 95,252,160,160,139, 23, 35,133,150,222,128,119, 49, 81,184,119,253, 79,216, 40, 37,200,142,111, 6,112, 26,
+ 67,171,202,135, 90,171, 43, 22, 37, 6, 68, 60, 15, 65, 65,126, 46,124,124,123, 1, 12,198,163,138,248, 44,172,137, 94,223,180,
+104,194,124,151, 28,133,150,158, 3,225,238,220, 14, 73,210, 2,228,201, 53,144, 21,168,209,204, 39, 16, 89, 50, 21, 10,148,106,
+188,126, 23, 4,167,218,238, 12,130, 21,215,201, 88,161,165,121,125, 22,154, 55, 23,192,113,109, 11,174, 87, 31, 48, 93,253,144,
+252,242, 54, 34,174,108, 70,234,171,251,160, 41, 3, 28, 61, 91, 25,123,147,108,191,122,245,106,171,182,109,219,178, 58,119,238,
+220,244,242,229,203, 77,165, 82,105, 68,177,192,104,218,185,115,231,166,182,182,182,216,186,117,171,138, 32,136,237, 53,108,236,
+ 82, 11, 88,102,102,230, 19, 0,171,207,158, 61,187,125,226,196,137,176,179,179,107,156,150,150, 86,225,129, 89,108,118,211, 81,
+107,214,208,108, 38,147, 62,254,219,111,156, 21, 87,175,110, 58,112,240, 32,167, 99,135, 14, 4, 77,211, 8, 15, 15, 23,174,255,
+237, 55,225,176,190,125, 19,147, 50, 51,201, 59, 97, 97, 58,105,106,106, 97,166, 66,177, 66, 42,149,166,255, 19, 87,182, 94,175,
+127, 24,159, 16,239,228,219,186,153,237,139,232,248, 87, 1, 29,191,249,134,193, 96, 48, 98,226,146,194,108,109,205,133, 55,174,
+223,208,233,245,250,135,198,112,241,120,188, 94, 29, 59,118,100,201,100, 50,212,174, 93, 27, 89, 89, 89,144, 72, 36, 69, 22,135,
+124, 25,116,249,249,208, 23,228,193,160,144, 35,254,233, 19, 52,115,175,199, 59,197,227,245, 82, 42,149,149, 10,173,146,183,204,
+242, 18, 93,151,172,227,154,153,129, 43, 22,131,168,190,219,176,175,165,165,229,194,188,188,188,203, 0, 86,233,116,186,105, 11,
+ 23, 46,108,185,109,219, 54,155,213,171, 87,155, 79,152, 48,225,148, 92, 46,111,134,162,164,170, 21,117, 96,239, 73,146,180, 6,
+ 96, 31, 18, 18, 2, 59, 59, 59,228,231,231,151, 88, 90,180, 74,165,146,159,147,147, 3,141, 70, 3,173, 86, 11,115,115,115, 60,
+123,246, 44,151, 36,201,139, 85, 21,206,188, 62,177, 74,163,139, 94, 98,237, 45, 74,211,145, 86,254,153,185,148,108,249, 38,233,
+ 74, 0,155,186,185,187,239,213, 81,119,227,223, 70, 93,180, 74,120, 26,154,155,246, 86,225,190,239,114,124,101, 99,180,104, 0,
+ 20, 65, 16,180,145,103,230,210, 0, 0, 32, 0, 73, 68, 65, 84,167,167, 39,178,178,178,192,100, 50, 33, 20, 10, 33, 22,139,177,
+104,209, 34,108,223,190,189, 38, 66,139, 47, 18,137,214, 48, 24,140, 33, 12, 6,195,214, 96, 48, 32, 48, 48, 16,189,123,247, 6,
+151,203,133, 78,167, 43,181,104,150, 88,169,170,176,116,132, 63,122,244,200,252,209,163, 15, 30, 91, 29,108,108,108,110,105, 52,
+ 26,196,197,197,225,252,249,243,237, 1,220,169,102, 91,199,133,135,135,119,243,243,243, 59,212,162, 69,139,250, 52, 77,163,113,
+227,198, 24, 58,116, 40,130,130,130, 16, 17, 17,129,252,252,124,234,198,141, 27, 7, 0,108,172,110, 31, 94, 92,191, 94, 3, 6,
+ 12,184,127,244,232, 81,171,156,156, 28,168, 84, 42, 40, 20, 10,156, 58,117, 10,109,219,182,133,141,141, 13,142, 28, 57, 66,210,
+ 52, 93, 89,219, 51, 24, 12,198,190,221,187,119,247, 30, 55,110, 28,118,236,216,129,227,199,143,163, 79,159, 62, 24, 50,100, 8,
+178,178,178,236, 55,108,216, 48,178,216, 77,184,108,232,208,161,144,203,229,120,250,244,105,180,145,247, 60,242,242,242,144,151,
+151, 7,129, 64, 80,246, 30, 35, 0, 4,109,222,188,249,251, 89,179,102,193,221,221,125, 89,124,124,252,102,148, 51, 75,148,162,
+168, 73, 18,137,196,138,197, 98, 89,147, 36,137,148,148, 20, 60,123,246, 12, 83,167, 78,205,205,205,205,157, 8, 32, 9,192,226,
+177, 99,199,174,154, 51,103, 78,233,181, 52,103,206,156,224,203,151, 47,119,251,187,173, 57,158,158,150,141,184, 76,222, 76, 89,
+ 33,211, 90, 38,147,149, 62, 59,180, 90, 45, 52, 26,205, 7,150, 44, 14,135,109,221,178, 89,157, 75, 42,101,225,143,175,223,230,
+ 85,152, 32,221,187,190, 69, 19,161,200, 98, 86,219,118, 29,135,119,237,246, 29,147,212,235,113,237,218, 69,252,241,199, 78,116,
+240,243,132,123,131,198,152, 62, 99,166,133, 70, 75, 6,222,184,113,117,161,229,163,123, 87, 11, 11,242, 22, 85,198,249, 63,142,
+ 75,197,226,234, 82,185,174,195,242, 20,100,113, 8, 7, 89,241, 79, 27, 43, 43,171,223, 12, 6, 67, 7,115,115,115, 80,121,177,
+120,253,236, 49,114,101,108,104, 84, 6, 80,116,145,216, 50, 74,184,104,180,184,123,237, 2,182,108,222,132,156,156, 28,248,125,
+219, 30,114,150, 11,234,184,212,129, 90,165, 44,190,105, 0,157, 86, 15, 91,123, 87,188,120, 17,161, 47, 80, 40, 42,124, 32,113,
+248, 58,239, 58,246,158,208,232,218,128,207,229, 34,191, 80, 11, 89,177,200, 58,114,122, 48, 52, 74, 21, 72,173, 14,164, 86, 15,
+219, 58, 3,240,149,125, 71, 80,134,139,141,170, 85,125,148, 1,186,132,187,208, 37,220,133,160,205, 12,252,185,246,251,143, 58,
+ 82,227,242,238,102,101,101,101,190,122,245,234, 98,120,120,120,191,193,131, 7,227,246,237,219, 19, 0, 76, 46,118,223, 76, 24,
+ 60,120, 48,194,195,195,241,234,213,171,139, 89, 89, 89,153, 95,162,229,185, 92,174, 74,163, 41,234, 99,133, 66, 33,191,138,125,
+157, 90,246,239,207,200,127,241,162, 96,243,131, 7,203,246,238,219,199,233,220,169, 19,161, 39, 73, 80, 6, 3, 26,120,120, 16,
+ 93,187,118, 21, 5,157, 60,105,205,212,235, 31,205,159, 54, 45,100,215,136, 17,133, 79, 20, 10, 99, 7,154,215, 45,118, 25, 2,
+ 64,221, 74,214, 25, 13,141, 70,179,109,210,248,209,157,239,220,189,239, 82,199,197,201,252,218,141, 59, 17, 60, 1,151,225,238,
+ 86,159, 41,203,207,101,173, 92,246,163, 64,163,209, 24, 43, 90,189,109,108,108,144,158,158,142,119,239,222, 65,163,209, 64,175,
+215,131, 82, 42,160,149,229, 65,155,159, 11, 66,173, 2,207, 96,128, 58, 59, 3,117,221,235, 1,255, 63, 35,177, 74, 87, 84,121,
+ 66,171,228,147,111,110, 14,142, 72, 12, 6,155,109,116,114,116, 0, 45, 90,181,106,117,242,204,153, 51,156, 49, 99,198,180,190,
+121,243,230,111, 0,146, 36, 18, 73,167,165, 75,151, 62,249,237,183,223,120, 19, 39, 78,244,218,184,113,227, 72, 0,191, 87, 68,
+162, 86,171, 79, 94,186,116,105,152,171,171,171,125,100,100, 36,212,106, 53, 40,138, 66,247,238,221,129,162,177, 53, 0,128,152,
+152, 24,149, 90,173,206,140,138,138, 42, 72, 74, 74,210,193,136, 89,130,203,183, 73, 31, 22,164,223,237,111,239,224,244,136, 47,
+168,235, 70,203, 95,244,155, 61,208,105,195,230,211, 18,245,213,184,184,194, 37, 93,234,173, 83, 20,190,156,106,233, 44,223,113,
+ 53, 56,222,152,129,240,165,179, 11,173,173,173,193, 98,177,192,102,179,193,225,112, 64, 16, 4,102,204,152,129, 61,123,246, 84,
+229, 58,252, 64,100,153,153,153,189, 90,177, 98,133,243,196,137, 19, 57,124, 62, 31, 50,153, 12, 71,142, 28,193,216,177, 99,241,
+199, 31,127,148, 59,254,197, 8,151,210,199,214,210, 89, 35, 70,140,128, 86,171,197,208,161, 67,177,119,239,222, 89, 6,131,225,
+ 78, 13,110,233, 71, 17, 17, 17, 30, 17, 17, 17,230, 0,250, 12, 25, 50,228,224,128, 1, 3,112,231,206, 29, 92,188,120,177, 61,
+138, 38,125,168, 0,172, 5, 96, 87,252, 89,217,253, 41,178,183,183,223, 73, 81, 84, 31, 91, 91,219, 8, 79, 79, 79,159,163, 71,
+143, 90,102,102,102,150, 76,126, 64, 66, 66, 2,246,239,223, 47,221,183,111, 95,129,193, 96,176,102, 48, 24,151,242,242,242, 22,
+ 85, 34,216,246,109,222,188,121,116,177, 59, 16,103,206,156,161, 55,109,218, 68, 44, 93,186, 20, 50,153, 12, 29, 58,116,192,238,
+221,187,103,202,229,242,166,155, 54,109, 26, 63,104,208, 32,172, 92,185, 18, 10,133, 98,115, 85, 47, 43,149,136, 47, 2,192, 55,
+155, 55,111,118,157, 53,107, 22,206,156, 57,131, 22, 45, 90, 8,226,227,227,119, 1, 24, 87, 94,251,209, 52,141,248,248,120, 40,
+149, 74,220,191,127, 31,203,150, 45,147,149, 17, 89, 51, 39, 79,158,188,106,230,204,153, 88,179,102, 13, 29, 25, 25,153, 57, 96,
+192, 0,251, 61,123,246, 48, 27, 52,104, 48, 83,169, 84,254,109, 66,203,171, 65,173,117, 45, 91,180, 91,232,232,212, 0, 71,142,
+ 30, 67,110,110,110,105,157,148,212, 11, 77,211, 40, 44, 44, 68,122,122, 58, 44,204,205,176, 97,227,170, 30, 83, 38,140,118, 65,
+ 81, 24,140, 79, 77,150,238, 86, 27, 7, 12, 25, 51,119,232,176,209,136,140,120,142,160,131,191, 35, 42, 50,188,148,143,212,235,
+ 16, 27,253, 12,177,209,207, 96,239,224,138,174,157,219, 19,223,127,255,125,247, 17,195,134,216, 2,248,203, 66, 71,252, 7, 91,
+179,128, 79,227,104,237,249, 64,104, 85, 97,174,179,177,178,178,122,117,226,196, 9,107, 63, 63, 63, 38, 73,146,184,122,237, 26,
+166, 78,254, 1, 35, 71, 4, 66, 7, 43,144, 90, 14, 40, 14,223,168,146,168, 84, 74,208,160,161, 80, 40, 16, 22, 22, 6,154, 34,
+ 17,180,103, 19,104,154, 42, 21, 90, 0, 13,173, 78, 7,167, 58, 94,216,185,119, 53, 9, 54,251, 9,244,229,135,174, 41,200, 97,
+ 26,244, 36, 13, 73,102, 50,146,165, 81,176, 48,171, 3, 22,187, 14,114,242,148, 96, 49, 28,160, 87,199,192, 80,124,172, 82,145,
+ 10,149,238,243,218,207, 80,142,245,148,174,198, 67, 87,165, 82, 29, 62,124,248,112,143, 95,127,253,149,219,179,103, 79,207,211,
+167, 79,127, 3, 0, 61,123,246,244, 52, 55, 55,199,225,195,135,181, 42,149,234,240, 23,180,248,116,108,213,170, 21,100, 50, 25,
+ 18, 18, 18, 34, 42, 61, 55,173,214, 90,108,103,199,204,188,125, 91,159, 37,147,185,116,236,216,145,208,147, 36, 24, 4,129,220,
+252,124, 36, 37, 38,194,210,210,146,120, 21, 19, 35,222, 62,125,250, 57, 79, 31, 31, 86,201,140, 68, 99,112,241,226, 69, 33,138,
+198,101, 85,186,174,154, 80,100,102,164,143,158, 54,109,218,185,195,135,143, 88,100,100,102,196,242,184, 92, 82, 44,230,215, 30,
+ 49,124, 10, 43, 47, 47,111, 24, 0,185,177,100, 50,153, 12,241,241,241, 16, 8, 4,224,176,217,160, 84, 74, 24, 20,114,168,115,
+179,192,212,105,193, 53, 24, 80, 75,200,131,139,189, 61,234,216,218, 24,197,249,238,214,245,210,129,239,101,221,133, 27, 90,121,
+131, 43, 18,131,107, 38,198,148,224,208,226,183, 81, 14,176,244,103, 99,104,109,156,156,156,254, 60,122,244, 40, 39, 43, 43, 11,
+225,225,225, 17, 0,242, 1,152, 1,160,162,163,163,111, 70, 69, 69,245, 42,158,117, 87,213,108,177, 77,103,207,158,237,226,231,
+231, 71,186,185,185,137, 50, 51, 51, 93,100, 50, 25, 37,149, 74, 63, 48, 9, 93,191,126,157, 87, 88, 88,168,160, 40,234, 92,177,
+200,170, 50,126,209,236,129, 78,252,176, 23,152,225, 31, 80,183,177,185, 77, 19,228,146, 47, 26, 63,138,144,206,152, 61,208,105,
+219,230,211, 18,181,128,208, 28, 36, 12, 41, 46, 44,190,218,216, 65,204, 52, 80, 52, 86, 42, 44, 44, 12, 73, 73, 73,136,143,143,
+255, 64, 80, 77,152, 48, 1, 65, 65, 65, 70, 89,180, 68, 34,209,154,229,203,151, 59,207,154, 53,139, 83, 70, 20, 97,218,180,105,
+200,207,207,199,222,189,123, 49,109,218,180,106,119,252, 31,161, 94,199,142, 29,123, 58, 58, 58, 34, 39, 39, 7, 14, 14, 14,240,
+243,243,235,125,231,206, 29, 55, 0, 9, 53,188,238,167, 4, 4, 4,172, 90,177, 98, 5,244,122, 61,198,142, 29,139,183,111,223,
+158,124,251,246,237,150, 58,117,234,204, 88,176, 96,129,189,189,189, 61, 6, 15, 30, 44, 34, 73,178,127, 69, 36,181,106,213, 90,
+251,251,239,191, 15,235,217,179, 39, 67,167,211,125,123,235,214, 45, 36, 38, 38, 66,171,213,130, 36, 73,188,127,255, 30,211,166,
+ 77,147, 22,207,110,124,111, 68,185,198, 44, 94,188,120,244,140, 25, 51,176,126,253,122, 44, 95,190,252,128,133,133,133, 79,179,
+102,205,154, 47, 95,190, 28,243,231,207,135,171,171, 43,172,173,173,191, 90,186,116,169,247,156, 57,115,176,109,219, 54, 44, 91,
+182,236, 0,128,253, 53,169, 8,138,162,136,117,235,214, 53,221,188,121,179, 99,137,200, 98, 48, 24, 56,113,226, 4, 94,188,120,
+209, 59, 46, 46,174,188, 99,118, 59, 56, 56, 76,112,116,116,228,222,184,113, 67,236,234,234, 10,146, 36,245,197, 34,107,123,157,
+ 58,117,166,190,127,255, 30, 61,123,246, 68, 92, 92,220, 97, 0, 35, 45, 44, 44, 20,115,230,204, 17, 10, 4, 2, 11,165, 82,249,
+119,117,222, 96, 50,136, 81,107, 86,206,199,211, 23, 49, 56,123,150,131,167, 79,159,194,222,222, 30, 60, 30, 15, 52, 77, 67,163,
+209, 32, 43, 43, 11,122,157, 6,141, 27,213,195,161,125,235,144,153,153, 5, 48,136, 10,135,220, 16, 12, 98,248,232, 31,250,225,
+222,253,107,216,181,235,119,200,229,138, 10, 94,190,249,104,224,233, 13,167,218,118, 72, 73, 77, 1,193,128,205, 95,121,174,255,
+225,174,195,210, 71, 16,140, 9,239, 80, 22,150,150,150, 91,142, 31, 63,110,221,161, 67, 7,166, 66,161, 0, 69, 81,104,231,231,
+135, 25,179,102,225,226,209,163,240,104, 61, 20,132, 86, 12, 82,104,220,172, 7,181, 74,137,134,205,191,193,160,193, 67,144,156,
+148,132,128, 94, 3,160, 86, 43, 75,223, 48, 74, 44, 90, 90,173, 14, 54,118, 46,184,126,253, 58, 19, 99,199,190,198,246,242,141,
+ 18, 6, 29,247,101,236,123,117,219, 60,213, 11,132, 61, 13,130, 78,163, 67,227,198, 75,161,163,172, 97,231, 60, 1,122,253,121,
+ 20,100,221, 42,114, 99, 88,119, 64,106,114, 50, 24, 76,206,171,154,214, 32,165,200,250,172,135,110,126,126,126,126,124,124,252,
+233,176,176,176,225,253,251,247,199,245,235,215,199, 3, 64,255,254,253, 17, 22, 22,134,248,248,248,211,249,249,249,249, 95,162,
+181, 29, 29, 29,251,180,111,223,126,104,203,150, 45, 17, 28, 28, 12,154,166,239, 25,117, 99,179,217, 52,131,193, 0, 69, 81, 32,
+ 0,228,228,229,225,237,219,183,200,201,206,134, 94,175,135, 66, 46,167,188, 61, 61,229, 52, 69,153, 85,167, 60,101,103, 24,162,
+156, 89,135, 37,235,106,112,170, 73, 79, 30, 61, 72, 46,148,203,109,173, 44,173, 10,185, 92,174, 65,150,151,151,255,250, 85,164,
+214,200,206,161, 4,209, 81, 81, 81, 62,105,105,105, 72, 78, 78, 6,169, 40, 4, 83,163, 5, 67,163, 68,167,111,218, 64, 0, 26,
+124, 80, 96, 83,122,176,153,108, 20, 22,205,206,171,210,221, 97, 40,243,146, 80, 34,178, 8,130, 40,114, 23,138, 68,224,138,205,
+ 62,176,112, 25,115, 61,241,120,188,163,167, 78,157,114,116,114,114,194,202,149, 43,225,236,236,252, 85,237,218,181,149, 22, 22,
+ 22, 2,123,123,123, 52,108,216, 16,223,124,243, 13,174, 92,185, 2, 35,234,128,164,105,186,235,189,123,247,230, 62,120,240, 96,
+144, 72, 36, 34,166, 79,159,206,234,222,189, 59,120, 60, 30,148, 74, 37,100, 50, 25,142, 29, 59,150, 77, 81, 84,201,164, 20,107,
+161, 80,184,159, 32,136, 4,133, 66, 49,235, 99,194, 67,191, 54,174,157,153, 75,141,165,229,194,126,254, 1,117, 27,119, 12,232,
+140,122, 30, 29,209, 49, 32, 25, 0,214,213, 98, 37, 14,253,101,177,229, 57, 75, 51, 98,255,245,171, 55,150,249,249,119, 92,188,
+ 80,126,123,213,250, 61,121, 85,142,167, 35, 8, 2, 20, 69,125, 16, 59,232,227,237, 35, 71,142,196,137, 19, 39,170,172, 71, 6,
+131, 49,100,226,196,137,156,143, 44,207,144, 72, 36,232,213,171, 23,250,247,239,255,129,208,178,177,177,129,131,131, 3, 18, 19,
+ 19, 1, 32,199,200,235,106,198,152, 49, 99, 8,149, 74,133,113,227,198, 97,239,222,189, 24, 58,116, 40,113,231,206,157, 25, 0,
+102, 85,247, 98,103, 48, 24, 27, 22, 44, 88, 48,119,218,180,105,200,205,205,197,229,203,151,209,189,123,119,156, 56,113,194,246,
+242,229,203,107, 58,116,232, 0, 38,147,137,224,224, 96,144, 36, 89,105,172, 47, 14,135,211,167,103,207,158,140,148,148, 20,112,
+ 56, 28,248,250,250, 34, 53, 53, 21, 74,165, 18, 18,137, 4, 51,103,206, 76,207,201,201,105,111,236,125,196,225,112,102,205,152,
+ 49, 3,199,143, 31, 71, 96, 96,224, 65, 0,227,242,243,243, 7, 61,120,240,224,120,223,190,125, 33,145, 72,112,238,220, 57, 44,
+ 91,182,140, 24, 57,114, 36,118,236,216,129,153, 51,103, 30, 40,182, 58, 85,116,225, 23,102,102,102, 90,212,175, 95, 31, 25, 25,
+ 25,144,203,229, 56,119,238,156,221,149, 43, 87,220,156,156,156,204,227,227,227, 13, 63,255,252, 51,119,214,172, 89,216,178,101,
+ 11,194,195,195, 17, 20, 20,132,142, 29, 59,146,113,113,113,229, 90,201,138, 67, 54,156,163,105,250,134, 72, 36, 66, 97, 97, 97,
+201,125, 55, 47, 48, 48,112,218,218,181, 69, 70,246,180,180, 52,140, 26, 53,106, 68, 72, 72, 8,213,161, 67, 7, 33,135,195,129,
+ 90,173, 86,252,157,189, 54,101,160, 0, 80,112,115, 17,227,218,197,125,120, 30, 17,135,231, 17, 81,224,242,138, 6,193,171, 84,
+ 74, 52,111,220, 0,173,125, 91, 33, 77, 42,193,225,160,125,168,101,227, 84,233,115,132,166,105,112, 88, 6,120,123, 58,224,104,
+208,239, 8,190, 28,130,160,195,199, 74,199,188,177, 88,108, 52,107,222, 26,190,190,126,136,139,127,143,125,251,118,193,214,206,
+197,228, 28,172, 33, 74, 93,135,101, 63, 63, 82,254, 29,253,252,252,152,114,185, 28,106,181, 26,233,233,233, 72, 76, 76,132,165,
+149, 37,226,210, 18,208, 94,168, 67, 58, 85,128,232,136, 87, 6,130,201, 14,175,234, 15,123,250, 55, 3,252,155, 97,234,152,161,
+149,188,178,210, 16,153,219, 20,185,110, 72,242, 29,182,109, 35, 43, 18, 90,164, 65,127,243,218,141, 91,173,198,140,236,195,190,
+126,107, 47,244, 90, 10, 42,189, 5, 20,106, 45, 20, 58, 54, 24, 22,221,129,236, 59, 96,178,120,248,186,105, 3,156, 59,123, 69,
+ 71,147,250, 16,163, 43,200,222, 7,100, 70, 84, 25,161,149,249,145,223,161,150,209,174,195,210,142,215, 96, 56,113,228,200,145,
+239,218,180,105, 35,236,208,161, 67,253,226,142, 83,119,228,200, 17,101,113, 48,204,234,226,131,104,240, 14, 14, 14,205, 57, 28,
+206,208,238,221,187, 55, 31, 61,122, 52, 94,191,126,141,195,135, 15,199, 54,104,208,224,182, 84, 90,241,140,108, 38,151,155, 35,
+207,204,180, 20,187,185,177,172,204,204,210,174, 92,190,236,218,185, 75, 23, 34, 57, 57, 25, 57, 57, 57, 80,171,213, 8,143,136,
+160,217, 76,102, 42, 97,110,206,136,121,241,130,193,228,114,115, 42,178, 54,150,131,196, 42,102, 29,174,173,169,117,203,197,209,
+170,254,178,192, 73,245,212, 26,181, 79, 65, 65, 1,201, 98,179,217,206, 14,150, 73, 49,239,141,127, 38,106, 52,154,224,155, 55,
+111,126,215,185,115,103, 94,236,203,112,144,249,249,208,230,203,192,161, 12,168,213,188, 41,152, 58, 13,160,213,195,201,155,134,
+ 58, 79,136, 59,143, 99,244, 26,141,166,202,160,134, 37, 66,139,241,145, 48,224,138,197,224,153,153,131, 39, 22,127, 44, 24,170,
+122,147, 19,118,237,218,181,211,215, 95,127, 13,154,166,177,103,207, 30,232,116, 58,174, 78,167,131, 86,171,133, 78,167, 67, 65,
+ 65, 1,130,130,130,176,115,231,206, 7, 0, 14, 24,113,250,164, 64, 32,232, 75, 16,132, 29,139,197, 82,218,218,218,138, 78,156,
+ 56, 81, 26,110,162, 89,179,102, 48, 51, 51,227,160, 56, 40,164,157,157, 29,251,143, 63,254,176,236,221,187,247,221,114,221, 29,
+141,191,154, 95,143,180,242,231, 11,234,186,153,219, 52, 65, 61,143,142, 0,128, 46,189,198,160, 94,131, 58, 40,200,126,233,166,
+ 86, 37,246,227,176,100, 86,175,182, 73, 94, 11,122,250,140, 86,100,134,190, 69,249,211,251,203,237, 40, 24, 12, 70,133,238, 88,
+ 99, 68, 86,145,102, 97,216,150,140,243, 1,128,156,156, 28, 72,165, 82, 68, 71, 71,195,203,203, 11,185,185,185,112,114,114,130,
+ 86,171, 69,203,150, 45,161, 82,169,176,121,243,102,220,191,127,255, 1,128,153, 70,252,135,192,195,195, 99, 84,243,230,205,113,
+249,242,101, 60,125,250, 84,114,237,218, 53, 39, 63, 63, 63,184,185,185,141, 78, 72, 72,248,177,216,213,103, 44, 68,126,126,126,
+211,167, 77,155,134,168,168, 40, 76,154, 52, 41, 39, 37, 37,229,220,201,147, 39,199, 45, 91,182,140, 17, 16, 16, 0,169, 84,138,
+ 13, 27, 54, 24,238,223,191,191, 17,192,202, 42,234,241, 77, 74, 74,138,179, 90,173, 70,110,110, 46, 72,146,132, 82,169,196,149,
+ 43, 87, 16, 20, 20,148, 81, 44,178,222, 25, 91,184,166, 77,155, 54,100, 48, 24, 56,126,252, 56, 0, 44, 65, 81,196,254,115,253,
+250,245,147,252,252,243,207, 78,139, 22, 45,194,248,241,227,161,211,233,176,126,253,122, 44, 90,180,232, 82,177,200,170,236, 33,
+250,171,131,131,195,132, 73,147, 38,125, 53,103,206, 28,132,133,133,217, 61,123,246,204, 55, 60, 60, 28, 46, 46, 46,200,201,201,
+ 97, 89, 91, 91, 99,203,150, 45,152, 61,123,246, 25, 0,217, 15, 31, 62, 28, 18, 31, 31,191, 22,192,134, 42, 68,251,110, 39, 39,
+167, 9, 52, 77,211, 74,165, 50, 49, 48, 48,112,195,234,213,171, 49,123,246,108,188,122,245, 10,249,249,249, 48, 51, 51, 35, 22,
+ 44, 88, 48,106,201,146, 37, 24, 59,118, 44,173, 80, 40,118,254,221, 29, 53, 77, 27,160,148, 69,193,160,177, 66,179,198, 94,104,
+230, 83, 23,215,110, 61, 7, 0,116, 26,224, 7,165,162, 16, 7, 15,238,193,187,119,111,193, 98,179, 97, 89,203,193, 24, 75, 32,
+180, 5,111,144,167,147,162,115, 7, 95,116, 15,104,143, 3,135, 78,128,212,235, 48,110,204, 48,200,242,242,112,232,208, 62,196,
+197,191, 7,139,205,134,181,205, 95, 31, 8,181, 50, 45,242, 31, 47,180,140,112, 63,129,162, 40, 72, 36, 18, 60,123,246, 12, 9,
+ 9, 9, 16, 10,133, 80,145, 6,106,215,205,251, 20, 65,112, 82, 41,154,126, 64,147,165, 81,138, 63,229, 48, 24, 36,101, 34,214,
+ 90, 88, 89, 89,113, 53, 26, 21, 72, 82, 95,166, 87, 33, 0, 2,224,176, 0,199,218,245,144,146,156, 66,171,213,234,208, 74,223,
+160, 52,234, 45, 23,206,157,154,246, 77, 91, 63,155,238,157, 86,224,220,249,165,144, 21, 20, 64,173, 99, 67,161,214, 65,169, 6,
+ 44,107,121,162,101,227, 38, 72, 75,203,193,203,167,119,228, 44,141,210,152,129,162,111,183, 47, 30,227, 49,102,234,124, 8, 92,
+219, 66, 19,125, 14,148, 60,163,212,162,197, 23, 91,161, 86, 29,111,228, 41, 52, 56, 21,242, 28,168, 70,170,151,204,204, 76, 37,
+147,201, 60, 50,109,218,180,245,207,159, 63,115, 6,128,231,207,159,167, 74,165,210,133,153,153,153,213,181, 73,151, 68,131, 39,
+248,124,193,243, 6, 13, 26,164,249,250,250, 90,244,235,215, 15, 54, 54, 54, 8, 15, 15,199,218,181,107,223,232,116,186,249,119,
+238,220,169,212,213,163,213,106, 37,207,207,159, 55,111,255,195, 15,150,243,123,247,222, 48,109,218,180, 45, 43, 87,174,100,123,
+120,120, 16,122,157, 14,145,145,145,244,209, 35, 71,244, 59, 23, 45,218,204, 21,137, 88, 79, 46, 92, 96,147, 26,141,228,159,190,
+136,157,156,156,252,253,190,109,231,189,241,215,109, 80,171,228,120, 28,118, 9, 50, 89, 22,126,223,115,214,219,201,137,246,151,
+ 72, 36,119,140, 21,192,251,247,239,159,219,186,121,243,230,238, 46, 46,136, 76, 74, 0,151, 50,128, 67,146, 96,234, 52, 96,144,
+106,184,248,208, 32, 24,102,144,166, 23, 96,245,241,211, 81,198, 8,227,175,122,244,193,202,212,124, 16, 4,129, 77,109,124,192,
+ 53, 19,131, 35, 18, 99,202,159,183, 74,133, 65,240,202, 69,224,138,197,168,223,218,168,128,240,202,219,183,111, 63,139,140,140,
+108,233,227,227,131,185,115,231, 34, 49, 49, 17, 20, 69, 33, 35, 35, 67, 45,149, 74, 37, 89, 89, 89,137, 40,138,255,179,183,138,
+ 78,172,172,234,112,186,115,231, 78,169,187, 33, 36, 36, 4,181,107,215,134,133,133, 5, 10, 10, 10, 48,113,226, 68,203,159,126,
+250, 9, 0,240,236,217, 51,148, 21, 40, 31, 35,242,121,244,198,188, 66, 90, 70,203, 95,244,203, 37, 95, 52,238, 24,144,130, 46,
+189, 70,227, 70,240, 1,220,186,118, 19,181, 88,137, 9, 16, 21, 94,201, 78,200, 46, 72, 85,120,236,246,110, 49,142, 41, 85, 92,
+219, 61,189, 79, 44,211,209,145, 58,181,104, 87, 65, 94,101,101,245,240,240,128,189,189,125,233, 24, 45, 22,139,133,177, 99,199,
+130,166,105, 99, 69, 86,113, 95, 67,101,169,213,106,123, 62,159,143,244,244,116,188,127,255, 30,113,113,113,165,161, 3, 40,138,
+210,207,155, 55,143, 61,125,250,116,236,218,181, 11,161,161,161, 15, 0,172, 0, 96,236,203,218,176,193,131, 7,155,105,181, 90,
+ 28, 59,118,140, 4,208,235,212,169, 83,207, 90,182,108,201,234,214,173,155,217,142, 29, 59,134, 21,183,145,209, 66,203,220,220,
+156,163,211,233,176, 99,199, 14,164,164,164,248, 3,136,126,242,228,201,238,193,131, 7,239,244,241,241,105, 16, 21, 21,245, 86,
+ 46,151, 79, 1,240,178, 42,178,140,140,140, 49,190,190,190,167, 40,138,114,237,220,185,179,232,215, 95,127, 53,143,137,137,129,
+179,179, 51, 40,138,138, 68, 53, 83, 88,189,125,251, 54, 90, 42,149,122,183,111,223, 30, 87,174, 92, 89,103, 48, 24,214, 0, 88,
+ 63,121,242,100,167,164,164, 36, 52,111,222, 28,181,106,213, 66, 76, 76, 76,161, 84, 42,221,137,162,148, 68, 85,153,112,227, 1,
+ 44,220,189,123,119,147,221,187,119, 15,173, 85,171,214,215,225,225,225,184,119,239, 30, 54,110,220,136,159,126,250, 9,237,218,
+181,195,220,185,115,179, 1, 12, 5, 64,198,199,199, 27, 21, 55,175,196,178, 5, 0, 45, 90,180, 72, 91,187,118, 45,198,141, 27,
+ 71,255,241,199, 31, 91,143, 28, 57, 50,107,216,176, 97,165,125,224,168, 81,163,232,195,135, 15,143, 66, 81, 26,166,191, 19,122,
+157, 78, 11,243, 90,245, 32,207, 75, 70, 86, 74, 24,132,102, 14, 8,232,216, 20, 74,149, 22, 23, 47,156,193,203,200, 8, 48, 24,
+ 12,216, 59,184,192,210,202, 6,177,177,111,129,202,103, 27,235,117, 58, 29,204,172,234, 66,158,159, 2,109,230,115, 8,196,118,
+ 24,253, 67, 63, 40, 85, 58,156, 61,119, 6, 81, 81, 47,193,100, 50,225,224,232, 2, 11,203, 34, 78,130,174,124, 6,179, 9, 0,
+202,137,167, 85,165,208, 98, 50,153,183,175, 94,189, 58,176,117,235,214,172,119,239,222,225,221,187,162,151, 27,153, 76, 70, 18,
+ 48,156,206,140,188,240,125, 37,135,119, 70,241,236,140,178,185, 11,197,102,102,146,152, 55,209,246,178,220, 12, 68,188,184,143,
+119,177,145, 72,136,139,134, 78,167, 6,147,193, 0,131,201, 64,221,122,141,112,255, 65,152, 86, 77,146, 97, 21,113, 22,149, 35,
+174, 80,100,231, 49,100,213,202, 31,131,103,207, 95, 46, 24, 52,112, 23, 94,198,188,134,156,116, 0, 77, 3, 14,214, 34, 52,115,
+ 95, 0, 73, 90, 22,142, 31,216,161,164,116,186,225, 31,197,208,250,132, 19, 0,236,179,209,112,231,158, 3, 99,247, 6, 29, 93,
+ 62,127,250, 68,251,190,253,135,131,155,251, 26,250,180,231,168,215,178, 59, 8,158, 37, 46, 95,191,133, 59,207, 94,103, 80, 6,
+122,185,125, 14,254,136,173,130,179, 44,242,242,242, 30,166,167, 75,157,203, 68,129,119,230,241,248, 85,205,142,251,152,243,131,
+136,243, 76, 38,163,197,170, 85,171,244,246,246,246,186,168,168, 40,236,218,181,139,122,254,252,249,117, 6,131,177, 93, 42,149,
+170,171,226,180,213,235, 35,142, 6, 6, 54,108,213,191, 63,253,253,244,233, 74,240,120, 51, 54,108,218, 20,152, 37,147,213,166,
+ 41, 10,182,181,106,165,110, 88,180,104,237,192,193,131,101,175,238,223, 23,132,157, 63, 47,224,146,228,115, 35,202,249, 37, 80,
+ 33,167, 68, 34,185, 19, 26,122, 15, 7,247,254, 10,157, 78, 3,169, 36, 9, 0,144,157,147,143, 42, 68,214,199,156,180, 82,169,
+236,191,228,167,159, 30, 45,153, 61,203,225,219, 78,157,145, 28, 17, 14, 93,110, 22, 8, 61, 9, 54,193,130, 34, 83,136,204, 12,
+ 57, 22, 30, 62,153, 41, 87, 42,251,151,211, 73,148, 91,206, 18,139, 21,207,220, 12, 28,145, 24, 92,177,217, 7, 86, 44,190,185,
+ 57,184, 34, 49, 88, 92,110,121, 3,184, 63,225,148,203,229, 3, 6, 14, 28,248,242,201,147, 39, 86,227,198,141,195, 55,223,124,
+243, 66,165, 82,117, 0, 80, 88,211,250,164, 40, 74,242,237,183,223, 50, 8,130, 16, 15, 31, 62,156,151,149,149, 85, 26, 89, 93,
+ 46,151,227,202,149, 43,240,242, 42,154,213,255,234,213, 43, 52,106,212,168, 66,206,241, 11,163, 36, 0, 86,206, 30,232,180,225,
+ 81,132,116, 6,128,117,245, 26,184,224,214,181,155,184,119, 43, 44,240,107, 31,106, 91,143,225, 45,127, 22,118, 24, 60,223,187,
+197, 56,166,216,220, 17,135,206,158, 97, 70, 63,223,183, 90,169,140,172,143, 93,231,230, 85, 84, 78,130, 32, 64,211,244, 39,161,
+ 28,152, 76, 38,142, 28, 57, 82,221,115, 63,185,119,239,222,201,147, 38, 77,226, 72,165, 82,188,121,243, 6, 10,133, 2,124, 62,
+ 31,215,174, 93, 35, 1,236, 56,114,228,200,181, 35, 71,142,116, 67,209,108,162,144,234, 92,159, 34,145,104, 90, 64, 64, 0,222,
+188,121,131,167, 79,159,158, 1,240,242,197,139, 23,103,222,189,123, 55,164, 93,187,118, 56,112,224,192, 52,149, 74,181,183, 58,
+156, 20, 69,149,141,153, 84,146,241, 33, 66, 46,151,127, 29, 22, 22, 86,221,118,151,230,228,228,180, 45, 22,214, 41,246,246,246,
+230, 17, 17, 17,168, 83,167, 14,116, 58, 93,235,234, 94, 75,249,249,249,191,110,223,190,253,143, 49, 99,198,224,231,159,127, 30,
+126,242,228,201,225, 61,122,244, 64,207,158, 61,177,127,255,126,188,124,249,114, 29,140, 75, 43, 86,222,185,191, 4,240,210,222,
+222,126,170,139,139, 11, 54,110,220,136,200,200,200,181, 43, 87,174, 92,244,242,229, 75,120,121,121,241,162,163,163,201,154, 60,
+ 67, 0,192,220,220,220, 92,175,215,227,252,249,243,143, 1,204, 30, 62,124,184,221,150, 45, 91,134,138,197, 98,228,230,230,170,
+162,162,162,134, 1,184,240,119, 63,235,104,130, 88, 60,110,252,140,221,227,199, 13,227,251,182,104, 6,101, 65, 42, 84,242, 12,
+ 40, 11,211,177,125,239,117, 16, 4, 3,182,182,142,176,115,112, 70, 82, 82, 50, 30, 92,186,172, 85, 40, 85, 91,184,122,106, 93,
+229,156,211,139, 56,155, 23,113, 42, 21,153, 80,201, 51, 75, 57,237,236,106, 23,115, 38,225,126,216,101,181, 74,161,248, 85, 75,
+ 19,191,252,197,231,254,159,140,234,229, 58, 44, 11,153, 76, 54,115,226,196,137, 29, 22, 46, 92,104, 77,146, 36,179, 86,173, 90,
+ 72, 74, 74, 34, 79,159, 62,157, 43,151,203,103,214,164, 52, 44, 54,251,165,135,167, 87,135,190,125,251,146,125,250,244,230,140,
+ 24,211,141,101,107,103,135,252,188, 28,196,190, 9, 71,204,235,231,240,240,106,138,101, 43, 55, 3,150,150, 85, 38,146, 44, 78,
+171,211,107,197,146,121, 39,218,250,119, 53,247,106,212,148,211,172,190, 5,116,122, 18,169,169,169,184,112, 62, 66, 23,245,236,
+ 94, 1, 69,106,135, 40,179,141, 75,193,115, 7, 32,145,131,223,125,236,116, 71,214,108,216, 62,119,199,239, 7,231, 47,156, 49,
+ 78,212,206,175, 11, 34,111, 30,192,153,224, 19, 10,181, 70,187,129,195,196,166,168, 28, 40, 99,171, 89, 7,106,181, 90,247,113,
+127,170, 86,171,117,159,219,210,251,247,239, 71, 70, 70,134, 54, 49, 49,241, 42, 73,146, 39, 43, 73,246,252, 9,182, 3,218,126,
+ 26,205,205, 37,126,126,221,150, 92,187,198, 31,181, 96,129,118,248,136, 17,243,160,209,232,192,229,210, 44,145,136, 1, 30,143,
+253,234,254,125,193,214,201,147,107, 17, 90,237,141,131,149,132, 13, 40, 7, 95,124,214, 97,137, 69,171,125,251,118, 24, 53,110,
+ 54, 84,101, 44, 90, 15,159,198, 66,163,131,209, 22,173, 98, 36, 39,166,164,124, 61, 99,241,146,179, 67, 2, 58,121,251,184,214,
+229,217,186,213,133,216,193, 1, 57, 89, 89,184,255, 52, 70,191,242,196,217,168, 98,145,101, 84, 92, 25,138,162,138, 6,185, 3,
+232, 52,115, 33, 8, 38, 19, 40, 14,227, 80, 50,115,200,173,229, 55, 32, 88, 44, 24,104, 10, 26,141,198,152, 65,127,169,239,223,
+191, 31, 48,124,248,240,144,224,224, 96, 70, 64, 64, 64,179,115,231,206, 81,159,115,237,168, 84,170,175, 1,128,207,231, 39, 88,
+ 90, 90, 58,141, 25, 51, 6,122,189, 30, 74,165, 18,249,249,249, 72, 77, 77,205, 27, 51,102,140, 14, 0, 4, 2, 1,119,224,192,
+129,230, 85,113,110, 62, 45, 81,207, 30,232,180,173, 22, 43,113,104, 65,246, 75,183, 90,172,196,132,175,125,168,109,155, 79, 75,
+212,230,181, 21,171,178, 19,239,196, 74, 21,215,118, 31, 58,123,134, 57,178,223, 0,131,179,248,109, 32,223,142, 62, 93, 21, 47,
+ 65, 16,159, 4, 39, 53, 82,100,125,128,194,194,194, 69, 75,151, 46,237, 41,147,201,156,187,117,235,198,241,246,246,198,163, 71,
+143, 16, 28, 28, 76, 62,124,248, 48, 69,161, 80,252, 8, 64, 13,224,122, 77,234,212,211,211,211,141,197, 98,149,184,210,126, 43,
+ 94,253,219,185,115,231,134,140, 27, 55, 14,117,235,214,109, 24, 29, 29,205, 67, 53,238, 35,154,166, 75,189, 12, 95, 18, 4, 65,
+196,109,221,186,213,201,193,193,129,184,114,229, 10,201,100, 50,107, 98,185,217,191,111,223,190,214,122,189,126,252,132, 9, 19,
+224,239,239, 15,146, 36,113,248,240, 97,236,219,183,207, 88,145, 85, 41, 98, 99, 99,159,167,164,164,124, 59,111,222, 60,108,220,
+184,113,209,188,121,243,144,146,146,130,216,216,216,240,207,225, 45, 40, 40, 80, 37, 39, 39, 11,219,180,105,227, 27, 21, 21, 21,
+213,161, 67,135, 70,227,198,141,195,186,117,235,232,208,208,208,129, 0,174,252, 19,189,119,204,187,220, 32,182,129,117,109,229,
+170, 95,127,170,239,238, 54,105,236,232,193, 76, 79,143, 70, 80,228,167,194,218,198, 30,206, 46,245,144,149,153,141,171, 87,175,
+ 24,178,179,243,246, 27, 24,196,138,119,239,114,211, 62,135,211,201,185, 30, 50, 51, 51,113,249,242,101, 67,158,172, 96, 15,244,
+140,149,209, 73,121, 25, 48,193, 24, 75,214, 4, 84, 18, 37,190, 50,216, 88, 89, 89, 29, 51, 55, 55,207, 48, 55, 55,207,176,178,
+178, 58, 6, 24, 53,251,160,115,153,167, 3,243,131,101,224, 64, 62,248,252,175,193, 98,205,177,180,178,186, 98, 97, 97,145,211,
+190,125,123,237,238,221,187,213,209,209,175, 40,137, 36,133,182,176,176,200, 47,221,191, 60,206,143, 96,101,229,110, 38,114,108,
+244,147,133,115,179,251, 98,199,134,133, 98,199,134,133, 22,206, 77, 31,136, 28, 27, 46,183,178,114, 55, 51,170,156, 21,160,158,
+ 29,108, 61,108,176,195,203,150, 80,121,216, 96, 71, 61, 59,216, 26,125,238,149,187,253, 12, 4, 1, 3,138,166, 97,163, 6,156,
+ 37, 28, 20,147,201, 60,232,236,236,236,136,234, 5,172,251,132,115, 4, 80,119, 4,143, 55,254, 84, 96,224,168,132,208,208,225,
+ 5,241,241,223,231,199,197, 13, 14, 63,113, 98,200,111, 67,134,140,248,158,199,155, 48, 16,112, 55,150,211,209,209,113,237,243,
+231,207,131,141, 93,202, 8, 47,163,235,211,189,158,211,181,128,206,173,233,105, 19,251,211,211, 38,246,167, 3, 58,183,166,221,
+235, 57, 93,251,140, 54, 34,152, 76,230, 80,161, 80,120, 76, 36, 20, 70,138,132,194, 72,161, 80,120,140,201,100, 14, 69,229, 99,
+168, 62,224,180,182,182,126,102,111,111,159, 81,157,197,198,198,230, 69, 53,202,249,189,155,155, 91, 10,131,193,216, 92,205,123,
+186, 50, 78, 15,129, 64, 16, 39, 18,137, 82,203, 46, 2,129,160,108, 96, 40,107,161, 80,120, 81, 36, 18,109, 49,134,243,151,197,
+141,126,122,112,125,234,203, 95, 22, 55,250,233,227,109,211,191,179, 26,243, 40,100, 69,206,244,239,172,198, 24, 83, 78, 59, 59,
+187, 80, 59, 59, 59,169,157,157,157,212,222,222,190,210,197,198,198,230,153, 17,156,124, 51, 51,179, 45,102,102,102, 25, 34,145,
+200, 32, 22,139, 51, 68, 34,209,102,148, 9,109, 81,211,250,100, 48, 24,235, 26, 54,108,168,102, 50,153,127,124,180,105, 99,253,
+250,245,213, 44, 22,107, 67, 53, 57,205,219,181,107,103,136,136,136,160,253,253,253,105, 0, 86, 95,176,221, 29,172,172,172,174,
+152,155,155, 39,155,153,153,109, 7, 32,170, 33, 39, 1, 96,168,147,147, 83,120,199,142, 29,149, 78, 78, 78, 97, 0,250,126,193,
+114,246,252,238,187,239,168,228,228,100,154,166,105, 58, 57, 57,153,254,238,187,239, 40, 20, 5,138,252,156,103,242,226,201,147,
+ 39,211, 15, 31, 62,164, 31, 62,124, 72,135,133,133,209, 61,123,246,164, 0,252,240,153,207,121,124,169,115,247,174,103,227,254,
+ 85, 3,171,147,195, 6,248, 81,215, 47,108,166,151,253, 56,137,238,226,223,136,246,170,111,117,214,195,195,218,227, 75,112,254,
+244,227, 68,186,243,183, 13, 41,111,119,171, 19,222,245,108,220,255,230,115,255,175,178,106,149,188, 72,255,213, 3,206,254,223,
+180,248,161, 88, 42, 31,181,107,215, 70, 78, 78,107, 62,139,229,199,227,241, 58, 48,152,204,219,185, 89, 89,179,138, 95,183, 12,
+127,151,169,182,210, 14,221, 29,220, 74, 82, 18,212,132,243,131,129,236, 53,228,172, 14,135, 81,156, 21, 37,149,166, 52,154, 52,
+107,146,124,182, 29,149,214,193, 7,156, 78, 78, 78,227, 41,138,114, 51,182, 64, 12, 6, 35, 65, 34,145,236,173, 73,125, 54,104,
+208,128, 46,118,111, 19, 95,178,221,255,138,107,233,127,137,243,208,175,141,107,123, 53,254,106,126,228,243,232,141,197,110,197,
+ 82, 44,159,110,101,230,215,177,253,210,251,183, 66,127, 94,190, 93, 86,248, 15,159, 59, 3, 70,142,105,251, 2,156, 37, 65, 66,
+171,197,201,102,179,119,183,106,213,106,252,163, 71,143,254, 48, 24, 12, 19,254, 71,175,207,158, 76, 38,115,158,167,167,103,179,
+216,216,216,112,131,193,176, 17,229, 4,138,172, 65, 57,127,116,115,115,155,194,225,112,120,114,185, 92,150,150,150,182, 20,192,
+201,127, 91,125,122, 55,168,229, 75,211,165, 65,183, 87,191,121,159,251,228,139,113,210,148,129,162,153,171, 98,227,115, 94,252,
+ 3,237,254, 95, 35,178,138,133,214,158,191,227,143, 59,155, 56, 77,156, 38, 78, 19,167,137,243,139,115, 10, 76,245,105,226,252,
+ 47,228,252,175, 66,137, 69,139,101,170, 10, 19, 76, 48,193,132,255, 56,168, 76, 85, 96,130, 9,255, 58,148,181,106,149, 90,179,
+136, 74, 84,105,117, 76,130, 53, 81,182, 55, 77,156, 38, 78, 19,167,137,211,196,105,226, 52,113,254,207,113,254,183,138,172,178,
+174,194, 9, 38,215,161,137,211,196,105,226, 52,113,154, 56, 77,156, 38,206,127, 19,231,127,186,208,194, 71, 66,203,228, 58, 52,
+225,239,193,182,126,112, 2,128, 25,231, 32,249, 43,246, 55,193, 4, 19, 76, 48,193,132,127, 24,123, 80,129,235,240,223, 32,180,
+106, 3,248, 26, 69,137,111, 99, 0,220, 3, 32,251, 12, 62, 27, 0,131, 9,130, 24, 4, 0, 52, 77,159, 66,209,172,145,108, 99,
+ 14,230,243,249, 25,106,181,218,174,248,123,166, 90,173, 46,155,203,128,192,167,179,217,232, 50, 75,185,112,115,115,203,208,104,
+ 52,118, 70,252,125, 62, 77,211, 47, 25, 12, 70,164, 88, 44,190, 21, 27, 27, 27, 92,157, 19,239,208,161,195, 40, 38,147,185, 26,
+ 0, 12, 6,195,226,219,183,111, 31,252, 11,219,173,181, 75,109,132,110,109,220, 0, 0, 32, 0, 73, 68, 65, 84,135, 3, 58,189,
+142,204,200,202, 93,138, 79, 3,249, 1, 0,118,244,194, 90,130,196,252,226,239, 27,166, 6, 87, 30, 71,167,186,251, 87, 2, 95,
+ 54,155, 61,205,222,222,190,123,106,106,234, 51, 0, 11,128,170,163, 26,187,184,184,252,192, 98,177,134, 27, 12, 6,119, 38,147,
+ 25, 71,146,228,145,148,148,148, 32,211, 51,196, 4, 19, 76, 48,193, 4, 35,196,214, 39,168,150,208,242,178,134, 3, 13, 12, 5,
+129, 46,160,113,131, 0,142,199,228, 32,221,216,227,123,120, 65,175, 39,139,254,147,195,128,225,202,123,198,158,238,221,187, 59,
+ 79,159, 62, 29,223,124,243, 13, 30, 61,122,212,102,255,254,253, 99, 78,158, 60,249,146,162,168,219, 0, 30, 1, 70,133, 82, 16,
+161, 40, 78,203,176,238,221,187,119, 94,189,122, 53,179, 81,163, 70, 80,169, 84, 8, 13, 13,245,219,176, 97,195,150, 7, 15, 30,
+220, 4,112,180, 88, 16, 84,152, 0, 79,173, 86,219,149, 36,227, 36, 8,194,110,224,192,129, 79,202,138,171,226,252,106, 4, 77,
+211, 15, 9,130, 8, 51, 24, 12,143, 78,159, 62,157,226, 5,180,158,232,198, 57, 61, 43, 65,231,252, 49,167, 70,163,177, 59,255,
+203, 26,176,120, 60,104, 10, 11,208,102,244,255,139,222, 27, 63,205, 7, 65,145, 96,130,150,117, 88,181,229, 37,128,200,180,180,
+180,151,254,254,254, 9,213,109, 97, 38,147,185,250,234,213,171,142, 52, 77, 35, 32, 32, 96, 53,128,191, 74,104,241,190,246,109,
+122,251,226,153, 99,124,121,110, 6,186,245, 29,114,228,109, 74,230, 40, 0,103, 62, 16, 77,221, 97, 79, 16,152, 63,121,205, 81,
+ 38, 0,236,252,113,216,130,205, 93,177,109,246,117,164, 3,232, 80, 44,126, 0,224, 23, 0,183,119,116,135, 61,128,133,147,215,
+ 28, 37, 0, 96,215,143,195,230,239,232,142,173, 83,175, 84, 59,108,197,148, 81,163, 70,109, 91,189,122, 53,211,209,209, 17, 18,
+137,164, 91,195,134, 13, 61, 11, 10, 10, 26,162,146, 65,196,117,235,214, 61,209,174, 99,239,122,253, 7, 13, 21,218,218, 88, 33,
+ 77,154,109,126,226,216, 31, 19,153, 15, 67,187, 39, 38, 38, 14, 49, 61, 67, 76, 48,193, 4, 19, 76,168, 0, 53,143, 12,223,220,
+ 17, 2,133, 14,223,177,152,196, 15,109,125, 27,118,250,190, 71, 59, 70, 67,239, 6,120,253, 42,186,235,133, 91,143, 55, 48,194,
+ 94,133,144, 6, 58, 72,196,193,249, 23,210,202,103,194,232, 73,176,174,159, 63, 90,212, 19,142, 25,198,124,242,228, 73,131, 22,
+ 45, 90,148,166,134,233,212,169, 19, 58,117,234, 68,236,220,185,179,233,245,235,215,155,238,219,183, 79, 23, 18, 18,114, 0,149,
+199, 71,153, 86,191,126,253, 13,219,182,109,227,249,251,251,131,199,227,149,110, 16,139,197,232,221,187, 55,122,247,238,205, 76,
+ 75, 75, 11,184,120,241, 98,192, 47,191,252,162, 77, 74, 74,154,135,255,143,210, 92, 41,150, 46, 93,234, 91,206,234,171, 4, 65,
+188, 39, 73, 50,188,105,211,166, 41,158, 64,131,137, 61,190,185, 49,165,173,135,104,214,162,253,229,242,176,184, 92, 28, 26, 85,
+212, 87,151, 21, 90, 9,183,174, 64,108,110,150, 35, 52, 51,123, 9, 32, 18,192, 75,154,166, 35,227,226,226,162,191, 2,154,126,
+109,197, 56,240,135,140,106, 82, 13,177,133,148,148, 20, 88, 88, 88, 8,252,253,253,165, 4, 65, 44, 15, 13, 13,253,210, 3,242,
+ 90, 47,159, 63,133, 35, 75,124,137,244, 55, 15, 49,103,144,159,112,214,246, 63,127, 86,107,245,103, 42, 59,136, 32, 24,140, 95,
+194,168, 64, 20, 37,227, 93,154,147,147,227, 15, 0,214,214,214, 92, 0,183, 55, 63, 70,143,217,109,137,207,137,237,198, 97, 50,
+153, 59,246,239,223, 63,238,135, 31,126, 40, 74, 29,113,255, 62,196, 98, 49, 86,174, 92, 89,119,238,220,185,107, 73,146,156, 89,
+145, 37,171, 93,199,222,245,182,110,252,185, 97, 97,110,190,230,247, 29, 39,159,214,246,241, 98, 76,158, 54,215,108,171, 78,227,
+ 96, 48, 24,126, 48, 89,182, 76, 48,193, 4, 19, 76,168,142, 53,171, 74,161,229,105,131,131,205,125, 60, 6,127,223,211,143,215,
+216,167, 17, 56,188,255, 15,221,210,194,215, 23, 45,124,125, 25,129,242,194, 46, 79,158, 62,239,114,250,250, 35,141, 82,159,116,
+ 50, 54, 27,163,140, 45, 85, 73, 82,218,213,125,237, 59, 42,242, 50,249, 0, 32,178,180, 83,255,120, 62,253, 86,219,182,109,225,
+236,236,204, 9, 9, 9, 25, 91,133,208,250, 49, 38, 38,134,199,100, 86, 30, 15,181,118,237,218, 24, 56,112, 32,188,188,188,184,
+237,219,183,255,177, 34,161,197,231,243, 51, 9,130,176, 3,128, 90,181,106, 25,150, 47, 95, 30, 78, 23, 1, 0,104,154,166, 31,
+ 50, 24,140, 71, 20, 69, 61,254,243,207, 63, 83, 27, 2,118,221, 90,120,221,155, 50, 98,160,144, 62,189,165, 66,145,160, 46, 40,
+ 40,119,189, 80, 44,202, 18,136, 68, 47,121, 66,126, 36,138,114,121, 69, 58, 59, 59, 71, 55, 4,156, 91,121,185, 93,223, 57,123,
+152,217, 31, 19,126,174,178, 46,155, 55,111,238,217,164, 73, 19,190,193, 96,128, 66,161,192,174, 93,187, 44, 4, 2,129, 69,247,
+238,221,151,149,189, 0,188,129,198, 3,106, 51, 39,172, 72, 51, 76,173,193,133,100,217,174,141,111,226,192,222,221,205,125,191,
+110,135,183,183, 15, 35, 55,183, 16,249,121,114, 80, 20,245, 73, 92,159,169, 87,144,177,163, 23, 54,236, 92, 52,108, 33,193, 96,
+ 16, 77,251, 45, 64, 31,135,252, 25,187,119,239,126, 5,128,205,229,114,203, 94,135,181, 5, 78, 62, 27, 26,116,109,135, 93,139,
+ 71,128,166, 40, 26,192,134,106, 88,179,236,204,204,204, 46, 92,191,126,189,117,203,150, 45,241,232,209, 35,196,199,199, 99,202,
+148, 41,218,169, 83,167,114, 70,142, 28, 73,204,153, 51,103,250, 47,191,252,114, 26,192,131, 79,110, 4, 22,107,120,223,254, 67,
+184,242,188, 2,181, 86,163,211,214,178,177,164, 52, 10,181, 50, 91, 86,160, 30, 50,108,188,246,213,139,199,195, 1,124, 34,180,
+ 62,179, 62, 77, 48,193, 4, 19, 76, 48, 2, 52, 77,183, 4, 96, 11, 32,139, 32,136,167,101,127, 23,239, 82,146,173,229,227,223,
+217, 40,242, 74, 89,151,161,203, 70,209,112, 31, 91, 0, 6, 0, 79, 8,130,144,125,102, 17, 43, 79,189, 19, 28, 28, 76,151,253,
+ 44, 35,180,104,154,166,105,125,206,123, 90, 19,123,133, 86, 62,221,251,201,162,122,117,134,150, 62, 57, 73, 63, 62,250, 19,237,
+105, 83,121, 22,246, 30, 94,208, 15,107, 2,122,114, 75,208, 51,219, 91,170,159, 60,121, 18, 66, 81, 84,112, 96, 59,208,244,235,
+163, 52,253,250, 40, 61,187, 13,232,211,167, 79, 95, 93,187,118,109,112, 80, 80, 80, 48,128,170,198, 41,101, 20, 62, 13,163, 31,
+219,129,174, 8, 49, 49, 49,244,238,221,187,233, 69,139, 22,209,127,252,241, 7,141, 42, 34,168, 7, 4, 4,132, 70, 69, 69,209,
+ 35, 71,142, 12, 71, 37,129, 1,189, 1,209,240,186, 14,111, 52, 39,182,232,180, 63, 52,166,101,223,242,203, 61,127, 71, 71,199,
+ 15,202,179,206,195,129,254,173,149, 7,125,176, 75,139,116,154,166,175,210, 52,189,142,166,233, 33, 52, 77,123, 1, 64,115,192,
+188,175,163,245, 59,245,201,173, 42,237,132,175,171,204,123,215,188,121,115,207,121,243,230,229,106,181, 90, 58, 33, 33,129,254,
+253,247,223,233, 27, 55,110,208,231,207,159,167,253,252,252,210,202,148,215,126,140,151,107,134,118,223, 10, 77, 77,174, 34, 54,
+147,249,219,211, 27,167,233,119,247, 78,209, 79,142,175,165,143, 44,249,158,158,222,183,181,206, 92,192, 83, 3,232, 88,209,113,
+ 83,219,162,129, 87, 93,219,216,164,164, 36, 90,167,211,209,163, 71,143,166, 3, 2, 2,232,174, 93,187,210,157, 59,119,166, 59,
+117,234, 68,119,236,216,145,190,117,235, 22,157,150,150, 70,119,110,215, 66,209,203, 27,190,213, 40,154,143,171,171,107,122, 66,
+ 66, 2,173,211,233,232,144,144, 16,250,240,225,195,116, 72, 72, 8, 29, 24, 24, 72, 3, 56, 56,121,242,100,149, 76, 38,163, 3,
+ 2, 2, 82, 81, 78,212,120, 87, 87,215,232,168,216,148,148,205,107,246,222, 58,244,219,177, 91,103, 79,223,184,117,225,218,147,
+ 75,231,175, 61, 61,249, 56, 34,238,188,171,171,107,116, 57,237,255, 89,245,105,130, 9, 38,152, 96, 66,213, 90,164, 88,104,245,
+ 44, 54,118,244,164,105,186,243, 71,191,123, 22, 11,167, 79,126, 7, 6, 6, 46, 42,251,187,100,159,192,192,192, 69, 0,232, 54,
+109,218, 28,163,105,186,193, 23, 40,254,132,143,151,106,205, 58, 36, 83,159,128,227,209, 29,108,131, 30,250,236, 24, 80,121, 73,
+128,200, 1, 42, 66,140, 28,105, 18,222,220, 59, 83,121, 34,137, 98, 92,142, 1, 27, 64, 72,116,116, 52,222,188,121,131,148,148,
+ 20, 8,133,194, 79,246,187,127,255, 62, 4, 2, 1, 28, 29, 29,141, 83,186,218, 15,251,185,151, 45, 92, 33,110,227,143,236,239,
+ 39, 33, 36, 36, 4,153,153,153,224,112, 56,224,114,185, 32, 73,178, 74, 62, 6,163, 40,227,111,137, 21,171,188,125,252, 1, 22,
+175,150,248,226,206,101, 51,221, 24, 15,131,217,170,228,119, 72, 83, 27,140,179,228,137, 69, 16,138,132, 82,129, 64, 88,234, 46,
+ 4, 16, 73, 16,196,219,230, 0, 91, 36,230, 95, 60,176,106,142, 3,243, 69, 8, 95,245,238,101,185, 28,157, 59,119,158, 8, 96,
+ 25, 77,211,121, 77,154, 52,177, 95,189,122,181,149, 68, 34,193,235,215,175,113,242,228,201, 44,178,232, 68, 9,154,166, 87, 0,
+192,215, 0,223,210,214,242,218,111, 63,205, 52,195,237, 19,220,154, 92, 69, 22,222,189, 47, 13, 24, 57,121,234,182,153,189,161,
+ 40, 84,225,232,141, 23,184,250,252,125, 31, 0,247, 81,201,184,183, 29, 15,240, 14,200,234,212,191,127,255,240,187,119,239,218,
+236,219,183, 15, 36, 73,150,187,236,219,183, 15, 55,239, 61,159, 1,224,153,145,197,170,237,230,230,118,243,241,227,199,182, 66,
+161, 16, 55,110,220, 64, 94, 94, 94,169, 37,107,212,168, 81, 68, 94, 94,222,208, 93,187,118, 13, 72, 76, 76,220,120,239,222,189,
+ 28, 20,229,130,252,224, 66, 96, 50,153,239, 73, 82,247,149,163,119, 3,214,160,222,237,218,201,115, 94, 66,108,221, 4, 15, 35,
+222, 95,204,147,229,168,152, 76,230,251,178,251,127,137,250, 52,193, 4, 19, 76, 48,161,122, 32, 8, 34,152,166,233, 94, 4, 65,
+ 4,127,188,238,227,239, 37,251,173, 93,187,182,244,119,201, 49,235,214,173, 91, 83,230,183,242, 11, 21,175,210,193,240,237,139,
+ 21,100,251,242,118,210,188, 62, 11,205,155, 11,224,184,182, 5,215,171, 15,152,174,126, 72,126,121, 27, 17, 87, 54, 35,245,213,
+125,208,148, 1,142,158,173,140, 45,136,250,171,175,190,130, 90, 93, 52, 52, 75,163,209,128, 35,178, 82,207,153, 48,140, 15, 0,
+ 20,139,175, 41,163, 96,141, 34, 52,107,219, 1,173, 50,104, 60,177, 47, 50, 84,180,202, 40, 58,110,213,232,209,224,112, 56,224,
+112, 56, 32,138,135,254, 24, 35,180,136,226,157,169, 34,247, 85,121,133, 32,148, 60,246,209,227,203,166,181,226, 37, 70,114, 53,
+ 81, 15,145,166,161,232,139, 25,134, 75,198,148, 87, 40, 18, 74, 4, 66, 97,164, 64, 44, 42, 21, 90, 4, 65,188, 7, 0,154,205,
+ 14, 58,188, 98, 90, 19, 81, 70,156, 72,253, 52, 4, 82, 53,165,171,128,102,197,149, 43, 87,236, 88, 44,150,131,193, 96, 64,114,
+114, 50, 94,189,122,133,173, 91,183,102, 20, 22, 22,182,127,241,226, 69,108, 89,237,104, 16,112, 79, 6,173,156, 89,143,245,242,
+ 14, 95,243, 62,170,218, 87,143,141,207,119, 1,125,218, 55,189, 52,113,196, 98,124,215,163, 43, 70,182,111, 72, 39,164,229,170,
+ 1,220, 40, 54,189, 86, 5,201,139, 23, 47,186,124,251,237,183, 71,154, 53,107,230, 77,211, 52, 26, 55,110,140,161, 67,135, 34,
+ 40, 40, 8, 17, 17, 17, 40, 40, 40,208, 93,191,254,127,236,125,119, 88, 20, 87,227,245,153,217,190, 44,189,131, 5, 21, 69, 41,
+ 10,138,162,216, 16, 75,212,136,137,221,216, 19, 19,125,237, 53, 17, 53,198,146, 40, 36,198, 94,162, 38, 49,150, 55, 22, 98,139,
+216, 91,192,136, 29,165, 8,130, 5,105, 46,189, 45,176,125,230,126,127,176,172,136,148, 5,205,247,203,155,236,121,158,125,102,
+103,103,230,236,157,123,103,238, 61,247,220,118,113, 51,128,189, 6, 6,203,196,202,202,234,252,213,171, 87,237, 76, 76, 76,112,
+241,226, 69,200,229,114, 56, 57, 57, 97,214,172, 89,130,208,208,208,253, 37, 37, 37,163, 67, 66, 66, 68, 41, 41, 41,219, 47, 92,
+184,208, 2, 21,235,206,189,241, 16,168, 84,170, 61,191, 30,216,183,117,214,236, 57, 77,174,222,122,116, 69, 89, 42,179,112,113,
+ 73, 47,177,179, 50, 53,219,252,237,234,230, 42,149,106,122,205,241,249, 71,163,226,211, 8, 35,140, 48,194,136, 55, 80,167, 22,
+169, 42,158,170,139,173,134,136, 52, 0,242,224,224,224,101, 20, 69,133, 7, 7, 7, 47, 11, 9, 9,145, 3,120,249, 87,136, 44,
+189,208, 10, 10, 10,138, 8, 15, 15, 71, 80, 80, 80, 68,173, 20, 44, 3,117, 74, 36,212, 41,145, 16,251,207,197,239, 33,227,170,
+221, 60,219,232,208, 13, 93,115,233,170, 82,169,228,238,219,183, 79,223,111, 11, 0, 24,134,121,231,169,216, 16,161,165, 19,122,
+111, 4,162,165,208, 52, 98,207,130,209,221,108,152,114,158,234,207,211,200, 84,178,218,239,159,168,203,239, 22,145,239,106,227,
+ 60, 57,127, 58,210,175, 95,134,137,169,105,250,167,145,177,122, 23, 75, 39,178,158, 3, 64, 11,161,217,149, 93,243,134,245,116,
+228,131,175, 58, 19,134,151, 74, 86,185,235,133,102,111, 45, 15, 27, 8, 33,120,254,252, 57,202,203,203, 17, 21, 21,133, 99,199,
+142,229,214, 32,178,208, 82,104,250,199,207, 95, 76,232,106, 46,203,226,171,238, 94,198, 75, 37,107, 80, 83,151,109,135, 97, 61,
+248, 52,117,145,162, 57,226,126,221,218, 98,254,103,195,177,233,231,223,181, 42,251, 94, 65, 91, 79,157, 29, 83,170, 84, 47, 51,
+ 80,100,233,205,198,232,232,104,207,232,232,104, 33,128,192,143, 62,250,232,236,200,145, 35, 17, 17, 17,129,211,167, 79,187, 1,
+144,234,206, 91,131,138,133,178,191, 3,240,172, 54,227,145,207,231, 31,190,124,249,178,151,179,179, 51, 46, 95,190, 12,185, 92,
+142, 25, 51,102,168,102,207,158,205,159, 50,101, 10, 85, 92, 92,172,119,178,162,162,162,242,107, 19, 89, 0,144,153,153,121,238,
+216,209,131,221,123,247,238, 61,188,149, 91, 59,243,103,178,146, 28, 19, 19,145,248,122,196, 53,254,221,219, 55,182,103,102,102,
+222,169, 57, 62,175, 24, 28,159, 70, 24, 97,132, 17, 70,212, 14,131,180, 72, 53,103,170, 33,168,114, 29, 47, 36, 36, 36, 62, 36,
+ 36,228, 53,199,235, 45, 81,125,212,225,153,202, 50,173, 81,243,104, 49,197,105,111,222, 0,203, 54,228,102,223,248,205,202,202,
+ 74, 43, 22,139, 95, 19, 90,172,129,156, 5, 39, 14,225,217,204,241,122, 39,171,210,217,194,160, 41,111, 37,180, 88,150,141, 2,
+240, 90, 32, 76,236,219,142,219, 60,212,163,135,103,171, 38,180,230,232, 22,100,148,107, 21, 43, 31,171, 21,137, 50,242, 65, 66,
+ 13,157,172,245,156, 90, 13, 68, 18,113,170,216, 84, 82, 93,100,189, 0, 0,137,131,219,200,239, 7,183,235,227,211,174, 53,173,
+ 61,178, 17,153,229,154,210,224, 4,181,250, 89, 25, 57, 94, 75, 28,174,124,239,189,247, 86,218,216,216,136,182,110,221,106,225,
+226,226, 2,173, 86,171,170, 46,178, 76,236,219,142,219, 50,172,125,143,182,142, 86,180,230,183,109, 72,151, 51,229, 91,158,105,
+246, 27, 34,178,108, 45, 76, 47,236, 90, 55, 83,108, 34,228, 65,161, 80, 32,116,231,111,184,120, 35, 46, 40, 47,238,228, 5, 0,
+ 23,222,226,129,252, 52, 40, 40,104,211,154, 53,107,160,209,104, 48,117,234, 84, 60,125,250,244,226,227,199,143,183, 52,111,222,
+124,241, 23, 95,124,225,236,232,232,136, 49, 99,198,240, 53, 26,205,148, 90, 56,190,253,245,215, 95,131,124,124,124, 16, 17, 17,
+129,162,162, 34, 56, 57, 57, 97,246,236,217,130,144,144,144,253, 37, 37, 37,163,215,173, 91, 39,122,254,252,121,157, 78,214,107,
+207, 53,195,124,179,123,211,204,197, 93,186,245,164,159, 60, 73,210,166,249, 5,208,215, 46,159,142,180,177,177,217,159,150,150,
+246, 42, 62,135,119,104,112,124, 26, 97,132, 17, 70, 24,241,110, 64, 81,212, 25, 93,191,171,215, 92,174,234, 34,172,210,177,170,
+186, 95,253,124,221,241,119, 81, 89,222, 83,131,240,122,125,122,135,160,160, 32,131,135,213,179,101,185, 6,137,167,234,120,191,
+ 29, 52, 77, 76,193, 93, 22, 64,131, 47,177, 82, 12, 93,115,233,106,109,231, 74, 36, 18,131, 29, 45, 86,169,168, 47, 81, 26, 36,
+180,116,125,180,206, 19, 66, 94, 19, 90, 22, 14,109, 3,150,124, 49,111,115,207,145,131,232,236,207,252, 81, 84,170, 84,126,241,
+ 72,203,102,148,215, 45,178, 42, 74,113, 77,138,137,196, 52, 86, 36, 49,169, 42,178,210, 0, 64,100,223,218,239,243,249,179,118,
+246, 29, 55,148,202,157,209, 19,133, 69,114,229,226,120, 45,149, 41, 39,163, 19,128,107, 53,209, 93,189,122,117, 55,128,221, 1,
+ 1, 1,217, 18,137, 4,165,165,165,111,164, 65,101,120,123,140, 28, 68,103,127,218, 21, 5,101,106,229, 23,241, 90,188,148,179,
+135,235, 19, 89,118,150,102, 23,118,173,157,105,242, 50,227, 5,248,124, 62, 76, 77, 77,113,233,207, 88,228,197,159,122, 27,129,
+ 5,154,166, 87, 5, 7, 7,175,156, 53,107, 22,242,243,243,113,250,244,105,188,255,254,251, 56,116,232,144,203,217,179,103, 55,
+ 5, 6, 6,130,195,225, 32, 60, 60, 28, 26,141, 38,185, 22,154,225,211,166, 77, 91, 60,114,228, 72,220,185,115, 7, 82,169,244,
+ 53, 39,171,168,168,232,163,157, 59,119,142, 76, 73, 73,169,215,201,170, 6,191,150,173, 59,241,151,174,216, 0,101,121, 14, 55,
+ 55,243, 86,196,149, 75,244,205,130,130, 2, 19, 0,197,141,141, 79, 35,140, 48,194, 8, 35, 12,118,181,106,211, 34,185, 58, 17,
+149, 91,211,126, 21,129, 85,211, 62, 85,205, 5, 83, 85, 59,254,240,175,188, 39,131, 28, 45,174, 67,123,104,179,227,170, 8,173,
+156,215,142,139,204,172, 13,106, 58,212,104,193,221,181, 87, 63,143,150, 40, 63, 63, 95,100,107,107,171,168, 42, 16, 76, 76, 76,
+224,236,236,140,194,194, 66,236,217,179, 7,168,191, 83,180,214,124,228, 68,248,141,155,138,187, 77, 5, 32, 26,181,222,217,218,
+245,241,199,175,137, 45, 62,159, 95,217, 55,172,190, 66,247,182,206,105,186, 9,128,116,114,107,245,181, 72, 34,249, 88,100,219,
+204,118,254,204, 79,121, 41, 57, 74, 92,237,185,180,232,183,111,151,152,166, 19,211, 89,105, 40,190, 81, 15,223,179, 15,127, 56,
+ 88,221,201,202,232,232,214,106,185,200, 68,244,153,192,186,133, 99,240,194,153,188,148,108, 37,117,213,239,139,146, 99,223,125,
+ 97,242, 28,102,139, 51, 80,116,205,128,228, 89,249,254,251,239,175, 36,132, 16,150,101, 87, 0, 64,213,240, 46,156,253, 25,239,
+ 89,150, 2, 87,122, 46, 47, 60,246,237, 18,179,116,212, 29, 94,219, 14,195,122, 56, 88,153, 95,216,181,110,150,137, 52, 51, 21,
+ 66,161, 16,102,102,102, 72,207, 46, 6,143,203,145,191,229,243, 38,236,213,171,215,146,153, 51,103, 34, 54, 54, 22, 51,102,204,
+144,166,165,165, 29, 63,114,228,200,140,175,190,250,138, 59,112,224, 64, 72,165, 82,172, 95,191, 94,243,231,159,127,174, 3,176,
+190,198,231,145,203,253,244,235,175,191, 38, 47, 95,190,164,158, 63,127, 14, 39, 39, 39,204,153, 51, 71,176,110,221, 58,125,159,
+172,134, 56, 89,149,200,204,204,140,184,120,249, 38, 62, 56,183, 25, 90,141, 50,162, 40, 63, 45, 50,241, 89, 97,132,181, 64,176,
+168, 73,167, 14,141,138, 79, 35,140, 48,194, 8, 35,222,137,139,117,183,174,253,191, 1,106,106, 58, 52, 72,104, 37,111, 91,254,
+137,219, 39,179, 62,135,216,165, 7,148, 9, 39,192,150,102,235, 29, 45,145,169, 21,172,155,123,160,168, 76,137,176, 43,247, 1,
+ 32,185, 33,161,146,201,100,240,245,245,197,142, 41,109,251, 42,100,249, 34, 49, 0,165,208, 92,113, 82,208,235,234,217,179,103,
+203, 89,150, 61, 12,224,108, 61, 52,171,188,188,188,182,111,216,176, 65,224, 49,238, 19,148,222,186, 94,221, 65,129, 88, 44,134,
+ 80, 40, 68, 76, 76, 12,174, 94,189,170, 2,176,170,158, 4,189,173,213,106, 31, 30, 57,114, 36,163, 77,171, 38,131,124, 59,122,
+207, 93,182, 52,216,236,209,245,139, 88,177,110, 59,219,166,243,192,226,208, 67, 39,101,197,166,205,251,201,165,143, 31, 24,112,
+171, 15,171,137,172,151,238, 45,155,245,237,216,222,235,243, 21, 43,150,155,199, 95,191,132,175,190,219, 69,220,124,250, 23,127,
+119,236, 84, 73,158, 73,139,247, 20, 57,137,119, 12,137,195,136,136,136,221, 0,118, 87,238, 87, 15,111,240,154, 45,108,219, 46,
+131, 10, 67, 15, 29, 43, 43, 49,107,222,191,174,240,218,121, 12,239,222,212,206,234,194,182,111,254, 99,146,149,153, 6,161, 80,
+ 8, 83, 83, 83,164, 73,139,176,114,243,209, 50, 53,203, 14,122, 91,161,101,102,102, 38, 84,171,213,216,177, 99, 7,210,210,210,
+252, 1,164,221,187,119,111,215,216,177, 99,183,118,232,208,193, 61, 62, 62, 62,185,180,180,116, 22,128,196,218, 72, 44, 45, 45,
+253,237,236,236,168,155, 55,111,226, 63,255,249,143,106,206,156, 57,252,201,147, 39, 83,133,133,133,141,117,178, 0, 0, 77,154,
+ 52, 9, 24,208,175, 27,122, 12,152, 17,161, 82, 20, 69,166, 36,238,143,160,201, 13, 81, 99,227,211, 8, 35,140, 48,194,136,127,
+ 13, 26, 55, 49,120, 0,192,109,107,131,233, 94, 77,248, 89, 7,190,157, 67,100,207,162,136,252,206,110, 82,114,226, 51,114,102,
+253,100,114,118,219,124, 50, 99,136, 23,113,183,167,178,218,218, 96,122,192,155,194,237,181,213,189,223,111, 7,205,128,214, 32,
+ 3, 90,131, 12,105, 11, 13,128,101,157, 58,117, 58, 57,219,239,213, 60, 90,179,253, 64, 0,252, 7,128,105, 45,193,170,105,197,
+112, 39, 0,123,124,125,125,181,215,174, 93, 35,143, 71,247, 39,209,238,182,100,214,172, 89,228,171,175,190, 34,227,199,143, 39,
+118,118,118, 90, 93, 68, 56,213,199,249,193, 7, 31, 52, 5,128,102,205,154, 89,118,246,104,147, 21,115,229, 52,137, 60,176,149,
+252, 60,123, 4,233,218,193, 35,207,209,189,247, 67,177, 83,187,142,245, 68,159,158,211,209,209,113, 41, 33,100, 16, 33,196, 9,
+ 0,220,220,108, 76, 59,185,183,121,249,240,242,105,114,253,224,118,242,243,236, 17,164,155,183,103,126, 83,143,192, 68,145,189,
+187,159, 33,156, 53,161,198,240,182,119,207,115,104,211,253, 65, 29,225,213,115,182,242, 27,115, 42,227,101, 54,185,125,251, 54,
+ 57,123,246, 44,185,126,253, 58, 57,112,228, 20,105,222,101,116,169,109,135, 97, 61, 26,240,232,212, 22, 78,139, 33, 67,134,144,
+228,228,100, 50,120,240, 96, 2,192,162,145,156, 39, 83, 82, 82, 72, 92, 92, 28, 89,182,108, 25, 1,176,111,230,204,153,242,226,
+226, 98,210,191,127,255, 52,157,192,226, 54, 38,156,174, 45,155,132, 14, 31,218,107,213,236,255,140, 12,120,219,248,124,135, 48,
+114, 26, 57,141,156, 70,206,127, 3,231,255, 50,156,116,174, 86,229,182,147, 65,243,104, 69, 0, 90,228, 99,119,123,123,245,127,
+215,173,223,182,104,199,238,125,159, 47,153,251,169,164, 87,207, 1,136,189,252, 11,142,133, 31, 41, 83, 40, 85,235,249, 28,108,
+136,203, 71,121, 82, 61,161,208,205,163,245, 26,162,163,163, 77,172, 91,191,154,131,233, 73,197,220,172,187, 26,120,131, 82, 0,
+211,238,223,191,191, 33, 48, 48,112,237,103, 61,252, 70,204,238,222, 23, 26,141, 6, 7, 14, 28, 64,106,106,234,113, 0,203, 13,
+117,220, 98, 99, 99,243, 60, 91,187,204,227,113,184,159,207, 26, 63,220, 46,247,233, 35,100, 36, 68, 3, 0,148, 74,185, 38, 43,
+ 57,210,167, 33,129, 19,139,197,183,237,236,236, 30,219,217,217, 21,182,109,213,108,154, 16,188, 21, 51, 62,250,208, 62, 63, 37,
+ 17,233,241, 21, 45,163, 74, 69,185, 58, 35,249,154,123, 99, 82,215,197,197, 69, 40,225, 97,122,141,225, 85, 41, 52,217, 79, 18,
+ 59, 26,194, 83,174, 84,173, 91,189,233,192,123,223,124,254,177,208,220,220, 28,247,227,158, 96,197,198, 67,101,114,149,102, 80,
+ 94,236,201,119,210, 60, 70, 8,129, 70,163, 49,120,160, 67, 45, 88,226,227,227,211,110,237,218,181,110, 83,166, 76,193,219, 58,
+ 89, 85,241, 44, 37, 51,184, 73, 51, 87,207, 39,143,239, 7, 90,139,249,255,125,155,248, 52,194, 8, 35,140, 48,226, 95,131, 33,
+ 58, 51,103, 90,149,109, 52, 12,172,245, 35, 46, 7,229, 0,214,180,226,148,238, 90,186,118,211, 74,154,218,252, 49, 75,200, 47,
+ 90, 26,171,159,231, 35,247, 45, 3, 87,206,227, 66,251,222,176,241, 92, 0,224,113, 27, 87, 64,234,144, 12, 96,228,143, 55,238,
+116,249,241,198,157, 47,117,191,125, 3,160, 65,109,185,102, 92,196,245,244,116,109,210,171,147,151,136,195,200,145,145,240, 20,
+ 5,101, 10, 92,138, 79, 45,162, 9,253, 75, 67, 3,245,252,249,243, 63, 0,192,193,194, 36,161,151,103,235,230,189,125,189, 76,
+120,148, 10, 25,143,238,163, 88,174,194,197,248,212, 98, 80, 84,163, 59, 84,191,171,240,102,199,158,186,251, 59,168,254, 20, 69,
+ 93, 94, 54,123,156,112,229,198,195,239, 84,100, 1, 40,207,204,204,204, 47, 47, 47,183,121,249,242,165, 10,141,159, 36,238, 73,
+ 73, 73, 73,135,249,243,231,175, 89,188,120,241,231,223,126,251, 45,191, 49,125,178,106, 67, 97,102,234,137,222, 94,239, 46,253,
+141, 48,194, 8, 35,140,248, 87, 96, 90,181, 45, 12, 22, 90,122,193,144,131, 92, 0,179, 92, 93,201,194,103,207,160,122, 87, 33,
+171,201,233,122, 75,220, 5, 48,180,209, 87,211,148,236, 86,114,106,233,237,228,212, 82,176,132,176,132, 40,105, 26,233,101,106,
+245,186,228,231,153,141, 31,117, 71, 81,204,221, 39,105,242,123, 79,211, 21,132,101, 9, 75,136,138,162,144,165,209,176,235,226,
+159,167,158,250, 59,132, 55, 47,246,228,141,112, 45,213,235,198,237,184,133,101,101,234,237,121, 9, 39,163,222, 97,186,104, 98,
+ 99, 99, 39,248,251,251,127,194, 48,204, 46, 0,154,183,224, 82,105,181,218, 37,161,161,161,199, 99, 99, 99,143, 70, 69, 69, 73,
+223,133,200,250, 75,211,223, 8, 35,140, 48,194,136,127, 42, 26,183,168,116,109,120,151, 34,235,239,136,184, 39, 47,124,255, 10,
+222,248, 39, 47,218,255, 47,132, 55, 59,225,196,189,108,224,163,191, 40,122, 47, 50, 12,115,241, 93,138,234,243,231,207,183, 68,
+ 13,203,234,252,221,210,223, 8, 35,140, 48,194,136,127, 44,166,213, 38,190,184,198,184, 49,226, 31, 0,242,174, 68,150, 17, 70,
+ 24, 97,132, 17, 70, 52, 2,181, 58, 90, 20,106, 31, 57,112,185, 1,127,208,152,209, 7,151,141,156, 70, 78, 35,167,145,211,200,
+105,228, 52,114,254,235, 56,255,137,112, 66, 69,135,248, 51,186, 45, 8, 33,123,254,127,252,177,113,232,171,145,211,200,105,228,
+ 52,114, 26, 57,141,156, 70,206,127, 58,222,232, 8, 95, 57,189, 3,109,140, 27, 35,140, 48,194, 8, 35,254, 66, 8,117,159,198,
+ 30, 55,194,136,255, 69,177,165, 23, 92,141,233,163,213, 70,183,125,242, 23, 6,118,182,147,147,211, 52,111,111,111, 15, 62,159,
+ 79,203,100,178,213,215,174, 93, 91, 85,253,164, 94,158,220,123, 28, 26, 77, 95,253, 66, 1, 20, 7,160,105, 48, 4, 25,215, 99,
+228,157,141,233,254,183,134,139,216,220,238,119,138,230, 8, 24,173, 26,140, 70,141,138,238, 86, 21, 96, 89,109, 42,163, 86, 14,
+172,237, 98, 71,159,225,205,181, 12,251, 45, 64,118, 0,244, 76,128,221, 73,129, 59,131, 64,251, 3, 5,206,127,192, 33,223,129,
+161,190,224,242, 56, 75,165,209,191,165,255, 19, 34, 44, 44, 44,140,243, 54,215,143, 30, 61,186,198, 5, 68,157,157,157,195, 77,
+ 76, 76, 90,215,118, 93, 89, 89,153, 84, 42,149, 6,254,195,159,199,222, 0,182, 1,240,170,246,123, 34,128,121, 0,174,188,237,
+ 31, 4, 0, 92, 7, 96, 58, 31,248, 2, 0,212,192,119,217,192,238,136,191, 81, 31, 67, 59, 59,187, 72, 46,151,235, 86, 86, 86,
+ 86, 38,147,201, 92,205,204,204,158, 73, 36, 18,137, 86,171, 77,206,205,205,237,221, 64,186,153,120,181,148,214,231, 0,118, 54,
+240,184, 17, 70,252,175,224,173, 70, 29,182,173,200, 31, 16, 0,160,119,151, 46, 93, 28,202,202,202,144,152,152,152, 13, 32, 18,
+ 64,132,238,147,244, 46, 66, 74,211,244,247,155, 54,109, 90, 52,103,206, 28,253, 98,208, 49, 49, 49,240,241,121,115,142, 80, 14,
+141,166,215, 78, 95,182,191, 27,155,132, 46,253, 71,233,132, 22, 13,148, 73, 17, 56,192,175,177, 65, 48,179,178,178, 90, 77, 81,
+212,104,154,166,235, 45,212, 88,150,101, 8, 33, 97,133,133,133, 43, 1,200, 26,242, 71, 18, 19,161, 70,203, 48, 53,254, 7,151,
+195, 97,202,202,149,181, 78,123, 97,109,109, 29, 69,211,116,171,170, 11,102, 3,175, 47,160, 93,219, 49,173, 86,155,145,151,151,
+103,136, 8, 21,209, 92,254, 60,138,226, 15, 0,205,182, 5, 40, 80,160,147, 88, 70,117,137,213,170,183, 0, 80,188,141,200,114,
+106,230,122,125,193,242,208,166,113, 9,137, 88, 54,123, 60,190,221,182, 15, 75,231,125,130, 45,123, 14, 97,222,180,113,240,244,
+244, 66, 93,203,138,179,224,175, 91, 62,119,116,255,144, 29, 71,123, 46,157, 53, 90, 24,178, 35,172,215,178,217, 99, 5,235,182,
+ 31,237,181,108,246, 24, 97,200,246,163, 61,151,206, 29, 45, 94,183,243, 55, 22,192,196,198, 4,114,156,155,115, 25,165,213,214,
+ 88,219, 38, 92,174,242, 80,242, 75,201,255,197, 27, 61,101,202, 20,111,185, 92,126,127,252,128, 78,161, 29,219, 54,201,172,233,
+156,252,172,204, 38,207, 30, 71, 7,243,248, 98,223, 15,131,247,197,212,105, 57, 8,133,173, 18, 19, 19,221, 88,150, 5,195, 48,
+208,106,181,250,173, 74,165, 66,239,222,189,223,213,192,153,161, 0, 86, 87,188,172, 8, 1,112,244, 45,184, 76,185, 92,238, 2,
+129, 64, 16,160,213,106, 61, 0,128,199,227, 37, 40,149,202, 8,173, 86,187, 9, 64,105, 3,249, 54,103,102,102,122,154,154,154,
+ 66,173, 86,235, 23,160,231,112, 56,238,205,155, 55,223,161, 80, 40,220,222,246,230, 29,128,233,221,123,246,220, 50,121,209, 34,
+142, 60, 50, 18, 91,246,238,221,140,146, 18, 0,216, 81,223,181, 2,129,224, 2, 77,211, 46, 13,249, 63,150,101, 83, 85, 42,213,
+192,134, 92,195,229,114,221, 94,190,124,105,239,236,236, 12,153, 76, 6,137, 68, 34,169,220,111,132,147,181,158, 16, 34,214,229,
+237, 91,186,117,235,230, 79, 81,148, 22, 0, 97, 89,150,190,125,251,246, 56,150,101,185,186,252,105, 61,128,189, 0,148,198, 50,
+219,136,255, 81, 55,107, 79, 67,133,214, 89, 0, 1, 93,186,116, 17,127,244,209, 71, 8, 8, 8,128,155,155, 27, 68, 34, 81, 69,
+ 38,158,159,239,240,224,193,131, 49,145,145,145, 99, 78,159, 62,141, 71,143, 30,201, 1,252, 9,160,198,151,186, 95, 80,207, 57,
+ 34, 83,225, 86, 0,200,205,200,151,102, 60,207,217, 42,149, 74,215, 3,168, 58, 69,184,235,196,137, 19, 23,206,157, 59, 23,225,
+225,225, 56,116,232, 16,148, 74, 37,100,178, 58,244, 75,121, 14, 10,175,134, 2,146, 20, 32, 45, 2, 48,177, 7, 36, 14,141,142,
+ 41, 43, 43,171,213,243,230,205,155,239,233,233,169,159,197, 92,163,209, 64,171,213, 66,163,209,160,176,176, 16, 11, 23, 46,172,
+ 40,104, 9, 1,203,178, 56,119,238,220,156,105,211,166,161,176,176,112, 65, 77,156,221,124,155,221,163, 41,186,105,165, 87, 67,
+ 24, 38,227,214,131,140,206, 90,134,225, 40, 20,234, 26, 87, 42, 23,137,248,117,138, 60, 30,143,215,244,209,239,191,219,211, 2,
+ 1, 8,195, 0, 44, 11,194,178,186,232,212,125, 72,197,111,132, 97, 65, 52, 12, 88, 45, 11,173, 92, 9,191,153, 51, 13,137,138,
+238, 60,129,248,208,132,207, 22, 57,118,237,214,141,215,162,153, 51,180, 12,139,167, 41, 25,142,247,239,221,234, 17,182,127,199,
+ 12,149, 92, 54, 14, 64,163,230,217, 18,152,152, 95,220,254,195,143, 77,239, 62,136,195,149,107,145,184,124, 53, 2, 0,112,225,
+ 90, 84,165,224,174, 55,169,160, 45,237, 48,111,234, 48, 97,232,246,195,188,121, 83,135,115,190,221,126,132, 55,247,147, 15, 57,
+161, 91, 15,241,231,126,242, 33, 39,116,219, 33,254,220,169,195, 56, 33, 91,126,246, 6, 96, 5,160,176, 54,178,218,210,136,210,
+106,133,255,125,150,205, 1,128,220, 93,187,160,201,201,129,243,202,149, 0,128, 9,174, 14, 6, 55,119,216,218,218,222,227,241,
+120, 77,235, 59, 79,163,209,212, 43,130,167, 76,153,226, 35,151,203,239,105,181, 90,194,229,114,131,199, 15,127,239,228,160, 94,
+ 62,249, 85,207,137,137,121,104,179,110,221,239,195,142,222,151,145, 49,190,102,247,195,191,159,210, 57,104,241,190,135,117, 20,
+200,180, 82,169, 68,114,114, 50,170, 46,242, 94, 5, 76, 99,235, 78, 0,182,216,216,216,116,205,207,207,159, 0, 96, 89, 73, 73,
+137, 55,135,195,129,181,181,245, 50,149, 74,245,212,194,194,226,167,226,226,226, 40,157,107,100,232,146, 1,189,205,205,205, 15,
+156, 56,113,194,170, 83,167, 78,116, 94, 94, 30, 90,182,108,137,130,130, 2,191,200,200, 72,223,169, 83,167, 78,149,201,100,147,
+116,149, 65, 67,209,206,196,196,132, 76,158, 60,153, 98,152, 87,183,251,243,207, 63, 99, 96,123,109,107, 59, 75,147,114,133,138,
+ 20, 95, 73,182,248, 15,159,207,255, 51, 53, 53,181,184,161,145,193, 7,190,152,188,104, 17,199,244,197, 11,152, 62,124,136, 9,
+ 37, 37,220,111, 43,220,173,122,133, 22, 77,211, 46, 7, 14,253,226, 38, 16, 8,160,213,106,245, 98,176, 50,143,210,104, 52, 80,
+171,213,208,104, 52, 96, 24, 6, 26,181, 6, 33,223,124,215,232,188,208,196,196,196,196,201,201, 41,219,196,196,196,228, 93,148,
+ 66, 66,161,144,187,127,255,254,113, 2,129, 0, 0,160, 82,169,208,190,125,123,202, 88, 62, 27,241, 15, 19, 91,111,184, 92,117,
+ 9,173,193, 37, 37, 37, 96, 24, 6,102,102,102,224,112, 94, 47,247,109,108,108, 48, 96,192, 0,244,238,221, 27, 31,125,244, 17,
+ 30, 61,122, 36,254,232,163,143, 6,212, 70, 54,126, 81, 16,154,185, 57,232, 10, 19,214,233,198,153, 7,161, 63,127,253,155, 93,
+ 86, 86,214,162, 42,167, 77,157, 62,125, 58,149,159,159,143,209,163, 71, 71, 42,149,202, 15, 0,148,212,198,201,176,200, 8,252,
+104, 2, 88, 66,137, 55,221,254,145, 82, 41,228,132,166,105,121,101,211, 97, 99, 98,137,162,168,209,206,206,206, 56,124,248, 48,
+ 84,170, 55,167, 11, 51, 55, 55, 71,124,124,252, 43, 87,141,195, 65,183,110,221, 56, 20, 69,141, 6,176,160,102, 78,186,233,141,
+187, 47,236, 43,247,131, 6,120,241,187,249,210,217, 47,179,203, 8, 0,106,249,242,229,122,225, 6, 0,171, 87,175, 54, 36,156,
+160,121, 60,228, 70, 68,188,202,136,185, 52,104, 62, 5,138, 7,208,220,138, 86, 84, 16,128, 48, 0,171, 5, 88, 13, 32,114,106,
+102, 72, 52,248, 53,105,238, 22,190,110,227, 78, 75,165,134,224,240,169, 43, 72, 73,121, 14, 14, 77,195,181,181, 27,222,235,211,
+139,231,219,197,191,217,119,171, 22,157,126,153,246,100, 48,128, 59, 13,142,104,150,136, 90, 55,183,197, 79, 63,223,135,157,149,
+ 41, 70, 15,123, 31, 98,145, 16,223,110,251, 5,223, 44,157, 13, 55, 87, 23,236,222,188,182,214,203, 45, 44, 44,214,120,184,181,
+118,217,185,255, 12, 60,220,221, 57, 59, 15,156,129,135,167,110,235,229,193,217,121,224, 12, 60,189, 60, 57, 59, 15,156,129,183,
+ 87,187, 22,247,164,183,215, 20, 20, 20,204,174, 61, 62,171,165,209,123, 21,105,196, 43,101,245, 5,193,139, 25, 51, 0, 64, 47,
+180, 26, 2, 30,143,215,244,229,203,151,246,245,157, 87,159,107,160,115,178,238,105,181, 90,228,228,228, 80, 69, 69, 69,196,210,
+210,114,216,249,221,203, 78, 12,236,233, 83, 0, 0, 15, 31, 62,180, 14, 9, 89, 55,236,200,189, 18,200,111,109,167,254,251,123,
+ 4, 59,225,131,128,123,167, 66,167,248, 66,183, 36, 68,117, 40,149,202,148,142, 29, 59, 18,221,247, 38, 66,161,144, 95,237,121,
+115,110,211,166,205, 27,174,181, 1, 77,138, 91,110,222,188, 57,219,211,211, 19,238,238,238, 81, 93,187,118, 53,151, 72, 36, 56,
+127,254, 60, 60, 60, 60,188,204,205,205,111,135,133,133,241,150, 44, 89,226,179,119,239, 94, 0,152, 99, 64,116,246, 15, 12, 12,
+ 60, 28, 30, 30, 46,226,243,249,144,203,229,136,143,143,135,133,133, 5, 4, 2, 1, 62,252,240, 67, 78,143, 30, 61,108,250,244,
+233,115, 44, 41, 41,105, 28, 26, 48, 2, 74,161, 80,144,101,203,150,193,196,196, 4, 38, 38, 38,144, 72, 36,144, 72, 36, 48, 21,
+129,218, 53,175,185,120,238,158, 34,241,130,149,187, 66, 15,236, 92,117,173, 89, 51,246,171,244,244,244,162,134, 50, 47,200,121,
+ 0, 0, 32, 0, 73, 68, 65, 84, 62, 11,242,200, 72,152, 62,124, 8, 84,121,119, 13,133,133,196, 26,193,193,193,245, 57, 82,224,
+243,249,232,222,189,123,189,124,214,214,214,199,185, 92,238,107, 53, 83,173, 86, 43, 10, 14, 14,102,146,146,146, 36, 52, 77, 75,
+ 88,150, 69,112,112, 48,163,213,106, 69,246,246,246, 81, 44,203,102,231,229,229,141, 48, 32,184, 74, 0,159,211, 52,189, 69, 40,
+ 20,114, 91,180,104,145,186, 98,197,138,155, 58, 55, 19,132, 16,186, 69,139, 22,126, 98,177,216, 69,169, 84,106, 81,209,116,104,
+116,179,140,168, 17,132, 16,223, 10, 83, 88, 15, 21, 0,129,238,123,126, 69,105, 7,219,106,191, 3, 64,158,174,162,232, 80,203,
+126, 62,128, 71, 0,218, 1,176,215, 29,187, 75, 81, 84, 65, 35,130, 89,187,163, 21, 30, 30,174,175,194, 6, 5, 5,233, 11, 22,
+ 51, 51, 51,220,189,123, 23, 20, 69,193,204,204, 12,230,230,230,176,176,176, 64, 73, 73, 9, 30, 61,122,132,196,196, 68,188,120,
+241, 2, 20, 69,193,213,213, 21,149, 47, 80, 21,232, 51,184, 95, 55,132, 67,100, 42, 4, 69, 1,157,250,122,195,187,119,123,116,
+185,243,108,222,189,203,212, 30,169, 84,154, 12,128,219,190,125,251,169,221,186,117,195,198,141, 27,161, 84, 42, 55,214, 34,178,
+244,156,215, 31,105, 59, 3,128,147,147,211,226,131,231,159,154, 76, 28,212,186, 92, 42,149,126,223,136,200,121, 45, 35,206,203,
+203, 51,120, 45, 62,150,101, 81, 88, 88, 88, 39,103,117,135, 96,211,150,237,150,178,226,108,124,253,237, 65,104, 52, 26, 44, 90,
+180, 8, 44,203,234, 63, 69, 69, 69, 6,133,147, 48,204,155,222, 1, 93,209,122, 74,113,129,230, 99, 43,116, 69,218,225,237,160,
+ 8, 64, 49, 0,222,188,175,234,133,144,136,195, 23, 31, 89,245,237, 86,203,232,196, 12,156,186, 18, 13,117, 73, 38,164, 15, 79,
+ 84, 88,142,221,199,225,168,146,131,174,222,173, 49,127,249,119, 86, 95,206,159,116, 68, 37,151,185,227,245,102,196,203,245,191,
+ 52, 12,190, 94,179, 6,123,182,110,196,119, 27,183,162,164,184, 8, 60,158,173, 46,163,103,192, 48, 76,221,247, 78,200,160,224,
+121, 31, 83,223,254,112, 28,126,158, 78, 56,118,254, 14,122,118,116,193,137,139,247,208,219,183, 37, 78, 93,142, 70,223,174,173,
+113, 54, 34, 14,243,167,143,163,198, 93,216, 59,168, 33,105,180,121,243,118, 75, 89, 73, 54,194,215,238, 71,206,142, 29, 72,157,
+ 61, 27,126,186,115,238, 80, 20,248, 77,155, 2,252,250,211,168, 58, 18, 18, 18,160, 84, 42,107,170,237,195,195,195,163,222,116,
+151,203,229,247,181, 90, 45,201,206,206,166,178,179,179, 33,145, 72,168,248,248, 56,198,203,171,253,112,146,248,219,143, 0, 16,
+ 18,178,110,248,209,251, 37, 40,143,218, 10,249,205,109,224,183,140,161,247,172,158,174,158,182,114,247,253, 42,239,232,107,225,
+204,202,202, 26,156,149,149, 5, 0,104,213,170, 85, 98, 82, 82, 82,187,202,166,102, 93, 19, 34, 95,171,213,186, 85, 54, 39,106,
+181, 90, 40,149, 74,244,239,223,159, 83,215,189, 91, 89, 89,117,243,240,240, 64,116,116, 52,182,110,221,106, 29, 24, 24,136, 39,
+ 79,158,128,162, 40,172, 91,183,142,242,244,244,228,229,229,229, 97,224,192,129, 56,126,252,120,247,146,146,146,250,226,211, 76,
+ 34,145,236, 61,125,250,180,136,166,105,200,100, 50,176, 44,139, 30, 61,122,128,166,105,196,197,197, 97,249,242,229, 56,126,252,
+ 56, 78,158, 60, 41,246,245,245,221, 91, 94, 94,238,129,215,155,245,107, 75, 35,162, 80, 40,136, 80, 40,132, 80, 40,132, 72, 36,
+130, 72, 36,130, 64, 32, 64,169, 2,152,182, 41, 85,201, 17,217,178, 94, 29,123,182,254,120,238, 58,250,251, 21,159, 92, 5,112,
+202,208,103, 30,168,232,147,181,229,151, 95,182, 78, 40, 46,166, 1,224, 39,138, 98,213,132,124,103,200,251, 14, 0,165,138, 98,
+184,184, 54,197,177, 35, 39, 49,114,236,176, 26, 69, 22,143,199, 7,159,199,131,185,181,164, 94, 78, 62,159,239,144,152,152,104,
+195,227,241, 64, 8, 1,195, 48, 80,171,213,217, 95,126,249,165,221,144, 33, 67,204,206,157, 59, 71, 15, 25, 50,132,181,178,178,
+ 42,187,115,231, 78,142, 86,171,181,233,213,171, 87, 67,158,249,157,222,222,222,157, 78,156, 56,241, 73,112,112,240,189,197,139,
+ 23,127, 93,245,224,250,245,235,215,156, 61,123,214,101,248,240,225, 7, 30, 62,124,184,179, 33,121,200,219,230,243, 70,206,191,
+ 31,103,109, 90, 68, 7, 7,138,162,194,171,228,217, 65,149,251,193,193,193,203, 66, 66, 66,226, 41,138, 10,175,250,123,229,121,
+186,202, 98,120, 77,251,186,107,173,151, 46, 93,218, 62, 52, 52,116,157,191,191,255,225,168,168,168,231, 0, 26, 42,180,234,238,
+163, 85,121, 67, 85,111,178, 90,161,134,146,146, 18,148,148,148, 32, 61, 61, 29,187,118,237,210,189,208, 60,112,185, 92,112,185,
+ 92,125,127,134,218,112, 37,252,207,109, 0,182,117,234,212,137, 23,123, 51,236,220, 23,123,230,246,235,220,191, 19,231,254,149,
+216, 81,168, 88,143,112,240,228,201,147,109, 1, 96,255,254,253,121, 0,206,253, 31,169,230,176,228,228,228,249, 78, 78, 78,250,
+ 62, 42, 85,155, 15,181, 90, 45, 68, 34, 17, 42,251,178, 40, 20, 10,236,218,181, 75, 75, 8, 9,171,131, 19, 73,241, 87,145, 28,
+127,173,226, 58,150, 5,203,188,186,126,213,170, 85,250, 97,160, 0, 48, 67,231,156,212, 43,242,106,138,115, 82,109, 91,237,119,
+194, 48,245, 52, 79,240,231,142,154, 52,219,137,165,184,248,253,234, 3,240,120, 60,176, 85,220, 76, 30,167,162,182, 28,255,228,
+ 37,156, 29,188,240,193,184,233,142, 39, 14,108,159,171, 85, 43,190,109,104, 92,187,123,251, 99,222,252,249,248,113,207, 30, 44,
+ 95,185, 70,175, 0,180, 12, 3,109,189,225,164,233,254, 61,218, 67, 91,250, 18, 28, 14, 7,125,253, 90,131,195,225, 96,128,127,
+ 91,112, 56, 28, 12,236,225, 14, 46,151,139, 65, 61, 61,209,166, 77, 27,112,185, 92,186,158,116, 71, 82,252, 21, 36,199,255, 81,
+ 69,244, 18, 16, 0,106,169,244,141,243, 53, 82, 41, 72,115,155,134, 62, 91,152, 58,117,106, 81,122,122,186,186,250,177,102,205,
+154,241, 35, 35, 35, 45,107,105,182,211, 67, 44, 22,251,114,185,220,251, 5, 5, 5,172,137,137, 9,205,178, 12,235,229,213,158,
+115,126,247,178, 19,149,231, 44, 93,186,236,196, 24, 95,243,225, 7,195,194, 9,191, 69, 79,138,226, 9,181,159,173,220,205,231,
+241,197,190,128,220,144,202, 3,173, 84, 42,241,248,241, 99,212, 23, 30, 66, 72,157, 77, 63,133,133,133,147, 61, 60, 60, 34,183,
+109,219,102, 77, 81, 20,174, 95,191, 14, 14,135,163,255, 60,123,246, 12, 52, 77,227,139, 47,190, 80,151,148,148,124, 90, 95,216,
+184, 92,238,252, 99,199,142, 89, 8, 4, 2,200,100, 50,253,123,195,225,112,144,152,152,136,239,191,255, 30,147, 39, 79, 70, 90,
+ 90, 26,156,157,157,177,104,209, 34,211,208,208,208,249,106,181,122,141, 1, 73, 20,163, 82,169, 58,155,152,152, 64, 36, 18,161,
+ 82,112, 1,192,197,120, 94,156, 92, 46,239, 96, 99, 83,238,104, 23, 17,254,123,247,192, 15,124,108,236,156,252,165, 82,105,131,
+150,206,122, 10,236, 73, 97,152, 47, 7,159, 56, 97,127,227,196, 9,246,214,233,211, 25, 66,153,108,183,193,207,144,134, 70,234,
+179, 12,248,250,250,226,254,253,251,240,245,245,173, 42,154, 32, 16, 8,192,231,243,193,231,243, 97,107,101, 80, 23, 10, 66,211,
+ 52,110,220,184, 1,134, 97,160, 82,169,160, 82,169,224,233,233, 89,112,237,218, 53, 83, 0,120,246,236, 25,153, 56,113, 98,209,
+237,219,183,209,177, 99,221,235,169, 59, 56, 56, 68,114, 56,156, 22, 85,127,203,207,207,183, 26, 49, 98, 4, 10, 11, 11,223, 31,
+ 49, 98, 68, 79,221,251,155,249,219,111,191, 77, 4, 0,129, 64, 0,154,166, 25, 24,241,175, 71,125, 90,164,170, 80,170, 46,184,
+ 66, 66, 66,130,170,255, 86, 85, 84,213,244,189,234,181,161,161,161,235,170,112,203, 27, 17,252,250,251,104,133,135,135,147, 26,
+ 20,164,193,168, 79,104, 85, 34, 58, 58, 90,227,236,236,252, 99,242,131, 23,253, 90,123,187, 66, 44, 17,190, 7, 96,155, 80, 40,
+ 92, 56,105,210, 36,220,186,117, 11,113,113,113, 63,227, 45, 71,225,180,111,223,254,130, 80, 40,116,169,165,153, 36, 53, 46, 46,
+110, 96, 45, 5,195,202,211,167, 79,163,174,206,240, 87,175, 94,173, 90, 40, 85,237, 12, 95,243,131,193, 18,104,212, 26,148,149,
+203, 95, 21,226, 58,161, 85, 86, 86,134,177, 99,199,190,230,104,229,228,228,212,123,127, 20, 69,225,251, 83,167,112, 41, 44, 12,
+239,251,248,224,248,157, 59, 8,157, 52, 30,238, 46, 77, 64, 24, 10,132, 2,210, 14,109, 71,126, 73, 41,126,189,114, 3, 5,178,
+114, 76,232,213, 11,110,230,182,117,243,242,248, 3,252,186,249,243, 47, 71, 61, 2,143,199, 5, 13, 22, 68, 83, 14,103,143, 62,
+224,208, 52, 44, 28, 90,130,207,227,129,199,227,226, 89,122, 30, 60,218,119, 17,132, 11, 68, 3, 26, 35,180,154,185,180, 4,195,
+ 48,152, 60,121, 50, 14, 31, 62, 12, 27, 71, 23, 88, 52,107,143,111, 54,238,193,251,253,123,213,123,255,149, 53,120, 46,151, 11,
+ 14,135,243,198,182,242,187, 33,238, 36, 97, 9,212,213,211,136, 37, 0, 33,104,186,118, 45,154,174, 93,139, 59,186,255,244, 44,
+ 43,131, 92, 46, 7,186,122, 53, 72,100,169, 84, 42,164,167,167,171,179,178,178, 28,106, 56,158,173, 82,169,234, 21, 54,251,246,
+237,139,153, 50,101, 74,103,107,107,235,123, 49, 15, 31,106,188,125,124,120,231,118, 45, 59, 89,217,108, 8, 0, 62, 62, 62, 5,
+203,150, 45, 59, 57,113,116,208,176,157,193, 31, 49, 51,215, 28,224, 10,197,226,206, 65,139,247,197, 28, 26, 61,186,254,246, 30,
+165, 50,197,219,219,155, 24,114, 95,229,229,229, 89,117, 28, 30, 10, 96,117,167, 78,157,204, 3, 3, 3, 17, 25, 25,137,145, 35,
+ 71, 42,213,106,117, 50, 0, 12, 25, 50,164,237,175,191,254, 42,120,244,232, 17,236,236,236,120,169,169,169,123, 81, 79, 7,121,
+129, 64,208,167, 75,151, 46,180, 82,169,124, 67,100,133,134,134, 98,220,184,113,104,219,182, 45, 88,150, 69,105,105, 41, 2, 3,
+ 3,121, 91,183,110,237, 99,160,208,154,231,238,238,254, 61, 42, 70, 29, 86,205, 11, 19, 80,209,172,133,252,252,252,172, 7,183,
+175,196,247,234, 63,162,115,139, 54,237,157,226, 98,238,215, 73,104,111,111,191,148,166,233, 49, 44,203,114, 74, 74, 74,210, 31,
+168, 84,109, 60, 93, 92, 28,122, 12, 27,134, 98, 30,143,179,229,202, 21, 58, 91, 38, 51, 5, 96, 80, 19,164, 66, 83, 6, 23,215,
+138,174,126, 35,199, 14,195,253,251,247, 49,234,163,225,224,243,249,224,114,121, 21,239, 38,191,194,209,178,180, 53, 55,232,217,
+212,104, 52,250, 60,188,178,159,151, 90,173, 70,101,215, 44, 19, 19, 19,253, 49,165, 82, 9,138,162,234,122, 54,220,142,174, 89,
+ 97, 47, 54,183, 0,163,209,192,107,216, 40,253, 51,125,251,167,157, 98,176,172,184, 40, 53, 5,115,194, 78,243, 96,132, 17,181,
+184, 90,117,105,145,170, 66,233,109, 65, 81, 84,120,112,112,240, 50, 0, 36, 56, 56,120, 89,229,126, 72, 72,136, 28, 64,102, 35,
+197,214, 27, 46, 23,247, 93,136,172,202,230,133,186, 16, 24, 24, 56,199,204,204,108,107,229,126,250,173, 76,164,223,202,132, 71,
+ 59,175, 30,157,124, 58, 23,143, 27, 55, 14, 54, 54, 54, 88,188,120, 49, 1,240,115, 67,255,255, 89, 82,188, 41, 0,226,228,228,
+180, 88,151, 33,251,220,185,115,199,238,238,221,187,232,210,165,203, 43,235, 94,173, 70,207,158, 61,235,162,146,233, 58,181, 47,
+120,119, 46, 25, 11,181, 90,141,242,114, 57, 84, 42, 53,180, 26, 22, 90,173, 22,190, 94,102, 56,176, 39,184,226, 55,109,165,123,
+ 86,225,154, 53,117, 52,131,153, 41, 79, 67,211,148,252, 94, 76, 86,141, 57,166, 74,165, 66, 76,106, 42, 30,190,120, 1, 0,248,
+ 32,164,238,142,175, 7,174, 68,194,211,211,179,190,208,182,110,234,236,136,151,151, 98, 42, 50,111,121, 58,238,254,121, 20,102,
+102,166, 0, 0,175,128, 9,224,243, 43,132, 86,153, 92, 13,219,118,205, 64, 17, 82,235,180, 0, 38, 86,142, 23,184,124,145, 11,
+ 97, 88, 16,194,130,176, 12, 8, 97,193,225,241, 77,230,204,248, 4, 44,203,192,207,207, 15, 20,135, 3, 70,163,196,232,161, 3,
+ 80, 88, 44,131,141,165, 97,133, 4,159,207, 71, 64, 64,128,184,182,227, 79,158, 60,145, 87, 21,102,117,167,145, 6,101,101,114,
+ 40,149, 74,168, 85, 90,168, 53, 90, 48,173,248,248,250,203,241,208,170,181, 40,255,200, 31,106,141, 22,236,252,225, 80,171, 52,
+ 72, 51,161,105,111, 15, 91, 13, 13, 74,254, 32, 33,215,188, 62,161, 85, 41, 14,106, 67, 77,125, 2,107, 17, 91, 15,167, 76,153,
+226,235,237,227,115,127, 76,127,159, 13,177,113,241, 47, 99,227,226,223, 56,207,165,173, 79,202,204,208,195,139,120,124,177,111,
+208,226,186, 71, 29, 86, 69,213,102,196,183,196, 50,153, 76,230,109,106,106,138,164,164, 36,112, 56, 28, 80, 20,245, 4,128, 55,
+ 0, 56, 57, 57, 61,229,114,185,174, 28, 14, 7, 59,118,236,160,184, 92,110, 7,127,127,255,101, 10,133,226,104, 29, 21, 58, 15,
+ 51, 51,179,215,220, 44, 62,159,143,224,224, 96, 76,156, 56, 81, 47,178,248,124, 62,246,237,219,135,206,157, 59, 67,165, 82,121,
+ 24, 24,222,187, 0,122, 25,224,248, 81, 58,113, 94,175, 24,213,106,181, 83,242,199,140,105,131,136, 8,244,112,117,245,244,245,
+245,133, 90,253,202,208,116,117,117,109, 38,147,201,178,228,114,249,127, 81, 49,181,193,131, 58, 69,145,130, 69,234,179,138,238,
+167,247,239,223,135,159,159,159,222,193,170,234,102,241,249,124,136, 5,166, 13, 18, 90, 44, 91,145, 47,201,100, 50, 58, 34, 34,
+194,214,221,221,157, 2, 0,119,119,119,234,193,131, 7,214, 38, 38, 38,121,173, 91,183,174,183, 2, 44, 54,183,192,190, 41, 99,
+ 1, 0, 95,245, 31,164,175, 24,157, 95,189, 12, 60, 30, 15,253, 22, 47,123,227,185,103, 89,150, 3, 35,140, 34,203, 0, 45,242,
+174, 68, 86,117, 71, 43, 36, 36, 36, 62, 36, 36,228, 13,119,172,129,168,223,209,170,106,221, 53, 20,149, 47,107,109,216,184,113,
+ 35, 58,116,232, 80,103, 65,180,117,235, 86, 28, 60,120,112, 35,128,103, 13,182, 28,251,117,242,194,166, 19,241,174,109,189, 40,
+ 0, 88, 51,127, 40, 93, 86, 86,134, 27, 55,110,192,194,194, 2, 79,158, 24, 60,237,151,153,133,133,197,106,154,166, 71,115,170,
+143, 0,168, 89, 96, 50, 44,203,134, 21, 23, 23,215, 58,189, 3, 33,128, 90,163, 69, 89,185, 2, 42,149, 10,243,191,216, 94,111,
+ 32, 66, 0, 74,173,146,113, 3,122,251,139,107,115,116,252, 58,244,193,172, 73,166,111, 20,222, 28, 26,160,105,160,163, 95,133,
+227,242,224, 78, 60, 88, 22, 96, 88,192,214,222, 10, 63, 31,218, 80,167,200,215, 50,172,174,118,204,160, 84,201,192,163, 91, 16,
+ 50, 18, 34,244, 14,146,128, 95,209,100,204,231,241,192, 18,170, 98,214,135,218,132,144, 64,236, 82, 40,125,230,182, 39, 60, 22,
+211,130, 58,224,183,203, 49, 24,213,223, 27,215,110, 63, 66, 96, 87, 79,196, 39,191,128,151, 91, 11,236,216, 27, 6, 66, 32,251,
+ 97,211, 55, 89,175, 10, 52,109,170, 33,142,214,173, 91,183,228,213, 93,172,170, 91, 82,127,121, 8, 66, 94, 57, 90,114,133, 18,
+139,151, 26, 52,157, 79, 69, 26,245,234, 38, 54,228,228,186, 28, 43, 67,132, 88,117,103, 11,245, 76,207,210, 10, 64,103, 96,201,
+255,101,198,201, 48, 12,206,156, 57,163, 79,143,154,210,177,106,218, 25, 32,114,144,154,154,138,248,248,120,116,235,214, 13,197,
+197,197,224,209, 52, 22,197,198,194,115,210, 36,168,248,124,176, 44, 11,129, 64,128,233,211,167, 27, 28,159, 13,204,157,117,157,
+185,153,250,200, 55,248,251,251,183, 73, 42, 43, 67,124, 98, 34,250,175, 90, 5, 0, 56,123,246,236,107,207,196,194,133, 11, 5,
+143, 30, 61,154,122,239,222,189,169, 47, 95,190,220, 8, 96, 81,173,249, 44, 81,234,251,104,141, 25, 63, 18,109,220, 91,225,224,
+ 47,135,244,199, 23,126, 62, 15, 60, 30, 31, 60, 62, 15,150, 22,150, 6,221,141, 70,163,209,139,214,242,242,114,250,236,217,179,
+ 77, 7, 12, 24,192,159, 55,111, 30, 5, 0, 7, 15, 30,164,183,109,219, 38,185,116,233, 18,191, 73,147, 38,210,122,197,165, 90,
+253, 70, 26, 83, 20, 5, 30,143, 7,190,128, 15,176, 44, 40,138,146,172, 95,191,126, 77,124,124,124, 23,119,119,119, 40,149,202,
+ 73,168, 24,168, 97,156, 71,203, 40,182,234,212, 34, 53,245,181,210,185, 82,181, 33,183,106,191,173,218,132, 90,213, 62, 91,104,
+220,160, 12,195,250,104,213, 4, 14,135, 83,175, 91, 69,211,116,189, 77,135, 11, 23, 46,132,153,153, 89,109, 5, 16,137,141,141,
+125, 36,149, 74,247, 0,216,222,168,196,185, 18, 29,191,122,193,112, 25,116,109,171,150,150,150,121,125,251,246, 45, 5,160, 62,
+122,244,245, 10,178, 82,169,172,181, 0,183,176,176, 88,253,211, 79, 63,205, 29, 54,108, 24, 93,125,138,129,170,205,123,149, 31,
+141, 70,131,163, 71,143,206, 93,178,100, 9,138,139,139, 23,212, 85,136,151,151,201, 33,215,117,132,126, 26,247,155,161,153,122,
+173,135, 76, 45,157,208,180,149,119,173,133, 9,205,175,232, 67,228,208,252, 85, 1,102,102, 38, 2, 83, 7, 39, 69,209,207, 94,
+164,189,108,210,204,209, 26, 79,211,115,225,208,162, 3, 10, 51, 95,197, 3,151,203, 1, 79,215,116,104,105, 46, 65,110, 78, 14,
+104,154, 83,167, 48,254,230,215,104,220,142,123,129, 99,151, 31, 64,173, 40,195,166,253,231,161, 86,150, 66,173, 40,131, 90, 81,
+177, 93,183,228, 51, 80, 20,178, 52,202,178,182, 13, 73,119, 46,151,139,174, 93,187,214, 42,116, 50, 51, 51, 13,116,180,136,222,
+209,146, 43, 26,152, 70,134,213,156,234,116,172, 42,143, 55, 86, 24, 84, 78,249, 32, 22,139, 59,239,219, 87,251, 52, 14, 53,193,
+209,209,241,156,169,169,105, 75, 67,207,111,192,228,165,235, 44, 45, 45, 87,187,187,187,123,108,218,180,137,199,225,112,208,175,
+ 95,191,182,142,142,142,169, 0,224,229,229,229, 92,153,199,204,156, 57,147,220,186,117, 43,174,162,142, 81, 59, 4, 2, 65,162,
+133,133, 69,231,192,192, 64, 20, 23, 23, 35, 61, 61, 29, 18,137, 4,158, 27, 54, 32,118,230, 76,248,236,218, 5,186,111, 95, 80,
+ 20, 5,129, 64,128,216,216, 88,136,197,226, 68,133,162,214, 41,223,186, 2,248, 14, 64, 15,188,106, 46, 36, 0,110,160, 98,218,
+133,219, 53,228,119, 52, 0, 48, 44, 91, 95, 98,141, 95,188,120, 49,138,120, 60, 96,200, 16,240,159, 61,131, 90,173, 70,183,110,
+221,244, 46,123,183,110,221,192,229,114,225,237,237, 13,103,103,103,236,216,177, 99,124, 93, 66, 75, 81,170, 70,234,179, 12,248,
+251,251,235,157,171, 33, 67,134,232, 29, 45, 30,143,167,119,182, 40,166,126,225, 74, 81, 20,169, 90, 73,102, 24,134,226,114,185,
+220, 5, 11, 22, 80, 35, 71,142, 36, 42,149,138, 21, 8, 4,244,177, 99,199,168,107,215,174,113,203,202,202,234,173,136,183, 31,
+ 62, 26, 95, 13, 24, 92,241,238,183,180, 3,143,207,131,128,207,199,226,196, 12,125,186,152,239, 59, 44, 8, 13, 13, 29,229,238,
+238, 94,209, 12, 15,112,141,243,104, 25, 81,143,209,147, 91, 77, 36,169,170,236,231, 2,160,116,251,185, 85, 4, 85, 46, 69, 81,
+119, 9, 33, 93,170,157, 91,121, 92, 85,109, 91,121,252, 97, 35,130, 95,185,214,225, 27,226,171,174, 26,113,242,205,155, 55,221,
+124,125,125,145,150,150,246,198, 72,184,202,130, 75, 34,145, 64, 44, 22, 35, 42, 42, 10, 0,146,107, 35,187,118,237,218, 54, 84,
+204,186, 92, 17, 34, 39, 39,255,192, 49,125,162,252, 6,117,193,175, 33,135,138,165, 82,169, 55, 94,205,161, 67, 57, 59, 59, 79,
+228, 9,184, 99, 93,219, 55, 15, 0,203,126,119,229,244,141, 85,117,221,161,107, 91,175, 82, 0,242,202, 81,135,141, 28,125, 8,
+154,166, 71, 15, 27, 54,140,126,244,232, 17,198,142, 29,139,131, 7, 15,214,122,238,196,137, 19,113,248,240, 97, 12, 27, 54,140,
+ 94,186,116,105,173,211, 59,188,238,150,168,222,217, 67,153,244,228, 33, 14, 28,254,169,214, 62, 72,246,246, 21,253,177,114,114,
+242,244,191,117,241,173,187,101,132,213,170, 46, 69,223,187,227,223,189,119, 63,126,122,118, 17, 88,173, 18, 10,217,171,235,203,
+139,178, 65,180, 10,240, 77,172,225,104,107,129,251, 55, 47,170,212, 42,197,165,186, 56,231, 14,243,194,204,161, 30, 0, 97, 49,
+124,209,207, 8,223, 62, 71, 95,131,238, 57,114, 30,174, 28,221, 98,112, 31,191,234,224,241,120,136,141,141,149,215,230,102,113,
+ 56, 28, 67,230,228,210,185,142, 26,148,151,203, 81, 46, 87,188,203,188,195,206,193,193,225, 7, 43, 43, 43, 81, 45, 66,202,206,
+206,206,238, 7, 27, 27, 27,145,161, 77,135,181,137, 44,221,188, 90,247,166, 76,153,210, 32,177, 37, 20, 10, 91, 38, 39, 39,235,
+ 39, 43,173,107,171, 82,169, 16, 24, 24,104,232,228,165,167, 1, 60,119,114,114,186,225,233,233,105,241,244,233, 83, 28, 58,116,
+136,207,227,241,154, 87,230, 31, 50,153, 12, 28, 14, 7, 57, 57, 57, 26, 0,159,160,158,166, 51,165, 82, 25, 17, 17, 17,209,113,
+232,208,161,156,196,196, 68,112, 56,156,138,112,249,251,195,103,215, 46,196, 45, 88,128,128, 23, 47,160, 80,171, 33, 18,137,112,
+225,194, 5,117,121,121,121, 68,109,124, 98,177,120, 79, 74, 74,138,151, 72, 36,130, 90,173, 6,203,178,160,105,154,226,114,185,
+ 61, 45, 45, 45,183, 2,232, 82, 45,177,236,125,186, 4,182, 99,180, 90, 70,154,246, 52,183,190, 8,200,207,207,199,233,211,167,
+209,173, 91, 55, 4, 4, 4, 32, 51, 51, 19,207,158, 61,195,251,239,191,175, 63,231,225,195,135,136,142,142, 70,235,214,173,235,
+119,244,104, 13, 90,183,107, 9, 62,159, 95,225, 16,241,248,186,138, 15, 79,239,100,241,121,124,240,184, 60,136,196, 34,131, 29,
+ 45,138,162, 64,211, 52, 40,138,130, 88, 44,174,172,100,179, 77,155, 54,149, 22, 20, 20, 56, 1,224,136,197, 98, 48, 12, 99, 80,
+165,165,178,140,168, 20, 89,124, 1, 95,239,108, 1, 64, 81, 81,145, 98,216,176, 97,255, 85, 42,149, 31,163,113, 43,148, 24,241,
+ 47, 3, 69, 81,119,255, 47,174,109, 0,134,232,132,213, 27,157,226,235,122,192,223,239,222,189,251,174,113,227,198,245,219,188,
+121, 51, 76, 77, 77, 33,149, 74,245, 5,162, 64, 32, 64,179,102,205, 80, 80, 80,128,221,187,119, 35, 35, 35,227, 42,128,233,134,
+134, 72, 42,149,222,122,242, 32, 57, 63,112, 84,119, 27,175,238,237, 44,211,147, 51,186, 73,165,210, 40,157,200,250,121,220,194,
+247, 63, 14, 28,225, 7,190,128,135,244, 39, 89,184,114,250,198,255,151,196,228,112, 56, 28,138,162, 48,118,236, 88,131,206,255,
+232,163,143, 16, 17, 17,129,186,154, 25,217, 74, 71,171, 92,129, 50,249,187,171,172,205,154, 51, 17,179,230, 76,212,139, 9, 67,
+154, 94, 0,192,217,249, 72, 29, 66, 75,189, 57,252,200,238,105,157,252,252, 93, 58,123,181,196,237,123, 15,240,235,174, 87, 38,
+195,222,109,107,240,237,222,171,104,230, 96, 5,181,178, 12,231,126,251, 49, 75,173, 44,223,220, 72, 83,174, 66,220, 82, 20, 8,
+ 97, 27,116,239,149,226,137,199,227,161,125,251,246,181, 58, 90, 5, 5, 5,242,250, 10, 6,125, 26,169, 52, 40, 45,147, 67, 94,
+254,206,132,150, 79,207,158, 61, 47,133,133,133,217,216,219,219,227,229,203,151,213,133,150, 79,143, 30, 61, 46,133,133,133,217,
+ 56, 56, 56, 32, 61, 61,221,224,105, 69,106, 16, 89,200,205,205,165, 10, 11, 11, 89, 43, 43,171, 6,137, 45,154,166,161, 84, 42,
+145,144,144, 96,232,223, 26, 60, 66,204,194,194, 98,223,225,195,135, 45,242,242,242,192,225,112,144,144,144,240,218,168,195,202,
+207,207, 63,255,204, 31, 62,124,248, 79, 69, 69, 69,117, 14,107,211,106,181, 27, 39, 78,156, 56, 53, 51, 51,211,202,222,222, 30,
+ 82,169, 20, 2,129, 0,132, 16, 80,129,129,232,245,252, 57,212, 12, 3,177, 88,140,164,164, 36,236,217,179,167, 76, 55, 85, 76,
+141, 6, 25, 69, 81,110,124, 62, 31, 19, 38, 76,120,237,192,254,253,251,241, 65,103, 78,103, 59, 11,110,169, 22, 34,101,182,120,
+240, 57, 14,135, 67,249,116,237,219,182,107,239, 33,237, 31,199,221,126,154,155,157, 81, 95,166,164, 81,169, 84,112,119,119,199,
+221,187,119,113,249,242,101,244,237,219, 23, 1, 1, 1,136,137,137,193,197,139, 23, 17, 29, 29, 13,138,162, 96, 99, 99, 83,217,
+253,162,206, 62, 24,170,114, 45,114, 94,230,191,225, 94, 85,223,231,243,249, 80,202,213, 6,165, 81, 98, 98, 34,238,222,189,171,
+159, 90,134,195,225,104, 39, 77,154, 4, 66, 8, 73, 73, 73,129,153,153, 25,153, 50,101, 10,195,229,114,181,153,153,134,245, 15,
+174, 20, 85,149, 34,139,203,231,189, 38,208, 88,150,149,197,196,196, 76, 3, 16,163,115,178, 0,227, 60, 90, 70,252,111,227, 12,
+222, 92, 88,186, 94, 71,235, 57,128,254,135, 14, 29, 26,127,242,228,201,141, 91,183,110,181, 11, 10, 10, 66, 97, 97, 33, 92, 92,
+ 92,224,228,228,132,240,240,112,156, 61,123, 54,143, 97,152, 69, 0,106,178,126,250,163,142, 57,107, 50,159, 74,195,148,165,165,
+ 51,125, 3, 60,112,245,232,245, 16, 71, 71,199,233, 28, 14,103,254,148,101, 31,126,220,103, 88, 23, 36, 69,167,224,214,197, 88,
+100,167,229,213,203, 89,189, 51,188,165,165,229, 84, 19, 19, 19, 1, 0,117, 13,181,226,234,163, 14,245,156, 12,195, 48, 42,149,
+ 10, 71,142, 28, 49, 72,108, 29, 58,116, 8, 10,133, 2,204,155,237,171,122, 78,194, 18,138,203, 19,194,185,153, 59,212,234, 50,
+176,108,163, 7, 84,234, 57, 43,107,160, 79, 5, 2,216,231,229,225,246,237,219,134, 73,238, 33, 67,234, 75, 35,133, 74, 33,155,
+176,101,237,226,240,217,193,223, 89,246,237,222, 17, 95,109,216, 15,181,122, 47,104, 14, 13,177,144, 15, 95,191, 30,224, 64,137,
+ 31, 66, 63, 47, 42, 47, 41,156,128, 55,151,226,121,141,147,212,213,194, 66, 0,134,101,113, 57,242,142,193,247,174, 47,237, 25,
+ 6, 92, 46, 23, 79,158, 60,145,215, 52,218,144,195,169,104,230,172,172,169,215,197, 73, 88,150,226,241, 69,104,230,226, 9,149,
+178,244,157,164,145,189,189,253,231, 39, 78,156,176,169,156, 42, 33, 38, 38, 6, 20, 69, 37,188,114, 28, 43,142,203,229,114,196,
+197,197, 33, 38, 38, 6,168, 24,225,102,240,123, 84,233,100,229,230,230, 82, 82,169, 20, 38, 38, 38,116, 76, 76,140,210,219,219,
+251, 94, 61,239,183,158, 83,161, 80,188,168,173,255,164, 66,161,104, 34, 18,137,120,213, 10, 81,231, 54,109,218, 36,213,208,132,
+248, 70, 56,139,139,139,111, 47, 89,178,196,119,208,160, 65,248,252,243,207, 11,172,172,172,204,126,248,225, 7, 46,135,195,161,
+102,207,158,205,228,228,228,148,254,248,227,143, 22, 39, 79,158, 68, 81, 81, 81,148, 1,247, 46, 83, 40, 20,211,186,119,239,190,
+255,252,249,243, 38,110,110,110, 40, 41, 41, 1, 33, 4,251,246,237,195,236,217,179, 33, 18,137,144,148,148,132, 15, 62,248,160,
+188,188,188,124, 26,222,236, 59, 89,201, 73, 81, 20, 69, 88,150,197,138, 21, 43,244,147,147, 86, 78, 86,106, 38,166,176,103, 97,
+ 43,201,188, 31,139, 37,227,191,250,113, 18, 0, 48, 90, 45,243, 56,238,246,211,125,219,191,186,198,231,243, 35,235, 73,163,229,
+243,230,205,251, 97,200,144, 33, 98, 83, 83, 83, 20, 20, 20,224,198,141, 27,184,121,243, 38,110,221,186, 5,149, 74, 5, 27, 27,
+ 27, 88, 89, 89, 65, 42,149, 34, 49, 49, 81, 14, 96,121, 93,156, 2, 19, 30, 92,219, 86,142,252,173,112,176,120, 85, 70, 27, 86,
+117,183,248, 60,158, 65,239, 81,239,222,189,209,181,107,215, 74, 1,196,164,166,166, 74,149, 74, 37, 85, 69,244,103, 86, 10,242,
+230,205,155,107, 15, 30, 60, 72,234,226,188,181,103, 7,206,127,189, 28, 2, 62, 31,139, 18,210,245,162,107,127,223, 78,224, 9,
+248,240, 24, 58,178,234,181, 59, 81,209, 92,136,106, 34,171,174,178,227,173,223, 77, 35,231,223,150,243,127, 25, 82, 52, 98, 9,
+158, 74,252,170, 80, 40,206,125,246,217,103,161, 62, 62, 62,159,109,218,180,137,226,243,249, 88,181,106, 21,121,249,242,229, 47,
+186, 90, 72, 97, 99, 66, 69, 8,249,229,143,227, 81, 51, 38, 7, 15,163, 22,110,158,210,243,222,149,184,196, 14,221,221,208,161,
+187, 27,238, 93,125,132,237,203, 14, 29,100, 52,204,138,172,172,172,180,122,168,148,253,123,180,171,222, 25,222, 38,226,218, 21,
+155,134,142, 58,100, 89, 54,236,208,161, 67,115, 71,140, 24, 65,223,185,115,231,141, 62, 89,149,203,238,176, 44,139, 75,151, 46,
+ 65,173, 86,227,151, 95,126, 97, 89,150,173,125, 30, 45,144, 83, 91, 54,135, 78,254,229,192, 41,129,128, 79,225,102,228, 49, 20,
+ 23,214, 61,170,139,207,231,225,231,125,199,213,124, 62,239,113, 77,199,213,106,117,250,149, 43, 87, 28, 6, 50, 12,143,166,233,
+154, 4, 84,141, 8, 11, 11,211,176, 44,155, 90,207,105, 81,217, 25,105, 67,191,249,252,147, 67, 67,198,124,230,208,189,123, 79,
+158,173,189, 3, 40,138, 66, 78,118, 14,146,226,238,104,206, 29,251, 41,187,172,220,176, 37,120, 62,249,254, 15,125,159, 44, 0,
+ 8,154,189, 85,223, 63, 11, 0,134, 78, 89,130,192,110, 94,160, 12,177,158, 94,137, 44, 86,171,213, 66, 34,145, 64,171,213,214,
+ 56,197,131,133,133,133, 88,161, 80,200,117, 19, 49,214,105, 21, 17,224,157,167, 17,195, 48, 30,133,133,133, 40, 43, 43,195,205,
+155, 55,201,218,181,107,115,115,115,115,245,157, 54, 53, 26,141, 71, 65, 65, 1, 74, 75, 75, 17, 21, 21, 69, 66, 67, 67,115,243,
+243,243,151, 53,228, 29, 18,139,197,157,185, 92,238,189,194,194, 66,214,196,196,132,214,104, 52, 26,111,111,111,161, 88, 44, 54,
+120, 65,117,169, 84, 58,168,182, 99,174,174,174,201,201,201,201,109, 24,134,169,186, 6, 34, 95,161, 80,184,117,239,222,221,144,
+252, 99,222,222,189,123,113,252,248,113,191,146,146,146,137,169,169,169,251, 1,248,113,185, 92, 60,120,240, 32, 65,161, 80,140,
+ 27, 49, 98,196,190,194,194,194,219,168, 88,130,199, 16,156, 79, 74, 74,154,224,225,225,177,119,245,234,213,166, 1, 1, 1, 92,
+103,103,103,116,233,210, 5, 73, 73, 73, 56,115,230,140,102,231,206,157,101,229,229,229,159, 0,184, 84,119,178,131,210,106,181,
+ 16, 8, 4,250,143, 80, 40, 4,159,207,135, 76, 78,240,233,134,103,114, 45,196,242,141,171,166,157, 33, 0,149,149,254, 44, 47,
+ 39, 43,253, 54, 69, 81,145, 82,169,180,184,150, 56, 19, 40, 20,138,142,132, 16, 14, 69, 81,155,213,106,245,148, 57,115,230, 56,
+173, 91,183, 14,237,218,181, 67, 94, 94, 30, 36, 18, 9,220,220,220,144,155,155,139, 59,119,238, 48,229,229,229,187, 0,172,129,
+174,255, 72,109, 40,202, 43, 65, 83,199,230,175, 57,159,132, 16, 16, 6,208, 40, 25, 48,106, 2, 21,165, 1,143,167, 1,159,207,
+ 55,196,121, 34, 44,203,162,208,201, 9,108, 92, 28,110,221,186, 5, 66, 72,173,174,154,187,187,187, 1, 25, 59, 11,129, 80,240,
+ 90,115, 33, 69, 81,224, 11, 4,224, 9,248, 53,141,156, 49,186, 88, 70,252,163, 97,104,219,120, 17,128,233, 15, 31, 62,220,223,
+167, 79,159,112, 66, 8, 15, 21,237,145,215,223,230,207,179,178,178,238, 71,157,185,191,212,161,169, 85,232,224,137, 61,209,174,
+163, 11, 24, 45,131, 27,103, 31,224,151,117, 39, 15,103,166,103, 78,129, 1,107,159,177, 44,123,173, 71,231,118, 52,170,204,213,
+237,236,236,204, 54,102,212, 97,113,113,241,202, 69,139, 22,225,243,207, 63,111,204,168,195, 26, 17,155,152, 59,157, 2,105, 58,
+116,112,175,129,160,104,162, 82, 41,235,200,248,160,159,185,148,207,231, 61,190, 27, 35,245,174,233,188,220,220,220,129, 31,127,
+252,241, 37, 46,151,219,178, 33,113,206,178,108,106,118,118,118,191,250,207,212,222, 80,202, 75,220, 78, 31,222,189,224,252,241,
+189, 3, 89,150,105, 77, 1,224,112,249, 79, 53,106,245, 5,165,188,100, 19, 12, 92, 84,122,253,116,127,204,219,114, 17, 59, 62,
+ 31,138, 57,161, 71,241,211,138, 79,177,116,195, 33,124,247,249, 60,172,221,250, 95,124, 53,111, 2, 70,141,255,152, 37, 20,253,
+167,161,247,193,225,112,206,239,222,189,123,242,167,159,126,170, 31,180, 64, 8,121, 45, 99,215,104, 52,114,150,101,177,107,215,
+ 46, 22,192,249,186,248, 94, 79, 35,138,212,213, 95,202,208, 52, 42, 41, 41,249,196,223,223,127, 31, 0, 33, 33,228, 73, 97, 97,
+225,127,128, 87, 75, 67,149,150,150,126,210,189,123,247,125,132, 16, 33, 69, 81,111, 28, 55, 4,186,169, 30, 58, 91, 89, 89,221,
+211, 57, 89,194,198,116,136,175, 43,170,235,104, 86, 52,164, 9,145, 5, 48,167,202,140,239,235,252,252,252,170, 46, 42,157, 80,
+ 88, 88,216,185, 17,225,186, 36,151,203,189, 86,172, 88,177, 64, 36, 18, 5,150,151,151,183, 5, 0,137, 68,146,164, 84, 42,175,
+201,229,242, 77,168,127,110, 42, 21,203,178, 73, 90,173,182,189,157,157, 93,197,136, 90,157,216, 2,128,223,239, 49,247, 0,166,
+ 75,133, 41,254,171,193, 1, 59,123,246,108, 11, 43, 43,171,247, 40,138, 26, 69, 8,113,151,201,100,202, 21, 43, 86, 68,133,133,
+133, 21,183,108,217,114,240,144, 33, 67, 40,107,107,107,220,189,123,151,228,231,231, 31, 3,176, 12, 6,140,180,102, 89, 54,117,
+253,250,245,104,232,251, 94,215,113,181, 90,157,117,246,236, 89,219, 65, 57, 57, 92,150,101, 49,116,232,208,215, 4, 92,117, 60,
+126,252, 24, 74,165,178,206,201, 28,149,197,133,232,187, 96, 9,160, 27,253, 89,137, 10, 39,139,128,168,140,186,202,136,127, 23,
+254,234, 5, 61, 13,178, 22,157,156,156,198,138, 36,194, 89, 46,109,157,188, 95, 62,203,121, 36, 43, 46, 63, 40,149, 74,119,215,
+146,145, 27,196,217,192, 9, 75,141,246,239, 95,196,249,106, 30, 45, 6,132, 48, 32, 44, 1, 33, 44, 88,150,169, 88,240,154,176,
+ 32, 12, 67, 81, 20,254, 84,201,235,156, 25,188,122, 56,173,108,109,109,215, 16, 66, 6,113, 56, 28,186,170, 25, 86,245,187,206,
+201, 58,159,155,155,251, 85, 13,206,235,255, 92,124,134,133,133,213, 40,254, 13, 29,117, 56,122,244,104,166,129,239,230, 53,137,
+ 68,226, 84,211,177,178,178,178, 52,169, 84,250,222,223, 36, 62,171,142, 24,108, 8,103,131, 71, 29,214,199,233,226,226, 34, 84,
+171,213,157, 0,184, 81, 20,101, 9,160, 64,173, 86, 95,200,203,203,203, 6,208, 25,192, 10,221, 53, 95, 3,184,247,127,252,190,
+139,109,109,109,247,210, 52,221,212,144,139,181, 90,173,170,160,160, 96,114,181, 10,129,158,211,198,198,230, 30,151,203,109,106,
+ 0, 79, 70,126,126,126,103, 99,254,105,228,252, 7,161,122, 39,248,105,132,144, 61,255, 63,254,184,191,145,211,200,105,228, 52,
+114, 26, 57,141,156, 70, 78, 35,231,191, 64,104,161,154,208, 2, 33,196, 56,172,214, 8, 35,140, 48,194, 8, 35,140, 48,226, 45,
+113,166,154,216, 58, 83,249,133,170, 67,149, 54,196, 18,108,140,178,189,108,228, 52,114, 26, 57,141,156, 70, 78, 35,167,145,243,
+ 95,199,249,175,192, 95,178, 50,197, 59, 74, 32, 35,167,145,211,200,105,228, 52,114, 26, 57,141,156,255, 62,206,255,101,212,218,
+116, 72, 27,227,198, 8, 35,140, 48,194, 8, 35,140, 48,226,175,129,193, 66, 75,226,224,238, 97,235,226,189,207,170,105,135, 24,
+171,166, 29, 98,108, 93,188,247, 73, 28,220, 61,254,165,241, 38, 6, 48,158,203,229, 94,114,116,116, 44, 65, 45, 75,239,252, 3,
+ 96, 14, 96, 20, 42,230,247, 25, 14,192,228, 93,146, 7, 0,220,177,192,172, 73, 64,218, 36, 32,109, 44, 48, 43,224, 31,184, 28,
+199,170,185, 78,254,145,231,198,159, 91, 53,215,201,191,198,227,139,156,108,110, 93, 28,189,101,221, 44,103,235,119,244,151,102,
+246,246,246,123, 28, 28, 28, 94,216,219,219,167,218,219,219,239, 5, 96, 97,204,238,140, 48,194, 8, 35,254, 50, 84,246,209,170,
+252,232,251,104,113, 1, 32, 60, 60, 60, 0,192, 31, 0,250, 4, 5, 5, 69, 84,191,218,170,121,251, 79, 91,183,106,253,249, 55,
+171,150, 81,142,246,182, 38, 90,134, 85,167,188, 72,247, 92,249, 77,232,111, 47, 5,220,141,133,105,113, 63, 53, 34, 80, 20,135,
+195, 25, 43, 20, 10,131, 0, 84, 10,182, 4,165, 82, 25,206, 48,204, 17, 24, 54, 76, 27, 14, 14, 14,145, 28, 14,167, 69, 67,254,
+152, 97,152,180,236,236,236,158,141,140,204,209,205,155, 55,223, 27, 16, 16, 96,226,231,231, 7,129, 64,128, 21, 43, 86, 44,146,
+ 74,165,155, 12, 37,176,178,114, 53, 83, 11, 69,243,185, 2,193, 0,162, 81,181, 39, 32, 0, 45,140, 99,181,202, 43,124,165,114,
+ 99, 97,225, 51,153,129, 84,203, 55,111,183,181, 0, 0, 32, 0, 73, 68, 65, 84, 0, 76,209,197,213, 79, 0,214,191,205, 83, 50,
+185, 35, 52, 26,166,226,153,224,115,193,156,122,110,241,199,242,229,203,185, 65, 65, 65,248,233,167,159,122,238,217,179,103,154,
+ 76, 38,187, 2,224,119, 0, 79,223,246,169,116, 0,166,119,239,217,115,203,228, 69,139, 56,242,200, 72,108,217,187,119, 51, 42,
+230, 91,218,209,208,103,137,207,199, 40, 91, 91, 94, 16, 33,232, 68, 1, 20, 5, 60,200,205,103,207,170,213,204, 17, 24, 48, 23,
+ 91, 29, 24,143,215,135,227,255,218, 80,130,226,167,228, 75,225, 80,143, 94,197, 79,175,125, 9, 96,112,245,227, 90,133,104, 50,
+225, 52, 11,146,147,232,116, 0, 27,222, 50, 90, 77,236,236,236, 98, 78,157, 58,213,212,207,207,143, 11, 0,247,238,221,155, 20,
+ 20, 20,212, 55, 55, 55,183, 61,128,146,255,163, 76, 72,196,165,233, 89, 2, 30,111, 0,195, 48, 29, 0,128,195,225,196,170, 52,
+154, 75, 90,150,221, 1, 3,231,100, 51,194, 8, 35,254,185,168, 79,139,252,205, 81,235,204,240,149, 55, 71,170,110,171, 66, 98,
+223,206,179, 91,191,145,143,139,101,229,138, 23, 47, 50, 11, 23,206, 90,123,105,218,188,239, 79,110,248, 49,252,108,196,237,132,
+ 91, 30,126,239, 61,146,216,183,243,172,133,186,182, 54,220,230, 98,177,248,254,206,157, 59,213, 73, 73, 73,164,168,168,136, 60,
+126,252,152, 28, 59,118,140,204,152, 49, 67, 33, 22,139,239, 3,104,110, 8,167,131,131, 67,246,227,171, 23, 73, 70, 76, 52, 73,
+189,119,155,104, 52, 26,162, 86,171,137, 90,173, 38,143,206,135,147,152,223,143,147, 7,199,142, 16,149, 74, 69, 84, 42, 21, 81,
+ 42,149,164, 85,171, 86, 47, 13, 12,103,117, 56,123,121,121,169,194,195,195,201,111,191,253, 70, 22, 45, 90, 68,124,124,124, 24,
+ 0,179, 13,189,119,137,189, 91,160, 89, 19,239,220, 79,131,119,168,207, 68, 93, 32,241,207, 31,144,248,231,201, 36,236,114, 2,
+153,178,120,171,218,172,137, 79,174,196,222, 45,176,190,123,183,178,178,234, 70, 81, 20,169, 4, 0,210,162, 69,139,210,170,159,
+230,205,155,191,246,105,214,172, 89,105,203,150, 45,159,218,216,216,116,170,137,115, 92, 7, 16,242,232, 87, 66, 30,253, 74,150,
+247, 6,137,143,143,191, 69, 8,249,163,242, 35,151,203,255, 56,113,226,196, 31, 31,126,248,225, 31, 0, 62,168, 35,158, 12,138,
+207, 73, 64,154,236,212, 41, 66, 54,109, 34, 36, 32,128, 36, 0,100, 18,144,214, 64,206, 86,142,142,188, 7,223,175,159,166, 58,
+117,234, 23,114,238,220, 25,114,246,108, 56, 57,121, 98, 47,217,188,105,150,218,193,129, 23, 7,160, 77, 3, 56,185, 0,214, 2,
+216,136, 10,231, 50, 41, 55, 55,151,100,101,101, 17, 0, 73,186,223, 54,218,217,217,109, 64,205,238, 91,255,170, 78,214,130, 65,
+142,231,198, 12,238, 73,100,197, 47,201,152,193, 61,201,130, 65,142,175, 57, 91,131, 92, 93,205,230, 12,237,144, 27,127,239, 32,
+ 51,103,104,135,220, 65,174,174,102,141,140, 79, 10, 21,235,132,238,188,122,245,170,150, 84,129, 70,163, 33,251,247,239,103,172,
+172,172,126,105, 0,103, 91, 59, 59,187, 84,107,107,235,164,170, 63,218,121, 15,239,238,222,107,210, 74, 27,207, 15, 3, 26, 16,
+ 78, 63, 17,159,159,113,233,232, 15, 76,126, 90, 44, 81,201,179, 73,241,147,104,146,145,112,139,236,223,189, 81, 35,224,114, 51,
+ 0,248,189,205,179,212, 64, 24, 57,141,156, 70,206,191, 33,103, 93, 90,228,127, 17,111, 76,239, 80,219,141, 9,133,130,224,149,
+203,151, 80, 69,249, 69,114, 69,137, 76,165, 81, 40, 20, 52,159, 40, 98, 31, 61,207,161,185,156,162, 5,243,230,154, 5, 47, 93,
+ 30, 92, 6, 76, 48,240,191,155,251,248,248,220, 57,126,252,184,189,181,181, 53,138,139,139,145,159,159,143, 59,119,238,128, 16,
+130, 17, 35, 70, 8,187,118,233,210,233,203, 21, 43,110,102,100,102,250,163,246,130,247,149,120,177,182,197,250,158, 21,107,209,
+126,245, 34,191,162,212,161, 40,236, 25, 29,164, 63,103, 77, 70,197,106, 25, 34,145, 72,191, 32,113, 35,224,223,175, 95, 63, 62,
+ 0, 76,157, 58,181, 68, 38,147,133,232, 28, 14,131, 86, 90,149,216,187, 5,218, 58, 57,135,255,176,107,189,184, 67,107, 55,168,
+ 53, 90,164,102,189, 4,151,103,137,166, 77,249,248,120,194, 0, 94,239,238,214,182,107,191,222,115, 38,139,197,240,242,188,228,
+ 11,181,113, 89, 90, 90,238, 63,114,228, 8,142, 30, 61, 10, 0, 72, 74, 74,130,155,155,155,164,190, 48,196,197,197,185,126,240,
+193, 7,135,243,243,243,219,212,119,110,245,137,241,133, 66, 33,122,246,236, 9, 79, 79, 79,156, 58,117,170,143,206,217,122, 43,
+200, 35, 35, 97,250,240, 33, 16,209,168,202, 75, 43, 95, 95,151, 91,103,207, 28,180, 61,115, 54, 1, 27, 54,236,197,211,167, 21,
+ 70,155,171,171, 43,198,143, 27,205,139,141,141,242, 26, 53,106,124,212,245,235, 79,123,234,132, 82,125, 88,253,227,143, 63, 46,
+107,217,178, 37, 70,141, 26, 53,218,203,203,203,209,220,220, 28,187,119,239,134,147,147,147,171, 74,165,122,114,234,212, 41,231,
+172,172, 44,204,157, 59, 23,217,217,217,139,106, 35,234, 51,176,207,151,194,161, 30,189,218,249, 78,134,169,185, 19,126, 60,116,
+ 4,143,239,239,239,165, 84, 39,124,201,103, 34, 38,202,137,112, 74,110,154,105,112,139,206, 1, 54,109,188, 62,128,139,111,180,
+173,130,185,254,252,203, 1,173, 66,185, 34,197,254, 85, 27,164,249,111,144,142, 10,227,180, 47, 73,180,142,187,132,124, 96, 21,
+ 91, 41,176,244,110, 45,193, 7,189,123,247,214, 39,220,139, 23, 47,160, 84, 42,225,225,225, 65,171, 84,170, 64, 3,227,181,237,
+123,239,189,247,231,217,179,103,109,218,182,109,155, 91, 80, 80,160, 63,224,104, 99, 57, 48,226,248,230,185,107,183,252,215,253,
+ 0,161,138,114, 19, 78,198,214,195,229,215,163,155,239,229,115,199, 15,154, 82,165,233, 16, 88,230, 1,108, 62,158, 29,254, 25,
+148,137, 53,198,206, 88,200, 13,236,215,183,201,128,193, 35, 47, 63, 78,126,218, 15,192, 93, 99,189,222, 8, 35,254,213,174, 22,
+249,167,221,147, 94,104, 5, 5, 5, 81, 53,221, 32, 75, 88,111, 7,123, 27,241,230,239,247,221,229,168, 85, 42,137,165,133,138,
+103, 97,206, 82,102, 22, 28,181, 74, 83,234,226,234, 34, 96, 9,235, 93, 11,127,245, 33,158,148, 88, 44, 62,254,251,239,191,219,
+243,120, 60,176, 44, 11, 59, 59, 59,164,164,164,160,168,168, 8, 50,153, 12, 79, 19, 18,208,178,121, 51,172, 10, 94,226, 52,119,
+ 73,240,241,242,242,242,206,120,189, 25,241,141, 97,163,140,230,245,117,163, 43,151, 96,121,163,202,175,251,173,134, 99,134, 14,
+ 69, 77, 73, 75, 75,131,169,169, 41,218,183,111,111,122,227,198,141,235,117,136,172,215, 56,173,172, 92,205, 88,161,224,232,206,
+ 31, 86,136,213,154, 56, 60,122, 86,128,118, 45,123,193,193,166, 57, 94, 22,168,112,235,206,239,136,139,249, 21,173,155, 52,199,
+236, 25,125, 69,161,235,127, 59,194,215,182,108, 94, 84,148, 82, 82, 19,103, 73, 73,137,105,171, 86,173,208,188,121,197,186,103,
+ 12,195,224,209,163, 71, 96, 24, 70,191, 95,117,187,239,216, 85,104, 75, 82, 49,121,210, 36,228,231,231,155,214,196,201,227, 64,
+187,112,218,120,174,152, 7, 8, 36,214,170,210,210, 82,253,240, 84,181, 90,141, 7, 15, 30,192,223,223, 63, 32, 44, 44,172, 62,
+ 85,100, 80,124,170,129,239,182,252,242,203,214, 9,197,197, 52, 0,252, 68, 81,172,154,144,239, 12,125,150,236,237,121,199,206,
+159, 59, 96,203,161, 19, 97,109,241, 45,238,220, 73,133, 90, 93, 17,222,252,252, 28,204,153, 85, 2, 62,207, 12,167, 78,253,215,
+198,195,163,231,177,172, 44,117,123,188,222,140, 88, 83, 56, 69,231,206,157,195,156, 57,115,240,232,209, 35,103, 14,135,131,219,
+183,111, 67, 44, 22,227,251,239,191,231,120,120,120, 56, 75, 36, 18,156, 63,127, 30,217,217,217, 84, 93,225,252,227,194, 31,223,
+ 20, 63,189,246,101, 22,117,126,208,143,135,142,224,179,113, 99,225, 72,158, 93,183,104, 77,125,243,222,208, 30, 95, 17, 78,179,
+ 32,137,153,183,149, 91,251,161,224, 11, 76, 49,251,139, 53, 72,138, 59,109, 85, 46,139,153, 69, 49,233,205, 86,109, 8,155,247,
+ 70, 56,127, 27,205, 76,253,245,134,239,165,230,119, 93, 30, 62,152,118, 91, 26,189, 39,230,149,208,114,229, 82, 52, 99, 81, 89,
+147,122,242,228, 9,158, 62,125, 10, 46,151, 11,185, 92, 14,173, 86, 91, 99, 56,157,157,157,167,107,181,218,175,116,233,188, 79,
+ 36, 18,125,114,240,224, 65,155,170, 66,219,206,123,120,119, 27, 51, 73,191,236,156,252,194,168,187,241,143, 23, 78, 31,213, 39,
+242, 86, 92,186,154,247, 97, 90,113,204,169,226, 90,226, 83, 36, 22, 8,142,157, 63,241, 95, 83,205,243,171,144,120,244, 1,207,
+212, 13,140, 38, 19,229,133,101,144, 61,149, 66,249,195,118,116,156,181, 0,167, 79,254,102,234,213,161,115,152, 82,163,113, 3,
+160,106,196,187,217, 16, 24, 57,141,156, 70,206,191, 39,103,173, 90,132, 16,226, 11,192, 65,183,155,175,211, 5,182, 0,242, 80,
+177,138,140,131, 46,239, 16, 84,185,172,250,126,213,115,171,239, 87,253,158,175,251,110,175,219,222,165, 40,170,160,158,160, 59,
+161, 98,105,194, 51,186, 45,160,107, 74,172,183,227, 49, 69,209, 37, 12,195, 10,249,118,246,138,169, 99,250,117,184,120,249,222,
+ 3, 19, 91,115,238,192, 62,157, 2,238,196, 62,191, 73,209,148,134,162,104,131,250,125,112, 56,156,177,155, 55,111,238, 96,110,
+110, 14,150,101, 97, 97, 97,129,220,220, 92,168, 84, 42, 20, 23, 23, 67, 41, 43,129, 90, 86,130,135,233, 47,208, 35,160, 15, 70,
+ 14,122,207,227,191, 39,127, 31,203, 48,204,225,186,120,157,189, 59,233,157,172, 53, 45,108, 94, 89, 19,233, 69,122,209,245,109,
+ 39, 55,240, 77, 77, 49, 96, 97,240,219, 60, 3,209,103,206,156, 57, 55, 98,196,136,193,139, 23, 47,166,165, 82,233,249,148,148,
+148, 30, 0, 30,213, 43, 42,132,162,249, 51,231, 7, 89, 89,153, 18,132, 93,250, 29,189, 59,141,131,137,128,131,252, 18, 53, 40,
+ 10, 72,136, 63, 14,138,178, 70, 76,146, 20,189, 58,154,227,189,129, 30,166, 39,127, 75, 88,140, 87,253,131,222, 72,154,194,194,
+ 66,228,228,228, 64,163,209, 64,163,209, 96,212,232,209, 56,176,127, 63,202,202,202, 32,151,203,161, 82,169,192, 48, 12,104,154,
+198,165,240, 48,164, 63, 79, 64,119,127,127,160,150,165,151,246, 63, 0, 15,192,173,199,143, 31, 35, 33, 33, 1, 25, 25, 25, 16,
+137, 68,112,116,116,196,154, 53,107,160, 84, 86,172, 81, 54,122,244,232, 0, 0,177,111,251, 66, 61, 5,246,164, 48,204,151,131,
+ 79,156,176,191,113,226, 4,123,235,244,233, 12,161, 76,182,219,144,107,249,124,140, 90,255,221,140,118, 18,137, 4, 25,105,155,
+225,238,206,199,162, 5, 54, 8,249, 54, 15, 0, 48,119, 78, 83,116,233,108,139,146,162,223, 96,107,191, 12, 91,183,206,107, 61,
+101,202,198, 73,229,229,204,190,122,168,191,252,253,247,223, 71,186,185,185, 53,137,142,142,166, 4, 2, 1,196, 98, 49,196, 98,
+ 49, 68, 34, 17,114,114,114,144,146,146, 66,214,175, 95,159, 9,224,203,186,136, 86,109,149,222, 4, 48,120,193, 32,156,123,124,
+127,127,175, 38,156,231, 15, 71,206,238,249, 34,230, 86,180,236,226,165, 27, 95,107, 21,162,244,162,140,203, 75, 90,117,137,182,
+157,245,249,106,108, 95,191, 18,143,111, 71, 22, 56, 52, 47,217, 33,166,148, 53,134, 51, 32, 96, 21,215,201,193, 90, 59,125,202,
+ 72,203,211, 14, 81,211,207,114,169,220,172,188,251,223, 35, 37, 90, 46,108,211,105, 98, 91, 87, 90,117,245,234, 85,113,239,222,
+189,161, 80, 40,244,206,228,193,131, 7, 89,173, 86,123,173,198,103, 83,173,254, 42, 51, 51,211, 73, 46,151, 99,208,160, 65,115,
+191,255,254,123, 73,229, 26,117, 12,195,188,230,100,125,179,233,192,133,249, 95,237,184,118,225,240,183,206,223, 4,127,210,103,
+194,236,181,215, 80,203, 58,146, 92,154,158,117,250,196, 94, 71,145,149, 6, 98,235,247,160,200,150,227,241,158,207, 80, 94,162,
+ 64,151,111, 86, 3, 16, 64,165,161,177,123,232, 40,240,108,156,177,242,211, 79,156,151,239,254,113, 6,203,178,155,141,245,122,
+ 35,140, 48,162, 26, 28, 40,138, 10, 7,128,224,224,224,101, 33, 33, 33,241, 20, 69,133, 19, 66,130,116, 6, 74, 56, 33, 36,168,
+242, 28,157, 56,123, 99,191,242,220,234,251,213,191, 47, 93,186,212, 43, 52, 52,116,157,191,191,255,225,168,168,168,231, 0,234,
+ 19, 90, 67,116,194,170,250, 82, 60, 21,163, 14,131,130,130,168,170,219,215, 28, 45,150,141,124,242,252, 69,249,123,253,187, 54,
+ 13,143,136,189,251,241,199, 67,250,141, 29,218,123, 96, 74, 90,126, 66,107, 23, 71,219,248,248, 88,115,150,101, 35, 13,137, 37,
+161, 80, 24,212,183,111, 95,110, 97, 97, 33, 76, 76, 76,144,155,155,139,204,204, 76,168,213,106, 40,138,139,160, 44, 46,130,162,
+168, 16,234,226, 66, 60,189,119, 7,222,173, 93,133,186,206,242,117,162,210,117,169,238, 84, 85,117,182, 4,102,102, 16,154,153,
+129,106,120,179,225,135,150,150,150,183, 42, 11, 85,181, 90, 61,107,201,146, 37,121, 44,203, 98,237,218,181,230,166,166,166, 97,
+ 0,132,245,145,152,217,113,130,252, 59,182,167, 19, 83, 98,208,211,103, 50,218,182,122, 31, 41,217,114,228,201,212,200, 41, 82,
+163, 75,239,109,104,225,179, 26,205, 58,134, 32, 33,181, 0,206, 77,220,104,112,133,117, 46,254,156,158,158,254,218,254,225, 67,
+135, 80, 94, 94,142,214,173, 91, 99,220,184,113, 88,178,100, 9,198,141, 27, 7,103,103,103, 76, 24,243, 1, 86,174, 92,137,172,
+172,172,250,130,170,108,219,182,173,210,197,197, 69,233,226,226,162, 84,171,213, 40, 45, 45, 69, 81, 81, 81,245,248,158,215,208,
+136,180,183,183, 95,234,232,232, 24, 99,111,111, 31, 47, 20, 10,207, 62,160,168, 68,133,139,139, 67,143, 97,195, 40,207, 49, 99,
+ 56,169, 98, 49, 21, 1,152, 26,194,101,107,205, 27, 18,216,119,176,160,168,112,175,222,164,250,228, 99, 59,252, 25,225,133, 27,
+215, 59, 99,206,172,214,160,104, 17, 40, 90,128,242,178,171,232,234,231,207,183,180,164,234,123,150,198, 3,120,208,163, 71, 15,
+231,217,179,103, 83, 66,161, 16,115,231,206, 85,127,250,233,167,201,227,198,141, 75,190,114,229, 10,227,226,226,130,102,205,154,
+ 81,205,154, 53,115, 2,240, 64,119, 77,157, 48,111, 77,125,163, 84, 39, 92,183,116,147, 60,103, 96,219,189, 84, 35, 28,181,106,
+131, 52,255,155,157,207, 55,164, 60, 46,119,125,124, 59, 50, 63, 57,238, 52,155,114,247,143,188,151,201, 50,215,111,118, 62,223,
+176,108,199,203, 26, 95,234,136, 8,176,199,195, 35,212,229,101,229,220, 97, 67, 3,203,167, 79, 29,219,214,218,212,235, 32,154,
+188,231,211,162,121,211, 9, 43,215,109, 85,127, 58, 99,190,250,167,159,247, 18,153, 76,134,146,146, 18,108,221,186, 85,123,250,
+244,233, 76,134, 97,230,215, 86, 7, 2, 0,141, 70,131,233,211,167, 75,204,205,205,145,158,158,174,119, 68, 1, 64,154,155, 31,
+123,227,110, 92,226,194,255,140, 14, 40, 83, 42,149, 23,254,184,151,224,233,230,210,148,162, 72,173, 3, 81, 4, 60,222,128,206,
+ 93,187,114, 8, 41, 2,197,109,142,167,251,215,163, 36,171, 0, 37, 57, 5,224,240, 36,208, 66, 8, 13, 43,128,165,183, 31,146,
+238, 70,163,137,157, 3, 87,200,227, 13, 52,150, 39, 70, 24,241,239, 68, 93, 90,164,170, 88, 10, 13, 13, 93, 87,215,241, 42, 91,
+ 85,181,125,189,144,170, 46,194,170,126, 7,128,208,208,208,117,132,144,160,168,168,168, 67, 0,228, 6,222,194,180, 42,219,105,
+175, 9,173, 58, 93, 40,133, 42,100,241,146, 47, 97,101, 33,182,240,235,228,230,120,234,124,196,189,200,168,123, 9, 45,154,217,
+218, 17,141,202,234,187,141,219,155, 82,229,242, 80, 3, 3,225, 97,107,107, 11,181, 90,141, 39, 79,158, 32, 35, 35, 3,106,181,
+ 26,218,178, 50, 40,139,138,160, 40, 44, 4, 83, 38, 3,159, 97, 32,207,205,129,141,137, 8,120, 53, 34,177, 30,231,141,170, 81,
+104, 85,110, 69,230,230, 16,154,153,131,230,241,106,108, 86,172, 5,190,126,126,126, 71,227,226,226,186,246,239,223,255,107, 84,
+ 12,145, 79,205,204,204,236,183, 98,197, 10,165,131,131, 3,166, 79,159,222, 14,192,228,122, 69,166, 64,229,225,226,216, 14,109,
+ 93, 39,163, 69,179,190, 40, 42,211, 32,183, 68,131,156, 34, 53,118,111,243,199,177,159,252,240,231,177, 94,136,187, 48, 0, 69,
+ 26, 71,152, 58,127, 8,194,168,188,234,226,188,116,233, 18,214,172, 89,131,175,191,254, 26,107,215,174,197,215, 95,127,141,204,
+204, 76,180,111,223, 30,105,105,105, 56,119,238, 28,164, 82, 41,108,109,109,113,231,206, 29,108,218,180, 9,127,254,249,103,189,
+ 55,109,200,108,182,186,115, 26,212,150,174,213,106,167, 72,135, 13,235,144,109,109,237,217,169, 83,167,193,115,231,254, 63,246,
+174, 59, 46,138,107,109, 63, 51,219, 27,101,233, 44,160, 2,138,162,130, 64, 68,196,142, 26, 73,236, 13, 75, 20, 75, 52,154,196,
+ 18, 77, 98,176,197, 94,226,181,197,146,168,137, 61,118, 49, 42,118,197,222, 5, 11, 2, 10,210,123,135,101,123,153,153,239, 15,
+129,139,134,178,104,114,111,242, 93,158,223,111, 88,118,119,230,217,115,166,156,243,156,247,125,207,123,102,184,119,238,220,185,
+234,123,119,119,247, 38, 66,161, 48, 23,175,103, 80,250,214,197, 69, 3,126,182,182, 94,208,105,227, 43,174, 49, 7, 4, 33, 64,
+207, 15,227,208,185,235, 35,232, 13, 92,144, 4, 31, 36, 41,128,209, 88, 4,169, 84, 6,134, 33,188,234, 41,226,194,130,130, 2,
+143,203,151, 47,147, 41, 41, 41, 16, 8, 4, 0,144,186,120,241,226, 45,235,214,173,139,181,182,182,166, 34, 34, 34,240,251,239,
+191,163,127,255,254,172, 73,147, 38,121,184,184,184,108,171,175,222,139, 55,229,220, 61,176,254,220, 40,142, 65,234, 43, 16, 54,
+115,133, 82, 50,232,139,238, 54, 98, 0, 56,159,148, 84,110,215, 68,190, 90, 89,254, 52,221,210, 89,241,195,249,164,250,102,156,
+ 46,166,163, 18,226,239, 29, 56,113,190, 44, 63,175,132,227,231,221, 86,189,106,233,183,220,102,174, 45,214, 44,250,110,170, 67,
+150, 92, 80,250,225,140,115,241,225,231, 31, 40,198, 78,152,108,252,244,179,105,154,115,231, 47,157,160,105,218, 27,181,204, 56,
+164,105, 26, 57, 57, 57,120,254,252, 57,146,146,146, 80, 80, 80,128,194,194, 66,148,151,151, 87,185, 27, 69,229,242, 51, 91,118,
+159,126, 34, 22, 10, 69, 1,222, 30, 77,238, 71,199,230,139,133, 66,145,135,107,147,150,192,226, 26,219, 17,138,162,188, 5, 34,
+ 33, 0, 2,165, 49, 55,160, 40, 81, 64, 81,170, 64,121,177, 2, 90, 61, 11, 26, 45, 9,181,142, 68,211,238,125,160, 80,106,160,
+ 40, 42, 3, 77, 81, 62,141,221, 77, 35, 26,209,136, 58,250,250,136,176,176,176,121, 38,238,107,178,123,243,109,225, 21, 22, 22,
+ 54,143, 32,136,136,185,115,231,182, 69,237, 19,170,170, 99, 71, 13, 27, 0, 19,210, 59, 20, 21, 37, 40,204,136,214, 67,103,205,
+249,254,220,193,157,155,237,180, 90, 85,186,181, 84, 66, 73, 68, 60,155, 79,167,172, 64,185,162,100,136,210,244,116, 4, 40, 41,
+ 41, 65,114,114, 50,132, 66, 33,184, 28, 14, 40,181, 26,148, 90, 9,117, 73, 17, 72,189, 22, 92,138,130,149, 72,136,166, 50, 7,
+ 52,179,119, 48,137, 51, 49,242, 98, 85,224,123,117,119,225,191, 58,180, 6, 79, 44, 1,207, 76,130, 47, 34,174, 1, 0,184, 92,
+ 46,176,112,153, 73, 70, 19, 39, 39,167, 83, 7, 14, 28,224, 22, 20, 20,224,241,227,199, 79, 0,148, 1, 48, 3, 64,199,197,197,
+ 93,142,137,137,233,239,225,225, 1, 0,205,235, 35,147, 23,146,148,193,200, 32, 35, 55, 21, 41,153,209,176,178,112, 3, 71,212,
+ 18,249,165,122,240,133,110, 48,104,255,237,125,212,200,211,160,214,179, 76,170,187, 78,167,131,209,104,132,209,104,132, 78,167,
+195,103,159,125,134,219,119,238,224,208,239, 87,144,252,234, 37, 90,185, 58, 32, 52,116, 44, 58,116,232,128, 59,119,238,212,201,
+ 53,206, 23, 6, 39, 9,216,235, 63, 38,193,147, 88,107, 59,126,119,225,126,125, 98,139, 32, 8, 6,181,184, 34,223,194,186,192,
+192,192, 22, 47,149, 74, 60,143,143, 71,239,197,139, 1, 0,103,207,158,125,163, 46,179,103,207,230,197,198,198,126,250,232,209,
+163, 79,179,179,179,215, 3,168, 57,216,156, 1,206,156,185,139,169, 83, 99, 81, 80, 80, 0, 0, 56,124,240,223,186, 52, 37, 89,
+143,143,250,189,246,104, 89, 90, 90, 98,253,122, 47,147,206, 39, 69, 81,216,177, 99, 71,149,187, 16, 0,216,108,118,231,217,179,
+103, 15,173,105,255, 22, 45, 90,112,235,227,156, 53,220, 73,112,235, 9,243,165, 69,139,102,109,205,109,218,161,200, 16,237, 21,
+157,149, 51,125,214,112,167,141, 27,142,101,105,132,132,118, 15, 65,101,184,176, 5,154,189,166,148, 49,233,252,102, 93, 81,211,
+241,123,115, 11,228,243,167, 77,254,196,218,220,210, 78,249,235,150, 85, 82,146, 69, 50,167, 30,233, 75,219,186, 91, 91, 14,234,
+248,163, 98,234,172,133,209, 58, 99,198, 52,100,156,122,137, 58, 82, 92, 80, 20,133,236,236,108, 20, 20, 20, 32, 61, 61, 29,133,
+133,175,221,175,133,133,133,160,105,250,125, 26, 68,168,211,211,145,118,226, 87, 52, 27, 59, 22,254,203,150,130,162,217, 80,171,
+ 40,172,239,212, 11, 37,101,106,104,105, 2,178, 15, 58, 97,242,217,155, 32, 25, 10,216,190,181,177, 39,105, 68, 35,254, 71, 97,
+ 74,122,135, 74, 65,180,106,213,170,254,127,246,239, 87, 23, 91,171, 86,173,122,190,106,213,170,134,252,214,219, 46,195,170,247,
+149, 49, 90,215,170, 5,160,253,161,211, 44, 47,140, 75,138,141,101,103, 43,213, 74,145,189,157,173, 86, 36,224,211,101,242,114,
+ 86,244,179, 39,122,101,238,171, 23, 13,168, 71, 92, 76, 76,140, 87,118,118, 54,210,211,210, 96, 84, 43, 65,106,117, 96, 52, 42,
+244,238,210, 9, 2, 0, 2,146, 0,151,214,131,205,226,161, 92, 33, 7,128,184,122, 59, 71,131,225, 15,150, 45,130, 32,192, 51,
+ 51, 3, 79, 44, 6, 79, 98,246,134,133,203, 20,139, 13,159,207, 63,112,244,232, 81, 71, 39, 39, 39, 44, 93,186, 20,206,206,206,
+158, 50,153, 76,101, 97, 97, 33,180,183,183, 71,155, 54,109,208,169, 83, 39,156, 59,119, 14, 48, 33,167,148,193, 40,120,250, 34,
+ 21,157, 11,139,239,224,230,181,159,161, 83,107,225,215,253,103,232,217,205, 96,219,118, 9,232,196,253, 80,229,158,124,109, 61,
+112, 24,128,204,244, 84, 16, 44,222,115, 83, 45, 79,149,255, 63,121,242, 4, 7, 79, 94,135, 99,211,214, 72, 79,136, 71,252,213,
+203,184,109,107,141,166,173,219, 84,185,129,106, 45, 35, 5,246,242,173,175,211, 68, 45,248,242, 19,126,113,113, 49,223,202,202,
+ 74, 91,121,238, 28, 29, 29,223, 71,108,125,242,205, 55,223,160,148,195, 1,250,245, 3, 55, 41, 9,122,189, 30, 29, 59,118,132,
+191,191, 63, 0,160, 99,199,142, 96,179,217,104,215,174, 29,100, 50, 25,182,110,221,250, 73,109, 66,139, 36,240,216,104, 44,242,
+116,119,119,175, 18, 90,123,247, 21, 32,250,209,135, 32,192,195,166, 45,137, 85,251, 54,105,210, 4,185, 57, 73, 32, 8, 38,166,
+158, 50, 46,115,112,112, 88,232,232,232,232,190,110,221, 58,150, 64, 32,192,231,159,127,238,166, 80, 40,154, 85,152,146, 49,119,
+238, 92, 0,192,162, 69,139,176,120,241, 98,104,181, 90, 85,109,100,123,215,123,203,242,139,233, 79, 25,133,104, 72,144, 77, 51,
+239,158,193,189,225,230,209, 19, 61,131,211, 1, 96,165, 21, 59,117,196,154,249,150, 39, 44,205,136, 93, 23,207, 95, 90,212,165,
+123,207,249,223, 41,174, 46,255, 97, 71,105,189, 49,143,101,105,123,202, 95,240, 70,110,216,188,109,223,134,239,231,206, 20,164,
+ 23,232, 74,178, 74, 24,133,132,207,150, 52,183, 39, 36,211,231, 44, 75,206,206, 78,250, 26, 25,231,235,157,105, 73,211, 52,146,
+146,146,170, 98,250, 52, 26, 13,148, 74, 37, 50, 50, 50,170,238, 25,181,216,252,163,105, 19, 6,248, 40,213,106,213,253,103, 9,
+233, 11,102,140, 9, 84,170,213,170,132,148,244,151,192,166, 26,213, 24, 73,146,207, 84,229,170,222,170, 82, 13, 10, 30,191,128,
+115,175,166, 48, 24, 9,232,140, 20, 10,138,202,161, 53, 2, 20,201, 65,219, 17,161,160, 8, 54, 10,179,179, 64,178, 88, 79,240,
+102,208,126, 35, 26,209,136,255, 29,212,169, 69, 42, 45, 90,129,129,129,135,170, 91,157, 42,255, 7,160, 69,221,161, 60, 5,213,
+197, 84,165, 59,177,182,223,121,139,215, 84,252, 33, 70,171,222,244, 14,149,191,233, 98, 33,151,253,107,209, 24,103,218,104,108,
+149, 95,152,103,100,179,249, 28, 23, 11,117, 78,113,186,233,191,174,213,106, 35, 46, 95,190, 60,248,195, 15, 63,228, 39, 60,123,
+ 2, 93, 89, 25,116,101,165,224,208, 70, 88, 9,219,131,212,107, 65,232,116,112,242,164,161, 41, 23,226,250,237, 24,131, 86,171,
+141, 48, 85,104,145, 44,214,155,113, 89, 18, 9,248,102,230,224, 75, 36,111,187, 22,235, 19, 5,162, 62,125,250,244,234,216,177,
+ 35, 24,134,193,142, 29, 59,160,215,235,121,122,189, 30, 58,157, 14,122,189, 30,114,185, 28,251,246,237,195, 79, 63,253,116, 27,
+192,238,122, 59, 51,163,238,242,133, 75,145, 29, 38,142,233,207, 57, 27,177, 30, 70, 29, 5, 53,225, 12,165,210, 0,133, 78, 4,
+202,122, 44,144,119, 6, 44,182, 0,129,237,220,112,242, 88,184, 30, 70,237, 21, 19, 85,248, 27, 86,161,140,244, 84,100,190,122,
+ 9,137, 60, 23,182,230, 34,168,146, 94,194, 47,116,220, 59, 89, 39, 92, 92, 92, 64,211, 52,130,130,130,170,130,171,223, 85,108,
+ 21, 21, 21,225,244,233,211,232,216,177, 35,186,119,239,142,172,172, 44, 36, 37, 37,161,111,223,190, 85,251, 60,121,242, 4,209,
+209,209,104,222,188,110, 35, 97, 97,177,225,108,102,198,227,144, 65,131, 6,113,239,221,187, 7,134, 97,224,225, 97, 14,115, 51,
+ 49, 8,146,143,214,173,237, 0,188, 30, 3,244,232,209, 3,114,121,146,177,164,132, 57, 91, 79,117, 15, 0,248, 93,167,211, 37,
+118,235,214, 77,246,234,213, 43,204,154, 53,139,125,248,240,225, 74, 83, 50,194,194,222,156, 76,161, 86,215,238,186,111,229,237,
+249,173,155, 81,218, 93, 32,108,230,106,110,211, 14,110, 30, 61, 1, 0, 31,246,159, 8,183, 22, 77, 32, 47,124,234,170, 81,167,
+ 14,225,178, 75,164, 79, 55,101,197, 10,251,121, 77,208,228, 95, 75,192,107,215,105,189,151, 93,157,112, 56, 47,157, 51,246,200,
+239,167,206, 77,233,219,127, 32,199, 64, 25,141, 94, 77, 57,150, 71, 79,156,201,207, 74, 75,255, 17,233,231, 99,254,109,255,171,
+211,138, 71,201,229,114,136,197, 98,196,196,196,104,251,245,235,199, 39, 73, 18,137,137,137, 85, 66,203,206,198,170, 77,103,127,
+ 47,207,229, 27,246, 93, 16,243,249,252,224, 30,237, 91,199, 38,164,101, 50, 12,145, 90,171,181,213, 96,184,244,236,241,147, 32,
+ 91, 89, 11, 86,210,181,123,176,238,218, 23, 90, 45, 9,181,142,134,214, 8, 24, 89, 92, 56,250, 6,192,178,121,107, 48, 0, 30,
+222,187,109,208, 26, 12, 23, 26,251,154, 70, 52,226,127,218,170,197,212, 37,146, 42,254, 47, 6,144,186,106,213,170,194,106,214,
+166, 2, 0, 79, 0,248, 84,236, 87,240,214,113, 5, 4, 65, 60,100, 24,198,191, 26, 79, 65, 53,193, 85,253,127,221, 91,251, 60,
+105,128,200,170,254,250,166,208,170,109, 74, 37, 0,216,216,216,216,249,249,181,111,254,203,206, 35, 96, 24, 6, 47,162,215,162,
+ 36, 63, 30, 11, 87,222,109,238,228,228,212, 61, 43, 43,235,186, 41, 37,160, 40,234,240,174, 93,187,190, 14,248,192,207,207,213,
+217, 25, 79, 82, 83,192,101, 40,112, 41, 10,164, 94, 11, 54,165,131,179, 23, 5,146,144, 32, 59,187, 12,171, 15, 28,137,169,200,
+ 18, 95, 39, 60,251, 14,196,210,204, 50, 16, 4,129,117,129, 94,224,153, 73,192, 21, 75,240,197,169,200, 42,113, 21,177,116, 46,
+120, 18, 9,154, 7,152,148, 16, 94,117,245,234,213, 71,207,158, 61,243,247,242,242,194,215, 95,127,141,212,212, 84,208, 52,141,
+188,188, 60, 77, 78, 78, 78, 86, 65, 65, 65, 42,128, 19, 0,126,129, 9,153,199,185, 90,205,198,136,227,123,167, 5,118,233,110,
+ 51,104,200, 79,248,253,216,108,148,150,201,161, 50, 10,161,212, 24,161,212,178, 96,101,237,141,128,118,237,144,157,149,143,231,
+247, 46, 40,216, 90,213,218,134,220,160, 4, 65, 32, 58, 58, 26,238, 50, 51,188,188,121, 29, 54, 34, 14,124,100, 14,144,117,238,
+ 82,149, 95,170, 46,112, 88, 48,126,242,201, 39, 85,153,225,251,244,233,147, 50,118,236, 88,199,217,179,103, 99,231,206,157,184,
+125,251,246, 31, 2,180,187,119,239,142, 27, 55,110, 44, 1,176,168, 62,163,158, 78,167,131,167,167, 39, 30, 62,124,136,203,151,
+ 47,163,103,207,158,232,222,189, 59,158, 62,125,138,139, 23, 47, 34, 58, 58, 26, 4, 65,192,218,218, 26,134,215,226,217, 80, 27,
+153, 94,143,163, 63,172,217, 53,111,195,134,159,218,142, 25, 51, 6,199,143, 31,194,196, 9,173, 64,144,124, 16, 4, 31, 3, 7,
+180,194,210,101, 15, 17, 16,208, 3, 54, 54, 28,108, 88,127, 50, 89,173,166,246,153,112, 26,151, 95,188,120, 81,166,209,104, 80,
+ 90, 90,202, 72, 36, 18,162,168,232,245,140,214,154, 44, 90, 42,149, 74, 80, 27,209,179,168,184,181,165,229, 76, 9,163,136, 30,
+ 82,108,140,246,238, 25,156,129, 15,251, 79,192,165,136,221,136,188,112, 25, 86,236,212, 20,136,203,207, 21,166, 20,202,115,148,
+ 30,219, 90,127, 48,137,149,169,188,176,109,250,192,151, 44, 71, 71,250,232,220,159,229,165,117, 9, 45, 0, 68,113,236,254, 83,
+ 39, 24, 12,236, 20, 24,208,194,171,137, 35,175,164, 48,159, 57,118,242, 92,140, 62,229,248,233,106, 2,139,169, 71,168, 47, 13,
+ 11, 11,251,190,226,255, 61, 11, 22, 44,152,180,122,245,106,219,220,220,220,170, 24,173,252,194,226,200, 78,253,166, 83, 69,165,
+101,186, 93, 27,230, 12, 23, 10,248,188, 5,171,119, 93, 51,176,112,175, 54, 94, 35, 77,111, 29, 49,107,225,204,132, 23,209, 78,
+205,132, 60,156,156,179, 8, 79, 46, 94,133,129,228, 98,234,229,251,208,234, 41,148, 22, 22,225,202,167, 95, 66, 98, 47,197, 79,
+215,142,231,209, 52,253,115, 99, 87,211,136, 70,252,239,162, 54, 45, 66, 16, 68, 77, 57,246,242,106,248,236, 97, 93,199,213,194,
+243,103,160,214,172,240, 38, 77,193, 43, 44, 44,204,191,113,227, 62,174, 69, 44,199,245,136,229,120, 30,253, 4,217, 89, 58,100,
+229,105, 96,110,110,126,183,142, 67,223,206, 28,203,168, 84,170,161, 11, 22,126,159, 43, 16,138,208,173, 87, 47, 56,216,218, 65,
+196,229,128,101,164,193, 34, 56, 80, 20, 88,226,229, 83, 21,190,219,181, 63, 95,161, 82, 13,173,161,147,232, 93,155,200, 32, 8,
+ 2,124,115, 51,240, 36,102,224,155,153,191,225, 70, 20,152,155, 67, 96,102, 14, 54,143, 87, 83, 48,252, 31, 56, 21, 10,197,176,
+225,195,135,151,148,149,149, 97,210,164, 73,184,126,253,122,244,133, 11, 23,204,159, 62,125, 42, 44, 40, 40,104, 1,160, 15,128,
+237,117,136,172, 55, 56, 75, 74,146,202, 25,163,118,228,170,239,191, 82,107,140,214, 8, 25,119, 24, 98, 50, 3, 70,138, 6, 3,
+ 64,102,197, 67,231,222,203,144,175,235,132,195,219, 86,168,104,189,102,204, 91, 57,180,222,224,100, 24,134,177,183,183,255,195,
+ 57,184,124,249, 50, 66,134, 15, 67,240,144,193,176,117,117,135, 93,239,190, 8,158, 52, 21,219,182,109, 3, 73,146,176,177,177,
+121,187,227,173,226,220,251, 24,156,131,207, 64, 28,124, 6, 98, 79, 52,216, 0, 66,247,239,223,255,131,143,143,207,213,219,183,
+111,175, 5, 48,178,250,111, 85,195,226,183,172, 89, 53, 93,163,249, 51,103,206, 84, 39, 36, 36, 64, 44, 22,195,104, 52,226,246,
+237,219,248,233,167,159,176,110,221, 58, 68, 71, 71,195,218,218, 26,205,155, 55,135, 86,171,197,195,135, 15,213, 0,230,215,193,
+ 73, 23, 20, 24,135,109,218,180,186,168,127,255,174,216,181,107, 11, 28, 28, 58,129,195,118, 0,155, 99, 11,177,196, 19,191,254,
+242, 3, 62,254,216, 15,167, 78, 30, 41, 46, 44, 50, 14, 3, 96, 52,225, 94,210,220,191,127, 31,219,182,109,195,240,225,195,179,
+ 66, 66, 66,168,178,178,178, 42,139, 86,101,166,223,197, 21, 49,102, 90,173,150, 95, 27,231,228,239, 98,178,230,172,120,190, 52,
+ 47, 55,171,227,245,171,119, 63,137,188,112, 25,201, 9,145,136,188,112, 25, 55, 35,239,132,229,229,102,117,244,235,208,146, 59,
+116,210,180,111,247,134, 31,103, 73,204, 29,177, 55,252, 56,107,244,244,175, 86,180, 15,238, 57,191,190,123,190,226, 58, 50,138,
+252,188,185, 43,215,110, 86, 24,245, 26,242, 95, 63,110,205, 86, 23,228,204,175,118, 95, 50,245,221,159,106,181,122,187, 70,163,
+145,105, 52, 26,153, 86,171,157,159,154,154,218,237,235,175,191, 46,160, 40,170,202, 90, 90, 16,123,234,110,252,173, 61, 43,237,
+108,164,194, 78,254,109, 91,173,223,126,236, 90,122, 70,222,111,213,114,104,213, 84, 78,141, 66,173, 25, 54,120,232, 88,101,105,
+137, 22,129, 95,133,129, 22, 72,160,165, 0, 3,195,130,145, 96,227,217,242,245, 16, 90,153,225, 64, 74,148,170,204,160, 31,134,
+ 55,115,104,213, 85,247,247, 65, 35,103, 35,103, 35,231,223,147,243,159, 12, 71,188,185,214,161,227, 27, 22,173,250,166, 84, 58,
+ 57, 57,117, 27, 52,176, 55,122,244, 95, 0,134, 97, 16, 31,181, 6, 37, 5, 47,224,228,192, 71, 82,186, 60, 16,192,245, 6, 20,
+ 38, 61, 53, 35,163,227,204,249, 11,194, 67,250,244,106,237,229,234,202,111,214,172, 41,196,118,118, 40, 44, 44,192,173,123,177,
+134, 21, 7,143,198, 84,136, 44,147, 28,147, 52, 77,191, 14,114, 7,208,107,230,119, 32, 88, 44,160, 34,141, 67,101,199,232,234,
+223, 9, 4,155, 13,138,161,161,213,106, 77,153, 45,151,249,234,213,171, 97, 99,198,140,185, 18, 17, 17, 65, 6, 7, 7,251,158,
+ 56,113,226,125,214,204,131, 50, 63,225, 42,128,254, 43,230, 78, 57,220,177,231, 96,115,143,182,237,185,237,155,177,160, 55, 16,
+200,206, 74, 67, 68,248, 3,125,236,253, 11,114,198,168, 25,169, 42, 76,184, 90, 23,151, 94,175, 79,111,209,162,133,253,182,109,
+219,170,130,225, 41,138, 66, 97, 97, 33,238,222,189, 11,111,255, 0,180,158,240, 41, 10, 10, 10,176,105,211, 38, 52,105,210, 4,
+ 3, 6, 12, 64,113,113, 49,140, 70,163,169, 14, 95, 10,192,133,138, 13,111,137, 44,162, 98, 9,160, 58,221,134,238,238,238, 60,
+141, 70,227,203, 48, 12,139, 32,136,141, 58,157,110,252,220,185,115, 29, 87,174, 92,137, 86,173, 90,161,176,176, 16, 98,177, 24,
+ 30, 30, 30, 40, 40, 40,192,131, 7, 15, 40,149, 74,181, 13,175, 23,178, 46,168,167,124,137, 15, 30,164,116,156, 49,227,139,240,
+ 31, 86, 79,241,208,104,123,240,172,172,186,128, 97,140, 40, 40, 72, 69,185,252,182,126,217,210,221,175,242,242, 13, 67, 1, 36,
+152, 88,231, 69,211,166, 77, 3, 0, 1,128, 5, 73, 73, 73,143, 91,183,110,237, 81,155, 69,203, 20,108, 56,150,165, 1,112,112,
+ 88,176,108,150,188,240,169,135, 21, 59, 53,165,163, 23,189,105,195,177, 44,141,185, 76,185,188, 48,245,250,203, 28,229,133,109,
+123,195,143,179,198, 13, 25, 70, 57, 75, 18,194, 4,118,204, 49, 19,168, 25, 31, 31, 31, 23,130, 40,118,203, 47,122,241,104,226,
+164, 41, 35, 44,184,234,179, 62,206, 69,205,201, 38,126,130,232,232,232, 20, 52,112,102,104, 5, 94,102,101,101,117,155, 59,119,
+238, 5,134, 97,222,136, 77,200, 47, 44,142, 12,236, 63,141, 41, 45, 45,123, 92, 16,119,202,148, 92,106, 15, 30, 68, 69,247,242,
+242,246, 59,254,195,202,213,246, 61,102,126,205,126,121,245, 26, 64, 25,144,118,253, 26, 40,190,142, 94,127,231, 82, 94,153, 94,
+ 63, 4,141, 89,225, 27,209,136,255,121,107, 86, 93, 90,228,111,142,126,168, 37, 24,222,228,202,184,187, 57, 93,104,229,209,172,
+ 79, 19,103, 91, 0, 64, 82, 74, 54,146, 82,178, 46, 38, 37,103, 5,215,163,120,107,155, 94, 89,181,168, 52, 81,145,194,129, 49,
+109, 81,233, 55, 56,173,173,173, 31,177,217,108,231,134,156, 13,138,162,178, 11, 11, 11,253, 76, 44,231,104, 87, 87,215,213,105,
+105,105,225, 52, 77,207,106,160,218,175,145,179,114, 81,105,146,205,235,205, 24,117,222, 0, 64,176,121,166, 44, 42, 93,157,211,
+ 91, 34,145,108,231,112, 56, 77, 42,175, 99,101, 12, 22, 69, 81, 44,189, 94, 47,160, 40,138, 5,128, 32, 73,210,200,225,112, 52,
+ 4, 65, 24,141, 70, 99,186, 86,171,157,130,127, 39, 28,173,171,238,245,118,244,175,178,100, 50, 0, 0, 32, 0, 73, 68, 65, 84,
+ 21, 66, 11, 53, 88,180, 46, 3, 64, 66, 66, 66, 75,169, 84, 58,146, 32,136,225, 12,195,120,150,151,151,107, 23, 46, 92, 24,125,
+244,232, 81,185,171,171,235, 71,253,250,245, 35,158, 62,125,138,152,152, 24,166,168,168,232, 88,133, 21, 43,169,129,247, 18,201,
+231,179, 70, 89, 89,145,253, 24, 6, 62, 96, 64, 16, 36,158,149,149,209,103, 85, 42,234,183, 10,193,216,208,251,179, 18,159, 52,
+107,214,108,119, 74, 74, 10,167, 54, 75,106,109,117,127, 27,107,230,183, 93, 16,216,181,235,176,187, 55,111,158,152,179,226,249,
+210,234,223, 77, 31, 44,157, 56,250,203,153,107, 14,110,253,113,206,230,223, 75,118,153, 82, 78, 95, 95, 95,119,130, 32, 70, 2,
+240, 98, 24,166, 5,195, 16, 2,130, 96, 74, 8,130,120, 14,224,169, 78,167,139,136,141,141,205,124,143,186,191,203, 8,183, 54,
+206,170, 69,165, 65, 81,237, 40,128, 49,113, 81,233,255,116, 57, 27, 57, 27, 57, 27, 57,255,123,156,255,100,124, 86, 67, 7,105,
+ 90,102,248, 74, 36, 37,103, 5, 39, 37,103,161, 69,139, 22, 76, 98, 98, 98,131, 68, 90,109,157, 52, 69, 81,135, 84, 42,213,161,
+247, 33, 41, 42, 42,106,255, 23,159,188,131, 41, 41, 41, 7,255, 76,194, 10, 33,181,180, 98,123, 87, 60, 83, 40, 20, 1,166,238,
+172,215,235,255,138,115, 67, 84, 88,179,150,212,182, 67,159, 62,125,210,244,122,253,101, 0, 25, 4, 65, 88, 2, 40,214,235,245,
+ 23,140, 70, 99, 94, 98, 98, 98,251,245,235,215, 87,102,190, 95, 6,224,209, 59,150,131,214,106,169, 3,217,217,212,129,191,160,
+142, 7,116, 58,221,108,107,107,235,230, 26,141,134,167,209,104,184,213, 39, 31, 8,133,194,130,186, 2,226,171,195,210,140,216,
+195,101,151, 88, 91,154, 17,111, 11, 41, 88, 57,225,184, 90, 25,211,202,202, 9,199, 77, 45,216,227,199,143,147,124,124,124,246,
+147, 36,233,202, 48,140, 61,192, 88, 48, 12, 10, 24,134, 41,100,179,217, 89,177,177,177, 89,127,163, 70, 72, 99,164,233,181, 70,
+157,238,223,113,135,141,179, 11, 27,209,136, 70,252,255, 65,173, 49, 90,236,134, 50, 37, 38, 38, 18,141,231,179, 17,213,197, 86,
+ 93, 95,166,165,165,105, 1,220,169,216,222,198, 35, 0, 3,254,238, 21,204,201,201,241,171,237, 59, 83, 69, 22,240, 58,102, 11,
+136,169, 49, 59,251,226,205, 37,229,216, 28,254,109, 67,203,246,228,201,147,116,152,232, 98,111, 68, 35, 26,209,136, 70,252,101,
+248,172, 54,241,197,110, 60, 55,141,104, 68, 35, 26,209,136, 70, 52,162, 17,239,133, 29,213, 4,215, 27,214, 45, 2,181,207, 28,
+104,136,239,245, 93,102, 31, 92,110,228,108,228,108,228,108,228,108,228,108,228,108,228,252,159,227,252,255,138, 55, 68,150, 41,
+201,209,255, 12, 52, 78,125,109,228,108,228,108,228,108,228,108,228,108,228,108,228,252, 95, 16, 89,111,108,149, 89, 15, 26, 93,
+135,141,104, 68, 35,254,103,113,244,232, 81,147, 22, 21, 29, 53,231,215,254, 18,137,116,161, 66, 94,182,250,208,218,137, 39, 42,
+ 63, 15, 9, 9,161, 26,207, 98, 35, 26,209, 8,188, 75, 48,188,155,155,115, 27,146,162, 59, 51, 12,201, 98, 72,198, 64,200,213,
+135,147, 74, 74,222, 72, 59,224,226,226, 98,201, 33, 49,128, 96, 24, 49, 65,208, 20,205, 34,111, 39, 39,103,198, 54,160, 96, 60,
+169, 84, 58,141,203,229,246,214,233,116,206, 36, 73,102,106,181,218,203, 42,149,106, 11,254,152,184,240,191,134,150, 45, 91,142,
+190,118,237,154,101,151, 46, 93,180, 66,161,208,168, 86,171,217,231,207,159,231,127,252,241,199,165,175, 94,189,122,167, 25,137,
+ 50,153,172,231,175,191,254,234, 22, 28, 28,140, 22, 45, 90, 40, 71,142, 28,201, 13, 12, 12,228, 78,154, 52, 41, 57, 59, 59, 59,
+178,129,116,109, 8,130,216, 71, 16, 4,139,166,233, 80,252, 59,117,195,159, 13,146, 36,201, 41, 4, 65, 12, 97, 24,198,157, 32,
+136, 36,134, 97, 78,208, 52, 93, 87,226,214,186, 48, 12, 64, 95,146, 36,253, 0,128,166,233,104, 0,103, 1,211,103,222,253, 39,
+ 57, 69, 34,145, 47, 0,168, 84,170,199,127, 22, 39, 65, 16,190, 0,192, 48,204,187,114, 78, 16, 10,133,147, 1, 64,173, 86,255,
+ 2, 19,150,131,122, 27,204, 54, 79,198,111, 73, 60, 0, 32,122,145, 39, 0,160, 33,239,137,169,241, 68, 67,126,171, 38,190,134,
+112,212,128,190, 99,198,140, 89,249,219,111,191, 45, 2,112,242,175,184,241, 29, 28, 92,182,172,251,113,135,236,171,105,159,174,
+198,235, 21, 33,234,126, 32,129, 15,121, 44,214, 64, 29, 69,221,140, 5,142, 2, 96, 91, 89, 89,141,230,241,120,221,116, 58,157,
+ 35,155,205,206,209,233,116, 55,202,202,202, 14,162,142, 21, 16, 76, 62,175,113,144,234, 85,112, 32,232,127,175,243,198,144,208,
+114, 69,200, 37, 90,163,228,111,208,140,146, 0,102, 86,212,117, 39,106, 79,231, 81, 87,227,243,149, 76, 38, 27, 34,151,203, 85,
+ 44, 22,139,193,235, 89,207,175,255,188,254,158,160,105, 58,191,184,184, 56,180, 62, 46,113, 19,180,226,137,137,125,148, 1,106,
+163,150,249, 92,153,129,120,137, 11, 58, 49, 64, 40, 3,184,146, 44,210,150,166,233, 28, 0,145,164, 17,167, 21,217, 72,252,155,
+118,238, 77, 43,206,107,179,138,247, 28, 0,246, 0,158, 2,248, 10,128,162, 81,255,252,199,240,118, 48,252, 25, 0, 57, 85, 66,
+171, 90,186,251, 30,253,251,247,191,238,230,230,220,102,248,224,161, 43,167, 78,249,156, 96,177, 72,196, 60,127,206,254, 36,116,
+ 66, 31,169, 84,234, 36,209,106, 91,131, 32,104,149, 64, 16, 35,151,151,101, 29, 61,248,155,153,103,171, 86, 20, 69,209,216,182,
+253,231,143,143,253, 30, 62,207, 68,177,213,210,193,193, 97, 95, 88, 88,152,195,192,129, 3, 89, 14, 14, 14, 72, 77, 77,181, 60,
+116,232, 80,171,205,155, 55,143, 40, 41, 41, 9, 5,240,242, 29, 42,219,213,193,138,236, 99, 38, 36,122,161,156, 66,185, 1, 87,
+114,213,184, 8,224,230,187,158, 61,149, 74, 53, 93,165, 82, 5,248,251,251, 51, 59,119,238, 36,198,143, 31,207, 16, 4, 65,168,
+213,234, 61, 0,222, 73,104,137,197,226,173,193,193,193, 30, 30, 30, 30, 73,175, 94,189,234,123,228,200,145,179,227,198,141,115,
+ 23,139,197, 9, 0, 90, 54,144,110,119, 81, 81,145,143, 90,173,134,179,179,243, 78, 0, 31,252, 5, 55, 17,193, 98,177, 78, 56,
+ 57, 57, 49,107,214,172, 57,233,227,227, 99, 95, 92, 92,108,252,246,219,111,123,223,187,119,239, 99,138,162, 6, 54, 64,108, 73,
+ 9,130,216,110,111,111,111,179,122,245,234,196,246,237,219, 63,229,243,249,188,132,132, 4,209,236,217,179,103,189,124,249,114,
+ 4,195, 48, 83,128, 6,117, 16, 82,130, 32,182,203,100, 50,155,149, 43, 87,166,250,249,249,197,112,185, 92,110, 66, 66,130,248,
+187,239,190,251, 42, 62, 62,254,157, 56, 73,146,220, 22, 16, 16, 32, 93,180,104, 81, 92,171, 86,173,238,176, 88, 44, 94,102,102,
+ 38,185,120,241,226,105,151, 46, 93, 10,161,105,122,234,187,148,211,206,206, 78,186,120,241,226,184,192,192,192,123, 92, 46,151,
+251,226,197, 11, 50, 44, 44,108, 90, 98, 98,162,201,229,180,178,178, 10, 34, 8, 98, 71,110,110, 46, 27, 0, 28, 29, 29, 59,152,
+155,155,111,174,190,166,101,101,140,128,193, 96, 40,215,104, 52, 99,138,139,139,107, 76,132, 59,126,238,166, 1, 0,176, 89, 95,
+249,254,245,107,125,239,129,109,167, 77,169,180,175,195,235,188,120,235,148, 19, 7, 3,192,232,138,165,194,215, 41, 1, 54,155,
+ 77,251, 58,124,197, 60,206,109, 80,202,152, 65, 61,123,246, 92, 28, 25, 25,249,115,143, 30, 61,190,219,191,127,191, 93, 70, 70,
+198, 15, 55,111,222,116, 25, 53,106,212,248, 43, 87,174,172, 42, 44, 44, 60,246,103,221,252, 60, 46,159, 79,144, 4,132, 2,145,
+185, 41,251,115, 72,178,255,157, 65,131, 38,255,242,226,133,223,230,248,120, 55,165,163, 99,192,140, 25, 51,236,135, 14, 29, 74,
+186,184,184, 32, 49, 49,209,122,255,254,253,173,127,249,229,151, 33,165,165,165, 51, 1,164,189,143,200, 82,150,194, 91,171,131,
+ 31,195,192,178,234,129, 37, 80,202,215, 35,154,137,195,179,191,129,216,250,126,247,238,221,139, 18, 19, 19,177,106,213, 42, 0,
+216,210,192,227,103, 15, 26, 52,168, 95,120,120,184,240,232,209,163, 66,127,127,127, 56, 56, 56,160, 98, 48, 85,149,152,218,205,
+205,205,180,115, 70, 99,221,198,179, 19, 63,136, 41, 62,135,173, 67,115, 87, 9,157, 97,236, 52,200, 99, 72,255,241,126,176,176,
+ 21, 65, 32, 97,163,180, 72,238,245, 34, 58, 35,248,234,145,196, 31, 18,163, 10, 86, 43,211,241, 61,106,207,201,247, 95,129,181,
+181,245,206,228,228,228, 32,177, 88,252,198,231, 73, 73, 73,190, 30, 30, 30,101, 0,190,110,168,112,179,181,181, 61, 64,211,180,
+182,168,168,232, 83, 0, 48, 51, 51,251, 77, 44, 22, 75,115,114,114,230,253, 85, 3,153, 74,188,173, 69,254,225, 22,173,170,120,
+173,154,214, 58, 36, 72,138,238, 60,117,202,231,196,200,209,163,114, 19,147,146,105, 54,135, 55,250,252,133, 11,162, 54,109,218,
+144,218, 45, 91, 96, 44, 40,128, 97,214,172, 78,151, 47, 95, 54,132,140, 30,171,230,176,136,221,238,110,174,162,195, 7, 15, 57,
+132, 31, 63,214, 25, 64,125, 66,139,231,224,224,176,239,218,181,107, 78,110,110,110, 40, 45, 45, 69,106,106, 42,148, 74, 37, 70,
+140, 24,193,233,220,185,179,211,240,225,195,247,149,149,149,117,105,128,101,203,190,133, 51, 59, 98,202,132,161, 45, 63,238,211,
+ 89,236,228,210, 28, 76,174, 6, 25,175,226,253, 35,174,221,155,177,251,248,217,151,137,101, 76,127,212,188, 54, 82,157, 40, 44,
+ 44,156, 51,100,200,144,227, 65, 65, 65,182,124, 62, 31, 50,153,140, 24, 56,112, 96,126,118,118,246,146,119, 86, 45, 21, 75,216,
+144, 36, 73, 85,127,173, 97,121, 32, 83,224, 44,149, 74, 33,149, 74, 1,192,233,125, 71,158,150,150,150, 91,204,204,204,134,203,
+229,114, 53, 73,146, 12, 65, 16,140, 78,167, 19, 74,165,210, 39,113,241, 47,101, 90,173,182,197,218,141,191,252,216,179,171,143,
+249,165, 75,151, 48,116,232, 80,230,226,197,139, 83, 76, 93,167,142, 32,136,237, 67,134, 12, 81, 45, 92,184, 80,147,152,148,234,
+ 20,247, 50,137, 16, 11,120,180,141,141, 13,231,193,131, 7,236, 13, 27, 54, 8, 22, 47, 94,188,157, 97,152,225, 13, 56,159,219,
+ 71,141, 26,165,255,230,155,111,114, 94, 36, 38,219, 61,139, 75,100, 36, 2,142,209,198,198,154,117,239,222, 61,250, 93, 56, 73,
+146,220, 54,103,206, 28,249,148, 41, 83, 74,138,138,203, 28, 74,228, 10,134,207, 97, 25, 28, 28, 28,216, 39, 79,158,212, 30, 56,
+112,128,156, 60,121,242, 54,154,166, 67, 26,112,126,183, 13, 28, 56,176, 60, 44, 44,172, 52, 33, 41,197,225, 89,236, 75,136,248,
+ 28,131,189,189, 29,235,225,195,135,250,181,107,215,146,203,151, 47, 55,169,156, 98,177,120,239,145, 35, 71,216, 39, 79,190,110,
+251,238,222,189, 75,186,187,187,139,170,239,163,214,104, 65, 18, 64, 97, 97,161, 40, 48, 48,112, 47,128, 63, 36,247,245, 91, 18,
+143,241,115,129,233,211,167,231, 52,244,102,241,115,156, 81,239, 62,212,207,158,204, 6,213,196,193,108, 54,155,158, 60,121,114,
+238,219,223,107, 52, 26, 2,192, 64,252, 96,186,216,234,219,183,239,252, 51,103,206, 52,223,191,127,255,250, 3, 7, 14,232, 0,
+ 64, 32, 16,216, 28, 58,116,104,213,136, 17, 35, 48, 98,196,136,133,199,142, 29,251,211,132, 22,197, 80,122, 0,224, 11,248,252,
+248,248,120,194,211,211,179,206, 40, 87, 61, 77, 63,250,229,197,139,246, 95,120,122,250, 23,211,116, 11,238,199, 31, 43,102,207,
+158, 93, 40,151,203,145,154,154, 10,189, 94,143,241,227,199,179,122,244,232, 33, 27, 49, 98,196,166,242,242,242, 97, 0,244, 38,
+220,147,107,157,156,156, 62, 43, 43, 43, 83, 84, 90,117,186,132, 82,236,110,190, 70,126,187, 22, 6, 30,151,101,228, 14,152, 69,
+ 19, 23,183, 16, 74, 79, 55,220, 2, 0,174, 10, 5, 13, 28, 12,212, 8,115,103,184, 81, 28, 44,183,117, 22,246, 44, 72, 83, 47,
+ 85,166,215, 41,150,134,137,197,226,193, 74,165,242, 88, 69,231,220,178,127,255,254,184,119,239, 30, 0,116,174, 16, 90, 61, 73,
+146,252,132,166,233, 95, 1,212,181,148,219,140, 65,131, 6,125, 24, 30, 30,110, 6, 0,199,142, 29,131,193, 96,128,187,187, 59,
+184, 92, 46,120, 60, 30, 56, 28, 78,213,234, 32, 38,194,209,214,214, 6, 54, 22, 28, 72,173,196, 31,127,247,211, 32,118,147, 54,
+230,200,167,158,163,152, 41,133,145,209,130,107, 45, 70,171, 96, 75,248,245,233, 73,158,222, 22, 51,239,244,214,184,246, 42, 18,
+ 3,144, 6,237,223,165,103, 39, 73,146,255,244,233, 83,200,100,178, 55, 62,103,177, 88, 0,208,237, 29, 40, 23, 38, 37, 37, 5,
+ 70, 69, 69, 33, 40, 40,104,161,183,183,247, 71,215,175, 95,119, 40, 42, 42, 66, 80, 80,208,166,204,204,204,147,127,117,157,170,
+107,145,255, 47,166, 46,242, 45, 37,217,227,245, 40,152,100,177, 88, 36,146,147, 82, 13, 65, 65,189,198,165,167,167, 75, 2, 2,
+ 2, 72, 14,135, 3,101,100, 36, 52, 15, 31, 66, 34,145, 96,200,144, 33,156, 27, 55,110,152,155, 75,204, 39,165, 36,167,148,179,
+ 88, 36, 24,134,172, 55,230, 65, 42,149, 78,155, 55,111,158,131,135,135, 7,140, 70, 99, 85, 70,115,163,209,136,140,140, 12, 72,
+ 36, 18,132,134,134,218,137, 68,162,105, 38,214,163, 89, 75,119,187,232,107,103,183,127, 48,123,106, 95,113, 75,209, 37,136, 51,
+102, 66,114,236, 11,180,206, 62,143,176,193, 1,226,139, 91, 23,250, 53,151, 89, 69, 87, 51,177,154, 12,173, 86,123, 43, 38, 38,
+102,210,245,235,215,105, 0,184,122,245, 42, 19, 23, 23, 55,229,125, 70,161, 52, 77,163,180,180, 20, 52, 77,179, 42,222, 87,190,
+254, 87,239, 7,115,115,243,109, 31,125,244,209,168,180,180, 52,225,185,115,231,172,211,211,211,109, 82, 82, 82,108, 91,182,108,
+201, 94,181,106,213, 25,141, 86,207, 50, 80,140,206, 72, 25,202,115,158, 63, 79, 42,201,203,139,222,181,107,151,154, 32,136, 33,
+ 38,254,198, 48, 71, 71, 71,235,185,115,231,130,224,136, 58,180,106,237,237,193,226, 8, 45, 72, 14,207, 66,173,214, 80,201,201,
+201, 25,115,231,206,117,245,241,241,145,225,181,123,205, 36, 78,153, 76,102,243,205, 55,223,128,205, 55,243,109,231,227,215,156,
+199, 23,155,177, 56, 66,179,128,128,128, 30, 73, 73, 73,217, 97, 97, 97,142,254,254,254, 13,226,244,247,247,151, 78,158, 60,217,
+ 40, 16,154, 5,186,185,185,183,110,215,182,117,191,150, 45, 91, 14,102,179,217,198,130,130,130,180,208,208, 80,199, 1, 3, 6,
+216, 55,132,211,206,206, 78, 26, 22, 22,102,116,105,234, 30, 28,252, 97,159,142, 92,161,153, 5,155, 39,182, 84,169, 52,212,139,
+ 23, 47,210, 22, 44, 88,224,232,235,235,107,103, 10,167, 74,165,226,216,216,216,192,203,203, 11,109,220,221, 81, 86, 86,134,240,
+240,112,236,222,189, 27,191,254,250, 43, 14, 30, 60,136,246, 93,250,192,204,204, 12,217,217,217,144,203,229,156,255,244, 13, 69,
+253,236,201,108,214,125, 54,240,243,207, 63,207,158, 60,121,114,174, 80, 40,164,223,222,172,172,172,168, 49, 99,198,228,133,126,
+183,113, 96,165,107,177, 30, 75,214,211,179,103,207,190,218,191,127, 63,218,180,105,131,224,224, 96, 30, 0, 76,155, 54,141, 55,
+ 98,196, 8, 28, 57,114, 4,199,142, 29,139,245,240,240,184, 13, 96,144, 41,229, 12, 13, 13,237, 18, 18, 18,114, 51, 36, 36,228,
+241,200,145, 35,119, 76,153, 50,229,141,158, 43, 39, 59,243,145, 78,167,131,143,159,191,104,217,206,251, 99,234,227,139, 3,246,
+239,136,143,223,189,250,249,243,180,133,109,218, 88, 54, 77, 73,177,218,179,118,173, 77,229, 34,221, 6,131, 1, 25, 25, 25,144,
+ 74,165, 24, 51,102,140, 13,159,207, 15, 53,161,152, 27, 6, 13, 26, 52, 33, 61, 61, 93,242,203, 47,191, 56, 62,126,252, 88,150,
+147,147,227,120,229,242, 5,219,111,191,158,102,102, 33,225,241,178, 11, 24, 2, 0, 82,178, 33,142, 79, 70, 23,134,129,101,117,
+119,226, 59,193, 17, 66,161, 51, 54, 55,239, 98,249,242,155, 35,190, 35,195, 34,252,108,164,142,252,185,117, 28,209,110,205,154,
+ 53, 71, 79,159, 62, 61,186, 75,151, 46,199, 1, 8,107,216, 71,208,190,125,251,240, 35, 71,142, 76,232,218,181,235, 45, 0, 94,
+181,142, 34,157,157,135,252,254,251,239,214,149,239,109,108,108, 32, 16, 8,254, 32,178,184, 92, 46, 72,146,108,112,245, 86, 28,
+ 26,205,182,106,173, 69, 76,201, 89, 28, 89,243, 20,107, 62,126, 65,175,236,148,162,221, 18, 26,143,139, 71,158, 34, 31, 79,209,
+247,139,230, 24,189,192,167,183,136,194,242,191, 83, 7, 94, 80, 80,240, 73,183,110,221,142,246,237,219, 87, 27, 21, 21,133,130,
+130, 2, 56, 57, 85,141,181,115,223,129,210, 74, 36, 18,193,197,197, 5, 30, 30, 30,163,111,220,184,225, 96, 48, 24,144,146,146,
+130,252,252,252,232,255, 68,157,170,107,145,127, 24,222, 14,134, 63,243, 7,161, 85,177,182,208, 53, 0, 96, 8, 66,249, 52, 38,
+134,195,226,241,198,254,118,224, 0,159,203,229, 34, 45, 45, 13,177,177,177, 80, 93,185, 2,245,157, 59,200,203,203,131, 66,161,
+128,189,189, 61,182,239,220, 41,214, 81,204,196, 23, 47, 95,178, 24,146,169, 30,111, 80,227, 20, 79, 62,159,223,123,232,208,161,
+181, 10,178,236,236,108,244,237,219,151,195, 98,177,106,154,213,240, 54, 39, 33,179, 37, 78, 95, 57,190,204,209,145, 23, 11, 36,
+206, 6,202,163, 1, 70, 11, 24,117, 64,214, 51,224,204, 18, 52, 85,196, 19, 23,150,141,115,112, 18,177, 79,215,160,148,235,155,
+138,234,238,233,233,249,235,216,177, 99, 73, 0,232,217,179, 39,225,233,233,185, 3,128,123, 29,199, 92,174,167,147,188, 87, 82,
+ 82,130, 17, 35, 70, 88, 55,111,222,252,242,136, 17, 35,172, 43, 63,127, 87,206, 74,107,114,155, 54,109,138, 4, 2,193, 65,192,
+164, 6,182,138,211,210,210,114, 75,223,190,125,135, 31, 56,112,128, 11, 0,215,174, 93,195,233,211,167,241,252,249,115, 36, 36,
+ 36,208,126,126,126,182, 27,127, 61,186,109,203,207,123, 55, 12,238,236, 35,235,209,193,175,181, 68, 81,162,176,183,183,239,204,
+ 48,140,187,137,229,236,187,100,201,146,216,184, 87,105, 22, 36,155,195,230,114,216,124,115,115,177,189,212, 76,236,108, 37, 18,
+ 56,241, 73, 66,162, 82,169,114, 15, 30, 60, 72, 3,232,107, 42,231,178,101,203,146,227, 18,211, 44, 9,146,205,230,176, 57, 92,
+137, 68,100,249,113,112,144, 63, 0,112,193,112,229,114,121,222,238,221,187,245, 13,225, 92,180,104, 81, 76,113,169, 66,202,230,
+112, 56,108, 54,171,234, 92,138,133, 66, 91, 17,159,207,211,106,181, 89, 63,254,248,163,186, 33,156, 75,150, 44,137,125,241, 42,
+221,138, 36, 8, 22, 65,144,108,115, 51,177,181,181,133,200,214, 86, 34,180, 17,177, 89, 60,185, 92,158,181,111,223, 62,147, 56,
+245,122, 61, 55, 47, 47, 15,113,113,113,112,241,247,199,165, 75,151,208,164, 73, 19,140, 24, 49, 2,163, 70,141,130, 80, 40, 68,
+207, 64,111,204,157, 59, 23,175, 94,189,130, 94,175,231,215,196, 89, 25, 39,245, 54,100, 50, 89, 84,125, 55,207, 91,199,190, 81,
+ 78, 95, 7, 48,155,117,159, 13,172, 46,176,106,227,183,178,178,162,106,178,118,189,205,217,183,111,223,249, 87,174, 92,105,190,
+111,223,190,129,161,161,161,183,246,237,219,135,142, 29, 59, 34, 46, 46, 14,174,174,174,216,179,103, 15, 70,141, 26,117,107,211,
+166, 77, 3,163,162,162,124,220,220,220,230,213,199, 57,114,228,200, 47,125,125,125, 35,115,115,115, 3,139,139,139,189,194,195,
+195, 39, 14, 25, 50, 36,121,244,232,209,189,170, 4,163,193,112,224,204,169,227,232, 55,112, 40, 90,181,245,218, 54,126,222,126,
+239,122,158, 77,230, 57,176, 99,119, 78, 78,193, 1,141, 70, 53,130,195, 17,137,238,223,183, 58,246,243,207, 54,213,167,124,103,
+101,101, 97,192,128, 1, 28, 46,151,219,181,158,114,174, 25, 60,120,240,136,240,240,112,105,165, 85,231,206,157, 59,120,246,236,
+ 25, 82, 83, 83, 81, 90, 90,138, 94, 83, 20,248,124,213,107,238,207, 87, 49,232, 51,141, 17,191, 99, 27, 82, 5, 97, 19, 56, 88,
+155,179,111, 79,252,177,213,180,207,182,181, 97, 75,172, 56,248,237,187, 4, 20,166,104,143,213,194, 73, 4, 6, 6,238, 15, 9,
+ 9, 33,116, 58, 29,116, 58,157, 14, 64,141, 89,125,157,156,156, 4,237,218,181,195,148, 41, 83, 72,115,115,243, 77,181,149, 83,
+169, 84,106,207,158, 61,139,208,208, 80,204,156, 57, 19, 45, 90,180,128, 84, 42, 5,135,195,193,222,253,135,109, 70, 77,156,218,
+242,131, 46,221,124,218,124,208,177, 93,185,150,229,207, 17, 74, 39,215, 98, 13,169,177,238, 10,187, 40,196,164,220,197,230,129,
+153,244,131, 61, 42,197,183,159,252, 43,254,197,245,188,231,243, 66,118,196, 48,119, 59, 21,238,255, 42, 29,121,134, 56,116, 29,
+209, 20,110,190,210, 89, 98, 23,120,190,235,249, 52, 17, 13,226,244,246,246,238,242,224,193, 3,126,183,110,221,144,150,150, 6,
+ 14,167,106, 60, 69,189, 79, 57,151, 44, 89,194,215,104, 52,120,242,228, 9,198,141, 27,151,165,215,235,103,189, 79, 57, 27, 98,
+209,170,212, 34,255, 48,236,120,107,203,169,205,162,181, 4, 0, 12, 52, 78,143, 29, 55, 81, 21, 17, 17, 33,226,241,120, 72, 75,
+ 75, 67, 78, 78, 14,246,238,222, 77,245,180,179, 43, 15,118,114,146,239,221,189,155,209,233,116, 96, 24, 6,158,158,158, 24, 62,
+124,184,112,216,136,209,249,132, 92,125,216, 4, 55,143, 99,165,127,125,226,196,137,127,248,254,219,111,191,133,185,185, 57, 8,
+130,112, 48,161,114, 33, 51,150, 12,118,150,186, 89,230, 49,185,123,139,193, 18, 0,108, 51,128,109, 14, 8, 44, 0,190, 25,192,
+ 19, 65, 27, 21, 89, 76, 50,193,169, 67,187,126,234, 4,160, 33,174, 30,200,100,178,133,145,145,145,182, 81, 81, 81,140, 92, 46,
+ 71, 78, 78, 14,179,114,229, 74, 91,153, 76,182,240, 93,175, 72,118,118,246,178,126,253,250,229,141, 27, 55,206,226,252,249,243,
+ 46,227,198,141,179,232,215,175, 95, 94,118,118,246,178,247,185,210, 92, 46,151,245,252,249,115,171,229,203,151,143, 2,240,168,
+109,219,182, 69, 78, 78, 78,143,240, 58,104,178, 78,152,153,153, 85,137,172, 74,235, 26,155,205, 6,135,195,129, 76, 38,211, 21,
+ 23, 23, 83, 93, 63,112, 23,122, 90,144, 6, 25,159, 43,180, 18, 10,156,205,204, 45, 2,138,138,138,158, 18, 4,145,100,162,139,
+207,183, 67,135, 14, 28,138,225,208,159,143,237, 41,155, 54, 33,200,238,167,229,147,155,252,184,236, 51,167, 53,139, 39,121, 46,
+155, 51, 38,136,164,105,141,171,171,171, 67,101, 64,187, 9,230,115,191,246,237,219,179,105,112, 16,247, 50, 53, 47, 45, 51,171,
+252,195, 30,129, 85,150,203, 54,190,126,193,182,182,182,221, 60, 61, 61,219, 19, 4, 97,210,148,100,161, 80,232,219,170, 85, 43,
+ 54,201,226, 16,214, 82, 51, 23, 51,137,208,190,202,133, 98,105,217,201,202,214, 54,132,100,152, 50, 71, 71, 71, 59,161, 80,232,
+219,128,186,179,105,112, 97,111,103,101, 97,107, 99, 41, 9, 14,234,220, 34,176, 83, 96, 75,239,128,142,129,109, 63,104, 63,140,
+ 48, 26,229,238,238,238,118,149, 65,242,245, 88, 90, 5, 7, 14, 28,192,242,229,203,209,174,105, 83, 56, 57, 57,193,206,206, 14,
+119,238,220,193,131, 7, 15, 32,149, 74,145,159,159,143,181,107,215,226,196,137, 19,208,235,245,102, 13,189,159, 76, 17, 91,117,
+193,104, 52,146,111, 11,172,218,248,133, 66, 33, 93, 25, 36, 95, 27,206,158, 61,187,191,210,146,245,213, 87, 95,117,217,184,113,
+227,173,248,248,120, 72, 36, 18, 60,120,240, 0, 19, 39, 78,188,181,105,211,166, 46, 83,167, 78,197,238,221,187,145,156,156,188,
+179, 46,190,145, 35, 71, 46,158, 52,105,210,143,215,175, 95, 39,237,237,237, 33,149, 74, 49,120,240, 96,236,220,185,147,109, 52,
+ 26,119,133,132,132, 60, 14, 9, 9,121, 76,101, 92,156,127,244,215,149,119, 98,158, 62,198,151, 51,190,225,233,140,134, 48, 19,
+170,207,168, 37,146,114, 99,183,110,197, 71, 12, 6,213, 72, 46, 87,100,241,248,177,213,233, 93,187,170,196,214,220,185,115, 97,
+ 97, 97, 1,188, 14, 96, 70, 29, 86,157,207, 78,156, 56, 81,213, 30, 90, 91, 91,131,199,227,129,203,229,130,195,225,128,197, 98,
+225,242, 54, 49,126,158,251, 90, 95,252, 60,151,192,197, 45,132,242,125,174,157,200, 9, 94, 82,123,222,227, 47,246,180,245,241,
+234,101,141, 59,135,114,177,178, 95, 84,230,131, 35, 5,179, 53,249, 88, 87,203, 97, 31,124,251,237,183,109,242,243,243,241,240,
+225, 67, 60,124,248,176, 54, 11,144,230,212,169, 83, 63, 40, 20, 10,184,185,185, 97,208,160, 65,221, 0,248,215,242,220,160,125,
+251,246, 24, 48, 96, 0,130,130,130,208,174, 93, 59,232,244, 70, 78,200,216,207, 90, 61, 79, 46,112, 90,185,118,165, 40,242,106,
+ 56,121,235,214,117,214,254,227, 23, 45, 2,131,250,252,200, 53,115,188, 7,161,181,163, 41,245, 84, 81, 69,240,117,252, 24, 59,
+174,204, 32, 55, 95, 27, 39,217,123,122,179,187,153,153, 25, 17,253,240,177, 97,239,214, 35,233, 94,226, 65,249,247, 14, 21, 65,
+ 69,228,162,215, 4, 55,146, 6,134,255, 93,122,118,129, 64,176,241,250,245,235, 14,122,189, 30, 49, 49, 49,152, 57,115,166,230,
+ 61, 41,171, 12, 32, 46, 46, 46,184,118,237, 26,198,140, 25,163,201,203,203,187,251,159,170, 83,117, 45,242,255, 5,236,106, 10,
+178, 10, 25, 25, 25,165, 82,169,212,169, 85,171, 86,164, 78,167,123,237,146, 56,118,140,250,117,215,174, 51, 26,141,102, 6, 0,
+238,150,159,126,218,230,228,236, 28, 52, 54, 52,148, 48, 24, 12,232,215,175, 31, 47, 34, 34,194, 58, 41, 63,191,220,132, 14,231,
+141,223, 27, 63,126, 60, 54,110,220, 8, 0,152, 62,125,122,149,105,157, 48, 33, 96, 73, 98,129,190,193,253,219,155,103,136, 55,
+155,235, 59, 25, 20,205, 94,153,221, 19, 43,132,237, 65,242,216, 16,176, 64,235, 13,198,132,252, 33,143, 94, 37,180,110, 35, 44,
+ 46,114,237,221,182, 59,126,189,180,175,175,138,210, 28, 49,185,193, 17,137, 58, 72, 36, 18, 60,122,244,168,184,125,251,246,165,
+ 12,195, 88, 44, 91,182,204, 70, 36, 18,117,120,143,115,159,242,242,229,203,110,157, 59,119,158, 70,146,100,111,154,166, 47,231,
+229,229,109, 1,144, 98,226,241,159, 3, 88, 4,160,106,100,169,211,233, 64,146, 36, 24,134,193,200,145, 35, 49,119,238,220, 54,
+207,158, 61, 67,100,100,164, 85,239,222,189,239, 1, 40, 5,240, 41,128, 26,173,102,114,185, 92,253,224,193, 3, 97,100,100, 36,
+104,154,134,149,149, 21,204,205,205,193,231,243, 49,120,240, 96, 73, 88, 88, 88,175, 11, 23, 46,228,203,155, 53, 97, 9,114,178,
+148,124,137,196, 12, 14, 78, 93,167,142,254, 36,158, 97,152, 19, 13,104, 28,120, 66,182, 81, 67, 80, 90,114,205,247,155, 72, 17,
+151, 75, 8,184,108,240,105, 21,230,255,176,130,224, 50, 20, 27, 13,244,207,115,185, 92,174, 25, 31, 58, 22,143,101, 16, 17,248,
+ 83,178,196,177, 88, 44,158,128, 91,123, 60, 6,135, 36, 73,146, 36,185, 0, 76, 94,180,143,207,231,115,205,248, 76,173,156, 66,
+ 22,193, 34, 8,130,135, 90,102,162,249, 58,128,169,180, 34,241,102, 36,105,171,139,226,174, 93,187,226, 76,228, 35, 28, 59,125,
+ 25,133,105, 79,177,224,187,175,224,239,239,143,136,136,136, 58,203, 84, 25,163, 85,155,117, 89, 38,147, 69,101,103,103,127, 80,
+219,177,117,185, 12,107,177, 82,253,145,255,123, 11,248, 45,137, 71, 61, 49, 90,131,186,118,237,250,229,129, 3, 7,116, 31,125,
+244, 17,111,228,200,145,240,242,242,234, 50, 97,194, 4, 0, 64,239,222,189,177,113,227,198, 46, 19, 38, 76,192,225,195,135, 17,
+ 30, 30,174,237,209,163,199,119,215,174, 93,203,194,235, 25,157,127, 0, 77,211, 3,182,111,223,254,182,165, 16, 70,163, 17, 6,
+131,193,209,104, 52, 58, 86,180, 69,248,241,199, 77,133, 23, 47, 68,224,187,121, 75, 96,103,235,224,107,226, 61, 68,140,255,230,
+155,194, 61,107,215, 98,237,225,195,248,198,213, 85,180, 47, 54, 22, 23, 53, 26, 28,137,140, 44,172,248,157,122, 99, 51,149, 74,
+165,250,236,217,179,230, 71,142, 28,129,165,165, 37, 90,180,104, 1, 43, 43, 43,112, 56, 28,144, 44, 33, 88, 92, 41, 90,181,237,
+ 0,224, 1, 0,192, 85, 6,165,167, 27,110, 17, 4, 74, 25,178,225, 49, 69,252, 38,104,102,227, 44,184,254,229,110, 47, 75,115,
+ 59, 46,206,111, 73,199,133,205, 25, 39, 52,133, 88, 15, 35, 94,160,246,152,175,246,110,110,110,200,207,207,199,217,179,103,149,
+ 64,173,130, 12, 52, 77,255,240,211, 79, 63,125, 59,111,222, 60,190,167,167, 39, 0,248, 2,120, 88,211,190, 98,177, 24, 78, 78,
+ 78, 85,194,114,228,184,169,238, 83,102, 79, 21, 14,233, 19, 4, 54,219, 6,165, 74, 3,138,202, 13,144,218, 72,240,221,236, 16,
+193,229,246, 78,254,219, 55,253,118, 74,173,134, 63,240,199,246,128, 32,240,240,254,211, 91,222, 2, 79,128, 32,129, 12,242, 42,
+ 8, 16, 80, 16, 6, 16, 44, 22, 67, 81, 20,210,211,211,193, 48, 12,198, 12,153,152,241,217,202,112,187, 46, 99,228,112,105, 37,
+ 3,193,160,251,223, 69, 8, 88, 91, 91,251, 22, 21, 21, 33, 37, 37, 5,227,198,141,203, 42, 44, 44,188,164, 84, 42, 39,102,103,
+103, 3, 64,241, 59, 80, 86,137,121, 95, 95, 95,116,232,208, 1, 35, 70,140, 16,168, 84,170, 16,119,119,119,167,130,130,130, 78,
+127,101,125,222,214, 34,255,175,132, 86,141, 15,154,193,208, 74,187,109, 27,148,151, 47,131,119,241, 34,142,200,100, 10,141, 70,
+243, 53,128,140,138, 7,255,171,221,123,246,220, 30,120,247,174,185, 46, 62, 30,238,207,158,129, 99,105,233,219,208, 2,236,218,
+181, 11,114,185, 28,101,101,101, 0,128,205,155, 55, 67, 46,151,195,104,226,130,179,108, 46,186, 56,216,185, 34, 23, 9,160,217,
+164, 36,181,149,170,163, 68, 99,150,237,148,110,175, 44, 35,157, 16,159, 22, 32, 86, 23,233, 58, 18, 44, 29, 52,133, 42, 56,117,
+110, 1, 54,216, 93, 26, 82,198, 74,191, 63,155,205, 46,126,249,242,229,128,150, 45, 91,158, 6, 96,243, 46,241, 0,111, 33, 49,
+ 47, 47,111,198,187, 28,200, 98,177, 22, 37, 39, 39,219,237,220,185,115,218,178,101,203,152,234, 66,171,242,127, 54,155, 13,134,
+ 97, 96, 97, 97, 1, 14,135, 99,127,231,206, 29,251,128,128,128,173, 52, 77,251,214, 82, 79,198,203,203, 11,201,201,201, 96,179,
+217,176,176,176, 0,109,212, 99,201,236,169,160, 88,124,246,156, 57,115,124,135, 14, 29, 26,179,115,231, 78,131,121, 96,231, 78,
+ 69, 69, 69,207,191, 28, 51, 54,230,228,201,147,186,138, 20, 15,245, 15,241, 25,230,113, 66, 66, 2,203, 89,102,207, 98,140, 42,
+ 90,204, 5, 4, 79,127,100,120, 18, 7, 8,216, 44,134, 75,144,224, 11,132, 22, 41,153,153, 69, 52, 77,199,153,194, 73,211,116,
+116,114,114,178,208,222,206,154,173, 82,235, 20, 66, 14,195, 75,141,126,148,212,204,175,189, 59, 0,104,162, 31, 92,227,183,106,
+ 45, 76,205, 43, 16,187,186,186,154,196,169, 86,171, 31,103,101,101,177,236,237,237,217,105, 25,153,167, 44, 37, 98, 91,115, 75,
+203,142, 0,160, 47, 47,123, 64,106,181, 5, 44, 14,219,190,160,168,168, 88,173, 86, 39,155, 90,247, 87,175, 94,177, 29, 29,237,
+ 88,231, 47, 94, 57,109, 47,226,219,153,241,216,230,124,130, 32, 68, 44, 66,206, 53,210,133, 2,145,200, 46, 37, 51,179,152, 97,
+152, 90, 45,132,171, 75,199, 14,121,125,189,150, 28,174,198,141,167, 79,159,226,220,173, 56,136, 25, 29, 8, 77, 25, 46,238,254,
+ 5, 99,230,204,123,239,184,191,250,196,214, 59, 89,179,182,183,142,122,139, 31, 57,245, 4,194,143, 25, 51,102,201,254,253,251,
+171, 2, 80,226,226,226,208,179,103,207, 74, 55, 7,130,131,131, 17, 16, 16,128,184,184, 56,120,120,120, 32, 50, 50,146,207, 98,
+177,248, 99,199,142, 93,249,219,111,191,157,173,215,238,191, 99, 7, 38, 78,156, 88, 83, 96,245, 43, 0, 26, 66,234,169,152,187,
+122,175, 77,113, 81, 33,242, 11,114, 31,155,122, 30, 8,130,192,248,111,190, 41,220,174,211,225,192,253,251, 8, 21,139, 69,123,
+ 18, 19,209, 47, 32, 0,222, 61,123, 22,154,210,214, 85, 90,117, 52, 26, 13, 56, 28, 14,204,205,205, 97,109,109, 13, 46,151, 11,
+ 22, 71, 6, 54,207, 7, 36,151, 11,191,174, 62, 88,251,181, 88, 53,238, 99,108, 34, 8,148,242,121,136,230,138,106,141,213, 33,
+196, 77, 48,152, 97, 32, 87,101,224,106,165, 32,177,104, 10, 11,142, 25,231,226,164,173,158,150,230,118, 92,156,219,148,134,139,
+ 91, 51,143,107,114,177,160,226, 92,208,117, 12, 36,188, 45, 45, 45,145,145,145,129,244,244,244, 88,212, 29,224,175,138,139,139,
+ 75,226,243,249,109,108,109,109, 1,192,173,182,129, 57, 77,211, 85,113, 88,251, 14, 28,181,241,237,230, 46,248,176, 75, 27,236,
+ 61,189, 2, 95,132,108, 2,135, 69,128,162,244, 88,191,177, 63, 40,173, 2, 33, 3, 63, 35,186,247,246,240,185,124, 90, 55,201,
+160, 46,249,229, 15, 3, 1, 54,150,255,107,212, 29, 75,190,132,244, 6, 77, 88,218,216,216,137,185, 92, 46,172,205, 29,117,243,
+166,204,202, 97, 24,166,234,185,225,176,184, 6,178,220, 74, 93,148,171, 16, 90,114,212, 0, 67, 54,123,183,108, 54,127, 62, 50,
+ 51, 51,103,116,235,214,109,101,121,121,121,137, 82,169, 28, 3, 0,110,110,110, 77, 73,146,228, 3,168,203, 59,210, 20, 53,167,
+133,224, 62,123,246, 12,102,102,102,200,202,202,170,110,124, 1, 77,211,127,155, 73, 0,127, 83,248, 1,136, 6,224, 8,160, 31,
+170,165,119, 32, 43, 76,117,221, 35, 34, 34,152,136,136,136,238, 85,157, 23,195,208,198,226, 98, 48,218,215,231,150,195,225, 48,
+ 0,170,207,104, 18, 89, 90, 90, 18, 28,103,103, 16,252,215,161, 31,204,159, 56,245,213, 96, 48, 45,181, 12, 77,129, 5, 66, 15,
+166,218,160, 69, 41, 32,176,194,166, 23,102,240, 22, 34,151,103, 89,189,167, 3,140, 12, 40,208,172, 6, 22,135, 81, 42,149, 48,
+ 26,141,210,230,205,155,159, 49, 26,141,210,138,206,141,249,111, 93, 81,138,162,146, 88, 44, 22,166, 77,155,134, 74,235,143, 78,
+167, 67,110,110, 46,180, 90, 45,116, 58, 29,146,147,147, 81, 86, 86, 6,157, 78,135,231,207,159,195,205,205, 13, 44, 22,203,177,
+142,198,156, 97, 24, 6, 46, 46, 46,104,214,172, 25, 88, 4,131, 95,215, 44,198,252,153, 83, 49,202,141,198,174, 45,235,209,163,
+ 71,143,214,174,174,174,129,108, 54,155,114,112,112,224,134,135,135,159,162, 40,106, 48, 76,111,121,206,206,157, 59,183, 89,219,
+182,109,237, 44,205,205, 12,124, 30, 11, 60,131,146,225,107,139, 24,182,170, 16, 46, 46, 77,141, 16,138, 60, 66, 67, 67,169,218,
+172, 16, 53,113,126,253,245,215,142,158,158,158, 22, 82, 75, 51, 37,143,195,202,231,130, 41, 44,123,250,240, 30, 0,240,108,237,
+ 52, 16,136,218,140, 27, 55,206,216, 16,206,133, 11, 23,186,217,218,218, 90,146, 96,202, 41,189,254,223,254,118,173,174,136,224,
+112,212,224,242,218, 79,159, 62,157,104, 8,231,183,223,126,235,218,166, 77, 27, 75, 75,115,177,130,205, 97,229,112,105, 58, 71,
+ 0, 58,151,163,211,151, 8,108,109, 84, 16, 73,252, 66, 67, 67,107,229,172,180,102,133,133,133,101,188, 37,188, 81, 92, 92, 12,
+ 77,110, 12,184, 89,241,240,145,112,224,111, 43, 5,159,207,175,154,250, 94,219,237, 90, 91,140, 86, 77, 98,203,212, 99,219, 47,
+173,195, 5,184,189,117,212,219,121,179,178,179,179,225,232,232, 88,231,243,244,219,111,191,205, 11, 10, 10,202, 15, 14, 14,214,
+157, 57,115, 6, 4, 65, 32, 50, 50, 18, 89, 89, 89, 8, 14, 14, 6,195, 48,149,179,218,240,248,241, 99,244,238,221, 91,215,173,
+ 91,183,172,138,252, 90,245, 98,226,196,137, 48, 24, 12, 80, 40, 20, 40, 46, 46, 70, 68, 68, 4,124,124,124, 24,145, 72, 52,148,
+229,210,103, 69,200,164,121,157,188,218,249, 98,235,166,181, 58, 30,155,179,186, 33,207, 43, 65, 16, 24,247,245,215,133,101,126,
+126,197,251,148, 74,213,120,115,115, 81,243,140, 12,171, 71, 23, 46,216,232,245,122,147, 56, 42,173, 58,206,206,206, 85, 34,139,
+203,229,130,205,179, 5, 75,236, 13,158,117, 48, 68, 14, 67,113, 53,154,175,181, 16,227,132,153, 4,231,197,150,181,167,118, 16,
+185, 96, 69,167,145,142,225,157, 71, 57, 94, 17, 53,193,206,138,254,128,100,216, 68,248,132,245, 45,155,219, 54, 19,226,238,209,
+ 92, 92,220,154,249,187, 38, 23,139, 1, 36,214,247,156,235,245,122, 13, 69, 81, 32, 73, 18,108, 54,187,122, 76,224,237,223,127,
+ 96,217, 72, 25, 0, 0, 32, 0, 73, 68, 65, 84,255, 29,143, 30, 61, 2,170,165,237, 41, 47, 47,167, 88, 44, 22, 4, 2, 1, 0,
+ 72,234,104,239,192,225,112,192,225,112,112,237,222, 13,235, 81,195,250, 19,119,158, 92, 66,103,159,209, 40, 82,232,145, 87,166,
+ 71,169, 10,104,235,191, 0, 94,189, 79,224,105,114, 57,124,219,121,177, 88, 60,241,184,154,248, 52, 41,200, 80,166, 99,120, 81,
+ 44,221, 66,151, 41, 60,119,247,100, 92,236,141, 99, 79,159, 31,250,233,116, 98, 39,255,110,202, 10, 99, 2, 20, 10, 5, 67, 16,
+ 4, 51,107,242,188,164,125, 19, 75,168, 77, 99,158,210,108,173,224,213,127,176,169,111,106,107,107,123,199,218,218, 58,178, 66,
+ 28, 53, 53, 51, 51,187,237,232,232, 24,143,215, 19, 61, 78,230,228,228,120, 42,149,202,206,120, 61, 57, 43,173,168,168,168,103,
+133,229, 41,173, 14, 75,216, 78,185, 92,254, 21, 69, 81, 3, 43,182,143, 41,138,242, 77, 72, 72,104,227,235,235, 27,235,238,238,
+254,216,221,221,253,156,187,187,251, 41,119,119,247, 83, 65, 65, 65, 27, 43,211, 61,252,197,110,195, 63,104,145,127,152,208, 66,
+133,200,218, 81,241,138, 42,161, 5,224,218,219, 1,104, 70, 62,255,185,241,203, 47, 97,121,234, 20, 56, 9, 9,152, 48,110,156,
+185, 72, 36,218,132,215, 57,154, 58, 75, 36,146,173,139, 23, 47, 54,179, 89,181, 10,178, 27, 55,144, 26, 17, 1, 3,135,243,240,
+ 93, 74,167, 86,171,193,102,179,171, 44, 49, 98,177, 24, 20, 69,161, 38,147,239, 31, 30, 64, 35,238,102,229,197,131,135,102,160,
+193, 40,206,203,187,221, 31,157,180,192, 46, 66,238,230,145,168,228,122, 44,181,237,104,183,169,105,151,251, 74,130,173,224, 89,
+ 10,144,158,158, 1, 10,116,131,252,205, 26,141,166, 76,169, 84,194,215,215,215,250,209,163, 71,205,125,124,124,172, 42, 62,127,
+240,158, 23, 38, 80, 38,147, 29,117,114,114, 74,145,201,100, 71, 1, 4, 54,224,216,157, 55,111,222, 4,139,197,194,226,197,139,
+ 81, 94, 94, 14,189, 94,143,162,162, 34,164,167,167, 67,167,211, 33, 51, 51, 19, 47, 94,188,128, 78,167, 67,106,106, 42,180,218,
+250, 7, 36, 52, 77,195,220,220, 28, 26,181, 2, 63,175,152,143,133, 97,179, 81,246, 42, 10,153,217,121,176,180, 16, 99,198,140,
+ 25, 44,169, 84, 74,211, 52,221,140,162,168,222, 52, 77,111, 51,229, 58, 85,187,223,110,185,184,184,120,173, 89,179,166,205,252,
+ 21,219,184,230,108, 5,195, 55, 19,208, 60, 51, 62,195,107,221, 17, 19, 23,108,226,254,184, 97,221,203,187,119,239,102,193,180,
+228,157, 36,128, 91,126,126,126, 45,179,178,178,124, 60, 61, 61, 91,217, 52,117,229,243, 29,157, 74,185,142, 77,228,140, 86,115,
+159,112,106,210,117,219,182,109, 49,183,111,223,206,110, 8,167, 88, 44,110,189,119,239, 94, 47,123,123,123, 47,142, 80, 40, 80,
+149,149, 29, 49,170,148, 71, 89,150, 82, 1,105,110,249,241,137, 19, 39,162,142, 31, 63,158,219, 16, 78, 15, 15, 15,207, 21, 43,
+ 86,180,245,246,246,110,235,224,214,156, 47,116,114, 41, 18, 56, 55, 45, 18,122,251,240,225,220,236,163,173, 91,183, 62,190,123,
+247,174, 73,156, 44, 22,203, 72,146, 36, 56, 28, 14, 68, 34, 17,206,159, 63,143, 47, 39,141,134,139,147, 53, 90,121,122,162,215,
+ 23, 95,225,248,241,227, 85, 49, 60, 44, 22,171,214, 30,125,207,170, 25,167,253, 28,137, 40,108,111, 29,133,237,173,163,252, 28,
+137,168, 90,197, 86,197,247, 53,237, 99, 82,107, 84,139,187,209, 4,177,117,246,218,181,107, 63,140, 31, 63,158,215,183,111, 95,
+220,191,127, 31, 19, 39, 78,188, 21, 30, 30, 14, 0,184,127,255, 62,102,205,154,117,235,202,149, 43,152, 58,117, 42,122,246,236,
+201,187,121,243,230, 86,152,144,251,199,104, 52, 98,215,174, 93, 48, 26,141,144, 72, 36,176,178,178, 66,255,254,253, 17, 19, 19,
+ 51,117,247,238,221,241, 44, 14,231,147,126, 3,135,225,204,169,112,188,120, 30, 51,117,207,202,177, 13, 78, 10, 76,146, 36,250,
+142, 27, 87, 88,216,182,109,241, 30,185, 92,245,169, 84, 42,242,204,205,181,186,122,244,168,141, 9, 66,141,160, 40,170, 74, 92,
+ 85,138,142,202,141,205,179, 5, 91,236, 5,182,153, 63,158, 38,114, 13,220, 0, 68,243,252, 17, 87, 87,254, 44, 14,143,156, 56,
+116,190, 27,134,206,119,195,160, 57,174, 19, 68, 77,240,171,184, 9, 62,239, 59,179, 89,144,187,191, 5,228,249,122, 68,172, 79,
+ 77,211, 20, 97, 21,128, 23,166, 60,231, 52, 77,199,102,101,101,129,199,227,161, 73,147, 38, 45, 1, 84,198, 5,238,156, 60,121,
+242,244,165, 75,151,206, 6,176,180,226, 51, 73, 80, 80, 80, 91,133, 66,129,132,132, 4, 0,120, 84,135, 53,184,106,150, 97,177,
+ 60,149,239, 42,243,134, 79,235, 41,144, 74,219, 33,171, 88,135,236, 98, 29,126,253,121, 48,162,110, 46,199,163,139,161, 72,203,
+205,133,208, 97, 8, 40,163,214,203,132, 65,189,236,201,147, 39,196,205,155, 55, 9,154,166, 97, 48, 24,152,114,185,156,137,190,
+117, 11,234,235,215, 9,115,115,115,162, 75,135,110,138, 61,203,207, 60, 56,177,229,214, 35,189,170,193, 3,245,247,193,194,164,
+164,164,192,163, 71,143, 6, 1, 88,232,237,237,125, 55, 61, 61,189,211,141, 27, 55, 90, 57, 59, 59,111,122, 87,210,202,180, 16,
+169,169,169,111,108, 21,105, 33,116, 21,162,161,111,133,152, 27, 4, 96, 22,222, 99,150,125, 3,112,237, 31, 28, 12,127, 6,111,
+205, 54,124, 91,104, 85, 79, 20, 6,119,169,212,204, 96,208,103, 94,186,116, 73, 79,146, 36, 68, 34, 17,198, 79,156, 72,254,252,
+211, 79, 93, 71, 7, 6, 70,126,246,225,135,231, 34,175, 92,241, 11, 8, 8, 0,195, 48, 32, 73, 18,135, 15, 31, 86,107, 52,234,
+ 34, 23, 23, 23, 75, 83, 26,141,234, 15,144, 92, 46,175, 18, 90,101,101,101,176,183,183, 55,217,117,168,148,227,242,149,243, 81,
+ 37, 12,245, 69,122,223,196, 13,250,213,185,131, 3, 74,105,138, 93, 70, 25, 80,166,102, 80,174, 1,251, 62,105, 21, 48,222, 99,
+136, 62,185,119,192,139,235,241,119,138, 52,148,166, 65,179, 37,242,243,243,231,135,132,132, 20, 57, 58, 58, 18,230,230,230,112,
+114,114, 34, 7, 13, 26, 84,152,145,145,177,244, 93,175,136,181,181,245,168,160,160,160,211, 89, 89, 89,195,175, 95,191,222,236,
+198,141, 27,195,131,130,130, 78, 91, 91, 91,143, 50,145,226,200,188,121,243,148, 60, 30, 15, 29, 59,118, 68,121,121, 57, 42,102,
+249,212,185,153,226, 34,229,114,185,216,190,102, 17, 22,134,205, 70,113,252,125, 60,189,117, 9,215,114, 9, 44, 88,177, 14, 92,
+ 46,247,157,114,125,181,176, 21,121,123,203,204,226,102, 77, 28,153, 61, 55, 44,204,236,241,227,199,156,233, 51,103, 49,169, 57,
+197,224,245, 93,203, 66,247,249,228, 19,165, 45,250,125,220, 11,139, 23,126,227, 93,145,180,179, 78,180,182, 21,121,123,201,204,
+ 98,191,249,108,116,210,204,153, 51,133,171, 87,175,214, 4, 6, 6,170,243,242,242,132, 98,169,149, 39,219,194,210, 43, 53, 39,
+ 87, 18, 24, 24,152,252,197, 23, 95,148, 54,148,115,193,130, 5,162, 11, 23, 46,176, 67, 66, 66,140, 37, 37, 37, 18,142, 80,232,
+ 75,240, 5, 29, 10, 74, 74, 44,134,135,132, 36, 14, 31, 62, 92, 85,145,176,212,100,206,239,191,255, 94,244,226,197, 11,118, 96,
+ 96,160, 33, 55, 55,215, 76,108,109,227,195,178,180,242, 79,201,201, 51,239, 16, 16,240,106,250,244,233,202,186,202, 89, 93,164,
+152,153,153,101,117,238,220, 25,235,215,175,199,143, 63,254,136,143, 62,250, 8, 49,207, 99,208,111,250,108,180,249,124, 22, 78,
+221,185,135,172,172, 44, 44, 91,182, 12, 62, 62, 62,224,114,185, 47,106,124, 30,167,198, 19,143,115, 65, 60,206, 5, 65, 76,141,
+ 39, 42,223,215,106,217, 90, 90,134,234,251,215,180,223,163,239,107,182,116,249, 57, 18, 81,117,197, 97,213, 39,182,134, 15, 31,
+254,101,101, 10,135, 79, 63,253,244,214,166, 77,155,186,124,250,233,235,129,118,199,142, 29,177,124,249,242, 46, 11, 22, 44,184,
+181, 98,197, 10,244,234,213, 11,238,238,238,245, 78,124,161, 40, 10, 70,163, 17,163, 71,143,134,209,104, 68, 65, 65, 1, 94,190,
+124,137, 29, 59,118,128, 97, 24, 1, 0, 56,202,156,219,243,120, 60, 60,137,126,168, 90,248,105,192,111, 13,176,100, 17,213, 7,
+ 49, 10,133, 2,195, 63,255,188, 48,179, 69,139,226,109,133,133,170, 73, 82,169,200, 53, 45,205,202, 76,167,115, 66, 29,113,137,
+ 4, 65,128,166,233, 42, 97, 85, 41,184,222,222, 42, 58, 74,147,160, 87,209,103,111,236,207, 6, 0,116, 27, 43,195,160, 57,174,
+ 19, 28, 61, 68,155,187,142,121,109,244, 62,190, 60,137, 41,207,166, 86,195,128,216, 6, 88,172,239,223,191,127, 31,150,150,150,
+ 8, 9, 9,225,147, 36,185,170,114,188,138,215,185,179, 54, 84,114,241,249,252,181,161,161,161,100,105,105, 41,158, 62,125, 10,
+ 0, 87,106,107,151, 24,134,169,170,187,162,152, 0, 69,243,112, 59,250, 60, 46,222, 56,134,148,172, 2,164,229,107, 0,182, 5,
+ 52,202, 76,232,213, 89,208,149, 70, 67,174, 21,153, 84, 96, 46,151, 91,224,237,237,205,248,251,251, 51, 12,195,224,213,171, 87,
+198,212,180, 52,227,195,141, 27,153,103, 83,166, 16,102, 47, 95,114,133, 66, 33,225,230,230, 6,129, 64, 64, 11, 4,130,162,255,
+ 96,231,253,151,164, 91,248, 11,210, 66,252,153, 86, 45, 6,255, 76,228,224,205,217,134, 85, 9, 76,107, 74, 88, 10,198, 92, 56,
+242,216,214,159, 45, 66, 70,143, 85,250,248,248, 72,157,156,156, 64, 16, 4, 6, 15, 25, 66, 4, 93,191,110,198,145,201, 96,253,
+193, 7, 85,238,136,203,151, 46,225,252,249,243,202, 51,191,159,112,154, 56,105,210, 0, 0,123,235, 40, 12,155,207,231, 87,253,
+110, 78, 78, 14,248,124,126, 85, 76,132, 92, 46,135,173,173, 45,114,114,114, 76, 93,249,122,223,220,176,123, 97,249, 1,243,221,
+ 2,204, 56,196, 57,101, 46, 40,134, 1,135,160, 0, 53, 3, 3, 5,104, 13, 12,218,187,178,172, 46,170,141,210,136,251,225,201,
+ 0,246, 53,228,236,105,181,218,171,143, 31, 63,158, 66,211,244, 49, 0,228,245,235,215,233,216,216,216, 47, 97,122,224,250, 31,
+205,246, 34,209,156,200,200, 72,171, 57,115,230,148, 68, 68, 68,148,245,239,223,223, 98,199,142, 29, 86, 61,123,246,156, 83, 84,
+ 84,116,200, 20, 67, 96,122,122,250,222,140,140,140, 47,253,253,253, 81, 92, 92, 12,189, 94,143,168,168, 40,120,120,120,224,209,
+163, 71,104,217,178, 37, 30, 62,124,136, 86,173, 90,129,162, 40,104, 52, 26,208, 52, 77,213,215,152, 23, 23, 22, 0, 69,233,200,
+190,127, 14, 47,159, 69, 33, 50,155,192,150, 67,167,209,164,153,219, 59,229,169,105,105, 39,106,235,104,107,125,113,245,146,239,
+237, 82,175, 30, 70,248,174, 45,244,181,115,231,218,240,204, 48,165,251,232,175,134,233, 12,104, 10,128,215, 41,192, 31,125,165,
+ 47, 40, 81, 51,228, 70,198,214,157, 96,177,165,157,168,173,189,141,245,133,127,173, 90,106,246,234,252, 30, 28,217,190,158, 57,
+190,255,160,143, 6, 8,104,219,182,109, 95,146, 36, 45, 1,104, 42,226,188, 76, 90,218,166, 38,206,203,167, 79,251,105,128,128,
+147, 39, 79,246, 21,137, 68, 14, 0, 12, 42,149, 42,233,125, 56,175, 68, 68,248, 85,150,147, 32, 8, 59, 0,122,134, 97, 94,161,
+129, 75,240,140, 24, 49, 98,249,172, 89,179,194, 40,138,178,173, 54, 58,103,173, 93,187,150, 77,211, 52,139, 97, 24, 61, 73,146,
+250, 11, 23, 46, 80, 70,163, 49, 91,163,209,124,254, 62,173,200,176, 97,195,112,239,222,189, 37,120, 61, 9,195, 84,107,245, 27,
+113, 90, 21, 75,246,188, 51,255,245,235,215,151,125,242,201, 39,115, 15, 29, 58,244,114,211,166, 77, 3,167, 78,157,138,195,135,
+ 15,163, 69,139, 22,120,242,228, 9,230,207,159, 15, 0, 93, 22, 44, 88,112,106,231,206,157,238,169,169,169,107, 77,176,104,192,
+104, 52,226,224,193,131, 24, 60,120, 48,108,109,109, 33,147,201, 64, 16,196,213, 73,147, 38,253, 4, 0, 44,130,197, 5, 0,173,
+ 70,171,245,244,244, 55,217,130,203,229,114,171,218,186,220,220,220,170,153,130,125, 62,249,164,240,215,213,171,241,155, 90,141,
+ 73, 82,169, 40,211,217,217,241,212,171, 87,159, 61,127,221, 56, 51,117, 89,117,234, 19, 89,166,134, 52,168,115, 48,239,247,149,
+ 41, 14, 0, 62,234, 54, 86,134,110, 99,101,240, 31,100, 71,144, 44, 2,207, 46, 22, 33,230,114,241,113,131, 28, 87,209,176,229,
+114, 98, 87,173, 90,117,170,123,247,238, 3, 91,183,110,141,201,147, 39,127,177,107,215, 46,174,193, 96,152,137,127,167,121,176,
+ 32, 73,114,233,246,237,219, 63,179,178,178,194,205,155, 55,113,227,198,141,171, 0,210,107,107,151, 0, 84,229,204,106,226,210,
+ 82,243, 34, 85, 33,202,207,186,141, 91, 55,127, 71, 11,159,175, 32,116, 24, 0, 43,207, 21,208,199,255, 8, 93,209, 69, 88,185,
+244, 71,102,234, 43,176,216,252,152,250,130, 80, 24,134,121,158,153,153,233,238,238,238, 78,164,164,164, 24, 1, 48, 20, 69, 49,
+250,174, 93, 13,109, 86,175,230,196,124,241, 5,209,233,197, 11, 22, 67, 16,116, 84, 84, 20, 0,196,253, 55,122,241,202,116, 11,
+ 49, 49, 49,181,165, 91,104, 16,188,189,189,187,220,184,113,131,175,209,104,112,237,218, 53,116,232, 80, 53,183,235,191,154,253,
+190,186, 22,249,135,225,179, 26, 62,219,241,134, 69,235,141, 27,155, 38, 56,173, 90,182,164,184, 36,118, 15, 30, 48, 64,245,248,
+241,227,170, 81,159,230,193, 3, 40,207,159, 7, 69, 81, 96, 24, 6, 55,174, 95, 71,232,216,177, 10, 14,139,248,213,213,181, 25,
+ 67, 48,111,228,110,233, 93,195,232, 33, 36, 36, 36,164,170,241,201,200,200,128, 88, 44, 6,143,199, 3, 77,211, 48, 26,141, 96,
+177, 88,176,176,176,128,209,104,172,201, 4,243, 54,167,129, 42, 86, 14,223,217,111, 76,142, 76,161,103,166, 88,186,162, 41, 87,
+ 88,245,112, 58,152, 19, 24,232,195,129, 13, 59,159,185,178,246,195,108, 90, 91, 52, 28,127,156,209, 85,223,148,255,150,237,218,
+181,251, 41, 52, 52,148, 4,128,222,189,123,147,237,218,181,219,140,186,151,202,169,147, 83, 32, 16,240, 1,224,244,233,211,197,
+ 47, 95,190,252,232,244,233,211,197,213, 63, 55,145,115,199,154, 53,107, 32, 18,137, 96, 52, 26,161,211,233,170,226,179,170,191,
+234,245,122,216,216,216,224,204,153, 51,160, 40,234, 76,125,229,116,105,218, 12,132,109,115,236, 61, 29,137, 27,133,220,119, 17,
+ 89, 85,156,205, 29,196,173, 28,108,172, 47,253,107,229, 50,219,146,196, 40,100,102,102, 50, 23,206,159,185,171, 1,178,202,202,
+177,176, 84,137, 86,106, 29, 4, 29,220,145,126,105,251,119,204,130,110, 48,160,230, 89,131, 85,156,109, 28,196,173,156,108,173,
+ 47,172,251,215, 74,179,210,196, 40,228,228,230,226,236,153,211,143, 53, 64,165,187,113, 2, 77,211, 94, 52, 77,123, 1,152, 80,
+135,120,105, 16,167, 74,165,242, 86,169, 84,222,127, 38, 39,195, 48,222, 12,195,152,204, 89, 61, 38,106,195,134, 13,241, 57, 57,
+ 57,161,249,249,249,193,149, 91, 73, 73, 73,111,133, 66,209, 67,165, 82,117, 85,111,104,102,161, 82,169,236, 20, 10,133,163, 70,
+163,105, 15, 32,170, 1,247,124, 21,170,103,157,206,201,201, 89,156,147,147, 67,212, 87, 78,214,231,241,196,129,117,223,252,190,
+125,251,118,199,247,228,127,163,156,133,133,133,199, 14, 29, 58,228,235,230,230,230, 62, 97,194, 4,108,219,182, 13,155, 54,109,
+210, 2,192,206,157, 59,181,213, 44, 89, 46,169,169,169,254,181,184, 13,123, 87,179,150,236,235,211,167, 15,115,227,198, 13, 12,
+ 30, 60,184, 42,145,232, 47,191,252, 2,163,209, 40,239,213,171, 23, 13, 0,106,141, 74,206,208, 12,116,250, 90,253,239,127, 56,
+159, 60, 30,239,227,234,249, 2, 43,147, 49,243,120, 60, 48, 12,131, 86, 93,186, 20,150,250,248, 20,239, 42, 43, 83, 45,246,246,
+ 54,255,204,211,115, 66,107, 96,108, 77,156, 4, 65,188, 97,213,121,123,107,128, 37,171,122, 57,243,213,217,152,252,251,202,148,
+243,149,150, 45,129,132, 13, 77,185, 17, 39, 86,167, 20,104, 10,240, 75,109,226,167,174,186, 23, 23, 23, 79, 95,189,122,181, 86,
+ 42,149, 98,216,176, 97, 88,177, 98,197,164, 46, 93,186,148,217,217,217,221,107,209,162,197,179,145, 35, 71,230, 68, 69, 69, 77,
+ 15, 10, 10, 66, 66, 66, 2,214,173, 91, 87, 90, 82, 82, 50,166, 46, 78,130, 32,170, 44,121,131,250,245, 46,254,121,243,122,186,
+ 87,247, 47, 33, 18,154,195,192,113, 65,177,194,128, 18, 37, 3, 29, 63, 0, 60, 46, 31,193,129,109,113,239,194, 30, 21,165, 83,
+238,173,239,158, 87, 40, 20,199,199,143, 31, 47,231,114,185,208,233,116, 12,135,195, 1,255,117,220, 49,205,249,232, 35,125,167,
+216, 88, 35,197, 48, 52, 65, 16,248,250,235,175,149, 37, 37, 37,135,222,229, 57,106, 0,170,115,254, 89,233, 22,122,191,213,255,
+252, 25,105, 33,254,138,186,255,147,177,163,134,237,223, 22,173,202, 41,149,149,175, 4, 65, 83, 20, 69,195,213,205,213, 44, 53,
+ 37,125,203,136, 17, 33,159,246,237,219, 79,212,175, 95, 63, 65,219,248,215,163,209,211,167, 79, 35, 60, 60, 92,117,241,226, 69,
+ 57,159,195,218,233,210,196,197,158,162,104, 16, 4, 93,167, 26, 54, 51, 51,155, 57,111,222, 60, 97, 89, 89, 25, 54,109,218, 68,
+251,250,250,146, 98,177, 24,122,189, 30, 59,119,238, 52,180,109,219,150, 67,146, 36,202,202,202, 64,146,228, 11, 19, 43,248,180,
+ 44, 61, 43,248,167,160,161,225,254,211, 38, 90,183, 9,234, 36,237,225,226, 4,195, 7, 12,178, 51, 82,240,242,202,197,146,231,
+ 23, 54, 22, 65,147, 55, 20,245, 47, 15, 84, 83, 71,176,232,226,197,139,118,211,167, 79,103, 52, 26, 13,145,158,158,206,172, 92,
+185,210,110,242,228,201,139,178,179,179, 71,189,227, 69, 33, 74, 75, 75, 65, 16, 4, 93,209,144, 84,142,250, 27,226,151,139,217,
+187,119,239,201, 33, 67,134, 12,234,213,171, 23,226,227,227,171, 92,132,213,133, 86,229,236,195, 85,171, 86,149, 2,152, 91, 31,
+ 41,135,195,193,166,189,199, 80, 90, 82, 8,123,123, 25, 4, 66, 33,222,117,134, 37,143, 36, 23,255,176,236,123,187,194,184,123,
+ 68,204,221, 72,250,232,211,188,124, 35,197,212,156,241,191, 60,155,169, 80,255,117,143,102, 72,214,226, 31, 86, 46,181,168,116,
+107, 30,138,206,145, 19, 20, 51,253,189, 30,145,127, 10,231,127, 24, 50,153, 12, 57, 57, 57,132, 76, 38, 99, 42, 98,180,152, 58,
+132,214,155, 55,248,107,119, 25, 81,151,219,240, 93,249,147,147,147, 87,126,240,193, 7,223, 36, 36, 36, 28,109,211,166,205, 84,
+ 0, 77,180, 90,109,233,130, 5, 11,254,181,115,231,206, 79, 77,177,100, 1,192,225,195,135, 55, 78,156, 56,241,252,128, 1, 3,
+190,163,105,186, 93,181,142, 61,217,206,206,174,202,133, 91,144,151, 27, 54,229,211,209, 97, 10, 69,137,201,121,238, 36, 18,201,
+103, 11, 22, 44, 16, 40,149, 74,108,221,186,149,110,219,182, 45, 89, 57, 40,218,191,127,191,177,101,203,150,236,144, 47,191, 44,
+220,144,155,139,229, 55,111, 42,195,188,188,124,119,189,124,217, 30, 52,189,175, 54,171, 78, 77,150,172,202,176,139,119, 68,118,
+133,216,250, 5,192, 71,157, 70, 56,224,228,154, 20,148,164,234,254, 5, 35, 94,193,132,101,129,106, 64,230,241,227,199,131,243,
+242,242, 78,126,255,253,247, 22,237,219,183,135,151,151, 23, 71, 34,145, 4, 84,166,139, 41, 43, 43,195,229,203,151,177,109,219,
+ 54,221,243,231,207,135,212,229,174,162, 40, 42,191,101,203,150,149,231,129, 33, 8,162, 72,174, 37, 44,142,180, 14,144, 76,152,
+114,148,184,245,240, 14,178,245, 52,180, 6, 26,174,110,126,232,241,209, 6,156, 58,247,140,202, 78,141,141, 53,168, 75,126, 53,
+161,188,175, 18, 19, 19, 79, 44, 91,182,108,196,119,223,125, 39, 44, 44, 44,164,180, 90, 45,125,236,216, 49,214,132, 9, 19, 40,
+134,205,166,185,108, 54,102,206,156,169, 46, 45, 45,253, 29,248,143, 46, 48,253,151,164, 91,248, 11,210, 66,252,105,214,172,234,
+175,255, 95, 80,227, 19, 74,179,200,219,219,182,255,252,241,225,131,135, 28, 88, 44,242,255,216,187,238,248,166,170,247,253,220,
+123,179, 71,211, 52, 29,105, 58,104, 89,101,149, 85,246, 6, 65, 65, 64, 81,100,124, 17, 4,190, 96, 1, 81, 4, 20, 28, 56,160,
+ 44, 65,252,130,130,140, 10,202, 16,148, 41, 27,101, 72,109,217,180,128, 80,202, 30,221, 35, 77,147, 54,105,246,205,253,253,209,
+ 36,166,165, 35, 41, 69,193, 95,158,207,231,126,146,155,123,243,228,220,147,123,207,121,206,123,222,243,190,193,119,238,222,189,
+240,242,208, 97, 89, 71,143, 30,149,113,124,125, 59, 2,176,153, 38, 79, 62, 99, 54,234, 85, 7,246,238,141,168, 95, 63,178,141,
+ 61,169, 52, 99,163,200, 83,213,253,160, 86,171,213, 37, 38, 38,150,126,244,209, 71, 68, 70, 70,198, 86,185, 92, 62,242,240,225,
+195,226,161, 67,135,234,211,210,210,118, 5, 7, 7, 15,233,211,167,143,207,251,239,191,111,212,106,181,158, 36, 30, 77,101, 10,
+138,154,159,255,108,217,235,231,151,174,121, 30, 44,170, 27,140,108,192,102, 57, 5,115,201, 81, 0, 91,225, 65,188, 35, 87,136,
+ 68,162, 54, 66,161, 16,151, 46, 93, 42,234,212,169,147,201, 96, 48,112, 22, 46, 92,232, 47, 18,137,218,212,182,226, 25,134, 97,
+138,138,138, 96,179,217, 88, 0, 8,251, 43,108,158,175,197,255,207,203, 47,191,188,119,251,246,237, 47, 12, 26, 52, 8, 13, 27,
+ 54,132,197, 98, 65,147, 38, 77, 96, 50,153, 16, 21, 21, 5,163,209,136,121,243,230, 65,163,209,204, 68, 53, 57,207, 8,130,128,
+213,106,117, 58,219,134,134, 69,148,197,233,121,140, 48, 22, 34, 54,217,240,198,129,239,145, 95,168,180,109,191,156,151, 87,106,
+166,251,223, 46, 40,189, 86,241,188, 82, 26,186, 62,227,167,101, 1,128,209, 86,125,198,121, 17, 23, 13,111, 30,252, 14,121,249,
+ 74,252,156,146,163,214,153,109, 3,110, 86,194,233, 81, 57,159, 17,206,152,121,105, 24, 54,205,253,115, 31, 7,238, 10,170,170,
+112, 41, 23,196, 69,225,247, 12,214,125, 95,105,140,172,199,228,223,123,235,214,173,189, 0,144,154,154,154, 49,106,212,168, 15,
+239,223,191, 63, 31,192,161, 7, 15, 30,172,243,132,232,251,239,191,191, 5,224,191,213,157,243,211,178,255,238, 1,176,199, 19,
+222,146,146, 18, 67,114,114,178,225,253,247,223, 39, 50, 50, 50, 14, 7, 7, 7,191,112,228,200, 17,225,208,161, 67,141, 87,175,
+ 94, 61, 30, 18, 18,210,179, 95,191,126,226, 67,231,206,101,149,222,185,115,224,192,253,251, 97, 22,155,237, 64,117,207,103, 29,
+139,172,114, 98,107,207,130,251, 75,246, 46,185,223,207,102,196, 46, 83, 17,206, 0,200,124, 12,206, 63, 78,157, 58,213, 98,204,
+152, 49,219, 7, 15, 30,220,181, 69,139, 22,168, 87,175, 30,110,222,188,137,130,130, 2, 92,185,114, 5,251,247,239,223,111, 48,
+ 24,106, 76,168,173, 82,169, 30, 77, 79,196,151,133,108,252,118,238,254, 11, 73, 29,155,244, 24, 52, 78,208, 50,196, 6,147,153,
+ 65,198,195, 59,152,247,233,250,210,156,135,183, 82,205, 86,243,171,112,115,161,142, 94,175,143,255,250,235,175,217, 7, 14, 28,
+ 24,180,106,213, 42,159,136,136, 8,138,195,225,144, 0,152,139, 23, 47, 50,211,166, 77,211, 41,149,202,131,197,197,197,241,127,
+115, 31,253,199,221,187,119, 99, 40,138,170,211,112, 11,143, 17, 22,194,139,186, 68,131, 6, 97, 45, 26, 69,132, 76,110, 88, 47,
+108,106,131,136,240,177,149, 57,185, 55,244,243,243,105, 16, 25, 26,219,176, 94,216,212, 70, 17, 33,147, 27, 52, 8,107,225,134,
+105,177,161, 68, 34, 57,172, 80, 40,218, 2,128,175,175,239, 16,169, 84,122,205,215,215,119,136,125, 20, 56, 68, 44, 22, 95,143,
+142,142,126,243,111, 52, 87, 86,203,217,164, 73,147, 81, 90,173,246,173, 38, 77,154,140,114,236,223,185,115,199,185, 95, 27,206,
+240,240,240,190, 23, 47, 94,252,207,178,101,203, 94,107,220,184,241,144, 69,139, 22,189,246,203, 47,191,252, 39, 44, 44,172,125,
+ 45, 56,121, 0,126,100,179,217,121, 92, 46, 55,159,205,102,231, 57, 54, 22,139,149, 71, 81, 84, 30,128,117, 85, 88,203,250,185,
+140,114,146,228,114,249, 3,185, 92,254, 32, 56, 56,248, 65,112,112,240, 3,133, 66,241,200, 22, 16, 16,144,228,110,125, 54, 11,
+ 22,119,239, 84,207,231, 84, 43,133, 56,169,185, 92,212,172, 46,254,163,102,193,226,238, 29,235,249,158,106,165,240, 73,252,255,
+198,217, 54, 24, 12,179,182, 25,195,172,109,198,180, 13, 6, 83,211,126, 93,154,253, 21, 10, 5,163, 80, 40,230, 62,169,169,132,
+ 42,248,255,246,231,189, 14, 57, 27,250,248,248,252, 84,175, 94, 61, 71, 91,247,146, 68, 34,249, 93, 44, 22,191,100,111,235, 94,
+ 18,137, 68, 9,209,209,209,227,106,226,148,201,100, 23,131,130,130,114,237, 91,142, 92, 46,207,145,203,229, 57, 65, 65, 65,217,
+ 65, 65, 65,217,129,129,129, 89,142, 77, 42,149,158,173,229,181, 7, 1,232, 12,160, 61, 0, 73, 29,214,103, 3, 0,147,236,109,
+208, 23, 0,222, 4,208,186, 14,254, 35,130, 45,144, 77,225, 73,195, 79,177,197,129, 37,108,113, 96, 9,207, 55,236, 84, 53, 41,
+120,220,225,108, 42,147,201, 22, 74, 36,146, 95,124,124,124, 18,125,124,124,246, 6, 4, 4, 44, 2,208,244, 31,186,151,196, 0,
+ 54,160, 44, 62,211, 33,148, 77,133,239, 69,217,162,130,136,167,240,158,255,255,140,216, 74, 12, 42,248, 59,162, 64,245,243,114,
+122, 57,189,156, 94, 78, 47,167,151,243, 25,228, 36,189,245,233, 21, 90, 30, 10,173,114,155, 67,104,177,188,117,227,133, 23, 94,
+120,225,133, 23,143,192,230,173, 2, 47, 60, 68,165, 83,203, 68, 53,170,212,147, 88, 83,181, 81,182,199,188,156, 94, 78, 47,167,
+151,211,203,233,229,244,114,254,191,227,252,127,129,191, 43,121,140,215,172,234,229,244,114,122, 57,189,156, 94, 78, 47,167,151,
+243,223, 14,239,212,161, 23, 94,120,225,133, 23, 94,120,225,197, 19, 66,188,139,224, 42, 55,133,232, 21, 90,158,131, 4,240, 22,
+128, 97, 0, 26,161, 44,155,253, 78, 0,171, 81,187, 57,125, 9,128, 15, 1,116, 67,217,234,156,123, 0, 18, 81,182, 58, 71,235,
+173,238,202, 17, 16, 16,240, 49,155,205,150, 2,101,169, 77, 28,175,174,239,105,154, 86, 23, 23, 23, 47,122, 66, 69,160,224,102,
+ 4,101, 71, 89, 93,203,230,250,106,177, 88,158,100, 57,189,120, 58,209, 68, 38,147,253,168, 82,169, 70,195, 37,201,178, 23, 94,
+252, 27, 16, 24, 24, 56,217,108, 54,127,194,225,112, 22, 22, 20, 20,172,249,127,116,233,143,136,172,114, 66,235,192,129, 3, 9,
+ 0, 48,120,240,224, 94, 0, 32,149, 74, 79,147, 36,217,192,147, 95,176,217,108,247,212,106,117,149, 1,212,164, 82,233,105,138,
+162, 30,225,180, 88, 44, 62, 44, 22,171,164,178,239, 88,173,214,204,226,226,226,246, 79, 73, 37, 18, 0, 14,248,249,249, 25,230,
+207,159,191,186,119,239,222,225,217,217,217,214,217,179,103,247,188,124,249,242, 32, 0, 47,122, 40,182,186, 16, 4,177,177,109,
+219,182,123,198,142, 29,187,189, 83,167, 78,220,194,194, 66,159,157, 59,119,134,110,218,180, 41,217,102,179,141, 70, 53,137, 86,
+255, 63,131,205,102, 75, 51, 51, 51,125,128,178,121,112,187,176,130,197, 98,129,197, 98,129, 78,167, 67,155, 54,109,234,252,119,
+131,131,131, 99, 8,130, 88, 37, 22,139,219,107,181,218, 11, 0,166,230,228,228, 92,246,164,172, 86,171, 21, 12,195, 56,203,217,
+162, 69, 11,239, 31,234, 25, 38,114,185,220, 1, 81, 81, 81, 29,141, 70, 99,209,189,123,247,206,211, 52,253, 25,234, 46, 71,155,
+ 47,128,207,120, 60, 94,167, 70,141, 26,133,223,186,117, 43,195,108, 54,159, 67, 89, 50,100, 77, 93,136,172, 94,189,122, 37,125,
+251,237,183,254, 83,166, 76, 73, 74, 76, 76,236,238, 21, 91, 94,252, 83, 8, 15, 15,151,234,116,186,245, 0, 98,216,108,118, 48,
+159,207,135, 64, 32,200,229,241,120,151, 4, 2,193,132, 83,167, 78,169, 61,229,164,105,250,179, 7, 15, 30, 4,119,238,220,121,
+105, 80, 80,208, 60,165, 82,105, 48,155,205,199,139,138,138,102, 2, 40,174,238,187, 21,181,200, 51, 38,178, 92, 95,225, 16, 93,
+ 44,251,133, 49, 0,122,151, 83, 96, 44, 86,216,195,135, 15,131,248,124, 62,108, 54,155,179, 51,171,184, 57, 62, 55,153, 76,104,
+217,178,165,185,134, 14, 39, 60, 35, 35, 35,136,203,229, 58, 63, 51,153, 76, 8, 13, 13,181,101,102,102, 6,217,211, 30, 56, 97,
+ 52, 26, 17, 22, 22,246, 52,229, 60,122, 75, 38,147,105,210,211, 51,218, 24,140,230,184, 55,223,249,232,227,209,195,158,247, 59,
+125,250,180,237,197, 23, 95, 52, 38, 36, 36,188,133,178,196,169,110, 53,230, 4, 65,108,154, 61,123,246, 60,190, 80,226,127,226,
+116,170,113,211,206,131, 89,109,155,212, 39,102,206,156, 73, 77,155, 54,237,143,152,152,152, 31,109, 54, 91, 59,120, 96,217,242,
+243,243, 59,194,227,241, 34,237,245,151, 94, 84, 84,244,194, 83,120, 67,178,240,104,240,216,202, 62,171, 17,133,133,133,208,235,
+245,143,108, 45, 90,180,120, 18,142,136, 44, 54,155,189,119,241,226,197,161,185, 57, 57,248,223,242,229,157, 81,102,201,236,236,
+206,151,243,243,243, 31, 41,103,179,102,205,224,133, 71,248,112,222,188,121,139, 95,127,253,117,208, 52, 13,189, 94, 31,114,251,
+246,237,232, 79, 62,249,228,213, 59,119,238,116, 4,112,247,113, 7,227, 81, 81, 81,105,211,167, 79,151,117,236,216, 17,246, 44,
+ 21, 33,137,137,137,157, 55,108,216,240, 70,122,122,122, 51, 0, 5,143,243, 3, 50,153,236,199,239,190,251,206, 95, 40, 20, 98,
+223,190,125,254,125,251,246, 77, 76, 73, 73,233,241, 24, 98,139,244,247,247,159, 6,224, 57,155,205,198, 5,112,174,168,168,104,
+ 1, 60,143,234,174, 16,139,197,187, 72,146,172, 15,252, 21,141,158, 36,201, 0,130, 32,148,142,207, 8,130, 8,178,217,108,103,
+ 84, 42, 85, 87,239,237,248,108,195,223,223,127, 98, 94, 94,222,183, 60, 30,143,227,231,231, 7,161, 80, 8, 22,139, 5, 22,139,
+ 85,143,199,227,213,227,241,120, 3,251,244,233, 51,245,247,223,127,175, 54,194,126,151,182,242,241, 32,137, 56,138, 32, 41, 0,
+ 32,217, 34,137,175,175, 47,226,226,226, 68, 67,134, 12, 17, 1, 64, 82, 82,210,216,113,227,198,245,205,204,204,108, 89,149,216,
+170, 76,139, 60, 67,136,175,174,195,131, 93, 61, 38,148,123,114, 73, 18, 92, 46, 23,103,207,158,133, 59,193,202, 29, 41, 18,170,
+109, 13,236, 17,198, 47, 95,254,203, 0,224,232,104,184, 92, 46, 78,157, 42, 31, 84,190, 75,151, 46,206,135,253,239,194,176, 22,
+101, 65, 30,119,188, 93, 86,174,225,171,202,162,107,239,120,187, 25,122,126,245, 16,195,166,205, 29, 89,106, 48,119, 0,160, 83,
+ 23, 21, 21, 93,216,189, 59,187,109,147, 38,156, 31,127,252,177, 99,104,104,232, 48, 15,132,214,135,237,218,181,219, 69, 9,124,
+ 3,198,142, 27, 63,118, 2,139, 52,191, 49,233,253,133, 25, 57, 74, 93,108,108,236,238,125,251,246,141, 93,178,100,201,245, 89,
+179,102,125, 8, 96,142,187,229,231,243,249,145, 55,110,220,136,162,105, 26, 45, 90,180,120, 26,211, 24,180, 69, 89,240,189,215,
+ 1,108,179,127, 54, 10,101,145,251, 99, 0, 92,242,132,204, 97,193,170,108,171,107,132,134,134, 54, 27, 51,102, 76,128, 74,169,
+196,255,150, 47,119,124,220, 30, 53, 76, 35, 58,158, 31,147,201,132,215, 94,123,109, 12, 77,211, 44,135, 8, 52, 26,141, 38,141,
+ 70, 99,192, 95,142,165, 5, 0,158,119,163, 56, 13, 68, 34,209,151, 0, 98,244,122,125, 40, 0,136, 68,162, 44,155,205,182, 71,
+167,211,205,193, 95, 9,124, 61, 30,224, 2,136, 70,213,169,160,152,197,139, 23,223,250,232,163,143,238,254, 3,156,145,114,185,
+124,209,240,225,195,113,240,224, 65, 28, 58,116,200, 34, 16, 8, 88,227,198,141, 35,166, 78,157,234, 55,125,250,244,129, 0,190,
+126,204,191,121,224,188,121,243,100,205,155, 55,199,206,157, 59,113,229,202, 21,125, 84, 84,148,160,119,239,222, 96,177, 88,178,
+143, 63,254,248, 69, 0, 27, 31,231, 7, 84, 42,213,130,247,223,127,127,211,182,109,219,124,238,221,187,135, 85,171, 86, 5,140,
+ 28, 57, 50, 33, 61, 61,189,151, 7, 98,139, 7, 96, 26,128, 62, 20, 69,245, 24, 55,110,156,245,157,119,222, 97,147, 36,105, 89,
+190,124,121,224,134, 13, 27, 70,178,217,236,152,194,194, 66,119, 6,105, 36,128,184, 9, 19, 38,252,247,247,223,127,247, 59,127,
+254, 60,215,223,223, 31, 52, 77, 59, 45,197, 54,155, 45,200,113,207, 90,173, 86, 52,107,214, 44,204,229,251,130,103, 85,104,144,
+ 36,105,182,217,108,108, 0,124, 0,198,154,246,255, 77, 34, 75, 38,147, 77, 81,169, 84,171,131,131,131, 33,151,203, 31,233,107,
+141, 70, 35,248,124, 62, 39, 56, 56,248,187, 33, 67,134,176,247,238,221, 91,229, 20, 32, 65, 17,159,237,251,105,126,168,204,207,
+ 7, 0,176, 98,237,175,165, 0,240,203, 47,191, 32, 59, 59, 27,126,126,126,104,217,178, 37, 53,127,254,124,197,204,153, 51,255,
+ 87, 84, 84, 52,161, 42,174,138, 90,228, 25,179,104,197, 87,182, 95,173,143, 22,195, 48,206, 60,121,110,222,180, 21, 63, 58, 86,
+129,143, 48,153, 76,168,104,209,114, 60,188,108, 54,187,162,249, 17, 4, 65, 48,213,113, 86,130,113, 34,145,168,141, 78,167, 91,
+233,193,232,214,201,185,227,237,102,216,196,155, 61,202,145,137,116,224,251,101,175,155, 0,156,190, 63, 97,213,183,189,122,133,
+ 78,251,244,155,185,250,194,108,229,199, 99, 94,138,140, 10,246, 23,136,212,249, 26, 89,211,166,253, 43, 88,100,106, 42,103,207,
+177, 99,199,110,254,237,236, 3,130,207,231,112, 88, 20,197,238,222,170,137,127,184, 47,229,235, 3,248,102,220,189,117,122,252,
+248,241,173,102,205,154,213,195, 3, 78,216, 59, 92,108,217,178, 5, 4, 65,144,158, 92,123, 29,226, 88,117, 34,139, 97, 24, 16,
+ 4,177,213,165, 83,217,106,255, 44,197, 69,108,177,170,171, 79,135, 53,213, 33,170,198,141, 27, 55,198,106,181,178, 92, 26,137,
+138, 2,166, 50, 17,227,214,181, 43, 20,138,223, 0, 60, 79, 16, 4, 76, 6,131,233,203,175,190,114, 61,124,177,130,200, 58, 86,
+213,179,100,177, 88, 64,211, 52, 43, 37, 37,133,237,114,175,179, 1,136, 0, 4, 48, 12, 3,146, 36,255,116,163, 62,155, 9,133,
+194,211,251,247,239,151,180,111,223,158,224,114,185,176, 90,173,184,122,245,106,248,146, 37, 75, 38, 29, 59,118,236, 69,157, 78,
+215, 2,143, 38, 79,119,231, 63,138, 78, 76, 76,212, 53,108,216,176, 82,225, 88, 92, 92,204,106,210,164, 73,175, 42, 68,209,147,
+230,204,204,203,203,123,229,249,231,159,159,156,155,155,155,102,181, 90, 63, 0,208, 50, 32, 32, 32,101,232,208,161, 16, 8, 4,
+125,244,122,253,215,143,115,207, 7, 5, 5, 13,233,218,181, 43, 86,173, 90,133, 37, 75,150,244, 3,112, 28, 64,223,226,226,226,
+ 99, 47,191,252, 50,164, 82,233, 43,106,181,122,227, 99, 60, 71, 77,122,246,236,249, 93, 92, 92,156,207,193,131, 7, 17, 21, 21,
+133,146,146, 18,188,247,222,123, 65,159,127,254,249, 73,181, 90,221,219,229,185,168,138,179, 5,143,199,219,184,109,219, 54,113,
+195,134, 13, 27,114, 56, 28,178, 97,195,134, 80,169, 84, 48, 24, 12,188,133, 11, 23,182, 18, 8, 4,151,191,254,250,235,141, 0,
+134,214, 80, 78, 18,192,130,117,235,214, 77,142,141,141,149,142, 25, 51,134, 54,153, 76,216,190,125, 59, 40,138, 2,155,205,134,
+ 80, 40,116, 38,175,230,112, 56,104,218,244,145, 32,233,251,170,185, 94, 13,202,252, 80,165,240,108,218,245, 88, 53,124,206,169,
+ 15, 54,155, 13, 62,159, 15, 62,159, 15, 30,143,135, 27, 55,110,124,202,231,243,151, 19, 4, 97,117,135,147,248, 75, 93,180, 1,
+112,190,166,125, 60,234, 26,242,119,182,159, 14,132, 17, 4,177, 2, 64,159,178,110,151, 76, 8, 8, 8,120, 55, 47, 47,239,161,
+187,156, 10,133,194,191,176,176,240,107,133, 66, 1,185, 92,238,236,191, 67, 67, 67, 97,177, 88,144,151,151, 7,134, 97,160, 86,
+171, 33, 20, 10, 17, 18, 18,242,117,108,108,236,206,248,248,248,194, 74, 57,109, 88,242,242,200, 79, 62,163, 40,138, 4, 0,138,
+ 37, 22, 79,255, 8,136,140,140, 68,247,238,221, 97, 48, 24,160,209,104, 16, 29, 29,205, 34, 8, 98, 44, 65, 16, 18,134, 97,214,
+ 0, 56,241, 47, 52, 20, 86,233, 12, 63,175,226,188,168, 35, 91, 60,135,195,113, 75,104,217,207,175,201,130, 66, 90, 44, 22,112,
+ 56,156,114, 22, 9,130, 32, 64,211,116,185,207, 29, 66,171, 54, 66,125,234,212,169,182,239,190,251,110,114, 81, 81,209, 90,212,
+114, 42, 97,236,216,177,143,248,123,204,156, 57,201, 18, 85,156, 0, 0, 32, 0, 73, 68, 65, 84, 51, 51, 63, 63,159,121,173,127,
+ 27, 81,218,225,236,156, 70,126, 98, 65,160,143, 79,125,190,159, 76, 90, 88, 88,120,198,222,152,184,139,198,237,218,181, 19,108,
+218,157,152,249,230,140,197,243,219, 55,244,151,180, 14, 11,240, 11,246, 21,112,197, 36,161,227, 91, 45,153, 50,153, 44,202,211,
+114, 59,218, 5,161, 80, 8,146, 36,159, 38,139, 22,203, 33,178, 84, 42, 21, 14, 30, 60,136, 65,131, 6,165, 56, 68, 72,113,113,
+ 49,114,114,114,160, 80, 40, 82,236,150,143, 26,167, 17,109, 54, 27,204,102, 51,204,102,179, 83,192,184,220, 67, 78, 1,227, 56,
+151,162,168, 63,107, 89,246,249,126,126,126, 61,251,244,233,195,253,105,251,118, 46,195, 48, 58,148,229, 80,211, 50, 76, 21, 9,
+178, 43,192,106,181, 58,173,108,108, 54, 27,233,233,233,206,142,203,145, 91,146,207,231,187,103,202,224,241,222,255,249,231,159,
+ 37, 29, 59,118, 36, 10, 11, 11, 97,179,217,156,141,228,234,213,171,249,195,134, 13, 11, 77, 78, 78,254,216,104, 52,206,171,197,
+181, 18, 85, 9, 34, 0,144, 72, 36, 86,184, 23, 49,187, 70, 78,171,213, 74,116,235,214,109,150, 82,169,108,165,215,235, 23,186,
+ 83,141, 0,246,101,102,102,186,118,236,151,211,210,210,244, 35, 70,140, 16,212,175, 95,191, 83,106,106,234, 99,221,164, 77,154,
+ 52,233,194,102,179,113,238,220, 57, 35, 0,199,200, 58,225,202,149, 43,198,161, 67,135,242,194,195,195,187,168,213,110,187,172,
+ 52,105,214,172,217,209,160,160, 32,129,163, 13, 13, 12, 12,100,199,199,199,251,100,101,101,193,108, 54,227,195, 15, 63,196,224,
+193,131, 17, 16, 16,128,153, 51,103,202,151, 46, 93,250,163, 86,171,109, 87,157,209,154,203,229,110,190,125,251,118,148, 66,161,
+ 16,156, 61,123, 22,173, 91,183,134, 82,169, 68,110,110, 46,180, 90, 45,114,115,115, 49, 97,194,132,160,255,253,239,127, 33,110,
+ 88,178,156, 34, 43, 62, 62, 94,189,107,215, 46,106,253,250,245, 62,108, 54,219, 41,180, 88, 44,150, 83,104, 57,114, 43,214, 98,
+166, 65,109, 23,109, 82,141, 70,243, 56,126,110, 60, 0, 92, 87,145,197,227,241,192,227,241,192,231,243, 31, 43, 47,235, 51,130,
+ 80,130, 32, 82, 57, 28, 14, 79, 40, 20,114, 72,146, 4,143,199,235, 47,147,201,174,181,108,217,178,229,209,163, 71, 31,184, 67,
+ 98, 48, 24, 54,243,120, 60,118, 80, 80, 16, 0, 32, 42, 42, 10,173, 91,183,134, 78,167,179,105, 52, 26, 72,165, 82,242,225,195,
+135,208,235,245,200,201,201, 65, 68, 68, 4,155, 36,201,205, 40,243, 67,126, 4,167, 83,114,215, 2, 88,235,216, 15, 8, 8,200,
+115,181,116,242,249,124,132,134,134, 34, 43, 43, 11, 62, 62, 62,212,231,159,127, 62,116,251,246,237,175,158, 62,125,122, 44,128,
+ 45, 46, 84,243,158, 97, 31, 45,135,200,114,125,253, 75,104, 13, 30, 60,120,238,129, 3, 7,122, 85, 54, 10,103,179,217,117,230,
+235,226, 16, 84, 18,137,164,162,213, 10, 54,155,173, 42,139,150,199,191,195,231,243, 5, 83,166, 76, 41, 89,179,102,141,199, 98,
+107,248,170, 52,167, 21,235,145, 97,100,139, 22,167, 63,254,248,227, 33,191,255,254,123, 86,251,134,245, 89,162,236,135, 90,190,
+ 68, 42, 69, 88,189, 65,227, 94, 25,122, 5,101,171, 15,221,197,237,146,146, 18, 65,163, 48,161,137, 36, 13, 68, 61, 30,203, 71,
+ 33,226,240,130,253,252, 66, 57, 38, 99,190,196,207,143,107, 52, 26,213,168, 38, 9, 52, 0,200,229,242, 95, 5, 2, 65,132, 99,
+223,207,207,207,151, 97, 24, 8,133, 66, 40, 20, 10, 49, 69, 81, 55, 93, 30,174,135,121,121,121,253,107, 42,152, 84, 42,253,149,
+199,227, 69,144, 36, 9,130, 32, 64, 81, 20, 72,146, 4, 73,146,206,247, 20, 69,129, 32, 8,148,150,150, 62,124,240,224, 65,127,
+ 55,174,215, 10, 32,134, 32,136,148,131, 7, 15,162, 83,167, 78, 56,124,248, 48, 6, 12, 24, 0,141, 70,131,171, 87,175,162,103,
+207,158, 64,217,148,162, 91,112,117,126,119, 12, 10,110,220,184,225, 20, 46,174,155,143,143,207,227,152,216,147,134, 15, 31,142,
+239,190,251,142,177, 15, 38, 68, 4, 65,180,246,245,245,189,113,253,250,117,183,252, 96, 24,134,129,217,252,215,169,142,206,203,
+238, 15,225, 81,114, 96,138,162,250,183,107,215,142,208,104, 52, 14, 1, 9, 22,139, 5,138,162, 64, 81, 20,190,253,246, 91, 65,
+199,142, 29, 63,225,241,120,179, 56, 28, 78,177,197, 98,249,201, 96, 48, 44, 4,160,126,154, 90,164, 30, 61,122,204,200,200,200,
+ 24, 28, 17, 17,177,255, 49,104, 24,139,197, 98, 2, 32,160, 40,138, 93, 7,109, 20,101,191,183, 12, 46, 98,223,106,223,231,161,
+108,154,216, 45, 4, 4, 4,252,120,232,208,161,176,136,136, 8, 88, 44, 22, 88,173, 86,104,181, 90, 36, 36, 36,192,104, 52,194,
+106,181, 34, 42, 42, 10,159,125,246,153,225,221,119,223,229,175, 91,183, 46, 95,171,213,142,174,129,246,221,157, 59,119,138, 20,
+ 10,133, 64,175,215,227,238,221,187,104,215,174, 29, 74, 74, 74,160,211,233, 80, 90, 90, 10,179,217,140,226,226, 98, 41, 77,211,
+166, 26,184, 62,117, 21, 89,147, 38, 77,250,147,203,229,182,123,231,157,119,144,153,153,233,124,230,223,124,243, 77,200,229,114,
+231,179,100,111,147, 61,106,152, 89, 44, 22,120, 60, 30, 56, 28,142,186, 94,189,122, 32, 8,130,255,240,225,195,218, 76,197, 73,
+ 0, 20,179,217,108,174,171,192,226,241,120, 56,119,238,220,199, 92, 46,183, 42,107, 86, 85,207, 37,227,201,254, 63, 13,130, 32,
+ 86,112, 56, 28,158, 76, 38,227,184, 12, 56, 57, 98,177, 24, 65, 65, 65,171, 0, 12,116,243,186,219,202,100, 50,103,251,222,166,
+ 77, 27,100,100,100,236,209,104, 52,111,228,231,231,131, 36,201,205, 36, 73,190,234, 24,164, 22, 21, 21, 33, 60, 60,188,109, 85,
+124, 93, 99,130, 39,131, 96,202, 89,180, 42, 12,208, 32,145, 72,112,255,254,125,232,116, 58,230,214,173, 91,196,148, 41, 83, 8,
+147,201,244, 67,114,114,242, 25,148,173,182,175, 82,139, 60, 35,240,220, 71,203, 97,209,114,183, 3, 32, 8,162,198,209,132,197,
+ 98, 17, 71, 71, 71, 87,230,240, 69, 84, 38,180,236,211, 73,181,186,209,217,108,182, 79,109,197, 86, 69,236,223,181, 77,190,228,
+179, 15, 63,147,133,212,111, 52,107,214,167,172,151, 94,122,233,236,166, 77,155,104, 89,243,129,125, 79,252,186, 69,254,245,123,
+179, 15, 31, 58,116, 8, 40,115,140,118, 23, 73, 7, 14, 28, 8,158, 57,109, 42, 62,123,255,221, 35,146,168, 0,174,152,144,137,
+248, 70, 93,129, 24,140,158,215,184,217,224,221,251,247,231, 0, 72,174,142, 68, 40, 20, 70,164,166,166, 70,185, 46, 36, 48,153,
+ 76, 16, 10,133, 56,113,226, 68,160, 64, 32, 8, 4, 0,189, 94,143,150, 45, 91,186,107, 49,137,184,121,243,102,148,143,143, 15,
+ 74, 75, 75, 97, 52, 26, 97,177, 88, 96,179,217, 64, 16, 4,216,108, 54,184, 92, 46, 68, 34,145,167, 43,251, 46, 1,120,125,208,
+160, 65, 91, 15, 31, 62,140,232,232,104, 20, 21, 21, 33, 45, 45,205, 33,178, 60,242,209,114, 88,137, 92,253,177, 88, 44, 22,126,
+108,216, 16,111,102,103, 59, 5,204, 10, 95, 95,124,102,171, 93, 54,141,150, 45, 91, 50, 73, 73, 73, 56,114,228, 8, 94,126,249,
+101, 98,239,222,189,102,154,166, 57,217,217,217,127,102,103,103,187,197, 97,179,217,156,101,117,180,219,174, 2,203, 83,161,101,
+181, 90,125,184, 92, 46, 12, 6, 3, 28,150, 7,215,173, 65,131, 6, 80,169, 84,172,226,226, 98, 86,118,118,182,112,193,130, 5,
+239,156, 60,121, 82, 81, 82, 82, 50,234,159,108,133,214,172, 89, 19,241,230,155,111,166,179, 88, 44,102,192,128, 1, 99, 30, 62,
+124,248,138, 66,161, 56,254,251,239,191,127, 5,160,137,167,124, 1, 1, 1, 23, 89, 44, 86, 88,113,113, 49,103,199,142, 29,150,
+146,146, 18, 78, 96, 96, 96,158,163,237,112,212,181,197, 98,113,107,229,114, 64, 64,192, 69,165, 82,201, 89,185,114,165,165,176,
+176,144, 35,151,203,243, 28, 60,106,181,154,179, 99,199, 14, 75,113,113, 49,199,215,215,247,162, 70,163,169,145, 79,169, 84,142,
+ 30, 59,118,108,226,241,227,199, 3, 40,138,194,195,135, 15, 81, 88, 88, 8,169, 84,138,205,155, 55, 35, 34, 34, 2, 59,119,238,
+ 84,169, 84,170,137, 95,126,249,229, 39,118,145, 85,147,143, 86,207, 78,157, 58, 69,168,213,106, 72,165, 82,232,116, 58, 92,188,
+120, 17, 45, 90,180, 64,118,118, 54, 72,146,132, 84, 42,197,234,213,171, 75, 9,130, 80, 85, 71, 36, 16, 8, 94,137,141,141,149,
+ 2, 64,108,108,172, 52, 54, 54,182,210, 14,174, 75,151, 46, 88,181,106, 85, 69,161,229,201,192,192,105,117,114, 17, 71,134,206,
+157, 59,227,228,201,147,179, 61, 20, 71, 38,135,104,171,104,205,226,241,120, 30, 47,166,177,217,108, 28,148,185, 52, 16,238,236,
+ 63, 5,232, 37, 16, 8, 56, 21, 63, 44, 45, 45,229, 40, 20,138, 30, 30, 8, 95,127,129,160,204,224, 20, 17, 17, 1,141, 70, 67,
+155, 76,166,145, 91,182,108,177, 0, 64, 76, 76,204, 72,154,166, 13, 86,171,149,226,114,185,208,233,116, 8, 10, 10,242,175,198,
+ 54,250,193,190,159, 22, 4, 87,244,209, 82, 40, 20,136,137,137,129,209,104, 68, 78, 78, 14, 18, 18, 18, 44, 52, 77,111, 93,179,
+102,141, 45, 48, 48,240,191,175,189,246, 26,149,156,156,252, 54,128, 25, 85,105,145,103,204,154, 21, 95,165,208,178, 43,200,147,
+ 0,122, 87,188,200,138,226,167, 58,161, 85,211,212, 33,151,203, 85,167,167,167,139, 92, 59, 21,171,213,138,144,144, 16, 27,195,
+ 48, 68,101, 66,235,113, 76,193,108, 54,219,231,163,143, 62, 82,175, 89,179,102,244,253,251,247,231,186,243,157, 29,111, 55,195,
+166, 10, 34,107,237,146,184, 85, 43,151, 44,144,221, 57,242, 3,214,127,179,140,166,105, 36,183,106,213,170,135, 86,171,101,249,
+138, 44, 80,170,113,216, 46,178,220, 21,133, 36,128,239,207,159, 63,159, 60,112,224,192, 83,223,255,188, 91,150,125,247,238, 25,
+ 94,177, 50, 71,210, 56,138,197, 9,141,120,181,196, 96,224,140, 28, 57, 50, 16,192,107, 53, 53, 98,106,181, 26,185,185,185, 21,
+ 5, 24,110,220,184,241,200,185,110, 21,142, 36, 65,211, 52,118,237,218, 5,161, 80, 8,145, 72, 84,110,115,136,172, 90, 46, 84,
+184, 9, 0, 3, 6, 12,128, 74,165,130, 88, 44,118,187, 92, 21,197, 11,195, 48, 48,153, 76, 48,153, 76, 48,155,205, 52, 0, 54,
+139,197,194,132,204, 76,167,149,199, 19, 1, 83, 17,173, 90,181, 98, 78,159, 62,141, 83,167, 78, 65,167,211, 97,229,202,149, 80,
+ 40, 20,207, 1,248,212, 83, 46, 23, 39,125,186,184,184,152, 93, 92, 92,236,180, 14,178,217,108,167,245,192, 77, 75, 30,135,197,
+ 98, 57, 71,163,142,205,213,170, 69, 81, 20,228,114, 57,130,131,131,177,118,237, 90, 78,253,250,245, 7,255,147, 45,208,210,165,
+ 75, 27,175, 88,177, 98,195,166, 77,155, 14,143, 30, 61,122,251,213,171, 87,199,251,250,250,254,121,226,196,137, 5, 60, 30,207,
+ 86,203,231, 59, 44, 59, 59, 59,200,245, 35,155,205, 38,180, 90,173, 78, 97, 91, 90, 90,234,246, 0,131,205,102,135,165,166,166,
+ 10, 1, 96,193,130, 5,108, 0, 66,135, 51,184,131,179,180,180,148,221,162, 69,139, 48,119,239,245,196,196,196, 30,253,250,245,
+ 59,125,244,232, 81,191,136,136, 8,100,101,101, 33, 43, 43, 11,141, 27, 55,198,162, 69,139,116,197,197,197,221, 0,220,212,106,
+181,123,221,228, 12,241,243,243, 99,167,167,167,195,106,181,162,109,219,182, 88,189,122, 53, 70,142, 28,137,150, 45, 91,162,184,
+184, 24,169,169,169,216,184,113,163, 31,135,195,169,182,237,208,235,245,123,227,227,227,195, 43, 90,180,198,140, 25, 35,202,203,
+203,115,222,147,113,113,113,229,166, 16, 61,105,147,237, 83, 91, 85,110,181,129,213,106,149,240,249,252, 98, 30,143,199,117,248,
+103, 37, 36, 36,120,108,205,170, 48, 0,244,100,255, 31,131, 67,180, 86,210,183, 34, 56, 56,216,109, 30, 30,143, 71, 56,218, 70,
+171,213, 10,141, 70, 67, 43, 20, 10,231,244,126, 74, 74, 10, 29, 25, 25, 73, 83, 20, 69,113,185, 92, 16, 4, 1,161, 80, 88,101,
+131,207,208, 76,220, 75, 35, 63, 45,183,234,112,250, 71,128,217,108, 70, 74, 74, 10,204,102, 51, 18, 18, 18, 44, 95,126,249,101,
+182, 90,173,158, 14,128,245,235,175,191,142,157, 61,123, 54, 21, 20, 20,212, 47, 63, 63, 31, 53,105,145,103, 72,108, 61, 98,229,
+114,244, 66, 39, 7, 15, 30, 76,216,151, 86, 18, 14,225,228,137,208,178, 63,124, 53,246,188, 4, 65, 32, 39, 39,199,185, 31, 20,
+ 20,228,241,111,185, 11,127,127,127, 93,151, 46, 93,124,148, 74,229,222,165, 75,151,214,202,146,181,118, 73,220,170,197,243, 63,
+151,169,174,159, 69,102,118, 14, 84,249,150,228,164, 63,239,239, 1,176, 7, 0,176,174,249, 73, 98,114,218,183,238,114, 54, 11,
+ 16,180, 97,115, 88,123,158, 31, 56, 56,124, 68,236, 12,242,173,183,222,234, 62,118,236, 88,205,232,209,163,167,137,197,226, 38,
+102,179,185,104,247,193,131, 15, 70,140, 24, 81,159,166,233,177,168, 33,230,136, 94,175,127,216,187,119,111,215,250,148, 28, 59,
+118, 76,254,224,193, 3, 76,157, 58,181, 32, 43, 43, 75,237,122,174, 59,101, 52,155,205, 15,219,180,105, 83,229,116,161, 99, 74,
+ 17, 0, 74, 74, 74, 30,122, 80,165,163, 96,119,124, 47, 44, 44,196,141, 27, 55,192, 98,177,208,185,115,103, 36, 37, 37,161,123,
+247,238, 41,158, 88,181, 12, 6, 3, 34, 34, 34, 96, 48, 24,160,211,233, 74, 1,240, 54,215,175, 15, 0,120,187,176, 16, 23,191,
+252, 18,103, 23, 47,134,235,253,236, 46, 90,183,110,205,156, 61,123, 22,127,254,249, 39,140, 70, 35, 38, 78,156, 8, 0,132,253,
+222,245, 36,100, 70, 67,138,162, 6, 12, 28, 56, 48, 4, 0,116, 58, 29,113,254,252,121,240,249,124,231,179,176,127,255,126,100,
+101,101,129, 32, 8,248,249,249,133, 21, 21, 21,213, 7,112,191, 26,179, 63,113,255,254,125,124,241,197, 23,176,217,108,152, 61,
+123, 54,162,162,162,156, 2,235,225,195,135, 88,176, 96, 1,104,154,198,231,159,127,142,198,141, 27,195, 98,177,240, 81,203, 16,
+ 26,117,129,153, 51,103,222,217,179,103,207,225,140,140,140, 23,151, 44, 89,210,139, 32, 8,219,172, 89,179,190,144, 72, 36,244,
+227,240, 22,105, 74,112,227,246, 67,167, 16,170,184, 5, 6,200, 60,230,187,117, 55,195,249,125,154,118,229,163,225, 47,243,243,
+180,136,165, 22,139, 69,247,234,171,175, 74,119,237,218, 69, 52,110,220, 24,247,238,221,115, 88,134, 74,225,121, 72,135, 44,149,
+ 74, 21, 69, 81, 20,231,246,237,219,136,140,140, 68,167, 78,157,176,112,225, 66, 40,149, 74, 88,173, 86, 4, 5, 5,217, 44, 22,
+ 75,138,217,108,254,163, 6,174,184, 73,147, 38,113, 0, 76,182, 91,182, 90, 77,159, 62,221,182,108,217, 50,164,164,164, 56, 45,
+ 88,174,206,240,158, 78, 29,186, 90,157, 92,183,132,132,132,217, 92, 46,151, 1,112, 14,158, 7,122, 54, 85,180,104,213,198,154,
+245,164,240, 36, 87, 50, 42, 20,138, 4, 31, 31,159,193, 69, 69, 69,229,172, 90,221,186,117, 51,203,229,242, 68,119,121,196, 98,
+113, 17, 69, 81,254, 0,144,149,149, 5,145, 72,196,185,123,247,238, 98,148, 5,207, 70,253,250,245, 23,171, 84, 42, 78,125,123,
+123, 26, 28, 28, 12,147,201, 84,165, 27,203,153, 75,121, 63, 0,248,193,177, 47,147,201,114, 52, 26,141, 96,217,178,101,218,197,
+139, 23,235,105,154, 54, 2, 56,161, 86,171,157,113,180,114,115,115, 53,108, 54, 91, 38,149, 74, 67, 29, 66,171, 50, 45,242,140,
+161,106,139,150, 93, 73, 50, 21, 5, 17, 65, 16,143, 56,168,215, 32,180,106, 20, 89, 52, 77,151,179, 50, 56, 28,222, 43,251, 45,
+123,167, 94,171,169, 67,187,200,226,239,222,189,123,243,210,165, 75,207,185,251, 61, 87, 31,173,117, 95,205, 95,226, 16, 89, 87,
+ 78, 29,197,222, 52,141,114,246,226,229, 43,106,251, 15, 52, 15, 16,182,150,203,253, 79,126,185, 40, 78,114,231,200, 70,108, 95,
+247, 63,230,202,133, 11, 29, 47, 92,184,240,198,212,169, 83,235,217,111, 44, 21,128,203, 0, 70,192,141, 85, 58, 89, 89, 89,253,
+ 43,116,194, 55, 57, 28,142, 92, 40, 20, 34, 43, 43, 75,123,235,214, 45,143,167,100,148, 74,101,255, 39,112, 3,178, 28, 34, 75,
+169, 84, 34, 53, 53, 21,125,250,244, 1, 0, 36, 37, 37,161, 91,183,110, 72, 78, 78, 70,187,118,237, 82, 0,116, 64, 13,129, 90,
+ 45, 22,139,186,121,243,230, 78,235,150, 70,163,177, 1, 64,108, 78, 14,226, 21, 10,176, 88, 44,156, 93,188, 24,115, 44, 22, 44,
+244, 80,192,183,105,211,134, 57,127,254, 60, 30, 60,120, 0,171,213,138, 33, 67,134,160,150, 15,125,203,102,205,154, 29, 59,113,
+226, 68,160, 88, 44,134, 78,167,131, 86,171,197,184,113,227, 48,114,228, 72, 24,141, 70,236,216,177, 3,251,246,237,131,143,143,
+ 15,116, 58, 29,116, 58,157,223,160, 65,131, 78,223,188,121,179, 39,128,219, 85, 8, 45,166,127,255,254, 72, 76, 76, 4, 69, 81,
+232,216,177, 35, 10, 11,255, 90, 12, 36,151,203, 43, 59, 70,253,147, 66,139,197, 98, 49, 9, 9, 9, 75,122,245,234,133,140,140,
+140, 23,219,181,107,183,114,252,248,241, 89,143,203,235,231,235,131, 54, 45, 26,194,104, 52,194,104, 52, 34, 36, 36, 4, 37, 37,
+ 37,184,115,231, 14,140, 70, 35,228, 65, 82,143,249, 98, 90, 54,118,242, 5, 5, 5, 65,167,211,225,254,253,251, 48,153, 76, 8,
+ 8,240, 72,104,133,247,239,223,255,247,173, 91,183,250,111,220,184,209,212,187,119,111,238,202,149, 43, 9,137, 68, 2,151,142,
+197, 83, 36, 36, 37, 37, 69,244,235,215,175,233,245,235,215,145,144,144, 0,147,201,132,152,152, 24,220,186,117, 11, 93,186,116,
+129, 86,171, 61,119,225,194,133,125,238, 24,134, 1,124, 50,105,210, 36, 56,196, 86, 98, 98, 34,114,114,114,224,227,227,243,136,
+208,114,248, 62,218, 87,141,135,184, 83, 88,135, 32,114,177, 60,205,145, 74,165,102, 0, 43,106,105,125, 2, 0,100,100,100,240,
+ 90,181,106,101,228,243,249, 92,187,104, 91,254, 56,124,117,137, 58, 88,201, 88, 37,130,131,131,167, 7, 4, 4,244,107,208,160,
+ 1,242,242,242, 56, 92, 46, 23,221,186,117, 51,119,232,208,193, 28, 28, 28,252,182,187, 60, 60, 30,239, 58,135,195,233, 89, 54,
+152,160,145,158,158, 14,134, 97,102,183,108,217,242,221,146,146, 18, 20, 22, 22,114, 37, 18,137,115, 80,221,180,105, 83, 24,141,
+198,235, 30, 88,222,226, 34, 35, 35, 63,225,112, 56, 11,149, 74,101,101, 97, 33,184, 82,169, 84,194,225,112, 96, 54,155,203,137,
+205,138, 90,228, 89, 23, 89,229,132,150,139,138, 44, 39,116, 60,177,104,185, 99, 53,112, 56,216,187,238, 59, 68, 93,197,223,170,
+109, 12, 45, 95, 95, 95,163, 67,100, 45, 92,184,240, 92,109, 56,118,110,221,162,240,181,149,134,103,159, 59,132,155,127, 38, 99,
+ 79,170, 90, 57,123,241,242,105, 47,189, 54, 42,175,162, 48,115, 7, 81,129,194,150,242, 32,255,147, 95, 45, 93, 44, 81, 93, 63,
+139,156,220, 92, 28, 58,119, 33,217, 12,164, 2,152, 93,151,166,101,160,108,234,144,162,168,167,233,134,117, 58,195,231,228,228,
+ 56, 68, 86, 12, 0,116,239,222, 61,197, 46,178,224,174, 69, 75,173, 86, 87, 76, 89,211, 15, 64,128,227,250, 89, 44, 22,186,125,
+242,137,199, 34, 11, 0,147,156,156, 12,149, 74,229, 24, 41,214, 86,100, 33, 56, 56,248,253, 19, 39, 78, 4,126,255,253,247,197,
+155, 54,109, 42,180,217,108,236, 54,109,218,132,181,111,223,158,216,188,121, 51, 0, 96,196,136, 17,152, 61,123, 54,174, 93,187,
+ 6,145, 72,132,238,221,187,211,115,231,206, 13,154, 62,125,250,219,121,121,121,211, 42,237, 29,109, 54, 14,159,207, 63, 14,224,
+185,235,215,175, 3,192,105,148,165,112,114, 88, 17,170, 60,230, 78,231, 91, 82, 82,194,246,241,241,169, 52, 52, 4,167,108, 52,
+228,169, 5,194,201,121,234,212,169, 47,190,250,234,171, 61,239,189,247,222,237,199,228,172,212,162, 53,120,240, 96,232,141,102,
+100,230,105, 64,211, 86,232,205,249, 30,243,185, 90,180, 6, 15, 30,140, 82,131, 9,233, 57, 42, 88,173, 52, 74,244,110,247,229,
+194,231,159,127,254,215,159,126,250, 41,248,204,153, 51,160,105,218,118,235,214,173,251,175,190,250,170,100,214,172, 89,254,143,
+177,200,232,155, 81,163, 70, 13, 59,117,234,148,170,105,211,166,178,115,231,206, 33, 63, 63, 31, 86,171, 21,207, 61,247, 28,184,
+ 92,110,250,226,197,139, 57, 0,190,113,247,191,177,139, 45,243,133, 11, 23,222, 60,123,246,172, 76, 38,147,113,109,205,154, 33,
+231,232, 81,236,218,181,235,145, 47,172, 91,183, 14,112, 51, 10,191,195,226,116,254,252,249, 58, 17, 88,229,122,106, 46,183,214,
+211,143,207, 42,206,159, 63,159,245,214, 91,111,181,144, 72, 36, 43,122,244,232,209,199,223,223,159,244,243,243, 75, 8, 13, 13,
+125,183, 77,155, 54,110,207, 46,176,217,236,241, 34,145,232,142,213,106,165,180, 90, 45,116, 58, 93, 89, 35,109,181,114, 73,146,
+ 68,253,250,245,157,125, 73,199,142, 29, 17, 28, 28, 76,167,165,165,141,119,151,191,160,160,160,220, 42,196, 74, 48,169, 91,183,
+110, 44,163,209,136, 7, 15, 30, 36,185, 30,168, 76,139, 60, 35,136,173, 86,124, 57, 46,202,245,226, 66, 67, 67, 51, 44, 22, 11,
+147, 10, 48,151, 47, 95,102, 98, 99, 99,171,221, 12, 6, 3, 19, 20, 20,148, 83, 73,231, 7, 87, 78,163,209, 88,238,123, 70,163,
+145,145,203,229,180, 94,175,127,132, 83,175,215, 51, 97, 97, 97, 89,213,113, 86,130,113,151, 46, 93, 90, 51,103,206,156, 78, 30,
+ 84,144,147,147, 89,219,140,217,184,113,227,127, 24,134,233,213,163, 69,196,159,195,219,200,153,110, 81, 65,217,251,118,110, 29,
+201, 48, 76,175,138,155, 35,192,105,117,156,205,228,162,230,125,163,235, 21, 93, 57,178,141, 57,177,236, 29,230,171, 33, 81, 76,
+187, 48, 31,117,179, 0,129,167, 57, 98,106,204,150, 30, 29, 29,125,211,102,179, 49, 38,147,137,137,142,142,190, 85, 23,156,181,
+ 64,117,156,109, 81,230,203, 54,170,146,207,218, 62, 70, 57,175, 48, 12,195,168, 84, 42, 70,171,213, 50, 70,163,145,161,105,154,
+113, 5,128, 43,110,112, 50,102,179,153, 41, 42, 42, 98,224,190,207, 93,165,156, 10,133,226,254,221,187,119,153, 70,141, 26,101,
+216,205,241,211,117, 58, 29, 83, 17, 58,157,142,233,211,167, 15,115,235,214, 45, 38, 50, 50,210,112,235,214, 45, 70,161, 80,220,
+168,161,156, 13,194,195,195,143, 7, 4, 4, 36, 0,136,242,224, 88,181,245,185, 99,199,142,134, 12,195, 76,100, 24, 38,182,138,
+109, 34,195, 48,205,254,105, 78,123,253,230, 49, 12,195,148,150,150, 50, 42,149,138,201,206,206,102, 74, 75, 75, 25,173, 86,203,
+ 92,186,116,137, 57,115,230, 12,243,231,159,127, 50, 50,153, 44,207, 29, 78, 7,159,201,100, 98,138,139,139,153,252,252,124, 70,
+175,215, 51, 58,157,142,185,122,245, 42,115,241,226, 69,230,250,245,235,149,241, 61,194,233,239,239,191, 46, 55, 55, 87,123,250,
+244,233,210,181,107,215,150, 6, 7, 7, 95, 7, 16, 1,160,137,159,159, 95,238, 59,239,188,195,136,197,226,135,181,124,142, 90,
+176,217,236, 75, 75,150, 44, 57,127,224,192,129,188,125,251,246,153, 54,108,216,144, 57,117,234,212, 63, 88, 44,214, 37, 0, 45,
+106,249, 28, 5, 73,165,210,211,231,206,157,179, 22, 21, 21, 49,106,181,154, 41, 46, 46,102,116, 58, 29,163,215,235, 25,147,201,
+196, 88, 44, 22,230,143, 63,254, 96,228,114,185,235,180,228, 7,213, 12,172,103, 48, 12,243, 62,195, 48,172,186,110,235, 92,184,
+123,212, 21,103, 93,180,117, 36, 73,154,237,109, 71,231,178,221,234,247,255,169,114,246,237,219,247,243,145, 35, 71, 50, 3, 6,
+ 12, 96, 98, 98, 98, 30,217,218,181,107,199, 76,153, 50,133, 57,112,224, 0,243,229,151, 95,126, 94, 7,229,100,161,108,209,203,
+162,190,125,251, 90, 18, 19, 19,153, 17, 35, 70, 48, 0,250, 87,167, 69,158,101,193,229, 88, 76,227, 8,239, 64,184,190, 2,128,
+217,108,206,184,121,243,166,162,169,213, 74, 1,192,183,223,126,251,136,101,202, 21,137,137,137, 86,130, 32,238, 84,247,235,102,
+179, 57,227,196,137, 19,242, 85,171, 86,177, 93, 76,192,176, 90,173,182,236,236,108,114,229,202,149,229,206, 63,121,242,164,213,
+106,181,166,123,120,145, 27,219,182,109,187,177, 46,106,235,143,107, 15,222,253,245,208, 47, 1,157, 59,245, 80, 75,100,178, 74,
+ 71, 97, 59,222,110, 6, 98,114,245, 86, 45,130, 69, 46, 92,178, 40, 78,234,152,130,252, 57, 37, 87,109, 48,210,125,210,148,250,
+ 43,117,253, 15,107,181,218, 7,142,149,128, 58,157, 46,253, 41,188, 9, 47,161, 44,198,149,181,194,103, 29,240,152, 78,167, 54,
+155, 13,190,190,190, 78,107,104, 45, 44,162,140,195,194,234,248,235, 30,167, 60, 12,195,156,186,122,245,106,228,184,113,227,124,
+ 54,109,218,116,151,166,105,246,132, 9, 19,204,193,193,193,156,164,164, 36, 11, 0,162, 87,175, 94,172,220,220, 92, 38, 43, 43,
+ 75,245,242,203, 47,151,188,249,230,155,254,151, 47, 95,230,218,108,182,154,130, 22,222,203,200,200,232, 91,139, 99,213, 98,248,
+240,225,119,241,248,105,108,158, 56,167, 3, 42,117, 49,238, 62,200,178, 71, 48,183,129,126,152,231,244,171,178, 88,172, 80, 21,
+ 23,122,108,209,186,115, 63,203,158, 98,140, 6, 77,103,219,249,202, 28,226,153,162,210,154,123, 19, 22,171,251,220,185,115, 7,
+146, 36, 73,158, 61,123,214,184,116,233,210,140,130,130,130, 33, 0,210, 1,160,168,168,168,247,198,141, 27,127,116, 35,148, 67,
+ 85, 72,181, 88, 44, 93, 62,248,224,131,105, 0,186, 3,168,103,231, 78,178, 91,178,106, 27,193, 60, 95,173, 86,191, 48,112,224,
+192,163, 20, 69,213,119,121,142, 2, 0, 40, 29,207, 5,195, 48, 65,121,121,121, 47,186, 67, 72, 16,196,242, 39,213,144, 60, 73,
+238,199,108,135,158,137,149,140,199,143, 31,159, 55,100,200, 16, 86, 68, 68,196,199, 17, 17, 17,100, 81, 81, 17,180, 90, 45, 72,
+146, 68,112,112, 48,162,163,163, 17, 28, 28,108,187,126,253,250,162, 15, 63,252,176,198,152,124,205,155, 55,111,104,177, 88, 26,
+145, 36,217, 16, 64, 67,134, 97, 26, 18, 4,209, 16,128, 12, 0, 36, 18,137, 36, 50, 50,146,213,185,115,103,116,234,212, 9, 39,
+ 79,158,196,206,157, 59,127, 0,240,171,171, 53,171,162, 22,121, 26,144,218, 22, 76,139, 75, 32,174,181, 67, 47,194,134,147, 12,
+137,222,209,201,206, 56,123, 21, 69, 86,213, 73,165, 43, 49,253,245,127,238,185,231,156, 15,156, 27,157,202,131,154, 30,190,130,
+130,130,254,227,199,143, 47,199, 73,211,180,177,176,176,240,173,174, 93,187,174,166, 40,138, 87,225,134,125,152,159,159,255,183,
+230,234,171, 24, 71,171,255,192, 87,148,143,203, 41,230,144,141,110, 30,252, 14,121,249, 74,252,156,146, 91, 84, 98,162,123,223,
+ 82,150, 94,125, 18,229,127,248,240,225,128,103, 64,241, 87, 38, 90, 31, 55,121,118,129, 27, 1, 73,107,202, 81, 71,216,195,137,
+212,201, 67,158,155,155,187,236,147, 79, 62,121, 97,209,162, 69,129,135, 15, 31,150, 56, 6, 40, 67,135, 14,205,191,122,245,106,
+ 15, 0, 60,131,193,112,108,209,162, 69,129,113,113,113,254, 0,252, 1, 96,208,160, 65,121,121,121,121,171,224, 69,181,176, 88,
+ 44,153,209,205,155,150, 27, 57, 58, 6,128,174,239,173, 86,107,166, 39,124,149,241,184,238,211, 52, 93, 45, 31, 69, 81,239,117,
+234,212,137,122,239,189,247,242, 14, 31, 62,236, 72,164,235,170,208,110,214, 16,148,212, 29, 24, 1, 44,181,111,117, 9,157, 74,
+165,234,226,225,119,104,239,221, 88,233,128,210,147,253,127, 4,123,247,238,253,116,196,136, 17, 27,101, 50,217,150,134, 13, 27,
+ 54,149,203,229, 18,129, 64, 0,163,209, 88, 98, 50,153,110,220,188,121,115,244,167,159,126,122,207, 45, 11,199,198,141, 20, 0,
+142,205,102,227,147, 36, 41, 2, 32, 33, 8,194,207, 33,180, 8,130,128,217,108,198,131, 7, 15, 48,103,206, 28,250,248,241,227,
+ 95, 2,248,220,131,129,107, 7, 0,129, 46,237,120, 32, 0, 19,202, 2,216, 22, 16, 4,113,225, 73,215, 23, 97,195,201, 22,151,
+ 64,164,182, 69,101,253, 68,245, 73,165,171,122,224, 10, 10, 10,186,212,245, 67, 92, 21,103, 65, 65, 65,196,211,242,132,140, 53,
+ 46,221,134,117, 75,203,229, 57,116,136,176,202,246,107,130, 70,111,157,250,205,175,215,150, 25,173,140,205,108,181,253,247, 86,
+ 65,105,170,183, 29,170,115, 60, 95, 87,207, 82, 29,150,233,106, 90, 90, 90,215,169, 83,167,126, 42, 20, 10, 59, 2, 64,105,105,
+233,217,236,236,236,249,176,175, 42,172,233,184, 23, 85, 67,169, 84,182,127, 26,249, 76, 38,211,187, 93,187,118,253,154,166,233,
+175,172, 86,107,210,255,131,191,194,224,189, 27,159, 93,108,223,190,253, 30,128, 46, 0, 48,108,216, 48, 10, 0,118,238,220,233,
+177,120, 30, 55,110, 28,205, 48,140,217,126, 63,232, 80,182,186,176,200,209,166,234,116,186,162,236,236,236,235, 52, 77, 95, 7,
+240, 35, 60, 95,113, 27, 72, 16,196, 1,134, 97, 6,219,133,219, 1,134, 97, 6,187,126,246,164,173, 90, 53,156, 82,179, 51,188,
+ 23,101,216,153, 10,162,226, 84, 96, 77,251, 53,225,102,158, 46, 1, 64, 59,111,237,254,191,196,221,236,236,236,177,143,113,220,
+139,103, 15,233, 38,147,105,200,255,163,235,213,120,255,242,127, 73,255, 87, 11,129,229,192,245,235,215,159,152,139,192, 63,141,
+ 22,151,202, 15,192, 43,238,187, 32,182, 50,225,229, 21, 90, 94,120,225,133, 23, 94, 60, 14,212,222, 42,240,226,223, 12,135,111,
+150, 99,191, 10, 31,173,138,254, 89,206,125, 2, 85,175, 28,240, 36, 43,121,109, 86, 73, 28,243,114,122, 57,189,156, 94, 78, 47,
+231, 63,206, 41, 5, 16, 9, 96, 73, 13,231, 85, 92, 93,152, 7, 64, 9,192,226,173, 79, 47,231, 99,232, 7,183,192, 48,204,160,
+234,166, 14, 9,130, 56,248,164,132,150,211, 25,190, 45,230, 70, 95,194, 92,199,126, 77, 66,139, 97,152,248,191, 67, 8,246,243,
+114,122, 57,189,156, 94, 78, 47,167,151,211,203,233,229,124, 76,161,213,231,195, 15, 63,252, 8,101,161, 49,152, 15, 63,252,240,
+ 35,134, 97, 6,149, 29, 98, 6, 61,201,223,190,214, 14,189, 82,219,130,113,108,215,218,161, 87, 21,167,198,186,108,229,195, 59,
+120,225,133, 23, 94,120,225,133, 23, 94, 60,197, 56,189,120,241,226,210,197,139, 23, 59, 28,223, 11, 0, 16,118, 11, 87,193,147,
+252, 97,251, 52,161, 59, 11,165,170, 79,193,243, 15, 32,132,100,113,198,176, 57,188, 62, 96,108,209, 0, 0,146,186, 70,155, 12,
+191, 91,173,230, 45, 0,178,107, 75,220, 12,104,222, 88, 42,216,103,164,105, 78, 70,137,105, 88, 90, 89,154, 3,143, 49, 12,232,
+198,227,114,127,227, 73,165,130,202,142, 27,213,106,189,209,100,122, 97, 39,112,202,251, 12,120,225,133, 23, 94,120,241,140, 64,
+228,231,231,119,156, 36,201, 8,199, 7,174,113, 7, 43,198, 32,164,105, 58, 71,165, 82,189,128,178,169,226,191,147,211,245,251,
+ 38,212,178, 47,175,107,184, 59,117, 8,215,240, 14, 46, 81, 88,255,150,140,217, 20,155,247,166,143,175,116,225,127,198,191,235,
+ 31,213,164, 41, 17, 30, 30, 10, 48, 64,122, 70,166,252,206,237, 91,125,183,111,250,102,102,177, 70, 53,199, 98, 52,126,231, 41,
+119,115, 64, 84, 79,204, 75,250,238,195,215,165, 44, 88, 49,106,193,214, 35,132,214, 28,126,189,108,185,169, 71, 34, 75,234,239,
+255,235,226, 99,199, 4,126,173, 91,151, 59,198, 48, 76, 89,126,189, 43, 87, 4, 31,191,240,194,175,195, 84,170,254, 94,177,245,
+175, 68,176, 68, 34,153,206,102,179,123,155,205,230, 8, 46,151,155, 65,211,116, 66, 81, 81,209, 10, 0, 89,222,234,249,119,163,
+105,176,168, 71,211,134, 17, 91,179,115,243, 82,138, 13,166, 9, 55,179,181, 42,111,173,120,140,234,242,107,254, 99,185, 55, 1,
+ 64, 44, 22, 95, 36, 73, 50,204, 85, 4, 56,114,246, 58,246, 43,190,218,108,182,123, 42,149,170,107, 53,180, 13,101, 50,217,106,
+ 0, 29,106, 10,152,108,143,205,118, 65,165, 82,189,133,170, 87,235,249,248,249,249,205, 35, 8, 98, 56, 73,146, 84, 77,215,100,
+179,217,104,134, 97,118, 20, 21, 21,125, 14,160,164,170,243,252,252,252,142,165,165,165,117, 8, 10, 10,170,209, 74, 99,181, 90,
+145,158,158, 30,216,177, 99,199, 63, 84, 42, 85,179, 39,201,249,119,107,145,218,162,154, 85,135, 85,222,232, 0,202,229, 23,122,
+162, 17, 89, 57,124,241,190, 46, 61,251,247,153, 50,237, 61,209,165,171, 55,240,219,201, 51, 40,214, 25, 65,145, 36,164, 62, 66,
+ 52,105,210,136, 88, 30,191, 43,224,135,181,203,191, 58,155,120,116,144, 65,167,121,217, 35,153, 46,100,205,153,253,106, 71,145,
+191,140, 6,108, 52,222, 31,216, 70,244,241,129,148, 57, 40,181,126,228,177,200, 58,126, 92,152,159,151,135,184,144, 16,176,172,
+ 86,240, 73, 18,124,130, 0,159, 36, 33,226,243, 49, 96,195, 6,204, 63,124, 88,248,233,139, 47,122,197,214,191, 12, 98,177,120,
+124, 72, 72,200,210,245,235,215,251, 55,104,208, 0, 34,145, 8, 42,149, 42,224,230,205,155,109,103,204,152, 49, 54, 39, 39,231,
+147,226,226,226,117,222,154,250,247,194,102,195,152,239, 23,190, 21,154,243,240,118,232,164, 69,219,154, 16,254,116,239, 27,133,
+250, 92,111,205,184,141,182, 0, 82, 80,121,254,210,234,142, 85, 9, 62,159,159,103, 48, 24,130,170, 59,135,203,229,230,155, 76,
+ 38,121, 77, 92, 36, 73,134,101,101,101, 5, 9,133, 66,208, 52,109,207, 6, 96,115, 14,164, 93,179,159,216, 3,213,162, 89,179,
+102,230,234, 56,125,124,124,190,205,207,207,239,231,200, 19,232, 34,168, 42, 69, 86, 86, 86,191, 22, 45, 90,124, 91, 82, 82,242,
+ 66, 21,226,101,222,180,105,211,166,183,108,217,210, 97, 5,178,103, 65, 40,123, 85, 42,149,152, 58,117,170,243, 55,108, 54, 27,
+142, 30, 61, 58,109,252,248,241, 40, 42, 42,154, 81,205,181, 71, 4, 5, 5, 17,246,132,226, 85, 98,238,220,185,152, 59,119, 46,
+190,249,230, 27,130,205,102, 75,107,168,207, 58,225,252,187,180, 72,109, 44, 88, 53, 68,134, 63,136,242,225, 29, 14, 62, 34,180,
+254, 14, 80,108,222,127, 59,116,237,215,123,234,244,217,162,109,191,156,192,205,235, 87,144,150,244, 83,185,115,218,191, 48, 30,
+185,202, 18,140,159,242,190,152,160, 88,189, 19,143,237,253,175,197,168,255,222, 77,107,150, 60,130,199,125,167,115,199,104,118,
+150,224, 38,130,253, 4,232,222,174, 49, 59,252,215, 63,223,209,193,250,245,245,178, 85, 50, 30,137,172,245,175,191,142, 30, 22,
+ 11,130, 40, 10, 20, 65,128, 2, 64, 18, 4, 12, 70, 35, 46,140, 25,131,142,155, 55,227,243,253,251,133,243, 94,122,201, 35,177,
+ 37, 18,137, 46, 17, 4,225,167,213,106, 7,161, 44,177,244,179,128, 22, 98,177,248, 32,195, 48, 69, 58,157,174,237, 83, 84, 46,
+ 5,202,230,232, 43,142,142, 57, 40, 91, 81,229, 81,102, 97, 30,143,247,230,176, 97,195,150,175, 90,181, 74,152,151,151,135,236,
+236,108,208, 52, 13, 62,159,143,168,168, 40,226,216,177, 99,254,179,103,207, 94,118,240,224, 65, 94, 73, 73,201,215,158, 12,108,
+216,108,118,188, 76, 38,123, 81, 46,151,139,242,243,243, 75,213,106,245, 81,163,209,248, 38,106,159, 54,133,100,179,217,163, 35,
+ 35, 35, 95, 9, 9, 9,145,103,101,101, 41, 51, 51, 51,247, 25,141,198, 31, 80,203, 68,205, 46,117,218, 26,246,104,245, 0,114,
+ 34, 35, 35,175, 61,120,240, 32,191, 14, 57,179, 35, 35, 35, 83,107,193, 41, 2,176, 29, 64, 72, 13,231,101, 3, 24, 1, 15,173,
+217,206,138,101,108,135, 22,172, 88, 63, 33,110, 92,119,226,251, 25,253,162, 38,127,115,236, 12,201, 97,122, 94,207, 49,100,120,
+ 53,148,123, 34,203,158,210,170,162,160,170,238, 88,181, 48, 26,141,129,102,179, 25,236, 42,146,197,235,116, 58,248,248,248, 4,
+186, 91, 72,129, 64,128,159,126,250, 9,108, 54, 27,108, 54, 27, 69, 69, 69, 8, 11, 11,115,238,115, 56, 28,231,251,122,245,234,
+213,200, 71,211,116, 71,138,162,160,213,106, 65,211,180,115, 83,171,213, 96, 24, 6, 60, 30, 15, 52, 93,150,206,201,229,120,199,
+170,248, 8,130, 24, 30, 18, 18,130,109,219,182,193,100, 50, 61,114, 92, 34,145,224,234,213,191,146,140, 80, 20,133, 78,157, 58,
+145, 4, 65, 12, 7, 48,163, 26, 94, 6, 0, 98, 99, 99, 65, 81, 20, 40,138, 2, 73,146,206,247,142,141,166,105,204,157, 59, 23,
+ 21, 82,147,253,109,156, 79, 27,106,136, 12,159,131, 42,124,180,200, 39, 92, 46,215, 37,158, 33, 66,145,228,139,183,222,125, 95,
+124,240,143, 63,145,158,145,254,136,200, 2,128,139,191,253,128,156,236, 44,164,164,101, 98,244,150, 61, 49, 16, 0, 0, 29, 44,
+ 73, 68, 65, 84,127,223, 22, 75, 36,210, 47, 42, 52,168, 85, 46, 27,245,245,225,124,249,225,136,238,124,173, 37, 27, 37,126, 0,
+213,144, 11,182, 80,135,217,131, 91,243, 36, 62,156,165,238,148,147,199,229,254,182,248,216, 49,167,200,234,102, 52,130, 71,211,
+176,210,180, 83,100,153,172, 86,232, 77, 38, 40,180, 90,220, 25, 63, 30,140,197,130, 79,246,236, 17,242,184,220,223,220, 41, 39,
+ 0,112, 56, 28,197,190,125,251,234,181,106,213,234, 36,220, 15,102,122,236, 9,255, 71,213,161, 93,155, 54,109, 18, 54,111,222,
+ 92,143,195,225, 40,234,130,147,207,231,191, 38, 18,137, 10,248,124,254,107,181, 44, 39, 9, 96,193,132, 9, 19,146, 27, 53,106,
+116,194, 46,172,156,162,166, 81,163, 70,199, 38, 76,152,112, 9,192,220, 42,238,245,202, 56, 67, 67, 66, 66, 22,174, 90,181, 74,
+120,235,214, 45,100,101,101,193, 98,177, 96,212,168, 81,160,105, 26,122,189, 30, 38,147, 9, 75,150, 44, 17,249,251,251,207, 65,
+ 89,162, 96,119,174,157,227,235,235,123,107,211,166, 77,195,238,223,191, 47, 62,113,226, 4,113,245,234, 85,209,178,101,203,134,
+248,251,251,223, 4,192,171, 69,125,146, 10,133,226,251,189,123,247,190,117,245,234,213,176,221,187,119,179,207,158, 61,171, 88,
+187,118,237, 68,133, 66,177, 25, 0, 85,203,255,168,173, 80, 40,236, 59,107,214, 44,219,233,211,167,179, 78,159, 62,157,181,124,
+249,114,244,232,209,163, 91, 92, 92, 92, 76, 45, 57,219,249,248,248, 60, 55,107,214, 44, 91, 98, 98, 98,246,185,115,231, 50,151,
+ 45, 91, 70, 62,247,220,115,221, 23, 46, 92,216,218, 67,206,237,167, 79,159,238,149,145,145,209, 32, 51, 51,179,126,102,102,102,
+100,102,102,102,100, 86, 86, 86, 68, 78, 78, 78,189,220,220,220,240,252,252,252,240,132,132,132,238, 0,182,186,195,217, 84, 46,
+122,107,198,168,126,165,115,254, 59,144,249,232,141,231,153,217,163,122, 49, 47,246,108,245, 11,197, 98, 17,231, 82,211, 17,230,
+ 11,252, 48,181, 67, 68,120,128,232,106,180, 76,220,228, 41,123, 54,159, 54, 78,150, 67, 72,169, 84, 42, 28, 60,120, 16,118,235,
+ 85, 91, 87,145, 85, 92, 92,140,156,156, 28,199, 49,150, 59,229,148, 72, 36,199,215,175, 95,207, 24, 12, 6,104, 52, 26,228,231,
+231, 35, 35, 35, 3,119,238,220, 65, 97, 97, 33,110,220,184, 1,161, 80,120,220,157,114, 18, 4, 1,154,166,157, 66,234,232,209,
+163,152, 48, 97, 2, 84, 42,149,243, 51, 22,139,229,124,239,248, 78, 77,156, 14,203, 19, 77,211, 56,119,238, 28, 38, 77,154,132,
+229,203,151, 99,235,214,173, 56,112,224, 0, 84, 42,149, 83,108, 89,173,214, 26, 57,149, 74, 37,108, 54,247,198, 76, 12,195, 64,
+163,209,184,253,191,187, 10, 32, 22,139,245,136, 40,114,108,158,220, 75,143,201,249,212,194,141,200,240, 85,143,176, 29,111,236,
+166,186,222, 79,170,144, 36,139, 51,122,248,184,105,254,153,249,197,200,202,211,128, 34,255,234,247, 98,250,141, 3,139, 34,113,
+254,215, 50,195, 21, 73, 81,208,232,140, 80,107,205, 24, 54,110,186,236,187,229,159,141,182,154, 13,213,198,120,105, 9, 68, 69,
+139,197,175,182,104, 81,143,188,206, 75, 67,204,139, 73,160,109, 0,147,248, 18,218, 22, 5, 81,205,126,227,190,170, 43, 49, 47,
+188, 10,220,170,214,154, 33,149, 10,252, 90,183, 70, 92, 72, 8,122, 90, 44,224, 48, 12,158,207,203,195,149,233,211, 97,220,181,
+ 11, 36, 0,206,107,175,161,207,138, 21,248, 35, 36, 4,193,122, 61,212, 51,103, 34,240,200, 17,112, 36, 18, 1, 10,220, 91,252,
+ 64, 16, 4,122,247,238,141, 99,199,142,249, 15, 24, 48,224,215, 63,255,252,115,168,213,106,253,163, 54,117,235,235,235,123,145,
+197, 98,133,213,116,158,213,106,205,212,104, 52, 30,167, 25, 97,177, 88, 61, 59,117,234,180,103,247,238,221,126,102,179,185, 78,
+ 70, 33, 92, 46,119,192,144, 33, 67,214,175, 89,179, 70, 50,113,226,196,245, 7, 14, 28, 40, 53,153, 76, 71, 60,185,165, 0, 44,
+ 88,183,110,221,228,216,216, 88,233,196,137, 19,153, 59,119,238,184, 90,175, 2,123,244,232,209,104,253,250,245,193, 29, 58,116,
+152, 54,105,210, 36, 14,128, 79,106,178,242,136,197,226, 41,235,215,175, 15, 80, 42,149,208,106,181,206, 70, 54, 51, 51, 19, 2,
+129, 0, 36, 73,130, 36, 73,176,217,108,124,241,197, 23,254, 83,166, 76,153,174, 82,169,166,187, 97, 37,139, 95,189,122,117,224,
+ 11, 47,188, 64,222,191,127, 31, 36, 73,130,207,231,227,245,215, 95, 39,245,122,189, 95, 92, 92,220, 70,157, 78, 55,210,147, 58,
+100,179,217,163,227,227,227,155,116,235,214,141,149,150,150,134, 46, 93,186,224,252,249,243,120,237,181,215,216, 37, 37, 37,245,
+103,207,158, 61,193,104, 52,122, 26,199, 69, 33, 20, 10, 91,254,254,251,239, 25,225,225,225,206,134,165,126,253,250,244,160, 65,
+131, 84,105,105,105, 77, 79,159, 62, 93,216,181,107, 87, 79, 18,150,135, 10,133,194,102,135, 14, 29,202,137,139,139,235,187,110,
+221,186, 33, 0,208,177, 99,199,125,243,231,207, 63,161, 82,169,162,255,248,227, 15, 85,207,158, 61, 51,221,228, 11, 81, 40, 20,
+244,212,169, 83,197,213,157,180, 97,195, 6, 53,202, 18, 46, 55, 0, 80,109,190,182,166,145,193,115,150, 78, 31, 46, 0,109, 6,
+ 99,209, 3,230, 82,192,172,133,205, 84, 10,130, 35, 0, 44,122, 4,242, 84,216, 62,165,169,228,131,109,119,175,211, 55,136, 65,
+105,202,146, 35,240,162,210,166, 6, 64, 12, 65, 16, 41, 7, 15, 30, 68,167, 78,157,112,240,224, 65, 12, 26, 52, 40,197, 85, 12,
+ 92,189,122, 21, 61,123,246,132,221,162,229,150,175,150, 70,163,249,112,238,220,185,137,163, 71,143, 22,150,107, 12, 72, 18, 82,
+169, 20, 3, 7, 14, 52,232,116,186, 15,221, 45, 40, 77,211, 96,177, 88,200,204,204,196,134, 13, 27,176,104,209, 34, 68, 69, 69,
+193, 98,177, 60, 34,182,236,237,158, 91,141,159,213,106,197,133, 11, 23,176,101,243,102,124, 50,103, 14,124,124,124, 0, 0,102,
+179, 25,170,162, 34,240,249,124,167, 24,171, 65, 56,237,184,125,251,246,244,176,176,176,114, 83,134,142, 87,123,155, 5,155,205,
+ 6,171,213, 10,131,193,128,229,203,151, 91, 25,134,217, 81, 83,255,227, 16, 69,211,167, 79,135,209,248,151, 65,189,181,221, 39,
+ 57, 50, 50, 18,109,218,180,113,238,147, 36,201,184,203,249, 93,215,150,208,187,156,221,116,238, 50, 0, 64, 88, 88, 24,154, 54,
+109, 10,133, 66, 81, 37,231,147,214, 34,181,129, 7,145,225,171, 22, 90,127, 71,166,108, 54,135,223,167, 97,227, 38, 68,122,142,
+ 10, 44, 22, 11, 34,223, 0,116,125,101, 6, 40,138,132, 88, 26, 0,130,214,255,165,136, 73, 10, 44,138, 5, 85,137, 30,145, 13,
+ 26,147, 60,190,160,143,174, 6,161, 37,241,101,175,158, 53,178, 43,191,208,154, 9, 65, 61, 62,104, 71,119, 26,194, 5,233, 95,
+130,247, 6, 68, 9, 98,247,253,185, 26, 26,203,115,238,148,151,178, 90, 17, 68, 81, 48, 51, 12,174, 76,159,142,152,248,120,164,
+ 56,132, 97,124, 60, 82, 98, 99, 33, 99,179,193, 35, 73, 48, 22,203, 35,115,250,238, 8, 45, 0,200,200,200,192,174, 93,187,100,
+195,135, 15,223,115,245,234,213,209, 30,138, 13, 7, 87,192,185,115,231,130, 26, 52,104, 80,229, 57,247,238,221, 67,251,246,237,
+ 61,158,158,226,114,185, 3,158,123,238,185,109,187,118,237,242, 77, 77, 77, 69, 80, 80,208, 99, 11, 45, 30,143,215,179, 95,191,
+126,219, 54,109,218, 36, 41, 40, 40, 64,124,124,188,228,165,151, 94,218,154,156,156,252,138,209,104,116, 71,108,150, 19, 89,241,
+241,241,234, 13, 27, 54,124,135,242, 83,132, 57, 27, 54,108,248,190, 67,135, 14,111,197,198,198, 74, 1, 76,182,251, 14, 84, 43,
+182,120, 60, 94,239,134, 13, 27,150, 27,213,242,120,101,198, 38,145, 72, 4, 95, 95, 95,112, 56, 28, 24,141, 70,196,196,196, 16,
+ 92, 46,183,187, 59,215,236,227,227,211,239,213, 87, 95, 37,147,146,146,144,155,155, 11,169, 84, 10,177, 88, 12,154,166, 49,113,
+226, 68,106,249,242,229,189,117, 58,207,102,184,194,195,195,135,244,237,219,151,117,237,218, 53,220,191,127, 31, 70,163, 17, 55,
+111,222,132, 68, 34,193, 27,111,188,193, 89,186,116,233, 75, 89, 89, 89,158, 10,173,150,177,177,177,121,174, 34,203, 1,145, 72,
+ 68, 52,105,210, 68,229,239,239,223, 14,128, 39, 66,171,229,219,111,191,157,191,120,241,226,158,199,142, 29,115, 6,189, 60,118,
+236,216,108, 0,248,250,235,175, 19, 3, 3, 3,219, 1,112, 87,104,129, 97, 24,219,127,254,243,159,135, 92, 46, 23,108, 54, 27,
+ 92, 46,183,220,198,225,112, 64,146,164,143,227,113,174,137,239,250,253,220, 37, 19,103, 47, 91, 38,226, 83,236,119, 95,105,133,
+122, 82, 14, 32,144,129,211,243, 3, 16,210, 50,163, 37,163,186, 7,252,246, 1,190,122, 85, 69,198,254,104,248,197, 76,251, 5,
+222, 45, 42, 42,249,135,251,128, 14, 0,254,135,178,228,186,115, 0,156,123, 74,250,166, 75, 0, 98, 6, 13, 26,228, 20, 91,135,
+ 15, 31,198,128, 1, 3,160, 86,171,113,237,218, 53, 87,145,229, 73,130,229, 75, 22,139,229,242, 79, 63,253,212,117,248,240,225,
+132,203,243,133,212,212, 84,220,184,113, 35,197, 93, 62,146, 36, 97,179,217,192,102,179,177,108,217, 50,152,205,102,252,248,227,
+143,216,185,115, 39, 72,146, 4, 65, 16, 32, 8, 2, 18,137, 4,223,124,243,141, 71,237, 30, 77,211,216,184,113, 35, 62,152, 61,
+219, 41,178,236, 51, 25, 8,150,203,225, 31, 16,128,187,119,239,214, 40,180,138,138,138, 62,223,191,127, 63,170,115,134,223,191,
+127,191,243,125, 5,103,248,154,251, 57,138,130,209,104,196,243,207,255,149, 42,246,237,183,223,118,190, 87,169, 84,160, 40,202,
+ 81, 23,132,187,156,122, 6,120,133,255,215,103, 3,223,123,175,156,133,174, 42,206,191, 67,139,212,149,117,171, 18,177, 21, 99,
+183,206, 42, 0, 12, 66,153,143, 86, 14,240, 55,250,104, 49,140,173, 89, 88,104, 8, 46,223,185, 10, 22, 69,129,235, 27, 0, 95,
+153, 28, 54,171, 9,154,252,251, 56,185,251, 91, 0,192,186,141, 59, 64,146, 36, 88, 44, 10, 70, 19,141,168,122, 33,176,217,108,
+205,170,227,110, 14,116,237, 45, 15,232, 20, 30, 33, 37,174,249,221, 71,147, 32,255, 10, 19, 33, 60, 68,101,139,137, 46, 98, 65,
+199, 34, 77,113,215,235,192,233, 26,197, 0, 73,130, 36, 8, 8, 57, 28, 24,119,237, 42,243,218,140, 47,235,179, 82, 98, 99, 65,
+254,242, 11,124,120, 60, 80, 4, 1,150,221, 4, 93, 27, 20, 23, 23,131, 32, 8,108,217,178,197,239,141, 55,222,216,122,237,218,
+181, 88,131,193,176,203, 19, 14,181, 90, 61,168, 91,183,110, 39, 54,110,220, 24, 24, 28, 28,252,200,241,220,220, 92,140, 27, 55,
+174, 64,173, 86,123, 20,212,141,207,231,191, 54,100,200,144,245, 63,252,240,131,228,246,237,219,208,106,181, 8, 12, 12,124,220,
+ 91,161, 93,231,206,157,247,236,218,181,203, 55, 55, 55, 23, 26,141, 6, 70,163, 17, 91,182,108,145, 14, 28, 56,112, 87, 90, 90,
+218, 0, 0,201, 53,112,124,234, 42,178, 38, 77,154,244, 39,128, 32, 0,171, 43,106, 80,251,177, 86, 46, 98, 75, 3, 96,105, 53,
+ 35,209, 8,145, 72,132,252,252,124,140, 27, 55, 14,183,110,253,101, 0, 13, 9, 9,113,142,244,238,222,189,139,192,192, 64, 16,
+ 4, 17,228,206, 69, 7, 6, 6,138, 77, 38, 19, 38, 76,152,128,140,140,140,114,156,153,153,153, 32, 8, 66,232,105, 69,202,229,
+114,185, 94,175, 71,143, 30, 61, 96, 48,148,229,245, 29, 49, 98, 4,216,108, 54,242,243,243,193,102,179, 3,106,241,255, 4, 12,
+ 26, 52,168,202,208, 42, 18,137,196,236,231,231,215,220, 67, 78,255,151, 94,122, 41, 43, 62, 62,254,145,133, 45,231,207,159,127,
+ 89, 38,147, 29,147,201,100, 77, 60,228,180,185,138, 42, 14,135, 83, 78,104,177,217,108,144, 36,233,182,143,218,173,124,221, 42,
+ 22,145,211,102,241,212, 23,198,213, 11,242, 5,163,205, 3,231,185,207,113,185, 64,128,101,203, 15, 1, 0,222,127,189, 61, 90,
+247, 91, 0,211, 15, 47, 96,122, 23,138, 59, 38,211, 56, 11,192,167,255,112,155,255, 37, 0,199, 42,184, 53, 0,218, 60, 69,253,
+145, 83,108, 29, 62,124, 24,209,209,209, 40, 42, 42, 66, 90, 90, 90,109, 69,150,163,189,251, 96,222,188,121,191, 13, 29, 58, 84,
+228, 24,180, 10, 4, 2,204,156, 57, 83,175,213,106, 63,240,232, 38,178,217,192, 98,177,156,131,100, 62,159,143,152,152, 24,167,
+200, 34, 8, 2,165,165,165, 96,177, 88,142, 21,137,132,155,101,132, 34, 56, 24, 62, 62, 62,104, 28, 21,133,219,246,118,196,241,
+158,199,227,129, 32, 8, 88,173, 53, 26,242, 74,236, 78,237, 51,234,186, 75,118,136,162,106, 77,199, 33, 33,176,217,108, 14,145,
+201,212, 5,103, 64, 64, 0,180, 90,173,187,156, 79, 37,170,176,104, 57,132,214, 32,148,249,106, 61, 18,222,161, 23,128,147,120,
+130, 75, 42, 9, 48,132,141, 97,192,162, 72,251,220, 45, 5,138, 34,161, 42,200,193,138,207, 39,219, 69,214, 78, 28, 76, 76, 67,
+ 88,195,232,191,230,113, 9, 2, 96,170,191,185, 3,125, 57,241, 83,134,118, 22,228, 17, 57,144,134, 8,193,231, 87,208,143,126,
+ 28, 16,145, 36,166,246, 14, 19, 94,216,111,136,191,174, 49,215,216, 81,240, 73,178,204,249,157, 32, 42,117,238, 33,237,199, 40,
+130, 40,139,254,106,243,204,239,216, 33,228, 5, 2, 1,204,102, 51, 40,138,194,202,149, 43,165,253,250,245, 91,237,169,208, 2,
+144,154,151,151, 55,112,226,196,137,135,119,236,216, 17, 16, 16, 16, 80,110,244, 48,113,226, 68,101, 94, 94,222, 64,120,232,116,
+207,102,179, 87,175, 89,179, 70,242,224,193, 3,148,150,150, 66, 32, 16, 56, 27,159,218,222,159, 29, 59,118,252,245,200,145, 35,
+126, 26,141, 6,102,179, 25, 2,129, 0, 12,195,128,162, 40,252,252,243,207,254,131, 7, 15, 62,148,158,158,254, 92,117,101, 21,
+ 8, 4,175,216,133, 19, 98, 99, 99,165,177,177,177,189,128, 42, 35,245, 58, 17, 27, 27, 43,157, 49, 99,198, 75,122,189,126,105,
+ 53,215,156,161, 82,169,130, 5, 2, 1,118,239,222, 13,177, 88, 12,161, 80,136,144,144, 16,168, 84, 42, 8,133, 66, 48, 12, 3,
+139,197,226,104, 44, 10,221,185,240,130,130, 2,173,213,106,245, 61,124,248, 48, 10, 11,255,250, 74,189,122,245,160, 86,171, 97,
+179,217, 74, 61,173,204,236,236,236, 60,130, 32,194, 47, 95,190,140, 7, 15, 30, 96,192,128, 1,248,229,151, 95,208,190,125,217,
+236,176,201,100,170, 77, 16, 63,154,162, 40,166,154,251,150, 0,224, 87,151,156,246,206,203, 35, 78,155,205,102,115,136, 44,215,
+ 87, 87,241, 85,195,111,150,123,156,155,203,197, 27, 22, 79,233, 59,238,133,232, 0,232, 11,238,131,239, 19, 0, 66, 26,137,101,
+203, 15,225,218,189,178,255,107,217,214,139,216, 22, 55, 16, 16,200,208,212, 87,137, 96, 31,214,171, 55,242,255,113,161,229,235,
+ 58, 78,120, 90, 59,166, 1, 3, 6, 64,165, 82, 65, 44, 22,215,133,127,206, 25,189, 94,127,115,239,222,189,237, 6, 13, 26, 4,
+ 46,151,139,155, 55,111, 34, 57, 57, 57, 13,192, 25, 79,133, 22,155,205,198,188,121,243, 48,121,242,100,200,229,114,124,240,193,
+ 7, 96,177, 88,206,141, 32, 8,167,133,203, 19, 4,201,171, 95,248,232,112,136,175,201, 24,238,235,235, 59,143, 36,201,225,148,
+ 27, 21, 71,211, 52,109,179,217,118,104, 52,154,106,195, 59, 56, 28,215,221,249, 47, 92,235,160,134, 62,237,177, 57,255, 14, 45,
+ 82, 27, 84, 92,109, 88,133, 69,203,177,234,240,145, 84, 64,142,171, 60,105, 55,217,157,124, 82, 5, 37, 72,234, 70,102, 86, 54,
+252,253,196,118,145,101,223, 72, 18,173,163,203, 6,179, 7, 19,211, 16,214, 32, 26, 44,138, 2,139,162, 32, 22,240,144,151,155,
+ 3, 22,139,188, 81, 21,111, 75, 10, 67,135, 54, 9,143,244,243,103, 67, 25,104,130, 66, 94,133, 97,160,157, 15,194, 20, 92,244,
+247,231, 71,180,164, 48,180,122,235, 27,227, 20, 90,102,171, 21,156,215, 94,115, 78, 23,166,196,198, 34, 38, 62, 30,244,144, 33,
+208,153,205,229, 76,197,181, 21, 90, 2,129, 0, 37, 37, 37, 24, 61,122,180,202, 98,177,188, 85,203, 42, 78, 46, 44, 44, 28, 54,
+102,204,152, 66,135,128, 49,155,205, 24, 51,102, 76, 97, 97, 97,225, 48, 55,172, 68,143,192, 98,177,188,213,190,125,123,149, 82,
+169,116,150,179, 54, 13,142, 3, 50,153,236,224,134, 13, 27,100, 70,163, 17, 86,171,213,201, 41, 16, 8, 64, 81, 20, 2, 3, 3,
+177,109,219,182, 64,153, 76, 86,109,206, 42,189, 94,191, 55, 62, 62, 94, 13, 0,241,241,241,106,130, 32, 18, 8,130, 88, 75, 16,
+196,154, 10,219, 90,130, 32, 18, 92,207,213,235,245,123,170,227, 54,153, 76, 9,105,105,105,140, 80, 40, 4, 69, 81, 48,155,205,
+224,243,249, 78,147,120,113,113, 49,244,250,178,105,238,228,228,100, 88, 44,150, 36,119,174,189,164,164,228,248,198,141, 27,109,
+245,234,213, 67,116,116, 52, 98, 98, 98,208,185,115,103, 68, 68, 68, 96,254,252,249,180, 78,167,243,248,217,203,206,206, 62,184,
+125,251,118, 75,120,120, 56,218,181,107, 7, 30,143,135,214,173, 91, 35, 36, 36, 4,139, 22, 45, 50,105, 52,154,195,181,248,155,
+210,175, 94,189, 74, 85, 35,114, 37,112, 99,245,110, 5,100, 92,184,112,129,234,220,185,243,190,138, 7, 58,118,236,184, 79, 44,
+ 22,251, 58, 76,236,158,140,200, 93,197, 21,143,199,115,110,142,207, 89, 44,150, 59,163, 31,178,185, 92,188,225,139,201,125,198,
+189, 16,237,135,125,199,207,129, 99, 86, 3,166,106,102, 4,105, 11, 8,142, 8,114, 95,118,216, 83,208, 7, 76, 7,240, 39,202,
+226, 48,125,128,167, 11, 78,199,247,194,194, 66,164,165,165, 33, 57, 57, 25,157, 59,119, 70, 82, 82, 18,240,151,131,188,199,208,
+104, 52, 31,196,197,197,233, 28, 43,249,230,204,153,163, 47, 41, 41,249,192,211, 54,152, 97, 24,176,217,108, 52,109,218, 20, 51,
+102,204,192,161, 67,135,112,243,230, 77, 88, 44, 22,167, 16,114,248,100,122, 98,209,226,112, 56,144,203,229,176, 88, 44, 78,107,
+ 22, 0,220,190,117, 11, 44, 22, 11, 54,155, 13, 38,147,169, 70,139,150,175,175,239,188,245,235,215, 79, 83, 42,149,138,130,130,
+130, 32,215, 45, 47, 47, 47, 40, 39, 39, 39, 40, 43, 43, 43, 40, 35, 35, 35,232,225,195,135, 65,247,239,223, 87, 44, 89,178,100,
+154,175,175,239, 60,119,202, 73, 81, 20, 90,183,110,141,183,223,126,219,185,173, 90,181,202,185,157, 60,121,210, 99,231,117,138,
+162,208,116,238, 50, 12, 44, 96,156,219,161, 64,194,185, 93,123,127, 82,117,156, 79, 92,139,212, 74,191,216, 87, 27,186, 38,150,
+174, 4,142, 85,135,142,182,204,233,182, 81,209, 25,254,137,193,106, 50,156,184,119,231, 86,159,166, 45, 59,144,185, 74,109,185,
+229,159, 49,189,135,129, 32, 8,132, 54,136, 6,197, 98,129,162, 72,176, 40, 10, 82, 9, 31,105,151, 47,219,140,122,253,137,202,
+ 56,123, 1, 44,174,128,187,234,245,254,173,249,217,220,124, 4, 42, 68,224,176,203,180, 35,115,111, 88,133, 30,130, 5,180,244,
+193,248, 44,127,193,137, 60,195, 42, 63,157,121, 95, 66, 21, 35, 64,155,205, 6, 49,143, 7,131,209, 8,189,213,138,222, 43, 86,
+ 56,167, 11, 73,130,192, 37, 0,173, 86,172,192,233, 93,187, 32,225,114, 1, 30,207,237, 85, 33,149, 9, 45,165, 82,137,177, 99,
+199, 22,230,228,228,188, 81, 27, 31, 45, 7,140, 70,227, 31,185,185,185,111, 12, 27, 54,108,203,238,221,187,101,195,134, 13, 83,
+229,230,230,190,225,166,223,211, 35, 48, 24, 12,187, 50, 50, 50, 74,199,142, 29,187,121,235,214,173,254, 1, 1, 1,206,145, 72,
+173,110, 86,130, 80,246,237,219,151,231,206,121, 53,156, 18,103,119,110,159,108,183,108,181,154, 52,105,210,105,148,249, 95,185,
+ 98,238,186,117,235, 70,184, 76, 49,174, 5,176,162, 58,226,226,226,226, 53, 51,102,204,248,239, 31,127,252, 17,192,231,243, 65,
+ 16, 4, 56, 28, 14, 26, 55,110,236, 92, 69,195,102,179,193, 48, 12,222,123,239, 61,101,126,126,254,215,110,254, 55,147,226,226,
+226,122, 26, 12, 6,191,177, 99,199, 82,124, 62, 31,121,121,121, 88,190,124, 57,253,195, 15, 63,168,117, 58,221,184, 90, 8,225,
+141,159,125,246, 89,111,173, 86,219, 96,226,196,137, 28,141, 70, 3,189, 94,143, 89,179,102,153,190,255,254,251, 76,189, 94,239,
+113,192,223, 46, 93,186,220,121,248,240, 97,247,210,210,210, 34,161, 80, 88,209,218, 71,136, 68,162, 14, 0, 54,123,194, 25, 19,
+ 19,115, 55, 61, 61,189,243,130, 5, 11, 18, 44, 22, 11,251,252,249,243, 78,103,248,149, 43, 87,158,228,243,249,125, 81,197,178,
+232,106,238, 17, 27,143,199, 43,103,193,170,248,158,197, 98,213,216,166, 53, 11, 22, 46,248,226,205,158,227,158,111,238,139,189,
+199, 47, 34,110,207,189, 27, 81,227, 2,155, 54,242, 43,128,173, 32, 13,239,191,222, 30,203,182, 94, 4, 80, 54,117,104,203,191,
+ 6,166,232, 46, 24,159,112,220, 87, 41,179,159,130, 62,224, 36,202, 66,102, 60,109, 40, 39,178,174, 93,187,134, 62,125,250, 0,
+ 0,146,146,146,208,173, 91, 55, 36, 37, 37,161,123,247,238, 30,199,210,178,227,247,226,226,226,135, 39, 79,158,108, 17, 30, 30,
+142, 51,103,206,220, 7,240,187,167,133,116, 8, 45, 22,139,133, 81,163, 70,161, 95,191,126,168, 87,175, 94,185,213,134,142,247,
+158,136, 13,171,213,138,150, 45, 91,194,104, 50,129,195,225, 56,167, 38, 89, 44, 22, 2,131,130,112,231,206, 29,183, 44, 90, 36,
+ 73, 14,127,229,149, 87,200,212,212, 84,140, 28, 57, 18, 91,182,108,169,242,220, 49, 99,198,224,167,159,126,194, 43,175,188, 66,
+126,244,209, 71,213,134,119,112, 56,161,187,115, 77,142,126,186,166,118,191,174, 56,159,180, 22,121, 28,184,132,118,168,116,210,
+164,146,207,226,203, 9, 45,151, 32, 97, 79, 70,104, 89,205, 91,126,249,241,219, 25,157, 87,119, 15, 84, 4,249, 66,165,209, 59,
+197, 86,202,201,157, 0,128,161,147, 22,130, 69,149, 77, 41, 74,196,124, 8, 56, 20,118,109,250, 90,105, 54, 27, 42,189,187, 74,
+216,228,228,143,186, 54,246,229,138, 44, 40, 14,102, 16, 29,248, 87,166, 28,162,193,206, 71, 5, 87, 91, 63, 4, 92, 43,194,235,
+141,196,146,175, 83,213,147, 97,177,173,122,164, 67, 84,171,245,234,203,151, 5, 3,214,175,199,249, 55,222, 64, 40, 77, 35, 33,
+ 36, 4, 50, 54, 27,190, 60, 30, 72,130,128,254,192, 1,156,222,189, 27,114, 30, 15,240,241,129,117,254,124, 24,211,210, 96, 41,
+ 41,209,215, 98,100,134, 17, 35, 70, 40,149, 74,229, 48,147,201,244,199,227,214,179, 94,175, 63,146,145,145, 49,185, 75,151, 46,
+171, 45, 22,203, 91,122,189,254,177, 86, 70,153, 76,166, 35,185,185,185,175,141, 24, 49, 98,231,158, 61,123, 2,164, 82,105,173,
+185, 10, 11, 11,219,215,209,237,100, 3,240,137,221,185,125,114,108,108,172,244,194,133, 11,255,221,176, 97,195,106,151,209, 68,
+208,132, 9, 19,222,172, 32,178,106, 92,117, 8, 32, 61, 63, 63,127,254,204,153, 51, 23,126,245,213, 87, 98,135,227,251,149, 43,
+ 87, 96,181, 90,193,102,179, 65,211, 52, 38, 76,152,160, 45, 44, 44, 92,134,170, 35, 58, 63,114,107, 21, 23, 23, 55, 94,176, 96,
+193,134, 21, 43, 86,244,163, 40, 74, 68,211,180,174,180,180, 52,193, 96, 48,140, 67,237,226,104,217, 10, 10, 10,198,126,250,233,
+167, 99,151, 47, 95,254, 10, 73,146, 65, 86,171, 85, 89, 82, 82,178, 95,175,215,127,143, 90, 76, 37,157, 57,115,166,224,245,215,
+ 95,191, 87, 80, 80,208, 44, 44, 44, 76, 35, 22,139, 77, 38,147,137, 18, 8, 4, 18,145, 72, 20, 3,224, 12, 65, 16,215, 61,225,
+ 76, 73, 73,201,157, 56,113,226, 3,163,209,216,116,237,218,181,137, 18,137,228, 56, 65, 16, 4,135,195,241, 19, 8, 4,125, 0,
+ 36, 16, 4,113,219, 19, 78,146, 36,109,174,214,171,138,254, 89, 92, 46,215, 45, 31,173, 6,129,194,241,253, 26,179,176,247,196,
+ 69,196,237, 77,223, 72, 51,204,238,221, 41, 69, 7, 62,232, 6,152,119,188,142,214,195, 54,151, 77, 23, 2,176,229, 95,131,121,
+199, 24, 16,194, 0, 36,102,177,161,209,155, 15,194,139,202,224, 12,239,160, 84, 42,145,154,154,234, 16, 89, 49, 0,208,189,123,
+247, 20,135,216, 74, 78, 78, 70,187,118,237, 82, 0,176, 61,189, 95,139,139,139,103,142, 30, 61,250,136,125,112, 60,179, 22, 3,
+ 63,167,208,114, 8,170,122,245,234, 57,247, 93, 55, 23, 31, 45,183, 64,211, 52, 56, 28, 14, 88, 44, 22, 20, 33, 33,206,223, 98,
+ 24, 6,119,238,220,129, 74,165,114, 75,104, 81, 20, 69, 17, 4,129,145, 35,221, 91,144,252,159,255,252, 7, 9, 9, 9,160,220,
+ 84,133, 20, 69, 33, 50, 50,178,198,115, 28,186,212, 93,206,176,176,176, 90,115, 62,105, 45, 82, 91,129, 85,217,251,202, 68, 85,
+ 85, 15,196,223,133,108,173, 86,243,201,166,245, 43,191,154, 48,229, 61,241,181,187,121,208,104,141,160, 40,210,181,241, 4,139,
+ 69, 65, 34,226, 35, 60,216, 23, 91,191,251, 95, 73, 73,177,250, 83, 84,145,247,176,158, 15,103, 82,223, 14,141,120, 28,133, 14,
+ 77, 91,141, 0,197,255, 75, 4, 48,185, 85,204, 14,118,251, 13, 47,166,235,248,191,164,235, 38, 93, 42, 50, 61, 42,180, 76,166,
+ 23,230,244,239,255,107,220,161, 67,194,142, 27, 55,226,238,132, 9, 8,209,235,193,179, 79, 37,146, 4, 1, 49,135, 3, 49,135,
+ 83, 38,178,150, 47,135,222,106,197,138, 55,222, 40, 53,154, 76,253, 61,121,200, 11, 11, 11, 49,100,200,144,130,236,236,236,129,
+168,197,212, 94, 85,208,233,116,187, 0,236,170, 43, 62,163,209,248, 71,102,102,230,139, 67,134, 12, 57,116,228,200,145,192,167,
+ 36,200,156, 67,108,153, 47, 92,184,240,102, 98, 98,226, 93,148, 79, 44,170, 78, 76, 76,188, 59,113,226, 68, 98,195,134, 13,223,
+ 3,248, 12,110, 6,240,212,233,116, 43,143, 30, 61,138,158, 61,123,126,182,120,241, 98,255,246,237,219, 35, 40, 40, 8, 37, 37,
+ 37, 72, 78, 78,198,244,233,211, 85,197,197,197,139,213,106,245, 87, 30,150,217,108, 52, 26,199,184, 46,165,174,139,122, 48, 26,
+141, 63,228,228,228,252, 80, 87,132, 83,167, 78,189,114,231,206,157,194,192,192,192, 78, 28, 14,167, 21,202,252,128,114, 1,124,
+239,169, 32,114, 96,202,148, 41,151,239,220,185,163, 12, 13, 13,237,108,231,148,162, 44,141,209,250, 90,112,102, 95,188,120, 49,
+172, 67,135, 14, 36,155,205,102, 40,138, 2,155,205,102, 88, 44, 22, 99,247,171, 97, 0, 96,255,254,253, 60, 0,213,166,205,185,
+155,175, 95, 48,230,127,167, 62,186,158,107,216,157,150, 87, 58, 3, 0,179,227,154,240,183,214,129,212, 11, 47, 52,201,132, 49,
+190, 59, 8, 73, 89,160, 74, 70,155, 3, 66, 36, 71,166, 45, 20,115,247,221,200,181,130, 88,234,213, 84,149,143,171, 97, 15,239,
+144,147,147,227, 42,178, 28, 86,171,152,238,221,187,167,216, 69,150,227, 88,109,252,203,142,217,108,182,199,234,195, 24,134, 65,
+ 92, 92, 28,214,173, 91,135,154, 34,154,219, 87,247, 17, 53,241, 57, 44, 90, 52, 77,195,108, 54,227,218,181,107,206,152, 93,142,
+233, 66, 71,104, 7,171,213, 90,237,106,117,154,166,105,147,201,132,159,127,254,217, 45,177,181,109,219, 54, 24, 12, 6,208, 53,
+ 40, 56,215, 80, 12,109,218,180,129, 74,165,114, 46,246,137,137,249, 43, 84,158,217,108,246, 72,184, 58, 56,155, 54,109, 10,165,
+ 82, 9,135,191,112,248, 27,127, 25,123,172, 58,221,191,245,190,175,210,162,245,183,247,152, 60,161,228, 72,251,174,253,186,189,
+241,230,116,145,214, 72,227,193,131,135, 40,200,207, 1, 73,144, 80,132,134, 33, 34, 34, 18, 2, 46,137, 45,241, 95,233, 82, 78,
+ 31, 63,165, 45, 41, 26, 80, 21,215, 32,223,255,107,239,108, 98,219, 40,162, 56,254,223,117,252,145,164,117, 12,235,184,144,130,
+132,107, 75, 77,133, 64,168, 80, 33, 80, 36,108, 65, 64, 28, 16,135,208, 54, 7, 90,110,149,162, 34,144,122,171,132, 84,163,158,
+ 56, 68, 37, 72,225, 16,113, 33,226,196, 33,135,170, 7,135, 15,149, 28, 40, 32, 4, 82, 32,253, 74, 85,197,170, 72,237, 56, 45,
+113,140,227, 38,246,122,135,131,189,210,118,179,235,122,227, 55,182, 55,218,191,180,202,135,162, 95,222,204,123, 35,191,153,217,
+121,227,249,249,194,123, 67,175, 68,163,126, 1,114, 25,168,148, 1,185, 12, 40,181,175,234,239,148,135, 99,110, 97, 97,141,157,
+253,243,254, 47,151,114, 37,195, 59,171,142, 2, 67,143, 73, 82, 50,113,241, 98,175, 82, 42,225,222,153, 51,232,149,101,116,215,
+102, 37,213,134,248, 32,159, 63, 95, 77,178, 78,156,216,200,173,173, 89,186,130,167,191,191,255,119, 65, 16,250,179,217,172,173,
+ 42,195,135, 66,161, 75,140,177,213,213,213,213, 35, 29,100,215, 62, 0,107, 0, 74, 6, 19,137, 16,172,191,255,163, 42, 28, 10,
+133,206,138,162,248, 42, 99, 44, 40,138,226,191,138,162, 92, 89, 89, 89,249, 12,192, 45,231,243,180,109, 82, 43,195, 31,120,196,
+223,173, 0,248, 24,213,151,130,151, 26,133,191, 16, 8, 4, 54,189,229,153,119,159,243,197,143,189, 24, 64,228, 73, 63,220,158,
+110, 44,175,203,248,254,234, 58,190,186,156,190, 83, 44, 87,222,185,153,221,248,203,113, 69, 93,145, 95,193, 67, 41, 73,146,126,
+ 77, 38,147, 71, 34,145,136,168,125,225, 93,173,149,167,110,111,117,117, 85,115,185,185,185, 57,121,116,116,244, 74, 38,147,121,
+205,140,233,247,251,103,231,231,231,223,204,229,114,219, 18, 42,109,165,120,245,231, 66,161,128,177,177,177,239,204,174,224, 9,
+ 4, 2, 23,198,199,199, 63, 26, 25, 25, 17,213,114, 20,218, 71,189, 46, 72,125, 74,165, 18,166,167,167,149,137,137,137, 47,114,
+185,156,233,214,225,192,192,192,157,229,229,229,167,213, 82, 11,141, 20, 21, 13,135,195,119, 83,169,212,254, 86, 50,109,156,112,
+ 77,105, 19,239,182, 44, 77,184,123,122, 78,251,247, 62,126,110,228,253, 15,131,225,232, 65,225,137,129,167, 32, 64, 68, 38,253,
+ 15, 82,183,111,178,153,111, 38,239, 21,214,239,127, 90, 44, 22, 38,235,113,158, 5,162, 7,250, 60,223,122, 43, 24,132,154, 0,
+233,238,167,218, 54,227, 0, 80,114,139,215,151,242,229,227, 87,235,108,251,168,201,214, 39, 51, 51,189,222,193,193,109,133,226,
+ 20, 69,193,230,181,107,248,252,228, 73,203, 73,150, 35, 71,142, 72, 20,193,163,107,100,149, 81,173,207,101,117,197, 68, 56,180,
+111,207,113, 6, 28, 19,161, 60, 47, 10,130, 87,102,184, 1,134,217,222,174,141, 47,255,184,139,162,211,253, 13,169, 99, 47,149,
+ 6,176, 71,146,164, 31, 92, 46,215, 51,234,138,140,118,181,222,224, 66,233,165, 76, 38,243, 6,128,122, 39,132,163,126,191,127,
+178, 82,169,188,220,200,165,210, 46,151,235,183,124, 62,127, 26,117, 46,149,230,113,234, 48, 24, 12,222, 74,165, 82, 81,245, 20,
+181,246,179,210,232,100,249,226,226, 34, 98,177, 88, 42,157, 78,135, 91,201,236, 84,153,156, 58, 60,101,224,227,246,172,104,105,
+180,223,227,219,251,129,183,167,251,117,165, 44, 31,130, 0,116,185,221,215,183, 30, 20,127,220, 44,254,247, 53, 76,182, 11, 91,
+169,163,192,144,207,235,157,245,244,245,245, 24, 37,109,229,124,190,184,185,181,245,150,147,100, 57,114,228,200,145, 35, 27,105,
+ 80,146,164,164,219,237,246,105,147, 73,253,247,170,100, 89,126,144,205,102,223, 6,112,163,197, 76, 91,203, 74, 17,243,135,100,
+241, 37,181,225, 70,153,181, 39,214,233, 76,142,109,103,132,204, 88,141,153,176,137,157,177, 78,101,170,237,181,192, 29,182, 18,
+ 71, 84,253,169,177,147, 81,219,201,139, 73, 53,142, 12,236,100, 28,252,158,176,137,157,177, 78, 99,234,227,167, 65,174, 37,102,
+131, 49,101,213, 78, 70,109, 39, 47,102,179,227,168,142,157,172,217, 88, 50,241,125, 2, 54,212,194, 97,176,133,195, 96,127,191,
+100, 88,183,209,104, 69, 11,140, 49,107, 47,195,243, 58, 9,160,150,221,175,241,133, 78,101,106,251,129,242,170, 0, 14,215, 14,
+ 92,166,102,234,250,147, 74,137,218, 9,147,159,208, 64,193, 81, 43,109,167,240,187,174,173, 36,220, 29, 36, 89,150,152, 84,113,
+207,155, 73, 53,150,244, 76,138,184, 55,242, 59, 71, 31, 81,217, 73, 50,150,120,196,188, 65,252, 52,205,213, 51, 41,198,146,158,
+ 73, 17,247,173, 96, 82,140, 37, 35, 38, 69,220,155,249,222,174, 43, 84,234,118, 97,173,196,131,208, 64,178, 53, 5, 0,226, 78,
+ 58,141,135,120, 92, 36, 73,157, 16,241, 74, 54, 45,172,192,180,157, 73,236,163, 68,141, 73, 57,187,137, 83,249,136, 71,188,107,
+153, 84,124, 61,135,194, 79, 70,204,102,237, 53,177,147,188,237,205,198,125,171,152,196, 62, 34, 25, 75, 58,102,156,120, 50, 16,
+215,252,156,160,100, 82,141, 37, 3, 59,155,246,147, 17,179, 89,123, 77,236, 36,111, 59,197,103, 8, 47,110, 59, 87,180,152,104,
+ 26, 19, 83,186,167, 37,137, 70,219,182,228, 44,178,119, 21,211,226,246,204, 48, 7,223,183,213, 78, 74,166,222, 70,202,237, 30,
+158,118, 82, 50, 45,216,186,235,152,118,243,123, 39,246,167, 25,175,153,109, 41,179,213, 81, 30,118, 82, 50, 27,100,239, 10,102,
+ 19,190,223, 53,218,209,214, 33, 79,169, 29, 79, 60, 51, 1,241, 10, 12,183,118, 19,219, 25,231,177, 66,200, 65,228,118,214,102,
+202,231, 56,180,221, 46,125,234,140, 37,103, 44,117,220, 88,210,197,100,156,112,165,136,116,229, 89,207,164,248, 31, 90, 6, 85,
+140,242,110, 59,229, 88,226,225,123,187,233,127,210, 11,149,201, 8, 25,190, 81, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130,
0};
diff --git a/source/blender/editors/datafiles/preview.blend.c b/source/blender/editors/datafiles/preview.blend.c
index b27fbd328bd..77749fd6592 100644
--- a/source/blender/editors/datafiles/preview.blend.c
+++ b/source/blender/editors/datafiles/preview.blend.c
@@ -1,586 +1,750 @@
-/** \file blender/editors/datafiles/preview.blend.c
- * \ingroup eddatafiles
- */
-/* DataToC output of file <preview_blend> */
+/* DataToC output of file <preview1_blend> */
-int datatoc_preview_blend_size= 586384;
+int datatoc_preview_blend_size= 495540;
char datatoc_preview_blend[]= {
- 66, 76, 69, 78, 68, 69, 82, 95,118, 50, 53, 48, 82, 69, 78, 68,
- 32, 0, 0, 0, 16,244, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 20, 0, 0, 0,112,114,101,118,105,101,119, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66, 32, 0, 0, 0,160,243, 34, 0,186, 0, 0, 0,
- 1, 0, 0, 0, 32, 32, 32, 48, 0, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1, 32, 95,178, 3,160, 63,179, 3, 0, 0, 0, 0,
- 64, 0, 0, 0, 87, 77, 0, 0,140, 0, 0, 0,152, 93,178, 3, 76, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 94,178, 3,240,207, 72, 1, 88, 94,178, 3, 88, 94,178, 3, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
- 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 84, 72, 1,
-216, 15,158, 3, 68, 65, 84, 65,148, 0, 0, 0, 88, 94,178, 3, 77, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 15, 75, 1, 1, 0, 0, 0, 0, 0, 0, 0, 32, 95,178, 3, 0, 0, 0, 0,115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,120, 7,149, 4, 0, 0, 0, 0,
- 1, 0,238, 3, 0, 0, 1, 0, 0, 0, 0, 0,200,110, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-144,222,154, 3, 0, 0, 0, 0, 0, 0, 0, 0, 16, 79,156, 3,136, 37,159, 3,128, 85, 72, 1,248, 50, 72, 1,184,117, 74, 1,
- 56, 20,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,140, 0, 0, 0, 32, 95,178, 3,178, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82,115, 99,114,101,101,110, 0, 45, 83, 99,114,105,112,116,
-105,110,103, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,225,155, 3, 88,217,155, 3,120,225,154, 3,
-224,239,157, 3,224,225,153, 3,112, 13,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,160, 63,179, 3, 0, 0, 0, 0, 0, 0, 1, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 87, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 24,225,155, 3,179, 0, 0, 0, 1, 0, 0, 0,
- 8, 2,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 8, 2,156, 3,
-179, 0, 0, 0, 1, 0, 0, 0, 80, 16,156, 3, 24,225,155, 3, 0, 0, 0, 0, 0, 0,149, 4, 0, 0, 0, 0, 68, 65, 84, 65,
- 20, 0, 0, 0, 80, 16,156, 3,179, 0, 0, 0, 1, 0, 0, 0, 48,225,154, 3, 8, 2,156, 3, 0, 0, 0, 0,120, 7,149, 4,
- 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 48,225,154, 3,179, 0, 0, 0, 1, 0, 0, 0, 48, 11,156, 3, 80, 16,156, 3,
- 0, 0, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 48, 11,156, 3,179, 0, 0, 0, 1, 0, 0, 0,
-224,239,156, 3, 48,225,154, 3, 0, 0, 0, 0, 0, 0,120, 4, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,224,239,156, 3,
-179, 0, 0, 0, 1, 0, 0, 0,232,206,159, 3, 48, 11,156, 3, 0, 0, 0, 0,120, 7,120, 4, 1, 0, 0, 0, 68, 65, 84, 65,
- 20, 0, 0, 0,232,206,159, 3,179, 0, 0, 0, 1, 0, 0, 0,136, 3,156, 3,224,239,156, 3, 0, 0, 0, 0, 8, 6, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,136, 3,156, 3,179, 0, 0, 0, 1, 0, 0, 0, 0,219,155, 3,232,206,159, 3,
- 0, 0, 0, 0, 8, 6,120, 4, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 0,219,155, 3,179, 0, 0, 0, 1, 0, 0, 0,
- 0,177,154, 3,136, 3,156, 3, 0, 0, 0, 0,192, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 0,177,154, 3,
-179, 0, 0, 0, 1, 0, 0, 0,144, 72,160, 3, 0,219,155, 3, 0, 0, 0, 0,192, 3,120, 4, 1, 0, 0, 0, 68, 65, 84, 65,
- 20, 0, 0, 0,144, 72,160, 3,179, 0, 0, 0, 1, 0, 0, 0,216, 12,156, 3, 0,177,154, 3, 0, 0, 0, 0,192, 3, 44, 3,
- 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,216, 12,156, 3,179, 0, 0, 0, 1, 0, 0, 0, 40,175,163, 3,144, 72,160, 3,
- 0, 0, 0, 0, 8, 6, 44, 3, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 40,175,163, 3,179, 0, 0, 0, 1, 0, 0, 0,
- 88,217,155, 3,216, 12,156, 3, 0, 0, 0, 0,192, 3,100, 3, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 88,217,155, 3,
-179, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40,175,163, 3, 0, 0, 0, 0, 8, 6,100, 3, 0, 0, 0, 0, 68, 65, 84, 65,
- 24, 0, 0, 0,120,225,154, 3,180, 0, 0, 0, 1, 0, 0, 0,224, 7,156, 3, 0, 0, 0, 0, 8, 2,156, 3, 80, 16,156, 3,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224, 7,156, 3,180, 0, 0, 0, 1, 0, 0, 0,160, 31,160, 3,
-120,225,154, 3, 8, 2,156, 3, 48, 11,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,160, 31,160, 3,
-180, 0, 0, 0, 1, 0, 0, 0, 8, 5,156, 3,224, 7,156, 3, 80, 16,156, 3,224,239,156, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 0, 0, 0, 8, 5,156, 3,180, 0, 0, 0, 1, 0, 0, 0,224,112,155, 3,160, 31,160, 3, 48, 11,156, 3,
-224,239,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224,112,155, 3,180, 0, 0, 0, 1, 0, 0, 0,
- 8, 64,158, 3, 8, 5,156, 3, 48,225,154, 3,232,206,159, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
- 8, 64,158, 3,180, 0, 0, 0, 1, 0, 0, 0,144,215,163, 3,224,112,155, 3,136, 3,156, 3,224,239,156, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,144,215,163, 3,180, 0, 0, 0, 1, 0, 0, 0, 16, 74,160, 3, 8, 64,158, 3,
-136, 3,156, 3,232,206,159, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 16, 74,160, 3,180, 0, 0, 0,
- 1, 0, 0, 0,136, 9,156, 3,144,215,163, 3, 48,225,154, 3,224,239,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 24, 0, 0, 0,136, 9,156, 3,180, 0, 0, 0, 1, 0, 0, 0, 16, 71,160, 3, 16, 74,160, 3, 24,225,155, 3, 48, 11,156, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 16, 71,160, 3,180, 0, 0, 0, 1, 0, 0, 0,184,240,159, 3,
-136, 9,156, 3, 0,219,155, 3, 24,225,155, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,184,240,159, 3,
-180, 0, 0, 0, 1, 0, 0, 0,136,128,154, 3, 16, 71,160, 3, 0,219,155, 3,232,206,159, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 0, 0, 0,136,128,154, 3,180, 0, 0, 0, 1, 0, 0, 0,168,220,155, 3,184,240,159, 3, 0,177,154, 3,
- 48, 11,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,168,220,155, 3,180, 0, 0, 0, 1, 0, 0, 0,
-248, 17,156, 3,136,128,154, 3, 0,177,154, 3,136, 3,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
-248, 17,156, 3,180, 0, 0, 0, 1, 0, 0, 0,136, 46,155, 3,168,220,155, 3, 0,177,154, 3, 0,219,155, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136, 46,155, 3,180, 0, 0, 0, 1, 0, 0, 0, 32,205,155, 3,248, 17,156, 3,
- 0,219,155, 3,144, 72,160, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32,205,155, 3,180, 0, 0, 0,
- 1, 0, 0, 0,224, 95,178, 3,136, 46,155, 3,216, 12,156, 3,232,206,159, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 24, 0, 0, 0,224, 95,178, 3,180, 0, 0, 0, 1, 0, 0, 0,224,111,159, 3, 32,205,155, 3,216, 12,156, 3,144, 72,160, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224,111,159, 3,180, 0, 0, 0, 1, 0, 0, 0,224,239,157, 3,
-224, 95,178, 3, 0,177,154, 3,144, 72,160, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224,239,157, 3,
-180, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,224,111,159, 3,136, 3,156, 3,216, 12,156, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,112, 0, 0, 0,224,225,153, 3,184, 0, 0, 0, 1, 0, 0, 0, 16,102,155, 3, 0, 0, 0, 0, 48, 11,156, 3,
- 8, 2,156, 3, 80, 16,156, 3,224,239,156, 3, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0,121, 4, 0, 0,149, 4, 0, 0,
- 7, 7,121, 7, 29, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-248,193, 65, 1, 64, 63,179, 3, 64, 63,179, 3,216, 56,155, 3, 40, 96,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,200, 89,154, 3,
-128,144, 74, 1, 68, 65, 84, 65,236, 0, 0, 0,216, 56,155, 3,185, 0, 0, 0, 1, 0, 0, 0, 40, 96,178, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64,103, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,239, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,213, 68, 0, 0,200, 65, 0,192,213, 68, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,121, 7, 26, 0,121, 7, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0,121, 4, 0, 0,146, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,121, 7, 26, 0, 2, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32,195, 65, 1, 8,235,154, 3, 8,235,154, 3, 0, 0, 0, 0, 0, 0, 0, 0, 88,204,163, 3, 8,153, 71, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 40, 96,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216, 56,155, 3,
- 0, 0, 0, 0, 0,240,107, 69, 0,128,206,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,109, 69, 0, 0, 32,192, 0, 0, 0,191,
-104, 7, 0, 0,121, 7, 0, 0, 18, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,103, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,103, 7, 0, 0, 18, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 3, 0, 2, 0, 0, 4, 6, 0,121, 7, 3, 0,104, 7, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0,147, 4, 0, 0,149, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,121, 7, 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-144,194, 65, 1, 32,142, 78, 1,136,236,154, 3, 72, 97,178, 3, 24,100,178, 3,128,153, 71, 1,112,154, 71, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 72, 97,178, 3,181, 0, 0, 0, 1, 0, 0, 0,176, 98,178, 3, 0, 0, 0, 0,
-128,118,159, 3, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,116, 97, 98,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,116, 97, 98,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,208, 14, 36, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,176, 98,178, 3,181, 0, 0, 0,
- 1, 0, 0, 0, 24,100,178, 3, 72, 97,178, 3,224,166,160, 3, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,118,105,101,119,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,118,105,101,119,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,254,208, 14, 98, 1, 0, 0, 0, 0,
- 0, 0, 10, 0, 0, 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,
+ 66, 76, 69, 78, 68, 69, 82, 45,118, 50, 53, 56, 82, 69, 78, 68, 32, 0, 0, 0,
+ 0,117,192,137,255,127, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 20, 0, 0, 0,112,114,101,118,105,101,119, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66, 32, 1, 0, 0, 16,116,192,137,255,127, 0, 0,
+199, 0, 0, 0, 1, 0, 0, 0, 32, 32, 32, 49, 1, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1,248,239, 48, 3, 0, 0, 0, 0,
+ 40,147, 49, 3, 0, 0, 0, 0, 0, 0, 0, 2, 64, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,100,115,107, 47,100, 97,116,
+ 97, 47,115,114, 99, 47, 98,108,101,110,100,101,114, 47, 98,108,101,110,100,101,114, 47,115,111,117,114, 99,101, 47, 98,108,101,
+110,100,101,114, 47,101,100,105,116,111,114,115, 47,100, 97,116, 97,102,105,108,101,115, 47,112,114,101,118,105,101,119, 49, 46,
+ 98,108,101,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 24, 1, 0, 0, 40,217, 31, 3, 0, 0, 0, 0,106, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200,239, 16, 3, 0, 0, 0, 0,200,239, 16, 3, 0, 0, 0, 0,200,239, 16, 3, 0, 0, 0, 0,
+200,239, 16, 3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,136, 85, 3, 2, 0, 0, 0, 0,136, 85, 3, 2, 0, 0, 0, 0,136, 85, 3, 2, 0, 0, 0, 0,
+ 72, 26,251, 2, 0, 0, 0, 0, 72, 26,251, 2, 0, 0, 0, 0, 72, 26,251, 2, 0, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,
+200,239, 16, 3, 0, 0, 0, 0,107, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+176,162,211, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,248,239, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+115, 99,114,101,101,110, 0, 0, 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, 6, 0,126, 7, 28, 4, 0, 0, 0, 0, 1, 0, 5, 0,238, 3, 5, 0, 1, 0, 0, 0,168,128, 3, 2, 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, 0,104,169, 3, 3, 0, 0, 0, 0,
+ 40, 31, 17, 3, 0, 0, 0, 0, 40, 31, 17, 3, 0, 0, 0, 0,104, 29,251, 2, 0, 0, 0, 0,200, 27,251, 2, 0, 0, 0, 0,
+152, 28,251, 2, 0, 0, 0, 0,152, 28,251, 2, 0, 0, 0, 0,184, 50,251, 2, 0, 0, 0, 0,248,253, 57, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,248,239, 48, 3, 0, 0, 0, 0,
+193, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 82,115, 99,114,101,101,110, 0, 45, 83, 99,114,105,112,116,105,110,103, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,248,241, 48, 3, 0, 0, 0, 0,
+104,242, 48, 3, 0, 0, 0, 0, 72,250, 48, 3, 0, 0, 0, 0,184,250, 48, 3, 0, 0, 0, 0, 88,135, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,147, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 85,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 88, 11,223, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+ 88, 11,223, 1, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0,
+194, 0, 0, 0, 1, 0, 0, 0,248,196, 20, 3, 0, 0, 0, 0, 88, 11,223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 28, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,196, 20, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
+120,181, 20, 3, 0, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,120,181, 20, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0,
+248,196, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+248,152,192, 1, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,120,181, 20, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 1, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,
+194, 0, 0, 0, 1, 0, 0, 0,248,137, 17, 3, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 16, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,137, 17, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
+ 40,148, 17, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 6, 1, 4, 1, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0, 40,148, 17, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,
+248,137, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+168,185, 3, 2, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0, 40,148, 17, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 1, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0,
+194, 0, 0, 0, 1, 0, 0, 0, 24,241, 48, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+196, 3,216, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,241, 48, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
+136,241, 48, 3, 0, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 6,216, 2, 0, 0, 0, 0,
+ 68, 65, 84, 65, 32, 0, 0, 0,136,241, 48, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248,241, 48, 3, 0, 0, 0, 0,
+ 24,241, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 12, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
+248,241, 48, 3, 0, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,241, 48, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 6, 12, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,242, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,216,242, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0,
+ 88, 11,223, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,242, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 72,243, 48, 3, 0, 0, 0, 0,104,242, 48, 3, 0, 0, 0, 0, 88, 11,223, 1, 0, 0, 0, 0,
+120,181, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,243, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,184,243, 48, 3, 0, 0, 0, 0,216,242, 48, 3, 0, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0,
+248,152,192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,243, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 40,244, 48, 3, 0, 0, 0, 0, 72,243, 48, 3, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0,
+120,181, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,244, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,152,244, 48, 3, 0, 0, 0, 0,184,243, 48, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,
+248,196, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,244, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 8,245, 48, 3, 0, 0, 0, 0, 40,244, 48, 3, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0,
+248,137, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,245, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,120,245, 48, 3, 0, 0, 0, 0,152,244, 48, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,
+248,137, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,245, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,232,245, 48, 3, 0, 0, 0, 0, 8,245, 48, 3, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0,
+248,196, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,245, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 88,246, 48, 3, 0, 0, 0, 0,120,245, 48, 3, 0, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,
+120,181, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,246, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,200,246, 48, 3, 0, 0, 0, 0,232,245, 48, 3, 0, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,
+ 40,148, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,246, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 56,247, 48, 3, 0, 0, 0, 0, 88,246, 48, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,
+ 40,148, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,247, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,168,247, 48, 3, 0, 0, 0, 0,200,246, 48, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,
+120,181, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,247, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 24,248, 48, 3, 0, 0, 0, 0, 56,247, 48, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,
+248,137, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,248, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,136,248, 48, 3, 0, 0, 0, 0,168,247, 48, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,
+ 40,148, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,248, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,248,248, 48, 3, 0, 0, 0, 0, 24,248, 48, 3, 0, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0,
+ 40,148, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,248, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,104,249, 48, 3, 0, 0, 0, 0,136,248, 48, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0,
+ 24,241, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,249, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0,216,249, 48, 3, 0, 0, 0, 0,248,248, 48, 3, 0, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0,
+ 24,241, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,249, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 72,250, 48, 3, 0, 0, 0, 0,104,249, 48, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,
+248, 34, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,250, 48, 3, 0, 0, 0, 0,
+195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,249, 48, 3, 0, 0, 0, 0,248,137, 17, 3, 0, 0, 0, 0,
+ 24,241, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,250, 48, 3, 0, 0, 0, 0,
+197, 0, 0, 0, 1, 0, 0, 0,104, 3, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,181, 20, 3, 0, 0, 0, 0,
+ 88, 11,223, 1, 0, 0, 0, 0, 24,145,192, 1, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,126, 7, 0, 0, 2, 4, 0, 0, 28, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0,
+184, 96,194, 1, 0, 0, 0, 0, 40,214,222, 1, 0, 0, 0, 0, 40,214,222, 1, 0, 0, 0, 0,168,251, 48, 3, 0, 0, 0, 0,
+ 24,253, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 75, 8, 2, 0, 0, 0, 0,
+104,103, 7, 2, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,251, 48, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 24,253, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,156, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,126, 7, 0, 0, 2, 4, 0, 0, 27, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+127, 7, 26, 0, 16, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200, 98,194, 1, 0, 0, 0, 0, 56,178, 56, 3, 0, 0, 0, 0, 56,178, 56, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88,146, 49, 3, 0, 0, 0, 0,216,165, 24, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,253, 48, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,168,251, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,107, 69, 0,128,206,195, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,192,237, 68, 0, 0, 0, 0, 0,192,121, 68,110, 7, 0, 0,127, 7, 0, 0, 0, 0, 0, 0,230, 3, 0, 0,
+ 0, 0, 0, 0,103, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,109, 7, 0, 0, 0, 0, 0, 0,230, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3,
+ 2, 0, 0, 4, 10, 0,127, 7,231, 3,110, 7,231, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 28, 4, 0, 0, 28, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216, 97,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,254, 48, 3, 0, 0, 0, 0,
+200, 1, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,136,254, 48, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
+ 40, 0, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 73, 78, 70, 79, 95, 80, 84, 95,116, 97, 98,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 73, 78, 70, 79, 95, 80, 84, 95,116, 97, 98,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,220,255,208, 14, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,
+ 40, 0, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,200, 1, 49, 3, 0, 0, 0, 0,136,254, 48, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,118,105,101,119, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 78, 70, 79, 95, 80, 84, 95,118,105,101,119, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,254,208, 14, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0, 24,100,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,176, 98,178, 3,176,159,155, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,200, 1, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73, 78, 70, 79, 95, 80, 84, 95, 98,111,116,116,111,109, 98, 97,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
73, 78, 70, 79, 95, 80, 84, 95, 98,111,116,116,111,109, 98, 97,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 86,254,208, 14, 36, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0, 16,102,155, 3,184, 0, 0, 0, 1, 0, 0, 0,144,214, 76, 1,
-224,225,153, 3,232,206,159, 3,136, 3,156, 3,224,239,156, 3, 48,225,154, 3, 0, 0, 0, 0, 9, 6, 0, 0,120, 7, 0, 0,
- 0, 0, 0, 0,119, 4, 0, 0, 4, 4,112, 1,120, 4, 2, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128,191, 65, 1,232,232,160, 3, 56,186,178, 3,128,101,178, 3,160,102,178, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 40, 50,155, 3, 72,155, 71, 1, 68, 65, 84, 65,236, 0, 0, 0,128,101,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
-160,102,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,184, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,164, 67, 0, 0,200, 65,
- 0,128,164, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,112, 1,
- 26, 0,112, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 6, 0, 0,120, 7, 0, 0, 94, 4, 0, 0,119, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 1, 26, 0, 4, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104,193, 65, 1,144,128,163, 3,144,128,163, 3, 0, 0, 0, 0, 0, 0, 0, 0,168,155, 71, 1,
-152,156, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,160,102,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,128,101,178, 3, 0, 0, 0, 0, 0,128,177, 67, 0,160,143,196, 0, 0, 0, 0, 0, 0, 0, 0, 22, 12,186, 67,
-116,195,145,196, 0, 0, 0, 0, 95, 1, 0, 0,112, 1, 0, 0, 18, 0, 0, 0, 93, 4, 0, 0, 0, 0, 0, 0, 94, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 94, 1, 0, 0, 18, 0, 0, 0, 93, 4, 0, 0, 0, 0,128, 67, 0, 0, 40, 66,
- 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 3, 0, 2, 0, 0, 4, 6, 0,112, 1,
- 94, 4, 95, 1, 76, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 6, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 93, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 1, 94, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24,192, 65, 1,240,146,203, 3,112, 73,163, 3,192,103,178, 3, 88,147,178, 3, 96,158, 71, 1,
- 80,159, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,192,103,178, 3,181, 0, 0, 0, 1, 0, 0, 0,
- 40,105,178, 3, 0, 0, 0, 0,168,192, 65, 1, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,
-120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,
-120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,116, 1, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
- 40,105,178, 3,181, 0, 0, 0, 1, 0, 0, 0,144,106,178, 3,192,103,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 86,254,208, 14, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255,
-240, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,144,106,178, 3,181, 0, 0, 0, 1, 0, 0, 0,248,107,178, 3, 40,105,178, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
+104, 3, 49, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,248, 79, 49, 3, 0, 0, 0, 0,184,250, 48, 3, 0, 0, 0, 0,
+184,154, 3, 2, 0, 0, 0, 0,248,137, 17, 3, 0, 0, 0, 0,248,152,192, 1, 0, 0, 0, 0,248,196, 20, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 4, 4,110, 1, 1, 4, 2, 0,
+ 0, 0, 0, 0, 7, 0, 0, 0, 88, 92,194, 1, 0, 0, 0, 0,184, 78, 49, 3, 0, 0, 0, 0,184, 78, 49, 3, 0, 0, 0, 0,
+ 88, 4, 49, 3, 0, 0, 0, 0,200, 5, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72,142, 25, 3, 0, 0, 0, 0,184, 10, 25, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 4, 49, 3, 0, 0, 0, 0,
+198, 0, 0, 0, 1, 0, 0, 0,200, 5, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,183, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 1, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128,182, 67, 0, 0,200, 65, 0,128,182, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,110, 1, 26, 0,110, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17, 6, 0, 0,126, 7, 0, 0,231, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,110, 1, 26, 0, 17, 0, 1, 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,200, 95,194, 1, 0, 0, 0, 0,248,170, 28, 3, 0, 0, 0, 0,248,170, 28, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,148,243, 3, 0, 0, 0, 0,184,236, 3, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200, 5, 49, 3, 0, 0, 0, 0,
+198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 4, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193, 67,
+ 0, 96,132,196, 0, 0, 0, 0, 0, 0, 0, 0,180,252,184, 67, 55, 97,132,196, 0, 0, 0, 0, 93, 1, 0, 0,110, 1, 0, 0,
+ 0, 0, 0, 0,230, 3, 0, 0, 0, 0, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 92, 1, 0, 0,
+ 0, 0, 0, 0,230, 3, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 0, 0, 0, 64,
+ 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,110, 1,231, 3, 93, 1,231, 3, 0, 0, 88,234, 3, 3, 0, 0, 0, 0,
+ 5, 0, 0, 0, 4, 0, 0, 0, 17, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,230, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,110, 1,231, 3, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,120, 93,194, 1, 0, 0, 0, 0, 88,111, 27, 3, 0, 0, 0, 0,136,197, 56, 3, 0, 0, 0, 0,
+ 56, 7, 49, 3, 0, 0, 0, 0, 88,237, 6, 2, 0, 0, 0, 0, 72, 82, 3, 2, 0, 0, 0, 0,200, 43, 26, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 7, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 8, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 94,194, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,113, 1, 36, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 8, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 10, 49, 3, 0, 0, 0, 0,
+ 56, 7, 49, 3, 0, 0, 0, 0,120, 3,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+ 99,111,110,116,101,120,116, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+ 99,111,110,116,101,120,116, 95,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255,113, 1, 36, 0,
+ 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 10, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 12, 49, 3, 0, 0, 0, 0,216, 8, 49, 3, 0, 0, 0, 0,232, 6,131, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,255,240, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,255,113, 1,136, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 40, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,248,107,178, 3,181, 0, 0, 0,
- 1, 0, 0, 0, 96,109,178, 3,144,106,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,108, 97,109,112,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,108, 97,109,112,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 12, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184, 13, 49, 3, 0, 0, 0, 0,
+120, 10, 49, 3, 0, 0, 0, 0, 24, 10,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,109,112, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,254,113, 1,171, 0,
+ 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,254,240, 0,149, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0, 96,109,178, 3,181, 0, 0, 0, 1, 0, 0, 0,200,110,178, 3,248,107,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 13, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 88, 15, 49, 3, 0, 0, 0, 0, 24, 12, 49, 3, 0, 0, 0, 0, 72, 16,131, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 47,254,240, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,254,113, 1, 36, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 42, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,200,110,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 48,112,178, 3,
- 96,109,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,112,111,116, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,112,111,116, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 88, 15, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 16, 49, 3, 0, 0, 0, 0,
+184, 13, 49, 3, 0, 0, 0, 0,184, 22,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+115,112,111,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+115,112,111,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,112,111,116, 32, 83,104, 97,
+112,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,155,253,113, 1,102, 0,
+ 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,112,111,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199,253, 62, 1, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 16, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,152, 18, 49, 3, 0, 0, 0, 0, 88, 15, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 48,112,178, 3,
-181, 0, 0, 0, 1, 0, 0, 0,152,113,178, 3,200,110,178, 3, 48,234,160, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,113, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,116, 1, 61, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 56, 1, 0, 0,152,113,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 0,115,178, 3, 48,112,178, 3,184,216,160, 3,
- 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,152, 18, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56, 20, 49, 3, 0, 0, 0, 0,
+248, 16, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,
+110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164,254,113, 1,203, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 20, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 21, 49, 3, 0, 0, 0, 0,152, 18, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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,189,254,116, 1,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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, 65,110,116,105, 45, 65,108,105, 97,115,105,110,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, 68, 65, 84, 65, 56, 1, 0, 0, 0,115,178, 3,181, 0, 0, 0, 1, 0, 0, 0,
-104,116,178, 3,152,113,178, 3, 96,218,160, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,
-105, 97,115,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,
-105, 97,115,105,110,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, 65,110,116,105, 45, 65,108,105, 97,115,105,110,103, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,254,113, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,254,116, 1, 58, 0, 24, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
-104,116,178, 3,181, 0, 0, 0, 1, 0, 0, 0,208,117,178, 3, 0,115,178, 3, 8,220,160, 3, 0, 0, 0, 0, 82, 69, 78, 68,
- 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
- 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,
-114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,254,
-116, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 21, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 23, 49, 3, 0, 0, 0, 0,
+ 56, 20, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,208,117,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 56,119,178, 3,104,116,178, 3,
-104,188,159, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,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,246,251,113, 1, 44, 2,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 32, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 23, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 25, 49, 3, 0, 0, 0, 0,216, 21, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,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, 83,104, 97,100,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,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,213,253,116, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,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,164,253,113, 1,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 56,119,178, 3,181, 0, 0, 0,
- 1, 0, 0, 0,160,120,178, 3,208,117,178, 3, 16,190,159, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,
-115,116, 95,112,114,111, 99,101,115,115,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,
-115,116, 95,112,114,111, 99,101,115,115,105,110,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, 80,111,115,116, 32, 80,114,111, 99,101,115,115,
-105,110,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,189,253,116, 1, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0,160,120,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 8,122,178, 3, 56,119,178, 3,184,191,159, 3, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 25, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184, 26, 49, 3, 0, 0, 0, 0,
+120, 23, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,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, 80,111,115,116, 32, 80,114,111,
+ 99,101,115,115,105,110,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,140,253,113, 1, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,165,253,116, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 26, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 88, 28, 49, 3, 0, 0, 0, 0, 24, 25, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 8,122,178, 3,181, 0, 0, 0, 1, 0, 0, 0,112,123,178, 3,
-160,120,178, 3, 24,174,159, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,253,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,253,116, 1,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,112,123,178, 3,
-181, 0, 0, 0, 1, 0, 0, 0,216,124,178, 3, 8,122,178, 3,104,177,159, 3, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 88, 28, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 29, 49, 3, 0, 0, 0, 0,
+184, 26, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
- 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0,
+ 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,253,116, 1, 0, 0,
- 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218,252,113, 1,130, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 56, 1, 0, 0,216,124,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 64,126,178, 3,112,123,178, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 29, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,152, 31, 49, 3, 0, 0, 0, 0, 88, 28, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,252,113, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,184,255,240, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 56, 1, 0, 0, 64,126,178, 3,181, 0, 0, 0, 1, 0, 0, 0,
-168,127,178, 3,216,124,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,101,115,104, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,152, 31, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56, 33, 49, 3, 0, 0, 0, 0,
+248, 29, 49, 3, 0, 0, 0, 0,184, 45,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+ 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+ 99,111,110,116,101,120,116, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,101,115,104, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,255,113, 1, 36, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,255,240, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
-168,127,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 16,129,178, 3, 64,126,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 95, 80, 84, 95,109, 97,116,101,114,105, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 95, 80, 84, 95,109, 97,116,101,114,105, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,116,101,
-114,105, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172,254,
-240, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 33, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 34, 49, 3, 0, 0, 0, 0,152, 31, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,109,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77,101,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66,255,240, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 34, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 36, 49, 3, 0, 0, 0, 0,
+ 56, 33, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+109, 97,116,101,114,105, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+109, 97,116,101,114,105, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,116,101,114,105, 97,108,
+115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172,254,240, 0,126, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 16,129,178, 3,181, 0, 0, 0, 1, 0, 0, 0,120,130,178, 3,168,127,178, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 36, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 38, 49, 3, 0, 0, 0, 0,216, 34, 49, 3, 0, 0, 0, 0, 40, 55,131, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95,103,114,111,117,112,115, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95,103,114,111,117,112,115, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 71,114,111,117,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22,254,240, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234,254,113, 1, 76, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 23, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,120,130,178, 3,181, 0, 0, 0,
- 1, 0, 0, 0,224,131,178, 3, 16,129,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,
-101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,115,104, 97,112,
-101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,112,101, 32, 75,101,121,115, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 38, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184, 39, 49, 3, 0, 0, 0, 0,
+120, 36, 49, 3, 0, 0, 0, 0,104, 58,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+115,104, 97,112,101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+115,104, 97,112,101, 95,107,101,121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,112,101, 32, 75,101,
+121,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,254,113, 1, 76, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 24, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,253,240, 0,126, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 39, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 88, 41, 49, 3, 0, 0, 0, 0, 24, 38, 49, 3, 0, 0, 0, 0,168, 61,131, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 56, 1, 0, 0,224,131,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 72,133,178, 3,120,130,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 95, 80, 84, 95,117,118, 95,116,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 32, 84,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 32, 84,101,120,116,117,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,254,113, 1, 94, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 25, 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, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,234,252,240, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 88, 41, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 42, 49, 3, 0, 0, 0, 0,
+184, 39, 49, 3, 0, 0, 0, 0, 40, 68,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+118,101,114,116,101,120, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+118,101,114,116,101,120, 95, 99,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 67,
+111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,253,113, 1, 94, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 26, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 72,133,178, 3,181, 0, 0, 0, 1, 0, 0, 0,176,134,178, 3,
-224,131,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95, 99,111,108,111,114,
-115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,118,101,114,116,101,120, 95, 99,111,108,111,114,
-115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,101,114,116,101,120, 32, 67,111,108,111,114,115, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 42, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,152, 44, 49, 3, 0, 0, 0, 0, 88, 41, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,
+114,105, 97,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, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,
+114,105, 97,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,252,240, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,176,134,178, 3,
-181, 0, 0, 0, 1, 0, 0, 0, 24,136,178, 3, 72,133,178, 3,248,225,160, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,114,105, 97,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, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,109, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,255,113, 1,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 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, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,255,116, 1,151, 0,
- 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,152, 44, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56, 46, 49, 3, 0, 0, 0, 0,
+248, 42, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,101,118,105,101,119, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190,254,113, 1,136, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 56, 1, 0, 0, 24,136,178, 3,181, 0, 0, 0, 1, 0, 0, 0,128,137,178, 3,176,134,178, 3, 0,210,160, 3,
- 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 46, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 47, 49, 3, 0, 0, 0, 0,152, 44, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,109, 97,116,101,114,105, 97,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, 80,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,109, 97,116,101,114,105, 97,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,165,254,116, 1,136, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 97,116,101,114,105, 97,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, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,254,116, 1, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,128,137,178, 3,181, 0, 0, 0, 1, 0, 0, 0,
-232,138,178, 3, 24,136,178, 3,168,211,160, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,109, 97,116,101,
-114,105, 97,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, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,109, 97,116,101,
-114,105, 97,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, 77, 97,116,101,114,105, 97,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,254,116, 1, 86, 0, 0, 0, 0, 0, 0, 0, 6, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 47, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 49, 49, 3, 0, 0, 0, 0,
+ 56, 46, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,102,102,117,115,101, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
-232,138,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 80,140,178, 3,128,137,178, 3,176,181,159, 3, 0, 0, 0, 0, 77, 65, 84, 69,
- 82, 73, 65, 76, 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69,
- 82, 73, 65, 76, 95, 80, 84, 95,100,105,102,102,117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,102,102,
-117,115,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108,253,
-116, 1,179, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,103,254,113, 1, 63, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 80,140,178, 3,181, 0, 0, 0, 1, 0, 0, 0,184,141,178, 3,232,138,178, 3,
- 88,183,159, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,112,101, 99,117,108, 97,114, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 49, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 51, 49, 3, 0, 0, 0, 0,216, 47, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,112,101, 99,117,108, 97,114, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,112,101, 99,117,108, 97,114, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 83,112,101, 99,117,108, 97,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,229,252,116, 1,111, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,253,113, 1, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,184,141,178, 3,181, 0, 0, 0,
- 1, 0, 0, 0, 32,143,178, 3, 80,140,178, 3, 96,167,159, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,
-114, 97,121,109,105,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,
-114, 97,121,109,105,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 97,121, 32, 77,105,114,114,111,114, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,252,116, 1, 0, 0, 24, 0, 0, 0,
- 4, 0, 6, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 51, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184, 52, 49, 3, 0, 0, 0, 0,
+120, 49, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,114, 97,121,109,105,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,114, 97,121,109,105,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 97,121, 32, 77,105,114,114,
+111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,252,116, 1, 0, 0,
+ 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65,
- 56, 1, 0, 0, 32,143,178, 3,181, 0, 0, 0, 1, 0, 0, 0,136,144,178, 3,184,141,178, 3, 8,169,159, 3, 0, 0, 0, 0,
- 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,114, 97,121,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,114, 97,121,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 52, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 88, 54, 49, 3, 0, 0, 0, 0, 24, 51, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,114, 97,121,116,114, 97,110,115,112, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 82, 97,121, 32, 84,114, 97,110,115,112, 97,114,101,110, 99,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,114, 97,121,116,114, 97,110,115,112, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,181,252,116, 1, 0, 0, 24, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 97,121, 32, 84,114, 97,110,115,112, 97,114,101,110, 99,121, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,181,252,116, 1, 0, 0, 24, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,136,144,178, 3,181, 0, 0, 0, 1, 0, 0, 0,240,145,178, 3,
- 32,143,178, 3, 40,208,156, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 97, 99,101, 32, 83, 99, 97,116,116,101,114,105,110,
-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,157,252,116, 1, 0, 0, 24, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 88, 54, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 55, 49, 3, 0, 0, 0, 0,
+184, 52, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,115,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 97,
+ 99,101, 32, 83, 99, 97,116,116,101,114,105,110,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,249,252,113, 1, 0, 0,
+ 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,240,145,178, 3,
-181, 0, 0, 0, 1, 0, 0, 0, 88,147,178, 3,136,144,178, 3, 64, 70,156, 3, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 55, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,152, 57, 49, 3, 0, 0, 0, 0, 88, 54, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,225,252,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,152, 57, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56, 59, 49, 3, 0, 0, 0, 0,
+248, 55, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
- 95, 80, 84, 95,115,116,114, 97,110,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116,114, 97,110,100, 0, 0,
+ 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,116,105,111,110,115, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,133,252,116, 1, 0, 0,
- 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249,251,113, 1,208, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 56, 1, 0, 0, 88,147,178, 3,181, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,240,145,178, 3,232, 71,156, 3,
- 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 56, 59, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 60, 49, 3, 0, 0, 0, 0,152, 57, 49, 3, 0, 0, 0, 0, 40, 49,131, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,110,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,111,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,110,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 79,112,116,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 78,111,114,109, 97,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,131,251,116, 1,234, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,255,113, 1, 58, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 19, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0,232,232,160, 3,151, 0, 0, 0, 1, 0, 0, 0,
- 8,154,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0,193, 0, 0,163, 67, 0, 64,180,196,
- 0, 0,104, 67, 0, 0, 0,193, 0, 0,163, 67, 0, 64,180,196, 30,209,118, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,213, 0, 53, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 7, 0,
- 0, 0, 4, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0,150, 1, 0, 0, 48, 1, 0, 0, 72, 61,154, 3,255, 20, 0, 0,
-160, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,192,148,178, 3,185, 0, 0, 0, 1, 0, 0, 0,224,149,178, 3,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 60, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 62, 49, 3, 0, 0, 0, 0,
+ 56, 59, 49, 3, 0, 0, 0, 0,232, 51,131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+116,101,120,116,117,114,101, 95,115,112, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95,
+116,101,120,116,117,114,101, 95,115,112, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,101,120,116,117,114,101, 32,
+ 83,112, 97, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,255,113, 1, 0, 0,
+ 0, 0, 0, 0, 4, 0, 2, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 62, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 64, 49, 3, 0, 0, 0, 0,216, 60, 49, 3, 0, 0, 0, 0, 24, 71,131, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,109,101,115,
+104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,109,101,115,
+104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 10, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,253,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 27, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,224,149,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-192,148,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 64, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,184, 65, 49, 3, 0, 0, 0, 0,
+120, 62, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32,
+ 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254,113, 1, 0, 0,
+ 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,184, 65, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 88, 67, 49, 3, 0, 0, 0, 0, 24, 64, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,151,178, 3, 68, 65, 84, 65,216, 2, 0, 0, 0,151,178, 3,145, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,252,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 88, 67, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,248, 68, 49, 3, 0, 0, 0, 0,
+184, 65, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 72, 89, 83, 73, 67, 83, 95,
+ 80, 84, 95, 97,100,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 72, 89, 83, 73, 67, 83, 95,
+ 80, 84, 95, 97,100,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115,255,113, 1,105, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,248, 68, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,152, 70, 49, 3, 0, 0, 0, 0, 88, 67, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 80, 65, 82, 84, 73, 67, 76, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,112, 97,114,116,
+105, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 80, 65, 82, 84, 73, 67, 76, 69, 95, 80, 84, 95, 99,111,110,116,101,120,116, 95,112, 97,114,116,
+105, 99,108,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,151,255,113, 1, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,152, 70, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 56, 72, 49, 3, 0, 0, 0, 0,
+248, 68, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,115,104, 97,100,105,110,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, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,115,104, 97,100,105,110,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, 83,104, 97,100,105,110,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,148,253,113, 1, 80, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 99, 92, 63,
- 43, 35, 2,191,188,238, 46,188, 94, 32,148,188, 23,240, 25, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-201, 77, 68, 64,228, 66,111, 64,230, 97,205,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 88, 1, 0, 0, 56, 72, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0,216, 73, 49, 3, 0, 0, 0, 0,152, 70, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,116,114, 97,110,115,112, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 84,114, 97,110,115,112, 97,114,101,110, 99,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,253,113, 1, 83, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0, 8,154,178, 3,
-146, 0, 0, 0, 1, 0, 0, 0,240,250,157, 3,232,232,160, 3,192,148,178, 3,224,149,178, 3, 1, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 99, 92, 63, 43, 35, 2,191,188,238, 46,188, 94, 32,148,188,
- 23,240, 25, 66, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,232,119,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,250, 67,201, 77, 68, 64,228, 66,111, 64,230, 97,205,191,128,191,149, 60,
-116,109, 77,191,248,165,230, 63, 20, 0, 0, 0, 7, 0, 10, 0, 99, 0, 0, 0, 1, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
- 40,155,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 72,156,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0,216, 73, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0,120, 75, 49, 3, 0, 0, 0, 0,
+ 56, 72, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,109,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95,109,105,114,114,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77,105,114,114,111,114, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,253,113, 1, 0, 0,
+ 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 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,
- 2, 0, 3, 3, 4, 0, 12, 0, 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, 1, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
- 72,156,178, 3,185, 0, 0, 0, 1, 0, 0, 0,104,157,178, 3, 40,155,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0,120, 75, 49, 3, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 24, 77, 49, 3, 0, 0, 0, 0,216, 73, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76, 95, 80, 84, 95,115,104, 97,100,111,119, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,111,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,225,251,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-104,157,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 72,156,178, 3, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,
-205,204,140, 63, 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
-235, 2, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,
-235, 2, 0, 0, 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0,
- 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,196, 0, 0, 0,
-240,250,157, 3,150, 0, 0, 0, 1, 0, 0, 0,200,160,178, 3, 8,154,178, 3, 40,155,178, 3,104,157,178, 3, 2, 0, 0, 0,
- 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,
-205,204,140, 63, 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
-235, 2, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,
-235, 2, 0, 0, 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,136,158,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0,168,159,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 88, 1, 0, 0, 24, 77, 49, 3, 0, 0, 0, 0,196, 0, 0, 0, 1, 0, 0, 0, 88,237, 6, 2, 0, 0, 0, 0,
+120, 75, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 84, 69, 82, 73, 65, 76,
+ 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,
+114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201,251,113, 1, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 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, 3, 3, 4, 0, 12, 0,
- 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, 1, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 1, 0, 0, 88,237, 6, 2, 0, 0, 0, 0,
+196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 77, 49, 3, 0, 0, 0, 0,184, 28,131, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,108, 97,109,
+112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,115, 95,108, 97,109,
+112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168,159,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,136,158,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,131,253,113, 1, 0, 0, 0, 0, 0, 0, 4, 0, 4, 0, 0, 0, 0, 0, 44, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0,
- 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0,184, 78, 49, 3, 0, 0, 0, 0,162, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193, 0, 0,163, 67,
+ 0, 64,180,196, 0, 0,104, 67, 0, 0, 0,193, 0, 0,163, 67, 0, 64,180,196, 30,209,118, 67, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,124, 2, 0, 0,200,160,178, 3,158, 0, 0, 0,
- 1, 0, 0, 0,184,165,178, 3,240,250,157, 3,136,158,178, 3,168,159,178, 3, 9, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 45, 96, 1, 0, 0, 0, 0, 62, 0, 0, 0, 32, 0, 1, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 5, 0, 0, 0, 17, 0, 0, 0,
-225, 2, 0, 0,227, 2, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0,207, 2, 0, 0,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63,
+ 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,213, 0, 53, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 4, 0, 4, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 8,212, 3, 3, 0, 0, 0, 0,
+255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248, 79, 49, 3, 0, 0, 0, 0,
+197, 0, 0, 0, 1, 0, 0, 0, 56,117, 49, 3, 0, 0, 0, 0,104, 3, 49, 3, 0, 0, 0, 0, 40,148, 17, 3, 0, 0, 0, 0,
+248, 34, 4, 3, 0, 0, 0, 0, 24,241, 48, 3, 0, 0, 0, 0,184,154, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+197, 3, 0, 0, 15, 6, 0, 0, 0, 0, 0, 0,215, 2, 0, 0, 6, 6, 75, 2,216, 2, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0,
+152, 75,194, 1, 0, 0, 0, 0,200, 83, 49, 3, 0, 0, 0, 0,200, 83, 49, 3, 0, 0, 0, 0,232, 80, 49, 3, 0, 0, 0, 0,
+ 88, 82, 49, 3, 0, 0, 0, 0,216, 55, 24, 3, 0, 0, 0, 0,216, 55, 24, 3, 0, 0, 0, 0,200,133,192, 1, 0, 0, 0, 0,
+ 8, 20, 26, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 80, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 88, 82, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 19, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0,192, 18, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,128, 18, 68, 0, 0,200, 65, 0,128, 18, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 75, 2, 26, 0, 75, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+197, 3, 0, 0, 15, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 75, 2, 26, 0, 19, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+168, 83,194, 1, 0, 0, 0, 0,104, 71, 8, 2, 0, 0, 0, 0,104, 71, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,168, 56, 24, 3, 0, 0, 0, 0, 40, 28, 25, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88, 82, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232, 80, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 67, 0, 0, 0, 0, 0, 0, 22, 67,
+ 12,116,186,191, 6, 58, 29, 64, 29,133,235,191,143,194, 53, 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, 75, 2, 0, 0, 0, 0, 0, 0,190, 2, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+197, 3, 0, 0, 15, 6, 0, 0, 26, 0, 0, 0,215, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 75, 2,190, 2, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+184, 76,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248, 28, 25, 3, 0, 0, 0, 0,104,241, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0,200, 83, 49, 3, 0, 0, 0, 0,167, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 0, 1, 0, 0,136,187, 49, 3, 0, 0, 0, 0, 40,147, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,
+154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -594,212 +758,74 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0,120,163,178, 3,185, 0, 0, 0, 1, 0, 0, 0,152,164,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0,152,164,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,120,163,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,136, 0, 0, 0,184,165,178, 3,156, 0, 0, 0, 1, 0, 0, 0,176,168,178, 3,200,160,178, 3,120,163,178, 3,
-152,164,178, 3, 6, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,112,166,178, 3,185, 0, 0, 0, 1, 0, 0, 0,144,167,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,144,167,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,112,166,178, 3, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 18, 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-248, 0, 0, 0,176,168,178, 3,155, 0, 0, 0, 1, 0, 0, 0, 24,172,178, 3,184,165,178, 3,112,166,178, 3,144,167,178, 3,
- 3, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 68, 65, 84, 65,236, 0, 0, 0,216,169,178, 3,185, 0, 0, 0, 1, 0, 0, 0,248,170,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,248,170,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-216,169,178, 3, 0, 0,128,192, 0, 0,122, 67, 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192,
- 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70,
- 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,184, 0, 0, 0, 24,172,178, 3,250, 0, 0, 0, 1, 0, 0, 0, 96,176,178, 3,
-176,168,178, 3,216,169,178, 3,248,170,178, 3, 11, 0, 0, 0, 51, 51, 51, 63,248,150,127, 3, 0, 0,128,192, 0, 0,122, 67,
- 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
- 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 0,173,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 32,174,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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, 3, 3,
- 4, 0, 12, 0, 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, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 32,174,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 64,175,178, 3, 0,173,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 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,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 64,175,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 32,174,178, 3, 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68,
- 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
-196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0,
- 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0, 96,176,178, 3,
-157, 0, 0, 0, 1, 0, 0, 0,176,180,178, 3, 24,172,178, 3, 0,173,178, 3, 64,175,178, 3, 13, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,
-124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,
-108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61,
- 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 80,177,178, 3,185, 0, 0, 0, 1, 0, 0, 0,112,178,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,112,178,178, 3,185, 0, 0, 0, 1, 0, 0, 0,144,179,178, 3, 80,177,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,144,179,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,112,178,178, 3,
- 0, 0,160,193, 0, 0, 85, 67, 0,160,134,196, 0, 0, 0, 0, 0, 0,160,193, 0, 0, 85, 67, 0,160,134,196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70,
- 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176,180,178, 3, 4, 1, 0, 0, 1, 0, 0, 0, 56,186,178, 3, 96,176,178, 3,
- 80,177,178, 3,144,179,178, 3, 12, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,191, 0, 0, 2, 66, 0, 0,122,196, 0, 0, 0, 0, 0, 0, 0,191, 0, 0, 2, 66, 0, 0,150,194, 0, 0,160, 64,
-108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 14, 2, 0, 0,128, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
-128, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 70, 0, 0,122, 68,
- 10,215, 35, 60, 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,184,181,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0,216,182,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 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, 3, 3, 4, 0, 12, 0,
- 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, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,216,182,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0,248,183,178, 3,184,181,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 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, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,248,183,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0, 24,185,178, 3,216,182,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 24,185,178, 3,185, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,248,183,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0,
- 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 52, 0, 0, 0, 56,186,178, 3,154, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,176,180,178, 3,184,181,178, 3, 24,185,178, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0,
-144,214, 76, 1,184, 0, 0, 0, 1, 0, 0, 0,184,227,178, 3, 16,102,155, 3, 0,219,155, 3,144, 72,160, 3,216, 12,156, 3,
-232,206,159, 3, 0, 0, 0, 0,193, 3, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 43, 3, 0, 0, 6, 6, 71, 2, 44, 3, 1, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,183, 65, 1,224,188,178, 3,
- 80,227,178, 3,160,186,178, 3,192,187,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,200,159, 71, 1,136, 0,158, 3, 68, 65, 84, 65,
-236, 0, 0, 0,160,186,178, 3,185, 0, 0, 0, 1, 0, 0, 0,192,187,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 5, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 17, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 2, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 3, 68, 0, 0,200, 65, 0,128, 3, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 71, 2, 26, 0, 71, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-193, 3, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 2, 26, 0, 6, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,188, 65, 1,144, 58,199, 3,
-144, 58,199, 3, 0, 0, 0, 0, 0, 0, 0, 0, 56, 2,158, 3, 40, 3,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,192,187,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,160,186,178, 3, 0, 0, 0, 0, 0, 0, 22, 67,
- 0, 0, 0, 0, 0, 0, 22, 67, 36,191,184,191,146, 95, 28, 64, 19,174, 7,192, 19,174, 71, 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, 71, 2, 0, 0,
- 0, 0, 0, 0, 18, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-193, 3, 0, 0, 7, 6, 0, 0, 26, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 2, 18, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,184, 65, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 5,158, 3,104, 6,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-136, 0, 0, 0,224,188,178, 3,156, 0, 0, 0, 1, 0, 0, 0,224,194,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 6, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 83,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63,179, 3,
- 0, 0, 0, 0, 0, 0,255,255, 0, 0, 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, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-152,189,178, 3,185, 0, 0, 0, 1, 0, 0, 0,184,190,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-184,190,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152,189,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,
-111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,191,178, 3, 68, 65, 84, 65,216, 2, 0, 0,
-216,191,178, 3,145, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -815,97 +841,88 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,252, 83, 63,104, 25,223,190,115, 52, 40, 62,119,211,159, 62, 96,183,198, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,163,146, 22,189,174, 51,122,190, 29,244, 58,192, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,224,194,178, 3,146, 0, 0, 0, 1, 0, 0, 0, 32,241,154, 3,224,188,178, 3,
-152,189,178, 3,184,190,178, 3, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84,252, 83, 63,104, 25,223,190,115, 52, 40, 62,119,211,159, 62, 96,183,198, 65, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-232,119,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,250, 67,
-163,146, 22,189,174, 51,122,190, 29,244, 58,192, 0, 0,224, 54, 56,146, 88, 63,198, 37, 71, 64, 20, 0, 0, 0, 7, 0, 10, 0,
-115, 0, 0, 0, 1, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 0,196,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 32,197,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 32,197,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0,196,178, 3, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196, 0, 0,100, 67,197,197,136, 55,118,209, 78, 68, 40,222,231,195,
-172,158, 25, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69,
- 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,
-235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0, 32,241,154, 3,151, 0, 0, 0, 1, 0, 0, 0,160,201,178, 3,
-224,194,178, 3, 0,196,178, 3, 32,197,178, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196, 0, 0,100, 67,
-197,197,136, 55,118,209, 78, 68, 40,222,231,195,172,158, 25, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 3, 0,
- 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0,150, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 64,198,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 96,199,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 96,199,178, 3,185, 0, 0, 0, 1, 0, 0, 0,128,200,178, 3, 64,198,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,128,200,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 96,199,178, 3,
- 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63, 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64,
- 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0, 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68,
- 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,196, 0, 0, 0,160,201,178, 3,150, 0, 0, 0, 1, 0, 0, 0,216,204,178, 3, 32,241,154, 3,
- 64,198,178, 3,128,200,178, 3, 2, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63, 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64,
- 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0, 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68,
- 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,152,202,178, 3,185, 0, 0, 0, 1, 0, 0, 0,184,203,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,184,203,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152,202,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-124, 2, 0, 0,216,204,178, 3,158, 0, 0, 0, 1, 0, 0, 0,200,209,178, 3,160,201,178, 3,152,202,178, 3,184,203,178, 3,
- 9, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 45, 96, 1, 0, 0, 0, 0,
- 62, 0, 0, 0, 32, 0, 1, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-205,204,204, 61, 5, 0, 0, 0, 17, 0, 0, 0,225, 2, 0, 0,227, 2, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0,207, 2, 0, 0,
-227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -921,297 +938,494 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,136,207,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
-168,208,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168,208,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,136,207,178, 3, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 6, 0, 0, 0,
- 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,200,209,178, 3,155, 0, 0, 0, 1, 0, 0, 0,
- 48,213,178, 3,216,204,178, 3,136,207,178, 3,168,208,178, 3, 3, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 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,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56,117, 49, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
+ 88,135, 49, 3, 0, 0, 0, 0,248, 79, 49, 3, 0, 0, 0, 0, 8,146,192, 1, 0, 0, 0, 0,120,181, 20, 3, 0, 0, 0, 0,
+168,185, 3, 2, 0, 0, 0, 0, 40,148, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0,
+ 0, 0, 0, 0, 0, 4, 0, 0, 1, 1,196, 3, 1, 4, 1, 0, 0, 0, 0, 0, 7, 0, 9, 0,136, 52,194, 1, 0, 0, 0, 0,
+184,124, 49, 3, 0, 0, 0, 0,248,131, 49, 3, 0, 0, 0, 0, 40,118, 49, 3, 0, 0, 0, 0,152,119, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,239, 19, 3, 0, 0, 0, 0,232, 69, 8, 2, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 1, 0, 0, 40,118, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,152,119, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 79, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,113, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,112, 68, 0, 0,200, 65,
+ 0,192,112, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,196, 3,
+ 26, 0,196, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 26, 0, 13, 0, 1, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 62,194, 1, 0, 0, 0, 0,
+ 8, 70, 20, 3, 0, 0, 0, 0, 8, 70, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+104,188, 24, 3, 0, 0, 0, 0,120,181, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 1, 0, 0,152,119, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40,118, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0,
+ 26, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3,231, 3, 14, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 53,194, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200,132,252, 2, 0, 0, 0, 0, 40,200,251, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,121, 49, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65, 96, 3, 0, 0, 8,121, 49, 3, 0, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0, 63, 21,145, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 80, 1,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,225,215,163,188, 0, 0, 0, 0,197, 56, 16, 63,181,165,214,190,
+216, 65, 54, 63, 0, 0, 0, 0,103,115, 83, 63,179,248,135, 62,228,147,254,190, 0, 0, 0, 0,155,199,158, 60, 68, 64, 94, 63,
+111,229,253, 62, 0, 0, 0, 0,239,219,254,191,166, 80,144,192,255, 66, 63,194, 0, 0,128, 63,215, 56, 16, 63,100,115, 83, 63,
+ 74,200,158, 60, 0, 0, 0, 0,200,165,214,190,182,248,135, 62, 79, 64, 94, 63, 0, 0, 0, 0,215, 65, 54, 63,242,147,254,190,
+103,229,253, 62, 0, 0, 0, 0,102, 23, 5, 66, 7,118,167,193, 47, 82,221, 65, 0, 0,128, 63, 63,120, 35, 63, 62,197,234,190,
+182, 67, 54,191,216, 65, 54,191,212,171,111, 63, 4,184,148, 62,128,150,254, 62,228,147,254, 62,120,248,179, 60, 74, 22,115, 63,
+ 9,232,253,190,111,229,253,190,185,111, 16,192, 54,216,157,192,122, 48, 63, 66,255, 66, 63, 66,209, 21,254, 62,120,173, 58, 63,
+ 87,211,134, 60, 96,147,194,183, 0, 34,196,190,184,124,120, 62,223, 63, 75, 63, 0, 0,229, 54,196,159,207,196,222,158,130, 68,
+181,161,172,196,110,174, 71,194, 37,139,207, 68, 80,144,130,196,162,147,172, 68,129,176, 71, 66,197, 56, 16, 63,181,165,214,190,
+216, 65, 54, 63, 0, 0, 0, 0,103,115, 83, 63,179,248,135, 62,228,147,254,190, 0, 0, 0, 0,155,199,158, 60, 68, 64, 94, 63,
+111,229,253, 62, 0, 0, 0, 0, 62,101,214,192,127, 55, 88,192, 97, 89, 45,194, 0, 0,128, 63, 63,120, 35, 63, 62,197,234,190,
+182, 67, 54,191,216, 65, 54,191,212,171,111, 63, 4,184,148, 62,128,150,254, 62,228,147,254, 62,120,248,179, 60, 74, 22,115, 63,
+ 9,232,253,190,111,229,253,190, 70, 2,243,192,180,124,108,192,174, 70, 45, 66, 97, 89, 45, 66, 20, 97,190, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 97,190, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 20, 97,190, 64, 0, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64, 0, 0,128, 63,153, 42, 67, 63,246, 62,229,190,
+251,142,104,190,131, 17,209,190,141, 8, 56, 66,223,139, 15, 66, 0, 0, 0, 0, 0, 0, 0, 0, 31,234,239, 58, 80,127, 4,191,
+250,204,248,191, 74, 51,155,192, 0, 0,255,255, 1, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 46,219, 35, 66, 48,203,139, 66,250, 65, 96, 66, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
+184,124, 49, 3, 0, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0,248,131, 49, 3, 0, 0, 0, 0, 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, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 17,139, 48, 63,240,151, 31,191,155, 98,151,190, 77, 45, 97,190,141, 8, 56, 66, 0, 0, 0, 0,
+255, 13, 0, 0, 1, 0, 0, 0,248,251, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 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, 2, 0, 0, 0,
+ 2, 0, 0, 0, 1, 0, 0, 0, 8, 24, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 80,127, 4,191,
+250,204,248,191, 74, 51,155,192, 96,199, 41,188,225,230, 30,193,216,129,230, 63, 0, 0, 20, 0, 10, 0, 7, 1, 1, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 56,126, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+168,127, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 80, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 0, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,126, 7, 0, 0,231, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+127, 7, 26, 0, 0, 0, 1, 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,
+216,102,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,127, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 24,129, 49, 3, 0, 0, 0, 0, 56,126, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 67, 0,192,121,196, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 95, 67, 0,192,121,196, 0, 0, 0, 0,223, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0,230, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 0,230, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0,
+ 18, 0, 0, 4, 6, 0,240, 0,231, 3,223, 0,231, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 0,230, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 0,231, 3, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+184,104,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 34, 26, 3, 0, 0, 0, 0,
+120,165, 56, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,129, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+136,130, 49, 3, 0, 0, 0, 0,168,127, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,209, 68, 0, 0, 0, 0, 0, 0,112, 66,
+ 0, 0,128, 56, 0,224,209, 68, 0, 0, 0, 0, 0, 0,112, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 6, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0,
+ 0,192,209, 68, 0, 0,108, 66, 0,192,209, 68, 0, 0,108, 66, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 0, 4, 10, 0,143, 6, 60, 0,143, 6, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 0, 0, 0,126, 7, 0, 0,171, 3, 0, 0,230, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+143, 6, 60, 0, 0, 0, 4, 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,
+200,103,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,130, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24,129, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 67, 0,128,105,196, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,224,209, 68, 0, 64,102,196, 0, 0, 0, 0,126, 6, 0, 0,143, 6, 0, 0, 18, 0, 0, 0,170, 3, 0, 0,
+ 0, 0, 0, 0,142, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 6, 0, 0, 18, 0, 0, 0,170, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 4, 0, 0, 2, 0, 3, 3,
+ 4, 0, 0, 4, 6, 0,143, 6,171, 3,143, 6,153, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,170, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+143, 6,171, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+232,101,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0,248,131, 49, 3, 0, 0, 0, 0,165, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,124, 49, 3, 0, 0, 0, 0, 56,126, 49, 3, 0, 0, 0, 0,136,130, 49, 3, 0, 0, 0, 0,
+ 5, 0, 0, 0, 0, 0, 0, 0,168,132, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,170, 17, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,251, 6, 2, 0, 0, 0, 0,
+ 7, 0,255,255,255,255, 0, 0, 68, 65, 84, 65, 96, 2, 0, 0,168,132, 49, 3, 0, 0, 0, 0,164, 0, 0, 0, 1, 0, 0, 0,
+ 79,112,101,110, 32, 66,108,101,110,100,101,114, 32, 70,105,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 47,100,115,107, 47,100, 97,116, 97, 47,115,114, 99, 47, 98,108,101,110,100,101,114, 47, 98,108,101,110,100,101,114, 47,115,111,
+117,114, 99,101, 47, 98,108,101,110,100,101,114, 47,101,100,105,116,111,114,115, 47,100, 97,116, 97,102,105,108,101,115, 47, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,114,101,118,105,101,119, 49, 46, 98,108,101,110,100, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 8, 1, 0, 0, 1, 0, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,160, 0, 0, 0, 88,135, 49, 3, 0, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56,117, 49, 3, 0, 0, 0, 0,248, 34, 4, 3, 0, 0, 0, 0,168,185, 3, 2, 0, 0, 0, 0,248,137, 17, 3, 0, 0, 0, 0,
+ 24,241, 48, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0, 15, 6, 0, 0,217, 2, 0, 0, 0, 4, 0, 0,
+ 3, 3, 75, 2, 40, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 46,194, 1, 0, 0, 0, 0, 40,139, 49, 3, 0, 0, 0, 0,
+ 40,139, 49, 3, 0, 0, 0, 0, 72,136, 49, 3, 0, 0, 0, 0,184,137, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 56, 58, 7, 2, 0, 0, 0, 0,216,155, 24, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
+ 72,136, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184,137, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 18, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 18, 68, 0, 0,200, 65, 0,128, 18, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 75, 2, 26, 0, 75, 2, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0, 15, 6, 0, 0,217, 2, 0, 0,242, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 2, 26, 0, 21, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 48,194, 1, 0, 0, 0, 0, 72,150, 26, 3, 0, 0, 0, 0,
+ 72,150, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 83,251, 2, 0, 0, 0, 0,
+ 24, 42,251, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
+184,137, 49, 3, 0, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,136, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,128,241, 67, 0, 0, 94,195, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 14, 68, 0, 0,124,195, 0, 0, 0, 0,
+ 58, 2, 0, 0, 75, 2, 0, 0, 18, 0, 0, 0, 13, 1, 0, 0, 0, 0, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0, 57, 2, 0, 0, 18, 0, 0, 0, 13, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 75, 2, 14, 1, 58, 2,252, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,197, 3, 0, 0, 15, 6, 0, 0,243, 2, 0, 0, 0, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 2, 14, 1, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 47,194, 1, 0, 0, 0, 0, 56,218, 24, 3, 0, 0, 0, 0,
+ 56,218, 24, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 42,251, 2, 0, 0, 0, 0,
+ 40, 48,251, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,
+ 40,139, 49, 3, 0, 0, 0, 0,166, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67,
0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 34,251, 2, 0, 0, 0, 0,
+120, 34,251, 2, 0, 0, 0, 0, 88,171, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 12, 0, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, 88,171, 20, 3, 0, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0,
+218, 0, 0, 0,101, 0, 0, 0,136,243, 55, 3, 0, 0, 0, 0, 68, 65, 84, 65, 80, 6, 0, 0,136,243, 55, 3, 0, 0, 0, 0,
+219, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,147, 49, 3, 0, 0, 0, 0, 19, 0, 0, 0, 1, 0, 0, 0,
+ 40,147, 49, 3, 0, 0, 0, 0, 20, 0, 0, 0, 1, 0, 0, 0, 40,147, 49, 3, 0, 0, 0, 0, 23, 0, 0, 0, 1, 0, 0, 0,
+ 56,248, 49, 3, 0, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 40,147, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+216,239, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 72, 59, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 53, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+168, 47, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,216, 41, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 8, 36, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 56, 30, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,104, 24, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,152, 18, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,248,251, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,206, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8,184, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 40,208, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 40, 13, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,216, 6, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+248, 43, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8,146, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 56,108, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 72, 23, 52, 3, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 8,146, 50, 3, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0,
+ 8,146, 50, 3, 0, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0, 8,146, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 24, 98, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 40,236, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+168, 92, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 88,228, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 56, 87, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,224, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+248,139, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,232,227, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,120,128, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 72,212, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,232,133, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 72,218, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24, 16, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+120,189, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8,202, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136, 7, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 72, 23, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+104,122, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,104,135, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+168,238, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,103, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 88,192, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 72, 23, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+232, 70, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,104,216, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 88,116, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+200, 81, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8,232, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+152,109, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,200,104, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 72, 23, 52, 3, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0,152,109, 50, 3, 0, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0,
+152,109, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 88, 76, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+136,220, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,104, 1, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 88,207, 49, 3, 0, 0, 0, 0, 30, 0,255,255, 0, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 1, 0,
+160,214,107, 1, 0, 0, 0, 0, 31, 0, 1, 0, 1, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 31, 0, 2, 0, 1, 0, 1, 0,
+160,214,107, 1, 0, 0, 0, 0, 31, 0, 3, 0, 1, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 31, 0, 4, 0, 1, 0, 1, 0,
+160,214,107, 1, 0, 0, 0, 0, 31, 0, 5, 0, 1, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 31, 0, 6, 0, 1, 0, 1, 0,
+160,214,107, 1, 0, 0, 0, 0, 31, 0, 7, 0, 1, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 31, 0, 8, 0, 1, 0, 1, 0,
+160,214,107, 1, 0, 0, 0, 0, 31, 0, 9, 0, 1, 0, 1, 0,160,214,107, 1, 0, 0, 0, 0, 83, 67, 0, 0,184, 5, 0, 0,
+ 40,147, 49, 3, 0, 0, 0, 0,154, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67,112,114,101,118,105,101,119, 0, 0, 99,101,110,101, 46,
+ 48, 48, 49, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248,251, 49, 3, 0, 0, 0, 0,216,239, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,153, 49, 3, 0, 0, 0, 0,
+104,165, 49, 3, 0, 0, 0, 0,104,158, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236, 81,122, 61,230,224,239,192,
+116, 34, 53,192,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64,113, 36,122, 61,
+157, 24,186,192, 28, 38, 71, 64, 2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,165, 49, 3, 0, 0, 0, 0, 56,199, 58, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 25, 0,
+141, 0, 88, 2, 88, 2, 4, 0, 4, 0, 24, 0, 4, 0, 0, 0, 90, 0, 1, 0, 16, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 5, 0, 25, 0, 10, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+232,167, 49, 3, 0, 0, 0, 0,232,167, 49, 3, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0,128, 63,
+ 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 2, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 0, 0, 0,128, 63, 0, 0,128, 63,
+173, 2, 95, 0,154,153,217, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63,102,166,171, 67, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+232,110,224, 1, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0,
+ 32, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 5, 0, 60, 0, 5, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 88, 2, 88, 2,205,204,204, 61, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195,245, 28,193, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,153, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+152,153, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,101, 1,187, 1,
+ 56, 30, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,153, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 8,154, 49, 3, 0, 0, 0, 0, 40,153, 49, 3, 0, 0, 0, 0, 14, 4, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,113, 1,204, 1,
+104, 24, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,154, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+120,154, 49, 3, 0, 0, 0, 0,152,153, 49, 3, 0, 0, 0, 0, 14, 4, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,131, 1,183, 1,
+152, 18, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,154, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+232,154, 49, 3, 0, 0, 0, 0, 8,154, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,224, 46,162, 0,
+ 72, 59, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,154, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 88,155, 49, 3, 0, 0, 0, 0,120,154, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 25, 1, 84, 2,
+ 24, 65, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,155, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+200,155, 49, 3, 0, 0, 0, 0,232,154, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,105, 1, 77, 2,
+120, 53, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,155, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 56,156, 49, 3, 0, 0, 0, 0, 88,155, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,142, 3,183, 0,
+168, 47, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,156, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+168,156, 49, 3, 0, 0, 0, 0,200,155, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,135, 2,121, 1,
+216, 41, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,156, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 24,157, 49, 3, 0, 0, 0, 0, 56,156, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,164, 1, 33, 2,
+ 8, 36, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,157, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+136,157, 49, 3, 0, 0, 0, 0,168,156, 49, 3, 0, 0, 0, 0, 0, 8, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 90, 2,
+248,251, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,157, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+248,157, 49, 3, 0, 0, 0, 0, 24,157, 49, 3, 0, 0, 0, 0, 0, 8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,152, 3, 67, 3,
+ 8,184, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,157, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+104,158, 49, 3, 0, 0, 0, 0,136,157, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,251, 1,225, 1,
+ 40, 13, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,158, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+216,158, 49, 3, 0, 0, 0, 0,248,157, 49, 3, 0, 0, 0, 0, 14, 4, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0,141, 1,200, 1,
+216, 6, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,158, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 72,159, 49, 3, 0, 0, 0, 0,104,158, 49, 3, 0, 0, 0, 0, 0, 4, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 6, 3,138, 2,
+ 8,146, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,159, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+184,159, 49, 3, 0, 0, 0, 0,216,158, 49, 3, 0, 0, 0, 0, 32, 0, 0, 0, 14, 0, 0, 0, 0, 16, 0, 0,224, 1, 10, 2,
+ 24, 98, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,159, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 40,160, 49, 3, 0, 0, 0, 0, 72,159, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 0, 20, 0, 0, 70, 1,168, 1,
+168, 92, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,160, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+152,160, 49, 3, 0, 0, 0, 0,184,159, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 9, 0, 0, 0, 0, 20, 0, 0,115, 1,186, 1,
+ 56, 87, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,160, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 8,161, 49, 3, 0, 0, 0, 0, 40,160, 49, 3, 0, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 78, 1,
+248,139, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,161, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+120,161, 49, 3, 0, 0, 0, 0,152,160, 49, 3, 0, 0, 0, 0, 64, 0, 0, 0, 1, 0, 0, 0, 0, 16, 0, 0, 44, 3,140, 3,
+120,128, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,161, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+232,161, 49, 3, 0, 0, 0, 0, 8,161, 49, 3, 0, 0, 0, 0, 64, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,224, 46,119, 1,
+232,133, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,161, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 88,162, 49, 3, 0, 0, 0, 0,120,161, 49, 3, 0, 0, 0, 0, 32, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 55, 2, 51, 2,
+120,189, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,162, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+200,162, 49, 3, 0, 0, 0, 0,232,161, 49, 3, 0, 0, 0, 0, 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216, 1,187, 1,
+104,122, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,162, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 56,163, 49, 3, 0, 0, 0, 0, 88,162, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,194, 1,205, 1,
+136,103, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,163, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+168,163, 49, 3, 0, 0, 0, 0,200,162, 49, 3, 0, 0, 0, 0, 30, 4, 0, 0, 5, 0, 0, 0, 0, 20, 0, 0, 96, 2, 23, 1,
+232, 70, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,163, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 24,164, 49, 3, 0, 0, 0, 0, 56,163, 49, 3, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,209, 1,211, 1,
+ 88,116, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,164, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+136,164, 49, 3, 0, 0, 0, 0,168,163, 49, 3, 0, 0, 0, 0, 30, 4, 0, 0, 7, 0, 0, 0, 0, 20, 0, 0, 2, 1, 33, 2,
+200, 81, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,164, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+248,164, 49, 3, 0, 0, 0, 0, 24,164, 49, 3, 0, 0, 0, 0, 8, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,180, 1,213, 1,
+152,109, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,164, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+104,165, 49, 3, 0, 0, 0, 0,136,164, 49, 3, 0, 0, 0, 0, 30, 4, 0, 0, 8, 0, 0, 0, 0, 20, 0, 0, 22, 1,126, 1,
+ 88, 76, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,165, 49, 3, 0, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248,164, 49, 3, 0, 0, 0, 0,223, 13, 0, 0, 9, 0, 0, 0, 0, 4, 0, 0, 93, 1,170, 1,
+104, 1, 50, 3, 0, 0, 0, 0, 68, 65, 84, 65,192, 1, 0, 0,216,165, 49, 3, 0, 0, 0, 0,150, 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, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 1, 0,
+205,204, 76, 63, 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0, 32, 0, 32, 0,
+ 32, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 80, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5, 0,255,255, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 23,183,209, 56,
+205,204,204, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,205,204,204, 61,205,204,204, 61,102,102,166, 63, 0, 0,192, 63,
+ 0, 0,240, 65, 72,225,122, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 67, 2, 0, 3, 2, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 63,
+ 68, 65, 84, 65, 88, 0, 0, 0,232,167, 49, 3, 0, 0, 0, 0,136, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 49, 32, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,248, 49, 3, 0, 0, 0, 0,255,255, 15, 0, 0, 0, 0, 0,
+255,127, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 73, 77, 0, 0,240, 1, 0, 0,136,168, 49, 3, 0, 0, 0, 0,
+ 23, 0, 0, 0, 1, 0, 0, 0,136,187, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 73,109, 97,103,101, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,110,116,105,116,108,101,100, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 68, 65, 84, 65,236, 0, 0, 0,
-240,210,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 16,212,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
- 16,212,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,240,210,178, 3, 0, 0,128,192, 0, 0,122, 67, 0, 0,128,192,
- 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 16, 0, 0, 0,
-124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65, 73, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,
-111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,184, 0, 0, 0,
- 48,213,178, 3,250, 0, 0, 0, 1, 0, 0, 0,120,217,178, 3,200,209,178, 3,240,210,178, 3, 16,212,178, 3, 11, 0, 0, 0,
- 51, 51, 51, 63, 0,226,127, 3, 0, 0,128,192, 0, 0,122, 67, 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66,
- 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67,
- 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 24,214,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 56,215,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 10, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,170, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0,184,117, 30, 78, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0,
+200,170, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 56,171, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,
+ 56,171, 49, 3, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 56,215,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 88,216,178, 3, 24,214,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 88,216,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 56,215,178, 3,
- 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,
-108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
-196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,
-205,204,204, 61, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0,120,217,178, 3,157, 0, 0, 0, 1, 0, 0, 0,200,221,178, 3, 48,213,178, 3,
- 24,214,178, 3, 88,216,178, 3, 13, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,160,192,
- 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,196, 0, 0, 0,
-108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61, 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,104,218,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0,136,219,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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, 3, 3,
- 4, 0, 12, 0, 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, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,136,219,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0,168,220,178, 3,104,218,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 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,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168,220,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,136,219,178, 3, 0, 0,160,193, 0,128,167, 67, 0,160,134,196, 0, 0, 0, 0,
- 0, 0,160,193, 0,128,167, 67, 0,160,134,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0,
- 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,221,178, 3,
- 4, 1, 0, 0, 1, 0, 0, 0, 80,227,178, 3,120,217,178, 3,104,218,178, 3,168,220,178, 3, 12, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 0, 0, 2, 66, 0, 0,122,196, 0, 0, 0, 0,
- 0, 0, 0,191, 0, 0, 2, 66, 0, 0,150,194, 0, 0,160, 64,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 14, 2, 0, 0,
-128, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,128, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0, 14, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 70, 0, 0,122, 68, 10,215, 35, 60, 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0,208,222,178, 3,185, 0, 0, 0, 1, 0, 0, 0,240,223,178, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0,240,223,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 16,225,178, 3,208,222,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0, 16,225,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 48,226,178, 3,240,223,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,236, 0, 0, 0, 48,226,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16,225,178, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 52, 0, 0, 0, 80,227,178, 3,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,200,221,178, 3,208,222,178, 3,
- 48,226,178, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0,184,227,178, 3,184, 0, 0, 0, 1, 0, 0, 0,112, 13,179, 3,
-144,214, 76, 1, 24,225,155, 3, 48, 11,156, 3, 0,177,154, 3, 0,219,155, 3, 0, 0, 0, 0, 0, 0, 0, 0,191, 3, 0, 0,
- 0, 0, 0, 0,119, 4, 0, 0, 1, 1,192, 3,120, 4, 1, 0, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,112,172, 65, 1,160,233,178, 3, 8, 13,179, 3, 88,228,178, 3,120,229,178, 3, 0, 0, 0, 0,
- 0, 0, 0, 0,224, 6,158, 3,160, 7,158, 3, 68, 65, 84, 65,236, 0, 0, 0, 88,228,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
-120,229,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,112, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 84, 68, 0, 0,200, 65,
- 0,192, 84, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,192, 3,
- 26, 0,192, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 3, 26, 0, 8, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 72,178, 65, 1,112,168, 78, 1,112,168, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 80, 9,158, 3,
-184, 10,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,120,229,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 88,228,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 3, 0, 0, 26, 0, 0, 0,119, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 3, 94, 4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8,173, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 12,158, 3,
- 96, 16,158, 3, 0, 0, 0, 0,152,230,178, 3, 68, 65, 84, 65,216, 2, 0, 0,152,230,178, 3,145, 0, 0, 0, 1, 0, 0, 0,
-170, 10,163, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 1,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,225,215,163,188, 0, 0, 0, 0,
-197, 56, 16, 63,181,165,214,190,216, 65, 54, 63, 0, 0, 0, 0,103,115, 83, 63,179,248,135, 62,228,147,254,190, 0, 0, 0, 0,
-155,199,158, 60, 68, 64, 94, 63,111,229,253, 62, 0, 0, 0, 0,239,219,254,191,167, 80,144,192,255, 66, 63,194, 0, 0,128, 63,
-229, 56, 16, 63, 90,115, 83, 63,158,201,158, 60, 0, 0, 0, 0,200,165,214,190,182,248,135, 62, 77, 64, 94, 63, 0, 0, 0, 0,
-225, 65, 54, 63, 0,148,254,190,119,229,253, 62, 0, 0, 0, 0,110, 23, 5, 66, 18,118,167,193, 59, 82,221, 65, 0, 0,128, 63,
- 79,180, 55, 63, 62,197,234,190,182, 67, 54,191,216, 65, 54,191, 74,171,134, 63, 4,184,148, 62,128,150,254, 62,228,147,254, 62,
-106, 63,202, 60, 74, 22,115, 63, 9,232,253,190,111,229,253,190,167, 80, 34,192, 55,216,157,192,122, 48, 63, 66,255, 66, 63, 66,
- 76,111,226, 62,122, 2, 38, 63,246,229,120, 60, 0, 84,115,181, 62,141,196,190,172, 3,121, 62, 71, 19, 75, 63, 0, 8,149,183,
- 77, 79,208,196, 76, 13,131, 68,171, 51,173,196, 68, 87, 72,194,156, 58,208, 68,179,254,130,196,138, 37,173, 68, 71, 89, 72, 66,
-197, 56, 16, 63,181,165,214,190,216, 65, 54, 63, 0, 0, 0, 0,103,115, 83, 63,179,248,135, 62,228,147,254,190, 0, 0, 0, 0,
-155,199,158, 60, 68, 64, 94, 63,111,229,253, 62, 0, 0, 0, 0, 62,101,214,192,129, 55, 88,192, 98, 89, 45,194, 0, 0,128, 63,
- 79,180, 55, 63, 62,197,234,190,182, 67, 54,191,216, 65, 54,191, 74,171,134, 63, 4,184,148, 62,128,150,254, 62,228,147,254, 62,
-106, 63,202, 60, 74, 22,115, 63, 9,232,253,190,111,229,253,190,101,139, 8,193,181,124,108,192,174, 70, 45, 66, 98, 89, 45, 66,
-180, 25,170, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,180, 25,170, 64, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,180, 25,170, 64, 0, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64, 0, 0,128, 63,
-153, 42, 67, 63,246, 62,229,190,251,142,104,190,131, 17,209,190,141, 8, 56, 66,223,139, 15, 66, 0, 0, 0, 0, 0, 0, 0, 0,
-251, 91,214, 58, 80,127, 4,191,250,204,248,191, 74, 51,155,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,
-160,233,178, 3,146, 0, 0, 0, 1, 0, 0, 0, 0,237,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,139, 48, 63,240,151, 31,191,155, 98,151,190,
- 77, 45, 97,190,141, 8, 56, 66, 0, 0, 0, 0,255, 13, 0, 0, 1, 0, 0, 0,232,119,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 8, 24, 0, 0, 0, 0, 0, 0, 12, 66,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,250, 67, 80,127, 4,191,250,204,248,191, 74, 51,155,192,
- 96,199, 41,188,225,230, 30,193,216,129,230, 63, 20, 0, 0, 0, 7, 0, 10, 0,159, 0, 0, 0, 1, 0, 1, 0, 3, 0,255,255,
- 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,192,234,178, 3,185, 0, 0, 0, 1, 0, 0, 0,224,235,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 55, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,213, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,174, 6, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,192,213, 68, 0, 0,200, 65, 0,192,213, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,175, 6, 26, 0,175, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,174, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-175, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,224,235,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,192,234,178, 3, 0, 0, 0, 0, 0, 0, 22, 67,
- 0, 0, 0, 0, 0, 0, 22, 67,181,129,166,192,181,129,198, 64,218, 64, 71,192,109,160,131, 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,175, 6, 0, 0,
- 0, 0, 0, 0, 60, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,174, 6, 0, 0, 26, 0, 0, 0, 85, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-175, 6, 60, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-136, 0, 0, 0, 0,237,178, 3,156, 0, 0, 0, 1, 0, 0, 0,192, 78,174, 3,160,233,178, 3,192,234,178, 3,224,235,178, 3,
- 6, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 83,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-184,237,178, 3,185, 0, 0, 0, 1, 0, 0, 0,216,238,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-216,238,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,184,237,178, 3, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196,
- 0, 0,100, 67,197,197,136, 55,118,209, 78, 68, 40,222,231,195,172,158, 25, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 2, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0,
-192, 78,174, 3,151, 0, 0, 0, 1, 0, 0, 0, 88,243,178, 3, 0,237,178, 3,184,237,178, 3,216,238,178, 3, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
- 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196, 0, 0,100, 67,197,197,136, 55,118,209, 78, 68, 40,222,231,195,172,158, 25, 67,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67,
- 0, 0, 0, 63, 72,225,154, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,235, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0,150, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,248,239,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 24,241,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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, 3, 3,
- 4, 0, 12, 0, 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, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 24,241,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 56,242,178, 3,248,239,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 56,242,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 24,241,178, 3, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63,
- 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0,
- 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0,
- 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,196, 0, 0, 0, 88,243,178, 3,
-150, 0, 0, 0, 1, 0, 0, 0,144,246,178, 3,192, 78,174, 3,248,239,178, 3, 56,242,178, 3, 2, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63,
- 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0,
- 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 80,244,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
-112,245,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,112,245,178, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 80,244,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,124, 2, 0, 0,144,246,178, 3,158, 0, 0, 0, 1, 0, 0, 0,
-128,251,178, 3, 88,243,178, 3, 80,244,178, 3,112,245,178, 3, 9, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 45, 96, 1, 0, 0, 0, 0, 62, 0, 0, 0, 32, 0, 1, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 5, 0, 0, 0, 17, 0, 0, 0,225, 2, 0, 0,
-227, 2, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0,207, 2, 0, 0,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1227,281 +1441,59 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0, 64,249,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 96,250,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0, 96,250,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64,249,178, 3, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 18, 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-248, 0, 0, 0,128,251,178, 3,155, 0, 0, 0, 1, 0, 0, 0,232,254,178, 3,144,246,178, 3, 64,249,178, 3, 96,250,178, 3,
- 3, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 68, 65, 84, 65,236, 0, 0, 0,168,252,178, 3,185, 0, 0, 0, 1, 0, 0, 0,200,253,178, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,200,253,178, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-168,252,178, 3, 0, 0,128,192, 0, 0,122, 67, 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192,
- 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70,
- 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,184, 0, 0, 0,232,254,178, 3,250, 0, 0, 0, 1, 0, 0, 0, 48, 3,179, 3,
-128,251,178, 3,168,252,178, 3,200,253,178, 3, 11, 0, 0, 0, 51, 51, 51, 63,248,254,127, 3, 0, 0,128,192, 0, 0,122, 67,
- 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
- 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,208,255,178, 3,
-185, 0, 0, 0, 1, 0, 0, 0,240, 0,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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, 3, 3,
- 4, 0, 12, 0, 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, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,240, 0,179, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 16, 2,179, 3,208,255,178, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 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,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 16, 2,179, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,240, 0,179, 3, 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68,
- 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
-196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0,
- 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0, 48, 3,179, 3,
-157, 0, 0, 0, 1, 0, 0, 0,128, 7,179, 3,232,254,178, 3,208,255,178, 3, 16, 2,179, 3, 13, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,
-124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,
-108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61,
- 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 32, 4,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 64, 5,179, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 64, 5,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 96, 6,179, 3, 32, 4,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 96, 6,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 5,179, 3,
- 0, 0,160,193, 0, 0, 8, 68, 0,160,134,196, 0, 0, 0, 0, 0, 0,160,193, 0, 0, 8, 68, 0,160,134,196, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70,
- 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128, 7,179, 3, 4, 1, 0, 0, 1, 0, 0, 0, 8, 13,179, 3, 48, 3,179, 3,
- 32, 4,179, 3, 96, 6,179, 3, 12, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,191, 0, 0, 2, 66, 0, 0,122,196, 0, 0, 0, 0, 0, 0, 0,191, 0, 0, 2, 66, 0, 0,150,194, 0, 0,160, 64,
-108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 14, 2, 0, 0,128, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
-128, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 70, 0, 0,122, 68,
- 10,215, 35, 60, 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,136, 8,179, 3,185, 0, 0, 0,
- 1, 0, 0, 0,168, 9,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 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, 3, 3, 4, 0, 12, 0,
- 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, 1, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168, 9,179, 3,185, 0, 0, 0,
- 1, 0, 0, 0,200, 10,179, 3,136, 8,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 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, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,200, 10,179, 3,185, 0, 0, 0,
- 1, 0, 0, 0,232, 11,179, 3,168, 9,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,232, 11,179, 3,185, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,200, 10,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0,
- 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 52, 0, 0, 0, 8, 13,179, 3,154, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,128, 7,179, 3,136, 8,179, 3,232, 11,179, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0,
-112, 13,179, 3,184, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,184,227,178, 3,144, 72,160, 3, 0,177,154, 3,136, 3,156, 3,
-216, 12,156, 3, 0, 0, 0, 0,193, 3, 0, 0, 7, 6, 0, 0, 45, 3, 0, 0,119, 4, 0, 0, 3, 3, 71, 2, 75, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,169, 65, 1, 80, 16,179, 3,
-216, 62,179, 3, 16, 14,179, 3, 48, 15,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,216, 16,158, 3,152, 17,158, 3, 68, 65, 84, 65,
-236, 0, 0, 0, 16, 14,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 48, 15,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,190, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 17, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 2, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 3, 68, 0, 0,200, 65, 0,128, 3, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 71, 2, 26, 0, 71, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-193, 3, 0, 0, 7, 6, 0, 0, 45, 3, 0, 0, 70, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 2, 26, 0, 10, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,170, 65, 1,112,145,203, 3,
-112,145,203, 3, 0, 0, 0, 0, 0, 0, 0, 0, 72, 19,158, 3,192, 19,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0, 48, 15,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16, 14,179, 3, 0, 0, 0, 0, 0,128,241, 67,
- 0, 0,210,195, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 13, 68, 0,128,143,195, 0, 0, 0, 0, 54, 2, 0, 0, 71, 2, 0, 0,
- 18, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 0, 53, 2, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 53, 2, 0, 0,
- 18, 0, 0, 0, 48, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 18, 0, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0, 71, 2, 49, 1, 54, 2, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-193, 3, 0, 0, 7, 6, 0, 0, 71, 3, 0, 0,119, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 2, 49, 1, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,169, 65, 1,240,149,203, 3,
-240,149,203, 3, 0, 0, 0, 0, 0, 0, 0, 0,136, 21,158, 3,120, 22,158, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-248, 0, 0, 0, 80, 16,179, 3,155, 0, 0, 0, 1, 0, 0, 0,184, 26,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67,
- 0, 0,209,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 67, 0, 0,190,195, 0, 0, 0,181, 0, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0,124, 1, 0, 0, 0, 0,190,195, 0, 0,190,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108, 1,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184, 67,199, 3,184, 67,199, 3,136,177,163, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 12, 0, 1, 0, 0, 0, 68, 65, 84, 65, 12, 0, 0, 0,136,177,163, 3,208, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
-164, 0, 0, 0,232, 21,199, 3, 68, 65, 84, 65,176, 7, 0, 0,232, 21,199, 3,207, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,160, 63,179, 3, 19, 0, 0, 0, 1, 0, 0, 0,160, 63,179, 3, 20, 0, 0, 0, 1, 0, 0, 0,160, 63,179, 3,
- 23, 0, 0, 0, 1, 0, 0, 0,168,141,156, 3, 21, 0, 1, 0, 1, 0, 0, 0,160, 63,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 24,112,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,203,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,112,104,184, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,199,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 64, 91,184, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 80,195,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 16, 78,184, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 80,191,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,224, 64,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,187,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,176, 51,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,183,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,128, 38,184, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,179,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80, 25,184, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,175,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 32, 12,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,171,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,240,254,183, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80,167,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,192,241,183, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 80,163,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,144,228,183, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 80,159,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 96,215,183, 3, 0, 0, 0, 0, 1, 0, 0, 0,136,155,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 80,173,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,248,151,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 40,130,183, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,104,148,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 87,183, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,216,144,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-240, 44,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 72,141,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,224, 2,183, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,184,137,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,184,215,182, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-232,119,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 85,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 8, 57,181, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 8, 87,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 40,134,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,168,181,182, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,152,130,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
-112, 96,182, 3, 0, 0, 0, 0, 1, 0, 0, 0,184, 4,180, 3, 0, 0, 0, 0, 1, 0, 0, 0, 8,208,182, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,232, 71,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,208, 91,181, 3, 9, 0, 0, 0, 1, 0, 0, 0,184, 4,180, 3,
- 10, 0, 0, 0, 1, 0, 0, 0,184, 4,180, 3, 29, 0, 0, 0, 1, 0, 0, 0,184, 4,180, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 32,225,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 40,109,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,176,228,179, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,216,194,182, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,144,221,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,248,102,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0,218,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 8,100,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,184, 0,180, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 64,193,186, 3, 0, 0, 0, 0, 1, 0, 0, 0, 8,127,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152,139,182, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0, 1, 0, 0, 0, 40,249,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 72, 90,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,184,252,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,144,185,186, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,168, 85,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 60,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,160,170,186, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,200, 78,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,208, 91,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 40,245,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,160,117,184, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,176,232,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,216,162,186, 3, 0, 0, 0, 0, 1, 0, 0, 0,208, 91,181, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 80,207,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,136, 93,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 40,241,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,112,214,179, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,232,105,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,176,236,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,176, 94,181, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,208, 91,181, 3, 9, 0, 0, 0, 1, 0, 0, 0,176,236,179, 3, 10, 0, 0, 0, 1, 0, 0, 0,
-176,236,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,224,210,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,200, 96,179, 3, 0, 0, 0, 0,
- 1, 0, 0, 0,120,123,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 80, 86,179, 3, 30, 0,255,255, 0, 0, 1, 0,112,152,230, 0,
- 31, 0, 0, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 1, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 2, 0, 1, 0, 1, 0,
-112,152,230, 0, 31, 0, 3, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 4, 0, 0, 0, 1, 0,112,152,230, 0, 31, 0, 5, 0,
- 1, 0, 1, 0,112,152,230, 0, 31, 0, 6, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 7, 0, 1, 0, 1, 0,112,152,230, 0,
- 31, 0, 8, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 9, 0, 1, 0, 1, 0,112,152,230, 0, 30, 0,255,255, 0, 0, 1, 0,
-112,152,230, 0, 31, 0, 0, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 1, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 2, 0,
- 1, 0, 1, 0,112,152,230, 0, 31, 0, 3, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 10, 0, 1, 0, 1, 0,112,152,230, 0,
- 31, 0, 11, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 12, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-112,152,230, 0, 31, 0, 14, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 15, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 16, 0,
- 1, 0, 0, 0,112,152,230, 0, 31, 0, 17, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 18, 0, 1, 0, 0, 0,112,152,230, 0,
- 31, 0, 19, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 20, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-112,152,230, 0, 31, 0, 22, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 23, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 24, 0,
- 1, 0, 0, 0,112,152,230, 0, 31, 0, 25, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 26, 0, 1, 0, 0, 0,112,152,230, 0,
- 31, 0, 27, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 28, 0, 1, 0, 0, 0,112,152,230, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-112,152,230, 0, 31, 0, 4, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 5, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 6, 0,
- 1, 0, 1, 0,112,152,230, 0, 31, 0, 7, 0, 1, 0, 1, 0,112,152,230, 0, 31, 0, 8, 0, 1, 0, 1, 0,112,152,230, 0,
- 31, 0, 9, 0, 1, 0, 1, 0,112,152,230, 0, 68, 65, 84, 65,236, 0, 0, 0,120, 24,179, 3,185, 0, 0, 0, 1, 0, 0, 0,
-152, 25,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,217, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 3, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 3, 68, 0, 0,200, 65,
- 0,128, 3, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 15, 2,
- 26, 0, 15, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 3, 0, 0, 99, 5, 0, 0, 17, 3, 0, 0, 42, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,152, 25,179, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,120, 24,179, 3, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67,254,127, 7,191,255,191,195, 63,
-247,255,163,189,255, 63,138, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 3, 0, 0, 99, 5, 0, 0, 43, 3, 0, 0, 83, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 2, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 0, 0, 0,184, 26,179, 3,156, 0, 0, 0, 1, 0, 0, 0,
-184, 32,179, 3, 80, 16,179, 3,120, 24,179, 3,152, 25,179, 3, 6, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 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, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,112, 27,179, 3,185, 0, 0, 0, 1, 0, 0, 0,144, 28,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,144, 28,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-112, 27,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,176, 29,179, 3, 68, 65, 84, 65,216, 2, 0, 0,176, 29,179, 3,145, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 0, 0,240, 1, 0, 0,136,187, 49, 3, 0, 0, 0, 0,
+ 23, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,168, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 82,101,110,100,101,114, 32, 82,101,115,117,108,116, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1512,100 +1504,45 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 5, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 0,200,189, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 94,122, 30, 78, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0,
+200,189, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 56,190, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,
+ 56,190, 49, 3, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,252, 83, 63,
-104, 25,223,190,115, 52, 40, 62,119,211,159, 62, 96,183,198, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-163,146, 22,189,174, 51,122,190, 29,244, 58,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,184, 32,179, 3,
-146, 0, 0, 0, 1, 0, 0, 0, 24, 36,179, 3,184, 26,179, 3,112, 27,179, 3,144, 28,179, 3, 1, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84,252, 83, 63,104, 25,223,190,115, 52, 40, 62,119,211,159, 62,
- 96,183,198, 65, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,232,119,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,250, 67,163,146, 22,189,174, 51,122,190, 29,244, 58,192, 0, 0,224, 54,
- 56,146, 88, 63,198, 37, 71, 64, 20, 0, 0, 0, 7, 0, 10, 0,115, 0, 0, 0, 1, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-216, 33,179, 3,185, 0, 0, 0, 1, 0, 0, 0,248, 34,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-248, 34,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216, 33,179, 3, 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196,
- 0, 0,100, 67,197,197,136, 55,118,209, 78, 68, 40,222,231,195,172,158, 25, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67, 0, 0, 0, 63, 72,225,154, 63, 10, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,
-111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0,
- 24, 36,179, 3,151, 0, 0, 0, 1, 0, 0, 0,144, 40,179, 3,184, 32,179, 3,216, 33,179, 3,248, 34,179, 3, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
- 0, 0, 0, 0, 0, 0,160, 68, 0, 0, 46,196, 0, 0,100, 67,197,197,136, 55,118,209, 78, 68, 40,222,231,195,172,158, 25, 67,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 40, 66, 0, 0, 0, 69, 0, 0,225, 67,
- 0, 0, 0, 63, 72,225,154, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233, 3,235, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0,150, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 48, 37,179, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 80, 38,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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, 3, 3,
- 4, 0, 12, 0, 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, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 80, 38,179, 3,
-185, 0, 0, 0, 1, 0, 0, 0,112, 39,179, 3, 48, 37,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,112, 39,179, 3,
-185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 80, 38,179, 3, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63,
- 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0,
- 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0,
- 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,196, 0, 0, 0,144, 40,179, 3,
-150, 0, 0, 0, 1, 0, 0, 0,200, 43,179, 3, 24, 36,179, 3, 48, 37,179, 3,112, 39,179, 3, 2, 0, 0, 0, 51, 51, 51, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67,205,204,204,189,205,204,140, 63,
- 0, 0,128, 63, 0, 0,122, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,235, 2, 0, 0,
- 16, 0, 0, 0,168, 3, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0,168, 3, 0, 0, 16, 0, 0, 0,235, 2, 0, 0,
- 10,215, 35, 60, 10,215, 35, 60, 0, 96,106, 70, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,136, 41,179, 3,185, 0, 0, 0, 1, 0, 0, 0,
-168, 42,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,168, 42,179, 3,185, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,136, 41,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,124, 2, 0, 0,200, 43,179, 3,158, 0, 0, 0, 1, 0, 0, 0,
-184, 48,179, 3,144, 40,179, 3,136, 41,179, 3,168, 42,179, 3, 9, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 45, 96, 1, 0, 0, 0, 0, 62, 0, 0, 0, 32, 0, 1, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 5, 0, 0, 0, 17, 0, 0, 0,225, 2, 0, 0,
-227, 2, 0, 0, 5, 0, 0, 0, 17, 0, 0, 0,207, 2, 0, 0,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1621,240 +1558,54 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,120, 46,179, 3,185, 0, 0, 0, 1, 0, 0, 0,152, 47,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-236, 0, 0, 0,152, 47,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,120, 46,179, 3, 0, 0,128,192, 0, 0,122, 67,
- 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192, 0, 0, 72, 66, 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
- 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63, 0,128,129, 67, 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65,
- 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-184, 0, 0, 0,184, 48,179, 3,250, 0, 0, 0, 1, 0, 0, 0, 0, 53,179, 3,200, 43,179, 3,120, 46,179, 3,152, 47,179, 3,
- 11, 0, 0, 0, 51, 51, 51, 63, 0,226,127, 3, 0, 0,128,192, 0, 0,122, 67, 0, 0,128,192, 0, 0,127, 67, 0, 0,128,192,
- 0, 0, 72, 66, 0, 0,128,192, 0, 0,127, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0,128, 63,
- 0,128,129, 67, 0, 0,250, 70, 0,128,129, 67,205,204,204, 61, 0, 0, 32, 65, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,160, 49,179, 3,185, 0, 0, 0, 1, 0, 0, 0,192, 50,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,192, 50,179, 3,185, 0, 0, 0, 1, 0, 0, 0,224, 51,179, 3,
-160, 49,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,224, 51,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
-192, 50,179, 3, 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0,
- 0, 0,182, 67,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0,
- 16, 0, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68,
- 0, 0,122, 68,205,204,204, 61, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0, 0, 53,179, 3,157, 0, 0, 0, 1, 0, 0, 0, 80, 57,179, 3,
-184, 48,179, 3,160, 49,179, 3,224, 51,179, 3, 13, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,122, 68, 0, 0, 0, 0, 0, 0,122, 68,
- 0, 0,160,192, 0, 0,130, 66, 0, 0, 0, 0, 0, 0,182, 67,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,124, 1, 0, 0,
-196, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,196, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,124, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 68, 0, 0,122, 68,205,204,204, 61, 0, 0, 72, 66, 10, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
-240, 53,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 16, 55,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
- 16, 55,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 48, 56,179, 3,240, 53,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,
- 48, 56,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16, 55,179, 3, 0, 0,160,193, 0,128,167, 67, 0,160,134,196,
- 0, 0, 0, 0, 0, 0,160,193, 0,128,167, 67, 0,160,134,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 2, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,
-111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 80, 57,179, 3, 4, 1, 0, 0, 1, 0, 0, 0,216, 62,179, 3, 0, 53,179, 3,240, 53,179, 3, 48, 56,179, 3, 12, 0, 0, 0,
- 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 0, 0, 2, 66, 0, 0,122,196,
- 0, 0, 0, 0, 0, 0, 0,191, 0, 0, 2, 66, 0, 0,150,194, 0, 0,160, 64,108, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
- 14, 2, 0, 0,128, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,128, 0, 0, 0,108, 1, 0, 0, 16, 0, 0, 0,
- 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 70, 0, 0,122, 68, 10,215, 35, 60, 0, 0, 72, 66, 10, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0, 88, 58,179, 3,185, 0, 0, 0, 1, 0, 0, 0,120, 59,179, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 4, 0, 12, 0, 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, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,120, 59,179, 3,185, 0, 0, 0, 1, 0, 0, 0,152, 60,179, 3, 88, 58,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,152, 60,179, 3,185, 0, 0, 0, 1, 0, 0, 0,184, 61,179, 3,120, 59,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,236, 0, 0, 0,184, 61,179, 3,185, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152, 60,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0,111, 3, 0, 0, 0, 0, 0, 0, 79, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 52, 0, 0, 0,216, 62,179, 3,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 80, 57,179, 3,
- 88, 58,179, 3,184, 61,179, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 0, 0,220, 4, 0, 0,160, 63,179, 3,143, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67,112,114,101,118,105,101,119, 0, 0, 99,101,110,101, 46,
- 48, 48, 49, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,119,179, 3, 24,112,179, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 72, 93,178, 3,144, 80,179, 3,240, 74,179, 3, 0, 0, 0, 0,167,253,243, 64,112,165, 81, 63,
-136, 56, 93, 65,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64,113, 36,122, 61,
-157, 24,186,192, 28, 38, 71, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 80,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 1, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 25, 0,141, 0, 88, 2, 88, 2, 4, 0, 4, 0, 0, 0, 24, 0, 4, 0, 0, 0, 0, 0,
- 90, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 5, 0, 25, 0, 10, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,203,159, 3,120,203,159, 3, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 2, 0,
- 1, 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, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 98, 97, 99,107, 98,117,102, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,116,109,112, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,
-205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 6, 0, 0, 0,
- 16, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,173, 2, 95, 0,154,153,217, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,
-180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,103, 75, 1, 1, 0, 0, 0, 1, 0, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 28, 0, 0, 0, 72, 93,178, 3,125, 0, 0, 0, 1, 0, 0, 0,176, 68,179, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,183, 1,208, 0, 80,203,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,176, 68,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 0, 69,179, 3, 72, 93,178, 3, 33, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,183, 1,208, 0, 80,199,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 0, 69,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 80, 69,179, 3,176, 68,179, 3, 33, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0,224, 46, 43, 1, 80,195,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 80, 69,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-160, 69,179, 3, 0, 69,179, 3, 33, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,224, 46, 43, 1, 80,191,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,160, 69,179, 3,125, 0, 0, 0, 1, 0, 0, 0,240, 69,179, 3, 80, 69,179, 3, 33, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 0, 0,224, 46, 66, 2, 80,187,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,240, 69,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 64, 70,179, 3,160, 69,179, 3, 33, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,224, 46, 66, 2, 80,183,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 64, 70,179, 3,125, 0, 0, 0, 1, 0, 0, 0,144, 70,179, 3,240, 69,179, 3, 33, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0,153, 1, 33, 1, 80,179,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,144, 70,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-224, 70,179, 3, 64, 70,179, 3, 33, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,153, 1, 33, 1, 80,175,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,224, 70,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 48, 71,179, 3,144, 70,179, 3, 33, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 36, 1, 92, 1, 80,171,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 48, 71,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-128, 71,179, 3,224, 70,179, 3, 33, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 36, 1, 92, 1, 80,167,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,128, 71,179, 3,125, 0, 0, 0, 1, 0, 0, 0,208, 71,179, 3, 48, 71,179, 3, 33, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 0, 0, 57, 0,210, 1, 80,163,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,208, 71,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 32, 72,179, 3,128, 71,179, 3, 33, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 57, 0,210, 1, 80,159,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 32, 72,179, 3,125, 0, 0, 0, 1, 0, 0, 0,112, 72,179, 3,208, 71,179, 3, 14, 4, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 84, 1,240, 1,136,155,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,112, 72,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-192, 72,179, 3, 32, 72,179, 3, 14, 4, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 84, 1,240, 1,248,151,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,192, 72,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 16, 73,179, 3,112, 72,179, 3, 14, 4, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0,118, 1,235, 1,104,148,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 16, 73,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 96, 73,179, 3,192, 72,179, 3, 14, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,118, 1,235, 1,216,144,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 96, 73,179, 3,125, 0, 0, 0, 1, 0, 0, 0,176, 73,179, 3, 16, 73,179, 3, 14, 4, 0, 0, 5, 0, 0, 0,
- 0, 0, 0, 0, 97, 1, 3, 2, 72,141,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,176, 73,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 0, 74,179, 3, 96, 73,179, 3, 14, 4, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 97, 1, 3, 2,184,137,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 0, 74,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 80, 74,179, 3,176, 73,179, 3, 0, 8, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 15, 1, 76, 1,232,119,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 80, 74,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-160, 74,179, 3, 0, 74,179, 3, 0, 8, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,188, 0, 90, 1, 8, 57,181, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,160, 74,179, 3,125, 0, 0, 0, 1, 0, 0, 0,240, 74,179, 3, 80, 74,179, 3, 33, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 0, 0,174, 0,151, 1, 40,134,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,240, 74,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 64, 75,179, 3,160, 74,179, 3, 14, 4, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0,129, 1,255, 1,152,130,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 64, 75,179, 3,125, 0, 0, 0, 1, 0, 0, 0,144, 75,179, 3,240, 74,179, 3, 0, 4, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0,217, 0,233, 0,184, 4,180, 3, 68, 65, 84, 65, 28, 0, 0, 0,144, 75,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-224, 75,179, 3, 64, 75,179, 3, 32, 0, 0, 0, 14, 0, 0, 0, 0, 16, 0, 0,116, 0, 27, 1, 32,225,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,224, 75,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 48, 76,179, 3,144, 75,179, 3, 33, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 0, 0,174, 0,151, 1,176,228,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 48, 76,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-128, 76,179, 3,224, 75,179, 3, 1, 0, 0, 0, 15, 0, 0, 0, 0, 20, 0, 0, 12, 0,160, 0,144,221,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,128, 76,179, 3,125, 0, 0, 0, 1, 0, 0, 0,208, 76,179, 3, 48, 76,179, 3, 1, 0, 0, 0, 16, 0, 0, 0,
- 0, 20, 0, 0,175, 0,161, 0, 0,218,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,208, 76,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 32, 77,179, 3,128, 76,179, 3, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,163, 1,254, 1,184, 0,180, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 32, 77,179, 3,125, 0, 0, 0, 1, 0, 0, 0,112, 77,179, 3,208, 76,179, 3, 14, 4, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0,129, 1,255, 1, 8,127,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,112, 77,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-192, 77,179, 3, 32, 77,179, 3, 64, 0, 0, 0, 1, 0, 0, 0, 0, 16, 0, 0,238, 0,122, 1, 40,249,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,192, 77,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 16, 78,179, 3,112, 77,179, 3, 64, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0,237, 0,119, 1,184,252,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 16, 78,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 96, 78,179, 3,192, 77,179, 3, 32, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,152, 0,114, 1,152, 60,181, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 96, 78,179, 3,125, 0, 0, 0, 1, 0, 0, 0,176, 78,179, 3, 16, 78,179, 3, 16, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 22, 1,185, 1, 40,245,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,176, 78,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 0, 79,179, 3, 96, 78,179, 3, 1, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,123, 0, 26, 1,176,232,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 0, 79,179, 3,125, 0, 0, 0, 1, 0, 0, 0, 80, 79,179, 3,176, 78,179, 3, 30, 4, 0, 0, 9, 0, 0, 0,
- 0, 20, 0, 0,109, 2, 57, 1, 80,207,179, 3, 68, 65, 84, 65, 28, 0, 0, 0, 80, 79,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
-160, 79,179, 3, 0, 79,179, 3, 2, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,205, 1, 11, 2, 40,241,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0,160, 79,179, 3,125, 0, 0, 0, 1, 0, 0, 0,240, 79,179, 3, 80, 79,179, 3, 30, 4, 0, 0, 11, 0, 0, 0,
- 0, 20, 0, 0,230, 0, 99, 2,112,214,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,240, 79,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 64, 80,179, 3,160, 79,179, 3, 8, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 4, 1,185, 1,176,236,179, 3, 68, 65, 84, 65,
- 28, 0, 0, 0, 64, 80,179, 3,125, 0, 0, 0, 1, 0, 0, 0,144, 80,179, 3,240, 79,179, 3, 30, 4, 0, 0, 12, 0, 0, 0,
- 0, 20, 0, 0,252, 0,171, 1,224,210,179, 3, 68, 65, 84, 65, 28, 0, 0, 0,144, 80,179, 3,125, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 64, 80,179, 3,223, 13, 0, 0, 13, 0, 0, 0, 0, 4, 0, 0, 75, 1,221, 1,120,123,179, 3, 68, 65, 84, 65,
- 36, 1, 0, 0,224, 80,179, 3,141, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 1, 0, 1, 0,205,204, 76, 63, 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0,
- 32, 0, 32, 0, 32, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 80, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5, 0,255,255, 50, 0, 50, 0,
- 10, 0, 0, 0, 50, 0,100, 0, 10, 0, 0, 0, 50, 0, 50, 0, 10, 0, 0, 0, 50, 0, 50, 0, 10, 0, 0, 0, 50, 0, 50, 0,
- 10, 0, 0, 0, 50, 0, 50, 0, 10, 0, 0, 0, 50, 0, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,183,209, 56,205,204,204, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,
-205,204,204, 61,205,204,204, 61,102,102,166, 63, 0, 0,192, 63, 0, 0,240, 65, 72,225,122, 63,205,204,204, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 67, 2, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,120,203,159, 3,
-130, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 32, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,141,156, 3,255,255, 15, 0, 0, 0, 0, 0,
-255,127, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 73, 77, 0, 0,128, 1, 0, 0, 56, 82,179, 3, 32, 0, 0, 0,
- 1, 0, 0, 0,232, 83,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 73,109, 97,103,101, 46, 48, 48, 49, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,110,116,105,116,108,101,100,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1862,12 +1613,6 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,108,110,134, 68, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0,128, 63,
- 0, 0,128, 63, 73, 77, 0, 0,128, 1, 0, 0,232, 83,179, 3, 32, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 56, 82,179, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 82,101,110,100,101,114, 32, 82,101,115,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1875,3787 +1620,4009 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 5, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0,116, 41, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 67, 65, 0, 0,136, 0, 0, 0,
-152, 85,179, 3, 30, 0, 0, 0, 1, 0, 0, 0, 80, 86,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,
-109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 9, 0,205,204, 76, 62,117,148, 96, 66, 0, 0,128, 63, 0, 0,112, 66, 0, 0,240, 65, 0, 0,192, 64,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,136, 0, 0, 0, 80, 86,179, 3,
- 30, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152, 85,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97,
- 65,116,109,111, 0, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 13, 0,205,204, 76, 62,145,137, 68, 66, 0, 0,128, 63,210, 69,112, 66, 0, 0, 12, 66,161, 14,234, 64, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,132, 1, 0, 0, 8, 87,179, 3, 40, 0, 0, 0,
- 1, 0, 0, 0, 72, 90,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 46, 48, 48, 49, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,160, 65, 0, 0, 52, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63,192, 88,179, 3, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,
- 0, 2, 3, 0, 1, 0, 0, 0, 0, 2, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
-111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 32, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 89,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,192, 88,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,
-243, 4, 53, 63, 80,160,153, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 80,160,153, 3, 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248, 89,179, 3, 19, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 65, 0, 0,132, 1, 0, 0, 72, 90,179, 3, 40, 0, 0, 0, 1, 0, 0, 0,136, 93,179, 3, 8, 87,179, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 46, 48, 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,160, 65,182,152,143, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 92,179, 3, 1, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64, 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56, 93,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 8, 1, 0, 0, 0, 92,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67,
- 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,152, 93,155, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,136, 0, 0, 0,136,206, 49, 3, 0, 0, 0, 0,
+ 21, 0, 0, 0, 1, 0, 0, 0, 88,207, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 9, 0,205,204, 76, 62,
+ 0, 0,128, 63, 0, 0,112, 66, 0, 0,240, 65, 0, 0,192, 64, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,136, 0, 0, 0, 88,207, 49, 3, 0, 0, 0, 0,
+ 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,206, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 65,116,109,111, 0, 0, 48, 49, 0, 0, 0, 0, 0, 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, 0, 0, 13, 0,205,204, 76, 62,
+ 0, 0,128, 63,210, 69,112, 66, 0, 0, 12, 66,161, 14,234, 64, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0, 40,208, 49, 3, 0, 0, 0, 0,
+ 33, 0, 0, 0, 1, 0, 0, 0, 72,212, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,160, 65, 0, 0, 52, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 72,210, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,
+205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 1, 0, 0, 0, 0, 2, 1, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 32, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,211, 49, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0, 72,210, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 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,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,
+242, 4, 53,191,243, 4, 53, 63,248, 80, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
-152, 93,155, 3, 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 93,179, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,132, 1, 0, 0,
-136, 93,179, 3, 40, 0, 0, 0, 1, 0, 0, 0,200, 96,179, 3, 72, 90,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,
-111,116, 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, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 16, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 64, 95,179, 3, 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66,
- 0, 0,128, 63, 0, 0, 64, 64, 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
+248, 80, 20, 3, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,211, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0, 72,212, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0,
+104,216, 49, 3, 0, 0, 0, 0, 40,208, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 65, 76, 97,109,112, 46, 48, 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,160, 65,182,152,143, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,104,214, 49, 3, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 96,179, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0, 64, 95,179, 3, 55, 1, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,
-242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,136,164,154, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,215, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+104,214, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 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,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,
+120,136,192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136,164,154, 3, 53, 1, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-120, 96,179, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,132, 1, 0, 0,200, 96,179, 3, 40, 0, 0, 0, 1, 0, 0, 0,
- 8,100,179, 3,136, 93,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
-128, 98,179, 3, 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64, 64, 11, 3, 0,
- 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 99,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,128, 98,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,
- 32,253,157, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,120,136,192, 1, 0, 0, 0, 0,
+ 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,248,215, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 65, 0, 0,216, 1, 0, 0,104,216, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0,136,220, 49, 3, 0, 0, 0, 0,
+ 72,212, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,111,116, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 16, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,
+154,153, 25, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,136,218, 49, 3, 0, 0, 0, 0, 2, 0, 0, 0, 46, 26,128, 63,
+ 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24,220, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,136,218, 49, 3, 0, 0, 0, 0,
+ 79, 1, 0, 0, 1, 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,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,168,135,192, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,168,135,192, 1, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+ 24,220, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0,
+136,220, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0,168,224, 49, 3, 0, 0, 0, 0,104,216, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 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,
+ 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63,168,222, 49, 3, 0, 0, 0, 0, 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66,
+ 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56,224, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,168,222, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 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,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63, 72,151, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 0, 0, 0, 32,253,157, 3, 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184, 99,179, 3, 19, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 65, 0, 0,132, 1, 0, 0, 8,100,179, 3, 40, 0, 0, 0, 1, 0, 0, 0,248,102,179, 3,200, 96,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65,
- 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,200,182, 27, 63, 0, 0,128, 63,192,101,179, 3, 1, 0, 0, 0, 46, 26,128, 63,
- 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64, 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0, 72,151, 17, 3, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,224, 49, 3, 0, 0, 0, 0,
+ 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0,168,224, 49, 3, 0, 0, 0, 0,
+ 33, 0, 0, 0, 1, 0, 0, 0, 88,228, 49, 3, 0, 0, 0, 0,136,220, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,200,182, 27, 63, 0, 0,128, 63,
+200,226, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,
+205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,
-192,101,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63, 56,121,154, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0,200,226, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 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,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,
+242, 4, 53,191,243, 4, 53, 63,248,172, 16, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56,121,154, 3,
- 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 65, 0, 0,132, 1, 0, 0,248,102,179, 3, 40, 0, 0, 0, 1, 0, 0, 0,232,105,179, 3, 8,100,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 62,247,255,239, 65,
- 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,200,182, 27, 63, 0, 0,128, 63,176,104,179, 3, 1, 0, 0, 0, 46, 26,128, 63,
- 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64, 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,
-176,104,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63, 24,171,153, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+248,172, 16, 3, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0, 88,228, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0,
+ 8,232, 49, 3, 0, 0, 0, 0,168,224, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 65, 83,112,111,116, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 62,
+247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,200,182, 27, 63, 0, 0,128, 63,120,230, 49, 3, 0, 0, 0, 0,
+ 1, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 24,171,153, 3,
- 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 65, 0, 0,132, 1, 0, 0,232,105,179, 3, 40, 0, 0, 0, 1, 0, 0, 0, 40,109,179, 3,248,102,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 64, 0, 0, 52, 66,
- 0, 0, 72, 66,171,156, 8, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,160,107,179, 3, 2, 0, 0, 0, 78,207, 68, 65,
- 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64, 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+120,230, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 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,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,
+120,165, 16, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,108,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,
-160,107,179, 3, 55, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0,
- 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63, 64,198,153, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,120,165, 16, 3, 0, 0, 0, 0,
+ 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 65, 0, 0,216, 1, 0, 0, 8,232, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 40,236, 49, 3, 0, 0, 0, 0,
+ 88,228, 49, 3, 0, 0, 0, 0, 56, 33, 24, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 83,112,111,116, 46, 48,
+ 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 64, 0, 0, 52, 66, 0, 0, 72, 66,
+171,156, 8, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 40,234, 49, 3, 0, 0, 0, 0, 2, 0, 0, 0, 78,207, 68, 65,
+ 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 64,198,153, 3,
- 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,216,108,179, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,132, 1, 0, 0, 40,109,179, 3,
- 40, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,232,105,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,235, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 40,234, 49, 3, 0, 0, 0, 0,
+ 79, 1, 0, 0, 1, 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,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,136,149, 16, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136,149, 16, 3, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
+184,235, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0,
+ 40,236, 49, 3, 0, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,232, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 63, 0, 0,160, 65, 0, 0, 52, 66,154,153, 25, 62, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63,224,110,179, 3, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66, 0, 0,128, 63,
- 0, 0, 64, 64, 0, 2, 3, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 72,238, 49, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 32, 66, 0, 0, 52, 66,
+ 0, 0,128, 63, 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 1, 0, 0,224,110,179, 3, 55, 1, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,
-242, 4, 53,191,243, 4, 53, 63, 96,241,157, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 72,238, 49, 3, 0, 0, 0, 0, 79, 1, 0, 0, 1, 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,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,184,141, 16, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,184,141, 16, 3, 0, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0,224, 1, 0, 0,216,239, 49, 3, 0, 0, 0, 0,
+129, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,170,159, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 87,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+233,150, 10, 61,119, 32, 14, 62, 31,130,137, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+205,204, 28, 65, 0, 0, 0, 0, 1, 0, 32, 0,128, 0, 5, 0, 60, 0, 5, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0,
+ 0, 0,112, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 61,
+ 0, 0, 5, 0, 3, 0, 0, 0, 10,215,163, 59, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 8,242, 49, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,242, 49, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 84, 88, 0, 0,176, 0, 0, 0,120,242, 49, 3, 0, 0, 0, 0, 19, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 84, 88, 84,101,120,116, 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, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0,120,243, 49, 3, 0, 0, 0, 0,
+120,243, 49, 3, 0, 0, 0, 0,120,243, 49, 3, 0, 0, 0, 0,120,243, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,243, 49, 3, 0, 0, 0, 0,255,255,255,255, 0, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,243, 49, 3, 0, 0, 0, 0,
+ 17, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,180, 16, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 69, 82, 70, 68, 65, 84, 65, 4, 0, 0, 0, 40,180, 16, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 71, 82, 0, 0,104, 0, 0, 0, 56,248, 49, 3, 0, 0, 0, 0, 7, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 71, 82, 79,118,101,114,114,105,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,248, 49, 3, 0, 0, 0, 0,136,251, 49, 3, 0, 0, 0, 0,255,255, 15, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,248, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0, 88,249, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 98, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,249, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0,200,249, 49, 3, 0, 0, 0, 0,232,248, 49, 3, 0, 0, 0, 0,168, 92, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,249, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0, 56,250, 49, 3, 0, 0, 0, 0, 88,249, 49, 3, 0, 0, 0, 0, 56, 87, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,250, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0,168,250, 49, 3, 0, 0, 0, 0,200,249, 49, 3, 0, 0, 0, 0,120,128, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,250, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0, 24,251, 49, 3, 0, 0, 0, 0, 56,250, 49, 3, 0, 0, 0, 0,232, 70, 50, 3, 0, 0, 0, 0, 40,181,151, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,251, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0,136,251, 49, 3, 0, 0, 0, 0,168,250, 49, 3, 0, 0, 0, 0,200, 81, 50, 3, 0, 0, 0, 0,168,218,225, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,251, 49, 3, 0, 0, 0, 0, 6, 1, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,251, 49, 3, 0, 0, 0, 0, 88, 76, 50, 3, 0, 0, 0, 0, 40, 6,154, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,248,251, 49, 3, 0, 0, 0, 0,116, 0, 0, 0,
+ 1, 0, 0, 0,104, 1, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,136,206, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 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, 78,199, 41,188,
+225,230, 30,193,216,129,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0, 0,128,
+ 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,105, 33,162, 51, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33,162, 51, 0, 0, 0, 0,
+ 78,199, 41,188,225,230, 30,193,216,129,230, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 64, 90,136, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 64, 90,136,176, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 64, 90,136,176, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,104, 1, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,216, 6, 50, 3,
+ 0, 0, 0, 0,248,251, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97,
+109,101,114, 97, 65,116,109,111, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 88,207, 49, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 96,241,157, 3, 53, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0,112, 1, 0, 0, 24,112,179, 3,
-124, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 87,111,114,108,100, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,141, 47, 79, 62, 64, 19,209, 62, 73, 23, 14, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0, 1, 0, 32, 0,128, 0, 5, 0,
- 60, 0, 5, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,112, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 61, 0, 0, 5, 0, 0, 0, 0, 0, 10,215,163, 59, 0, 0, 0, 0,
- 0, 0,128, 62, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,184,113,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-184,113,179, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 88, 0, 0,120, 0, 0, 0,224, 45, 96, 1, 28, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 88, 84,101,120,116, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0,
- 0, 89,155, 3, 0, 89,155, 3, 0, 89,155, 3, 0, 89,155, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8,114,179, 3,255,255,255,255, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
- 0, 89,155, 3, 26, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,127,159, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 69, 69, 82, 70, 68, 65, 84, 65, 4, 0, 0, 0,240,127,159, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 71, 82, 0, 0,
- 76, 0, 0, 0,168,141,156, 3,252, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 71, 82, 79,118,101,114,114,105,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,122, 74, 1,160,119,179, 3,255,255, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 24, 0, 0, 0,104,122, 74, 1,251, 0, 0, 0, 1, 0, 0, 0, 56,118,179, 3, 0, 0, 0, 0, 32,225,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56,118,179, 3,251, 0, 0, 0, 1, 0, 0, 0,128,118,179, 3,
-104,122, 74, 1,144,221,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,128,118,179, 3,
-251, 0, 0, 0, 1, 0, 0, 0,200,118,179, 3, 56,118,179, 3, 0,218,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 24, 0, 0, 0,200,118,179, 3,251, 0, 0, 0, 1, 0, 0, 0, 16,119,179, 3,128,118,179, 3, 40,249,179, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 16,119,179, 3,251, 0, 0, 0, 1, 0, 0, 0,
- 88,119,179, 3,200,118,179, 3, 80,207,179, 3,192, 36,203, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
- 88,119,179, 3,251, 0, 0, 0, 1, 0, 0, 0,160,119,179, 3, 16,119,179, 3,112,214,179, 3,200,104,155, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,160,119,179, 3,251, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 88,119,179, 3,
-224,210,179, 3,136, 77,156, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,232,119,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,120,123,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152, 85,179, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,199, 41,188,225,230, 30,193,216,129,230, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33,162, 51, 0, 0, 0, 0, 78,199, 41,188,225,230, 30,193,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,173, 47,244, 63,162,155,113, 37, 40, 80,170, 37, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 40, 80,170, 37,162,155,113,165, 0, 0, 0, 0, 39, 80,170, 37,157, 64,169,190,
+163,155,113, 63, 0, 0, 0, 0,165,155,113, 37,163,155,113,191,157, 64,169,190, 0, 0, 0, 0, 78,199, 41,188,225,230, 30,193,
216,129,230, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 64, 90,136, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 64, 90,136,176, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 40, 19,212, 50,
- 63,252, 17,180, 0, 0,128, 63, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,187, 35, 58,154,139, 2,174, 25, 0, 0, 0, 0,151, 29,171, 37, 1, 0,128, 63,
+ 33,110, 77, 51, 0, 0, 0, 0,135,255,255, 45,158, 64,169, 50, 0, 0,128, 63, 0, 0, 0, 0, 30, 0,128, 48, 5, 80, 56, 53,
+157,216,128, 52, 0, 0,128, 63, 0, 0,128, 63, 38, 80,170, 37,163,155,113, 37, 0, 0, 0, 0, 0, 0, 0, 0,158, 64,169,190,
+162,155,113,191, 0, 0, 0, 0, 0, 0, 0,174,164,155,113, 63,157, 64,169,190, 0, 0, 0, 0, 77,199, 41, 60,158,113,159,192,
+150,113, 12,193, 0, 0,128, 63, 0, 0,128, 63, 40, 80,170, 37,166,155,113, 37, 0, 0, 0, 0,162,155,113,165,164,155,113, 63,
+158, 64,169,190, 0, 0, 0, 0, 40, 80,170,165,159, 64,169, 62,162,155,113, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63,223, 13, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0, 79, 66, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+187,225, 16, 63, 0, 0,128, 63,205,204,204, 62,210, 32, 80, 63, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 0, 0, 92, 3, 0, 0,120,123,179, 3,115, 0, 0, 0, 1, 0, 0, 0, 8,127,179, 3,232,119,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97, 65,116,109,111, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 1, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 86,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 78,199, 41,188,225,230, 30,193,216,129,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-173, 47,244, 63,162,155,113, 37, 40, 80,170, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 40, 80,170, 37,
-162,155,113,165, 0, 0, 0, 0, 39, 80,170, 37,157, 64,169,190,163,155,113, 63, 0, 0, 0, 0,165,155,113, 37,163,155,113,191,
-157, 64,169,190, 0, 0, 0, 0, 78,199, 41,188,225,230, 30,193,216,129,230, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,187, 35, 58,154,
-139, 2,174, 25, 0, 0, 0, 0,151, 29,171, 37, 1, 0,128, 63, 33,110, 77, 51, 0, 0, 0, 0,135,255,255, 45,158, 64,169, 50,
- 0, 0,128, 63, 0, 0, 0, 0, 30, 0,128, 48, 5, 80, 56, 53,157,216,128, 52, 0, 0,128, 63, 0, 0,128, 63, 39, 80,170, 37,
-166,155,113, 37, 0, 0, 0, 0,162,155,113,165,164,155,113, 63,158, 64,169,190, 0, 0, 0, 0, 40, 80,170,165,159, 64,169, 62,
-162,155,113, 63, 0, 0, 0, 0,144, 57, 41, 26,134,234,185,178,154,138, 18,180, 0, 0,128, 63,223, 13, 0, 0, 0, 4, 0, 0,
- 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,187,225, 16, 63, 0, 0,128, 63,205,204,204, 62,210, 32, 80, 63,
- 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,
+ 32, 5, 0, 0,216, 6, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 40, 13, 50, 3, 0, 0, 0, 0,104, 1, 50, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
+ 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 8,127,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,152,130,179, 3,120,123,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 49, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,136,152, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 43, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+ 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,248,188,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,139,182, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,233, 19, 3, 0, 0, 0, 0, 56, 90, 17, 3,
+ 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,184, 71,158, 3,240, 71,158, 3, 1, 0, 0, 0, 1, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 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,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 64, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,113, 36,122, 61,157, 24,186,192,
- 28, 38, 71, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 38, 13, 49,213,214,162, 50,
- 0, 0,128, 63, 0, 0, 0, 0, 72, 95,202, 47,255,255,127,191,162,181,187, 51, 0, 0, 0, 0, 34, 75,146,189, 36,181,131,192,
- 95,202,167,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,113, 36,122,189,157, 24,186, 64, 28, 38, 71,192, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0,255,255,127,191, 0, 0,192, 51, 0, 0, 0, 0, 34, 75,146,189, 36,181,131,192, 95,202,167,191, 0, 0,128, 63,
+ 14, 4, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,
+205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0,
+ 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 12, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 8,137, 3, 3,
+ 0, 0, 0, 0,200,144, 3, 3, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-248,164,206, 3,248,176,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,184, 71,158, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-240, 71,158, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,152,130,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 40,134,179, 3, 8,127,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 16, 0, 0, 0,120,233, 19, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 4, 0, 0, 0, 56, 90, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,
+ 72, 12, 50, 3, 0, 0, 0, 0,119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160,254,198, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 96,182, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0,104, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 40, 13, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,
+152, 18, 50, 3, 0, 0, 0, 0,216, 6, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
+ 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, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,163,160, 3,240,159,160, 3, 1, 0, 0, 0, 1, 0, 0, 0,113, 36,122, 61,157, 24,186,192, 28, 38, 71, 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,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,113, 36,122, 61,157, 24,186,192,
- 28, 38, 71, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 38, 13, 49,213,214,162, 50,
- 0, 0,128, 63, 0, 0, 0, 0, 72, 95,202, 47,255,255,127,191,162,181,187, 51, 0, 0, 0, 0, 34, 75,146,189, 36,181,131,192,
- 95,202,167,191, 0, 0,128, 63, 14, 4, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,
- 96,244,206, 3,120,243,198, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 40,163,160, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-240,159,160, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 40,134,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,184,137,179, 3,152,130,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,181,182, 3, 0, 0, 0, 0,
+ 56,225, 20, 3, 0, 0, 0, 0,200,105, 17, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0,131,102, 60, 14,112,164, 64,
+ 24,211,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,
+178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,
+178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 0,131,102, 60,
+ 14,112,164, 64, 24,211,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,252,118,143,165, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40,155,
+ 0, 0, 0, 53, 0, 0, 0, 0, 0, 0,128, 63,231,126,201, 61,218,145,171, 48, 0, 0, 0, 0, 0, 0, 0, 0,218,145,171,176,
+231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126,201, 61, 0, 0, 0, 0,232,110,181,186,
+127,109, 1,191,172,228, 52,190, 0, 0,128, 63,231,126,201, 61,219,145,171, 48, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,218,164,
+ 51, 57,255, 49,232,126,201, 61, 0, 0, 0, 0, 0, 0,172, 48,231,126,201,189, 0,192,251, 49, 0, 0, 0, 0, 18,136, 29,187,
+203,200,189,191,180,139, 9, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0,
+ 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
+ 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,159,163, 3, 8,207,156, 3, 1, 0, 0, 0, 1, 0, 0, 0, 0,131,102, 60, 14,112,164, 64, 24,211,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 0,131,102, 60, 14,112,164, 64,
- 24,211,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,252,118,143,165, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40,155, 0, 0, 0, 53,
- 0, 0, 0, 0, 0, 0,128, 63,231,126,201, 61,219,145,171, 48, 32, 19, 70, 29, 0, 0, 0, 0, 65,209,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,235, 66,172, 48,231,126,201,189, 79,216,251, 49, 0, 0, 0, 0, 18,136, 29,187,203,200,189,191,
-139,139, 9, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 16, 0, 0, 0, 56,225, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,200,105, 17, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,152, 18, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,104, 24, 50, 3,
+ 0, 0, 0, 0, 40, 13, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,
+101, 99,107,101,114,115, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,240,159,163, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 8,207,156, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,184,137,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 72,141,179, 3, 40,134,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,136, 3, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 43, 52, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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, 96,164,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,215,182, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,144, 74, 1,104,206,160, 3, 1, 0, 0, 0, 1, 0, 0, 0, 38, 84,207,191, 0,225,239,192, 15,169, 70, 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, 8, 24, 50, 3,
+ 0, 0, 0, 0,232,138, 16, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,179,243,222, 63,139,224,239,192, 28, 38, 71, 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,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33,162, 51,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 38, 84,207,191, 0,225,239,192,
- 15,169, 70, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201,191, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,105, 33,162, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,179,243,222, 63,139,224,239,192,
+ 28, 38, 71, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,105, 33,162, 51, 0, 0, 0, 0, 0, 0, 0, 0, 64, 90,136,176, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,136, 93,191,179,218, 88,190,180,
- 0, 0,128, 52, 0, 0,128, 63, 91,184, 22, 52, 0, 0,128,191, 28,112, 97, 51, 0, 0, 0, 0,104, 33,162, 51,176, 22,140, 39,
- 0, 0,128, 63, 0, 0, 0, 0,255,255,127,191, 0,152, 86,179, 0, 58, 50, 51, 0, 0, 0, 0,131,217, 27,192,152, 0,206,191,
- 70,208,166,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191, 0, 0,160, 51,
+ 0, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,139,224,239,192,174,243,222,191,
+ 28, 38, 71,192, 0, 0,128, 63, 0, 0, 0, 0, 1, 0,128, 63, 0, 0,128, 51, 0, 0, 0, 0,104, 33,162,179, 0, 0,128, 39,
+ 0, 0,128, 63, 0, 0, 0, 0,255,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0,109,218, 27, 64, 67, 71,224,191,
+ 96,202,167,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16,140,206, 3, 56,152,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,144, 74, 1, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-104,206,160, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 72,141,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,216,144,179, 3,184,137,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,216,120, 3, 3, 0, 0, 0, 0,152,128, 3, 3, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120,139,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 2,183, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 0, 0, 0, 8, 24, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,232,138, 16, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 0, 0, 32, 5, 0, 0,104, 24, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 56, 30, 50, 3, 0, 0, 0, 0,
+152, 18, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,
+114,115, 46, 48, 48, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,114,155, 3,152,178,155, 3, 1, 0, 0, 0, 1, 0, 0, 0, 38, 84,207,191, 0,225,239,192, 15,169, 70, 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,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33,162, 51,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 38, 84,207,191, 0,225,239,192,
- 15,169, 70, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,105, 33,162, 51, 0, 0, 0, 0, 0, 0, 0, 0, 64, 90,136,176, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,136, 93,191,179,218, 88,190,180,
- 0, 0,128, 52, 0, 0,128, 63, 91,184, 22, 52, 0, 0,128,191, 28,112, 97, 51, 0, 0, 0, 0,104, 33,162, 51,176, 22,140, 39,
- 0, 0,128, 63, 0, 0, 0, 0,255,255,127,191, 0,152, 86,179, 0, 58, 50, 51, 0, 0, 0, 0,131,217, 27,192,152, 0,206,191,
- 70,208,166,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,120, 3, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 43, 52, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 29, 50, 3, 0, 0, 0, 0,
+ 56,209, 3, 2, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,149, 78,207,191, 65,225,239,192, 28, 38, 71, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,228,203,150,192, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 46,222, 76, 50, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191, 46,222, 76, 50, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,149, 78,207,191, 65,225,239,192, 28, 38, 71, 64,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0,128, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,128, 63, 0, 0, 0, 0, 0, 0,128,179,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 66,225,239, 64,149, 78,207,191, 29, 38, 71,192,
+ 0, 0,128, 63, 0, 0, 0, 0,255,255,127,191, 0, 0, 0, 0, 0, 0, 0, 0,104, 33,162, 51, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,255,255,127,191, 0, 0, 0, 0, 0, 0,128, 51, 0, 0, 0, 0, 2,217, 27,192, 5,251,205,191, 97,202,167,191,
+ 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
+ 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-120,115,206, 3,120,127,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,136,114,155, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-152,178,155, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,216,144,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,104,148,179, 3, 72,141,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224,114,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 44,183, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136, 60,158, 3,144, 64,158, 3, 1, 0, 0, 0, 1, 0, 0, 0, 93, 0,223, 63,205,220,239,192,222,170, 70, 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,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,105, 33,162, 51,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 93, 0,223, 63,205,220,239,192,
-222,170, 70, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,105, 33,162,179,105, 33, 34,167, 0, 0, 0, 0, 64, 90,136, 48, 0, 0,128, 63,
- 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 66, 72,191, 51, 87, 98,185,180,
- 0, 0, 0, 53, 0, 0,128, 63,223,139, 24, 52, 0, 0,128, 63,138, 8, 26,179, 0, 0, 0, 0,104, 33,162,179, 91, 81,180, 39,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2,184,145,179,211, 40, 97, 51, 0, 0, 0, 0,231,225, 27, 64,237, 83,224,191,
-227,211,166,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+168, 65,253, 2, 0, 0, 0, 0,104,112, 3, 3, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,
+216, 29, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 4, 0, 0, 0, 56,209, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0,
+ 32, 5, 0, 0, 56, 30, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 8, 36, 50, 3, 0, 0, 0, 0,104, 24, 50, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
+ 48, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-224, 90,206, 3,224,102,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,136, 60,158, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-144, 64,158, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,104,148,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,248,151,179, 3,216,144,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,104, 23, 20, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 43, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+ 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,224, 59,159, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,183, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 35, 50, 3, 0, 0, 0, 0,200,210, 3, 2,
+ 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,142,127,122, 61,152,212, 18,193, 28, 38, 71, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15, 73,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128,191,105, 33, 34,180, 0, 0, 0, 0, 0, 0, 0, 0,105, 33, 34, 52, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,142,127,122, 61,152,212, 18,193, 28, 38, 71, 64, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128,191,105, 33, 34, 52, 0, 0,128, 39, 0, 0, 0, 0, 0, 0, 34,180, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 27,126,122, 61,152,212, 18,193, 28, 38, 71,192, 0, 0,128, 63,
+ 0, 0,128,191,106, 33, 34, 52, 95,202,167, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,179, 0, 0,128, 63, 0, 0, 0, 0,
+106, 33, 34, 52, 1, 0,128, 63, 0, 0,160, 51, 0, 0, 0, 0,192,120,146, 61,145, 36, 65, 63, 95,202,167,191, 0, 0,128, 63,
+ 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,
+205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0,
+ 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,176,127,153, 3,232, 15,160, 3, 1, 0, 0, 0, 1, 0, 0, 0, 93, 0,223, 63,205,220,239,192,222,170, 70, 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,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,105, 33,162, 51, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,105, 33,162, 51,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 93, 0,223, 63,205,220,239,192,
-222,170, 70, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,105, 33,162,179,105, 33, 34,167, 0, 0, 0, 0, 64, 90,136, 48, 0, 0,128, 63,
- 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 66, 72,191, 51, 87, 98,185,180,
- 0, 0, 0, 53, 0, 0,128, 63,223,139, 24, 52, 0, 0,128, 63,138, 8, 26,179, 0, 0, 0, 0,104, 33,162,179, 91, 81,180, 39,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2,184,145,179,211, 40, 97, 51, 0, 0, 0, 0,231,225, 27, 64,237, 83,224,191,
-227,211,166,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 50,253, 2,
+ 0, 0, 0, 0,232, 57,253, 2, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,168, 35, 50, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 4, 0, 0, 0,200,210, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,
+ 8, 36, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,216, 41, 50, 3, 0, 0, 0, 0, 56, 30, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 49, 48, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32, 73,206, 3, 0, 82,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,176,127,153, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-232, 15,160, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,248,151,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,136,155,179, 3,104,148,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 64, 61,195, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,130,183, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,168,232,160, 3, 96, 76,154, 3, 1, 0, 0, 0, 1, 0, 0, 0,185,115,122, 61, 28,209, 18,193, 27, 38, 71, 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,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15, 73,192, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33, 34,180, 0, 0, 0, 0, 0, 0, 0, 0,105, 33, 34, 52, 0, 0,128,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,185,115,122, 61, 28,209, 18,193,
- 27, 38, 71, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 41, 50, 3, 0, 0, 0, 0,184,226, 19, 3, 0, 0, 0, 0,
+ 2, 0, 0, 0, 1, 0, 0, 0,227,252,129,193, 14,112,164, 64, 9,197,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,
+151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,227,252,129,193, 14,112,164, 64, 9,197,229, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128,167, 0, 0, 0, 0, 0,164, 5, 47, 0, 0,128, 63,
- 0,164, 5,151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,146,243,109, 49, 0,157, 30, 50,
-146,243,109,153, 0, 0,128, 63, 0, 0,128,191,106, 33, 34, 52,203,167,116, 28, 0, 0, 0, 0,112, 57,108, 48, 6, 39,170,179,
- 0, 0,128, 63, 0, 0, 0, 0,106, 33, 34, 52, 1, 0,128, 63,255,255,159, 51, 0, 0, 0, 0,213,114,146, 61, 78, 92, 65, 63,
- 93,202,167,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 17, 66,216,178, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40, 27, 0, 0, 0,181, 0, 0, 0, 52, 0, 0,128, 63,231,126,201, 61,
+ 0, 0,128, 49, 0, 0, 0, 0, 0, 0, 0, 0,218,145,171,176,231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232,126,201, 61, 0, 0, 0, 0,252,159,204, 63,126,109, 1,191,156,217, 52,190, 0, 0,128, 63,231,126,201, 61,
+ 0, 0, 0,178, 0, 0,128, 44, 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,232,126,201, 61, 0, 0, 0, 0,219,145,171, 48,
+231,126,201,189,161,222,251, 49, 0, 0, 0, 0,148,126,204, 63,204,200,189,191,117,156, 20, 58, 0, 0,128, 63, 33, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
+236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-192,114,155, 3, 16,158,155, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,168,232,160, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 96, 76,154, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,136,155,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,159,179, 3,248,151,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 48, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,176,137,163, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,173,183, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,120, 41, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
+184,226, 19, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,216, 41, 50, 3,
+ 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,168, 47, 50, 3, 0, 0, 0, 0, 8, 36, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 49, 51, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,112,223,154, 3, 24,159,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,185,115,122, 61, 28,209, 18,193, 27, 38, 71, 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,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15, 73,192, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191,105, 33, 34,180, 0, 0, 0, 0, 0, 0, 0, 0,105, 33, 34, 52, 0, 0,128,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,185,115,122, 61, 28,209, 18,193,
- 27, 38, 71, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128,167, 0, 0, 0, 0, 0,164, 5, 47, 0, 0,128, 63,
- 0,164, 5,151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,146,243,109, 49, 0,157, 30, 50,
-146,243,109,153, 0, 0,128, 63, 0, 0,128,191,106, 33, 34, 52,203,167,116, 28, 0, 0, 0, 0,112, 57,108, 48, 6, 39,170,179,
- 0, 0,128, 63, 0, 0, 0, 0,106, 33, 34, 52, 1, 0,128, 63,255,255,159, 51, 0, 0, 0, 0,213,114,146, 61, 78, 92, 65, 63,
- 93,202,167,191, 0, 0,128, 63, 14, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 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,
- 80, 6,154, 3, 40, 1,155, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,112,223,154, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,159,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,159,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,163,179, 3,136,155,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 47, 50, 3, 0, 0, 0, 0,232,160, 17, 3, 0, 0, 0, 0, 2, 0, 0, 0,
+ 1, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64, 35,197,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180,
+ 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+177,159, 34, 65, 0, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64, 35,197,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63, 15, 66,216,178,
+ 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28, 0, 0,128, 53, 0, 0, 0, 0, 0, 0,128, 63,232,126,201, 61, 0, 0,128, 49,
+ 0, 0, 0, 0, 0, 0, 0, 0,219,145,171,176,231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+232,126,201, 61, 0, 0, 0, 0, 23,253,204,191,128,109, 1,191,176,217, 52,190, 0, 0,128, 63,230,126,201, 61, 0, 0, 0,178,
+ 0, 0,128,172, 0, 0, 0, 0, 94, 81,217,164, 51, 57,255, 49,232,126,201, 61, 0, 0, 0, 0,217,145,171, 48,231,126,201,189,
+161,222,251, 49, 0, 0, 0, 0,127, 30,205,191,203,200,189,191,254,135, 20, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62,
+ 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,215,183, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,162,179, 3, 24,163,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,227,252,129,193, 14,112,164, 64, 9,197,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,227,252,129,193, 14,112,164, 64,
- 9,197,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 17, 66,216,178, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40, 27, 0, 0, 0,181,
- 0, 0, 0, 52, 0, 0,128, 63,231,126,201, 61, 54,219, 4,178,204,187,104, 43, 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,219,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0,148,126,204, 63,204,200,189,191,
- 75,156, 20, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, 72, 47, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,232,160, 17, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,168, 47, 50, 3, 0, 0, 0, 0,
+116, 0, 0, 0, 1, 0, 0, 0,120, 53, 50, 3, 0, 0, 0, 0,216, 41, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 49, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,162,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,163,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,163,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,167,179, 3, 80,159,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 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,144,228,183, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,166,179, 3, 24,167,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,227,252,129,193, 14,112,164, 64, 9,197,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,227,252,129,193, 14,112,164, 64,
- 9,197,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 17, 66,216,178, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40, 27, 0, 0, 0,181,
- 0, 0, 0, 52, 0, 0,128, 63,231,126,201, 61, 54,219, 4,178,204,187,104, 43, 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,219,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0,148,126,204, 63,204,200,189,191,
- 75,156, 20, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24, 53, 50, 3, 0, 0, 0, 0,248, 37, 19, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,
+176, 38, 2, 66, 14,112,164, 64, 46,149,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0,
+ 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65,
+ 0, 0, 0, 0,176, 38, 2, 66, 14,112,164, 64, 46,149,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,120,137,214,177,176,159,162,177,
+ 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,177,159, 34, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,254,255,127, 54,255,255,255, 52,255,255,127, 52, 0, 0,128, 63,232,126,201, 61, 0, 0, 0, 49, 0, 0, 0, 48,
+ 0, 0, 0, 0,219,145,171,176,231,126,201, 61, 0, 0,128,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126,201, 61,
+ 0, 0, 0, 0,202,225, 76,192,128,109, 1,191,242,179, 52,190, 0, 0,128, 63,231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,160,222,251, 49,
+ 0, 0, 0, 0,125,242, 76,192,203,200,189,191, 33, 71, 58, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
+ 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
+143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,166,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,167,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,167,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,171,179, 3, 80,163,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,241,183, 3, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,170,179, 3, 24,171,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64, 35,197,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64,
- 35,197,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63, 15, 66,216,178, 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28, 0, 0,128, 53,
- 0, 0, 0, 0, 0, 0,128, 63,230,126,201, 61, 91, 75,181,177, 58,240,226,171, 0, 0, 0, 0, 94, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,217,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0,127, 30,205,191,203,200,189,191,
-211,135, 20, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, 24, 53, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,248, 37, 19, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,120, 53, 50, 3, 0, 0, 0, 0,116, 0, 0, 0,
+ 1, 0, 0, 0, 72, 59, 50, 3, 0, 0, 0, 0,168, 47, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 49, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
+ 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,170,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,171,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,171,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,175,179, 3, 80,167,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 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,240,254,183, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0,232, 58, 50, 3, 0, 0, 0, 0,216,171, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,237, 10, 2,194,
+ 14,112,164, 64,184,147,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+178,159, 34, 65,178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,
+166,250, 89,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,
+151,120, 10, 52,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,
+237, 10, 2,194, 14,112,164, 64,184,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,130,206, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+138,222,112, 38, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+138,222,112, 28, 0, 0,128, 53, 0, 0, 0, 0, 0, 0,128, 63,232,126,201, 61, 0, 0, 0,177, 0, 0, 0, 0, 0, 0, 0, 0,
+219,145,171,176,231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126,201, 61, 0, 0, 0, 0,
+ 22,182, 76, 64,127,109, 1,191,202,178, 52,190, 0, 0,128, 63,231,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0,
+ 94, 81,217,164, 51, 57,255, 49,232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0,
+ 98,165, 76, 64,203,200,189,191,129,109, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,174,179, 3, 24,175,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64, 35,197,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 8, 56,130, 65, 14,112,164, 64,
- 35,197,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63, 15, 66,216,178, 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28, 0, 0,128, 53,
- 0, 0, 0, 0, 0, 0,128, 63,230,126,201, 61, 91, 75,181,177, 58,240,226,171, 0, 0, 0, 0, 94, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,217,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0,127, 30,205,191,203,200,189,191,
-211,135, 20, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,174,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,175,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,175,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,179,179, 3, 80,171,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,232, 58, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,216,171, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 72, 59, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,
+ 24, 65, 50, 3, 0, 0, 0, 0,120, 53, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 99,104,101, 99,107,101,114,115, 46, 48, 49, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
+ 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, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 12,184, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,178,179, 3, 24,179,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,176, 38, 2, 66, 14,112,164, 64, 46,149,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,176, 38, 2, 66, 14,112,164, 64,
- 46,149,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,120,137,214,177,176,159,162,177, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
-177,159, 34, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,254,255,127, 54,255,255,255, 52,
-255,255,127, 52, 0, 0,128, 63,231,126,201, 61,224,158,198, 48,128, 51,197,170, 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,160,222,251, 49, 0, 0, 0, 0,125,242, 76,192,203,200,189,191,
-246, 70, 58, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,178,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,179,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,179,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,183,179, 3, 80,175,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+184, 64, 50, 3, 0, 0, 0, 0,104, 80, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 16,173, 34, 66,220,133, 63,192,
+216,147,229, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,
+178,159, 34, 65,177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,210, 83,251,192,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 99,102,182,178,159, 34,193, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,
+ 98, 99,102,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 16,173, 34, 66,
+220,133, 63,192,216,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,130,206, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28,
+ 0, 0,128, 53, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 14,179,230,126,201, 61, 0, 0, 0,176, 0, 0, 0, 0,231,126,201,189,
+153,186, 14,179, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126,201, 61, 0, 0, 0, 0,221,190,150,190,
+133, 10,128,192,227,178, 52,190, 0, 0,128, 63, 0, 0, 24,179,232,126,201, 61, 0, 0, 0, 0, 0, 0, 0, 0, 51, 57,255,177,
+106,201, 52,167,232,126,201, 61, 0, 0, 0, 0,231,126,201, 61,154,186, 14, 51,163,222,251, 49, 0, 0, 0, 0,169,196, 46, 63,
+223, 18,128,192, 64, 84, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0,
+ 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
+ 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 25,184, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,182,179, 3, 24,183,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,176, 38, 2, 66, 14,112,164, 64, 46,149,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,176, 38, 2, 66, 14,112,164, 64,
- 46,149,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,120,137,214,177,176,159,162,177, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
-177,159, 34, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,254,255,127, 54,255,255,255, 52,
-255,255,127, 52, 0, 0,128, 63,231,126,201, 61,224,158,198, 48,128, 51,197,170, 0, 0, 0, 0, 95, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,160,222,251, 49, 0, 0, 0, 0,125,242, 76,192,203,200,189,191,
-246, 70, 58, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 16, 0, 0, 0,184, 64, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,104, 80, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 24, 65, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,232, 70, 50, 3,
+ 0, 0, 0, 0, 72, 59, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,
+101, 99,107,101,114,115, 46, 48, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,182,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,183,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,183,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,187,179, 3, 80,179,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 38,184, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,117, 53, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,224,186,179, 3, 24,187,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,237, 10, 2,194, 14,112,164, 64,184,147,229, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 70, 50, 3,
+ 0, 0, 0, 0, 56,220, 4, 3, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 77,145, 34,194,220,133, 63,192,216,147,229, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,237, 10, 2,194, 14,112,164, 64,
-184,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,228,203,150,192, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,102, 36, 2, 52,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34,193,102, 36, 2, 52,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 77,145, 34,194,220,133, 63,192,
+216,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,130,206, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28, 0, 0,128, 53,
- 0, 0, 0, 0, 0, 0,128, 63,231,126,201, 61, 24, 67,144,176, 48,212, 86, 43, 0, 0, 0, 0, 94, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0, 98,165, 76, 64,203,200,189,191,
- 86,109, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,192, 48,231,126,201,189, 0, 0, 0,176, 0, 0, 0, 0,231,126,201, 61, 0, 64,161, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126,201, 61, 0, 0, 0, 0, 12,191,150, 62, 88,233,127,192,
+228,178, 52,190, 0, 0,128, 63, 0, 0, 0, 49,231,126,201,189, 0, 0, 0, 0, 0, 0, 0, 0, 51, 57,255, 49, 23, 63,204, 36,
+232,126,201, 61, 0, 0, 0, 0,231,126,201,189, 1, 64,161,176,162,222,251, 49, 0, 0, 0, 0,145,196, 46,191,164,216,127,192,
+ 63, 84, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,186,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,187,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,187,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,191,179, 3, 80,183,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 51,184, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 0, 0, 0,136, 70, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 56,220, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+ 79, 66, 0, 0, 32, 5, 0, 0,232, 70, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 88, 76, 50, 3, 0, 0, 0, 0,
+ 24, 65, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,224,190,179, 3, 24,191,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,237, 10, 2,194, 14,112,164, 64,184,147,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,237, 10, 2,194, 14,112,164, 64,
-184,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,130,206, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,138,222,112, 38, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,138,222,112, 28, 0, 0,128, 53,
- 0, 0, 0, 0, 0, 0,128, 63,231,126,201, 61, 24, 67,144,176, 48,212, 86, 43, 0, 0, 0, 0, 94, 81,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,218,145,171, 48,231,126,201,189,161,222,251, 49, 0, 0, 0, 0, 98,165, 76, 64,203,200,189,191,
- 86,109, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,216, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,190,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,191,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,191,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,195,179, 3, 80,187,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170, 77,152, 65,248,108, 90,191, 90,202,168,191, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,176,248, 59, 63,
+ 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0,170, 77,152, 65,248,108, 90,191, 90,202,168,191,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63,220, 19,149,176,206,185,149,179, 0, 0, 0, 0,101, 61, 84, 51, 1, 0,128, 63, 45,173,146, 51,
+ 0, 0, 0, 0,180,106, 15, 51, 67, 91, 19,178, 0, 0,128, 63, 0, 0, 0, 0,229,162, 50, 53,251, 88,214, 52,187,255,179, 53,
+ 0, 0,128, 63,138,247,255, 62,164, 21, 44,191,252,203, 11, 63, 0, 0, 0, 0, 35, 39, 74, 63, 24, 67,194, 61,217, 45, 27,191,
+ 0, 0, 0, 0,137, 26,182, 62,176,248, 59, 63, 46, 7, 20, 63, 0, 0, 0, 0,214,255, 5,193,149,139, 93, 65, 72,106, 34,193,
+ 0, 0,128, 63,136,247,255, 62,164, 21, 44,191,250,203, 11, 63, 0, 0, 0, 0,139, 26,182, 62,175,248, 59, 63, 46, 7, 20, 63,
+ 0, 0, 0, 0, 36, 39, 74,191, 24, 67,194,189,218, 45, 27, 63, 0, 0, 0, 0, 4, 80,121,193,162,189, 99, 65, 13, 24, 70,192,
+ 0, 0,128, 63, 30, 4, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
+ 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 64,184, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,194,179, 3, 24,195,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 13,134, 34,194, 58, 92, 63,192,184,147,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,144,252, 77, 53,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34,193,144,252, 77, 53,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 13,134, 34,194, 58, 92, 63,192,
-184,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 34,187,154, 49,225,149,196, 23, 0, 0, 0, 0, 16, 58,194, 39, 0, 0,128, 63,
-177,159,162, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 56,150, 2, 50,231,126,201,189, 48, 48, 63,171, 0, 0, 0, 0, 51, 57,255, 49,130,163, 33, 38,
-232,126,201, 61, 0, 0, 0, 0,231,126,201,189, 54, 57,255,177,162,222,251, 49, 0, 0, 0, 0,240,212, 46,191,239,198,127,192,
- 86,109, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,
+ 88, 76, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,200, 81, 50, 3, 0, 0, 0, 0,232, 70, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,194,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,195,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,195,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,199,179, 3, 80,191,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 49, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 78,184, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,220, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,224,198,179, 3, 24,199,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 13,134, 34,194, 58, 92, 63,192,184,147,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,144,252, 77, 53,178,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34,193,144,252, 77, 53,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 13,134, 34,194, 58, 92, 63,192,
-184,147,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 98,160, 52,193, 56,135, 93,193,153,227, 19,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62,
+ 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,
+217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0, 98,160, 52,193, 56,135, 93,193,153,227, 19,193, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 34,187,154, 49,225,149,196, 23, 0, 0, 0, 0, 16, 58,194, 39, 0, 0,128, 63,
-177,159,162, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 56,150, 2, 50,231,126,201,189, 48, 48, 63,171, 0, 0, 0, 0, 51, 57,255, 49,130,163, 33, 38,
-232,126,201, 61, 0, 0, 0, 0,231,126,201,189, 54, 57,255,177,162,222,251, 49, 0, 0, 0, 0,240,212, 46,191,239,198,127,192,
- 86,109, 59, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 12, 73,149, 51,183,223, 34,179, 0, 0, 0, 0,180, 66, 41, 50, 0, 0,128, 63,176, 27,138, 49, 0, 0, 0, 0,201, 75, 13, 50,
+ 76, 10,177, 50, 1, 0,128, 63, 0, 0, 0, 0, 41,189, 56,179,113,162,231,180, 67,151,100,180, 0, 0,128, 63,135,247,255, 62,
+164, 21, 44,191,252,203, 11, 63, 0, 0, 0, 0, 37, 39, 74, 63, 28, 67,194, 61,217, 45, 27,191, 0, 0, 0, 0,136, 26,182, 62,
+175,248, 59, 63, 46, 7, 20, 63, 0, 0, 0, 0,172,234,158, 65, 79,243, 2, 63,195,120, 71, 64, 0, 0,128, 63,138,247,255, 62,
+165, 21, 44,191,251,203, 11, 63, 0, 0, 0, 0,140, 26,182, 62,176,248, 59, 63, 46, 7, 20, 63, 0, 0, 0, 0, 35, 39, 74,191,
+ 17, 67,194,189,217, 45, 27, 63, 0, 0, 0, 0, 41,133, 74, 65, 29, 20,102, 63,115,194, 34, 65, 0, 0,128, 63, 30, 4, 0, 0,
+ 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
+236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,198,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,199,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,199,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,203,179, 3, 80,195,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 91,184, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,200, 81, 50, 3, 0, 0, 0, 0,
+116, 0, 0, 0, 1, 0, 0, 0, 56, 87, 50, 3, 0, 0, 0, 0, 88, 76, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,224,202,179, 3, 24,203,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,176,160, 34, 66, 28, 67, 63,192, 45,149,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,144,252, 77, 53,178,159, 34,193, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,144,252, 77, 53,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,176,160, 34, 66, 28, 67, 63,192,
- 45,149,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 34,187,154,177, 0, 0, 0, 0, 0, 0, 0, 0, 16, 58,194,167, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 16, 58,194,156, 0, 0,128, 52,
- 0, 0, 0, 0, 0, 0,128, 63, 28,240,238, 49,231,126,201, 61,240, 90, 33,171, 0, 0, 0, 0, 51, 57,255,177,130,163, 33, 38,
-232,126,201, 61, 0, 0, 0, 0,231,126,201, 61, 54, 57,255,177,163,222,251, 49, 0, 0, 0, 0,210,222, 46, 63, 34, 9,128,192,
-191, 71, 58, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8,232, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 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, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,202,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,203,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,203,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 80,207,179, 3, 80,199,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 46, 48,
- 50, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+111, 56,183,192, 61, 86, 90,193,242,190, 40, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,143,104,191,
+ 93, 33, 11,191,232, 45, 17, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,194, 12,191, 1,236, 39, 63,180, 97, 4, 63,
+ 0, 0, 0, 0, 37,182, 59,191,170, 20,169,189, 65,200, 44,191, 0, 0, 0, 0, 11,208,204,190, 93, 18, 64,191,215,191, 6, 63,
+ 0, 0, 0, 0,111, 56,183,192, 61, 86, 90,193,242,190, 40, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,238,165, 47,180,227,129, 13, 50,
+ 0, 0, 0, 0,163, 29,131,178, 1, 0,128, 63, 76,221,150,177, 0, 0, 0, 0, 14, 36, 14,179,106,112,163, 48, 0, 0,128, 63,
+ 0, 0, 0, 0,255,187,156,179, 91, 51,158,181,179,247,156,180, 0, 0,128, 63,132,194, 12,191, 36,182, 59,191, 15,208,204,190,
+ 0, 0, 0, 0, 0,236, 39, 63,171, 20,169,189, 92, 18, 64,191, 0, 0, 0, 0,180, 97, 4, 63, 65,200, 44,191,215,191, 6, 63,
+ 0, 0, 0, 0,124,180,178, 62,111,139,229, 63, 27,164,144,193, 0, 0,128, 63,133,194, 12,191, 38,182, 59,191, 7,208,204,190,
+ 0, 0, 0, 0,181, 97, 4, 63, 66,200, 44,191,214,191, 6, 63, 0, 0, 0, 0,255,235, 39,191,164, 20,169, 61, 92, 18, 64, 63,
+ 0, 0, 0, 0,133, 79,167,192, 33,228,179, 63, 21,212, 26,193, 0, 0,128, 63, 30, 4, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0,
+ 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
+ 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
+143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,104,184, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,224,206,179, 3, 24,207,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,176,160, 34, 66, 28, 67, 63,192, 45,149,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,218, 15,201,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,144,252, 77, 53,178,159, 34,193, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,144,252, 77, 53,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0,176,160, 34, 66, 28, 67, 63,192,
- 45,149,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 34,187,154,177, 0, 0, 0, 0, 0, 0, 0, 0, 16, 58,194,167, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 16, 58,194,156, 0, 0,128, 52,
- 0, 0, 0, 0, 0, 0,128, 63, 28,240,238, 49,231,126,201, 61,240, 90, 33,171, 0, 0, 0, 0, 51, 57,255,177,130,163, 33, 38,
-232,126,201, 61, 0, 0, 0, 0,231,126,201, 61, 54, 57,255,177,163,222,251, 49, 0, 0, 0, 0,210,222, 46, 63, 34, 9,128,192,
-191, 71, 58, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,224,206,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
- 24,207,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 80,207,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,224,210,179, 3, 80,203,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 93,179, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 56, 87, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,
+168, 92, 50, 3, 0, 0, 0, 0,200, 81, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 76, 97,109,112, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,170, 77,152, 65,248,108, 90,191, 90,202,168,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,
-176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0,170, 77,152, 65,248,108, 90,191,
- 90,202,168,191, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,220, 19,149,176,206,185,149,179, 0, 0, 0, 0,101, 61, 84, 51, 1, 0,128, 63,
- 45,173,146, 51, 0, 0, 0, 0,180,106, 15, 51, 67, 91, 19,178, 0, 0,128, 63, 0, 0, 0, 0,229,162, 50, 53,251, 88,214, 52,
-187,255,179, 53, 0, 0,128, 63,136,247,255, 62,164, 21, 44,191,251,203, 11, 63, 0, 0, 0, 0,138, 26,182, 62,176,248, 59, 63,
- 46, 7, 20, 63, 0, 0, 0, 0, 36, 39, 74,191, 26, 67,194,189,218, 45, 27, 63, 0, 0, 0, 0, 4, 80,121,193,162,189, 99, 65,
- 13, 24, 70,192, 0, 0,128, 63, 30, 4, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+168,224, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 0, 0, 92, 3, 0, 0,224,210,179, 3,115, 0, 0, 0, 1, 0, 0, 0,112,214,179, 3, 80,207,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,200, 96,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,147,104, 64, 42, 84, 23,193,
+116, 77,171, 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,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191,
+ 28, 67,194, 61,176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0,176,147,104, 64,
+ 42, 84, 23,193,116, 77,171, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,197,201, 17,180, 99,220,102, 50, 0, 0, 0, 0,123,165,191, 50,
+254,255,127, 63, 10,194,140, 50, 0, 0, 0, 0, 41,160,180,178, 91,103, 73, 50,254,255,127, 63, 0, 0, 0, 0,254,255,127, 52,
+254,255,127,181,253,255,255, 52, 0, 0,128, 63,141,247,255, 62,165, 21, 44,191,250,203, 11, 63, 0, 0, 0, 0, 38, 39, 74, 63,
+ 28, 67,194, 61,218, 45, 27,191, 0, 0, 0, 0,138, 26,182, 62,176,248, 59, 63, 47, 7, 20, 63, 0, 0, 0, 0, 97,221,111, 64,
+113, 57, 23,191, 59, 2, 45,193, 0, 0,128, 63,137,247,255, 62,165, 21, 44,191,251,203, 11, 63, 0, 0, 0, 0,142, 26,182, 62,
+176,248, 59, 63, 46, 7, 20, 63, 0, 0, 0, 0, 37, 39, 74,191, 20, 67,194,189,217, 45, 27, 63, 0, 0, 0, 0, 91, 99, 93,192,
+135, 98, 80,190,223,119,112,192, 0, 0,128, 63, 1, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0,
+ 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
+ 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 98,160, 52,193, 56,135, 93,193,153,227, 19,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,
-138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191,
- 47, 7, 20, 63, 0, 0, 0, 0, 98,160, 52,193, 56,135, 93,193,153,227, 19,193, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 12, 73,149, 51,
-183,223, 34,179, 0, 0, 0, 0,180, 66, 41, 50, 0, 0,128, 63,176, 27,138, 49, 0, 0, 0, 0,201, 75, 13, 50, 76, 10,177, 50,
- 1, 0,128, 63, 0, 0, 0, 0, 41,189, 56,179,113,162,231,180, 67,151,100,180, 0, 0,128, 63,139,247,255, 62,165, 21, 44,191,
-252,203, 11, 63, 0, 0, 0, 0,141, 26,182, 62,176,248, 59, 63, 46, 7, 20, 63, 0, 0, 0, 0, 36, 39, 74,191, 19, 67,194,189,
-216, 45, 27, 63, 0, 0, 0, 0, 42,133, 74, 65, 29, 20,102, 63,116,194, 34, 65, 0, 0,128, 63, 30, 4, 0, 0, 0, 20, 0, 0,
- 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62,
- 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,112,214,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 0,218,179, 3,224,210,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 50, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,232,105,179, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 56,183,192, 61, 86, 90,193,242,190, 40, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,143,104,191, 93, 33, 11,191,232, 45, 17, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,134,194, 12,191, 1,236, 39, 63,180, 97, 4, 63, 0, 0, 0, 0, 37,182, 59,191,170, 20,169,189,
- 65,200, 44,191, 0, 0, 0, 0, 11,208,204,190, 93, 18, 64,191,215,191, 6, 63, 0, 0, 0, 0,111, 56,183,192, 61, 86, 90,193,
-242,190, 40, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,238,165, 47,180,227,129, 13, 50, 0, 0, 0, 0,163, 29,131,178, 1, 0,128, 63,
- 76,221,150,177, 0, 0, 0, 0, 14, 36, 14,179,106,112,163, 48, 0, 0,128, 63, 0, 0, 0, 0,255,187,156,179, 91, 51,158,181,
-179,247,156,180, 0, 0,128, 63,135,194, 12,191, 35,182, 59,191, 12,208,204,190, 0, 0, 0, 0,181, 97, 4, 63, 65,200, 44,191,
-213,191, 6, 63, 0, 0, 0, 0, 0,236, 39,191,162, 20,169, 61, 92, 18, 64, 63, 0, 0, 0, 0,135, 79,167,192, 33,228,179, 63,
- 21,212, 26,193, 0, 0,128, 63, 30, 4, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 0, 0, 32, 5, 0, 0,168, 92, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 24, 98, 50, 3, 0, 0, 0, 0,
+ 56, 87, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48,
+ 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 0, 0, 92, 3, 0, 0, 0,218,179, 3,115, 0, 0, 0, 1, 0, 0, 0,144,221,179, 3,112,214,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 88,228, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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, 8,100,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,176,147,104, 64, 42, 84, 23,193,116, 77,171, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,
-138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191,
- 47, 7, 20, 63, 0, 0, 0, 0,176,147,104, 64, 42, 84, 23,193,116, 77,171, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249,147,251,192,206, 0, 24,193, 67,131,104,192, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,176,248, 59, 63,
+ 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0,249,147,251,192,206, 0, 24,193, 67,131,104,192,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,197,201, 17,180,
- 99,220,102, 50, 0, 0, 0, 0,123,165,191, 50,254,255,127, 63, 10,194,140, 50, 0, 0, 0, 0, 41,160,180,178, 91,103, 73, 50,
-254,255,127, 63, 0, 0, 0, 0,254,255,127, 52,254,255,127,181,253,255,255, 52, 0, 0,128, 63,136,247,255, 62,164, 21, 44,191,
-251,203, 11, 63, 0, 0, 0, 0,138, 26,182, 62,175,248, 59, 63, 45, 7, 20, 63, 0, 0, 0, 0, 37, 39, 74,191, 18, 67,194,189,
-217, 45, 27, 63, 0, 0, 0, 0, 88, 99, 93,192,122, 98, 80,190,223,119,112,192, 0, 0,128, 63, 1, 0, 0, 0, 0, 20, 0, 0,
- 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62,
- 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63,254,255,127, 63, 55,105,222, 50,186,168, 17, 51, 0, 0, 0, 0,243,228, 47,178, 0, 0,128, 63, 81, 76,155,178,
+ 0, 0, 0, 0,170,191, 22, 50,214, 89, 50, 51,254,255,127, 63, 0, 0, 0, 0,254,255,127,181, 0, 0,128,181, 35, 5,136,168,
+ 0, 0,128, 63,137,247,255, 62,166, 21, 44,191,252,203, 11, 63, 0, 0, 0, 0, 38, 39, 74, 63, 28, 67,194, 61,217, 45, 27,191,
+ 0, 0, 0, 0,137, 26,182, 62,176,248, 59, 63, 47, 7, 20, 63, 0, 0, 0, 0,121,151, 75, 65,207,166,219,191,181,156, 34, 63,
+ 0, 0,128, 63,140,247,255, 62,165, 21, 44,191,252,203, 11, 63, 0, 0, 0, 0,140, 26,182, 62,176,248, 59, 63, 45, 7, 20, 63,
+ 0, 0, 0, 0, 36, 39, 74,191, 22, 67,194,189,218, 45, 27, 63, 0, 0, 0, 0,148,142,176, 64, 97, 22,170,191, 27, 28,246, 64,
+ 0, 0,128, 63, 1, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
+ 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,144,221,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 32,225,179, 3, 0,218,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 52, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,102,179, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249,147,251,192,206, 0, 24,193, 67,131,104,192,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 90,103, 63,254, 45,186,190,115,209,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,136,247,255, 62, 37, 39, 74, 63,138, 26,182, 62, 0, 0, 0, 0,164, 21, 44,191, 28, 67,194, 61,
-176,248, 59, 63, 0, 0, 0, 0,251,203, 11, 63,217, 45, 27,191, 47, 7, 20, 63, 0, 0, 0, 0,249,147,251,192,206, 0, 24,193,
- 67,131,104,192, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63, 55,105,222, 50,186,168, 17, 51, 0, 0, 0, 0,243,228, 47,178, 0, 0,128, 63,
- 81, 76,155,178, 0, 0, 0, 0,170,191, 22, 50,214, 89, 50, 51,254,255,127, 63, 0, 0, 0, 0,254,255,127,181, 0, 0,128,181,
- 35, 5,136,168, 0, 0,128, 63,139,247,255, 62,165, 21, 44,191,252,203, 11, 63, 0, 0, 0, 0,140, 26,182, 62,175,248, 59, 63,
- 45, 7, 20, 63, 0, 0, 0, 0, 36, 39, 74,191, 20, 67,194,189,217, 45, 27, 63, 0, 0, 0, 0,147,142,176, 64,101, 22,170,191,
- 27, 28,246, 64, 0, 0,128, 63, 1, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,
+ 24, 98, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,136,103, 50, 3, 0, 0, 0, 0,168, 92, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 56, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 0, 0, 92, 3, 0, 0, 32,225,179, 3,115, 0, 0, 0, 1, 0, 0, 0,176,228,179, 3,144,221,179, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 76, 97,109,112, 46, 48, 48, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40,236, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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, 40,109,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,145, 75,188, 63, 44,197,107,193, 5,147, 81, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-218, 15,201, 63, 0, 0,128, 37,255,255,127, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,255,255,127, 37,
- 0, 0,128,165, 0, 0, 0, 0,255,255,127, 37,105, 33,162, 51, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 37, 0, 0,128,191,
-105, 33,162, 51, 0, 0, 0, 0,145, 75,188, 63, 44,197,107,193, 5,147, 81, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,145, 75,188, 63, 44,197,107,193, 5,147, 81, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,218, 15,201, 63, 0, 0,128, 37,255,255,127, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63, 44,197,107, 53,
- 4,147, 81,180, 0, 0, 0, 0,253,255,127, 37, 0, 0,128, 63, 64, 90,136, 48, 0, 0, 0, 0,254,255,127,165, 44,197,107,155,
- 0, 0,128, 63, 0, 0, 0, 0,254,255,255, 51,255,255,255,181,254,255,127, 52, 0, 0,128, 63, 0, 0,128, 63, 25, 58,194,178,
- 67,191,128,179, 0, 0, 0, 0, 4, 0,128,165, 0, 0,128, 63,254,255,255, 39, 0, 0, 0, 0,156, 90,241, 49,220, 13,171,177,
-255,255,127, 63, 0, 0, 0, 0, 33,159,189,191, 47,164,188,191,151,188,153,192, 0, 0,128, 63, 32, 0, 0, 0, 0, 16, 0, 0,
- 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62,
- 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+255,255,127, 37, 0, 0,128,165, 0, 0, 0, 0,255,255,127, 37,105, 33,162, 51, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 37,
+ 0, 0,128,191,105, 33,162, 51, 0, 0, 0, 0,145, 75,188, 63, 44,197,107,193, 5,147, 81, 64, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,254,255,127, 63,
+ 44,197,107, 53, 4,147, 81,180, 0, 0, 0, 0,253,255,127, 37, 0, 0,128, 63, 64, 90,136, 48, 0, 0, 0, 0,254,255,127,165,
+ 44,197,107,155, 0, 0,128, 63, 0, 0, 0, 0,254,255,255, 51,255,255,255,181,254,255,127, 52, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,128,165, 0, 0,128, 63,255,255,255, 39, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 32,159,189,191, 47,164,188,191,150,188,153,192, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,128,165, 0, 0,128, 63,255,255,255, 39, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 32,159,189,191, 47,164,188,191,150,188,153,192, 0, 0,128, 63, 32, 0, 0, 0,
+ 0, 16, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
+236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,176,228,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,176,232,179, 3, 32,225,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 99,104,101, 99,107,101,114,115, 0, 0,
-108, 97,110,101, 46, 48, 48, 51, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,194,182, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64,232,179, 3,120,232,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 0,131,102, 60, 14,112,164, 64, 24,211,229, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,178,159, 34, 65,
-177,159, 34, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,166,250, 89,178, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,178,159, 34, 65,151,120, 10,180, 0, 0, 0, 0, 0, 0, 0, 0,151,120, 10, 52,178,159, 34, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,159, 34, 65, 0, 0, 0, 0, 0,131,102, 60, 14,112,164, 64,
- 24,211,229, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,252,118,143,165, 0, 0, 0, 0, 0, 0, 0, 0,176,193,168,165, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,176,193, 40,155, 0, 0, 0, 53,
- 0, 0, 0, 0, 0, 0,128, 63,231,126,201, 61,219,145,171, 48, 32, 19, 70, 29, 0, 0, 0, 0, 65,209,217,164, 51, 57,255, 49,
-232,126,201, 61, 0, 0, 0, 0,235, 66,172, 48,231,126,201,189, 79,216,251, 49, 0, 0, 0, 0, 18,136, 29,187,203,200,189,191,
-139,139, 9, 58, 0, 0,128, 63, 33, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,136,103, 50, 3, 0, 0, 0, 0,
+116, 0, 0, 0, 1, 0, 0, 0,152,109, 50, 3, 0, 0, 0, 0, 24, 98, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 64,232,179, 3, 0, 0, 0, 0, 1, 0, 0, 0,152, 64,181, 3, 68, 65, 84, 65, 4, 0, 0, 0,
-120,232,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,176,232,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0,176,236,179, 3,176,228,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88,192, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 10, 0, 0, 0, 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,216,162,186, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248,108, 50, 3, 0, 0, 0, 0, 72,109, 50, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+100, 82, 7,189, 21,204,103,191,241,165,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,153, 39,155, 64,153, 39,155, 64,153, 39,155, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63,
+ 0, 0,192, 37,255,255,255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,152, 39, 27, 38,102,187,232,166,
+ 0, 0, 0, 0,102,187,232, 38,157,134,196, 52,153, 39,155, 64, 0, 0, 0, 0,154, 39, 27, 38,153, 39,155,192,157,134,196, 52,
+ 0, 0, 0, 0,100, 82, 7,189, 21,204,103,191,241,165,230, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,236, 48,206,152, 9, 66, 41, 24,
+ 0, 0, 0, 0,216, 55, 60,152, 0, 0,128, 63, 88,133,105,166, 0, 0, 0, 0,226,159, 91,151, 64,218, 93, 38, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 25, 50, 83, 62,147,101,158, 36, 26, 50,211, 35,
+ 0, 0, 0, 0, 24, 50,211, 35, 68,193,133, 50, 25, 50, 83,190, 0, 0, 0, 0,147,101,158,164, 25, 50, 83, 62, 68,193,133, 50,
+ 0, 0, 0, 0,199, 70,223, 59,232, 71,190,190,148, 58, 63,190, 0, 0,128, 63, 25, 50, 83, 62,147,101,158, 36, 27, 50,211, 35,
+ 0, 0, 0, 0,147,101,158,164, 25, 50, 83, 62,158, 59,174, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,175, 25, 50, 83, 62,
+ 0, 0, 0, 0,135, 62,153, 59,217, 94,110,185,118, 71,238, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
+ 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
+143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 4, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64,236,179, 3,120,236,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,100, 82, 7,189, 21,204,103,191,241,165,230, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,153, 39,155, 64,
-153, 39,155, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0,192, 37,255,255,255, 36, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,152, 39, 27, 38,102,187,232,166, 0, 0, 0, 0,102,187,232, 38,157,134,196, 52,
-153, 39,155, 64, 0, 0, 0, 0,154, 39, 27, 38,153, 39,155,192,157,134,196, 52, 0, 0, 0, 0,100, 82, 7,189, 21,204,103,191,
-241,165,230, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,236, 48,206,152, 9, 66, 41, 24, 0, 0, 0, 0,216, 55, 60,152, 0, 0,128, 63,
- 88,133,105,166, 0, 0, 0, 0,226,159, 91,151, 64,218, 93, 38, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 25, 50, 83, 62,147,101,158, 36, 27, 50,211, 35, 0, 0, 0, 0,147,101,158,164, 25, 50, 83, 62,
- 59,119,189, 38, 0, 0, 0, 0, 0, 94,204,173, 16, 58, 97,175, 25, 50, 83, 62, 0, 0, 0, 0,135, 62,153, 59,184, 97,110,185,
-118, 71,238, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
-169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 4, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 25, 0, 0, 0, 0, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,248,108, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 72,109, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,152,109, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 88,116, 50, 3,
+ 0, 0, 0, 0,136,103, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,
+101,118,105,101,119, 46, 48, 48, 50, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 64,236,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-120,236,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,176,236,179, 3,115, 0, 0, 0,
- 1, 0, 0, 0, 40,241,179, 3,176,232,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48,
- 50, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,104, 52, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,176, 94,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,240,179, 3,
-176,240,179, 3, 64,240,179, 3,120,240,179, 3, 1, 0, 0, 0, 1, 0, 0, 0,242,187,213,191,194,145,134, 63,254,100, 35, 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,168,115, 50, 3, 0, 0, 0, 0,168,115, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,115, 50, 3,
+ 0, 0, 0, 0, 88,115, 50, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,242,187,213,191,194,145,134, 63,254,100, 35, 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,243, 0, 28, 65,246, 0, 28, 65,
243, 0, 28, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,110,135, 63,180,169, 59, 62,138,115, 1,191, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,198, 49, 6, 65,115,154,148,192, 3,113,227,191, 0, 0, 0, 0,159,250,106, 64,189,207, 91, 64,
80,170, 5, 65, 0, 0, 0, 0, 46,151, 86,192,125, 94,251,192,188,127,150, 64, 0, 0, 0, 0,242,187,213,191,194,145,134, 63,
254,100, 35, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,220,198, 33,177, 33, 91, 79,179, 0, 0, 0, 0,132, 62,152, 49, 0, 0,128, 63,
52,168,172, 50, 0, 0, 0, 0, 31, 6, 96,177,234,190, 21, 51, 0, 0,128, 63, 0, 0, 0, 0,212, 90,228, 50,171,224,143,179,
-223, 27,189,175, 0, 0,128, 63,143,174,180, 61,160, 48, 30, 61,223,118, 16,189, 0, 0, 0, 0,162, 29,153,188, 38,248,179, 61,
-115,162, 74, 61, 0, 0, 0, 0, 15, 21, 72, 61,160,250, 19,189, 88, 57,169, 61, 0, 0, 0, 0, 4,107, 50, 63, 88, 46,204,190,
+223, 27,189,175, 0, 0,128, 63,144,174,180, 61,160, 48, 30, 61,223,118, 16,189, 0, 0, 0, 0,164, 29,153,188, 38,248,179, 61,
+113,162, 74, 61, 0, 0, 0, 0, 15, 21, 72, 61,160,250, 19,189, 88, 57,169, 61, 0, 0, 0, 0, 4,107, 50, 63, 88, 46,204,190,
+177,206, 79, 63, 0, 0,128, 63,144,174,180, 61,160, 48, 30, 61,223,118, 16,189, 0, 0, 0, 0,164, 29,153,188, 38,248,179, 61,
+113,162, 74, 61, 0, 0, 0, 0, 15, 21, 72, 61,160,250, 19,189, 88, 57,169, 61, 0, 0, 0, 0, 4,107, 50, 63, 88, 46,204,190,
177,206, 79, 63, 0, 0,128, 63, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0,
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,
169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 64,240,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-120,240,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,176,240,179, 3, 79, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 31, 0, 0, 0, 83,117, 98,115,117,114,102, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 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,
- 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 40,241,179, 3,115, 0, 0, 0, 1, 0, 0, 0,
- 40,245,179, 3,176,236,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 51, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200,243,206, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,117,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 8, 0, 0, 0, 8,115, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 4, 0, 0, 0, 88,115, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0,
+168,115, 50, 3, 0, 0, 0, 0, 74, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,117, 98,115,117,114,102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,
+ 88,116, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,104,122, 50, 3, 0, 0, 0, 0,152,109, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 51, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184,244,179, 3,240,244,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 16,194,203,187,155, 89, 45, 63,244,153,230, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63, 56,135, 72, 63, 56,135, 72, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56,135, 72, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63, 0, 0, 0, 0, 16,194,203,187,155, 89, 45, 63,244,153,230, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 57,135,200, 47, 57,135,200,178, 1, 0,128, 63, 0, 0, 0, 0,180,192,175,176, 32,132,146, 51,193, 40, 10,179,
- 0, 0,128, 63,144,104,163, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 33, 52, 34,252,250,206, 51,144,104,163, 63,
- 0, 0, 0, 0, 60,240,202,173,144,104,163,191,130, 64,204, 51, 0, 0, 0, 0,105, 93,173,187,172,176, 88,193,178, 56,118,186,
- 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
- 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,168, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,135, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,200,121, 50, 3, 0, 0, 0, 0, 24,122, 50, 3, 0, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 16,194,203,187,155, 89, 45, 63,244,153,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63, 56,135, 72, 63, 56,135, 72, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,135, 72, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56,135, 72, 63, 0, 0, 0, 0, 16,194,203,187,155, 89, 45, 63,244,153,230, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 57,135,200, 47,
+ 57,135,200,178, 1, 0,128, 63, 0, 0, 0, 0,180,192,175,176, 32,132,146, 51,193, 40, 10,179, 0, 0,128, 63,144,104,163, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,104,163, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,
+ 0, 0, 0, 51,143,104,163, 63, 0, 0, 0, 0,203, 15, 2, 60,184, 77, 93,191, 54, 50, 19,192, 0, 0,128, 63,144,104,163, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 34,252,250,206, 51,144,104,163, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+144,104,163,191, 0, 64,204, 51, 0, 0, 0, 0,105, 93,173,187,172,176, 88,193, 95, 52,118,186, 0, 0,128, 63, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
+236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,189,206, 3,
-176, 1,206, 3, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 4, 0, 0, 0,184,244,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,240,244,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 40,245,179, 3,115, 0, 0, 0, 1, 0, 0, 0,
- 40,249,179, 3, 40,241,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 52, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,117,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184,248,179, 3,240,248,179, 3, 1, 0, 0, 0, 1, 0, 0, 0, 0, 31, 10, 58, 59, 94,236, 63,236, 84,231, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,188,110, 63, 91,188,110, 63, 91,188,110, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 91,188,110, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 50,151, 51, 91,188,110, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 91,188,110,191, 90, 50,151, 51, 0, 0, 0, 0, 0, 31, 10, 58, 59, 94,236, 63,236, 84,231, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,255,127, 63,226, 53, 25,179,
- 0, 0, 0, 0, 0, 0, 0, 0,167,120,247,166, 1, 0,128, 63, 0, 0, 0, 0,183,132, 39,174,239,106,181,179,116,226,155,179,
- 0, 0,128, 63,160, 65,137, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,204,221,150,160, 65,137, 63,194,226, 40, 40,
- 0, 0, 0, 0,248,127, 14, 45,115,141,149,176,161, 65,137, 63, 0, 0, 0, 0, 29, 80, 63,188,103, 95,226,187, 87, 19, 74, 65,
- 0, 0,128, 63, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
- 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,153, 3, 3, 0, 0, 0, 0,
+248,160, 3, 3, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,200,121, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 24,122, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,104,122, 50, 3, 0, 0, 0, 0,116, 0, 0, 0,
+ 1, 0, 0, 0,120,128, 50, 3, 0, 0, 0, 0, 88,116, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
+ 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 4, 0, 0, 0,184,248,179, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,240,248,179, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 40,249,179, 3,115, 0, 0, 0, 1, 0, 0, 0,
-184,252,179, 3, 40,245,179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 53, 0, 48, 48,
- 51, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 72, 90,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,135, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 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,216,127, 50, 3, 0, 0, 0, 0, 40,128, 50, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 31, 10, 58,
+ 59, 94,236, 63,236, 84,231, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 91,188,110, 63, 91,188,110, 63, 91,188,110, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0, 0,128,
+ 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91,188,110, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 90, 50,151, 51, 91,188,110, 63, 0, 0, 0, 0, 0, 0, 0, 0, 91,188,110,191, 90, 50,151, 51, 0, 0, 0, 0,
+ 0, 31, 10, 58, 59, 94,236, 63,236, 84,231, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,254,255,127, 63,226, 53, 25,179, 0, 0, 0, 0, 0, 0, 0, 0,167,120,247,166, 1, 0,128, 63, 0, 0, 0, 0,
+183,132, 39,174,239,106,181,179,116,226,155,179, 0, 0,128, 63,160, 65,137, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,160, 65,137, 63,157, 46, 19, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,176,161, 65,137, 63, 0, 0, 0, 0,
+ 29, 80, 63,188, 62, 95,226,187, 87, 19, 74, 65, 0, 0,128, 63,160, 65,137, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,160, 65,137, 63,157, 46, 19, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,176,161, 65,137, 63, 0, 0, 0, 0,
+ 29, 80, 63,188, 62, 95,226,187, 87, 19, 74, 65, 0, 0,128, 63, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,216,127, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 40,128, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 0, 0, 32, 5, 0, 0,120,128, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,232,133, 50, 3, 0, 0, 0, 0,
+104,122, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,
+119, 46, 48, 48, 53, 0, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 72,212, 49, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,128,155,195,189, 20,145,188, 64, 94,220, 88, 65, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,221,180,134, 63, 48,190,141, 37,253, 55, 57, 35, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,128, 63,253, 55, 57, 35, 48,190,141,165, 0, 0, 0, 0,219,128,112, 37, 52,177,253, 62, 94, 93, 94, 63,
0, 0, 0, 0, 52,133, 22, 37, 94, 93, 94,191, 52,177,253, 62, 0, 0, 0, 0,128,155,195,189, 20,145,188, 64, 94,220, 88, 65,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63,118, 42, 31, 25,242,108,131,153, 0, 0, 0, 0, 0, 0, 0,176, 0, 0,128, 63,210, 21, 66,178,
0, 0, 0, 0, 5, 0, 0,176, 25,245,158, 50, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 50,118, 42,159, 11,242,108, 3,140,
- 0, 0,128, 63, 0, 0,128, 63,219,128,112, 37, 53,133, 22, 37, 0, 0, 0, 0, 80, 90,231,174, 94, 93, 94, 63, 52,177,253, 62,
- 0, 0, 0, 0, 0, 68,239,172, 50,177,253,190, 95, 93, 94, 63, 0, 0, 0, 0,150, 98,174, 61, 85,101,144,193,196,124,253, 64,
+ 0, 0,128, 63, 0, 0,128, 63,219,128,112, 37, 52,133, 22, 37, 0, 0, 0, 0, 0, 0, 0, 48, 94, 93, 94, 63, 52,177,253, 62,
+ 0, 0, 0, 0, 0, 0,128,175, 50,177,253,190, 96, 93, 94, 63, 0, 0, 0, 0,149, 98,174, 61, 85,101,144,193,196,124,253, 64,
+ 0, 0,128, 63, 0, 0,128, 63,219,128,112, 37, 52,133, 22, 37, 0, 0, 0, 0, 0, 0, 0, 48, 94, 93, 94, 63, 52,177,253, 62,
+ 0, 0, 0, 0, 0, 0,128,175, 50,177,253,190, 96, 93, 94, 63, 0, 0, 0, 0,149, 98,174, 61, 85,101,144,193,196,124,253, 64,
0, 0,128, 63, 64, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 7, 0, 0, 0,
1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,
- 92, 3, 0, 0,184,252,179, 3,115, 0, 0, 0, 1, 0, 0, 0,184, 0,180, 3, 40,249,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,
+232,133, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,248,139, 50, 3, 0, 0, 0, 0,120,128, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 46, 48, 48, 54, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,144,185,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,180, 3,128, 0,180, 3, 1, 0, 0, 0, 1, 0, 0, 0,
- 94, 52,252,190,174,101,228, 65,141,116, 17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,235,239, 30, 66,236,239, 30, 66,235,239, 30, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,138,174, 95, 63,
- 98,132,123, 37, 61, 56, 87,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,235,239, 30, 66,105,158, 5,168,108, 39, 28,168,
- 0, 0, 0, 0,212,129, 77, 40, 66, 15,204, 65,158,186,243, 65, 0, 0, 0, 0, 55, 89, 13,165,156,186,243,193, 65, 15,204, 65,
- 0, 0, 0, 0, 94, 52,252,190,174,101,228, 65,141,116, 17, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,151,169,232, 24,151,190,157, 25,
- 0, 0, 0, 0, 21, 24,149, 24, 0, 0,128, 63,109,157, 59,178, 0, 0, 0, 0,191,231, 64,153, 1,158,199,178, 1, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,101, 43,206, 60, 25, 74, 5, 35,141, 90,183,159,
- 0, 0, 0, 0, 41,143,202,162,101, 20,158, 60,193, 89,132, 60, 0, 0, 0, 0,188, 83,173, 34,192, 89,132,188,103, 20,158, 60,
- 0, 0, 0, 0, 11,215, 70, 60, 61, 43, 67,191,185,241, 31, 63, 0, 0,128, 63, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
- 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
-143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,218, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0,
+ 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 72, 0,180, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,128, 0,180, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,
- 92, 3, 0, 0,184, 0,180, 3,115, 0, 0, 0, 1, 0, 0, 0,184, 4,180, 3,184,252,179, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66,112,114,101,118,105,101,119, 99,117, 98,101, 0,117, 98,101, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,139, 50, 3, 0, 0, 0, 0,168,139, 50, 3, 0, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 94, 52,252,190,174,101,228, 65,141,116, 17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,235,239, 30, 66,236,239, 30, 66,235,239, 30, 66, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,138,174, 95, 63, 98,132,123, 37, 61, 56, 87,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,235,239, 30, 66,
+105,158, 5,168,108, 39, 28,168, 0, 0, 0, 0,212,129, 77, 40, 66, 15,204, 65,158,186,243, 65, 0, 0, 0, 0, 55, 89, 13,165,
+156,186,243,193, 65, 15,204, 65, 0, 0, 0, 0, 94, 52,252,190,174,101,228, 65,141,116, 17, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+151,169,232, 24,151,190,157, 25, 0, 0, 0, 0, 21, 24,149, 24, 0, 0,128, 63,109,157, 59,178, 0, 0, 0, 0,191,231, 64,153,
+ 1,158,199,178, 1, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,101, 43,206, 60,
+ 25, 74, 5, 35,141, 90,183,159, 0, 0, 0, 0, 42,143,202,162,100, 20,158, 60,192, 89,132, 60, 0, 0, 0, 0,187, 83,173, 34,
+192, 89,132,188,102, 20,158, 60, 0, 0, 0, 0, 11,215, 70, 60, 61, 43, 67,191,184,241, 31, 63, 0, 0,128, 63,101, 43,206, 60,
+ 25, 74, 5, 35,141, 90,183,159, 0, 0, 0, 0, 42,143,202,162,100, 20,158, 60,192, 89,132, 60, 0, 0, 0, 0,187, 83,173, 34,
+192, 89,132,188,102, 20,158, 60, 0, 0, 0, 0, 11,215, 70, 60, 61, 43, 67,191,184,241, 31, 63, 0, 0,128, 63, 64, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
+236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64,193,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 4,180, 3,128, 4,180, 3, 1, 0, 0, 0, 1, 0, 0, 0,
-128,253, 88, 59,220,118,160, 63, 0, 15, 37, 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, 84, 88, 68, 64, 84, 88, 68, 64, 83, 88, 68, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,190,237, 62,
-108,230,217,190, 20,151, 52, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 38, 8, 64,191,228,231, 63,186, 31,162, 63,
- 0, 0, 0, 0, 35,118, 13,192, 2, 61,220, 63, 31, 44,160, 63, 0, 0, 0, 0,166, 52,234, 60,102,223,227,191, 55,229, 31, 64,
- 0, 0, 0, 0,128,253, 88, 59,220,118,160, 63, 0, 15, 37, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,187,122,172,178,103,144, 8, 50,
- 0, 0, 0, 0, 7,239, 27,179, 0, 0,128, 63,247,131,152,178, 0, 0, 0, 0,149,110,134, 50,189,195,169, 50, 1, 0,128, 63,
- 0, 0, 0, 0,255,223,172, 50, 56, 88,136,179,159,134, 16,180, 0, 0,128, 63, 10,115,103, 62,201,122,112,190,191, 17, 71, 59,
- 0, 0, 0, 0,116,205, 9, 62,205, 36, 8, 62,136,232,135, 62, 0, 0, 0, 0, 1, 27, 69,190,224, 50, 59,190, 25,176, 65, 62,
- 0, 0, 0, 0,110,176, 16,192,158, 71, 9,192,115, 90,244, 63, 0, 0,128, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
- 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
-143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 72, 4,180, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,128, 4,180, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0,
- 92, 3, 0, 0,184, 4,180, 3,115, 0, 0, 0, 1, 0, 0, 0, 8, 57,181, 3,184, 0,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66,112,114,101,118,105,101,119,104, 97,105,114, 0,108, 97,110,101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, 88,139, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,168,139, 50, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,248,139, 50, 3, 0, 0, 0, 0,116, 0, 0, 0,
+ 1, 0, 0, 0, 8,146, 50, 3, 0, 0, 0, 0,232,133, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119, 99,117, 98,101, 0,117, 98,101, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
+ 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 8,208,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16,137,156, 3, 16,137,156, 3, 72, 8,180, 3,128, 8,180, 3, 1, 0, 0, 0, 1, 0, 0, 0,
- 86, 92,200, 63, 7,205,227, 63,149,199, 9,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,234,126, 47, 64,234,126, 47, 64,236,126, 47, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,225, 80, 2, 63,
- 5,211, 15,191, 92,219, 18, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,254, 18, 64, 23,209,169, 62, 27,251,186, 63,
- 0, 0, 0, 0, 71,254,133,191,207, 40, 17, 64,229,194,144, 63, 0, 0, 0, 0, 78, 38,137,191, 48,162,192,191,125,176, 1, 64,
- 0, 0, 0, 0, 86, 92,200, 63, 7,205,227, 63,149,199, 9,189, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,225,128, 25,179,157,103, 88,179,
- 0, 0, 0, 0,249,162,132, 50, 1, 0,128, 63, 89,156,139, 51, 0, 0, 0, 0,225,204,139,179,160, 96,185,178, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 0, 52, 1, 0, 0,180, 1, 0, 84,180, 0, 0,128, 63,244,100,156, 62,135,143, 14,190, 52,235, 17,190,
- 0, 0, 0, 0,175,239, 70, 62,102, 4, 26, 62, 72,251,137, 62, 0, 0, 0, 0,174,172, 52,189,211,112,154,190, 67,243, 76, 62,
- 0, 0, 0, 0,149, 56, 36,191,139, 98, 66,192,168, 5, 68, 64, 0, 0,128, 63, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0,
- 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,
-143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232,227, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 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,104,145, 50, 3, 0, 0, 0, 0,184,145, 50, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,128,253, 88, 59,
+220,118,160, 63, 0, 15, 37, 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,
+ 84, 88, 68, 64, 84, 88, 68, 64, 83, 88, 68, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,190,237, 62,108,230,217,190,
+ 20,151, 52, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 38, 8, 64,191,228,231, 63,186, 31,162, 63, 0, 0, 0, 0,
+ 35,118, 13,192, 2, 61,220, 63, 31, 44,160, 63, 0, 0, 0, 0,166, 52,234, 60,102,223,227,191, 55,229, 31, 64, 0, 0, 0, 0,
+128,253, 88, 59,220,118,160, 63, 0, 15, 37, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,187,122,172,178,103,144, 8, 50, 0, 0, 0, 0,
+ 7,239, 27,179, 0, 0,128, 63,247,131,152,178, 0, 0, 0, 0,149,110,134, 50,189,195,169, 50, 1, 0,128, 63, 0, 0, 0, 0,
+255,223,172, 50, 56, 88,136,179,159,134, 16,180, 0, 0,128, 63, 11,115,103, 62,200,122,112,190,232, 17, 71, 59, 0, 0, 0, 0,
+ 4, 27, 69, 62,226, 50, 59, 62, 24,176, 65,190, 0, 0, 0, 0,114,205, 9, 62,203, 36, 8, 62,136,232,135, 62, 0, 0, 0, 0,
+188,208, 22,191, 23, 64, 18,191,174, 28,229,190, 0, 0,128, 63, 10,115,103, 62,201,122,112,190, 0, 18, 71, 59, 0, 0, 0, 0,
+116,205, 9, 62,204, 36, 8, 62,136,232,135, 62, 0, 0, 0, 0, 1, 27, 69,190,224, 50, 59,190, 25,176, 65, 62, 0, 0, 0, 0,
+110,176, 16,192,158, 71, 9,192,115, 90,244, 63, 0, 0,128, 63, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,104,145, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,184,145, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 79, 66, 0, 0, 32, 5, 0, 0, 8,146, 50, 3, 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 8,184, 51, 3, 0, 0, 0, 0,
+248,139, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,
+119,104, 97,105,114, 0,108, 97,110,101, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,108, 53, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,
+ 72,183, 51, 3, 0, 0, 0, 0, 72,183, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,151, 50, 3, 0, 0, 0, 0,
+200,151, 50, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 86, 92,200, 63, 7,205,227, 63,149,199, 9,189, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234,126, 47, 64,234,126, 47, 64,236,126, 47, 64,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,225, 80, 2, 63, 5,211, 15,191, 92,219, 18, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,224,254, 18, 64, 23,209,169, 62, 27,251,186, 63, 0, 0, 0, 0, 71,254,133,191,207, 40, 17, 64,229,194,144, 63,
+ 0, 0, 0, 0, 78, 38,137,191, 48,162,192,191,125,176, 1, 64, 0, 0, 0, 0, 86, 92,200, 63, 7,205,227, 63,149,199, 9,189,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63,225,128, 25,179,157,103, 88,179, 0, 0, 0, 0,249,162,132, 50, 1, 0,128, 63, 89,156,139, 51,
+ 0, 0, 0, 0,225,204,139,179,160, 96,185,178, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 52, 1, 0, 0,180, 1, 0, 84,180,
+ 0, 0,128, 63,244,100,156, 62,133,143, 14,190, 54,235, 17,190, 0, 0, 0, 0,174,239, 70, 62,100, 4, 26, 62, 74,251,137, 62,
+ 0, 0, 0, 0,176,172, 52,189,213,112,154,190, 70,243, 76, 62, 0, 0, 0, 0,151, 56, 36,191,142, 98, 66,192,171, 5, 68, 64,
+ 0, 0,128, 63,244,100,156, 62,133,143, 14,190, 54,235, 17,190, 0, 0, 0, 0,174,239, 70, 62,100, 4, 26, 62, 74,251,137, 62,
+ 0, 0, 0, 0,176,172, 52,189,213,112,154,190, 70,243, 76, 62, 0, 0, 0, 0,151, 56, 36,191,142, 98, 66,192,171, 5, 68, 64,
+ 0, 0,128, 63, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
+ 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168, 90,154, 3,168, 90,154, 3,184, 8,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 72, 8,180, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,128, 8,180, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-128, 0, 0, 0,184, 8,180, 3,117, 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, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248,152, 50, 3, 0, 0, 0, 0,248,152, 50, 3, 0, 0, 0, 0, 24,152, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 76, 1, 0, 0,168, 90,154, 3, 66, 1, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,203,186, 3,104, 9,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,
+120,151, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
+200,151, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0, 24,152, 50, 3,
+ 0, 0, 0, 0,119, 0, 0, 0, 1, 0, 0, 0, 0, 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,
-244,100,156, 62,134,143, 14,190, 52,235, 17,190, 0, 0, 0, 0,172,172, 52, 61,211,112,154, 62, 69,243, 76,190, 0, 0, 0, 0,
-176,239, 70, 62,102, 4, 26, 62, 73,251,137, 62, 0, 0, 0, 0,188,211, 12,191,198,176,160,190, 56,156, 22, 63, 0, 0,128, 63,
- 0, 0, 0, 64, 0, 0, 0, 0, 17, 2, 0, 0,150, 0, 0, 0, 0, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 16, 2, 0, 0,248,152, 50, 3, 0, 0, 0, 0, 97, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,239, 55, 3, 0, 0, 0, 0, 88,155, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 55,181, 3, 68, 65, 84, 65,168,147, 0, 0,104, 9,180, 3, 64, 1, 0, 0,
-150, 0, 0, 0, 0, 0, 0, 0, 20,135, 17,192, 36,121, 97,192,112, 32,141, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,157,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 96, 32, 63,185,201,160, 62,160, 3, 6, 63, 11, 34,248,190,
-206, 53,185, 60,192,197,178, 61,174,184, 53, 63,223,172,162,190,109,136,224, 62,142,173, 61,191,180, 96, 10, 60,200,196,163, 61,
- 78,182, 99, 63,165,242,180, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-248,112,150, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,111, 46, 7,192,143, 26, 60,192, 28,147,207, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,244,100,156, 62,134,143, 14,190, 52,235, 17,190, 0, 0, 0, 0,172,172, 52, 61,211,112,154, 62, 69,243, 76,190,
+ 0, 0, 0, 0,176,239, 70, 62,102, 4, 26, 62, 73,251,137, 62, 0, 0, 0, 0,188,211, 12,191,198,176,160,190, 56,156, 22, 63,
+ 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,150, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,180, 51, 3,
+ 0, 0, 0, 0,232,180, 51, 3, 0, 0, 0, 0,232,180, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 72,103, 16, 3, 0, 0, 0, 0, 68, 65, 84, 65,128,112, 0, 0, 88,155, 50, 3, 0, 0, 0, 0, 94, 1, 0, 0,
+150, 0, 0, 0, 20,135, 17,192, 36,121, 97,192,112, 32,141, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 12, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,180, 96, 10, 60,200,196,163, 61, 78,182, 99, 63,165,242,180, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,111, 46, 7,192,143, 26, 60,192, 28,147,207, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,158,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,121,229,190,108, 50, 41,191,136,152, 7,191,156,100,146,190,146,141, 25,191,
- 39, 92,142, 62,212,104, 18, 63,227,105,105,190,113,156, 96, 62,137,226, 69,191,147,247, 17, 61, 51,172, 44, 62, 17,125, 54, 63,
- 69,195,169, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,144, 63,245, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-224,103,174,189, 60, 88, 17,192,230, 35, 76, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,
-200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,159,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,101,160,155, 62, 59, 87,152, 62,118,199, 84,191, 86, 89,183, 62,118,103,231, 62,110, 47,177,189,
-155, 8, 4,191,100, 60,199, 62,197, 40,177,189, 2, 14, 46, 62,102, 96, 39, 62,101,119,242, 61,189,168,146, 62, 55, 9,221, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,135, 36, 87, 61, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,102,131,192,
-196,241, 26, 63,140,198, 76, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,206,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,160,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 80, 39, 63,171, 26,218,190, 89,118, 16, 63,130, 72,138,190,169,255,122,190,185,111, 14,191, 21,207, 38, 63,
- 73,252,211, 61,198,177, 80,191, 43,154,203,189,227,146, 53, 61, 63,180,115, 63,216,113, 42, 59,125, 63,144, 58, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,175, 95,142, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 43,226,189,253, 85,220,191,
-225,104,101, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96,161,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-119, 97, 45, 63,119, 47,205,190, 35,117, 19, 63,166,125, 98, 62,242,195, 73, 62,124,228,243, 62,119, 86, 11, 63, 70,156, 89, 62,
-230,232, 88, 63,130, 53,204,190,250,120,128, 62, 19,194, 20, 62, 61, 15, 90, 62, 92, 30,200, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 53,129,253, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,108,159,129,191, 8,210, 6, 63, 35,221,152, 64,
-190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,162,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,167,210,190,
-194,172,139, 62,250,220, 35, 63, 30,182, 22,191,122, 3,136, 61,109,164,176,190, 30,153,147,190,255,248, 10,188,234, 90,160,190,
- 89,241,205,190,148,235, 25, 63,206,172,146, 62,137,195, 52, 61, 99,142,139, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 37,227, 77, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,167,189,191,217, 59,104,192,184,179,184, 63,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-112,163,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 45,121, 62,120,126, 98, 63,
- 60,171,135,189,139,174,200,190,220,142, 21, 63, 77, 70, 40,191,118, 70,150, 62, 4,245, 92, 61,159,118,174,190,176,217, 49, 63,
-120,167,104, 60,166,104,235, 60,218,251, 73, 63, 13, 25, 44, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,217, 2,247, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,112, 30, 63,111, 69, 82,192, 59,191, 51, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,164,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,227,137,190,206,195, 71,191, 70, 31, 96,190,
-127, 46, 5, 63, 99, 51,214,189,228, 61, 67,191,134, 90, 2, 62,120,214,146,190, 34,111, 33, 62,136,229,187,190, 27,112,241, 60,
- 0,187,177, 60, 4,134,171, 62,164, 35, 29, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,130,192, 56, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118,148,176,191, 88,200, 1, 63, 89, 48,146, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,165,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,169, 82,190,102,214, 57, 63, 55,112, 36,191, 59,205, 9, 62,
-184,139, 5, 63,105, 32, 43,190,120, 62, 37,191,220,215, 15, 63,180, 2, 8, 63,198,170,163, 62,160,178, 8, 63,185,164,184, 62,
- 68, 72, 63, 61, 16,104,112, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 97,249,192, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200, 80,168,191, 8,154,165,191,229,248, 80, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 13, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,147,247, 17, 61, 51,172, 44, 62, 17,125, 54, 63, 69,195,169, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,224,103,174,189, 60, 88, 17,192,230, 35, 76, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 14, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,102, 96, 39, 62,101,119,242, 61,189,168,146, 62, 55, 9,221, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 75,102,131,192,196,241, 26, 63,140,198, 76, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 15, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,227,146, 53, 61, 63,180,115, 63,216,113, 42, 59,125, 63,144, 58, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 64, 43,226,189,253, 85,220,191,225,104,101, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 16, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,250,120,128, 62, 19,194, 20, 62, 61, 15, 90, 62, 92, 30,200, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,108,159,129,191, 8,210, 6, 63, 35,221,152, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 17, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,148,235, 25, 63,206,172,146, 62,137,195, 52, 61, 99,142,139, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,114,167,189,191,217, 59,104,192,184,179,184, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,166,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,145, 5,191, 83, 77,126, 62, 14,133, 63,191,190, 5,167, 62,123,212, 96,190,
-233,136,176, 62, 25,193, 80,189,147, 49, 18, 62,222, 40, 25, 62, 59,204, 10,191,177, 46,104, 62, 36,106,150, 62, 2, 61,138, 62,
- 4,131, 86, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 39, 27, 19, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,190,246,189,233,129, 90,192,224,155, 20, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,
-206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,167,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 30, 77, 14,191,231, 81,154, 62, 41,220, 22,191,104,189, 0,191,214,167,160,190,140, 60, 22,190,
- 37, 85, 74, 63, 32,253, 8,191, 96,146, 23, 61,196, 30,177,190, 79, 25,187, 60,207,244,194, 60, 53,234,253, 62,233, 52,234, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,218, 21, 79, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,231, 67,190,
-144,105, 11,189,210,111,153, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,168,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 74,110,205, 62,146,226, 27,191, 73, 95,219, 61, 75, 3, 45, 63,222,109,147,190,152,196, 40, 63, 36,136,116,190,
-181, 21,190,190,211, 38,213,190,114,230,183, 62,206,217, 24, 63, 59,222, 25, 62, 0, 50,134, 61,139,161, 63, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,180, 67,127, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,217,158, 63,122,225, 17,192,
-213,158,120, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160,169,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176, 95, 22, 63,172, 95,210,190,114, 70, 46,191, 67, 71, 26, 62,188,164,234, 61,121,120, 78,191,186,229,108,188,144,225, 72,190,
-197,218, 42,190, 83,104,114,191, 34,213, 73, 62,217,230, 49, 61,217,117,187, 61,143,253, 42, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,226,144, 95, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29,205,127,191,231,116,142,191,116, 64,100, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,170,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 25,132,189,
- 67,167, 41,191,249,145,174,190,171,227, 41, 63, 84,208, 94, 62, 98, 21, 50, 63,138,162, 46,191,136, 53, 56,191, 9, 44,160, 62,
- 15, 42,188,190,109,124,145, 62, 47, 84,135, 62, 95, 56, 95, 62,104, 38,111, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,183,116, 87, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,143,106, 67,192,239, 1,236, 62,230,139,105, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176,171,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 62, 72, 62,147,226,176, 62,
- 67,185, 48,191,255,215, 26,191,242,158,254,187, 89,238,201,190, 99,166, 39, 63,102,238, 3,191,206,229, 10, 62,165, 53,230, 62,
- 37,227,100, 62,230, 38, 54, 63, 87, 4, 43, 61,166, 1,190, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,213, 26,126, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 63, 58,191,242, 44,102,191,239,155,119, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,172,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,198,238,131, 61, 49, 99, 58,191, 63,180, 26, 63,
-201, 92,162,190,113,254,209, 62,151, 67, 12, 63, 80,138,197, 62,197,116, 72,191,117,129,182,190,180,137, 76, 62,232,134,178, 62,
- 23,134,113, 62,235,242, 46, 62, 45,121,122, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,248, 12,169, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,244,173,175, 62,136,194,141, 61, 0,239,164, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,173,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,213, 38, 28, 63, 66,248,166, 60,227,199, 67,191,127,123, 83,190,
-122,119,224,190, 73, 46,149, 62,135, 43, 62, 62, 30,175,199, 62, 97,224, 2, 63,180,198,250, 62,211, 97, 48, 63, 38,134,130, 61,
-167, 53, 8, 61, 56, 40, 91, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 93,115,157, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,127,188, 36,192, 83,192, 42,192, 20, 24,202, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 18, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,120,167,104, 60,166,104,235, 60,218,251, 73, 63, 13, 25, 44, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 86,112, 30, 63,111, 69, 82,192, 59,191, 51, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,174,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,121, 82,190,233,142,216,190, 94,156, 83,191,222, 73,158, 62,170,207, 3, 63,
- 63, 41, 39,191, 2,164,147, 62, 36,187, 38,191, 0, 1,218, 62,145,119, 32,191,191,242,154, 60, 14,165,130, 62,127,236, 49, 63,
-163, 44,253, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 13,194,130, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-191,117, 51, 63, 40,247, 44,192, 84, 59, 82, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,175,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 89,176, 71, 59,214, 55, 18,191, 67, 82,223,190,142, 2, 50, 63,235, 17,202, 61, 51,118,199, 62,
-129,125, 72, 63, 86,250, 36,191, 70, 99, 90, 61,125, 38, 25, 63,218, 50,227, 61, 48,152,110, 61,166, 58,104, 62,121,161, 26, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 21, 69, 35, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,218, 44,192,
-131,112,159,190, 68,196, 80, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,176,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 62, 65, 39,191,175,203,203,190, 24, 58, 8,191,132,178,185,190, 48,133, 27, 63,166,150, 35, 63,195,164,174,189,
-146, 20,209,189,124, 43, 3,191,219,188, 54, 63, 23,126, 53, 62, 93,113, 22, 63, 29,104, 42, 62,166,168,140, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 90,122,222, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,222,253, 61,191,212,216, 43,190,
-219,239,140, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224,177,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 59, 62,251,190,154,207,132, 62,191,198, 19,191,122, 82, 25,191,179,114,169,190,242, 80, 46,191,161, 92,100,189,125,103,188, 62,
- 0,234, 23,191, 12,140, 22, 63, 24, 36,252, 62,191,130,121, 62, 96,245,198, 61, 98,186, 42, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 62,205, 89, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,168,212,191, 47,175, 30,192, 94,228, 12, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232,178,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,136, 6, 62,
-240,135, 58,191, 89,198,233, 61, 57,148, 41, 63,151,188,189,190,156, 72,189,190,184, 14, 86, 63,185, 54,165,190,131,220, 49, 62,
- 60, 87,189,189,118,198,167, 61, 92,200, 80, 62,157,210, 10, 63,240, 9, 48, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,186,132,181, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,184,238,190,237,206,230,191,208,122, 85, 64,190, 81, 55,191,
-107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240,179,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,165, 30, 63,161, 50,249,190,
-180,213, 86,189,178, 10, 29,191,227,247, 49,191,215,139, 7,189,222,249,154,189,153, 77, 23,191,160, 58, 14, 63, 72, 47, 15, 61,
-138,132, 94, 62,167,190, 48, 62,203, 41,136, 62,157, 52,176, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 38,177,233, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 19,104, 63,179,122,254,191,115, 37,123, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,180,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,231,181, 62, 36, 19, 51, 63,126, 5, 6,191,
-231, 27,170,190,128,253, 35,189,182, 11,151,189, 74,171,178, 62,127,231, 49, 63,204,146,128, 62, 88,100, 17, 62,197,245,124, 62,
- 30,108,130, 61,201,152,229, 61,242,193, 19, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 56,156, 79, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,172,106,191, 63,110,225, 42,192, 2,170,110, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,
-236,163,214, 62,197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,227, 27,191, 17, 83, 26, 63, 27,229, 2,191, 83, 48,135, 61,
-199,244,134, 62, 55, 37,151,190,210,195,237,189,249, 39, 17, 63,154, 1, 76, 61, 75,194, 79,191,240, 99,249, 61,190, 88,249, 60,
-174, 20,183, 61, 39, 38, 66, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-150, 40,178, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,121, 3, 12,192, 63, 11,252,190,146,136, 89, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 20, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 27,112,241, 60, 0,187,177, 60, 4,134,171, 62,164, 35, 29, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,118,148,176,191, 88,200, 1, 63, 89, 48,146, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,183,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 59, 20,191, 30, 36, 17, 63,112, 57,252,190, 32,101,162, 62,139, 6,160, 62,
- 57,160, 80, 61,109,243,245, 61, 41, 18,224,190,182,154,227,188,238,196,139,190,173, 28,108, 62,191,152,246, 62,199, 50, 61, 62,
- 31,254,210, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 20,166, 56, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-250,104,187,191, 56, 86,139,189,145, 23,131, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,
-203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,184,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,228, 80, 19,191,118,138, 16,191,122,210, 6,191,139, 14,138, 62, 73, 65,189, 62, 19, 89,244,189,
-205, 5, 83, 62, 94,159,107,190, 19,199,255, 62, 14,124, 48,190, 15, 67,208, 62,184, 57,190, 62,119,154,219, 61,111,114,234, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,203, 51,223, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 56,161, 62,
-255,221,207,191,202,110,120, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,185,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,138,124, 47, 63, 12,193, 0, 63,124, 39,176, 62, 68, 3,204,190,132,180, 43, 61, 66,184,104,189, 69,173, 54,191,
- 24,239,116,189,191,183, 53,190,120, 91,198,190,123, 33,150, 62, 68, 30,226, 61,224,121, 27, 62, 4,154,227, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,117, 22, 35, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 89, 41,192,117,107, 25,192,
-174,245,222, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32,186,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 66,202,207, 62,211, 32, 47, 63,139,219, 0,191,197,212,172,190,195, 68, 65, 63,105,152,217,190,159,218,214,190, 85,113, 84,190,
-194,108,158,190,229,217,235, 61, 82,179,202, 60,197,106,157, 62,211,197, 33, 63, 9,243, 18, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 1,162,102, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,238,220,191, 91, 70,150,191,203,192, 72, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,187,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 95, 22, 63,
-172, 95,210,190,114, 70, 46,191, 67, 71, 26, 62,188,164,234, 61,121,120, 78,191,186,229,108,188,144,225, 72,190,197,218, 42,190,
- 83,104,114,191, 13,183, 77, 62,158,153,182, 62, 65, 59,143, 62, 52,159, 38, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,226,144, 95, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,234,116,192,224,101,238,188,165, 20, 56, 64,190, 81, 55,191,
-107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48,188,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,136, 6, 62,240,135, 58,191,
- 89,198,233, 61, 57,148, 41, 63,151,188,189,190,156, 72,189,190,184, 14, 86, 63,185, 54,165,190,131,220, 49, 62, 60, 87,189,189,
- 31,255,242, 60,231,194, 83, 63,189, 56, 5, 62, 68,188, 85, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,186,132,181, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,209,240,189,178,183, 95, 63, 5, 67,176, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,189,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,114, 86,191,137,141, 2,191,227,140,105, 61,
- 70,121, 63,190,130,242,218, 62,237,163,132,190,219,235, 16, 60, 85,203,248, 62, 79,244, 80,191,103, 0,148, 62,153,189, 85, 63,
-151,104,200, 61,246, 55,142, 60, 74, 57, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 31,252, 33, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,206, 54, 25,192,171,197,162, 62, 6, 16,121, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,
-236,163,214, 62,197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,190,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219,100,244,190,182, 69, 91,191, 60,137,144,189,161,126, 59, 62,
- 28,228,200,190, 60, 49,170, 62,225,139,250,189,244,143,111, 62,252,103,100,191,148, 32, 79, 62,104,246,163, 62, 91,201, 16, 63,
- 24,104,136, 61,227,230, 66, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-182, 88, 41, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 29, 57, 61,192,236, 53, 39,191,173,221, 55, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 21, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,160,178, 8, 63,185,164,184, 62, 68, 72, 63, 61, 16,104,112, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,200, 80,168,191, 8,154,165,191,229,248, 80, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 22, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,177, 46,104, 62, 36,106,150, 62, 2, 61,138, 62, 4,131, 86, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0,190,246,189,233,129, 90,192,224,155, 20, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 23, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 79, 25,187, 60,207,244,194, 60, 53,234,253, 62,233, 52,234, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,176,231, 67,190,144,105, 11,189,210,111,153, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 24, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,206,217, 24, 63, 59,222, 25, 62, 0, 50,134, 61,139,161, 63, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 58,217,158, 63,122,225, 17,192,213,158,120, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 25, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 34,213, 73, 62,217,230, 49, 61,217,117,187, 61,143,253, 42, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 29,205,127,191,231,116,142,191,116, 64,100, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 26, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,109,124,145, 62, 47, 84,135, 62, 95, 56, 95, 62,104, 38,111, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,143,106, 67,192,239, 1,236, 62,230,139,105, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 27, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 37,227,100, 62,230, 38, 54, 63, 87, 4, 43, 61,166, 1,190, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,114, 63, 58,191,242, 44,102,191,239,155,119, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 29, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,232,134,178, 62, 23,134,113, 62,235,242, 46, 62, 45,121,122, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,244,173,175, 62,136,194,141, 61, 0,239,164, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 30, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,211, 97, 48, 63, 38,134,130, 61,167, 53, 8, 61, 56, 40, 91, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,127,188, 36,192, 83,192, 42,192, 20, 24,202, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 31, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,191,242,154, 60, 14,165,130, 62,127,236, 49, 63,163, 44,253, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,191,117, 51, 63, 40,247, 44,192, 84, 59, 82, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 32, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,218, 50,227, 61, 48,152,110, 61,166, 58,104, 62,121,161, 26, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 23,218, 44,192,131,112,159,190, 68,196, 80, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 33, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 23,126, 53, 62, 93,113, 22, 63, 29,104, 42, 62,166,168,140, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,222,253, 61,191,212,216, 43,190,219,239,140, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 34, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 24, 36,252, 62,191,130,121, 62, 96,245,198, 61, 98,186, 42, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,192,168,212,191, 47,175, 30,192, 94,228, 12, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 35, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,118,198,167, 61, 92,200, 80, 62,157,210, 10, 63,240, 9, 48, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,114,184,238,190,237,206,230,191,208,122, 85, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 36, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,138,132, 94, 62,167,190, 48, 62,203, 41,136, 62,157, 52,176, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 67, 19,104, 63,179,122,254,191,115, 37,123, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 38, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,197,245,124, 62, 30,108,130, 61,201,152,229, 61,242,193, 19, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,172,106,191, 63,110,225, 42,192, 2,170,110, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 39, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,240, 99,249, 61,190, 88,249, 60,174, 20,183, 61, 39, 38, 66, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,121, 3, 12,192, 63, 11,252,190,146,136, 89, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 40, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,173, 28,108, 62,191,152,246, 62,199, 50, 61, 62, 31,254,210, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,250,104,187,191, 56, 86,139,189,145, 23,131, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 41, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 15, 67,208, 62,184, 57,190, 62,119,154,219, 61,111,114,234, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 52, 56,161, 62,255,221,207,191,202,110,120, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 42, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,123, 33,150, 62, 68, 30,226, 61,224,121, 27, 62, 4,154,227, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 63, 89, 41,192,117,107, 25,192,174,245,222, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 43, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 82,179,202, 60,197,106,157, 62,211,197, 33, 63, 9,243, 18, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 94,238,220,191, 91, 70,150,191,203,192, 72, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 44, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 13,183, 77, 62,158,153,182, 62, 65, 59,143, 62, 52,159, 38, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 61,234,116,192,224,101,238,188,165, 20, 56, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 45, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 31,255,242, 60,231,194, 83, 63,189, 56, 5, 62, 68,188, 85, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,128,209,240,189,178,183, 95, 63, 5, 67,176, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 47, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,153,189, 85, 63,151,104,200, 61,246, 55,142, 60, 74, 57, 76, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,206, 54, 25,192,171,197,162, 62, 6, 16,121, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 48, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,104,246,163, 62, 91,201, 16, 63, 24,104,136, 61,227,230, 66, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 29, 57, 61,192,236, 53, 39,191,173,221, 55, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 49, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 39,218,212, 61,242, 20, 25, 63,122, 70,118, 62,159,226,107, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,249, 62, 40,191, 16,113, 26, 63, 50,179,160, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 50, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 64,186, 45, 63,109,122, 91, 62, 32,134, 21, 61, 21,118,144, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 90, 51,138,191,199, 14,110,192, 18, 66,203, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 51, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,235,223,153, 59, 21,174,243, 59,231,160, 60, 63,251,135,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 44, 75,186,191,170,205,204,191,132,169, 61, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 52, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 79, 19, 52, 62,229, 52,146, 62,191,228,171, 62,106,185, 79, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 4,119,219, 63,231, 73, 28,192, 83,117,128, 64,188, 81, 55,191,109,243, 71,191,100,237, 42, 63,233,163,214, 62,
+202,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 53, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,186, 75, 51, 62,206,251,144, 60,198, 49, 19, 61, 22,114, 69, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,172, 59,194,191, 35, 29, 13,192, 13,208, 30, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 54, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 97, 31,227, 61,168,207,104, 62, 38, 89,237, 62, 93,238, 74, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,197,190, 82,192,251,148,174, 62, 29,189, 91, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 56, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,210, 10, 37, 62,124,152, 65, 63, 28,110,106, 61,179,189,207, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,120,157,163,190, 44,219, 33, 63,250, 25,167, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,237,163,214, 62,
+199,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 57, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 52,192, 61, 63, 16, 50, 23, 62, 40, 56, 1, 61, 43,254,162, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,131, 63, 79, 63, 22,225,203,191,183, 83,133, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 58, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 9,188,167, 62,141,167,138, 61,186,163,185, 61,147,152, 3, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 20,218, 89, 62,169, 21, 81,192, 50,226, 38, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 59, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,175,237, 18, 61, 50, 0, 0, 61,180, 45,208, 62, 72,186, 6, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,192, 91,166,190,203,138,151, 62,232, 4,159, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 60, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,114,117, 40, 63,164, 92, 37, 62, 72,198, 78, 61, 6, 28, 5, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,104,137,191,191,143,156,208,190,234,245,116, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 61, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,121,217,174, 62, 45, 55,188, 62, 41, 76, 25, 62,138,146, 16, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,218, 6, 78,191,240,247, 2,191, 2,181,131, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 62, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,237,209,211, 62, 1,168,129, 62,108,237, 7, 62,188, 30, 77, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,100,181,251,191,160, 67, 79, 63, 83,115,143, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 63, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 31, 56,250, 62,174,208,248, 62, 50, 43, 79, 60,252,186, 79, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,166,143, 16,192,219, 40, 31,192,188,165,240, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 65, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 93,255, 69, 61,131,237,129, 62,199,113, 29, 63, 16,188,169, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 47, 16, 46,192,234,135, 17, 62,196,174,101, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,191,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,167, 43, 35,190,242,210,225, 61,197, 58, 30, 63,229, 8, 67, 63,215,176,222, 61,
- 70, 15, 12, 63, 80,195,165, 62,218, 72,227, 61,188, 66, 87,191,145,213,195, 62, 39,218,212, 61,242, 20, 25, 63,122, 70,118, 62,
-159,226,107, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,173, 74, 64, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-249, 62, 40,191, 16,113, 26, 63, 50,179,160, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,192,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,190, 29,224,190,239, 44, 4, 63,125,217, 49, 63,107, 25,121,190,117,172,217, 62,242, 98,116,190,
-148,162, 42, 63,142,178,199,190, 54,105, 13,191, 83,107,163,190, 64,186, 45, 63,109,122, 91, 62, 32,134, 21, 61, 21,118,144, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,113,107, 73, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 51,138,191,
-199, 14,110,192, 18, 66,203, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,193,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 36, 78, 39, 63,128, 50,251,190,139,185,189,190,175, 4,226, 62,118, 23,153,190, 67,228,120,190, 50,226, 42,191,
-239,243, 86,191, 37, 42,189,190, 66, 1,190,190,235,223,153, 59, 21,174,243, 59,231,160, 60, 63,251,135,128, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,167,245,105, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 75,186,191,170,205,204,191,
-132,169, 61, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96,194,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-118,223,155, 62,249,196, 3,191,115, 12,163,190,212, 73, 60,191, 59,208, 85, 62, 65, 11,155, 62, 28, 17,173,189, 20, 16,254,190,
-213,229, 32, 63,216,221, 28,189, 79, 19, 52, 62,229, 52,146, 62,191,228,171, 62,106,185, 79, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 45,184, 37, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,119,219, 63,231, 73, 28,192, 83,117,128, 64,
-188, 81, 55,191,109,243, 71,191,100,237, 42, 63,233,163,214, 62,202,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,195,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,109,254, 62,
-210,146, 4, 63,232,131, 23, 63, 66,212,187, 62, 9,109,158,190, 71, 12,216, 62, 64, 20,153, 59, 11, 2, 7, 62, 92,134, 91, 62,
- 43,128, 33,191,186, 75, 51, 62,206,251,144, 60,198, 49, 19, 61, 22,114, 69, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,221,100,115, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 59,194,191, 35, 29, 13,192, 13,208, 30, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-112,196,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118,223,155, 62,249,196, 3,191,
-115, 12,163,190,212, 73, 60,191, 59,208, 85, 62, 65, 11,155, 62, 28, 17,173,189, 20, 16,254,190,213,229, 32, 63,216,221, 28,189,
- 97, 31,227, 61,168,207,104, 62, 38, 89,237, 62, 93,238, 74, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 45,184, 37, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,197,190, 82,192,251,148,174, 62, 29,189, 91, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,197,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,170,132, 10,191, 82, 61,237, 62,127,191,223,190,
- 11,148, 12, 63,236,142, 92, 62, 17,199, 32, 63,157,206,242,189,199,114, 15, 63, 91, 82, 33,191, 3,247,167,190,210, 10, 37, 62,
-124,152, 65, 63, 28,110,106, 61,179,189,207, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 40, 23,140, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120,157,163,190, 44,219, 33, 63,250, 25,167, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,
-237,163,214, 62,199,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,198,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,175, 4,191,160,200, 50,190,248,214, 77, 63,226,194,110,190,
-138, 10,198, 61,210,213, 62, 62,141,163,253, 61,106,130,160, 61,201,229,101,191,103,145, 50, 62, 52,192, 61, 63, 16, 50, 23, 62,
- 40, 56, 1, 61, 43,254,162, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 89, 81,220, 60, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,131, 63, 79, 63, 22,225,203,191,183, 83,133, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 66, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,132,185,112, 62, 76,198, 31, 63, 82,148,186, 61,149,140, 75, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,221, 76, 34,192,195, 63,220,191,101, 92, 19, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,191, 5,144, 61, 27,251,203, 62, 8,217,232, 62,185,169,156, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0,209,208,191,175, 98, 57,192,214, 39,244, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 68, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 40,142,100, 61,206, 81, 18, 62, 52,238, 34, 63,214,209, 40, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,156,146, 19,192,132,169, 38, 63,119,240,133, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 69, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,177, 98,202, 62,157,134, 14, 63,246,140,213, 60, 97,116,179, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,100,209,211, 63, 80, 57, 64,192,239, 52,100, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 70, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,131,222,112, 61,150,149,161, 60,127,188,202, 61,219,141, 82, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,204, 40,195, 62,169, 66, 22,192, 56, 69, 88, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 71, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,237,198, 39, 62,232,166,180, 61, 33, 45,106, 62, 32,238, 4, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,179, 41,124, 63,215, 52, 92,192, 1,194, 56, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 72, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,225,119,158, 59, 62,185, 89, 59, 58, 41,150, 62,186,212, 50, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 78,215, 66,192, 16,102, 17,189,251, 64, 82, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,199,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,155,194,190, 82, 93, 3,191, 23,133, 19,191,179,146, 2,191,131,198,104, 62,
- 15,189, 93, 63, 77,226,209,190,159,122, 21,191,169,192,234,190, 16,128, 35, 63, 9,188,167, 62,141,167,138, 61,186,163,185, 61,
-147,152, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 25,249,236, 59,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 20,218, 89, 62,169, 21, 81,192, 50,226, 38, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,
-206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,200,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,139,169, 52, 63, 97,163,156, 62, 26,132,184,190, 82, 25, 7, 63,127,117,151, 62,254,206,247, 62,
- 27,144, 76, 63,150, 57,204, 62,184,181,246,188,196,222, 19, 63,175,237, 18, 61, 50, 0, 0, 61,180, 45,208, 62, 72,186, 6, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 61,195,186, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 91,166,190,
-203,138,151, 62,232, 4,159, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,201,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,201,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,212,240, 7, 63,213, 2, 18,191,228, 90, 5,191,221, 92,178, 62, 8,236, 16, 63, 90,216,151, 62,155,193,128, 62,
- 56, 60,245,188,118,129,160,190, 47,157,113,191,114,117, 40, 63,164, 92, 37, 62, 72,198, 78, 61, 6, 28, 5, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,137, 96,226, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,137,191,191,143,156,208,190,
-234,245,116, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,202,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160,202,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-173,218, 49,191,113,109, 23,191, 32, 16, 55, 62, 54,117,188,190, 25, 20,208, 62,118,245, 46,191, 72,158,236,186, 55, 10, 97,191,
-140,128,183, 62,177,230,146,190,121,217,174, 62, 45, 55,188, 62, 41, 76, 25, 62,138,146, 16, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 96, 85, 48, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 6, 78,191,240,247, 2,191, 2,181,131, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,203,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 25,236,189,
-127,158, 27, 63,123,235,239, 62, 59,108, 33, 63,244,198,103,190,251,192,187, 62,179, 39,101,190,110,210,138, 62,145,168, 54,191,
-208, 20, 63,190,237,209,211, 62, 1,168,129, 62,108,237, 7, 62,188, 30, 77, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 2,210,109, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,181,251,191,160, 67, 79, 63, 83,115,143, 64,190, 81, 55,191,
-109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176,204,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,243,237, 61, 11,234,169,190,
-211,226, 55,191,184,175, 25,191, 24,201, 39, 63,204, 23, 71,190, 87, 61,218, 62, 31,211, 39, 63,108,101,215,190, 35,125,244,189,
- 31, 56,250, 62,174,208,248, 62, 50, 43, 79, 60,252,186, 79, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 83,130,186, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,166,143, 16,192,219, 40, 31,192,188,165,240, 63,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,205,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,157, 15,191, 47, 51,205,190,152, 40,136,190,
-128,122, 44, 63,194,144, 92, 63,235, 36, 99,190,244, 22,206,190,143, 32,220, 62,169,244, 19, 63,160,205,238,189, 93,255, 69, 61,
-131,237,129, 62,199,113, 29, 63, 16,188,169, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,249,139,151, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 47, 16, 46,192,234,135, 17, 62,196,174,101, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,
-235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,206,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,186,110,162,190,145,104,105,190,247,168,239, 62, 3,235, 74, 63,
-140, 77,178,190, 80, 49, 72, 63,164, 45,112, 62, 43,101, 44, 63, 95,162,173, 62,180,215,104,190,132,185,112, 62, 76,198, 31, 63,
- 82,148,186, 61,149,140, 75, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-161,174,120, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,221, 76, 34,192,195, 63,220,191,101, 92, 19, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 74, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 94, 65, 31, 62,152, 57, 45, 63,117,240,248, 61, 59,128, 61, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,243,234,243, 63, 12,199, 50,192,246,173,118, 64,192, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+197,206,183,190,205,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 75, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,202, 64,207, 61, 46,106, 89, 60, 30, 53, 13, 61,236,222, 89, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,174,176, 54,191, 99,173,187,191,209, 31, 93, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 76, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,101,144,129, 62,185, 1, 91, 62, 60, 67,121, 62, 32, 77,148, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,238,131,100,192,222,185, 81,191, 40, 50, 27, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 77, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,197,146, 70, 60, 83,125, 44, 63, 64,124,156, 62,125,144, 10, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,226, 77,248,190, 12,109,103,190,230,231,143, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+199,206,183,190,204,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 78, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 53,173, 3, 63,187,233, 78, 62, 77,225,187, 61,203,112, 68, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,129, 80, 10, 64,253,130, 74,192,124,179,109, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 79, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,215, 2,202, 60, 38,116,181, 59,240,167,204, 60,193,223,113, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 73, 37, 55,192, 92, 44,210,191,134, 20, 12, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,207,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,101, 89, 32, 62,234, 91, 82, 63,243, 78, 86, 60, 22, 61, 12, 63,249,120,178,190,
-203, 19, 37,191,128, 65, 24, 63,196,226, 52, 63,219,214, 0,191,203,228,210,190,191, 5,144, 61, 27,251,203, 62, 8,217,232, 62,
-185,169,156, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 7,165,113, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,209,208,191,175, 98, 57,192,214, 39,244, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,208,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,242,136, 6, 62,240,135, 58,191, 89,198,233, 61, 57,148, 41, 63,151,188,189,190,156, 72,189,190,
-184, 14, 86, 63,185, 54,165,190,131,220, 49, 62, 60, 87,189,189, 40,142,100, 61,206, 81, 18, 62, 52,238, 34, 63,214,209, 40, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,186,132,181, 61, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,156,146, 19,192,
-132,169, 38, 63,119,240,133, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,209,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,123,191,104,191, 91, 12,172,190,100, 97,112, 62,240, 67,150, 61,237,234,241, 61,121, 15, 65,190,224, 2, 61, 62,
-159, 38,233,190,118, 62,191,187,107,119, 29, 63,177, 98,202, 62,157,134, 14, 63,246,140,213, 60, 97,116,179, 60, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,159,173, 69, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,209,211, 63, 80, 57, 64,192,
-239, 52,100, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224,210,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-129, 46,157,190,239,142, 47,191, 7,129,219, 60,124,203, 40, 63, 5,175,122,189,180, 33,139, 62,162, 8, 63, 61, 75,191, 26,191,
- 52,191,189, 61,125,188,100,190,131,222,112, 61,150,149,161, 60,127,188,202, 61,219,141, 82, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 34, 78, 58, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,204, 40,195, 62,169, 66, 22,192, 56, 69, 88, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232,211,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 69, 25, 63,
- 76,123,124, 62,100,238, 32,191,234,140,220, 62, 84,159,120, 61,187,254,244, 61,103,215, 59, 63,244,235, 71,190, 9,172, 73,191,
- 94,228,165,190,237,198, 39, 62,232,166,180, 61, 33, 45,106, 62, 32,238, 4, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,128,255,104, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 41,124, 63,215, 52, 92,192, 1,194, 56, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240,212,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249,191,175, 62, 72,210, 67, 63,
- 91, 44,255,190, 36,232, 97, 62,183, 89, 70,191, 58, 37,246,190,112,174,211, 61,231,174,119,189,237, 2,119,191,180,205, 35, 62,
-225,119,158, 59, 62,185, 89, 59, 58, 41,150, 62,186,212, 50, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 78,102, 32, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78,215, 66,192, 16,102, 17,189,251, 64, 82, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,213,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 15,158,190, 97, 48, 27,191, 48,181, 41,191,
- 31, 19,160,190, 91, 23,153,189,100,243,110,190,182,169,164,190, 97,129,120,191,145,101, 90, 60,193, 53,186, 61, 94, 65, 31, 62,
-152, 57, 45, 63,117,240,248, 61, 59,128, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,196, 79,137, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,243,234,243, 63, 12,199, 50,192,246,173,118, 64,192, 81, 55,191,107,243, 71,191, 98,237, 42, 63,
-235,163,214, 62,197,206,183,190,205,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,137,136, 62,101, 7,106,191,249,249,155,190,146,218,155, 60,
-179,212,184,188, 68,215,201,189, 40,244, 61,191,114,234, 70, 61,154,226, 1,191,119,139, 91, 63,202, 64,207, 61, 46,106, 89, 60,
- 30, 53, 13, 61,236,222, 89, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 6, 40, 87, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,174,176, 54,191, 99,173,187,191,209, 31, 93, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 80, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,144,158, 50, 61, 53,247,230, 62,253, 25,236, 62,226,215, 52, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 4,163,152,191,233,189, 16,192,148, 29, 39, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,216,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,176, 71, 59,214, 55, 18,191, 67, 82,223,190,142, 2, 50, 63,235, 17,202, 61,
- 51,118,199, 62,129,125, 72, 63, 86,250, 36,191, 70, 99, 90, 61,125, 38, 25, 63,101,144,129, 62,185, 1, 91, 62, 60, 67,121, 62,
- 32, 77,148, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 21, 69, 35, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-238,131,100,192,222,185, 81,191, 40, 50, 27, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,217,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,167, 43, 35,190,242,210,225, 61,197, 58, 30, 63,229, 8, 67, 63,215,176,222, 61, 70, 15, 12, 63,
- 80,195,165, 62,218, 72,227, 61,188, 66, 87,191,145,213,195, 62,197,146, 70, 60, 83,125, 44, 63, 64,124,156, 62,125,144, 10, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,173, 74, 64, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,226, 77,248,190,
- 12,109,103,190,230,231,143, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,199,206,183,190,204,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,218,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 59, 62,251,190,154,207,132, 62,191,198, 19,191,122, 82, 25,191,179,114,169,190,242, 80, 46,191,161, 92,100,189,
-125,103,188, 62, 0,234, 23,191, 12,140, 22, 63, 53,173, 3, 63,187,233, 78, 62, 77,225,187, 61,203,112, 68, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 62,205, 89, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,129, 80, 10, 64,253,130, 74,192,
-124,179,109, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32,219,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 89,176, 71, 59,214, 55, 18,191, 67, 82,223,190,142, 2, 50, 63,235, 17,202, 61, 51,118,199, 62,129,125, 72, 63, 86,250, 36,191,
- 70, 99, 90, 61,125, 38, 25, 63,215, 2,202, 60, 38,116,181, 59,240,167,204, 60,193,223,113, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 21, 69, 35, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 37, 55,192, 92, 44,210,191,134, 20, 12, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,220,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 7, 15, 63,
-135,194, 46,190, 36, 82,148, 62,185, 22, 66,191,211,135, 53, 63,111, 29,172,190,200, 68,229, 62,253,167,140, 62,181,223, 99,190,
- 35,226,176,190,144,158, 50, 61, 53,247,230, 62,253, 25,236, 62,226,215, 52, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,202,199,214, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,163,152,191,233,189, 16,192,148, 29, 39, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48,221,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 25,236,189,127,158, 27, 63,
-123,235,239, 62, 59,108, 33, 63,244,198,103,190,251,192,187, 62,179, 39,101,190,110,210,138, 62,145,168, 54,191,208, 20, 63,190,
-113,136,250, 61,109, 45, 71, 62,248,240,222, 62,108,172,125, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 2,210,109, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,219,213, 63,119,221, 77,192, 98,157, 90, 64,192, 81, 55,191,107,243, 71,191,
- 98,237, 42, 63,235,163,214, 62,197,206,183,190,205,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,222,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,225, 4,191,239,172, 35, 63, 92, 44, 4,191,
- 88,166,112,190,229,149,176,190,233,184, 6, 63, 91,120, 44,191,208, 36, 20, 63,165, 84, 79, 63,190,145, 89, 61,154,154,192, 60,
-206,233, 43, 60, 68, 13, 0, 62, 51, 72, 87, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 34,131, 32, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 39,106,191,130, 29,114, 63,156,123,164, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,
-235,163,214, 62,200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,223,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 97, 45, 63,119, 47,205,190, 35,117, 19, 63,166,125, 98, 62,
-242,195, 73, 62,124,228,243, 62,119, 86, 11, 63, 70,156, 89, 62,230,232, 88, 63,130, 53,204,190,149, 27, 54, 63,243, 38,133, 62,
-232, 55, 53, 60, 91,130,143, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 53,129,253, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4, 71,102,192,241,109,194,190,108, 39, 47, 64,192, 81, 55,191,107,243, 71,191,100,237, 42, 63,233,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 81, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,113,136,250, 61,109, 45, 71, 62,248,240,222, 62,108,172,125, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 83,219,213, 63,119,221, 77,192, 98,157, 90, 64,192, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+197,206,183,190,205,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 83, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,154,154,192, 60,206,233, 43, 60, 68, 13, 0, 62, 51, 72, 87, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,118, 39,106,191,130, 29,114, 63,156,123,164, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 84, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,149, 27, 54, 63,243, 38,133, 62,232, 55, 53, 60, 91,130,143, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 4, 71,102,192,241,109,194,190,108, 39, 47, 64,192, 81, 55,191,107,243, 71,191,100,237, 42, 63,233,163,214, 62,
198,206,183,190,204,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,224,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127,157,105,188,148, 8,184, 62,181,109, 7,191,177,194, 68,191,163, 77,220,190,
- 58,120,101, 63,241,105, 25, 61, 69,197, 86, 62,214, 78,236,190,126,136, 46, 63,152,203, 22, 61,132,161, 61, 63, 67,196, 79, 62,
- 79, 22,160, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,112,148, 93, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12,224,214, 63,225,182, 5,192,246, 59,136, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,225,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192, 46, 24,191, 41, 20, 43,191,186,184,183, 62, 42,173,136, 62, 75, 75, 50, 63, 40, 83,126, 62,
-188,195, 8, 63,234,211,238, 62, 69, 36,152, 61,235,106,145, 62,211, 28,131, 62, 24,255, 46, 60, 11,165,139, 60,113, 88, 55, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 93,122, 57, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95,158, 92, 63,
-117,243, 67,192, 16,154, 70, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,226,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,102,175, 4,191,160,200, 50,190,248,214, 77, 63,226,194,110,190,138, 10,198, 61,210,213, 62, 62,141,163,253, 61,
-106,130,160, 61,201,229,101,191,103,145, 50, 62,112, 55,104, 61, 14, 23, 9, 61,208, 82,129, 62,176, 65, 40, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 89, 81,220, 60, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,234, 31,192,204,234, 65,192,
-110,200,172, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96,227,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-162,180, 99, 63,127,169,145, 62,114, 95,174, 62,169,121,223,189,173,190, 73, 63,118, 72, 51,190,116, 48,162,190, 59, 98,139,189,
- 77,245,191, 62, 75,124,253, 61,197,252, 48, 60,163,176, 62, 62,216, 93, 72, 63, 94, 65,166, 60, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 81, 69, 12, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,122,189,191,238,243,102,191,158,253, 93, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,228,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33,139,218,189,
-160, 81,222,190, 75, 71,151,190, 47, 33, 88,191,152,174,128,190, 43,218,107,190, 40, 96, 66,190,219, 29,113,190, 89,240,184,190,
-153, 92,204, 62,101,159,135, 62,253,216,174, 62,217, 99, 96, 62,104,171, 50, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 5, 27,207, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,227, 75, 67, 63, 48,124, 78, 61,200,150,171, 64,190, 81, 55,191,
-107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-112,229,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 19,190,190,188,203,147, 62,
- 19,242, 2, 62,223,138, 95, 63,144, 50, 24, 60,148,174, 64, 63,196,158, 11,191,220, 22, 64, 63, 98, 35, 19,190,217, 93, 44, 62,
-191,115, 58, 63,121,198, 2, 60,254,102,167, 59,178,100,132, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,189,176, 27, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 37,139, 62, 4,231, 62, 63,174,205,179, 64,188, 81, 55,191,107,243, 71,191,
-102,237, 42, 63,235,163,214, 62,200,206,183,190,206,137, 61,190,156, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,230,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,220,239, 60,168,204, 46,191, 78, 95, 84, 61,
- 8,105, 58,191,231,245, 43, 63, 91,254,151, 62, 77,143,206, 61,177,139, 42, 63, 26,107,196,190,150,211,139,190, 50, 23, 92, 63,
-169, 27, 15, 61, 8, 43, 83, 60, 59, 83,189, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,121,221, 49, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32,247,225,191, 37,175, 81,192,248,254,198, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,231,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59,132,130, 62,131,166,120,190, 15,191,109,191,170,164,238, 61,
- 20, 93, 78,190,245,164,231,189,254,254, 16, 62, 61,189,234,190,116,167,116,189, 67,175, 16, 63, 66,132, 2, 61,191, 37,189, 61,
-173, 5, 64, 63, 91,181, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-129, 93, 2, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200,110,165, 61,183, 43,239, 62,129,243,169, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 85, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,152,203, 22, 61,132,161, 61, 63, 67,196, 79, 62, 79, 22,160, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 12,224,214, 63,225,182, 5,192,246, 59,136, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,232,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,173,218, 49,191,113,109, 23,191, 32, 16, 55, 62, 54,117,188,190, 25, 20,208, 62,
-118,245, 46,191, 72,158,236,186, 55, 10, 97,191,140,128,183, 62,177,230,146,190, 62,109, 66, 63,244,159,170, 61, 79,150,243, 60,
- 69,136, 2, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 96, 85, 48, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 12,158,243,191,244,237,104,192,138, 34,155, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,233,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,155, 22, 49,191,223,232,165, 62,133,208, 6,191, 93,253,190,190,190,234,194,190,239, 89, 29,191,
-134,110, 23,191, 8,217, 30,191,107,159,205,190, 18, 94,185,190,228,106, 92, 60, 23, 25, 35, 61,136,111, 93, 63,211,105,167, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,252,153,132, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 74, 8, 63,
- 0,240, 1,192, 28,123,108, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,200,206,183,190,205,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,234,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,217,155,104, 63,215,164, 29,190,175, 60,179,190,201,201, 43, 62,100, 60, 67, 61,171, 42, 90,189, 68, 85, 4,191,
- 67,249,130, 62,230,199,133,190,149, 14,107, 63,233,242,101, 62,181,120,181, 61,231,136, 43, 62,245,241, 4, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,252,179,108, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 24,231,191, 44,105, 21,191,
-186, 32, 98, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160,235,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-126, 52, 49,191,201, 9, 43, 63,166,234, 96,190,182,210, 37,190,206, 58, 54, 61,231, 1, 63, 63,133,173, 34,191, 5,154,170,190,
- 93,112, 51, 63, 18, 61, 23,191, 66,189,138, 62,114,103,210, 62,117,128, 62, 62, 35, 54, 7, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 33,132,126, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 52, 5,191, 10,103, 49,192,230,154, 37, 64,
-190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,236,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 96, 32, 63,
-185,201,160, 62,160, 3, 6, 63, 11, 34,248,190,206, 53,185, 60,192,197,178, 61,174,184, 53, 63,223,172,162,190,109,136,224, 62,
-142,173, 61,191,132, 47,184, 61,244,157,207, 61,168, 0,225, 62,249, 11,189, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,248,112,150, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 45,177,191, 22,253, 99, 63, 8, 58,155, 64,190, 81, 55,191,
-109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176,237,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,202, 55, 63,249,235, 89,190,
-127, 18, 92,190,146,129, 32,191, 7,212, 8,190,167, 50,171,190, 97,120,123, 62,232,152,249,189,140, 18,149, 62, 37,111, 13, 61,
-147,253, 28, 63,231,184,184, 62, 48, 48, 58, 60, 59, 78,111, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,115, 61, 18, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,255, 57,191,235, 4, 65,192, 77, 7, 19, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,238,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,218,133,189,116, 10,176,189,186,237, 10, 63,
- 14, 61, 85, 63,182,219, 38,190,174,175,206, 62, 47,240, 10, 63, 31,232,114,190, 91,162,207,190,173, 85,193,190,228,255,128, 61,
- 76, 32,172, 61,147,152, 5, 63,205,134,169, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 62, 38,212, 60, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,184, 68,137,191,204,177,226, 61,196,247,141, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,239,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,133,138,146, 61,133, 75, 8,187, 28,235, 68, 62,122,141,122, 63,
-116,117, 92, 63, 7,147,125,190, 87, 49,147,190, 9, 88, 41, 63, 63,255, 2, 63, 71, 44,126, 61,107,166, 0, 63, 23, 29,154, 62,
- 34,214,165, 61, 42,130,236, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-241,170,103, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 22,103, 82,192, 73, 75,201,191, 1,247, 0, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 86, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,211, 28,131, 62, 24,255, 46, 60, 11,165,139, 60,113, 88, 55, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 95,158, 92, 63,117,243, 67,192, 16,154, 70, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,240,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,231,120,168, 62,179,154, 7,191, 41,180, 48, 63,239,232,187,190, 9, 35,104,191,
-222, 8,114, 62, 76,143,177,190,107, 29, 28,191,210,112,234, 62, 9,249, 92,190, 73,109,118, 59,168,155, 4, 63, 73, 2,243, 62,
-186,198,108, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 74, 4,184, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-194,241,246,191, 87,130,236, 62, 50,209,135, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,241,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,124,197,223, 62, 32,243,189,190,199,213,140,190, 13,149, 69,191,221,235,199,190,159, 79,240, 62,
-113,202, 14,190,186,168, 60,190, 5,145,220,190, 42, 8,148, 62, 49, 99,219, 62, 85, 73,242, 62,127, 14, 79, 61, 68,141, 67, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,157,236,192, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,228,149,189,
-233, 13,221,190,210,251,145, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,199,206,183,190,204,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,242,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 92, 19,190,190,188,203,147, 62, 19,242, 2, 62,223,138, 95, 63,144, 50, 24, 60,148,174, 64, 63,196,158, 11,191,
-220, 22, 64, 63, 98, 35, 19,190,217, 93, 44, 62,198,141, 4, 63, 3, 71, 19, 62, 60,186,174, 61, 99,146,129, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,189,176, 27, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 89, 62,164,169,120,190,
- 26, 78,155, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,197,206,183,190,202,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224,243,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-118,201, 94, 63,192,189,213, 62,142, 27, 67, 62,214, 93, 55,190, 6,154,131,190,133, 48,178,190,139, 11,192,190, 39,123,147,189,
- 29,130, 57,191, 46,253, 33,190,224, 89, 24, 63,189,174,198, 61, 2,152,101, 61,143,237,128, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 59,122,117, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 80, 26,192,232, 3,239,189,182,210, 99, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232,244,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 16,153,190,
-224, 1, 33,191, 43,253,168, 62,254, 36, 35, 63,124,255, 19,191, 70, 97,138,190,188,109, 6, 62, 64, 58,223,190,154,121,189,189,
- 9,126,170, 62,115,248,126, 62, 84, 41, 12, 63,153, 55, 4, 62, 62, 85,152, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 74,244,106, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,245, 70,190,136,148, 37,192, 41,107, 57, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240,245,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44,246,249, 62,200,102,140, 62,
-154,199, 10, 63, 40,102, 32, 63, 78, 10, 19,191,224,238,250,190, 0, 13,111,190,243,232,187, 61,106, 10, 99, 62,163, 96,221, 62,
-208,237,239, 61, 10, 34,210, 61, 62,101,181, 62,205, 22,218, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 35,143, 25, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,172, 25,191, 68,234,249,191, 59,217, 73, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,246,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,109,230, 62, 67, 47,189,190,205,119,155,189,
-238, 53, 79,191,223,144, 88,191, 88,163,146, 62, 63, 99,208,190,236,235,130, 62, 72, 10, 17,190,124,223, 15, 63, 12,172, 64, 62,
-160, 24, 51, 62,145, 49,156, 62, 26,236,169, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,254,237, 72, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 63, 60,192,192, 70,245,191,246,177,248, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,180, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50,162, 16, 63, 33,180,219,190, 24,166,177,190,234, 8, 29,191,
- 24, 26, 48,190,240, 70,115,190, 0,197, 54, 63, 69,201, 75, 62, 28,174, 10,189, 81,128, 78, 63,172,109,175, 60, 7,135,214, 62,
- 59, 12, 9, 63,150,154,198, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 34, 50,138, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6,125,162, 63, 63,233, 64,192,147,167, 86, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 87, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,112, 55,104, 61, 14, 23, 9, 61,208, 82,129, 62,176, 65, 40, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 87,234, 31,192,204,234, 65,192,110,200,172, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,249,180, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,234,120, 11, 63,200, 35,253,190, 2,152,233,190, 0, 38, 0,191,214, 3, 36,191,
- 3,239, 45,190,135,175, 9,191, 18,130, 42,190,156,197, 38, 63,181, 37,238,190, 4, 49,119, 61,119,251,224, 60, 94, 5, 47, 62,
-188,195, 61, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 89,162,191, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184, 96, 27,192,251, 23,179,191,193, 77, 38, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,250,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,177,231, 32,191,150, 89,239, 62,128,156,188,190,225, 45, 0,191,247,133,210, 62, 51,169, 40, 63,
-146,184, 26, 63,209, 39,223,190,182,238, 15,191, 75, 63,146,190,166,161,213, 61,217,242,218, 62, 39, 18,191, 62, 89, 74,194, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 81,236,129, 61, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,185, 0, 21,191,
-137,241, 14,192,206, 27, 61, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,251,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,214, 79,213,190, 95, 19, 10, 63, 60, 25, 56,191,193,193, 10, 62,127,232, 10,190,162,126, 93,190, 25,169, 7, 63,
- 38,209,221,190, 52,214,186, 62, 21, 63, 41,191, 58, 36, 27, 62,245,151, 28, 62, 82, 23,179, 62,148, 10,177, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 98,241, 41, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 80, 57,189,193, 80,166,191,
-242,172,123, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32,252,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-160,174,232, 62, 64, 99,164, 61, 41,108, 12, 63,106,126, 50,191, 66,117,124, 62,134, 54, 82, 63, 38, 55,191, 62,121,232,197,190,
-188,203, 70,189, 26, 88, 51,191,199,225,170, 62,114, 67, 23, 62,202, 56, 33, 62, 26,224,184, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,216,213,138, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,202,106,219,190, 17,216,127, 63,140,251,173, 64,
-190, 81, 55,191,110,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,253,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214, 79,213,190,
- 95, 19, 10, 63, 60, 25, 56,191,193,193, 10, 62,127,232, 10,190,162,126, 93,190, 25,169, 7, 63, 38,209,221,190, 52,214,186, 62,
- 21, 63, 41,191, 10,203, 79, 63,104, 14, 32, 62,252,238, 44, 60, 55,180,175, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 98,241, 41, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 39, 91,192, 64, 81,150,191, 89, 68, 15, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48,254,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,212, 0,191, 15,161, 38,191,
-131,203,123,190,207, 48, 3,191,112, 6, 64, 63,137, 53, 34,190,175,202, 6,191, 66,241, 19, 62,119,105, 85,190,149,246,146, 61,
- 25, 88, 25, 60, 85, 74, 25, 63,199,185,196, 62,210,179,249, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,198,223, 90, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,231, 17, 40, 63,141, 44,153,190, 68,123,161, 64,190, 81, 55,191,107,243, 71,191,
-102,237, 42, 63,235,163,214, 62,200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,255,180, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69,219, 68, 63,190, 75, 74, 62,250,129,229, 62,
-198, 78,210,190, 65, 63, 59,188,173,173,214, 62, 18,159, 85, 62, 25,160,185,189,169,193, 46,191,177, 21, 77,190,202,133, 32, 63,
- 25,163, 36, 61, 45,136,225, 60,133, 71,156, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 22,208,141, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 50, 95,160, 63, 34,101,249,191,176, 96,132, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 25,236,189,127,158, 27, 63,123,235,239, 62, 59,108, 33, 63,
-244,198,103,190,251,192,187, 62,179, 39,101,190,110,210,138, 62,145,168, 54,191,208, 20, 63,190, 62, 45,138, 62, 35,142, 30, 61,
-173, 78,128, 61,170,246, 32, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
- 2,210,109, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,111,133, 6,192,167,152,225,191, 84, 16, 32, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 88, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,197,252, 48, 60,163,176, 62, 62,216, 93, 72, 63, 94, 65,166, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 76,122,189,191,238,243,102,191,158,253, 93, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 57,241, 62,209,244,173, 62,202,195,188, 61,229, 10, 79, 63, 15,223, 34,191,
-171, 65, 40,190,158,228, 38, 61,187,225, 12, 63,198,196, 13,189,185,253, 14,191,245,107,217, 61,253,147,174, 62,227,232,218, 62,
- 70, 80, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 8,168,183, 62,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 99,228,190, 44, 59, 51,191,221, 75,133, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,197,206,183,190,
-202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 2,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 52,191, 23, 63,247,209, 82, 62, 34, 21,204, 62, 21, 58, 43, 63, 1, 3,139, 61, 52,159,135, 61,
- 30,117, 36,189,230,123,244, 62, 79,104,185, 62, 17, 73, 33, 63,117,208,213, 62,118,118, 76, 62, 32,254, 5, 62, 65,245,128, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,179,246, 4, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,101, 74,192,
-166,185,105,191, 18,141, 36, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 3,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,221,157, 3, 63, 67, 81,215, 62,135, 46, 5, 63,121,108, 9,191, 37, 83, 16,190, 37,244,130,190,191, 18,216, 62,
-221, 44, 53, 63,153,136,162,189, 80,138,252,190,221,214,102, 61, 50, 22, 25, 63,139, 42,157, 62,164,113, 30, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,145,208, 26, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,234,218,191, 50,177,232,191,
-108,174, 42, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96, 4,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 98, 41, 59,191,236, 70,252, 61, 77, 96, 25,191, 33,195,154,190, 31,119,242,190,125, 79,204,190, 23, 53, 18,190,102, 31,214,190,
-165,174,199,190, 48,105,169,188,229, 50, 8, 62,227,251,148, 62,133, 65,206, 62, 75, 82, 49, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 44,230, 5, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,106,206,191,205, 36,150, 62, 96, 42,137, 64,
-190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104, 5,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52,191, 23, 63,
-247,209, 82, 62, 34, 21,204, 62, 21, 58, 43, 63, 1, 3,139, 61, 52,159,135, 61, 30,117, 36,189,230,123,244, 62, 79,104,185, 62,
- 17, 73, 33, 63, 87, 15,231, 62, 49,237,207, 62,254, 43,141, 61,226,225,150, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,179,246, 4, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 61,167, 63,119, 5,171,191, 86,214,147, 64,190, 81, 55,191,
-109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-112, 6,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 39, 70, 63, 91,103,218,188,
- 44, 24, 30, 63, 28, 81, 12, 62, 26,129, 16, 63,215,153,162, 61, 11,203, 31,191,222,132, 2, 63, 26, 4,154,190,202,112,100, 62,
-216, 36,214, 62,172, 85,122, 60, 44,247,142, 60,132,140, 12, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 48, 61,115, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,194, 14,251,191, 44,213,105,190,165,188,109, 64,190, 81, 55,191,107,243, 71,191,
-100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,173, 49, 3,191,178,133, 9, 63,104, 18, 16, 63,
-159, 16,186, 62,183,147,245, 62,220, 88,111, 62,220, 25, 2, 63, 80, 44, 77,191, 76,136,152, 62,126,242,176, 61,239, 13,155, 62,
- 40, 17,234, 62, 92,128, 13, 62,226,130,208, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 65,147,208, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,102, 47, 46,192, 64,212, 45, 63, 61, 35,127, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 8,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,164, 48, 63, 32,100, 38,191,163,157,157,190, 10, 78,167, 61,
- 4, 8, 54, 59,139,155,147,190, 11, 41, 50, 63, 27,101,140, 62,241,237,110, 63, 18,188,179, 59, 74, 31,165, 62,207,208, 37, 63,
- 74,227,141, 60, 8, 28, 76, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-129, 24, 80, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 10,203, 83,191,133, 15, 29,192,237, 82, 42, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 89, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,101,159,135, 62,253,216,174, 62,217, 99, 96, 62,104,171, 50, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,227, 75, 67, 63, 48,124, 78, 61,200,150,171, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 90, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,191,115, 58, 63,121,198, 2, 60,254,102,167, 59,178,100,132, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 24, 37,139, 62, 4,231, 62, 63,174,205,179, 64,188, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,206,137, 61,190,156, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 92, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 50, 23, 92, 63,169, 27, 15, 61, 8, 43, 83, 60, 59, 83,189, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 32,247,225,191, 37,175, 81,192,248,254,198, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 9,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,194,232,190,156,110, 35, 63,233,200, 75,190,170,158, 22,191, 83,122,193,189,
-217, 58,149,189, 80, 15, 18,191, 66, 37,145,189, 98,184,219,189, 70,185, 86,191, 21,150,239, 61,130,193, 24, 62, 46, 71,217, 62,
-141,114,158, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,122,231, 75, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 47, 71,102, 63, 16, 13, 44,191, 24,187,156, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,
-201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 10,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 40, 61,190,150,196, 15,191,159,219, 54,191,234,195,191, 62,104, 96,122,190,193, 71, 74,191,
- 15,230, 56,190, 61,156,203, 61,227, 39,177, 61, 25,222,193,190,178,206, 13, 63,144,101,237, 60, 16,227,198, 60, 16, 30,201, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 74,137,189, 61, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,210,252, 62,
-216, 58, 44,191, 98,217,149, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,197,206,183,190,202,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 11,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 86,152, 38, 63,169,225, 17,191, 57,217,140,189, 67,124,254,190, 13, 65, 17, 62,229,204, 15, 63,180,148,241, 62,
-175,210, 73,191,182,161, 21, 63,186,222,169,188,235,174, 4, 63,125,216,156, 61,114,228,115, 61,124,239,176, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 86,104,165, 61, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,181,210, 46,192, 59, 4,135,191,
-164, 99, 44, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,202,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160, 12,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-119, 97, 45, 63,119, 47,205,190, 35,117, 19, 63,166,125, 98, 62,242,195, 73, 62,124,228,243, 62,119, 86, 11, 63, 70,156, 89, 62,
-230,232, 88, 63,130, 53,204,190,154, 69,201, 61, 74,143, 3, 63,155, 10,162, 62,186, 21,146, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 53,129,253, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,235, 64, 60,203,210,147, 63,205, 32,185, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168, 13,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,137,136, 62,
-101, 7,106,191,249,249,155,190,146,218,155, 60,179,212,184,188, 68,215,201,189, 40,244, 61,191,114,234, 70, 61,154,226, 1,191,
-119,139, 91, 63,135,168,109, 63, 87, 44,112, 61,106, 72,115, 59,214, 90, 24, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 6, 40, 87, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,185, 0,192,197,235, 38,192,182,221,245, 63,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176, 14,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 54,241, 62, 25, 75, 60,190,
-137, 31,166,190, 26,162, 76, 63,214, 23,180, 62,134, 28, 22,191,189,125,184, 62,170,143, 49, 63, 42,100,208, 62,201,182, 12, 63,
- 85,123,103, 61,230, 65, 90, 62, 33,215, 29, 63,124, 5,233, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,233, 6, 78, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,132,118,247,191, 87, 66, 8,192, 93, 88, 20, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 15,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,183,149,157, 62,169,241,150, 62,210, 72, 5, 63,
-196, 98, 61,191, 94, 43,103,191,141,249, 13, 62,108, 40, 28,190,180,143, 89,189,159,169,180, 62, 50,210,102, 63, 15,245,186, 61,
-252,211,140, 62,237,184,252, 62,164,107, 15, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,234, 53,126, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96,252, 2,190,189, 32, 63,192,249,176, 40, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,
-235,163,214, 62,198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 16,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,227,185,185, 62, 69, 55,133,190, 76,101,246, 62,146, 32, 65,191,
- 11,142, 47,190,207,240, 16,191,178, 47,250, 60,147, 12,135, 62,250,130,192,190,182,224, 63, 63,109,251,141, 61,209, 15,135, 61,
-152,122,212, 62,150, 66,230, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-194, 22,201, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,186, 37, 60,192,209, 36, 19,192,200,102,212, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 93, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 66,132, 2, 61,191, 37,189, 61,173, 5, 64, 63, 91,181, 0, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,200,110,165, 61,183, 43,239, 62,129,243,169, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 17,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,133,116,253,190,160,178, 23, 63,114, 78, 32,191, 57, 97,221, 61,191,244,236,189,
-206, 56,214, 62, 77,142, 40,191, 31, 48,161, 61, 82, 95, 7, 63,244, 70, 62,190,144,146,141, 59, 24,189,182, 62, 12, 24, 34, 63,
-242, 33,183, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 51, 4, 90, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 62,165,155, 63, 35,188,200,191,156,201,140, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 18,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68,198,205, 62, 50, 21, 99, 63, 18,246, 86,190,237, 24,178,189,229,177, 74, 62,233, 94,174,190,
- 14,113, 17,189,144,148,211, 62,157,182, 80,190, 18,214, 66,191, 54,112,182, 62,156,202, 2, 61, 65,146, 40, 61, 24, 18, 18, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,229, 84,124, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,150, 48, 1, 63,
-133, 14,211, 62,120,209,175, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,200,206,183,190,205,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 19,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 30, 0,181, 60,183, 21, 39, 63,174, 28, 42,191,206,254,185, 62, 60,101,180, 61,224,164,162, 62,169, 22, 78,191,
- 15,164,146,190, 66, 47,188, 62,233,255, 63,191, 26, 61, 76, 63,214,234,171, 60,230,187, 47, 60,126,146, 46, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,113,195, 41, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,196,144, 98, 62, 62,190,112,191,
-153,224,138, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 20,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-255, 80,148,190, 17,138, 5, 63,171, 16, 38, 62,107, 50, 73,191,214,126, 32, 63,143, 14,148, 62,183, 31, 4,191, 70,152,145, 62,
- 21, 32, 89,189, 63,239,100, 62, 51,212,220, 62, 49, 96,238, 61, 1,246,205, 61, 64, 22,180, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,247, 33, 76, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,243, 2,192, 18, 84, 91,191,110, 0, 77, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232, 21,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,146, 69,191,
-236,123, 69,190,179,188, 26,191,207,182, 47,189, 96, 14,105,191, 55,120, 31,190,138, 41, 18, 62,210, 73,183,189,105, 99, 57,189,
- 32,155,137,190,112,143, 79, 62, 13, 36,220, 62,207,171,119, 62,168,124, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,184,151,199, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,228, 81, 34, 62,178, 55, 39,192, 87, 36, 68, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240, 22,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230,148, 3, 63,224, 68,239, 62,
- 72, 64,241, 62, 71, 35, 11,191,248,202, 31,191, 68, 98,182, 62, 18,127, 48,191,158,108, 26,189,145, 93,173,190,161,155, 16,191,
-144, 72,244, 61,152, 98,173, 61, 16,243,154, 62, 38,162,252, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63, 69,111,245, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,226,206,132,191,153,157,254,191, 61, 78, 57, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 23,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 64,217, 62,151, 24,213,190, 94,174,187, 61,
-102,136, 76, 63, 27, 1, 32, 63,236, 95,162,189,124, 18, 29,191, 75, 78,155,190,124,134, 43,191,174,202,184,190, 49,138, 35, 62,
-237,209, 85, 62,126, 75,186, 62,113, 6,137, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,111,100, 76, 61, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,228,163,237, 62, 55, 20, 58,192, 9,122, 64, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 95, 55,189, 43, 21,181,190,230, 3,101,191, 87,248,137, 62,
- 4,208, 75, 62, 0,115,115, 59,100,196, 95,190,191, 15, 83, 62, 84,222, 81,191, 36, 58,169, 62,187,215,163, 61, 90,207, 92, 61,
-188,248,152, 62,182, 59, 17, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-230,119,112, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,202, 59,148,191,188,242, 56,191,189,111,113, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 94, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 62,109, 66, 63,244,159,170, 61, 79,150,243, 60, 69,136, 2, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 12,158,243,191,244,237,104,192,138, 34,155, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 26,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,202, 21,192, 61,216, 22, 8, 63,188, 84, 66, 63,158, 70,186, 62,240,211, 98, 62,
-124, 7,155, 62, 10,134,246, 62,110, 16, 79,190,248,197,252,189, 81,188, 39, 63, 42,204,169, 62,204,195,154, 62,146,225, 51, 62,
-125,254, 66, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,123, 26, 81, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 34,179,252,191, 86,102,184,191,169,174, 51, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 27,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,232, 50,144,190,207, 31, 50,191,179,203, 40,191,214, 99, 45,189,109,153, 34,190,239, 94, 10,191,
-115,186,212,190, 42,234, 19,190, 72, 26, 97,191,122,105, 99, 61, 46,210, 21, 62,250, 32,186, 62,195,126,178, 62, 85,238, 16, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,131,240,124, 60, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,244, 77,192,
- 51, 52,163,190, 30,234, 62, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,202,137, 61,190,
-157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 28,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,126, 41,112, 63, 56,166,164, 61, 91, 4,240, 61, 15,172,161, 62,106,126,191,190,117, 33, 64, 63,130,227,184, 62,
- 92, 20,244,190,210,168,180,189, 60, 25, 43,191, 89,246,198, 61, 30,130, 46, 63,223,241, 54, 62,221, 41, 46, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,190,196,107, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 27,122, 63,179,229,133,191,
- 66, 39,149, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,200,206,183,190,205,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32, 29,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-192, 46, 24,191, 41, 20, 43,191,186,184,183, 62, 42,173,136, 62, 75, 75, 50, 63, 40, 83,126, 62,188,195, 8, 63,234,211,238, 62,
- 69, 36,152, 61,235,106,145, 62,216, 4,239, 62,235,100, 21, 61,174, 73, 20, 61, 83,197,235, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 93,122, 57, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 66,151,191,208,139, 62,192, 98,118, 5, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40, 30,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159,160, 32,190,
-190, 39, 52,191,142,138, 9,191,138, 13,224, 62,166,218,242, 62, 93, 71, 26, 63, 36, 22, 52, 62,231, 52,124, 62,165, 91,192,190,
-148,111, 86,191,212,101,120, 61, 72, 26,221, 61,158, 82, 22, 63,241, 14,122, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,195, 96, 22, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 63, 46,190,222,105,107,191,198,191,132, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 48, 31,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,202, 55, 63,249,235, 89,190,
-127, 18, 92,190,146,129, 32,191, 7,212, 8,190,167, 50,171,190, 97,120,123, 62,232,152,249,189,140, 18,149, 62, 37,111, 13, 61,
- 89,238,204, 62, 10, 90, 39, 62,123,156, 6, 62, 98, 22,156, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,115, 61, 18, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,148,234,190, 11,179, 97,192, 16,215, 3, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 32,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177,227,248,190,160,134,192,190,155,159,184, 62,
-105,157, 51, 63, 2, 56, 54, 63, 88,126,182, 62,108,207, 4,187, 38,216,198, 62,140, 66, 73,191,139,126,248, 61,251, 26,119, 60,
- 34,207,150, 60,170,176, 20, 63,225,120,197, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,208,234,216, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,202,177,135,191,150,220, 86,192,144, 9,239, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 33,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201,122, 18,191,155, 68,163,190,236, 36, 39,191,221,182,194,190,
-217, 47, 98,190, 97, 46,230,190,197,236,134, 62,216, 40,187, 60,111, 92,179,189, 71, 17, 54, 63, 87,169, 5, 61,120,116, 92, 61,
-179,253, 38, 63,225,192,133, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-100, 58,154, 60, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,213,105,108,192,125,145,223, 62,192,182, 82, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 95, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,228,106, 92, 60, 23, 25, 35, 61,136,111, 93, 63,211,105,167, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,118, 74, 8, 63, 0,240, 1,192, 28,123,108, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 96, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,233,242,101, 62,181,120,181, 61,231,136, 43, 62,245,241, 4, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 26, 24,231,191, 44,105, 21,191,186, 32, 98, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 97, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 66,189,138, 62,114,103,210, 62,117,128, 62, 62, 35, 54, 7, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,141, 52, 5,191, 10,103, 49,192,230,154, 37, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 34,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195,244, 32,190,174,189,218,190,163, 11, 55, 62,157, 75, 95,191, 33,155,243,190,
-180, 86, 90,191, 57,237, 86, 62,226,198,126,190, 30, 34,101, 61, 93,239,180,190,206, 82,204, 61, 44,113, 89, 63, 63, 63, 23, 61,
-220, 33,100, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 6, 63, 50, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 23,243, 62, 46,133,166,191, 78,153,134, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,197,206,183,190,
-202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 35,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,173,218, 49,191,113,109, 23,191, 32, 16, 55, 62, 54,117,188,190, 25, 20,208, 62,118,245, 46,191,
- 72,158,236,186, 55, 10, 97,191,140,128,183, 62,177,230,146,190,159, 2,190, 62, 29,141,193, 61,214, 93,214, 61,164, 2,220, 62,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 96, 85, 48, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,130,192,214,190,
-182, 57, 73,192,175, 83, 23, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 36,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,206,172, 34,191, 64, 79,187, 62,140,197, 11, 62,199,135, 42, 63,100, 91,148, 61,123, 75, 25, 60, 54,126,232,189,
-210,190,220,189, 9,158,186, 62,182, 62,225,190,211,103, 84, 61, 92,194,115, 61,148,216,253, 62, 41, 34,201, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 38,103,162, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 4,133,192,109,136,128, 62,
-136, 58, 58, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,198,206,183,190,206,137, 61,190,157, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96, 37,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-147,206,137, 62,234,207, 11, 63,195,144,225, 62,162,225, 40, 63, 24, 69,148,190, 50,238,190, 61, 13, 31, 86,191,217,106, 71, 63,
-247, 60, 1, 62,162,250,136, 62, 70, 80,156, 58,142,100,108, 63, 15, 72,153, 61,116, 35, 17, 58, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,174,199, 41, 60, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,132, 40, 12, 62,102, 32, 1,192,222,178, 95, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104, 38,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,157, 57, 95, 63,
-238,148,214, 62, 87,249,109, 62,227,220,204,189,238,118,221,189,121,162, 19,191,203, 50, 48,191, 58,232, 80,190,141,100, 8,191,
-229,142, 19, 63,223,196, 88, 62,134, 94,237, 61,141, 5, 97, 62, 43,195,231, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 75, 11, 15, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,211,109, 80, 63, 96,210, 20,192,246,253,103, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-112, 39,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 32,133, 62, 13,201,189,190,
- 55, 43, 66, 63, 76,254,239, 62,254,163,179, 62, 15,181,171,188,130, 8,196, 60,214, 27, 14,191, 86, 32,128,190,190, 27,208,190,
- 69,196, 53, 62,136,184,135, 61,240,250, 35, 62, 34,153, 24, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,224, 93,234, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,142,147,191, 43, 7,166,190, 61, 69,130, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 40,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44,246,249, 62,200,102,140, 62,154,199, 10, 63,
- 40,102, 32, 63, 78, 10, 19,191,224,238,250,190, 0, 13,111,190,243,232,187, 61,106, 10, 99, 62,163, 96,221, 62, 56,243,206, 62,
-109,170,159, 62,224,145, 2, 62,211, 50, 32, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63, 35,143, 25, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2,254, 89,191,195,197, 85,192,176,197,254, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 41,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,122,125,204, 62, 37, 10, 46, 63, 69, 71, 26,190,130,168, 24, 63,
-117,105, 36,190,144,220, 32, 63, 11,167,231, 62,151,145,179, 62, 33, 72, 36,190, 42, 67, 50,191,111, 3, 11, 61,241, 2, 76, 61,
-231,181, 28, 63,103,179,155, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-244,186,188, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24, 46,253,191,200,126,214, 61,248, 1,125, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 98, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,132, 47,184, 61,244,157,207, 61,168, 0,225, 62,249, 11,189, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,136, 45,177,191, 22,253, 99, 63, 8, 58,155, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 42,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,171,218,181,190,162,100, 80, 63, 86, 18,175,190,142, 51,157,190, 18, 35, 4,191,
-207,113,210, 62, 0,170, 11, 63,134,126,165,190,141, 47, 59, 62,104,163, 62,191, 18,251,181, 62,225,163,242, 62, 90, 98,191, 61,
-220, 33,158, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 83, 76,104, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-115, 18, 94,192,112, 61, 49, 61, 90,153, 71, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,197,206,183,190,
-202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 43,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,126, 41,112, 63, 56,166,164, 61, 91, 4,240, 61, 15,172,161, 62,106,126,191,190,117, 33, 64, 63,
-130,227,184, 62, 92, 20,244,190,210,168,180,189, 60, 25, 43,191,141,188,190, 61,118,157, 68, 63,105,119,224, 61,112,129,239, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,190,196,107, 62, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 34,141,191,
-222,140, 39,192,182, 55, 25, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 44,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,193, 40, 85, 63,120, 79,146,190, 68,249,203,190,207,217,131, 62,229, 65, 22, 63,120,104, 63, 63,173,135,124,189,
-131,179,190,190,208, 81,171, 62,211,132, 69, 63,122, 6,189, 61, 58,195, 23, 62, 6,114,254, 62,189,106,134, 62, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,179,102, 20, 63, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 14, 63,192, 64,204,165,191,
- 12, 96, 24, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160, 45,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 54, 81, 30,191,157, 39,223, 62,214, 30, 11, 63, 76, 51,186, 62,206,228, 83, 62,209,146, 0, 61, 22,106,121, 63, 44,124, 6,187,
-128,233, 71,187,218,190,173, 62, 14, 67, 83, 61,192,186, 4, 63, 39,206,197, 62,178,159, 50, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,208, 19, 52, 60, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,183,180, 22,192,126,173, 4,192,240,189, 8, 64,
-190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168, 46,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 59, 20,191,
- 30, 36, 17, 63,112, 57,252,190, 32,101,162, 62,139, 6,160, 62, 57,160, 80, 61,109,243,245, 61, 41, 18,224,190,182,154,227,188,
-238,196,139,190,133, 49,131, 61,130, 33,167, 62,160,225, 5, 63,124, 59,177, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 20,166, 56, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,160, 97, 63,129,220,163,191,194,248,141, 64,190, 81, 55,191,
-109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-176, 47,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,183,149,157, 62,169,241,150, 62,
-210, 72, 5, 63,196, 98, 61,191, 94, 43,103,191,141,249, 13, 62,108, 40, 28,190,180,143, 89,189,159,169,180, 62, 50,210,102, 63,
- 78,174,206, 62, 68,159, 93, 61,160, 84,118, 61, 54,211,246, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0,128, 63,234, 53,126, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,223, 18,192,155,169,140,191,151, 18, 57, 64,190, 81, 55,191,109,243, 71,191,
-100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 48,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,186, 63, 44, 63,134,104,136, 62, 44,117, 32, 63,
-178,227,147,190,254, 77, 90, 63, 0,117,175,190,119, 69,167, 62,238, 73,138, 61, 58,211,189, 62,210, 28, 37,191,245, 96, 21, 62,
- 35,104,227, 62, 83, 62,154, 62, 64,164,222, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0,128, 63,130, 27,151, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,100,193,179,191,251,111, 78,192,166, 64,228, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,
-234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 49,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,129,101, 4,191,237, 90, 0, 63,104,125,239,190,131, 31, 3, 63,
-200,160,212,190,115,217, 27, 63, 55,189, 6,190,131,223, 22,190, 4,241,223,190, 4, 70, 0,190, 37,242, 35, 61,204,214,171, 61,
-175, 25, 46, 63, 82,177, 72, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,
-184,249,202, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 93, 90,124,191,113, 48,212,191, 56,208, 74, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 99, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,147,253, 28, 63,231,184,184, 62, 48, 48, 58, 60, 59, 78,111, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 42,255, 57,191,235, 4, 65,192, 77, 7, 19, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,101, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,228,255,128, 61, 76, 32,172, 61,147,152, 5, 63,205,134,169, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,184, 68,137,191,204,177,226, 61,196,247,141, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,102, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,107,166, 0, 63, 23, 29,154, 62, 34,214,165, 61, 42,130,236, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 22,103, 82,192, 73, 75,201,191, 1,247, 0, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,103, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 73,109,118, 59,168,155, 4, 63, 73, 2,243, 62,186,198,108, 59, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,194,241,246,191, 87,130,236, 62, 50,209,135, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,104, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 49, 99,219, 62, 85, 73,242, 62,127, 14, 79, 61, 68,141, 67, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,224,228,149,189,233, 13,221,190,210,251,145, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+199,206,183,190,204,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,105, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,198,141, 4, 63, 3, 71, 19, 62, 60,186,174, 61, 99,146,129, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0,120, 89, 62,164,169,120,190, 26, 78,155, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,106, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,224, 89, 24, 63,189,174,198, 61, 2,152,101, 61,143,237,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 92, 80, 26,192,232, 3,239,189,182,210, 99, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,107, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,115,248,126, 62, 84, 41, 12, 63,153, 55, 4, 62, 62, 85,152, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 80,245, 70,190,136,148, 37,192, 41,107, 57, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,108, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,208,237,239, 61, 10, 34,210, 61, 62,101,181, 62,205, 22,218, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,253,172, 25,191, 68,234,249,191, 59,217, 73, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,110, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 12,172, 64, 62,160, 24, 51, 62,145, 49,156, 62, 26,236,169, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 77, 63, 60,192,192, 70,245,191,246,177,248, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,111, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,172,109,175, 60, 7,135,214, 62, 59, 12, 9, 63,150,154,198, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6,125,162, 63, 63,233, 64,192,147,167, 86, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,112, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 4, 49,119, 61,119,251,224, 60, 94, 5, 47, 62,188,195, 61, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,184, 96, 27,192,251, 23,179,191,193, 77, 38, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,113, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,166,161,213, 61,217,242,218, 62, 39, 18,191, 62, 89, 74,194, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,185, 0, 21,191,137,241, 14,192,206, 27, 61, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,114, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 58, 36, 27, 62,245,151, 28, 62, 82, 23,179, 62,148, 10,177, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 64, 80, 57,189,193, 80,166,191,242,172,123, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,115, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,199,225,170, 62,114, 67, 23, 62,202, 56, 33, 62, 26,224,184, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,202,106,219,190, 17,216,127, 63,140,251,173, 64,190, 81, 55,191,110,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,116, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 10,203, 79, 63,104, 14, 32, 62,252,238, 44, 60, 55,180,175, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,111, 39, 91,192, 64, 81,150,191, 89, 68, 15, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,117, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 25, 88, 25, 60, 85, 74, 25, 63,199,185,196, 62,210,179,249, 59, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,231, 17, 40, 63,141, 44,153,190, 68,123,161, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,119, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,202,133, 32, 63, 25,163, 36, 61, 45,136,225, 60,133, 71,156, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 50, 95,160, 63, 34,101,249,191,176, 96,132, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,120, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 62, 45,138, 62, 35,142, 30, 61,173, 78,128, 61,170,246, 32, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,111,133, 6,192,167,152,225,191, 84, 16, 32, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 50,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,179, 25,236,189,127,158, 27, 63,123,235,239, 62, 59,108, 33, 63,244,198,103,190,
-251,192,187, 62,179, 39,101,190,110,210,138, 62,145,168, 54,191,208, 20, 63,190,187,178, 81, 62,176, 57,108, 62, 93,177,153, 62,
-108, 88,135, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 2,210,109, 63,
- 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-251,231, 33,192,132, 2, 59,191, 78,162, 66, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,
-199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 51,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192, 46, 24,191, 41, 20, 43,191,186,184,183, 62, 42,173,136, 62, 75, 75, 50, 63, 40, 83,126, 62,
-188,195, 8, 63,234,211,238, 62, 69, 36,152, 61,235,106,145, 62,217, 15, 30, 62,227,209, 4, 63,178,148,117, 62,218, 39,178, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 93,122, 57, 63, 0, 0, 0, 0,
-255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,185,138, 63,
-191,128, 41,192,139,193, 97, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,
-158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 52,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,231,120,168, 62,179,154, 7,191, 41,180, 48, 63,239,232,187,190, 9, 35,104,191,222, 8,114, 62, 76,143,177,190,
-107, 29, 28,191,210,112,234, 62, 9,249, 92,190, 0,196,250, 61, 79,120, 62, 61,195, 12, 31, 62,202,252, 44, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 74, 4,184, 62, 0, 0, 0, 0,255,255,255,255,
- 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,242, 63,243,190, 86,176,159,191,
-245,150,111, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,200,206,183,190,199,137, 61,190,158, 38, 80,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,224, 53,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-166, 26, 58,191, 1, 70,159, 62,113,111, 2, 63,235,187,173,190,116, 51,237, 62,130, 53,247, 62,243,199, 26,190,235, 88,172,189,
-118,115,244, 62, 34,147, 5,191,217, 77,158, 62, 43,131, 72, 62,119,208, 68, 62, 86, 8,155, 62, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63,253,152,110, 63, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,198,178, 48,191,138, 39, 52, 62, 39,252,149, 64,
-190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232, 54,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,167,210,190,
-194,172,139, 62,250,220, 35, 63, 30,182, 22,191,122, 3,136, 61,109,164,176,190, 30,153,147,190,255,248, 10,188,234, 90,160,190,
- 89,241,205,190, 62, 71, 19, 63,111,215,107, 62, 63, 71,138, 61,243,231, 1, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0,128, 63, 37,227, 77, 62, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 64,157,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59,
- 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
-231, 84,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 15, 85,145,189, 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 72,158,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,121, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,245,107,217, 61,253,147,174, 62,227,232,218, 62, 70, 80, 0, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 80, 99,228,190, 44, 59, 51,191,221, 75,133, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,122, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,117,208,213, 62,118,118, 76, 62, 32,254, 5, 62, 65,245,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 85,101, 74,192,166,185,105,191, 18,141, 36, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,123, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,221,214,102, 61, 50, 22, 25, 63,139, 42,157, 62,164,113, 30, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,122,234,218,191, 50,177,232,191,108,174, 42, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,124, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,229, 50, 8, 62,227,251,148, 62,133, 65,206, 62, 75, 82, 49, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,254,106,206,191,205, 36,150, 62, 96, 42,137, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,125, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 87, 15,231, 62, 49,237,207, 62,254, 43,141, 61,226,225,150, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,200, 61,167, 63,119, 5,171,191, 86,214,147, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,126, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,216, 36,214, 62,172, 85,122, 60, 44,247,142, 60,132,140, 12, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,194, 14,251,191, 44,213,105,190,165,188,109, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,128, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,239, 13,155, 62, 40, 17,234, 62, 92,128, 13, 62,226,130,208, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,102, 47, 46,192, 64,212, 45, 63, 61, 35,127, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,129, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 74, 31,165, 62,207,208, 37, 63, 74,227,141, 60, 8, 28, 76, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 10,203, 83,191,133, 15, 29,192,237, 82, 42, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,130, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 21,150,239, 61,130,193, 24, 62, 46, 71,217, 62,141,114,158, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 47, 71,102, 63, 16, 13, 44,191, 24,187,156, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,201,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,131, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,178,206, 13, 63,144,101,237, 60, 16,227,198, 60, 16, 30,201, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,140,210,252, 62,216, 58, 44,191, 98,217,149, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,132, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,235,174, 4, 63,125,216,156, 61,114,228,115, 61,124,239,176, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,181,210, 46,192, 59, 4,135,191,164, 99, 44, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,133, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,154, 69,201, 61, 74,143, 3, 63,155, 10,162, 62,186, 21,146, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 64,235, 64, 60,203,210,147, 63,205, 32,185, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,134, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,135,168,109, 63, 87, 44,112, 61,106, 72,115, 59,214, 90, 24, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,160,185, 0,192,197,235, 38,192,182,221,245, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,135, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 85,123,103, 61,230, 65, 90, 62, 33,215, 29, 63,124, 5,233, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,132,118,247,191, 87, 66, 8,192, 93, 88, 20, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,137, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 15,245,186, 61,252,211,140, 62,237,184,252, 62,164,107, 15, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 96,252, 2,190,189, 32, 63,192,249,176, 40, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,138, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,109,251,141, 61,209, 15,135, 61,152,122,212, 62,150, 66,230, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,186, 37, 60,192,209, 36, 19,192,200,102,212, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,139, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,144,146,141, 59, 24,189,182, 62, 12, 24, 34, 63,242, 33,183, 59, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 62,165,155, 63, 35,188,200,191,156,201,140, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,140, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 54,112,182, 62,156,202, 2, 61, 65,146, 40, 61, 24, 18, 18, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,150, 48, 1, 63,133, 14,211, 62,120,209,175, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,141, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 26, 61, 76, 63,214,234,171, 60,230,187, 47, 60,126,146, 46, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,196,144, 98, 62, 62,190,112,191,153,224,138, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,142, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 51,212,220, 62, 49, 96,238, 61, 1,246,205, 61, 64, 22,180, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 80,243, 2,192, 18, 84, 91,191,110, 0, 77, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,143, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,112,143, 79, 62, 13, 36,220, 62,207,171,119, 62,168,124, 0, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,228, 81, 34, 62,178, 55, 39,192, 87, 36, 68, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,144, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,144, 72,244, 61,152, 98,173, 61, 16,243,154, 62, 38,162,252, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,226,206,132,191,153,157,254,191, 61, 78, 57, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,146, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 49,138, 35, 62,237,209, 85, 62,126, 75,186, 62,113, 6,137, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,228,163,237, 62, 55, 20, 58,192, 9,122, 64, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,147, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,187,215,163, 61, 90,207, 92, 61,188,248,152, 62,182, 59, 17, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,202, 59,148,191,188,242, 56,191,189,111,113, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,148, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 42,204,169, 62,204,195,154, 62,146,225, 51, 62,125,254, 66, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 34,179,252,191, 86,102,184,191,169,174, 51, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,149, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 46,210, 21, 62,250, 32,186, 62,195,126,178, 62, 85,238, 16, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 1,244, 77,192, 51, 52,163,190, 30,234, 62, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,150, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 89,246,198, 61, 30,130, 46, 63,223,241, 54, 62,221, 41, 46, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,255, 27,122, 63,179,229,133,191, 66, 39,149, 64,190, 81, 55,191,107,243, 71,191,102,237, 42, 63,235,163,214, 62,
+200,206,183,190,205,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,151, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,216, 4,239, 62,235,100, 21, 61,174, 73, 20, 61, 83,197,235, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 20, 66,151,191,208,139, 62,192, 98,118, 5, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,152, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,212,101,120, 61, 72, 26,221, 61,158, 82, 22, 63,241, 14,122, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,224, 63, 46,190,222,105,107,191,198,191,132, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+201,206,183,190,200,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,153, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 89,238,204, 62, 10, 90, 39, 62,123,156, 6, 62, 98, 22,156, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,250,148,234,190, 11,179, 97,192, 16,215, 3, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,155, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,251, 26,119, 60, 34,207,150, 60,170,176, 20, 63,225,120,197, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,202,177,135,191,150,220, 86,192,144, 9,239, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,156, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 87,169, 5, 61,120,116, 92, 61,179,253, 38, 63,225,192,133, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,213,105,108,192,125,145,223, 62,192,182, 82, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,157, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,206, 82,204, 61, 44,113, 89, 63, 63, 63, 23, 61,220, 33,100, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 76, 23,243, 62, 46,133,166,191, 78,153,134, 64,192, 81, 55,191,109,243, 71,191, 98,237, 42, 63,234,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,158, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,159, 2,190, 62, 29,141,193, 61,214, 93,214, 61,164, 2,220, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,130,192,214,190,182, 57, 73,192,175, 83, 23, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,159, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,211,103, 84, 61, 92,194,115, 61,148,216,253, 62, 41, 34,201, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,122, 4,133,192,109,136,128, 62,136, 58, 58, 64,190, 81, 55,191,107,243, 71,191, 98,237, 42, 63,235,163,214, 62,
+198,206,183,190,206,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,160, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 70, 80,156, 58,142,100,108, 63, 15, 72,153, 61,116, 35, 17, 58, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,132, 40, 12, 62,102, 32, 1,192,222,178, 95, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,161, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,223,196, 88, 62,134, 94,237, 61,141, 5, 97, 62, 43,195,231, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,211,109, 80, 63, 96,210, 20,192,246,253,103, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,162, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 69,196, 53, 62,136,184,135, 61,240,250, 35, 62, 34,153, 24, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,240,142,147,191, 43, 7,166,190, 61, 69,130, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,164, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 56,243,206, 62,109,170,159, 62,224,145, 2, 62,211, 50, 32, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 2,254, 89,191,195,197, 85,192,176,197,254, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,165, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,111, 3, 11, 61,241, 2, 76, 61,231,181, 28, 63,103,179,155, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 24, 46,253,191,200,126,214, 61,248, 1,125, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,166, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 18,251,181, 62,225,163,242, 62, 90, 98,191, 61,220, 33,158, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,115, 18, 94,192,112, 61, 49, 61, 90,153, 71, 64,190, 81, 55,191,109,243, 71,191, 98,237, 42, 63,236,163,214, 62,
+197,206,183,190,202,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,167, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,141,188,190, 61,118,157, 68, 63,105,119,224, 61,112,129,239, 60, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 38, 34,141,191,222,140, 39,192,182, 55, 25, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,168, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,122, 6,189, 61, 58,195, 23, 62, 6,114,254, 62,189,106,134, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,149, 14, 63,192, 64,204,165,191, 12, 96, 24, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,169, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 14, 67, 83, 61,192,186, 4, 63, 39,206,197, 62,178,159, 50, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,183,180, 22,192,126,173, 4,192,240,189, 8, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,170, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,133, 49,131, 61,130, 33,167, 62,160,225, 5, 63,124, 59,177, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 35,160, 97, 63,129,220,163,191,194,248,141, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,171, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 78,174,206, 62, 68,159, 93, 61,160, 84,118, 61, 54,211,246, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 4,223, 18,192,155,169,140,191,151, 18, 57, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,173, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,245, 96, 21, 62, 35,104,227, 62, 83, 62,154, 62, 64,164,222, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,100,193,179,191,251,111, 78,192,166, 64,228, 63,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,174, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 37,242, 35, 61,204,214,171, 61,175, 25, 46, 63, 82,177, 72, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 93, 90,124,191,113, 48,212,191, 56,208, 74, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,175, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,187,178, 81, 62,176, 57,108, 62, 93,177,153, 62,108, 88,135, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,251,231, 33,192,132, 2, 59,191, 78,162, 66, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,176, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,217, 15, 30, 62,227,209, 4, 63,178,148,117, 62,218, 39,178, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 2,185,138, 63,191,128, 41,192,139,193, 97, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,177, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 0,196,250, 61, 79,120, 62, 61,195, 12, 31, 62,202,252, 44, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,242, 63,243,190, 86,176,159,191,245,150,111, 64,190, 81, 55,191,109,243, 71,191,100,237, 42, 63,234,163,214, 62,
+200,206,183,190,199,137, 61,190,158, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,178, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255,217, 77,158, 62, 43,131, 72, 62,119,208, 68, 62, 86, 8,155, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0,198,178, 48,191,138, 39, 52, 62, 39,252,149, 64,190, 81, 55,191,107,243, 71,191,100,237, 42, 63,235,163,214, 62,
+198,206,183,190,203,137, 61,190,157, 38, 80,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,179, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 0, 0,200, 66, 0, 0, 0, 0,
+255,255,255,255, 62, 71, 19, 63,111,215,107, 62, 63, 71,138, 61,243,231, 1, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 1, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 12, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 13, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,219,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 80,159,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186, 63,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-168,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,251,223,124, 61,
-125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 59,138, 94,189,142,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 88,160,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,
-255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,255,223,124, 60,186, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,255, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,199, 84,145,188, 15,224,124, 61,123,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188,
- 15,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189, 15, 62, 14, 62,163,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,151,155, 65, 62,182,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0,255, 84,145,189, 31,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 96,161,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,243, 61, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,251,223,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 5,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-180,127, 35,189, 8, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,142,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,162,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,200,126, 35,188,247, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,135, 84,145,188,
- 7,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,104,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0,251,137, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,231, 84,145,189,
- 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,112,163,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-235, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,
-165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,120,164,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,
-247, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,251,223,124, 61,125,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 5,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 8, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-142,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128,165,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 71, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 18,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,152,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 31, 85,145,189, 34,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-136,166,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 14, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186, 63,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+251,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,142,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 15, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,
+255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,255, 61, 14, 61,218,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188, 15,224,124, 61,123,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,171, 20,227,188, 15,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189,
+ 15, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,151,155, 65, 62,182,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 31,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 16, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188,243, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,
+251,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 5,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189, 8, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,142,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 17, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,
+223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,126, 35,188,247, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,135, 84,145,188, 7,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,104,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,251,137, 94,189,145,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,231, 84,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 18, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 20, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,247, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,251,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 5,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 8, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,142,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 21, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 18,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,152,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 34,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 22, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,223, 84,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,132,127, 35,188, 3, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,252, 84,145,188, 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,207, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,169,127, 35,189,
13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 50,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,144,167,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,143,223,124, 59, 56,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,250, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 4,224,124, 61,
-124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 43,138, 94,189,146,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 26,224,124, 62,
-140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,152,168,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 87,145,186,
-255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 85,145,187,255,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 71, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,
- 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189, 11, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,145,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,160,169,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,
-221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,239,223,124, 61,127,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-184,127, 35,189, 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,135,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 17,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,170,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 71, 84,145,186,239,223,124, 59, 58,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,120,127, 35,188, 2, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,
- 17,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,165,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 48,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189,
- 28,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176,171,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
- 43, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,
-165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,186,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,184,172,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,231, 84,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,
- 3, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 17,224,124, 61,125,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,211, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 53,138, 94,189,
-148,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 10, 85,145,189, 29,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,192,173,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 71, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 83,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 27, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-200,174,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 23, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,143,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,250, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 4,224,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 43,138, 94,189,146,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189,
+ 26,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 24, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 87,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,145,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 25, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+239,223,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,135,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 17,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 26, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 71, 84,145,186,239,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,120,127, 35,188, 2, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188, 17,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,165,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 48,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 28,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 27, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 7,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 23,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 29, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,
+255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 3, 62, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 17,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,211, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 53,138, 94,189,148,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 10, 85,145,189, 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 30, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 83,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 31, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,219, 20,227,188, 23,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 27,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,208,175,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,247,223,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 59,138, 94,189,138,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216,176,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,
-255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,188, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,
- 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 11, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 83,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,224,177,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 71, 85,145,187,223,223,124, 60,189, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,247, 61, 14, 61,
-221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 7,224,124, 61,127,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-176,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,145,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,178,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,168,127, 35,188,247, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
- 7,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61, 82, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 43,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
- 25,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,240,179,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
-135, 84,145,186, 63,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187, 55,224,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188, 17, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 30,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-203, 20,227,188, 24,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189, 18, 62, 14, 62,
-163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 55,138, 94,189,155,155, 65, 62,183,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189, 36,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,248,180,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,
-239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,
-139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 0,182,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 39, 85,145,188, 15,224,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61,
- 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,163,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,151,155, 65, 62,182,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 31, 85,145,189, 31,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 8,183,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 32, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+247,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,138,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 33, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 83,138, 94,189,143,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 34, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,223,223,124, 60,189, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,247, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+ 7,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 35, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,247, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 7,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,145,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 25,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 36, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186, 63,224,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187, 55,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,152,127, 35,188, 17, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
+ 30,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 24,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189, 18, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 55,138, 94,189,155,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189,
+ 36,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 38, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,139,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 39, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 15,224,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,151,155, 65, 62,182,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 31,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 40, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,
255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 23,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 16,184,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,191,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,247,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
- 72,127, 35,188, 0, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 14,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 27,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,251, 84,145,189, 27,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 24,185,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,
-127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,223,223,124, 60,186, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,184,127, 35,188,247, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 31, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,243, 20,227,188,
- 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,188,127, 35,189, 7, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 17, 85,145,189, 22,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 32,186,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,255, 61, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-176,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,187,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 71, 84,145,186,255,223,124, 59, 58,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
- 23,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,211, 20,227,188, 19,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,170,127, 35,189, 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 56,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 13, 85,145,189,
- 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 48,188,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187, 63,224,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-171, 20,227,188, 7,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 11, 62, 14, 62,
-163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 19,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0, 56,189,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,
-255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,103, 85,145,188,255,223,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 75, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,216,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,
-143,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,143, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 64,190,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 71, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 27,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 19, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,155,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 31, 85,145,189, 35,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 72,191,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 41, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,191,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,247,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 72,127, 35,188, 0, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 14,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188, 13,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 27,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,251, 84,145,189,
+ 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 42, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,
+223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,184,127, 35,188,247, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 31, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,243, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,188,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,141,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 17, 85,145,189, 22,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 43, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 7,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 44, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 71, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 23,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,211, 20,227,188, 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,170,127, 35,189,
+ 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 56,138, 94,189,147,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 13, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 45, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 72,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,
+ 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188, 7,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 27,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189,
+ 19,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 47, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,103, 85,145,188,255,223,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 75, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189,
+ 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,186,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 48, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 27,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 19, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,155,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 35,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 49, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,104,127, 35,188,255, 61, 14, 61,219,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,187, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,143,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 80,192,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,
-128,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 75,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 29,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 88,193,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 31,224,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,231, 84,145,188, 23,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188,
- 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,149,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 33,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 96,194,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-215, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,144,127, 35,188, 7, 62, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,251, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,207, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-166,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 45,138, 94,189,147,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 8, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,195,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
-255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,255,142,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 91,138, 94,189,139,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
- 15,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,112,196,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 13, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,120,197,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
-255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128,198,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59,
- 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 83,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,126, 35,188,239, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
-135, 84,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 75, 20,227,188,255,142,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0, 88,127, 35,189,255, 61, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0,219,137, 94,189,135,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
-223, 84,145,189, 15,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-136,199,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 50, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 15,224,124, 61,128,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 51, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 23,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,149,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 33,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 52, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,215, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,144,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,251, 84,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,207, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,166,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 45,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 8, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 53, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,139,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 15,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 54, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 56, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 57, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 83,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,126, 35,188,239, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,135, 84,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 75, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0, 88,127, 35,189,255, 61, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0,219,137, 94,189,135,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,223, 84,145,189,
+ 15,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 58, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,137,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 15,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,144,200,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,127,223,124, 59, 56,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,251, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 3,224,124, 61,
-124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 8,143,197, 61, 80, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 10, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 27,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 24,224,124, 62,
-140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,152,201,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,
-255,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 63,224,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 15, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 71, 85,145,188, 31,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,
- 27,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 23, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,157,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 31, 85,145,189, 37,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,160,202,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 87,145,186, 15,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-135, 85,145,187, 19,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,232,127, 35,188, 12, 62, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 28,224,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 25,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-200,127, 35,189, 19, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,155,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 35,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,203,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186, 63,224,124, 59, 58,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,168,127, 35,188, 3, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
- 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 51,138, 94,189,148,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
- 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176,204,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186, 33,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 29,224,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 11, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 24,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
- 43, 21,227,188, 24,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 18, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,157,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 37,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,184,205,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 71, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
-255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,192,206,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188, 7, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
-167, 84,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,139, 20,227,188, 15,143,197, 61,
- 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 11,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
-247, 84,145,189, 23,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-200,207,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 59, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,127,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,251, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 3,224,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 8,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 10, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 27,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189,
+ 24,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 60, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+ 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 15, 62, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 31,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 27,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189,
+ 23, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,157,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 37,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 61, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 87,145,186, 15,224,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 19,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,232,127, 35,188, 12, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 28,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 25,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 19, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,155,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 35,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 62, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186, 63,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 3, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,148,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 63, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186, 33,224,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 29,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 11, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 24,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 24,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 18, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,157,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 37,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 65, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 66, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,127, 35,188, 7, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,167, 84,145,188,
+ 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,139, 20,227,188, 15,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 11,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189,
+ 23,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 67, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,215, 84,145,187,
191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188,255, 61, 14, 61,219,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,223, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,174,127, 35,189,
11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 57,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 12, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,208,208,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,
-127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 75,138, 94,189,147,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 31,224,124, 62,
-143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216,209,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,
-191,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 15,224,124, 60,188, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 71, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,
- 17,143,197, 61, 83, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 14, 62, 14, 62,165,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,146,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 26,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,224,210,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,139,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,211,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
-255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,251, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189, 6, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 67,138, 94,189,140,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
- 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,240,212,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 84,145,186,127,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,247, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-235, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,248,213,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
- 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 0,215,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,224,124, 59,
- 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188, 47, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
-231, 84,145,188, 63,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 47,143,197, 61,
- 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,167,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
-255, 84,145,189, 51,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 8,216,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 68, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 69, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,191,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+ 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 17,143,197, 61, 83, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
+ 14, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,146,155, 65, 62,186,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 26,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 70, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 71, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,251, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189,
+ 6, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,140,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 72, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,247, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 74, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 75, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,224,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 72,127, 35,188, 47, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 63,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 47,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 43,138, 94,189,167,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189,
+ 51,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 76, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,135, 84,145,186, 31,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
31,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188, 16, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,215, 20,227,188, 22,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,172,127, 35,189,
17, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 53,138, 94,189,151,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189, 32,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 16,217,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,255,223,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 59,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 23,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 24,218,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,191,223,124, 60,186, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,104,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,231, 84,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188,
- 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 7, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,145,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0,255, 84,145,189, 26,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 32,219,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,220,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,191, 84,145,186,255,222,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,229, 84,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,154,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
-255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,232, 20,227,188, 7,143,197, 61, 82, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,182,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 65,138, 94,189,139,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 16, 85,145,189,
- 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 48,221,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187, 31,224,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0, 56,222,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,135, 84,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,
- 47, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 47,224,124, 61,125,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188, 47,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,152,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,
-167,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 49,224,124, 62,139, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 64,223,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59,
- 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
-167, 84,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61,
- 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,104,127, 35,189, 9, 62, 14, 62,163,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0,251,137, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
-239, 84,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 72,224,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 77, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 78, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,104,127, 35,188,239, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,171, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,145,155, 65, 62,183,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 26,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 79, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 80, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,191, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,229, 84,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,154,127, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,232, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,182,127, 35,189,
+ 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 65,138, 94,189,139,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 16, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 81, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187, 31,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189,
+ 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 83, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+ 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188, 47, 62, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 47,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,171, 20,227,188, 47,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
+ 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,167,155, 65, 62,183,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 49,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 84, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,167, 84,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,104,127, 35,189, 9, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0,251,137, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 85, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,171, 20,227,188, 31,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 11,138, 94,189,159,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 39,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 80,225,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,255,223,124, 61,
-125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 67,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 19,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 88,226,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 7, 85,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,
-255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 5, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,138,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 96,227,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-135, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-168,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,228,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187, 15,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,
- 19,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 17,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189, 14, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 51,138, 94,189,148,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189,
- 30,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,112,229,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 83,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 84,145,187,191,223,124, 60,
-186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 40,127, 35,188,223, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,239,223,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-155, 20,227,188,255,142,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,128,127, 35,189,255, 61, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 11,138, 94,189,131,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0,243, 84,145,189, 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,120,230,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,135, 84,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,
-239, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,255,223,124, 61,124,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,139, 20,227,188,247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,120,127, 35,189,255, 61, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,251,137, 94,189,
-131,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189, 11,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128,231,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 39, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 23,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 39, 85,145,189, 27,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-136,232,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 86, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,192,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
+ 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 87, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,138,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 88, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 89, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,
+ 15,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188, 19,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189,
+ 14, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,148,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 30,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 90, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 83,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 84,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 40,127, 35,188,223, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,
+239,223,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,155, 20,227,188,255,142,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,128,127, 35,189,255, 61, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 11,138, 94,189,131,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,243, 84,145,189,
+ 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8, 92, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,239, 61, 14, 61,218,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,255,223,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,139, 20,227,188,247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,120,127, 35,189,
+255, 61, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,251,137, 94,189,131,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189, 11,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 93, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 23,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 39, 85,145,189,
+ 27,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72, 94, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,239, 61, 14, 61,221,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,103, 85,145,188,255,223,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0, 43, 21,227,188,255,142,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
3, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,135,155, 65, 62,186,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 19,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,144,233,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 91,138, 94,189,151,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 27,224,124, 62,
-143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,152,234,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,
-127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,191,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,231, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,215, 84,145,188,231,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,171, 20,227,188,
-247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 1, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,135,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0,251, 84,145,189, 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,160,235,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 83,145,186,191,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-135, 84,145,187,239,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,104,127, 35,188, 3, 62, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,187, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-152,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,145,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,236,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186, 63,224,124, 59, 56,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 47,224,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,136,127, 35,188, 15, 62, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
- 29,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 24,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 17, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 59,138, 94,189,155,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189,
- 35,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176,237,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,
-188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
- 43, 21,227,188, 23,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 15, 62, 14, 62,
-166,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,150,155, 65, 62,186,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 30,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,184,238,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187, 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
- 11, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 23,224,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 17, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 33,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,192,239,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,191,223,124, 59,
- 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 39, 85,145,188, 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 17,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 14, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 23, 85,145,189, 34,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-200,240,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 95, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,151,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 27,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 96, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,231, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,215, 84,145,188,231,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,171, 20,227,188,247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
+ 1, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,135,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,251, 84,145,189, 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 97, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 83,145,186,191,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,239,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,104,127, 35,188, 3, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+ 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,187, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 35,138, 94,189,145,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189,
+ 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 98, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186, 63,224,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 47,224,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 15, 62, 14, 61,218,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 29,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 24,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 17, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,155,155, 65, 62,183,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 35,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 99, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 23,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 15, 62, 14, 62,166,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,150,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 30,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,101, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 11, 62, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 17, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 33,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,102, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,191,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 17,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 14, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 34,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,103, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,103, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,191, 84,145,187,
63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,144,127, 35,188, 15, 62, 14, 61,219,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 3, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,223, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,174,127, 35,189,
11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 63,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,208,241,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,191,223,124, 59, 59,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 3,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
- 8,128, 35,188, 4, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 18,224,124, 61,
-128,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 14, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 91,138, 94,189,149,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 26,224,124, 62,
-143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216,242,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,191,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,247, 84,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188,
- 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,160,127, 35,189, 7, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 7, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,224,243,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 87,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-199, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 40,128, 35,188, 15, 62, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0, 27, 21,227,188, 31,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-208,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,163,155, 65, 62,
-183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189, 43,224,124, 62,140, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,244,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
- 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
- 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,240,245,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,207,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,244, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,254,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
- 11, 21,227,188, 5,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 9, 62, 14, 62,
-165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 25,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,248,246,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,241,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,
-253, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 11,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,176,127, 35,189, 12, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,
-146,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 27,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 0,248,180, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,199, 84,145,186,255,222,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,247, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,160,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 11, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,231, 20,227,188, 15,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 61,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 14, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 8,249,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,104, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,191,223,124, 59, 59,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 3,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 4, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 18,224,124, 61,128,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 14, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,149,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 26,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,105, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,247, 84,145,188,247,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,160,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,106, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 87,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 40,128, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 27, 21,227,188, 31,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,208,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,163,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189,
+ 43,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,107, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,108, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,127,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,207,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188,244, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+254,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 5,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 9, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 25,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,110, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+241,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,253, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 11,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,219, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
+ 12, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,146,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,111, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,199, 84,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,247, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,160,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 11, 85,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,231, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 61,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 14, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,112, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,239,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,203, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,137,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 17,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 16,250,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,215, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-140,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,251, 84,145,188, 15,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 61,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 24,251,180, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,
- 13,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 31,224,124, 60,188, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 9, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 23, 85,145,188, 22,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,
- 16,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 14, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,148,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 15, 85,145,189, 30,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 32,252,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,199, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-231, 84,145,187,159,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,144,127, 35,188,231, 61, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,239,223,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,217, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-175,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 56,138, 94,189,140,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 21,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,253,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,224,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 63,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0, 72,128, 35,188, 31, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,103, 85,145,188,
- 47,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 75, 21,227,188, 39,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,248,127, 35,189, 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0,139,138, 94,189,163,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 55, 85,145,189,
- 43,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 48,254,180, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-219, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,
-165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,139,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0, 56,255,180, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 71, 84,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,
-239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,255,223,124, 61,125,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,187, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,152,127, 35,189, 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,
-139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 19,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 64, 0,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 23, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,251, 20,227,188, 7,143,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 19, 85,145,189, 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 72, 1,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,113, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,215, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,140,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,251, 84,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 61,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,114, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186, 13,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 31,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 9, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 22,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 16,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
+ 14, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,148,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 30,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,115, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,199, 84,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,159,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,144,127, 35,188,231, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+239,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,217, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,175,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 56,138, 94,189,140,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
+ 21,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,116, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,224,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+ 63,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,128, 35,188, 31, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,103, 85,145,188, 47,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 75, 21,227,188, 39,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,248,127, 35,189,
+ 27, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,139,138, 94,189,163,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 55, 85,145,189, 43,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,117, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,152,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 7,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,139,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,119, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 84,145,187,
+191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,239, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,187, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189,
+ 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 35,138, 94,189,139,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,120, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,251, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
+ 19,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,121, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,199, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 3, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189,
11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 63,138, 94,189,147,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 80, 2,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 39,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,227, 20,227,188, 33,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 24, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 67,138, 94,189,162,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 17, 85,145,189, 45,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 88, 3,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,
-255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188,
- 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,165,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 96, 4,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-231, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188, 7, 62, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 5,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,223,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,235,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,200,126, 35,188,251, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,167, 84,145,188,
- 9,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,120,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0,251,137, 94,189,145,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189,
- 28,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,112, 6,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,255,222,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,191,223,124, 60,
-186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
- 3, 21,227,188, 7,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,196,127, 35,189, 7, 62, 14, 62,
-163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 87,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 29, 85,145,189, 23,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,120, 7,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,191,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 84,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,
-251, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188, 11,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,155, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,136,127, 35,189, 12, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 19,138, 94,189,
-144,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 24,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128, 8,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 31,224,124, 60,188, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 71, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 11,143,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 31, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-136, 9,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,122, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
+ 39,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,227, 20,227,188, 33,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 24, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,162,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 17, 85,145,189,
+ 45,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,123, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,219, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
+ 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,143,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 19,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,124, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,152,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,125, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 82,145,186,223,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,
+235,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,126, 35,188,251, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,167, 84,145,188, 9,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,107, 20,227,188, 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,120,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,251,137, 94,189,145,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189, 28,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,126, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 3, 21,227,188, 7,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,196,127, 35,189, 7, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 87,138, 94,189,143,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 29, 85,145,189,
+ 23,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,128, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,191,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 84,145,187,
+223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,251, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188, 11,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,155, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189,
+ 12, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 19,138, 94,189,144,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 24,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,129, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187, 31,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188, 7, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188, 11,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,130, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
239,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 3, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,219, 20,227,188, 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,149,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 29,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,144, 10,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,103, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-248,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 55, 85,145,188, 15,224,124, 61,
-125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 35, 21,227,188, 15,143,197, 61, 80, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,220,127, 35,189, 15, 62, 14, 62,162,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
-107,138, 94,189,151,155, 65, 62,182,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 37, 85,145,189, 31,224,124, 62,
-139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,152, 11,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 86,145,186,
-255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,103, 85,145,187,255,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,184,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 7, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,
- 31,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189, 23, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 71,138, 94,189,159,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 18, 85,145,189, 43,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,160, 12,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 39, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,243, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-184,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 83,138, 94,189,151,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 25, 85,145,189, 27,224,124, 62,140, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 13,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 58,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0, 8,128, 35,188,239, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
-255,223,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 75, 21,227,188, 7,143,197, 61, 82, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0,107,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189,
- 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176, 14,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 63,224,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-219, 20,227,188, 23,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 15, 62, 14, 62,
-165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,184, 15,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 71, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
-255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,176,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,
-147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 31,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,192, 16,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,143,223,124, 59,
- 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,251, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 39, 85,145,188, 2,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61,
- 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,145,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 7, 85,145,189, 27,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-200, 17,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,131, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,103, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,248,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 55, 85,145,188,
+ 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 35, 21,227,188, 15,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,220,127, 35,189, 15, 62, 14, 62,162,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0,107,138, 94,189,151,155, 65, 62,182,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 37, 85,145,189,
+ 31,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,132, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,135, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,103, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,184,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 31,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189,
+ 23, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 71,138, 94,189,159,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 18, 85,145,189, 43,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,133, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,
+ 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,243, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 83,138, 94,189,151,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 25, 85,145,189,
+ 27,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,134, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,222,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,239, 61, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,255,223,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 75, 21,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189,
+ 7, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,107,138, 94,189,143,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,135, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 23,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
+ 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,137, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
+ 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,138, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,143,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,251, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+ 2,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 11,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 43,138, 94,189,145,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189,
+ 27,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,139, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,219,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,235, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,208, 18,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-152,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,255,223,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 75,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 23,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216, 19,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,191,223,124, 60,186, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,239, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,199, 84,145,188,239,223,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,139, 20,227,188,
-247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,120,127, 35,189,251, 61, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 11,138, 94,189,131,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0,239, 84,145,189, 11,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,224, 20,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
- 39, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,176,127, 35,188,239, 61, 14, 61,
-219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 19, 85,145,188,239,223,124, 61,125,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,231, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-179,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 65,138, 94,189,139,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 16, 85,145,189, 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 21,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,104,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,239, 84,145,188,
- 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
- 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,240, 22,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,207,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,243, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,251,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-235, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,248, 23,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,
- 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,
-147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 27,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 0, 25,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,247, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 7, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 6, 62, 14, 62,164,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 23, 85,145,189, 22,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 8, 26,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,140, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,152,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,141, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+191,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,239, 61, 14, 61,218,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,239,223,124, 61,124,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,139, 20,227,188,247,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,120,127, 35,189,
+251, 61, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 11,138, 94,189,131,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,239, 84,145,189, 11,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,142, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,176,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 19, 85,145,188,
+239,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,231, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,179,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 65,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 16, 85,145,189,
+ 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,143, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,104,127, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,239, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,145,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 25,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,144, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,127,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,207,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,243, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
+251,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,146, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,147, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,127,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,247, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 6, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 22,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,148, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 71, 85,145,187,
13,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 5, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 19,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,227, 20,227,188, 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
14, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,149,155, 65, 62,185,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 13, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 16, 27,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,151, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0,219, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-140,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,249, 84,145,188, 15,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,205, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 10, 85,145,189, 27,224,124, 62,
-142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 24, 28,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,
-255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 11, 21,227,188,
- 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189, 7, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 32, 29,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,175, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-224, 84,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,142,127, 35,188,239, 61, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 1, 85,145,188,239,223,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,207, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-164,127, 35,189, 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 42,138, 94,189,135,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 4, 85,145,189, 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40, 30,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,200,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
- 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 82, 2,158, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,149, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,151, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,219, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,140,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,249, 84,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,205, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
- 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 48, 31,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,127,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,223,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,176,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 19, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-231, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 9, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 63,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 24,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0, 56, 32,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0, 7, 85,145,187, 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,
- 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,
-151,155, 65, 62,186,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 31,224,124, 62,143, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 64, 33,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 23, 85,145,189, 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
- 72, 34,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 10, 85,145,189,
+ 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,150, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0, 11, 21,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,143,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 27, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,151, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,175, 84,145,186,255,222,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,224, 84,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,142,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 1, 85,145,188,
+239,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,207, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,164,127, 35,189, 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 42,138, 94,189,135,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 4, 85,145,189,
+ 15,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,152, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 23,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,186,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,153, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,176,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 19, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,231, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,178,127, 35,189, 9, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 63,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
+ 24,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,155, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+ 31,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 19,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,186,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,156, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 31,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,157, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,255, 61, 14, 61,217,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,123,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
11, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,147,155, 65, 62,182,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 7, 85,145,189, 27,224,124, 62,139, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 80, 35,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 71, 85,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-144,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 31,224,124, 61,
-125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,223, 20,227,188, 31,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 23, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 63,138, 94,189,161,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 14, 85,145,189, 43,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 88, 36,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187, 15,224,124, 60,188, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188,
- 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,150,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 30,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0, 96, 37,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-135, 84,145,187,255,223,124, 60,185, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 72,127, 35,188,255, 61, 14, 61,
-217,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,255,223,124, 61,123,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 80, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-152,127, 35,189, 7, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,143,155, 65, 62,
-184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104, 38,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 56,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,168,127, 35,188,247, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,158, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 71, 85,145,186,255,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 39, 85,145,187,255,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,144,127, 35,188, 15, 62, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
+ 31,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,223, 20,227,188, 31,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 23, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 63,138, 94,189,161,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 14, 85,145,189,
+ 43,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,159, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+ 15,224,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,150,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 30,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,160, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,255,223,124, 59, 56,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,255,223,124, 60,185, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 72,127, 35,188,255, 61, 14, 61,217,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,231, 84,145,188,
+255,223,124, 61,123,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 80, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,152,127, 35,189, 7, 62, 14, 62,163,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 43,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,255, 84,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,161, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 85,145,186,127,223,124, 59, 56,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188,247, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189,
+ 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,141,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,162, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,
255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 3,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 59,138, 94,189,141,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189,
- 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,112, 39,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,239, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188,255,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-235, 20,227,188, 3,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 5, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,120, 40,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,135, 85,145,187,255,223,124, 60,189, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188,
- 1, 62, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 16,224,124, 61,127,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,184,127, 35,189, 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,
-147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 30,224,124, 62,142, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128, 41,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 7, 85,145,188, 7,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61,
- 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 23, 85,145,189, 29,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-136, 42,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 5, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,139,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 21,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,164, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 59,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
+255,223,124, 60,189, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 1, 62, 14, 61,221,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 16,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,235, 20,227,188, 15,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189,
+ 13, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 30,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,165, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,223,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 7,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188, 11,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 59,138, 94,189,145,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 29,224,124, 62,143, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,166, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 7, 86,145,186,191,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 85,145,187,
255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,128, 35,188, 11, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 39, 85,145,188, 19,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0, 11, 21,227,188, 21,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,200,127, 35,189,
17, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 91,138, 94,189,153,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 31, 85,145,189, 33,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,144, 43,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 86,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
- 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188, 15,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
-107,138, 94,189,147,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 39, 85,145,189, 27,224,124, 62,
-140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,152, 44,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,
-255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,255,223,124, 60,188, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 7, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188,
- 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 13, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 15, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,160, 45,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,
-220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,215, 20,227,188, 7,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-174,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 57,138, 94,189,143,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 13, 85,145,189, 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168, 46,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,167, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 86,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0, 8,128, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 71, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0, 43, 21,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,216,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0,107,138, 94,189,147,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 39, 85,145,189,
+ 27,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,168, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 7, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 43,138, 94,189,147,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 15, 85,145,189, 31,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,169, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188,
- 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,211, 20,227,188, 23,143,197, 61, 82, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189,
- 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,176, 47,181, 3,
- 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 7, 85,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,247, 84,145,187,191,223,124, 60,
-187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66,
- 0, 0, 32, 63, 0, 0, 0, 0, 11, 85,145,188,255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,
-227, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189, 7, 62, 14, 62,
-164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 73,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66,
- 0, 0, 0, 62, 0, 0, 0, 0, 20, 85,145,189, 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,184, 48,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63,
- 0, 0, 0, 0,231, 84,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,
-255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 15,224,124, 61,126,101,127, 63,
- 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,211, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62,
- 0, 0, 0, 0,168,127, 35,189, 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 55,138, 94,189,
-147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 12, 85,145,189, 27,224,124, 62,141, 17,245, 63,
- 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,192, 49,181, 3, 60, 1, 0, 0, 9, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59,
- 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65,
- 0, 0, 64, 63, 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,
- 7, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 23,143,197, 61,
- 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66,
- 0, 0,128, 62, 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,
- 23, 85,145,189, 35,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,
-200, 50,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,215, 20,227,188, 7,143,197, 61, 82, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,174,127, 35,189, 11, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 57,138, 94,189,143,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 13, 85,145,189,
+ 23,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,170, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,
+255,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,168,127, 35,188, 15, 62, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 15, 85,145,188, 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,211, 20,227,188, 23,143,197, 61, 82, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 15, 62, 14, 62,165,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,147,155, 65, 62,185,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 11, 85,145,189, 27,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232,171, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,247, 84,145,187,191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,152,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 11, 85,145,188,
+255,223,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,227, 20,227,188,255,142,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,180,127, 35,189, 7, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 73,138, 94,189,143,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 20, 85,145,189,
+ 23,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 8,173, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0,135, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,231, 84,145,187,
+255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,255, 61, 14, 61,220,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,255, 84,145,188, 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,211, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 55,138, 94,189,147,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 12, 85,145,189, 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 40,174, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 86,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187, 63,224,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,200,127, 35,188, 15, 62, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,
+ 31,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,235, 20,227,188, 23,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,184,127, 35,189, 15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 75,138, 94,189,151,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189,
+ 35,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 72,175, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0,135, 84,145,186, 15,224,124, 59, 58,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,199, 84,145,187,
251,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,152,127, 35,188, 8, 62, 14, 61,220,123, 65, 63,
0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188, 22,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
0, 0, 0, 0,219, 20,227,188, 17,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,172,127, 35,189,
15, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 51,138, 94,189,148,155, 65, 62,184,177,216, 63,
0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 9, 85,145,189, 30,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,208, 51,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62, 0, 0, 72, 65,
- 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,
-168,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188, 15,224,124, 61,
-126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63, 0, 0,122, 66,
- 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0,
- 67,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189, 27,224,124, 62,
-141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216, 52,181, 3, 60, 1, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 84,145,186,
-255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,187, 71, 2, 63,
- 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63,
- 0, 0, 0, 0, 7, 85,145,188,239,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,203, 20,227,188,
-255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189, 3, 62, 14, 62,164,172,187, 63,
- 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,137,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62,
- 0, 0, 0, 0, 23, 85,145,189, 17,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-216, 0, 0, 0,224, 53,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0,111, 84,145,186,255,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,
-173, 84,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,116,127, 35,188,255, 61, 14, 61,
-221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,245, 84,145,188, 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66,
- 0, 0, 0, 63, 0, 0, 0, 0,199, 20,227,188, 13,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,
-163,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 47,138, 94,189,147,155, 65, 62,
-185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 6, 85,145,189, 28,224,124, 62,142, 17,245, 63, 0, 0,200, 66,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,232, 54,181, 3, 60, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 82,145,186,127,223,124, 59, 57,146,131, 62,
- 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
- 0, 0, 0, 0, 8,127, 35,188,247, 61, 14, 61,218,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188,
- 7,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,139, 20,227,188, 7,143,197, 61, 81, 2,158, 63,
- 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
- 0, 0, 0, 0, 27,138, 94,189,147,155, 65, 62,183,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189,
- 28,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,232, 0, 0, 0,240, 55,181, 3,
-119, 0, 0, 0, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 16,137,156, 3,105, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 23, 0, 0, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,
-101,109, 32, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 90,154, 3,
- 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0, 8, 57,181, 3,
-115, 0, 0, 0, 1, 0, 0, 0,152, 60,181, 3,184, 4,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,
-119,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 97,109,112, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,104,176, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 7, 85,145,186,255,223,124, 59, 58,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,191,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,168,127, 35,188,255, 61, 14, 61,220,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 23, 85,145,188,
+ 15,224,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,219, 20,227,188, 15,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,176,127, 35,189, 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 67,138, 94,189,147,155, 65, 62,184,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 19, 85,145,189,
+ 27,224,124, 62,141, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136,177, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 84,145,186,255,222,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0, 7, 85,145,187,
+191,223,124, 60,187, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0,136,127, 35,188,239, 61, 14, 61,219,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0, 7, 85,145,188,239,223,124, 61,126,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,203, 20,227,188,255,142,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,168,127, 35,189,
+ 3, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 59,138, 94,189,137,155, 65, 62,184,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 23, 85,145,189, 17,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,168,178, 51, 3, 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,111, 84,145,186,255,223,124, 59, 57,146,131, 62,
+ 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,173, 84,145,187,255,223,124, 60,188, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63,
+ 0, 0, 0, 0,116,127, 35,188,255, 61, 14, 61,221,123, 65, 63, 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,245, 84,145,188,
+ 15,224,124, 61,127,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63, 0, 0, 0, 0,199, 20,227,188, 13,143,197, 61, 81, 2,158, 63,
+ 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,163,127, 35,189, 13, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62,
+ 0, 0, 0, 0, 47,138, 94,189,147,155, 65, 62,185,177,216, 63, 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0, 6, 85,145,189,
+ 28,224,124, 62,142, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200,179, 51, 3,
+ 0, 0, 0, 0, 87, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 7, 82,145,186,127,223,124, 59, 57,146,131, 62, 0, 0, 72, 65, 0, 0, 96, 63, 0, 0, 0, 0,135, 84,145,187,
+223,223,124, 60,186, 71, 2, 63, 0, 0,200, 65, 0, 0, 64, 63, 0, 0, 0, 0, 8,127, 35,188,247, 61, 14, 61,218,123, 65, 63,
+ 0, 0, 22, 66, 0, 0, 32, 63, 0, 0, 0, 0,199, 84,145,188, 7,224,124, 61,125,101,127, 63, 0, 0, 72, 66, 0, 0, 0, 63,
+ 0, 0, 0, 0,139, 20,227,188, 7,143,197, 61, 81, 2,158, 63, 0, 0,122, 66, 0, 0,192, 62, 0, 0, 0, 0,136,127, 35,189,
+ 11, 62, 14, 62,164,172,187, 63, 0, 0,150, 66, 0, 0,128, 62, 0, 0, 0, 0, 27,138, 94,189,147,155, 65, 62,183,177,216, 63,
+ 0, 0,175, 66, 0, 0, 0, 62, 0, 0, 0, 0,247, 84,145,189, 28,224,124, 62,140, 17,245, 63, 0, 0,200, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 16, 2, 0, 0,232,180, 51, 3, 0, 0, 0, 0,123, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,112, 0, 0, 0, 72,183, 51, 3, 0, 0, 0, 0,101, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 32, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,152, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 8,184, 51, 3,
+ 0, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,120,189, 51, 3, 0, 0, 0, 0, 8,146, 50, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,112,114,101,118,105,101,119,108, 97,109,112, 0, 0, 0, 0, 0, 0, 0,
+ 0, 97,109,112, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 40,208, 49, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 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,192,197,211,188, 76,229, 59, 65,208,106,184, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+247,215, 98,191, 71, 11, 72, 63,230,248, 6, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 14, 29, 63,149,225,182, 62,
+ 84, 76, 52,191, 0, 0, 0, 0, 22, 40, 74,191,201, 74,139, 62,228,198, 12,191, 0, 0, 0, 0, 84,213,157,187,151,190,100, 63,
+145,223,229, 62, 0, 0, 0, 0,192,197,211,188, 76,229, 59, 65,208,106,184, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,147, 39, 25, 51,
+ 43, 47, 63,179, 0, 0, 0, 0, 9,108,247, 50, 0, 0,128, 63, 26, 92,142,178, 0, 0, 0, 0, 43, 4,114,179, 32, 59,141,178,
+ 1, 0,128, 63, 0, 0, 0, 0,135,255,127,177,130,214, 10, 40, 1, 0, 0,181, 0, 0,128, 63,214, 14, 29, 63, 22, 40, 74,191,
+113,210,157,187, 0, 0, 0, 0, 85, 76, 52,191,228,198, 12,191,137,223,229, 62, 0, 0, 0, 0,154,225,182,190,205, 74,139,190,
+157,190,100,191, 0, 0, 0, 0,213, 36,158,192,107,186,110,192,102, 43,169,193, 0, 0,128, 63,214, 14, 29, 63, 22, 40, 74,191,
+113,210,157,187, 0, 0, 0, 0, 85, 76, 52,191,228,198, 12,191,137,223,229, 62, 0, 0, 0, 0,154,225,182,190,205, 74,139,190,
+157,190,100,191, 0, 0, 0, 0,213, 36,158,192,107,186,110,192,102, 43,169,193, 0, 0,128, 63, 0, 8, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0,120,189, 51, 3, 0, 0, 0, 0,116, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,184, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 79, 66,116,101,120,116,117,114,101, 0,114,101,118,105,101,119, 46, 48, 48, 53, 0, 0, 0, 0, 1, 0, 0, 4,
+ 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 8,202, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
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, 8, 87,179, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,197,211,188, 76,229, 59, 65,
-208,106,184, 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,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247,215, 98,191, 71, 11, 72, 63,230,248, 6, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 14, 29, 63,149,225,182, 62, 84, 76, 52,191, 0, 0, 0, 0, 22, 40, 74,191,
-201, 74,139, 62,228,198, 12,191, 0, 0, 0, 0, 84,213,157,187,151,190,100, 63,145,223,229, 62, 0, 0, 0, 0,192,197,211,188,
- 76,229, 59, 65,208,106,184, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232,194, 51, 3, 0, 0, 0, 0, 56,195, 51, 3, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 61, 16,183,188,
+ 21,204,103,191, 48,234,228, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+153, 39,155, 64,153, 39,155, 64,153, 39,155, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,218, 15,201, 63, 0, 0,192, 37,
+255,255,255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,147, 39, 25, 51, 43, 47, 63,179, 0, 0, 0, 0, 9,108,247, 50,
- 0, 0,128, 63, 26, 92,142,178, 0, 0, 0, 0, 43, 4,114,179, 32, 59,141,178, 1, 0,128, 63, 0, 0, 0, 0,135,255,127,177,
-130,214, 10, 40, 1, 0, 0,181, 0, 0,128, 63,213, 14, 29, 63, 23, 40, 74,191,254,211,157,187, 0, 0, 0, 0, 83, 76, 52,191,
-227,198, 12,191,148,223,229, 62, 0, 0, 0, 0,149,225,182,190,202, 74,139,190,152,190,100,191, 0, 0, 0, 0,208, 36,158,192,
-100,186,110,192, 99, 43,169,193, 0, 0,128, 63, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0,
- 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
- 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,152, 39, 27, 38,102,187,232,166, 0, 0, 0, 0,
+102,187,232, 38,157,134,196, 52,153, 39,155, 64, 0, 0, 0, 0,154, 39, 27, 38,153, 39,155,192,157,134,196, 52, 0, 0, 0, 0,
+ 61, 16,183,188, 21,204,103,191, 48,234,228, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,236, 48,206,152, 9, 66, 41, 24, 0, 0, 0, 0,
+216, 55, 60,152, 0, 0,128, 63, 88,133,105,166, 0, 0, 0, 0,226,159, 91,151, 64,218, 93, 38, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 25, 50, 83, 62,147,101,158, 36, 27, 50,211, 35, 0, 0, 0, 0,
+147,101,158,164, 25, 50, 83, 62,158, 59,174, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,175, 25, 50, 83, 62, 0, 0, 0, 0,
+236,251, 33, 59,135, 37, 40, 59,118, 71,238, 63, 0, 0,128, 63, 25, 50, 83, 62,147,101,158, 36, 27, 50,211, 35, 0, 0, 0, 0,
+147,101,158,164, 25, 50, 83, 62,158, 59,174, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,175, 25, 50, 83, 62, 0, 0, 0, 0,
+236,251, 33, 59,135, 37, 40, 59,118, 71,238, 63, 0, 0,128, 63, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0, 5, 4, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 0, 0, 92, 3, 0, 0,152, 60,181, 3,115, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 57,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 79, 66,116,101,120,116,117,114,101, 0,114,101,118,105,101,119, 46, 48, 48, 53, 0, 0, 0, 0,
- 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,170,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 64,181, 3, 96, 64,181, 3,
- 1, 0, 0, 0, 1, 0, 0, 0, 61, 16,183,188, 21,204,103,191, 48,234,228, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,153, 39,155, 64,153, 39,155, 64, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,218, 15,201, 63, 0, 0,192, 37,255,255,255, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153, 39,155, 64,
-152, 39, 27, 38,102,187,232,166, 0, 0, 0, 0,102,187,232, 38,157,134,196, 52,153, 39,155, 64, 0, 0, 0, 0,154, 39, 27, 38,
-153, 39,155,192,157,134,196, 52, 0, 0, 0, 0, 61, 16,183,188, 21,204,103,191, 48,234,228, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
-236, 48,206,152, 9, 66, 41, 24, 0, 0, 0, 0,216, 55, 60,152, 0, 0,128, 63, 88,133,105,166, 0, 0, 0, 0,226,159, 91,151,
- 64,218, 93, 38, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 25, 50, 83, 62,
-147,101,158, 36, 27, 50,211, 35, 0, 0, 0, 0,147,101,158,164, 25, 50, 83, 62, 59,119,189, 38, 0, 0, 0, 0, 0, 24, 44,173,
- 0,179,115,175, 25, 50, 83, 62, 0, 0, 0, 0,236,251, 33, 59, 88, 37, 40, 59,118, 71,238, 63, 0, 0,128, 63, 32, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,
-236, 81, 56, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 4, 4, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 40, 64,181, 3,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 96, 64,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 77, 65, 0, 0,112, 2, 0, 0,152, 64,181, 3, 42, 0, 0, 0, 1, 0, 0, 0, 64, 68,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 99,104,101, 99,107,101,114,100, 97,114,107, 0, 0, 0, 97,116,101,114,105, 97, 0, 0,
- 11, 0, 0, 0, 22, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,124, 36, 57, 62,187, 31, 57, 62,187, 31, 57, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63,154,153, 89, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 1, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0,
- 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 64, 1, 3, 0, 64, 1, 1, 0, 4, 0,
- 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,
-205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 16, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 56, 67,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 67,181, 3,
- 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 0, 0, 0, 56, 67,181, 3, 33, 0, 0, 0, 1, 0, 0, 0, 16, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,192, 63,
- 1, 0,192, 63, 1, 0,192, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,183,209, 56,184,177,209, 56,
-184,177,209, 56, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,240, 67,181, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0,112, 2, 0, 0,
- 64, 68,181, 3, 42, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3,152, 64,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 99,104,
-101, 99,107,101,114,108,105,103,104,116, 0, 0, 0, 97,116,101,114,105, 0, 0, 11, 0, 0, 0, 23, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,158, 56, 23, 63,187, 52, 23, 63,187, 52, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,154,153, 89, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,
- 2, 0, 2, 0, 1, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 64, 1, 3, 0, 64, 1, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63,
- 16, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,224, 70,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 71,181, 3, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 63,205,204, 76, 63,
-205,204, 76, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,232,194, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 56,195, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 77, 65, 0, 0, 32, 3, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,104,187,219, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 99,104,101, 99,107,101,
+114,100, 97,114,107, 0, 0, 0, 97,116,101,114,105, 97, 0, 0, 5, 0, 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,128,192,224, 60,224,181,224, 60,224,181,224, 60, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+154,153, 89, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0,
+ 1, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 4, 0, 67, 0, 64, 1, 67, 0, 64, 1, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 16, 8, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+248,198, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88,200, 51, 3, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,
+205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 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, 68, 65, 84, 65, 24, 1, 0, 0,
+248,198, 51, 3, 0, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,192, 63, 1, 0,192, 63,
+ 1, 0,192, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,183,209, 56,
+184,177,209, 56,184,177,209, 56, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0, 88,200, 51, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,200,200, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,200,200, 51, 3, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 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, 1, 1, 51, 1, 1, 1, 51, 2, 2, 2,153, 2, 2, 2,153,
+ 3, 3, 3,153, 2, 2, 2,102, 2, 2, 2,102, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 1, 51, 2, 2, 2,153, 3, 3, 3,204, 5, 5, 5,255, 5, 5, 5,255, 5, 5, 5,255, 5, 5, 5,255,
+ 5, 5, 5,255, 5, 5, 5,255, 5, 5, 5,255, 5, 5, 5,255, 5, 5, 5,255, 2, 2, 2,102, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 1, 1, 51,
+ 2, 2, 2,153, 4, 4, 4,255, 5, 5, 5,255, 5, 5, 5,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255,
+ 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 5, 5, 5,255, 4, 4, 4,204,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,102, 4, 4, 4,204,
+ 5, 5, 5,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255,
+ 5, 5, 5,255, 2, 2, 2,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,153, 5, 5, 5,255, 6, 6, 6,255,
+ 6, 6, 6,255, 6, 6, 6,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255,
+ 6, 6, 6,255, 6, 6, 6,255, 3, 3, 3,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,102, 5, 5, 5,255, 6, 6, 6,255, 6, 6, 6,255,
+ 7, 7, 7,255, 7, 7, 7,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255,
+ 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 3, 3, 3,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,102, 5, 5, 5,255, 6, 6, 6,255, 7, 7, 7,255, 7, 7, 7,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 2, 2, 2,102, 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, 4, 4,204, 6, 6, 6,255, 7, 7, 7,255, 7, 7, 7,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 6, 6, 6,255, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,102, 6, 6, 6,255, 7, 7, 7,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 5, 5, 5,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6,255, 7, 7, 7,255, 8, 8, 8,255, 8, 8, 8,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 2, 2, 2,102, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 2, 2,102, 7, 7, 7,255, 8, 8, 8,255, 8, 8, 8,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 5, 5, 5,204, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5, 5, 5,204, 7, 7, 7,255, 8, 8, 8,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 6, 6, 6,255, 0, 0, 0, 0,
+ 2, 2, 2,102, 7, 7, 7,255, 8, 8, 8,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 3, 3, 3,102,
+ 2, 2, 2,102, 7, 7, 7,255, 8, 8, 8,255, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 6, 6, 6,255, 4, 4, 4,153,
+ 3, 3, 3,102, 8, 8, 8,255, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 5, 5, 5,204,
+ 4, 4, 4,153, 8, 8, 8,255, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 5, 5, 5,204,
+ 4, 4, 4,153, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 5, 5, 5,204,
+ 4, 4, 4,153, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 4, 4, 4,153,
+ 3, 3, 3,102, 9, 9, 9,255, 10, 10, 10,255, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 7, 7, 7,255, 4, 4, 4,153,
+ 2, 2, 2, 51, 9, 9, 9,255, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 3, 3, 3,102,
+ 0, 0, 0, 0, 9, 9, 9,255, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 7, 7, 7,255, 1, 1, 1, 51,
+ 0, 0, 0, 0, 5, 5, 5,153, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 4, 4, 4,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 2, 2, 51, 10, 10, 10,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 4, 4, 4,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8,204, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 12, 12, 12,255, 12, 12, 12,255,
+ 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 6, 6, 6,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 51, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 12, 12, 12,255, 12, 12, 12,255,
+ 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 7, 7, 7,255, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4,102, 11, 11, 11,255, 11, 11, 11,255, 12, 12, 12,255, 12, 12, 12,255,
+ 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 8, 8, 8,255, 4, 4, 4,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6,153, 11, 11, 11,255, 11, 11, 11,255, 12, 12, 12,255,
+ 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 8, 8, 8,255, 5, 5, 5,153, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6,153, 11, 11, 11,255, 11, 11, 11,255,
+ 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255,
+ 9, 9, 9,255, 8, 8, 8,255, 6, 6, 6,204, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6,153, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 8, 8, 8,255, 5, 5, 5,153, 1, 1, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 7, 7, 7,204,
+ 3, 3, 3,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 6, 6,153, 8, 8, 8,204, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255, 11, 11, 11,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 7, 7, 7,204, 3, 3, 3,102, 1, 1, 1, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 4,102, 6, 6, 6,153, 6, 6, 6,153, 8, 8, 8,204,
+ 8, 8, 8,204, 8, 8, 8,204, 5, 5, 5,153, 4, 4, 4,102, 2, 2, 2, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 65, 0, 0, 32, 3, 0, 0, 24,217, 51, 3, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0,
+136,195, 51, 3, 0, 0, 0, 0,168, 1,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 99,104,101, 99,107,101,
+114,108,105,103,104,116, 0, 0, 0, 97,116,101,114,105, 0, 0, 8, 0, 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, 15,153,157, 62, 40,144,157, 62, 40,144,157, 62, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+154,153, 89, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 2, 0, 2, 0,
+ 1, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 4, 0, 67, 0, 64, 1, 67, 0, 64, 1, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 16, 8, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+136,220, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-136, 0, 0, 0,224, 70,181, 3, 33, 0, 0, 0, 1, 0, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 93,181, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,183,209, 56,184,177,209, 56,184,177,209, 56, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-152, 71,181, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0,112, 2, 0, 0,232, 71,181, 3, 42, 0, 0, 0, 1, 0, 0, 0,
-200, 78,181, 3, 64, 68,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65,112,114,101,118,105,101,119, 0, 0, 97,116,101,114,105,
- 97,108, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 61,232, 54, 63,184,161, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,188,248, 68, 62,
- 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,198,121,130, 63, 0, 0,160, 63,
- 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63,
- 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 17, 3,
- 3, 0, 17, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,
-205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 16, 8, 1, 0, 64, 75,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,136, 74,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,120, 78,181, 3, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 61,205,204,204, 61,
-102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,136, 0, 0, 0,136, 74,181, 3, 33, 0, 0, 0,
- 1, 0, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 91,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 68, 65, 84, 65, 8, 3, 0, 0, 64, 75,181, 3, 36, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232,221, 51, 3, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,
+205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 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, 68, 65, 84, 65, 24, 1, 0, 0,
+136,220, 51, 3, 0, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+120, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,183,209, 56,
+184,177,209, 56,184,177,209, 56, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 40, 0, 0, 0,232,221, 51, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 88,222, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0, 88,222, 51, 3, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 51, 6, 6, 6, 51, 18, 18, 18,153, 19, 19, 19,153,
+ 19, 19, 19,153, 13, 13, 13,102, 13, 13, 13,102, 6, 6, 6, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 6, 6, 6, 51, 18, 18, 18,153, 26, 26, 26,204, 34, 34, 34,255, 35, 35, 35,255, 37, 37, 37,255, 38, 38, 38,255,
+ 38, 38, 38,255, 38, 38, 38,255, 38, 38, 38,255, 37, 37, 37,255, 36, 36, 36,255, 15, 15, 15,102, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 51,
+ 18, 18, 18,153, 33, 33, 33,255, 37, 37, 37,255, 40, 40, 40,255, 42, 42, 42,255, 43, 43, 43,255, 44, 44, 44,255, 44, 44, 44,255,
+ 45, 45, 45,255, 44, 44, 44,255, 43, 43, 43,255, 43, 43, 43,255, 42, 42, 42,255, 41, 41, 41,255, 40, 40, 40,255, 29, 29, 29,204,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12,102, 28, 28, 28,204,
+ 38, 38, 38,255, 42, 42, 42,255, 45, 45, 45,255, 47, 47, 47,255, 48, 48, 48,255, 49, 49, 49,255, 50, 50, 50,255, 50, 50, 50,255,
+ 50, 50, 50,255, 50, 50, 50,255, 49, 49, 49,255, 48, 48, 48,255, 47, 47, 47,255, 46, 46, 46,255, 45, 45, 45,255, 44, 44, 44,255,
+ 41, 41, 41,255, 16, 16, 16,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18,153, 36, 36, 36,255, 42, 42, 42,255,
+ 45, 45, 45,255, 48, 48, 48,255, 51, 51, 51,255, 53, 53, 53,255, 54, 54, 54,255, 55, 55, 55,255, 55, 55, 55,255, 56, 56, 56,255,
+ 56, 56, 56,255, 55, 55, 55,255, 55, 55, 55,255, 54, 54, 54,255, 53, 53, 53,255, 52, 52, 52,255, 50, 50, 50,255, 48, 48, 48,255,
+ 46, 46, 46,255, 44, 44, 44,255, 24, 24, 24,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14,102, 38, 38, 38,255, 44, 44, 44,255, 48, 48, 48,255,
+ 52, 52, 52,255, 54, 54, 54,255, 56, 56, 56,255, 58, 58, 58,255, 59, 59, 59,255, 60, 60, 60,255, 60, 60, 60,255, 61, 61, 61,255,
+ 61, 61, 61,255, 60, 60, 60,255, 60, 60, 60,255, 59, 59, 59,255, 58, 58, 58,255, 57, 57, 57,255, 55, 55, 55,255, 53, 53, 53,255,
+ 51, 51, 51,255, 48, 48, 48,255, 46, 46, 46,255, 25, 25, 25,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 39, 39, 39,255, 46, 46, 46,255, 50, 50, 50,255, 54, 54, 54,255,
+ 57, 57, 57,255, 59, 59, 59,255, 61, 61, 61,255, 63, 63, 63,255, 64, 64, 64,255, 65, 65, 65,255, 65, 65, 65,255, 66, 66, 66,255,
+ 66, 66, 66,255, 65, 65, 65,255, 65, 65, 65,255, 64, 64, 64,255, 63, 63, 63,255, 62, 62, 62,255, 60, 60, 60,255, 58, 58, 58,255,
+ 56, 56, 56,255, 53, 53, 53,255, 50, 50, 50,255, 47, 47, 47,255, 17, 17, 17,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32,204, 46, 46, 46,255, 52, 52, 52,255, 56, 56, 56,255, 59, 59, 59,255,
+ 62, 62, 62,255, 64, 64, 64,255, 66, 66, 66,255, 67, 67, 67,255, 69, 69, 69,255, 70, 70, 70,255, 70, 70, 70,255, 70, 70, 70,255,
+ 70, 70, 70,255, 70, 70, 70,255, 69, 69, 69,255, 68, 68, 68,255, 68, 68, 68,255, 66, 66, 66,255, 65, 65, 65,255, 63, 63, 63,255,
+ 60, 60, 60,255, 58, 58, 58,255, 54, 54, 54,255, 51, 51, 51,255, 47, 47, 47,255, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16,102, 46, 46, 46,255, 52, 52, 52,255, 57, 57, 57,255, 61, 61, 61,255, 64, 63, 63,255,
+ 66, 66, 66,255, 69, 69, 69,255, 71, 70, 70,255, 72, 72, 72,255, 73, 73, 73,255, 74, 74, 74,255, 75, 75, 75,255, 75, 75, 75,255,
+ 75, 75, 75,255, 75, 74, 74,255, 73, 73, 73,255, 73, 73, 73,255, 72, 72, 72,255, 71, 71, 71,255, 69, 69, 69,255, 67, 67, 67,255,
+ 65, 65, 65,255, 62, 62, 62,255, 59, 59, 59,255, 55, 55, 55,255, 52, 52, 52,255, 38, 38, 38,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 43, 43, 43,255, 52, 52, 52,255, 57, 57, 57,255, 61, 61, 61,255, 65, 65, 65,255, 68, 68, 68,255,
+ 71, 71, 71,255, 73, 73, 73,255, 75, 75, 75,255, 77, 77, 77,255, 78, 78, 78,255, 79, 78, 78,255, 79, 79, 79,255, 79, 79, 79,255,
+ 79, 79, 79,255, 79, 79, 79,255, 78, 78, 78,255, 77, 77, 77,255, 76, 76, 76,255, 75, 75, 75,255, 73, 73, 73,255, 71, 71, 71,255,
+ 70, 70, 70,255, 67, 67, 67,255, 64, 64, 64,255, 59, 59, 59,255, 55, 55, 55,255, 51, 51, 51,255, 18, 18, 18,102, 0, 0, 0, 0,
+ 0, 0, 0, 0, 17, 17, 17,102, 50, 50, 50,255, 56, 56, 56,255, 62, 61, 61,255, 66, 66, 66,255, 69, 69, 69,255, 73, 73, 73,255,
+ 75, 75, 75,255, 77, 77, 77,255, 79, 79, 79,255, 81, 81, 81,255, 82, 82, 82,255, 83, 83, 83,255, 84, 84, 84,255, 84, 84, 84,255,
+ 84, 84, 84,255, 83, 83, 83,255, 83, 83, 83,255, 82, 82, 82,255, 80, 80, 80,255, 79, 79, 79,255, 78, 78, 78,255, 77, 77, 77,255,
+ 74, 74, 74,255, 71, 71, 71,255, 68, 68, 68,255, 64, 64, 64,255, 59, 59, 59,255, 54, 54, 54,255, 40, 40, 40,204, 0, 0, 0, 0,
+ 0, 0, 0, 0, 37, 37, 37,204, 55, 55, 55,255, 61, 61, 61,255, 66, 66, 66,255, 70, 70, 70,255, 73, 73, 73,255, 77, 77, 77,255,
+ 79, 79, 79,255, 81, 81, 81,255, 84, 84, 84,255, 85, 85, 85,255, 87, 87, 87,255, 87, 87, 87,255, 88, 88, 88,255, 89, 89, 89,255,
+ 88, 88, 88,255, 88, 88, 88,255, 87, 87, 87,255, 88, 88, 88,255, 84, 84, 84,255, 83, 83, 83,255, 83, 83, 83,255, 81, 81, 81,255,
+ 79, 79, 79,255, 76, 76, 76,255, 72, 72, 72,255, 68, 68, 68,255, 63, 63, 63,255, 57, 57, 57,255, 52, 52, 52,255, 0, 0, 0, 0,
+ 14, 14, 14,102, 50, 50, 50,255, 59, 59, 59,255, 65, 65, 65,255, 70, 70, 70,255, 74, 74, 74,255, 78, 78, 78,255, 81, 81, 81,255,
+ 84, 84, 84,255, 86, 86, 86,255, 88, 88, 88,255, 90, 90, 90,255, 91, 91, 91,255, 92, 92, 92,255, 92, 92, 92,255, 93, 93, 93,255,
+ 94, 94, 94,255, 93, 93, 93,255, 93, 93, 93,255, 95, 95, 95,255, 90, 90, 90,255, 90, 90, 90,255, 89, 89, 89,255, 86, 86, 86,255,
+ 83, 83, 83,255, 80, 80, 80,255, 77, 77, 77,255, 72, 72, 72,255, 67, 67, 67,255, 61, 61, 61,255, 55, 55, 55,255, 20, 20, 20,102,
+ 18, 18, 18,102, 54, 54, 54,255, 63, 63, 63,255, 69, 69, 69,255, 74, 74, 74,255, 78, 78, 78,255, 82, 82, 82,255, 85, 85, 85,255,
+ 87, 87, 87,255, 90, 90, 90,255, 92, 92, 92,255, 93, 93, 93,255, 95, 95, 95,255, 96, 96, 96,255, 97, 97, 97,255, 98, 98, 98,255,
+100,100,100,255, 99, 99, 99,255, 98, 98, 98,255, 96, 96, 96,255, 95, 95, 95,255, 93, 93, 93,255, 91, 91, 91,255, 89, 89, 89,255,
+ 87, 87, 87,255, 85, 85, 85,255, 81, 81, 81,255, 76, 76, 76,255, 70, 70, 70,255, 64, 64, 64,255, 58, 58, 58,255, 31, 31, 31,153,
+ 20, 20, 20,102, 59, 59, 59,255, 66, 66, 66,255, 73, 73, 73,255, 77, 77, 77,255, 82, 81, 81,255, 85, 85, 85,255, 88, 88, 88,255,
+ 91, 91, 91,255, 94, 94, 94,255, 96, 96, 96,255, 98, 98, 98,255,100,100,100,255,101,101,101,255,102,102,102,255,103,103,103,255,
+103,103,103,255,102,102,102,255,100,100,100,255, 99, 99, 99,255, 97, 97, 97,255, 95, 95, 95,255, 93, 93, 93,255, 91, 91, 91,255,
+ 89, 89, 89,255, 87, 87, 87,255, 84, 84, 84,255, 79, 79, 79,255, 74, 74, 74,255, 67, 67, 67,255, 61, 61, 61,255, 43, 43, 43,204,
+ 32, 32, 32,153, 62, 62, 62,255, 70, 70, 70,255, 76, 76, 76,255, 81, 81, 81,255, 85, 85, 85,255, 89, 89, 89,255, 92, 92, 92,255,
+ 95, 95, 95,255, 98, 97, 97,255,100,100,100,255,102,102,102,255,104,104,104,255,105,105,105,255,107,107,107,255,107,107,107,255,
+106,106,106,255,104,104,104,255,102,102,102,255,100,100,100,255, 99, 99, 99,255, 97, 97, 97,255, 95, 95, 95,255, 93, 93, 93,255,
+ 91, 91, 91,255, 88, 88, 88,255, 86, 86, 86,255, 83, 83, 83,255, 77, 77, 77,255, 70, 70, 70,255, 63, 63, 63,255, 44, 44, 44,204,
+ 32, 32, 32,153, 64, 64, 64,255, 72, 72, 72,255, 79, 79, 79,255, 84, 84, 84,255, 88, 88, 88,255, 92, 92, 92,255, 96, 95, 95,255,
+ 98, 98, 98,255,101,101,101,255,103,103,103,255,106,106,106,255,107,107,107,255,109,109,109,255,111,111,111,255,109,109,109,255,
+108,108,108,255,106,106,106,255,104,104,104,255,102,102,102,255,100,100,100,255, 98, 98, 98,255, 96, 96, 96,255, 94, 94, 94,255,
+ 92, 92, 92,255, 90, 90, 90,255, 87, 87, 87,255, 85, 85, 85,255, 79, 79, 79,255, 73, 73, 73,255, 65, 65, 65,255, 45, 45, 45,204,
+ 33, 33, 33,153, 67, 67, 67,255, 75, 75, 75,255, 81, 81, 81,255, 87, 87, 87,255, 91, 91, 91,255, 95, 95, 95,255, 98, 98, 98,255,
+102,102,102,255,104,104,104,255,107,107,107,255,109,109,109,255,111,111,111,255,113,113,113,255,113,113,113,255,111,111,111,255,
+109,109,109,255,108,108,108,255,106,106,106,255,104,104,104,255,102,102,102,255,100,100,100,255, 98, 98, 98,255, 96, 96, 96,255,
+ 93, 93, 93,255, 91, 91, 91,255, 88, 88, 88,255, 86, 86, 86,255, 81, 81, 81,255, 74, 74, 74,255, 67, 67, 67,255, 35, 35, 35,153,
+ 22, 22, 22,102, 68, 68, 68,255, 77, 77, 77,255, 84, 84, 84,255, 89, 89, 89,255, 94, 94, 94,255, 98, 98, 98,255,101,101,101,255,
+105,105,105,255,108,108,108,255,110,110,110,255,112,112,112,255,115,114,114,255,116,116,116,255,115,115,115,255,113,113,113,255,
+111,111,111,255,110,110,110,255,108,108,108,255,106,106,106,255,104,104,104,255,101,101,101,255, 99, 99, 99,255, 97, 97, 97,255,
+ 95, 95, 95,255, 92, 92, 92,255, 90, 89, 89,255, 87, 87, 87,255, 83, 83, 83,255, 76, 76, 76,255, 68, 68, 68,255, 36, 36, 36,153,
+ 11, 11, 11, 51, 68, 68, 68,255, 78, 78, 78,255, 86, 86, 86,255, 91, 91, 91,255, 96, 96, 96,255,101,101,101,255,104,104,104,255,
+107,107,107,255,110,110,110,255,113,113,113,255,115,115,115,255,117,117,117,255,118,118,118,255,117,117,117,255,115,115,115,255,
+113,113,113,255,111,111,111,255,109,109,109,255,107,107,107,255,105,105,105,255,103,103,103,255,101,101,101,255, 98, 98, 98,255,
+ 96, 96, 96,255, 93, 93, 93,255, 90, 90, 90,255, 88, 87, 87,255, 84, 84, 84,255, 77, 77, 77,255, 68, 68, 68,255, 23, 23, 23,102,
+ 0, 0, 0, 0, 68, 68, 68,255, 79, 79, 79,255, 87, 87, 87,255, 93, 93, 93,255, 98, 98, 98,255,103,103,103,255,106,106,106,255,
+110,110,110,255,113,113,113,255,115,115,115,255,118,118,118,255,120,120,120,255,120,120,120,255,119,119,119,255,117,117,117,255,
+115,115,115,255,113,113,113,255,111,111,111,255,109,109,109,255,106,106,106,255,104,104,104,255,102,102,102,255, 99, 99, 99,255,
+ 97, 97, 97,255, 94, 94, 94,255, 91, 91, 91,255, 88, 88, 88,255, 84, 84, 84,255, 77, 77, 77,255, 67, 67, 67,255, 11, 11, 11, 51,
+ 0, 0, 0, 0, 41, 41, 41,153, 79, 79, 79,255, 88, 88, 88,255, 94, 94, 94,255,100,100,100,255,104,104,104,255,108,108,108,255,
+112,112,112,255,115,115,115,255,118,118,118,255,120,120,120,255,122,122,122,255,122,122,122,255,120,120,120,255,119,119,119,255,
+117,117,117,255,115,115,115,255,112,112,112,255,110,110,110,255,108,108,108,255,105,105,105,255,103,103,103,255,100,100,100,255,
+ 98, 98, 98,255, 95, 95, 95,255, 92, 92, 92,255, 89, 89, 89,255, 85, 84, 84,255, 76, 76, 76,255, 41, 41, 41,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 14, 14, 14, 51, 78, 78, 78,255, 88, 88, 88,255, 95, 95, 95,255,101,101,101,255,106,106,106,255,110,110,110,255,
+114,114,114,255,117,117,117,255,120,119,119,255,122,122,122,255,124,124,124,255,124,124,124,255,122,122,122,255,120,120,120,255,
+118,118,118,255,116,116,116,255,114,114,114,255,111,111,111,255,109,109,109,255,106,106,106,255,104,104,104,255,101,101,101,255,
+ 98, 98, 98,255, 95, 95, 95,255, 92, 92, 92,255, 89, 89, 89,255, 84, 84, 84,255, 75, 75, 75,255, 37, 37, 37,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 59,204, 87, 87, 87,255, 95, 95, 95,255,101,101,101,255,106,106,106,255,111,111,111,255,
+114,114,114,255,118,118,118,255,121,121,121,255,123,123,123,255,125,125,125,255,125,125,125,255,124,124,124,255,122,122,122,255,
+120,120,120,255,117,117,117,255,115,115,115,255,112,112,112,255,110,110,110,255,107,107,107,255,104,104,104,255,102,102,102,255,
+ 99, 98, 98,255, 95, 95, 95,255, 92, 92, 92,255, 89, 89, 89,255, 82, 82, 82,255, 57, 57, 57,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 14, 14, 14, 51, 84, 84, 84,255, 93, 93, 93,255,101,101,101,255,106,106,106,255,111,111,111,255,
+115,115,115,255,118,118,118,255,121,121,121,255,124,124,124,255,126,126,126,255,126,126,126,255,125,125,125,255,123,123,123,255,
+121,121,121,255,118,118,118,255,116,116,116,255,113,113,113,255,111,111,111,255,108,108,108,255,105,105,105,255,102,102,102,255,
+ 99, 99, 99,255, 95, 95, 95,255, 92, 92, 92,255, 88, 88, 88,255, 78, 78, 78,255, 15, 15, 15, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32,102, 91, 91, 91,255, 99, 99, 99,255,106,106,106,255,111,111,111,255,
+115,115,115,255,119,119,119,255,122,122,122,255,124,124,124,255,126,126,126,255,127,127,127,255,126,126,126,255,124,124,124,255,
+121,121,121,255,119,119,119,255,117,116,116,255,114,114,114,255,111,111,111,255,108,108,108,255,105,105,105,255,102,102,102,255,
+ 98, 98, 98,255, 95, 95, 95,255, 91, 91, 91,255, 84, 84, 84,255, 45, 45, 45,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 51, 51,153, 95, 95, 95,255,103,103,103,255,109,109,109,255,
+114,114,114,255,118,118,118,255,121,121,121,255,124,124,124,255,126,126,126,255,128,128,128,255,126,126,126,255,124,124,124,255,
+122,122,122,255,119,119,119,255,117,117,117,255,114,114,114,255,111,111,111,255,108,108,108,255,104,104,104,255,101,101,101,255,
+ 98, 98, 98,255, 94, 94, 94,255, 88, 88, 88,255, 49, 49, 49,153, 12, 12, 12, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,153, 98, 98, 98,255,106,106,106,255,
+112,112,112,255,116,116,116,255,119,119,119,255,122,122,122,255,125,125,125,255,127,127,127,255,126,126,126,255,124,124,124,255,
+122,122,122,255,119,119,119,255,116,116,116,255,113,113,113,255,110,110,110,255,107,107,107,255,104,104,104,255,100,100,100,255,
+ 96, 96, 96,255, 91, 91, 91,255, 66, 66, 66,204, 15, 15, 15, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 54, 54,153,100,100,100,255,
+107,107,107,255,113,113,113,255,117,117,117,255,120,120,120,255,122,122,122,255,124,124,124,255,125,125,125,255,123,123,123,255,
+121,121,121,255,118,118,118,255,116,115,115,255,112,112,112,255,109,109,109,255,105,105,105,255,102,102,102,255, 97, 97, 97,255,
+ 92, 92, 92,255, 51, 51, 51,153, 15, 15, 15, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 97, 97, 97,255,106,106,106,255,112,112,112,255,115,115,115,255,118,118,118,255,121,121,121,255,122,122,122,255,121,121,121,255,
+119,119,119,255,117,117,117,255,114,114,114,255,111,111,111,255,107,107,107,255,103,103,103,255, 98, 98, 98,255, 74, 74, 74,204,
+ 35, 35, 35,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 56, 56,153, 80, 80, 80,204,106,106,106,255,111,111,111,255,114,114,114,255,116,116,116,255,117,117,117,255,
+116,116,116,255,113,113,113,255,110,110,110,255,106,106,106,255,102,102,102,255, 78, 78, 78,204, 38, 38, 38,102, 15, 15, 15, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 39, 39,102, 62, 62, 62,153, 64, 64, 64,153, 86, 86, 86,204,
+ 86, 86, 86,204, 84, 84, 84,204, 61, 61, 61,153, 40, 40, 40,102, 19, 19, 19, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 65, 0, 0, 32, 3, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0,136, 7, 52, 3, 0, 0, 0, 0,
+ 24,217, 51, 3, 0, 0, 0, 0,168, 1,222, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65,112,114,101,118,105,101,
+119, 0, 0, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 5, 0, 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,128, 63, 30, 18,240, 62,246,137,158, 62, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,188,248, 68, 62, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+198,121,130, 63, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 2, 0, 2, 0,
+ 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 4, 0, 67, 0, 16, 3, 67, 0, 16, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 16, 8, 1, 0,
+120,243, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 24,242, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200,246, 51, 3, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,
+205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 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, 68, 65, 84, 65, 24, 1, 0, 0,
+ 24,242, 51, 3, 0, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 23, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 8, 3, 0, 0,120,243, 51, 3, 0, 0, 0, 0, 27, 0, 0, 0, 1, 0, 0, 0,
0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 40,220, 62, 0, 0, 0, 0,
-164,112,125, 63, 0, 0,128, 63,106,214, 24, 63, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 3, 55,122, 63, 0, 0,128, 63, 96, 82,161, 62, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
@@ -5678,36 +5645,229 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120, 78,181, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0,
-112, 2, 0, 0,200, 78,181, 3, 42, 0, 0, 0, 1, 0, 0, 0,168, 85,181, 3,232, 71,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 65,116,101,120,116,117,114,101, 0,114,101,118,105,101,119, 46, 48, 48, 49, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,246, 51, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 56,247, 51, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0, 56,247, 51, 3, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 51, 2, 1, 1, 51, 6, 3, 4,153, 6, 2, 4,153,
+ 5, 1, 4,153, 3, 1, 3,102, 3, 0, 3,102, 2, 0, 2, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 1, 51, 8, 7, 3,153, 11, 9, 5,204, 13, 9, 6,255, 12, 8, 7,255, 11, 6, 7,255, 11, 5, 7,255,
+ 10, 4, 7,255, 9, 3, 6,255, 9, 2, 7,255, 10, 2, 7,255, 10, 2, 8,255, 4, 1, 3,102, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 3, 1, 51,
+ 11, 10, 4,153, 20, 16, 8,255, 23, 15, 12,255, 25, 13, 15,255, 25, 11, 18,255, 24, 9, 18,255, 22, 7, 17,255, 20, 7, 15,255,
+ 17, 6, 12,255, 14, 5, 9,255, 11, 4, 6,255, 10, 4, 5,255, 10, 4, 5,255, 11, 4, 5,255, 12, 4, 5,255, 9, 3, 5,204,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 7, 3,102, 23, 17, 8,204,
+ 33, 22, 14,255, 37, 20, 21,255, 38, 16, 26,255, 39, 13, 30,255, 38, 11, 31,255, 36, 9, 30,255, 34, 9, 27,255, 31, 9, 22,255,
+ 28, 9, 17,255, 24, 9, 13,255, 21, 9, 10,255, 17, 8, 7,255, 14, 6, 5,255, 11, 5, 3,255, 11, 5, 4,255, 12, 6, 4,255,
+ 13, 6, 4,255, 5, 2, 2,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 13, 5,153, 36, 26, 12,255, 45, 28, 19,255,
+ 48, 25, 26,255, 51, 20, 33,255, 51, 16, 39,255, 51, 12, 42,255, 48, 10, 42,255, 46, 10, 39,255, 44, 10, 34,255, 41, 12, 28,255,
+ 38, 13, 22,255, 34, 14, 16,255, 31, 14, 12,255, 27, 13, 9,255, 23, 11, 7,255, 19, 9, 6,255, 14, 7, 5,255, 12, 5, 4,255,
+ 13, 6, 4,255, 13, 6, 4,255, 7, 3, 3,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 11, 5,102, 45, 31, 15,255, 54, 34, 20,255, 59, 31, 28,255,
+ 61, 26, 36,255, 61, 20, 44,255, 61, 15, 50,255, 60, 11, 52,255, 58, 10, 52,255, 56, 10, 48,255, 53, 12, 41,255, 51, 15, 33,255,
+ 48, 17, 25,255, 44, 19, 18,255, 40, 19, 14,255, 37, 18, 11,255, 32, 15, 10,255, 28, 12, 10,255, 24, 9, 10,255, 19, 7, 9,255,
+ 14, 5, 7,255, 13, 5, 6,255, 13, 5, 5,255, 7, 4, 2,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 9, 7,102, 50, 33, 17,255, 61, 39, 20,255, 67, 37, 26,255, 70, 32, 36,255,
+ 71, 26, 46,255, 72, 19, 54,255, 71, 14, 60,255, 69, 10, 62,255, 68, 9, 61,255, 66, 10, 56,255, 63, 13, 48,255, 60, 17, 39,255,
+ 56, 21, 28,255, 53, 23, 21,255, 49, 23, 16,255, 46, 22, 15,255, 42, 18, 16,255, 37, 14, 17,255, 33, 10, 18,255, 28, 7, 17,255,
+ 22, 5, 14,255, 15, 3, 10,255, 13, 3, 8,255, 12, 5, 6,255, 5, 3, 2,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 26, 18,204, 66, 41, 21,255, 73, 43, 25,255, 78, 40, 33,255, 80, 34, 43,255,
+ 80, 26, 53,255, 80, 19, 62,255, 80, 13, 69,255, 78, 10, 71,255, 76, 8, 71,255, 74, 10, 65,255, 71, 13, 57,255, 68, 18, 45,255,
+ 65, 24, 32,255, 61, 27, 23,255, 57, 27, 18,255, 53, 25, 18,255, 49, 19, 22,255, 45, 14, 25,255, 41, 9, 27,255, 36, 5, 28,255,
+ 30, 4, 25,255, 23, 2, 20,255, 16, 2, 13,255, 12, 2, 9,255, 12, 5, 6,255, 3, 3, 1, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 23, 11, 12,102, 68, 38, 26,255, 78, 46, 25,255, 83, 46, 28,255, 84, 42, 36,255, 84, 35, 45,255,
+ 84, 27, 55,255, 84, 20, 64,255, 83, 14, 71,255, 82, 9, 75,255, 81, 7, 75,255, 79, 8, 72,255, 78, 12, 63,255, 76, 19, 51,255,
+ 73, 25, 39,255, 69, 30, 26,255, 65, 31, 20,255, 61, 27, 22,255, 57, 19, 29,255, 53, 11, 36,255, 48, 6, 39,255, 43, 3, 39,255,
+ 37, 1, 36,255, 31, 1, 30,255, 24, 1, 23,255, 15, 1, 14,255, 12, 2, 9,255, 10, 5, 5,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 29, 35,255, 81, 44, 29,255, 85, 49, 27,255, 86, 48, 29,255, 87, 43, 36,255, 87, 37, 45,255,
+ 87, 29, 55,255, 86, 22, 64,255, 86, 15, 72,255, 85, 11, 77,255, 83, 8, 78,255, 82, 7, 76,255, 81, 10, 70,255, 79, 15, 59,255,
+ 77, 22, 47,255, 76, 31, 31,255, 72, 34, 23,255, 68, 30, 24,255, 64, 21, 33,255, 60, 8, 48,255, 55, 2, 52,255, 50, 1, 49,255,
+ 44, 0, 44,255, 38, 0, 38,255, 31, 0, 30,255, 22, 0, 22,255, 12, 1, 12,255, 12, 4, 9,255, 6, 5, 2,102, 0, 0, 0, 0,
+ 0, 0, 0, 0, 27, 8, 19,102, 79, 34, 41,255, 86, 46, 31,255, 88, 50, 28,255, 89, 50, 30,255, 90, 46, 36,255, 90, 41, 44,255,
+ 90, 34, 53,255, 89, 27, 62,255, 89, 20, 69,255, 87, 14, 76,255, 86, 10, 79,255, 85, 8, 80,255, 83, 8, 75,255, 82, 12, 67,255,
+ 80, 20, 54,255, 78, 31, 35,255, 77, 36, 24,255, 75, 33, 27,255, 71, 20, 42,255, 66, 5, 60,255, 61, 0, 61,255, 56, 1, 55,255,
+ 51, 3, 47,255, 44, 2, 41,255, 37, 1, 35,255, 29, 1, 28,255, 18, 0, 18,255, 12, 2, 10,255, 11, 6, 6,204, 0, 0, 0, 0,
+ 0, 0, 0, 0, 58, 15, 43,204, 85, 36, 43,255, 89, 47, 33,255, 91, 52, 29,255, 93, 53, 30,255, 93, 51, 34,255, 94, 47, 41,255,
+ 93, 41, 49,255, 93, 34, 58,255, 92, 26, 66,255, 91, 20, 73,255, 89, 14, 79,255, 88, 10, 81,255, 86, 9, 79,255, 85, 10, 74,255,
+ 83, 16, 62,255, 81, 26, 45,255, 79, 34, 31,255, 78, 24, 43,255, 76, 11, 61,255, 73, 2, 71,255, 68, 3, 63,255, 63, 8, 51,255,
+ 56, 9, 43,255, 50, 9, 37,255, 43, 6, 33,255, 35, 4, 30,255, 25, 1, 23,255, 13, 1, 13,255, 13, 6, 9,255, 0, 0, 0, 0,
+ 17, 2, 15,102, 79, 18, 60,255, 88, 37, 46,255, 92, 49, 35,255, 95, 56, 31,255, 96, 58, 30,255, 97, 57, 33,255, 98, 54, 39,255,
+ 98, 49, 46,255, 97, 42, 54,255, 96, 35, 61,255, 95, 28, 68,255, 93, 22, 74,255, 91, 16, 79,255, 89, 12, 82,255, 88, 10, 81,255,
+ 86, 9, 78,255, 84, 14, 67,255, 82, 18, 58,255, 80, 2, 78,255, 78, 1, 77,255, 77, 9, 64,255, 74, 19, 46,255, 68, 21, 37,255,
+ 62, 19, 34,255, 55, 18, 29,255, 48, 14, 27,255, 40, 9, 28,255, 30, 4, 25,255, 19, 2, 17,255, 12, 4, 10,255, 7, 5, 3,102,
+ 28, 3, 26,102, 84, 19, 65,255, 92, 39, 50,255, 96, 52, 39,255, 99, 60, 33,255,101, 64, 32,255,102, 65, 33,255,103, 63, 37,255,
+102, 58, 42,255,102, 53, 47,255,100, 47, 54,255, 99, 40, 61,255, 97, 33, 66,255, 95, 26, 72,255, 93, 19, 78,255, 91, 14, 81,255,
+ 89, 11, 82,255, 87, 8, 81,255, 84, 8, 76,255, 82, 20, 55,255, 81, 35, 31,255, 79, 31, 35,255, 77, 34, 27,255, 74, 34, 24,255,
+ 67, 31, 22,255, 61, 27, 21,255, 53, 21, 22,255, 46, 15, 24,255, 35, 8, 23,255, 24, 3, 19,255, 13, 3, 11,255, 10, 6, 5,153,
+ 31, 3, 29,102, 88, 22, 68,255, 96, 42, 54,255,101, 56, 44,255,104, 65, 37,255,107, 70, 34,255,108, 73, 34,255,108, 72, 36,255,
+108, 70, 39,255,107, 66, 43,255,106, 60, 48,255,105, 54, 54,255,102, 47, 59,255,100, 39, 64,255, 98, 32, 69,255, 95, 25, 73,255,
+ 92, 20, 76,255, 90, 17, 74,255, 87, 28, 53,255, 85, 41, 30,255, 83, 34, 35,255, 81, 31, 37,255, 79, 35, 28,255, 77, 31, 31,255,
+ 73, 30, 28,255, 66, 30, 21,255, 58, 26, 19,255, 50, 21, 20,255, 40, 13, 21,255, 29, 6, 20,255, 17, 3, 14,255, 12, 7, 7,204,
+ 48, 5, 44,153, 92, 24, 72,255,100, 44, 60,255,106, 60, 50,255,111, 72, 42,255,113, 78, 38,255,115, 82, 37,255,115, 82, 37,255,
+115, 81, 38,255,115, 78, 41,255,114, 74, 45,255,112, 69, 49,255,110, 63, 53,255,107, 55, 56,255,103, 50, 57,255,100, 42, 59,255,
+ 96, 36, 61,255, 93, 33, 59,255, 90, 40, 42,255, 87, 46, 27,255, 85, 33, 42,255, 83, 18, 59,255, 81, 8, 71,255, 78, 12, 61,255,
+ 76, 21, 45,255, 70, 29, 27,255, 63, 29, 20,255, 55, 25, 17,255, 45, 18, 19,255, 33, 9, 20,255, 21, 4, 16,255, 11, 6, 7,204,
+ 47, 6, 42,153, 95, 26, 76,255,105, 48, 65,255,112, 66, 56,255,118, 79, 48,255,121, 87, 43,255,122, 91, 41,255,123, 93, 40,255,
+124, 94, 40,255,124, 93, 42,255,124, 91, 45,255,124, 88, 48,255,122, 83, 51,255,118, 76, 52,255,112, 69, 49,255,106, 62, 46,255,
+102, 54, 46,255, 98, 51, 41,255, 94, 52, 31,255, 90, 48, 30,255, 87, 31, 49,255, 85, 17, 65,255, 82, 6, 75,255, 80, 4, 75,255,
+ 77, 14, 57,255, 74, 24, 39,255, 67, 28, 25,255, 59, 27, 18,255, 49, 21, 17,255, 37, 13, 18,255, 25, 5, 18,255, 11, 5, 8,204,
+ 47, 8, 40,153, 99, 31, 78,255,111, 53, 70,255,119, 72, 62,255,125, 86, 55,255,129, 96, 50,255,131,102, 46,255,133,105, 45,255,
+134,107, 45,255,137,110, 49,255,142,113, 55,255,143,113, 59,255,142,110, 60,255,136,101, 58,255,126, 91, 51,255,117, 80, 44,255,
+108, 70, 38,255,102, 64, 33,255, 98, 56, 34,255, 93, 44, 43,255, 90, 29, 57,255, 87, 16, 70,255, 84, 6, 79,255, 81, 4, 77,255,
+ 79, 11, 64,255, 76, 19, 49,255, 71, 26, 32,255, 62, 28, 20,255, 52, 24, 17,255, 40, 15, 18,255, 27, 7, 19,255, 9, 3, 7,153,
+ 31, 8, 24,102,102, 34, 79,255,116, 58, 75,255,126, 80, 67,255,133, 95, 61,255,138,106, 57,255,141,113, 53,255,144,117, 52,255,
+148,123, 55,255,155,130, 62,255,166,140, 73,255,174,147, 83,255,173,144, 85,255,163,133, 79,255,147,115, 66,255,131, 97, 53,255,
+118, 83, 43,255,108, 70, 39,255,102, 56, 44,255, 96, 42, 54,255, 92, 28, 65,255, 89, 16, 75,255, 86, 8, 80,255, 83, 5, 78,255,
+ 80, 8, 69,255, 77, 17, 53,255, 74, 25, 37,255, 65, 28, 23,255, 55, 26, 17,255, 43, 17, 18,255, 29, 8, 19,255, 10, 3, 7,153,
+ 16, 5, 11, 51,103, 39, 76,255,121, 65, 77,255,133, 88, 72,255,142,105, 67,255,148,117, 63,255,152,125, 60,255,156,131, 61,255,
+164,140, 67,255,178,155, 80,255,198,174,101,255,213,188,119,255,215,189,124,255,201,173,113,255,175,144, 91,255,149,116, 70,255,
+129, 93, 55,255,115, 74, 49,255,106, 58, 52,255,100, 42, 62,255, 95, 27, 72,255, 91, 17, 79,255, 87, 11, 79,255, 84, 7, 79,255,
+ 81, 8, 72,255, 78, 15, 57,255, 75, 23, 41,255, 68, 28, 26,255, 57, 27, 18,255, 45, 18, 18,255, 30, 7, 20,255, 6, 2, 5,102,
+ 0, 0, 0, 0,101, 43, 67,255,126, 72, 77,255,140, 97, 75,255,151,116, 71,255,158,129, 68,255,162,138, 66,255,168,145, 68,255,
+179,157, 78,255,199,178, 98,255,227,205,127,255,251,228,154,255,255,232,163,255,238,210,149,255,203,172,119,255,167,132, 89,255,
+140,101, 69,255,122, 77, 62,255,111, 58, 63,255,103, 43, 69,255, 97, 29, 76,255, 93, 20, 79,255, 89, 15, 77,255, 85, 9, 78,255,
+ 82, 9, 72,255, 79, 14, 59,255, 75, 22, 43,255, 69, 29, 26,255, 59, 27, 18,255, 46, 18, 19,255, 29, 7, 20,255, 3, 1, 2, 51,
+ 0, 0, 0, 0, 61, 30, 36,153,126, 76, 75,255,146,105, 76,255,158,127, 74,255,167,142, 71,255,173,151, 71,255,179,159, 74,255,
+191,172, 85,255,214,195,107,255,245,225,141,255,255,251,172,255,255,255,183,255,255,233,171,255,222,190,138,255,180,143,104,255,
+148,106, 81,255,127, 79, 73,255,115, 60, 72,255,107, 45, 75,255,100, 33, 78,255, 95, 24, 78,255, 90, 18, 77,255, 86, 12, 77,255,
+ 82, 12, 69,255, 79, 16, 57,255, 76, 24, 41,255, 71, 30, 27,255, 60, 28, 19,255, 46, 17, 20,255, 18, 4, 13,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 20, 11, 9, 51,124, 78, 67,255,148,110, 74,255,164,136, 74,255,175,154, 73,255,182,164, 73,255,187,172, 75,255,
+199,183, 86,255,219,202,107,255,245,228,137,255,255,249,164,255,255,254,176,255,255,233,167,255,222,191,138,255,183,146,107,255,
+152,109, 86,255,131, 82, 77,255,119, 64, 76,255,110, 49, 77,255,103, 38, 78,255, 97, 30, 75,255, 92, 25, 71,255, 87, 15, 75,255,
+ 83, 15, 66,255, 79, 19, 53,255, 76, 26, 37,255, 71, 31, 25,255, 60, 28, 19,255, 43, 14, 22,255, 11, 2, 8,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 89, 58, 40,204,147,112, 70,255,168,143, 73,255,181,164, 73,255,189,176, 73,255,194,183, 74,255,
+202,190, 81,255,215,203, 96,255,233,219,118,255,249,233,139,255,252,232,147,255,237,213,141,255,209,179,121,255,178,143,101,255,
+152,111, 86,255,134, 87, 79,255,122, 69, 77,255,113, 55, 77,255,105, 44, 74,255, 98, 37, 69,255, 93, 33, 62,255, 87, 30, 54,255,
+ 83, 21, 59,255, 79, 23, 49,255, 76, 30, 33,255, 71, 33, 23,255, 58, 25, 21,255, 30, 8, 18,204, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 18, 12, 6, 51,136,104, 58,255,165,142, 69,255,184,169, 72,255,194,184, 72,255,199,192, 73,255,
+204,197, 76,255,210,202, 83,255,218,208, 96,255,225,213,109,255,224,207,114,255,212,190,111,255,192,166,101,255,170,138, 89,255,
+151,112, 81,255,136, 92, 77,255,125, 75, 76,255,116, 61, 74,255,107, 51, 70,255,100, 44, 63,255, 93, 39, 55,255, 87, 36, 46,255,
+ 83, 31, 44,255, 79, 27, 42,255, 75, 32, 29,255, 68, 32, 22,255, 51, 18, 25,255, 8, 2, 5, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 36, 17,102,155,132, 61,255,180,167, 68,255,194,187, 70,255,202,198, 70,255,
+206,203, 72,255,207,205, 75,255,209,204, 80,255,209,201, 86,255,204,192, 89,255,194,177, 88,255,180,157, 84,255,165,136, 79,255,
+150,115, 76,255,138, 97, 74,255,127, 81, 72,255,117, 68, 68,255,108, 58, 63,255,100, 50, 55,255, 93, 46, 46,255, 87, 43, 36,255,
+ 82, 31, 43,255, 78, 32, 34,255, 74, 34, 24,255, 63, 26, 24,255, 28, 8, 17,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 64, 27,153,164,148, 60,255,187,179, 66,255,199,197, 68,255,
+205,205, 69,255,206,207, 70,255,205,204, 71,255,202,197, 73,255,195,186, 75,255,186,172, 75,255,175,155, 74,255,162,137, 72,255,
+150,119, 70,255,139,102, 69,255,128, 87, 66,255,118, 75, 60,255,108, 64, 54,255, 99, 56, 45,255, 92, 51, 37,255, 86, 41, 37,255,
+ 81, 33, 38,255, 76, 35, 27,255, 70, 31, 24,255, 34, 12, 17,153, 3, 0, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 70, 27,153,167,155, 58,255,188,183, 64,255,
+200,199, 67,255,203,204, 68,255,202,202, 68,255,199,196, 69,255,192,186, 69,255,183,172, 69,255,173,156, 68,255,162,140, 67,255,
+150,123, 65,255,138,107, 62,255,127, 92, 58,255,116, 79, 52,255,106, 68, 45,255, 97, 60, 37,255, 90, 53, 30,255, 84, 40, 35,255,
+ 79, 37, 28,255, 73, 33, 25,255, 47, 16, 23,204, 9, 1, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 68, 25,153,161,150, 54,255,
+182,177, 62,255,191,189, 64,255,194,193, 65,255,192,189, 65,255,186,181, 65,255,179,169, 64,255,169,155, 63,255,158,139, 61,255,
+147,123, 59,255,136,108, 55,255,124, 93, 49,255,113, 81, 43,255,103, 70, 37,255, 94, 59, 30,255, 86, 48, 29,255, 80, 40, 28,255,
+ 73, 33, 26,255, 39, 14, 19,153, 9, 1, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+139,121, 46,255,163,154, 54,255,174,168, 58,255,176,170, 59,255,174,166, 59,255,168,158, 59,255,160,146, 56,255,150,132, 53,255,
+139,118, 50,255,128,104, 45,255,117, 90, 40,255,107, 77, 35,255, 97, 64, 31,255, 88, 51, 29,255, 80, 42, 26,255, 59, 27, 22,204,
+ 26, 9, 13,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 70, 55, 25,153,106, 89, 37,204,142,127, 46,255,148,134, 48,255,147,132, 48,255,141,124, 46,255,134,115, 44,255,
+125,103, 41,255,115, 89, 37,255,106, 76, 34,255, 96, 60, 35,255, 86, 42, 39,255, 64, 25, 33,204, 30, 14, 11,102, 7, 0, 7, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 30, 18,102, 69, 52, 25,153, 70, 54, 24,153, 88, 63, 33,204,
+ 82, 54, 33,204, 76, 42, 35,204, 52, 23, 29,153, 34, 14, 19,102, 16, 4, 11, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 65, 0, 0, 32, 3, 0, 0,136, 7, 52, 3, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 24, 16, 52, 3, 0, 0, 0, 0,
+168,238, 51, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65,116,101,120,116,117,114,
+101, 0,114,101,118,105,101,119, 46, 48, 48, 49, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,
-205,204,204, 61, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 1, 3, 67, 0, 1, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61, 2, 0, 2, 0,
+ 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 4, 0, 71, 0, 1, 3, 67, 0, 1, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 1, 8,129, 0,
+ 88, 12, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+248, 10, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,168, 15, 52, 3, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,
+205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,
+248, 10, 52, 3, 0, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0,129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 23, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 8, 3, 0, 0, 88, 12, 52, 3, 0, 0, 0, 0, 27, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 40,220, 62, 0, 0, 0, 0,
+ 3, 55,122, 63, 0, 0,128, 63, 96, 82,161, 62, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+ 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 15, 52, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0, 32, 3, 0, 0, 24, 16, 52, 3, 0, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,136, 7, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 65,116,101,120,116,117,114,101, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63,
+ 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 4, 0, 67, 0, 0, 3, 67, 0, 0, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61,
- 0, 0,128, 63, 1, 8,129, 0, 32, 82,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
-104, 81,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0,136, 19, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 85,181, 3, 0, 0, 0, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 63,
-205,204, 76, 63,205,204, 76, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,136, 0, 0, 0,104, 81,181, 3, 33, 0, 0, 0, 1, 0, 0, 0, 1, 0,129, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-208, 91,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 68, 65, 84, 65,
- 8, 3, 0, 0, 32, 82,181, 3, 36, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,245, 40,220, 62, 0, 0, 0, 0,164,112,125, 63, 0, 0,128, 63,106,214, 24, 63, 0, 0,128, 63,
- 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 22, 52, 3, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,
+111,148, 26, 63,111,148, 26, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 8, 3, 0, 0,136, 19, 52, 3, 0, 0, 0, 0, 27, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 40,220, 62, 0, 0, 0, 0, 3, 55,122, 63, 0, 0,128, 63,
+ 96, 82,161, 62, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
@@ -5717,7 +5877,6 @@ char datatoc_preview_blend[]= {
0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63,
0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5729,44 +5888,654 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 88, 85,181, 3, 19, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 0, 0,112, 2, 0, 0,168, 85,181, 3, 42, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,200, 78,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65,116,101,120,116,117,114,101, 46, 48, 48, 49, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63,
- 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63,
- 0, 0,128, 63, 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 3,
- 3, 0, 1, 3, 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,
-205,204,204, 61, 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 72, 88,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 40, 0, 0, 0,216, 22, 52, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 84, 69, 0, 0,112, 1, 0, 0, 72, 23, 52, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120, 25, 52, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69,112,114,101,118,105,101,
+119, 0,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64,
+ 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 8, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 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, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128, 91,181, 3, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63,205,204, 76, 61,205,204,204, 61,
-102,102,166, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8, 25, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 25, 52, 3, 0, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 0, 0,112, 1, 0, 0,120, 25, 52, 3, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 72, 23, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 84, 69,102, 97,107,101,115,104, 97,100,111,119, 0, 0, 76,101,110,100, 0,101,120, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 64,
+ 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 40, 0, 5, 0, 4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 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, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 27, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 27, 52, 3, 0, 0, 0, 0,
+ 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+168, 27, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0,168, 27, 52, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,155,155,155,255,155,154,154,255,155,155,155,255,157,157,157,255,158,158,158,255,158,158,158,255,
+159,159,159,255,159,159,159,255, 43, 43, 43,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255, 15, 15, 15,255,
+ 15, 15, 15,255, 15, 15, 15,255,147,147,147,255,147,147,147,255,147,147,147,255,148,148,148,255,150,150,150,255,153,153,153,255,
+157,157,157,255,159,159,159,255, 43, 43, 43,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,159,159,159,255, 14, 14, 14,255, 15, 15, 15,255, 15, 15, 15,255, 16, 16, 16,255, 17, 17, 17,255, 18, 18, 18,255,
+ 18, 18, 18,255, 19, 19, 19,255,141,141,141,255,141,141,141,255,141,141,141,255,142,142,142,255,143,143,143,255,146,146,146,255,
+149,149,149,255,153,153,153,255, 43, 43, 43,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+157,157,157,255,152,152,152,255, 15, 15, 15,255, 17, 17, 17,255, 18, 18, 18,255, 20, 20, 20,255, 21, 21, 21,255, 22, 22, 22,255,
+ 23, 23, 23,255, 24, 24, 24,255,137,137,137,255,137,137,137,255,137,137,137,255,137,137,137,255,138,138,138,255,140,140,140,255,
+143,143,143,255,147,147,147,255, 42, 42, 42,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,156,156,156,255,
+150,150,150,255,146,146,146,255, 18, 18, 18,255, 20, 20, 20,255, 22, 22, 22,255, 25, 25, 25,255, 27, 27, 27,255, 29, 29, 29,255,
+ 30, 30, 30,255, 31, 31, 31,255,135,135,135,255,135,135,135,255,135,134,134,255,135,135,135,255,135,135,135,255,137,137,137,255,
+139,139,139,255,141,141,141,255, 42, 42, 42,255, 15, 15, 15,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,156,156,156,255,150,150,150,255,
+145,145,145,255,142,142,142,255, 22, 22, 22,255, 25, 25, 25,255, 28, 28, 28,255, 32, 32, 32,255, 35, 35, 35,255, 37, 37, 37,255,
+ 39, 39, 39,255, 40, 40, 40,255,135,135,135,255,135,135,135,255,134,134,134,255,134,134,134,255,134,134,134,255,134,134,134,255,
+136,136,136,255,138,138,138,255, 43, 43, 43,255, 16, 16, 16,255, 15, 15, 15,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,157,157,157,255,150,150,150,255,145,145,145,255,
+141,141,141,255,138,138,138,255, 27, 27, 27,255, 31, 31, 31,255, 36, 36, 36,255, 40, 40, 40,255, 44, 44, 44,255, 47, 47, 47,255,
+ 50, 50, 50,255, 51, 51, 51,255,137,137,137,255,136,136,136,255,136,135,135,255,135,135,135,255,134,134,134,255,134,134,134,255,
+134,134,134,255,135,135,135,255, 45, 45, 45,255, 19, 19, 19,255, 16, 16, 16,255, 15, 15, 15,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,159,159,159,255,152,152,152,255,146,146,146,255,142,142,142,255,
+138,138,138,255,137,136,136,255, 32, 32, 32,255, 38, 38, 38,255, 44, 44, 44,255, 50, 50, 50,255, 55, 55, 55,255, 59, 59, 59,255,
+ 62, 62, 62,255, 64, 64, 64,255,141,141,141,255,140,140,140,255,139,139,139,255,137,137,137,255,136,136,136,255,135,135,135,255,
+134,134,134,255,134,134,134,255, 49, 49, 49,255, 22, 22, 22,255, 19, 19, 19,255, 16, 16, 16,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255, 18, 18, 18,255, 22, 22, 22,255,
+ 27, 27, 27,255, 33, 33, 33,255,136,136,136,255,137,137,137,255,138,138,138,255,141,141,141,255,143,143,143,255,145,145,145,255,
+147,147,147,255,147,147,147,255, 79, 79, 79,255, 77, 77, 77,255, 73, 73, 73,255, 67, 67, 67,255, 61, 61, 61,255, 53, 53, 53,255,
+ 46, 46, 46,255, 39, 39, 39,255,114,114,114,255,137,137,137,255,139,139,139,255,143,143,143,255,148,148,148,255,155,155,155,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255, 17, 17, 17,255, 20, 20, 20,255, 25, 25, 25,255,
+ 31, 31, 31,255, 38, 38, 38,255,137,137,137,255,139,139,139,255,142,142,142,255,145,145,145,255,148,148,148,255,152,152,152,255,
+154,154,154,255,155,155,155,255, 96, 96, 96,255, 93, 93, 93,255, 88, 88, 88,255, 81, 81, 81,255, 73, 73, 73,255, 64, 64, 64,255,
+ 55, 55, 55,255, 46, 46, 46,255,116,116,116,255,136,136,136,255,137,137,137,255,140,140,140,255,145,145,145,255,151,151,151,255,
+159,159,159,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255, 18, 18, 18,255, 23, 23, 23,255, 28, 28, 28,255,
+ 36, 36, 36,255, 44, 44, 44,255,138,138,138,255,142,142,142,255,146,146,146,255,151,151,151,255,155,155,155,255,160,160,160,255,
+163,163,163,255,165,165,165,255,114,114,114,255,111,111,111,255,104,104,104,255, 95, 95, 95,255, 85, 85, 85,255, 75, 75, 75,255,
+ 64, 64, 64,255, 53, 53, 53,255,117,117,117,255,136,135,135,255,136,136,136,255,139,139,139,255,142,142,142,255,148,148,148,255,
+156,156,156,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 16, 16, 16,255, 20, 20, 20,255, 25, 25, 25,255, 32, 32, 32,255,
+ 40, 40, 40,255, 50, 50, 50,255,141,141,141,255,145,145,145,255,151,151,151,255,157,157,157,255,163,163,163,255,169,169,169,255,
+174,174,174,255,177,177,177,255,135,135,135,255,130,130,130,255,122,122,122,255,111,111,111,255, 98, 98, 98,255, 85, 85, 85,255,
+ 73, 73, 73,255, 61, 61, 61,255,119,119,119,255,136,136,136,255,136,136,136,255,137,137,137,255,141,141,141,255,146,146,146,255,
+153,153,153,255,161,161,161,255, 14, 14, 14,255, 15, 15, 15,255, 17, 17, 17,255, 21, 21, 21,255, 27, 27, 27,255, 35, 35, 35,255,
+ 44, 44, 44,255, 55, 55, 55,255,143,143,143,255,149,149,149,255,156,156,156,255,163,163,163,255,172,172,172,255,180,180,180,255,
+186,186,186,255,190,190,190,255,158,158,158,255,151,151,151,255,140,140,140,255,126,126,126,255,111,111,111,255, 95, 95, 95,255,
+ 81, 81, 81,255, 67, 67, 67,255,122,121,121,255,136,136,136,255,136,136,136,255,137,137,137,255,139,139,139,255,144,144,144,255,
+151,151,151,255,159,159,159,255, 14, 14, 14,255, 15, 15, 15,255, 18, 18, 18,255, 23, 23, 23,255, 29, 29, 29,255, 38, 38, 38,255,
+ 48, 48, 48,255, 60, 60, 60,255,145,145,145,255,152,152,152,255,160,160,160,255,170,170,170,255,180,180,180,255,191,191,191,255,
+200,200,200,255,206,206,206,255,182,182,182,255,173,173,173,255,158,158,158,255,140,140,140,255,122,122,122,255,104,104,104,255,
+ 88, 88, 88,255, 73, 73, 73,255,123,123,123,255,137,137,137,255,136,136,136,255,136,136,136,255,139,139,139,255,143,143,143,255,
+149,149,149,255,157,157,157,255, 14, 14, 14,255, 15, 15, 15,255, 18, 18, 18,255, 24, 24, 24,255, 31, 31, 31,255, 39, 39, 39,255,
+ 50, 50, 50,255, 63, 63, 63,255,147,147,147,255,154,154,154,255,164,164,164,255,175,175,175,255,187,187,187,255,200,200,200,255,
+213,213,213,255,223,223,223,255,208,208,208,255,193,193,193,255,173,173,173,255,151,151,151,255,130,130,130,255,111,111,111,255,
+ 93, 93, 93,255, 77, 77, 77,255,125,125,125,255,137,137,137,255,136,136,136,255,136,136,136,255,138,138,138,255,142,142,142,255,
+148,148,148,255,156,156,156,255, 14, 14, 14,255, 16, 16, 16,255, 19, 19, 19,255, 24, 24, 24,255, 31, 31, 31,255, 40, 40, 40,255,
+ 52, 52, 52,255, 65, 65, 65,255,148,148,148,255,156,156,156,255,166,166,166,255,177,177,177,255,191,191,191,255,206,206,206,255,
+223,223,223,255,240,240,240,255,232,232,232,255,208,208,208,255,182,182,182,255,158,158,158,255,135,135,135,255,114,114,114,255,
+ 96, 96, 96,255, 79, 79, 79,255,126,126,126,255,138,138,138,255,136,136,136,255,136,136,136,255,138,138,138,255,142,142,142,255,
+148,148,148,255,155,155,155,255,155,155,155,255,147,147,147,255,141,141,141,255,138,138,138,255,136,136,136,255,136,136,136,255,
+138,138,138,255,142,142,142,255, 80, 80, 80,255, 97, 97, 97,255,116,116,116,255,137,137,137,255,159,159,159,255,184,184,184,255,
+210,210,210,255,235,235,235,255,240,240,240,255,223,223,223,255,205,205,205,255,190,190,190,255,176,176,176,255,164,164,164,255,
+154,154,154,255,147,147,147,255, 79, 79, 79,255, 51, 51, 51,255, 40, 40, 40,255, 31, 31, 31,255, 24, 24, 24,255, 19, 19, 19,255,
+ 15, 15, 15,255, 14, 14, 14,255,156,155,155,255,148,148,148,255,142,142,142,255,138,138,138,255,136,136,136,255,136,136,136,255,
+138,138,138,255,141,141,141,255, 78, 78, 78,255, 94, 94, 94,255,112,112,112,255,132,132,132,255,153,153,153,255,175,175,175,255,
+195,195,195,255,210,210,210,255,224,224,224,255,213,213,213,255,200,200,200,255,186,186,186,255,173,173,173,255,162,162,162,255,
+153,153,153,255,146,146,146,255, 78, 78, 78,255, 50, 50, 50,255, 39, 39, 39,255, 30, 30, 30,255, 23, 23, 23,255, 18, 18, 18,255,
+ 15, 15, 15,255, 14, 14, 14,255,157,157,157,255,149,149,149,255,142,142,142,255,138,138,138,255,136,136,136,255,136,136,136,255,
+137,137,137,255,140,140,140,255, 74, 74, 74,255, 89, 89, 89,255,106,106,106,255,124,124,124,255,142,142,142,255,160,160,160,255,
+175,175,175,255,184,184,184,255,206,206,206,255,200,200,200,255,190,190,190,255,179,179,179,255,169,169,169,255,159,159,159,255,
+151,151,151,255,144,144,144,255, 75, 75, 75,255, 47, 47, 47,255, 37, 37, 37,255, 29, 29, 29,255, 22, 22, 22,255, 18, 18, 18,255,
+ 15, 15, 15,255, 14, 14, 14,255,158,158,158,255,150,150,150,255,144,144,144,255,139,139,139,255,136,136,136,255,136,135,135,255,
+136,136,136,255,139,139,139,255, 68, 68, 68,255, 82, 82, 82,255, 97, 97, 97,255,112,112,112,255,128,128,128,255,142,142,142,255,
+153,153,153,255,159,159,159,255,191,191,191,255,187,187,187,255,180,180,180,255,171,171,171,255,162,162,162,255,154,154,154,255,
+148,147,147,255,142,142,142,255, 72, 72, 72,255, 44, 44, 44,255, 35, 35, 35,255, 27, 27, 27,255, 21, 21, 21,255, 17, 17, 17,255,
+ 15, 15, 15,255, 14, 14, 14,255,161,161,161,255,152,152,152,255,145,145,145,255,140,140,140,255,137,137,137,255,136,136,136,255,
+136,136,136,255,138,138,138,255, 62, 62, 62,255, 74, 74, 74,255, 87, 87, 87,255,100,100,100,255,112,112,112,255,124,124,124,255,
+132,132,132,255,137,137,137,255,177,177,177,255,174,174,174,255,169,169,169,255,163,163,163,255,156,156,156,255,150,150,150,255,
+144,144,144,255,140,140,140,255, 67, 67, 67,255, 40, 40, 40,255, 32, 32, 32,255, 25, 25, 25,255, 20, 20, 20,255, 16, 16, 16,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,155,155,155,255,148,148,148,255,142,142,142,255,138,138,138,255,136,136,136,255,
+136,136,136,255,136,136,136,255, 54, 54, 54,255, 65, 65, 65,255, 76, 76, 76,255, 87, 87, 87,255, 97, 97, 97,255,106,106,106,255,
+112,112,112,255,116,116,116,255,165,165,165,255,163,163,163,255,159,159,159,255,155,155,155,255,150,150,150,255,145,145,145,255,
+141,141,141,255,137,137,137,255, 62, 62, 62,255, 36, 36, 36,255, 28, 28, 28,255, 22, 22, 22,255, 18, 18, 18,255, 15, 15, 15,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,158,158,158,255,151,151,151,255,144,144,144,255,140,140,140,255,137,137,137,255,
+136,136,136,255,136,136,136,255, 47, 47, 47,255, 56, 56, 56,255, 65, 65, 65,255, 74, 74, 74,255, 82, 82, 82,255, 89, 89, 89,255,
+ 94, 94, 94,255, 97, 97, 97,255,155,155,155,255,154,154,154,255,151,151,151,255,148,148,148,255,144,144,144,255,140,140,140,255,
+138,138,138,255,136,136,136,255, 58, 58, 58,255, 31, 31, 31,255, 25, 25, 25,255, 20, 20, 20,255, 17, 17, 17,255, 15, 15, 15,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,154,154,154,255,148,148,148,255,142,142,142,255,139,139,139,255,
+137,137,137,255,136,136,136,255, 40, 40, 40,255, 47, 47, 47,255, 54, 54, 54,255, 62, 62, 62,255, 68, 68, 68,255, 74, 74, 74,255,
+ 78, 78, 78,255, 80, 80, 80,255,147,147,147,255,146,146,146,255,144,144,144,255,142,142,142,255,139,139,139,255,137,137,137,255,
+135,135,135,255,135,135,135,255, 53, 53, 53,255, 27, 27, 27,255, 22, 22, 22,255, 18, 18, 18,255, 15, 15, 15,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255, 44, 44, 44,255, 44, 44, 44,255, 43, 43, 43,255, 42, 42, 42,255, 42, 42, 42,255, 43, 43, 43,255,
+ 46, 46, 46,255, 49, 49, 49,255,115,115,115,255,116,116,116,255,118,118,118,255,120,120,120,255,122,122,122,255,124,124,124,255,
+126,126,126,255,126,126,126,255, 80, 80, 80,255, 79, 79, 79,255, 76, 76, 76,255, 72, 72, 72,255, 67, 67, 67,255, 62, 62, 62,255,
+ 58, 58, 58,255, 53, 53, 53,255,136,136,136,255,115,115,115,255,117,117,117,255,120,120,120,255,124,124,124,255,130,130,130,255,
+132,132,132,255,132,132,132,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255, 16, 16, 16,255,
+ 19, 19, 19,255, 23, 23, 23,255,137,137,137,255,136,136,136,255,136,136,136,255,136,136,136,255,136,136,136,255,137,137,137,255,
+138,138,138,255,138,138,138,255, 52, 52, 52,255, 50, 50, 50,255, 48, 48, 48,255, 44, 44, 44,255, 40, 40, 40,255, 36, 36, 36,255,
+ 31, 31, 31,255, 27, 27, 27,255,115,115,115,255,141,141,141,255,145,145,145,255,150,150,150,255,157,157,157,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 15, 15, 15,255,
+ 16, 16, 16,255, 19, 19, 19,255,139,139,139,255,137,137,137,255,136,136,136,255,136,136,136,255,136,135,135,255,136,136,136,255,
+136,136,136,255,136,136,136,255, 41, 41, 41,255, 40, 40, 40,255, 38, 38, 38,255, 35, 35, 35,255, 32, 32, 32,255, 29, 29, 29,255,
+ 25, 25, 25,255, 22, 22, 22,255,116,116,116,255,145,145,145,255,150,150,150,255,156,156,156,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 15, 15, 15,255, 16, 16, 16,255,142,142,142,255,140,140,140,255,138,138,138,255,137,137,137,255,136,136,136,255,136,136,136,255,
+136,136,136,255,136,136,136,255, 31, 31, 31,255, 31, 31, 31,255, 29, 29, 29,255, 27, 27, 27,255, 25, 25, 25,255, 23, 23, 23,255,
+ 20, 20, 20,255, 18, 18, 18,255,119,119,119,255,150,150,150,255,156,156,156,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,148,148,148,255,144,144,144,255,142,142,142,255,140,140,140,255,139,139,139,255,138,138,138,255,
+138,138,138,255,138,138,138,255, 24, 24, 24,255, 24, 24, 24,255, 23, 23, 23,255, 21, 21, 21,255, 20, 20, 20,255, 18, 18, 18,255,
+ 17, 17, 17,255, 15, 15, 15,255,124,124,124,255,157,157,157,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,154,154,154,255,151,151,151,255,148,148,148,255,145,145,145,255,144,144,144,255,142,142,142,255,
+142,142,142,255,141,141,141,255, 19, 19, 19,255, 19, 19, 19,255, 18, 18, 18,255, 17, 17, 17,255, 16, 16, 16,255, 15, 15, 15,255,
+ 15, 15, 15,255, 14, 14, 14,255,129,129,129,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,158,158,158,255,155,155,155,255,152,152,152,255,150,150,150,255,149,149,149,255,
+148,148,148,255,147,147,147,255, 16, 16, 16,255, 15, 15, 15,255, 15, 15, 15,255, 15, 15, 15,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,131,131,131,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,158,158,158,255,157,157,157,255,
+155,155,155,255,155,155,155,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255, 14, 14, 14,255,
+ 14, 14, 14,255, 14, 14, 14,255,131,131,131,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,161,161,161,255,
+161,161,161,255,161,161,161,255, 77, 69, 0, 0,152, 1, 0, 0,248, 43, 52, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0,
+200,104, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 69, 99,111,114,110,101,114, 95, 99,104,101, 99,107,101,114,115, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,216, 45, 52, 3, 0, 0, 0, 0, 8, 71, 52, 3, 0, 0, 0, 0, 40, 79, 52, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232, 47, 52, 3, 0, 0, 0, 0,248, 58, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56, 98, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 56, 46, 52, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 57, 52, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 69, 52, 3, 0, 0, 0, 0,
+ 3, 0, 0, 0, 5, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+116, 0, 0, 0,215, 0, 0, 0,100, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182,
+ 30, 0,128, 63,140, 0,128, 63,214,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 83, 0, 30, 0, 4, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,
+216, 45, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65,104, 1, 0, 0, 56, 46, 52, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 47, 52, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 16, 9, 0, 0,232, 47, 52, 3, 0, 0, 0, 0, 52, 0, 0, 0,116, 0, 0, 0,214, 28,215, 63, 77, 31, 87, 65,
+ 74, 36,190,192, 1,192, 1,192,129, 90, 0, 0,173, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,129, 90, 0, 0,
+204,194,135,184,112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0, 24, 33,215,191,147, 87, 33, 65, 68, 36,190,192,
+ 0, 0, 0, 0,255,127, 0, 0, 9, 32, 87,192,182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,195, 87,161,192,
+179, 31,215, 64, 66, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,202, 28,215, 63,146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,
+255,127, 0, 0, 71,248,139,184,181,115, 6, 65, 70, 36,190,192, 0, 0, 0, 0,255,127, 0, 0, 41, 33,215,191,175, 31,215, 64,
+ 68, 36,190,192, 0, 0, 0, 0,255,127, 0, 0, 15, 32, 87,192,244, 87,161, 64, 66, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,
+223, 29, 87, 64,179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,220,160,141,184,242, 87,161, 64, 68, 36,190,192,
+ 0, 0, 0, 0,255,127, 0, 0,172, 86,161, 64,170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,218, 29, 87, 64,
+240, 87,161, 64, 70, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,123, 31,215,192,180,115, 6, 65,136, 43,100,192,129, 90,127,165,
+ 0, 0, 0, 0,194, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0, 0, 0, 11, 32, 87,192,113, 59, 60, 65,
+147, 43,100,192,129, 90,127,165, 0, 0, 0, 0, 45, 33,215,191, 81, 31, 87, 65,153, 43,100,192,129, 90,127,165, 0, 0, 0, 0,
+123, 31,215,192,180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0, 0, 0,194, 87,161,192,147, 87, 33, 65, 8, 29,152,191,
+129, 90,127,165, 0, 0, 0, 0, 11, 32, 87,192,113, 59, 60, 65, 19, 29,152,191,129, 90,127,165, 0, 0, 0, 0, 45, 33,215,191,
+ 81, 31, 87, 65, 30, 29,152,191,129, 90,127,165, 0, 0, 0, 0,123, 31,215,192,180,115, 6, 65, 12, 29,152, 63,129, 90,127,165,
+ 0, 0, 0, 0,194, 87,161,192,147, 87, 33, 65, 1, 29,152, 63,129, 90,127,165, 0, 0, 0, 0, 11, 32, 87,192,113, 59, 60, 65,
+245, 28,152, 63,129, 90,127,165, 0, 0, 0, 0, 45, 33,215,191, 81, 31, 87, 65,234, 28,152, 63,129, 90,127,165, 0, 0, 0, 0,
+122, 31,215,192,181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0, 0, 0,193, 87,161,192,148, 87, 33, 65,133, 43,100, 64,
+129, 90,127,165, 0, 0, 0, 0, 9, 32, 87,192,114, 59, 60, 65,128, 43,100, 64,129, 90,127,165, 0, 0, 0, 0, 41, 33,215,191,
+ 81, 31, 87, 65,128, 43,100, 64,129, 90,127,165, 0, 0, 0, 0,123, 31,215,192,180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,
+129, 90, 0, 0,194, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90, 0, 0, 11, 32, 87,192,113, 59, 60, 65,
+ 76, 36,190,192,255, 63, 1,192,129, 90, 0, 0, 45, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,129, 90, 0, 0,
+183,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0, 0, 0,184,115, 6,193,127, 31,215, 64,232, 28,152, 63,
+129, 90,127,165, 0, 0, 0, 0,184,115, 6,193,127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0, 0, 0,184,115, 6,193,
+127, 31,215, 64,154, 43,100,192,129, 90,127,165, 0, 0, 0, 0,222, 33,215,191,210,189,135, 56, 72, 36,190,192, 0, 0, 0, 0,
+255,127, 0, 0,103, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,241, 87,161,192, 2, 32, 87, 64,
+ 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,171, 31,215,192,190, 87,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,
+235,192,138,184, 43, 3,114, 65,134, 43,100,192, 0, 0, 1,128, 0, 0, 0, 0,190, 28,215, 63, 78, 31, 87, 65,140, 43,100,192,
+127,165,127,165, 0, 0, 0, 0,213, 29, 87, 64,112, 59, 60, 65,146, 43,100,192,127,165,127,165, 0, 0, 0, 0,175, 86,161, 64,
+146, 87, 33, 65,151, 43,100,192,127,165,127,165, 0, 0, 0, 0,235,192,138,184, 43, 3,114, 65,248, 28,152,191, 0, 0, 1,128,
+ 0, 0, 0, 0,190, 28,215, 63, 78, 31, 87, 65, 4, 29,152,191,127,165,127,165, 0, 0, 0, 0,213, 29, 87, 64,112, 59, 60, 65,
+ 15, 29,152,191,127,165,127,165, 0, 0, 0, 0,235,192,138,184, 43, 3,114, 65, 16, 29,152, 63, 0, 0, 1,128, 0, 0, 0, 0,
+190, 28,215, 63, 78, 31, 87, 65, 4, 29,152, 63,127,165,127,165, 0, 0, 0, 0,213, 29, 87, 64,112, 59, 60, 65,249, 28,152, 63,
+127,165,127,165, 0, 0, 0, 0,175, 86,161, 64,146, 87, 33, 65,237, 28,152, 63,127,165,127,165, 0, 0, 0, 0,235,192,138,184,
+ 43, 3,114, 65,142, 43,100, 64, 0, 0, 1,128, 0, 0, 0, 0,190, 28,215, 63, 78, 31, 87, 65,136, 43,100, 64,127,165,127,165,
+ 0, 0, 0, 0,221, 29, 87, 64,110, 59, 60, 65,130, 43,100, 64,127,165,127,165, 0, 0, 0, 0,175, 86,161, 64,146, 87, 33, 65,
+131, 43,100, 64,127,165,127,165, 0, 0, 0, 0,235,192,138,184, 43, 3,114, 65, 72, 36,190,192, 0, 0,126,151,230, 73, 0, 0,
+213, 29, 87, 64,112, 59, 60, 65, 76, 36,190,192, 1,192, 1,192,129, 90, 0, 0,149, 30,215, 64,151,115, 6, 65, 72, 36,190,192,
+ 1,192, 1,192,129, 90, 0, 0, 42,115, 6, 65,117, 31,215, 64,137, 43,100, 64,127,165,127,165, 0, 0, 0, 0,149, 30,215, 64,
+151,115, 6, 65,143, 43,100, 64,127,165,127,165, 0, 0, 0, 0, 42,115, 6, 65,117, 31,215, 64, 6, 29,152, 63,127,165,127,165,
+ 0, 0, 0, 0,149, 30,215, 64,151,115, 6, 65, 18, 29,152, 63,127,165,127,165, 0, 0, 0, 0, 42,115, 6, 65,117, 31,215, 64,
+ 2, 29,152,191,127,165,127,165, 0, 0, 0, 0,149, 30,215, 64,151,115, 6, 65,246, 28,152,191,127,165,127,165, 0, 0, 0, 0,
+ 42,115, 6, 65,117, 31,215, 64,139, 43,100,192,127,165,127,165, 0, 0, 0, 0, 3, 32, 87, 64,150, 29,215, 63, 68, 36,190,192,
+ 0, 0, 0, 0,254,127, 0, 0,126, 31,215, 64,217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,254,127, 0, 0,158,115, 6, 65,
+146, 30,215, 64, 72, 36,190,192, 1,192, 1,192,130, 90, 0, 0,158,115, 6, 65,146, 30,215, 64,244, 35,190, 64, 1,192, 1,192,
+130, 90, 0, 0,126, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,192, 87,161, 64, 62, 30, 87, 64,
+248, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0, 3, 32, 87, 64,150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,
+ 15, 33,215, 63, 24, 2, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,149, 30,215, 64,151,115, 6, 65,244, 35,190, 64,
+ 1,192, 1,192,129, 90, 0, 0,213, 29, 87, 64,112, 59, 60, 65,240, 35,190, 64, 1,192, 1,192,129, 90, 0, 0,235,192,138,184,
+ 43, 3,114, 65,244, 35,190, 64, 0, 0,126,151,230, 73, 0, 0,171, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,
+255,127, 0, 0,241, 87,161,192, 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,103, 32, 87,192, 14, 33,215, 63,
+244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,222, 33,215,191,210,189,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,
+ 45, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90, 0, 0, 11, 32, 87,192,113, 59, 60, 65,240, 35,190, 64,
+255, 63, 1,192,129, 90, 0, 0,194, 87,161,192,147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90, 0, 0,123, 31,215,192,
+180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,129, 90, 0, 0,254,226,142,184,239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,
+255,127, 1, 0,189, 28,215, 63,107, 32, 87, 64,248, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,218, 29, 87, 64,240, 87,161, 64,
+246, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,172, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,
+ 46, 33,215,191,113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,220,160,141,184,242, 87,161, 64,248, 35,190, 64,
+ 0, 0, 0, 0,255,127, 0, 0,197, 28,215, 63,172, 31,215, 64,246, 35,190, 64, 0, 0, 0, 0,254,127, 0, 0,223, 29, 87, 64,
+179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0, 15, 32, 87,192,244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,
+255,127, 0, 0, 41, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0, 71,248,139,184,181,115, 6, 65,
+246, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,202, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,
+195, 87,161,192,179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0, 9, 32, 87,192,182,115, 6, 65,248, 35,190, 64,
+ 0, 0, 0, 0,255,127, 0, 0, 24, 33,215,191,147, 87, 33, 65,248, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,204,194,135,184,
+112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,173, 86,161, 64,144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,
+129, 90, 0, 0,214, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90, 0, 0,183,115, 6,193,127, 31,215, 64,
+238, 35,190, 64,255, 63, 1,192,129, 90, 0, 0, 98,234, 53, 56, 38, 33,215,191,244, 35,190, 64, 0, 0, 0, 0,255,127, 0, 0,
+193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192,
+ 0, 0, 0, 0,255,127, 0, 0, 98,234, 53, 56, 38, 33,215,191, 72, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,150, 30,215, 64,
+151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,127,165,127,165,
+ 0, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 78, 36,190,192,255, 63, 1,192,129, 90, 0, 0,222,158,142,184,239, 33,215, 63,
+ 67, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,191, 28,215, 63,107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,
+ 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,255,127, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192,
+ 0, 0, 0, 0,255,127, 0, 0, 68, 65, 84, 65,104, 1, 0, 0, 72, 57, 52, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 3, 0, 0, 72, 88,181, 3, 36, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 40,220, 62,
- 0, 0, 0, 0,164,112,125, 63, 0, 0,128, 63,106,214, 24, 63, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248, 58, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 10, 0, 0,248, 58, 52, 3, 0, 0, 0, 0, 49, 0, 0, 0,215, 0, 0, 0,
+ 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0,
+ 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0,
+ 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 6, 0, 0, 0,
+ 0, 0, 34, 0, 8, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0,
+ 17, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 31, 0, 0, 0,
+ 0, 0, 34, 0, 14, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
+ 15, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 18, 0, 0, 0,
+ 0, 0, 34, 0, 21, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,
+ 24, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0,
+ 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 29, 0, 0, 0,
+ 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0,
+ 24, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0,
+ 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0,
+ 4, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0,
+ 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0,
+ 41, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0,
+ 18, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 40, 0, 0, 0,
+ 0, 0, 34, 0, 5, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0,
+ 61, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0,
+ 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 43, 0, 0, 0, 44, 0, 0, 0,
+ 0, 0, 34, 0, 43, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0,
+ 46, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0,
+ 47, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 49, 0, 0, 0,
+ 0, 0, 34, 0, 52, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,
+ 55, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0,
+ 49, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 56, 0, 0, 0,
+ 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0,
+ 61, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0,
+ 63, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 64, 0, 0, 0,
+ 0, 0, 34, 0, 1, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
+ 57, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0,
+ 1, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 49, 0, 0, 0,
+ 0, 0, 34, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 42, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0,
+ 59, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0,
+ 59, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0, 86, 0, 0, 0,
+ 0, 0, 34, 0, 73, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 72, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0,
+ 89, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0,
+ 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 89, 0, 0, 0,
+ 0, 0, 34, 0, 75, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 77, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0,
+103, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0,
+ 79, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 86, 0, 0, 0,
+ 0, 0, 34, 0, 78, 0, 0, 0, 79, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0, 81, 0, 0, 0, 0, 0, 34, 0, 85, 0, 0, 0,
+ 98, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0,
+ 82, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 85, 0, 0, 0,
+ 0, 0, 34, 0, 89, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0,
+ 92, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0,
+ 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0,102, 0, 0, 0,
+ 0, 0, 34, 0, 93, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
+ 96, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
+ 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 97, 0, 0, 0,101, 0, 0, 0,
+ 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0,
+ 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
+ 94, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0,
+ 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0,
+ 70, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0,
+ 54, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0,102, 0, 0, 0,
+ 0, 0, 34, 0, 26, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0,
+ 83, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,
+107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,112, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,112, 0, 0, 0,114, 0, 0, 0,
+ 0, 0, 34, 0, 9, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,
+115, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,
+ 11, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,115, 0, 0, 0,
+ 0, 0, 34, 0, 31, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 41, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 35, 0, 0, 0,
+ 36, 0, 0, 0, 0, 0, 34, 0, 37, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 39, 0, 0, 0, 40, 0, 0, 0, 0, 0, 34, 0,
+ 30, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0, 39, 0, 0, 0,114, 0, 0, 0,
+ 0, 0, 34, 0, 45, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 45, 0, 0, 0,
+110, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,
+ 60, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0,109, 0, 0, 0,
+ 0, 0, 34, 0, 64, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0,
+ 57, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,
+ 38, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,113, 0, 0, 0,
+ 0, 0, 34, 0, 81, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0, 72, 0, 0, 0, 73, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0,
+ 71, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0, 77, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0,
+ 85, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,104, 0, 0, 0,
+ 0, 0, 34, 0, 83, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,
+107, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65,104, 1, 0, 0, 88, 69, 52, 3,
+ 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 71, 52, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 79, 52, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+ 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,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, 56, 98, 52, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,208, 7, 0, 0, 8, 71, 52, 3,
+ 0, 0, 0, 0, 48, 0, 0, 0,100, 0, 0, 0, 31, 0, 0, 0, 30, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0,
+ 33, 0, 0, 0, 32, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 41, 0, 0, 0, 40, 0, 0, 0,
+ 9, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 6, 0, 0, 0, 58, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0,114, 0, 0, 0, 11, 0, 0, 0,
+ 1, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0,115, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0,114, 0, 0, 0, 39, 0, 0, 0,
+ 38, 0, 0, 0,112, 0, 0, 0, 1, 0, 0, 0,115, 0, 0, 0, 11, 0, 0, 0,113, 0, 0, 0, 13, 0, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 10, 0, 0, 0, 12, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0,113, 0, 0, 0,112, 0, 0, 0,107, 0, 0, 0,
+ 67, 0, 0, 0, 1, 0, 0, 0,106, 0, 0, 0, 68, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 1, 0, 0, 0, 17, 0, 0, 0,
+ 16, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 1, 0, 0, 0, 15, 0, 0, 0, 14, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0,
+ 1, 0, 0, 0, 46, 0, 0, 0, 21, 0, 0, 0, 17, 0, 0, 0, 42, 0, 0, 0, 1, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0,
+ 15, 0, 0, 0, 16, 0, 0, 0, 1, 0, 0, 0, 18, 0, 0, 0, 36, 0, 0, 0, 37, 0, 0, 0, 14, 0, 0, 0, 1, 0, 0, 0,
+ 25, 0, 0, 0, 24, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 1, 0, 0, 0, 23, 0, 0, 0, 22, 0, 0, 0, 18, 0, 0, 0,
+ 19, 0, 0, 0, 1, 0, 0, 0, 53, 0, 0, 0, 29, 0, 0, 0, 25, 0, 0, 0, 49, 0, 0, 0, 1, 0, 0, 0, 28, 0, 0, 0,
+ 27, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 26, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 22, 0, 0, 0,
+ 1, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0,
+ 26, 0, 0, 0, 27, 0, 0, 0, 1, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 58, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+ 57, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 1, 0, 0, 0, 48, 0, 0, 0, 47, 0, 0, 0, 43, 0, 0, 0,
+ 44, 0, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 51, 0, 0, 0, 48, 0, 0, 0,110, 0, 0, 0, 1, 0, 0, 0, 50, 0, 0, 0,
+ 49, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 1, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0,
+ 1, 0, 0, 0,102, 0, 0, 0, 76, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 1, 0, 0, 0,103, 0, 0, 0, 77, 0, 0, 0,
+ 53, 0, 0, 0, 54, 0, 0, 0, 1, 0, 0, 0, 70, 0, 0, 0, 75, 0, 0, 0, 61, 0, 0, 0, 60, 0, 0, 0, 1, 0, 0, 0,
+ 61, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 62, 0, 0, 0, 63, 0, 0, 0, 65, 0, 0, 0,
+ 64, 0, 0, 0, 1, 0, 0, 0, 65, 0, 0, 0,110, 0, 0, 0, 45, 0, 0, 0,109, 0, 0, 0, 1, 0, 0, 0, 66, 0, 0, 0,
+109, 0, 0, 0, 59, 0, 0, 0, 69, 0, 0, 0, 1, 0, 0, 0, 72, 0, 0, 0, 71, 0, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0,
+ 1, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 74, 0, 0, 0, 73, 0, 0, 0, 1, 0, 0, 0,102, 0, 0, 0, 93, 0, 0, 0,
+ 89, 0, 0, 0, 75, 0, 0, 0, 1, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 1, 0, 0, 0,
+ 90, 0, 0, 0, 80, 0, 0, 0, 81, 0, 0, 0, 86, 0, 0, 0, 1, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 92, 0, 0, 0,
+ 93, 0, 0, 0, 1, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 1, 0, 0, 0,103, 0, 0, 0,
+101, 0, 0, 0, 97, 0, 0, 0, 76, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0,
+ 1, 0, 0, 0, 98, 0, 0, 0, 78, 0, 0, 0, 79, 0, 0, 0, 94, 0, 0, 0, 1, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0,
+100, 0, 0, 0,101, 0, 0, 0, 1, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 1, 0, 0, 0,
+ 85, 0, 0, 0,104, 0, 0, 0, 78, 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0, 99, 0, 0, 0,
+100, 0, 0, 0, 0, 0, 0, 0,101, 0, 0, 0,103, 0, 0, 0, 77, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0,
+ 98, 0, 0, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0,101, 0, 0, 0,100, 0, 0, 0, 96, 0, 0, 0, 97, 0, 0, 0,
+ 0, 0, 0, 0, 94, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 95, 0, 0, 0,
+ 91, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, 97, 0, 0, 0, 93, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,
+ 91, 0, 0, 0, 90, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, 92, 0, 0, 0, 88, 0, 0, 0,
+ 89, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 81, 0, 0, 0,105, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0,
+ 87, 0, 0, 0, 73, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 70, 0, 0, 0, 75, 0, 0, 0, 89, 0, 0, 0,
+ 0, 0, 0, 0,109, 0, 0, 0, 45, 0, 0, 0, 1, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 65, 0, 0, 0,
+109, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 52, 0, 0, 0,110, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
+ 60, 0, 0, 0, 61, 0, 0, 0, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,102, 0, 0, 0, 56, 0, 0, 0,
+ 61, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, 0,103, 0, 0, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0,
+ 53, 0, 0, 0, 49, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 55, 0, 0, 0, 51, 0, 0, 0, 52, 0, 0, 0,
+ 0, 0, 0, 0, 51, 0, 0, 0, 50, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 46, 0, 0, 0,
+ 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0, 48, 0, 0, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 58, 0, 0, 0, 44, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0,104, 0, 0, 0, 34, 0, 0, 0,
+ 26, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 84, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0,
+ 82, 0, 0, 0, 29, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0,
+ 0, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 35, 0, 0, 0,
+ 36, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 49, 0, 0, 0, 25, 0, 0, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0, 14, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0,
+ 37, 0, 0, 0,111, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 31, 0, 0, 0, 32, 0, 0, 0,
+ 0, 0, 0, 0, 33, 0, 0, 0, 57, 0, 0, 0, 42, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 69, 0, 0, 0,
+ 59, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0,113, 0, 0, 0, 67, 0, 0, 0,106, 0, 0, 0, 0, 0, 0, 0,
+112, 0, 0, 0, 38, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,115, 0, 0, 0, 13, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0,114, 0, 0, 0,112, 0, 0, 0,113, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0,
+ 6, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0,115, 0, 0, 0,
+ 0, 0, 0, 0, 9, 0, 0, 0, 40, 0, 0, 0, 39, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0,
+ 7, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 4, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,111, 0, 0, 0, 41, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+192, 18, 0, 0, 40, 79, 52, 3, 0, 0, 0, 0, 59, 0, 0, 0,100, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,
+120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63, 26, 95, 82, 62,120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,190,188, 0, 63,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61, 0, 29, 3, 63,128,106,188,189,
+176, 20,186, 62,144, 82,104, 61,128,223, 91, 62, 14, 95, 82, 62, 0, 21,186, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,127, 84,181, 62,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,188,188, 0, 63,
+120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,190,188, 0, 63,
+102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,122, 84,181, 62,248, 28, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63,
+ 0, 21,186, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,236, 65, 79, 63,188,188, 0, 63,
+120, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63,116, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,122, 84,181, 62, 32,224, 91, 62,138, 94, 82, 62, 48, 43,135, 61, 61, 84,181, 62,176,104,169,189,185,188, 0, 63,
+ 96, 44,135, 61, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,248, 28, 3, 63,185,188, 0, 63,
+ 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 99,131,140, 63,
+ 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 51,207, 38, 63, 24,224, 91, 62,185,188, 0, 63,
+ 96, 44,135, 61,248,207, 38, 63,144,109,169,189,112,226, 76, 63, 64, 38,135, 61, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,240,244,114, 63, 4,221, 91, 62,180,131,140, 63,116, 19,186, 62, 42,244,114, 63,244, 28, 3, 63,174,225, 76, 63,
+ 0, 21,186, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
+102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
+242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
+113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,
+216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,
+113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,
+120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,
+173,188,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,
+242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,
+120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
+102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,200, 84,104, 61,244, 65, 79, 63, 96,105,188,189,120, 47, 41, 63, 96,105,188,189,120, 47, 41, 63,200, 84,104, 61,
+242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,
+102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63, 56,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,
+173,188,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
+111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,
+236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,
+173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,
+102, 84,117, 63,174,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,190,188, 0, 63,171,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,
+111,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,162,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
+ 72, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63,
+ 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
+ 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63,
+ 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
+ 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,244,140,159, 63, 50, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 22,172,131, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63,
+ 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,176,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,174,131,185, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,144,128, 81, 63,
+ 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 24,172,131, 63,
+ 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,142,128, 81, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,227,151,158, 63,
+ 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 24,172,131, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,251,168, 27, 63, 96,211, 93, 59, 84,162,203, 62,
+ 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,225,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,227,151,158, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,146,128, 81, 63, 96,211, 93, 59,250,168, 27, 63,
+ 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,250,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59,251,168, 27, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,146,128, 81, 63,
+ 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,225,151,158, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,149,128, 81, 63, 96,211, 93, 59,251,168, 27, 63,
+ 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59,226,151,158, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,246,168, 27, 63, 96,211, 93, 59, 86,162,203, 62,
+ 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 24,172,131, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 21,172,131, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,226,151,158, 63,
+ 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 21,172,131, 63,
+ 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,248,168, 27, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,144,128, 81, 63,
+ 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,224,151,158, 63,
+ 96,211, 93, 59, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,
+236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,
+210, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,
+236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,
+210, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 72, 47, 41, 63, 44,244,114, 63,
+236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,174,225, 76, 63,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,
+173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,
+236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
+111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,
+111,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,
+102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
+111,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,
+220, 28, 3, 63, 56,127,118,190,220, 28, 3, 63, 96,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,244, 65, 79, 63,200, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,171,188,160, 63,122, 84,181, 62,
+113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,200, 84,104, 61,242, 65, 79, 63, 96,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
+242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
+102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,
+120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,
+242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,
+173,188,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,
+120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,
+113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,
+216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
+102, 84,117, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,
+173,188,160, 63,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,180,131,140, 63,116, 19,186, 62,244,140,159, 63, 50, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 42,244,114, 63,
+244, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63, 0, 21,186, 62, 51,207, 38, 63,
+ 24,224, 91, 62,112,226, 76, 63, 64, 38,135, 61,240,244,114, 63, 4,221, 91, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,185,188, 0, 63, 96, 44,135, 61, 61, 84,181, 62,176,104,169,189, 93,189, 0, 63, 80, 1,109,190,248,207, 38, 63,
+144,109,169,189, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,116, 47, 41, 63, 52,207, 38, 63,
+248, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,185,188, 0, 63, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63, 96, 44,135, 61, 51,207, 38, 63,
+ 24,224, 91, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
+236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,188,188, 0, 63,120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 52,207, 38, 63,
+248, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 14, 95, 82, 62, 0, 21,186, 62,144, 82,104, 61,
+128,223, 91, 62,138, 94, 82, 62, 48, 43,135, 61,122, 84,181, 62, 32,224, 91, 62, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63, 52,207, 38, 63,
+236, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,120, 47, 41, 63,160, 84,104, 61,
+ 0, 29, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62,248, 28, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63, 56,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
+113,179,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,
+242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,127, 84,181, 62,242, 65, 79, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0,
+ 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,128,106,188,189,176, 20,186, 62,160, 84,104, 61,
+ 0, 29, 3, 63, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 6, 0, 0, 56, 98, 52, 3,
+ 0, 0, 0, 0, 53, 0, 0, 0,144, 1, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0,200,104, 52, 3, 0, 0, 0, 0, 46, 0, 0, 0,
+ 1, 0, 0, 0, 56,108, 53, 3, 0, 0, 0, 0,248, 43, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 69, 67,117, 98,101, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,106, 52, 3, 0, 0, 0, 0, 56,199, 52, 3, 0, 0, 0, 0,152,238, 52, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,108, 52, 3, 0, 0, 0, 0, 24,150, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,168, 76, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,106, 52, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,148, 52, 3, 0, 0, 0, 0, 1, 0, 0, 0,
+ 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,197, 52, 3,
+ 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,249, 1, 0, 0,237, 3, 0, 0,244, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,192,133, 88, 61,184, 45, 85,189,
+196,181, 24,190,185, 71, 35, 63,153, 31,235, 62,130,102,203, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0,
+ 30, 0, 4, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 8, 0, 0, 0,168,106, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65,
+104, 1, 0, 0,248,106, 52, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,108, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5775,442 +6544,336 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+116, 39, 0, 0,168,108, 52, 3, 0, 0, 0, 0, 52, 0, 0, 0,249, 1, 0, 0,140,144,131, 62,119,163,200, 60,156, 9, 85, 62,
+ 36, 93, 58,172, 64, 26, 0, 0, 50,222, 26,190,119,163,200, 60,156, 9, 85, 62,220,162, 58,172, 64, 26, 0, 0, 61,126,146, 62,
+223, 37, 8,188, 99,183, 47, 62, 80, 77,177,190, 91, 78, 2, 0,147,185, 56,190,223, 37, 8,188, 99,183, 47, 62,176,178,177,190,
+ 91, 78, 2, 0,129,176,157, 62,211, 91,217,188,244,238,246, 61,106, 87,237,185,228, 61, 2, 0, 28, 30, 79,190,211, 91,217,188,
+244,238,246, 61,150,168,237,185,228, 61, 2, 0,115, 19, 94, 62,103,251,128,189,150, 32, 14, 62,213, 14, 8,145, 9, 62, 2, 0,
+ 26,161,227,189,103,251,128,189,150, 32, 14, 62, 43,241, 8,145, 9, 62, 2, 0,115, 19, 94, 62,251,118, 25,189, 20,165, 62, 62,
+146, 12,225,159,148, 83, 2, 0, 26,161,227,189,251,118, 25,189, 20,165, 62, 62,110,243,225,159,148, 83, 2, 0,115, 19, 94, 62,
+232,107, 34, 60,116,128, 92, 62,205, 4,122,132, 46, 33, 0, 0, 26,161,227,189,232,107, 34, 60,116,128, 92, 62, 51,251,122,132,
+ 46, 33, 0, 0, 58,193, 56, 62,119,163,200, 60, 77,247, 99, 62, 30,172, 83,167,129, 38, 0, 0,168,252,152,189,119,163,200, 60,
+ 77,247, 99, 62,226, 83, 83,167,129, 38, 0, 0,109, 42, 23, 62,223, 37, 8,188, 88,215, 73, 62, 41,217, 14,206, 67,111, 0, 0,
+229,197, 0, 62,211, 91,217,188, 71, 14, 29, 62,114,185,159,174, 37, 69, 2, 0,249, 23,164,188,211, 91,217,188, 71, 14, 29, 62,
+142, 70,159,174, 37, 69, 2, 0, 88,231,182, 61,159,154,121, 61,179,201, 32, 62,182,151,132,255, 51, 74, 2, 0,207,121,134, 60,
+159,154,121, 61,179,201, 32, 62, 74,104,132,255, 51, 74, 2, 0, 25,158,242, 61,159,154,121, 61, 88,215, 73, 62, 44,167,141,255,
+ 38, 92, 2, 0,110,194, 80,188,159,154,121, 61, 88,215, 73, 62,212, 88,141,255, 38, 92, 2, 0,138,211, 41, 62,159,154,121, 61,
+ 77,247, 99, 62,233,134, 91,254,110, 41, 0, 0,143, 66,118,189,159,154,121, 61, 77,247, 99, 62, 23,121, 91,254,110, 41, 0, 0,
+ 58,193, 56, 62,154,232,206, 61, 77,247, 99, 62, 63,171,127, 88,251, 36, 0, 0,168,252,152,189,154,232,206, 61, 77,247, 99, 62,
+193, 84,127, 88,251, 36, 0, 0,109, 42, 23, 62,173, 79, 5, 62, 88,215, 73, 62,191,197, 53, 67, 11, 92, 2, 0, 31,158, 43,189,
+173, 79, 5, 62, 88,215, 73, 62, 65, 58, 53, 67, 11, 92, 2, 0,229,197, 0, 62, 54,180, 27, 62, 71, 14, 29, 62, 49,188, 51, 80,
+ 41, 73, 2, 0,249, 23,164,188, 54,180, 27, 62, 71, 14, 29, 62,207, 67, 51, 80, 41, 73, 2, 0,115, 19, 94, 62,111, 6, 65, 62,
+150, 32, 14, 62,171, 15, 44,107, 51, 68, 2, 0, 26,161,227,189,111, 6, 65, 62,150, 32, 14, 62, 85,240, 44,107, 51, 68, 2, 0,
+115, 19, 94, 62, 14, 43, 35, 62, 20,165, 62, 62, 10, 13,188, 94, 19, 85, 2, 0, 26,161,227,189, 14, 43, 35, 62, 20,165, 62, 62,
+246,242,188, 94, 19, 85, 2, 0,115, 19, 94, 62,250,195,236, 61,116,128, 92, 62, 27, 4, 73,124, 81, 30, 0, 0, 26,161,227,189,
+250,195,236, 61,116,128, 92, 62,229,251, 73,124, 81, 30, 0, 0,140,144,131, 62,154,232,206, 61,156, 9, 85, 62,179, 93,140, 83,
+243, 24, 0, 0, 50,222, 26,190,154,232,206, 61,156, 9, 85, 62, 77,162,140, 83,243, 24, 0, 0, 61,126,146, 62,173, 79, 5, 62,
+ 99,183, 47, 62,225, 77, 89, 63,101, 79, 2, 0,147,185, 56,190,173, 79, 5, 62, 99,183, 47, 62, 31,178, 89, 63,101, 79, 2, 0,
+129,176,157, 62, 54,180, 27, 62,244,238,246, 61, 10, 86,225, 68, 20, 65, 2, 0, 28, 30, 79,190, 54,180, 27, 62,244,238,246, 61,
+246,169,225, 68, 20, 65, 2, 0,157, 89,176, 62,159,154,121, 61, 67, 1,232, 61, 39,111,149,255,117, 63, 2, 0, 84,112,116,190,
+159,154,121, 61, 67, 1,232, 61,217,144,149,255,117, 63, 2, 0,237,107,161, 62,159,154,121, 61,139, 64, 40, 62,169,102,145,255,
+112, 76, 2, 0,244,148, 86,190,159,154,121, 61,139, 64, 40, 62, 87,153,145,255,112, 76, 2, 0,100, 7,139, 62,159,154,121, 61,
+ 48, 78, 81, 62, 36,125,151,254,216, 26, 0, 0,227,203, 41,190,159,154,121, 61, 48, 78, 81, 62,220,130,151,254,216, 26, 0, 0,
+ 26,229,140, 62,159,154,121, 61, 8,197, 88, 62,162,124,112,254, 23, 29, 2, 0, 79,135, 45,190,159,154,121, 61, 8,197, 88, 62,
+ 94,131,112,254, 23, 29, 2, 0, 66,110,133, 62,114, 95,214, 61,116,128, 92, 62,105, 92, 46, 83,100, 30, 2, 0,158,153, 30,190,
+114, 95,214, 61,116,128, 92, 62,151,163, 46, 83,100, 30, 2, 0,115, 19, 94, 62,170,177,251, 61,185,178,103, 62,203, 4,126,119,
+158, 45, 2, 0, 26,161,227,189,170,177,251, 61,185,178,103, 62, 53,251,126,119,158, 45, 2, 0,206, 5, 53, 62,114, 95,214, 61,
+145, 41,111, 62,213,175,209, 82,166, 55, 2, 0,208,133,145,189,114, 95,214, 61,145, 41,111, 62, 43, 80,209, 82,166, 55, 2, 0,
+178, 92, 34, 62,159,154,121, 61,145, 41,111, 62, 93,139,110,254,175, 52, 2, 0, 48,103, 88,189,159,154,121, 61,145, 41,111, 62,
+163,116,110,254,175, 52, 2, 0,206, 5, 53, 62, 22,200,170, 60,145, 41,111, 62,226,176, 82,172,220, 55, 2, 0,208,133,145,189,
+ 22,200,170, 60,145, 41,111, 62, 30, 79, 82,172,220, 55, 2, 0,115, 19, 94, 62,159,154,121, 61,253,228,114, 62,128, 23, 82,255,
+209,125, 2, 0, 26,161,227,189,159,154,121, 61,253,228,114, 62,128,232, 82,255,209,125, 2, 0,115, 19, 94, 62,149,249, 43, 59,
+185,178,103, 62,186, 4, 80,136, 27, 45, 2, 0, 26,161,227,189,149,249, 43, 59,185,178,103, 62, 70,251, 80,136, 27, 45, 2, 0,
+ 66,110,133, 62, 22,200,170, 60,116,128, 92, 62,134, 91,236,171,153, 30, 2, 0,158,153, 30,190, 22,200,170, 60,116,128, 92, 62,
+122,164,236,171,153, 30, 2, 0,203,133, 88, 61,202,248, 23, 62, 88,215, 73, 62, 0, 0,209,122, 10, 36, 0, 0,203,133, 88, 61,
+ 34, 77,229, 61,145, 41,111, 62, 0, 0,235,252,245,127, 0, 0,203,133, 88, 61,150,254,188,190,236, 27, 70, 62, 0, 0,159,251,
+235,127, 0, 0,203,133, 88, 61,191, 79, 78,190,116,128, 92, 62, 0, 0, 65,146,221, 65, 2, 0,203,133, 88, 61,146,221, 14,190,
+ 77,247, 99, 62, 0, 0,125,100, 70, 79, 0, 0,203,133, 88, 61, 30, 99,211,190, 20,165, 62, 62, 0, 0,104,140,246, 54, 2, 0,
+203,133, 88, 61,133,198, 12, 62,190,169, 6, 62, 0, 0,143,112,238, 60, 0, 0,203,133, 88, 61, 99, 38, 91, 62, 28,120,239, 61,
+ 0, 0,104, 79, 98,100, 0, 0,203,133, 88, 61, 16,243,187, 62,170,250,206,190, 0, 0,144,106, 25,185, 2, 0,203,133, 88, 61,
+247,106, 87, 62,178,224, 11,191, 0, 0, 51, 40,124,134, 3, 0,203,133, 88, 61, 18,165,157,188, 33, 20, 9,191, 0, 0,140,217,
+235,133, 2, 0,203,133, 88, 61, 32, 43,108,190,227, 83,160,190, 0, 0,143,135,174,212, 2, 0,109, 42, 23, 62,146,221, 14,190,
+ 67, 1,232, 61,224,115, 50,206,203, 21, 0, 0, 31,158, 43,189,146,221, 14,190, 67, 1,232, 61, 32,140, 50,206,203, 21, 0, 0,
+ 87,106, 75, 62,138, 37,131,190, 28,120,239, 61,136,123, 6, 28, 94, 18, 2, 0,225, 78,190,189,138, 37,131,190, 28,120,239, 61,
+120,132, 6, 28, 94, 18, 2, 0,115, 19, 94, 62, 2,186,192,190, 28,120,239, 61,229,124, 36, 12, 56, 25, 0, 0, 26,161,227,189,
+ 2,186,192,190, 28,120,239, 61, 27,131, 36, 12, 56, 25, 0, 0, 75,138,101, 62,200, 96,239,190,227, 37,202, 61, 26,124, 38,237,
+ 2, 25, 2, 0,203,142,242,189,200, 96,239,190,227, 37,202, 61,230,131, 38,237, 2, 25, 2, 0, 47,225, 82, 62,195,112,252,190,
+ 10,175,194, 61,185, 83, 15,161,241, 18, 2, 0,146, 60,205,189,195,112,252,190, 10,175,194, 61, 71,172, 15,161,241, 18, 2, 0,
+ 41,248, 11, 62,242, 4, 1,191,107,138,224, 61, 45, 20, 69,131,109, 20, 2, 0, 27,170,253,188,242, 4, 1,191,107,138,224, 61,
+211,235, 69,131,109, 20, 2, 0,203,133, 88, 61,168,226, 2,191,244,238,246, 61, 0, 0,219,130,219, 26, 2, 0,140,144,131, 62,
+ 18,242,240,189,227, 37,202, 61, 38, 46,194,136,209, 5, 2, 0, 50,222, 26,190, 18,242,240,189,227, 37,202, 61,218,209,194,136,
+209, 5, 2, 0, 83, 55,178, 62, 23,233,143,189,187,156,209, 61, 96, 75,200,154, 89, 21, 2, 0,193, 43,120,190, 23,233,143,189,
+187,156,209, 61,160,180,200,154, 89, 21, 2, 0, 26,222,224, 62,182,236,140, 60, 49, 21,112, 61,208,116,116,204, 17,247, 2, 0,
+167,188,170,190,182,236,140, 60, 49, 21,112, 61, 48,139,116,204, 17,247, 2, 0,243, 84,232, 62,202,248, 23, 62, 82,238, 2, 62,
+167,112, 64, 54, 93, 27, 2, 0,128, 51,178,190,202,248, 23, 62, 82,238, 2, 62, 89,143, 64, 54, 93, 27, 2, 0,112,224,196, 62,
+190, 24, 50, 62, 2,220, 17, 62, 70, 65,159,106,113, 27, 0, 0,253,190,142,190,190, 24, 50, 62, 2,220, 17, 62,186,190,159,106,
+113, 27, 0, 0,134,160,144, 62, 20, 20,106, 62, 99,183, 47, 62,131, 76, 82,100,139, 21, 0, 0, 39,254, 52,190, 20, 20,106, 62,
+ 99,183, 47, 62,125,179, 82,100,139, 21, 0, 0,195, 37, 79, 62, 67, 92,154, 62,236, 27, 70, 62, 56, 29,185,122,159, 21, 2, 0,
+186,197,197,189, 67, 92,154, 62,236, 27, 70, 62,200,226,185,122,159, 21, 2, 0,229,197, 0, 62,181, 7,145, 62, 48, 78, 81, 62,
+ 95,179,127, 99,180, 24, 2, 0,249, 23,164,188,181, 7,145, 62, 48, 78, 81, 62,161, 76,127, 99,180, 24, 2, 0,168,249,167, 61,
+ 42,212, 53, 62,196,146, 77, 62,169,154,155, 74, 94, 23, 0, 0,144, 48,194, 60, 42,212, 53, 62,196,146, 77, 62, 87,101,155, 74,
+ 94, 23, 0, 0, 81,129, 4, 62,241,129, 16, 62, 8,197, 88, 62,248, 33,229,229,156,120, 0, 0, 89,243,193,188,241,129, 16, 62,
+ 8,197, 88, 62, 8,222,229,229,156,120, 0, 0,105,176,227, 61, 17,132,184, 61,156, 9, 85, 62,162, 3,150,230,100,125, 0, 0,
+214,169,178,187, 17,132,184, 61,156, 9, 85, 62, 94,252,150,230,100,125, 0, 0, 31,158, 43,189,223, 37, 8,188, 88,215, 73, 62,
+215, 38, 14,206, 67,111, 0, 0,184, 69,105, 62, 92, 82, 55,189, 59, 46, 55, 62,194, 39,112,212,152,113, 0, 0,163, 5,250,189,
+ 92, 82, 55,189, 59, 46, 55, 62, 62,216,112,212,152,113, 0, 0,134,160,144, 62,115,128,187,188,139, 64, 40, 62,176, 53,101,207,
+137,105, 0, 0, 39,254, 52,190,115,128,187,188,139, 64, 40, 62, 80,202,101,207,137,105, 0, 0,157, 89,176, 62,205, 26, 17, 61,
+ 71, 14, 29, 62,129, 56,167,229,200,111, 0, 0, 84,112,116,190,205, 26, 17, 61, 71, 14, 29, 62,127,199,167,229,200,111, 0, 0,
+ 9, 21,180, 62, 57, 13,177, 61, 71, 14, 29, 62,117, 46,213,228, 33,116, 0, 0, 45,231,123,190, 57, 13,177, 61, 71, 14, 29, 62,
+139,209,213,228, 33,116, 0, 0,123,192,170, 62,170,177,251, 61, 31,133, 36, 62,228, 30,190,216,216,117, 0, 0, 16, 62,105,190,
+170,177,251, 61, 31,133, 36, 62, 28,225,190,216,216,117, 0, 0,214,178,129, 62, 54,180, 27, 62, 20,165, 62, 62, 82, 25,170,254,
+117,125, 0, 0,198, 34, 23,190, 54,180, 27, 62, 20,165, 62, 62,174,230,170,254,117,125, 0, 0,246,142, 45, 62,230,161, 42, 62,
+ 48, 78, 81, 62, 13, 34,233,239, 84,122, 0, 0, 32,152,130,189,230,161, 42, 62, 48, 78, 81, 62,243,221,233,239, 84,122, 0, 0,
+203,133, 88, 61,104,133,209,190,236, 27, 70, 62, 0, 0,130,201,209,115, 0, 0,185,194,212, 61, 36, 83,198,190,236, 27, 70, 62,
+244, 19, 41,234,135,124, 0, 0,191,196,240, 58, 36, 83,198,190,236, 27, 70, 62, 12,236, 41,234,135,124, 0, 0,145, 57,220, 61,
+207, 80,226,190,167,233, 58, 62,102, 11,172,214,154,120, 0, 0, 77,241,236,186,207, 80,226,190,167,233, 58, 62,154,244,172,214,
+154,120, 0, 0,168,249,167, 61, 19,131,237,190,207,114, 51, 62,198,252, 75,203,152,116, 0, 0,144, 48,194, 60, 19,131,237,190,
+207,114, 51, 62, 58, 3, 75,203,152,116, 0, 0,203,133, 88, 61,200, 96,239,190, 99,183, 47, 62, 0, 0,154,213,196,120, 0, 0,
+203,133, 88, 61,254,152, 18,190,196,146, 77, 62, 0, 0, 46, 97, 76, 83, 0, 0,203,133, 88, 61, 18,242,240,189, 88,215, 73, 62,
+ 0, 0,220, 72, 59,105, 0, 0,225, 75,205, 61,235,104,248,189, 88,215, 73, 62, 91, 32,137, 44,141,115, 0, 0,179,158,179, 59,
+235,104,248,189, 88,215, 73, 62,165,223,137, 44,141,115, 0, 0,105,176,227, 61,174,134, 33,190,196,146, 77, 62, 91, 92, 85,209,
+ 85, 75, 0, 0,214,169,178,187,174,134, 33,190,196,146, 77, 62,165,163, 85,209, 85, 75, 0, 0, 48, 94,190, 61, 15, 98, 63,190,
+ 88,215, 73, 62,153, 63, 63,200, 17, 96, 0, 0,220, 60, 81, 60, 15, 98, 63,190, 88,215, 73, 62,103,192, 63,200, 17, 96, 0, 0,
+252,119,116, 62,239, 95,151,189,139, 64, 40, 62,192, 48,194,189, 17, 98, 0, 0, 22, 53, 8,190,239, 95,151,189,139, 64, 40, 62,
+ 64,207,194,189, 17, 98, 0, 0,231,123,174, 62,211, 91,217,188, 2,220, 17, 62,214, 63,168,204, 87, 98, 2, 0,232,180,112,190,
+211, 91,217,188, 2,220, 17, 62, 42,192,168,204, 87, 98, 2, 0,220,155,200, 62, 45,246, 46, 61,190,169, 6, 62, 66, 70, 51,214,
+123, 98, 0, 0,105,122,146,190, 45,246, 46, 61,190,169, 6, 62,190,185, 51,214,123, 98, 0, 0, 72, 87,204, 62,170,177,251, 61,
+179,201, 32, 62,103, 62, 46,237, 39,110, 0, 0,213, 53,150,190,170,177,251, 61,179,201, 32, 62,153,193, 46,237, 39,110, 0, 0,
+ 78, 71,191, 62,241,129, 16, 62,128, 96, 66, 62,188, 43,214,251, 56,120, 2, 0,219, 37,137,190,241,129, 16, 62,128, 96, 66, 62,
+ 68,212,214,251, 56,120, 2, 0,140,144,131, 62, 31,244, 79, 62, 77,247, 99, 62, 53, 40, 29,252,116,121, 0, 0, 50,222, 26,190,
+ 31,244, 79, 62, 77,247, 99, 62,203,215, 29,252,116,121, 0, 0, 87,106, 75, 62, 48,189,124, 62,105,160,118, 62,180, 34, 68, 27,
+ 37,120, 0, 0,225, 78,190,189, 48,189,124, 62,105,160,118, 62, 76,221, 68, 27, 37,120, 0, 0,109, 42, 23, 62,236,138,113, 62,
+ 65, 23,126, 62,250,234, 91, 20,154,124, 0, 0, 31,158, 43,189,236,138,113, 62, 65, 23,126, 62, 6, 21, 91, 20,154,124, 0, 0,
+225, 75,205, 61,202,248, 23, 62,213, 91,122, 62,170,246, 84,252,154,127, 0, 0,179,158,179, 59,202,248, 23, 62,213, 91,122, 62,
+ 86, 9, 84,252,154,127, 0, 0,105,176,227, 61,217,159,203,189, 37,110,107, 62,125, 8, 79,231, 77,125, 0, 0,214,169,178,187,
+217,159,203,189, 37,110,107, 62,131,247, 79,231, 77,125, 0, 0,218,229, 26, 62, 64, 3,133,190,167,233, 58, 62, 41, 75, 84, 14,
+155,102, 2, 0,207,139, 58,189, 64, 3,133,190,167,233, 58, 62,215,180, 84, 14,155,102, 2, 0,246,142, 45, 62,184,151,194,190,
+ 99,183, 47, 62,174, 72,200,251, 69,105, 2, 0, 32,152,130,189,184,151,194,190, 99,183, 47, 62, 82,183,200,251, 69,105, 2, 0,
+206, 5, 53, 62, 99,149,222,190, 31,133, 36, 62, 39, 71, 91,228,189,102, 2, 0,208,133,145,189, 99,149,222,190, 31,133, 36, 62,
+217,184, 91,228,189,102, 2, 0, 30, 24, 38, 62,234,249,244,190,111,151, 21, 62,118, 46,217,176, 53, 89, 2, 0,224, 84,103,189,
+234,249,244,190,111,151, 21, 62,138,209,217,176, 53, 89, 2, 0, 81,129, 4, 62, 86,181,248,190,111,151, 21, 62,124, 21,143,159,
+ 92, 81, 2, 0, 89,243,193,188, 86,181,248,190,111,151, 21, 62,132,234,143,159, 92, 81, 2, 0,203,133, 88, 61,195,112,252,190,
+219, 82, 25, 62, 0, 0,155,154, 28, 78, 2, 0,203,133, 88, 61, 52, 55,247,188,128, 96, 66, 62, 0, 0,185, 1,252,127, 0, 0,
+203,133, 88, 61,222,227, 61, 61,156, 9, 85, 62, 0, 0,102,227,194,124, 0, 0, 47,225, 82, 62, 82, 93, 46, 62, 88,215, 73, 62,
+ 20, 17,134,243, 60,126, 0, 0,146, 60,205,189, 82, 93, 46, 62, 88,215, 73, 62,236,238,134,243, 60,126, 0, 0, 81,129, 4, 62,
+170, 34, 94, 60,196,146, 77, 62, 69,216, 70,234,183,119, 0, 0, 89,243,193,188,170, 34, 94, 60,196,146, 77, 62,187, 39, 70,234,
+183,119, 0, 0, 65, 39,235, 61,222,227, 61, 61, 48, 78, 81, 62, 55,235,111,230,174,123, 0, 0,173, 11, 21,188,222,227, 61, 61,
+ 48, 78, 81, 62,201, 20,111,230,174,123, 0, 0,145, 57,220, 61, 76,220,190,190,236, 27, 70, 62, 18, 23,153,248,174,125, 0, 0,
+ 77,241,236,186, 76,220,190,190,236, 27, 70, 62,238,232,153,248,174,125, 0, 0, 88,231,182, 61, 64, 3,133,190,196,146, 77, 62,
+190, 17, 95, 0,194,126, 2, 0,207,121,134, 60, 64, 3,133,190,196,146, 77, 62, 66,238, 95, 0,194,126, 2, 0,203,133, 88, 61,
+ 64, 3,133,190,196,146, 77, 62, 0, 0,122,255,254,127, 0, 0,203,133, 88, 61, 43, 11, 82,190, 88,215, 73, 62, 0, 0,111,197,
+207,113, 0, 0, 8,213,197, 61, 55,235, 55,190,116,128, 92, 62, 71, 74,123,162, 9, 46, 2, 0, 27,134, 21, 60, 55,235, 55,190,
+116,128, 92, 62,185,181,123,162, 9, 46, 2, 0, 65, 39,235, 61,174,134, 33,190, 77,247, 99, 62, 88,118,191,228,110, 40, 2, 0,
+173, 11, 21,188,174,134, 33,190, 77,247, 99, 62,168,137,191,228,110, 40, 2, 0,185,194,212, 61, 57,123,233,189,116,128, 92, 62,
+150, 79, 31, 99,242, 14, 2, 0,191,196,240, 58, 57,123,233,189,116,128, 92, 62,106,176, 31, 99,242, 14, 2, 0, 31,149,145, 61,
+ 97, 4,226,189,116,128, 92, 62, 95,217,134,120, 24, 19, 2, 0, 89,225, 13, 61, 97, 4,226,189,116,128, 92, 62,161, 38,134,120,
+ 24, 19, 2, 0,203,133, 88, 61,106, 84, 22,190,253,228,114, 62, 0, 0,137, 14, 42,127, 0, 0,247, 11,153, 61,235,104,248,189,
+ 37,110,107, 62,130,230, 5, 77,255, 98, 2, 0, 82,231,253, 60,235,104,248,189, 37,110,107, 62,126, 25, 5, 77,255, 98, 2, 0,
+ 8,213,197, 61,195,223,255,189, 37,110,107, 62,229, 46,209, 60,101,102, 2, 0, 27,134, 21, 60,195,223,255,189, 37,110,107, 62,
+ 27,209,209, 60,101,102, 2, 0,185,194,212, 61,174,134, 33,190,253,228,114, 62,254, 54, 84,232, 32,113, 2, 0,191,196,240, 58,
+174,134, 33,190,253,228,114, 62, 2,201, 84,232, 32,113, 2, 0, 88,231,182, 61,243,184, 44,190,185,178,103, 62, 59, 28,209,183,
+219,101, 2, 0,207,121,134, 60,243,184, 44,190,185,178,103, 62,197,227,209,183,219,101, 2, 0,203,133, 88, 61, 15, 98, 63,190,
+185,178,103, 62, 0, 0, 89,188,167,108, 2, 0, 98, 74, 49, 62, 83,148, 74,190,107,138,224, 61, 32,120,156, 41,218, 14, 0, 0,
+248, 14,138,189, 83,148, 74,190,107,138,224, 61,224,135,156, 41,218, 14, 0, 0, 81,129, 4, 62,134,253, 40,190,167,233, 58, 62,
+ 27, 95,200, 3,147, 85, 0, 0, 89,243,193,188,134,253, 40,190,167,233, 58, 62,229,160,200, 3,147, 85, 0, 0, 41,248, 11, 62,
+ 83,148, 74,190,167,233, 58, 62,188, 82, 59, 18,241, 95, 0, 0, 27,170,253,188, 83,148, 74,190,167,233, 58, 62, 68,173, 59, 18,
+241, 95, 0, 0, 30, 24, 38, 62,243,184, 44,190,107,138,224, 61, 9,122, 11, 36,207, 13, 0, 0,224, 84,103,189,243,184, 44,190,
+107,138,224, 61,247,133, 11, 36,207, 13, 0, 0,203,133, 88, 61, 93,165,235,190, 99,183, 47, 62, 0, 0,198, 82,160, 97, 0, 0,
+247, 11,153, 61,167,199,233,190, 99,183, 47, 62,149,208,194, 69, 69, 96, 0, 0, 82,231,253, 60,167,199,233,190, 99,183, 47, 62,
+107, 47,194, 69, 69, 96, 0, 0, 8,213,197, 61, 99,149,222,190,167,233, 58, 62,197,172,223, 7,235, 96, 0, 0, 27,134, 21, 60,
+ 99,149,222,190,167,233, 58, 62, 59, 83,223, 7,235, 96, 0, 0, 8,213,197, 61, 70,236,203,190,128, 96, 66, 62,104,241, 70,177,
+219, 99, 0, 0, 27,134, 21, 60, 70,236,203,190,128, 96, 66, 62,152, 14, 70,177,219, 99, 0, 0,203,133, 88, 61,212, 64,213,190,
+179,201, 32, 62, 0, 0,141,166,141, 91, 0, 0, 8,213,197, 61,252,201,205,190, 31,133, 36, 62,233,189,224,165, 99, 62, 0, 0,
+ 27,134, 21, 60,252,201,205,190, 31,133, 36, 62, 23, 66,224,165, 99, 62, 0, 0, 8,213,197, 61,173,183,220,190,219, 82, 25, 62,
+160,169,174, 14, 78, 93, 0, 0, 27,134, 21, 60,173,183,220,190,219, 82, 25, 62, 96, 86,174, 14, 78, 93, 0, 0,247, 11,153, 61,
+ 59, 12,230,190,111,151, 21, 62, 30,214,188, 60,151,104, 0, 0, 82,231,253, 60, 59, 12,230,190,111,151, 21, 62,226, 41,188, 60,
+151,104, 0, 0,203,133, 88, 61,241,233,231,190,111,151, 21, 62, 0, 0,177, 67,161,108, 0, 0,189, 60, 8, 62,142,209, 76, 61,
+116,128, 92, 62, 27, 21,134,244,184,125, 0, 0,186,206,223,188,142,209, 76, 61,116,128, 92, 62,229,234,134,244,184,125, 0, 0,
+149,179, 15, 62, 22,200,170, 60, 8,197, 88, 62,210,253, 49,248,189,127, 0, 0,190,194, 13,189, 22,200,170, 60, 8,197, 88, 62,
+ 46, 2, 49,248,189,127, 0, 0,155,156, 86, 62,202,248, 23, 62, 48, 78, 81, 62, 53, 21,115, 14,101,125, 0, 0,106,179,212,189,
+202,248, 23, 62, 48, 78, 81, 62,203,234,115, 14,101,125, 0, 0, 58,193, 56, 62, 94, 61, 20, 62, 8,197, 88, 62,103, 23,178, 4,
+192,125, 2, 0,168,252,152,189, 94, 61, 20, 62, 8,197, 88, 62,153,232,178, 4,192,125, 2, 0, 64,170,127, 62, 25, 11, 9, 62,
+ 8,197, 88, 62, 38, 22,205,241, 67,125, 2, 0, 90,103, 19,190, 25, 11, 9, 62, 8,197, 88, 62,218,233,205,241, 67,125, 2, 0,
+237,107,161, 62, 34, 77,229, 61,207,114, 51, 62, 51, 39, 96, 4,196,121, 0, 0,244,148, 86,190, 34, 77,229, 61,207,114, 51, 62,
+205,216, 96, 4,196,121, 0, 0, 15, 5,167, 62, 97,150,169, 61, 99,183, 47, 62,238, 23,158,247,117,125, 0, 0, 56,199, 97,190,
+ 97,150,169, 61, 99,183, 47, 62, 18,232,158,247,117,125, 0, 0, 89, 39,165, 62,125, 8, 32, 61,247,251, 43, 62, 69, 38, 13,244,
+142,121, 0, 0,204, 11, 94,190,125, 8, 32, 61,247,251, 43, 62,187,217, 13,244,142,121, 0, 0, 26,229,140, 62, 60,222,152,187,
+ 20,165, 62, 62,148, 36,144,250,137,122, 0, 0, 79,135, 45,190, 60,222,152,187, 20,165, 62, 62,108,219,144,250,137,122, 0, 0,
+184, 69,105, 62,115,128,187,188, 88,215, 73, 62,146, 25,123,229,148,122, 0, 0,163, 5,250,189,115,128,187,188, 88,215, 73, 62,
+110,230,123,229,148,122, 0, 0,178, 92, 34, 62,226,194,133,186,116,128, 92, 62,166, 1, 8,236,106,126, 0, 0, 48,103, 88,189,
+226,194,133,186,116,128, 92, 62, 90,254, 8,236,106,126, 0, 0, 41,248, 11, 62, 57, 13,177, 61,116,128, 92, 62, 48, 30, 16,242,
+153,123, 0, 0, 27,170,253,188, 57, 13,177, 61,116,128, 92, 62,208,225, 16,242,153,123, 0, 0,218,229, 26, 62,170,177,251, 61,
+116,128, 92, 62,232, 20, 76,245,210,125, 0, 0,207,139, 58,189,170,177,251, 61,116,128, 92, 62, 24,235, 76,245,210,125, 0, 0,
+ 30, 24, 38, 62,250,195,236, 61, 48, 78, 81, 62, 31, 64,221,206, 71, 99, 0, 0,224, 84,103,189,250,195,236, 61, 48, 78, 81, 62,
+225,191,221,206, 71, 99, 0, 0, 1,111, 19, 62, 57, 13,177, 61, 48, 78, 81, 62,138, 95,174,228,172, 80, 0, 0,110,176, 28,189,
+ 57, 13,177, 61, 48, 78, 81, 62,118,160,174,228,172, 80, 0, 0,138,211, 41, 62, 77,106,205, 59, 48, 78, 81, 62, 84, 54,203, 71,
+250, 90, 0, 0,143, 66,118,189, 77,106,205, 59, 48, 78, 81, 62,172,201,203, 71,250, 90, 0, 0,184, 69,105, 62,161,220, 67,188,
+128, 96, 66, 62, 14, 19,134, 78, 67, 99, 0, 0,163, 5,250,189,161,220, 67,188,128, 96, 66, 62,242,236,134, 78, 67, 99, 0, 0,
+174, 41,137, 62,149,249, 43, 59, 59, 46, 55, 62, 93,245, 83, 69, 17,107, 0, 0,118, 16, 38,190,149,249, 43, 59, 59, 46, 55, 62,
+163, 10, 83, 69, 17,107, 0, 0,129,176,157, 62,222,227, 61, 61,139, 64, 40, 62, 97,223,176, 28,101,120, 0, 0, 28, 30, 79,190,
+222,227, 61, 61,139, 64, 40, 62,159, 32,176, 28,101,120, 0, 0, 55,142,159, 62,137, 31,162, 61,139, 64, 40, 62,148,210,138,239,
+134,118, 0, 0,136,217, 82,190,137, 31,162, 61,139, 64, 40, 62,108, 45,138,239,134,118, 0, 0, 21,245,153, 62,114, 95,214, 61,
+247,251, 43, 62, 33,231, 38,177,180, 97, 0, 0, 67,167, 71,190,114, 95,214, 61,247,251, 43, 62,223, 24, 38,177,180, 97, 0, 0,
+212,238,123, 62,173, 79, 5, 62,196,146, 77, 62, 18,238,118,158,234, 80, 2, 0,238,171, 15,190,173, 79, 5, 62,196,146, 77, 62,
+238, 17,118,158,234, 80, 2, 0,166,124, 60, 62, 25, 11, 9, 62,156, 9, 85, 62, 52, 39, 21,212,166,113, 2, 0,129,115,160,189,
+ 25, 11, 9, 62,156, 9, 85, 62,204,216, 21,212,166,113, 2, 0,155,156, 86, 62,133,198, 12, 62,196,146, 77, 62, 69, 0,155,192,
+ 49,111, 0, 0,106,179,212,189,133,198, 12, 62,196,146, 77, 62,187,255,155,192, 49,111, 0, 0,109, 42, 23, 62,216,126,230, 60,
+196,146, 77, 62,255, 87, 17, 38,203, 84, 0, 0, 31,158, 43,189,216,126,230, 60,196,146, 77, 62, 1,168, 17, 38,203, 84, 0, 0,
+ 1,111, 19, 62, 63,191, 91, 61,196,146, 77, 62, 16,103,234, 1,224, 75, 0, 0,110,176, 28,189, 63,191, 91, 61,196,146, 77, 62,
+240,152,234, 1,224, 75, 0, 0,185,194,212, 61,122,230, 38, 62, 42,101, 10, 62,106,191, 91,110,188, 5, 0, 0,191,196,240, 58,
+122,230, 38, 62, 42,101, 10, 62,150, 64, 91,110,188, 5, 0, 0, 1,111, 19, 62,186,247,131, 62,150, 32, 14, 62,242,194, 70, 65,
+ 98,164, 2, 0,110,176, 28,189,186,247,131, 62,150, 32, 14, 62, 14, 61, 70, 65, 98,164, 2, 0,155,156, 86, 62,220,144,137, 62,
+ 82,238, 2, 62,171, 14,231, 83,118,160, 2, 0,106,179,212,189,220,144,137, 62, 82,238, 2, 62, 85,241,231, 83,118,160, 2, 0,
+208,194,142, 62,139,175, 83, 62,107,138,224, 61,121, 39,247,116, 47,222, 0, 0,187, 66, 49,190,139,175, 83, 62,107,138,224, 61,
+135,216,247,116, 47,222, 0, 0,152,105,189, 62, 14, 43, 35, 62,170,211,164, 61,252, 44, 81,116, 54,227, 0, 0, 37, 72,135,190,
+ 14, 43, 35, 62,170,211,164, 61, 4,211, 81,116, 54,227, 0, 0, 66,103,217, 62,133,198, 12, 62, 73,248,134, 61,158, 94,220, 76,
+251,216, 0, 0,207, 69,163,190,133,198, 12, 62, 73,248,134, 61, 98,161,220, 76,251,216, 0, 0, 32,206,211, 62,119,163,200, 60,
+252,115,211, 60, 59,120,187,216, 97,236, 0, 0,173,172,157,190,119,163,200, 60,252,115,211, 60,197,135,187,216, 97,236, 0, 0,
+123,192,170, 62,188, 45, 85,189,112, 94, 52, 61,213, 73, 49,152,144,243, 0, 0, 16, 62,105,190,188, 45, 85,189,112, 94, 52, 61,
+ 43,182, 49,152,144,243, 0, 0,140,144,131, 62, 0, 41,196,189, 33,111,142, 61, 61, 56,195,141,255,242, 0, 0, 50,222, 26,190,
+ 0, 41,196,189, 33,111,142, 61,195,199,195,141,255,242, 0, 0,203,133, 88, 61, 16,243,187, 62, 89,242,105,188, 0, 0,207,105,
+ 5, 72, 2, 0,203,133, 88, 61,226,121,208, 62,254, 7, 62,190, 0, 0,246,127,248, 2, 2, 0,203,133, 88, 61,254,152, 18,190,
+ 11,214,236,190, 0, 0,213,166, 46,164, 3, 0,203,133, 88, 61,173,190,136,190,139,142,124,189, 0, 0,195,129,226,234, 0, 0,
+203,133, 88, 61,205,243, 1,191, 73,248,134, 61, 0, 0, 26,147,190,188, 2, 0,203,133, 88, 61,247,217,218,190,241, 12, 56, 60,
+ 0, 0,226,217,208,133, 2, 0,203,133, 88, 61,161,222,162,190,147, 21,157, 57, 0, 0, 83,215,164,134, 0, 0,203,133, 88, 61,
+207, 87,142,190,141,212,146,188, 0, 0,243,152, 22,180, 0, 0, 61,119,230, 62,239,172,106, 61,161, 43,253,189,243,124, 39,230,
+ 19, 10, 0, 0,202, 85,176,190,239,172,106, 61,161, 43,253,189, 13,131, 39,230, 19, 10, 0, 0,243, 84,232, 62,194,113,199, 61,
+ 78, 26, 47,190,220,127, 45,250,202, 0, 0, 0,128, 51,178,190,194,113,199, 61, 78, 26, 47,190, 36,128, 45,250,202, 0, 0, 0,
+ 32,206,211, 62,216, 49,147, 61,181,218,180,190, 32, 80,174,252, 62,156, 1, 0,173,172,157,190,216, 49,147, 61,181,218,180,190,
+224,175,174,252, 62,156, 1, 0,174, 41,137, 62, 54,180, 27, 62,226, 76,244,190, 9, 58, 51, 25,189,144, 3, 0,118, 16, 38,190,
+ 54,180, 27, 62,226, 76,244,190,247,197, 51, 25,189,144, 3, 0,146,121,202, 62,239, 95,151,189,240, 61,238,189,139, 91, 11,167,
+108, 9, 2, 0, 31, 88,148,190,239, 95,151,189,240, 61,238,189,117,164, 11,167,108, 9, 2, 0,197,226,168, 62, 97, 4,226,189,
+163, 21,103,190, 32, 35, 32,133,239,248, 0, 0,164,130,101,190, 97, 4,226,189,163, 21,103,190,224,220, 32,133,239,248, 0, 0,
+ 9, 21,180, 62,109, 27,100,189,255,252,178,190,117, 51, 16,177, 97,169, 1, 0, 45,231,123,190,109, 27,100,189,255,252,178,190,
+139,204, 16,177, 97,169, 1, 0,155,156, 86, 62,211, 91,217,188, 85,248,234,190, 58, 54,135,214,188,147, 2, 0,106,179,212,189,
+211, 91,217,188, 85,248,234,190,198,201,135,214,188,147, 2, 0, 30, 24, 38, 62,112, 61, 93,190,191,112, 37, 61,229,122,202,255,
+ 60,220, 0, 0,224, 84,103,189,112, 61, 93,190,191,112, 37, 61, 27,133,202,255, 60,220, 0, 0, 41,248, 11, 62,209, 24,123,190,
+176,102,236,188,236, 92,238,180, 10,210, 0, 0, 27,170,253,188,209, 24,123,190,176,102,236,188, 20,163,238,180, 10,210, 0, 0,
+ 19, 56, 64, 62,110,117,196,190, 92, 79,241, 60,138, 77,170, 2, 52,154, 2, 0, 89,234,167,189,110,117,196,190, 92, 79,241, 60,
+118,178,170, 2, 52,154, 2, 0,246,142, 45, 62, 59, 19,146,190, 95,149, 7, 61,103, 99,206,254, 97,175, 0, 0, 32,152,130,189,
+ 59, 19,146,190, 95,149, 7, 61,153,156,206,254, 97,175, 0, 0, 47,225, 82, 62,234,249,244,190, 15,131, 22, 61,129, 71, 28,196,
+ 90,168, 2, 0,146, 60,205,189,234,249,244,190, 15,131, 22, 61,127,184, 28,196, 90,168, 2, 0, 25,158,242, 61,178,167,207,190,
+155,152,181, 60,141, 16, 26,233, 42,131, 0, 0,110,194, 80,188,178,167,207,190,155,152,181, 60,115,239, 26,233, 42,131, 0, 0,
+105,176,227, 61,201,103,155,190, 58,189,151, 60, 50, 43,143,223,247,139, 0, 0,214,169,178,187,201,103,155,190, 58,189,151, 60,
+206,212,143,223,247,139, 0, 0, 81,129, 4, 62,195,112,252,190,129, 39, 97, 61,181, 12,181,157, 3,175, 0, 0, 89,243,193,188,
+195,112,252,190,129, 39, 97, 61, 75,243,181,157, 3,175, 0, 0, 70,161, 30, 62,163,166, 59,190,208, 57, 82, 61,142,124,137,226,
+ 5, 0, 0, 0,127,121, 73,189,163,166, 59,190,208, 57, 82, 61,114,131,137,226, 5, 0, 0, 0,218,229, 26, 62,174,134, 33,190,
+ 33,111,142, 61, 18,122,107,230,193, 28, 0, 0,207,139, 58,189,174,134, 33,190, 33,111,142, 61,238,133,107,230,193, 28, 0, 0,
+109, 42, 23, 62,186,102, 7,190,130, 74,172, 61, 49,104, 11,185, 42, 22, 0, 0, 31,158, 43,189,186,102, 7,190,130, 74,172, 61,
+207,151, 11,185, 42, 22, 0, 0,218,229, 26, 62,140,230,111,190,206,171,148,189, 91, 75,146,152,161,253, 0, 0,207,139, 58,189,
+140,230,111,190,206,171,148,189,165,180,146,152,161,253, 0, 0,127,243, 67, 62, 83,148, 74,190, 16,205,139,190,187, 66, 88,150,
+ 83,228, 2, 0, 49, 97,175,189, 83,148, 74,190, 16,205,139,190, 69,189, 88,150, 83,228, 2, 0, 7, 88, 90, 62,235,104,248,189,
+244, 28,205,190,113, 66, 21,172,210,185, 3, 0, 66, 42,220,189,235,104,248,189,244, 28,205,190,143,189, 21,172,210,185, 3, 0,
+248, 75,135, 62, 55,124,180, 62,187,202,167,190,129, 54,206,102,175,202, 2, 0, 10, 85, 34,190, 55,124,180, 62,187,202,167,190,
+127,201,206,102,175,202, 2, 0,248, 75,135, 62,232,105,195, 62,146, 76, 58,190,186, 53, 22,116,118, 4, 2, 0, 10, 85, 34,190,
+232,105,195, 62,146, 76, 58,190, 70,202, 22,116,118, 4, 2, 0,248, 75,135, 62,203,192,176, 62,105,252, 34,189, 3, 59,236, 93,
+221, 63, 2, 0, 10, 85, 34,190,203,192,176, 62,105,252, 34,189,253,196,236, 93,221, 63, 2, 0,174, 41,137, 62,219,193, 68, 62,
+208, 57, 82, 61, 32, 50,252,105, 90, 51, 0, 0,118, 16, 38,190,219,193, 68, 62,208, 57, 82, 61,224,205,252,105, 90, 51, 0, 0,
+220,155,200, 62,133,198, 12, 62, 95,172,248, 59,242, 97,236, 79, 9, 20, 0, 0,105,122,146,190,133,198, 12, 62, 95,172,248, 59,
+ 14,158,236, 79, 9, 20, 0, 0, 83, 55,178, 62, 14, 43, 35, 62,141,212,146,188,108, 60,141, 99, 28, 53, 0, 0,193, 43,120,190,
+ 14, 43, 35, 62,141,212,146,188,148,195,141, 99, 28, 53, 0, 0, 9, 21,180, 62, 72, 76,141, 62,161, 43,253,189, 96, 83, 57, 87,
+177, 42, 0, 0, 45,231,123,190, 72, 76,141, 62,161, 43,253,189,160,172, 57, 87,177, 42, 0, 0, 66,103,217, 62,247,106, 87, 62,
+ 7,254,185,189,174, 95, 44, 68,204, 50, 2, 0,207, 69,163,190,247,106, 87, 62, 7,254,185,189, 82,160, 44, 68,204, 50, 2, 0,
+ 66,103,217, 62,236,138,113, 62, 26,177, 80,190,105,109, 79, 66, 37,252, 2, 0,207, 69,163,190,236,138,113, 62, 26,177, 80,190,
+151,146, 79, 66, 37,252, 2, 0, 9, 21,180, 62,141,126,152, 62, 83, 3,118,190,226, 86,170, 93, 43,248, 0, 0, 45,231,123,190,
+141,126,152, 62, 83, 3,118,190, 30,169,170, 93, 43,248, 0, 0, 9, 21,180, 62, 38,179,135, 62,107,184,182,190,111, 82,219, 68,
+100,186, 2, 0, 45,231,123,190, 38,179,135, 62,107,184,182,190,145,173,219, 68,100,186, 2, 0, 66,103,217, 62,179, 56, 76, 62,
+153, 49,162,190,218,111, 76, 39,195,207, 2, 0,207, 69,163,190,179, 56, 76, 62,153, 49,162,190, 38,144, 76, 39,195,207, 2, 0,
+231,123,174, 62,154,232,206, 61, 56, 79,216,190, 2, 75, 5,254, 79,152, 3, 0,232,180,112,190,154,232,206, 61, 56, 79,216,190,
+254,180, 5,254, 79,152, 3, 0,208,194,142, 62,171,100, 40,189,170,250,206,190,171, 69,136,192,101,169, 1, 0,187, 66, 49,190,
+171,100, 40,189,170,250,206,190, 85,186,136,192,101,169, 0, 0,100, 0,223, 62,154,232,206, 61,191,190,121,190,190,114,245, 38,
+ 55, 41, 0, 0,241,222,168,190,154,232,206, 61,191,190,121,190, 66,141,245, 38, 55, 41, 0, 0,104, 51,120, 62,186,102, 7,190,
+127,153,163,189, 89, 73, 32,153,123, 20, 0, 0,130,240, 11,190,186,102, 7,190,127,153,163,189,167,182, 32,153,123, 20, 0, 0,
+214,178,129, 62,254,152, 18,190, 44,122,125,190, 90, 74,132,153, 69,237, 0, 0,198, 34, 23,190,254,152, 18,190, 44,122,125,190,
+166,181,132,153, 69,237, 0, 0,202,203,239, 62,133,198, 12, 62, 56, 86,132,190, 43,219,144, 94, 0, 78, 2, 0, 88,170,185,190,
+133,198, 12, 62, 56, 86,132,190,213, 36,144, 94, 0, 78, 2, 0, 32,206,211, 62, 18,242,240,189,135,108, 84,190, 98,250, 11,173,
+ 79, 97, 2, 0,173,172,157,190, 18,242,240,189,135,108, 84,190,158, 5, 11,173, 79, 97, 2, 0, 38,160, 9, 63,217,159,203,189,
+192,186,154,190,102, 60, 54,156,176, 52, 0, 0,219, 30,221,190,217,159,203,189,192,186,154,190,154,195, 54,156,177, 52, 0, 0,
+172,140, 38, 63,211, 91,217,188,255,252,178,190, 40, 86, 6,192,194, 69, 0, 0,244,123, 11,191,211, 91,217,188,255,252,178,190,
+216,169, 6,192,194, 69, 0, 0, 95,242, 46, 63,194,113,199, 61, 73, 31,177,190, 16,101,233, 22, 32, 75, 2, 0,167,225, 19,191,
+194,113,199, 61, 73, 31,177,190,240,154,233, 22, 32, 75, 2, 0,138,243, 32, 63, 3, 75, 61, 62, 73, 31,177,190, 32, 46, 37,110,
+ 20, 46, 0, 0,209,226, 5,191, 3, 75, 61, 62, 73, 31,177,190,224,209, 37,110, 20, 46, 0, 0,112,194, 7, 63, 82, 93, 46, 62,
+ 84,255,150,190, 21, 2,210,111, 62, 62, 0, 0,111, 99,217,190, 82, 93, 46, 62, 84,255,150,190,235,253,210,111, 62, 62, 0, 0,
+149,211, 6, 63,241,129, 16, 62, 50,102,145,190, 97, 69, 95,247, 54,107, 0, 0,185,133,215,190,241,129, 16, 62, 50,102,145,190,
+159,186, 95,247, 54,107, 0, 0,104, 90, 27, 63, 54,180, 27, 62,113,168,169,190,159, 40, 26,244,203,120, 0, 0,175, 73, 0,191,
+ 54,180, 27, 62,113,168,169,190, 97,215, 26,244,203,120, 0, 0,246,174, 36, 63, 97,150,169, 61,221, 99,173,190,162,240,132,244,
+140,126, 0, 0, 62,158, 9,191, 97,150,169, 61,221, 99,173,190, 94, 15,132,244,140,126, 0, 0,249, 38, 30, 63, 98,147,127,188,
+221, 99,173,190,238,252, 16, 35, 15,123, 0, 0, 64, 22, 3,191, 98,147,127,188,221, 99,173,190, 18, 3, 16, 35, 15,123, 0, 0,
+ 75,177, 8, 63, 23,233,143,189,158, 33,149,190,255, 62, 10, 35,196,105, 0, 0, 37, 65,219,190, 23,233,143,189,158, 33,149,190,
+ 1,193, 10, 35,196,105, 0, 0, 26,222,224, 62,120,196,173,189,243, 39, 88,190,176, 43, 36, 45,132,111, 2, 0,167,188,170,190,
+120,196,173,189,243, 39, 88,190, 80,212, 36, 45,132,111, 2, 0,162, 66,247, 62,250,195,236, 61,204,154,128,190,191, 58,236,247,
+109,113, 2, 0, 48, 33,193,190,250,195,236, 61,204,154,128,190, 65,197,236,247,109,113, 2, 0,196,219,252, 62, 17,132,184, 61,
+ 50,102,145,190, 9, 88, 45,185, 34, 60, 0, 0, 82,186,198,190, 17,132,184, 61, 50,102,145,190,247,167, 45,185, 34, 60, 0, 0,
+ 21,238,237, 62,103,251,128,189, 44,122,125,190,210, 29,124,112, 75, 53, 0, 0,162,204,183,190,103,251,128,189, 44,122,125,190,
+ 46,226,124,112, 75, 53, 0, 0, 38,160, 9, 63,188, 45, 85,189, 79, 15,164,190,175,234, 24,122,245, 31, 0, 0,219, 30,221,190,
+188, 45, 85,189, 79, 15,164,190, 81, 21, 24,122,245, 31, 0, 0,104, 90, 27, 63,223, 37, 8,188,107,184,182,190,141,158,211, 82,
+ 28, 5, 0, 0,175, 73, 0,191,223, 37, 8,188,107,184,182,190,115, 97,211, 82, 28, 5, 0, 0,138,243, 32, 63, 40, 68,132, 61,
+107,184,182,190,111,130, 12,244,188, 21, 0, 0,209,226, 5,191, 40, 68,132, 61,107,184,182,190,145,125, 12,244,188, 21, 0, 0,
+178,124, 25, 63,250,195,236, 61,181,218,180,190,245,237, 22,157, 52, 79, 0, 0,242,215,252,190,250,195,236, 61,181,218,180,190,
+ 11, 18, 22,157, 52, 79, 0, 0,112,194, 7, 63, 74,214,221, 61,153, 49,162,190,132, 71,190,171,144, 64, 0, 0,111, 99,217,190,
+ 74,214,221, 61,153, 49,162,190,124,184,190,171,144, 64, 0, 0,135,153,228, 62, 97,150,169, 61, 44,122,125,190, 16, 95,148,222,
+236, 78, 0, 0, 20,120,174,190, 97,150,169, 61, 44,122,125,190,240,160,148,222,236, 78, 0, 0,209,187,226, 62,216,126,230, 60,
+198,170,141,190,194, 95,198,181, 68, 41, 0, 0, 93,154,172,190,216,126,230, 60,198,170,141,190, 62,160,198,181, 68, 41, 0, 0,
+180, 18,208, 62,223, 37, 8,188,198,170,141,190,238,109,193, 4, 98, 65, 0, 0, 65,241,153,190,223, 37, 8,188,198,170,141,190,
+ 18,146,193, 4, 98, 65, 0, 0,100, 0,223, 62,161,220, 67,188,198,170,141,190, 91, 73,245, 92,148, 48, 2, 0,241,222,168,190,
+161,220, 67,188,198,170,141,190,165,182,245, 92,148, 48, 2, 0,135,153,228, 62, 92, 82, 55,189,198,170,141,190, 27,113, 2,248,
+ 97, 59, 2, 0, 20,120,174,190, 92, 82, 55,189,198,170,141,190,229,142, 2,248, 97, 59, 2, 0,174, 34,221, 62, 29, 9,115,189,
+198,170,141,190,241, 75,125, 72, 55, 73, 0, 0, 59, 1,167,190, 29, 9,115,189,198,170,141,190, 15,180,125, 72, 55, 73, 0, 0,
+220,155,200, 62,188, 45, 85,189,146, 76, 58,190, 69,110,138,193, 22,238, 0, 0,105,122,146,190,188, 45, 85,189,146, 76, 58,190,
+187,145,138,193, 22,238, 0, 0, 38,190,198, 62,103,251,128,189, 15,209,106,190, 93, 95,240, 10,170, 84, 0, 0,179,156,144,190,
+103,251,128,189, 15,209,106,190,163,160,240, 10,170, 84, 0, 0, 38,190,198, 62, 74,137, 10,189,231, 71,114,190,226,117,157,233,
+140, 44, 0, 0,179,156,144,190, 74,137, 10,189,231, 71,114,190, 30,138,157,233,140, 44, 0, 0, 66,103,217, 62, 45,246, 46, 61,
+ 44,122,125,190,156,111,186,201, 79, 31, 0, 0,207, 69,163,190, 45,246, 46, 61, 44,122,125,190,100,144,186,201, 79, 31, 0, 0,
+202,203,239, 62,159,154,121, 61, 16,205,139,190, 32, 89,187,186, 87, 60, 0, 0, 88,170,185,190,159,154,121, 61, 16,205,139,190,
+224,166,187,186, 87, 60, 0, 0,202,203,239, 62,239,172,106, 61, 10,221,152,190, 91, 85, 90,200,118, 77, 0, 0, 88,170,185,190,
+239,172,106, 61, 10,221,152,190,165,170, 90,200,118, 77, 0, 0,174, 34,221, 62, 29, 9,115,189, 10,221,152,190,123, 84,188, 44,
+ 29, 85, 0, 0, 59, 1,167,190, 29, 9,115,189, 10,221,152,190,133,171,188, 44, 29, 85, 0, 0, 61,119,230, 62, 92, 82, 55,189,
+ 10,221,152,190,219, 47, 50, 47,237,108, 0, 0,202, 85,176,190, 92, 82, 55,189, 10,221,152,190, 37,208, 50, 47,237,108, 0, 0,
+ 26,222,224, 62, 98,147,127,188, 10,221,152,190,236, 56,223, 47, 42,104, 0, 0,167,188,170,190, 98,147,127,188, 10,221,152,190,
+ 20,199,223, 47, 42,104, 0, 0,106,240,209, 62,223, 37, 8,188, 10,221,152,190, 79,100, 44, 32,179, 72, 0, 0,247,206,155,190,
+223, 37, 8,188, 10,221,152,190,177,155, 44, 32,179, 72, 0, 0,135,153,228, 62,216,126,230, 60, 10,221,152,190, 35, 73,126,201,
+202, 89, 0, 0, 20,120,174,190,216,126,230, 60, 10,221,152,190,221,182,126,201,202, 89, 0, 0, 38,160, 9, 63,154,232,206, 61,
+147, 65,175,190, 1, 62,211,212, 80,103, 0, 0,219, 30,221,190,154,232,206, 61,147, 65,175,190,255,193,211,212, 80,103, 0, 0,
+104, 90, 27, 63, 74,214,221, 61,249, 12,192,190, 51,224,110,181, 12, 99, 0, 0,175, 73, 0,191, 74,214,221, 61,249, 12,192,190,
+205, 31,110,181, 12, 99, 0, 0, 27,192, 35, 63,159,154,121, 61,175,234,193,190,220,160,139,243,182, 84, 0, 0, 98,175, 8,191,
+159,154,121, 61,175,234,193,190, 36, 95,139,243,182, 84, 0, 0,249, 38, 30, 63,161,220, 67,188,249, 12,192,190,253,186,174, 57,
+ 16, 91, 0, 0, 64, 22, 3,191,161,220, 67,188,249, 12,192,190, 3, 69,174, 57, 16, 91, 0, 0, 1,143, 10, 63,188, 45, 85,189,
+ 73, 31,177,190, 44, 11,185, 94, 90, 85, 0, 0,145,252,222,190,188, 45, 85,189, 73, 31,177,190,212,244,185, 94, 90, 85, 0, 0,
+ 21,238,237, 62, 29, 9,115,189, 16,205,139,190,131,249,213,121,178, 38, 0, 0,162,204,183,190, 29, 9,115,189, 16,205,139,190,
+125, 6,213,121,178, 38, 0, 0,122,185,254, 62, 97,150,169, 61, 45,118,158,190, 97, 81,161,203,196, 83, 0, 0, 8,152,200,190,
+ 97,150,169, 61, 45,118,158,190,159,174,161,203,196, 83, 0, 0,202,203,239, 62,226,194,133,186,192,186,154,190, 99, 25,168, 0,
+115,125, 0, 0, 88,170,185,190,226,194,133,186,192,186,154,190,157,230,168, 0,115,125, 0, 0, 14,254,250, 62,115,128,187,188,
+119,152,156,190, 86, 49,224, 14, 41,117, 0, 0,156,220,196,190,115,128,187,188,119,152,156,190,170,206,224, 14, 41,117, 0, 0,
+223,245, 4, 63, 77,106,205, 59, 79, 15,164,190, 60, 55,195,251, 98,115, 0, 0, 76,202,211,190, 77,106,205, 59, 79, 15,164,190,
+196,200,195,251, 98,115, 0, 0,152, 75, 0, 63,216,126,230, 60,227, 83,160,190,255, 41, 6, 0,232,120, 0, 0,190,117,202,190,
+216,126,230, 60,227, 83,160,190, 1,214, 6, 0,232,120, 0, 0,149,211, 6, 63,239,172,106, 61, 5,237,165,190,174, 40,253, 11,
+196,120, 0, 0,185,133,215,190,239,172,106, 61, 5,237,165,190, 82,215,253, 11,196,120, 0, 0,220,125, 11, 63,205, 26, 17, 61,
+187,202,167,190, 32, 44, 47,246,191,119, 0, 0, 71,218,224,190,205, 26, 17, 61,187,202,167,190,224,211, 47,246,191,119, 0, 0,
+218, 5, 18, 63,222,227, 61, 61,113,168,169,190,222, 55, 67,254, 37,115, 2, 0, 65,234,237,190,222,227, 61, 61,113,168,169,190,
+ 34,200, 67,254, 37,115, 2, 0, 73, 57, 15, 63,176,168,154, 61,113,168,169,190,188, 45, 37, 38, 75,113, 2, 0, 31, 81,232,190,
+176,168,154, 61,113,168,169,190, 68,210, 37, 38, 75,113, 2, 0,112,194, 7, 63, 54,180, 27, 62,249, 12,192,190,139,202,127, 71,
+ 71,164, 3, 0,111, 99,217,190, 54,180, 27, 62,249, 12,192,190,117, 53,127, 71, 71,164, 3, 0, 64,209, 34, 63,230,161, 42, 62,
+170,250,206,190, 2, 39,153, 79,172,163, 3, 0,135,192, 7,191,230,161, 42, 62,170,250,206,190,254,216,153, 79,172,163, 3, 0,
+ 21,208, 48, 63, 57, 13,177, 61,102,200,195,190, 49,118,245, 10, 30,208, 3, 0, 93,191, 21,191, 57, 13,177, 61,102,200,195,190,
+207,137,245, 10, 30,208, 3, 0, 24, 72, 42, 63,211, 91,217,188, 62, 63,203,190,182, 78, 54,193,251,176, 3, 0, 96, 55, 15,191,
+211, 91,217,188, 62, 63,203,190, 74,177, 54,193,251,176, 3, 0, 38,160, 9, 63, 40,178,188,189,175,234,193,190,165,250,140,166,
+156,164, 3, 0,219, 30,221,190, 40,178,188,189,175,234,193,190, 91, 5,140,166,156,164, 3, 0,140,137,215, 62, 97, 4,226,189,
+192,186,154,190,203,245,207,147, 96,188, 1, 0, 25,104,161,190, 97, 4,226,189,192,186,154,190, 53, 10,207,147, 96,188, 1, 0,
+243, 84,232, 62, 65,148, 1, 62,187,202,167,190, 3,172, 39, 73,240,192, 1, 0,128, 51,178,190, 65,148, 1, 62,187,202,167,190,
+253, 83, 39, 73,240,192, 1, 0, 68, 65, 84, 65,104, 1, 0, 0,104,148, 52, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24,150, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,128, 91,181, 3, 19, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84, 69, 0, 0, 24, 1, 0, 0,208, 91,181, 3, 38, 0, 0, 0, 1, 0, 0, 0,104, 93,181, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 69,112,114,101,118,105,101,119, 0,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 8, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24, 93,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24, 93,181, 3, 19, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 84, 69, 0, 0, 24, 1, 0, 0,104, 93,181, 3, 38, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,208, 91,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 84, 69,102, 97,107,101,115,104, 97,100,111,119, 0, 0, 76,101,110,100, 0,101,120, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 40, 0, 5, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 0, 0, 24, 1, 0, 0,176, 94,181, 3, 52, 0, 0, 0, 1, 0, 0, 0,
-112, 96,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117, 98,101, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
- 0, 0, 0, 0, 0, 0, 0, 0,248, 95,181, 3,160,195,181, 3,224,234,181, 3, 0, 0, 0, 0,184, 97,181, 3,200,146,181, 3,
- 0, 0, 0, 0, 0, 65,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 96,181, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,145,181, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24,194,181, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-249, 1, 0, 0,237, 3, 0, 0,244, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,192,133, 88, 61,184, 45, 85,189,
-196,181, 24,190,185, 71, 35, 63,153, 31,235, 62,130,102,203, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 4, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-248, 95,181, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 68, 65, 84, 65, 84, 1, 0, 0, 48, 96,181, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,184, 97,181, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 47, 0, 0,
-184, 97,181, 3, 58, 0, 0, 0,249, 1, 0, 0,140,144,131, 62,119,163,200, 60,156, 9, 85, 62,125, 92, 70,170,228, 21,255, 0,
- 0, 0, 0, 0, 50,222, 26,190,119,163,200, 60,156, 9, 85, 62,131,163, 70,170,228, 21,255, 0, 0, 0, 0, 0, 61,126,146, 62,
-223, 37, 8,188, 99,183, 47, 62,247, 76,191,194,228, 81,255, 0, 2, 0, 0, 0,147,185, 56,190,223, 37, 8,188, 99,183, 47, 62,
- 9,179,191,194,228, 81,255, 0, 2, 0, 0, 0,129,176,157, 62,211, 91,217,188,244,238,246, 61, 31, 84,226,181,191, 61,255, 0,
- 2, 0, 0, 0, 28, 30, 79,190,211, 91,217,188,244,238,246, 61,225,171,226,181,191, 61,255, 0, 2, 0, 0, 0,115, 19, 94, 62,
-103,251,128,189,150, 32, 14, 62,241, 9,155,144, 64, 62,255, 0, 2, 0, 0, 0, 26,161,227,189,103,251,128,189,150, 32, 14, 62,
- 15,246,155,144, 64, 62,255, 0, 2, 0, 0, 0,115, 19, 94, 62,251,118, 25,189, 20,165, 62, 62,184, 14,144,163, 76, 87,255, 0,
- 2, 0, 0, 0, 26,161,227,189,251,118, 25,189, 20,165, 62, 62, 72,241,144,163, 76, 87,255, 0, 2, 0, 0, 0,115, 19, 94, 62,
-232,107, 34, 60,116,128, 92, 62, 3, 3,121,131,110, 29,255, 0, 0, 0, 0, 0, 26,161,227,189,232,107, 34, 60,116,128, 92, 62,
-253,252,121,131,110, 29,255, 0, 0, 0, 0, 0, 58,193, 56, 62,119,163,200, 60, 77,247, 99, 62, 56,171,117,167,206, 36,255, 0,
- 0, 0, 0, 0,168,252,152,189,119,163,200, 60, 77,247, 99, 62,200, 84,117,167,206, 36,255, 0, 0, 0, 0, 0,109, 42, 23, 62,
-223, 37, 8,188, 88,215, 73, 62,152,217,122,203, 56,110,255, 0, 0, 0, 0, 0,229,197, 0, 62,211, 91,217,188, 71, 14, 29, 62,
-179,184, 93,175, 66, 69,255, 0, 2, 0, 0, 0,249, 23,164,188,211, 91,217,188, 71, 14, 29, 62, 77, 71, 93,175, 66, 69,255, 0,
- 2, 0, 0, 0, 88,231,182, 61,159,154,121, 61,179,201, 32, 62,181,151,104,255, 51, 74,255, 0, 2, 0, 0, 0,207,121,134, 60,
-159,154,121, 61,179,201, 32, 62, 75,104,104,255, 51, 74,255, 0, 2, 0, 0, 0, 25,158,242, 61,159,154,121, 61, 88,215, 73, 62,
- 78,171,150,255,246, 95,255, 0, 2, 0, 0, 0,110,194, 80,188,159,154,121, 61, 88,215, 73, 62,178, 84,150,255,246, 95,255, 0,
- 2, 0, 0, 0,138,211, 41, 62,159,154,121, 61, 77,247, 99, 62,152,133,153,254, 98, 37,255, 0, 0, 0, 0, 0,143, 66,118,189,
-159,154,121, 61, 77,247, 99, 62,104,122,153,254, 98, 37,255, 0, 0, 0, 0, 0, 58,193, 56, 62,154,232,206, 61, 77,247, 99, 62,
- 24,170, 13, 88, 89, 35,255, 0, 0, 0, 0, 0,168,252,152,189,154,232,206, 61, 77,247, 99, 62,232, 85, 13, 88, 89, 35,255, 0,
- 0, 0, 0, 0,109, 42, 23, 62,173, 79, 5, 62, 88,215, 73, 62,249,200,221, 65,244, 94,255, 0, 2, 0, 0, 0, 31,158, 43,189,
-173, 79, 5, 62, 88,215, 73, 62, 7, 55,221, 65,244, 94,255, 0, 2, 0, 0, 0,229,197, 0, 62, 54,180, 27, 62, 71, 14, 29, 62,
- 51,186, 86, 78, 78, 73,255, 0, 2, 0, 0, 0,249, 23,164,188, 54,180, 27, 62, 71, 14, 29, 62,205, 69, 86, 78, 78, 73,255, 0,
- 2, 0, 0, 0,115, 19, 94, 62,111, 6, 65, 62,150, 32, 14, 62, 2, 11,152,107,114, 68,255, 0, 2, 0, 0, 0, 26,161,227,189,
-111, 6, 65, 62,150, 32, 14, 62,254,244,152,107,114, 68,255, 0, 2, 0, 0, 0,115, 19, 94, 62, 14, 43, 35, 62, 20,165, 62, 62,
-201, 14,180, 91, 14, 88,255, 0, 2, 0, 0, 0, 26,161,227,189, 14, 43, 35, 62, 20,165, 62, 62, 55,241,180, 91, 14, 88,255, 0,
- 2, 0, 0, 0,115, 19, 94, 62,250,195,236, 61,116,128, 92, 62,134, 2, 29,125,228, 26,255, 0, 0, 0, 0, 0, 26,161,227,189,
-250,195,236, 61,116,128, 92, 62,122,253, 29,125,228, 26,255, 0, 0, 0, 0, 0,140,144,131, 62,154,232,206, 61,156, 9, 85, 62,
- 54, 93, 67, 85,154, 20,255, 0, 0, 0, 0, 0, 50,222, 26,190,154,232,206, 61,156, 9, 85, 62,202,162, 67, 85,154, 20,255, 0,
- 0, 0, 0, 0, 61,126,146, 62,173, 79, 5, 62, 99,183, 47, 62,241, 76,161, 60, 97, 82,255, 0, 2, 0, 0, 0,147,185, 56,190,
-173, 79, 5, 62, 99,183, 47, 62, 15,179,161, 60, 97, 82,255, 0, 2, 0, 0, 0,129,176,157, 62, 54,180, 27, 62,244,238,246, 61,
-179, 83,157, 71, 45, 65,255, 0, 2, 0, 0, 0, 28, 30, 79,190, 54,180, 27, 62,244,238,246, 61, 77,172,157, 71, 45, 65,255, 0,
- 2, 0, 0, 0,157, 89,176, 62,159,154,121, 61, 67, 1,232, 61, 40,111,113,255,117, 63,255, 0, 2, 0, 0, 0, 84,112,116,190,
-159,154,121, 61, 67, 1,232, 61,216,144,113,255,117, 63,255, 0, 2, 0, 0, 0,237,107,161, 62,159,154,121, 61,139, 64, 40, 62,
- 48,100,154,255,167, 79,255, 0, 2, 0, 0, 0,244,148, 86,190,159,154,121, 61,139, 64, 40, 62,208,155,154,255,167, 79,255, 0,
- 2, 0, 0, 0,100, 7,139, 62,159,154,121, 61, 48, 78, 81, 62,117,126,181,254,185, 19,255, 0, 0, 0, 0, 0,227,203, 41,190,
-159,154,121, 61, 48, 78, 81, 62,139,129,181,254,185, 19,255, 0, 0, 0, 0, 0, 26,229,140, 62,159,154,121, 61, 8,197, 88, 62,
-160,120,106,254,198, 42,255, 0, 2, 0, 0, 0, 79,135, 45,190,159,154,121, 61, 8,197, 88, 62, 96,135,106,254,198, 42,255, 0,
- 2, 0, 0, 0, 66,110,133, 62,114, 95,214, 61,116,128, 92, 62,173, 93,126, 74, 93, 45,255, 0, 2, 0, 0, 0,158,153, 30,190,
-114, 95,214, 61,116,128, 92, 62, 83,162,126, 74, 93, 45,255, 0, 2, 0, 0, 0,115, 19, 94, 62,170,177,251, 61,185,178,103, 62,
- 9, 11, 31,115,216, 54,255, 0, 2, 0, 0, 0, 26,161,227,189,170,177,251, 61,185,178,103, 62,247,244, 31,115,216, 54,255, 0,
- 2, 0, 0, 0,206, 5, 53, 62,114, 95,214, 61,145, 41,111, 62, 9,181,184, 80, 43, 65,255, 0, 2, 0, 0, 0,208,133,145,189,
-114, 95,214, 61,145, 41,111, 62,247, 74,184, 80, 43, 65,255, 0, 2, 0, 0, 0,178, 92, 34, 62,159,154,121, 61,145, 41,111, 62,
-116,146, 57,254, 43, 66,255, 0, 2, 0, 0, 0, 48,103, 88,189,159,154,121, 61,145, 41,111, 62,140,109, 57,254, 43, 66,255, 0,
- 2, 0, 0, 0,206, 5, 53, 62, 22,200,170, 60,145, 41,111, 62, 34,182,181,173,115, 64,255, 0, 2, 0, 0, 0,208,133,145,189,
- 22,200,170, 60,145, 41,111, 62,222, 73,181,173,115, 64,255, 0, 2, 0, 0, 0,115, 19, 94, 62,159,154,121, 61,253,228,114, 62,
- 74, 24,139,255,171,125,255, 0, 2, 0, 0, 0, 26,161,227,189,159,154,121, 61,253,228,114, 62,182,231,139,255,171,125,255, 0,
- 2, 0, 0, 0,115, 19, 94, 62,149,249, 43, 59,185,178,103, 62,218, 10,140,140, 45, 54,255, 0, 2, 0, 0, 0, 26,161,227,189,
-149,249, 43, 59,185,178,103, 62, 38,245,140,140, 45, 54,255, 0, 2, 0, 0, 0, 66,110,133, 62, 22,200,170, 60,116,128, 92, 62,
-141, 92,203,179,210, 44,255, 0, 2, 0, 0, 0,158,153, 30,190, 22,200,170, 60,116,128, 92, 62,115,163,203,179,210, 44,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,202,248, 23, 62, 88,215, 73, 62, 0, 0, 43,124, 17, 31,255, 0, 0, 0, 0, 0,203,133, 88, 61,
- 34, 77,229, 61,145, 41,111, 62, 0, 0, 63,249,209,127,255, 0, 0, 0, 0, 0,203,133, 88, 61,150,254,188,190,236, 27, 70, 62,
- 0, 0,204,251,237,127,255, 0, 0, 0, 0, 0,203,133, 88, 61,191, 79, 78,190,116,128, 92, 62, 0, 0, 33,150,238, 71,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,146,221, 14,190, 77,247, 99, 62, 0, 0, 28,100,192, 79,255, 0, 0, 0, 0, 0,203,133, 88, 61,
- 30, 99,211,190, 20,165, 62, 62, 0, 0,184,142,147, 59,255, 0, 2, 0, 0, 0,203,133, 88, 61,133,198, 12, 62,190,169, 6, 62,
- 0, 0,143,103, 57, 75,255, 0, 0, 0, 0, 0,203,133, 88, 61, 99, 38, 91, 62, 28,120,239, 61, 0, 0,115, 78, 34,101,255, 0,
- 0, 0, 0, 0,203,133, 88, 61, 16,243,187, 62,170,250,206,190, 0, 0,190,110,212,191,255, 0, 2, 0, 0, 0,203,133, 88, 61,
-247,106, 87, 62,178,224, 11,191, 0, 0,144, 35, 12,133,255, 0, 3, 0, 0, 0,203,133, 88, 61, 18,165,157,188, 33, 20, 9,191,
- 0, 0,194,214,213,134,255, 0, 2, 0, 0, 0,203,133, 88, 61, 32, 43,108,190,227, 83,160,190, 0, 0,154,134,113,215,255, 0,
- 2, 0, 0, 0,109, 42, 23, 62,146,221, 14,190, 67, 1,232, 61,144,113,122,198, 79, 13,255, 0, 0, 0, 0, 0, 31,158, 43,189,
-146,221, 14,190, 67, 1,232, 61,112,142,122,198, 79, 13,255, 0, 0, 0, 0, 0, 87,106, 75, 62,138, 37,131,190, 28,120,239, 61,
-196,122, 19, 31,152, 18,255, 0, 2, 0, 0, 0,225, 78,190,189,138, 37,131,190, 28,120,239, 61, 60,133, 19, 31,152, 18,255, 0,
- 2, 0, 0, 0,115, 19, 94, 62, 2,186,192,190, 28,120,239, 61,167,125,146, 12,226, 20,255, 0, 0, 0, 0, 0, 26,161,227,189,
- 2,186,192,190, 28,120,239, 61, 89,130,146, 12,226, 20,255, 0, 0, 0, 0, 0, 75,138,101, 62,200, 96,239,190,227, 37,202, 61,
-113,124,142,242,196, 26,255, 0, 2, 0, 0, 0,203,142,242,189,200, 96,239,190,227, 37,202, 61,143,131,142,242,196, 26,255, 0,
- 2, 0, 0, 0, 47,225, 82, 62,195,112,252,190, 10,175,194, 61,159, 79, 44,159,210, 25,255, 0, 2, 0, 0, 0,146, 60,205,189,
-195,112,252,190, 10,175,194, 61, 97,176, 44,159,210, 25,255, 0, 2, 0, 0, 0, 41,248, 11, 62,242, 4, 1,191,107,138,224, 61,
-143, 19, 13,131,178, 19,255, 0, 2, 0, 0, 0, 27,170,253,188,242, 4, 1,191,107,138,224, 61,113,236, 13,131,178, 19,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,168,226, 2,191,244,238,246, 61, 0, 0, 75,130, 21, 24,255, 0, 2, 0, 0, 0,140,144,131, 62,
- 18,242,240,189,227, 37,202, 61,114, 47,117,137,232, 8,255, 0, 2, 0, 0, 0, 50,222, 26,190, 18,242,240,189,227, 37,202, 61,
-142,208,117,137,232, 8,255, 0, 2, 0, 0, 0, 83, 55,178, 62, 23,233,143,189,187,156,209, 61, 25, 77,198,154,214, 13,255, 0,
- 2, 0, 0, 0,193, 43,120,190, 23,233,143,189,187,156,209, 61,231,178,198,154,214, 13,255, 0, 2, 0, 0, 0, 26,222,224, 62,
-182,236,140, 60, 49, 21,112, 61,216,113,247,198,255, 12,255, 0, 2, 0, 0, 0,167,188,170,190,182,236,140, 60, 49, 21,112, 61,
- 40,142,247,198,255, 12,255, 0, 2, 0, 0, 0,243, 84,232, 62,202,248, 23, 62, 82,238, 2, 62,104,113, 31, 51, 32, 30,255, 0,
- 2, 0, 0, 0,128, 51,178,190,202,248, 23, 62, 82,238, 2, 62,152,142, 31, 51, 32, 30,255, 0, 2, 0, 0, 0,112,224,196, 62,
-190, 24, 50, 62, 2,220, 17, 62,216, 64,225,106,121, 27,255, 0, 0, 0, 0, 0,253,190,142,190,190, 24, 50, 62, 2,220, 17, 62,
- 40,191,225,106,121, 27,255, 0, 0, 0, 0, 0,134,160,144, 62, 20, 20,106, 62, 99,183, 47, 62,137, 75, 82,101, 70, 20,255, 0,
- 0, 0, 0, 0, 39,254, 52,190, 20, 20,106, 62, 99,183, 47, 62,119,180, 82,101, 70, 20,255, 0, 0, 0, 0, 0,195, 37, 79, 62,
- 67, 92,154, 62,236, 27, 70, 62,241, 38, 19,119, 54, 26,255, 0, 2, 0, 0, 0,186,197,197,189, 67, 92,154, 62,236, 27, 70, 62,
- 15,217, 19,119, 54, 26,255, 0, 2, 0, 0, 0,229,197, 0, 62,181, 7,145, 62, 48, 78, 81, 62, 21,175, 54, 96, 12, 24,255, 0,
- 2, 0, 0, 0,249, 23,164,188,181, 7,145, 62, 48, 78, 81, 62,235, 80, 54, 96, 12, 24,255, 0, 2, 0, 0, 0,168,249,167, 61,
- 42,212, 53, 62,196,146, 77, 62,174,155,128, 76,151, 21,255, 0, 0, 0, 0, 0,144, 48,194, 60, 42,212, 53, 62,196,146, 77, 62,
- 82,100,128, 76,151, 21,255, 0, 0, 0, 0, 0, 81,129, 4, 62,241,129, 16, 62, 8,197, 88, 62, 0, 25, 4,237, 22,124,255, 0,
- 0, 0, 0, 0, 89,243,193,188,241,129, 16, 62, 8,197, 88, 62, 0,231, 4,237, 22,124,255, 0, 0, 0, 0, 0,105,176,227, 61,
- 17,132,184, 61,156, 9, 85, 62,160,255,126,232,209,125,255, 0, 0, 0, 0, 0,214,169,178,187, 17,132,184, 61,156, 9, 85, 62,
- 96, 0,126,232,209,125,255, 0, 0, 0, 0, 0, 31,158, 43,189,223, 37, 8,188, 88,215, 73, 62,104, 38,122,203, 56,110,255, 0,
- 0, 0, 0, 0,184, 69,105, 62, 92, 82, 55,189, 59, 46, 55, 62,106, 34,119,200, 16,110,255, 0, 0, 0, 0, 0,163, 5,250,189,
- 92, 82, 55,189, 59, 46, 55, 62,150,221,119,200, 16,110,255, 0, 0, 0, 0, 0,134,160,144, 62,115,128,187,188,139, 64, 40, 62,
-161, 55, 60,207,115,104,255, 0, 0, 0, 0, 0, 39,254, 52,190,115,128,187,188,139, 64, 40, 62, 95,200, 60,207,115,104,255, 0,
- 0, 0, 0, 0,157, 89,176, 62,205, 26, 17, 61, 71, 14, 29, 62,181, 58,123,226,214,109,255, 0, 0, 0, 0, 0, 84,112,116,190,
-205, 26, 17, 61, 71, 14, 29, 62, 75,197,123,226,214,109,255, 0, 0, 0, 0, 0, 9, 21,180, 62, 57, 13,177, 61, 71, 14, 29, 62,
-157, 49, 61,230, 36,115,255, 0, 0, 0, 0, 0, 45,231,123,190, 57, 13,177, 61, 71, 14, 29, 62, 99,206, 61,230, 36,115,255, 0,
- 0, 0, 0, 0,123,192,170, 62,170,177,251, 61, 31,133, 36, 62,206, 39,175,234,196,119,255, 0, 0, 0, 0, 0, 16, 62,105,190,
-170,177,251, 61, 31,133, 36, 62, 50,216,175,234,196,119,255, 0, 0, 0, 0, 0,214,178,129, 62, 54,180, 27, 62, 20,165, 62, 62,
- 62, 24, 85,255,173,125,255, 0, 0, 0, 0, 0,198, 34, 23,190, 54,180, 27, 62, 20,165, 62, 62,194,231, 85,255,173,125,255, 0,
- 0, 0, 0, 0,246,142, 45, 62,230,161, 42, 62, 48, 78, 81, 62,251, 31, 40,247,158,123,255, 0, 0, 0, 0, 0, 32,152,130,189,
-230,161, 42, 62, 48, 78, 81, 62, 5,224, 40,247,158,123,255, 0, 0, 0, 0, 0,203,133, 88, 61,104,133,209,190,236, 27, 70, 62,
- 0, 0,148,210,170,119,255, 0, 0, 0, 0, 0,185,194,212, 61, 36, 83,198,190,236, 27, 70, 62, 39, 19, 65,222,248,121,255, 0,
- 0, 0, 0, 0,191,196,240, 58, 36, 83,198,190,236, 27, 70, 62,217,236, 65,222,248,121,255, 0, 0, 0, 0, 0,145, 57,220, 61,
-207, 80,226,190,167,233, 58, 62,134, 2,132,217, 12,122,255, 0, 0, 0, 0, 0, 77,241,236,186,207, 80,226,190,167,233, 58, 62,
-122,253,132,217, 12,122,255, 0, 0, 0, 0, 0,168,249,167, 61, 19,131,237,190,207,114, 51, 62, 13,252,169,214, 18,121,255, 0,
- 0, 0, 0, 0,144, 48,194, 60, 19,131,237,190,207,114, 51, 62,243, 3,169,214, 18,121,255, 0, 0, 0, 0, 0,203,133, 88, 61,
-200, 96,239,190, 99,183, 47, 62, 0, 0,150,219,180,122,255, 0, 0, 0, 0, 0,203,133, 88, 61,254,152, 18,190,196,146, 77, 62,
- 0, 0, 46, 97, 76, 83,255, 0, 0, 0, 0, 0,203,133, 88, 61, 18,242,240,189, 88,215, 73, 62, 0, 0,197,104,134, 73,255, 0,
- 0, 0, 0, 0,225, 75,205, 61,235,104,248,189, 88,215, 73, 62, 52, 36, 2, 53,187,110,255, 0, 0, 0, 0, 0,179,158,179, 59,
-235,104,248,189, 88,215, 73, 62,204,219, 2, 53,187,110,255, 0, 0, 0, 0, 0,105,176,227, 61,174,134, 33,190,196,146, 77, 62,
-187, 95, 14,212,182, 72,255, 0, 0, 0, 0, 0,214,169,178,187,174,134, 33,190,196,146, 77, 62, 69,160, 14,212,182, 72,255, 0,
- 0, 0, 0, 0, 48, 94,190, 61, 15, 98, 63,190, 88,215, 73, 62,117, 64,117,207, 90, 99,255, 0, 0, 0, 0, 0,220, 60, 81, 60,
- 15, 98, 63,190, 88,215, 73, 62,139,191,117,207, 90, 99,255, 0, 0, 0, 0, 0,252,119,116, 62,239, 95,151,189,139, 64, 40, 62,
-103, 49,157,196, 13,102,255, 0, 0, 0, 0, 0, 22, 53, 8,190,239, 95,151,189,139, 64, 40, 62,153,206,157,196, 13,102,255, 0,
- 0, 0, 0, 0,231,123,174, 62,211, 91,217,188, 2,220, 17, 62,142, 59,107,204,223,100,255, 0, 2, 0, 0, 0,232,180,112,190,
-211, 91,217,188, 2,220, 17, 62,114,196,107,204,223,100,255, 0, 2, 0, 0, 0,220,155,200, 62, 45,246, 46, 61,190,169, 6, 62,
-102, 66, 11,217, 65,102,255, 0, 0, 0, 0, 0,105,122,146,190, 45,246, 46, 61,190,169, 6, 62,154,189, 11,217, 65,102,255, 0,
- 0, 0, 0, 0, 72, 87,204, 62,170,177,251, 61,179,201, 32, 62, 87, 54,142,228,151,112,255, 0, 0, 0, 0, 0,213, 53,150,190,
-170,177,251, 61,179,201, 32, 62,169,201,142,228,151,112,255, 0, 0, 0, 0, 0, 78, 71,191, 62,241,129, 16, 62,128, 96, 66, 62,
- 82, 42, 97,247,125,120,255, 0, 2, 0, 0, 0,219, 37,137,190,241,129, 16, 62,128, 96, 66, 62,174,213, 97,247,125,120,255, 0,
- 2, 0, 0, 0,140,144,131, 62, 31,244, 79, 62, 77,247, 99, 62,192, 41,216,254,253,120,255, 0, 0, 0, 0, 0, 50,222, 26,190,
- 31,244, 79, 62, 77,247, 99, 62, 64,214,216,254,253,120,255, 0, 0, 0, 0, 0, 87,106, 75, 62, 48,189,124, 62,105,160,118, 62,
-217, 28, 53, 7,126,124,255, 0, 0, 0, 0, 0,225, 78,190,189, 48,189,124, 62,105,160,118, 62, 39,227, 53, 7,126,124,255, 0,
- 0, 0, 0, 0,109, 42, 23, 62,236,138,113, 62, 65, 23,126, 62,125,255, 44, 5,227,127,255, 0, 0, 0, 0, 0, 31,158, 43,189,
-236,138,113, 62, 65, 23,126, 62,131, 0, 44, 5,227,127,255, 0, 0, 0, 0, 0,225, 75,205, 61,202,248, 23, 62,213, 91,122, 62,
-130,238, 89, 2,197,126,255, 0, 0, 0, 0, 0,179,158,179, 59,202,248, 23, 62,213, 91,122, 62,126, 17, 89, 2,197,126,255, 0,
- 0, 0, 0, 0,105,176,227, 61,217,159,203,189, 37,110,107, 62,115, 23, 27,230, 34,123,255, 0, 0, 0, 0, 0,214,169,178,187,
-217,159,203,189, 37,110,107, 62,141,232, 27,230, 34,123,255, 0, 0, 0, 0, 0,218,229, 26, 62, 64, 3,133,190,167,233, 58, 62,
-212, 74, 28, 14,225,102,255, 0, 2, 0, 0, 0,207,139, 58,189, 64, 3,133,190,167,233, 58, 62, 44,181, 28, 14,225,102,255, 0,
- 2, 0, 0, 0,246,142, 45, 62,184,151,194,190, 99,183, 47, 62,235, 72, 17,252, 31,105,255, 0, 2, 0, 0, 0, 32,152,130,189,
-184,151,194,190, 99,183, 47, 62, 21,183, 17,252, 31,105,255, 0, 2, 0, 0, 0,206, 5, 53, 62, 99,149,222,190, 31,133, 36, 62,
-179, 66,197,225,249,104,255, 0, 2, 0, 0, 0,208,133,145,189, 99,149,222,190, 31,133, 36, 62, 77,189,197,225,249,104,255, 0,
- 2, 0, 0, 0, 30, 24, 38, 62,234,249,244,190,111,151, 21, 62, 62, 44, 4,183, 98, 95,255, 0, 2, 0, 0, 0,224, 84,103,189,
-234,249,244,190,111,151, 21, 62,194,211, 4,183, 98, 95,255, 0, 2, 0, 0, 0, 81,129, 4, 62, 86,181,248,190,111,151, 21, 62,
-155, 19, 52,158, 54, 80,255, 0, 2, 0, 0, 0, 89,243,193,188, 86,181,248,190,111,151, 21, 62,101,236, 52,158, 54, 80,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,195,112,252,190,219, 82, 25, 62, 0, 0,201,154, 88, 78,255, 0, 2, 0, 0, 0,203,133, 88, 61,
- 52, 55,247,188,128, 96, 66, 62, 0, 0, 2,252,239,127,255, 0, 0, 0, 0, 0,203,133, 88, 61,222,227, 61, 61,156, 9, 85, 62,
- 0, 0,112,227,196,124,255, 0, 0, 0, 0, 0, 47,225, 82, 62, 82, 93, 46, 62, 88,215, 73, 62, 58, 21,234,254, 56,126,255, 0,
- 0, 0, 0, 0,146, 60,205,189, 82, 93, 46, 62, 88,215, 73, 62,198,234,234,254, 56,126,255, 0, 0, 0, 0, 0, 81,129, 4, 62,
-170, 34, 94, 60,196,146, 77, 62, 37,214,110,232,163,118,255, 0, 0, 0, 0, 0, 89,243,193,188,170, 34, 94, 60,196,146, 77, 62,
-219, 41,110,232,163,118,255, 0, 0, 0, 0, 0, 65, 39,235, 61,222,227, 61, 61, 48, 78, 81, 62,150,232,127,230, 57,123,255, 0,
- 0, 0, 0, 0,173, 11, 21,188,222,227, 61, 61, 48, 78, 81, 62,106, 23,127,230, 57,123,255, 0, 0, 0, 0, 0,145, 57,220, 61,
- 76,220,190,190,236, 27, 70, 62,117, 20,197,248, 36,126,255, 0, 0, 0, 0, 0, 77,241,236,186, 76,220,190,190,236, 27, 70, 62,
-139,235,197,248, 36,126,255, 0, 0, 0, 0, 0, 88,231,182, 61, 64, 3,133,190,196,146, 77, 62, 43, 19,128, 0,141,126,255, 0,
- 2, 0, 0, 0,207,121,134, 60, 64, 3,133,190,196,146, 77, 62,213,236,128, 0,141,126,255, 0, 2, 0, 0, 0,203,133, 88, 61,
- 64, 3,133,190,196,146, 77, 62, 0, 0,122,255,254,127,255, 0, 0, 0, 0, 0,203,133, 88, 61, 43, 11, 82,190, 88,215, 73, 62,
- 0, 0,121,184, 36,106,255, 0, 0, 0, 0, 0, 8,213,197, 61, 55,235, 55,190,116,128, 92, 62,167, 66,139,160, 45, 53,255, 0,
- 2, 0, 0, 0, 27,134, 21, 60, 55,235, 55,190,116,128, 92, 62, 89,189,139,160, 45, 53,255, 0, 2, 0, 0, 0, 65, 39,235, 61,
-174,134, 33,190, 77,247, 99, 62,133,118,215,224,239, 36,255, 0, 2, 0, 0, 0,173, 11, 21,188,174,134, 33,190, 77,247, 99, 62,
-123,137,215,224,239, 36,255, 0, 2, 0, 0, 0,185,194,212, 61, 57,123,233,189,116,128, 92, 62,167, 81,141, 95, 49, 24,255, 0,
- 2, 0, 0, 0,191,196,240, 58, 57,123,233,189,116,128, 92, 62, 89,174,141, 95, 49, 24,255, 0, 2, 0, 0, 0, 31,149,145, 61,
- 97, 4,226,189,116,128, 92, 62,189,200,160,108, 26, 39,255, 0, 2, 0, 0, 0, 89,225, 13, 61, 97, 4,226,189,116,128, 92, 62,
- 67, 55,160,108, 26, 39,255, 0, 2, 0, 0, 0,203,133, 88, 61,106, 84, 22,190,253,228,114, 62, 0, 0, 42, 23,225,125,255, 0,
- 0, 0, 0, 0,247, 11,153, 61,235,104,248,189, 37,110,107, 62,186,231, 89, 78, 66, 98,255, 0, 2, 0, 0, 0, 82,231,253, 60,
-235,104,248,189, 37,110,107, 62, 70, 24, 89, 78, 66, 98,255, 0, 2, 0, 0, 0, 8,213,197, 61,195,223,255,189, 37,110,107, 62,
- 88, 43,134, 62,237,102,255, 0, 2, 0, 0, 0, 27,134, 21, 60,195,223,255,189, 37,110,107, 62,168,212,134, 62,237,102,255, 0,
- 2, 0, 0, 0,185,194,212, 61,174,134, 33,190,253,228,114, 62,247, 46, 89,233,228,116,255, 0, 2, 0, 0, 0,191,196,240, 58,
-174,134, 33,190,253,228,114, 62, 9,209, 89,233,228,116,255, 0, 2, 0, 0, 0, 88,231,182, 61,243,184, 44,190,185,178,103, 62,
- 46, 31,198,181,128, 99,255, 0, 2, 0, 0, 0,207,121,134, 60,243,184, 44,190,185,178,103, 62,210,224,198,181,128, 99,255, 0,
- 2, 0, 0, 0,203,133, 88, 61, 15, 98, 63,190,185,178,103, 62, 0, 0,185,191,175,110,255, 0, 2, 0, 0, 0, 98, 74, 49, 62,
- 83,148, 74,190,107,138,224, 61, 23,120, 34, 41, 99, 16,255, 0, 0, 0, 0, 0,248, 14,138,189, 83,148, 74,190,107,138,224, 61,
-233,135, 34, 41, 99, 16,255, 0, 0, 0, 0, 0, 81,129, 4, 62,134,253, 40,190,167,233, 58, 62,251, 80, 26,250,241, 98,255, 0,
- 0, 0, 0, 0, 89,243,193,188,134,253, 40,190,167,233, 58, 62, 5,175, 26,250,241, 98,255, 0, 0, 0, 0, 0, 41,248, 11, 62,
- 83,148, 74,190,167,233, 58, 62,215, 83,153, 16, 71, 95,255, 0, 0, 0, 0, 0, 27,170,253,188, 83,148, 74,190,167,233, 58, 62,
- 41,172,153, 16, 71, 95,255, 0, 0, 0, 0, 0, 30, 24, 38, 62,243,184, 44,190,107,138,224, 61, 24,122, 67, 35, 64, 15,255, 0,
- 0, 0, 0, 0,224, 84,103,189,243,184, 44,190,107,138,224, 61,232,133, 67, 35, 64, 15,255, 0, 0, 0, 0, 0,203,133, 88, 61,
- 93,165,235,190, 99,183, 47, 62, 0, 0,139, 86, 77, 94,255, 0, 0, 0, 0, 0,247, 11,153, 61,167,199,233,190, 99,183, 47, 62,
-144,206,200, 70,125, 94,255, 0, 0, 0, 0, 0, 82,231,253, 60,167,199,233,190, 99,183, 47, 62,112, 49,200, 70,125, 94,255, 0,
- 0, 0, 0, 0, 8,213,197, 61, 99,149,222,190,167,233, 58, 62,253,164,109, 17, 75, 88,255, 0, 0, 0, 0, 0, 27,134, 21, 60,
- 99,149,222,190,167,233, 58, 62, 3, 91,109, 17, 75, 88,255, 0, 0, 0, 0, 0, 8,213,197, 61, 70,236,203,190,128, 96, 66, 62,
-141,225, 87,168, 39, 88,255, 0, 0, 0, 0, 0, 27,134, 21, 60, 70,236,203,190,128, 96, 66, 62,115, 30, 87,168, 39, 88,255, 0,
- 0, 0, 0, 0,203,133, 88, 61,212, 64,213,190,179,201, 32, 62, 0, 0, 20,159,153, 83,255, 0, 0, 0, 0, 0, 8,213,197, 61,
-252,201,205,190, 31,133, 36, 62, 5,230,250,177, 20, 98,255, 0, 0, 0, 0, 0, 27,134, 21, 60,252,201,205,190, 31,133, 36, 62,
-251, 25,250,177, 20, 98,255, 0, 0, 0, 0, 0, 8,213,197, 61,173,183,220,190,219, 82, 25, 62, 18,152, 8, 24,188, 70,255, 0,
- 0, 0, 0, 0, 27,134, 21, 60,173,183,220,190,219, 82, 25, 62,238,103, 8, 24,188, 70,255, 0, 0, 0, 0, 0,247, 11,153, 61,
- 59, 12,230,190,111,151, 21, 62, 26,222,242, 49,221,112,255, 0, 0, 0, 0, 0, 82,231,253, 60, 59, 12,230,190,111,151, 21, 62,
-230, 33,242, 49,221,112,255, 0, 0, 0, 0, 0,203,133, 88, 61,241,233,231,190,111,151, 21, 62, 0, 0, 18, 60, 5,113,255, 0,
- 0, 0, 0, 0,189, 60, 8, 62,142,209, 76, 61,116,128, 92, 62, 4, 30, 93,244,225,123,255, 0, 0, 0, 0, 0,186,206,223,188,
-142,209, 76, 61,116,128, 92, 62,252,225, 93,244,225,123,255, 0, 0, 0, 0, 0,149,179, 15, 62, 22,200,170, 60, 8,197, 88, 62,
- 71, 9, 34,251,144,127,255, 0, 0, 0, 0, 0,190,194, 13,189, 22,200,170, 60, 8,197, 88, 62,185,246, 34,251,144,127,255, 0,
- 0, 0, 0, 0,155,156, 86, 62,202,248, 23, 62, 48, 78, 81, 62, 81, 17, 74, 2,204,126,255, 0, 0, 0, 0, 0,106,179,212,189,
-202,248, 23, 62, 48, 78, 81, 62,175,238, 74, 2,204,126,255, 0, 0, 0, 0, 0, 58,193, 56, 62, 94, 61, 20, 62, 8,197, 88, 62,
-218, 25,177,253, 86,125,255, 0, 2, 0, 0, 0,168,252,152,189, 94, 61, 20, 62, 8,197, 88, 62, 38,230,177,253, 86,125,255, 0,
- 2, 0, 0, 0, 64,170,127, 62, 25, 11, 9, 62, 8,197, 88, 62,182, 21,210,240, 57,125,255, 0, 2, 0, 0, 0, 90,103, 19,190,
- 25, 11, 9, 62, 8,197, 88, 62, 74,234,210,240, 57,125,255, 0, 2, 0, 0, 0,237,107,161, 62, 34, 77,229, 61,207,114, 51, 62,
-143, 28,249,237,117,123,255, 0, 0, 0, 0, 0,244,148, 86,190, 34, 77,229, 61,207,114, 51, 62,113,227,249,237,117,123,255, 0,
- 0, 0, 0, 0, 15, 5,167, 62, 97,150,169, 61, 99,183, 47, 62,209, 15,217,246,175,126,255, 0, 0, 0, 0, 0, 56,199, 97,190,
- 97,150,169, 61, 99,183, 47, 62, 47,240,217,246,175,126,255, 0, 0, 0, 0, 0, 89, 39,165, 62,125, 8, 32, 61,247,251, 43, 62,
-177, 24,190,253,146,125,255, 0, 0, 0, 0, 0,204, 11, 94,190,125, 8, 32, 61,247,251, 43, 62, 79,231,190,253,146,125,255, 0,
- 0, 0, 0, 0, 26,229,140, 62, 60,222,152,187, 20,165, 62, 62, 20, 33, 75, 2,160,123,255, 0, 0, 0, 0, 0, 79,135, 45,190,
- 60,222,152,187, 20,165, 62, 62,236,222, 75, 2,160,123,255, 0, 0, 0, 0, 0,184, 69,105, 62,115,128,187,188, 88,215, 73, 62,
- 85, 26,238,248, 14,125,255, 0, 0, 0, 0, 0,163, 5,250,189,115,128,187,188, 88,215, 73, 62,171,229,238,248, 14,125,255, 0,
- 0, 0, 0, 0,178, 92, 34, 62,226,194,133,186,116,128, 92, 62, 8, 7,142,250,175,127,255, 0, 0, 0, 0, 0, 48,103, 88,189,
-226,194,133,186,116,128, 92, 62,248,248,142,250,175,127,255, 0, 0, 0, 0, 0, 41,248, 11, 62, 57, 13,177, 61,116,128, 92, 62,
-169, 34, 2,240, 43,122,255, 0, 0, 0, 0, 0, 27,170,253,188, 57, 13,177, 61,116,128, 92, 62, 87,221, 2,240, 43,122,255, 0,
- 0, 0, 0, 0,218,229, 26, 62,170,177,251, 61,116,128, 92, 62,126, 27,108,239,231,123,255, 0, 0, 0, 0, 0,207,139, 58,189,
-170,177,251, 61,116,128, 92, 62,130,228,108,239,231,123,255, 0, 0, 0, 0, 0, 30, 24, 38, 62,250,195,236, 61, 48, 78, 81, 62,
-226, 64, 13,207,224, 98,255, 0, 0, 0, 0, 0,224, 84,103,189,250,195,236, 61, 48, 78, 81, 62, 30,191, 13,207,224, 98,255, 0,
- 0, 0, 0, 0, 1,111, 19, 62, 57, 13,177, 61, 48, 78, 81, 62, 29, 96,169,229, 81, 80,255, 0, 0, 0, 0, 0,110,176, 28,189,
- 57, 13,177, 61, 48, 78, 81, 62,227,159,169,229, 81, 80,255, 0, 0, 0, 0, 0,138,211, 41, 62, 77,106,205, 59, 48, 78, 81, 62,
- 36, 55,122, 71,188, 90,255, 0, 0, 0, 0, 0,143, 66,118,189, 77,106,205, 59, 48, 78, 81, 62,220,200,122, 71,188, 90,255, 0,
- 0, 0, 0, 0,184, 69,105, 62,161,220, 67,188,128, 96, 66, 62, 76, 21, 90, 78,241, 98,255, 0, 0, 0, 0, 0,163, 5,250,189,
-161,220, 67,188,128, 96, 66, 62,180,234, 90, 78,241, 98,255, 0, 0, 0, 0, 0,174, 41,137, 62,149,249, 43, 59, 59, 46, 55, 62,
- 85,245, 69, 69, 25,107,255, 0, 0, 0, 0, 0,118, 16, 38,190,149,249, 43, 59, 59, 46, 55, 62,171, 10, 69, 69, 25,107,255, 0,
- 0, 0, 0, 0,129,176,157, 62,222,227, 61, 61,139, 64, 40, 62,232,223,211, 29, 67,120,255, 0, 0, 0, 0, 0, 28, 30, 79,190,
-222,227, 61, 61,139, 64, 40, 62, 24, 32,211, 29, 67,120,255, 0, 0, 0, 0, 0, 55,142,159, 62,137, 31,162, 61,139, 64, 40, 62,
-148,210,123,238, 95,118,255, 0, 0, 0, 0, 0,136,217, 82,190,137, 31,162, 61,139, 64, 40, 62,108, 45,123,238, 95,118,255, 0,
- 0, 0, 0, 0, 21,245,153, 62,114, 95,214, 61,247,251, 43, 62,216,229,108,179, 43, 99,255, 0, 0, 0, 0, 0, 67,167, 71,190,
-114, 95,214, 61,247,251, 43, 62, 40, 26,108,179, 43, 99,255, 0, 0, 0, 0, 0,212,238,123, 62,173, 79, 5, 62,196,146, 77, 62,
-202,237,179,158, 35, 81,255, 0, 2, 0, 0, 0,238,171, 15,190,173, 79, 5, 62,196,146, 77, 62, 54, 18,179,158, 35, 81,255, 0,
- 2, 0, 0, 0,166,124, 60, 62, 25, 11, 9, 62,156, 9, 85, 62, 24, 39,118,212,214,113,255, 0, 2, 0, 0, 0,129,115,160,189,
- 25, 11, 9, 62,156, 9, 85, 62,232,216,118,212,214,113,255, 0, 2, 0, 0, 0,155,156, 86, 62,133,198, 12, 62,196,146, 77, 62,
-213, 1,189,193,208,111,255, 0, 0, 0, 0, 0,106,179,212,189,133,198, 12, 62,196,146, 77, 62, 43,254,189,193,208,111,255, 0,
- 0, 0, 0, 0,109, 42, 23, 62,216,126,230, 60,196,146, 77, 62,226, 84,192, 42,187, 85,255, 0, 0, 0, 0, 0, 31,158, 43,189,
-216,126,230, 60,196,146, 77, 62, 30,171,192, 42,187, 85,255, 0, 0, 0, 0, 0, 1,111, 19, 62, 63,191, 91, 61,196,146, 77, 62,
-235,102,196, 2, 11, 76,255, 0, 0, 0, 0, 0,110,176, 28,189, 63,191, 91, 61,196,146, 77, 62, 21,153,196, 2, 11, 76,255, 0,
- 0, 0, 0, 0,185,194,212, 61,122,230, 38, 62, 42,101, 10, 62,183,182,118,104, 5,246,255, 0, 0, 0, 0, 0,191,196,240, 58,
-122,230, 38, 62, 42,101, 10, 62, 73, 73,118,104, 5,246,255, 0, 0, 0, 0, 0, 1,111, 19, 62,186,247,131, 62,150, 32, 14, 62,
-208,192,221, 66, 3,167,255, 0, 2, 0, 0, 0,110,176, 28,189,186,247,131, 62,150, 32, 14, 62, 48, 63,221, 66, 3,167,255, 0,
- 2, 0, 0, 0,155,156, 86, 62,220,144,137, 62, 82,238, 2, 62, 59, 9, 89, 90,208,165,255, 0, 2, 0, 0, 0,106,179,212,189,
-220,144,137, 62, 82,238, 2, 62,197,246, 89, 90,208,165,255, 0, 2, 0, 0, 0,208,194,142, 62,139,175, 83, 62,107,138,224, 61,
-165, 37,104,114,176,212,255, 0, 0, 0, 0, 0,187, 66, 49,190,139,175, 83, 62,107,138,224, 61, 91,218,104,114,176,212,255, 0,
- 0, 0, 0, 0,152,105,189, 62, 14, 43, 35, 62,170,211,164, 61, 67, 45, 40,116, 1,227,255, 0, 0, 0, 0, 0, 37, 72,135,190,
- 14, 43, 35, 62,170,211,164, 61,189,210, 40,116, 1,227,255, 0, 0, 0, 0, 0, 66,103,217, 62,133,198, 12, 62, 73,248,134, 61,
-100, 94,237, 79, 18,223,255, 0, 0, 0, 0, 0,207, 69,163,190,133,198, 12, 62, 73,248,134, 61,156,161,237, 79, 18,223,255, 0,
- 0, 0, 0, 0, 32,206,211, 62,119,163,200, 60,252,115,211, 60,247,120,255,221,165,231,255, 0, 0, 0, 0, 0,173,172,157,190,
-119,163,200, 60,252,115,211, 60, 9,135,255,221,165,231,255, 0, 0, 0, 0, 0,123,192,170, 62,188, 45, 85,189,112, 94, 52, 61,
-155, 76,106,154, 19,242,255, 0, 0, 0, 0, 0, 16, 62,105,190,188, 45, 85,189,112, 94, 52, 61,101,179,106,154, 19,242,255, 0,
- 0, 0, 0, 0,140,144,131, 62, 0, 41,196,189, 33,111,142, 61,204, 56, 26,142,138, 13,255, 0, 0, 0, 0, 0, 50,222, 26,190,
- 0, 41,196,189, 33,111,142, 61, 52,199, 26,142,138, 13,255, 0, 0, 0, 0, 0,203,133, 88, 61, 16,243,187, 62, 89,242,105,188,
- 0, 0,155,106,214, 70,255, 0, 2, 0, 0, 0,203,133, 88, 61,226,121,208, 62,254, 7, 62,190, 0, 0,243,127, 82, 3,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,254,152, 18,190, 11,214,236,190, 0, 0, 54,164,204,166,255, 0, 3, 0, 0, 0,203,133, 88, 61,
-173,190,136,190,139,142,124,189, 0, 0,179,129, 65,235,255, 0, 0, 0, 0, 0,203,133, 88, 61,205,243, 1,191, 73,248,134, 61,
- 0, 0,182,151,204,181,255, 0, 2, 0, 0, 0,203,133, 88, 61,247,217,218,190,241, 12, 56, 60, 0, 0,231,221,162,132,255, 0,
- 2, 0, 0, 0,203,133, 88, 61,161,222,162,190,147, 21,157, 57, 0, 0, 16,212,201,135,255, 0, 0, 0, 0, 0,203,133, 88, 61,
-207, 87,142,190,141,212,146,188, 0, 0,245,147, 97,187,255, 0, 0, 0, 0, 0, 61,119,230, 62,239,172,106, 61,161, 43,253,189,
-164,125,181,235,156, 13,255, 0, 0, 0, 0, 0,202, 85,176,190,239,172,106, 61,161, 43,253,189, 92,130,181,235,156, 13,255, 0,
- 0, 0, 0, 0,243, 84,232, 62,194,113,199, 61, 78, 26, 47,190,174,126, 23,238, 66,252,255, 0, 0, 0, 0, 0,128, 51,178,190,
-194,113,199, 61, 78, 26, 47,190, 82,129, 23,238, 66,252,255, 0, 0, 0, 0, 0, 32,206,211, 62,216, 49,147, 61,181,218,180,190,
- 70, 81,148, 13, 15,158,255, 0, 1, 0, 0, 0,173,172,157,190,216, 49,147, 61,181,218,180,190,186,174,148, 13, 15,158,255, 0,
- 1, 0, 0, 0,174, 41,137, 62, 54,180, 27, 62,226, 76,244,190,123, 58,228, 21, 70,144,255, 0, 3, 0, 0, 0,118, 16, 38,190,
- 54,180, 27, 62,226, 76,244,190,133,197,228, 21, 70,144,255, 0, 3, 0, 0, 0,146,121,202, 62,239, 95,151,189,240, 61,238,189,
- 76, 89,139,164,161, 6,255, 0, 2, 0, 0, 0, 31, 88,148,190,239, 95,151,189,240, 61,238,189,180,166,139,164,161, 6,255, 0,
- 2, 0, 0, 0,197,226,168, 62, 97, 4,226,189,163, 21,103,190, 93, 38, 34,134,182, 7,255, 0, 0, 0, 0, 0,164,130,101,190,
- 97, 4,226,189,163, 21,103,190,163,217, 34,134,182, 7,255, 0, 0, 0, 0, 0, 9, 21,180, 62,109, 27,100,189,255,252,178,190,
-106, 43,219,170,222,170,255, 0, 1, 0, 0, 0, 45,231,123,190,109, 27,100,189,255,252,178,190,150,212,219,170,222,170,255, 0,
- 1, 0, 0, 0,155,156, 86, 62,211, 91,217,188, 85,248,234,190,168, 55,109,213,229,148,255, 0, 2, 0, 0, 0,106,179,212,189,
-211, 91,217,188, 85,248,234,190, 88,200,109,213,229,148,255, 0, 2, 0, 0, 0, 30, 24, 38, 62,112, 61, 93,190,191,112, 37, 61,
-197,120, 36,255,158,213,255, 0, 0, 0, 0, 0,224, 84,103,189,112, 61, 93,190,191,112, 37, 61, 59,135, 36,255,158,213,255, 0,
- 0, 0, 0, 0, 41,248, 11, 62,209, 24,123,190,176,102,236,188,188, 84, 20,181, 24,196,255, 0, 0, 0, 0, 0, 27,170,253,188,
-209, 24,123,190,176,102,236,188, 68,171, 20,181, 24,196,255, 0, 0, 0, 0, 0, 19, 56, 64, 62,110,117,196,190, 92, 79,241, 60,
-131, 79, 86,254,183,155,255, 0, 2, 0, 0, 0, 89,234,167,189,110,117,196,190, 92, 79,241, 60,125,176, 86,254,183,155,255, 0,
- 2, 0, 0, 0,246,142, 45, 62, 59, 19,146,190, 95,149, 7, 61, 5, 99, 8, 1,231,174,255, 0, 0, 0, 0, 0, 32,152,130,189,
- 59, 19,146,190, 95,149, 7, 61,251,156, 8, 1,231,174,255, 0, 0, 0, 0, 0, 47,225, 82, 62,234,249,244,190, 15,131, 22, 61,
- 65, 62,227,185,224,168,255, 0, 2, 0, 0, 0,146, 60,205,189,234,249,244,190, 15,131, 22, 61,191,193,227,185,224,168,255, 0,
- 2, 0, 0, 0, 25,158,242, 61,178,167,207,190,155,152,181, 60,133, 16,208,232, 55,131,255, 0, 0, 0, 0, 0,110,194, 80,188,
-178,167,207,190,155,152,181, 60,123,239,208,232, 55,131,255, 0, 0, 0, 0, 0,105,176,227, 61,201,103,155,190, 58,189,151, 60,
- 7, 48,163,224,149,141,255, 0, 0, 0, 0, 0,214,169,178,187,201,103,155,190, 58,189,151, 60,249,207,163,224,149,141,255, 0,
- 0, 0, 0, 0, 81,129, 4, 62,195,112,252,190,129, 39, 97, 61, 68, 12,218,158,147,173,255, 0, 0, 0, 0, 0, 89,243,193,188,
-195,112,252,190,129, 39, 97, 61,188,243,218,158,147,173,255, 0, 0, 0, 0, 0, 70,161, 30, 62,163,166, 59,190,208, 57, 82, 61,
-195,124,106,227,203,255,255, 0, 0, 0, 0, 0,127,121, 73,189,163,166, 59,190,208, 57, 82, 61, 61,131,106,227,203,255,255, 0,
- 0, 0, 0, 0,218,229, 26, 62,174,134, 33,190, 33,111,142, 61, 29,120,105,231,193, 36,255, 0, 0, 0, 0, 0,207,139, 58,189,
-174,134, 33,190, 33,111,142, 61,227,135,105,231,193, 36,255, 0, 0, 0, 0, 0,109, 42, 23, 62,186,102, 7,190,130, 74,172, 61,
-160,101,164,182,240, 25,255, 0, 0, 0, 0, 0, 31,158, 43,189,186,102, 7,190,130, 74,172, 61, 96,154,164,182,240, 25,255, 0,
- 0, 0, 0, 0,218,229, 26, 62,140,230,111,190,206,171,148,189,120, 84,221,159,198,253,255, 0, 0, 0, 0, 0,207,139, 58,189,
-140,230,111,190,206,171,148,189,136,171,221,159,198,253,255, 0, 0, 0, 0, 0,127,243, 67, 62, 83,148, 74,190, 16,205,139,190,
-255, 67, 42,151, 73,228,255, 0, 2, 0, 0, 0, 49, 97,175,189, 83,148, 74,190, 16,205,139,190, 1,188, 42,151, 73,228,255, 0,
- 2, 0, 0, 0, 7, 88, 90, 62,235,104,248,189,244, 28,205,190,201, 63, 25,176, 0,179,255, 0, 3, 0, 0, 0, 66, 42,220,189,
-235,104,248,189,244, 28,205,190, 55,192, 25,176, 0,179,255, 0, 3, 0, 0, 0,248, 75,135, 62, 55,124,180, 62,187,202,167,190,
- 34, 56,160, 95, 17,192,255, 0, 2, 0, 0, 0, 10, 85, 34,190, 55,124,180, 62,187,202,167,190,222,199,160, 95, 17,192,255, 0,
- 2, 0, 0, 0,248, 75,135, 62,232,105,195, 62,146, 76, 58,190, 54, 55,120,115,239, 0,255, 0, 2, 0, 0, 0, 10, 85, 34,190,
-232,105,195, 62,146, 76, 58,190,202,200,120,115,239, 0,255, 0, 2, 0, 0, 0,248, 75,135, 62,203,192,176, 62,105,252, 34,189,
-239, 63,164, 92,238, 60,255, 0, 2, 0, 0, 0, 10, 85, 34,190,203,192,176, 62,105,252, 34,189, 17,192,164, 92,238, 60,255, 0,
- 2, 0, 0, 0,174, 41,137, 62,219,193, 68, 62,208, 57, 82, 61,123, 49,255,102,170, 57,255, 0, 0, 0, 0, 0,118, 16, 38,190,
-219,193, 68, 62,208, 57, 82, 61,133,206,255,102,170, 57,255, 0, 0, 0, 0, 0,220,155,200, 62,133,198, 12, 62, 95,172,248, 59,
-142, 98,198, 73, 6, 35,255, 0, 0, 0, 0, 0,105,122,146,190,133,198, 12, 62, 95,172,248, 59,114,157,198, 73, 6, 35,255, 0,
- 0, 0, 0, 0, 83, 55,178, 62, 14, 43, 35, 62,141,212,146,188,129, 61,254,106,241, 33,255, 0, 0, 0, 0, 0,193, 43,120,190,
- 14, 43, 35, 62,141,212,146,188,127,194,254,106,241, 33,255, 0, 0, 0, 0, 0, 9, 21,180, 62, 72, 76,141, 62,161, 43,253,189,
-234, 76,151, 87,221, 52,255, 0, 0, 0, 0, 0, 45,231,123,190, 72, 76,141, 62,161, 43,253,189, 22,179,151, 87,221, 52,255, 0,
- 0, 0, 0, 0, 66,103,217, 62,247,106, 87, 62, 7,254,185,189,187,101, 28, 66,199, 40,255, 0, 2, 0, 0, 0,207, 69,163,190,
-247,106, 87, 62, 7,254,185,189, 69,154, 28, 66,199, 40,255, 0, 2, 0, 0, 0, 66,103,217, 62,236,138,113, 62, 26,177, 80,190,
-183,113, 68, 58,119,248,255, 0, 2, 0, 0, 0,207, 69,163,190,236,138,113, 62, 26,177, 80,190, 73,142, 68, 58,119,248,255, 0,
- 2, 0, 0, 0, 9, 21,180, 62,141,126,152, 62, 83, 3,118,190,235, 86,238, 93,205,253,255, 0, 0, 0, 0, 0, 45,231,123,190,
-141,126,152, 62, 83, 3,118,190, 21,169,238, 93,205,253,255, 0, 0, 0, 0, 0, 9, 21,180, 62, 38,179,135, 62,107,184,182,190,
-232, 85,154, 70,157,192,255, 0, 2, 0, 0, 0, 45,231,123,190, 38,179,135, 62,107,184,182,190, 24,170,154, 70,157,192,255, 0,
- 2, 0, 0, 0, 66,103,217, 62,179, 56, 76, 62,153, 49,162,190,166,110,177, 42,222,207,255, 0, 2, 0, 0, 0,207, 69,163,190,
-179, 56, 76, 62,153, 49,162,190, 90,145,177, 42,222,207,255, 0, 2, 0, 0, 0,231,123,174, 62,154,232,206, 61, 56, 79,216,190,
- 58, 75, 57, 1,116,152,255, 0, 3, 0, 0, 0,232,180,112,190,154,232,206, 61, 56, 79,216,190,198,180, 57, 1,116,152,255, 0,
- 3, 0, 0, 0,208,194,142, 62,171,100, 40,189,170,250,206,190, 73, 70,147,187,200,173,255, 0, 1, 0, 0, 0,187, 66, 49,190,
-171,100, 40,189,170,250,206,190,183,185,147,187,200,173,255, 0, 0, 0, 0, 0,100, 0,223, 62,154,232,206, 61,191,190,121,190,
-194,114, 80, 41,207, 38,255, 0, 0, 0, 0, 0,241,222,168,190,154,232,206, 61,191,190,121,190, 62,141, 80, 41,207, 38,255, 0,
- 0, 0, 0, 0,104, 51,120, 62,186,102, 7,190,127,153,163,189,232, 74,153,154, 28, 22,255, 0, 0, 0, 0, 0,130,240, 11,190,
-186,102, 7,190,127,153,163,189, 24,181,153,154, 28, 22,255, 0, 0, 0, 0, 0,214,178,129, 62,254,152, 18,190, 44,122,125,190,
- 89, 71,115,151, 1,237,255, 0, 0, 0, 0, 0,198, 34, 23,190,254,152, 18,190, 44,122,125,190,167,184,115,151, 1,237,255, 0,
- 0, 0, 0, 0,202,203,239, 62,133,198, 12, 62, 56, 86,132,190, 72,220,207, 93,106, 79,255, 0, 2, 0, 0, 0, 88,170,185,190,
-133,198, 12, 62, 56, 86,132,190,184, 35,207, 93,106, 79,255, 0, 2, 0, 0, 0, 32,206,211, 62, 18,242,240,189,135,108, 84,190,
- 30, 15, 34,150, 84, 70,255, 0, 2, 0, 0, 0,173,172,157,190, 18,242,240,189,135,108, 84,190,226,240, 34,150, 84, 70,255, 0,
- 2, 0, 0, 0, 38,160, 9, 63,217,159,203,189,192,186,154,190,164, 67,138,166,172, 61,255, 0, 0, 0, 0, 0,219, 30,221,190,
-217,159,203,189,192,186,154,190, 92,188,138,166,172, 61,255, 0, 0, 0, 0, 0,172,140, 38, 63,211, 91,217,188,255,252,178,190,
-179, 83,223,206,114, 83,255, 0, 0, 0, 0, 0,244,123, 11,191,211, 91,217,188,255,252,178,190, 77,172,223,206,114, 83,255, 0,
- 0, 0, 0, 0, 95,242, 46, 63,194,113,199, 61, 73, 31,177,190, 54, 92,232, 12,210, 87,255, 0, 2, 0, 0, 0,167,225, 19,191,
-194,113,199, 61, 73, 31,177,190,202,163,232, 12,210, 87,255, 0, 2, 0, 0, 0,138,243, 32, 63, 3, 75, 61, 62, 73, 31,177,190,
-247, 62,221, 83, 97, 73,255, 0, 0, 0, 0, 0,209,226, 5,191, 3, 75, 61, 62, 73, 31,177,190, 9,193,221, 83, 97, 73,255, 0,
- 0, 0, 0, 0,112,194, 7, 63, 82, 93, 46, 62, 84,255,150,190,181, 5, 80,111,236, 62,255, 0, 0, 0, 0, 0,111, 99,217,190,
- 82, 93, 46, 62, 84,255,150,190, 75,250, 80,111,236, 62,255, 0, 0, 0, 0, 0,149,211, 6, 63,241,129, 16, 62, 50,102,145,190,
-236, 69,117,239,236,105,255, 0, 0, 0, 0, 0,185,133,215,190,241,129, 16, 62, 50,102,145,190, 20,186,117,239,236,105,255, 0,
- 0, 0, 0, 0,104, 90, 27, 63, 54,180, 27, 62,113,168,169,190, 34, 24,205,231, 89,123,255, 0, 0, 0, 0, 0,175, 73, 0,191,
- 54,180, 27, 62,113,168,169,190,222,231,205,231, 89,123,255, 0, 0, 0, 0, 0,246,174, 36, 63, 97,150,169, 61,221, 99,173,190,
- 69,223, 16,252,173,123,255, 0, 0, 0, 0, 0, 62,158, 9,191, 97,150,169, 61,221, 99,173,190,187, 32, 16,252,173,123,255, 0,
- 0, 0, 0, 0,249, 38, 30, 63, 98,147,127,188,221, 99,173,190,171,239, 0, 39,207,120,255, 0, 0, 0, 0, 0, 64, 22, 3,191,
- 98,147,127,188,221, 99,173,190, 85, 16, 0, 39,207,120,255, 0, 0, 0, 0, 0, 75,177, 8, 63, 23,233,143,189,158, 33,149,190,
- 9, 51, 56, 45, 82,108,255, 0, 0, 0, 0, 0, 37, 65,219,190, 23,233,143,189,158, 33,149,190,247,204, 56, 45, 82,108,255, 0,
- 0, 0, 0, 0, 26,222,224, 62,120,196,173,189,243, 39, 88,190,147, 38,224, 62,153,104,255, 0, 2, 0, 0, 0,167,188,170,190,
-120,196,173,189,243, 39, 88,190,109,217,224, 62,153,104,255, 0, 2, 0, 0, 0,162, 66,247, 62,250,195,236, 61,204,154,128,190,
-218, 62,152,243,206,110,255, 0, 2, 0, 0, 0, 48, 33,193,190,250,195,236, 61,204,154,128,190, 38,193,152,243,206,110,255, 0,
- 2, 0, 0, 0,196,219,252, 62, 17,132,184, 61, 50,102,145,190, 10, 87, 73,182, 19, 58,255, 0, 0, 0, 0, 0, 82,186,198,190,
- 17,132,184, 61, 50,102,145,190,246,168, 73,182, 19, 58,255, 0, 0, 0, 0, 0, 21,238,237, 62,103,251,128,189, 44,122,125,190,
-232, 15,106,121, 64, 37,255, 0, 0, 0, 0, 0,162,204,183,190,103,251,128,189, 44,122,125,190, 24,240,106,121, 64, 37,255, 0,
- 0, 0, 0, 0, 38,160, 9, 63,188, 45, 85,189, 79, 15,164,190,157,239, 89,122,212, 33,255, 0, 0, 0, 0, 0,219, 30,221,190,
-188, 45, 85,189, 79, 15,164,190, 99, 16, 89,122,212, 33,255, 0, 0, 0, 0, 0,104, 90, 27, 63,223, 37, 8,188,107,184,182,190,
- 8,158,202, 81,185, 9,255, 0, 0, 0, 0, 0,175, 73, 0,191,223, 37, 8,188,107,184,182,190,248, 97,202, 81,185, 9,255, 0,
- 0, 0, 0, 0,138,243, 32, 63, 40, 68,132, 61,107,184,182,190, 60,131,145,239, 95, 23,255, 0, 0, 0, 0, 0,209,226, 5,191,
- 40, 68,132, 61,107,184,182,190,196,124,145,239, 95, 23,255, 0, 0, 0, 0, 0,178,124, 25, 63,250,195,236, 61,181,218,180,190,
- 27,228, 22,153,206, 70,255, 0, 0, 0, 0, 0,242,215,252,190,250,195,236, 61,181,218,180,190,229, 27, 22,153,206, 70,255, 0,
- 0, 0, 0, 0,112,194, 7, 63, 74,214,221, 61,153, 49,162,190, 65, 68,253,168,113, 64,255, 0, 0, 0, 0, 0,111, 99,217,190,
- 74,214,221, 61,153, 49,162,190,191,187,253,168,113, 64,255, 0, 0, 0, 0, 0,135,153,228, 62, 97,150,169, 61, 44,122,125,190,
-113, 86,190,222, 87, 88,255, 0, 0, 0, 0, 0, 20,120,174,190, 97,150,169, 61, 44,122,125,190,143,169,190,222, 87, 88,255, 0,
- 0, 0, 0, 0,209,187,226, 62,216,126,230, 60,198,170,141,190,196, 95,107,182,100, 42,255, 0, 0, 0, 0, 0, 93,154,172,190,
-216,126,230, 60,198,170,141,190, 60,160,107,182,100, 42,255, 0, 0, 0, 0, 0,180, 18,208, 62,223, 37, 8,188,198,170,141,190,
- 42,111, 21, 14,220, 61,255, 0, 0, 0, 0, 0, 65,241,153,190,223, 37, 8,188,198,170,141,190,214,144, 21, 14,220, 61,255, 0,
- 0, 0, 0, 0,100, 0,223, 62,161,220, 67,188,198,170,141,190, 3, 79, 4, 91, 19, 43,255, 0, 2, 0, 0, 0,241,222,168,190,
-161,220, 67,188,198,170,141,190,253,176, 4, 91, 19, 43,255, 0, 2, 0, 0, 0,135,153,228, 62, 92, 82, 55,189,198,170,141,190,
-207,107,198,254,250, 68,255, 0, 2, 0, 0, 0, 20,120,174,190, 92, 82, 55,189,198,170,141,190, 49,148,198,254,250, 68,255, 0,
- 2, 0, 0, 0,174, 34,221, 62, 29, 9,115,189,198,170,141,190, 7, 82,225, 64,200, 73,255, 0, 0, 0, 0, 0, 59, 1,167,190,
- 29, 9,115,189,198,170,141,190,249,173,225, 64,200, 73,255, 0, 0, 0, 0, 0,220,155,200, 62,188, 45, 85,189,146, 76, 58,190,
- 38,117, 66,207, 47,239,255, 0, 0, 0, 0, 0,105,122,146,190,188, 45, 85,189,146, 76, 58,190,218,138, 66,207, 47,239,255, 0,
- 0, 0, 0, 0, 38,190,198, 62,103,251,128,189, 15,209,106,190,150, 97,139, 18,184, 80,255, 0, 0, 0, 0, 0,179,156,144,190,
-103,251,128,189, 15,209,106,190,106,158,139, 18,184, 80,255, 0, 0, 0, 0, 0, 38,190,198, 62, 74,137, 10,189,231, 71,114,190,
- 17,116, 66,240,154, 51,255, 0, 0, 0, 0, 0,179,156,144,190, 74,137, 10,189,231, 71,114,190,239,139, 66,240,154, 51,255, 0,
- 0, 0, 0, 0, 66,103,217, 62, 45,246, 46, 61, 44,122,125,190,112,113,245,204, 39, 30,255, 0, 0, 0, 0, 0,207, 69,163,190,
- 45,246, 46, 61, 44,122,125,190,144,142,245,204, 39, 30,255, 0, 0, 0, 0, 0,202,203,239, 62,159,154,121, 61, 16,205,139,190,
-105, 90, 61,185,146, 56,255, 0, 0, 0, 0, 0, 88,170,185,190,159,154,121, 61, 16,205,139,190,151,165, 61,185,146, 56,255, 0,
- 0, 0, 0, 0,202,203,239, 62,239,172,106, 61, 10,221,152,190,191, 82,102,204,230, 82,255, 0, 0, 0, 0, 0, 88,170,185,190,
-239,172,106, 61, 10,221,152,190, 65,173,102,204,230, 82,255, 0, 0, 0, 0, 0,174, 34,221, 62, 29, 9,115,189, 10,221,152,190,
-246, 29, 64, 98, 94, 76,255, 0, 0, 0, 0, 0, 59, 1,167,190, 29, 9,115,189, 10,221,152,190, 10,226, 64, 98, 94, 76,255, 0,
- 0, 0, 0, 0, 61,119,230, 62, 92, 82, 55,189, 10,221,152,190,150, 77,111, 17, 75,100,255, 0, 0, 0, 0, 0,202, 85,176,190,
- 92, 82, 55,189, 10,221,152,190,106,178,111, 17, 75,100,255, 0, 0, 0, 0, 0, 26,222,224, 62, 98,147,127,188, 10,221,152,190,
-239, 60,190, 60,195, 94,255, 0, 0, 0, 0, 0,167,188,170,190, 98,147,127,188, 10,221,152,190, 17,195,190, 60,195, 94,255, 0,
- 0, 0, 0, 0,106,240,209, 62,223, 37, 8,188, 10,221,152,190,199, 83,178, 23,209, 93,255, 0, 0, 0, 0, 0,247,206,155,190,
-223, 37, 8,188, 10,221,152,190, 57,172,178, 23,209, 93,255, 0, 0, 0, 0, 0,135,153,228, 62,216,126,230, 60, 10,221,152,190,
- 98, 73, 1,200,170, 88,255, 0, 0, 0, 0, 0, 20,120,174,190,216,126,230, 60, 10,221,152,190,158,182, 1,200,170, 88,255, 0,
- 0, 0, 0, 0, 38,160, 9, 63,154,232,206, 61,147, 65,175,190, 23, 68,166,223,112,103,255, 0, 0, 0, 0, 0,219, 30,221,190,
-154,232,206, 61,147, 65,175,190,233,187,166,223,112,103,255, 0, 0, 0, 0, 0,104, 90, 27, 63, 74,214,221, 61,249, 12,192,190,
-165, 18,156,216, 89,120,255, 0, 0, 0, 0, 0,175, 73, 0,191, 74,214,221, 61,249, 12,192,190, 91,237,156,216, 89,120,255, 0,
- 0, 0, 0, 0, 27,192, 35, 63,159,154,121, 61,175,234,193,190, 25,185, 29,231,157,103,255, 0, 0, 0, 0, 0, 98,175, 8,191,
-159,154,121, 61,175,234,193,190,231, 70, 29,231,157,103,255, 0, 0, 0, 0, 0,249, 38, 30, 63,161,220, 67,188,249, 12,192,190,
- 43,209, 0, 64,119,100,255, 0, 0, 0, 0, 0, 64, 22, 3,191,161,220, 67,188,249, 12,192,190,213, 46, 0, 64,119,100,255, 0,
- 0, 0, 0, 0, 1,143, 10, 63,188, 45, 85,189, 73, 31,177,190, 52, 26,240, 92, 3, 84,255, 0, 0, 0, 0, 0,145,252,222,190,
-188, 45, 85,189, 73, 31,177,190,204,229,240, 92, 3, 84,255, 0, 0, 0, 0, 0, 21,238,237, 62, 29, 9,115,189, 16,205,139,190,
- 58, 8,116,111,101, 62,255, 0, 0, 0, 0, 0,162,204,183,190, 29, 9,115,189, 16,205,139,190,198,247,116,111,101, 62,255, 0,
- 0, 0, 0, 0,122,185,254, 62, 97,150,169, 61, 45,118,158,190,198, 80,102,213,175, 89,255, 0, 0, 0, 0, 0, 8,152,200,190,
- 97,150,169, 61, 45,118,158,190, 58,175,102,213,175, 89,255, 0, 0, 0, 0, 0,202,203,239, 62,226,194,133,186,192,186,154,190,
-136, 25,130, 0,108,125,255, 0, 0, 0, 0, 0, 88,170,185,190,226,194,133,186,192,186,154,190,120,230,130, 0,108,125,255, 0,
- 0, 0, 0, 0, 14,254,250, 62,115,128,187,188,119,152,156,190, 2, 27, 58, 30,104,121,255, 0, 0, 0, 0, 0,156,220,196,190,
-115,128,187,188,119,152,156,190,254,228, 58, 30,104,121,255, 0, 0, 0, 0, 0,223,245, 4, 63, 77,106,205, 59, 79, 15,164,190,
-218, 55,126,253, 35,115,255, 0, 0, 0, 0, 0, 76,202,211,190, 77,106,205, 59, 79, 15,164,190, 38,200,126,253, 35,115,255, 0,
- 0, 0, 0, 0,152, 75, 0, 63,216,126,230, 60,227, 83,160,190,164, 41,199,255, 8,121,255, 0, 0, 0, 0, 0,190,117,202,190,
-216,126,230, 60,227, 83,160,190, 92,214,199,255, 8,121,255, 0, 0, 0, 0, 0,149,211, 6, 63,239,172,106, 61, 5,237,165,190,
-237, 39,191, 9, 55,121,255, 0, 0, 0, 0, 0,185,133,215,190,239,172,106, 61, 5,237,165,190, 19,216,191, 9, 55,121,255, 0,
- 0, 0, 0, 0,220,125, 11, 63,205, 26, 17, 61,187,202,167,190,208, 46, 41,244,137,118,255, 0, 0, 0, 0, 0, 71,218,224,190,
-205, 26, 17, 61,187,202,167,190, 48,209, 41,244,137,118,255, 0, 0, 0, 0, 0,218, 5, 18, 63,222,227, 61, 61,113,168,169,190,
- 70, 53, 84, 3, 85,116,255, 0, 2, 0, 0, 0, 65,234,237,190,222,227, 61, 61,113,168,169,190,186,202, 84, 3, 85,116,255, 0,
- 2, 0, 0, 0, 73, 57, 15, 63,176,168,154, 61,113,168,169,190, 99, 44, 36, 38,212,113,255, 0, 2, 0, 0, 0, 31, 81,232,190,
-176,168,154, 61,113,168,169,190,157,211, 36, 38,212,113,255, 0, 2, 0, 0, 0,112,194, 7, 63, 54,180, 27, 62,249, 12,192,190,
-249,198, 3, 72,222,166,255, 0, 3, 0, 0, 0,111, 99,217,190, 54,180, 27, 62,249, 12,192,190, 7, 57, 3, 72,222,166,255, 0,
- 3, 0, 0, 0, 64,209, 34, 63,230,161, 42, 62,170,250,206,190,198, 37,123, 68,174,154,255, 0, 3, 0, 0, 0,135,192, 7,191,
-230,161, 42, 62,170,250,206,190, 58,218,123, 68,174,154,255, 0, 3, 0, 0, 0, 21,208, 48, 63, 57, 13,177, 61,102,200,195,190,
- 3,121,201, 17, 73,218,255, 0, 3, 0, 0, 0, 93,191, 21,191, 57, 13,177, 61,102,200,195,190,253,134,201, 17, 73,218,255, 0,
- 3, 0, 0, 0, 24, 72, 42, 63,211, 91,217,188, 62, 63,203,190, 59, 82, 75,200, 70,175,255, 0, 3, 0, 0, 0, 96, 55, 15,191,
-211, 91,217,188, 62, 63,203,190,197,173, 75,200, 70,175,255, 0, 3, 0, 0, 0, 38,160, 9, 63, 40,178,188,189,175,234,193,190,
-134,249,184,165,129,165,255, 0, 3, 0, 0, 0,219, 30,221,190, 40,178,188,189,175,234,193,190,122, 6,184,165,129,165,255, 0,
- 3, 0, 0, 0,140,137,215, 62, 97, 4,226,189,192,186,154,190,126,249,122,163,205,167,255, 0, 1, 0, 0, 0, 25,104,161,190,
- 97, 4,226,189,192,186,154,190,130, 6,122,163,205,167,255, 0, 1, 0, 0, 0,243, 84,232, 62, 65,148, 1, 62,187,202,167,190,
- 93,193,224, 65,229,165,255, 0, 1, 0, 0, 0,128, 51,178,190, 65,148, 1, 62,187,202,167,190,163, 62,224, 65,229,165,255, 0,
- 1, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 64,145,181, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,146,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 28, 47, 0, 0,200,146,181, 3, 55, 0, 0, 0,237, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 28, 47, 0, 0, 24,150, 52, 3, 0, 0, 0, 0, 49, 0, 0, 0,237, 3, 0, 0,
0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 43, 0, 0, 0,
0, 0, 34, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
46, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0,
@@ -6588,1034 +7251,1083 @@ char datatoc_preview_blend[]= {
249, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0,178, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,
14, 0, 0, 0,161, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0,112, 0, 0, 0,
0, 0, 34, 0, 9, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 24,194,181, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+104, 1, 0, 0,136,197, 52, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,195,181, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,234,181, 3, 6, 0, 0, 0, 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, 67,111,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, 65,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 16, 39, 0, 0,160,195,181, 3, 54, 0, 0, 0,244, 1, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 46, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 1,
- 43, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 3, 0, 0, 0, 44, 0, 0, 0,
- 42, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0,
- 9, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 1, 9, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 10, 0, 0, 0, 12, 0, 0, 0,
- 14, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1,112, 0, 0, 0, 13, 0, 0, 0, 11, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1,
- 8, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 1, 16, 0, 0, 0,112, 0, 0, 0, 9, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0, 19, 0, 0, 0, 17, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 1, 18, 0, 0, 0,
- 20, 0, 0, 0,112, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 1, 12, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 1, 20, 0, 0, 0, 22, 0, 0, 0, 13, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 1, 21, 0, 0, 0, 23, 0, 0, 0,
- 25, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 1, 26, 0, 0, 0, 24, 0, 0, 0, 22, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 1,
- 19, 0, 0, 0, 25, 0, 0, 0, 27, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 28, 0, 0, 0, 26, 0, 0, 0, 20, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 0, 1, 25, 0, 0, 0, 31, 0, 0, 0, 29, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 1, 30, 0, 0, 0,
- 32, 0, 0, 0, 26, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 1, 23, 0, 0, 0, 33, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 0, 1, 32, 0, 0, 0, 34, 0, 0, 0, 24, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 1, 33, 0, 0, 0, 35, 0, 0, 0,
- 37, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 1, 38, 0, 0, 0, 36, 0, 0, 0, 34, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 1,
- 31, 0, 0, 0, 37, 0, 0, 0, 39, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 38, 0, 0, 0, 32, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 0, 1, 37, 0, 0, 0, 43, 0, 0, 0, 41, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 1, 42, 0, 0, 0,
- 44, 0, 0, 0, 38, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 1, 35, 0, 0, 0, 45, 0, 0, 0, 43, 0, 0, 0, 37, 0, 0, 0,
- 0, 0, 0, 1, 44, 0, 0, 0, 46, 0, 0, 0, 36, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 1, 45, 0, 0, 0, 35, 0, 0, 0,
- 49, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1, 50, 0, 0, 0, 36, 0, 0, 0, 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 1,
- 35, 0, 0, 0, 33, 0, 0, 0, 51, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 1, 52, 0, 0, 0, 34, 0, 0, 0, 36, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 0, 1, 33, 0, 0, 0, 23, 0, 0, 0, 53, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 1, 54, 0, 0, 0,
- 24, 0, 0, 0, 34, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 1, 23, 0, 0, 0, 21, 0, 0, 0, 55, 0, 0, 0, 53, 0, 0, 0,
- 0, 0, 0, 1, 56, 0, 0, 0, 22, 0, 0, 0, 24, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 1, 21, 0, 0, 0, 12, 0, 0, 0,
- 57, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 1, 58, 0, 0, 0, 13, 0, 0, 0, 22, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 1,
- 12, 0, 0, 0, 10, 0, 0, 0, 61, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 1, 62, 0, 0, 0, 11, 0, 0, 0, 13, 0, 0, 0,
- 58, 0, 0, 0, 0, 0, 0, 1, 10, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0,
- 1, 0, 0, 0, 11, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 45, 0, 0, 0, 47, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 0, 1, 48, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 63, 0, 0, 0,
- 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 48, 0, 0, 0, 64, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
- 61, 0, 0, 0, 63, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 60, 0, 0, 0, 64, 0, 0, 0, 62, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 62, 0, 0, 0,
- 58, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 55, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 58, 0, 0, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 53, 0, 0, 0,
- 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 56, 0, 0, 0, 54, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
- 59, 0, 0, 0, 51, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 54, 0, 0, 0, 52, 0, 0, 0, 60, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 49, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 52, 0, 0, 0,
- 50, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 50, 0, 0, 0, 48, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 87, 0, 0, 0,171, 0, 0, 0,
-173, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1,173, 0, 0, 0,172, 0, 0, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1,
- 85, 0, 0, 0,169, 0, 0, 0,171, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 1,172, 0, 0, 0,170, 0, 0, 0, 86, 0, 0, 0,
- 88, 0, 0, 0, 0, 0, 0, 1, 83, 0, 0, 0,167, 0, 0, 0,169, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 1,170, 0, 0, 0,
-168, 0, 0, 0, 84, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 1, 81, 0, 0, 0,165, 0, 0, 0,167, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 0, 1,168, 0, 0, 0,166, 0, 0, 0, 82, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0,163, 0, 0, 0,
-165, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 1,166, 0, 0, 0,164, 0, 0, 0, 80, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 1,
- 77, 0, 0, 0, 90, 0, 0, 0,143, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 1,144, 0, 0, 0, 91, 0, 0, 0, 78, 0, 0, 0,
-162, 0, 0, 0, 0, 0, 0, 1, 90, 0, 0, 0, 92, 0, 0, 0,145, 0, 0, 0,143, 0, 0, 0, 0, 0, 0, 1,146, 0, 0, 0,
- 93, 0, 0, 0, 91, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 1, 92, 0, 0, 0, 94, 0, 0, 0,147, 0, 0, 0,145, 0, 0, 0,
- 0, 0, 0, 1,148, 0, 0, 0, 95, 0, 0, 0, 93, 0, 0, 0,146, 0, 0, 0, 0, 0, 0, 1, 94, 0, 0, 0, 96, 0, 0, 0,
-149, 0, 0, 0,147, 0, 0, 0, 0, 0, 0, 1,150, 0, 0, 0, 97, 0, 0, 0, 95, 0, 0, 0,148, 0, 0, 0, 0, 0, 0, 1,
- 96, 0, 0, 0, 98, 0, 0, 0,151, 0, 0, 0,149, 0, 0, 0, 0, 0, 0, 1,152, 0, 0, 0, 99, 0, 0, 0, 97, 0, 0, 0,
-150, 0, 0, 0, 0, 0, 0, 1, 98, 0, 0, 0,100, 0, 0, 0,153, 0, 0, 0,151, 0, 0, 0, 0, 0, 0, 1,154, 0, 0, 0,
-101, 0, 0, 0, 99, 0, 0, 0,152, 0, 0, 0, 0, 0, 0, 1,100, 0, 0, 0,102, 0, 0, 0,155, 0, 0, 0,153, 0, 0, 0,
- 0, 0, 0, 1,156, 0, 0, 0,103, 0, 0, 0,101, 0, 0, 0,154, 0, 0, 0, 0, 0, 0, 1,102, 0, 0, 0,104, 0, 0, 0,
-157, 0, 0, 0,155, 0, 0, 0, 0, 0, 0, 1,158, 0, 0, 0,105, 0, 0, 0,103, 0, 0, 0,156, 0, 0, 0, 0, 0, 0, 1,
-104, 0, 0, 0,106, 0, 0, 0,159, 0, 0, 0,157, 0, 0, 0, 0, 0, 0, 1,160, 0, 0, 0,107, 0, 0, 0,105, 0, 0, 0,
-158, 0, 0, 0, 0, 0, 0, 1,106, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 1, 66, 0, 0, 0,
- 65, 0, 0, 0,107, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0,125, 0, 0, 0,157, 0, 0, 0,159, 0, 0, 0,
- 0, 0, 0, 1,158, 0, 0, 0,126, 0, 0, 0,109, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 1,125, 0, 0, 0,176, 0, 0, 0,
-155, 0, 0, 0,157, 0, 0, 0, 0, 0, 0, 1,156, 0, 0, 0,177, 0, 0, 0,126, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 1,
-123, 0, 0, 0,153, 0, 0, 0,155, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 1,156, 0, 0, 0,154, 0, 0, 0,124, 0, 0, 0,
-177, 0, 0, 0, 0, 0, 0, 1,121, 0, 0, 0,151, 0, 0, 0,153, 0, 0, 0,123, 0, 0, 0, 0, 0, 0, 1,154, 0, 0, 0,
-152, 0, 0, 0,122, 0, 0, 0,124, 0, 0, 0, 0, 0, 0, 1,119, 0, 0, 0,149, 0, 0, 0,151, 0, 0, 0,121, 0, 0, 0,
- 0, 0, 0, 1,152, 0, 0, 0,150, 0, 0, 0,120, 0, 0, 0,122, 0, 0, 0, 0, 0, 0, 1,117, 0, 0, 0,147, 0, 0, 0,
-149, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 1,150, 0, 0, 0,148, 0, 0, 0,118, 0, 0, 0,120, 0, 0, 0, 0, 0, 0, 1,
-115, 0, 0, 0,145, 0, 0, 0,147, 0, 0, 0,117, 0, 0, 0, 0, 0, 0, 1,148, 0, 0, 0,146, 0, 0, 0,116, 0, 0, 0,
-118, 0, 0, 0, 0, 0, 0, 1,113, 0, 0, 0,143, 0, 0, 0,145, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 1,146, 0, 0, 0,
-144, 0, 0, 0,114, 0, 0, 0,116, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0,161, 0, 0, 0,143, 0, 0, 0,113, 0, 0, 0,
- 0, 0, 0, 1,144, 0, 0, 0,162, 0, 0, 0,112, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0,178, 0, 0, 0,
-174, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 1,174, 0, 0, 0,179, 0, 0, 0,112, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 1,
-108, 0, 0, 0,159, 0, 0, 0, 66, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 1, 66, 0, 0, 0,160, 0, 0, 0,109, 0, 0, 0,
-111, 0, 0, 0, 0, 0, 0, 1,110, 0, 0, 0, 66, 0, 0, 0,175, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 1,175, 0, 0, 0,
- 66, 0, 0, 0,111, 0, 0, 0,181, 0, 0, 0, 0, 0, 0, 1,174, 0, 0, 0,178, 0, 0, 0,180, 0, 0, 0,175, 0, 0, 0,
- 0, 0, 0, 1,181, 0, 0, 0,179, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0, 0, 0, 0, 1,132, 0, 0, 0,134, 0, 0, 0,
-173, 0, 0, 0,171, 0, 0, 0, 0, 0, 0, 1,173, 0, 0, 0,134, 0, 0, 0,133, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 1,
-130, 0, 0, 0,132, 0, 0, 0,171, 0, 0, 0,169, 0, 0, 0, 0, 0, 0, 1,172, 0, 0, 0,133, 0, 0, 0,131, 0, 0, 0,
-170, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,130, 0, 0, 0,169, 0, 0, 0,167, 0, 0, 0, 0, 0, 0, 1,170, 0, 0, 0,
-131, 0, 0, 0,129, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 1,163, 0, 0, 0,184, 0, 0, 0,182, 0, 0, 0,165, 0, 0, 0,
- 0, 0, 0, 1,183, 0, 0, 0,185, 0, 0, 0,164, 0, 0, 0,166, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,167, 0, 0, 0,
-165, 0, 0, 0,182, 0, 0, 0, 0, 0, 0, 1,166, 0, 0, 0,168, 0, 0, 0,129, 0, 0, 0,183, 0, 0, 0, 0, 0, 0, 1,
-141, 0, 0, 0,187, 0, 0, 0,186, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 1,186, 0, 0, 0,187, 0, 0, 0,142, 0, 0, 0,
-185, 0, 0, 0, 0, 0, 0, 1,182, 0, 0, 0,184, 0, 0, 0,186, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,186, 0, 0, 0,
-185, 0, 0, 0,183, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,127, 0, 0, 0,128, 0, 0, 0,182, 0, 0, 0, 67, 0, 0, 0,
- 0, 0, 0, 1,183, 0, 0, 0,129, 0, 0, 0,127, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,139, 0, 0, 0,190, 0, 0, 0,
-188, 0, 0, 0,141, 0, 0, 0, 0, 0, 0, 1,189, 0, 0, 0,191, 0, 0, 0,140, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 1,
-137, 0, 0, 0,192, 0, 0, 0,190, 0, 0, 0,139, 0, 0, 0, 0, 0, 0, 1,191, 0, 0, 0,193, 0, 0, 0,138, 0, 0, 0,
-140, 0, 0, 0, 0, 0, 0, 1,136, 0, 0, 0,194, 0, 0, 0,192, 0, 0, 0,137, 0, 0, 0, 0, 0, 0, 1,193, 0, 0, 0,
-195, 0, 0, 0,136, 0, 0, 0,138, 0, 0, 0, 0, 0, 0, 1,135, 0, 0, 0, 69, 0, 0, 0,194, 0, 0, 0,136, 0, 0, 0,
- 0, 0, 0, 1,195, 0, 0, 0, 69, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0, 0, 0, 0, 1,187, 0, 0, 0,141, 0, 0, 0,
-188, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 1,189, 0, 0, 0,142, 0, 0, 0,187, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 1,
- 68, 0, 0, 0,188, 0, 0, 0,203, 0, 0, 0,205, 0, 0, 0, 0, 0, 0, 1,204, 0, 0, 0,189, 0, 0, 0, 68, 0, 0, 0,
-205, 0, 0, 0, 0, 0, 0, 1, 69, 0, 0, 0,196, 0, 0, 0,197, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 1,198, 0, 0, 0,
-196, 0, 0, 0, 69, 0, 0, 0,195, 0, 0, 0, 0, 0, 0, 1,194, 0, 0, 0,197, 0, 0, 0,199, 0, 0, 0,192, 0, 0, 0,
- 0, 0, 0, 1,200, 0, 0, 0,198, 0, 0, 0,195, 0, 0, 0,193, 0, 0, 0, 0, 0, 0, 1,192, 0, 0, 0,199, 0, 0, 0,
-201, 0, 0, 0,190, 0, 0, 0, 0, 0, 0, 1,202, 0, 0, 0,200, 0, 0, 0,193, 0, 0, 0,191, 0, 0, 0, 0, 0, 0, 1,
-190, 0, 0, 0,201, 0, 0, 0,203, 0, 0, 0,188, 0, 0, 0, 0, 0, 0, 1,204, 0, 0, 0,202, 0, 0, 0,191, 0, 0, 0,
-189, 0, 0, 0, 0, 0, 0, 1,196, 0, 0, 0,201, 0, 0, 0,199, 0, 0, 0,197, 0, 0, 0, 0, 0, 0, 1,200, 0, 0, 0,
-202, 0, 0, 0,196, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 1,196, 0, 0, 0,205, 0, 0, 0,203, 0, 0, 0,201, 0, 0, 0,
- 0, 0, 0, 1,204, 0, 0, 0,205, 0, 0, 0,196, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 1,136, 0, 0, 0,137, 0, 0, 0,
-161, 0, 0, 0,174, 0, 0, 0, 0, 0, 0, 1,162, 0, 0, 0,138, 0, 0, 0,136, 0, 0, 0,174, 0, 0, 0, 0, 0, 0, 1,
-137, 0, 0, 0,139, 0, 0, 0,208, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,140, 0, 0, 0,138, 0, 0, 0,
-162, 0, 0, 0, 0, 0, 0, 1,139, 0, 0, 0,141, 0, 0, 0,210, 0, 0, 0,208, 0, 0, 0, 0, 0, 0, 1,211, 0, 0, 0,
-142, 0, 0, 0,140, 0, 0, 0,209, 0, 0, 0, 0, 0, 0, 1,141, 0, 0, 0,184, 0, 0, 0,163, 0, 0, 0,210, 0, 0, 0,
- 0, 0, 0, 1,164, 0, 0, 0,185, 0, 0, 0,142, 0, 0, 0,211, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0,206, 0, 0, 0,
-210, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 1,211, 0, 0, 0,207, 0, 0, 0, 80, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 1,
-206, 0, 0, 0,212, 0, 0, 0,208, 0, 0, 0,210, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,213, 0, 0, 0,207, 0, 0, 0,
-211, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0,161, 0, 0, 0,208, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,
-162, 0, 0, 0, 78, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,127, 0, 0, 0, 70, 0, 0, 0,219, 0, 0, 0,
- 0, 0, 0, 1, 70, 0, 0, 0,127, 0, 0, 0,129, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 1,130, 0, 0, 0,128, 0, 0, 0,
-219, 0, 0, 0,217, 0, 0, 0, 0, 0, 0, 1,220, 0, 0, 0,129, 0, 0, 0,131, 0, 0, 0,218, 0, 0, 0, 0, 0, 0, 1,
-132, 0, 0, 0,130, 0, 0, 0,217, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 1,218, 0, 0, 0,131, 0, 0, 0,133, 0, 0, 0,
-216, 0, 0, 0, 0, 0, 0, 1,134, 0, 0, 0,132, 0, 0, 0,215, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 1,216, 0, 0, 0,
-133, 0, 0, 0,134, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 1,214, 0, 0, 0,215, 0, 0, 0,226, 0, 0, 0,228, 0, 0, 0,
- 0, 0, 0, 1,227, 0, 0, 0,216, 0, 0, 0,214, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 1,215, 0, 0, 0,217, 0, 0, 0,
-224, 0, 0, 0,226, 0, 0, 0, 0, 0, 0, 1,225, 0, 0, 0,218, 0, 0, 0,216, 0, 0, 0,227, 0, 0, 0, 0, 0, 0, 1,
-217, 0, 0, 0,219, 0, 0, 0,222, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 1,223, 0, 0, 0,220, 0, 0, 0,218, 0, 0, 0,
-225, 0, 0, 0, 0, 0, 0, 1,219, 0, 0, 0, 70, 0, 0, 0,221, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 1,221, 0, 0, 0,
- 70, 0, 0, 0,220, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 1,221, 0, 0, 0,228, 0, 0, 0,226, 0, 0, 0,222, 0, 0, 0,
- 0, 0, 0, 1,227, 0, 0, 0,228, 0, 0, 0,221, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 1,222, 0, 0, 0,226, 0, 0, 0,
-224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,225, 0, 0, 0,227, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
-180, 0, 0, 0,178, 0, 0, 0,231, 0, 0, 0,229, 0, 0, 0, 0, 0, 0, 1,232, 0, 0, 0,179, 0, 0, 0,181, 0, 0, 0,
-230, 0, 0, 0, 0, 0, 0, 1,110, 0, 0, 0,180, 0, 0, 0,229, 0, 0, 0,251, 0, 0, 0, 0, 0, 0, 1,230, 0, 0, 0,
-181, 0, 0, 0,111, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0,110, 0, 0, 0,251, 0, 0, 0,253, 0, 0, 0,
- 0, 0, 0, 1,252, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 1,178, 0, 0, 0, 14, 0, 0, 0,
-249, 0, 0, 0,231, 0, 0, 0, 0, 0, 0, 1,250, 0, 0, 0,112, 0, 0, 0,179, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 1,
- 14, 0, 0, 0,113, 0, 0, 0,247, 0, 0, 0,249, 0, 0, 0, 0, 0, 0, 1,248, 0, 0, 0,114, 0, 0, 0,112, 0, 0, 0,
-250, 0, 0, 0, 0, 0, 0, 1,113, 0, 0, 0,115, 0, 0, 0,245, 0, 0, 0,247, 0, 0, 0, 0, 0, 0, 1,246, 0, 0, 0,
-116, 0, 0, 0,114, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 1,115, 0, 0, 0,117, 0, 0, 0,243, 0, 0, 0,245, 0, 0, 0,
- 0, 0, 0, 1,244, 0, 0, 0,118, 0, 0, 0,116, 0, 0, 0,246, 0, 0, 0, 0, 0, 0, 1,117, 0, 0, 0,119, 0, 0, 0,
-241, 0, 0, 0,243, 0, 0, 0, 0, 0, 0, 1,242, 0, 0, 0,120, 0, 0, 0,118, 0, 0, 0,244, 0, 0, 0, 0, 0, 0, 1,
-119, 0, 0, 0,121, 0, 0, 0,239, 0, 0, 0,241, 0, 0, 0, 0, 0, 0, 1,240, 0, 0, 0,122, 0, 0, 0,120, 0, 0, 0,
-242, 0, 0, 0, 0, 0, 0, 1,121, 0, 0, 0,123, 0, 0, 0,237, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 1,238, 0, 0, 0,
-124, 0, 0, 0,122, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 1,123, 0, 0, 0,176, 0, 0, 0,233, 0, 0, 0,237, 0, 0, 0,
- 0, 0, 0, 1,234, 0, 0, 0,177, 0, 0, 0,124, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 1,176, 0, 0, 0,125, 0, 0, 0,
-235, 0, 0, 0,233, 0, 0, 0, 0, 0, 0, 1,236, 0, 0, 0,126, 0, 0, 0,177, 0, 0, 0,234, 0, 0, 0, 0, 0, 0, 1,
-125, 0, 0, 0,108, 0, 0, 0,253, 0, 0, 0,235, 0, 0, 0, 0, 0, 0, 1,254, 0, 0, 0,109, 0, 0, 0,126, 0, 0, 0,
-236, 0, 0, 0, 0, 0, 0, 1,235, 0, 0, 0,253, 0, 0, 0,255, 0, 0, 0, 17, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
-254, 0, 0, 0,236, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 1,233, 0, 0, 0,235, 0, 0, 0, 17, 1, 0, 0, 19, 1, 0, 0,
- 0, 0, 0, 1, 18, 1, 0, 0,236, 0, 0, 0,234, 0, 0, 0, 20, 1, 0, 0, 0, 0, 0, 1,237, 0, 0, 0,233, 0, 0, 0,
- 19, 1, 0, 0, 15, 1, 0, 0, 0, 0, 0, 1, 20, 1, 0, 0,234, 0, 0, 0,238, 0, 0, 0, 16, 1, 0, 0, 0, 0, 0, 1,
-239, 0, 0, 0,237, 0, 0, 0, 15, 1, 0, 0, 13, 1, 0, 0, 0, 0, 0, 1, 16, 1, 0, 0,238, 0, 0, 0,240, 0, 0, 0,
- 14, 1, 0, 0, 0, 0, 0, 1,241, 0, 0, 0,239, 0, 0, 0, 13, 1, 0, 0, 11, 1, 0, 0, 0, 0, 0, 1, 14, 1, 0, 0,
-240, 0, 0, 0,242, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 1,243, 0, 0, 0,241, 0, 0, 0, 11, 1, 0, 0, 9, 1, 0, 0,
- 0, 0, 0, 1, 12, 1, 0, 0,242, 0, 0, 0,244, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 1,245, 0, 0, 0,243, 0, 0, 0,
- 9, 1, 0, 0, 7, 1, 0, 0, 0, 0, 0, 1, 10, 1, 0, 0,244, 0, 0, 0,246, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 1,
-247, 0, 0, 0,245, 0, 0, 0, 7, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 1, 8, 1, 0, 0,246, 0, 0, 0,248, 0, 0, 0,
- 6, 1, 0, 0, 0, 0, 0, 1,249, 0, 0, 0,247, 0, 0, 0, 5, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 1, 6, 1, 0, 0,
-248, 0, 0, 0,250, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 1,231, 0, 0, 0,249, 0, 0, 0, 3, 1, 0, 0, 21, 1, 0, 0,
- 0, 0, 0, 1, 4, 1, 0, 0,250, 0, 0, 0,232, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1,253, 0, 0, 0,251, 0, 0, 0,
- 1, 1, 0, 0,255, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0,252, 0, 0, 0,254, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
-251, 0, 0, 0,229, 0, 0, 0, 23, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 24, 1, 0, 0,230, 0, 0, 0,252, 0, 0, 0,
- 2, 1, 0, 0, 0, 0, 0, 1,229, 0, 0, 0,231, 0, 0, 0, 21, 1, 0, 0, 23, 1, 0, 0, 0, 0, 0, 1, 22, 1, 0, 0,
-232, 0, 0, 0,230, 0, 0, 0, 24, 1, 0, 0, 0, 0, 0, 1, 65, 0, 0, 0,106, 0, 0, 0, 25, 1, 0, 0, 71, 0, 0, 0,
- 0, 0, 0, 1, 26, 1, 0, 0,107, 0, 0, 0, 65, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 1,106, 0, 0, 0,104, 0, 0, 0,
- 27, 1, 0, 0, 25, 1, 0, 0, 0, 0, 0, 1, 28, 1, 0, 0,105, 0, 0, 0,107, 0, 0, 0, 26, 1, 0, 0, 0, 0, 0, 1,
-104, 0, 0, 0,102, 0, 0, 0, 29, 1, 0, 0, 27, 1, 0, 0, 0, 0, 0, 1, 30, 1, 0, 0,103, 0, 0, 0,105, 0, 0, 0,
- 28, 1, 0, 0, 0, 0, 0, 1,102, 0, 0, 0,100, 0, 0, 0, 31, 1, 0, 0, 29, 1, 0, 0, 0, 0, 0, 1, 32, 1, 0, 0,
-101, 0, 0, 0,103, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 1,100, 0, 0, 0, 98, 0, 0, 0, 33, 1, 0, 0, 31, 1, 0, 0,
- 0, 0, 0, 1, 34, 1, 0, 0, 99, 0, 0, 0,101, 0, 0, 0, 32, 1, 0, 0, 0, 0, 0, 1, 98, 0, 0, 0, 96, 0, 0, 0,
- 35, 1, 0, 0, 33, 1, 0, 0, 0, 0, 0, 1, 36, 1, 0, 0, 97, 0, 0, 0, 99, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 1,
- 96, 0, 0, 0, 94, 0, 0, 0, 37, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 1, 38, 1, 0, 0, 95, 0, 0, 0, 97, 0, 0, 0,
- 36, 1, 0, 0, 0, 0, 0, 1, 94, 0, 0, 0, 92, 0, 0, 0, 39, 1, 0, 0, 37, 1, 0, 0, 0, 0, 0, 1, 40, 1, 0, 0,
- 93, 0, 0, 0, 95, 0, 0, 0, 38, 1, 0, 0, 0, 0, 0, 1, 92, 0, 0, 0, 90, 0, 0, 0, 41, 1, 0, 0, 39, 1, 0, 0,
- 0, 0, 0, 1, 42, 1, 0, 0, 91, 0, 0, 0, 93, 0, 0, 0, 40, 1, 0, 0, 0, 0, 0, 1, 49, 1, 0, 0, 50, 1, 0, 0,
- 69, 1, 0, 0, 79, 1, 0, 0, 0, 0, 0, 1, 70, 1, 0, 0, 50, 1, 0, 0, 49, 1, 0, 0, 80, 1, 0, 0, 0, 0, 0, 1,
- 48, 1, 0, 0, 49, 1, 0, 0, 79, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 1, 80, 1, 0, 0, 49, 1, 0, 0, 48, 1, 0, 0,
- 78, 1, 0, 0, 0, 0, 0, 1, 47, 1, 0, 0, 48, 1, 0, 0, 77, 1, 0, 0, 81, 1, 0, 0, 0, 0, 0, 1, 78, 1, 0, 0,
- 48, 1, 0, 0, 47, 1, 0, 0, 82, 1, 0, 0, 0, 0, 0, 1, 87, 0, 0, 0, 89, 0, 0, 0, 47, 1, 0, 0, 81, 1, 0, 0,
- 0, 0, 0, 1, 47, 1, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 1, 85, 0, 0, 0, 87, 0, 0, 0,
- 81, 1, 0, 0, 75, 1, 0, 0, 0, 0, 0, 1, 82, 1, 0, 0, 88, 0, 0, 0, 86, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 1,
- 83, 0, 0, 0, 85, 0, 0, 0, 75, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 1, 76, 1, 0, 0, 86, 0, 0, 0, 84, 0, 0, 0,
- 72, 1, 0, 0, 0, 0, 0, 1, 81, 0, 0, 0, 83, 0, 0, 0, 71, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 1, 72, 1, 0, 0,
- 84, 0, 0, 0, 82, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 1, 71, 1, 0, 0, 77, 1, 0, 0, 79, 1, 0, 0, 73, 1, 0, 0,
- 0, 0, 0, 1, 80, 1, 0, 0, 78, 1, 0, 0, 72, 1, 0, 0, 74, 1, 0, 0, 0, 0, 0, 1, 71, 1, 0, 0, 75, 1, 0, 0,
- 81, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 1, 82, 1, 0, 0, 76, 1, 0, 0, 72, 1, 0, 0, 78, 1, 0, 0, 0, 0, 0, 1,
- 67, 1, 0, 0, 73, 1, 0, 0, 79, 1, 0, 0, 69, 1, 0, 0, 0, 0, 0, 1, 80, 1, 0, 0, 74, 1, 0, 0, 68, 1, 0, 0,
- 70, 1, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0, 81, 0, 0, 0, 73, 1, 0, 0, 67, 1, 0, 0, 0, 0, 0, 1, 74, 1, 0, 0,
- 82, 0, 0, 0, 80, 0, 0, 0, 68, 1, 0, 0, 0, 0, 0, 1,206, 0, 0, 0, 83, 1, 0, 0, 85, 1, 0, 0,212, 0, 0, 0,
- 0, 0, 0, 1, 86, 1, 0, 0, 84, 1, 0, 0,207, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0, 67, 1, 0, 0,
- 83, 1, 0, 0,206, 0, 0, 0, 0, 0, 0, 1, 84, 1, 0, 0, 68, 1, 0, 0, 80, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 1,
- 77, 0, 0, 0,212, 0, 0, 0, 85, 1, 0, 0, 87, 1, 0, 0, 0, 0, 0, 1, 86, 1, 0, 0,213, 0, 0, 0, 78, 0, 0, 0,
- 88, 1, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0, 87, 1, 0, 0, 41, 1, 0, 0, 90, 0, 0, 0, 0, 0, 0, 1, 42, 1, 0, 0,
- 88, 1, 0, 0, 78, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 1, 75, 0, 0, 0, 65, 1, 0, 0, 93, 1, 0, 0, 45, 1, 0, 0,
- 0, 0, 0, 1, 94, 1, 0, 0, 66, 1, 0, 0, 75, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1, 45, 1, 0, 0, 93, 1, 0, 0,
- 91, 1, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1, 92, 1, 0, 0, 94, 1, 0, 0, 45, 1, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1,
- 76, 0, 0, 0, 91, 1, 0, 0, 89, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 1, 90, 1, 0, 0, 92, 1, 0, 0, 76, 0, 0, 0,
- 46, 1, 0, 0, 0, 0, 0, 1, 46, 1, 0, 0, 89, 1, 0, 0, 69, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 1, 70, 1, 0, 0,
- 90, 1, 0, 0, 46, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 1, 67, 1, 0, 0, 69, 1, 0, 0, 89, 1, 0, 0, 83, 1, 0, 0,
- 0, 0, 0, 1, 90, 1, 0, 0, 70, 1, 0, 0, 68, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 1, 37, 1, 0, 0, 39, 1, 0, 0,
- 59, 1, 0, 0, 51, 1, 0, 0, 0, 0, 0, 1, 60, 1, 0, 0, 40, 1, 0, 0, 38, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 1,
- 74, 0, 0, 0, 57, 1, 0, 0, 65, 1, 0, 0, 75, 0, 0, 0, 0, 0, 0, 1, 66, 1, 0, 0, 58, 1, 0, 0, 74, 0, 0, 0,
- 75, 0, 0, 0, 0, 0, 0, 1, 43, 1, 0, 0, 99, 1, 0, 0, 97, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 1, 98, 1, 0, 0,
-100, 1, 0, 0, 43, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 1, 44, 1, 0, 0, 97, 1, 0, 0, 95, 1, 0, 0, 73, 0, 0, 0,
- 0, 0, 0, 1, 96, 1, 0, 0, 98, 1, 0, 0, 44, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 1, 73, 0, 0, 0, 95, 1, 0, 0,
- 57, 1, 0, 0, 74, 0, 0, 0, 0, 0, 0, 1, 58, 1, 0, 0, 96, 1, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 1,
- 33, 1, 0, 0, 35, 1, 0, 0,103, 1, 0, 0,105, 1, 0, 0, 0, 0, 0, 1,104, 1, 0, 0, 36, 1, 0, 0, 34, 1, 0, 0,
-106, 1, 0, 0, 0, 0, 0, 1,105, 1, 0, 0,103, 1, 0, 0,109, 1, 0, 0,107, 1, 0, 0, 0, 0, 0, 1,110, 1, 0, 0,
-104, 1, 0, 0,106, 1, 0, 0,108, 1, 0, 0, 0, 0, 0, 1,107, 1, 0, 0,109, 1, 0, 0,111, 1, 0, 0,113, 1, 0, 0,
- 0, 0, 0, 1,112, 1, 0, 0,110, 1, 0, 0,108, 1, 0, 0,114, 1, 0, 0, 0, 0, 0, 1,113, 1, 0, 0,111, 1, 0, 0,
-117, 1, 0, 0,115, 1, 0, 0, 0, 0, 0, 1,118, 1, 0, 0,112, 1, 0, 0,114, 1, 0, 0,116, 1, 0, 0, 0, 0, 0, 1,
- 55, 1, 0, 0,119, 1, 0, 0,115, 1, 0, 0,117, 1, 0, 0, 0, 0, 0, 1,116, 1, 0, 0,120, 1, 0, 0, 56, 1, 0, 0,
-118, 1, 0, 0, 0, 0, 0, 1, 57, 1, 0, 0, 95, 1, 0, 0,115, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 1,116, 1, 0, 0,
- 96, 1, 0, 0, 58, 1, 0, 0,120, 1, 0, 0, 0, 0, 0, 1, 95, 1, 0, 0, 97, 1, 0, 0,113, 1, 0, 0,115, 1, 0, 0,
- 0, 0, 0, 1,114, 1, 0, 0, 98, 1, 0, 0, 96, 1, 0, 0,116, 1, 0, 0, 0, 0, 0, 1, 97, 1, 0, 0, 99, 1, 0, 0,
-107, 1, 0, 0,113, 1, 0, 0, 0, 0, 0, 1,108, 1, 0, 0,100, 1, 0, 0, 98, 1, 0, 0,114, 1, 0, 0, 0, 0, 0, 1,
- 99, 1, 0, 0,101, 1, 0, 0,105, 1, 0, 0,107, 1, 0, 0, 0, 0, 0, 1,106, 1, 0, 0,102, 1, 0, 0,100, 1, 0, 0,
-108, 1, 0, 0, 0, 0, 0, 1, 31, 1, 0, 0, 33, 1, 0, 0,105, 1, 0, 0,101, 1, 0, 0, 0, 0, 0, 1,106, 1, 0, 0,
- 34, 1, 0, 0, 32, 1, 0, 0,102, 1, 0, 0, 0, 0, 0, 1, 72, 0, 0, 0,101, 1, 0, 0, 99, 1, 0, 0, 43, 1, 0, 0,
- 0, 0, 0, 1,100, 1, 0, 0,102, 1, 0, 0, 72, 0, 0, 0, 43, 1, 0, 0, 0, 0, 0, 1, 25, 1, 0, 0, 27, 1, 0, 0,
- 29, 1, 0, 0, 31, 1, 0, 0, 0, 0, 0, 1, 30, 1, 0, 0, 28, 1, 0, 0, 26, 1, 0, 0, 32, 1, 0, 0, 0, 0, 0, 1,
- 25, 1, 0, 0, 31, 1, 0, 0,101, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 1,102, 1, 0, 0, 32, 1, 0, 0, 26, 1, 0, 0,
- 72, 0, 0, 0, 0, 0, 0, 1, 71, 0, 0, 0, 25, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 72, 0, 0, 0,
- 26, 1, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 35, 1, 0, 0, 37, 1, 0, 0, 51, 1, 0, 0,103, 1, 0, 0,
- 0, 0, 0, 1, 52, 1, 0, 0, 38, 1, 0, 0, 36, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 1, 51, 1, 0, 0, 53, 1, 0, 0,
-109, 1, 0, 0,103, 1, 0, 0, 0, 0, 0, 1,110, 1, 0, 0, 54, 1, 0, 0, 52, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 1,
- 53, 1, 0, 0,123, 1, 0, 0,111, 1, 0, 0,109, 1, 0, 0, 0, 0, 0, 1,112, 1, 0, 0,124, 1, 0, 0, 54, 1, 0, 0,
-110, 1, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,117, 1, 0, 0,111, 1, 0, 0,123, 1, 0, 0, 0, 0, 0, 1,112, 1, 0, 0,
-118, 1, 0, 0, 56, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 1, 89, 1, 0, 0, 91, 1, 0, 0,127, 1, 0, 0,125, 1, 0, 0,
- 0, 0, 0, 1,128, 1, 0, 0, 92, 1, 0, 0, 90, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 1, 59, 1, 0, 0,125, 1, 0, 0,
-127, 1, 0, 0, 61, 1, 0, 0, 0, 0, 0, 1,128, 1, 0, 0,126, 1, 0, 0, 60, 1, 0, 0, 62, 1, 0, 0, 0, 0, 0, 1,
- 39, 1, 0, 0, 41, 1, 0, 0,125, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1,126, 1, 0, 0, 42, 1, 0, 0, 40, 1, 0, 0,
- 60, 1, 0, 0, 0, 0, 0, 1, 41, 1, 0, 0, 85, 1, 0, 0, 83, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 1, 84, 1, 0, 0,
- 86, 1, 0, 0, 42, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 1, 83, 1, 0, 0, 89, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1,126, 1, 0, 0, 90, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 1, 0, 0, 87, 1, 0, 0,
- 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 86, 1, 0, 0, 88, 1, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
- 55, 1, 0, 0, 63, 1, 0, 0,121, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0, 64, 1, 0, 0, 56, 1, 0, 0,
-120, 1, 0, 0, 0, 0, 0, 1, 57, 1, 0, 0,119, 1, 0, 0,121, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0,
-120, 1, 0, 0, 58, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 1, 61, 1, 0, 0,127, 1, 0, 0,121, 1, 0, 0, 63, 1, 0, 0,
- 0, 0, 0, 1,122, 1, 0, 0,128, 1, 0, 0, 62, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 1, 91, 1, 0, 0, 93, 1, 0, 0,
-121, 1, 0, 0,127, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0, 94, 1, 0, 0, 92, 1, 0, 0,128, 1, 0, 0, 0, 0, 0, 1,
- 65, 1, 0, 0,121, 1, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 1, 0, 0,122, 1, 0, 0, 66, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1,141, 1, 0, 0,129, 1, 0, 0,155, 1, 0, 0,143, 1, 0, 0, 0, 0, 0, 1,156, 1, 0, 0,
-130, 1, 0, 0,142, 1, 0, 0,144, 1, 0, 0, 0, 0, 0, 1,141, 1, 0, 0,143, 1, 0, 0,145, 1, 0, 0,139, 1, 0, 0,
- 0, 0, 0, 1,146, 1, 0, 0,144, 1, 0, 0,142, 1, 0, 0,140, 1, 0, 0, 0, 0, 0, 1,139, 1, 0, 0,145, 1, 0, 0,
-147, 1, 0, 0,137, 1, 0, 0, 0, 0, 0, 1,148, 1, 0, 0,146, 1, 0, 0,140, 1, 0, 0,138, 1, 0, 0, 0, 0, 0, 1,
-137, 1, 0, 0,147, 1, 0, 0,149, 1, 0, 0,135, 1, 0, 0, 0, 0, 0, 1,150, 1, 0, 0,148, 1, 0, 0,138, 1, 0, 0,
-136, 1, 0, 0, 0, 0, 0, 1,135, 1, 0, 0,149, 1, 0, 0,151, 1, 0, 0,133, 1, 0, 0, 0, 0, 0, 1,152, 1, 0, 0,
-150, 1, 0, 0,136, 1, 0, 0,134, 1, 0, 0, 0, 0, 0, 1,133, 1, 0, 0,151, 1, 0, 0,153, 1, 0, 0,131, 1, 0, 0,
- 0, 0, 0, 1,154, 1, 0, 0,152, 1, 0, 0,134, 1, 0, 0,132, 1, 0, 0, 0, 0, 0, 1,151, 1, 0, 0,161, 1, 0, 0,
-159, 1, 0, 0,153, 1, 0, 0, 0, 0, 0, 1,160, 1, 0, 0,162, 1, 0, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 0, 1,
-149, 1, 0, 0,163, 1, 0, 0,161, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 1,162, 1, 0, 0,164, 1, 0, 0,150, 1, 0, 0,
-152, 1, 0, 0, 0, 0, 0, 1,147, 1, 0, 0,165, 1, 0, 0,163, 1, 0, 0,149, 1, 0, 0, 0, 0, 0, 1,164, 1, 0, 0,
-166, 1, 0, 0,148, 1, 0, 0,150, 1, 0, 0, 0, 0, 0, 1,145, 1, 0, 0,167, 1, 0, 0,165, 1, 0, 0,147, 1, 0, 0,
- 0, 0, 0, 1,166, 1, 0, 0,168, 1, 0, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 1,143, 1, 0, 0,169, 1, 0, 0,
-167, 1, 0, 0,145, 1, 0, 0, 0, 0, 0, 1,168, 1, 0, 0,170, 1, 0, 0,144, 1, 0, 0,146, 1, 0, 0, 0, 0, 0, 1,
-143, 1, 0, 0,155, 1, 0, 0,157, 1, 0, 0,169, 1, 0, 0, 0, 0, 0, 1,158, 1, 0, 0,156, 1, 0, 0,144, 1, 0, 0,
-170, 1, 0, 0, 0, 0, 0, 1, 59, 1, 0, 0, 61, 1, 0, 0,185, 1, 0, 0,183, 1, 0, 0, 0, 0, 0, 1,186, 1, 0, 0,
- 62, 1, 0, 0, 60, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 1, 61, 1, 0, 0,131, 1, 0, 0,153, 1, 0, 0,185, 1, 0, 0,
- 0, 0, 0, 1,154, 1, 0, 0,132, 1, 0, 0, 62, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 1, 51, 1, 0, 0, 59, 1, 0, 0,
-183, 1, 0, 0, 53, 1, 0, 0, 0, 0, 0, 1,184, 1, 0, 0, 60, 1, 0, 0, 52, 1, 0, 0, 54, 1, 0, 0, 0, 0, 0, 1,
-123, 1, 0, 0,171, 1, 0, 0,155, 1, 0, 0,129, 1, 0, 0, 0, 0, 0, 1,156, 1, 0, 0,172, 1, 0, 0,124, 1, 0, 0,
-130, 1, 0, 0, 0, 0, 0, 1,153, 1, 0, 0,159, 1, 0, 0,181, 1, 0, 0,185, 1, 0, 0, 0, 0, 0, 1,182, 1, 0, 0,
-160, 1, 0, 0,154, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 1,179, 1, 0, 0,187, 1, 0, 0,185, 1, 0, 0,181, 1, 0, 0,
- 0, 0, 0, 1,186, 1, 0, 0,188, 1, 0, 0,180, 1, 0, 0,182, 1, 0, 0, 0, 0, 0, 1,175, 1, 0, 0,187, 1, 0, 0,
-179, 1, 0, 0,177, 1, 0, 0, 0, 0, 0, 1,180, 1, 0, 0,188, 1, 0, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 0, 1,
-173, 1, 0, 0,189, 1, 0, 0,187, 1, 0, 0,175, 1, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,190, 1, 0, 0,174, 1, 0, 0,
-176, 1, 0, 0, 0, 0, 0, 1,171, 1, 0, 0,189, 1, 0, 0,173, 1, 0, 0,191, 1, 0, 0, 0, 0, 0, 1,174, 1, 0, 0,
-190, 1, 0, 0,172, 1, 0, 0,192, 1, 0, 0, 0, 0, 0, 1,155, 1, 0, 0,171, 1, 0, 0,191, 1, 0, 0,157, 1, 0, 0,
- 0, 0, 0, 1,192, 1, 0, 0,172, 1, 0, 0,156, 1, 0, 0,158, 1, 0, 0, 0, 0, 0, 1, 53, 1, 0, 0,189, 1, 0, 0,
-171, 1, 0, 0,123, 1, 0, 0, 0, 0, 0, 1,172, 1, 0, 0,190, 1, 0, 0, 54, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 1,
- 53, 1, 0, 0,183, 1, 0, 0,187, 1, 0, 0,189, 1, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,184, 1, 0, 0, 54, 1, 0, 0,
-190, 1, 0, 0, 0, 0, 0, 1,183, 1, 0, 0,185, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,
-186, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,157, 1, 0, 0,191, 1, 0, 0,193, 1, 0, 0,217, 1, 0, 0,
- 0, 0, 0, 1,194, 1, 0, 0,192, 1, 0, 0,158, 1, 0, 0,218, 1, 0, 0, 0, 0, 0, 1,191, 1, 0, 0,173, 1, 0, 0,
-203, 1, 0, 0,193, 1, 0, 0, 0, 0, 0, 1,204, 1, 0, 0,174, 1, 0, 0,192, 1, 0, 0,194, 1, 0, 0, 0, 0, 0, 1,
-173, 1, 0, 0,175, 1, 0, 0,201, 1, 0, 0,203, 1, 0, 0, 0, 0, 0, 1,202, 1, 0, 0,176, 1, 0, 0,174, 1, 0, 0,
-204, 1, 0, 0, 0, 0, 0, 1,175, 1, 0, 0,177, 1, 0, 0,199, 1, 0, 0,201, 1, 0, 0, 0, 0, 0, 1,200, 1, 0, 0,
-178, 1, 0, 0,176, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 1,177, 1, 0, 0,179, 1, 0, 0,197, 1, 0, 0,199, 1, 0, 0,
- 0, 0, 0, 1,198, 1, 0, 0,180, 1, 0, 0,178, 1, 0, 0,200, 1, 0, 0, 0, 0, 0, 1,179, 1, 0, 0,181, 1, 0, 0,
-195, 1, 0, 0,197, 1, 0, 0, 0, 0, 0, 1,196, 1, 0, 0,182, 1, 0, 0,180, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 1,
-181, 1, 0, 0,159, 1, 0, 0,215, 1, 0, 0,195, 1, 0, 0, 0, 0, 0, 1,216, 1, 0, 0,160, 1, 0, 0,182, 1, 0, 0,
-196, 1, 0, 0, 0, 0, 0, 1,169, 1, 0, 0,157, 1, 0, 0,217, 1, 0, 0,205, 1, 0, 0, 0, 0, 0, 1,218, 1, 0, 0,
-158, 1, 0, 0,170, 1, 0, 0,206, 1, 0, 0, 0, 0, 0, 1,167, 1, 0, 0,169, 1, 0, 0,205, 1, 0, 0,207, 1, 0, 0,
- 0, 0, 0, 1,206, 1, 0, 0,170, 1, 0, 0,168, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 1,165, 1, 0, 0,167, 1, 0, 0,
-207, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 1,208, 1, 0, 0,168, 1, 0, 0,166, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 1,
-163, 1, 0, 0,165, 1, 0, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 1,210, 1, 0, 0,166, 1, 0, 0,164, 1, 0, 0,
-212, 1, 0, 0, 0, 0, 0, 1,161, 1, 0, 0,163, 1, 0, 0,211, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 1,212, 1, 0, 0,
-164, 1, 0, 0,162, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 1,159, 1, 0, 0,161, 1, 0, 0,213, 1, 0, 0,215, 1, 0, 0,
- 0, 0, 0, 1,214, 1, 0, 0,162, 1, 0, 0,160, 1, 0, 0,216, 1, 0, 0, 0, 0, 0, 1,199, 1, 0, 0,197, 1, 0, 0,
-221, 1, 0, 0,219, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,198, 1, 0, 0,200, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 1,
-219, 1, 0, 0,221, 1, 0, 0,223, 1, 0, 0,225, 1, 0, 0, 0, 0, 0, 1,224, 1, 0, 0,222, 1, 0, 0,220, 1, 0, 0,
-226, 1, 0, 0, 0, 0, 0, 1,225, 1, 0, 0,223, 1, 0, 0,229, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 1,230, 1, 0, 0,
-224, 1, 0, 0,226, 1, 0, 0,228, 1, 0, 0, 0, 0, 0, 1,227, 1, 0, 0,229, 1, 0, 0,231, 1, 0, 0,233, 1, 0, 0,
- 0, 0, 0, 1,232, 1, 0, 0,230, 1, 0, 0,228, 1, 0, 0,234, 1, 0, 0, 0, 0, 0, 1,205, 1, 0, 0,217, 1, 0, 0,
-227, 1, 0, 0,233, 1, 0, 0, 0, 0, 0, 1,228, 1, 0, 0,218, 1, 0, 0,206, 1, 0, 0,234, 1, 0, 0, 0, 0, 0, 1,
-193, 1, 0, 0,225, 1, 0, 0,227, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 1,228, 1, 0, 0,226, 1, 0, 0,194, 1, 0, 0,
-218, 1, 0, 0, 0, 0, 0, 1,193, 1, 0, 0,203, 1, 0, 0,219, 1, 0, 0,225, 1, 0, 0, 0, 0, 0, 1,220, 1, 0, 0,
-204, 1, 0, 0,194, 1, 0, 0,226, 1, 0, 0, 0, 0, 0, 1,199, 1, 0, 0,219, 1, 0, 0,203, 1, 0, 0,201, 1, 0, 0,
- 0, 0, 0, 1,204, 1, 0, 0,220, 1, 0, 0,200, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 1,195, 1, 0, 0,215, 1, 0, 0,
-221, 1, 0, 0,197, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,216, 1, 0, 0,196, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 1,
-213, 1, 0, 0,223, 1, 0, 0,221, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,224, 1, 0, 0,214, 1, 0, 0,
-216, 1, 0, 0, 0, 0, 0, 1,211, 1, 0, 0,229, 1, 0, 0,223, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 1,224, 1, 0, 0,
-230, 1, 0, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 1,209, 1, 0, 0,231, 1, 0, 0,229, 1, 0, 0,211, 1, 0, 0,
- 0, 0, 0, 1,230, 1, 0, 0,232, 1, 0, 0,210, 1, 0, 0,212, 1, 0, 0, 0, 0, 0, 1,207, 1, 0, 0,233, 1, 0, 0,
-231, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 1,232, 1, 0, 0,234, 1, 0, 0,208, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 1,
-205, 1, 0, 0,233, 1, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,208, 1, 0, 0,234, 1, 0, 0,206, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 1,133, 1, 0, 0,131, 1, 0, 0,245, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,
-132, 1, 0, 0,134, 1, 0, 0,244, 1, 0, 0, 0, 0, 0, 1,135, 1, 0, 0,133, 1, 0, 0,243, 1, 0, 0,241, 1, 0, 0,
- 0, 0, 0, 1,244, 1, 0, 0,134, 1, 0, 0,136, 1, 0, 0,242, 1, 0, 0, 0, 0, 0, 1,137, 1, 0, 0,135, 1, 0, 0,
-241, 1, 0, 0,239, 1, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,136, 1, 0, 0,138, 1, 0, 0,240, 1, 0, 0, 0, 0, 0, 1,
-139, 1, 0, 0,137, 1, 0, 0,239, 1, 0, 0,237, 1, 0, 0, 0, 0, 0, 1,240, 1, 0, 0,138, 1, 0, 0,140, 1, 0, 0,
-238, 1, 0, 0, 0, 0, 0, 1,141, 1, 0, 0,139, 1, 0, 0,237, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 1,238, 1, 0, 0,
-140, 1, 0, 0,142, 1, 0, 0,236, 1, 0, 0, 0, 0, 0, 1,129, 1, 0, 0,141, 1, 0, 0,235, 1, 0, 0,247, 1, 0, 0,
- 0, 0, 0, 1,236, 1, 0, 0,142, 1, 0, 0,130, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1,235, 1, 0, 0,243, 1, 0, 0,
-245, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,244, 1, 0, 0,236, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1,
-235, 1, 0, 0,237, 1, 0, 0,241, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,238, 1, 0, 0,236, 1, 0, 0,
-244, 1, 0, 0, 0, 0, 0, 1,237, 1, 0, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,
-240, 1, 0, 0,238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,123, 1, 0, 0,129, 1, 0, 0,247, 1, 0, 0,
- 0, 0, 0, 1,130, 1, 0, 0,124, 1, 0, 0, 56, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,247, 1, 0, 0,
-245, 1, 0, 0, 63, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,248, 1, 0, 0, 56, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 1,
- 61, 1, 0, 0, 63, 1, 0, 0,245, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0, 64, 1, 0, 0, 62, 1, 0, 0,
-132, 1, 0, 0, 0, 0, 0, 1, 68, 65, 84, 65,240, 85, 0, 0,224,234,181, 3, 65, 0, 0, 0,244, 1, 0, 0, 3,112, 28, 63,
-185,178,236, 62,224,124, 27, 63,235, 65,232, 62,144, 63, 30, 63,233,195,226, 62,118,152, 32, 63, 37,167,236, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0, 2,232,209, 62,222, 21,226, 62,102,109,215, 62,222,147,231, 62, 28,135,213, 62,172, 4,236, 62,
- 56, 54,205, 62, 22,249,235, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,118,152, 32, 63, 37,167,236, 62,144, 63, 30, 63,
-233,195,226, 62,108,235, 33, 63,197,235,220, 62,209,151, 37, 63, 89,161,236, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
- 76,144,202, 62,186, 61,220, 62, 2,232,209, 62,222, 21,226, 62, 56, 54,205, 62, 22,249,235, 62,128, 55,195, 62, 70,243,235, 62,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,144, 63, 30, 63,233,195,226, 62, 20, 55, 25, 63, 1, 35,223, 62,200,178, 25, 63,
- 77,233,214, 62,108,235, 33, 63,197,235,220, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,146, 1,219, 62, 66, 59,214, 62,
-248,248,219, 62,246,116,222, 62, 2,232,209, 62,222, 21,226, 62, 76,144,202, 62,186, 61,220, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0,224,124, 27, 63,235, 65,232, 62, 87,252, 24, 63, 93,111,230, 62, 20, 55, 25, 63, 1, 35,223, 62,144, 63, 30, 63,
-233,195,226, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,248,248,219, 62,246,116,222, 62,118,110,220, 62, 78,193,229, 62,
-102,109,215, 62,222,147,231, 62, 2,232,209, 62,222, 21,226, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 87,252, 24, 63,
- 93,111,230, 62, 22,195, 22, 63,195, 90,232, 62,191, 91, 20, 63,193, 18,227, 62, 20, 55, 25, 63, 1, 35,223, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0,162,175,229, 62,178,100,226, 62,248,224,224, 62,182,172,231, 62,118,110,220, 62, 78,193,229, 62,
-248,248,219, 62,246,116,222, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 20, 55, 25, 63, 1, 35,223, 62,191, 91, 20, 63,
-193, 18,227, 62,187,165, 17, 63,225, 6,221, 62,200,178, 25, 63, 77,233,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
-170, 27,235, 62,214, 88,220, 62,162,175,229, 62,178,100,226, 62,248,248,219, 62,246,116,222, 62,146, 1,219, 62, 66, 59,214, 62,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,191, 91, 20, 63,193, 18,227, 62,164, 18, 18, 63,173,201,236, 62,157,231, 13, 63,
- 89,161,236, 62,187,165, 17, 63,225, 6,221, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,232,151,242, 62, 70,243,235, 62,
-216, 65,234, 62,158, 27,236, 62,162,175,229, 62,178,100,226, 62,170, 27,235, 62,214, 88,220, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0, 22,195, 22, 63,195, 90,232, 62, 11,202, 21, 63, 1,189,236, 62,164, 18, 18, 63,173,201,236, 62,191, 91, 20, 63,
-193, 18,227, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,216, 65,234, 62,158, 27,236, 62, 12,211,226, 62,246, 14,236, 62,
-248,224,224, 62,182,172,231, 62,162,175,229, 62,178,100,226, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 11,202, 21, 63,
- 1,189,236, 62,215,202, 22, 63,237,124,241, 62,125,105, 20, 63, 1, 71,246, 62,164, 18, 18, 63,173,201,236, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0, 42,148,229, 62,246,152,245, 62,112,209,224, 62,226,206,240, 62, 12,211,226, 62,246, 14,236, 62,
-216, 65,234, 62,158, 27,236, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,164, 18, 18, 63,173,201,236, 62,125,105, 20, 63,
- 1, 71,246, 62, 44,173, 17, 63,231,149,252, 62,157,231, 13, 63, 89,161,236, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
-206, 12,235, 62,218,231,251, 62, 42,148,229, 62,246,152,245, 62,216, 65,234, 62,158, 27,236, 62,232,151,242, 62, 70,243,235, 62,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,125,105, 20, 63, 1, 71,246, 62, 37, 59, 25, 63, 49, 73,250, 62,108,178, 25, 63,
-218,108, 1, 63, 44,173, 17, 63,231,149,252, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 76, 2,219, 62,213, 21, 1, 63,
-216,240,219, 62, 38,155,249, 62, 42,148,229, 62,246,152,245, 62,206, 12,235, 62,218,231,251, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0,215,202, 22, 63,237,124,241, 62,195, 1, 25, 63,169,102,243, 62, 37, 59, 25, 63, 49, 73,250, 62,125,105, 20, 63,
- 1, 71,246, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,216,240,219, 62, 38,155,249, 62,156, 99,220, 62,154,184,242, 62,
-112,209,224, 62,226,206,240, 62, 42,148,229, 62,246,152,245, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,195, 1, 25, 63,
-169,102,243, 62,176,125, 27, 63,149,145,241, 62,167, 74, 30, 63, 3,153,246, 62, 37, 59, 25, 63, 49, 73,250, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0,212,209,209, 62,246,234,245, 62,192,107,215, 62,138,227,240, 62,156, 99,220, 62,154,184,242, 62,
-216,240,219, 62, 38,155,249, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 37, 59, 25, 63, 49, 73,250, 62,167, 74, 30, 63,
- 3,153,246, 62,204,230, 33, 63,107,232,252, 62,108,178, 25, 63,218,108, 1, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
-132,153,202, 62, 94, 58,252, 62,212,209,209, 62,246,234,245, 62,216,240,219, 62, 38,155,249, 62, 76, 2,219, 62,213, 21, 1, 63,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,167, 74, 30, 63, 3,153,246, 62,118,152, 32, 63, 37,167,236, 62,209,151, 37, 63,
- 89,161,236, 62,204,230, 33, 63,107,232,252, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,128, 55,195, 62, 70,243,235, 62,
- 56, 54,205, 62, 22,249,235, 62,212,209,209, 62,246,234,245, 62,132,153,202, 62, 94, 58,252, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0,176,125, 27, 63,149,145,241, 62, 3,112, 28, 63,185,178,236, 62,118,152, 32, 63, 37,167,236, 62,167, 74, 30, 63,
- 3,153,246, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 56, 54,205, 62, 22,249,235, 62, 28,135,213, 62,172, 4,236, 62,
-192,107,215, 62,138,227,240, 62,212,209,209, 62,246,234,245, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 3,112, 28, 63,
-185,178,236, 62,176,125, 27, 63,149,145,241, 62, 42, 39, 27, 63, 57, 1,241, 62,140,249, 27, 63,115,186,236, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0,206, 24,216, 62, 46, 83,240, 62,192,107,215, 62,138,227,240, 62, 28,135,213, 62,172, 4,236, 62,
- 8,116,214, 62,102, 12,236, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,176,125, 27, 63,149,145,241, 62,195, 1, 25, 63,
-169,102,243, 62, 6,248, 24, 63,185, 91,242, 62, 42, 39, 27, 63, 57, 1,241, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
- 22,119,220, 62,174,173,241, 62,156, 99,220, 62,154,184,242, 62,192,107,215, 62,138,227,240, 62,206, 24,216, 62, 46, 83,240, 62,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,195, 1, 25, 63,169,102,243, 62,215,202, 22, 63,237,124,241, 62,157, 38, 23, 63,
-225,173,240, 62, 6,248, 24, 63,185, 91,242, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,234, 25,224, 62,214,255,239, 62,
-112,209,224, 62,226,206,240, 62,156, 99,220, 62,154,184,242, 62, 22,119,220, 62,174,173,241, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0,215,202, 22, 63,237,124,241, 62, 11,202, 21, 63, 1,189,236, 62, 13, 89, 22, 63,247,196,236, 62,157, 38, 23, 63,
-225,173,240, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 8,181,225, 62,234, 22,236, 62, 12,211,226, 62,246, 14,236, 62,
-112,209,224, 62,226,206,240, 62,234, 25,224, 62,214,255,239, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 11,202, 21, 63,
- 1,189,236, 62, 22,195, 22, 63,195, 90,232, 62, 88, 33, 23, 63, 69, 47,233, 62, 13, 89, 22, 63,247,196,236, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0,112, 36,224, 62, 58,129,232, 62,248,224,224, 62,182,172,231, 62, 12,211,226, 62,246, 14,236, 62,
- 8,181,225, 62,234, 22,236, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 22,195, 22, 63,195, 90,232, 62, 87,252, 24, 63,
- 93,111,230, 62,100,243, 24, 63, 5,123,231, 62, 88, 33, 23, 63, 69, 47,233, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
- 90,128,220, 62,248,204,230, 62,118,110,220, 62, 78,193,229, 62,248,224,224, 62,182,172,231, 62,112, 36,224, 62, 58,129,232, 62,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0, 87,252, 24, 63, 93,111,230, 62,224,124, 27, 63,235, 65,232, 62,169, 37, 27, 63,
- 35,211,232, 62,100,243, 24, 63, 5,123,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,206, 27,216, 62, 22, 37,232, 62,
-102,109,215, 62,222,147,231, 62,118,110,220, 62, 78,193,229, 62, 90,128,220, 62,248,204,230, 62, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,240, 0,224,124, 27, 63,235, 65,232, 62, 3,112, 28, 63,185,178,236, 62,140,249, 27, 63,115,186,236, 62,169, 37, 27, 63,
- 35,211,232, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 8,116,214, 62,102, 12,236, 62, 28,135,213, 62,172, 4,236, 62,
-102,109,215, 62,222,147,231, 62,206, 27,216, 62, 22, 37,232, 62, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,240, 0,138,242, 24, 63,
- 21,194,236, 62,169, 37, 27, 63, 35,211,232, 62,140,249, 27, 63,115,186,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,112, 0, 8,116,214, 62,102, 12,236, 62,206, 27,216, 62, 22, 37,232, 62, 16,130,220, 62, 6, 20,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,100,243, 24, 63, 5,123,231, 62,169, 37, 27, 63,
- 35,211,232, 62,138,242, 24, 63, 21,194,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0,
- 16,130,220, 62, 6, 20,236, 62,206, 27,216, 62, 22, 37,232, 62, 90,128,220, 62,248,204,230, 62, 0, 0,128, 63, 0, 0,128, 63,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63, 21,194,236, 62, 88, 33, 23, 63, 69, 47,233, 62,100,243, 24, 63,
- 5,123,231, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0, 90,128,220, 62,248,204,230, 62,
-112, 36,224, 62, 58,129,232, 62, 16,130,220, 62, 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,112, 0,138,242, 24, 63, 21,194,236, 62, 13, 89, 22, 63,247,196,236, 62, 88, 33, 23, 63, 69, 47,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0,112, 36,224, 62, 58,129,232, 62, 8,181,225, 62,234, 22,236, 62,
- 16,130,220, 62, 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
- 21,194,236, 62,157, 38, 23, 63,225,173,240, 62, 13, 89, 22, 63,247,196,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,112, 0, 8,181,225, 62,234, 22,236, 62,234, 25,224, 62,214,255,239, 62, 16,130,220, 62, 6, 20,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63, 21,194,236, 62, 6,248, 24, 63,
-185, 91,242, 62,157, 38, 23, 63,225,173,240, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0,
-234, 25,224, 62,214,255,239, 62, 22,119,220, 62,174,173,241, 62, 16,130,220, 62, 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63, 21,194,236, 62, 42, 39, 27, 63, 57, 1,241, 62, 6,248, 24, 63,
-185, 91,242, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0, 22,119,220, 62,174,173,241, 62,
-206, 24,216, 62, 46, 83,240, 62, 16,130,220, 62, 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0,
- 0, 0,112, 0,138,242, 24, 63, 21,194,236, 62,140,249, 27, 63,115,186,236, 62, 42, 39, 27, 63, 57, 1,241, 62, 0, 0,128, 63,
- 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0,206, 24,216, 62, 46, 83,240, 62, 8,116,214, 62,102, 12,236, 62,
- 16,130,220, 62, 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 61, 0, 5, 0, 0, 0,112, 0,174,254, 16, 63,
- 94, 45, 34, 62, 79,190, 13, 63,160,193, 46, 62,220,199, 3, 63, 89,219, 24, 62,219,199, 3, 63, 18, 28,229, 61, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 16, 0,220,199, 3, 63, 89,219, 24, 62, 14,150,243, 62,204, 79, 47, 62,140,248,236, 62,182,202, 34, 62,
-219,199, 3, 63, 18, 28,229, 61, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,184,152, 21, 63,182, 47, 53, 62,250,104, 16, 63,
- 16,113, 55, 62, 79,190, 13, 63,160,193, 46, 62,174,254, 16, 63, 94, 45, 34, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,
- 14,150,243, 62,204, 79, 47, 62,200, 68,238, 62, 76, 62, 56, 62,183,207,227, 62,250, 75, 54, 62,140,248,236, 62,182,202, 34, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,137, 57, 22, 63, 81, 93, 61, 62,206,186, 16, 63, 85,129, 72, 62,250,104, 16, 63,
- 16,113, 55, 62,184,152, 21, 63,182, 47, 53, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,200, 68,238, 62, 76, 62, 56, 62,
-192,187,237, 62,194,118, 73, 62,122,152,226, 62,190,166, 62, 62,183,207,227, 62,250, 75, 54, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,250,249, 22, 63,160,251, 88, 62,222, 32, 16, 63, 34,106, 93, 62,206,186, 16, 63, 85,129, 72, 62,137, 57, 22, 63,
- 81, 93, 61, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,192,187,237, 62,194,118, 73, 62, 21, 19,239, 62,121,110, 94, 62,
- 90, 83,225, 62, 21,153, 90, 62,122,152,226, 62,190,166, 62, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
- 17, 56,132, 62,206,243, 15, 63,182,207,136, 62,222, 32, 16, 63, 34,106, 93, 62,250,249, 22, 63,160,251, 88, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 21, 19,239, 62,121,110, 94, 62, 92,193,239, 62,113, 61,137, 62, 54, 42,221, 62,209, 25,133, 62,
- 90, 83,225, 62, 21,153, 90, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,159, 77,166, 62, 91, 94, 37, 63,
-107,120,187, 62, 66, 21, 30, 63,178,139,200, 62,158,237, 12, 63, 38,241,187, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-139,125,211, 62,170,171,200, 62,156, 28,197, 62,166,130,187, 62,115, 21,216, 62, 14,177,166, 62, 15,175,245, 62,188, 14,188, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 91, 94, 37, 63,107,120,187, 62, 87, 57, 43, 63,222, 58,206, 62, 24,163, 39, 63,
-174, 95,216, 62, 66, 21, 30, 63,178,139,200, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 98,194,191, 62, 42, 94,216, 62,
-130,207,184, 62, 42, 27,206, 62,156, 28,197, 62,166,130,187, 62,139,125,211, 62,170,171,200, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 87, 57, 43, 63,222, 58,206, 62, 38,229, 50, 63,169, 32,226, 62,177, 79, 43, 63,202,194,231, 62, 24,163, 39, 63,
-174, 95,216, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 60,201,183, 62, 82,218,231, 62,196, 39,168, 62,206, 11,226, 62,
-130,207,184, 62, 42, 27,206, 62, 98,194,191, 62, 42, 94,216, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 38,229, 50, 63,
-169, 32,226, 62, 62,134, 48, 63, 37,107,249, 62,154,190, 43, 63,192, 0,249, 62,177, 79, 43, 63,202,194,231, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,138,190,182, 62, 35, 49,249, 62,172,229,172, 62,116,127,249, 62,196, 39,168, 62,206, 11,226, 62,
- 60,201,183, 62, 82,218,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 62,134, 48, 63, 37,107,249, 62,238, 88, 46, 63,
-146,223, 2, 63,123,207, 40, 63,218,175,254, 62,154,190, 43, 63,192, 0,249, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 2,184,188, 62,140, 0,255, 62,173, 87,177, 62,102, 9, 3, 63,172,229,172, 62,116,127,249, 62,138,190,182, 62, 35, 49,249, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,238, 88, 46, 63,146,223, 2, 63,220,158, 34, 63,175, 23, 10, 63,126, 77, 30, 63,
-156, 88, 5, 63,123,207, 40, 63,218,175,254, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 89, 65,210, 62, 56,158, 5, 63,
-124,109,201, 62, 72,121, 10, 63,173, 87,177, 62,102, 9, 3, 63, 2,184,188, 62,140, 0,255, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,220,158, 34, 63,175, 23, 10, 63, 28,105, 26, 63,242,194, 11, 63,244,120, 25, 63, 78,242, 7, 63,126, 77, 30, 63,
-156, 88, 5, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 0, 39,220, 62,252, 58, 8, 63,220, 73,218, 62,169, 31, 12, 63,
-124,109,201, 62, 72,121, 10, 63, 89, 65,210, 62, 56,158, 5, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 28,105, 26, 63,
-242,194, 11, 63,173,244, 22, 63,236,215, 11, 63,202, 47, 22, 63,156, 60, 8, 63,244,120, 25, 63, 78,242, 7, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 11,221,226, 62, 90,125, 8, 63,220, 89,225, 62, 77, 42, 12, 63,220, 73,218, 62,169, 31, 12, 63,
- 0, 39,220, 62,252, 58, 8, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,173,244, 22, 63,236,215, 11, 63, 67,169, 11, 63,
- 18,197, 11, 63,106,252, 12, 63,180,173, 3, 63,202, 47, 22, 63,156, 60, 8, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 35,114,245, 62,233,196, 3, 63, 55, 72,248, 62, 91,232, 11, 63,220, 89,225, 62, 77, 42, 12, 63, 11,221,226, 62, 90,125, 8, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 67,169, 11, 63, 18,197, 11, 63,148,232, 3, 63,164, 17, 11, 63,162,220, 3, 63,
- 45, 88, 0, 63,106,252, 12, 63,180,173, 3, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,162,220, 3, 63, 45, 88, 0, 63,
-148,232, 3, 63,164, 17, 11, 63, 55, 72,248, 62, 91,232, 11, 63, 35,114,245, 62,233,196, 3, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,103, 59, 17, 63,120,195,255, 62,240, 81, 22, 63,114, 70, 1, 63,202, 47, 22, 63,156, 60, 8, 63,106,252, 12, 63,
-180,173, 3, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 11,221,226, 62, 90,125, 8, 63,106,128,226, 62,198,111, 1, 63,
-209,213,236, 62, 4,250,255, 62, 35,114,245, 62,233,196, 3, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,240, 81, 22, 63,
-114, 70, 1, 63,151,182, 25, 63,130, 9, 1, 63,244,120, 25, 63, 78,242, 7, 63,202, 47, 22, 63,156, 60, 8, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 0, 39,220, 62,252, 58, 8, 63,213,150,219, 62, 50, 55, 1, 63,106,128,226, 62,198,111, 1, 63,
- 11,221,226, 62, 90,125, 8, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 96, 49, 30, 63,121,229,254, 62,126, 77, 30, 63,
-156, 88, 5, 63,244,120, 25, 63, 78,242, 7, 63,151,182, 25, 63,130, 9, 1, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 0, 39,220, 62,252, 58, 8, 63, 89, 65,210, 62, 56,158, 5, 63,176,116,210, 62,227, 62,255, 62,213,150,219, 62, 50, 55, 1, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 25,113, 37, 63, 35,157,247, 62,123,207, 40, 63,218,175,254, 62,126, 77, 30, 63,
-156, 88, 5, 63, 96, 49, 30, 63,121,229,254, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 89, 65,210, 62, 56,158, 5, 63,
- 2,184,188, 62,140, 0,255, 62,189,165,195, 62,139,232,247, 62,176,116,210, 62,227, 62,255, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 92, 62, 39, 63,121, 75,240, 62,154,190, 43, 63,192, 0,249, 62,123,207, 40, 63,218,175,254, 62, 25,113, 37, 63,
- 35,157,247, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 2,184,188, 62,140, 0,255, 62,138,190,182, 62, 35, 49,249, 62,
-222, 10,192, 62,163,128,240, 62,189,165,195, 62,139,232,247, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,140,149, 38, 63,
- 38, 95,229, 62,177, 79, 43, 63,202,194,231, 62,154,190, 43, 63,192, 0,249, 62, 92, 62, 39, 63,121, 75,240, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,138,190,182, 62, 35, 49,249, 62, 60,201,183, 62, 82,218,231, 62,168,140,193, 62, 94,129,229, 62,
-222, 10,192, 62,163,128,240, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 14,120, 33, 63,166,238,214, 62, 24,163, 39, 63,
-174, 95,216, 62,177, 79, 43, 63,202,194,231, 62,140,149, 38, 63, 38, 95,229, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 60,201,183, 62, 82,218,231, 62, 98,194,191, 62, 42, 94,216, 62,168, 75,204, 62, 62, 7,215, 62,168,140,193, 62, 94,129,229, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,165,178, 27, 63,128, 17,208, 62, 66, 21, 30, 63,178,139,200, 62, 24,163, 39, 63,
-174, 95,216, 62, 14,120, 33, 63,166,238,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 98,194,191, 62, 42, 94,216, 62,
-139,125,211, 62,170,171,200, 62, 6, 24,216, 62,128, 57,208, 62,168, 75,204, 62, 62, 7,215, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 15, 97, 17, 63,220, 34,214, 62,158,237, 12, 63, 38,241,187, 62, 66, 21, 30, 63,178,139,200, 62,165,178, 27, 63,
-128, 17,208, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,139,125,211, 62,170,171,200, 62, 15,175,245, 62,188, 14,188, 62,
-217,200,236, 62,134, 49,214, 62, 6, 24,216, 62,128, 57,208, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 15, 97, 17, 63,
-220, 34,214, 62,149,244, 14, 63, 4, 42,221, 62,147,230, 3, 63, 78, 47,208, 62,158,237, 12, 63, 38,241,187, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,147,230, 3, 63, 78, 47,208, 62,141,144,241, 62,244, 52,221, 62,217,200,236, 62,134, 49,214, 62,
- 15,175,245, 62,188, 14,188, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,103, 59, 17, 63,120,195,255, 62,106,252, 12, 63,
-180,173, 3, 63,162,220, 3, 63, 45, 88, 0, 63, 71, 25, 13, 63,116,163,243, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-162,220, 3, 63, 45, 88, 0, 63, 35,114,245, 62,233,196, 3, 63,209,213,236, 62, 4,250,255, 62, 0, 45,245, 62,206,185,243, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 71, 25, 13, 63,116,163,243, 62,162,220, 3, 63, 45, 88, 0, 63,215,220, 3, 63,
-148,189,231, 62, 64, 2, 13, 63, 52,215,230, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,215,220, 3, 63,148,189,231, 62,
-162,220, 3, 63, 45, 88, 0, 63, 0, 45,245, 62,206,185,243, 62,219,100,245, 62,184,230,230, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,147,230, 3, 63, 78, 47,208, 62,149,244, 14, 63, 4, 42,221, 62, 64, 2, 13, 63, 52,215,230, 62,215,220, 3, 63,
-148,189,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,219,100,245, 62,184,230,230, 62,141,144,241, 62,244, 52,221, 62,
-147,230, 3, 63, 78, 47,208, 62,215,220, 3, 63,148,189,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 7, 63,
-148, 31, 54, 62,193,202, 3, 63,214,174, 49, 62,220,199, 3, 63, 89,219, 24, 62, 79,190, 13, 63,160,193, 46, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,220,199, 3, 63, 89,219, 24, 62,193,202, 3, 63,214,174, 49, 62,175, 87, 0, 63,251, 90, 54, 62,
- 14,150,243, 62,204, 79, 47, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 68,214, 9, 63,246,237, 66, 62,250, 61, 7, 63,
-148, 31, 54, 62, 79,190, 13, 63,160,193, 46, 62,250,104, 16, 63, 16,113, 55, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 14,150,243, 62,204, 79, 47, 62,175, 87, 0, 63,251, 90, 54, 62,104,137,251, 62,179, 92, 67, 62,200, 68,238, 62, 76, 62, 56, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,237,221, 8, 63,218, 90, 91, 62, 68,214, 9, 63,246,237, 66, 62,250,104, 16, 63,
- 16,113, 55, 62,206,186, 16, 63, 85,129, 72, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,200, 68,238, 62, 76, 62, 56, 62,
-104,137,251, 62,179, 92, 67, 62, 39,153,253, 62, 27,195, 91, 62,192,187,237, 62,194,118, 73, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,206,243, 15, 63,182,207,136, 62, 77, 32, 8, 63, 10, 39,139, 62, 22,117, 9, 63,146,203, 97, 62,222, 32, 16, 63,
- 34,106, 93, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,192,110,252, 62, 79, 68, 98, 62,219, 89,255, 62,116, 79,139, 62,
- 92,193,239, 62,113, 61,137, 62, 21, 19,239, 62,121,110, 94, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,237,221, 8, 63,
-218, 90, 91, 62,206,186, 16, 63, 85,129, 72, 62,222, 32, 16, 63, 34,106, 93, 62, 22,117, 9, 63,146,203, 97, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 21, 19,239, 62,121,110, 94, 62,192,187,237, 62,194,118, 73, 62, 39,153,253, 62, 27,195, 91, 62,
-192,110,252, 62, 79, 68, 98, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,119,125, 9, 63, 7,112,158, 62, 70,233, 3, 63,
- 88, 27,154, 62,235,229, 3, 63, 97,108,139, 62, 77, 32, 8, 63, 10, 39,139, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-235,229, 3, 63, 97,108,139, 62, 70,233, 3, 63, 88, 27,154, 62,165,179,252, 62,163,140,158, 62,219, 89,255, 62,116, 79,139, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 22,117, 9, 63,146,203, 97, 62, 77, 32, 8, 63, 10, 39,139, 62,235,229, 3, 63,
- 97,108,139, 62,246,215, 3, 63,143, 56,101, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,235,229, 3, 63, 97,108,139, 62,
-219, 89,255, 62,116, 79,139, 62,192,110,252, 62, 79, 68, 98, 62,246,215, 3, 63,143, 56,101, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,147,210, 3, 63,221, 95, 86, 62,237,221, 8, 63,218, 90, 91, 62, 22,117, 9, 63,146,203, 97, 62,246,215, 3, 63,
-143, 56,101, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,192,110,252, 62, 79, 68, 98, 62, 39,153,253, 62, 27,195, 91, 62,
-147,210, 3, 63,221, 95, 86, 62,246,215, 3, 63,143, 56,101, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 5, 54, 12, 63,
-188,183,167, 62,250, 61, 9, 63,252,214,168, 62,152,143, 8, 63, 45,107,163, 62,119,125, 9, 63, 7,112,158, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,100,136,254, 62, 38,123,163, 62,110, 39,253, 62,103,224,168, 62, 98, 68,247, 62,146,206,167, 62,
-165,179,252, 62,163,140,158, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,135,196, 10, 63, 52,208,178, 62, 25,233, 8, 63,
-116,110,175, 62,250, 61, 9, 63,252,214,168, 62, 5, 54, 12, 63,188,183,167, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-110, 39,253, 62,103,224,168, 62,102,195,253, 62,184,102,175, 62, 98, 14,250, 62,149,202,178, 62, 98, 68,247, 62,146,206,167, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 69, 17, 4, 63,105,176,182, 62, 69,138, 6, 63, 80,180,177, 62, 25,233, 8, 63,
-116,110,175, 62,135,196, 10, 63, 52,208,178, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,102,195,253, 62,184,102,175, 62,
- 14, 49, 1, 63, 62,150,177, 62, 69, 17, 4, 63,105,176,182, 62, 98, 14,250, 62,149,202,178, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,209,124, 3, 63, 70, 0,177, 62, 11,232, 3, 63,140, 4,174, 62, 69,138, 6, 63, 80,180,177, 62, 69, 17, 4, 63,
-105,176,182, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 14, 49, 1, 63, 62,150,177, 62, 11,232, 3, 63,140, 4,174, 62,
-209,124, 3, 63, 70, 0,177, 62, 69, 17, 4, 63,105,176,182, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 70,233, 3, 63,
- 88, 27,154, 62,119,125, 9, 63, 7,112,158, 62,152,143, 8, 63, 45,107,163, 62,212,232, 3, 63, 58,152,158, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,100,136,254, 62, 38,123,163, 62,165,179,252, 62,163,140,158, 62, 70,233, 3, 63, 88, 27,154, 62,
-212,232, 3, 63, 58,152,158, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,212,232, 3, 63, 58,152,158, 62,152,143, 8, 63,
- 45,107,163, 62,121, 91, 7, 63,134, 51,166, 62,205,231, 3, 63, 58,149,162, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 44,116, 0, 63,255, 56,166, 62,100,136,254, 62, 38,123,163, 62,212,232, 3, 63, 58,152,158, 62,205,231, 3, 63, 58,149,162, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 11,232, 3, 63,140, 4,174, 62,214,233, 3, 63,198,154,170, 62,233,110, 6, 63,
- 94,152,174, 62, 69,138, 6, 63, 80,180,177, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,228, 82, 1, 63, 95,140,174, 62,
-214,233, 3, 63,198,154,170, 62, 11,232, 3, 63,140, 4,174, 62, 14, 49, 1, 63, 62,150,177, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 69,138, 6, 63, 80,180,177, 62,233,110, 6, 63, 94,152,174, 62, 59,236, 7, 63, 19,123,173, 62, 25,233, 8, 63,
-116,110,175, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217,185,255, 62, 92,116,173, 62,228, 82, 1, 63, 95,140,174, 62,
- 14, 49, 1, 63, 62,150,177, 62,102,195,253, 62,184,102,175, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 25,233, 8, 63,
-116,110,175, 62, 59,236, 7, 63, 19,123,173, 62, 85,249, 7, 63, 92, 52,169, 62,250, 61, 9, 63,252,214,168, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,160,169,255, 62, 6, 57,169, 62,217,185,255, 62, 92,116,173, 62,102,195,253, 62,184,102,175, 62,
-110, 39,253, 62,103,224,168, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 9, 63,252,214,168, 62, 85,249, 7, 63,
- 92, 52,169, 62,121, 91, 7, 63,134, 51,166, 62,152,143, 8, 63, 45,107,163, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 44,116, 0, 63,255, 56,166, 62,160,169,255, 62, 6, 57,169, 62,110, 39,253, 62,103,224,168, 62,100,136,254, 62, 38,123,163, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,214,233, 3, 63,198,154,170, 62, 85,249, 7, 63, 92, 52,169, 62, 59,236, 7, 63,
- 19,123,173, 62,233,110, 6, 63, 94,152,174, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217,185,255, 62, 92,116,173, 62,
-160,169,255, 62, 6, 57,169, 62,214,233, 3, 63,198,154,170, 62,228, 82, 1, 63, 95,140,174, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,214,233, 3, 63,198,154,170, 62,205,231, 3, 63, 58,149,162, 62,121, 91, 7, 63,134, 51,166, 62, 85,249, 7, 63,
- 92, 52,169, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 44,116, 0, 63,255, 56,166, 62,205,231, 3, 63, 58,149,162, 62,
-214,233, 3, 63,198,154,170, 62,160,169,255, 62, 6, 57,169, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 69, 17, 4, 63,
-105,176,182, 62,135,196, 10, 63, 52,208,178, 62,158,237, 12, 63, 38,241,187, 62,147,230, 3, 63, 78, 47,208, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 15,175,245, 62,188, 14,188, 62, 98, 14,250, 62,149,202,178, 62, 69, 17, 4, 63,105,176,182, 62,
-147,230, 3, 63, 78, 47,208, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,135,196, 10, 63, 52,208,178, 62, 5, 54, 12, 63,
-188,183,167, 62,112, 0, 16, 63,254,246,164, 62,158,237, 12, 63, 38,241,187, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-207,187,239, 62, 19, 42,165, 62, 98, 68,247, 62,146,206,167, 62, 98, 14,250, 62,149,202,178, 62, 15,175,245, 62,188, 14,188, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 5, 54, 12, 63,188,183,167, 62,119,125, 9, 63, 7,112,158, 62, 44,250, 15, 63,
-109, 0,154, 62,112, 0, 16, 63,254,246,164, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 56,205,239, 62, 8, 71,154, 62,
-165,179,252, 62,163,140,158, 62, 98, 68,247, 62,146,206,167, 62,207,187,239, 62, 19, 42,165, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,119,125, 9, 63, 7,112,158, 62, 77, 32, 8, 63, 10, 39,139, 62,206,243, 15, 63,182,207,136, 62, 44,250, 15, 63,
-109, 0,154, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 92,193,239, 62,113, 61,137, 62,219, 89,255, 62,116, 79,139, 62,
-165,179,252, 62,163,140,158, 62, 56,205,239, 62, 8, 71,154, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
- 17, 56,132, 62,208, 46, 27, 63,149, 35,148, 62, 44,250, 15, 63,109, 0,154, 62,206,243, 15, 63,182,207,136, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 56,205,239, 62, 8, 71,154, 62,238,166,217, 62,229,221,148, 62, 54, 42,221, 62,209, 25,133, 62,
- 92,193,239, 62,113, 61,137, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,208, 46, 27, 63,149, 35,148, 62, 36,177, 27, 63,
-158,151,156, 62,112, 0, 16, 63,254,246,164, 62, 44,250, 15, 63,109, 0,154, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-207,187,239, 62, 19, 42,165, 62, 0,160,216, 62,127, 44,157, 62,238,166,217, 62,229,221,148, 62, 56,205,239, 62, 8, 71,154, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,159, 77,166, 62,158,237, 12, 63, 38,241,187, 62,112, 0, 16, 63,
-254,246,164, 62, 36,177, 27, 63,158,151,156, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,207,187,239, 62, 19, 42,165, 62,
- 15,175,245, 62,188, 14,188, 62,115, 21,216, 62, 14,177,166, 62, 0,160,216, 62,127, 44,157, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,237,221, 8, 63,218, 90, 91, 62,147,210, 3, 63,221, 95, 86, 62,129,211, 3, 63,248,168, 83, 62,170, 33, 8, 63,
-254,149, 86, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,129,211, 3, 63,248,168, 83, 62,147,210, 3, 63,221, 95, 86, 62,
- 39,153,253, 62, 27,195, 91, 62, 8, 14,255, 62, 58,232, 86, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 68,214, 9, 63,
-246,237, 66, 62,237,221, 8, 63,218, 90, 91, 62,170, 33, 8, 63,254,149, 86, 62, 20,180, 8, 63, 94, 29, 69, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 8, 14,255, 62, 58,232, 86, 62, 39,153,253, 62, 27,195, 91, 62,104,137,251, 62,179, 92, 67, 62,
- 19,210,253, 62, 55,114, 69, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 7, 63,148, 31, 54, 62, 68,214, 9, 63,
-246,237, 66, 62, 20,180, 8, 63, 94, 29, 69, 62,168, 82, 6, 63, 80, 43, 57, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 19,210,253, 62, 55,114, 69, 62,104,137,251, 62,179, 92, 67, 62,175, 87, 0, 63,251, 90, 54, 62, 48, 68, 1, 63,166, 84, 57, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,193,202, 3, 63,214,174, 49, 62,250, 61, 7, 63,148, 31, 54, 62,168, 82, 6, 63,
- 80, 43, 57, 62,205,202, 3, 63, 8, 22, 54, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 48, 68, 1, 63,166, 84, 57, 62,
-175, 87, 0, 63,251, 90, 54, 62,193,202, 3, 63,214,174, 49, 62,205,202, 3, 63, 8, 22, 54, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,205,202, 3, 63, 8, 22, 54, 62,168, 82, 6, 63, 80, 43, 57, 62,246, 24, 5, 63, 26,150, 66, 62,213,205, 3, 63,
-220,232, 64, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 29,131, 2, 63, 22,172, 66, 62, 48, 68, 1, 63,166, 84, 57, 62,
-205,202, 3, 63, 8, 22, 54, 62,213,205, 3, 63,220,232, 64, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,168, 82, 6, 63,
- 80, 43, 57, 62, 20,180, 8, 63, 94, 29, 69, 62, 39, 83, 6, 63,191,114, 70, 62,246, 24, 5, 63, 26,150, 66, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,185, 75, 1, 63,222,160, 70, 62, 19,210,253, 62, 55,114, 69, 62, 48, 68, 1, 63,166, 84, 57, 62,
- 29,131, 2, 63, 22,172, 66, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 20,180, 8, 63, 94, 29, 69, 62,170, 33, 8, 63,
-254,149, 86, 62, 4,111, 6, 63, 40,172, 76, 62, 39, 83, 6, 63,191,114, 70, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-157, 51, 1, 63,158,218, 76, 62, 8, 14,255, 62, 58,232, 86, 62, 19,210,253, 62, 55,114, 69, 62,185, 75, 1, 63,222,160, 70, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,170, 33, 8, 63,254,149, 86, 62,129,211, 3, 63,248,168, 83, 62,234,208, 3, 63,
-146, 43, 75, 62, 4,111, 6, 63, 40,172, 76, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,234,208, 3, 63,146, 43, 75, 62,
-129,211, 3, 63,248,168, 83, 62, 8, 14,255, 62, 58,232, 86, 62,157, 51, 1, 63,158,218, 76, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,234,208, 3, 63,146, 43, 75, 62,213,205, 3, 63,220,232, 64, 62,246, 24, 5, 63, 26,150, 66, 62, 4,111, 6, 63,
- 40,172, 76, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 29,131, 2, 63, 22,172, 66, 62,213,205, 3, 63,220,232, 64, 62,
-234,208, 3, 63,146, 43, 75, 62,157, 51, 1, 63,158,218, 76, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 4,111, 6, 63,
- 40,172, 76, 62,246, 24, 5, 63, 26,150, 66, 62, 39, 83, 6, 63,191,114, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,185, 75, 1, 63,222,160, 70, 62, 29,131, 2, 63, 22,172, 66, 62,157, 51, 1, 63,158,218, 76, 62,
- 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 64, 2, 13, 63, 52,215,230, 62,149,244, 14, 63,
- 4, 42,221, 62, 4,216, 16, 63,160, 24,224, 62,120,200, 15, 63, 84,255,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-119,193,237, 62,190, 38,224, 62,141,144,241, 62,244, 52,221, 62,219,100,245, 62,184,230,230, 62, 21,211,239, 62,185, 18,232, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 71, 25, 13, 63,116,163,243, 62, 64, 2, 13, 63, 52,215,230, 62,120,200, 15, 63,
- 84,255,231, 62,184,171, 16, 63, 40,133,241, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 21,211,239, 62,185, 18,232, 62,
-219,100,245, 62,184,230,230, 62, 0, 45,245, 62,206,185,243, 62,218,252,237, 62, 62,160,241, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,103, 59, 17, 63,120,195,255, 62, 71, 25, 13, 63,116,163,243, 62,184,171, 16, 63, 40,133,241, 62, 55, 44, 19, 63,
- 86, 21,250, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,218,252,237, 62, 62,160,241, 62, 0, 45,245, 62,206,185,243, 62,
-209,213,236, 62, 4,250,255, 62,153,228,232, 62,154, 67,250, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,149,244, 14, 63,
- 4, 42,221, 62, 15, 97, 17, 63,220, 34,214, 62,217, 53, 19, 63, 16,211,218, 62, 4,216, 16, 63,160, 24,224, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 8, 14,233, 62, 66,226,218, 62,217,200,236, 62,134, 49,214, 62,141,144,241, 62,244, 52,221, 62,
-119,193,237, 62,190, 38,224, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 15, 97, 17, 63,220, 34,214, 62,165,178, 27, 63,
-128, 17,208, 62,205,198, 26, 63,124,184,214, 62,217, 53, 19, 63, 16,211,218, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-216,214,217, 62,218,224,214, 62, 6, 24,216, 62,128, 57,208, 62,217,200,236, 62,134, 49,214, 62, 8, 14,233, 62, 66,226,218, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,165,178, 27, 63,128, 17,208, 62, 14,120, 33, 63,166,238,214, 62,156,136, 31, 63,
-194,138,219, 62,205,198, 26, 63,124,184,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,254, 30,208, 62,204,177,219, 62,
-168, 75,204, 62, 62, 7,215, 62, 6, 24,216, 62,128, 57,208, 62,216,214,217, 62,218,224,214, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 14,120, 33, 63,166,238,214, 62,140,149, 38, 63, 38, 95,229, 62, 79, 9, 36, 63, 94,224,229, 62,156,136, 31, 63,
-194,138,219, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,148,192,198, 62,182, 11,230, 62,168,140,193, 62, 94,129,229, 62,
-168, 75,204, 62, 62, 7,215, 62,254, 30,208, 62,204,177,219, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,140,149, 38, 63,
- 38, 95,229, 62, 92, 62, 39, 63,121, 75,240, 62, 14, 49, 36, 63,253, 88,239, 62, 79, 9, 36, 63, 94,224,229, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 97, 71,198, 62,192,149,239, 62,222, 10,192, 62,163,128,240, 62,168,140,193, 62, 94,129,229, 62,
-148,192,198, 62,182, 11,230, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 92, 62, 39, 63,121, 75,240, 62, 25,113, 37, 63,
- 35,157,247, 62,243, 33, 35, 63, 80,143,245, 62, 14, 49, 36, 63,253, 88,239, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 87, 99,200, 62,172,217,245, 62,189,165,195, 62,139,232,247, 62,222, 10,192, 62,163,128,240, 62, 97, 71,198, 62,192,149,239, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 25,113, 37, 63, 35,157,247, 62, 96, 49, 30, 63,121,229,254, 62,223, 49, 29, 63,
-199,140,250, 62,243, 33, 35, 63, 80,143,245, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,147,124,212, 62,146,215,250, 62,
-176,116,210, 62,227, 62,255, 62,189,165,195, 62,139,232,247, 62, 87, 99,200, 62,172,217,245, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 96, 49, 30, 63,121,229,254, 62,151,182, 25, 63,130, 9, 1, 63, 50,181, 25, 63,118,111,253, 62,223, 49, 29, 63,
-199,140,250, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 52,151,219, 62, 68,186,253, 62,213,150,219, 62, 50, 55, 1, 63,
-176,116,210, 62,227, 62,255, 62,147,124,212, 62,146,215,250, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,151,182, 25, 63,
-130, 9, 1, 63,240, 81, 22, 63,114, 70, 1, 63,241,188, 22, 63, 28,149,253, 62, 50,181, 25, 63,118,111,253, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,212,163,225, 62, 91,215,253, 62,106,128,226, 62,198,111, 1, 63,213,150,219, 62, 50, 55, 1, 63,
- 52,151,219, 62, 68,186,253, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,240, 81, 22, 63,114, 70, 1, 63,103, 59, 17, 63,
-120,195,255, 62, 55, 44, 19, 63, 86, 21,250, 62,241,188, 22, 63, 28,149,253, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-153,228,232, 62,154, 67,250, 62,209,213,236, 62, 4,250,255, 62,106,128,226, 62,198,111, 1, 63,212,163,225, 62, 91,215,253, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,241,188, 22, 63, 28,149,253, 62, 55, 44, 19, 63, 86, 21,250, 62, 9,165, 20, 63,
-248, 99,247, 62, 20, 0, 23, 63, 6, 57,251, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,232,232,229, 62, 74,142,247, 62,
-153,228,232, 62,154, 67,250, 62,212,163,225, 62, 91,215,253, 62,145, 26,225, 62,114,116,251, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 50,181, 25, 63,118,111,253, 62,241,188, 22, 63, 28,149,253, 62, 20, 0, 23, 63, 6, 57,251, 62,130,144, 25, 63,
-128, 7,251, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,145, 26,225, 62,114,116,251, 62,212,163,225, 62, 91,215,253, 62,
- 52,151,219, 62, 68,186,253, 62,177,225,219, 62, 67, 75,251, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,223, 49, 29, 63,
-199,140,250, 62, 50,181, 25, 63,118,111,253, 62,130,144, 25, 63,128, 7,251, 62, 80,195, 28, 63, 55,166,248, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,177,225,219, 62, 67, 75,251, 62, 52,151,219, 62, 68,186,253, 62,147,124,212, 62,146,215,250, 62,
-233, 95,213, 62, 20,237,248, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,243, 33, 35, 63, 80,143,245, 62,223, 49, 29, 63,
-199,140,250, 62, 80,195, 28, 63, 55,166,248, 62, 22,164, 33, 63,102, 75,243, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-233, 95,213, 62, 20,237,248, 62,147,124,212, 62,146,215,250, 62, 87, 99,200, 62,172,217,245, 62, 65,114,203, 62,159,143,243, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 14, 49, 36, 63,253, 88,239, 62,243, 33, 35, 63, 80,143,245, 62, 22,164, 33, 63,
-102, 75,243, 62, 30,160, 34, 63,169, 47,238, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 65,114,203, 62,159,143,243, 62,
- 87, 99,200, 62,172,217,245, 62, 97, 71,198, 62,192,149,239, 62,188,128,201, 62,126,110,238, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 79, 9, 36, 63, 94,224,229, 62, 14, 49, 36, 63,253, 88,239, 62, 30,160, 34, 63,169, 47,238, 62,131,144, 34, 63,
-253, 87,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,188,128,201, 62,126,110,238, 62, 97, 71,198, 62,192,149,239, 62,
-148,192,198, 62,182, 11,230, 62,141,190,201, 62,124,140,231, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,156,136, 31, 63,
-194,138,219, 62, 79, 9, 36, 63, 94,224,229, 62,131,144, 34, 63,253, 87,231, 62, 21,208, 30, 63,174,182,221, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,141,190,201, 62,124,140,231, 62,148,192,198, 62,182, 11,230, 62,254, 30,208, 62,204,177,219, 62,
-168,133,209, 62, 51,221,221, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,205,198, 26, 63,124,184,214, 62,156,136, 31, 63,
-194,138,219, 62, 21,208, 30, 63,174,182,221, 62,128,218, 26, 63, 68,206,217, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-168,133,209, 62, 51,221,221, 62,254, 30,208, 62,204,177,219, 62,216,214,217, 62,218,224,214, 62, 11,157,217, 62, 64,243,217, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217, 53, 19, 63, 16,211,218, 62,205,198, 26, 63,124,184,214, 62,128,218, 26, 63,
- 68,206,217, 62,103, 53, 20, 63,236, 84,221, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 11,157,217, 62, 64,243,217, 62,
-216,214,217, 62,218,224,214, 62, 8, 14,233, 62, 66,226,218, 62, 68, 5,231, 62,234,101,221, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 4,216, 16, 63,160, 24,224, 62,217, 53, 19, 63, 16,211,218, 62,103, 53, 20, 63,236, 84,221, 62, 81, 87, 18, 63,
- 33,175,226, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 68, 5,231, 62,234,101,221, 62, 8, 14,233, 62, 66,226,218, 62,
-119,193,237, 62,190, 38,224, 62,180,187,234, 62,249,190,226, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 55, 44, 19, 63,
- 86, 21,250, 62,184,171, 16, 63, 40,133,241, 62, 98, 68, 18, 63,150,197,240, 62, 9,165, 20, 63,248, 99,247, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 35,197,234, 62,215,226,240, 62,218,252,237, 62, 62,160,241, 62,153,228,232, 62,154, 67,250, 62,
-232,232,229, 62, 74,142,247, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,184,171, 16, 63, 40,133,241, 62,120,200, 15, 63,
- 84,255,231, 62,161, 4, 18, 63,138,184,232, 62, 98, 68, 18, 63,150,197,240, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-154, 85,235, 62, 92,206,232, 62, 21,211,239, 62,185, 18,232, 62,218,252,237, 62, 62,160,241, 62, 35,197,234, 62,215,226,240, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120,200, 15, 63, 84,255,231, 62, 4,216, 16, 63,160, 24,224, 62, 81, 87, 18, 63,
- 33,175,226, 62,161, 4, 18, 63,138,184,232, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,180,187,234, 62,249,190,226, 62,
-119,193,237, 62,190, 38,224, 62, 21,211,239, 62,185, 18,232, 62,154, 85,235, 62, 92,206,232, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,148,232, 3, 63,164, 17, 11, 63, 67,169, 11, 63, 18,197, 11, 63,216,120, 13, 63,160, 81, 23, 63,147, 15, 4, 63,
-227,248, 23, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 64, 27,245, 62,100,166, 23, 63, 55, 72,248, 62, 91,232, 11, 63,
-148,232, 3, 63,164, 17, 11, 63,147, 15, 4, 63,227,248, 23, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 67,169, 11, 63,
- 18,197, 11, 63,173,244, 22, 63,236,215, 11, 63, 94,233, 23, 63,186, 60, 16, 63,216,120, 13, 63,160, 81, 23, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,109,130,223, 62,118,165, 16, 63,220, 89,225, 62, 77, 42, 12, 63, 55, 72,248, 62, 91,232, 11, 63,
- 64, 27,245, 62,100,166, 23, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,173,244, 22, 63,236,215, 11, 63, 28,105, 26, 63,
-242,194, 11, 63,220, 56, 28, 63, 66,250, 14, 63, 94,233, 23, 63,186, 60, 16, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-157,161,214, 62,219,110, 15, 63,220, 73,218, 62,169, 31, 12, 63,220, 89,225, 62, 77, 42, 12, 63,109,130,223, 62,118,165, 16, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 28,105, 26, 63,242,194, 11, 63,220,158, 34, 63,175, 23, 10, 63,109, 44, 39, 63,
-107,221, 19, 63,220, 56, 28, 63, 66,250, 14, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,156, 26,192, 62, 31,139, 20, 63,
-124,109,201, 62, 72,121, 10, 63,220, 73,218, 62,169, 31, 12, 63,157,161,214, 62,219,110, 15, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,220,158, 34, 63,175, 23, 10, 63,238, 88, 46, 63,146,223, 2, 63,242, 80, 56, 63, 44,244, 6, 63,109, 44, 39, 63,
-107,221, 19, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 61,208,156, 62,204, 16, 7, 63,173, 87,177, 62,102, 9, 3, 63,
-124,109,201, 62, 72,121, 10, 63,156, 26,192, 62, 31,139, 20, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,238, 88, 46, 63,
-146,223, 2, 63, 62,134, 48, 63, 37,107,249, 62,195,173, 54, 63,239,106,252, 62,242, 80, 56, 63, 44,244, 6, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,128, 0,202, 36,160, 62, 94, 51,252, 62,172,229,172, 62,116,127,249, 62,173, 87,177, 62,102, 9, 3, 63,
- 61,208,156, 62,204, 16, 7, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0, 62,134, 48, 63, 37,107,249, 62, 38,229, 50, 63,
-169, 32,226, 62,154, 88, 53, 63,240,146,221, 62,195,173, 54, 63,239,106,252, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,
-128,172,162, 62, 17,169,221, 62,196, 39,168, 62,206, 11,226, 62,172,229,172, 62,116,127,249, 62,202, 36,160, 62, 94, 51,252, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0, 38,229, 50, 63,169, 32,226, 62, 87, 57, 43, 63,222, 58,206, 62,240,117, 49, 63,
-164,138,198, 62,154, 88, 53, 63,240,146,221, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,147,137,172, 62,148, 19,198, 62,
-130,207,184, 62, 42, 27,206, 62,196, 39,168, 62,206, 11,226, 62,128,172,162, 62, 17,169,221, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0,128, 0, 87, 57, 43, 63,222, 58,206, 62, 91, 94, 37, 63,107,120,187, 62,156,160, 41, 63, 56,175,182, 62,240,117, 49, 63,
-164,138,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,202,212,188, 62,245,163,182, 62,156, 28,197, 62,166,130,187, 62,
-130,207,184, 62, 42, 27,206, 62,147,137,172, 62,148, 19,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,165,252, 48, 63,
-133, 33, 85, 62,112, 54, 48, 63, 20, 19, 96, 62,172, 36, 46, 63,208, 7,129, 62,240, 17, 42, 63,129, 84, 97, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 76, 71,181, 62,204,200,131, 62,117,121,175, 62,183,185,106, 62,217, 24,172, 62, 21,237, 92, 62,
-138, 81,187, 62, 59, 40,103, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,204, 89, 48, 63,134,194, 4, 62,165,252, 48, 63,
-133, 33, 85, 62,240, 17, 42, 63,129, 84, 97, 62,160,125, 37, 63, 50,211, 46, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,
-138, 81,187, 62, 59, 40,103, 62,217, 24,172, 62, 21,237, 92, 62, 94,197,172, 62,109,200, 4, 62, 25,121,195, 62, 46,253, 48, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 11, 44, 20, 63, 20, 26,163, 61,204, 89, 48, 63,134,194, 4, 62,160,125, 37, 63,
- 50,211, 46, 62, 40, 92, 24, 63,214,184, 21, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0, 25,121,195, 62, 46,253, 48, 62,
- 94,197,172, 62,109,200, 4, 62,140,122,230, 62,202,248,161, 61,216, 13,222, 62,222,116, 22, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 32, 0,174,254, 16, 63, 94, 45, 34, 62,219,199, 3, 63, 18, 28,229, 61, 11, 44, 20, 63, 20, 26,163, 61, 40, 92, 24, 63,
-214,184, 21, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,140,122,230, 62,202,248,161, 61,219,199, 3, 63, 18, 28,229, 61,
-140,248,236, 62,182,202, 34, 62,216, 13,222, 62,222,116, 22, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,184,152, 21, 63,
-182, 47, 53, 62,174,254, 16, 63, 94, 45, 34, 62, 40, 92, 24, 63,214,184, 21, 62,209, 52, 25, 63, 76,140, 51, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 32, 0,216, 13,222, 62,222,116, 22, 62,140,248,236, 62,182,202, 34, 62,183,207,227, 62,250, 75, 54, 62,
-229,137,220, 62,185,228, 52, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0,137, 57, 22, 63, 81, 93, 61, 62,184,152, 21, 63,
-182, 47, 53, 62,209, 52, 25, 63, 76,140, 51, 62,193,166, 30, 63,114,168, 73, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-229,137,220, 62,185,228, 52, 62,183,207,227, 62,250, 75, 54, 62,122,152,226, 62,190,166, 62, 62, 54,198,209, 62, 18,240, 75, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,250,249, 22, 63,160,251, 88, 62,137, 57, 22, 63, 81, 93, 61, 62,193,166, 30, 63,
-114,168, 73, 62, 75, 0, 36, 63,229, 47,116, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 54,198,209, 62, 18,240, 75, 62,
-122,152,226, 62,190,166, 62, 62, 90, 83,225, 62, 21,153, 90, 62,211,231,199, 62,216,237,119, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,193,166, 30, 63,114,168, 73, 62,160,125, 37, 63, 50,211, 46, 62,240, 17, 42, 63,129, 84, 97, 62, 75, 0, 36, 63,
-229, 47,116, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,138, 81,187, 62, 59, 40,103, 62, 25,121,195, 62, 46,253, 48, 62,
- 54,198,209, 62, 18,240, 75, 62,211,231,199, 62,216,237,119, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,193,166, 30, 63,
-114,168, 73, 62,209, 52, 25, 63, 76,140, 51, 62, 40, 92, 24, 63,214,184, 21, 62,160,125, 37, 63, 50,211, 46, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,216, 13,222, 62,222,116, 22, 62,229,137,220, 62,185,228, 52, 62, 54,198,209, 62, 18,240, 75, 62,
- 25,121,195, 62, 46,253, 48, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 37,163, 36, 63,191,168,140, 62, 75, 0, 36, 63,
-229, 47,116, 62,240, 17, 42, 63,129, 84, 97, 62,172, 36, 46, 63,208, 7,129, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-138, 81,187, 62, 59, 40,103, 62,211,231,199, 62,216,237,119, 62, 6, 64,199, 62,105, 6,142, 62, 76, 71,181, 62,204,200,131, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63, 17, 56,132, 62,250,249, 22, 63,160,251, 88, 62, 75, 0, 36, 63,
-229, 47,116, 62, 37,163, 36, 63,191,168,140, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,211,231,199, 62,216,237,119, 62,
- 90, 83,225, 62, 21,153, 90, 62, 54, 42,221, 62,209, 25,133, 62, 6, 64,199, 62,105, 6,142, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,208, 46, 27, 63,149, 35,148, 62, 91, 60, 36, 63,221,222,150, 62,222,170, 33, 63, 74,126,158, 62, 36,177, 27, 63,
-158,151,156, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 72,234,204, 62, 56, 63,159, 62,150,245,199, 62, 85, 15,152, 62,
-238,166,217, 62,229,221,148, 62, 0,160,216, 62,127, 44,157, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
- 17, 56,132, 62, 37,163, 36, 63,191,168,140, 62, 91, 60, 36, 63,221,222,150, 62,208, 46, 27, 63,149, 35,148, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,150,245,199, 62, 85, 15,152, 62, 6, 64,199, 62,105, 6,142, 62, 54, 42,221, 62,209, 25,133, 62,
-238,166,217, 62,229,221,148, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,159, 77,166, 62, 36,177, 27, 63,
-158,151,156, 62,222,170, 33, 63, 74,126,158, 62,102,212, 31, 63,144,192,164, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 72,234,204, 62, 56, 63,159, 62, 0,160,216, 62,127, 44,157, 62,115, 21,216, 62, 14,177,166, 62, 17,119,208, 62,201, 65,165, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,159, 77,166, 62,102,212, 31, 63,144,192,164, 62,156,160, 41, 63,
- 56,175,182, 62, 91, 94, 37, 63,107,120,187, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,202,212,188, 62,245,163,182, 62,
- 17,119,208, 62,201, 65,165, 62,115, 21,216, 62, 14,177,166, 62,156, 28,197, 62,166,130,187, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,104,119,194, 62,164,189, 82, 63, 23, 73,212, 62,152,239, 90, 63,100,192,205, 62, 46,238, 97, 63, 38, 56,185, 62,
- 72,154, 91, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,228, 94,141, 62, 86,234,100, 63, 84, 66,150, 62,114,154, 94, 63,
-230, 86,173, 62, 79, 66, 98, 63, 20,143,162, 62, 44,173,106, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 72,122, 87, 63,
-216, 8, 62, 62,202,106, 84, 63,137,185,113, 62,226, 77, 72, 63,204, 21,121, 62,158,225, 71, 63,113, 34, 68, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 16, 0,132, 32,137, 62,181, 65,121, 62,168,179,107, 62,139,127,103, 62,210,147,114, 62,212,116, 61, 62,
-248,125,142, 62, 30, 4, 80, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,158,225, 71, 63,113, 34, 68, 62,226, 77, 72, 63,
-204, 21,121, 62, 8, 7, 51, 63, 5,186,130, 62, 3,166, 49, 63,232, 57, 96, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 18,197,172, 62, 41,112,133, 62,132, 32,137, 62,181, 65,121, 62,248,125,142, 62, 30, 4, 80, 62,121,228,174, 62, 52, 79,109, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 3,166, 49, 63,232, 57, 96, 62, 8, 7, 51, 63, 5,186,130, 62,172, 36, 46, 63,
-208, 7,129, 62,112, 54, 48, 63, 20, 19, 96, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 76, 71,181, 62,204,200,131, 62,
- 18,197,172, 62, 41,112,133, 62,121,228,174, 62, 52, 79,109, 62,117,121,175, 62,183,185,106, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 37,163, 36, 63,191,168,140, 62,172, 36, 46, 63,208, 7,129, 62, 8, 7, 51, 63, 5,186,130, 62, 91, 60, 36, 63,
-221,222,150, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 18,197,172, 62, 41,112,133, 62, 76, 71,181, 62,204,200,131, 62,
- 6, 64,199, 62,105, 6,142, 62,150,245,199, 62, 85, 15,152, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,154, 88, 53, 63,
-240,146,221, 62,240,117, 49, 63,164,138,198, 62,224, 19, 69, 63, 24, 68,190, 62, 53, 64, 74, 63,171, 31,224, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 16, 0,250, 78,134, 62,148,213,186, 62,147,137,172, 62,148, 19,198, 62,128,172,162, 62, 17,169,221, 62,
-184,112,114, 62,248,169,220, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 54, 74,214, 62, 20, 55, 70, 63, 48,130,233, 62,
-188, 69, 83, 63, 23, 73,212, 62,152,239, 90, 63,104,119,194, 62,164,189, 82, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
- 84, 66,150, 62,114,154, 94, 63, 66, 1,153, 62,245,149, 81, 63, 38, 56,185, 62,102,110, 83, 63,230, 86,173, 62, 79, 66, 98, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,106,242, 66, 63,202, 94, 25, 63,190,100, 70, 63,222,234, 15, 63, 90,189, 77, 63,
-233, 88, 17, 63, 8,206, 74, 63, 88,118, 27, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 22, 32, 96, 62, 66, 60, 16, 63,
- 86, 87,125, 62,174, 5, 15, 63, 78,187,132, 62,180, 44, 24, 63, 26, 79,108, 62,124, 1, 26, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 8,206, 74, 63, 88,118, 27, 63, 90,189, 77, 63,233, 88, 17, 63, 72,139, 85, 63,103, 51, 19, 63,220,119, 85, 63,
- 77, 71, 31, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 64,199, 64, 62, 26, 40, 18, 63, 22, 32, 96, 62, 66, 60, 16, 63,
- 26, 79,108, 62,124, 1, 26, 63, 44,191, 67, 62, 90, 89, 30, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,220,119, 85, 63,
- 77, 71, 31, 63, 72,139, 85, 63,103, 51, 19, 63,228,213,100, 63, 72,156, 20, 63, 18, 82, 96, 63,128,133, 34, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,128, 0,226, 50, 1, 62,184, 68, 20, 63, 64,199, 64, 62, 26, 40, 18, 63, 44,191, 67, 62, 90, 89, 30, 63,
-194,204, 24, 62, 32,186, 34, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,242, 80, 56, 63, 44,244, 6, 63,195,173, 54, 63,
-239,106,252, 62,115,205, 60, 63,213,150,253, 62,166, 14, 64, 63, 81, 80, 4, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,
-190, 85,147, 62, 91,176,252, 62,202, 36,160, 62, 94, 51,252, 62, 61,208,156, 62,204, 16, 7, 63,160,121,140, 62, 74,197, 3, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,166, 14, 64, 63, 81, 80, 4, 63,115,205, 60, 63,213,150,253, 62, 68,103, 73, 63,
-233,248, 0, 63,248, 12, 75, 63, 64,206, 8, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,144, 59,115, 62,102,143,255, 62,
-190, 85,147, 62, 91,176,252, 62,160,121,140, 62, 74,197, 3, 63, 78,135,107, 62, 88,182, 7, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,248, 12, 75, 63, 64,206, 8, 63, 68,103, 73, 63,233,248, 0, 63,239,151, 82, 63, 86,223, 3, 63,181,227, 82, 63,
-189,102, 11, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 82, 17, 77, 62,162, 98, 2, 63,144, 59,115, 62,102,143,255, 62,
- 78,135,107, 62, 88,182, 7, 63,202, 98, 75, 62,108, 43, 10, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,181,227, 82, 63,
-189,102, 11, 63,239,151, 82, 63, 86,223, 3, 63, 92,224, 91, 63,239,144, 5, 63,161,148, 90, 63,146, 95, 13, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,178, 40, 38, 62, 14,230, 3, 63, 82, 17, 77, 62,162, 98, 2, 63,202, 98, 75, 62,108, 43, 10, 63,
- 10,162, 43, 62, 8, 50, 12, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120, 89,103, 63,105, 76, 2, 63,170,179,103, 63,
-142,105, 12, 63,161,148, 90, 63,146, 95, 13, 63, 92,224, 91, 63,239,144, 5, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 10,162, 43, 62, 8, 50, 12, 63,168, 41,231, 61,158, 83, 11, 63,116,128,234, 61,200, 39, 0, 63,178, 40, 38, 62, 14,230, 3, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,228,213,100, 63, 72,156, 20, 63, 72,139, 85, 63,103, 51, 19, 63,161,148, 90, 63,
-146, 95, 13, 63,170,179,103, 63,142,105, 12, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 10,162, 43, 62, 8, 50, 12, 63,
- 64,199, 64, 62, 26, 40, 18, 63,226, 50, 1, 62,184, 68, 20, 63,168, 41,231, 61,158, 83, 11, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 72,139, 85, 63,103, 51, 19, 63, 90,189, 77, 63,233, 88, 17, 63,181,227, 82, 63,189,102, 11, 63,161,148, 90, 63,
-146, 95, 13, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,202, 98, 75, 62,108, 43, 10, 63, 22, 32, 96, 62, 66, 60, 16, 63,
- 64,199, 64, 62, 26, 40, 18, 63, 10,162, 43, 62, 8, 50, 12, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 90,189, 77, 63,
-233, 88, 17, 63,190,100, 70, 63,222,234, 15, 63,248, 12, 75, 63, 64,206, 8, 63,181,227, 82, 63,189,102, 11, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 78,135,107, 62, 88,182, 7, 63, 86, 87,125, 62,174, 5, 15, 63, 22, 32, 96, 62, 66, 60, 16, 63,
-202, 98, 75, 62,108, 43, 10, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,190,100, 70, 63,222,234, 15, 63, 82,235, 60, 63,
- 27, 12, 12, 63,166, 14, 64, 63, 81, 80, 4, 63,248, 12, 75, 63, 64,206, 8, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-160,121,140, 62, 74,197, 3, 63, 78,230,145, 62,148,225, 11, 63, 86, 87,125, 62,174, 5, 15, 63, 78,135,107, 62, 88,182, 7, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 31,118, 57, 63,230, 79, 12, 63,242, 80, 56, 63, 44,244, 6, 63,166, 14, 64, 63,
- 81, 80, 4, 63, 82,235, 60, 63, 27, 12, 12, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0,160,121,140, 62, 74,197, 3, 63,
- 61,208,156, 62,204, 16, 7, 63, 0,199,152, 62, 13,133, 12, 63, 78,230,145, 62,148,225, 11, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 32, 0,195,240, 57, 63, 10,138, 23, 63, 82,235, 60, 63, 27, 12, 12, 63,190,100, 70, 63,222,234, 15, 63,106,242, 66, 63,
-202, 94, 25, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 86, 87,125, 62,174, 5, 15, 63, 78,230,145, 62,148,225, 11, 63,
-247, 7,150, 62, 96, 12, 23, 63, 78,187,132, 62,180, 44, 24, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,216,120, 13, 63,
-160, 81, 23, 63, 94,233, 23, 63,186, 60, 16, 63,220, 56, 28, 63, 66,250, 14, 63,109, 44, 39, 63,107,221, 19, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,157,161,214, 62,219,110, 15, 63,109,130,223, 62,118,165, 16, 63, 64, 27,245, 62,100,166, 23, 63,
-156, 26,192, 62, 31,139, 20, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,176, 29, 56, 63, 88,206, 20, 63, 31,118, 57, 63,
-230, 79, 12, 63, 82,235, 60, 63, 27, 12, 12, 63,195,240, 57, 63, 10,138, 23, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 78,230,145, 62,148,225, 11, 63, 0,199,152, 62, 13,133, 12, 63,239,211,153, 62,220,159, 20, 63,247, 7,150, 62, 96, 12, 23, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 48,148, 54, 63,220,206, 22, 63,176, 29, 56, 63, 88,206, 20, 63,195,240, 57, 63,
- 10,138, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,247, 7,150, 62, 96, 12, 23, 63,
-239,211,153, 62,220,159, 20, 63,108,106,156, 62,146,154, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,195,173, 54, 63,239,106,252, 62,154, 88, 53, 63,240,146,221, 62, 53, 64, 74, 63,171, 31,224, 62,115,205, 60, 63,
-213,150,253, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0,184,112,114, 62,248,169,220, 62,128,172,162, 62, 17,169,221, 62,
-202, 36,160, 62, 94, 51,252, 62,190, 85,147, 62, 91,176,252, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0, 53, 64, 74, 63,
-171, 31,224, 62,217,106, 81, 63, 14,214,232, 62, 68,103, 73, 63,233,248, 0, 63,115,205, 60, 63,213,150,253, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,144, 59,115, 62,102,143,255, 62, 88, 93, 84, 62, 50,105,228, 62,184,112,114, 62,248,169,220, 62,
-190, 85,147, 62, 91,176,252, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63, 14,214,232, 62,106,154, 93, 63,
-226, 26,233, 62,239,151, 82, 63, 86,223, 3, 63, 68,103, 73, 63,233,248, 0, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 82, 17, 77, 62,162, 98, 2, 63,128, 1, 33, 62, 70,210,226, 62, 88, 93, 84, 62, 50,105,228, 62,144, 59,115, 62,102,143,255, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120, 89,103, 63,105, 76, 2, 63, 92,224, 91, 63,239,144, 5, 63,239,151, 82, 63,
- 86,223, 3, 63,106,154, 93, 63,226, 26,233, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 82, 17, 77, 62,162, 98, 2, 63,
-178, 40, 38, 62, 14,230, 3, 63,116,128,234, 61,200, 39, 0, 63,128, 1, 33, 62, 70,210,226, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 8, 7, 51, 63, 5,186,130, 62,226, 77, 72, 63,204, 21,121, 62,154,254, 73, 63,178, 82,140, 62, 90,188, 56, 63,
-103,207,159, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,249,249,130, 62,246,175,137, 62,132, 32,137, 62,181, 65,121, 62,
- 18,197,172, 62, 41,112,133, 62,192, 5,161, 62,228, 40,159, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,224, 19, 69, 63,
- 24, 68,190, 62, 90,188, 56, 63,103,207,159, 62,154,254, 73, 63,178, 82,140, 62,216,217, 77, 63, 7,228,157, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,128, 0,249,249,130, 62,246,175,137, 62,192, 5,161, 62,228, 40,159, 62,250, 78,134, 62,148,213,186, 62,
-154,118,111, 62,120,108,152, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,240,117, 49, 63,164,138,198, 62,156,160, 41, 63,
- 56,175,182, 62, 90,188, 56, 63,103,207,159, 62,224, 19, 69, 63, 24, 68,190, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-192, 5,161, 62,228, 40,159, 62,202,212,188, 62,245,163,182, 62,147,137,172, 62,148, 19,198, 62,250, 78,134, 62,148,213,186, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,156,160, 41, 63, 56,175,182, 62,222,170, 33, 63, 74,126,158, 62, 91, 60, 36, 63,
-221,222,150, 62, 90,188, 56, 63,103,207,159, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,150,245,199, 62, 85, 15,152, 62,
- 72,234,204, 62, 56, 63,159, 62,202,212,188, 62,245,163,182, 62,192, 5,161, 62,228, 40,159, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 91, 60, 36, 63,221,222,150, 62, 8, 7, 51, 63, 5,186,130, 62, 90,188, 56, 63,103,207,159, 62, 0, 0,128, 63,
- 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,192, 5,161, 62,228, 40,159, 62, 18,197,172, 62, 41,112,133, 62,
-150,245,199, 62, 85, 15,152, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,156,160, 41, 63,
- 56,175,182, 62,102,212, 31, 63,144,192,164, 62,222,170, 33, 63, 74,126,158, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 72,234,204, 62, 56, 63,159, 62, 17,119,208, 62,201, 65,165, 62,202,212,188, 62,245,163,182, 62,
- 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,226, 44,245, 62,129,140, 96, 63, 42,135,227, 62,
- 58, 2,101, 63,136,168,219, 62, 30,236, 95, 63,135, 30,238, 62,200, 41, 90, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
-216,240,137, 62, 90,226, 93, 63,110,103,122, 62,236,255, 92, 63, 74, 84,120, 62,104, 32, 83, 63, 32,193,138, 62, 16, 3, 83, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0, 48,130,233, 62,188, 69, 83, 63,135, 30,238, 62,200, 41, 90, 63,136,168,219, 62,
- 30,236, 95, 63, 23, 73,212, 62,152,239, 90, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,216,240,137, 62, 90,226, 93, 63,
- 32,193,138, 62, 16, 3, 83, 63, 66, 1,153, 62,245,149, 81, 63, 84, 66,150, 62,114,154, 94, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0,240, 0,216,217, 77, 63, 7,228,157, 62,154,254, 73, 63,178, 82,140, 62, 33, 61, 90, 63,195,207,124, 62,160,225, 90, 63,
-110,121,137, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0, 98,207, 81, 62,109, 1,110, 62,249,249,130, 62,246,175,137, 62,
-154,118,111, 62,120,108,152, 62,166,125, 74, 62,252, 30,130, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,226, 77, 72, 63,
-204, 21,121, 62,202,106, 84, 63,137,185,113, 62, 33, 61, 90, 63,195,207,124, 62,154,254, 73, 63,178, 82,140, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 98,207, 81, 62,109, 1,110, 62,168,179,107, 62,139,127,103, 62,132, 32,137, 62,181, 65,121, 62,
-249,249,130, 62,246,175,137, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 23, 73,212, 62,152,239, 90, 63,136,168,219, 62,
- 30,236, 95, 63,100,192,205, 62, 46,238, 97, 63, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0,
-228, 94,141, 62, 86,234,100, 63,216,240,137, 62, 90,226, 93, 63, 84, 66,150, 62,114,154, 94, 63, 0, 0,128, 63, 0, 0,128, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0, 31,178,109, 63,224, 68,228, 62, 46,178,102, 63,100,184,232, 62,100,251,101, 63,
-238,198,227, 62, 94,173,107, 63,168,130,225, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 68,209,249, 61, 70,134,219, 62,
-120,216,242, 61,124, 40,225, 62, 28, 27,177, 61, 42,240,219, 62, 76,131,196, 61,196, 97,216, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 31,178,109, 63,224, 68,228, 62, 94,173,107, 63,168,130,225, 62,144,102,114, 63,198, 23,220, 62, 41, 76,116, 63,
-139,153,222, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 56,163,120, 61, 58,252,208, 62, 76,131,196, 61,196, 97,216, 62,
- 28, 27,177, 61, 42,240,219, 62,128,183, 73, 61, 84,108,213, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 41, 76,116, 63,
-139,153,222, 62,144,102,114, 63,198, 23,220, 62, 84, 87,117, 63,221,255,211, 62,183,115,119, 63,140, 49,215, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,144, 29, 55, 61,207,183,194, 62, 56,163,120, 61, 58,252,208, 62,128,183, 73, 61, 84,108,213, 62,
-224,111,231, 60,100,142,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,183,115,119, 63,140, 49,215, 62, 84, 87,117, 63,
-221,255,211, 62,150, 20,118, 63, 60,110,196, 62, 49, 12,122, 63,246, 8,197, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 96,197,103, 61, 15,206,170, 62,144, 29, 55, 61,207,183,194, 62,224,111,231, 60,100,142,198, 62,240, 54, 16, 61,120, 4,167, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 49, 12,122, 63,246, 8,197, 62,150, 20,118, 63, 60,110,196, 62, 17,155,108, 63,
-130,201,178, 62, 84,190,110, 63,223, 77,172, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,148,252,246, 61,164,116,160, 62,
- 96,197,103, 61, 15,206,170, 62,240, 54, 16, 61,120, 4,167, 62, 8, 66,246, 61, 28,161,152, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 84,190,110, 63,223, 77,172, 62, 17,155,108, 63,130,201,178, 62, 21,180, 92, 63,202, 95,173, 62,151, 5, 90, 63,
-138, 61,167, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,144,216, 54, 62, 35, 76,163, 62,148,252,246, 61,164,116,160, 62,
- 8, 66,246, 61, 28,161,152, 62,194,251, 66, 62,163,102,158, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 17,155,108, 63,
-130,201,178, 62,198,132,109, 63,182,157,186, 62, 68, 32, 97, 63,192, 12,178, 62, 21,180, 92, 63,202, 95,173, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 48,185, 36, 62, 16, 7,166, 62, 40, 91,221, 61, 4,194,167, 62,148,252,246, 61,164,116,160, 62,
-144,216, 54, 62, 35, 76,163, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,150, 20,118, 63, 60,110,196, 62, 84,225,115, 63,
-208, 85,198, 62,198,132,109, 63,182,157,186, 62, 17,155,108, 63,130,201,178, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 40, 91,221, 61, 4,194,167, 62,244,221,134, 61,121,164,175, 62, 96,197,103, 61, 15,206,170, 62,148,252,246, 61,164,116,160, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 84, 87,117, 63,221,255,211, 62,222, 48,116, 63,169, 8,209, 62, 84,225,115, 63,
-208, 85,198, 62,150, 20,118, 63, 60,110,196, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,244,221,134, 61,121,164,175, 62,
-160,108, 93, 61, 17,207,190, 62,144, 29, 55, 61,207,183,194, 62, 96,197,103, 61, 15,206,170, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,144,102,114, 63,198, 23,220, 62,174,151,113, 63, 26,229,214, 62,222, 48,116, 63,169, 8,209, 62, 84, 87,117, 63,
-221,255,211, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,160,108, 93, 61, 17,207,190, 62, 12,155,135, 61,166, 39,201, 62,
- 56,163,120, 61, 58,252,208, 62,144, 29, 55, 61,207,183,194, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 94,173,107, 63,
-168,130,225, 62,228,239,107, 63, 62, 59,218, 62,174,151,113, 63, 26,229,214, 62,144,102,114, 63,198, 23,220, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 12,155,135, 61,166, 39,201, 62,128, 47,195, 61, 6, 11,207, 62, 76,131,196, 61,196, 97,216, 62,
- 56,163,120, 61, 58,252,208, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 94,173,107, 63,168,130,225, 62,100,251,101, 63,
-238,198,227, 62, 71,205,102, 63,132, 94,219, 62,228,239,107, 63, 62, 59,218, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-192,157,244, 61,157,137,209, 62, 68,209,249, 61, 70,134,219, 62, 76,131,196, 61,196, 97,216, 62,128, 47,195, 61, 6, 11,207, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,224, 19, 69, 63, 24, 68,190, 62,216,217, 77, 63, 7,228,157, 62,236, 35, 85, 63,
-164,201,181, 62, 56, 92, 78, 63,177,114,188, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 32, 0,122, 91, 80, 62, 72, 18,174, 62,
-154,118,111, 62,120,108,152, 62,250, 78,134, 62,148,213,186, 62,162,163,104, 62,150,180,182, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 32, 0,216,217, 77, 63, 7,228,157, 62,151, 5, 90, 63,138, 61,167, 62, 21,180, 92, 63,202, 95,173, 62,236, 35, 85, 63,
-164,201,181, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,144,216, 54, 62, 35, 76,163, 62,194,251, 66, 62,163,102,158, 62,
-154,118,111, 62,120,108,152, 62,122, 91, 80, 62, 72, 18,174, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 53, 64, 74, 63,
-171, 31,224, 62,224, 19, 69, 63, 24, 68,190, 62, 56, 92, 78, 63,177,114,188, 62,217,106, 81, 63, 14,214,232, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,162,163,104, 62,150,180,182, 62,250, 78,134, 62,148,213,186, 62,184,112,114, 62,248,169,220, 62,
- 88, 93, 84, 62, 50,105,228, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,106,154, 93, 63,226, 26,233, 62,196,229, 94, 63,
-128,195,224, 62,100,251,101, 63,238,198,227, 62, 46,178,102, 63,100,184,232, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 68,209,249, 61, 70,134,219, 62,108,187, 28, 62, 48, 86,217, 62,128, 1, 33, 62, 70,210,226, 62,120,216,242, 61,124, 40,225, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 21,180, 92, 63,202, 95,173, 62, 68, 32, 97, 63,192, 12,178, 62, 9,215, 94, 63,
- 4, 54,186, 62,236, 35, 85, 63,164,201,181, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 60,122, 41, 62, 16, 58,175, 62,
- 48,185, 36, 62, 16, 7,166, 62,144,216, 54, 62, 35, 76,163, 62,122, 91, 80, 62, 72, 18,174, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,230, 78, 95, 63, 4,233,189, 62, 32,188, 86, 63, 44, 62,190, 62,236, 35, 85, 63,164,201,181, 62, 9,215, 94, 63,
- 4, 54,186, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,122, 91, 80, 62, 72, 18,174, 62, 78,118, 71, 62, 27, 49,182, 62,
- 52,225, 37, 62, 40, 12,179, 62, 60,122, 41, 62, 16, 58,175, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 70,166, 92, 63,
- 0,166,197, 62, 32,188, 86, 63, 44, 62,190, 62,230, 78, 95, 63, 4,233,189, 62,226, 13, 95, 63, 37,152,194, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 52,225, 37, 62, 40, 12,179, 62, 78,118, 71, 62, 27, 49,182, 62,142,143, 45, 62,237, 37,188, 62,
-106,230, 36, 62,222, 27,184, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,248, 90, 95, 63,100,122,207, 62,108,249, 90, 63,
- 58,199,212, 62, 32,188, 86, 63, 44, 62,190, 62, 70,166, 92, 63, 0,166,197, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 78,118, 71, 62, 27, 49,182, 62,110, 56, 48, 62,230, 43,205, 62,174,250, 30, 62, 26, 12,198, 62,142,143, 45, 62,237, 37,188, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,196,229, 94, 63,128,195,224, 62,108,249, 90, 63, 58,199,212, 62,248, 90, 95, 63,
-100,122,207, 62, 92,104, 98, 63,197,136,215, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,174,250, 30, 62, 26, 12,198, 62,
-110, 56, 48, 62,230, 43,205, 62,108,187, 28, 62, 48, 86,217, 62,212, 59, 15, 62,224, 50,206, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,100,251,101, 63,238,198,227, 62,196,229, 94, 63,128,195,224, 62, 92,104, 98, 63,197,136,215, 62, 71,205,102, 63,
-132, 94,219, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,212, 59, 15, 62,224, 50,206, 62,108,187, 28, 62, 48, 86,217, 62,
- 68,209,249, 61, 70,134,219, 62,192,157,244, 61,157,137,209, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63,
- 14,214,232, 62,108,249, 90, 63, 58,199,212, 62,196,229, 94, 63,128,195,224, 62,106,154, 93, 63,226, 26,233, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,108,187, 28, 62, 48, 86,217, 62,110, 56, 48, 62,230, 43,205, 62, 88, 93, 84, 62, 50,105,228, 62,
-128, 1, 33, 62, 70,210,226, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63, 14,214,232, 62, 56, 92, 78, 63,
-177,114,188, 62, 32,188, 86, 63, 44, 62,190, 62,108,249, 90, 63, 58,199,212, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 78,118, 71, 62, 27, 49,182, 62,162,163,104, 62,150,180,182, 62, 88, 93, 84, 62, 50,105,228, 62,110, 56, 48, 62,230, 43,205, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 56, 92, 78, 63,177,114,188, 62,236, 35, 85, 63,164,201,181, 62, 32,188, 86, 63,
- 44, 62,190, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 78,118, 71, 62, 27, 49,182, 62,
-122, 91, 80, 62, 72, 18,174, 62,162,163,104, 62,150,180,182, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 71,205,102, 63,132, 94,219, 62, 92,104, 98, 63,197,136,215, 62,182,109,100, 63,149,255,210, 62, 54, 86,104, 63,
-209,241,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,160,107, 7, 62, 34,103,200, 62,212, 59, 15, 62,224, 50,206, 62,
-192,157,244, 61,157,137,209, 62, 8, 2,232, 61, 20,214,203, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 92,104, 98, 63,
-197,136,215, 62,248, 90, 95, 63,100,122,207, 62,112,206, 97, 63, 10,202,204, 62,182,109,100, 63,149,255,210, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 64, 68, 21, 62,107, 55,194, 62,174,250, 30, 62, 26, 12,198, 62,212, 59, 15, 62,224, 50,206, 62,
-160,107, 7, 62, 34,103,200, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,248, 90, 95, 63,100,122,207, 62, 70,166, 92, 63,
- 0,166,197, 62, 82,241, 94, 63, 40,103,198, 62,112,206, 97, 63, 10,202,204, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 20,225, 35, 62, 39, 50,188, 62,142,143, 45, 62,237, 37,188, 62,174,250, 30, 62, 26, 12,198, 62, 64, 68, 21, 62,107, 55,194, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 70,166, 92, 63, 0,166,197, 62,226, 13, 95, 63, 37,152,194, 62,118, 1, 97, 63,
- 47,226,195, 62, 82,241, 94, 63, 40,103,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 12, 43, 28, 62,186,177,184, 62,
-106,230, 36, 62,222, 27,184, 62,142,143, 45, 62,237, 37,188, 62, 20,225, 35, 62, 39, 50,188, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,226, 13, 95, 63, 37,152,194, 62,230, 78, 95, 63, 4,233,189, 62, 51,113, 97, 63, 92,151,189, 62,118, 1, 97, 63,
- 47,226,195, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,104, 67, 29, 62, 58,199,177, 62, 52,225, 37, 62, 40, 12,179, 62,
-106,230, 36, 62,222, 27,184, 62, 12, 43, 28, 62,186,177,184, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,230, 78, 95, 63,
- 4,233,189, 62, 9,215, 94, 63, 4, 54,186, 62, 96, 69, 96, 63,152,133,187, 62, 51,113, 97, 63, 92,151,189, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,140, 14, 35, 62, 33, 19,176, 62, 60,122, 41, 62, 16, 58,175, 62, 52,225, 37, 62, 40, 12,179, 62,
-104, 67, 29, 62, 58,199,177, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 9,215, 94, 63, 4, 54,186, 62, 68, 32, 97, 63,
-192, 12,178, 62,112, 91, 98, 63,149,128,182, 62, 96, 69, 96, 63,152,133,187, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-228,107, 29, 62, 95,230,169, 62, 48,185, 36, 62, 16, 7,166, 62, 60,122, 41, 62, 16, 58,175, 62,140, 14, 35, 62, 33, 19,176, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,228,239,107, 63, 62, 59,218, 62, 71,205,102, 63,132, 94,219, 62, 54, 86,104, 63,
-209,241,214, 62, 34, 27,109, 63,155,254,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 8, 2,232, 61, 20,214,203, 62,
-192,157,244, 61,157,137,209, 62,128, 47,195, 61, 6, 11,207, 62, 36,174,184, 61,216,130,202, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,174,151,113, 63, 26,229,214, 62,228,239,107, 63, 62, 59,218, 62, 34, 27,109, 63,155,254,214, 62, 69,134,113, 63,
-156, 82,212, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 36,174,184, 61,216,130,202, 62,128, 47,195, 61, 6, 11,207, 62,
- 12,155,135, 61,166, 39,201, 62, 60,114,138, 61, 28, 61,197, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,222, 48,116, 63,
-169, 8,209, 62,174,151,113, 63, 26,229,214, 62, 69,134,113, 63,156, 82,212, 62, 42,143,114, 63, 24,168,207, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 60,114,138, 61, 28, 61,197, 62, 12,155,135, 61,166, 39,201, 62,160,108, 93, 61, 17,207,190, 62,
-184, 85,132, 61, 22,211,189, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 84,225,115, 63,208, 85,198, 62,222, 48,116, 63,
-169, 8,209, 62, 42,143,114, 63, 24,168,207, 62,203,125,114, 63, 96,114,200, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-184, 85,132, 61, 22,211,189, 62,160,108, 93, 61, 17,207,190, 62,244,221,134, 61,121,164,175, 62, 16,152,145, 61, 84,214,179, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,198,132,109, 63,182,157,186, 62, 84,225,115, 63,208, 85,198, 62,203,125,114, 63,
- 96,114,200, 62,177,192,109, 63,152,240,190, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 16,152,145, 61, 84,214,179, 62,
-244,221,134, 61,121,164,175, 62, 40, 91,221, 61, 4,194,167, 62, 64,226,208, 61,232, 58,172, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 68, 32, 97, 63,192, 12,178, 62,198,132,109, 63,182,157,186, 62,177,192,109, 63,152,240,190, 62,112, 91, 98, 63,
-149,128,182, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 64,226,208, 61,232, 58,172, 62, 40, 91,221, 61, 4,194,167, 62,
- 48,185, 36, 62, 16, 7,166, 62,228,107, 29, 62, 95,230,169, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,118, 1, 97, 63,
- 47,226,195, 62, 51,113, 97, 63, 92,151,189, 62,215,139,102, 63, 15,109,193, 62, 54, 47,100, 63,186,115,198, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 92,169, 5, 62,168,115,179, 62,104, 67, 29, 62, 58,199,177, 62, 12, 43, 28, 62,186,177,184, 62,
- 50, 97, 13, 62, 50, 42,186, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 54, 47,100, 63,186,115,198, 62,215,139,102, 63,
- 15,109,193, 62,174,241,105, 63,204, 8,200, 62, 71,233,103, 63,178, 42,204, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-228,171,229, 61, 41, 42,185, 62, 92,169, 5, 62,168,115,179, 62, 50, 97, 13, 62, 50, 42,186, 62, 92,248,243, 61, 96, 22,191, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 71,233,103, 63,178, 42,204, 62,174,241,105, 63,204, 8,200, 62, 51, 37,108, 63,
-249, 3,205, 62, 56,212,106, 63, 96,238,208, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120, 99,202, 61,192, 49,190, 62,
-228,171,229, 61, 41, 42,185, 62, 92,248,243, 61, 96, 22,191, 62,160,209,211, 61,108,159,195, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 56,212,106, 63, 96,238,208, 62, 51, 37,108, 63,249, 3,205, 62, 56, 73,110, 63,186,119,206, 62, 46,191,109, 63,
- 92, 64,210, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,244,234,179, 61,240,219,190, 62,120, 99,202, 61,192, 49,190, 62,
-160,209,211, 61,108,159,195, 62,196,129,181, 61,204, 14,196, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 34, 27,109, 63,
-155,254,214, 62, 54, 86,104, 63,209,241,214, 62, 56,212,106, 63, 96,238,208, 62, 46,191,109, 63, 92, 64,210, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,160,209,211, 61,108,159,195, 62, 8, 2,232, 61, 20,214,203, 62, 36,174,184, 61,216,130,202, 62,
-196,129,181, 61,204, 14,196, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,182,109,100, 63,149,255,210, 62, 71,233,103, 63,
-178, 42,204, 62, 56,212,106, 63, 96,238,208, 62, 54, 86,104, 63,209,241,214, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-160,209,211, 61,108,159,195, 62, 92,248,243, 61, 96, 22,191, 62,160,107, 7, 62, 34,103,200, 62, 8, 2,232, 61, 20,214,203, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,182,109,100, 63,149,255,210, 62,112,206, 97, 63, 10,202,204, 62, 54, 47,100, 63,
-186,115,198, 62, 71,233,103, 63,178, 42,204, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 50, 97, 13, 62, 50, 42,186, 62,
- 64, 68, 21, 62,107, 55,194, 62,160,107, 7, 62, 34,103,200, 62, 92,248,243, 61, 96, 22,191, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0,118, 1, 97, 63, 47,226,195, 62, 54, 47,100, 63,186,115,198, 62,112,206, 97, 63, 10,202,204, 62, 82,241, 94, 63,
- 40,103,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 64, 68, 21, 62,107, 55,194, 62, 50, 97, 13, 62, 50, 42,186, 62,
- 12, 43, 28, 62,186,177,184, 62, 20,225, 35, 62, 39, 50,188, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 96, 69, 96, 63,
-152,133,187, 62,112, 91, 98, 63,149,128,182, 62,215,139,102, 63, 15,109,193, 62, 51,113, 97, 63, 92,151,189, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 92,169, 5, 62,168,115,179, 62,228,107, 29, 62, 95,230,169, 62,140, 14, 35, 62, 33, 19,176, 62,
-104, 67, 29, 62, 58,199,177, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,177,192,109, 63,152,240,190, 62,174,241,105, 63,
-204, 8,200, 62,215,139,102, 63, 15,109,193, 62,112, 91, 98, 63,149,128,182, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 92,169, 5, 62,168,115,179, 62,228,171,229, 61, 41, 42,185, 62, 64,226,208, 61,232, 58,172, 62,228,107, 29, 62, 95,230,169, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,203,125,114, 63, 96,114,200, 62, 51, 37,108, 63,249, 3,205, 62,174,241,105, 63,
-204, 8,200, 62,177,192,109, 63,152,240,190, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,228,171,229, 61, 41, 42,185, 62,
-120, 99,202, 61,192, 49,190, 62, 16,152,145, 61, 84,214,179, 62, 64,226,208, 61,232, 58,172, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 42,143,114, 63, 24,168,207, 62, 56, 73,110, 63,186,119,206, 62, 51, 37,108, 63,249, 3,205, 62,203,125,114, 63,
- 96,114,200, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120, 99,202, 61,192, 49,190, 62,244,234,179, 61,240,219,190, 62,
-184, 85,132, 61, 22,211,189, 62, 16,152,145, 61, 84,214,179, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 69,134,113, 63,
-156, 82,212, 62, 46,191,109, 63, 92, 64,210, 62, 56, 73,110, 63,186,119,206, 62, 42,143,114, 63, 24,168,207, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0,244,234,179, 61,240,219,190, 62,196,129,181, 61,204, 14,196, 62, 60,114,138, 61, 28, 61,197, 62,
-184, 85,132, 61, 22,211,189, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 34, 27,109, 63,155,254,214, 62, 46,191,109, 63,
- 92, 64,210, 62, 69,134,113, 63,156, 82,212, 62, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
- 60,114,138, 61, 28, 61,197, 62,196,129,181, 61,204, 14,196, 62, 36,174,184, 61,216,130,202, 62, 0, 0,128, 63, 0, 0,128, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 84,190,110, 63,223, 77,172, 62,151, 5, 90, 63,138, 61,167, 62, 22, 25, 96, 63,
-246,248,149, 62,162,176,122, 63,145,215,161, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0, 64,234, 54, 62,146,219,140, 62,
-194,251, 66, 62,163,102,158, 62, 8, 66,246, 61, 28,161,152, 62,172,241,189, 61, 13,107,132, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0, 0, 0, 49, 12,122, 63,246, 8,197, 62, 84,190,110, 63,223, 77,172, 62,162,176,122, 63,145,215,161, 62,188,255,126, 63,
-115,248,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0,172,241,189, 61, 13,107,132, 62, 8, 66,246, 61, 28,161,152, 62,
-240, 54, 16, 61,120, 4,167, 62, 0, 8,163, 58, 39, 69,162, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0,183,115,119, 63,
-140, 49,215, 62, 49, 12,122, 63,246, 8,197, 62,188,255,126, 63,115,248,198, 62, 47, 6,122, 63,248,157,216, 62, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0, 0, 0, 0, 8,163, 58, 39, 69,162, 62,240, 54, 16, 61,120, 4,167, 62,224,111,231, 60,100,142,198, 62,
-224,248, 14, 60, 70,141,198, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0, 41, 76,116, 63,139,153,222, 62,183,115,119, 63,
-140, 49,215, 62, 47, 6,122, 63,248,157,216, 62,134, 98,119, 63,204, 37,225, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,
-224,248, 14, 60, 70,141,198, 62,224,111,231, 60,100,142,198, 62,128,183, 73, 61, 84,108,213, 62, 80,210,229, 60, 32,239,218, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0, 31,178,109, 63,224, 68,228, 62, 41, 76,116, 63,139,153,222, 62,134, 98,119, 63,
-204, 37,225, 62, 46,185,115, 63, 90,157,234, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,128, 0, 80,210,229, 60, 32,239,218, 62,
-128,183, 73, 61, 84,108,213, 62, 28, 27,177, 61, 42,240,219, 62, 56,103,122, 61, 30, 10,230, 62, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0,128, 0, 46,178,102, 63,100,184,232, 62, 31,178,109, 63,224, 68,228, 62, 46,185,115, 63, 90,157,234, 62,244,134,106, 63,
-234, 64,246, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 56,103,122, 61, 30, 10,230, 62, 28, 27,177, 61, 42,240,219, 62,
-120,216,242, 61,124, 40,225, 62,212,222,209, 61,238,123,240, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,235,188, 5, 63,
-252, 74, 98, 63,200,111,248, 62,197,105,112, 63, 0, 49,231, 62,118,190,107, 63,150, 57,255, 62, 53, 14, 96, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0, 80, 99, 95, 62,149,194, 94, 63, 58, 8, 62, 62, 10,154, 89, 63, 40, 24, 92, 62, 14, 82, 74, 63,
-112, 11,112, 62,157,133, 78, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,235,188, 5, 63,252, 74, 98, 63,136,139, 12, 63,
-138,233,101, 63,116, 45, 6, 63,112,245,113, 63,200,111,248, 62,197,105,112, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,
- 68,219, 36, 62,249,186, 81, 63, 28,254, 65, 62, 20, 55, 70, 63, 40, 24, 92, 62, 14, 82, 74, 63, 58, 8, 62, 62, 10,154, 89, 63,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,136,139, 12, 63,138,233,101, 63, 5,130, 12, 63,149,216,108, 63,116, 45, 6, 63,
-112,245,113, 63, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,112, 0, 68,219, 36, 62,249,186, 81, 63,
- 76, 1, 42, 62, 39,178, 73, 63, 28,254, 65, 62, 20, 55, 70, 63, 0, 0,128, 63, 0, 0,128, 63, 56, 82,179, 3, 1, 0, 5, 0,
- 0, 0,112, 0,120, 89,103, 63,105, 76, 2, 63,106,154, 93, 63,226, 26,233, 62, 46,178,102, 63,100,184,232, 62,244,134,106, 63,
-234, 64,246, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,120,216,242, 61,124, 40,225, 62,128, 1, 33, 62, 70,210,226, 62,
-116,128,234, 61,200, 39, 0, 63,212,222,209, 61,238,123,240, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 0, 0,226, 44,245, 62,
-129,140, 96, 63,150, 57,255, 62, 53, 14, 96, 63, 0, 49,231, 62,118,190,107, 63, 42,135,227, 62, 58, 2,101, 63, 56, 82,179, 3,
- 1, 0, 5, 0, 0, 0,240, 0, 80, 99, 95, 62,149,194, 94, 63,112, 11,112, 62,157,133, 78, 63, 74, 84,120, 62,104, 32, 83, 63,
-110,103,122, 62,236,255, 92, 63, 56, 82,179, 3, 1, 0, 5, 0, 0, 0,240, 0,216,217, 77, 63, 7,228,157, 62,160,225, 90, 63,
-110,121,137, 62, 22, 25, 96, 63,246,248,149, 62,151, 5, 90, 63,138, 61,167, 62, 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 16, 0,
- 64,234, 54, 62,146,219,140, 62,166,125, 74, 62,252, 30,130, 62,154,118,111, 62,120,108,152, 62,194,251, 66, 62,163,102,158, 62,
- 56, 82,179, 3, 1, 0, 5, 0, 0, 0, 64, 0, 68, 65, 84, 65, 64, 31, 0, 0, 0, 65,182, 3, 59, 0, 0, 0,208, 7, 0, 0,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,199, 52, 3, 0, 0, 0, 0, 5, 0, 0, 0,
+ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,
+120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,238, 52, 3,
+ 0, 0, 0, 0, 6, 0, 0, 0, 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, 67,111,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,168, 76, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 39, 0, 0, 56,199, 52, 3, 0, 0, 0, 0, 48, 0, 0, 0,244, 1, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+ 43, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 1, 0, 0, 0, 46, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 1, 43, 0, 0, 0,
+ 2, 0, 0, 0, 4, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 3, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0,
+ 0, 0, 0, 1, 2, 0, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 9, 0, 0, 0,
+ 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1,
+ 9, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 1, 10, 0, 0, 0, 12, 0, 0, 0, 14, 0, 0, 0,
+ 8, 0, 0, 0, 0, 0, 0, 1,112, 0, 0, 0, 13, 0, 0, 0, 11, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 1, 8, 0, 0, 0,
+ 14, 0, 0, 0, 15, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 1, 16, 0, 0, 0,112, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 0, 1, 14, 0, 0, 0, 19, 0, 0, 0, 17, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 1, 18, 0, 0, 0, 20, 0, 0, 0,
+112, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 1, 12, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 1,
+ 20, 0, 0, 0, 22, 0, 0, 0, 13, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 1, 21, 0, 0, 0, 23, 0, 0, 0, 25, 0, 0, 0,
+ 19, 0, 0, 0, 0, 0, 0, 1, 26, 0, 0, 0, 24, 0, 0, 0, 22, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 1, 19, 0, 0, 0,
+ 25, 0, 0, 0, 27, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 1, 28, 0, 0, 0, 26, 0, 0, 0, 20, 0, 0, 0, 18, 0, 0, 0,
+ 0, 0, 0, 1, 25, 0, 0, 0, 31, 0, 0, 0, 29, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 1, 30, 0, 0, 0, 32, 0, 0, 0,
+ 26, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 1, 23, 0, 0, 0, 33, 0, 0, 0, 31, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 1,
+ 32, 0, 0, 0, 34, 0, 0, 0, 24, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 1, 33, 0, 0, 0, 35, 0, 0, 0, 37, 0, 0, 0,
+ 31, 0, 0, 0, 0, 0, 0, 1, 38, 0, 0, 0, 36, 0, 0, 0, 34, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 1, 31, 0, 0, 0,
+ 37, 0, 0, 0, 39, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 38, 0, 0, 0, 32, 0, 0, 0, 30, 0, 0, 0,
+ 0, 0, 0, 1, 37, 0, 0, 0, 43, 0, 0, 0, 41, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 1, 42, 0, 0, 0, 44, 0, 0, 0,
+ 38, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 1, 35, 0, 0, 0, 45, 0, 0, 0, 43, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1,
+ 44, 0, 0, 0, 46, 0, 0, 0, 36, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 1, 45, 0, 0, 0, 35, 0, 0, 0, 49, 0, 0, 0,
+ 47, 0, 0, 0, 0, 0, 0, 1, 50, 0, 0, 0, 36, 0, 0, 0, 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 1, 35, 0, 0, 0,
+ 33, 0, 0, 0, 51, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 1, 52, 0, 0, 0, 34, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0,
+ 0, 0, 0, 1, 33, 0, 0, 0, 23, 0, 0, 0, 53, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 1, 54, 0, 0, 0, 24, 0, 0, 0,
+ 34, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 1, 23, 0, 0, 0, 21, 0, 0, 0, 55, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 1,
+ 56, 0, 0, 0, 22, 0, 0, 0, 24, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 1, 21, 0, 0, 0, 12, 0, 0, 0, 57, 0, 0, 0,
+ 55, 0, 0, 0, 0, 0, 0, 1, 58, 0, 0, 0, 13, 0, 0, 0, 22, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 1, 12, 0, 0, 0,
+ 10, 0, 0, 0, 61, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 1, 62, 0, 0, 0, 11, 0, 0, 0, 13, 0, 0, 0, 58, 0, 0, 0,
+ 0, 0, 0, 1, 10, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 1, 64, 0, 0, 0, 1, 0, 0, 0,
+ 11, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 45, 0, 0, 0, 47, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 1,
+ 48, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 63, 0, 0, 0, 47, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 48, 0, 0, 0, 64, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 61, 0, 0, 0,
+ 63, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 60, 0, 0, 0, 64, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 59, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 62, 0, 0, 0, 58, 0, 0, 0,
+ 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 55, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 58, 0, 0, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 53, 0, 0, 0, 55, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 56, 0, 0, 0, 54, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0,
+ 51, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 54, 0, 0, 0, 52, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 59, 0, 0, 0, 49, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 52, 0, 0, 0, 50, 0, 0, 0,
+ 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 59, 0, 0, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ 50, 0, 0, 0, 48, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 87, 0, 0, 0,171, 0, 0, 0,173, 0, 0, 0,
+ 89, 0, 0, 0, 0, 0, 0, 1,173, 0, 0, 0,172, 0, 0, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 1, 85, 0, 0, 0,
+169, 0, 0, 0,171, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 1,172, 0, 0, 0,170, 0, 0, 0, 86, 0, 0, 0, 88, 0, 0, 0,
+ 0, 0, 0, 1, 83, 0, 0, 0,167, 0, 0, 0,169, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 1,170, 0, 0, 0,168, 0, 0, 0,
+ 84, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 1, 81, 0, 0, 0,165, 0, 0, 0,167, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 1,
+168, 0, 0, 0,166, 0, 0, 0, 82, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0,163, 0, 0, 0,165, 0, 0, 0,
+ 81, 0, 0, 0, 0, 0, 0, 1,166, 0, 0, 0,164, 0, 0, 0, 80, 0, 0, 0, 82, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0,
+ 90, 0, 0, 0,143, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 1,144, 0, 0, 0, 91, 0, 0, 0, 78, 0, 0, 0,162, 0, 0, 0,
+ 0, 0, 0, 1, 90, 0, 0, 0, 92, 0, 0, 0,145, 0, 0, 0,143, 0, 0, 0, 0, 0, 0, 1,146, 0, 0, 0, 93, 0, 0, 0,
+ 91, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 1, 92, 0, 0, 0, 94, 0, 0, 0,147, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 1,
+148, 0, 0, 0, 95, 0, 0, 0, 93, 0, 0, 0,146, 0, 0, 0, 0, 0, 0, 1, 94, 0, 0, 0, 96, 0, 0, 0,149, 0, 0, 0,
+147, 0, 0, 0, 0, 0, 0, 1,150, 0, 0, 0, 97, 0, 0, 0, 95, 0, 0, 0,148, 0, 0, 0, 0, 0, 0, 1, 96, 0, 0, 0,
+ 98, 0, 0, 0,151, 0, 0, 0,149, 0, 0, 0, 0, 0, 0, 1,152, 0, 0, 0, 99, 0, 0, 0, 97, 0, 0, 0,150, 0, 0, 0,
+ 0, 0, 0, 1, 98, 0, 0, 0,100, 0, 0, 0,153, 0, 0, 0,151, 0, 0, 0, 0, 0, 0, 1,154, 0, 0, 0,101, 0, 0, 0,
+ 99, 0, 0, 0,152, 0, 0, 0, 0, 0, 0, 1,100, 0, 0, 0,102, 0, 0, 0,155, 0, 0, 0,153, 0, 0, 0, 0, 0, 0, 1,
+156, 0, 0, 0,103, 0, 0, 0,101, 0, 0, 0,154, 0, 0, 0, 0, 0, 0, 1,102, 0, 0, 0,104, 0, 0, 0,157, 0, 0, 0,
+155, 0, 0, 0, 0, 0, 0, 1,158, 0, 0, 0,105, 0, 0, 0,103, 0, 0, 0,156, 0, 0, 0, 0, 0, 0, 1,104, 0, 0, 0,
+106, 0, 0, 0,159, 0, 0, 0,157, 0, 0, 0, 0, 0, 0, 1,160, 0, 0, 0,107, 0, 0, 0,105, 0, 0, 0,158, 0, 0, 0,
+ 0, 0, 0, 1,106, 0, 0, 0, 65, 0, 0, 0, 66, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 1, 66, 0, 0, 0, 65, 0, 0, 0,
+107, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0,125, 0, 0, 0,157, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 1,
+158, 0, 0, 0,126, 0, 0, 0,109, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 1,125, 0, 0, 0,176, 0, 0, 0,155, 0, 0, 0,
+157, 0, 0, 0, 0, 0, 0, 1,156, 0, 0, 0,177, 0, 0, 0,126, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 1,123, 0, 0, 0,
+153, 0, 0, 0,155, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 1,156, 0, 0, 0,154, 0, 0, 0,124, 0, 0, 0,177, 0, 0, 0,
+ 0, 0, 0, 1,121, 0, 0, 0,151, 0, 0, 0,153, 0, 0, 0,123, 0, 0, 0, 0, 0, 0, 1,154, 0, 0, 0,152, 0, 0, 0,
+122, 0, 0, 0,124, 0, 0, 0, 0, 0, 0, 1,119, 0, 0, 0,149, 0, 0, 0,151, 0, 0, 0,121, 0, 0, 0, 0, 0, 0, 1,
+152, 0, 0, 0,150, 0, 0, 0,120, 0, 0, 0,122, 0, 0, 0, 0, 0, 0, 1,117, 0, 0, 0,147, 0, 0, 0,149, 0, 0, 0,
+119, 0, 0, 0, 0, 0, 0, 1,150, 0, 0, 0,148, 0, 0, 0,118, 0, 0, 0,120, 0, 0, 0, 0, 0, 0, 1,115, 0, 0, 0,
+145, 0, 0, 0,147, 0, 0, 0,117, 0, 0, 0, 0, 0, 0, 1,148, 0, 0, 0,146, 0, 0, 0,116, 0, 0, 0,118, 0, 0, 0,
+ 0, 0, 0, 1,113, 0, 0, 0,143, 0, 0, 0,145, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 1,146, 0, 0, 0,144, 0, 0, 0,
+114, 0, 0, 0,116, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0,161, 0, 0, 0,143, 0, 0, 0,113, 0, 0, 0, 0, 0, 0, 1,
+144, 0, 0, 0,162, 0, 0, 0,112, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0,178, 0, 0, 0,174, 0, 0, 0,
+161, 0, 0, 0, 0, 0, 0, 1,174, 0, 0, 0,179, 0, 0, 0,112, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0,
+159, 0, 0, 0, 66, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 1, 66, 0, 0, 0,160, 0, 0, 0,109, 0, 0, 0,111, 0, 0, 0,
+ 0, 0, 0, 1,110, 0, 0, 0, 66, 0, 0, 0,175, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 1,175, 0, 0, 0, 66, 0, 0, 0,
+111, 0, 0, 0,181, 0, 0, 0, 0, 0, 0, 1,174, 0, 0, 0,178, 0, 0, 0,180, 0, 0, 0,175, 0, 0, 0, 0, 0, 0, 1,
+181, 0, 0, 0,179, 0, 0, 0,174, 0, 0, 0,175, 0, 0, 0, 0, 0, 0, 1,132, 0, 0, 0,134, 0, 0, 0,173, 0, 0, 0,
+171, 0, 0, 0, 0, 0, 0, 1,173, 0, 0, 0,134, 0, 0, 0,133, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 1,130, 0, 0, 0,
+132, 0, 0, 0,171, 0, 0, 0,169, 0, 0, 0, 0, 0, 0, 1,172, 0, 0, 0,133, 0, 0, 0,131, 0, 0, 0,170, 0, 0, 0,
+ 0, 0, 0, 1,128, 0, 0, 0,130, 0, 0, 0,169, 0, 0, 0,167, 0, 0, 0, 0, 0, 0, 1,170, 0, 0, 0,131, 0, 0, 0,
+129, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 1,163, 0, 0, 0,184, 0, 0, 0,182, 0, 0, 0,165, 0, 0, 0, 0, 0, 0, 1,
+183, 0, 0, 0,185, 0, 0, 0,164, 0, 0, 0,166, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,167, 0, 0, 0,165, 0, 0, 0,
+182, 0, 0, 0, 0, 0, 0, 1,166, 0, 0, 0,168, 0, 0, 0,129, 0, 0, 0,183, 0, 0, 0, 0, 0, 0, 1,141, 0, 0, 0,
+187, 0, 0, 0,186, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 1,186, 0, 0, 0,187, 0, 0, 0,142, 0, 0, 0,185, 0, 0, 0,
+ 0, 0, 0, 1,182, 0, 0, 0,184, 0, 0, 0,186, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,186, 0, 0, 0,185, 0, 0, 0,
+183, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,127, 0, 0, 0,128, 0, 0, 0,182, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,
+183, 0, 0, 0,129, 0, 0, 0,127, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 1,139, 0, 0, 0,190, 0, 0, 0,188, 0, 0, 0,
+141, 0, 0, 0, 0, 0, 0, 1,189, 0, 0, 0,191, 0, 0, 0,140, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 1,137, 0, 0, 0,
+192, 0, 0, 0,190, 0, 0, 0,139, 0, 0, 0, 0, 0, 0, 1,191, 0, 0, 0,193, 0, 0, 0,138, 0, 0, 0,140, 0, 0, 0,
+ 0, 0, 0, 1,136, 0, 0, 0,194, 0, 0, 0,192, 0, 0, 0,137, 0, 0, 0, 0, 0, 0, 1,193, 0, 0, 0,195, 0, 0, 0,
+136, 0, 0, 0,138, 0, 0, 0, 0, 0, 0, 1,135, 0, 0, 0, 69, 0, 0, 0,194, 0, 0, 0,136, 0, 0, 0, 0, 0, 0, 1,
+195, 0, 0, 0, 69, 0, 0, 0,135, 0, 0, 0,136, 0, 0, 0, 0, 0, 0, 1,187, 0, 0, 0,141, 0, 0, 0,188, 0, 0, 0,
+ 68, 0, 0, 0, 0, 0, 0, 1,189, 0, 0, 0,142, 0, 0, 0,187, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 1, 68, 0, 0, 0,
+188, 0, 0, 0,203, 0, 0, 0,205, 0, 0, 0, 0, 0, 0, 1,204, 0, 0, 0,189, 0, 0, 0, 68, 0, 0, 0,205, 0, 0, 0,
+ 0, 0, 0, 1, 69, 0, 0, 0,196, 0, 0, 0,197, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 1,198, 0, 0, 0,196, 0, 0, 0,
+ 69, 0, 0, 0,195, 0, 0, 0, 0, 0, 0, 1,194, 0, 0, 0,197, 0, 0, 0,199, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 1,
+200, 0, 0, 0,198, 0, 0, 0,195, 0, 0, 0,193, 0, 0, 0, 0, 0, 0, 1,192, 0, 0, 0,199, 0, 0, 0,201, 0, 0, 0,
+190, 0, 0, 0, 0, 0, 0, 1,202, 0, 0, 0,200, 0, 0, 0,193, 0, 0, 0,191, 0, 0, 0, 0, 0, 0, 1,190, 0, 0, 0,
+201, 0, 0, 0,203, 0, 0, 0,188, 0, 0, 0, 0, 0, 0, 1,204, 0, 0, 0,202, 0, 0, 0,191, 0, 0, 0,189, 0, 0, 0,
+ 0, 0, 0, 1,196, 0, 0, 0,201, 0, 0, 0,199, 0, 0, 0,197, 0, 0, 0, 0, 0, 0, 1,200, 0, 0, 0,202, 0, 0, 0,
+196, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 1,196, 0, 0, 0,205, 0, 0, 0,203, 0, 0, 0,201, 0, 0, 0, 0, 0, 0, 1,
+204, 0, 0, 0,205, 0, 0, 0,196, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 1,136, 0, 0, 0,137, 0, 0, 0,161, 0, 0, 0,
+174, 0, 0, 0, 0, 0, 0, 1,162, 0, 0, 0,138, 0, 0, 0,136, 0, 0, 0,174, 0, 0, 0, 0, 0, 0, 1,137, 0, 0, 0,
+139, 0, 0, 0,208, 0, 0, 0,161, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,140, 0, 0, 0,138, 0, 0, 0,162, 0, 0, 0,
+ 0, 0, 0, 1,139, 0, 0, 0,141, 0, 0, 0,210, 0, 0, 0,208, 0, 0, 0, 0, 0, 0, 1,211, 0, 0, 0,142, 0, 0, 0,
+140, 0, 0, 0,209, 0, 0, 0, 0, 0, 0, 1,141, 0, 0, 0,184, 0, 0, 0,163, 0, 0, 0,210, 0, 0, 0, 0, 0, 0, 1,
+164, 0, 0, 0,185, 0, 0, 0,142, 0, 0, 0,211, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0,206, 0, 0, 0,210, 0, 0, 0,
+163, 0, 0, 0, 0, 0, 0, 1,211, 0, 0, 0,207, 0, 0, 0, 80, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 1,206, 0, 0, 0,
+212, 0, 0, 0,208, 0, 0, 0,210, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,213, 0, 0, 0,207, 0, 0, 0,211, 0, 0, 0,
+ 0, 0, 0, 1, 77, 0, 0, 0,161, 0, 0, 0,208, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 1,209, 0, 0, 0,162, 0, 0, 0,
+ 78, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,127, 0, 0, 0, 70, 0, 0, 0,219, 0, 0, 0, 0, 0, 0, 1,
+ 70, 0, 0, 0,127, 0, 0, 0,129, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 1,130, 0, 0, 0,128, 0, 0, 0,219, 0, 0, 0,
+217, 0, 0, 0, 0, 0, 0, 1,220, 0, 0, 0,129, 0, 0, 0,131, 0, 0, 0,218, 0, 0, 0, 0, 0, 0, 1,132, 0, 0, 0,
+130, 0, 0, 0,217, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 1,218, 0, 0, 0,131, 0, 0, 0,133, 0, 0, 0,216, 0, 0, 0,
+ 0, 0, 0, 1,134, 0, 0, 0,132, 0, 0, 0,215, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 1,216, 0, 0, 0,133, 0, 0, 0,
+134, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 1,214, 0, 0, 0,215, 0, 0, 0,226, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 1,
+227, 0, 0, 0,216, 0, 0, 0,214, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 1,215, 0, 0, 0,217, 0, 0, 0,224, 0, 0, 0,
+226, 0, 0, 0, 0, 0, 0, 1,225, 0, 0, 0,218, 0, 0, 0,216, 0, 0, 0,227, 0, 0, 0, 0, 0, 0, 1,217, 0, 0, 0,
+219, 0, 0, 0,222, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 1,223, 0, 0, 0,220, 0, 0, 0,218, 0, 0, 0,225, 0, 0, 0,
+ 0, 0, 0, 1,219, 0, 0, 0, 70, 0, 0, 0,221, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 1,221, 0, 0, 0, 70, 0, 0, 0,
+220, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 1,221, 0, 0, 0,228, 0, 0, 0,226, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 1,
+227, 0, 0, 0,228, 0, 0, 0,221, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 1,222, 0, 0, 0,226, 0, 0, 0,224, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1,225, 0, 0, 0,227, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,180, 0, 0, 0,
+178, 0, 0, 0,231, 0, 0, 0,229, 0, 0, 0, 0, 0, 0, 1,232, 0, 0, 0,179, 0, 0, 0,181, 0, 0, 0,230, 0, 0, 0,
+ 0, 0, 0, 1,110, 0, 0, 0,180, 0, 0, 0,229, 0, 0, 0,251, 0, 0, 0, 0, 0, 0, 1,230, 0, 0, 0,181, 0, 0, 0,
+111, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 1,108, 0, 0, 0,110, 0, 0, 0,251, 0, 0, 0,253, 0, 0, 0, 0, 0, 0, 1,
+252, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,254, 0, 0, 0, 0, 0, 0, 1,178, 0, 0, 0, 14, 0, 0, 0,249, 0, 0, 0,
+231, 0, 0, 0, 0, 0, 0, 1,250, 0, 0, 0,112, 0, 0, 0,179, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 0,
+113, 0, 0, 0,247, 0, 0, 0,249, 0, 0, 0, 0, 0, 0, 1,248, 0, 0, 0,114, 0, 0, 0,112, 0, 0, 0,250, 0, 0, 0,
+ 0, 0, 0, 1,113, 0, 0, 0,115, 0, 0, 0,245, 0, 0, 0,247, 0, 0, 0, 0, 0, 0, 1,246, 0, 0, 0,116, 0, 0, 0,
+114, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 1,115, 0, 0, 0,117, 0, 0, 0,243, 0, 0, 0,245, 0, 0, 0, 0, 0, 0, 1,
+244, 0, 0, 0,118, 0, 0, 0,116, 0, 0, 0,246, 0, 0, 0, 0, 0, 0, 1,117, 0, 0, 0,119, 0, 0, 0,241, 0, 0, 0,
+243, 0, 0, 0, 0, 0, 0, 1,242, 0, 0, 0,120, 0, 0, 0,118, 0, 0, 0,244, 0, 0, 0, 0, 0, 0, 1,119, 0, 0, 0,
+121, 0, 0, 0,239, 0, 0, 0,241, 0, 0, 0, 0, 0, 0, 1,240, 0, 0, 0,122, 0, 0, 0,120, 0, 0, 0,242, 0, 0, 0,
+ 0, 0, 0, 1,121, 0, 0, 0,123, 0, 0, 0,237, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 1,238, 0, 0, 0,124, 0, 0, 0,
+122, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 1,123, 0, 0, 0,176, 0, 0, 0,233, 0, 0, 0,237, 0, 0, 0, 0, 0, 0, 1,
+234, 0, 0, 0,177, 0, 0, 0,124, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 1,176, 0, 0, 0,125, 0, 0, 0,235, 0, 0, 0,
+233, 0, 0, 0, 0, 0, 0, 1,236, 0, 0, 0,126, 0, 0, 0,177, 0, 0, 0,234, 0, 0, 0, 0, 0, 0, 1,125, 0, 0, 0,
+108, 0, 0, 0,253, 0, 0, 0,235, 0, 0, 0, 0, 0, 0, 1,254, 0, 0, 0,109, 0, 0, 0,126, 0, 0, 0,236, 0, 0, 0,
+ 0, 0, 0, 1,235, 0, 0, 0,253, 0, 0, 0,255, 0, 0, 0, 17, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,254, 0, 0, 0,
+236, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 1,233, 0, 0, 0,235, 0, 0, 0, 17, 1, 0, 0, 19, 1, 0, 0, 0, 0, 0, 1,
+ 18, 1, 0, 0,236, 0, 0, 0,234, 0, 0, 0, 20, 1, 0, 0, 0, 0, 0, 1,237, 0, 0, 0,233, 0, 0, 0, 19, 1, 0, 0,
+ 15, 1, 0, 0, 0, 0, 0, 1, 20, 1, 0, 0,234, 0, 0, 0,238, 0, 0, 0, 16, 1, 0, 0, 0, 0, 0, 1,239, 0, 0, 0,
+237, 0, 0, 0, 15, 1, 0, 0, 13, 1, 0, 0, 0, 0, 0, 1, 16, 1, 0, 0,238, 0, 0, 0,240, 0, 0, 0, 14, 1, 0, 0,
+ 0, 0, 0, 1,241, 0, 0, 0,239, 0, 0, 0, 13, 1, 0, 0, 11, 1, 0, 0, 0, 0, 0, 1, 14, 1, 0, 0,240, 0, 0, 0,
+242, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 1,243, 0, 0, 0,241, 0, 0, 0, 11, 1, 0, 0, 9, 1, 0, 0, 0, 0, 0, 1,
+ 12, 1, 0, 0,242, 0, 0, 0,244, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 1,245, 0, 0, 0,243, 0, 0, 0, 9, 1, 0, 0,
+ 7, 1, 0, 0, 0, 0, 0, 1, 10, 1, 0, 0,244, 0, 0, 0,246, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 1,247, 0, 0, 0,
+245, 0, 0, 0, 7, 1, 0, 0, 5, 1, 0, 0, 0, 0, 0, 1, 8, 1, 0, 0,246, 0, 0, 0,248, 0, 0, 0, 6, 1, 0, 0,
+ 0, 0, 0, 1,249, 0, 0, 0,247, 0, 0, 0, 5, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 1, 6, 1, 0, 0,248, 0, 0, 0,
+250, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 1,231, 0, 0, 0,249, 0, 0, 0, 3, 1, 0, 0, 21, 1, 0, 0, 0, 0, 0, 1,
+ 4, 1, 0, 0,250, 0, 0, 0,232, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 1,253, 0, 0, 0,251, 0, 0, 0, 1, 1, 0, 0,
+255, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0,252, 0, 0, 0,254, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,251, 0, 0, 0,
+229, 0, 0, 0, 23, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 24, 1, 0, 0,230, 0, 0, 0,252, 0, 0, 0, 2, 1, 0, 0,
+ 0, 0, 0, 1,229, 0, 0, 0,231, 0, 0, 0, 21, 1, 0, 0, 23, 1, 0, 0, 0, 0, 0, 1, 22, 1, 0, 0,232, 0, 0, 0,
+230, 0, 0, 0, 24, 1, 0, 0, 0, 0, 0, 1, 65, 0, 0, 0,106, 0, 0, 0, 25, 1, 0, 0, 71, 0, 0, 0, 0, 0, 0, 1,
+ 26, 1, 0, 0,107, 0, 0, 0, 65, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 1,106, 0, 0, 0,104, 0, 0, 0, 27, 1, 0, 0,
+ 25, 1, 0, 0, 0, 0, 0, 1, 28, 1, 0, 0,105, 0, 0, 0,107, 0, 0, 0, 26, 1, 0, 0, 0, 0, 0, 1,104, 0, 0, 0,
+102, 0, 0, 0, 29, 1, 0, 0, 27, 1, 0, 0, 0, 0, 0, 1, 30, 1, 0, 0,103, 0, 0, 0,105, 0, 0, 0, 28, 1, 0, 0,
+ 0, 0, 0, 1,102, 0, 0, 0,100, 0, 0, 0, 31, 1, 0, 0, 29, 1, 0, 0, 0, 0, 0, 1, 32, 1, 0, 0,101, 0, 0, 0,
+103, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 1,100, 0, 0, 0, 98, 0, 0, 0, 33, 1, 0, 0, 31, 1, 0, 0, 0, 0, 0, 1,
+ 34, 1, 0, 0, 99, 0, 0, 0,101, 0, 0, 0, 32, 1, 0, 0, 0, 0, 0, 1, 98, 0, 0, 0, 96, 0, 0, 0, 35, 1, 0, 0,
+ 33, 1, 0, 0, 0, 0, 0, 1, 36, 1, 0, 0, 97, 0, 0, 0, 99, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 1, 96, 0, 0, 0,
+ 94, 0, 0, 0, 37, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 1, 38, 1, 0, 0, 95, 0, 0, 0, 97, 0, 0, 0, 36, 1, 0, 0,
+ 0, 0, 0, 1, 94, 0, 0, 0, 92, 0, 0, 0, 39, 1, 0, 0, 37, 1, 0, 0, 0, 0, 0, 1, 40, 1, 0, 0, 93, 0, 0, 0,
+ 95, 0, 0, 0, 38, 1, 0, 0, 0, 0, 0, 1, 92, 0, 0, 0, 90, 0, 0, 0, 41, 1, 0, 0, 39, 1, 0, 0, 0, 0, 0, 1,
+ 42, 1, 0, 0, 91, 0, 0, 0, 93, 0, 0, 0, 40, 1, 0, 0, 0, 0, 0, 1, 49, 1, 0, 0, 50, 1, 0, 0, 69, 1, 0, 0,
+ 79, 1, 0, 0, 0, 0, 0, 1, 70, 1, 0, 0, 50, 1, 0, 0, 49, 1, 0, 0, 80, 1, 0, 0, 0, 0, 0, 1, 48, 1, 0, 0,
+ 49, 1, 0, 0, 79, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 1, 80, 1, 0, 0, 49, 1, 0, 0, 48, 1, 0, 0, 78, 1, 0, 0,
+ 0, 0, 0, 1, 47, 1, 0, 0, 48, 1, 0, 0, 77, 1, 0, 0, 81, 1, 0, 0, 0, 0, 0, 1, 78, 1, 0, 0, 48, 1, 0, 0,
+ 47, 1, 0, 0, 82, 1, 0, 0, 0, 0, 0, 1, 87, 0, 0, 0, 89, 0, 0, 0, 47, 1, 0, 0, 81, 1, 0, 0, 0, 0, 0, 1,
+ 47, 1, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 1, 85, 0, 0, 0, 87, 0, 0, 0, 81, 1, 0, 0,
+ 75, 1, 0, 0, 0, 0, 0, 1, 82, 1, 0, 0, 88, 0, 0, 0, 86, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 1, 83, 0, 0, 0,
+ 85, 0, 0, 0, 75, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 1, 76, 1, 0, 0, 86, 0, 0, 0, 84, 0, 0, 0, 72, 1, 0, 0,
+ 0, 0, 0, 1, 81, 0, 0, 0, 83, 0, 0, 0, 71, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 1, 72, 1, 0, 0, 84, 0, 0, 0,
+ 82, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 1, 71, 1, 0, 0, 77, 1, 0, 0, 79, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 1,
+ 80, 1, 0, 0, 78, 1, 0, 0, 72, 1, 0, 0, 74, 1, 0, 0, 0, 0, 0, 1, 71, 1, 0, 0, 75, 1, 0, 0, 81, 1, 0, 0,
+ 77, 1, 0, 0, 0, 0, 0, 1, 82, 1, 0, 0, 76, 1, 0, 0, 72, 1, 0, 0, 78, 1, 0, 0, 0, 0, 0, 1, 67, 1, 0, 0,
+ 73, 1, 0, 0, 79, 1, 0, 0, 69, 1, 0, 0, 0, 0, 0, 1, 80, 1, 0, 0, 74, 1, 0, 0, 68, 1, 0, 0, 70, 1, 0, 0,
+ 0, 0, 0, 1, 79, 0, 0, 0, 81, 0, 0, 0, 73, 1, 0, 0, 67, 1, 0, 0, 0, 0, 0, 1, 74, 1, 0, 0, 82, 0, 0, 0,
+ 80, 0, 0, 0, 68, 1, 0, 0, 0, 0, 0, 1,206, 0, 0, 0, 83, 1, 0, 0, 85, 1, 0, 0,212, 0, 0, 0, 0, 0, 0, 1,
+ 86, 1, 0, 0, 84, 1, 0, 0,207, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 1, 79, 0, 0, 0, 67, 1, 0, 0, 83, 1, 0, 0,
+206, 0, 0, 0, 0, 0, 0, 1, 84, 1, 0, 0, 68, 1, 0, 0, 80, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 1, 77, 0, 0, 0,
+212, 0, 0, 0, 85, 1, 0, 0, 87, 1, 0, 0, 0, 0, 0, 1, 86, 1, 0, 0,213, 0, 0, 0, 78, 0, 0, 0, 88, 1, 0, 0,
+ 0, 0, 0, 1, 77, 0, 0, 0, 87, 1, 0, 0, 41, 1, 0, 0, 90, 0, 0, 0, 0, 0, 0, 1, 42, 1, 0, 0, 88, 1, 0, 0,
+ 78, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 1, 75, 0, 0, 0, 65, 1, 0, 0, 93, 1, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1,
+ 94, 1, 0, 0, 66, 1, 0, 0, 75, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1, 45, 1, 0, 0, 93, 1, 0, 0, 91, 1, 0, 0,
+ 76, 0, 0, 0, 0, 0, 0, 1, 92, 1, 0, 0, 94, 1, 0, 0, 45, 1, 0, 0, 76, 0, 0, 0, 0, 0, 0, 1, 76, 0, 0, 0,
+ 91, 1, 0, 0, 89, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 1, 90, 1, 0, 0, 92, 1, 0, 0, 76, 0, 0, 0, 46, 1, 0, 0,
+ 0, 0, 0, 1, 46, 1, 0, 0, 89, 1, 0, 0, 69, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 1, 70, 1, 0, 0, 90, 1, 0, 0,
+ 46, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 1, 67, 1, 0, 0, 69, 1, 0, 0, 89, 1, 0, 0, 83, 1, 0, 0, 0, 0, 0, 1,
+ 90, 1, 0, 0, 70, 1, 0, 0, 68, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 1, 37, 1, 0, 0, 39, 1, 0, 0, 59, 1, 0, 0,
+ 51, 1, 0, 0, 0, 0, 0, 1, 60, 1, 0, 0, 40, 1, 0, 0, 38, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 1, 74, 0, 0, 0,
+ 57, 1, 0, 0, 65, 1, 0, 0, 75, 0, 0, 0, 0, 0, 0, 1, 66, 1, 0, 0, 58, 1, 0, 0, 74, 0, 0, 0, 75, 0, 0, 0,
+ 0, 0, 0, 1, 43, 1, 0, 0, 99, 1, 0, 0, 97, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 1, 98, 1, 0, 0,100, 1, 0, 0,
+ 43, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 1, 44, 1, 0, 0, 97, 1, 0, 0, 95, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 1,
+ 96, 1, 0, 0, 98, 1, 0, 0, 44, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 1, 73, 0, 0, 0, 95, 1, 0, 0, 57, 1, 0, 0,
+ 74, 0, 0, 0, 0, 0, 0, 1, 58, 1, 0, 0, 96, 1, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 1, 33, 1, 0, 0,
+ 35, 1, 0, 0,103, 1, 0, 0,105, 1, 0, 0, 0, 0, 0, 1,104, 1, 0, 0, 36, 1, 0, 0, 34, 1, 0, 0,106, 1, 0, 0,
+ 0, 0, 0, 1,105, 1, 0, 0,103, 1, 0, 0,109, 1, 0, 0,107, 1, 0, 0, 0, 0, 0, 1,110, 1, 0, 0,104, 1, 0, 0,
+106, 1, 0, 0,108, 1, 0, 0, 0, 0, 0, 1,107, 1, 0, 0,109, 1, 0, 0,111, 1, 0, 0,113, 1, 0, 0, 0, 0, 0, 1,
+112, 1, 0, 0,110, 1, 0, 0,108, 1, 0, 0,114, 1, 0, 0, 0, 0, 0, 1,113, 1, 0, 0,111, 1, 0, 0,117, 1, 0, 0,
+115, 1, 0, 0, 0, 0, 0, 1,118, 1, 0, 0,112, 1, 0, 0,114, 1, 0, 0,116, 1, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,
+119, 1, 0, 0,115, 1, 0, 0,117, 1, 0, 0, 0, 0, 0, 1,116, 1, 0, 0,120, 1, 0, 0, 56, 1, 0, 0,118, 1, 0, 0,
+ 0, 0, 0, 1, 57, 1, 0, 0, 95, 1, 0, 0,115, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 1,116, 1, 0, 0, 96, 1, 0, 0,
+ 58, 1, 0, 0,120, 1, 0, 0, 0, 0, 0, 1, 95, 1, 0, 0, 97, 1, 0, 0,113, 1, 0, 0,115, 1, 0, 0, 0, 0, 0, 1,
+114, 1, 0, 0, 98, 1, 0, 0, 96, 1, 0, 0,116, 1, 0, 0, 0, 0, 0, 1, 97, 1, 0, 0, 99, 1, 0, 0,107, 1, 0, 0,
+113, 1, 0, 0, 0, 0, 0, 1,108, 1, 0, 0,100, 1, 0, 0, 98, 1, 0, 0,114, 1, 0, 0, 0, 0, 0, 1, 99, 1, 0, 0,
+101, 1, 0, 0,105, 1, 0, 0,107, 1, 0, 0, 0, 0, 0, 1,106, 1, 0, 0,102, 1, 0, 0,100, 1, 0, 0,108, 1, 0, 0,
+ 0, 0, 0, 1, 31, 1, 0, 0, 33, 1, 0, 0,105, 1, 0, 0,101, 1, 0, 0, 0, 0, 0, 1,106, 1, 0, 0, 34, 1, 0, 0,
+ 32, 1, 0, 0,102, 1, 0, 0, 0, 0, 0, 1, 72, 0, 0, 0,101, 1, 0, 0, 99, 1, 0, 0, 43, 1, 0, 0, 0, 0, 0, 1,
+100, 1, 0, 0,102, 1, 0, 0, 72, 0, 0, 0, 43, 1, 0, 0, 0, 0, 0, 1, 25, 1, 0, 0, 27, 1, 0, 0, 29, 1, 0, 0,
+ 31, 1, 0, 0, 0, 0, 0, 1, 30, 1, 0, 0, 28, 1, 0, 0, 26, 1, 0, 0, 32, 1, 0, 0, 0, 0, 0, 1, 25, 1, 0, 0,
+ 31, 1, 0, 0,101, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 1,102, 1, 0, 0, 32, 1, 0, 0, 26, 1, 0, 0, 72, 0, 0, 0,
+ 0, 0, 0, 1, 71, 0, 0, 0, 25, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 72, 0, 0, 0, 26, 1, 0, 0,
+ 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 35, 1, 0, 0, 37, 1, 0, 0, 51, 1, 0, 0,103, 1, 0, 0, 0, 0, 0, 1,
+ 52, 1, 0, 0, 38, 1, 0, 0, 36, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 1, 51, 1, 0, 0, 53, 1, 0, 0,109, 1, 0, 0,
+103, 1, 0, 0, 0, 0, 0, 1,110, 1, 0, 0, 54, 1, 0, 0, 52, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 1, 53, 1, 0, 0,
+123, 1, 0, 0,111, 1, 0, 0,109, 1, 0, 0, 0, 0, 0, 1,112, 1, 0, 0,124, 1, 0, 0, 54, 1, 0, 0,110, 1, 0, 0,
+ 0, 0, 0, 1, 55, 1, 0, 0,117, 1, 0, 0,111, 1, 0, 0,123, 1, 0, 0, 0, 0, 0, 1,112, 1, 0, 0,118, 1, 0, 0,
+ 56, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 1, 89, 1, 0, 0, 91, 1, 0, 0,127, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 1,
+128, 1, 0, 0, 92, 1, 0, 0, 90, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 1, 59, 1, 0, 0,125, 1, 0, 0,127, 1, 0, 0,
+ 61, 1, 0, 0, 0, 0, 0, 1,128, 1, 0, 0,126, 1, 0, 0, 60, 1, 0, 0, 62, 1, 0, 0, 0, 0, 0, 1, 39, 1, 0, 0,
+ 41, 1, 0, 0,125, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1,126, 1, 0, 0, 42, 1, 0, 0, 40, 1, 0, 0, 60, 1, 0, 0,
+ 0, 0, 0, 1, 41, 1, 0, 0, 85, 1, 0, 0, 83, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 1, 84, 1, 0, 0, 86, 1, 0, 0,
+ 42, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 1, 83, 1, 0, 0, 89, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+126, 1, 0, 0, 90, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 1, 0, 0, 87, 1, 0, 0, 85, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1, 86, 1, 0, 0, 88, 1, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,
+ 63, 1, 0, 0,121, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0, 64, 1, 0, 0, 56, 1, 0, 0,120, 1, 0, 0,
+ 0, 0, 0, 1, 57, 1, 0, 0,119, 1, 0, 0,121, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0,120, 1, 0, 0,
+ 58, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 1, 61, 1, 0, 0,127, 1, 0, 0,121, 1, 0, 0, 63, 1, 0, 0, 0, 0, 0, 1,
+122, 1, 0, 0,128, 1, 0, 0, 62, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 1, 91, 1, 0, 0, 93, 1, 0, 0,121, 1, 0, 0,
+127, 1, 0, 0, 0, 0, 0, 1,122, 1, 0, 0, 94, 1, 0, 0, 92, 1, 0, 0,128, 1, 0, 0, 0, 0, 0, 1, 65, 1, 0, 0,
+121, 1, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 94, 1, 0, 0,122, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1,141, 1, 0, 0,129, 1, 0, 0,155, 1, 0, 0,143, 1, 0, 0, 0, 0, 0, 1,156, 1, 0, 0,130, 1, 0, 0,
+142, 1, 0, 0,144, 1, 0, 0, 0, 0, 0, 1,141, 1, 0, 0,143, 1, 0, 0,145, 1, 0, 0,139, 1, 0, 0, 0, 0, 0, 1,
+146, 1, 0, 0,144, 1, 0, 0,142, 1, 0, 0,140, 1, 0, 0, 0, 0, 0, 1,139, 1, 0, 0,145, 1, 0, 0,147, 1, 0, 0,
+137, 1, 0, 0, 0, 0, 0, 1,148, 1, 0, 0,146, 1, 0, 0,140, 1, 0, 0,138, 1, 0, 0, 0, 0, 0, 1,137, 1, 0, 0,
+147, 1, 0, 0,149, 1, 0, 0,135, 1, 0, 0, 0, 0, 0, 1,150, 1, 0, 0,148, 1, 0, 0,138, 1, 0, 0,136, 1, 0, 0,
+ 0, 0, 0, 1,135, 1, 0, 0,149, 1, 0, 0,151, 1, 0, 0,133, 1, 0, 0, 0, 0, 0, 1,152, 1, 0, 0,150, 1, 0, 0,
+136, 1, 0, 0,134, 1, 0, 0, 0, 0, 0, 1,133, 1, 0, 0,151, 1, 0, 0,153, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 1,
+154, 1, 0, 0,152, 1, 0, 0,134, 1, 0, 0,132, 1, 0, 0, 0, 0, 0, 1,151, 1, 0, 0,161, 1, 0, 0,159, 1, 0, 0,
+153, 1, 0, 0, 0, 0, 0, 1,160, 1, 0, 0,162, 1, 0, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 0, 1,149, 1, 0, 0,
+163, 1, 0, 0,161, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 1,162, 1, 0, 0,164, 1, 0, 0,150, 1, 0, 0,152, 1, 0, 0,
+ 0, 0, 0, 1,147, 1, 0, 0,165, 1, 0, 0,163, 1, 0, 0,149, 1, 0, 0, 0, 0, 0, 1,164, 1, 0, 0,166, 1, 0, 0,
+148, 1, 0, 0,150, 1, 0, 0, 0, 0, 0, 1,145, 1, 0, 0,167, 1, 0, 0,165, 1, 0, 0,147, 1, 0, 0, 0, 0, 0, 1,
+166, 1, 0, 0,168, 1, 0, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 1,143, 1, 0, 0,169, 1, 0, 0,167, 1, 0, 0,
+145, 1, 0, 0, 0, 0, 0, 1,168, 1, 0, 0,170, 1, 0, 0,144, 1, 0, 0,146, 1, 0, 0, 0, 0, 0, 1,143, 1, 0, 0,
+155, 1, 0, 0,157, 1, 0, 0,169, 1, 0, 0, 0, 0, 0, 1,158, 1, 0, 0,156, 1, 0, 0,144, 1, 0, 0,170, 1, 0, 0,
+ 0, 0, 0, 1, 59, 1, 0, 0, 61, 1, 0, 0,185, 1, 0, 0,183, 1, 0, 0, 0, 0, 0, 1,186, 1, 0, 0, 62, 1, 0, 0,
+ 60, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 1, 61, 1, 0, 0,131, 1, 0, 0,153, 1, 0, 0,185, 1, 0, 0, 0, 0, 0, 1,
+154, 1, 0, 0,132, 1, 0, 0, 62, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 1, 51, 1, 0, 0, 59, 1, 0, 0,183, 1, 0, 0,
+ 53, 1, 0, 0, 0, 0, 0, 1,184, 1, 0, 0, 60, 1, 0, 0, 52, 1, 0, 0, 54, 1, 0, 0, 0, 0, 0, 1,123, 1, 0, 0,
+171, 1, 0, 0,155, 1, 0, 0,129, 1, 0, 0, 0, 0, 0, 1,156, 1, 0, 0,172, 1, 0, 0,124, 1, 0, 0,130, 1, 0, 0,
+ 0, 0, 0, 1,153, 1, 0, 0,159, 1, 0, 0,181, 1, 0, 0,185, 1, 0, 0, 0, 0, 0, 1,182, 1, 0, 0,160, 1, 0, 0,
+154, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 1,179, 1, 0, 0,187, 1, 0, 0,185, 1, 0, 0,181, 1, 0, 0, 0, 0, 0, 1,
+186, 1, 0, 0,188, 1, 0, 0,180, 1, 0, 0,182, 1, 0, 0, 0, 0, 0, 1,175, 1, 0, 0,187, 1, 0, 0,179, 1, 0, 0,
+177, 1, 0, 0, 0, 0, 0, 1,180, 1, 0, 0,188, 1, 0, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 0, 1,173, 1, 0, 0,
+189, 1, 0, 0,187, 1, 0, 0,175, 1, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,190, 1, 0, 0,174, 1, 0, 0,176, 1, 0, 0,
+ 0, 0, 0, 1,171, 1, 0, 0,189, 1, 0, 0,173, 1, 0, 0,191, 1, 0, 0, 0, 0, 0, 1,174, 1, 0, 0,190, 1, 0, 0,
+172, 1, 0, 0,192, 1, 0, 0, 0, 0, 0, 1,155, 1, 0, 0,171, 1, 0, 0,191, 1, 0, 0,157, 1, 0, 0, 0, 0, 0, 1,
+192, 1, 0, 0,172, 1, 0, 0,156, 1, 0, 0,158, 1, 0, 0, 0, 0, 0, 1, 53, 1, 0, 0,189, 1, 0, 0,171, 1, 0, 0,
+123, 1, 0, 0, 0, 0, 0, 1,172, 1, 0, 0,190, 1, 0, 0, 54, 1, 0, 0,124, 1, 0, 0, 0, 0, 0, 1, 53, 1, 0, 0,
+183, 1, 0, 0,187, 1, 0, 0,189, 1, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,184, 1, 0, 0, 54, 1, 0, 0,190, 1, 0, 0,
+ 0, 0, 0, 1,183, 1, 0, 0,185, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,188, 1, 0, 0,186, 1, 0, 0,
+184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,157, 1, 0, 0,191, 1, 0, 0,193, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 1,
+194, 1, 0, 0,192, 1, 0, 0,158, 1, 0, 0,218, 1, 0, 0, 0, 0, 0, 1,191, 1, 0, 0,173, 1, 0, 0,203, 1, 0, 0,
+193, 1, 0, 0, 0, 0, 0, 1,204, 1, 0, 0,174, 1, 0, 0,192, 1, 0, 0,194, 1, 0, 0, 0, 0, 0, 1,173, 1, 0, 0,
+175, 1, 0, 0,201, 1, 0, 0,203, 1, 0, 0, 0, 0, 0, 1,202, 1, 0, 0,176, 1, 0, 0,174, 1, 0, 0,204, 1, 0, 0,
+ 0, 0, 0, 1,175, 1, 0, 0,177, 1, 0, 0,199, 1, 0, 0,201, 1, 0, 0, 0, 0, 0, 1,200, 1, 0, 0,178, 1, 0, 0,
+176, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 1,177, 1, 0, 0,179, 1, 0, 0,197, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 1,
+198, 1, 0, 0,180, 1, 0, 0,178, 1, 0, 0,200, 1, 0, 0, 0, 0, 0, 1,179, 1, 0, 0,181, 1, 0, 0,195, 1, 0, 0,
+197, 1, 0, 0, 0, 0, 0, 1,196, 1, 0, 0,182, 1, 0, 0,180, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 1,181, 1, 0, 0,
+159, 1, 0, 0,215, 1, 0, 0,195, 1, 0, 0, 0, 0, 0, 1,216, 1, 0, 0,160, 1, 0, 0,182, 1, 0, 0,196, 1, 0, 0,
+ 0, 0, 0, 1,169, 1, 0, 0,157, 1, 0, 0,217, 1, 0, 0,205, 1, 0, 0, 0, 0, 0, 1,218, 1, 0, 0,158, 1, 0, 0,
+170, 1, 0, 0,206, 1, 0, 0, 0, 0, 0, 1,167, 1, 0, 0,169, 1, 0, 0,205, 1, 0, 0,207, 1, 0, 0, 0, 0, 0, 1,
+206, 1, 0, 0,170, 1, 0, 0,168, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 1,165, 1, 0, 0,167, 1, 0, 0,207, 1, 0, 0,
+209, 1, 0, 0, 0, 0, 0, 1,208, 1, 0, 0,168, 1, 0, 0,166, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 1,163, 1, 0, 0,
+165, 1, 0, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 1,210, 1, 0, 0,166, 1, 0, 0,164, 1, 0, 0,212, 1, 0, 0,
+ 0, 0, 0, 1,161, 1, 0, 0,163, 1, 0, 0,211, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 1,212, 1, 0, 0,164, 1, 0, 0,
+162, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 1,159, 1, 0, 0,161, 1, 0, 0,213, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 1,
+214, 1, 0, 0,162, 1, 0, 0,160, 1, 0, 0,216, 1, 0, 0, 0, 0, 0, 1,199, 1, 0, 0,197, 1, 0, 0,221, 1, 0, 0,
+219, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,198, 1, 0, 0,200, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 1,219, 1, 0, 0,
+221, 1, 0, 0,223, 1, 0, 0,225, 1, 0, 0, 0, 0, 0, 1,224, 1, 0, 0,222, 1, 0, 0,220, 1, 0, 0,226, 1, 0, 0,
+ 0, 0, 0, 1,225, 1, 0, 0,223, 1, 0, 0,229, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 1,230, 1, 0, 0,224, 1, 0, 0,
+226, 1, 0, 0,228, 1, 0, 0, 0, 0, 0, 1,227, 1, 0, 0,229, 1, 0, 0,231, 1, 0, 0,233, 1, 0, 0, 0, 0, 0, 1,
+232, 1, 0, 0,230, 1, 0, 0,228, 1, 0, 0,234, 1, 0, 0, 0, 0, 0, 1,205, 1, 0, 0,217, 1, 0, 0,227, 1, 0, 0,
+233, 1, 0, 0, 0, 0, 0, 1,228, 1, 0, 0,218, 1, 0, 0,206, 1, 0, 0,234, 1, 0, 0, 0, 0, 0, 1,193, 1, 0, 0,
+225, 1, 0, 0,227, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 1,228, 1, 0, 0,226, 1, 0, 0,194, 1, 0, 0,218, 1, 0, 0,
+ 0, 0, 0, 1,193, 1, 0, 0,203, 1, 0, 0,219, 1, 0, 0,225, 1, 0, 0, 0, 0, 0, 1,220, 1, 0, 0,204, 1, 0, 0,
+194, 1, 0, 0,226, 1, 0, 0, 0, 0, 0, 1,199, 1, 0, 0,219, 1, 0, 0,203, 1, 0, 0,201, 1, 0, 0, 0, 0, 0, 1,
+204, 1, 0, 0,220, 1, 0, 0,200, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 1,195, 1, 0, 0,215, 1, 0, 0,221, 1, 0, 0,
+197, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,216, 1, 0, 0,196, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 1,213, 1, 0, 0,
+223, 1, 0, 0,221, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 1,222, 1, 0, 0,224, 1, 0, 0,214, 1, 0, 0,216, 1, 0, 0,
+ 0, 0, 0, 1,211, 1, 0, 0,229, 1, 0, 0,223, 1, 0, 0,213, 1, 0, 0, 0, 0, 0, 1,224, 1, 0, 0,230, 1, 0, 0,
+212, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 1,209, 1, 0, 0,231, 1, 0, 0,229, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 1,
+230, 1, 0, 0,232, 1, 0, 0,210, 1, 0, 0,212, 1, 0, 0, 0, 0, 0, 1,207, 1, 0, 0,233, 1, 0, 0,231, 1, 0, 0,
+209, 1, 0, 0, 0, 0, 0, 1,232, 1, 0, 0,234, 1, 0, 0,208, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 1,205, 1, 0, 0,
+233, 1, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,208, 1, 0, 0,234, 1, 0, 0,206, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1,133, 1, 0, 0,131, 1, 0, 0,245, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,132, 1, 0, 0,
+134, 1, 0, 0,244, 1, 0, 0, 0, 0, 0, 1,135, 1, 0, 0,133, 1, 0, 0,243, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 1,
+244, 1, 0, 0,134, 1, 0, 0,136, 1, 0, 0,242, 1, 0, 0, 0, 0, 0, 1,137, 1, 0, 0,135, 1, 0, 0,241, 1, 0, 0,
+239, 1, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,136, 1, 0, 0,138, 1, 0, 0,240, 1, 0, 0, 0, 0, 0, 1,139, 1, 0, 0,
+137, 1, 0, 0,239, 1, 0, 0,237, 1, 0, 0, 0, 0, 0, 1,240, 1, 0, 0,138, 1, 0, 0,140, 1, 0, 0,238, 1, 0, 0,
+ 0, 0, 0, 1,141, 1, 0, 0,139, 1, 0, 0,237, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 1,238, 1, 0, 0,140, 1, 0, 0,
+142, 1, 0, 0,236, 1, 0, 0, 0, 0, 0, 1,129, 1, 0, 0,141, 1, 0, 0,235, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 1,
+236, 1, 0, 0,142, 1, 0, 0,130, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1,235, 1, 0, 0,243, 1, 0, 0,245, 1, 0, 0,
+247, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,244, 1, 0, 0,236, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1,235, 1, 0, 0,
+237, 1, 0, 0,241, 1, 0, 0,243, 1, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,238, 1, 0, 0,236, 1, 0, 0,244, 1, 0, 0,
+ 0, 0, 0, 1,237, 1, 0, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,242, 1, 0, 0,240, 1, 0, 0,
+238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,123, 1, 0, 0,129, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 1,
+130, 1, 0, 0,124, 1, 0, 0, 56, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 1, 55, 1, 0, 0,247, 1, 0, 0,245, 1, 0, 0,
+ 63, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0,248, 1, 0, 0, 56, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 1, 61, 1, 0, 0,
+ 63, 1, 0, 0,245, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 1,246, 1, 0, 0, 64, 1, 0, 0, 62, 1, 0, 0,132, 1, 0, 0,
+ 0, 0, 0, 1, 68, 65, 84, 65,192, 93, 0, 0,152,238, 52, 3, 0, 0, 0, 0, 59, 0, 0, 0,244, 1, 0, 0, 3,112, 28, 63,
+185,178,236, 62,224,124, 27, 63,235, 65,232, 62,144, 63, 30, 63,233,195,226, 62,118,152, 32, 63, 37,167,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 2,232,209, 62,222, 21,226, 62,102,109,215, 62,222,147,231, 62, 28,135,213, 62,
+172, 4,236, 62, 56, 54,205, 62, 22,249,235, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,118,152, 32, 63,
+ 37,167,236, 62,144, 63, 30, 63,233,195,226, 62,108,235, 33, 63,197,235,220, 62,209,151, 37, 63, 89,161,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 76,144,202, 62,186, 61,220, 62, 2,232,209, 62,222, 21,226, 62, 56, 54,205, 62,
+ 22,249,235, 62,128, 55,195, 62, 70,243,235, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,144, 63, 30, 63,
+233,195,226, 62, 20, 55, 25, 63, 1, 35,223, 62,200,178, 25, 63, 77,233,214, 62,108,235, 33, 63,197,235,220, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,146, 1,219, 62, 66, 59,214, 62,248,248,219, 62,246,116,222, 62, 2,232,209, 62,
+222, 21,226, 62, 76,144,202, 62,186, 61,220, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,224,124, 27, 63,
+235, 65,232, 62, 87,252, 24, 63, 93,111,230, 62, 20, 55, 25, 63, 1, 35,223, 62,144, 63, 30, 63,233,195,226, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,248,248,219, 62,246,116,222, 62,118,110,220, 62, 78,193,229, 62,102,109,215, 62,
+222,147,231, 62, 2,232,209, 62,222, 21,226, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 87,252, 24, 63,
+ 93,111,230, 62, 22,195, 22, 63,195, 90,232, 62,191, 91, 20, 63,193, 18,227, 62, 20, 55, 25, 63, 1, 35,223, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,162,175,229, 62,178,100,226, 62,248,224,224, 62,182,172,231, 62,118,110,220, 62,
+ 78,193,229, 62,248,248,219, 62,246,116,222, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 20, 55, 25, 63,
+ 1, 35,223, 62,191, 91, 20, 63,193, 18,227, 62,187,165, 17, 63,225, 6,221, 62,200,178, 25, 63, 77,233,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,170, 27,235, 62,214, 88,220, 62,162,175,229, 62,178,100,226, 62,248,248,219, 62,
+246,116,222, 62,146, 1,219, 62, 66, 59,214, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,191, 91, 20, 63,
+193, 18,227, 62,164, 18, 18, 63,173,201,236, 62,157,231, 13, 63, 89,161,236, 62,187,165, 17, 63,225, 6,221, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,232,151,242, 62, 70,243,235, 62,216, 65,234, 62,158, 27,236, 62,162,175,229, 62,
+178,100,226, 62,170, 27,235, 62,214, 88,220, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 22,195, 22, 63,
+195, 90,232, 62, 11,202, 21, 63, 1,189,236, 62,164, 18, 18, 63,173,201,236, 62,191, 91, 20, 63,193, 18,227, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216, 65,234, 62,158, 27,236, 62, 12,211,226, 62,246, 14,236, 62,248,224,224, 62,
+182,172,231, 62,162,175,229, 62,178,100,226, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 11,202, 21, 63,
+ 1,189,236, 62,215,202, 22, 63,237,124,241, 62,125,105, 20, 63, 1, 71,246, 62,164, 18, 18, 63,173,201,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 42,148,229, 62,246,152,245, 62,112,209,224, 62,226,206,240, 62, 12,211,226, 62,
+246, 14,236, 62,216, 65,234, 62,158, 27,236, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,164, 18, 18, 63,
+173,201,236, 62,125,105, 20, 63, 1, 71,246, 62, 44,173, 17, 63,231,149,252, 62,157,231, 13, 63, 89,161,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,206, 12,235, 62,218,231,251, 62, 42,148,229, 62,246,152,245, 62,216, 65,234, 62,
+158, 27,236, 62,232,151,242, 62, 70,243,235, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,125,105, 20, 63,
+ 1, 71,246, 62, 37, 59, 25, 63, 49, 73,250, 62,108,178, 25, 63,218,108, 1, 63, 44,173, 17, 63,231,149,252, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 76, 2,219, 62,213, 21, 1, 63,216,240,219, 62, 38,155,249, 62, 42,148,229, 62,
+246,152,245, 62,206, 12,235, 62,218,231,251, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,215,202, 22, 63,
+237,124,241, 62,195, 1, 25, 63,169,102,243, 62, 37, 59, 25, 63, 49, 73,250, 62,125,105, 20, 63, 1, 71,246, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216,240,219, 62, 38,155,249, 62,156, 99,220, 62,154,184,242, 62,112,209,224, 62,
+226,206,240, 62, 42,148,229, 62,246,152,245, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,195, 1, 25, 63,
+169,102,243, 62,176,125, 27, 63,149,145,241, 62,167, 74, 30, 63, 3,153,246, 62, 37, 59, 25, 63, 49, 73,250, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,212,209,209, 62,246,234,245, 62,192,107,215, 62,138,227,240, 62,156, 99,220, 62,
+154,184,242, 62,216,240,219, 62, 38,155,249, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 37, 59, 25, 63,
+ 49, 73,250, 62,167, 74, 30, 63, 3,153,246, 62,204,230, 33, 63,107,232,252, 62,108,178, 25, 63,218,108, 1, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,132,153,202, 62, 94, 58,252, 62,212,209,209, 62,246,234,245, 62,216,240,219, 62,
+ 38,155,249, 62, 76, 2,219, 62,213, 21, 1, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,167, 74, 30, 63,
+ 3,153,246, 62,118,152, 32, 63, 37,167,236, 62,209,151, 37, 63, 89,161,236, 62,204,230, 33, 63,107,232,252, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,128, 55,195, 62, 70,243,235, 62, 56, 54,205, 62, 22,249,235, 62,212,209,209, 62,
+246,234,245, 62,132,153,202, 62, 94, 58,252, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,176,125, 27, 63,
+149,145,241, 62, 3,112, 28, 63,185,178,236, 62,118,152, 32, 63, 37,167,236, 62,167, 74, 30, 63, 3,153,246, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 56, 54,205, 62, 22,249,235, 62, 28,135,213, 62,172, 4,236, 62,192,107,215, 62,
+138,227,240, 62,212,209,209, 62,246,234,245, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 3,112, 28, 63,
+185,178,236, 62,176,125, 27, 63,149,145,241, 62, 42, 39, 27, 63, 57, 1,241, 62,140,249, 27, 63,115,186,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,206, 24,216, 62, 46, 83,240, 62,192,107,215, 62,138,227,240, 62, 28,135,213, 62,
+172, 4,236, 62, 8,116,214, 62,102, 12,236, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,176,125, 27, 63,
+149,145,241, 62,195, 1, 25, 63,169,102,243, 62, 6,248, 24, 63,185, 91,242, 62, 42, 39, 27, 63, 57, 1,241, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 22,119,220, 62,174,173,241, 62,156, 99,220, 62,154,184,242, 62,192,107,215, 62,
+138,227,240, 62,206, 24,216, 62, 46, 83,240, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,195, 1, 25, 63,
+169,102,243, 62,215,202, 22, 63,237,124,241, 62,157, 38, 23, 63,225,173,240, 62, 6,248, 24, 63,185, 91,242, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,234, 25,224, 62,214,255,239, 62,112,209,224, 62,226,206,240, 62,156, 99,220, 62,
+154,184,242, 62, 22,119,220, 62,174,173,241, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,215,202, 22, 63,
+237,124,241, 62, 11,202, 21, 63, 1,189,236, 62, 13, 89, 22, 63,247,196,236, 62,157, 38, 23, 63,225,173,240, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 8,181,225, 62,234, 22,236, 62, 12,211,226, 62,246, 14,236, 62,112,209,224, 62,
+226,206,240, 62,234, 25,224, 62,214,255,239, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 11,202, 21, 63,
+ 1,189,236, 62, 22,195, 22, 63,195, 90,232, 62, 88, 33, 23, 63, 69, 47,233, 62, 13, 89, 22, 63,247,196,236, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,112, 36,224, 62, 58,129,232, 62,248,224,224, 62,182,172,231, 62, 12,211,226, 62,
+246, 14,236, 62, 8,181,225, 62,234, 22,236, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 22,195, 22, 63,
+195, 90,232, 62, 87,252, 24, 63, 93,111,230, 62,100,243, 24, 63, 5,123,231, 62, 88, 33, 23, 63, 69, 47,233, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 90,128,220, 62,248,204,230, 62,118,110,220, 62, 78,193,229, 62,248,224,224, 62,
+182,172,231, 62,112, 36,224, 62, 58,129,232, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0, 87,252, 24, 63,
+ 93,111,230, 62,224,124, 27, 63,235, 65,232, 62,169, 37, 27, 63, 35,211,232, 62,100,243, 24, 63, 5,123,231, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,206, 27,216, 62, 22, 37,232, 62,102,109,215, 62,222,147,231, 62,118,110,220, 62,
+ 78,193,229, 62, 90,128,220, 62,248,204,230, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,224,124, 27, 63,
+235, 65,232, 62, 3,112, 28, 63,185,178,236, 62,140,249, 27, 63,115,186,236, 62,169, 37, 27, 63, 35,211,232, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 8,116,214, 62,102, 12,236, 62, 28,135,213, 62,172, 4,236, 62,102,109,215, 62,
+222,147,231, 62,206, 27,216, 62, 22, 37,232, 62,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,240, 0,138,242, 24, 63,
+ 21,194,236, 62,169, 37, 27, 63, 35,211,232, 62,140,249, 27, 63,115,186,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 8,116,214, 62,102, 12,236, 62,206, 27,216, 62, 22, 37,232, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,100,243, 24, 63,
+ 5,123,231, 62,169, 37, 27, 63, 35,211,232, 62,138,242, 24, 63, 21,194,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 16,130,220, 62, 6, 20,236, 62,206, 27,216, 62, 22, 37,232, 62, 90,128,220, 62,
+248,204,230, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62, 88, 33, 23, 63, 69, 47,233, 62,100,243, 24, 63, 5,123,231, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 90,128,220, 62,248,204,230, 62,112, 36,224, 62, 58,129,232, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62, 13, 89, 22, 63,247,196,236, 62, 88, 33, 23, 63, 69, 47,233, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0,112, 36,224, 62, 58,129,232, 62, 8,181,225, 62,234, 22,236, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62,157, 38, 23, 63,225,173,240, 62, 13, 89, 22, 63,247,196,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 8,181,225, 62,234, 22,236, 62,234, 25,224, 62,214,255,239, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62, 6,248, 24, 63,185, 91,242, 62,157, 38, 23, 63,225,173,240, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0,234, 25,224, 62,214,255,239, 62, 22,119,220, 62,174,173,241, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62, 42, 39, 27, 63, 57, 1,241, 62, 6,248, 24, 63,185, 91,242, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 22,119,220, 62,174,173,241, 62,206, 24,216, 62, 46, 83,240, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,138,242, 24, 63,
+ 21,194,236, 62,140,249, 27, 63,115,186,236, 62, 42, 39, 27, 63, 57, 1,241, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0,206, 24,216, 62, 46, 83,240, 62, 8,116,214, 62,102, 12,236, 62, 16,130,220, 62,
+ 6, 20,236, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 61, 0, 5, 0, 0, 0,112, 0,174,254, 16, 63,
+ 94, 45, 34, 62, 79,190, 13, 63,160,193, 46, 62,220,199, 3, 63, 89,219, 24, 62,219,199, 3, 63, 18, 28,229, 61,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,220,199, 3, 63, 89,219, 24, 62, 14,150,243, 62,204, 79, 47, 62,140,248,236, 62,
+182,202, 34, 62,219,199, 3, 63, 18, 28,229, 61,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,184,152, 21, 63,
+182, 47, 53, 62,250,104, 16, 63, 16,113, 55, 62, 79,190, 13, 63,160,193, 46, 62,174,254, 16, 63, 94, 45, 34, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 14,150,243, 62,204, 79, 47, 62,200, 68,238, 62, 76, 62, 56, 62,183,207,227, 62,
+250, 75, 54, 62,140,248,236, 62,182,202, 34, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,137, 57, 22, 63,
+ 81, 93, 61, 62,206,186, 16, 63, 85,129, 72, 62,250,104, 16, 63, 16,113, 55, 62,184,152, 21, 63,182, 47, 53, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,200, 68,238, 62, 76, 62, 56, 62,192,187,237, 62,194,118, 73, 62,122,152,226, 62,
+190,166, 62, 62,183,207,227, 62,250, 75, 54, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,250,249, 22, 63,
+160,251, 88, 62,222, 32, 16, 63, 34,106, 93, 62,206,186, 16, 63, 85,129, 72, 62,137, 57, 22, 63, 81, 93, 61, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192,187,237, 62,194,118, 73, 62, 21, 19,239, 62,121,110, 94, 62, 90, 83,225, 62,
+ 21,153, 90, 62,122,152,226, 62,190,166, 62, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
+ 17, 56,132, 62,206,243, 15, 63,182,207,136, 62,222, 32, 16, 63, 34,106, 93, 62,250,249, 22, 63,160,251, 88, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 21, 19,239, 62,121,110, 94, 62, 92,193,239, 62,113, 61,137, 62, 54, 42,221, 62,
+209, 25,133, 62, 90, 83,225, 62, 21,153, 90, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,
+159, 77,166, 62, 91, 94, 37, 63,107,120,187, 62, 66, 21, 30, 63,178,139,200, 62,158,237, 12, 63, 38,241,187, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,139,125,211, 62,170,171,200, 62,156, 28,197, 62,166,130,187, 62,115, 21,216, 62,
+ 14,177,166, 62, 15,175,245, 62,188, 14,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 91, 94, 37, 63,
+107,120,187, 62, 87, 57, 43, 63,222, 58,206, 62, 24,163, 39, 63,174, 95,216, 62, 66, 21, 30, 63,178,139,200, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 98,194,191, 62, 42, 94,216, 62,130,207,184, 62, 42, 27,206, 62,156, 28,197, 62,
+166,130,187, 62,139,125,211, 62,170,171,200, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 87, 57, 43, 63,
+222, 58,206, 62, 38,229, 50, 63,169, 32,226, 62,177, 79, 43, 63,202,194,231, 62, 24,163, 39, 63,174, 95,216, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 60,201,183, 62, 82,218,231, 62,196, 39,168, 62,206, 11,226, 62,130,207,184, 62,
+ 42, 27,206, 62, 98,194,191, 62, 42, 94,216, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 38,229, 50, 63,
+169, 32,226, 62, 62,134, 48, 63, 37,107,249, 62,154,190, 43, 63,192, 0,249, 62,177, 79, 43, 63,202,194,231, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,138,190,182, 62, 35, 49,249, 62,172,229,172, 62,116,127,249, 62,196, 39,168, 62,
+206, 11,226, 62, 60,201,183, 62, 82,218,231, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 62,134, 48, 63,
+ 37,107,249, 62,238, 88, 46, 63,146,223, 2, 63,123,207, 40, 63,218,175,254, 62,154,190, 43, 63,192, 0,249, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 2,184,188, 62,140, 0,255, 62,173, 87,177, 62,102, 9, 3, 63,172,229,172, 62,
+116,127,249, 62,138,190,182, 62, 35, 49,249, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,238, 88, 46, 63,
+146,223, 2, 63,220,158, 34, 63,175, 23, 10, 63,126, 77, 30, 63,156, 88, 5, 63,123,207, 40, 63,218,175,254, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 89, 65,210, 62, 56,158, 5, 63,124,109,201, 62, 72,121, 10, 63,173, 87,177, 62,
+102, 9, 3, 63, 2,184,188, 62,140, 0,255, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,220,158, 34, 63,
+175, 23, 10, 63, 28,105, 26, 63,242,194, 11, 63,244,120, 25, 63, 78,242, 7, 63,126, 77, 30, 63,156, 88, 5, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 39,220, 62,252, 58, 8, 63,220, 73,218, 62,169, 31, 12, 63,124,109,201, 62,
+ 72,121, 10, 63, 89, 65,210, 62, 56,158, 5, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 28,105, 26, 63,
+242,194, 11, 63,173,244, 22, 63,236,215, 11, 63,202, 47, 22, 63,156, 60, 8, 63,244,120, 25, 63, 78,242, 7, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 11,221,226, 62, 90,125, 8, 63,220, 89,225, 62, 77, 42, 12, 63,220, 73,218, 62,
+169, 31, 12, 63, 0, 39,220, 62,252, 58, 8, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,173,244, 22, 63,
+236,215, 11, 63, 67,169, 11, 63, 18,197, 11, 63,106,252, 12, 63,180,173, 3, 63,202, 47, 22, 63,156, 60, 8, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 35,114,245, 62,233,196, 3, 63, 55, 72,248, 62, 91,232, 11, 63,220, 89,225, 62,
+ 77, 42, 12, 63, 11,221,226, 62, 90,125, 8, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 67,169, 11, 63,
+ 18,197, 11, 63,148,232, 3, 63,164, 17, 11, 63,162,220, 3, 63, 45, 88, 0, 63,106,252, 12, 63,180,173, 3, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,162,220, 3, 63, 45, 88, 0, 63,148,232, 3, 63,164, 17, 11, 63, 55, 72,248, 62,
+ 91,232, 11, 63, 35,114,245, 62,233,196, 3, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,103, 59, 17, 63,
+120,195,255, 62,240, 81, 22, 63,114, 70, 1, 63,202, 47, 22, 63,156, 60, 8, 63,106,252, 12, 63,180,173, 3, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 11,221,226, 62, 90,125, 8, 63,106,128,226, 62,198,111, 1, 63,209,213,236, 62,
+ 4,250,255, 62, 35,114,245, 62,233,196, 3, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,240, 81, 22, 63,
+114, 70, 1, 63,151,182, 25, 63,130, 9, 1, 63,244,120, 25, 63, 78,242, 7, 63,202, 47, 22, 63,156, 60, 8, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 39,220, 62,252, 58, 8, 63,213,150,219, 62, 50, 55, 1, 63,106,128,226, 62,
+198,111, 1, 63, 11,221,226, 62, 90,125, 8, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 96, 49, 30, 63,
+121,229,254, 62,126, 77, 30, 63,156, 88, 5, 63,244,120, 25, 63, 78,242, 7, 63,151,182, 25, 63,130, 9, 1, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 39,220, 62,252, 58, 8, 63, 89, 65,210, 62, 56,158, 5, 63,176,116,210, 62,
+227, 62,255, 62,213,150,219, 62, 50, 55, 1, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 25,113, 37, 63,
+ 35,157,247, 62,123,207, 40, 63,218,175,254, 62,126, 77, 30, 63,156, 88, 5, 63, 96, 49, 30, 63,121,229,254, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 89, 65,210, 62, 56,158, 5, 63, 2,184,188, 62,140, 0,255, 62,189,165,195, 62,
+139,232,247, 62,176,116,210, 62,227, 62,255, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92, 62, 39, 63,
+121, 75,240, 62,154,190, 43, 63,192, 0,249, 62,123,207, 40, 63,218,175,254, 62, 25,113, 37, 63, 35,157,247, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 2,184,188, 62,140, 0,255, 62,138,190,182, 62, 35, 49,249, 62,222, 10,192, 62,
+163,128,240, 62,189,165,195, 62,139,232,247, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,140,149, 38, 63,
+ 38, 95,229, 62,177, 79, 43, 63,202,194,231, 62,154,190, 43, 63,192, 0,249, 62, 92, 62, 39, 63,121, 75,240, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,138,190,182, 62, 35, 49,249, 62, 60,201,183, 62, 82,218,231, 62,168,140,193, 62,
+ 94,129,229, 62,222, 10,192, 62,163,128,240, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 14,120, 33, 63,
+166,238,214, 62, 24,163, 39, 63,174, 95,216, 62,177, 79, 43, 63,202,194,231, 62,140,149, 38, 63, 38, 95,229, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 60,201,183, 62, 82,218,231, 62, 98,194,191, 62, 42, 94,216, 62,168, 75,204, 62,
+ 62, 7,215, 62,168,140,193, 62, 94,129,229, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,165,178, 27, 63,
+128, 17,208, 62, 66, 21, 30, 63,178,139,200, 62, 24,163, 39, 63,174, 95,216, 62, 14,120, 33, 63,166,238,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 98,194,191, 62, 42, 94,216, 62,139,125,211, 62,170,171,200, 62, 6, 24,216, 62,
+128, 57,208, 62,168, 75,204, 62, 62, 7,215, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 15, 97, 17, 63,
+220, 34,214, 62,158,237, 12, 63, 38,241,187, 62, 66, 21, 30, 63,178,139,200, 62,165,178, 27, 63,128, 17,208, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,139,125,211, 62,170,171,200, 62, 15,175,245, 62,188, 14,188, 62,217,200,236, 62,
+134, 49,214, 62, 6, 24,216, 62,128, 57,208, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 15, 97, 17, 63,
+220, 34,214, 62,149,244, 14, 63, 4, 42,221, 62,147,230, 3, 63, 78, 47,208, 62,158,237, 12, 63, 38,241,187, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,147,230, 3, 63, 78, 47,208, 62,141,144,241, 62,244, 52,221, 62,217,200,236, 62,
+134, 49,214, 62, 15,175,245, 62,188, 14,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,103, 59, 17, 63,
+120,195,255, 62,106,252, 12, 63,180,173, 3, 63,162,220, 3, 63, 45, 88, 0, 63, 71, 25, 13, 63,116,163,243, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,162,220, 3, 63, 45, 88, 0, 63, 35,114,245, 62,233,196, 3, 63,209,213,236, 62,
+ 4,250,255, 62, 0, 45,245, 62,206,185,243, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 71, 25, 13, 63,
+116,163,243, 62,162,220, 3, 63, 45, 88, 0, 63,215,220, 3, 63,148,189,231, 62, 64, 2, 13, 63, 52,215,230, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,215,220, 3, 63,148,189,231, 62,162,220, 3, 63, 45, 88, 0, 63, 0, 45,245, 62,
+206,185,243, 62,219,100,245, 62,184,230,230, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,147,230, 3, 63,
+ 78, 47,208, 62,149,244, 14, 63, 4, 42,221, 62, 64, 2, 13, 63, 52,215,230, 62,215,220, 3, 63,148,189,231, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,219,100,245, 62,184,230,230, 62,141,144,241, 62,244, 52,221, 62,147,230, 3, 63,
+ 78, 47,208, 62,215,220, 3, 63,148,189,231, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 7, 63,
+148, 31, 54, 62,193,202, 3, 63,214,174, 49, 62,220,199, 3, 63, 89,219, 24, 62, 79,190, 13, 63,160,193, 46, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,220,199, 3, 63, 89,219, 24, 62,193,202, 3, 63,214,174, 49, 62,175, 87, 0, 63,
+251, 90, 54, 62, 14,150,243, 62,204, 79, 47, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68,214, 9, 63,
+246,237, 66, 62,250, 61, 7, 63,148, 31, 54, 62, 79,190, 13, 63,160,193, 46, 62,250,104, 16, 63, 16,113, 55, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 14,150,243, 62,204, 79, 47, 62,175, 87, 0, 63,251, 90, 54, 62,104,137,251, 62,
+179, 92, 67, 62,200, 68,238, 62, 76, 62, 56, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,237,221, 8, 63,
+218, 90, 91, 62, 68,214, 9, 63,246,237, 66, 62,250,104, 16, 63, 16,113, 55, 62,206,186, 16, 63, 85,129, 72, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,200, 68,238, 62, 76, 62, 56, 62,104,137,251, 62,179, 92, 67, 62, 39,153,253, 62,
+ 27,195, 91, 62,192,187,237, 62,194,118, 73, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,206,243, 15, 63,
+182,207,136, 62, 77, 32, 8, 63, 10, 39,139, 62, 22,117, 9, 63,146,203, 97, 62,222, 32, 16, 63, 34,106, 93, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192,110,252, 62, 79, 68, 98, 62,219, 89,255, 62,116, 79,139, 62, 92,193,239, 62,
+113, 61,137, 62, 21, 19,239, 62,121,110, 94, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,237,221, 8, 63,
+218, 90, 91, 62,206,186, 16, 63, 85,129, 72, 62,222, 32, 16, 63, 34,106, 93, 62, 22,117, 9, 63,146,203, 97, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 21, 19,239, 62,121,110, 94, 62,192,187,237, 62,194,118, 73, 62, 39,153,253, 62,
+ 27,195, 91, 62,192,110,252, 62, 79, 68, 98, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,119,125, 9, 63,
+ 7,112,158, 62, 70,233, 3, 63, 88, 27,154, 62,235,229, 3, 63, 97,108,139, 62, 77, 32, 8, 63, 10, 39,139, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,235,229, 3, 63, 97,108,139, 62, 70,233, 3, 63, 88, 27,154, 62,165,179,252, 62,
+163,140,158, 62,219, 89,255, 62,116, 79,139, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 22,117, 9, 63,
+146,203, 97, 62, 77, 32, 8, 63, 10, 39,139, 62,235,229, 3, 63, 97,108,139, 62,246,215, 3, 63,143, 56,101, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,235,229, 3, 63, 97,108,139, 62,219, 89,255, 62,116, 79,139, 62,192,110,252, 62,
+ 79, 68, 98, 62,246,215, 3, 63,143, 56,101, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,147,210, 3, 63,
+221, 95, 86, 62,237,221, 8, 63,218, 90, 91, 62, 22,117, 9, 63,146,203, 97, 62,246,215, 3, 63,143, 56,101, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192,110,252, 62, 79, 68, 98, 62, 39,153,253, 62, 27,195, 91, 62,147,210, 3, 63,
+221, 95, 86, 62,246,215, 3, 63,143, 56,101, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 5, 54, 12, 63,
+188,183,167, 62,250, 61, 9, 63,252,214,168, 62,152,143, 8, 63, 45,107,163, 62,119,125, 9, 63, 7,112,158, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,100,136,254, 62, 38,123,163, 62,110, 39,253, 62,103,224,168, 62, 98, 68,247, 62,
+146,206,167, 62,165,179,252, 62,163,140,158, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,135,196, 10, 63,
+ 52,208,178, 62, 25,233, 8, 63,116,110,175, 62,250, 61, 9, 63,252,214,168, 62, 5, 54, 12, 63,188,183,167, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,110, 39,253, 62,103,224,168, 62,102,195,253, 62,184,102,175, 62, 98, 14,250, 62,
+149,202,178, 62, 98, 68,247, 62,146,206,167, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 69, 17, 4, 63,
+105,176,182, 62, 69,138, 6, 63, 80,180,177, 62, 25,233, 8, 63,116,110,175, 62,135,196, 10, 63, 52,208,178, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,102,195,253, 62,184,102,175, 62, 14, 49, 1, 63, 62,150,177, 62, 69, 17, 4, 63,
+105,176,182, 62, 98, 14,250, 62,149,202,178, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,209,124, 3, 63,
+ 70, 0,177, 62, 11,232, 3, 63,140, 4,174, 62, 69,138, 6, 63, 80,180,177, 62, 69, 17, 4, 63,105,176,182, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 14, 49, 1, 63, 62,150,177, 62, 11,232, 3, 63,140, 4,174, 62,209,124, 3, 63,
+ 70, 0,177, 62, 69, 17, 4, 63,105,176,182, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 70,233, 3, 63,
+ 88, 27,154, 62,119,125, 9, 63, 7,112,158, 62,152,143, 8, 63, 45,107,163, 62,212,232, 3, 63, 58,152,158, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,100,136,254, 62, 38,123,163, 62,165,179,252, 62,163,140,158, 62, 70,233, 3, 63,
+ 88, 27,154, 62,212,232, 3, 63, 58,152,158, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,212,232, 3, 63,
+ 58,152,158, 62,152,143, 8, 63, 45,107,163, 62,121, 91, 7, 63,134, 51,166, 62,205,231, 3, 63, 58,149,162, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 44,116, 0, 63,255, 56,166, 62,100,136,254, 62, 38,123,163, 62,212,232, 3, 63,
+ 58,152,158, 62,205,231, 3, 63, 58,149,162, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 11,232, 3, 63,
+140, 4,174, 62,214,233, 3, 63,198,154,170, 62,233,110, 6, 63, 94,152,174, 62, 69,138, 6, 63, 80,180,177, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228, 82, 1, 63, 95,140,174, 62,214,233, 3, 63,198,154,170, 62, 11,232, 3, 63,
+140, 4,174, 62, 14, 49, 1, 63, 62,150,177, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 69,138, 6, 63,
+ 80,180,177, 62,233,110, 6, 63, 94,152,174, 62, 59,236, 7, 63, 19,123,173, 62, 25,233, 8, 63,116,110,175, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217,185,255, 62, 92,116,173, 62,228, 82, 1, 63, 95,140,174, 62, 14, 49, 1, 63,
+ 62,150,177, 62,102,195,253, 62,184,102,175, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 25,233, 8, 63,
+116,110,175, 62, 59,236, 7, 63, 19,123,173, 62, 85,249, 7, 63, 92, 52,169, 62,250, 61, 9, 63,252,214,168, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,169,255, 62, 6, 57,169, 62,217,185,255, 62, 92,116,173, 62,102,195,253, 62,
+184,102,175, 62,110, 39,253, 62,103,224,168, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 9, 63,
+252,214,168, 62, 85,249, 7, 63, 92, 52,169, 62,121, 91, 7, 63,134, 51,166, 62,152,143, 8, 63, 45,107,163, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 44,116, 0, 63,255, 56,166, 62,160,169,255, 62, 6, 57,169, 62,110, 39,253, 62,
+103,224,168, 62,100,136,254, 62, 38,123,163, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,214,233, 3, 63,
+198,154,170, 62, 85,249, 7, 63, 92, 52,169, 62, 59,236, 7, 63, 19,123,173, 62,233,110, 6, 63, 94,152,174, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217,185,255, 62, 92,116,173, 62,160,169,255, 62, 6, 57,169, 62,214,233, 3, 63,
+198,154,170, 62,228, 82, 1, 63, 95,140,174, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,214,233, 3, 63,
+198,154,170, 62,205,231, 3, 63, 58,149,162, 62,121, 91, 7, 63,134, 51,166, 62, 85,249, 7, 63, 92, 52,169, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 44,116, 0, 63,255, 56,166, 62,205,231, 3, 63, 58,149,162, 62,214,233, 3, 63,
+198,154,170, 62,160,169,255, 62, 6, 57,169, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 69, 17, 4, 63,
+105,176,182, 62,135,196, 10, 63, 52,208,178, 62,158,237, 12, 63, 38,241,187, 62,147,230, 3, 63, 78, 47,208, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 15,175,245, 62,188, 14,188, 62, 98, 14,250, 62,149,202,178, 62, 69, 17, 4, 63,
+105,176,182, 62,147,230, 3, 63, 78, 47,208, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,135,196, 10, 63,
+ 52,208,178, 62, 5, 54, 12, 63,188,183,167, 62,112, 0, 16, 63,254,246,164, 62,158,237, 12, 63, 38,241,187, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,207,187,239, 62, 19, 42,165, 62, 98, 68,247, 62,146,206,167, 62, 98, 14,250, 62,
+149,202,178, 62, 15,175,245, 62,188, 14,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 5, 54, 12, 63,
+188,183,167, 62,119,125, 9, 63, 7,112,158, 62, 44,250, 15, 63,109, 0,154, 62,112, 0, 16, 63,254,246,164, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 56,205,239, 62, 8, 71,154, 62,165,179,252, 62,163,140,158, 62, 98, 68,247, 62,
+146,206,167, 62,207,187,239, 62, 19, 42,165, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,119,125, 9, 63,
+ 7,112,158, 62, 77, 32, 8, 63, 10, 39,139, 62,206,243, 15, 63,182,207,136, 62, 44,250, 15, 63,109, 0,154, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92,193,239, 62,113, 61,137, 62,219, 89,255, 62,116, 79,139, 62,165,179,252, 62,
+163,140,158, 62, 56,205,239, 62, 8, 71,154, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
+ 17, 56,132, 62,208, 46, 27, 63,149, 35,148, 62, 44,250, 15, 63,109, 0,154, 62,206,243, 15, 63,182,207,136, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 56,205,239, 62, 8, 71,154, 62,238,166,217, 62,229,221,148, 62, 54, 42,221, 62,
+209, 25,133, 62, 92,193,239, 62,113, 61,137, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,208, 46, 27, 63,
+149, 35,148, 62, 36,177, 27, 63,158,151,156, 62,112, 0, 16, 63,254,246,164, 62, 44,250, 15, 63,109, 0,154, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,207,187,239, 62, 19, 42,165, 62, 0,160,216, 62,127, 44,157, 62,238,166,217, 62,
+229,221,148, 62, 56,205,239, 62, 8, 71,154, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,
+159, 77,166, 62,158,237, 12, 63, 38,241,187, 62,112, 0, 16, 63,254,246,164, 62, 36,177, 27, 63,158,151,156, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,207,187,239, 62, 19, 42,165, 62, 15,175,245, 62,188, 14,188, 62,115, 21,216, 62,
+ 14,177,166, 62, 0,160,216, 62,127, 44,157, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,237,221, 8, 63,
+218, 90, 91, 62,147,210, 3, 63,221, 95, 86, 62,129,211, 3, 63,248,168, 83, 62,170, 33, 8, 63,254,149, 86, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,129,211, 3, 63,248,168, 83, 62,147,210, 3, 63,221, 95, 86, 62, 39,153,253, 62,
+ 27,195, 91, 62, 8, 14,255, 62, 58,232, 86, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68,214, 9, 63,
+246,237, 66, 62,237,221, 8, 63,218, 90, 91, 62,170, 33, 8, 63,254,149, 86, 62, 20,180, 8, 63, 94, 29, 69, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 8, 14,255, 62, 58,232, 86, 62, 39,153,253, 62, 27,195, 91, 62,104,137,251, 62,
+179, 92, 67, 62, 19,210,253, 62, 55,114, 69, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,250, 61, 7, 63,
+148, 31, 54, 62, 68,214, 9, 63,246,237, 66, 62, 20,180, 8, 63, 94, 29, 69, 62,168, 82, 6, 63, 80, 43, 57, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 19,210,253, 62, 55,114, 69, 62,104,137,251, 62,179, 92, 67, 62,175, 87, 0, 63,
+251, 90, 54, 62, 48, 68, 1, 63,166, 84, 57, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,193,202, 3, 63,
+214,174, 49, 62,250, 61, 7, 63,148, 31, 54, 62,168, 82, 6, 63, 80, 43, 57, 62,205,202, 3, 63, 8, 22, 54, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 48, 68, 1, 63,166, 84, 57, 62,175, 87, 0, 63,251, 90, 54, 62,193,202, 3, 63,
+214,174, 49, 62,205,202, 3, 63, 8, 22, 54, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,205,202, 3, 63,
+ 8, 22, 54, 62,168, 82, 6, 63, 80, 43, 57, 62,246, 24, 5, 63, 26,150, 66, 62,213,205, 3, 63,220,232, 64, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 29,131, 2, 63, 22,172, 66, 62, 48, 68, 1, 63,166, 84, 57, 62,205,202, 3, 63,
+ 8, 22, 54, 62,213,205, 3, 63,220,232, 64, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,168, 82, 6, 63,
+ 80, 43, 57, 62, 20,180, 8, 63, 94, 29, 69, 62, 39, 83, 6, 63,191,114, 70, 62,246, 24, 5, 63, 26,150, 66, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,185, 75, 1, 63,222,160, 70, 62, 19,210,253, 62, 55,114, 69, 62, 48, 68, 1, 63,
+166, 84, 57, 62, 29,131, 2, 63, 22,172, 66, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20,180, 8, 63,
+ 94, 29, 69, 62,170, 33, 8, 63,254,149, 86, 62, 4,111, 6, 63, 40,172, 76, 62, 39, 83, 6, 63,191,114, 70, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,157, 51, 1, 63,158,218, 76, 62, 8, 14,255, 62, 58,232, 86, 62, 19,210,253, 62,
+ 55,114, 69, 62,185, 75, 1, 63,222,160, 70, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,170, 33, 8, 63,
+254,149, 86, 62,129,211, 3, 63,248,168, 83, 62,234,208, 3, 63,146, 43, 75, 62, 4,111, 6, 63, 40,172, 76, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,234,208, 3, 63,146, 43, 75, 62,129,211, 3, 63,248,168, 83, 62, 8, 14,255, 62,
+ 58,232, 86, 62,157, 51, 1, 63,158,218, 76, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,234,208, 3, 63,
+146, 43, 75, 62,213,205, 3, 63,220,232, 64, 62,246, 24, 5, 63, 26,150, 66, 62, 4,111, 6, 63, 40,172, 76, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 29,131, 2, 63, 22,172, 66, 62,213,205, 3, 63,220,232, 64, 62,234,208, 3, 63,
+146, 43, 75, 62,157, 51, 1, 63,158,218, 76, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 4,111, 6, 63,
+ 40,172, 76, 62,246, 24, 5, 63, 26,150, 66, 62, 39, 83, 6, 63,191,114, 70, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,185, 75, 1, 63,222,160, 70, 62, 29,131, 2, 63, 22,172, 66, 62,157, 51, 1, 63,
+158,218, 76, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64, 2, 13, 63,
+ 52,215,230, 62,149,244, 14, 63, 4, 42,221, 62, 4,216, 16, 63,160, 24,224, 62,120,200, 15, 63, 84,255,231, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,119,193,237, 62,190, 38,224, 62,141,144,241, 62,244, 52,221, 62,219,100,245, 62,
+184,230,230, 62, 21,211,239, 62,185, 18,232, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 71, 25, 13, 63,
+116,163,243, 62, 64, 2, 13, 63, 52,215,230, 62,120,200, 15, 63, 84,255,231, 62,184,171, 16, 63, 40,133,241, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 21,211,239, 62,185, 18,232, 62,219,100,245, 62,184,230,230, 62, 0, 45,245, 62,
+206,185,243, 62,218,252,237, 62, 62,160,241, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,103, 59, 17, 63,
+120,195,255, 62, 71, 25, 13, 63,116,163,243, 62,184,171, 16, 63, 40,133,241, 62, 55, 44, 19, 63, 86, 21,250, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,218,252,237, 62, 62,160,241, 62, 0, 45,245, 62,206,185,243, 62,209,213,236, 62,
+ 4,250,255, 62,153,228,232, 62,154, 67,250, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,149,244, 14, 63,
+ 4, 42,221, 62, 15, 97, 17, 63,220, 34,214, 62,217, 53, 19, 63, 16,211,218, 62, 4,216, 16, 63,160, 24,224, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 8, 14,233, 62, 66,226,218, 62,217,200,236, 62,134, 49,214, 62,141,144,241, 62,
+244, 52,221, 62,119,193,237, 62,190, 38,224, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 15, 97, 17, 63,
+220, 34,214, 62,165,178, 27, 63,128, 17,208, 62,205,198, 26, 63,124,184,214, 62,217, 53, 19, 63, 16,211,218, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,216,214,217, 62,218,224,214, 62, 6, 24,216, 62,128, 57,208, 62,217,200,236, 62,
+134, 49,214, 62, 8, 14,233, 62, 66,226,218, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,165,178, 27, 63,
+128, 17,208, 62, 14,120, 33, 63,166,238,214, 62,156,136, 31, 63,194,138,219, 62,205,198, 26, 63,124,184,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,254, 30,208, 62,204,177,219, 62,168, 75,204, 62, 62, 7,215, 62, 6, 24,216, 62,
+128, 57,208, 62,216,214,217, 62,218,224,214, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 14,120, 33, 63,
+166,238,214, 62,140,149, 38, 63, 38, 95,229, 62, 79, 9, 36, 63, 94,224,229, 62,156,136, 31, 63,194,138,219, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,148,192,198, 62,182, 11,230, 62,168,140,193, 62, 94,129,229, 62,168, 75,204, 62,
+ 62, 7,215, 62,254, 30,208, 62,204,177,219, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,140,149, 38, 63,
+ 38, 95,229, 62, 92, 62, 39, 63,121, 75,240, 62, 14, 49, 36, 63,253, 88,239, 62, 79, 9, 36, 63, 94,224,229, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 97, 71,198, 62,192,149,239, 62,222, 10,192, 62,163,128,240, 62,168,140,193, 62,
+ 94,129,229, 62,148,192,198, 62,182, 11,230, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92, 62, 39, 63,
+121, 75,240, 62, 25,113, 37, 63, 35,157,247, 62,243, 33, 35, 63, 80,143,245, 62, 14, 49, 36, 63,253, 88,239, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 87, 99,200, 62,172,217,245, 62,189,165,195, 62,139,232,247, 62,222, 10,192, 62,
+163,128,240, 62, 97, 71,198, 62,192,149,239, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 25,113, 37, 63,
+ 35,157,247, 62, 96, 49, 30, 63,121,229,254, 62,223, 49, 29, 63,199,140,250, 62,243, 33, 35, 63, 80,143,245, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,147,124,212, 62,146,215,250, 62,176,116,210, 62,227, 62,255, 62,189,165,195, 62,
+139,232,247, 62, 87, 99,200, 62,172,217,245, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 96, 49, 30, 63,
+121,229,254, 62,151,182, 25, 63,130, 9, 1, 63, 50,181, 25, 63,118,111,253, 62,223, 49, 29, 63,199,140,250, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 52,151,219, 62, 68,186,253, 62,213,150,219, 62, 50, 55, 1, 63,176,116,210, 62,
+227, 62,255, 62,147,124,212, 62,146,215,250, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,151,182, 25, 63,
+130, 9, 1, 63,240, 81, 22, 63,114, 70, 1, 63,241,188, 22, 63, 28,149,253, 62, 50,181, 25, 63,118,111,253, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,212,163,225, 62, 91,215,253, 62,106,128,226, 62,198,111, 1, 63,213,150,219, 62,
+ 50, 55, 1, 63, 52,151,219, 62, 68,186,253, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,240, 81, 22, 63,
+114, 70, 1, 63,103, 59, 17, 63,120,195,255, 62, 55, 44, 19, 63, 86, 21,250, 62,241,188, 22, 63, 28,149,253, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,153,228,232, 62,154, 67,250, 62,209,213,236, 62, 4,250,255, 62,106,128,226, 62,
+198,111, 1, 63,212,163,225, 62, 91,215,253, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,241,188, 22, 63,
+ 28,149,253, 62, 55, 44, 19, 63, 86, 21,250, 62, 9,165, 20, 63,248, 99,247, 62, 20, 0, 23, 63, 6, 57,251, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,232,232,229, 62, 74,142,247, 62,153,228,232, 62,154, 67,250, 62,212,163,225, 62,
+ 91,215,253, 62,145, 26,225, 62,114,116,251, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 50,181, 25, 63,
+118,111,253, 62,241,188, 22, 63, 28,149,253, 62, 20, 0, 23, 63, 6, 57,251, 62,130,144, 25, 63,128, 7,251, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,145, 26,225, 62,114,116,251, 62,212,163,225, 62, 91,215,253, 62, 52,151,219, 62,
+ 68,186,253, 62,177,225,219, 62, 67, 75,251, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,223, 49, 29, 63,
+199,140,250, 62, 50,181, 25, 63,118,111,253, 62,130,144, 25, 63,128, 7,251, 62, 80,195, 28, 63, 55,166,248, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,177,225,219, 62, 67, 75,251, 62, 52,151,219, 62, 68,186,253, 62,147,124,212, 62,
+146,215,250, 62,233, 95,213, 62, 20,237,248, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,243, 33, 35, 63,
+ 80,143,245, 62,223, 49, 29, 63,199,140,250, 62, 80,195, 28, 63, 55,166,248, 62, 22,164, 33, 63,102, 75,243, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,233, 95,213, 62, 20,237,248, 62,147,124,212, 62,146,215,250, 62, 87, 99,200, 62,
+172,217,245, 62, 65,114,203, 62,159,143,243, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 14, 49, 36, 63,
+253, 88,239, 62,243, 33, 35, 63, 80,143,245, 62, 22,164, 33, 63,102, 75,243, 62, 30,160, 34, 63,169, 47,238, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 65,114,203, 62,159,143,243, 62, 87, 99,200, 62,172,217,245, 62, 97, 71,198, 62,
+192,149,239, 62,188,128,201, 62,126,110,238, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 79, 9, 36, 63,
+ 94,224,229, 62, 14, 49, 36, 63,253, 88,239, 62, 30,160, 34, 63,169, 47,238, 62,131,144, 34, 63,253, 87,231, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,188,128,201, 62,126,110,238, 62, 97, 71,198, 62,192,149,239, 62,148,192,198, 62,
+182, 11,230, 62,141,190,201, 62,124,140,231, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,156,136, 31, 63,
+194,138,219, 62, 79, 9, 36, 63, 94,224,229, 62,131,144, 34, 63,253, 87,231, 62, 21,208, 30, 63,174,182,221, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,141,190,201, 62,124,140,231, 62,148,192,198, 62,182, 11,230, 62,254, 30,208, 62,
+204,177,219, 62,168,133,209, 62, 51,221,221, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,205,198, 26, 63,
+124,184,214, 62,156,136, 31, 63,194,138,219, 62, 21,208, 30, 63,174,182,221, 62,128,218, 26, 63, 68,206,217, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,168,133,209, 62, 51,221,221, 62,254, 30,208, 62,204,177,219, 62,216,214,217, 62,
+218,224,214, 62, 11,157,217, 62, 64,243,217, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217, 53, 19, 63,
+ 16,211,218, 62,205,198, 26, 63,124,184,214, 62,128,218, 26, 63, 68,206,217, 62,103, 53, 20, 63,236, 84,221, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 11,157,217, 62, 64,243,217, 62,216,214,217, 62,218,224,214, 62, 8, 14,233, 62,
+ 66,226,218, 62, 68, 5,231, 62,234,101,221, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 4,216, 16, 63,
+160, 24,224, 62,217, 53, 19, 63, 16,211,218, 62,103, 53, 20, 63,236, 84,221, 62, 81, 87, 18, 63, 33,175,226, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68, 5,231, 62,234,101,221, 62, 8, 14,233, 62, 66,226,218, 62,119,193,237, 62,
+190, 38,224, 62,180,187,234, 62,249,190,226, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 55, 44, 19, 63,
+ 86, 21,250, 62,184,171, 16, 63, 40,133,241, 62, 98, 68, 18, 63,150,197,240, 62, 9,165, 20, 63,248, 99,247, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 35,197,234, 62,215,226,240, 62,218,252,237, 62, 62,160,241, 62,153,228,232, 62,
+154, 67,250, 62,232,232,229, 62, 74,142,247, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,184,171, 16, 63,
+ 40,133,241, 62,120,200, 15, 63, 84,255,231, 62,161, 4, 18, 63,138,184,232, 62, 98, 68, 18, 63,150,197,240, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,154, 85,235, 62, 92,206,232, 62, 21,211,239, 62,185, 18,232, 62,218,252,237, 62,
+ 62,160,241, 62, 35,197,234, 62,215,226,240, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120,200, 15, 63,
+ 84,255,231, 62, 4,216, 16, 63,160, 24,224, 62, 81, 87, 18, 63, 33,175,226, 62,161, 4, 18, 63,138,184,232, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,180,187,234, 62,249,190,226, 62,119,193,237, 62,190, 38,224, 62, 21,211,239, 62,
+185, 18,232, 62,154, 85,235, 62, 92,206,232, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,148,232, 3, 63,
+164, 17, 11, 63, 67,169, 11, 63, 18,197, 11, 63,216,120, 13, 63,160, 81, 23, 63,147, 15, 4, 63,227,248, 23, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64, 27,245, 62,100,166, 23, 63, 55, 72,248, 62, 91,232, 11, 63,148,232, 3, 63,
+164, 17, 11, 63,147, 15, 4, 63,227,248, 23, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 67,169, 11, 63,
+ 18,197, 11, 63,173,244, 22, 63,236,215, 11, 63, 94,233, 23, 63,186, 60, 16, 63,216,120, 13, 63,160, 81, 23, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,109,130,223, 62,118,165, 16, 63,220, 89,225, 62, 77, 42, 12, 63, 55, 72,248, 62,
+ 91,232, 11, 63, 64, 27,245, 62,100,166, 23, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,173,244, 22, 63,
+236,215, 11, 63, 28,105, 26, 63,242,194, 11, 63,220, 56, 28, 63, 66,250, 14, 63, 94,233, 23, 63,186, 60, 16, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,157,161,214, 62,219,110, 15, 63,220, 73,218, 62,169, 31, 12, 63,220, 89,225, 62,
+ 77, 42, 12, 63,109,130,223, 62,118,165, 16, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 28,105, 26, 63,
+242,194, 11, 63,220,158, 34, 63,175, 23, 10, 63,109, 44, 39, 63,107,221, 19, 63,220, 56, 28, 63, 66,250, 14, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,156, 26,192, 62, 31,139, 20, 63,124,109,201, 62, 72,121, 10, 63,220, 73,218, 62,
+169, 31, 12, 63,157,161,214, 62,219,110, 15, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,220,158, 34, 63,
+175, 23, 10, 63,238, 88, 46, 63,146,223, 2, 63,242, 80, 56, 63, 44,244, 6, 63,109, 44, 39, 63,107,221, 19, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 61,208,156, 62,204, 16, 7, 63,173, 87,177, 62,102, 9, 3, 63,124,109,201, 62,
+ 72,121, 10, 63,156, 26,192, 62, 31,139, 20, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,238, 88, 46, 63,
+146,223, 2, 63, 62,134, 48, 63, 37,107,249, 62,195,173, 54, 63,239,106,252, 62,242, 80, 56, 63, 44,244, 6, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,202, 36,160, 62, 94, 51,252, 62,172,229,172, 62,116,127,249, 62,173, 87,177, 62,
+102, 9, 3, 63, 61,208,156, 62,204, 16, 7, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 62,134, 48, 63,
+ 37,107,249, 62, 38,229, 50, 63,169, 32,226, 62,154, 88, 53, 63,240,146,221, 62,195,173, 54, 63,239,106,252, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,128,172,162, 62, 17,169,221, 62,196, 39,168, 62,206, 11,226, 62,172,229,172, 62,
+116,127,249, 62,202, 36,160, 62, 94, 51,252, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0, 38,229, 50, 63,
+169, 32,226, 62, 87, 57, 43, 63,222, 58,206, 62,240,117, 49, 63,164,138,198, 62,154, 88, 53, 63,240,146,221, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,147,137,172, 62,148, 19,198, 62,130,207,184, 62, 42, 27,206, 62,196, 39,168, 62,
+206, 11,226, 62,128,172,162, 62, 17,169,221, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 87, 57, 43, 63,
+222, 58,206, 62, 91, 94, 37, 63,107,120,187, 62,156,160, 41, 63, 56,175,182, 62,240,117, 49, 63,164,138,198, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,202,212,188, 62,245,163,182, 62,156, 28,197, 62,166,130,187, 62,130,207,184, 62,
+ 42, 27,206, 62,147,137,172, 62,148, 19,198, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,165,252, 48, 63,
+133, 33, 85, 62,112, 54, 48, 63, 20, 19, 96, 62,172, 36, 46, 63,208, 7,129, 62,240, 17, 42, 63,129, 84, 97, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 76, 71,181, 62,204,200,131, 62,117,121,175, 62,183,185,106, 62,217, 24,172, 62,
+ 21,237, 92, 62,138, 81,187, 62, 59, 40,103, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,204, 89, 48, 63,
+134,194, 4, 62,165,252, 48, 63,133, 33, 85, 62,240, 17, 42, 63,129, 84, 97, 62,160,125, 37, 63, 50,211, 46, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,138, 81,187, 62, 59, 40,103, 62,217, 24,172, 62, 21,237, 92, 62, 94,197,172, 62,
+109,200, 4, 62, 25,121,195, 62, 46,253, 48, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 11, 44, 20, 63,
+ 20, 26,163, 61,204, 89, 48, 63,134,194, 4, 62,160,125, 37, 63, 50,211, 46, 62, 40, 92, 24, 63,214,184, 21, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0, 25,121,195, 62, 46,253, 48, 62, 94,197,172, 62,109,200, 4, 62,140,122,230, 62,
+202,248,161, 61,216, 13,222, 62,222,116, 22, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,174,254, 16, 63,
+ 94, 45, 34, 62,219,199, 3, 63, 18, 28,229, 61, 11, 44, 20, 63, 20, 26,163, 61, 40, 92, 24, 63,214,184, 21, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,140,122,230, 62,202,248,161, 61,219,199, 3, 63, 18, 28,229, 61,140,248,236, 62,
+182,202, 34, 62,216, 13,222, 62,222,116, 22, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,184,152, 21, 63,
+182, 47, 53, 62,174,254, 16, 63, 94, 45, 34, 62, 40, 92, 24, 63,214,184, 21, 62,209, 52, 25, 63, 76,140, 51, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,216, 13,222, 62,222,116, 22, 62,140,248,236, 62,182,202, 34, 62,183,207,227, 62,
+250, 75, 54, 62,229,137,220, 62,185,228, 52, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,137, 57, 22, 63,
+ 81, 93, 61, 62,184,152, 21, 63,182, 47, 53, 62,209, 52, 25, 63, 76,140, 51, 62,193,166, 30, 63,114,168, 73, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,229,137,220, 62,185,228, 52, 62,183,207,227, 62,250, 75, 54, 62,122,152,226, 62,
+190,166, 62, 62, 54,198,209, 62, 18,240, 75, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,250,249, 22, 63,
+160,251, 88, 62,137, 57, 22, 63, 81, 93, 61, 62,193,166, 30, 63,114,168, 73, 62, 75, 0, 36, 63,229, 47,116, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 54,198,209, 62, 18,240, 75, 62,122,152,226, 62,190,166, 62, 62, 90, 83,225, 62,
+ 21,153, 90, 62,211,231,199, 62,216,237,119, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,193,166, 30, 63,
+114,168, 73, 62,160,125, 37, 63, 50,211, 46, 62,240, 17, 42, 63,129, 84, 97, 62, 75, 0, 36, 63,229, 47,116, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,138, 81,187, 62, 59, 40,103, 62, 25,121,195, 62, 46,253, 48, 62, 54,198,209, 62,
+ 18,240, 75, 62,211,231,199, 62,216,237,119, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,193,166, 30, 63,
+114,168, 73, 62,209, 52, 25, 63, 76,140, 51, 62, 40, 92, 24, 63,214,184, 21, 62,160,125, 37, 63, 50,211, 46, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,216, 13,222, 62,222,116, 22, 62,229,137,220, 62,185,228, 52, 62, 54,198,209, 62,
+ 18,240, 75, 62, 25,121,195, 62, 46,253, 48, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 37,163, 36, 63,
+191,168,140, 62, 75, 0, 36, 63,229, 47,116, 62,240, 17, 42, 63,129, 84, 97, 62,172, 36, 46, 63,208, 7,129, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,138, 81,187, 62, 59, 40,103, 62,211,231,199, 62,216,237,119, 62, 6, 64,199, 62,
+105, 6,142, 62, 76, 71,181, 62,204,200,131, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
+ 17, 56,132, 62,250,249, 22, 63,160,251, 88, 62, 75, 0, 36, 63,229, 47,116, 62, 37,163, 36, 63,191,168,140, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,211,231,199, 62,216,237,119, 62, 90, 83,225, 62, 21,153, 90, 62, 54, 42,221, 62,
+209, 25,133, 62, 6, 64,199, 62,105, 6,142, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,208, 46, 27, 63,
+149, 35,148, 62, 91, 60, 36, 63,221,222,150, 62,222,170, 33, 63, 74,126,158, 62, 36,177, 27, 63,158,151,156, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 72,234,204, 62, 56, 63,159, 62,150,245,199, 62, 85, 15,152, 62,238,166,217, 62,
+229,221,148, 62, 0,160,216, 62,127, 44,157, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20, 81, 25, 63,
+ 17, 56,132, 62, 37,163, 36, 63,191,168,140, 62, 91, 60, 36, 63,221,222,150, 62,208, 46, 27, 63,149, 35,148, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,150,245,199, 62, 85, 15,152, 62, 6, 64,199, 62,105, 6,142, 62, 54, 42,221, 62,
+209, 25,133, 62,238,166,217, 62,229,221,148, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,
+159, 77,166, 62, 36,177, 27, 63,158,151,156, 62,222,170, 33, 63, 74,126,158, 62,102,212, 31, 63,144,192,164, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 72,234,204, 62, 56, 63,159, 62, 0,160,216, 62,127, 44,157, 62,115, 21,216, 62,
+ 14,177,166, 62, 17,119,208, 62,201, 65,165, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,111,239, 27, 63,
+159, 77,166, 62,102,212, 31, 63,144,192,164, 62,156,160, 41, 63, 56,175,182, 62, 91, 94, 37, 63,107,120,187, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,202,212,188, 62,245,163,182, 62, 17,119,208, 62,201, 65,165, 62,115, 21,216, 62,
+ 14,177,166, 62,156, 28,197, 62,166,130,187, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,104,119,194, 62,
+164,189, 82, 63, 23, 73,212, 62,152,239, 90, 63,100,192,205, 62, 46,238, 97, 63, 38, 56,185, 62, 72,154, 91, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,228, 94,141, 62, 86,234,100, 63, 84, 66,150, 62,114,154, 94, 63,230, 86,173, 62,
+ 79, 66, 98, 63, 20,143,162, 62, 44,173,106, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 72,122, 87, 63,
+216, 8, 62, 62,202,106, 84, 63,137,185,113, 62,226, 77, 72, 63,204, 21,121, 62,158,225, 71, 63,113, 34, 68, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,132, 32,137, 62,181, 65,121, 62,168,179,107, 62,139,127,103, 62,210,147,114, 62,
+212,116, 61, 62,248,125,142, 62, 30, 4, 80, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,158,225, 71, 63,
+113, 34, 68, 62,226, 77, 72, 63,204, 21,121, 62, 8, 7, 51, 63, 5,186,130, 62, 3,166, 49, 63,232, 57, 96, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 18,197,172, 62, 41,112,133, 62,132, 32,137, 62,181, 65,121, 62,248,125,142, 62,
+ 30, 4, 80, 62,121,228,174, 62, 52, 79,109, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 3,166, 49, 63,
+232, 57, 96, 62, 8, 7, 51, 63, 5,186,130, 62,172, 36, 46, 63,208, 7,129, 62,112, 54, 48, 63, 20, 19, 96, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 76, 71,181, 62,204,200,131, 62, 18,197,172, 62, 41,112,133, 62,121,228,174, 62,
+ 52, 79,109, 62,117,121,175, 62,183,185,106, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 37,163, 36, 63,
+191,168,140, 62,172, 36, 46, 63,208, 7,129, 62, 8, 7, 51, 63, 5,186,130, 62, 91, 60, 36, 63,221,222,150, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 18,197,172, 62, 41,112,133, 62, 76, 71,181, 62,204,200,131, 62, 6, 64,199, 62,
+105, 6,142, 62,150,245,199, 62, 85, 15,152, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,154, 88, 53, 63,
+240,146,221, 62,240,117, 49, 63,164,138,198, 62,224, 19, 69, 63, 24, 68,190, 62, 53, 64, 74, 63,171, 31,224, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,250, 78,134, 62,148,213,186, 62,147,137,172, 62,148, 19,198, 62,128,172,162, 62,
+ 17,169,221, 62,184,112,114, 62,248,169,220, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 54, 74,214, 62,
+ 20, 55, 70, 63, 48,130,233, 62,188, 69, 83, 63, 23, 73,212, 62,152,239, 90, 63,104,119,194, 62,164,189, 82, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 84, 66,150, 62,114,154, 94, 63, 66, 1,153, 62,245,149, 81, 63, 38, 56,185, 62,
+102,110, 83, 63,230, 86,173, 62, 79, 66, 98, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,106,242, 66, 63,
+202, 94, 25, 63,190,100, 70, 63,222,234, 15, 63, 90,189, 77, 63,233, 88, 17, 63, 8,206, 74, 63, 88,118, 27, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 22, 32, 96, 62, 66, 60, 16, 63, 86, 87,125, 62,174, 5, 15, 63, 78,187,132, 62,
+180, 44, 24, 63, 26, 79,108, 62,124, 1, 26, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 8,206, 74, 63,
+ 88,118, 27, 63, 90,189, 77, 63,233, 88, 17, 63, 72,139, 85, 63,103, 51, 19, 63,220,119, 85, 63, 77, 71, 31, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64,199, 64, 62, 26, 40, 18, 63, 22, 32, 96, 62, 66, 60, 16, 63, 26, 79,108, 62,
+124, 1, 26, 63, 44,191, 67, 62, 90, 89, 30, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,220,119, 85, 63,
+ 77, 71, 31, 63, 72,139, 85, 63,103, 51, 19, 63,228,213,100, 63, 72,156, 20, 63, 18, 82, 96, 63,128,133, 34, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,226, 50, 1, 62,184, 68, 20, 63, 64,199, 64, 62, 26, 40, 18, 63, 44,191, 67, 62,
+ 90, 89, 30, 63,194,204, 24, 62, 32,186, 34, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,242, 80, 56, 63,
+ 44,244, 6, 63,195,173, 54, 63,239,106,252, 62,115,205, 60, 63,213,150,253, 62,166, 14, 64, 63, 81, 80, 4, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,190, 85,147, 62, 91,176,252, 62,202, 36,160, 62, 94, 51,252, 62, 61,208,156, 62,
+204, 16, 7, 63,160,121,140, 62, 74,197, 3, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,166, 14, 64, 63,
+ 81, 80, 4, 63,115,205, 60, 63,213,150,253, 62, 68,103, 73, 63,233,248, 0, 63,248, 12, 75, 63, 64,206, 8, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,144, 59,115, 62,102,143,255, 62,190, 85,147, 62, 91,176,252, 62,160,121,140, 62,
+ 74,197, 3, 63, 78,135,107, 62, 88,182, 7, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,248, 12, 75, 63,
+ 64,206, 8, 63, 68,103, 73, 63,233,248, 0, 63,239,151, 82, 63, 86,223, 3, 63,181,227, 82, 63,189,102, 11, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 82, 17, 77, 62,162, 98, 2, 63,144, 59,115, 62,102,143,255, 62, 78,135,107, 62,
+ 88,182, 7, 63,202, 98, 75, 62,108, 43, 10, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,181,227, 82, 63,
+189,102, 11, 63,239,151, 82, 63, 86,223, 3, 63, 92,224, 91, 63,239,144, 5, 63,161,148, 90, 63,146, 95, 13, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,178, 40, 38, 62, 14,230, 3, 63, 82, 17, 77, 62,162, 98, 2, 63,202, 98, 75, 62,
+108, 43, 10, 63, 10,162, 43, 62, 8, 50, 12, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120, 89,103, 63,
+105, 76, 2, 63,170,179,103, 63,142,105, 12, 63,161,148, 90, 63,146, 95, 13, 63, 92,224, 91, 63,239,144, 5, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 10,162, 43, 62, 8, 50, 12, 63,168, 41,231, 61,158, 83, 11, 63,116,128,234, 61,
+200, 39, 0, 63,178, 40, 38, 62, 14,230, 3, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228,213,100, 63,
+ 72,156, 20, 63, 72,139, 85, 63,103, 51, 19, 63,161,148, 90, 63,146, 95, 13, 63,170,179,103, 63,142,105, 12, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 10,162, 43, 62, 8, 50, 12, 63, 64,199, 64, 62, 26, 40, 18, 63,226, 50, 1, 62,
+184, 68, 20, 63,168, 41,231, 61,158, 83, 11, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 72,139, 85, 63,
+103, 51, 19, 63, 90,189, 77, 63,233, 88, 17, 63,181,227, 82, 63,189,102, 11, 63,161,148, 90, 63,146, 95, 13, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,202, 98, 75, 62,108, 43, 10, 63, 22, 32, 96, 62, 66, 60, 16, 63, 64,199, 64, 62,
+ 26, 40, 18, 63, 10,162, 43, 62, 8, 50, 12, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 90,189, 77, 63,
+233, 88, 17, 63,190,100, 70, 63,222,234, 15, 63,248, 12, 75, 63, 64,206, 8, 63,181,227, 82, 63,189,102, 11, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 78,135,107, 62, 88,182, 7, 63, 86, 87,125, 62,174, 5, 15, 63, 22, 32, 96, 62,
+ 66, 60, 16, 63,202, 98, 75, 62,108, 43, 10, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,190,100, 70, 63,
+222,234, 15, 63, 82,235, 60, 63, 27, 12, 12, 63,166, 14, 64, 63, 81, 80, 4, 63,248, 12, 75, 63, 64,206, 8, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,121,140, 62, 74,197, 3, 63, 78,230,145, 62,148,225, 11, 63, 86, 87,125, 62,
+174, 5, 15, 63, 78,135,107, 62, 88,182, 7, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 31,118, 57, 63,
+230, 79, 12, 63,242, 80, 56, 63, 44,244, 6, 63,166, 14, 64, 63, 81, 80, 4, 63, 82,235, 60, 63, 27, 12, 12, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,160,121,140, 62, 74,197, 3, 63, 61,208,156, 62,204, 16, 7, 63, 0,199,152, 62,
+ 13,133, 12, 63, 78,230,145, 62,148,225, 11, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,195,240, 57, 63,
+ 10,138, 23, 63, 82,235, 60, 63, 27, 12, 12, 63,190,100, 70, 63,222,234, 15, 63,106,242, 66, 63,202, 94, 25, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 86, 87,125, 62,174, 5, 15, 63, 78,230,145, 62,148,225, 11, 63,247, 7,150, 62,
+ 96, 12, 23, 63, 78,187,132, 62,180, 44, 24, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,216,120, 13, 63,
+160, 81, 23, 63, 94,233, 23, 63,186, 60, 16, 63,220, 56, 28, 63, 66,250, 14, 63,109, 44, 39, 63,107,221, 19, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,157,161,214, 62,219,110, 15, 63,109,130,223, 62,118,165, 16, 63, 64, 27,245, 62,
+100,166, 23, 63,156, 26,192, 62, 31,139, 20, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,176, 29, 56, 63,
+ 88,206, 20, 63, 31,118, 57, 63,230, 79, 12, 63, 82,235, 60, 63, 27, 12, 12, 63,195,240, 57, 63, 10,138, 23, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 78,230,145, 62,148,225, 11, 63, 0,199,152, 62, 13,133, 12, 63,239,211,153, 62,
+220,159, 20, 63,247, 7,150, 62, 96, 12, 23, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 48,148, 54, 63,
+220,206, 22, 63,176, 29, 56, 63, 88,206, 20, 63,195,240, 57, 63, 10,138, 23, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,247, 7,150, 62, 96, 12, 23, 63,239,211,153, 62,220,159, 20, 63,108,106,156, 62,
+146,154, 22, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,195,173, 54, 63,
+239,106,252, 62,154, 88, 53, 63,240,146,221, 62, 53, 64, 74, 63,171, 31,224, 62,115,205, 60, 63,213,150,253, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,184,112,114, 62,248,169,220, 62,128,172,162, 62, 17,169,221, 62,202, 36,160, 62,
+ 94, 51,252, 62,190, 85,147, 62, 91,176,252, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0, 53, 64, 74, 63,
+171, 31,224, 62,217,106, 81, 63, 14,214,232, 62, 68,103, 73, 63,233,248, 0, 63,115,205, 60, 63,213,150,253, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,144, 59,115, 62,102,143,255, 62, 88, 93, 84, 62, 50,105,228, 62,184,112,114, 62,
+248,169,220, 62,190, 85,147, 62, 91,176,252, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63,
+ 14,214,232, 62,106,154, 93, 63,226, 26,233, 62,239,151, 82, 63, 86,223, 3, 63, 68,103, 73, 63,233,248, 0, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 82, 17, 77, 62,162, 98, 2, 63,128, 1, 33, 62, 70,210,226, 62, 88, 93, 84, 62,
+ 50,105,228, 62,144, 59,115, 62,102,143,255, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120, 89,103, 63,
+105, 76, 2, 63, 92,224, 91, 63,239,144, 5, 63,239,151, 82, 63, 86,223, 3, 63,106,154, 93, 63,226, 26,233, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 82, 17, 77, 62,162, 98, 2, 63,178, 40, 38, 62, 14,230, 3, 63,116,128,234, 61,
+200, 39, 0, 63,128, 1, 33, 62, 70,210,226, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 8, 7, 51, 63,
+ 5,186,130, 62,226, 77, 72, 63,204, 21,121, 62,154,254, 73, 63,178, 82,140, 62, 90,188, 56, 63,103,207,159, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,249,249,130, 62,246,175,137, 62,132, 32,137, 62,181, 65,121, 62, 18,197,172, 62,
+ 41,112,133, 62,192, 5,161, 62,228, 40,159, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,224, 19, 69, 63,
+ 24, 68,190, 62, 90,188, 56, 63,103,207,159, 62,154,254, 73, 63,178, 82,140, 62,216,217, 77, 63, 7,228,157, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,249,249,130, 62,246,175,137, 62,192, 5,161, 62,228, 40,159, 62,250, 78,134, 62,
+148,213,186, 62,154,118,111, 62,120,108,152, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,240,117, 49, 63,
+164,138,198, 62,156,160, 41, 63, 56,175,182, 62, 90,188, 56, 63,103,207,159, 62,224, 19, 69, 63, 24, 68,190, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192, 5,161, 62,228, 40,159, 62,202,212,188, 62,245,163,182, 62,147,137,172, 62,
+148, 19,198, 62,250, 78,134, 62,148,213,186, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,156,160, 41, 63,
+ 56,175,182, 62,222,170, 33, 63, 74,126,158, 62, 91, 60, 36, 63,221,222,150, 62, 90,188, 56, 63,103,207,159, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,150,245,199, 62, 85, 15,152, 62, 72,234,204, 62, 56, 63,159, 62,202,212,188, 62,
+245,163,182, 62,192, 5,161, 62,228, 40,159, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 91, 60, 36, 63,
+221,222,150, 62, 8, 7, 51, 63, 5,186,130, 62, 90,188, 56, 63,103,207,159, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192, 5,161, 62,228, 40,159, 62, 18,197,172, 62, 41,112,133, 62,150,245,199, 62,
+ 85, 15,152, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,156,160, 41, 63,
+ 56,175,182, 62,102,212, 31, 63,144,192,164, 62,222,170, 33, 63, 74,126,158, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 72,234,204, 62, 56, 63,159, 62, 17,119,208, 62,201, 65,165, 62,202,212,188, 62,
+245,163,182, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,226, 44,245, 62,
+129,140, 96, 63, 42,135,227, 62, 58, 2,101, 63,136,168,219, 62, 30,236, 95, 63,135, 30,238, 62,200, 41, 90, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216,240,137, 62, 90,226, 93, 63,110,103,122, 62,236,255, 92, 63, 74, 84,120, 62,
+104, 32, 83, 63, 32,193,138, 62, 16, 3, 83, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 48,130,233, 62,
+188, 69, 83, 63,135, 30,238, 62,200, 41, 90, 63,136,168,219, 62, 30,236, 95, 63, 23, 73,212, 62,152,239, 90, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216,240,137, 62, 90,226, 93, 63, 32,193,138, 62, 16, 3, 83, 63, 66, 1,153, 62,
+245,149, 81, 63, 84, 66,150, 62,114,154, 94, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216,217, 77, 63,
+ 7,228,157, 62,154,254, 73, 63,178, 82,140, 62, 33, 61, 90, 63,195,207,124, 62,160,225, 90, 63,110,121,137, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0, 98,207, 81, 62,109, 1,110, 62,249,249,130, 62,246,175,137, 62,154,118,111, 62,
+120,108,152, 62,166,125, 74, 62,252, 30,130, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,226, 77, 72, 63,
+204, 21,121, 62,202,106, 84, 63,137,185,113, 62, 33, 61, 90, 63,195,207,124, 62,154,254, 73, 63,178, 82,140, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 98,207, 81, 62,109, 1,110, 62,168,179,107, 62,139,127,103, 62,132, 32,137, 62,
+181, 65,121, 62,249,249,130, 62,246,175,137, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 23, 73,212, 62,
+152,239, 90, 63,136,168,219, 62, 30,236, 95, 63,100,192,205, 62, 46,238, 97, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0,228, 94,141, 62, 86,234,100, 63,216,240,137, 62, 90,226, 93, 63, 84, 66,150, 62,
+114,154, 94, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 31,178,109, 63,
+224, 68,228, 62, 46,178,102, 63,100,184,232, 62,100,251,101, 63,238,198,227, 62, 94,173,107, 63,168,130,225, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68,209,249, 61, 70,134,219, 62,120,216,242, 61,124, 40,225, 62, 28, 27,177, 61,
+ 42,240,219, 62, 76,131,196, 61,196, 97,216, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 31,178,109, 63,
+224, 68,228, 62, 94,173,107, 63,168,130,225, 62,144,102,114, 63,198, 23,220, 62, 41, 76,116, 63,139,153,222, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 56,163,120, 61, 58,252,208, 62, 76,131,196, 61,196, 97,216, 62, 28, 27,177, 61,
+ 42,240,219, 62,128,183, 73, 61, 84,108,213, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 41, 76,116, 63,
+139,153,222, 62,144,102,114, 63,198, 23,220, 62, 84, 87,117, 63,221,255,211, 62,183,115,119, 63,140, 49,215, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,144, 29, 55, 61,207,183,194, 62, 56,163,120, 61, 58,252,208, 62,128,183, 73, 61,
+ 84,108,213, 62,224,111,231, 60,100,142,198, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,183,115,119, 63,
+140, 49,215, 62, 84, 87,117, 63,221,255,211, 62,150, 20,118, 63, 60,110,196, 62, 49, 12,122, 63,246, 8,197, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 96,197,103, 61, 15,206,170, 62,144, 29, 55, 61,207,183,194, 62,224,111,231, 60,
+100,142,198, 62,240, 54, 16, 61,120, 4,167, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 49, 12,122, 63,
+246, 8,197, 62,150, 20,118, 63, 60,110,196, 62, 17,155,108, 63,130,201,178, 62, 84,190,110, 63,223, 77,172, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,148,252,246, 61,164,116,160, 62, 96,197,103, 61, 15,206,170, 62,240, 54, 16, 61,
+120, 4,167, 62, 8, 66,246, 61, 28,161,152, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 84,190,110, 63,
+223, 77,172, 62, 17,155,108, 63,130,201,178, 62, 21,180, 92, 63,202, 95,173, 62,151, 5, 90, 63,138, 61,167, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,144,216, 54, 62, 35, 76,163, 62,148,252,246, 61,164,116,160, 62, 8, 66,246, 61,
+ 28,161,152, 62,194,251, 66, 62,163,102,158, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 17,155,108, 63,
+130,201,178, 62,198,132,109, 63,182,157,186, 62, 68, 32, 97, 63,192, 12,178, 62, 21,180, 92, 63,202, 95,173, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 48,185, 36, 62, 16, 7,166, 62, 40, 91,221, 61, 4,194,167, 62,148,252,246, 61,
+164,116,160, 62,144,216, 54, 62, 35, 76,163, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,150, 20,118, 63,
+ 60,110,196, 62, 84,225,115, 63,208, 85,198, 62,198,132,109, 63,182,157,186, 62, 17,155,108, 63,130,201,178, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 40, 91,221, 61, 4,194,167, 62,244,221,134, 61,121,164,175, 62, 96,197,103, 61,
+ 15,206,170, 62,148,252,246, 61,164,116,160, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 84, 87,117, 63,
+221,255,211, 62,222, 48,116, 63,169, 8,209, 62, 84,225,115, 63,208, 85,198, 62,150, 20,118, 63, 60,110,196, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,244,221,134, 61,121,164,175, 62,160,108, 93, 61, 17,207,190, 62,144, 29, 55, 61,
+207,183,194, 62, 96,197,103, 61, 15,206,170, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,144,102,114, 63,
+198, 23,220, 62,174,151,113, 63, 26,229,214, 62,222, 48,116, 63,169, 8,209, 62, 84, 87,117, 63,221,255,211, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,108, 93, 61, 17,207,190, 62, 12,155,135, 61,166, 39,201, 62, 56,163,120, 61,
+ 58,252,208, 62,144, 29, 55, 61,207,183,194, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 94,173,107, 63,
+168,130,225, 62,228,239,107, 63, 62, 59,218, 62,174,151,113, 63, 26,229,214, 62,144,102,114, 63,198, 23,220, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 12,155,135, 61,166, 39,201, 62,128, 47,195, 61, 6, 11,207, 62, 76,131,196, 61,
+196, 97,216, 62, 56,163,120, 61, 58,252,208, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 94,173,107, 63,
+168,130,225, 62,100,251,101, 63,238,198,227, 62, 71,205,102, 63,132, 94,219, 62,228,239,107, 63, 62, 59,218, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,192,157,244, 61,157,137,209, 62, 68,209,249, 61, 70,134,219, 62, 76,131,196, 61,
+196, 97,216, 62,128, 47,195, 61, 6, 11,207, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,224, 19, 69, 63,
+ 24, 68,190, 62,216,217, 77, 63, 7,228,157, 62,236, 35, 85, 63,164,201,181, 62, 56, 92, 78, 63,177,114,188, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,122, 91, 80, 62, 72, 18,174, 62,154,118,111, 62,120,108,152, 62,250, 78,134, 62,
+148,213,186, 62,162,163,104, 62,150,180,182, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 32, 0,216,217, 77, 63,
+ 7,228,157, 62,151, 5, 90, 63,138, 61,167, 62, 21,180, 92, 63,202, 95,173, 62,236, 35, 85, 63,164,201,181, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,144,216, 54, 62, 35, 76,163, 62,194,251, 66, 62,163,102,158, 62,154,118,111, 62,
+120,108,152, 62,122, 91, 80, 62, 72, 18,174, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 53, 64, 74, 63,
+171, 31,224, 62,224, 19, 69, 63, 24, 68,190, 62, 56, 92, 78, 63,177,114,188, 62,217,106, 81, 63, 14,214,232, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,162,163,104, 62,150,180,182, 62,250, 78,134, 62,148,213,186, 62,184,112,114, 62,
+248,169,220, 62, 88, 93, 84, 62, 50,105,228, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,106,154, 93, 63,
+226, 26,233, 62,196,229, 94, 63,128,195,224, 62,100,251,101, 63,238,198,227, 62, 46,178,102, 63,100,184,232, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68,209,249, 61, 70,134,219, 62,108,187, 28, 62, 48, 86,217, 62,128, 1, 33, 62,
+ 70,210,226, 62,120,216,242, 61,124, 40,225, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 21,180, 92, 63,
+202, 95,173, 62, 68, 32, 97, 63,192, 12,178, 62, 9,215, 94, 63, 4, 54,186, 62,236, 35, 85, 63,164,201,181, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 60,122, 41, 62, 16, 58,175, 62, 48,185, 36, 62, 16, 7,166, 62,144,216, 54, 62,
+ 35, 76,163, 62,122, 91, 80, 62, 72, 18,174, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,230, 78, 95, 63,
+ 4,233,189, 62, 32,188, 86, 63, 44, 62,190, 62,236, 35, 85, 63,164,201,181, 62, 9,215, 94, 63, 4, 54,186, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,122, 91, 80, 62, 72, 18,174, 62, 78,118, 71, 62, 27, 49,182, 62, 52,225, 37, 62,
+ 40, 12,179, 62, 60,122, 41, 62, 16, 58,175, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 70,166, 92, 63,
+ 0,166,197, 62, 32,188, 86, 63, 44, 62,190, 62,230, 78, 95, 63, 4,233,189, 62,226, 13, 95, 63, 37,152,194, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 52,225, 37, 62, 40, 12,179, 62, 78,118, 71, 62, 27, 49,182, 62,142,143, 45, 62,
+237, 37,188, 62,106,230, 36, 62,222, 27,184, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,248, 90, 95, 63,
+100,122,207, 62,108,249, 90, 63, 58,199,212, 62, 32,188, 86, 63, 44, 62,190, 62, 70,166, 92, 63, 0,166,197, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 78,118, 71, 62, 27, 49,182, 62,110, 56, 48, 62,230, 43,205, 62,174,250, 30, 62,
+ 26, 12,198, 62,142,143, 45, 62,237, 37,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,196,229, 94, 63,
+128,195,224, 62,108,249, 90, 63, 58,199,212, 62,248, 90, 95, 63,100,122,207, 62, 92,104, 98, 63,197,136,215, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,174,250, 30, 62, 26, 12,198, 62,110, 56, 48, 62,230, 43,205, 62,108,187, 28, 62,
+ 48, 86,217, 62,212, 59, 15, 62,224, 50,206, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,100,251,101, 63,
+238,198,227, 62,196,229, 94, 63,128,195,224, 62, 92,104, 98, 63,197,136,215, 62, 71,205,102, 63,132, 94,219, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,212, 59, 15, 62,224, 50,206, 62,108,187, 28, 62, 48, 86,217, 62, 68,209,249, 61,
+ 70,134,219, 62,192,157,244, 61,157,137,209, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63,
+ 14,214,232, 62,108,249, 90, 63, 58,199,212, 62,196,229, 94, 63,128,195,224, 62,106,154, 93, 63,226, 26,233, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,108,187, 28, 62, 48, 86,217, 62,110, 56, 48, 62,230, 43,205, 62, 88, 93, 84, 62,
+ 50,105,228, 62,128, 1, 33, 62, 70,210,226, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,217,106, 81, 63,
+ 14,214,232, 62, 56, 92, 78, 63,177,114,188, 62, 32,188, 86, 63, 44, 62,190, 62,108,249, 90, 63, 58,199,212, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 78,118, 71, 62, 27, 49,182, 62,162,163,104, 62,150,180,182, 62, 88, 93, 84, 62,
+ 50,105,228, 62,110, 56, 48, 62,230, 43,205, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 56, 92, 78, 63,
+177,114,188, 62,236, 35, 85, 63,164,201,181, 62, 32,188, 86, 63, 44, 62,190, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 78,118, 71, 62, 27, 49,182, 62,122, 91, 80, 62, 72, 18,174, 62,162,163,104, 62,
+150,180,182, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 71,205,102, 63,
+132, 94,219, 62, 92,104, 98, 63,197,136,215, 62,182,109,100, 63,149,255,210, 62, 54, 86,104, 63,209,241,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,107, 7, 62, 34,103,200, 62,212, 59, 15, 62,224, 50,206, 62,192,157,244, 61,
+157,137,209, 62, 8, 2,232, 61, 20,214,203, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92,104, 98, 63,
+197,136,215, 62,248, 90, 95, 63,100,122,207, 62,112,206, 97, 63, 10,202,204, 62,182,109,100, 63,149,255,210, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64, 68, 21, 62,107, 55,194, 62,174,250, 30, 62, 26, 12,198, 62,212, 59, 15, 62,
+224, 50,206, 62,160,107, 7, 62, 34,103,200, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,248, 90, 95, 63,
+100,122,207, 62, 70,166, 92, 63, 0,166,197, 62, 82,241, 94, 63, 40,103,198, 62,112,206, 97, 63, 10,202,204, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 20,225, 35, 62, 39, 50,188, 62,142,143, 45, 62,237, 37,188, 62,174,250, 30, 62,
+ 26, 12,198, 62, 64, 68, 21, 62,107, 55,194, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 70,166, 92, 63,
+ 0,166,197, 62,226, 13, 95, 63, 37,152,194, 62,118, 1, 97, 63, 47,226,195, 62, 82,241, 94, 63, 40,103,198, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 12, 43, 28, 62,186,177,184, 62,106,230, 36, 62,222, 27,184, 62,142,143, 45, 62,
+237, 37,188, 62, 20,225, 35, 62, 39, 50,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,226, 13, 95, 63,
+ 37,152,194, 62,230, 78, 95, 63, 4,233,189, 62, 51,113, 97, 63, 92,151,189, 62,118, 1, 97, 63, 47,226,195, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,104, 67, 29, 62, 58,199,177, 62, 52,225, 37, 62, 40, 12,179, 62,106,230, 36, 62,
+222, 27,184, 62, 12, 43, 28, 62,186,177,184, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,230, 78, 95, 63,
+ 4,233,189, 62, 9,215, 94, 63, 4, 54,186, 62, 96, 69, 96, 63,152,133,187, 62, 51,113, 97, 63, 92,151,189, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,140, 14, 35, 62, 33, 19,176, 62, 60,122, 41, 62, 16, 58,175, 62, 52,225, 37, 62,
+ 40, 12,179, 62,104, 67, 29, 62, 58,199,177, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 9,215, 94, 63,
+ 4, 54,186, 62, 68, 32, 97, 63,192, 12,178, 62,112, 91, 98, 63,149,128,182, 62, 96, 69, 96, 63,152,133,187, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228,107, 29, 62, 95,230,169, 62, 48,185, 36, 62, 16, 7,166, 62, 60,122, 41, 62,
+ 16, 58,175, 62,140, 14, 35, 62, 33, 19,176, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228,239,107, 63,
+ 62, 59,218, 62, 71,205,102, 63,132, 94,219, 62, 54, 86,104, 63,209,241,214, 62, 34, 27,109, 63,155,254,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 8, 2,232, 61, 20,214,203, 62,192,157,244, 61,157,137,209, 62,128, 47,195, 61,
+ 6, 11,207, 62, 36,174,184, 61,216,130,202, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,174,151,113, 63,
+ 26,229,214, 62,228,239,107, 63, 62, 59,218, 62, 34, 27,109, 63,155,254,214, 62, 69,134,113, 63,156, 82,212, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 36,174,184, 61,216,130,202, 62,128, 47,195, 61, 6, 11,207, 62, 12,155,135, 61,
+166, 39,201, 62, 60,114,138, 61, 28, 61,197, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,222, 48,116, 63,
+169, 8,209, 62,174,151,113, 63, 26,229,214, 62, 69,134,113, 63,156, 82,212, 62, 42,143,114, 63, 24,168,207, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 60,114,138, 61, 28, 61,197, 62, 12,155,135, 61,166, 39,201, 62,160,108, 93, 61,
+ 17,207,190, 62,184, 85,132, 61, 22,211,189, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 84,225,115, 63,
+208, 85,198, 62,222, 48,116, 63,169, 8,209, 62, 42,143,114, 63, 24,168,207, 62,203,125,114, 63, 96,114,200, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,184, 85,132, 61, 22,211,189, 62,160,108, 93, 61, 17,207,190, 62,244,221,134, 61,
+121,164,175, 62, 16,152,145, 61, 84,214,179, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,198,132,109, 63,
+182,157,186, 62, 84,225,115, 63,208, 85,198, 62,203,125,114, 63, 96,114,200, 62,177,192,109, 63,152,240,190, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 16,152,145, 61, 84,214,179, 62,244,221,134, 61,121,164,175, 62, 40, 91,221, 61,
+ 4,194,167, 62, 64,226,208, 61,232, 58,172, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 68, 32, 97, 63,
+192, 12,178, 62,198,132,109, 63,182,157,186, 62,177,192,109, 63,152,240,190, 62,112, 91, 98, 63,149,128,182, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64,226,208, 61,232, 58,172, 62, 40, 91,221, 61, 4,194,167, 62, 48,185, 36, 62,
+ 16, 7,166, 62,228,107, 29, 62, 95,230,169, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,118, 1, 97, 63,
+ 47,226,195, 62, 51,113, 97, 63, 92,151,189, 62,215,139,102, 63, 15,109,193, 62, 54, 47,100, 63,186,115,198, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92,169, 5, 62,168,115,179, 62,104, 67, 29, 62, 58,199,177, 62, 12, 43, 28, 62,
+186,177,184, 62, 50, 97, 13, 62, 50, 42,186, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 54, 47,100, 63,
+186,115,198, 62,215,139,102, 63, 15,109,193, 62,174,241,105, 63,204, 8,200, 62, 71,233,103, 63,178, 42,204, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228,171,229, 61, 41, 42,185, 62, 92,169, 5, 62,168,115,179, 62, 50, 97, 13, 62,
+ 50, 42,186, 62, 92,248,243, 61, 96, 22,191, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 71,233,103, 63,
+178, 42,204, 62,174,241,105, 63,204, 8,200, 62, 51, 37,108, 63,249, 3,205, 62, 56,212,106, 63, 96,238,208, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120, 99,202, 61,192, 49,190, 62,228,171,229, 61, 41, 42,185, 62, 92,248,243, 61,
+ 96, 22,191, 62,160,209,211, 61,108,159,195, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 56,212,106, 63,
+ 96,238,208, 62, 51, 37,108, 63,249, 3,205, 62, 56, 73,110, 63,186,119,206, 62, 46,191,109, 63, 92, 64,210, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,244,234,179, 61,240,219,190, 62,120, 99,202, 61,192, 49,190, 62,160,209,211, 61,
+108,159,195, 62,196,129,181, 61,204, 14,196, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 34, 27,109, 63,
+155,254,214, 62, 54, 86,104, 63,209,241,214, 62, 56,212,106, 63, 96,238,208, 62, 46,191,109, 63, 92, 64,210, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,209,211, 61,108,159,195, 62, 8, 2,232, 61, 20,214,203, 62, 36,174,184, 61,
+216,130,202, 62,196,129,181, 61,204, 14,196, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,182,109,100, 63,
+149,255,210, 62, 71,233,103, 63,178, 42,204, 62, 56,212,106, 63, 96,238,208, 62, 54, 86,104, 63,209,241,214, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,160,209,211, 61,108,159,195, 62, 92,248,243, 61, 96, 22,191, 62,160,107, 7, 62,
+ 34,103,200, 62, 8, 2,232, 61, 20,214,203, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,182,109,100, 63,
+149,255,210, 62,112,206, 97, 63, 10,202,204, 62, 54, 47,100, 63,186,115,198, 62, 71,233,103, 63,178, 42,204, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 50, 97, 13, 62, 50, 42,186, 62, 64, 68, 21, 62,107, 55,194, 62,160,107, 7, 62,
+ 34,103,200, 62, 92,248,243, 61, 96, 22,191, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,118, 1, 97, 63,
+ 47,226,195, 62, 54, 47,100, 63,186,115,198, 62,112,206, 97, 63, 10,202,204, 62, 82,241, 94, 63, 40,103,198, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 64, 68, 21, 62,107, 55,194, 62, 50, 97, 13, 62, 50, 42,186, 62, 12, 43, 28, 62,
+186,177,184, 62, 20,225, 35, 62, 39, 50,188, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 96, 69, 96, 63,
+152,133,187, 62,112, 91, 98, 63,149,128,182, 62,215,139,102, 63, 15,109,193, 62, 51,113, 97, 63, 92,151,189, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92,169, 5, 62,168,115,179, 62,228,107, 29, 62, 95,230,169, 62,140, 14, 35, 62,
+ 33, 19,176, 62,104, 67, 29, 62, 58,199,177, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,177,192,109, 63,
+152,240,190, 62,174,241,105, 63,204, 8,200, 62,215,139,102, 63, 15,109,193, 62,112, 91, 98, 63,149,128,182, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 92,169, 5, 62,168,115,179, 62,228,171,229, 61, 41, 42,185, 62, 64,226,208, 61,
+232, 58,172, 62,228,107, 29, 62, 95,230,169, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,203,125,114, 63,
+ 96,114,200, 62, 51, 37,108, 63,249, 3,205, 62,174,241,105, 63,204, 8,200, 62,177,192,109, 63,152,240,190, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,228,171,229, 61, 41, 42,185, 62,120, 99,202, 61,192, 49,190, 62, 16,152,145, 61,
+ 84,214,179, 62, 64,226,208, 61,232, 58,172, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 42,143,114, 63,
+ 24,168,207, 62, 56, 73,110, 63,186,119,206, 62, 51, 37,108, 63,249, 3,205, 62,203,125,114, 63, 96,114,200, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120, 99,202, 61,192, 49,190, 62,244,234,179, 61,240,219,190, 62,184, 85,132, 61,
+ 22,211,189, 62, 16,152,145, 61, 84,214,179, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 69,134,113, 63,
+156, 82,212, 62, 46,191,109, 63, 92, 64,210, 62, 56, 73,110, 63,186,119,206, 62, 42,143,114, 63, 24,168,207, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,244,234,179, 61,240,219,190, 62,196,129,181, 61,204, 14,196, 62, 60,114,138, 61,
+ 28, 61,197, 62,184, 85,132, 61, 22,211,189, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 34, 27,109, 63,
+155,254,214, 62, 46,191,109, 63, 92, 64,210, 62, 69,134,113, 63,156, 82,212, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 60,114,138, 61, 28, 61,197, 62,196,129,181, 61,204, 14,196, 62, 36,174,184, 61,
+216,130,202, 62, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 84,190,110, 63,
+223, 77,172, 62,151, 5, 90, 63,138, 61,167, 62, 22, 25, 96, 63,246,248,149, 62,162,176,122, 63,145,215,161, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 64,234, 54, 62,146,219,140, 62,194,251, 66, 62,163,102,158, 62, 8, 66,246, 61,
+ 28,161,152, 62,172,241,189, 61, 13,107,132, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 49, 12,122, 63,
+246, 8,197, 62, 84,190,110, 63,223, 77,172, 62,162,176,122, 63,145,215,161, 62,188,255,126, 63,115,248,198, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0,172,241,189, 61, 13,107,132, 62, 8, 66,246, 61, 28,161,152, 62,240, 54, 16, 61,
+120, 4,167, 62, 0, 8,163, 58, 39, 69,162, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0,183,115,119, 63,
+140, 49,215, 62, 49, 12,122, 63,246, 8,197, 62,188,255,126, 63,115,248,198, 62, 47, 6,122, 63,248,157,216, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 8,163, 58, 39, 69,162, 62,240, 54, 16, 61,120, 4,167, 62,224,111,231, 60,
+100,142,198, 62,224,248, 14, 60, 70,141,198, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0, 41, 76,116, 63,
+139,153,222, 62,183,115,119, 63,140, 49,215, 62, 47, 6,122, 63,248,157,216, 62,134, 98,119, 63,204, 37,225, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,224,248, 14, 60, 70,141,198, 62,224,111,231, 60,100,142,198, 62,128,183, 73, 61,
+ 84,108,213, 62, 80,210,229, 60, 32,239,218, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 31,178,109, 63,
+224, 68,228, 62, 41, 76,116, 63,139,153,222, 62,134, 98,119, 63,204, 37,225, 62, 46,185,115, 63, 90,157,234, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 80,210,229, 60, 32,239,218, 62,128,183, 73, 61, 84,108,213, 62, 28, 27,177, 61,
+ 42,240,219, 62, 56,103,122, 61, 30, 10,230, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,128, 0, 46,178,102, 63,
+100,184,232, 62, 31,178,109, 63,224, 68,228, 62, 46,185,115, 63, 90,157,234, 62,244,134,106, 63,234, 64,246, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 56,103,122, 61, 30, 10,230, 62, 28, 27,177, 61, 42,240,219, 62,120,216,242, 61,
+124, 40,225, 62,212,222,209, 61,238,123,240, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0,235,188, 5, 63,
+252, 74, 98, 63,200,111,248, 62,197,105,112, 63, 0, 49,231, 62,118,190,107, 63,150, 57,255, 62, 53, 14, 96, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 80, 99, 95, 62,149,194, 94, 63, 58, 8, 62, 62, 10,154, 89, 63, 40, 24, 92, 62,
+ 14, 82, 74, 63,112, 11,112, 62,157,133, 78, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,235,188, 5, 63,
+252, 74, 98, 63,136,139, 12, 63,138,233,101, 63,116, 45, 6, 63,112,245,113, 63,200,111,248, 62,197,105,112, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 68,219, 36, 62,249,186, 81, 63, 28,254, 65, 62, 20, 55, 70, 63, 40, 24, 92, 62,
+ 14, 82, 74, 63, 58, 8, 62, 62, 10,154, 89, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,136,139, 12, 63,
+138,233,101, 63, 5,130, 12, 63,149,216,108, 63,116, 45, 6, 63,112,245,113, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0, 68,219, 36, 62,249,186, 81, 63, 76, 1, 42, 62, 39,178, 73, 63, 28,254, 65, 62,
+ 20, 55, 70, 63, 0, 0,128, 63, 0, 0,128, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,112, 0,120, 89,103, 63,
+105, 76, 2, 63,106,154, 93, 63,226, 26,233, 62, 46,178,102, 63,100,184,232, 62,244,134,106, 63,234, 64,246, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,120,216,242, 61,124, 40,225, 62,128, 1, 33, 62, 70,210,226, 62,116,128,234, 61,
+200, 39, 0, 63,212,222,209, 61,238,123,240, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,226, 44,245, 62,
+129,140, 96, 63,150, 57,255, 62, 53, 14, 96, 63, 0, 49,231, 62,118,190,107, 63, 42,135,227, 62, 58, 2,101, 63,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0, 80, 99, 95, 62,149,194, 94, 63,112, 11,112, 62,157,133, 78, 63, 74, 84,120, 62,
+104, 32, 83, 63,110,103,122, 62,236,255, 92, 63,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0,240, 0,216,217, 77, 63,
+ 7,228,157, 62,160,225, 90, 63,110,121,137, 62, 22, 25, 96, 63,246,248,149, 62,151, 5, 90, 63,138, 61,167, 62,136,168, 49, 3,
+ 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 16, 0, 64,234, 54, 62,146,219,140, 62,166,125, 74, 62,252, 30,130, 62,154,118,111, 62,
+120,108,152, 62,194,251, 66, 62,163,102,158, 62,136,168, 49, 3, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 64, 0, 68, 65, 84, 65,
+ 64, 31, 0, 0,168, 76, 53, 3, 0, 0, 0, 0, 53, 0, 0, 0,208, 7, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
@@ -7851,317 +8563,6 @@ char datatoc_preview_blend[]= {
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
- 77, 69, 0, 0, 24, 1, 0, 0,112, 96,182, 3, 52, 0, 0, 0, 1, 0, 0, 0,152,139,182, 3,176, 94,181, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,184, 97,182, 3,
- 16,123,182, 3, 64,127,182, 3, 0, 0, 0, 0,120, 99,182, 3, 16,112,182, 3, 0, 0, 0, 0, 56,136,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 97,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,110,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,121,182, 3,
- 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 0, 0, 0,198, 0, 0, 0, 51, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,
-214,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,184, 97,182, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,240, 97,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 99,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,224, 10, 0, 0,120, 99,182, 3, 58, 0, 0, 0,116, 0, 0, 0,
-223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,
-242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,
-250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 37, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,
-250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-127,212,140,184,242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,
-250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,
-248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,
-129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,
- 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,
-238, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,183,115, 6,193,127, 31,215, 64,238, 35,190, 64,255, 63, 1,192,
-129, 90,255, 0, 0, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-102, 32, 87,192, 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,
-244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,
-217, 29, 87, 64,112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,
-244, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64,
-247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-159,115, 6, 65,146, 30,215, 64, 74, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,135, 43,100,192,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-150, 30,215, 64,151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,
- 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 14, 29,152, 63,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,
-135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,
-129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,
-213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,
-129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,129, 43,100, 64,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-213, 91,136,184, 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,
-234, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,246, 28,152, 63,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,
- 30, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 18, 29,152,191,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-213, 91,136,184, 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,
-153, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,147, 43,100,192,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-213, 91,136,184, 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-222, 33,215,191,183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,
-154, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 32, 29,152,191,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-182,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,
- 78, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,
-129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,122, 31,215,192,180,115, 6, 65,
- 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,
-139, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,
- 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,
-253, 28,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,
-136, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-201, 28,215, 63,172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-172,163,138,184,181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,
-129, 90,255, 0, 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,136,110,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,112,182, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 9, 0, 0, 16,112,182, 3, 55, 0, 0, 0,198, 0, 0, 0, 21, 0, 0, 0,
- 82, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0,
- 18, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 53, 0, 0, 0,
- 0, 0, 34, 0, 28, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0,
- 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0,
- 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,
- 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0,
- 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0,
- 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 3, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0,
- 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 34, 0, 9, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
- 1, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 29, 0, 0, 0,
- 0, 0, 34, 0, 6, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0,
- 35, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0,
- 23, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 34, 0, 16, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0,
- 98, 0, 0, 0, 0, 0, 34, 0, 39, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0,
- 37, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 41, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0,
- 41, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,
- 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 86, 0, 0, 0,
- 0, 0, 34, 0, 56, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,
-114, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,
- 52, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,114, 0, 0, 0,
- 0, 0, 34, 0, 42, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0,
- 43, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0,
- 44, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0,
- 0, 0, 34, 0, 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0,
- 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0,
- 58, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0,
- 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 34, 0, 58, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0,
- 61, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0,
- 63, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 66, 0, 0, 0,
- 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0,
- 46, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 65, 0, 0, 0,
- 0, 0, 34, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0,
-102, 0, 0, 0, 0, 0, 34, 0, 72, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0,
- 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0, 85, 0, 0, 0,
- 0, 0, 34, 0, 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 71, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0,
- 77, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0,
- 81, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0,112, 0, 0, 0,
- 0, 0, 34, 0, 78, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,
- 85, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0,
- 85, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 88, 0, 0, 0,
- 0, 0, 34, 0, 87, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0,
- 87, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 86, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0,
- 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 92, 0, 0, 0,
- 0, 0, 34, 0, 87, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0,
- 90, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0,
- 92, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 95, 0, 0, 0,
- 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0,
- 97, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
- 78, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0,
- 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,
-103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,
-105, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,
-109, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,112, 0, 0, 0,
- 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,113, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,
-112, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,111, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,110, 0, 0, 0,111, 0, 0, 0,
- 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,136,121,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,123,182, 3, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,
-120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,127,182, 3,
- 6, 0, 0, 0, 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,
- 67,111,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,
- 56,136,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,252, 3, 0, 0, 16,123,182, 3, 54, 0, 0, 0, 51, 0, 0, 0,
- 18, 0, 0, 0, 22, 0, 0, 0, 26, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 5, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 0, 0, 9, 0, 0, 0, 25, 0, 0, 0, 24, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0,
- 12, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 12, 0, 0, 0, 13, 0, 0, 0, 17, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 15, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
- 16, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 29, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 42, 0, 0, 0, 65, 0, 0, 0,114, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0,
- 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0,
- 49, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0, 53, 0, 0, 0,
- 48, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0,
- 56, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0, 57, 0, 0, 0,
- 0, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0,
- 68, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 62, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
-115, 0, 0, 0, 51, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0, 76, 0, 0, 0,
- 85, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 84, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
- 21, 0, 0, 0, 82, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0,
- 0, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 75, 0, 0, 0,
- 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0,
- 60, 0, 0, 0, 86, 0, 0, 0, 90, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 97, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0,
- 73, 0, 0, 0, 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0,
- 0, 0, 0, 0, 78, 0, 0, 0, 52, 0, 0, 0, 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0,
- 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 39, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
- 98, 0, 0, 0, 72, 0, 0, 0, 41, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,
-101, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0,
-109, 0, 0, 0,105, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0,
- 0, 0, 0, 0,106, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,112, 0, 0, 0,
-108, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,110, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0,
-113, 0, 0, 0,115, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,111, 0, 0, 0,
-112, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 77, 0, 0, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-196, 8, 0, 0, 64,127,182, 3, 65, 0, 0, 0, 51, 0, 0, 0,250,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59,
- 84,162,203, 62, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63,
- 96,211, 93, 59,146,128, 81, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,
-225,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,149,128, 81, 63, 96,211, 93, 59,251,168, 27, 63,
- 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-227,151,158, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,246,168, 27, 63, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59, 85,162,203, 62,
- 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 24,172,131, 63, 96,211, 93, 59,
-142,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,176,131,185, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,
-247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63,
- 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,
-248,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,
-236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63,
- 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63,
- 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63,
- 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63,
- 72, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,
-174,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,
-173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,
-111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,
-188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,
-236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,
-172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,
-120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 56,127,118,190,220, 28, 3, 63, 96,105,188,189,120, 47, 41, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,244, 65, 79, 63,200, 84,104, 61,242, 65, 79, 63,
- 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,171,188,160, 63,122, 84,181, 62,
-113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-200, 84,104, 61,242, 65, 79, 63, 96,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,
-102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63,
- 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,
-242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,
-122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,
-216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,
-173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,180,131,140, 63,116, 19,186, 62,
-244,140,159, 63, 50, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,174,225, 76, 63, 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,112,226, 76, 63, 64, 38,135, 61,240,244,114, 63,
- 4,221, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63, 96, 44,135, 61, 61, 84,181, 62,176,104,169,189,
- 93,189, 0, 63, 80, 1,109,190,248,207, 38, 63,144,109,169,189, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,
-116, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63, 96, 44,135, 61,
- 51,207, 38, 63, 24,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
-236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-188,188, 0, 63,120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 52,207, 38, 63,248, 28, 3, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 14, 95, 82, 62, 0, 21,186, 62,144, 82,104, 61,128,223, 91, 62,138, 94, 82, 62,
- 48, 43,135, 61,122, 84,181, 62, 32,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63,
-127, 84,181, 62,242, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63, 52,207, 38, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 26, 95, 82, 62,120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62,
-248, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63, 56,207, 38, 63,111,179,141, 63,
-188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,127, 84,181, 62,242, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,128,106,188,189,176, 20,186, 62,
-160, 84,104, 61, 0, 29, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 3, 0, 0, 56,136,182, 3,
- 59, 0, 0, 0,204, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
@@ -8176,550 +8577,24 @@ char datatoc_preview_blend[]= {
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,
-152,139,182, 3, 52, 0, 0, 0, 1, 0, 0, 0,168,181,182, 3,112, 96,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108,
- 97,110,101, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,224,140,182, 3,192,165,182, 3,200,169,182, 3,
- 0, 0, 0, 0,160,142,182, 3, 8,155,182, 3, 0, 0, 0, 0,104,178,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24,141,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153,182, 3,
- 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,164,182, 3, 3, 0, 0, 0, 5, 0, 0, 0,
- 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 0, 0, 0,192, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,224,140,182, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 24,141,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,142,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,176, 10, 0, 0,160,142,182, 3, 58, 0, 0, 0,114, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,
- 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,
-129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,
- 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-172,163,138,184,181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,
- 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-201, 28,215, 63,172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,
- 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,
- 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,
-148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,
- 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,
-244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,114, 59, 60, 65,
-127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,
-192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,
- 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,
-129, 90,255, 0, 0, 0, 0, 0,182,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,
- 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,129, 90,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,
-199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,
-147, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,
-199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,
- 18, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,
-199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,
-246, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,
-199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,
-129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,
- 72, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
- 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,
- 14, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
- 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,
-135, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,
- 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,
-127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64,
-247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-150, 30,215, 64,151,115, 6, 65,244, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,
-239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,127,165,127,165,
- 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63,
-244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,
- 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,
-242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,
-129, 90,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64,
-245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
-127,212,140,184,242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64,
-245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 37, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65,
-245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,
- 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65,
-247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,
-255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,
-223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191,
-245, 35,190, 64, 0, 0, 42,221, 41,123,255, 0, 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191, 74, 36,190,192, 0, 0, 42,221,
-215,132,255, 0, 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,128,153,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,155,182, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 9, 0, 0, 8,155,182, 3, 55, 0, 0, 0,
-192, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0,
- 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0,
- 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0,
- 18, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 20, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0,
- 23, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0,
- 25, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 34, 0, 23, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0,
- 23, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0,
- 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 34, 0, 27, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 31, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0,
- 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0,
- 0, 0, 34, 0, 2, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0,
- 35, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0,
- 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0,
- 0, 0, 34, 0, 30, 0, 0, 0, 38, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0,
- 40, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 42, 0, 0, 0, 0, 0, 34, 0,
- 13, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 45, 0, 0, 0,
- 0, 0, 34, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0,
- 46, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0,
- 0, 0, 34, 0, 48, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0,
- 51, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0,
- 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 56, 0, 0, 0,
- 0, 0, 34, 0, 51, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,
- 51, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0,
- 56, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 56, 0, 0, 0,
- 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0,
- 58, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0,
- 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 68, 0, 0, 0,
- 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0,
- 70, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0,
- 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 47, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0,
- 33, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 34, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0,
- 71, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 76, 0, 0, 0,
- 0, 0, 34, 0, 15, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0,
- 73, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
- 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 34, 0, 81, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,
-105, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,
- 85, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,110, 0, 0, 0,
- 0, 0, 34, 0, 86, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0,
- 98, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0,
- 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,107, 0, 0, 0,
- 0, 0, 34, 0, 91, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0,
- 91, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 97, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,
- 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 96, 0, 0, 0,
- 0, 0, 34, 0, 95, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0,
- 98, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,
-100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0,
- 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,
-102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,
-104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,107, 0, 0, 0,
- 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,109, 0, 0, 0,
-111, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,
-106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 34, 0, 58, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0,
- 84, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0,
- 31, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0, 90, 0, 0, 0,
- 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0, 56,164,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,165,182, 3, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,
-120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,169,182, 3,
- 6, 0, 0, 0, 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,
- 67,111,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,
-104,178,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,212, 3, 0, 0,192,165,182, 3, 54, 0, 0, 0, 49, 0, 0, 0,
- 35, 0, 0, 0, 34, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 3, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
- 4, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0,
- 11, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 11, 0, 0, 0, 12, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 14, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0,
- 76, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 37, 0, 0, 0,
- 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 25, 0, 0, 0,
- 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 22, 0, 0, 0, 40, 0, 0, 0, 41, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0, 24, 0, 0, 0,
- 25, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0,
- 33, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 30, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0,
- 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
- 49, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0,
- 46, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 51, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0,
- 56, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0,
- 0, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0, 84, 0, 0, 0,
- 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
- 78, 0, 0, 0, 83, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 61, 0, 0, 0, 57, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0,
- 53, 0, 0, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0, 77, 0, 0, 0,
- 0, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0,
- 82, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0,101, 0, 0, 0, 97, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
-100, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 88, 0, 0, 0, 89, 0, 0, 0,
- 94, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0,
-102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0, 84, 0, 0, 0,
- 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0, 86, 0, 0, 0,
- 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,
- 92, 0, 0, 0, 93, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,108, 8, 0, 0,200,169,182, 3,
- 65, 0, 0, 0, 49, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63,
- 26, 95, 82, 62,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
-102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,190,188, 0, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-160, 84,104, 61, 0, 29, 3, 63,128,106,188,189,176, 20,186, 62,144, 82,104, 61,128,223, 91, 62, 14, 95, 82, 62, 0, 21,186, 62,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,127, 84,181, 62,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,122, 84,181, 62,
-248, 28, 3, 63,188,188, 0, 63,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,
-190,188, 0, 63,102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,122, 84,181, 62,248, 28, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63,
- 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,236, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63,
- 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63,116, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,
- 32,224, 91, 62,138, 94, 82, 62, 48, 43,135, 61, 61, 84,181, 62,176,104,169,189,185,188, 0, 63, 96, 44,135, 61, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,
-174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,
-116, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 51,207, 38, 63, 24,224, 91, 62,185,188, 0, 63, 96, 44,135, 61,248,207, 38, 63,144,109,169,189,112,226, 76, 63, 64, 38,135, 61,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,240,244,114, 63, 4,221, 91, 62,180,131,140, 63,116, 19,186, 62, 42,244,114, 63,
-244, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,
- 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
-242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,
-128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
-102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,
-113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,
-200, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,
-120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63,
- 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,200, 84,104, 61,
-244, 65, 79, 63, 96,105,188,189,120, 47, 41, 63, 96,105,188,189,120, 47, 41, 63,200, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63,
- 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63, 56,207, 38, 63,
-111,179,141, 63, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,
-102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,
-188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,
-174,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,
-111,179,141, 63,190,188, 0, 63,171,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,162,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 72, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,
-161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,
-236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,
-236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63,
- 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,244,140,159, 63, 50, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 22,172,131, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,
-248,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,176,131,185, 63,
- 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62,
- 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-226,151,158, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,142,128, 81, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,247,168, 27, 63,
- 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,
-227,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 24,172,131, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,251,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59,
- 86,162,203, 62, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,225,151,158, 63,
- 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,146,128, 81, 63, 96,211, 93, 59,250,168, 27, 63, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59,
-149,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 3, 0, 0,104,178,182, 3,
- 59, 0, 0, 0,196, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,
-168,181,182, 3, 52, 0, 0, 0, 1, 0, 0, 0,216,194,182, 3,152,139,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108,
- 97,110,101, 46, 48, 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,240,182,182, 3,200,191,182, 3,152,192,182, 3,
- 0, 0, 0, 0,176,184,182, 3,144,188,182, 3, 0, 0, 0, 0, 40,194,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40,183,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,187,182, 3,
- 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,190,182, 3, 3, 0, 0, 0, 5, 0, 0, 0,
- 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,240,182,182, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 40,183,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,184,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,176,184,182, 3, 58, 0, 0, 0, 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,
-208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,
- 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,
-197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,
-212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,
-214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,
- 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128,
- 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 8,187,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,188,182, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,144,188,182, 3, 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0,
- 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0,
- 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0,
- 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 64,190,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,191,182, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,192,182, 3, 6, 0, 0, 0, 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, 67,111,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, 40,194,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,191,182, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2,
- 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0,
- 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0,
-152,192,182, 3, 65, 0, 0, 0, 8, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,
-162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63,
- 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 0,229,213, 62,162,226,125, 63, 18,192,137, 62,162,226,125, 63,
- 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,
-162,226,125, 63, 34, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,
-162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0, 40,194,182, 3, 59, 0, 0, 0, 32, 0, 0, 0,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
- 77, 69, 0, 0, 24, 1, 0, 0,216,194,182, 3, 52, 0, 0, 0, 1, 0, 0, 0, 8,208,182, 3,168,181,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 32,196,182, 3,
-248,204,182, 3,200,205,182, 3, 0, 0, 0, 0,224,197,182, 3,192,201,182, 3, 0, 0, 0, 0, 88,207,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,196,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56,200,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,203,182, 3,
- 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,
-214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 32,196,182, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 88,196,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,197,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,224,197,182, 3, 58, 0, 0, 0, 23, 0, 0, 0,
- 47,205,204, 62, 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,
-208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0,
- 47,205,204, 62, 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,
-213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0,
- 0,205, 76, 63, 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,
-214,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0,
- 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,
-210,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0,
- 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,
- 0, 0,144,180, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 70,182, 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,
-216,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128,
- 0, 0, 0, 0, 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 56,200,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,201,182, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,192,201,182, 3, 55, 0, 0, 0,
- 32, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 34, 0, 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 34, 0, 11, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0,
- 19, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,112,203,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,204,182, 3, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,
-120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,205,182, 3,
- 6, 0, 0, 0, 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,
- 67,111,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,
- 88,207,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,248,204,182, 3, 54, 0, 0, 0, 8, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
- 11, 0, 0, 0, 14, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0,
- 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 96, 1, 0, 0,200,205,182, 3, 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,
-162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63,
- 0,229,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0, 18,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,
-162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
-252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0, 88,207,182, 3,
- 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 8,208,182, 3, 52, 0, 0, 0, 1, 0, 0, 0,184,215,182, 3,
-216,194,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0, 56,108, 53, 3,
+ 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0,200,104, 52, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 80,209,182, 3, 16,215,182, 3, 88,215,182, 3, 0, 0, 0, 0, 16,211,182, 3, 40,213,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,209,182, 3, 1, 0, 0, 0, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,211,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,213,182, 3, 2, 0, 0, 0, 5, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
- 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,128,179, 0, 0, 64, 52, 0, 0, 0, 0,
- 0, 0,128, 63, 2, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
- 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 80,209,182, 3,
- 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 68, 65, 84, 65, 84, 1, 0, 0,136,209,182, 3, 58, 1, 0, 0, 5, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,110, 53, 3, 0, 0, 0, 0,152,116, 53, 3,
+ 0, 0, 0, 0,248,116, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,112, 53, 3, 0, 0, 0, 0,104,114, 53, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,110, 53, 3, 0, 0, 0, 0, 1, 0, 0, 0,
+ 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,112, 53, 3,
+ 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232,114, 53, 3, 0, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 64, 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, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128,179, 0, 0, 64, 52, 0, 0, 0, 0, 0, 0,128, 63, 2, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, 24,110, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3,
+ 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,104,110, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16,211,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,112, 53, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8727,1476 +8602,60 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 16,211,182, 3,
- 58, 0, 0, 0, 4, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 1, 0,128,191,253,255,127,191,
- 0, 0, 0, 0, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0,250,255,127,191, 3, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
-255,127,255, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,160,211,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,213,182, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 24,112, 53, 3, 0, 0, 0, 0, 52, 0, 0, 0, 4, 0, 0, 0, 0, 0,128, 63,
+255,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0,254,127, 3, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,
+255,127, 3, 0, 1, 0,128,191,253,255,127,191, 0, 0, 0, 0, 0, 0, 0, 0,255,127, 3, 0,250,255,127,191, 3, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,127, 3, 0, 68, 65, 84, 65,104, 1, 0, 0,184,112, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0,
+ 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,114, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 40,213,182, 3, 55, 0, 0, 0,
- 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,136,213,182, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16,215,182, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,215,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 20, 0, 0, 0, 16,215,182, 3, 54, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 2, 68, 65, 84, 65, 44, 0, 0, 0, 88,215,182, 3, 65, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 77, 69, 0, 0, 24, 1, 0, 0,184,215,182, 3, 52, 0, 0, 0, 1, 0, 0, 0,224, 2,183, 3, 8,208,182, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 48, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,217,182, 3, 88,242,182, 3,136,246,182, 3, 0, 0, 0, 0,192,218,182, 3, 88,231,182, 3, 0, 0, 0, 0,128,255,182, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,217,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,208,229,182, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-208,240,182, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 0, 0, 0,198, 0, 0, 0,
- 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,
-140, 0,128, 63,214,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 0,217,182, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 56,217,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,218,182, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,224, 10, 0, 0,192,218,182, 3, 58, 0, 0, 0,
-116, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,
-144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,
-179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,
-244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,
-113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,
-239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191,
- 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,183,115, 6,193,127, 31,215, 64,238, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192,
- 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,244, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64,
- 62, 30, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,
-217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 98,234, 53, 56,
- 38, 33,215,191, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,135, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,
-117, 31,215, 64, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 14, 29,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,
-117, 31,215, 64,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 72, 36,190,192,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,177, 86,161, 64,
-146, 87, 33, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,129, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,
-146, 87, 33, 65,234, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,246, 28,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,
-146, 87, 33, 65, 30, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 18, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,
-146, 87, 33, 65,153, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,147, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,
-190, 87,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,222, 33,215,191,183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,183,115, 6,193,
-127, 31,215, 64,154, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 32, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,182,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,
-127, 31,215, 64, 78, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,
-181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,
-170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,
-179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,172,163,138,184,181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,
-146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,
-112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,208,229,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,231,182, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 9, 0, 0, 88,231,182, 3, 55, 0, 0, 0,198, 0, 0, 0,
- 21, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 84, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 53, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0,
- 27, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0,
- 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0,
- 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,
- 24, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0,
- 1, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 27, 0, 0, 0,
- 0, 0, 34, 0, 1, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0,
- 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 34, 0, 23, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0,
- 40, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 39, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0,100, 0, 0, 0,
- 0, 0, 34, 0, 37, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 41, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0,
- 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,101, 0, 0, 0,
- 0, 0, 34, 0, 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0,
- 86, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0,
- 50, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,115, 0, 0, 0,
- 0, 0, 34, 0, 52, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,
-114, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0,
- 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0,
- 0, 0, 34, 0, 44, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0,
- 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0,
- 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 54, 0, 0, 0,
- 0, 0, 34, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0,
- 59, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0,
- 57, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 64, 0, 0, 0,
- 0, 0, 34, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0,
- 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0,
- 0, 0, 34, 0, 63, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0,
- 66, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0,
- 52, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 53, 0, 0, 0,
- 0, 0, 34, 0, 46, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0,
- 65, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,
- 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 72, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 97, 0, 0, 0,
- 0, 0, 34, 0, 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0,
- 85, 0, 0, 0, 0, 0, 34, 0, 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 71, 0, 0, 0, 0, 0, 34, 0,
- 73, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0, 77, 0, 0, 0,
- 0, 0, 34, 0, 81, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0,
-112, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0,
- 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 34, 0, 85, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,
- 88, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0,
- 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 86, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 93, 0, 0, 0,
- 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0,
- 92, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0,
- 86, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0,
- 0, 0, 34, 0, 92, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0,
- 95, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0,
- 81, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 95, 0, 0, 0,
- 0, 0, 34, 0, 78, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,
-101, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0,
- 99, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,102, 0, 0, 0,
- 0, 0, 34, 0,105, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,
-105, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,
-103, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0,
- 0, 0, 34, 0,109, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,
-112, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,
-106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,113, 0, 0, 0,115, 0, 0, 0,
- 0, 0, 34, 0,112, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,111, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,110, 0, 0, 0,
-111, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,208,240,182, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,242,182, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136,246,182, 3, 6, 0, 0, 0, 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, 67,111,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,128,255,182, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,252, 3, 0, 0, 88,242,182, 3, 54, 0, 0, 0,
- 51, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0, 26, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0,
- 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 5, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 25, 0, 0, 0, 24, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 12, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 17, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0,
- 15, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 0, 16, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 29, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 65, 0, 0, 0,114, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0,
- 44, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 44, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0,
- 53, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0,
- 55, 0, 0, 0, 56, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0,
- 57, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0,
- 64, 0, 0, 0, 68, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 62, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0,
- 0, 0, 0, 0,115, 0, 0, 0, 51, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0,
- 76, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 84, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
- 27, 0, 0, 0, 21, 0, 0, 0, 82, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0,
- 88, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0,
- 75, 0, 0, 0, 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0,
- 0, 0, 0, 0, 60, 0, 0, 0, 86, 0, 0, 0, 90, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0,
- 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
- 97, 0, 0, 0, 73, 0, 0, 0, 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0,
- 79, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 52, 0, 0, 0, 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0,
- 36, 0, 0, 0, 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 39, 0, 0, 0, 38, 0, 0, 0,
- 0, 0, 0, 0, 98, 0, 0, 0, 72, 0, 0, 0, 41, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,
-100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
- 51, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,
-104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,
-112, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,110, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0,
- 0, 0, 0, 0,113, 0, 0, 0,115, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,
-111, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 77, 0, 0, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,196, 8, 0, 0,136,246,182, 3, 65, 0, 0, 0, 51, 0, 0, 0,250,168, 27, 63, 96,211, 93, 59, 84,162,203, 62,
- 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 21,172,131, 63, 96,211, 93, 59,146,128, 81, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,174,131,185, 63,
- 96,211, 93, 59,225,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,149,128, 81, 63, 96,211, 93, 59,
-251,168, 27, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59,226,151,158, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,246,168, 27, 63, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,
- 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 24,172,131, 63,
- 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,
-176,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63,
- 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-226,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 86,162,203, 62,
- 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,
-144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,224,151,158, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63,
- 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,
-210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63,
- 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
- 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 99,131,140, 63, 72, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,
-111,179,141, 63,174,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,
-188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,
-236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63,
- 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,
-111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63,
- 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,172,225, 76, 63,
-102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 56,127,118,190,220, 28, 3, 63, 96,105,188,189,120, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,244, 65, 79, 63,200, 84,104, 61,
-242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,171,188,160, 63,
-122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,200, 84,104, 61,242, 65, 79, 63, 96,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
-242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63,
- 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,
-120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63,
- 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
-113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,
-102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63,
- 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63,
-188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,180,131,140, 63,
-116, 19,186, 62,244,140,159, 63, 50, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63, 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,112,226, 76, 63, 64, 38,135, 61,
-240,244,114, 63, 4,221, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63, 96, 44,135, 61, 61, 84,181, 62,
-176,104,169,189, 93,189, 0, 63, 80, 1,109,190,248,207, 38, 63,144,109,169,189, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-174,225, 76, 63,116, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 42,244,114, 63,244, 28, 3, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63,
- 96, 44,135, 61, 51,207, 38, 63, 24,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63,
- 52,207, 38, 63,236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,188,188, 0, 63,120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 52,207, 38, 63,
-248, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 14, 95, 82, 62, 0, 21,186, 62,144, 82,104, 61,128,223, 91, 62,
-138, 94, 82, 62, 48, 43,135, 61,122, 84,181, 62, 32,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,
-102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63, 52,207, 38, 63,236, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,
-122, 84,181, 62,248, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63, 56,207, 38, 63,
-111,179,141, 63,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,127, 84,181, 62,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,128,106,188,189,
-176, 20,186, 62,160, 84,104, 61, 0, 29, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 3, 0, 0,
-128,255,182, 3, 59, 0, 0, 0,204, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0,224, 2,183, 3, 52, 0, 0, 0, 1, 0, 0, 0,240, 44,183, 3,184,215,182, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 40, 4,183, 3, 8, 29,183, 3,
- 16, 33,183, 3, 0, 0, 0, 0,232, 5,183, 3, 80, 18,183, 3, 0, 0, 0, 0,176, 41,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 96, 4,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-200, 16,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 27,183, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 0, 0, 0,192, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 40, 4,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 96, 4,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 5,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,176, 10, 0, 0,232, 5,183, 3, 58, 0, 0, 0,114, 0, 0, 0,223, 28,215, 63,
- 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,
-182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,172,163,138,184,181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,
-175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,
-242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,
-107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,
-114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,182,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,
-127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192,
- 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,147, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65, 18, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,246, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,
-110, 59, 60, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65, 14, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,
-217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64,
- 62, 30, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,244, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192,
- 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,
-240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,
-172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,
-181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,
-147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 10,152, 60, 56,
- 16, 33,215,191,245, 35,190, 64, 0, 0, 42,221, 41,123,255, 0, 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191, 74, 36,190,192,
- 0, 0, 42,221,215,132,255, 0, 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,200, 16,183, 3, 58, 1, 0, 0, 5, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 18,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 9, 0, 0, 80, 18,183, 3,
- 55, 0, 0, 0,192, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0,
- 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0,
- 19, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 34, 0, 25, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
- 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 34, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
- 26, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 31, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0,
- 0, 0, 34, 0, 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 38, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0,
- 22, 0, 0, 0, 40, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 42, 0, 0, 0,
- 0, 0, 34, 0, 13, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0,
- 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 34, 0, 46, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0,
- 49, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0,
- 47, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0,
- 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 34, 0, 56, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0,
- 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0,
- 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0,
- 69, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 72, 0, 0, 0,
- 0, 0, 34, 0, 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0,
- 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 64, 0, 0, 0,
- 0, 0, 34, 0, 33, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0,
- 6, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 74, 0, 0, 0,
- 0, 0, 34, 0, 71, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0,
- 76, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0,
- 17, 0, 0, 0, 73, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 95, 0, 0, 0,
- 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0,
- 84, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,110, 0, 0, 0,
- 0, 0, 34, 0, 85, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,
- 88, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0,
- 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,
- 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 97, 0, 0, 0,101, 0, 0, 0,
- 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
- 94, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0,
- 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,
-109, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0,
- 0, 0, 34, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,
- 60, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 93, 0, 0, 0,
- 0, 0, 34, 0, 31, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0,
- 90, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,128, 27,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 29,183, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 33,183, 3, 6, 0, 0, 0, 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, 67,111,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,176, 41,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,212, 3, 0, 0, 8, 29,183, 3, 54, 0, 0, 0,
- 49, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0,
- 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
- 7, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0,
- 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0,
- 75, 0, 0, 0, 76, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
- 25, 0, 0, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 41, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0,
- 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 58, 0, 0, 0, 33, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 27, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0,
- 91, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
- 47, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 51, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
- 57, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0,
- 51, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0,
- 84, 0, 0, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 0, 0, 78, 0, 0, 0, 83, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 61, 0, 0, 0,
- 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
- 70, 0, 0, 0, 53, 0, 0, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0,
- 77, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0,
- 94, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0,101, 0, 0, 0, 97, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 88, 0, 0, 0,
- 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,
-103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0,
- 84, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0,
- 86, 0, 0, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0,
- 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,108, 8, 0, 0,
- 16, 33,183, 3, 65, 0, 0, 0, 49, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
- 0, 29, 3, 63, 26, 95, 82, 62,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,
- 26, 95, 82, 62,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,190,188, 0, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,160, 84,104, 61, 0, 29, 3, 63,128,106,188,189,176, 20,186, 62,144, 82,104, 61,128,223, 91, 62, 14, 95, 82, 62,
- 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,127, 84,181, 62,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,
-122, 84,181, 62,248, 28, 3, 63,188,188, 0, 63,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,
-111,179,141, 63,190,188, 0, 63,102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,248, 28, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,
-185,188, 0, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,236, 65, 79, 63,188,188, 0, 63,
-120, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63,116, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-122, 84,181, 62, 32,224, 91, 62,138, 94, 82, 62, 48, 43,135, 61, 61, 84,181, 62,176,104,169,189,185,188, 0, 63, 96, 44,135, 61,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 51,207, 38, 63,
- 24,224, 91, 62,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,
-174,225, 76, 63,116, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 51,207, 38, 63, 24,224, 91, 62,185,188, 0, 63, 96, 44,135, 61,248,207, 38, 63,144,109,169,189,112,226, 76, 63,
- 64, 38,135, 61, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,240,244,114, 63, 4,221, 91, 62,180,131,140, 63,116, 19,186, 62,
- 42,244,114, 63,244, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,
-113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,
-160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
-113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,
-216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,
- 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
-242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,200, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,
-128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
-102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-200, 84,104, 61,244, 65, 79, 63, 96,105,188,189,120, 47, 41, 63, 96,105,188,189,120, 47, 41, 63,200, 84,104, 61,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,
-102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,
- 56,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,
-172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,
-111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,
-172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,
-102, 84,117, 63,174,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 52,207, 38, 63,111,179,141, 63,190,188, 0, 63,171,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,162,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 72, 47, 41, 63, 99,131,140, 63,
- 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63,
- 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,
-210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63,
- 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,
-210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,244,140,159, 63, 50, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63,
- 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-176,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59,
- 85,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,226,151,158, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,142,128, 81, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,
-247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63,
- 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59,
- 24,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,251,168, 27, 63, 96,211, 93, 59, 84,162,203, 62,
- 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-225,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,146,128, 81, 63, 96,211, 93, 59,250,168, 27, 63, 96,211, 93, 59,251,168, 27, 63,
- 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 3, 0, 0,
-176, 41,183, 3, 59, 0, 0, 0,196, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0,240, 44,183, 3, 52, 0, 0, 0, 1, 0, 0, 0, 0, 87,183, 3,224, 2,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 48, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 56, 46,183, 3, 24, 71,183, 3,
- 32, 75,183, 3, 0, 0, 0, 0,248, 47,183, 3, 96, 60,183, 3, 0, 0, 0, 0,192, 83,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,112, 46,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-216, 58,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 69,183, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114, 0, 0, 0,192, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 56, 46,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,112, 46,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 47,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,176, 10, 0, 0,248, 47,183, 3, 58, 0, 0, 0,114, 0, 0, 0,223, 28,215, 63,
- 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,
-182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,172,163,138,184,181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,
-175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,
-242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,
-107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,
-114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,182,115, 6,193,128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,
-127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192,
- 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,147, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65, 18, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,246, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,
-110, 59, 60, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65, 14, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,
-217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64,
- 62, 30, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,244, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192,
- 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,
-240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,
-172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,
-181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,
-147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 10,152, 60, 56,
- 16, 33,215,191,245, 35,190, 64, 0, 0, 42,221, 41,123,255, 0, 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191, 74, 36,190,192,
- 0, 0, 42,221,215,132,255, 0, 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,216, 58,183, 3, 58, 1, 0, 0, 5, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96, 60,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 9, 0, 0, 96, 60,183, 3,
- 55, 0, 0, 0,192, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0,
- 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0,
- 19, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 34, 0, 25, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
- 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 34, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
- 26, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 31, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0,
- 0, 0, 34, 0, 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 38, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0,
- 22, 0, 0, 0, 40, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 42, 0, 0, 0,
- 0, 0, 34, 0, 13, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0,
- 45, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0,
- 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 34, 0, 46, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0,
- 49, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0,
- 47, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 52, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0,
- 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 34, 0, 56, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0,
- 56, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0,
- 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0,
- 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0,
- 69, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 69, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 72, 0, 0, 0,
- 0, 0, 34, 0, 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0,
- 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 64, 0, 0, 0,
- 0, 0, 34, 0, 33, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0,
- 6, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 74, 0, 0, 0,
- 0, 0, 34, 0, 71, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0,
- 76, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0,
- 17, 0, 0, 0, 73, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 95, 0, 0, 0,
- 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0,
- 84, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,110, 0, 0, 0,
- 0, 0, 34, 0, 85, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,
- 88, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0,
- 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,
- 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 97, 0, 0, 0,101, 0, 0, 0,
- 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
- 94, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0,
- 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0,
- 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,
-109, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0,
- 0, 0, 34, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,
- 60, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 93, 0, 0, 0,
- 0, 0, 34, 0, 31, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0,
- 90, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,144, 69,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 71,183, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32, 75,183, 3, 6, 0, 0, 0, 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, 67,111,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,192, 83,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,212, 3, 0, 0, 24, 71,183, 3, 54, 0, 0, 0,
- 49, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0,
- 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0,
- 63, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 13, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,
- 7, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0,
- 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0,
- 75, 0, 0, 0, 76, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0,
- 37, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
- 25, 0, 0, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 41, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0,
- 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 26, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 58, 0, 0, 0, 33, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 27, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 38, 0, 0, 0, 39, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0,
- 91, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
- 47, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 51, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
- 57, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0,
- 51, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0,
- 84, 0, 0, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 0, 0, 78, 0, 0, 0, 83, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 61, 0, 0, 0,
- 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 68, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
- 70, 0, 0, 0, 53, 0, 0, 0, 49, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0,
- 77, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0,
- 94, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0,101, 0, 0, 0, 97, 0, 0, 0, 83, 0, 0, 0,
- 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 88, 0, 0, 0,
- 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,
-103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0,
- 84, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0,
- 86, 0, 0, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0,
- 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,108, 8, 0, 0,
- 32, 75,183, 3, 65, 0, 0, 0, 49, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
- 0, 29, 3, 63, 26, 95, 82, 62,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,
- 26, 95, 82, 62,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,190,188, 0, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,160, 84,104, 61, 0, 29, 3, 63,128,106,188,189,176, 20,186, 62,144, 82,104, 61,128,223, 91, 62, 14, 95, 82, 62,
- 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,127, 84,181, 62,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,
-122, 84,181, 62,248, 28, 3, 63,188,188, 0, 63,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,
-111,179,141, 63,190,188, 0, 63,102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,248, 28, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,
-185,188, 0, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,236, 65, 79, 63,188,188, 0, 63,
-120, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63,116, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-122, 84,181, 62, 32,224, 91, 62,138, 94, 82, 62, 48, 43,135, 61, 61, 84,181, 62,176,104,169,189,185,188, 0, 63, 96, 44,135, 61,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 51,207, 38, 63,
- 24,224, 91, 62,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,
-174,225, 76, 63,116, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 51,207, 38, 63, 24,224, 91, 62,185,188, 0, 63, 96, 44,135, 61,248,207, 38, 63,144,109,169,189,112,226, 76, 63,
- 64, 38,135, 61, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,240,244,114, 63, 4,221, 91, 62,180,131,140, 63,116, 19,186, 62,
- 42,244,114, 63,244, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,
-113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,
-160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
-113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,
-216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,
- 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,
-242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,200, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,
-128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,
-102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-200, 84,104, 61,244, 65, 79, 63, 96,105,188,189,120, 47, 41, 63, 96,105,188,189,120, 47, 41, 63,200, 84,104, 61,242, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,
-102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,
- 56,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,
-172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,
-111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,
-172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,
-102, 84,117, 63,174,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 52,207, 38, 63,111,179,141, 63,190,188, 0, 63,171,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,162,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 72, 47, 41, 63, 99,131,140, 63,
- 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63,
- 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,
-210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63,
- 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,
-210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,244,140,159, 63, 50, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63,
- 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-176,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59,
- 85,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,226,151,158, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,142,128, 81, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,
-247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63,
- 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59,
- 24,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,251,168, 27, 63, 96,211, 93, 59, 84,162,203, 62,
- 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-225,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,146,128, 81, 63, 96,211, 93, 59,250,168, 27, 63, 96,211, 93, 59,251,168, 27, 63,
- 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 3, 0, 0,
-192, 83,183, 3, 59, 0, 0, 0,196, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0, 0, 87,183, 3, 52, 0, 0, 0, 1, 0, 0, 0, 40,130,183, 3,240, 44,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 48, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 72, 88,183, 3,160,113,183, 3,
-208,117,183, 3, 0, 0, 0, 0, 8, 90,183, 3,160,102,183, 3, 0, 0, 0, 0,200,126,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128, 88,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24,101,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,112,183, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 0, 0, 0,198, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 72, 88,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,128, 88,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 90,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,224, 10, 0, 0, 8, 90,183, 3, 58, 0, 0, 0,116, 0, 0, 0,223, 28,215, 63,
- 77, 31, 87, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,242, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,
-182,115, 6, 65,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,250, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,172,163,138,184,181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,
-175, 31,215, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,250, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,
-242, 87,161, 64,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,250, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,
-107, 32, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,239, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,183,115, 6,193,127, 31,215, 64,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192,
- 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,244, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,
-150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64,247, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64,242, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,
-146, 30,215, 64, 74, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,
-226, 3, 41,184, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 14, 29,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,246, 28,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 18, 29,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,147, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222, 33,215,191,
-183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,182,115, 6,193,
-128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 78, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65, 74, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 72, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 5, 32, 87,192,114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,191, 87,161,192,
-148, 87, 33, 65,133, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,139, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65, 0, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 12, 29,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65, 9, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,253, 28,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65,142, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,136, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,
-240, 87,161, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,127,212,140,184,242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,
-172, 31,215, 64, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,
-181,115, 6, 65, 71, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,
-147, 87, 33, 65, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 24,101,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,102,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 72, 9, 0, 0,160,102,183, 3, 55, 0, 0, 0,198, 0, 0, 0, 21, 0, 0, 0, 82, 0, 0, 0,
- 0, 0, 34, 0, 20, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0,
- 85, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0,
- 28, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 56, 0, 0, 0,
- 0, 0, 34, 0, 29, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0,
- 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 34, 0, 7, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0,
- 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 34, 0, 11, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0,
- 3, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 34, 0, 22, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0,
- 9, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 29, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0,
- 6, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0,
- 0, 0, 34, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0,
- 30, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0,
- 16, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0, 98, 0, 0, 0,
- 0, 0, 34, 0, 39, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 37, 0, 0, 0,
-101, 0, 0, 0, 0, 0, 34, 0, 41, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0,
- 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0, 41, 0, 0, 0,
- 0, 0, 34, 0, 51, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0,
- 94, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 86, 0, 0, 0, 0, 0, 34, 0,
- 56, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,114, 0, 0, 0,
- 0, 0, 34, 0, 65, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,
-115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0,
- 42, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0,
- 0, 0, 34, 0, 42, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0,
- 46, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0,
- 46, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 56, 0, 0, 0,
- 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0,
- 60, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0,
- 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 58, 0, 0, 0,
- 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 63, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0,
- 58, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0,
- 0, 0, 34, 0, 64, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 63, 0, 0, 0,
- 67, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0,
- 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 68, 0, 0, 0,
- 0, 0, 34, 0, 51, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0,
- 57, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0,
- 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0,102, 0, 0, 0,
- 0, 0, 34, 0, 72, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0,
- 93, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0,
- 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 71, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 77, 0, 0, 0,
- 0, 0, 34, 0, 74, 0, 0, 0, 75, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,
- 78, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 85, 0, 0, 0,
- 0, 0, 34, 0, 83, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 85, 0, 0, 0,
- 89, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0,
- 87, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0,
- 0, 0, 34, 0, 82, 0, 0, 0, 86, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
- 93, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0,
- 87, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 90, 0, 0, 0,
- 0, 0, 34, 0, 93, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0,
- 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 97, 0, 0, 0,
- 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,
- 94, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,
-100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0,
- 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,
-114, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,
-104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,107, 0, 0, 0,
- 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,109, 0, 0, 0,
-113, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,
-107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,107, 0, 0, 0,
- 0, 0, 34, 0,106, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,113, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,112, 0, 0, 0,
-113, 0, 0, 0, 0, 0, 34, 0,111, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,110, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 24,112,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,113,183, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,117,183, 3, 6, 0, 0, 0,
- 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, 67,111,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,200,126,183, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,252, 3, 0, 0,160,113,183, 3, 54, 0, 0, 0, 51, 0, 0, 0, 18, 0, 0, 0,
- 22, 0, 0, 0, 26, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0,
- 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 9, 0, 0, 0, 25, 0, 0, 0, 24, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0,
- 11, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
- 13, 0, 0, 0, 17, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 15, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 23, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 29, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 42, 0, 0, 0, 65, 0, 0, 0,114, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0,
- 43, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0,
- 48, 0, 0, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0, 53, 0, 0, 0, 48, 0, 0, 0,
- 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0,
- 60, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0,
- 58, 0, 0, 0, 59, 0, 0, 0, 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 68, 0, 0, 0,
- 67, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 62, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,115, 0, 0, 0,
- 51, 0, 0, 0, 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0, 76, 0, 0, 0, 85, 0, 0, 0,
- 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 84, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0,
- 82, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
- 82, 0, 0, 0, 83, 0, 0, 0, 87, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 75, 0, 0, 0, 74, 0, 0, 0,
- 93, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 88, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0,
- 86, 0, 0, 0, 90, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0,
- 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 73, 0, 0, 0,
- 77, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
- 78, 0, 0, 0, 52, 0, 0, 0, 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0,
-101, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 39, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0,
- 72, 0, 0, 0, 41, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0,
- 0, 0, 0, 0,103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0,109, 0, 0, 0,
-105, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,
-106, 0, 0, 0, 70, 0, 0, 0, 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,112, 0, 0, 0,108, 0, 0, 0,
-109, 0, 0, 0, 0, 0, 0, 0,111, 0, 0, 0,110, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,
-115, 0, 0, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0,
- 0, 0, 0, 0, 81, 0, 0, 0, 77, 0, 0, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,196, 8, 0, 0,
-208,117,183, 3, 65, 0, 0, 0, 51, 0, 0, 0,250,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59, 84,162,203, 62,
- 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,
-146,128, 81, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,225,151,158, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,149,128, 81, 63, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59,
-246,168, 27, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,227,151,158, 63,
- 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,246,168, 27, 63, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,
-247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 24,172,131, 63, 96,211, 93, 59,142,128, 81, 63,
- 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-174,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,247,168, 27, 63,
- 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59,
- 21,172,131, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,248,168, 27, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,
-144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63,
- 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63,
- 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
- 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63,
- 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 72, 47, 41, 63,
- 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,174,225, 76, 63,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,
-188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,
-236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,
-172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,
-173,188,160, 63,188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,
-102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63,
- 56,127,118,190,220, 28, 3, 63, 56,127,118,190,220, 28, 3, 63, 96,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,244, 65, 79, 63,200, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,
-102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,171,188,160, 63,122, 84,181, 62,113,179,141, 63,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,200, 84,104, 61,
-242, 65, 79, 63, 96,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,
-122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,
-216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,
-113,179,141, 63,188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,
-128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,
-113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,
- 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63,
-122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,180,131,140, 63,116, 19,186, 62,244,140,159, 63,
- 50, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-174,225, 76, 63, 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,112,226, 76, 63, 64, 38,135, 61,240,244,114, 63, 4,221, 91, 62,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63, 96, 44,135, 61, 61, 84,181, 62,176,104,169,189, 93,189, 0, 63,
- 80, 1,109,190,248,207, 38, 63,144,109,169,189, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,116, 47, 41, 63,
- 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,185,188, 0, 63, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63, 96, 44,135, 61, 51,207, 38, 63,
- 24,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,
-174,225, 76, 63,116, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,
-120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 52,207, 38, 63,248, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 14, 95, 82, 62, 0, 21,186, 62,144, 82,104, 61,128,223, 91, 62,138, 94, 82, 62, 48, 43,135, 61,
-122, 84,181, 62, 32,224, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63,127, 84,181, 62,
-242, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63, 52,207, 38, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 26, 95, 82, 62,120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62,248, 28, 3, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63, 56,207, 38, 63,111,179,141, 63,188,188, 0, 63,
-173,188,160, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,
-160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,127, 84,181, 62,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,128,106,188,189,176, 20,186, 62,160, 84,104, 61,
- 0, 29, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 3, 0, 0,200,126,183, 3, 59, 0, 0, 0,
-204, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 40,130,183, 3,
- 52, 0, 0, 0, 1, 0, 0, 0, 80,173,183, 3, 0, 87,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46,
- 48, 48, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,112,131,183, 3,200,156,183, 3,248,160,183, 3, 0, 0, 0, 0,
- 48,133,183, 3,200,145,183, 3, 0, 0, 0, 0,240,169,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-168,131,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,144,183, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,155,183, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,116, 0, 0, 0,198, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
-213,204, 76, 63,255,204, 76, 63, 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,112,131,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-168,131,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,104,114, 53, 3, 0, 0, 0, 0, 49, 0, 0, 0,
+ 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,232,114, 53, 3,
+ 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,116, 53, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,116, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,133,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,152,116, 53, 3,
+ 0, 0, 0, 0, 48, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2,
+ 68, 65, 84, 65, 48, 0, 0, 0,248,116, 53, 3, 0, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 60, 0, 1, 0, 0, 0, 0, 0, 77, 69, 0, 0,152, 1, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0,
+104,135, 53, 3, 0, 0, 0, 0, 56,108, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 69,112,108, 97,110,101, 95, 99,104,101, 99,107,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 88,119, 53, 3, 0, 0, 0, 0, 56,129, 53, 3, 0, 0, 0, 0,200,130, 53, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,104,121, 53, 3, 0, 0, 0, 0, 88,125, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 24,134, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,119, 53, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,123, 53, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,127, 53, 3, 0, 0, 0, 0,
+ 3, 0, 0, 0, 5, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 40, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 83, 0, 30, 0, 5, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,
+ 88,119, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24,217, 51, 3, 0, 0, 0, 0,136,195, 51, 3, 0, 0, 0, 0,
+ 68, 65, 84, 65,104, 1, 0, 0,184,119, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,121, 53, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,224, 10, 0, 0, 48,133,183, 3, 58, 0, 0, 0,116, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,
-147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,
-181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,
-172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,
-240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222,158,142,184,239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,
-147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0,183,115, 6,193,127, 31,215, 64,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,222, 33,215,191,
-183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,239, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,244, 35,190, 64, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,
-226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,
-146, 30,215, 64,242, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,
-150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 98,234, 53, 56, 38, 33,215,191, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,
-117, 31,215, 64,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,250, 28,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 14, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,
-117, 31,215, 64, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,141, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,
-112, 59, 60, 65, 77, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 72, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63,
- 78, 31, 87, 65,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,141, 43,100, 64,
- 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,246, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63,
- 78, 31, 87, 65, 2, 29,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65, 14, 29,152, 63,
- 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 18, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63,
- 78, 31, 87, 65, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,250, 28,152,191,
- 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,147, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63,
- 78, 31, 87, 65,141, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,135, 43,100,192,
- 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192,
- 14, 33,215, 63, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,222, 33,215,191,183,190,135, 56, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,
-127, 31,215, 64,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,182,115, 6,193,128, 31,215, 64,127, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 78, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,
-114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,
-113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,142, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,
-107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,
-242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,
-175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,
-182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,223, 28,215, 63,
- 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 64,144,183, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200,145,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10204,5513 +8663,4003 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 72, 9, 0, 0,200,145,183, 3, 55, 0, 0, 0,198, 0, 0, 0, 21, 0, 0, 0, 82, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,
- 83, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0,
- 22, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 54, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0,
- 48, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0,
- 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0,
- 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 34, 0, 4, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0,
- 26, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0,
- 17, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 24, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 34, 0, 5, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 28, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0,
- 14, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 32, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 39, 0, 0, 0,
- 99, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 37, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,
- 41, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0,
- 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,
-109, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0,
- 64, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 86, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 82, 0, 0, 0,
- 0, 0, 34, 0, 52, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0,
-114, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,
- 51, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 50, 0, 0, 0,
- 0, 0, 34, 0, 43, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0,
- 44, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 46, 0, 0, 0, 0, 0, 34, 0,
- 47, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 48, 0, 0, 0,
- 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0,
- 55, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0,
- 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 34, 0, 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0,
- 57, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 63, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0,
- 59, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 62, 0, 0, 0,
- 0, 0, 34, 0, 61, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 64, 0, 0, 0,
- 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 63, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0,
- 66, 0, 0, 0, 67, 0, 0, 0, 0, 0, 34, 0, 62, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 65, 0, 0, 0, 66, 0, 0, 0,
- 0, 0, 34, 0, 61, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0,
- 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0,
- 44, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 42, 0, 0, 0, 65, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0,110, 0, 0, 0,
- 0, 0, 34, 0, 70, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 72, 0, 0, 0,
- 98, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0,
- 75, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 76, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 77, 0, 0, 0, 81, 0, 0, 0,
- 0, 0, 34, 0, 70, 0, 0, 0, 71, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 74, 0, 0, 0,
- 75, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0,
- 80, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0,113, 0, 0, 0,
- 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 85, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,
- 84, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 85, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0,
- 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0, 88, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 88, 0, 0, 0,
- 0, 0, 34, 0, 83, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0,
- 86, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0,
- 88, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0, 87, 0, 0, 0, 91, 0, 0, 0,
- 0, 0, 34, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 93, 0, 0, 0,
- 97, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0,
- 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0,
- 0, 0, 34, 0, 90, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 34, 0, 79, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0, 94, 0, 0, 0, 0, 0, 34, 0,
-101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,104, 0, 0, 0,
- 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,
- 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,114, 0, 0, 0, 0, 0, 34, 0,
-105, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0,
- 0, 0, 34, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,
-103, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,109, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,
-108, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0,
- 0, 0, 34, 0,107, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0,113, 0, 0, 0,115, 0, 0, 0, 0, 0, 34, 0,112, 0, 0, 0,113, 0, 0, 0, 0, 0, 34, 0,
-111, 0, 0, 0,112, 0, 0, 0, 0, 0, 34, 0,110, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,
- 64,155,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,156,183, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,160,183, 3, 6, 0, 0, 0, 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, 67,111,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,240,169,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,252, 3, 0, 0,200,156,183, 3, 54, 0, 0, 0, 51, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0, 26, 0, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 25, 0, 0, 0,
- 24, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 28, 0, 0, 0, 6, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 17, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 15, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 23, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
- 0, 0, 0, 0, 34, 0, 0, 0, 35, 0, 0, 0, 29, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 65, 0, 0, 0,
-114, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 44, 0, 0, 0, 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
- 46, 0, 0, 0, 57, 0, 0, 0, 61, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 46, 0, 0, 0,
- 47, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 1, 0, 0, 0, 53, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0,
- 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 56, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 0, 0, 53, 0, 0, 0, 54, 0, 0, 0, 58, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0,
- 63, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 0, 0, 0, 68, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0,
- 61, 0, 0, 0, 62, 0, 0, 0, 66, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,115, 0, 0, 0, 51, 0, 0, 0, 66, 0, 0, 0,
- 67, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 22, 0, 0, 0, 76, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
- 19, 0, 0, 0, 84, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 0, 0, 82, 0, 0, 0, 56, 0, 0, 0,
- 0, 0, 0, 0, 84, 0, 0, 0, 85, 0, 0, 0, 89, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 83, 0, 0, 0,
- 87, 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 75, 0, 0, 0, 74, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0,
- 87, 0, 0, 0, 88, 0, 0, 0, 92, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 86, 0, 0, 0, 90, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0, 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0,
- 91, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0, 0, 73, 0, 0, 0, 77, 0, 0, 0, 81, 0, 0, 0,
- 0, 0, 0, 0, 95, 0, 0, 0, 96, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 52, 0, 0, 0,
- 68, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 50, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,
-100, 0, 0, 0, 99, 0, 0, 0, 39, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 72, 0, 0, 0, 41, 0, 0, 0,
- 40, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0,
-102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0,114, 0, 0, 0,
- 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0, 70, 0, 0, 0,
- 71, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,112, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,
-111, 0, 0, 0,110, 0, 0, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 0, 0,113, 0, 0, 0,115, 0, 0, 0, 52, 0, 0, 0,
- 78, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 80, 0, 0, 0,111, 0, 0, 0,112, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0,
- 77, 0, 0, 0, 69, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,196, 8, 0, 0,248,160,183, 3, 65, 0, 0, 0,
- 51, 0, 0, 0,250,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59,251,168, 27, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63, 96,211, 93, 59,146,128, 81, 63, 96,211, 93, 59,
-149,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,227,151,158, 63,
- 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,225,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,149,128, 81, 63, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,
-142,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,227,151,158, 63, 96,211, 93, 59, 22,172,131, 63,
- 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-246,168, 27, 63, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 24,172,131, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,
-226,151,158, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,176,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63,
- 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59,176,131,185, 63,
- 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63,
- 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63,
- 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,
-210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 72, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63,
- 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,
-102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,174,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63,
- 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,
-102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,
-173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,
-172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
-111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63, 56,127,118,190,220, 28, 3, 63,
- 56,127,118,190,220, 28, 3, 63, 96,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,
-102, 84,117, 63,200, 84,104, 61,244, 65, 79, 63,200, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,171,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,
-188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,200, 84,104, 61,242, 65, 79, 63, 96,105,188,189,
-120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,
-216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,
-160, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,
-173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,
-128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,
-113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,
-128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,
-242, 65, 79, 63,160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,180,131,140, 63,116, 19,186, 62,244,140,159, 63, 50, 28, 3, 63, 99,131,140, 63,
- 76, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63, 0, 21,186, 62,
- 51,207, 38, 63, 24,224, 91, 62,112,226, 76, 63, 64, 38,135, 61,240,244,114, 63, 4,221, 91, 62, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,185,188, 0, 63, 96, 44,135, 61, 61, 84,181, 62,176,104,169,189, 93,189, 0, 63, 80, 1,109,190,248,207, 38, 63,
-144,109,169,189, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,116, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,
-174,225, 76, 63, 0, 21,186, 62, 42,244,114, 63,244, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,185,188, 0, 63,
- 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63, 96, 44,135, 61, 51,207, 38, 63, 24,224, 91, 62, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63,
- 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,120, 47, 41, 63,122, 84,181, 62,
-248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 52,207, 38, 63,248, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 14, 95, 82, 62, 0, 21,186, 62,144, 82,104, 61,128,223, 91, 62,138, 94, 82, 62, 48, 43,135, 61,122, 84,181, 62, 32,224, 91, 62,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,188,188, 0, 63,
-120, 47, 41, 63, 52,207, 38, 63,236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,120, 47, 41, 63,
-160, 84,104, 61, 0, 29, 3, 63, 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62,248, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,190,188, 0, 63,102, 84,117, 63, 56,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,
-113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,
- 26, 95, 82, 62,120, 47, 41, 63,127, 84,181, 62,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,
-120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63,128,106,188,189,176, 20,186, 62,160, 84,104, 61, 0, 29, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 3, 0, 0,240,169,183, 3, 59, 0, 0, 0,204, 0, 0, 0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 80,173,183, 3, 52, 0, 0, 0, 1, 0, 0, 0,
- 96,215,183, 3, 40,130,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 48, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
- 0, 0, 0, 0, 0, 0, 0, 0,152,174,183, 3,120,199,183, 3,128,203,183, 3, 0, 0, 0, 0, 88,176,183, 3,192,188,183, 3,
- 0, 0, 0, 0, 32,212,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208,174,183, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,187,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,240,197,183, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-114, 0, 0, 0,192, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,213,204, 76, 63,255,204, 76, 63,
- 0, 0,104,182, 30, 0,128, 63,140, 0,128, 63,214,255,127, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-152,174,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,208,174,183, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 88,176,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,176, 10, 0, 0,
- 88,176,183, 3, 58, 0, 0, 0,114, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,175, 86,161, 64,144, 87, 33, 65, 74, 36,190,192, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,243,229,133,184,
-112, 59, 60, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65, 69, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,194, 87,161,192,179, 31,215, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,208, 28,215, 63,
-146, 87, 33, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 13, 32, 87,192,244, 87,161, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,226, 29, 87, 64,
-179,115, 6, 65, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 44, 33,215,191,113, 32, 87, 64, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,173, 86,161, 64,
-170, 31,215, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64, 71, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64, 69, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,222,158,142,184,239, 33,215, 63, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65,136, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,142, 43,100,192,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,148, 43,100,192,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,154, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65,253, 28,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 9, 29,152,191,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 20, 29,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65, 12, 29,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 0, 29,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,244, 28,152, 63,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65,232, 28,152, 63,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,121, 31,215,192,
-181,115, 6, 65,139, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,191, 87,161,192,148, 87, 33, 65,133, 43,100, 64,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0, 5, 32, 87,192,114, 59, 60, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 32, 33,215,191, 81, 31, 87, 65,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,122, 31,215,192,
-180,115, 6, 65, 72, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,192, 87,161,192,147, 87, 33, 65, 74, 36,190,192,
-255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65, 77, 36,190,192,255, 63, 1,192,129, 90,255, 0,
- 0, 0, 0, 0, 36, 33,215,191, 81, 31, 87, 65, 78, 36,190,192,255, 63, 1,192,129, 90,255, 0, 0, 0, 0, 0,182,115, 6,193,
-128, 31,215, 64,127, 43,100, 64,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,232, 28,152, 63,
-129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64, 32, 29,152,191,129, 90,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,183,115, 6,193,127, 31,215, 64,154, 43,100,192,129, 90,127,165, 0, 0,255, 0, 2, 0, 0, 0,222, 33,215,191,
-183,190,135, 56, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63, 72, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,170, 31,215,192,190, 87,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,135, 43,100,192, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,141, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,147, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,153, 43,100,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,250, 28,152,191, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 6, 29,152,191,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 18, 29,152,191,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65, 30, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65, 14, 29,152, 63, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65, 2, 29,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,246, 28,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,234, 28,152, 63,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65,141, 43,100, 64, 0, 0, 2,128, 0, 0,255, 0, 2, 0, 0, 0,199, 28,215, 63, 78, 31, 87, 65,135, 43,100, 64,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,225, 29, 87, 64,110, 59, 60, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0,177, 86,161, 64,146, 87, 33, 65,129, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,213, 91,136,184,
- 43, 3,114, 65, 72, 36,190,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65, 77, 36,190,192,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 72, 36,190,192, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,135, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,141, 43,100, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 2, 29,152, 63,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65, 14, 29,152, 63,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64, 6, 29,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,
-151,115, 6, 65,250, 28,152,191,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0, 43,115, 6, 65,117, 31,215, 64,141, 43,100,192,
-127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,135, 43,100,192,127,165,127,165, 0, 0,255, 0,
- 2, 0, 0, 0, 15, 33,215, 63,226, 3, 41,184, 67, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 4, 32, 87, 64,
-150, 29,215, 63, 68, 36,190,192, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64, 69, 36,190,192,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64, 72, 36,190,192, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,159,115, 6, 65,146, 30,215, 64, 74, 36,190,192,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,159,115, 6, 65,
-146, 30,215, 64,242, 35,190, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,127, 31,215, 64,217, 86,161, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,193, 87,161, 64, 62, 30, 87, 64,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 4, 32, 87, 64,150, 29,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 15, 33,215, 63,
-226, 3, 41,184,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,150, 30,215, 64,151,115, 6, 65,244, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,217, 29, 87, 64,112, 59, 60, 65,239, 35,190, 64, 1,192, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,213, 91,136,184, 43, 3,114, 65,244, 35,190, 64,127,165,127,165, 0, 0,255, 0, 2, 0, 0, 0,170, 31,215,192,
-190, 87,161, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,240, 87,161,192, 2, 32, 87, 64,244, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,102, 32, 87,192, 14, 33,215, 63,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,222, 33,215,191,183,190,135, 56,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 36, 33,215,191,
- 81, 31, 87, 65,238, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0, 7, 32, 87,192,113, 59, 60, 65,239, 35,190, 64,
-255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,192, 87,161,192,147, 87, 33, 65,242, 35,190, 64,255, 63, 1,192,129, 90,255, 0,
- 2, 0, 0, 0,122, 31,215,192,180,115, 6, 65,244, 35,190, 64,255, 63, 1,192,129, 90,255, 0, 2, 0, 0, 0,222,158,142,184,
-239, 33,215, 63,248, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,191, 28,215, 63,107, 32, 87, 64,247, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,220, 29, 87, 64,240, 87,161, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,173, 86,161, 64,170, 31,215, 64,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 44, 33,215,191,
-113, 32, 87, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,127,212,140,184,242, 87,161, 64,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,201, 28,215, 63,172, 31,215, 64,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,226, 29, 87, 64,179,115, 6, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 13, 32, 87,192,
-244, 87,161, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 37, 33,215,191,175, 31,215, 64,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,172,163,138,184,181,115, 6, 65,245, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,208, 28,215, 63,146, 87, 33, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,194, 87,161,192,
-179, 31,215, 64,250, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 6, 32, 87,192,182,115, 6, 65,248, 35,190, 64,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 18, 33,215,191,147, 87, 33, 65,247, 35,190, 64, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,243,229,133,184,112, 59, 60, 65,244, 35,190, 64, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,175, 86,161, 64,
-144, 87, 33, 65,242, 35,190, 64, 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0,223, 28,215, 63, 77, 31, 87, 65,242, 35,190, 64,
- 1,192, 1,192,129, 90,255, 0, 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191,245, 35,190, 64, 0, 0, 42,221, 41,123,255, 0,
- 2, 0, 0, 0, 10,152, 60, 56, 16, 33,215,191, 74, 36,190,192, 0, 0, 42,221,215,132,255, 0, 2, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 56,187,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,188,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 0, 9, 0, 0,192,188,183, 3, 55, 0, 0, 0,192, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 34, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0,
- 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 34, 0, 6, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 34, 0, 10, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0,
- 36, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 34, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 34, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0,
- 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0,
- 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 23, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 34, 0, 23, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0,
- 26, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 33, 0, 0, 0, 0, 0, 34, 0, 28, 0, 0, 0, 29, 0, 0, 0, 0, 0, 34, 0,
- 28, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 34, 0, 27, 0, 0, 0, 31, 0, 0, 0,
- 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 30, 0, 0, 0, 0, 0, 34, 0, 32, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 34, 0, 31, 0, 0, 0, 32, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 34, 0,
- 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 37, 0, 0, 0,
- 0, 0, 34, 0, 3, 0, 0, 0, 36, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 35, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0,
- 34, 0, 0, 0, 0, 0, 34, 0, 38, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 40, 0, 0, 0, 41, 0, 0, 0, 0, 0, 34, 0,
- 42, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0, 44, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 38, 0, 0, 0,
- 0, 0, 34, 0, 26, 0, 0, 0, 39, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 40, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0,
- 41, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 42, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 43, 0, 0, 0, 0, 0, 34, 0,
- 9, 0, 0, 0, 44, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 45, 0, 0, 0, 0, 0, 34, 0, 49, 0, 0, 0, 72, 0, 0, 0,
- 0, 0, 34, 0, 53, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0,
- 66, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0,
- 49, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 49, 0, 0, 0, 0, 0, 34, 0, 48, 0, 0, 0, 52, 0, 0, 0,
- 0, 0, 34, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 34, 0, 47, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0,
- 47, 0, 0, 0, 0, 0, 34, 0, 46, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 53, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0,
- 52, 0, 0, 0, 53, 0, 0, 0, 0, 0, 34, 0, 52, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 51, 0, 0, 0, 52, 0, 0, 0,
- 0, 0, 34, 0, 51, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 34, 0, 50, 0, 0, 0,
- 54, 0, 0, 0, 0, 0, 34, 0, 57, 0, 0, 0, 61, 0, 0, 0, 0, 0, 34, 0, 56, 0, 0, 0, 57, 0, 0, 0, 0, 0, 34, 0,
- 56, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 34, 0, 55, 0, 0, 0, 59, 0, 0, 0,
- 0, 0, 34, 0, 54, 0, 0, 0, 55, 0, 0, 0, 0, 0, 34, 0, 54, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0,
- 61, 0, 0, 0, 0, 0, 34, 0, 59, 0, 0, 0, 60, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 34, 0,
- 65, 0, 0, 0, 66, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 68, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0, 68, 0, 0, 0,
- 0, 0, 34, 0, 68, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 69, 0, 0, 0, 70, 0, 0, 0, 0, 0, 34, 0, 67, 0, 0, 0,
- 69, 0, 0, 0, 0, 0, 34, 0, 70, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0,
- 64, 0, 0, 0, 72, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 63, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0,
- 49, 0, 0, 0, 0, 0, 34, 0, 1, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0, 58, 0, 0, 0, 0, 0, 34, 0,
- 29, 0, 0, 0, 54, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 50, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 46, 0, 0, 0,
- 0, 0, 34, 0, 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 63, 0, 0, 0, 0, 0, 34, 0, 75, 0, 0, 0,
- 76, 0, 0, 0, 0, 0, 34, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0, 71, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0,
- 64, 0, 0, 0, 77, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 76, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 75, 0, 0, 0,
- 0, 0, 34, 0, 16, 0, 0, 0, 74, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 73, 0, 0, 0, 0, 0, 34, 0, 82, 0, 0, 0,
- 94, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 80, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0,
- 79, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0, 78, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 81, 0, 0, 0, 82, 0, 0, 0,
- 0, 0, 34, 0, 79, 0, 0, 0, 80, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,
- 97, 0, 0, 0, 0, 0, 34, 0, 83, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 85, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,
- 84, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 84, 0, 0, 0,110, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0,106, 0, 0, 0,
- 0, 0, 34, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0, 89, 0, 0, 0,
- 94, 0, 0, 0, 0, 0, 34, 0, 86, 0, 0, 0, 87, 0, 0, 0, 0, 0, 34, 0, 88, 0, 0, 0, 89, 0, 0, 0, 0, 0, 34, 0,
- 93, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0, 91, 0, 0, 0,108, 0, 0, 0,
- 0, 0, 34, 0, 90, 0, 0, 0,109, 0, 0, 0, 0, 0, 34, 0, 90, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 92, 0, 0, 0,
- 93, 0, 0, 0, 0, 0, 34, 0, 97, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0, 96, 0, 0, 0, 97, 0, 0, 0, 0, 0, 34, 0,
- 96, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 96, 0, 0, 0, 0, 0, 34, 0, 95, 0, 0, 0, 99, 0, 0, 0,
- 0, 0, 34, 0, 94, 0, 0, 0, 95, 0, 0, 0, 0, 0, 34, 0, 94, 0, 0, 0, 98, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0,101, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 34, 0,
-100, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,100, 0, 0, 0, 0, 0, 34, 0, 99, 0, 0, 0,103, 0, 0, 0,
- 0, 0, 34, 0, 98, 0, 0, 0, 99, 0, 0, 0, 0, 0, 34, 0, 98, 0, 0, 0,102, 0, 0, 0, 0, 0, 34, 0,105, 0, 0, 0,
-109, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,105, 0, 0, 0, 0, 0, 34, 0,104, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,
-103, 0, 0, 0,104, 0, 0, 0, 0, 0, 34, 0,103, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,102, 0, 0, 0,103, 0, 0, 0,
- 0, 0, 34, 0,102, 0, 0, 0,106, 0, 0, 0, 0, 0, 34, 0,109, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0,108, 0, 0, 0,
-109, 0, 0, 0, 0, 0, 34, 0,107, 0, 0, 0,108, 0, 0, 0, 0, 0, 34, 0,106, 0, 0, 0,107, 0, 0, 0, 0, 0, 34, 0,
- 65, 0, 0, 0, 78, 0, 0, 0, 0, 0, 34, 0, 66, 0, 0, 0, 83, 0, 0, 0, 0, 0, 34, 0, 58, 0, 0, 0, 85, 0, 0, 0,
- 0, 0, 34, 0, 59, 0, 0, 0,111, 0, 0, 0, 0, 0, 34, 0, 60, 0, 0, 0, 84, 0, 0, 0, 0, 0, 34, 0, 61, 0, 0, 0,
-110, 0, 0, 0, 0, 0, 34, 0, 30, 0, 0, 0, 93, 0, 0, 0, 0, 0, 34, 0, 31, 0, 0, 0, 92, 0, 0, 0, 0, 0, 34, 0,
- 32, 0, 0, 0, 91, 0, 0, 0, 0, 0, 34, 0, 33, 0, 0, 0, 90, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-240,197,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,199,183, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,203,183, 3, 6, 0, 0, 0, 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, 67,111,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, 32,212,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,212, 3, 0, 0,120,199,183, 3, 54, 0, 0, 0, 49, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 5, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 45, 0, 0, 0, 44, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0,
- 13, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
- 13, 0, 0, 0, 43, 0, 0, 0, 42, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 16, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 14, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
- 17, 0, 0, 0, 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 76, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 36, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0,
- 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 25, 0, 0, 0, 21, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0,
- 24, 0, 0, 0, 23, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 41, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 28, 0, 0, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
- 26, 0, 0, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 33, 0, 0, 0, 29, 0, 0, 0, 54, 0, 0, 0,
- 0, 0, 0, 0, 32, 0, 0, 0, 31, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 38, 0, 0, 0,
- 39, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 91, 0, 0, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
- 92, 0, 0, 0, 93, 0, 0, 0, 30, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 48, 0, 0, 0, 63, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
- 51, 0, 0, 0, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 56, 0, 0, 0, 52, 0, 0, 0, 53, 0, 0, 0,
- 0, 0, 0, 0, 55, 0, 0, 0, 54, 0, 0, 0, 50, 0, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 59, 0, 0, 0,
- 55, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,110, 0, 0, 0, 84, 0, 0, 0, 60, 0, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,
-111, 0, 0, 0, 85, 0, 0, 0, 58, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, 83, 0, 0, 0, 66, 0, 0, 0,
- 65, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 61, 0, 0, 0, 57, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0,
- 68, 0, 0, 0, 70, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 53, 0, 0, 0, 49, 0, 0, 0, 72, 0, 0, 0,
- 0, 0, 0, 0, 71, 0, 0, 0, 72, 0, 0, 0, 64, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0, 79, 0, 0, 0,
- 97, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 94, 0, 0, 0, 82, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
-110, 0, 0, 0,101, 0, 0, 0, 97, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 99, 0, 0, 0, 95, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, 88, 0, 0, 0, 89, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,
-104, 0, 0, 0,100, 0, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,103, 0, 0, 0,102, 0, 0, 0, 98, 0, 0, 0, 99, 0, 0, 0,
- 0, 0, 0, 0,111, 0, 0, 0,109, 0, 0, 0,105, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0,108, 0, 0, 0,107, 0, 0, 0,
-103, 0, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,106, 0, 0, 0, 86, 0, 0, 0, 87, 0, 0, 0,102, 0, 0, 0, 0, 0, 0, 0,
- 90, 0, 0, 0, 91, 0, 0, 0,108, 0, 0, 0,109, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 93, 0, 0, 0,106, 0, 0, 0,
-107, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,108, 8, 0, 0,128,203,183, 3, 65, 0, 0, 0, 49, 0, 0, 0,160, 84,104, 61,
-242, 65, 79, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61, 0, 29, 3, 63, 26, 95, 82, 62,120, 47, 41, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63,127, 84,181, 62,242, 65, 79, 63,
-190,188, 0, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61, 0, 29, 3, 63,128,106,188,189,
-176, 20,186, 62,144, 82,104, 61,128,223, 91, 62, 14, 95, 82, 62, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-127, 84,181, 62,242, 65, 79, 63, 26, 95, 82, 62,120, 47, 41, 63,122, 84,181, 62,248, 28, 3, 63,188,188, 0, 63,120, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 56,207, 38, 63,111,179,141, 63,190,188, 0, 63,102, 84,117, 63, 52,207, 38, 63,
-236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,248, 28, 3, 63,
- 14, 95, 82, 62, 0, 21,186, 62,122, 84,181, 62, 32,224, 91, 62,185,188, 0, 63, 0, 21,186, 62, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 52,207, 38, 63,236, 65, 79, 63,188,188, 0, 63,120, 47, 41, 63, 52,207, 38, 63,248, 28, 3, 63,174,225, 76, 63,
-116, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62, 32,224, 91, 62,138, 94, 82, 62, 48, 43,135, 61,
- 61, 84,181, 62,176,104,169,189,185,188, 0, 63, 96, 44,135, 61, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,
-248, 28, 3, 63,185,188, 0, 63, 0, 21,186, 62, 51,207, 38, 63, 24,224, 91, 62,174,225, 76, 63, 0, 21,186, 62, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,116, 47, 41, 63, 42,244,114, 63,244, 28, 3, 63,
- 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 51,207, 38, 63, 24,224, 91, 62,185,188, 0, 63,
- 96, 44,135, 61,248,207, 38, 63,144,109,169,189,112,226, 76, 63, 64, 38,135, 61, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-240,244,114, 63, 4,221, 91, 62,180,131,140, 63,116, 19,186, 62, 42,244,114, 63,244, 28, 3, 63,174,225, 76, 63, 0, 21,186, 62,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,
-102, 84,117, 63,122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,
-128,105,188,189,120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,
-173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,160, 84,104, 61,242, 65, 79, 63,
-160, 84,104, 61,242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,128,105,188,189,
-120, 47, 41, 63, 64,127,118,190,216, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,
-122, 84,181, 62,113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,160, 84,104, 61,242, 65, 79, 63,128,105,188,189,
-120, 47, 41, 63,128,105,188,189,120, 47, 41, 63,160, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
-188,188, 0, 63,173,188,160, 63,122, 84,181, 62,113,179,141, 63,122, 84,181, 62,113,179,141, 63,188,188, 0, 63,173,188,160, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 26, 95, 82, 62,102, 84,117, 63,200, 84,104, 61,242, 65, 79, 63,160, 84,104, 61,
-242, 65, 79, 63, 26, 95, 82, 62,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 96,105,188,189,120, 47, 41, 63,
- 56,127,118,190,220, 28, 3, 63, 64,127,118,190,216, 28, 3, 63,128,105,188,189,120, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0,122, 84,181, 62,113,179,141, 63, 26, 95, 82, 62,102, 84,117, 63, 26, 95, 82, 62,102, 84,117, 63,122, 84,181, 62,
-113,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,200, 84,104, 61,244, 65, 79, 63, 96,105,188,189,120, 47, 41, 63,
- 96,105,188,189,120, 47, 41, 63,200, 84,104, 61,242, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 44,244,114, 63,
-236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0,188,188, 0, 63,173,188,160, 63, 56,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,
-188,188, 0, 63,173,188,160, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,172,225, 76, 63,102, 84,117, 63, 52,207, 38, 63,
-111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 44,244,114, 63,236, 65, 79, 63,172,225, 76, 63,102, 84,117, 63,172,225, 76, 63,102, 84,117, 63, 44,244,114, 63,236, 65, 79, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,188,188, 0, 63,173,188,160, 63,188,188, 0, 63,
-173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,174,225, 76, 63,102, 84,117, 63,
- 52,207, 38, 63,111,179,141, 63, 52,207, 38, 63,111,179,141, 63,172,225, 76, 63,102, 84,117, 63, 0, 0, 0, 0, 60, 0, 1, 0,
- 0, 0, 0, 0, 44,244,114, 63,236, 65, 79, 63,174,225, 76, 63,102, 84,117, 63,174,225, 76, 63,102, 84,117, 63, 44,244,114, 63,
-236, 65, 79, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 52,207, 38, 63,111,179,141, 63,190,188, 0, 63,171,188,160, 63,
-188,188, 0, 63,173,188,160, 63, 52,207, 38, 63,111,179,141, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,162,140,159, 63,
-210, 28, 3, 63, 99,131,140, 63, 72, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0,
- 60, 0, 1, 0, 0, 0, 0, 0, 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63,
- 99,131,140, 63, 76, 47, 41, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63,
- 76, 47, 41, 63, 99,131,140, 63, 76, 47, 41, 63,161,140,159, 63,210, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,
- 99,131,140, 63, 76, 47, 41, 63, 44,244,114, 63,236, 65, 79, 63, 44,244,114, 63,236, 65, 79, 63, 99,131,140, 63, 76, 47, 41, 63,
- 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0,161,140,159, 63,210, 28, 3, 63, 99,131,140, 63, 76, 47, 41, 63, 99,131,140, 63,
- 76, 47, 41, 63,244,140,159, 63, 50, 28, 3, 63, 0, 0, 0, 0, 60, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,
-226,151,158, 63, 96,211, 93, 59,224,151,158, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,144,128, 81, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,248,168, 27, 63, 96,211, 93, 59,144,128, 81, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,176,131,185, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59,
-224,151,158, 63, 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 21,172,131, 63,
- 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59, 22,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,247,168, 27, 63, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59, 85,162,203, 62, 96,211, 93, 59,
-247,168, 27, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,226,151,158, 63, 96,211, 93, 59, 24,172,131, 63,
- 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,226,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-142,128, 81, 63, 96,211, 93, 59,246,168, 27, 63, 96,211, 93, 59,247,168, 27, 63, 96,211, 93, 59,144,128, 81, 63, 96,211, 93, 59,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,174,131,185, 63, 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59,226,151,158, 63,
- 96,211, 93, 59,174,131,185, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 22,172,131, 63, 96,211, 93, 59,
-149,128, 81, 63, 96,211, 93, 59,142,128, 81, 63, 96,211, 93, 59, 24,172,131, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,251,168, 27, 63, 96,211, 93, 59, 84,162,203, 62, 96,211, 93, 59, 86,162,203, 62, 96,211, 93, 59,246,168, 27, 63,
- 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,225,151,158, 63, 96,211, 93, 59, 21,172,131, 63, 96,211, 93, 59,
- 22,172,131, 63, 96,211, 93, 59,227,151,158, 63, 96,211, 93, 59, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,146,128, 81, 63,
- 96,211, 93, 59,250,168, 27, 63, 96,211, 93, 59,251,168, 27, 63, 96,211, 93, 59,149,128, 81, 63, 96,211, 93, 59, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 3, 0, 0, 32,212,183, 3, 59, 0, 0, 0,196, 0, 0, 0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 96,215,183, 3, 52, 0, 0, 0, 1, 0, 0, 0,
-144,228,183, 3, 80,173,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 49, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
- 0, 0, 0, 0, 0, 0, 0, 0,168,216,183, 3,128,225,183, 3, 80,226,183, 3, 0, 0, 0, 0,104,218,183, 3, 72,222,183, 3,
- 0, 0, 0, 0,224,227,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,216,183, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,220,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248,223,183, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-168,216,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,224,216,183, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,218,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,244, 1, 0, 0,104,121, 53, 3, 0, 0, 0, 0, 52, 0, 0, 0, 25, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,
+208,204, 76,191, 0, 0, 2,128, 0, 0, 1, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
+ 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 2,128, 0, 0, 1, 0, 41,205,204, 62,174,148, 77,180,200,204,204,190,
+ 0, 0, 1,128, 0, 0, 1, 0,254,204, 76, 63,176, 90, 19, 51,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 41,205,204, 62,
+174,148, 77,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0,254,204, 76, 63,176, 90, 19, 51, 0, 0, 96, 52, 0, 0, 2,128,
+ 0, 0, 1, 0, 41,205,204, 62,174,148, 77,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 47,205,204, 62,174,148, 77,180,
+214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 41,205,204, 62,174,148, 77,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
+254,204, 76, 63,176, 90, 19, 51,208,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 2, 0, 86,182, 3, 0,160, 52,214,204, 76,191,
+ 0, 0, 1,128, 0, 0, 1, 0, 65,205,204,190, 91, 41,155, 51,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 1, 0, 78,182,
+ 3, 0,160, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 57,205,204,190, 90, 41,155, 51,206,204, 76, 63, 0, 0, 1,128,
+ 0, 0, 1, 0, 10,205, 76,191,169, 82,182, 51,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 2, 0, 86,182, 3, 0,160, 52,
+197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 65,205,204,190, 91, 41,155, 51,205,204,204, 62, 0, 0, 2,128, 0, 0, 1, 0,
+ 10,205, 76,191,169, 82,182, 51,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 2, 0, 86,182, 3, 0,160, 52, 0, 0,144,180,
+ 0, 0, 2,128, 0, 0, 1, 0, 65,205,204,190, 91, 41,155, 51, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0, 10,205, 76,191,
+169, 82,182, 51, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0, 2, 0, 86,182, 3, 0,160, 52,224,204,204,190, 0, 0, 1,128,
+ 0, 0, 1, 0, 65,205,204,190, 91, 41,155, 51,216,204,204,190, 0, 0, 2,128, 0, 0, 1, 0, 10,205, 76,191,169, 82,182, 51,
+208,204,204,190, 0, 0, 2,128, 0, 0, 1, 0, 68, 65, 84, 65,104, 1, 0, 0,168,123, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0,
+ 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 88,125, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,
-104,218,183, 3, 58, 0, 0, 0, 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,192,220,183, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 72,222,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-128, 1, 0, 0, 72,222,183, 3, 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0,
- 2, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 35, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 35, 0, 6, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 35, 0, 16, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 35, 0, 14, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,248,223,183, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,128,225,183, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80,226,183, 3, 6, 0, 0, 0, 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, 68, 65, 84, 65,224, 1, 0, 0, 88,125, 53, 3, 0, 0, 0, 0, 49, 0, 0, 0,
+ 40, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,
+ 9, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 8, 0, 0, 0,
+ 0, 0, 35, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0,
+ 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 16, 0, 0, 0,
+ 0, 0, 35, 0, 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0,
+ 20, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 19, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 24, 0, 0, 0, 0, 0, 35, 0,
+ 23, 0, 0, 0, 24, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 23, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, 23, 0, 0, 0,
+ 0, 0, 35, 0, 19, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 23, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0,
+ 22, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0,
+ 5, 0, 0, 0, 19, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,
+ 8, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 35, 0,
+ 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 11, 0, 0, 0,
+ 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,136,127, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,
+120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,129, 53, 3,
+ 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,200,130, 53, 3, 0, 0, 0, 0, 6, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,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,224,227,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-128,225,183, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2,
- 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0,
- 16, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 2, 22, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0,
- 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0, 80,226,183, 3, 65, 0, 0, 0, 8, 0, 0, 0,
- 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0, 0,229,213, 62,162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,
-162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,128, 0, 0, 0,224,227,183, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,144,228,183, 3,
- 52, 0, 0, 0, 1, 0, 0, 0,192,241,183, 3, 96,215,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46,
- 48, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,216,229,183, 3,176,238,183, 3,128,239,183, 3, 0, 0, 0, 0,
-152,231,183, 3,120,235,183, 3, 0, 0, 0, 0, 16,241,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16,230,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,233,183, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,237,183, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,216,229,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,
- 16,230,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,231,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,134, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 2, 0, 0,152,231,183, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0,240,233,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,235,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,120,235,183, 3, 55, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,
- 40,237,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,238,183, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,239,183, 3, 6, 0, 0, 0, 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, 67,111,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, 16,241,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,176,238,183, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 14, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0,128,239,183, 3,
- 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 18,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 56,129, 53, 3, 0, 0, 0, 0, 48, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+ 12, 0, 0, 0, 23, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 2, 19, 0, 0, 0, 20, 0, 0, 0, 23, 0, 0, 0, 22, 0, 0, 0,
+ 0, 0, 0, 2, 17, 0, 0, 0, 18, 0, 0, 0, 21, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 13, 0, 0, 0, 14, 0, 0, 0,
+ 17, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2,
+ 7, 0, 0, 0, 16, 0, 0, 0, 19, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 4, 0, 0, 0, 6, 0, 0, 0,
+ 5, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 22, 0, 0, 0, 11, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0,
+ 3, 0, 0, 0, 9, 0, 0, 0, 10, 0, 0, 0, 1, 0, 0, 2, 22, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 19, 0, 0, 0,
+ 1, 0, 0, 2, 2, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 2, 8, 0, 0, 0, 13, 0, 0, 0,
+ 16, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 2, 14, 0, 0, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 1, 0, 0, 2,
+ 16, 0, 0, 0, 17, 0, 0, 0, 20, 0, 0, 0, 19, 0, 0, 0, 1, 0, 0, 2, 20, 0, 0, 0, 21, 0, 0, 0, 24, 0, 0, 0,
+ 23, 0, 0, 0, 1, 0, 0, 2, 22, 0, 0, 0, 23, 0, 0, 0, 12, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 2, 68, 65, 84, 65,
+ 0, 3, 0, 0,200,130, 53, 3, 0, 0, 0, 0, 59, 0, 0, 0, 16, 0, 0, 0,144,108,246, 61,162,226,125, 63, 12,192,137, 62,
+162,226,125, 63, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0, 16,241,183, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0,192,241,183, 3, 52, 0, 0, 0, 1, 0, 0, 0,240,254,183, 3,144,228,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 49, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 8,243,183, 3,224,251,183, 3,
-176,252,183, 3, 0, 0, 0, 0,200,244,183, 3,168,248,183, 3, 0, 0, 0, 0, 64,254,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 64,243,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32,247,183, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,250,183, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 8,243,183, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 64,243,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,244,183, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,200,244,183, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 32,247,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,248,183, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,168,248,183, 3, 55, 0, 0, 0, 32, 0, 0, 0,
- 1, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0,
- 11, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 9, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 88,250,183, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,251,183, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,252,183, 3, 6, 0, 0, 0,
- 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, 67,111,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, 64,254,183, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,224,251,183, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0,
- 14, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 96, 1, 0, 0,176,252,183, 3, 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 18,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0, 64,254,183, 3, 59, 0, 0, 0,
- 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,240,254,183, 3, 52, 0, 0, 0, 1, 0, 0, 0, 32, 12,184, 3,192,241,183, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 56, 0,184, 3, 16, 9,184, 3,224, 9,184, 3, 0, 0, 0, 0,248, 1,184, 3,216, 5,184, 3, 0, 0, 0, 0,112, 11,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 0,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 4,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136, 7,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,205, 76, 63,
-172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 56, 0,184, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,112, 0,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 1,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,248, 1,184, 3, 58, 0, 0, 0,
- 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 80, 4,184, 3, 58, 1, 0, 0, 5, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-216, 5,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,216, 5,184, 3,
- 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0,
- 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,136, 7,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 9,184, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-224, 9,184, 3, 6, 0, 0, 0, 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, 67,111,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,112, 11,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 16, 9,184, 3, 54, 0, 0, 0,
- 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2,
- 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0,
- 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0,224, 9,184, 3, 65, 0, 0, 0, 8, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 0,229,213, 62,
-162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,
-112, 11,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 32, 12,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,
- 80, 25,184, 3,240,254,183, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 53, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
- 0, 0, 0, 0, 0, 0, 0, 0,104, 13,184, 3, 64, 22,184, 3, 16, 23,184, 3, 0, 0, 0, 0, 40, 15,184, 3, 8, 19,184, 3,
- 0, 0, 0, 0,160, 24,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 13,184, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 17,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,184, 20,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-104, 13,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,160, 13,184, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 40, 15,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,
- 40, 15,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,128, 17,184, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 19,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-128, 1, 0, 0, 8, 19,184, 3, 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0,
- 2, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 35, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 35, 0, 6, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 35, 0, 16, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 35, 0, 14, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,184, 20,184, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 64, 22,184, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 23,184, 3, 6, 0, 0, 0, 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, 67,111,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,160, 24,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
- 64, 22,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2,
- 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0,
- 16, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 2, 22, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0,
- 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0, 16, 23,184, 3, 65, 0, 0, 0, 8, 0, 0, 0,
- 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,
+162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
0, 0, 0, 0, 0,229,213, 62,162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,
-162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,128, 0, 0, 0,160, 24,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 80, 25,184, 3,
- 52, 0, 0, 0, 1, 0, 0, 0,128, 38,184, 3, 32, 12,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46,
- 48, 49, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,152, 26,184, 3,112, 35,184, 3, 64, 36,184, 3, 0, 0, 0, 0,
- 88, 28,184, 3, 56, 32,184, 3, 0, 0, 0, 0,208, 37,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-208, 26,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 30,184, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 33,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,152, 26,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-208, 26,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 28,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 2, 0, 0, 88, 28,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0,176, 30,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 32,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0, 56, 32,184, 3, 55, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-232, 33,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 35,184, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 36,184, 3, 6, 0, 0, 0, 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, 67,111,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,208, 37,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,112, 35,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 14, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, 64, 36,184, 3,
- 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 18,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,
+162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,
+162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,
+162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,
+162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
+ 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 18,192,137, 62,162,226,125, 63,144,108,246, 61,
+162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,208, 37,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0,128, 38,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,176, 51,184, 3, 80, 25,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 49, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,200, 39,184, 3,160, 48,184, 3,
-112, 49,184, 3, 0, 0, 0, 0,136, 41,184, 3,104, 45,184, 3, 0, 0, 0, 0, 0, 51,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-224, 43,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 47,184, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,200, 39,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 0, 40,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 41,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,136, 41,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,224, 43,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 45,184, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,104, 45,184, 3, 55, 0, 0, 0, 32, 0, 0, 0,
- 1, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0,
- 11, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 9, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 24, 47,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 48,184, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 49,184, 3, 6, 0, 0, 0,
- 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, 67,111,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, 51,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,160, 48,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0,
- 14, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 96, 1, 0, 0,112, 49,184, 3, 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 18,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,
+162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0,
0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0, 0, 51,184, 3, 59, 0, 0, 0,
- 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+162,226,125, 63, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 1, 0, 0, 24,134, 53, 3,
+ 0, 0, 0, 0, 53, 0, 0, 0, 64, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,176, 51,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,224, 64,184, 3,128, 38,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
-248, 52,184, 3,208, 61,184, 3,160, 62,184, 3, 0, 0, 0, 0,184, 54,184, 3,152, 58,184, 3, 0, 0, 0, 0, 48, 64,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 53,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 57,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 60,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,205, 76, 63,
-172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,248, 52,184, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 48, 53,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 54,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,184, 54,184, 3, 58, 0, 0, 0,
- 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 16, 57,184, 3, 58, 1, 0, 0, 5, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-152, 58,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,152, 58,184, 3,
- 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0,
- 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0, 72, 60,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 61,184, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-160, 62,184, 3, 6, 0, 0, 0, 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, 67,111,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, 48, 64,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,208, 61,184, 3, 54, 0, 0, 0,
- 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2,
- 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0,
- 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0,160, 62,184, 3, 65, 0, 0, 0, 8, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 0,229,213, 62,
-162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,
- 48, 64,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,224, 64,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,
- 16, 78,184, 3,176, 51,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 49, 57, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 40, 66,184, 3, 0, 75,184, 3,208, 75,184, 3, 0, 0, 0, 0,232, 67,184, 3,200, 71,184, 3,
- 0, 0, 0, 0, 96, 77,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 66,184, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 70,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 73,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 4,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
- 40, 66,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 96, 66,184, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,232, 67,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,
-232, 67,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 64, 70,184, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200, 71,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-128, 1, 0, 0,200, 71,184, 3, 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0,
- 2, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0,
- 0, 0, 35, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0,
- 0, 0, 35, 0, 6, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,
- 7, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0,
- 0, 0, 35, 0, 16, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 35, 0, 14, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,120, 73,184, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 75,184, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,208, 75,184, 3, 6, 0, 0, 0, 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, 67,111,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, 96, 77,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
- 0, 75,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2,
- 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0,
- 16, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 2, 22, 0, 0, 0, 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0,
- 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0,208, 75,184, 3, 65, 0, 0, 0, 8, 0, 0, 0,
- 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0, 0,229,213, 62,162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,
-162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,128, 0, 0, 0, 96, 77,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 16, 78,184, 3,
- 52, 0, 0, 0, 1, 0, 0, 0, 64, 91,184, 3,224, 64,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46,
- 48, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 88, 79,184, 3, 48, 88,184, 3, 0, 89,184, 3, 0, 0, 0, 0,
- 24, 81,184, 3,248, 84,184, 3, 0, 0, 0, 0,144, 90,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-144, 79,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 83,184, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 86,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 88, 79,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-144, 79,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 81,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0,104,135, 53, 3, 0, 0, 0, 0, 46, 0, 0, 0,
+ 1, 0, 0, 0, 88,192, 55, 3, 0, 0, 0, 0,120,117, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,119, 0, 0, 0, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,137, 53, 3, 0, 0, 0, 0,104, 27, 54, 3, 0, 0, 0, 0,184,127, 54, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,139, 53, 3, 0, 0, 0, 0,104,191, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 8,112, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,137, 53, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,189, 53, 3, 0, 0, 0, 0, 1, 0, 0, 0,
+ 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 25, 54, 3,
+ 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,130, 2, 0, 0,128, 7, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,117,224,186, 64, 91, 13,187, 64,160,240,186, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0,
+ 30, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 8, 0, 0, 0, 72,137, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65,
+104, 1, 0, 0,152,137, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,139, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 2, 0, 0, 24, 81,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 62,182,
- 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190, 0, 0, 0, 0,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0,112, 83,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 84,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0,248, 84,184, 3, 55, 0, 0, 0, 32, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0,
- 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 11, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0,
- 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-168, 86,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 88,184, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89,184, 3, 6, 0, 0, 0, 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, 67,111,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,144, 90,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0, 48, 88,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0,
- 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0, 14, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 1, 0, 0, 0, 89,184, 3,
- 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
-152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 18,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,144, 90,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0, 64, 91,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,112,104,184, 3, 16, 78,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69, 80,108, 97,110,101, 46, 48, 50, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,136, 92,184, 3, 96,101,184, 3,
- 48,102,184, 3, 0, 0, 0, 0, 72, 94,184, 3, 40, 98,184, 3, 0, 0, 0, 0,192,103,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192, 92,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-160, 96,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 99,184, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 2,205, 76, 63,172,197, 39, 55,214,204, 76, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,136, 92,184, 3, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,192, 92,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 94,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0, 72, 94,184, 3, 58, 0, 0, 0, 23, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,200,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,208,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204, 62,
- 0, 0,128,180,221,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,214,204, 76,191,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,210,204, 76, 63,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52, 0, 0,144,180,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,224,204,204,190, 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,216,204,204,190,
- 0, 0, 1,128, 0, 0, 0, 0, 2, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 0, 0,
- 2, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,160, 96,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 98,184, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0, 40, 98,184, 3, 55, 0, 0, 0, 32, 0, 0, 0,
- 1, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 34, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 3, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 4, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 16, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0,
- 11, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 15, 0, 0, 0, 18, 0, 0, 0,
- 0, 0, 34, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 19, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0,
- 20, 0, 0, 0, 21, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 21, 0, 0, 0,
- 0, 0, 34, 0, 9, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,216, 99,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,101,184, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,102,184, 3, 6, 0, 0, 0,
- 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, 67,111,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,192,103,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 96,101,184, 3, 54, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 11, 0, 0, 0,
- 14, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 16, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 14, 0, 0, 0, 15, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 19, 0, 0, 0, 22, 0, 0, 0,
- 21, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 21, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 96, 1, 0, 0, 48,102,184, 3, 65, 0, 0, 0, 8, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 34, 5, 17, 63,162,226,125, 63, 0,229,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 18,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,192,103,184, 3, 59, 0, 0, 0,
- 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,112,104,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,160,117,184, 3, 64, 91,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 80,108, 97,110,101, 46, 48, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
-184,105,184, 3,144,114,184, 3, 96,115,184, 3, 0, 0, 0, 0,120,107,184, 3, 88,111,184, 3, 0, 0, 0, 0,240,116,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,105,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,208,109,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8,113,184, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 0, 0,
- 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,205, 76, 63,
-172,197, 39, 55,214,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 5, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,184,105,184, 3, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,240,105,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,107,184, 3,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 2, 0, 0,120,107,184, 3, 58, 0, 0, 0,
- 23, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190,
- 0, 0, 0, 0,216,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,224,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0, 0, 0, 0,179, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52, 0, 0,144,180, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,213,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,205,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 0, 0, 70,182, 0, 0,128, 52,197,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204,190,
- 0, 0, 0, 0,206,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 62,182, 0, 0,128, 52,206,204, 76, 63,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76,191, 0, 0, 0, 0,208,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 55,205,204,190, 0, 0, 0, 0,212,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 70,182,
- 0, 0,128, 52,214,204, 76,191, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,206,204, 76,191,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 4,205, 76, 63, 0, 0, 0, 0,210,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 53,205,204, 62, 0, 0,128,180,214,204, 76, 63, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,213,204,204, 62, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,221,204,204, 62,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63, 0, 0, 0, 0, 0, 0, 96, 52, 0, 0, 1,128, 0, 0, 1, 0,
- 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180, 0, 0,240, 52, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 0,205, 76, 63,
- 0, 0, 0, 0,208,204,204,190, 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 47,205,204, 62, 0, 0,128,180,200,204,204,190,
- 0, 0, 1,128, 0, 0, 1, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,208,109,184, 3, 58, 1, 0, 0, 5, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 88,111,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 40, 50, 0, 0, 72,139, 53, 3, 0, 0, 0, 0, 52, 0, 0, 0,130, 2, 0, 0, 28,136,141,191, 12,243,244, 62,198, 86,183,192,
+212,231,117, 10,191,130, 1, 0,240,102,131,192, 30,183,119, 64,109,169,199,191, 58,166,158, 84,230,221, 1, 0,119,108,239, 63,
+213, 85,156, 64,188, 58, 40,192,228, 40,207,106,137,198, 1, 0, 95,135,146, 64, 63, 54, 14,191,241,194,102,192, 27,100,219,243,
+ 45,177, 1, 0,239, 84,141, 62, 16,220,157,192, 14, 2, 73,192, 8, 6, 39,148, 86,187, 1, 0,132,239,162,192,206,165, 12,192,
+150, 45,240,191,175,144,245,207,251,214, 1, 0,239, 84,141,190, 16,220,157, 64, 14, 2, 73, 64,248,249,217,107,170, 68, 1, 0,
+132,239,162, 64,206,165, 12, 64,150, 45,240, 63, 81,111, 11, 48, 5, 41, 1, 0,240,102,131, 64, 30,183,119,192,109,169,199, 63,
+198, 89, 98,171, 26, 34, 1, 0,119,108,239,191,213, 85,156,192,188, 58, 40, 64, 28,215, 49,149,119, 57, 1, 0, 95,135,146,192,
+ 63, 54, 14, 63,241,194,102, 64,229,155, 37, 12,211, 78, 1, 0, 28,136,141, 63, 12,243,244,190,198, 86,183, 64, 44, 24,139,245,
+ 65,125, 1, 0,114, 17, 68,192,226,153, 35, 64,154, 26,137,192, 6,189,226, 55, 85,162, 1, 0,155, 40,230, 62,239,199, 73, 64,
+176, 52,157,192,211, 9,237, 68,153,148, 1, 0,124, 55,168,191,224,177,164, 64, 58,144, 29,192, 69,227,132,112, 46,202, 1, 0,
+ 94, 35,105,192,230, 88,129,191,195, 14,143,192, 93,176,233,233, 68,158, 1, 0, 37, 2,173,192,137,187,123, 63, 56, 68, 1,192,
+206,137,127, 21,216,211, 1, 0,234,168, 2, 64,231,158, 57,189, 65,149,175,192,162, 44, 3,255, 11,136, 1, 0, 19,159,114, 64,
+254,226, 34, 64,196,133,106,192,225, 82,164, 55,228,175, 1, 0,105,176,249,190, 21,148, 39,192,217,214,166,192, 87,245,194,198,
+ 5,142, 1, 0,227,163, 54, 64, 86,121, 78,192, 22,202,125,192, 99, 62,120,185, 79,169, 1, 0,241, 40, 53,192,200, 31,134,192,
+229,188, 60,192, 30,194, 94,164,136,191, 1, 0, 96,230,181,192, 33, 24,119,191,174, 26,130, 63,186,131,231,234, 56, 22, 1, 0,
+103, 93,163,192,136,128, 38, 64, 83,235,153, 63,100,144,224, 56, 74, 26, 1, 0,238,219, 36,192,132,151,165, 64,165,226,109, 63,
+176,199, 33,113, 80, 20, 1, 0, 24,237,111, 63,118,174,184, 64,212, 34,154, 62,125, 20, 44,126,148, 6, 1, 0,163,244,130, 64,
+157, 58,133, 64,125, 95,226,190,119, 89, 5, 91, 86,246, 1, 0, 96,230,181, 64, 33, 24,119, 63,174, 26,130,191, 70,124, 25, 21,
+200,233, 1, 0,103, 93,163, 64,136,128, 38,192, 83,235,153,191,156,111, 32,199,182,229, 1, 0,238,219, 36, 64,132,151,165,192,
+165,226,109,191, 80, 56,223,142,176,235, 1, 0, 24,237,111,191,118,174,184,192,212, 34,154,190,131,235,212,129,108,249, 1, 0,
+163,244,130,192,157, 58,133,192,125, 95,226, 62,137,166,251,164,170, 9, 1, 0,227,163, 54,192, 86,121, 78, 64, 22,202,125, 64,
+157,193,136, 70,177, 86, 1, 0,241, 40, 53, 64,200, 31,134, 64,229,188, 60, 64,226, 61,162, 91,120, 64, 1, 0, 37, 2,173, 64,
+137,187,123,191, 56, 68, 1, 64, 50,118,129,234, 40, 44, 1, 0,124, 55,168, 63,224,177,164,192, 58,144, 29, 64,187, 28,124,143,
+210, 53, 1, 0, 19,159,114,192,254,226, 34,192,196,133,106, 64, 31,173, 92,200, 28, 80, 1, 0,234,168, 2,192,231,158, 57, 61,
+ 65,149,175, 64, 94,211,253, 0,245,119, 1, 0,105,176,249, 62, 21,148, 39, 64,217,214,166, 64,169, 10, 62, 57,251,113, 1, 0,
+ 94, 35,105, 64,230, 88,129, 63,195, 14,143, 64,163, 79, 23, 22,188, 97, 1, 0,114, 17, 68, 64,226,153, 35,192,154, 26,137, 64,
+250, 66, 30,200,171, 93, 1, 0,155, 40,230,190,239,199, 73,192,176, 52,157, 64, 45,246, 19,187,103,107, 1, 0, 37,178, 10,192,
+138,231,201, 63,149,143,166,192, 31,209,244, 33,216,141, 1, 0, 3,132,110,192,243,203, 85, 64,151,107, 66,192, 67,174, 93, 73,
+ 73,190, 1, 0,116,161,174,190, 81,152,241, 63,110, 2,177,192, 38,248,149, 40,221,134, 1, 0,138, 91,154, 63,218,179,133, 64,
+209,222,122,192,185, 26,201, 91,228,170, 1, 0, 7, 82, 52,192, 82,252,149, 64, 64,202, 5,192,177,193, 36,102,136,210, 1, 0,
+179, 12,148, 62,251,221,166, 64,188, 87, 41,192, 34, 7,239,113, 29,198, 1, 0,216,246, 29,192, 17,156,141,190,209,167,169,192,
+176,202, 86,250,199,139, 1, 0, 99, 72,145,192, 79,114,213,191,183, 35, 83,192, 97,156, 62,219,138,184, 1, 0,115, 58,158,192,
+129,120, 33, 64,198, 41,238,191, 60,148,228, 55,113,215, 1, 0,118,158,174,192,103,148, 33,191,140,156, 1,192,201,136,100,241,
+196,211, 1, 0, 55, 14,249, 62, 95,133,102, 62,210,143,186,192,213, 9, 14, 5,124,128, 1, 0,220, 61, 92, 64, 56,230,159,190,
+ 6, 61,151,192,224, 75, 11,249, 40,153, 1, 0, 7, 86, 60, 64, 60, 48,119, 64, 93, 88, 81,192,216, 63, 8, 85,193,184, 1, 0,
+252, 55,139, 64, 62, 95,132, 63,225,216,113,192, 80, 95,209, 21,103,173, 1, 0, 18, 6, 84,191,251, 96,142,191, 76, 4,182,192,
+189,237,121,232,133,131, 1, 0,109, 74,225,189, 51, 54,123,192, 34,246,138,192,203,253,153,169,152,161, 1, 0,153, 66,119, 64,
+127,154,251,191,161,220,123,192,230, 84,182,213, 15,170, 1, 0,201, 59,208, 63,241,182,135,192,212,101,108,192,232, 34,217,162,
+118,175, 1, 0,161,246,169,191,235,196,151,192,170,149, 74,192,196,227, 32,152,192,186, 1, 0, 33,198,131,192,218,137, 84,192,
+ 37,134, 32,192,102,165,233,183,113,201, 1, 0,176, 61,179,192,138,110,210,191, 24,220,228,190,179,133,191,219,126,245, 1, 0,
+ 73,182,170,192,136, 16, 90,190, 90,194, 25, 64,168,139,188,251, 46, 53, 1, 0, 75, 55,153,192, 4, 78, 87, 64, 12, 54, 62,190,
+149,151,222, 73, 60,251, 1, 0,235, 19,161,192,207, 12,210, 63,210,242, 31, 64, 23,146, 90, 35, 63, 55, 1, 0, 60, 75, 94,192,
+189,115,150, 64,186,211,167,190,173,179,116,102, 51,248, 1, 0,186,191,189,191, 63, 32,168, 64,213,100, 7, 64, 46,224,204,114,
+208, 46, 1, 0,242,205,186, 63,141, 65,177, 64,127,219,154,191, 36, 32,223,120,206,228, 1, 0, 99,245,175, 62, 97, 12,178, 64,
+255,253,228, 63, 52, 7,109,121,213, 39, 1, 0,226, 92, 70, 64, 8,131,150, 64,182, 77,204,191, 49, 67, 2,103,141,220, 1, 0,
+200,194,152, 64,180,155, 83, 64,154,217, 62, 63,158,104,199, 71,227, 16, 1, 0, 73,182,170, 64,136, 16, 90, 62, 90,194, 25,192,
+ 88,116, 68, 4,210,202, 1, 0,176, 61,179, 64,138,110,210, 63, 24,220,228, 62, 77,122, 65, 36,130, 10, 1, 0,235, 19,161, 64,
+207, 12,210,191,210,242, 31,192,233,109,166,220,193,200, 1, 0, 75, 55,153, 64, 4, 78, 87,192, 12, 54, 62, 62,107,104, 34,182,
+196, 4, 1, 0,186,191,189, 63, 63, 32,168,192,213,100, 7,192,210, 31, 52,141, 48,209, 1, 0, 60, 75, 94, 64,189,115,150,192,
+186,211,167, 62, 83, 76,140,153,205, 7, 1, 0, 99,245,175,190, 97, 12,178,192,255,253,228,191,204,248,147,134, 43,216, 1, 0,
+242,205,186,191,141, 65,177,192,127,219,154, 63,220,223, 33,135, 50, 27, 1, 0,200,194,152,192,180,155, 83,192,154,217, 62,191,
+ 98,151, 57,184, 29,239, 1, 0,226, 92, 70,192, 8,131,150,192,182, 77,204, 63,207,188,254,152,115, 35, 1, 0,201, 59,208,191,
+241,182,135, 64,212,101,108, 64, 24,221, 39, 93,138, 80, 1, 0,153, 66,119,192,127,154,251, 63,161,220,123, 64, 26,171, 74, 42,
+241, 85, 1, 0,161,246,169, 63,235,196,151, 64,170,149, 74, 64, 60, 28,224,103, 64, 69, 1, 0, 33,198,131, 64,218,137, 84, 64,
+ 37,134, 32, 64,154, 90, 23, 72,143, 54, 1, 0,118,158,174, 64,103,148, 33, 63,140,156, 1, 64, 55,119,156, 14, 60, 44, 1, 0,
+115, 58,158, 64,129,120, 33,192,198, 41,238, 63,196,107, 28,200,143, 40, 1, 0, 7, 82, 52, 64, 82,252,149,192, 64,202, 5, 64,
+ 79, 62,220,153,120, 45, 1, 0,179, 12,148,190,251,221,166,192,188, 87, 41, 64,222,248, 17,142,227, 57, 1, 0, 7, 86, 60,192,
+ 60, 48,119,192, 93, 88, 81, 64, 40,192,248,170, 63, 71, 1, 0,252, 55,139,192, 62, 95,132,191,225,216,113, 64,176,160, 47,234,
+153, 82, 1, 0,220, 61, 92,192, 56,230,159, 62, 6, 61,151, 64, 32,180,245, 6,216,102, 1, 0, 55, 14,249,190, 95,133,102,190,
+210,143,186, 64, 43,246,242,250,132,127, 1, 0,109, 74,225, 61, 51, 54,123, 64, 34,246,138, 64, 53, 2,103, 86,104, 94, 1, 0,
+ 18, 6, 84, 63,251, 96,142, 63, 76, 4,182, 64, 67, 18,135, 23,123,124, 1, 0, 99, 72,145, 64, 79,114,213, 63,183, 35, 83, 64,
+159, 99,194, 36,118, 71, 1, 0,216,246, 29, 64, 17,156,141, 62,209,167,169, 64, 80, 53,170, 5, 57,116, 1, 0, 3,132,110, 64,
+243,203, 85,192,151,107, 66, 64,189, 81,163,182,183, 65, 1, 0, 37,178, 10, 64,138,231,201,191,149,143,166, 64,225, 46, 12,222,
+ 40,114, 1, 0,138, 91,154,191,218,179,133,192,209,222,122, 64, 71,229, 55,164, 28, 85, 1, 0,116,161,174, 62, 81,152,241,191,
+110, 2,177, 64,218, 7,107,215, 35,121, 1, 0, 36, 76, 19,192, 25,151,129, 64,212,254, 98,192,201,206,101, 88,154,177, 1, 0,
+ 93,232,175,191,177, 23, 64, 64, 69,186,154,192,229,225,204, 66, 13,151, 1, 0,208,190,232,190, 93,160,139, 64,191, 33,120,192,
+216,244,220, 94,204,170, 1, 0,210,126,142,192, 43, 49,238, 63,112, 30, 84,192,185,158,127, 39,203,182, 1, 0,138,165, 97,192,
+ 92, 9, 80, 63, 20, 74,147,192,212,177,229, 17, 63,156, 1, 0, 98, 61,152,192, 87, 63,106,188, 6, 97, 90,192,114,152,219, 0,
+199,180, 1, 0,200,173, 14, 64,155,183, 63, 64,192, 75,144,192,205, 48, 77, 64,172,156, 1, 0, 95,162,167, 63,144, 29,209, 63,
+ 25,245,174,192,217, 29, 61, 36,238,136, 1, 0,211, 62, 68, 64, 51, 56,168, 63, 13,245,153,192, 12, 66,168, 29,115,150, 1, 0,
+ 33,182, 36, 64, 34, 38,220,191,150, 5,159,192, 10, 55,224,217,234,146, 1, 0, 16, 34, 81, 63,129, 64,179,191,162, 5,180,192,
+215, 18,118,224,100,133, 1, 0,212, 56,159, 63,172,166, 68,192,212,108,154,192,164, 27, 0,190,224,149, 1, 0,204, 76,223,191,
+170, 32,101,192, 65, 83,137,192,225,216,170,178,208,161, 1, 0,249,249, 10,192, 62, 52,244,191, 25,236,162,192, 21,208, 32,213,
+ 85,145, 1, 0, 42,207, 89,192,251, 6, 47,192, 27,165,121,192,179,182, 21,196,221,169, 1, 0,137,215,176,192, 25, 62,241, 63,
+179,254,219,190,190,134, 7, 40, 61,247, 1, 0, 28,150,186,192,150, 16, 28, 60,191, 9, 7,191,120,128,100, 1, 57,245, 1, 0,
+ 34,132,181,192, 99, 60, 92, 63,217, 81,149, 63,188,131,235, 18, 33, 24, 1, 0,175,242, 74,190,164,173,183, 64,227,105,145,191,
+146,250,157,125, 8,232, 1, 0,219,227, 2,192, 96,164,173, 64,200, 71, 78,191,131,212, 38,119,214,238, 1, 0,181,140, 92,191,
+ 75, 38,184, 64,176,148, 37, 63,231,236,234,125,196, 12, 1, 0, 75,104,159, 64,212, 56,236, 63,240,126, 29,192,213,108,134, 41,
+245,202, 1, 0,215,159,132, 64, 84,184, 97, 64, 30, 44, 10,192,150, 91, 44, 76, 46,209, 1, 0, 95,122,164, 64,199,143, 44, 64,
+ 53, 78, 68,191, 25,112, 14, 59,222,237, 1, 0,255,176, 54, 64,243, 84,141,192,237,176, 36,192,159, 63,250,159, 50,200, 1, 0,
+ 93,229,133, 64,217, 21, 68,192,157,226, 45,192, 6, 91,218,187, 61,197, 1, 0,203, 56,129, 64, 21,211,130,192,187,115,143,191,
+ 3, 88,190,166, 33,230, 1, 0,189,239,104,192, 82,142,140,192,178,178,168,191,108,177, 13,159,144,227, 1, 0, 50,141,253,191,
+ 52,155,167,192,170,181,218,191,154,211,162,141,131,219, 1, 0,164, 58, 41,192,172, 34,167,192,206,232,151, 61,239,197,240,141,
+ 63, 0, 1, 0, 93,229,133,192,217, 21, 68, 64,157,226, 45, 64,250,164, 38, 68,195, 58, 1, 0,203, 56,129,192, 21,211,130, 64,
+187,115,143, 63,253,167, 66, 89,223, 25, 1, 0,255,176, 54,192,243, 84,141, 64,237,176, 36, 64, 97,192, 6, 96,206, 55, 1, 0,
+ 50,141,253, 63, 52,155,167, 64,170,181,218, 63,102, 44, 94,114,125, 36, 1, 0,164, 58, 41, 64,172, 34,167, 64,206,232,151,189,
+ 17, 58, 16,114,193,255, 1, 0,189,239,104, 64, 82,142,140, 64,178,178,168, 63,148, 78,243, 96,112, 28, 1, 0, 28,150,186, 64,
+150, 16, 28,188,191, 9, 7, 63,136,127,156,254,199, 10, 1, 0, 34,132,181, 64, 99, 60, 92,191,217, 81,149,191, 68,124, 21,237,
+223,231, 1, 0,137,215,176, 64, 25, 62,241,191,179,254,219, 62, 66,121,249,215,195, 8, 1, 0,219,227, 2, 64, 96,164,173,192,
+200, 71, 78, 63,125, 43,218,136, 42, 17, 1, 0,181,140, 92, 63, 75, 38,184,192,176,148, 37,191, 25, 19, 22,130, 60,243, 1, 0,
+175,242, 74, 62,164,173,183,192,227,105,145, 63,110, 5, 99,130,248, 23, 1, 0,215,159,132,192, 84,184, 97,192, 30, 44, 10, 64,
+106,164,212,179,210, 46, 1, 0, 95,122,164,192,199,143, 44,192, 53, 78, 68, 63,231,143,242,196, 34, 18, 1, 0, 75,104,159,192,
+212, 56,236,191,240,126, 29, 64, 43,147,122,214, 11, 53, 1, 0,212, 56,159,191,172,166, 68, 64,212,108,154, 64, 92,228, 0, 66,
+ 32,106, 1, 0, 33,182, 36,192, 34, 38,220, 63,150, 5,159, 64,246,200, 32, 38, 22,109, 1, 0, 16, 34, 81,191,129, 64,179, 63,
+162, 5,180, 64, 41,237,138, 31,156,122, 1, 0, 42,207, 89, 64,251, 6, 47, 64, 27,165,121, 64, 77, 73,235, 59, 35, 86, 1, 0,
+208, 76,223, 63,170, 32,101, 64, 65, 83,137, 64, 31, 39, 86, 77, 48, 94, 1, 0,249,249, 10, 64, 62, 52,244, 63, 25,236,162, 64,
+235, 47,224, 42,171,110, 1, 0,210,126,142, 64, 43, 49,238,191,112, 30, 84, 64, 71, 97,129,216, 53, 73, 1, 0, 98, 61,152, 64,
+ 87, 63,106, 60, 6, 97, 90, 64,142,103, 37,255, 57, 75, 1, 0,138,165, 97, 64, 92, 9, 80,191, 20, 74,147, 64, 44, 78, 27,238,
+193, 99, 1, 0,208,190,232, 62, 93,160,139,192,191, 33,120, 64, 40, 11, 36,161, 52, 85, 1, 0, 36, 76, 19, 64, 25,151,129,192,
+212,254, 98, 64, 55, 49,155,167,102, 78, 1, 0, 93,232,175, 63,177, 23, 64,192, 69,186,154, 64, 27, 30, 52,189,243,104, 1, 0,
+211, 62, 68,192, 51, 56,168,191, 13,245,153, 64,244,189, 88,226,141,105, 1, 0,200,173, 14,192,155,183, 63,192,192, 75,144, 64,
+ 51,207,179,191, 84, 99, 1, 0, 95,162,167,191,144, 29,209,191, 25,245,174, 64, 39,226,195,219, 18,119, 1, 0,158,156,211,191,
+185,228,132, 63,190,207,176,192,249,219,152, 22, 71,135, 1, 0, 0, 76, 41,192,190,199, 5, 64, 83,157,153,192, 56,198,174, 45,
+ 83,151, 1, 0,204, 83,125,192,169, 55,105, 64,244,162, 20,192,132,169,162, 79,100,205, 1, 0,178,215, 91,192,222,235, 62, 64,
+190,254,108,192, 26,181, 8, 65, 28,175, 1, 0,242, 63, 59,191,210,237,152, 63,251, 21,182,192,248,239,253, 25,180,131, 1, 0,
+ 86,230, 94, 61,198, 30, 35, 64,233, 15,169,192, 62, 1,180, 55,197,140, 1, 0,220, 4,199, 63, 7,145,146, 64,104,186, 83,192,
+ 3, 34, 24,100,216,183, 1, 0, 9,120, 86, 63,149, 91,109, 64, 79,242,142,192, 57, 18,216, 80,117,158, 1, 0,103,243, 95,192,
+221, 91,138, 64,186, 15,236,191,121,179, 96, 94,195,215, 1, 0, 46,206, 5,192,121, 41,159, 64,154, 91, 19,192,127,210,143,108,
+188,205, 1, 0,169,200,139, 63,198, 78,163, 64,201,146, 42,192,249, 23,113,111,202,197, 1, 0,187,128, 4,191,206,181,167, 64,
+ 74, 92, 37,192,151,244, 89,114,164,199, 1, 0,151, 16,231,191,160,166,209, 61,167, 95,178,192,173,216, 74, 2, 56,134, 1, 0,
+163,200, 69,192,178,143, 38,191,148, 48,158,192,124,188,192,241, 51,148, 1, 0, 43,192,155,192,151, 6,250,191,170, 82, 39,192,
+166,149, 76,213, 2,199, 1, 0,233,118,132,192,217,111,173,191, 67,122,123,192,191,165,124,226, 46,170, 1, 0,238, 85,146,192,
+178,205, 78, 64, 70, 54,221,191, 47,156,175, 70, 71,218, 1, 0, 76,137,167,192,111, 31,227, 63,158, 57,251,191,187,141,154, 38,
+ 42,213, 1, 0, 39,143,170,192,167, 15,183,191,251, 85,252,191,157,139,164,224,245,212, 1, 0, 8,214,175,192,177,124, 53, 62,
+206,241, 2,192, 28,136,252, 3, 92,211, 1, 0, 77,160,160,190, 9, 20,182, 62,108,232,186,192, 8,249,201, 7,111,128, 1, 0,
+ 33,144,163, 63,151,144,186, 61, 50, 47,183,192,255, 27,247, 1, 31,131, 1, 0,222,179,129, 64,234,147,224,190, 38,180,134,192,
+157, 88,103,246, 37,164, 1, 0,114,138, 49, 64,246, 97, 57,190, 57, 76,165,192,109, 60, 18,252, 60,143, 1, 0,249,158, 27, 64,
+197,118,141, 64, 58,196, 62,192, 6, 53,163, 96,242,190, 1, 0, 98,244, 89, 64, 8,120, 79, 64, 65,128, 96,192, 94, 74,162, 70,
+111,179, 1, 0, 13,100,144, 64,200,214,118, 62, 64,205,110,192,146, 98, 37, 5,132,174, 1, 0, 42,202,131, 64, 60,161,231, 63,
+142,245,112,192,210, 89,152, 39,220,173, 1, 0,149, 51,122,191, 52,151,163,190, 15,157,184,192,162,234, 36,249,253,129, 1, 0,
+ 5,113, 42,191, 31,112,241,191, 15,119,176,192,128,241,188,214,182,135, 1, 0, 60, 55,172, 61, 22, 64,143,192,164,246,113,192,
+221, 1, 37,158,133,173, 1, 0,167,173,154,190,111,224, 83,192,198,169,154,192, 98,249,221,183,123,150, 1, 0,151,133,136, 64,
+ 9,249,162,191,106,219,115,192, 61, 93, 76,228,206,172, 1, 0,110,124, 89, 64,135, 6, 40,192,223,195,127,192, 18, 74,160,198,
+205,168, 1, 0,244,248,117, 63,109, 90,148,192,123, 0, 93,192,225, 20,176,154,159,180, 1, 0,162, 0, 17, 64, 63,196,113,192,
+ 52,239,119,192,134, 49,167,173,116,171, 1, 0,162,217, 7,191, 21,117,156,192,222,238, 75,192,137,244, 50,149,104,186, 1, 0,
+171,144, 6,192,112,158,144,192,198,241, 69,192, 4,210,111,157,136,188, 1, 0,110,238,148,192,115,109, 50,192,187,197, 13,192,
+ 69,154, 50,195,171,207, 1, 0, 79,252, 96,192,140, 40,115,192,116,165, 48,192,100,179, 10,173,191,195, 1, 0,100,228,172,192,
+217,128,248,191, 8, 93,150,191, 8,138,142,213, 59,230, 1, 0, 82,171,182,192,216,250,168,191, 15, 15,147, 62,113,131, 63,227,
+ 95, 6, 1, 0,215, 73,160,192,124,165, 49, 62,232, 85, 66, 64,167,146,217, 3,105, 66, 1, 0,171, 89,178,192,192,115, 24,191,
+ 78,116,221, 63, 94,134,244,242,165, 37, 1, 0, 51,206,143,192,133,250,105, 64,119,251, 97,191,230,157,228, 79,157,236, 1, 0,
+ 62, 32,160,192,163, 38, 65, 64,164,117, 3, 63,203,146,203, 65, 78, 11, 1, 0,216,108,155,192, 59,255,141, 63,189,117, 69, 64,
+243,149, 37, 24,120, 67, 1, 0, 85, 27,164,192,244, 78, 9, 64, 87,193,239, 63, 25,144,226, 46,198, 40, 1, 0,134, 35,117,192,
+ 39,152,138, 64, 73, 86,116,191, 74,172,136, 94, 15,235, 1, 0, 35,220, 67,192, 6,218,159, 64,242,103,155, 62, 75,189, 8,109,
+183, 6, 1, 0,130, 79, 99,191,215,182,164, 64, 10, 4, 42, 64,180,236,103,112, 26, 58, 1, 0,161, 86, 3,192, 14,205,168, 64,
+ 60, 55,197, 63, 37,211, 23,115,135, 33, 1, 0,229,101,215, 63, 84,141,168, 64, 16, 90,248,191,201, 36,255,114,131,213, 1, 0,
+ 99, 52,155, 63,198, 17,183, 64,232,199,235,190,107, 26,216,124, 17,246, 1, 0,105,179, 10, 61, 25,185,169, 64,120,119, 31, 64,
+177, 0,204,115,135, 54, 1, 0,143,198, 37, 63,123,120,183, 64,160,108,135, 63, 44, 14, 29,125,249, 22, 1, 0,180,174, 32, 64,
+ 65, 13,155, 64,238,167, 8,192,189, 54,216,105, 72,209, 1, 0, 69,199,104, 64,177,135,143, 64, 41, 12,132,191,111, 79,211, 97,
+148,233, 1, 0,121,134,159, 64, 49,245, 49, 64,210,166,169, 63,233,108,165, 60, 9, 29, 1, 0, 52,133,143, 64,119,200,113, 64,
+186,206, 29, 62,207, 97,126, 82, 70, 3, 1, 0,215, 73,160, 64,124,165, 49,190,232, 85, 66,192, 89,109, 39,252,151,189, 1, 0,
+171, 89,178, 64,192,115, 24, 63, 78,116,221,191,162,121, 12, 13, 91,218, 1, 0,100,228,172, 64,217,128,248, 63, 8, 93,150, 63,
+248,117,114, 42,197, 25, 1, 0, 82,171,182, 64,216,250,168, 63, 15, 15,147,190,143,124,193, 28,161,249, 1, 0,216,108,155, 64,
+ 59,255,141,191,189,117, 69,192, 13,106,219,231,136,188, 1, 0, 85, 27,164, 64,244, 78, 9,192, 87,193,239,191,231,111, 30,209,
+ 58,215, 1, 0, 51,206,143, 64,133,250,105,192,119,251, 97, 63, 26, 98, 28,176, 99, 19, 1, 0, 62, 32,160, 64,163, 38, 65,192,
+164,117, 3,191, 53,109, 53,190,178,244, 1, 0,130, 79, 99, 63,215,182,164,192, 10, 4, 42,192, 76, 19,153,143,230,197, 1, 0,
+161, 86, 3, 64, 14,205,168,192, 60, 55,197,191,219, 44,233,140,121,222, 1, 0,134, 35,117, 64, 39,152,138,192, 73, 86,116, 63,
+182, 83,120,161,241, 20, 1, 0, 35,220, 67, 64, 6,218,159,192,242,103,155,190,181, 66,248,146, 73,249, 1, 0,105,179, 10,189,
+ 25,185,169,192,120,119, 31,192, 79,255, 52,140,121,201, 1, 0,143,198, 37,191,123,120,183,192,160,108,135,191,212,241,227,130,
+ 7,233, 1, 0,229,101,215,191, 84,141,168,192, 16, 90,248, 63, 55,219, 1,141,125, 42, 1, 0, 99, 52,155,191,198, 17,183,192,
+232,199,235, 62,149,229, 40,131,239, 9, 1, 0,121,134,159,192, 49,245, 49,192,210,166,169,191, 23,147, 91,195,247,226, 1, 0,
+ 52,133,143,192,119,200,113,192,186,206, 29,190, 49,158,130,173,186,252, 1, 0,180,174, 32,192, 65, 13,155,192,238,167, 8, 64,
+ 67,201, 40,150,184, 46, 1, 0, 69,199,104,192,177,135,143,192, 41, 12,132, 63,145,176, 45,158,108, 22, 1, 0,244,248,117,191,
+109, 90,148, 64,123, 0, 93, 64, 31,235, 80,101, 97, 75, 1, 0,162, 0, 17,192, 63,196,113, 64, 52,239,119, 64,122,206, 89, 82,
+140, 84, 1, 0,151,133,136,192, 9,249,162, 63,106,219,115, 64,195,162,180, 27, 50, 83, 1, 0,110,124, 89,192,135, 6, 40, 64,
+223,195,127, 64,238,181, 96, 57, 51, 87, 1, 0,162,217, 7, 63, 21,117,156, 64,222,238, 75, 64,119, 11,206,106,152, 69, 1, 0,
+171,144, 6, 64,112,158,144, 64,198,241, 69, 64,252, 45,145, 98,120, 67, 1, 0,110,238,148, 64,115,109, 50, 64,187,197, 13, 64,
+187,101,206, 60, 85, 48, 1, 0, 79,252, 96, 64,140, 40,115, 64,116,165, 48, 64,156, 76,246, 82, 65, 60, 1, 0, 39,143,170, 64,
+167, 15,183, 63,251, 85,252, 63, 99,116, 92, 31, 11, 43, 1, 0, 8,214,175, 64,177,124, 53,190,206,241, 2, 64,228,119, 4,252,
+164, 44, 1, 0,238, 85,146, 64,178,205, 78,192, 70, 54,221, 63,209, 99, 81,185,185, 37, 1, 0, 76,137,167, 64,111, 31,227,191,
+158, 57,251, 63, 69,114,102,217,214, 42, 1, 0,103,243, 95, 64,221, 91,138,192,186, 15,236, 63,135, 76,160,161, 61, 40, 1, 0,
+ 46,206, 5, 64,121, 41,159,192,154, 91, 19, 64,129, 45,113,147, 68, 50, 1, 0,169,200,139,191,198, 78,163,192,201,146, 42, 64,
+ 7,232,143,144, 54, 58, 1, 0,187,128, 4, 63,206,181,167,192, 74, 92, 37, 64,105, 11,167,141, 92, 56, 1, 0,249,158, 27,192,
+197,118,141,192, 58,196, 62, 64,250,202, 93,159, 14, 65, 1, 0, 98,244, 89,192, 8,120, 79,192, 65,128, 96, 64,162,181, 94,185,
+145, 76, 1, 0, 13,100,144,192,200,214,118,190, 64,205,110, 64,110,157,219,250,124, 81, 1, 0, 42,202,131,192, 60,161,231,191,
+142,245,112, 64, 46,166,104,216, 36, 82, 1, 0,222,179,129,192,234,147,224, 62, 38,180,134, 64, 99,167,153, 9,219, 91, 1, 0,
+114,138, 49,192,246, 97, 57, 62, 57, 76,165, 64,147,195,238, 3,196,112, 1, 0, 77,160,160, 62, 9, 20,182,190,108,232,186, 64,
+248, 6, 55,248,145,127, 1, 0, 33,144,163,191,151,144,186,189, 50, 47,183, 64, 1,228, 9,254,225,124, 1, 0, 60, 55,172,189,
+ 22, 64,143, 64,164,246,113, 64, 35,254,219, 97,123, 82, 1, 0,167,173,154, 62,111,224, 83, 64,198,169,154, 64,158, 6, 35, 72,
+133,105, 1, 0,149, 51,122, 63, 52,151,163, 62, 15,157,184, 64, 94, 21,220, 6, 3,126, 1, 0, 5,113, 42, 63, 31,112,241, 63,
+ 15,119,176, 64,128, 14, 68, 41, 74,120, 1, 0, 43,192,155, 64,151, 6,250, 63,170, 82, 39, 64, 90,106,180, 42,254, 56, 1, 0,
+233,118,132, 64,217,111,173, 63, 67,122,123, 64, 65, 90,132, 29,210, 85, 1, 0,151, 16,231, 63,160,166,209,189,167, 95,178, 64,
+ 83, 39,182,253,200,121, 1, 0,163,200, 69, 64,178,143, 38, 63,148, 48,158, 64,132, 67, 64, 14,205,107, 1, 0,204, 83,125, 64,
+169, 55,105,192,244,162, 20, 64,124, 86, 94,176,156, 50, 1, 0,178,215, 91, 64,222,235, 62,192,190,254,108, 64,230, 74,248,190,
+228, 80, 1, 0,158,156,211, 63,185,228,132,191,190,207,176, 64, 7, 36,104,233,185,120, 1, 0, 0, 76, 41, 64,190,199, 5,192,
+ 83,157,153, 64,200, 57, 82,210,173,104, 1, 0,220, 4,199,191, 7,145,146,192,104,186, 83, 64,253,221,232,155, 40, 72, 1, 0,
+ 9,120, 86,191,149, 91,109,192, 79,242,142, 64,199,237, 40,175,139, 97, 1, 0,242, 63, 59, 63,210,237,152,191,251, 21,182, 64,
+ 8, 16, 3,230, 76,124, 1, 0, 86,230, 94,189,198, 30, 35,192,233, 15,169, 64,194,254, 76,200, 59,115, 1, 0,208, 27, 46,192,
+124,104, 86, 64, 85, 52,126,192,122,197, 16, 73,183,168, 1, 0, 82,168,234,191, 87, 62,149, 64,118, 12, 67,192,197,216,162,101,
+209,188, 1, 0,186, 10, 16,192,249,106, 52, 64,210,253,147,192,231,206,104, 62,158,155, 1, 0, 93, 33,240,190,191,199, 71, 64,
+142, 47,158,192,166,245,253, 68,176,148, 1, 0, 19, 46, 71,187,194,240,115, 64,175,166,142,192, 0,255,213, 82,110,158, 1, 0,
+188,194,101,191, 17, 84,154, 64,240,193, 77,192,140,235,211,104,117,185, 1, 0,246,246,115,192,183, 86, 15, 64, 51,168,118,192,
+208,172,249, 47, 97,171, 1, 0,101, 1,160,192, 47,146,184, 63,153, 38, 45,192,249,146,160, 30, 91,196, 1, 0,215,229, 85,192,
+166,178,218, 63,183, 55,144,192, 61,182, 81, 37, 72,158, 1, 0,151,178,104,192,245,107,205,189,175, 60,147,192,218,175,251,253,
+ 58,156, 1, 0,192, 81,136,192, 55,239, 4,191, 24,222,127,192, 84,163,147,245, 85,168, 1, 0, 70,241,164,192,102,218,251, 62,
+143, 82, 48,192,224,143,144, 11, 93,195, 1, 0,209,230,173, 63,231,135, 71, 64, 27,234,152,192,195, 29, 39, 67, 46,151, 1, 0,
+158,103, 67, 64, 82,206, 51, 64, 39,168,132,192,158, 66,115, 60,243,164, 1, 0,136,131,100, 63, 16, 95, 27, 64, 4,115,168,192,
+106, 20, 79, 53,113,141, 1, 0, 77,154,217, 63,185, 69, 78, 63,221,196,177,192,249, 37, 9, 18, 27,135, 1, 0,107,195, 37, 64,
+ 4,213, 36, 63, 20, 33,167,192,212, 55,201, 14,199,141, 1, 0,103,139, 94, 64,153,146,250, 63, 72,141,137,192, 32, 75, 91, 43,
+225,161, 1, 0,231,195, 21, 64,236, 58,101,191,218,178,169,192, 46, 50, 2,236,247,139, 1, 0,142, 32, 48, 64,155,140, 32,192,
+195, 1,145,192, 36, 59,237,200,191,156, 1, 0, 70,155,185, 63, 12,202, 59,191,163, 86,180,192, 83, 32, 66,239, 75,133, 1, 0,
+ 29, 97, 43, 62,144,118, 2,192,125,231,175,192,109, 4,225,210, 78,136, 1, 0, 97,116,196, 62, 10,176, 56,192,120,239,162,192,
+197, 8,225,193,112,144, 1, 0,185, 2, 5, 64,217,105, 76,192,135,173,142,192,159, 45, 45,187, 53,158, 1, 0,163,243,144,191,
+252, 41, 73,192,148, 66,154,192,132,230, 16,188,144,150, 1, 0,147,133, 20,192,234, 55,124,192,176, 3,107,192,172,204,182,170,
+139,175, 1, 0, 42,186, 60,192,219,128,189,191, 23, 43,155,192, 96,191,203,222,161,150, 1, 0, 52,164,172,191,106,240, 18,192,
+141, 58,167,192, 44,226, 15,205,110,142, 1, 0, 12,171,100,192,249, 33,243,191,106,221,135,192,218,178, 99,214,187,162, 1, 0,
+195, 78, 74,192,241,206, 96,192, 98, 88, 94,192,207,187, 78,179,131,179, 1, 0, 41,110,177,192, 81, 30,186, 63,105,249,158,191,
+171,134,229, 30,109,229, 1, 0, 45,138,172,192,114,149, 17, 64,127,203,200, 62,254,137,191, 48,246, 8, 1, 0, 10, 94,182,192,
+ 48, 5, 1, 63, 86, 81,165,191,147,131,214, 11,110,228, 1, 0,117,224,186,192, 37,234,247,190,147, 56,126, 62,130,128, 89,246,
+234, 5, 1, 0,204, 78,184,192, 19,193, 89,189,187,163,141, 63, 30,130,255,254, 35, 23, 1, 0,105,232,174,192,151,187,224, 63,
+156,183,153, 63,130,136, 85, 38, 48, 25, 1, 0, 42,118, 68,191,101,173,176, 64,114,132,233,191,124,238,154,120,225,216, 1, 0,
+ 81,172,191, 62, 67,208,186, 64,195,163,216,190, 80, 7,126,127, 90,247, 1, 0,113, 2,218,191,172,151,171, 64,114, 25,212,191,
+182,219,106,117, 61,220, 1, 0,251,244, 21,192, 28, 12,172, 64, 13,151,128, 61,203,205,185,117,163, 1, 1, 0, 51, 39,223,191,
+248, 94,177, 64,104,122, 76, 63,211,217, 16,121,103, 16, 1, 0, 72,208, 28, 61, 91, 13,187, 64, 64,215,245, 62,146, 0,164,127,
+121, 9, 1, 0, 45, 93,142, 64, 70,137, 14, 64,147,202, 70,192, 20, 97,115, 49,210,188, 1, 0,106, 23,173, 64,157,131,182, 63,
+175,176,225,191,246,117, 6, 32, 7,218, 1, 0, 78,203,128, 64,124, 14, 69, 64, 55, 0, 61,192,146, 88,138, 66,228,191, 1, 0,
+133,175,133, 64, 28,149,121, 64, 51,212,168,191,229, 91,100, 84,110,227, 1, 0, 8,211,149, 64, 84,166, 94, 64, 68, 24, 29,191,
+ 3,102,242, 75,149,241, 1, 0, 31,169,175, 64,138,176,237, 63, 15,168,103,191,147,119,172, 40, 64,235, 1, 0,122, 78, 57, 64,
+224, 12,120,192, 7, 56, 84,192, 22, 64,197,171, 7,184, 1, 0, 0, 74, 48, 64,245,165,155,192,208, 87,227,191, 5, 61, 71,150,
+132,217, 1, 0, 85,108,100, 64,115, 47, 76,192,149,224, 88,192,154, 77,133,185,145,182, 1, 0,173,191,150, 64,227,233, 55,192,
+198,101,254,191,111,102,105,192, 10,213, 1, 0,119, 97,148, 64,200, 33, 89,192, 24,225,150,191,243,100,255,181, 68,229, 1, 0,
+ 75,171, 86, 64, 36, 83,150,192, 22, 36,133,191, 14, 73,157,153, 72,232, 1, 0,116,251, 81,192,115, 80,139,192, 57,124, 10,192,
+ 26,185, 78,160, 31,209, 1, 0, 70,239,122,192, 53,220,138,192,113, 86,227,190, 47,171,157,160,134,246, 1, 0, 14, 50, 28,192,
+245, 4,153,192,141, 39, 23,192,247,201,182,151, 38,205, 1, 0, 34,123,189,191,203,168,178,192,149,106,130,191,217,222, 73,134,
+ 91,234, 1, 0,176,127,232,191,177,107,178,192, 47,189,236,189, 27,216,111,134,122,252, 1, 0, 53,168, 90,192,169, 83,152,192,
+227,201,133, 62, 78,181, 43,152,172, 4, 1, 0,173,191,150,192,227,233, 55, 64,198,101,254, 63,145,153,151, 63,246, 42, 1, 0,
+ 85,108,100,192,115, 47, 76, 64,149,224, 88, 64,102,178,123, 70,111, 73, 1, 0,119, 97,148,192,200, 33, 89, 64, 24,225,150, 63,
+ 13,155, 1, 74,188, 26, 1, 0, 75,171, 86,192, 36, 83,150, 64, 22, 36,133, 63,242,182, 99,102,184, 23, 1, 0, 0, 74, 48,192,
+245,165,155, 64,208, 87,227, 63,251,194,185,105,124, 38, 1, 0,122, 78, 57,192,224, 12,120, 64, 7, 56, 84, 64,234,191, 59, 84,
+249, 71, 1, 0, 34,123,189, 63,203,168,178, 64,149,106,130, 63, 39, 33,183,121,165, 21, 1, 0, 14, 50, 28, 64,245, 4,153, 64,
+141, 39, 23, 64, 9, 54, 74,104,218, 50, 1, 0,176,127,232, 63,177,107,178, 64, 47,189,236, 61,229, 39,145,121,134, 3, 1, 0,
+ 53,168, 90, 64,169, 83,152, 64,227,201,133,190,178, 74,213,103, 84,251, 1, 0, 70,239,122, 64, 53,220,138, 64,113, 86,227, 62,
+209, 84, 99, 95,122, 9, 1, 0,116,251, 81, 64,115, 80,139, 64, 57,124, 10, 64,230, 70,178, 95,225, 46, 1, 0,117,224,186, 64,
+ 37,234,247, 62,147, 56,126,190,126,127,167, 9, 22,250, 1, 0, 10, 94,182, 64, 48, 5, 1,191, 86, 81,165, 63,109,124, 42,244,
+146, 27, 1, 0,204, 78,184, 64, 19,193, 89, 61,187,163,141,191,226,125, 1, 1,221,232, 1, 0,105,232,174, 64,151,187,224,191,
+156,183,153,191,126,119,171,217,208,230, 1, 0, 45,138,172, 64,114,149, 17,192,127,203,200,190, 2,118, 65,207, 10,247, 1, 0,
+ 41,110,177, 64, 81, 30,186,191,105,249,158, 63, 85,121, 27,225,147, 26, 1, 0,251,244, 21, 64, 28, 12,172,192, 13,151,128,189,
+ 53, 50, 71,138, 93,254, 1, 0,113, 2,218, 63,172,151,171,192,114, 25,212, 63, 74, 36,150,138,195, 35, 1, 0, 51, 39,223, 63,
+248, 94,177,192,104,122, 76,191, 45, 38,240,134,153,239, 1, 0, 72,208, 28,189, 91, 13,187,192, 64,215,245,190,110,255, 92,128,
+135,246, 1, 0, 81,172,191,190, 67,208,186,192,195,163,216, 62,176,248,130,128,166, 8, 1, 0, 42,118, 68, 63,101,173,176,192,
+114,132,233, 63,132, 17,102,135, 31, 39, 1, 0,133,175,133,192, 28,149,121,192, 51,212,168, 63, 27,164,156,171,146, 28, 1, 0,
+ 78,203,128,192,124, 14, 69,192, 55, 0, 61, 64,110,167,118,189, 28, 64, 1, 0, 31,169,175,192,138,176,237,191, 15,168,103, 63,
+109,136, 84,215,192, 20, 1, 0, 8,211,149,192, 84,166, 94,192, 68, 24, 29, 63,253,153, 14,180,107, 14, 1, 0,106, 23,173,192,
+157,131,182,191,175,176,225, 63, 10,138,250,223,249, 37, 1, 0, 45, 93,142,192, 70,137, 14,192,147,202, 70, 64,236,158,141,206,
+ 46, 67, 1, 0,185, 2, 5,192,217,105, 76, 64,135,173,142, 64, 97,210,211, 68,203, 97, 1, 0, 97,116,196,190, 10,176, 56, 64,
+120,239,162, 64, 59,247, 31, 62,144,111, 1, 0,142, 32, 48,192,155,140, 32, 64,195, 1,145, 64,220,196, 19, 55, 65, 99, 1, 0,
+231,195, 21,192,236, 58,101, 63,218,178,169, 64,210,205,254, 19, 9,116, 1, 0, 70,155,185,191, 12,202, 59, 63,163, 86,180, 64,
+173,223,190, 16,181,122, 1, 0, 29, 97, 43,190,144,118, 2, 64,125,231,175, 64,147,251, 31, 45,178,119, 1, 0,195, 78, 74, 64,
+241,206, 96, 64, 98, 88, 94, 64, 49, 68,178, 76,125, 76, 1, 0, 12,171,100, 64,249, 33,243, 63,106,221,135, 64, 38, 77,157, 41,
+ 69, 93, 1, 0,147,133, 20, 64,234, 55,124, 64,176, 3,107, 64, 84, 51, 74, 85,117, 80, 1, 0,164,243,144, 63,252, 41, 73, 64,
+148, 66,154, 64,124, 25,240, 67,112,105, 1, 0, 52,164,172, 63,106,240, 18, 64,141, 58,167, 64,212, 29,241, 50,146,113, 1, 0,
+ 42,186, 60, 64,219,128,189, 63, 23, 43,155, 64,160, 64, 53, 33, 95,105, 1, 0,101, 1,160, 64, 47,146,184,191,153, 38, 45, 64,
+ 7,109, 96,225,165, 59, 1, 0,246,246,115, 64,183, 86, 15,192, 51,168,118, 64, 48, 83, 7,208,159, 84, 1, 0, 70,241,164, 64,
+102,218,251,190,143, 82, 48, 64, 32,112,112,244,163, 60, 1, 0,192, 81,136, 64, 55,239, 4, 63, 24,222,127, 64,172, 92,109, 10,
+171, 87, 1, 0,151,178,104, 64,245,107,205, 61,175, 60,147, 64, 38, 80, 5, 2,198, 99, 1, 0,215,229, 85, 64,166,178,218,191,
+183, 55,144, 64,195, 73,175,218,184, 97, 1, 0,188,194,101, 63, 17, 84,154,192,240,193, 77, 64,116, 20, 45,151,139, 70, 1, 0,
+ 19, 46, 71, 59,194,240,115,192,175,166,142, 64, 0, 1, 43,173,146, 97, 1, 0, 82,168,234, 63, 87, 62,149,192,118, 12, 67, 64,
+ 59, 39, 94,154, 47, 67, 1, 0,208, 27, 46, 64,124,104, 86,192, 85, 52,126, 64,134, 58,240,182, 73, 87, 1, 0,186, 10, 16, 64,
+249,106, 52,192,210,253,147, 64, 25, 49,152,193, 98,100, 1, 0, 93, 33,240, 62,191,199, 71,192,142, 47,158, 64, 90, 10, 3,187,
+ 80,107, 1, 0,103,139, 94,192,153,146,250,191, 72,141,137, 64,224,180,165,212, 31, 94, 1, 0,107,195, 37,192, 4,213, 36,191,
+ 20, 33,167, 64, 44,200, 55,241, 57,114, 1, 0,158,103, 67,192, 82,206, 51,192, 39,168,132, 64, 98,189,141,195, 13, 91, 1, 0,
+209,230,173,191,231,135, 71,192, 27,234,152, 64, 61,226,217,188,210,104, 1, 0, 77,154,217,191,185, 69, 78,191,221,196,177, 64,
+ 7,218,247,237,229,120, 1, 0,136,131,100,191, 16, 95, 27,192, 4,115,168, 64,150,235,177,202,143,114, 1, 0,139,220, 37,192,
+245,135,141, 64,114,173, 54,192, 49,199, 96, 96,209,193, 1, 0,204,119, 84,192, 93, 73,130, 64,212,107, 38,192, 46,183,222, 88,
+151,199, 1, 0,208, 76, 67,192, 62,120,111, 64, 14, 89, 85,192, 82,189,194, 81,136,183, 1, 0, 68,147,238,191,166,230,100, 64,
+234, 9,136,192,206,215,123, 78, 57,163, 1, 0, 30,149,109,191, 40, 18,111, 64,171,100,141,192, 48,235,197, 81,194,159, 1, 0,
+144,237,178,191, 25,136,136, 64,121, 1,113,192,117,225,197, 92, 71,173, 1, 0,214, 82, 66, 63,128,115,152, 64,164, 25, 85,192,
+ 1, 17, 31,104,135,183, 1, 0,119,155,171,189,138, 40,155, 64,113, 96, 83,192,123,254,195,105,238,183, 1, 0, 67,138,194, 62,
+177, 97,138, 64, 75,158,124,192,109, 8,131, 94, 26,170, 1, 0,158,106, 94,191,167,106, 30, 64,254,240,167,192,230,236,191, 53,
+107,141, 1, 0, 22,114,229,191,193, 96, 20, 64,253,167,162,192, 20,217, 97, 50,247,144, 1, 0, 45,210,162,191,233,211,224, 63,
+184, 67,174,192, 71,228,227, 37,237,136, 1, 0, 37, 61,152,192,230, 9, 14, 64,137,179, 39,192, 84,152,178, 48,225,198, 1, 0,
+232,187,140,192, 6, 96, 62, 64,107,247, 30,192, 9,160, 82, 65, 23,202, 1, 0,116,134,132,192, 40,130, 40, 64,237,207, 77,192,
+140,165,146, 57, 26,186, 1, 0, 12,129,129,192,231,129,173, 63,159,125,128,192, 68,167, 25, 29,120,168, 1, 0,254,112,134,192,
+126,146,207, 62,159, 19,130,192, 18,164,108, 9,113,167, 1, 0,189,121,149,192,142,192,111, 63, 76, 95, 90,192, 88,154,108, 20,
+246,180, 1, 0, 12, 65,162,192, 11, 84,149,191,172,202, 44,192, 58,145, 32,230, 85,197, 1, 0, 74,120,165,192, 95, 78,167,190,
+139, 51, 48,192, 54,143,145,248,243,195, 1, 0, 61,161,150,192,107,221, 89,191,118,113, 89,192, 42,153, 81,237, 31,182, 1, 0,
+ 52, 56, 66,192,206, 40,139, 62, 21,116,160,192, 9,190, 18, 6,123,146, 1, 0,245,120, 56,192,118,213,154, 63, 81,227,158,192,
+ 78,193, 49, 26,136,147, 1, 0,220,104, 22,192,204,221, 40, 63,115,137,170,192, 33,205, 87, 14,110,139, 1, 0,145,143, 39, 64,
+190, 49, 94, 64,165, 27,124,192,240, 56,248, 75, 41,170, 1, 0,130,168, 6, 64,190,132,130, 64, 12, 96,105,192,224, 45,104, 89,
+186,176, 1, 0, 76,169,222, 63,205,107,104, 64,150,142,136,192, 22, 38,102, 79, 30,163, 1, 0,137,207,229, 63, 30, 63, 22, 64,
+207,235,161,192,188, 39,234, 50,127,145, 1, 0,239, 11, 14, 64,175,114,191, 63,254,208,166,192,132, 48, 69, 33, 84,142, 1, 0,
+239,222, 43, 64,212,226, 11, 64,227, 71,151,192, 42, 58,144, 47, 97,152, 1, 0, 0,245,124, 64, 27, 32,187, 62, 57, 6,138,192,
+148, 86,163, 7, 11,162, 1, 0, 42, 75,112, 64,228, 42,152, 63, 25, 44,139,192,254, 81,163, 25, 31,161, 1, 0,178,218, 82, 64,
+178,247, 1, 63,211,129,154,192, 31, 72, 6, 11,214,150, 1, 0,208,203,104, 63,146, 6,113, 63,108, 5,183,192,137, 19,150, 20,
+ 49,131, 1, 0, 26, 68,251, 62,111, 38,228, 63,114, 48,178,192,142, 10,162, 38,111,134, 1, 0,163, 78,149, 61, 65, 25,137, 63,
+234,102,184,192, 37, 1, 44, 23, 32,130, 1, 0, 98,140, 80, 64,169,205,238,191, 83, 69,144,192, 67, 71,141,215,172,157, 1, 0,
+177, 39,109, 64,155,213,147,191,238,143,140,192, 71, 81,255,230, 87,160, 1, 0,100,225, 66, 64,146,191,131,191,152, 18,157,192,
+173, 66,128,233, 23,149, 1, 0,190, 24,220, 63,163,163,202,191,160,244,171,192,102, 37,211,220,194,138, 1, 0,227,219,133, 63,
+172, 47, 17,192, 93,160,169,192,115, 23,161,206, 68,140, 1, 0, 46,202,247, 63, 23,140, 27,192,116,252,158,192,225, 41, 71,203,
+ 38,147, 1, 0, 36,220, 68, 63, 24,143,132,192, 20,105,130,192,156, 16, 53,165, 84,167, 1, 0, 60,255,185, 63,215,244,108,192,
+129, 7,138,192,117, 31, 15,175,249,161, 1, 0,220, 18, 19, 63,168,186, 98,192, 66,136,148,192,154, 12,125,178,238,154, 1, 0,
+131,119,172,187,182,209,162,191,170, 73,183,192,211,255,140,228,252,130, 1, 0,165,230, 40, 63,246,111, 24,191, 50,150,185,192,
+ 24, 14, 16,243,114,129, 1, 0,123, 45, 50,190,213, 16,230,190,160,240,186,192,217,251,137,246,109,128, 1, 0,221, 22,199,191,
+ 71,211,134,192, 37,161,113,192, 93,222, 1,164,157,173, 1, 0,171,131, 58,191, 57,178,140,192,214,174,115,192,120,240,191,159,
+ 19,173, 1, 0,228,119,112,191, 49, 46,115,192,186,222,139,192,149,235,225,172,214,160, 1, 0,122, 75,254,191, 18, 36, 50,192,
+ 84, 70,152,192, 8,212, 46,195, 82,152, 1, 0,190,239, 52,192,193,186, 22,192,166,240,145,192,160,194, 13,204,107,156, 1, 0,
+ 51, 23, 39,192, 14,245, 76,192,105,248,132,192, 27,199,129,186,208,164, 1, 0,202,137,140,192, 4,234, 33,192,152,117, 60,192,
+203,159,220,200, 20,192, 1, 0, 68,176,115,192, 85, 49, 68,192, 65,173, 79,192,182,172, 79,189, 79,185, 1, 0,131,173,128,192,
+ 50,170, 14,192,247, 71,105,192, 33,168, 65,207,185,176, 1, 0,230, 80, 22,192, 50,155,141,191,108, 95,168,192, 0,205, 3,232,
+ 21,141, 1, 0, 96,113,194,191,166,184,195,191, 31,160,174,192,205,222,240,222,228,136, 1, 0,249,244,213,191, 10, 33, 52,191,
+248, 94,178,192,179,219, 20,241, 44,134, 1, 0, 30, 26,167,192, 62, 11, 42, 64,199,163,159,190, 43,142, 23, 58,240,248, 1, 0,
+ 15,242,157,192,177, 35, 63, 64,242,230,132,191,125,148,148, 65, 31,233, 1, 0, 58,163,169,192,184,207, 14, 64, 43, 92,148,191,
+120,140,246, 48,193,230, 1, 0,241, 83,184,192, 33,241,117, 63,204, 69,248,190, 33,130,245, 20, 10,246, 1, 0, 88,178,186,192,
+180, 33,226, 62, 69,211,165, 62,152,128, 54, 10,201, 6, 1, 0,100,194,181,192,227, 37,178, 63, 65, 51,191, 62,202,131,227, 29,
+208, 7, 1, 0,140, 68,168,192,162,100, 57, 63, 90, 41, 31, 64, 98,141,193, 15,192, 54, 1, 0,185,114,173,192,147, 11,162, 63,
+136,131,237, 63,203,137,109, 27,183, 40, 1, 0, 90, 82,178,192,181, 0,168, 62,125, 64,231, 63,135,134, 77, 7,170, 39, 1, 0,
+235, 52,185,192,191,185, 83,191, 39,176,252,190,201,129,214,237,245,244, 1, 0, 95,222,182,192,178, 32,161,190, 48, 92,165,191,
+ 90,131,213,248,212,227, 1, 0, 52,119,179,192,223,204,147,191,116,141,160,191,174,133, 97,230, 93,228, 1, 0,109, 88, 35, 63,
+129,186,182, 64,207, 8,152,191, 3, 14,128,124,207,229, 1, 0,226, 54, 99, 63,172,134,174, 64, 96, 98,250,191,195, 19,238,118,
+ 3,213, 1, 0,150,195, 60, 61, 46,121,177, 64,174, 6,245,191, 79, 1,250,120, 56,214, 1, 0,228,160,145,191,121, 59,181, 64,
+246,252,123,191, 62,231,212,123, 30,235, 1, 0, 29,166,188,191,167,120,181, 64, 4,224,165,189, 72,224,251,123,211,253, 1, 0,
+ 26,186, 9,191,104,142,186, 64,128, 74,126,190,169,243, 70,127, 92,250, 1, 0,179,205, 19,191, 33,145,175, 64,102,151,253, 63,
+129,243,165,119,184, 43, 1, 0,163,114,134,190, 81, 94,183, 64, 73,210,157, 63, 41,250,241,124, 44, 27, 1, 0,253,217,151,191,
+ 90, 89,178, 64,210,246,178, 63, 86,230,147,121,183, 30, 1, 0,107,200, 50,192, 4, 21,164, 64,143,252, 18,191,232,194,191,111,
+ 61,243, 1, 0,219,140, 29,192,164,216,163, 64,163,160,187,191, 6,202,150,111, 27,224, 1, 0, 8, 63, 76,192,149, 92,152, 64,
+201, 6,157,191,240,185,173,103, 19,229, 1, 0,102, 31,167, 64, 18,113,133, 63,122,150, 29,192,215,113,152, 22, 9,202, 1, 0,
+115, 48,157, 64, 74,183, 33, 63, 21,172, 72,192, 47,107, 89, 13, 84,187, 1, 0,250, 48,151, 64,117,157,186, 63,236, 37, 74,192,
+ 40,103,131, 31, 24,187, 1, 0,118, 31,148, 64,144, 99, 46, 64, 95,237, 21,192, 96,101,140, 59,104,205, 1, 0, 40,177,150, 64,
+101,250, 73, 64,104,252,189,191, 9,103,121, 68, 46,223, 1, 0, 59, 67,164, 64,106,116, 19, 64, 96,145,209,191,209,111,213, 50,
+ 3,220, 1, 0, 9, 99,168, 64,184,173, 32, 64,129, 16, 27, 63,227,114,186, 54,183, 13, 1, 0,225, 1,174, 64, 65,167, 12, 64,
+199, 1, 38,190,149,118, 16, 48,190,252, 1, 0,172,156,160, 64, 23,121, 66, 64,220,253, 53,188,154,109, 28, 66,252,255, 1, 0,
+230,184,106, 64,117, 83,133, 64, 76, 95,243,191,205, 79,249, 90, 80,214, 1, 0,116,166,101, 64, 67,107,111, 64, 69,233, 47,192,
+ 26, 78,215, 81, 33,196, 1, 0,109, 20, 68, 64,202, 9,139, 64,124,255, 29,192,122, 66, 31, 95, 3,202, 1, 0, 46,138, 12, 64,
+195,168,156,192, 99,240, 23,192,176, 47, 54,149,255,203, 1, 0,110,189,201, 63, 48, 28,154,192,180,148, 60,192,240, 33,192,150,
+143,191, 1, 0, 21, 55, 17, 64,125, 67,140,192,118, 8, 75,192, 65, 49, 53,160,221,186, 1, 0, 85,126,100, 64,103,211,114,192,
+187,176, 43,192, 56, 78,244,172,248,197, 1, 0, 29,112,133, 64,168, 45,104,192, 95, 44,249,191,163, 90,102,176, 54,213, 1, 0,
+192,193, 95, 64,221, 5,138,192, 42,219,239,191,175, 76, 53,162,183,214, 1, 0, 28, 21,134, 64,185,231,130,192,175,210,133, 62,
+129, 91,184,166, 51, 6, 1, 0,128,101,115, 64,106,100,142,192,214,174,205,190, 30, 83, 11,159,122,247, 1, 0,187,250,142, 64,
+178,123,113,192, 90,120,242,190, 99, 97,143,173,240,245, 1, 0,115, 83,149, 64, 25,118, 24,192, 96, 5, 41,192,195,101, 58,204,
+ 39,198, 1, 0,236, 97,130, 64,181,248, 34,192, 49,132, 87,192, 15, 89,179,200,144,182, 1, 0,186,103,144, 64, 91, 9,234,191,
+150,226, 80,192,155, 98,138,216,146,184, 1, 0,208, 74,136,192,231,117,121,192, 32,193,133,191,251,162, 38,171,252,232, 1, 0,
+ 31, 84,144,192, 24, 19, 87,192, 53, 65,211,191, 64,157, 8,183,220,219, 1, 0, 7, 90,123,192,107,238,121,192,115,227,247,191,
+ 25,170,254,170,217,213, 1, 0,161,112, 54,192, 94, 77,156,192,207,107,196,191,198,193, 27,149, 21,223, 1, 0, 24, 41, 22,192,
+ 1,197,169,192,191, 68, 84,191, 56,204,100,140,176,237, 1, 0, 73,243, 75,192, 86, 16,156,192,180,150, 33,191,208,186, 67,149,
+202,241, 1, 0,140,246, 19,192,148, 60,166,192, 11, 70,182, 63,170,205,162,142,144, 31, 1, 0, 17, 21, 58,192,224,209,160,192,
+103,100, 88, 63,199,192, 73,146,167, 18, 1, 0,151,252, 4,192, 71, 89,174,192,215, 93, 38, 63,148,210, 55,137,117, 14, 1, 0,
+ 53,176,150,191,238,252,174,192, 37,172,226,191,112,230,198,136, 24,217, 1, 0,225,105,214,191,211,177,161,192,160,229, 29,192,
+193,219,176,145, 39,202, 1, 0, 62,213, 88,191,193, 70,167,192,212,217, 32,192,237,237,235,141,220,200, 1, 0,236, 97,130,192,
+181,248, 34, 64, 49,132, 87, 64,241,166, 77, 55,112, 73, 1, 0,186,103,144,192, 91, 9,234, 63,150,226, 80, 64,101,157,118, 39,
+110, 71, 1, 0,115, 83,149,192, 25,118, 24, 64, 96, 5, 41, 64, 61,154,198, 51,217, 57, 1, 0, 29,112,133,192,168, 45,104, 64,
+ 95, 44,249, 63, 93,165,154, 79,202, 42, 1, 0,192,193, 95,192,221, 5,138, 64, 42,219,239, 63, 81,179,203, 93, 73, 41, 1, 0,
+ 85,126,100,192,103,211,114, 64,187,176, 43, 64,200,177, 12, 83, 8, 58, 1, 0,110,189,201,191, 48, 28,154, 64,180,148, 60, 64,
+ 16,222, 64,105,113, 64, 1, 0, 21, 55, 17,192,125, 67,140, 64,118, 8, 75, 64,191,206,203, 95, 35, 69, 1, 0, 46,138, 12,192,
+195,168,156, 64, 99,240, 23, 64, 80,208,202,106, 1, 52, 1, 0,128,101,115,192,106,100,142, 64,214,174,205, 62,226,172,245, 96,
+134, 8, 1, 0,187,250,142,192,178,123,113, 64, 90,120,242, 62,157,158,113, 82, 16, 10, 1, 0, 28, 21,134,192,185,231,130, 64,
+175,210,133,190,127,164, 72, 89,205,249, 1, 0,225,105,214, 63,211,177,161, 64,160,229, 29, 64, 63, 36, 80,110,217, 53, 1, 0,
+ 62,213, 88, 63,193, 70,167, 64,212,217, 32, 64, 19, 18, 21,114, 36, 55, 1, 0, 53,176,150, 63,238,252,174, 64, 37,172,226, 63,
+144, 25, 58,119,232, 38, 1, 0, 24, 41, 22, 64, 1,197,169, 64,191, 68, 84, 63,200, 51,156,115, 80, 18, 1, 0, 73,243, 75, 64,
+ 86, 16,156, 64,180,150, 33, 63, 48, 69,189,106, 54, 14, 1, 0,161,112, 54, 64, 94, 77,156, 64,208,107,196, 63, 58, 62,229,106,
+235, 32, 1, 0, 31, 84,144, 64, 24, 19, 87, 64, 53, 65,211, 63,192, 98,248, 72, 36, 36, 1, 0, 7, 90,123, 64,107,238,121, 64,
+115,227,247, 63,231, 85, 2, 85, 39, 42, 1, 0,208, 74,136, 64,231,117,121, 64, 32,193,133, 63, 5, 93,218, 84, 4, 23, 1, 0,
+ 17, 21, 58, 64,224,209,160, 64,103,100, 88,191, 57, 63,183,109, 89,237, 1, 0,151,252, 4, 64, 71, 89,174, 64,215, 93, 38,191,
+108, 45,201,118,139,241, 1, 0,140,246, 19, 64,148, 60,166, 64, 11, 70,182,191, 86, 50, 94,113,112,224, 1, 0, 95,222,182, 64,
+178, 32,161, 62, 48, 92,165, 63,166,124, 43, 7, 44, 28, 1, 0, 52,119,179, 64,223,204,147, 63,116,141,160, 63, 82,122,159, 25,
+163, 27, 1, 0,235, 52,185, 64,191,185, 83, 63, 39,176,252, 62, 55,126, 42, 18, 11, 11, 1, 0, 88,178,186, 64,180, 33,226,190,
+ 69,211,165,190,104,127,202,245, 55,249, 1, 0,100,194,181, 64,227, 37,178,191, 65, 51,191,190, 54,124, 29,226, 48,248, 1, 0,
+241, 83,184, 64, 33,241,117,191,204, 69,248, 62,223,125, 11,235,246, 9, 1, 0, 15,242,157, 64,177, 35, 63,192,242,230,132, 63,
+131,107,108,190,225, 22, 1, 0, 58,163,169, 64,184,207, 14,192, 43, 92,148, 63,136,115, 10,207, 63, 25, 1, 0, 30, 26,167, 64,
+ 62, 11, 42,192,199,163,159, 62,213,113,233,197, 16, 7, 1, 0,185,114,173, 64,147, 11,162,191,136,131,237,191, 53,118,147,228,
+ 73,215, 1, 0, 90, 82,178, 64,181, 0,168,190,125, 64,231,191,121,121,179,248, 86,216, 1, 0,140, 68,168, 64,162,100, 57,191,
+ 90, 41, 31,192,158,114, 63,240, 64,201, 1, 0,219,140, 29, 64,164,216,163,192,163,160,187, 63,250, 53,106,144,229, 31, 1, 0,
+ 8, 63, 76, 64,149, 92,152,192,201, 6,157, 63, 16, 70, 83,152,237, 26, 1, 0,107,200, 50, 64, 4, 21,164,192,143,252, 18, 63,
+ 24, 61, 65,144,195, 12, 1, 0, 29,166,188, 63,167,120,181,192, 4,224,165, 61,184, 31, 5,132, 45, 2, 1, 0, 26,186, 9, 63,
+104,142,186,192,128, 74,126, 62, 87, 12,186,128,164, 5, 1, 0,228,160,145, 63,121, 59,181,192,246,252,123, 63,194, 24, 44,132,
+226, 20, 1, 0,226, 54, 99,191,172,134,174,192, 96, 98,250, 63, 61,236, 18,137,253, 42, 1, 0,150,195, 60,189, 46,121,177,192,
+174, 6,245, 63,177,254, 6,135,200, 41, 1, 0,109, 88, 35,191,129,186,182,192,207, 8,152, 63,253,241,128,131, 49, 26, 1, 0,
+163,114,134, 62, 81, 94,183,192, 73,210,157,191,215, 5, 15,131,212,228, 1, 0,253,217,151, 63, 90, 89,178,192,210,246,178,191,
+170, 25,109,134, 73,225, 1, 0,179,205, 19, 63, 33,145,175,192,102,151,253,191,127, 12, 91,136, 72,212, 1, 0,116,166,101,192,
+ 67,107,111,192, 69,233, 47, 64,230,177, 41,174,223, 59, 1, 0,109, 20, 68,192,202, 9,139,192,124,255, 29, 64,134,189,225,160,
+253, 53, 1, 0,230,184,106,192,117, 83,133,192, 76, 95,243, 63, 51,176, 7,165,176, 41, 1, 0, 40,177,150,192,101,250, 73,192,
+104,252,189, 63,247,152,135,187,210, 32, 1, 0, 59, 67,164,192,106,116, 19,192, 96,145,209, 63, 47,144, 43,205,253, 35, 1, 0,
+118, 31,148,192,144, 99, 46,192, 95,237, 21, 64,160,154,116,196,152, 50, 1, 0,115, 48,157,192, 74,183, 33,191, 21,172, 72, 64,
+209,148,167,242,172, 68, 1, 0,250, 48,151,192,117,157,186,191,236, 37, 74, 64,216,152,125,224,232, 68, 1, 0,102, 31,167,192,
+ 18,113,133,191,122,150, 29, 64, 41,142,104,233,247, 53, 1, 0,225, 1,174,192, 65,167, 12,192,199, 1, 38, 62,107,137,240,207,
+ 66, 3, 1, 0,172,156,160,192, 23,121, 66,192,220,253, 53, 60,102,146,228,189, 4, 0, 1, 0, 9, 99,168,192,184,173, 32,192,
+129, 16, 27,191, 29,141, 70,201, 73,242, 1, 0,220, 18, 19,191,168,186, 98, 64, 66,136,148, 64,102,243,131, 77, 18,101, 1, 0,
+ 36,220, 68,191, 24,143,132, 64, 20,105,130, 64,100,239,203, 90,172, 88, 1, 0, 60,255,185,191,215,244,108, 64,129, 7,138, 64,
+139,224,241, 80, 7, 94, 1, 0, 46,202,247,191, 23,140, 27, 64,116,252,158, 64, 31,214,185, 52,218,108, 1, 0,190, 24,220,191,
+163,163,202, 63,160,244,171, 64,154,218, 45, 35, 62,117, 1, 0,227,219,133,191,172, 47, 17, 64, 93,160,169, 64,141,232, 95, 49,
+188,115, 1, 0,123, 45, 50, 62,213, 16,230, 62,160,240,186, 64, 39, 4,119, 9,147,127, 1, 0,131,119,172, 59,182,209,162, 63,
+170, 73,183, 64, 45, 0,116, 27, 4,125, 1, 0,165,230, 40,191,246,111, 24, 63, 50,150,185, 64,232,241,240, 12,142,126, 1, 0,
+100,225, 66,192,146,191,131, 63,152, 18,157, 64, 83,189,128, 22,233,106, 1, 0, 98,140, 80,192,169,205,238, 63, 83, 69,144, 64,
+189,184,115, 40, 84, 98, 1, 0,177, 39,109,192,154,213,147, 63,239,143,140, 64,185,174, 1, 25,169, 95, 1, 0,131,173,128, 64,
+ 50,170, 14, 64,247, 71,105, 64,223, 87,191, 48, 71, 79, 1, 0,202,137,140, 64, 4,234, 33, 64,152,117, 60, 64, 53, 96, 36, 55,
+236, 63, 1, 0, 68,176,115, 64, 85, 49, 68, 64, 65,173, 79, 64, 74, 83,177, 66,177, 70, 1, 0, 51, 23, 39, 64, 14,245, 76, 64,
+105,248,132, 64,229, 56,127, 69, 48, 91, 1, 0,122, 75,254, 63, 17, 36, 50, 64, 83, 70,152, 64,248, 43,210, 60,174,103, 1, 0,
+190,239, 52, 64,193,186, 22, 64,166,240,145, 64, 96, 61,243, 51,149, 99, 1, 0,249,244,213, 63, 10, 33, 52, 63,248, 94,178, 64,
+ 77, 36,236, 14,212,121, 1, 0,230, 80, 22, 64, 50,155,141, 63,108, 95,168, 64, 0, 51,253, 23,235,114, 1, 0, 96,113,194, 63,
+166,184,195, 63, 31,160,174, 64, 51, 33, 16, 33, 28,119, 1, 0,228,119,112, 63, 49, 46,115, 64,186,222,139, 64,107, 20, 31, 83,
+ 42, 95, 1, 0,221, 22,199, 63, 71,211,134, 64, 37,161,113, 64,163, 33,255, 91, 99, 82, 1, 0,170,131, 58, 63, 58,178,140, 64,
+213,174,115, 64,136, 15, 65, 96,237, 82, 1, 0,116,134,132, 64, 40,130, 40,192,237,207, 77, 64,116, 90,110,198,230, 69, 1, 0,
+232,187,140, 64, 6, 96, 62,192,107,247, 30, 64,247, 95,174,190,233, 53, 1, 0, 37, 61,152, 64,230, 9, 14,192,137,179, 39, 64,
+172,103, 78,207, 31, 57, 1, 0,189,121,149, 64,142,192,111,191, 76, 95, 90, 64,168,101,148,235, 10, 75, 1, 0,254,112,134, 64,
+126,146,207,190,159, 19,130, 64,238, 91,148,246,143, 88, 1, 0, 12,129,129, 64,231,129,173,191,159,125,128, 64,188, 88,231,226,
+136, 87, 1, 0,220,104, 22, 64,204,221, 40,191,115,137,170, 64,223, 50,169,241,146,116, 1, 0,245,120, 56, 64,118,213,154,191,
+ 81,227,158, 64,178, 62,207,229,120,108, 1, 0, 52, 56, 66, 64,206, 40,139,190, 21,116,160, 64,247, 65,238,249,133,109, 1, 0,
+ 61,161,150, 64,107,221, 89, 63,118,113, 89, 64,214,102,175, 18,225, 73, 1, 0, 74,120,165, 64, 95, 78,167, 62,139, 51, 48, 64,
+202,112,111, 7, 13, 60, 1, 0, 12, 65,162, 64, 11, 84,149, 63,172,202, 44, 64,198,110,224, 25,171, 58, 1, 0, 67,138,194,190,
+177, 97,138,192, 75,158,124, 64,147,247,125,161,230, 85, 1, 0,214, 82, 66,191,128,115,152,192,164, 25, 85, 64,255,238,225,151,
+121, 72, 1, 0,119,155,171, 61,138, 40,155,192,113, 96, 83, 64,133, 1, 61,150, 18, 72, 1, 0,144,237,178, 63, 25,136,136,192,
+121, 1,113, 64,139, 30, 59,163,185, 82, 1, 0, 68,147,238, 63,166,230,100,192,234, 9,136, 64, 50, 40,133,177,199, 92, 1, 0,
+ 30,149,109, 63, 40, 18,111,192,171,100,141, 64,208, 20, 59,174, 62, 96, 1, 0, 45,210,162, 63,233,211,224,191,184, 67,174, 64,
+185, 27, 29,218, 19,119, 1, 0,158,106, 94, 63,167,106, 30,192,254,240,167, 64, 26, 19, 65,202,149,114, 1, 0, 22,114,229, 63,
+193, 96, 20,192,253,167,162, 64,236, 38,159,205, 9,111, 1, 0,208, 76, 67, 64, 62,120,111,192, 14, 89, 85, 64,174, 66, 62,174,
+120, 72, 1, 0,139,220, 37, 64,245,135,141,192,114,173, 54, 64,207, 56,160,159, 47, 62, 1, 0,204,119, 84, 64, 93, 73,130,192,
+212,107, 38, 64,210, 72, 34,167,105, 56, 1, 0,178,218, 82,192,178,247, 1,191,211,129,154, 64,225,183,250,244, 42,105, 1, 0,
+ 0,245,124,192, 27, 32,187,190, 57, 6,138, 64,108,169, 93,248,245, 93, 1, 0, 42, 75,112,192,228, 42,152,191, 25, 44,139, 64,
+ 2,174, 93,230,225, 94, 1, 0,239,222, 43,192,212,226, 11,192,227, 71,151, 64,214,197,113,208,159,103, 1, 0,137,207,229,191,
+ 30, 63, 22,192,207,235,161, 64, 68,216, 22,205,129,110, 1, 0,239, 11, 14,192,175,114,191,191,254,208,166, 64,124,207,187,222,
+172,113, 1, 0,163, 78,149,189, 65, 25,137,191,234,102,184, 64,219,254,212,232,224,125, 1, 0,208,203,104,191,146, 6,113,191,
+108, 5,183, 64,119,236,106,235,207,124, 1, 0, 26, 68,251,190,111, 38,228,191,114, 48,178, 64,114,245, 94,217,145,121, 1, 0,
+ 76,169,222,191,205,107,104,192,150,142,136, 64,234,217,154,176,226, 92, 1, 0,145,143, 39,192,190, 49, 94,192,165, 27,124, 64,
+ 16,199, 8,180,215, 85, 1, 0,130,168, 6,192,190,132,130,192, 12, 96,105, 64, 32,210,152,166, 70, 79, 1, 0, 68, 65, 84, 65,
+104, 1, 0, 0,184,189, 53, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,191, 53, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 1, 0, 0, 88,111,184, 3,
- 55, 0, 0, 0, 32, 0, 0, 0, 2, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0,
- 8, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 13, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 13, 0, 0, 0,
- 0, 0, 35, 0, 1, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 4, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,
- 3, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 10, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 35, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 16, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
- 18, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 17, 0, 0, 0, 0, 0, 35, 0,
- 18, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 22, 0, 0, 0,
- 0, 0, 35, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 21, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,
- 22, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0, 8,113,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,114,184, 3,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96,115,184, 3, 6, 0, 0, 0, 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, 67,111,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,240,116,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,144,114,184, 3, 54, 0, 0, 0,
- 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 2, 5, 0, 0, 0, 4, 0, 0, 0,
- 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 7, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 2,
- 10, 0, 0, 0, 9, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 2, 15, 0, 0, 0, 16, 0, 0, 0, 18, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 8, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0,
- 21, 0, 0, 0, 19, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 2, 22, 0, 0, 0, 2, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0,
- 0, 0, 0, 2, 68, 65, 84, 65, 96, 1, 0, 0, 96,115,184, 3, 65, 0, 0, 0, 8, 0, 0, 0, 12,192,137, 62,162,226,125, 63,
-144,108,246, 61,162,226,125, 63,144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0,
- 0, 0, 0, 0,252,228,213, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 12,192,137, 62,162,226,125, 63,144,108,246, 61,162,226,125, 63,
-144,108,246, 61,162,226,125, 63, 12,192,137, 62,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 0,229,213, 62,
-162,226,125, 63, 18,192,137, 62,162,226,125, 63, 12,192,137, 62,162,226,125, 63,252,228,213, 62,162,226,125, 63, 0, 0, 0, 0,
- 61, 0, 1, 0, 0, 0, 0, 0,154, 23, 55, 63,162,226,125, 63, 34, 5, 17, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
-152, 23, 55, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,
-162,226,125, 63,252,228,213, 62,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0,
- 30, 5, 17, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63,152, 23, 55, 63,162,226,125, 63, 30, 5, 17, 63,162,226,125, 63,
- 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 30, 5, 17, 63,162,226,125, 63,252,228,213, 62,162,226,125, 63,252,228,213, 62,
-162,226,125, 63, 30, 5, 17, 63,162,226,125, 63, 0, 0, 0, 0, 61, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,128, 0, 0, 0,
-240,116,184, 3, 59, 0, 0, 0, 32, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,160,117,184, 3, 52, 0, 0, 0, 1, 0, 0, 0,
-216,162,186, 3,112,104,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,119, 0, 0, 0, 0,112,104,101,
-114,101, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,232,118,184, 3, 72, 18,185, 3,120,118,185, 3, 0, 0, 0, 0,168,120,184, 3,144,182,184, 3,
- 0, 0, 0, 0,168, 82,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,119,184, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,181,184, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192, 16,185, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-130, 2, 0, 0,128, 7, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,117,224,186, 64, 91, 13,187, 64,160,240,186, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,
-232,118,184, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 68, 65, 84, 65, 84, 1, 0, 0, 32,119,184, 3, 58, 1, 0, 0,
- 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,168,120,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 60, 0, 0,
-168,120,184, 3, 58, 0, 0, 0,130, 2, 0, 0, 28,136,141,191, 12,243,244, 62,198, 86,183,192,212,231,117, 10,191,130,255, 0,
- 3, 0, 0, 0,240,102,131,192, 30,183,119, 64,109,169,199,191, 58,166,158, 84,230,221,255, 0, 3, 0, 0, 0,119,108,239, 63,
-213, 85,156, 64,188, 58, 40,192,228, 40,207,106,137,198,255, 0, 3, 0, 0, 0, 95,135,146, 64, 63, 54, 14,191,241,194,102,192,
- 27,100,219,243, 45,177,255, 0, 3, 0, 0, 0,239, 84,141, 62, 16,220,157,192, 14, 2, 73,192, 8, 6, 39,148, 86,187,255, 0,
- 3, 0, 0, 0,132,239,162,192,206,165, 12,192,150, 45,240,191,175,144,245,207,251,214,255, 0, 3, 0, 0, 0,239, 84,141,190,
- 16,220,157, 64, 14, 2, 73, 64,248,249,217,107,170, 68,255, 0, 3, 0, 0, 0,132,239,162, 64,206,165, 12, 64,150, 45,240, 63,
- 81,111, 11, 48, 5, 41,255, 0, 3, 0, 0, 0,240,102,131, 64, 30,183,119,192,109,169,199, 63,198, 89, 98,171, 26, 34,255, 0,
- 3, 0, 0, 0,119,108,239,191,213, 85,156,192,188, 58, 40, 64, 28,215, 49,149,119, 57,255, 0, 3, 0, 0, 0, 95,135,146,192,
- 63, 54, 14, 63,241,194,102, 64,229,155, 37, 12,211, 78,255, 0, 3, 0, 0, 0, 28,136,141, 63, 12,243,244,190,198, 86,183, 64,
- 44, 24,139,245, 65,125,255, 0, 3, 0, 0, 0,114, 17, 68,192,226,153, 35, 64,154, 26,137,192, 6,189,226, 55, 85,162,255, 0,
- 3, 0, 0, 0,155, 40,230, 62,239,199, 73, 64,176, 52,157,192,211, 9,237, 68,153,148,255, 0, 3, 0, 0, 0,124, 55,168,191,
-224,177,164, 64, 58,144, 29,192, 69,227,132,112, 46,202,255, 0, 3, 0, 0, 0, 94, 35,105,192,230, 88,129,191,195, 14,143,192,
- 93,176,233,233, 68,158,255, 0, 3, 0, 0, 0, 37, 2,173,192,137,187,123, 63, 56, 68, 1,192,206,137,127, 21,216,211,255, 0,
- 3, 0, 0, 0,234,168, 2, 64,231,158, 57,189, 65,149,175,192,162, 44, 3,255, 11,136,255, 0, 3, 0, 0, 0, 19,159,114, 64,
-254,226, 34, 64,196,133,106,192,225, 82,164, 55,228,175,255, 0, 3, 0, 0, 0,105,176,249,190, 21,148, 39,192,217,214,166,192,
- 87,245,194,198, 5,142,255, 0, 3, 0, 0, 0,227,163, 54, 64, 86,121, 78,192, 22,202,125,192, 99, 62,120,185, 79,169,255, 0,
- 3, 0, 0, 0,241, 40, 53,192,200, 31,134,192,229,188, 60,192, 30,194, 94,164,136,191,255, 0, 3, 0, 0, 0, 96,230,181,192,
- 33, 24,119,191,174, 26,130, 63,186,131,231,234, 56, 22,255, 0, 3, 0, 0, 0,103, 93,163,192,136,128, 38, 64, 83,235,153, 63,
-100,144,224, 56, 74, 26,255, 0, 3, 0, 0, 0,238,219, 36,192,132,151,165, 64,165,226,109, 63,176,199, 33,113, 80, 20,255, 0,
- 3, 0, 0, 0, 24,237,111, 63,118,174,184, 64,212, 34,154, 62,125, 20, 44,126,148, 6,255, 0, 3, 0, 0, 0,163,244,130, 64,
-157, 58,133, 64,125, 95,226,190,119, 89, 5, 91, 86,246,255, 0, 3, 0, 0, 0, 96,230,181, 64, 33, 24,119, 63,174, 26,130,191,
- 70,124, 25, 21,200,233,255, 0, 3, 0, 0, 0,103, 93,163, 64,136,128, 38,192, 83,235,153,191,156,111, 32,199,182,229,255, 0,
- 3, 0, 0, 0,238,219, 36, 64,132,151,165,192,165,226,109,191, 80, 56,223,142,176,235,255, 0, 3, 0, 0, 0, 24,237,111,191,
-118,174,184,192,212, 34,154,190,131,235,212,129,108,249,255, 0, 3, 0, 0, 0,163,244,130,192,157, 58,133,192,125, 95,226, 62,
-137,166,251,164,170, 9,255, 0, 3, 0, 0, 0,227,163, 54,192, 86,121, 78, 64, 22,202,125, 64,157,193,136, 70,177, 86,255, 0,
- 3, 0, 0, 0,241, 40, 53, 64,200, 31,134, 64,229,188, 60, 64,226, 61,162, 91,120, 64,255, 0, 3, 0, 0, 0, 37, 2,173, 64,
-137,187,123,191, 56, 68, 1, 64, 50,118,129,234, 40, 44,255, 0, 3, 0, 0, 0,124, 55,168, 63,224,177,164,192, 58,144, 29, 64,
-187, 28,124,143,210, 53,255, 0, 3, 0, 0, 0, 19,159,114,192,254,226, 34,192,196,133,106, 64, 31,173, 92,200, 28, 80,255, 0,
- 3, 0, 0, 0,234,168, 2,192,231,158, 57, 61, 65,149,175, 64, 94,211,253, 0,245,119,255, 0, 3, 0, 0, 0,105,176,249, 62,
- 21,148, 39, 64,217,214,166, 64,169, 10, 62, 57,251,113,255, 0, 3, 0, 0, 0, 94, 35,105, 64,230, 88,129, 63,195, 14,143, 64,
-163, 79, 23, 22,188, 97,255, 0, 3, 0, 0, 0,114, 17, 68, 64,226,153, 35,192,154, 26,137, 64,250, 66, 30,200,171, 93,255, 0,
- 3, 0, 0, 0,155, 40,230,190,239,199, 73,192,176, 52,157, 64, 45,246, 19,187,103,107,255, 0, 3, 0, 0, 0, 37,178, 10,192,
-138,231,201, 63,149,143,166,192,129,209,140, 33,145,141,255, 0, 3, 0, 0, 0, 3,132,110,192,243,203, 85, 64,151,107, 66,192,
- 16,174,158, 73,209,190,255, 0, 3, 0, 0, 0,116,161,174,190, 81,152,241, 63,110, 2,177,192,217,247, 15, 40,182,134,255, 0,
- 3, 0, 0, 0,138, 91,154, 63,218,179,133, 64,209,222,122,192, 0, 27, 30, 92, 86,171,255, 0, 3, 0, 0, 0, 7, 82, 52,192,
- 82,252,149, 64, 64,202, 5,192, 39,193,227,101,181,210,255, 0, 3, 0, 0, 0,179, 12,148, 62,251,221,166, 64,188, 87, 41,192,
-192, 7,224,113, 21,198,255, 0, 3, 0, 0, 0,216,246, 29,192, 17,156,141,190,209,167,169,192, 47,203,160,250,137,139,255, 0,
- 3, 0, 0, 0, 99, 72,145,192, 79,114,213,191,183, 35, 83,192, 26,156, 3,219, 12,185,255, 0, 3, 0, 0, 0,115, 58,158,192,
-129,120, 33, 64,198, 41,238,191,126,148,116, 56,137,215,255, 0, 3, 0, 0, 0,118,158,174,192,103,148, 33,191,140,156, 1,192,
-218,136,198,240,203,211,255, 0, 3, 0, 0, 0, 55, 14,249, 62, 95,133,102, 62,210,143,186,192, 56, 9, 40, 5,113,128,255, 0,
- 3, 0, 0, 0,220, 61, 92, 64, 56,230,159,190, 6, 61,151,192, 94, 76,242,248,135,153,255, 0, 3, 0, 0, 0, 7, 86, 60, 64,
- 60, 48,119, 64, 93, 88, 81,192,119, 63,124, 85,246,184,255, 0, 3, 0, 0, 0,252, 55,139, 64, 62, 95,132, 63,225,216,113,192,
-118, 95, 54, 21,107,173,255, 0, 3, 0, 0, 0, 18, 6, 84,191,251, 96,142,191, 76, 4,182,192,158,237, 20,233,109,131,255, 0,
- 3, 0, 0, 0,109, 74,225,189, 51, 54,123,192, 34,246,138,192,241,253, 39,169, 1,162,255, 0, 3, 0, 0, 0,153, 66,119, 64,
-127,154,251,191,161,220,123,192, 59, 85, 59,214, 34,170,255, 0, 3, 0, 0, 0,201, 59,208, 63,241,182,135,192,212,101,108,192,
-103, 34,133,162,160,175,255, 0, 3, 0, 0, 0,161,246,169,191,235,196,151,192,170,149, 74,192, 95,228,253,151,184,186,255, 0,
- 3, 0, 0, 0, 33,198,131,192,218,137, 84,192, 37,134, 32,192,247,164, 77,184,167,201,255, 0, 3, 0, 0, 0,176, 61,179,192,
-138,110,210,191, 24,220,228,190,210,133,130,219,238,244,255, 0, 3, 0, 0, 0, 73,182,170,192,136, 16, 90,190, 90,194, 25, 64,
-224,139, 8,252,174, 53,255, 0, 3, 0, 0, 0, 75, 55,153,192, 4, 78, 87, 64, 12, 54, 62,190,200,151, 29, 74,179,250,255, 0,
- 3, 0, 0, 0,235, 19,161,192,207, 12,210, 63,210,242, 31, 64, 50,146,244, 34,182, 55,255, 0, 3, 0, 0, 0, 60, 75, 94,192,
-189,115,150, 64,186,211,167,190, 98,179, 49,102,183,247,255, 0, 3, 0, 0, 0,186,191,189,191, 63, 32,168, 64,213,100, 7, 64,
-161,224,191,114, 61, 47,255, 0, 3, 0, 0, 0,242,205,186, 63,141, 65,177, 64,127,219,154,191, 82, 32,177,120, 61,228,255, 0,
- 3, 0, 0, 0, 99,245,175, 62, 97, 12,178, 64,255,253,228, 63,247, 6, 65,121, 98, 40,255, 0, 3, 0, 0, 0,226, 92, 70, 64,
- 8,131,150, 64,182, 77,204,191,193, 66, 37,103, 32,220,255, 0, 3, 0, 0, 0,200,194,152, 64,180,155, 83, 64,154,217, 62, 63,
-207,104,101, 71, 87, 17,255, 0, 3, 0, 0, 0, 73,182,170, 64,136, 16, 90, 62, 90,194, 25,192, 32,116,248, 3, 82,202,255, 0,
- 3, 0, 0, 0,176, 61,179, 64,138,110,210, 63, 24,220,228, 62, 46,122,126, 36, 18, 11,255, 0, 3, 0, 0, 0,235, 19,161, 64,
-207, 12,210,191,210,242, 31,192,206,109, 12,221, 74,200,255, 0, 3, 0, 0, 0, 75, 55,153, 64, 4, 78, 87,192, 12, 54, 62, 62,
- 56,104,227,181, 77, 5,255, 0, 3, 0, 0, 0,186,191,189, 63, 63, 32,168,192,213,100, 7,192, 95, 31, 65,141,195,208,255, 0,
- 3, 0, 0, 0, 60, 75, 94, 64,189,115,150,192,186,211,167, 62,158, 76,207,153, 73, 8,255, 0, 3, 0, 0, 0, 99,245,175,190,
- 97, 12,178,192,255,253,228,191, 9,249,191,134,158,215,255, 0, 3, 0, 0, 0,242,205,186,191,141, 65,177,192,127,219,154, 63,
-174,223, 79,135,195, 27,255, 0, 3, 0, 0, 0,200,194,152,192,180,155, 83,192,154,217, 62,191, 49,151,155,184,169,238,255, 0,
- 3, 0, 0, 0,226, 92, 70,192, 8,131,150,192,182, 77,204, 63, 63,189,219,152,224, 35,255, 0, 3, 0, 0, 0,201, 59,208,191,
-241,182,135, 64,212,101,108, 64,153,221,123, 93, 96, 80,255, 0, 3, 0, 0, 0,153, 66,119,192,127,154,251, 63,161,220,123, 64,
-197,170,197, 41,222, 85,255, 0, 3, 0, 0, 0,161,246,169, 63,235,196,151, 64,170,149, 74, 64,161, 27, 3,104, 72, 69,255, 0,
- 3, 0, 0, 0, 33,198,131, 64,218,137, 84, 64, 37,134, 32, 64, 9, 91,179, 71, 89, 54,255, 0, 3, 0, 0, 0,118,158,174, 64,
-103,148, 33, 63,140,156, 1, 64, 38,119, 58, 15, 53, 44,255, 0, 3, 0, 0, 0,115, 58,158, 64,129,120, 33,192,198, 41,238, 63,
-130,107,140,199,119, 40,255, 0, 3, 0, 0, 0, 7, 82, 52, 64, 82,252,149,192, 64,202, 5, 64,217, 62, 29,154, 75, 45,255, 0,
- 3, 0, 0, 0,179, 12,148,190,251,221,166,192,188, 87, 41, 64, 64,248, 32,142,235, 57,255, 0, 3, 0, 0, 0, 7, 86, 60,192,
- 60, 48,119,192, 93, 88, 81, 64,137,192,132,170, 10, 71,255, 0, 3, 0, 0, 0,252, 55,139,192, 62, 95,132,191,225,216,113, 64,
-138,160,202,234,149, 82,255, 0, 3, 0, 0, 0,220, 61, 92,192, 56,230,159, 62, 6, 61,151, 64,162,179, 14, 7,121,102,255, 0,
- 3, 0, 0, 0, 55, 14,249,190, 95,133,102,190,210,143,186, 64,200,246,216,250,143,127,255, 0, 3, 0, 0, 0,109, 74,225, 61,
- 51, 54,123, 64, 34,246,138, 64, 15, 2,217, 86,255, 93,255, 0, 3, 0, 0, 0, 18, 6, 84, 63,251, 96,142, 63, 76, 4,182, 64,
- 98, 18,236, 22,147,124,255, 0, 3, 0, 0, 0, 99, 72,145, 64, 79,114,213, 63,183, 35, 83, 64,230, 99,253, 36,244, 70,255, 0,
- 3, 0, 0, 0,216,246, 29, 64, 17,156,141, 62,209,167,169, 64,209, 52, 96, 5,119,116,255, 0, 3, 0, 0, 0, 3,132,110, 64,
-243,203, 85,192,151,107, 66, 64,240, 81, 98,182, 47, 65,255, 0, 3, 0, 0, 0, 37,178, 10, 64,138,231,201,191,149,143,166, 64,
-127, 46,116,222,111,114,255, 0, 3, 0, 0, 0,138, 91,154,191,218,179,133,192,209,222,122, 64, 0,229,226,163,170, 84,255, 0,
- 3, 0, 0, 0,116,161,174, 62, 81,152,241,191,110, 2,177, 64, 39, 8,241,215, 74,121,255, 0, 3, 0, 0, 0, 36, 76, 19,192,
- 25,151,129, 64,212,254, 98,192,231,206, 97, 88,131,177,255, 0, 3, 0, 0, 0, 93,232,175,191,177, 23, 64, 64, 69,186,154,192,
-227,225,235, 66, 34,151,255, 0, 3, 0, 0, 0,208,190,232,190, 93,160,139, 64,191, 33,120,192,183,244,205, 94,192,170,255, 0,
- 3, 0, 0, 0,210,126,142,192, 43, 49,238, 63,112, 30, 84,192,187,158, 95, 39,183,182,255, 0, 3, 0, 0, 0,138,165, 97,192,
- 92, 9, 80, 63, 20, 74,147,192,183,177,233, 17, 86,156,255, 0, 3, 0, 0, 0, 98, 61,152,192, 87, 63,106,188, 6, 97, 90,192,
-127,152,251, 0,183,180,255, 0, 3, 0, 0, 0,200,173, 14, 64,155,183, 63, 64,192, 75,144,192,206, 48, 45, 64,152,156,255, 0,
- 3, 0, 0, 0, 95,162,167, 63,144, 29,209, 63, 25,245,174,192,250, 29, 75, 36,250,136,255, 0, 3, 0, 0, 0,211, 62, 68, 64,
- 51, 56,168, 63, 13,245,153,192,241, 65,192, 29,106,150,255, 0, 3, 0, 0, 0, 33,182, 36, 64, 34, 38,220,191,150, 5,159,192,
-233, 54,211,217,223,146,255, 0, 3, 0, 0, 0, 16, 34, 81, 63,129, 64,179,191,162, 5,180,192,242, 18, 93,224,111,133,255, 0,
- 3, 0, 0, 0,212, 56,159, 63,172,166, 68,192,212,108,154,192,176, 27, 32,190,208,149,255, 0, 3, 0, 0, 0,204, 76,223,191,
-170, 32,101,192, 65, 83,137,192,199,216,195,178,198,161,255, 0, 3, 0, 0, 0,249,249, 10,192, 62, 52,244,191, 25,236,162,192,
- 9,208, 0,213,102,145,255, 0, 3, 0, 0, 0, 42,207, 89,192,251, 6, 47,192, 27,165,121,192,209,182, 18,196,198,169,255, 0,
- 3, 0, 0, 0,137,215,176,192, 25, 62,241, 63,179,254,219,190,179,134,232, 39, 78,247,255, 0, 3, 0, 0, 0, 28,150,186,192,
-150, 16, 28, 60,191, 9, 7,191,118,128,131, 1, 77,245,255, 0, 3, 0, 0, 0, 34,132,181,192, 99, 60, 92, 63,217, 81,149, 63,
-181,131,238, 18,252, 23,255, 0, 3, 0, 0, 0,175,242, 74,190,164,173,183, 64,227,105,145,191,117,250,160,125, 31,232,255, 0,
- 3, 0, 0, 0,219,227, 2,192, 96,164,173, 64,200, 71, 78,191,164,212, 52,119,226,238,255, 0, 3, 0, 0, 0,181,140, 92,191,
- 75, 38,184, 64,176,148, 37, 63,224,236,237,125,159, 12,255, 0, 3, 0, 0, 0, 75,104,159, 64,212, 56,236, 63,240,126, 29,192,
-211,108,166, 41, 9,203,255, 0, 3, 0, 0, 0,215,159,132, 64, 84,184, 97, 64, 30, 44, 10,192,176, 91, 19, 76, 56,209,255, 0,
- 3, 0, 0, 0, 95,122,164, 64,199,143, 44, 64, 53, 78, 68,191, 17,112, 17, 59,185,237,255, 0, 3, 0, 0, 0,255,176, 54, 64,
-243, 84,141,192,237,176, 36,192,192, 63, 9,160, 63,200,255, 0, 3, 0, 0, 0, 93,229,133, 64,217, 21, 68,192,157,226, 45,192,
-249, 90,187,187, 78,197,255, 0, 3, 0, 0, 0,203, 56,129, 64, 21,211,130,192,187,115,143,191,252, 87,194,166,252,229,255, 0,
- 3, 0, 0, 0,189,239,104,192, 82,142,140,192,178,178,168,191,134,177,245,158,155,227,255, 0, 3, 0, 0, 0, 50,141,253,191,
- 52,155,167,192,170,181,218,191,125,211,166,141,155,219,255, 0, 3, 0, 0, 0,164, 58, 41,192,172, 34,167,192,206,232,151, 61,
-232,197,243,141, 26, 0,255, 0, 3, 0, 0, 0, 93,229,133,192,217, 21, 68, 64,157,226, 45, 64, 7,165, 69, 68,178, 58,255, 0,
- 3, 0, 0, 0,203, 56,129,192, 21,211,130, 64,187,115,143, 63, 4,168, 62, 89, 4, 26,255, 0, 3, 0, 0, 0,255,176, 54,192,
-243, 84,141, 64,237,176, 36, 64, 64,192,247, 95,193, 55,255, 0, 3, 0, 0, 0, 50,141,253, 63, 52,155,167, 64,170,181,218, 63,
-131, 44, 90,114,101, 36,255, 0, 3, 0, 0, 0,164, 58, 41, 64,172, 34,167, 64,206,232,151,189, 24, 58, 13,114,230,255,255, 0,
- 3, 0, 0, 0,189,239,104, 64, 82,142,140, 64,178,178,168, 63,122, 78, 11, 97,101, 28,255, 0, 3, 0, 0, 0, 28,150,186, 64,
-150, 16, 28,188,191, 9, 7, 63,138,127,125,254,179, 10,255, 0, 3, 0, 0, 0, 34,132,181, 64, 99, 60, 92,191,217, 81,149,191,
- 75,124, 18,237, 4,232,255, 0, 3, 0, 0, 0,137,215,176, 64, 25, 62,241,191,179,254,219, 62, 77,121, 24,216,178, 8,255, 0,
- 3, 0, 0, 0,219,227, 2, 64, 96,164,173,192,200, 71, 78, 63, 92, 43,204,136, 30, 17,255, 0, 3, 0, 0, 0,181,140, 92, 63,
- 75, 38,184,192,176,148, 37,191, 32, 19, 19,130, 97,243,255, 0, 3, 0, 0, 0,175,242, 74, 62,164,173,183,192,227,105,145, 63,
-139, 5, 96,130,225, 23,255, 0, 3, 0, 0, 0,215,159,132,192, 84,184, 97,192, 30, 44, 10, 64, 80,164,237,179,200, 46,255, 0,
- 3, 0, 0, 0, 95,122,164,192,199,143, 44,192, 53, 78, 68, 63,239,143,239,196, 71, 18,255, 0, 3, 0, 0, 0, 75,104,159,192,
-212, 56,236,191,240,126, 29, 64, 45,147, 90,214,247, 52,255, 0, 3, 0, 0, 0,212, 56,159,191,172,166, 68, 64,212,108,154, 64,
- 80,228,224, 65, 48,106,255, 0, 3, 0, 0, 0, 33,182, 36,192, 34, 38,220, 63,150, 5,159, 64, 23,201, 45, 38, 33,109,255, 0,
- 3, 0, 0, 0, 16, 34, 81,191,129, 64,179, 63,162, 5,180, 64, 14,237,163, 31,145,122,255, 0, 3, 0, 0, 0, 42,207, 89, 64,
-251, 6, 47, 64, 27,165,121, 64, 47, 73,238, 59, 58, 86,255, 0, 3, 0, 0, 0,208, 76,223, 63,170, 32,101, 64, 65, 83,137, 64,
- 57, 39, 61, 77, 58, 94,255, 0, 3, 0, 0, 0,249,249, 10, 64, 62, 52,244, 63, 25,236,162, 64,247, 47, 0, 43,154,110,255, 0,
- 3, 0, 0, 0,210,126,142, 64, 43, 49,238,191,112, 30, 84, 64, 69, 97,161,216, 73, 73,255, 0, 3, 0, 0, 0, 98, 61,152, 64,
- 87, 63,106, 60, 6, 97, 90, 64,129,103, 5,255, 73, 75,255, 0, 3, 0, 0, 0,138,165, 97, 64, 92, 9, 80,191, 20, 74,147, 64,
- 73, 78, 23,238,170, 99,255, 0, 3, 0, 0, 0,208,190,232, 62, 93,160,139,192,191, 33,120, 64, 73, 11, 51,161, 64, 85,255, 0,
- 3, 0, 0, 0, 36, 76, 19, 64, 25,151,129,192,212,254, 98, 64, 25, 49,159,167,125, 78,255, 0, 3, 0, 0, 0, 93,232,175, 63,
-177, 23, 64,192, 69,186,154, 64, 29, 30, 21,189,222,104,255, 0, 3, 0, 0, 0,211, 62, 68,192, 51, 56,168,191, 13,245,153, 64,
- 15,190, 64,226,150,105,255, 0, 3, 0, 0, 0,200,173, 14,192,155,183, 63,192,192, 75,144, 64, 50,207,211,191,104, 99,255, 0,
- 3, 0, 0, 0, 95,162,167,191,144, 29,209,191, 25,245,174, 64, 6,226,181,219, 6,119,255, 0, 3, 0, 0, 0,158,156,211,191,
-185,228,132, 63,190,207,176,192,164,220,231, 21,244,134,255, 0, 3, 0, 0, 0, 0, 76, 41,192,190,199, 5, 64, 83,157,153,192,
-146,198, 75, 45,246,150,255, 0, 3, 0, 0, 0,204, 83,125,192,169, 55,105, 64,244,162, 20,192, 72,169,246, 79, 82,206,255, 0,
- 3, 0, 0, 0,178,215, 91,192,222,235, 62, 64,190,254,108,192,215,180, 87, 65,155,175,255, 0, 3, 0, 0, 0,242, 63, 59,191,
-210,237,152, 63,251, 21,182,192,125,239, 26, 25,149,131,255, 0, 3, 0, 0, 0, 86,230, 94, 61,198, 30, 35, 64,233, 15,169,192,
-238, 0, 52, 55,135,140,255, 0, 3, 0, 0, 0,220, 4,199, 63, 7,145,146, 64,104,186, 83,192,109, 34,137,100,168,184,255, 0,
- 3, 0, 0, 0, 9,120, 86, 63,149, 91,109, 64, 79,242,142,192,133, 18, 64, 81,218,158,255, 0, 3, 0, 0, 0,103,243, 95,192,
-221, 91,138, 64,186, 15,236,191,170,178,219, 93, 25,216,255, 0, 3, 0, 0, 0, 46,206, 5,192,121, 41,159, 64,154, 91, 19,192,
-230,209, 96,108,226,205,255, 0, 3, 0, 0, 0,169,200,139, 63,198, 78,163, 64,201,146, 42,192,247, 24, 59,111,206,197,255, 0,
- 3, 0, 0, 0,187,128, 4,191,206,181,167, 64, 74, 92, 37,192, 57,245, 96,114,145,199,255, 0, 3, 0, 0, 0,151, 16,231,191,
-160,166,209, 61,167, 95,178,192,136,217,196, 2,245,133,255, 0, 3, 0, 0, 0,163,200, 69,192,178,143, 38,191,148, 48,158,192,
-243,188, 11,242,223,147,255, 0, 3, 0, 0, 0, 43,192,155,192,151, 6,250,191,170, 82, 39,192, 79,149,247,212,231,199,255, 0,
- 3, 0, 0, 0,233,118,132,192,217,111,173,191, 67,122,123,192,100,165, 58,226,165,170,255, 0, 3, 0, 0, 0,238, 85,146,192,
-178,205, 78, 64, 70, 54,221,191,183,156,134, 71,120,218,255, 0, 3, 0, 0, 0, 76,137,167,192,111, 31,227, 63,158, 57,251,191,
-234,141, 54, 39, 59,213,255, 0, 3, 0, 0, 0, 39,143,170,192,167, 15,183,191,251, 85,252,191,217,139,169,223, 13,213,255, 0,
- 3, 0, 0, 0, 8,214,175,192,177,124, 53, 62,206,241, 2,192, 23,136, 89, 3, 92,211,255, 0, 3, 0, 0, 0, 77,160,160,190,
- 9, 20,182, 62,108,232,186,192, 8,248,241, 7,128,128,255, 0, 3, 0, 0, 0, 33,144,163, 63,151,144,186, 61, 50, 47,183,192,
- 97, 27, 19, 2,252,130,255, 0, 3, 0, 0, 0,222,179,129, 64,234,147,224,190, 38,180,134,192, 83, 89, 64,246,218,164,255, 0,
- 3, 0, 0, 0,114,138, 49, 64,246, 97, 57,190, 57, 76,165,192,250, 60,247,251,138,143,255, 0, 3, 0, 0, 0,249,158, 27, 64,
-197,118,141, 64, 58,196, 62,192, 90, 52, 70, 97, 90,191,255, 0, 3, 0, 0, 0, 98,244, 89, 64, 8,120, 79, 64, 65,128, 96,192,
- 8, 74, 39, 71,151,179,255, 0, 3, 0, 0, 0, 13,100,144, 64,200,214,118, 62, 64,205,110,192,182, 98, 37, 4,161,174,255, 0,
- 3, 0, 0, 0, 42,202,131, 64, 60,161,231, 63,142,245,112,192, 10, 90,255, 38,209,173,255, 0, 3, 0, 0, 0,149, 51,122,191,
- 52,151,163,190, 15,157,184,192,118,234, 36,250,248,129,255, 0, 3, 0, 0, 0, 5,113, 42,191, 31,112,241,191, 15,119,176,192,
- 93,241, 84,215,135,135,255, 0, 3, 0, 0, 0, 60, 55,172, 61, 22, 64,143,192,164,246,113,192, 27, 2,132,157, 71,174,255, 0,
- 3, 0, 0, 0,167,173,154,190,111,224, 83,192,198,169,154,192,136,249, 89,183,211,150,255, 0, 3, 0, 0, 0,151,133,136, 64,
- 9,249,162,191,106,219,115,192,175, 93, 47,229, 3,173,255, 0, 3, 0, 0, 0,110,124, 89, 64,135, 6, 40,192,223,195,127,192,
-120, 74, 31,199,208,168,255, 0, 3, 0, 0, 0,244,248,117, 63,109, 90,148,192,123, 0, 93,192, 8, 20, 66,154,249,180,255, 0,
- 3, 0, 0, 0,162, 0, 17, 64, 63,196,113,192, 52,239,119,192, 10, 49, 64,173,144,171,255, 0, 3, 0, 0, 0,162,217, 7,191,
- 21,117,156,192,222,238, 75,192,139,245, 20,149,108,186,255, 0, 3, 0, 0, 0,171,144, 6,192,112,158,144,192,198,241, 69,192,
-156,210, 55,157,115,188,255, 0, 3, 0, 0, 0,110,238,148,192,115,109, 50,192,187,197, 13,192,170,153,231,195, 17,208,255, 0,
- 3, 0, 0, 0, 79,252, 96,192,140, 40,115,192,116,165, 48,192,226,178, 98,173,236,195,255, 0, 3, 0, 0, 0,100,228,172,192,
-217,128,248,191, 8, 93,150,191, 91,138, 53,213, 86,229,255, 0, 3, 0, 0, 0, 82,171,182,192,216,250,168,191, 15, 15,147, 62,
-122,131,250,226,203, 5,255, 0, 3, 0, 0, 0,215, 73,160,192,124,165, 49, 62,232, 85, 66, 64, 33,147, 84, 4, 42, 67,255, 0,
- 3, 0, 0, 0,171, 89,178,192,192,115, 24,191, 78,116,221, 63,129,134, 64,243, 50, 38,255, 0, 3, 0, 0, 0, 51,206,143,192,
-133,250,105, 64,119,251, 97,191, 85,158, 53, 80,193,235,255, 0, 3, 0, 0, 0, 62, 32,160,192,163, 38, 65, 64,164,117, 3, 63,
-236,146, 24, 66,193, 10,255, 0, 3, 0, 0, 0,216,108,155,192, 59,255,141, 63,189,117, 69, 64, 61,150,119, 23, 42, 68,255, 0,
- 3, 0, 0, 0, 85, 27,164,192,244, 78, 9, 64, 87,193,239, 63, 33,144,128, 46, 73, 41,255, 0, 3, 0, 0, 0,134, 35,117,192,
- 39,152,138, 64, 73, 86,116,191,230,171, 2, 94, 73,234,255, 0, 3, 0, 0, 0, 35,220, 67,192, 6,218,159, 64,242,103,155, 62,
-240,188,215,108, 55, 6,255, 0, 3, 0, 0, 0,130, 79, 99,191,215,182,164, 64, 10, 4, 42, 64,118,237, 50,112,190, 58,255, 0,
- 3, 0, 0, 0,161, 86, 3,192, 14,205,168, 64, 60, 55,197, 63,148,211, 31,115,255, 33,255, 0, 3, 0, 0, 0,229,101,215, 63,
- 84,141,168, 64, 16, 90,248,191, 11, 37,148,114,159,212,255, 0, 3, 0, 0, 0, 99, 52,155, 63,198, 17,183, 64,232,199,235,190,
-159, 26,192,124,120,245,255, 0, 3, 0, 0, 0,105,179, 10, 61, 25,185,169, 64,120,119, 31, 64, 77, 0,101,115, 96, 55,255, 0,
- 3, 0, 0, 0,143,198, 37, 63,123,120,183, 64,160,108,135, 63,240, 13, 8,125,144, 23,255, 0, 3, 0, 0, 0,180,174, 32, 64,
- 65, 13,155, 64,238,167, 8,192,247, 53,245,105,163,208,255, 0, 3, 0, 0, 0, 69,199,104, 64,177,135,143, 64, 41, 12,132,191,
- 10, 79, 10, 98, 31,233,255, 0, 3, 0, 0, 0,121,134,159, 64, 49,245, 49, 64,210,166,169, 63, 27,109,242, 59,190, 29,255, 0,
- 3, 0, 0, 0, 52,133,143, 64,119,200,113, 64,186,206, 29, 62, 20, 98, 39, 82,190, 3,255, 0, 3, 0, 0, 0,215, 73,160, 64,
-124,165, 49,190,232, 85, 66,192,223,108,172,251,214,188,255, 0, 3, 0, 0, 0,171, 89,178, 64,192,115, 24, 63, 78,116,221,191,
-127,121,192, 12,206,217,255, 0, 3, 0, 0, 0,100,228,172, 64,217,128,248, 63, 8, 93,150, 63,165,117,203, 42,170, 26,255, 0,
- 3, 0, 0, 0, 82,171,182, 64,216,250,168, 63, 15, 15,147,190,134,124, 6, 29, 53,250,255, 0, 3, 0, 0, 0,216,108,155, 64,
- 59,255,141,191,189,117, 69,192,195,105,137,232,214,187,255, 0, 3, 0, 0, 0, 85, 27,164, 64,244, 78, 9,192, 87,193,239,191,
-223,111,128,209,183,214,255, 0, 3, 0, 0, 0, 51,206,143, 64,133,250,105,192,119,251, 97, 63,171, 97,203,175, 63, 20,255, 0,
- 3, 0, 0, 0, 62, 32,160, 64,163, 38, 65,192,164,117, 3,191, 20,109,232,189, 63,245,255, 0, 3, 0, 0, 0,130, 79, 99, 63,
-215,182,164,192, 10, 4, 42,192,138, 18,206,143, 66,197,255, 0, 3, 0, 0, 0,161, 86, 3, 64, 14,205,168,192, 60, 55,197,191,
-108, 44,225,140, 1,222,255, 0, 3, 0, 0, 0,134, 35,117, 64, 39,152,138,192, 73, 86,116, 63, 26, 84,254,161,183, 21,255, 0,
- 3, 0, 0, 0, 35,220, 67, 64, 6,218,159,192,242,103,155,190, 16, 67, 41,147,201,249,255, 0, 3, 0, 0, 0,105,179, 10,189,
- 25,185,169,192,120,119, 31,192,179,255,155,140,160,200,255, 0, 3, 0, 0, 0,143,198, 37,191,123,120,183,192,160,108,135,191,
- 16,242,248,130,112,232,255, 0, 3, 0, 0, 0,229,101,215,191, 84,141,168,192, 16, 90,248, 63,245,218,108,141, 97, 43,255, 0,
- 3, 0, 0, 0, 99, 52,155,191,198, 17,183,192,232,199,235, 62, 97,229, 64,131,136, 10,255, 0, 3, 0, 0, 0,121,134,159,192,
- 49,245, 49,192,210,166,169,191,229,146, 14,196, 66,226,255, 0, 3, 0, 0, 0, 52,133,143,192,119,200,113,192,186,206, 29,190,
-236,157,217,173, 66,252,255, 0, 3, 0, 0, 0,180,174, 32,192, 65, 13,155,192,238,167, 8, 64, 9,202, 11,150, 93, 47,255, 0,
- 3, 0, 0, 0, 69,199,104,192,177,135,143,192, 41, 12,132, 63,246,176,246,157,225, 22,255, 0, 3, 0, 0, 0,244,248,117,191,
-109, 90,148, 64,123, 0, 93, 64,248,235,190,101, 7, 75,255, 0, 3, 0, 0, 0,162, 0, 17,192, 63,196,113, 64, 52,239,119, 64,
-246,206,192, 82,112, 84,255, 0, 3, 0, 0, 0,151,133,136,192, 9,249,162, 63,106,219,115, 64, 81,162,209, 26,253, 82,255, 0,
- 3, 0, 0, 0,110,124, 89,192,135, 6, 40, 64,223,195,127, 64,136,181,225, 56, 48, 87,255, 0, 3, 0, 0, 0,162,217, 7, 63,
- 21,117,156, 64,222,238, 75, 64,117, 10,236,106,148, 69,255, 0, 3, 0, 0, 0,171,144, 6, 64,112,158,144, 64,198,241, 69, 64,
-100, 45,201, 98,141, 67,255, 0, 3, 0, 0, 0,110,238,148, 64,115,109, 50, 64,187,197, 13, 64, 86,102, 25, 60,239, 47,255, 0,
- 3, 0, 0, 0, 79,252, 96, 64,140, 40,115, 64,116,165, 48, 64, 30, 77,158, 82, 20, 60,255, 0, 3, 0, 0, 0, 39,143,170, 64,
-167, 15,183, 63,251, 85,252, 63, 39,116, 87, 32,243, 42,255, 0, 3, 0, 0, 0, 8,214,175, 64,177,124, 53,190,206,241, 2, 64,
-233,119,167,252,164, 44,255, 0, 3, 0, 0, 0,238, 85,146, 64,178,205, 78,192, 70, 54,221, 63, 73, 99,122,184,136, 37,255, 0,
- 3, 0, 0, 0, 76,137,167, 64,111, 31,227,191,158, 57,251, 63, 22,114,202,216,197, 42,255, 0, 3, 0, 0, 0,103,243, 95, 64,
-221, 91,138,192,186, 15,236, 63, 86, 77, 37,162,231, 39,255, 0, 3, 0, 0, 0, 46,206, 5, 64,121, 41,159,192,154, 91, 19, 64,
- 26, 46,160,147, 30, 50,255, 0, 3, 0, 0, 0,169,200,139,191,198, 78,163,192,201,146, 42, 64, 9,231,197,144, 50, 58,255, 0,
- 3, 0, 0, 0,187,128, 4, 63,206,181,167,192, 74, 92, 37, 64,199, 10,160,141,111, 56,255, 0, 3, 0, 0, 0,249,158, 27,192,
-197,118,141,192, 58,196, 62, 64,166,203,186,158,166, 64,255, 0, 3, 0, 0, 0, 98,244, 89,192, 8,120, 79,192, 65,128, 96, 64,
-248,181,217,184,105, 76,255, 0, 3, 0, 0, 0, 13,100,144,192,200,214,118,190, 64,205,110, 64, 74,157,219,251, 95, 81,255, 0,
- 3, 0, 0, 0, 42,202,131,192, 60,161,231,191,142,245,112, 64,246,165, 1,217, 47, 82,255, 0, 3, 0, 0, 0,222,179,129,192,
-234,147,224, 62, 38,180,134, 64,173,166,192, 9, 38, 91,255, 0, 3, 0, 0, 0,114,138, 49,192,246, 97, 57, 62, 57, 76,165, 64,
- 6,195, 9, 4,118,112,255, 0, 3, 0, 0, 0, 77,160,160, 62, 9, 20,182,190,108,232,186, 64,248, 7, 15,248,128,127,255, 0,
- 3, 0, 0, 0, 33,144,163,191,151,144,186,189, 50, 47,183, 64,159,228,237,253, 4,125,255, 0, 3, 0, 0, 0, 60, 55,172,189,
- 22, 64,143, 64,164,246,113, 64,229,253,124, 98,185, 81,255, 0, 3, 0, 0, 0,167,173,154, 62,111,224, 83, 64,198,169,154, 64,
-120, 6,167, 72, 45,105,255, 0, 3, 0, 0, 0,149, 51,122, 63, 52,151,163, 62, 15,157,184, 64,138, 21,220, 5, 8,126,255, 0,
- 3, 0, 0, 0, 5,113, 42, 63, 31,112,241, 63, 15,119,176, 64,163, 14,172, 40,121,120,255, 0, 3, 0, 0, 0, 43,192,155, 64,
-151, 6,250, 63,170, 82, 39, 64,177,106, 9, 43, 25, 56,255, 0, 3, 0, 0, 0,233,118,132, 64,217,111,173, 63, 67,122,123, 64,
-156, 90,198, 29, 91, 85,255, 0, 3, 0, 0, 0,151, 16,231, 63,160,166,209,189,167, 95,178, 64,120, 38, 60,253, 11,122,255, 0,
- 3, 0, 0, 0,163,200, 69, 64,178,143, 38, 63,148, 48,158, 64, 13, 67,245, 13, 33,108,255, 0, 3, 0, 0, 0,204, 83,125, 64,
-169, 55,105,192,244,162, 20, 64,184, 86, 10,176,174, 49,255, 0, 3, 0, 0, 0,178,215, 91, 64,222,235, 62,192,190,254,108, 64,
- 41, 75,169,190,101, 80,255, 0, 3, 0, 0, 0,158,156,211, 63,185,228,132,191,190,207,176, 64, 92, 35, 25,234, 12,121,255, 0,
- 3, 0, 0, 0, 0, 76, 41, 64,190,199, 5,192, 83,157,153, 64,110, 57,181,210, 10,105,255, 0, 3, 0, 0, 0,220, 4,199,191,
- 7,145,146,192,104,186, 83, 64,147,221,119,155, 88, 71,255, 0, 3, 0, 0, 0, 9,120, 86,191,149, 91,109,192, 79,242,142, 64,
-123,237,192,174, 38, 97,255, 0, 3, 0, 0, 0,242, 63, 59, 63,210,237,152,191,251, 21,182, 64,131, 16,230,230,107,124,255, 0,
- 3, 0, 0, 0, 86,230, 94,189,198, 30, 35,192,233, 15,169, 64, 18,255,204,200,121,115,255, 0, 3, 0, 0, 0,208, 27, 46,192,
-124,104, 86, 64, 85, 52,126,192,137,197,226, 72,134,168,255, 0, 3, 0, 0, 0, 82,168,234,191, 87, 62,149, 64,118, 12, 67,192,
- 5,217,188,101,210,188,255, 0, 3, 0, 0, 0,186, 10, 16,192,249,106, 52, 64,210,253,147,192,182,206,131, 62,198,155,255, 0,
- 3, 0, 0, 0, 93, 33,240,190,191,199, 71, 64,142, 47,158,192,214,245, 40, 69,199,148,255, 0, 3, 0, 0, 0, 19, 46, 71,187,
-194,240,115, 64,175,166,142,192,240,254,161, 82, 66,158,255, 0, 3, 0, 0, 0,188,194,101,191, 17, 84,154, 64,240,193, 77,192,
- 76,235,214,104,142,185,255, 0, 3, 0, 0, 0,246,246,115,192,183, 86, 15, 64, 51,168,118,192,249,172,229, 47, 45,171,255, 0,
- 3, 0, 0, 0,101, 1,160,192, 47,146,184, 63,153, 38, 45,192,225,146, 96, 30,102,196,255, 0, 3, 0, 0, 0,215,229, 85,192,
-166,178,218, 63,183, 55,144,192, 38,182,133, 37,110,158,255, 0, 3, 0, 0, 0,151,178,104,192,245,107,205,189,175, 60,147,192,
-178,175,205,253, 91,156,255, 0, 3, 0, 0, 0,192, 81,136,192, 55,239, 4,191, 24,222,127,192,130,163,158,245, 35,168,255, 0,
- 3, 0, 0, 0, 70,241,164,192,102,218,251, 62,143, 82, 48,192,222,143,210, 11,110,195,255, 0, 3, 0, 0, 0,209,230,173, 63,
-231,135, 71, 64, 27,234,152,192,148, 29, 4, 67, 11,151,255, 0, 3, 0, 0, 0,158,103, 67, 64, 82,206, 51, 64, 39,168,132,192,
-203, 66, 63, 60,242,164,255, 0, 3, 0, 0, 0,136,131,100, 63, 16, 95, 27, 64, 4,115,168,192,122, 20,138, 53,143,141,255, 0,
- 3, 0, 0, 0, 77,154,217, 63,185, 69, 78, 63,221,196,177,192, 53, 38,236, 17, 42,135,255, 0, 3, 0, 0, 0,107,195, 37, 64,
- 4,213, 36, 63, 20, 33,167,192,151, 55,194, 14,168,141,255, 0, 3, 0, 0, 0,103,139, 94, 64,153,146,250, 63, 72,141,137,192,
- 19, 75,156, 43,245,161,255, 0, 3, 0, 0, 0,231,195, 21, 64,236, 58,101,191,218,178,169,192,247, 49, 31,236,218,139,255, 0,
- 3, 0, 0, 0,142, 32, 48, 64,155,140, 32,192,195, 1,145,192, 3, 59,178,200,204,156,255, 0, 3, 0, 0, 0, 70,155,185, 63,
- 12,202, 59,191,163, 86,180,192,149, 32, 73,239, 91,133,255, 0, 3, 0, 0, 0, 29, 97, 43, 62,144,118, 2,192,125,231,175,192,
-106, 4,160,210,103,136,255, 0, 3, 0, 0, 0, 97,116,196, 62, 10,176, 56,192,120,239,162,192,164, 8, 20,194, 81,144,255, 0,
- 3, 0, 0, 0,185, 2, 5, 64,217,105, 76,192,135,173,142,192,218, 45, 79,187, 56,158,255, 0, 3, 0, 0, 0,163,243,144,191,
-252, 41, 73,192,148, 66,154,192,134,230, 73,188,107,150,255, 0, 3, 0, 0, 0,147,133, 20,192,234, 55,124,192,176, 3,107,192,
-110,204,196,170,164,175,255, 0, 3, 0, 0, 0, 42,186, 60,192,219,128,189,191, 23, 43,155,192, 41,191,189,222,199,150,255, 0,
- 3, 0, 0, 0, 52,164,172,191,106,240, 18,192,141, 58,167,192, 76,226,213,204,128,142,255, 0, 3, 0, 0, 0, 12,171,100,192,
-249, 33,243,191,106,221,135,192,248,178,143,214,143,162,255, 0, 3, 0, 0, 0,195, 78, 74,192,241,206, 96,192, 98, 88, 94,192,
- 4,188, 34,179,129,179,255, 0, 3, 0, 0, 0, 41,110,177,192, 81, 30,186, 63,105,249,158,191,160,134,165, 30, 86,229,255, 0,
- 3, 0, 0, 0, 45,138,172,192,114,149, 17, 64,127,203,200, 62,251,137,171, 48, 56, 9,255, 0, 3, 0, 0, 0, 10, 94,182,192,
- 48, 5, 1, 63, 86, 81,165,191,156,131, 24, 12, 94,228,255, 0, 3, 0, 0, 0,117,224,186,192, 37,234,247,190,147, 56,126, 62,
-132,128,101,246, 46, 6,255, 0, 3, 0, 0, 0,204, 78,184,192, 19,193, 89,189,187,163,141, 63, 22,130,208,254,241, 22,255, 0,
- 3, 0, 0, 0,105,232,174,192,151,187,224, 63,156,183,153, 63,137,136,137, 38, 3, 25,255, 0, 3, 0, 0, 0, 42,118, 68,191,
-101,173,176, 64,114,132,233,191, 57,238,142,120,217,216,255, 0, 3, 0, 0, 0, 81,172,191, 62, 67,208,186, 64,195,163,216,190,
- 75, 7,131,127,159,247,255, 0, 3, 0, 0, 0,113, 2,218,191,172,151,171, 64,114, 25,212,191,243,219,116,117, 30,220,255, 0,
- 3, 0, 0, 0,251,244, 21,192, 28, 12,172, 64, 13,151,128, 61,229,205,196,117,226, 1,255, 0, 3, 0, 0, 0, 51, 39,223,191,
-248, 94,177, 64,104,122, 76, 63,155,217, 3,121, 65, 16,255, 0, 3, 0, 0, 0, 72,208, 28, 61, 91, 13,187, 64, 64,215,245, 62,
-187, 0,168,127, 66, 9,255, 0, 3, 0, 0, 0, 45, 93,142, 64, 70,137, 14, 64,147,202, 70,192,241, 96,173, 49,202,188,255, 0,
- 3, 0, 0, 0,106, 23,173, 64,157,131,182, 63,175,176,225,191, 7,118, 20, 32, 72,218,255, 0, 3, 0, 0, 0, 78,203,128, 64,
-124, 14, 69, 64, 55, 0, 61,192,168, 88, 80, 66,199,191,255, 0, 3, 0, 0, 0,133,175,133, 64, 28,149,121, 64, 51,212,168,191,
- 4, 92, 86, 84,170,227,255, 0, 3, 0, 0, 0, 8,211,149, 64, 84,166, 94, 64, 68, 24, 29,191,221,101, 30, 76,113,241,255, 0,
- 3, 0, 0, 0, 31,169,175, 64,138,176,237, 63, 15,168,103,191,152,119,128, 40, 11,235,255, 0, 3, 0, 0, 0,122, 78, 57, 64,
-224, 12,120,192, 7, 56, 84,192, 62, 64,247,171,239,183,255, 0, 3, 0, 0, 0, 0, 74, 48, 64,245,165,155,192,208, 87,227,191,
- 38, 61, 68,150,192,217,255, 0, 3, 0, 0, 0, 85,108,100, 64,115, 47, 76,192,149,224, 88,192,102, 77, 90,185,131,182,255, 0,
- 3, 0, 0, 0,173,191,150, 64,227,233, 55,192,198,101,254,191,121,102, 79,192, 73,213,255, 0, 3, 0, 0, 0,119, 97,148, 64,
-200, 33, 89,192, 24,225,150,191, 7,101, 44,182, 20,229,255, 0, 3, 0, 0, 0, 75,171, 86, 64, 36, 83,150,192, 22, 36,133,191,
-220, 72,131,153, 32,232,255, 0, 3, 0, 0, 0,116,251, 81,192,115, 80,139,192, 57,124, 10,192, 81,185, 53,160,254,208,255, 0,
- 3, 0, 0, 0, 70,239,122,192, 53,220,138,192,113, 86,227,190, 68,171,132,160,195,246,255, 0, 3, 0, 0, 0, 14, 50, 28,192,
-245, 4,153,192,141, 39, 23,192,187,201,215,151, 33,205,255, 0, 3, 0, 0, 0, 34,123,189,191,203,168,178,192,149,106,130,191,
-209,222, 63,134,158,234,255, 0, 3, 0, 0, 0,176,127,232,191,177,107,178,192, 47,189,236,189, 65,216,100,134, 66,252,255, 0,
- 3, 0, 0, 0, 53,168, 90,192,169, 83,152,192,227,201,133, 62, 29,181, 77,152,136, 4,255, 0, 3, 0, 0, 0,173,191,150,192,
-227,233, 55, 64,198,101,254, 63,135,153,177, 63,183, 42,255, 0, 3, 0, 0, 0, 85,108,100,192,115, 47, 76, 64,149,224, 88, 64,
-154,178,166, 70,125, 73,255, 0, 3, 0, 0, 0,119, 97,148,192,200, 33, 89, 64, 24,225,150, 63,249,154,212, 73,236, 26,255, 0,
- 3, 0, 0, 0, 75,171, 86,192, 36, 83,150, 64, 22, 36,133, 63, 36,183,125,102,224, 23,255, 0, 3, 0, 0, 0, 0, 74, 48,192,
-245,165,155, 64,208, 87,227, 63,218,194,188,105, 64, 38,255, 0, 3, 0, 0, 0,122, 78, 57,192,224, 12,120, 64, 7, 56, 84, 64,
-194,191, 9, 84, 17, 72,255, 0, 3, 0, 0, 0, 34,123,189, 63,203,168,178, 64,149,106,130, 63, 47, 33,193,121, 98, 21,255, 0,
- 3, 0, 0, 0, 14, 50, 28, 64,245, 4,153, 64,141, 39, 23, 64, 69, 54, 41,104,223, 50,255, 0, 3, 0, 0, 0,176,127,232, 63,
-177,107,178, 64, 47,189,236, 61,191, 39,156,121,190, 3,255, 0, 3, 0, 0, 0, 53,168, 90, 64,169, 83,152, 64,227,201,133,190,
-227, 74,179,103,120,251,255, 0, 3, 0, 0, 0, 70,239,122, 64, 53,220,138, 64,113, 86,227, 62,188, 84,124, 95, 61, 9,255, 0,
- 3, 0, 0, 0,116,251, 81, 64,115, 80,139, 64, 57,124, 10, 64,175, 70,203, 95, 2, 47,255, 0, 3, 0, 0, 0,117,224,186, 64,
- 37,234,247, 62,147, 56,126,190,124,127,155, 9,210,249,255, 0, 3, 0, 0, 0, 10, 94,182, 64, 48, 5, 1,191, 86, 81,165, 63,
-100,124,232,243,162, 27,255, 0, 3, 0, 0, 0,204, 78,184, 64, 19,193, 89, 61,187,163,141,191,234,125, 48, 1, 15,233,255, 0,
- 3, 0, 0, 0,105,232,174, 64,151,187,224,191,156,183,153,191,119,119,119,217,253,230,255, 0, 3, 0, 0, 0, 45,138,172, 64,
-114,149, 17,192,127,203,200,190, 5,118, 85,207,200,246,255, 0, 3, 0, 0, 0, 41,110,177, 64, 81, 30,186,191,105,249,158, 63,
- 96,121, 91,225,170, 26,255, 0, 3, 0, 0, 0,251,244, 21, 64, 28, 12,172,192, 13,151,128,189, 27, 50, 60,138, 30,254,255, 0,
- 3, 0, 0, 0,113, 2,218, 63,172,151,171,192,114, 25,212, 63, 13, 36,140,138,226, 35,255, 0, 3, 0, 0, 0, 51, 39,223, 63,
-248, 94,177,192,104,122, 76,191,101, 38,253,134,191,239,255, 0, 3, 0, 0, 0, 72,208, 28,189, 91, 13,187,192, 64,215,245,190,
- 69,255, 88,128,190,246,255, 0, 3, 0, 0, 0, 81,172,191,190, 67,208,186,192,195,163,216, 62,181,248,125,128, 97, 8,255, 0,
- 3, 0, 0, 0, 42,118, 68, 63,101,173,176,192,114,132,233, 63,199, 17,114,135, 39, 39,255, 0, 3, 0, 0, 0,133,175,133,192,
- 28,149,121,192, 51,212,168, 63,252,163,170,171, 86, 28,255, 0, 3, 0, 0, 0, 78,203,128,192,124, 14, 69,192, 55, 0, 61, 64,
- 88,167,176,189, 57, 64,255, 0, 3, 0, 0, 0, 31,169,175,192,138,176,237,191, 15,168,103, 63,104,136,128,215,245, 20,255, 0,
- 3, 0, 0, 0, 8,211,149,192, 84,166, 94,192, 68, 24, 29, 63, 35,154,226,179,143, 14,255, 0, 3, 0, 0, 0,106, 23,173,192,
-157,131,182,191,175,176,225, 63,249,137,236,223,184, 37,255, 0, 3, 0, 0, 0, 45, 93,142,192, 70,137, 14,192,147,202, 70, 64,
- 15,159, 83,206, 54, 67,255, 0, 3, 0, 0, 0,185, 2, 5,192,217,105, 76, 64,135,173,142, 64, 38,210,177, 68,200, 97,255, 0,
- 3, 0, 0, 0, 97,116,196,190, 10,176, 56, 64,120,239,162, 64, 92,247,236, 61,175,111,255, 0, 3, 0, 0, 0,142, 32, 48,192,
-155,140, 32, 64,195, 1,145, 64,253,196, 78, 55, 52, 99,255, 0, 3, 0, 0, 0,231,195, 21,192,236, 58,101, 63,218,178,169, 64,
- 9,206,225, 19, 38,116,255, 0, 3, 0, 0, 0, 70,155,185,191, 12,202, 59, 63,163, 86,180, 64,107,223,183, 16,165,122,255, 0,
- 3, 0, 0, 0, 29, 97, 43,190,144,118, 2, 64,125,231,175, 64,150,251, 96, 45,153,119,255, 0, 3, 0, 0, 0,195, 78, 74, 64,
-241,206, 96, 64, 98, 88, 94, 64,252, 67,222, 76,127, 76,255, 0, 3, 0, 0, 0, 12,171,100, 64,249, 33,243, 63,106,221,135, 64,
- 8, 77,113, 41,113, 93,255, 0, 3, 0, 0, 0,147,133, 20, 64,234, 55,124, 64,176, 3,107, 64,146, 51, 60, 85, 92, 80,255, 0,
- 3, 0, 0, 0,164,243,144, 63,252, 41, 73, 64,148, 66,154, 64,122, 25,183, 67,149,105,255, 0, 3, 0, 0, 0, 52,164,172, 63,
-106,240, 18, 64,141, 58,167, 64,180, 29, 43, 51,128,113,255, 0, 3, 0, 0, 0, 42,186, 60, 64,219,128,189, 63, 23, 43,155, 64,
-215, 64, 67, 33, 57,105,255, 0, 3, 0, 0, 0,101, 1,160, 64, 47,146,184,191,153, 38, 45, 64, 31,109,160,225,154, 59,255, 0,
- 3, 0, 0, 0,246,246,115, 64,183, 86, 15,192, 51,168,118, 64, 7, 83, 27,208,211, 84,255, 0, 3, 0, 0, 0, 70,241,164, 64,
-102,218,251,190,143, 82, 48, 64, 34,112, 46,244,146, 60,255, 0, 3, 0, 0, 0,192, 81,136, 64, 55,239, 4, 63, 24,222,127, 64,
-126, 92, 98, 10,221, 87,255, 0, 3, 0, 0, 0,151,178,104, 64,245,107,205, 61,175, 60,147, 64, 78, 80, 51, 2,165, 99,255, 0,
- 3, 0, 0, 0,215,229, 85, 64,166,178,218,191,183, 55,144, 64,218, 73,123,218,146, 97,255, 0, 3, 0, 0, 0,188,194,101, 63,
- 17, 84,154,192,240,193, 77, 64,180, 20, 42,151,114, 70,255, 0, 3, 0, 0, 0, 19, 46, 71, 59,194,240,115,192,175,166,142, 64,
- 16, 1, 95,173,190, 97,255, 0, 3, 0, 0, 0, 82,168,234, 63, 87, 62,149,192,118, 12, 67, 64,251, 38, 68,154, 46, 67,255, 0,
- 3, 0, 0, 0,208, 27, 46, 64,124,104, 86,192, 85, 52,126, 64,119, 58, 30,183,122, 87,255, 0, 3, 0, 0, 0,186, 10, 16, 64,
-249,106, 52,192,210,253,147, 64, 74, 49,125,193, 58,100,255, 0, 3, 0, 0, 0, 93, 33,240, 62,191,199, 71,192,142, 47,158, 64,
- 42, 10,216,186, 57,107,255, 0, 3, 0, 0, 0,103,139, 94,192,153,146,250,191, 72,141,137, 64,237,180,100,212, 11, 94,255, 0,
- 3, 0, 0, 0,107,195, 37,192, 4,213, 36,191, 20, 33,167, 64,105,200, 62,241, 88,114,255, 0, 3, 0, 0, 0,158,103, 67,192,
- 82,206, 51,192, 39,168,132, 64, 53,189,193,195, 14, 91,255, 0, 3, 0, 0, 0,209,230,173,191,231,135, 71,192, 27,234,152, 64,
-108,226,252,188,245,104,255, 0, 3, 0, 0, 0, 77,154,217,191,185, 69, 78,191,221,196,177, 64,203,217, 20,238,214,120,255, 0,
- 3, 0, 0, 0,136,131,100,191, 16, 95, 27,192, 4,115,168, 64,134,235,118,202,113,114,255, 0, 3, 0, 0, 0,139,220, 37,192,
-245,135,141, 64,114,173, 54,192, 45,199, 95, 96,211,193,255, 0, 3, 0, 0, 0,204,119, 84,192, 93, 73,130, 64,212,107, 38,192,
- 58,183,223, 88,137,199,255, 0, 3, 0, 0, 0,208, 76, 67,192, 62,120,111, 64, 14, 89, 85,192, 80,189,196, 81,140,183,255, 0,
- 3, 0, 0, 0, 68,147,238,191,166,230,100, 64,234, 9,136,192,216,215,130, 78, 59,163,255, 0, 3, 0, 0, 0, 30,149,109,191,
- 40, 18,111, 64,171,100,141,192, 37,235,201, 81,199,159,255, 0, 3, 0, 0, 0,144,237,178,191, 25,136,136, 64,121, 1,113,192,
-117,225,189, 92, 62,173,255, 0, 3, 0, 0, 0,214, 82, 66, 63,128,115,152, 64,164, 25, 85,192,241, 16, 27,104,126,183,255, 0,
- 3, 0, 0, 0,119,155,171,189,138, 40,155, 64,113, 96, 83,192,128,254,196,105,238,183,255, 0, 3, 0, 0, 0, 67,138,194, 62,
-177, 97,138, 64, 75,158,124,192,112, 8,134, 94, 29,170,255, 0, 3, 0, 0, 0,158,106, 94,191,167,106, 30, 64,254,240,167,192,
-229,236,187, 53,105,141,255, 0, 3, 0, 0, 0, 22,114,229,191,193, 96, 20, 64,253,167,162,192, 22,217, 93, 50,244,144,255, 0,
- 3, 0, 0, 0, 45,210,162,191,233,211,224, 63,184, 67,174,192, 69,228,245, 37,244,136,255, 0, 3, 0, 0, 0, 37, 61,152,192,
-230, 9, 14, 64,137,179, 39,192, 85,152,183, 48,226,198,255, 0, 3, 0, 0, 0,232,187,140,192, 6, 96, 62, 64,107,247, 30,192,
- 7,160, 68, 65, 11,202,255, 0, 3, 0, 0, 0,116,134,132,192, 40,130, 40, 64,237,207, 77,192,139,165,149, 57, 30,186,255, 0,
- 3, 0, 0, 0, 12,129,129,192,231,129,173, 63,159,125,128,192, 62,167, 15, 29,123,168,255, 0, 3, 0, 0, 0,254,112,134,192,
-126,146,207, 62,159, 19,130,192, 15,164,119, 9,117,167,255, 0, 3, 0, 0, 0,189,121,149,192,142,192,111, 63, 76, 95, 90,192,
- 95,154,107, 20,236,180,255, 0, 3, 0, 0, 0, 12, 65,162,192, 11, 84,149,191,172,202, 44,192, 60,145, 47,230, 75,197,255, 0,
- 3, 0, 0, 0, 74,120,165,192, 95, 78,167,190,139, 51, 48,192, 54,143,140,248,244,195,255, 0, 3, 0, 0, 0, 61,161,150,192,
-107,221, 89,191,118,113, 89,192, 40,153, 79,237, 35,182,255, 0, 3, 0, 0, 0, 52, 56, 66,192,206, 40,139, 62, 21,116,160,192,
- 13,190, 19, 6,121,146,255, 0, 3, 0, 0, 0,245,120, 56,192,118,213,154, 63, 81,227,158,192, 81,193, 47, 26,133,147,255, 0,
- 3, 0, 0, 0,220,104, 22,192,204,221, 40, 63,115,137,170,192, 16,205, 89, 14,117,139,255, 0, 3, 0, 0, 0,145,143, 39, 64,
-190, 49, 94, 64,165, 27,124,192,238, 56,252, 75, 43,170,255, 0, 3, 0, 0, 0,130,168, 6, 64,190,132,130, 64, 12, 96,105,192,
-226, 45, 91, 89,173,176,255, 0, 3, 0, 0, 0, 76,169,222, 63,205,107,104, 64,150,142,136,192, 23, 38,105, 79, 33,163,255, 0,
- 3, 0, 0, 0,137,207,229, 63, 30, 63, 22, 64,207,235,161,192,198, 39,227, 50,127,145,255, 0, 3, 0, 0, 0,239, 11, 14, 64,
-175,114,191, 63,254,208,166,192,133, 48, 81, 33, 87,142,255, 0, 3, 0, 0, 0,239,222, 43, 64,212,226, 11, 64,227, 71,151,192,
- 33, 58,140, 47, 91,152,255, 0, 3, 0, 0, 0, 0,245,124, 64, 27, 32,187, 62, 57, 6,138,192,138, 86,176, 7, 2,162,255, 0,
- 3, 0, 0, 0, 42, 75,112, 64,228, 42,152, 63, 25, 44,139,192, 0, 82,159, 25, 31,161,255, 0, 3, 0, 0, 0,178,218, 82, 64,
-178,247, 1, 63,211,129,154,192, 35, 72, 4, 11,217,150,255, 0, 3, 0, 0, 0,208,203,104, 63,146, 6,113, 63,108, 5,183,192,
-132, 19,150, 20, 49,131,255, 0, 3, 0, 0, 0, 26, 68,251, 62,111, 38,228, 63,114, 48,178,192,139, 10,158, 38,109,134,255, 0,
- 3, 0, 0, 0,163, 78,149, 61, 65, 25,137, 63,234,102,184,192, 54, 1, 52, 23, 34,130,255, 0, 3, 0, 0, 0, 98,140, 80, 64,
-169,205,238,191, 83, 69,144,192, 70, 71,145,215,173,157,255, 0, 3, 0, 0, 0,177, 39,109, 64,155,213,147,191,238,143,140,192,
- 57, 81,247,230, 77,160,255, 0, 3, 0, 0, 0,100,225, 66, 64,146,191,131,191,152, 18,157,192,178, 66,128,233, 25,149,255, 0,
- 3, 0, 0, 0,190, 24,220, 63,163,163,202,191,160,244,171,192, 99, 37,199,220,196,138,255, 0, 3, 0, 0, 0,227,219,133, 63,
-172, 47, 17,192, 93,160,169,192,126, 23,164,206, 68,140,255, 0, 3, 0, 0, 0, 46,202,247, 63, 23,140, 27,192,116,252,158,192,
-217, 41, 77,203, 32,147,255, 0, 3, 0, 0, 0, 36,220, 68, 63, 24,143,132,192, 20,105,130,192,163, 16, 66,165, 72,167,255, 0,
- 3, 0, 0, 0, 60,255,185, 63,215,244,108,192,129, 7,138,192,113, 31, 11,175,251,161,255, 0, 3, 0, 0, 0,220, 18, 19, 63,
-168,186, 98,192, 66,136,148,192,155, 12,121,178,241,154,255, 0, 3, 0, 0, 0,131,119,172,187,182,209,162,191,170, 73,183,192,
-209,255,144,228,251,130,255, 0, 3, 0, 0, 0,165,230, 40, 63,246,111, 24,191, 50,150,185,192, 19, 14, 18,243,113,129,255, 0,
- 3, 0, 0, 0,123, 45, 50,190,213, 16,230,190,160,240,186,192,231,251,124,246,109,128,255, 0, 3, 0, 0, 0,221, 22,199,191,
- 71,211,134,192, 37,161,113,192, 98,222,255,163,157,173,255, 0, 3, 0, 0, 0,171,131, 58,191, 57,178,140,192,214,174,115,192,
-105,240,201,159, 11,173,255, 0, 3, 0, 0, 0,228,119,112,191, 49, 46,115,192,186,222,139,192,152,235,221,172,217,160,255, 0,
- 3, 0, 0, 0,122, 75,254,191, 18, 36, 50,192, 84, 70,152,192,253,211, 46,195, 87,152,255, 0, 3, 0, 0, 0,190,239, 52,192,
-193,186, 22,192,166,240,145,192,167,194, 3,204,108,156,255, 0, 3, 0, 0, 0, 51, 23, 39,192, 14,245, 76,192,105,248,132,192,
- 29,199,137,186,200,164,255, 0, 3, 0, 0, 0,202,137,140,192, 4,234, 33,192,152,117, 60,192,215,159,216,200, 6,192,255, 0,
- 3, 0, 0, 0, 68,176,115,192, 85, 49, 68,192, 65,173, 79,192,178,172, 81,189, 81,185,255, 0, 3, 0, 0, 0,131,173,128,192,
- 50,170, 14,192,247, 71,105,192, 30,168, 64,207,189,176,255, 0, 3, 0, 0, 0,230, 80, 22,192, 50,155,141,191,108, 95,168,192,
- 3,205, 6,232, 19,141,255, 0, 3, 0, 0, 0, 96,113,194,191,166,184,195,191, 31,160,174,192,205,222,245,222,227,136,255, 0,
- 3, 0, 0, 0,249,244,213,191, 10, 33, 52,191,248, 94,178,192,172,219, 3,241, 48,134,255, 0, 3, 0, 0, 0, 30, 26,167,192,
- 62, 11, 42, 64,199,163,159,190, 45,142, 26, 58,236,248,255, 0, 3, 0, 0, 0, 15,242,157,192,177, 35, 63, 64,242,230,132,191,
-115,148,134, 65, 39,233,255, 0, 3, 0, 0, 0, 58,163,169,192,184,207, 14, 64, 43, 92,148,191,122,140,250, 48,193,230,255, 0,
- 3, 0, 0, 0,241, 83,184,192, 33,241,117, 63,204, 69,248,190, 32,130,245, 20, 22,246,255, 0, 3, 0, 0, 0, 88,178,186,192,
-180, 33,226, 62, 69,211,165, 62,153,128, 65, 10,196, 6,255, 0, 3, 0, 0, 0,100,194,181,192,227, 37,178, 63, 65, 51,191, 62,
-199,131,217, 29,201, 7,255, 0, 3, 0, 0, 0,140, 68,168,192,162,100, 57, 63, 90, 41, 31, 64, 91,141,195, 15,175, 54,255, 0,
- 3, 0, 0, 0,185,114,173,192,147, 11,162, 63,136,131,237, 63,204,137,106, 27,187, 40,255, 0, 3, 0, 0, 0, 90, 82,178,192,
-181, 0,168, 62,125, 64,231, 63,136,134, 78, 7,175, 39,255, 0, 3, 0, 0, 0,235, 52,185,192,191,185, 83,191, 39,176,252,190,
-201,129,211,237,241,244,255, 0, 3, 0, 0, 0, 95,222,182,192,178, 32,161,190, 48, 92,165,191, 90,131,208,248,211,227,255, 0,
- 3, 0, 0, 0, 52,119,179,192,223,204,147,191,116,141,160,191,169,133,113,230,103,228,255, 0, 3, 0, 0, 0,109, 88, 35, 63,
-129,186,182, 64,207, 8,152,191, 5, 14,127,124,202,229,255, 0, 3, 0, 0, 0,226, 54, 99, 63,172,134,174, 64, 96, 98,250,191,
-180, 19,244,118, 14,213,255, 0, 3, 0, 0, 0,150,195, 60, 61, 46,121,177, 64,174, 6,245,191, 84, 1,249,120, 55,214,255, 0,
- 3, 0, 0, 0,228,160,145,191,121, 59,181, 64,246,252,123,191, 63,231,214,123, 42,235,255, 0, 3, 0, 0, 0, 29,166,188,191,
-167,120,181, 64, 4,224,165,189, 81,224,253,123,203,253,255, 0, 3, 0, 0, 0, 26,186, 9,191,104,142,186, 64,128, 74,126,190,
-158,243, 69,127, 88,250,255, 0, 3, 0, 0, 0,179,205, 19,191, 33,145,175, 64,102,151,253, 63,125,243,171,119,167, 43,255, 0,
- 3, 0, 0, 0,163,114,134,190, 81, 94,183, 64, 73,210,157, 63, 40,250,240,124, 49, 27,255, 0, 3, 0, 0, 0,253,217,151,191,
- 90, 89,178, 64,210,246,178, 63, 89,230,146,121,187, 30,255, 0, 3, 0, 0, 0,107,200, 50,192, 4, 21,164, 64,143,252, 18,191,
-229,194,189,111, 58,243,255, 0, 3, 0, 0, 0,219,140, 29,192,164,216,163, 64,163,160,187,191, 2,202,148,111, 27,224,255, 0,
- 3, 0, 0, 0, 8, 63, 76,192,149, 92,152, 64,201, 6,157,191,254,185,184,103, 25,229,255, 0, 3, 0, 0, 0,102, 31,167, 64,
- 18,113,133, 63,122,150, 29,192,214,113,149, 22, 5,202,255, 0, 3, 0, 0, 0,115, 48,157, 64, 74,183, 33, 63, 21,172, 72,192,
- 50,107,106, 13, 91,187,255, 0, 3, 0, 0, 0,250, 48,151, 64,117,157,186, 63,236, 37, 74,192, 41,103,126, 31, 23,187,255, 0,
- 3, 0, 0, 0,118, 31,148, 64,144, 99, 46, 64, 95,237, 21,192,101,101,141, 59,115,205,255, 0, 3, 0, 0, 0, 40,177,150, 64,
-101,250, 73, 64,104,252,189,191, 13,103,113, 68, 39,223,255, 0, 3, 0, 0, 0, 59, 67,164, 64,106,116, 19, 64, 96,145,209,191,
-204,111,223, 50,255,219,255, 0, 3, 0, 0, 0, 9, 99,168, 64,184,173, 32, 64,129, 16, 27, 63,228,114,189, 54,164, 13,255, 0,
- 3, 0, 0, 0,225, 1,174, 64, 65,167, 12, 64,199, 1, 38,190,149,118, 17, 48,195,252,255, 0, 3, 0, 0, 0,172,156,160, 64,
- 23,121, 66, 64,220,253, 53,188,155,109, 25, 66, 0, 0,255, 0, 3, 0, 0, 0,230,184,106, 64,117, 83,133, 64, 76, 95,243,191,
-202, 79,251, 90, 77,214,255, 0, 3, 0, 0, 0,116,166,101, 64, 67,107,111, 64, 69,233, 47,192, 23, 78,219, 81, 34,196,255, 0,
- 3, 0, 0, 0,109, 20, 68, 64,202, 9,139, 64,124,255, 29,192,138, 66, 22, 95, 6,202,255, 0, 3, 0, 0, 0, 46,138, 12, 64,
-195,168,156,192, 99,240, 23,192,172, 47, 54,149,252,203,255, 0, 3, 0, 0, 0,110,189,201, 63, 48, 28,154,192,180,148, 60,192,
- 2, 34,195,150,147,191,255, 0, 3, 0, 0, 0, 21, 55, 17, 64,125, 67,140,192,118, 8, 75,192, 61, 49, 50,160,221,186,255, 0,
- 3, 0, 0, 0, 85,126,100, 64,103,211,114,192,187,176, 43,192, 60, 78,241,172, 2,198,255, 0, 3, 0, 0, 0, 29,112,133, 64,
-168, 45,104,192, 95, 44,249,191,154, 90, 96,176, 48,213,255, 0, 3, 0, 0, 0,192,193, 95, 64,221, 5,138,192, 42,219,239,191,
-181, 76, 61,162,177,214,255, 0, 3, 0, 0, 0, 28, 21,134, 64,185,231,130,192,175,210,133, 62,128, 91,182,166, 33, 6,255, 0,
- 3, 0, 0, 0,128,101,115, 64,106,100,142,192,214,174,205,190, 32, 83, 12,159,127,247,255, 0, 3, 0, 0, 0,187,250,142, 64,
-178,123,113,192, 90,120,242,190, 99, 97,142,173,244,245,255, 0, 3, 0, 0, 0,115, 83,149, 64, 25,118, 24,192, 96, 5, 41,192,
-195,101, 61,204, 36,198,255, 0, 3, 0, 0, 0,236, 97,130, 64,181,248, 34,192, 49,132, 87,192, 17, 89,184,200,144,182,255, 0,
- 3, 0, 0, 0,186,103,144, 64, 91, 9,234,191,150,226, 80,192,152, 98,121,216,152,184,255, 0, 3, 0, 0, 0,208, 74,136,192,
-231,117,121,192, 32,193,133,191,248,162, 42,171,249,232,255, 0, 3, 0, 0, 0, 31, 84,144,192, 24, 19, 87,192, 53, 65,211,191,
- 74,157,248,182,224,219,255, 0, 3, 0, 0, 0, 7, 90,123,192,107,238,121,192,115,227,247,191, 22,170, 1,171,218,213,255, 0,
- 3, 0, 0, 0,161,112, 54,192, 94, 77,156,192,207,107,196,191,198,193, 23,149, 32,223,255, 0, 3, 0, 0, 0, 24, 41, 22,192,
- 1,197,169,192,191, 68, 84,191, 45,204,105,140,172,237,255, 0, 3, 0, 0, 0, 73,243, 75,192, 86, 16,156,192,180,150, 33,191,
-216,186, 63,149,194,241,255, 0, 3, 0, 0, 0,140,246, 19,192,148, 60,166,192, 11, 70,182, 63,164,205,159,142,127, 31,255, 0,
- 3, 0, 0, 0, 17, 21, 58,192,224,209,160,192,103,100, 88, 63,202,192, 72,146,171, 18,255, 0, 3, 0, 0, 0,151,252, 4,192,
- 71, 89,174,192,215, 93, 38, 63,148,210, 55,137,122, 14,255, 0, 3, 0, 0, 0, 53,176,150,191,238,252,174,192, 37,172,226,191,
-114,230,199,136, 20,217,255, 0, 3, 0, 0, 0,225,105,214,191,211,177,161,192,160,229, 29,192,197,219,175,145, 38,202,255, 0,
- 3, 0, 0, 0, 62,213, 88,191,193, 70,167,192,212,217, 32,192,221,237,232,141,230,200,255, 0, 3, 0, 0, 0,236, 97,130,192,
-181,248, 34, 64, 49,132, 87, 64,239,166, 72, 55,112, 73,255, 0, 3, 0, 0, 0,186,103,144,192, 91, 9,234, 63,150,226, 80, 64,
-104,157,135, 39,104, 71,255, 0, 3, 0, 0, 0,115, 83,149,192, 25,118, 24, 64, 96, 5, 41, 64, 61,154,195, 51,220, 57,255, 0,
- 3, 0, 0, 0, 29,112,133,192,168, 45,104, 64, 95, 44,249, 63,102,165,160, 79,208, 42,255, 0, 3, 0, 0, 0,192,193, 95,192,
-221, 5,138, 64, 42,219,239, 63, 75,179,195, 93, 79, 41,255, 0, 3, 0, 0, 0, 85,126,100,192,103,211,114, 64,187,176, 43, 64,
-196,177, 15, 83,254, 57,255, 0, 3, 0, 0, 0,110,189,201,191, 48, 28,154, 64,180,148, 60, 64,254,221, 61,105,109, 64,255, 0,
- 3, 0, 0, 0, 21, 55, 17,192,125, 67,140, 64,118, 8, 75, 64,195,206,206, 95, 35, 69,255, 0, 3, 0, 0, 0, 46,138, 12,192,
-195,168,156, 64, 99,240, 23, 64, 84,208,202,106, 4, 52,255, 0, 3, 0, 0, 0,128,101,115,192,106,100,142, 64,214,174,205, 62,
-224,172,244, 96,129, 8,255, 0, 3, 0, 0, 0,187,250,142,192,178,123,113, 64, 90,120,242, 62,157,158,114, 82, 12, 10,255, 0,
- 3, 0, 0, 0, 28, 21,134,192,185,231,130, 64,175,210,133,190,128,164, 74, 89,223,249,255, 0, 3, 0, 0, 0,225,105,214, 63,
-211,177,161, 64,160,229, 29, 64, 59, 36, 81,110,218, 53,255, 0, 3, 0, 0, 0, 62,213, 88, 63,193, 70,167, 64,212,217, 32, 64,
- 35, 18, 24,114, 26, 55,255, 0, 3, 0, 0, 0, 53,176,150, 63,238,252,174, 64, 37,172,226, 63,142, 25, 57,119,236, 38,255, 0,
- 3, 0, 0, 0, 24, 41, 22, 64, 1,197,169, 64,191, 68, 84, 63,211, 51,151,115, 84, 18,255, 0, 3, 0, 0, 0, 73,243, 75, 64,
- 86, 16,156, 64,180,150, 33, 63, 40, 69,193,106, 62, 14,255, 0, 3, 0, 0, 0,161,112, 54, 64, 94, 77,156, 64,208,107,196, 63,
- 58, 62,233,106,224, 32,255, 0, 3, 0, 0, 0, 31, 84,144, 64, 24, 19, 87, 64, 53, 65,211, 63,182, 98, 8, 73, 32, 36,255, 0,
- 3, 0, 0, 0, 7, 90,123, 64,107,238,121, 64,115,227,247, 63,234, 85,255, 84, 38, 42,255, 0, 3, 0, 0, 0,208, 74,136, 64,
-231,117,121, 64, 32,193,133, 63, 8, 93,214, 84, 7, 23,255, 0, 3, 0, 0, 0, 17, 21, 58, 64,224,209,160, 64,103,100, 88,191,
- 54, 63,184,109, 85,237,255, 0, 3, 0, 0, 0,151,252, 4, 64, 71, 89,174, 64,215, 93, 38,191,108, 45,201,118,134,241,255, 0,
- 3, 0, 0, 0,140,246, 19, 64,148, 60,166, 64, 11, 70,182,191, 92, 50, 97,113,129,224,255, 0, 3, 0, 0, 0, 95,222,182, 64,
-178, 32,161, 62, 48, 92,165, 63,166,124, 48, 7, 45, 28,255, 0, 3, 0, 0, 0, 52,119,179, 64,223,204,147, 63,116,141,160, 63,
- 87,122,143, 25,153, 27,255, 0, 3, 0, 0, 0,235, 52,185, 64,191,185, 83, 63, 39,176,252, 62, 55,126, 45, 18, 15, 11,255, 0,
- 3, 0, 0, 0, 88,178,186, 64,180, 33,226,190, 69,211,165,190,103,127,191,245, 60,249,255, 0, 3, 0, 0, 0,100,194,181, 64,
-227, 37,178,191, 65, 51,191,190, 57,124, 39,226, 55,248,255, 0, 3, 0, 0, 0,241, 83,184, 64, 33,241,117,191,204, 69,248, 62,
-224,125, 11,235,234, 9,255, 0, 3, 0, 0, 0, 15,242,157, 64,177, 35, 63,192,242,230,132, 63,141,107,122,190,217, 22,255, 0,
- 3, 0, 0, 0, 58,163,169, 64,184,207, 14,192, 43, 92,148, 63,134,115, 6,207, 63, 25,255, 0, 3, 0, 0, 0, 30, 26,167, 64,
- 62, 11, 42,192,199,163,159, 62,211,113,230,197, 20, 7,255, 0, 3, 0, 0, 0,185,114,173, 64,147, 11,162,191,136,131,237,191,
- 52,118,150,228, 69,215,255, 0, 3, 0, 0, 0, 90, 82,178, 64,181, 0,168,190,125, 64,231,191,120,121,178,248, 81,216,255, 0,
- 3, 0, 0, 0,140, 68,168, 64,162,100, 57,191, 90, 41, 31,192,165,114, 61,240, 81,201,255, 0, 3, 0, 0, 0,219,140, 29, 64,
-164,216,163,192,163,160,187, 63,254, 53,108,144,229, 31,255, 0, 3, 0, 0, 0, 8, 63, 76, 64,149, 92,152,192,201, 6,157, 63,
- 2, 70, 72,152,231, 26,255, 0, 3, 0, 0, 0,107,200, 50, 64, 4, 21,164,192,143,252, 18, 63, 27, 61, 67,144,198, 12,255, 0,
- 3, 0, 0, 0, 29,166,188, 63,167,120,181,192, 4,224,165, 61,175, 31, 3,132, 53, 2,255, 0, 3, 0, 0, 0, 26,186, 9, 63,
-104,142,186,192,128, 74,126, 62, 98, 12,187,128,168, 5,255, 0, 3, 0, 0, 0,228,160,145, 63,121, 59,181,192,246,252,123, 63,
-193, 24, 42,132,214, 20,255, 0, 3, 0, 0, 0,226, 54, 99,191,172,134,174,192, 96, 98,250, 63, 76,236, 12,137,242, 42,255, 0,
- 3, 0, 0, 0,150,195, 60,189, 46,121,177,192,174, 6,245, 63,172,254, 7,135,201, 41,255, 0, 3, 0, 0, 0,109, 88, 35,191,
-129,186,182,192,207, 8,152, 63,251,241,129,131, 54, 26,255, 0, 3, 0, 0, 0,163,114,134, 62, 81, 94,183,192, 73,210,157,191,
-216, 5, 16,131,207,228,255, 0, 3, 0, 0, 0,253,217,151, 63, 90, 89,178,192,210,246,178,191,167, 25,110,134, 69,225,255, 0,
- 3, 0, 0, 0,179,205, 19, 63, 33,145,175,192,102,151,253,191,131, 12, 85,136, 89,212,255, 0, 3, 0, 0, 0,116,166,101,192,
- 67,107,111,192, 69,233, 47, 64,233,177, 37,174,222, 59,255, 0, 3, 0, 0, 0,109, 20, 68,192,202, 9,139,192,124,255, 29, 64,
-118,189,234,160,250, 53,255, 0, 3, 0, 0, 0,230,184,106,192,117, 83,133,192, 76, 95,243, 63, 54,176, 5,165,179, 41,255, 0,
- 3, 0, 0, 0, 40,177,150,192,101,250, 73,192,104,252,189, 63,243,152,143,187,217, 32,255, 0, 3, 0, 0, 0, 59, 67,164,192,
-106,116, 19,192, 96,145,209, 63, 52,144, 33,205, 1, 36,255, 0, 3, 0, 0, 0,118, 31,148,192,144, 99, 46,192, 95,237, 21, 64,
-155,154,115,196,141, 50,255, 0, 3, 0, 0, 0,115, 48,157,192, 74,183, 33,191, 21,172, 72, 64,206,148,150,242,165, 68,255, 0,
- 3, 0, 0, 0,250, 48,151,192,117,157,186,191,236, 37, 74, 64,215,152,130,224,233, 68,255, 0, 3, 0, 0, 0,102, 31,167,192,
- 18,113,133,191,122,150, 29, 64, 42,142,107,233,251, 53,255, 0, 3, 0, 0, 0,225, 1,174,192, 65,167, 12,192,199, 1, 38, 62,
-107,137,239,207, 61, 3,255, 0, 3, 0, 0, 0,172,156,160,192, 23,121, 66,192,220,253, 53, 60,101,146,231,189, 0, 0,255, 0,
- 3, 0, 0, 0, 9, 99,168,192,184,173, 32,192,129, 16, 27,191, 28,141, 67,201, 92,242,255, 0, 3, 0, 0, 0,220, 18, 19,191,
-168,186, 98, 64, 66,136,148, 64,101,243,135, 77, 15,101,255, 0, 3, 0, 0, 0, 36,220, 68,191, 24,143,132, 64, 20,105,130, 64,
- 93,239,190, 90,184, 88,255, 0, 3, 0, 0, 0, 60,255,185,191,215,244,108, 64,129, 7,138, 64,143,224,245, 80, 5, 94,255, 0,
- 3, 0, 0, 0, 46,202,247,191, 23,140, 27, 64,116,252,158, 64, 39,214,179, 52,224,108,255, 0, 3, 0, 0, 0,190, 24,220,191,
-163,163,202, 63,160,244,171, 64,157,218, 57, 35, 60,117,255, 0, 3, 0, 0, 0,227,219,133,191,172, 47, 17, 64, 93,160,169, 64,
-130,232, 92, 49,188,115,255, 0, 3, 0, 0, 0,123, 45, 50, 62,213, 16,230, 62,160,240,186, 64, 25, 4,132, 9,147,127,255, 0,
- 3, 0, 0, 0,131,119,172, 59,182,209,162, 63,170, 73,183, 64, 47, 0,112, 27, 5,125,255, 0, 3, 0, 0, 0,165,230, 40,191,
-246,111, 24, 63, 50,150,185, 64,237,241,238, 12,143,126,255, 0, 3, 0, 0, 0,100,225, 66,192,146,191,131, 63,152, 18,157, 64,
- 78,189,128, 22,231,106,255, 0, 3, 0, 0, 0, 98,140, 80,192,169,205,238, 63, 83, 69,144, 64,186,184,111, 40, 83, 98,255, 0,
- 3, 0, 0, 0,177, 39,109,192,154,213,147, 63,239,143,140, 64,199,174, 9, 25,179, 95,255, 0, 3, 0, 0, 0,131,173,128, 64,
- 50,170, 14, 64,247, 71,105, 64,226, 87,192, 48, 67, 79,255, 0, 3, 0, 0, 0,202,137,140, 64, 4,234, 33, 64,152,117, 60, 64,
- 41, 96, 40, 55,250, 63,255, 0, 3, 0, 0, 0, 68,176,115, 64, 85, 49, 68, 64, 65,173, 79, 64, 78, 83,175, 66,175, 70,255, 0,
- 3, 0, 0, 0, 51, 23, 39, 64, 14,245, 76, 64,105,248,132, 64,227, 56,119, 69, 56, 91,255, 0, 3, 0, 0, 0,122, 75,254, 63,
- 17, 36, 50, 64, 83, 70,152, 64, 3, 44,210, 60,169,103,255, 0, 3, 0, 0, 0,190,239, 52, 64,193,186, 22, 64,166,240,145, 64,
- 89, 61,253, 51,148, 99,255, 0, 3, 0, 0, 0,249,244,213, 63, 10, 33, 52, 63,248, 94,178, 64, 84, 36,253, 14,208,121,255, 0,
- 3, 0, 0, 0,230, 80, 22, 64, 50,155,141, 63,108, 95,168, 64,253, 50,250, 23,237,114,255, 0, 3, 0, 0, 0, 96,113,194, 63,
-166,184,195, 63, 31,160,174, 64, 51, 33, 11, 33, 29,119,255, 0, 3, 0, 0, 0,228,119,112, 63, 49, 46,115, 64,186,222,139, 64,
-104, 20, 35, 83, 40, 95,255, 0, 3, 0, 0, 0,221, 22,199, 63, 71,211,134, 64, 37,161,113, 64,158, 33, 1, 92, 99, 82,255, 0,
- 3, 0, 0, 0,170,131, 58, 63, 58,178,140, 64,213,174,115, 64,151, 15, 55, 96,245, 82,255, 0, 3, 0, 0, 0,116,134,132, 64,
- 40,130, 40,192,237,207, 77, 64,117, 90,107,198,226, 69,255, 0, 3, 0, 0, 0,232,187,140, 64, 6, 96, 62,192,107,247, 30, 64,
-249, 95,188,190,245, 53,255, 0, 3, 0, 0, 0, 37, 61,152, 64,230, 9, 14,192,137,179, 39, 64,171,103, 73,207, 30, 57,255, 0,
- 3, 0, 0, 0,189,121,149, 64,142,192,111,191, 76, 95, 90, 64,161,101,149,235, 20, 75,255, 0, 3, 0, 0, 0,254,112,134, 64,
-126,146,207,190,159, 19,130, 64,241, 91,137,246,139, 88,255, 0, 3, 0, 0, 0, 12,129,129, 64,231,129,173,191,159,125,128, 64,
-194, 88,241,226,133, 87,255, 0, 3, 0, 0, 0,220,104, 22, 64,204,221, 40,191,115,137,170, 64,240, 50,167,241,139,116,255, 0,
- 3, 0, 0, 0,245,120, 56, 64,118,213,154,191, 81,227,158, 64,175, 62,209,229,123,108,255, 0, 3, 0, 0, 0, 52, 56, 66, 64,
-206, 40,139,190, 21,116,160, 64,243, 65,237,249,135,109,255, 0, 3, 0, 0, 0, 61,161,150, 64,107,221, 89, 63,118,113, 89, 64,
-216,102,177, 18,221, 73,255, 0, 3, 0, 0, 0, 74,120,165, 64, 95, 78,167, 62,139, 51, 48, 64,202,112,116, 7, 12, 60,255, 0,
- 3, 0, 0, 0, 12, 65,162, 64, 11, 84,149, 63,172,202, 44, 64,196,110,209, 25,181, 58,255, 0, 3, 0, 0, 0, 67,138,194,190,
-177, 97,138,192, 75,158,124, 64,144,247,122,161,227, 85,255, 0, 3, 0, 0, 0,214, 82, 66,191,128,115,152,192,164, 25, 85, 64,
- 15,239,229,151,130, 72,255, 0, 3, 0, 0, 0,119,155,171, 61,138, 40,155,192,113, 96, 83, 64,128, 1, 60,150, 18, 72,255, 0,
- 3, 0, 0, 0,144,237,178, 63, 25,136,136,192,121, 1,113, 64,139, 30, 67,163,194, 82,255, 0, 3, 0, 0, 0, 68,147,238, 63,
-166,230,100,192,234, 9,136, 64, 40, 40,126,177,197, 92,255, 0, 3, 0, 0, 0, 30,149,109, 63, 40, 18,111,192,171,100,141, 64,
-219, 20, 55,174, 57, 96,255, 0, 3, 0, 0, 0, 45,210,162, 63,233,211,224,191,184, 67,174, 64,187, 27, 11,218, 12,119,255, 0,
- 3, 0, 0, 0,158,106, 94, 63,167,106, 30,192,254,240,167, 64, 27, 19, 69,202,151,114,255, 0, 3, 0, 0, 0, 22,114,229, 63,
-193, 96, 20,192,253,167,162, 64,234, 38,163,205, 12,111,255, 0, 3, 0, 0, 0,208, 76, 67, 64, 62,120,111,192, 14, 89, 85, 64,
-176, 66, 60,174,116, 72,255, 0, 3, 0, 0, 0,139,220, 37, 64,245,135,141,192,114,173, 54, 64,211, 56,161,159, 45, 62,255, 0,
- 3, 0, 0, 0,204,119, 84, 64, 93, 73,130,192,212,107, 38, 64,198, 72, 33,167,119, 56,255, 0, 3, 0, 0, 0,178,218, 82,192,
-178,247, 1,191,211,129,154, 64,221,183,252,244, 39,105,255, 0, 3, 0, 0, 0, 0,245,124,192, 27, 32,187,190, 57, 6,138, 64,
-118,169, 80,248,254, 93,255, 0, 3, 0, 0, 0, 42, 75,112,192,228, 42,152,191, 25, 44,139, 64, 0,174, 97,230,225, 94,255, 0,
- 3, 0, 0, 0,239,222, 43,192,212,226, 11,192,227, 71,151, 64,223,197,116,208,165,103,255, 0, 3, 0, 0, 0,137,207,229,191,
- 30, 63, 22,192,207,235,161, 64, 58,216, 29,205,129,110,255, 0, 3, 0, 0, 0,239, 11, 14,192,175,114,191,191,254,208,166, 64,
-123,207,175,222,169,113,255, 0, 3, 0, 0, 0,163, 78,149,189, 65, 25,137,191,234,102,184, 64,202,254,204,232,222,125,255, 0,
- 3, 0, 0, 0,208,203,104,191,146, 6,113,191,108, 5,183, 64,124,236,106,235,207,124,255, 0, 3, 0, 0, 0, 26, 68,251,190,
-111, 38,228,191,114, 48,178, 64,117,245, 98,217,147,121,255, 0, 3, 0, 0, 0, 76,169,222,191,205,107,104,192,150,142,136, 64,
-233,217,151,176,223, 92,255, 0, 3, 0, 0, 0,145,143, 39,192,190, 49, 94,192,165, 27,124, 64, 18,199, 4,180,213, 85,255, 0,
- 3, 0, 0, 0,130,168, 6,192,190,132,130,192, 12, 96,105, 64, 30,210,165,166, 83, 79,255, 0, 3, 0, 0, 0, 68, 65, 84, 65,
- 84, 1, 0, 0, 8,181,184, 3, 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,182,184, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 0, 90, 0, 0,144,182,184, 3, 55, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0,162, 0, 0, 0,
- 0, 0, 35, 0, 42, 0, 0, 0,162, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0,163, 0, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,
-163, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0,
- 12, 0, 0, 0,165, 0, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,165, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,166, 0, 0, 0,
- 0, 0, 35, 0, 44, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0,167, 0, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,
-167, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0,
- 13, 0, 0, 0,169, 0, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,169, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,170, 0, 0, 0,
- 0, 0, 35, 0, 46, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,171, 0, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,
-171, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0,
- 14, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,174, 0, 0, 0,
- 0, 0, 35, 0, 48, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,175, 0, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,
-175, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0,
- 15, 0, 0, 0,177, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,177, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,178, 0, 0, 0,
- 0, 0, 35, 0, 50, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,179, 0, 0, 0, 0, 0, 35, 0, 50, 0, 0, 0,
-179, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0,
- 16, 0, 0, 0,181, 0, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,181, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,182, 0, 0, 0,
- 0, 0, 35, 0, 52, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0,183, 0, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,
-183, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0,
- 17, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,186, 0, 0, 0,
- 0, 0, 35, 0, 54, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0,187, 0, 0, 0, 0, 0, 35, 0, 54, 0, 0, 0,
-187, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0,
- 18, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,190, 0, 0, 0,
- 0, 0, 35, 0, 56, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0,191, 0, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0,
-191, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0,
- 19, 0, 0, 0,193, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,193, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,194, 0, 0, 0,
- 0, 0, 35, 0, 58, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0,195, 0, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0,
-195, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,198, 0, 0, 0,
- 0, 0, 35, 0, 60, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0,199, 0, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0,
-199, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0,
- 21, 0, 0, 0,201, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,201, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,202, 0, 0, 0,
- 0, 0, 35, 0, 62, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,203, 0, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0,
-203, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0,
- 22, 0, 0, 0,205, 0, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,205, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,206, 0, 0, 0,
- 0, 0, 35, 0, 64, 0, 0, 0,206, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0, 64, 0, 0, 0,
-207, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0,
- 23, 0, 0, 0,209, 0, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0,209, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,210, 0, 0, 0,
- 0, 0, 35, 0, 66, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0,211, 0, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0,
-211, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0,
- 24, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,214, 0, 0, 0,
- 0, 0, 35, 0, 68, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0,215, 0, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0,
-215, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0,
- 25, 0, 0, 0,217, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,217, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,218, 0, 0, 0,
- 0, 0, 35, 0, 70, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0,219, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,
-219, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0,220, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,220, 0, 0, 0, 0, 0, 35, 0,
- 26, 0, 0, 0,221, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,221, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,222, 0, 0, 0,
- 0, 0, 35, 0, 72, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,223, 0, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0,
-223, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0,
- 27, 0, 0, 0,225, 0, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,225, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,226, 0, 0, 0,
- 0, 0, 35, 0, 74, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,227, 0, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0,
-227, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0,
- 28, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,230, 0, 0, 0,
- 0, 0, 35, 0, 76, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,231, 0, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0,
-231, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0,
- 29, 0, 0, 0,233, 0, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0,233, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,234, 0, 0, 0,
- 0, 0, 35, 0, 78, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,235, 0, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0,
-235, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0,236, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,236, 0, 0, 0, 0, 0, 35, 0,
- 30, 0, 0, 0,237, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,237, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,238, 0, 0, 0,
- 0, 0, 35, 0, 80, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,239, 0, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0,
-239, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0,
- 31, 0, 0, 0,241, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,241, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,242, 0, 0, 0,
- 0, 0, 35, 0, 82, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,243, 0, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0,
-243, 0, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0,
- 32, 0, 0, 0,245, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,245, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,246, 0, 0, 0,
- 0, 0, 35, 0, 84, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,247, 0, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0,
-247, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0,
- 33, 0, 0, 0,249, 0, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0,249, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0,250, 0, 0, 0,
- 0, 0, 35, 0, 86, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,251, 0, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0,
-251, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0,
- 34, 0, 0, 0,253, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0,253, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,254, 0, 0, 0,
- 0, 0, 35, 0, 88, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,255, 0, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0,
-255, 0, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0,
- 35, 0, 0, 0, 1, 1, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, 1, 1, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 2, 1, 0, 0,
- 0, 0, 35, 0, 90, 0, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0, 3, 1, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0,
- 3, 1, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0,
- 36, 0, 0, 0, 5, 1, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 5, 1, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, 6, 1, 0, 0,
- 0, 0, 35, 0, 92, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0, 7, 1, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0,
- 7, 1, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 8, 1, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 8, 1, 0, 0, 0, 0, 35, 0,
- 37, 0, 0, 0, 9, 1, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 9, 1, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 10, 1, 0, 0,
- 0, 0, 35, 0, 94, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0, 11, 1, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0,
- 11, 1, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0,
- 38, 0, 0, 0, 13, 1, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 13, 1, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 14, 1, 0, 0,
- 0, 0, 35, 0, 96, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0, 15, 1, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0,
- 15, 1, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0,
- 39, 0, 0, 0, 17, 1, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, 17, 1, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 1, 0, 0,
- 0, 0, 35, 0, 98, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0, 19, 1, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0,
- 19, 1, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0,
- 40, 0, 0, 0, 21, 1, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0, 21, 1, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 22, 1, 0, 0,
- 0, 0, 35, 0,100, 0, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0, 23, 1, 0, 0, 0, 0, 35, 0,100, 0, 0, 0,
- 23, 1, 0, 0, 0, 0, 35, 0, 11, 0, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0,101, 0, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0,
- 41, 0, 0, 0, 25, 1, 0, 0, 0, 0, 35, 0,101, 0, 0, 0, 25, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 26, 1, 0, 0,
- 0, 0, 35, 0,102, 0, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,
- 27, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0,
- 13, 0, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 30, 1, 0, 0,
- 0, 0, 35, 0,104, 0, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,
- 31, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0,
- 16, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 34, 1, 0, 0,
- 0, 0, 35, 0,106, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 35, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,
- 35, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,
- 16, 0, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 38, 1, 0, 0,
- 0, 0, 35, 0,108, 0, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 39, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,
- 39, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0,
- 17, 0, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 42, 1, 0, 0,
- 0, 0, 35, 0,110, 0, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,
- 43, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 46, 1, 0, 0,
- 0, 0, 35, 0,112, 0, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 47, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,
- 47, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0,
- 20, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 50, 1, 0, 0,
- 0, 0, 35, 0,114, 0, 0, 0, 50, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 51, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,
- 51, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0,
- 19, 0, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 54, 1, 0, 0,
- 0, 0, 35, 0,116, 0, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,
- 55, 1, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0,
- 23, 0, 0, 0, 57, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0, 57, 1, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 58, 1, 0, 0,
- 0, 0, 35, 0,118, 0, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, 59, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,
- 59, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,
- 23, 0, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 62, 1, 0, 0,
- 0, 0, 35, 0,120, 0, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 63, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,
- 63, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0,
- 24, 0, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, 66, 1, 0, 0,
- 0, 0, 35, 0,122, 0, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,
- 67, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0,
- 27, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 70, 1, 0, 0,
- 0, 0, 35, 0,124, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,
- 71, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,
- 27, 0, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 74, 1, 0, 0,
- 0, 0, 35, 0,126, 0, 0, 0, 74, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,
- 75, 1, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0,
- 28, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0, 78, 1, 0, 0,
- 0, 0, 35, 0,128, 0, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,
- 79, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0,
- 31, 0, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 82, 1, 0, 0,
- 0, 0, 35, 0,130, 0, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0,130, 0, 0, 0,
- 83, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,
- 31, 0, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 86, 1, 0, 0,
- 0, 0, 35, 0,132, 0, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0,132, 0, 0, 0,
- 87, 1, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0,
- 24, 0, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, 90, 1, 0, 0,
- 0, 0, 35, 0,134, 0, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0,134, 0, 0, 0,
- 91, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0,
- 33, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 94, 1, 0, 0,
- 0, 0, 35, 0,136, 0, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 95, 1, 0, 0, 0, 0, 35, 0,136, 0, 0, 0,
- 95, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0,
- 33, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0, 98, 1, 0, 0,
- 0, 0, 35, 0,138, 0, 0, 0, 98, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0,138, 0, 0, 0,
- 99, 1, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,100, 1, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,100, 1, 0, 0, 0, 0, 35, 0,
- 28, 0, 0, 0,101, 1, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,101, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,102, 1, 0, 0,
- 0, 0, 35, 0,140, 0, 0, 0,102, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,140, 0, 0, 0,
-103, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0,
- 35, 0, 0, 0,105, 1, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,105, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,106, 1, 0, 0,
- 0, 0, 35, 0,142, 0, 0, 0,106, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,107, 1, 0, 0, 0, 0, 35, 0,142, 0, 0, 0,
-107, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,
- 35, 0, 0, 0,109, 1, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,109, 1, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,110, 1, 0, 0,
- 0, 0, 35, 0,144, 0, 0, 0,110, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,111, 1, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,
-111, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,112, 1, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,112, 1, 0, 0, 0, 0, 35, 0,
- 31, 0, 0, 0,113, 1, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,113, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,114, 1, 0, 0,
- 0, 0, 35, 0,146, 0, 0, 0,114, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,146, 0, 0, 0,
-115, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,
- 38, 0, 0, 0,117, 1, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,117, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,118, 1, 0, 0,
- 0, 0, 35, 0,148, 0, 0, 0,118, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,148, 0, 0, 0,
-119, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,120, 1, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,120, 1, 0, 0, 0, 0, 35, 0,
- 38, 0, 0, 0,121, 1, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,121, 1, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,122, 1, 0, 0,
- 0, 0, 35, 0,150, 0, 0, 0,122, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,123, 1, 0, 0, 0, 0, 35, 0,150, 0, 0, 0,
-123, 1, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,
- 38, 0, 0, 0,125, 1, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,125, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,126, 1, 0, 0,
- 0, 0, 35, 0,152, 0, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,127, 1, 0, 0, 0, 0, 35, 0,152, 0, 0, 0,
-127, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,128, 1, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,128, 1, 0, 0, 0, 0, 35, 0,
- 40, 0, 0, 0,129, 1, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,130, 1, 0, 0,
- 0, 0, 35, 0,154, 0, 0, 0,130, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,131, 1, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,
-131, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,132, 1, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,132, 1, 0, 0, 0, 0, 35, 0,
- 40, 0, 0, 0,133, 1, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,133, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,134, 1, 0, 0,
- 0, 0, 35, 0,156, 0, 0, 0,134, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,135, 1, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,
-135, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,
- 40, 0, 0, 0,137, 1, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,137, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,138, 1, 0, 0,
- 0, 0, 35, 0,158, 0, 0, 0,138, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,139, 1, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,
-139, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,140, 1, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,140, 1, 0, 0, 0, 0, 35, 0,
- 37, 0, 0, 0,141, 1, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,141, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,142, 1, 0, 0,
- 0, 0, 35, 0,160, 0, 0, 0,142, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,
-143, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,
- 41, 0, 0, 0,145, 1, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,145, 1, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,146, 1, 0, 0,
- 0, 0, 35, 0,102, 0, 0, 0,146, 1, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,147, 1, 0, 0, 0, 0, 33, 0, 46, 0, 0, 0,
-147, 1, 0, 0, 0, 0, 33, 0, 43, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,
-102, 0, 0, 0,149, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,149, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,150, 1, 0, 0,
- 0, 0, 35, 0,104, 0, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,151, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,
-151, 1, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,152, 1, 0, 0, 0, 0, 33, 0, 47, 0, 0, 0,152, 1, 0, 0, 0, 0, 33, 0,
- 47, 0, 0, 0,153, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,153, 1, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,154, 1, 0, 0,
- 0, 0, 35, 0,104, 0, 0, 0,154, 1, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,
-155, 1, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,
- 42, 0, 0, 0,157, 1, 0, 0, 0, 0, 33, 0, 44, 0, 0, 0,157, 1, 0, 0, 0, 0, 33, 0, 50, 0, 0, 0,158, 1, 0, 0,
- 0, 0, 35, 0,105, 0, 0, 0,158, 1, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,159, 1, 0, 0, 0, 0, 33, 0, 50, 0, 0, 0,
-159, 1, 0, 0, 0, 0, 33, 0, 43, 0, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,
-105, 0, 0, 0,161, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,161, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,162, 1, 0, 0,
- 0, 0, 35, 0,107, 0, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,163, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0,
-163, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,164, 1, 0, 0, 0, 0, 33, 0, 51, 0, 0, 0,164, 1, 0, 0, 0, 0, 33, 0,
- 51, 0, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0,165, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,166, 1, 0, 0,
- 0, 0, 35, 0,107, 0, 0, 0,166, 1, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,
-167, 1, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,
- 42, 0, 0, 0,169, 1, 0, 0, 0, 0, 33, 0, 48, 0, 0, 0,169, 1, 0, 0, 0, 0, 33, 0, 54, 0, 0, 0,170, 1, 0, 0,
- 0, 0, 35, 0,108, 0, 0, 0,170, 1, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,171, 1, 0, 0, 0, 0, 33, 0, 54, 0, 0, 0,
-171, 1, 0, 0, 0, 0, 33, 0, 45, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,
-108, 0, 0, 0,173, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,173, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,174, 1, 0, 0,
- 0, 0, 35, 0,110, 0, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,175, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,
-175, 1, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,176, 1, 0, 0, 0, 0, 33, 0, 55, 0, 0, 0,176, 1, 0, 0, 0, 0, 33, 0,
- 55, 0, 0, 0,177, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,177, 1, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,178, 1, 0, 0,
- 0, 0, 35, 0,110, 0, 0, 0,178, 1, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,179, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,
-179, 1, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,
- 44, 0, 0, 0,181, 1, 0, 0, 0, 0, 33, 0, 52, 0, 0, 0,181, 1, 0, 0, 0, 0, 33, 0, 58, 0, 0, 0,182, 1, 0, 0,
- 0, 0, 35, 0,111, 0, 0, 0,182, 1, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,183, 1, 0, 0, 0, 0, 33, 0, 58, 0, 0, 0,
-183, 1, 0, 0, 0, 0, 33, 0, 53, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,
-111, 0, 0, 0,185, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,185, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,186, 1, 0, 0,
- 0, 0, 35, 0,113, 0, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,187, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,
-187, 1, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,188, 1, 0, 0, 0, 0, 33, 0, 59, 0, 0, 0,188, 1, 0, 0, 0, 0, 33, 0,
- 59, 0, 0, 0,189, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,189, 1, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,190, 1, 0, 0,
- 0, 0, 35, 0,113, 0, 0, 0,190, 1, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,
-191, 1, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,
- 52, 0, 0, 0,193, 1, 0, 0, 0, 0, 33, 0, 56, 0, 0, 0,193, 1, 0, 0, 0, 0, 33, 0, 60, 0, 0, 0,194, 1, 0, 0,
- 0, 0, 35, 0,114, 0, 0, 0,194, 1, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,195, 1, 0, 0, 0, 0, 33, 0, 60, 0, 0, 0,
-195, 1, 0, 0, 0, 0, 33, 0, 57, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,
-114, 0, 0, 0,197, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,197, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,198, 1, 0, 0,
- 0, 0, 35, 0,116, 0, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,199, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,
-199, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,200, 1, 0, 0, 0, 0, 33, 0, 61, 0, 0, 0,200, 1, 0, 0, 0, 0, 33, 0,
- 61, 0, 0, 0,201, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,201, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,202, 1, 0, 0,
- 0, 0, 35, 0,116, 0, 0, 0,202, 1, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,
-203, 1, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,
- 48, 0, 0, 0,205, 1, 0, 0, 0, 0, 33, 0, 56, 0, 0, 0,205, 1, 0, 0, 0, 0, 33, 0, 64, 0, 0, 0,206, 1, 0, 0,
- 0, 0, 35, 0,117, 0, 0, 0,206, 1, 0, 0, 0, 0, 35, 0, 50, 0, 0, 0,207, 1, 0, 0, 0, 0, 33, 0, 64, 0, 0, 0,
-207, 1, 0, 0, 0, 0, 33, 0, 50, 0, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,
-117, 0, 0, 0,209, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,209, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,210, 1, 0, 0,
- 0, 0, 35, 0,119, 0, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,211, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,
-211, 1, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,212, 1, 0, 0, 0, 0, 33, 0, 65, 0, 0, 0,212, 1, 0, 0, 0, 0, 33, 0,
- 65, 0, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,213, 1, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,214, 1, 0, 0,
- 0, 0, 35, 0,119, 0, 0, 0,214, 1, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,
-215, 1, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,
- 51, 0, 0, 0,217, 1, 0, 0, 0, 0, 33, 0, 62, 0, 0, 0,217, 1, 0, 0, 0, 0, 33, 0, 68, 0, 0, 0,218, 1, 0, 0,
- 0, 0, 35, 0,120, 0, 0, 0,218, 1, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,219, 1, 0, 0, 0, 0, 33, 0, 68, 0, 0, 0,
-219, 1, 0, 0, 0, 0, 33, 0, 47, 0, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,
-120, 0, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,222, 1, 0, 0,
- 0, 0, 35, 0,122, 0, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,
-223, 1, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,224, 1, 0, 0, 0, 0, 33, 0, 69, 0, 0, 0,224, 1, 0, 0, 0, 0, 33, 0,
- 69, 0, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,225, 1, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,226, 1, 0, 0,
- 0, 0, 35, 0,122, 0, 0, 0,226, 1, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,
-227, 1, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,
- 46, 0, 0, 0,229, 1, 0, 0, 0, 0, 33, 0, 66, 0, 0, 0,229, 1, 0, 0, 0, 0, 33, 0, 72, 0, 0, 0,230, 1, 0, 0,
- 0, 0, 35, 0,123, 0, 0, 0,230, 1, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,231, 1, 0, 0, 0, 0, 33, 0, 72, 0, 0, 0,
-231, 1, 0, 0, 0, 0, 33, 0, 55, 0, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,
-123, 0, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,234, 1, 0, 0,
- 0, 0, 35, 0,125, 0, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,
-235, 1, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,236, 1, 0, 0, 0, 0, 33, 0, 73, 0, 0, 0,236, 1, 0, 0, 0, 0, 33, 0,
- 73, 0, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,237, 1, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,238, 1, 0, 0,
- 0, 0, 35, 0,125, 0, 0, 0,238, 1, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,
-239, 1, 0, 0, 0, 0, 35, 0, 54, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,
- 54, 0, 0, 0,241, 1, 0, 0, 0, 0, 33, 0, 70, 0, 0, 0,241, 1, 0, 0, 0, 0, 33, 0, 76, 0, 0, 0,242, 1, 0, 0,
- 0, 0, 35, 0,126, 0, 0, 0,242, 1, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,243, 1, 0, 0, 0, 0, 33, 0, 76, 0, 0, 0,
-243, 1, 0, 0, 0, 0, 33, 0, 59, 0, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,
-126, 0, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,246, 1, 0, 0,
- 0, 0, 35, 0,128, 0, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,247, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,
-247, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,248, 1, 0, 0, 0, 0, 33, 0, 77, 0, 0, 0,248, 1, 0, 0, 0, 0, 33, 0,
- 77, 0, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,249, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,250, 1, 0, 0,
- 0, 0, 35, 0,128, 0, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0,251, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,
-251, 1, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,
- 58, 0, 0, 0,253, 1, 0, 0, 0, 0, 33, 0, 74, 0, 0, 0,253, 1, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0,254, 1, 0, 0,
- 0, 0, 35, 0,129, 0, 0, 0,254, 1, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,255, 1, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0,
-255, 1, 0, 0, 0, 0, 33, 0, 61, 0, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,
-129, 0, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 2, 2, 0, 0,
- 0, 0, 35, 0,131, 0, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0,131, 0, 0, 0,
- 3, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 4, 2, 0, 0, 0, 0, 33, 0, 81, 0, 0, 0, 4, 2, 0, 0, 0, 0, 33, 0,
- 81, 0, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 6, 2, 0, 0,
- 0, 0, 35, 0,131, 0, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0, 7, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0,
- 7, 2, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0,
- 60, 0, 0, 0, 9, 2, 0, 0, 0, 0, 33, 0, 78, 0, 0, 0, 9, 2, 0, 0, 0, 0, 33, 0, 83, 0, 0, 0, 10, 2, 0, 0,
- 0, 0, 35, 0,132, 0, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0, 11, 2, 0, 0, 0, 0, 33, 0, 83, 0, 0, 0,
- 11, 2, 0, 0, 0, 0, 33, 0, 65, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,132, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,
-132, 0, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 14, 2, 0, 0,
- 0, 0, 35, 0,134, 0, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,132, 0, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0,134, 0, 0, 0,
- 15, 2, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0, 16, 2, 0, 0, 0, 0, 33, 0, 82, 0, 0, 0, 16, 2, 0, 0, 0, 0, 33, 0,
- 82, 0, 0, 0, 17, 2, 0, 0, 0, 0, 35, 0,134, 0, 0, 0, 17, 2, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0, 18, 2, 0, 0,
- 0, 0, 35, 0,134, 0, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0,
- 19, 2, 0, 0, 0, 0, 35, 0, 64, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0,
- 64, 0, 0, 0, 21, 2, 0, 0, 0, 0, 33, 0, 66, 0, 0, 0, 21, 2, 0, 0, 0, 0, 33, 0, 84, 0, 0, 0, 22, 2, 0, 0,
- 0, 0, 35, 0,135, 0, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0, 23, 2, 0, 0, 0, 0, 33, 0, 84, 0, 0, 0,
- 23, 2, 0, 0, 0, 0, 33, 0, 69, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,
-135, 0, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 26, 2, 0, 0,
- 0, 0, 35, 0,137, 0, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0,137, 0, 0, 0,
- 27, 2, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0, 28, 2, 0, 0, 0, 0, 33, 0, 85, 0, 0, 0, 28, 2, 0, 0, 0, 0, 33, 0,
- 85, 0, 0, 0, 29, 2, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 29, 2, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0, 30, 2, 0, 0,
- 0, 0, 35, 0,137, 0, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0,
- 31, 2, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0,
- 68, 0, 0, 0, 33, 2, 0, 0, 0, 0, 33, 0, 70, 0, 0, 0, 33, 2, 0, 0, 0, 0, 33, 0, 86, 0, 0, 0, 34, 2, 0, 0,
- 0, 0, 35, 0,138, 0, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0, 35, 2, 0, 0, 0, 0, 33, 0, 86, 0, 0, 0,
- 35, 2, 0, 0, 0, 0, 33, 0, 73, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,
-138, 0, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 38, 2, 0, 0,
- 0, 0, 35, 0,140, 0, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0,140, 0, 0, 0,
- 39, 2, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 40, 2, 0, 0, 0, 0, 33, 0, 87, 0, 0, 0, 40, 2, 0, 0, 0, 0, 33, 0,
- 87, 0, 0, 0, 41, 2, 0, 0, 0, 0, 35, 0,140, 0, 0, 0, 41, 2, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 42, 2, 0, 0,
- 0, 0, 35, 0,140, 0, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,
- 43, 2, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,
- 72, 0, 0, 0, 45, 2, 0, 0, 0, 0, 33, 0, 74, 0, 0, 0, 45, 2, 0, 0, 0, 0, 33, 0, 88, 0, 0, 0, 46, 2, 0, 0,
- 0, 0, 35, 0,141, 0, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0, 47, 2, 0, 0, 0, 0, 33, 0, 88, 0, 0, 0,
- 47, 2, 0, 0, 0, 0, 33, 0, 77, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,141, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,
-141, 0, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 50, 2, 0, 0,
- 0, 0, 35, 0,143, 0, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,141, 0, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,
- 51, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 52, 2, 0, 0, 0, 0, 33, 0, 89, 0, 0, 0, 52, 2, 0, 0, 0, 0, 33, 0,
- 89, 0, 0, 0, 53, 2, 0, 0, 0, 0, 35, 0,143, 0, 0, 0, 53, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 54, 2, 0, 0,
- 0, 0, 35, 0,143, 0, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0,
- 55, 2, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,
- 76, 0, 0, 0, 57, 2, 0, 0, 0, 0, 33, 0, 78, 0, 0, 0, 57, 2, 0, 0, 0, 0, 33, 0, 90, 0, 0, 0, 58, 2, 0, 0,
- 0, 0, 35, 0,144, 0, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0, 59, 2, 0, 0, 0, 0, 33, 0, 90, 0, 0, 0,
- 59, 2, 0, 0, 0, 0, 33, 0, 81, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,144, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,
-144, 0, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 62, 2, 0, 0,
- 0, 0, 35, 0,146, 0, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,144, 0, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,146, 0, 0, 0,
- 63, 2, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0, 64, 2, 0, 0, 0, 0, 33, 0, 91, 0, 0, 0, 64, 2, 0, 0, 0, 0, 33, 0,
- 91, 0, 0, 0, 65, 2, 0, 0, 0, 0, 35, 0,146, 0, 0, 0, 65, 2, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0, 66, 2, 0, 0,
- 0, 0, 35, 0,146, 0, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,
- 67, 2, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,
- 62, 0, 0, 0, 69, 2, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0, 69, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0, 70, 2, 0, 0,
- 0, 0, 35, 0,147, 0, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0, 71, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0,
- 71, 2, 0, 0, 0, 0, 33, 0, 82, 0, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,147, 0, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,
-147, 0, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 74, 2, 0, 0,
- 0, 0, 35, 0,149, 0, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,147, 0, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,
- 75, 2, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 76, 2, 0, 0, 0, 0, 33, 0, 95, 0, 0, 0, 76, 2, 0, 0, 0, 0, 33, 0,
- 95, 0, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0,149, 0, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 78, 2, 0, 0,
- 0, 0, 35, 0,149, 0, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0, 79, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0,
- 79, 2, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,
- 83, 0, 0, 0, 81, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0, 81, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0, 82, 2, 0, 0,
- 0, 0, 35, 0,150, 0, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0, 83, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0,
- 83, 2, 0, 0, 0, 0, 33, 0, 85, 0, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,150, 0, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,
-150, 0, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 86, 2, 0, 0,
- 0, 0, 35, 0,152, 0, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,150, 0, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,152, 0, 0, 0,
- 87, 2, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 88, 2, 0, 0, 0, 0, 33, 0, 97, 0, 0, 0, 88, 2, 0, 0, 0, 0, 33, 0,
- 97, 0, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0,152, 0, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 90, 2, 0, 0,
- 0, 0, 35, 0,152, 0, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0, 91, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,
- 91, 2, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,
- 84, 0, 0, 0, 93, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0, 93, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0, 94, 2, 0, 0,
- 0, 0, 35, 0,153, 0, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0, 95, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0,
- 95, 2, 0, 0, 0, 0, 33, 0, 87, 0, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,153, 0, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,
-153, 0, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0, 98, 2, 0, 0,
- 0, 0, 35, 0,155, 0, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,153, 0, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,
- 99, 2, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0,100, 2, 0, 0, 0, 0, 33, 0, 99, 0, 0, 0,100, 2, 0, 0, 0, 0, 33, 0,
- 99, 0, 0, 0,101, 2, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0,102, 2, 0, 0,
- 0, 0, 35, 0,155, 0, 0, 0,102, 2, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0,103, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,
-103, 2, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,
- 86, 0, 0, 0,105, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0,105, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,106, 2, 0, 0,
- 0, 0, 35, 0,156, 0, 0, 0,106, 2, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0,107, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,
-107, 2, 0, 0, 0, 0, 33, 0, 89, 0, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,
-156, 0, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,110, 2, 0, 0,
- 0, 0, 35, 0,158, 0, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,
-111, 2, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0,112, 2, 0, 0, 0, 0, 33, 0,101, 0, 0, 0,112, 2, 0, 0, 0, 0, 33, 0,
-101, 0, 0, 0,113, 2, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0,114, 2, 0, 0,
- 0, 0, 35, 0,158, 0, 0, 0,114, 2, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0,115, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,
-115, 2, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,
- 88, 0, 0, 0,117, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0,117, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0,118, 2, 0, 0,
- 0, 0, 35, 0,159, 0, 0, 0,118, 2, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0,119, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0,
-119, 2, 0, 0, 0, 0, 33, 0, 91, 0, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,
-159, 0, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,122, 2, 0, 0,
- 0, 0, 35, 0,161, 0, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,
-123, 2, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0,124, 2, 0, 0, 0, 0, 33, 0,101, 0, 0, 0,124, 2, 0, 0, 0, 0, 33, 0,
- 93, 0, 0, 0,125, 2, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,125, 2, 0, 0, 0, 0, 35, 0,101, 0, 0, 0,126, 2, 0, 0,
- 0, 0, 35, 0,161, 0, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,100, 0, 0, 0,127, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,
-127, 2, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,
- 90, 0, 0, 0,129, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,129, 2, 0, 0, 0, 0, 33, 0, 27, 1, 0, 0,146, 1, 0, 0,
- 0, 0, 35, 0,171, 0, 0, 0,146, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0,146, 1, 0, 0,
-147, 1, 0, 0, 0, 0, 35, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,147, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,
-165, 0, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0, 26, 1, 0, 0,148, 1, 0, 0,
- 0, 0, 35, 0,164, 0, 0, 0,147, 1, 0, 0, 0, 0, 35, 0,164, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,
-147, 1, 0, 0, 0, 0, 35, 0, 26, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0, 28, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0,
- 26, 1, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,151, 1, 0, 0,
- 0, 0, 35, 0,150, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0, 27, 1, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0, 31, 1, 0, 0,
-151, 1, 0, 0, 0, 0, 35, 0, 27, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0, 30, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,
- 29, 1, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,152, 1, 0, 0,
- 0, 0, 35, 0,172, 0, 0, 0,152, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0,152, 1, 0, 0,
-153, 1, 0, 0, 0, 0, 35, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,153, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,
-169, 0, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0, 30, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,154, 1, 0, 0,
- 0, 0, 35, 0, 31, 1, 0, 0,153, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,
-153, 1, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,155, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,
-167, 0, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0,157, 1, 0, 0,
- 0, 0, 35, 0,156, 1, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,
-157, 1, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,
-163, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0, 28, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0,158, 1, 0, 0,
- 0, 0, 35, 0,179, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,158, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,
-159, 1, 0, 0, 0, 0, 35, 0,159, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,
-165, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,160, 1, 0, 0,
- 0, 0, 35, 0,164, 0, 0, 0,159, 1, 0, 0, 0, 0, 35, 0,178, 0, 0, 0,159, 1, 0, 0, 0, 0, 35, 0,164, 0, 0, 0,
-178, 0, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0,161, 1, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0,
- 34, 1, 0, 0,161, 1, 0, 0, 0, 0, 35, 0,161, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,162, 1, 0, 0,163, 1, 0, 0,
- 0, 0, 35, 0,161, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0,
-163, 1, 0, 0, 0, 0, 35, 0, 37, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,
- 35, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,164, 1, 0, 0,
- 0, 0, 35, 0,176, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,164, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,
-165, 1, 0, 0, 0, 0, 35, 0,165, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,
-177, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,166, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0,166, 1, 0, 0,
- 0, 0, 35, 0, 37, 1, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,
- 37, 1, 0, 0, 0, 0, 35, 0,175, 0, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,175, 0, 0, 0, 35, 1, 0, 0, 0, 0, 35, 0,
- 35, 1, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,167, 1, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,168, 1, 0, 0,169, 1, 0, 0,
- 0, 0, 35, 0,167, 1, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0,174, 0, 0, 0,
-169, 1, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,
- 34, 1, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0,170, 1, 0, 0,
- 0, 0, 35, 0,187, 0, 0, 0,170, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0, 39, 1, 0, 0, 0, 0, 35, 0,170, 1, 0, 0,
-171, 1, 0, 0, 0, 0, 35, 0,170, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,171, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,
-169, 0, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0,172, 1, 0, 0,
- 0, 0, 35, 0,168, 0, 0, 0,171, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0,186, 0, 0, 0,
-171, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0,173, 1, 0, 0, 0, 0, 35, 0, 40, 1, 0, 0,173, 1, 0, 0, 0, 0, 35, 0,
- 38, 1, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0,173, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,173, 1, 0, 0,175, 1, 0, 0,
- 0, 0, 35, 0,174, 1, 0, 0,175, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0, 43, 1, 0, 0,
-175, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0,175, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,
- 41, 1, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,176, 1, 0, 0,
- 0, 0, 35, 0,188, 0, 0, 0,176, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,
-177, 1, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,177, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,
-185, 0, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,178, 1, 0, 0,
- 0, 0, 35, 0, 43, 1, 0, 0,177, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0,
-177, 1, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,179, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0,179, 1, 0, 0, 0, 0, 35, 0,
-183, 0, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0,179, 1, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,179, 1, 0, 0,181, 1, 0, 0,
- 0, 0, 35, 0,180, 1, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,
-181, 1, 0, 0, 0, 0, 35, 0,182, 0, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,
-167, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0, 40, 1, 0, 0,180, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0,182, 1, 0, 0,
- 0, 0, 35, 0,195, 0, 0, 0,182, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0,182, 1, 0, 0,
-183, 1, 0, 0, 0, 0, 35, 0,182, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,183, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,
-185, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0,184, 1, 0, 0,
- 0, 0, 35, 0,184, 0, 0, 0,183, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,
-183, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0,185, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0,185, 1, 0, 0, 0, 0, 35, 0,
- 44, 1, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,187, 1, 0, 0,
- 0, 0, 35, 0,186, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0, 49, 1, 0, 0,
-187, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,
- 47, 1, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,188, 1, 0, 0,
- 0, 0, 35, 0,196, 0, 0, 0,188, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0,188, 1, 0, 0,
-189, 1, 0, 0, 0, 0, 35, 0,188, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,189, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,
-193, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,190, 1, 0, 0,
- 0, 0, 35, 0, 49, 1, 0, 0,189, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,
-189, 1, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,191, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,
-191, 0, 0, 0, 47, 1, 0, 0, 0, 0, 35, 0,191, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,191, 1, 0, 0,193, 1, 0, 0,
- 0, 0, 35, 0,192, 1, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,182, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,182, 0, 0, 0,
-193, 1, 0, 0, 0, 0, 35, 0,190, 0, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,
-183, 0, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0,194, 1, 0, 0,
- 0, 0, 35, 0,199, 0, 0, 0,194, 1, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 51, 1, 0, 0, 0, 0, 35, 0,194, 1, 0, 0,
-195, 1, 0, 0, 0, 0, 35, 0,194, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,195, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,
-193, 0, 0, 0, 50, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0,196, 1, 0, 0,
- 0, 0, 35, 0,192, 0, 0, 0,195, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,
-195, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0,197, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0,197, 1, 0, 0, 0, 0, 35, 0,
- 50, 1, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0,199, 1, 0, 0,
- 0, 0, 35, 0,198, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0, 55, 1, 0, 0,
-199, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,
- 52, 1, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,200, 1, 0, 0,
- 0, 0, 35, 0,200, 0, 0, 0,200, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0,200, 1, 0, 0,
-201, 1, 0, 0, 0, 0, 35, 0,200, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,201, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,
-177, 0, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,202, 1, 0, 0,
- 0, 0, 35, 0, 55, 1, 0, 0,201, 1, 0, 0, 0, 0, 35, 0,201, 0, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0,201, 0, 0, 0,
-201, 1, 0, 0, 0, 0, 35, 0,175, 0, 0, 0,203, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,
-175, 0, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0,203, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,203, 1, 0, 0,205, 1, 0, 0,
- 0, 0, 35, 0,204, 1, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,174, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,190, 0, 0, 0,
-205, 1, 0, 0, 0, 0, 35, 0,174, 0, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,
-191, 0, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,206, 1, 0, 0,
- 0, 0, 35, 0,207, 0, 0, 0, 57, 1, 0, 0, 0, 0, 35, 0,207, 0, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,206, 1, 0, 0,
-207, 1, 0, 0, 0, 0, 35, 0,207, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,206, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,
-179, 0, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,208, 1, 0, 0,
- 0, 0, 35, 0,178, 0, 0, 0,207, 1, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,207, 1, 0, 0, 0, 0, 35, 0,178, 0, 0, 0,
-206, 0, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0,209, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0,
- 58, 1, 0, 0,209, 1, 0, 0, 0, 0, 35, 0,209, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,210, 1, 0, 0,211, 1, 0, 0,
- 0, 0, 35, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,
-211, 1, 0, 0, 0, 0, 35, 0, 61, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,
- 59, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,204, 0, 0, 0,212, 1, 0, 0,
- 0, 0, 35, 0,204, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0,208, 0, 0, 0,212, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,
-213, 1, 0, 0, 0, 0, 35, 0,213, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,
-205, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,205, 0, 0, 0,214, 1, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0,214, 1, 0, 0,
- 0, 0, 35, 0, 61, 1, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0,
- 61, 1, 0, 0, 0, 0, 35, 0,203, 0, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,203, 0, 0, 0, 59, 1, 0, 0, 0, 0, 35, 0,
- 59, 1, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,215, 1, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,216, 1, 0, 0,217, 1, 0, 0,
- 0, 0, 35, 0,215, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0,202, 0, 0, 0,
-217, 1, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,
- 58, 1, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,218, 1, 0, 0,
- 0, 0, 35, 0,215, 0, 0, 0, 63, 1, 0, 0, 0, 0, 35, 0,215, 0, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,218, 1, 0, 0,
-219, 1, 0, 0, 0, 0, 35, 0,219, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,218, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,
-173, 0, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,220, 1, 0, 0,
- 0, 0, 35, 0,172, 0, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,214, 0, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,172, 0, 0, 0,
-214, 0, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0,221, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0,
- 64, 1, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,221, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,222, 1, 0, 0,223, 1, 0, 0,
- 0, 0, 35, 0,221, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,
-223, 1, 0, 0, 0, 0, 35, 0, 67, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0, 66, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,
- 65, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0,212, 0, 0, 0,224, 1, 0, 0,
- 0, 0, 35, 0,212, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0,216, 0, 0, 0,224, 1, 0, 0, 0, 0, 35, 0,224, 1, 0, 0,
-225, 1, 0, 0, 0, 0, 35, 0,225, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,224, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,
-213, 0, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0,213, 0, 0, 0,226, 1, 0, 0, 0, 0, 35, 0, 66, 1, 0, 0,226, 1, 0, 0,
- 0, 0, 35, 0, 67, 1, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,
- 67, 1, 0, 0, 0, 0, 35, 0,211, 0, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,211, 0, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0,
- 65, 1, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,227, 1, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,228, 1, 0, 0,229, 1, 0, 0,
- 0, 0, 35, 0,227, 1, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,210, 0, 0, 0,
-229, 1, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,
- 64, 1, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0,230, 1, 0, 0,
- 0, 0, 35, 0,223, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0,223, 0, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,
-231, 1, 0, 0, 0, 0, 35, 0,231, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,
-189, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0,232, 1, 0, 0,
- 0, 0, 35, 0,188, 0, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,188, 0, 0, 0,
-222, 0, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0,233, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0,
- 70, 1, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,233, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,234, 1, 0, 0,235, 1, 0, 0,
- 0, 0, 35, 0,233, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0,
-235, 1, 0, 0, 0, 0, 35, 0, 73, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,
- 71, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,220, 0, 0, 0,236, 1, 0, 0,
- 0, 0, 35, 0,220, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,236, 1, 0, 0,
-237, 1, 0, 0, 0, 0, 35, 0,237, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,236, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,
-221, 0, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,221, 0, 0, 0,238, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0,238, 1, 0, 0,
- 0, 0, 35, 0, 73, 1, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,
- 73, 1, 0, 0, 0, 0, 35, 0,219, 0, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,219, 0, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0,
- 71, 1, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,239, 1, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,240, 1, 0, 0,241, 1, 0, 0,
- 0, 0, 35, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,186, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,218, 0, 0, 0,
-241, 1, 0, 0, 0, 0, 35, 0,186, 0, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,
- 70, 1, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0,242, 1, 0, 0,
- 0, 0, 35, 0,231, 0, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0,231, 0, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,242, 1, 0, 0,
-243, 1, 0, 0, 0, 0, 35, 0,243, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,242, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,
-197, 0, 0, 0, 74, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,244, 1, 0, 0,
- 0, 0, 35, 0,196, 0, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,230, 0, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,196, 0, 0, 0,
-230, 0, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0,245, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0,
- 76, 1, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,245, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,246, 1, 0, 0,247, 1, 0, 0,
- 0, 0, 35, 0,245, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0,
-247, 1, 0, 0, 0, 0, 35, 0, 79, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0, 78, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,
- 77, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0, 77, 1, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0,228, 0, 0, 0,248, 1, 0, 0,
- 0, 0, 35, 0,228, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0,232, 0, 0, 0,248, 1, 0, 0, 0, 0, 35, 0,248, 1, 0, 0,
-249, 1, 0, 0, 0, 0, 35, 0,249, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,248, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,
-229, 0, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0,229, 0, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, 78, 1, 0, 0,250, 1, 0, 0,
- 0, 0, 35, 0, 79, 1, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0,
- 79, 1, 0, 0, 0, 0, 35, 0,227, 0, 0, 0,251, 1, 0, 0, 0, 0, 35, 0,227, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0,
- 77, 1, 0, 0,251, 1, 0, 0, 0, 0, 35, 0,251, 1, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,252, 1, 0, 0,253, 1, 0, 0,
- 0, 0, 35, 0,251, 1, 0, 0,253, 1, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,226, 0, 0, 0,
-253, 1, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,253, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,
- 76, 1, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0,254, 1, 0, 0,
- 0, 0, 35, 0,239, 0, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0,239, 0, 0, 0,254, 1, 0, 0, 0, 0, 35, 0,254, 1, 0, 0,
-255, 1, 0, 0, 0, 0, 35, 0,255, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,254, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,
-201, 0, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,201, 0, 0, 0, 0, 2, 0, 0,
- 0, 0, 35, 0,200, 0, 0, 0,255, 1, 0, 0, 0, 0, 35, 0,238, 0, 0, 0,255, 1, 0, 0, 0, 0, 35, 0,200, 0, 0, 0,
-238, 0, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0,
- 82, 1, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0, 1, 2, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0, 2, 2, 0, 0, 3, 2, 0, 0,
- 0, 0, 35, 0, 1, 2, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0,
- 3, 2, 0, 0, 0, 0, 35, 0, 85, 1, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0, 84, 1, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0,
- 83, 1, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0, 83, 1, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 4, 2, 0, 0,
- 0, 0, 35, 0,236, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0,240, 0, 0, 0, 4, 2, 0, 0, 0, 0, 35, 0, 4, 2, 0, 0,
- 5, 2, 0, 0, 0, 0, 35, 0, 5, 2, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 4, 2, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0,
-237, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,237, 0, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 84, 1, 0, 0, 6, 2, 0, 0,
- 0, 0, 35, 0, 85, 1, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0,241, 0, 0, 0,
- 85, 1, 0, 0, 0, 0, 35, 0,235, 0, 0, 0, 7, 2, 0, 0, 0, 0, 35, 0,235, 0, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0,
- 83, 1, 0, 0, 7, 2, 0, 0, 0, 0, 35, 0, 7, 2, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0, 8, 2, 0, 0, 9, 2, 0, 0,
- 0, 0, 35, 0, 7, 2, 0, 0, 9, 2, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,234, 0, 0, 0,
- 9, 2, 0, 0, 0, 0, 35, 0,198, 0, 0, 0, 9, 2, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0,
- 82, 1, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 10, 2, 0, 0,
- 0, 0, 35, 0,245, 0, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0, 10, 2, 0, 0,
- 11, 2, 0, 0, 0, 0, 35, 0, 10, 2, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0, 11, 2, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,
-209, 0, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0, 12, 2, 0, 0,
- 0, 0, 35, 0,208, 0, 0, 0, 11, 2, 0, 0, 0, 0, 35, 0,208, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0,244, 0, 0, 0,
- 11, 2, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0, 88, 1, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0,
- 86, 1, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0, 13, 2, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0, 13, 2, 0, 0, 15, 2, 0, 0,
- 0, 0, 35, 0, 14, 2, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0, 91, 1, 0, 0,
- 15, 2, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0, 90, 1, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,
- 89, 1, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, 89, 1, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,212, 0, 0, 0, 16, 2, 0, 0,
- 0, 0, 35, 0,242, 0, 0, 0, 16, 2, 0, 0, 0, 0, 35, 0,212, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0, 16, 2, 0, 0,
- 17, 2, 0, 0, 0, 0, 35, 0, 16, 2, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0, 17, 2, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,
-213, 0, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, 90, 1, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,213, 0, 0, 0, 18, 2, 0, 0,
- 0, 0, 35, 0, 91, 1, 0, 0, 17, 2, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0,243, 0, 0, 0,
- 17, 2, 0, 0, 0, 0, 35, 0,211, 0, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0, 89, 1, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0,
-211, 0, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 19, 2, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0, 19, 2, 0, 0, 21, 2, 0, 0,
- 0, 0, 35, 0, 20, 2, 0, 0, 21, 2, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,
- 21, 2, 0, 0, 0, 0, 35, 0,210, 0, 0, 0, 21, 2, 0, 0, 0, 0, 35, 0,207, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0,
-207, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0, 88, 1, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 22, 2, 0, 0,
- 0, 0, 35, 0,247, 0, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 22, 2, 0, 0,
- 23, 2, 0, 0, 0, 0, 35, 0, 22, 2, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0, 23, 2, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,
-217, 0, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0, 24, 2, 0, 0,
- 0, 0, 35, 0,216, 0, 0, 0, 23, 2, 0, 0, 0, 0, 35, 0,216, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0,246, 0, 0, 0,
- 23, 2, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0, 94, 1, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0,
- 92, 1, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, 25, 2, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0, 25, 2, 0, 0, 27, 2, 0, 0,
- 0, 0, 35, 0, 26, 2, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, 97, 1, 0, 0,
- 27, 2, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0, 96, 1, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,
- 95, 1, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,220, 0, 0, 0, 28, 2, 0, 0,
- 0, 0, 35, 0,248, 0, 0, 0, 28, 2, 0, 0, 0, 0, 35, 0,220, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0, 28, 2, 0, 0,
- 29, 2, 0, 0, 0, 0, 35, 0, 28, 2, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0, 29, 2, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,
-221, 0, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0, 96, 1, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,221, 0, 0, 0, 30, 2, 0, 0,
- 0, 0, 35, 0, 97, 1, 0, 0, 29, 2, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0,249, 0, 0, 0,
- 29, 2, 0, 0, 0, 0, 35, 0,219, 0, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0,
-219, 0, 0, 0, 95, 1, 0, 0, 0, 0, 35, 0, 31, 2, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0, 31, 2, 0, 0, 33, 2, 0, 0,
- 0, 0, 35, 0, 32, 2, 0, 0, 33, 2, 0, 0, 0, 0, 35, 0,214, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,214, 0, 0, 0,
- 33, 2, 0, 0, 0, 0, 35, 0,218, 0, 0, 0, 33, 2, 0, 0, 0, 0, 35, 0,215, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0,
-215, 0, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, 94, 1, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0, 34, 2, 0, 0,
- 0, 0, 35, 0,251, 0, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0, 34, 2, 0, 0,
- 35, 2, 0, 0, 0, 0, 35, 0, 34, 2, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0, 35, 2, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,
-225, 0, 0, 0, 98, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0, 98, 1, 0, 0, 36, 2, 0, 0,
- 0, 0, 35, 0,224, 0, 0, 0, 35, 2, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0,250, 0, 0, 0,
- 35, 2, 0, 0, 0, 0, 35, 0, 98, 1, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,100, 1, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,
- 98, 1, 0, 0,100, 1, 0, 0, 0, 0, 35, 0, 37, 2, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0, 37, 2, 0, 0, 39, 2, 0, 0,
- 0, 0, 35, 0, 38, 2, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,103, 1, 0, 0,
- 39, 2, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0,102, 1, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,
-101, 1, 0, 0,102, 1, 0, 0, 0, 0, 35, 0,101, 1, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,228, 0, 0, 0, 40, 2, 0, 0,
- 0, 0, 35, 0,252, 0, 0, 0, 40, 2, 0, 0, 0, 0, 35, 0,228, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0, 40, 2, 0, 0,
- 41, 2, 0, 0, 0, 0, 35, 0, 40, 2, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0, 41, 2, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,
-229, 0, 0, 0,102, 1, 0, 0, 0, 0, 35, 0,102, 1, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,229, 0, 0, 0, 42, 2, 0, 0,
- 0, 0, 35, 0,103, 1, 0, 0, 41, 2, 0, 0, 0, 0, 35, 0,253, 0, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,253, 0, 0, 0,
- 41, 2, 0, 0, 0, 0, 35, 0,227, 0, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,101, 1, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,
-227, 0, 0, 0,101, 1, 0, 0, 0, 0, 35, 0, 43, 2, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0, 43, 2, 0, 0, 45, 2, 0, 0,
- 0, 0, 35, 0, 44, 2, 0, 0, 45, 2, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,
- 45, 2, 0, 0, 0, 0, 35, 0,226, 0, 0, 0, 45, 2, 0, 0, 0, 0, 35, 0,223, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,
-223, 0, 0, 0,100, 1, 0, 0, 0, 0, 35, 0,100, 1, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,105, 1, 0, 0, 46, 2, 0, 0,
- 0, 0, 35, 0,255, 0, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,105, 1, 0, 0, 0, 0, 35, 0, 46, 2, 0, 0,
- 47, 2, 0, 0, 0, 0, 35, 0, 46, 2, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0, 47, 2, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,
-233, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,104, 1, 0, 0, 48, 2, 0, 0,
- 0, 0, 35, 0,232, 0, 0, 0, 47, 2, 0, 0, 0, 0, 35, 0,232, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0,254, 0, 0, 0,
- 47, 2, 0, 0, 0, 0, 35, 0,104, 1, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,106, 1, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,
-104, 1, 0, 0,106, 1, 0, 0, 0, 0, 35, 0, 49, 2, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0, 49, 2, 0, 0, 51, 2, 0, 0,
- 0, 0, 35, 0, 50, 2, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,105, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0,109, 1, 0, 0,
- 51, 2, 0, 0, 0, 0, 35, 0,105, 1, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,108, 1, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,
-107, 1, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,107, 1, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 52, 2, 0, 0,
- 0, 0, 35, 0, 0, 1, 0, 0, 52, 2, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, 52, 2, 0, 0,
- 53, 2, 0, 0, 0, 0, 35, 0, 52, 2, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0, 53, 2, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,
-237, 0, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,108, 1, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,237, 0, 0, 0, 54, 2, 0, 0,
- 0, 0, 35, 0,109, 1, 0, 0, 53, 2, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,
- 53, 2, 0, 0, 0, 0, 35, 0,235, 0, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,107, 1, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,
-235, 0, 0, 0,107, 1, 0, 0, 0, 0, 35, 0, 55, 2, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0, 55, 2, 0, 0, 57, 2, 0, 0,
- 0, 0, 35, 0, 56, 2, 0, 0, 57, 2, 0, 0, 0, 0, 35, 0,230, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,230, 0, 0, 0,
- 57, 2, 0, 0, 0, 0, 35, 0,234, 0, 0, 0, 57, 2, 0, 0, 0, 0, 35, 0,231, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,
-231, 0, 0, 0,106, 1, 0, 0, 0, 0, 35, 0,106, 1, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,111, 1, 0, 0, 58, 2, 0, 0,
- 0, 0, 35, 0, 3, 1, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,111, 1, 0, 0, 0, 0, 35, 0, 58, 2, 0, 0,
- 59, 2, 0, 0, 0, 0, 35, 0, 58, 2, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0, 59, 2, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,
-241, 0, 0, 0,110, 1, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,110, 1, 0, 0, 60, 2, 0, 0,
- 0, 0, 35, 0,240, 0, 0, 0, 59, 2, 0, 0, 0, 0, 35, 0,240, 0, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0,
- 59, 2, 0, 0, 0, 0, 35, 0,110, 1, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,113, 1, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,
-110, 1, 0, 0,113, 1, 0, 0, 0, 0, 35, 0, 61, 2, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0, 61, 2, 0, 0, 63, 2, 0, 0,
- 0, 0, 35, 0, 62, 2, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,111, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,115, 1, 0, 0,
- 63, 2, 0, 0, 0, 0, 35, 0,111, 1, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,114, 1, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,
-112, 1, 0, 0,114, 1, 0, 0, 0, 0, 35, 0,112, 1, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,204, 0, 0, 0, 64, 2, 0, 0,
- 0, 0, 35, 0, 4, 1, 0, 0, 64, 2, 0, 0, 0, 0, 35, 0,204, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 64, 2, 0, 0,
- 65, 2, 0, 0, 0, 0, 35, 0, 64, 2, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0, 65, 2, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,
-205, 0, 0, 0,114, 1, 0, 0, 0, 0, 35, 0,114, 1, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,205, 0, 0, 0, 66, 2, 0, 0,
- 0, 0, 35, 0,115, 1, 0, 0, 65, 2, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,
- 65, 2, 0, 0, 0, 0, 35, 0,203, 0, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,112, 1, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,
-203, 0, 0, 0,112, 1, 0, 0, 0, 0, 35, 0, 67, 2, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0, 67, 2, 0, 0, 69, 2, 0, 0,
- 0, 0, 35, 0, 68, 2, 0, 0, 69, 2, 0, 0, 0, 0, 35, 0,202, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0,238, 0, 0, 0,
- 69, 2, 0, 0, 0, 0, 35, 0,202, 0, 0, 0, 69, 2, 0, 0, 0, 0, 35, 0,239, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,
-239, 0, 0, 0,113, 1, 0, 0, 0, 0, 35, 0,113, 1, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,117, 1, 0, 0, 70, 2, 0, 0,
- 0, 0, 35, 0, 11, 1, 0, 0,117, 1, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0, 70, 2, 0, 0,
- 71, 2, 0, 0, 0, 0, 35, 0, 71, 2, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0, 70, 2, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,
-243, 0, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,116, 1, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 72, 2, 0, 0,
- 0, 0, 35, 0,242, 0, 0, 0, 71, 2, 0, 0, 0, 0, 35, 0, 10, 1, 0, 0, 71, 2, 0, 0, 0, 0, 35, 0,242, 0, 0, 0,
- 10, 1, 0, 0, 0, 0, 35, 0,116, 1, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0,116, 1, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,
-118, 1, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0, 73, 2, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0, 74, 2, 0, 0, 75, 2, 0, 0,
- 0, 0, 35, 0, 73, 2, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,117, 1, 0, 0,121, 1, 0, 0, 0, 0, 35, 0,117, 1, 0, 0,
- 75, 2, 0, 0, 0, 0, 35, 0,121, 1, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,120, 1, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,
-119, 1, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,119, 1, 0, 0,120, 1, 0, 0, 0, 0, 35, 0, 8, 1, 0, 0, 76, 2, 0, 0,
- 0, 0, 35, 0, 8, 1, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 12, 1, 0, 0, 76, 2, 0, 0, 0, 0, 35, 0, 76, 2, 0, 0,
- 77, 2, 0, 0, 0, 0, 35, 0, 77, 2, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0, 76, 2, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0,
- 9, 1, 0, 0,120, 1, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0,120, 1, 0, 0, 78, 2, 0, 0,
- 0, 0, 35, 0,121, 1, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0,
-121, 1, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0, 79, 2, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,
-119, 1, 0, 0, 79, 2, 0, 0, 0, 0, 35, 0, 79, 2, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0, 80, 2, 0, 0, 81, 2, 0, 0,
- 0, 0, 35, 0, 79, 2, 0, 0, 81, 2, 0, 0, 0, 0, 35, 0,244, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0,
- 81, 2, 0, 0, 0, 0, 35, 0,244, 0, 0, 0, 81, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,
-118, 1, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,123, 1, 0, 0, 82, 2, 0, 0,
- 0, 0, 35, 0, 15, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0, 82, 2, 0, 0,
- 83, 2, 0, 0, 0, 0, 35, 0, 83, 2, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0, 82, 2, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,
-249, 0, 0, 0,122, 1, 0, 0, 0, 0, 35, 0,122, 1, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 84, 2, 0, 0,
- 0, 0, 35, 0,248, 0, 0, 0, 83, 2, 0, 0, 0, 0, 35, 0, 14, 1, 0, 0, 83, 2, 0, 0, 0, 0, 35, 0,248, 0, 0, 0,
- 14, 1, 0, 0, 0, 0, 35, 0,122, 1, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0,122, 1, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,
-124, 1, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0, 85, 2, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0, 86, 2, 0, 0, 87, 2, 0, 0,
- 0, 0, 35, 0, 85, 2, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,123, 1, 0, 0,127, 1, 0, 0, 0, 0, 35, 0,123, 1, 0, 0,
- 87, 2, 0, 0, 0, 0, 35, 0,127, 1, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,126, 1, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,
-125, 1, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 12, 1, 0, 0, 88, 2, 0, 0,
- 0, 0, 35, 0, 12, 1, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 16, 1, 0, 0, 88, 2, 0, 0, 0, 0, 35, 0, 88, 2, 0, 0,
- 89, 2, 0, 0, 0, 0, 35, 0, 89, 2, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0, 88, 2, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0,
- 13, 1, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0,126, 1, 0, 0, 90, 2, 0, 0,
- 0, 0, 35, 0,127, 1, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0,
-127, 1, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0, 91, 2, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0,125, 1, 0, 0, 0, 0, 35, 0,
-125, 1, 0, 0, 91, 2, 0, 0, 0, 0, 35, 0, 91, 2, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0, 92, 2, 0, 0, 93, 2, 0, 0,
- 0, 0, 35, 0, 91, 2, 0, 0, 93, 2, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 10, 1, 0, 0,
- 93, 2, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, 93, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,
-124, 1, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,129, 1, 0, 0, 94, 2, 0, 0,
- 0, 0, 35, 0, 19, 1, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0, 94, 2, 0, 0,
- 95, 2, 0, 0, 0, 0, 35, 0, 95, 2, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0, 94, 2, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,
-253, 0, 0, 0,128, 1, 0, 0, 0, 0, 35, 0,128, 1, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,253, 0, 0, 0, 96, 2, 0, 0,
- 0, 0, 35, 0,252, 0, 0, 0, 95, 2, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0, 95, 2, 0, 0, 0, 0, 35, 0,252, 0, 0, 0,
- 18, 1, 0, 0, 0, 0, 35, 0,128, 1, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0,128, 1, 0, 0,130, 1, 0, 0, 0, 0, 35, 0,
-130, 1, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0, 97, 2, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0, 98, 2, 0, 0, 99, 2, 0, 0,
- 0, 0, 35, 0, 97, 2, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,129, 1, 0, 0,133, 1, 0, 0, 0, 0, 35, 0,129, 1, 0, 0,
- 99, 2, 0, 0, 0, 0, 35, 0,133, 1, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,132, 1, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,
-131, 1, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,132, 1, 0, 0, 0, 0, 35, 0, 16, 1, 0, 0,100, 2, 0, 0,
- 0, 0, 35, 0, 16, 1, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 20, 1, 0, 0,100, 2, 0, 0, 0, 0, 35, 0,100, 2, 0, 0,
-101, 2, 0, 0, 0, 0, 35, 0,101, 2, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,100, 2, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,
- 17, 1, 0, 0,132, 1, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,132, 1, 0, 0,102, 2, 0, 0,
- 0, 0, 35, 0,133, 1, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,
-133, 1, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0,103, 2, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0,131, 1, 0, 0, 0, 0, 35, 0,
-131, 1, 0, 0,103, 2, 0, 0, 0, 0, 35, 0,103, 2, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,104, 2, 0, 0,105, 2, 0, 0,
- 0, 0, 35, 0,103, 2, 0, 0,105, 2, 0, 0, 0, 0, 35, 0,250, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 14, 1, 0, 0,
-105, 2, 0, 0, 0, 0, 35, 0,250, 0, 0, 0,105, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,
-130, 1, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0,130, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,106, 2, 0, 0,
- 0, 0, 35, 0, 23, 1, 0, 0,135, 1, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,106, 2, 0, 0, 0, 0, 35, 0,106, 2, 0, 0,
-107, 2, 0, 0, 0, 0, 35, 0,107, 2, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,106, 2, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,
- 1, 1, 0, 0,134, 1, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,108, 2, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,108, 2, 0, 0,
- 0, 0, 35, 0, 0, 1, 0, 0,107, 2, 0, 0, 0, 0, 35, 0, 22, 1, 0, 0,107, 2, 0, 0, 0, 0, 35, 0, 0, 1, 0, 0,
- 22, 1, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,
-136, 1, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,109, 2, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,110, 2, 0, 0,111, 2, 0, 0,
- 0, 0, 35, 0,109, 2, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,139, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,
-111, 2, 0, 0, 0, 0, 35, 0,139, 1, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,
-137, 1, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,138, 1, 0, 0, 0, 0, 35, 0, 20, 1, 0, 0,112, 2, 0, 0,
- 0, 0, 35, 0, 20, 1, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, 24, 1, 0, 0,112, 2, 0, 0, 0, 0, 35, 0,112, 2, 0, 0,
-113, 2, 0, 0, 0, 0, 35, 0,113, 2, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,112, 2, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,
- 21, 1, 0, 0,138, 1, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,114, 2, 0, 0,
- 0, 0, 35, 0,139, 1, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,
-139, 1, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0,115, 2, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0,137, 1, 0, 0, 0, 0, 35, 0,
-137, 1, 0, 0,115, 2, 0, 0, 0, 0, 35, 0,115, 2, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,116, 2, 0, 0,117, 2, 0, 0,
- 0, 0, 35, 0,115, 2, 0, 0,117, 2, 0, 0, 0, 0, 35, 0,254, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0,
-117, 2, 0, 0, 0, 0, 35, 0,254, 0, 0, 0,117, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,
-136, 1, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,118, 2, 0, 0,
- 0, 0, 35, 0, 7, 1, 0, 0,141, 1, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0,118, 2, 0, 0, 0, 0, 35, 0,118, 2, 0, 0,
-119, 2, 0, 0, 0, 0, 35, 0,119, 2, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,118, 2, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,
- 5, 1, 0, 0,140, 1, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,120, 2, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,120, 2, 0, 0,
- 0, 0, 35, 0, 4, 1, 0, 0,119, 2, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0,119, 2, 0, 0, 0, 0, 35, 0, 4, 1, 0, 0,
- 6, 1, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,142, 1, 0, 0, 0, 0, 35, 0,
-142, 1, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,121, 2, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,122, 2, 0, 0,123, 2, 0, 0,
- 0, 0, 35, 0,121, 2, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,
-123, 2, 0, 0, 0, 0, 35, 0,144, 1, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,
-143, 1, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,143, 1, 0, 0,145, 1, 0, 0, 0, 0, 35, 0, 24, 1, 0, 0,124, 2, 0, 0,
- 0, 0, 35, 0, 8, 1, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, 8, 1, 0, 0,124, 2, 0, 0, 0, 0, 35, 0,124, 2, 0, 0,
-125, 2, 0, 0, 0, 0, 35, 0,125, 2, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,124, 2, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,
- 25, 1, 0, 0,145, 1, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,126, 2, 0, 0,
- 0, 0, 35, 0,144, 1, 0, 0,125, 2, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0,125, 2, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0,
-144, 1, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,127, 2, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,
-143, 1, 0, 0,127, 2, 0, 0, 0, 0, 35, 0,127, 2, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,128, 2, 0, 0,129, 2, 0, 0,
- 0, 0, 35, 0,127, 2, 0, 0,129, 2, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 22, 1, 0, 0,
-129, 2, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0,129, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,
-142, 1, 0, 0,128, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,142, 1, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,
-192, 16,185, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 18,185, 3, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,118,185, 3, 6, 0, 0, 0, 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, 67,111,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,168, 82,186, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 0,100, 0, 0, 72, 18,185, 3, 54, 0, 0, 0, 0, 5, 0, 0, 27, 1, 0, 0,102, 0, 0, 0,146, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,146, 1, 0, 0,171, 0, 0, 0, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 0, 0, 0,
- 27, 1, 0, 0,171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,171, 0, 0, 0,146, 1, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,147, 1, 0, 0, 46, 0, 0, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 1, 0, 0,148, 1, 0, 0,
-147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 0, 0, 0,147, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-148, 1, 0, 0,146, 1, 0, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 1, 0, 0, 12, 0, 0, 0,165, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,165, 0, 0, 0,148, 1, 0, 0, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 0, 0, 0,
- 26, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 1, 0, 0,165, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,147, 1, 0, 0, 43, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 0, 0, 0,170, 0, 0, 0,
-147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 0, 0, 0,147, 1, 0, 0,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-170, 0, 0, 0,164, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 1, 0, 0,102, 0, 0, 0,149, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,149, 1, 0, 0, 28, 1, 0, 0, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 0, 0, 0,
- 26, 1, 0, 0, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 1, 0, 0,149, 1, 0, 0,103, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,150, 1, 0, 0,103, 0, 0, 0,149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 1, 0, 0,151, 1, 0, 0,
-150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 0, 0, 0,150, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-151, 1, 0, 0,149, 1, 0, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 1, 0, 0, 14, 0, 0, 0, 31, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 31, 1, 0, 0,151, 1, 0, 0, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 0, 0, 0,
- 27, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 1, 0, 0, 31, 1, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,150, 1, 0, 0,104, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 1, 0, 0, 29, 1, 0, 0,
-150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 0, 0, 0,150, 1, 0, 0, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 29, 1, 0, 0, 30, 1, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0, 45, 0, 0, 0,152, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,152, 1, 0, 0,172, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0,
-168, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,172, 0, 0, 0,152, 1, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,153, 1, 0, 0, 47, 0, 0, 0,152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 1, 0, 0,154, 1, 0, 0,
-153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 0, 0, 0,153, 1, 0, 0,154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-154, 1, 0, 0,152, 1, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,169, 0, 0, 0, 13, 0, 0, 0, 30, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 30, 1, 0, 0,154, 1, 0, 0,169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 0, 0, 0,
-169, 0, 0, 0,154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 1, 0, 0, 30, 1, 0, 0,104, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,153, 1, 0, 0,104, 0, 0, 0, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 1, 0, 0,173, 0, 0, 0,
-153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 0, 0, 0,153, 1, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-173, 0, 0, 0, 31, 1, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 0, 0, 0, 44, 0, 0, 0,155, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,155, 1, 0, 0, 29, 1, 0, 0,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 0, 0, 0,
-167, 0, 0, 0, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 1, 0, 0,155, 1, 0, 0,103, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,156, 1, 0, 0,103, 0, 0, 0,155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 1, 0, 0,157, 1, 0, 0,
-156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 0, 0, 0,156, 1, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-157, 1, 0, 0,155, 1, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,166, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,162, 0, 0, 0,157, 1, 0, 0,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 0, 0, 0,
-166, 0, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 1, 0, 0,162, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,156, 1, 0, 0, 42, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,163, 0, 0, 0, 28, 1, 0, 0,
-156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 0, 0, 0,156, 1, 0, 0, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 28, 1, 0, 0,163, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 1, 0, 0,105, 0, 0, 0, 33, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 33, 1, 0, 0,179, 0, 0, 0,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 0, 0, 0,
-158, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,179, 0, 0, 0, 33, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,158, 1, 0, 0, 50, 0, 0, 0,159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 1, 0, 0,160, 1, 0, 0,
-158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 0, 0, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-160, 1, 0, 0,159, 1, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 0, 0, 0, 12, 0, 0, 0, 32, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 32, 1, 0, 0,160, 1, 0, 0,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 0, 0, 0,
-165, 0, 0, 0,160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 1, 0, 0, 32, 1, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,164, 0, 0, 0, 43, 0, 0, 0,159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 1, 0, 0,178, 0, 0, 0,
-164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0,164, 0, 0, 0,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-178, 0, 0, 0,159, 1, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 1, 0, 0,105, 0, 0, 0, 32, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 32, 1, 0, 0, 34, 1, 0, 0,161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 0, 0, 0,
-161, 1, 0, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 1, 0, 0, 32, 1, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,161, 1, 0, 0,106, 0, 0, 0,162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 1, 0, 0,163, 1, 0, 0,
-161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 0, 0, 0,161, 1, 0, 0,163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-163, 1, 0, 0,162, 1, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 1, 0, 0, 16, 0, 0, 0, 33, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 33, 1, 0, 0,163, 1, 0, 0, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0,
- 37, 1, 0, 0,163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,163, 1, 0, 0, 33, 1, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 36, 1, 0, 0,107, 0, 0, 0,162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 1, 0, 0, 35, 1, 0, 0,
- 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 0, 0, 0, 36, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 35, 1, 0, 0,162, 1, 0, 0,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 1, 0, 0, 49, 0, 0, 0,176, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,176, 0, 0, 0,180, 0, 0, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0,
-164, 1, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,180, 0, 0, 0,176, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,164, 1, 0, 0, 51, 0, 0, 0,165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 1, 0, 0,166, 1, 0, 0,
-164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 0, 0, 0,164, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-166, 1, 0, 0,165, 1, 0, 0,107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 1, 0, 0, 15, 0, 0, 0,177, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,177, 0, 0, 0,166, 1, 0, 0, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0,
- 36, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,166, 1, 0, 0,177, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 37, 1, 0, 0,107, 0, 0, 0,165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 1, 0, 0,181, 0, 0, 0,
- 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 16, 0, 0, 0, 37, 1, 0, 0,181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-181, 0, 0, 0,165, 1, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 1, 0, 0, 48, 0, 0, 0,175, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,175, 0, 0, 0, 35, 1, 0, 0,167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 0, 0, 0,
-167, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 1, 0, 0,175, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,167, 1, 0, 0,106, 0, 0, 0,168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 1, 0, 0,169, 1, 0, 0,
-167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 0, 0, 0,167, 1, 0, 0,169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-169, 1, 0, 0,168, 1, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 0, 0, 0, 0, 0, 0, 0,174, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,174, 0, 0, 0,169, 1, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 0, 0, 0,
-162, 0, 0, 0,169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,169, 1, 0, 0,174, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,163, 0, 0, 0, 42, 0, 0, 0,168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 1, 0, 0, 34, 1, 0, 0,
-163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 0, 0, 0,163, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 34, 1, 0, 0,168, 1, 0, 0,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 1, 0, 0,108, 0, 0, 0,170, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,170, 1, 0, 0,187, 0, 0, 0, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 0, 0, 0,
- 39, 1, 0, 0,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,187, 0, 0, 0,170, 1, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,171, 1, 0, 0, 54, 0, 0, 0,170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,170, 1, 0, 0,172, 1, 0, 0,
-171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 0, 0, 0,171, 1, 0, 0,172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-172, 1, 0, 0,170, 1, 0, 0,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 1, 0, 0, 13, 0, 0, 0,169, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,169, 0, 0, 0,172, 1, 0, 0, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 0, 0, 0,
- 38, 1, 0, 0,172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,172, 1, 0, 0,169, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,171, 1, 0, 0, 45, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0,186, 0, 0, 0,
-171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 0, 0, 0,171, 1, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-186, 0, 0, 0,168, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 1, 0, 0,108, 0, 0, 0,173, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,173, 1, 0, 0, 40, 1, 0, 0, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 0, 0, 0,
- 38, 1, 0, 0, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 1, 0, 0,173, 1, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,174, 1, 0, 0,109, 0, 0, 0,173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,173, 1, 0, 0,175, 1, 0, 0,
-174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 0, 0, 0,174, 1, 0, 0,175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-175, 1, 0, 0,173, 1, 0, 0,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 1, 0, 0, 18, 0, 0, 0, 43, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 43, 1, 0, 0,175, 1, 0, 0, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 0, 0, 0,
- 39, 1, 0, 0,175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,175, 1, 0, 0, 43, 1, 0, 0,110, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,174, 1, 0, 0,110, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 1, 0, 0, 41, 1, 0, 0,
-174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 0, 0, 0,174, 1, 0, 0, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 41, 1, 0, 0, 42, 1, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 0, 0, 0, 53, 0, 0, 0,176, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,176, 1, 0, 0,188, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0,
-184, 0, 0, 0,188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,188, 0, 0, 0,176, 1, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,177, 1, 0, 0, 55, 0, 0, 0,176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,176, 1, 0, 0,178, 1, 0, 0,
-177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 0, 0, 0,177, 1, 0, 0,178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-178, 1, 0, 0,176, 1, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,185, 0, 0, 0, 17, 0, 0, 0, 42, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 42, 1, 0, 0,178, 1, 0, 0,185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 0, 0, 0,
-185, 0, 0, 0,178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,178, 1, 0, 0, 42, 1, 0, 0,110, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,177, 1, 0, 0,110, 0, 0, 0, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 1, 0, 0,189, 0, 0, 0,
-177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 0, 0, 0,177, 1, 0, 0,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-189, 0, 0, 0, 43, 1, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 0, 0, 0, 52, 0, 0, 0,179, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,179, 1, 0, 0, 41, 1, 0, 0,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 0, 0, 0,
-183, 0, 0, 0, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 1, 0, 0,179, 1, 0, 0,109, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,180, 1, 0, 0,109, 0, 0, 0,179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,179, 1, 0, 0,181, 1, 0, 0,
-180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 0, 0, 0,180, 1, 0, 0,181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-181, 1, 0, 0,179, 1, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,182, 0, 0, 0, 0, 0, 0, 0,166, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,166, 0, 0, 0,181, 1, 0, 0,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 0, 0, 0,
-182, 0, 0, 0,181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,181, 1, 0, 0,166, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,180, 1, 0, 0, 44, 0, 0, 0,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 0, 0, 0, 40, 1, 0, 0,
-180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 0, 0, 0,180, 1, 0, 0, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 40, 1, 0, 0,167, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 1, 0, 0,111, 0, 0, 0,182, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,182, 1, 0, 0,195, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 0, 0, 0,
- 45, 1, 0, 0,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,195, 0, 0, 0,182, 1, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,183, 1, 0, 0, 58, 0, 0, 0,182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,182, 1, 0, 0,184, 1, 0, 0,
-183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 0, 0, 0,183, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-184, 1, 0, 0,182, 1, 0, 0,111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0, 17, 0, 0, 0,185, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,185, 0, 0, 0,184, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0,
- 44, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 1, 0, 0,185, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,183, 1, 0, 0, 53, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 0, 0, 0,194, 0, 0, 0,
-183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 0, 0, 0,183, 1, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-194, 0, 0, 0,184, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0,111, 0, 0, 0,185, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,185, 1, 0, 0, 46, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 0, 0, 0,
- 44, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 1, 0, 0,185, 1, 0, 0,112, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,186, 1, 0, 0,112, 0, 0, 0,185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,185, 1, 0, 0,187, 1, 0, 0,
-186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 0, 0, 0,186, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-187, 1, 0, 0,185, 1, 0, 0,111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 1, 0, 0, 20, 0, 0, 0, 49, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 49, 1, 0, 0,187, 1, 0, 0, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0,
- 45, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,187, 1, 0, 0, 49, 1, 0, 0,113, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,186, 1, 0, 0,113, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 1, 0, 0, 47, 1, 0, 0,
-186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 0, 0, 0,186, 1, 0, 0, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 47, 1, 0, 0, 48, 1, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 0, 0, 0, 57, 0, 0, 0,188, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,188, 1, 0, 0,196, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0,
-192, 0, 0, 0,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,196, 0, 0, 0,188, 1, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,189, 1, 0, 0, 59, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,188, 1, 0, 0,190, 1, 0, 0,
-189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 0, 0, 0,189, 1, 0, 0,190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-190, 1, 0, 0,188, 1, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,193, 0, 0, 0, 19, 0, 0, 0, 48, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 48, 1, 0, 0,190, 1, 0, 0,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 0, 0, 0,
-193, 0, 0, 0,190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,190, 1, 0, 0, 48, 1, 0, 0,113, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,189, 1, 0, 0,113, 0, 0, 0, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 1, 0, 0,197, 0, 0, 0,
-189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 0, 0, 0,189, 1, 0, 0,197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-197, 0, 0, 0, 49, 1, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0, 56, 0, 0, 0,191, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,191, 1, 0, 0, 47, 1, 0, 0,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 0, 0, 0,
-191, 0, 0, 0, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 1, 0, 0,191, 1, 0, 0,112, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,192, 1, 0, 0,112, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 1, 0, 0,193, 1, 0, 0,
-192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 0, 0, 0,192, 1, 0, 0,193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-193, 1, 0, 0,191, 1, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,190, 0, 0, 0, 0, 0, 0, 0,182, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,182, 0, 0, 0,193, 1, 0, 0,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 56, 0, 0, 0,
-190, 0, 0, 0,193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,193, 1, 0, 0,182, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,192, 1, 0, 0, 52, 0, 0, 0,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 0, 0, 0, 46, 1, 0, 0,
-192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 0, 0, 0,192, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 46, 1, 0, 0,183, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 1, 0, 0,114, 0, 0, 0,194, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,194, 1, 0, 0,199, 0, 0, 0, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 0, 0, 0,
- 51, 1, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0,194, 1, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,195, 1, 0, 0, 60, 0, 0, 0,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,194, 1, 0, 0,196, 1, 0, 0,
-195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 0, 0, 0,195, 1, 0, 0,196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-196, 1, 0, 0,194, 1, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 1, 0, 0, 19, 0, 0, 0,193, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,193, 0, 0, 0,196, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 0, 0, 0,
- 50, 1, 0, 0,196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,196, 1, 0, 0,193, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,195, 1, 0, 0, 57, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 0, 0, 0,198, 0, 0, 0,
-195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0,195, 1, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-198, 0, 0, 0,192, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 1, 0, 0,114, 0, 0, 0,197, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,197, 1, 0, 0, 53, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 0, 0, 0,
- 50, 1, 0, 0, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 1, 0, 0,197, 1, 0, 0,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,198, 1, 0, 0,115, 0, 0, 0,197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 1, 0, 0,199, 1, 0, 0,
-198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 0, 0, 0,198, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-199, 1, 0, 0,197, 1, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 1, 0, 0, 21, 0, 0, 0, 55, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,199, 1, 0, 0, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 0, 0, 0,
- 51, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 1, 0, 0, 55, 1, 0, 0,116, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,198, 1, 0, 0,116, 0, 0, 0, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 1, 0, 0, 52, 1, 0, 0,
-198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 0, 0, 0,198, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 52, 1, 0, 0, 54, 1, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,176, 0, 0, 0, 49, 0, 0, 0,200, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,200, 1, 0, 0,200, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 0,
-176, 0, 0, 0,200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,200, 0, 0, 0,200, 1, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,201, 1, 0, 0, 61, 0, 0, 0,200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,200, 1, 0, 0,202, 1, 0, 0,
-201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 0, 0, 0,201, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-202, 1, 0, 0,200, 1, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,177, 0, 0, 0, 15, 0, 0, 0, 54, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 54, 1, 0, 0,202, 1, 0, 0,177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 0, 0, 0,
-177, 0, 0, 0,202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,202, 1, 0, 0, 54, 1, 0, 0,116, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,201, 1, 0, 0,116, 0, 0, 0, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,201, 0, 0, 0,
-201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 0, 0, 0,201, 1, 0, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-201, 0, 0, 0, 55, 1, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,175, 0, 0, 0, 48, 0, 0, 0,203, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,203, 1, 0, 0, 52, 1, 0, 0,175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 0, 0, 0,
-175, 0, 0, 0, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 1, 0, 0,203, 1, 0, 0,115, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,204, 1, 0, 0,115, 0, 0, 0,203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,203, 1, 0, 0,205, 1, 0, 0,
-204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 56, 0, 0, 0,204, 1, 0, 0,205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-205, 1, 0, 0,203, 1, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,174, 0, 0, 0, 0, 0, 0, 0,190, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,190, 0, 0, 0,205, 1, 0, 0,174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 0, 0, 0,
-174, 0, 0, 0,205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,205, 1, 0, 0,190, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,204, 1, 0, 0, 56, 0, 0, 0,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0, 53, 1, 0, 0,
-204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 0, 0, 0,204, 1, 0, 0, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 53, 1, 0, 0,191, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,206, 1, 0, 0,117, 0, 0, 0, 57, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0,207, 0, 0, 0,206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 0, 0, 0,
-206, 1, 0, 0,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 57, 1, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,206, 1, 0, 0, 64, 0, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,208, 1, 0, 0,
-206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,117, 0, 0, 0,206, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-208, 1, 0, 0,207, 1, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,179, 0, 0, 0, 16, 0, 0, 0, 56, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 56, 1, 0, 0,208, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 0, 0, 0,
-179, 0, 0, 0,208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,208, 1, 0, 0, 56, 1, 0, 0,117, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,178, 0, 0, 0, 50, 0, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,206, 0, 0, 0,
-178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0,178, 0, 0, 0,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-206, 0, 0, 0,207, 1, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,209, 1, 0, 0,117, 0, 0, 0, 56, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 56, 1, 0, 0, 58, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 0, 0, 0,
-209, 1, 0, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 1, 0, 0, 56, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,209, 1, 0, 0,118, 0, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 1, 0, 0,211, 1, 0, 0,
-209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,117, 0, 0, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-211, 1, 0, 0,210, 1, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 1, 0, 0, 23, 0, 0, 0, 57, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 57, 1, 0, 0,211, 1, 0, 0, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 0, 0, 0,
- 61, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,211, 1, 0, 0, 57, 1, 0, 0,117, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 60, 1, 0, 0,119, 0, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 1, 0, 0, 59, 1, 0, 0,
- 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 0, 0, 0, 60, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 59, 1, 0, 0,210, 1, 0, 0,118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,212, 1, 0, 0, 63, 0, 0, 0,204, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,204, 0, 0, 0,208, 0, 0, 0,212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 0, 0, 0,
-212, 1, 0, 0,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0,204, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,212, 1, 0, 0, 65, 0, 0, 0,213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 1, 0, 0,214, 1, 0, 0,
-212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 0, 0, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-214, 1, 0, 0,213, 1, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 1, 0, 0, 22, 0, 0, 0,205, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,205, 0, 0, 0,214, 1, 0, 0, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 0, 0, 0,
- 60, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,214, 1, 0, 0,205, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 61, 1, 0, 0,119, 0, 0, 0,213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 1, 0, 0,209, 0, 0, 0,
- 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 0, 0, 0, 61, 1, 0, 0,209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-209, 0, 0, 0,213, 1, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 1, 0, 0, 62, 0, 0, 0,203, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,203, 0, 0, 0, 59, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 0, 0, 0,
-215, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 1, 0, 0,203, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,215, 1, 0, 0,118, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 1, 0, 0,217, 1, 0, 0,
-215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 0, 0, 0,215, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-217, 1, 0, 0,216, 1, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,180, 0, 0, 0, 5, 0, 0, 0,202, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,202, 0, 0, 0,217, 1, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0,
-180, 0, 0, 0,217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,217, 1, 0, 0,202, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,181, 0, 0, 0, 51, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 1, 0, 0, 58, 1, 0, 0,
-181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 16, 0, 0, 0,181, 0, 0, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 58, 1, 0, 0,216, 1, 0, 0,118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,218, 1, 0, 0,120, 0, 0, 0, 63, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 63, 1, 0, 0,215, 0, 0, 0,218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 0, 0, 0,
-218, 1, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 0, 0, 0, 63, 1, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,218, 1, 0, 0, 68, 0, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 1, 0, 0,220, 1, 0, 0,
-218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 0, 0, 0,218, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-220, 1, 0, 0,219, 1, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,173, 0, 0, 0, 14, 0, 0, 0, 62, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 62, 1, 0, 0,220, 1, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 0, 0, 0,
-173, 0, 0, 0,220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,220, 1, 0, 0, 62, 1, 0, 0,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,172, 0, 0, 0, 47, 0, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 1, 0, 0,214, 0, 0, 0,
-172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0,172, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-214, 0, 0, 0,219, 1, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,221, 1, 0, 0,120, 0, 0, 0, 62, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 62, 1, 0, 0, 64, 1, 0, 0,221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,
-221, 1, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 1, 0, 0, 62, 1, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,221, 1, 0, 0,121, 0, 0, 0,222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,222, 1, 0, 0,223, 1, 0, 0,
-221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 0, 0, 0,221, 1, 0, 0,223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-223, 1, 0, 0,222, 1, 0, 0,122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 1, 0, 0, 25, 0, 0, 0, 63, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 63, 1, 0, 0,223, 1, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 0, 0, 0,
- 67, 1, 0, 0,223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,223, 1, 0, 0, 63, 1, 0, 0,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 66, 1, 0, 0,122, 0, 0, 0,222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,222, 1, 0, 0, 65, 1, 0, 0,
- 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 0, 0, 0, 66, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 65, 1, 0, 0,222, 1, 0, 0,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 1, 0, 0, 67, 0, 0, 0,212, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,212, 0, 0, 0,216, 0, 0, 0,224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 69, 0, 0, 0,
-224, 1, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 0, 0, 0,212, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,224, 1, 0, 0, 69, 0, 0, 0,225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,225, 1, 0, 0,226, 1, 0, 0,
-224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 0, 0, 0,224, 1, 0, 0,226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-226, 1, 0, 0,225, 1, 0, 0,122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 1, 0, 0, 24, 0, 0, 0,213, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0,226, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 0, 0, 0,
- 66, 1, 0, 0,226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,226, 1, 0, 0,213, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 67, 1, 0, 0,122, 0, 0, 0,225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,225, 1, 0, 0,217, 0, 0, 0,
- 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 0, 0, 0, 67, 1, 0, 0,217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-217, 0, 0, 0,225, 1, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 1, 0, 0, 66, 0, 0, 0,211, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,211, 0, 0, 0, 65, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,
-227, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 1, 0, 0,211, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,227, 1, 0, 0,121, 0, 0, 0,228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 1, 0, 0,229, 1, 0, 0,
-227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 0, 0, 0,227, 1, 0, 0,229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-229, 1, 0, 0,228, 1, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,170, 0, 0, 0, 1, 0, 0, 0,210, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,210, 0, 0, 0,229, 1, 0, 0,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 0, 0, 0,
-170, 0, 0, 0,229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,229, 1, 0, 0,210, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,171, 0, 0, 0, 46, 0, 0, 0,228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 1, 0, 0, 64, 1, 0, 0,
-171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 0, 0, 0,171, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 64, 1, 0, 0,228, 1, 0, 0,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,230, 1, 0, 0,123, 0, 0, 0, 69, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 69, 1, 0, 0,223, 0, 0, 0,230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 0, 0, 0,
-230, 1, 0, 0,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,223, 0, 0, 0, 69, 1, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,230, 1, 0, 0, 72, 0, 0, 0,231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 1, 0, 0,232, 1, 0, 0,
-230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,123, 0, 0, 0,230, 1, 0, 0,232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-232, 1, 0, 0,231, 1, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,189, 0, 0, 0, 18, 0, 0, 0, 68, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 68, 1, 0, 0,232, 1, 0, 0,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 0, 0, 0,
-189, 0, 0, 0,232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,232, 1, 0, 0, 68, 1, 0, 0,123, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,188, 0, 0, 0, 55, 0, 0, 0,231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 1, 0, 0,222, 0, 0, 0,
-188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0,188, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-222, 0, 0, 0,231, 1, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,233, 1, 0, 0,123, 0, 0, 0, 68, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 68, 1, 0, 0, 70, 1, 0, 0,233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 0, 0, 0,
-233, 1, 0, 0, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,233, 1, 0, 0,124, 0, 0, 0,234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 1, 0, 0,235, 1, 0, 0,
-233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,123, 0, 0, 0,233, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-235, 1, 0, 0,234, 1, 0, 0,125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 1, 0, 0, 27, 0, 0, 0, 69, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 69, 1, 0, 0,235, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0,
- 73, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,235, 1, 0, 0, 69, 1, 0, 0,123, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 72, 1, 0, 0,125, 0, 0, 0,234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 1, 0, 0, 71, 1, 0, 0,
- 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0, 72, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 71, 1, 0, 0,234, 1, 0, 0,124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,236, 1, 0, 0, 71, 0, 0, 0,220, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,220, 0, 0, 0,224, 0, 0, 0,236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 0, 0, 0,
-236, 1, 0, 0,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 0, 0, 0,220, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,236, 1, 0, 0, 73, 0, 0, 0,237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,238, 1, 0, 0,
-236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 0, 0, 0,236, 1, 0, 0,238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-238, 1, 0, 0,237, 1, 0, 0,125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 1, 0, 0, 26, 0, 0, 0,221, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,221, 0, 0, 0,238, 1, 0, 0, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0,
- 72, 1, 0, 0,238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,238, 1, 0, 0,221, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 73, 1, 0, 0,125, 0, 0, 0,237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,225, 0, 0, 0,
- 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 0, 0, 0, 73, 1, 0, 0,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-225, 0, 0, 0,237, 1, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 1, 0, 0, 70, 0, 0, 0,219, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,219, 0, 0, 0, 71, 1, 0, 0,239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 0, 0, 0,
-239, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 1, 0, 0,219, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,239, 1, 0, 0,124, 0, 0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 1, 0, 0,241, 1, 0, 0,
-239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 0, 0, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-241, 1, 0, 0,240, 1, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,186, 0, 0, 0, 2, 0, 0, 0,218, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,218, 0, 0, 0,241, 1, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 0, 0, 0,
-186, 0, 0, 0,241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,241, 1, 0, 0,218, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,187, 0, 0, 0, 54, 0, 0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 1, 0, 0, 70, 1, 0, 0,
-187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 0, 0, 0,187, 0, 0, 0, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 70, 1, 0, 0,240, 1, 0, 0,124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,242, 1, 0, 0,126, 0, 0, 0, 75, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 75, 1, 0, 0,231, 0, 0, 0,242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 0, 0, 0,
-242, 1, 0, 0,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 0, 0, 0, 75, 1, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,242, 1, 0, 0, 76, 0, 0, 0,243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 1, 0, 0,244, 1, 0, 0,
-242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 0, 0, 0,242, 1, 0, 0,244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-244, 1, 0, 0,243, 1, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 0, 20, 0, 0, 0, 74, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 74, 1, 0, 0,244, 1, 0, 0,197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 0, 0, 0,
-197, 0, 0, 0,244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 1, 0, 0, 74, 1, 0, 0,126, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,196, 0, 0, 0, 59, 0, 0, 0,243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 1, 0, 0,230, 0, 0, 0,
-196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0,196, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-230, 0, 0, 0,243, 1, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,245, 1, 0, 0,126, 0, 0, 0, 74, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 74, 1, 0, 0, 76, 1, 0, 0,245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,
-245, 1, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 1, 0, 0, 74, 1, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,245, 1, 0, 0,127, 0, 0, 0,246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 1, 0, 0,247, 1, 0, 0,
-245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 0, 0, 0,245, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-247, 1, 0, 0,246, 1, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 1, 0, 0, 29, 0, 0, 0, 75, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 75, 1, 0, 0,247, 1, 0, 0, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0,
- 79, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,247, 1, 0, 0, 75, 1, 0, 0,126, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 78, 1, 0, 0,128, 0, 0, 0,246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 1, 0, 0, 77, 1, 0, 0,
- 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 0, 0, 0, 78, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 77, 1, 0, 0,246, 1, 0, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,248, 1, 0, 0, 75, 0, 0, 0,228, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,228, 0, 0, 0,232, 0, 0, 0,248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 0, 0, 0,
-248, 1, 0, 0,232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,232, 0, 0, 0,228, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,248, 1, 0, 0, 77, 0, 0, 0,249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 1, 0, 0,250, 1, 0, 0,
-248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 0,248, 1, 0, 0,250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-250, 1, 0, 0,249, 1, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 1, 0, 0, 28, 0, 0, 0,229, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,229, 0, 0, 0,250, 1, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0,
- 78, 1, 0, 0,250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, 1, 0, 0,229, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 79, 1, 0, 0,128, 0, 0, 0,249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 1, 0, 0,233, 0, 0, 0,
- 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 0, 0, 0, 79, 1, 0, 0,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-233, 0, 0, 0,249, 1, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 1, 0, 0, 74, 0, 0, 0,227, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,227, 0, 0, 0, 77, 1, 0, 0,251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,
-251, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 1, 0, 0,227, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,251, 1, 0, 0,127, 0, 0, 0,252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 1, 0, 0,253, 1, 0, 0,
-251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 0, 0, 0,251, 1, 0, 0,253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-253, 1, 0, 0,252, 1, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,194, 0, 0, 0, 3, 0, 0, 0,226, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,226, 0, 0, 0,253, 1, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 0, 0, 0,
-194, 0, 0, 0,253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 1, 0, 0,226, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,195, 0, 0, 0, 58, 0, 0, 0,252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 1, 0, 0, 76, 1, 0, 0,
-195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 0, 0, 0,195, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 76, 1, 0, 0,252, 1, 0, 0,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 1, 0, 0,129, 0, 0, 0, 81, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 81, 1, 0, 0,239, 0, 0, 0,254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0,
-254, 1, 0, 0,239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 0, 0, 0, 81, 1, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,254, 1, 0, 0, 80, 0, 0, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 1, 0, 0, 0, 2, 0, 0,
-254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,129, 0, 0, 0,254, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 0, 2, 0, 0,255, 1, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 0, 0, 0, 21, 0, 0, 0, 80, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 80, 1, 0, 0, 0, 2, 0, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 0, 0, 0,
-201, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 80, 1, 0, 0,129, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,200, 0, 0, 0, 61, 0, 0, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 1, 0, 0,238, 0, 0, 0,
-200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 0,200, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-238, 0, 0, 0,255, 1, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 0, 0,129, 0, 0, 0, 80, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 80, 1, 0, 0, 82, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0,
- 1, 2, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 1, 0, 0, 80, 1, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 1, 2, 0, 0,130, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 0, 0, 3, 2, 0, 0,
- 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,129, 0, 0, 0, 1, 2, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 3, 2, 0, 0, 2, 2, 0, 0,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 1, 0, 0, 31, 0, 0, 0, 81, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 81, 1, 0, 0, 3, 2, 0, 0, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 0, 0, 0,
- 85, 1, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 0, 81, 1, 0, 0,129, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 84, 1, 0, 0,131, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 0, 0, 83, 1, 0, 0,
- 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 0, 0, 0, 84, 1, 0, 0, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 83, 1, 0, 0, 2, 2, 0, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 2, 0, 0, 79, 0, 0, 0,236, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,236, 0, 0, 0,240, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 0,
- 4, 2, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 0, 0, 0,236, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 4, 2, 0, 0, 81, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 0, 0, 6, 2, 0, 0,
- 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 0, 0, 0, 4, 2, 0, 0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 6, 2, 0, 0, 5, 2, 0, 0,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 1, 0, 0, 30, 0, 0, 0,237, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,237, 0, 0, 0, 6, 2, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 0, 0, 0,
- 84, 1, 0, 0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 2, 0, 0,237, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 85, 1, 0, 0,131, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 0, 0,241, 0, 0, 0,
- 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 0, 0, 0, 85, 1, 0, 0,241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-241, 0, 0, 0, 5, 2, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 2, 0, 0, 78, 0, 0, 0,235, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,235, 0, 0, 0, 83, 1, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0,
- 7, 2, 0, 0, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 1, 0, 0,235, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 7, 2, 0, 0,130, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 2, 0, 0, 9, 2, 0, 0,
- 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0, 7, 2, 0, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 9, 2, 0, 0, 8, 2, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,198, 0, 0, 0, 4, 0, 0, 0,234, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 9, 2, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0,
-198, 0, 0, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 2, 0, 0,234, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,199, 0, 0, 0, 60, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 2, 0, 0, 82, 1, 0, 0,
-199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 0, 0, 0,199, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 82, 1, 0, 0, 8, 2, 0, 0,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 1, 0, 0,132, 0, 0, 0, 10, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 10, 2, 0, 0,245, 0, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 0, 0, 0,
- 87, 1, 0, 0,245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,245, 0, 0, 0, 10, 2, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 11, 2, 0, 0, 83, 0, 0, 0, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 2, 0, 0, 12, 2, 0, 0,
- 11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 0, 0, 0, 11, 2, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 12, 2, 0, 0, 10, 2, 0, 0,132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0, 23, 0, 0, 0,209, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,209, 0, 0, 0, 12, 2, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0,
- 86, 1, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 2, 0, 0,209, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 11, 2, 0, 0, 65, 0, 0, 0,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0,244, 0, 0, 0,
- 11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 0, 0, 0, 11, 2, 0, 0,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-244, 0, 0, 0,208, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0,132, 0, 0, 0, 13, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 13, 2, 0, 0, 88, 1, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 0, 0, 0,
- 86, 1, 0, 0, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0, 13, 2, 0, 0,133, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 14, 2, 0, 0,133, 0, 0, 0, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 2, 0, 0, 15, 2, 0, 0,
- 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,134, 0, 0, 0, 14, 2, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 15, 2, 0, 0, 13, 2, 0, 0,132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 1, 0, 0, 32, 0, 0, 0, 91, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 91, 1, 0, 0, 15, 2, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0,
- 87, 1, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 2, 0, 0, 91, 1, 0, 0,134, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 14, 2, 0, 0,134, 0, 0, 0, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 1, 0, 0, 89, 1, 0, 0,
- 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,133, 0, 0, 0, 14, 2, 0, 0, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 89, 1, 0, 0, 90, 1, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,212, 0, 0, 0, 67, 0, 0, 0, 16, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 16, 2, 0, 0,242, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 0, 0,
-212, 0, 0, 0,242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,242, 0, 0, 0, 16, 2, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 17, 2, 0, 0, 82, 0, 0, 0, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 16, 2, 0, 0, 18, 2, 0, 0,
- 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,134, 0, 0, 0, 17, 2, 0, 0, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 18, 2, 0, 0, 16, 2, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0, 24, 0, 0, 0, 90, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 90, 1, 0, 0, 18, 2, 0, 0,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 0, 0, 0,
-213, 0, 0, 0, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 2, 0, 0, 90, 1, 0, 0,134, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 17, 2, 0, 0,134, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 1, 0, 0,243, 0, 0, 0,
- 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 0, 0, 0, 17, 2, 0, 0,243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-243, 0, 0, 0, 91, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,211, 0, 0, 0, 66, 0, 0, 0, 19, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 19, 2, 0, 0, 89, 1, 0, 0,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 0, 0, 0,
-211, 0, 0, 0, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 1, 0, 0, 19, 2, 0, 0,133, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 20, 2, 0, 0,133, 0, 0, 0, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 2, 0, 0, 21, 2, 0, 0,
- 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 0, 0, 0, 20, 2, 0, 0, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 21, 2, 0, 0, 19, 2, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 0, 0, 0, 1, 0, 0, 0,206, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,206, 0, 0, 0, 21, 2, 0, 0,210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 0, 0, 0,
-210, 0, 0, 0, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 2, 0, 0,206, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 20, 2, 0, 0, 64, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 88, 1, 0, 0,
- 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,133, 0, 0, 0, 20, 2, 0, 0, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 88, 1, 0, 0,207, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 1, 0, 0,135, 0, 0, 0, 22, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 22, 2, 0, 0,247, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 33, 0, 0, 0,
- 93, 1, 0, 0,247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,247, 0, 0, 0, 22, 2, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 23, 2, 0, 0, 84, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 2, 0, 0, 24, 2, 0, 0,
- 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 69, 0, 0, 0, 23, 2, 0, 0, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 24, 2, 0, 0, 22, 2, 0, 0,135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0, 25, 0, 0, 0,217, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,217, 0, 0, 0, 24, 2, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,135, 0, 0, 0,
- 92, 1, 0, 0, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 2, 0, 0,217, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 23, 2, 0, 0, 69, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 0, 0, 0,246, 0, 0, 0,
- 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 0, 0, 0, 23, 2, 0, 0,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-246, 0, 0, 0,216, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0,135, 0, 0, 0, 25, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 25, 2, 0, 0, 94, 1, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 0, 0, 0,
- 92, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 1, 0, 0, 25, 2, 0, 0,136, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 26, 2, 0, 0,136, 0, 0, 0, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 2, 0, 0, 27, 2, 0, 0,
- 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,137, 0, 0, 0, 26, 2, 0, 0, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 27, 2, 0, 0, 25, 2, 0, 0,135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 1, 0, 0, 33, 0, 0, 0, 97, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 97, 1, 0, 0, 27, 2, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,135, 0, 0, 0,
- 93, 1, 0, 0, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 2, 0, 0, 97, 1, 0, 0,137, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 26, 2, 0, 0,137, 0, 0, 0, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 1, 0, 0, 95, 1, 0, 0,
- 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,136, 0, 0, 0, 26, 2, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 95, 1, 0, 0, 96, 1, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,220, 0, 0, 0, 71, 0, 0, 0, 28, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 28, 2, 0, 0,248, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 0, 0, 0,
-220, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,248, 0, 0, 0, 28, 2, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 29, 2, 0, 0, 85, 0, 0, 0, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 2, 0, 0, 30, 2, 0, 0,
- 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,137, 0, 0, 0, 29, 2, 0, 0, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 30, 2, 0, 0, 28, 2, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,221, 0, 0, 0, 26, 0, 0, 0, 96, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 96, 1, 0, 0, 30, 2, 0, 0,221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 0, 0, 0,
-221, 0, 0, 0, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 2, 0, 0, 96, 1, 0, 0,137, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 29, 2, 0, 0,137, 0, 0, 0, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 1, 0, 0,249, 0, 0, 0,
- 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 0, 0, 0, 29, 2, 0, 0,249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-249, 0, 0, 0, 97, 1, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 0, 0, 0, 70, 0, 0, 0, 31, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 31, 2, 0, 0, 95, 1, 0, 0,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0,
-219, 0, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 1, 0, 0, 31, 2, 0, 0,136, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 32, 2, 0, 0,136, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 2, 0, 0, 33, 2, 0, 0,
- 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 0, 0, 0, 32, 2, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 33, 2, 0, 0, 31, 2, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,218, 0, 0, 0, 2, 0, 0, 0,214, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,214, 0, 0, 0, 33, 2, 0, 0,218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 0, 0, 0,
-218, 0, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 33, 2, 0, 0,214, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 32, 2, 0, 0, 68, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 0, 0, 0, 94, 1, 0, 0,
- 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,136, 0, 0, 0, 32, 2, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 94, 1, 0, 0,215, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 1, 0, 0,138, 0, 0, 0, 34, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 34, 2, 0, 0,251, 0, 0, 0, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 0, 0, 0,
- 99, 1, 0, 0,251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 0, 0, 0, 34, 2, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 35, 2, 0, 0, 86, 0, 0, 0, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 2, 0, 0, 36, 2, 0, 0,
- 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 0, 0, 0, 35, 2, 0, 0, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 36, 2, 0, 0, 34, 2, 0, 0,138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 1, 0, 0, 27, 0, 0, 0,225, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,225, 0, 0, 0, 36, 2, 0, 0, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0,
- 98, 1, 0, 0, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 2, 0, 0,225, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 35, 2, 0, 0, 73, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 0, 0, 0,250, 0, 0, 0,
- 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 0, 0, 0, 35, 2, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-250, 0, 0, 0,224, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 1, 0, 0,138, 0, 0, 0, 37, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 37, 2, 0, 0,100, 1, 0, 0, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 0, 0, 0,
- 98, 1, 0, 0,100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 1, 0, 0, 37, 2, 0, 0,139, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 38, 2, 0, 0,139, 0, 0, 0, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 2, 0, 0, 39, 2, 0, 0,
- 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,140, 0, 0, 0, 38, 2, 0, 0, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 39, 2, 0, 0, 37, 2, 0, 0,138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 1, 0, 0, 34, 0, 0, 0,103, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,103, 1, 0, 0, 39, 2, 0, 0, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0,
- 99, 1, 0, 0, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 2, 0, 0,103, 1, 0, 0,140, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 38, 2, 0, 0,140, 0, 0, 0,102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 1, 0, 0,101, 1, 0, 0,
- 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 0, 0, 0, 38, 2, 0, 0,101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-101, 1, 0, 0,102, 1, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 0, 0, 0, 75, 0, 0, 0, 40, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 40, 2, 0, 0,252, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 0, 0, 0,
-228, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 0, 0, 0, 40, 2, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 41, 2, 0, 0, 87, 0, 0, 0, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 2, 0, 0, 42, 2, 0, 0,
- 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,140, 0, 0, 0, 41, 2, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 42, 2, 0, 0, 40, 2, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,229, 0, 0, 0, 28, 0, 0, 0,102, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,102, 1, 0, 0, 42, 2, 0, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 0,
-229, 0, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 2, 0, 0,102, 1, 0, 0,140, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 41, 2, 0, 0,140, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 1, 0, 0,253, 0, 0, 0,
- 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 0, 0, 0, 41, 2, 0, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-253, 0, 0, 0,103, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 0, 0, 0, 74, 0, 0, 0, 43, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 43, 2, 0, 0,101, 1, 0, 0,227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 0, 0, 0,
-227, 0, 0, 0,101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 1, 0, 0, 43, 2, 0, 0,139, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 44, 2, 0, 0,139, 0, 0, 0, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 2, 0, 0, 45, 2, 0, 0,
- 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 0, 0, 0, 44, 2, 0, 0, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 45, 2, 0, 0, 43, 2, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,226, 0, 0, 0, 3, 0, 0, 0,222, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,222, 0, 0, 0, 45, 2, 0, 0,226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 0, 0, 0,
-226, 0, 0, 0, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 2, 0, 0,222, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 44, 2, 0, 0, 72, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,223, 0, 0, 0,100, 1, 0, 0,
- 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 0, 0, 0, 44, 2, 0, 0,100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-100, 1, 0, 0,223, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 1, 0, 0,141, 0, 0, 0, 46, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 46, 2, 0, 0,255, 0, 0, 0,105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 0, 0, 0,
-105, 1, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 0, 0, 0, 46, 2, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 47, 2, 0, 0, 88, 0, 0, 0, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 2, 0, 0, 48, 2, 0, 0,
- 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 0, 0, 0, 47, 2, 0, 0, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 48, 2, 0, 0, 46, 2, 0, 0,141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 1, 0, 0, 29, 0, 0, 0,233, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,233, 0, 0, 0, 48, 2, 0, 0,104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,
-104, 1, 0, 0, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 2, 0, 0,233, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 47, 2, 0, 0, 77, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,232, 0, 0, 0,254, 0, 0, 0,
- 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 0, 0, 0, 47, 2, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-254, 0, 0, 0,232, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 1, 0, 0,141, 0, 0, 0, 49, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 49, 2, 0, 0,106, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 0, 0, 0,
-104, 1, 0, 0,106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 1, 0, 0, 49, 2, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 50, 2, 0, 0,142, 0, 0, 0, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 2, 0, 0, 51, 2, 0, 0,
- 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 0, 0, 0, 50, 2, 0, 0, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 51, 2, 0, 0, 49, 2, 0, 0,141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 1, 0, 0, 35, 0, 0, 0,109, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,109, 1, 0, 0, 51, 2, 0, 0,105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,
-105, 1, 0, 0, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 2, 0, 0,109, 1, 0, 0,143, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 50, 2, 0, 0,143, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 1, 0, 0,107, 1, 0, 0,
- 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,142, 0, 0, 0, 50, 2, 0, 0,107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-107, 1, 0, 0,108, 1, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,236, 0, 0, 0, 79, 0, 0, 0, 52, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 52, 2, 0, 0, 0, 1, 0, 0,236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 0, 0, 0,
-236, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 52, 2, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 53, 2, 0, 0, 89, 0, 0, 0, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 2, 0, 0, 54, 2, 0, 0,
- 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 0, 0, 0, 53, 2, 0, 0, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 54, 2, 0, 0, 52, 2, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 0, 0, 0, 30, 0, 0, 0,108, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,108, 1, 0, 0, 54, 2, 0, 0,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 0, 0, 0,
-237, 0, 0, 0, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 2, 0, 0,108, 1, 0, 0,143, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 53, 2, 0, 0,143, 0, 0, 0,109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 1, 0, 0, 1, 1, 0, 0,
- 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 0, 0, 0, 53, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 1, 1, 0, 0,109, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,235, 0, 0, 0, 78, 0, 0, 0, 55, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 55, 2, 0, 0,107, 1, 0, 0,235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 0, 0, 0,
-235, 0, 0, 0,107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 1, 0, 0, 55, 2, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 56, 2, 0, 0,142, 0, 0, 0, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 2, 0, 0, 57, 2, 0, 0,
- 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 0, 0, 0, 56, 2, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 57, 2, 0, 0, 55, 2, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 4, 0, 0, 0,230, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,230, 0, 0, 0, 57, 2, 0, 0,234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0,
-234, 0, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 2, 0, 0,230, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 56, 2, 0, 0, 76, 0, 0, 0,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 0, 0, 0,106, 1, 0, 0,
- 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,142, 0, 0, 0, 56, 2, 0, 0,106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-106, 1, 0, 0,231, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 1, 0, 0,144, 0, 0, 0, 58, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 58, 2, 0, 0, 3, 1, 0, 0,111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0,
-111, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 58, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 59, 2, 0, 0, 90, 0, 0, 0, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 2, 0, 0, 60, 2, 0, 0,
- 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 0, 59, 2, 0, 0, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 60, 2, 0, 0, 58, 2, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 1, 0, 0, 31, 0, 0, 0,241, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,241, 0, 0, 0, 60, 2, 0, 0,110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 0, 0, 0,
-110, 1, 0, 0, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 2, 0, 0,241, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 59, 2, 0, 0, 81, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 0, 0, 0, 2, 1, 0, 0,
- 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 0, 0, 0, 59, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 2, 1, 0, 0,240, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 1, 0, 0,144, 0, 0, 0, 61, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 61, 2, 0, 0,113, 1, 0, 0,110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 0, 0, 0,
-110, 1, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 1, 0, 0, 61, 2, 0, 0,145, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 62, 2, 0, 0,145, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 2, 0, 0, 63, 2, 0, 0,
- 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 0, 0, 0, 62, 2, 0, 0, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 63, 2, 0, 0, 61, 2, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 1, 0, 0, 36, 0, 0, 0,115, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,115, 1, 0, 0, 63, 2, 0, 0,111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 0, 0, 0,
-111, 1, 0, 0, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 2, 0, 0,115, 1, 0, 0,146, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 62, 2, 0, 0,146, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 1, 0, 0,112, 1, 0, 0,
- 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,145, 0, 0, 0, 62, 2, 0, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-112, 1, 0, 0,114, 1, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,204, 0, 0, 0, 63, 0, 0, 0, 64, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 64, 2, 0, 0, 4, 1, 0, 0,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 0, 0, 0,
-204, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 1, 0, 0, 64, 2, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 65, 2, 0, 0, 91, 0, 0, 0, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 2, 0, 0, 66, 2, 0, 0,
- 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 0, 0, 0, 65, 2, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 66, 2, 0, 0, 64, 2, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,205, 0, 0, 0, 22, 0, 0, 0,114, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,114, 1, 0, 0, 66, 2, 0, 0,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 0, 0, 0,
-205, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 2, 0, 0,114, 1, 0, 0,146, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 65, 2, 0, 0,146, 0, 0, 0,115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 1, 0, 0, 5, 1, 0, 0,
- 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 0, 0, 0, 65, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 5, 1, 0, 0,115, 1, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,203, 0, 0, 0, 62, 0, 0, 0, 67, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 67, 2, 0, 0,112, 1, 0, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 0, 0, 0,
-203, 0, 0, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 1, 0, 0, 67, 2, 0, 0,145, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 68, 2, 0, 0,145, 0, 0, 0, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 2, 0, 0, 69, 2, 0, 0,
- 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0, 68, 2, 0, 0, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 69, 2, 0, 0, 67, 2, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,202, 0, 0, 0, 5, 0, 0, 0,238, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,238, 0, 0, 0, 69, 2, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 0, 0, 0,
-202, 0, 0, 0, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 69, 2, 0, 0,238, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 68, 2, 0, 0, 80, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 0, 0, 0,113, 1, 0, 0,
- 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,145, 0, 0, 0, 68, 2, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-113, 1, 0, 0,239, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 2, 0, 0,147, 0, 0, 0,117, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,117, 1, 0, 0, 11, 1, 0, 0, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 0, 0, 0,
- 70, 2, 0, 0, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 11, 1, 0, 0,117, 1, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 70, 2, 0, 0, 94, 0, 0, 0, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 2, 0, 0, 72, 2, 0, 0,
- 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,147, 0, 0, 0, 70, 2, 0, 0, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 72, 2, 0, 0, 71, 2, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 0, 0, 0, 32, 0, 0, 0,116, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,116, 1, 0, 0, 72, 2, 0, 0,243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 0, 0, 0,
-243, 0, 0, 0, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 2, 0, 0,116, 1, 0, 0,147, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,242, 0, 0, 0, 82, 0, 0, 0, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 2, 0, 0, 10, 1, 0, 0,
-242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 0, 0,242, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 10, 1, 0, 0, 71, 2, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 2, 0, 0,147, 0, 0, 0,116, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,116, 1, 0, 0,118, 1, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 0, 0, 0,
- 73, 2, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 1, 0, 0,116, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 73, 2, 0, 0,148, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 2, 0, 0, 75, 2, 0, 0,
- 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,147, 0, 0, 0, 73, 2, 0, 0, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 75, 2, 0, 0, 74, 2, 0, 0,149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 1, 0, 0, 38, 0, 0, 0,117, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,117, 1, 0, 0, 75, 2, 0, 0,121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 0, 0, 0,
-121, 1, 0, 0, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 2, 0, 0,117, 1, 0, 0,147, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,120, 1, 0, 0,149, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 2, 0, 0,119, 1, 0, 0,
-120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 0, 0, 0,120, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-119, 1, 0, 0, 74, 2, 0, 0,148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 2, 0, 0, 93, 0, 0, 0, 8, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 8, 1, 0, 0, 12, 1, 0, 0, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 0, 0, 0,
- 76, 2, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 1, 0, 0, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 76, 2, 0, 0, 95, 0, 0, 0, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 2, 0, 0, 78, 2, 0, 0,
- 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 0, 0, 0, 76, 2, 0, 0, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 78, 2, 0, 0, 77, 2, 0, 0,149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 1, 0, 0, 37, 0, 0, 0, 9, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 9, 1, 0, 0, 78, 2, 0, 0,120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 0, 0, 0,
-120, 1, 0, 0, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 2, 0, 0, 9, 1, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,121, 1, 0, 0,149, 0, 0, 0, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 2, 0, 0, 13, 1, 0, 0,
-121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 0, 0, 0,121, 1, 0, 0, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 13, 1, 0, 0, 77, 2, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 2, 0, 0, 92, 0, 0, 0, 7, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 7, 1, 0, 0,119, 1, 0, 0, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 0, 0, 0,
- 79, 2, 0, 0,119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 1, 0, 0, 7, 1, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 79, 2, 0, 0,148, 0, 0, 0, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 2, 0, 0, 81, 2, 0, 0,
- 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 0, 0, 0, 79, 2, 0, 0, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 81, 2, 0, 0, 80, 2, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 0, 0, 0, 10, 0, 0, 0, 6, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 6, 1, 0, 0, 81, 2, 0, 0,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 0, 0, 0,
-244, 0, 0, 0, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 2, 0, 0, 6, 1, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,245, 0, 0, 0, 83, 0, 0, 0, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 2, 0, 0,118, 1, 0, 0,
-245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 0, 0, 0,245, 0, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-118, 1, 0, 0, 80, 2, 0, 0,148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 2, 0, 0,150, 0, 0, 0,123, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,123, 1, 0, 0, 15, 1, 0, 0, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 0, 0, 0,
- 82, 2, 0, 0, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 1, 0, 0,123, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 82, 2, 0, 0, 96, 0, 0, 0, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 2, 0, 0, 84, 2, 0, 0,
- 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,150, 0, 0, 0, 82, 2, 0, 0, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 84, 2, 0, 0, 83, 2, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 0, 0, 0, 33, 0, 0, 0,122, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,122, 1, 0, 0, 84, 2, 0, 0,249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 0, 0, 0,
-249, 0, 0, 0, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 2, 0, 0,122, 1, 0, 0,150, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,248, 0, 0, 0, 85, 0, 0, 0, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 2, 0, 0, 14, 1, 0, 0,
-248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 0, 0, 0,248, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 14, 1, 0, 0, 83, 2, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 2, 0, 0,150, 0, 0, 0,122, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,122, 1, 0, 0,124, 1, 0, 0, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 0, 0, 0,
- 85, 2, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 1, 0, 0,122, 1, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 85, 2, 0, 0,151, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 2, 0, 0, 87, 2, 0, 0,
- 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,150, 0, 0, 0, 85, 2, 0, 0, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 87, 2, 0, 0, 86, 2, 0, 0,152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 1, 0, 0, 39, 0, 0, 0,123, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,123, 1, 0, 0, 87, 2, 0, 0,127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0,
-127, 1, 0, 0, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 2, 0, 0,123, 1, 0, 0,150, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,126, 1, 0, 0,152, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 2, 0, 0,125, 1, 0, 0,
-126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 0, 0, 0,126, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-125, 1, 0, 0, 86, 2, 0, 0,151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 2, 0, 0, 95, 0, 0, 0, 12, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 12, 1, 0, 0, 16, 1, 0, 0, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 0, 0, 0,
- 88, 2, 0, 0, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 16, 1, 0, 0, 12, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 88, 2, 0, 0, 97, 0, 0, 0, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 2, 0, 0, 90, 2, 0, 0,
- 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 0, 0, 0, 88, 2, 0, 0, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 90, 2, 0, 0, 89, 2, 0, 0,152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 1, 0, 0, 38, 0, 0, 0, 13, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 13, 1, 0, 0, 90, 2, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0,
-126, 1, 0, 0, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 2, 0, 0, 13, 1, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,127, 1, 0, 0,152, 0, 0, 0, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 2, 0, 0, 17, 1, 0, 0,
-127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 0, 0, 0,127, 1, 0, 0, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 17, 1, 0, 0, 89, 2, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 2, 0, 0, 94, 0, 0, 0, 11, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 11, 1, 0, 0,125, 1, 0, 0, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 0, 0, 0,
- 91, 2, 0, 0,125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 1, 0, 0, 11, 1, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 91, 2, 0, 0,151, 0, 0, 0, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 2, 0, 0, 93, 2, 0, 0,
- 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 0, 0, 0, 91, 2, 0, 0, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 93, 2, 0, 0, 92, 2, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 0, 0, 0, 6, 0, 0, 0, 10, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 10, 1, 0, 0, 93, 2, 0, 0,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 0, 0, 0,
-246, 0, 0, 0, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 2, 0, 0, 10, 1, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,247, 0, 0, 0, 84, 0, 0, 0, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 2, 0, 0,124, 1, 0, 0,
-247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 33, 0, 0, 0,247, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-124, 1, 0, 0, 92, 2, 0, 0,151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 2, 0, 0,153, 0, 0, 0,129, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,129, 1, 0, 0, 19, 1, 0, 0, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 0, 0, 0,
- 94, 2, 0, 0, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 1, 0, 0,129, 1, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 94, 2, 0, 0, 98, 0, 0, 0, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 2, 0, 0, 96, 2, 0, 0,
- 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,153, 0, 0, 0, 94, 2, 0, 0, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 96, 2, 0, 0, 95, 2, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 0, 0, 0, 34, 0, 0, 0,128, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,128, 1, 0, 0, 96, 2, 0, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 0, 0, 0,
-253, 0, 0, 0, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 2, 0, 0,128, 1, 0, 0,153, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,252, 0, 0, 0, 87, 0, 0, 0, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 2, 0, 0, 18, 1, 0, 0,
-252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 0, 0, 0,252, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 18, 1, 0, 0, 95, 2, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 2, 0, 0,153, 0, 0, 0,128, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,128, 1, 0, 0,130, 1, 0, 0, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0,
- 97, 2, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 1, 0, 0,128, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 97, 2, 0, 0,154, 0, 0, 0, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 2, 0, 0, 99, 2, 0, 0,
- 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,153, 0, 0, 0, 97, 2, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 99, 2, 0, 0, 98, 2, 0, 0,155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,133, 1, 0, 0, 40, 0, 0, 0,129, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,129, 1, 0, 0, 99, 2, 0, 0,133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 0, 0, 0,
-133, 1, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 2, 0, 0,129, 1, 0, 0,153, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,132, 1, 0, 0,155, 0, 0, 0, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 2, 0, 0,131, 1, 0, 0,
-132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 0, 0, 0,132, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-131, 1, 0, 0, 98, 2, 0, 0,154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 2, 0, 0, 97, 0, 0, 0, 16, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 16, 1, 0, 0, 20, 1, 0, 0,100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 0, 0, 0,
-100, 2, 0, 0, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 1, 0, 0, 16, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,100, 2, 0, 0, 99, 0, 0, 0,101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 2, 0, 0,102, 2, 0, 0,
-100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 0, 0, 0,100, 2, 0, 0,102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-102, 2, 0, 0,101, 2, 0, 0,155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 1, 0, 0, 39, 0, 0, 0, 17, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 17, 1, 0, 0,102, 2, 0, 0,132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 0, 0, 0,
-132, 1, 0, 0,102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 2, 0, 0, 17, 1, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,133, 1, 0, 0,155, 0, 0, 0,101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 2, 0, 0, 21, 1, 0, 0,
-133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 0, 0, 0,133, 1, 0, 0, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 21, 1, 0, 0,101, 2, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 2, 0, 0, 96, 0, 0, 0, 15, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 15, 1, 0, 0,131, 1, 0, 0,103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0,
-103, 2, 0, 0,131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 1, 0, 0, 15, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,103, 2, 0, 0,154, 0, 0, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 2, 0, 0,105, 2, 0, 0,
-103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 0, 0, 0,103, 2, 0, 0,105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-105, 2, 0, 0,104, 2, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, 0, 0, 0, 7, 0, 0, 0, 14, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 14, 1, 0, 0,105, 2, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 0, 0, 0,
-250, 0, 0, 0,105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 2, 0, 0, 14, 1, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,251, 0, 0, 0, 86, 0, 0, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 2, 0, 0,130, 1, 0, 0,
-251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 0, 0, 0,251, 0, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-130, 1, 0, 0,104, 2, 0, 0,154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 2, 0, 0,156, 0, 0, 0,135, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,135, 1, 0, 0, 23, 1, 0, 0,106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 0, 0, 0,
-106, 2, 0, 0, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 1, 0, 0,135, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,106, 2, 0, 0,100, 0, 0, 0,107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 2, 0, 0,108, 2, 0, 0,
-106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,156, 0, 0, 0,106, 2, 0, 0,108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-108, 2, 0, 0,107, 2, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 35, 0, 0, 0,134, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,134, 1, 0, 0,108, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 0, 0, 0,
- 1, 1, 0, 0,108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 2, 0, 0,134, 1, 0, 0,156, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 0, 1, 0, 0, 89, 0, 0, 0,107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 2, 0, 0, 22, 1, 0, 0,
- 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 0, 0, 0, 0, 1, 0, 0, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 22, 1, 0, 0,107, 2, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 2, 0, 0,156, 0, 0, 0,134, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,134, 1, 0, 0,136, 1, 0, 0,109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 0, 0, 0,
-109, 2, 0, 0,136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,136, 1, 0, 0,134, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,109, 2, 0, 0,157, 0, 0, 0,110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 2, 0, 0,111, 2, 0, 0,
-109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,156, 0, 0, 0,109, 2, 0, 0,111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-111, 2, 0, 0,110, 2, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 1, 0, 0, 41, 0, 0, 0,135, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,135, 1, 0, 0,111, 2, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,
-139, 1, 0, 0,111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 2, 0, 0,135, 1, 0, 0,156, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,138, 1, 0, 0,158, 0, 0, 0,110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 2, 0, 0,137, 1, 0, 0,
-138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 0, 0, 0,138, 1, 0, 0,137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-137, 1, 0, 0,110, 2, 0, 0,157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 2, 0, 0, 99, 0, 0, 0, 20, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 20, 1, 0, 0, 24, 1, 0, 0,112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 0, 0, 0,
-112, 2, 0, 0, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 1, 0, 0, 20, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,112, 2, 0, 0,101, 0, 0, 0,113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 2, 0, 0,114, 2, 0, 0,
-112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 0, 0, 0,112, 2, 0, 0,114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-114, 2, 0, 0,113, 2, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 1, 0, 0, 40, 0, 0, 0, 21, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 21, 1, 0, 0,114, 2, 0, 0,138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,
-138, 1, 0, 0,114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 2, 0, 0, 21, 1, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,139, 1, 0, 0,158, 0, 0, 0,113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 2, 0, 0, 25, 1, 0, 0,
-139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 0, 0, 0,139, 1, 0, 0, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 25, 1, 0, 0,113, 2, 0, 0,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 2, 0, 0, 98, 0, 0, 0, 19, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 19, 1, 0, 0,137, 1, 0, 0,115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 0, 0, 0,
-115, 2, 0, 0,137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,137, 1, 0, 0, 19, 1, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,115, 2, 0, 0,157, 0, 0, 0,116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 2, 0, 0,117, 2, 0, 0,
-115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 0, 0, 0,115, 2, 0, 0,117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-117, 2, 0, 0,116, 2, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 0, 0, 0, 8, 0, 0, 0, 18, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 18, 1, 0, 0,117, 2, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 0, 0, 0,
-254, 0, 0, 0,117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,117, 2, 0, 0, 18, 1, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,255, 0, 0, 0, 88, 0, 0, 0,116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 2, 0, 0,136, 1, 0, 0,
-255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 0, 0, 0,255, 0, 0, 0,136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-136, 1, 0, 0,116, 2, 0, 0,157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 2, 0, 0,159, 0, 0, 0,141, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,141, 1, 0, 0, 7, 1, 0, 0,118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 0, 0, 0,
-118, 2, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 1, 0, 0,141, 1, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,118, 2, 0, 0, 92, 0, 0, 0,119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 2, 0, 0,120, 2, 0, 0,
-118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 0, 0, 0,118, 2, 0, 0,120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-120, 2, 0, 0,119, 2, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 1, 0, 0, 36, 0, 0, 0,140, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,140, 1, 0, 0,120, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 0, 0, 0,
- 5, 1, 0, 0,120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 2, 0, 0,140, 1, 0, 0,159, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 4, 1, 0, 0, 91, 0, 0, 0,119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 2, 0, 0, 6, 1, 0, 0,
- 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 0, 0, 0, 4, 1, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 6, 1, 0, 0,119, 2, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 2, 0, 0,159, 0, 0, 0,140, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,140, 1, 0, 0,142, 1, 0, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,
-121, 2, 0, 0,142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,142, 1, 0, 0,140, 1, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,121, 2, 0, 0,160, 0, 0, 0,122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 2, 0, 0,123, 2, 0, 0,
-121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 0, 0, 0,121, 2, 0, 0,123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-123, 2, 0, 0,122, 2, 0, 0,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 1, 0, 0, 37, 0, 0, 0,141, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,141, 1, 0, 0,123, 2, 0, 0,144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 0, 0, 0,
-144, 1, 0, 0,123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,123, 2, 0, 0,141, 1, 0, 0,159, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,145, 1, 0, 0,161, 0, 0, 0,122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 2, 0, 0,143, 1, 0, 0,
-145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 0, 0, 0,145, 1, 0, 0,143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-143, 1, 0, 0,122, 2, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 2, 0, 0,101, 0, 0, 0, 24, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 24, 1, 0, 0, 8, 1, 0, 0,124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 0, 0, 0,
-124, 2, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 1, 0, 0, 24, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,124, 2, 0, 0, 93, 0, 0, 0,125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 2, 0, 0,126, 2, 0, 0,
-124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 0, 0, 0,124, 2, 0, 0,126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-126, 2, 0, 0,125, 2, 0, 0,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,145, 1, 0, 0, 41, 0, 0, 0, 25, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 25, 1, 0, 0,126, 2, 0, 0,145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 0, 0, 0,
-145, 1, 0, 0,126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 2, 0, 0, 25, 1, 0, 0,101, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,144, 1, 0, 0,161, 0, 0, 0,125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 2, 0, 0, 9, 1, 0, 0,
-144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 0, 0, 0,144, 1, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 9, 1, 0, 0,125, 2, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 2, 0, 0,100, 0, 0, 0, 23, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 23, 1, 0, 0,143, 1, 0, 0,127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,
-127, 2, 0, 0,143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 1, 0, 0, 23, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3,127, 2, 0, 0,160, 0, 0, 0,128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 2, 0, 0,129, 2, 0, 0,
-127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 0, 0, 0,127, 2, 0, 0,129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-129, 2, 0, 0,128, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 9, 0, 0, 0, 22, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 22, 1, 0, 0,129, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 0, 0, 0,
- 2, 1, 0, 0,129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,129, 2, 0, 0, 22, 1, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 3, 3, 1, 0, 0, 90, 0, 0, 0,128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 2, 0, 0,142, 1, 0, 0,
- 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0, 3, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
-142, 1, 0, 0,128, 2, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 65, 84, 65, 0,220, 0, 0,120,118,185, 3,
- 65, 0, 0, 0, 0, 5, 0, 0,166,222,110, 63, 9,205, 55, 63,212,132,105, 63,201,236, 65, 63,218,153,103, 63,119,155, 54, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218,153,103, 63,119,155, 54, 63,118,148,108, 63,
-211,160, 44, 63,166,222,110, 63, 9,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 36, 51,115, 63, 36, 28, 45, 63,166,222,110, 63, 9,205, 55, 63,118,148,108, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,148,108, 63,211,160, 44, 63,218,153,103, 63,119,155, 54, 63, 87, 17,102, 63,
-229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56, 81, 96, 63,170, 55, 52, 63,
- 87, 17,102, 63,229, 52, 43, 63,218,153,103, 63,119,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,218,153,103, 63,119,155, 54, 63, 9, 75, 97, 63, 92,233, 63, 63, 56, 81, 96, 63,170, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,153, 89, 63, 49, 86, 60, 63, 56, 81, 96, 63,170, 55, 52, 63,
- 9, 75, 97, 63, 92,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 75, 97, 63,
- 92,233, 63, 63,218,153,103, 63,119,155, 54, 63,212,132,105, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,103,167, 98, 63,168, 39, 75, 63,138,153, 89, 63, 39,228, 82, 63,139,153, 89, 63,255,153, 71, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63,255,153, 71, 63, 9, 75, 97, 63,
- 92,233, 63, 63,103,167, 98, 63,168, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-212,132,105, 63,201,236, 65, 63,103,167, 98, 63,168, 39, 75, 63, 9, 75, 97, 63, 92,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 75, 97, 63, 92,233, 63, 63,139,153, 89, 63,255,153, 71, 63,138,153, 89, 63,
- 49, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56, 81, 96, 63,170, 55, 52, 63,
-138,153, 89, 63, 49, 86, 60, 63,139,153, 89, 63, 79, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,139,153, 89, 63, 79, 12, 49, 63,205,182, 95, 63,222,228, 40, 63, 56, 81, 96, 63,170, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 17,102, 63,229, 52, 43, 63, 56, 81, 96, 63,170, 55, 52, 63,
-205,182, 95, 63,222,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205,182, 95, 63,
-222,228, 40, 63,139,153, 89, 63, 79, 12, 49, 63,139,153, 89, 63, 45,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,103,167, 98, 63,168, 39, 75, 63,212,132,105, 63,201,236, 65, 63,168, 83,109, 63,207, 83, 78, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,168, 83,109, 63,207, 83, 78, 63,135, 85,101, 63,
-148, 64, 88, 63,103,167, 98, 63,168, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-138,153, 89, 63, 39,228, 82, 63,103,167, 98, 63,168, 39, 75, 63,135, 85,101, 63,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135, 85,101, 63,148, 64, 88, 63,168, 83,109, 63,207, 83, 78, 63, 36, 51,115, 63,
- 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162, 18,121, 63,207, 83, 78, 63,
- 36, 51,115, 63, 22, 56, 90, 63,168, 83,109, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,168, 83,109, 63,207, 83, 78, 63, 36, 51,115, 63,115, 23, 67, 63,162, 18,121, 63,207, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,116,225,124, 63,202,236, 65, 63,162, 18,121, 63,207, 83, 78, 63,
- 36, 51,115, 63,115, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63,
-115, 23, 67, 63,168, 83,109, 63,207, 83, 78, 63,212,132,105, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,166,222,110, 63, 9,205, 55, 63, 36, 51,115, 63, 36, 28, 45, 63,163,135,119, 63, 11,205, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,163,135,119, 63, 11,205, 55, 63, 36, 51,115, 63,
-115, 23, 67, 63,166,222,110, 63, 9,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-212,132,105, 63,201,236, 65, 63,166,222,110, 63, 9,205, 55, 63, 36, 51,115, 63,115, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63,115, 23, 67, 63,163,135,119, 63, 11,205, 55, 63,116,225,124, 63,
-202,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162, 18,121, 63,207, 83, 78, 63,
-116,225,124, 63,202,236, 65, 63,113,223,129, 63,170, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,113,223,129, 63,170, 39, 75, 63, 98,136,128, 63,148, 64, 88, 63,162, 18,121, 63,207, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63, 22, 56, 90, 63,162, 18,121, 63,207, 83, 78, 63,
- 98,136,128, 63,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95, 98,136, 59,
-148, 64, 88, 63,160,184,111, 60,170, 39, 75, 63,243,203, 76, 61, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,243,203, 76, 61, 82, 12, 49, 63,246,203, 76, 61, 53, 86, 60, 63, 31,162,194, 60,172, 55, 52, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,162,194, 60,172, 55, 52, 63,111,239,213, 60,
-223,228, 40, 63,243,203, 76, 61, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-246,203, 76, 61, 48,200, 37, 63,243,203, 76, 61, 82, 12, 49, 63,111,239,213, 60,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,239,213, 60,223,228, 40, 63, 31,162,194, 60,172, 55, 52, 63,120,226,169, 58,
-230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,204,126, 63,121,155, 54, 63,
-121, 42,128, 63,230, 52, 43, 63,136, 10,131, 63,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,136, 10,131, 63,172, 55, 52, 63,160,141,130, 63, 95,233, 63, 63,111,204,126, 63,121,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,116,225,124, 63,202,236, 65, 63,111,204,126, 63,121,155, 54, 63,
-160,141,130, 63, 95,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,104,163, 60,
- 95,233, 63, 63, 31,162,194, 60,172, 55, 52, 63,246,203, 76, 61, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,244,203, 76, 61, 2,154, 71, 63,243,203, 76, 61, 41,228, 82, 63,160,184,111, 60,170, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,184,111, 60,170, 39, 75, 63, 11,104,163, 60,
- 95,233, 63, 63,244,203, 76, 61, 2,154, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-246,203, 76, 61, 53, 86, 60, 63,244,203, 76, 61, 2,154, 71, 63, 11,104,163, 60, 95,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,141,130, 63, 95,233, 63, 63,113,223,129, 63,170, 39, 75, 63,116,225,124, 63,
-202,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,204,126, 63,121,155, 54, 63,
-116,225,124, 63,202,236, 65, 63,163,135,119, 63, 11,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,163,135,119, 63, 11,205, 55, 63,210,209,121, 63,212,160, 44, 63,111,204,126, 63,121,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121, 42,128, 63,230, 52, 43, 63,111,204,126, 63,121,155, 54, 63,
-210,209,121, 63,212,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,210,209,121, 63,
-212,160, 44, 63,163,135,119, 63, 11,205, 55, 63, 36, 51,115, 63, 36, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 95,102,134, 63, 79, 46, 94, 63, 95,102,134, 63, 22,114,105, 63, 52,205,124, 63, 58, 26, 99, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 52,205,124, 63, 58, 26, 99, 63, 98,136,128, 63,
-148, 64, 88, 63, 95,102,134, 63, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-243,203, 76, 61, 41,228, 82, 63,234,203, 76, 61, 79, 46, 94, 63, 95, 98,136, 59,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 98,136,128, 63,148, 64, 88, 63, 52,205,124, 63, 58, 26, 99, 63, 36, 51,115, 63,
- 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,153,105, 63, 58, 26, 99, 63,
- 36, 51,115, 63, 22, 56, 90, 63, 52,205,124, 63, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 52,205,124, 63, 58, 26, 99, 63, 32, 51,115, 63,212,154,109, 63, 21,153,105, 63, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,153, 89, 63, 19,114,105, 63, 21,153,105, 63, 58, 26, 99, 63,
- 32, 51,115, 63,212,154,109, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32, 51,115, 63,
-212,154,109, 63, 52,205,124, 63, 58, 26, 99, 63, 95,102,134, 63, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 95,102,134, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,136,153, 89, 63,242,187,116, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136,153, 89, 63,242,187,116, 63, 32, 51,115, 63,
-212,154,109, 63, 95,102,134, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 95,102,134, 63, 22,114,105, 63, 95,102,134, 63,242,187,116, 63, 32, 51,115, 63,212,154,109, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32, 51,115, 63,212,154,109, 63,136,153, 89, 63,242,187,116, 63,138,153, 89, 63,
- 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,153,105, 63, 58, 26, 99, 63,
-138,153, 89, 63, 19,114,105, 63,138,153, 89, 63, 77, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,138,153, 89, 63, 77, 46, 94, 63,135, 85,101, 63,148, 64, 88, 63, 21,153,105, 63, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63, 22, 56, 90, 63, 21,153,105, 63, 58, 26, 99, 63,
-135, 85,101, 63,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135, 85,101, 63,
-148, 64, 88, 63,138,153, 89, 63, 77, 46, 94, 63,138,153, 89, 63, 39,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 67,153, 75, 63,113,155, 54, 63, 74,174, 73, 63,193,236, 65, 63,124, 84, 68, 63,255,204, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 84, 68, 63,255,204, 55, 63,169,158, 70, 63,
-200,160, 44, 63, 67,153, 75, 63,113,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-196, 33, 77, 63,221, 52, 43, 63, 67,153, 75, 63,113,155, 54, 63,169,158, 70, 63,200,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,158, 70, 63,200,160, 44, 63,124, 84, 68, 63,255,204, 55, 63, 0, 0, 64, 63,
- 24, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 67,153, 75, 63,113,155, 54, 63,
-196, 33, 77, 63,221, 52, 43, 63,225,225, 82, 63,165, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,225,225, 82, 63,165, 55, 52, 63, 16,232, 81, 63, 89,233, 63, 63, 67,153, 75, 63,113,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 74,174, 73, 63,193,236, 65, 63, 67,153, 75, 63,113,155, 54, 63,
- 16,232, 81, 63, 89,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 16,232, 81, 63,
- 89,233, 63, 63,225,225, 82, 63,165, 55, 52, 63,138,153, 89, 63, 49, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63,255,153, 71, 63,138,153, 89, 63, 39,228, 82, 63,179,139, 80, 63,164, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,139, 80, 63,164, 39, 75, 63, 16,232, 81, 63,
- 89,233, 63, 63,139,153, 89, 63,255,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-138,153, 89, 63, 49, 86, 60, 63,139,153, 89, 63,255,153, 71, 63, 16,232, 81, 63, 89,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 16,232, 81, 63, 89,233, 63, 63,179,139, 80, 63,164, 39, 75, 63, 74,174, 73, 63,
-193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63, 79, 12, 49, 63,
-138,153, 89, 63, 49, 86, 60, 63,225,225, 82, 63,165, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,225,225, 82, 63,165, 55, 52, 63, 75,124, 83, 63,217,228, 40, 63,139,153, 89, 63, 79, 12, 49, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63, 45,200, 37, 63,139,153, 89, 63, 79, 12, 49, 63,
- 75,124, 83, 63,217,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,124, 83, 63,
-217,228, 40, 63,225,225, 82, 63,165, 55, 52, 63,196, 33, 77, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,120,223, 69, 63,198, 83, 78, 63, 74,174, 73, 63,193,236, 65, 63,179,139, 80, 63,164, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,139, 80, 63,164, 39, 75, 63,148,221, 77, 63,
-140, 64, 88, 63,120,223, 69, 63,198, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63, 12, 56, 90, 63,120,223, 69, 63,198, 83, 78, 63,148,221, 77, 63,140, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,148,221, 77, 63,140, 64, 88, 63,179,139, 80, 63,164, 39, 75, 63,138,153, 89, 63,
- 39,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120,223, 69, 63,198, 83, 78, 63,
- 0, 0, 64, 63, 12, 56, 90, 63,136, 32, 58, 63,198, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,136, 32, 58, 63,198, 83, 78, 63, 0, 0, 64, 63,106, 23, 67, 63,120,223, 69, 63,198, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 74,174, 73, 63,193,236, 65, 63,120,223, 69, 63,198, 83, 78, 63,
- 0, 0, 64, 63,106, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,
-106, 23, 67, 63,136, 32, 58, 63,198, 83, 78, 63,182, 81, 54, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,132,171, 59, 63,255,204, 55, 63, 0, 0, 64, 63, 24, 28, 45, 63,124, 84, 68, 63,255,204, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 84, 68, 63,255,204, 55, 63, 0, 0, 64, 63,
-106, 23, 67, 63,132,171, 59, 63,255,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-182, 81, 54, 63,193,236, 65, 63,132,171, 59, 63,255,204, 55, 63, 0, 0, 64, 63,106, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,106, 23, 67, 63,124, 84, 68, 63,255,204, 55, 63, 74,174, 73, 63,
-193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 77,116, 47, 63,164, 39, 75, 63,
-182, 81, 54, 63,193,236, 65, 63,136, 32, 58, 63,198, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,136, 32, 58, 63,198, 83, 78, 63,108, 34, 50, 63,140, 64, 88, 63, 77,116, 47, 63,164, 39, 75, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,102, 38, 63, 38,228, 82, 63, 77,116, 47, 63,164, 39, 75, 63,
-108, 34, 50, 63,140, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,108, 34, 50, 63,
-140, 64, 88, 63,136, 32, 58, 63,198, 83, 78, 63, 0, 0, 64, 63, 12, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 31, 30, 45, 63,165, 55, 52, 63,117,102, 38, 63, 50, 86, 60, 63,117,102, 38, 63, 78, 12, 49, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63, 78, 12, 49, 63,181,131, 44, 63,
-216,228, 40, 63, 31, 30, 45, 63,165, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 60,222, 50, 63,221, 52, 43, 63, 31, 30, 45, 63,165, 55, 52, 63,181,131, 44, 63,216,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,181,131, 44, 63,216,228, 40, 63,117,102, 38, 63, 78, 12, 49, 63,117,102, 38, 63,
- 45,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31, 30, 45, 63,165, 55, 52, 63,
- 60,222, 50, 63,221, 52, 43, 63,189,102, 52, 63,113,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,189,102, 52, 63,113,155, 54, 63,240, 23, 46, 63, 89,233, 63, 63, 31, 30, 45, 63,165, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63, 50, 86, 60, 63, 31, 30, 45, 63,165, 55, 52, 63,
-240, 23, 46, 63, 89,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 23, 46, 63,
- 89,233, 63, 63,189,102, 52, 63,113,155, 54, 63,182, 81, 54, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 77,116, 47, 63,164, 39, 75, 63,118,102, 38, 63, 38,228, 82, 63,117,102, 38, 63,255,153, 71, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63,255,153, 71, 63,240, 23, 46, 63,
- 89,233, 63, 63, 77,116, 47, 63,164, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-182, 81, 54, 63,193,236, 65, 63, 77,116, 47, 63,164, 39, 75, 63,240, 23, 46, 63, 89,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 23, 46, 63, 89,233, 63, 63,117,102, 38, 63,255,153, 71, 63,117,102, 38, 63,
- 50, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132,171, 59, 63,255,204, 55, 63,
-182, 81, 54, 63,193,236, 65, 63,189,102, 52, 63,113,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,189,102, 52, 63,113,155, 54, 63, 87, 97, 57, 63,200,160, 44, 63,132,171, 59, 63,255,204, 55, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 24, 28, 45, 63,132,171, 59, 63,255,204, 55, 63,
- 87, 97, 57, 63,200,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 97, 57, 63,
-200,160, 44, 63,189,102, 52, 63,113,155, 54, 63, 60,222, 50, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,250,101, 54, 63, 51, 26, 99, 63,118,102, 38, 63, 19,114,105, 63,118,102, 38, 63, 77, 46, 94, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,102, 38, 63, 77, 46, 94, 63,108, 34, 50, 63,
-140, 64, 88, 63,250,101, 54, 63, 51, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63, 12, 56, 90, 63,250,101, 54, 63, 51, 26, 99, 63,108, 34, 50, 63,140, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,108, 34, 50, 63,140, 64, 88, 63,118,102, 38, 63, 77, 46, 94, 63,118,102, 38, 63,
- 38,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,250,101, 54, 63, 51, 26, 99, 63,
- 0, 0, 64, 63, 12, 56, 90, 63, 6,154, 73, 63, 51, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 6,154, 73, 63, 51, 26, 99, 63, 0, 0, 64, 63,206,154,109, 63,250,101, 54, 63, 51, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,102, 38, 63, 19,114,105, 63,250,101, 54, 63, 51, 26, 99, 63,
- 0, 0, 64, 63,206,154,109, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,
-206,154,109, 63, 6,154, 73, 63, 51, 26, 99, 63,138,153, 89, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,136,153, 89, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,120,102, 38, 63,242,187,116, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120,102, 38, 63,242,187,116, 63, 0, 0, 64, 63,
-206,154,109, 63,136,153, 89, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-138,153, 89, 63, 19,114,105, 63,136,153, 89, 63,242,187,116, 63, 0, 0, 64, 63,206,154,109, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,206,154,109, 63,120,102, 38, 63,242,187,116, 63,118,102, 38, 63,
- 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,153, 89, 63, 77, 46, 94, 63,
-138,153, 89, 63, 19,114,105, 63, 6,154, 73, 63, 51, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 6,154, 73, 63, 51, 26, 99, 63,148,221, 77, 63,140, 64, 88, 63,138,153, 89, 63, 77, 46, 94, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,153, 89, 63, 39,228, 82, 63,138,153, 89, 63, 77, 46, 94, 63,
-148,221, 77, 63,140, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,148,221, 77, 63,
-140, 64, 88, 63, 6,154, 73, 63, 51, 26, 99, 63, 0, 0, 64, 63, 12, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,167, 71, 8, 62, 7,205, 55, 63,170,192,229, 61,200,236, 65, 63,203,104,214, 61,120,155, 54, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,203,104,214, 61,120,155, 54, 63,201, 61,254, 61,
-207,160, 44, 63,167, 71, 8, 62, 7,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-173,153, 25, 62, 27, 28, 45, 63,167, 71, 8, 62, 7,205, 55, 63,201, 61,254, 61,207,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,201, 61,254, 61,207,160, 44, 63,203,104,214, 61,120,155, 54, 63,175, 36,202, 61,
-228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 35,156, 61,172, 55, 52, 63,
-175, 36,202, 61,228, 52, 43, 63,203,104,214, 61,120,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,203,104,214, 61,120,155, 54, 63, 32,242,163, 61, 96,233, 63, 63,145, 35,156, 61,172, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,203, 76, 61, 53, 86, 60, 63,145, 35,156, 61,172, 55, 52, 63,
- 32,242,163, 61, 96,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32,242,163, 61,
- 96,233, 63, 63,203,104,214, 61,120,155, 54, 63,170,192,229, 61,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 17,213,174, 61,171, 39, 75, 63,243,203, 76, 61, 41,228, 82, 63,244,203, 76, 61, 2,154, 71, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,203, 76, 61, 2,154, 71, 63, 32,242,163, 61,
- 96,233, 63, 63, 17,213,174, 61,171, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-170,192,229, 61,200,236, 65, 63, 17,213,174, 61,171, 39, 75, 63, 32,242,163, 61, 96,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32,242,163, 61, 96,233, 63, 63,244,203, 76, 61, 2,154, 71, 63,246,203, 76, 61,
- 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 35,156, 61,172, 55, 52, 63,
-246,203, 76, 61, 53, 86, 60, 63,243,203, 76, 61, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,243,203, 76, 61, 82, 12, 49, 63, 53, 80,151, 61,223,228, 40, 63,145, 35,156, 61,172, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,175, 36,202, 61,228, 52, 43, 63,145, 35,156, 61,172, 55, 52, 63,
- 53, 80,151, 61,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 80,151, 61,
-223,228, 40, 63,243,203, 76, 61, 82, 12, 49, 63,246,203, 76, 61, 48,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 17,213,174, 61,171, 39, 75, 63,170,192,229, 61,200,236, 65, 63,169, 27, 2, 62,204, 83, 78, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169, 27, 2, 62,204, 83, 78, 63, 23, 70,196, 61,
-147, 64, 88, 63, 17,213,174, 61,171, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-243,203, 76, 61, 41,228, 82, 63, 17,213,174, 61,171, 39, 75, 63, 23, 70,196, 61,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 70,196, 61,147, 64, 88, 63,169, 27, 2, 62,204, 83, 78, 63,160,153, 25, 62,
- 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162, 23, 49, 62,195, 83, 78, 63,
-160,153, 25, 62, 14, 56, 90, 63,169, 27, 2, 62,204, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,169, 27, 2, 62,204, 83, 78, 63,172,153, 25, 62,108, 23, 67, 63,162, 23, 49, 62,195, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 82, 64, 62,183,236, 65, 63,162, 23, 49, 62,195, 83, 78, 63,
-172,153, 25, 62,108, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,153, 25, 62,
-108, 23, 67, 63,169, 27, 2, 62,204, 83, 78, 63,170,192,229, 61,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,167, 71, 8, 62, 7,205, 55, 63,173,153, 25, 62, 27, 28, 45, 63,173,235, 42, 62,254,204, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,235, 42, 62,254,204, 55, 63,172,153, 25, 62,
-108, 23, 67, 63,167, 71, 8, 62, 7,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-170,192,229, 61,200,236, 65, 63,167, 71, 8, 62, 7,205, 55, 63,172,153, 25, 62,108, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,153, 25, 62,108, 23, 67, 63,173,235, 42, 62,254,204, 55, 63,240, 82, 64, 62,
-183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162, 23, 49, 62,195, 83, 78, 63,
-240, 82, 64, 62,183,236, 65, 63,166,200, 91, 62,147, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,166,200, 91, 62,147, 39, 75, 63, 34, 16, 81, 62,131, 64, 88, 63,162, 23, 49, 62,195, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,153, 25, 62, 14, 56, 90, 63,162, 23, 49, 62,195, 83, 78, 63,
- 34, 16, 81, 62,131, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 16, 81, 62,
-131, 64, 88, 63,166,200, 91, 62,147, 39, 75, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 62, 19, 86, 60, 63, 92, 33,101, 62,146, 55, 52, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92, 33,101, 62,146, 55, 52, 63, 14,139,103, 62,
-199,228, 40, 63, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 23,200, 37, 63, 0, 0,128, 62, 47, 12, 49, 63, 14,139,103, 62,199,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,139,103, 62,199,228, 40, 63, 92, 33,101, 62,146, 55, 52, 63,230, 32, 78, 62,
-211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,223,254, 71, 62,102,155, 54, 63,
-230, 32, 78, 62,211, 52, 43, 63, 92, 33,101, 62,146, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 92, 33,101, 62,146, 55, 52, 63, 23, 58, 97, 62, 69,233, 63, 63,223,254, 71, 62,102,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 82, 64, 62,183,236, 65, 63,223,254, 71, 62,102,155, 54, 63,
- 23, 58, 97, 62, 69,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 58, 97, 62,
- 69,233, 63, 63, 92, 33,101, 62,146, 55, 52, 63, 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 62, 13,228, 82, 63,166,200, 91, 62,147, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,200, 91, 62,147, 39, 75, 63, 23, 58, 97, 62,
- 69,233, 63, 63, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 62,228,153, 71, 63, 23, 58, 97, 62, 69,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 58, 97, 62, 69,233, 63, 63,166,200, 91, 62,147, 39, 75, 63,240, 82, 64, 62,
-183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,223,254, 71, 62,102,155, 54, 63,
-240, 82, 64, 62,183,236, 65, 63,173,235, 42, 62,254,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,173,235, 42, 62,254,204, 55, 63,105, 20, 52, 62,198,160, 44, 63,223,254, 71, 62,102,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230, 32, 78, 62,211, 52, 43, 63,223,254, 71, 62,102,155, 54, 63,
-105, 20, 52, 62,198,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,105, 20, 52, 62,
-198,160, 44, 63,173,235, 42, 62,254,204, 55, 63,173,153, 25, 62, 27, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 62, 8,114,105, 63,230, 1, 64, 62, 49, 26, 99, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230, 1, 64, 62, 49, 26, 99, 63, 34, 16, 81, 62,
-131, 64, 88, 63, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 62, 58, 46, 94, 63, 34, 16, 81, 62,131, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 16, 81, 62,131, 64, 88, 63,230, 1, 64, 62, 49, 26, 99, 63,160,153, 25, 62,
- 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164, 98,230, 61, 58, 26, 99, 63,
-160,153, 25, 62, 14, 56, 90, 63,230, 1, 64, 62, 49, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,230, 1, 64, 62, 49, 26, 99, 63,159,153, 25, 62,210,154,109, 63,164, 98,230, 61, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,237,203, 76, 61, 22,114,105, 63,164, 98,230, 61, 58, 26, 99, 63,
-159,153, 25, 62,210,154,109, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,153, 25, 62,
-210,154,109, 63,230, 1, 64, 62, 49, 26, 99, 63, 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,232,187,116, 63, 3,153, 59, 63, 0, 0,128, 63, 95,102,134, 63,242,187,116, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,210,203, 76, 61,242,187,116, 63,159,153, 25, 62,
-210,154,109, 63, 0, 0,128, 62,232,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 62,232,187,116, 63,159,153, 25, 62,210,154,109, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,153, 25, 62,210,154,109, 63,210,203, 76, 61,242,187,116, 63,237,203, 76, 61,
- 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164, 98,230, 61, 58, 26, 99, 63,
-237,203, 76, 61, 22,114,105, 63,234,203, 76, 61, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,234,203, 76, 61, 79, 46, 94, 63, 23, 70,196, 61,147, 64, 88, 63,164, 98,230, 61, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,153, 25, 62, 14, 56, 90, 63,164, 98,230, 61, 58, 26, 99, 63,
- 23, 70,196, 61,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 70,196, 61,
-147, 64, 88, 63,234,203, 76, 61, 79, 46, 94, 63,243,203, 76, 61, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 42,138,170, 62,254,204, 55, 63,136,214,159, 62,183,236, 65, 63,145, 0,156, 62,102,155, 54, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 0,156, 62,102,155, 54, 63,204,245,165, 62,
-198,160, 44, 63, 42,138,170, 62,254,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 42, 51,179, 62, 28, 28, 45, 63, 42,138,170, 62,254,204, 55, 63,204,245,165, 62,198,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204,245,165, 62,198,160, 44, 63,145, 0,156, 62,102,155, 54, 63,141,239,152, 62,
-211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 82,111,141, 62,146, 55, 52, 63,
-141,239,152, 62,211, 52, 43, 63,145, 0,156, 62,102,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,145, 0,156, 62,102,155, 54, 63,245, 98,143, 62, 68,233, 63, 63, 82,111,141, 62,146, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 19, 86, 60, 63, 82,111,141, 62,146, 55, 52, 63,
-245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245, 98,143, 62,
- 68,233, 63, 63,145, 0,156, 62,102,155, 54, 63,136,214,159, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 62,228,153, 71, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,228,153, 71, 63,245, 98,143, 62,
- 68,233, 63, 63,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-136,214,159, 62,183,236, 65, 63,173, 27,146, 62,147, 39, 75, 63,245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 62,
- 19, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 82,111,141, 62,146, 55, 52, 63,
- 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0,128, 62, 47, 12, 49, 63,121, 58,140, 62,199,228, 40, 63, 82,111,141, 62,146, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,141,239,152, 62,211, 52, 43, 63, 82,111,141, 62,146, 55, 52, 63,
-121, 58,140, 62,199,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121, 58,140, 62,
-199,228, 40, 63, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 62, 23,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,173, 27,146, 62,147, 39, 75, 63,136,214,159, 62,183,236, 65, 63, 47,116,167, 62,195, 83, 78, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47,116,167, 62,195, 83, 78, 63,239,119,151, 62,
-131, 64, 88, 63,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62, 13,228, 82, 63,173, 27,146, 62,147, 39, 75, 63,239,119,151, 62,131, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,119,151, 62,131, 64, 88, 63, 47,116,167, 62,195, 83, 78, 63, 49, 51,179, 62,
- 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 44,242,190, 62,205, 83, 78, 63,
- 49, 51,179, 62, 14, 56, 90, 63, 47,116,167, 62,195, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 47,116,167, 62,195, 83, 78, 63, 42, 51,179, 62,108, 23, 67, 63, 44,242,190, 62,205, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,143,198, 62,200,236, 65, 63, 44,242,190, 62,205, 83, 78, 63,
- 42, 51,179, 62,108, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 51,179, 62,
-108, 23, 67, 63, 47,116,167, 62,195, 83, 78, 63,136,214,159, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 42,138,170, 62,254,204, 55, 63, 42, 51,179, 62, 28, 28, 45, 63, 45,220,187, 62, 7,205, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 45,220,187, 62, 7,205, 55, 63, 42, 51,179, 62,
-108, 23, 67, 63, 42,138,170, 62,254,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-136,214,159, 62,183,236, 65, 63, 42,138,170, 62,254,204, 55, 63, 42, 51,179, 62,108, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 51,179, 62,108, 23, 67, 63, 45,220,187, 62, 7,205, 55, 63,214,143,198, 62,
-200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 44,242,190, 62,205, 83, 78, 63,
-214,143,198, 62,200,236, 65, 63,188, 74,212, 62,171, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,188, 74,212, 62,171, 39, 75, 63,122,238,206, 62,147, 64, 88, 63, 44,242,190, 62,205, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62, 14, 56, 90, 63, 44,242,190, 62,205, 83, 78, 63,
-122,238,206, 62,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,238,206, 62,
-147, 64, 88, 63,188, 74,212, 62,171, 39, 75, 63,130,102,230, 62, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,130,102,230, 62, 82, 12, 49, 63,129,102,230, 62, 53, 86, 60, 63, 28,247,216, 62,172, 55, 52, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 28,247,216, 62,172, 55, 52, 63,243, 43,218, 62,
-223,228, 40, 63,130,102,230, 62, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-129,102,230, 62, 48,200, 37, 63,130,102,230, 62, 82, 12, 49, 63,243, 43,218, 62,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,243, 43,218, 62,223,228, 40, 63, 28,247,216, 62,172, 55, 52, 63,212,118,205, 62,
-228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,206,101,202, 62,120,155, 54, 63,
-212,118,205, 62,228, 52, 43, 63, 28,247,216, 62,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 28,247,216, 62,172, 55, 52, 63,120, 3,215, 62, 95,233, 63, 63,206,101,202, 62,120,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,143,198, 62,200,236, 65, 63,206,101,202, 62,120,155, 54, 63,
-120, 3,215, 62, 95,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120, 3,215, 62,
- 95,233, 63, 63, 28,247,216, 62,172, 55, 52, 63,129,102,230, 62, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,130,102,230, 62, 1,154, 71, 63,130,102,230, 62, 41,228, 82, 63,188, 74,212, 62,171, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188, 74,212, 62,171, 39, 75, 63,120, 3,215, 62,
- 95,233, 63, 63,130,102,230, 62, 1,154, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-129,102,230, 62, 53, 86, 60, 63,130,102,230, 62, 1,154, 71, 63,120, 3,215, 62, 95,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120, 3,215, 62, 95,233, 63, 63,188, 74,212, 62,171, 39, 75, 63,214,143,198, 62,
-200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,206,101,202, 62,120,155, 54, 63,
-214,143,198, 62,200,236, 65, 63, 45,220,187, 62, 7,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 45,220,187, 62, 7,205, 55, 63,142,112,192, 62,207,160, 44, 63,206,101,202, 62,120,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,118,205, 62,228, 52, 43, 63,206,101,202, 62,120,155, 54, 63,
-142,112,192, 62,207,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,142,112,192, 62,
-207,160, 44, 63, 45,220,187, 62, 7,205, 55, 63, 42, 51,179, 62, 28, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,131,102,230, 62, 79, 46, 94, 63,131,102,230, 62, 22,114,105, 63, 87,103,198, 62, 58, 26, 99, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87,103,198, 62, 58, 26, 99, 63,122,238,206, 62,
-147, 64, 88, 63,131,102,230, 62, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-130,102,230, 62, 41,228, 82, 63,131,102,230, 62, 79, 46, 94, 63,122,238,206, 62,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,238,206, 62,147, 64, 88, 63, 87,103,198, 62, 58, 26, 99, 63, 49, 51,179, 62,
- 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,255,159, 62, 49, 26, 99, 63,
- 49, 51,179, 62, 14, 56, 90, 63, 87,103,198, 62, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 87,103,198, 62, 58, 26, 99, 63, 49, 51,179, 62,210,154,109, 63, 14,255,159, 62, 49, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 8,114,105, 63, 14,255,159, 62, 49, 26, 99, 63,
- 49, 51,179, 62,210,154,109, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62,
-210,154,109, 63, 87,103,198, 62, 58, 26, 99, 63,131,102,230, 62, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,134,102,230, 62,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63, 0, 0,128, 62,232,187,116, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,232,187,116, 63, 49, 51,179, 62,
-210,154,109, 63,134,102,230, 62,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-131,102,230, 62, 22,114,105, 63,134,102,230, 62,242,187,116, 63, 49, 51,179, 62,210,154,109, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62,210,154,109, 63, 0, 0,128, 62,232,187,116, 63, 0, 0,128, 62,
- 8,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,255,159, 62, 49, 26, 99, 63,
- 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0,128, 62, 58, 46, 94, 63,239,119,151, 62,131, 64, 88, 63, 14,255,159, 62, 49, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62, 14, 56, 90, 63, 14,255,159, 62, 49, 26, 99, 63,
-239,119,151, 62,131, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,119,151, 62,
-131, 64, 88, 63, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 93,120, 8, 63, 11,205, 55, 63,140, 30, 3, 63,201,236, 65, 63,145, 51, 1, 63,121,155, 54, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 51, 1, 63,121,155, 54, 63, 46, 46, 6, 63,
-211,160, 44, 63, 93,120, 8, 63, 11,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-220,204, 12, 63, 35, 28, 45, 63, 93,120, 8, 63, 11,205, 55, 63, 46, 46, 6, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 46, 46, 6, 63,211,160, 44, 63,145, 51, 1, 63,121,155, 54, 63, 30, 86,255, 62,
-230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,213,243, 62,172, 55, 52, 63,
- 30, 86,255, 62,230, 52, 43, 63,145, 51, 1, 63,121,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,145, 51, 1, 63,121,155, 54, 63,128,201,245, 62, 94,233, 63, 63,222,213,243, 62,172, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,129,102,230, 62, 53, 86, 60, 63,222,213,243, 62,172, 55, 52, 63,
-128,201,245, 62, 94,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,201,245, 62,
- 94,233, 63, 63,145, 51, 1, 63,121,155, 54, 63,140, 30, 3, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 59,130,248, 62,169, 39, 75, 63,130,102,230, 62, 41,228, 82, 63,130,102,230, 62, 1,154, 71, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,130,102,230, 62, 1,154, 71, 63,128,201,245, 62,
- 94,233, 63, 63, 59,130,248, 62,169, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-140, 30, 3, 63,201,236, 65, 63, 59,130,248, 62,169, 39, 75, 63,128,201,245, 62, 94,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,201,245, 62, 94,233, 63, 63,130,102,230, 62, 1,154, 71, 63,129,102,230, 62,
- 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,213,243, 62,172, 55, 52, 63,
-129,102,230, 62, 53, 86, 60, 63,130,102,230, 62, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,130,102,230, 62, 82, 12, 49, 63, 9,161,242, 62,223,228, 40, 63,222,213,243, 62,172, 55, 52, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 86,255, 62,230, 52, 43, 63,222,213,243, 62,172, 55, 52, 63,
- 9,161,242, 62,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9,161,242, 62,
-223,228, 40, 63,130,102,230, 62, 82, 12, 49, 63,129,102,230, 62, 48,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 59,130,248, 62,169, 39, 75, 63,140, 30, 3, 63,201,236, 65, 63, 94,237, 6, 63,207, 83, 78, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94,237, 6, 63,207, 83, 78, 63,118,222,253, 62,
-148, 64, 88, 63, 59,130,248, 62,169, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-130,102,230, 62, 41,228, 82, 63, 59,130,248, 62,169, 39, 75, 63,118,222,253, 62,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,222,253, 62,148, 64, 88, 63, 94,237, 6, 63,207, 83, 78, 63,220,204, 12, 63,
- 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,172, 18, 63,207, 83, 78, 63,
-220,204, 12, 63, 22, 56, 90, 63, 94,237, 6, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 94,237, 6, 63,207, 83, 78, 63,220,204, 12, 63,115, 23, 67, 63, 88,172, 18, 63,207, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 44,123, 22, 63,201,236, 65, 63, 88,172, 18, 63,207, 83, 78, 63,
-220,204, 12, 63,115, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63,
-115, 23, 67, 63, 94,237, 6, 63,207, 83, 78, 63,140, 30, 3, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 93,120, 8, 63, 11,205, 55, 63,220,204, 12, 63, 35, 28, 45, 63, 91, 33, 17, 63, 9,205, 55, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91, 33, 17, 63, 9,205, 55, 63,220,204, 12, 63,
-115, 23, 67, 63, 93,120, 8, 63, 11,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-140, 30, 3, 63,201,236, 65, 63, 93,120, 8, 63, 11,205, 55, 63,220,204, 12, 63,115, 23, 67, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63,115, 23, 67, 63, 91, 33, 17, 63, 9,205, 55, 63, 44,123, 22, 63,
-201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,172, 18, 63,207, 83, 78, 63,
- 44,123, 22, 63,201,236, 65, 63,153, 88, 29, 63,167, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,153, 88, 29, 63,167, 39, 75, 63,121,170, 26, 63,147, 64, 88, 63, 88,172, 18, 63,207, 83, 78, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63, 22, 56, 90, 63, 88,172, 18, 63,207, 83, 78, 63,
-121,170, 26, 63,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121,170, 26, 63,
-147, 64, 88, 63,153, 88, 29, 63,167, 39, 75, 63,118,102, 38, 63, 38,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63, 78, 12, 49, 63,117,102, 38, 63, 50, 86, 60, 63,200,174, 31, 63,169, 55, 52, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,200,174, 31, 63,169, 55, 52, 63, 51, 73, 32, 63,
-221,228, 40, 63,117,102, 38, 63, 78, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-117,102, 38, 63, 45,200, 37, 63,117,102, 38, 63, 78, 12, 49, 63, 51, 73, 32, 63,221,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51, 73, 32, 63,221,228, 40, 63,200,174, 31, 63,169, 55, 52, 63,169,238, 25, 63,
-229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 39,102, 24, 63,119,155, 54, 63,
-169,238, 25, 63,229, 52, 43, 63,200,174, 31, 63,169, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,200,174, 31, 63,169, 55, 52, 63,246,180, 30, 63, 92,233, 63, 63, 39,102, 24, 63,119,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 44,123, 22, 63,201,236, 65, 63, 39,102, 24, 63,119,155, 54, 63,
-246,180, 30, 63, 92,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,180, 30, 63,
- 92,233, 63, 63,200,174, 31, 63,169, 55, 52, 63,117,102, 38, 63, 50, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63,255,153, 71, 63,118,102, 38, 63, 38,228, 82, 63,153, 88, 29, 63,167, 39, 75, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153, 88, 29, 63,167, 39, 75, 63,246,180, 30, 63,
- 92,233, 63, 63,117,102, 38, 63,255,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-117,102, 38, 63, 50, 86, 60, 63,117,102, 38, 63,255,153, 71, 63,246,180, 30, 63, 92,233, 63, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,180, 30, 63, 92,233, 63, 63,153, 88, 29, 63,167, 39, 75, 63, 44,123, 22, 63,
-201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 39,102, 24, 63,119,155, 54, 63,
- 44,123, 22, 63,201,236, 65, 63, 91, 33, 17, 63, 9,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 91, 33, 17, 63, 9,205, 55, 63,138,107, 19, 63,211,160, 44, 63, 39,102, 24, 63,119,155, 54, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,238, 25, 63,229, 52, 43, 63, 39,102, 24, 63,119,155, 54, 63,
-138,107, 19, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,107, 19, 63,
-211,160, 44, 63, 91, 33, 17, 63, 9,205, 55, 63,220,204, 12, 63, 35, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,118,102, 38, 63, 77, 46, 94, 63,118,102, 38, 63, 19,114,105, 63,235,102, 22, 63, 59, 26, 99, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,102, 22, 63, 59, 26, 99, 63,121,170, 26, 63,
-147, 64, 88, 63,118,102, 38, 63, 77, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-118,102, 38, 63, 38,228, 82, 63,118,102, 38, 63, 77, 46, 94, 63,121,170, 26, 63,147, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121,170, 26, 63,147, 64, 88, 63,235,102, 22, 63, 59, 26, 99, 63,220,204, 12, 63,
- 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 50, 3, 63, 58, 26, 99, 63,
-220,204, 12, 63, 22, 56, 90, 63,235,102, 22, 63, 59, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,235,102, 22, 63, 59, 26, 99, 63,224,204, 12, 63,212,154,109, 63,204, 50, 3, 63, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,102,230, 62, 22,114,105, 63,204, 50, 3, 63, 58, 26, 99, 63,
-224,204, 12, 63,212,154,109, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,204, 12, 63,
-212,154,109, 63,235,102, 22, 63, 59, 26, 99, 63,118,102, 38, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,120,102, 38, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,134,102,230, 62,242,187,116, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134,102,230, 62,242,187,116, 63,224,204, 12, 63,
-212,154,109, 63,120,102, 38, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-118,102, 38, 63, 19,114,105, 63,120,102, 38, 63,242,187,116, 63,224,204, 12, 63,212,154,109, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,204, 12, 63,212,154,109, 63,134,102,230, 62,242,187,116, 63,131,102,230, 62,
- 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 50, 3, 63, 58, 26, 99, 63,
-131,102,230, 62, 22,114,105, 63,131,102,230, 62, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,131,102,230, 62, 79, 46, 94, 63,118,222,253, 62,148, 64, 88, 63,204, 50, 3, 63, 58, 26, 99, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63, 22, 56, 90, 63,204, 50, 3, 63, 58, 26, 99, 63,
-118,222,253, 62,148, 64, 88, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,222,253, 62,
-148, 64, 88, 63,131,102,230, 62, 79, 46, 94, 63,130,102,230, 62, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,213,233, 76, 63, 35, 48, 21, 63,176,235, 70, 63,226,209, 22, 63, 80,234, 73, 63,146,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,234, 73, 63,146,111, 11, 63, 1,200, 79, 63,
- 94,152, 9, 63,213,233, 76, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 19,215, 82, 63,252, 29, 19, 63,213,233, 76, 63, 35, 48, 21, 63, 1,200, 79, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,200, 79, 63, 94,152, 9, 63, 80,234, 73, 63,146,111, 11, 63,193,204, 76, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,233, 76, 63, 35, 48, 21, 63,
- 19,215, 82, 63,252, 29, 19, 63,220, 41, 80, 63,105, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,220, 41, 80, 63,105, 60, 31, 63,164,219, 73, 63,173, 23, 33, 63,213,233, 76, 63, 35, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,235, 70, 63,226,209, 22, 63,213,233, 76, 63, 35, 48, 21, 63,
-164,219, 73, 63,173, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,219, 73, 63,
-173, 23, 33, 63,220, 41, 80, 63,105, 60, 31, 63,196, 33, 77, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,169,158, 70, 63,200,160, 44, 63, 0, 0, 64, 63, 24, 28, 45, 63, 5,171, 67, 63,216, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 5,171, 67, 63,216, 17, 34, 63,164,219, 73, 63,
-173, 23, 33, 63,169,158, 70, 63,200,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-196, 33, 77, 63,221, 52, 43, 63,169,158, 70, 63,200,160, 44, 63,164,219, 73, 63,173, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,219, 73, 63,173, 23, 33, 63, 5,171, 67, 63,216, 17, 34, 63,176,235, 70, 63,
-226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,124, 83, 63,217,228, 40, 63,
-196, 33, 77, 63,221, 52, 43, 63,220, 41, 80, 63,105, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,220, 41, 80, 63,105, 60, 31, 63,218, 20, 86, 63,143,140, 28, 63, 75,124, 83, 63,217,228, 40, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63, 45,200, 37, 63, 75,124, 83, 63,217,228, 40, 63,
-218, 20, 86, 63,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 20, 86, 63,
-143,140, 28, 63,220, 41, 80, 63,105, 60, 31, 63, 19,215, 82, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,182, 32, 23, 63,176,235, 70, 63,226,209, 22, 63, 5,171, 67, 63,216, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 5,171, 67, 63,216, 17, 34, 63,251, 84, 60, 63,
-216, 17, 34, 63, 0, 0, 64, 63,182, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 80, 20, 57, 63,226,209, 22, 63, 0, 0, 64, 63,182, 32, 23, 63,251, 84, 60, 63,216, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251, 84, 60, 63,216, 17, 34, 63, 5,171, 67, 63,216, 17, 34, 63, 0, 0, 64, 63,
- 24, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,182, 32, 23, 63,
- 80, 20, 57, 63,226,209, 22, 63,169,156, 60, 63, 96,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,169,156, 60, 63, 96,116, 11, 63, 87, 99, 67, 63, 96,116, 11, 63, 0, 0, 64, 63,182, 32, 23, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,235, 70, 63,226,209, 22, 63, 0, 0, 64, 63,182, 32, 23, 63,
- 87, 99, 67, 63, 96,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 99, 67, 63,
- 96,116, 11, 63,169,156, 60, 63, 96,116, 11, 63, 0, 0, 64, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 96,102, 70, 63,244, 1, 0, 63,193,204, 76, 63, 0, 0, 0, 63, 80,234, 73, 63,146,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,234, 73, 63,146,111, 11, 63, 87, 99, 67, 63,
- 96,116, 11, 63, 96,102, 70, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63, 0, 0, 0, 63, 96,102, 70, 63,244, 1, 0, 63, 87, 99, 67, 63, 96,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 99, 67, 63, 96,116, 11, 63, 80,234, 73, 63,146,111, 11, 63,176,235, 70, 63,
-226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,153, 57, 63,244, 1, 0, 63,
- 0, 0, 64, 63, 0, 0, 0, 63,169,156, 60, 63, 96,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,169,156, 60, 63, 96,116, 11, 63,176, 21, 54, 63,146,111, 11, 63,160,153, 57, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 63, 51, 51, 63, 0, 0, 0, 63,160,153, 57, 63,244, 1, 0, 63,
-176, 21, 54, 63,146,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176, 21, 54, 63,
-146,111, 11, 63,169,156, 60, 63, 96,116, 11, 63, 80, 20, 57, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 93, 58,217, 62,144, 61, 57, 63, 19,196,217, 62, 85,123, 60, 63,253,230,198, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,123, 60, 63,253,230,198, 62,171,132, 67, 63,
-253,230,198, 62, 0, 0, 64, 63, 93, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-112,194, 70, 63, 19,196,217, 62, 0, 0, 64, 63, 93, 58,217, 62,171,132, 67, 63,253,230,198, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,132, 67, 63,253,230,198, 62, 85,123, 60, 63,253,230,198, 62, 0, 0, 64, 63,
-211,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 93, 58,217, 62,
-112,194, 70, 63, 19,196,217, 62,125, 84, 67, 63, 42,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,125, 84, 67, 63, 42,211,236, 62,131,171, 60, 63, 42,211,236, 62, 0, 0, 64, 63, 93, 58,217, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,144, 61, 57, 63, 19,196,217, 62, 0, 0, 64, 63, 93, 58,217, 62,
-131,171, 60, 63, 42,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,171, 60, 63,
- 42,211,236, 62,125, 84, 67, 63, 42,211,236, 62, 0, 0, 64, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,160,153, 57, 63,244, 1, 0, 63, 63, 51, 51, 63, 0, 0, 0, 63,128, 46, 54, 63, 75,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128, 46, 54, 63, 75,207,236, 62,131,171, 60, 63,
- 42,211,236, 62,160,153, 57, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63, 0, 0, 0, 63,160,153, 57, 63,244, 1, 0, 63,131,171, 60, 63, 42,211,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,171, 60, 63, 42,211,236, 62,128, 46, 54, 63, 75,207,236, 62,144, 61, 57, 63,
- 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 96,102, 70, 63,244, 1, 0, 63,
- 0, 0, 64, 63, 0, 0, 0, 63,125, 84, 67, 63, 42,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,125, 84, 67, 63, 42,211,236, 62,128,209, 73, 63, 75,207,236, 62, 96,102, 70, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,193,204, 76, 63, 0, 0, 0, 63, 96,102, 70, 63,244, 1, 0, 63,
-128,209, 73, 63, 75,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,209, 73, 63,
- 75,207,236, 62,125, 84, 67, 63, 42,211,236, 62,112,194, 70, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 43, 22, 51, 63, 35, 48, 21, 63,237, 40, 45, 63,252, 29, 19, 63,255, 55, 48, 63, 94,152, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255, 55, 48, 63, 94,152, 9, 63,176, 21, 54, 63,
-146,111, 11, 63, 43, 22, 51, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 80, 20, 57, 63,226,209, 22, 63, 43, 22, 51, 63, 35, 48, 21, 63,176, 21, 54, 63,146,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176, 21, 54, 63,146,111, 11, 63,255, 55, 48, 63, 94,152, 9, 63, 63, 51, 51, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43, 22, 51, 63, 35, 48, 21, 63,
- 80, 20, 57, 63,226,209, 22, 63, 91, 36, 54, 63,173, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 91, 36, 54, 63,173, 23, 33, 63, 36,214, 47, 63,105, 60, 31, 63, 43, 22, 51, 63, 35, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,237, 40, 45, 63,252, 29, 19, 63, 43, 22, 51, 63, 35, 48, 21, 63,
- 36,214, 47, 63,105, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36,214, 47, 63,
-105, 60, 31, 63, 91, 36, 54, 63,173, 23, 33, 63, 60,222, 50, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,181,131, 44, 63,216,228, 40, 63,117,102, 38, 63, 45,200, 37, 63, 38,235, 41, 63,141,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38,235, 41, 63,141,140, 28, 63, 36,214, 47, 63,
-105, 60, 31, 63,181,131, 44, 63,216,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 60,222, 50, 63,221, 52, 43, 63,181,131, 44, 63,216,228, 40, 63, 36,214, 47, 63,105, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36,214, 47, 63,105, 60, 31, 63, 38,235, 41, 63,141,140, 28, 63,237, 40, 45, 63,
-252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 97, 57, 63,200,160, 44, 63,
- 60,222, 50, 63,221, 52, 43, 63, 91, 36, 54, 63,173, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 91, 36, 54, 63,173, 23, 33, 63,251, 84, 60, 63,216, 17, 34, 63, 87, 97, 57, 63,200,160, 44, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 24, 28, 45, 63, 87, 97, 57, 63,200,160, 44, 63,
-251, 84, 60, 63,216, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251, 84, 60, 63,
-216, 17, 34, 63, 91, 36, 54, 63,173, 23, 33, 63, 80, 20, 57, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,134, 14,128, 63, 39, 48, 21, 63,227, 30,122, 63,233,209, 22, 63,138, 29,125, 63,150,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138, 29,125, 63,150,111, 11, 63,159,125,129, 63,
- 94,152, 9, 63,134, 14,128, 63, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-174, 73,193, 60,253, 29, 19, 63,209, 92,232, 57, 39, 48, 21, 63,114,207, 62, 60, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,125,129, 63, 94,152, 9, 63,138, 29,125, 63,150,111, 11, 63, 0, 0,128, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,209, 92,232, 57, 39, 48, 21, 63,
-174, 73,193, 60,253, 29, 19, 63,214, 67, 87, 60,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,136,174,129, 63,110, 60, 31, 63,213, 14,125, 63,180, 23, 33, 63,134, 14,128, 63, 39, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,227, 30,122, 63,233,209, 22, 63,134, 14,128, 63, 39, 48, 21, 63,
-213, 14,125, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14,125, 63,
-180, 23, 33, 63,136,174,129, 63,110, 60, 31, 63,121, 42,128, 63,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,210,209,121, 63,212,160, 44, 63, 36, 51,115, 63, 36, 28, 45, 63, 49,222,118, 63,226, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49,222,118, 63,226, 17, 34, 63,213, 14,125, 63,
-180, 23, 33, 63,210,209,121, 63,212,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-121, 42,128, 63,230, 52, 43, 63,210,209,121, 63,212,160, 44, 63,213, 14,125, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14,125, 63,180, 23, 33, 63, 49,222,118, 63,226, 17, 34, 63,227, 30,122, 63,
-233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,239,213, 60,223,228, 40, 63,
-120,226,169, 58,230, 52, 43, 63,214, 67, 87, 60,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,214, 67, 87, 60,110, 60, 31, 63, 13,129, 20, 61,143,140, 28, 63,111,239,213, 60,223,228, 40, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,203, 76, 61, 48,200, 37, 63,111,239,213, 60,223,228, 40, 63,
- 13,129, 20, 61,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 13,129, 20, 61,
-143,140, 28, 63,214, 67, 87, 60,110, 60, 31, 63,174, 73,193, 60,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 44, 51,115, 63,188, 32, 23, 63,227, 30,122, 63,233,209, 22, 63, 49,222,118, 63,226, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49,222,118, 63,226, 17, 34, 63, 31,136,111, 63,
-225, 17, 34, 63, 44, 51,115, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-116, 71,108, 63,232,209, 22, 63, 44, 51,115, 63,188, 32, 23, 63, 31,136,111, 63,225, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,136,111, 63,225, 17, 34, 63, 49,222,118, 63,226, 17, 34, 63, 36, 51,115, 63,
- 36, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 44, 51,115, 63,188, 32, 23, 63,
-116, 71,108, 63,232,209, 22, 63,213,207,111, 63,100,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,213,207,111, 63,100,116, 11, 63,138,150,118, 63,101,116, 11, 63, 44, 51,115, 63,188, 32, 23, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,227, 30,122, 63,233,209, 22, 63, 44, 51,115, 63,188, 32, 23, 63,
-138,150,118, 63,101,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,150,118, 63,
-101,116, 11, 63,213,207,111, 63,100,116, 11, 63, 51, 51,115, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,138, 29,125, 63,150,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138, 29,125, 63,150,111, 11, 63,138,150,118, 63,
-101,116, 11, 63,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 51, 51,115, 63, 0, 0, 0, 63,154,153,121, 63,244, 1, 0, 63,138,150,118, 63,101,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,150,118, 63,101,116, 11, 63,138, 29,125, 63,150,111, 11, 63,227, 30,122, 63,
-233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205,204,108, 63,244, 1, 0, 63,
- 51, 51,115, 63, 0, 0, 0, 63,213,207,111, 63,100,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,213,207,111, 63,100,116, 11, 63,213, 72,105, 63,149,111, 11, 63,205,204,108, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,101,102,102, 63, 0, 0, 0, 63,205,204,108, 63,244, 1, 0, 63,
-213, 72,105, 63,149,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 72,105, 63,
-149,111, 11, 63,213,207,111, 63,100,116, 11, 63,116, 71,108, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 58, 51,115, 63, 73, 58,217, 62,192,112,108, 63, 4,196,217, 62,139,174,111, 63,223,230,198, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,174,111, 63,223,230,198, 62,239,183,118, 63,
-227,230,198, 62, 58, 51,115, 63, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-179,245,121, 63, 6,196,217, 62, 58, 51,115, 63, 73, 58,217, 62,239,183,118, 63,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,183,118, 63,227,230,198, 62,139,174,111, 63,223,230,198, 62, 65, 51,115, 63,
-160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 58, 51,115, 63, 73, 58,217, 62,
-179,245,121, 63, 6,196,217, 62,185,135,118, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,185,135,118, 63, 30,211,236, 62,180,222,111, 63, 30,211,236, 62, 58, 51,115, 63, 73, 58,217, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,112,108, 63, 4,196,217, 62, 58, 51,115, 63, 73, 58,217, 62,
-180,222,111, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,222,111, 63,
- 30,211,236, 62,185,135,118, 63, 30,211,236, 62, 51, 51,115, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,205,204,108, 63,244, 1, 0, 63,101,102,102, 63, 0, 0, 0, 63,170, 97,105, 63, 65,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 97,105, 63, 65,207,236, 62,180,222,111, 63,
- 30,211,236, 62,205,204,108, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 51, 51,115, 63, 0, 0, 0, 63,205,204,108, 63,244, 1, 0, 63,180,222,111, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,222,111, 63, 30,211,236, 62,170, 97,105, 63, 65,207,236, 62,192,112,108, 63,
- 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,121, 63,244, 1, 0, 63,
- 51, 51,115, 63, 0, 0, 0, 63,185,135,118, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,185,135,118, 63, 30,211,236, 62,194, 4,125, 63, 67,207,236, 62,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63,154,153,121, 63,244, 1, 0, 63,
-194, 4,125, 63, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 4,125, 63,
- 67,207,236, 62,185,135,118, 63, 30,211,236, 62,179,245,121, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 76, 73,102, 63, 38, 48, 21, 63, 11, 92, 96, 63,253, 29, 19, 63, 33,107, 99, 63, 94,152, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 33,107, 99, 63, 94,152, 9, 63,213, 72,105, 63,
-149,111, 11, 63, 76, 73,102, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-116, 71,108, 63,232,209, 22, 63, 76, 73,102, 63, 38, 48, 21, 63,213, 72,105, 63,149,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 72,105, 63,149,111, 11, 63, 33,107, 99, 63, 94,152, 9, 63,101,102,102, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 76, 73,102, 63, 38, 48, 21, 63,
-116, 71,108, 63,232,209, 22, 63,124, 87,105, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,124, 87,105, 63,180, 23, 33, 63, 65, 9, 99, 63,109, 60, 31, 63, 76, 73,102, 63, 38, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11, 92, 96, 63,253, 29, 19, 63, 76, 73,102, 63, 38, 48, 21, 63,
- 65, 9, 99, 63,109, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 9, 99, 63,
-109, 60, 31, 63,124, 87,105, 63,180, 23, 33, 63, 87, 17,102, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,205,182, 95, 63,222,228, 40, 63,139,153, 89, 63, 45,200, 37, 63, 63, 30, 93, 63,143,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 63, 30, 93, 63,143,140, 28, 63, 65, 9, 99, 63,
-109, 60, 31, 63,205,182, 95, 63,222,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 87, 17,102, 63,229, 52, 43, 63,205,182, 95, 63,222,228, 40, 63, 65, 9, 99, 63,109, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 9, 99, 63,109, 60, 31, 63, 63, 30, 93, 63,143,140, 28, 63, 11, 92, 96, 63,
-253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,148,108, 63,211,160, 44, 63,
- 87, 17,102, 63,229, 52, 43, 63,124, 87,105, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,124, 87,105, 63,180, 23, 33, 63, 31,136,111, 63,225, 17, 34, 63,118,148,108, 63,211,160, 44, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63, 36, 28, 45, 63,118,148,108, 63,211,160, 44, 63,
- 31,136,111, 63,225, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,136,111, 63,
-225, 17, 34, 63,124, 87,105, 63,180, 23, 33, 63,116, 71,108, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 65, 65, 77, 62, 32, 48, 21, 63,152, 72, 53, 62,229,209, 22, 63, 47, 67, 65, 62,147,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47, 67, 65, 62,147,111, 11, 63,255,185, 88, 62,
- 90,152, 9, 63, 65, 65, 77, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 64,246,100, 62,246, 29, 19, 63, 65, 65, 77, 62, 32, 48, 21, 63,255,185, 88, 62, 90,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255,185, 88, 62, 90,152, 9, 63, 47, 67, 65, 62,147,111, 11, 63,254,204, 76, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 65, 77, 62, 32, 48, 21, 63,
- 64,246,100, 62,246, 29, 19, 63, 89, 65, 90, 62, 94, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 89, 65, 90, 62, 94, 60, 31, 63,107, 8, 65, 62,170, 23, 33, 63, 65, 65, 77, 62, 32, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,152, 72, 53, 62,229,209, 22, 63, 65, 65, 77, 62, 32, 48, 21, 63,
-107, 8, 65, 62,170, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107, 8, 65, 62,
-170, 23, 33, 63, 89, 65, 90, 62, 94, 60, 31, 63,230, 32, 78, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,105, 20, 52, 62,198,160, 44, 63,173,153, 25, 62, 27, 28, 45, 63,216, 69, 40, 62,220, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,216, 69, 40, 62,220, 17, 34, 63,107, 8, 65, 62,
-170, 23, 33, 63,105, 20, 52, 62,198,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-230, 32, 78, 62,211, 52, 43, 63,105, 20, 52, 62,198,160, 44, 63,107, 8, 65, 62,170, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107, 8, 65, 62,170, 23, 33, 63,216, 69, 40, 62,220, 17, 34, 63,152, 72, 53, 62,
-229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,139,103, 62,199,228, 40, 63,
-230, 32, 78, 62,211, 52, 43, 63, 89, 65, 90, 62, 94, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 89, 65, 90, 62, 94, 60, 31, 63, 83,237,113, 62,130,140, 28, 63, 14,139,103, 62,199,228, 40, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 23,200, 37, 63, 14,139,103, 62,199,228, 40, 63,
- 83,237,113, 62,130,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 83,237,113, 62,
-130,140, 28, 63, 89, 65, 90, 62, 94, 60, 31, 63, 64,246,100, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,180,153, 25, 62,185, 32, 23, 63,152, 72, 53, 62,229,209, 22, 63,216, 69, 40, 62,220, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,216, 69, 40, 62,220, 17, 34, 63,133,237, 10, 62,
-219, 17, 34, 63,180,153, 25, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-147,213,251, 61,228,209, 22, 63,180,153, 25, 62,185, 32, 23, 63,133,237, 10, 62,219, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,237, 10, 62,219, 17, 34, 63,216, 69, 40, 62,220, 17, 34, 63,173,153, 25, 62,
- 27, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,153, 25, 62,185, 32, 23, 63,
-147,213,251, 61,228,209, 22, 63, 67, 12, 12, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 67, 12, 12, 62, 98,116, 11, 63, 34, 39, 39, 62, 98,116, 11, 63,180,153, 25, 62,185, 32, 23, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,152, 72, 53, 62,229,209, 22, 63,180,153, 25, 62,185, 32, 23, 63,
- 34, 39, 39, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 39, 39, 62,
- 98,116, 11, 63, 67, 12, 12, 62, 98,116, 11, 63,181,153, 25, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 92, 51, 51, 62,244, 1, 0, 63,254,204, 76, 62, 0, 0, 0, 63, 47, 67, 65, 62,147,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47, 67, 65, 62,147,111, 11, 63, 34, 39, 39, 62,
- 98,116, 11, 63, 92, 51, 51, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-181,153, 25, 62, 0, 0, 0, 63, 92, 51, 51, 62,244, 1, 0, 63, 34, 39, 39, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 39, 39, 62, 98,116, 11, 63, 47, 67, 65, 62,147,111, 11, 63,152, 72, 53, 62,
-229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 8, 0, 0, 62,244, 1, 0, 63,
-181,153, 25, 62, 0, 0, 0, 63, 67, 12, 12, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 67, 12, 12, 62, 98,116, 11, 63,109,224,227, 61,147,111, 11, 63, 8, 0, 0, 62,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204,204, 61, 0, 0, 0, 63, 8, 0, 0, 62,244, 1, 0, 63,
-109,224,227, 61,147,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,224,227, 61,
-147,111, 11, 63, 67, 12, 12, 62, 98,116, 11, 63,147,213,251, 61,228,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,196,153, 25, 62, 73, 58,217, 62,171, 31,253, 61, 6,196,217, 62, 1,135, 11, 62,228,230,198, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,135, 11, 62,228,230,198, 62,153,172, 39, 62,
-230,230,198, 62,196,153, 25, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-179,163, 52, 62, 7,196,217, 62,196,153, 25, 62, 73, 58,217, 62,153,172, 39, 62,230,230,198, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153,172, 39, 62,230,230,198, 62, 1,135, 11, 62,228,230,198, 62,214,153, 25, 62,
-165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,196,153, 25, 62, 73, 58,217, 62,
-179,163, 52, 62, 7,196,217, 62,202,235, 38, 62, 33,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,202,235, 38, 62, 33,211,236, 62,173, 71, 12, 62, 31,211,236, 62,196,153, 25, 62, 73, 58,217, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171, 31,253, 61, 6,196,217, 62,196,153, 25, 62, 73, 58,217, 62,
-173, 71, 12, 62, 31,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173, 71, 12, 62,
- 31,211,236, 62,202,235, 38, 62, 33,211,236, 62,181,153, 25, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 8, 0, 0, 62,244, 1, 0, 63,215,204,204, 61, 0, 0, 0, 63,251,166,228, 61, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,166,228, 61, 67,207,236, 62,173, 71, 12, 62,
- 31,211,236, 62, 8, 0, 0, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-181,153, 25, 62, 0, 0, 0, 63, 8, 0, 0, 62,244, 1, 0, 63,173, 71, 12, 62, 31,211,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173, 71, 12, 62, 31,211,236, 62,251,166,228, 61, 67,207,236, 62,171, 31,253, 61,
- 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92, 51, 51, 62,244, 1, 0, 63,
-181,153, 25, 62, 0, 0, 0, 63,202,235, 38, 62, 33,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,202,235, 38, 62, 33,211,236, 62,251,223, 64, 62, 67,207,236, 62, 92, 51, 51, 62,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,254,204, 76, 62, 0, 0, 0, 63, 92, 51, 51, 62,244, 1, 0, 63,
-251,223, 64, 62, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,223, 64, 62,
- 67,207,236, 62,202,235, 38, 62, 33,211,236, 62,179,163, 52, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 42,228,203, 61, 37, 48, 21, 63, 1,122,156, 61,254, 29, 19, 63,172,242,180, 61, 96,152, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,242,180, 61, 96,152, 9, 63,109,224,227, 61,
-147,111, 11, 63, 42,228,203, 61, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-147,213,251, 61,228,209, 22, 63, 42,228,203, 61, 37, 48, 21, 63,109,224,227, 61,147,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,224,227, 61,147,111, 11, 63,172,242,180, 61, 96,152, 9, 63,215,204,204, 61,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,228,203, 61, 37, 48, 21, 63,
-147,213,251, 61,228,209, 22, 63,208, 85,228, 61,179, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,208, 85,228, 61,179, 23, 33, 63,212,227,177, 61,110, 60, 31, 63, 42,228,203, 61, 37, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,122,156, 61,254, 29, 19, 63, 42,228,203, 61, 37, 48, 21, 63,
-212,227,177, 61,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,227,177, 61,
-110, 60, 31, 63,208, 85,228, 61,179, 23, 33, 63,175, 36,202, 61,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 53, 80,151, 61,223,228, 40, 63,246,203, 76, 61, 48,200, 37, 63,166,139,130, 61,145,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,139,130, 61,145,140, 28, 63,212,227,177, 61,
-110, 60, 31, 63, 53, 80,151, 61,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-175, 36,202, 61,228, 52, 43, 63, 53, 80,151, 61,223,228, 40, 63,212,227,177, 61,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,227,177, 61,110, 60, 31, 63,166,139,130, 61,145,140, 28, 63, 1,122,156, 61,
-254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,201, 61,254, 61,207,160, 44, 63,
-175, 36,202, 61,228, 52, 43, 63,208, 85,228, 61,179, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,208, 85,228, 61,179, 23, 33, 63,133,237, 10, 62,219, 17, 34, 63,201, 61,254, 61,207,160, 44, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,153, 25, 62, 27, 28, 45, 63,201, 61,254, 61,207,160, 44, 63,
-133,237, 10, 62,219, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,237, 10, 62,
-219, 17, 34, 63,208, 85,228, 61,179, 23, 33, 63,147,213,251, 61,228,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,245, 6,205, 62, 37, 48, 21, 63,155, 10,193, 62,229,209, 22, 63,229, 7,199, 62,147,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229, 7,199, 62,147,111, 11, 63, 85,195,210, 62,
- 96,152, 9, 63,245, 6,205, 62, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-128,225,216, 62,254, 29, 19, 63,245, 6,205, 62, 37, 48, 21, 63, 85,195,210, 62, 96,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,195,210, 62, 96,152, 9, 63,229, 7,199, 62,147,111, 11, 63,202,204,204, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245, 6,205, 62, 37, 48, 21, 63,
-128,225,216, 62,254, 29, 19, 63, 11,135,211, 62,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 11,135,211, 62,110, 60, 31, 63,140,234,198, 62,179, 23, 33, 63,245, 6,205, 62, 37, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,155, 10,193, 62,229,209, 22, 63,245, 6,205, 62, 37, 48, 21, 63,
-140,234,198, 62,179, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,234,198, 62,
-179, 23, 33, 63, 11,135,211, 62,110, 60, 31, 63,212,118,205, 62,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,142,112,192, 62,207,160, 44, 63, 42, 51,179, 62, 28, 28, 45, 63, 61,137,186, 62,219, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61,137,186, 62,219, 17, 34, 63,140,234,198, 62,
-179, 23, 33, 63,142,112,192, 62,207,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-212,118,205, 62,228, 52, 43, 63,142,112,192, 62,207,160, 44, 63,140,234,198, 62,179, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,234,198, 62,179, 23, 33, 63, 61,137,186, 62,219, 17, 34, 63,155, 10,193, 62,
-229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,243, 43,218, 62,223,228, 40, 63,
-212,118,205, 62,228, 52, 43, 63, 11,135,211, 62,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 11,135,211, 62,110, 60, 31, 63, 22, 93,223, 62,145,140, 28, 63,243, 43,218, 62,223,228, 40, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,129,102,230, 62, 48,200, 37, 63,243, 43,218, 62,223,228, 40, 63,
- 22, 93,223, 62,145,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 93,223, 62,
-145,140, 28, 63, 11,135,211, 62,110, 60, 31, 63,128,225,216, 62,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 38, 51,179, 62,185, 32, 23, 63,155, 10,193, 62,229,209, 22, 63, 61,137,186, 62,219, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61,137,186, 62,219, 17, 34, 63, 20,221,171, 62,
-219, 17, 34, 63, 38, 51,179, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-180, 91,165, 62,229,209, 22, 63, 38, 51,179, 62,185, 32, 23, 63, 20,221,171, 62,219, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20,221,171, 62,219, 17, 34, 63, 61,137,186, 62,219, 17, 34, 63, 42, 51,179, 62,
- 28, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 51,179, 62,185, 32, 23, 63,
-180, 91,165, 62,229,209, 22, 63,111,108,172, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,111,108,172, 62, 98,116, 11, 63,222,249,185, 62, 98,116, 11, 63, 38, 51,179, 62,185, 32, 23, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,155, 10,193, 62,229,209, 22, 63, 38, 51,179, 62,185, 32, 23, 63,
-222,249,185, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,249,185, 62,
- 98,116, 11, 63,111,108,172, 62, 98,116, 11, 63, 38, 51,179, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,252,255,191, 62,244, 1, 0, 63,202,204,204, 62, 0, 0, 0, 63,229, 7,199, 62,147,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229, 7,199, 62,147,111, 11, 63,222,249,185, 62,
- 98,116, 11, 63,252,255,191, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 38, 51,179, 62, 0, 0, 0, 63,252,255,191, 62,244, 1, 0, 63,222,249,185, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,249,185, 62, 98,116, 11, 63,229, 7,199, 62,147,111, 11, 63,155, 10,193, 62,
-229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 82,102,166, 62,244, 1, 0, 63,
- 38, 51,179, 62, 0, 0, 0, 63,111,108,172, 62, 98,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,111,108,172, 62, 98,116, 11, 63,104, 94,159, 62,147,111, 11, 63, 82,102,166, 62,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,129,153,153, 62, 0, 0, 0, 63, 82,102,166, 62,244, 1, 0, 63,
-104, 94,159, 62,147,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104, 94,159, 62,
-147,111, 11, 63,111,108,172, 62, 98,116, 11, 63,180, 91,165, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 30, 51,179, 62, 73, 58,217, 62, 39,174,165, 62, 7,196,217, 62,180, 41,172, 62,227,230,198, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180, 41,172, 62,227,230,198, 62,127, 60,186, 62,
-225,230,198, 62, 30, 51,179, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 21,184,192, 62, 6,196,217, 62, 30, 51,179, 62, 73, 58,217, 62,127, 60,186, 62,225,230,198, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,127, 60,186, 62,225,230,198, 62,180, 41,172, 62,227,230,198, 62, 21, 51,179, 62,
-165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 51,179, 62, 73, 58,217, 62,
- 21,184,192, 62, 6,196,217, 62, 42,220,185, 62, 31,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 42,220,185, 62, 31,211,236, 62, 27,138,172, 62, 33,211,236, 62, 30, 51,179, 62, 73, 58,217, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 39,174,165, 62, 7,196,217, 62, 30, 51,179, 62, 73, 58,217, 62,
- 27,138,172, 62, 33,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27,138,172, 62,
- 33,211,236, 62, 42,220,185, 62, 31,211,236, 62, 38, 51,179, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 82,102,166, 62,244, 1, 0, 63,129,153,153, 62, 0, 0, 0, 63, 3,144,159, 62, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3,144,159, 62, 67,207,236, 62, 27,138,172, 62,
- 33,211,236, 62, 82,102,166, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 38, 51,179, 62, 0, 0, 0, 63, 82,102,166, 62,244, 1, 0, 63, 27,138,172, 62, 33,211,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27,138,172, 62, 33,211,236, 62, 3,144,159, 62, 67,207,236, 62, 39,174,165, 62,
- 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,252,255,191, 62,244, 1, 0, 63,
- 38, 51,179, 62, 0, 0, 0, 63, 42,220,185, 62, 31,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 42,220,185, 62, 31,211,236, 62, 65,214,198, 62, 67,207,236, 62,252,255,191, 62,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,204,204, 62, 0, 0, 0, 63,252,255,191, 62,244, 1, 0, 63,
- 65,214,198, 62, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65,214,198, 62,
- 67,207,236, 62, 42,220,185, 62, 31,211,236, 62, 21,184,192, 62, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 95, 95,153, 62, 32, 48, 21, 63,224,132,141, 62,246, 29, 19, 63, 1,163,147, 62, 91,152, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,163,147, 62, 91,152, 9, 63,104, 94,159, 62,
-147,111, 11, 63, 95, 95,153, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-180, 91,165, 62,229,209, 22, 63, 95, 95,153, 62, 32, 48, 21, 63,104, 94,159, 62,147,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104, 94,159, 62,147,111, 11, 63, 1,163,147, 62, 91,152, 9, 63,129,153,153, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95, 95,153, 62, 32, 48, 21, 63,
-180, 91,165, 62,229,209, 22, 63,203,123,159, 62,170, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,203,123,159, 62,170, 23, 33, 63, 84,223,146, 62, 94, 60, 31, 63, 95, 95,153, 62, 32, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,132,141, 62,246, 29, 19, 63, 95, 95,153, 62, 32, 48, 21, 63,
- 84,223,146, 62, 94, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 84,223,146, 62,
- 94, 60, 31, 63,203,123,159, 62,170, 23, 33, 63,141,239,152, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 62, 23,200, 37, 63, 86, 9,135, 62,130,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86, 9,135, 62,130,140, 28, 63, 84,223,146, 62,
- 94, 60, 31, 63,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-141,239,152, 62,211, 52, 43, 63,121, 58,140, 62,199,228, 40, 63, 84,223,146, 62, 94, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 84,223,146, 62, 94, 60, 31, 63, 86, 9,135, 62,130,140, 28, 63,224,132,141, 62,
-246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204,245,165, 62,198,160, 44, 63,
-141,239,152, 62,211, 52, 43, 63,203,123,159, 62,170, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,203,123,159, 62,170, 23, 33, 63, 20,221,171, 62,219, 17, 34, 63,204,245,165, 62,198,160, 44, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 51,179, 62, 28, 28, 45, 63,204,245,165, 62,198,160, 44, 63,
- 20,221,171, 62,219, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20,221,171, 62,
-219, 17, 34, 63,203,123,159, 62,170, 23, 33, 63,180, 91,165, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,180,182, 25, 63, 38, 48, 21, 63,140,184, 19, 63,232,209, 22, 63, 43,183, 22, 63,149,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,183, 22, 63,149,111, 11, 63,223,148, 28, 63,
- 94,152, 9, 63,180,182, 25, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-245,163, 31, 63,253, 29, 19, 63,180,182, 25, 63, 38, 48, 21, 63,223,148, 28, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,223,148, 28, 63, 94,152, 9, 63, 43,183, 22, 63,149,111, 11, 63,155,153, 25, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,182, 25, 63, 38, 48, 21, 63,
-245,163, 31, 63,253, 29, 19, 63,191,246, 28, 63,109, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,191,246, 28, 63,109, 60, 31, 63,132,168, 22, 63,180, 23, 33, 63,180,182, 25, 63, 38, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,184, 19, 63,232,209, 22, 63,180,182, 25, 63, 38, 48, 21, 63,
-132,168, 22, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132,168, 22, 63,
-180, 23, 33, 63,191,246, 28, 63,109, 60, 31, 63,169,238, 25, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,138,107, 19, 63,211,160, 44, 63,220,204, 12, 63, 35, 28, 45, 63,225,119, 16, 63,225, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,119, 16, 63,225, 17, 34, 63,132,168, 22, 63,
-180, 23, 33, 63,138,107, 19, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-169,238, 25, 63,229, 52, 43, 63,138,107, 19, 63,211,160, 44, 63,132,168, 22, 63,180, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132,168, 22, 63,180, 23, 33, 63,225,119, 16, 63,225, 17, 34, 63,140,184, 19, 63,
-232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51, 73, 32, 63,221,228, 40, 63,
-169,238, 25, 63,229, 52, 43, 63,191,246, 28, 63,109, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,191,246, 28, 63,109, 60, 31, 63,192,225, 34, 63,142,140, 28, 63, 51, 73, 32, 63,221,228, 40, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63, 45,200, 37, 63, 51, 73, 32, 63,221,228, 40, 63,
-192,225, 34, 63,142,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,225, 34, 63,
-142,140, 28, 63,191,246, 28, 63,109, 60, 31, 63,245,163, 31, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,212,204, 12, 63,188, 32, 23, 63,140,184, 19, 63,232,209, 22, 63,225,119, 16, 63,225, 17, 34, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,119, 16, 63,225, 17, 34, 63,207, 33, 9, 63,
-226, 17, 34, 63,212,204, 12, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 29,225, 5, 63,233,209, 22, 63,212,204, 12, 63,188, 32, 23, 63,207, 33, 9, 63,226, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207, 33, 9, 63,226, 17, 34, 63,225,119, 16, 63,225, 17, 34, 63,220,204, 12, 63,
- 35, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,204, 12, 63,188, 32, 23, 63,
- 29,225, 5, 63,233,209, 22, 63,118,105, 9, 63,101,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,118,105, 9, 63,101,116, 11, 63, 43, 48, 16, 63,100,116, 11, 63,212,204, 12, 63,188, 32, 23, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,184, 19, 63,232,209, 22, 63,212,204, 12, 63,188, 32, 23, 63,
- 43, 48, 16, 63,100,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43, 48, 16, 63,
-100,116, 11, 63,118,105, 9, 63,101,116, 11, 63,205,204, 12, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 51, 51, 19, 63,244, 1, 0, 63,155,153, 25, 63, 0, 0, 0, 63, 43,183, 22, 63,149,111, 11, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,183, 22, 63,149,111, 11, 63, 43, 48, 16, 63,
-100,116, 11, 63, 51, 51, 19, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-205,204, 12, 63, 0, 0, 0, 63, 51, 51, 19, 63,244, 1, 0, 63, 43, 48, 16, 63,100,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43, 48, 16, 63,100,116, 11, 63, 43,183, 22, 63,149,111, 11, 63,140,184, 19, 63,
-232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102,102, 6, 63,244, 1, 0, 63,
-205,204, 12, 63, 0, 0, 0, 63,118,105, 9, 63,101,116, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,118,105, 9, 63,101,116, 11, 63,118,226, 2, 63,149,111, 11, 63,102,102, 6, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,102,102, 6, 63,244, 1, 0, 63,
-118,226, 2, 63,149,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,226, 2, 63,
-149,111, 11, 63,118,105, 9, 63,101,116, 11, 63, 29,225, 5, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,198,204, 12, 63, 72, 58,217, 62, 77, 10, 6, 63, 6,196,217, 62, 17, 72, 9, 63,227,230,198, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 72, 9, 63,227,230,198, 62,117, 81, 16, 63,
-223,230,198, 62,198,204, 12, 63, 72, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 64,143, 19, 63, 4,196,217, 62,198,204, 12, 63, 72, 58,217, 62,117, 81, 16, 63,223,230,198, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117, 81, 16, 63,223,230,198, 62, 17, 72, 9, 63,227,230,198, 62,191,204, 12, 63,
-160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,198,204, 12, 63, 72, 58,217, 62,
- 64,143, 19, 63, 4,196,217, 62, 76, 33, 16, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 76, 33, 16, 63, 30,211,236, 62, 71,120, 9, 63, 30,211,236, 62,198,204, 12, 63, 72, 58,217, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 77, 10, 6, 63, 6,196,217, 62,198,204, 12, 63, 72, 58,217, 62,
- 71,120, 9, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71,120, 9, 63,
- 30,211,236, 62, 76, 33, 16, 63, 30,211,236, 62,205,204, 12, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,102,102, 6, 63,244, 1, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 62,251, 2, 63, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 62,251, 2, 63, 67,207,236, 62, 71,120, 9, 63,
- 30,211,236, 62,102,102, 6, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-205,204, 12, 63, 0, 0, 0, 63,102,102, 6, 63,244, 1, 0, 63, 71,120, 9, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71,120, 9, 63, 30,211,236, 62, 62,251, 2, 63, 67,207,236, 62, 77, 10, 6, 63,
- 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51, 51, 19, 63,244, 1, 0, 63,
-205,204, 12, 63, 0, 0, 0, 63, 76, 33, 16, 63, 30,211,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 76, 33, 16, 63, 30,211,236, 62, 86,158, 22, 63, 65,207,236, 62, 51, 51, 19, 63,244, 1, 0, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,155,153, 25, 63, 0, 0, 0, 63, 51, 51, 19, 63,244, 1, 0, 63,
- 86,158, 22, 63, 65,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,158, 22, 63,
- 65,207,236, 62, 76, 33, 16, 63, 30,211,236, 62, 64,143, 19, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,233,197,255, 62, 39, 48, 21, 63,101,235,243, 62,252, 29, 19, 63,132, 9,250, 62, 94,152, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132, 9,250, 62, 94,152, 9, 63,118,226, 2, 63,
-149,111, 11, 63,233,197,255, 62, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 29,225, 5, 63,233,209, 22, 63,233,197,255, 62, 39, 48, 21, 63,118,226, 2, 63,149,111, 11, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,226, 2, 63,149,111, 11, 63,132, 9,250, 62, 94,152, 9, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,233,197,255, 62, 39, 48, 21, 63,
- 29,225, 5, 63,233,209, 22, 63, 43,241, 2, 63,181, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 43,241, 2, 63,181, 23, 33, 63,225, 69,249, 62,110, 60, 31, 63,233,197,255, 62, 39, 48, 21, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,101,235,243, 62,252, 29, 19, 63,233,197,255, 62, 39, 48, 21, 63,
-225, 69,249, 62,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225, 69,249, 62,
-110, 60, 31, 63, 43,241, 2, 63,181, 23, 33, 63, 30, 86,255, 62,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 9,161,242, 62,223,228, 40, 63,129,102,230, 62, 48,200, 37, 63,222,111,237, 62,143,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,111,237, 62,143,140, 28, 63,225, 69,249, 62,
-110, 60, 31, 63, 9,161,242, 62,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 30, 86,255, 62,230, 52, 43, 63, 9,161,242, 62,223,228, 40, 63,225, 69,249, 62,110, 60, 31, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225, 69,249, 62,110, 60, 31, 63,222,111,237, 62,143,140, 28, 63,101,235,243, 62,
-252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 46, 46, 6, 63,211,160, 44, 63,
- 30, 86,255, 62,230, 52, 43, 63, 43,241, 2, 63,181, 23, 33, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 43,241, 2, 63,181, 23, 33, 63,207, 33, 9, 63,226, 17, 34, 63, 46, 46, 6, 63,211,160, 44, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63, 35, 28, 45, 63, 46, 46, 6, 63,211,160, 44, 63,
-207, 33, 9, 63,226, 17, 34, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207, 33, 9, 63,
-226, 17, 34, 63, 43,241, 2, 63,181, 23, 33, 63, 29,225, 5, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,138,238, 85, 63, 72,220,187, 62,218,173, 82, 63, 55, 92,210, 62,229,189, 79, 63,173,208,189, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229,189, 79, 63,173,208,189, 62,230,250, 82, 63,
-117,190,166, 62,138,238, 85, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-149,153, 89, 63,201,199,165, 62,138,238, 85, 63, 72,220,187, 62,230,250, 82, 63,117,190,166, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230,250, 82, 63,117,190,166, 62,229,189, 79, 63,173,208,189, 62,198,119, 76, 63,
- 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170,111, 73, 63, 68,135,193, 62,
-198,119, 76, 63, 90,150,169, 62,229,189, 79, 63,173,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,229,189, 79, 63,173,208,189, 62,176,175, 76, 63,192,159,213, 62,170,111, 73, 63, 68,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,112,194, 70, 63, 19,196,217, 62,170,111, 73, 63, 68,135,193, 62,
-176,175, 76, 63,192,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,175, 76, 63,
-192,159,213, 62,229,189, 79, 63,173,208,189, 62,218,173, 82, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 52,175, 79, 63,218, 32,233, 62,193,204, 76, 63, 0, 0, 0, 63,128,209, 73, 63, 75,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,209, 73, 63, 75,207,236, 62,176,175, 76, 63,
-192,159,213, 62, 52,175, 79, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-218,173, 82, 63, 55, 92,210, 62, 52,175, 79, 63,218, 32,233, 62,176,175, 76, 63,192,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,175, 76, 63,192,159,213, 62,128,209, 73, 63, 75,207,236, 62,112,194, 70, 63,
- 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170,111, 73, 63, 68,135,193, 62,
-112,194, 70, 63, 19,196,217, 62,171,132, 67, 63,253,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,171,132, 67, 63,253,230,198, 62, 61, 29, 70, 63,114, 54,174, 62,170,111, 73, 63, 68,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,198,119, 76, 63, 90,150,169, 62,170,111, 73, 63, 68,135,193, 62,
- 61, 29, 70, 63,114, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61, 29, 70, 63,
-114, 54,174, 62,171,132, 67, 63,253,230,198, 62, 0, 0, 64, 63,211,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 52,175, 79, 63,218, 32,233, 62,218,173, 82, 63, 55, 92,210, 62, 56, 54, 86, 63, 58, 23,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56, 54, 86, 63, 58, 23,233, 62, 41, 51, 83, 63,
- 24,252,255, 62, 52,175, 79, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-193,204, 76, 63, 0, 0, 0, 63, 52,175, 79, 63,218, 32,233, 62, 41, 51, 83, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 41, 51, 83, 63, 24,252,255, 62, 56, 54, 86, 63, 58, 23,233, 62,147,153, 89, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,252, 92, 63, 58, 23,233, 62,
-147,153, 89, 63, 0, 0, 0, 63, 56, 54, 86, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 56, 54, 86, 63, 58, 23,233, 62,147,153, 89, 63,143,190,209, 62,239,252, 92, 63, 58, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 78,133, 96, 63, 55, 92,210, 62,239,252, 92, 63, 58, 23,233, 62,
-147,153, 89, 63,143,190,209, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63,
-143,190,209, 62, 56, 54, 86, 63, 58, 23,233, 62,218,173, 82, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,138,238, 85, 63, 72,220,187, 62,149,153, 89, 63,201,199,165, 62,159, 68, 93, 63, 72,220,187, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159, 68, 93, 63, 72,220,187, 62,147,153, 89, 63,
-143,190,209, 62,138,238, 85, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-218,173, 82, 63, 55, 92,210, 62,138,238, 85, 63, 72,220,187, 62,147,153, 89, 63,143,190,209, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63,143,190,209, 62,159, 68, 93, 63, 72,220,187, 62, 78,133, 96, 63,
- 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,252, 92, 63, 58, 23,233, 62,
- 78,133, 96, 63, 55, 92,210, 62,242,131, 99, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,242,131, 99, 63,218, 32,233, 62,254,255, 95, 63, 24,252,255, 62,239,252, 92, 63, 58, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63, 0, 0, 0, 63,239,252, 92, 63, 58, 23,233, 62,
-254,255, 95, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,254,255, 95, 63,
- 24,252,255, 62,242,131, 99, 63,218, 32,233, 62,101,102,102, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,139,174,111, 63,223,230,198, 62,192,112,108, 63, 4,196,217, 62,133,195,105, 63, 37,135,193, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,195,105, 63, 37,135,193, 62,249, 21,109, 63,
- 65, 54,174, 62,139,174,111, 63,223,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 65, 51,115, 63,160,111,180, 62,139,174,111, 63,223,230,198, 62,249, 21,109, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,249, 21,109, 63, 65, 54,174, 62,133,195,105, 63, 37,135,193, 62,106,187,102, 63,
- 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70,117, 99, 63,155,208,189, 62,
-106,187,102, 63, 54,150,169, 62,133,195,105, 63, 37,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,133,195,105, 63, 37,135,193, 62,123,131,102, 63,181,159,213, 62, 70,117, 99, 63,155,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 78,133, 96, 63, 55, 92,210, 62, 70,117, 99, 63,155,208,189, 62,
-123,131,102, 63,181,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,131,102, 63,
-181,159,213, 62,133,195,105, 63, 37,135,193, 62,192,112,108, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,170, 97,105, 63, 65,207,236, 62,101,102,102, 63, 0, 0, 0, 63,242,131, 99, 63,218, 32,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,131, 99, 63,218, 32,233, 62,123,131,102, 63,
-181,159,213, 62,170, 97,105, 63, 65,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-192,112,108, 63, 4,196,217, 62,170, 97,105, 63, 65,207,236, 62,123,131,102, 63,181,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,131,102, 63,181,159,213, 62,242,131, 99, 63,218, 32,233, 62, 78,133, 96, 63,
- 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70,117, 99, 63,155,208,189, 62,
- 78,133, 96, 63, 55, 92,210, 62,159, 68, 93, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,159, 68, 93, 63, 72,220,187, 62, 71, 56, 96, 63, 99,190,166, 62, 70,117, 99, 63,155,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,106,187,102, 63, 54,150,169, 62, 70,117, 99, 63,155,208,189, 62,
- 71, 56, 96, 63, 99,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71, 56, 96, 63,
- 99,190,166, 62,159, 68, 93, 63, 72,220,187, 62,149,153, 89, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 33,107, 99, 63, 94,152, 9, 63, 11, 92, 96, 63,253, 29, 19, 63, 21,238, 92, 63,112,150, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,238, 92, 63,112,150, 9, 63,254,255, 95, 63,
- 24,252,255, 62, 33,107, 99, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-101,102,102, 63, 0, 0, 0, 63, 33,107, 99, 63, 94,152, 9, 63,254,255, 95, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,254,255, 95, 63, 24,252,255, 62, 21,238, 92, 63,112,150, 9, 63,147,153, 89, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14, 69, 86, 63,112,150, 9, 63,
-147,153, 89, 63, 0, 0, 0, 63, 21,238, 92, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 21,238, 92, 63,112,150, 9, 63,143,153, 89, 63,219, 98, 19, 63, 14, 69, 86, 63,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19,215, 82, 63,252, 29, 19, 63, 14, 69, 86, 63,112,150, 9, 63,
-143,153, 89, 63,219, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,143,153, 89, 63,
-219, 98, 19, 63, 21,238, 92, 63,112,150, 9, 63, 11, 92, 96, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 63, 30, 93, 63,143,140, 28, 63,139,153, 89, 63, 45,200, 37, 63,218, 20, 86, 63,143,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 20, 86, 63,143,140, 28, 63,143,153, 89, 63,
-219, 98, 19, 63, 63, 30, 93, 63,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 11, 92, 96, 63,253, 29, 19, 63, 63, 30, 93, 63,143,140, 28, 63,143,153, 89, 63,219, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,143,153, 89, 63,219, 98, 19, 63,218, 20, 86, 63,143,140, 28, 63, 19,215, 82, 63,
-252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14, 69, 86, 63,112,150, 9, 63,
- 19,215, 82, 63,252, 29, 19, 63, 1,200, 79, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 1,200, 79, 63, 94,152, 9, 63, 41, 51, 83, 63, 24,252,255, 62, 14, 69, 86, 63,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63, 0, 0, 0, 63, 14, 69, 86, 63,112,150, 9, 63,
- 41, 51, 83, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 41, 51, 83, 63,
- 24,252,255, 62, 1,200, 79, 63, 94,152, 9, 63,193,204, 76, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,237, 28, 18, 61, 60,220,187, 62,151, 35,188, 60, 46, 92,210, 62,218, 74, 60, 60,150,208,189, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 74, 60, 60,150,208,189, 62,195,197,197, 60,
- 89,190,166, 62,237, 28, 18, 61, 60,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-194,205, 76, 61,186,199,165, 62,237, 28, 18, 61, 60,220,187, 62,195,197,197, 60, 89,190,166, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 23,131, 63, 89,190,166, 62,150,120,129, 63,150,208,189, 62, 15,171,127, 63,
- 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,162,124, 63, 36,135,193, 62,
- 15,171,127, 63, 52,150,169, 62,150,120,129, 63,150,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,150,120,129, 63,150,208,189, 62,244,226,127, 63,179,159,213, 62,241,162,124, 63, 36,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,245,121, 63, 6,196,217, 62,241,162,124, 63, 36,135,193, 62,
-244,226,127, 63,179,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,226,127, 63,
-179,159,213, 62,150,120,129, 63,150,208,189, 62,142,240,130, 63, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 59,113,129, 63,214, 32,233, 62, 0, 0,128, 63, 0, 0, 0, 63,194, 4,125, 63, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 4,125, 63, 67,207,236, 62,244,226,127, 63,
-179,159,213, 62, 59,113,129, 63,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-142,240,130, 63, 46, 92,210, 62, 59,113,129, 63,214, 32,233, 62,244,226,127, 63,179,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,226,127, 63,179,159,213, 62,194, 4,125, 63, 67,207,236, 62,179,245,121, 63,
- 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,162,124, 63, 36,135,193, 62,
-179,245,121, 63, 6,196,217, 62,239,183,118, 63,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,239,183,118, 63,227,230,198, 62,133, 80,121, 63, 65, 54,174, 62,241,162,124, 63, 36,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15,171,127, 63, 52,150,169, 62,241,162,124, 63, 36,135,193, 62,
-133, 80,121, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133, 80,121, 63,
- 65, 54,174, 62,239,183,118, 63,227,230,198, 62, 65, 51,115, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,110,157, 56, 60,214, 32,233, 62,151, 35,188, 60, 46, 92,210, 62, 95,151, 22, 61, 55, 23,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95,151, 22, 61, 55, 23,233, 62,176,204,204, 60,
- 24,252,255, 62,110,157, 56, 60,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-167, 79, 11, 38, 0, 0, 0, 63,110,157, 56, 60,214, 32,233, 62,176,204,204, 60, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,204,204, 60, 24,252,255, 62, 95,151, 22, 61, 55, 23,233, 62,215,204, 76, 61,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87,129,129, 61, 57, 23,233, 62,
-215,204, 76, 61, 0, 0, 0, 63, 95,151, 22, 61, 55, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 95,151, 22, 61, 55, 23,233, 62, 68,205, 76, 61,135,190,209, 62, 87,129,129, 61, 57, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92,196,157, 61, 49, 92,210, 62, 87,129,129, 61, 57, 23,233, 62,
- 68,205, 76, 61,135,190,209, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68,205, 76, 61,
-135,190,209, 62, 95,151, 22, 61, 55, 23,233, 62,151, 35,188, 60, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,237, 28, 18, 61, 60,220,187, 62,194,205, 76, 61,186,199,165, 62, 7,191,131, 61, 62,220,187, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 7,191,131, 61, 62,220,187, 62, 68,205, 76, 61,
-135,190,209, 62,237, 28, 18, 61, 60,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-151, 35,188, 60, 46, 92,210, 62,237, 28, 18, 61, 60,220,187, 62, 68,205, 76, 61,135,190,209, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68,205, 76, 61,135,190,209, 62, 7,191,131, 61, 62,220,187, 62, 92,196,157, 61,
- 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87,129,129, 61, 57, 23,233, 62,
- 92,196,157, 61, 49, 92,210, 62, 89,185,181, 61,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 89,185,181, 61,214, 32,233, 62,154,153,153, 61, 25,252,255, 62, 87,129,129, 61, 57, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 76, 61, 0, 0, 0, 63, 87,129,129, 61, 57, 23,233, 62,
-154,153,153, 61, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,153, 61,
- 25,252,255, 62, 89,185,181, 61,214, 32,233, 62,215,204,204, 61, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 1,135, 11, 62,228,230,198, 62,171, 31,253, 61, 6,196,217, 62,251,181,231, 61, 38,135,193, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,181,231, 61, 38,135,193, 62,204, 36, 1, 62,
- 70, 54,174, 62, 1,135, 11, 62,228,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-214,153, 25, 62,165,111,180, 62, 1,135, 11, 62,228,230,198, 62,204, 36, 1, 62, 70, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 36, 1, 62, 70, 54,174, 62,251,181,231, 61, 38,135,193, 62, 70,117,207, 61,
- 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 35, 68,181, 61,153,208,189, 62,
- 70,117,207, 61, 54,150,169, 62,251,181,231, 61, 38,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,251,181,231, 61, 38,135,193, 62,164,181,205, 61,180,159,213, 62, 35, 68,181, 61,153,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92,196,157, 61, 49, 92,210, 62, 35, 68,181, 61,153,208,189, 62,
-164,181,205, 61,180,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,181,205, 61,
-180,159,213, 62,251,181,231, 61, 38,135,193, 62,171, 31,253, 61, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,251,166,228, 61, 67,207,236, 62,215,204,204, 61, 0, 0, 0, 63, 89,185,181, 61,214, 32,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89,185,181, 61,214, 32,233, 62,164,181,205, 61,
-180,159,213, 62,251,166,228, 61, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-171, 31,253, 61, 6,196,217, 62,251,166,228, 61, 67,207,236, 62,164,181,205, 61,180,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,181,205, 61,180,159,213, 62, 89,185,181, 61,214, 32,233, 62, 92,196,157, 61,
- 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 35, 68,181, 61,153,208,189, 62,
- 92,196,157, 61, 49, 92,210, 62, 7,191,131, 61, 62,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 7,191,131, 61, 62,220,187, 62, 79, 92,155, 61, 91,190,166, 62, 35, 68,181, 61,153,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70,117,207, 61, 54,150,169, 62, 35, 68,181, 61,153,208,189, 62,
- 79, 92,155, 61, 91,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 79, 92,155, 61,
- 91,190,166, 62, 7,191,131, 61, 62,220,187, 62,194,205, 76, 61,186,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,172,242,180, 61, 96,152, 9, 63, 1,122,156, 61,254, 29, 19, 63,100, 10,129, 61,113,150, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,100, 10,129, 61,113,150, 9, 63,154,153,153, 61,
- 25,252,255, 62,172,242,180, 61, 96,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-215,204,204, 61, 0, 0, 0, 63,172,242,180, 61, 96,152, 9, 63,154,153,153, 61, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,153, 61, 25,252,255, 62,100, 10,129, 61,113,150, 9, 63,215,204, 76, 61,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,132, 23, 61,113,150, 9, 63,
-215,204, 76, 61, 0, 0, 0, 63,100, 10,129, 61,113,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,100, 10,129, 61,113,150, 9, 63, 91,204, 76, 61,220, 98, 19, 63,109,132, 23, 61,113,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,174, 73,193, 60,253, 29, 19, 63,109,132, 23, 61,113,150, 9, 63,
- 91,204, 76, 61,220, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,204, 76, 61,
-220, 98, 19, 63,100, 10,129, 61,113,150, 9, 63, 1,122,156, 61,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,166,139,130, 61,145,140, 28, 63,246,203, 76, 61, 48,200, 37, 63, 13,129, 20, 61,143,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 13,129, 20, 61,143,140, 28, 63, 91,204, 76, 61,
-220, 98, 19, 63,166,139,130, 61,145,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 1,122,156, 61,254, 29, 19, 63,166,139,130, 61,145,140, 28, 63, 91,204, 76, 61,220, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,204, 76, 61,220, 98, 19, 63, 13,129, 20, 61,143,140, 28, 63,174, 73,193, 60,
-253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,132, 23, 61,113,150, 9, 63,
-174, 73,193, 60,253, 29, 19, 63,114,207, 62, 60, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,114,207, 62, 60, 94,152, 9, 63,176,204,204, 60, 24,252,255, 62,109,132, 23, 61,113,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 76, 61, 0, 0, 0, 63,109,132, 23, 61,113,150, 9, 63,
-176,204,204, 60, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,204,204, 60,
- 24,252,255, 62,114,207, 62, 60, 94,152, 9, 63,167, 79, 11, 38, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,237, 83,113, 62, 79,220,187, 62, 63, 81,100, 62, 60, 92,210, 62,110,145, 88, 62,167,208,189, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,110,145, 88, 62,167,208,189, 62, 91,133,101, 62,
-112,190,166, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62,206,199,165, 62,237, 83,113, 62, 79,220,187, 62, 91,133,101, 62,112,190,166, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,133,101, 62,112,190,166, 62,110,145, 88, 62,167,208,189, 62,239,120, 75, 62,
- 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,144, 88, 63, 62, 46,135,193, 62,
-239,120, 75, 62, 70,150,169, 62,110,145, 88, 62,167,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,110,145, 88, 62,167,208,189, 62,170, 88, 76, 62,187,159,213, 62,144, 88, 63, 62, 46,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,163, 52, 62, 7,196,217, 62,144, 88, 63, 62, 46,135,193, 62,
-170, 88, 76, 62,187,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 88, 76, 62,
-187,159,213, 62,110,145, 88, 62,167,208,189, 62, 63, 81,100, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,190, 86, 88, 62,221, 32,233, 62,254,204, 76, 62, 0, 0, 0, 63,251,223, 64, 62, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,223, 64, 62, 67,207,236, 62,170, 88, 76, 62,
-187,159,213, 62,190, 86, 88, 62,221, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 63, 81,100, 62, 60, 92,210, 62,190, 86, 88, 62,221, 32,233, 62,170, 88, 76, 62,187,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 88, 76, 62,187,159,213, 62,251,223, 64, 62, 67,207,236, 62,179,163, 52, 62,
- 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,144, 88, 63, 62, 46,135,193, 62,
-179,163, 52, 62, 7,196,217, 62,153,172, 39, 62,230,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,153,172, 39, 62,230,230,198, 62,213, 14, 50, 62, 78, 54,174, 62,144, 88, 63, 62, 46,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,120, 75, 62, 70,150,169, 62,144, 88, 63, 62, 46,135,193, 62,
-213, 14, 50, 62, 78, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14, 50, 62,
- 78, 54,174, 62,153,172, 39, 62,230,230,198, 62,214,153, 25, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,190, 86, 88, 62,221, 32,233, 62, 63, 81,100, 62, 60, 92,210, 62,166,114,114, 62, 63, 23,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,114,114, 62, 63, 23,233, 62,126,102,102, 62,
- 25,252,255, 62,190, 86, 88, 62,221, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-254,204, 76, 62, 0, 0, 0, 63,190, 86, 88, 62,221, 32,233, 62,126,102,102, 62, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,126,102,102, 62, 25,252,255, 62,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,198,134, 62, 63, 23,233, 62,
- 0, 0,128, 62, 0, 0, 0, 63,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 62,149,190,209, 62,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 97,215,141, 62, 60, 92,210, 62,173,198,134, 62, 63, 23,233, 62,
- 0, 0,128, 62,149,190,209, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,
-149,190,209, 62,166,114,114, 62, 63, 23,233, 62, 63, 81,100, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 62,206,199,165, 62, 9, 86,135, 62, 79,220,187, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 62,
-149,190,209, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 63, 81,100, 62, 60, 92,210, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 62,149,190,209, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,149,190,209, 62, 9, 86,135, 62, 79,220,187, 62, 97,215,141, 62,
- 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,198,134, 62, 63, 23,233, 62,
- 97,215,141, 62, 60, 92,210, 62,161,212,147, 62,221, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,161,212,147, 62,221, 32,233, 62,193,204,140, 62, 25,252,255, 62,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63,173,198,134, 62, 63, 23,233, 62,
-193,204,140, 62, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,193,204,140, 62,
- 25,252,255, 62,161,212,147, 62,221, 32,233, 62,129,153,153, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,180, 41,172, 62,227,230,198, 62, 39,174,165, 62, 7,196,217, 62,184, 83,160, 62, 46,135,193, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184, 83,160, 62, 46,135,193, 62,150,248,166, 62,
- 78, 54,174, 62,180, 41,172, 62,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 21, 51,179, 62,165,111,180, 62,180, 41,172, 62,227,230,198, 62,150,248,166, 62, 78, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,150,248,166, 62, 78, 54,174, 62,184, 83,160, 62, 46,135,193, 62,137, 67,154, 62,
- 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 73,183,147, 62,167,208,189, 62,
-137, 67,154, 62, 70,150,169, 62,184, 83,160, 62, 46,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,184, 83,160, 62, 46,135,193, 62,171,211,153, 62,187,159,213, 62, 73,183,147, 62,167,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 97,215,141, 62, 60, 92,210, 62, 73,183,147, 62,167,208,189, 62,
-171,211,153, 62,187,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,211,153, 62,
-187,159,213, 62,184, 83,160, 62, 46,135,193, 62, 39,174,165, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 3,144,159, 62, 67,207,236, 62,129,153,153, 62, 0, 0, 0, 63,161,212,147, 62,221, 32,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,161,212,147, 62,221, 32,233, 62,171,211,153, 62,
-187,159,213, 62, 3,144,159, 62, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 39,174,165, 62, 7,196,217, 62, 3,144,159, 62, 67,207,236, 62,171,211,153, 62,187,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,211,153, 62,187,159,213, 62,161,212,147, 62,221, 32,233, 62, 97,215,141, 62,
- 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 73,183,147, 62,167,208,189, 62,
- 97,215,141, 62, 60, 92,210, 62, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 9, 86,135, 62, 79,220,187, 62, 82, 61,141, 62,112,190,166, 62, 73,183,147, 62,167,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,137, 67,154, 62, 70,150,169, 62, 73,183,147, 62,167,208,189, 62,
- 82, 61,141, 62,112,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 82, 61,141, 62,
-112,190,166, 62, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 62,206,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 1,163,147, 62, 91,152, 9, 63,224,132,141, 62,246, 29, 19, 63,251,168,134, 62,107,150, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,168,134, 62,107,150, 9, 63,193,204,140, 62,
- 25,252,255, 62, 1,163,147, 62, 91,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-129,153,153, 62, 0, 0, 0, 63, 1,163,147, 62, 91,152, 9, 63,193,204,140, 62, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,193,204,140, 62, 25,252,255, 62,251,168,134, 62,107,150, 9, 63, 0, 0,128, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,174,114, 62,107,150, 9, 63,
- 0, 0,128, 62, 0, 0, 0, 63,251,168,134, 62,107,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,251,168,134, 62,107,150, 9, 63, 0, 0,128, 62,209, 98, 19, 63, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 64,246,100, 62,246, 29, 19, 63, 11,174,114, 62,107,150, 9, 63,
- 0, 0,128, 62,209, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,
-209, 98, 19, 63,251,168,134, 62,107,150, 9, 63,224,132,141, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 62, 23,200, 37, 63, 83,237,113, 62,130,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 83,237,113, 62,130,140, 28, 63, 0, 0,128, 62,
-209, 98, 19, 63, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-224,132,141, 62,246, 29, 19, 63, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 62,209, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,209, 98, 19, 63, 83,237,113, 62,130,140, 28, 63, 64,246,100, 62,
-246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,174,114, 62,107,150, 9, 63,
- 64,246,100, 62,246, 29, 19, 63,255,185, 88, 62, 90,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,255,185, 88, 62, 90,152, 9, 63,126,102,102, 62, 25,252,255, 62, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63, 11,174,114, 62,107,150, 9, 63,
-126,102,102, 62, 25,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,126,102,102, 62,
- 25,252,255, 62,255,185, 88, 62, 90,152, 9, 63,254,204, 76, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 63, 16,223, 62, 62,220,187, 62,233,142,216, 62, 49, 92,210, 62,248,174,210, 62,153,208,189, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,248,174,210, 62,153,208,189, 62,237, 40,217, 62,
- 91,190,166, 62, 63, 16,223, 62, 62,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 72,102,230, 62,183,199,165, 62, 63, 16,223, 62, 62,220,187, 62,237, 40,217, 62, 91,190,166, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,237, 40,217, 62, 91,190,166, 62,248,174,210, 62,153,208,189, 62,175, 34,204, 62,
- 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,129, 18,198, 62, 37,135,193, 62,
-175, 34,204, 62, 54,150,169, 62,248,174,210, 62,153,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,248,174,210, 62,153,208,189, 62,151,146,204, 62,180,159,213, 62,129, 18,198, 62, 37,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,184,192, 62, 6,196,217, 62,129, 18,198, 62, 37,135,193, 62,
-151,146,204, 62,180,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,151,146,204, 62,
-180,159,213, 62,248,174,210, 62,153,208,189, 62,233,142,216, 62, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,170,145,210, 62,214, 32,233, 62,202,204,204, 62, 0, 0, 0, 63, 65,214,198, 62, 67,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65,214,198, 62, 67,207,236, 62,151,146,204, 62,
-180,159,213, 62,170,145,210, 62,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-233,142,216, 62, 49, 92,210, 62,170,145,210, 62,214, 32,233, 62,151,146,204, 62,180,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,151,146,204, 62,180,159,213, 62, 65,214,198, 62, 67,207,236, 62, 21,184,192, 62,
- 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,129, 18,198, 62, 37,135,193, 62,
- 21,184,192, 62, 6,196,217, 62,127, 60,186, 62,225,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,127, 60,186, 62,225,230,198, 62,154,109,191, 62, 68, 54,174, 62,129, 18,198, 62, 37,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,175, 34,204, 62, 54,150,169, 62,129, 18,198, 62, 37,135,193, 62,
-154,109,191, 62, 68, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,109,191, 62,
- 68, 54,174, 62,127, 60,186, 62,225,230,198, 62, 21, 51,179, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,170,145,210, 62,214, 32,233, 62,233,142,216, 62, 49, 92,210, 62,171,159,223, 62, 57, 23,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,159,223, 62, 57, 23,233, 62,154,153,217, 62,
- 24,252,255, 62,170,145,210, 62,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-202,204,204, 62, 0, 0, 0, 63,170,145,210, 62,214, 32,233, 62,154,153,217, 62, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,217, 62, 24,252,255, 62,171,159,223, 62, 57, 23,233, 62,101,102,230, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20, 45,237, 62, 55, 23,233, 62,
-101,102,230, 62, 0, 0, 0, 63,171,159,223, 62, 57, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,171,159,223, 62, 57, 23,233, 62, 88,102,230, 62,135,190,209, 62, 20, 45,237, 62, 55, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,199, 61,244, 62, 46, 92,210, 62, 20, 45,237, 62, 55, 23,233, 62,
- 88,102,230, 62,135,190,209, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,102,230, 62,
-135,190,209, 62,171,159,223, 62, 57, 23,233, 62,233,142,216, 62, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 63, 16,223, 62, 62,220,187, 62, 72,102,230, 62,183,199,165, 62, 99,188,237, 62, 60,220,187, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 99,188,237, 62, 60,220,187, 62, 88,102,230, 62,
-135,190,209, 62, 63, 16,223, 62, 62,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-233,142,216, 62, 49, 92,210, 62, 63, 16,223, 62, 62,220,187, 62, 88,102,230, 62,135,190,209, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,102,230, 62,135,190,209, 62, 99,188,237, 62, 60,220,187, 62,199, 61,244, 62,
- 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20, 45,237, 62, 55, 23,233, 62,
-199, 61,244, 62, 46, 92,210, 62, 21, 59,250, 62,213, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 21, 59,250, 62,213, 32,233, 62, 53, 51,243, 62, 24,252,255, 62, 20, 45,237, 62, 55, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,101,102,230, 62, 0, 0, 0, 63, 20, 45,237, 62, 55, 23,233, 62,
- 53, 51,243, 62, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 51,243, 62,
- 24,252,255, 62, 21, 59,250, 62,213, 32,233, 62, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 17, 72, 9, 63,227,230,198, 62, 77, 10, 6, 63, 6,196,217, 62, 15, 93, 3, 63, 36,135,193, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 93, 3, 63, 36,135,193, 62,123,175, 6, 63,
- 65, 54,174, 62, 17, 72, 9, 63,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-191,204, 12, 63,160,111,180, 62, 17, 72, 9, 63,227,230,198, 62,123,175, 6, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,175, 6, 63, 65, 54,174, 62, 15, 93, 3, 63, 36,135,193, 62,241, 84, 0, 63,
- 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169, 29,250, 62,150,208,189, 62,
-241, 84, 0, 63, 52,150,169, 62, 15, 93, 3, 63, 36,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 15, 93, 3, 63, 36,135,193, 62, 12, 29, 0, 63,179,159,213, 62,169, 29,250, 62,150,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,199, 61,244, 62, 46, 92,210, 62,169, 29,250, 62,150,208,189, 62,
- 12, 29, 0, 63,179,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 29, 0, 63,
-179,159,213, 62, 15, 93, 3, 63, 36,135,193, 62, 77, 10, 6, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 62,251, 2, 63, 67,207,236, 62, 0, 0, 0, 63, 0, 0, 0, 63, 21, 59,250, 62,213, 32,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 59,250, 62,213, 32,233, 62, 12, 29, 0, 63,
-179,159,213, 62, 62,251, 2, 63, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 77, 10, 6, 63, 6,196,217, 62, 62,251, 2, 63, 67,207,236, 62, 12, 29, 0, 63,179,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 29, 0, 63,179,159,213, 62, 21, 59,250, 62,213, 32,233, 62,199, 61,244, 62,
- 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169, 29,250, 62,150,208,189, 62,
-199, 61,244, 62, 46, 92,210, 62, 99,188,237, 62, 60,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 99,188,237, 62, 60,220,187, 62,164,163,243, 62, 89,190,166, 62,169, 29,250, 62,150,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241, 84, 0, 63, 52,150,169, 62,169, 29,250, 62,150,208,189, 62,
-164,163,243, 62, 89,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,163,243, 62,
- 89,190,166, 62, 99,188,237, 62, 60,220,187, 62, 72,102,230, 62,183,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,132, 9,250, 62, 94,152, 9, 63,101,235,243, 62,252, 29, 19, 63,114, 15,237, 62,113,150, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114, 15,237, 62,113,150, 9, 63, 53, 51,243, 62,
- 24,252,255, 62,132, 9,250, 62, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 63,132, 9,250, 62, 94,152, 9, 63, 53, 51,243, 62, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 51,243, 62, 24,252,255, 62,114, 15,237, 62,113,150, 9, 63,101,102,230, 62,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,103,189,223, 62,112,150, 9, 63,
-101,102,230, 62, 0, 0, 0, 63,114, 15,237, 62,113,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,114, 15,237, 62,113,150, 9, 63,117,102,230, 62,220, 98, 19, 63,103,189,223, 62,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,225,216, 62,254, 29, 19, 63,103,189,223, 62,112,150, 9, 63,
-117,102,230, 62,220, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102,230, 62,
-220, 98, 19, 63,114, 15,237, 62,113,150, 9, 63,101,235,243, 62,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,222,111,237, 62,143,140, 28, 63,129,102,230, 62, 48,200, 37, 63, 22, 93,223, 62,145,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 93,223, 62,145,140, 28, 63,117,102,230, 62,
-220, 98, 19, 63,222,111,237, 62,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-101,235,243, 62,252, 29, 19, 63,222,111,237, 62,143,140, 28, 63,117,102,230, 62,220, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102,230, 62,220, 98, 19, 63, 22, 93,223, 62,145,140, 28, 63,128,225,216, 62,
-254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,103,189,223, 62,112,150, 9, 63,
-128,225,216, 62,254, 29, 19, 63, 85,195,210, 62, 96,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 85,195,210, 62, 96,152, 9, 63,154,153,217, 62, 24,252,255, 62,103,189,223, 62,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,101,102,230, 62, 0, 0, 0, 63,103,189,223, 62,112,150, 9, 63,
-154,153,217, 62, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,217, 62,
- 24,252,255, 62, 85,195,210, 62, 96,152, 9, 63,202,204,204, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 97,187, 34, 63, 72,220,187, 62,178,122, 31, 63, 55, 92,210, 62,186,138, 28, 63,155,208,189, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,186,138, 28, 63,155,208,189, 62,185,199, 31, 63,
- 96,190,166, 62, 97,187, 34, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-107,102, 38, 63,201,199,165, 62, 97,187, 34, 63, 72,220,187, 62,185,199, 31, 63, 96,190,166, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,185,199, 31, 63, 96,190,166, 62,186,138, 28, 63,155,208,189, 62,150, 68, 25, 63,
- 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123, 60, 22, 63, 36,135,193, 62,
-150, 68, 25, 63, 54,150,169, 62,186,138, 28, 63,155,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,186,138, 28, 63,155,208,189, 62,133,124, 25, 63,181,159,213, 62,123, 60, 22, 63, 36,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 64,143, 19, 63, 4,196,217, 62,123, 60, 22, 63, 36,135,193, 62,
-133,124, 25, 63,181,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,124, 25, 63,
-181,159,213, 62,186,138, 28, 63,155,208,189, 62,178,122, 31, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 14,124, 28, 63,218, 32,233, 62,155,153, 25, 63, 0, 0, 0, 63, 86,158, 22, 63, 65,207,236, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,158, 22, 63, 65,207,236, 62,133,124, 25, 63,
-181,159,213, 62, 14,124, 28, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-178,122, 31, 63, 55, 92,210, 62, 14,124, 28, 63,218, 32,233, 62,133,124, 25, 63,181,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,124, 25, 63,181,159,213, 62, 86,158, 22, 63, 65,207,236, 62, 64,143, 19, 63,
- 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123, 60, 22, 63, 36,135,193, 62,
- 64,143, 19, 63, 4,196,217, 62,117, 81, 16, 63,223,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,117, 81, 16, 63,223,230,198, 62, 7,234, 18, 63, 65, 54,174, 62,123, 60, 22, 63, 36,135,193, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,150, 68, 25, 63, 54,150,169, 62,123, 60, 22, 63, 36,135,193, 62,
- 7,234, 18, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 7,234, 18, 63,
- 65, 54,174, 62,117, 81, 16, 63,223,230,198, 62,191,204, 12, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 14,124, 28, 63,218, 32,233, 62,178,122, 31, 63, 55, 92,210, 62, 17, 3, 35, 63, 58, 23,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 3, 35, 63, 58, 23,233, 62, 2, 0, 32, 63,
- 24,252,255, 62, 14,124, 28, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-155,153, 25, 63, 0, 0, 0, 63, 14,124, 28, 63,218, 32,233, 62, 2, 0, 32, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 32, 63, 24,252,255, 62, 17, 3, 35, 63, 58, 23,233, 62,109,102, 38, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,200,201, 41, 63, 58, 23,233, 62,
-109,102, 38, 63, 0, 0, 0, 63, 17, 3, 35, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 17, 3, 35, 63, 58, 23,233, 62,109,102, 38, 63,143,190,209, 62,200,201, 41, 63, 58, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 82, 45, 63, 55, 92,210, 62,200,201, 41, 63, 58, 23,233, 62,
-109,102, 38, 63,143,190,209, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63,
-143,190,209, 62, 17, 3, 35, 63, 58, 23,233, 62,178,122, 31, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 97,187, 34, 63, 72,220,187, 62,107,102, 38, 63,201,199,165, 62,118, 17, 42, 63, 72,220,187, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118, 17, 42, 63, 72,220,187, 62,109,102, 38, 63,
-143,190,209, 62, 97,187, 34, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-178,122, 31, 63, 55, 92,210, 62, 97,187, 34, 63, 72,220,187, 62,109,102, 38, 63,143,190,209, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63,143,190,209, 62,118, 17, 42, 63, 72,220,187, 62, 38, 82, 45, 63,
- 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,200,201, 41, 63, 58, 23,233, 62,
- 38, 82, 45, 63, 55, 92,210, 62,204, 80, 48, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,204, 80, 48, 63,218, 32,233, 62,215,204, 44, 63, 23,252,255, 62,200,201, 41, 63, 58, 23,233, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63, 0, 0, 0, 63,200,201, 41, 63, 58, 23,233, 62,
-215,204, 44, 63, 23,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 44, 63,
- 23,252,255, 62,204, 80, 48, 63,218, 32,233, 62, 63, 51, 51, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 85,123, 60, 63,253,230,198, 62,144, 61, 57, 63, 19,196,217, 62, 86,144, 54, 63, 68,135,193, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,144, 54, 63, 68,135,193, 62,196,226, 57, 63,
-114, 54,174, 62, 85,123, 60, 63,253,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63,211,111,180, 62, 85,123, 60, 63,253,230,198, 62,196,226, 57, 63,114, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,196,226, 57, 63,114, 54,174, 62, 86,144, 54, 63, 68,135,193, 62, 58,136, 51, 63,
- 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27, 66, 48, 63,173,208,189, 62,
- 58,136, 51, 63, 90,150,169, 62, 86,144, 54, 63, 68,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 86,144, 54, 63, 68,135,193, 62, 80, 80, 51, 63,192,159,213, 62, 27, 66, 48, 63,173,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 82, 45, 63, 55, 92,210, 62, 27, 66, 48, 63,173,208,189, 62,
- 80, 80, 51, 63,192,159,213, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80, 80, 51, 63,
-192,159,213, 62, 86,144, 54, 63, 68,135,193, 62,144, 61, 57, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,128, 46, 54, 63, 75,207,236, 62, 63, 51, 51, 63, 0, 0, 0, 63,204, 80, 48, 63,218, 32,233, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 80, 48, 63,218, 32,233, 62, 80, 80, 51, 63,
-192,159,213, 62,128, 46, 54, 63, 75,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-144, 61, 57, 63, 19,196,217, 62,128, 46, 54, 63, 75,207,236, 62, 80, 80, 51, 63,192,159,213, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80, 80, 51, 63,192,159,213, 62,204, 80, 48, 63,218, 32,233, 62, 38, 82, 45, 63,
- 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27, 66, 48, 63,173,208,189, 62,
- 38, 82, 45, 63, 55, 92,210, 62,118, 17, 42, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,118, 17, 42, 63, 72,220,187, 62, 26, 5, 45, 63,117,190,166, 62, 27, 66, 48, 63,173,208,189, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 58,136, 51, 63, 90,150,169, 62, 27, 66, 48, 63,173,208,189, 62,
- 26, 5, 45, 63,117,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 26, 5, 45, 63,
-117,190,166, 62,118, 17, 42, 63, 72,220,187, 62,107,102, 38, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,255, 55, 48, 63, 94,152, 9, 63,237, 40, 45, 63,252, 29, 19, 63,242,186, 41, 63,112,150, 9, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,186, 41, 63,112,150, 9, 63,215,204, 44, 63,
- 23,252,255, 62,255, 55, 48, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 63, 51, 51, 63, 0, 0, 0, 63,255, 55, 48, 63, 94,152, 9, 63,215,204, 44, 63, 23,252,255, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 44, 63, 23,252,255, 62,242,186, 41, 63,112,150, 9, 63,109,102, 38, 63,
- 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235, 17, 35, 63,112,150, 9, 63,
-109,102, 38, 63, 0, 0, 0, 63,242,186, 41, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,242,186, 41, 63,112,150, 9, 63,113,102, 38, 63,219, 98, 19, 63,235, 17, 35, 63,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245,163, 31, 63,253, 29, 19, 63,235, 17, 35, 63,112,150, 9, 63,
-113,102, 38, 63,219, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,102, 38, 63,
-219, 98, 19, 63,242,186, 41, 63,112,150, 9, 63,237, 40, 45, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 38,235, 41, 63,141,140, 28, 63,117,102, 38, 63, 45,200, 37, 63,192,225, 34, 63,142,140, 28, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,225, 34, 63,142,140, 28, 63,113,102, 38, 63,
-219, 98, 19, 63, 38,235, 41, 63,141,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-237, 40, 45, 63,252, 29, 19, 63, 38,235, 41, 63,141,140, 28, 63,113,102, 38, 63,219, 98, 19, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,102, 38, 63,219, 98, 19, 63,192,225, 34, 63,142,140, 28, 63,245,163, 31, 63,
-253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235, 17, 35, 63,112,150, 9, 63,
-245,163, 31, 63,253, 29, 19, 63,223,148, 28, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,223,148, 28, 63, 94,152, 9, 63, 2, 0, 32, 63, 24,252,255, 62,235, 17, 35, 63,112,150, 9, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63, 0, 0, 0, 63,235, 17, 35, 63,112,150, 9, 63,
- 2, 0, 32, 63, 24,252,255, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 32, 63,
- 24,252,255, 62,223,148, 28, 63, 94,152, 9, 63,155,153, 25, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,188,129,107, 63, 66, 45,128, 62,235, 71, 99, 63,222, 76,120, 62, 94, 37,106, 63, 84, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94, 37,106, 63, 84, 97, 83, 62, 65, 51,115, 63,
-248,151, 97, 62,188,129,107, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 65, 51,115, 63,151, 83,135, 62,188,129,107, 63, 66, 45,128, 62, 65, 51,115, 63,248,151, 97, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,248,151, 97, 62, 94, 37,106, 63, 84, 97, 83, 62, 65, 51,115, 63,
- 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188,129,107, 63, 66, 45,128, 62,
- 65, 51,115, 63,151, 83,135, 62,142,123,108, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,142,123,108, 63,169,144,151, 62,231, 50,101, 63, 17,201,146, 62,188,129,107, 63, 66, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235, 71, 99, 63,222, 76,120, 62,188,129,107, 63, 66, 45,128, 62,
-231, 50,101, 63, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231, 50,101, 63,
- 17,201,146, 62,142,123,108, 63,169,144,151, 62,106,187,102, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 71, 56, 96, 63, 99,190,166, 62,149,153, 89, 63,201,199,165, 62, 22,238, 93, 63,243,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,238, 93, 63,243,101,144, 62,231, 50,101, 63,
- 17,201,146, 62, 71, 56, 96, 63, 99,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-106,187,102, 63, 54,150,169, 62, 71, 56, 96, 63, 99,190,166, 62,231, 50,101, 63, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231, 50,101, 63, 17,201,146, 62, 22,238, 93, 63,243,101,144, 62,235, 71, 99, 63,
-222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,249, 21,109, 63, 65, 54,174, 62,
-106,187,102, 63, 54,150,169, 62,142,123,108, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,142,123,108, 63,169,144,151, 62, 65, 51,115, 63, 93,231,157, 62,249, 21,109, 63, 65, 54,174, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,160,111,180, 62,249, 21,109, 63, 65, 54,174, 62,
- 65, 51,115, 63, 93,231,157, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,
- 93,231,157, 62,142,123,108, 63,169,144,151, 62, 65, 51,115, 63,151, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,149,153, 89, 63, 79,162,115, 62,235, 71, 99, 63,222, 76,120, 62, 22,238, 93, 63,243,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,238, 93, 63,243,101,144, 62, 21, 69, 85, 63,
- 3,102,144, 62,149,153, 89, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 68,235, 79, 63, 37, 77,120, 62,149,153, 89, 63, 79,162,115, 62, 21, 69, 85, 63, 3,102,144, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 69, 85, 63, 3,102,144, 62, 22,238, 93, 63,243,101,144, 62,149,153, 89, 63,
-201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,149,153, 89, 63, 79,162,115, 62,
- 68,235, 79, 63, 37, 77,120, 62, 24,186, 83, 63,245,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 24,186, 83, 63,245,176, 70, 62, 22,121, 95, 63,204,176, 70, 62,149,153, 89, 63, 79,162,115, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235, 71, 99, 63,222, 76,120, 62,149,153, 89, 63, 79,162,115, 62,
- 22,121, 95, 63,204,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,121, 95, 63,
-204,176, 70, 62, 24,186, 83, 63,245,176, 70, 62,152,153, 89, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 61,119,103, 63,179,253, 30, 62, 65, 51,115, 63, 90,111, 52, 62, 94, 37,106, 63, 84, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94, 37,106, 63, 84, 97, 83, 62, 22,121, 95, 63,
-204,176, 70, 62, 61,119,103, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-152,153, 89, 63,198, 31, 23, 62, 61,119,103, 63,179,253, 30, 62, 22,121, 95, 63,204,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,121, 95, 63,204,176, 70, 62, 94, 37,106, 63, 84, 97, 83, 62,235, 71, 99, 63,
-222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,248,187, 75, 63,241,253, 30, 62,
-152,153, 89, 63,198, 31, 23, 62, 24,186, 83, 63,245,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 24,186, 83, 63,245,176, 70, 62,214, 13, 73, 63,181, 97, 83, 62,248,187, 75, 63,241,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,202,111, 52, 62,248,187, 75, 63,241,253, 30, 62,
-214, 13, 73, 63,181, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214, 13, 73, 63,
-181, 97, 83, 62, 24,186, 83, 63,245,176, 70, 62, 68,235, 79, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,152,153, 89, 63,111, 41,147, 61, 0, 0, 64, 63,195,111,180, 61, 0, 0, 64, 63,111, 65, 52, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,111, 65, 52, 61, 38, 49,117, 63,
-225, 64, 52, 61,152,153, 89, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 65, 51,115, 63, 83,111,180, 61,152,153, 89, 63,111, 41,147, 61, 38, 49,117, 63,225, 64, 52, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 49,117, 63,225, 64, 52, 61, 0, 0, 64, 63,111, 65, 52, 61,208,222,121, 63,
-102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,152,153, 89, 63,111, 41,147, 61,
- 65, 51,115, 63, 83,111,180, 61,172, 51, 99, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,172, 51, 99, 63, 48, 46,231, 61,135,255, 79, 63,120, 46,231, 61,152,153, 89, 63,111, 41,147, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,195,111,180, 61,152,153, 89, 63,111, 41,147, 61,
-135,255, 79, 63,120, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135,255, 79, 63,
-120, 46,231, 61,172, 51, 99, 63, 48, 46,231, 61,152,153, 89, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,248,187, 75, 63,241,253, 30, 62, 0, 0, 64, 63,202,111, 52, 62, 0, 0, 64, 63, 24, 71, 7, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 24, 71, 7, 62,135,255, 79, 63,
-120, 46,231, 61,248,187, 75, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-152,153, 89, 63,198, 31, 23, 62,248,187, 75, 63,241,253, 30, 62,135,255, 79, 63,120, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135,255, 79, 63,120, 46,231, 61, 0, 0, 64, 63, 24, 71, 7, 62, 0, 0, 64, 63,
-195,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61,119,103, 63,179,253, 30, 62,
-152,153, 89, 63,198, 31, 23, 62,172, 51, 99, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,172, 51, 99, 63, 48, 46,231, 61, 66, 51,115, 63,199, 70, 7, 62, 61,119,103, 63,179,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 90,111, 52, 62, 61,119,103, 63,179,253, 30, 62,
- 66, 51,115, 63,199, 70, 7, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 66, 51,115, 63,
-199, 70, 7, 62,172, 51, 99, 63, 48, 46,231, 61, 65, 51,115, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,122,177, 71, 63,120, 45,128, 62, 0, 0, 64, 63,218, 83,135, 62, 0, 0, 64, 63,115,152, 97, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,115,152, 97, 62,214, 13, 73, 63,
-181, 97, 83, 62,122,177, 71, 63,120, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 68,235, 79, 63, 37, 77,120, 62,122,177, 71, 63,120, 45,128, 62,214, 13, 73, 63,181, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214, 13, 73, 63,181, 97, 83, 62, 0, 0, 64, 63,115,152, 97, 62, 0, 0, 64, 63,
-202,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,177, 71, 63,120, 45,128, 62,
- 68,235, 79, 63, 37, 77,120, 62, 72, 0, 78, 63, 52,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 72, 0, 78, 63, 52,201,146, 62,169,183, 70, 63,219,144,151, 62,122,177, 71, 63,120, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,218, 83,135, 62,122,177, 71, 63,120, 45,128, 62,
-169,183, 70, 63,219,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,183, 70, 63,
-219,144,151, 62, 72, 0, 78, 63, 52,201,146, 62,198,119, 76, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 61, 29, 70, 63,114, 54,174, 62, 0, 0, 64, 63,211,111,180, 62, 0, 0, 64, 63,162,231,157, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,162,231,157, 62,169,183, 70, 63,
-219,144,151, 62, 61, 29, 70, 63,114, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-198,119, 76, 63, 90,150,169, 62, 61, 29, 70, 63,114, 54,174, 62,169,183, 70, 63,219,144,151, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,183, 70, 63,219,144,151, 62, 0, 0, 64, 63,162,231,157, 62, 0, 0, 64, 63,
-218, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230,250, 82, 63,117,190,166, 62,
-198,119, 76, 63, 90,150,169, 62, 72, 0, 78, 63, 52,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 72, 0, 78, 63, 52,201,146, 62, 21, 69, 85, 63, 3,102,144, 62,230,250, 82, 63,117,190,166, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,149,153, 89, 63,201,199,165, 62,230,250, 82, 63,117,190,166, 62,
- 21, 69, 85, 63, 3,102,144, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 69, 85, 63,
- 3,102,144, 62, 72, 0, 78, 63, 52,201,146, 62, 68,235, 79, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,179,167,245, 61, 72, 45,128, 62, 94,217,179, 61,222, 76,120, 62,202,196,234, 61,100, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,196,234, 61,100, 97, 83, 62,212,153, 25, 62,
- 2,152, 97, 62,179,167,245, 61, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-214,153, 25, 62,156, 83,135, 62,179,167,245, 61, 72, 45,128, 62,212,153, 25, 62, 2,152, 97, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,153, 25, 62, 2,152, 97, 62,202,196,234, 61,100, 97, 83, 62,214,153, 25, 62,
-106,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,167,245, 61, 72, 45,128, 62,
-214,153, 25, 62,156, 83,135, 62, 62,118,253, 61,174,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 62,118,253, 61,174,144,151, 62, 53, 49,195, 61, 17,201,146, 62,179,167,245, 61, 72, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94,217,179, 61,222, 76,120, 62,179,167,245, 61, 72, 45,128, 62,
- 53, 49,195, 61, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 49,195, 61,
- 17,201,146, 62, 62,118,253, 61,174,144,151, 62, 70,117,207, 61, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 79, 92,155, 61, 91,190,166, 62,194,205, 76, 61,186,199,165, 62,212, 10,137, 61,238,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212, 10,137, 61,238,101,144, 62, 53, 49,195, 61,
- 17,201,146, 62, 79, 92,155, 61, 91,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 70,117,207, 61, 54,150,169, 62, 79, 92,155, 61, 91,190,166, 62, 53, 49,195, 61, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 49,195, 61, 17,201,146, 62,212, 10,137, 61,238,101,144, 62, 94,217,179, 61,
-222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 36, 1, 62, 70, 54,174, 62,
- 70,117,207, 61, 54,150,169, 62, 62,118,253, 61,174,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 62,118,253, 61,174,144,151, 62,213,153, 25, 62,100,231,157, 62,204, 36, 1, 62, 70, 54,174, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,153, 25, 62,165,111,180, 62,204, 36, 1, 62, 70, 54,174, 62,
-213,153, 25, 62,100,231,157, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,153, 25, 62,
-100,231,157, 62, 62,118,253, 61,174,144,151, 62,214,153, 25, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,188,205, 76, 61, 53,162,115, 62, 94,217,179, 61,222, 76,120, 62,212, 10,137, 61,238,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212, 10,137, 61,238,101,144, 62,207,133, 7, 61,
-236,101,144, 62,188,205, 76, 61, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-255,162, 71, 60,216, 76,120, 62,188,205, 76, 61, 53,162,115, 62,207,133, 7, 61,236,101,144, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207,133, 7, 61,236,101,144, 62,212, 10,137, 61,238,101,144, 62,194,205, 76, 61,
-186,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188,205, 76, 61, 53,162,115, 62,
-255,162, 71, 60,216, 76,120, 62,190,171,221, 60,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,190,171,221, 60,194,176, 70, 62,194, 98,149, 61,194,176, 70, 62,188,205, 76, 61, 53,162,115, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94,217,179, 61,222, 76,120, 62,188,205, 76, 61, 53,162,115, 62,
-194, 98,149, 61,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 98,149, 61,
-194,176, 70, 62,190,171,221, 60,194,176, 70, 62,193,205, 76, 61,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,198, 83,213, 61,179,253, 30, 62,214,153, 25, 62,106,111, 52, 62,202,196,234, 61,100, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,196,234, 61,100, 97, 83, 62,194, 98,149, 61,
-194,176, 70, 62,198, 83,213, 61,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-193,205, 76, 61,168, 31, 23, 62,198, 83,213, 61,179,253, 30, 62,194, 98,149, 61,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 98,149, 61,194,176, 70, 62,202,196,234, 61,100, 97, 83, 62, 94,217,179, 61,
-222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 59,239,126, 63,174,253, 30, 62,
-154,105,131, 63,168, 31, 23, 62,175,118,131, 63,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,175,118,131, 63,194,176, 70, 62, 30, 65,124, 63, 90, 97, 83, 62, 59,239,126, 63,174,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 90,111, 52, 62, 59,239,126, 63,174,253, 30, 62,
- 30, 65,124, 63, 90, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 65,124, 63,
- 90, 97, 83, 62,175,118,131, 63,194,176, 70, 62, 70,143,129, 63,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,156,105,131, 63,101, 41,147, 61, 65, 51,115, 63, 83,111,180, 61, 38, 49,117, 63,225, 64, 52, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 49,117, 63,225, 64, 52, 61,232,148,135, 63,
-144,158,125, 60,156,105,131, 63,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-215,153, 25, 62,104,111,180, 61,122,245,128, 61,101, 41,147, 61,224,153, 25, 62,225, 64, 52, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,232,148,135, 63,144,158,125, 60, 38, 49,117, 63,225, 64, 52, 61,208,222,121, 63,
-102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,245,128, 61,101, 41,147, 61,
-215,153, 25, 62,104,111,180, 61, 89, 55,179, 61, 38, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 89, 55,179, 61, 38, 46,231, 61, 96,147,208, 60, 48, 46,231, 61,122,245,128, 61,101, 41,147, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 83,111,180, 61,156,105,131, 63,101, 41,147, 61,
-102,153,129, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 96,147,208, 60,
- 48, 46,231, 61, 89, 55,179, 61, 38, 46,231, 61,193,205, 76, 61,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 59,239,126, 63,174,253, 30, 62, 65, 51,115, 63, 90,111, 52, 62, 66, 51,115, 63,199, 70, 7, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 66, 51,115, 63,199, 70, 7, 62,102,153,129, 63,
- 48, 46,231, 61, 59,239,126, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-154,105,131, 63,168, 31, 23, 62, 59,239,126, 63,174,253, 30, 62,102,153,129, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102,153,129, 63, 48, 46,231, 61, 66, 51,115, 63,199, 70, 7, 62, 65, 51,115, 63,
- 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,198, 83,213, 61,179,253, 30, 62,
-193,205, 76, 61,168, 31, 23, 62, 89, 55,179, 61, 38, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 89, 55,179, 61, 38, 46,231, 61,217,153, 25, 62,204, 70, 7, 62,198, 83,213, 61,179,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,153, 25, 62,106,111, 52, 62,198, 83,213, 61,179,253, 30, 62,
-217,153, 25, 62,204, 70, 7, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,217,153, 25, 62,
-204, 70, 7, 62, 89, 55,179, 61, 38, 46,231, 61,215,153, 25, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,192,228,122, 63, 66, 45,128, 62, 65, 51,115, 63,151, 83,135, 62, 65, 51,115, 63,248,151, 97, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,248,151, 97, 62, 30, 65,124, 63,
- 90, 97, 83, 62,192,228,122, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 70,143,129, 63,216, 76,120, 62,192,228,122, 63, 66, 45,128, 62, 30, 65,124, 63, 90, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 65,124, 63, 90, 97, 83, 62, 65, 51,115, 63,248,151, 97, 62, 65, 51,115, 63,
- 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,228,122, 63, 66, 45,128, 62,
- 70,143,129, 63,216, 76,120, 62,201,153,128, 63, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,201,153,128, 63, 14,201,146, 62,239,234,121, 63,169,144,151, 62,192,228,122, 63, 66, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,151, 83,135, 62,192,228,122, 63, 66, 45,128, 62,
-239,234,121, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,234,121, 63,
-169,144,151, 62,201,153,128, 63, 14,201,146, 62, 15,171,127, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,133, 80,121, 63, 65, 54,174, 62, 65, 51,115, 63,160,111,180, 62, 65, 51,115, 63, 93,231,157, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 93,231,157, 62,239,234,121, 63,
-169,144,151, 62,133, 80,121, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 15,171,127, 63, 52,150,169, 62,133, 80,121, 63, 65, 54,174, 62,239,234,121, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,234,121, 63,169,144,151, 62, 65, 51,115, 63, 93,231,157, 62, 65, 51,115, 63,
-151, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 23,131, 63, 89,190,166, 62,
- 15,171,127, 63, 52,150,169, 62,201,153,128, 63, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,136,200,153, 59, 14,201,146, 62,207,133, 7, 61,236,101,144, 62,195,197,197, 60, 89,190,166, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194,205, 76, 61,186,199,165, 62,195,197,197, 60, 89,190,166, 62,
-207,133, 7, 61,236,101,144, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207,133, 7, 61,
-236,101,144, 62,136,200,153, 59, 14,201,146, 62,255,162, 71, 60,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 32,208,163, 62, 79, 45,128, 62,147, 92,147, 62,252, 76,120, 62,102, 23,161, 62,115, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102, 23,161, 62,115, 97, 83, 62, 22, 51,179, 62,
- 2,152, 97, 62, 32,208,163, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 21, 51,179, 62,156, 83,135, 62, 32,208,163, 62, 79, 45,128, 62, 22, 51,179, 62, 2,152, 97, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 51,179, 62, 2,152, 97, 62,102, 23,161, 62,115, 97, 83, 62, 21, 51,179, 62,
-101,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32,208,163, 62, 79, 45,128, 62,
- 21, 51,179, 62,156, 83,135, 62,194,195,165, 62,181,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,194,195,165, 62,181,144,151, 62,134, 50,151, 62, 29,201,146, 62, 32,208,163, 62, 79, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147, 92,147, 62,252, 76,120, 62, 32,208,163, 62, 79, 45,128, 62,
-134, 50,151, 62, 29,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134, 50,151, 62,
- 29,201,146, 62,194,195,165, 62,181,144,151, 62,137, 67,154, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 82, 61,141, 62,112,190,166, 62, 0, 0,128, 62,206,199,165, 62,247,168,136, 62, 3,102,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,247,168,136, 62, 3,102,144, 62,134, 50,151, 62,
- 29,201,146, 62, 82, 61,141, 62,112,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-137, 67,154, 62, 70,150,169, 62, 82, 61,141, 62,112,190,166, 62,134, 50,151, 62, 29,201,146, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134, 50,151, 62, 29,201,146, 62,247,168,136, 62, 3,102,144, 62,147, 92,147, 62,
-252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,150,248,166, 62, 78, 54,174, 62,
-137, 67,154, 62, 70,150,169, 62,194,195,165, 62,181,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,194,195,165, 62,181,144,151, 62, 21, 51,179, 62, 98,231,157, 62,150,248,166, 62, 78, 54,174, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62,165,111,180, 62,150,248,166, 62, 78, 54,174, 62,
- 21, 51,179, 62, 98,231,157, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62,
- 98,231,157, 62,194,195,165, 62,181,144,151, 62, 21, 51,179, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 89,162,115, 62,147, 92,147, 62,252, 76,120, 62,247,168,136, 62, 3,102,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,247,168,136, 62, 3,102,144, 62, 18,174,110, 62,
- 3,102,144, 62, 0, 0,128, 62, 89,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 62, 89,162,115, 62, 18,174,110, 62, 3,102,144, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 18,174,110, 62, 3,102,144, 62,247,168,136, 62, 3,102,144, 62, 0, 0,128, 62,
-206,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 89,162,115, 62,
-217, 70, 89, 62,252, 76,120, 62, 30,130,104, 62,230,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 30,130,104, 62,230,176, 70, 62,241,190,139, 62,230,176, 70, 62, 0, 0,128, 62, 89,162,115, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147, 92,147, 62,252, 76,120, 62, 0, 0,128, 62, 89,162,115, 62,
-241,190,139, 62,230,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,190,139, 62,
-230,176, 70, 62, 30,130,104, 62,230,176, 70, 62, 0, 0,128, 62,208, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 41,187,155, 62,205,253, 30, 62, 21, 51,179, 62,101,111, 52, 62,102, 23,161, 62,115, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102, 23,161, 62,115, 97, 83, 62,241,190,139, 62,
-230,176, 70, 62, 41,187,155, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62,208, 31, 23, 62, 41,187,155, 62,205,253, 30, 62,241,190,139, 62,230,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,190,139, 62,230,176, 70, 62,102, 23,161, 62,115, 97, 83, 62,147, 92,147, 62,
-252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,174,137, 72, 62,205,253, 30, 62,
- 0, 0,128, 62,208, 31, 23, 62, 30,130,104, 62,230,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 30,130,104, 62,230,176, 70, 62, 51,209, 61, 62,115, 97, 83, 62,174,137, 72, 62,205,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,153, 25, 62,106,111, 52, 62,174,137, 72, 62,205,253, 30, 62,
- 51,209, 61, 62,115, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51,209, 61, 62,
-115, 97, 83, 62, 30,130,104, 62,230,176, 70, 62,217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,255,255,127, 62,141, 41,147, 61,215,153, 25, 62,104,111,180, 61,224,153, 25, 62,225, 64, 52, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,153, 25, 62,225, 64, 52, 61, 15, 51,179, 62,
-225, 64, 52, 61,255,255,127, 62,141, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 20, 51,179, 62,104,111,180, 61,255,255,127, 62,141, 41,147, 61, 15, 51,179, 62,225, 64, 52, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 51,179, 62,225, 64, 52, 61,224,153, 25, 62,225, 64, 52, 61,144,175,161, 62,
-102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255,255,127, 62,141, 41,147, 61,
- 20, 51,179, 62,104,111,180, 61, 12, 52,147, 62,109, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 12, 52,147, 62,109, 46,231, 61,231,151, 89, 62,109, 46,231, 61,255,255,127, 62,141, 41,147, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,153, 25, 62,104,111,180, 61,255,255,127, 62,141, 41,147, 61,
-231,151, 89, 62,109, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231,151, 89, 62,
-109, 46,231, 61, 12, 52,147, 62,109, 46,231, 61, 0, 0,128, 62,208, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,174,137, 72, 62,205,253, 30, 62,214,153, 25, 62,106,111, 52, 62,217,153, 25, 62,204, 70, 7, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,217,153, 25, 62,204, 70, 7, 62,231,151, 89, 62,
-109, 46,231, 61,174,137, 72, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0,128, 62,208, 31, 23, 62,174,137, 72, 62,205,253, 30, 62,231,151, 89, 62,109, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231,151, 89, 62,109, 46,231, 61,217,153, 25, 62,204, 70, 7, 62,215,153, 25, 62,
-104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 41,187,155, 62,205,253, 30, 62,
- 0, 0,128, 62,208, 31, 23, 62, 12, 52,147, 62,109, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 12, 52,147, 62,109, 46,231, 61, 19, 51,179, 62,204, 70, 7, 62, 41,187,155, 62,205,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62,101,111, 52, 62, 41,187,155, 62,205,253, 30, 62,
- 19, 51,179, 62,204, 70, 7, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19, 51,179, 62,
-204, 70, 7, 62, 12, 52,147, 62,109, 46,231, 61, 20, 51,179, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,192, 95, 56, 62, 79, 45,128, 62,214,153, 25, 62,156, 83,135, 62,212,153, 25, 62, 2,152, 97, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,153, 25, 62, 2,152, 97, 62, 51,209, 61, 62,
-115, 97, 83, 62,192, 95, 56, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-217, 70, 89, 62,252, 76,120, 62,192, 95, 56, 62, 79, 45,128, 62, 51,209, 61, 62,115, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51,209, 61, 62,115, 97, 83, 62,212,153, 25, 62, 2,152, 97, 62,214,153, 25, 62,
-106,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192, 95, 56, 62, 79, 45,128, 62,
-217, 70, 89, 62,252, 76,120, 62,245,154, 81, 62, 29,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,245,154, 81, 62, 29,201,146, 62,125,120, 52, 62,181,144,151, 62,192, 95, 56, 62, 79, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214,153, 25, 62,156, 83,135, 62,192, 95, 56, 62, 79, 45,128, 62,
-125,120, 52, 62,181,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125,120, 52, 62,
-181,144,151, 62,245,154, 81, 62, 29,201,146, 62,239,120, 75, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,213, 14, 50, 62, 78, 54,174, 62,214,153, 25, 62,165,111,180, 62,213,153, 25, 62,100,231,157, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,153, 25, 62,100,231,157, 62,125,120, 52, 62,
-181,144,151, 62,213, 14, 50, 62, 78, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-239,120, 75, 62, 70,150,169, 62,213, 14, 50, 62, 78, 54,174, 62,125,120, 52, 62,181,144,151, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125,120, 52, 62,181,144,151, 62,213,153, 25, 62,100,231,157, 62,214,153, 25, 62,
-156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,133,101, 62,112,190,166, 62,
-239,120, 75, 62, 70,150,169, 62,245,154, 81, 62, 29,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,245,154, 81, 62, 29,201,146, 62, 18,174,110, 62, 3,102,144, 62, 91,133,101, 62,112,190,166, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,206,199,165, 62, 91,133,101, 62,112,190,166, 62,
- 18,174,110, 62, 3,102,144, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 18,174,110, 62,
- 3,102,144, 62,245,154, 81, 62, 29,201,146, 62,217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 64, 27, 5, 63, 66, 45,128, 62,232,194,249, 62,216, 76,120, 62,226,190, 3, 63, 90, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,226,190, 3, 63, 90, 97, 83, 62,191,204, 12, 63,
-248,151, 97, 62, 64, 27, 5, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-191,204, 12, 63,149, 83,135, 62, 64, 27, 5, 63, 66, 45,128, 62,191,204, 12, 63,248,151, 97, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,248,151, 97, 62,226,190, 3, 63, 90, 97, 83, 62,191,204, 12, 63,
- 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 64, 27, 5, 63, 66, 45,128, 62,
-191,204, 12, 63,149, 83,135, 62, 17, 21, 6, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 17, 21, 6, 63,169,144,151, 62,222,152,253, 62, 14,201,146, 62, 64, 27, 5, 63, 66, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,232,194,249, 62,216, 76,120, 62, 64, 27, 5, 63, 66, 45,128, 62,
-222,152,253, 62, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,152,253, 62,
- 14,201,146, 62, 17, 21, 6, 63,169,144,151, 62,241, 84, 0, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,164,163,243, 62, 89,190,166, 62, 72,102,230, 62,183,199,165, 62, 70, 15,239, 62,233,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70, 15,239, 62,233,101,144, 62,222,152,253, 62,
- 14,201,146, 62,164,163,243, 62, 89,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-241, 84, 0, 63, 52,150,169, 62,164,163,243, 62, 89,190,166, 62,222,152,253, 62, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,152,253, 62, 14,201,146, 62, 70, 15,239, 62,233,101,144, 62,232,194,249, 62,
-216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,175, 6, 63, 65, 54,174, 62,
-241, 84, 0, 63, 52,150,169, 62, 17, 21, 6, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 17, 21, 6, 63,169,144,151, 62,191,204, 12, 63, 90,231,157, 62,123,175, 6, 63, 65, 54,174, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,160,111,180, 62,123,175, 6, 63, 65, 54,174, 62,
-191,204, 12, 63, 90,231,157, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,
- 90,231,157, 62, 17, 21, 6, 63,169,144,151, 62,191,204, 12, 63,149, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 72,102,230, 62, 53,162,115, 62,232,194,249, 62,216, 76,120, 62, 70, 15,239, 62,233,101,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70, 15,239, 62,233,101,144, 62, 75,189,221, 62,
-238,101,144, 62, 72,102,230, 62, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-168, 9,211, 62,222, 76,120, 62, 72,102,230, 62, 53,162,115, 62, 75,189,221, 62,238,101,144, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,189,221, 62,238,101,144, 62, 70, 15,239, 62,233,101,144, 62, 72,102,230, 62,
-183,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 72,102,230, 62, 53,162,115, 62,
-168, 9,211, 62,222, 76,120, 62, 80,167,218, 62,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 80,167,218, 62,194,176, 70, 62, 68, 37,242, 62,194,176, 70, 62, 72,102,230, 62, 53,162,115, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,232,194,249, 62,216, 76,120, 62, 72,102,230, 62, 53,162,115, 62,
- 68, 37,242, 62,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 37,242, 62,
-194,176, 70, 62, 80,167,218, 62,194,176, 70, 62, 72,102,230, 62,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,197, 16, 1, 63,174,253, 30, 62,191,204, 12, 63, 90,111, 52, 62,226,190, 3, 63, 90, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,226,190, 3, 63, 90, 97, 83, 62, 68, 37,242, 62,
-194,176, 70, 62,197, 16, 1, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 72,102,230, 62,168, 31, 23, 62,197, 16, 1, 63,174,253, 30, 62, 68, 37,242, 62,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 37,242, 62,194,176, 70, 62,226,190, 3, 63, 90, 97, 83, 62,232,194,249, 62,
-216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,171,202, 62,179,253, 30, 62,
- 72,102,230, 62,168, 31, 23, 62, 80,167,218, 62,194,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 80,167,218, 62,194,176, 70, 62,205, 78,197, 62, 95, 97, 83, 62, 14,171,202, 62,179,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62,101,111, 52, 62, 14,171,202, 62,179,253, 30, 62,
-205, 78,197, 62, 95, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205, 78,197, 62,
- 95, 97, 83, 62, 80,167,218, 62,194,176, 70, 62,168, 9,211, 62,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 63,102,230, 62,101, 41,147, 61, 20, 51,179, 62,104,111,180, 61, 15, 51,179, 62,225, 64, 52, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 51,179, 62,225, 64, 52, 61,189,204, 12, 63,
-225, 64, 52, 61, 63,102,230, 62,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-191,204, 12, 63, 83,111,180, 61, 63,102,230, 62,101, 41,147, 61,189,204, 12, 63,225, 64, 52, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,204, 12, 63,225, 64, 52, 61, 15, 51,179, 62,225, 64, 52, 61,144,175,161, 62,
-102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 63,102,230, 62,101, 41,147, 61,
-191,204, 12, 63, 83,111,180, 61,104,154,249, 62, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,104,154,249, 62, 48, 46,231, 61, 42, 50,211, 62, 48, 46,231, 61, 63,102,230, 62,101, 41,147, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20, 51,179, 62,104,111,180, 61, 63,102,230, 62,101, 41,147, 61,
- 42, 50,211, 62, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 50,211, 62,
- 48, 46,231, 61,104,154,249, 62, 48, 46,231, 61, 72,102,230, 62,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 14,171,202, 62,179,253, 30, 62, 21, 51,179, 62,101,111, 52, 62, 19, 51,179, 62,204, 70, 7, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19, 51,179, 62,204, 70, 7, 62, 42, 50,211, 62,
- 48, 46,231, 61, 14,171,202, 62,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 72,102,230, 62,168, 31, 23, 62, 14,171,202, 62,179,253, 30, 62, 42, 50,211, 62, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 50,211, 62, 48, 46,231, 61, 19, 51,179, 62,204, 70, 7, 62, 20, 51,179, 62,
-104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,197, 16, 1, 63,174,253, 30, 62,
- 72,102,230, 62,168, 31, 23, 62,104,154,249, 62, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,104,154,249, 62, 48, 46,231, 61,191,204, 12, 63,199, 70, 7, 62,197, 16, 1, 63,174,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 90,111, 52, 62,197, 16, 1, 63,174,253, 30, 62,
-191,204, 12, 63,199, 70, 7, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,
-199, 70, 7, 62,104,154,249, 62, 48, 46,231, 61,191,204, 12, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 19,150,194, 62, 72, 45,128, 62, 21, 51,179, 62,156, 83,135, 62, 22, 51,179, 62, 2,152, 97, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 51,179, 62, 2,152, 97, 62,205, 78,197, 62,
- 95, 97, 83, 62, 19,150,194, 62, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-168, 9,211, 62,222, 76,120, 62, 19,150,194, 62, 72, 45,128, 62,205, 78,197, 62, 95, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205, 78,197, 62, 95, 97, 83, 62, 22, 51,179, 62, 2,152, 97, 62, 21, 51,179, 62,
-101,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19,150,194, 62, 72, 45,128, 62,
-168, 9,211, 62,222, 76,120, 62,179, 51,207, 62, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,179, 51,207, 62, 17,201,146, 62,113,162,192, 62,174,144,151, 62, 19,150,194, 62, 72, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62,156, 83,135, 62, 19,150,194, 62, 72, 45,128, 62,
-113,162,192, 62,174,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,162,192, 62,
-174,144,151, 62,179, 51,207, 62, 17,201,146, 62,175, 34,204, 62, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,154,109,191, 62, 68, 54,174, 62, 21, 51,179, 62,165,111,180, 62, 21, 51,179, 62, 98,231,157, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62, 98,231,157, 62,113,162,192, 62,
-174,144,151, 62,154,109,191, 62, 68, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-175, 34,204, 62, 54,150,169, 62,154,109,191, 62, 68, 54,174, 62,113,162,192, 62,174,144,151, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,162,192, 62,174,144,151, 62, 21, 51,179, 62, 98,231,157, 62, 21, 51,179, 62,
-156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,237, 40,217, 62, 91,190,166, 62,
-175, 34,204, 62, 54,150,169, 62,179, 51,207, 62, 17,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,179, 51,207, 62, 17,201,146, 62, 75,189,221, 62,238,101,144, 62,237, 40,217, 62, 91,190,166, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 72,102,230, 62,183,199,165, 62,237, 40,217, 62, 91,190,166, 62,
- 75,189,221, 62,238,101,144, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,189,221, 62,
-238,101,144, 62,179, 51,207, 62, 17,201,146, 62,168, 9,211, 62,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,134, 78, 56, 63,117, 45,128, 62,188, 20, 48, 63, 37, 77,120, 62, 42,242, 54, 63,181, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,242, 54, 63,181, 97, 83, 62, 0, 0, 64, 63,
-115,152, 97, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63,218, 83,135, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0, 64, 63,115,152, 97, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,115,152, 97, 62, 42,242, 54, 63,181, 97, 83, 62, 0, 0, 64, 63,
-202,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134, 78, 56, 63,117, 45,128, 62,
- 0, 0, 64, 63,218, 83,135, 62, 87, 72, 57, 63,219,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 87, 72, 57, 63,219,144,151, 62,184,255, 49, 63, 52,201,146, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188, 20, 48, 63, 37, 77,120, 62,134, 78, 56, 63,117, 45,128, 62,
-184,255, 49, 63, 52,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184,255, 49, 63,
- 52,201,146, 62, 87, 72, 57, 63,219,144,151, 62, 58,136, 51, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 26, 5, 45, 63,117,190,166, 62,107,102, 38, 63,201,199,165, 62,235,186, 42, 63, 5,102,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,186, 42, 63, 5,102,144, 62,184,255, 49, 63,
- 52,201,146, 62, 26, 5, 45, 63,117,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 58,136, 51, 63, 90,150,169, 62, 26, 5, 45, 63,117,190,166, 62,184,255, 49, 63, 52,201,146, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184,255, 49, 63, 52,201,146, 62,235,186, 42, 63, 5,102,144, 62,188, 20, 48, 63,
- 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,196,226, 57, 63,114, 54,174, 62,
- 58,136, 51, 63, 90,150,169, 62, 87, 72, 57, 63,219,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 87, 72, 57, 63,219,144,151, 62, 0, 0, 64, 63,162,231,157, 62,196,226, 57, 63,114, 54,174, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,211,111,180, 62,196,226, 57, 63,114, 54,174, 62,
- 0, 0, 64, 63,162,231,157, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,
-162,231,157, 62, 87, 72, 57, 63,219,144,151, 62, 0, 0, 64, 63,218, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,107,102, 38, 63, 79,162,115, 62,188, 20, 48, 63, 37, 77,120, 62,235,186, 42, 63, 5,102,144, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,186, 42, 63, 5,102,144, 62,234, 17, 34, 63,
-243,101,144, 62,107,102, 38, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 21,184, 28, 63,222, 76,120, 62,107,102, 38, 63, 79,162,115, 62,234, 17, 34, 63,243,101,144, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234, 17, 34, 63,243,101,144, 62,235,186, 42, 63, 5,102,144, 62,107,102, 38, 63,
-201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107,102, 38, 63, 79,162,115, 62,
- 21,184, 28, 63,222, 76,120, 62,234,134, 32, 63,204,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,234,134, 32, 63,204,176, 70, 62,233, 69, 44, 63,245,176, 70, 62,107,102, 38, 63, 79,162,115, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188, 20, 48, 63, 37, 77,120, 62,107,102, 38, 63, 79,162,115, 62,
-233, 69, 44, 63,245,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,233, 69, 44, 63,
-245,176, 70, 62,234,134, 32, 63,204,176, 70, 62,104,102, 38, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 9, 68, 52, 63,241,253, 30, 62, 0, 0, 64, 63,202,111, 52, 62, 42,242, 54, 63,181, 97, 83, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,242, 54, 63,181, 97, 83, 62,233, 69, 44, 63,
-245,176, 70, 62, 9, 68, 52, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-104,102, 38, 63,198, 31, 23, 62, 9, 68, 52, 63,241,253, 30, 62,233, 69, 44, 63,245,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,233, 69, 44, 63,245,176, 70, 62, 42,242, 54, 63,181, 97, 83, 62,188, 20, 48, 63,
- 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,195,136, 24, 63,179,253, 30, 62,
-104,102, 38, 63,198, 31, 23, 62,234,134, 32, 63,204,176, 70, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,234,134, 32, 63,204,176, 70, 62,162,218, 21, 63, 84, 97, 83, 62,195,136, 24, 63,179,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 90,111, 52, 62,195,136, 24, 63,179,253, 30, 62,
-162,218, 21, 63, 84, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162,218, 21, 63,
- 84, 97, 83, 62,234,134, 32, 63,204,176, 70, 62, 21,184, 28, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,104,102, 38, 63,111, 41,147, 61,191,204, 12, 63, 83,111,180, 61,189,204, 12, 63,225, 64, 52, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,204, 12, 63,225, 64, 52, 61, 0, 0, 64, 63,
-111, 65, 52, 61,104,102, 38, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 64, 63,195,111,180, 61,104,102, 38, 63,111, 41,147, 61, 0, 0, 64, 63,111, 65, 52, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,111, 65, 52, 61,189,204, 12, 63,225, 64, 52, 61,208,222,121, 63,
-102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104,102, 38, 63,111, 41,147, 61,
- 0, 0, 64, 63,195,111,180, 61,122, 0, 48, 63,120, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,122, 0, 48, 63,120, 46,231, 61, 85,204, 28, 63, 48, 46,231, 61,104,102, 38, 63,111, 41,147, 61, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 83,111,180, 61,104,102, 38, 63,111, 41,147, 61,
- 85,204, 28, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,204, 28, 63,
- 48, 46,231, 61,122, 0, 48, 63,120, 46,231, 61,104,102, 38, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0,195,136, 24, 63,179,253, 30, 62,191,204, 12, 63, 90,111, 52, 62,191,204, 12, 63,199, 70, 7, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,199, 70, 7, 62, 85,204, 28, 63,
- 48, 46,231, 61,195,136, 24, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-104,102, 38, 63,198, 31, 23, 62,195,136, 24, 63,179,253, 30, 62, 85,204, 28, 63, 48, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,204, 28, 63, 48, 46,231, 61,191,204, 12, 63,199, 70, 7, 62,191,204, 12, 63,
- 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 68, 52, 63,241,253, 30, 62,
-104,102, 38, 63,198, 31, 23, 62,122, 0, 48, 63,120, 46,231, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0,122, 0, 48, 63,120, 46,231, 61, 0, 0, 64, 63, 24, 71, 7, 62, 9, 68, 52, 63,241,253, 30, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,202,111, 52, 62, 9, 68, 52, 63,241,253, 30, 62,
- 0, 0, 64, 63, 24, 71, 7, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,
- 24, 71, 7, 62,122, 0, 48, 63,120, 46,231, 61, 0, 0, 64, 63,195,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 68,126, 20, 63, 64, 45,128, 62,191,204, 12, 63,149, 83,135, 62,191,204, 12, 63,248,151, 97, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,248,151, 97, 62,162,218, 21, 63,
- 84, 97, 83, 62, 68,126, 20, 63, 64, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 21,184, 28, 63,222, 76,120, 62, 68,126, 20, 63, 64, 45,128, 62,162,218, 21, 63, 84, 97, 83, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162,218, 21, 63, 84, 97, 83, 62,191,204, 12, 63,248,151, 97, 62,191,204, 12, 63,
- 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68,126, 20, 63, 64, 45,128, 62,
- 21,184, 28, 63,222, 76,120, 62, 25,205, 26, 63, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 25,205, 26, 63, 14,201,146, 62,114,132, 19, 63,169,144,151, 62, 68,126, 20, 63, 64, 45,128, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,149, 83,135, 62, 68,126, 20, 63, 64, 45,128, 62,
-114,132, 19, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114,132, 19, 63,
-169,144,151, 62, 25,205, 26, 63, 14,201,146, 62,150, 68, 25, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 7,234, 18, 63, 65, 54,174, 62,191,204, 12, 63,160,111,180, 62,191,204, 12, 63, 90,231,157, 62,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 90,231,157, 62,114,132, 19, 63,
-169,144,151, 62, 7,234, 18, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
-150, 68, 25, 63, 54,150,169, 62, 7,234, 18, 63, 65, 54,174, 62,114,132, 19, 63,169,144,151, 62, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114,132, 19, 63,169,144,151, 62,191,204, 12, 63, 90,231,157, 62,191,204, 12, 63,
-149, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,185,199, 31, 63, 96,190,166, 62,
-150, 68, 25, 63, 54,150,169, 62, 25,205, 26, 63, 14,201,146, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 25,205, 26, 63, 14,201,146, 62,234, 17, 34, 63,243,101,144, 62,185,199, 31, 63, 96,190,166, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107,102, 38, 63,201,199,165, 62,185,199, 31, 63, 96,190,166, 62,
-234, 17, 34, 63,243,101,144, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234, 17, 34, 63,
-243,101,144, 62, 25,205, 26, 63, 14,201,146, 62, 21,184, 28, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0, 80, 0, 0,168, 82,186, 3, 59, 0, 0, 0, 0, 20, 0, 0,255,255,255,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 0, 90, 0, 0,104,191, 53, 3, 0, 0, 0, 0, 49, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 35, 0,
+ 42, 0, 0, 0,162, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0,163, 0, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,163, 0, 0, 0,
+ 0, 0, 35, 0, 1, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,164, 0, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0,
+165, 0, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,165, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0,
+ 44, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0,167, 0, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,167, 0, 0, 0,
+ 0, 0, 35, 0, 2, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,168, 0, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0,
+169, 0, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,169, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0,
+ 46, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,171, 0, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,171, 0, 0, 0,
+ 0, 0, 35, 0, 2, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0,
+173, 0, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,173, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0,
+ 48, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,175, 0, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,175, 0, 0, 0,
+ 0, 0, 35, 0, 5, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,176, 0, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0,
+177, 0, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,177, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0,
+ 50, 0, 0, 0,178, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,179, 0, 0, 0, 0, 0, 35, 0, 50, 0, 0, 0,179, 0, 0, 0,
+ 0, 0, 35, 0, 5, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
+181, 0, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,181, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0,
+ 52, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0,183, 0, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,183, 0, 0, 0,
+ 0, 0, 35, 0, 3, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,184, 0, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0,
+185, 0, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,185, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0,
+ 54, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0,187, 0, 0, 0, 0, 0, 35, 0, 54, 0, 0, 0,187, 0, 0, 0,
+ 0, 0, 35, 0, 3, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0,
+189, 0, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,189, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,
+ 56, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0,191, 0, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0,191, 0, 0, 0,
+ 0, 0, 35, 0, 4, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,192, 0, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0,
+193, 0, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,193, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0,
+ 58, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0,195, 0, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0,195, 0, 0, 0,
+ 0, 0, 35, 0, 4, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0,
+197, 0, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,197, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0,
+ 60, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0,199, 0, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0,199, 0, 0, 0,
+ 0, 0, 35, 0, 5, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0,
+201, 0, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,201, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0,
+ 62, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,203, 0, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0,203, 0, 0, 0,
+ 0, 0, 35, 0, 10, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,204, 0, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,
+205, 0, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,205, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,206, 0, 0, 0, 0, 0, 35, 0,
+ 64, 0, 0, 0,206, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0,207, 0, 0, 0, 0, 0, 35, 0, 64, 0, 0, 0,207, 0, 0, 0,
+ 0, 0, 35, 0, 10, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0,
+209, 0, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0,209, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,
+ 66, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0,211, 0, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0,211, 0, 0, 0,
+ 0, 0, 35, 0, 6, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,212, 0, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0,
+213, 0, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,213, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0,
+ 68, 0, 0, 0,214, 0, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0,215, 0, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0,215, 0, 0, 0,
+ 0, 0, 35, 0, 6, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0,
+217, 0, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0,217, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,
+ 70, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0,219, 0, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,219, 0, 0, 0,
+ 0, 0, 35, 0, 7, 0, 0, 0,220, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,220, 0, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0,
+221, 0, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,221, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0,
+ 72, 0, 0, 0,222, 0, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,223, 0, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0,223, 0, 0, 0,
+ 0, 0, 35, 0, 7, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,
+225, 0, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0,225, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,
+ 74, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,227, 0, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0,227, 0, 0, 0,
+ 0, 0, 35, 0, 8, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,228, 0, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,
+229, 0, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,229, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0,
+ 76, 0, 0, 0,230, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,231, 0, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0,231, 0, 0, 0,
+ 0, 0, 35, 0, 8, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,
+233, 0, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0,233, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,
+ 78, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,235, 0, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0,235, 0, 0, 0,
+ 0, 0, 35, 0, 9, 0, 0, 0,236, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,236, 0, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,
+237, 0, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0,237, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0,
+ 80, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,239, 0, 0, 0, 0, 0, 35, 0, 80, 0, 0, 0,239, 0, 0, 0,
+ 0, 0, 35, 0, 9, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,
+241, 0, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0,241, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0,
+ 82, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,243, 0, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0,243, 0, 0, 0,
+ 0, 0, 35, 0, 10, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,
+245, 0, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,245, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0,
+ 84, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,247, 0, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0,247, 0, 0, 0,
+ 0, 0, 35, 0, 7, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,
+249, 0, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0,249, 0, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0,
+ 86, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,251, 0, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0,251, 0, 0, 0,
+ 0, 0, 35, 0, 8, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,
+253, 0, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0,253, 0, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0,
+ 88, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,255, 0, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0,255, 0, 0, 0,
+ 0, 0, 35, 0, 9, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,
+ 1, 1, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0, 1, 1, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0,
+ 90, 0, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0, 3, 1, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0, 3, 1, 0, 0,
+ 0, 0, 35, 0, 10, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,
+ 5, 1, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0, 5, 1, 0, 0, 0, 0, 35, 0, 10, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0,
+ 92, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0, 7, 1, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0, 7, 1, 0, 0,
+ 0, 0, 35, 0, 11, 0, 0, 0, 8, 1, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 8, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,
+ 9, 1, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 9, 1, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0,
+ 94, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0, 11, 1, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0, 11, 1, 0, 0,
+ 0, 0, 35, 0, 11, 0, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,
+ 13, 1, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 13, 1, 0, 0, 0, 0, 35, 0, 7, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0,
+ 96, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0, 15, 1, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0, 15, 1, 0, 0,
+ 0, 0, 35, 0, 11, 0, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,
+ 17, 1, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0, 17, 1, 0, 0, 0, 0, 35, 0, 8, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0,
+ 98, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0, 19, 1, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0, 19, 1, 0, 0,
+ 0, 0, 35, 0, 11, 0, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,
+ 21, 1, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0, 21, 1, 0, 0, 0, 0, 35, 0, 9, 0, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0,
+100, 0, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0, 23, 1, 0, 0, 0, 0, 35, 0,100, 0, 0, 0, 23, 1, 0, 0,
+ 0, 0, 35, 0, 11, 0, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0,101, 0, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,
+ 25, 1, 0, 0, 0, 0, 35, 0,101, 0, 0, 0, 25, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0,
+102, 0, 0, 0, 26, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0, 27, 1, 0, 0,
+ 0, 0, 35, 0, 12, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, 28, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0,
+ 29, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0, 29, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0,
+104, 0, 0, 0, 30, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0, 31, 1, 0, 0,
+ 0, 0, 35, 0, 12, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0, 32, 1, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
+ 33, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0, 12, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0,
+106, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 35, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0, 35, 1, 0, 0,
+ 0, 0, 35, 0, 15, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0,
+ 37, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 13, 0, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0,
+108, 0, 0, 0, 38, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 39, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0, 39, 1, 0, 0,
+ 0, 0, 35, 0, 13, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0, 40, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0,
+ 41, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0, 41, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0,
+110, 0, 0, 0, 42, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0, 43, 1, 0, 0,
+ 0, 0, 35, 0, 17, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0, 44, 1, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0,
+ 45, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0, 17, 0, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0,
+112, 0, 0, 0, 46, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 47, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0, 47, 1, 0, 0,
+ 0, 0, 35, 0, 19, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0, 48, 1, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0,
+ 49, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0, 50, 1, 0, 0, 0, 0, 35, 0,
+114, 0, 0, 0, 50, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 51, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0, 51, 1, 0, 0,
+ 0, 0, 35, 0, 15, 0, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0, 52, 1, 0, 0, 0, 0, 35, 0, 19, 0, 0, 0,
+ 53, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0, 53, 1, 0, 0, 0, 0, 35, 0, 15, 0, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0,
+116, 0, 0, 0, 54, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0, 55, 1, 0, 0,
+ 0, 0, 35, 0, 16, 0, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0, 56, 1, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0,
+ 57, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0, 57, 1, 0, 0, 0, 0, 35, 0, 16, 0, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0,
+118, 0, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0, 59, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0, 59, 1, 0, 0,
+ 0, 0, 35, 0, 22, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0,
+ 61, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, 14, 0, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0,
+120, 0, 0, 0, 62, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 63, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0, 63, 1, 0, 0,
+ 0, 0, 35, 0, 14, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0,
+ 65, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0,
+122, 0, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0, 67, 1, 0, 0,
+ 0, 0, 35, 0, 18, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0, 68, 1, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,
+ 69, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0, 18, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0,
+124, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0, 71, 1, 0, 0,
+ 0, 0, 35, 0, 26, 0, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0,
+ 73, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0, 20, 0, 0, 0, 74, 1, 0, 0, 0, 0, 35, 0,
+126, 0, 0, 0, 74, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0, 75, 1, 0, 0,
+ 0, 0, 35, 0, 20, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,
+ 77, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0,
+128, 0, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0, 79, 1, 0, 0,
+ 0, 0, 35, 0, 21, 0, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 80, 1, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,
+ 81, 1, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0, 21, 0, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0,
+130, 0, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 83, 1, 0, 0,
+ 0, 0, 35, 0, 30, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,
+ 85, 1, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0, 23, 0, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0,
+132, 0, 0, 0, 86, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0,132, 0, 0, 0, 87, 1, 0, 0,
+ 0, 0, 35, 0, 23, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 88, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0,
+ 89, 1, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 89, 1, 0, 0, 0, 0, 35, 0, 24, 0, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0,
+134, 0, 0, 0, 90, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0,134, 0, 0, 0, 91, 1, 0, 0,
+ 0, 0, 35, 0, 25, 0, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 92, 1, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,
+ 93, 1, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 25, 0, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0,
+136, 0, 0, 0, 94, 1, 0, 0, 0, 0, 35, 0, 26, 0, 0, 0, 95, 1, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 95, 1, 0, 0,
+ 0, 0, 35, 0, 26, 0, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 96, 1, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,
+ 97, 1, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, 27, 0, 0, 0, 98, 1, 0, 0, 0, 0, 35, 0,
+138, 0, 0, 0, 98, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, 99, 1, 0, 0,
+ 0, 0, 35, 0, 27, 0, 0, 0,100, 1, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,100, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,
+101, 1, 0, 0, 0, 0, 35, 0,139, 0, 0, 0,101, 1, 0, 0, 0, 0, 35, 0, 28, 0, 0, 0,102, 1, 0, 0, 0, 0, 35, 0,
+140, 0, 0, 0,102, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,140, 0, 0, 0,103, 1, 0, 0,
+ 0, 0, 35, 0, 29, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,104, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,
+105, 1, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,105, 1, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0,106, 1, 0, 0, 0, 0, 35, 0,
+142, 0, 0, 0,106, 1, 0, 0, 0, 0, 35, 0, 30, 0, 0, 0,107, 1, 0, 0, 0, 0, 35, 0,142, 0, 0, 0,107, 1, 0, 0,
+ 0, 0, 35, 0, 30, 0, 0, 0,108, 1, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,108, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,
+109, 1, 0, 0, 0, 0, 35, 0,143, 0, 0, 0,109, 1, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,110, 1, 0, 0, 0, 0, 35, 0,
+144, 0, 0, 0,110, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,111, 1, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,111, 1, 0, 0,
+ 0, 0, 35, 0, 22, 0, 0, 0,112, 1, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,112, 1, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0,
+113, 1, 0, 0, 0, 0, 35, 0,145, 0, 0, 0,113, 1, 0, 0, 0, 0, 35, 0, 22, 0, 0, 0,114, 1, 0, 0, 0, 0, 35, 0,
+146, 0, 0, 0,114, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,146, 0, 0, 0,115, 1, 0, 0,
+ 0, 0, 35, 0, 32, 0, 0, 0,116, 1, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,116, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,
+117, 1, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,117, 1, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,
+148, 0, 0, 0,118, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,148, 0, 0, 0,119, 1, 0, 0,
+ 0, 0, 35, 0, 37, 0, 0, 0,120, 1, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,120, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,
+121, 1, 0, 0, 0, 0, 35, 0,149, 0, 0, 0,121, 1, 0, 0, 0, 0, 35, 0, 33, 0, 0, 0,122, 1, 0, 0, 0, 0, 35, 0,
+150, 0, 0, 0,122, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,123, 1, 0, 0, 0, 0, 35, 0,150, 0, 0, 0,123, 1, 0, 0,
+ 0, 0, 35, 0, 33, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,
+125, 1, 0, 0, 0, 0, 35, 0,151, 0, 0, 0,125, 1, 0, 0, 0, 0, 35, 0, 38, 0, 0, 0,126, 1, 0, 0, 0, 0, 35, 0,
+152, 0, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,127, 1, 0, 0, 0, 0, 35, 0,152, 0, 0, 0,127, 1, 0, 0,
+ 0, 0, 35, 0, 34, 0, 0, 0,128, 1, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,128, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,
+129, 1, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,130, 1, 0, 0, 0, 0, 35, 0,
+154, 0, 0, 0,130, 1, 0, 0, 0, 0, 35, 0, 39, 0, 0, 0,131, 1, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,131, 1, 0, 0,
+ 0, 0, 35, 0, 39, 0, 0, 0,132, 1, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,132, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,
+133, 1, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,133, 1, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0,134, 1, 0, 0, 0, 0, 35, 0,
+156, 0, 0, 0,134, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,135, 1, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,135, 1, 0, 0,
+ 0, 0, 35, 0, 35, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,
+137, 1, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,137, 1, 0, 0, 0, 0, 35, 0, 40, 0, 0, 0,138, 1, 0, 0, 0, 0, 35, 0,
+158, 0, 0, 0,138, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,139, 1, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,139, 1, 0, 0,
+ 0, 0, 35, 0, 36, 0, 0, 0,140, 1, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,140, 1, 0, 0, 0, 0, 35, 0, 37, 0, 0, 0,
+141, 1, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,141, 1, 0, 0, 0, 0, 35, 0, 36, 0, 0, 0,142, 1, 0, 0, 0, 0, 35, 0,
+160, 0, 0, 0,142, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,143, 1, 0, 0,
+ 0, 0, 35, 0, 37, 0, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,144, 1, 0, 0, 0, 0, 35, 0, 41, 0, 0, 0,
+145, 1, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,145, 1, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,146, 1, 0, 0, 0, 0, 35, 0,
+102, 0, 0, 0,146, 1, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,147, 1, 0, 0, 0, 0, 33, 0, 46, 0, 0, 0,147, 1, 0, 0,
+ 0, 0, 33, 0, 43, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,
+149, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,149, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,
+104, 0, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,102, 0, 0, 0,151, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,151, 1, 0, 0,
+ 0, 0, 35, 0, 45, 0, 0, 0,152, 1, 0, 0, 0, 0, 33, 0, 47, 0, 0, 0,152, 1, 0, 0, 0, 0, 33, 0, 47, 0, 0, 0,
+153, 1, 0, 0, 0, 0, 35, 0,104, 0, 0, 0,153, 1, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,
+104, 0, 0, 0,154, 1, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,155, 1, 0, 0,
+ 0, 0, 35, 0, 42, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,103, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,
+157, 1, 0, 0, 0, 0, 33, 0, 44, 0, 0, 0,157, 1, 0, 0, 0, 0, 33, 0, 50, 0, 0, 0,158, 1, 0, 0, 0, 0, 35, 0,
+105, 0, 0, 0,158, 1, 0, 0, 0, 0, 35, 0, 43, 0, 0, 0,159, 1, 0, 0, 0, 0, 33, 0, 50, 0, 0, 0,159, 1, 0, 0,
+ 0, 0, 33, 0, 43, 0, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,
+161, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,161, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,
+107, 0, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,105, 0, 0, 0,163, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0,163, 1, 0, 0,
+ 0, 0, 35, 0, 49, 0, 0, 0,164, 1, 0, 0, 0, 0, 33, 0, 51, 0, 0, 0,164, 1, 0, 0, 0, 0, 33, 0, 51, 0, 0, 0,
+165, 1, 0, 0, 0, 0, 35, 0,107, 0, 0, 0,165, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,
+107, 0, 0, 0,166, 1, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,167, 1, 0, 0,
+ 0, 0, 35, 0, 42, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,106, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0, 42, 0, 0, 0,
+169, 1, 0, 0, 0, 0, 33, 0, 48, 0, 0, 0,169, 1, 0, 0, 0, 0, 33, 0, 54, 0, 0, 0,170, 1, 0, 0, 0, 0, 35, 0,
+108, 0, 0, 0,170, 1, 0, 0, 0, 0, 35, 0, 45, 0, 0, 0,171, 1, 0, 0, 0, 0, 33, 0, 54, 0, 0, 0,171, 1, 0, 0,
+ 0, 0, 33, 0, 45, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,
+173, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,173, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,
+110, 0, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,108, 0, 0, 0,175, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,175, 1, 0, 0,
+ 0, 0, 35, 0, 53, 0, 0, 0,176, 1, 0, 0, 0, 0, 33, 0, 55, 0, 0, 0,176, 1, 0, 0, 0, 0, 33, 0, 55, 0, 0, 0,
+177, 1, 0, 0, 0, 0, 35, 0,110, 0, 0, 0,177, 1, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,
+110, 0, 0, 0,178, 1, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,179, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,179, 1, 0, 0,
+ 0, 0, 35, 0, 44, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,109, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0, 44, 0, 0, 0,
+181, 1, 0, 0, 0, 0, 33, 0, 52, 0, 0, 0,181, 1, 0, 0, 0, 0, 33, 0, 58, 0, 0, 0,182, 1, 0, 0, 0, 0, 35, 0,
+111, 0, 0, 0,182, 1, 0, 0, 0, 0, 35, 0, 53, 0, 0, 0,183, 1, 0, 0, 0, 0, 33, 0, 58, 0, 0, 0,183, 1, 0, 0,
+ 0, 0, 33, 0, 53, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,
+185, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,185, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,
+113, 0, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,111, 0, 0, 0,187, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,187, 1, 0, 0,
+ 0, 0, 35, 0, 57, 0, 0, 0,188, 1, 0, 0, 0, 0, 33, 0, 59, 0, 0, 0,188, 1, 0, 0, 0, 0, 33, 0, 59, 0, 0, 0,
+189, 1, 0, 0, 0, 0, 35, 0,113, 0, 0, 0,189, 1, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,
+113, 0, 0, 0,190, 1, 0, 0, 0, 0, 35, 0, 56, 0, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,191, 1, 0, 0,
+ 0, 0, 35, 0, 52, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,112, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0, 52, 0, 0, 0,
+193, 1, 0, 0, 0, 0, 33, 0, 56, 0, 0, 0,193, 1, 0, 0, 0, 0, 33, 0, 60, 0, 0, 0,194, 1, 0, 0, 0, 0, 35, 0,
+114, 0, 0, 0,194, 1, 0, 0, 0, 0, 35, 0, 57, 0, 0, 0,195, 1, 0, 0, 0, 0, 33, 0, 60, 0, 0, 0,195, 1, 0, 0,
+ 0, 0, 33, 0, 57, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,
+197, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,197, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,
+116, 0, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,114, 0, 0, 0,199, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,199, 1, 0, 0,
+ 0, 0, 35, 0, 49, 0, 0, 0,200, 1, 0, 0, 0, 0, 33, 0, 61, 0, 0, 0,200, 1, 0, 0, 0, 0, 33, 0, 61, 0, 0, 0,
+201, 1, 0, 0, 0, 0, 35, 0,116, 0, 0, 0,201, 1, 0, 0, 0, 0, 35, 0, 49, 0, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,
+116, 0, 0, 0,202, 1, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,203, 1, 0, 0,
+ 0, 0, 35, 0, 56, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,115, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0, 48, 0, 0, 0,
+205, 1, 0, 0, 0, 0, 33, 0, 56, 0, 0, 0,205, 1, 0, 0, 0, 0, 33, 0, 64, 0, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,
+117, 0, 0, 0,206, 1, 0, 0, 0, 0, 35, 0, 50, 0, 0, 0,207, 1, 0, 0, 0, 0, 33, 0, 64, 0, 0, 0,207, 1, 0, 0,
+ 0, 0, 33, 0, 50, 0, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,
+209, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,209, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,
+119, 0, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,117, 0, 0, 0,211, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,211, 1, 0, 0,
+ 0, 0, 35, 0, 63, 0, 0, 0,212, 1, 0, 0, 0, 0, 33, 0, 65, 0, 0, 0,212, 1, 0, 0, 0, 0, 33, 0, 65, 0, 0, 0,
+213, 1, 0, 0, 0, 0, 35, 0,119, 0, 0, 0,213, 1, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,
+119, 0, 0, 0,214, 1, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,215, 1, 0, 0,
+ 0, 0, 35, 0, 51, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,118, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0, 51, 0, 0, 0,
+217, 1, 0, 0, 0, 0, 33, 0, 62, 0, 0, 0,217, 1, 0, 0, 0, 0, 33, 0, 68, 0, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,
+120, 0, 0, 0,218, 1, 0, 0, 0, 0, 35, 0, 47, 0, 0, 0,219, 1, 0, 0, 0, 0, 33, 0, 68, 0, 0, 0,219, 1, 0, 0,
+ 0, 0, 33, 0, 47, 0, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,
+221, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,221, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,
+122, 0, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,120, 0, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,223, 1, 0, 0,
+ 0, 0, 35, 0, 67, 0, 0, 0,224, 1, 0, 0, 0, 0, 33, 0, 69, 0, 0, 0,224, 1, 0, 0, 0, 0, 33, 0, 69, 0, 0, 0,
+225, 1, 0, 0, 0, 0, 35, 0,122, 0, 0, 0,225, 1, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,
+122, 0, 0, 0,226, 1, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,227, 1, 0, 0,
+ 0, 0, 35, 0, 46, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,121, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0, 46, 0, 0, 0,
+229, 1, 0, 0, 0, 0, 33, 0, 66, 0, 0, 0,229, 1, 0, 0, 0, 0, 33, 0, 72, 0, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,
+123, 0, 0, 0,230, 1, 0, 0, 0, 0, 35, 0, 55, 0, 0, 0,231, 1, 0, 0, 0, 0, 33, 0, 72, 0, 0, 0,231, 1, 0, 0,
+ 0, 0, 33, 0, 55, 0, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,
+233, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,233, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,
+125, 0, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,123, 0, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,235, 1, 0, 0,
+ 0, 0, 35, 0, 71, 0, 0, 0,236, 1, 0, 0, 0, 0, 33, 0, 73, 0, 0, 0,236, 1, 0, 0, 0, 0, 33, 0, 73, 0, 0, 0,
+237, 1, 0, 0, 0, 0, 35, 0,125, 0, 0, 0,237, 1, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,
+125, 0, 0, 0,238, 1, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,239, 1, 0, 0,
+ 0, 0, 35, 0, 54, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,124, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0, 54, 0, 0, 0,
+241, 1, 0, 0, 0, 0, 33, 0, 70, 0, 0, 0,241, 1, 0, 0, 0, 0, 33, 0, 76, 0, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,
+126, 0, 0, 0,242, 1, 0, 0, 0, 0, 35, 0, 59, 0, 0, 0,243, 1, 0, 0, 0, 0, 33, 0, 76, 0, 0, 0,243, 1, 0, 0,
+ 0, 0, 33, 0, 59, 0, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,
+245, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,245, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,
+128, 0, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,126, 0, 0, 0,247, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,247, 1, 0, 0,
+ 0, 0, 35, 0, 75, 0, 0, 0,248, 1, 0, 0, 0, 0, 33, 0, 77, 0, 0, 0,248, 1, 0, 0, 0, 0, 33, 0, 77, 0, 0, 0,
+249, 1, 0, 0, 0, 0, 35, 0,128, 0, 0, 0,249, 1, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,
+128, 0, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0,251, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,251, 1, 0, 0,
+ 0, 0, 35, 0, 58, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,127, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0, 58, 0, 0, 0,
+253, 1, 0, 0, 0, 0, 33, 0, 74, 0, 0, 0,253, 1, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0,254, 1, 0, 0, 0, 0, 35, 0,
+129, 0, 0, 0,254, 1, 0, 0, 0, 0, 35, 0, 61, 0, 0, 0,255, 1, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0,255, 1, 0, 0,
+ 0, 0, 33, 0, 61, 0, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,129, 0, 0, 0,
+ 1, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0,
+131, 0, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0,129, 0, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 3, 2, 0, 0,
+ 0, 0, 35, 0, 79, 0, 0, 0, 4, 2, 0, 0, 0, 0, 33, 0, 81, 0, 0, 0, 4, 2, 0, 0, 0, 0, 33, 0, 81, 0, 0, 0,
+ 5, 2, 0, 0, 0, 0, 35, 0,131, 0, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0,
+131, 0, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0, 7, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 7, 2, 0, 0,
+ 0, 0, 35, 0, 60, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0,130, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0, 60, 0, 0, 0,
+ 9, 2, 0, 0, 0, 0, 33, 0, 78, 0, 0, 0, 9, 2, 0, 0, 0, 0, 33, 0, 83, 0, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0,
+132, 0, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0, 65, 0, 0, 0, 11, 2, 0, 0, 0, 0, 33, 0, 83, 0, 0, 0, 11, 2, 0, 0,
+ 0, 0, 33, 0, 65, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,132, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,132, 0, 0, 0,
+ 13, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,
+134, 0, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,132, 0, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0,134, 0, 0, 0, 15, 2, 0, 0,
+ 0, 0, 35, 0, 67, 0, 0, 0, 16, 2, 0, 0, 0, 0, 33, 0, 82, 0, 0, 0, 16, 2, 0, 0, 0, 0, 33, 0, 82, 0, 0, 0,
+ 17, 2, 0, 0, 0, 0, 35, 0,134, 0, 0, 0, 17, 2, 0, 0, 0, 0, 35, 0, 67, 0, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,
+134, 0, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0, 66, 0, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 19, 2, 0, 0,
+ 0, 0, 35, 0, 64, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0,133, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0, 64, 0, 0, 0,
+ 21, 2, 0, 0, 0, 0, 33, 0, 66, 0, 0, 0, 21, 2, 0, 0, 0, 0, 33, 0, 84, 0, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0,
+135, 0, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0, 69, 0, 0, 0, 23, 2, 0, 0, 0, 0, 33, 0, 84, 0, 0, 0, 23, 2, 0, 0,
+ 0, 0, 33, 0, 69, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,135, 0, 0, 0,
+ 25, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,
+137, 0, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,135, 0, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 27, 2, 0, 0,
+ 0, 0, 35, 0, 71, 0, 0, 0, 28, 2, 0, 0, 0, 0, 33, 0, 85, 0, 0, 0, 28, 2, 0, 0, 0, 0, 33, 0, 85, 0, 0, 0,
+ 29, 2, 0, 0, 0, 0, 35, 0,137, 0, 0, 0, 29, 2, 0, 0, 0, 0, 35, 0, 71, 0, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,
+137, 0, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0, 70, 0, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 31, 2, 0, 0,
+ 0, 0, 35, 0, 68, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0,136, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0, 68, 0, 0, 0,
+ 33, 2, 0, 0, 0, 0, 33, 0, 70, 0, 0, 0, 33, 2, 0, 0, 0, 0, 33, 0, 86, 0, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0,
+138, 0, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0, 73, 0, 0, 0, 35, 2, 0, 0, 0, 0, 33, 0, 86, 0, 0, 0, 35, 2, 0, 0,
+ 0, 0, 33, 0, 73, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,138, 0, 0, 0,
+ 37, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,
+140, 0, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,138, 0, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0,140, 0, 0, 0, 39, 2, 0, 0,
+ 0, 0, 35, 0, 75, 0, 0, 0, 40, 2, 0, 0, 0, 0, 33, 0, 87, 0, 0, 0, 40, 2, 0, 0, 0, 0, 33, 0, 87, 0, 0, 0,
+ 41, 2, 0, 0, 0, 0, 35, 0,140, 0, 0, 0, 41, 2, 0, 0, 0, 0, 35, 0, 75, 0, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,
+140, 0, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0, 74, 0, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 43, 2, 0, 0,
+ 0, 0, 35, 0, 72, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,139, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0, 72, 0, 0, 0,
+ 45, 2, 0, 0, 0, 0, 33, 0, 74, 0, 0, 0, 45, 2, 0, 0, 0, 0, 33, 0, 88, 0, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0,
+141, 0, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0, 77, 0, 0, 0, 47, 2, 0, 0, 0, 0, 33, 0, 88, 0, 0, 0, 47, 2, 0, 0,
+ 0, 0, 33, 0, 77, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,141, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,141, 0, 0, 0,
+ 49, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,
+143, 0, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,141, 0, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,143, 0, 0, 0, 51, 2, 0, 0,
+ 0, 0, 35, 0, 79, 0, 0, 0, 52, 2, 0, 0, 0, 0, 33, 0, 89, 0, 0, 0, 52, 2, 0, 0, 0, 0, 33, 0, 89, 0, 0, 0,
+ 53, 2, 0, 0, 0, 0, 35, 0,143, 0, 0, 0, 53, 2, 0, 0, 0, 0, 35, 0, 79, 0, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,
+143, 0, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0, 78, 0, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 55, 2, 0, 0,
+ 0, 0, 35, 0, 76, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,142, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0, 76, 0, 0, 0,
+ 57, 2, 0, 0, 0, 0, 33, 0, 78, 0, 0, 0, 57, 2, 0, 0, 0, 0, 33, 0, 90, 0, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0,
+144, 0, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0, 81, 0, 0, 0, 59, 2, 0, 0, 0, 0, 33, 0, 90, 0, 0, 0, 59, 2, 0, 0,
+ 0, 0, 33, 0, 81, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,144, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,144, 0, 0, 0,
+ 61, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,
+146, 0, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,144, 0, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,146, 0, 0, 0, 63, 2, 0, 0,
+ 0, 0, 35, 0, 63, 0, 0, 0, 64, 2, 0, 0, 0, 0, 33, 0, 91, 0, 0, 0, 64, 2, 0, 0, 0, 0, 33, 0, 91, 0, 0, 0,
+ 65, 2, 0, 0, 0, 0, 35, 0,146, 0, 0, 0, 65, 2, 0, 0, 0, 0, 35, 0, 63, 0, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,
+146, 0, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 67, 2, 0, 0,
+ 0, 0, 35, 0, 80, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,145, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0, 62, 0, 0, 0,
+ 69, 2, 0, 0, 0, 0, 33, 0, 80, 0, 0, 0, 69, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0,
+147, 0, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0, 82, 0, 0, 0, 71, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0, 71, 2, 0, 0,
+ 0, 0, 33, 0, 82, 0, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,147, 0, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,147, 0, 0, 0,
+ 73, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,
+149, 0, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,147, 0, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,149, 0, 0, 0, 75, 2, 0, 0,
+ 0, 0, 35, 0, 93, 0, 0, 0, 76, 2, 0, 0, 0, 0, 33, 0, 95, 0, 0, 0, 76, 2, 0, 0, 0, 0, 33, 0, 95, 0, 0, 0,
+ 77, 2, 0, 0, 0, 0, 35, 0,149, 0, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 93, 0, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0,
+149, 0, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0, 92, 0, 0, 0, 79, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 79, 2, 0, 0,
+ 0, 0, 35, 0, 83, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,148, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0, 83, 0, 0, 0,
+ 81, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0, 81, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0,
+150, 0, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0, 85, 0, 0, 0, 83, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0, 83, 2, 0, 0,
+ 0, 0, 33, 0, 85, 0, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,150, 0, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,150, 0, 0, 0,
+ 85, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,
+152, 0, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,150, 0, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,152, 0, 0, 0, 87, 2, 0, 0,
+ 0, 0, 35, 0, 95, 0, 0, 0, 88, 2, 0, 0, 0, 0, 33, 0, 97, 0, 0, 0, 88, 2, 0, 0, 0, 0, 33, 0, 97, 0, 0, 0,
+ 89, 2, 0, 0, 0, 0, 35, 0,152, 0, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 95, 0, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0,
+152, 0, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0, 94, 0, 0, 0, 91, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 91, 2, 0, 0,
+ 0, 0, 35, 0, 84, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,151, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0, 84, 0, 0, 0,
+ 93, 2, 0, 0, 0, 0, 33, 0, 94, 0, 0, 0, 93, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0,
+153, 0, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0, 87, 0, 0, 0, 95, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0, 95, 2, 0, 0,
+ 0, 0, 33, 0, 87, 0, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,153, 0, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,153, 0, 0, 0,
+ 97, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,
+155, 0, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,153, 0, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,155, 0, 0, 0, 99, 2, 0, 0,
+ 0, 0, 35, 0, 97, 0, 0, 0,100, 2, 0, 0, 0, 0, 33, 0, 99, 0, 0, 0,100, 2, 0, 0, 0, 0, 33, 0, 99, 0, 0, 0,
+101, 2, 0, 0, 0, 0, 35, 0,155, 0, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 97, 0, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,
+155, 0, 0, 0,102, 2, 0, 0, 0, 0, 35, 0, 96, 0, 0, 0,103, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,103, 2, 0, 0,
+ 0, 0, 35, 0, 86, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,154, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0, 86, 0, 0, 0,
+105, 2, 0, 0, 0, 0, 33, 0, 96, 0, 0, 0,105, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,106, 2, 0, 0, 0, 0, 35, 0,
+156, 0, 0, 0,106, 2, 0, 0, 0, 0, 35, 0, 89, 0, 0, 0,107, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,107, 2, 0, 0,
+ 0, 0, 33, 0, 89, 0, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,
+109, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,
+158, 0, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,156, 0, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,111, 2, 0, 0,
+ 0, 0, 35, 0, 99, 0, 0, 0,112, 2, 0, 0, 0, 0, 33, 0,101, 0, 0, 0,112, 2, 0, 0, 0, 0, 33, 0,101, 0, 0, 0,
+113, 2, 0, 0, 0, 0, 35, 0,158, 0, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 99, 0, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,
+158, 0, 0, 0,114, 2, 0, 0, 0, 0, 35, 0, 98, 0, 0, 0,115, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,115, 2, 0, 0,
+ 0, 0, 35, 0, 88, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,157, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0, 88, 0, 0, 0,
+117, 2, 0, 0, 0, 0, 33, 0, 98, 0, 0, 0,117, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0,118, 2, 0, 0, 0, 0, 35, 0,
+159, 0, 0, 0,118, 2, 0, 0, 0, 0, 35, 0, 91, 0, 0, 0,119, 2, 0, 0, 0, 0, 33, 0, 92, 0, 0, 0,119, 2, 0, 0,
+ 0, 0, 33, 0, 91, 0, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,
+121, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,
+161, 0, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,159, 0, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,123, 2, 0, 0,
+ 0, 0, 35, 0, 93, 0, 0, 0,124, 2, 0, 0, 0, 0, 33, 0,101, 0, 0, 0,124, 2, 0, 0, 0, 0, 33, 0, 93, 0, 0, 0,
+125, 2, 0, 0, 0, 0, 35, 0,161, 0, 0, 0,125, 2, 0, 0, 0, 0, 35, 0,101, 0, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,
+161, 0, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,100, 0, 0, 0,127, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,127, 2, 0, 0,
+ 0, 0, 35, 0, 90, 0, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,160, 0, 0, 0,128, 2, 0, 0, 0, 0, 35, 0, 90, 0, 0, 0,
+129, 2, 0, 0, 0, 0, 33, 0,100, 0, 0, 0,129, 2, 0, 0, 0, 0, 33, 0, 27, 1, 0, 0,146, 1, 0, 0, 0, 0, 35, 0,
+171, 0, 0, 0,146, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0, 27, 1, 0, 0, 0, 0, 35, 0,146, 1, 0, 0,147, 1, 0, 0,
+ 0, 0, 35, 0,146, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,147, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,
+ 26, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,148, 1, 0, 0, 0, 0, 35, 0, 26, 1, 0, 0,148, 1, 0, 0, 0, 0, 35, 0,
+164, 0, 0, 0,147, 1, 0, 0, 0, 0, 35, 0,164, 0, 0, 0,170, 0, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,147, 1, 0, 0,
+ 0, 0, 35, 0, 26, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0, 28, 1, 0, 0,149, 1, 0, 0, 0, 0, 35, 0, 26, 1, 0, 0,
+ 28, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,149, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0,
+150, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0, 27, 1, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0, 31, 1, 0, 0,151, 1, 0, 0,
+ 0, 0, 35, 0, 27, 1, 0, 0,151, 1, 0, 0, 0, 0, 35, 0, 30, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0,
+ 30, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0,150, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,152, 1, 0, 0, 0, 0, 35, 0,
+172, 0, 0, 0,152, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,172, 0, 0, 0, 0, 0, 35, 0,152, 1, 0, 0,153, 1, 0, 0,
+ 0, 0, 35, 0,152, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,153, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,
+ 30, 1, 0, 0, 0, 0, 35, 0, 30, 1, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,154, 1, 0, 0, 0, 0, 35, 0,
+ 31, 1, 0, 0,153, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0, 31, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,153, 1, 0, 0,
+ 0, 0, 35, 0,167, 0, 0, 0,155, 1, 0, 0, 0, 0, 35, 0, 29, 1, 0, 0,155, 1, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,
+ 29, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,155, 1, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,
+156, 1, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,166, 0, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,157, 1, 0, 0,
+ 0, 0, 35, 0,166, 0, 0, 0,157, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0,156, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0,
+ 28, 1, 0, 0, 0, 0, 35, 0, 28, 1, 0, 0,156, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0,158, 1, 0, 0, 0, 0, 35, 0,
+179, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,158, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,159, 1, 0, 0,
+ 0, 0, 35, 0,159, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,
+ 32, 1, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,165, 0, 0, 0,160, 1, 0, 0, 0, 0, 35, 0,
+164, 0, 0, 0,159, 1, 0, 0, 0, 0, 35, 0,178, 0, 0, 0,159, 1, 0, 0, 0, 0, 35, 0,164, 0, 0, 0,178, 0, 0, 0,
+ 0, 0, 35, 0, 32, 1, 0, 0,161, 1, 0, 0, 0, 0, 35, 0, 32, 1, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 34, 1, 0, 0,
+161, 1, 0, 0, 0, 0, 35, 0,161, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0,162, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0,
+161, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0, 37, 1, 0, 0, 0, 0, 35, 0, 33, 1, 0, 0,163, 1, 0, 0,
+ 0, 0, 35, 0, 37, 1, 0, 0,163, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0,162, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0,
+162, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0, 36, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,164, 1, 0, 0, 0, 0, 35, 0,
+176, 0, 0, 0,180, 0, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,164, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,165, 1, 0, 0,
+ 0, 0, 35, 0,165, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,164, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,
+ 36, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,166, 1, 0, 0, 0, 0, 35, 0, 36, 1, 0, 0,166, 1, 0, 0, 0, 0, 35, 0,
+ 37, 1, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,165, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0, 37, 1, 0, 0,
+ 0, 0, 35, 0,175, 0, 0, 0,167, 1, 0, 0, 0, 0, 35, 0,175, 0, 0, 0, 35, 1, 0, 0, 0, 0, 35, 0, 35, 1, 0, 0,
+167, 1, 0, 0, 0, 0, 35, 0,167, 1, 0, 0,168, 1, 0, 0, 0, 0, 35, 0,168, 1, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,
+167, 1, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,162, 0, 0, 0,174, 0, 0, 0, 0, 0, 35, 0,174, 0, 0, 0,169, 1, 0, 0,
+ 0, 0, 35, 0,162, 0, 0, 0,169, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0,168, 1, 0, 0, 0, 0, 35, 0, 34, 1, 0, 0,
+168, 1, 0, 0, 0, 0, 35, 0,163, 0, 0, 0, 34, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0,170, 1, 0, 0, 0, 0, 35, 0,
+187, 0, 0, 0,170, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0, 39, 1, 0, 0, 0, 0, 35, 0,170, 1, 0, 0,171, 1, 0, 0,
+ 0, 0, 35, 0,170, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,171, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,
+ 38, 1, 0, 0, 0, 0, 35, 0,169, 0, 0, 0,172, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0,172, 1, 0, 0, 0, 0, 35, 0,
+168, 0, 0, 0,171, 1, 0, 0, 0, 0, 35, 0,168, 0, 0, 0,186, 0, 0, 0, 0, 0, 35, 0,186, 0, 0, 0,171, 1, 0, 0,
+ 0, 0, 35, 0, 38, 1, 0, 0,173, 1, 0, 0, 0, 0, 35, 0, 40, 1, 0, 0,173, 1, 0, 0, 0, 0, 35, 0, 38, 1, 0, 0,
+ 40, 1, 0, 0, 0, 0, 35, 0,173, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,173, 1, 0, 0,175, 1, 0, 0, 0, 0, 35, 0,
+174, 1, 0, 0,175, 1, 0, 0, 0, 0, 35, 0, 39, 1, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0, 43, 1, 0, 0,175, 1, 0, 0,
+ 0, 0, 35, 0, 39, 1, 0, 0,175, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0,
+ 42, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0,174, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,176, 1, 0, 0, 0, 0, 35, 0,
+188, 0, 0, 0,176, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,188, 0, 0, 0, 0, 0, 35, 0,176, 1, 0, 0,177, 1, 0, 0,
+ 0, 0, 35, 0,176, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,177, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,
+ 42, 1, 0, 0, 0, 0, 35, 0, 42, 1, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,178, 1, 0, 0, 0, 0, 35, 0,
+ 43, 1, 0, 0,177, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0, 43, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0,177, 1, 0, 0,
+ 0, 0, 35, 0,183, 0, 0, 0,179, 1, 0, 0, 0, 0, 35, 0, 41, 1, 0, 0,179, 1, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,
+ 41, 1, 0, 0, 0, 0, 35, 0,179, 1, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,179, 1, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,
+180, 1, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,182, 0, 0, 0, 0, 0, 35, 0,166, 0, 0, 0,181, 1, 0, 0,
+ 0, 0, 35, 0,182, 0, 0, 0,181, 1, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,180, 1, 0, 0, 0, 0, 35, 0,167, 0, 0, 0,
+ 40, 1, 0, 0, 0, 0, 35, 0, 40, 1, 0, 0,180, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0,182, 1, 0, 0, 0, 0, 35, 0,
+195, 0, 0, 0,182, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0, 45, 1, 0, 0, 0, 0, 35, 0,182, 1, 0, 0,183, 1, 0, 0,
+ 0, 0, 35, 0,182, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,183, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,
+ 44, 1, 0, 0, 0, 0, 35, 0,185, 0, 0, 0,184, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0,184, 1, 0, 0, 0, 0, 35, 0,
+184, 0, 0, 0,183, 1, 0, 0, 0, 0, 35, 0,184, 0, 0, 0,194, 0, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,183, 1, 0, 0,
+ 0, 0, 35, 0, 44, 1, 0, 0,185, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0,185, 1, 0, 0, 0, 0, 35, 0, 44, 1, 0, 0,
+ 46, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,185, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0,
+186, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, 45, 1, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0, 49, 1, 0, 0,187, 1, 0, 0,
+ 0, 0, 35, 0, 45, 1, 0, 0,187, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0,
+ 48, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0,186, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,188, 1, 0, 0, 0, 0, 35, 0,
+196, 0, 0, 0,188, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,196, 0, 0, 0, 0, 0, 35, 0,188, 1, 0, 0,189, 1, 0, 0,
+ 0, 0, 35, 0,188, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,189, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,
+ 48, 1, 0, 0, 0, 0, 35, 0, 48, 1, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,190, 1, 0, 0, 0, 0, 35, 0,
+ 49, 1, 0, 0,189, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0, 49, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,189, 1, 0, 0,
+ 0, 0, 35, 0,191, 0, 0, 0,191, 1, 0, 0, 0, 0, 35, 0, 47, 1, 0, 0,191, 1, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,
+ 47, 1, 0, 0, 0, 0, 35, 0,191, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,191, 1, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,
+192, 1, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,182, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,182, 0, 0, 0,193, 1, 0, 0,
+ 0, 0, 35, 0,190, 0, 0, 0,193, 1, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,192, 1, 0, 0, 0, 0, 35, 0,183, 0, 0, 0,
+ 46, 1, 0, 0, 0, 0, 35, 0, 46, 1, 0, 0,192, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0,194, 1, 0, 0, 0, 0, 35, 0,
+199, 0, 0, 0,194, 1, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 51, 1, 0, 0, 0, 0, 35, 0,194, 1, 0, 0,195, 1, 0, 0,
+ 0, 0, 35, 0,194, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,195, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,
+ 50, 1, 0, 0, 0, 0, 35, 0,193, 0, 0, 0,196, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0,196, 1, 0, 0, 0, 0, 35, 0,
+192, 0, 0, 0,195, 1, 0, 0, 0, 0, 35, 0,192, 0, 0, 0,198, 0, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,195, 1, 0, 0,
+ 0, 0, 35, 0, 50, 1, 0, 0,197, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0,197, 1, 0, 0, 0, 0, 35, 0, 50, 1, 0, 0,
+ 53, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,197, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0,
+198, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0, 51, 1, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0, 55, 1, 0, 0,199, 1, 0, 0,
+ 0, 0, 35, 0, 51, 1, 0, 0,199, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0,
+ 54, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0,198, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,200, 1, 0, 0, 0, 0, 35, 0,
+200, 0, 0, 0,200, 1, 0, 0, 0, 0, 35, 0,176, 0, 0, 0,200, 0, 0, 0, 0, 0, 35, 0,200, 1, 0, 0,201, 1, 0, 0,
+ 0, 0, 35, 0,200, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,201, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,
+ 54, 1, 0, 0, 0, 0, 35, 0, 54, 1, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,177, 0, 0, 0,202, 1, 0, 0, 0, 0, 35, 0,
+ 55, 1, 0, 0,201, 1, 0, 0, 0, 0, 35, 0,201, 0, 0, 0, 55, 1, 0, 0, 0, 0, 35, 0,201, 0, 0, 0,201, 1, 0, 0,
+ 0, 0, 35, 0,175, 0, 0, 0,203, 1, 0, 0, 0, 0, 35, 0, 52, 1, 0, 0,203, 1, 0, 0, 0, 0, 35, 0,175, 0, 0, 0,
+ 52, 1, 0, 0, 0, 0, 35, 0,203, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,203, 1, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,
+204, 1, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,174, 0, 0, 0,190, 0, 0, 0, 0, 0, 35, 0,190, 0, 0, 0,205, 1, 0, 0,
+ 0, 0, 35, 0,174, 0, 0, 0,205, 1, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,204, 1, 0, 0, 0, 0, 35, 0,191, 0, 0, 0,
+ 53, 1, 0, 0, 0, 0, 35, 0, 53, 1, 0, 0,204, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,
+207, 0, 0, 0, 57, 1, 0, 0, 0, 0, 35, 0,207, 0, 0, 0,206, 1, 0, 0, 0, 0, 35, 0,206, 1, 0, 0,207, 1, 0, 0,
+ 0, 0, 35, 0,207, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,206, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,
+ 56, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,179, 0, 0, 0,208, 1, 0, 0, 0, 0, 35, 0,
+178, 0, 0, 0,207, 1, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,207, 1, 0, 0, 0, 0, 35, 0,178, 0, 0, 0,206, 0, 0, 0,
+ 0, 0, 35, 0, 56, 1, 0, 0,209, 1, 0, 0, 0, 0, 35, 0, 56, 1, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0,
+209, 1, 0, 0, 0, 0, 35, 0,209, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0,210, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0,
+209, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0, 61, 1, 0, 0, 0, 0, 35, 0, 57, 1, 0, 0,211, 1, 0, 0,
+ 0, 0, 35, 0, 61, 1, 0, 0,211, 1, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0,210, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0,
+210, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0, 60, 1, 0, 0, 0, 0, 35, 0,204, 0, 0, 0,212, 1, 0, 0, 0, 0, 35, 0,
+204, 0, 0, 0,208, 0, 0, 0, 0, 0, 35, 0,208, 0, 0, 0,212, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,213, 1, 0, 0,
+ 0, 0, 35, 0,213, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,205, 0, 0, 0,
+ 60, 1, 0, 0, 0, 0, 35, 0,205, 0, 0, 0,214, 1, 0, 0, 0, 0, 35, 0, 60, 1, 0, 0,214, 1, 0, 0, 0, 0, 35, 0,
+ 61, 1, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0,213, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0, 61, 1, 0, 0,
+ 0, 0, 35, 0,203, 0, 0, 0,215, 1, 0, 0, 0, 0, 35, 0,203, 0, 0, 0, 59, 1, 0, 0, 0, 0, 35, 0, 59, 1, 0, 0,
+215, 1, 0, 0, 0, 0, 35, 0,215, 1, 0, 0,216, 1, 0, 0, 0, 0, 35, 0,216, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,
+215, 1, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,180, 0, 0, 0,202, 0, 0, 0, 0, 0, 35, 0,202, 0, 0, 0,217, 1, 0, 0,
+ 0, 0, 35, 0,180, 0, 0, 0,217, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0,216, 1, 0, 0, 0, 0, 35, 0, 58, 1, 0, 0,
+216, 1, 0, 0, 0, 0, 35, 0,181, 0, 0, 0, 58, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,
+215, 0, 0, 0, 63, 1, 0, 0, 0, 0, 35, 0,215, 0, 0, 0,218, 1, 0, 0, 0, 0, 35, 0,218, 1, 0, 0,219, 1, 0, 0,
+ 0, 0, 35, 0,219, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,218, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,
+ 62, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,173, 0, 0, 0,220, 1, 0, 0, 0, 0, 35, 0,
+172, 0, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,214, 0, 0, 0,219, 1, 0, 0, 0, 0, 35, 0,172, 0, 0, 0,214, 0, 0, 0,
+ 0, 0, 35, 0, 62, 1, 0, 0,221, 1, 0, 0, 0, 0, 35, 0, 62, 1, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0, 64, 1, 0, 0,
+221, 1, 0, 0, 0, 0, 35, 0,221, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0,222, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0,
+221, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0, 67, 1, 0, 0, 0, 0, 35, 0, 63, 1, 0, 0,223, 1, 0, 0,
+ 0, 0, 35, 0, 67, 1, 0, 0,223, 1, 0, 0, 0, 0, 35, 0, 66, 1, 0, 0,222, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0,
+222, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0, 66, 1, 0, 0, 0, 0, 35, 0,212, 0, 0, 0,224, 1, 0, 0, 0, 0, 35, 0,
+212, 0, 0, 0,216, 0, 0, 0, 0, 0, 35, 0,216, 0, 0, 0,224, 1, 0, 0, 0, 0, 35, 0,224, 1, 0, 0,225, 1, 0, 0,
+ 0, 0, 35, 0,225, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,224, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,213, 0, 0, 0,
+ 66, 1, 0, 0, 0, 0, 35, 0,213, 0, 0, 0,226, 1, 0, 0, 0, 0, 35, 0, 66, 1, 0, 0,226, 1, 0, 0, 0, 0, 35, 0,
+ 67, 1, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,225, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0, 67, 1, 0, 0,
+ 0, 0, 35, 0,211, 0, 0, 0,227, 1, 0, 0, 0, 0, 35, 0,211, 0, 0, 0, 65, 1, 0, 0, 0, 0, 35, 0, 65, 1, 0, 0,
+227, 1, 0, 0, 0, 0, 35, 0,227, 1, 0, 0,228, 1, 0, 0, 0, 0, 35, 0,228, 1, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,
+227, 1, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,170, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,210, 0, 0, 0,229, 1, 0, 0,
+ 0, 0, 35, 0,170, 0, 0, 0,229, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0,228, 1, 0, 0, 0, 0, 35, 0, 64, 1, 0, 0,
+228, 1, 0, 0, 0, 0, 35, 0,171, 0, 0, 0, 64, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,
+223, 0, 0, 0, 69, 1, 0, 0, 0, 0, 35, 0,223, 0, 0, 0,230, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,231, 1, 0, 0,
+ 0, 0, 35, 0,231, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,230, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0,
+ 68, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,189, 0, 0, 0,232, 1, 0, 0, 0, 0, 35, 0,
+188, 0, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,231, 1, 0, 0, 0, 0, 35, 0,188, 0, 0, 0,222, 0, 0, 0,
+ 0, 0, 35, 0, 68, 1, 0, 0,233, 1, 0, 0, 0, 0, 35, 0, 68, 1, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, 70, 1, 0, 0,
+233, 1, 0, 0, 0, 0, 35, 0,233, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0,234, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0,
+233, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0, 73, 1, 0, 0, 0, 0, 35, 0, 69, 1, 0, 0,235, 1, 0, 0,
+ 0, 0, 35, 0, 73, 1, 0, 0,235, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0,234, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0,
+234, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0, 72, 1, 0, 0, 0, 0, 35, 0,220, 0, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,
+220, 0, 0, 0,224, 0, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,236, 1, 0, 0, 0, 0, 35, 0,236, 1, 0, 0,237, 1, 0, 0,
+ 0, 0, 35, 0,237, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,236, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,221, 0, 0, 0,
+ 72, 1, 0, 0, 0, 0, 35, 0,221, 0, 0, 0,238, 1, 0, 0, 0, 0, 35, 0, 72, 1, 0, 0,238, 1, 0, 0, 0, 0, 35, 0,
+ 73, 1, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,237, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0, 73, 1, 0, 0,
+ 0, 0, 35, 0,219, 0, 0, 0,239, 1, 0, 0, 0, 0, 35, 0,219, 0, 0, 0, 71, 1, 0, 0, 0, 0, 35, 0, 71, 1, 0, 0,
+239, 1, 0, 0, 0, 0, 35, 0,239, 1, 0, 0,240, 1, 0, 0, 0, 0, 35, 0,240, 1, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,
+239, 1, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,186, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,218, 0, 0, 0,241, 1, 0, 0,
+ 0, 0, 35, 0,186, 0, 0, 0,241, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0,240, 1, 0, 0, 0, 0, 35, 0, 70, 1, 0, 0,
+240, 1, 0, 0, 0, 0, 35, 0,187, 0, 0, 0, 70, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,
+231, 0, 0, 0, 75, 1, 0, 0, 0, 0, 35, 0,231, 0, 0, 0,242, 1, 0, 0, 0, 0, 35, 0,242, 1, 0, 0,243, 1, 0, 0,
+ 0, 0, 35, 0,243, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,242, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,
+ 74, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,197, 0, 0, 0,244, 1, 0, 0, 0, 0, 35, 0,
+196, 0, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,230, 0, 0, 0,243, 1, 0, 0, 0, 0, 35, 0,196, 0, 0, 0,230, 0, 0, 0,
+ 0, 0, 35, 0, 74, 1, 0, 0,245, 1, 0, 0, 0, 0, 35, 0, 74, 1, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 76, 1, 0, 0,
+245, 1, 0, 0, 0, 0, 35, 0,245, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0,246, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0,
+245, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0, 79, 1, 0, 0, 0, 0, 35, 0, 75, 1, 0, 0,247, 1, 0, 0,
+ 0, 0, 35, 0, 79, 1, 0, 0,247, 1, 0, 0, 0, 0, 35, 0, 78, 1, 0, 0,246, 1, 0, 0, 0, 0, 35, 0, 77, 1, 0, 0,
+246, 1, 0, 0, 0, 0, 35, 0, 77, 1, 0, 0, 78, 1, 0, 0, 0, 0, 35, 0,228, 0, 0, 0,248, 1, 0, 0, 0, 0, 35, 0,
+228, 0, 0, 0,232, 0, 0, 0, 0, 0, 35, 0,232, 0, 0, 0,248, 1, 0, 0, 0, 0, 35, 0,248, 1, 0, 0,249, 1, 0, 0,
+ 0, 0, 35, 0,249, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,248, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,229, 0, 0, 0,
+ 78, 1, 0, 0, 0, 0, 35, 0,229, 0, 0, 0,250, 1, 0, 0, 0, 0, 35, 0, 78, 1, 0, 0,250, 1, 0, 0, 0, 0, 35, 0,
+ 79, 1, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0,249, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0, 79, 1, 0, 0,
+ 0, 0, 35, 0,227, 0, 0, 0,251, 1, 0, 0, 0, 0, 35, 0,227, 0, 0, 0, 77, 1, 0, 0, 0, 0, 35, 0, 77, 1, 0, 0,
+251, 1, 0, 0, 0, 0, 35, 0,251, 1, 0, 0,252, 1, 0, 0, 0, 0, 35, 0,252, 1, 0, 0,253, 1, 0, 0, 0, 0, 35, 0,
+251, 1, 0, 0,253, 1, 0, 0, 0, 0, 35, 0,194, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,226, 0, 0, 0,253, 1, 0, 0,
+ 0, 0, 35, 0,194, 0, 0, 0,253, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0,252, 1, 0, 0, 0, 0, 35, 0, 76, 1, 0, 0,
+252, 1, 0, 0, 0, 0, 35, 0,195, 0, 0, 0, 76, 1, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0,254, 1, 0, 0, 0, 0, 35, 0,
+239, 0, 0, 0, 81, 1, 0, 0, 0, 0, 35, 0,239, 0, 0, 0,254, 1, 0, 0, 0, 0, 35, 0,254, 1, 0, 0,255, 1, 0, 0,
+ 0, 0, 35, 0,255, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,254, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,201, 0, 0, 0,
+ 80, 1, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,201, 0, 0, 0, 0, 2, 0, 0, 0, 0, 35, 0,
+200, 0, 0, 0,255, 1, 0, 0, 0, 0, 35, 0,238, 0, 0, 0,255, 1, 0, 0, 0, 0, 35, 0,200, 0, 0, 0,238, 0, 0, 0,
+ 0, 0, 35, 0, 80, 1, 0, 0, 1, 2, 0, 0, 0, 0, 35, 0, 80, 1, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 82, 1, 0, 0,
+ 1, 2, 0, 0, 0, 0, 35, 0, 1, 2, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0, 2, 2, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0,
+ 1, 2, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0, 85, 1, 0, 0, 0, 0, 35, 0, 81, 1, 0, 0, 3, 2, 0, 0,
+ 0, 0, 35, 0, 85, 1, 0, 0, 3, 2, 0, 0, 0, 0, 35, 0, 84, 1, 0, 0, 2, 2, 0, 0, 0, 0, 35, 0, 83, 1, 0, 0,
+ 2, 2, 0, 0, 0, 0, 35, 0, 83, 1, 0, 0, 84, 1, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 4, 2, 0, 0, 0, 0, 35, 0,
+236, 0, 0, 0,240, 0, 0, 0, 0, 0, 35, 0,240, 0, 0, 0, 4, 2, 0, 0, 0, 0, 35, 0, 4, 2, 0, 0, 5, 2, 0, 0,
+ 0, 0, 35, 0, 5, 2, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 4, 2, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0,237, 0, 0, 0,
+ 84, 1, 0, 0, 0, 0, 35, 0,237, 0, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0, 84, 1, 0, 0, 6, 2, 0, 0, 0, 0, 35, 0,
+ 85, 1, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 5, 2, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 85, 1, 0, 0,
+ 0, 0, 35, 0,235, 0, 0, 0, 7, 2, 0, 0, 0, 0, 35, 0,235, 0, 0, 0, 83, 1, 0, 0, 0, 0, 35, 0, 83, 1, 0, 0,
+ 7, 2, 0, 0, 0, 0, 35, 0, 7, 2, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0, 8, 2, 0, 0, 9, 2, 0, 0, 0, 0, 35, 0,
+ 7, 2, 0, 0, 9, 2, 0, 0, 0, 0, 35, 0,198, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,234, 0, 0, 0, 9, 2, 0, 0,
+ 0, 0, 35, 0,198, 0, 0, 0, 9, 2, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 8, 2, 0, 0, 0, 0, 35, 0, 82, 1, 0, 0,
+ 8, 2, 0, 0, 0, 0, 35, 0,199, 0, 0, 0, 82, 1, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0,
+245, 0, 0, 0, 10, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0, 87, 1, 0, 0, 0, 0, 35, 0, 10, 2, 0, 0, 11, 2, 0, 0,
+ 0, 0, 35, 0, 10, 2, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0, 11, 2, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,209, 0, 0, 0,
+ 86, 1, 0, 0, 0, 0, 35, 0,209, 0, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0, 12, 2, 0, 0, 0, 0, 35, 0,
+208, 0, 0, 0, 11, 2, 0, 0, 0, 0, 35, 0,208, 0, 0, 0,244, 0, 0, 0, 0, 0, 35, 0,244, 0, 0, 0, 11, 2, 0, 0,
+ 0, 0, 35, 0, 86, 1, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0, 88, 1, 0, 0, 13, 2, 0, 0, 0, 0, 35, 0, 86, 1, 0, 0,
+ 88, 1, 0, 0, 0, 0, 35, 0, 13, 2, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0, 13, 2, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0,
+ 14, 2, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0, 87, 1, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0, 91, 1, 0, 0, 15, 2, 0, 0,
+ 0, 0, 35, 0, 87, 1, 0, 0, 15, 2, 0, 0, 0, 0, 35, 0, 90, 1, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0, 89, 1, 0, 0,
+ 90, 1, 0, 0, 0, 0, 35, 0, 89, 1, 0, 0, 14, 2, 0, 0, 0, 0, 35, 0,212, 0, 0, 0, 16, 2, 0, 0, 0, 0, 35, 0,
+242, 0, 0, 0, 16, 2, 0, 0, 0, 0, 35, 0,212, 0, 0, 0,242, 0, 0, 0, 0, 0, 35, 0, 16, 2, 0, 0, 17, 2, 0, 0,
+ 0, 0, 35, 0, 16, 2, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0, 17, 2, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,213, 0, 0, 0,
+ 90, 1, 0, 0, 0, 0, 35, 0, 90, 1, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,213, 0, 0, 0, 18, 2, 0, 0, 0, 0, 35, 0,
+ 91, 1, 0, 0, 17, 2, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 91, 1, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 17, 2, 0, 0,
+ 0, 0, 35, 0,211, 0, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0, 89, 1, 0, 0, 19, 2, 0, 0, 0, 0, 35, 0,211, 0, 0, 0,
+ 89, 1, 0, 0, 0, 0, 35, 0, 19, 2, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0, 19, 2, 0, 0, 21, 2, 0, 0, 0, 0, 35, 0,
+ 20, 2, 0, 0, 21, 2, 0, 0, 0, 0, 35, 0,206, 0, 0, 0,210, 0, 0, 0, 0, 0, 35, 0,206, 0, 0, 0, 21, 2, 0, 0,
+ 0, 0, 35, 0,210, 0, 0, 0, 21, 2, 0, 0, 0, 0, 35, 0,207, 0, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0,207, 0, 0, 0,
+ 88, 1, 0, 0, 0, 0, 35, 0, 88, 1, 0, 0, 20, 2, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0,
+247, 0, 0, 0, 22, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0, 93, 1, 0, 0, 0, 0, 35, 0, 22, 2, 0, 0, 23, 2, 0, 0,
+ 0, 0, 35, 0, 22, 2, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0, 23, 2, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,217, 0, 0, 0,
+ 92, 1, 0, 0, 0, 0, 35, 0,217, 0, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0, 24, 2, 0, 0, 0, 0, 35, 0,
+216, 0, 0, 0, 23, 2, 0, 0, 0, 0, 35, 0,216, 0, 0, 0,246, 0, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, 23, 2, 0, 0,
+ 0, 0, 35, 0, 92, 1, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0, 94, 1, 0, 0, 25, 2, 0, 0, 0, 0, 35, 0, 92, 1, 0, 0,
+ 94, 1, 0, 0, 0, 0, 35, 0, 25, 2, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0, 25, 2, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0,
+ 26, 2, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0, 93, 1, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0, 97, 1, 0, 0, 27, 2, 0, 0,
+ 0, 0, 35, 0, 93, 1, 0, 0, 27, 2, 0, 0, 0, 0, 35, 0, 96, 1, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0,
+ 96, 1, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0, 26, 2, 0, 0, 0, 0, 35, 0,220, 0, 0, 0, 28, 2, 0, 0, 0, 0, 35, 0,
+248, 0, 0, 0, 28, 2, 0, 0, 0, 0, 35, 0,220, 0, 0, 0,248, 0, 0, 0, 0, 0, 35, 0, 28, 2, 0, 0, 29, 2, 0, 0,
+ 0, 0, 35, 0, 28, 2, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0, 29, 2, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,221, 0, 0, 0,
+ 96, 1, 0, 0, 0, 0, 35, 0, 96, 1, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,221, 0, 0, 0, 30, 2, 0, 0, 0, 0, 35, 0,
+ 97, 1, 0, 0, 29, 2, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 97, 1, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 29, 2, 0, 0,
+ 0, 0, 35, 0,219, 0, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0, 95, 1, 0, 0, 31, 2, 0, 0, 0, 0, 35, 0,219, 0, 0, 0,
+ 95, 1, 0, 0, 0, 0, 35, 0, 31, 2, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0, 31, 2, 0, 0, 33, 2, 0, 0, 0, 0, 35, 0,
+ 32, 2, 0, 0, 33, 2, 0, 0, 0, 0, 35, 0,214, 0, 0, 0,218, 0, 0, 0, 0, 0, 35, 0,214, 0, 0, 0, 33, 2, 0, 0,
+ 0, 0, 35, 0,218, 0, 0, 0, 33, 2, 0, 0, 0, 0, 35, 0,215, 0, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0,215, 0, 0, 0,
+ 94, 1, 0, 0, 0, 0, 35, 0, 94, 1, 0, 0, 32, 2, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0,
+251, 0, 0, 0, 34, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0, 99, 1, 0, 0, 0, 0, 35, 0, 34, 2, 0, 0, 35, 2, 0, 0,
+ 0, 0, 35, 0, 34, 2, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0, 35, 2, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,225, 0, 0, 0,
+ 98, 1, 0, 0, 0, 0, 35, 0,225, 0, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0, 98, 1, 0, 0, 36, 2, 0, 0, 0, 0, 35, 0,
+224, 0, 0, 0, 35, 2, 0, 0, 0, 0, 35, 0,224, 0, 0, 0,250, 0, 0, 0, 0, 0, 35, 0,250, 0, 0, 0, 35, 2, 0, 0,
+ 0, 0, 35, 0, 98, 1, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0,100, 1, 0, 0, 37, 2, 0, 0, 0, 0, 35, 0, 98, 1, 0, 0,
+100, 1, 0, 0, 0, 0, 35, 0, 37, 2, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0, 37, 2, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0,
+ 38, 2, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0, 99, 1, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,103, 1, 0, 0, 39, 2, 0, 0,
+ 0, 0, 35, 0, 99, 1, 0, 0, 39, 2, 0, 0, 0, 0, 35, 0,102, 1, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,101, 1, 0, 0,
+102, 1, 0, 0, 0, 0, 35, 0,101, 1, 0, 0, 38, 2, 0, 0, 0, 0, 35, 0,228, 0, 0, 0, 40, 2, 0, 0, 0, 0, 35, 0,
+252, 0, 0, 0, 40, 2, 0, 0, 0, 0, 35, 0,228, 0, 0, 0,252, 0, 0, 0, 0, 0, 35, 0, 40, 2, 0, 0, 41, 2, 0, 0,
+ 0, 0, 35, 0, 40, 2, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0, 41, 2, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,229, 0, 0, 0,
+102, 1, 0, 0, 0, 0, 35, 0,102, 1, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,229, 0, 0, 0, 42, 2, 0, 0, 0, 0, 35, 0,
+103, 1, 0, 0, 41, 2, 0, 0, 0, 0, 35, 0,253, 0, 0, 0,103, 1, 0, 0, 0, 0, 35, 0,253, 0, 0, 0, 41, 2, 0, 0,
+ 0, 0, 35, 0,227, 0, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,101, 1, 0, 0, 43, 2, 0, 0, 0, 0, 35, 0,227, 0, 0, 0,
+101, 1, 0, 0, 0, 0, 35, 0, 43, 2, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0, 43, 2, 0, 0, 45, 2, 0, 0, 0, 0, 35, 0,
+ 44, 2, 0, 0, 45, 2, 0, 0, 0, 0, 35, 0,222, 0, 0, 0,226, 0, 0, 0, 0, 0, 35, 0,222, 0, 0, 0, 45, 2, 0, 0,
+ 0, 0, 35, 0,226, 0, 0, 0, 45, 2, 0, 0, 0, 0, 35, 0,223, 0, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,223, 0, 0, 0,
+100, 1, 0, 0, 0, 0, 35, 0,100, 1, 0, 0, 44, 2, 0, 0, 0, 0, 35, 0,105, 1, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0,
+255, 0, 0, 0, 46, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,105, 1, 0, 0, 0, 0, 35, 0, 46, 2, 0, 0, 47, 2, 0, 0,
+ 0, 0, 35, 0, 46, 2, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0, 47, 2, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,233, 0, 0, 0,
+104, 1, 0, 0, 0, 0, 35, 0,233, 0, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,104, 1, 0, 0, 48, 2, 0, 0, 0, 0, 35, 0,
+232, 0, 0, 0, 47, 2, 0, 0, 0, 0, 35, 0,232, 0, 0, 0,254, 0, 0, 0, 0, 0, 35, 0,254, 0, 0, 0, 47, 2, 0, 0,
+ 0, 0, 35, 0,104, 1, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,106, 1, 0, 0, 49, 2, 0, 0, 0, 0, 35, 0,104, 1, 0, 0,
+106, 1, 0, 0, 0, 0, 35, 0, 49, 2, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0, 49, 2, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,
+ 50, 2, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,105, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0,109, 1, 0, 0, 51, 2, 0, 0,
+ 0, 0, 35, 0,105, 1, 0, 0, 51, 2, 0, 0, 0, 0, 35, 0,108, 1, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,107, 1, 0, 0,
+108, 1, 0, 0, 0, 0, 35, 0,107, 1, 0, 0, 50, 2, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 52, 2, 0, 0, 0, 0, 35, 0,
+ 0, 1, 0, 0, 52, 2, 0, 0, 0, 0, 35, 0,236, 0, 0, 0, 0, 1, 0, 0, 0, 0, 35, 0, 52, 2, 0, 0, 53, 2, 0, 0,
+ 0, 0, 35, 0, 52, 2, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0, 53, 2, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,237, 0, 0, 0,
+108, 1, 0, 0, 0, 0, 35, 0,108, 1, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,237, 0, 0, 0, 54, 2, 0, 0, 0, 0, 35, 0,
+109, 1, 0, 0, 53, 2, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,109, 1, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0, 53, 2, 0, 0,
+ 0, 0, 35, 0,235, 0, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,107, 1, 0, 0, 55, 2, 0, 0, 0, 0, 35, 0,235, 0, 0, 0,
+107, 1, 0, 0, 0, 0, 35, 0, 55, 2, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0, 55, 2, 0, 0, 57, 2, 0, 0, 0, 0, 35, 0,
+ 56, 2, 0, 0, 57, 2, 0, 0, 0, 0, 35, 0,230, 0, 0, 0,234, 0, 0, 0, 0, 0, 35, 0,230, 0, 0, 0, 57, 2, 0, 0,
+ 0, 0, 35, 0,234, 0, 0, 0, 57, 2, 0, 0, 0, 0, 35, 0,231, 0, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,231, 0, 0, 0,
+106, 1, 0, 0, 0, 0, 35, 0,106, 1, 0, 0, 56, 2, 0, 0, 0, 0, 35, 0,111, 1, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0,
+ 3, 1, 0, 0, 58, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,111, 1, 0, 0, 0, 0, 35, 0, 58, 2, 0, 0, 59, 2, 0, 0,
+ 0, 0, 35, 0, 58, 2, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0, 59, 2, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,241, 0, 0, 0,
+110, 1, 0, 0, 0, 0, 35, 0,241, 0, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,110, 1, 0, 0, 60, 2, 0, 0, 0, 0, 35, 0,
+240, 0, 0, 0, 59, 2, 0, 0, 0, 0, 35, 0,240, 0, 0, 0, 2, 1, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0, 59, 2, 0, 0,
+ 0, 0, 35, 0,110, 1, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,113, 1, 0, 0, 61, 2, 0, 0, 0, 0, 35, 0,110, 1, 0, 0,
+113, 1, 0, 0, 0, 0, 35, 0, 61, 2, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0, 61, 2, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,
+ 62, 2, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,111, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0,115, 1, 0, 0, 63, 2, 0, 0,
+ 0, 0, 35, 0,111, 1, 0, 0, 63, 2, 0, 0, 0, 0, 35, 0,114, 1, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,112, 1, 0, 0,
+114, 1, 0, 0, 0, 0, 35, 0,112, 1, 0, 0, 62, 2, 0, 0, 0, 0, 35, 0,204, 0, 0, 0, 64, 2, 0, 0, 0, 0, 35, 0,
+ 4, 1, 0, 0, 64, 2, 0, 0, 0, 0, 35, 0,204, 0, 0, 0, 4, 1, 0, 0, 0, 0, 35, 0, 64, 2, 0, 0, 65, 2, 0, 0,
+ 0, 0, 35, 0, 64, 2, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0, 65, 2, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,205, 0, 0, 0,
+114, 1, 0, 0, 0, 0, 35, 0,114, 1, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,205, 0, 0, 0, 66, 2, 0, 0, 0, 0, 35, 0,
+115, 1, 0, 0, 65, 2, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,115, 1, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0, 65, 2, 0, 0,
+ 0, 0, 35, 0,203, 0, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,112, 1, 0, 0, 67, 2, 0, 0, 0, 0, 35, 0,203, 0, 0, 0,
+112, 1, 0, 0, 0, 0, 35, 0, 67, 2, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0, 67, 2, 0, 0, 69, 2, 0, 0, 0, 0, 35, 0,
+ 68, 2, 0, 0, 69, 2, 0, 0, 0, 0, 35, 0,202, 0, 0, 0,238, 0, 0, 0, 0, 0, 35, 0,238, 0, 0, 0, 69, 2, 0, 0,
+ 0, 0, 35, 0,202, 0, 0, 0, 69, 2, 0, 0, 0, 0, 35, 0,239, 0, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,239, 0, 0, 0,
+113, 1, 0, 0, 0, 0, 35, 0,113, 1, 0, 0, 68, 2, 0, 0, 0, 0, 35, 0,117, 1, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0,
+ 11, 1, 0, 0,117, 1, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0, 70, 2, 0, 0, 0, 0, 35, 0, 70, 2, 0, 0, 71, 2, 0, 0,
+ 0, 0, 35, 0, 71, 2, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0, 70, 2, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,243, 0, 0, 0,
+116, 1, 0, 0, 0, 0, 35, 0,116, 1, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,243, 0, 0, 0, 72, 2, 0, 0, 0, 0, 35, 0,
+242, 0, 0, 0, 71, 2, 0, 0, 0, 0, 35, 0, 10, 1, 0, 0, 71, 2, 0, 0, 0, 0, 35, 0,242, 0, 0, 0, 10, 1, 0, 0,
+ 0, 0, 35, 0,116, 1, 0, 0, 73, 2, 0, 0, 0, 0, 35, 0,116, 1, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,118, 1, 0, 0,
+ 73, 2, 0, 0, 0, 0, 35, 0, 73, 2, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0, 74, 2, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,
+ 73, 2, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,117, 1, 0, 0,121, 1, 0, 0, 0, 0, 35, 0,117, 1, 0, 0, 75, 2, 0, 0,
+ 0, 0, 35, 0,121, 1, 0, 0, 75, 2, 0, 0, 0, 0, 35, 0,120, 1, 0, 0, 74, 2, 0, 0, 0, 0, 35, 0,119, 1, 0, 0,
+ 74, 2, 0, 0, 0, 0, 35, 0,119, 1, 0, 0,120, 1, 0, 0, 0, 0, 35, 0, 8, 1, 0, 0, 76, 2, 0, 0, 0, 0, 35, 0,
+ 8, 1, 0, 0, 12, 1, 0, 0, 0, 0, 35, 0, 12, 1, 0, 0, 76, 2, 0, 0, 0, 0, 35, 0, 76, 2, 0, 0, 77, 2, 0, 0,
+ 0, 0, 35, 0, 77, 2, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0, 76, 2, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0,
+120, 1, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0,120, 1, 0, 0, 78, 2, 0, 0, 0, 0, 35, 0,
+121, 1, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0, 77, 2, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0,121, 1, 0, 0,
+ 0, 0, 35, 0, 7, 1, 0, 0, 79, 2, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0,119, 1, 0, 0, 0, 0, 35, 0,119, 1, 0, 0,
+ 79, 2, 0, 0, 0, 0, 35, 0, 79, 2, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0, 80, 2, 0, 0, 81, 2, 0, 0, 0, 0, 35, 0,
+ 79, 2, 0, 0, 81, 2, 0, 0, 0, 0, 35, 0,244, 0, 0, 0, 6, 1, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0, 81, 2, 0, 0,
+ 0, 0, 35, 0,244, 0, 0, 0, 81, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0, 80, 2, 0, 0, 0, 0, 35, 0,118, 1, 0, 0,
+ 80, 2, 0, 0, 0, 0, 35, 0,245, 0, 0, 0,118, 1, 0, 0, 0, 0, 35, 0,123, 1, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0,
+ 15, 1, 0, 0,123, 1, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0, 82, 2, 0, 0, 0, 0, 35, 0, 82, 2, 0, 0, 83, 2, 0, 0,
+ 0, 0, 35, 0, 83, 2, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0, 82, 2, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,249, 0, 0, 0,
+122, 1, 0, 0, 0, 0, 35, 0,122, 1, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,249, 0, 0, 0, 84, 2, 0, 0, 0, 0, 35, 0,
+248, 0, 0, 0, 83, 2, 0, 0, 0, 0, 35, 0, 14, 1, 0, 0, 83, 2, 0, 0, 0, 0, 35, 0,248, 0, 0, 0, 14, 1, 0, 0,
+ 0, 0, 35, 0,122, 1, 0, 0, 85, 2, 0, 0, 0, 0, 35, 0,122, 1, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,124, 1, 0, 0,
+ 85, 2, 0, 0, 0, 0, 35, 0, 85, 2, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0, 86, 2, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,
+ 85, 2, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,123, 1, 0, 0,127, 1, 0, 0, 0, 0, 35, 0,123, 1, 0, 0, 87, 2, 0, 0,
+ 0, 0, 35, 0,127, 1, 0, 0, 87, 2, 0, 0, 0, 0, 35, 0,126, 1, 0, 0, 86, 2, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,
+ 86, 2, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,126, 1, 0, 0, 0, 0, 35, 0, 12, 1, 0, 0, 88, 2, 0, 0, 0, 0, 35, 0,
+ 12, 1, 0, 0, 16, 1, 0, 0, 0, 0, 35, 0, 16, 1, 0, 0, 88, 2, 0, 0, 0, 0, 35, 0, 88, 2, 0, 0, 89, 2, 0, 0,
+ 0, 0, 35, 0, 89, 2, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0, 88, 2, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0,
+126, 1, 0, 0, 0, 0, 35, 0, 13, 1, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0,126, 1, 0, 0, 90, 2, 0, 0, 0, 0, 35, 0,
+127, 1, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0, 89, 2, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0,127, 1, 0, 0,
+ 0, 0, 35, 0, 11, 1, 0, 0, 91, 2, 0, 0, 0, 0, 35, 0, 11, 1, 0, 0,125, 1, 0, 0, 0, 0, 35, 0,125, 1, 0, 0,
+ 91, 2, 0, 0, 0, 0, 35, 0, 91, 2, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0, 92, 2, 0, 0, 93, 2, 0, 0, 0, 0, 35, 0,
+ 91, 2, 0, 0, 93, 2, 0, 0, 0, 0, 35, 0,246, 0, 0, 0, 10, 1, 0, 0, 0, 0, 35, 0, 10, 1, 0, 0, 93, 2, 0, 0,
+ 0, 0, 35, 0,246, 0, 0, 0, 93, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0, 92, 2, 0, 0, 0, 0, 35, 0,124, 1, 0, 0,
+ 92, 2, 0, 0, 0, 0, 35, 0,247, 0, 0, 0,124, 1, 0, 0, 0, 0, 35, 0,129, 1, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0,
+ 19, 1, 0, 0,129, 1, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0, 94, 2, 0, 0, 0, 0, 35, 0, 94, 2, 0, 0, 95, 2, 0, 0,
+ 0, 0, 35, 0, 95, 2, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0, 94, 2, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,253, 0, 0, 0,
+128, 1, 0, 0, 0, 0, 35, 0,128, 1, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,253, 0, 0, 0, 96, 2, 0, 0, 0, 0, 35, 0,
+252, 0, 0, 0, 95, 2, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0, 95, 2, 0, 0, 0, 0, 35, 0,252, 0, 0, 0, 18, 1, 0, 0,
+ 0, 0, 35, 0,128, 1, 0, 0, 97, 2, 0, 0, 0, 0, 35, 0,128, 1, 0, 0,130, 1, 0, 0, 0, 0, 35, 0,130, 1, 0, 0,
+ 97, 2, 0, 0, 0, 0, 35, 0, 97, 2, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0, 98, 2, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,
+ 97, 2, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,129, 1, 0, 0,133, 1, 0, 0, 0, 0, 35, 0,129, 1, 0, 0, 99, 2, 0, 0,
+ 0, 0, 35, 0,133, 1, 0, 0, 99, 2, 0, 0, 0, 0, 35, 0,132, 1, 0, 0, 98, 2, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,
+ 98, 2, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,132, 1, 0, 0, 0, 0, 35, 0, 16, 1, 0, 0,100, 2, 0, 0, 0, 0, 35, 0,
+ 16, 1, 0, 0, 20, 1, 0, 0, 0, 0, 35, 0, 20, 1, 0, 0,100, 2, 0, 0, 0, 0, 35, 0,100, 2, 0, 0,101, 2, 0, 0,
+ 0, 0, 35, 0,101, 2, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,100, 2, 0, 0,102, 2, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0,
+132, 1, 0, 0, 0, 0, 35, 0, 17, 1, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,132, 1, 0, 0,102, 2, 0, 0, 0, 0, 35, 0,
+133, 1, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,101, 2, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,133, 1, 0, 0,
+ 0, 0, 35, 0, 15, 1, 0, 0,103, 2, 0, 0, 0, 0, 35, 0, 15, 1, 0, 0,131, 1, 0, 0, 0, 0, 35, 0,131, 1, 0, 0,
+103, 2, 0, 0, 0, 0, 35, 0,103, 2, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,104, 2, 0, 0,105, 2, 0, 0, 0, 0, 35, 0,
+103, 2, 0, 0,105, 2, 0, 0, 0, 0, 35, 0,250, 0, 0, 0, 14, 1, 0, 0, 0, 0, 35, 0, 14, 1, 0, 0,105, 2, 0, 0,
+ 0, 0, 35, 0,250, 0, 0, 0,105, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0,104, 2, 0, 0, 0, 0, 35, 0,130, 1, 0, 0,
+104, 2, 0, 0, 0, 0, 35, 0,251, 0, 0, 0,130, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,106, 2, 0, 0, 0, 0, 35, 0,
+ 23, 1, 0, 0,135, 1, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,106, 2, 0, 0, 0, 0, 35, 0,106, 2, 0, 0,107, 2, 0, 0,
+ 0, 0, 35, 0,107, 2, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,106, 2, 0, 0,108, 2, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,
+134, 1, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,108, 2, 0, 0, 0, 0, 35, 0, 1, 1, 0, 0,108, 2, 0, 0, 0, 0, 35, 0,
+ 0, 1, 0, 0,107, 2, 0, 0, 0, 0, 35, 0, 22, 1, 0, 0,107, 2, 0, 0, 0, 0, 35, 0, 0, 1, 0, 0, 22, 1, 0, 0,
+ 0, 0, 35, 0,134, 1, 0, 0,109, 2, 0, 0, 0, 0, 35, 0,134, 1, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,136, 1, 0, 0,
+109, 2, 0, 0, 0, 0, 35, 0,109, 2, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,110, 2, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,
+109, 2, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,139, 1, 0, 0, 0, 0, 35, 0,135, 1, 0, 0,111, 2, 0, 0,
+ 0, 0, 35, 0,139, 1, 0, 0,111, 2, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,110, 2, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,
+110, 2, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,138, 1, 0, 0, 0, 0, 35, 0, 20, 1, 0, 0,112, 2, 0, 0, 0, 0, 35, 0,
+ 20, 1, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, 24, 1, 0, 0,112, 2, 0, 0, 0, 0, 35, 0,112, 2, 0, 0,113, 2, 0, 0,
+ 0, 0, 35, 0,113, 2, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,112, 2, 0, 0,114, 2, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,
+138, 1, 0, 0, 0, 0, 35, 0, 21, 1, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,138, 1, 0, 0,114, 2, 0, 0, 0, 0, 35, 0,
+139, 1, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,113, 2, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,139, 1, 0, 0,
+ 0, 0, 35, 0, 19, 1, 0, 0,115, 2, 0, 0, 0, 0, 35, 0, 19, 1, 0, 0,137, 1, 0, 0, 0, 0, 35, 0,137, 1, 0, 0,
+115, 2, 0, 0, 0, 0, 35, 0,115, 2, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,116, 2, 0, 0,117, 2, 0, 0, 0, 0, 35, 0,
+115, 2, 0, 0,117, 2, 0, 0, 0, 0, 35, 0,254, 0, 0, 0, 18, 1, 0, 0, 0, 0, 35, 0, 18, 1, 0, 0,117, 2, 0, 0,
+ 0, 0, 35, 0,254, 0, 0, 0,117, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,116, 2, 0, 0, 0, 0, 35, 0,136, 1, 0, 0,
+116, 2, 0, 0, 0, 0, 35, 0,255, 0, 0, 0,136, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,118, 2, 0, 0, 0, 0, 35, 0,
+ 7, 1, 0, 0,141, 1, 0, 0, 0, 0, 35, 0, 7, 1, 0, 0,118, 2, 0, 0, 0, 0, 35, 0,118, 2, 0, 0,119, 2, 0, 0,
+ 0, 0, 35, 0,119, 2, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,118, 2, 0, 0,120, 2, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,
+140, 1, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,120, 2, 0, 0, 0, 0, 35, 0, 5, 1, 0, 0,120, 2, 0, 0, 0, 0, 35, 0,
+ 4, 1, 0, 0,119, 2, 0, 0, 0, 0, 35, 0, 6, 1, 0, 0,119, 2, 0, 0, 0, 0, 35, 0, 4, 1, 0, 0, 6, 1, 0, 0,
+ 0, 0, 35, 0,140, 1, 0, 0,121, 2, 0, 0, 0, 0, 35, 0,140, 1, 0, 0,142, 1, 0, 0, 0, 0, 35, 0,142, 1, 0, 0,
+121, 2, 0, 0, 0, 0, 35, 0,121, 2, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,122, 2, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,
+121, 2, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,144, 1, 0, 0, 0, 0, 35, 0,141, 1, 0, 0,123, 2, 0, 0,
+ 0, 0, 35, 0,144, 1, 0, 0,123, 2, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,122, 2, 0, 0, 0, 0, 35, 0,143, 1, 0, 0,
+122, 2, 0, 0, 0, 0, 35, 0,143, 1, 0, 0,145, 1, 0, 0, 0, 0, 35, 0, 24, 1, 0, 0,124, 2, 0, 0, 0, 0, 35, 0,
+ 8, 1, 0, 0, 24, 1, 0, 0, 0, 0, 35, 0, 8, 1, 0, 0,124, 2, 0, 0, 0, 0, 35, 0,124, 2, 0, 0,125, 2, 0, 0,
+ 0, 0, 35, 0,125, 2, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,124, 2, 0, 0,126, 2, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,
+145, 1, 0, 0, 0, 0, 35, 0, 25, 1, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,145, 1, 0, 0,126, 2, 0, 0, 0, 0, 35, 0,
+144, 1, 0, 0,125, 2, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0,125, 2, 0, 0, 0, 0, 35, 0, 9, 1, 0, 0,144, 1, 0, 0,
+ 0, 0, 35, 0, 23, 1, 0, 0,127, 2, 0, 0, 0, 0, 35, 0, 23, 1, 0, 0,143, 1, 0, 0, 0, 0, 35, 0,143, 1, 0, 0,
+127, 2, 0, 0, 0, 0, 35, 0,127, 2, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,128, 2, 0, 0,129, 2, 0, 0, 0, 0, 35, 0,
+127, 2, 0, 0,129, 2, 0, 0, 0, 0, 35, 0, 2, 1, 0, 0, 22, 1, 0, 0, 0, 0, 35, 0, 22, 1, 0, 0,129, 2, 0, 0,
+ 0, 0, 35, 0, 2, 1, 0, 0,129, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,128, 2, 0, 0, 0, 0, 35, 0,142, 1, 0, 0,
+128, 2, 0, 0, 0, 0, 35, 0, 3, 1, 0, 0,142, 1, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,184, 25, 54, 3,
+ 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 27, 54, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,127, 54, 3, 0, 0, 0, 0, 6, 0, 0, 0,
+ 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,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, 8,112, 55, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0,100, 0, 0,104, 27, 54, 3,
+ 0, 0, 0, 0, 48, 0, 0, 0, 0, 5, 0, 0, 27, 1, 0, 0,102, 0, 0, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+146, 1, 0, 0,171, 0, 0, 0, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 0, 0, 0, 27, 1, 0, 0,171, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,171, 0, 0, 0,146, 1, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,147, 1, 0, 0,
+ 46, 0, 0, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 1, 0, 0,148, 1, 0, 0,147, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 43, 0, 0, 0,147, 1, 0, 0,148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 1, 0, 0,146, 1, 0, 0,
+102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 1, 0, 0, 12, 0, 0, 0,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+165, 0, 0, 0,148, 1, 0, 0, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 0, 0, 0, 26, 1, 0, 0,148, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,148, 1, 0, 0,165, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,147, 1, 0, 0,
+ 43, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 0, 0, 0,170, 0, 0, 0,147, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 46, 0, 0, 0,147, 1, 0, 0,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,170, 0, 0, 0,164, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 1, 0, 0,102, 0, 0, 0,149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+149, 1, 0, 0, 28, 1, 0, 0, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 0, 0, 0, 26, 1, 0, 0, 28, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 28, 1, 0, 0,149, 1, 0, 0,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,150, 1, 0, 0,
+103, 0, 0, 0,149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 1, 0, 0,151, 1, 0, 0,150, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,104, 0, 0, 0,150, 1, 0, 0,151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 1, 0, 0,149, 1, 0, 0,
+102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 1, 0, 0, 14, 0, 0, 0, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 31, 1, 0, 0,151, 1, 0, 0, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 0, 0, 0, 27, 1, 0, 0,151, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,151, 1, 0, 0, 31, 1, 0, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,150, 1, 0, 0,
+104, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 1, 0, 0, 29, 1, 0, 0,150, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,103, 0, 0, 0,150, 1, 0, 0, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 1, 0, 0, 30, 1, 0, 0,
+ 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0, 45, 0, 0, 0,152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+152, 1, 0, 0,172, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0,168, 0, 0, 0,172, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,172, 0, 0, 0,152, 1, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,153, 1, 0, 0,
+ 47, 0, 0, 0,152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 1, 0, 0,154, 1, 0, 0,153, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,104, 0, 0, 0,153, 1, 0, 0,154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 1, 0, 0,152, 1, 0, 0,
+ 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,169, 0, 0, 0, 13, 0, 0, 0, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 30, 1, 0, 0,154, 1, 0, 0,169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 0, 0, 0,169, 0, 0, 0,154, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,154, 1, 0, 0, 30, 1, 0, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,153, 1, 0, 0,
+104, 0, 0, 0, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 1, 0, 0,173, 0, 0, 0,153, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 47, 0, 0, 0,153, 1, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,173, 0, 0, 0, 31, 1, 0, 0,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 0, 0, 0, 44, 0, 0, 0,155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+155, 1, 0, 0, 29, 1, 0, 0,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 0, 0, 0,167, 0, 0, 0, 29, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 29, 1, 0, 0,155, 1, 0, 0,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,156, 1, 0, 0,
+103, 0, 0, 0,155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 1, 0, 0,157, 1, 0, 0,156, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 42, 0, 0, 0,156, 1, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 1, 0, 0,155, 1, 0, 0,
+ 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,166, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+162, 0, 0, 0,157, 1, 0, 0,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 0, 0, 0,166, 0, 0, 0,157, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,157, 1, 0, 0,162, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,156, 1, 0, 0,
+ 42, 0, 0, 0,163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,163, 0, 0, 0, 28, 1, 0, 0,156, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,103, 0, 0, 0,156, 1, 0, 0, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 1, 0, 0,163, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 1, 0, 0,105, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 33, 1, 0, 0,179, 0, 0, 0,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 0, 0, 0,158, 1, 0, 0,179, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,179, 0, 0, 0, 33, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 1, 0, 0,
+ 50, 0, 0, 0,159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 1, 0, 0,160, 1, 0, 0,158, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,105, 0, 0, 0,158, 1, 0, 0,160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 1, 0, 0,159, 1, 0, 0,
+ 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 0, 0, 0, 12, 0, 0, 0, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 32, 1, 0, 0,160, 1, 0, 0,165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 0, 0, 0,165, 0, 0, 0,160, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,160, 1, 0, 0, 32, 1, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 0, 0, 0,
+ 43, 0, 0, 0,159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,159, 1, 0, 0,178, 0, 0, 0,164, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 1, 0, 0, 0,164, 0, 0, 0,178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,178, 0, 0, 0,159, 1, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 1, 0, 0,105, 0, 0, 0, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 32, 1, 0, 0, 34, 1, 0, 0,161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 0, 0, 0,161, 1, 0, 0, 34, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 34, 1, 0, 0, 32, 1, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 1, 0, 0,
+106, 0, 0, 0,162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 1, 0, 0,163, 1, 0, 0,161, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,105, 0, 0, 0,161, 1, 0, 0,163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,163, 1, 0, 0,162, 1, 0, 0,
+107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 1, 0, 0, 16, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 33, 1, 0, 0,163, 1, 0, 0, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0, 37, 1, 0, 0,163, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,163, 1, 0, 0, 33, 1, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 1, 0, 0,
+107, 0, 0, 0,162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 1, 0, 0, 35, 1, 0, 0, 36, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 15, 0, 0, 0, 36, 1, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 1, 0, 0,162, 1, 0, 0,
+106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 1, 0, 0, 49, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+176, 0, 0, 0,180, 0, 0, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0,164, 1, 0, 0,180, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,180, 0, 0, 0,176, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,164, 1, 0, 0,
+ 51, 0, 0, 0,165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 1, 0, 0,166, 1, 0, 0,164, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 49, 0, 0, 0,164, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,166, 1, 0, 0,165, 1, 0, 0,
+107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 1, 0, 0, 15, 0, 0, 0,177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+177, 0, 0, 0,166, 1, 0, 0, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 0, 0, 0, 36, 1, 0, 0,166, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,166, 1, 0, 0,177, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 1, 0, 0,
+107, 0, 0, 0,165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,165, 1, 0, 0,181, 0, 0, 0, 37, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 16, 0, 0, 0, 37, 1, 0, 0,181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,181, 0, 0, 0,165, 1, 0, 0,
+ 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 1, 0, 0, 48, 0, 0, 0,175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+175, 0, 0, 0, 35, 1, 0, 0,167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 0, 0, 0,167, 1, 0, 0, 35, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 35, 1, 0, 0,175, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 1, 0, 0,
+106, 0, 0, 0,168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 1, 0, 0,169, 1, 0, 0,167, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 48, 0, 0, 0,167, 1, 0, 0,169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,169, 1, 0, 0,168, 1, 0, 0,
+ 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,162, 0, 0, 0, 0, 0, 0, 0,174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+174, 0, 0, 0,169, 1, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 0, 0, 0,162, 0, 0, 0,169, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,169, 1, 0, 0,174, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,163, 0, 0, 0,
+ 42, 0, 0, 0,168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 1, 0, 0, 34, 1, 0, 0,163, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 12, 0, 0, 0,163, 0, 0, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 1, 0, 0,168, 1, 0, 0,
+106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 1, 0, 0,108, 0, 0, 0,170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+170, 1, 0, 0,187, 0, 0, 0, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 0, 0, 0, 39, 1, 0, 0,187, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,187, 0, 0, 0,170, 1, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,171, 1, 0, 0,
+ 54, 0, 0, 0,170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,170, 1, 0, 0,172, 1, 0, 0,171, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 45, 0, 0, 0,171, 1, 0, 0,172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,172, 1, 0, 0,170, 1, 0, 0,
+108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 1, 0, 0, 13, 0, 0, 0,169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+169, 0, 0, 0,172, 1, 0, 0, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 0, 0, 0, 38, 1, 0, 0,172, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,172, 1, 0, 0,169, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,171, 1, 0, 0,
+ 45, 0, 0, 0,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,168, 0, 0, 0,186, 0, 0, 0,171, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 54, 0, 0, 0,171, 1, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,186, 0, 0, 0,168, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 1, 0, 0,108, 0, 0, 0,173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+173, 1, 0, 0, 40, 1, 0, 0, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 0, 0, 0, 38, 1, 0, 0, 40, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 40, 1, 0, 0,173, 1, 0, 0,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,174, 1, 0, 0,
+109, 0, 0, 0,173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,173, 1, 0, 0,175, 1, 0, 0,174, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,110, 0, 0, 0,174, 1, 0, 0,175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,175, 1, 0, 0,173, 1, 0, 0,
+108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 1, 0, 0, 18, 0, 0, 0, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 43, 1, 0, 0,175, 1, 0, 0, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 0, 0, 0, 39, 1, 0, 0,175, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,175, 1, 0, 0, 43, 1, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,174, 1, 0, 0,
+110, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 1, 0, 0, 41, 1, 0, 0,174, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,109, 0, 0, 0,174, 1, 0, 0, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 1, 0, 0, 42, 1, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 0, 0, 0, 53, 0, 0, 0,176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+176, 1, 0, 0,188, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0,184, 0, 0, 0,188, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,188, 0, 0, 0,176, 1, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,177, 1, 0, 0,
+ 55, 0, 0, 0,176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,176, 1, 0, 0,178, 1, 0, 0,177, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,110, 0, 0, 0,177, 1, 0, 0,178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,178, 1, 0, 0,176, 1, 0, 0,
+ 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,185, 0, 0, 0, 17, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 42, 1, 0, 0,178, 1, 0, 0,185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 0, 0, 0,185, 0, 0, 0,178, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,178, 1, 0, 0, 42, 1, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,177, 1, 0, 0,
+110, 0, 0, 0, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 1, 0, 0,189, 0, 0, 0,177, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 55, 0, 0, 0,177, 1, 0, 0,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,189, 0, 0, 0, 43, 1, 0, 0,
+ 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 0, 0, 0, 52, 0, 0, 0,179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+179, 1, 0, 0, 41, 1, 0, 0,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 0, 0, 0,183, 0, 0, 0, 41, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 41, 1, 0, 0,179, 1, 0, 0,109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,180, 1, 0, 0,
+109, 0, 0, 0,179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,179, 1, 0, 0,181, 1, 0, 0,180, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 44, 0, 0, 0,180, 1, 0, 0,181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,181, 1, 0, 0,179, 1, 0, 0,
+ 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,182, 0, 0, 0, 0, 0, 0, 0,166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+166, 0, 0, 0,181, 1, 0, 0,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 0, 0, 0,182, 0, 0, 0,181, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,181, 1, 0, 0,166, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,180, 1, 0, 0,
+ 44, 0, 0, 0,167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,167, 0, 0, 0, 40, 1, 0, 0,180, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,109, 0, 0, 0,180, 1, 0, 0, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 1, 0, 0,167, 0, 0, 0,
+ 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 1, 0, 0,111, 0, 0, 0,182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+182, 1, 0, 0,195, 0, 0, 0, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 0, 0, 0, 45, 1, 0, 0,195, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,195, 0, 0, 0,182, 1, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 1, 0, 0,
+ 58, 0, 0, 0,182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,182, 1, 0, 0,184, 1, 0, 0,183, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 53, 0, 0, 0,183, 1, 0, 0,184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 1, 0, 0,182, 1, 0, 0,
+111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0, 17, 0, 0, 0,185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+185, 0, 0, 0,184, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0, 44, 1, 0, 0,184, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,184, 1, 0, 0,185, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 1, 0, 0,
+ 53, 0, 0, 0,184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,184, 0, 0, 0,194, 0, 0, 0,183, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 58, 0, 0, 0,183, 1, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,194, 0, 0, 0,184, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 1, 0, 0,111, 0, 0, 0,185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+185, 1, 0, 0, 46, 1, 0, 0, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 0, 0, 0, 44, 1, 0, 0, 46, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 46, 1, 0, 0,185, 1, 0, 0,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,186, 1, 0, 0,
+112, 0, 0, 0,185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,185, 1, 0, 0,187, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,113, 0, 0, 0,186, 1, 0, 0,187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,187, 1, 0, 0,185, 1, 0, 0,
+111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 1, 0, 0, 20, 0, 0, 0, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 49, 1, 0, 0,187, 1, 0, 0, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 0, 0, 0, 45, 1, 0, 0,187, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,187, 1, 0, 0, 49, 1, 0, 0,113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,186, 1, 0, 0,
+113, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 1, 0, 0, 47, 1, 0, 0,186, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,112, 0, 0, 0,186, 1, 0, 0, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 1, 0, 0, 48, 1, 0, 0,
+ 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 0, 0, 0, 57, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+188, 1, 0, 0,196, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0,192, 0, 0, 0,196, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,196, 0, 0, 0,188, 1, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,189, 1, 0, 0,
+ 59, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,188, 1, 0, 0,190, 1, 0, 0,189, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,113, 0, 0, 0,189, 1, 0, 0,190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,190, 1, 0, 0,188, 1, 0, 0,
+ 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,193, 0, 0, 0, 19, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 48, 1, 0, 0,190, 1, 0, 0,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 0, 0, 0,193, 0, 0, 0,190, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,190, 1, 0, 0, 48, 1, 0, 0,113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,189, 1, 0, 0,
+113, 0, 0, 0, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 1, 0, 0,197, 0, 0, 0,189, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 59, 0, 0, 0,189, 1, 0, 0,197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 0, 49, 1, 0, 0,
+ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0, 56, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+191, 1, 0, 0, 47, 1, 0, 0,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 0, 0, 0,191, 0, 0, 0, 47, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 47, 1, 0, 0,191, 1, 0, 0,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 1, 0, 0,
+112, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 1, 0, 0,193, 1, 0, 0,192, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 52, 0, 0, 0,192, 1, 0, 0,193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,193, 1, 0, 0,191, 1, 0, 0,
+ 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,190, 0, 0, 0, 0, 0, 0, 0,182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+182, 0, 0, 0,193, 1, 0, 0,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 56, 0, 0, 0,190, 0, 0, 0,193, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,193, 1, 0, 0,182, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 1, 0, 0,
+ 52, 0, 0, 0,183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,183, 0, 0, 0, 46, 1, 0, 0,192, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,112, 0, 0, 0,192, 1, 0, 0, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 1, 0, 0,183, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 1, 0, 0,114, 0, 0, 0,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+194, 1, 0, 0,199, 0, 0, 0, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 0, 0, 0, 51, 1, 0, 0,199, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0,194, 1, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,195, 1, 0, 0,
+ 60, 0, 0, 0,194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,194, 1, 0, 0,196, 1, 0, 0,195, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 57, 0, 0, 0,195, 1, 0, 0,196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,196, 1, 0, 0,194, 1, 0, 0,
+114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 1, 0, 0, 19, 0, 0, 0,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+193, 0, 0, 0,196, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 0, 0, 0, 50, 1, 0, 0,196, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,196, 1, 0, 0,193, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,195, 1, 0, 0,
+ 57, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,192, 0, 0, 0,198, 0, 0, 0,195, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 60, 0, 0, 0,195, 1, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,198, 0, 0, 0,192, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 1, 0, 0,114, 0, 0, 0,197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+197, 1, 0, 0, 53, 1, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 0, 0, 0, 50, 1, 0, 0, 53, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 53, 1, 0, 0,197, 1, 0, 0,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,198, 1, 0, 0,
+115, 0, 0, 0,197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 1, 0, 0,199, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,116, 0, 0, 0,198, 1, 0, 0,199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 1, 0, 0,197, 1, 0, 0,
+114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 1, 0, 0, 21, 0, 0, 0, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 55, 1, 0, 0,199, 1, 0, 0, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 0, 0, 0, 51, 1, 0, 0,199, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,199, 1, 0, 0, 55, 1, 0, 0,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,198, 1, 0, 0,
+116, 0, 0, 0, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 1, 0, 0, 52, 1, 0, 0,198, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,115, 0, 0, 0,198, 1, 0, 0, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 1, 0, 0, 54, 1, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,176, 0, 0, 0, 49, 0, 0, 0,200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+200, 1, 0, 0,200, 0, 0, 0,176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 0, 0, 0,176, 0, 0, 0,200, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,200, 0, 0, 0,200, 1, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 1, 0, 0,
+ 61, 0, 0, 0,200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,200, 1, 0, 0,202, 1, 0, 0,201, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,116, 0, 0, 0,201, 1, 0, 0,202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,202, 1, 0, 0,200, 1, 0, 0,
+ 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,177, 0, 0, 0, 15, 0, 0, 0, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 54, 1, 0, 0,202, 1, 0, 0,177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 0, 0, 0,177, 0, 0, 0,202, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,202, 1, 0, 0, 54, 1, 0, 0,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 1, 0, 0,
+116, 0, 0, 0, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 1, 0, 0,201, 0, 0, 0,201, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 61, 0, 0, 0,201, 1, 0, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 0, 0, 0, 55, 1, 0, 0,
+ 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,175, 0, 0, 0, 48, 0, 0, 0,203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+203, 1, 0, 0, 52, 1, 0, 0,175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 0, 0, 0,175, 0, 0, 0, 52, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 52, 1, 0, 0,203, 1, 0, 0,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,204, 1, 0, 0,
+115, 0, 0, 0,203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,203, 1, 0, 0,205, 1, 0, 0,204, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 56, 0, 0, 0,204, 1, 0, 0,205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,205, 1, 0, 0,203, 1, 0, 0,
+ 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,174, 0, 0, 0, 0, 0, 0, 0,190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+190, 0, 0, 0,205, 1, 0, 0,174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 0, 0, 0,174, 0, 0, 0,205, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,205, 1, 0, 0,190, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,204, 1, 0, 0,
+ 56, 0, 0, 0,191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,191, 0, 0, 0, 53, 1, 0, 0,204, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,115, 0, 0, 0,204, 1, 0, 0, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 1, 0, 0,191, 0, 0, 0,
+ 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,206, 1, 0, 0,117, 0, 0, 0, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 57, 1, 0, 0,207, 0, 0, 0,206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 0, 0, 0,206, 1, 0, 0,207, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 57, 1, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,206, 1, 0, 0,
+ 64, 0, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,208, 1, 0, 0,206, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,117, 0, 0, 0,206, 1, 0, 0,208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,208, 1, 0, 0,207, 1, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,179, 0, 0, 0, 16, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 56, 1, 0, 0,208, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 0, 0, 0,179, 0, 0, 0,208, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,208, 1, 0, 0, 56, 1, 0, 0,117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,178, 0, 0, 0,
+ 50, 0, 0, 0,207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 1, 0, 0,206, 0, 0, 0,178, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 1, 0, 0, 0,178, 0, 0, 0,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,206, 0, 0, 0,207, 1, 0, 0,
+ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,209, 1, 0, 0,117, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 56, 1, 0, 0, 58, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 0, 0, 0,209, 1, 0, 0, 58, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 58, 1, 0, 0, 56, 1, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,209, 1, 0, 0,
+118, 0, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 1, 0, 0,211, 1, 0, 0,209, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,117, 0, 0, 0,209, 1, 0, 0,211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,211, 1, 0, 0,210, 1, 0, 0,
+119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 1, 0, 0, 23, 0, 0, 0, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 57, 1, 0, 0,211, 1, 0, 0, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 0, 0, 0, 61, 1, 0, 0,211, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,211, 1, 0, 0, 57, 1, 0, 0,117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 1, 0, 0,
+119, 0, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 1, 0, 0, 59, 1, 0, 0, 60, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 22, 0, 0, 0, 60, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 1, 0, 0,210, 1, 0, 0,
+118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,212, 1, 0, 0, 63, 0, 0, 0,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+204, 0, 0, 0,208, 0, 0, 0,212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 0, 0, 0,212, 1, 0, 0,208, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0,204, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,212, 1, 0, 0,
+ 65, 0, 0, 0,213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 1, 0, 0,214, 1, 0, 0,212, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 63, 0, 0, 0,212, 1, 0, 0,214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,214, 1, 0, 0,213, 1, 0, 0,
+119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 1, 0, 0, 22, 0, 0, 0,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+205, 0, 0, 0,214, 1, 0, 0, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 0, 0, 0, 60, 1, 0, 0,214, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,214, 1, 0, 0,205, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 1, 0, 0,
+119, 0, 0, 0,213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 1, 0, 0,209, 0, 0, 0, 61, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 23, 0, 0, 0, 61, 1, 0, 0,209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,209, 0, 0, 0,213, 1, 0, 0,
+ 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 1, 0, 0, 62, 0, 0, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+203, 0, 0, 0, 59, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 0, 0, 0,215, 1, 0, 0, 59, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 59, 1, 0, 0,203, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 1, 0, 0,
+118, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 1, 0, 0,217, 1, 0, 0,215, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 62, 0, 0, 0,215, 1, 0, 0,217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,217, 1, 0, 0,216, 1, 0, 0,
+ 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,180, 0, 0, 0, 5, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+202, 0, 0, 0,217, 1, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 0, 0, 0,180, 0, 0, 0,217, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,217, 1, 0, 0,202, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,181, 0, 0, 0,
+ 51, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 1, 0, 0, 58, 1, 0, 0,181, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 16, 0, 0, 0,181, 0, 0, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 1, 0, 0,216, 1, 0, 0,
+118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,218, 1, 0, 0,120, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 63, 1, 0, 0,215, 0, 0, 0,218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 0, 0, 0,218, 1, 0, 0,215, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,215, 0, 0, 0, 63, 1, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,218, 1, 0, 0,
+ 68, 0, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 1, 0, 0,220, 1, 0, 0,218, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,120, 0, 0, 0,218, 1, 0, 0,220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,220, 1, 0, 0,219, 1, 0, 0,
+ 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,173, 0, 0, 0, 14, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 62, 1, 0, 0,220, 1, 0, 0,173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 0, 0, 0,173, 0, 0, 0,220, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,220, 1, 0, 0, 62, 1, 0, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,172, 0, 0, 0,
+ 47, 0, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 1, 0, 0,214, 0, 0, 0,172, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 2, 0, 0, 0,172, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,214, 0, 0, 0,219, 1, 0, 0,
+ 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,221, 1, 0, 0,120, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 62, 1, 0, 0, 64, 1, 0, 0,221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,221, 1, 0, 0, 64, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 64, 1, 0, 0, 62, 1, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,221, 1, 0, 0,
+121, 0, 0, 0,222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,222, 1, 0, 0,223, 1, 0, 0,221, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,120, 0, 0, 0,221, 1, 0, 0,223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,223, 1, 0, 0,222, 1, 0, 0,
+122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 1, 0, 0, 25, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 63, 1, 0, 0,223, 1, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 0, 0, 0, 67, 1, 0, 0,223, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,223, 1, 0, 0, 63, 1, 0, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 1, 0, 0,
+122, 0, 0, 0,222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,222, 1, 0, 0, 65, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 24, 0, 0, 0, 66, 1, 0, 0, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 1, 0, 0,222, 1, 0, 0,
+121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 1, 0, 0, 67, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+212, 0, 0, 0,216, 0, 0, 0,224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 69, 0, 0, 0,224, 1, 0, 0,216, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,216, 0, 0, 0,212, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 1, 0, 0,
+ 69, 0, 0, 0,225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,225, 1, 0, 0,226, 1, 0, 0,224, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 67, 0, 0, 0,224, 1, 0, 0,226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,226, 1, 0, 0,225, 1, 0, 0,
+122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 1, 0, 0, 24, 0, 0, 0,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+213, 0, 0, 0,226, 1, 0, 0, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 0, 0, 0, 66, 1, 0, 0,226, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,226, 1, 0, 0,213, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 1, 0, 0,
+122, 0, 0, 0,225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,225, 1, 0, 0,217, 0, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 25, 0, 0, 0, 67, 1, 0, 0,217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,217, 0, 0, 0,225, 1, 0, 0,
+ 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 1, 0, 0, 66, 0, 0, 0,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+211, 0, 0, 0, 65, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 0, 0, 0,227, 1, 0, 0, 65, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 65, 1, 0, 0,211, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 1, 0, 0,
+121, 0, 0, 0,228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 1, 0, 0,229, 1, 0, 0,227, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 66, 0, 0, 0,227, 1, 0, 0,229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,229, 1, 0, 0,228, 1, 0, 0,
+ 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,170, 0, 0, 0, 1, 0, 0, 0,210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+210, 0, 0, 0,229, 1, 0, 0,170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 0, 0, 0,170, 0, 0, 0,229, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,229, 1, 0, 0,210, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,171, 0, 0, 0,
+ 46, 0, 0, 0,228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 1, 0, 0, 64, 1, 0, 0,171, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 14, 0, 0, 0,171, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 1, 0, 0,228, 1, 0, 0,
+121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,230, 1, 0, 0,123, 0, 0, 0, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 69, 1, 0, 0,223, 0, 0, 0,230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 0, 0, 0,230, 1, 0, 0,223, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,223, 0, 0, 0, 69, 1, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,230, 1, 0, 0,
+ 72, 0, 0, 0,231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 1, 0, 0,232, 1, 0, 0,230, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,123, 0, 0, 0,230, 1, 0, 0,232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,232, 1, 0, 0,231, 1, 0, 0,
+ 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,189, 0, 0, 0, 18, 0, 0, 0, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 68, 1, 0, 0,232, 1, 0, 0,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 0, 0, 0,189, 0, 0, 0,232, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,232, 1, 0, 0, 68, 1, 0, 0,123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,188, 0, 0, 0,
+ 55, 0, 0, 0,231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 1, 0, 0,222, 0, 0, 0,188, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 3, 0, 0, 0,188, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,222, 0, 0, 0,231, 1, 0, 0,
+ 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,233, 1, 0, 0,123, 0, 0, 0, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 68, 1, 0, 0, 70, 1, 0, 0,233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 0, 0, 0,233, 1, 0, 0, 70, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 70, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,233, 1, 0, 0,
+124, 0, 0, 0,234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 1, 0, 0,235, 1, 0, 0,233, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,123, 0, 0, 0,233, 1, 0, 0,235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,235, 1, 0, 0,234, 1, 0, 0,
+125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 1, 0, 0, 27, 0, 0, 0, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 69, 1, 0, 0,235, 1, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0, 73, 1, 0, 0,235, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,235, 1, 0, 0, 69, 1, 0, 0,123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 1, 0, 0,
+125, 0, 0, 0,234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 1, 0, 0, 71, 1, 0, 0, 72, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 26, 0, 0, 0, 72, 1, 0, 0, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 1, 0, 0,234, 1, 0, 0,
+124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,236, 1, 0, 0, 71, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+220, 0, 0, 0,224, 0, 0, 0,236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 0, 0, 0,236, 1, 0, 0,224, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,224, 0, 0, 0,220, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,236, 1, 0, 0,
+ 73, 0, 0, 0,237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,238, 1, 0, 0,236, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 71, 0, 0, 0,236, 1, 0, 0,238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,238, 1, 0, 0,237, 1, 0, 0,
+125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 1, 0, 0, 26, 0, 0, 0,221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+221, 0, 0, 0,238, 1, 0, 0, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 0, 0, 0, 72, 1, 0, 0,238, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,238, 1, 0, 0,221, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 1, 0, 0,
+125, 0, 0, 0,237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 1, 0, 0,225, 0, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 27, 0, 0, 0, 73, 1, 0, 0,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,225, 0, 0, 0,237, 1, 0, 0,
+ 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 1, 0, 0, 70, 0, 0, 0,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+219, 0, 0, 0, 71, 1, 0, 0,239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 0, 0, 0,239, 1, 0, 0, 71, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 71, 1, 0, 0,219, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 1, 0, 0,
+124, 0, 0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 1, 0, 0,241, 1, 0, 0,239, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 70, 0, 0, 0,239, 1, 0, 0,241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,241, 1, 0, 0,240, 1, 0, 0,
+ 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,186, 0, 0, 0, 2, 0, 0, 0,218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+218, 0, 0, 0,241, 1, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 0, 0, 0,186, 0, 0, 0,241, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,241, 1, 0, 0,218, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,187, 0, 0, 0,
+ 54, 0, 0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 1, 0, 0, 70, 1, 0, 0,187, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 18, 0, 0, 0,187, 0, 0, 0, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 1, 0, 0,240, 1, 0, 0,
+124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,242, 1, 0, 0,126, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 75, 1, 0, 0,231, 0, 0, 0,242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 0, 0, 0,242, 1, 0, 0,231, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,231, 0, 0, 0, 75, 1, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,242, 1, 0, 0,
+ 76, 0, 0, 0,243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 1, 0, 0,244, 1, 0, 0,242, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,126, 0, 0, 0,242, 1, 0, 0,244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 1, 0, 0,243, 1, 0, 0,
+ 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,197, 0, 0, 0, 20, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 74, 1, 0, 0,244, 1, 0, 0,197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 0, 0, 0,197, 0, 0, 0,244, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,244, 1, 0, 0, 74, 1, 0, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,196, 0, 0, 0,
+ 59, 0, 0, 0,243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 1, 0, 0,230, 0, 0, 0,196, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 4, 0, 0, 0,196, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,230, 0, 0, 0,243, 1, 0, 0,
+ 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,245, 1, 0, 0,126, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 74, 1, 0, 0, 76, 1, 0, 0,245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,245, 1, 0, 0, 76, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 76, 1, 0, 0, 74, 1, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,245, 1, 0, 0,
+127, 0, 0, 0,246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 1, 0, 0,247, 1, 0, 0,245, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,126, 0, 0, 0,245, 1, 0, 0,247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,247, 1, 0, 0,246, 1, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 1, 0, 0, 29, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 75, 1, 0, 0,247, 1, 0, 0, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0, 79, 1, 0, 0,247, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,247, 1, 0, 0, 75, 1, 0, 0,126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 1, 0, 0,
+128, 0, 0, 0,246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 1, 0, 0, 77, 1, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 28, 0, 0, 0, 78, 1, 0, 0, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 1, 0, 0,246, 1, 0, 0,
+127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,248, 1, 0, 0, 75, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+228, 0, 0, 0,232, 0, 0, 0,248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 0, 0, 0,248, 1, 0, 0,232, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,232, 0, 0, 0,228, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,248, 1, 0, 0,
+ 77, 0, 0, 0,249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 1, 0, 0,250, 1, 0, 0,248, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 75, 0, 0, 0,248, 1, 0, 0,250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, 1, 0, 0,249, 1, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 1, 0, 0, 28, 0, 0, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+229, 0, 0, 0,250, 1, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 0, 0, 0, 78, 1, 0, 0,250, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,250, 1, 0, 0,229, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 1, 0, 0,
+128, 0, 0, 0,249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 1, 0, 0,233, 0, 0, 0, 79, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 29, 0, 0, 0, 79, 1, 0, 0,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,233, 0, 0, 0,249, 1, 0, 0,
+ 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 1, 0, 0, 74, 0, 0, 0,227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+227, 0, 0, 0, 77, 1, 0, 0,251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 0, 0, 0,251, 1, 0, 0, 77, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 77, 1, 0, 0,227, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 1, 0, 0,
+127, 0, 0, 0,252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 1, 0, 0,253, 1, 0, 0,251, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 74, 0, 0, 0,251, 1, 0, 0,253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 1, 0, 0,252, 1, 0, 0,
+ 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,194, 0, 0, 0, 3, 0, 0, 0,226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+226, 0, 0, 0,253, 1, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 0, 0, 0,194, 0, 0, 0,253, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,253, 1, 0, 0,226, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,195, 0, 0, 0,
+ 58, 0, 0, 0,252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 1, 0, 0, 76, 1, 0, 0,195, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 20, 0, 0, 0,195, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 1, 0, 0,252, 1, 0, 0,
+127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 1, 0, 0,129, 0, 0, 0, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 81, 1, 0, 0,239, 0, 0, 0,254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 0, 0, 0,254, 1, 0, 0,239, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,239, 0, 0, 0, 81, 1, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 1, 0, 0,
+ 80, 0, 0, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 1, 0, 0, 0, 2, 0, 0,254, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,129, 0, 0, 0,254, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0,255, 1, 0, 0,
+ 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,201, 0, 0, 0, 21, 0, 0, 0, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 80, 1, 0, 0, 0, 2, 0, 0,201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 0, 0, 0,201, 0, 0, 0, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, 0, 0, 80, 1, 0, 0,129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,200, 0, 0, 0,
+ 61, 0, 0, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 1, 0, 0,238, 0, 0, 0,200, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 5, 0, 0, 0,200, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,238, 0, 0, 0,255, 1, 0, 0,
+ 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 0, 0,129, 0, 0, 0, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 80, 1, 0, 0, 82, 1, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0, 1, 2, 0, 0, 82, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 82, 1, 0, 0, 80, 1, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 2, 0, 0,
+130, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 0, 0, 3, 2, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,129, 0, 0, 0, 1, 2, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 0, 2, 2, 0, 0,
+131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 1, 0, 0, 31, 0, 0, 0, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 81, 1, 0, 0, 3, 2, 0, 0, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 0, 0, 0, 85, 1, 0, 0, 3, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 0, 0, 81, 1, 0, 0,129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 1, 0, 0,
+131, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 0, 0, 83, 1, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 30, 0, 0, 0, 84, 1, 0, 0, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 1, 0, 0, 2, 2, 0, 0,
+130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 2, 0, 0, 79, 0, 0, 0,236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+236, 0, 0, 0,240, 0, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 0, 0, 0, 4, 2, 0, 0,240, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,240, 0, 0, 0,236, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 2, 0, 0,
+ 81, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 0, 0, 6, 2, 0, 0, 4, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 79, 0, 0, 0, 4, 2, 0, 0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 2, 0, 0, 5, 2, 0, 0,
+131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 1, 0, 0, 30, 0, 0, 0,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+237, 0, 0, 0, 6, 2, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 0, 0, 0, 84, 1, 0, 0, 6, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 6, 2, 0, 0,237, 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 1, 0, 0,
+131, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 0, 0,241, 0, 0, 0, 85, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 31, 0, 0, 0, 85, 1, 0, 0,241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,241, 0, 0, 0, 5, 2, 0, 0,
+ 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 2, 0, 0, 78, 0, 0, 0,235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+235, 0, 0, 0, 83, 1, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 0, 0, 0, 7, 2, 0, 0, 83, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 83, 1, 0, 0,235, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 2, 0, 0,
+130, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 2, 0, 0, 9, 2, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 78, 0, 0, 0, 7, 2, 0, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 2, 0, 0, 8, 2, 0, 0,
+ 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,198, 0, 0, 0, 4, 0, 0, 0,234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+234, 0, 0, 0, 9, 2, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 0, 0, 0,198, 0, 0, 0, 9, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 9, 2, 0, 0,234, 0, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,199, 0, 0, 0,
+ 60, 0, 0, 0, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 2, 0, 0, 82, 1, 0, 0,199, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 21, 0, 0, 0,199, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 1, 0, 0, 8, 2, 0, 0,
+130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 1, 0, 0,132, 0, 0, 0, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 10, 2, 0, 0,245, 0, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 0, 0, 0, 87, 1, 0, 0,245, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,245, 0, 0, 0, 10, 2, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 11, 2, 0, 0,
+ 83, 0, 0, 0, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 2, 0, 0, 12, 2, 0, 0, 11, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 65, 0, 0, 0, 11, 2, 0, 0, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 12, 2, 0, 0, 10, 2, 0, 0,
+132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0, 23, 0, 0, 0,209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+209, 0, 0, 0, 12, 2, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0, 86, 1, 0, 0, 12, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 12, 2, 0, 0,209, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 11, 2, 0, 0,
+ 65, 0, 0, 0,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,208, 0, 0, 0,244, 0, 0, 0, 11, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 83, 0, 0, 0, 11, 2, 0, 0,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 0, 0, 0,208, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 1, 0, 0,132, 0, 0, 0, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 13, 2, 0, 0, 88, 1, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 0, 0, 0, 86, 1, 0, 0, 88, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0, 13, 2, 0, 0,133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 2, 0, 0,
+133, 0, 0, 0, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 2, 0, 0, 15, 2, 0, 0, 14, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,134, 0, 0, 0, 14, 2, 0, 0, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 15, 2, 0, 0, 13, 2, 0, 0,
+132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 1, 0, 0, 32, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 91, 1, 0, 0, 15, 2, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 0, 0, 0, 87, 1, 0, 0, 15, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 15, 2, 0, 0, 91, 1, 0, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 2, 0, 0,
+134, 0, 0, 0, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 1, 0, 0, 89, 1, 0, 0, 14, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,133, 0, 0, 0, 14, 2, 0, 0, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 1, 0, 0, 90, 1, 0, 0,
+ 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,212, 0, 0, 0, 67, 0, 0, 0, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 16, 2, 0, 0,242, 0, 0, 0,212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 0, 0,212, 0, 0, 0,242, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,242, 0, 0, 0, 16, 2, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 2, 0, 0,
+ 82, 0, 0, 0, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 16, 2, 0, 0, 18, 2, 0, 0, 17, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,134, 0, 0, 0, 17, 2, 0, 0, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 2, 0, 0, 16, 2, 0, 0,
+ 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,213, 0, 0, 0, 24, 0, 0, 0, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 90, 1, 0, 0, 18, 2, 0, 0,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 0, 0, 0,213, 0, 0, 0, 18, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 18, 2, 0, 0, 90, 1, 0, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 2, 0, 0,
+134, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 1, 0, 0,243, 0, 0, 0, 17, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 82, 0, 0, 0, 17, 2, 0, 0,243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 0, 0, 0, 91, 1, 0, 0,
+ 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,211, 0, 0, 0, 66, 0, 0, 0, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 19, 2, 0, 0, 89, 1, 0, 0,211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 0, 0, 0,211, 0, 0, 0, 89, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 89, 1, 0, 0, 19, 2, 0, 0,133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 2, 0, 0,
+133, 0, 0, 0, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 2, 0, 0, 21, 2, 0, 0, 20, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 64, 0, 0, 0, 20, 2, 0, 0, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 2, 0, 0, 19, 2, 0, 0,
+ 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,210, 0, 0, 0, 1, 0, 0, 0,206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+206, 0, 0, 0, 21, 2, 0, 0,210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 0, 0, 0,210, 0, 0, 0, 21, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 21, 2, 0, 0,206, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 20, 2, 0, 0,
+ 64, 0, 0, 0,207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,207, 0, 0, 0, 88, 1, 0, 0, 20, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,133, 0, 0, 0, 20, 2, 0, 0, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 1, 0, 0,207, 0, 0, 0,
+ 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 1, 0, 0,135, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 22, 2, 0, 0,247, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 33, 0, 0, 0, 93, 1, 0, 0,247, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,247, 0, 0, 0, 22, 2, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 2, 0, 0,
+ 84, 0, 0, 0, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 2, 0, 0, 24, 2, 0, 0, 23, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 69, 0, 0, 0, 23, 2, 0, 0, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 24, 2, 0, 0, 22, 2, 0, 0,
+135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0, 25, 0, 0, 0,217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+217, 0, 0, 0, 24, 2, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,135, 0, 0, 0, 92, 1, 0, 0, 24, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 24, 2, 0, 0,217, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 23, 2, 0, 0,
+ 69, 0, 0, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,216, 0, 0, 0,246, 0, 0, 0, 23, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 84, 0, 0, 0, 23, 2, 0, 0,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 0, 0, 0,216, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 1, 0, 0,135, 0, 0, 0, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 25, 2, 0, 0, 94, 1, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 0, 0, 0, 92, 1, 0, 0, 94, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 94, 1, 0, 0, 25, 2, 0, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 2, 0, 0,
+136, 0, 0, 0, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 2, 0, 0, 27, 2, 0, 0, 26, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,137, 0, 0, 0, 26, 2, 0, 0, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 2, 0, 0, 25, 2, 0, 0,
+135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 1, 0, 0, 33, 0, 0, 0, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 97, 1, 0, 0, 27, 2, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,135, 0, 0, 0, 93, 1, 0, 0, 27, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 27, 2, 0, 0, 97, 1, 0, 0,137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 2, 0, 0,
+137, 0, 0, 0, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 1, 0, 0, 95, 1, 0, 0, 26, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,136, 0, 0, 0, 26, 2, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 1, 0, 0, 96, 1, 0, 0,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,220, 0, 0, 0, 71, 0, 0, 0, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 28, 2, 0, 0,248, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 0, 0, 0,220, 0, 0, 0,248, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,248, 0, 0, 0, 28, 2, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 2, 0, 0,
+ 85, 0, 0, 0, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 2, 0, 0, 30, 2, 0, 0, 29, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,137, 0, 0, 0, 29, 2, 0, 0, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 2, 0, 0, 28, 2, 0, 0,
+ 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,221, 0, 0, 0, 26, 0, 0, 0, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 96, 1, 0, 0, 30, 2, 0, 0,221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 0, 0, 0,221, 0, 0, 0, 30, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 30, 2, 0, 0, 96, 1, 0, 0,137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 2, 0, 0,
+137, 0, 0, 0, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 1, 0, 0,249, 0, 0, 0, 29, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 85, 0, 0, 0, 29, 2, 0, 0,249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 0, 0, 0, 97, 1, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,219, 0, 0, 0, 70, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 31, 2, 0, 0, 95, 1, 0, 0,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0,219, 0, 0, 0, 95, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 95, 1, 0, 0, 31, 2, 0, 0,136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 2, 0, 0,
+136, 0, 0, 0, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 2, 0, 0, 33, 2, 0, 0, 32, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 68, 0, 0, 0, 32, 2, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 33, 2, 0, 0, 31, 2, 0, 0,
+ 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,218, 0, 0, 0, 2, 0, 0, 0,214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+214, 0, 0, 0, 33, 2, 0, 0,218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 0, 0, 0,218, 0, 0, 0, 33, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 33, 2, 0, 0,214, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 32, 2, 0, 0,
+ 68, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,215, 0, 0, 0, 94, 1, 0, 0, 32, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,136, 0, 0, 0, 32, 2, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 1, 0, 0,215, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 1, 0, 0,138, 0, 0, 0, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 34, 2, 0, 0,251, 0, 0, 0, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 0, 0, 0, 99, 1, 0, 0,251, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,251, 0, 0, 0, 34, 2, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 2, 0, 0,
+ 86, 0, 0, 0, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 34, 2, 0, 0, 36, 2, 0, 0, 35, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 73, 0, 0, 0, 35, 2, 0, 0, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 2, 0, 0, 34, 2, 0, 0,
+138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 1, 0, 0, 27, 0, 0, 0,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+225, 0, 0, 0, 36, 2, 0, 0, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0, 98, 1, 0, 0, 36, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 36, 2, 0, 0,225, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 2, 0, 0,
+ 73, 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 0, 0, 0,250, 0, 0, 0, 35, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 86, 0, 0, 0, 35, 2, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, 0, 0, 0,224, 0, 0, 0,
+ 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 1, 0, 0,138, 0, 0, 0, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 37, 2, 0, 0,100, 1, 0, 0, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 27, 0, 0, 0, 98, 1, 0, 0,100, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,100, 1, 0, 0, 37, 2, 0, 0,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 2, 0, 0,
+139, 0, 0, 0, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 37, 2, 0, 0, 39, 2, 0, 0, 38, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,140, 0, 0, 0, 38, 2, 0, 0, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 39, 2, 0, 0, 37, 2, 0, 0,
+138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 1, 0, 0, 34, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+103, 1, 0, 0, 39, 2, 0, 0, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 0, 0, 0, 99, 1, 0, 0, 39, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 39, 2, 0, 0,103, 1, 0, 0,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 38, 2, 0, 0,
+140, 0, 0, 0,102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 1, 0, 0,101, 1, 0, 0, 38, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,139, 0, 0, 0, 38, 2, 0, 0,101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 1, 0, 0,102, 1, 0, 0,
+ 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,228, 0, 0, 0, 75, 0, 0, 0, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 40, 2, 0, 0,252, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 8, 0, 0, 0,228, 0, 0, 0,252, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,252, 0, 0, 0, 40, 2, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 2, 0, 0,
+ 87, 0, 0, 0, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40, 2, 0, 0, 42, 2, 0, 0, 41, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,140, 0, 0, 0, 41, 2, 0, 0, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 42, 2, 0, 0, 40, 2, 0, 0,
+ 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,229, 0, 0, 0, 28, 0, 0, 0,102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+102, 1, 0, 0, 42, 2, 0, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 0,229, 0, 0, 0, 42, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 42, 2, 0, 0,102, 1, 0, 0,140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 41, 2, 0, 0,
+140, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 1, 0, 0,253, 0, 0, 0, 41, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 87, 0, 0, 0, 41, 2, 0, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 0, 0, 0,103, 1, 0, 0,
+ 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,227, 0, 0, 0, 74, 0, 0, 0, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 43, 2, 0, 0,101, 1, 0, 0,227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 28, 0, 0, 0,227, 0, 0, 0,101, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,101, 1, 0, 0, 43, 2, 0, 0,139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 2, 0, 0,
+139, 0, 0, 0, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 43, 2, 0, 0, 45, 2, 0, 0, 44, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 72, 0, 0, 0, 44, 2, 0, 0, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, 2, 0, 0, 43, 2, 0, 0,
+ 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,226, 0, 0, 0, 3, 0, 0, 0,222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+222, 0, 0, 0, 45, 2, 0, 0,226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 0, 0, 0,226, 0, 0, 0, 45, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 45, 2, 0, 0,222, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 44, 2, 0, 0,
+ 72, 0, 0, 0,223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,223, 0, 0, 0,100, 1, 0, 0, 44, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,139, 0, 0, 0, 44, 2, 0, 0,100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 1, 0, 0,223, 0, 0, 0,
+ 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 1, 0, 0,141, 0, 0, 0, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 46, 2, 0, 0,255, 0, 0, 0,105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 35, 0, 0, 0,105, 1, 0, 0,255, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,255, 0, 0, 0, 46, 2, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 2, 0, 0,
+ 88, 0, 0, 0, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 46, 2, 0, 0, 48, 2, 0, 0, 47, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 77, 0, 0, 0, 47, 2, 0, 0, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 48, 2, 0, 0, 46, 2, 0, 0,
+141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 1, 0, 0, 29, 0, 0, 0,233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+233, 0, 0, 0, 48, 2, 0, 0,104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,104, 1, 0, 0, 48, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 48, 2, 0, 0,233, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 47, 2, 0, 0,
+ 77, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,232, 0, 0, 0,254, 0, 0, 0, 47, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 88, 0, 0, 0, 47, 2, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 0, 0, 0,232, 0, 0, 0,
+ 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 1, 0, 0,141, 0, 0, 0, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 49, 2, 0, 0,106, 1, 0, 0,104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 29, 0, 0, 0,104, 1, 0, 0,106, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,106, 1, 0, 0, 49, 2, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 2, 0, 0,
+142, 0, 0, 0, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 49, 2, 0, 0, 51, 2, 0, 0, 50, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,143, 0, 0, 0, 50, 2, 0, 0, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 51, 2, 0, 0, 49, 2, 0, 0,
+141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 1, 0, 0, 35, 0, 0, 0,109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+109, 1, 0, 0, 51, 2, 0, 0,105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,141, 0, 0, 0,105, 1, 0, 0, 51, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 51, 2, 0, 0,109, 1, 0, 0,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50, 2, 0, 0,
+143, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 1, 0, 0,107, 1, 0, 0, 50, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,142, 0, 0, 0, 50, 2, 0, 0,107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 1, 0, 0,108, 1, 0, 0,
+ 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,236, 0, 0, 0, 79, 0, 0, 0, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 52, 2, 0, 0, 0, 1, 0, 0,236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 0, 0, 0,236, 0, 0, 0, 0, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 52, 2, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 2, 0, 0,
+ 89, 0, 0, 0, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 52, 2, 0, 0, 54, 2, 0, 0, 53, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,143, 0, 0, 0, 53, 2, 0, 0, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 54, 2, 0, 0, 52, 2, 0, 0,
+ 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,237, 0, 0, 0, 30, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+108, 1, 0, 0, 54, 2, 0, 0,237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 0, 0, 0,237, 0, 0, 0, 54, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 54, 2, 0, 0,108, 1, 0, 0,143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 53, 2, 0, 0,
+143, 0, 0, 0,109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 1, 0, 0, 1, 1, 0, 0, 53, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 89, 0, 0, 0, 53, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0,109, 1, 0, 0,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,235, 0, 0, 0, 78, 0, 0, 0, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 55, 2, 0, 0,107, 1, 0, 0,235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30, 0, 0, 0,235, 0, 0, 0,107, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,107, 1, 0, 0, 55, 2, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 56, 2, 0, 0,
+142, 0, 0, 0, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 55, 2, 0, 0, 57, 2, 0, 0, 56, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 76, 0, 0, 0, 56, 2, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 57, 2, 0, 0, 55, 2, 0, 0,
+ 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,234, 0, 0, 0, 4, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+230, 0, 0, 0, 57, 2, 0, 0,234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 0, 0, 0,234, 0, 0, 0, 57, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 57, 2, 0, 0,230, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 56, 2, 0, 0,
+ 76, 0, 0, 0,231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,231, 0, 0, 0,106, 1, 0, 0, 56, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,142, 0, 0, 0, 56, 2, 0, 0,106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 1, 0, 0,231, 0, 0, 0,
+ 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 1, 0, 0,144, 0, 0, 0, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 58, 2, 0, 0, 3, 1, 0, 0,111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 36, 0, 0, 0,111, 1, 0, 0, 3, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0, 58, 2, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 2, 0, 0,
+ 90, 0, 0, 0, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 58, 2, 0, 0, 60, 2, 0, 0, 59, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 81, 0, 0, 0, 59, 2, 0, 0, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 60, 2, 0, 0, 58, 2, 0, 0,
+144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 1, 0, 0, 31, 0, 0, 0,241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+241, 0, 0, 0, 60, 2, 0, 0,110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 0, 0, 0,110, 1, 0, 0, 60, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 60, 2, 0, 0,241, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 59, 2, 0, 0,
+ 81, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,240, 0, 0, 0, 2, 1, 0, 0, 59, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 90, 0, 0, 0, 59, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0,240, 0, 0, 0,
+ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 1, 0, 0,144, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 61, 2, 0, 0,113, 1, 0, 0,110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 31, 0, 0, 0,110, 1, 0, 0,113, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,113, 1, 0, 0, 61, 2, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 2, 0, 0,
+145, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 61, 2, 0, 0, 63, 2, 0, 0, 62, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,146, 0, 0, 0, 62, 2, 0, 0, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 2, 0, 0, 61, 2, 0, 0,
+144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 1, 0, 0, 36, 0, 0, 0,115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+115, 1, 0, 0, 63, 2, 0, 0,111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 0, 0, 0,111, 1, 0, 0, 63, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 63, 2, 0, 0,115, 1, 0, 0,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 2, 0, 0,
+146, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 1, 0, 0,112, 1, 0, 0, 62, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,145, 0, 0, 0, 62, 2, 0, 0,112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 1, 0, 0,114, 1, 0, 0,
+ 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,204, 0, 0, 0, 63, 0, 0, 0, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 64, 2, 0, 0, 4, 1, 0, 0,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 0, 0, 0,204, 0, 0, 0, 4, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 4, 1, 0, 0, 64, 2, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 2, 0, 0,
+ 91, 0, 0, 0, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 64, 2, 0, 0, 66, 2, 0, 0, 65, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,146, 0, 0, 0, 65, 2, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 66, 2, 0, 0, 64, 2, 0, 0,
+ 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,205, 0, 0, 0, 22, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+114, 1, 0, 0, 66, 2, 0, 0,205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 63, 0, 0, 0,205, 0, 0, 0, 66, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 66, 2, 0, 0,114, 1, 0, 0,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 65, 2, 0, 0,
+146, 0, 0, 0,115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 1, 0, 0, 5, 1, 0, 0, 65, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 91, 0, 0, 0, 65, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 1, 0, 0,115, 1, 0, 0,
+ 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,203, 0, 0, 0, 62, 0, 0, 0, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 67, 2, 0, 0,112, 1, 0, 0,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 0, 0, 0,203, 0, 0, 0,112, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,112, 1, 0, 0, 67, 2, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 2, 0, 0,
+145, 0, 0, 0, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 67, 2, 0, 0, 69, 2, 0, 0, 68, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 80, 0, 0, 0, 68, 2, 0, 0, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 69, 2, 0, 0, 67, 2, 0, 0,
+ 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,202, 0, 0, 0, 5, 0, 0, 0,238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+238, 0, 0, 0, 69, 2, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 62, 0, 0, 0,202, 0, 0, 0, 69, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 69, 2, 0, 0,238, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 2, 0, 0,
+ 80, 0, 0, 0,239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,239, 0, 0, 0,113, 1, 0, 0, 68, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,145, 0, 0, 0, 68, 2, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 1, 0, 0,239, 0, 0, 0,
+ 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 2, 0, 0,147, 0, 0, 0,117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+117, 1, 0, 0, 11, 1, 0, 0, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 0, 0, 0, 70, 2, 0, 0, 11, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 11, 1, 0, 0,117, 1, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 70, 2, 0, 0,
+ 94, 0, 0, 0, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 2, 0, 0, 72, 2, 0, 0, 70, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,147, 0, 0, 0, 70, 2, 0, 0, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 72, 2, 0, 0, 71, 2, 0, 0,
+ 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,243, 0, 0, 0, 32, 0, 0, 0,116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+116, 1, 0, 0, 72, 2, 0, 0,243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 0, 0, 0,243, 0, 0, 0, 72, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 72, 2, 0, 0,116, 1, 0, 0,147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,242, 0, 0, 0,
+ 82, 0, 0, 0, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 71, 2, 0, 0, 10, 1, 0, 0,242, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 6, 0, 0, 0,242, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 1, 0, 0, 71, 2, 0, 0,
+ 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 2, 0, 0,147, 0, 0, 0,116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+116, 1, 0, 0,118, 1, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 0, 0, 0, 73, 2, 0, 0,118, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,118, 1, 0, 0,116, 1, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 73, 2, 0, 0,
+148, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 2, 0, 0, 75, 2, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,147, 0, 0, 0, 73, 2, 0, 0, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 2, 0, 0, 74, 2, 0, 0,
+149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 1, 0, 0, 38, 0, 0, 0,117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+117, 1, 0, 0, 75, 2, 0, 0,121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 0, 0, 0,121, 1, 0, 0, 75, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 75, 2, 0, 0,117, 1, 0, 0,147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 1, 0, 0,
+149, 0, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74, 2, 0, 0,119, 1, 0, 0,120, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 37, 0, 0, 0,120, 1, 0, 0,119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 1, 0, 0, 74, 2, 0, 0,
+148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 2, 0, 0, 93, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 8, 1, 0, 0, 12, 1, 0, 0, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 0, 0, 0, 76, 2, 0, 0, 12, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 12, 1, 0, 0, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 76, 2, 0, 0,
+ 95, 0, 0, 0, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 2, 0, 0, 78, 2, 0, 0, 76, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 93, 0, 0, 0, 76, 2, 0, 0, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 2, 0, 0, 77, 2, 0, 0,
+149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 1, 0, 0, 37, 0, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 9, 1, 0, 0, 78, 2, 0, 0,120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,149, 0, 0, 0,120, 1, 0, 0, 78, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 78, 2, 0, 0, 9, 1, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 1, 0, 0,
+149, 0, 0, 0, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 77, 2, 0, 0, 13, 1, 0, 0,121, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 38, 0, 0, 0,121, 1, 0, 0, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 1, 0, 0, 77, 2, 0, 0,
+ 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 2, 0, 0, 92, 0, 0, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 7, 1, 0, 0,119, 1, 0, 0, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,148, 0, 0, 0, 79, 2, 0, 0,119, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,119, 1, 0, 0, 7, 1, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 79, 2, 0, 0,
+148, 0, 0, 0, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 2, 0, 0, 81, 2, 0, 0, 79, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 92, 0, 0, 0, 79, 2, 0, 0, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 81, 2, 0, 0, 80, 2, 0, 0,
+ 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,244, 0, 0, 0, 10, 0, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 6, 1, 0, 0, 81, 2, 0, 0,244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 0, 0, 0,244, 0, 0, 0, 81, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 81, 2, 0, 0, 6, 1, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,245, 0, 0, 0,
+ 83, 0, 0, 0, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 80, 2, 0, 0,118, 1, 0, 0,245, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 32, 0, 0, 0,245, 0, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 1, 0, 0, 80, 2, 0, 0,
+148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 2, 0, 0,150, 0, 0, 0,123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+123, 1, 0, 0, 15, 1, 0, 0, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 0, 0, 0, 82, 2, 0, 0, 15, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 15, 1, 0, 0,123, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 2, 0, 0,
+ 96, 0, 0, 0, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 2, 0, 0, 84, 2, 0, 0, 82, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,150, 0, 0, 0, 82, 2, 0, 0, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 2, 0, 0, 83, 2, 0, 0,
+ 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,249, 0, 0, 0, 33, 0, 0, 0,122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+122, 1, 0, 0, 84, 2, 0, 0,249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 0, 0, 0,249, 0, 0, 0, 84, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 84, 2, 0, 0,122, 1, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,248, 0, 0, 0,
+ 85, 0, 0, 0, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 83, 2, 0, 0, 14, 1, 0, 0,248, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 7, 0, 0, 0,248, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 14, 1, 0, 0, 83, 2, 0, 0,
+ 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 2, 0, 0,150, 0, 0, 0,122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+122, 1, 0, 0,124, 1, 0, 0, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 0, 0, 0, 85, 2, 0, 0,124, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,124, 1, 0, 0,122, 1, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 85, 2, 0, 0,
+151, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 2, 0, 0, 87, 2, 0, 0, 85, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,150, 0, 0, 0, 85, 2, 0, 0, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 2, 0, 0, 86, 2, 0, 0,
+152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 1, 0, 0, 39, 0, 0, 0,123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+123, 1, 0, 0, 87, 2, 0, 0,127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0,127, 1, 0, 0, 87, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 87, 2, 0, 0,123, 1, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 1, 0, 0,
+152, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 2, 0, 0,125, 1, 0, 0,126, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 38, 0, 0, 0,126, 1, 0, 0,125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 1, 0, 0, 86, 2, 0, 0,
+151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 2, 0, 0, 95, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 12, 1, 0, 0, 16, 1, 0, 0, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 0, 0, 0, 88, 2, 0, 0, 16, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 16, 1, 0, 0, 12, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 2, 0, 0,
+ 97, 0, 0, 0, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 2, 0, 0, 90, 2, 0, 0, 88, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 95, 0, 0, 0, 88, 2, 0, 0, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 2, 0, 0, 89, 2, 0, 0,
+152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 1, 0, 0, 38, 0, 0, 0, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 13, 1, 0, 0, 90, 2, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,152, 0, 0, 0,126, 1, 0, 0, 90, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 90, 2, 0, 0, 13, 1, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 1, 0, 0,
+152, 0, 0, 0, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 2, 0, 0, 17, 1, 0, 0,127, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 39, 0, 0, 0,127, 1, 0, 0, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 17, 1, 0, 0, 89, 2, 0, 0,
+ 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 2, 0, 0, 94, 0, 0, 0, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 11, 1, 0, 0,125, 1, 0, 0, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,151, 0, 0, 0, 91, 2, 0, 0,125, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,125, 1, 0, 0, 11, 1, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 2, 0, 0,
+151, 0, 0, 0, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 2, 0, 0, 93, 2, 0, 0, 91, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 94, 0, 0, 0, 91, 2, 0, 0, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 2, 0, 0, 92, 2, 0, 0,
+ 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,246, 0, 0, 0, 6, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 10, 1, 0, 0, 93, 2, 0, 0,246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 84, 0, 0, 0,246, 0, 0, 0, 93, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 93, 2, 0, 0, 10, 1, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,247, 0, 0, 0,
+ 84, 0, 0, 0, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 2, 0, 0,124, 1, 0, 0,247, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 33, 0, 0, 0,247, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 1, 0, 0, 92, 2, 0, 0,
+151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 2, 0, 0,153, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+129, 1, 0, 0, 19, 1, 0, 0, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 0, 0, 0, 94, 2, 0, 0, 19, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 19, 1, 0, 0,129, 1, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 94, 2, 0, 0,
+ 98, 0, 0, 0, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 2, 0, 0, 96, 2, 0, 0, 94, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,153, 0, 0, 0, 94, 2, 0, 0, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 96, 2, 0, 0, 95, 2, 0, 0,
+ 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,253, 0, 0, 0, 34, 0, 0, 0,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+128, 1, 0, 0, 96, 2, 0, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 87, 0, 0, 0,253, 0, 0, 0, 96, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 96, 2, 0, 0,128, 1, 0, 0,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,252, 0, 0, 0,
+ 87, 0, 0, 0, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 95, 2, 0, 0, 18, 1, 0, 0,252, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 8, 0, 0, 0,252, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 18, 1, 0, 0, 95, 2, 0, 0,
+ 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 2, 0, 0,153, 0, 0, 0,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+128, 1, 0, 0,130, 1, 0, 0, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0, 97, 2, 0, 0,130, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,130, 1, 0, 0,128, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 97, 2, 0, 0,
+154, 0, 0, 0, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 2, 0, 0, 99, 2, 0, 0, 97, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,153, 0, 0, 0, 97, 2, 0, 0, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 2, 0, 0, 98, 2, 0, 0,
+155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,133, 1, 0, 0, 40, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+129, 1, 0, 0, 99, 2, 0, 0,133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 0, 0, 0,133, 1, 0, 0, 99, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 99, 2, 0, 0,129, 1, 0, 0,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 1, 0, 0,
+155, 0, 0, 0, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 98, 2, 0, 0,131, 1, 0, 0,132, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 39, 0, 0, 0,132, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,131, 1, 0, 0, 98, 2, 0, 0,
+154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 2, 0, 0, 97, 0, 0, 0, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 16, 1, 0, 0, 20, 1, 0, 0,100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 99, 0, 0, 0,100, 2, 0, 0, 20, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 20, 1, 0, 0, 16, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 2, 0, 0,
+ 99, 0, 0, 0,101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 2, 0, 0,102, 2, 0, 0,100, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 97, 0, 0, 0,100, 2, 0, 0,102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,102, 2, 0, 0,101, 2, 0, 0,
+155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,132, 1, 0, 0, 39, 0, 0, 0, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 17, 1, 0, 0,102, 2, 0, 0,132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,155, 0, 0, 0,132, 1, 0, 0,102, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,102, 2, 0, 0, 17, 1, 0, 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,133, 1, 0, 0,
+155, 0, 0, 0,101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 2, 0, 0, 21, 1, 0, 0,133, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 40, 0, 0, 0,133, 1, 0, 0, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 21, 1, 0, 0,101, 2, 0, 0,
+ 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 2, 0, 0, 96, 0, 0, 0, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 15, 1, 0, 0,131, 1, 0, 0,103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,154, 0, 0, 0,103, 2, 0, 0,131, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,131, 1, 0, 0, 15, 1, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,103, 2, 0, 0,
+154, 0, 0, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 2, 0, 0,105, 2, 0, 0,103, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 96, 0, 0, 0,103, 2, 0, 0,105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,105, 2, 0, 0,104, 2, 0, 0,
+ 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,250, 0, 0, 0, 7, 0, 0, 0, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 14, 1, 0, 0,105, 2, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 86, 0, 0, 0,250, 0, 0, 0,105, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,105, 2, 0, 0, 14, 1, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,251, 0, 0, 0,
+ 86, 0, 0, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,104, 2, 0, 0,130, 1, 0, 0,251, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 34, 0, 0, 0,251, 0, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,130, 1, 0, 0,104, 2, 0, 0,
+154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 2, 0, 0,156, 0, 0, 0,135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+135, 1, 0, 0, 23, 1, 0, 0,106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,100, 0, 0, 0,106, 2, 0, 0, 23, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 23, 1, 0, 0,135, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,106, 2, 0, 0,
+100, 0, 0, 0,107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 2, 0, 0,108, 2, 0, 0,106, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,156, 0, 0, 0,106, 2, 0, 0,108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,108, 2, 0, 0,107, 2, 0, 0,
+ 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 35, 0, 0, 0,134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+134, 1, 0, 0,108, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 89, 0, 0, 0, 1, 1, 0, 0,108, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,108, 2, 0, 0,134, 1, 0, 0,156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0,
+ 89, 0, 0, 0,107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,107, 2, 0, 0, 22, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 9, 0, 0, 0, 0, 1, 0, 0, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 22, 1, 0, 0,107, 2, 0, 0,
+100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 2, 0, 0,156, 0, 0, 0,134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+134, 1, 0, 0,136, 1, 0, 0,109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 0, 0, 0,109, 2, 0, 0,136, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,136, 1, 0, 0,134, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,109, 2, 0, 0,
+157, 0, 0, 0,110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 2, 0, 0,111, 2, 0, 0,109, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,156, 0, 0, 0,109, 2, 0, 0,111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,111, 2, 0, 0,110, 2, 0, 0,
+158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 1, 0, 0, 41, 0, 0, 0,135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+135, 1, 0, 0,111, 2, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,139, 1, 0, 0,111, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,111, 2, 0, 0,135, 1, 0, 0,156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 1, 0, 0,
+158, 0, 0, 0,110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,110, 2, 0, 0,137, 1, 0, 0,138, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 40, 0, 0, 0,138, 1, 0, 0,137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,137, 1, 0, 0,110, 2, 0, 0,
+157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 2, 0, 0, 99, 0, 0, 0, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 20, 1, 0, 0, 24, 1, 0, 0,112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,101, 0, 0, 0,112, 2, 0, 0, 24, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 24, 1, 0, 0, 20, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,112, 2, 0, 0,
+101, 0, 0, 0,113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 2, 0, 0,114, 2, 0, 0,112, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 99, 0, 0, 0,112, 2, 0, 0,114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,114, 2, 0, 0,113, 2, 0, 0,
+158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,138, 1, 0, 0, 40, 0, 0, 0, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 21, 1, 0, 0,114, 2, 0, 0,138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,158, 0, 0, 0,138, 1, 0, 0,114, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,114, 2, 0, 0, 21, 1, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,139, 1, 0, 0,
+158, 0, 0, 0,113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,113, 2, 0, 0, 25, 1, 0, 0,139, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 41, 0, 0, 0,139, 1, 0, 0, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 25, 1, 0, 0,113, 2, 0, 0,
+101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 2, 0, 0, 98, 0, 0, 0, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 19, 1, 0, 0,137, 1, 0, 0,115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,157, 0, 0, 0,115, 2, 0, 0,137, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,137, 1, 0, 0, 19, 1, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,115, 2, 0, 0,
+157, 0, 0, 0,116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 2, 0, 0,117, 2, 0, 0,115, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 98, 0, 0, 0,115, 2, 0, 0,117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,117, 2, 0, 0,116, 2, 0, 0,
+ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,254, 0, 0, 0, 8, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 18, 1, 0, 0,117, 2, 0, 0,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 88, 0, 0, 0,254, 0, 0, 0,117, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,117, 2, 0, 0, 18, 1, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,255, 0, 0, 0,
+ 88, 0, 0, 0,116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,116, 2, 0, 0,136, 1, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 35, 0, 0, 0,255, 0, 0, 0,136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,136, 1, 0, 0,116, 2, 0, 0,
+157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 2, 0, 0,159, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+141, 1, 0, 0, 7, 1, 0, 0,118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 92, 0, 0, 0,118, 2, 0, 0, 7, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 7, 1, 0, 0,141, 1, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,118, 2, 0, 0,
+ 92, 0, 0, 0,119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 2, 0, 0,120, 2, 0, 0,118, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,159, 0, 0, 0,118, 2, 0, 0,120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,120, 2, 0, 0,119, 2, 0, 0,
+ 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 1, 0, 0, 36, 0, 0, 0,140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+140, 1, 0, 0,120, 2, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 91, 0, 0, 0, 5, 1, 0, 0,120, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,120, 2, 0, 0,140, 1, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 1, 0, 0,
+ 91, 0, 0, 0,119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,119, 2, 0, 0, 6, 1, 0, 0, 4, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 10, 0, 0, 0, 4, 1, 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 1, 0, 0,119, 2, 0, 0,
+ 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 2, 0, 0,159, 0, 0, 0,140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+140, 1, 0, 0,142, 1, 0, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,121, 2, 0, 0,142, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,142, 1, 0, 0,140, 1, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,121, 2, 0, 0,
+160, 0, 0, 0,122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 2, 0, 0,123, 2, 0, 0,121, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,159, 0, 0, 0,121, 2, 0, 0,123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,123, 2, 0, 0,122, 2, 0, 0,
+161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 1, 0, 0, 37, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+141, 1, 0, 0,123, 2, 0, 0,144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 0, 0, 0,144, 1, 0, 0,123, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,123, 2, 0, 0,141, 1, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,145, 1, 0, 0,
+161, 0, 0, 0,122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,122, 2, 0, 0,143, 1, 0, 0,145, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 41, 0, 0, 0,145, 1, 0, 0,143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,143, 1, 0, 0,122, 2, 0, 0,
+160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 2, 0, 0,101, 0, 0, 0, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 24, 1, 0, 0, 8, 1, 0, 0,124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 93, 0, 0, 0,124, 2, 0, 0, 8, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 8, 1, 0, 0, 24, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,124, 2, 0, 0,
+ 93, 0, 0, 0,125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 2, 0, 0,126, 2, 0, 0,124, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,101, 0, 0, 0,124, 2, 0, 0,126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,126, 2, 0, 0,125, 2, 0, 0,
+161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,145, 1, 0, 0, 41, 0, 0, 0, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 25, 1, 0, 0,126, 2, 0, 0,145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,161, 0, 0, 0,145, 1, 0, 0,126, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,126, 2, 0, 0, 25, 1, 0, 0,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,144, 1, 0, 0,
+161, 0, 0, 0,125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,125, 2, 0, 0, 9, 1, 0, 0,144, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 37, 0, 0, 0,144, 1, 0, 0, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 9, 1, 0, 0,125, 2, 0, 0,
+ 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 2, 0, 0,100, 0, 0, 0, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 23, 1, 0, 0,143, 1, 0, 0,127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,160, 0, 0, 0,127, 2, 0, 0,143, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,143, 1, 0, 0, 23, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,127, 2, 0, 0,
+160, 0, 0, 0,128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 2, 0, 0,129, 2, 0, 0,127, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3,100, 0, 0, 0,127, 2, 0, 0,129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,129, 2, 0, 0,128, 2, 0, 0,
+ 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 1, 0, 0, 9, 0, 0, 0, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+ 22, 1, 0, 0,129, 2, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 90, 0, 0, 0, 2, 1, 0, 0,129, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3,129, 2, 0, 0, 22, 1, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 1, 0, 0,
+ 90, 0, 0, 0,128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,128, 2, 0, 0,142, 1, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 36, 0, 0, 0, 3, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,142, 1, 0, 0,128, 2, 0, 0,
+160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 68, 65, 84, 65, 0,240, 0, 0,184,127, 54, 3, 0, 0, 0, 0, 59, 0, 0, 0,
+ 0, 5, 0, 0,166,222,110, 63, 9,205, 55, 63,212,132,105, 63,201,236, 65, 63,218,153,103, 63,119,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218,153,103, 63,119,155, 54, 63,118,148,108, 63,
+211,160, 44, 63,166,222,110, 63, 9,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 36, 51,115, 63, 36, 28, 45, 63,166,222,110, 63, 9,205, 55, 63,118,148,108, 63,211,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,148,108, 63,211,160, 44, 63,218,153,103, 63,
+119,155, 54, 63, 87, 17,102, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 56, 81, 96, 63,170, 55, 52, 63, 87, 17,102, 63,229, 52, 43, 63,218,153,103, 63,119,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218,153,103, 63,119,155, 54, 63, 9, 75, 97, 63,
+ 92,233, 63, 63, 56, 81, 96, 63,170, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 49, 86, 60, 63, 56, 81, 96, 63,170, 55, 52, 63, 9, 75, 97, 63, 92,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 75, 97, 63, 92,233, 63, 63,218,153,103, 63,
+119,155, 54, 63,212,132,105, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,103,167, 98, 63,168, 39, 75, 63,138,153, 89, 63, 39,228, 82, 63,139,153, 89, 63,255,153, 71, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63,255,153, 71, 63, 9, 75, 97, 63,
+ 92,233, 63, 63,103,167, 98, 63,168, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,132,105, 63,201,236, 65, 63,103,167, 98, 63,168, 39, 75, 63, 9, 75, 97, 63, 92,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 75, 97, 63, 92,233, 63, 63,139,153, 89, 63,
+255,153, 71, 63,138,153, 89, 63, 49, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 56, 81, 96, 63,170, 55, 52, 63,138,153, 89, 63, 49, 86, 60, 63,139,153, 89, 63, 79, 12, 49, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,153, 89, 63, 79, 12, 49, 63,205,182, 95, 63,
+222,228, 40, 63, 56, 81, 96, 63,170, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 87, 17,102, 63,229, 52, 43, 63, 56, 81, 96, 63,170, 55, 52, 63,205,182, 95, 63,222,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205,182, 95, 63,222,228, 40, 63,139,153, 89, 63,
+ 79, 12, 49, 63,139,153, 89, 63, 45,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,103,167, 98, 63,168, 39, 75, 63,212,132,105, 63,201,236, 65, 63,168, 83,109, 63,207, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,168, 83,109, 63,207, 83, 78, 63,135, 85,101, 63,
+148, 64, 88, 63,103,167, 98, 63,168, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 39,228, 82, 63,103,167, 98, 63,168, 39, 75, 63,135, 85,101, 63,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135, 85,101, 63,148, 64, 88, 63,168, 83,109, 63,
+207, 83, 78, 63, 36, 51,115, 63, 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,162, 18,121, 63,207, 83, 78, 63, 36, 51,115, 63, 22, 56, 90, 63,168, 83,109, 63,207, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,168, 83,109, 63,207, 83, 78, 63, 36, 51,115, 63,
+115, 23, 67, 63,162, 18,121, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,116,225,124, 63,202,236, 65, 63,162, 18,121, 63,207, 83, 78, 63, 36, 51,115, 63,115, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63,115, 23, 67, 63,168, 83,109, 63,
+207, 83, 78, 63,212,132,105, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,166,222,110, 63, 9,205, 55, 63, 36, 51,115, 63, 36, 28, 45, 63,163,135,119, 63, 11,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,163,135,119, 63, 11,205, 55, 63, 36, 51,115, 63,
+115, 23, 67, 63,166,222,110, 63, 9,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,132,105, 63,201,236, 65, 63,166,222,110, 63, 9,205, 55, 63, 36, 51,115, 63,115, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36, 51,115, 63,115, 23, 67, 63,163,135,119, 63,
+ 11,205, 55, 63,116,225,124, 63,202,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,162, 18,121, 63,207, 83, 78, 63,116,225,124, 63,202,236, 65, 63,113,223,129, 63,170, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,223,129, 63,170, 39, 75, 63, 98,136,128, 63,
+148, 64, 88, 63,162, 18,121, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 36, 51,115, 63, 22, 56, 90, 63,162, 18,121, 63,207, 83, 78, 63, 98,136,128, 63,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95, 98,136, 59,148, 64, 88, 63,160,184,111, 60,
+170, 39, 75, 63,243,203, 76, 61, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,243,203, 76, 61, 82, 12, 49, 63,246,203, 76, 61, 53, 86, 60, 63, 31,162,194, 60,172, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,162,194, 60,172, 55, 52, 63,111,239,213, 60,
+223,228, 40, 63,243,203, 76, 61, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,246,203, 76, 61, 48,200, 37, 63,243,203, 76, 61, 82, 12, 49, 63,111,239,213, 60,223,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,239,213, 60,223,228, 40, 63, 31,162,194, 60,
+172, 55, 52, 63,120,226,169, 58,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,111,204,126, 63,121,155, 54, 63,121, 42,128, 63,230, 52, 43, 63,136, 10,131, 63,172, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136, 10,131, 63,172, 55, 52, 63,160,141,130, 63,
+ 95,233, 63, 63,111,204,126, 63,121,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,116,225,124, 63,202,236, 65, 63,111,204,126, 63,121,155, 54, 63,160,141,130, 63, 95,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,104,163, 60, 95,233, 63, 63, 31,162,194, 60,
+172, 55, 52, 63,246,203, 76, 61, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,244,203, 76, 61, 2,154, 71, 63,243,203, 76, 61, 41,228, 82, 63,160,184,111, 60,170, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,184,111, 60,170, 39, 75, 63, 11,104,163, 60,
+ 95,233, 63, 63,244,203, 76, 61, 2,154, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,246,203, 76, 61, 53, 86, 60, 63,244,203, 76, 61, 2,154, 71, 63, 11,104,163, 60, 95,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,160,141,130, 63, 95,233, 63, 63,113,223,129, 63,
+170, 39, 75, 63,116,225,124, 63,202,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,111,204,126, 63,121,155, 54, 63,116,225,124, 63,202,236, 65, 63,163,135,119, 63, 11,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,163,135,119, 63, 11,205, 55, 63,210,209,121, 63,
+212,160, 44, 63,111,204,126, 63,121,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,121, 42,128, 63,230, 52, 43, 63,111,204,126, 63,121,155, 54, 63,210,209,121, 63,212,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,210,209,121, 63,212,160, 44, 63,163,135,119, 63,
+ 11,205, 55, 63, 36, 51,115, 63, 36, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 95,102,134, 63, 79, 46, 94, 63, 95,102,134, 63, 22,114,105, 63, 52,205,124, 63, 58, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 52,205,124, 63, 58, 26, 99, 63, 98,136,128, 63,
+148, 64, 88, 63, 95,102,134, 63, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,243,203, 76, 61, 41,228, 82, 63,234,203, 76, 61, 79, 46, 94, 63, 95, 98,136, 59,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 98,136,128, 63,148, 64, 88, 63, 52,205,124, 63,
+ 58, 26, 99, 63, 36, 51,115, 63, 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,153,105, 63, 58, 26, 99, 63, 36, 51,115, 63, 22, 56, 90, 63, 52,205,124, 63, 58, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 52,205,124, 63, 58, 26, 99, 63, 32, 51,115, 63,
+212,154,109, 63, 21,153,105, 63, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 19,114,105, 63, 21,153,105, 63, 58, 26, 99, 63, 32, 51,115, 63,212,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32, 51,115, 63,212,154,109, 63, 52,205,124, 63,
+ 58, 26, 99, 63, 95,102,134, 63, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 95,102,134, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,136,153, 89, 63,242,187,116, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136,153, 89, 63,242,187,116, 63, 32, 51,115, 63,
+212,154,109, 63, 95,102,134, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 95,102,134, 63, 22,114,105, 63, 95,102,134, 63,242,187,116, 63, 32, 51,115, 63,212,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32, 51,115, 63,212,154,109, 63,136,153, 89, 63,
+242,187,116, 63,138,153, 89, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,153,105, 63, 58, 26, 99, 63,138,153, 89, 63, 19,114,105, 63,138,153, 89, 63, 77, 46, 94, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,153, 89, 63, 77, 46, 94, 63,135, 85,101, 63,
+148, 64, 88, 63, 21,153,105, 63, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 36, 51,115, 63, 22, 56, 90, 63, 21,153,105, 63, 58, 26, 99, 63,135, 85,101, 63,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135, 85,101, 63,148, 64, 88, 63,138,153, 89, 63,
+ 77, 46, 94, 63,138,153, 89, 63, 39,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 67,153, 75, 63,113,155, 54, 63, 74,174, 73, 63,193,236, 65, 63,124, 84, 68, 63,255,204, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 84, 68, 63,255,204, 55, 63,169,158, 70, 63,
+200,160, 44, 63, 67,153, 75, 63,113,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,196, 33, 77, 63,221, 52, 43, 63, 67,153, 75, 63,113,155, 54, 63,169,158, 70, 63,200,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,158, 70, 63,200,160, 44, 63,124, 84, 68, 63,
+255,204, 55, 63, 0, 0, 64, 63, 24, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 67,153, 75, 63,113,155, 54, 63,196, 33, 77, 63,221, 52, 43, 63,225,225, 82, 63,165, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,225, 82, 63,165, 55, 52, 63, 16,232, 81, 63,
+ 89,233, 63, 63, 67,153, 75, 63,113,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 74,174, 73, 63,193,236, 65, 63, 67,153, 75, 63,113,155, 54, 63, 16,232, 81, 63, 89,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 16,232, 81, 63, 89,233, 63, 63,225,225, 82, 63,
+165, 55, 52, 63,138,153, 89, 63, 49, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,139,153, 89, 63,255,153, 71, 63,138,153, 89, 63, 39,228, 82, 63,179,139, 80, 63,164, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,139, 80, 63,164, 39, 75, 63, 16,232, 81, 63,
+ 89,233, 63, 63,139,153, 89, 63,255,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 49, 86, 60, 63,139,153, 89, 63,255,153, 71, 63, 16,232, 81, 63, 89,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 16,232, 81, 63, 89,233, 63, 63,179,139, 80, 63,
+164, 39, 75, 63, 74,174, 73, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,139,153, 89, 63, 79, 12, 49, 63,138,153, 89, 63, 49, 86, 60, 63,225,225, 82, 63,165, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,225, 82, 63,165, 55, 52, 63, 75,124, 83, 63,
+217,228, 40, 63,139,153, 89, 63, 79, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,139,153, 89, 63, 45,200, 37, 63,139,153, 89, 63, 79, 12, 49, 63, 75,124, 83, 63,217,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,124, 83, 63,217,228, 40, 63,225,225, 82, 63,
+165, 55, 52, 63,196, 33, 77, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,120,223, 69, 63,198, 83, 78, 63, 74,174, 73, 63,193,236, 65, 63,179,139, 80, 63,164, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179,139, 80, 63,164, 39, 75, 63,148,221, 77, 63,
+140, 64, 88, 63,120,223, 69, 63,198, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 12, 56, 90, 63,120,223, 69, 63,198, 83, 78, 63,148,221, 77, 63,140, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,148,221, 77, 63,140, 64, 88, 63,179,139, 80, 63,
+164, 39, 75, 63,138,153, 89, 63, 39,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,120,223, 69, 63,198, 83, 78, 63, 0, 0, 64, 63, 12, 56, 90, 63,136, 32, 58, 63,198, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136, 32, 58, 63,198, 83, 78, 63, 0, 0, 64, 63,
+106, 23, 67, 63,120,223, 69, 63,198, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 74,174, 73, 63,193,236, 65, 63,120,223, 69, 63,198, 83, 78, 63, 0, 0, 64, 63,106, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,106, 23, 67, 63,136, 32, 58, 63,
+198, 83, 78, 63,182, 81, 54, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,132,171, 59, 63,255,204, 55, 63, 0, 0, 64, 63, 24, 28, 45, 63,124, 84, 68, 63,255,204, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 84, 68, 63,255,204, 55, 63, 0, 0, 64, 63,
+106, 23, 67, 63,132,171, 59, 63,255,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,182, 81, 54, 63,193,236, 65, 63,132,171, 59, 63,255,204, 55, 63, 0, 0, 64, 63,106, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,106, 23, 67, 63,124, 84, 68, 63,
+255,204, 55, 63, 74,174, 73, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 77,116, 47, 63,164, 39, 75, 63,182, 81, 54, 63,193,236, 65, 63,136, 32, 58, 63,198, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136, 32, 58, 63,198, 83, 78, 63,108, 34, 50, 63,
+140, 64, 88, 63, 77,116, 47, 63,164, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,102, 38, 63, 38,228, 82, 63, 77,116, 47, 63,164, 39, 75, 63,108, 34, 50, 63,140, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,108, 34, 50, 63,140, 64, 88, 63,136, 32, 58, 63,
+198, 83, 78, 63, 0, 0, 64, 63, 12, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 31, 30, 45, 63,165, 55, 52, 63,117,102, 38, 63, 50, 86, 60, 63,117,102, 38, 63, 78, 12, 49, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63, 78, 12, 49, 63,181,131, 44, 63,
+216,228, 40, 63, 31, 30, 45, 63,165, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 60,222, 50, 63,221, 52, 43, 63, 31, 30, 45, 63,165, 55, 52, 63,181,131, 44, 63,216,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,181,131, 44, 63,216,228, 40, 63,117,102, 38, 63,
+ 78, 12, 49, 63,117,102, 38, 63, 45,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 31, 30, 45, 63,165, 55, 52, 63, 60,222, 50, 63,221, 52, 43, 63,189,102, 52, 63,113,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,102, 52, 63,113,155, 54, 63,240, 23, 46, 63,
+ 89,233, 63, 63, 31, 30, 45, 63,165, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63, 50, 86, 60, 63, 31, 30, 45, 63,165, 55, 52, 63,240, 23, 46, 63, 89,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 23, 46, 63, 89,233, 63, 63,189,102, 52, 63,
+113,155, 54, 63,182, 81, 54, 63,193,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 77,116, 47, 63,164, 39, 75, 63,118,102, 38, 63, 38,228, 82, 63,117,102, 38, 63,255,153, 71, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102, 38, 63,255,153, 71, 63,240, 23, 46, 63,
+ 89,233, 63, 63, 77,116, 47, 63,164, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,182, 81, 54, 63,193,236, 65, 63, 77,116, 47, 63,164, 39, 75, 63,240, 23, 46, 63, 89,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,240, 23, 46, 63, 89,233, 63, 63,117,102, 38, 63,
+255,153, 71, 63,117,102, 38, 63, 50, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,132,171, 59, 63,255,204, 55, 63,182, 81, 54, 63,193,236, 65, 63,189,102, 52, 63,113,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,102, 52, 63,113,155, 54, 63, 87, 97, 57, 63,
+200,160, 44, 63,132,171, 59, 63,255,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 24, 28, 45, 63,132,171, 59, 63,255,204, 55, 63, 87, 97, 57, 63,200,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 97, 57, 63,200,160, 44, 63,189,102, 52, 63,
+113,155, 54, 63, 60,222, 50, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,250,101, 54, 63, 51, 26, 99, 63,118,102, 38, 63, 19,114,105, 63,118,102, 38, 63, 77, 46, 94, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,102, 38, 63, 77, 46, 94, 63,108, 34, 50, 63,
+140, 64, 88, 63,250,101, 54, 63, 51, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 12, 56, 90, 63,250,101, 54, 63, 51, 26, 99, 63,108, 34, 50, 63,140, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,108, 34, 50, 63,140, 64, 88, 63,118,102, 38, 63,
+ 77, 46, 94, 63,118,102, 38, 63, 38,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,250,101, 54, 63, 51, 26, 99, 63, 0, 0, 64, 63, 12, 56, 90, 63, 6,154, 73, 63, 51, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 6,154, 73, 63, 51, 26, 99, 63, 0, 0, 64, 63,
+206,154,109, 63,250,101, 54, 63, 51, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,102, 38, 63, 19,114,105, 63,250,101, 54, 63, 51, 26, 99, 63, 0, 0, 64, 63,206,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,206,154,109, 63, 6,154, 73, 63,
+ 51, 26, 99, 63,138,153, 89, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,136,153, 89, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,120,102, 38, 63,242,187,116, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120,102, 38, 63,242,187,116, 63, 0, 0, 64, 63,
+206,154,109, 63,136,153, 89, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 19,114,105, 63,136,153, 89, 63,242,187,116, 63, 0, 0, 64, 63,206,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,206,154,109, 63,120,102, 38, 63,
+242,187,116, 63,118,102, 38, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 77, 46, 94, 63,138,153, 89, 63, 19,114,105, 63, 6,154, 73, 63, 51, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 6,154, 73, 63, 51, 26, 99, 63,148,221, 77, 63,
+140, 64, 88, 63,138,153, 89, 63, 77, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,153, 89, 63, 39,228, 82, 63,138,153, 89, 63, 77, 46, 94, 63,148,221, 77, 63,140, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,148,221, 77, 63,140, 64, 88, 63, 6,154, 73, 63,
+ 51, 26, 99, 63, 0, 0, 64, 63, 12, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,167, 71, 8, 62, 7,205, 55, 63,170,192,229, 61,200,236, 65, 63,203,104,214, 61,120,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,203,104,214, 61,120,155, 54, 63,201, 61,254, 61,
+207,160, 44, 63,167, 71, 8, 62, 7,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173,153, 25, 62, 27, 28, 45, 63,167, 71, 8, 62, 7,205, 55, 63,201, 61,254, 61,207,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,201, 61,254, 61,207,160, 44, 63,203,104,214, 61,
+120,155, 54, 63,175, 36,202, 61,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,145, 35,156, 61,172, 55, 52, 63,175, 36,202, 61,228, 52, 43, 63,203,104,214, 61,120,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,203,104,214, 61,120,155, 54, 63, 32,242,163, 61,
+ 96,233, 63, 63,145, 35,156, 61,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,246,203, 76, 61, 53, 86, 60, 63,145, 35,156, 61,172, 55, 52, 63, 32,242,163, 61, 96,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32,242,163, 61, 96,233, 63, 63,203,104,214, 61,
+120,155, 54, 63,170,192,229, 61,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 17,213,174, 61,171, 39, 75, 63,243,203, 76, 61, 41,228, 82, 63,244,203, 76, 61, 2,154, 71, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,203, 76, 61, 2,154, 71, 63, 32,242,163, 61,
+ 96,233, 63, 63, 17,213,174, 61,171, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,192,229, 61,200,236, 65, 63, 17,213,174, 61,171, 39, 75, 63, 32,242,163, 61, 96,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 32,242,163, 61, 96,233, 63, 63,244,203, 76, 61,
+ 2,154, 71, 63,246,203, 76, 61, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,145, 35,156, 61,172, 55, 52, 63,246,203, 76, 61, 53, 86, 60, 63,243,203, 76, 61, 82, 12, 49, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,243,203, 76, 61, 82, 12, 49, 63, 53, 80,151, 61,
+223,228, 40, 63,145, 35,156, 61,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,175, 36,202, 61,228, 52, 43, 63,145, 35,156, 61,172, 55, 52, 63, 53, 80,151, 61,223,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 80,151, 61,223,228, 40, 63,243,203, 76, 61,
+ 82, 12, 49, 63,246,203, 76, 61, 48,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 17,213,174, 61,171, 39, 75, 63,170,192,229, 61,200,236, 65, 63,169, 27, 2, 62,204, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169, 27, 2, 62,204, 83, 78, 63, 23, 70,196, 61,
+147, 64, 88, 63, 17,213,174, 61,171, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,243,203, 76, 61, 41,228, 82, 63, 17,213,174, 61,171, 39, 75, 63, 23, 70,196, 61,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 70,196, 61,147, 64, 88, 63,169, 27, 2, 62,
+204, 83, 78, 63,160,153, 25, 62, 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,162, 23, 49, 62,195, 83, 78, 63,160,153, 25, 62, 14, 56, 90, 63,169, 27, 2, 62,204, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169, 27, 2, 62,204, 83, 78, 63,172,153, 25, 62,
+108, 23, 67, 63,162, 23, 49, 62,195, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,240, 82, 64, 62,183,236, 65, 63,162, 23, 49, 62,195, 83, 78, 63,172,153, 25, 62,108, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,153, 25, 62,108, 23, 67, 63,169, 27, 2, 62,
+204, 83, 78, 63,170,192,229, 61,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,167, 71, 8, 62, 7,205, 55, 63,173,153, 25, 62, 27, 28, 45, 63,173,235, 42, 62,254,204, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,235, 42, 62,254,204, 55, 63,172,153, 25, 62,
+108, 23, 67, 63,167, 71, 8, 62, 7,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,192,229, 61,200,236, 65, 63,167, 71, 8, 62, 7,205, 55, 63,172,153, 25, 62,108, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,153, 25, 62,108, 23, 67, 63,173,235, 42, 62,
+254,204, 55, 63,240, 82, 64, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,162, 23, 49, 62,195, 83, 78, 63,240, 82, 64, 62,183,236, 65, 63,166,200, 91, 62,147, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,200, 91, 62,147, 39, 75, 63, 34, 16, 81, 62,
+131, 64, 88, 63,162, 23, 49, 62,195, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,160,153, 25, 62, 14, 56, 90, 63,162, 23, 49, 62,195, 83, 78, 63, 34, 16, 81, 62,131, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 16, 81, 62,131, 64, 88, 63,166,200, 91, 62,
+147, 39, 75, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 62, 19, 86, 60, 63, 92, 33,101, 62,146, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92, 33,101, 62,146, 55, 52, 63, 14,139,103, 62,
+199,228, 40, 63, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 23,200, 37, 63, 0, 0,128, 62, 47, 12, 49, 63, 14,139,103, 62,199,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 14,139,103, 62,199,228, 40, 63, 92, 33,101, 62,
+146, 55, 52, 63,230, 32, 78, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,223,254, 71, 62,102,155, 54, 63,230, 32, 78, 62,211, 52, 43, 63, 92, 33,101, 62,146, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 92, 33,101, 62,146, 55, 52, 63, 23, 58, 97, 62,
+ 69,233, 63, 63,223,254, 71, 62,102,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,240, 82, 64, 62,183,236, 65, 63,223,254, 71, 62,102,155, 54, 63, 23, 58, 97, 62, 69,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 58, 97, 62, 69,233, 63, 63, 92, 33,101, 62,
+146, 55, 52, 63, 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 62, 13,228, 82, 63,166,200, 91, 62,147, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,200, 91, 62,147, 39, 75, 63, 23, 58, 97, 62,
+ 69,233, 63, 63, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 62,228,153, 71, 63, 23, 58, 97, 62, 69,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 58, 97, 62, 69,233, 63, 63,166,200, 91, 62,
+147, 39, 75, 63,240, 82, 64, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,223,254, 71, 62,102,155, 54, 63,240, 82, 64, 62,183,236, 65, 63,173,235, 42, 62,254,204, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173,235, 42, 62,254,204, 55, 63,105, 20, 52, 62,
+198,160, 44, 63,223,254, 71, 62,102,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,230, 32, 78, 62,211, 52, 43, 63,223,254, 71, 62,102,155, 54, 63,105, 20, 52, 62,198,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,105, 20, 52, 62,198,160, 44, 63,173,235, 42, 62,
+254,204, 55, 63,173,153, 25, 62, 27, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 62, 8,114,105, 63,230, 1, 64, 62, 49, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230, 1, 64, 62, 49, 26, 99, 63, 34, 16, 81, 62,
+131, 64, 88, 63, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 62, 58, 46, 94, 63, 34, 16, 81, 62,131, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 16, 81, 62,131, 64, 88, 63,230, 1, 64, 62,
+ 49, 26, 99, 63,160,153, 25, 62, 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,164, 98,230, 61, 58, 26, 99, 63,160,153, 25, 62, 14, 56, 90, 63,230, 1, 64, 62, 49, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230, 1, 64, 62, 49, 26, 99, 63,159,153, 25, 62,
+210,154,109, 63,164, 98,230, 61, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237,203, 76, 61, 22,114,105, 63,164, 98,230, 61, 58, 26, 99, 63,159,153, 25, 62,210,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,153, 25, 62,210,154,109, 63,230, 1, 64, 62,
+ 49, 26, 99, 63, 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,232,187,116, 63, 3,153, 59, 63, 0, 0,128, 63, 95,102,134, 63,242,187,116, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,210,203, 76, 61,242,187,116, 63,159,153, 25, 62,
+210,154,109, 63, 0, 0,128, 62,232,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 62,232,187,116, 63,159,153, 25, 62,210,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,153, 25, 62,210,154,109, 63,210,203, 76, 61,
+242,187,116, 63,237,203, 76, 61, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,164, 98,230, 61, 58, 26, 99, 63,237,203, 76, 61, 22,114,105, 63,234,203, 76, 61, 79, 46, 94, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234,203, 76, 61, 79, 46, 94, 63, 23, 70,196, 61,
+147, 64, 88, 63,164, 98,230, 61, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,160,153, 25, 62, 14, 56, 90, 63,164, 98,230, 61, 58, 26, 99, 63, 23, 70,196, 61,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 70,196, 61,147, 64, 88, 63,234,203, 76, 61,
+ 79, 46, 94, 63,243,203, 76, 61, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42,138,170, 62,254,204, 55, 63,136,214,159, 62,183,236, 65, 63,145, 0,156, 62,102,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 0,156, 62,102,155, 54, 63,204,245,165, 62,
+198,160, 44, 63, 42,138,170, 62,254,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42, 51,179, 62, 28, 28, 45, 63, 42,138,170, 62,254,204, 55, 63,204,245,165, 62,198,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204,245,165, 62,198,160, 44, 63,145, 0,156, 62,
+102,155, 54, 63,141,239,152, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 82,111,141, 62,146, 55, 52, 63,141,239,152, 62,211, 52, 43, 63,145, 0,156, 62,102,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 0,156, 62,102,155, 54, 63,245, 98,143, 62,
+ 68,233, 63, 63, 82,111,141, 62,146, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 19, 86, 60, 63, 82,111,141, 62,146, 55, 52, 63,245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245, 98,143, 62, 68,233, 63, 63,145, 0,156, 62,
+102,155, 54, 63,136,214,159, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 62,228,153, 71, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,228,153, 71, 63,245, 98,143, 62,
+ 68,233, 63, 63,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,136,214,159, 62,183,236, 65, 63,173, 27,146, 62,147, 39, 75, 63,245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245, 98,143, 62, 68,233, 63, 63, 0, 0,128, 62,
+228,153, 71, 63, 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 82,111,141, 62,146, 55, 52, 63, 0, 0,128, 62, 19, 86, 60, 63, 0, 0,128, 62, 47, 12, 49, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 47, 12, 49, 63,121, 58,140, 62,
+199,228, 40, 63, 82,111,141, 62,146, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,141,239,152, 62,211, 52, 43, 63, 82,111,141, 62,146, 55, 52, 63,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 62,
+ 47, 12, 49, 63, 0, 0,128, 62, 23,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173, 27,146, 62,147, 39, 75, 63,136,214,159, 62,183,236, 65, 63, 47,116,167, 62,195, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47,116,167, 62,195, 83, 78, 63,239,119,151, 62,
+131, 64, 88, 63,173, 27,146, 62,147, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 13,228, 82, 63,173, 27,146, 62,147, 39, 75, 63,239,119,151, 62,131, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,119,151, 62,131, 64, 88, 63, 47,116,167, 62,
+195, 83, 78, 63, 49, 51,179, 62, 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44,242,190, 62,205, 83, 78, 63, 49, 51,179, 62, 14, 56, 90, 63, 47,116,167, 62,195, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47,116,167, 62,195, 83, 78, 63, 42, 51,179, 62,
+108, 23, 67, 63, 44,242,190, 62,205, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,143,198, 62,200,236, 65, 63, 44,242,190, 62,205, 83, 78, 63, 42, 51,179, 62,108, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 51,179, 62,108, 23, 67, 63, 47,116,167, 62,
+195, 83, 78, 63,136,214,159, 62,183,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42,138,170, 62,254,204, 55, 63, 42, 51,179, 62, 28, 28, 45, 63, 45,220,187, 62, 7,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 45,220,187, 62, 7,205, 55, 63, 42, 51,179, 62,
+108, 23, 67, 63, 42,138,170, 62,254,204, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,136,214,159, 62,183,236, 65, 63, 42,138,170, 62,254,204, 55, 63, 42, 51,179, 62,108, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 51,179, 62,108, 23, 67, 63, 45,220,187, 62,
+ 7,205, 55, 63,214,143,198, 62,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44,242,190, 62,205, 83, 78, 63,214,143,198, 62,200,236, 65, 63,188, 74,212, 62,171, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188, 74,212, 62,171, 39, 75, 63,122,238,206, 62,
+147, 64, 88, 63, 44,242,190, 62,205, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 49, 51,179, 62, 14, 56, 90, 63, 44,242,190, 62,205, 83, 78, 63,122,238,206, 62,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,238,206, 62,147, 64, 88, 63,188, 74,212, 62,
+171, 39, 75, 63,130,102,230, 62, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,130,102,230, 62, 82, 12, 49, 63,129,102,230, 62, 53, 86, 60, 63, 28,247,216, 62,172, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 28,247,216, 62,172, 55, 52, 63,243, 43,218, 62,
+223,228, 40, 63,130,102,230, 62, 82, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,102,230, 62, 48,200, 37, 63,130,102,230, 62, 82, 12, 49, 63,243, 43,218, 62,223,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,243, 43,218, 62,223,228, 40, 63, 28,247,216, 62,
+172, 55, 52, 63,212,118,205, 62,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,206,101,202, 62,120,155, 54, 63,212,118,205, 62,228, 52, 43, 63, 28,247,216, 62,172, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 28,247,216, 62,172, 55, 52, 63,120, 3,215, 62,
+ 95,233, 63, 63,206,101,202, 62,120,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,143,198, 62,200,236, 65, 63,206,101,202, 62,120,155, 54, 63,120, 3,215, 62, 95,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120, 3,215, 62, 95,233, 63, 63, 28,247,216, 62,
+172, 55, 52, 63,129,102,230, 62, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,130,102,230, 62, 1,154, 71, 63,130,102,230, 62, 41,228, 82, 63,188, 74,212, 62,171, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,188, 74,212, 62,171, 39, 75, 63,120, 3,215, 62,
+ 95,233, 63, 63,130,102,230, 62, 1,154, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,102,230, 62, 53, 86, 60, 63,130,102,230, 62, 1,154, 71, 63,120, 3,215, 62, 95,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,120, 3,215, 62, 95,233, 63, 63,188, 74,212, 62,
+171, 39, 75, 63,214,143,198, 62,200,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,206,101,202, 62,120,155, 54, 63,214,143,198, 62,200,236, 65, 63, 45,220,187, 62, 7,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 45,220,187, 62, 7,205, 55, 63,142,112,192, 62,
+207,160, 44, 63,206,101,202, 62,120,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,118,205, 62,228, 52, 43, 63,206,101,202, 62,120,155, 54, 63,142,112,192, 62,207,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,142,112,192, 62,207,160, 44, 63, 45,220,187, 62,
+ 7,205, 55, 63, 42, 51,179, 62, 28, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,131,102,230, 62, 79, 46, 94, 63,131,102,230, 62, 22,114,105, 63, 87,103,198, 62, 58, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87,103,198, 62, 58, 26, 99, 63,122,238,206, 62,
+147, 64, 88, 63,131,102,230, 62, 79, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,130,102,230, 62, 41,228, 82, 63,131,102,230, 62, 79, 46, 94, 63,122,238,206, 62,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122,238,206, 62,147, 64, 88, 63, 87,103,198, 62,
+ 58, 26, 99, 63, 49, 51,179, 62, 14, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,255,159, 62, 49, 26, 99, 63, 49, 51,179, 62, 14, 56, 90, 63, 87,103,198, 62, 58, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87,103,198, 62, 58, 26, 99, 63, 49, 51,179, 62,
+210,154,109, 63, 14,255,159, 62, 49, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 8,114,105, 63, 14,255,159, 62, 49, 26, 99, 63, 49, 51,179, 62,210,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62,210,154,109, 63, 87,103,198, 62,
+ 58, 26, 99, 63,131,102,230, 62, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,134,102,230, 62,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63, 0, 0,128, 62,232,187,116, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,232,187,116, 63, 49, 51,179, 62,
+210,154,109, 63,134,102,230, 62,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,131,102,230, 62, 22,114,105, 63,134,102,230, 62,242,187,116, 63, 49, 51,179, 62,210,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49, 51,179, 62,210,154,109, 63, 0, 0,128, 62,
+232,187,116, 63, 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,255,159, 62, 49, 26, 99, 63, 0, 0,128, 62, 8,114,105, 63, 0, 0,128, 62, 58, 46, 94, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62, 58, 46, 94, 63,239,119,151, 62,
+131, 64, 88, 63, 14,255,159, 62, 49, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 49, 51,179, 62, 14, 56, 90, 63, 14,255,159, 62, 49, 26, 99, 63,239,119,151, 62,131, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,119,151, 62,131, 64, 88, 63, 0, 0,128, 62,
+ 58, 46, 94, 63, 0, 0,128, 62, 13,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 93,120, 8, 63, 11,205, 55, 63,140, 30, 3, 63,201,236, 65, 63,145, 51, 1, 63,121,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 51, 1, 63,121,155, 54, 63, 46, 46, 6, 63,
+211,160, 44, 63, 93,120, 8, 63, 11,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,220,204, 12, 63, 35, 28, 45, 63, 93,120, 8, 63, 11,205, 55, 63, 46, 46, 6, 63,211,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 46, 46, 6, 63,211,160, 44, 63,145, 51, 1, 63,
+121,155, 54, 63, 30, 86,255, 62,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,222,213,243, 62,172, 55, 52, 63, 30, 86,255, 62,230, 52, 43, 63,145, 51, 1, 63,121,155, 54, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,145, 51, 1, 63,121,155, 54, 63,128,201,245, 62,
+ 94,233, 63, 63,222,213,243, 62,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,102,230, 62, 53, 86, 60, 63,222,213,243, 62,172, 55, 52, 63,128,201,245, 62, 94,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,201,245, 62, 94,233, 63, 63,145, 51, 1, 63,
+121,155, 54, 63,140, 30, 3, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 59,130,248, 62,169, 39, 75, 63,130,102,230, 62, 41,228, 82, 63,130,102,230, 62, 1,154, 71, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,130,102,230, 62, 1,154, 71, 63,128,201,245, 62,
+ 94,233, 63, 63, 59,130,248, 62,169, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,140, 30, 3, 63,201,236, 65, 63, 59,130,248, 62,169, 39, 75, 63,128,201,245, 62, 94,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,201,245, 62, 94,233, 63, 63,130,102,230, 62,
+ 1,154, 71, 63,129,102,230, 62, 53, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,222,213,243, 62,172, 55, 52, 63,129,102,230, 62, 53, 86, 60, 63,130,102,230, 62, 82, 12, 49, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,130,102,230, 62, 82, 12, 49, 63, 9,161,242, 62,
+223,228, 40, 63,222,213,243, 62,172, 55, 52, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 30, 86,255, 62,230, 52, 43, 63,222,213,243, 62,172, 55, 52, 63, 9,161,242, 62,223,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9,161,242, 62,223,228, 40, 63,130,102,230, 62,
+ 82, 12, 49, 63,129,102,230, 62, 48,200, 37, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 59,130,248, 62,169, 39, 75, 63,140, 30, 3, 63,201,236, 65, 63, 94,237, 6, 63,207, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94,237, 6, 63,207, 83, 78, 63,118,222,253, 62,
+148, 64, 88, 63, 59,130,248, 62,169, 39, 75, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,130,102,230, 62, 41,228, 82, 63, 59,130,248, 62,169, 39, 75, 63,118,222,253, 62,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,222,253, 62,148, 64, 88, 63, 94,237, 6, 63,
+207, 83, 78, 63,220,204, 12, 63, 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 88,172, 18, 63,207, 83, 78, 63,220,204, 12, 63, 22, 56, 90, 63, 94,237, 6, 63,207, 83, 78, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94,237, 6, 63,207, 83, 78, 63,220,204, 12, 63,
+115, 23, 67, 63, 88,172, 18, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44,123, 22, 63,201,236, 65, 63, 88,172, 18, 63,207, 83, 78, 63,220,204, 12, 63,115, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63,115, 23, 67, 63, 94,237, 6, 63,
+207, 83, 78, 63,140, 30, 3, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 93,120, 8, 63, 11,205, 55, 63,220,204, 12, 63, 35, 28, 45, 63, 91, 33, 17, 63, 9,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91, 33, 17, 63, 9,205, 55, 63,220,204, 12, 63,
+115, 23, 67, 63, 93,120, 8, 63, 11,205, 55, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,140, 30, 3, 63,201,236, 65, 63, 93,120, 8, 63, 11,205, 55, 63,220,204, 12, 63,115, 23, 67, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220,204, 12, 63,115, 23, 67, 63, 91, 33, 17, 63,
+ 9,205, 55, 63, 44,123, 22, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 88,172, 18, 63,207, 83, 78, 63, 44,123, 22, 63,201,236, 65, 63,153, 88, 29, 63,167, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153, 88, 29, 63,167, 39, 75, 63,121,170, 26, 63,
+147, 64, 88, 63, 88,172, 18, 63,207, 83, 78, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,220,204, 12, 63, 22, 56, 90, 63, 88,172, 18, 63,207, 83, 78, 63,121,170, 26, 63,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121,170, 26, 63,147, 64, 88, 63,153, 88, 29, 63,
+167, 39, 75, 63,118,102, 38, 63, 38,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63, 78, 12, 49, 63,117,102, 38, 63, 50, 86, 60, 63,200,174, 31, 63,169, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,200,174, 31, 63,169, 55, 52, 63, 51, 73, 32, 63,
+221,228, 40, 63,117,102, 38, 63, 78, 12, 49, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63, 45,200, 37, 63,117,102, 38, 63, 78, 12, 49, 63, 51, 73, 32, 63,221,228, 40, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51, 73, 32, 63,221,228, 40, 63,200,174, 31, 63,
+169, 55, 52, 63,169,238, 25, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 39,102, 24, 63,119,155, 54, 63,169,238, 25, 63,229, 52, 43, 63,200,174, 31, 63,169, 55, 52, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,200,174, 31, 63,169, 55, 52, 63,246,180, 30, 63,
+ 92,233, 63, 63, 39,102, 24, 63,119,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44,123, 22, 63,201,236, 65, 63, 39,102, 24, 63,119,155, 54, 63,246,180, 30, 63, 92,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,180, 30, 63, 92,233, 63, 63,200,174, 31, 63,
+169, 55, 52, 63,117,102, 38, 63, 50, 86, 60, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63,255,153, 71, 63,118,102, 38, 63, 38,228, 82, 63,153, 88, 29, 63,167, 39, 75, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153, 88, 29, 63,167, 39, 75, 63,246,180, 30, 63,
+ 92,233, 63, 63,117,102, 38, 63,255,153, 71, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63, 50, 86, 60, 63,117,102, 38, 63,255,153, 71, 63,246,180, 30, 63, 92,233, 63, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,246,180, 30, 63, 92,233, 63, 63,153, 88, 29, 63,
+167, 39, 75, 63, 44,123, 22, 63,201,236, 65, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 39,102, 24, 63,119,155, 54, 63, 44,123, 22, 63,201,236, 65, 63, 91, 33, 17, 63, 9,205, 55, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91, 33, 17, 63, 9,205, 55, 63,138,107, 19, 63,
+211,160, 44, 63, 39,102, 24, 63,119,155, 54, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,169,238, 25, 63,229, 52, 43, 63, 39,102, 24, 63,119,155, 54, 63,138,107, 19, 63,211,160, 44, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,107, 19, 63,211,160, 44, 63, 91, 33, 17, 63,
+ 9,205, 55, 63,220,204, 12, 63, 35, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,102, 38, 63, 77, 46, 94, 63,118,102, 38, 63, 19,114,105, 63,235,102, 22, 63, 59, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,102, 22, 63, 59, 26, 99, 63,121,170, 26, 63,
+147, 64, 88, 63,118,102, 38, 63, 77, 46, 94, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,102, 38, 63, 38,228, 82, 63,118,102, 38, 63, 77, 46, 94, 63,121,170, 26, 63,147, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,121,170, 26, 63,147, 64, 88, 63,235,102, 22, 63,
+ 59, 26, 99, 63,220,204, 12, 63, 22, 56, 90, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,204, 50, 3, 63, 58, 26, 99, 63,220,204, 12, 63, 22, 56, 90, 63,235,102, 22, 63, 59, 26, 99, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,102, 22, 63, 59, 26, 99, 63,224,204, 12, 63,
+212,154,109, 63,204, 50, 3, 63, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,131,102,230, 62, 22,114,105, 63,204, 50, 3, 63, 58, 26, 99, 63,224,204, 12, 63,212,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,204, 12, 63,212,154,109, 63,235,102, 22, 63,
+ 59, 26, 99, 63,118,102, 38, 63, 19,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,120,102, 38, 63,242,187,116, 63, 3,153, 59, 63, 0, 0,128, 63,134,102,230, 62,242,187,116, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134,102,230, 62,242,187,116, 63,224,204, 12, 63,
+212,154,109, 63,120,102, 38, 63,242,187,116, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,102, 38, 63, 19,114,105, 63,120,102, 38, 63,242,187,116, 63,224,204, 12, 63,212,154,109, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,204, 12, 63,212,154,109, 63,134,102,230, 62,
+242,187,116, 63,131,102,230, 62, 22,114,105, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,204, 50, 3, 63, 58, 26, 99, 63,131,102,230, 62, 22,114,105, 63,131,102,230, 62, 79, 46, 94, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,102,230, 62, 79, 46, 94, 63,118,222,253, 62,
+148, 64, 88, 63,204, 50, 3, 63, 58, 26, 99, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,220,204, 12, 63, 22, 56, 90, 63,204, 50, 3, 63, 58, 26, 99, 63,118,222,253, 62,148, 64, 88, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,222,253, 62,148, 64, 88, 63,131,102,230, 62,
+ 79, 46, 94, 63,130,102,230, 62, 41,228, 82, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,213,233, 76, 63, 35, 48, 21, 63,176,235, 70, 63,226,209, 22, 63, 80,234, 73, 63,146,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,234, 73, 63,146,111, 11, 63, 1,200, 79, 63,
+ 94,152, 9, 63,213,233, 76, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 19,215, 82, 63,252, 29, 19, 63,213,233, 76, 63, 35, 48, 21, 63, 1,200, 79, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,200, 79, 63, 94,152, 9, 63, 80,234, 73, 63,
+146,111, 11, 63,193,204, 76, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,213,233, 76, 63, 35, 48, 21, 63, 19,215, 82, 63,252, 29, 19, 63,220, 41, 80, 63,105, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220, 41, 80, 63,105, 60, 31, 63,164,219, 73, 63,
+173, 23, 33, 63,213,233, 76, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,176,235, 70, 63,226,209, 22, 63,213,233, 76, 63, 35, 48, 21, 63,164,219, 73, 63,173, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,219, 73, 63,173, 23, 33, 63,220, 41, 80, 63,
+105, 60, 31, 63,196, 33, 77, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,169,158, 70, 63,200,160, 44, 63, 0, 0, 64, 63, 24, 28, 45, 63, 5,171, 67, 63,216, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 5,171, 67, 63,216, 17, 34, 63,164,219, 73, 63,
+173, 23, 33, 63,169,158, 70, 63,200,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,196, 33, 77, 63,221, 52, 43, 63,169,158, 70, 63,200,160, 44, 63,164,219, 73, 63,173, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,219, 73, 63,173, 23, 33, 63, 5,171, 67, 63,
+216, 17, 34, 63,176,235, 70, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 75,124, 83, 63,217,228, 40, 63,196, 33, 77, 63,221, 52, 43, 63,220, 41, 80, 63,105, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,220, 41, 80, 63,105, 60, 31, 63,218, 20, 86, 63,
+143,140, 28, 63, 75,124, 83, 63,217,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,139,153, 89, 63, 45,200, 37, 63, 75,124, 83, 63,217,228, 40, 63,218, 20, 86, 63,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 20, 86, 63,143,140, 28, 63,220, 41, 80, 63,
+105, 60, 31, 63, 19,215, 82, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,182, 32, 23, 63,176,235, 70, 63,226,209, 22, 63, 5,171, 67, 63,216, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 5,171, 67, 63,216, 17, 34, 63,251, 84, 60, 63,
+216, 17, 34, 63, 0, 0, 64, 63,182, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 80, 20, 57, 63,226,209, 22, 63, 0, 0, 64, 63,182, 32, 23, 63,251, 84, 60, 63,216, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251, 84, 60, 63,216, 17, 34, 63, 5,171, 67, 63,
+216, 17, 34, 63, 0, 0, 64, 63, 24, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,182, 32, 23, 63, 80, 20, 57, 63,226,209, 22, 63,169,156, 60, 63, 96,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,156, 60, 63, 96,116, 11, 63, 87, 99, 67, 63,
+ 96,116, 11, 63, 0, 0, 64, 63,182, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,176,235, 70, 63,226,209, 22, 63, 0, 0, 64, 63,182, 32, 23, 63, 87, 99, 67, 63, 96,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 99, 67, 63, 96,116, 11, 63,169,156, 60, 63,
+ 96,116, 11, 63, 0, 0, 64, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 96,102, 70, 63,244, 1, 0, 63,193,204, 76, 63, 0, 0, 0, 63, 80,234, 73, 63,146,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,234, 73, 63,146,111, 11, 63, 87, 99, 67, 63,
+ 96,116, 11, 63, 96,102, 70, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 0, 0, 0, 63, 96,102, 70, 63,244, 1, 0, 63, 87, 99, 67, 63, 96,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 99, 67, 63, 96,116, 11, 63, 80,234, 73, 63,
+146,111, 11, 63,176,235, 70, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,160,153, 57, 63,244, 1, 0, 63, 0, 0, 64, 63, 0, 0, 0, 63,169,156, 60, 63, 96,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,156, 60, 63, 96,116, 11, 63,176, 21, 54, 63,
+146,111, 11, 63,160,153, 57, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 51, 51, 63, 0, 0, 0, 63,160,153, 57, 63,244, 1, 0, 63,176, 21, 54, 63,146,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176, 21, 54, 63,146,111, 11, 63,169,156, 60, 63,
+ 96,116, 11, 63, 80, 20, 57, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 93, 58,217, 62,144, 61, 57, 63, 19,196,217, 62, 85,123, 60, 63,253,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,123, 60, 63,253,230,198, 62,171,132, 67, 63,
+253,230,198, 62, 0, 0, 64, 63, 93, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,112,194, 70, 63, 19,196,217, 62, 0, 0, 64, 63, 93, 58,217, 62,171,132, 67, 63,253,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,132, 67, 63,253,230,198, 62, 85,123, 60, 63,
+253,230,198, 62, 0, 0, 64, 63,211,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 93, 58,217, 62,112,194, 70, 63, 19,196,217, 62,125, 84, 67, 63, 42,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125, 84, 67, 63, 42,211,236, 62,131,171, 60, 63,
+ 42,211,236, 62, 0, 0, 64, 63, 93, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,144, 61, 57, 63, 19,196,217, 62, 0, 0, 64, 63, 93, 58,217, 62,131,171, 60, 63, 42,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,171, 60, 63, 42,211,236, 62,125, 84, 67, 63,
+ 42,211,236, 62, 0, 0, 64, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,160,153, 57, 63,244, 1, 0, 63, 63, 51, 51, 63, 0, 0, 0, 63,128, 46, 54, 63, 75,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128, 46, 54, 63, 75,207,236, 62,131,171, 60, 63,
+ 42,211,236, 62,160,153, 57, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 0, 0, 0, 63,160,153, 57, 63,244, 1, 0, 63,131,171, 60, 63, 42,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,131,171, 60, 63, 42,211,236, 62,128, 46, 54, 63,
+ 75,207,236, 62,144, 61, 57, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 96,102, 70, 63,244, 1, 0, 63, 0, 0, 64, 63, 0, 0, 0, 63,125, 84, 67, 63, 42,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125, 84, 67, 63, 42,211,236, 62,128,209, 73, 63,
+ 75,207,236, 62, 96,102, 70, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,193,204, 76, 63, 0, 0, 0, 63, 96,102, 70, 63,244, 1, 0, 63,128,209, 73, 63, 75,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,209, 73, 63, 75,207,236, 62,125, 84, 67, 63,
+ 42,211,236, 62,112,194, 70, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 43, 22, 51, 63, 35, 48, 21, 63,237, 40, 45, 63,252, 29, 19, 63,255, 55, 48, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255, 55, 48, 63, 94,152, 9, 63,176, 21, 54, 63,
+146,111, 11, 63, 43, 22, 51, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 80, 20, 57, 63,226,209, 22, 63, 43, 22, 51, 63, 35, 48, 21, 63,176, 21, 54, 63,146,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176, 21, 54, 63,146,111, 11, 63,255, 55, 48, 63,
+ 94,152, 9, 63, 63, 51, 51, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 43, 22, 51, 63, 35, 48, 21, 63, 80, 20, 57, 63,226,209, 22, 63, 91, 36, 54, 63,173, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91, 36, 54, 63,173, 23, 33, 63, 36,214, 47, 63,
+105, 60, 31, 63, 43, 22, 51, 63, 35, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 40, 45, 63,252, 29, 19, 63, 43, 22, 51, 63, 35, 48, 21, 63, 36,214, 47, 63,105, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36,214, 47, 63,105, 60, 31, 63, 91, 36, 54, 63,
+173, 23, 33, 63, 60,222, 50, 63,221, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,181,131, 44, 63,216,228, 40, 63,117,102, 38, 63, 45,200, 37, 63, 38,235, 41, 63,141,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38,235, 41, 63,141,140, 28, 63, 36,214, 47, 63,
+105, 60, 31, 63,181,131, 44, 63,216,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 60,222, 50, 63,221, 52, 43, 63,181,131, 44, 63,216,228, 40, 63, 36,214, 47, 63,105, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 36,214, 47, 63,105, 60, 31, 63, 38,235, 41, 63,
+141,140, 28, 63,237, 40, 45, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 87, 97, 57, 63,200,160, 44, 63, 60,222, 50, 63,221, 52, 43, 63, 91, 36, 54, 63,173, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91, 36, 54, 63,173, 23, 33, 63,251, 84, 60, 63,
+216, 17, 34, 63, 87, 97, 57, 63,200,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63, 24, 28, 45, 63, 87, 97, 57, 63,200,160, 44, 63,251, 84, 60, 63,216, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251, 84, 60, 63,216, 17, 34, 63, 91, 36, 54, 63,
+173, 23, 33, 63, 80, 20, 57, 63,226,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,134, 14,128, 63, 39, 48, 21, 63,227, 30,122, 63,233,209, 22, 63,138, 29,125, 63,150,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138, 29,125, 63,150,111, 11, 63,159,125,129, 63,
+ 94,152, 9, 63,134, 14,128, 63, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,174, 73,193, 60,253, 29, 19, 63,209, 92,232, 57, 39, 48, 21, 63,114,207, 62, 60, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159,125,129, 63, 94,152, 9, 63,138, 29,125, 63,
+150,111, 11, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,209, 92,232, 57, 39, 48, 21, 63,174, 73,193, 60,253, 29, 19, 63,214, 67, 87, 60,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136,174,129, 63,110, 60, 31, 63,213, 14,125, 63,
+180, 23, 33, 63,134, 14,128, 63, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,227, 30,122, 63,233,209, 22, 63,134, 14,128, 63, 39, 48, 21, 63,213, 14,125, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14,125, 63,180, 23, 33, 63,136,174,129, 63,
+110, 60, 31, 63,121, 42,128, 63,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,210,209,121, 63,212,160, 44, 63, 36, 51,115, 63, 36, 28, 45, 63, 49,222,118, 63,226, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49,222,118, 63,226, 17, 34, 63,213, 14,125, 63,
+180, 23, 33, 63,210,209,121, 63,212,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,121, 42,128, 63,230, 52, 43, 63,210,209,121, 63,212,160, 44, 63,213, 14,125, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14,125, 63,180, 23, 33, 63, 49,222,118, 63,
+226, 17, 34, 63,227, 30,122, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,111,239,213, 60,223,228, 40, 63,120,226,169, 58,230, 52, 43, 63,214, 67, 87, 60,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214, 67, 87, 60,110, 60, 31, 63, 13,129, 20, 61,
+143,140, 28, 63,111,239,213, 60,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,246,203, 76, 61, 48,200, 37, 63,111,239,213, 60,223,228, 40, 63, 13,129, 20, 61,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 13,129, 20, 61,143,140, 28, 63,214, 67, 87, 60,
+110, 60, 31, 63,174, 73,193, 60,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44, 51,115, 63,188, 32, 23, 63,227, 30,122, 63,233,209, 22, 63, 49,222,118, 63,226, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 49,222,118, 63,226, 17, 34, 63, 31,136,111, 63,
+225, 17, 34, 63, 44, 51,115, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,116, 71,108, 63,232,209, 22, 63, 44, 51,115, 63,188, 32, 23, 63, 31,136,111, 63,225, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,136,111, 63,225, 17, 34, 63, 49,222,118, 63,
+226, 17, 34, 63, 36, 51,115, 63, 36, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 44, 51,115, 63,188, 32, 23, 63,116, 71,108, 63,232,209, 22, 63,213,207,111, 63,100,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,207,111, 63,100,116, 11, 63,138,150,118, 63,
+101,116, 11, 63, 44, 51,115, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,227, 30,122, 63,233,209, 22, 63, 44, 51,115, 63,188, 32, 23, 63,138,150,118, 63,101,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,150,118, 63,101,116, 11, 63,213,207,111, 63,
+100,116, 11, 63, 51, 51,115, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,138, 29,125, 63,150,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138, 29,125, 63,150,111, 11, 63,138,150,118, 63,
+101,116, 11, 63,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 51, 51,115, 63, 0, 0, 0, 63,154,153,121, 63,244, 1, 0, 63,138,150,118, 63,101,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,138,150,118, 63,101,116, 11, 63,138, 29,125, 63,
+150,111, 11, 63,227, 30,122, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,205,204,108, 63,244, 1, 0, 63, 51, 51,115, 63, 0, 0, 0, 63,213,207,111, 63,100,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,207,111, 63,100,116, 11, 63,213, 72,105, 63,
+149,111, 11, 63,205,204,108, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,102,102, 63, 0, 0, 0, 63,205,204,108, 63,244, 1, 0, 63,213, 72,105, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 72,105, 63,149,111, 11, 63,213,207,111, 63,
+100,116, 11, 63,116, 71,108, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 58, 51,115, 63, 73, 58,217, 62,192,112,108, 63, 4,196,217, 62,139,174,111, 63,223,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,139,174,111, 63,223,230,198, 62,239,183,118, 63,
+227,230,198, 62, 58, 51,115, 63, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,245,121, 63, 6,196,217, 62, 58, 51,115, 63, 73, 58,217, 62,239,183,118, 63,227,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,183,118, 63,227,230,198, 62,139,174,111, 63,
+223,230,198, 62, 65, 51,115, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 58, 51,115, 63, 73, 58,217, 62,179,245,121, 63, 6,196,217, 62,185,135,118, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,185,135,118, 63, 30,211,236, 62,180,222,111, 63,
+ 30,211,236, 62, 58, 51,115, 63, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192,112,108, 63, 4,196,217, 62, 58, 51,115, 63, 73, 58,217, 62,180,222,111, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,222,111, 63, 30,211,236, 62,185,135,118, 63,
+ 30,211,236, 62, 51, 51,115, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,205,204,108, 63,244, 1, 0, 63,101,102,102, 63, 0, 0, 0, 63,170, 97,105, 63, 65,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 97,105, 63, 65,207,236, 62,180,222,111, 63,
+ 30,211,236, 62,205,204,108, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 51, 51,115, 63, 0, 0, 0, 63,205,204,108, 63,244, 1, 0, 63,180,222,111, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180,222,111, 63, 30,211,236, 62,170, 97,105, 63,
+ 65,207,236, 62,192,112,108, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,154,153,121, 63,244, 1, 0, 63, 51, 51,115, 63, 0, 0, 0, 63,185,135,118, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,185,135,118, 63, 30,211,236, 62,194, 4,125, 63,
+ 67,207,236, 62,154,153,121, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63,154,153,121, 63,244, 1, 0, 63,194, 4,125, 63, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 4,125, 63, 67,207,236, 62,185,135,118, 63,
+ 30,211,236, 62,179,245,121, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 76, 73,102, 63, 38, 48, 21, 63, 11, 92, 96, 63,253, 29, 19, 63, 33,107, 99, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 33,107, 99, 63, 94,152, 9, 63,213, 72,105, 63,
+149,111, 11, 63, 76, 73,102, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,116, 71,108, 63,232,209, 22, 63, 76, 73,102, 63, 38, 48, 21, 63,213, 72,105, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 72,105, 63,149,111, 11, 63, 33,107, 99, 63,
+ 94,152, 9, 63,101,102,102, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 76, 73,102, 63, 38, 48, 21, 63,116, 71,108, 63,232,209, 22, 63,124, 87,105, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 87,105, 63,180, 23, 33, 63, 65, 9, 99, 63,
+109, 60, 31, 63, 76, 73,102, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 11, 92, 96, 63,253, 29, 19, 63, 76, 73,102, 63, 38, 48, 21, 63, 65, 9, 99, 63,109, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 9, 99, 63,109, 60, 31, 63,124, 87,105, 63,
+180, 23, 33, 63, 87, 17,102, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,205,182, 95, 63,222,228, 40, 63,139,153, 89, 63, 45,200, 37, 63, 63, 30, 93, 63,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 63, 30, 93, 63,143,140, 28, 63, 65, 9, 99, 63,
+109, 60, 31, 63,205,182, 95, 63,222,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 87, 17,102, 63,229, 52, 43, 63,205,182, 95, 63,222,228, 40, 63, 65, 9, 99, 63,109, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 9, 99, 63,109, 60, 31, 63, 63, 30, 93, 63,
+143,140, 28, 63, 11, 92, 96, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,118,148,108, 63,211,160, 44, 63, 87, 17,102, 63,229, 52, 43, 63,124, 87,105, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,124, 87,105, 63,180, 23, 33, 63, 31,136,111, 63,
+225, 17, 34, 63,118,148,108, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 36, 51,115, 63, 36, 28, 45, 63,118,148,108, 63,211,160, 44, 63, 31,136,111, 63,225, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 31,136,111, 63,225, 17, 34, 63,124, 87,105, 63,
+180, 23, 33, 63,116, 71,108, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 65, 77, 62, 32, 48, 21, 63,152, 72, 53, 62,229,209, 22, 63, 47, 67, 65, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47, 67, 65, 62,147,111, 11, 63,255,185, 88, 62,
+ 90,152, 9, 63, 65, 65, 77, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64,246,100, 62,246, 29, 19, 63, 65, 65, 77, 62, 32, 48, 21, 63,255,185, 88, 62, 90,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255,185, 88, 62, 90,152, 9, 63, 47, 67, 65, 62,
+147,111, 11, 63,254,204, 76, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 65, 77, 62, 32, 48, 21, 63, 64,246,100, 62,246, 29, 19, 63, 89, 65, 90, 62, 94, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89, 65, 90, 62, 94, 60, 31, 63,107, 8, 65, 62,
+170, 23, 33, 63, 65, 65, 77, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152, 72, 53, 62,229,209, 22, 63, 65, 65, 77, 62, 32, 48, 21, 63,107, 8, 65, 62,170, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107, 8, 65, 62,170, 23, 33, 63, 89, 65, 90, 62,
+ 94, 60, 31, 63,230, 32, 78, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,105, 20, 52, 62,198,160, 44, 63,173,153, 25, 62, 27, 28, 45, 63,216, 69, 40, 62,220, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,216, 69, 40, 62,220, 17, 34, 63,107, 8, 65, 62,
+170, 23, 33, 63,105, 20, 52, 62,198,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,230, 32, 78, 62,211, 52, 43, 63,105, 20, 52, 62,198,160, 44, 63,107, 8, 65, 62,170, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,107, 8, 65, 62,170, 23, 33, 63,216, 69, 40, 62,
+220, 17, 34, 63,152, 72, 53, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,139,103, 62,199,228, 40, 63,230, 32, 78, 62,211, 52, 43, 63, 89, 65, 90, 62, 94, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89, 65, 90, 62, 94, 60, 31, 63, 83,237,113, 62,
+130,140, 28, 63, 14,139,103, 62,199,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 23,200, 37, 63, 14,139,103, 62,199,228, 40, 63, 83,237,113, 62,130,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 83,237,113, 62,130,140, 28, 63, 89, 65, 90, 62,
+ 94, 60, 31, 63, 64,246,100, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180,153, 25, 62,185, 32, 23, 63,152, 72, 53, 62,229,209, 22, 63,216, 69, 40, 62,220, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,216, 69, 40, 62,220, 17, 34, 63,133,237, 10, 62,
+219, 17, 34, 63,180,153, 25, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147,213,251, 61,228,209, 22, 63,180,153, 25, 62,185, 32, 23, 63,133,237, 10, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,237, 10, 62,219, 17, 34, 63,216, 69, 40, 62,
+220, 17, 34, 63,173,153, 25, 62, 27, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180,153, 25, 62,185, 32, 23, 63,147,213,251, 61,228,209, 22, 63, 67, 12, 12, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 67, 12, 12, 62, 98,116, 11, 63, 34, 39, 39, 62,
+ 98,116, 11, 63,180,153, 25, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152, 72, 53, 62,229,209, 22, 63,180,153, 25, 62,185, 32, 23, 63, 34, 39, 39, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 39, 39, 62, 98,116, 11, 63, 67, 12, 12, 62,
+ 98,116, 11, 63,181,153, 25, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 92, 51, 51, 62,244, 1, 0, 63,254,204, 76, 62, 0, 0, 0, 63, 47, 67, 65, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 47, 67, 65, 62,147,111, 11, 63, 34, 39, 39, 62,
+ 98,116, 11, 63, 92, 51, 51, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,181,153, 25, 62, 0, 0, 0, 63, 92, 51, 51, 62,244, 1, 0, 63, 34, 39, 39, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 34, 39, 39, 62, 98,116, 11, 63, 47, 67, 65, 62,
+147,111, 11, 63,152, 72, 53, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 8, 0, 0, 62,244, 1, 0, 63,181,153, 25, 62, 0, 0, 0, 63, 67, 12, 12, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 67, 12, 12, 62, 98,116, 11, 63,109,224,227, 61,
+147,111, 11, 63, 8, 0, 0, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,204,204, 61, 0, 0, 0, 63, 8, 0, 0, 62,244, 1, 0, 63,109,224,227, 61,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,224,227, 61,147,111, 11, 63, 67, 12, 12, 62,
+ 98,116, 11, 63,147,213,251, 61,228,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,196,153, 25, 62, 73, 58,217, 62,171, 31,253, 61, 6,196,217, 62, 1,135, 11, 62,228,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,135, 11, 62,228,230,198, 62,153,172, 39, 62,
+230,230,198, 62,196,153, 25, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,163, 52, 62, 7,196,217, 62,196,153, 25, 62, 73, 58,217, 62,153,172, 39, 62,230,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153,172, 39, 62,230,230,198, 62, 1,135, 11, 62,
+228,230,198, 62,214,153, 25, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,196,153, 25, 62, 73, 58,217, 62,179,163, 52, 62, 7,196,217, 62,202,235, 38, 62, 33,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,235, 38, 62, 33,211,236, 62,173, 71, 12, 62,
+ 31,211,236, 62,196,153, 25, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,171, 31,253, 61, 6,196,217, 62,196,153, 25, 62, 73, 58,217, 62,173, 71, 12, 62, 31,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173, 71, 12, 62, 31,211,236, 62,202,235, 38, 62,
+ 33,211,236, 62,181,153, 25, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 8, 0, 0, 62,244, 1, 0, 63,215,204,204, 61, 0, 0, 0, 63,251,166,228, 61, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,166,228, 61, 67,207,236, 62,173, 71, 12, 62,
+ 31,211,236, 62, 8, 0, 0, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,181,153, 25, 62, 0, 0, 0, 63, 8, 0, 0, 62,244, 1, 0, 63,173, 71, 12, 62, 31,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,173, 71, 12, 62, 31,211,236, 62,251,166,228, 61,
+ 67,207,236, 62,171, 31,253, 61, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 92, 51, 51, 62,244, 1, 0, 63,181,153, 25, 62, 0, 0, 0, 63,202,235, 38, 62, 33,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,235, 38, 62, 33,211,236, 62,251,223, 64, 62,
+ 67,207,236, 62, 92, 51, 51, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,254,204, 76, 62, 0, 0, 0, 63, 92, 51, 51, 62,244, 1, 0, 63,251,223, 64, 62, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,223, 64, 62, 67,207,236, 62,202,235, 38, 62,
+ 33,211,236, 62,179,163, 52, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42,228,203, 61, 37, 48, 21, 63, 1,122,156, 61,254, 29, 19, 63,172,242,180, 61, 96,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172,242,180, 61, 96,152, 9, 63,109,224,227, 61,
+147,111, 11, 63, 42,228,203, 61, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147,213,251, 61,228,209, 22, 63, 42,228,203, 61, 37, 48, 21, 63,109,224,227, 61,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,224,227, 61,147,111, 11, 63,172,242,180, 61,
+ 96,152, 9, 63,215,204,204, 61, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42,228,203, 61, 37, 48, 21, 63,147,213,251, 61,228,209, 22, 63,208, 85,228, 61,179, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,208, 85,228, 61,179, 23, 33, 63,212,227,177, 61,
+110, 60, 31, 63, 42,228,203, 61, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 1,122,156, 61,254, 29, 19, 63, 42,228,203, 61, 37, 48, 21, 63,212,227,177, 61,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,227,177, 61,110, 60, 31, 63,208, 85,228, 61,
+179, 23, 33, 63,175, 36,202, 61,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 53, 80,151, 61,223,228, 40, 63,246,203, 76, 61, 48,200, 37, 63,166,139,130, 61,145,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,139,130, 61,145,140, 28, 63,212,227,177, 61,
+110, 60, 31, 63, 53, 80,151, 61,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,175, 36,202, 61,228, 52, 43, 63, 53, 80,151, 61,223,228, 40, 63,212,227,177, 61,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,227,177, 61,110, 60, 31, 63,166,139,130, 61,
+145,140, 28, 63, 1,122,156, 61,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,201, 61,254, 61,207,160, 44, 63,175, 36,202, 61,228, 52, 43, 63,208, 85,228, 61,179, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,208, 85,228, 61,179, 23, 33, 63,133,237, 10, 62,
+219, 17, 34, 63,201, 61,254, 61,207,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173,153, 25, 62, 27, 28, 45, 63,201, 61,254, 61,207,160, 44, 63,133,237, 10, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,237, 10, 62,219, 17, 34, 63,208, 85,228, 61,
+179, 23, 33, 63,147,213,251, 61,228,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,245, 6,205, 62, 37, 48, 21, 63,155, 10,193, 62,229,209, 22, 63,229, 7,199, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229, 7,199, 62,147,111, 11, 63, 85,195,210, 62,
+ 96,152, 9, 63,245, 6,205, 62, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,128,225,216, 62,254, 29, 19, 63,245, 6,205, 62, 37, 48, 21, 63, 85,195,210, 62, 96,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,195,210, 62, 96,152, 9, 63,229, 7,199, 62,
+147,111, 11, 63,202,204,204, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,245, 6,205, 62, 37, 48, 21, 63,128,225,216, 62,254, 29, 19, 63, 11,135,211, 62,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,135,211, 62,110, 60, 31, 63,140,234,198, 62,
+179, 23, 33, 63,245, 6,205, 62, 37, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,155, 10,193, 62,229,209, 22, 63,245, 6,205, 62, 37, 48, 21, 63,140,234,198, 62,179, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,234,198, 62,179, 23, 33, 63, 11,135,211, 62,
+110, 60, 31, 63,212,118,205, 62,228, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,142,112,192, 62,207,160, 44, 63, 42, 51,179, 62, 28, 28, 45, 63, 61,137,186, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61,137,186, 62,219, 17, 34, 63,140,234,198, 62,
+179, 23, 33, 63,142,112,192, 62,207,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,118,205, 62,228, 52, 43, 63,142,112,192, 62,207,160, 44, 63,140,234,198, 62,179, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,140,234,198, 62,179, 23, 33, 63, 61,137,186, 62,
+219, 17, 34, 63,155, 10,193, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,243, 43,218, 62,223,228, 40, 63,212,118,205, 62,228, 52, 43, 63, 11,135,211, 62,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 11,135,211, 62,110, 60, 31, 63, 22, 93,223, 62,
+145,140, 28, 63,243, 43,218, 62,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,102,230, 62, 48,200, 37, 63,243, 43,218, 62,223,228, 40, 63, 22, 93,223, 62,145,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 93,223, 62,145,140, 28, 63, 11,135,211, 62,
+110, 60, 31, 63,128,225,216, 62,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 51,179, 62,185, 32, 23, 63,155, 10,193, 62,229,209, 22, 63, 61,137,186, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61,137,186, 62,219, 17, 34, 63, 20,221,171, 62,
+219, 17, 34, 63, 38, 51,179, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180, 91,165, 62,229,209, 22, 63, 38, 51,179, 62,185, 32, 23, 63, 20,221,171, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20,221,171, 62,219, 17, 34, 63, 61,137,186, 62,
+219, 17, 34, 63, 42, 51,179, 62, 28, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 51,179, 62,185, 32, 23, 63,180, 91,165, 62,229,209, 22, 63,111,108,172, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,108,172, 62, 98,116, 11, 63,222,249,185, 62,
+ 98,116, 11, 63, 38, 51,179, 62,185, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,155, 10,193, 62,229,209, 22, 63, 38, 51,179, 62,185, 32, 23, 63,222,249,185, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,249,185, 62, 98,116, 11, 63,111,108,172, 62,
+ 98,116, 11, 63, 38, 51,179, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,252,255,191, 62,244, 1, 0, 63,202,204,204, 62, 0, 0, 0, 63,229, 7,199, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229, 7,199, 62,147,111, 11, 63,222,249,185, 62,
+ 98,116, 11, 63,252,255,191, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 51,179, 62, 0, 0, 0, 63,252,255,191, 62,244, 1, 0, 63,222,249,185, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,249,185, 62, 98,116, 11, 63,229, 7,199, 62,
+147,111, 11, 63,155, 10,193, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 82,102,166, 62,244, 1, 0, 63, 38, 51,179, 62, 0, 0, 0, 63,111,108,172, 62, 98,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,111,108,172, 62, 98,116, 11, 63,104, 94,159, 62,
+147,111, 11, 63, 82,102,166, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,153,153, 62, 0, 0, 0, 63, 82,102,166, 62,244, 1, 0, 63,104, 94,159, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104, 94,159, 62,147,111, 11, 63,111,108,172, 62,
+ 98,116, 11, 63,180, 91,165, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 30, 51,179, 62, 73, 58,217, 62, 39,174,165, 62, 7,196,217, 62,180, 41,172, 62,227,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,180, 41,172, 62,227,230,198, 62,127, 60,186, 62,
+225,230,198, 62, 30, 51,179, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,184,192, 62, 6,196,217, 62, 30, 51,179, 62, 73, 58,217, 62,127, 60,186, 62,225,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,127, 60,186, 62,225,230,198, 62,180, 41,172, 62,
+227,230,198, 62, 21, 51,179, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 30, 51,179, 62, 73, 58,217, 62, 21,184,192, 62, 6,196,217, 62, 42,220,185, 62, 31,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,220,185, 62, 31,211,236, 62, 27,138,172, 62,
+ 33,211,236, 62, 30, 51,179, 62, 73, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 39,174,165, 62, 7,196,217, 62, 30, 51,179, 62, 73, 58,217, 62, 27,138,172, 62, 33,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27,138,172, 62, 33,211,236, 62, 42,220,185, 62,
+ 31,211,236, 62, 38, 51,179, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 82,102,166, 62,244, 1, 0, 63,129,153,153, 62, 0, 0, 0, 63, 3,144,159, 62, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3,144,159, 62, 67,207,236, 62, 27,138,172, 62,
+ 33,211,236, 62, 82,102,166, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 51,179, 62, 0, 0, 0, 63, 82,102,166, 62,244, 1, 0, 63, 27,138,172, 62, 33,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 27,138,172, 62, 33,211,236, 62, 3,144,159, 62,
+ 67,207,236, 62, 39,174,165, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,252,255,191, 62,244, 1, 0, 63, 38, 51,179, 62, 0, 0, 0, 63, 42,220,185, 62, 31,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,220,185, 62, 31,211,236, 62, 65,214,198, 62,
+ 67,207,236, 62,252,255,191, 62,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,202,204,204, 62, 0, 0, 0, 63,252,255,191, 62,244, 1, 0, 63, 65,214,198, 62, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65,214,198, 62, 67,207,236, 62, 42,220,185, 62,
+ 31,211,236, 62, 21,184,192, 62, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 95, 95,153, 62, 32, 48, 21, 63,224,132,141, 62,246, 29, 19, 63, 1,163,147, 62, 91,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,163,147, 62, 91,152, 9, 63,104, 94,159, 62,
+147,111, 11, 63, 95, 95,153, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180, 91,165, 62,229,209, 22, 63, 95, 95,153, 62, 32, 48, 21, 63,104, 94,159, 62,147,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104, 94,159, 62,147,111, 11, 63, 1,163,147, 62,
+ 91,152, 9, 63,129,153,153, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 95, 95,153, 62, 32, 48, 21, 63,180, 91,165, 62,229,209, 22, 63,203,123,159, 62,170, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,203,123,159, 62,170, 23, 33, 63, 84,223,146, 62,
+ 94, 60, 31, 63, 95, 95,153, 62, 32, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,224,132,141, 62,246, 29, 19, 63, 95, 95,153, 62, 32, 48, 21, 63, 84,223,146, 62, 94, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 84,223,146, 62, 94, 60, 31, 63,203,123,159, 62,
+170, 23, 33, 63,141,239,152, 62,211, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 62, 23,200, 37, 63, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86, 9,135, 62,130,140, 28, 63, 84,223,146, 62,
+ 94, 60, 31, 63,121, 58,140, 62,199,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,141,239,152, 62,211, 52, 43, 63,121, 58,140, 62,199,228, 40, 63, 84,223,146, 62, 94, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 84,223,146, 62, 94, 60, 31, 63, 86, 9,135, 62,
+130,140, 28, 63,224,132,141, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,204,245,165, 62,198,160, 44, 63,141,239,152, 62,211, 52, 43, 63,203,123,159, 62,170, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,203,123,159, 62,170, 23, 33, 63, 20,221,171, 62,
+219, 17, 34, 63,204,245,165, 62,198,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 42, 51,179, 62, 28, 28, 45, 63,204,245,165, 62,198,160, 44, 63, 20,221,171, 62,219, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 20,221,171, 62,219, 17, 34, 63,203,123,159, 62,
+170, 23, 33, 63,180, 91,165, 62,229,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180,182, 25, 63, 38, 48, 21, 63,140,184, 19, 63,232,209, 22, 63, 43,183, 22, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,183, 22, 63,149,111, 11, 63,223,148, 28, 63,
+ 94,152, 9, 63,180,182, 25, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,245,163, 31, 63,253, 29, 19, 63,180,182, 25, 63, 38, 48, 21, 63,223,148, 28, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,223,148, 28, 63, 94,152, 9, 63, 43,183, 22, 63,
+149,111, 11, 63,155,153, 25, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180,182, 25, 63, 38, 48, 21, 63,245,163, 31, 63,253, 29, 19, 63,191,246, 28, 63,109, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,246, 28, 63,109, 60, 31, 63,132,168, 22, 63,
+180, 23, 33, 63,180,182, 25, 63, 38, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,140,184, 19, 63,232,209, 22, 63,180,182, 25, 63, 38, 48, 21, 63,132,168, 22, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132,168, 22, 63,180, 23, 33, 63,191,246, 28, 63,
+109, 60, 31, 63,169,238, 25, 63,229, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,107, 19, 63,211,160, 44, 63,220,204, 12, 63, 35, 28, 45, 63,225,119, 16, 63,225, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,119, 16, 63,225, 17, 34, 63,132,168, 22, 63,
+180, 23, 33, 63,138,107, 19, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,169,238, 25, 63,229, 52, 43, 63,138,107, 19, 63,211,160, 44, 63,132,168, 22, 63,180, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132,168, 22, 63,180, 23, 33, 63,225,119, 16, 63,
+225, 17, 34, 63,140,184, 19, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 51, 73, 32, 63,221,228, 40, 63,169,238, 25, 63,229, 52, 43, 63,191,246, 28, 63,109, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,246, 28, 63,109, 60, 31, 63,192,225, 34, 63,
+142,140, 28, 63, 51, 73, 32, 63,221,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,117,102, 38, 63, 45,200, 37, 63, 51, 73, 32, 63,221,228, 40, 63,192,225, 34, 63,142,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,225, 34, 63,142,140, 28, 63,191,246, 28, 63,
+109, 60, 31, 63,245,163, 31, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,204, 12, 63,188, 32, 23, 63,140,184, 19, 63,232,209, 22, 63,225,119, 16, 63,225, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225,119, 16, 63,225, 17, 34, 63,207, 33, 9, 63,
+226, 17, 34, 63,212,204, 12, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 29,225, 5, 63,233,209, 22, 63,212,204, 12, 63,188, 32, 23, 63,207, 33, 9, 63,226, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207, 33, 9, 63,226, 17, 34, 63,225,119, 16, 63,
+225, 17, 34, 63,220,204, 12, 63, 35, 28, 45, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,212,204, 12, 63,188, 32, 23, 63, 29,225, 5, 63,233,209, 22, 63,118,105, 9, 63,101,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,105, 9, 63,101,116, 11, 63, 43, 48, 16, 63,
+100,116, 11, 63,212,204, 12, 63,188, 32, 23, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,140,184, 19, 63,232,209, 22, 63,212,204, 12, 63,188, 32, 23, 63, 43, 48, 16, 63,100,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43, 48, 16, 63,100,116, 11, 63,118,105, 9, 63,
+101,116, 11, 63,205,204, 12, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 51, 51, 19, 63,244, 1, 0, 63,155,153, 25, 63, 0, 0, 0, 63, 43,183, 22, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,183, 22, 63,149,111, 11, 63, 43, 48, 16, 63,
+100,116, 11, 63, 51, 51, 19, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,205,204, 12, 63, 0, 0, 0, 63, 51, 51, 19, 63,244, 1, 0, 63, 43, 48, 16, 63,100,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43, 48, 16, 63,100,116, 11, 63, 43,183, 22, 63,
+149,111, 11, 63,140,184, 19, 63,232,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,102,102, 6, 63,244, 1, 0, 63,205,204, 12, 63, 0, 0, 0, 63,118,105, 9, 63,101,116, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,105, 9, 63,101,116, 11, 63,118,226, 2, 63,
+149,111, 11, 63,102,102, 6, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,102,102, 6, 63,244, 1, 0, 63,118,226, 2, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,226, 2, 63,149,111, 11, 63,118,105, 9, 63,
+101,116, 11, 63, 29,225, 5, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198,204, 12, 63, 72, 58,217, 62, 77, 10, 6, 63, 6,196,217, 62, 17, 72, 9, 63,227,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 72, 9, 63,227,230,198, 62,117, 81, 16, 63,
+223,230,198, 62,198,204, 12, 63, 72, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64,143, 19, 63, 4,196,217, 62,198,204, 12, 63, 72, 58,217, 62,117, 81, 16, 63,223,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117, 81, 16, 63,223,230,198, 62, 17, 72, 9, 63,
+227,230,198, 62,191,204, 12, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198,204, 12, 63, 72, 58,217, 62, 64,143, 19, 63, 4,196,217, 62, 76, 33, 16, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 76, 33, 16, 63, 30,211,236, 62, 71,120, 9, 63,
+ 30,211,236, 62,198,204, 12, 63, 72, 58,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 77, 10, 6, 63, 6,196,217, 62,198,204, 12, 63, 72, 58,217, 62, 71,120, 9, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71,120, 9, 63, 30,211,236, 62, 76, 33, 16, 63,
+ 30,211,236, 62,205,204, 12, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,102,102, 6, 63,244, 1, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 62,251, 2, 63, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 62,251, 2, 63, 67,207,236, 62, 71,120, 9, 63,
+ 30,211,236, 62,102,102, 6, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,205,204, 12, 63, 0, 0, 0, 63,102,102, 6, 63,244, 1, 0, 63, 71,120, 9, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71,120, 9, 63, 30,211,236, 62, 62,251, 2, 63,
+ 67,207,236, 62, 77, 10, 6, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 51, 51, 19, 63,244, 1, 0, 63,205,204, 12, 63, 0, 0, 0, 63, 76, 33, 16, 63, 30,211,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 76, 33, 16, 63, 30,211,236, 62, 86,158, 22, 63,
+ 65,207,236, 62, 51, 51, 19, 63,244, 1, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,155,153, 25, 63, 0, 0, 0, 63, 51, 51, 19, 63,244, 1, 0, 63, 86,158, 22, 63, 65,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,158, 22, 63, 65,207,236, 62, 76, 33, 16, 63,
+ 30,211,236, 62, 64,143, 19, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,233,197,255, 62, 39, 48, 21, 63,101,235,243, 62,252, 29, 19, 63,132, 9,250, 62, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,132, 9,250, 62, 94,152, 9, 63,118,226, 2, 63,
+149,111, 11, 63,233,197,255, 62, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 29,225, 5, 63,233,209, 22, 63,233,197,255, 62, 39, 48, 21, 63,118,226, 2, 63,149,111, 11, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118,226, 2, 63,149,111, 11, 63,132, 9,250, 62,
+ 94,152, 9, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,233,197,255, 62, 39, 48, 21, 63, 29,225, 5, 63,233,209, 22, 63, 43,241, 2, 63,181, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,241, 2, 63,181, 23, 33, 63,225, 69,249, 62,
+110, 60, 31, 63,233,197,255, 62, 39, 48, 21, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,235,243, 62,252, 29, 19, 63,233,197,255, 62, 39, 48, 21, 63,225, 69,249, 62,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225, 69,249, 62,110, 60, 31, 63, 43,241, 2, 63,
+181, 23, 33, 63, 30, 86,255, 62,230, 52, 43, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 9,161,242, 62,223,228, 40, 63,129,102,230, 62, 48,200, 37, 63,222,111,237, 62,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,111,237, 62,143,140, 28, 63,225, 69,249, 62,
+110, 60, 31, 63, 9,161,242, 62,223,228, 40, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 30, 86,255, 62,230, 52, 43, 63, 9,161,242, 62,223,228, 40, 63,225, 69,249, 62,110, 60, 31, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,225, 69,249, 62,110, 60, 31, 63,222,111,237, 62,
+143,140, 28, 63,101,235,243, 62,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 46, 46, 6, 63,211,160, 44, 63, 30, 86,255, 62,230, 52, 43, 63, 43,241, 2, 63,181, 23, 33, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 43,241, 2, 63,181, 23, 33, 63,207, 33, 9, 63,
+226, 17, 34, 63, 46, 46, 6, 63,211,160, 44, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,220,204, 12, 63, 35, 28, 45, 63, 46, 46, 6, 63,211,160, 44, 63,207, 33, 9, 63,226, 17, 34, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207, 33, 9, 63,226, 17, 34, 63, 43,241, 2, 63,
+181, 23, 33, 63, 29,225, 5, 63,233,209, 22, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,238, 85, 63, 72,220,187, 62,218,173, 82, 63, 55, 92,210, 62,229,189, 79, 63,173,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229,189, 79, 63,173,208,189, 62,230,250, 82, 63,
+117,190,166, 62,138,238, 85, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,149,153, 89, 63,201,199,165, 62,138,238, 85, 63, 72,220,187, 62,230,250, 82, 63,117,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,230,250, 82, 63,117,190,166, 62,229,189, 79, 63,
+173,208,189, 62,198,119, 76, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,111, 73, 63, 68,135,193, 62,198,119, 76, 63, 90,150,169, 62,229,189, 79, 63,173,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,229,189, 79, 63,173,208,189, 62,176,175, 76, 63,
+192,159,213, 62,170,111, 73, 63, 68,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,112,194, 70, 63, 19,196,217, 62,170,111, 73, 63, 68,135,193, 62,176,175, 76, 63,192,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,175, 76, 63,192,159,213, 62,229,189, 79, 63,
+173,208,189, 62,218,173, 82, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 52,175, 79, 63,218, 32,233, 62,193,204, 76, 63, 0, 0, 0, 63,128,209, 73, 63, 75,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,128,209, 73, 63, 75,207,236, 62,176,175, 76, 63,
+192,159,213, 62, 52,175, 79, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,218,173, 82, 63, 55, 92,210, 62, 52,175, 79, 63,218, 32,233, 62,176,175, 76, 63,192,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,175, 76, 63,192,159,213, 62,128,209, 73, 63,
+ 75,207,236, 62,112,194, 70, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,111, 73, 63, 68,135,193, 62,112,194, 70, 63, 19,196,217, 62,171,132, 67, 63,253,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,132, 67, 63,253,230,198, 62, 61, 29, 70, 63,
+114, 54,174, 62,170,111, 73, 63, 68,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198,119, 76, 63, 90,150,169, 62,170,111, 73, 63, 68,135,193, 62, 61, 29, 70, 63,114, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 61, 29, 70, 63,114, 54,174, 62,171,132, 67, 63,
+253,230,198, 62, 0, 0, 64, 63,211,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 52,175, 79, 63,218, 32,233, 62,218,173, 82, 63, 55, 92,210, 62, 56, 54, 86, 63, 58, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56, 54, 86, 63, 58, 23,233, 62, 41, 51, 83, 63,
+ 24,252,255, 62, 52,175, 79, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,193,204, 76, 63, 0, 0, 0, 63, 52,175, 79, 63,218, 32,233, 62, 41, 51, 83, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 41, 51, 83, 63, 24,252,255, 62, 56, 54, 86, 63,
+ 58, 23,233, 62,147,153, 89, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,239,252, 92, 63, 58, 23,233, 62,147,153, 89, 63, 0, 0, 0, 63, 56, 54, 86, 63, 58, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 56, 54, 86, 63, 58, 23,233, 62,147,153, 89, 63,
+143,190,209, 62,239,252, 92, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 78,133, 96, 63, 55, 92,210, 62,239,252, 92, 63, 58, 23,233, 62,147,153, 89, 63,143,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63,143,190,209, 62, 56, 54, 86, 63,
+ 58, 23,233, 62,218,173, 82, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,138,238, 85, 63, 72,220,187, 62,149,153, 89, 63,201,199,165, 62,159, 68, 93, 63, 72,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159, 68, 93, 63, 72,220,187, 62,147,153, 89, 63,
+143,190,209, 62,138,238, 85, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,218,173, 82, 63, 55, 92,210, 62,138,238, 85, 63, 72,220,187, 62,147,153, 89, 63,143,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,147,153, 89, 63,143,190,209, 62,159, 68, 93, 63,
+ 72,220,187, 62, 78,133, 96, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,239,252, 92, 63, 58, 23,233, 62, 78,133, 96, 63, 55, 92,210, 62,242,131, 99, 63,218, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,131, 99, 63,218, 32,233, 62,254,255, 95, 63,
+ 24,252,255, 62,239,252, 92, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147,153, 89, 63, 0, 0, 0, 63,239,252, 92, 63, 58, 23,233, 62,254,255, 95, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,254,255, 95, 63, 24,252,255, 62,242,131, 99, 63,
+218, 32,233, 62,101,102,102, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,139,174,111, 63,223,230,198, 62,192,112,108, 63, 4,196,217, 62,133,195,105, 63, 37,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,195,105, 63, 37,135,193, 62,249, 21,109, 63,
+ 65, 54,174, 62,139,174,111, 63,223,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63,160,111,180, 62,139,174,111, 63,223,230,198, 62,249, 21,109, 63, 65, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,249, 21,109, 63, 65, 54,174, 62,133,195,105, 63,
+ 37,135,193, 62,106,187,102, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 70,117, 99, 63,155,208,189, 62,106,187,102, 63, 54,150,169, 62,133,195,105, 63, 37,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,195,105, 63, 37,135,193, 62,123,131,102, 63,
+181,159,213, 62, 70,117, 99, 63,155,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 78,133, 96, 63, 55, 92,210, 62, 70,117, 99, 63,155,208,189, 62,123,131,102, 63,181,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,131,102, 63,181,159,213, 62,133,195,105, 63,
+ 37,135,193, 62,192,112,108, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170, 97,105, 63, 65,207,236, 62,101,102,102, 63, 0, 0, 0, 63,242,131, 99, 63,218, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,131, 99, 63,218, 32,233, 62,123,131,102, 63,
+181,159,213, 62,170, 97,105, 63, 65,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192,112,108, 63, 4,196,217, 62,170, 97,105, 63, 65,207,236, 62,123,131,102, 63,181,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,131,102, 63,181,159,213, 62,242,131, 99, 63,
+218, 32,233, 62, 78,133, 96, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 70,117, 99, 63,155,208,189, 62, 78,133, 96, 63, 55, 92,210, 62,159, 68, 93, 63, 72,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,159, 68, 93, 63, 72,220,187, 62, 71, 56, 96, 63,
+ 99,190,166, 62, 70,117, 99, 63,155,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,106,187,102, 63, 54,150,169, 62, 70,117, 99, 63,155,208,189, 62, 71, 56, 96, 63, 99,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 71, 56, 96, 63, 99,190,166, 62,159, 68, 93, 63,
+ 72,220,187, 62,149,153, 89, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 33,107, 99, 63, 94,152, 9, 63, 11, 92, 96, 63,253, 29, 19, 63, 21,238, 92, 63,112,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,238, 92, 63,112,150, 9, 63,254,255, 95, 63,
+ 24,252,255, 62, 33,107, 99, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,102,102, 63, 0, 0, 0, 63, 33,107, 99, 63, 94,152, 9, 63,254,255, 95, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,254,255, 95, 63, 24,252,255, 62, 21,238, 92, 63,
+112,150, 9, 63,147,153, 89, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14, 69, 86, 63,112,150, 9, 63,147,153, 89, 63, 0, 0, 0, 63, 21,238, 92, 63,112,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21,238, 92, 63,112,150, 9, 63,143,153, 89, 63,
+219, 98, 19, 63, 14, 69, 86, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 19,215, 82, 63,252, 29, 19, 63, 14, 69, 86, 63,112,150, 9, 63,143,153, 89, 63,219, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,143,153, 89, 63,219, 98, 19, 63, 21,238, 92, 63,
+112,150, 9, 63, 11, 92, 96, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 30, 93, 63,143,140, 28, 63,139,153, 89, 63, 45,200, 37, 63,218, 20, 86, 63,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 20, 86, 63,143,140, 28, 63,143,153, 89, 63,
+219, 98, 19, 63, 63, 30, 93, 63,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 11, 92, 96, 63,253, 29, 19, 63, 63, 30, 93, 63,143,140, 28, 63,143,153, 89, 63,219, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,143,153, 89, 63,219, 98, 19, 63,218, 20, 86, 63,
+143,140, 28, 63, 19,215, 82, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14, 69, 86, 63,112,150, 9, 63, 19,215, 82, 63,252, 29, 19, 63, 1,200, 79, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1,200, 79, 63, 94,152, 9, 63, 41, 51, 83, 63,
+ 24,252,255, 62, 14, 69, 86, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147,153, 89, 63, 0, 0, 0, 63, 14, 69, 86, 63,112,150, 9, 63, 41, 51, 83, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 41, 51, 83, 63, 24,252,255, 62, 1,200, 79, 63,
+ 94,152, 9, 63,193,204, 76, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 28, 18, 61, 60,220,187, 62,151, 35,188, 60, 46, 92,210, 62,218, 74, 60, 60,150,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,218, 74, 60, 60,150,208,189, 62,195,197,197, 60,
+ 89,190,166, 62,237, 28, 18, 61, 60,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,194,205, 76, 61,186,199,165, 62,237, 28, 18, 61, 60,220,187, 62,195,197,197, 60, 89,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 23, 23,131, 63, 89,190,166, 62,150,120,129, 63,
+150,208,189, 62, 15,171,127, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,241,162,124, 63, 36,135,193, 62, 15,171,127, 63, 52,150,169, 62,150,120,129, 63,150,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,150,120,129, 63,150,208,189, 62,244,226,127, 63,
+179,159,213, 62,241,162,124, 63, 36,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,245,121, 63, 6,196,217, 62,241,162,124, 63, 36,135,193, 62,244,226,127, 63,179,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,226,127, 63,179,159,213, 62,150,120,129, 63,
+150,208,189, 62,142,240,130, 63, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 59,113,129, 63,214, 32,233, 62, 0, 0,128, 63, 0, 0, 0, 63,194, 4,125, 63, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 4,125, 63, 67,207,236, 62,244,226,127, 63,
+179,159,213, 62, 59,113,129, 63,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,142,240,130, 63, 46, 92,210, 62, 59,113,129, 63,214, 32,233, 62,244,226,127, 63,179,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,244,226,127, 63,179,159,213, 62,194, 4,125, 63,
+ 67,207,236, 62,179,245,121, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,241,162,124, 63, 36,135,193, 62,179,245,121, 63, 6,196,217, 62,239,183,118, 63,227,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,183,118, 63,227,230,198, 62,133, 80,121, 63,
+ 65, 54,174, 62,241,162,124, 63, 36,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 15,171,127, 63, 52,150,169, 62,241,162,124, 63, 36,135,193, 62,133, 80,121, 63, 65, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133, 80,121, 63, 65, 54,174, 62,239,183,118, 63,
+227,230,198, 62, 65, 51,115, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,110,157, 56, 60,214, 32,233, 62,151, 35,188, 60, 46, 92,210, 62, 95,151, 22, 61, 55, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95,151, 22, 61, 55, 23,233, 62,176,204,204, 60,
+ 24,252,255, 62,110,157, 56, 60,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,167, 79, 11, 38, 0, 0, 0, 63,110,157, 56, 60,214, 32,233, 62,176,204,204, 60, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,204,204, 60, 24,252,255, 62, 95,151, 22, 61,
+ 55, 23,233, 62,215,204, 76, 61, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 87,129,129, 61, 57, 23,233, 62,215,204, 76, 61, 0, 0, 0, 63, 95,151, 22, 61, 55, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 95,151, 22, 61, 55, 23,233, 62, 68,205, 76, 61,
+135,190,209, 62, 87,129,129, 61, 57, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 92,196,157, 61, 49, 92,210, 62, 87,129,129, 61, 57, 23,233, 62, 68,205, 76, 61,135,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68,205, 76, 61,135,190,209, 62, 95,151, 22, 61,
+ 55, 23,233, 62,151, 35,188, 60, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 28, 18, 61, 60,220,187, 62,194,205, 76, 61,186,199,165, 62, 7,191,131, 61, 62,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 7,191,131, 61, 62,220,187, 62, 68,205, 76, 61,
+135,190,209, 62,237, 28, 18, 61, 60,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,151, 35,188, 60, 46, 92,210, 62,237, 28, 18, 61, 60,220,187, 62, 68,205, 76, 61,135,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68,205, 76, 61,135,190,209, 62, 7,191,131, 61,
+ 62,220,187, 62, 92,196,157, 61, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 87,129,129, 61, 57, 23,233, 62, 92,196,157, 61, 49, 92,210, 62, 89,185,181, 61,214, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89,185,181, 61,214, 32,233, 62,154,153,153, 61,
+ 25,252,255, 62, 87,129,129, 61, 57, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,204, 76, 61, 0, 0, 0, 63, 87,129,129, 61, 57, 23,233, 62,154,153,153, 61, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,153, 61, 25,252,255, 62, 89,185,181, 61,
+214, 32,233, 62,215,204,204, 61, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 1,135, 11, 62,228,230,198, 62,171, 31,253, 61, 6,196,217, 62,251,181,231, 61, 38,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,181,231, 61, 38,135,193, 62,204, 36, 1, 62,
+ 70, 54,174, 62, 1,135, 11, 62,228,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,165,111,180, 62, 1,135, 11, 62,228,230,198, 62,204, 36, 1, 62, 70, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 36, 1, 62, 70, 54,174, 62,251,181,231, 61,
+ 38,135,193, 62, 70,117,207, 61, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 35, 68,181, 61,153,208,189, 62, 70,117,207, 61, 54,150,169, 62,251,181,231, 61, 38,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,181,231, 61, 38,135,193, 62,164,181,205, 61,
+180,159,213, 62, 35, 68,181, 61,153,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 92,196,157, 61, 49, 92,210, 62, 35, 68,181, 61,153,208,189, 62,164,181,205, 61,180,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,181,205, 61,180,159,213, 62,251,181,231, 61,
+ 38,135,193, 62,171, 31,253, 61, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,251,166,228, 61, 67,207,236, 62,215,204,204, 61, 0, 0, 0, 63, 89,185,181, 61,214, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89,185,181, 61,214, 32,233, 62,164,181,205, 61,
+180,159,213, 62,251,166,228, 61, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,171, 31,253, 61, 6,196,217, 62,251,166,228, 61, 67,207,236, 62,164,181,205, 61,180,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,181,205, 61,180,159,213, 62, 89,185,181, 61,
+214, 32,233, 62, 92,196,157, 61, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 35, 68,181, 61,153,208,189, 62, 92,196,157, 61, 49, 92,210, 62, 7,191,131, 61, 62,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 7,191,131, 61, 62,220,187, 62, 79, 92,155, 61,
+ 91,190,166, 62, 35, 68,181, 61,153,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 70,117,207, 61, 54,150,169, 62, 35, 68,181, 61,153,208,189, 62, 79, 92,155, 61, 91,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 79, 92,155, 61, 91,190,166, 62, 7,191,131, 61,
+ 62,220,187, 62,194,205, 76, 61,186,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,172,242,180, 61, 96,152, 9, 63, 1,122,156, 61,254, 29, 19, 63,100, 10,129, 61,113,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,100, 10,129, 61,113,150, 9, 63,154,153,153, 61,
+ 25,252,255, 62,172,242,180, 61, 96,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,204,204, 61, 0, 0, 0, 63,172,242,180, 61, 96,152, 9, 63,154,153,153, 61, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,153, 61, 25,252,255, 62,100, 10,129, 61,
+113,150, 9, 63,215,204, 76, 61, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,109,132, 23, 61,113,150, 9, 63,215,204, 76, 61, 0, 0, 0, 63,100, 10,129, 61,113,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,100, 10,129, 61,113,150, 9, 63, 91,204, 76, 61,
+220, 98, 19, 63,109,132, 23, 61,113,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,174, 73,193, 60,253, 29, 19, 63,109,132, 23, 61,113,150, 9, 63, 91,204, 76, 61,220, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,204, 76, 61,220, 98, 19, 63,100, 10,129, 61,
+113,150, 9, 63, 1,122,156, 61,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,166,139,130, 61,145,140, 28, 63,246,203, 76, 61, 48,200, 37, 63, 13,129, 20, 61,143,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 13,129, 20, 61,143,140, 28, 63, 91,204, 76, 61,
+220, 98, 19, 63,166,139,130, 61,145,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 1,122,156, 61,254, 29, 19, 63,166,139,130, 61,145,140, 28, 63, 91,204, 76, 61,220, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,204, 76, 61,220, 98, 19, 63, 13,129, 20, 61,
+143,140, 28, 63,174, 73,193, 60,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,109,132, 23, 61,113,150, 9, 63,174, 73,193, 60,253, 29, 19, 63,114,207, 62, 60, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114,207, 62, 60, 94,152, 9, 63,176,204,204, 60,
+ 24,252,255, 62,109,132, 23, 61,113,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,204, 76, 61, 0, 0, 0, 63,109,132, 23, 61,113,150, 9, 63,176,204,204, 60, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,176,204,204, 60, 24,252,255, 62,114,207, 62, 60,
+ 94,152, 9, 63,167, 79, 11, 38, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 83,113, 62, 79,220,187, 62, 63, 81,100, 62, 60, 92,210, 62,110,145, 88, 62,167,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,110,145, 88, 62,167,208,189, 62, 91,133,101, 62,
+112,190,166, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,206,199,165, 62,237, 83,113, 62, 79,220,187, 62, 91,133,101, 62,112,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 91,133,101, 62,112,190,166, 62,110,145, 88, 62,
+167,208,189, 62,239,120, 75, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,144, 88, 63, 62, 46,135,193, 62,239,120, 75, 62, 70,150,169, 62,110,145, 88, 62,167,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,110,145, 88, 62,167,208,189, 62,170, 88, 76, 62,
+187,159,213, 62,144, 88, 63, 62, 46,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,163, 52, 62, 7,196,217, 62,144, 88, 63, 62, 46,135,193, 62,170, 88, 76, 62,187,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 88, 76, 62,187,159,213, 62,110,145, 88, 62,
+167,208,189, 62, 63, 81,100, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,190, 86, 88, 62,221, 32,233, 62,254,204, 76, 62, 0, 0, 0, 63,251,223, 64, 62, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,223, 64, 62, 67,207,236, 62,170, 88, 76, 62,
+187,159,213, 62,190, 86, 88, 62,221, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 81,100, 62, 60, 92,210, 62,190, 86, 88, 62,221, 32,233, 62,170, 88, 76, 62,187,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,170, 88, 76, 62,187,159,213, 62,251,223, 64, 62,
+ 67,207,236, 62,179,163, 52, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,144, 88, 63, 62, 46,135,193, 62,179,163, 52, 62, 7,196,217, 62,153,172, 39, 62,230,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,153,172, 39, 62,230,230,198, 62,213, 14, 50, 62,
+ 78, 54,174, 62,144, 88, 63, 62, 46,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,239,120, 75, 62, 70,150,169, 62,144, 88, 63, 62, 46,135,193, 62,213, 14, 50, 62, 78, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213, 14, 50, 62, 78, 54,174, 62,153,172, 39, 62,
+230,230,198, 62,214,153, 25, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,190, 86, 88, 62,221, 32,233, 62, 63, 81,100, 62, 60, 92,210, 62,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,114,114, 62, 63, 23,233, 62,126,102,102, 62,
+ 25,252,255, 62,190, 86, 88, 62,221, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,254,204, 76, 62, 0, 0, 0, 63,190, 86, 88, 62,221, 32,233, 62,126,102,102, 62, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,126,102,102, 62, 25,252,255, 62,166,114,114, 62,
+ 63, 23,233, 62, 0, 0,128, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 62, 0, 0, 0, 63,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,166,114,114, 62, 63, 23,233, 62, 0, 0,128, 62,
+149,190,209, 62,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 97,215,141, 62, 60, 92,210, 62,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 62,149,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,149,190,209, 62,166,114,114, 62,
+ 63, 23,233, 62, 63, 81,100, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 62,206,199,165, 62, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 62,
+149,190,209, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 81,100, 62, 60, 92,210, 62,237, 83,113, 62, 79,220,187, 62, 0, 0,128, 62,149,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,149,190,209, 62, 9, 86,135, 62,
+ 79,220,187, 62, 97,215,141, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,173,198,134, 62, 63, 23,233, 62, 97,215,141, 62, 60, 92,210, 62,161,212,147, 62,221, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,161,212,147, 62,221, 32,233, 62,193,204,140, 62,
+ 25,252,255, 62,173,198,134, 62, 63, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63,173,198,134, 62, 63, 23,233, 62,193,204,140, 62, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,193,204,140, 62, 25,252,255, 62,161,212,147, 62,
+221, 32,233, 62,129,153,153, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,180, 41,172, 62,227,230,198, 62, 39,174,165, 62, 7,196,217, 62,184, 83,160, 62, 46,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184, 83,160, 62, 46,135,193, 62,150,248,166, 62,
+ 78, 54,174, 62,180, 41,172, 62,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,165,111,180, 62,180, 41,172, 62,227,230,198, 62,150,248,166, 62, 78, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,150,248,166, 62, 78, 54,174, 62,184, 83,160, 62,
+ 46,135,193, 62,137, 67,154, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 73,183,147, 62,167,208,189, 62,137, 67,154, 62, 70,150,169, 62,184, 83,160, 62, 46,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184, 83,160, 62, 46,135,193, 62,171,211,153, 62,
+187,159,213, 62, 73,183,147, 62,167,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 97,215,141, 62, 60, 92,210, 62, 73,183,147, 62,167,208,189, 62,171,211,153, 62,187,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,211,153, 62,187,159,213, 62,184, 83,160, 62,
+ 46,135,193, 62, 39,174,165, 62, 7,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 3,144,159, 62, 67,207,236, 62,129,153,153, 62, 0, 0, 0, 63,161,212,147, 62,221, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,161,212,147, 62,221, 32,233, 62,171,211,153, 62,
+187,159,213, 62, 3,144,159, 62, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 39,174,165, 62, 7,196,217, 62, 3,144,159, 62, 67,207,236, 62,171,211,153, 62,187,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,211,153, 62,187,159,213, 62,161,212,147, 62,
+221, 32,233, 62, 97,215,141, 62, 60, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 73,183,147, 62,167,208,189, 62, 97,215,141, 62, 60, 92,210, 62, 9, 86,135, 62, 79,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9, 86,135, 62, 79,220,187, 62, 82, 61,141, 62,
+112,190,166, 62, 73,183,147, 62,167,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,137, 67,154, 62, 70,150,169, 62, 73,183,147, 62,167,208,189, 62, 82, 61,141, 62,112,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 82, 61,141, 62,112,190,166, 62, 9, 86,135, 62,
+ 79,220,187, 62, 0, 0,128, 62,206,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 1,163,147, 62, 91,152, 9, 63,224,132,141, 62,246, 29, 19, 63,251,168,134, 62,107,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,168,134, 62,107,150, 9, 63,193,204,140, 62,
+ 25,252,255, 62, 1,163,147, 62, 91,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129,153,153, 62, 0, 0, 0, 63, 1,163,147, 62, 91,152, 9, 63,193,204,140, 62, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,193,204,140, 62, 25,252,255, 62,251,168,134, 62,
+107,150, 9, 63, 0, 0,128, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 62, 0, 0, 0, 63,251,168,134, 62,107,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,251,168,134, 62,107,150, 9, 63, 0, 0,128, 62,
+209, 98, 19, 63, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64,246,100, 62,246, 29, 19, 63, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 62,209, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,209, 98, 19, 63,251,168,134, 62,
+107,150, 9, 63,224,132,141, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 62, 23,200, 37, 63, 83,237,113, 62,130,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 83,237,113, 62,130,140, 28, 63, 0, 0,128, 62,
+209, 98, 19, 63, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,224,132,141, 62,246, 29, 19, 63, 86, 9,135, 62,130,140, 28, 63, 0, 0,128, 62,209, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 62,209, 98, 19, 63, 83,237,113, 62,
+130,140, 28, 63, 64,246,100, 62,246, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 11,174,114, 62,107,150, 9, 63, 64,246,100, 62,246, 29, 19, 63,255,185, 88, 62, 90,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,255,185, 88, 62, 90,152, 9, 63,126,102,102, 62,
+ 25,252,255, 62, 11,174,114, 62,107,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63, 11,174,114, 62,107,150, 9, 63,126,102,102, 62, 25,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,126,102,102, 62, 25,252,255, 62,255,185, 88, 62,
+ 90,152, 9, 63,254,204, 76, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 16,223, 62, 62,220,187, 62,233,142,216, 62, 49, 92,210, 62,248,174,210, 62,153,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,248,174,210, 62,153,208,189, 62,237, 40,217, 62,
+ 91,190,166, 62, 63, 16,223, 62, 62,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62,183,199,165, 62, 63, 16,223, 62, 62,220,187, 62,237, 40,217, 62, 91,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,237, 40,217, 62, 91,190,166, 62,248,174,210, 62,
+153,208,189, 62,175, 34,204, 62, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129, 18,198, 62, 37,135,193, 62,175, 34,204, 62, 54,150,169, 62,248,174,210, 62,153,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,248,174,210, 62,153,208,189, 62,151,146,204, 62,
+180,159,213, 62,129, 18,198, 62, 37,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,184,192, 62, 6,196,217, 62,129, 18,198, 62, 37,135,193, 62,151,146,204, 62,180,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,151,146,204, 62,180,159,213, 62,248,174,210, 62,
+153,208,189, 62,233,142,216, 62, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,145,210, 62,214, 32,233, 62,202,204,204, 62, 0, 0, 0, 63, 65,214,198, 62, 67,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65,214,198, 62, 67,207,236, 62,151,146,204, 62,
+180,159,213, 62,170,145,210, 62,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,233,142,216, 62, 49, 92,210, 62,170,145,210, 62,214, 32,233, 62,151,146,204, 62,180,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,151,146,204, 62,180,159,213, 62, 65,214,198, 62,
+ 67,207,236, 62, 21,184,192, 62, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,129, 18,198, 62, 37,135,193, 62, 21,184,192, 62, 6,196,217, 62,127, 60,186, 62,225,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,127, 60,186, 62,225,230,198, 62,154,109,191, 62,
+ 68, 54,174, 62,129, 18,198, 62, 37,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,175, 34,204, 62, 54,150,169, 62,129, 18,198, 62, 37,135,193, 62,154,109,191, 62, 68, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,109,191, 62, 68, 54,174, 62,127, 60,186, 62,
+225,230,198, 62, 21, 51,179, 62,165,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,170,145,210, 62,214, 32,233, 62,233,142,216, 62, 49, 92,210, 62,171,159,223, 62, 57, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,159,223, 62, 57, 23,233, 62,154,153,217, 62,
+ 24,252,255, 62,170,145,210, 62,214, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,202,204,204, 62, 0, 0, 0, 63,170,145,210, 62,214, 32,233, 62,154,153,217, 62, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,217, 62, 24,252,255, 62,171,159,223, 62,
+ 57, 23,233, 62,101,102,230, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 20, 45,237, 62, 55, 23,233, 62,101,102,230, 62, 0, 0, 0, 63,171,159,223, 62, 57, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,171,159,223, 62, 57, 23,233, 62, 88,102,230, 62,
+135,190,209, 62, 20, 45,237, 62, 55, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,199, 61,244, 62, 46, 92,210, 62, 20, 45,237, 62, 55, 23,233, 62, 88,102,230, 62,135,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,102,230, 62,135,190,209, 62,171,159,223, 62,
+ 57, 23,233, 62,233,142,216, 62, 49, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 16,223, 62, 62,220,187, 62, 72,102,230, 62,183,199,165, 62, 99,188,237, 62, 60,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 99,188,237, 62, 60,220,187, 62, 88,102,230, 62,
+135,190,209, 62, 63, 16,223, 62, 62,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,233,142,216, 62, 49, 92,210, 62, 63, 16,223, 62, 62,220,187, 62, 88,102,230, 62,135,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 88,102,230, 62,135,190,209, 62, 99,188,237, 62,
+ 60,220,187, 62,199, 61,244, 62, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 20, 45,237, 62, 55, 23,233, 62,199, 61,244, 62, 46, 92,210, 62, 21, 59,250, 62,213, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 59,250, 62,213, 32,233, 62, 53, 51,243, 62,
+ 24,252,255, 62, 20, 45,237, 62, 55, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,102,230, 62, 0, 0, 0, 63, 20, 45,237, 62, 55, 23,233, 62, 53, 51,243, 62, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 51,243, 62, 24,252,255, 62, 21, 59,250, 62,
+213, 32,233, 62, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 17, 72, 9, 63,227,230,198, 62, 77, 10, 6, 63, 6,196,217, 62, 15, 93, 3, 63, 36,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 93, 3, 63, 36,135,193, 62,123,175, 6, 63,
+ 65, 54,174, 62, 17, 72, 9, 63,227,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63,160,111,180, 62, 17, 72, 9, 63,227,230,198, 62,123,175, 6, 63, 65, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,123,175, 6, 63, 65, 54,174, 62, 15, 93, 3, 63,
+ 36,135,193, 62,241, 84, 0, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,169, 29,250, 62,150,208,189, 62,241, 84, 0, 63, 52,150,169, 62, 15, 93, 3, 63, 36,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 93, 3, 63, 36,135,193, 62, 12, 29, 0, 63,
+179,159,213, 62,169, 29,250, 62,150,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,199, 61,244, 62, 46, 92,210, 62,169, 29,250, 62,150,208,189, 62, 12, 29, 0, 63,179,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 29, 0, 63,179,159,213, 62, 15, 93, 3, 63,
+ 36,135,193, 62, 77, 10, 6, 63, 6,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 62,251, 2, 63, 67,207,236, 62, 0, 0, 0, 63, 0, 0, 0, 63, 21, 59,250, 62,213, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 59,250, 62,213, 32,233, 62, 12, 29, 0, 63,
+179,159,213, 62, 62,251, 2, 63, 67,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 77, 10, 6, 63, 6,196,217, 62, 62,251, 2, 63, 67,207,236, 62, 12, 29, 0, 63,179,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 29, 0, 63,179,159,213, 62, 21, 59,250, 62,
+213, 32,233, 62,199, 61,244, 62, 46, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,169, 29,250, 62,150,208,189, 62,199, 61,244, 62, 46, 92,210, 62, 99,188,237, 62, 60,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 99,188,237, 62, 60,220,187, 62,164,163,243, 62,
+ 89,190,166, 62,169, 29,250, 62,150,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,241, 84, 0, 63, 52,150,169, 62,169, 29,250, 62,150,208,189, 62,164,163,243, 62, 89,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,164,163,243, 62, 89,190,166, 62, 99,188,237, 62,
+ 60,220,187, 62, 72,102,230, 62,183,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,132, 9,250, 62, 94,152, 9, 63,101,235,243, 62,252, 29, 19, 63,114, 15,237, 62,113,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114, 15,237, 62,113,150, 9, 63, 53, 51,243, 62,
+ 24,252,255, 62,132, 9,250, 62, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,132, 9,250, 62, 94,152, 9, 63, 53, 51,243, 62, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 51,243, 62, 24,252,255, 62,114, 15,237, 62,
+113,150, 9, 63,101,102,230, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,103,189,223, 62,112,150, 9, 63,101,102,230, 62, 0, 0, 0, 63,114, 15,237, 62,113,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114, 15,237, 62,113,150, 9, 63,117,102,230, 62,
+220, 98, 19, 63,103,189,223, 62,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,128,225,216, 62,254, 29, 19, 63,103,189,223, 62,112,150, 9, 63,117,102,230, 62,220, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102,230, 62,220, 98, 19, 63,114, 15,237, 62,
+113,150, 9, 63,101,235,243, 62,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,222,111,237, 62,143,140, 28, 63,129,102,230, 62, 48,200, 37, 63, 22, 93,223, 62,145,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 93,223, 62,145,140, 28, 63,117,102,230, 62,
+220, 98, 19, 63,222,111,237, 62,143,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,235,243, 62,252, 29, 19, 63,222,111,237, 62,143,140, 28, 63,117,102,230, 62,220, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117,102,230, 62,220, 98, 19, 63, 22, 93,223, 62,
+145,140, 28, 63,128,225,216, 62,254, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,103,189,223, 62,112,150, 9, 63,128,225,216, 62,254, 29, 19, 63, 85,195,210, 62, 96,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,195,210, 62, 96,152, 9, 63,154,153,217, 62,
+ 24,252,255, 62,103,189,223, 62,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,101,102,230, 62, 0, 0, 0, 63,103,189,223, 62,112,150, 9, 63,154,153,217, 62, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,154,153,217, 62, 24,252,255, 62, 85,195,210, 62,
+ 96,152, 9, 63,202,204,204, 62, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 97,187, 34, 63, 72,220,187, 62,178,122, 31, 63, 55, 92,210, 62,186,138, 28, 63,155,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,186,138, 28, 63,155,208,189, 62,185,199, 31, 63,
+ 96,190,166, 62, 97,187, 34, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,107,102, 38, 63,201,199,165, 62, 97,187, 34, 63, 72,220,187, 62,185,199, 31, 63, 96,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,185,199, 31, 63, 96,190,166, 62,186,138, 28, 63,
+155,208,189, 62,150, 68, 25, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,123, 60, 22, 63, 36,135,193, 62,150, 68, 25, 63, 54,150,169, 62,186,138, 28, 63,155,208,189, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,186,138, 28, 63,155,208,189, 62,133,124, 25, 63,
+181,159,213, 62,123, 60, 22, 63, 36,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64,143, 19, 63, 4,196,217, 62,123, 60, 22, 63, 36,135,193, 62,133,124, 25, 63,181,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,124, 25, 63,181,159,213, 62,186,138, 28, 63,
+155,208,189, 62,178,122, 31, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,124, 28, 63,218, 32,233, 62,155,153, 25, 63, 0, 0, 0, 63, 86,158, 22, 63, 65,207,236, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,158, 22, 63, 65,207,236, 62,133,124, 25, 63,
+181,159,213, 62, 14,124, 28, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,178,122, 31, 63, 55, 92,210, 62, 14,124, 28, 63,218, 32,233, 62,133,124, 25, 63,181,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,133,124, 25, 63,181,159,213, 62, 86,158, 22, 63,
+ 65,207,236, 62, 64,143, 19, 63, 4,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,123, 60, 22, 63, 36,135,193, 62, 64,143, 19, 63, 4,196,217, 62,117, 81, 16, 63,223,230,198, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,117, 81, 16, 63,223,230,198, 62, 7,234, 18, 63,
+ 65, 54,174, 62,123, 60, 22, 63, 36,135,193, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,150, 68, 25, 63, 54,150,169, 62,123, 60, 22, 63, 36,135,193, 62, 7,234, 18, 63, 65, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 7,234, 18, 63, 65, 54,174, 62,117, 81, 16, 63,
+223,230,198, 62,191,204, 12, 63,160,111,180, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,124, 28, 63,218, 32,233, 62,178,122, 31, 63, 55, 92,210, 62, 17, 3, 35, 63, 58, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 3, 35, 63, 58, 23,233, 62, 2, 0, 32, 63,
+ 24,252,255, 62, 14,124, 28, 63,218, 32,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,155,153, 25, 63, 0, 0, 0, 63, 14,124, 28, 63,218, 32,233, 62, 2, 0, 32, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 32, 63, 24,252,255, 62, 17, 3, 35, 63,
+ 58, 23,233, 62,109,102, 38, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,200,201, 41, 63, 58, 23,233, 62,109,102, 38, 63, 0, 0, 0, 63, 17, 3, 35, 63, 58, 23,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 3, 35, 63, 58, 23,233, 62,109,102, 38, 63,
+143,190,209, 62,200,201, 41, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 82, 45, 63, 55, 92,210, 62,200,201, 41, 63, 58, 23,233, 62,109,102, 38, 63,143,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63,143,190,209, 62, 17, 3, 35, 63,
+ 58, 23,233, 62,178,122, 31, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 97,187, 34, 63, 72,220,187, 62,107,102, 38, 63,201,199,165, 62,118, 17, 42, 63, 72,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118, 17, 42, 63, 72,220,187, 62,109,102, 38, 63,
+143,190,209, 62, 97,187, 34, 63, 72,220,187, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,178,122, 31, 63, 55, 92,210, 62, 97,187, 34, 63, 72,220,187, 62,109,102, 38, 63,143,190,209, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,109,102, 38, 63,143,190,209, 62,118, 17, 42, 63,
+ 72,220,187, 62, 38, 82, 45, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,200,201, 41, 63, 58, 23,233, 62, 38, 82, 45, 63, 55, 92,210, 62,204, 80, 48, 63,218, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 80, 48, 63,218, 32,233, 62,215,204, 44, 63,
+ 23,252,255, 62,200,201, 41, 63, 58, 23,233, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,109,102, 38, 63, 0, 0, 0, 63,200,201, 41, 63, 58, 23,233, 62,215,204, 44, 63, 23,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 44, 63, 23,252,255, 62,204, 80, 48, 63,
+218, 32,233, 62, 63, 51, 51, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 85,123, 60, 63,253,230,198, 62,144, 61, 57, 63, 19,196,217, 62, 86,144, 54, 63, 68,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,144, 54, 63, 68,135,193, 62,196,226, 57, 63,
+114, 54,174, 62, 85,123, 60, 63,253,230,198, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,211,111,180, 62, 85,123, 60, 63,253,230,198, 62,196,226, 57, 63,114, 54,174, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,196,226, 57, 63,114, 54,174, 62, 86,144, 54, 63,
+ 68,135,193, 62, 58,136, 51, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 27, 66, 48, 63,173,208,189, 62, 58,136, 51, 63, 90,150,169, 62, 86,144, 54, 63, 68,135,193, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 86,144, 54, 63, 68,135,193, 62, 80, 80, 51, 63,
+192,159,213, 62, 27, 66, 48, 63,173,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38, 82, 45, 63, 55, 92,210, 62, 27, 66, 48, 63,173,208,189, 62, 80, 80, 51, 63,192,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80, 80, 51, 63,192,159,213, 62, 86,144, 54, 63,
+ 68,135,193, 62,144, 61, 57, 63, 19,196,217, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,128, 46, 54, 63, 75,207,236, 62, 63, 51, 51, 63, 0, 0, 0, 63,204, 80, 48, 63,218, 32,233, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,204, 80, 48, 63,218, 32,233, 62, 80, 80, 51, 63,
+192,159,213, 62,128, 46, 54, 63, 75,207,236, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,144, 61, 57, 63, 19,196,217, 62,128, 46, 54, 63, 75,207,236, 62, 80, 80, 51, 63,192,159,213, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80, 80, 51, 63,192,159,213, 62,204, 80, 48, 63,
+218, 32,233, 62, 38, 82, 45, 63, 55, 92,210, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 27, 66, 48, 63,173,208,189, 62, 38, 82, 45, 63, 55, 92,210, 62,118, 17, 42, 63, 72,220,187, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,118, 17, 42, 63, 72,220,187, 62, 26, 5, 45, 63,
+117,190,166, 62, 27, 66, 48, 63,173,208,189, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 58,136, 51, 63, 90,150,169, 62, 27, 66, 48, 63,173,208,189, 62, 26, 5, 45, 63,117,190,166, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 26, 5, 45, 63,117,190,166, 62,118, 17, 42, 63,
+ 72,220,187, 62,107,102, 38, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,255, 55, 48, 63, 94,152, 9, 63,237, 40, 45, 63,252, 29, 19, 63,242,186, 41, 63,112,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,186, 41, 63,112,150, 9, 63,215,204, 44, 63,
+ 23,252,255, 62,255, 55, 48, 63, 94,152, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63, 51, 51, 63, 0, 0, 0, 63,255, 55, 48, 63, 94,152, 9, 63,215,204, 44, 63, 23,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,215,204, 44, 63, 23,252,255, 62,242,186, 41, 63,
+112,150, 9, 63,109,102, 38, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,235, 17, 35, 63,112,150, 9, 63,109,102, 38, 63, 0, 0, 0, 63,242,186, 41, 63,112,150, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,242,186, 41, 63,112,150, 9, 63,113,102, 38, 63,
+219, 98, 19, 63,235, 17, 35, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,245,163, 31, 63,253, 29, 19, 63,235, 17, 35, 63,112,150, 9, 63,113,102, 38, 63,219, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,102, 38, 63,219, 98, 19, 63,242,186, 41, 63,
+112,150, 9, 63,237, 40, 45, 63,252, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 38,235, 41, 63,141,140, 28, 63,117,102, 38, 63, 45,200, 37, 63,192,225, 34, 63,142,140, 28, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,192,225, 34, 63,142,140, 28, 63,113,102, 38, 63,
+219, 98, 19, 63, 38,235, 41, 63,141,140, 28, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 40, 45, 63,252, 29, 19, 63, 38,235, 41, 63,141,140, 28, 63,113,102, 38, 63,219, 98, 19, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,102, 38, 63,219, 98, 19, 63,192,225, 34, 63,
+142,140, 28, 63,245,163, 31, 63,253, 29, 19, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,235, 17, 35, 63,112,150, 9, 63,245,163, 31, 63,253, 29, 19, 63,223,148, 28, 63, 94,152, 9, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,223,148, 28, 63, 94,152, 9, 63, 2, 0, 32, 63,
+ 24,252,255, 62,235, 17, 35, 63,112,150, 9, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,109,102, 38, 63, 0, 0, 0, 63,235, 17, 35, 63,112,150, 9, 63, 2, 0, 32, 63, 24,252,255, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 0, 32, 63, 24,252,255, 62,223,148, 28, 63,
+ 94,152, 9, 63,155,153, 25, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188,129,107, 63, 66, 45,128, 62,235, 71, 99, 63,222, 76,120, 62, 94, 37,106, 63, 84, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94, 37,106, 63, 84, 97, 83, 62, 65, 51,115, 63,
+248,151, 97, 62,188,129,107, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63,151, 83,135, 62,188,129,107, 63, 66, 45,128, 62, 65, 51,115, 63,248,151, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,248,151, 97, 62, 94, 37,106, 63,
+ 84, 97, 83, 62, 65, 51,115, 63, 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188,129,107, 63, 66, 45,128, 62, 65, 51,115, 63,151, 83,135, 62,142,123,108, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,142,123,108, 63,169,144,151, 62,231, 50,101, 63,
+ 17,201,146, 62,188,129,107, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,235, 71, 99, 63,222, 76,120, 62,188,129,107, 63, 66, 45,128, 62,231, 50,101, 63, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231, 50,101, 63, 17,201,146, 62,142,123,108, 63,
+169,144,151, 62,106,187,102, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 71, 56, 96, 63, 99,190,166, 62,149,153, 89, 63,201,199,165, 62, 22,238, 93, 63,243,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,238, 93, 63,243,101,144, 62,231, 50,101, 63,
+ 17,201,146, 62, 71, 56, 96, 63, 99,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,106,187,102, 63, 54,150,169, 62, 71, 56, 96, 63, 99,190,166, 62,231, 50,101, 63, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231, 50,101, 63, 17,201,146, 62, 22,238, 93, 63,
+243,101,144, 62,235, 71, 99, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,249, 21,109, 63, 65, 54,174, 62,106,187,102, 63, 54,150,169, 62,142,123,108, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,142,123,108, 63,169,144,151, 62, 65, 51,115, 63,
+ 93,231,157, 62,249, 21,109, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63,160,111,180, 62,249, 21,109, 63, 65, 54,174, 62, 65, 51,115, 63, 93,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 93,231,157, 62,142,123,108, 63,
+169,144,151, 62, 65, 51,115, 63,151, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,149,153, 89, 63, 79,162,115, 62,235, 71, 99, 63,222, 76,120, 62, 22,238, 93, 63,243,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,238, 93, 63,243,101,144, 62, 21, 69, 85, 63,
+ 3,102,144, 62,149,153, 89, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68,235, 79, 63, 37, 77,120, 62,149,153, 89, 63, 79,162,115, 62, 21, 69, 85, 63, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 69, 85, 63, 3,102,144, 62, 22,238, 93, 63,
+243,101,144, 62,149,153, 89, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,149,153, 89, 63, 79,162,115, 62, 68,235, 79, 63, 37, 77,120, 62, 24,186, 83, 63,245,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 24,186, 83, 63,245,176, 70, 62, 22,121, 95, 63,
+204,176, 70, 62,149,153, 89, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,235, 71, 99, 63,222, 76,120, 62,149,153, 89, 63, 79,162,115, 62, 22,121, 95, 63,204,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,121, 95, 63,204,176, 70, 62, 24,186, 83, 63,
+245,176, 70, 62,152,153, 89, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 61,119,103, 63,179,253, 30, 62, 65, 51,115, 63, 90,111, 52, 62, 94, 37,106, 63, 84, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 94, 37,106, 63, 84, 97, 83, 62, 22,121, 95, 63,
+204,176, 70, 62, 61,119,103, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152,153, 89, 63,198, 31, 23, 62, 61,119,103, 63,179,253, 30, 62, 22,121, 95, 63,204,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22,121, 95, 63,204,176, 70, 62, 94, 37,106, 63,
+ 84, 97, 83, 62,235, 71, 99, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,248,187, 75, 63,241,253, 30, 62,152,153, 89, 63,198, 31, 23, 62, 24,186, 83, 63,245,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 24,186, 83, 63,245,176, 70, 62,214, 13, 73, 63,
+181, 97, 83, 62,248,187, 75, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,202,111, 52, 62,248,187, 75, 63,241,253, 30, 62,214, 13, 73, 63,181, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214, 13, 73, 63,181, 97, 83, 62, 24,186, 83, 63,
+245,176, 70, 62, 68,235, 79, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152,153, 89, 63,111, 41,147, 61, 0, 0, 64, 63,195,111,180, 61, 0, 0, 64, 63,111, 65, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,111, 65, 52, 61, 38, 49,117, 63,
+225, 64, 52, 61,152,153, 89, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63, 83,111,180, 61,152,153, 89, 63,111, 41,147, 61, 38, 49,117, 63,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 49,117, 63,225, 64, 52, 61, 0, 0, 64, 63,
+111, 65, 52, 61,208,222,121, 63,102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152,153, 89, 63,111, 41,147, 61, 65, 51,115, 63, 83,111,180, 61,172, 51, 99, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172, 51, 99, 63, 48, 46,231, 61,135,255, 79, 63,
+120, 46,231, 61,152,153, 89, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,195,111,180, 61,152,153, 89, 63,111, 41,147, 61,135,255, 79, 63,120, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135,255, 79, 63,120, 46,231, 61,172, 51, 99, 63,
+ 48, 46,231, 61,152,153, 89, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,248,187, 75, 63,241,253, 30, 62, 0, 0, 64, 63,202,111, 52, 62, 0, 0, 64, 63, 24, 71, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 24, 71, 7, 62,135,255, 79, 63,
+120, 46,231, 61,248,187, 75, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,152,153, 89, 63,198, 31, 23, 62,248,187, 75, 63,241,253, 30, 62,135,255, 79, 63,120, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,135,255, 79, 63,120, 46,231, 61, 0, 0, 64, 63,
+ 24, 71, 7, 62, 0, 0, 64, 63,195,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 61,119,103, 63,179,253, 30, 62,152,153, 89, 63,198, 31, 23, 62,172, 51, 99, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,172, 51, 99, 63, 48, 46,231, 61, 66, 51,115, 63,
+199, 70, 7, 62, 61,119,103, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63, 90,111, 52, 62, 61,119,103, 63,179,253, 30, 62, 66, 51,115, 63,199, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 66, 51,115, 63,199, 70, 7, 62,172, 51, 99, 63,
+ 48, 46,231, 61, 65, 51,115, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,122,177, 71, 63,120, 45,128, 62, 0, 0, 64, 63,218, 83,135, 62, 0, 0, 64, 63,115,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,115,152, 97, 62,214, 13, 73, 63,
+181, 97, 83, 62,122,177, 71, 63,120, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68,235, 79, 63, 37, 77,120, 62,122,177, 71, 63,120, 45,128, 62,214, 13, 73, 63,181, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,214, 13, 73, 63,181, 97, 83, 62, 0, 0, 64, 63,
+115,152, 97, 62, 0, 0, 64, 63,202,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,122,177, 71, 63,120, 45,128, 62, 68,235, 79, 63, 37, 77,120, 62, 72, 0, 78, 63, 52,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 72, 0, 78, 63, 52,201,146, 62,169,183, 70, 63,
+219,144,151, 62,122,177, 71, 63,120, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,218, 83,135, 62,122,177, 71, 63,120, 45,128, 62,169,183, 70, 63,219,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,183, 70, 63,219,144,151, 62, 72, 0, 78, 63,
+ 52,201,146, 62,198,119, 76, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 61, 29, 70, 63,114, 54,174, 62, 0, 0, 64, 63,211,111,180, 62, 0, 0, 64, 63,162,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,162,231,157, 62,169,183, 70, 63,
+219,144,151, 62, 61, 29, 70, 63,114, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198,119, 76, 63, 90,150,169, 62, 61, 29, 70, 63,114, 54,174, 62,169,183, 70, 63,219,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,169,183, 70, 63,219,144,151, 62, 0, 0, 64, 63,
+162,231,157, 62, 0, 0, 64, 63,218, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,230,250, 82, 63,117,190,166, 62,198,119, 76, 63, 90,150,169, 62, 72, 0, 78, 63, 52,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 72, 0, 78, 63, 52,201,146, 62, 21, 69, 85, 63,
+ 3,102,144, 62,230,250, 82, 63,117,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,149,153, 89, 63,201,199,165, 62,230,250, 82, 63,117,190,166, 62, 21, 69, 85, 63, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 69, 85, 63, 3,102,144, 62, 72, 0, 78, 63,
+ 52,201,146, 62, 68,235, 79, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,167,245, 61, 72, 45,128, 62, 94,217,179, 61,222, 76,120, 62,202,196,234, 61,100, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,196,234, 61,100, 97, 83, 62,212,153, 25, 62,
+ 2,152, 97, 62,179,167,245, 61, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,156, 83,135, 62,179,167,245, 61, 72, 45,128, 62,212,153, 25, 62, 2,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,153, 25, 62, 2,152, 97, 62,202,196,234, 61,
+100, 97, 83, 62,214,153, 25, 62,106,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,179,167,245, 61, 72, 45,128, 62,214,153, 25, 62,156, 83,135, 62, 62,118,253, 61,174,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 62,118,253, 61,174,144,151, 62, 53, 49,195, 61,
+ 17,201,146, 62,179,167,245, 61, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 94,217,179, 61,222, 76,120, 62,179,167,245, 61, 72, 45,128, 62, 53, 49,195, 61, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 49,195, 61, 17,201,146, 62, 62,118,253, 61,
+174,144,151, 62, 70,117,207, 61, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 79, 92,155, 61, 91,190,166, 62,194,205, 76, 61,186,199,165, 62,212, 10,137, 61,238,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212, 10,137, 61,238,101,144, 62, 53, 49,195, 61,
+ 17,201,146, 62, 79, 92,155, 61, 91,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 70,117,207, 61, 54,150,169, 62, 79, 92,155, 61, 91,190,166, 62, 53, 49,195, 61, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 53, 49,195, 61, 17,201,146, 62,212, 10,137, 61,
+238,101,144, 62, 94,217,179, 61,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,204, 36, 1, 62, 70, 54,174, 62, 70,117,207, 61, 54,150,169, 62, 62,118,253, 61,174,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 62,118,253, 61,174,144,151, 62,213,153, 25, 62,
+100,231,157, 62,204, 36, 1, 62, 70, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,165,111,180, 62,204, 36, 1, 62, 70, 54,174, 62,213,153, 25, 62,100,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,153, 25, 62,100,231,157, 62, 62,118,253, 61,
+174,144,151, 62,214,153, 25, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188,205, 76, 61, 53,162,115, 62, 94,217,179, 61,222, 76,120, 62,212, 10,137, 61,238,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212, 10,137, 61,238,101,144, 62,207,133, 7, 61,
+236,101,144, 62,188,205, 76, 61, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,255,162, 71, 60,216, 76,120, 62,188,205, 76, 61, 53,162,115, 62,207,133, 7, 61,236,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207,133, 7, 61,236,101,144, 62,212, 10,137, 61,
+238,101,144, 62,194,205, 76, 61,186,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188,205, 76, 61, 53,162,115, 62,255,162, 71, 60,216, 76,120, 62,190,171,221, 60,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,190,171,221, 60,194,176, 70, 62,194, 98,149, 61,
+194,176, 70, 62,188,205, 76, 61, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 94,217,179, 61,222, 76,120, 62,188,205, 76, 61, 53,162,115, 62,194, 98,149, 61,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 98,149, 61,194,176, 70, 62,190,171,221, 60,
+194,176, 70, 62,193,205, 76, 61,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198, 83,213, 61,179,253, 30, 62,214,153, 25, 62,106,111, 52, 62,202,196,234, 61,100, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,202,196,234, 61,100, 97, 83, 62,194, 98,149, 61,
+194,176, 70, 62,198, 83,213, 61,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,193,205, 76, 61,168, 31, 23, 62,198, 83,213, 61,179,253, 30, 62,194, 98,149, 61,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194, 98,149, 61,194,176, 70, 62,202,196,234, 61,
+100, 97, 83, 62, 94,217,179, 61,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 59,239,126, 63,174,253, 30, 62,154,105,131, 63,168, 31, 23, 62,175,118,131, 63,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,175,118,131, 63,194,176, 70, 62, 30, 65,124, 63,
+ 90, 97, 83, 62, 59,239,126, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63, 90,111, 52, 62, 59,239,126, 63,174,253, 30, 62, 30, 65,124, 63, 90, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 65,124, 63, 90, 97, 83, 62,175,118,131, 63,
+194,176, 70, 62, 70,143,129, 63,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,156,105,131, 63,101, 41,147, 61, 65, 51,115, 63, 83,111,180, 61, 38, 49,117, 63,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 38, 49,117, 63,225, 64, 52, 61,232,148,135, 63,
+144,158,125, 60,156,105,131, 63,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,153, 25, 62,104,111,180, 61,122,245,128, 61,101, 41,147, 61,224,153, 25, 62,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,232,148,135, 63,144,158,125, 60, 38, 49,117, 63,
+225, 64, 52, 61,208,222,121, 63,102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,122,245,128, 61,101, 41,147, 61,215,153, 25, 62,104,111,180, 61, 89, 55,179, 61, 38, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89, 55,179, 61, 38, 46,231, 61, 96,147,208, 60,
+ 48, 46,231, 61,122,245,128, 61,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63, 83,111,180, 61,156,105,131, 63,101, 41,147, 61,102,153,129, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 96,147,208, 60, 48, 46,231, 61, 89, 55,179, 61,
+ 38, 46,231, 61,193,205, 76, 61,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 59,239,126, 63,174,253, 30, 62, 65, 51,115, 63, 90,111, 52, 62, 66, 51,115, 63,199, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 66, 51,115, 63,199, 70, 7, 62,102,153,129, 63,
+ 48, 46,231, 61, 59,239,126, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,154,105,131, 63,168, 31, 23, 62, 59,239,126, 63,174,253, 30, 62,102,153,129, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102,153,129, 63, 48, 46,231, 61, 66, 51,115, 63,
+199, 70, 7, 62, 65, 51,115, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,198, 83,213, 61,179,253, 30, 62,193,205, 76, 61,168, 31, 23, 62, 89, 55,179, 61, 38, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 89, 55,179, 61, 38, 46,231, 61,217,153, 25, 62,
+204, 70, 7, 62,198, 83,213, 61,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,106,111, 52, 62,198, 83,213, 61,179,253, 30, 62,217,153, 25, 62,204, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,217,153, 25, 62,204, 70, 7, 62, 89, 55,179, 61,
+ 38, 46,231, 61,215,153, 25, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192,228,122, 63, 66, 45,128, 62, 65, 51,115, 63,151, 83,135, 62, 65, 51,115, 63,248,151, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63,248,151, 97, 62, 30, 65,124, 63,
+ 90, 97, 83, 62,192,228,122, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 70,143,129, 63,216, 76,120, 62,192,228,122, 63, 66, 45,128, 62, 30, 65,124, 63, 90, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30, 65,124, 63, 90, 97, 83, 62, 65, 51,115, 63,
+248,151, 97, 62, 65, 51,115, 63, 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192,228,122, 63, 66, 45,128, 62, 70,143,129, 63,216, 76,120, 62,201,153,128, 63, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,201,153,128, 63, 14,201,146, 62,239,234,121, 63,
+169,144,151, 62,192,228,122, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 65, 51,115, 63,151, 83,135, 62,192,228,122, 63, 66, 45,128, 62,239,234,121, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,234,121, 63,169,144,151, 62,201,153,128, 63,
+ 14,201,146, 62, 15,171,127, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,133, 80,121, 63, 65, 54,174, 62, 65, 51,115, 63,160,111,180, 62, 65, 51,115, 63, 93,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65, 51,115, 63, 93,231,157, 62,239,234,121, 63,
+169,144,151, 62,133, 80,121, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 15,171,127, 63, 52,150,169, 62,133, 80,121, 63, 65, 54,174, 62,239,234,121, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,239,234,121, 63,169,144,151, 62, 65, 51,115, 63,
+ 93,231,157, 62, 65, 51,115, 63,151, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 23, 23,131, 63, 89,190,166, 62, 15,171,127, 63, 52,150,169, 62,201,153,128, 63, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,136,200,153, 59, 14,201,146, 62,207,133, 7, 61,
+236,101,144, 62,195,197,197, 60, 89,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,194,205, 76, 61,186,199,165, 62,195,197,197, 60, 89,190,166, 62,207,133, 7, 61,236,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,207,133, 7, 61,236,101,144, 62,136,200,153, 59,
+ 14,201,146, 62,255,162, 71, 60,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 32,208,163, 62, 79, 45,128, 62,147, 92,147, 62,252, 76,120, 62,102, 23,161, 62,115, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102, 23,161, 62,115, 97, 83, 62, 22, 51,179, 62,
+ 2,152, 97, 62, 32,208,163, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,156, 83,135, 62, 32,208,163, 62, 79, 45,128, 62, 22, 51,179, 62, 2,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 51,179, 62, 2,152, 97, 62,102, 23,161, 62,
+115, 97, 83, 62, 21, 51,179, 62,101,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 32,208,163, 62, 79, 45,128, 62, 21, 51,179, 62,156, 83,135, 62,194,195,165, 62,181,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194,195,165, 62,181,144,151, 62,134, 50,151, 62,
+ 29,201,146, 62, 32,208,163, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147, 92,147, 62,252, 76,120, 62, 32,208,163, 62, 79, 45,128, 62,134, 50,151, 62, 29,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134, 50,151, 62, 29,201,146, 62,194,195,165, 62,
+181,144,151, 62,137, 67,154, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 82, 61,141, 62,112,190,166, 62, 0, 0,128, 62,206,199,165, 62,247,168,136, 62, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,247,168,136, 62, 3,102,144, 62,134, 50,151, 62,
+ 29,201,146, 62, 82, 61,141, 62,112,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,137, 67,154, 62, 70,150,169, 62, 82, 61,141, 62,112,190,166, 62,134, 50,151, 62, 29,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,134, 50,151, 62, 29,201,146, 62,247,168,136, 62,
+ 3,102,144, 62,147, 92,147, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,150,248,166, 62, 78, 54,174, 62,137, 67,154, 62, 70,150,169, 62,194,195,165, 62,181,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,194,195,165, 62,181,144,151, 62, 21, 51,179, 62,
+ 98,231,157, 62,150,248,166, 62, 78, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,165,111,180, 62,150,248,166, 62, 78, 54,174, 62, 21, 51,179, 62, 98,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62, 98,231,157, 62,194,195,165, 62,
+181,144,151, 62, 21, 51,179, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 89,162,115, 62,147, 92,147, 62,252, 76,120, 62,247,168,136, 62, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,247,168,136, 62, 3,102,144, 62, 18,174,110, 62,
+ 3,102,144, 62, 0, 0,128, 62, 89,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 62, 89,162,115, 62, 18,174,110, 62, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 18,174,110, 62, 3,102,144, 62,247,168,136, 62,
+ 3,102,144, 62, 0, 0,128, 62,206,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62, 89,162,115, 62,217, 70, 89, 62,252, 76,120, 62, 30,130,104, 62,230,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30,130,104, 62,230,176, 70, 62,241,190,139, 62,
+230,176, 70, 62, 0, 0,128, 62, 89,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,147, 92,147, 62,252, 76,120, 62, 0, 0,128, 62, 89,162,115, 62,241,190,139, 62,230,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,190,139, 62,230,176, 70, 62, 30,130,104, 62,
+230,176, 70, 62, 0, 0,128, 62,208, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 41,187,155, 62,205,253, 30, 62, 21, 51,179, 62,101,111, 52, 62,102, 23,161, 62,115, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,102, 23,161, 62,115, 97, 83, 62,241,190,139, 62,
+230,176, 70, 62, 41,187,155, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,208, 31, 23, 62, 41,187,155, 62,205,253, 30, 62,241,190,139, 62,230,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,241,190,139, 62,230,176, 70, 62,102, 23,161, 62,
+115, 97, 83, 62,147, 92,147, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,174,137, 72, 62,205,253, 30, 62, 0, 0,128, 62,208, 31, 23, 62, 30,130,104, 62,230,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 30,130,104, 62,230,176, 70, 62, 51,209, 61, 62,
+115, 97, 83, 62,174,137, 72, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,106,111, 52, 62,174,137, 72, 62,205,253, 30, 62, 51,209, 61, 62,115, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51,209, 61, 62,115, 97, 83, 62, 30,130,104, 62,
+230,176, 70, 62,217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,255,255,127, 62,141, 41,147, 61,215,153, 25, 62,104,111,180, 61,224,153, 25, 62,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,224,153, 25, 62,225, 64, 52, 61, 15, 51,179, 62,
+225, 64, 52, 61,255,255,127, 62,141, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 20, 51,179, 62,104,111,180, 61,255,255,127, 62,141, 41,147, 61, 15, 51,179, 62,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 51,179, 62,225, 64, 52, 61,224,153, 25, 62,
+225, 64, 52, 61,144,175,161, 62,102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,255,255,127, 62,141, 41,147, 61, 20, 51,179, 62,104,111,180, 61, 12, 52,147, 62,109, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 52,147, 62,109, 46,231, 61,231,151, 89, 62,
+109, 46,231, 61,255,255,127, 62,141, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,215,153, 25, 62,104,111,180, 61,255,255,127, 62,141, 41,147, 61,231,151, 89, 62,109, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231,151, 89, 62,109, 46,231, 61, 12, 52,147, 62,
+109, 46,231, 61, 0, 0,128, 62,208, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,174,137, 72, 62,205,253, 30, 62,214,153, 25, 62,106,111, 52, 62,217,153, 25, 62,204, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,217,153, 25, 62,204, 70, 7, 62,231,151, 89, 62,
+109, 46,231, 61,174,137, 72, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,208, 31, 23, 62,174,137, 72, 62,205,253, 30, 62,231,151, 89, 62,109, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,231,151, 89, 62,109, 46,231, 61,217,153, 25, 62,
+204, 70, 7, 62,215,153, 25, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 41,187,155, 62,205,253, 30, 62, 0, 0,128, 62,208, 31, 23, 62, 12, 52,147, 62,109, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 12, 52,147, 62,109, 46,231, 61, 19, 51,179, 62,
+204, 70, 7, 62, 41,187,155, 62,205,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,101,111, 52, 62, 41,187,155, 62,205,253, 30, 62, 19, 51,179, 62,204, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19, 51,179, 62,204, 70, 7, 62, 12, 52,147, 62,
+109, 46,231, 61, 20, 51,179, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192, 95, 56, 62, 79, 45,128, 62,214,153, 25, 62,156, 83,135, 62,212,153, 25, 62, 2,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,212,153, 25, 62, 2,152, 97, 62, 51,209, 61, 62,
+115, 97, 83, 62,192, 95, 56, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,217, 70, 89, 62,252, 76,120, 62,192, 95, 56, 62, 79, 45,128, 62, 51,209, 61, 62,115, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 51,209, 61, 62,115, 97, 83, 62,212,153, 25, 62,
+ 2,152, 97, 62,214,153, 25, 62,106,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,192, 95, 56, 62, 79, 45,128, 62,217, 70, 89, 62,252, 76,120, 62,245,154, 81, 62, 29,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245,154, 81, 62, 29,201,146, 62,125,120, 52, 62,
+181,144,151, 62,192, 95, 56, 62, 79, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,214,153, 25, 62,156, 83,135, 62,192, 95, 56, 62, 79, 45,128, 62,125,120, 52, 62,181,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125,120, 52, 62,181,144,151, 62,245,154, 81, 62,
+ 29,201,146, 62,239,120, 75, 62, 70,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,213, 14, 50, 62, 78, 54,174, 62,214,153, 25, 62,165,111,180, 62,213,153, 25, 62,100,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,213,153, 25, 62,100,231,157, 62,125,120, 52, 62,
+181,144,151, 62,213, 14, 50, 62, 78, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,239,120, 75, 62, 70,150,169, 62,213, 14, 50, 62, 78, 54,174, 62,125,120, 52, 62,181,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,125,120, 52, 62,181,144,151, 62,213,153, 25, 62,
+100,231,157, 62,214,153, 25, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 91,133,101, 62,112,190,166, 62,239,120, 75, 62, 70,150,169, 62,245,154, 81, 62, 29,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,245,154, 81, 62, 29,201,146, 62, 18,174,110, 62,
+ 3,102,144, 62, 91,133,101, 62,112,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0,128, 62,206,199,165, 62, 91,133,101, 62,112,190,166, 62, 18,174,110, 62, 3,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 18,174,110, 62, 3,102,144, 62,245,154, 81, 62,
+ 29,201,146, 62,217, 70, 89, 62,252, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64, 27, 5, 63, 66, 45,128, 62,232,194,249, 62,216, 76,120, 62,226,190, 3, 63, 90, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,226,190, 3, 63, 90, 97, 83, 62,191,204, 12, 63,
+248,151, 97, 62, 64, 27, 5, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63,149, 83,135, 62, 64, 27, 5, 63, 66, 45,128, 62,191,204, 12, 63,248,151, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,248,151, 97, 62,226,190, 3, 63,
+ 90, 97, 83, 62,191,204, 12, 63, 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 64, 27, 5, 63, 66, 45,128, 62,191,204, 12, 63,149, 83,135, 62, 17, 21, 6, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 21, 6, 63,169,144,151, 62,222,152,253, 62,
+ 14,201,146, 62, 64, 27, 5, 63, 66, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,232,194,249, 62,216, 76,120, 62, 64, 27, 5, 63, 66, 45,128, 62,222,152,253, 62, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,152,253, 62, 14,201,146, 62, 17, 21, 6, 63,
+169,144,151, 62,241, 84, 0, 63, 52,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,164,163,243, 62, 89,190,166, 62, 72,102,230, 62,183,199,165, 62, 70, 15,239, 62,233,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70, 15,239, 62,233,101,144, 62,222,152,253, 62,
+ 14,201,146, 62,164,163,243, 62, 89,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,241, 84, 0, 63, 52,150,169, 62,164,163,243, 62, 89,190,166, 62,222,152,253, 62, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,222,152,253, 62, 14,201,146, 62, 70, 15,239, 62,
+233,101,144, 62,232,194,249, 62,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,123,175, 6, 63, 65, 54,174, 62,241, 84, 0, 63, 52,150,169, 62, 17, 21, 6, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 17, 21, 6, 63,169,144,151, 62,191,204, 12, 63,
+ 90,231,157, 62,123,175, 6, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63,160,111,180, 62,123,175, 6, 63, 65, 54,174, 62,191,204, 12, 63, 90,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 90,231,157, 62, 17, 21, 6, 63,
+169,144,151, 62,191,204, 12, 63,149, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62, 53,162,115, 62,232,194,249, 62,216, 76,120, 62, 70, 15,239, 62,233,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 70, 15,239, 62,233,101,144, 62, 75,189,221, 62,
+238,101,144, 62, 72,102,230, 62, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,168, 9,211, 62,222, 76,120, 62, 72,102,230, 62, 53,162,115, 62, 75,189,221, 62,238,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,189,221, 62,238,101,144, 62, 70, 15,239, 62,
+233,101,144, 62, 72,102,230, 62,183,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62, 53,162,115, 62,168, 9,211, 62,222, 76,120, 62, 80,167,218, 62,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,167,218, 62,194,176, 70, 62, 68, 37,242, 62,
+194,176, 70, 62, 72,102,230, 62, 53,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,232,194,249, 62,216, 76,120, 62, 72,102,230, 62, 53,162,115, 62, 68, 37,242, 62,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 37,242, 62,194,176, 70, 62, 80,167,218, 62,
+194,176, 70, 62, 72,102,230, 62,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,197, 16, 1, 63,174,253, 30, 62,191,204, 12, 63, 90,111, 52, 62,226,190, 3, 63, 90, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,226,190, 3, 63, 90, 97, 83, 62, 68, 37,242, 62,
+194,176, 70, 62,197, 16, 1, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62,168, 31, 23, 62,197, 16, 1, 63,174,253, 30, 62, 68, 37,242, 62,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 37,242, 62,194,176, 70, 62,226,190, 3, 63,
+ 90, 97, 83, 62,232,194,249, 62,216, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,171,202, 62,179,253, 30, 62, 72,102,230, 62,168, 31, 23, 62, 80,167,218, 62,194,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 80,167,218, 62,194,176, 70, 62,205, 78,197, 62,
+ 95, 97, 83, 62, 14,171,202, 62,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,101,111, 52, 62, 14,171,202, 62,179,253, 30, 62,205, 78,197, 62, 95, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205, 78,197, 62, 95, 97, 83, 62, 80,167,218, 62,
+194,176, 70, 62,168, 9,211, 62,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63,102,230, 62,101, 41,147, 61, 20, 51,179, 62,104,111,180, 61, 15, 51,179, 62,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 15, 51,179, 62,225, 64, 52, 61,189,204, 12, 63,
+225, 64, 52, 61, 63,102,230, 62,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63, 83,111,180, 61, 63,102,230, 62,101, 41,147, 61,189,204, 12, 63,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,204, 12, 63,225, 64, 52, 61, 15, 51,179, 62,
+225, 64, 52, 61,144,175,161, 62,102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 63,102,230, 62,101, 41,147, 61,191,204, 12, 63, 83,111,180, 61,104,154,249, 62, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104,154,249, 62, 48, 46,231, 61, 42, 50,211, 62,
+ 48, 46,231, 61, 63,102,230, 62,101, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 20, 51,179, 62,104,111,180, 61, 63,102,230, 62,101, 41,147, 61, 42, 50,211, 62, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 50,211, 62, 48, 46,231, 61,104,154,249, 62,
+ 48, 46,231, 61, 72,102,230, 62,168, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 14,171,202, 62,179,253, 30, 62, 21, 51,179, 62,101,111, 52, 62, 19, 51,179, 62,204, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 19, 51,179, 62,204, 70, 7, 62, 42, 50,211, 62,
+ 48, 46,231, 61, 14,171,202, 62,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62,168, 31, 23, 62, 14,171,202, 62,179,253, 30, 62, 42, 50,211, 62, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42, 50,211, 62, 48, 46,231, 61, 19, 51,179, 62,
+204, 70, 7, 62, 20, 51,179, 62,104,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,197, 16, 1, 63,174,253, 30, 62, 72,102,230, 62,168, 31, 23, 62,104,154,249, 62, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,104,154,249, 62, 48, 46,231, 61,191,204, 12, 63,
+199, 70, 7, 62,197, 16, 1, 63,174,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63, 90,111, 52, 62,197, 16, 1, 63,174,253, 30, 62,191,204, 12, 63,199, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,199, 70, 7, 62,104,154,249, 62,
+ 48, 46,231, 61,191,204, 12, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 19,150,194, 62, 72, 45,128, 62, 21, 51,179, 62,156, 83,135, 62, 22, 51,179, 62, 2,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 22, 51,179, 62, 2,152, 97, 62,205, 78,197, 62,
+ 95, 97, 83, 62, 19,150,194, 62, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,168, 9,211, 62,222, 76,120, 62, 19,150,194, 62, 72, 45,128, 62,205, 78,197, 62, 95, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,205, 78,197, 62, 95, 97, 83, 62, 22, 51,179, 62,
+ 2,152, 97, 62, 21, 51,179, 62,101,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 19,150,194, 62, 72, 45,128, 62,168, 9,211, 62,222, 76,120, 62,179, 51,207, 62, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179, 51,207, 62, 17,201,146, 62,113,162,192, 62,
+174,144,151, 62, 19,150,194, 62, 72, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21, 51,179, 62,156, 83,135, 62, 19,150,194, 62, 72, 45,128, 62,113,162,192, 62,174,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,162,192, 62,174,144,151, 62,179, 51,207, 62,
+ 17,201,146, 62,175, 34,204, 62, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,154,109,191, 62, 68, 54,174, 62, 21, 51,179, 62,165,111,180, 62, 21, 51,179, 62, 98,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 21, 51,179, 62, 98,231,157, 62,113,162,192, 62,
+174,144,151, 62,154,109,191, 62, 68, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,175, 34,204, 62, 54,150,169, 62,154,109,191, 62, 68, 54,174, 62,113,162,192, 62,174,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,113,162,192, 62,174,144,151, 62, 21, 51,179, 62,
+ 98,231,157, 62, 21, 51,179, 62,156, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,237, 40,217, 62, 91,190,166, 62,175, 34,204, 62, 54,150,169, 62,179, 51,207, 62, 17,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,179, 51,207, 62, 17,201,146, 62, 75,189,221, 62,
+238,101,144, 62,237, 40,217, 62, 91,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 72,102,230, 62,183,199,165, 62,237, 40,217, 62, 91,190,166, 62, 75,189,221, 62,238,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 75,189,221, 62,238,101,144, 62,179, 51,207, 62,
+ 17,201,146, 62,168, 9,211, 62,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,134, 78, 56, 63,117, 45,128, 62,188, 20, 48, 63, 37, 77,120, 62, 42,242, 54, 63,181, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,242, 54, 63,181, 97, 83, 62, 0, 0, 64, 63,
+115,152, 97, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,218, 83,135, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0, 64, 63,115,152, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,115,152, 97, 62, 42,242, 54, 63,
+181, 97, 83, 62, 0, 0, 64, 63,202,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,134, 78, 56, 63,117, 45,128, 62, 0, 0, 64, 63,218, 83,135, 62, 87, 72, 57, 63,219,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 72, 57, 63,219,144,151, 62,184,255, 49, 63,
+ 52,201,146, 62,134, 78, 56, 63,117, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188, 20, 48, 63, 37, 77,120, 62,134, 78, 56, 63,117, 45,128, 62,184,255, 49, 63, 52,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184,255, 49, 63, 52,201,146, 62, 87, 72, 57, 63,
+219,144,151, 62, 58,136, 51, 63, 90,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 26, 5, 45, 63,117,190,166, 62,107,102, 38, 63,201,199,165, 62,235,186, 42, 63, 5,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,186, 42, 63, 5,102,144, 62,184,255, 49, 63,
+ 52,201,146, 62, 26, 5, 45, 63,117,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 58,136, 51, 63, 90,150,169, 62, 26, 5, 45, 63,117,190,166, 62,184,255, 49, 63, 52,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,184,255, 49, 63, 52,201,146, 62,235,186, 42, 63,
+ 5,102,144, 62,188, 20, 48, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,196,226, 57, 63,114, 54,174, 62, 58,136, 51, 63, 90,150,169, 62, 87, 72, 57, 63,219,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 87, 72, 57, 63,219,144,151, 62, 0, 0, 64, 63,
+162,231,157, 62,196,226, 57, 63,114, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,211,111,180, 62,196,226, 57, 63,114, 54,174, 62, 0, 0, 64, 63,162,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,162,231,157, 62, 87, 72, 57, 63,
+219,144,151, 62, 0, 0, 64, 63,218, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,107,102, 38, 63, 79,162,115, 62,188, 20, 48, 63, 37, 77,120, 62,235,186, 42, 63, 5,102,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,235,186, 42, 63, 5,102,144, 62,234, 17, 34, 63,
+243,101,144, 62,107,102, 38, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,184, 28, 63,222, 76,120, 62,107,102, 38, 63, 79,162,115, 62,234, 17, 34, 63,243,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234, 17, 34, 63,243,101,144, 62,235,186, 42, 63,
+ 5,102,144, 62,107,102, 38, 63,201,199,165, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,107,102, 38, 63, 79,162,115, 62, 21,184, 28, 63,222, 76,120, 62,234,134, 32, 63,204,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234,134, 32, 63,204,176, 70, 62,233, 69, 44, 63,
+245,176, 70, 62,107,102, 38, 63, 79,162,115, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,188, 20, 48, 63, 37, 77,120, 62,107,102, 38, 63, 79,162,115, 62,233, 69, 44, 63,245,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,233, 69, 44, 63,245,176, 70, 62,234,134, 32, 63,
+204,176, 70, 62,104,102, 38, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 9, 68, 52, 63,241,253, 30, 62, 0, 0, 64, 63,202,111, 52, 62, 42,242, 54, 63,181, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 42,242, 54, 63,181, 97, 83, 62,233, 69, 44, 63,
+245,176, 70, 62, 9, 68, 52, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,104,102, 38, 63,198, 31, 23, 62, 9, 68, 52, 63,241,253, 30, 62,233, 69, 44, 63,245,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,233, 69, 44, 63,245,176, 70, 62, 42,242, 54, 63,
+181, 97, 83, 62,188, 20, 48, 63, 37, 77,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,195,136, 24, 63,179,253, 30, 62,104,102, 38, 63,198, 31, 23, 62,234,134, 32, 63,204,176, 70, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234,134, 32, 63,204,176, 70, 62,162,218, 21, 63,
+ 84, 97, 83, 62,195,136, 24, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63, 90,111, 52, 62,195,136, 24, 63,179,253, 30, 62,162,218, 21, 63, 84, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162,218, 21, 63, 84, 97, 83, 62,234,134, 32, 63,
+204,176, 70, 62, 21,184, 28, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,104,102, 38, 63,111, 41,147, 61,191,204, 12, 63, 83,111,180, 61,189,204, 12, 63,225, 64, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,189,204, 12, 63,225, 64, 52, 61, 0, 0, 64, 63,
+111, 65, 52, 61,104,102, 38, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,195,111,180, 61,104,102, 38, 63,111, 41,147, 61, 0, 0, 64, 63,111, 65, 52, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63,111, 65, 52, 61,189,204, 12, 63,
+225, 64, 52, 61,208,222,121, 63,102, 9,239,178, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,104,102, 38, 63,111, 41,147, 61, 0, 0, 64, 63,195,111,180, 61,122, 0, 48, 63,120, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122, 0, 48, 63,120, 46,231, 61, 85,204, 28, 63,
+ 48, 46,231, 61,104,102, 38, 63,111, 41,147, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63, 83,111,180, 61,104,102, 38, 63,111, 41,147, 61, 85,204, 28, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,204, 28, 63, 48, 46,231, 61,122, 0, 48, 63,
+120, 46,231, 61,104,102, 38, 63,198, 31, 23, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,195,136, 24, 63,179,253, 30, 62,191,204, 12, 63, 90,111, 52, 62,191,204, 12, 63,199, 70, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,199, 70, 7, 62, 85,204, 28, 63,
+ 48, 46,231, 61,195,136, 24, 63,179,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,104,102, 38, 63,198, 31, 23, 62,195,136, 24, 63,179,253, 30, 62, 85,204, 28, 63, 48, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 85,204, 28, 63, 48, 46,231, 61,191,204, 12, 63,
+199, 70, 7, 62,191,204, 12, 63, 83,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 9, 68, 52, 63,241,253, 30, 62,104,102, 38, 63,198, 31, 23, 62,122, 0, 48, 63,120, 46,231, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,122, 0, 48, 63,120, 46,231, 61, 0, 0, 64, 63,
+ 24, 71, 7, 62, 9, 68, 52, 63,241,253, 30, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 64, 63,202,111, 52, 62, 9, 68, 52, 63,241,253, 30, 62, 0, 0, 64, 63, 24, 71, 7, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 63, 24, 71, 7, 62,122, 0, 48, 63,
+120, 46,231, 61, 0, 0, 64, 63,195,111,180, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68,126, 20, 63, 64, 45,128, 62,191,204, 12, 63,149, 83,135, 62,191,204, 12, 63,248,151, 97, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63,248,151, 97, 62,162,218, 21, 63,
+ 84, 97, 83, 62, 68,126, 20, 63, 64, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 21,184, 28, 63,222, 76,120, 62, 68,126, 20, 63, 64, 45,128, 62,162,218, 21, 63, 84, 97, 83, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,162,218, 21, 63, 84, 97, 83, 62,191,204, 12, 63,
+248,151, 97, 62,191,204, 12, 63, 90,111, 52, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68,126, 20, 63, 64, 45,128, 62, 21,184, 28, 63,222, 76,120, 62, 25,205, 26, 63, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 25,205, 26, 63, 14,201,146, 62,114,132, 19, 63,
+169,144,151, 62, 68,126, 20, 63, 64, 45,128, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,191,204, 12, 63,149, 83,135, 62, 68,126, 20, 63, 64, 45,128, 62,114,132, 19, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114,132, 19, 63,169,144,151, 62, 25,205, 26, 63,
+ 14,201,146, 62,150, 68, 25, 63, 54,150,169, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 7,234, 18, 63, 65, 54,174, 62,191,204, 12, 63,160,111,180, 62,191,204, 12, 63, 90,231,157, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,191,204, 12, 63, 90,231,157, 62,114,132, 19, 63,
+169,144,151, 62, 7,234, 18, 63, 65, 54,174, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,150, 68, 25, 63, 54,150,169, 62, 7,234, 18, 63, 65, 54,174, 62,114,132, 19, 63,169,144,151, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,114,132, 19, 63,169,144,151, 62,191,204, 12, 63,
+ 90,231,157, 62,191,204, 12, 63,149, 83,135, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,185,199, 31, 63, 96,190,166, 62,150, 68, 25, 63, 54,150,169, 62, 25,205, 26, 63, 14,201,146, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 25,205, 26, 63, 14,201,146, 62,234, 17, 34, 63,
+243,101,144, 62,185,199, 31, 63, 96,190,166, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0,107,102, 38, 63,201,199,165, 62,185,199, 31, 63, 96,190,166, 62,234, 17, 34, 63,243,101,144, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,234, 17, 34, 63,243,101,144, 62, 25,205, 26, 63,
+ 14,201,146, 62, 21,184, 28, 63,222, 76,120, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 0, 80, 0, 0, 8,112, 55, 3, 0, 0, 0, 0, 53, 0, 0, 0, 0, 20, 0, 0,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
@@ -16351,19 +13300,24 @@ char datatoc_preview_blend[]= {
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,
- 24, 1, 0, 0,216,162,186, 3, 52, 0, 0, 0, 1, 0, 0, 0,160,170,186, 3,160,117,184, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 77, 69,112,114,101,118,105,101,119, 46, 48, 48, 50, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 32,164,186, 3,248,169,186, 3,
- 64,170,186, 3, 0, 0, 0, 0,224,165,186, 3, 16,168,186, 3, 0, 0, 0, 0,176,163,159, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88,164,186, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136,166,186, 3, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,168,186, 3, 3, 0, 0, 0,
- 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+152, 1, 0, 0, 88,192, 55, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 8,202, 55, 3, 0, 0, 0, 0,104,135, 53, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,119, 46, 48, 48,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,194, 55, 3,
+ 0, 0, 0, 0,200,200, 55, 3, 0, 0, 0, 0, 40,201, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,196, 55, 3,
+ 0, 0, 0, 0,152,198, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,201, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,194, 55, 3,
+ 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,232,196, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,199, 55, 3, 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,179, 0, 0, 64, 52,235, 92,142,188, 0, 0,128, 63, 2, 0,128, 63,235, 92,142, 60,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 32,164,186, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3,
- 68, 65, 84, 65, 84, 1, 0, 0, 88,164,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 30, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0, 56,194, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,136,194, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0,
+ 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,165,186, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56,196, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16372,14 +13326,14 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,120, 0, 0, 0,224,165,186, 3, 58, 0, 0, 0, 5, 0, 0, 0, 0,116, 6, 65,
-254,255,127, 63, 42,117,228, 39, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 0,116, 6, 65,254,255,127,191, 43, 59,177,167,
- 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 0,116, 6,193,250,255,127,191, 39,117,228,167, 0, 0, 0, 0,255,127,255, 0,
- 3, 0, 0, 0,252,115, 6,193, 1, 0,128, 63, 49, 59,177, 39, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 0,239,110, 59,
-131,164, 26, 60,235, 92, 14,189,228, 12, 95, 33, 28,133,255, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0,136,166,186, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,100, 0, 0, 0, 56,196, 55, 3, 0, 0, 0, 0, 52, 0, 0, 0,
+ 5, 0, 0, 0, 0,116, 6, 65,254,255,127, 63, 42,117,228, 39, 0, 0, 0, 0,255,127, 3, 0, 0,116, 6, 65,254,255,127,191,
+ 43, 59,177,167, 0, 0, 0, 0,255,127, 3, 0, 0,116, 6,193,250,255,127,191, 39,117,228,167, 0, 0, 0, 0,255,127, 3, 0,
+252,115, 6,193, 1, 0,128, 63, 49, 59,177, 39, 0, 0, 0, 0,255,127, 3, 0, 0,239,110, 59,131,164, 26, 60,235, 92, 14,189,
+228, 12, 95, 33, 28,133, 3, 0, 68, 65, 84, 65,104, 1, 0, 0,232,196, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16,168,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+152,198, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16387,202 +13341,220 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 16,168,186, 3, 55, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,112,168,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,169,186, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,170,186, 3, 6, 0, 0, 0,
- 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, 67,111,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,176,163,159, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,152,198, 55, 3, 0, 0, 0, 0, 49, 0, 0, 0, 4, 0, 0, 0,
+ 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0, 24,199, 55, 3, 0, 0, 0, 0,
+ 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200,200, 55, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,201, 55, 3, 0, 0, 0, 0, 6, 0, 0, 0, 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, 67,111,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,168,201, 55, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,248,169,186, 3, 54, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 44, 0, 0, 0, 64,170,186, 3, 65, 0, 0, 0,
- 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,176,163,159, 3, 59, 0, 0, 0,
- 4, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,160,170,186, 3,
- 52, 0, 0, 0, 1, 0, 0, 0,144,185,186, 3,216,162,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,
-119, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,232,171,186, 3, 40,182,186, 3, 16,183,186, 3, 0, 0, 0, 0,
-168,173,186, 3,192,178,186, 3, 0, 0, 0, 0,208,184,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32,172,186, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,177,186, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,180,186, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128,179, 0, 0, 64, 52, 0, 0,192, 28, 0, 0,128, 63, 2, 0,128, 63,172,197, 39, 55, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,232,171,186, 3, 0, 0, 0, 0, 1, 0, 0, 0,200, 78,181, 3, 68, 65, 84, 65, 84, 1, 0, 0,
- 32,172,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,173,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,200,200, 55, 3, 0, 0, 0, 0,
+ 48, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65,
+ 48, 0, 0, 0, 40,201, 55, 3, 0, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,168,201, 55, 3, 0, 0, 0, 0, 53, 0, 0, 0, 4, 0, 0, 0,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0, 8,202, 55, 3, 0, 0, 0, 0, 46, 0, 0, 0,
+ 1, 0, 0, 0, 72,218, 55, 3, 0, 0, 0, 0, 88,192, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,119, 46, 48, 48, 51, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,203, 55, 3, 0, 0, 0, 0,104,214, 55, 3, 0, 0, 0, 0,104,215, 55, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,205, 55, 3, 0, 0, 0, 0,184,210, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,217, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,204, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,209, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0,
+ 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,212, 55, 3,
+ 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,128,179, 0, 0, 64, 52,
+ 0, 0,192, 28, 0, 0,128, 63, 2, 0,128, 63,172,197, 39, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0,
+ 30, 0, 4, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 8, 0, 0, 0,232,203, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,136, 7, 52, 3, 0, 0, 0, 0, 68, 65, 84, 65,
+104, 1, 0, 0, 56,204, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,205, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 96, 3, 0, 0,168,173,186, 3, 58, 0, 0, 0, 36, 0, 0, 0, 0, 0,128, 63,255,255,127, 63,255,255,251, 39,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0, 2,168, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 1, 0,128,191,253,255,127,191,253,255,251,167, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,250,255,127,191,
- 3, 0,128, 63, 3, 0, 2, 40, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,113,250, 63, 64, 7, 3,128, 63, 79,201,113, 48,
- 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,114,250, 63, 64,242,249,127,191,107,200,113, 48, 0, 0, 0, 0, 1,128,255, 0,
- 2, 0, 0, 0,206,233,127, 63,245,249,127,191, 95,200,113, 48, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,206,233,127, 63,
- 3, 3,128, 63, 63,201,113, 48, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,185,235, 63,192,197, 9,128, 63,138, 82,171, 51,
- 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,185,235, 63,192,113,236,127,191,137, 82,171, 51, 0, 0, 0, 0, 1,128,255, 0,
- 2, 0, 0, 0,232,174,127,191,110,236,127,191,137, 82,171, 51, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,236,174,127,191,
-201, 9,128, 63,138, 82,171, 51, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,181,242,159,192, 32, 15,128, 63,175,196, 41, 43,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,182,242,159,192,194,225,127,191,175,196, 37, 43, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,108,229, 63,192,197,225,127,191,175,180, 37, 43, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,108,229, 63,192,
- 29, 15,128, 63,175,180, 41, 43, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,112,253,159, 64,242, 18,128, 63, 85,138, 18, 51,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,112,253,159, 64, 27,218,127,191, 81,138, 18, 51, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0,223,250, 63, 64, 24,218,127,191, 81,138, 18, 51, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,225,250, 63, 64,
-245, 18,128, 63, 85,138, 18, 51, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,178,236,223,192, 32, 14,128, 63, 81,158,216,175,
- 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,178,236,223,192,192,227,127,191, 81,160,216,175, 0, 0, 0, 0,255,127,255, 0,
- 2, 0, 0, 0, 89,246, 15,193,188,227,127,191, 73,160,216,175, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0, 89,246, 15,193,
- 35, 14,128, 63, 73,158,216,175, 0, 0, 0, 0,255,127,255, 0, 2, 0, 0, 0,217,239,159,192,204, 8,128, 63,151,121,170, 51,
- 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,217,239,159,192,104,238,127,191,150,121,170, 51, 0, 0, 0, 0, 1,128,255, 0,
- 2, 0, 0, 0,217,239,223,192,108,238,127,191,150,121,170, 51, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,217,239,223,192,
-200, 8,128, 63,151,121,170, 51, 0, 0, 0, 0, 1,128,255, 0, 2, 0, 0, 0,233,247,223, 64,219, 24,128, 63, 78,136,155,180,
- 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0,233,247,223, 64, 76,206,127,191, 79,136,155,180, 0, 0, 0, 0,255,127,255, 0,
- 3, 0, 0, 0,245,251, 15, 65, 80,206,127,191, 79,136,155,180, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0,245,251, 15, 65,
-216, 24,128, 63, 78,136,155,180, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0,179,247,159, 64,233, 8,128, 63,180, 96,173,180,
- 0, 0, 0, 0, 1,128,255, 0, 3, 0, 0, 0,179,247,159, 64, 42,238,127,191,181, 96,173,180, 0, 0, 0, 0, 1,128,255, 0,
- 3, 0, 0, 0,178,247,223, 64, 38,238,127,191,181, 96,173,180, 0, 0, 0, 0, 1,128,255, 0, 3, 0, 0, 0,177,247,223, 64,
-237, 8,128, 63,180, 96,173,180, 0, 0, 0, 0, 1,128,255, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 56,177,186, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192,178,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+208, 2, 0, 0,232,205, 55, 3, 0, 0, 0, 0, 52, 0, 0, 0, 36, 0, 0, 0, 0, 0,128, 63,255,255,127, 63,255,255,251, 39,
+ 0, 0, 0, 0,254,127, 2, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0, 2,168, 0, 0, 0, 0,255,127, 2, 0, 1, 0,128,191,
+253,255,127,191,253,255,251,167, 0, 0, 0, 0,255,127, 2, 0,250,255,127,191, 3, 0,128, 63, 3, 0, 2, 40, 0, 0, 0, 0,
+255,127, 2, 0,113,250, 63, 64, 7, 3,128, 63, 79,201,113, 48, 0, 0, 0, 0, 1,128, 2, 0,114,250, 63, 64,242,249,127,191,
+107,200,113, 48, 0, 0, 0, 0, 1,128, 2, 0,206,233,127, 63,245,249,127,191, 95,200,113, 48, 0, 0, 0, 0, 1,128, 2, 0,
+206,233,127, 63, 3, 3,128, 63, 63,201,113, 48, 0, 0, 0, 0, 1,128, 2, 0,185,235, 63,192,197, 9,128, 63,138, 82,171, 51,
+ 0, 0, 0, 0, 1,128, 2, 0,185,235, 63,192,113,236,127,191,137, 82,171, 51, 0, 0, 0, 0, 1,128, 2, 0,232,174,127,191,
+110,236,127,191,137, 82,171, 51, 0, 0, 0, 0, 1,128, 2, 0,236,174,127,191,201, 9,128, 63,138, 82,171, 51, 0, 0, 0, 0,
+ 1,128, 2, 0,181,242,159,192, 32, 15,128, 63,175,196, 41, 43, 0, 0, 0, 0,255,127, 2, 0,182,242,159,192,194,225,127,191,
+175,196, 37, 43, 0, 0, 0, 0,255,127, 2, 0,108,229, 63,192,197,225,127,191,175,180, 37, 43, 0, 0, 0, 0,255,127, 2, 0,
+108,229, 63,192, 29, 15,128, 63,175,180, 41, 43, 0, 0, 0, 0,254,127, 2, 0,112,253,159, 64,242, 18,128, 63, 85,138, 18, 51,
+ 0, 0, 0, 0,254,127, 2, 0,112,253,159, 64, 27,218,127,191, 81,138, 18, 51, 0, 0, 0, 0,255,127, 2, 0,223,250, 63, 64,
+ 24,218,127,191, 81,138, 18, 51, 0, 0, 0, 0,255,127, 2, 0,225,250, 63, 64,245, 18,128, 63, 85,138, 18, 51, 0, 0, 0, 0,
+255,127, 2, 0,178,236,223,192, 32, 14,128, 63, 81,158,216,175, 0, 0, 0, 0,254,127, 2, 0,178,236,223,192,192,227,127,191,
+ 81,160,216,175, 0, 0, 0, 0,255,127, 2, 0, 89,246, 15,193,188,227,127,191, 73,160,216,175, 0, 0, 0, 0,254,127, 2, 0,
+ 89,246, 15,193, 35, 14,128, 63, 73,158,216,175, 0, 0, 0, 0,255,127, 2, 0,217,239,159,192,204, 8,128, 63,151,121,170, 51,
+ 0, 0, 0, 0, 1,128, 2, 0,217,239,159,192,104,238,127,191,150,121,170, 51, 0, 0, 0, 0, 2,128, 2, 0,217,239,223,192,
+108,238,127,191,150,121,170, 51, 0, 0, 0, 0, 1,128, 2, 0,217,239,223,192,200, 8,128, 63,151,121,170, 51, 0, 0, 0, 0,
+ 1,128, 2, 0,233,247,223, 64,219, 24,128, 63, 78,136,155,180, 0, 0, 0, 0,255,127, 3, 0,233,247,223, 64, 76,206,127,191,
+ 79,136,155,180, 0, 0, 0, 0,254,127, 3, 0,245,251, 15, 65, 80,206,127,191, 79,136,155,180, 0, 0, 0, 0,255,127, 3, 0,
+245,251, 15, 65,216, 24,128, 63, 78,136,155,180, 0, 0, 0, 0,254,127, 3, 0,179,247,159, 64,233, 8,128, 63,180, 96,173,180,
+ 0, 0, 0, 0, 1,128, 3, 0,179,247,159, 64, 42,238,127,191,181, 96,173,180, 0, 0, 0, 0, 1,128, 3, 0,178,247,223, 64,
+ 38,238,127,191,181, 96,173,180, 0, 0, 0, 0, 1,128, 3, 0,177,247,223, 64,237, 8,128, 63,180, 96,173,180, 0, 0, 0, 0,
+ 1,128, 3, 0, 68, 65, 84, 65,104, 1, 0, 0, 8,209, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,210, 55, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,176, 1, 0, 0,184,210, 55, 3, 0, 0, 0, 0, 49, 0, 0, 0, 36, 0, 0, 0, 1, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0,
+ 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0,
+ 10, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0,
+ 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0,
+ 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0,
+ 18, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0,
+ 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 20, 0, 0, 0,
+ 0, 0, 34, 0, 20, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0,
+ 25, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0, 29, 0, 0, 0, 28, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0, 28, 0, 0, 0,
+ 0, 0, 35, 0, 31, 0, 0, 0, 30, 0, 0, 0, 0, 0, 35, 0, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0, 33, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0, 32, 0, 0, 0, 0, 0, 35, 0,
+ 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,184,212, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0,
+ 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,214, 55, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,215, 55, 3, 0, 0, 0, 0, 6, 0, 0, 0, 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, 67,111,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,104,217, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,180, 0, 0, 0,104,214, 55, 3, 0, 0, 0, 0, 48, 0, 0, 0,
+ 9, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 15, 0, 0, 0, 12, 0, 0, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 23, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0,
+ 24, 0, 0, 0, 25, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 30, 0, 0, 0,
+ 0, 0, 0, 2, 32, 0, 0, 0, 35, 0, 0, 0, 34, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65,176, 1, 0, 0,
+104,215, 55, 3, 0, 0, 0, 0, 59, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,144, 0, 0, 0,104,217, 55, 3, 0, 0, 0, 0, 53, 0, 0, 0, 36, 0, 0, 0,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0, 72,218, 55, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0,
+232,227, 55, 3, 0, 0, 0, 0, 8,202, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 77, 69,112,114,101,118,105,101,119, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40,220, 55, 3, 0, 0, 0, 0,168,226, 55, 3, 0, 0, 0, 0, 8,227, 55, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 40,222, 55, 3, 0, 0, 0, 0,120,224, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+136,227, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,120,220, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,222, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0,
+ 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,224, 55, 3, 0, 0, 0, 0,
+ 3, 0, 0, 0, 5, 0, 0, 0, 80, 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, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,179, 0, 0, 64, 52, 0, 0,192, 28,
+ 0, 0,128, 63, 2, 0,128, 63,172,197, 39, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 4, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,
+ 40,220, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 24, 16, 52, 3, 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,
+120,220, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-176, 1, 0, 0,192,178,186, 3, 55, 0, 0, 0, 36, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 34, 0,
- 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 34, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 34, 0, 6, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 34, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 34, 0, 9, 0, 0, 0, 10, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 34, 0, 8, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 34, 0,
- 12, 0, 0, 0, 13, 0, 0, 0, 0, 0, 34, 0, 12, 0, 0, 0, 15, 0, 0, 0, 0, 0, 34, 0, 14, 0, 0, 0, 15, 0, 0, 0,
- 0, 0, 34, 0, 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 34, 0, 17, 0, 0, 0, 18, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 34, 0, 16, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0, 18, 0, 0, 0, 19, 0, 0, 0, 0, 0, 34, 0,
- 21, 0, 0, 0, 22, 0, 0, 0, 0, 0, 34, 0, 21, 0, 0, 0, 20, 0, 0, 0, 0, 0, 34, 0, 20, 0, 0, 0, 23, 0, 0, 0,
- 0, 0, 34, 0, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0, 25, 0, 0, 0, 0, 0, 34, 0, 24, 0, 0, 0,
- 27, 0, 0, 0, 0, 0, 34, 0, 26, 0, 0, 0, 27, 0, 0, 0, 0, 0, 34, 0, 25, 0, 0, 0, 26, 0, 0, 0, 0, 0, 34, 0,
- 29, 0, 0, 0, 28, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0, 28, 0, 0, 0, 0, 0, 35, 0, 31, 0, 0, 0, 30, 0, 0, 0,
- 0, 0, 35, 0, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 33, 0, 0, 0, 0, 0, 35, 0, 32, 0, 0, 0,
- 33, 0, 0, 0, 0, 0, 35, 0, 35, 0, 0, 0, 32, 0, 0, 0, 0, 0, 35, 0, 34, 0, 0, 0, 35, 0, 0, 0, 0, 0, 35, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,160,180,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,182,186, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,183,186, 3, 6, 0, 0, 0,
- 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, 67,111,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,208,184,186, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,222, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,180, 0, 0, 0, 40,182,186, 3, 54, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0,
- 0, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 12, 0, 0, 0,
- 13, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19, 0, 0, 0, 18, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 23, 0, 0, 0, 22, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 24, 0, 0, 0, 25, 0, 0, 0,
- 26, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 28, 0, 0, 0, 29, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 0,
- 35, 0, 0, 0, 34, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65,140, 1, 0, 0, 16,183,186, 3, 65, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,208,184,186, 3, 59, 0, 0, 0,
- 36, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0,144,185,186, 3,
- 52, 0, 0, 0, 1, 0, 0, 0, 64,193,186, 3,160,170,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69,112,114,101,118,105,101,
-119, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,216,186,186, 3,152,192,186, 3,224,192,186, 3, 0, 0, 0, 0,
-152,188,186, 3,176,190,186, 3, 0, 0, 0, 0,136,201,163, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16,187,186, 3, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,189,186, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,191,186, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0,128,179, 0, 0, 64, 52, 0, 0,192, 28, 0, 0,128, 63, 2, 0,128, 63,172,197, 39, 55, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,216,186,186, 3, 0, 0, 0, 0, 1, 0, 0, 0,168, 85,181, 3, 68, 65, 84, 65, 84, 1, 0, 0,
- 16,187,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,188,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,
+ 40,222, 55, 3, 0, 0, 0, 0, 52, 0, 0, 0, 4, 0, 0, 0, 50, 49,175, 64,255,255,127, 63, 28,159,152, 51, 0, 0, 0, 0,
+255,127, 3, 0, 50, 49,175, 64, 0, 0,128,191, 33,159,152,179, 0, 0, 0, 0,255,127, 3, 0, 50, 49,175,192,252,255,127,191,
+ 31,159,152,179, 0, 0, 0, 0,255,127, 3, 0, 45, 49,175,192, 4, 0,128, 63, 33,159,152, 51, 0, 0, 0, 0,255,127, 3, 0,
+ 68, 65, 84, 65,104, 1, 0, 0,200,222, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,224, 55, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 96, 0, 0, 0,152,188,186, 3, 58, 0, 0, 0, 4, 0, 0, 0, 50, 49,175, 64,255,255,127, 63, 28,159,152, 51,
- 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 50, 49,175, 64, 0, 0,128,191, 33,159,152,179, 0, 0, 0, 0,255,127,255, 0,
- 3, 0, 0, 0, 50, 49,175,192,252,255,127,191, 31,159,152,179, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 45, 49,175,192,
- 4, 0,128, 63, 33,159,152, 51, 0, 0, 0, 0,255,127,255, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 40,189,186, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,176,190,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0,120,224, 55, 3, 0, 0, 0, 0, 49, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,248,224, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+168,226, 55, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8,227, 55, 3, 0, 0, 0, 0, 6, 0, 0, 0, 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, 67,111,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,136,227, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,176,190,186, 3, 55, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0,
- 68, 65, 84, 65, 84, 1, 0, 0, 16,191,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,192,186, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,192,186, 3, 6, 0, 0, 0,
- 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, 67,111,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,136,201,163, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,168,226, 55, 3, 0, 0, 0, 0, 48, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 48, 0, 0, 0, 8,227, 55, 3,
+ 0, 0, 0, 0, 59, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 0, 0, 0,136,227, 55, 3, 0, 0, 0, 0, 53, 0, 0, 0, 4, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255, 77, 69, 0, 0,152, 1, 0, 0,232,227, 55, 3, 0, 0, 0, 0, 46, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 72,218, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117,
+ 98,101, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,200,229, 55, 3, 0, 0, 0, 0,248,236, 55, 3, 0, 0, 0, 0,184,237, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,200,231, 55, 3, 0, 0, 0, 0,104,234, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,239, 55, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24,230, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,232, 55, 3, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,235, 55, 3, 0, 0, 0, 0, 3, 0, 0, 0,
+ 5, 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
+ 12, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 51, 0, 0, 0,180, 0, 0, 0, 0, 4, 0,128, 63,
+ 4, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 4, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,200,229, 55, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,168,238, 51, 3, 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0, 24,230, 55, 3,
+ 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,152,192,186, 3, 54, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 3, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 44, 0, 0, 0,224,192,186, 3, 65, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,136,201,163, 3, 59, 0, 0, 0,
- 4, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 77, 69, 0, 0, 24, 1, 0, 0, 64,193,186, 3,
- 52, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,144,185,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117, 98,101, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,194,186, 3, 8,201,186, 3,176,201,186, 3, 0, 0, 0, 0,
- 72,196,186, 3,192,198,186, 3, 0, 0, 0, 0,232,202,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-192,194,186, 3, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,197,186, 3, 1, 0, 0, 0,
- 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,199,186, 3, 3, 0, 0, 0, 5, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 12, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0,128, 51, 0, 0, 0,180, 0, 0, 0, 0, 4, 0,128, 63, 4, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 30, 0, 4, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,136,194,186, 3, 0, 0, 0, 0, 1, 0, 0, 0,232, 71,181, 3, 68, 65, 84, 65, 84, 1, 0, 0,
-192,194,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,231, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,196,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16590,17 +13562,17 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,231, 55, 3,
+ 0, 0, 0, 0, 52, 0, 0, 0, 8, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0,128,191,230, 73,230, 73, 26,182, 3, 0,
+ 0, 0,128, 63, 0, 0,128,191, 0, 0,128,191,230, 73, 26,182, 26,182, 3, 0, 1, 0,128,191,253,255,127,191, 0, 0,128,191,
+ 26,182, 26,182, 26,182, 3, 0,250,255,127,191, 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73, 26,182, 3, 0, 4, 0,128, 63,
+247,255,127, 63, 0, 0,128, 63,230, 73,230, 73,230, 73, 3, 0,245,255,127, 63, 5, 0,128,191, 0, 0,128, 63,230, 73, 26,182,
+230, 73, 3, 0, 3, 0,128,191,250,255,127,191, 0, 0,128, 63, 26,182, 26,182,230, 73, 3, 0,255,255,127,191, 0, 0,128, 63,
+ 0, 0,128, 63, 26,182,230, 73,230, 73, 3, 0, 68, 65, 84, 65,104, 1, 0, 0,184,232, 55, 3, 0, 0, 0, 0, 84, 1, 0, 0,
+ 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,192, 0, 0, 0, 72,196,186, 3, 58, 0, 0, 0, 8, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0,128,191,
-230, 73,230, 73, 26,182,255, 0, 3, 0, 0, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0,128,191,230, 73, 26,182, 26,182,255, 0,
- 3, 0, 0, 0, 1, 0,128,191,253,255,127,191, 0, 0,128,191, 26,182, 26,182, 26,182,255, 0, 3, 0, 0, 0,250,255,127,191,
- 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73, 26,182,255, 0, 3, 0, 0, 0, 4, 0,128, 63,247,255,127, 63, 0, 0,128, 63,
-230, 73,230, 73,230, 73,255, 0, 3, 0, 0, 0,245,255,127, 63, 5, 0,128,191, 0, 0,128, 63,230, 73, 26,182,230, 73,255, 0,
- 3, 0, 0, 0, 3, 0,128,191,250,255,127,191, 0, 0,128, 63, 26,182, 26,182,230, 73,255, 0, 3, 0, 0, 0,255,255,127,191,
- 0, 0,128, 63, 0, 0,128, 63, 26,182,230, 73,230, 73,255, 0, 3, 0, 0, 0, 68, 65, 84, 65, 84, 1, 0, 0, 56,197,186, 3,
- 58, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,104,234, 55, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,192,198,186, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -16608,1727 +13580,1913 @@ char datatoc_preview_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-144, 0, 0, 0,192,198,186, 3, 55, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0,
- 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0,
- 68, 65, 84, 65, 84, 1, 0, 0,128,199,186, 3, 58, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,201,186, 3, 5, 0, 0, 0, 20, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,201,186, 3, 6, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,104,234, 55, 3, 0, 0, 0, 0, 49, 0, 0, 0,
+ 12, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0,
+ 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 35, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0, 72,235, 55, 3,
+ 0, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,236, 55, 3, 0, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85, 86, 84,101,120, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,237, 55, 3, 0, 0, 0, 0, 6, 0, 0, 0,
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, 67,111,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,232,202,186, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,239, 55, 3,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,120, 0, 0, 0, 8,201,186, 3, 54, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 5, 0, 0, 0,
- 6, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 6, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2,
- 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 2, 68, 65, 84, 65, 8, 1, 0, 0,176,201,186, 3,
- 65, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,120, 0, 0, 0,248,236, 55, 3,
+ 0, 0, 0, 0, 48, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2,
+ 4, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0,
+ 6, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 0, 2, 68, 65, 84, 65, 32, 1, 0, 0,184,237, 55, 3, 0, 0, 0, 0, 59, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,232,202,186, 3, 59, 0, 0, 0,
- 24, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255, 80, 65, 0, 0,244, 1, 0, 0,120,203,186, 3, 65, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 65, 80, 83,121,115, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 2, 0, 1, 0, 0, 0, 1, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 8, 0, 5, 0, 5, 0, 3, 0,100, 0,
- 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 4, 0, 5, 0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,128, 63,205,204,204, 61,205,204, 76, 63, 0, 0,128, 63, 0, 0,200, 66,
- 0, 0, 72, 66, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 96, 0, 0, 0, 40,239, 55, 3, 0, 0, 0, 0, 53, 0, 0, 0, 24, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 80, 65, 0, 0,208, 2, 0, 0,216,239, 55, 3,
+ 0, 0, 0, 0, 96, 1, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 65, 80, 83,121,115, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,242, 55, 3, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0,
+ 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 4, 0, 6, 0, 8, 0,
+ 5, 0, 5, 0, 3, 0,100, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 3, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 7, 0, 0,128, 63,205,204,204, 61,205,204, 76, 63, 0, 0,128, 63, 0, 0,200, 66, 0, 0, 72, 66, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,150, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
128, 41,182, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,240,214, 35,189,
- 0, 0, 0, 0,184,155,196,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-205,204, 76, 62, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0,128, 63,205,204, 76, 62,154,153,153, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
- 0, 0, 0, 63, 0, 0, 0, 63, 0, 1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 78, 65, 49,204,208, 0, 0, 32, 77,162, 3, 0, 0, 0, 0, 1, 0, 0, 0,
- 83, 68, 78, 65, 78, 65, 77, 69, 59, 10, 0, 0, 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,
-105,114,115,116, 0, 42,108, 97,115,116, 0,120, 0,121, 0,122, 0,119, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,
-110, 0,121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0,103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,
-121,112,101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103, 0,110, 97,109,101, 91, 51, 50, 93, 0,115, 97,118,101,100, 0,
-100, 97,116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101,110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,
-109,101, 91, 50, 52, 93, 0,117,115, 0,105, 99,111,110, 95,105,100, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100,
- 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105,108,101,100, 97,116, 97, 0,110, 97,109,101, 91, 50, 52, 48, 93, 0,102,105,
-108,101,110, 97,109,101, 91, 50, 52, 48, 93, 0,116,111,116, 0,112, 97,100, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93,
- 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93, 0,112, 97,100, 48, 0,112, 97,100, 49, 0, 42,114,101, 99,116,
- 91, 50, 93, 0, 42,111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49,
- 50, 56, 93, 0, 42, 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,
-121,112,101, 0,116,111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,
-107, 0,115,108,105,100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,
-105,118,101,114, 0, 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,
-111,115, 0,114,101,108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,112, 97,100, 50, 0, 42,119,101,105,103,104,116,
-115, 0,118,103,114,111,117,112, 91, 51, 50, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120,
- 0, 42, 97,100,116, 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,
-122,101, 0, 98,108,111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,
-104, 0, 42, 42,115, 99,114,105,112,116,115, 0, 42,102,108, 97,103, 0, 97, 99,116,115, 99,114,105,112,116, 0,116,111,116,115,
- 99,114,105,112,116, 0, 42,108,105,110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,
-115,116, 97,114,116, 0,101,110,100, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, 91, 52, 93, 0,
- 42,110, 97,109,101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,108,108, 0, 99,
-117,114, 99, 0,115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,110,100,111, 95,
-112,111,115, 0,117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, 0,115,105,122,
-101, 0,115,101,101,107, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 97,110,103,108,101, 0, 99,108,105,112,
-115,116, 97, 0, 99,108,105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,
-119,115,105,122,101, 0,115,104,105,102,116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 89,
- 70, 95, 97,112,101,114,116,117,114,101, 0, 89, 70, 95, 98,107,104,116,121,112,101, 0, 89, 70, 95, 98,107,104, 98,105, 97,115,
- 0, 89, 70, 95, 98,107,104,114,111,116, 0,115, 99,114,105,112,116,108,105,110,107, 0, 42,100,111,102, 95,111, 98, 0,102,114,
- 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,102,102,115,101,116, 0,115,102,114, 97, 0,102,105,101, 95,105,109, 97,
- 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105, 95,105,110,100,101,120, 0,108, 97,121,101,114, 0,112, 97,115,115, 0,
-109,101,110,117,110,114, 0, 42,115, 99,101,110,101, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,117,114,101, 0,
- 42, 97,110,105,109, 0, 42,114,114, 0,115,111,117,114, 99,101, 0,108, 97,115,116,102,114, 97,109,101, 0,116,112, 97,103,101,
-102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,114,101,112, 0,116,119,115,116, 97, 0,116,119,101,
-110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,100, 0, 42,112, 97, 99,107,101,100,102,105,108,101,
- 0, 42,112,114,101,118,105,101,119, 0, 42,114,101,110,100,101,114, 95,116,101,120,116, 0,108, 97,115,116,117,112,100, 97,116,
-101, 0,108, 97,115,116,117,115,101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121,
- 0,103,101,110, 95,116,121,112,101, 0, 97,115,112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,
-109, 97,112,116,111,110,101,103, 0, 98,108,101,110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,
-117,118,110, 97,109,101, 91, 51, 50, 93, 0,112,114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,
-112,105,110,103, 0,111,102,115, 91, 51, 93, 0,115,105,122,101, 91, 51, 93, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111,
-114,109,111,100,101,108, 0,112,109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,114,109, 97,112,115,112,
- 97, 99,101, 0,119,104,105, 99,104, 95,111,117,116,112,117,116, 0,112, 97,100, 91, 50, 93, 0,114, 0,103, 0, 98, 0,107, 0,
-100,101,102, 95,118, 97,114, 0, 99,111,108,102, 97, 99, 0,110,111,114,102, 97, 99, 0,118, 97,114,102, 97, 99, 0,100,105,115,
-112,102, 97, 99, 0,119, 97,114,112,102, 97, 99, 0,110, 97,109,101, 91, 49, 54, 48, 93, 0, 42,104, 97,110,100,108,101, 0, 42,
-112,110, 97,109,101, 0, 42,115,116,110, 97,109,101,115, 0,115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,
-116,114, 0, 42,114,101,115,117,108,116, 0, 42, 99,102,114, 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116,
- 41, 40, 41, 0, 40, 42,105,110,115,116, 97,110, 99,101, 95,105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,
-107, 41, 40, 41, 0,118,101,114,115,105,111,110, 0, 97, 0,105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,
-101, 91, 54, 93, 0,105,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,
-112,101, 0,118,105,101,119,115, 99, 97,108,101, 0,110,111,116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,
-104, 0,114,101, 99, 97,108, 99, 0,108, 97,115,116,115,105,122,101, 0,110,111,105,115,101,115,105,122,101, 0,116,117,114, 98,
-117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97,
- 99, 0,102,105,108,116,101,114,115,105,122,101, 0,109,103, 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,
-109,103, 95,111, 99,116, 97,118,101,115, 0,109,103, 95,111,102,102,115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,
-116, 95, 97,109,111,117,110,116, 0,110,115, 95,111,117,116,115, 99, 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50,
- 0,118,110, 95,119, 51, 0,118,110, 95,119, 52, 0,118,110, 95,109,101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110,
- 95, 99,111,108,116,121,112,101, 0,110,111,105,115,101,100,101,112,116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,
-105,115,101, 98, 97,115,105,115, 0,110,111,105,115,101, 98, 97,115,105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,
-112,120,109,105,110, 0, 99,114,111,112,121,109,105,110, 0, 99,114,111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120,
- 0,120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0,101,120,116,101,110,100, 0, 99,104,101, 99,107,101,114,100,
-105,115,116, 0,110, 97, 98,108, 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,
-110, 0, 42, 99,111, 98, 97, 0, 42,101,110,118, 0,117,115,101, 95,110,111,100,101,115, 0,112, 97,100, 91, 55, 93, 0,108,111,
- 99, 91, 51, 93, 0,114,111,116, 91, 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120,
- 91, 51, 93, 0,109,111,100,101, 0,116,111,116,101,120, 0,115,104,100,119,114, 0,115,104,100,119,103, 0,115,104,100,119, 98,
- 0,115,104,100,119,112, 97,100, 0,101,110,101,114,103,121, 0,100,105,115,116, 0,115,112,111,116,115,105,122,101, 0,115,112,
-111,116, 98,108,101,110,100, 0,104, 97,105,110,116, 0, 97,116,116, 49, 0, 97,116,116, 50, 0, 42, 99,117,114,102, 97,108,108,
-111,102,102, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,115,104, 97,100,115,112,111,116,115,105,122,101, 0, 98,105,
- 97,115, 0,115,111,102,116, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,108,
-116,101,114,116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,112,
- 0,114, 97,121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,121,
-112,101, 0, 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,122,
-101,121, 0, 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,115,
- 97,109,112, 95,109,101,116,104,111,100, 0,116,101,120, 97, 99,116, 0,115,104, 97,100,104, 97,108,111,115,116,101,112, 0,115,
-117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,121, 98,108,101,110,100,116,121,112,101, 0,104,111,114,105,
-122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,114,101, 97,100, 0,115,117,110, 95, 98,114,105,103,104,116,
-110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,115, 99, 97,116,116,101,114,101,100, 95,108,105,103,104,
-116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,116,109, 95,116,117,114, 98,105,100,105,116,121, 0, 97,116,
-109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,101,120,116,105,110, 99,
-116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,115,116, 97,110, 99,101, 95,102, 97, 99,116,111,114, 0,
-115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,112,111,115,117,114,101, 0,115,107,121, 95, 99,111,108,
-111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 0, 89, 70, 95,110,117,109,112,104,111,116,111,110,115, 0, 89, 70, 95,110,117,
-109,115,101, 97,114, 99,104, 0, 89, 70, 95,112,104,100,101,112,116,104, 0, 89, 70, 95,117,115,101,113,109, 99, 0, 89, 70, 95,
- 98,117,102,115,105,122,101, 0, 89, 70, 95,112, 97,100, 0, 89, 70, 95, 99, 97,117,115,116,105, 99, 98,108,117,114, 0, 89, 70,
- 95,108,116,114, 97,100,105,117,115, 0, 89, 70, 95,103,108,111,119,105,110,116, 0, 89, 70, 95,103,108,111,119,111,102,115, 0,
- 89, 70, 95,103,108,111,119,116,121,112,101, 0, 89, 70, 95,112, 97,100, 50, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,109, 97,
-116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101, 99,114, 0,115,112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,
-114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109, 98,114, 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,
-101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114, 97, 0,114, 97,121, 95,109,105,114,114,111,114, 0, 97,108,112,104,
- 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,115, 0, 97,100,100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,
-121, 0,102,114,101,115,110,101,108, 95,109,105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,
-110,101,108, 95,116,114, 97, 0,102,114,101,115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,
-108,105,109,105,116, 0,116,120, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,
-101,112,116,104, 95,116,114, 97, 0,104, 97,114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,
-105,114, 0,103,108,111,115,115, 95,116,114, 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112,
- 95,103,108,111,115,115, 95,116,114, 97, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,
-116, 95,116,104,114,101,115,104, 95,116,114, 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,
-116, 95,109,105,114, 0,102, 97,100,101,116,111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101,
- 95,108, 0,102,108, 97,114,101, 99, 0,115,116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,
-122,101, 0,102,108, 97,114,101,115,105,122,101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,
-115,116,114, 97,110,100, 95,115,116, 97, 0,115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,
-101, 0,115,116,114, 97,110,100, 95,115,117,114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,
-110,100, 95,119,105,100,116,104,102, 97,100,101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 51, 50, 93, 0,115,
- 98,105, 97,115, 0,108, 98,105, 97,115, 0,115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,
-115,101,108, 0,112,114, 95,116,121,112,101, 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,
-108, 97,103, 0,100,105,102,102, 95,115,104, 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,
-104,110,101,115,115, 0,114,101,102,114, 97, 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,
-115,115, 0, 42,114, 97,109,112, 95, 99,111,108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,
-111,108, 0,114, 97,109,112,105,110, 95,115,112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,
-112, 98,108,101,110,100, 95,115,112,101, 99, 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102,
- 97, 99, 95, 99,111,108, 0,114, 97,109,112,102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,
-105,111,110, 0,102,104, 0,114,101,102,108,101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,
-110, 97,109,111,100,101, 0,115,115,115, 95,114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,
-115,115,115, 95,101,114,114,111,114, 0,115,115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95,
- 99,111,108,102, 97, 99, 0,115,115,115, 95,116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95,
- 98, 97, 99,107, 0,115,115,115, 95,102,108, 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0, 89, 70, 95, 97,114, 0, 89,
- 70, 95, 97,103, 0, 89, 70, 95, 97, 98, 0, 89, 70, 95,100,115, 99, 97,108,101, 0, 89, 70, 95,100,112,119,114, 0, 89, 70, 95,
-100,115,109,112, 0, 89, 70, 95,112,114,101,115,101,116, 0, 89, 70, 95,100,106,105,116, 0,103,112,117,109, 97,116,101,114,105,
- 97,108, 0,110, 97,109,101, 91, 50, 53, 54, 93, 0, 42, 98, 98, 0,105, 49, 0,106, 49, 0,107, 49, 0,105, 50, 0,106, 50, 0,
-107, 50, 0,115,101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,113,117, 97,116, 91, 52, 93, 0,101,120,112,120, 0,
-101,120,112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,109, 97,116, 0,
-101,108,101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,116,111,116, 99,
-111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101, 0,116,104,114,101,115,104, 0,118,101,
- 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, 0,119,101,105,103,104,116, 0,114, 97,100,105,117,115, 0,104, 49, 0,104, 50,
- 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, 52, 93, 0,109, 97,116, 95,110,114, 0,112,110,116,
-115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,111,108,118, 0,111,114,100,101,114,117, 0,111,114,
-100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,110,111,116,115,117, 0, 42,107,110,111,116,115,118,
- 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, 95,105,110,116,101,114,112, 0, 99,104, 97,114,105,
-100,120, 0,107,101,114,110, 0,104, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, 42, 98,101,118,111, 98,106,
- 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,112, 97,116,104, 0, 42,107,
-101,121, 0, 98,101,118, 0,112, 97,116,104,108,101,110, 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,
-116, 49, 0,101,120,116, 50, 0,114,101,115,111,108,117, 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,
-116,110,117, 0, 42,108, 97,115,116,115,101,108, 98,112, 0,115,112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103,
- 0,108,105,110,101,100,105,115,116, 0,115,104,101, 97,114, 0,102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,
-117,108,112,111,115, 0,117,108,104,101,105,103,104,116, 0,120,111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104,
- 0, 42,115,116,114, 0, 42,115,101,108, 98,111,120,101,115, 0, 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121,
- 91, 50, 52, 93, 0, 42,118,102,111,110,116, 0, 42,118,102,111,110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,
-110,116, 98,105, 0,115,101,112, 99,104, 97,114, 0, 99,116,105,109,101, 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120,
- 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101,108,101,110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,
-114,105,110,102,111, 0,101,102,102,101, 99,116, 0, 42,109,102, 97, 99,101, 0, 42,109,116,102, 97, 99,101, 0, 42,116,102, 97,
- 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,114,116, 0, 42,109, 99,111,108, 0, 42,109,
-115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,109,115,101,108,101, 99,116, 0, 42,101,100,105,116,
- 95,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97, 0,116,111,116,101,100,103,101, 0,
-116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,116, 0, 97, 99,116, 95,102, 97, 99,101, 0, 99,117, 98,101,109,
- 97,112,115,105,122,101, 0,100,114, 97,119,102,108, 97,103, 0,115,109,111,111,116,104,114,101,115,104, 0,115,117, 98,100,105,
-118, 0,115,117, 98,100,105,118,114, 0,115,117, 98,115,117,114,102,116,121,112,101, 0, 42,109,114, 0, 42,112,118, 0, 42,116,
-112, 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108, 91, 52, 93, 0,116,114, 97,110,115,112, 0,116,105,108,101,
- 0,117,110,119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,118, 52, 0,101,100, 99,111,100,101, 0, 99,114,101, 97,115,
-101, 0, 98,119,101,105,103,104,116, 0,100,101,102, 95,110,114, 0, 42,100,119, 0,116,111,116,119,101,105,103,104,116, 0, 99,
-111, 91, 51, 93, 0,110,111, 91, 51, 93, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,105,110,100,101,120, 0,102, 0,105,
- 0,115, 91, 50, 53, 54, 93, 0,116,111,116,100,105,115,112, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0,118, 91, 52, 93, 0,
-109,105,100, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,102, 97, 99,101,115, 0, 42,101,100,103,101,115,
- 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,108, 95, 99,111,117,110,116, 0, 99,117,114,114,101,
-110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,110,108,118,108, 0,114,101,110,100,101,114,108,
-118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,103,115, 0, 42,101,100,103,101, 95, 99,114,101,
- 97,115,101,115, 0, 42,118,101,114,116, 95,109, 97,112, 0, 42,101,100,103,101, 95,109, 97,112, 0, 42,111,108,100, 95,102, 97,
- 99,101,115, 0, 42,111,108,100, 95,101,100,103,101,115, 0, 42,101,114,114,111,114, 0,109,111,100,105,102,105,101,114, 0,115,
-117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,101,118,101,108,115, 0, 42,101,109, 67, 97, 99,104,101, 0,
- 42,109, 67, 97, 99,104,101, 0,100,101,102, 97,120,105,115, 0,112, 97,100, 91, 54, 93, 0,108,101,110,103,116,104, 0,114, 97,
-110,100,111,109,105,122,101, 0,115,101,101,100, 0, 42,111, 98, 95, 97,114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,112, 0,
- 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117,114,118,101, 95,111, 98, 0, 42,111,102,102,115,101,116, 95,111, 98, 0,111,102,
-102,115,101,116, 91, 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, 0,109,101,114,103,101, 95,100,105,115,116, 0,102,105,116, 95,
-116,121,112,101, 0,111,102,102,115,101,116, 95,116,121,112,101, 0, 99,111,117,110,116, 0, 97,120,105,115, 0,116,111,108,101,
-114, 97,110, 99,101, 0, 42,109,105,114,114,111,114, 95,111, 98, 0,115,112,108,105,116, 95, 97,110,103,108,101, 0,118, 97,108,
-117,101, 0,114,101,115, 0,118, 97,108, 95,102,108, 97,103,115, 0,108,105,109, 95,102,108, 97,103,115, 0,101, 95,102,108, 97,
-103,115, 0, 98,101,118,101,108, 95, 97,110,103,108,101, 0,100,101,102,103,114,112, 95,110, 97,109,101, 91, 51, 50, 93, 0, 42,
-116,101,120,116,117,114,101, 0,115,116,114,101,110,103,116,104, 0,100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,
-118,101,108, 0,116,101,120,109, 97,112,112,105,110,103, 0, 42,109, 97,112, 95,111, 98,106,101, 99,116, 0,117,118,108, 97,121,
-101,114, 95,110, 97,109,101, 91, 51, 50, 93, 0,117,118,108, 97,121,101,114, 95,116,109,112, 0, 42,112,114,111,106,101, 99,116,
-111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,117,109, 95,112,114,111,106,101, 99,116,111,114,115, 0, 97,115,
-112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,
-102, 97, 99, 0,114,101,112,101, 97,116, 0, 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,
-115,116, 97,114,116,121, 0,104,101,105,103,104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,
-102, 97,108,108,111,102,102, 0,116,105,109,101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,
-102,108, 97,103, 0,109,117,108,116,105, 0, 42,112,114,101,118, 67,111,115, 0,112, 97,114,101,110,116,105,110,118, 91, 52, 93,
- 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114, 0,116,111,116,105,110,100,101,120, 0,102,111,
-114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,109, 95,112, 97,114,109,115, 0, 42, 99,111,108,
-108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,
-111,108,100, 0, 42, 99,117,114,114,101,110,116, 95,120,110,101,119, 0, 42, 99,117,114,114,101,110,116, 95,120, 0, 42, 99,117,
-114,114,101,110,116, 95,118, 0, 42,109,102, 97, 99,101,115, 0,110,117,109,118,101,114,116,115, 0,110,117,109,102, 97, 99,101,
-115, 0, 97, 98,115,111,114,112,116,105,111,110, 0,116,105,109,101, 0, 42, 98,118,104,116,114,101,101, 0, 42,100,109, 0,111,
-112,101,114, 97,116,105,111,110, 0,118,101,114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,
-100,115,105,122,101, 0,110,101,101,100, 98,105,110,100, 0, 42, 98,105,110,100,119,101,105,103,104,116,115, 0, 42, 98,105,110,
-100, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,105,100, 0, 42,100,121,110,105,110,
-102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100, 50, 0,100,121,110,103,114,105,100,
-115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,101,108,108,119,105,100,116,104, 0,
- 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42,112,115,121,115, 0,116,111,116,100,109,118,101,114,116, 0,116,111,
-116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,115,121,115, 0,112,111,115,105,116,105,111,110, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0,240,214, 35,189, 0, 0, 0, 0,184,155,196,189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,205,204, 76, 62, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 72, 0, 0, 0,248,242, 55, 3, 0, 0, 0, 0,120, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 60, 85, 32, 60, 0, 0, 0, 0, 0, 0, 0, 0, 68, 78, 65, 49,
+148,230, 0, 0, 56,212, 56, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65, 78, 65, 77, 69, 10, 12, 0, 0,
+ 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,105,114,115,116, 0, 42,108, 97,115,116, 0,120,
+ 0,121, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0,
+103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103,
+ 0,110, 97,109,101, 91, 51, 50, 93, 0,115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101,
+110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,109,101, 91, 50, 52, 93, 0,117,115, 0,105, 99,111,110, 95,105,
+100, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105,108,101,100,
+ 97,116, 97, 0,110, 97,109,101, 91, 50, 52, 48, 93, 0,102,105,108,101,112, 97,116,104, 91, 50, 52, 48, 93, 0,116,111,116, 0,
+112, 97,100, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93,
+ 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114,101, 99,116, 91, 50, 93, 0, 42,
+111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42,
+ 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,121,112,101, 0,116,
+111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,107, 0,115,108,105,
+100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,105,118,101,114, 0,
+ 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,111,115, 0,114,101,
+108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,112, 97,100, 50, 0, 42,119,101,105,103,104,116,115, 0,118,103,114,
+111,117,112, 91, 51, 50, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120, 0, 42, 97,100,116,
+ 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,122,101, 0, 98,108,
+111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,104, 0, 42,108,105,
+110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,115,116, 97,114,116, 0,101,110,100,
+ 0,112, 97,100, 49, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, 91, 52, 93, 0, 42,110, 97,109,
+101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,108,108, 0, 99,117,114, 99, 0,
+115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,110,100,111, 95,112,111,115, 0,
+117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, 0,115,105,122,101, 0,115,101,
+101,107, 0,100,116,120, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,108,105,112,115,116, 97, 0, 99,108,
+105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,119,115,105,122,101, 0,
+115,104,105,102,116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 42,100,111,102, 95,111, 98,
+ 0, 42,115, 99,101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,102,102,115,101,116, 0,115,102,
+114, 97, 0,102,105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105, 95,105,110,100,101,120, 0,108,
+ 97,121,101,114, 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,117,114,101, 0, 42, 97,110,105,
+109, 0, 42,114,114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,101,110,100,101,114, 95,115,108,111,116, 0,108, 97,
+115,116, 95,114,101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, 99,101, 0,108, 97,115,116,102,114, 97,109,101, 0,
+116,112, 97,103,101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,114,101,112, 0,116,119,115,116,
+ 97, 0,116,119,101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,100, 0, 42,112, 97, 99,107,101,
+100,102,105,108,101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,117,112,100, 97,116,101, 0,108, 97,115,116,117,115,
+101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121, 0,103,101,110, 95,116,121,112,
+101, 0, 97,115,112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,109, 97,112,116,111,110,101,103,
+ 0, 98,108,101,110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,117,118,110, 97,109,101, 91, 51,
+ 50, 93, 0,112,114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,112,105,110,103, 0,111,102,115,
+ 91, 51, 93, 0,115,105,122,101, 91, 51, 93, 0,114,111,116, 0,116,101,120,102,108, 97,103, 0, 99,111,108,111,114,109,111,100,
+101,108, 0,112,109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,114,109, 97,112,115,112, 97, 99,101, 0,
+119,104,105, 99,104, 95,111,117,116,112,117,116, 0, 98,114,117,115,104, 95,109, 97,112, 95,109,111,100,101, 0,112, 97,100, 91,
+ 55, 93, 0,114, 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,114, 0, 99,111,108,102, 97, 99, 0,118, 97,114,102, 97, 99,
+ 0,110,111,114,102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, 97,114,112,102, 97, 99, 0, 99,111,108,115,112,101, 99,102,
+ 97, 99, 0,109,105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, 97, 99, 0,100,105,102,102,102, 97, 99, 0,115,112,101, 99,
+102, 97, 99, 0,101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, 97, 99, 0,114, 97,121,109,105,114,114,102, 97, 99, 0,116,
+114, 97,110,115,108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,111,108,101,109,105,116,102, 97, 99, 0, 99,111,108,114,101,
+102,108,102, 97, 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, 0,100,101,110,115,102, 97, 99, 0,115, 99, 97,116,116,101,
+114,102, 97, 99, 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,102, 97, 99, 0,108,101,110,103,116,104,102, 97, 99, 0, 99,
+108,117,109,112,102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,105,110,107,102, 97, 99, 0,114,111,117,103,104,102, 97, 99,
+ 0,112, 97,100,101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,121,102, 97, 99, 0,108,105,102,101,102, 97, 99, 0,115,105,
+122,101,102, 97, 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,108,100,102, 97, 99, 0,115,104, 97,100,111,119,102, 97, 99,
+ 0,122,101,110,117,112,102, 97, 99, 0,122,101,110,100,111,119,110,102, 97, 99, 0, 98,108,101,110,100,102, 97, 99, 0,110, 97,
+109,101, 91, 49, 54, 48, 93, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0, 42,115,116,110, 97,109,101,115, 0,
+115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,115,117,108,116, 0, 42, 99,102,114,
+ 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,105,110,115,116, 97,110, 99,101, 95,
+105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,101,114,115,105,111,110, 0, 97, 0,
+105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105,109, 97,116, 91, 52, 93, 91, 52, 93,
+ 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101,119,115, 99, 97,108,101, 0,110,111,
+116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97,108, 99, 0,108, 97,115,116,115,105,
+122,101, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102, 95,115,111,102,116,110,101,115,115,
+ 0,114, 97,100,105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111,116,112,111,105,110,116,115, 0,112,
+100,112, 97,100, 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0,111, 98, 95, 99, 97,
+ 99,104,101, 95,115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42,112,111,105,110,116, 95,100, 97,116,
+ 97, 0,110,111,105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116,104, 0,110,111,105,115,101, 95,105,
+110,102,108,117,101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100,112, 97,100, 51, 91, 51, 93, 0,110,
+111,105,115,101, 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0,102, 97,108,108,111,102,102, 95,115,112,101,
+101,100, 95,115, 99, 97,108,101, 0,112,100,112, 97,100, 50, 0, 42, 99,111, 98, 97, 0, 42,102, 97,108,108,111,102,102, 95, 99,
+117,114,118,101, 0,114,101,115,111,108, 91, 51, 93, 0,105,110,116,101,114,112, 95,116,121,112,101, 0,102,105,108,101, 95,102,
+111,114,109, 97,116, 0,101,120,116,101,110,100, 0,115,109,111,107,101,100, 95,116,121,112,101, 0,105,110,116, 95,109,117,108,
+116,105,112,108,105,101,114, 0,115,116,105,108,108, 95,102,114, 97,109,101, 0,115,111,117,114, 99,101, 95,112, 97,116,104, 91,
+ 50, 52, 48, 93, 0, 42,100, 97,116, 97,115,101,116, 0, 99, 97, 99,104,101,100,102,114, 97,109,101, 0,110,111,105,115,101,115,
+105,122,101, 0,116,117,114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,115,116, 0,115, 97,116,117,114,
+ 97,116,105,111,110, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,108,116,101,114,115,105,122,101, 0,
+109,103, 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111, 99,116, 97,118,101,115, 0,109,103,
+ 95,111,102,102,115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,111,117,110,116, 0,110,115, 95,111,
+117,116,115, 99, 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,119, 51, 0,118,110, 95,119, 52, 0,
+118,110, 95,109,101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,116,121,112,101, 0,110,111,105,115,
+101,100,101,112,116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98, 97,115,105,115, 0,110,111,105,115,
+101, 98, 97,115,105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,110, 0, 99,114,111,112,121,109,105,
+110, 0, 99,114,111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,102,105,108,116,101,114, 0, 97,102,
+109, 97,120, 0,120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101, 99,107,101,114,100,105,115,116, 0,
+110, 97, 98,108, 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,108,117,103,105,110, 0, 42,101,
+110,118, 0, 42,112,100, 0, 42,118,100, 0,117,115,101, 95,110,111,100,101,115, 0,108,111, 99, 91, 51, 93, 0,114,111,116, 91,
+ 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120, 91, 51, 93, 0,109,111,100,101, 0,
+116,111,116,101,120, 0,115,104,100,119,114, 0,115,104,100,119,103, 0,115,104,100,119, 98, 0,115,104,100,119,112, 97,100, 0,
+101,110,101,114,103,121, 0,100,105,115,116, 0,115,112,111,116,115,105,122,101, 0,115,112,111,116, 98,108,101,110,100, 0,104,
+ 97,105,110,116, 0, 97,116,116, 49, 0, 97,116,116, 50, 0, 42, 99,117,114,102, 97,108,108,111,102,102, 0,115,104, 97,100,115,
+112,111,116,115,105,122,101, 0, 98,105, 97,115, 0,115,111,102,116, 0, 99,111,109,112,114,101,115,115,116,104,114,101,115,104,
+ 0,112, 97,100, 53, 91, 51, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,102,102,101,114,115, 0,102,105,
+108,116,101,114,116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101, 0,114, 97,121, 95,115, 97,109,
+112, 0,114, 97,121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,121, 95,115, 97,109,112, 95,116,
+121,112,101, 0, 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101, 0, 97,114,101, 97, 95,115,105,
+122,101,121, 0, 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0,114, 97,121, 95,
+115, 97,109,112, 95,109,101,116,104,111,100, 0,116,101,120, 97, 99,116, 0,115,104, 97,100,104, 97,108,111,115,116,101,112, 0,
+115,117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,121, 98,108,101,110,100,116,121,112,101, 0,104,111,114,
+105,122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,114,101, 97,100, 0,115,117,110, 95, 98,114,105,103,104,
+116,110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,115, 99, 97,116,116,101,114,101,100, 95,108,105,103,
+104,116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,116,109, 95,116,117,114, 98,105,100,105,116,121, 0, 97,
+116,109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,101,120,116,105,110,
+ 99,116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,115,116, 97,110, 99,101, 95,102, 97, 99,116,111,114,
+ 0,115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,112,111,115,117,114,101, 0,115,107,121, 95, 99,111,
+108,111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 91, 54, 93, 0, 42,109,116,101,120, 91, 49, 56, 93, 0,112,114, 95,116,101,
+120,116,117,114,101, 0,112, 97,100, 54, 91, 54, 93, 0,100,101,110,115,105,116,121, 0,101,109,105,115,115,105,111,110, 0,115,
+ 99, 97,116,116,101,114,105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,105,115,115,105,111,110, 95, 99,111,
+108, 91, 51, 93, 0,116,114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,114,101,102,108,101, 99,116,
+105,111,110, 95, 99,111,108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,101, 0,100,101,112,116,104, 95, 99,
+117,116,111,102,102, 0, 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,101, 95,116,121,112,101, 0,115,104,
+ 97,100,101,102,108, 97,103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99, 97, 99,104,101, 95,114,101,115,111,
+108,117,116,105,111,110, 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102, 0,109,115, 95,105,110,116,101,110,
+115,105,116,121, 0,109,115, 95,115,112,114,101, 97,100, 0,109, 97,116,101,114,105, 97,108, 95,116,121,112,101, 0,115,112,101,
+ 99,114, 0,115,112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,103, 0,109,105,114, 98, 0, 97,109,
+ 98,114, 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,110,103, 0,115,112,101, 99,116,114,
+ 97, 0,114, 97,121, 95,109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,115,112,101, 99, 0,122,111,102,102,
+115, 0, 97,100,100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,102,114,101,115,110,101,108, 95,109,
+105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,108, 95,116,114, 97, 0,102,114,101,
+115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,109,105,116, 0,116,120, 95,102, 97,
+108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,116,104, 95,116,114, 97, 0,104, 97,
+114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114, 0,103,108,111,115,115, 95,116,114,
+ 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,108,111,115,115, 95,116,114, 97, 0,
+ 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,116,114,
+ 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,109,105,114, 0,102, 97,100,101,116,
+111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108, 0,102,108, 97,114,101, 99, 0,115,
+116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101, 0,102,108, 97,114,101,115,105,122,
+101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,114, 97,110,100, 95,115,116, 97, 0,
+115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,115,116,114, 97,110,100, 95,115,117,
+114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100, 95,119,105,100,116,104,102, 97,100,
+101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 51, 50, 93, 0,115, 98,105, 97,115, 0,108, 98,105, 97,115, 0,
+115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,108, 0,112,114, 95,116,121,112,101,
+ 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,103, 0,100,105,102,102, 95,115,104,
+ 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,101,115,115, 0,114,101,102,114, 97,
+ 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115, 0, 42,114, 97,109,112, 95, 99,111,
+108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108, 0,114, 97,109,112,105,110, 95,115,
+112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,108,101,110,100, 95,115,112,101, 99,
+ 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99, 95, 99,111,108, 0,114, 97,109,112,
+102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,110, 0,102,104, 0,114,101,102,108,
+101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,109,111,100,101, 0,115,115,115, 95,
+114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,115, 95,101,114,114,111,114, 0,115,
+115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,108,102, 97, 99, 0,115,115,115, 95,
+116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97, 99,107, 0,115,115,115, 95,102,108,
+ 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,116,117,114,101,100, 0,115,104, 97,
+100,111,119,111,110,108,121, 95,102,108, 97,103, 0,105,110,100,101,120, 0,103,112,117,109, 97,116,101,114,105, 97,108, 0,110,
+ 97,109,101, 91, 50, 53, 54, 93, 0, 42, 98, 98, 0,105, 49, 0,106, 49, 0,107, 49, 0,105, 50, 0,106, 50, 0,107, 50, 0,115,
+101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,122, 0,113,117, 97,116, 91, 52, 93, 0,101,120,112,120, 0,101,120,
+112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,109, 97,116, 0,101,108,
+101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,102,108, 97,103, 50, 0,
+116,111,116, 99,111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101, 0,116,104,114,101,115,
+104, 0, 42,108, 97,115,116,101,108,101,109, 0,118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, 0,119,101,105,103,104,
+116, 0,104, 49, 0,104, 50, 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, 52, 93, 0,109, 97,116,
+ 95,110,114, 0,112,110,116,115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,111,108,118, 0,111,114,
+100,101,114,117, 0,111,114,100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,110,111,116,115,117, 0,
+ 42,107,110,111,116,115,118, 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, 95,105,110,116,101,114,
+112, 0, 99,104, 97,114,105,100,120, 0,107,101,114,110, 0,119, 0,104, 0,110,117,114, 98,115, 0, 42,107,101,121,105,110,100,
+101,120, 0,115,104, 97,112,101,110,114, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, 42, 98,101,118,111, 98,
+106, 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,112, 97,116,104, 0, 42,
+107,101,121, 0, 98,101,118, 0,100,114, 97,119,102,108, 97,103, 0,116,119,105,115,116, 95,109,111,100,101, 0,116,119,105,115,
+116, 95,115,109,111,111,116,104, 0,115,109, 97,108,108, 99, 97,112,115, 95,115, 99, 97,108,101, 0,112, 97,116,104,108,101,110,
+ 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,116, 49, 0,101,120,116, 50, 0,114,101,115,111,108,117,
+ 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,116,110,117, 0, 42,108, 97,115,116,115,101,108, 0,115,
+112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103, 0,108,105,110,101,100,105,115,116, 0,115,104,101, 97,114, 0,
+102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,117,108,112,111,115, 0,117,108,104,101,105,103,104,116, 0,120,
+111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104, 0, 42,115,116,114, 0, 42,115,101,108, 98,111,120,101,115, 0,
+ 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121, 91, 50, 52, 93, 0, 42,118,102,111,110,116, 0, 42,118,102,111,
+110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,110,116, 98,105, 0,115,101,112, 99,104, 97,114, 0, 99,116,105,
+109,101, 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120, 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,115,101,
+108,101,110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,114,105,110,102,111, 0, 42,109,102, 97, 99,101, 0, 42,109,116,
+102, 97, 99,101, 0, 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,114,116,
+ 0, 42,109, 99,111,108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,109,115,101,108,
+101, 99,116, 0, 42,101,100,105,116, 95,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,116, 97,
+ 0,116,111,116,101,100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,116, 0, 97, 99,116, 95,102,
+ 97, 99,101, 0,115,109,111,111,116,104,114,101,115,104, 0,115,117, 98,100,105,118, 0,115,117, 98,100,105,118,114, 0,115,117,
+ 98,115,117,114,102,116,121,112,101, 0,101,100,105,116,102,108, 97,103, 0, 42,109,114, 0, 42,112,118, 0, 42,116,112, 97,103,
+101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108, 91, 52, 93, 0,116,114, 97,110,115,112, 0,116,105,108,101, 0,117,110,
+119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,118, 52, 0,101,100, 99,111,100,101, 0, 99,114,101, 97,115,101, 0, 98,
+119,101,105,103,104,116, 0,100,101,102, 95,110,114, 0, 42,100,119, 0,116,111,116,119,101,105,103,104,116, 0, 99,111, 91, 51,
+ 93, 0,110,111, 91, 51, 93, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,102, 0,105, 0,115, 91, 50, 53, 54, 93, 0,116,
+111,116,100,105,115,112, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0,118, 91, 52, 93, 0,109,105,100, 0,112, 97,100, 91, 50,
+ 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,102, 97, 99,101,115, 0, 42,101,100,103,101,115, 0, 42,
+118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,108, 95, 99,111,117,110,116, 0, 99,117,114,114,101,110,116,
+ 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,110,108,118,108, 0,114,101,110,100,101,114,108,118,108,
+ 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,103,115, 0, 42,101,100,103,101, 95, 99,114,101, 97,115,
+101,115, 0, 42,118,101,114,116, 95,109, 97,112, 0, 42,101,100,103,101, 95,109, 97,112, 0, 42,111,108,100, 95,102, 97, 99,101,
+115, 0, 42,111,108,100, 95,101,100,103,101,115, 0,115,116, 97, 99,107,105,110,100,101,120, 0, 42,101,114,114,111,114, 0,109,
+111,100,105,102,105,101,114, 0, 42,116,101,120,116,117,114,101, 0, 42,109, 97,112, 95,111, 98,106,101, 99,116, 0,117,118,108,
+ 97,121,101,114, 95,110, 97,109,101, 91, 51, 50, 93, 0,117,118,108, 97,121,101,114, 95,116,109,112, 0,116,101,120,109, 97,112,
+112,105,110,103, 0,115,117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,101,118,101,108,115, 0, 42,101,109,
+ 67, 97, 99,104,101, 0, 42,109, 67, 97, 99,104,101, 0,100,101,102, 97,120,105,115, 0,112, 97,100, 91, 54, 93, 0,108,101,110,
+103,116,104, 0,114, 97,110,100,111,109,105,122,101, 0,115,101,101,100, 0, 42,111, 98, 95, 97,114,109, 0, 42,115,116, 97,114,
+116, 95, 99, 97,112, 0, 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117,114,118,101, 95,111, 98, 0, 42,111,102,102,115,101,116,
+ 95,111, 98, 0,111,102,102,115,101,116, 91, 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, 0,109,101,114,103,101, 95,100,105,115,
+116, 0,102,105,116, 95,116,121,112,101, 0,111,102,102,115,101,116, 95,116,121,112,101, 0, 99,111,117,110,116, 0, 97,120,105,
+115, 0,116,111,108,101,114, 97,110, 99,101, 0, 42,109,105,114,114,111,114, 95,111, 98, 0,115,112,108,105,116, 95, 97,110,103,
+108,101, 0,118, 97,108,117,101, 0,114,101,115, 0,118, 97,108, 95,102,108, 97,103,115, 0,108,105,109, 95,102,108, 97,103,115,
+ 0,101, 95,102,108, 97,103,115, 0, 98,101,118,101,108, 95, 97,110,103,108,101, 0,100,101,102,103,114,112, 95,110, 97,109,101,
+ 91, 51, 50, 93, 0, 42,100,111,109, 97,105,110, 0, 42,102,108,111,119, 0, 42, 99,111,108,108, 0,116,105,109,101, 0,112, 97,
+100, 49, 48, 0,115,116,114,101,110,103,116,104, 0,100,105,114,101, 99,116,105,111,110, 0,109,105,100,108,101,118,101,108, 0,
+ 42,112,114,111,106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,117,109, 95,112,114,111,106,101,
+ 99,116,111,114,115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115, 99, 97,108,101,120, 0,115, 99, 97,
+108,101,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102, 97, 99, 0,114,101,112,101, 97,116,
+ 0, 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,116, 97,114,116,121, 0,104,101,105,
+103,104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102, 97,108,108,111,102,102, 0,116,105,
+109,101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,108, 97,103, 0,109,117,108,116,105,
+ 0, 42,112,114,101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,112, 97,114,101,110,116,105,110,
+118, 91, 52, 93, 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114, 0,116,111,116,105,110,100,101,
+120, 0,102,111,114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,109, 95,112, 97,114,109,115, 0,
+ 42, 99,111,108,108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 0,112,116, 99, 97, 99,104,101,
+115, 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,110,116, 95,120,110,101,119, 0, 42,
+ 99,117,114,114,101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,102, 97, 99,101,115, 0,110,117,109,
+118,101,114,116,115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,105,109,101, 95,120,110,101,119, 0,
+ 42, 98,118,104,116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,101,114, 97,116,105,111,110, 0,118,
+101,114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,115,105,122,101, 0, 42, 98,105,110,
+100,105,110,102,108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,115, 0, 42, 98,105,110,100, 99, 97,
+103,101, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,105,100, 0, 42,100,121,110,105,
+110,102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100, 50, 0,100,121,110,103,114,105,
+100,115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,101,108,108,119,105,100,116,104,
+ 0, 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,103,104,116,115, 0, 42, 98,105,110,
+100, 99,111,115, 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,115, 0,116,111,116,100,109,118,101,
+114,116, 0,116,111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,111,115,105,116,105,111,110, 0,
114, 97,110,100,111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97, 0,118,103,114,111,117,112, 0,112,
-114,111,116,101, 99,116, 0, 42,117,110,100,111, 95,118,101,114,116,115, 0,117,110,100,111, 95,118,101,114,116,115, 95,116,111,
-116, 0,117,110,100,111, 95,115,105,103,110, 97,108, 0,108,118,108, 0,116,111,116,108,118,108, 0,115,105,109,112,108,101, 0,
- 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,101,116, 0,118,103,114,111,117,112, 95,110,
- 97,109,101, 91, 51, 50, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,110,107, 84,121,112,101, 0,115,104,114,105,
-110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,114,102, 76,101,118,101,108,115, 0, 42,111,
-114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93, 0,111,114,105,103,105,110, 79,112,116,115,
- 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,115,118, 0,111,112,110,116,115,119, 0,116,121,112,101,
-117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,118, 0,102,119, 0,100,117, 0,100,118, 0,100,119, 0,
- 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,108, 97,116,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42,
-101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, 0,112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,
-112, 97,114, 50, 0,112, 97,114, 51, 0,112, 97,114,115,117, 98,115,116,114, 91, 51, 50, 93, 0, 42,116,114, 97, 99,107, 0, 42,
-112,114,111,120,121, 0, 42,112,114,111,120,121, 95,103,114,111,117,112, 0, 42,112,114,111,120,121, 95,102,114,111,109, 0, 42,
- 97, 99,116,105,111,110, 0, 42,112,111,115,101,108,105, 98, 0, 42,112,111,115,101, 0, 99,111,110,115,116,114, 97,105,110,116,
- 67,104, 97,110,110,101,108,115, 0,100,101,102, 98, 97,115,101, 0,109,111,100,105,102,105,101,114,115, 0, 42,109, 97,116, 98,
-105,116,115, 0, 97, 99,116, 99,111,108, 0,100,108,111, 99, 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101,
- 91, 51, 93, 0,100,114,111,116, 91, 51, 93, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 99,111,110,115,116,105,110,118,
- 91, 52, 93, 91, 52, 93, 0,108, 97,121, 0, 99,111,108, 98,105,116,115, 0,116,114, 97,110,115,102,108, 97,103, 0,112,114,111,
-116,101, 99,116,102,108, 97,103, 0,116,114, 97, 99,107,102,108, 97,103, 0,117,112,102,108, 97,103, 0,110,108, 97,102,108, 97,
-103, 0,105,112,111,102,108, 97,103, 0,105,112,111,119,105,110, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97,118,105,115,102,
-108, 97,103, 0, 98,111,117,110,100,116,121,112,101, 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116,
- 97, 0,100,117,112,101,110,100, 0,115,102, 0,109, 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97,
- 0,102,111,114,109,102, 97, 99,116,111,114, 0,114,100, 97,109,112,105,110,103, 0,115,105,122,101,102, 97, 99, 0,109, 97,114,
-103,105,110, 0,109, 97,120, 95,118,101,108, 0,109,105,110, 95,118,101,108, 0,109, 95, 99,111,110,116, 97, 99,116, 80,114,111,
- 99,101,115,115,105,110,103, 84,104,114,101,115,104,111,108,100, 0,100,116, 0,100,116,120, 0,101,109,112,116,121, 95,100,114,
- 97,119,116,121,112,101, 0,112, 97,100, 49, 91, 53, 93, 0,101,109,112,116,121, 95,100,114, 97,119,115,105,122,101, 0,100,117,
-112,102, 97, 99,101,115, 99, 97, 0,112,114,111,112, 0,115,101,110,115,111,114,115, 0, 99,111,110,116,114,111,108,108,101,114,
-115, 0, 97, 99,116,117, 97,116,111,114,115, 0, 98, 98,115,105,122,101, 91, 51, 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,
-101,102,108, 97,103, 0,103, 97,109,101,102,108, 97,103, 50, 0, 42, 98,115,111,102,116, 0,115,111,102,116,102,108, 97,103, 0,
- 97,110,105,115,111,116,114,111,112,105, 99, 70,114,105, 99,116,105,111,110, 91, 51, 93, 0, 99,111,110,115,116,114, 97,105,110,
-116,115, 0,110,108, 97,115,116,114,105,112,115, 0,104,111,111,107,115, 0,112, 97,114,116,105, 99,108,101,115,121,115,116,101,
-109, 0, 42,112,100, 0, 42,115,111,102,116, 0, 42,100,117,112, 95,103,114,111,117,112, 0,102,108,117,105,100,115,105,109, 70,
-108, 97,103, 0,114,101,115,116,114,105, 99,116,102,108, 97,103, 0,115,104, 97,112,101,110,114, 0,115,104, 97,112,101,102,108,
- 97,103, 0,114,101, 99, 97,108, 99,111, 0, 98,111,100,121, 95,116,121,112,101, 0, 42,102,108,117,105,100,115,105,109, 83,101,
-116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,109, 0, 42,100,101,114,105,118,101,100, 70,105,
-110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0,115,116, 97,116,101, 0,105,110,105,116, 95,115,116, 97,116,
-101, 0,103,112,117,108, 97,109,112, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105,118,101, 0,100,101,102,108,101, 99,
-116, 0,102,111,114, 99,101,102,105,101,108,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,
-112, 0,112,100,101,102, 95,112,101,114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105,
- 99,116, 0,102, 95,115,116,114,101,110,103,116,104, 0,102, 95,112,111,119,101,114, 0,102, 95,100,105,115,116, 0,102, 95,100,
- 97,109,112, 0,109, 97,120,100,105,115,116, 0,109,105,110,100,105,115,116, 0,109, 97,120,114, 97,100, 0,109,105,110,114, 97,
-100, 0,102, 95,112,111,119,101,114, 95,114, 0,112,100,101,102, 95,115, 98,100, 97,109,112, 0,112,100,101,102, 95,115, 98,105,
-102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,102, 97, 99, 0, 99,108,117,109,112, 95,112,111,
-119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,107, 95,115,104, 97,112,101, 0,107,105,110,107, 95, 97,109,112, 0,
-102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97, 98,108, 97, 0,116,101,120, 95,109,111,100,101, 0,107,105,110,107,
- 0,107,105,110,107, 95, 97,120,105,115, 0,114,116, 50, 0, 42,114,110,103, 0,102, 95,110,111,105,115,101, 0,102,114, 97,109,
-101, 0,116,111,116,112,111,105,110,116, 0, 42,120,100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114, 97,109,101, 0,
-115,116, 97,114,116,102,114, 97,109,101, 0,101,110,100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109,101, 0,108, 97,
-115,116, 95,101,120, 97, 99,116, 0,120,100, 97,116, 97, 95,116,121,112,101, 0,110, 97,109,101, 91, 54, 52, 93, 0,112,114,101,
-118, 95,110, 97,109,101, 91, 54, 52, 93, 0,105,110,102,111, 91, 54, 52, 93, 0,109,101,109, 95, 99, 97, 99,104,101, 0,108,105,
-110, 83,116,105,102,102, 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,105,116,101,114, 97,116,105,111,
-110,115, 0,112,105,116,101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,110,115, 0, 99,105,116,101,114,
- 97,116,105,111,110,115, 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107, 83, 83, 72, 82, 95, 67,
- 76, 0,107, 83, 82, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 83, 95, 83, 80,
- 76, 84, 95, 67, 76, 0,107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82, 0,107, 86, 67, 0,107,
- 68, 70, 0,107, 77, 84, 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82, 0, 99,111,108,108,105,
-115,105,111,110,102,108, 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,116,101,114, 97,116,105,111,110,115, 0,119,
-101,108,100,105,110,103, 0, 42,112, 97,114,116,105, 99,108,101,115, 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,
-105,110,116, 0, 42, 98,115,112,114,105,110,103, 0,110,111,100,101,109, 97,115,115, 0,103,114, 97,118, 0,109,101,100,105, 97,
-102,114,105, 99,116, 0,114,107,108,105,109,105,116, 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,108,
-115,112,114,105,110,103, 0,103,111, 97,108,102,114,105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,108,
- 0,100,101,102,103,111, 97,108, 0,118,101,114,116,103,114,111,117,112, 0,102,117,122,122,121,110,101,115,115, 0,105,110,115,
-112,114,105,110,103, 0,105,110,102,114,105, 99,116, 0,101,102,114, 97, 0,105,110,116,101,114,118, 97,108, 0,108,111, 99, 97,
-108, 0,115,111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,116,111,116,112,111,105,110,116,107,101,121,
- 0,115,101, 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, 0, 98, 97,108,108,100, 97,109,112, 0, 98,
- 97,108,108,115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,111,101,100,103,101, 0,109,105,110,108,111,
-111,112,115, 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,108,118,101,114, 95, 73, 68, 0,112,108, 97,
-115,116,105, 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, 99,114, 97,116, 99,104, 0,115,104,101, 97,
-114,115,116,105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, 97, 99,104,101, 0,115,104,111,119, 95, 97,
-100,118, 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,116,105,111,110,120,121,122, 0,112,114,101,
-118,105,101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,117,105, 68,105,115,112,108, 97,121, 77,111,
-100,101, 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 86, 97,
-108,117,101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 69,120,112,111,110,
-101,110,116, 0,103,114, 97,118,120, 0,103,114, 97,118,121, 0,103,114, 97,118,122, 0, 97,110,105,109, 83,116, 97,114,116, 0,
- 97,110,105,109, 69,110,100, 0,103,115,116, 97,114, 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,
-105,110,105, 86,101,108,121, 0,105,110,105, 86,101,108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 83,117,
-114,102, 97, 99,101, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97, 80, 97,116,104, 91, 50, 52, 48, 93, 0,
- 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116,121,112,101, 70,108, 97,103,115, 0,100,
-111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110,105,116, 84,121,112,101, 0,112, 97,114,
-116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97, 99,101,114,115, 0,103,101,110,101,114,
- 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109,111,111,116,104,105,110,103, 0,115,117,
-114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 83,105,122,101, 0,112, 97,114,
-116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100, 83,105,122,101, 0, 42,109,101,115,104,
- 83,117,114,102, 78,111,114,109, 97,108,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114,116, 0, 99,112,115, 84,105,109,101,
- 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 83,116,114,101,110,
-103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0,118,101,108,111, 99,105,116,121,102,
-111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 82, 97,100,105,117,115,
- 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0,109,105,115,116,121,112,101, 0,104,111,114,114, 0,104,111,114,103,
- 0,104,111,114, 98, 0,104,111,114,107, 0,122,101,110,114, 0,122,101,110,103, 0,122,101,110, 98, 0,122,101,110,107, 0, 97,
-109, 98,107, 0,102, 97,115,116, 99,111,108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,101, 0,108,
-105,110,102, 97, 99, 0,108,111,103,102, 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, 66,111,120,
- 82, 97,100,105,117,115, 0,115,107,121,116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,104,121,115,
-105, 99,115, 69,110,103,105,110,101, 0,116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,112, 0,112,
-104,121,115,117, 98,115,116,101,112, 0,109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,116,115,116,
- 97, 0,109,105,115,116,100,105,115,116, 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, 0,115,116,
- 97,114, 98, 0,115,116, 97,114,107, 0,115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,116, 0,115,
-116, 97,114,100,105,115,116, 0,115,116, 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,111,102,101,
-110,100, 0,100,111,102,109,105,110, 0,100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,116,102, 97,
- 99, 0, 97,111,101,110,101,114,103,121, 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,109,112, 0,
- 97,111,109,105,120, 0, 97,111, 99,111,108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0, 97,111,
- 95, 97,100, 97,112,116, 95,115,112,101,101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,114,111,114,
- 0, 97,111, 95, 97,112,112,114,111,120, 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,115, 97,109,112, 95,109,101,
-116,104,111,100, 0, 97,111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, 97,112,112,114,111,120, 95,
-112, 97,115,115,101,115, 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,115, 0,115,101,108, 99,111,
-108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,115, 0, 99, 98, 70,111,114,
-109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,110,100,108,101,114, 0,100,
-119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,100,119, 66,121,116,101,115,
- 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,108,101, 97,118,101, 69,118,
-101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, 80, 97,114,109,115, 0, 42,
-112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 99,111,100,101,
- 99, 0, 97,117,100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,
-111, 95, 98,105,116,114, 97,116,101, 0,103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114,
- 99, 95,109, 97,120, 95,114, 97,116,101, 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97,
- 99,107,101,116, 95,115,105,122,101, 0,109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,
-112, 97,100, 91, 51, 93, 0, 42,109, 97,116, 95,111,118,101,114,114,105,100,101, 0, 42,108,105,103,104,116, 95,111,118,101,114,
-114,105,100,101, 0,108, 97,121, 95,122,109, 97,115,107, 0,108, 97,121,102,108, 97,103, 0,112, 97,115,115,102,108, 97,103, 0,
-112, 97,115,115, 95,120,111,114, 0, 42, 97,118,105, 99,111,100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99,100,
- 97,116, 97, 0,102,102, 99,111,100,101, 99,100, 97,116, 97, 0, 97,117,100,105,111, 0, 99,102,114, 97, 0,112,115,102,114, 97,
- 0,112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97,109, 97,112,116,111, 0,116,104,114,101, 97,100,115, 0,102,
-114, 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101,100,103,101, 82, 0,101,100,103,101, 71, 0,101,100,103,101,
- 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,121, 0,121,112,108, 97,121, 0,102,114,101,113,112,108, 97,
-121, 0, 97,116,116,114,105, 98, 0,114,116, 49, 0,115,116,101,114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,
-110,115,112,114,101,115,101,116, 0,109, 97,120,105,109,115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,
-114,116,115, 0,121,112, 97,114,116,115, 0,119,105,110,112,111,115, 0,112,108, 97,110,101,115, 0,105,109,116,121,112,101, 0,
-115,117, 98,105,109,116,121,112,101, 0,113,117, 97,108,105,116,121, 0,100,105,115,112,108, 97,121,109,111,100,101, 0,114,112,
- 97,100, 49, 0,114,112, 97,100, 50, 0,115, 99,101,109,111,100,101, 0,114,101,110,100,101,114,101,114, 0,111, 99,114,101,115,
- 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, 99, 0,101,100,103,101,105,110,116, 0,115,
- 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, 0,108, 97,121,101,114,115, 0, 97, 99,116,
-108, 97,121, 0,120, 97,115,112, 0,121, 97,115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115,
- 0, 99,111,108,111,114, 95,109,103,116, 95,102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117,
-101, 0,112,111,115,116,115, 97,116, 0,100,105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,
-111,115, 97, 0, 98, 97,107,101, 95,102,105,108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,
-108, 97,103, 0, 98, 97,107,101, 95,110,111,114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,
-115,112,108,105,116, 0, 98, 97,107,101, 95,109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116,
- 0, 98, 97,107,101, 95,112, 97,100, 0, 71, 73,113,117, 97,108,105,116,121, 0, 71, 73, 99, 97, 99,104,101, 0, 71, 73,109,101,
-116,104,111,100, 0, 71, 73,112,104,111,116,111,110,115, 0, 71, 73,100,105,114,101, 99,116, 0, 89, 70, 95, 65, 65, 0, 89, 70,
-101,120,112,111,114,116,120,109,108, 0, 89, 70, 95,110,111, 98,117,109,112, 0, 89, 70, 95, 99,108, 97,109,112,114,103, 98, 0,
-121,102,112, 97,100, 49, 0, 71, 73,100,101,112,116,104, 0, 71, 73, 99, 97,117,115,100,101,112,116,104, 0, 71, 73,112,105,120,
-101,108,115,112,101,114,115, 97,109,112,108,101, 0, 71, 73,112,104,111,116,111,110, 99,111,117,110,116, 0, 71, 73,109,105,120,
-112,104,111,116,111,110,115, 0, 71, 73,112,104,111,116,111,110,114, 97,100,105,117,115, 0, 89, 70, 95,114, 97,121,100,101,112,
-116,104, 0, 89, 70, 95, 65, 65,112, 97,115,115,101,115, 0, 89, 70, 95, 65, 65,115, 97,109,112,108,101,115, 0,121,102,112, 97,
-100, 50, 0, 71, 73,115,104, 97,100,111,119,113,117, 97,108,105,116,121, 0, 71, 73,114,101,102,105,110,101,109,101,110,116, 0,
- 71, 73,112,111,119,101,114, 0, 71, 73,105,110,100,105,114,112,111,119,101,114, 0, 89, 70, 95,103, 97,109,109, 97, 0, 89, 70,
- 95,101,120,112,111,115,117,114,101, 0, 89, 70, 95,114, 97,121, 98,105, 97,115, 0, 89, 70, 95, 65, 65,112,105,120,101,108,115,
-105,122,101, 0, 89, 70, 95, 65, 65,116,104,114,101,115,104,111,108,100, 0, 98, 97, 99,107, 98,117,102, 91, 49, 54, 48, 93, 0,
-112,105, 99, 91, 49, 54, 48, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, 0,115,116, 97,
+114,111,116,101, 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,116,108,118,108, 0,115,105,109,112,
+108,101, 0, 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,101,116, 0,118,103,114,111,117,
+112, 95,110, 97,109,101, 91, 51, 50, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,110,107, 84,121,112,101, 0,115,
+104,114,105,110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,114,102, 76,101,118,101,108,115,
+ 0, 42,111,114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93, 0,111,114,105,103,105,110, 79,
+112,116,115, 0,111,102,102,115,101,116, 95,102, 97, 99, 0, 99,114,101, 97,115,101, 95,105,110,110,101,114, 0, 99,114,101, 97,
+115,101, 95,111,117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109, 0,109, 97,116, 95,111,102,115, 0,109, 97,116, 95,
+111,102,115, 95,114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116,101,112,115, 0,114,101,110,100,101,114, 95,115,116,
+101,112,115, 0,105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0, 97,110,103,108,101, 0, 42,111, 98,106,101, 99,116,
+ 95,102,114,111,109, 0, 42,111, 98,106,101, 99,116, 95,116,111, 0,102, 97,108,108,111,102,102, 95,114, 97,100,105,117,115, 0,
+ 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,115,118, 0,111,112,110,116,115,119,
+ 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,118, 0,102,119, 0,100,117, 0,100,
+118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,108, 97,116,109, 97,116, 91, 52, 93,
+ 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, 0, 42,115, 99,117,108,112,116, 0,
+112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0,112, 97,114,115,117, 98,115,116,114,
+ 91, 51, 50, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111,120,121, 95,103,114,111,117,112, 0,
+ 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111,115,101,108,105, 98, 0, 42,112,111,
+115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115,116,114, 97,105,110,116, 67,104, 97,
+110,110,101,108,115, 0,101,102,102,101, 99,116, 0,100,101,102, 98, 97,115,101, 0,109,111,100,105,102,105,101,114,115, 0,114,
+101,115,116,111,114,101, 95,109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99,116, 99,111,108, 0,100,108,111, 99,
+ 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,114,111,116, 91, 51, 93, 0,100,113,117,
+ 97,116, 91, 52, 93, 0,114,111,116, 65,120,105,115, 91, 51, 93, 0,100,114,111,116, 65,120,105,115, 91, 51, 93, 0,114,111,116,
+ 65,110,103,108,101, 0,100,114,111,116, 65,110,103,108,101, 0,111, 98,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 99,111,110,115,
+116,105,110,118, 91, 52, 93, 91, 52, 93, 0,105,109, 97,116, 95,114,101,110, 91, 52, 93, 91, 52, 93, 0,108, 97,121, 0, 99,111,
+108, 98,105,116,115, 0,116,114, 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,102,108, 97,103, 0,116,114, 97, 99,
+107,102,108, 97,103, 0,117,112,102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,111,102,108, 97,103, 0,105,112,111,
+119,105,110, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97,118,105,115,102,108, 97,103, 0, 98,111,117,110,100,116,121,112,101,
+ 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116, 97, 0,100,117,112,101,110,100, 0,115,102, 0,109,
+ 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97, 0,102,111,114,109,102, 97, 99,116,111,114, 0,114,
+100, 97,109,112,105,110,103, 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118,101,108, 0,109,105,110, 95,118,101,108, 0,109,
+ 95, 99,111,110,116, 97, 99,116, 80,114,111, 99,101,115,115,105,110,103, 84,104,114,101,115,104,111,108,100, 0,114,111,116,109,
+111,100,101, 0,100,116, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,112, 97,100, 49, 91, 51, 93, 0,101,109,
+112,116,121, 95,100,114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97, 0,112,114,111,112, 0,115,101,110,
+115,111,114,115, 0, 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116,111,114,115, 0, 98, 98,115,105,122,
+101, 91, 51, 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97,109,101,102,108, 97,103, 50, 0, 42,
+ 98,115,111,102,116, 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111,112,105, 99, 70,114,105, 99,116,105,
+111,110, 91, 51, 93, 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116,114,105,112,115, 0,104,111,111,107,
+115, 0,112, 97,114,116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0, 42,100,117,112, 95,103,114,111,117,
+112, 0,102,108,117,105,100,115,105,109, 70,108, 97,103, 0,114,101,115,116,114,105, 99,116,102,108, 97,103, 0,115,104, 97,112,
+101,102,108, 97,103, 0,114,101, 99, 97,108, 99,111, 0, 98,111,100,121, 95,116,121,112,101, 0, 42,102,108,117,105,100,115,105,
+109, 83,101,116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,109, 0, 42,100,101,114,105,118,101,
+100, 70,105,110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109,
+ 97,115,107, 0,115,116, 97,116,101, 0,105,110,105,116, 95,115,116, 97,116,101, 0,103,112,117,108, 97,109,112, 0,112, 99, 95,
+105,100,115, 0, 42,100,117,112,108,105,108,105,115,116, 0,105,109, 97, 95,111,102,115, 91, 50, 93, 0,112, 97,100, 51, 91, 56,
+ 93, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105,118,101, 0,111,114,105,103,108, 97,121, 0,110,111, 95,100,114, 97,
+119, 0, 97,110,105,109, 97,116,101,100, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, 91, 51, 93, 0,100,101,
+102,108,101, 99,116, 0,102,111,114, 99,101,102,105,101,108,100, 0,115,104, 97,112,101, 0,116,101,120, 95,109,111,100,101, 0,
+107,105,110,107, 0,107,105,110,107, 95, 97,120,105,115, 0,122,100,105,114, 0,102, 95,115,116,114,101,110,103,116,104, 0,102,
+ 95,100, 97,109,112, 0,102, 95,102,108,111,119, 0,102, 95,115,105,122,101, 0,102, 95,112,111,119,101,114, 0,109, 97,120,100,
+105,115,116, 0,109,105,110,100,105,115,116, 0,102, 95,112,111,119,101,114, 95,114, 0,109, 97,120,114, 97,100, 0,109,105,110,
+114, 97,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,112, 0,112,100,101,102, 95,112,101,
+114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105, 99,116, 0,112,100,101,102, 95,115,
+116,105, 99,107,110,101,115,115, 0, 97, 98,115,111,114,112,116,105,111,110, 0,112,100,101,102, 95,115, 98,100, 97,109,112, 0,
+112,100,101,102, 95,115, 98,105,102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,102, 97, 99, 0,
+ 99,108,117,109,112, 95,112,111,119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,107, 95,115,104, 97,112,101, 0,107,
+105,110,107, 95, 97,109,112, 0,102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97, 98,108, 97, 0, 42,114,110,103, 0,
+102, 95,110,111,105,115,101, 0,119,101,105,103,104,116, 91, 49, 51, 93, 0,103,108,111, 98, 97,108, 95,103,114, 97,118,105,116,
+121, 0,114,116, 91, 51, 93, 0,116,111,116,100, 97,116, 97, 0,102,114, 97,109,101, 0,116,111,116,112,111,105,110,116, 0,100,
+ 97,116, 97, 95,116,121,112,101,115, 0, 42,100, 97,116, 97, 91, 56, 93, 0, 42, 99,117,114, 91, 56, 93, 0,101,120,116,114, 97,
+100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114, 97,109,101, 0,115,116, 97,114,116,102,114, 97,109,101, 0,101,110,
+100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109,101, 0,108, 97,115,116, 95,101,120, 97, 99,116, 0, 99,111,109,112,
+114,101,115,115,105,111,110, 0,110, 97,109,101, 91, 54, 52, 93, 0,112,114,101,118, 95,110, 97,109,101, 91, 54, 52, 93, 0,105,
+110,102,111, 91, 54, 52, 93, 0,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42, 99, 97, 99,104,101,100, 95,102,114, 97,109,101,115,
+ 0,109,101,109, 95, 99, 97, 99,104,101, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,105,116, 41, 40, 41, 0,
+108,105,110, 83,116,105,102,102, 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,105,116,101,114, 97,116,
+105,111,110,115, 0,112,105,116,101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,110,115, 0, 99,105,116,
+101,114, 97,116,105,111,110,115, 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107, 83, 83, 72, 82,
+ 95, 67, 76, 0,107, 83, 82, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 83, 95,
+ 83, 80, 76, 84, 95, 67, 76, 0,107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82, 0,107, 86, 67,
+ 0,107, 68, 70, 0,107, 77, 84, 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82, 0, 99,111,108,
+108,105,115,105,111,110,102,108, 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,116,101,114, 97,116,105,111,110,115,
+ 0,119,101,108,100,105,110,103, 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,105,110,116, 0, 42, 98,115,112,114,
+105,110,103, 0,109,115,103, 95,108,111, 99,107, 0,109,115,103, 95,118, 97,108,117,101, 0,110,111,100,101,109, 97,115,115, 0,
+110, 97,109,101,100, 86, 71, 95, 77, 97,115,115, 91, 51, 50, 93, 0,103,114, 97,118, 0,109,101,100,105, 97,102,114,105, 99,116,
+ 0,114,107,108,105,109,105,116, 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,108,115,112,114,105,110,
+103, 0,103,111, 97,108,102,114,105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,108, 0,100,101,102,103,
+111, 97,108, 0,118,101,114,116,103,114,111,117,112, 0,110, 97,109,101,100, 86, 71, 95, 83,111,102,116,103,111, 97,108, 91, 51,
+ 50, 93, 0,102,117,122,122,121,110,101,115,115, 0,105,110,115,112,114,105,110,103, 0,105,110,102,114,105, 99,116, 0,110, 97,
+109,101,100, 86, 71, 95, 83,112,114,105,110,103, 95, 75, 91, 51, 50, 93, 0,101,102,114, 97, 0,105,110,116,101,114,118, 97,108,
+ 0,108,111, 99, 97,108, 0,115,111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,116,111,116,112,111,105,
+110,116,107,101,121, 0,115,101, 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, 0, 98, 97,108,108,100,
+ 97,109,112, 0, 98, 97,108,108,115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,111,101,100,103,101, 0,
+109,105,110,108,111,111,112,115, 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,108,118,101,114, 95, 73,
+ 68, 0,112,108, 97,115,116,105, 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, 99,114, 97,116, 99,104,
+ 0,115,104,101, 97,114,115,116,105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, 97, 99,104,101, 0, 42,
+101,102,102,101, 99,116,111,114, 95,119,101,105,103,104,116,115, 0,108, 99,111,109, 91, 51, 93, 0,108,114,111,116, 91, 51, 93,
+ 91, 51, 93, 0,108,115, 99, 97,108,101, 91, 51, 93, 91, 51, 93, 0,112, 97,100, 52, 91, 52, 93, 0,118,101,108, 91, 51, 93, 0,
+ 42,102,109,100, 0,115,104,111,119, 95, 97,100,118, 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,
+116,105,111,110,120,121,122, 0,112,114,101,118,105,101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,
+117,105, 68,105,115,112,108, 97,121, 77,111,100,101, 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,
+118,105,115, 99,111,115,105,116,121, 86, 97,108,117,101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115,
+ 99,111,115,105,116,121, 69,120,112,111,110,101,110,116, 0,103,114, 97,118, 91, 51, 93, 0, 97,110,105,109, 83,116, 97,114,116,
+ 0, 97,110,105,109, 69,110,100, 0, 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101, 69,110,100, 0,103,115,116, 97,114,
+ 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86,101,108,121, 0,105,110,105, 86,101,
+108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97, 80, 97,116,104,
+ 91, 50, 52, 48, 93, 0, 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116,121,112,101, 70,
+108, 97,103,115, 0,100,111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110,105,116, 84,121,
+112,101, 0,112, 97,114,116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97, 99,101,114,115,
+ 0,103,101,110,101,114, 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109,111,111,116,104,
+105,110,103, 0,115,117,114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 83,105,
+122,101, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100, 83,105,122,101,
+ 0, 42,109,101,115,104, 86,101,108,111, 99,105,116,105,101,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114,116, 0, 99,112,
+115, 84,105,109,101, 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101,
+ 83,116,114,101,110,103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0,118,101,108,111,
+ 99,105,116,121,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 82,
+ 97,100,105,117,115, 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0,109,105,115,116,121,112,101, 0,104,111,114,114,
+ 0,104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,110,103, 0,122,101,110, 98, 0,102, 97,115,116, 99,111,
+108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,101, 0,108,105,110,102, 97, 99, 0,108,111,103,102,
+ 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, 66,111,120, 82, 97,100,105,117,115, 0,115,107,121,
+116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,104,121,115,105, 99,115, 69,110,103,105,110,101, 0,
+116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,112, 0,112,104,121,115,117, 98,115,116,101,112, 0,
+109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,116,115,116, 97, 0,109,105,115,116,100,105,115,116,
+ 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, 0,115,116, 97,114, 98, 0,115,116, 97,114,107, 0,
+115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,116, 0,115,116, 97,114,100,105,115,116, 0,115,116,
+ 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,111,102,101,110,100, 0,100,111,102,109,105,110, 0,
+100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,116,102, 97, 99, 0, 97,111,101,110,101,114,103,121,
+ 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,109,112, 0, 97,111,109,105,120, 0, 97,111, 99,111,
+108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0, 97,111, 95, 97,100, 97,112,116, 95,115,112,101,
+101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,114,111,114, 0, 97,111, 95, 97,112,112,114,111,120,
+ 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95,101,110,101,114,103,121, 0, 97,
+111, 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,100, 50, 0, 97,111, 95,105,110,100,105,114,101, 99,116,
+ 95, 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111, 95,115, 97,109,112, 95,109,101,116,104,111,100, 0, 97,
+111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, 97,112,112,114,111,120, 95,112, 97,115,115,101,115,
+ 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,115, 0,112, 97,100, 91, 51, 93, 0,115,101,108, 99,
+111,108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,115, 0, 99, 98, 70,111,
+114,109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,110,100,108,101,114, 0,
+100,119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,100,119, 66,121,116,101,
+115, 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,108,101, 97,118,101, 69,
+118,101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, 80, 97,114,109,115, 0,
+ 42,112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 99,111,100,
+101, 99, 84,121,112,101, 0, 99,111,100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0, 99,111,100,101, 99,
+ 0, 99,111,100,101, 99, 70,108, 97,103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0, 99,111,100,101, 99, 84,101,109,112,
+111,114, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0,109,105,
+110, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,109,101, 82, 97,116,101, 0, 98,105,
+116, 82, 97,116,101, 0, 97,117,100,105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,100,105,111, 83, 97,109,112,108,101,
+ 82, 97,116,101, 0, 97,117,100,105,111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,111, 67,104, 97,110,110,101,108,115,
+ 0, 97,117,100,105,111, 67,111,100,101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,105,116, 82, 97,116,101, 0, 97,117,
+100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95, 98,105,
+116,114, 97,116,101, 0, 97,117,100,105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,105,111, 95,118,111,108,117,109,101,
+ 0,103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114, 99, 95,109, 97,120, 95,114, 97,116,
+101, 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97, 99,107,101,116, 95,115,105,122,101,
+ 0,109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,115,112,101,101,100, 95,111,102, 95,
+115,111,117,110,100, 0,100,111,112,112,108,101,114, 95,102, 97, 99,116,111,114, 0,100,105,115,116, 97,110, 99,101, 95,109,111,
+100,101,108, 0, 42,109, 97,116, 95,111,118,101,114,114,105,100,101, 0, 42,108,105,103,104,116, 95,111,118,101,114,114,105,100,
+101, 0,108, 97,121, 95,122,109, 97,115,107, 0,108, 97,121,102,108, 97,103, 0,112, 97,115,115,102,108, 97,103, 0,112, 97,115,
+115, 95,120,111,114, 0, 42, 97,118,105, 99,111,100,101, 99,100, 97,116, 97, 0, 42,113,116, 99,111,100,101, 99,100, 97,116, 97,
+ 0,113,116, 99,111,100,101, 99,115,101,116,116,105,110,103,115, 0,102,102, 99,111,100,101, 99,100, 97,116, 97, 0,115,117, 98,
+102,114, 97,109,101, 0,112,115,102,114, 97, 0,112,101,102,114, 97, 0,105,109, 97,103,101,115, 0,102,114, 97,109, 97,112,116,
+111, 0,116,104,114,101, 97,100,115, 0,102,114, 97,109,101,108,101,110, 0, 98,108,117,114,102, 97, 99, 0,101,100,103,101, 82,
+ 0,101,100,103,101, 71, 0,101,100,103,101, 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,121, 0,121,112,
+108, 97,121, 0,102,114,101,113,112,108, 97,121, 0, 97,116,116,114,105, 98, 0,102,114, 97,109,101, 95,115,116,101,112, 0,115,
+116,101,114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,110,115,112,114,101,115,101,116, 0,109, 97,120,105,109,
+115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115, 0,112,108, 97,
+110,101,115, 0,105,109,116,121,112,101, 0,115,117, 98,105,109,116,121,112,101, 0,113,117, 97,108,105,116,121, 0,100,105,115,
+112,108, 97,121,109,111,100,101, 0,115, 99,101,109,111,100,101, 0,114, 97,121,116,114, 97, 99,101, 95,111,112,116,105,111,110,
+115, 0,114, 97,121,116,114, 97, 99,101, 95,115,116,114,117, 99,116,117,114,101, 0,114,101,110,100,101,114,101,114, 0,111, 99,
+114,101,115, 0,112, 97,100, 52, 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, 99, 0,101,
+100,103,101,105,110,116, 0,115, 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, 0,108, 97,
+121,101,114,115, 0, 97, 99,116,108, 97,121, 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,115,112, 0,121,
+ 97,115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114, 95,109,103,116,
+ 95,102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,115, 97,116, 0,
+100,105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,107,101, 95,102,
+105,108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,107,101, 95,110,
+111,114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0, 98, 97,107,101,
+ 95,109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,112, 97,100, 0,
+112,105, 99, 91, 50, 52, 48, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, 0,115,116, 97,
109,112, 95,117,100, 97,116, 97, 91, 49, 54, 48, 93, 0,102,103, 95,115,116, 97,109,112, 91, 52, 93, 0, 98,103, 95,115,116, 97,
-109,112, 91, 52, 93, 0,115,105,109,112,108,105,102,121, 95,115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,
-115,104, 97,100,111,119,115, 97,109,112,108,101,115, 0,115,105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115,
- 0,115,105,109,112,108,105,102,121, 95, 97,111,115,115,115, 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,
-111,110, 98,108, 97, 99,107, 0, 99,105,110,101,111,110,103, 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,
-112, 50, 95,100,101,112,116,104, 0,114,112, 97,100, 51, 0,100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,
-100,111,109,101, 97,110,103,108,101, 0,100,111,109,101,116,105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,
-111,109,101,116,101,120,116, 0,112, 97,114,116,105, 99,108,101, 95,112,101,114, 99, 0,115,117, 98,115,117,114,102, 95,109, 97,
-120, 0,115,104, 97,100, 98,117,102,115, 97,109,112,108,101, 95,109, 97,120, 0, 97,111, 95,101,114,114,111,114, 0, 99,111,108,
- 91, 51, 93, 0, 42, 98,114,117,115,104, 0,116,111,111,108, 0,115,101, 97,109, 95, 98,108,101,101,100, 0,110,111,114,109, 97,
-108, 95, 97,110,103,108,101, 0, 42,112, 97,105,110,116, 99,117,114,115,111,114, 0,105,110,118,101,114,116, 0,116,111,116,114,
-101,107,101,121, 0,116,111,116, 97,100,100,107,101,121, 0, 98,114,117,115,104,116,121,112,101, 0, 98,114,117,115,104, 91, 55,
- 93, 0,101,109,105,116,116,101,114,100,105,115,116, 0,100,114, 97,119, 95,116,105,109,101,100, 0,115,101,108,101, 99,116,109,
-111,100,101, 0,110, 97,109,101, 91, 51, 54, 93, 0,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 42,115,101,115,115,105,111,110, 0,
-112,105,118,111,116, 91, 51, 93, 0,116,101,120,115,101,112, 0,116, 97, 98,108,101,116, 95,115,105,122,101, 0,116, 97, 98,108,
-101,116, 95,115,116,114,101,110,103,116,104, 0,112, 97,100, 91, 53, 93, 0,103, 97,109,109, 97, 0,109,117,108, 0, 42,118,112,
+109,112, 91, 52, 93, 0,115,101,113, 95,112,114,101,118, 95,116,121,112,101, 0,115,101,113, 95,114,101,110,100, 95,116,121,112,
+101, 0,115,101,113, 95,102,108, 97,103, 0,112, 97,100, 53, 91, 53, 93, 0,115,105,109,112,108,105,102,121, 95,102,108, 97,103,
+ 0,115,105,109,112,108,105,102,121, 95,115,117, 98,115,117,114,102, 0,115,105,109,112,108,105,102,121, 95,115,104, 97,100,111,
+119,115, 97,109,112,108,101,115, 0,115,105,109,112,108,105,102,121, 95,112, 97,114,116,105, 99,108,101,115, 0,115,105,109,112,
+108,105,102,121, 95, 97,111,115,115,115, 0, 99,105,110,101,111,110,119,104,105,116,101, 0, 99,105,110,101,111,110, 98,108, 97,
+ 99,107, 0, 99,105,110,101,111,110,103, 97,109,109, 97, 0,106,112, 50, 95,112,114,101,115,101,116, 0,106,112, 50, 95,100,101,
+112,116,104, 0,114,112, 97,100, 51, 0,100,111,109,101,114,101,115, 0,100,111,109,101,109,111,100,101, 0,100,111,109,101, 97,
+110,103,108,101, 0,100,111,109,101,116,105,108,116, 0,100,111,109,101,114,101,115, 98,117,102, 0, 42,100,111,109,101,116,101,
+120,116, 0,101,110,103,105,110,101, 91, 51, 50, 93, 0,112, 97,114,116,105, 99,108,101, 95,112,101,114, 99, 0,115,117, 98,115,
+117,114,102, 95,109, 97,120, 0,115,104, 97,100, 98,117,102,115, 97,109,112,108,101, 95,109, 97,120, 0, 97,111, 95,101,114,114,
+111,114, 0,116,105,108,116, 0,114,101,115, 98,117,102, 0, 42,119, 97,114,112,116,101,120,116, 0, 99,111,108, 91, 51, 93, 0,
+109, 97,116,109,111,100,101, 0,102,114, 97,109,105,110,103, 0,114,116, 49, 0,114,116, 50, 0,100,111,109,101, 0,115,116,101,
+114,101,111,102,108, 97,103, 0,101,121,101,115,101,112, 97,114, 97,116,105,111,110, 0, 42, 99, 97,109,101,114, 97, 0, 42, 98,
+114,117,115,104, 0, 42,112, 97,105,110,116, 95, 99,117,114,115,111,114, 0,112, 97,105,110,116, 95, 99,117,114,115,111,114, 95,
+ 99,111,108, 91, 52, 93, 0,112, 97,105,110,116, 0,115,101, 97,109, 95, 98,108,101,101,100, 0,110,111,114,109, 97,108, 95, 97,
+110,103,108,101, 0,115, 99,114,101,101,110, 95,103,114, 97, 98, 95,115,105,122,101, 91, 50, 93, 0, 42,112, 97,105,110,116, 99,
+117,114,115,111,114, 0,105,110,118,101,114,116, 0,116,111,116,114,101,107,101,121, 0,116,111,116, 97,100,100,107,101,121, 0,
+ 98,114,117,115,104,116,121,112,101, 0, 98,114,117,115,104, 91, 55, 93, 0,101,109,105,116,116,101,114,100,105,115,116, 0,115,
+101,108,101, 99,116,109,111,100,101, 0,101,100,105,116,116,121,112,101, 0,100,114, 97,119, 95,115,116,101,112, 0,102, 97,100,
+101, 95,102,114, 97,109,101,115, 0,110, 97,109,101, 91, 51, 54, 93, 0,109, 97,116, 91, 51, 93, 91, 51, 93, 0,114, 97,100,105,
+ 97,108, 95,115,121,109,109, 91, 51, 93, 0,108, 97,115,116, 95,120, 0,108, 97,115,116, 95,121, 0,108, 97,115,116, 95, 97,110,
+103,108,101, 0,100,114, 97,119, 95, 97,110, 99,104,111,114,101,100, 0, 97,110, 99,104,111,114,101,100, 95,115,105,122,101, 0,
+ 97,110, 99,104,111,114,101,100, 95,108,111, 99, 97,116,105,111,110, 91, 51, 93, 0, 97,110, 99,104,111,114,101,100, 95,105,110,
+105,116,105, 97,108, 95,109,111,117,115,101, 91, 50, 93, 0,100,114, 97,119, 95,112,114,101,115,115,117,114,101, 0,112,114,101,
+115,115,117,114,101, 95,118, 97,108,117,101, 0,115,112,101, 99,105, 97,108, 95,114,111,116, 97,116,105,111,110, 0, 42,118,112,
97,105,110,116, 95,112,114,101,118, 0, 42,119,112, 97,105,110,116, 95,112,114,101,118, 0, 42,118,112, 97,105,110,116, 0, 42,
-119,112, 97,105,110,116, 0, 42,115, 99,117,108,112,116, 0,118,103,114,111,117,112, 95,119,101,105,103,104,116, 0, 99,111,114,
-110,101,114,116,121,112,101, 0,101,100,105,116, 98,117,116,102,108, 97,103, 0,106,111,105,110,116,114,105,108,105,109,105,116,
- 0,100,101,103,114, 0,116,117,114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,105,109,105,116, 0,110,
-111,114,109, 97,108,115,105,122,101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,116,115, 0,114,105,110,
-103,115, 0,118,101,114,116,105, 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,108, 99, 95,114, 97,100,
-105,117,115, 0,117,118, 99, 97,108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99, 95,109, 97,114,103,105,
-110, 0,117,118, 99, 97,108, 99, 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112, 97,108,105,103,110, 0,
-117,118, 99, 97,108, 99, 95,102,108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,101, 99,116,109,111,100,
-101, 0,117,118, 95,112, 97,100, 91, 50, 93, 0, 97,117,116,111,105,107, 95, 99,104, 97,105,110,108,101,110, 0,105,109, 97,112,
- 97,105,110,116, 0,112, 97,114,116,105, 99,108,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,115,105,122,101, 0,
-115,101,108,101, 99,116, 95,116,104,114,101,115,104, 0, 99,108,101, 97,110, 95,116,104,114,101,115,104, 0, 97,117,116,111,107,
-101,121, 95,109,111,100,101, 0,114,101,116,111,112,111, 95,109,111,100,101, 0,114,101,116,111,112,111, 95,112, 97,105,110,116,
- 95,116,111,111,108, 0,108,105,110,101, 95,100,105,118, 0,101,108,108,105,112,115,101, 95,100,105,118, 0,114,101,116,111,112,
-111, 95,104,111,116,115,112,111,116, 0,109,117,108,116,105,114,101,115, 95,115,117, 98,100,105,118, 95,116,121,112,101, 0,115,
-107,103,101,110, 95,114,101,115,111,108,117,116,105,111,110, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,
-105,110,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,101,120,116,101,114,110, 97,
-108, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,114, 97,116,105,111, 0,115,107,103,101,110, 95,108,101,110,103,116,
-104, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 97,110,103,108,101, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,
- 99,111,114,114,101,108, 97,116,105,111,110, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,115,121,109,109,101,116,114,121,
- 95,108,105,109,105,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95, 97,110,103,108,101, 95,119,101,105,103,
-104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,108,101,110,103,116,104, 95,119,101,105,103,104,116, 0,
-115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,100,105,115,116, 97,110, 99,101, 95,119,101,105,103,104,116, 0,115,
-107,103,101,110, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 0,115,107,103,101,110,
- 95,112,111,115,116,112,114,111, 95,112, 97,115,115,101,115, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,
-110,115, 91, 51, 93, 0,115,107,103,101,110, 95,109,117,108,116,105, 95,108,101,118,101,108, 0, 42,115,107,103,101,110, 95,116,
-101,109,112,108, 97,116,101, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 0, 98,111,110,101, 95,115,107,101,116,
- 99,104,105,110,103, 95, 99,111,110,118,101,114,116, 0,115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110, 95,
-110,117,109, 98,101,114, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,111,112,116,105,111,110,115, 0,115,107,
-103,101,110, 95,114,101,116, 97,114,103,101,116, 95,114,111,108,108, 0,115,107,103,101,110, 95,115,105,100,101, 95,115,116,114,
-105,110,103, 91, 56, 93, 0,115,107,103,101,110, 95,110,117,109, 95,115,116,114,105,110,103, 91, 56, 93, 0,101,100,103,101, 95,
-109,111,100,101, 0,115,110, 97,112, 95,109,111,100,101, 0,115,110, 97,112, 95,102,108, 97,103, 0,115,110, 97,112, 95,116, 97,
-114,103,101,116, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 0,112,114,111,112, 95,109,111,100,101, 0,116,111,116,111,
- 98,106, 0,116,111,116,108, 97,109,112, 0,116,111,116,111, 98,106,115,101,108, 0,116,111,116, 99,117,114,118,101, 0,116,111,
-116,109,101,115,104, 0,116,111,116, 97,114,109, 97,116,117,114,101, 0, 42, 99, 97,109,101,114, 97, 0, 42,119,111,114,108,100,
- 0, 42,115,101,116, 0, 98, 97,115,101, 0, 42, 98, 97,115, 97, 99,116, 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111,
-114, 91, 51, 93, 0,116,119, 99,101,110,116, 91, 51, 93, 0,116,119,109,105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93,
- 0, 42,101,100, 0,102,114, 97,109,105,110,103, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115,116, 97,116,
-115, 0,116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,
-118, 97,108,105,100, 0,100, 97,103,102,108, 97,103,115, 0,106,117,109,112,102,114, 97,109,101, 0,102,114, 97,109,101, 95,115,
-116,101,112, 0, 97, 99,116,105,118,101, 95,107,101,121,105,110,103,115,101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,
- 98,108,101,110,100, 0,119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93,
- 0,118,105,101,119,105,110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,
-115,105,110,118, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109,
- 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,116,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91,
- 52, 93, 0,122,102, 97, 99, 0, 99, 97,109,100,120, 0, 99, 97,109,100,121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,
-111,111,109, 0,118,105,101,119, 98,117,116, 0,108, 97,115,116,109,111,100,101, 0,114,102,108, 97,103, 0,118,105,101,119,108,
-111, 99,107, 0,112,101,114,115,112, 0,118,105,101,119, 0, 99,108,105,112, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112, 98,
- 98, 0, 42,103,112,100, 0, 42,108,111, 99, 97,108,118,100, 0, 42,114,105, 0, 42,114,101,116,111,112,111, 95,118,105,101,119,
- 95,100, 97,116, 97, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,116,104, 95,116,105,109,101,114,
- 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,101,119, 0,114,101,103,105,111,
-110, 98, 97,115,101, 0,115,112, 97, 99,101,116,121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,107,
-104, 97,110,100,108,101,114, 91, 56, 93, 0,108, 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0, 42,
- 98,103,112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91, 51, 50, 93, 0,108, 97,121, 97, 99,116, 0,
-100,114, 97,119,116,121,112,101, 0,108,111, 99, 97,108,118,105,101,119, 0,115, 99,101,110,101,108,111, 99,107, 0, 97,114,111,
-117,110,100, 0,102,108, 97,103, 50, 0,112,105,118,111,116, 95,108, 97,115,116, 0,103,114,105,100, 0,103,114,105,100,118,105,
-101,119, 0,112, 97,100,102, 0,110,101, 97,114, 0,102, 97,114, 0,103,114,105,100,108,105,110,101,115, 0,103,114,105,100,102,
-108, 97,103, 0,103,114,105,100,115,117, 98,100,105,118, 0,109,111,100,101,115,101,108,101, 99,116, 0,107,101,121,102,108, 97,
-103,115, 0,116,119,116,121,112,101, 0,116,119,109,111,100,101, 0,116,119,102,108, 97,103, 0,116,119,100,114, 97,119,102,108,
- 97,103, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 0, 97,102,116,101,114,100,114, 97,119, 0,122, 98,117,
-102, 0,120,114, 97,121, 0,110,100,111,102,109,111,100,101, 0,110,100,111,102,102,105,108,116,101,114, 0, 42,112,114,111,112,
-101,114,116,105,101,115, 95,115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110,
- 91, 50, 93, 0,109, 97,120, 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,
-108, 0,115, 99,114,111,108,108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,
-112,111,102,115, 0, 97,108,105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,
-119,105,110,121, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 42,115, 99,114,101,101,110, 0,118, 50,100, 0, 42, 97,100,115, 0,
-103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110, 97,112, 0,112,105,110, 0,108,111, 99,107, 0, 99,117,
-114,115,101,110,115, 0, 99,117,114, 97, 99,116, 0,112,114,101,118,105,101,119, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,
-111, 0, 42,108,111, 99,107,112,111,105,110, 0,116,101,120,110,114, 0,116,101,120,102,114,111,109, 0,115,104,111,119,103,114,
-111,117,112, 0,109,111,100,101,108,116,121,112,101, 0,115, 99,114,105,112,116, 98,108,111, 99,107, 0,114,101, 95, 97,108,105,
-103,110, 0,111,108,100,107,101,121,112,114,101,115,115, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110,
- 0, 42,112,105,110,105,100, 0,114,101,110,100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101,
- 98,114, 97, 0,122,111,111,109, 0,116,105,116,108,101, 91, 50, 52, 93, 0,100,105,114, 91, 50, 52, 48, 93, 0,102,105,108,101,
- 91, 56, 48, 93, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0, 97, 99,116,105,118,101, 95, 98,111,111,107,109, 97,114,
-107, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108,115,116, 97,116,101, 0,102, 95,102,112, 0,109,101,110,117,
- 0,102,112, 95,115,116,114, 91, 56, 93, 0, 42,112,117,112,109,101,110,117, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,
-101,115, 0, 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,
-111,112, 0, 42,108,111, 97,100,105,109, 97,103,101, 95,116,105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,116,114,101,101,
- 0, 42,116,114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101,
- 97,114, 99,104, 95,116,115,101, 0,115,101, 97,114, 99,104, 95,102,108, 97,103,115, 0,100,111, 95, 0,111,117,116,108,105,110,
-101,118,105,115, 0,115,116,111,114,101,102,108, 97,103, 0, 42, 99,117,109, 97,112, 0,105,109, 97,110,114, 0, 99,117,114,116,
-105,108,101, 0,105,109,116,121,112,101,110,114, 0,100,116, 95,117,118, 0,115,116,105, 99,107,121, 0,100,116, 95,117,118,115,
-116,114,101,116, 99,104, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,101,
-119,108,105,110,101,115, 0,108,104,101,105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,110,101,110,114,115, 95,116,111,
-116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,109, 98,101,114, 0,115,104,111,
-119,115,121,110,116, 97,120, 0,111,118,101,114,119,114,105,116,101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,
-112,101,114, 95,108,105,110,101, 0,116,120,116,115, 99,114,111,108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114,
- 97,112, 0,100,111,112,108,117,103,105,110,115, 0,102,105,110,100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,
-101,115,116,114, 91, 50, 53, 54, 93, 0, 42,112,121, 95,100,114, 97,119, 0, 42,112,121, 95,101,118,101,110,116, 0, 42,112,121,
- 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114, 99, 97,108,108, 98, 97, 99,107, 0, 42,112,121, 95,
-103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,101, 0,115, 99,114,105,112,116,110, 97,109,101, 91,
- 50, 53, 54, 93, 0,115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93, 0, 42,115, 99,114,105,112,116, 0, 42, 98,117,116,
- 95,114,101,102,115, 0,114,101,100,114, 97,119,115, 0, 42,105,100, 0, 97,115,112,101, 99,116, 0, 42, 99,117,114,102,111,110,
-116, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,101, 0,110,117,109,116,105,
-108,101,115,120, 0,110,117,109,116,105,108,101,115,121, 0,118,105,101,119,114,101, 99,116, 0, 98,111,111,107,109, 97,114,107,
-114,101, 99,116, 0,115, 99,114,111,108,108,112,111,115, 0,115, 99,114,111,108,108,104,101,105,103,104,116, 0,115, 99,114,111,
-108,108, 97,114,101, 97, 0,114,101,116,118, 97,108, 0,112,114,118, 95,119, 0,112,114,118, 95,104, 0, 40, 42,114,101,116,117,
-114,110,102,117,110, 99, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95,101,118,101,110,116, 41, 40, 41, 0,
- 40, 42,114,101,116,117,114,110,102,117,110, 99, 95, 97,114,103,115, 41, 40, 41, 0, 42, 97,114,103, 49, 0, 42, 97,114,103, 50,
- 0, 42,109,101,110,117,112, 0, 42,105,109,103, 0,108,101,110, 95, 97,108,108,111, 99, 0, 99,117,114,115,111,114, 0,114,112,
-116, 95,109, 97,115,107, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114,121, 0,112,114,111,109,112,116,
- 91, 56, 93, 0,102,105,108,101,110, 97,109,101, 91, 50, 53, 54, 93, 0, 98,108,102, 95,105,100, 0,117,105,102,111,110,116, 95,
-105,100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110,103, 0,105,116, 97,108,105, 99, 0,
- 98,111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, 0,115,104, 97,100,111,119, 97,108,
-112,104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105,116,108,101, 0,103,114,111,117,112,
-108, 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101,116, 0,112, 97,110,101,108,122,111,
-111,109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100,103,101,116, 99,104, 97,114,115, 0,
- 99,111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, 99,101, 0, 98,111,120,115,112, 97,
- 99,101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115,112, 97, 99,101,121, 0,112, 97,110,
-101,108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,112, 97,100, 91, 49, 93, 0,111,117,116,108,105,110,
-101, 91, 52, 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101,109, 91,
- 52, 93, 0,116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0,115,104,
- 97,100,101,116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0,105,110,110,101,114, 95, 97,110,105,109, 91, 52, 93, 0,105,
-110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 91, 52, 93, 0,105,110,
-110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 91, 52, 93, 0,105,
-110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, 0,119, 99,111,108, 95,114,101,103,117,108, 97,114, 0,
-119, 99,111,108, 95,116,111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119, 99,111,108, 95,114, 97,100,105,111, 0,119,
- 99,111,108, 95,111,112,116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,101, 0,119, 99,111,108, 95,110,117,109, 0,
-119, 99,111,108, 95,110,117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,101,110,117, 0,119, 99,111,108, 95,112,117,
-108,108,100,111,119,110, 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107, 0,119, 99,111,108, 95,109,101,110,117, 95,
-105,116,101,109, 0,119, 99,111,108, 95, 98,111,120, 0,119, 99,111,108, 95,115, 99,114,111,108,108, 0,119, 99,111,108, 95,115,
-116, 97,116,101, 0,105, 99,111,110,102,105,108,101, 91, 56, 48, 93, 0, 98, 97, 99,107, 91, 52, 93, 0,116,105,116,108,101, 91,
- 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,
-105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,
-120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,105,116,108,101, 91,
- 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 95,104,105,
- 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105,115,116, 95,116,105,116,108,101, 91, 52, 93, 0,108,105,115,116, 95,116,
-101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,112, 97,110,101,108, 91, 52, 93, 0,
-112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 91, 52, 93, 0,112, 97,110,
-101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,115,104, 97,100,101, 49, 91, 52, 93, 0,115,104, 97,100,101, 50, 91, 52,
- 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0,119,105,114,101, 91, 52, 93, 0,115,101,108,101,
- 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0, 97, 99,116,105,118,101, 91, 52, 93, 0,103,114,111,117,112, 91, 52, 93,
- 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,116,114, 97,110,115,102,111,114,109, 91, 52, 93, 0,118,101,
-114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 91, 52, 93,
- 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 95,115,101, 97,109, 91, 52, 93, 0,101,100,103,
-101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101, 95,102, 97, 99,101,115,101,108, 91, 52, 93, 0,102, 97, 99,101, 91,
- 52, 93, 0,102, 97, 99,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,110,111,
-114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115,111,108,105,100, 91, 52, 93, 0, 98,111,110,101, 95,112,111,115,101, 91,
- 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116,114,105,112, 95,115,101,108,101, 99,116, 91, 52, 93, 0, 99,102,114, 97,
-109,101, 91, 52, 93, 0,100,115, 95, 99,104, 97,110,110,101,108, 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,
-108, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0, 98,112,
- 97,100, 91, 50, 93, 0,115,121,110,116, 97,120,108, 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116,
- 97,120, 98, 91, 52, 93, 0,115,121,110,116, 97,120,118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,
-105,101, 91, 52, 93, 0,105,109, 97,103,101, 91, 52, 93, 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93,
- 0,101,102,102,101, 99,116, 91, 52, 93, 0,112,108,117,103,105,110, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91,
- 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,105,116,109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,
-110,100,108,101, 95,118,101,114,116,101,120, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,
-101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,105,122,101, 0,104,112, 97,100, 91, 51,
- 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,102,105,108,101, 0,
-116,105,112,111, 0,116,105,110,102,111, 0,116,115,110,100, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115,101,113, 0,116,
-105,109, 97, 0,116,105,109, 97,115,101,108, 0,116,101,120,116, 0,116,111,111,112,115, 0,116,116,105,109,101, 0,116,110,111,
-100,101, 0,116,108,111,103,105, 99, 0,116, 97,114,109, 91, 50, 48, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,102,108,
- 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,101,109,112,100,105,114, 91, 49, 54, 48, 93, 0,102,111,110,116,100,105,114,
- 91, 49, 54, 48, 93, 0,114,101,110,100,101,114,100,105,114, 91, 49, 54, 48, 93, 0,116,101,120,116,117,100,105,114, 91, 49, 54,
- 48, 93, 0,112,108,117,103,116,101,120,100,105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,115,101,113,100,105,114, 91, 49, 54,
- 48, 93, 0,112,121,116,104,111,110,100,105,114, 91, 49, 54, 48, 93, 0,115,111,117,110,100,100,105,114, 91, 49, 54, 48, 93, 0,
-121,102,101,120,112,111,114,116,100,105,114, 91, 49, 54, 48, 93, 0,118,101,114,115,105,111,110,115, 0,103, 97,109,101,102,108,
- 97,103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,108, 97,103, 0,108, 97,110,103,117,
- 97,103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,105,120, 98,117,102,115,105,122,101,
- 0,100,112,105, 0,101,110, 99,111,100,105,110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,
-115,104,111,108,100, 49, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,
-111,110,116,115, 0,117,105,115,116,121,108,101,115, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,
-114,121, 0,103,112, 95,109, 97,110,104, 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,
-100,105,115,116, 0,103,112, 95,101,114, 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,
-102,116,109,111,117,115,101, 0,116, 98, 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,
-119, 95,104,111,116,115,112,111,116, 0,116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,
-116,119, 95,115,105,122,101, 0,116,101,120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,
-101, 0,119,109,100,114, 97,119,109,101,116,104,111,100, 0,119,109,112, 97,100, 0,109,101,109, 99, 97, 99,104,101,108,105,109,
-105,116, 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101,114,118,101,114,112,111,114,
-116, 0,112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95,100,105, 97, 0,114,118,105,
-115,105,122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108,101,115, 0,115,109,111,111,
-116,104, 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0,110,100,111,102, 95,112, 97,110, 0,110,100,
-111,102, 95,114,111,116, 97,116,101, 0, 99,117,114,115,115,105,122,101, 0,105,112,111, 95,110,101,119, 0,118,101,114,115,101,
-109, 97,115,116,101,114, 91, 49, 54, 48, 93, 0,118,101,114,115,101,117,115,101,114, 91, 49, 54, 48, 93, 0,103,108, 97,108,112,
-104, 97, 99,108,105,112, 0, 97,117,116,111,107,101,121, 95,102,108, 97,103, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,
-118,101,114,116, 98, 97,115,101, 0,101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101, 0, 42,110,101,119,115,
- 99,101,110,101, 0,102,117,108,108, 0,119,105,110,105,100, 0,100,111, 95,100,114, 97,119, 0,100,111, 95,114,101,102,114,101,
-115,104, 0,100,111, 95,100,114, 97,119, 95,103,101,115,116,117,114,101, 0,100,111, 95,100,114, 97,119, 95,112, 97,105,110,116,
- 99,117,114,115,111,114, 0,115,119, 97,112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97, 99,116,105,118,101,
- 0, 42, 97,110,105,109,116,105,109,101,114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,114, 91, 56, 93, 0,
- 42,110,101,119,118, 0,118,101, 99, 0, 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,101,108,110, 97,109,
-101, 91, 54, 52, 93, 0,116, 97, 98,110, 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,
-102,115,120, 0,111,102,115,121, 0,115,105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,102,115, 0,114,117,
-110,116,105,109,101, 95,102,108, 97,103, 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,116,111,114,100,101,
-114, 0, 42,112, 97,110,101,108,116, 97, 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,116, 95,115, 99,114,
-111,108,108, 0,108,105,115,116, 95,115,105,122,101, 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0, 42,118,
- 51, 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98,117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,114,116,
-121,112,101, 0,115,112, 97, 99,101,100, 97,116, 97, 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,111,110,
-101,115, 0,119,105,110,114, 99,116, 0,100,114, 97,119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,110,116,
-121,112,101, 0, 97,108,105,103,110,109,101,110,116, 0,117,105, 98,108,111, 99,107,115, 0,112, 97,110,101,108,115, 0, 42,104,
-101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,111,110,100, 97,116, 97, 0,115,117, 98,118,115,116,114, 91, 52, 93, 0,
-115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,115, 0,109,105,110,118,101,114,115,105,111,110, 0,109,105,110,115,117,
- 98,118,101,114,115,105,111,110, 0, 42, 99,117,114,115, 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102,105,
-108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,102, 0,110, 97,109,101, 91, 56, 48, 93, 0, 42,105, 98,117,102, 0, 42,
-105, 98,117,102, 95, 99,111,109,112, 0, 42,115,101, 49, 0, 42,115,101, 50, 0, 42,115,101, 51, 0,110,114, 0, 98,111,116,116,
-111,109, 0,114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97,
- 91, 51, 93, 0,103, 97,105,110, 91, 51, 93, 0,115, 97,116,117,114, 97,116,105,111,110, 0,100,105,114, 91, 49, 54, 48, 93, 0,
-100,111,110,101, 0,115,116, 97,114,116,115,116,105,108,108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100,
- 97,116, 97, 0,111,114,120, 0,111,114,121, 0, 42, 99,114,111,112, 0, 42,116,114, 97,110,115,102,111,114,109, 0, 42, 99,111,
-108,111,114, 95, 98, 97,108, 97,110, 99,101, 0, 42,116,115,116,114,105,112,100, 97,116, 97, 0, 42,116,115,116,114,105,112,100,
- 97,116, 97, 95,115,116, 97,114,116,115,116,105,108,108, 0, 42,116,115,116,114,105,112,100, 97,116, 97, 95,101,110,100,115,116,
-105,108,108, 0, 42,105, 98,117,102, 95,115,116, 97,114,116,115,116,105,108,108, 0, 42,105, 98,117,102, 95,101,110,100,115,116,
-105,108,108, 0, 42,105,110,115,116, 97,110, 99,101, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117,114,
-114,101,110,116, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, 0,
-101,110,100,111,102,115, 0,109, 97, 99,104,105,110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115,112,
- 0,104, 97,110,100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0, 42,115,116,114,105,112, 0,102, 97,
- 99,102, 48, 0,102, 97, 99,102, 49, 0, 42,115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, 51, 0,115,101,113, 98,
- 97,115,101, 0, 42,115,111,117,110,100, 0, 42,104,100, 97,117,100,105,111, 0,108,101,118,101,108, 0,112, 97,110, 0,115, 99,
-101,110,101,110,114, 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,109, 95,115,116,
- 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111,100,101, 0, 98,108,
-101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,113, 0, 42,115,
-101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97, 99,116, 95,105,
-109, 97,103,101,100,105,114, 91, 50, 53, 54, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, 50, 53, 54, 93, 0,101,
-100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,114,100, 0,119,105,112,101,116,121,112,101, 0,102, 77,105,110,105, 0,
-102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,115,116, 0,100, 81,117, 97,108,105,116,121, 0, 98, 78,111,
- 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,101,121, 73,110,105, 0, 83, 99, 97,108,101,120, 70,
-105,110, 0, 83, 99, 97,108,101,121, 70,105,110, 0,120, 73,110,105, 0,120, 70,105,110, 0,121, 73,110,105, 0,121, 70,105,110,
- 0,114,111,116, 73,110,105, 0,114,111,116, 70,105,110, 0,105,110,116,101,114,112,111,108, 97,116,105,111,110, 0, 42,102,114,
- 97,109,101, 77, 97,112, 0,103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,116, 86, 97,108,105,100, 70,114, 97,109,
-101, 0, 98,117,116,116,121,112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,116,111,116,112, 97,114,116, 0,110,111,
-114,109,102, 97, 99, 0,111, 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,120,102, 97, 99, 0,114, 97,110,100,108,
-105,102,101, 0,102,111,114, 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,109, 97,120,108,101,110, 0,100,101,102,
-118,101, 99, 91, 51, 93, 0,109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, 0, 99,104,105,108,100, 91, 52, 93, 0,
-109, 97,116, 91, 52, 93, 0,116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,115,116, 97,116,105, 99,115,116,101,112,
- 0,111,109, 97,116, 0,116,105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, 0,102,108, 97,103, 50,110,101,103, 0,
-118,101,114,116,103,114,111,117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, 91, 51, 50, 93, 0,118,103,114,111,117,
-112,110, 97,109,101, 95,118, 91, 51, 50, 93, 0, 42,107,101,121,115, 0,109,105,110,102, 97, 99, 0,117,115,101,100, 0,117,115,
-101,100,101,108,101,109, 0,111,116,121,112,101, 0,111,108,100, 0, 42,112,111,105,110, 0, 42,111,108,100,112,111,105,110, 0,
-114,101,115,101,116,100,105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,101,121, 0,113,117, 97,108, 0,113,
-117, 97,108, 50, 0,116, 97,114,103,101,116, 78, 97,109,101, 91, 51, 50, 93, 0,116,111,103,103,108,101, 78, 97,109,101, 91, 51,
- 50, 93, 0,118, 97,108,117,101, 91, 51, 50, 93, 0,109, 97,120,118, 97,108,117,101, 91, 51, 50, 93, 0,100,101,108, 97,121, 0,
-100,117,114, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 51, 50, 93, 0,100, 97,109,112,116,105,
-109,101,114, 0,112,114,111,112,110, 97,109,101, 91, 51, 50, 93, 0,109, 97,116,110, 97,109,101, 91, 51, 50, 93, 0, 97,120,105,
-115,102,108, 97,103, 0, 42,102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,116, 91, 51, 50, 93, 0, 98,111,
-100,121, 91, 51, 50, 93, 0,112,117,108,115,101, 0,102,114,101,113, 0,116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,
-107,115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,
-102, 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91,
- 49, 50, 56, 93, 0,109,111,100,117,108,101, 91, 54, 52, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115, 0,116,111,
-116,115,108,105,110,107,115, 0, 42, 42,115,108,105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109, 97,115,107,
- 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,114,111,112, 91, 51, 50, 93, 0, 98,108,101,110,100,105,110, 0,112,114,105,111,
-114,105,116,121, 0,101,110,100, 95,114,101,115,101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,105,100,101,
-108,101,110,103,116,104, 0,115,110,100,110,114, 0,112, 97,100, 49, 91, 50, 93, 0,109, 97,107,101, 99,111,112,121, 0, 99,111,
-112,121,109, 97,100,101, 0,112, 97,100, 50, 91, 49, 93, 0,116,114, 97, 99,107, 0, 42,109,101, 0,108,105,110, 86,101,108,111,
- 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99, 97,108,102,108, 97,103,
- 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93, 0,102,111,114, 99,101,
-114,111,116, 91, 51, 93, 0,108,105,110,101, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103,117,108, 97,114,
-118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101, 0, 98,117,116,115,116, 97, 0, 98,117,
-116,101,110,100, 0,109,105,110, 0,109, 97,120, 0,118,105,115,105,102, 97, 99, 0,114,111,116,100, 97,109,112, 0,109,105,110,
-108,111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93, 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,
-116, 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, 51, 50, 93, 0,100,105,115,116,114,105, 98,117,116,105,111,110, 0,105,110,
-116, 95, 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,108,
-111, 97,116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,101, 91, 51, 50, 93, 0, 42,116,111, 79, 98,106,101,
- 99,116, 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,105,
-110, 97,109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,111, 97,116, 95, 97,114,103, 0,103,111, 0, 97, 99,
- 99,101,108,108,101,114, 97,116,105,111,110, 0,109, 97,120,115,112,101,101,100, 0,109, 97,120,114,111,116,115,112,101,101,100,
- 0,109, 97,120,116,105,108,116,115,112,101,101,100, 0,116,105,108,116,100, 97,109,112, 0,115,112,101,101,100,100, 97,109,112,
- 0, 42,115, 97,109,112,108,101, 0, 42,115,116,114,101, 97,109, 0, 42,110,101,119,112, 97, 99,107,101,100,102,105,108,101, 0,
- 42,115,110,100, 95,115,111,117,110,100, 0,112, 97,110,110,105,110,103, 0, 97,116,116,101,110,117, 97,116,105,111,110, 0,112,
-105,116, 99,104, 0,109,105,110, 95,103, 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,100,105,115,116, 97,110, 99,101, 0,
-115,116,114,101, 97,109,108,101,110, 0, 99,104, 97,110,110,101,108,115, 0,104,105,103,104,112,114,105,111, 0,112, 97,100, 91,
- 49, 48, 93, 0,103, 97,105,110, 0,100,111,112,112,108,101,114,102, 97, 99,116,111,114, 0,100,111,112,112,108,101,114,118,101,
-108,111, 99,105,116,121, 0,110,117,109,115,111,117,110,100,115, 98,108,101,110,100,101,114, 0,110,117,109,115,111,117,110,100,
-115,103, 97,109,101,101,110,103,105,110,101, 0, 42, 97,114,101, 97, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98,106,101,
- 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93, 0, 99,104,105,108,100, 98, 97,115,101, 0,114,111,108,108, 0,104,
-101, 97,100, 91, 51, 93, 0,116, 97,105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,114,
-109, 95,104,101, 97,100, 91, 51, 93, 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52, 93,
- 91, 52, 93, 0,120,119,105,100,116,104, 0,122,119,105,100,116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,
+119,112, 97,105,110,116, 0,118,103,114,111,117,112, 95,119,101,105,103,104,116, 0, 99,111,114,110,101,114,116,121,112,101, 0,
+101,100,105,116, 98,117,116,102,108, 97,103, 0,106,111,105,110,116,114,105,108,105,109,105,116, 0,100,101,103,114, 0,116,117,
+114,110, 0,101,120,116,114, 95,111,102,102,115, 0,100,111,117, 98,108,105,109,105,116, 0,110,111,114,109, 97,108,115,105,122,
+101, 0, 97,117,116,111,109,101,114,103,101, 0,115,101,103,109,101,110,116,115, 0,114,105,110,103,115, 0,118,101,114,116,105,
+ 99,101,115, 0,117,110,119,114, 97,112,112,101,114, 0,117,118, 99, 97,108, 99, 95,114, 97,100,105,117,115, 0,117,118, 99, 97,
+108, 99, 95, 99,117, 98,101,115,105,122,101, 0,117,118, 99, 97,108, 99, 95,109, 97,114,103,105,110, 0,117,118, 99, 97,108, 99,
+ 95,109, 97,112,100,105,114, 0,117,118, 99, 97,108, 99, 95,109, 97,112, 97,108,105,103,110, 0,117,118, 99, 97,108, 99, 95,102,
+108, 97,103, 0,117,118, 95,102,108, 97,103, 0,117,118, 95,115,101,108,101, 99,116,109,111,100,101, 0,117,118, 95,112, 97,100,
+ 0,103,112,101,110, 99,105,108, 95,102,108, 97,103,115, 0, 97,117,116,111,105,107, 95, 99,104, 97,105,110,108,101,110, 0,105,
+109, 97,112, 97,105,110,116, 0,112, 97,114,116,105, 99,108,101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,115,105,
+122,101, 0,115,101,108,101, 99,116, 95,116,104,114,101,115,104, 0, 99,108,101, 97,110, 95,116,104,114,101,115,104, 0, 97,117,
+116,111,107,101,121, 95,109,111,100,101, 0, 97,117,116,111,107,101,121, 95,102,108, 97,103, 0,114,101,116,111,112,111, 95,109,
+111,100,101, 0,114,101,116,111,112,111, 95,112, 97,105,110,116, 95,116,111,111,108, 0,108,105,110,101, 95,100,105,118, 0,101,
+108,108,105,112,115,101, 95,100,105,118, 0,114,101,116,111,112,111, 95,104,111,116,115,112,111,116, 0,109,117,108,116,105,114,
+101,115, 95,115,117, 98,100,105,118, 95,116,121,112,101, 0,115,107,103,101,110, 95,114,101,115,111,108,117,116,105,111,110, 0,
+115,107,103,101,110, 95,116,104,114,101,115,104,111,108,100, 95,105,110,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,116,
+104,114,101,115,104,111,108,100, 95,101,120,116,101,114,110, 97,108, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,114,
+ 97,116,105,111, 0,115,107,103,101,110, 95,108,101,110,103,116,104, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 97,110,
+103,108,101, 95,108,105,109,105,116, 0,115,107,103,101,110, 95, 99,111,114,114,101,108, 97,116,105,111,110, 95,108,105,109,105,
+116, 0,115,107,103,101,110, 95,115,121,109,109,101,116,114,121, 95,108,105,109,105,116, 0,115,107,103,101,110, 95,114,101,116,
+ 97,114,103,101,116, 95, 97,110,103,108,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,
+116, 95,108,101,110,103,116,104, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,100,
+105,115,116, 97,110, 99,101, 95,119,101,105,103,104,116, 0,115,107,103,101,110, 95,111,112,116,105,111,110,115, 0,115,107,103,
+101,110, 95,112,111,115,116,112,114,111, 0,115,107,103,101,110, 95,112,111,115,116,112,114,111, 95,112, 97,115,115,101,115, 0,
+115,107,103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110,115, 91, 51, 93, 0,115,107,103,101,110, 95,109,117,108,116,
+105, 95,108,101,118,101,108, 0, 42,115,107,103,101,110, 95,116,101,109,112,108, 97,116,101, 0, 98,111,110,101, 95,115,107,101,
+116, 99,104,105,110,103, 0, 98,111,110,101, 95,115,107,101,116, 99,104,105,110,103, 95, 99,111,110,118,101,114,116, 0,115,107,
+103,101,110, 95,115,117, 98,100,105,118,105,115,105,111,110, 95,110,117,109, 98,101,114, 0,115,107,103,101,110, 95,114,101,116,
+ 97,114,103,101,116, 95,111,112,116,105,111,110,115, 0,115,107,103,101,110, 95,114,101,116, 97,114,103,101,116, 95,114,111,108,
+108, 0,115,107,103,101,110, 95,115,105,100,101, 95,115,116,114,105,110,103, 91, 56, 93, 0,115,107,103,101,110, 95,110,117,109,
+ 95,115,116,114,105,110,103, 91, 56, 93, 0,101,100,103,101, 95,109,111,100,101, 0,101,100,103,101, 95,109,111,100,101, 95,108,
+105,118,101, 95,117,110,119,114, 97,112, 0,115,110, 97,112, 95,109,111,100,101, 0,115,110, 97,112, 95,102,108, 97,103, 0,115,
+110, 97,112, 95,116, 97,114,103,101,116, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 0,112,114,111,112, 95,109,111,100,
+101, 0,112,114,111,112,111,114,116,105,111,110, 97,108, 95,111, 98,106,101, 99,116,115, 0, 97,117,116,111, 95,110,111,114,109,
+ 97,108,105,122,101, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,115,101,116,116,105,110,103,115, 0,115, 99,117,108,
+112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95,115,105,122,101, 0,115, 99,117,108,112,116, 95,112, 97,105,
+110,116, 95,117,110,105,102,105,101,100, 95,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0,115, 99,
+117,108,112,116, 95,112, 97,105,110,116, 95,117,110,105,102,105,101,100, 95, 97,108,112,104, 97, 0,116,111,116,111, 98,106, 0,
+116,111,116,108, 97,109,112, 0,116,111,116,111, 98,106,115,101,108, 0,116,111,116, 99,117,114,118,101, 0,116,111,116,109,101,
+115,104, 0,116,111,116, 97,114,109, 97,116,117,114,101, 0,115, 99, 97,108,101, 95,108,101,110,103,116,104, 0,115,121,115,116,
+101,109, 0,115,121,115,116,101,109, 95,114,111,116, 97,116,105,111,110, 0,103,114, 97,118,105,116,121, 91, 51, 93, 0,113,117,
+105, 99,107, 95, 99, 97, 99,104,101, 95,115,116,101,112, 0, 42,119,111,114,108,100, 0, 42,115,101,116, 0, 98, 97,115,101, 0,
+ 42, 98, 97,115, 97, 99,116, 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111,114, 91, 51, 93, 0,116,119, 99,101,110,116,
+ 91, 51, 93, 0,116,119,109,105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93, 0,108, 97,121, 97, 99,116, 0,108, 97,121,
+ 95,117,112,100, 97,116,101,100, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 95,109,111,100, 97,108, 0, 42,
+101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115,116, 97,116,115, 0, 97,117,100,105,111, 0,116,114,
+ 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 0, 42,115,111,117,
+110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,101, 0, 42,115,111,117,110,100, 95,115, 99,114,117, 98, 95,104, 97,110,
+100,108,101, 0, 42,102,112,115, 95,105,110,102,111, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,118, 97,108,105,100,
+ 0,100, 97,103,102,108, 97,103,115, 0,112, 97,100, 54, 0,112, 97,100, 53, 0, 97, 99,116,105,118,101, 95,107,101,121,105,110,
+103,115,101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,103,109, 0,117,110,105,116, 0,112,104,121,115,105, 99,115, 95,
+115,101,116,116,105,110,103,115, 0, 98,108,101,110,100, 0,118,105,101,119, 0,119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93,
+ 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,105,110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,
+115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,105,110,118, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,
+111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,116,119,109, 97,116, 91, 52,
+ 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,122,102, 97, 99, 0, 99, 97,109,100,120, 0, 99, 97,109,100,
+121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,111,111,109, 0,116,119,100,114, 97,119,102,108, 97,103, 0,105,115, 95,
+112,101,114,115,112, 0,114,102,108, 97,103, 0,118,105,101,119,108,111, 99,107, 0,112,101,114,115,112, 0, 99,108,105,112, 91,
+ 54, 93, 91, 52, 93, 0, 99,108,105,112, 95,108,111, 99, 97,108, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112, 98, 98, 0, 42,
+108,111, 99, 97,108,118,100, 0, 42,114,105, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,116,104,
+ 95,116,105,109,101,114, 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,101,119,
+ 0,103,114,105,100,118,105,101,119, 0,116,119, 97,110,103,108,101, 91, 51, 93, 0,112, 97,100,102, 0,114,101,103,105,111,110,
+ 98, 97,115,101, 0,115,112, 97, 99,101,116,121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,107,104,
+ 97,110,100,108,101,114, 91, 56, 93, 0,108, 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0, 98,103,
+112,105, 99, 98, 97,115,101, 0, 42, 98,103,112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91, 51, 50,
+ 93, 0,100,114, 97,119,116,121,112,101, 0,111, 98, 95, 99,101,110,116,114,101, 95, 99,117,114,115,111,114, 0,115, 99,101,110,
+101,108,111, 99,107, 0, 97,114,111,117,110,100, 0,103,114,105,100, 0,110,101, 97,114, 0,102, 97,114, 0,109,111,100,101,115,
+101,108,101, 99,116, 0,103,114,105,100,108,105,110,101,115, 0,103,114,105,100,115,117, 98,100,105,118, 0,103,114,105,100,102,
+108, 97,103, 0,116,119,116,121,112,101, 0,116,119,109,111,100,101, 0,116,119,102,108, 97,103, 0,112, 97,100, 50, 91, 50, 93,
+ 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97,110,115,112, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,
+ 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,116,114, 97,110,115,112, 0,122, 98,117,102, 0,120,114, 97,121, 0,
+110,100,111,102,109,111,100,101, 0,110,100,111,102,102,105,108,116,101,114, 0, 42,112,114,111,112,101,114,116,105,101,115, 95,
+115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110, 91, 50, 93, 0,109, 97,120,
+ 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,108, 0,115, 99,114,111,108,
+108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,112,111,102,115, 0, 97,108,
+105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,119,105,110,121, 0, 42,116,
+ 97, 98, 95,111,102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95, 99,117,114, 0,114,112,116, 95,109, 97,
+115,107, 0,118, 50,100, 0, 42, 97,100,115, 0,103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110, 97,112,
+ 0, 99,117,114,115,111,114, 86, 97,108, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,111, 0,109, 97,105,110, 98,117,115,101,
+114, 0,114,101, 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120,116,117,114,101, 95, 99,111,110,116,101,
+120,116, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42,112,105,110,105,100, 0,114,101,110,100,
+101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101, 98,114, 97, 0,122,111,111,109, 0,116,105,116,
+108,101, 91, 51, 50, 93, 0,100,105,114, 91, 50, 52, 48, 93, 0,102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,102,
+105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,101,100,105,116, 91, 56, 48, 93, 0,102,105,108,116,101,114, 95,103,108,
+111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108, 95,102,105,114,115,116, 0,115,101,108,
+ 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0,102, 95,102,112, 0,102,112, 95,115,116,114, 91, 56,
+ 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,116, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,101,115, 0, 42,
+102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,111,112, 0, 42,
+115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,114,101, 99,101,110,
+116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114, 0,115,121,115,116,101,109,110,114, 0,116,114,101,101, 0, 42,116,114,
+101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101, 97,114, 99,104,
+ 95,116,115,101, 0,111,117,116,108,105,110,101,118,105,115, 0,115,116,111,114,101,102,108, 97,103, 0,115,101, 97,114, 99,104,
+ 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, 0,115, 99,111,112,101,115, 0,115, 97,109,112,108,101, 95,108,105,110,101,
+ 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0, 99,117,114,116,
+105,108,101, 0,105,109,116,121,112,101,110,114, 0,108,111, 99,107, 0,112,105,110, 0,100,116, 95,117,118, 0,115,116,105, 99,
+107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,101,119,108,105,
+110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,110,101,110,114,
+115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,109, 98,101,114,
+ 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104,116, 0,111,118,101,114,119,114,105,116,
+101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105,110,101, 0,116,120,116,115, 99,114,111,
+108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112,108,117,103,105,110,115, 0,102,105,110,
+100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50, 53, 54, 93, 0,109, 97,114,103,105,110,
+ 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121, 95,100,114, 97,119, 0, 42,112,121, 95,
+101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114, 99, 97,108,108,
+ 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,101, 0,115, 99,
+114,105,112,116,110, 97,109,101, 91, 50, 53, 54, 93, 0,115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93, 0, 42,115, 99,
+114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42, 97,114,114, 97,121, 0, 99, 97, 99,104,101,115, 0, 99, 97, 99,
+104,101, 95,100,105,115,112,108, 97,121, 0,114,101,100,114, 97,119,115, 0, 42,105,100, 0, 97,115,112,101, 99,116, 0, 42, 99,
+117,114,102,111,110,116, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,101, 0,
+116,101,120,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,116,105,116,108,101, 91, 50, 52, 93, 0,109,101,110,117, 0,
+110,117,109,116,105,108,101,115,120, 0,110,117,109,116,105,108,101,115,121, 0,115,101,108,115,116, 97,116,101, 0,118,105,101,
+119,114,101, 99,116, 0, 98,111,111,107,109, 97,114,107,114,101, 99,116, 0,115, 99,114,111,108,108,112,111,115, 0,115, 99,114,
+111,108,108,104,101,105,103,104,116, 0,115, 99,114,111,108,108, 97,114,101, 97, 0,114,101,116,118, 97,108, 0, 97, 99,116,105,
+118,101, 95, 98,111,111,107,109, 97,114,107, 0,112,114,118, 95,119, 0,112,114,118, 95,104, 0, 40, 42,114,101,116,117,114,110,
+102,117,110, 99, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95,101,118,101,110,116, 41, 40, 41, 0, 40, 42,
+114,101,116,117,114,110,102,117,110, 99, 95, 97,114,103,115, 41, 40, 41, 0, 42, 97,114,103, 49, 0, 42, 97,114,103, 50, 0, 42,
+109,101,110,117,112, 0, 42,112,117,112,109,101,110,117, 0, 42,105,109,103, 0,108,101,110, 95, 97,108,108,111, 99, 0, 99,117,
+114,115,111,114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114,121, 0,112,114,111,109,112,116, 91, 50,
+ 53, 54, 93, 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, 95,115,116, 97,114,116, 0,115,101,108, 95,101,
+110,100, 0,102,105,108,116,101,114, 91, 54, 52, 93, 0, 42, 97,114,101, 97, 0, 42,115,111,117,110,100, 0,115,110,100,110,114,
+ 0,102,105,108,101,110, 97,109,101, 91, 50, 53, 54, 93, 0, 98,108,102, 95,105,100, 0,117,105,102,111,110,116, 95,105,100, 0,
+114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110,103, 0,105,116, 97,108,105, 99, 0, 98,111,108,
+100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, 0,115,104, 97,100,111,119, 97,108,112,104, 97,
+ 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105,116,108,101, 0,103,114,111,117,112,108, 97, 98,
+101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101,116, 0,112, 97,110,101,108,122,111,111,109, 0,
+109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100,103,101,116, 99,104, 97,114,115, 0, 99,111,108,
+117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, 99,101, 0, 98,111,120,115,112, 97, 99,101, 0,
+ 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115,112, 97, 99,101,121, 0,112, 97,110,101,108,115,
+112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,112, 97,100, 91, 49, 93, 0,111,117,116,108,105,110,101, 91, 52,
+ 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101,109, 91, 52, 93, 0,
+116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0,115,104, 97,100,101,
+116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, 99,104,101, 99,107, 0,105,110,110,101,114, 95,
+ 97,110,105,109, 91, 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,
+107,101,121, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,
+105,118,101,110, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, 0,119, 99,111,108,
+ 95,114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,116,111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119, 99,111,
+108, 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,112,116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,101, 0,
+119, 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,110,117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,101,110,
+117, 0,119, 99,111,108, 95,112,117,108,108,100,111,119,110, 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107, 0,119,
+ 99,111,108, 95,109,101,110,117, 95,105,116,101,109, 0,119, 99,111,108, 95, 98,111,120, 0,119, 99,111,108, 95,115, 99,114,111,
+108,108, 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111,108, 95,108,105,115,116, 95,105,116,101,109, 0,
+119, 99,111,108, 95,115,116, 97,116,101, 0,105, 99,111,110,102,105,108,101, 91, 56, 48, 93, 0, 98, 97, 99,107, 91, 52, 93, 0,
+116,105,116,108,101, 91, 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52, 93, 0,104,101,
+ 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 91, 52, 93, 0,104,101, 97,
+100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98,117,116,116,111,110, 95,
+116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,
+101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105,115,116, 95,116,105,116,108,101, 91, 52, 93, 0,
+108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,112, 97,110,
+101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 91,
+ 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,115,104, 97,100,101, 49, 91, 52, 93, 0,115,104,
+ 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0,119,105,114,101, 91, 52,
+ 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0, 97, 99,116,105,118,101, 91, 52, 93, 0,103,114,
+111,117,112, 91, 52, 93, 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,116,114, 97,110,115,102,111,114,109,
+ 91, 52, 93, 0,118,101,114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,
+100,103,101, 91, 52, 93, 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 95,115,101, 97,109, 91,
+ 52, 93, 0,101,100,103,101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101, 95,102, 97, 99,101,115,101,108, 91, 52, 93,
+ 0,101,100,103,101, 95, 99,114,101, 97,115,101, 91, 52, 93, 0,102, 97, 99,101, 91, 52, 93, 0,102, 97, 99,101, 95,115,101,108,
+101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,101,120,116,114, 97, 95,101,100,103,101, 95,108,101,
+110, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,110,103,108,101, 91, 52, 93, 0,101,120,116,114, 97, 95,102,
+ 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, 0,112, 97,100, 51, 91, 52, 93, 0,110,111,114,109, 97,108, 91, 52, 93, 0,118,101,
+114,116,101,120, 95,110,111,114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115,111,108,105,100, 91, 52, 93, 0, 98,111,110,
+101, 95,112,111,115,101, 91, 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116,114,105,112, 95,115,101,108,101, 99,116, 91,
+ 52, 93, 0, 99,102,114, 97,109,101, 91, 52, 93, 0,110,117,114, 98, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,
+118,108,105,110,101, 91, 52, 93, 0, 97, 99,116, 95,115,112,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,
+117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,118,108,105,110,101, 91, 52, 93, 0,108, 97,115,116,115,
+101,108, 95,112,111,105,110,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,100,108,
+101, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,
+ 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,100,
+108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,118,101, 99,116, 91, 52,
+ 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,103,110, 91, 52, 93, 0,100,115, 95, 99,104, 97,110,110,101,108,
+ 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,111,117,116,
+112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,
+105,110,102,111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111,114, 91, 52, 93, 0, 99,111,110,115,111,108,101,
+ 95, 99,117,114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, 0,111,117,116,108,105,110,101, 95,119,
+105,100,116,104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0, 98,112, 97,100, 0,115,121,110,116, 97,120,108, 91, 52,
+ 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116, 97,120, 98, 91, 52, 93, 0,115,121,110,116, 97,120,118, 91,
+ 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,105,101, 91, 52, 93, 0,105,109, 97,103,101, 91, 52, 93, 0,
+115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93, 0,101,102,102,101, 99,116, 91, 52, 93, 0,112,108,117,103,
+105,110, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91, 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,105,116,
+109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 91, 52, 93, 0,
+104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,
+101,114,116,101,120, 95,115,105,122,101, 0,104,112, 97,100, 91, 55, 93, 0,112,114,101,118,105,101,119, 95, 98, 97, 99,107, 91,
+ 52, 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,102,105,108,101,
+ 0,116,105,112,111, 0,116,105,110,102,111, 0,116,115,110,100, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115,101,113, 0,
+116,105,109, 97, 0,116,105,109, 97,115,101,108, 0,116,101,120,116, 0,116,111,111,112,115, 0,116,116,105,109,101, 0,116,110,
+111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,101,114,112,114,101,102, 0,116, 99,111,110,115,111,108,101, 0,116, 97,
+114,109, 91, 50, 48, 93, 0, 97, 99,116,105,118,101, 95,116,104,101,109,101, 95, 97,114,101, 97, 0,109,111,100,117,108,101, 91,
+ 54, 52, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,102,108, 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,101,109,
+112,100,105,114, 91, 49, 54, 48, 93, 0,102,111,110,116,100,105,114, 91, 49, 54, 48, 93, 0,114,101,110,100,101,114,100,105,114,
+ 91, 50, 52, 48, 93, 0,116,101,120,116,117,100,105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,116,101,120,100,105,114, 91, 49,
+ 54, 48, 93, 0,112,108,117,103,115,101,113,100,105,114, 91, 49, 54, 48, 93, 0,112,121,116,104,111,110,100,105,114, 91, 49, 54,
+ 48, 93, 0,115,111,117,110,100,100,105,114, 91, 49, 54, 48, 93, 0,105,109, 97,103,101, 95,101,100,105,116,111,114, 91, 50, 52,
+ 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 91, 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 95,
+112,114,101,115,101,116, 0,118, 50,100, 95,109,105,110, 95,103,114,105,100,115,105,122,101, 0,116,105,109,101, 99,111,100,101,
+ 95,115,116,121,108,101, 0,118,101,114,115,105,111,110,115, 0,100, 98,108, 95, 99,108,105, 99,107, 95,116,105,109,101, 0,103,
+ 97,109,101,102,108, 97,103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,108, 97,103, 0,
+108, 97,110,103,117, 97,103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,105,120, 98,117,
+102,115,105,122,101, 0, 97,117,100,105,111,100,101,118,105, 99,101, 0, 97,117,100,105,111,114, 97,116,101, 0, 97,117,100,105,
+111,102,111,114,109, 97,116, 0, 97,117,100,105,111, 99,104, 97,110,110,101,108,115, 0,100,112,105, 0,101,110, 99,111,100,105,
+110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 49, 0,109,101,110,117,
+116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,111,110,116,115, 0,117,105,115,116,121,108,
+101,115, 0,107,101,121,109, 97,112,115, 0, 97,100,100,111,110,115, 0,107,101,121, 99,111,110,102,105,103,115,116,114, 91, 54,
+ 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,114,121, 0,103,112, 95,109, 97,110,104, 97,
+116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,100,105,115,116, 0,103,112, 95,101,114, 97,
+115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,102,116,109,111,117,115,101, 0,116, 98, 95,
+114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,119, 95,104,111,116,115,112,111,116, 0,116,
+119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,116,119, 95,115,105,122,101, 0,116,101,120,
+116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,101, 0,119,109,100,114, 97,119,109,101,116,
+104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111,108,100, 0,109,101,109, 99, 97, 99,104,101,108,105,109,105,116, 0,
+112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101,114,118,101,114,112,111,114,116, 0,112,
+ 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95,100,105, 97, 0,114,118,105,115,105,122,
+101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108,101,115, 0,115,109,111,111,116,104, 95,
+118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0,110,100,111,102, 95,112, 97,110, 0,110,100,111,102, 95,
+114,111,116, 97,116,101, 0, 99,117,114,115,115,105,122,101, 0, 99,111,108,111,114, 95,112,105, 99,107,101,114, 95,116,121,112,
+101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104, 97,110,100,108,101,115, 95,110,101,119, 0,115, 99,114, 99, 97,115,116,
+102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105,116, 0,119,105,100,103,101,116, 95,117,110,105,116, 0, 97,110,105,115,
+111,116,114,111,112,105, 99, 95,102,105,108,116,101,114, 0,118,101,114,115,101,109, 97,115,116,101,114, 91, 49, 54, 48, 93, 0,
+118,101,114,115,101,117,115,101,114, 91, 49, 54, 48, 93, 0,103,108, 97,108,112,104, 97, 99,108,105,112, 0,116,101,120,116, 95,
+114,101,110,100,101,114, 0,112, 97,100, 57, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,115, 99,117,108,112,116, 95,112,
+ 97,105,110,116, 95,111,118,101,114,108, 97,121, 95, 99,111,108, 91, 51, 93, 0, 97,117,116,104,111,114, 91, 56, 48, 93, 0,118,
+101,114,116, 98, 97,115,101, 0,101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101, 0, 42,110,101,119,115, 99,
+101,110,101, 0,114,101,100,114, 97,119,115, 95,102,108, 97,103, 0,102,117,108,108, 0,116,101,109,112, 0,119,105,110,105,100,
+ 0,100,111, 95,100,114, 97,119, 0,100,111, 95,114,101,102,114,101,115,104, 0,100,111, 95,100,114, 97,119, 95,103,101,115,116,
+117,114,101, 0,100,111, 95,100,114, 97,119, 95,112, 97,105,110,116, 99,117,114,115,111,114, 0,100,111, 95,100,114, 97,119, 95,
+100,114, 97,103, 0,115,119, 97,112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97, 99,116,105,118,101, 0, 42,
+ 97,110,105,109,116,105,109,101,114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,114, 91, 56, 93, 0, 42,110,
+101,119,118, 0,118,101, 99, 0, 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,101,108,110, 97,109,101, 91,
+ 54, 52, 93, 0,116, 97, 98,110, 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,102,115,
+120, 0,111,102,115,121, 0,115,105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,102,115, 0,114,117,110,116,
+105,109,101, 95,102,108, 97,103, 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,116,111,114,100,101,114, 0,
+ 42,112, 97,110,101,108,116, 97, 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,116, 95,115, 99,114,111,108,
+108, 0,108,105,115,116, 95,115,105,122,101, 0,108,105,115,116, 95,108, 97,115,116, 95,108,101,110, 0,108,105,115,116, 95,103,
+114,105,112, 95,115,105,122,101, 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0, 42,118, 51, 0, 42,118, 52,
+ 0, 42,102,117,108,108, 0, 98,117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,114,116,121,112,101, 0,115,
+112, 97, 99,101,100, 97,116, 97, 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,111,110,101,115, 0,119,105,
+110,114, 99,116, 0,100,114, 97,119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,110,116,121,112,101, 0, 97,
+108,105,103,110,109,101,110,116, 0,100,111, 95,100,114, 97,119, 95,111,118,101,114,108, 97,121, 0,117,105, 98,108,111, 99,107,
+115, 0,112, 97,110,101,108,115, 0, 42,104,101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,111,110,100, 97,116, 97, 0,
+115,117, 98,118,115,116,114, 91, 52, 93, 0,115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,115, 0,109,105,110,118,101,
+114,115,105,111,110, 0,109,105,110,115,117, 98,118,101,114,115,105,111,110, 0,119,105,110,112,111,115, 0, 42, 99,117,114,115,
+ 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102,105,108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,
+102, 0,114,101,118,105,115,105,111,110, 0,102,105,108,101,110, 97,109,101, 91, 50, 52, 48, 93, 0,110, 97,109,101, 91, 56, 48,
+ 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114,105,103, 95,104,101,105,103,104,116, 0, 98,111,116,116,111,109, 0,
+114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97, 91, 51, 93,
+ 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 49, 54, 48, 93, 0,100,111,110,101, 0,115,116, 97,114,116,115,116,105,108,
+108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100, 97,116, 97, 0, 42, 99,114,111,112, 0, 42,116,114, 97,
+110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, 97,108, 97,110, 99,101, 0, 42,105,110,115,116, 97,110, 99,101, 95,
+112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117,114,114,101,110,116, 95,112,114,105,118, 97,116,101, 95,100,
+ 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, 0,101,110,100,111,102,115, 0,109, 97, 99,104,105,110,101,
+ 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115,112, 0,115, 97,116, 0,109,117,108, 0,104, 97,110,100,115,
+105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0, 42,115,116,114,105,112, 0, 42,115, 99,101,110,101, 95, 99,
+ 97,109,101,114, 97, 0,101,102,102,101, 99,116, 95,102, 97,100,101,114, 0,115,112,101,101,100, 95,102, 97,100,101,114, 0, 42,
+115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, 51, 0,115,101,113, 98, 97,115,101, 0, 42,115, 99,101,110,101, 95,
+115,111,117,110,100, 0,108,101,118,101,108, 0,112, 97,110, 0,115, 99,101,110,101,110,114, 0,109,117,108,116,105, 99, 97,109,
+ 95,115,111,117,114, 99,101, 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,109, 95,
+115,116, 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111,100,101, 0,
+ 98,108,101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,113, 0,
+ 42,115,101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97, 99,116,
+ 95,105,109, 97,103,101,100,105,114, 91, 50, 53, 54, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, 50, 53, 54, 93,
+ 0,111,118,101,114, 95,111,102,115, 0,111,118,101,114, 95, 99,102,114, 97, 0,111,118,101,114, 95,102,108, 97,103, 0,111,118,
+101,114, 95, 98,111,114,100,101,114, 0,101,100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,114,100, 0,119,105,112,101,
+116,121,112,101, 0,102, 77,105,110,105, 0,102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,115,116, 0,100,
+ 81,117, 97,108,105,116,121, 0, 98, 78,111, 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,101,121,
+ 73,110,105, 0, 83, 99, 97,108,101,120, 70,105,110, 0, 83, 99, 97,108,101,121, 70,105,110, 0,120, 73,110,105, 0,120, 70,105,
+110, 0,121, 73,110,105, 0,121, 70,105,110, 0,114,111,116, 73,110,105, 0,114,111,116, 70,105,110, 0,105,110,116,101,114,112,
+111,108, 97,116,105,111,110, 0,117,110,105,102,111,114,109, 95,115, 99, 97,108,101, 0, 42,102,114, 97,109,101, 77, 97,112, 0,
+103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,116, 86, 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,116,121,
+112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,116,111,116,112, 97,114,116, 0,110,111,114,109,102, 97, 99, 0,111,
+ 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,120,102, 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,111,114,
+ 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,109, 97,120,108,101,110, 0,100,101,102,118,101, 99, 91, 51, 93, 0,
+109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, 0, 99,104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52, 93, 0,
+116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,115,116, 97,116,105, 99,115,116,101,112, 0,111,109, 97,116, 0,116,
+105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, 0,102,108, 97,103, 50,110,101,103, 0,118,101,114,116,103,114,111,
+117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, 91, 51, 50, 93, 0,118,103,114,111,117,112,110, 97,109,101, 95,118,
+ 91, 51, 50, 93, 0, 42,107,101,121,115, 0,109,105,110,102, 97, 99, 0,110,114, 0,117,115,101,100, 0,117,115,101,100,101,108,
+101,109, 0, 42,112,111,105,110, 0,114,101,115,101,116,100,105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,
+101,121, 0,113,117, 97,108, 0,113,117, 97,108, 50, 0,116, 97,114,103,101,116, 78, 97,109,101, 91, 51, 50, 93, 0,116,111,103,
+103,108,101, 78, 97,109,101, 91, 51, 50, 93, 0,118, 97,108,117,101, 91, 51, 50, 93, 0,109, 97,120,118, 97,108,117,101, 91, 51,
+ 50, 93, 0,100,101,108, 97,121, 0,100,117,114, 97,116,105,111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 51,
+ 50, 93, 0,100, 97,109,112,116,105,109,101,114, 0,112,114,111,112,110, 97,109,101, 91, 51, 50, 93, 0,109, 97,116,110, 97,109,
+101, 91, 51, 50, 93, 0, 97,120,105,115,102,108, 97,103, 0,112,111,115,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0, 99,
+111,110,115,116,114, 97,105,110,116, 91, 51, 50, 93, 0, 42,102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,
+116, 91, 51, 50, 93, 0, 98,111,100,121, 91, 51, 50, 93, 0,111,116,121,112,101, 0,112,117,108,115,101, 0,102,114,101,113, 0,
+116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,107,115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,
+105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,102, 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,
+112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91, 49, 50, 56, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115,
+ 0,116,111,116,115,108,105,110,107,115, 0, 42, 42,115,108,105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109,
+ 97,115,107, 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,114,111,112, 91, 51, 50, 93, 0, 98,108,101,110,100,105,110, 0,112,
+114,105,111,114,105,116,121, 0,101,110,100, 95,114,101,115,101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,
+105,100,101,108,101,110,103,116,104, 0,109,105,110, 95,103, 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,114,101,102,101,
+114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0,109, 97,120, 95,100,105,115,116, 97,110, 99,101, 0,114,111,108,108,
+111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101, 95,105,110,110,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101,
+ 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95,103, 97,105,110, 0,112, 97,100,
+ 51, 91, 50, 93, 0,112,105,116, 99,104, 0,115,111,117,110,100, 51, 68, 0,112, 97,100, 54, 91, 49, 93, 0, 42,109,101, 0,108,
+105,110, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99,
+ 97,108,102,108, 97,103, 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93,
+ 0,102,111,114, 99,101,114,111,116, 91, 51, 93, 0,108,105,110,101, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,
+110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101, 0,109,105,110,
+ 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105,110,108,111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93,
+ 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,111,116, 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, 51, 50, 93,
+ 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0,100,105,115,116,114,105, 98,117,116,105,111,110, 0,105,110,116, 95,
+ 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,108,111, 97,
+116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,101, 91, 51, 50, 93, 0, 42,116,111, 79, 98,106,101, 99,116,
+ 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110, 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,105,110, 97,
+109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,111, 97,116, 95, 97,114,103, 0, 42,115,117, 98,116, 97,114,
+103,101,116, 0,103,111, 0, 42,110,101,119,112, 97, 99,107,101,100,102,105,108,101, 0, 97,116,116,101,110,117, 97,116,105,111,
+110, 0,100,105,115,116, 97,110, 99,101, 0, 42, 99, 97, 99,104,101, 0, 42,112,108, 97,121, 98, 97, 99,107, 95,104, 97,110,100,
+108,101, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98,106,101, 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93,
+ 0, 42,112,114,111,112, 0, 99,104,105,108,100, 98, 97,115,101, 0,114,111,108,108, 0,104,101, 97,100, 91, 51, 93, 0,116, 97,
+105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,114,109, 95,104,101, 97,100, 91, 51, 93,
+ 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,114,109, 95,114,
+111,108,108, 0,120,119,105,100,116,104, 0,122,119,105,100,116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,
100, 95,104,101, 97,100, 0,114, 97,100, 95,116, 97,105,108, 0, 98,111,110,101, 98, 97,115,101, 0, 99,104, 97,105,110, 98, 97,
-115,101, 0, 42,101,100, 98,111, 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,100, 0,103,104,111,115,116,101,112,
- 0,103,104,111,115,116,115,105,122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,116,104,115,105,122,101, 0,103,104,
-111,115,116,115,102, 0,103,104,111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,116,104,101,102, 0,112, 97,116,104,
- 98, 99, 0,112, 97,116,104, 97, 99, 0, 42,112,114,111,112, 0, 99,111,110,115,116,102,108, 97,103, 0,105,107,102,108, 97,103,
- 0,115,101,108,101, 99,116,102,108, 97,103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 42, 98,111,110,101, 0, 42, 99,104,
-105,108,100, 0,105,107,116,114,101,101, 0, 42, 98, 95, 98,111,110,101, 95,109, 97,116,115, 0, 42,100,117, 97,108, 95,113,117,
- 97,116, 0, 42, 98, 95, 98,111,110,101, 95,100,117, 97,108, 95,113,117, 97,116,115, 0,101,117,108, 91, 51, 93, 0,114,111,116,
-109,111,100,101, 0, 99,104, 97,110, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97,116, 91, 52, 93, 91,
- 52, 93, 0,112,111,115,101, 95,104,101, 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, 93, 0,108,105,109,
-105,116,109,105,110, 91, 51, 93, 0,108,105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110,101,115,115, 91, 51,
- 93, 0,105,107,115,116,114,101,116, 99,104, 0, 42, 99,117,115,116,111,109, 0, 99,104, 97,110, 98, 97,115,101, 0,112,114,111,
-120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100,101, 95,111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99,
- 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, 0,
- 99,117,115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,101,115, 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,
-101, 95,109, 97,114,107,101,114, 0, 42,115,111,117,114, 99,101, 0,102,105,108,116,101,114,102,108, 97,103, 0, 97,100,115, 0,
- 97, 99,116,110,114, 0, 97, 99,116,119,105,100,116,104, 0,116,105,109,101,115,108,105,100,101, 0, 42,103,114,112, 0,116,101,
-109,112, 0,110, 97,109,101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0,101,110,
-102,111,114, 99,101, 0,104,101, 97,100,116, 97,105,108, 0, 42,116, 97,114, 0,115,117, 98,116, 97,114,103,101,116, 91, 51, 50,
- 93, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,116, 97,114,110,117,109, 0,116, 97,114,103,
-101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0,114,111,111,116, 98,111,110,101, 0,109, 97,120, 95,114,111,111,116,
- 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,
-112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,103,114, 97, 98,116, 97,114,103,101,
-116, 91, 51, 93, 0,114,101,115,101,114,118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50, 0,109,105,110,109, 97,120,102,
-108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,108, 97,103, 0,102,111,108,108,
-111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,108,101,110,103,116,104, 0, 98,
-117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0, 97,120, 89, 0, 97,120, 90, 0,
-109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,101,120,116,114, 97, 70,122, 0,
-105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112, 91, 51, 93, 0,101,120,112,111,
- 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93, 0,116,111, 95,109,105,110, 91,
- 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,122,109,105,110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0, 99,104,
- 97,110,110,101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116, 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,105,
-115, 0, 99,117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,115,
- 0,115,116,114,105,100,101,108,101,110, 0,115, 99, 97,108,101, 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100,101,
- 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,111,102,102,115, 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,
-117,116, 0,104, 97,115,111,117,116,112,117,116, 0,100, 97,116, 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112,101,
- 0, 42,110,101,119, 95,115,111, 99,107, 0,110,115, 0,108,105,109,105,116, 0,115,116, 97, 99,107, 95,105,110,100,101,120, 0,
-105,110,116,101,114,110, 0,115,116, 97, 99,107, 95,105,110,100,101,120, 95,101,120,116, 0,108,111, 99,120, 0,108,111, 99,121,
- 0,111,119,110, 95,105,110,100,101,120, 0,116,111, 95,105,110,100,101,120, 0, 42,116,111,115,111, 99,107, 0, 42,108,105,110,
-107, 0, 42,110,101,119, 95,110,111,100,101, 0,117,115,101,114,110, 97,109,101, 91, 51, 50, 93, 0,108, 97,115,116,121, 0,111,
-117,116,112,117,116,115, 0, 42,115,116,111,114, 97,103,101, 0,109,105,110,105,119,105,100,116,104, 0, 99,117,115,116,111,109,
- 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109, 52, 0,110,101,101,100, 95,101,
-120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116,114, 0, 98,117,116,114, 0,112,
-114,118,114, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114,111,109,110,111,100,101, 0, 42,116,111,110,111,100,101, 0,
- 42,102,114,111,109,115,111, 99,107, 0,110,111,100,101,115, 0,108,105,110,107,115, 0, 42,115,116, 97, 99,107, 0, 42,116,104,
-114,101, 97,100,115,116, 97, 99,107, 0,105,110,105,116, 0,115,116, 97, 99,107,115,105,122,101, 0, 99,117,114, 95,105,110,100,
-101,120, 0, 97,108,108,116,121,112,101,115, 0, 42,111,119,110,116,121,112,101, 0, 42,115,101,108,105,110, 0, 42,115,101,108,
-111,117,116, 0, 40, 42,116,105,109,101, 99,117,114,115,111,114, 41, 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,114, 97,119,
- 41, 40, 41, 0, 40, 42,116,101,115,116, 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42,116, 99,104, 0, 42,115,
-100,104, 0, 99,121, 99,108,105, 99, 0,109,111,118,105,101, 0,115, 97,109,112,108,101,115, 0,109,105,110,115,112,101,101,100,
- 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107,101,104, 0, 99,117,114,118,101,100, 0,
-105,109, 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,101, 95,105,110, 95,104,101,105,103,104,116, 0, 99,
-101,110,116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,105,110, 0,105,116,101,114, 0,119,114, 97,112, 0,
-115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0,115, 97,116, 0,
-116, 49, 0,116, 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107,101,121, 91, 52, 93,
- 0,120, 49, 0,120, 50, 0,121, 49, 0,121, 50, 0, 99,111,108,110, 97,109,101, 91, 51, 50, 93, 0, 98,107,116,121,112,101, 0,
-114,111,116, 97,116,105,111,110, 0,103, 97,109, 99,111, 0,110,111, 95,122, 98,117,102, 0,102,115,116,111,112, 0,109, 97,120,
- 98,108,117,114, 0, 98,116,104,114,101,115,104, 0, 42,100,105, 99,116, 0, 42,110,111,100,101, 0, 97,110,103,108,101, 95,111,
-102,115, 0, 99,111,108,109,111,100, 0,109,105,120, 0,116,104,114,101,115,104,111,108,100, 0,102, 97,100,101, 0,109, 0, 99,
- 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,104,111,114,116,121, 0,109,105,110,116, 97, 98,108,101, 0,109, 97,
-120,116, 97, 98,108,101, 0,101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50, 93, 0, 42, 99,117,114,
-118,101, 0, 42,116, 97, 98,108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108,101, 0, 99,117,114,114, 0, 99,108,105,112,
-114, 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91,
- 51, 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101, 0,105,110,110,
-101,114,114, 97,100,105,117,115, 0,114, 97,116,101, 0,114,103, 98, 91, 51, 93, 0,114,111,116, 0,115, 99,117,108,112,116, 95,
-116,111,111,108, 0, 97, 99,116,105,118,101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,110,101, 0, 97, 99,116,
-105,118,101, 95,109, 97,115,107, 0, 42,108, 97,121,101,114,115, 0,116,111,116,108, 97,121,101,114, 0,109, 97,120,108, 97,121,
-101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0,101,100,105,116,102,108, 97,103, 0,118,101,108, 91, 51, 93,
- 0,114,111,116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112, 97, 91, 52, 93, 0,
-119, 91, 52, 93, 0,102,117,118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,114, 97,110,100, 91, 51, 93, 0, 42,115,116,105,
- 99,107, 95,111, 98, 0,112,114,101,118, 95,115,116, 97,116,101, 0, 42,104, 97,105,114, 0,105, 95,114,111,116, 91, 52, 93, 0,
-114, 95,114,111,116, 91, 52, 93, 0,114, 95, 97,118,101, 91, 51, 93, 0,114, 95,118,101, 91, 51, 93, 0,100,105,101,116,105,109,
-101, 0, 98, 97,110,107, 0,115,105,122,101,109,117,108, 0,110,117,109, 95,100,109, 99, 97, 99,104,101, 0, 98,112,105, 0, 97,
-108,105,118,101, 0,108,111,111,112, 0,100,105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,111,100,101,
- 0,114,101, 97, 99,116,101,118,101,110,116, 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,115,105,
-122,101, 0, 99,104,105,108,100,116,121,112,101, 0,114,101,110, 95, 97,115, 0,114,116, 50, 91, 51, 93, 0,100,114, 97,119, 95,
-115,116,101,112, 0,114,101,110, 95,115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115, 95,115,116,101,
-112, 0, 97,100, 97,112,116, 95, 97,110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102,114,111,109, 0,
-105,110,116,101,103,114, 97,116,111,114, 0,110, 98,101,116,119,101,101,110, 0, 98,111,105,100,110,101,105,103,104, 98,111,117,
-114,115, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112,108,105,116, 0, 98, 98, 95, 97,110,105,109, 0,
- 98, 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116,105,108,116, 0, 98, 98, 95,114, 97,110,100, 95,
-116,105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0,115,105,109,112,108,105,102,121, 95,102,108, 97,103, 0,
-115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101, 0,115,105,109,112,108,105,102,121, 95,114, 97,116,101, 0,115,
-105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,111,110, 0,115,105,109,112,108,105,102,121, 95,118,105,101,119,
-112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103,
-114,105,100, 95,114,101,115, 0,112, 97,114,116,102, 97, 99, 0,116, 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,
-114,101, 97, 99,116,102, 97, 99, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,114,111,116,
-102, 97, 99, 0,114, 97,110,100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0,114,101, 97, 99,116,115,
-104, 97,112,101, 0, 97, 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97, 99, 0, 98,114,111,119,110,102, 97, 99, 0,100, 97,109,
-112,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116,104, 0, 99,104,105,108,100, 95,110, 98,114, 0,114,101,110, 95, 99,104,
-105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116,115, 0, 99,104,105,108,100,115,105,122,101, 0, 99,104,105,108,100,114,
- 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,100, 0, 99,104,105,108,100,102,108, 97,116, 0, 99,108,117,109,112,
-102, 97, 99, 0, 99,108,117,109,112,112,111,119, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122,101, 0,
-114,111,117,103,104, 50, 0,114,111,117,103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101,115, 0,
-114,111,117,103,104, 95,101,110,100, 0,114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110,103,116,
-104, 0, 99,108,101,110,103,116,104, 95,116,104,114,101,115, 0, 98,114, 97,110, 99,104, 95,116,104,114,101,115, 0,100,114, 97,
-119, 95,108,105,110,101, 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95,101,110,100, 0,116,114,
- 97,105,108, 95, 99,111,117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,109, 97,120, 95,108, 97,116, 95, 97, 99,
- 99, 0,109, 97,120, 95,116, 97,110, 95, 97, 99, 99, 0, 97,118,101,114, 97,103,101, 95,118,101,108, 0, 98, 97,110,107,105,110,
-103, 0,109, 97,120, 95, 98, 97,110,107, 0,103,114,111,117,110,100,122, 0, 98,111,105,100,102, 97, 99, 91, 56, 93, 0, 98,111,
-105,100,114,117,108,101, 91, 56, 93, 0, 42,101,102,102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98,
- 95,111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114,116, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,105,116,
- 41, 40, 41, 0, 42, 42,112, 97,116,104, 99, 97, 99,104,101, 0, 42, 42, 99,104,105,108,100, 99, 97, 99,104,101, 0,112, 97,116,
-104, 99, 97, 99,104,101, 98,117,102,115, 0, 99,104,105,108,100, 99, 97, 99,104,101, 98,117,102,115, 0, 42,116, 97,114,103,101,
-116, 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, 0,101,102,102,101, 99,116,111,114,115, 0,114,101, 97, 99,116,101,118,101,
-110,116,115, 0,107,101,121,101,100, 95,116, 97,114,103,101,116,115, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97,
- 99,104,101,100, 0,116,111,116, 99,104,105,108,100, 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,
-111,116,107,101,121,101,100, 0, 98, 97,107,101,115,112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 51,
- 50, 93, 0,118,103,114,111,117,112, 91, 49, 50, 93, 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,
-100, 97,116, 97, 0, 42, 99, 97, 99,104,101, 0, 67,100,105,115, 0, 67,118,105, 0, 91, 51, 93, 0,115,116,114,117, 99,116,117,
-114, 97,108, 0, 98,101,110,100,105,110,103, 0,109, 97,120, 95, 98,101,110,100, 0,109, 97,120, 95,115,116,114,117, 99,116, 0,
-109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103, 95,115,112,114,105,110,103, 95,108,101,110, 0,116,105,109,101,115, 99, 97,
-108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,115, 99, 97,108,101, 0,101,102,102, 95,119,105,110,100, 95,115, 99, 97,108,
-101, 0,115,105,109, 95,116,105,109,101, 95,111,108,100, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,
-114,111,108,108, 0,109, 97,120,115,112,114,105,110,103,108,101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,
-114,111,117,112, 95, 98,101,110,100, 0,118,103,114,111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,
-117, 99,116, 0,112,114,101,115,101,116,115, 0, 42, 99,111,108,108,105,115,105,111,110, 95,108,105,115,116, 0,101,112,115,105,
-108,111,110, 0,115,101,108,102, 95,102,114,105, 99,116,105,111,110, 0,115,101,108,102,101,112,115,105,108,111,110, 0,115,101,
+115,101, 0, 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98,111,110,101, 0, 42, 97, 99,116, 95,101,100, 98,111,110,101, 0, 42,
+115,107,101,116, 99,104, 0,108, 97,121,101,114, 95,117,115,101,100, 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,
+100, 0,103,104,111,115,116,101,112, 0,103,104,111,115,116,115,105,122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,
+116,104,115,105,122,101, 0,103,104,111,115,116,115,102, 0,103,104,111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,
+116,104,101,102, 0,112, 97,116,104, 98, 99, 0,112, 97,116,104, 97, 99, 0, 42,112,111,105,110,116,115, 0,115,116, 97,114,116,
+ 95,102,114, 97,109,101, 0,101,110,100, 95,102,114, 97,109,101, 0,103,104,111,115,116, 95,115,102, 0,103,104,111,115,116, 95,
+101,102, 0,103,104,111,115,116, 95, 98, 99, 0,103,104,111,115,116, 95, 97, 99, 0,103,104,111,115,116, 95,116,121,112,101, 0,
+103,104,111,115,116, 95,115,116,101,112, 0,103,104,111,115,116, 95,102,108, 97,103, 0,112, 97,116,104, 95,116,121,112,101, 0,
+112, 97,116,104, 95,115,116,101,112, 0,112, 97,116,104, 95,118,105,101,119,102,108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,
+101,102,108, 97,103, 0,112, 97,116,104, 95,115,102, 0,112, 97,116,104, 95,101,102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,
+116,104, 95, 97, 99, 0, 99,111,110,115,116,102,108, 97,103, 0,105,107,102,108, 97,103, 0,115,101,108,101, 99,116,102,108, 97,
+103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 42, 98,111,110,101, 0, 42, 99,104,105,108,100, 0,105,107,116,114,101,101,
+ 0, 42, 99,117,115,116,111,109, 0, 42, 99,117,115,116,111,109, 95,116,120, 0,101,117,108, 91, 51, 93, 0, 99,104, 97,110, 95,
+109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,104,101,
+ 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, 93, 0,108,105,109,105,116,109,105,110, 91, 51, 93, 0,108,
+105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110,101,115,115, 91, 51, 93, 0,105,107,115,116,114,101,116, 99,
+104, 0,105,107,114,111,116,119,101,105,103,104,116, 0,105,107,108,105,110,119,101,105,103,104,116, 0, 99,104, 97,110, 98, 97,
+115,101, 0, 42, 99,104, 97,110,104, 97,115,104, 0,112,114,111,120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100,101, 95,
+111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99, 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,111,117,
+112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112, 0,105,107,115,111,108,118,101,114, 0, 42,105,107,100, 97,116, 97,
+ 0, 42,105,107,112, 97,114, 97,109, 0,112,114,111,120,121, 95, 97, 99,116, 95, 98,111,110,101, 91, 51, 50, 93, 0,110,117,109,
+105,116,101,114, 0,110,117,109,115,116,101,112, 0,109,105,110,115,116,101,112, 0,109, 97,120,115,116,101,112, 0,115,111,108,
+118,101,114, 0,102,101,101,100, 98, 97, 99,107, 0,109, 97,120,118,101,108, 0,100, 97,109,112,109, 97,120, 0,100, 97,109,112,
+101,112,115, 0, 99,104, 97,110,110,101,108,115, 0, 99,117,115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,101,115,
+ 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,109, 97,114,107,101,114, 0,105,100,114,111,111,116, 0, 42,115,111,
+117,114, 99,101, 0, 42,102,105,108,116,101,114, 95,103,114,112, 0,115,101, 97,114, 99,104,115,116,114, 91, 54, 52, 93, 0,102,
+105,108,116,101,114,102,108, 97,103, 0, 97,100,115, 0,116,105,109,101,115,108,105,100,101, 0, 42,103,114,112, 0,110, 97,109,
+101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0,101,110,102,111,114, 99,101, 0,
+104,101, 97,100,116, 97,105,108, 0,108,105,110, 95,101,114,114,111,114, 0,114,111,116, 95,101,114,114,111,114, 0, 42,116, 97,
+114, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,114,111,116, 79,114,100,101,114, 0,116, 97,
+114,110,117,109, 0,116, 97,114,103,101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0,114,111,111,116, 98,111,110,101,
+ 0,109, 97,120, 95,114,111,111,116, 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,
+114,103,101,116, 91, 51, 50, 93, 0,112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,
+103,114, 97, 98,116, 97,114,103,101,116, 91, 51, 93, 0,110,117,109,112,111,105,110,116,115, 0, 99,104, 97,105,110,108,101,110,
+ 0,120,122, 83, 99, 97,108,101, 77,111,100,101, 0,114,101,115,101,114,118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50,
+ 0,109,105,110,109, 97,120,102,108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,
+108, 97,103, 0,102,111,108,108,111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,
+108,101,110,103,116,104, 0, 98,117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0,
+ 97,120, 89, 0, 97,120, 90, 0,109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,
+101,120,116,114, 97, 70,122, 0,105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112,
+ 91, 51, 93, 0,101,120,112,111, 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93,
+ 0,116,111, 95,109,105,110, 91, 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,114,111,116, 65,120,105,115, 0,122,109,105,
+110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116,
+ 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,105,115, 0, 99,117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,
+116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,115, 0,115,116,114,105,100,101,108,101,110, 0,115, 99, 97,108,101,
+ 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,111,102,102,115,
+ 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,117,116, 0,104, 97,115,111,117,116,112,117,116, 0,100, 97,116,
+ 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112,101, 0, 42,110,101,119, 95,115,111, 99,107, 0,110,115, 0,108,105,
+109,105,116, 0,115,116, 97, 99,107, 95,116,121,112,101, 0, 42,115,116, 97, 99,107, 95,112,116,114, 0,115,116, 97, 99,107, 95,
+105,110,100,101,120, 0,108,111, 99,120, 0,108,111, 99,121, 0,111,119,110, 95,105,110,100,101,120, 0, 42,103,114,111,117,112,
+115,111, 99,107, 0,116,111, 95,105,110,100,101,120, 0, 42,108,105,110,107, 0, 42,114,101, 99,116, 0,120,115,105,122,101, 0,
+121,115,105,122,101, 0, 42,110,101,119, 95,110,111,100,101, 0,108, 97,115,116,121, 0,111,117,116,112,117,116,115, 0, 42,115,
+116,111,114, 97,103,101, 0,109,105,110,105,119,105,100,116,104, 0,108, 97, 98,101,108, 91, 51, 50, 93, 0, 99,117,115,116,111,
+109, 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109, 52, 0,110,101,101,100, 95,
+101,120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116,114, 0, 98,117,116,114, 0,
+112,114,118,114, 0, 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114,111,109,110,111,100,101, 0,
+ 42,116,111,110,111,100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42,116,111,115,111, 99,107, 0,110,111,100,101,115, 0,
+108,105,110,107,115, 0, 42,115,116, 97, 99,107, 0, 42,116,104,114,101, 97,100,115,116, 97, 99,107, 0,105,110,105,116, 0,115,
+116, 97, 99,107,115,105,122,101, 0, 99,117,114, 95,105,110,100,101,120, 0, 97,108,108,116,121,112,101,115, 0, 40, 42,112,114,
+111,103,114,101,115,115, 41, 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,114, 97,119, 41, 40, 41, 0, 40, 42,116,101,115,116,
+ 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42,112,114,104, 0, 42,115,100,104, 0, 99,121, 99,108,105, 99, 0,
+109,111,118,105,101, 0,115, 97,109,112,108,101,115, 0,109, 97,120,115,112,101,101,100, 0,109,105,110,115,112,101,101,100, 0,
+ 99,117,114,118,101,100, 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107,101,104, 0,103,
+ 97,109,109, 97, 0,105,109, 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,101, 95,105,110, 95,104,101,105,
+103,104,116, 0, 99,101,110,116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,105,110, 0,119,114, 97,112, 0,
+115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0,116, 49, 0,116,
+ 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107,101,121, 91, 52, 93, 0, 97,108,103,
+111,114,105,116,104,109, 0, 99,104, 97,110,110,101,108, 0,120, 49, 0,120, 50, 0,121, 49, 0,121, 50, 0,102, 97, 99, 95,120,
+ 49, 0,102, 97, 99, 95,120, 50, 0,102, 97, 99, 95,121, 49, 0,102, 97, 99, 95,121, 50, 0, 99,111,108,110, 97,109,101, 91, 51,
+ 50, 93, 0, 98,107,116,121,112,101, 0,114,111,116, 97,116,105,111,110, 0,103, 97,109, 99,111, 0,110,111, 95,122, 98,117,102,
+ 0,102,115,116,111,112, 0,109, 97,120, 98,108,117,114, 0, 98,116,104,114,101,115,104, 0, 42,100,105, 99,116, 0, 42,110,111,
+100,101, 0, 97,110,103,108,101, 95,111,102,115, 0, 99,111,108,109,111,100, 0,109,105,120, 0,116,104,114,101,115,104,111,108,
+100, 0,102, 97,100,101, 0,109, 0, 99, 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,108,111,112,101, 91, 51, 93,
+ 0,112,111,119,101,114, 91, 51, 93, 0,108,105,102,116, 95,108,103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95,105,110,118, 91,
+ 51, 93, 0,108,105,109, 99,104, 97,110, 0,117,110,115,112,105,108,108, 0,108,105,109,115, 99, 97,108,101, 0,117,115,112,105,
+108,108,114, 0,117,115,112,105,108,108,103, 0,117,115,112,105,108,108, 98, 0,115,104,111,114,116,121, 0,109,105,110,116, 97,
+ 98,108,101, 0,109, 97,120,116, 97, 98,108,101, 0,101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50,
+ 93, 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98,108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108,101, 0,112,114,101,
+115,101,116, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 0, 99,117,114,114, 0, 99,108,105,112,114,
+ 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91, 51,
+ 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,120, 95,114,101,115,111,108,117,116,105,111,110, 0,100, 97,116, 97, 95,114, 91,
+ 50, 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, 93, 0,100, 97,116,
+ 97, 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115, 97,109,112,108,101, 95,102,117,108,108, 0,115, 97,109,112,108,101, 95,108,
+105,110,101,115, 0, 97, 99, 99,117,114, 97, 99,121, 0,119, 97,118,101,102,114,109, 95,109,111,100,101, 0,119, 97,118,101,102,
+114,109, 95, 97,108,112,104, 97, 0,119, 97,118,101,102,114,109, 95,121,102, 97, 99, 0,119, 97,118,101,102,114,109, 95,104,101,
+105,103,104,116, 0,118,101, 99,115, 99,111,112,101, 95, 97,108,112,104, 97, 0,118,101, 99,115, 99,111,112,101, 95,104,101,105,
+103,104,116, 0,109,105,110,109, 97,120, 91, 51, 93, 91, 50, 93, 0,104,105,115,116, 0, 42,119, 97,118,101,102,111,114,109, 95,
+ 49, 0, 42,119, 97,118,101,102,111,114,109, 95, 50, 0, 42,119, 97,118,101,102,111,114,109, 95, 51, 0, 42,118,101, 99,115, 99,
+111,112,101, 0,119, 97,118,101,102,111,114,109, 95,116,111,116, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101,
+ 0,109,116,101,120, 0, 42,105, 99,111,110, 95,105,109, 98,117,102, 0,105, 99,111,110, 95,102,105,108,101,112, 97,116,104, 91,
+ 50, 52, 48, 93, 0,110,111,114,109, 97,108, 95,119,101,105,103,104,116, 0,111, 98, 95,109,111,100,101, 0,106,105,116,116,101,
+114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,114, 97,100,105,117,115, 0,115,109,111,111,116,104, 95,115,116,
+114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,101, 0,114,103, 98, 91, 51, 93, 0,115, 99,117,108,112,116, 95,112,
+108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,101,116, 0,115, 99,117,108,112,116, 95,116,111,111,108, 0,118,101,
+114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,105,109, 97,103,101,112, 97,105,110,116, 95,116,111,111,108, 0,112,
+ 97,100, 51, 91, 53, 93, 0, 97,117,116,111,115,109,111,111,116,104, 95,102, 97, 99,116,111,114, 0, 99,114,101, 97,115,101, 95,
+112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108, 97,110,101, 95,116,114,105,109, 0,116,101,120,116,117,114,101, 95,
+115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,116,117,114,101, 95,111,118,101,114,108, 97,121, 95, 97,108,112,104,
+ 97, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0, 97,100,100, 95, 99,111,108, 91, 51, 93, 0,
+115,117, 98, 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105,118,101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,
+110,101, 0, 97, 99,116,105,118,101, 95,109, 97,115,107, 0, 42,108, 97,121,101,114,115, 0,116,111,116,108, 97,121,101,114, 0,
+109, 97,120,108, 97,121,101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0, 42,101,120,116,101,114,110, 97,108,
+ 0,114,111,116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0, 42,103,114,111,117,110,100, 0,119, 97,110,100,101,114, 91, 51, 93,
+ 0,114,101,115,116, 95,108,101,110,103,116,104, 0,112, 97,114,116,105, 99,108,101, 95,105,110,100,101,120, 91, 50, 93, 0,100,
+101,108,101,116,101, 95,102,108, 97,103, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112, 97, 91, 52, 93, 0,119, 91, 52, 93,
+ 0,102,117,118, 91, 52, 93, 0,102,111,102,102,115,101,116, 0,114,116, 91, 50, 93, 0,112,114,101,118, 95,115,116, 97,116,101,
+ 0, 42,104, 97,105,114, 0, 42, 98,111,105,100, 0,100,105,101,116,105,109,101, 0,110,117,109, 95,100,109, 99, 97, 99,104,101,
+ 0,104, 97,105,114, 95,105,110,100,101,120, 0, 97,108,105,118,101, 0,115,112,114,105,110,103, 95,107, 0,112,108, 97,115,116,
+105, 99,105,116,121, 95, 99,111,110,115,116, 97,110,116, 0,121,105,101,108,100, 95,114, 97,116,105,111, 0,112,108, 97,115,116,
+105, 99,105,116,121, 95, 98, 97,108, 97,110, 99,101, 0,121,105,101,108,100, 95, 98, 97,108, 97,110, 99,101, 0,118,105,115, 99,
+111,115,105,116,121, 95,111,109,101,103, 97, 0,118,105,115, 99,111,115,105,116,121, 95, 98,101,116, 97, 0,115,116,105,102,102,
+110,101,115,115, 95,107, 0,115,116,105,102,102,110,101,115,115, 95,107,110,101, 97,114, 0,114,101,115,116, 95,100,101,110,115,
+105,116,121, 0, 98,117,111,121, 97,110, 99,121, 0,115,112,114,105,110,103, 95,102,114, 97,109,101,115, 0, 42, 98,111,105,100,
+115, 0, 42,102,108,117,105,100, 0,100,105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,111,100,101, 0,
+114,101, 97, 99,116,101,118,101,110,116, 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,115,105,122,
+101, 0, 99,104,105,108,100,116,121,112,101, 0,114,101,110, 95, 97,115, 0,115,117, 98,102,114, 97,109,101,115, 0,100,114, 97,
+119, 95, 99,111,108, 0,114,101,110, 95,115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115, 95,115,116,
+101,112, 0, 97,100, 97,112,116, 95, 97,110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102,114,111,109,
+ 0,105,110,116,101,103,114, 97,116,111,114, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112,108,105,116,
+ 0, 98, 98, 95, 97,110,105,109, 0, 98, 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116,105,108,116,
+ 0, 98, 98, 95,114, 97,110,100, 95,116,105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0, 98, 98, 95,115,105,
+122,101, 91, 50, 93, 0, 98, 98, 95,118,101,108, 95,104,101, 97,100, 0, 98, 98, 95,118,101,108, 95,116, 97,105,108, 0, 99,111,
+108,111,114, 95,118,101, 99, 95,109, 97,120, 0,115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101, 0,115,105,109,
+112,108,105,102,121, 95,114, 97,116,101, 0,115,105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,111,110, 0,115,
+105,109,112,108,105,102,121, 95,118,105,101,119,112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0,106,105,116,102, 97,
+ 99, 0,101,102,102, 95,104, 97,105,114, 0,103,114,105,100, 95,114, 97,110,100, 0,103,114,105,100, 95,114,101,115, 0,101,102,
+102,101, 99,116,111,114, 95, 97,109,111,117,110,116, 0,112, 97,114,116,102, 97, 99, 0,116, 97,110,102, 97, 99, 0,116, 97,110,
+112,104, 97,115,101, 0,114,101, 97, 99,116,102, 97, 99, 0,111, 98, 95,118,101,108, 91, 51, 93, 0, 97,118,101,102, 97, 99, 0,
+112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,114,111,116,102, 97, 99, 0,114, 97,110,100,112,104, 97,115,101,102, 97, 99,
+ 0,114, 97,110,100,115,105,122,101, 0, 97, 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97, 99, 0, 98,114,111,119,110,102, 97,
+ 99, 0,114, 97,110,100,108,101,110,103,116,104, 0, 99,104,105,108,100, 95,110, 98,114, 0,114,101,110, 95, 99,104,105,108,100,
+ 95,110, 98,114, 0,112, 97,114,101,110,116,115, 0, 99,104,105,108,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,110,100,
+115,105,122,101, 0, 99,104,105,108,100,114, 97,100, 0, 99,104,105,108,100,102,108, 97,116, 0, 99,108,117,109,112,112,111,119,
+ 0,107,105,110,107, 95,102,108, 97,116, 0,107,105,110,107, 95, 97,109,112, 95, 99,108,117,109,112, 0,114,111,117,103,104, 49,
+ 0,114,111,117,103,104, 49, 95,115,105,122,101, 0,114,111,117,103,104, 50, 0,114,111,117,103,104, 50, 95,115,105,122,101, 0,
+114,111,117,103,104, 50, 95,116,104,114,101,115, 0,114,111,117,103,104, 95,101,110,100, 0,114,111,117,103,104, 95,101,110,100,
+ 95,115,104, 97,112,101, 0, 99,108,101,110,103,116,104, 0, 99,108,101,110,103,116,104, 95,116,104,114,101,115, 0,112, 97,114,
+116,105,110,103, 95,102, 97, 99, 0,112, 97,114,116,105,110,103, 95,109,105,110, 0,112, 97,114,116,105,110,103, 95,109, 97,120,
+ 0, 98,114, 97,110, 99,104, 95,116,104,114,101,115, 0,100,114, 97,119, 95,108,105,110,101, 91, 50, 93, 0,112, 97,116,104, 95,
+115,116, 97,114,116, 0,112, 97,116,104, 95,101,110,100, 0,116,114, 97,105,108, 95, 99,111,117,110,116, 0,107,101,121,101,100,
+ 95,108,111,111,112,115, 0,100,117,112,108,105,119,101,105,103,104,116,115, 0, 42,101,102,102, 95,103,114,111,117,112, 0, 42,
+100,117,112, 95,111, 98, 0, 42, 98, 98, 95,111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114,116, 0, 42,112, 97,114,116,105, 99,
+108,101,115, 0, 42, 42,112, 97,116,104, 99, 97, 99,104,101, 0, 42, 42, 99,104,105,108,100, 99, 97, 99,104,101, 0,112, 97,116,
+104, 99, 97, 99,104,101, 98,117,102,115, 0, 99,104,105,108,100, 99, 97, 99,104,101, 98,117,102,115, 0, 42, 99,108,109,100, 0,
+ 42,104, 97,105,114, 95,105,110, 95,100,109, 0, 42,104, 97,105,114, 95,111,117,116, 95,100,109, 0, 42,116, 97,114,103,101,116,
+ 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, 0,116,114,101,101, 95,102,114, 97,109,101, 0, 98,118,104,116,114,101,101, 95,
+102,114, 97,109,101, 0, 99,104,105,108,100, 95,115,101,101,100, 0,116,111,116,117,110,101,120,105,115,116, 0,116,111,116, 99,
+104,105,108,100, 0,116,111,116, 99, 97, 99,104,101,100, 0,116,111,116, 99,104,105,108,100, 99, 97, 99,104,101, 0,116, 97,114,
+103,101,116, 95,112,115,121,115, 0,116,111,116,107,101,121,101,100, 0, 98, 97,107,101,115,112, 97, 99,101, 0, 98, 98, 95,117,
+118,110, 97,109,101, 91, 51, 93, 91, 51, 50, 93, 0,118,103,114,111,117,112, 91, 49, 50, 93, 0,118,103, 95,110,101,103, 0,114,
+116, 51, 0, 42,114,101,110,100,101,114,100, 97,116, 97, 0, 42,101,102,102,101, 99,116,111,114,115, 0, 42,102,108,117,105,100,
+ 95,115,112,114,105,110,103,115, 0,116,111,116, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 97,108,108,111, 99, 95,
+102,108,117,105,100,115,112,114,105,110,103,115, 0, 42,116,114,101,101, 0, 42,112,100,100, 0, 42,102,114, 97,110,100, 0, 67,
+100,105,115, 0, 67,118,105, 0,115,116,114,117, 99,116,117,114, 97,108, 0, 98,101,110,100,105,110,103, 0,109, 97,120, 95, 98,
+101,110,100, 0,109, 97,120, 95,115,116,114,117, 99,116, 0,109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103, 95,115,112,114,
+105,110,103, 95,108,101,110, 0,116,105,109,101,115, 99, 97,108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,115, 99, 97,108,
+101, 0,101,102,102, 95,119,105,110,100, 95,115, 99, 97,108,101, 0,115,105,109, 95,116,105,109,101, 95,111,108,100, 0,118,101,
+108,111, 99,105,116,121, 95,115,109,111,111,116,104, 0, 99,111,108,108,105,100,101,114, 95,102,114,105, 99,116,105,111,110, 0,
+115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,114,111,108,108, 0,109, 97,120,115,112,114,105,110,103,108,
+101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,114,111,117,112, 95, 98,101,110,100, 0,118,103,114,111,117,
+112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,117, 99,116, 0,115,104, 97,112,101,107,101,121, 95,114,101,
+115,116, 0,112,114,101,115,101,116,115, 0,114,101,115,101,116, 0, 42, 99,111,108,108,105,115,105,111,110, 95,108,105,115,116,
+ 0,101,112,115,105,108,111,110, 0,115,101,108,102, 95,102,114,105, 99,116,105,111,110, 0,115,101,108,102,101,112,115,105,108,
+111,110, 0,114,101,112,101,108, 95,102,111,114, 99,101, 0,100,105,115,116, 97,110, 99,101, 95,114,101,112,101,108, 0,115,101,
108,102, 95,108,111,111,112, 95, 99,111,117,110,116, 0,108,111,111,112, 95, 99,111,117,110,116, 0,112,114,101,115,115,117,114,
-101, 0, 42,112,111,105,110,116,115, 0,116,111,116,112,111,105,110,116,115, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,
-114,111,107,101,115, 0,102,114, 97,109,101,110,117,109, 0, 42, 97, 99,116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,
-110,102,111, 91, 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, 95,115,105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,
-108, 97,103, 0, 42,115, 98,117,102,102,101,114, 0, 42,116,121,112,101,115,116,114, 0, 42,109,101,115,115, 97,103,101, 0,108,
-105,115,116, 0,112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101,118,101,108, 0, 42,119,105,110,100,114,
- 97,119, 97, 98,108,101, 0, 42,119,105,110, 97, 99,116,105,118,101, 0,119,105,110,100,111,119,115, 0,105,110,105,116,105, 97,
-108,105,122,101,100, 0,102,105,108,101, 95,115, 97,118,101,100, 0,111,112,101,114, 97,116,111,114,115, 0,113,117,101,117,101,
- 0,114,101,112,111,114,116,115, 0,106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0,107,101,121,109, 97,
-112,115, 0, 42,103,104,111,115,116,119,105,110, 0, 42,110,101,119,115, 99,114,101,101,110, 0,115, 99,114,101,101,110,110, 97,
-109,101, 91, 51, 50, 93, 0,112,111,115,120, 0,112,111,115,121, 0,119,105,110,100,111,119,115,116, 97,116,101, 0,109,111,110,
-105,116,111,114, 0,108, 97,115,116, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,118,101, 0, 42,101,118,
-101,110,116,115,116, 97,116,101, 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,114, 97,119,109,101,116,
-104,111,100, 0,100,114, 97,119,102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,116,105,109,101,114,115, 0,115,117,
- 98,119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,110, 97,109,101, 91, 54, 52, 93, 0, 42,112,116,114,
- 0,115,104,105,102,116, 0, 99,116,114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,105,102,105,101,
-114, 0,107,101,121,109, 97,112, 0,110, 97,109,101,105,100, 91, 54, 52, 93, 0,115,112, 97, 99,101,105,100, 0,114,101,103,105,
-111,110,105,100, 0, 42, 99,117,115,116,111,109,100, 97,116, 97, 0, 42,114,101,112,111,114,116,115, 0,109,118, 97,108, 91, 50,
- 93, 0,112,114,101,118,120, 0,112,114,101,118,121, 0,117,110,105, 99,111,100,101, 0, 97,115, 99,105,105, 0, 42,107,101,121,
-109, 97,112, 95,105,100,110, 97,109,101, 0, 99,117,115,116,111,109, 0, 99,117,115,116,111,109,100, 97,116, 97,102,114,101,101,
- 0, 42,101,100, 97,116, 97, 0,105,110,102,108,117,101,110, 99,101, 0, 42, 99,111,101,102,102,105, 99,105,101,110,116,115, 0,
- 97,114,114, 97,121,115,105,122,101, 0,112,111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,101, 0,112,
-104, 97,115,101, 95,109,117,108,116,105,112,108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,118, 97,108,
-117,101, 95,111,102,102,115,101,116, 0,109,105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, 97,102,116,
-101,114, 95,109,111,100,101, 0, 98,101,102,111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,121, 99,108,
-101,115, 0,114,101, 99,116, 0,112,104, 97,115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0, 42,114,110, 97, 95,
-112, 97,116,104, 0, 97,114,114, 97,121, 95,105,110,100,101,120, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, 54, 93,
- 0,118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 99,111,108,111,114, 95,109,111,100,101, 0, 99,111,108,111,114, 91, 51, 93,
- 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, 97,112,112,105,110,103,115, 0,115,116,114,105,
-112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115, 0,115,116,114,105,112, 95,116,105,109,101, 0, 98,108,101,
-110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0,105,100,116,121,
-112,101, 0,116,101,109,112,108, 97,116,101,115, 0,103,114,111,117,112,109,111,100,101, 0,112, 97,116,104,115, 0,107,101,121,
-105,110,103,102,108, 97,103, 0, 42,116,109,112, 97, 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,
-116,114,105,112, 0,100,114,105,118,101,114,115, 0,111,118,101,114,114,105,100,101,115, 0, 0, 84, 89, 80, 69,161, 1, 0, 0,
+101, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,114,111,107,101,115, 0,102,114, 97,109,101,110,117,109, 0, 42, 97, 99,
+116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,110,102,111, 91, 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, 95,115,
+105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,108, 97,103, 0, 42,115, 98,117,102,102,101,114, 0,108,105,115,116, 0,
+112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101,118,101,108, 0, 42,114,101,112,111,114,116,116,105,109,
+101,114, 0, 42,119,105,110,100,114, 97,119, 97, 98,108,101, 0, 42,119,105,110, 97, 99,116,105,118,101, 0,119,105,110,100,111,
+119,115, 0,105,110,105,116,105, 97,108,105,122,101,100, 0,102,105,108,101, 95,115, 97,118,101,100, 0,111,112, 95,117,110,100,
+111, 95,100,101,112,116,104, 0,111,112,101,114, 97,116,111,114,115, 0,113,117,101,117,101, 0,114,101,112,111,114,116,115, 0,
+106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0,100,114, 97,103,115, 0,107,101,121, 99,111,110,102,105,
+103,115, 0, 42,100,101,102, 97,117,108,116, 99,111,110,102, 0,116,105,109,101,114,115, 0, 42, 97,117,116,111,115, 97,118,101,
+116,105,109,101,114, 0, 42,103,104,111,115,116,119,105,110, 0,103,114, 97, 98, 99,117,114,115,111,114, 0, 42,115, 99,114,101,
+101,110, 0, 42,110,101,119,115, 99,114,101,101,110, 0,115, 99,114,101,101,110,110, 97,109,101, 91, 51, 50, 93, 0,112,111,115,
+120, 0,112,111,115,121, 0,119,105,110,100,111,119,115,116, 97,116,101, 0,109,111,110,105,116,111,114, 0,108, 97,115,116, 99,
+117,114,115,111,114, 0,109,111,100, 97,108, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,118,101, 0, 42,
+101,118,101,110,116,115,116, 97,116,101, 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,114, 97,119,109,
+101,116,104,111,100, 0,100,114, 97,119,102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,109,111,100, 97,108,104, 97,
+110,100,108,101,114,115, 0,115,117, 98,119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,110, 97,109,101,
+ 91, 54, 52, 93, 0,112,114,111,112,118, 97,108,117,101, 0,115,104,105,102,116, 0, 99,116,114,108, 0, 97,108,116, 0,111,115,
+107,101,121, 0,107,101,121,109,111,100,105,102,105,101,114, 0,109, 97,112,116,121,112,101, 0, 42,112,116,114, 0,105,116,101,
+109,115, 0,115,112, 97, 99,101,105,100, 0,114,101,103,105,111,110,105,100, 0,107,109,105, 95,105,100, 0, 40, 42,112,111,108,
+108, 41, 40, 41, 0, 42,109,111,100, 97,108, 95,105,116,101,109,115, 0, 98, 97,115,101,110, 97,109,101, 91, 54, 52, 93, 0, 97,
+ 99,116,107,101,121,109, 97,112, 0, 42, 99,117,115,116,111,109,100, 97,116, 97, 0, 42,112,121, 95,105,110,115,116, 97,110, 99,
+101, 0, 42,114,101,112,111,114,116,115, 0,109, 97, 99,114,111, 0, 42,111,112,109, 0, 42,101,100, 97,116, 97, 0,105,110,102,
+108,117,101,110, 99,101, 0, 42, 99,111,101,102,102,105, 99,105,101,110,116,115, 0, 97,114,114, 97,121,115,105,122,101, 0,112,
+111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,101, 0,112,104, 97,115,101, 95,109,117,108,116,105,112,
+108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,118, 97,108,117,101, 95,111,102,102,115,101,116, 0,109,
+105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0, 97,102,116,101,114, 95,109,111,100,101, 0, 98,101,102,
+111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,121, 99,108,101,115, 0,114,101, 99,116, 0,112,104, 97,
+115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0,115,116,101,112, 95,115,105,122,101, 0, 42,114,110, 97, 95,112,
+ 97,116,104, 0,112, 99,104, 97,110, 95,110, 97,109,101, 91, 51, 50, 93, 0,116,114, 97,110,115, 67,104, 97,110, 0,105,100,116,
+121,112,101, 0,116, 97,114,103,101,116,115, 91, 56, 93, 0,110,117,109, 95,116, 97,114,103,101,116,115, 0,118, 97,114,105, 97,
+ 98,108,101,115, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53, 54, 93, 0, 42,101,120,112,114, 95, 99,111,109,112, 0,
+118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 97,114,114, 97,121, 95,105,110,100,101,120, 0, 99,111,108,111,114, 95,109,111,
+100,101, 0, 99,111,108,111,114, 91, 51, 93, 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, 97,
+112,112,105,110,103,115, 0,115,116,114,105,112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115, 0,115,116,114,
+105,112, 95,116,105,109,101, 0, 98,108,101,110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101, 0,103,114,111,
+117,112, 91, 54, 52, 93, 0,103,114,111,117,112,109,111,100,101, 0,107,101,121,105,110,103,102,108, 97,103, 0,112, 97,116,104,
+115, 0,116,121,112,101,105,110,102,111, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,112, 97,116,104, 0, 42,116,109,112, 97,
+ 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116,115,116,114,105,112, 0,100,114,105,118,101,114,115, 0,
+111,118,101,114,114,105,100,101,115, 0, 97, 99,116, 95, 98,108,101,110,100,109,111,100,101, 0, 97, 99,116, 95,101,120,116,101,
+110,100,109,111,100,101, 0, 97, 99,116, 95,105,110,102,108,117,101,110, 99,101, 0,114,117,108,101, 0,111,112,116,105,111,110,
+115, 0,102,101, 97,114, 95,102, 97, 99,116,111,114, 0,115,105,103,110, 97,108, 95,105,100, 0,108,111,111,107, 95, 97,104,101,
+ 97,100, 0,111,108,111, 99, 91, 51, 93, 0,113,117,101,117,101, 95,115,105,122,101, 0,119, 97,110,100,101,114, 0,102,108,101,
+101, 95,100,105,115,116, 97,110, 99,101, 0,104,101, 97,108,116,104, 0,115,116, 97,116,101, 95,105,100, 0,114,117,108,101,115,
+ 0, 99,111,110,100,105,116,105,111,110,115, 0, 97, 99,116,105,111,110,115, 0,114,117,108,101,115,101,116, 95,116,121,112,101,
+ 0,114,117,108,101, 95,102,117,122,122,105,110,101,115,115, 0,108, 97,115,116, 95,115,116, 97,116,101, 95,105,100, 0,108, 97,
+110,100,105,110,103, 95,115,109,111,111,116,104,110,101,115,115, 0, 98, 97,110,107,105,110,103, 0, 97,103,103,114,101,115,115,
+105,111,110, 0, 97,105,114, 95,109,105,110, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95,115,112,101,101,100, 0,
+ 97,105,114, 95,109, 97,120, 95, 97, 99, 99, 0, 97,105,114, 95,109, 97,120, 95, 97,118,101, 0, 97,105,114, 95,112,101,114,115,
+111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,106,117,109,112, 95,115,112,101,101,100, 0,108, 97,110,100, 95,
+109, 97,120, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95, 97, 99, 99, 0,108, 97,110,100, 95,109, 97,120, 95,
+ 97,118,101, 0,108, 97,110,100, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,115,116,105,
+ 99,107, 95,102,111,114, 99,101, 0,115,116, 97,116,101,115, 0, 42,115,109,100, 0, 42,102,108,117,105,100, 95,103,114,111,117,
+112, 0, 42, 99,111,108,108, 95,103,114,111,117,112, 0, 42,119,116, 0, 42,116,101,120, 95,119,116, 0, 42,116,101,120, 95,115,
+104, 97,100,111,119, 0, 42,115,104, 97,100,111,119, 0,112, 48, 91, 51, 93, 0,112, 49, 91, 51, 93, 0,100,120, 0,111,109,101,
+103, 97, 0,116,101,109,112, 65,109, 98, 0, 98,101,116, 97, 0,114,101,115, 91, 51, 93, 0, 97,109,112,108,105,102,121, 0,109,
+ 97,120,114,101,115, 0,118,105,101,119,115,101,116,116,105,110,103,115, 0,110,111,105,115,101, 0,100,105,115,115, 95,112,101,
+114, 99,101,110,116, 0,100,105,115,115, 95,115,112,101,101,100, 0,114,101,115, 95,119,116, 91, 51, 93, 0,100,120, 95,119,116,
+ 0,118, 51,100,110,117,109, 0, 99, 97, 99,104,101, 95, 99,111,109,112, 0, 99, 97, 99,104,101, 95,104,105,103,104, 95, 99,111,
+109,112, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 91, 50, 93, 0,112,116, 99, 97, 99,104,101,115, 91, 50, 93, 0, 98,
+111,114,100,101,114, 95, 99,111,108,108,105,115,105,111,110,115, 0,116,105,109,101, 95,115, 99, 97,108,101, 0,118,111,114,116,
+105, 99,105,116,121, 0,118,101,108,111, 99,105,116,121, 91, 50, 93, 0,118,101,108, 95,109,117,108,116,105, 0,118,103,114,112,
+ 95,104,101, 97,116, 95,115, 99, 97,108,101, 91, 50, 93, 0,118,103,114,111,117,112, 95,102,108,111,119, 0,118,103,114,111,117,
+112, 95,100,101,110,115,105,116,121, 0,118,103,114,111,117,112, 95,104,101, 97,116, 0, 42,112,111,105,110,116,115, 95,111,108,
+100, 0, 42,118,101,108, 0,109, 97,116, 95,111,108,100, 91, 52, 93, 91, 52, 93, 0, 0, 0, 0, 84, 89, 80, 69,205, 1, 0, 0,
99,104, 97,114, 0,117, 99,104, 97,114, 0,115,104,111,114,116, 0,117,115,104,111,114,116, 0,105,110,116, 0,108,111,110,103,
0,117,108,111,110,103, 0,102,108,111, 97,116, 0,100,111,117, 98,108,101, 0,118,111,105,100, 0, 76,105,110,107, 0, 76,105,
-110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,115, 0,118,101, 99, 50,105, 0,118,101, 99, 50,
-102, 0,118,101, 99, 50,100, 0,118,101, 99, 51,105, 0,118,101, 99, 51,102, 0,118,101, 99, 51,100, 0,118,101, 99, 52,105, 0,
-118,101, 99, 52,102, 0,118,101, 99, 52,100, 0,114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121,
- 68, 97,116, 97, 0, 73, 68, 80,114,111,112,101,114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68,
- 97,116, 97, 0, 80,114,101,118,105,101,119, 73,109, 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,
-116, 0, 73,112,111, 67,117,114,118,101, 0, 66, 80,111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0,
- 75,101,121, 66,108,111, 99,107, 0, 75,101,121, 0, 65,110,105,109, 68, 97,116, 97, 0, 83, 99,114,105,112,116, 76,105,110,107,
- 0, 84,101,120,116, 76,105,110,101, 0, 84,101,120,116, 77, 97,114,107,101,114, 0, 84,101,120,116, 0, 80, 97, 99,107,101,100,
- 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97,103,101, 85,115,101,114, 0, 83, 99,101,110,101, 0, 73,109, 97,103,
-101, 0, 71, 80, 85, 84,101,120,116,117,114,101, 0, 97,110,105,109, 0, 82,101,110,100,101,114, 82,101,115,117,108,116, 0, 77,
- 84,101,120, 0, 84,101,120, 0, 80,108,117,103,105,110, 84,101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,
-110,100, 0, 69,110,118, 77, 97,112, 0, 73,109, 66,117,102, 0, 98, 78,111,100,101, 84,114,101,101, 0, 84,101,120, 77, 97,112,
-112,105,110,103, 0, 76, 97,109,112, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 87, 97,118,101, 0, 77, 97,116,101,
-114,105, 97,108, 0, 71,114,111,117,112, 0, 86, 70,111,110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116, 97, 69,
-108,101,109, 0, 66,111,117,110,100, 66,111,120, 0, 77,101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,114, 73,
-110,102,111, 0, 84,101,120,116, 66,111,120, 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101,108, 66,111,120, 0, 69,100,
-105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, 77,
- 86,101,114,116, 0, 77, 69,100,103,101, 0, 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,105,
- 99,107,121, 0, 77, 83,101,108,101, 99,116, 0, 69,100,105,116, 77,101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97, 0,
- 77,117,108,116,105,114,101,115, 0, 80, 97,114,116,105, 97,108, 86,105,115,105, 98,105,108,105,116,121, 0, 77, 68,101,102,111,
-114,109, 87,101,105,103,104,116, 0, 77, 84,101,120, 80,111,108,121, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112, 67,
-111,108, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116,121, 0, 77,
- 83,116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0, 77, 68,105,
-115,112,115, 0, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 69, 68, 71, 69, 68, 82, 65, 87, 32, 40, 49, 60, 60, 49, 41, 32,
- 35,100,101,102,105,110,101, 32, 77, 69, 95, 83, 69, 65, 77, 32, 40, 49, 60, 60, 50, 41, 32, 35,100,101,102,105,110,101, 32, 77,
- 69, 95, 70, 71, 79, 78, 32, 40, 49, 60, 60, 51, 41, 32, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 69, 68, 71, 69, 82, 69,
- 78, 68, 69, 82, 32, 40, 49, 60, 60, 53, 41, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 76, 79, 79, 83, 69, 69, 68, 71, 69,
- 32, 40, 49, 60, 60, 55, 41, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 83, 69, 65, 77, 95, 76, 65, 83, 84, 32, 40, 49, 60,
- 60, 56, 41, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 83, 72, 65, 82, 80, 32, 40, 49, 60, 60, 57, 41, 32, 32, 32, 35,100,
-101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 49, 32, 49, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73,
- 80, 86, 50, 32, 50, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 51, 32, 52, 32, 35,100,101,102,105,110,
-101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 52, 32, 56, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 80, 82, 79, 74, 88, 89, 32,
- 49, 54, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 80, 82, 79, 74, 88, 90, 32, 51, 50, 32, 35,100,101,102,105,110,101, 32,
- 77, 69, 95, 80, 82, 79, 74, 89, 90, 32, 54, 52, 32, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 49, 86, 50, 32, 49, 32,
- 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 50, 86, 51, 32, 50, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 51, 86,
- 49, 32, 52, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 51, 86, 52, 32, 52, 32, 35,100,101,102,105,110,101, 32, 77, 69,
- 95, 86, 52, 86, 49, 32, 56, 32, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 83, 77, 79, 79, 84, 72, 32, 49, 32, 35,100,101,
-102,105,110,101, 32, 77, 69, 95, 70, 65, 67, 69, 95, 83, 69, 76, 32, 50, 32, 32, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95,
- 86, 83, 69,108, 32, 48, 32, 35,100,101,102,105,110,101, 32, 77, 69, 95, 69, 83, 69,108, 32, 49, 32, 35,100,101,102,105,110,101,
- 32, 77, 69, 95, 70, 83, 69, 76, 32, 50, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 69, 67, 84, 32, 49, 32,
- 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 65, 67, 84, 73, 86, 69, 32, 50, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70,
- 95, 83, 69, 76, 49, 32, 52, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 50, 32, 56, 32, 35,100,101,102,105,110,
-101, 32, 84, 70, 95, 83, 69, 76, 51, 32, 49, 54, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 52, 32, 51, 50, 32,
- 35,100,101,102,105,110,101, 32, 84, 70, 95, 72, 73, 68, 69, 32, 54, 52, 32, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95,
- 68, 89, 78, 65, 77, 73, 67, 32, 49, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 65, 76, 80, 72, 65, 83, 79, 82, 84, 32, 50,
- 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 84, 69, 88, 32, 52, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 72, 65,
- 82, 69, 68, 86, 69, 82, 84, 32, 56, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 76, 73, 71, 72, 84, 32, 49, 54, 32, 35,100,
-101,102,105,110,101, 32, 84, 70, 95, 83, 72, 65, 82, 69, 68, 67, 79, 76, 32, 54, 52, 32, 35,100,101,102,105,110,101, 32, 84, 70,
- 95, 84, 73, 76, 69, 83, 32, 49, 50, 56, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 66, 73, 76, 76, 66, 79, 65, 82, 68,
- 32, 50, 53, 54, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 84, 87, 79, 83, 73, 68, 69, 32, 53, 49, 50, 32, 35,100,101,102,
-105,110,101, 32, 84, 70, 95, 73, 78, 86, 73, 83, 73, 66, 76, 69, 32, 49, 48, 50, 52, 32, 35,100,101,102,105,110,101, 32, 84, 70,
- 95, 79, 66, 67, 79, 76, 32, 50, 48, 52, 56, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 66, 73, 76, 76, 66, 79, 65, 82, 68,
- 50, 32, 52, 48, 57, 54, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 72, 65, 68, 79, 87, 32, 56, 49, 57, 50, 32, 35,
-100,101,102,105,110,101, 32, 84, 70, 95, 66, 77, 70, 79, 78, 84, 32, 49, 54, 51, 56, 52, 32, 32, 35,100,101,102,105,110,101, 32,
- 84, 70, 95, 83, 79, 76, 73, 68, 32, 48, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 65, 68, 68, 32, 49, 32, 35,100,101,102,
-105,110,101, 32, 84, 70, 95, 65, 76, 80, 72, 65, 32, 50, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 67, 76, 73, 80, 32, 52,
- 32, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 85, 66, 32, 51, 32, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95,
- 68, 69, 80, 82, 69, 67, 65, 84, 69, 68, 49, 32, 49, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80, 82, 69, 67, 65,
- 84, 69, 68, 50, 32, 50, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80, 82, 69, 67, 65, 84, 69, 68, 51, 32, 52, 32,
- 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80, 82, 69, 67, 65, 84, 69, 68, 52, 32, 56, 32, 35,100,101,102,105,110,101,
- 32, 84, 70, 95, 80, 73, 78, 49, 32, 49, 54, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78, 50, 32, 51, 50, 32, 35,
-100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78, 51, 32, 54, 52, 32, 35,100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78,
- 52, 32, 49, 50, 56, 32, 35,101,110,100,105,102, 32,117,108,116,105,114,101,115, 76,101,118,101,108, 59, 13, 10, 13, 10,116,121,
-112,101,100,101,102, 32,115,116,114,117, 99,116, 32, 77,117,108,116,105,114,101,115, 32,123, 13, 10, 9, 76,105,115,116, 66, 97,
-115,101, 32,108,101,118,101,108,115, 59, 13, 10, 9, 77, 86,101,114,116, 32, 42,118,101,114,116,115, 59, 13, 10, 13, 10, 9,117,
-110,115,105,103,110,101,100, 32, 99,104, 97,114, 32,108,101,118,101,108, 95, 99,111,117,110,116, 44, 32, 99,117,114,114,101,110,
-116, 44, 32,110,101,119,108,118,108, 44, 32,101,100,103,101,108,118,108, 44, 32,112,105,110,108,118,108, 44, 32,114,101,110,100,
-101,114,108,118,108, 59, 13, 10, 9,117,110,115,105,103,110,101,100, 32, 99,104, 97,114, 32,117,115,101, 95, 99,111,108, 44, 32,
-102,108, 97,103, 59, 13, 10, 13, 10, 9, 47, 42, 32, 83,112,101, 99,105, 97,108, 32,108,101,118,101,108, 32, 49, 32,100, 97,116,
- 97, 32,116,104, 97,116, 32, 99, 97,110,110,111,116, 32, 98,101, 32,109,111,100,105,102,105,101,100, 32,102,114,111,109, 32,111,
-116,104,101,114, 32,108,101,118,101,108,115, 32, 42, 47, 13, 10, 9, 67,117,115,116,111,109, 68, 97,116, 97, 32,118,100, 97,116,
- 97, 59, 13, 10, 9, 67,117,115,116,111,109, 68, 97,116, 97, 32,102,100, 97,116, 97, 59, 13, 10, 9,115,104,111,114,116, 32, 42,
-101,100,103,101, 95,102,108, 97,103,115, 59, 13, 10, 9, 99,104, 97,114, 32, 42,101,100,103,101, 95, 99,114,101, 97,115,101,115,
- 59, 13, 10,125, 32, 77,117,108,116,105,114,101,115, 59, 13, 10, 13, 10, 47, 42, 42, 32, 69,110,100, 32, 77,117,108,116,105,114,
-101,115, 32, 42, 42, 47, 13, 10, 13, 10,116,121,112,101,100,101,102, 32,115,116,114,117, 99,116, 32, 80, 97,114,116,105, 97,108,
- 86,105,115,105, 98,105,108,105,116,121, 32,123, 13, 10, 9,117,110,115,105,103,110,101,100, 32,105,110,116, 32, 42,118,101,114,
-116, 95,109, 97,112, 59, 32, 47, 42, 32,118,101,114,116, 95,109, 97,112, 91, 79,108,100, 32, 73,110,100,101,120, 93, 61, 32, 78,
-101,119, 32, 73,110,100,101,120, 32, 42, 47, 13, 10, 9,105,110,116, 32, 42,101,100,103,101, 95,109, 97,112, 59, 32, 47, 42, 32,
-101,100,103,101, 95,109, 97,112, 91, 79,108,100, 32, 73,110,100,101,120, 93, 61, 32, 78,101,119, 32, 73,110,100,101,120, 44, 32,
- 45, 49, 61, 32,104,105,100,100,101,110, 32, 42, 47, 13, 10, 9, 77, 70, 97, 99,101, 32, 42,111,108,100, 95,102, 97, 99,101,115,
- 59, 13, 10, 9, 77, 69,100,103,101, 32, 42,111,108,100, 95,101,100,103,101,115, 59, 13, 10, 9,117,110,115,105,103,110,101,100,
- 32,105,110,116, 32,116,111,116,102, 97, 99,101, 44, 32,116,111,116,101,100,103,101, 44, 32,116,111,116,118,101,114,116, 44, 32,
-112, 97,100, 59, 13, 10,125, 32, 80, 97,114,116,105, 97,108, 86,105,115,105, 98,105,108,105,116,121, 59, 13, 10, 13, 10, 47, 42,
- 32,109,118,101,114,116, 45, 62,102,108, 97,103, 32, 40, 49, 61, 83, 69, 76, 69, 67, 84, 41, 32, 42, 47, 13, 10, 35,100,101,102,
-105,110,101, 32, 77, 69, 95, 83, 80, 72, 69, 82, 69, 84, 69, 83, 84, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95,
- 83, 80, 72, 69, 82, 69, 84, 69, 77, 80, 9, 52, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 72, 73, 68, 69, 9, 9, 9,
- 49, 54, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 69, 82, 84, 95, 77, 69, 82, 71, 69, 68, 9, 9, 40, 49, 60, 60,
- 54, 41, 13, 10, 13, 10, 47, 42, 32,109,101,100,103,101, 45, 62,102,108, 97,103, 32, 40, 49, 61, 83, 69, 76, 69, 67, 84, 41, 42,
- 47, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 69, 68, 71, 69, 68, 82, 65, 87, 9, 9, 9, 40, 49, 60, 60, 49, 41, 13,
- 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 83, 69, 65, 77, 9, 9, 9, 9, 40, 49, 60, 60, 50, 41, 13, 10, 35,100,101,102,
-105,110,101, 32, 77, 69, 95, 70, 71, 79, 78, 9, 9, 9, 9, 40, 49, 60, 60, 51, 41, 13, 10, 9, 9, 9, 9, 9, 9, 47, 42, 32,
-114,101,115,101,114,118,101, 32, 49, 54, 32,102,111,114, 32, 77, 69, 95, 72, 73, 68, 69, 32, 42, 47, 13, 10, 35,100,101,102,105,
-110,101, 32, 77, 69, 95, 69, 68, 71, 69, 82, 69, 78, 68, 69, 82, 9, 9, 40, 49, 60, 60, 53, 41, 13, 10, 35,100,101,102,105,110,
-101, 32, 77, 69, 95, 76, 79, 79, 83, 69, 69, 68, 71, 69, 9, 9, 40, 49, 60, 60, 55, 41, 13, 10, 35,100,101,102,105,110,101, 32,
- 77, 69, 95, 83, 69, 65, 77, 95, 76, 65, 83, 84, 9, 9, 40, 49, 60, 60, 56, 41, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69,
- 95, 83, 72, 65, 82, 80, 9, 9, 9, 40, 49, 60, 60, 57, 41, 13, 10, 13, 10, 47, 42, 32,112,117,110,111, 32, 61, 32,118,101,114,
-116,101,120,110,111,114,109, 97,108, 32, 40,109,102, 97, 99,101, 41, 32, 42, 47, 13, 10, 47, 42, 32,114,101,110,100,101,114, 32,
- 97,115,115,117,109,101,115, 32,102,108,105,112,115, 32,116,111, 32, 98,101, 32,111,114,100,101,114,101,100, 32,108,105,107,101,
- 32,116,104,105,115, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 49, 9, 9, 49, 13, 10,
- 35,100,101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 50, 9, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69,
- 95, 70, 76, 73, 80, 86, 51, 9, 9, 52, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 70, 76, 73, 80, 86, 52, 9, 9, 56,
- 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 80, 82, 79, 74, 88, 89, 9, 9, 49, 54, 13, 10, 35,100,101,102,105,110,101,
- 32, 77, 69, 95, 80, 82, 79, 74, 88, 90, 9, 9, 51, 50, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 80, 82, 79, 74, 89,
- 90, 9, 9, 54, 52, 13, 10, 13, 10, 47, 42, 32,101,100, 99,111,100,101, 32, 40,109,102, 97, 99,101, 41, 32, 42, 47, 13, 10, 35,
-100,101,102,105,110,101, 32, 77, 69, 95, 86, 49, 86, 50, 9, 9, 9, 49, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86,
- 50, 86, 51, 9, 9, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 51, 86, 49, 9, 9, 9, 52, 13, 10, 35,100,
-101,102,105,110,101, 32, 77, 69, 95, 86, 51, 86, 52, 9, 9, 9, 52, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 52,
- 86, 49, 9, 9, 9, 56, 13, 10, 13, 10, 47, 42, 32,102,108, 97,103, 32, 40,109,102, 97, 99,101, 41, 32, 42, 47, 13, 10, 35,100,
-101,102,105,110,101, 32, 77, 69, 95, 83, 77, 79, 79, 84, 72, 9, 9, 9, 49, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95,
- 70, 65, 67, 69, 95, 83, 69, 76, 9, 9, 9, 50, 13, 10, 9, 9, 9, 9, 9, 9, 47, 42, 32,102,108, 97,103, 32, 77, 69, 95, 72,
- 73, 68, 69, 61, 61, 49, 54, 32,105,115, 32,117,115,101,100, 32,104,101,114,101, 32,116,111,111, 32, 42, 47, 32, 13, 10, 47, 42,
- 32,109,115,101,108,101, 99,116, 45, 62,116,121,112,101, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 86, 83,
- 69,108, 9, 48, 13, 10, 35,100,101,102,105,110,101, 32, 77, 69, 95, 69, 83, 69,108, 32, 49, 13, 10, 35,100,101,102,105,110,101,
- 32, 77, 69, 95, 70, 83, 69, 76, 32, 50, 13, 10, 13, 10, 47, 42, 32,109,116,102, 97, 99,101, 45, 62,102,108, 97,103, 32, 42, 47,
- 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 69, 67, 84, 9, 49, 32, 47, 42, 32,117,115,101, 32, 77, 70, 97,
- 99,101, 32,104,105,100,101, 32,102,108, 97,103, 32, 40, 97,102,116,101,114, 32, 50, 46, 52, 51, 41, 44, 32,115,104,111,117,108,
-100, 32, 98,101, 32, 97, 98,108,101, 32,116,111, 32,114,101,117,115,101, 32, 97,102,116,101,114, 32, 50, 46, 52, 52, 32, 42, 47,
- 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 65, 67, 84, 73, 86, 69, 9, 50, 32, 47, 42, 32,100,101,112,114,101, 99, 97,
-116,101,100, 33, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 49, 9, 9, 52, 13, 10, 35,100,101,
-102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 50, 9, 9, 56, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 51,
- 9, 9, 49, 54, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 69, 76, 52, 9, 9, 51, 50, 13, 10, 35,100,101,102,105,
-110,101, 32, 84, 70, 95, 72, 73, 68, 69, 9, 9, 54, 52, 32, 47, 42, 32,117,110,117,115,101,100, 44, 32,115, 97,109,101, 32, 97,
-115, 32, 84, 70, 95, 83, 69, 76, 69, 67, 84, 32, 42, 47, 13, 10, 13, 10, 47, 42, 32,109,116,102, 97, 99,101, 45, 62,109,111,100,
-101, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 89, 78, 65, 77, 73, 67, 9, 9, 49, 13, 10, 35,100,101,
-102,105,110,101, 32, 84, 70, 95, 65, 76, 80, 72, 65, 83, 79, 82, 84, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95,
- 84, 69, 88, 9, 9, 9, 52, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 72, 65, 82, 69, 68, 86, 69, 82, 84, 9, 56,
- 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 76, 73, 71, 72, 84, 9, 9, 49, 54, 13, 10, 13, 10, 35,100,101,102,105,110,
-101, 32, 84, 70, 95, 83, 72, 65, 82, 69, 68, 67, 79, 76, 9, 54, 52, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 84, 73,
- 76, 69, 83, 9, 9, 49, 50, 56, 9, 9, 47, 42, 32,100,101,112,114,101, 99, 97,116,101,100, 32, 42, 47, 13, 10, 35,100,101,102,
-105,110,101, 32, 84, 70, 95, 66, 73, 76, 76, 66, 79, 65, 82, 68, 9, 50, 53, 54, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70,
- 95, 84, 87, 79, 83, 73, 68, 69, 9, 9, 53, 49, 50, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 73, 78, 86, 73, 83, 73,
- 66, 76, 69, 9, 49, 48, 50, 52, 13, 10, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 79, 66, 67, 79, 76, 9, 9, 50, 48,
- 52, 56, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 66, 73, 76, 76, 66, 79, 65, 82, 68, 50, 9, 52, 48, 57, 54, 9, 47,
- 42, 32,119,105,116,104, 32, 90, 32, 97,120,105,115, 32, 99,111,110,115,116,114, 97,105,110,116, 32, 42, 47, 13, 10, 35,100,101,
-102,105,110,101, 32, 84, 70, 95, 83, 72, 65, 68, 79, 87, 9, 9, 56, 49, 57, 50, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70,
- 95, 66, 77, 70, 79, 78, 84, 9, 9, 49, 54, 51, 56, 52, 13, 10, 13, 10, 47, 42, 32,109,116,102, 97, 99,101, 45, 62,116,114, 97,
-110,115,112, 44, 32,118, 97,108,117,101,115, 32, 49, 45, 52, 32, 97,114,101, 32,117,115,101,100, 32, 97,115, 32,102,108, 97,103,
-115, 32,105,110, 32,116,104,101, 32, 71, 76, 44, 32, 87, 65, 82, 78, 73, 78, 71, 44, 32, 84, 70, 95, 83, 85, 66, 32, 99, 97,110,
-116, 32,119,111,114,107, 32,119,105,116,104, 32,116,104,105,115, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95,
- 83, 79, 76, 73, 68, 9, 48, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 65, 68, 68, 9, 9, 49, 13, 10, 35,100,101,102,
-105,110,101, 32, 84, 70, 95, 65, 76, 80, 72, 65, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 67, 76, 73, 80, 9,
- 9, 52, 32, 47, 42, 32, 99,108,105,112,109, 97,112, 32, 97,108,112,104, 97, 47, 98,105,110, 97,114,121, 32, 97,108,112,104, 97,
- 32, 97,108,108, 32,111,114, 32,110,111,116,104,105,110,103, 33, 32, 42, 47, 13, 10, 13, 10, 47, 42, 32,115,117, 98, 32,105,115,
- 32,110,111,116, 32, 97,118, 97,105,108, 97, 98,108,101, 32,105,110, 32,116,104,101, 32,117,115,101,114, 32,105,110,116,101,114,
-102, 97, 99,101, 32, 97,110,121,109,111,114,101, 32, 42, 47, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 83, 85, 66, 9,
- 9, 51, 13, 10, 13, 10, 13, 10, 47, 42, 32,109,116,102, 97, 99,101, 45, 62,117,110,119,114, 97,112, 32, 42, 47, 13, 10, 35,100,
-101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80, 82, 69, 67, 65, 84, 69, 68, 49, 9, 49, 13, 10, 35,100,101,102,105,110,101, 32,
- 84, 70, 95, 68, 69, 80, 82, 69, 67, 65, 84, 69, 68, 50, 9, 50, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80,
- 82, 69, 67, 65, 84, 69, 68, 51, 9, 52, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 68, 69, 80, 82, 69, 67, 65, 84, 69,
- 68, 52, 9, 56, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78, 49, 9, 9, 32, 32, 32, 32, 49, 54, 13, 10, 35,
-100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78, 50, 9, 9, 32, 32, 32, 32, 51, 50, 13, 10, 35,100,101,102,105,110,101, 32,
- 84, 70, 95, 80, 73, 78, 51, 9, 32, 32, 32, 9, 9, 54, 52, 13, 10, 35,100,101,102,105,110,101, 32, 84, 70, 95, 80, 73, 78, 52,
- 9, 32, 32, 32, 32, 9, 49, 50, 56, 13, 10, 13, 10, 35,101,110,100,105,102, 13, 10, 35, 79, 67, 75, 33,110,101, 32, 67,249, 0,
- 77,117,108,116,105,114,101,115, 67,111,108, 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,
-105,114,101,115, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105,114,101,115, 76,101,
-118,101,108, 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,105,101,114,
- 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,101, 77,111,
-100,105,102,105,101,114, 68, 97,116, 97, 0, 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,115,
-107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 77,105,114,114,111,114, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,111,100,105,
-102,105,101,114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,101,115,104,
- 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,105,115,112,108, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116,
- 97, 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,101,
- 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 67, 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,118,101, 77,111,100,105,102,105,101,114, 68, 97,116,
- 97, 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 72,111,111,107, 77,111,100,105,102,
-105,101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,
-116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 0, 67,108,111,116,104, 83,105,109, 83,101,116,
-116,105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 80,111,105,110,116, 67, 97, 99,
-104,101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,101,
- 0, 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101,114,105,118,101,100, 77,101,115,104,
- 0, 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,111,108,101, 97,110, 77,111,100,105,102,105,101,114,
- 68, 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, 77, 68,101,102, 67,101,108,108, 0, 77,101,115,104,
- 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,
-109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 0, 80, 97,114,
-116,105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,120,112,108,111,100,
-101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 77,111,100,105,102,105,101,114, 68, 97,
-116, 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109,
- 83,101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 83,105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101,
- 0, 98, 68,101,102,111,114,109, 71,114,111,117,112, 0, 98, 65, 99,116,105,111,110, 0, 98, 80,111,115,101, 0, 66,117,108,108,
-101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,101,102,108,101, 99,116, 0, 83,111,102,116, 66,111,100,121, 0,
- 79, 98, 72,111,111,107, 0, 82, 78, 71, 0, 80, 84, 67, 97, 99,104,101, 77,101,109, 0, 83, 66, 86,101,114,116,101,120, 0, 66,
-111,100,121, 80,111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116, 99,104, 0, 87,111,
-114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,
-111,100,101, 99, 68, 97,116, 97, 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116, 97, 0, 65,117,100,105,111, 68, 97,
-116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,
-101,110,100,101,114, 80,114,111,102,105,108,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, 0, 84,105,109,101, 77, 97,114,
-107,101,114, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 66,114,117,115,104, 0, 80, 97,114,
-116,105, 99,108,101, 66,114,117,115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,
-110,103,115, 0, 84,114, 97,110,115,102,111,114,109, 79,114,105,101,110,116, 97,116,105,111,110, 0, 83, 99,117,108,112,116, 0,
- 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 86, 80, 97,105,110,116, 0, 84,111,111,108, 83,101,116,116,105,110,103,
-115, 0, 98, 83,116, 97,116,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,101, 83,116, 97,116,115, 0, 68, 97,103, 70,
-111,114,101,115,116, 0, 66, 71,112,105, 99, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 98, 71, 80,100, 97,116, 97,
- 0, 82,101,110,100,101,114, 73,110,102,111, 0, 82,101,116,111,112,111, 86,105,101,119, 68, 97,116, 97, 0, 86,105,101,119, 68,
-101,112,116,104,115, 0, 83,109,111,111,116,104, 86,105,101,119, 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,
-101,119, 51, 68, 0, 83,112, 97, 99,101, 76,105,110,107, 0, 86,105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0,
- 98, 83, 99,114,101,101,110, 0, 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,112,101, 83,104,101,101,116, 0, 83,112, 97, 99,
-101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,101,108,101, 99,116, 80, 97,114, 97,109,115, 0,
- 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115,116, 0,119,109, 79,112,101,114, 97,116,111,114, 0, 70,105,
-108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,114,101,101, 83,116,111,114,101, 0, 84,114,101,
-101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,109, 97,103,101, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83,
-112, 97, 99,101, 84,101,120,116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,
-101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83,112, 97, 99,101, 76,111,103,105, 99, 0, 83,112, 97, 99,101,
- 73,109, 97, 83,101,108, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101, 67,111,110,115,111,108,101, 0,
-117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121,108,101, 0,117,105, 83,116,121,108,101, 0,117,105, 87,105,100,
-103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103,101,116, 83,116, 97,116,101, 67,111,108,111,114,115, 0, 84,104,
-101,109,101, 85, 73, 0, 84,104,101,109,101, 83,112, 97, 99,101, 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0,
- 98, 84,104,101,109,101, 0, 83,111,108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 83, 99,114, 86,101,114,
-116, 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,101, 0,117,105, 76, 97,121,111,
-117,116, 0, 72,101, 97,100,101,114, 0, 72,101, 97,100,101,114, 84,121,112,101, 0, 77,101,110,117, 0, 77,101,110,117, 84,121,
-112,101, 0, 83, 99,114, 65,114,101, 97, 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101,103,105,111,110, 0, 65, 82,101,
-103,105,111,110, 84,121,112,101, 0, 70,105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105,112, 69,108,101,109, 0, 84, 83,
-116,114,105,112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83,116,114,105,112, 84,114, 97,110,115,102,111,114,
-109, 0, 83,116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 83,116,114,105,112, 80,114,111,120,121, 0, 83,
-116,114,105,112, 0, 80,108,117,103,105,110, 83,101,113, 0, 83,101,113,117,101,110, 99,101, 0, 98, 83,111,117,110,100, 0,104,
-100, 97,117,100,105,111, 0, 77,101,116, 97, 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,
-114,115, 0, 84,114, 97,110,115,102,111,114,109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115, 0,
- 83,112,101,101,100, 67,111,110,116,114,111,108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,102,
- 0, 80, 97,114,116, 69,102,102, 0, 80, 97,114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,101,
-114,116,121, 0, 98, 78,101, 97,114, 83,101,110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,111,
-117, 99,104, 83,101,110,115,111,114, 0, 98, 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,101,
-114,116,121, 83,101,110,115,111,114, 0, 98, 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,121,
- 83,101,110,115,111,114, 0, 98, 67,111,108,108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,101,
-110,115,111,114, 0, 98, 82, 97,110,100,111,109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98, 77,
-101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,101,110,115,111,114, 0, 98, 67,111,110,116,114,111,108,108,101,114,
- 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,114, 0, 98, 69,120,112,114,101,115,115,105,111,110, 67,111,110,116,
- 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65, 99,116,117, 97,116,111,114, 0, 98, 65,100,100, 79, 98,106,101, 99,
-116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,111,110, 65, 99,116,117, 97,116,111,114, 0, 98, 83,111,117,110,100,
- 65, 99,116,117, 97,116,111,114, 0, 98, 67, 68, 65, 99,116,117, 97,116,111,114, 0, 98, 69,100,105,116, 79, 98,106,101, 99,116,
- 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117, 97,116,111,114, 0, 98, 80,114,111,112,101,114,116,
-121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 73,112,111, 65, 99,
-116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,116,111,114, 0, 98, 67,111,110,115,116,114, 97,105,
-110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,116,117, 97,116,111,114, 0, 98, 82, 97,110,100,111,
-109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65, 99,116,117, 97,116,111,114, 0, 98, 71, 97,109,101,
- 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 84,119,
-111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80, 97,114,101,110,116, 65, 99,116,117, 97,116,111,114,
- 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 70,114,101,101, 67, 97,109,101,114, 97, 0, 98, 83, 97,109,112,
-108,101, 0, 98, 83,111,117,110,100, 76,105,115,116,101,110,101,114, 0, 83,112, 97, 99,101, 83,111,117,110,100, 0, 71,114,111,
-117,112, 79, 98,106,101, 99,116, 0, 66,111,110,101, 0, 98, 65,114,109, 97,116,117,114,101, 0, 98, 80,111,115,101, 67,104, 97,
-110,110,101,108, 0, 98, 65, 99,116,105,111,110, 71,114,111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65,
- 99,116,105,111,110, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0,
- 98, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,
-121,116,104,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114,
- 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116, 97,116,101, 76,
-105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,
-105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,
-111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,
-107, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 80, 97,116,104, 67,111,110,115,
-116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,105,103,
-105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,108, 97,109,112, 84,111, 67,111,
-110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,
-110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114,
- 97,105,110,116, 0, 98, 82,111,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,
-109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,
-110,116, 0, 98, 83,104,114,105,110,107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110,
- 77,111,100,105,102,105,101,114, 0, 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107,
- 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 0, 98, 78,111,
-100,101, 80,114,101,118,105,101,119, 0, 98, 78,111,100,101, 84,121,112,101, 0, 78,111,100,101, 73,109, 97,103,101, 65,110,105,
-109, 0, 78,111,100,101, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,
-101, 66,105,108, 97,116,101,114, 97,108, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,
-100,101, 73,109, 97,103,101, 70,105,108,101, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89,
-115, 0, 78,111,100,101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100,
-101, 86,101,114,116,101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112,
-116, 68,105, 99,116, 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101,
- 76,101,110,115, 68,105,115,116, 0, 84,101,120, 78,111,100,101, 79,117,116,112,117,116, 0, 67,117,114,118,101, 77, 97,112, 80,
-111,105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,115,104, 67,108,111,110,101, 0, 67,117,115,116,111,109, 68,
- 97,116, 97, 76, 97,121,101,114, 0, 72, 97,105,114, 75,101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 67,104,105,
-108,100, 80, 97,114,116,105, 99,108,101, 0, 75,101,121,101,100, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, 0, 80,
- 97,114,116,105, 99,108,101, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,110,103,115, 0, 80, 97,114,
-116,105, 99,108,101, 69,100,105,116, 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,121, 0, 76,105,110,107, 78,
-111,100,101, 0, 98, 71, 80, 68,115,112,111,105,110,116, 0, 98, 71, 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114,
- 97,109,101, 0, 98, 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,111,114,116, 0, 82,101,112,111,114,116, 76,105,115,116, 0,
-119,109, 87,105,110,100,111,119, 77, 97,110, 97,103,101,114, 0,119,109, 87,105,110,100,111,119, 0,119,109, 69,118,101,110,116,
- 0,119,109, 83,117, 98, 87,105,110,100,111,119, 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121,109, 97,112, 73,
-116,101,109, 0, 80,111,105,110,116,101,114, 82, 78, 65, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,
-111,114, 84,121,112,101, 0, 70, 77,111,100,105,102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0,
- 70, 77,111,100, 95, 70,117,110, 99,116,105,111,110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,
-111,112,101, 68, 97,116, 97, 0, 70, 77,111,100, 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,
-115, 0, 70, 77,111,100, 95, 80,121,116,104,111,110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,
-111,105,115,101, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 67,104, 97,110,110,101,108, 68,114,105,118,101,114, 0,
- 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77, 97,112, 80, 97,105,114, 0, 65,110,105,109, 77, 97,
-112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114, 97, 99,107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,
-101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,100,101, 0, 73,100, 65,100,116, 84,101,109,112,108,
- 97,116,101, 0, 84, 76, 69, 78, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 0, 0, 8, 0, 12, 0,
- 8, 0, 4, 0, 8, 0, 8, 0, 16, 0, 12, 0, 12, 0, 24, 0, 16, 0, 16, 0, 32, 0, 16, 0, 16, 0, 20, 0, 76, 0, 52, 0,
- 40, 2, 0, 0, 32, 0,140, 0, 92, 3, 92, 0, 36, 0, 56, 0, 84, 0,112, 0,124, 0, 48, 0, 16, 0, 24, 0, 40, 0,120, 0,
- 12, 0,136, 0, 36, 0,220, 4,128, 1, 0, 0, 0, 0, 0, 0,136, 0, 24, 1, 84, 1, 24, 0, 8, 3,168, 0, 0, 0,140, 0,
-132, 0,132, 1, 8, 1, 56, 0,112, 2, 76, 0, 60, 1, 0, 0,108, 0,104, 0,140, 0, 56, 0, 8, 0, 16, 0, 76, 1, 0, 0,
- 0, 0, 0, 0, 24, 1, 20, 0, 44, 0, 60, 0, 24, 0, 12, 0, 12, 0, 4, 0, 8, 0, 8, 0, 0, 0, 24, 0, 76, 0, 32, 0,
- 8, 0, 12, 0, 8, 0, 8, 0, 4, 0, 4, 0, 0, 1, 32, 0, 12, 0, 0, 0, 16, 0, 64, 0, 24, 0, 12, 0, 40, 0, 56, 0,
- 72, 0, 92, 0,100, 0, 72, 0,100, 0,120, 0, 68, 0, 64, 0,112, 0, 64, 0,152, 0,156, 0, 64, 0, 96, 0,108, 0,188, 0,
-104, 0,184, 0, 56, 0, 76, 0, 0, 0,132, 0, 28, 0,232, 0,104, 0, 0, 0, 64, 0, 0, 0, 0, 0, 68, 0, 8, 0, 8, 0,
-220, 0, 80, 0, 76, 1, 76, 0, 68, 0, 68, 0, 64, 0,164, 1,112, 0,108, 0,188, 0, 40, 0, 92, 0, 56, 0,120, 0,128, 0,
-152, 0,208, 0, 0, 0, 24, 0, 16, 0, 0, 0, 0, 0, 0, 0,112, 1, 28, 0,176, 0,144, 0, 52, 0, 16, 0, 72, 0,224, 3,
- 56, 0, 16, 0, 80, 0, 16, 0,196, 0, 8, 0, 84, 0, 80, 0, 32, 0, 0, 0, 32, 0, 36, 1, 32, 0, 24, 2, 0, 0, 0, 0,
- 56, 0,216, 2, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 40, 0,136, 0, 48, 0,140, 0,196, 0, 20, 0,232, 0,
-204, 0,124, 1, 52, 0, 0, 0, 92, 0, 0, 0,248, 0, 12, 0, 12, 0,136, 0,188, 0,124, 2, 80, 2, 40, 0,168, 0,232, 0,
- 52, 0,136, 2, 28, 0, 80, 0, 16, 1, 32, 0,224, 0, 32, 0, 32, 0, 48, 2, 16, 1, 16, 0,152, 20, 56, 0, 40, 11, 20, 0,
- 24, 0, 56, 1, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0,112, 0, 0, 0,236, 0, 0, 0, 32, 0, 80, 0, 28, 0, 16, 0,
- 8, 0, 52, 0,252, 0,240, 0,168, 1,196, 0, 28, 1, 0, 0, 16, 0, 12, 0, 24, 0, 48, 0, 16, 0, 20, 0, 16, 0, 24, 0,
- 56, 1, 0, 0, 56, 0, 64, 0, 48, 0, 8, 0, 44, 0, 72, 0,104, 0, 40, 0, 8, 0, 72, 0, 44, 0, 40, 0,108, 0, 68, 0,
- 76, 0, 80, 0, 60, 0,128, 0, 76, 0, 60, 0, 12, 0, 92, 0, 28, 0, 20, 0, 80, 0, 16, 0, 76, 0,108, 0, 84, 0, 28, 0,
- 96, 0, 60, 0, 56, 0,108, 0,140, 0, 4, 0, 20, 0, 12, 0, 8, 0, 40, 0, 0, 0, 68, 0,184, 0, 24, 0, 4, 1,120, 0,
-172, 1,104, 0,216, 0, 64, 0, 44, 0, 64, 0,116, 0, 60, 0,104, 0, 52, 0, 44, 0, 44, 0, 68, 0, 44, 0, 64, 0, 44, 0,
- 20, 0, 52, 0, 96, 0, 12, 0,108, 0, 92, 0, 28, 0, 28, 0, 28, 0, 52, 0, 20, 0, 60, 0,140, 0, 36, 0,120, 0, 32, 0,
-208, 0, 0, 0, 0, 0, 16, 0, 40, 0, 28, 0, 12, 0, 12, 0, 16, 1, 40, 0, 8, 0, 8, 0, 64, 0, 32, 0, 24, 0, 8, 0,
- 24, 0, 32, 0, 8, 0, 32, 0, 12, 0, 44, 0, 20, 0, 68, 0, 24, 0, 56, 0, 72, 0, 28, 0,252, 0,244, 1, 0, 0, 0, 0,
- 0, 0, 16, 0, 20, 0, 24, 0,172, 0, 24, 0, 24, 0,140, 0,148, 0, 56, 0, 0, 0, 0, 0, 92, 0, 0, 0, 88, 0, 0, 0,
- 88, 0, 20, 0, 24, 0, 16, 0, 20, 0, 8, 0, 8, 0, 24, 0, 20, 0, 88, 0, 24, 1, 16, 0, 68, 0, 0, 1, 20, 0,152, 0,
- 88, 0, 96, 0, 88, 0, 20, 0, 56, 0, 0, 0, 83, 84, 82, 67,104, 1, 0, 0, 10, 0, 2, 0, 10, 0, 0, 0, 10, 0, 1, 0,
- 11, 0, 3, 0, 11, 0, 0, 0, 11, 0, 1, 0, 9, 0, 2, 0, 12, 0, 2, 0, 9, 0, 3, 0, 9, 0, 4, 0, 13, 0, 2, 0,
- 2, 0, 5, 0, 2, 0, 6, 0, 14, 0, 2, 0, 4, 0, 5, 0, 4, 0, 6, 0, 15, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,
- 16, 0, 2, 0, 8, 0, 5, 0, 8, 0, 6, 0, 17, 0, 3, 0, 4, 0, 5, 0, 4, 0, 6, 0, 4, 0, 7, 0, 18, 0, 3, 0,
- 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0, 19, 0, 3, 0, 8, 0, 5, 0, 8, 0, 6, 0, 8, 0, 7, 0, 20, 0, 4, 0,
- 4, 0, 5, 0, 4, 0, 6, 0, 4, 0, 7, 0, 4, 0, 8, 0, 21, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0,
- 7, 0, 8, 0, 22, 0, 4, 0, 8, 0, 5, 0, 8, 0, 6, 0, 8, 0, 7, 0, 8, 0, 8, 0, 23, 0, 4, 0, 4, 0, 9, 0,
- 4, 0, 10, 0, 4, 0, 11, 0, 4, 0, 12, 0, 24, 0, 4, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 12, 0,
- 25, 0, 4, 0, 9, 0, 13, 0, 12, 0, 14, 0, 4, 0, 15, 0, 4, 0, 16, 0, 26, 0, 10, 0, 26, 0, 0, 0, 26, 0, 1, 0,
- 0, 0, 17, 0, 0, 0, 18, 0, 2, 0, 19, 0, 0, 0, 20, 0, 4, 0, 21, 0, 25, 0, 22, 0, 4, 0, 23, 0, 4, 0, 24, 0,
- 27, 0, 9, 0, 9, 0, 0, 0, 9, 0, 1, 0, 27, 0, 25, 0, 28, 0, 26, 0, 0, 0, 27, 0, 2, 0, 28, 0, 2, 0, 19, 0,
- 4, 0, 29, 0, 26, 0, 30, 0, 28, 0, 8, 0, 27, 0, 31, 0, 27, 0, 32, 0, 29, 0, 33, 0, 0, 0, 34, 0, 0, 0, 35, 0,
- 4, 0, 36, 0, 4, 0, 37, 0, 28, 0, 38, 0, 30, 0, 6, 0, 4, 0, 39, 0, 4, 0, 40, 0, 2, 0, 41, 0, 2, 0, 42, 0,
- 2, 0, 43, 0, 4, 0, 44, 0, 31, 0, 6, 0, 32, 0, 45, 0, 2, 0, 46, 0, 2, 0, 47, 0, 2, 0, 17, 0, 2, 0, 19, 0,
- 0, 0, 48, 0, 33, 0, 21, 0, 33, 0, 0, 0, 33, 0, 1, 0, 34, 0, 49, 0, 35, 0, 50, 0, 24, 0, 51, 0, 24, 0, 52, 0,
- 2, 0, 46, 0, 2, 0, 47, 0, 2, 0, 53, 0, 2, 0, 54, 0, 2, 0, 55, 0, 2, 0, 56, 0, 2, 0, 19, 0, 2, 0, 57, 0,
- 7, 0, 11, 0, 7, 0, 12, 0, 4, 0, 58, 0, 7, 0, 59, 0, 7, 0, 60, 0, 7, 0, 61, 0, 31, 0, 62, 0, 36, 0, 7, 0,
- 27, 0, 31, 0, 12, 0, 63, 0, 24, 0, 64, 0, 2, 0, 46, 0, 2, 0, 65, 0, 2, 0, 66, 0, 2, 0, 37, 0, 37, 0, 16, 0,
- 37, 0, 0, 0, 37, 0, 1, 0, 7, 0, 67, 0, 7, 0, 61, 0, 2, 0, 17, 0, 2, 0, 47, 0, 2, 0, 68, 0, 2, 0, 19, 0,
- 4, 0, 69, 0, 4, 0, 70, 0, 9, 0, 2, 0, 7, 0, 71, 0, 0, 0, 20, 0, 0, 0, 72, 0, 7, 0, 73, 0, 7, 0, 74, 0,
- 38, 0, 13, 0, 27, 0, 31, 0, 39, 0, 75, 0, 37, 0, 76, 0, 0, 0, 77, 0, 4, 0, 78, 0, 7, 0, 61, 0, 12, 0, 79, 0,
- 36, 0, 80, 0, 27, 0, 81, 0, 2, 0, 17, 0, 2, 0, 82, 0, 2, 0, 83, 0, 2, 0, 19, 0, 40, 0, 5, 0, 27, 0, 84, 0,
- 2, 0, 85, 0, 2, 0, 86, 0, 2, 0, 87, 0, 4, 0, 37, 0, 41, 0, 6, 0, 41, 0, 0, 0, 41, 0, 1, 0, 0, 0, 88, 0,
- 0, 0, 89, 0, 4, 0, 23, 0, 4, 0, 90, 0, 42, 0, 10, 0, 42, 0, 0, 0, 42, 0, 1, 0, 4, 0, 91, 0, 4, 0, 92, 0,
- 4, 0, 93, 0, 4, 0, 43, 0, 4, 0, 14, 0, 4, 0, 94, 0, 0, 0, 95, 0, 0, 0, 96, 0, 43, 0, 15, 0, 27, 0, 31, 0,
- 0, 0, 97, 0, 4, 0, 94, 0, 4, 0, 98, 0, 12, 0, 99, 0, 41, 0,100, 0, 41, 0,101, 0, 4, 0,102, 0, 4, 0,103, 0,
- 12, 0,104, 0, 0, 0,105, 0, 4, 0,106, 0, 4, 0,107, 0, 9, 0,108, 0, 8, 0,109, 0, 44, 0, 3, 0, 4, 0,110, 0,
- 4, 0,111, 0, 9, 0, 2, 0, 45, 0, 21, 0, 27, 0, 31, 0, 39, 0, 75, 0, 2, 0, 17, 0, 2, 0, 19, 0, 7, 0,112, 0,
- 7, 0,113, 0, 7, 0,114, 0, 7, 0,115, 0, 7, 0,116, 0, 7, 0,117, 0, 7, 0,118, 0, 7, 0,119, 0, 7, 0,120, 0,
- 7, 0,121, 0, 7, 0,122, 0, 2, 0,123, 0, 2, 0,124, 0, 7, 0,125, 0, 36, 0, 80, 0, 40, 0,126, 0, 32, 0,127, 0,
- 46, 0, 13, 0, 4, 0,128, 0, 4, 0,129, 0, 4, 0,130, 0, 4, 0,131, 0, 2, 0,132, 0, 2, 0,133, 0, 2, 0, 19, 0,
- 2, 0,134, 0, 2, 0,135, 0, 2, 0,136, 0, 2, 0,137, 0, 2, 0,138, 0, 47, 0,139, 0, 48, 0, 32, 0, 27, 0, 31, 0,
- 0, 0, 34, 0, 12, 0,140, 0, 49, 0,141, 0, 50, 0,142, 0, 51, 0,143, 0, 2, 0,134, 0, 2, 0, 19, 0, 2, 0,144, 0,
- 2, 0, 17, 0, 2, 0, 37, 0, 2, 0, 43, 0, 4, 0,145, 0, 2, 0,146, 0, 2, 0,147, 0, 2, 0,148, 0, 2, 0,149, 0,
- 2, 0,150, 0, 2, 0,151, 0, 4, 0,152, 0, 4, 0,153, 0, 44, 0,154, 0, 30, 0,155, 0, 0, 0,156, 0, 7, 0,157, 0,
- 4, 0,158, 0, 2, 0,159, 0, 2, 0,160, 0, 2, 0,161, 0, 2, 0,162, 0, 7, 0,163, 0, 7, 0,164, 0, 52, 0, 31, 0,
- 2, 0,165, 0, 2, 0,166, 0, 2, 0,167, 0, 2, 0,168, 0, 32, 0,169, 0, 53, 0,170, 0, 0, 0,171, 0, 0, 0,172, 0,
- 0, 0,173, 0, 0, 0,174, 0, 0, 0,175, 0, 7, 0,176, 0, 7, 0,177, 0, 2, 0,178, 0, 2, 0,179, 0, 2, 0,180, 0,
- 2, 0,181, 0, 2, 0,182, 0, 2, 0,183, 0, 2, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0,
- 7, 0,189, 0, 7, 0, 57, 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0, 54, 0, 15, 0,
- 0, 0,195, 0, 9, 0,196, 0, 0, 0,197, 0, 0, 0,198, 0, 4, 0,199, 0, 4, 0,200, 0, 9, 0,201, 0, 7, 0,202, 0,
- 7, 0,203, 0, 7, 0,204, 0, 4, 0,205, 0, 9, 0,206, 0, 9, 0,207, 0, 4, 0,208, 0, 4, 0, 37, 0, 55, 0, 6, 0,
- 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,209, 0, 7, 0, 67, 0, 4, 0, 64, 0, 56, 0, 5, 0, 2, 0, 19, 0,
- 2, 0, 36, 0, 2, 0, 64, 0, 2, 0,210, 0, 55, 0,204, 0, 57, 0, 17, 0, 32, 0,169, 0, 48, 0,211, 0, 58, 0,212, 0,
- 7, 0,213, 0, 7, 0,214, 0, 2, 0, 17, 0, 2, 0,215, 0, 7, 0,114, 0, 7, 0,115, 0, 7, 0,216, 0, 4, 0,217, 0,
- 2, 0,218, 0, 2, 0,219, 0, 4, 0,134, 0, 4, 0,145, 0, 2, 0,220, 0, 2, 0,221, 0, 53, 0, 57, 0, 27, 0, 31, 0,
- 39, 0, 75, 0, 7, 0,222, 0, 7, 0,223, 0, 7, 0,224, 0, 7, 0,225, 0, 7, 0,226, 0, 7, 0,227, 0, 7, 0,228, 0,
- 7, 0,229, 0, 7, 0,230, 0, 7, 0,231, 0, 7, 0,232, 0, 7, 0,233, 0, 7, 0,234, 0, 7, 0,235, 0, 7, 0,236, 0,
- 7, 0,237, 0, 7, 0,238, 0, 7, 0,239, 0, 7, 0,240, 0, 7, 0,241, 0, 2, 0,242, 0, 2, 0,243, 0, 2, 0,244, 0,
- 2, 0,245, 0, 2, 0,246, 0, 2, 0,247, 0, 2, 0,248, 0, 2, 0, 19, 0, 2, 0, 17, 0, 2, 0,215, 0, 7, 0,249, 0,
- 7, 0,250, 0, 7, 0,251, 0, 7, 0,252, 0, 2, 0,253, 0, 2, 0,254, 0, 2, 0,255, 0, 2, 0,132, 0, 4, 0, 23, 0,
- 4, 0,129, 0, 4, 0,130, 0, 4, 0,131, 0, 7, 0, 0, 1, 7, 0, 1, 1, 7, 0,191, 0, 46, 0, 2, 1, 59, 0, 3, 1,
- 36, 0, 80, 0, 48, 0,211, 0, 54, 0, 4, 1, 56, 0, 5, 1, 57, 0, 6, 1, 30, 0,155, 0, 0, 0, 7, 1, 0, 0, 8, 1,
- 60, 0, 8, 0, 7, 0, 9, 1, 7, 0, 10, 1, 7, 0,177, 0, 4, 0, 19, 0, 7, 0, 11, 1, 7, 0, 12, 1, 7, 0, 13, 1,
- 32, 0, 45, 0, 61, 0, 81, 0, 27, 0, 31, 0, 39, 0, 75, 0, 2, 0, 17, 0, 2, 0, 19, 0, 4, 0, 14, 1, 2, 0,179, 0,
- 2, 0, 15, 1, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0, 7, 0, 16, 1, 7, 0, 17, 1, 7, 0, 18, 1,
- 7, 0, 19, 1, 7, 0, 20, 1, 7, 0, 21, 1, 7, 0, 22, 1, 7, 0, 23, 1, 7, 0, 24, 1, 7, 0, 25, 1, 7, 0, 26, 1,
- 62, 0, 27, 1, 2, 0, 28, 1, 2, 0, 70, 0, 7, 0,114, 0, 7, 0,115, 0, 7, 0, 29, 1, 7, 0, 30, 1, 7, 0, 31, 1,
- 2, 0, 32, 1, 2, 0, 33, 1, 2, 0, 34, 1, 2, 0, 35, 1, 0, 0, 36, 1, 0, 0, 37, 1, 2, 0, 38, 1, 2, 0, 39, 1,
- 2, 0, 40, 1, 2, 0, 41, 1, 2, 0, 42, 1, 7, 0, 43, 1, 7, 0, 44, 1, 7, 0, 45, 1, 7, 0, 46, 1, 2, 0, 47, 1,
- 2, 0, 43, 0, 2, 0, 48, 1, 2, 0, 49, 1, 2, 0, 50, 1, 2, 0, 51, 1, 7, 0, 52, 1, 7, 0, 53, 1, 7, 0, 54, 1,
- 7, 0, 55, 1, 7, 0, 56, 1, 7, 0, 57, 1, 7, 0, 58, 1, 7, 0, 59, 1, 7, 0, 60, 1, 7, 0, 61, 1, 7, 0, 62, 1,
- 7, 0, 63, 1, 2, 0, 64, 1, 2, 0, 65, 1, 4, 0, 66, 1, 4, 0, 67, 1, 2, 0, 68, 1, 2, 0, 69, 1, 2, 0, 70, 1,
- 2, 0, 71, 1, 7, 0, 72, 1, 7, 0, 73, 1, 7, 0, 74, 1, 7, 0, 75, 1, 2, 0, 76, 1, 2, 0, 77, 1, 52, 0, 78, 1,
- 36, 0, 80, 0, 30, 0,155, 0, 40, 0,126, 0, 63, 0, 2, 0, 27, 0, 31, 0, 36, 0, 80, 0, 64, 0,130, 0, 27, 0, 31, 0,
- 39, 0, 75, 0, 2, 0, 79, 1, 2, 0, 19, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0, 80, 1, 7, 0, 81, 1,
- 7, 0, 82, 1, 7, 0, 83, 1, 7, 0, 84, 1, 7, 0, 85, 1, 7, 0, 86, 1, 7, 0, 87, 1, 7, 0, 88, 1, 7, 0, 89, 1,
- 7, 0, 90, 1, 7, 0, 91, 1, 7, 0, 92, 1, 7, 0, 93, 1, 7, 0, 94, 1, 7, 0, 95, 1, 7, 0, 96, 1, 7, 0, 97, 1,
- 7, 0, 98, 1, 7, 0, 99, 1, 7, 0,100, 1, 7, 0,101, 1, 7, 0,102, 1, 7, 0,103, 1, 7, 0,104, 1, 7, 0,105, 1,
- 7, 0,106, 1, 2, 0,107, 1, 2, 0,108, 1, 2, 0,109, 1, 0, 0,110, 1, 0, 0,111, 1, 7, 0,112, 1, 7, 0,113, 1,
- 2, 0,114, 1, 2, 0,115, 1, 7, 0,116, 1, 7, 0,117, 1, 7, 0,118, 1, 7, 0,119, 1, 2, 0,120, 1, 2, 0,121, 1,
- 4, 0, 14, 1, 4, 0,122, 1, 2, 0,123, 1, 2, 0,124, 1, 2, 0,125, 1, 2, 0,126, 1, 7, 0,127, 1, 7, 0,128, 1,
- 7, 0,129, 1, 7, 0,130, 1, 7, 0,131, 1, 7, 0,132, 1, 7, 0,133, 1, 7, 0,134, 1, 7, 0,135, 1, 7, 0,136, 1,
- 0, 0,137, 1, 7, 0,138, 1, 7, 0,139, 1, 7, 0,140, 1, 4, 0,141, 1, 0, 0,142, 1, 0, 0, 48, 1, 0, 0,143, 1,
- 0, 0, 7, 1, 2, 0,144, 1, 2, 0,145, 1, 2, 0, 65, 1, 2, 0,146, 1, 2, 0,147, 1, 2, 0,148, 1, 7, 0,149, 1,
- 7, 0,150, 1, 7, 0,151, 1, 7, 0,152, 1, 7, 0,153, 1, 2, 0,165, 0, 2, 0,166, 0, 56, 0,154, 1, 56, 0,155, 1,
- 0, 0,156, 1, 0, 0,157, 1, 0, 0,158, 1, 0, 0,159, 1, 2, 0,160, 1, 2, 0,161, 1, 7, 0,162, 1, 7, 0,163, 1,
- 52, 0, 78, 1, 59, 0, 3, 1, 36, 0, 80, 0, 65, 0,164, 1, 30, 0,155, 0, 7, 0,165, 1, 7, 0,166, 1, 7, 0,167, 1,
- 7, 0,168, 1, 7, 0,169, 1, 2, 0,170, 1, 2, 0, 70, 0, 7, 0,171, 1, 7, 0,172, 1, 7, 0,173, 1, 7, 0,174, 1,
- 7, 0,175, 1, 7, 0,176, 1, 7, 0,177, 1, 7, 0,178, 1, 7, 0,179, 1, 2, 0,180, 1, 2, 0,181, 1, 7, 0,182, 1,
- 7, 0,183, 1, 7, 0,184, 1, 7, 0,185, 1, 7, 0,186, 1, 4, 0,187, 1, 4, 0,188, 1, 4, 0,189, 1, 40, 0,126, 0,
- 12, 0,190, 1, 66, 0, 4, 0, 27, 0, 31, 0, 0, 0,191, 1, 67, 0, 2, 0, 44, 0,154, 0, 68, 0, 26, 0, 68, 0, 0, 0,
- 68, 0, 1, 0, 69, 0,192, 1, 4, 0,193, 1, 4, 0,194, 1, 4, 0,195, 1, 4, 0,196, 1, 4, 0,197, 1, 4, 0,198, 1,
- 2, 0, 17, 0, 2, 0, 19, 0, 2, 0,199, 1, 2, 0,200, 1, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 0, 7, 0,201, 1,
- 7, 0,202, 1, 7, 0,203, 1, 7, 0,204, 1, 7, 0,205, 1, 7, 0,206, 1, 7, 0,207, 1, 7, 0, 23, 0, 7, 0,208, 1,
- 7, 0,209, 1, 70, 0, 16, 0, 27, 0, 31, 0, 69, 0,192, 1, 12, 0,210, 1, 12, 0,211, 1, 12, 0,212, 1, 36, 0, 80, 0,
- 64, 0,213, 1, 2, 0, 19, 0, 2, 0,214, 1, 4, 0,178, 0, 7, 0, 9, 1, 7, 0,177, 0, 7, 0, 10, 1, 7, 0,215, 1,
- 7, 0,216, 1, 7, 0,217, 1, 35, 0, 11, 0, 7, 0,218, 1, 7, 0,219, 1, 7, 0,220, 1, 7, 0,221, 1, 2, 0, 55, 0,
- 0, 0,222, 1, 0, 0,223, 1, 0, 0,224, 1, 0, 0,225, 1, 0, 0,226, 1, 0, 0,227, 1, 34, 0, 7, 0, 7, 0,228, 1,
- 7, 0,219, 1, 7, 0,220, 1, 2, 0,224, 1, 2, 0,227, 1, 7, 0,221, 1, 7, 0, 37, 0, 71, 0, 21, 0, 71, 0, 0, 0,
- 71, 0, 1, 0, 2, 0, 17, 0, 2, 0,229, 1, 2, 0,227, 1, 2, 0, 19, 0, 2, 0,230, 1, 2, 0,231, 1, 2, 0,232, 1,
- 2, 0,233, 1, 2, 0,234, 1, 2, 0,235, 1, 2, 0,236, 1, 2, 0,237, 1, 7, 0,238, 1, 7, 0,239, 1, 34, 0, 49, 0,
- 35, 0, 50, 0, 2, 0,240, 1, 2, 0,241, 1, 4, 0,242, 1, 72, 0, 5, 0, 2, 0,243, 1, 2, 0,229, 1, 0, 0, 19, 0,
- 0, 0, 37, 0, 2, 0, 70, 0, 73, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 8, 0, 7, 0,244, 1, 74, 0, 62, 0,
- 27, 0, 31, 0, 39, 0, 75, 0, 69, 0,192, 1, 12, 0,245, 1, 12, 0,211, 1, 12, 0,246, 1, 32, 0,247, 1, 32, 0,248, 1,
- 32, 0,249, 1, 36, 0, 80, 0, 75, 0,250, 1, 38, 0,251, 1, 64, 0,213, 1, 12, 0,252, 1, 7, 0, 9, 1, 7, 0,177, 0,
- 7, 0, 10, 1, 4, 0,178, 0, 2, 0,253, 1, 2, 0,214, 1, 2, 0, 19, 0, 2, 0,254, 1, 7, 0,255, 1, 7, 0, 0, 2,
- 7, 0, 1, 2, 2, 0,232, 1, 2, 0,233, 1, 2, 0, 2, 2, 2, 0, 3, 2, 4, 0, 4, 2, 34, 0, 5, 2, 2, 0, 23, 0,
- 2, 0, 99, 0, 2, 0, 67, 0, 2, 0, 6, 2, 7, 0, 7, 2, 7, 0, 8, 2, 7, 0, 9, 2, 7, 0, 10, 2, 7, 0, 11, 2,
- 7, 0, 12, 2, 7, 0, 13, 2, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0, 16, 2, 0, 0, 17, 2, 76, 0, 18, 2, 77, 0, 19, 2,
- 0, 0, 20, 2, 66, 0, 21, 2, 66, 0, 22, 2, 66, 0, 23, 2, 66, 0, 24, 2, 4, 0, 25, 2, 7, 0, 26, 2, 4, 0, 27, 2,
- 4, 0, 28, 2, 73, 0, 29, 2, 4, 0, 30, 2, 4, 0, 31, 2, 72, 0, 32, 2, 72, 0, 33, 2, 78, 0, 39, 0, 27, 0, 31, 0,
- 69, 0,192, 1, 12, 0, 34, 2, 36, 0, 80, 0, 38, 0,251, 1, 64, 0,213, 1, 79, 0, 35, 2, 80, 0, 36, 2, 81, 0, 37, 2,
- 82, 0, 38, 2, 83, 0, 39, 2, 84, 0, 40, 2, 85, 0, 41, 2, 86, 0, 42, 2, 78, 0, 43, 2, 87, 0, 44, 2, 88, 0, 45, 2,
- 89, 0, 46, 2, 89, 0, 47, 2, 89, 0, 48, 2, 4, 0, 54, 0, 4, 0, 49, 2, 4, 0, 50, 2, 4, 0, 51, 2, 4, 0, 52, 2,
- 4, 0,178, 0, 7, 0, 9, 1, 7, 0,177, 0, 7, 0, 10, 1, 7, 0, 53, 2, 4, 0, 54, 2, 2, 0, 55, 2, 2, 0, 19, 0,
- 2, 0, 56, 2, 2, 0, 57, 2, 2, 0,214, 1, 2, 0, 58, 2, 90, 0, 59, 2, 91, 0, 60, 2, 81, 0, 8, 0, 9, 0, 61, 2,
- 7, 0, 62, 2, 4, 0, 63, 2, 0, 0, 19, 0, 0, 0, 64, 2, 2, 0, 14, 1, 2, 0, 65, 2, 2, 0, 66, 2, 79, 0, 7, 0,
- 4, 0, 67, 2, 4, 0, 68, 2, 4, 0, 69, 2, 4, 0, 70, 2, 2, 0,229, 1, 0, 0, 71, 2, 0, 0, 19, 0, 83, 0, 5, 0,
- 4, 0, 67, 2, 4, 0, 68, 2, 0, 0, 72, 2, 0, 0, 73, 2, 2, 0, 19, 0, 92, 0, 2, 0, 4, 0, 74, 2, 7, 0,220, 1,
- 84, 0, 3, 0, 92, 0, 75, 2, 4, 0, 76, 2, 4, 0, 19, 0, 82, 0, 6, 0, 7, 0, 77, 2, 2, 0, 78, 2, 2, 0,229, 1,
- 0, 0, 19, 0, 0, 0, 73, 2, 0, 0,184, 0, 85, 0, 4, 0, 0, 0,209, 0, 0, 0,185, 0, 0, 0,186, 0, 0, 0,187, 0,
- 93, 0, 6, 0, 48, 0, 61, 2, 0, 0, 19, 0, 0, 0, 64, 2, 2, 0, 14, 1, 2, 0, 65, 2, 2, 0, 66, 2, 94, 0, 1, 0,
- 7, 0, 79, 2, 95, 0, 5, 0, 0, 0,209, 0, 0, 0,185, 0, 0, 0,186, 0, 0, 0,187, 0, 4, 0, 37, 0, 86, 0, 1, 0,
- 7, 0, 80, 2, 87, 0, 2, 0, 4, 0, 81, 2, 4, 0, 17, 0, 80, 0, 7, 0, 7, 0, 62, 2, 48, 0, 61, 2, 0, 0, 19, 0,
- 0, 0, 64, 2, 2, 0, 14, 1, 2, 0, 65, 2, 2, 0, 66, 2, 96, 0, 1, 0, 7, 0, 82, 2, 97, 0, 1, 0, 4, 0, 83, 2,
- 98, 0, 1, 0, 0, 0, 84, 2, 99, 0, 1, 0, 7, 0, 62, 2,100, 0, 3, 0, 4, 0, 85, 2, 0, 0, 96, 0, 7, 0, 86, 2,
-102, 0, 4, 0, 7, 0,209, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0,103, 0, 1, 0,102, 0, 63, 2,104, 0, 5, 0,
- 4, 0, 87, 2, 4, 0, 88, 2, 0, 0, 19, 0, 0, 0,229, 1, 0, 0,184, 0,105, 0, 2, 0, 4, 0, 89, 2, 4, 0, 88, 2,
-106, 0, 10, 0,106, 0, 0, 0,106, 0, 1, 0,104, 0, 90, 2,103, 0, 91, 2,105, 0, 92, 2, 4, 0, 54, 0, 4, 0, 50, 2,
- 4, 0, 49, 2, 4, 0, 37, 0, 82, 0, 93, 2, 90, 0, 14, 0, 12, 0, 94, 2, 82, 0, 93, 2, 0, 0, 95, 2, 0, 0, 96, 2,
- 0, 0, 97, 2, 0, 0, 98, 2, 0, 0, 99, 2, 0, 0,100, 2, 0, 0,101, 2, 0, 0, 19, 0, 89, 0, 46, 2, 89, 0, 48, 2,
- 2, 0,102, 2, 0, 0,103, 2, 91, 0, 8, 0, 4, 0,104, 2, 4, 0,105, 2, 79, 0,106, 2, 83, 0,107, 2, 4, 0, 50, 2,
- 4, 0, 49, 2, 4, 0, 54, 0, 4, 0, 37, 0,107, 0, 7, 0,107, 0, 0, 0,107, 0, 1, 0, 4, 0, 17, 0, 4, 0, 14, 1,
- 0, 0, 20, 0, 47, 0,139, 0, 0, 0,108, 2,108, 0, 7, 0,107, 0,109, 2, 2, 0,110, 2, 2, 0, 94, 2, 2, 0,111, 2,
- 2, 0, 94, 0, 9, 0,112, 2, 9, 0,113, 2,109, 0, 3, 0,107, 0,109, 2, 32, 0,169, 0, 0, 0, 20, 0,110, 0, 5, 0,
-107, 0,109, 2, 32, 0,169, 0, 0, 0, 20, 0, 2, 0,114, 2, 0, 0,115, 2,111, 0, 5, 0,107, 0,109, 2, 7, 0, 92, 0,
- 7, 0,116, 2, 4, 0,117, 2, 4, 0,118, 2,112, 0, 5, 0,107, 0,109, 2, 32, 0,119, 2, 0, 0, 72, 0, 4, 0, 14, 1,
- 4, 0, 19, 0,113, 0, 13, 0,107, 0,109, 2, 32, 0,120, 2, 32, 0,121, 2, 32, 0,122, 2, 32, 0,123, 2, 7, 0,124, 2,
- 7, 0,125, 2, 7, 0,116, 2, 7, 0,126, 2, 4, 0,127, 2, 4, 0,128, 2, 4, 0, 94, 0, 4, 0,129, 2,114, 0, 5, 0,
-107, 0,109, 2, 2, 0,130, 2, 2, 0, 19, 0, 7, 0,131, 2, 32, 0,132, 2,115, 0, 3, 0,107, 0,109, 2, 7, 0,133, 2,
- 4, 0, 94, 0,116, 0, 10, 0,107, 0,109, 2, 7, 0,134, 2, 4, 0,135, 2, 4, 0, 37, 0, 2, 0, 94, 0, 2, 0,136, 2,
- 2, 0,137, 2, 2, 0,138, 2, 7, 0,139, 2, 0, 0,140, 2,117, 0, 3, 0,107, 0,109, 2, 7, 0, 37, 0, 4, 0, 17, 0,
-118, 0, 11, 0,107, 0,109, 2, 53, 0,141, 2, 7, 0,142, 2, 4, 0,143, 2, 0, 0,140, 2, 7, 0,144, 2, 4, 0,145, 2,
- 32, 0,146, 2, 0, 0,147, 2, 4, 0,148, 2, 4, 0, 37, 0,119, 0, 10, 0,107, 0,109, 2, 32, 0,149, 2, 48, 0,150, 2,
- 4, 0, 94, 0, 4, 0,151, 2, 7, 0,152, 2, 7, 0,153, 2, 0, 0,147, 2, 4, 0,148, 2, 4, 0, 37, 0,120, 0, 3, 0,
-107, 0,109, 2, 7, 0,154, 2, 4, 0,155, 2,121, 0, 5, 0,107, 0,109, 2, 7, 0,156, 2, 0, 0,140, 2, 2, 0, 19, 0,
- 2, 0,157, 2,122, 0, 8, 0,107, 0,109, 2, 32, 0,169, 0, 7, 0,156, 2, 7, 0,221, 1, 7, 0,110, 0, 0, 0,140, 2,
- 2, 0, 19, 0, 2, 0, 17, 0,123, 0, 21, 0,107, 0,109, 2, 32, 0,158, 2, 0, 0,140, 2, 53, 0,141, 2, 32, 0,146, 2,
- 2, 0, 19, 0, 2, 0, 37, 0, 7, 0,159, 2, 7, 0,160, 2, 7, 0,161, 2, 7, 0,255, 1, 7, 0,162, 2, 7, 0,163, 2,
- 7, 0,164, 2, 7, 0,165, 2, 4, 0,145, 2, 4, 0,148, 2, 0, 0,147, 2, 7, 0,166, 2, 7, 0,167, 2, 7, 0, 43, 0,
-124, 0, 7, 0,107, 0,109, 2, 2, 0,168, 2, 2, 0,169, 2, 4, 0, 70, 0, 32, 0,169, 0, 7, 0,170, 2, 0, 0,140, 2,
-125, 0, 9, 0,107, 0,109, 2, 32, 0,169, 0, 7, 0,171, 2, 7, 0,172, 2, 7, 0,165, 2, 4, 0,173, 2, 4, 0,174, 2,
- 7, 0,175, 2, 0, 0, 20, 0,126, 0, 1, 0,107, 0,109, 2,127, 0, 6, 0,107, 0,109, 2, 47, 0,139, 0,128, 0,176, 2,
-129, 0,177, 2,130, 0,178, 2,131, 0,179, 2,132, 0, 14, 0,107, 0,109, 2, 82, 0,180, 2, 82, 0,181, 2, 82, 0,182, 2,
- 82, 0,183, 2, 82, 0,184, 2, 82, 0,185, 2, 79, 0,186, 2, 4, 0,187, 2, 4, 0,188, 2, 2, 0,189, 2, 2, 0, 37, 0,
- 7, 0,190, 2,133, 0,191, 2,134, 0, 3, 0,107, 0,109, 2,135, 0,192, 2,136, 0,191, 2,137, 0, 4, 0,107, 0,109, 2,
- 32, 0,169, 0, 4, 0,193, 2, 4, 0, 37, 0,138, 0, 2, 0, 4, 0,194, 2, 7, 0,220, 1,139, 0, 2, 0, 4, 0,130, 0,
- 4, 0,195, 2,140, 0, 20, 0,107, 0,109, 2, 32, 0,169, 0, 0, 0,140, 2, 2, 0,196, 2, 2, 0,197, 2, 2, 0, 19, 0,
- 2, 0, 37, 0, 7, 0,198, 2, 7, 0,199, 2, 4, 0, 54, 0, 4, 0,200, 2,139, 0,201, 2,138, 0,202, 2, 4, 0,203, 2,
- 4, 0,204, 2, 4, 0,205, 2, 4, 0,195, 2, 7, 0,206, 2, 7, 0,207, 2, 7, 0,208, 2,141, 0, 8, 0,107, 0,109, 2,
-142, 0,209, 2,135, 0,192, 2, 4, 0,210, 2, 4, 0,211, 2, 4, 0,212, 2, 2, 0, 19, 0, 2, 0, 57, 0,143, 0, 8, 0,
-107, 0,109, 2, 32, 0, 45, 0, 2, 0,213, 2, 2, 0, 19, 0, 2, 0,130, 2, 2, 0, 57, 0, 7, 0,214, 2, 7, 0,215, 2,
-144, 0, 5, 0,107, 0,109, 2, 4, 0,216, 2, 2, 0, 19, 0, 2, 0,217, 2, 7, 0,218, 2,145, 0, 7, 0,107, 0,109, 2,
- 82, 0,219, 2, 4, 0,220, 2, 0, 0,221, 2, 0, 0,222, 2, 0, 0,223, 2, 0, 0,224, 2,146, 0, 3, 0,107, 0,109, 2,
-147, 0,225, 2,131, 0,179, 2,148, 0, 10, 0,107, 0,109, 2, 32, 0,226, 2, 32, 0,227, 2, 0, 0,228, 2, 7, 0,229, 2,
- 2, 0,230, 2, 2, 0,231, 2, 0, 0,232, 2, 0, 0,233, 2, 0, 0,115, 2,149, 0, 9, 0,107, 0,109, 2, 32, 0,234, 2,
- 0, 0,228, 2, 7, 0,235, 2, 7, 0,236, 2, 0, 0, 14, 1, 0, 0,130, 2, 0, 0,237, 2, 0, 0, 37, 0,150, 0, 27, 0,
- 27, 0, 31, 0, 2, 0,230, 1, 2, 0,231, 1, 2, 0,238, 2, 2, 0, 19, 0, 2, 0,239, 2, 2, 0,240, 2, 2, 0,241, 2,
- 2, 0, 70, 0, 0, 0,242, 2, 0, 0,243, 2, 0, 0,244, 2, 0, 0, 17, 0, 4, 0, 37, 0, 7, 0,245, 2, 7, 0,246, 2,
- 7, 0,247, 2, 7, 0,248, 2, 7, 0,249, 2, 7, 0,250, 2, 34, 0,251, 2, 36, 0, 80, 0, 38, 0,251, 1, 84, 0, 40, 2,
- 7, 0,252, 2, 7, 0,253, 2,150, 0,254, 2,151, 0, 3, 0,151, 0, 0, 0,151, 0, 1, 0, 0, 0, 20, 0, 69, 0, 3, 0,
- 7, 0,255, 2, 4, 0, 19, 0, 4, 0, 37, 0, 32, 0,112, 0, 27, 0, 31, 0, 39, 0, 75, 0, 2, 0, 17, 0, 2, 0, 0, 3,
- 4, 0, 1, 3, 4, 0, 2, 3, 4, 0, 3, 3, 0, 0, 4, 3, 32, 0, 38, 0, 32, 0, 5, 3, 32, 0, 6, 3, 32, 0, 7, 3,
- 32, 0, 8, 3, 36, 0, 80, 0, 75, 0,250, 1, 69, 0,192, 1,152, 0, 9, 3,152, 0, 10, 3,153, 0, 11, 3, 9, 0, 2, 0,
- 12, 0, 12, 3, 12, 0, 34, 2, 12, 0,211, 1, 12, 0, 13, 3, 12, 0, 14, 3, 64, 0,213, 1, 0, 0, 15, 3, 4, 0,214, 1,
- 4, 0, 16, 3, 7, 0, 9, 1, 7, 0, 17, 3, 7, 0, 18, 3, 7, 0,177, 0, 7, 0, 19, 3, 7, 0, 10, 1, 7, 0, 20, 3,
- 7, 0, 21, 3, 7, 0,171, 2, 7, 0, 22, 3, 7, 0,213, 0, 4, 0, 23, 3, 2, 0, 19, 0, 2, 0, 24, 3, 2, 0, 25, 3,
- 2, 0, 26, 3, 2, 0, 27, 3, 2, 0, 28, 3, 2, 0, 29, 3, 2, 0, 30, 3, 2, 0, 31, 3, 2, 0, 32, 3, 2, 0, 33, 3,
- 2, 0, 34, 3, 4, 0, 35, 3, 4, 0, 36, 3, 4, 0, 37, 3, 4, 0, 38, 3, 7, 0, 39, 3, 7, 0, 26, 2, 7, 0, 40, 3,
- 7, 0, 41, 3, 7, 0, 42, 3, 7, 0, 43, 3, 7, 0, 44, 3, 7, 0, 45, 3, 7, 0, 46, 3, 7, 0, 47, 3, 7, 0, 48, 3,
- 7, 0, 49, 3, 0, 0, 50, 3, 0, 0, 51, 3, 0, 0, 52, 3, 0, 0, 53, 3, 7, 0, 54, 3, 7, 0, 55, 3, 40, 0,126, 0,
- 12, 0, 56, 3, 12, 0, 57, 3, 12, 0, 58, 3, 12, 0, 59, 3, 7, 0, 60, 3, 2, 0, 81, 2, 2, 0, 61, 3, 7, 0, 63, 2,
- 4, 0, 62, 3, 4, 0, 63, 3,154, 0, 64, 3, 2, 0, 65, 3, 2, 0,220, 0, 7, 0, 66, 3, 12, 0, 67, 3, 12, 0, 68, 3,
- 12, 0, 69, 3, 12, 0, 70, 3,155, 0, 71, 3,156, 0, 72, 3, 65, 0, 73, 3, 2, 0, 74, 3, 2, 0, 75, 3, 2, 0, 76, 3,
- 2, 0, 77, 3, 7, 0, 55, 2, 2, 0, 78, 3, 2, 0, 79, 3,147, 0, 80, 3,135, 0, 81, 3,135, 0, 82, 3, 4, 0, 83, 3,
- 4, 0, 84, 3, 4, 0, 85, 3, 4, 0, 70, 0, 12, 0, 86, 3,157, 0, 14, 0,157, 0, 0, 0,157, 0, 1, 0, 32, 0, 38, 0,
- 7, 0,171, 2, 7, 0, 11, 1, 7, 0,172, 2, 7, 0,165, 2, 0, 0, 20, 0, 4, 0,173, 2, 4, 0,174, 2, 4, 0, 87, 3,
- 2, 0, 17, 0, 2, 0, 88, 3, 7, 0,175, 2,155, 0, 36, 0, 2, 0, 89, 3, 2, 0, 90, 3, 2, 0, 19, 0, 2, 0,165, 2,
- 7, 0, 91, 3, 7, 0, 92, 3, 7, 0, 93, 3, 7, 0, 94, 3, 7, 0, 95, 3, 7, 0, 96, 3, 7, 0, 97, 3, 7, 0, 98, 3,
- 7, 0, 99, 3, 7, 0,100, 3, 7, 0,101, 3, 7, 0,102, 3, 7, 0,103, 3, 7, 0,104, 3, 7, 0,105, 3, 7, 0,106, 3,
- 7, 0,107, 3, 7, 0,108, 3, 7, 0,109, 3, 7, 0,110, 3, 7, 0,111, 3, 7, 0,112, 3, 7, 0,113, 3, 7, 0,114, 3,
- 2, 0,115, 3, 2, 0,116, 3, 2, 0,117, 3, 2, 0,118, 3, 53, 0,170, 0,158, 0,119, 3, 7, 0,120, 3, 4, 0,118, 2,
-159, 0, 6, 0,159, 0, 0, 0,159, 0, 1, 0, 4, 0,121, 3, 4, 0,122, 3, 7, 0, 2, 0, 9, 0,123, 3,131, 0, 12, 0,
- 4, 0, 19, 0, 4, 0,124, 3, 4, 0,125, 3, 4, 0,126, 3, 4, 0,127, 3, 4, 0,128, 3, 4, 0,129, 3, 4, 0,130, 3,
- 0, 0,131, 3, 0, 0,132, 3, 0, 0,133, 3, 12, 0,134, 3,160, 0, 1, 0, 7, 0,228, 1,154, 0, 30, 0, 4, 0, 19, 0,
- 7, 0,135, 3, 7, 0,136, 3, 7, 0,137, 3, 4, 0,138, 3, 4, 0,139, 3, 4, 0,140, 3, 4, 0,141, 3, 7, 0,142, 3,
- 7, 0,143, 3, 7, 0,144, 3, 7, 0,145, 3, 7, 0,146, 3, 7, 0,147, 3, 7, 0,148, 3, 7, 0,149, 3, 7, 0,150, 3,
- 7, 0,151, 3, 7, 0,152, 3, 7, 0,153, 3, 7, 0,154, 3, 7, 0,155, 3, 7, 0,156, 3, 7, 0,157, 3, 7, 0,158, 3,
- 7, 0,159, 3, 4, 0,160, 3, 4, 0,161, 3, 7, 0,162, 3, 7, 0, 46, 3,156, 0, 44, 0,142, 0,163, 3, 4, 0,122, 3,
- 4, 0,164, 3,161, 0,165, 3,162, 0,166, 3, 7, 0, 37, 0, 7, 0,167, 3, 7, 0,168, 3, 7, 0,169, 3, 7, 0,170, 3,
- 7, 0,171, 3, 7, 0,172, 3, 7, 0,173, 3, 7, 0,174, 3, 7, 0,175, 3, 7, 0,176, 3, 2, 0,177, 3, 2, 0,178, 3,
- 7, 0,179, 3, 7, 0,180, 3, 4, 0,131, 0, 4, 0,181, 3, 4, 0,182, 3, 2, 0,183, 3, 2, 0,184, 3,160, 0,185, 3,
- 4, 0,186, 3, 4, 0, 82, 0, 7, 0,187, 3, 7, 0,188, 3, 7, 0,189, 3, 7, 0,190, 3, 2, 0,191, 3, 2, 0,192, 3,
- 2, 0,193, 3, 2, 0,194, 3, 2, 0,195, 3, 2, 0,196, 3, 2, 0,197, 3, 2, 0,198, 3,163, 0,199, 3, 7, 0,200, 3,
- 7, 0,201, 3,131, 0,202, 3,147, 0, 48, 0, 2, 0, 17, 0, 2, 0,203, 3, 2, 0,204, 3, 2, 0,205, 3, 7, 0,206, 3,
- 2, 0,207, 3, 2, 0,208, 3, 7, 0,209, 3, 2, 0,210, 3, 2, 0,211, 3, 7, 0,212, 3, 7, 0,213, 3, 7, 0,214, 3,
- 7, 0,215, 3, 7, 0,216, 3, 7, 0,217, 3, 4, 0,218, 3, 7, 0,219, 3, 7, 0,220, 3, 7, 0,221, 3, 78, 0,222, 3,
- 78, 0,223, 3, 78, 0,224, 3, 0, 0,225, 3, 7, 0,226, 3, 7, 0,227, 3, 36, 0, 80, 0, 2, 0,228, 3, 0, 0,229, 3,
- 0, 0,230, 3, 7, 0,231, 3, 4, 0,232, 3, 7, 0,233, 3, 7, 0,234, 3, 4, 0,235, 3, 4, 0, 19, 0, 7, 0,236, 3,
- 7, 0,237, 3, 7, 0,238, 3, 82, 0,239, 3, 7, 0,240, 3, 7, 0,241, 3, 7, 0,242, 3, 7, 0,243, 3, 7, 0,244, 3,
- 7, 0,245, 3, 7, 0,246, 3, 4, 0,247, 3,164, 0, 72, 0, 27, 0, 31, 0, 39, 0, 75, 0, 2, 0,179, 0, 2, 0, 15, 1,
- 2, 0, 48, 1, 2, 0,248, 3, 7, 0,249, 3, 7, 0,250, 3, 7, 0,251, 3, 7, 0,252, 3, 7, 0,253, 3, 7, 0,254, 3,
- 7, 0,255, 3, 7, 0, 0, 4, 7, 0, 86, 1, 7, 0, 88, 1, 7, 0, 87, 1, 7, 0, 1, 4, 4, 0, 2, 4, 7, 0, 3, 4,
- 7, 0, 4, 4, 7, 0, 5, 4, 7, 0, 6, 4, 7, 0, 7, 4, 7, 0, 8, 4, 7, 0, 9, 4, 2, 0, 10, 4, 2, 0, 14, 1,
- 2, 0, 11, 4, 2, 0, 12, 4, 2, 0, 13, 4, 2, 0, 14, 4, 2, 0, 15, 4, 2, 0, 16, 4, 7, 0, 17, 4, 7, 0, 18, 4,
- 7, 0, 19, 4, 7, 0, 20, 4, 7, 0, 21, 4, 7, 0, 22, 4, 7, 0, 23, 4, 7, 0, 24, 4, 7, 0, 25, 4, 7, 0, 26, 4,
- 7, 0, 27, 4, 7, 0, 28, 4, 2, 0, 29, 4, 2, 0, 30, 4, 2, 0, 31, 4, 2, 0, 32, 4, 7, 0, 33, 4, 7, 0, 34, 4,
- 7, 0, 35, 4, 7, 0, 36, 4, 2, 0, 37, 4, 2, 0, 38, 4, 2, 0, 39, 4, 2, 0, 40, 4, 7, 0, 41, 4, 7, 0, 42, 4,
- 7, 0, 43, 4, 7, 0, 44, 4, 2, 0, 45, 4, 2, 0, 46, 4, 2, 0, 47, 4, 2, 0, 19, 0, 7, 0, 48, 4, 7, 0, 49, 4,
- 36, 0, 80, 0, 52, 0, 78, 1, 30, 0,155, 0, 40, 0,126, 0,165, 0, 8, 0,165, 0, 0, 0,165, 0, 1, 0, 4, 0, 23, 3,
- 4, 0, 50, 4, 4, 0, 19, 0, 2, 0, 51, 4, 2, 0, 52, 4, 32, 0,169, 0,166, 0, 13, 0, 9, 0, 53, 4, 9, 0, 54, 4,
- 4, 0, 55, 4, 4, 0, 56, 4, 4, 0, 57, 4, 4, 0, 58, 4, 4, 0, 59, 4, 4, 0, 60, 4, 4, 0, 61, 4, 4, 0, 62, 4,
- 4, 0, 63, 4, 4, 0, 37, 0, 0, 0, 64, 4,167, 0, 5, 0, 9, 0, 65, 4, 9, 0, 66, 4, 4, 0, 67, 4, 4, 0, 70, 0,
- 0, 0, 68, 4,168, 0, 13, 0, 4, 0, 17, 0, 4, 0, 69, 4, 4, 0, 70, 4, 4, 0, 71, 4, 4, 0, 72, 4, 4, 0, 73, 4,
- 4, 0, 94, 0, 4, 0, 74, 4, 4, 0, 75, 4, 4, 0, 76, 4, 4, 0, 77, 4, 4, 0, 78, 4, 26, 0, 30, 0,169, 0, 4, 0,
- 4, 0, 79, 4, 7, 0, 80, 4, 2, 0, 19, 0, 2, 0, 81, 4,170, 0, 11, 0,170, 0, 0, 0,170, 0, 1, 0, 0, 0, 20, 0,
- 64, 0, 82, 4, 65, 0, 83, 4, 4, 0, 23, 3, 4, 0, 84, 4, 4, 0, 85, 4, 4, 0, 37, 0, 4, 0, 86, 4, 4, 0, 87, 4,
-171, 0,131, 0,166, 0, 88, 4,167, 0, 89, 4,168, 0, 90, 4,169, 0, 91, 4, 4, 0, 92, 4, 4, 0,131, 0, 4, 0,181, 3,
- 4, 0, 93, 4, 4, 0, 94, 4, 4, 0, 95, 4, 4, 0, 96, 4, 2, 0, 19, 0, 2, 0, 97, 4, 7, 0, 26, 2, 7, 0, 98, 4,
- 7, 0, 99, 4, 7, 0,100, 4, 7, 0,101, 4, 7, 0,102, 4, 2, 0,103, 4, 2, 0,104, 4, 2, 0,105, 4, 2, 0,106, 4,
- 2, 0,219, 0, 2, 0,107, 4, 2, 0,108, 4, 2, 0,118, 3, 2, 0,109, 4, 2, 0,110, 4, 2, 0, 35, 1, 2, 0,110, 0,
- 2, 0,111, 4, 2, 0,112, 4, 2, 0,113, 4, 2, 0,114, 4, 2, 0,115, 4, 2, 0,116, 4, 2, 0,117, 4, 2, 0,118, 4,
- 2, 0,119, 4, 2, 0, 36, 1, 2, 0,120, 4, 2, 0,121, 4, 2, 0,122, 4, 2, 0,123, 4, 4, 0,124, 4, 4, 0, 14, 1,
- 2, 0,125, 4, 2, 0,126, 4, 2, 0,127, 4, 2, 0,128, 4, 2, 0,129, 4, 2, 0,130, 4, 24, 0,131, 4, 24, 0,132, 4,
- 23, 0,133, 4, 12, 0,134, 4, 2, 0,135, 4, 2, 0, 37, 0, 7, 0,136, 4, 7, 0,137, 4, 7, 0,138, 4, 7, 0,139, 4,
- 4, 0,140, 4, 7, 0,141, 4, 7, 0,142, 4, 7, 0,143, 4, 7, 0,144, 4, 2, 0,145, 4, 2, 0,146, 4, 2, 0,147, 4,
- 2, 0,148, 4, 2, 0,149, 4, 2, 0,150, 4, 7, 0,151, 4, 7, 0,152, 4, 7, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4,
- 2, 0,156, 4, 2, 0,157, 4, 2, 0,158, 4, 2, 0,159, 4, 2, 0,160, 4, 2, 0,161, 4, 2, 0,162, 4, 2, 0,163, 4,
- 4, 0,164, 4, 4, 0,165, 4, 4, 0,166, 4, 4, 0,167, 4, 4, 0,168, 4, 7, 0,169, 4, 4, 0,170, 4, 4, 0,171, 4,
- 4, 0,172, 4, 4, 0,173, 4, 7, 0,174, 4, 7, 0,175, 4, 7, 0,176, 4, 7, 0,177, 4, 7, 0,178, 4, 7, 0,179, 4,
- 7, 0,180, 4, 7, 0,181, 4, 7, 0,182, 4, 0, 0,183, 4, 0, 0,184, 4, 4, 0,185, 4, 2, 0,186, 4, 2, 0,161, 1,
- 0, 0,187, 4, 7, 0,188, 4, 7, 0,189, 4, 4, 0,190, 4, 4, 0,191, 4, 7, 0,192, 4, 7, 0,193, 4, 2, 0,194, 4,
- 2, 0,195, 4, 7, 0,196, 4, 2, 0,197, 4, 2, 0,198, 4, 4, 0,199, 4, 2, 0,200, 4, 2, 0,201, 4, 2, 0,202, 4,
- 2, 0,203, 4, 7, 0,204, 4, 7, 0, 70, 0, 43, 0,205, 4,172, 0, 9, 0,172, 0, 0, 0,172, 0, 1, 0, 0, 0, 20, 0,
- 2, 0,206, 4, 2, 0,207, 4, 2, 0,208, 4, 2, 0, 43, 0, 7, 0,209, 4, 7, 0, 70, 0,173, 0, 5, 0, 7, 0,210, 4,
- 0, 0, 17, 0, 0, 0, 43, 0, 0, 0, 70, 0, 0, 0,161, 1,174, 0, 5, 0,174, 0, 0, 0,174, 0, 1, 0, 4, 0,121, 3,
- 0, 0,131, 3, 4, 0, 19, 0,175, 0, 6, 0,176, 0,211, 4, 2, 0, 19, 0, 2, 0,212, 4, 2, 0,213, 4, 2, 0,214, 4,
- 9, 0,215, 4,177, 0, 4, 0, 2, 0,110, 0, 2, 0,142, 2, 2, 0,124, 3, 2, 0,216, 4,178, 0, 10, 0, 2, 0, 19, 0,
- 2, 0,217, 4, 2, 0,218, 4, 2, 0,219, 4,177, 0,220, 4, 9, 0,215, 4, 7, 0,221, 4, 4, 0,222, 4, 4, 0,223, 4,
- 4, 0, 37, 0,179, 0, 4, 0,179, 0, 0, 0,179, 0, 1, 0, 0, 0,224, 4, 7, 0,225, 4,180, 0, 8, 0,181, 0,226, 4,
-176, 0,211, 4, 7, 0,227, 4, 4, 0, 94, 0, 0, 0,228, 4, 0, 0,229, 4, 0, 0,230, 4, 0, 0,231, 4,182, 0, 9, 0,
-176, 0,211, 4, 7, 0,232, 4, 7, 0,233, 4, 2, 0, 14, 1, 2, 0, 19, 0, 4, 0, 36, 0, 4, 0,234, 4, 84, 0,235, 4,
- 9, 0,215, 4,183, 0, 72, 0,182, 0,236, 4,182, 0,237, 4,180, 0,238, 4, 7, 0,239, 4, 2, 0,240, 4, 2, 0,241, 4,
- 7, 0,242, 4, 7, 0,243, 4, 2, 0,124, 3, 2, 0,244, 4, 7, 0,245, 4, 7, 0,246, 4, 7, 0,247, 4, 2, 0,248, 4,
- 2, 0,223, 4, 2, 0,249, 4, 2, 0,250, 4, 2, 0,251, 4, 2, 0,252, 4, 7, 0,253, 4, 7, 0,254, 4, 7, 0,255, 4,
- 2, 0, 0, 5, 2, 0, 1, 5, 2, 0, 2, 5, 2, 0, 3, 5, 2, 0, 4, 5, 2, 0, 5, 5, 2, 0, 6, 5,175, 0, 7, 5,
-178, 0, 8, 5, 7, 0, 9, 5, 7, 0, 10, 5, 7, 0, 11, 5, 2, 0, 12, 5, 2, 0, 70, 0, 0, 0, 13, 5, 0, 0, 14, 5,
- 0, 0, 15, 5, 0, 0, 16, 5, 0, 0, 17, 5, 0, 0, 18, 5, 2, 0, 19, 5, 7, 0, 20, 5, 7, 0, 21, 5, 7, 0, 22, 5,
- 7, 0, 23, 5, 7, 0, 24, 5, 7, 0, 25, 5, 7, 0, 26, 5, 7, 0, 27, 5, 7, 0, 28, 5, 7, 0, 29, 5, 2, 0, 30, 5,
- 0, 0, 31, 5, 0, 0, 32, 5, 0, 0, 33, 5, 0, 0, 34, 5, 32, 0, 35, 5, 0, 0, 36, 5, 0, 0, 37, 5, 0, 0, 38, 5,
- 0, 0, 39, 5, 0, 0, 40, 5, 0, 0, 41, 5, 0, 0, 42, 5, 0, 0, 43, 5, 2, 0, 44, 5, 2, 0, 45, 5, 2, 0, 46, 5,
- 2, 0, 47, 5, 2, 0, 48, 5,184, 0, 8, 0, 4, 0, 49, 5, 4, 0, 50, 5, 4, 0, 51, 5, 4, 0, 52, 5, 4, 0, 53, 5,
- 4, 0, 54, 5, 4, 0, 54, 0, 4, 0, 50, 2, 47, 0, 34, 0, 27, 0, 31, 0, 39, 0, 75, 0, 32, 0, 55, 5,164, 0, 56, 5,
- 47, 0, 57, 5, 48, 0,211, 0, 12, 0, 58, 5,165, 0, 59, 5, 32, 0, 60, 5, 7, 0, 61, 5, 7, 0, 62, 5, 7, 0, 63, 5,
- 7, 0, 64, 5, 4, 0, 23, 3, 2, 0, 19, 0, 2, 0, 7, 1, 59, 0, 3, 1,185, 0, 65, 5,173, 0, 66, 5,183, 0, 67, 5,
-186, 0, 68, 5,171, 0,185, 0,169, 0, 91, 4, 40, 0,126, 0, 12, 0,104, 0, 12, 0, 69, 5,187, 0, 70, 5, 2, 0, 71, 5,
- 2, 0, 72, 5, 2, 0,220, 0, 2, 0, 73, 5, 4, 0, 74, 5, 4, 0, 75, 5, 12, 0, 76, 5,188, 0, 6, 0, 48, 0,211, 0,
- 46, 0, 2, 1, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0,110, 0, 7, 0, 77, 5,189, 0, 35, 0, 7, 0, 78, 5, 7, 0, 79, 5,
- 7, 0, 80, 5, 7, 0, 81, 5, 7, 0, 82, 5, 7, 0, 83, 5, 7, 0, 84, 5, 7, 0, 85, 5, 7, 0, 86, 5, 7, 0, 21, 1,
- 7, 0, 87, 5, 7, 0, 88, 5, 7, 0, 89, 5, 7, 0, 90, 5, 7, 0,176, 0, 2, 0, 91, 5, 2, 0, 92, 5, 4, 0, 93, 5,
- 2, 0, 94, 5, 2, 0, 95, 5, 2, 0, 96, 5, 2, 0, 97, 5, 7, 0, 98, 5, 69, 0, 99, 5,190, 0,100, 5,189, 0,101, 5,
-191, 0,102, 5,192, 0,103, 5,193, 0,104, 5,194, 0,105, 5,195, 0,106, 5, 7, 0,107, 5, 2, 0,108, 5, 2, 0,109, 5,
- 4, 0,161, 1,196, 0, 54, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,
- 7, 0, 86, 5, 7, 0, 21, 1, 7, 0, 43, 0, 4, 0,114, 5, 2, 0, 96, 5, 2, 0, 97, 5, 32, 0, 55, 5, 32, 0,115, 5,
-188, 0,116, 5,196, 0,101, 5, 0, 0,117, 5, 4, 0, 23, 3, 4, 0,118, 5, 2, 0,119, 5, 2, 0,120, 5, 2, 0,121, 5,
- 2, 0,122, 5, 2, 0,161, 1, 2, 0, 19, 0, 2, 0,123, 5, 2, 0,124, 5, 7, 0,116, 0, 7, 0,125, 5, 7, 0,126, 5,
- 7, 0,127, 5, 7, 0,128, 5, 7, 0,129, 5, 7, 0,176, 0, 7, 0, 61, 5, 2, 0,130, 5, 2, 0, 65, 1, 2, 0,131, 5,
- 2, 0,132, 5, 2, 0,133, 5, 2, 0,134, 5, 2, 0,135, 5, 2, 0,136, 5, 2, 0,137, 5, 2, 0,138, 5, 4, 0,139, 5,
- 12, 0,140, 5, 2, 0,141, 5, 2, 0, 64, 2, 2, 0,142, 5, 0, 0,143, 5, 0, 0,144, 5, 9, 0,145, 5,190, 0,100, 5,
-198, 0, 22, 0, 24, 0, 36, 0, 24, 0, 64, 0, 23, 0,146, 5, 23, 0,147, 5, 23, 0,148, 5, 7, 0,149, 5, 7, 0,150, 5,
- 7, 0,151, 5, 7, 0,152, 5, 2, 0,153, 5, 2, 0,154, 5, 2, 0,155, 5, 2, 0,156, 5, 2, 0,157, 5, 2, 0, 19, 0,
- 2, 0,158, 5, 2, 0,159, 5, 2, 0,160, 5, 2, 0,161, 5, 2, 0,162, 5, 2, 0,122, 5, 7, 0,163, 5,197, 0, 6, 0,
-197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,199, 0, 8, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,200, 0,164, 5, 47, 0,139, 0,201, 0, 14, 0,
-197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5,202, 0,166, 5,
- 12, 0,167, 5, 2, 0, 14, 1, 2, 0, 19, 0, 2, 0,168, 5, 0, 0,169, 5, 0, 0,170, 5,203, 0, 31, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,191, 0,102, 5, 2, 0,171, 5, 2, 0,172, 5,
- 2, 0,158, 5, 2, 0,173, 5,198, 0,165, 5, 2, 0,174, 5, 2, 0,138, 0, 2, 0,169, 5, 2, 0,175, 5, 9, 0,176, 5,
- 2, 0,177, 5, 0, 0,178, 5, 0, 0,179, 5, 2, 0,180, 5, 2, 0,181, 5, 2, 0, 32, 3, 2, 0,182, 5, 2, 0,183, 5,
- 0, 0, 19, 0, 0, 0, 48, 1, 9, 0,250, 1, 4, 0,184, 5, 4, 0,185, 5, 27, 0,186, 5,204, 0, 16, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5, 7, 0, 14, 2, 7, 0, 15, 2,
- 2, 0,174, 5, 2, 0,187, 5, 2, 0,188, 5, 2, 0,189, 5, 4, 0, 19, 0, 7, 0,190, 5,190, 0,100, 5,205, 0, 15, 0,
- 0, 0,191, 5, 0, 0,192, 5, 0, 0,193, 5, 2, 0, 19, 0, 2, 0,194, 5, 2, 0,195, 5, 2, 0,104, 1, 2, 0,196, 5,
- 2, 0, 37, 0, 4, 0,197, 5, 4, 0,198, 5, 2, 0,199, 5, 2, 0,200, 5, 0, 0,201, 5, 0, 0,202, 5,206, 0, 12, 0,
-197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 4, 0, 37, 0,205, 0,203, 5,207, 0,204, 5, 12, 0,205, 5,
- 12, 0,206, 5,208, 0,207, 5,195, 0,208, 5,209, 0,209, 5,210, 0, 17, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5,
- 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5, 12, 0,210, 5,211, 0,211, 5, 0, 0,212, 5,212, 0,213, 5,
- 4, 0,214, 5, 4, 0,215, 5, 2, 0, 19, 0, 2, 0,216, 5, 2, 0,217, 5, 2, 0, 37, 0,213, 0, 29, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5, 48, 0,150, 2, 46, 0, 2, 1, 62, 0,218, 5,
- 2, 0,138, 0, 2, 0,219, 5, 2, 0, 70, 0, 2, 0,220, 5, 4, 0, 19, 0, 2, 0,221, 5, 2, 0,170, 5, 2, 0,169, 5,
- 2, 0,161, 1, 0, 0,222, 5, 0, 0,223, 5, 0, 0,224, 5, 0, 0,122, 5, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0,190, 5,
- 7, 0, 65, 1, 7, 0,225, 5, 7, 0,226, 5,190, 0,100, 5,214, 0, 11, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5,
- 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5, 2, 0,168, 5, 2, 0, 19, 0, 4, 0, 37, 0,202, 0,166, 5,198, 0,165, 5,
-215, 0, 27, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5, 43, 0,227, 5,
- 4, 0,228, 5, 4, 0,229, 5, 2, 0, 94, 0, 2, 0,138, 0, 2, 0,230, 5, 0, 0,231, 5, 0, 0,232, 5, 4, 0,233, 5,
- 4, 0,234, 5, 4, 0,235, 5, 4, 0,236, 5, 2, 0,237, 5, 2, 0,238, 5, 7, 0,239, 5, 23, 0,240, 5, 23, 0,241, 5,
- 4, 0,242, 5, 4, 0,243, 5, 0, 0,244, 5, 0, 0,245, 5,216, 0, 10, 0, 27, 0, 31, 0, 9, 0,246, 5, 9, 0,247, 5,
- 9, 0,248, 5, 9, 0,249, 5, 9, 0,250, 5, 4, 0, 94, 0, 4, 0,251, 5, 0, 0,252, 5, 0, 0,253, 5,217, 0, 10, 0,
-197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5,216, 0,254, 5, 2, 0, 94, 0, 2, 0,138, 0,
- 4, 0, 43, 0, 9, 0,255, 5,218, 0, 8, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5,
-198, 0,165, 5, 4, 0, 19, 0, 4, 0, 0, 6,219, 0, 23, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5,
- 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5, 27, 0, 1, 6, 27, 0, 81, 0, 2, 0, 19, 0, 2, 0,138, 0, 7, 0, 2, 6,
- 9, 0, 3, 6, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0, 4, 6, 7, 0, 5, 6, 59, 0, 3, 1, 59, 0, 6, 6, 4, 0, 7, 6,
- 2, 0,178, 5, 2, 0, 37, 0,190, 0,100, 5,220, 0, 10, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5,
- 7, 0,112, 5, 2, 0,113, 5, 2, 0, 19, 0, 2, 0, 32, 3, 4, 0, 37, 0,190, 0,100, 5,221, 0, 42, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5,207, 0,204, 5, 0, 0,191, 5,
- 0, 0,192, 5, 0, 0,193, 5, 2, 0, 17, 0, 2, 0,200, 5, 2, 0, 19, 0, 2, 0,194, 5, 9, 0, 3, 6, 4, 0,197, 5,
- 4, 0, 8, 6, 4, 0, 9, 6, 4, 0,198, 5, 23, 0, 10, 6, 23, 0, 11, 6, 7, 0, 12, 6, 7, 0, 13, 6, 7, 0, 14, 6,
- 7, 0, 2, 6, 2, 0, 15, 6, 2, 0,210, 0, 2, 0,104, 1, 2, 0,196, 5, 2, 0, 37, 0, 2, 0, 43, 0, 2, 0, 16, 6,
- 2, 0, 17, 6, 9, 0, 18, 6, 9, 0, 19, 6, 9, 0, 20, 6, 9, 0, 21, 6, 9, 0, 22, 6, 2, 0, 23, 6, 0, 0,202, 5,
- 58, 0, 24, 6,222, 0, 7, 0,222, 0, 0, 0,222, 0, 1, 0, 4, 0, 25, 6, 4, 0, 23, 0, 0, 0, 88, 0, 4, 0, 26, 6,
- 4, 0, 17, 0,223, 0, 13, 0,197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,
- 4, 0, 17, 0, 4, 0, 27, 6, 4, 0, 19, 0, 4, 0,230, 5, 12, 0, 28, 6, 12, 0, 29, 6, 0, 0, 30, 6,224, 0, 7, 0,
-224, 0, 0, 0,224, 0, 1, 0, 0, 0, 31, 6, 2, 0, 32, 6, 2, 0, 33, 6, 2, 0, 34, 6, 2, 0, 37, 0,225, 0, 12, 0,
- 2, 0, 33, 6, 2, 0, 35, 6, 2, 0, 36, 6, 0, 0,115, 2, 2, 0, 37, 6, 2, 0, 38, 6, 2, 0, 39, 6, 2, 0, 40, 6,
- 2, 0, 41, 6, 2, 0,158, 5, 7, 0, 42, 6, 7, 0, 43, 6,226, 0, 18, 0,226, 0, 0, 0,226, 0, 1, 0, 0, 0,131, 3,
-225, 0, 44, 6,225, 0, 45, 6,225, 0, 46, 6,225, 0, 47, 6, 7, 0, 48, 6, 2, 0, 49, 6, 2, 0, 50, 6, 2, 0, 51, 6,
- 2, 0, 52, 6, 2, 0, 53, 6, 2, 0, 54, 6, 2, 0, 55, 6, 2, 0, 56, 6, 2, 0, 57, 6, 2, 0, 58, 6,227, 0, 10, 0,
- 0, 0, 59, 6, 0, 0, 60, 6, 0, 0, 61, 6, 0, 0, 62, 6, 0, 0, 63, 6, 0, 0, 64, 6, 2, 0, 65, 6, 2, 0, 66, 6,
- 2, 0, 67, 6, 2, 0, 37, 0,228, 0, 8, 0, 0, 0, 68, 6, 0, 0, 69, 6, 0, 0, 70, 6, 0, 0, 71, 6, 0, 0, 72, 6,
- 0, 0, 73, 6, 7, 0, 77, 5, 7, 0, 37, 0,229, 0, 16, 0,227, 0, 74, 6,227, 0, 75, 6,227, 0, 76, 6,227, 0, 77, 6,
-227, 0, 78, 6,227, 0, 79, 6,227, 0, 80, 6,227, 0, 81, 6,227, 0, 82, 6,227, 0, 83, 6,227, 0, 84, 6,227, 0, 85, 6,
-227, 0, 86, 6,227, 0, 87, 6,228, 0, 88, 6, 0, 0, 89, 6,230, 0, 71, 0, 0, 0, 90, 6, 0, 0, 91, 6, 0, 0, 63, 6,
- 0, 0, 92, 6, 0, 0, 93, 6, 0, 0, 94, 6, 0, 0, 95, 6, 0, 0, 96, 6, 0, 0, 97, 6, 0, 0, 98, 6, 0, 0, 99, 6,
- 0, 0,100, 6, 0, 0,101, 6, 0, 0,102, 6, 0, 0,103, 6, 0, 0,104, 6, 0, 0,105, 6, 0, 0,106, 6, 0, 0,107, 6,
- 0, 0,108, 6, 0, 0,109, 6, 0, 0,110, 6, 0, 0,111, 6, 0, 0,112, 6, 0, 0,113, 6, 0, 0,114, 6, 0, 0,115, 6,
- 0, 0,116, 6, 0, 0,117, 6, 0, 0,118, 6, 0, 0,119, 6, 0, 0,120, 6, 0, 0,121, 6, 0, 0,122, 6, 0, 0,123, 6,
- 0, 0,124, 6, 0, 0,125, 6, 0, 0,126, 6, 0, 0,127, 6, 0, 0,128, 6, 0, 0,129, 6, 0, 0,130, 6, 0, 0,131, 6,
- 0, 0,132, 6, 0, 0,133, 6, 0, 0,134, 6, 0, 0,135, 6, 0, 0,136, 6, 0, 0,137, 6, 0, 0,138, 6, 0, 0,139, 6,
- 0, 0,140, 6, 0, 0,141, 6, 0, 0,142, 6, 0, 0,143, 6, 0, 0,144, 6, 0, 0,145, 6, 0, 0,146, 6, 0, 0,147, 6,
- 0, 0,148, 6, 0, 0,149, 6, 0, 0,150, 6, 0, 0,151, 6, 0, 0,152, 6, 0, 0,153, 6, 0, 0,154, 6, 0, 0,155, 6,
- 0, 0,156, 6, 0, 0,157, 6, 0, 0,158, 6, 0, 0, 96, 0,231, 0, 5, 0, 0, 0,159, 6, 0, 0,114, 6, 0, 0,116, 6,
- 2, 0, 19, 0, 2, 0, 37, 0,232, 0, 21, 0,232, 0, 0, 0,232, 0, 1, 0, 0, 0, 20, 0,229, 0,160, 6,230, 0,161, 6,
-230, 0,162, 6,230, 0,163, 6,230, 0,164, 6,230, 0,165, 6,230, 0,166, 6,230, 0,167, 6,230, 0,168, 6,230, 0,169, 6,
-230, 0,170, 6,230, 0,171, 6,230, 0,172, 6,230, 0,173, 6,230, 0,174, 6,230, 0,175, 6,230, 0,176, 6,231, 0,177, 6,
-233, 0, 5, 0, 4, 0, 19, 0, 4, 0, 37, 0, 7, 0, 63, 2, 7, 0,178, 6, 7, 0,228, 1,234, 0, 67, 0, 4, 0, 19, 0,
- 4, 0,179, 6, 4, 0,180, 6, 0, 0,181, 6, 0, 0,182, 6, 0, 0,183, 6, 0, 0,184, 6, 0, 0,185, 6, 0, 0,186, 6,
- 0, 0,187, 6, 0, 0,188, 6, 0, 0,189, 6, 2, 0,190, 6, 2, 0, 37, 0, 4, 0,191, 6, 4, 0,192, 6, 4, 0,193, 6,
- 4, 0,194, 6, 2, 0,195, 6, 2, 0,196, 6, 4, 0,197, 6, 4, 0, 43, 0, 4, 0,198, 6, 2, 0,199, 6, 2, 0,200, 6,
- 2, 0,201, 6, 2, 0,202, 6, 12, 0,203, 6, 12, 0,204, 6, 12, 0,205, 6, 2, 0,206, 6, 2, 0,207, 6, 2, 0,208, 6,
- 2, 0,209, 6, 2, 0,210, 6, 2, 0,211, 6, 2, 0,212, 6, 2, 0,213, 6,233, 0,214, 6, 2, 0,215, 6, 2, 0,216, 6,
- 2, 0,217, 6, 2, 0,218, 6, 2, 0,219, 6, 2, 0,220, 6, 2, 0,221, 6, 2, 0,222, 6, 4, 0,223, 6, 4, 0,224, 6,
- 2, 0,225, 6, 2, 0,226, 6, 2, 0,227, 6, 2, 0,228, 6, 2, 0,229, 6, 2, 0,230, 6, 2, 0,231, 6, 2, 0,232, 6,
- 2, 0,233, 6, 2, 0,234, 6, 2, 0,235, 6, 2, 0,236, 6, 0, 0,237, 6, 0, 0,238, 6, 7, 0,239, 6, 2, 0, 12, 5,
- 2, 0,240, 6, 56, 0,241, 6,200, 0, 21, 0, 27, 0, 31, 0, 12, 0,242, 6, 12, 0,243, 6, 12, 0,244, 6, 12, 0,110, 5,
- 47, 0,139, 0, 47, 0,245, 6, 2, 0,246, 6, 2, 0,247, 6, 2, 0,248, 6, 2, 0,249, 6, 2, 0,250, 6, 2, 0,251, 6,
- 2, 0,252, 6, 2, 0, 37, 0, 2, 0,253, 6, 2, 0,254, 6, 4, 0, 70, 0,195, 0,255, 6, 9, 0, 0, 7, 2, 0, 1, 7,
-235, 0, 5, 0,235, 0, 0, 0,235, 0, 1, 0,235, 0, 2, 7, 13, 0, 3, 7, 4, 0, 19, 0,236, 0, 7, 0,236, 0, 0, 0,
-236, 0, 1, 0,235, 0, 4, 7,235, 0, 5, 7, 2, 0,132, 4, 2, 0, 19, 0, 4, 0, 37, 0,237, 0, 23, 0,237, 0, 0, 0,
-237, 0, 1, 0,238, 0, 6, 7,239, 0,209, 5, 0, 0, 7, 7, 0, 0, 8, 7, 0, 0, 9, 7, 2, 0, 10, 7, 2, 0, 11, 7,
- 2, 0, 12, 7, 2, 0, 13, 7, 2, 0, 14, 7, 2, 0, 37, 0, 2, 0, 19, 0, 2, 0, 15, 7, 2, 0, 16, 7, 2, 0, 17, 7,
- 4, 0, 18, 7,237, 0, 19, 7, 9, 0, 20, 7, 4, 0, 21, 7, 4, 0, 22, 7, 0, 0, 23, 7,240, 0, 2, 0,241, 0, 6, 7,
-239, 0,209, 5,242, 0, 2, 0,243, 0, 6, 7,239, 0,209, 5,244, 0, 23, 0,244, 0, 0, 0,244, 0, 1, 0,235, 0, 4, 7,
-235, 0, 5, 7,235, 0, 24, 7,235, 0, 25, 7,200, 0, 26, 7, 23, 0, 52, 0, 0, 0,111, 5, 0, 0, 27, 7, 2, 0,159, 5,
- 2, 0,160, 5, 2, 0, 28, 7, 2, 0, 37, 0, 2, 0,249, 6, 2, 0, 26, 6, 2, 0, 19, 0, 40, 0,126, 0,245, 0, 6, 7,
- 12, 0, 29, 7, 12, 0,110, 5, 12, 0, 30, 7, 12, 0, 31, 7,246, 0, 21, 0,246, 0, 0, 0,246, 0, 1, 0,198, 0,165, 5,
- 23, 0, 32, 7, 23, 0, 33, 7, 2, 0,159, 5, 2, 0,160, 5, 2, 0, 34, 7, 2, 0, 35, 7, 2, 0, 36, 7, 2, 0, 19, 0,
- 7, 0, 10, 2, 2, 0,248, 6, 2, 0,252, 6, 4, 0, 43, 0,247, 0, 6, 7, 12, 0, 37, 7, 12, 0, 38, 7, 12, 0, 30, 7,
- 0, 0, 39, 7, 9, 0, 40, 7,248, 0, 11, 0, 0, 0, 41, 7, 2, 0, 42, 7, 2, 0, 43, 7, 2, 0, 44, 7, 2, 0, 45, 7,
- 2, 0,121, 4, 2, 0,116, 4,200, 0, 46, 7, 47, 0, 47, 7, 4, 0, 48, 7, 4, 0, 49, 7,249, 0, 1, 0, 0, 0, 50, 7,
-250, 0, 8, 0, 58, 0, 51, 7, 58, 0, 52, 7,250, 0, 53, 7,250, 0, 54, 7,250, 0, 55, 7, 2, 0,134, 0, 2, 0, 19, 0,
- 4, 0, 56, 7,251, 0, 4, 0, 4, 0,228, 5, 4, 0, 57, 7, 4, 0,233, 5, 4, 0, 58, 7,252, 0, 2, 0, 4, 0, 59, 7,
- 4, 0, 60, 7,253, 0, 7, 0, 7, 0, 61, 7, 7, 0, 62, 7, 7, 0, 63, 7, 4, 0, 19, 0, 4, 0, 37, 0, 7, 0, 3, 4,
- 7, 0, 64, 7,254, 0, 6, 0, 0, 0, 65, 7, 0, 0,193, 5, 50, 0,142, 0, 2, 0,110, 0, 2, 0,120, 4, 4, 0, 37, 0,
-255, 0, 21, 0,255, 0, 0, 0,255, 0, 1, 0, 4, 0, 57, 0, 4, 0, 23, 0, 4, 0, 28, 0, 4, 0, 66, 7, 4, 0, 67, 7,
- 4, 0, 68, 7,249, 0, 69, 7, 0, 0, 65, 7, 4, 0, 70, 7, 4, 0, 71, 7,254, 0, 6, 3,251, 0, 72, 7,252, 0, 73, 7,
-253, 0, 74, 7,250, 0, 75, 7,250, 0, 76, 7,250, 0, 77, 7, 58, 0, 78, 7, 58, 0, 79, 7, 0, 1, 12, 0, 0, 0,191, 1,
- 9, 0,196, 0, 0, 0,197, 0, 4, 0,200, 0, 4, 0,208, 0, 9, 0,201, 0, 7, 0,203, 0, 7, 0,204, 0, 9, 0, 80, 7,
- 9, 0, 81, 7, 9, 0,205, 0, 9, 0,207, 0, 1, 1, 43, 0, 1, 1, 0, 0, 1, 1, 1, 0, 9, 0, 82, 7, 9, 0, 26, 0,
- 0, 0, 27, 0, 4, 0, 19, 0, 4, 0, 17, 0, 4, 0, 23, 0, 4, 0, 92, 0, 4, 0, 83, 7, 4, 0, 84, 7, 4, 0, 67, 7,
- 4, 0, 68, 7, 4, 0, 85, 7, 4, 0,219, 0, 4, 0, 86, 7, 4, 0, 87, 7, 7, 0,233, 4, 7, 0, 88, 7, 4, 0,131, 0,
- 4, 0, 89, 7,255, 0, 90, 7, 36, 0, 80, 0, 47, 0,139, 0, 50, 0,142, 0, 7, 0, 91, 7, 7, 0, 92, 7, 0, 1, 4, 1,
- 1, 1, 93, 7, 1, 1, 94, 7, 1, 1, 95, 7, 12, 0, 96, 7, 2, 1, 97, 7, 3, 1, 98, 7, 7, 0, 99, 7, 7, 0,100, 7,
- 4, 0,101, 7, 7, 0,102, 7, 9, 0,103, 7, 4, 0,104, 7, 4, 0,105, 7, 4, 0,106, 7, 7, 0,107, 7, 4, 1, 4, 0,
- 4, 1, 0, 0, 4, 1, 1, 0, 12, 0,108, 7, 1, 1,109, 7,185, 0, 6, 0, 12, 0,110, 7, 12, 0, 96, 7, 12, 0,111, 7,
- 1, 1,112, 7, 0, 0,113, 7, 0, 0,114, 7, 5, 1, 4, 0, 7, 0,115, 7, 7, 0,113, 0, 2, 0,116, 7, 2, 0,117, 7,
- 6, 1, 6, 0, 7, 0,118, 7, 7, 0,119, 7, 7, 0,120, 7, 7, 0,121, 7, 4, 0,122, 7, 4, 0,123, 7, 7, 1, 12, 0,
- 7, 0,124, 7, 7, 0,125, 7, 7, 0,126, 7, 7, 0,127, 7, 7, 0,128, 7, 7, 0,129, 7, 7, 0,130, 7, 7, 0,131, 7,
- 7, 0,132, 7, 7, 0,133, 7, 4, 0,154, 2, 4, 0,134, 7, 8, 1, 2, 0, 7, 0,210, 4, 7, 0, 37, 0, 9, 1, 5, 0,
- 7, 0,135, 7, 7, 0,136, 7, 4, 0, 94, 0, 4, 0,116, 2, 4, 0,137, 7, 10, 1, 6, 0, 10, 1, 0, 0, 10, 1, 1, 0,
- 2, 0, 17, 0, 2, 0, 19, 0, 2, 0,138, 7, 2, 0, 57, 0, 11, 1, 8, 0, 11, 1, 0, 0, 11, 1, 1, 0, 2, 0, 17, 0,
- 2, 0, 19, 0, 2, 0,138, 7, 2, 0, 57, 0, 7, 0, 23, 0, 7, 0,131, 0, 12, 1, 45, 0, 12, 1, 0, 0, 12, 1, 1, 0,
- 2, 0, 17, 0, 2, 0, 19, 0, 2, 0,138, 7, 2, 0,215, 0, 2, 0,177, 3, 2, 0,139, 7, 7, 0,140, 7, 7, 0, 93, 0,
- 7, 0,167, 2, 4, 0,141, 7, 4, 0, 82, 0, 4, 0,118, 2, 7, 0,142, 7, 7, 0,143, 7, 7, 0,144, 7, 7, 0,145, 7,
- 7, 0,146, 7, 7, 0,147, 7, 7, 0,164, 2, 7, 0, 1, 1, 7, 0,148, 7, 7, 0,149, 7, 7, 0, 37, 0, 7, 0,150, 7,
- 7, 0,151, 7, 7, 0,152, 7, 2, 0,153, 7, 2, 0,154, 7, 2, 0,155, 7, 2, 0,156, 7, 2, 0,157, 7, 2, 0,158, 7,
- 2, 0,159, 7, 2, 0,160, 7, 2, 0,123, 5, 2, 0,161, 7, 2, 0,211, 1, 2, 0,162, 7, 0, 0,163, 7, 0, 0,164, 7,
- 7, 0,213, 0, 13, 1,165, 7, 65, 0,164, 1, 14, 1, 16, 0, 14, 1, 0, 0, 14, 1, 1, 0, 2, 0, 17, 0, 2, 0, 19, 0,
- 2, 0,138, 7, 2, 0,215, 0, 7, 0,159, 2, 7, 0,160, 2, 7, 0,161, 2, 7, 0,255, 1, 7, 0,162, 2, 7, 0,163, 2,
- 7, 0,166, 7, 7, 0,164, 2, 7, 0,166, 2, 7, 0,167, 2,212, 0, 5, 0, 2, 0, 17, 0, 2, 0, 56, 7, 2, 0, 19, 0,
- 2, 0,167, 7, 27, 0, 1, 6,211, 0, 3, 0, 4, 0, 69, 0, 4, 0,168, 7,212, 0, 2, 0, 15, 1, 11, 0, 15, 1, 0, 0,
- 15, 1, 1, 0, 0, 0, 20, 0, 2, 0, 17, 0, 2, 0,169, 7, 4, 0, 22, 0, 4, 0,170, 7, 2, 0, 19, 0, 2, 0, 37, 0,
- 9, 0,171, 7, 9, 0,172, 7, 16, 1, 5, 0, 0, 0, 20, 0, 7, 0, 21, 1, 7, 0,173, 7, 4, 0,174, 7, 4, 0, 37, 0,
- 17, 1, 4, 0, 2, 0, 17, 0, 2, 0, 19, 0, 2, 0, 43, 0, 2, 0, 70, 0, 18, 1, 4, 0, 0, 0, 20, 0, 64, 0,175, 7,
- 7, 0, 21, 1, 7, 0, 37, 0, 19, 1, 6, 0, 2, 0,176, 7, 2, 0,177, 7, 2, 0, 17, 0, 2, 0,178, 7, 0, 0,179, 7,
- 0, 0,180, 7, 20, 1, 5, 0, 4, 0, 17, 0, 4, 0, 37, 0, 0, 0, 20, 0, 0, 0,181, 7, 0, 0,182, 7, 21, 1, 3, 0,
- 4, 0, 17, 0, 4, 0, 37, 0, 0, 0, 20, 0, 22, 1, 4, 0, 2, 0,183, 7, 2, 0,184, 7, 2, 0, 19, 0, 2, 0, 37, 0,
- 23, 1, 6, 0, 0, 0, 20, 0, 0, 0,185, 7, 2, 0,186, 7, 2, 0,164, 2, 2, 0, 14, 1, 2, 0, 70, 0, 24, 1, 5, 0,
- 0, 0, 20, 0, 7, 0,113, 0, 7, 0, 5, 4, 2, 0, 19, 0, 2, 0,130, 2, 25, 1, 3, 0, 0, 0, 20, 0, 4, 0,118, 2,
- 4, 0,183, 7, 26, 1, 7, 0, 0, 0, 20, 0, 7, 0, 5, 4, 0, 0,187, 7, 0, 0,188, 7, 2, 0, 14, 1, 2, 0, 43, 0,
- 4, 0,189, 7, 27, 1, 3, 0, 32, 0,190, 7, 0, 0,191, 7, 0, 0,192, 7, 28, 1, 18, 0, 28, 1, 0, 0, 28, 1, 1, 0,
- 2, 0, 17, 0, 2, 0,169, 7, 2, 0, 19, 0, 2, 0,193, 7, 2, 0,194, 7, 2, 0,195, 7, 2, 0, 43, 0, 2, 0, 70, 0,
- 0, 0, 20, 0, 9, 0, 2, 0, 29, 1,196, 7, 32, 0, 45, 0, 2, 0,216, 4, 2, 0, 99, 7, 2, 0,197, 7, 2, 0, 37, 0,
- 30, 1, 11, 0, 0, 0, 20, 0, 0, 0, 17, 0, 0, 0,198, 7, 2, 0, 19, 0, 2, 0,130, 2, 2, 0,199, 7, 4, 0,200, 7,
- 4, 0,201, 7, 4, 0,202, 7, 4, 0,203, 7, 4, 0,204, 7, 31, 1, 1, 0, 0, 0,205, 7, 32, 1, 4, 0, 43, 0,227, 5,
- 0, 0,206, 7, 4, 0, 14, 1, 4, 0, 19, 0, 29, 1, 18, 0, 29, 1, 0, 0, 29, 1, 1, 0, 29, 1,207, 7, 2, 0, 17, 0,
- 2, 0, 19, 0, 2, 0,208, 7, 2, 0,195, 7, 2, 0,169, 7, 2, 0,209, 7, 2, 0, 70, 0, 2, 0,161, 1, 0, 0, 20, 0,
- 9, 0, 2, 0, 33, 1,196, 7, 28, 1,210, 7, 2, 0, 15, 0, 2, 0,211, 7, 4, 0,212, 7, 34, 1, 3, 0, 4, 0,190, 2,
- 4, 0, 37, 0, 32, 0, 45, 0, 35, 1, 12, 0,152, 0,213, 7, 2, 0, 17, 0, 2, 0, 19, 0, 4, 0,140, 7, 4, 0, 93, 0,
- 0, 0, 20, 0, 0, 0,214, 7, 2, 0,215, 7, 2, 0,216, 7, 2, 0,217, 7, 2, 0,218, 7, 7, 0,219, 7, 36, 1, 10, 0,
- 2, 0, 19, 0, 2, 0,220, 7, 4, 0,140, 7, 4, 0, 93, 0, 2, 0,221, 7, 2, 1, 97, 7, 2, 0, 17, 0, 2, 0,222, 7,
- 2, 0,223, 7, 2, 0,224, 7, 37, 1, 7, 0, 2, 0, 19, 0, 2, 0,220, 7, 4, 0,140, 7, 4, 0, 93, 0, 2, 0, 17, 0,
- 2, 0,225, 7, 7, 0,137, 3, 38, 1, 11, 0, 4, 0,190, 2, 2, 0, 17, 0, 2, 0, 19, 0, 32, 0, 45, 0, 78, 0,226, 7,
- 0, 0, 20, 0, 7, 0,227, 7, 7, 0,228, 7, 7, 0, 40, 3, 2, 0,229, 7, 2, 0,230, 7, 39, 1, 5, 0, 2, 0, 17, 0,
- 2, 0, 19, 0, 4, 0, 37, 0, 47, 0,139, 0, 32, 0, 55, 5, 40, 1, 5, 0, 4, 0, 19, 0, 4, 0, 17, 0, 0, 0, 20, 0,
- 0, 0,181, 7, 32, 0, 45, 0, 41, 1, 13, 0, 2, 0, 19, 0, 2, 0, 17, 0, 2, 0,169, 7, 2, 0, 41, 3, 7, 0,231, 7,
- 7, 0,232, 7, 7, 0, 9, 1, 7, 0, 10, 1, 7, 0, 17, 3, 7, 0, 20, 3, 7, 0,233, 7, 7, 0,234, 7, 32, 0,235, 7,
- 42, 1, 10, 0, 2, 0, 19, 0, 2, 0, 17, 0, 4, 0,140, 7, 4, 0, 93, 0, 0, 0, 20, 0, 0, 0,214, 7, 2, 0, 43, 0,
- 2, 0, 64, 0, 2, 0,236, 7, 2, 0,237, 7, 43, 1, 8, 0, 32, 0, 45, 0, 7, 0,161, 2, 7, 0,238, 7, 7, 0,239, 7,
- 7, 0,156, 2, 2, 0, 19, 0, 2, 0,130, 2, 7, 0,240, 7, 44, 1, 12, 0, 2, 0, 17, 0, 2, 0, 14, 1, 2, 0, 19, 0,
- 2, 0,164, 2, 2, 0,190, 2, 2, 0,241, 7, 4, 0, 37, 0, 7, 0,242, 7, 7, 0,243, 7, 7, 0,244, 7, 7, 0,245, 7,
- 0, 0,246, 7, 45, 1, 10, 0, 2, 0, 19, 0, 2, 0, 17, 0, 4, 0,140, 7, 4, 0, 93, 0, 0, 0, 20, 0, 2, 0, 81, 4,
- 2, 0, 64, 0, 2, 0,236, 7, 2, 0,237, 7, 65, 0,164, 1, 46, 1, 7, 0, 4, 0,118, 2, 4, 0,247, 7, 4, 0,248, 7,
- 4, 0,249, 7, 7, 0,250, 7, 7, 0,251, 7, 0, 0,187, 7, 47, 1, 7, 0, 0, 0,252, 7, 32, 0,253, 7, 0, 0,191, 7,
- 2, 0,254, 7, 2, 0, 43, 0, 4, 0, 70, 0, 0, 0,192, 7, 48, 1, 6, 0, 2, 0, 19, 0, 2, 0, 17, 0, 4, 0,140, 7,
- 4, 0, 93, 0, 0, 0,255, 7, 0, 0, 0, 8, 49, 1, 1, 0, 4, 0, 19, 0, 50, 1, 6, 0, 0, 0, 96, 0, 2, 0, 17, 0,
- 2, 0, 19, 0, 4, 0, 1, 8, 7, 0, 2, 8, 43, 0,227, 5, 51, 1, 4, 0, 0, 0,184, 0, 2, 0, 19, 0, 4, 0, 17, 0,
- 32, 0, 45, 0, 52, 1, 2, 0, 4, 0, 17, 0, 4, 0,148, 5, 33, 1, 10, 0, 33, 1, 0, 0, 33, 1, 1, 0, 33, 1,207, 7,
- 2, 0, 17, 0, 2, 0, 19, 0, 2, 0,169, 7, 2, 0, 3, 8, 0, 0, 20, 0, 9, 0, 2, 0, 32, 0, 45, 0, 53, 1, 10, 0,
- 7, 0, 40, 3, 7, 0, 4, 8, 7, 0, 5, 8, 7, 0, 6, 8, 7, 0, 7, 8, 4, 0, 19, 0, 7, 0,241, 7, 7, 0, 8, 8,
- 7, 0, 9, 8, 7, 0, 37, 0, 2, 1, 20, 0, 27, 0, 31, 0, 0, 0,195, 0, 54, 1, 10, 8, 9, 0, 11, 8, 44, 0,154, 0,
- 44, 0, 12, 8, 9, 0, 13, 8, 36, 0, 80, 0, 7, 0,137, 3, 7, 0, 14, 8, 7, 0, 15, 8, 7, 0, 16, 8, 7, 0, 17, 8,
- 7, 0, 18, 8, 7, 0, 19, 8, 4, 0, 94, 0, 4, 0, 20, 8, 0, 0, 21, 8, 0, 0, 22, 8, 0, 0, 23, 8, 55, 1, 6, 0,
- 27, 0, 31, 0, 7, 0, 24, 8, 7, 0, 25, 8, 7, 0, 26, 8, 2, 0, 27, 8, 2, 0, 28, 8, 56, 1, 15, 0,197, 0, 0, 0,
-197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5,244, 0, 29, 8,198, 0,165, 5, 2, 1, 97, 7, 2, 0, 14, 1,
- 2, 0,220, 7, 2, 0, 14, 2, 2, 0, 15, 2, 2, 0, 19, 0, 2, 0,170, 5, 4, 0, 70, 0, 57, 1, 6, 0, 57, 1, 0, 0,
- 57, 1, 1, 0, 32, 0, 45, 0, 9, 0, 30, 8, 4, 0,220, 0, 4, 0, 37, 0, 65, 0, 4, 0, 27, 0, 31, 0, 12, 0, 31, 8,
- 4, 0,136, 0, 7, 0, 32, 8, 58, 1, 25, 0, 58, 1, 0, 0, 58, 1, 1, 0, 58, 1, 38, 0, 12, 0, 33, 8, 0, 0, 20, 0,
- 7, 0, 34, 8, 7, 0, 35, 8, 7, 0, 36, 8, 7, 0, 37, 8, 4, 0, 19, 0, 7, 0, 38, 8, 7, 0, 39, 8, 7, 0, 40, 8,
- 7, 0, 21, 1, 7, 0,220, 1, 7, 0, 41, 8, 7, 0,116, 2, 7, 0, 42, 8, 7, 0, 43, 8, 7, 0, 44, 8, 7, 0, 45, 8,
- 7, 0, 46, 8, 7, 0,177, 0, 2, 0,136, 0, 2, 0,249, 4, 59, 1, 20, 0, 27, 0, 31, 0, 12, 0, 47, 8, 12, 0, 48, 8,
- 12, 0, 49, 8, 4, 0, 19, 0, 4, 0,119, 5, 2, 0,168, 2, 2, 0,184, 5, 2, 0,136, 0, 2, 0, 50, 8, 2, 0, 51, 8,
- 2, 0, 52, 8, 2, 0, 53, 8, 2, 0, 54, 8, 4, 0, 55, 8, 4, 0, 56, 8, 4, 0, 57, 8, 4, 0, 58, 8, 4, 0, 59, 8,
- 4, 0, 60, 8, 60, 1, 38, 0, 60, 1, 0, 0, 60, 1, 1, 0, 26, 0, 61, 8, 12, 0, 67, 3, 0, 0, 20, 0, 2, 0, 19, 0,
- 2, 0, 62, 8, 2, 0, 63, 8, 2, 0, 64, 8, 2, 0, 26, 3, 2, 0, 65, 8, 4, 0,253, 1, 4, 0, 57, 8, 4, 0, 58, 8,
- 58, 1, 66, 8, 60, 1, 38, 0, 60, 1, 67, 8, 12, 0, 68, 8, 9, 0, 69, 8, 9, 0, 70, 8, 9, 0, 71, 8, 7, 0, 9, 1,
- 7, 0,177, 0, 7, 0, 72, 8, 7, 0,201, 1, 2, 0, 73, 8, 2, 0, 37, 0, 7, 0, 74, 8, 7, 0, 75, 8, 7, 0, 22, 3,
- 7, 0, 76, 8, 7, 0, 77, 8, 7, 0, 78, 8, 7, 0, 79, 8, 7, 0, 80, 8, 7, 0, 81, 8, 7, 0,250, 1, 32, 0, 82, 8,
-153, 0, 9, 0, 12, 0, 83, 8, 2, 0, 19, 0, 2, 0, 84, 8, 7, 0, 26, 2, 7, 0, 85, 8, 7, 0, 86, 8, 12, 0, 87, 8,
- 4, 0, 88, 8, 4, 0, 37, 0, 61, 1, 7, 0, 61, 1, 0, 0, 61, 1, 1, 0, 12, 0, 21, 8, 4, 0, 19, 0, 4, 0, 89, 8,
- 0, 0,131, 3,231, 0, 90, 8,152, 0, 7, 0, 27, 0, 31, 0, 12, 0, 91, 8, 12, 0, 83, 8, 12, 0, 92, 8, 12, 0,104, 0,
- 4, 0, 19, 0, 4, 0, 93, 8,202, 0, 4, 0, 27, 0, 94, 8, 12, 0, 83, 8, 4, 0, 95, 8, 4, 0, 19, 0, 62, 1, 17, 0,
-197, 0, 0, 0,197, 0, 1, 0, 12, 0,110, 5, 4, 0,111, 5, 7, 0,112, 5, 2, 0,113, 5,198, 0,165, 5,152, 0, 9, 3,
-202, 0, 96, 8, 0, 0, 14, 1, 0, 0,168, 5, 2, 0, 19, 0, 2, 0, 97, 8, 2, 0,169, 5, 2, 0,170, 5, 2, 0, 98, 8,
- 7, 0, 99, 8, 63, 1, 8, 0, 63, 1, 0, 0, 63, 1, 1, 0, 61, 1,100, 8, 36, 0, 80, 0, 12, 0, 12, 3, 4, 0, 19, 0,
- 0, 0, 20, 0, 4, 0,101, 8, 64, 1, 5, 0, 64, 1, 0, 0, 64, 1, 1, 0, 36, 0, 80, 0, 2, 0, 19, 0, 0, 0,102, 8,
- 65, 1, 12, 0, 65, 1, 0, 0, 65, 1, 1, 0, 9, 0, 2, 0, 2, 0, 17, 0, 2, 0, 19, 0, 0, 0,103, 8, 0, 0,104, 8,
- 0, 0,102, 8, 7, 0,105, 8, 7, 0,106, 8, 4, 0, 37, 0, 36, 0, 80, 0, 66, 1, 9, 0, 66, 1, 0, 0, 66, 1, 1, 0,
- 32, 0,107, 8, 0, 0,108, 8, 7, 0,109, 8, 2, 0,110, 8, 2, 0, 19, 0, 2, 0, 17, 0, 2, 0, 37, 0, 67, 1, 7, 0,
- 43, 0,227, 5, 26, 0, 61, 8, 4, 0, 19, 0, 4, 0,111, 8, 12, 0,112, 8, 32, 0,107, 8, 0, 0,108, 8, 68, 1, 12, 0,
- 32, 0,107, 8, 2, 0,113, 8, 2, 0, 19, 0, 2, 0,114, 8, 2, 0,115, 8, 0, 0,108, 8, 32, 0,116, 8, 0, 0,117, 8,
- 7, 0,118, 8, 7, 0,220, 1, 7, 0,119, 8, 7, 0,120, 8, 69, 1, 6, 0, 32, 0,107, 8, 4, 0,121, 8, 4, 0,122, 8,
- 4, 0, 94, 0, 4, 0, 37, 0, 0, 0,108, 8, 70, 1, 4, 0, 32, 0,107, 8, 4, 0, 19, 0, 4, 0,121, 8, 0, 0,108, 8,
- 71, 1, 4, 0, 32, 0,107, 8, 4, 0, 19, 0, 4, 0,121, 8, 0, 0,108, 8, 72, 1, 10, 0, 32, 0,107, 8, 4, 0,123, 8,
- 7, 0,130, 0, 4, 0, 19, 0, 2, 0,223, 5, 2, 0,124, 8, 2, 0, 43, 0, 2, 0, 70, 0, 7, 0,125, 8, 0, 0,108, 8,
- 73, 1, 4, 0, 32, 0,107, 8, 4, 0, 19, 0, 4, 0,121, 8, 0, 0,108, 8, 74, 1, 10, 0, 32, 0,107, 8, 2, 0, 17, 0,
- 2, 0,183, 3, 4, 0, 92, 0, 4, 0, 93, 0, 7, 0,238, 7, 7, 0,239, 7, 4, 0, 37, 0,152, 0,213, 7, 0, 0,108, 8,
- 75, 1, 4, 0, 32, 0,107, 8, 4, 0, 27, 3, 4, 0,126, 8, 0, 0,108, 8, 76, 1, 5, 0, 32, 0,107, 8, 7, 0,130, 0,
- 4, 0,127, 8, 4, 0, 27, 3, 4, 0, 28, 3, 77, 1, 6, 0, 32, 0,107, 8, 4, 0,128, 8, 4, 0,129, 8, 7, 0,130, 8,
- 7, 0,131, 8, 0, 0,108, 8, 78, 1, 16, 0, 32, 0,107, 8, 32, 0, 67, 8, 4, 0, 17, 0, 7, 0,132, 8, 7, 0,133, 8,
- 7, 0,134, 8, 7, 0,135, 8, 7, 0,136, 8, 7, 0,137, 8, 7, 0,138, 8, 7, 0,139, 8, 7, 0,140, 8, 2, 0, 19, 0,
- 2, 0, 37, 0, 2, 0, 43, 0, 2, 0, 70, 0, 79, 1, 3, 0, 32, 0,107, 8, 4, 0, 19, 0, 4, 0,123, 5, 80, 1, 5, 0,
- 32, 0,107, 8, 4, 0, 19, 0, 4, 0, 37, 0, 7, 0,141, 8, 0, 0,108, 8, 81, 1, 10, 0, 32, 0,107, 8, 0, 0,108, 8,
- 2, 0,142, 8, 2, 0,143, 8, 0, 0,144, 8, 0, 0,145, 8, 7, 0,146, 8, 7, 0,147, 8, 7, 0,148, 8, 7, 0,149, 8,
- 82, 1, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 12, 0, 7, 0,150, 8, 7, 0,151, 8, 2, 0, 19, 0,
- 2, 0,123, 5, 83, 1, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 12, 0, 7, 0,150, 8, 7, 0,151, 8,
- 2, 0, 19, 0, 2, 0,123, 5, 84, 1, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0, 11, 0, 7, 0, 12, 0, 7, 0,150, 8,
- 7, 0,151, 8, 2, 0, 19, 0, 2, 0,123, 5, 85, 1, 7, 0, 32, 0,107, 8, 0, 0,108, 8, 7, 0, 21, 1, 7, 0, 31, 1,
- 2, 0, 19, 0, 2, 0, 14, 1, 4, 0, 37, 0, 86, 1, 5, 0, 32, 0,226, 2, 7, 0, 21, 1, 2, 0,230, 2, 0, 0,232, 2,
- 0, 0,152, 8, 87, 1, 10, 0, 87, 1, 0, 0, 87, 1, 1, 0, 2, 0, 17, 0, 2, 0, 19, 0, 0, 0,153, 8, 7, 0,222, 0,
- 7, 0,223, 0, 2, 0, 21, 8, 2, 0,154, 8, 32, 0, 45, 0, 88, 1, 22, 0, 88, 1, 0, 0, 88, 1, 1, 0, 2, 0, 19, 0,
- 2, 0, 14, 1, 2, 0,155, 8, 2, 0,156, 8, 36, 0, 80, 0,152, 0,213, 7, 32, 0,169, 0, 7, 0, 92, 0, 7, 0, 93, 0,
- 7, 0,157, 8, 7, 0,158, 8, 7, 0,159, 8, 7, 0,160, 8, 7, 0,157, 2, 7, 0,161, 8, 7, 0,215, 7, 7, 0,162, 8,
- 0, 0,163, 8, 0, 0,164, 8, 12, 0, 14, 3, 89, 1, 8, 0, 7, 0,228, 1, 7, 0,238, 7, 7, 0,239, 7, 9, 0, 2, 0,
- 2, 0,165, 8, 2, 0,166, 8, 2, 0,167, 8, 2, 0,168, 8, 90, 1, 18, 0, 90, 1, 0, 0, 90, 1, 1, 0, 90, 1,169, 8,
- 0, 0, 20, 0, 89, 1,170, 8, 2, 0, 17, 0, 2, 0, 19, 0, 2, 0,171, 8, 2, 0,172, 8, 2, 0,173, 8, 2, 0,174, 8,
- 4, 0, 43, 0, 7, 0,175, 8, 7, 0,176, 8, 4, 0,177, 8, 4, 0,178, 8, 90, 1,179, 8, 91, 1,180, 8, 92, 1, 33, 0,
- 92, 1, 0, 0, 92, 1, 1, 0, 92, 1,181, 8, 0, 0, 20, 0, 0, 0,182, 8, 2, 0, 17, 0, 2, 0, 19, 0, 2, 0, 66, 7,
- 2, 0, 99, 7, 2, 0,183, 8, 2, 0,138, 0, 2, 0,172, 8, 2, 0, 56, 7, 12, 0,208, 7, 12, 0,184, 8, 27, 0, 1, 6,
- 9, 0,185, 8, 7, 0,175, 8, 7, 0,176, 8, 7, 0,255, 1, 7, 0,186, 8, 2, 0,187, 8, 2, 0,188, 8, 7, 0,189, 8,
- 7, 0,190, 8, 2, 0,191, 8, 2, 0,192, 8, 9, 0,193, 8, 24, 0,194, 8, 24, 0,195, 8, 24, 0,196, 8, 93, 1,155, 0,
- 94, 1,197, 8, 91, 1, 8, 0, 91, 1, 0, 0, 91, 1, 1, 0, 92, 1,198, 8, 92, 1,199, 8, 90, 1,200, 8, 90, 1,179, 8,
- 4, 0, 19, 0, 4, 0, 37, 0, 59, 0, 20, 0, 27, 0, 31, 0, 39, 0, 75, 0, 12, 0,201, 8, 12, 0,202, 8, 89, 1,203, 8,
- 12, 0,204, 8, 4, 0, 17, 0, 4, 0,205, 8, 4, 0,206, 8, 4, 0,207, 8, 12, 0,208, 8, 94, 1,209, 8, 90, 1,210, 8,
- 90, 1,211, 8, 9, 0,212, 8, 9, 0,213, 8, 4, 0,214, 8, 9, 0,215, 8, 9, 0,216, 8, 9, 0,217, 8, 95, 1, 6, 0,
- 4, 0,129, 0, 4, 0,131, 0, 4, 0, 56, 7, 0, 0,218, 8, 0, 0,219, 8, 2, 0, 37, 0, 96, 1, 16, 0, 2, 0, 12, 7,
- 2, 0, 13, 7, 2, 0,220, 8, 2, 0, 5, 8, 2, 0,221, 8, 2, 0, 68, 0, 7, 0,156, 2, 7, 0,222, 8, 7, 0,223, 8,
- 2, 0, 35, 1, 0, 0,224, 8, 0, 0,232, 4, 2, 0,225, 8, 2, 0, 37, 0, 4, 0,226, 8, 4, 0,227, 8, 97, 1, 9, 0,
- 7, 0,228, 8, 7, 0,229, 8, 7, 0, 19, 8, 7, 0,113, 0, 7, 0,230, 8, 7, 0,190, 5, 2, 0,231, 8, 0, 0,232, 8,
- 0, 0, 37, 0, 98, 1, 4, 0, 7, 0,233, 8, 7, 0,234, 8, 2, 0,231, 8, 2, 0, 37, 0, 99, 1, 3, 0, 7, 0,235, 8,
- 7, 0,236, 8, 7, 0, 15, 0,100, 1, 7, 0, 0, 0,191, 1, 2, 0,118, 4, 2, 0,119, 4, 2, 0,120, 4, 2, 0, 69, 4,
- 4, 0,131, 0, 4, 0,181, 3,101, 1, 7, 0, 7, 0,237, 8, 7, 0,238, 8, 7, 0,239, 8, 7, 0, 10, 2, 7, 0,240, 8,
- 7, 0,241, 8, 7, 0,242, 8,102, 1, 4, 0, 2, 0,243, 8, 2, 0,244, 8, 2, 0,245, 8, 2, 0,246, 8,103, 1, 2, 0,
- 7, 0, 5, 0, 7, 0, 6, 0,104, 1, 2, 0, 0, 0,171, 0, 0, 0,247, 8,105, 1, 1, 0, 0, 0, 20, 0,106, 1, 10, 0,
- 0, 0,248, 8, 0, 0,249, 8, 0, 0,173, 5, 0, 0,250, 8, 2, 0,220, 8, 2, 0,251, 8, 7, 0,252, 8, 7, 0,253, 8,
- 7, 0,254, 8, 7, 0,161, 8,107, 1, 2, 0, 9, 0,255, 8, 9, 0, 0, 9,108, 1, 11, 0, 0, 0,120, 4, 0, 0, 17, 0,
- 0, 0,231, 8, 0, 0,113, 0, 0, 0, 1, 9, 0, 0,110, 0, 0, 0,184, 0, 7, 0, 2, 9, 7, 0, 3, 9, 7, 0, 4, 9,
- 7, 0, 5, 9,109, 1, 8, 0, 7, 0,176, 7, 7, 0,130, 0, 7, 0,232, 4, 7, 0, 82, 2, 7, 0, 6, 9, 7, 0,209, 0,
- 7, 0, 7, 9, 4, 0, 17, 0,110, 1, 4, 0, 2, 0, 8, 9, 2, 0, 9, 9, 2, 0, 10, 9, 2, 0, 37, 0,111, 1, 1, 0,
- 0, 0, 20, 0,112, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 19, 0, 2, 0, 11, 9,113, 1, 10, 0, 2, 0,122, 3,
- 2, 0, 19, 0, 7, 0, 5, 4, 7, 0, 12, 9, 7, 0, 13, 9, 7, 0, 14, 9, 7, 0, 15, 9,112, 1, 16, 9,112, 1, 17, 9,
-112, 1, 18, 9, 62, 0, 9, 0, 4, 0, 19, 0, 4, 0, 64, 0, 24, 0, 19, 9, 24, 0, 20, 9,113, 1, 21, 9, 7, 0, 22, 9,
- 7, 0, 23, 9, 7, 0, 24, 9, 7, 0, 25, 9,114, 1, 4, 0, 48, 0,150, 2, 7, 0, 26, 9, 7, 0, 94, 1, 7, 0, 37, 0,
-176, 0, 17, 0, 27, 0, 31, 0,114, 1, 27, 9, 62, 0, 16, 9, 52, 0, 78, 1, 2, 0, 19, 0, 2, 0, 77, 5, 4, 0,110, 0,
- 7, 0, 28, 9, 7, 0, 7, 2, 7, 0, 29, 9, 7, 0, 30, 9, 7, 0, 94, 1, 7, 0, 31, 9, 2, 0, 48, 1, 0, 0, 32, 9,
- 0, 0,115, 3, 0, 0, 96, 0,115, 1, 10, 0, 4, 0, 17, 0, 4, 0,130, 0, 4, 0, 19, 0, 4, 0, 88, 3, 4, 0, 33, 9,
- 4, 0, 34, 9, 4, 0, 35, 9, 0, 0, 96, 0, 0, 0, 20, 0, 9, 0, 2, 0, 89, 0, 6, 0,115, 1, 36, 9, 4, 0, 37, 9,
- 4, 0, 38, 9, 4, 0, 39, 9, 4, 0, 37, 0, 9, 0, 40, 9,116, 1, 5, 0, 7, 0, 77, 2, 7, 0,190, 2, 7, 0,220, 1,
- 2, 0, 41, 9, 2, 0, 37, 0,117, 1, 5, 0, 7, 0, 77, 2, 7, 0, 42, 9, 7, 0, 43, 9, 7, 0, 44, 9, 7, 0,190, 2,
-118, 1, 7, 0, 4, 0, 45, 9, 4, 0, 46, 9, 4, 0, 47, 9, 7, 0, 48, 9, 7, 0, 49, 9, 7, 0, 50, 9, 7, 0, 51, 9,
-119, 1, 8, 0,119, 1, 0, 0,119, 1, 1, 0, 32, 0, 45, 0, 4, 0,213, 2, 2, 0, 19, 0, 2, 0, 57, 0, 7, 0,190, 2,
- 7, 0,184, 7,120, 1, 26, 0, 32, 0, 52, 9,117, 1, 84, 3,117, 1, 53, 9,116, 1, 54, 9,117, 1,165, 7, 7, 0, 55, 9,
- 7, 0, 56, 9, 7, 0, 57, 9, 7, 0, 58, 9, 7, 0, 49, 9, 7, 0, 50, 9, 7, 0,190, 2, 7, 0,167, 2, 7, 0, 59, 9,
- 7, 0, 60, 9, 7, 0,110, 0, 7, 0, 61, 9, 4, 0, 45, 9, 4, 0, 62, 9, 4, 0, 37, 0, 4, 0, 82, 0, 4, 0, 63, 9,
- 2, 0, 19, 0, 2, 0, 64, 9, 2, 0, 65, 9, 2, 0,118, 3,121, 1,117, 0, 27, 0, 31, 0, 39, 0, 75, 0, 4, 0, 19, 0,
- 2, 0, 17, 0, 2, 0,142, 8, 2, 0, 66, 9, 2, 0, 67, 9, 2, 0, 73, 8, 2, 0, 68, 9, 2, 0, 69, 9, 2, 0, 70, 9,
- 2, 0, 71, 9, 2, 0, 72, 9, 2, 0, 73, 9, 2, 0, 74, 9, 2, 0, 75, 9, 2, 0, 76, 9, 2, 0, 77, 9, 2, 0, 78, 9,
- 2, 0, 79, 9, 2, 0, 80, 9, 2, 0, 81, 9, 2, 0,211, 1, 2, 0,158, 7, 2, 0,134, 7, 2, 0, 82, 9, 2, 0, 83, 9,
- 2, 0,116, 3, 2, 0,117, 3, 2, 0, 84, 9, 2, 0, 85, 9, 2, 0, 86, 9, 2, 0, 87, 9, 2, 0, 88, 9, 2, 0, 89, 9,
- 7, 0, 90, 9, 7, 0, 91, 9, 7, 0, 92, 9, 2, 0, 93, 9, 2, 0, 94, 9, 7, 0, 95, 9, 7, 0, 96, 9, 7, 0, 97, 9,
- 7, 0,140, 7, 7, 0, 93, 0, 7, 0,167, 2, 7, 0,146, 7, 7, 0, 98, 9, 7, 0, 99, 9, 7, 0,100, 9, 4, 0,141, 7,
- 4, 0,139, 7, 4, 0,101, 9, 7, 0,142, 7, 7, 0,143, 7, 7, 0,144, 7, 7, 0,102, 9, 7, 0,103, 9, 7, 0,104, 9,
- 7, 0,105, 9, 7, 0,106, 9, 7, 0,107, 9, 7, 0,108, 9, 7, 0,109, 9, 7, 0, 40, 3, 7, 0,110, 0, 7, 0,110, 9,
- 7, 0,111, 9, 7, 0,112, 9, 7, 0,113, 9, 7, 0,114, 9, 7, 0,115, 9, 7, 0,116, 9, 4, 0,117, 9, 4, 0,118, 9,
- 7, 0,119, 9, 7, 0,120, 9, 7, 0,121, 9, 7, 0,122, 9, 7, 0,123, 9, 7, 0, 57, 0, 7, 0,124, 9, 7, 0,125, 9,
- 7, 0,112, 3, 7, 0,110, 3, 7, 0,111, 3, 7, 0,126, 9, 7, 0,127, 9, 7, 0,128, 9, 7, 0,129, 9, 7, 0,130, 9,
- 7, 0,131, 9, 7, 0,132, 9, 7, 0,133, 9, 7, 0,134, 9, 7, 0,135, 9, 7, 0,136, 9, 7, 0,137, 9, 7, 0,138, 9,
- 4, 0,139, 9, 4, 0,140, 9, 7, 0, 47, 3, 7, 0,141, 9, 7, 0,142, 9, 7, 0,143, 9, 7, 0,144, 9, 7, 0,145, 9,
- 7, 0,146, 9, 7, 0,147, 9, 0, 0,148, 9, 65, 0, 73, 3, 65, 0,149, 9, 32, 0,150, 9, 32, 0,151, 9, 36, 0, 80, 0,
-155, 0, 71, 3,155, 0,152, 9,142, 0, 39, 0,142, 0, 0, 0,142, 0, 1, 0,121, 1,153, 9,120, 1,163, 3,118, 1, 67, 8,
-122, 1,154, 9, 9, 0,155, 9,123, 1,156, 9,123, 1,157, 9, 12, 0,158, 9, 12, 0,159, 9,156, 0, 72, 3, 32, 0,160, 9,
- 32, 0,161, 9, 32, 0, 38, 0, 12, 0,162, 9, 12, 0,163, 9, 12, 0,164, 9, 7, 0,213, 0, 7, 0, 92, 4, 4, 0,118, 2,
- 4, 0, 19, 0, 4, 0,141, 7, 4, 0,165, 9, 4, 0,166, 9, 4, 0,167, 9, 4, 0, 57, 0, 2, 0,220, 0, 2, 0,168, 9,
- 2, 0,169, 9, 2, 0, 65, 3, 2, 0,170, 9, 2, 0,118, 3, 0, 0,171, 9, 2, 0,172, 9, 2, 0,173, 9, 2, 0,174, 9,
- 9, 0,175, 9,131, 0,202, 3,129, 0, 34, 0,124, 1,176, 9, 7, 0,174, 3, 7, 0,177, 9, 7, 0,178, 9, 7, 0, 8, 4,
- 7, 0,179, 9, 7, 0, 50, 3, 7, 0, 40, 3, 7, 0,180, 9, 7, 0, 9, 2, 7, 0,181, 9, 7, 0,182, 9, 7, 0,183, 9,
- 7, 0,184, 9, 7, 0,185, 9, 7, 0,186, 9, 7, 0,175, 3, 7, 0,187, 9, 7, 0,188, 9, 7, 0,189, 9, 7, 0,176, 3,
- 7, 0,172, 3, 7, 0,173, 3, 4, 0,190, 9, 4, 0, 94, 0, 4, 0,191, 9, 4, 0,192, 9, 2, 0,193, 9, 2, 0,194, 9,
- 2, 0,195, 9, 2, 0,196, 9, 2, 0,197, 9, 2, 0, 37, 0, 4, 0, 70, 0,130, 0, 8, 0,124, 1,198, 9, 7, 0,199, 9,
- 7, 0,200, 9, 7, 0,165, 1, 7, 0,201, 9, 4, 0, 94, 0, 2, 0,202, 9, 2, 0,203, 9,125, 1, 4, 0, 7, 0, 5, 0,
- 7, 0, 6, 0, 7, 0, 7, 0, 7, 0,204, 9,126, 1, 6, 0,126, 1, 0, 0,126, 1, 1, 0,125, 1,205, 9, 4, 0,206, 9,
- 2, 0,207, 9, 2, 0, 19, 0,127, 1, 5, 0,127, 1, 0, 0,127, 1, 1, 0, 12, 0,208, 9, 4, 0,209, 9, 4, 0, 19, 0,
-128, 1, 9, 0,128, 1, 0, 0,128, 1, 1, 0, 12, 0,129, 0,127, 1,210, 9, 4, 0, 19, 0, 2, 0,207, 9, 2, 0,211, 9,
- 7, 0, 95, 0, 0, 0,212, 9,190, 0, 6, 0, 27, 0, 31, 0, 12, 0,134, 4, 4, 0, 19, 0, 2, 0,213, 9, 2, 0,214, 9,
- 9, 0,215, 9,129, 1, 6, 0,129, 1, 0, 0,129, 1, 1, 0, 4, 0, 17, 0, 4, 0, 23, 0, 0, 0,216, 9, 0, 0,217, 9,
-130, 1, 5, 0, 12, 0,218, 9, 4, 0,219, 9, 4, 0,220, 9, 4, 0, 19, 0, 4, 0, 37, 0,131, 1, 13, 0, 27, 0, 31, 0,
-132, 1,221, 9,132, 1,222, 9, 12, 0,223, 9, 4, 0,224, 9, 2, 0,225, 9, 2, 0, 37, 0, 12, 0,226, 9, 12, 0,227, 9,
-130, 1,228, 9, 12, 0,229, 9, 12, 0,230, 9, 12, 0,231, 9,132, 1, 30, 0,132, 1, 0, 0,132, 1, 1, 0, 9, 0,232, 9,
- 4, 0,247, 6, 4, 0, 37, 0,200, 0,164, 5,200, 0,233, 9, 0, 0,234, 9, 2, 0,235, 9, 2, 0,236, 9, 2, 0, 12, 7,
- 2, 0, 13, 7, 2, 0,237, 9, 2, 0,238, 9, 2, 0, 88, 3, 2, 0, 26, 6, 2, 0,239, 9, 2, 0,240, 9, 4, 0,161, 1,
-133, 1,241, 9,134, 1,242, 9,135, 1,243, 9, 4, 0,244, 9, 4, 0,245, 9, 9, 0,246, 9, 12, 0,247, 9, 12, 0,227, 9,
- 12, 0, 30, 7, 12, 0,248, 9, 12, 0,249, 9,136, 1, 12, 0,136, 1, 0, 0,136, 1, 1, 0, 0, 0,250, 9,137, 1,251, 9,
- 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,252, 9, 2, 0,253, 9, 2, 0,254, 9, 2, 0,255, 9, 2, 0, 0, 10, 2, 0, 37, 0,
-138, 1, 6, 0,138, 1, 0, 0,138, 1, 1, 0, 12, 0, 1, 10, 0, 0, 2, 10, 4, 0, 3, 10, 4, 0, 4, 10,208, 0, 8, 0,
-208, 0, 0, 0,208, 0, 1, 0, 0, 0,250, 9, 26, 0, 30, 0,139, 1, 6, 7, 9, 0, 5, 10,137, 1,251, 9,130, 1, 6, 10,
-133, 1, 23, 0,133, 1, 0, 0,133, 1, 1, 0, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0, 5, 0, 2, 0, 6, 0, 2, 0, 7, 10,
- 2, 0, 8, 10, 2, 0, 9, 10, 2, 0, 10, 10, 0, 0, 11, 10, 0, 0, 37, 0, 2, 0,252, 9, 2, 0,253, 9, 2, 0,254, 9,
- 2, 0,255, 9, 2, 0, 0, 10, 2, 0, 43, 0, 0, 0, 12, 10, 2, 0, 13, 10, 2, 0, 14, 10, 4, 0, 70, 0, 9, 0, 5, 10,
-140, 1, 8, 0,140, 1, 0, 0,140, 1, 1, 0, 9, 0, 2, 0, 9, 0, 15, 10, 0, 0,131, 3, 2, 0, 17, 0, 2, 0, 19, 0,
- 7, 0, 16, 10,141, 1, 5, 0, 7, 0, 17, 10, 4, 0, 18, 10, 4, 0, 19, 10, 4, 0, 14, 1, 4, 0, 19, 0,142, 1, 6, 0,
- 7, 0, 20, 10, 7, 0, 21, 10, 7, 0, 22, 10, 7, 0, 23, 10, 4, 0, 17, 0, 4, 0, 19, 0,143, 1, 5, 0, 7, 0,238, 7,
- 7, 0,239, 7, 7, 0,190, 2, 2, 0,224, 1, 2, 0,225, 1,144, 1, 5, 0,143, 1, 2, 0, 4, 0, 54, 0, 7, 0, 24, 10,
- 7, 0,238, 7, 7, 0,239, 7,145, 1, 4, 0, 2, 0, 25, 10, 2, 0, 26, 10, 2, 0, 27, 10, 2, 0, 28, 10,146, 1, 2, 0,
- 43, 0,254, 5, 26, 0, 61, 8,147, 1, 3, 0, 24, 0, 29, 10, 4, 0, 19, 0, 4, 0, 37, 0,148, 1, 6, 0, 7, 0,110, 0,
- 7, 0,142, 2, 7, 0, 30, 10, 7, 0, 37, 0, 2, 0,219, 0, 2, 0, 31, 10,149, 1, 7, 0,149, 1, 0, 0,149, 1, 1, 0,
- 27, 0, 1, 6, 0, 0, 32, 10, 4, 0, 33, 10, 4, 0, 94, 0, 0, 0,131, 3,150, 1, 6, 0, 12, 0,112, 8, 0, 0, 34, 10,
- 7, 0, 61, 0, 7, 0, 16, 10, 4, 0, 17, 0, 4, 0, 19, 0,151, 1, 3, 0, 7, 0, 35, 10, 4, 0, 19, 0, 4, 0, 37, 0,
-152, 1, 15, 0,152, 1, 0, 0,152, 1, 1, 0, 61, 1,100, 8,150, 1, 62, 0, 12, 0, 14, 3, 35, 0, 50, 0,151, 1, 36, 10,
- 4, 0, 54, 0, 7, 0, 61, 0, 2, 0, 19, 0, 2, 0,255, 0, 4, 0, 33, 10, 0, 0, 32, 10, 4, 0, 37, 10, 7, 0, 38, 10,
-153, 1, 2, 0, 0, 0, 39, 10, 0, 0, 40, 10,154, 1, 4, 0,154, 1, 0, 0,154, 1, 1, 0,152, 0,226, 2, 12, 0, 41, 10,
-155, 1, 22, 0,155, 1, 0, 0,155, 1, 1, 0, 12, 0, 42, 10,152, 0,213, 7,154, 1, 43, 10, 12, 0, 44, 10, 12, 0, 14, 3,
- 0, 0,131, 3, 7, 0, 16, 10, 7, 0, 45, 10, 7, 0, 92, 0, 7, 0, 93, 0, 7, 0,157, 8, 7, 0,158, 8, 7, 0,157, 2,
- 7, 0,161, 8, 7, 0,215, 7, 7, 0,162, 8, 2, 0, 46, 10, 2, 0, 47, 10, 2, 0, 19, 0, 2, 0, 17, 0,156, 1, 6, 0,
-156, 1, 0, 0,156, 1, 1, 0, 12, 0, 42, 10, 4, 0, 19, 0, 4, 0, 81, 2, 0, 0,131, 3,157, 1, 10, 0,157, 1, 0, 0,
-157, 1, 1, 0, 27, 0, 1, 6, 0, 0, 48, 10, 4, 0, 49, 10, 4, 0, 50, 10, 0, 0, 32, 10, 4, 0, 33, 10, 2, 0, 19, 0,
- 2, 0, 51, 10,158, 1, 6, 0,158, 1, 0, 0,158, 1, 1, 0, 12, 0, 52, 10, 0, 0,131, 3, 4, 0, 19, 0, 4, 0, 53, 10,
-159, 1, 5, 0,159, 1, 0, 0,159, 1, 1, 0, 0, 0, 32, 10, 4, 0, 33, 10, 7, 0,134, 2, 39, 0, 9, 0,152, 0, 9, 3,
-152, 0, 54, 10,154, 1, 43, 10, 12, 0, 55, 10,155, 1, 56, 10, 12, 0, 57, 10, 12, 0, 58, 10, 4, 0, 19, 0, 4, 0,220, 0,
-160, 1, 2, 0, 27, 0, 31, 0, 39, 0, 75, 0, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,115, 0,118,101, 99, 50,102, 0,114, 99,116,105,
+ 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121, 68, 97,116, 97, 0, 73, 68, 80,114,111,112,101,114,116,121, 0,
+ 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68, 97,116, 97, 0, 80,114,101,118,105,101,119, 73,109, 97,103,101,
+ 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,116, 0, 73,112,111, 67,117,114,118,101, 0, 66, 80,111,105,110,
+116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0, 75,101,121, 66,108,111, 99,107, 0, 75,101,121, 0, 65,110,105,
+109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,110,101, 0, 84,101,120,116, 77, 97,114,107,101,114, 0, 84,101,120,116, 0, 80,
+ 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97,103,101, 85,115,101,114, 0, 83, 99,101,110,101,
+ 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,120,116,117,114,101, 0, 97,110,105,109, 0, 82,101,110,100,101,114, 82,101,115,
+117,108,116, 0, 77, 84,101,120, 0, 84,101,120, 0, 80,108,117,103,105,110, 84,101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,
+108,111,114, 66, 97,110,100, 0, 69,110,118, 77, 97,112, 0, 73,109, 66,117,102, 0, 80,111,105,110,116, 68,101,110,115,105,116,
+121, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 86,111,120,101,108, 68, 97,116, 97, 0, 98, 78,111,100,101, 84,114,
+101,101, 0, 84,101,120, 77, 97,112,112,105,110,103, 0, 76, 97,109,112, 0, 86,111,108,117,109,101, 83,101,116,116,105,110,103,
+115, 0, 77, 97,116,101,114,105, 97,108, 0, 71,114,111,117,112, 0, 86, 70,111,110,116, 0, 86, 70,111,110,116, 68, 97,116, 97,
+ 0, 77,101,116, 97, 69,108,101,109, 0, 66,111,117,110,100, 66,111,120, 0, 77,101,116, 97, 66, 97,108,108, 0, 78,117,114, 98,
+ 0, 67,104, 97,114, 73,110,102,111, 0, 84,101,120,116, 66,111,120, 0, 69,100,105,116, 78,117,114, 98, 0, 71, 72, 97,115,104,
+ 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101,108, 66,111,120, 0, 69,100,105,116, 70,111,110,116, 0, 77,101,115,104,
+ 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0, 77, 86,101,114,116, 0, 77, 69,100,103,101, 0,
+ 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,105, 99,107,121, 0, 77, 83,101,108,101, 99,116,
+ 0, 69,100,105,116, 77,101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 0, 80, 97,
+114,116,105, 97,108, 86,105,115,105, 98,105,108,105,116,121, 0, 77, 68,101,102,111,114,109, 87,101,105,103,104,116, 0, 77, 84,
+101,120, 80,111,108,121, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112, 67,111,108, 0, 77, 70,108,111, 97,116, 80,114,
+111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116,121, 0, 77, 83,116,114,105,110,103, 80,114,111,112,101,
+114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0, 77, 68,105,115,112,115, 0, 77,117,108,116,105,114,101,
+115, 67,111,108, 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 70, 97, 99,
+101, 0, 77,117,108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105,114,101,115, 76,101,118,101,108, 0, 77,111,100,
+105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,112,112,105,110,103, 73,110,102,111, 77,111,100,105,102,105,101,114, 68, 97,116,
+ 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,
+105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,117,105,108,
+100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,115,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,
+114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,105,114,114,111,114, 77,111,100,105,102,105,101,114, 68,
+ 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,
+111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,101,115,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,
+111,107,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 68,111,109, 97,105,110, 83,101,116,116,105,
+110,103,115, 0, 83,109,111,107,101, 70,108,111,119, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 67,111,108,108, 83,
+101,116,116,105,110,103,115, 0, 68,105,115,112,108, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 85, 86, 80,
+114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,101, 77,111,100,105,102,
+105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67, 97,115,116, 77,
+111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,109,
+ 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 72,111,111,107, 77,111,100,105,102,105,101,114, 68, 97,
+116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 77,111,100,
+105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 0, 67,108,111,116,104, 83,105,109, 83,101,116,116,105,110,103,115,
+ 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 80,111,105,110,116, 67, 97, 99,104,101, 0, 67,111,
+108,108,105,115,105,111,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,101, 0, 83,117,114,102,
+ 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101,114,105,118,101,100, 77,101,115,104, 0, 66, 86, 72, 84,
+114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,111,108,101, 97,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
+ 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, 77, 68,101,102, 67,101,108,108, 0, 77,101,115,104, 68,101,102,111,114,
+109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 77,111,100,105,
+102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 0, 80, 97,114,116,105, 99,108,101,
+ 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,120,112,108,111,100,101, 77,111,100,105,
+102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,
+117,105,100,115,105,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 83,101,116,116,105,
+110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,105,109,112,108,
+101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,104, 97,112,101, 75,101,121, 77,111,100,105,
+102,105,101,114, 68, 97,116, 97, 0, 83,111,108,105,100,105,102,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83, 99,
+114,101,119, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,114,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97,
+ 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, 0, 98, 68,101,102,111,114,109, 71,114,111,117,112, 0, 83,
+ 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116,105,111,110, 0, 98, 80,111,115,101, 0, 98, 71, 80,100, 97,
+116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110,103,115, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 0,
+ 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,101,102,108,101, 99,116, 0, 83,111,102,116, 66,
+111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, 98,106,101, 99,116, 0, 82, 78, 71, 0, 69,102,102,101, 99,
+116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104,101, 69,120,116,114, 97, 0, 80, 84, 67, 97, 99,104,101, 77,
+101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, 86,101,114,116,101,120, 0, 66,111,100,121, 80,111,105,110,
+116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116, 99,104, 0, 70,108,117,105,100, 86,101,114,116,
+101,120, 86,101,108,111, 99,105,116,121, 0, 87,111,114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111,100,101, 99, 68, 97,
+116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,
+111,100,101, 99, 83,101,116,116,105,110,103,115, 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116, 97, 0, 65,117,100,
+105,111, 68, 97,116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,121,101,114, 0, 82,101,110,100,101,114, 68, 97,
+116, 97, 0, 82,101,110,100,101,114, 80,114,111,102,105,108,101, 0, 71, 97,109,101, 68,111,109,101, 0, 71, 97,109,101, 70,114,
+ 97,109,105,110,103, 0, 71, 97,109,101, 68, 97,116, 97, 0, 84,105,109,101, 77, 97,114,107,101,114, 0, 80, 97,105,110,116, 0,
+ 66,114,117,115,104, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,
+101, 66,114,117,115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,110,103,115, 0,
+ 84,114, 97,110,115,102,111,114,109, 79,114,105,101,110,116, 97,116,105,111,110, 0, 83, 99,117,108,112,116, 0, 86, 80, 97,105,
+110,116, 0, 84,111,111,108, 83,101,116,116,105,110,103,115, 0, 98, 83,116, 97,116,115, 0, 85,110,105,116, 83,101,116,116,105,
+110,103,115, 0, 80,104,121,115,105, 99,115, 83,101,116,116,105,110,103,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,
+101, 83,116, 97,116,115, 0, 68, 97,103, 70,111,114,101,115,116, 0, 66, 71,112,105, 99, 0, 82,101,103,105,111,110, 86,105,101,
+119, 51, 68, 0, 82,101,110,100,101,114, 73,110,102,111, 0, 86,105,101,119, 68,101,112,116,104,115, 0, 83,109,111,111,116,104,
+ 86,105,101,119, 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,101,119, 51, 68, 0, 83,112, 97, 99,101, 76,105,
+110,107, 0, 86,105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,
+112,101, 83,104,101,101,116, 0, 83,112, 97, 99,101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,
+101,108,101, 99,116, 80, 97,114, 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115,116, 0,119,
+109, 79,112,101,114, 97,116,111,114, 0, 70,105,108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,
+114,101,101, 83,116,111,114,101, 0, 84,114,101,101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,109, 97,103,
+101, 0, 83, 99,111,112,101,115, 0, 72,105,115,116,111,103,114, 97,109, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83,112, 97, 99,
+101, 84,101,120,116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 84,105,
+109,101, 67, 97, 99,104,101, 0, 83,112, 97, 99,101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83,112, 97, 99,
+101, 76,111,103,105, 99, 0, 83,112, 97, 99,101, 73,109, 97, 83,101,108, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,
+112, 97, 99,101, 67,111,110,115,111,108,101, 0, 83,112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112, 97, 99,101, 83,
+111,117,110,100, 0, 83, 99,114, 65,114,101, 97, 0, 98, 83,111,117,110,100, 0,117,105, 70,111,110,116, 0,117,105, 70,111,110,
+116, 83,116,121,108,101, 0,117,105, 83,116,121,108,101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,115, 0,117,105,
+ 87,105,100,103,101,116, 83,116, 97,116,101, 67,111,108,111,114,115, 0, 84,104,101,109,101, 85, 73, 0, 84,104,101,109,101, 83,
+112, 97, 99,101, 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0, 98, 84,104,101,109,101, 0, 98, 65,100,100,111,
+110, 0, 83,111,108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102, 0, 98, 83, 99,114,101,101,110, 0, 83, 99,114,
+ 86,101,114,116, 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,101, 0,117,105, 76,
+ 97,121,111,117,116, 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101,103,105,111,110, 0, 65, 82,101,103,105,111,110, 84,
+121,112,101, 0, 70,105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105,112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,
+111,112, 0, 83,116,114,105,112, 84,114, 97,110,115,102,111,114,109, 0, 83,116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,
+110, 99,101, 0, 83,116,114,105,112, 80,114,111,120,121, 0, 83,116,114,105,112, 0, 80,108,117,103,105,110, 83,101,113, 0, 83,
+101,113,117,101,110, 99,101, 0, 77,101,116, 97, 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86,
+ 97,114,115, 0, 84,114, 97,110,115,102,111,114,109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115,
+ 0, 83,112,101,101,100, 67,111,110,116,114,111,108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100, 69,102,
+102, 0, 80, 97,114,116, 69,102,102, 0, 80, 97,114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,111,112,
+101,114,116,121, 0, 98, 78,101, 97,114, 83,101,110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0, 98, 84,
+111,117, 99,104, 83,101,110,115,111,114, 0, 98, 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,111,112,
+101,114,116,121, 83,101,110,115,111,114, 0, 98, 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,108, 97,
+121, 83,101,110,115,111,114, 0, 98, 67,111,108,108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,
+101,110,115,111,114, 0, 98, 82, 97,110,100,111,109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114, 0, 98,
+ 65,114,109, 97,116,117,114,101, 83,101,110,115,111,114, 0, 98, 77,101,115,115, 97,103,101, 83,101,110,115,111,114, 0, 98, 83,
+101,110,115,111,114, 0, 98, 67,111,110,116,114,111,108,108,101,114, 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,115,111,
+114, 0, 98, 69,120,112,114,101,115,115,105,111,110, 67,111,110,116, 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0, 98, 65,
+ 99,116,117, 97,116,111,114, 0, 98, 65,100,100, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,116,105,
+111,110, 65, 99,116,117, 97,116,111,114, 0, 83,111,117,110,100, 51, 68, 0, 98, 83,111,117,110,100, 65, 99,116,117, 97,116,111,
+114, 0, 98, 69,100,105,116, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,116,117,
+ 97,116,111,114, 0, 98, 80,114,111,112,101,114,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,
+116,117, 97,116,111,114, 0, 98, 73,112,111, 65, 99,116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,
+116,111,114, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112, 65, 99,
+116,117, 97,116,111,114, 0, 98, 82, 97,110,100,111,109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,101, 65,
+ 99,116,117, 97,116,111,114, 0, 98, 71, 97,109,101, 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,105,116,
+121, 65, 99,116,117, 97,116,111,114, 0, 98, 84,119,111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0, 98, 80,
+ 97,114,101,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 98, 65,114,
+109, 97,116,117,114,101, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116, 0, 66,111,110,101, 0,
+ 98, 65,114,109, 97,116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0, 98, 80,111,115,101, 67,
+104, 97,110,110,101,108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99,116,105,111,110, 71,114,
+111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97,110,110,101,108, 0, 98,
+ 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,
+111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112,108,105,110,101, 73, 75,
+ 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,
+111,116, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,105,107,101, 67,
+111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,
+ 97,109,101, 86,111,108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115, 76,105,107,101, 67,111,
+110,115,116,114, 97,105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,
+111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 68, 97,109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119, 80, 97,
+116,104, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 82,105,103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,108, 97,
+109,112, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,114, 97,105,110,
+116, 0, 98, 84,114, 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105,118,111,116, 67,111,110,
+115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116,
+ 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116, 67,111,110,115,116,114,
+ 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,104,114,105,110,
+107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 77,111,100,105,102,105,101,114, 0,
+ 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107, 0, 98, 78,111,100,101, 83,111, 99,
+107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 80,114,101,118,105,101,119, 0, 98, 78,111,100,101,
+ 0,117,105, 66,108,111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0, 78,111,100,101, 73,109, 97,103,101, 65,110,105,109,
+ 0, 78,111,100,101, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101,
+ 66,105,108, 97,116,101,114, 97,108, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,111,100,
+101, 73,109, 97,103,101, 70,105,108,101, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88, 89,115,
+ 0, 78,111,100,101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,100,101,
+ 86,101,114,116,101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,112,116,
+ 68,105, 99,116, 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,101, 76,
+101,110,115, 68,105,115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,101, 67,111,108,
+111,114,115,112,105,108,108, 0, 84,101,120, 78,111,100,101, 79,117,116,112,117,116, 0, 67,117,114,118,101, 77, 97,112, 80,111,
+105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,115,104, 67,108,111,110,101, 0, 67,117,115,116,111,109, 68, 97,
+116, 97, 76, 97,121,101,114, 0, 67,117,115,116,111,109, 68, 97,116, 97, 69,120,116,101,114,110, 97,108, 0, 72, 97,105,114, 75,
+101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 66,111,105,100, 80, 97,114,116,105, 99,108,101, 0, 66,111,105,100,
+ 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,112,114,105,110,103, 0, 67,104,105,108,100, 80, 97,114,116,105, 99,108,
+101, 0, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, 0, 80, 97,114,116,105, 99,108,101, 68,117,112,108,105, 87,101,
+105,103,104,116, 0, 80, 97,114,116,105, 99,108,101, 68, 97,116, 97, 0, 83, 80, 72, 70,108,117,105,100, 83,101,116,116,105,110,
+103,115, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,110,103,115, 0, 66,111,105,100, 83,101,116,116,105,110,103,115,
+ 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,121, 0, 75, 68, 84,114,101,101, 0, 80, 97,114,116,105, 99,108,
+101, 68,114, 97,119, 68, 97,116, 97, 0, 76,105,110,107, 78,111,100,101, 0, 98, 71, 80, 68,115,112,111,105,110,116, 0, 98, 71,
+ 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114, 97,109,101, 0, 98, 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,
+111,114,116, 76,105,115,116, 0,119,109, 87,105,110,100,111,119, 77, 97,110, 97,103,101,114, 0,119,109, 87,105,110,100,111,119,
+ 0,119,109, 75,101,121, 67,111,110,102,105,103, 0,119,109, 69,118,101,110,116, 0,119,109, 83,117, 98, 87,105,110,100,111,119,
+ 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121, 77, 97,112, 73,116,101,109, 0, 80,111,105,110,116,101,114, 82,
+ 78, 65, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,111,114, 84,121,112,101, 0, 70, 77,111,100,105,
+102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0, 70, 77,111,100, 95, 70,117,110, 99,116,105,111,
+110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,111,112,101, 68, 97,116, 97, 0, 70, 77,111,100,
+ 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,115, 0, 70, 77,111,100, 95, 80,121,116,104,111,
+110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,111,105,115,101, 0, 70, 77,111,100, 95, 83,116,
+101,112,112,101,100, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68,114,105,118,101,114, 86, 97,114, 0, 67,104, 97,
+110,110,101,108, 68,114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77, 97,112,
+ 80, 97,105,114, 0, 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114, 97, 99,
+107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,100,101,
+ 0, 73,100, 65,100,116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82,117,108,101, 0, 66,111,105,100, 82,117,108,101,
+ 71,111, 97,108, 65,118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118,111,105,100, 67,111,108,108,105,115,105,111,110,
+ 0, 66,111,105,100, 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101,114, 0, 66,111,105,100, 82,117,108,101, 65,118,
+101,114, 97,103,101, 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70,105,103,104,116, 0, 66,111,105,100, 83,116, 97,
+116,101, 0, 70, 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 84, 76, 69, 78, 1, 0, 1, 0,
+ 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 0, 0, 16, 0, 24, 0, 16, 0, 4, 0, 8, 0, 16, 0, 16, 0, 32, 0,
+ 96, 0, 72, 0, 72, 2, 0, 0, 40, 0,144, 0, 32, 5,112, 0, 36, 0, 56, 0,112, 0,128, 0,168, 0, 96, 0, 40, 0, 48, 0,
+176, 0, 16, 0,136, 0, 40, 0,184, 5,240, 1, 0, 0, 0, 0, 0, 0, 24, 1,112, 1,120, 1, 24, 0, 8, 3,200, 0, 0, 0,
+104, 0, 64, 1, 40, 1, 8, 1,136, 0,216, 1, 88, 0, 32, 3,104, 0, 88, 1, 0, 0,128, 0,104, 0,208, 0, 80, 0, 8, 0,
+ 16, 0, 32, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0,152, 1, 20, 0, 48, 0, 64, 0, 20, 0, 12, 0, 16, 0, 4, 0, 8, 0,
+ 8, 0, 0, 0, 40, 0,128, 0, 48, 0, 8, 0, 16, 0, 8, 0, 8, 0, 4, 0, 4, 0, 0, 1, 32, 0, 16, 0, 16, 0, 64, 0,
+ 24, 0, 12, 0, 64, 0, 80, 0,136, 0,104, 0,120, 0,128, 0, 96, 0,128, 0,160, 0, 96, 0, 88, 0,136, 0, 88, 0,112, 0,
+ 16, 1, 56, 0,192, 0,184, 0,232, 0, 88, 0,120, 0,136, 0,224, 0,136, 0,248, 0, 80, 0,136, 0, 0, 0,152, 0, 48, 0,
+ 16, 2,160, 0, 0, 0,120, 0, 0, 0, 0, 0, 96, 0, 8, 0, 8, 0, 48, 1,112, 0, 16, 2,104, 0,128, 0, 88, 0, 96, 0,
+200, 1,144, 0,136, 0, 80, 0,144, 0,112, 0,208, 0, 16, 0, 16, 1, 48, 0, 0, 0,152, 0,184, 0,104, 0, 48, 0, 24, 0,
+120, 0,152, 0,120, 1,224, 0,192, 0, 0, 0, 72, 0, 32, 0,176, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 12, 0,224, 1,
+ 40, 0,184, 0,152, 0, 64, 0, 64, 0, 24, 0, 88, 0,168, 3, 64, 0, 24, 0, 16, 0,104, 0, 96, 0, 24, 0,248, 2, 48, 0,
+ 16, 0,168, 0, 88, 0, 96, 0, 56, 0,192, 1, 32, 0, 8, 0, 24, 0, 80, 2, 0, 0, 0, 0, 88, 0, 96, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 56, 1, 56, 0,144, 0, 64, 0,240, 0,104, 0,248, 0,240, 0, 96, 2,104, 0, 0, 0,168, 0, 0, 0, 24, 1,
+ 16, 0, 16, 0, 40, 33,128, 16, 24, 16,216, 0,160, 2,120, 2, 64, 0, 24, 0,216, 0, 48, 1, 72, 0,200, 2, 40, 0,136, 1,
+104, 0,216, 0,160, 0,136, 1, 24, 1, 32, 0,232, 0, 32, 0, 32, 0,112, 2,120, 1, 16, 0, 88, 30, 80, 0, 56, 0,184, 13,
+216, 0, 32, 0, 40, 0, 88, 1, 0, 0, 0, 0, 0, 0, 40, 1, 0, 0, 32, 1, 88, 0, 16, 0, 8, 0, 44, 0, 0, 1,240, 0,
+200, 1, 32, 1, 32, 0, 12, 0, 24, 0, 52, 0, 16, 0, 24, 0, 24, 0, 32, 0, 72, 1, 0, 0, 64, 0, 64, 0, 48, 0, 8, 0,
+ 48, 0, 72, 0,104, 0, 40, 0, 8, 0, 72, 0, 44, 0, 40, 0,108, 0, 72, 0, 72, 0, 96, 0,104, 0, 60, 0,128, 0, 80, 0,
+ 80, 0, 16, 0, 96, 0, 32, 0, 72, 0, 88, 0, 24, 0, 80, 0,112, 0, 84, 0, 32, 0, 96, 0, 56, 0, 56, 0,112, 0,140, 0,
+ 4, 0, 24, 0, 16, 0, 8, 0, 88, 0, 40, 0, 40, 1,200, 0, 16, 0,248, 1, 4, 0, 40, 0,120, 0, 64, 1, 88, 0, 56, 0,
+ 88, 0,128, 0, 80, 0,120, 0, 24, 0, 56, 0, 48, 0, 48, 0, 48, 0, 8, 0, 40, 0, 72, 0, 72, 0, 48, 0, 48, 0, 24, 0,
+ 56, 0,104, 0, 16, 0,112, 0, 96, 0, 56, 0, 28, 0, 28, 0, 28, 0, 56, 0, 24, 0, 72, 0,168, 0, 40, 0,152, 0, 56, 0,
+ 16, 0, 8, 1, 0, 0, 0, 0, 16, 0, 40, 0, 28, 0, 12, 0, 12, 0, 16, 1, 44, 0, 24, 0, 8, 0, 64, 0, 32, 0, 24, 0,
+ 16, 0, 24, 0, 32, 0, 8, 0, 96, 0, 20, 0, 32, 0, 12, 0, 56, 0, 24, 0, 72, 0,240, 0, 24, 0, 56, 0, 56, 0, 20, 0,
+ 16, 0, 64, 0, 40, 0, 32, 0,192, 0, 60, 0,208, 2,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 32, 0, 40, 0,192, 0,
+ 40, 0, 24, 1,224, 0,168, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0,120, 0, 0, 0,104, 0, 24, 0, 24, 0, 16, 0, 24, 0,
+ 8, 0, 16, 0, 24, 0, 20, 0, 20, 0, 56, 0, 24, 2, 40, 1, 16, 0,104, 0, 0, 1, 40, 0,200, 0,104, 0,112, 0,168, 0,
+ 32, 0, 80, 0, 56, 0, 80, 0, 64, 0,104, 0, 72, 0, 64, 0,128, 0, 0, 0, 0, 0, 0, 0, 83, 84, 82, 67,148, 1, 0, 0,
+ 10, 0, 2, 0, 10, 0, 0, 0, 10, 0, 1, 0, 11, 0, 3, 0, 11, 0, 0, 0, 11, 0, 1, 0, 9, 0, 2, 0, 12, 0, 2, 0,
+ 9, 0, 3, 0, 9, 0, 4, 0, 13, 0, 2, 0, 2, 0, 5, 0, 2, 0, 6, 0, 14, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,
+ 15, 0, 4, 0, 4, 0, 7, 0, 4, 0, 8, 0, 4, 0, 9, 0, 4, 0, 10, 0, 16, 0, 4, 0, 7, 0, 7, 0, 7, 0, 8, 0,
+ 7, 0, 9, 0, 7, 0, 10, 0, 17, 0, 4, 0, 9, 0, 11, 0, 12, 0, 12, 0, 4, 0, 13, 0, 4, 0, 14, 0, 18, 0, 10, 0,
+ 18, 0, 0, 0, 18, 0, 1, 0, 0, 0, 15, 0, 0, 0, 16, 0, 2, 0, 17, 0, 0, 0, 18, 0, 4, 0, 19, 0, 17, 0, 20, 0,
+ 4, 0, 21, 0, 4, 0, 22, 0, 19, 0, 9, 0, 9, 0, 0, 0, 9, 0, 1, 0, 19, 0, 23, 0, 20, 0, 24, 0, 0, 0, 25, 0,
+ 2, 0, 26, 0, 2, 0, 17, 0, 4, 0, 27, 0, 18, 0, 28, 0, 20, 0, 8, 0, 19, 0, 29, 0, 19, 0, 30, 0, 21, 0, 31, 0,
+ 0, 0, 32, 0, 0, 0, 33, 0, 4, 0, 34, 0, 4, 0, 35, 0, 20, 0, 36, 0, 22, 0, 5, 0, 4, 0, 37, 0, 4, 0, 38, 0,
+ 2, 0, 39, 0, 2, 0, 40, 0, 4, 0, 41, 0, 23, 0, 6, 0, 24, 0, 42, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 15, 0,
+ 2, 0, 17, 0, 0, 0, 45, 0, 25, 0, 21, 0, 25, 0, 0, 0, 25, 0, 1, 0, 26, 0, 46, 0, 27, 0, 47, 0, 16, 0, 48, 0,
+ 16, 0, 49, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 50, 0, 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53, 0, 2, 0, 17, 0,
+ 2, 0, 54, 0, 7, 0, 9, 0, 7, 0, 10, 0, 4, 0, 55, 0, 7, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58, 0, 23, 0, 59, 0,
+ 28, 0, 7, 0, 19, 0, 29, 0, 12, 0, 60, 0, 16, 0, 61, 0, 2, 0, 43, 0, 2, 0, 62, 0, 2, 0, 63, 0, 2, 0, 35, 0,
+ 29, 0, 16, 0, 29, 0, 0, 0, 29, 0, 1, 0, 7, 0, 64, 0, 7, 0, 58, 0, 2, 0, 15, 0, 2, 0, 44, 0, 2, 0, 65, 0,
+ 2, 0, 17, 0, 4, 0, 66, 0, 4, 0, 67, 0, 9, 0, 2, 0, 7, 0, 68, 0, 0, 0, 18, 0, 0, 0, 69, 0, 7, 0, 70, 0,
+ 7, 0, 71, 0, 30, 0, 13, 0, 19, 0, 29, 0, 31, 0, 72, 0, 29, 0, 73, 0, 0, 0, 74, 0, 4, 0, 75, 0, 7, 0, 58, 0,
+ 12, 0, 76, 0, 28, 0, 77, 0, 19, 0, 78, 0, 2, 0, 15, 0, 2, 0, 79, 0, 2, 0, 80, 0, 2, 0, 17, 0, 32, 0, 6, 0,
+ 32, 0, 0, 0, 32, 0, 1, 0, 0, 0, 81, 0, 0, 0, 82, 0, 4, 0, 21, 0, 4, 0, 83, 0, 33, 0, 10, 0, 33, 0, 0, 0,
+ 33, 0, 1, 0, 4, 0, 84, 0, 4, 0, 85, 0, 4, 0, 86, 0, 4, 0, 87, 0, 4, 0, 12, 0, 4, 0, 88, 0, 0, 0, 89, 0,
+ 0, 0, 90, 0, 34, 0, 15, 0, 19, 0, 29, 0, 0, 0, 91, 0, 4, 0, 88, 0, 4, 0, 92, 0, 12, 0, 93, 0, 32, 0, 94, 0,
+ 32, 0, 95, 0, 4, 0, 96, 0, 4, 0, 97, 0, 12, 0, 98, 0, 0, 0, 99, 0, 4, 0,100, 0, 4, 0,101, 0, 9, 0,102, 0,
+ 8, 0,103, 0, 35, 0, 3, 0, 4, 0,104, 0, 4, 0,105, 0, 9, 0, 2, 0, 36, 0, 16, 0, 19, 0, 29, 0, 31, 0, 72, 0,
+ 0, 0, 15, 0, 0, 0,106, 0, 2, 0, 17, 0, 7, 0,107, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0,110, 0, 7, 0,111, 0,
+ 7, 0,112, 0, 7, 0,113, 0, 7, 0,114, 0, 7, 0,115, 0, 28, 0, 77, 0, 24, 0,116, 0, 37, 0, 14, 0, 38, 0,117, 0,
+ 4, 0,118, 0, 4, 0,119, 0, 4, 0,120, 0, 4, 0,121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0, 0, 0, 35, 0,
+ 2, 0,125, 0, 2, 0,126, 0, 2, 0,127, 0, 2, 0, 17, 0, 4, 0, 67, 0, 39, 0, 32, 0, 19, 0, 29, 0, 0, 0, 32, 0,
+ 12, 0,128, 0, 40, 0,129, 0, 41, 0,130, 0, 42, 0,131, 0, 42, 0,132, 0, 2, 0,133, 0, 2, 0,134, 0, 2, 0,124, 0,
+ 2, 0, 17, 0, 2, 0,135, 0, 2, 0, 15, 0, 4, 0,136, 0, 2, 0,137, 0, 2, 0,138, 0, 2, 0,139, 0, 2, 0,140, 0,
+ 2, 0,141, 0, 2, 0,142, 0, 4, 0,143, 0, 4, 0,144, 0, 35, 0,145, 0, 22, 0,146, 0, 7, 0,147, 0, 4, 0,148, 0,
+ 2, 0,149, 0, 2, 0,150, 0, 2, 0,151, 0, 2, 0,152, 0, 7, 0,153, 0, 7, 0,154, 0, 43, 0, 65, 0, 2, 0,155, 0,
+ 2, 0,156, 0, 2, 0,157, 0, 2, 0,158, 0, 24, 0,159, 0, 44, 0,160, 0, 0, 0,161, 0, 0, 0,162, 0, 0, 0,163, 0,
+ 0, 0,164, 0, 0, 0,165, 0, 7, 0,166, 0, 7, 0,167, 0, 7, 0,168, 0, 2, 0,169, 0, 2, 0,170, 0, 2, 0,171, 0,
+ 2, 0,172, 0, 2, 0,173, 0, 2, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0,
+ 7, 0,180, 0, 7, 0,181, 0, 7, 0, 54, 0, 7, 0,182, 0, 7, 0,183, 0, 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0,
+ 7, 0,187, 0, 7, 0,188, 0, 7, 0,189, 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0,
+ 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, 0, 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201, 0, 7, 0,202, 0,
+ 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, 0, 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209, 0, 7, 0,210, 0,
+ 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, 0, 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217, 0, 7, 0,218, 0,
+ 45, 0, 15, 0, 0, 0,219, 0, 9, 0,220, 0, 0, 0,221, 0, 0, 0,222, 0, 4, 0,223, 0, 4, 0,224, 0, 9, 0,225, 0,
+ 7, 0,226, 0, 7, 0,227, 0, 7, 0,228, 0, 4, 0,229, 0, 9, 0,230, 0, 9, 0,231, 0, 4, 0,232, 0, 4, 0, 35, 0,
+ 46, 0, 6, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,233, 0, 7, 0, 64, 0, 4, 0, 61, 0, 47, 0, 5, 0,
+ 2, 0, 17, 0, 2, 0, 34, 0, 2, 0, 61, 0, 2, 0,234, 0, 46, 0,228, 0, 48, 0, 17, 0, 24, 0,159, 0, 39, 0,235, 0,
+ 49, 0,236, 0, 7, 0,237, 0, 7, 0,238, 0, 2, 0, 15, 0, 2, 0,239, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0,240, 0,
+ 4, 0,241, 0, 2, 0,242, 0, 2, 0,243, 0, 4, 0,124, 0, 4, 0,136, 0, 2, 0,244, 0, 2, 0,245, 0, 50, 0, 25, 0,
+ 2, 0, 17, 0, 2, 0,246, 0, 7, 0,247, 0, 7, 0,248, 0, 2, 0,135, 0, 2, 0,249, 0, 4, 0,250, 0, 4, 0,251, 0,
+ 24, 0,159, 0, 4, 0,252, 0, 2, 0,253, 0, 2, 0,254, 0, 9, 0,255, 0, 7, 0, 0, 1, 7, 0, 1, 1, 2, 0, 2, 1,
+ 2, 0, 3, 1, 2, 0, 4, 1, 2, 0, 5, 1, 7, 0, 6, 1, 7, 0, 7, 1, 7, 0, 8, 1, 7, 0, 9, 1, 47, 0, 10, 1,
+ 51, 0, 11, 1, 52, 0, 13, 0, 4, 0, 12, 1, 4, 0, 13, 1, 2, 0, 14, 1, 2, 0, 17, 0, 2, 0, 15, 1, 2, 0, 16, 1,
+ 24, 0,159, 0, 7, 0, 17, 1, 4, 0, 18, 1, 0, 0, 19, 1, 7, 0, 20, 1, 4, 0, 21, 1, 4, 0,124, 0, 44, 0, 63, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0, 7, 0, 22, 1, 7, 0, 23, 1, 7, 0, 24, 1, 7, 0, 25, 1, 7, 0, 26, 1, 7, 0, 27, 1,
+ 7, 0, 28, 1, 7, 0, 29, 1, 7, 0, 30, 1, 7, 0, 67, 0, 7, 0, 31, 1, 7, 0, 32, 1, 7, 0, 33, 1, 7, 0, 34, 1,
+ 7, 0, 35, 1, 7, 0, 36, 1, 7, 0, 37, 1, 7, 0, 38, 1, 7, 0, 39, 1, 7, 0, 40, 1, 7, 0, 41, 1, 7, 0, 42, 1,
+ 2, 0, 43, 1, 2, 0, 44, 1, 2, 0, 45, 1, 2, 0, 46, 1, 2, 0, 47, 1, 2, 0, 48, 1, 2, 0, 49, 1, 2, 0, 17, 0,
+ 2, 0, 15, 0, 2, 0,239, 0, 7, 0, 50, 1, 7, 0, 51, 1, 7, 0, 52, 1, 7, 0, 53, 1, 4, 0, 54, 1, 4, 0, 55, 1,
+ 2, 0, 56, 1, 2, 0, 57, 1, 2, 0, 15, 1, 2, 0,122, 0, 4, 0, 21, 0, 4, 0,119, 0, 4, 0,120, 0, 4, 0,121, 0,
+ 7, 0, 58, 1, 7, 0, 59, 1, 7, 0, 87, 0, 37, 0, 60, 1, 53, 0, 61, 1, 28, 0, 77, 0, 39, 0,235, 0, 45, 0, 62, 1,
+ 47, 0, 10, 1, 48, 0, 63, 1, 22, 0,146, 0, 50, 0, 64, 1, 52, 0, 65, 1, 0, 0, 66, 1, 0, 0,176, 0, 54, 0, 8, 0,
+ 7, 0, 67, 1, 7, 0, 68, 1, 7, 0,167, 0, 4, 0, 17, 0, 7, 0, 69, 1, 7, 0, 70, 1, 7, 0, 71, 1, 24, 0, 42, 0,
+ 55, 0, 72, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 72, 1, 2, 0,170, 0, 2, 0, 73, 1,
+ 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0, 74, 1, 7, 0, 75, 1, 7, 0, 76, 1, 7, 0, 77, 1,
+ 7, 0, 78, 1, 7, 0, 79, 1, 7, 0, 80, 1, 7, 0, 81, 1, 7, 0, 82, 1, 7, 0, 83, 1, 7, 0, 84, 1, 51, 0, 85, 1,
+ 2, 0,246, 0, 2, 0, 67, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0, 86, 1, 7, 0, 87, 1, 7, 0, 88, 1, 7, 0, 89, 1,
+ 7, 0, 90, 1, 2, 0, 91, 1, 2, 0, 92, 1, 2, 0, 93, 1, 2, 0, 94, 1, 0, 0, 95, 1, 0, 0, 96, 1, 2, 0, 97, 1,
+ 2, 0, 98, 1, 2, 0, 99, 1, 2, 0,100, 1, 2, 0,101, 1, 7, 0,102, 1, 7, 0,103, 1, 7, 0,104, 1, 7, 0,105, 1,
+ 2, 0,106, 1, 2, 0, 87, 0, 2, 0,107, 1, 2, 0,108, 1, 2, 0,109, 1, 2, 0,110, 1, 7, 0,111, 1, 7, 0,112, 1,
+ 7, 0,113, 1, 7, 0,114, 1, 7, 0,115, 1, 7, 0,116, 1, 7, 0,117, 1, 7, 0,118, 1, 7, 0,119, 1, 7, 0,120, 1,
+ 7, 0,121, 1, 7, 0,122, 1, 2, 0,123, 1, 0, 0,124, 1, 28, 0, 77, 0, 43, 0,125, 1, 2, 0,126, 1, 0, 0,127, 1,
+ 22, 0,146, 0, 56, 0, 18, 0, 7, 0,128, 1, 7, 0,129, 1, 7, 0,130, 1, 7, 0,131, 1, 7, 0,132, 1, 7, 0,133, 1,
+ 7, 0,134, 1, 7, 0,135, 1, 7, 0,136, 1, 7, 0,137, 1, 2, 0,138, 1, 2, 0,139, 1, 2, 0,140, 1, 2, 0,141, 1,
+ 7, 0,142, 1, 7, 0,143, 1, 7, 0,144, 1, 7, 0,145, 1, 57, 0,125, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0,146, 1,
+ 2, 0, 17, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,147, 1, 7, 0,148, 1, 7, 0,149, 1, 7, 0,150, 1,
+ 7, 0,151, 1, 7, 0,152, 1, 7, 0,153, 1, 7, 0,154, 1, 7, 0,155, 1, 7, 0,156, 1, 7, 0,157, 1, 7, 0,158, 1,
+ 7, 0,159, 1, 7, 0,160, 1, 7, 0,161, 1, 7, 0,162, 1, 7, 0,163, 1, 7, 0,164, 1, 7, 0,165, 1, 7, 0,166, 1,
+ 56, 0,167, 1, 7, 0,168, 1, 7, 0,169, 1, 7, 0,170, 1, 7, 0,171, 1, 7, 0,172, 1, 7, 0,173, 1, 7, 0,174, 1,
+ 2, 0,175, 1, 2, 0,176, 1, 2, 0,177, 1, 0, 0,178, 1, 0, 0,179, 1, 7, 0,180, 1, 7, 0,181, 1, 2, 0,182, 1,
+ 2, 0,183, 1, 7, 0,184, 1, 7, 0,185, 1, 7, 0,186, 1, 7, 0,187, 1, 2, 0,188, 1, 2, 0,189, 1, 4, 0, 72, 1,
+ 4, 0,190, 1, 2, 0,191, 1, 2, 0,192, 1, 2, 0,193, 1, 2, 0,194, 1, 7, 0,195, 1, 7, 0,196, 1, 7, 0,197, 1,
+ 7, 0,198, 1, 7, 0,199, 1, 7, 0,200, 1, 7, 0,201, 1, 7, 0,202, 1, 7, 0,203, 1, 7, 0,204, 1, 0, 0,205, 1,
+ 7, 0,206, 1, 7, 0,207, 1, 7, 0,208, 1, 4, 0,209, 1, 0, 0,210, 1, 0, 0,107, 1, 0, 0,211, 1, 0, 0, 66, 1,
+ 2, 0,212, 1, 2, 0,213, 1, 2, 0,126, 1, 2, 0,214, 1, 2, 0,215, 1, 2, 0,216, 1, 7, 0,217, 1, 7, 0,218, 1,
+ 7, 0,219, 1, 7, 0,220, 1, 7, 0,221, 1, 2, 0,155, 0, 2, 0,156, 0, 47, 0,222, 1, 47, 0,223, 1, 0, 0,224, 1,
+ 0, 0,225, 1, 0, 0,226, 1, 0, 0,227, 1, 2, 0,228, 1, 2, 0,229, 1, 7, 0,230, 1, 7, 0,231, 1, 43, 0,125, 1,
+ 53, 0, 61, 1, 28, 0, 77, 0, 58, 0,232, 1, 22, 0,146, 0, 7, 0,233, 1, 7, 0,234, 1, 7, 0,235, 1, 7, 0,236, 1,
+ 7, 0,237, 1, 2, 0,238, 1, 2, 0, 67, 0, 7, 0,239, 1, 7, 0,240, 1, 7, 0,241, 1, 7, 0,242, 1, 7, 0,243, 1,
+ 7, 0,244, 1, 7, 0,245, 1, 7, 0,246, 1, 7, 0,247, 1, 2, 0,248, 1, 2, 0,249, 1, 4, 0,250, 1, 2, 0,251, 1,
+ 2, 0,252, 1, 12, 0,253, 1, 59, 0, 4, 0, 19, 0, 29, 0, 0, 0,254, 1, 60, 0, 2, 0, 35, 0,145, 0, 61, 0, 26, 0,
+ 61, 0, 0, 0, 61, 0, 1, 0, 62, 0,255, 1, 4, 0, 0, 2, 4, 0, 1, 2, 4, 0, 2, 2, 4, 0, 3, 2, 4, 0, 4, 2,
+ 4, 0, 5, 2, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 6, 2, 2, 0, 7, 2, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 8, 2,
+ 7, 0, 9, 2, 7, 0, 10, 2, 7, 0, 11, 2, 7, 0, 12, 2, 7, 0, 13, 2, 7, 0, 14, 2, 7, 0, 15, 2, 7, 0, 21, 0,
+ 7, 0, 16, 2, 7, 0, 17, 2, 63, 0, 20, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,255, 1, 12, 0, 18, 2, 12, 0, 19, 2,
+ 12, 0, 20, 2, 28, 0, 77, 0, 57, 0, 21, 2, 0, 0, 17, 0, 0, 0, 22, 2, 2, 0, 23, 2, 2, 0,169, 0, 2, 0, 35, 0,
+ 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 7, 0, 24, 2, 7, 0, 25, 2, 7, 0, 26, 2, 61, 0, 27, 2, 27, 0, 11, 0,
+ 7, 0, 28, 2, 7, 0, 29, 2, 7, 0, 30, 2, 7, 0,248, 0, 2, 0, 52, 0, 0, 0, 31, 2, 0, 0, 32, 2, 0, 0, 33, 2,
+ 0, 0, 34, 2, 0, 0, 35, 2, 0, 0, 36, 2, 26, 0, 7, 0, 7, 0, 37, 2, 7, 0, 29, 2, 7, 0, 30, 2, 2, 0, 33, 2,
+ 2, 0, 36, 2, 7, 0,248, 0, 7, 0, 35, 0, 64, 0, 21, 0, 64, 0, 0, 0, 64, 0, 1, 0, 2, 0, 15, 0, 2, 0, 38, 2,
+ 2, 0, 36, 2, 2, 0, 17, 0, 2, 0, 39, 2, 2, 0, 40, 2, 2, 0, 41, 2, 2, 0, 42, 2, 2, 0, 43, 2, 2, 0, 44, 2,
+ 2, 0, 45, 2, 2, 0, 46, 2, 7, 0, 47, 2, 7, 0, 48, 2, 26, 0, 46, 0, 27, 0, 47, 0, 2, 0, 49, 2, 2, 0, 50, 2,
+ 4, 0, 51, 2, 65, 0, 5, 0, 2, 0, 52, 2, 2, 0, 38, 2, 0, 0, 17, 0, 0, 0, 35, 0, 2, 0, 67, 0, 66, 0, 4, 0,
+ 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 53, 2, 7, 0, 54, 2, 67, 0, 4, 0, 12, 0, 55, 2, 68, 0, 56, 2, 4, 0, 57, 2,
+ 0, 0, 90, 0, 69, 0, 68, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,255, 1, 12, 0, 58, 2, 12, 0, 19, 2, 67, 0, 59, 2,
+ 24, 0, 60, 2, 24, 0, 61, 2, 24, 0, 62, 2, 28, 0, 77, 0, 70, 0, 63, 2, 30, 0, 64, 2, 57, 0, 21, 2, 12, 0, 65, 2,
+ 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 2, 0,169, 0, 2, 0, 87, 0, 2, 0, 66, 2, 2, 0, 67, 2, 7, 0, 68, 2,
+ 7, 0, 69, 2, 4, 0, 70, 2, 2, 0, 35, 0, 2, 0, 23, 2, 2, 0, 17, 0, 2, 0, 71, 2, 7, 0, 72, 2, 7, 0, 73, 2,
+ 7, 0, 74, 2, 2, 0, 41, 2, 2, 0, 42, 2, 2, 0, 75, 2, 2, 0, 76, 2, 4, 0, 77, 2, 9, 0, 78, 2, 2, 0, 21, 0,
+ 2, 0, 93, 0, 2, 0, 64, 0, 2, 0, 79, 2, 7, 0, 80, 2, 7, 0, 81, 2, 7, 0, 82, 2, 7, 0, 83, 2, 7, 0, 84, 2,
+ 7, 0, 85, 2, 7, 0, 86, 2, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0, 89, 2, 0, 0, 90, 2, 71, 0, 91, 2, 72, 0, 92, 2,
+ 0, 0, 93, 2, 59, 0, 94, 2, 59, 0, 95, 2, 59, 0, 96, 2, 59, 0, 97, 2, 4, 0, 98, 2, 7, 0, 99, 2, 4, 0,100, 2,
+ 4, 0,101, 2, 66, 0,102, 2, 4, 0,103, 2, 4, 0,104, 2, 65, 0,105, 2, 65, 0,106, 2, 73, 0, 39, 0, 19, 0, 29, 0,
+ 31, 0, 72, 0, 62, 0,255, 1, 28, 0, 77, 0, 30, 0, 64, 2, 57, 0, 21, 2, 74, 0,107, 2, 75, 0,108, 2, 76, 0,109, 2,
+ 77, 0,110, 2, 78, 0,111, 2, 79, 0,112, 2, 80, 0,113, 2, 81, 0,114, 2, 73, 0,115, 2, 82, 0,116, 2, 83, 0,117, 2,
+ 84, 0,118, 2, 84, 0,119, 2, 84, 0,120, 2, 4, 0, 51, 0, 4, 0,121, 2, 4, 0,122, 2, 4, 0,123, 2, 4, 0,124, 2,
+ 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 2, 0,169, 0, 2, 0, 66, 2, 2, 0,125, 2, 2, 0, 17, 0, 2, 0,126, 2,
+ 2, 0,127, 2, 0, 0,128, 2, 0, 0,129, 2, 2, 0, 23, 2, 85, 0,130, 2, 86, 0,131, 2, 76, 0, 8, 0, 9, 0,132, 2,
+ 7, 0,133, 2, 4, 0,134, 2, 0, 0, 17, 0, 0, 0,135, 2, 2, 0, 72, 1, 2, 0,136, 2, 2, 0,137, 2, 74, 0, 7, 0,
+ 4, 0,138, 2, 4, 0,139, 2, 4, 0,140, 2, 4, 0,141, 2, 2, 0, 38, 2, 0, 0,142, 2, 0, 0, 17, 0, 78, 0, 5, 0,
+ 4, 0,138, 2, 4, 0,139, 2, 0, 0,143, 2, 0, 0,144, 2, 2, 0, 17, 0, 87, 0, 2, 0, 4, 0,145, 2, 7, 0, 30, 2,
+ 79, 0, 3, 0, 87, 0,146, 2, 4, 0,147, 2, 4, 0, 17, 0, 77, 0, 4, 0, 7, 0,148, 2, 2, 0,149, 2, 0, 0, 17, 0,
+ 0, 0,144, 2, 80, 0, 4, 0, 0, 0,233, 0, 0, 0,177, 0, 0, 0,178, 0, 0, 0,179, 0, 88, 0, 6, 0, 39, 0,132, 2,
+ 0, 0, 17, 0, 0, 0,135, 2, 2, 0, 72, 1, 2, 0,136, 2, 2, 0,137, 2, 89, 0, 1, 0, 7, 0,150, 2, 90, 0, 5, 0,
+ 0, 0,233, 0, 0, 0,177, 0, 0, 0,178, 0, 0, 0,179, 0, 4, 0, 35, 0, 81, 0, 1, 0, 7, 0,151, 2, 82, 0, 2, 0,
+ 4, 0,252, 1, 4, 0, 15, 0, 75, 0, 7, 0, 7, 0,133, 2, 39, 0,132, 2, 0, 0, 17, 0, 0, 0,135, 2, 2, 0, 72, 1,
+ 2, 0,136, 2, 2, 0,137, 2, 91, 0, 1, 0, 7, 0,152, 2, 92, 0, 1, 0, 4, 0,153, 2, 93, 0, 1, 0, 0, 0,154, 2,
+ 94, 0, 1, 0, 7, 0,133, 2, 95, 0, 3, 0, 4, 0,155, 2, 0, 0, 90, 0, 7, 0,156, 2, 96, 0, 4, 0, 7, 0,233, 0,
+ 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 97, 0, 1, 0, 96, 0,134, 2, 98, 0, 5, 0, 4, 0,157, 2, 4, 0,158, 2,
+ 0, 0, 17, 0, 0, 0, 38, 2, 0, 0,159, 2, 99, 0, 2, 0, 4, 0,160, 2, 4, 0,158, 2,100, 0, 10, 0,100, 0, 0, 0,
+100, 0, 1, 0, 98, 0,161, 2, 97, 0,162, 2, 99, 0,163, 2, 4, 0, 51, 0, 4, 0,122, 2, 4, 0,121, 2, 4, 0, 35, 0,
+ 77, 0,164, 2, 85, 0, 14, 0, 12, 0,165, 2, 77, 0,164, 2, 0, 0,166, 2, 0, 0,167, 2, 0, 0,168, 2, 0, 0,169, 2,
+ 0, 0,170, 2, 0, 0,171, 2, 0, 0,172, 2, 0, 0, 17, 0, 84, 0,118, 2, 84, 0,120, 2, 2, 0,173, 2, 0, 0,174, 2,
+ 86, 0, 8, 0, 4, 0,175, 2, 4, 0,176, 2, 74, 0,177, 2, 78, 0,178, 2, 4, 0,122, 2, 4, 0,121, 2, 4, 0, 51, 0,
+ 4, 0, 35, 0,101, 0, 9, 0,101, 0, 0, 0,101, 0, 1, 0, 4, 0, 15, 0, 4, 0, 72, 1, 4, 0,179, 2, 4, 0, 35, 0,
+ 0, 0, 18, 0, 38, 0,117, 0, 0, 0,180, 2,102, 0, 6, 0,101, 0,181, 2, 44, 0,182, 2, 24, 0,183, 2, 0, 0,184, 2,
+ 4, 0,185, 2, 4, 0,186, 2,103, 0, 7, 0,101, 0,181, 2, 2, 0,187, 2, 2, 0,165, 2, 2, 0,188, 2, 2, 0, 88, 0,
+ 9, 0,189, 2, 9, 0,190, 2,104, 0, 3, 0,101, 0,181, 2, 24, 0,159, 0, 0, 0, 18, 0,105, 0, 5, 0,101, 0,181, 2,
+ 24, 0,159, 0, 0, 0, 18, 0, 2, 0,191, 2, 0, 0,192, 2,106, 0, 5, 0,101, 0,181, 2, 7, 0, 85, 0, 7, 0,193, 2,
+ 4, 0,194, 2, 4, 0,195, 2,107, 0, 5, 0,101, 0,181, 2, 24, 0,196, 2, 0, 0, 69, 0, 4, 0, 72, 1, 4, 0, 17, 0,
+108, 0, 13, 0,101, 0,181, 2, 24, 0,197, 2, 24, 0,198, 2, 24, 0,199, 2, 24, 0,200, 2, 7, 0,201, 2, 7, 0,202, 2,
+ 7, 0,193, 2, 7, 0,203, 2, 4, 0,204, 2, 4, 0,205, 2, 4, 0, 88, 0, 4, 0,206, 2,109, 0, 5, 0,101, 0,181, 2,
+ 2, 0,207, 2, 2, 0, 17, 0, 7, 0,208, 2, 24, 0,209, 2,110, 0, 3, 0,101, 0,181, 2, 7, 0,210, 2, 4, 0, 88, 0,
+111, 0, 10, 0,101, 0,181, 2, 7, 0,211, 2, 4, 0,212, 2, 4, 0, 35, 0, 2, 0, 88, 0, 2, 0,213, 2, 2, 0,214, 2,
+ 2, 0,215, 2, 7, 0,216, 2, 0, 0,217, 2,112, 0, 3, 0,101, 0,181, 2, 7, 0, 35, 0, 4, 0, 15, 0,113, 0, 6, 0,
+101, 0,181, 2,114, 0,218, 2,115, 0,219, 2,116, 0,220, 2, 7, 0,221, 2, 4, 0, 15, 0,117, 0, 11, 0,101, 0,181, 2,
+ 44, 0,182, 2, 24, 0,183, 2, 0, 0,184, 2, 4, 0,185, 2, 4, 0,186, 2, 4, 0,222, 2, 7, 0,223, 2, 4, 0,224, 2,
+ 0, 0,217, 2, 7, 0,225, 2,118, 0, 12, 0,101, 0,181, 2, 24, 0,226, 2, 39, 0,227, 2, 4, 0, 88, 0, 4, 0,228, 2,
+ 7, 0,229, 2, 7, 0,230, 2, 7, 0,231, 2, 7, 0,232, 2, 0, 0,184, 2, 4, 0,185, 2, 4, 0, 35, 0,119, 0, 3, 0,
+101, 0,181, 2, 7, 0,233, 2, 4, 0,234, 2,120, 0, 5, 0,101, 0,181, 2, 7, 0,235, 2, 0, 0,217, 2, 2, 0, 17, 0,
+ 2, 0,236, 2,121, 0, 8, 0,101, 0,181, 2, 24, 0,159, 0, 7, 0,235, 2, 7, 0,248, 0, 7, 0,104, 0, 0, 0,217, 2,
+ 2, 0, 17, 0, 2, 0, 15, 0,122, 0, 21, 0,101, 0,181, 2, 24, 0,237, 2, 0, 0,217, 2, 44, 0,182, 2, 24, 0,183, 2,
+ 2, 0, 17, 0, 2, 0, 35, 0, 7, 0,238, 2, 7, 0,239, 2, 7, 0,240, 2, 7, 0, 72, 2, 7, 0,241, 2, 7, 0,242, 2,
+ 7, 0,243, 2, 7, 0,244, 2, 4, 0,186, 2, 4, 0,185, 2, 0, 0,184, 2, 7, 0,245, 2, 7, 0,246, 2, 7, 0, 87, 0,
+123, 0, 7, 0,101, 0,181, 2, 2, 0,247, 2, 2, 0,248, 2, 4, 0, 67, 0, 24, 0,159, 0, 7, 0,249, 2, 0, 0,217, 2,
+124, 0, 10, 0,101, 0,181, 2, 24, 0,159, 0, 0, 0,250, 2, 7, 0,251, 2, 7, 0,252, 2, 7, 0,244, 2, 4, 0,253, 2,
+ 4, 0,254, 2, 7, 0,255, 2, 0, 0, 18, 0,125, 0, 1, 0,101, 0,181, 2,126, 0, 7, 0,101, 0,181, 2, 38, 0,117, 0,
+127, 0, 0, 3,128, 0, 1, 3,129, 0, 2, 3,130, 0, 3, 3, 12, 0, 4, 3,131, 0, 13, 0,101, 0,181, 2, 77, 0, 5, 3,
+ 77, 0, 6, 3, 77, 0, 7, 3, 77, 0, 8, 3, 77, 0, 9, 3, 77, 0, 10, 3, 74, 0, 11, 3, 4, 0, 12, 3, 4, 0, 13, 3,
+ 7, 0, 14, 3, 7, 0, 15, 3,132, 0, 16, 3,133, 0, 7, 0,101, 0,181, 2, 77, 0, 5, 3, 77, 0, 17, 3,134, 0, 18, 3,
+135, 0, 16, 3, 4, 0, 19, 3, 4, 0, 12, 3,136, 0, 4, 0,101, 0,181, 2, 24, 0,159, 0, 4, 0, 20, 3, 4, 0, 35, 0,
+137, 0, 2, 0, 4, 0, 21, 3, 7, 0, 30, 2,138, 0, 2, 0, 4, 0,120, 0, 4, 0, 22, 3,139, 0, 24, 0,101, 0,181, 2,
+ 24, 0,159, 0, 0, 0,217, 2, 2, 0, 23, 3, 2, 0, 17, 0, 2, 0, 72, 1, 2, 0, 35, 0,137, 0, 24, 3, 4, 0, 25, 3,
+ 7, 0, 26, 3, 4, 0, 51, 0, 4, 0, 27, 3,138, 0, 28, 3,137, 0, 29, 3, 4, 0, 30, 3, 4, 0, 31, 3, 4, 0, 32, 3,
+ 4, 0, 22, 3, 7, 0, 33, 3, 7, 0, 34, 3, 7, 0, 35, 3, 7, 0, 36, 3, 7, 0, 37, 3, 9, 0, 38, 3,140, 0, 8, 0,
+101, 0,181, 2,141, 0, 39, 3,134, 0, 18, 3, 4, 0, 40, 3, 4, 0, 41, 3, 4, 0, 42, 3, 2, 0, 17, 0, 2, 0, 54, 0,
+142, 0, 8, 0,101, 0,181, 2, 24, 0, 42, 0, 2, 0,252, 0, 2, 0, 17, 0, 2, 0,207, 2, 2, 0, 54, 0, 7, 0, 43, 3,
+ 7, 0, 44, 3,143, 0, 6, 0,101, 0,181, 2, 4, 0, 45, 3, 2, 0, 17, 0, 2, 0, 46, 3, 7, 0, 47, 3, 0, 0,161, 0,
+144, 0, 8, 0,101, 0,181, 2, 0, 0, 48, 3, 0, 0, 49, 3, 0, 0,171, 2, 0, 0, 50, 3, 0, 0, 51, 3, 0, 0, 88, 0,
+ 0, 0,159, 2,145, 0, 3, 0,101, 0,181, 2,146, 0, 52, 3,130, 0, 3, 3,147, 0, 10, 0,101, 0,181, 2, 24, 0, 53, 3,
+ 24, 0, 54, 3, 0, 0, 55, 3, 7, 0, 56, 3, 2, 0, 57, 3, 2, 0, 58, 3, 0, 0, 59, 3, 0, 0, 60, 3, 0, 0,192, 2,
+148, 0, 9, 0,101, 0,181, 2, 24, 0, 61, 3, 0, 0, 55, 3, 7, 0, 62, 3, 7, 0, 63, 3, 0, 0, 72, 1, 0, 0,207, 2,
+ 0, 0, 64, 3, 0, 0, 35, 0,149, 0, 1, 0,101, 0,181, 2,150, 0, 11, 0,101, 0,181, 2, 0, 0,217, 2, 7, 0,120, 0,
+ 7, 0, 65, 3, 7, 0, 66, 3, 7, 0, 67, 3, 7, 0, 68, 3, 4, 0, 17, 0, 2, 0, 69, 3, 2, 0, 70, 3, 4, 0, 35, 0,
+151, 0, 9, 0,101, 0,181, 2, 24, 0, 71, 3, 4, 0, 72, 3, 4, 0, 73, 3, 4, 0, 74, 3, 7, 0, 75, 3, 7, 0, 76, 3,
+ 2, 0,207, 2, 2, 0, 17, 0,152, 0, 16, 0,101, 0,181, 2, 44, 0,182, 2, 24, 0,183, 2, 0, 0,184, 2, 4, 0,185, 2,
+ 4, 0,186, 2, 4, 0,222, 2, 7, 0,223, 2, 24, 0, 77, 3, 24, 0, 78, 3, 51, 0, 85, 1, 0, 0,217, 2, 7, 0, 79, 3,
+ 0, 0, 17, 0, 0, 0,246, 0, 0, 0,159, 2,153, 0, 3, 0,154, 0, 80, 3, 4, 0, 57, 2, 0, 0, 90, 0,154, 0, 29, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 39, 2, 2, 0, 40, 2, 2, 0, 81, 3, 2, 0, 17, 0, 2, 0, 82, 3, 2, 0, 83, 3,
+ 2, 0, 84, 3, 2, 0, 67, 0, 0, 0, 85, 3, 0, 0, 86, 3, 0, 0, 87, 3, 0, 0,229, 1, 4, 0, 35, 0, 7, 0, 88, 3,
+ 7, 0, 89, 3, 7, 0, 90, 3, 7, 0, 91, 3, 7, 0, 92, 3, 7, 0, 93, 3, 26, 0, 94, 3, 28, 0, 77, 0, 30, 0, 64, 2,
+ 79, 0,112, 2, 0, 0, 69, 0, 7, 0, 95, 3, 7, 0, 96, 3,153, 0, 97, 3,155, 0, 3, 0,155, 0, 0, 0,155, 0, 1, 0,
+ 0, 0, 18, 0, 62, 0, 3, 0, 7, 0, 98, 3, 4, 0, 17, 0, 4, 0, 35, 0, 24, 0,129, 0, 19, 0, 29, 0, 31, 0, 72, 0,
+156, 0, 99, 3, 2, 0, 15, 0, 2, 0,100, 3, 4, 0,101, 3, 4, 0,102, 3, 4, 0,103, 3, 0, 0,104, 3, 24, 0, 36, 0,
+ 24, 0,105, 3, 24, 0,106, 3, 24, 0,107, 3, 24, 0,108, 3, 28, 0, 77, 0, 70, 0, 63, 2, 62, 0,255, 1,157, 0,109, 3,
+157, 0,110, 3,158, 0,111, 3, 9, 0, 2, 0,159, 0,112, 3,160, 0,113, 3,161, 0,114, 3, 12, 0,115, 3, 12, 0,116, 3,
+ 12, 0, 19, 2, 12, 0,117, 3, 12, 0,118, 3, 4, 0, 72, 1, 4, 0,119, 3, 57, 0, 21, 2, 0, 0,120, 3, 4, 0, 23, 2,
+ 4, 0,121, 3, 7, 0, 67, 1, 7, 0,122, 3, 7, 0,123, 3, 7, 0,167, 0, 7, 0,124, 3, 7, 0, 68, 1, 7, 0,125, 3,
+ 7, 0, 9, 2, 7, 0,126, 3, 7, 0,127, 3, 7, 0,128, 3, 7, 0,129, 3, 7, 0,130, 3, 7, 0,131, 3, 7, 0,251, 2,
+ 7, 0,132, 3, 7, 0,237, 0, 7, 0,133, 3, 4, 0,134, 3, 2, 0, 17, 0, 2, 0,135, 3, 2, 0,136, 3, 2, 0,137, 3,
+ 2, 0,138, 3, 2, 0,139, 3, 2, 0,140, 3, 2, 0,141, 3, 2, 0,142, 3, 2, 0,143, 3, 2, 0,144, 3, 2, 0,145, 3,
+ 4, 0,146, 3, 4, 0,147, 3, 4, 0,148, 3, 4, 0,149, 3, 7, 0,150, 3, 7, 0, 99, 2, 7, 0,151, 3, 7, 0,152, 3,
+ 7, 0,153, 3, 7, 0,154, 3, 7, 0,155, 3, 7, 0,212, 0, 7, 0,156, 3, 7, 0,157, 3, 7, 0,158, 3, 7, 0,159, 3,
+ 2, 0,160, 3, 0, 0,161, 3, 0, 0,106, 0, 0, 0,162, 3, 0, 0,163, 3, 7, 0,164, 3, 7, 0,165, 3, 12, 0,166, 3,
+ 12, 0,167, 3, 12, 0,168, 3, 12, 0,169, 3, 7, 0,170, 3, 2, 0,252, 1, 2, 0,171, 3, 7, 0,134, 2, 4, 0,172, 3,
+ 4, 0,173, 3,162, 0,174, 3, 2, 0,175, 3, 2, 0,244, 0, 7, 0,176, 3, 12, 0,177, 3, 12, 0,178, 3, 12, 0,179, 3,
+ 12, 0,180, 3,163, 0, 64, 1,164, 0,181, 3, 58, 0,182, 3, 2, 0,183, 3, 2, 0,184, 3, 2, 0, 57, 2, 2, 0,185, 3,
+ 7, 0,125, 2, 2, 0,186, 3, 2, 0,187, 3,146, 0,188, 3,134, 0,189, 3,134, 0,190, 3, 4, 0,191, 3, 4, 0,192, 3,
+ 4, 0,193, 3, 4, 0,194, 3, 12, 0,195, 3, 12, 0,196, 3, 12, 0,197, 3, 7, 0,198, 3, 0, 0,199, 3,165, 0, 14, 0,
+165, 0, 0, 0,165, 0, 1, 0, 24, 0, 36, 0, 7, 0,251, 2, 7, 0, 69, 1, 7, 0,252, 2, 7, 0,244, 2, 0, 0, 18, 0,
+ 4, 0,253, 2, 4, 0,254, 2, 4, 0,200, 3, 2, 0, 15, 0, 2, 0,201, 3, 7, 0,255, 2,166, 0, 12, 0,166, 0, 0, 0,
+166, 0, 1, 0, 24, 0, 42, 0, 4, 0,202, 3, 4, 0,252, 1, 4, 0,203, 3, 4, 0, 15, 0, 4, 0,204, 3, 7, 0, 69, 1,
+ 7, 0,205, 3, 7, 0,206, 3, 7, 0,150, 2,163, 0, 40, 0, 4, 0, 17, 0, 2, 0,207, 3, 2, 0,208, 3, 2, 0,244, 2,
+ 2, 0,209, 3, 2, 0,210, 3, 2, 0,211, 3, 2, 0,212, 3, 2, 0,213, 3, 7, 0,214, 3, 7, 0,215, 3, 7, 0,216, 3,
+ 7, 0,217, 3, 7, 0,218, 3, 7, 0,219, 3, 7, 0,220, 3, 7, 0,221, 3, 7, 0,222, 3, 7, 0,223, 3, 7, 0,224, 3,
+ 7, 0,225, 3, 7, 0,226, 3, 7, 0,227, 3, 7, 0,228, 3, 7, 0,229, 3, 7, 0,230, 3, 7, 0,231, 3, 7, 0,232, 3,
+ 7, 0,233, 3, 7, 0,234, 3, 7, 0,235, 3, 7, 0,236, 3, 7, 0,237, 3, 7, 0,238, 3, 7, 0,239, 3, 7, 0,240, 3,
+ 44, 0,160, 0,167, 0,241, 3, 7, 0,242, 3, 4, 0,195, 2,168, 0, 5, 0, 58, 0,232, 1, 7, 0,243, 3, 7, 0,244, 3,
+ 2, 0, 17, 0, 2, 0,245, 3,169, 0, 5, 0,169, 0, 0, 0,169, 0, 1, 0, 4, 0, 15, 0, 4, 0,246, 3, 9, 0, 2, 0,
+170, 0, 9, 0,170, 0, 0, 0,170, 0, 1, 0, 4, 0,247, 3, 4, 0,248, 3, 4, 0,249, 3, 4, 0, 17, 0, 9, 0,250, 3,
+ 9, 0,251, 3, 12, 0,252, 3,130, 0, 21, 0,130, 0, 0, 0,130, 0, 1, 0, 4, 0, 17, 0, 4, 0,253, 3, 4, 0,254, 3,
+ 4, 0,255, 3, 4, 0, 0, 4, 4, 0, 1, 4, 4, 0, 2, 4, 4, 0,248, 3, 4, 0,252, 1, 2, 0, 3, 4, 2, 0, 54, 0,
+ 0, 0, 4, 4, 0, 0, 5, 4, 0, 0, 6, 4, 0, 0, 7, 4, 0, 0, 8, 4, 12, 0, 9, 4,171, 0, 10, 4, 9, 0, 11, 4,
+172, 0, 1, 0, 7, 0, 37, 2,162, 0, 30, 0, 4, 0, 17, 0, 7, 0, 12, 4, 7, 0, 13, 4, 7, 0, 14, 4, 4, 0, 15, 4,
+ 4, 0, 16, 4, 4, 0, 17, 4, 4, 0, 18, 4, 7, 0, 19, 4, 7, 0, 20, 4, 7, 0, 21, 4, 7, 0, 22, 4, 7, 0, 23, 4,
+ 7, 0, 24, 4, 7, 0, 25, 4, 7, 0, 26, 4, 7, 0, 27, 4, 7, 0, 28, 4, 7, 0, 29, 4, 7, 0, 30, 4, 7, 0, 31, 4,
+ 7, 0, 32, 4, 7, 0, 33, 4, 7, 0, 34, 4, 7, 0, 35, 4, 7, 0, 36, 4, 4, 0, 37, 4, 4, 0, 38, 4, 7, 0, 39, 4,
+ 7, 0,156, 3,164, 0, 54, 0, 4, 0,248, 3, 4, 0, 40, 4,173, 0, 41, 4,174, 0, 42, 4, 0, 0, 35, 0, 0, 0, 43, 4,
+ 2, 0, 44, 4, 7, 0, 45, 4, 0, 0, 46, 4, 7, 0, 47, 4, 7, 0, 48, 4, 7, 0, 49, 4, 7, 0, 50, 4, 7, 0, 51, 4,
+ 7, 0, 52, 4, 7, 0, 53, 4, 7, 0, 54, 4, 7, 0, 55, 4, 2, 0, 56, 4, 0, 0, 57, 4, 2, 0, 58, 4, 7, 0, 59, 4,
+ 7, 0, 60, 4, 0, 0, 61, 4, 4, 0,121, 0, 4, 0, 62, 4, 4, 0, 63, 4, 2, 0, 64, 4, 2, 0, 65, 4,172, 0, 66, 4,
+ 4, 0, 67, 4, 4, 0, 79, 0, 7, 0, 68, 4, 7, 0, 69, 4, 7, 0, 70, 4, 7, 0, 71, 4, 2, 0, 72, 4, 2, 0, 73, 4,
+ 2, 0, 74, 4, 2, 0, 75, 4, 2, 0, 76, 4, 2, 0, 77, 4, 2, 0, 78, 4, 2, 0, 79, 4,175, 0, 80, 4, 7, 0, 81, 4,
+ 7, 0, 82, 4,130, 0, 83, 4, 12, 0, 4, 3,168, 0, 84, 4, 7, 0, 85, 4, 7, 0, 86, 4, 7, 0, 87, 4, 0, 0, 88, 4,
+176, 0, 1, 0, 7, 0, 89, 4,146, 0, 50, 0,145, 0, 90, 4, 2, 0, 15, 0, 2, 0, 91, 4, 2, 0, 92, 4, 2, 0, 93, 4,
+ 7, 0, 94, 4, 2, 0, 95, 4, 2, 0, 96, 4, 7, 0, 97, 4, 2, 0, 98, 4, 2, 0, 99, 4, 7, 0,100, 4, 7, 0,101, 4,
+ 7, 0,102, 4, 4, 0,103, 4, 4, 0,104, 4, 7, 0,105, 4, 4, 0,106, 4, 7, 0,107, 4, 7, 0,108, 4, 7, 0,109, 4,
+ 73, 0,110, 4, 73, 0,111, 4, 0, 0,112, 4, 7, 0,113, 4, 7, 0,114, 4, 28, 0, 77, 0, 2, 0,115, 4, 0, 0,116, 4,
+ 0, 0,117, 4, 7, 0,118, 4, 4, 0,119, 4, 7, 0,120, 4, 7, 0,121, 4, 4, 0,122, 4, 4, 0, 17, 0, 7, 0,123, 4,
+ 7, 0,124, 4, 7, 0,125, 4,176, 0,126, 4, 4, 0, 51, 0, 7, 0,127, 4, 7, 0,128, 4, 7, 0,129, 4, 7, 0,130, 4,
+ 7, 0,131, 4, 7, 0,132, 4, 7, 0,133, 4, 4, 0,134, 4, 4, 0, 35, 0,177, 0, 76, 0, 19, 0, 29, 0, 31, 0, 72, 0,
+ 2, 0,170, 0, 2, 0, 73, 1, 2, 0,107, 1, 2, 0,135, 4, 7, 0,136, 4, 7, 0,137, 4, 7, 0,138, 4, 7, 0,139, 4,
+ 7, 0,140, 4, 7, 0,141, 4, 7, 0,153, 1, 7, 0,155, 1, 7, 0,154, 1, 7, 0, 67, 0, 4, 0,142, 4, 7, 0,143, 4,
+ 7, 0,144, 4, 7, 0,145, 4, 7, 0,146, 4, 7, 0,147, 4, 7, 0,148, 4, 7, 0,149, 4, 2, 0,150, 4, 2, 0, 72, 1,
+ 2, 0,151, 4, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 2, 0,156, 4, 7, 0,157, 4, 7, 0,158, 4,
+ 7, 0,159, 4, 7, 0,160, 4, 7, 0,161, 4, 7, 0,162, 4, 7, 0,163, 4, 7, 0,164, 4, 7, 0,165, 4, 7, 0,166, 4,
+ 7, 0,167, 4, 7, 0,168, 4, 2, 0,169, 4, 2, 0,170, 4, 2, 0,171, 4, 2, 0,172, 4, 7, 0,173, 4, 7, 0,174, 4,
+ 7, 0,175, 4, 7, 0,176, 4, 2, 0,177, 4, 2, 0,178, 4, 2, 0,179, 4, 2, 0,180, 4, 7, 0,181, 4, 7, 0,182, 4,
+ 7, 0,183, 4, 7, 0,184, 4, 7, 0,185, 4, 7, 0,186, 4, 7, 0,187, 4, 2, 0,188, 4, 2, 0,189, 4, 2, 0,190, 4,
+ 2, 0,191, 4, 2, 0,192, 4, 2, 0, 17, 0, 7, 0,193, 4, 7, 0,194, 4, 28, 0, 77, 0, 43, 0,125, 1, 2, 0,126, 1,
+ 2, 0,195, 4, 22, 0,146, 0,178, 0, 8, 0,178, 0, 0, 0,178, 0, 1, 0, 4, 0,134, 3, 4, 0,196, 4, 4, 0, 17, 0,
+ 2, 0,197, 4, 2, 0,198, 4, 24, 0,159, 0,179, 0, 13, 0, 9, 0,199, 4, 9, 0,200, 4, 4, 0,201, 4, 4, 0,202, 4,
+ 4, 0,203, 4, 4, 0,204, 4, 4, 0,205, 4, 4, 0,206, 4, 4, 0,207, 4, 4, 0,208, 4, 4, 0,209, 4, 4, 0, 35, 0,
+ 0, 0,210, 4,180, 0, 5, 0, 9, 0,211, 4, 9, 0,212, 4, 4, 0,213, 4, 4, 0, 67, 0, 0, 0,214, 4,181, 0, 17, 0,
+ 4, 0,215, 4, 4, 0,216, 4, 4, 0,217, 4, 4, 0,218, 4, 4, 0,219, 4, 4, 0,220, 4, 4, 0,221, 4, 4, 0,222, 4,
+ 4, 0,223, 4, 4, 0,224, 4, 4, 0,225, 4, 4, 0,226, 4, 2, 0,227, 4, 2, 0,228, 4, 4, 0,229, 4, 4, 0,230, 4,
+ 4, 0, 87, 0,182, 0, 15, 0, 4, 0, 15, 0, 4, 0,217, 4, 4, 0,231, 4, 4, 0,232, 4, 4, 0,233, 4, 4, 0,234, 4,
+ 7, 0,235, 4, 4, 0,236, 4, 4, 0, 88, 0, 4, 0,237, 4, 4, 0,238, 4, 4, 0,239, 4, 4, 0,240, 4, 4, 0,241, 4,
+ 18, 0, 28, 0,183, 0, 7, 0, 4, 0,242, 4, 7, 0,243, 4, 7, 0,244, 4, 7, 0,245, 4, 4, 0,246, 4, 2, 0, 17, 0,
+ 2, 0, 35, 0,184, 0, 11, 0,184, 0, 0, 0,184, 0, 1, 0, 0, 0, 18, 0, 57, 0,247, 4, 58, 0,248, 4, 4, 0,134, 3,
+ 4, 0,249, 4, 4, 0,250, 4, 4, 0, 35, 0, 4, 0,251, 4, 4, 0,252, 4,185, 0,105, 0,179, 0,253, 4,180, 0,254, 4,
+181, 0,255, 4,182, 0, 0, 5, 4, 0, 19, 3, 4, 0,121, 0, 4, 0, 62, 4, 7, 0, 1, 5, 4, 0, 2, 5, 4, 0, 3, 5,
+ 4, 0, 4, 5, 4, 0, 5, 5, 2, 0, 17, 0, 2, 0, 6, 5, 7, 0, 7, 5, 7, 0, 8, 5, 7, 0, 9, 5, 7, 0, 10, 5,
+ 7, 0, 11, 5, 2, 0, 12, 5, 2, 0, 13, 5, 2, 0, 14, 5, 2, 0, 15, 5, 2, 0,243, 0, 2, 0, 16, 5, 4, 0, 17, 5,
+ 2, 0, 18, 5, 2, 0, 19, 5, 2, 0, 94, 1, 2, 0,104, 0, 2, 0, 20, 5, 2, 0, 21, 5, 2, 0, 22, 5, 2, 0, 23, 5,
+ 2, 0, 24, 5, 2, 0, 25, 5, 2, 0, 26, 5, 2, 0, 27, 5, 2, 0, 28, 5, 2, 0, 29, 5, 4, 0, 30, 5, 4, 0, 72, 1,
+ 4, 0, 31, 5, 2, 0, 32, 5, 2, 0, 33, 5, 2, 0, 34, 5, 2, 0, 35, 5, 2, 0, 36, 5, 2, 0, 37, 5, 2, 0, 38, 5,
+ 2, 0, 39, 5, 16, 0, 40, 5, 16, 0, 41, 5, 15, 0, 42, 5, 12, 0, 43, 5, 2, 0, 44, 5, 2, 0, 45, 5, 7, 0, 46, 5,
+ 7, 0, 47, 5, 7, 0, 48, 5, 7, 0, 49, 5, 4, 0, 50, 5, 7, 0, 51, 5, 7, 0, 52, 5, 7, 0, 53, 5, 7, 0, 54, 5,
+ 2, 0, 55, 5, 2, 0, 56, 5, 2, 0, 57, 5, 2, 0, 58, 5, 2, 0, 59, 5, 2, 0, 60, 5, 7, 0, 61, 5, 7, 0, 62, 5,
+ 7, 0, 63, 5, 0, 0, 64, 5, 4, 0, 65, 5, 2, 0, 66, 5, 2, 0,229, 1, 0, 0, 67, 5, 7, 0, 68, 5, 7, 0, 69, 5,
+ 0, 0, 70, 5, 0, 0, 71, 5, 0, 0, 72, 5, 0, 0, 73, 5, 4, 0, 74, 5, 2, 0, 75, 5, 2, 0, 76, 5, 7, 0, 77, 5,
+ 7, 0, 78, 5, 2, 0, 79, 5, 2, 0, 80, 5, 7, 0, 81, 5, 2, 0, 82, 5, 2, 0, 83, 5, 4, 0, 84, 5, 2, 0, 85, 5,
+ 2, 0, 86, 5, 2, 0, 87, 5, 2, 0, 88, 5, 7, 0, 89, 5, 7, 0, 67, 0, 34, 0, 90, 5, 0, 0, 91, 5,186, 0, 9, 0,
+186, 0, 0, 0,186, 0, 1, 0, 0, 0, 18, 0, 2, 0, 92, 5, 2, 0, 93, 5, 2, 0, 94, 5, 2, 0, 87, 0, 7, 0, 95, 5,
+ 7, 0, 67, 0,187, 0, 7, 0, 2, 0,212, 2, 2, 0, 72, 1, 2, 0, 76, 3, 2, 0, 96, 5, 7, 0, 97, 5, 7, 0, 67, 0,
+ 34, 0, 98, 5,188, 0, 5, 0, 7, 0, 99, 5, 0, 0, 15, 0, 0, 0, 87, 0, 0, 0, 67, 0, 0, 0,229, 1,189, 0, 28, 0,
+ 7, 0,148, 4, 7, 0,149, 4, 2, 0, 72, 1, 2, 0, 17, 0, 2, 0,100, 5, 2, 0,195, 4, 2, 0,151, 4, 2, 0,152, 4,
+ 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 2, 0,156, 4,188, 0,101, 5, 2, 0, 12, 5, 2, 0, 13, 5, 2, 0, 14, 5,
+ 2, 0, 15, 5, 2, 0,243, 0, 2, 0, 16, 5, 2, 0,102, 5, 2, 0,103, 5,187, 0,104, 5, 2, 0,105, 5, 2, 0, 18, 5,
+ 2, 0, 21, 5, 2, 0, 22, 5, 7, 0,106, 5, 7, 0, 87, 0,190, 0, 6, 0,190, 0, 0, 0,190, 0, 1, 0, 4, 0,247, 3,
+ 0, 0, 4, 4, 4, 0, 17, 0, 24, 0,107, 5,191, 0, 4, 0,192, 0,108, 5, 9, 0,109, 5, 0, 0,110, 5, 4, 0, 88, 0,
+193, 0, 8, 0,191, 0,111, 5, 2, 0, 17, 0, 2, 0, 35, 0, 2, 0,112, 5, 2, 0,113, 5, 2, 0,114, 5, 4, 0, 87, 0,
+ 9, 0,115, 5,194, 0, 6, 0, 2, 0,104, 0, 2, 0,253, 3, 2, 0,116, 5, 2, 0,206, 2, 4, 0, 17, 0, 7, 0,223, 2,
+195, 0, 14, 0, 2, 0, 17, 0, 2, 0,117, 5, 2, 0,118, 5, 2, 0,119, 5,194, 0,120, 5, 9, 0,115, 5, 7, 0,121, 5,
+ 7, 0, 54, 0, 4, 0,122, 5, 4, 0,123, 5, 4, 0,124, 5, 4, 0,125, 5, 38, 0,117, 0, 24, 0,159, 0,196, 0, 4, 0,
+196, 0, 0, 0,196, 0, 1, 0, 0, 0,126, 5, 7, 0,127, 5,197, 0, 14, 0,191, 0,111, 5, 4, 0, 88, 0, 4, 0,128, 5,
+ 7, 0,129, 5, 7, 0,130, 5, 7, 0,131, 5, 4, 0,132, 5, 4, 0,133, 5, 7, 0,134, 5, 7, 0,135, 5, 4, 0,136, 5,
+ 7, 0,137, 5, 7, 0,138, 5, 4, 0, 35, 0,198, 0, 7, 0,191, 0,111, 5, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0, 34, 0,
+ 4, 0,139, 5, 79, 0,140, 5, 9, 0,115, 5,199, 0, 82, 0,198, 0,141, 5,198, 0,142, 5,197, 0, 99, 3, 7, 0,143, 5,
+ 2, 0,144, 5, 2, 0,145, 5, 7, 0,146, 5, 7, 0,147, 5, 2, 0,253, 3, 2, 0,148, 5, 7, 0,149, 5, 7, 0,150, 5,
+ 7, 0,151, 5, 2, 0,152, 5, 2, 0,122, 5, 2, 0,153, 5, 2, 0,154, 5, 2, 0,155, 5, 2, 0,156, 5, 7, 0,157, 5,
+ 7, 0,158, 5, 7, 0,159, 5, 2, 0,160, 5, 2, 0,161, 5, 2, 0,162, 5, 2, 0,163, 5, 2, 0,164, 5, 2, 0,165, 5,
+ 2, 0,166, 5, 2, 0,167, 5,193, 0,168, 5,195, 0,169, 5, 7, 0,170, 5, 7, 0,171, 5, 7, 0,172, 5, 2, 0,173, 5,
+ 2, 0,174, 5, 0, 0,175, 5, 0, 0,176, 5, 0, 0,177, 5, 0, 0,178, 5, 0, 0,179, 5, 0, 0,180, 5, 2, 0,181, 5,
+ 7, 0,182, 5, 7, 0,183, 5, 7, 0,184, 5, 7, 0,185, 5, 7, 0,186, 5, 7, 0,187, 5, 7, 0,188, 5, 7, 0,189, 5,
+ 7, 0,190, 5, 7, 0,191, 5, 2, 0,192, 5, 0, 0,193, 5, 0, 0,194, 5, 0, 0,195, 5, 0, 0,196, 5, 24, 0,197, 5,
+ 0, 0,198, 5, 0, 0,199, 5, 0, 0,200, 5, 0, 0,201, 5, 0, 0,202, 5, 0, 0,203, 5, 0, 0,204, 5, 0, 0,205, 5,
+ 0, 0,206, 5, 0, 0,207, 5, 2, 0,208, 5, 2, 0,209, 5, 2, 0,210, 5, 2, 0,211, 5, 0, 0,212, 5, 0, 0,195, 4,
+ 4, 0,213, 5, 2, 0,214, 5, 2, 0, 87, 0, 4, 0,215, 5, 7, 0,216, 5, 7, 0,217, 5,200, 0, 8, 0, 4, 0,218, 5,
+ 4, 0,219, 5, 4, 0,220, 5, 4, 0,221, 5, 4, 0,222, 5, 4, 0,223, 5, 4, 0, 51, 0, 4, 0,122, 2,201, 0, 4, 0,
+ 7, 0,224, 5, 0, 0,225, 5, 0, 0,226, 5, 2, 0, 17, 0,202, 0, 4, 0, 7, 0,227, 5, 4, 0, 17, 0, 4, 0,228, 5,
+ 4, 0, 54, 0, 38, 0, 44, 0, 19, 0, 29, 0, 31, 0, 72, 0, 24, 0,107, 5,177, 0,229, 5, 38, 0,230, 5, 12, 0,231, 5,
+178, 0,232, 5, 24, 0,233, 5, 7, 0,234, 5, 7, 0,235, 5, 7, 0,236, 5, 7, 0,237, 5, 4, 0,134, 3, 4, 0,238, 5,
+ 4, 0,239, 5, 4, 0,192, 3, 4, 0,240, 5, 2, 0, 17, 0, 2, 0, 66, 1, 53, 0, 61, 1,203, 0,241, 5,199, 0,242, 5,
+204, 0,243, 5,185, 0,177, 0,183, 0,244, 5, 12, 0, 98, 0, 12, 0,245, 5, 9, 0,246, 5, 9, 0,247, 5, 9, 0,248, 5,
+ 9, 0,249, 5,205, 0,250, 5, 2, 0,251, 5, 2, 0,252, 5, 2, 0,244, 0, 2, 0,253, 5, 4, 0,254, 5, 4, 0,255, 5,
+ 12, 0, 0, 6,188, 0,101, 5,189, 0, 1, 6,201, 0, 2, 6,159, 0,112, 3,202, 0, 3, 6,206, 0, 11, 0,206, 0, 0, 0,
+206, 0, 1, 0, 39, 0,235, 0, 37, 0, 60, 1, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0,104, 0, 7, 0, 4, 6, 2, 0, 5, 6,
+ 2, 0, 17, 0, 7, 0, 67, 0,207, 0, 38, 0, 7, 0, 6, 6, 7, 0, 7, 6, 7, 0, 8, 6, 7, 0, 9, 6, 7, 0, 10, 6,
+ 7, 0, 11, 6, 7, 0, 12, 6, 7, 0, 13, 6, 7, 0, 14, 6, 7, 0, 79, 1, 7, 0, 15, 6, 7, 0, 16, 6, 7, 0, 17, 6,
+ 7, 0, 18, 6, 7, 0,166, 0, 2, 0, 19, 6, 2, 0, 20, 6, 0, 0, 21, 6, 0, 0,195, 4, 2, 0, 22, 6, 2, 0, 23, 6,
+ 2, 0, 24, 6, 2, 0, 5, 6, 7, 0, 25, 6, 7, 0, 26, 6, 62, 0, 27, 6,159, 0,112, 3,207, 0, 28, 6,208, 0, 29, 6,
+209, 0, 30, 6,210, 0, 31, 6,211, 0, 32, 6, 7, 0, 33, 6, 2, 0, 34, 6, 2, 0, 35, 6, 7, 0, 36, 6, 7, 0, 37, 6,
+ 7, 0, 38, 6,212, 0, 50, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,
+ 7, 0, 14, 6, 7, 0, 79, 1, 7, 0, 87, 0, 4, 0, 43, 6, 2, 0, 24, 6, 2, 0, 5, 6, 24, 0,107, 5, 24, 0, 44, 6,
+ 12, 0, 45, 6,206, 0, 46, 6,212, 0, 28, 6, 0, 0, 47, 6, 4, 0,134, 3, 4, 0,238, 5, 2, 0, 48, 6, 2, 0, 49, 6,
+ 2, 0, 50, 6, 2, 0, 51, 6, 2, 0, 17, 0, 2, 0, 22, 2, 7, 0,110, 0, 7, 0, 52, 6, 7, 0, 53, 6, 7, 0, 54, 6,
+ 7, 0,166, 0, 7, 0,234, 5, 2, 0, 55, 6, 2, 0, 56, 6, 2, 0, 57, 6, 0, 0, 58, 6, 0, 0, 59, 6, 0, 0, 60, 6,
+ 0, 0, 61, 6, 0, 0, 62, 6, 12, 0, 63, 6, 12, 0, 64, 6, 12, 0, 65, 6, 2, 0, 66, 6, 2, 0,135, 2, 2, 0, 67, 6,
+ 0, 0, 68, 6, 0, 0, 69, 6, 9, 0, 70, 6,159, 0,112, 3,214, 0, 24, 0, 16, 0, 34, 0, 16, 0, 61, 0, 15, 0, 71, 6,
+ 15, 0, 72, 6, 15, 0, 73, 6, 7, 0, 74, 6, 7, 0, 75, 6, 7, 0, 76, 6, 7, 0, 77, 6, 2, 0, 78, 6, 2, 0, 79, 6,
+ 2, 0, 80, 6, 2, 0, 81, 6, 2, 0, 82, 6, 2, 0, 17, 0, 2, 0, 83, 6, 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 86, 6,
+ 2, 0, 87, 6, 2, 0, 51, 6, 7, 0, 88, 6, 4, 0, 89, 6, 4, 0, 90, 6,213, 0, 6, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,215, 0, 8, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6,
+ 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6, 0, 0, 91, 6, 0, 0,176, 0,216, 0, 14, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,214, 0, 92, 6,217, 0, 93, 6, 12, 0, 94, 6, 2, 0, 72, 1,
+ 2, 0, 95, 6, 4, 0, 17, 0, 7, 0, 96, 6, 4, 0, 51, 6,218, 0, 21, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6,
+ 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,208, 0, 29, 6,214, 0, 92, 6, 2, 0, 97, 6, 2, 0, 98, 6, 2, 0, 99, 6,
+ 2, 0,100, 6, 2, 0, 83, 6, 2, 0,101, 6, 2, 0,102, 6, 0, 0, 17, 0, 0, 0, 35, 0, 9, 0, 63, 2, 4, 0,103, 6,
+ 4, 0,104, 6, 19, 0,105, 6,219, 0, 18, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6,
+ 2, 0, 42, 6,214, 0, 92, 6, 7, 0, 87, 2, 7, 0, 88, 2, 2, 0, 97, 6, 2, 0,106, 6, 2, 0,107, 6, 2, 0,108, 6,
+ 4, 0, 17, 0, 7, 0,109, 6, 4, 0, 5, 6, 4, 0, 35, 0,159, 0,112, 3,220, 0, 16, 0, 0, 0,110, 6, 0, 0,111, 6,
+ 0, 0,112, 6, 0, 0,113, 6, 0, 0,114, 6, 0, 0,115, 6, 4, 0,116, 6, 4, 0,117, 6, 4, 0,118, 6, 2, 0, 15, 0,
+ 2, 0, 17, 0, 2, 0,119, 6, 2, 0,120, 6, 2, 0,172, 1, 2, 0,121, 6, 0, 0,122, 6,221, 0, 16, 0,213, 0, 0, 0,
+213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 4, 0,123, 6,220, 0,124, 6,222, 0,125, 6, 12, 0,126, 6, 12, 0,127, 6,
+223, 0,128, 6,211, 0,129, 6,224, 0,130, 6, 2, 0,131, 6, 2, 0,132, 6, 2, 0,133, 6, 2, 0, 67, 0,225, 0, 15, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,214, 0, 92, 6, 12, 0,134, 6,
+226, 0,135, 6, 0, 0,136, 6,227, 0,137, 6, 2, 0, 17, 0, 2, 0,138, 6, 2, 0,139, 6, 2, 0,140, 6,228, 0, 25, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 4, 0, 17, 0, 39, 0,227, 2, 37, 0, 60, 1, 51, 0,141, 6,
+229, 0,142, 6,230, 0,143, 6,159, 0,112, 3, 7, 0,144, 6, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0,109, 6, 7, 0,145, 6,
+ 7, 0,146, 6, 2, 0,147, 6, 2, 0,148, 6, 2, 0,149, 6, 2, 0,150, 6, 0, 0,151, 6, 0, 0,152, 6, 0, 0,153, 6,
+ 0, 0, 51, 6,231, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,
+ 2, 0, 95, 6, 2, 0, 17, 0, 4, 0, 35, 0,217, 0, 93, 6,214, 0, 92, 6,232, 0, 31, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6, 34, 0,154, 6, 4, 0,155, 6, 4, 0,156, 6, 2, 0, 88, 0,
+ 2, 0,157, 6, 2, 0,158, 6, 0, 0,159, 6, 0, 0,160, 6, 4, 0,161, 6, 4, 0,162, 6, 4, 0,163, 6, 2, 0,164, 6,
+ 2, 0,165, 6, 2, 0,166, 6, 2, 0,167, 6, 7, 0,168, 6, 15, 0,169, 6, 15, 0,170, 6, 4, 0,171, 6, 4, 0,172, 6,
+ 0, 0,173, 6, 0, 0,174, 6, 2, 0,175, 6, 0, 0,192, 2, 9, 0,176, 6,233, 0, 10, 0, 19, 0, 29, 0, 9, 0,177, 6,
+ 9, 0,178, 6, 9, 0,179, 6, 9, 0,180, 6, 9, 0,181, 6, 4, 0, 88, 0, 4, 0,182, 6, 0, 0,183, 6, 0, 0,184, 6,
+234, 0, 10, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6,233, 0,185, 6, 2, 0, 88, 0,
+ 2, 0,157, 6, 4, 0, 87, 0, 9, 0,186, 6,235, 0, 3, 0,235, 0, 0, 0,235, 0, 1, 0, 7, 0,187, 6,236, 0, 11, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6,214, 0, 92, 6, 12, 0,188, 6, 4, 0,189, 6,
+ 4, 0, 35, 0, 4, 0, 17, 0, 4, 0,190, 6,237, 0, 26, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6,
+ 7, 0, 41, 6, 2, 0, 42, 6,214, 0, 92, 6, 19, 0,191, 6, 19, 0, 78, 0, 2, 0, 17, 0, 2, 0,157, 6, 7, 0,192, 6,
+ 9, 0,193, 6, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0,109, 6, 7, 0, 38, 6, 7, 0,194, 6, 7, 0,195, 6, 53, 0, 61, 1,
+ 53, 0,196, 6, 4, 0,197, 6, 2, 0,198, 6, 2, 0,244, 0, 12, 0,199, 6,159, 0,112, 3,238, 0, 10, 0,213, 0, 0, 0,
+213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6, 2, 0, 17, 0, 2, 0,143, 3, 4, 0, 35, 0,
+159, 0,112, 3,239, 0, 42, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,
+214, 0, 92, 6,222, 0,125, 6, 0, 0,200, 6, 0, 0,111, 6, 0, 0,112, 6, 2, 0, 15, 0, 2, 0,201, 6, 2, 0, 17, 0,
+ 2, 0,119, 6, 9, 0,193, 6, 4, 0,116, 6, 4, 0,202, 6, 4, 0,203, 6, 4, 0,204, 6, 15, 0,205, 6, 15, 0,206, 6,
+ 7, 0,207, 6, 7, 0,208, 6, 7, 0,209, 6, 7, 0,192, 6, 2, 0,210, 6, 2, 0,234, 0, 2, 0,172, 1, 2, 0,211, 6,
+ 2, 0, 35, 0, 2, 0, 87, 0, 2, 0,212, 6, 2, 0,213, 6, 9, 0,214, 6, 9, 0,215, 6, 9, 0,216, 6, 9, 0,217, 6,
+ 9, 0,218, 6, 2, 0,219, 6, 0, 0,220, 6, 49, 0,221, 6,240, 0, 7, 0,240, 0, 0, 0,240, 0, 1, 0, 4, 0,222, 6,
+ 4, 0, 21, 0, 0, 0, 81, 0, 4, 0,223, 6, 4, 0, 15, 0,241, 0, 14, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6,
+ 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6, 4, 0,158, 6, 4, 0, 35, 0, 12, 0,224, 6, 12, 0,225, 6, 0, 0,226, 6,
+ 0, 0,227, 6, 4, 0,228, 6, 4, 0,229, 6,242, 0, 6, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6,
+ 4, 0, 35, 0, 0, 0,230, 6,243, 0, 15, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6,
+244, 0,231, 6,214, 0, 92, 6,245, 0,232, 6, 2, 0, 72, 1, 2, 0,233, 6, 2, 0, 87, 2, 2, 0, 88, 2, 2, 0, 17, 0,
+ 2, 0,149, 6, 4, 0, 67, 0,246, 0, 7, 0,246, 0, 0, 0,246, 0, 1, 0, 0, 0,234, 6, 2, 0,235, 6, 2, 0,236, 6,
+ 2, 0,237, 6, 2, 0, 35, 0,247, 0, 12, 0, 2, 0,236, 6, 2, 0,238, 6, 2, 0,239, 6, 0, 0,192, 2, 2, 0,240, 6,
+ 2, 0,241, 6, 2, 0,242, 6, 2, 0,243, 6, 2, 0,244, 6, 2, 0, 83, 6, 7, 0,245, 6, 7, 0,246, 6,248, 0, 18, 0,
+248, 0, 0, 0,248, 0, 1, 0, 0, 0, 4, 4,247, 0,247, 6,247, 0,248, 6,247, 0,249, 6,247, 0,250, 6, 7, 0,251, 6,
+ 2, 0,252, 6, 2, 0,253, 6, 2, 0,254, 6, 2, 0,255, 6, 2, 0, 0, 7, 2, 0, 1, 7, 2, 0, 2, 7, 2, 0, 3, 7,
+ 2, 0, 4, 7, 2, 0, 5, 7,249, 0, 10, 0, 0, 0, 6, 7, 0, 0, 7, 7, 0, 0, 8, 7, 0, 0, 9, 7, 0, 0, 10, 7,
+ 0, 0, 11, 7, 2, 0, 12, 7, 2, 0, 13, 7, 2, 0, 14, 7, 2, 0, 15, 7,250, 0, 8, 0, 0, 0, 16, 7, 0, 0, 17, 7,
+ 0, 0, 18, 7, 0, 0, 19, 7, 0, 0, 20, 7, 0, 0, 21, 7, 7, 0, 4, 6, 7, 0, 35, 0,251, 0, 18, 0,249, 0, 22, 7,
+249, 0, 23, 7,249, 0, 24, 7,249, 0, 25, 7,249, 0, 26, 7,249, 0, 27, 7,249, 0, 28, 7,249, 0, 29, 7,249, 0, 30, 7,
+249, 0, 31, 7,249, 0, 32, 7,249, 0, 33, 7,249, 0, 34, 7,249, 0, 35, 7,249, 0, 36, 7,249, 0, 37, 7,250, 0, 38, 7,
+ 0, 0, 39, 7,252, 0, 97, 0, 0, 0, 40, 7, 0, 0, 41, 7, 0, 0, 10, 7, 0, 0, 42, 7, 0, 0, 43, 7, 0, 0, 44, 7,
+ 0, 0, 45, 7, 0, 0, 46, 7, 0, 0, 47, 7, 0, 0, 48, 7, 0, 0, 49, 7, 0, 0, 50, 7, 0, 0, 51, 7, 0, 0, 52, 7,
+ 0, 0, 53, 7, 0, 0, 54, 7, 0, 0, 55, 7, 0, 0, 56, 7, 0, 0, 57, 7, 0, 0, 58, 7, 0, 0, 59, 7, 0, 0, 60, 7,
+ 0, 0, 61, 7, 0, 0, 62, 7, 0, 0, 63, 7, 0, 0, 64, 7, 0, 0, 65, 7, 0, 0, 66, 7, 0, 0, 67, 7, 0, 0, 68, 7,
+ 0, 0, 69, 7, 0, 0, 70, 7, 0, 0, 71, 7, 0, 0, 72, 7, 0, 0, 73, 7, 0, 0, 74, 7, 0, 0, 75, 7, 0, 0, 76, 7,
+ 0, 0, 77, 7, 0, 0, 78, 7, 0, 0, 79, 7, 0, 0, 80, 7, 0, 0, 81, 7, 0, 0, 82, 7, 0, 0, 83, 7, 0, 0, 84, 7,
+ 0, 0, 85, 7, 0, 0, 86, 7, 0, 0, 87, 7, 0, 0, 88, 7, 0, 0, 89, 7, 0, 0, 90, 7, 0, 0, 91, 7, 0, 0, 92, 7,
+ 0, 0, 93, 7, 0, 0, 94, 7, 0, 0, 95, 7, 0, 0, 96, 7, 0, 0, 97, 7, 0, 0, 98, 7, 0, 0, 99, 7, 0, 0,100, 7,
+ 0, 0,101, 7, 0, 0,102, 7, 0, 0,103, 7, 0, 0,104, 7, 0, 0,105, 7, 0, 0,106, 7, 0, 0,107, 7, 0, 0,108, 7,
+ 0, 0,109, 7, 0, 0,110, 7, 0, 0,111, 7, 0, 0,112, 7, 0, 0,113, 7, 0, 0,114, 7, 0, 0,115, 7, 0, 0,116, 7,
+ 0, 0,117, 7, 0, 0,118, 7, 0, 0,119, 7, 0, 0,120, 7, 0, 0,121, 7, 0, 0,122, 7, 0, 0,123, 7, 0, 0,124, 7,
+ 0, 0,125, 7, 0, 0,126, 7, 0, 0,127, 7, 0, 0,128, 7, 0, 0,129, 7, 0, 0,130, 7, 0, 0,131, 7, 0, 0,132, 7,
+ 0, 0,133, 7, 0, 0,134, 7, 0, 0,135, 7,253, 0, 5, 0, 0, 0,136, 7, 0, 0, 64, 7, 0, 0, 66, 7, 2, 0, 17, 0,
+ 2, 0, 35, 0,254, 0, 25, 0,254, 0, 0, 0,254, 0, 1, 0, 0, 0, 18, 0,251, 0,137, 7,252, 0,138, 7,252, 0,139, 7,
+252, 0,140, 7,252, 0,141, 7,252, 0,142, 7,252, 0,143, 7,252, 0,144, 7,252, 0,145, 7,252, 0,146, 7,252, 0,147, 7,
+252, 0,148, 7,252, 0,149, 7,252, 0,150, 7,252, 0,151, 7,252, 0,152, 7,252, 0,153, 7,252, 0,154, 7,252, 0,155, 7,
+253, 0,156, 7, 4, 0,157, 7, 4, 0, 35, 0,255, 0, 3, 0,255, 0, 0, 0,255, 0, 1, 0, 0, 0,158, 7, 0, 1, 5, 0,
+ 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,134, 2, 7, 0,159, 7, 7, 0, 37, 2, 1, 1, 89, 0, 4, 0, 17, 0, 4, 0,160, 7,
+ 4, 0,161, 7, 0, 0,162, 7, 0, 0,163, 7, 0, 0,164, 7, 0, 0,165, 7, 0, 0,166, 7, 0, 0,167, 7, 0, 0,168, 7,
+ 0, 0,169, 7, 0, 0,170, 7, 0, 0,171, 7, 4, 0,172, 7, 2, 0,173, 7, 2, 0,174, 7, 2, 0,175, 7, 2, 0,176, 7,
+ 4, 0,177, 7, 4, 0,178, 7, 4, 0,179, 7, 4, 0,180, 7, 2, 0,181, 7, 2, 0,182, 7, 4, 0,183, 7, 4, 0,184, 7,
+ 4, 0,185, 7, 4, 0,186, 7, 4, 0,187, 7, 4, 0,224, 6, 4, 0,188, 7, 2, 0,189, 7, 2, 0,190, 7, 2, 0,191, 7,
+ 2, 0,192, 7, 12, 0,193, 7, 12, 0,194, 7, 12, 0,195, 7, 12, 0,196, 7, 12, 0,197, 7, 0, 0,198, 7, 2, 0,199, 7,
+ 2, 0,200, 7, 2, 0,201, 7, 2, 0,202, 7, 2, 0,203, 7, 2, 0,204, 7, 2, 0,205, 7, 2, 0,206, 7, 0, 1,207, 7,
+ 2, 0,208, 7, 2, 0,209, 7, 2, 0,210, 7, 2, 0,211, 7, 2, 0,212, 7, 2, 0,213, 7, 2, 0,214, 7, 2, 0,215, 7,
+ 4, 0,216, 7, 4, 0,217, 7, 2, 0,218, 7, 2, 0,219, 7, 2, 0,220, 7, 2, 0,221, 7, 2, 0,222, 7, 2, 0,223, 7,
+ 2, 0,224, 7, 2, 0,225, 7, 2, 0,226, 7, 2, 0,227, 7, 2, 0,228, 7, 2, 0,229, 7, 2, 0,230, 7, 2, 0,231, 7,
+ 2, 0,232, 7, 2, 0,233, 7, 2, 0,234, 7, 2, 0,235, 7, 0, 0,236, 7, 0, 0,237, 7, 7, 0,238, 7, 2, 0,173, 5,
+ 2, 0,174, 5, 2, 0,239, 7, 2, 0,240, 7, 47, 0,241, 7, 7, 0,242, 7, 4, 0,229, 1, 0, 0,243, 7, 2, 1, 24, 0,
+ 19, 0, 29, 0, 12, 0,244, 7, 12, 0,245, 7, 12, 0,246, 7, 12, 0, 39, 6, 38, 0,117, 0, 38, 0,247, 7, 4, 0,248, 7,
+ 4, 0, 87, 0, 2, 0,249, 7, 2, 0,250, 7, 2, 0,251, 7, 2, 0,252, 7, 2, 0,253, 7, 2, 0,254, 7, 2, 0,255, 7,
+ 2, 0, 0, 8, 2, 0, 1, 8, 2, 0, 2, 8, 2, 0, 3, 8, 2, 0, 35, 0,211, 0, 4, 8, 9, 0, 5, 8, 2, 0, 6, 8,
+ 3, 1, 5, 0, 3, 1, 0, 0, 3, 1, 1, 0, 3, 1, 7, 8, 13, 0, 8, 8, 4, 0, 17, 0, 4, 1, 7, 0, 4, 1, 0, 0,
+ 4, 1, 1, 0, 3, 1, 9, 8, 3, 1, 10, 8, 2, 0, 41, 5, 2, 0, 17, 0, 4, 0, 35, 0, 5, 1, 25, 0, 5, 1, 0, 0,
+ 5, 1, 1, 0, 6, 1, 11, 8, 7, 1,130, 6, 0, 0, 12, 8, 0, 0, 13, 8, 0, 0, 14, 8, 2, 0, 15, 8, 2, 0, 16, 8,
+ 2, 0, 17, 8, 2, 0, 18, 8, 2, 0, 19, 8, 2, 0, 35, 0, 2, 0, 17, 0, 2, 0, 20, 8, 2, 0, 21, 8, 2, 0, 22, 8,
+ 4, 0, 23, 8, 5, 1, 24, 8, 9, 0, 25, 8, 4, 0, 26, 8, 4, 0, 27, 8, 4, 0, 28, 8, 4, 0, 29, 8, 0, 0, 30, 8,
+244, 0, 22, 0,244, 0, 0, 0,244, 0, 1, 0, 3, 1, 9, 8, 3, 1, 10, 8, 3, 1, 31, 8, 3, 1, 32, 8, 2, 1, 33, 8,
+ 15, 0, 49, 0, 0, 0, 40, 6, 0, 0, 34, 8, 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 35, 8, 2, 0, 35, 0, 2, 0,253, 7,
+ 2, 0,223, 6, 2, 0, 17, 0, 8, 1, 11, 8, 12, 0, 36, 8, 12, 0, 39, 6, 12, 0, 37, 8, 12, 0, 38, 8, 9, 1, 24, 0,
+ 9, 1, 0, 0, 9, 1, 1, 0,214, 0, 92, 6, 15, 0, 39, 8, 15, 0, 40, 8, 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 41, 8,
+ 2, 0, 42, 8, 2, 0, 43, 8, 2, 0, 17, 0, 7, 0, 83, 2, 2, 0, 17, 8, 2, 0, 18, 8, 2, 0,252, 7, 2, 0, 44, 8,
+ 2, 0, 1, 8, 2, 0,195, 4, 10, 1, 11, 8, 12, 0, 45, 8, 12, 0, 46, 8, 12, 0, 37, 8, 0, 0, 47, 8, 9, 0, 48, 8,
+ 11, 1, 14, 0, 0, 0, 49, 8, 2, 0, 50, 8, 2, 0, 51, 8, 2, 0, 52, 8, 2, 0, 53, 8, 2, 0, 29, 5, 2, 0, 54, 8,
+ 2, 1, 55, 8, 38, 0, 56, 8, 4, 0, 57, 8, 4, 0, 58, 8, 4, 0, 59, 8, 4, 0, 35, 0, 0, 0, 60, 8, 12, 1, 3, 0,
+ 0, 0, 61, 8, 4, 0, 62, 8, 4, 0, 63, 8, 13, 1, 4, 0, 4, 0,155, 6, 4, 0, 64, 8, 4, 0,161, 6, 4, 0, 65, 8,
+ 14, 1, 2, 0, 4, 0, 66, 8, 4, 0, 67, 8, 15, 1, 5, 0, 7, 0, 68, 8, 7, 0, 69, 8, 7, 0, 70, 8, 4, 0, 17, 0,
+ 4, 0, 35, 0, 16, 1, 6, 0, 0, 0, 71, 8, 0, 0,112, 6, 41, 0,130, 0, 2, 0,104, 0, 2, 0, 28, 5, 4, 0, 35, 0,
+ 17, 1, 14, 0, 17, 1, 0, 0, 17, 1, 1, 0, 4, 0, 54, 0, 4, 0, 21, 0, 4, 0, 26, 0, 4, 0, 72, 8, 4, 0, 73, 8,
+ 4, 0, 74, 8, 12, 1, 75, 8, 0, 0, 71, 8, 16, 1,106, 3, 13, 1, 76, 8, 14, 1, 77, 8, 15, 1, 78, 8, 18, 1, 12, 0,
+ 0, 0,254, 1, 9, 0,220, 0, 0, 0,221, 0, 4, 0,224, 0, 4, 0,232, 0, 9, 0,225, 0, 7, 0,227, 0, 7, 0,228, 0,
+ 9, 0, 79, 8, 9, 0, 80, 8, 9, 0,229, 0, 9, 0,231, 0, 19, 1, 48, 0, 19, 1, 0, 0, 19, 1, 1, 0, 9, 0, 81, 8,
+ 9, 0, 24, 0, 0, 0, 25, 0, 4, 0, 17, 0, 4, 0, 15, 0, 4, 0, 21, 0, 4, 0, 85, 0, 4, 0, 82, 8, 4, 0, 83, 8,
+ 4, 0, 73, 8, 4, 0, 74, 8, 4, 0, 84, 8, 4, 0,243, 0, 4, 0, 85, 8, 4, 0, 86, 8, 7, 0, 87, 8, 7, 0, 35, 0,
+ 7, 0, 88, 8, 7, 0, 89, 8, 4, 0,121, 0, 4, 0, 90, 8, 17, 1, 91, 8, 28, 0, 77, 0, 38, 0,117, 0, 24, 0, 92, 8,
+ 41, 0,130, 0, 7, 0, 93, 8, 7, 0, 94, 8, 18, 1, 62, 1, 19, 1, 95, 8, 19, 1, 96, 8, 19, 1, 97, 8, 12, 0, 98, 8,
+245, 0,232, 6, 9, 0, 99, 8, 7, 0, 14, 4, 7, 0,100, 8, 7, 0,101, 8, 4, 0,102, 8, 4, 0,103, 8, 7, 0,104, 8,
+ 9, 0,105, 8, 4, 0,106, 8, 4, 0,107, 8, 4, 0,108, 8, 7, 0,109, 8, 20, 1, 4, 0, 20, 1, 0, 0, 20, 1, 1, 0,
+ 12, 0,110, 8, 19, 1,111, 8,203, 0, 11, 0, 12, 0,112, 8, 12, 0, 98, 8, 12, 0,113, 8, 19, 1,114, 8, 0, 0,115, 8,
+ 0, 0,116, 8, 4, 0,117, 8, 4, 0,118, 8, 4, 0,119, 8, 4, 0, 35, 0, 16, 0,120, 8, 21, 1, 4, 0, 7, 0,121, 8,
+ 7, 0, 76, 3, 2, 0,122, 8, 2, 0,123, 8, 22, 1, 6, 0, 7, 0,124, 8, 7, 0,125, 8, 7, 0,126, 8, 7, 0,127, 8,
+ 4, 0,128, 8, 4, 0,129, 8, 23, 1, 13, 0, 7, 0,130, 8, 7, 0,131, 8, 7, 0,132, 8, 7, 0,133, 8, 7, 0,134, 8,
+ 7, 0,135, 8, 7, 0,136, 8, 7, 0,137, 8, 7, 0,138, 8, 7, 0,139, 8, 4, 0,233, 2, 4, 0,140, 8, 4, 0,141, 8,
+ 24, 1, 2, 0, 7, 0, 99, 5, 7, 0, 35, 0, 25, 1, 5, 0, 7, 0,142, 8, 7, 0,143, 8, 4, 0, 88, 0, 4, 0,193, 2,
+ 4, 0,144, 8, 26, 1, 6, 0, 26, 1, 0, 0, 26, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,145, 8, 2, 0, 54, 0,
+ 27, 1, 8, 0, 27, 1, 0, 0, 27, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,145, 8, 2, 0, 54, 0, 7, 0, 21, 0,
+ 7, 0,121, 0, 28, 1, 45, 0, 28, 1, 0, 0, 28, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,145, 8, 2, 0,239, 0,
+ 2, 0, 56, 4, 2, 0,146, 8, 7, 0,147, 8, 7, 0, 86, 0, 7, 0,246, 2, 4, 0,148, 8, 4, 0, 79, 0, 4, 0,195, 2,
+ 7, 0,149, 8, 7, 0,150, 8, 7, 0,151, 8, 7, 0,152, 8, 7, 0,153, 8, 7, 0,154, 8, 7, 0,243, 2, 7, 0, 59, 1,
+ 7, 0,155, 8, 7, 0,156, 8, 7, 0, 35, 0, 7, 0,157, 8, 7, 0,158, 8, 7, 0,159, 8, 2, 0,160, 8, 2, 0,161, 8,
+ 2, 0,162, 8, 2, 0,163, 8, 2, 0,164, 8, 2, 0,165, 8, 2, 0,166, 8, 2, 0,167, 8, 2, 0, 22, 2, 2, 0,168, 8,
+ 2, 0, 19, 2, 2, 0,169, 8, 0, 0,170, 8, 0, 0,171, 8, 7, 0,237, 0, 29, 1,172, 8, 58, 0,232, 1, 30, 1, 16, 0,
+ 30, 1, 0, 0, 30, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,145, 8, 2, 0,239, 0, 7, 0,238, 2, 7, 0,239, 2,
+ 7, 0,240, 2, 7, 0, 72, 2, 7, 0,241, 2, 7, 0,242, 2, 7, 0,173, 8, 7, 0,243, 2, 7, 0,245, 2, 7, 0,246, 2,
+227, 0, 5, 0, 2, 0, 15, 0, 2, 0,174, 8, 2, 0, 17, 0, 2, 0,175, 8, 19, 0,191, 6,226, 0, 3, 0, 4, 0, 66, 0,
+ 4, 0,176, 8,227, 0, 2, 0, 31, 1, 7, 0, 31, 1, 0, 0, 31, 1, 1, 0, 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, 0,
+ 4, 0, 20, 0, 9, 0,177, 8, 32, 1, 5, 0, 0, 0, 18, 0, 7, 0, 79, 1, 7, 0,178, 8, 4, 0,179, 8, 4, 0, 35, 0,
+ 33, 1, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 87, 0, 2, 0, 67, 0, 34, 1, 4, 0, 0, 0, 18, 0, 57, 0,180, 8,
+ 7, 0, 79, 1, 7, 0, 35, 0, 35, 1, 6, 0, 2, 0,181, 8, 2, 0,182, 8, 2, 0, 15, 0, 2, 0,183, 8, 0, 0,184, 8,
+ 0, 0,185, 8, 36, 1, 5, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 0, 0,186, 8, 0, 0,187, 8, 37, 1, 3, 0,
+ 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 38, 1, 4, 0, 2, 0,188, 8, 2, 0,189, 8, 2, 0, 17, 0, 2, 0, 35, 0,
+ 39, 1, 6, 0, 0, 0, 18, 0, 0, 0,190, 8, 2, 0,191, 8, 2, 0,243, 2, 2, 0, 72, 1, 2, 0, 67, 0, 40, 1, 5, 0,
+ 0, 0, 18, 0, 7, 0, 76, 3, 7, 0,145, 4, 2, 0, 17, 0, 2, 0,207, 2, 41, 1, 3, 0, 0, 0, 18, 0, 4, 0,195, 2,
+ 4, 0,188, 8, 42, 1, 7, 0, 0, 0, 18, 0, 7, 0,145, 4, 0, 0,192, 8, 0, 0,193, 8, 2, 0, 72, 1, 2, 0, 87, 0,
+ 4, 0,194, 8, 43, 1, 4, 0, 0, 0,195, 8, 0, 0,196, 8, 4, 0, 15, 0, 7, 0,211, 2, 44, 1, 3, 0, 24, 0,197, 8,
+ 0, 0,198, 8, 0, 0,199, 8, 45, 1, 18, 0, 45, 1, 0, 0, 45, 1, 1, 0, 2, 0, 15, 0, 2, 0,200, 8, 2, 0, 17, 0,
+ 2, 0,201, 8, 2, 0,202, 8, 2, 0,203, 8, 2, 0, 87, 0, 2, 0, 67, 0, 0, 0, 18, 0, 9, 0, 2, 0, 46, 1,204, 8,
+ 24, 0, 42, 0, 2, 0,116, 5, 2, 0,100, 8, 2, 0,205, 8, 2, 0, 35, 0, 47, 1, 11, 0, 0, 0, 18, 0, 0, 0, 15, 0,
+ 0, 0,206, 8, 2, 0, 17, 0, 2, 0,207, 2, 2, 0,207, 8, 4, 0,208, 8, 4, 0,209, 8, 4, 0,210, 8, 4, 0,211, 8,
+ 4, 0,212, 8, 48, 1, 1, 0, 0, 0,213, 8, 49, 1, 4, 0, 34, 0,154, 6, 0, 0,158, 7, 4, 0, 72, 1, 4, 0, 17, 0,
+ 46, 1, 18, 0, 46, 1, 0, 0, 46, 1, 1, 0, 46, 1,214, 8, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,215, 8, 2, 0,203, 8,
+ 2, 0,200, 8, 2, 0,216, 8, 2, 0, 67, 0, 2, 0,229, 1, 0, 0, 18, 0, 9, 0, 2, 0, 50, 1,204, 8, 45, 1,217, 8,
+ 2, 0, 13, 0, 2, 0,218, 8, 4, 0,219, 8, 51, 1, 3, 0, 4, 0,221, 2, 4, 0, 35, 0, 24, 0, 42, 0, 52, 1, 12, 0,
+157, 0,220, 8, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,147, 8, 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,221, 8, 2, 0,222, 8,
+ 2, 0,223, 8, 2, 0,224, 8, 2, 0,225, 8, 7, 0,226, 8, 53, 1, 8, 0, 7, 0,227, 8, 7, 0,228, 8, 7, 0,229, 8,
+ 7, 0,230, 8, 7, 0,231, 8, 7, 0,232, 8, 7, 0,233, 8, 7, 0,234, 8, 54, 1, 13, 0, 2, 0, 17, 0, 2, 0,233, 6,
+ 4, 0, 87, 0, 4, 0, 67, 0, 2, 0,235, 8, 7, 0, 14, 4, 7, 0,236, 8,245, 0,232, 6, 53, 1,237, 8, 2, 0, 15, 0,
+ 2, 0, 35, 5, 2, 0,254, 5, 2, 0,238, 8, 55, 1, 11, 0, 4, 0,221, 2, 2, 0, 15, 0, 2, 0, 17, 0, 24, 0, 42, 0,
+ 73, 0,239, 8, 0, 0, 18, 0, 7, 0,240, 8, 7, 0,241, 8, 7, 0,151, 3, 2, 0,242, 8, 2, 0,243, 8, 56, 1, 5, 0,
+ 2, 0, 15, 0, 2, 0, 87, 0, 4, 0, 35, 0, 38, 0,117, 0, 24, 0,107, 5, 57, 1, 5, 0, 4, 0, 35, 0, 4, 0, 15, 0,
+ 0, 0, 18, 0, 0, 0,186, 8, 24, 0, 42, 0, 58, 1, 13, 0, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,200, 8, 2, 0,152, 3,
+ 7, 0,244, 8, 7, 0,245, 8, 7, 0,195, 4, 7, 0,163, 3, 7, 0,122, 3, 7, 0,125, 3, 7, 0,246, 8, 7, 0,247, 8,
+ 24, 0,248, 8, 59, 1, 10, 0, 2, 0, 17, 0, 2, 0, 15, 0, 7, 0,147, 8, 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,221, 8,
+ 2, 0, 87, 0, 2, 0, 67, 0, 2, 0,229, 1, 2, 0, 35, 5, 60, 1, 8, 0, 24, 0, 42, 0, 7, 0,240, 2, 7, 0,249, 8,
+ 7, 0,250, 8, 7, 0,152, 3, 2, 0, 87, 0, 2, 0,207, 2, 7, 0, 67, 0, 61, 1, 12, 0, 2, 0, 15, 0, 2, 0, 72, 1,
+ 2, 0, 17, 0, 2, 0,243, 2, 2, 0,221, 2, 2, 0,251, 8, 4, 0, 35, 0, 7, 0,252, 8, 7, 0,253, 8, 7, 0,254, 8,
+ 7, 0,255, 8, 0, 0, 0, 9, 62, 1, 9, 0, 2, 0, 17, 0, 2, 0, 15, 0, 4, 0,147, 8, 4, 0, 86, 0, 0, 0, 18, 0,
+ 2, 0,195, 4, 2, 0, 61, 0, 2, 0, 1, 9, 2, 0, 2, 9, 63, 1, 7, 0, 4, 0,195, 2, 4, 0, 3, 9, 4, 0, 4, 9,
+ 4, 0, 5, 9, 7, 0, 6, 9, 7, 0, 7, 9, 0, 0,192, 8, 64, 1, 7, 0, 0, 0, 8, 9, 24, 0, 9, 9, 0, 0,198, 8,
+ 2, 0, 10, 9, 2, 0, 87, 0, 4, 0, 67, 0, 0, 0,199, 8, 65, 1, 6, 0, 2, 0, 17, 0, 2, 0, 15, 0, 4, 0,147, 8,
+ 4, 0, 86, 0, 0, 0, 11, 9, 0, 0, 12, 9, 66, 1, 1, 0, 4, 0, 17, 0, 67, 1, 6, 0, 0, 0, 90, 0, 2, 0, 15, 0,
+ 2, 0, 17, 0, 4, 0, 13, 9, 7, 0, 14, 9, 34, 0,154, 6, 68, 1, 4, 0, 0, 0,159, 2, 2, 0, 17, 0, 4, 0, 15, 0,
+ 24, 0, 42, 0, 69, 1, 2, 0, 4, 0, 15, 0, 4, 0, 73, 6, 70, 1, 6, 0, 0, 0,195, 8, 0, 0,196, 8, 4, 0, 15, 0,
+ 7, 0, 30, 2, 24, 0, 53, 3, 24, 0, 15, 9, 50, 1, 10, 0, 50, 1, 0, 0, 50, 1, 1, 0, 50, 1,214, 8, 2, 0, 15, 0,
+ 2, 0, 17, 0, 2, 0,200, 8, 2, 0, 16, 9, 0, 0, 18, 0, 9, 0, 2, 0, 24, 0, 42, 0,245, 0, 16, 0, 19, 0, 29, 0,
+ 0, 0, 32, 0, 35, 0,145, 0, 9, 0,220, 0, 35, 0, 17, 9, 28, 0, 77, 0, 7, 0, 14, 4, 7, 0, 18, 9, 7, 0,236, 8,
+ 7, 0,227, 8, 7, 0,228, 8, 7, 0, 19, 9, 4, 0, 88, 0, 4, 0, 35, 0, 9, 0, 20, 9, 9, 0, 21, 9, 71, 1, 6, 0,
+ 71, 1, 0, 0, 71, 1, 1, 0, 24, 0, 42, 0, 9, 0, 22, 9, 2, 0,244, 0, 0, 0,192, 2, 58, 0, 4, 0, 19, 0, 29, 0,
+ 12, 0, 23, 9, 4, 0,126, 0, 7, 0, 24, 9, 72, 1, 28, 0, 72, 1, 0, 0, 72, 1, 1, 0, 18, 0, 25, 9, 72, 1, 36, 0,
+ 12, 0, 26, 9, 0, 0, 18, 0, 7, 0, 27, 9, 7, 0, 28, 9, 7, 0, 29, 9, 7, 0, 30, 9, 4, 0, 17, 0, 7, 0, 31, 9,
+ 7, 0, 32, 9, 7, 0, 33, 9, 7, 0, 34, 9, 7, 0, 79, 1, 7, 0, 30, 2, 7, 0, 35, 9, 7, 0,193, 2, 7, 0, 36, 9,
+ 7, 0, 37, 9, 7, 0, 38, 9, 7, 0, 39, 9, 7, 0, 40, 9, 7, 0,167, 0, 4, 0,126, 0, 2, 0,153, 5, 2, 0, 5, 7,
+ 73, 1, 25, 0, 19, 0, 29, 0, 31, 0, 72, 0, 12, 0, 41, 9, 12, 0, 42, 9, 12, 0, 43, 9, 72, 1, 44, 9, 9, 0, 45, 9,
+ 9, 0, 46, 9, 4, 0, 17, 0, 4, 0, 48, 6, 2, 0,247, 2, 2, 0,103, 6, 4, 0, 47, 9, 4, 0,126, 0, 4, 0, 48, 9,
+ 2, 0, 49, 9, 2, 0, 50, 9, 2, 0, 51, 9, 2, 0, 52, 9, 4, 0, 53, 9, 4, 0, 54, 9, 4, 0, 55, 9, 4, 0, 56, 9,
+ 4, 0, 57, 9, 4, 0, 58, 9, 74, 1, 2, 0, 7, 0,148, 2, 4, 0, 17, 0,161, 0, 5, 0, 74, 1, 59, 9, 4, 0,193, 2,
+ 4, 0, 60, 9, 4, 0, 61, 9, 4, 0, 17, 0,160, 0, 16, 0, 4, 0, 62, 9, 4, 0, 63, 9, 4, 0, 64, 9, 4, 0, 65, 9,
+ 2, 0, 66, 9, 2, 0, 67, 9, 2, 0, 68, 9, 2, 0,244, 0, 2, 0, 69, 9, 2, 0, 70, 9, 2, 0, 71, 9, 2, 0, 72, 9,
+ 4, 0, 73, 9, 4, 0, 74, 9, 4, 0, 75, 9, 4, 0, 76, 9, 75, 1, 41, 0, 75, 1, 0, 0, 75, 1, 1, 0, 18, 0, 25, 9,
+ 12, 0,177, 3, 0, 0, 18, 0, 2, 0, 17, 0, 2, 0, 77, 9, 2, 0, 78, 9, 2, 0, 79, 9, 2, 0,137, 3, 2, 0, 80, 9,
+ 4, 0, 70, 2, 4, 0, 55, 9, 4, 0, 56, 9, 72, 1, 81, 9, 75, 1, 36, 0, 75, 1, 82, 9, 12, 0, 83, 9,161, 0,114, 3,
+ 24, 0, 84, 9, 75, 1, 85, 9, 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 86, 9, 7, 0, 9, 2, 7, 0,127, 3, 7, 0,129, 3,
+ 2, 0,160, 3, 2, 0, 35, 0, 7, 0, 87, 9, 7, 0, 88, 9, 7, 0,132, 3, 7, 0, 89, 9, 7, 0, 90, 9, 7, 0, 91, 9,
+ 7, 0, 92, 9, 7, 0, 93, 9, 7, 0, 94, 9, 7, 0, 95, 9, 7, 0, 96, 9, 7, 0, 63, 2,158, 0, 16, 0, 12, 0, 97, 9,
+ 68, 0, 98, 9, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0, 99, 9, 4, 0, 87, 0, 7, 0, 99, 2, 7, 0,100, 9, 7, 0,101, 9,
+ 12, 0,102, 9, 4, 0,103, 9, 4, 0,104, 9, 9, 0,105, 9, 9, 0,106, 9,160, 0,113, 3, 0, 0,107, 9, 76, 1, 1, 0,
+ 4, 0,104, 9, 77, 1, 12, 0, 4, 0,104, 9, 7, 0,212, 8, 2, 0,108, 9, 2, 0,109, 9, 7, 0,110, 9, 7, 0,111, 9,
+ 2, 0,112, 9, 2, 0, 17, 0, 7, 0,113, 9, 7, 0,114, 9, 7, 0,115, 9, 7, 0,116, 9, 78, 1, 7, 0, 78, 1, 0, 0,
+ 78, 1, 1, 0, 12, 0,117, 9, 4, 0, 17, 0, 4, 0,118, 9, 0, 0, 4, 4,253, 0,119, 9,157, 0, 9, 0, 19, 0, 29, 0,
+ 12, 0,120, 9, 12, 0, 97, 9, 12, 0,121, 9, 12, 0, 98, 0, 4, 0, 17, 0, 4, 0,122, 9, 4, 0,123, 9, 4, 0, 35, 0,
+217, 0, 6, 0, 19, 0,124, 9, 12, 0, 97, 9, 58, 0,125, 9, 0, 0,126, 9, 4, 0,127, 9, 4, 0, 17, 0, 79, 1, 13, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 39, 6, 4, 0, 40, 6, 7, 0, 41, 6, 2, 0, 42, 6,214, 0, 92, 6,157, 0,109, 3,
+217, 0,128, 9, 0, 0, 72, 1, 0, 0, 95, 6, 2, 0, 17, 0, 7, 0,129, 9, 80, 1, 8, 0, 80, 1, 0, 0, 80, 1, 1, 0,
+ 78, 1,130, 9, 28, 0, 77, 0, 12, 0,115, 3, 4, 0, 17, 0, 0, 0, 18, 0, 4, 0,250, 7, 81, 1, 5, 0, 81, 1, 0, 0,
+ 81, 1, 1, 0, 28, 0, 77, 0, 2, 0, 17, 0, 0, 0,131, 9, 82, 1, 14, 0, 82, 1, 0, 0, 82, 1, 1, 0, 9, 0, 2, 0,
+ 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,132, 9, 0, 0,133, 9, 0, 0,131, 9, 7, 0,134, 9, 7, 0,135, 9, 4, 0, 35, 0,
+ 28, 0, 77, 0, 7, 0,136, 9, 7, 0,137, 9, 83, 1, 9, 0, 83, 1, 0, 0, 83, 1, 1, 0, 24, 0,138, 9, 0, 0,250, 2,
+ 7, 0,139, 9, 2, 0,140, 9, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,141, 9, 84, 1, 7, 0, 34, 0,154, 6, 18, 0, 25, 9,
+ 4, 0, 17, 0, 4, 0,142, 9, 12, 0,143, 9, 24, 0,138, 9, 0, 0,250, 2, 85, 1, 15, 0, 24, 0,138, 9, 2, 0,144, 9,
+ 2, 0, 17, 0, 2, 0,145, 9, 2, 0,146, 9, 0, 0,250, 2, 24, 0,147, 9, 0, 0,148, 9, 7, 0,149, 9, 7, 0, 30, 2,
+ 7, 0,150, 9, 7, 0,151, 9, 2, 0, 15, 0, 2, 0, 72, 1, 7, 0, 79, 1, 86, 1, 6, 0, 24, 0,138, 9, 7, 0, 59, 9,
+ 2, 0,152, 9, 2, 0,153, 9, 2, 0, 17, 0, 2, 0,154, 9, 87, 1, 6, 0, 24, 0,138, 9, 4, 0,155, 9, 4, 0,156, 9,
+ 4, 0, 88, 0, 4, 0, 35, 0, 0, 0,250, 2, 88, 1, 4, 0, 24, 0,138, 9, 4, 0, 17, 0, 4, 0,155, 9, 0, 0,250, 2,
+ 89, 1, 4, 0, 24, 0,138, 9, 4, 0, 17, 0, 4, 0,155, 9, 0, 0,250, 2, 90, 1, 4, 0, 24, 0,138, 9, 4, 0, 17, 0,
+ 4, 0,155, 9, 0, 0,250, 2, 91, 1, 2, 0, 4, 0, 17, 0, 7, 0, 14, 4, 92, 1, 2, 0, 24, 0,138, 9, 0, 0,250, 2,
+ 93, 1, 10, 0, 24, 0,138, 9, 4, 0,157, 9, 7, 0,120, 0, 4, 0, 17, 0, 2, 0,152, 6, 2, 0,158, 9, 2, 0, 87, 0,
+ 2, 0, 67, 0, 7, 0,159, 9, 0, 0,250, 2, 94, 1, 10, 0, 24, 0,138, 9, 2, 0, 15, 0, 2, 0, 64, 4, 4, 0, 85, 0,
+ 4, 0, 86, 0, 7, 0,249, 8, 7, 0,250, 8, 4, 0, 35, 0,157, 0,220, 8, 0, 0,250, 2, 95, 1, 4, 0, 24, 0,138, 9,
+ 4, 0,138, 3, 4, 0,160, 9, 0, 0,250, 2, 96, 1, 4, 0, 24, 0,138, 9, 4, 0,138, 3, 4, 0, 35, 0, 0, 0,250, 2,
+ 97, 1, 6, 0, 24, 0,138, 9, 7, 0,120, 0, 7, 0, 65, 3, 4, 0,161, 9, 2, 0,138, 3, 2, 0,139, 3, 98, 1, 6, 0,
+ 24, 0,138, 9, 4, 0,162, 9, 4, 0,163, 9, 7, 0,164, 9, 7, 0,165, 9, 0, 0,250, 2, 99, 1, 16, 0, 24, 0,138, 9,
+ 24, 0, 82, 9, 4, 0, 15, 0, 7, 0,166, 9, 7, 0,167, 9, 7, 0,168, 9, 7, 0,169, 9, 7, 0,170, 9, 7, 0,171, 9,
+ 7, 0,172, 9, 7, 0,173, 9, 7, 0,174, 9, 2, 0, 17, 0, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0, 67, 0,100, 1, 3, 0,
+ 24, 0,138, 9, 4, 0, 17, 0, 4, 0, 22, 2,101, 1, 5, 0, 24, 0,138, 9, 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,175, 9,
+ 0, 0,250, 2,102, 1, 10, 0, 24, 0,138, 9, 0, 0,250, 2, 2, 0,176, 9, 2, 0,177, 9, 0, 0,178, 9, 0, 0,179, 9,
+ 7, 0,180, 9, 7, 0,181, 9, 7, 0,182, 9, 7, 0,183, 9,103, 1, 5, 0, 24, 0,138, 9, 0, 0,250, 2, 7, 0,201, 2,
+ 2, 0,184, 9, 2, 0, 17, 0,104, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,185, 9,
+ 7, 0,186, 9, 2, 0, 17, 0, 2, 0, 22, 2,105, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0,
+ 7, 0,185, 9, 7, 0,186, 9, 2, 0, 17, 0, 2, 0, 22, 2,106, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0,
+ 7, 0, 10, 0, 7, 0,185, 9, 7, 0,186, 9, 2, 0, 17, 0, 2, 0, 22, 2,107, 1, 7, 0, 24, 0,138, 9, 0, 0,250, 2,
+ 7, 0, 79, 1, 7, 0, 88, 1, 2, 0, 17, 0, 2, 0, 72, 1, 4, 0, 35, 0,108, 1, 5, 0, 24, 0, 53, 3, 7, 0, 79, 1,
+ 2, 0, 57, 3, 0, 0, 59, 3, 0, 0,187, 9,109, 1, 10, 0,109, 1, 0, 0,109, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0,
+ 0, 0,188, 9, 7, 0, 22, 1, 7, 0, 23, 1, 2, 0,117, 9, 2, 0,189, 9, 24, 0, 42, 0,110, 1, 22, 0,110, 1, 0, 0,
+110, 1, 1, 0, 2, 0, 17, 0, 2, 0, 72, 1, 2, 0,190, 9, 2, 0,191, 9, 28, 0, 77, 0,157, 0,220, 8, 24, 0,159, 0,
+ 7, 0, 85, 0, 7, 0, 86, 0, 7, 0,192, 9, 7, 0,193, 9, 7, 0,194, 9, 7, 0,195, 9, 7, 0,236, 2, 7, 0,196, 9,
+ 7, 0,222, 8, 7, 0,197, 9, 0, 0,198, 9, 0, 0,199, 9, 12, 0,118, 3,111, 1, 8, 0, 7, 0, 37, 2, 7, 0,249, 8,
+ 7, 0,250, 8, 9, 0, 2, 0, 2, 0,200, 9, 2, 0,201, 9, 2, 0,202, 9, 2, 0,203, 9,112, 1, 19, 0,112, 1, 0, 0,
+112, 1, 1, 0,112, 1,204, 9, 0, 0, 18, 0,111, 1,205, 9, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,206, 9, 2, 0,207, 9,
+111, 1,208, 9, 2, 0,209, 9, 2, 0, 87, 0, 7, 0,210, 9, 7, 0,211, 9, 4, 0,212, 9,112, 1,213, 9, 4, 0,214, 9,
+ 4, 0, 67, 0,113, 1,215, 9,114, 1, 4, 0, 0, 0,216, 9, 2, 0,217, 9, 2, 0,218, 9, 4, 0, 35, 0,115, 1, 34, 0,
+115, 1, 0, 0,115, 1, 1, 0,115, 1,219, 9, 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 72, 8, 2, 0,100, 8,
+ 2, 0,220, 9, 2, 0,157, 6, 2, 0,209, 9, 2, 0,174, 8, 12, 0,215, 8, 12, 0,221, 9, 19, 0,191, 6, 9, 0,222, 9,
+ 7, 0,210, 9, 7, 0,211, 9, 7, 0, 72, 2, 7, 0,223, 9, 0, 0,224, 9, 2, 0,225, 9, 2, 0,226, 9, 7, 0,227, 9,
+ 7, 0,228, 9, 2, 0,229, 9, 2, 0,230, 9, 9, 0,231, 9, 16, 0,232, 9, 16, 0,233, 9, 16, 0,234, 9,114, 1,146, 0,
+116, 1,235, 9,117, 1,236, 9,113, 1, 8, 0,113, 1, 0, 0,113, 1, 1, 0,115, 1,237, 9,115, 1,238, 9,112, 1,239, 9,
+112, 1,240, 9, 4, 0, 17, 0, 4, 0, 35, 0, 53, 0, 23, 0, 19, 0, 29, 0, 31, 0, 72, 0,159, 0,112, 3, 12, 0,241, 9,
+ 12, 0,242, 9,111, 1,243, 9, 12, 0,244, 9, 4, 0, 15, 0, 4, 0,245, 9, 4, 0,246, 9, 4, 0,247, 9, 4, 0, 17, 0,
+ 4, 0, 35, 0, 12, 0,248, 9, 12, 0,215, 8, 12, 0,221, 9, 4, 0, 62, 6, 9, 0,249, 9, 9, 0,250, 9, 4, 0,251, 9,
+ 9, 0,252, 9, 9, 0,253, 9, 9, 0,254, 9,118, 1, 6, 0, 4, 0,119, 0, 4, 0,121, 0, 4, 0,174, 8, 0, 0,255, 9,
+ 0, 0, 0, 10, 2, 0, 35, 0,119, 1, 16, 0, 2, 0, 17, 8, 2, 0, 18, 8, 2, 0, 1, 10, 2, 0, 2, 10, 2, 0, 3, 10,
+ 2, 0, 65, 0, 2, 0,192, 6, 2, 0, 4, 10, 7, 0,235, 2, 7, 0, 5, 10, 7, 0, 6, 10, 2, 0, 94, 1, 0, 0, 7, 10,
+ 0, 0, 8, 10, 4, 0, 9, 10, 4, 0, 10, 10,120, 1, 9, 0, 7, 0, 11, 10, 7, 0, 12, 10, 7, 0, 19, 9, 7, 0, 76, 3,
+ 7, 0, 13, 10, 7, 0,109, 6, 2, 0, 74, 3, 0, 0, 14, 10, 0, 0, 35, 0,121, 1, 4, 0, 7, 0, 15, 10, 7, 0, 16, 10,
+ 2, 0, 74, 3, 2, 0, 35, 0,122, 1, 3, 0, 7, 0, 17, 10, 7, 0, 87, 8, 7, 0, 13, 0,123, 1, 7, 0, 0, 0,254, 1,
+ 2, 0, 26, 5, 2, 0, 27, 5, 2, 0, 28, 5, 2, 0,217, 4, 4, 0,121, 0, 4, 0, 62, 4,124, 1, 9, 0, 7, 0, 18, 10,
+ 7, 0, 19, 10, 7, 0, 20, 10, 7, 0, 83, 2, 7, 0, 21, 10, 7, 0, 22, 10, 7, 0, 23, 10, 2, 0, 24, 10, 2, 0, 25, 10,
+125, 1, 8, 0, 2, 0, 26, 10, 2, 0, 27, 10, 2, 0, 28, 10, 2, 0, 29, 10, 7, 0, 30, 10, 7, 0, 31, 10, 7, 0, 32, 10,
+ 7, 0, 33, 10,126, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,127, 1, 2, 0, 0, 0,161, 0, 0, 0, 34, 10,128, 1, 1, 0,
+ 0, 0, 18, 0,129, 1, 10, 0, 0, 0, 35, 10, 0, 0, 36, 10, 0, 0,101, 6, 0, 0, 37, 10, 2, 0, 1, 10, 2, 0, 38, 10,
+ 7, 0, 39, 10, 7, 0, 40, 10, 7, 0, 41, 10, 7, 0,196, 9,130, 1, 2, 0, 9, 0, 42, 10, 9, 0, 43, 10,131, 1, 11, 0,
+ 0, 0, 28, 5, 0, 0, 15, 0, 0, 0, 74, 3, 0, 0, 76, 3, 0, 0, 44, 10, 0, 0,104, 0, 0, 0,159, 2, 7, 0, 45, 10,
+ 7, 0, 46, 10, 7, 0, 47, 10, 7, 0, 48, 10,132, 1, 8, 0, 7, 0,181, 8, 7, 0,120, 0, 7, 0, 8, 10, 7, 0,152, 2,
+ 7, 0, 49, 10, 7, 0,233, 0, 7, 0, 50, 10, 4, 0, 15, 0,133, 1, 4, 0, 2, 0, 51, 10, 2, 0, 52, 10, 2, 0, 53, 10,
+ 2, 0, 35, 0,134, 1, 8, 0, 7, 0, 54, 10, 7, 0,201, 2, 7, 0, 55, 10, 7, 0, 68, 8, 7, 0, 69, 8, 7, 0, 70, 8,
+ 7, 0, 56, 10, 7, 0, 57, 10,135, 1, 6, 0, 2, 0, 58, 10, 2, 0, 59, 10, 7, 0, 60, 10, 7, 0, 61, 10, 7, 0, 62, 10,
+ 7, 0, 63, 10,136, 1, 1, 0, 0, 0, 18, 0,137, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 17, 0, 2, 0, 64, 10,
+138, 1, 10, 0, 2, 0,248, 3, 2, 0, 17, 0, 7, 0,145, 4, 7, 0, 65, 10, 7, 0, 66, 10, 7, 0, 67, 10, 7, 0, 68, 10,
+137, 1, 69, 10,137, 1, 70, 10,137, 1, 71, 10, 51, 0, 11, 0, 4, 0, 17, 0, 4, 0, 61, 0, 4, 0, 72, 10, 4, 0, 73, 10,
+ 16, 0, 74, 10, 16, 0, 75, 10,138, 1, 76, 10, 7, 0, 77, 10, 7, 0, 78, 10, 7, 0, 79, 10, 7, 0, 80, 10,230, 0, 10, 0,
+ 4, 0,117, 9, 4, 0, 81, 10, 7, 0, 82, 10, 7, 0, 83, 10, 7, 0, 84, 10, 7, 0, 85, 10, 7, 0, 8, 0, 7, 0, 10, 0,
+ 4, 0, 72, 1, 4, 0,240, 2,229, 0, 18, 0, 4, 0,124, 0, 4, 0, 86, 10, 4, 0, 87, 10, 7, 0, 88, 10, 4, 0, 89, 10,
+ 7, 0, 90, 10, 7, 0, 91, 10, 4, 0, 92, 10, 7, 0, 93, 10, 4, 0, 94, 10, 7, 0, 95, 10,230, 0, 96, 10, 7, 0, 97, 10,
+ 7, 0, 98, 10, 7, 0, 99, 10, 7, 0,100, 10, 4, 0,101, 10, 4, 0, 35, 0,139, 1, 4, 0, 39, 0,227, 2, 7, 0,102, 10,
+ 7, 0,161, 1, 7, 0, 35, 0,192, 0, 34, 0, 19, 0, 29, 0,139, 1,103, 10, 51, 0, 69, 10, 43, 0,104, 10, 49, 0,105, 10,
+ 22, 0,146, 0, 0, 0,106, 10, 7, 0,107, 10, 2, 0, 4, 6, 2, 0,108, 10, 4, 0,104, 0, 4, 0, 17, 0, 7, 0,109, 10,
+ 4, 0, 80, 2, 4, 0,110, 10, 7, 0,111, 10, 7, 0,112, 10, 7, 0,113, 10, 7, 0,161, 1, 4, 0,114, 10, 7, 0,115, 10,
+ 0, 0,116, 10, 0, 0,117, 10, 0, 0,118, 10, 0, 0,119, 10, 7, 0,120, 10, 7, 0,121, 10, 7, 0,122, 10, 7, 0,240, 2,
+ 7, 0,123, 10, 4, 0,124, 10, 7, 0,125, 10, 7, 0,126, 10, 7, 0,127, 10,140, 1, 10, 0, 4, 0, 15, 0, 4, 0,120, 0,
+ 4, 0, 17, 0, 4, 0,201, 3, 4, 0,128, 10, 4, 0,129, 10, 4, 0,130, 10, 0, 0, 90, 0, 0, 0, 18, 0, 9, 0, 2, 0,
+141, 1, 1, 0, 0, 0, 60, 8, 84, 0, 7, 0,140, 1,131, 10, 4, 0,132, 10, 4, 0,133, 10, 4, 0,134, 10, 4, 0, 35, 0,
+ 9, 0,135, 10,141, 1,136, 10,142, 1, 5, 0, 7, 0,148, 2, 7, 0,221, 2, 7, 0, 30, 2, 2, 0,129, 2, 2, 0, 35, 0,
+143, 1, 5, 0, 7, 0,148, 2, 7, 0, 89, 4, 7, 0,137, 10, 7, 0,138, 10, 7, 0,221, 2,144, 1, 5, 0, 24, 0,139, 10,
+145, 1, 20, 0, 7, 0,227, 5, 7, 0,140, 10, 7, 0, 54, 0,146, 1, 3, 0, 7, 0,141, 10, 4, 0,142, 10, 4, 0,143, 10,
+147, 1, 7, 0, 4, 0,144, 10, 4, 0,145, 10, 4, 0,146, 10, 7, 0,147, 10, 7, 0,148, 10, 7, 0,149, 10, 7, 0, 54, 0,
+148, 1, 8, 0,148, 1, 0, 0,148, 1, 1, 0, 24, 0, 42, 0, 4, 0,252, 0, 2, 0, 17, 0, 2, 0, 72, 1, 7, 0,221, 2,
+ 7, 0,189, 8,149, 1, 6, 0,149, 1, 0, 0,149, 1, 1, 0, 24, 0, 42, 0, 2, 0,206, 2, 2, 0, 17, 0, 2, 0,150, 10,
+150, 1, 17, 0,143, 1,193, 3,143, 1,151, 10,142, 1,152, 10,143, 1,172, 8,144, 1,153, 10, 4, 0, 79, 0, 7, 0,221, 2,
+ 7, 0,246, 2, 7, 0,154, 10, 4, 0,144, 10, 4, 0,155, 10, 7, 0,148, 10, 7, 0,149, 10, 7, 0,104, 0, 4, 0,156, 10,
+ 2, 0, 17, 0, 2, 0,157, 10,151, 1, 15, 0, 7, 0,248, 0, 7, 0,158, 10, 7, 0,141, 10, 7, 0,159, 10, 7, 0,160, 10,
+ 7, 0,161, 10, 7, 0,162, 10, 7, 0,163, 10, 7, 0,164, 10, 7, 0,165, 10, 7, 0,166, 10, 7, 0,167, 10, 7, 0,168, 10,
+ 4, 0, 17, 0, 4, 0,169, 10,152, 1,124, 0, 19, 0, 29, 0, 31, 0, 72, 0,153, 1,170, 10,151, 1,171, 10,168, 0, 84, 4,
+ 4, 0, 17, 0, 4, 0, 54, 0, 2, 0, 15, 0, 2, 0,176, 9, 2, 0,172, 10, 2, 0,107, 1, 2, 0,173, 10, 2, 0,160, 3,
+ 2, 0,174, 10, 2, 0,175, 10, 2, 0,176, 10, 2, 0,177, 10, 2, 0,178, 10, 2, 0,179, 10, 2, 0,180, 10, 2, 0,181, 10,
+ 2, 0,182, 10, 2, 0,124, 5, 2, 0,183, 10, 2, 0,184, 10, 2, 0,185, 10, 2, 0,186, 10, 2, 0,187, 10, 2, 0, 19, 2,
+ 2, 0,165, 8, 2, 0,140, 8, 2, 0,188, 10, 2, 0,189, 10, 2, 0,211, 3, 2, 0,212, 3, 2, 0,190, 10, 2, 0,191, 10,
+ 2, 0,192, 10, 2, 0,193, 10, 7, 0,194, 10, 7, 0,195, 10, 7, 0,196, 10, 7, 0,197, 10, 7, 0,198, 10, 7, 0,199, 10,
+ 7, 0,200, 10, 2, 0, 74, 5, 2, 0,201, 10, 7, 0,202, 10, 7, 0,203, 10, 7, 0,204, 10, 7, 0,147, 8, 7, 0, 86, 0,
+ 7, 0,246, 2, 7, 0,153, 8, 7, 0,205, 10, 7, 0,206, 10, 7, 0,207, 10, 7, 0,208, 10, 4, 0,148, 8, 4, 0,146, 8,
+ 4, 0,209, 10, 4, 0,210, 10, 7, 0,149, 8, 7, 0,150, 8, 7, 0,151, 8, 7, 0,211, 10, 7, 0,212, 10, 7, 0,213, 10,
+ 7, 0,214, 10, 7, 0,215, 10, 7, 0,216, 10, 7, 0,217, 10, 7, 0,218, 10, 7, 0,219, 10, 7, 0,151, 3, 7, 0,104, 0,
+ 7, 0,220, 10, 7, 0,221, 10, 7, 0,222, 10, 7, 0,223, 10, 7, 0,206, 0, 7, 0,224, 10, 4, 0,225, 10, 4, 0,226, 10,
+ 7, 0,227, 10, 7, 0,228, 10, 7, 0,229, 10, 7, 0,230, 10, 7, 0,231, 10, 7, 0,205, 0, 7, 0,232, 10, 7, 0,238, 3,
+ 7, 0,236, 3, 7, 0,237, 3, 7, 0,233, 10, 7, 0,234, 10, 7, 0,235, 10, 7, 0,236, 10, 7, 0,237, 10, 7, 0,238, 10,
+ 7, 0,239, 10, 7, 0,240, 10, 7, 0,241, 10, 7, 0,242, 10, 7, 0,243, 10, 7, 0,244, 10, 7, 0,245, 10, 7, 0,246, 10,
+ 7, 0,247, 10, 7, 0,248, 10, 7, 0,249, 10, 7, 0,250, 10, 4, 0,251, 10, 4, 0,252, 10, 43, 0,125, 1, 58, 0,182, 3,
+ 12, 0,253, 10, 58, 0,254, 10, 24, 0,255, 10, 24, 0, 0, 11, 28, 0, 77, 0,163, 0, 64, 1,163, 0, 1, 11,141, 0, 50, 0,
+141, 0, 0, 0,141, 0, 1, 0,152, 1, 2, 11,150, 1, 3, 11,147, 1, 82, 9,171, 0, 10, 4, 9, 0, 11, 4,154, 1, 4, 11,
+154, 1, 5, 11, 12, 0, 6, 11, 12, 0, 7, 11,126, 0, 8, 11,134, 0, 9, 11,134, 0, 10, 11, 24, 0, 11, 11, 24, 0, 12, 11,
+ 24, 0, 36, 0, 12, 0,143, 9, 0, 0, 18, 0, 7, 0,237, 0, 7, 0, 19, 3, 7, 0, 13, 11, 7, 0, 14, 11, 4, 0,195, 2,
+ 4, 0, 15, 11, 4, 0, 17, 0, 4, 0,148, 8, 4, 0, 16, 11, 4, 0, 17, 11, 4, 0, 18, 11, 4, 0, 19, 11, 2, 0,244, 0,
+ 2, 0, 20, 11, 2, 0, 21, 11, 2, 0, 22, 11, 0, 0, 23, 11, 2, 0, 24, 11, 2, 0, 25, 11, 2, 0, 26, 11, 9, 0, 27, 11,
+130, 0, 83, 4, 12, 0, 4, 3, 12, 0, 28, 11,146, 1, 29, 11, 4, 0, 30, 11, 4, 0, 31, 11,155, 1, 32, 11,132, 0, 16, 3,
+156, 1, 33, 11, 7, 0, 34, 11,128, 0, 37, 0,157, 1, 20, 9, 7, 0, 53, 4, 7, 0, 35, 11, 7, 0, 36, 11, 7, 0,227, 5,
+ 7, 0,161, 3, 7, 0,151, 3, 7, 0, 37, 11, 7, 0, 82, 2, 7, 0, 38, 11, 7, 0, 39, 11, 7, 0, 40, 11, 7, 0, 41, 11,
+ 7, 0, 42, 11, 7, 0, 43, 11, 7, 0, 54, 4, 7, 0, 44, 11, 7, 0, 45, 11, 7, 0, 46, 11, 7, 0, 55, 4, 7, 0, 51, 4,
+ 7, 0, 52, 4, 7, 0, 47, 11, 7, 0, 48, 11, 4, 0, 49, 11, 4, 0, 88, 0, 4, 0, 50, 11, 4, 0, 51, 11, 2, 0, 52, 11,
+ 2, 0, 53, 11, 2, 0, 54, 11, 2, 0, 55, 11, 2, 0, 56, 11, 2, 0, 57, 11, 2, 0, 58, 11, 2, 0,195, 4,168, 0, 84, 4,
+129, 0, 11, 0,157, 1, 59, 11, 7, 0, 60, 11, 7, 0, 61, 11, 7, 0,233, 1, 7, 0, 62, 11, 7, 0, 63, 11, 7, 0, 64, 11,
+ 4, 0, 88, 0, 2, 0, 65, 11, 2, 0, 66, 11, 58, 0,232, 1,158, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 8, 2,
+ 7, 0, 67, 11,159, 1, 6, 0,159, 1, 0, 0,159, 1, 1, 0,158, 1, 59, 9, 4, 0,250, 0, 2, 0, 68, 11, 2, 0, 17, 0,
+160, 1, 5, 0,160, 1, 0, 0,160, 1, 1, 0, 12, 0, 69, 11, 4, 0, 70, 11, 4, 0, 17, 0,161, 1, 9, 0,161, 1, 0, 0,
+161, 1, 1, 0, 12, 0,119, 0,160, 1, 71, 11, 4, 0, 17, 0, 2, 0, 68, 11, 2, 0, 72, 11, 7, 0, 89, 0, 0, 0, 73, 11,
+159, 0, 6, 0, 19, 0, 29, 0, 12, 0, 43, 5, 4, 0, 17, 0, 2, 0, 74, 11, 2, 0, 75, 11, 9, 0, 76, 11,162, 1, 6, 0,
+ 12, 0, 77, 11, 4, 0, 78, 11, 4, 0, 79, 11, 4, 0, 17, 0, 4, 0, 35, 0,211, 0, 80, 11,163, 1, 17, 0, 19, 0, 29, 0,
+164, 1, 81, 11,164, 1, 82, 11, 12, 0, 83, 11, 4, 0, 84, 11, 2, 0, 85, 11, 2, 0, 86, 11, 12, 0, 87, 11, 12, 0, 88, 11,
+162, 1, 89, 11, 12, 0, 90, 11, 12, 0, 91, 11, 12, 0, 92, 11, 12, 0, 93, 11,165, 1, 94, 11, 12, 0, 95, 11,211, 0, 96, 11,
+164, 1, 32, 0,164, 1, 0, 0,164, 1, 1, 0, 9, 0, 97, 11, 4, 0,251, 7, 2, 0, 98, 11, 2, 0, 35, 0, 2, 1, 99, 11,
+ 2, 1,100, 11, 0, 0,101, 11, 2, 0,102, 11, 2, 0,103, 11, 2, 0, 17, 8, 2, 0, 18, 8, 2, 0,104, 11, 2, 0,105, 11,
+ 2, 0,201, 3, 2, 0,223, 6, 2, 0,106, 11, 2, 0,107, 11, 2, 0,108, 11, 2, 0, 67, 0,166, 1,109, 11,167, 1,110, 11,
+168, 1,111, 11, 4, 0,112, 11, 4, 0,113, 11, 9, 0,114, 11, 12, 0, 88, 11, 12, 0, 37, 8, 12, 0,115, 11, 12, 0,116, 11,
+ 12, 0,117, 11,169, 1, 17, 0,169, 1, 0, 0,169, 1, 1, 0, 0, 0,118, 11, 18, 0, 28, 0, 2, 0,119, 11, 2, 0, 15, 0,
+ 2, 0, 13, 0, 2, 0,120, 11, 2, 0,121, 11, 2, 0,122, 11, 2, 0,123, 11, 2, 0,124, 11, 2, 0, 17, 0, 2, 0,125, 11,
+ 2, 0, 29, 0, 2, 0, 35, 0,170, 1,126, 11,171, 1, 10, 0,171, 1, 0, 0,171, 1, 1, 0, 12, 0,127, 11, 0, 0,118, 11,
+ 2, 0,128, 11, 2, 0,129, 11, 2, 0, 17, 0, 2, 0,130, 11, 4, 0,131, 11, 9, 0,132, 11,165, 1, 7, 0,165, 1, 0, 0,
+165, 1, 1, 0, 0, 0,118, 11, 0, 0,133, 11, 12, 0,196, 7, 4, 0,134, 11, 4, 0, 17, 0,223, 0, 14, 0,223, 0, 0, 0,
+223, 0, 1, 0, 0, 0,118, 11, 18, 0, 28, 0,172, 1, 11, 8, 9, 0,135, 11, 9, 0,136, 11,170, 1,126, 11,162, 1,137, 11,
+ 12, 0,138, 11,223, 0,139, 11, 7, 1,130, 6, 2, 0, 17, 0, 2, 0,195, 4,173, 1, 8, 0,173, 1, 0, 0,173, 1, 1, 0,
+ 9, 0, 2, 0, 9, 0,140, 11, 0, 0, 4, 4, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,141, 11,174, 1, 5, 0, 7, 0,142, 11,
+ 4, 0,143, 11, 4, 0,144, 11, 4, 0, 72, 1, 4, 0, 17, 0,175, 1, 6, 0, 7, 0,145, 11, 7, 0,146, 11, 7, 0,147, 11,
+ 7, 0,148, 11, 4, 0, 15, 0, 4, 0, 17, 0,176, 1, 5, 0, 7, 0,249, 8, 7, 0,250, 8, 7, 0,221, 2, 2, 0, 33, 2,
+ 2, 0, 34, 2,177, 1, 5, 0,176, 1, 2, 0, 4, 0, 51, 0, 7, 0,149, 11, 7, 0,249, 8, 7, 0,250, 8,178, 1, 4, 0,
+ 2, 0,150, 11, 2, 0,151, 11, 2, 0,152, 11, 2, 0,153, 11,179, 1, 2, 0, 34, 0,185, 6, 18, 0, 25, 9,180, 1, 3, 0,
+ 16, 0,154, 11, 4, 0, 17, 0, 4, 0, 35, 0,181, 1, 6, 0, 7, 0,104, 0, 7, 0,223, 2, 7, 0,155, 11, 7, 0, 35, 0,
+ 2, 0,243, 0, 2, 0,156, 11,182, 1, 5, 0, 7, 0,157, 11, 7, 0,120, 0, 7, 0, 60, 9, 7, 0, 61, 9, 4, 0, 17, 0,
+183, 1, 6, 0, 19, 0,191, 6, 0, 0,158, 11, 0, 0,159, 11, 2, 0,160, 11, 2, 0, 17, 0, 4, 0,161, 11,184, 1, 7, 0,
+184, 1, 0, 0,184, 1, 1, 0, 0, 0, 4, 4,183, 1,162, 11, 2, 0,163, 11, 2, 0, 15, 0, 7, 0, 58, 0,185, 1, 7, 0,
+ 12, 0,164, 11, 0, 0,165, 11, 9, 0,166, 11, 7, 0, 58, 0, 7, 0,141, 11, 4, 0, 15, 0, 4, 0, 17, 0,186, 1, 3, 0,
+ 7, 0,167, 11, 4, 0, 17, 0, 4, 0, 35, 0,187, 1, 15, 0,187, 1, 0, 0,187, 1, 1, 0, 78, 1,130, 9,185, 1, 59, 0,
+ 12, 0,118, 3, 27, 0, 47, 0,186, 1,168, 11, 4, 0, 51, 0, 7, 0, 58, 0, 2, 0, 17, 0, 2, 0, 15, 1, 4, 0,169, 11,
+ 0, 0,158, 11, 4, 0,170, 11, 7, 0,171, 11,188, 1, 2, 0, 0, 0,172, 11, 0, 0,173, 11,189, 1, 4, 0,189, 1, 0, 0,
+189, 1, 1, 0,157, 0, 53, 3, 12, 0,174, 11,190, 1, 24, 0,190, 1, 0, 0,190, 1, 1, 0, 12, 0,175, 11,157, 0,220, 8,
+189, 1,176, 11, 12, 0,177, 11, 12, 0,118, 3, 0, 0, 4, 4, 7, 0,141, 11, 7, 0,178, 11, 7, 0, 85, 0, 7, 0, 86, 0,
+ 7, 0,192, 9, 7, 0,193, 9, 7, 0,236, 2, 7, 0,196, 9, 7, 0,222, 8, 7, 0,197, 9, 2, 0,179, 11, 2, 0,180, 11,
+ 2, 0, 87, 0, 2, 0, 15, 0, 4, 0, 17, 0, 4, 0, 67, 0,191, 1, 6, 0,191, 1, 0, 0,191, 1, 1, 0, 12, 0,175, 11,
+ 4, 0, 17, 0, 4, 0,252, 1, 0, 0, 4, 4,192, 1, 11, 0,192, 1, 0, 0,192, 1, 1, 0, 19, 0,191, 6, 0, 0,181, 11,
+ 4, 0,161, 11, 2, 0,182, 11, 2, 0, 35, 0, 0, 0,158, 11, 4, 0,169, 11, 2, 0, 17, 0, 2, 0,183, 11,193, 1, 8, 0,
+193, 1, 0, 0,193, 1, 1, 0, 12, 0,184, 11, 0, 0, 4, 4, 0, 0,185, 11, 2, 0, 17, 0, 2, 0,183, 11, 4, 0,186, 11,
+194, 1, 5, 0,194, 1, 0, 0,194, 1, 1, 0, 0, 0,158, 11, 4, 0,169, 11, 7, 0,211, 2, 31, 0, 12, 0,157, 0,109, 3,
+157, 0,187, 11,189, 1,176, 11, 12, 0,188, 11,190, 1,189, 11, 12, 0,190, 11, 12, 0,191, 11, 4, 0, 17, 0, 4, 0,244, 0,
+ 2, 0,192, 11, 2, 0,193, 11, 7, 0,194, 11,195, 1, 2, 0, 19, 0, 29, 0, 31, 0, 72, 0,196, 1, 5, 0,196, 1, 0, 0,
+196, 1, 1, 0, 4, 0, 15, 0, 4, 0, 17, 0, 0, 0, 18, 0,197, 1, 6, 0,196, 1,195, 11, 24, 0, 42, 0, 4, 0,196, 11,
+ 7, 0,197, 11, 4, 0,198, 11, 4, 0,117, 9,198, 1, 3, 0,196, 1,195, 11, 4, 0,196, 11, 7, 0,199, 11,199, 1, 8, 0,
+196, 1,195, 11, 24, 0, 42, 0, 7, 0, 67, 1, 7, 0,200, 11, 7, 0, 19, 3, 7, 0, 19, 9, 4, 0,196, 11, 4, 0,201, 11,
+200, 1, 5, 0,196, 1,195, 11, 7, 0,202, 11, 7, 0,100, 8, 7, 0,242, 2, 7, 0, 54, 0,201, 1, 3, 0,196, 1,195, 11,
+ 7, 0, 19, 9, 7, 0,203, 11,145, 1, 4, 0, 7, 0,204, 11, 7, 0,221, 10, 2, 0,205, 11, 2, 0, 72, 1,202, 1, 14, 0,
+202, 1, 0, 0,202, 1, 1, 0, 12, 0,206, 11, 12, 0,207, 11, 12, 0,208, 11, 0, 0, 18, 0, 4, 0, 29, 0, 4, 0, 17, 0,
+ 4, 0,209, 11, 7, 0,210, 11, 4, 0,198, 11, 4, 0,117, 9, 7, 0, 14, 4, 7, 0,244, 2,153, 1, 23, 0, 4, 0,196, 11,
+ 4, 0,211, 11, 7, 0,212, 11, 7, 0,240, 2, 7, 0,213, 11, 7, 0,236, 8, 7, 0,204, 11, 7, 0,214, 11, 7, 0,223, 2,
+ 7, 0, 88, 10, 7, 0,145, 4, 7, 0,215, 11, 7, 0,216, 11, 7, 0,217, 11, 7, 0,218, 11, 7, 0,219, 11, 7, 0,220, 11,
+ 7, 0,221, 11, 7, 0,222, 11, 7, 0,223, 11, 7, 0,224, 11, 7, 0,225, 11, 12, 0,226, 11,114, 0, 40, 0,113, 0,227, 11,
+203, 1,171, 10, 58, 0,228, 11, 58, 0,254, 10, 58, 0,229, 11,204, 1,230, 11, 40, 0,160, 0, 40, 0,231, 11, 40, 0,232, 11,
+ 7, 0,233, 11, 7, 0,234, 11, 7, 0,235, 11, 7, 0,236, 11, 7, 0,237, 11, 7, 0,250, 7, 7, 0,238, 11, 7, 0,161, 1,
+ 7, 0,239, 11, 4, 0,240, 11, 4, 0,241, 11, 4, 0,242, 11, 4, 0, 88, 0, 4, 0, 35, 0, 4, 0,243, 11, 2, 0,244, 11,
+ 2, 0,245, 11, 4, 0,246, 11, 7, 0,223, 2, 4, 0,247, 11, 7, 0,248, 11, 4, 0,249, 11, 4, 0,250, 11, 4, 0,251, 11,
+130, 0,252, 11, 12, 0,253, 11,168, 0, 84, 4, 4, 0,254, 11, 7, 0,255, 11, 7, 0, 0, 12, 4, 0, 67, 0,115, 0, 12, 0,
+113, 0,227, 11,141, 0, 39, 3, 7, 0,128, 1, 7, 0,250, 7, 7, 0, 1, 12, 7, 0, 2, 12, 7, 0, 3, 12, 2, 0, 4, 12,
+ 2, 0, 5, 12, 2, 0, 6, 12, 2, 0, 15, 0, 4, 0, 88, 0,116, 0, 13, 0,113, 0,227, 11,132, 0, 16, 3,134, 0, 18, 3,
+ 7, 0, 59, 9, 7, 0, 7, 12, 7, 0, 8, 12, 7, 0, 69, 1, 7, 0, 9, 12, 4, 0,152, 9, 4, 0, 12, 3, 2, 0, 15, 0,
+ 2, 0, 35, 0, 4, 0, 67, 0, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0};
diff --git a/source/blender/editors/datafiles/splash.png.c b/source/blender/editors/datafiles/splash.png.c
index aea2a9a1a14..a3343496be7 100644
--- a/source/blender/editors/datafiles/splash.png.c
+++ b/source/blender/editors/datafiles/splash.png.c
@@ -1,8411 +1,6405 @@
/* DataToC output of file <splash_png> */
-int datatoc_splash_png_size= 268962;
+int datatoc_splash_png_size= 204738;
char datatoc_splash_png[]= {
137, 80,
78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 1,245, 0, 0, 1, 26, 8, 6, 0, 0, 0, 8, 90,206, 70, 0,
- 0, 10, 78,105, 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101, 0, 0,120, 94,
-157,147,103, 84,147,103, 27,199,175,231,121,178, 7, 35, 9, 17,144,241,176,151, 76, 25, 1,100,134, 21, 1, 25, 34, 75, 20, 66,
- 18, 32,140, 16, 67, 2, 14, 92,136,168, 64, 69, 81, 17,193,137, 84, 69, 44, 88,173,128,212,137, 40, 14,138,162,226,214,130, 20,
- 17,181, 22,171,184,112,244, 3,231, 84,223,158,119,244,237,239,211,255, 92,227, 92,247, 53,110, 0, 70, 72,152, 84,150,139,106,
- 0,228,200,148,138,232, 96,127, 60, 62, 33, 17, 39,247, 0, 10, 84, 32,129, 35,128, 80,148, 39, 15,159, 25, 20, 3, 0, 32, 8,
-228,227,121,209,193,254,240, 5, 4,224,245, 13, 64, 0, 0,174,217,134, 68,226, 56,252,127,104,138,228, 10, 37, 0, 18, 9, 0,
- 83,197,146, 60, 17, 0, 82, 12, 0,217, 5, 74,185, 18, 0, 25, 5, 0, 78,106,150, 92, 9,128, 18, 0,128,163,136, 79, 72, 4,
- 64,181, 1,128,147, 62,161,167, 0, 0, 39,117, 66,251, 2, 0, 71,156, 35, 19, 3,160, 49, 0, 32, 23,231,136,197, 0,104, 39,
- 0,172,206, 87, 73,196, 0, 88, 24, 0,148,228, 75, 37, 5, 0,216,117, 0, 48,205, 86,229, 72, 1,176,183, 0,192,201,145, 8,
-243, 0, 8, 12, 0, 48, 85, 74, 68, 25, 0, 4, 7, 0, 96, 40, 98,162,249, 0,132,105, 0, 20, 70,250, 87, 58,245, 43,173,148,
-204, 87, 2, 0,240,115,229, 11, 20,210,244, 12, 37,110, 41,178,194, 29,221,221,121,120,136,164, 32, 91,162, 84,218, 70, 10, 69,
- 89, 66,133, 24,231,231,230,200,133,178, 5, 0, 19, 61, 3, 0, 0, 43, 47, 58,216, 31, 23, 4,242, 93, 29,221, 93, 93,109,157,
-236, 28,191,204,233,191, 59,255, 38,241, 9,137,248,132,122, 25, 5, 8, 0, 32,220,238, 47,182,127, 23,151, 91, 7,192, 27, 3,
-192,214,125,177,165,110, 1,104, 93, 9,160,125,231,139,205,116, 39,128,122, 49, 64,203,229,175,250,225, 10, 2,249,120,134, 82,
- 41,247,176,183, 47, 40, 40,176,147, 74, 68,118,162,140,175,234,252,207,128,191,193, 87,245,236, 4,129,124,252,207,241,224, 1,
-146, 52,161, 42, 91,137, 71, 7,251,227,162,220,236, 92,149, 2,207,147, 11, 69, 18,220,246,175, 71,252,143, 19,191,226,171,119,
- 76,137,150,164, 73, 20, 18,153, 72,130,199, 74, 37, 5, 82, 89, 58,206,207,149,137,165, 74,105,174, 12,151,202,254,211, 18,255,
- 97,218, 95,152,184,107, 0, 96,215,127, 2, 78,178, 29,104, 92,230, 0,246,107, 55, 16,216,116,192,146,182, 3, 0,242,231,222,
-194,168,177, 16, 9, 0,113,134,195, 19,119, 15, 0, 48,241,155,255, 21,180, 2, 0,208, 60,105, 58, 14, 0,192,143,142,193, 69,
- 42, 69,254,132,143, 0, 0, 64, 4, 26,168, 3, 7,116,192, 0, 76,192, 18,108,193, 9,220,192, 19,124, 33, 16,166, 67, 4,196,
- 64, 2,204, 5, 17,100, 64, 14, 40,160, 0, 10, 97, 57,148, 64, 25,172,131, 77, 80, 3, 59,160, 30, 26,160, 9, 14, 65, 43, 28,
-131,211,112, 14, 46,193, 21,232,131,187,208, 15, 67,240, 20, 70,225, 53,140, 35, 8, 66, 70,152, 8, 27,209, 65, 12, 17, 51,196,
- 6,113, 66,120,136, 55, 18,136,132, 33,209, 72, 2,146,130,164, 35, 50, 68,133, 20, 34, 43,144, 50,164, 18,169, 65,118, 33, 13,
-200,247,200, 81,228, 52,114, 1,233, 69,110, 35, 3,200, 8,242, 59,242, 30,197, 80, 6,202, 65,245, 81,115,212, 30,229,161,126,
-104, 40, 26,131,206, 65,211,209,121,232, 66,180, 24, 93,139, 86,163,117,232, 1,180, 5, 61,141, 94, 66,251,208,126,244, 41, 58,
-134, 1, 70,199,184,152, 17,102,139,241, 48, 62, 22,129, 37, 98,105,152, 2, 91,130,149, 98, 85, 88, 29,214,132,181, 99, 93,216,
- 53,172, 31,123,134,189, 35,144, 8,108, 2, 78,176, 37,120, 18, 66, 8,179, 8, 34,194, 60,194, 18, 66, 57,161,134,176,143,208,
- 66,232, 36, 92, 35, 12, 16, 70, 9,159,136, 76,162, 30,209,134,232, 65, 20, 16,227,137,233,196, 2, 98, 9,177,138,184,135,120,
-132,120,150,216, 71, 28, 34,190, 38,145, 72, 92,146, 5,201,141, 20, 66, 74, 32,101,146, 22,145,202, 73,219, 72,205,164, 83,164,
- 94,210, 32,105,140, 76, 38,235,144,109,200, 94,228, 8,178,144,172, 36,151,144,183,144, 15,144, 79,146,175,146,135,200,111, 41,
-116,138, 33,197,137, 18, 68, 73,164,200, 40, 69,148, 42,202,126,202, 9,202, 85,202, 48,101,156,170, 65, 53,163,122, 80, 35,168,
- 98,234, 2,106, 5,181,158,218, 78,189, 76, 29,162,142,211, 52,105, 22, 52, 47, 90, 12, 45,147,182,156, 86, 77,107,162,157,165,
-221,163,189,164,211,233,198,116,119,122, 20, 93, 74, 95, 70,175,166, 31,164,159,167, 15,208,223, 49, 88, 12,107, 6,159,145,196,
- 80, 49,214, 50,246, 50, 78, 49,110, 51, 94, 50,153, 76,115,166, 47, 51,145,169,100,174,101, 54, 48,207, 48, 31, 48,223,170,177,
-213,236,212, 4,106, 98,181,165,106,181,106, 45,106, 87,213,158,171, 83,213,205,212,253,212,231,170, 47, 84,175, 82, 63,172,126,
- 89,253,153, 6, 85,195, 92,131,175, 33,212, 88,162, 81,171,113, 84,227,166,198,152, 38, 91,211, 81, 51, 66, 51, 71,179, 92,115,
-191,230, 5,205,199, 44, 50,203,156, 21,200, 18,179,138, 89,187, 89,103, 88,131,108,140,109,194,230,179, 69,236, 21,236,122,246,
- 89,246, 16,135,196,177,224, 8, 56,153,156, 50,206,119,156, 30,206,168, 22, 75,203, 89, 43, 86,107,190, 86,173,214,113,173,126,
- 46,198, 53,231, 10,184,217,220, 10,238, 33,238, 13,238,251, 73,250,147,252, 38, 73, 38,173,153,212, 52,233,234,164, 55,218,147,
-181,125,181, 37,218,165,218,205,218,125,218,239,117,112,157, 64,157, 44,157,245, 58,173, 58,247,117, 9,186,214,186, 81,186, 5,
-186,219,117,207,234, 62,155,204,153,236, 57, 89, 52,185,116,242,161,201,119,244, 80, 61,107,189,104,189, 69,122,187,245,186,245,
-198,244, 13,244,131,245,229,250, 91,244,207,232, 63, 51,224, 26,248, 26,100, 26,108, 52, 56, 97, 48, 98,200, 54,244, 54,148, 26,
-110, 52, 60,105,248, 4,215,194,253,240,108,188, 26,239,196, 71,141,244,140, 66,140, 84, 70,187,140,122,140,198,141, 45,140,103,
- 25, 23, 25, 55, 27,223, 55,161,153,240, 76,210, 76, 54,154,116,152,140,154, 26,154,134,155, 22,154, 54,154,222, 49,163,154,241,
-204, 50,204, 54,155,117,153,189, 49,183, 48,143, 51, 95,101,222,106,254,216, 66,219, 66, 96,177,208,162,209,226,158, 37,211,210,
-199,114,158,101,157,229,117, 43,146, 21,207, 42,203,106,155,213, 21,107,212,218,197, 58,195,186,214,250,178, 13,106,227,106, 35,
-181,217,102,211, 59,133, 56,197,125,138,108, 74,221,148,155,182, 12, 91, 63,219,124,219, 70,219, 1, 59,174, 93,152, 93,145, 93,
-171,221,115,123, 83,251, 68,251,245,246, 93,246,159, 28, 92, 28,178, 29,234, 29,238, 58,178, 28,167, 59, 22, 57,182, 59,254,238,
-100,237, 36,114,170,117,186, 62,149, 57, 53,104,234,210,169,109, 83, 95, 56,219, 56, 75,156,183, 59,223,114, 97,187,132,187,172,
-114,233,112,249,232,234,230,170,112,109,114, 29,113, 51,117, 75,113,219,234,118,147,199,225, 69,242,202,121,231,221,137,238,254,
-238, 75,221,143,185,191,243,112,245, 80,122, 28,242,248,205,211,214, 51,203,115,191,231,227,105, 22,211, 36,211,234,167, 13,122,
- 25,123, 9,189,118,121,245,123,227,222, 41,222, 59,189,251,125,140,124,132, 62,117, 62, 15,125, 77,124,197,190,123,124,135,253,
-172,252, 50,253, 14,248, 61,247,119,240, 87,248, 31,241,127,195,247,224, 47,230,159, 10,192, 2,130, 3, 74, 3,122, 2, 89,129,
-179, 2,107, 2, 31, 4, 25, 7,165, 7, 53, 6,141, 6,187, 4, 47, 10, 62, 21, 66, 12, 9, 13, 89, 31,114, 83,160, 47, 16, 9,
- 26, 4,163,211,221,166, 47,158,222, 25,202, 8,157, 25, 90, 19,250, 48,204, 58, 76, 17,214, 30,142,134, 79, 15,223, 16,126,111,
-134,217, 12,217,140,214, 8,136, 16, 68,108,136,184, 31,105, 17, 57, 47,242,199, 40, 82, 84,100, 84,109,212,163,104,199,232,194,
-232,174,153,236,153,201, 51,247,207,124, 29,227, 31, 83, 17,115,119,150,229, 44,213,172,142, 88,245,216,164,216,134,216, 55,113,
- 1,113,149,113,253,241,246,241,139,227, 47, 37,232, 38, 72, 19,218, 18,201,137,177,137,123, 18,199,102, 7,206,222, 52,123, 40,
-201, 37,169, 36,233,198, 28,139, 57,243,231, 92,152,171, 59, 55,123,238,241,100,245,100, 97,242,225, 20, 98, 74, 92,202,254,148,
- 15,194, 8, 97,157,112, 44, 85,144,186, 53,117, 84,196, 23,109, 22, 61, 21,251,138, 55,138, 71, 36, 94,146, 74,201,112,154, 87,
- 90,101,218,227,116,175,244, 13,233, 35, 25, 62, 25, 85, 25,207,164,124,105,141,244, 69,102, 72,230,142,204, 55, 89, 17, 89,123,
-179, 62,103,199,101, 55,231, 80,114, 82,114,142,202, 88,178, 44, 89,103,174, 65,238,252,220, 94,185,141,188, 68,222, 63,207, 99,
-222,166,121,163,138, 80,197,158, 60, 36,111, 78, 94,155,146,163,148, 43,187, 85,150,170,149,170,129,124,239,252,218,252,183, 5,
-177, 5,135,231,107,206,151,205,239, 94, 96,189, 96,205,130,225,133, 65, 11,191, 93, 68, 88, 36, 90,212, 81,104, 84,184,188,112,
- 96,177,223,226, 93, 75,144, 37,169, 75, 58,150,154, 44, 45, 94, 58,180, 44,120,217,190,229,180,229, 89,203,127, 42,114, 40,170,
- 44,122,181, 34,110, 69,123,177,126,241,178,226,193,149,193, 43, 27, 75,212, 74, 20, 37, 55, 87,121,174,218,177,154,176, 90,186,
-186,103,205,212, 53, 91,214,124, 42, 21,151, 94, 44,115, 40,171, 42,251, 80, 46, 42,191,248,141,227, 55,213,223,124, 94,155,182,
-182,167,194,181, 98,251, 58,210, 58,217,186, 27,235,125,214,239,171,212,172, 92, 88, 57,184, 33,124, 67,203, 70,124, 99,233,198,
- 87,155,146, 55, 93,168,114,174,218,177,153,182, 89,181,185,191, 58,172,186,109,139,233,150,117, 91, 62,212,100,212,244,213,250,
-215, 54,111,213,219,186,102,235,155,109,226,109, 87,183,251,110,111,218,161,191,163,108,199,251,157,210,157,183,118, 5,239,106,
-169, 51,175,171,218, 77,218,157,191,251, 81,125,108,125,215,183,188,111, 27,246,232,238, 41,219,243,113,175,108,111,255,190,232,
-125,157, 13,110, 13, 13,251,245,246, 87, 52,162,141,170,198,145, 3, 73, 7,174,124, 23,240, 93, 91,147,109,211,174,102,110,115,
-217, 65, 56,168, 58,248,228,251,148,239,111, 28, 10, 61,212,113,152,119,184,233, 7,179, 31,182, 30, 97, 31, 41,109, 65, 90, 22,
-180,140,182,102,180,246,183, 37,180,245, 30,157,126,180,163,221,179,253,200,143,118, 63,238, 61,102,116,172,246,184,214,241,138,
- 19,180, 19,197, 39, 62,159, 92,120,114,236,148,252,212,179,211,233,167, 7, 59,146, 59,238,158,137, 63,115,189, 51,170,179,231,
-108,232,217,243,231,130,206,157,233,242,235, 58,121,222,235,252,177, 11, 30, 23,142, 94,228, 93,108,189,228,122,169,165,219,165,
-251,200, 79, 46, 63, 29,233,113,237,105,185,236,118,185,237,138,251,149,246,222,105,189, 39,174,250, 92, 61,125, 45,224,218,185,
-235,130,235,151,250,102,244,245,222,152,117,227,214,205,164,155,253,183,196,183, 30,223,206,190,253,226, 78,254,157,241,187,203,
-238, 17,239,149,222,215,184, 95,245, 64,239, 65,221,207, 86, 63, 55,247,187,246, 31, 31, 8, 24,232,126, 56,243,225,221, 65,209,
-224,211, 95,242,126,249, 48, 84,252,136,249,168,106,216,112,184,225,177,211,227, 99, 35, 65, 35, 87,158,204,126, 50,244, 84,254,
-116,252, 89,201,175,154,191,110,125,110,249,252,135,223,124,127,235, 30,141, 31, 29,122,161,120,241,249,247,242,151, 58, 47,247,
-190,114,126,213, 49, 22, 57,246,224,117,206,235,241, 55,165,111,117,222,238,123,199,123,215,245, 62,238,253,240,120,193, 7,242,
-135,234,143, 86, 31,219, 63,133,126,186,247, 57,231,243,231, 63, 0, 3,152,243,252,228,233,233, 61, 0, 0, 0, 6, 98, 75, 71,
- 68, 0,255, 0,255, 0,255,160,189,167,147, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 11, 19, 0, 0, 11, 19, 1, 0,154,156, 24,
- 0, 0, 0, 7,116, 73, 77, 69, 7,219, 4, 4, 19, 16, 22,110,185,205,242, 0, 0, 32, 0, 73, 68, 65, 84,120, 94,236,189,123,
-180,109, 87, 93,231,249,249,205, 57,215,115,239,115, 78, 94, 36,225, 37, 33,188, 21,161, 48,160, 85, 42, 74, 73, 40, 69, 75, 27,
-149,132,194, 6, 44, 69,161,203,238,174, 70,187, 17,170,171,122,104,141, 18, 5,202,106,180, 91,233, 38,165,229,168, 82, 75,139,
- 72,169, 77, 15,149, 78,240, 5,104,161,166, 4, 31, 32, 96, 66,124, 0, 9, 33,185,185,231,236,189,215, 99, 62,126,253,199, 92,
-231,220,115,111,238, 59,185, 33,129,245,201,216, 57,247,156,189,246,218,115,174, 53,215,252,254, 94,107, 46,152,153,153,153,153,
-153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,
-153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,121, 80,176,103,218,224, 1, 70,166, 87, 13, 92,109, 12,143,
- 80,101, 3,248,233,239, 51, 51, 51, 51, 51, 51, 51, 15, 3, 4, 48,198,200, 19,255,249,117,207,252,197, 15,252,232,139, 62,253,
-103, 63,246,205,119,255,240,203,190,228, 87, 75,103,174, 57,180,205,204,204,204,204,204,204,204,121,240, 96,122,234, 2,148,223,
-243,194,167,188,225, 71, 95,252,212, 87, 92,225,187,197, 35,182, 23,205,115,191,236, 73, 79,249,202,167, 62,226,218,247,126,248,
-142, 59,142,172,198,143, 2,202, 44,238, 51, 51, 51, 51, 51, 51,231,204,131, 41,234, 6,104,191,250,170,230, 91,255,193,229,225,
-233,221, 93,247,224,143,220, 77,232, 6,158,252,228,199, 93,252,226,175,124,194, 55,126,228, 19, 71,236,199, 62,185,251, 65,160,
- 99, 22,246,153,153,153,153,153,153,115,226,193, 20,117, 1,170,247,223,190,123,199,165, 59,229, 51,190,226, 9,219, 87,106, 80,
-226,222, 46, 97,111,143,139, 47,191,220,189,244,249, 95,248,213, 49,133, 39,189,247, 67,119,252, 49,112, 55,179,176,207,204,204,
-204,204,204,156, 53, 15,166,168, 3,136, 42,123,191,246,161,163, 31,184,179,139,151,190,224,105, 23, 61,185,182, 14,223,117,196,
-123,239,129,170,229, 5, 95,241,133, 79,123,198,227,118,158,247, 59,127,246,201,219, 87,125,184,237, 76, 59,156,153,153,153,153,
-153,153,201, 60,216,158,240,126,229,251, 14,240,152,175,124,226,214,183,255,220, 75,175,254,174,199, 53,174,222,108, 60, 88,139,
-121,212, 85,212,143,125, 44,183,126,242,238,221, 87,255,196,111,255,200,187, 63,240,137,183, 2,123,211,231,245,148,123,126, 8,
-160,170,215, 0, 23, 79,191,222, 38, 34,159,211, 70,201,231, 91,127,103,102,102,102, 30,234, 60,216,162,190,143, 1,182,129, 43,
-174,220,118,223,244,159,190,253, 9,223,247,149, 87, 46,174,236,187, 8, 36,228,138,199,208,124,193,227, 25, 53,241,191,252,204,
-251,254,195,255,249,171,127,250, 47,128,191, 33,183,247,126, 11,187,170, 94, 13, 92,125,166,237, 38,142,136,200, 45,103,218, 8,
- 64, 85,111, 2,174,157,126,125,189,136,188,233,116,219, 63,220,249, 92,233,239,100,156, 92, 75, 54, 80,246,239,196, 0,184, 5,
-184, 13,184, 81, 68,142,156,236,179,231,130,170,158,184,255,179,229,172,199,224,204,204,204,231, 55,238, 76, 27,156, 2, 3, 36,
- 96,235,210,101,241,197,151, 46,220,165, 73,229,192, 64,144,233,127, 34, 34,186,255, 23,217,255,251,193,187, 14,104,125,212,238,
-123,127,237,211,191,241, 99, 47,122,236,139,190,252,242,197, 69,163, 87, 56,114, 55,125,187,164,184,244, 10,254,143, 87, 63,239,
- 21,215, 60,241,138,167,188,230,109,191,251,218,123, 87,227,123,121, 96,132,253, 58,224,141,103,218,104, 31, 85, 5,184, 17,184,
- 89, 68,110, 56,195,230, 51, 15, 3, 38, 33,191,110,122,157,202,192,219, 55, 88,222,166,170, 55,144, 13,151,251, 35,238,215, 0,
- 55,157,105,163,147,112, 51,240,130, 51,109, 52, 51, 51, 51,115, 62,162, 46,128, 44, 42,123,205, 15,189,240,113, 63,252,210,103,
- 94,254,188,157,166, 40,147,152, 44,216,198,228,151, 8,226,236,113,191, 99, 12, 98,237,177,223, 37,191,151, 16,245, 42, 41, 56,
-135, 57,180,159, 16, 61,169, 19,190,253, 5, 79,255,178,103, 61,241, 17,239,120,229, 91,110,254,129, 63,250,232, 93, 63, 3, 12,
-220,127, 97, 63, 87,174, 3,174, 83,213,235,128,235,239,231,228, 62,243,217,231,143,206,180,193, 9,188, 10,184, 86, 85,175,159,
-189,230,153,153,153,135, 42,231, 35,234, 0,143,120,243, 55, 62,254, 45,223,243,229,143,126,238,184, 73,104, 18,172, 17,192,128,
- 74,126, 97,144, 36, 89,122, 21, 48,146,125,251,164, 96, 65, 68,178,191,175, 96, 69,196, 25,177,147, 71,156, 69, 93, 1, 85,146,
- 8,195,102,228, 25,143,187,252, 17, 55,253,240,183,252,196,247,188,245,183,158,244, 11,191,249,209, 31, 1,238,226,129,241,218,
- 33,123, 66,167,226, 90,142,231, 90,224, 38, 85,125,193, 44,236,159, 51,220, 66,142,196,220, 34, 34, 55,195, 65,168,252, 90, 38,
- 49,159,182,187, 26,120,187,170, 62,251, 1, 58,247, 55,144,195,251,103,226,129,248,174,153,153,153,207, 3,206, 71,212,165, 42,
-204,213,255,240,105, 23, 63, 71,215, 30,223, 15,144, 82, 22,233,131,200, 58,211,107,255, 31, 10,214, 96, 46,189,124, 18,247,132,
- 24, 32, 77, 81,124,129, 3,133, 55, 41, 11,191, 49, 16,201,245,249, 2,227,224,217, 41, 75,243, 31,191,255,235,191,247, 57, 79,
-185,242,139,255,217, 79,189,239,251, 7, 31, 63,112,236, 11,206, 31, 17, 57,109,104,115,242,206,223,200,177, 48,237, 53,228,201,
-254, 97,153, 67,158, 57,224, 6,224,134,147,121,222,147,104,223, 8,220,168,170,111, 35,159,111,200, 99,224,129, 58,247, 55,238,
- 27, 17, 51, 51, 51, 51, 15, 4,230, 76, 27,156, 4, 59,250,116,247, 47,254,201, 93,239, 23, 51,176, 40, 35,139, 6,218, 90,167,
- 87, 58,246,239, 42, 81,155, 17,162, 71,170, 54,139,124, 74,144, 18, 7, 94, 57, 0, 35,164, 30, 82, 7,218, 3, 67,254, 93,199,
-105,123, 69, 53,225, 99, 34, 12,145,239,253,214,231, 92,123,211,155,191,245, 87,174,186, 98,251, 91,200,178,127, 62,253, 56,107,
- 68,228, 70,114, 78,243,176,199,116,221, 41, 54,159,121,120,240, 2, 17,121,245,217,132,210, 69,228,213, 28,239, 81,191,238, 84,
-219,206,204,204,204,124, 54, 57, 31, 79, 29,133,187, 95,247,171,183,255,192,175,253,217,103,190,229,105, 87, 54,143, 19, 48, 73,
- 53,229,119,133,164, 89,178, 55, 99, 50,207,250,130,173, 47,252,238,175,122,226,213,181,171, 77, 74, 9,172,205,190,117, 74,232,
-184, 66,172, 96, 30,251, 76,204, 35,158,136,108, 95,137,212,219, 16, 6,210,250, 46,116,239, 83,164,187, 62, 10,161, 3,105, 80,
- 34, 81, 33,173, 70,158,251,244, 47,248,130,119,189,249, 91,127,250,235, 94,255,159,237,199, 63,117,244, 29, 28, 43,222,187, 32,
-136,200,109,170,122, 35,199, 60,182,243,169, 98,190, 15, 39,169,136,190,229,129, 8,237,158, 80,225,127, 94,183,155, 61, 16,251,
- 56,145, 11,209,223, 19,218,121, 86,251, 59, 15, 15,249, 6,142, 21, 87, 94,172,170,215,156,141, 65, 48, 51, 51, 51,243, 96,114,
- 62,162, 30,129, 53,240,225,223,185,117,245,150,223,185,117,213,112,242, 69,108, 46,125,225, 51, 46,127,229,183, 60,251,241,143,
-108, 77,105, 66,210, 28,122,239,123,116, 88, 67, 92, 99,159,252, 92,220,179,191, 13,251,248,191,123,159, 15,239,187,222,122,207,
-237,132, 91,223, 77,252,171,247, 33,182, 4, 85, 84, 96,220,140, 60,249, 81,151,238,252,202,191,252,111,126,242,249,175,125,251,
- 61,159, 57,218,255, 38, 15, 64, 40,254, 12,220,111, 81,131, 3, 97,123, 21,217,219,191,143,113,160,170,183,113, 44, 52,124, 82,
-129, 82,213, 55,114,236,179, 55,138,200, 13,135,246,251, 42, 78,168,232,158,246,249,166,179,169,222, 87,213, 87,145,189,209,147,
-237,227,180,237, 58, 25,247,183,191,167,233,235,235,200,251,221,191, 87, 30, 46, 92,165,248,137, 2,126,248, 59,103,102,102,102,
- 30, 18,156,143,168, 39,160, 7, 2,121, 81,152, 41,235,125,112,207,187,138,240,133,111,122,241,147,127,240,181,207,187,234,121,
-113,132, 49, 70,212, 15,104,191,129, 48,128, 83,170,175,255,103,184,103,191,244, 20, 95,113, 12,185,228, 42,138, 75, 94,137,185,
-242, 25,132, 63,252, 41, 48, 17,200, 21,242,227,198,243,140, 39, 61,242,178,183,252,147,231,189,249,229,111,252,141,111, 1,254,
-154, 11, 43,234,135, 39,242,179, 22,181,195,168,234,181,192,219, 57,189, 40, 92, 77,246, 10, 95,117,154,106,235,253,123,171, 1,
-110,214,124,139,214,219, 56,117, 4,225,106,242,173, 89,215, 76,225,228,251, 48, 9,229,219, 56,117,106, 97,191, 93,215,169,234,
- 89, 9,231, 3,212,223,147,245,245, 38,102, 97,157,153,153,153, 57,142,243, 17,117,200,194,233,167, 23, 28, 19,116,251,184,203,
-234,111,124,219, 75,159,250,166,175,125,242,101, 79, 26,186, 68,140, 30,134, 14,130, 7, 81,164,128,234,155,127, 4,251,244,111,
- 56,216,217,110, 55,240,174, 15,220,206,187, 62,120, 59,247,172, 58, 10, 43, 60,237, 81,151,240, 77,207,126, 34, 95,242,132, 71,
-230, 29, 63,246, 57, 72,185,133,127,239,191,129,210,229, 38, 24, 33,172, 6, 94,246,252,167, 63,235,231,222,253, 23,175,124,215,
- 31,222,254, 6, 46,208,237,110,147,224, 29, 22,187,115, 13,223,238, 23,220,189,253,132, 63,223, 66,222,215,190,145,112,216,155,
-189,154, 99,149,246,167, 11,245, 94, 76,222,239,190,103,125, 35,199, 60,203,253,251,177,247,121,149,170,222, 38, 39, 95, 40,230,
-141,220, 87,208, 15,239,107,191,109,215,112,223,126,220,135, 11,212,223,139, 57, 94,208,143,112,172,125,199, 69, 22, 30, 96, 78,
-188, 11,226, 1, 9,189, 95,136,116,196,204,204,204,231, 47,194,253,103, 63,228,189,243,194,167, 95,242,189, 55, 92,255,148,239,
-127,204,178,105,186, 81,209, 56,128, 31,242, 86, 70, 32,172, 41,190,250,187, 40,190,230,251, 14, 62,252, 95, 62,246, 41, 94,251,
-243,239,225,182,207,236, 81, 87, 5,133, 51, 24,133, 20, 60, 46, 5,190,241,217, 79,224,127,187,238,185,180, 85, 1, 64,252,200,
- 77,132, 63,254, 25,100,235,138,233,107,133,178, 44,120,255, 71, 62,113,199,223,251,167,255,241,235, 84,249, 51,114,138,224,148,
-168,234,235, 56,180,248,140,136,156,246, 56,156,194,131,125,193,137,121, 89, 61,205, 10,107, 83,222,247,143, 56,180,172, 42,240,
-234,147,229,118, 79,226,221,222, 34, 34,207, 62, 97,155,195,223,181,207,141,228,125, 30, 39, 10,211,119,191,157, 99,226,113, 4,
-120,194,225,237,166,144,251,219, 14,125,236, 22,242,253,248,199,165, 28, 78,227,121, 95,176,254,158,162,175,183,145,191,243,198,
-195,127, 84,213,139, 47,132, 40,170,234,173, 28,159,183, 63,238,124,156, 13, 83, 63, 15, 47, 62,115,132,147, 71, 27,110, 35,159,
-203, 27, 78, 60,254, 51, 51, 51, 51,167,227,124, 61,245,125,246, 5,253,241,175,249,154, 71,255,171, 55,190,240,170,255,214, 37,
-199,102,240, 16, 71,136, 33,139,185, 0, 26,145,203, 30,139,251,210, 87, 28,124,248, 99,119, 28,225, 21, 63,249, 46, 62,221, 5,
-218, 69,131,183,150,162,176,148, 86,176, 90, 34, 49,240,142,247,255, 37,214, 24,126,232,219,158, 7,128,125,226,223, 39,126,228,
- 55, 32,174,192, 53, 32, 16, 70,207,179,158,112,249,149, 95,250,180, 43,191,246,253, 31,186,227,195,228, 20,193, 89,123,235,147,
-200,159,138,107,185,175,160,156, 84,156,206,192,219, 56,222,187, 60,229,189,206, 34,114,243, 20,222,222,247, 72,175, 81,213, 87,
-157, 33, 31,126,179,136, 92,127,178, 55, 36, 23,249,189,158, 99,130,178,127, 15,246, 97, 65, 60,124, 12,110, 35, 27, 45,247,105,
-223,161,182,157,105,241,150, 11,217,223,219, 56,197,254, 46,144,160,159, 88, 95,112,198,186,132,179,228, 84,233,131,171,201,231,
-227,117,170,250,176, 93,126,119,102,102,230,193,231,254,136,186, 0,114,201,194, 61,255,173,215, 61,225, 71, 95,242,140,203,158,
- 57,244, 48,136,135,148, 67,237, 20,230, 96, 75,245, 35,238,201, 95,133, 44, 47, 59,216,193,235,127,254,125,124,236,111,143,194,
-206,146,163,171, 0, 18,177, 2,173, 21, 46, 91, 56, 46,110, 28, 59, 59, 75,126,229, 15, 62,198,243,190,232,113, 92,251,204,199,
-131,117,216,171,191,138,240,129,127,143, 60,226, 42,208, 68, 18,161,108, 74, 94,242,188,167, 92,251,254, 15,221,241,239,128,123,
- 56, 7, 81,231,236,151,140,189,129,243,184,183, 88,143,173, 45,190,207, 25,151, 27, 21,145, 91, 52, 47, 77,186, 47,182,215,114,
-122, 49, 57,105,158,124,159, 73, 56,111,225,248, 80, 55,112, 16, 38, 63, 44, 90,111, 58, 93,251, 14,181,237, 85,156,132, 7,161,
-191,167,109,223, 3,201,212,151,195,227,227,150, 51, 24, 87,103,203,254,186,242,135,195,248,135,215,160,223,231,141,170,122,181,
-156,162, 14, 98,102,102,102,230, 48,231,115,127,247,126, 81,220,242,185, 79,216,250,190,247,253,247, 95,244, 75, 47,121,218, 37,
-207,220,108, 34,145,152, 5,221, 0, 86, 16, 43,136, 19,196, 26,196, 9,230, 81, 79, 63,216,201,199,239,188,151, 95,255,192, 95,
- 67,219,228,219,220,140, 1,107,137, 24,246,134,200,199,239,218,112,219,167, 55,120, 21,146,181,188,251, 79,255,234, 88, 3, 46,
-123, 34,218,237, 2, 97,106,141, 66, 72, 60,245, 49,151, 60, 1,120, 36, 15, 76, 90,225,100, 92, 71,246, 34,207,181, 64,235,176,
-192, 29, 57, 7, 81, 56,108, 60,156,238,190,248, 91,206, 50, 76,123, 88, 64, 14,183,233,184, 72,196, 89,182,239,184,176,247, 9,
- 92,200,254,222,118, 14,251,187, 95, 76, 41,132, 19,195,229,247, 71, 92,143, 0,175, 39,167, 62,158, 45, 34,215,139,200,155, 14,
-189,174, 23,145, 75,166,109, 14, 27, 45,175,154, 12,175,153,153,153,153,211,114,174,158,250,126,184,253, 81,223,249,119, 31,241,
-131,111,253,198,199,125,119,145, 44,155, 49,129, 85,208,132, 40, 72, 18,212,202, 20,122,207, 31, 17, 87, 98, 46,254,130,131, 29,
-221,126,215, 46,221,198,195,118,197,129,157,176,239, 91, 27, 3,170,220,187,242,248, 49,240,152, 29,199, 94,191, 95,147,199,148,
- 79,183, 48,108,144,102, 11, 69, 33, 4, 30,127,197,214,229, 85,105,175, 28,198,248, 97,206,141,215,159,230,189,171,201, 34,117,
- 53,217,131, 58,168,254, 62, 7,111,241,176,200,157,117,129,213,228, 93, 31,252,174,167,190, 55,250,108, 35, 7,167, 18,254,195,
- 94,250, 89,237,235,196,182,157,192,133,236,239, 89,239,239,254, 48, 25,110, 39,214, 14,188,254, 20,199,255,172,152, 62,123,198,
-207,139,200,155, 84,245,102,142, 79,113,188,145,211, 27, 82, 51, 51, 51, 51,231, 36,234, 2,176, 85,219, 47,255,215,223,240,152,
- 55,191,250,154, 71,124,197, 56, 66, 95,228, 37, 95, 53, 42,226, 19,101,105, 56, 26, 99,106, 48, 6,103, 15,238, 96, 23, 0, 13,
- 7, 59,187,124,167,197,150, 5, 49, 65, 94, 47, 94, 39, 81,159,126,170,128, 53,172, 55,158,191,234,123,170,103, 30,106,170, 70,
- 80, 15,161, 7,179,141,104, 66, 83,226,146, 69,209,238,180,229,197,159, 30,187,115,138, 64,200, 89,228, 44,167,188,234,235, 56,
-246,120,206,155,128,179, 45,150, 58, 92,221,124,181,230,194,175,243,225, 84, 17,130,179, 53, 46, 78,197,121,137, 48,121,219,147,
-221, 66,119, 33,251,123, 46,237, 59, 47, 38, 65,191,137,227,251,241,234, 7, 43, 66, 0, 7,233,136,215,115, 44,244,127,181,170,
- 94, 39, 39, 20, 6,206,204,204,204, 28,230,108, 68,125, 63,148, 93, 60,245,138,250,219,126,254, 37,143,127,211,151, 92,222, 94,
-222,141, 9, 42,151, 5,221, 39,156, 79,148,141,229,159,191,251, 19, 31,124,220, 69,229, 69,223,125,205, 35, 30,215, 43,200,190,
-183,238, 61,233, 51,127,137,121,236,115, 0,120,218,163, 47,229,203,158,116, 57,191,247,225,187,192,185, 44,226,102, 18,244,253,
-117,225, 82,254,108,127,207,154, 39, 93,121,108,126,215,221, 79,194,176,139, 14, 23, 33,211, 19, 99, 52,237, 27, 5,152, 67,109,
-126,192,152,188, 39, 56, 54,201,158,169,152,235, 48,135,197,233,106, 46,236,173, 87,247,151,115, 49, 16, 78,181,237,195,169,191,
-199,113, 10, 65,127,253, 89,158,231, 7,154,195,171,216,193,195,232, 56,206,204,204,124,118, 56,147,168,239,135,219, 47,191,254,
-239, 92,242,218, 31,255,250,199,252,211, 43,235,162,220, 36, 65,218,236,130,235,152,168,147,210,151,240, 63,190,243,175,222,121,
-195,251, 62,253,203, 63,125,253, 85,223, 47, 58, 69,222,237, 84,253,238, 12,122,231,159, 29,236,216, 24,225, 95,124,243,179,249,
-250, 15,253,191,208,123,168,202, 44,236, 48, 61,205, 13,208, 4,171, 13,207,250,194, 71,243,242,175,254,162,131,207,166, 79,127,
- 24, 85,143,196, 49,111,168,138, 17,229,158, 85,223,237,110,198, 61, 46, 16,147,176, 31,158,100,175,227,220, 43,161,111,227,252,
- 87,166, 59, 23,193,125,168,240,112,235,239,137,130,126,195,217, 68,114, 46, 4, 34,114,228,132,226,198,107,121, 96, 30, 36, 51,
- 51, 51,243, 57,202,233, 68, 93, 0,113, 86,158,252,134,175,123,212,143,191,246,239, 93,249,181, 33,192,198, 25,164, 50,104, 82,
-180,139, 44,156,112,251, 16,250,239,248,185,143,255,212,111,127,116,247,231,129,244,215, 71,253,157,136, 62, 85, 15, 60,117,160,
-110,137,183,191, 23,119,228,118,228,226,171, 0,120,225,179,174,226,134,127,242,247,121,205, 79,191,135,205,189, 3,212, 21,216,
-156, 79,103,244,176,233,248,146,167, 94,193, 47,189,246, 27, 88,212,249, 62,117,124, 71,252,208, 59,144,178, 2,137,160, 9, 77,
- 17,140,225,214, 59,238,189,171, 31,227,254, 35, 89, 47, 20, 55,115, 44, 92,125,226,173,110,103,195,103, 77, 36, 62, 75, 60,108,
-250,171,249,105,108, 39, 10,250,253, 41,140,123, 32,248,108, 24, 54, 51, 51, 51, 15, 83, 78,151,123, 22,224,242, 55,126,253,163,
-127,242,251,191,226,202,175,237, 3,248,214, 33,141, 69, 19,176,137, 44,106,203,111,125,114,125,231,243,222,250, 23, 63,240,219,
- 31,221,253,191,128,219,129, 79,124,228, 51,253, 71, 48, 2,113, 42,122,178, 38,135,216,195, 10,255,222,183, 28,247, 37,223,253,
-252, 47,226,247,127,228,197,188,230, 31,126, 49,143,191,164,162, 86,207,210, 68,190,252, 73,151,241, 19,223,243, 53,252,238, 27,
-174,227,241, 87,236, 28,108, 31,254,240,167,208,123,111,135,162, 66,167, 34, 60, 66, 4, 35,124,228,111,143,252, 21,249, 57,235,
-251, 1,252,135, 10,167,170, 58,127,168,112,190,237, 59,213,182,231,187,191,207, 26,122,252,227, 85,225,161, 33,232, 51, 51, 51,
- 51,231,196,105,195,239,143,189,184,124,222,119,124,241, 37,207, 31,251, 4,203, 2, 41, 5, 29, 21,219, 7,170,133,229,103, 63,
-120,247, 95,252, 15,191,116,251,191,222,237,226,123,128,187,201, 15,122,169,127,247,214,189, 63,248,212,158,255,206,203,218,194,
- 69,213,131,226,118,154,150,244,215,191, 75,120,223,143,225,190,226, 53, 7,223,243,140,199, 93,198, 91,190,243,171,248,145,151,
- 7,238,184,103, 77, 89, 56, 30,117,201,226, 62,237,137, 31,250, 85,194,159,252, 44,212, 45, 0, 98, 44, 26, 19, 18, 19,190, 31,
-120,199,123,110,125, 31,121, 61,250, 11, 41,234,231,147,215, 60, 46,132,170, 23,104,213,179,251,193,109, 28,107,223,169,214,142,
- 63,142,233,254,237, 83,241, 80,239,239,113, 60,196, 5,253,124,139, 24,103,102,102, 62, 15, 57,157,167,238,174,186,164,122,210,
-197,149, 37,164, 92,221,174,155, 72, 57, 70,164, 18, 94,251,174,191,185,249, 21, 63,123,235,255,188,219,197,119, 3,119, 2, 71,
-129, 17,240,159,188,119,252,131,119,124,248,200, 7, 10, 7,218, 71, 64, 17, 67,190, 95,189,221, 34,254,201,127,192,223,252, 47,
-208,205,103,142,251,194,186,112, 92,117,197,206,125, 5,221,119,196,247,191,149,240,158, 55, 32, 85,137, 88,155,243,245, 69, 5,
- 62, 80, 24,248, 47, 31,249,212, 29,191,247,161, 59,111, 38,175,253,126, 65, 68, 93,143,127,196, 39,156,253, 36,123,226,109, 98,
- 39, 93,180,229,179,200,225,246, 93,172,121, 57,211, 51,113,186,109, 30,234,253, 61,224,161, 44,232,154,151,238, 61,204,249,214,
- 38,204,204,204,124,158,112, 58, 81,183, 31,186,179,251,232,223,142, 49,180,173,165,245,145,214,194,202, 38,125,217,219,111,251,
-133, 31,189,233, 83, 63, 8,124, 16,248, 12,217, 67,207,234,157, 31,242,114,231,143,255,206,157, 55, 30,245, 17,231, 35,248,148,
-171,230,166, 69,105, 88,108,145,110,253,117,198,119,188,130,248,231,239, 64,119, 63,113,210, 6,232,250, 46,210,173, 55, 51,254,
-242,119, 18,254,248,223, 66, 93,131,117, 48, 85,225,137, 41,144,222,131, 85,126,232, 23,255,248,151,129,191,156,190,255, 1, 23,
-245, 67,247, 45, 31,230,172,110, 47,154,110, 67, 58, 60, 33,191,238, 12,158,238,131,205,141, 28,159,187, 61,221,178,185,251,199,
-226,148,219, 60, 12,250, 11,156, 84,208,111,225,244,107, 22,156, 22, 85,189, 90, 85, 95,119,232,117,237,161,247,206,105,193,162,
-105,251,195, 69,153, 71, 56,203,241, 54, 51, 51,243,249,203,105,195,239,119,175,194, 31,190,228, 23, 62,254,166,215,124,213, 21,
-215, 93,218,186,157, 15,127,166,255,219,255,251,189,159,126,231,159,127,114,243,255, 0,159, 2,238, 37,123,231,135, 69, 52, 2,
-221, 95,222,213,255,250, 27,126,243,142,107,223,252, 13,143,125, 65, 88, 5,112, 6,169,236,177, 18,182,118, 27,194, 81,252,123,
-127, 24, 41,151,200,165, 79,197, 92,242, 4,112, 53, 36, 79,186,247,175,209,187,254, 28,250,123,161, 40, 96,113, 44,175,158,111,
-123, 51,232, 32,148, 75,195,191,191,249, 35, 31,250,255,254,235, 39,126,129, 28,122, 63,182, 74,205, 3,192,228,157, 95,203,125,
-159, 47,126,132,115,171,124,127, 53,199,175,189,126,147,230,199,140,158,118,177,151,233,251,175,131,179,187,159,254,124,152,170,
-172,223,196, 49, 17,185, 86, 85,223,118, 50,143,245,208, 45, 95,103, 18,169,135,108,127,225,148,130,126, 46, 11, 10,157,140,171,
- 57, 94,136, 95,207,177,168,197, 53,154,215, 58,184,225, 76,247,154,235,177,199,232, 30, 62,198, 15,218,210,184, 51, 51, 51, 15,
- 95, 78, 39,234, 30,184,231,247,111,219,251,119,191,127,219,222, 77,192, 22, 57,111,126, 7, 57,212,190,154,182, 57,113, 89,177,
- 68,126,222,250, 29,255,230,221,159,122,203,179, 30,219, 62,254,165,207,188,244,137,221,238,136,108,151, 80,153,188,210, 28, 10,
- 69,129, 20, 69,174, 96,191,251,131,132, 79,223,114,176, 59, 49, 14, 92, 9,139,229,241,123, 87, 96,140,104,106,168,171,146, 91,
- 62,118,231,145,255,233,223,190,255,205,100, 47,189,227, 12, 79,104, 59, 25,170,167, 94, 26,237, 52,220,231,105,104,167, 67,242,
-106,105,175,230,216,147,208,246,133,238,102,242,196,127, 56,148,191, 31,230,191,150, 99,185,233,243,246, 32,207,146, 27, 56,254,
- 49,168,175,154, 60,205, 27, 56,214,182,107,201, 66,120, 49,217, 19, 63,194, 41,114,240, 15,229,254, 78,253, 58, 89, 74,224,237,
-231, 48, 20,110, 60,143,123,215,175, 37, 27, 76,183,145,143,193,201,214,126,191,134,251, 46,145,123,203,133, 52,112,102,102,102,
- 62,119, 56,157,168, 71,178,112, 7,178,136,155,233,111,195,244,218, 15,183,159,140, 0,172,146,234,159,254,119,191,248,241, 31,
-186,116,225,222,240, 15,158,184,243,232,254,232, 8, 91, 5, 82,219, 99,247,175, 3,136,129,178, 62,253,125,104, 10, 36,133, 33,
-146,118, 71,154, 71, 94,193,135, 63,117,100,117,253,155,126,231, 77, 71,215,254, 61, 28, 51, 50, 46, 52,183,144, 5,253,108,243,
-233, 7,136,200, 13,122,108, 1,155,125, 47,236, 90, 30, 2, 21,226,147,183,126, 61,217,187,222,143, 72,156,232,121,238,115, 4,
-184,254, 20,239, 29,240, 80,238,239, 73, 56,215,244,192, 89, 45,167,123, 10,174,230,236,235, 12,110,224, 2, 26, 56, 51, 51, 51,
-159, 91,156, 46,167,174,100,113, 94,147, 39,241,123,200,225,246,205,244,247,211,185, 52, 74, 22,254,163,187, 93,252,237,111,190,
-225,163,255,235,207,254,241,221,127, 81,151,134, 98,215,147,142,122,232,211,193, 94, 4, 65,228, 36,175,233, 63, 34, 48, 38,116,
- 55, 32, 71, 6,154,139, 47,226,183,111, 59,122,199,215,254,192,205, 63,112,219,157,171,255, 76,110,219,134, 11,144, 75,159,184,
-153, 60,185, 94, 47,249, 65, 28,231, 44,232,251, 76,222,221,179,201,251, 59, 27, 79,255, 70,114, 40,251, 92,189,194,115, 70,242,
- 67, 97,246,219,118, 42,110, 38, 63,246,244,172,142,193, 67,185,191, 15, 50,251,249,250,179, 58,110,228,227,240, 2, 17, 57,167,
-136,208,204,204,204,231, 55, 23,114,145, 22,200, 43,191,183,100, 47,237,139,190,227,203, 47,255,174,127,245,194, 71,127,211,163,
-119, 74, 23, 6, 37, 56,129,218, 34,206,100,207,221, 28,106,142, 42, 68,208,144,160,143, 88,159, 40, 10, 97, 55,194, 15,191,231,
-158,223,250,223,223,121,235,219,124, 76,127,200,177, 91,233,142, 45, 44,255, 48, 98, 10, 5,159,232, 37,222, 70,126,186,217,253,
-241, 6,239, 23,135,106, 9,246, 61,236, 35,228,103,182,223,175, 10,236,135,106,127, 31,108,166,227,112, 53,247,173, 77,184,133,
- 28,110,159,133,124,102,102,230,156,185,208,162, 14, 89,216,107, 96, 7,184,242, 11, 46,169,190,230, 85,207,189,252, 69,223,126,
-205,101, 95,250,152,173,162, 64, 5, 85, 37,137,144, 14,181,198, 40, 24,213,124,235,154,192,221,125, 76,255,233,131,247,252,233,
-219,222,247,233,119,254,201,223,172,127, 13,248, 91,114,228,160,227, 97, 42,232, 51, 51, 51, 51, 51, 51, 15, 36, 15,134,168, 67,
-254,158, 18, 88, 0,219,192,149,151, 44,221,223,249,210,171,150, 95,250,226,103, 94,242,156,103, 62,186,125,228,197,149, 93, 44,
-156,148,206,136, 9, 9,221,196, 52, 30, 29,211,230, 99,159,238,238,186,241, 3,247,252,215,223,187,109,245, 7,159,188,119,188,
- 5,248, 4,176, 75,206,161, 95,176,123,210,103,102,102,102,102,102, 30,110, 60, 88,162, 14,249,187, 12, 80,145, 67,242, 45,185,
-162,254, 18,224,138,182, 50,151,214,206,108, 23, 86,202,144, 52,244, 65,247, 54, 67,188, 91,149, 79,147, 67,236,187,228,188,249,
-154, 51, 23,234,205,204,204,204,204,204,124,222,241, 96,138,250, 62,251,226, 94,144,189,247,253,151,227,224,233,235, 64,246,192,
-253,244, 26,201, 66, 30,152,197,124,102,102,102,102,102,230,164,124, 54, 68,253, 48,251,171,194,155, 67, 63,247, 73,112,240,116,
-117,101, 22,242,153,153,153,153,153,153,211,242,217, 22,245, 19, 57,220,158, 89,196,103,102,102,102,102,102,102,102,102,102,102,
-102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,
-102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102, 30,214,168,234, 67,109,109,135,153,207, 2,251,
-227,224,225, 56, 30, 30,142,109,158, 57,123,228, 69, 47,122,209, 59, 49, 70,173,115,118,123,103,199, 42, 36, 69,195, 48, 12,106,
-173,141, 85, 89,177, 94,175,147,247, 94, 83, 74,130,106,126,200,121, 2, 98,216, 95,237,205, 80,150,169,114,142,132,138,247, 94,
- 68, 68, 4,149,194, 57,134,113, 80,146,106, 89, 87,148,101, 21, 68, 36, 24, 99, 8, 33,226,189, 79, 34,146,218,182,101, 24,122,
-234,186,166, 31, 6,170,178,100,181, 90,153, 24,163,180, 77, 43,174,112, 98,172, 53,170, 68,231, 92, 24,135,209,132, 24,197, 90,
-171, 41,165, 4, 98,140, 65,140,181, 54,165,100, 54,155,141, 69, 49,228,135,189, 37, 85, 85, 64, 52, 37,213,148, 60,170, 17,103,
- 77, 93, 85,146, 98, 76,136,104, 81, 20, 9, 85,188,247, 70,193,166,148, 68,140, 25,173, 49, 94, 85, 36,165, 40,128,136,128, 42,
-209, 88,139,181,214,132, 16,168,235, 90,134,190, 71, 85, 17, 17,170,162, 72,170, 42,170,138,130,136, 17, 20,193,136, 96,140, 33,
-134,160,235,245, 74, 72, 73, 16,209,170,105, 84,196,184, 24,163, 17, 48, 34, 32,214,210, 52, 77, 74, 41, 69, 85,245, 64, 68,196,
-105, 74,210,117,157, 90,107, 83,233, 74, 99,172, 49, 8,118,244, 35,101, 81,202, 48,142, 38,120,239,131, 15,201,216,188, 72, 95,
- 10, 33,185,178, 50, 41, 70,147, 52, 9, 32, 77,211, 90, 99, 76, 49,142, 99, 97,140, 72, 81, 20,132, 24, 99, 12, 49,198, 24, 99,
- 26,135,128,152,100,203,146, 24,131, 2, 52, 77, 75,140,193,146,212, 98,140,166, 24, 49,214,138, 17,172, 49,166,142, 41,133,186,
- 44,147, 49, 70,197,152, 8,224, 67, 32,134, 0, 34,120,239,173,136, 72, 83, 85, 0, 66, 62, 22,164,148,108,225, 10,235, 67, 8,
-198,152, 96,173, 21, 4,141, 41, 98,141,181, 49,198, 34,165, 36,198, 26, 9, 33,146, 98,212,148, 18, 34,130,177,198,107, 82, 10,
-231,176,214,202, 56,142, 86, 85,169,171, 74,250, 97, 64, 68,196, 57,139,117, 78,140,136, 87, 77,253, 56,122,181,214, 74, 81,184,
- 50,132, 96, 64, 72, 41, 73, 76, 81,157,117, 41,166, 68, 89, 20, 69, 74,201,168, 42, 33, 4, 81, 77, 24, 99, 83, 93, 87, 81,140,
-213, 20,147,128, 98,173, 85, 85, 13, 73, 53, 10,168,170,106,138,193, 90, 99, 5,129,190, 31,196,123,159,202,170,242, 58, 13,198,
-194, 57, 21, 17, 66, 8, 54,198,136,177, 6, 52,175,156,232,172, 53, 69, 89,210,117,157,169,235, 26,239, 71, 82, 74, 38,165, 36,
-206, 57,140,177, 41,166,132,115, 86, 68,140,196,152, 8, 49,136, 51, 70,139,178, 8,154, 52, 57,107,211,122,179,161, 44, 11,107,
-173, 3, 85, 73, 41, 50,250,160,206,218,100,114,155, 25,199,209,150,101,201, 56,142, 34,130, 56,231,140, 49,198,245, 67,111, 10,
- 87, 56, 49,198,160,138, 15, 97, 52, 34, 49,132, 96,140,181,210, 52, 13,193, 7, 49, 34, 54,169, 26, 64, 5, 72, 41,145, 82, 10,
-214,154, 0,146, 47, 77, 20, 17,131, 76,179,130,181,150,144, 98, 10,222, 39,103,157,186,178, 48,128, 9, 33, 48,122, 47,109,219,
- 0,176, 89,173,109, 82,213,186,110,162,247, 62,150, 69, 17, 99,138, 41,198,136,170, 74, 83,215, 38, 95,211,138,115,142,164, 81,
- 11, 87, 4, 31, 66, 66,140,166, 16,213,135,144,140, 49, 18, 83, 34,165, 40, 34, 72, 97, 11,131, 32, 41,165,252, 16, 72, 49,168,
- 38,172, 53, 73,196, 36, 99, 13, 49, 4,107,172, 37,134, 40,154, 18, 73,213,136,136, 49,198, 88, 5,103, 68,204, 24, 60,198, 24,
-113,206,217, 97, 24, 4, 69, 52,207, 25, 24, 99, 48, 34,136, 49,234,156,245, 41,166,100,140,164,148, 82, 12, 33,132, 24,147,148,
-101,105,247,143, 25,130, 22, 69, 65, 74,137, 16, 66,112,174, 16,107,173,132, 16,108, 82, 21, 99, 76,190, 94, 84, 77, 74,201,166,
- 20,197, 57, 7, 64, 8, 1, 31,252,168, 81,125,219,182,211, 53, 97,163, 24,241, 49,196, 81, 53, 37,231, 10,188, 31,147,136, 32,
- 34, 41,132,160, 34, 66,254,250, 68,204,115,169, 53,198,152, 73,244,213, 57,171,249, 18, 53,196, 24, 41,138,194, 42,152, 24,130,
- 5,138,148,146, 3,108, 81,150, 70, 83,114,195, 48,104,254,184,166,162,112, 41,132,168,144, 47,136,148, 82,180,214,170,136, 80,
-148, 5,133, 43,152,222,179,170, 74,140, 49,166,152,210,254, 92,137,130,181,118,127,124, 73, 76,209,146,212,133, 24,141, 32, 41,
- 75, 1, 70,192, 41,152,148, 18,198, 26, 66, 8, 88,147,127, 26, 99, 16, 17, 92, 81,160,154, 72, 49, 33, 34,162, 40,130,164, 24,
-227, 8, 36, 85, 69, 85, 35,228,201,189, 44,203, 36, 34,201, 90, 27, 99, 74, 18,125, 16, 31, 60,136,224,156, 75,198,152,164,170,
-234,189,199,123, 15, 40,154,123,106,243,252,110,197, 24, 73,227,152,143,119, 81, 20,140,163,183,160,249, 2, 64,172,136, 56, 80,
-151, 82,210,148,146, 26, 99,146,181, 70, 67,136, 41,132, 16, 81, 77,206, 21, 89, 79,140,193, 26, 67, 74,202, 56, 14,178, 92, 46,
-196, 57, 39, 73,147, 76,199, 78,234,186, 46, 69,164, 80,212,200,139,255,209, 63, 58,202, 36, 68,198, 90,163,104, 82,160,109, 22,
- 82,148, 46,197, 20,117,236, 71,181, 69,193,122,181, 18, 64,130,247,200, 56,130, 49,186,223,163,164, 9, 91, 22,136, 88, 89,110,
-111,137,247,158,245,106,143,182,109,232,214,107, 92, 93,169,247, 94, 76, 34,137,179,105,123,107, 11, 48, 42,249,201,171, 24,147,
- 7,207, 56,142, 84, 85,197, 56,142, 24, 99, 56,122,244,168,160, 72, 89, 87, 52,117, 3, 24,181,206,168, 49,134, 49, 68, 41,172,
-165,235, 58, 45,139,130,193,143,121,114,115,133, 25,251, 94,218,118,145,175, 4,129, 97,136, 24, 7,133, 45, 88,237,173, 99, 12,
-163,154,124,122, 5,231, 40,203, 50,141, 93,167, 34,194, 69, 59,219, 2,198, 68, 77,236,237,237,233,246,246,118, 26,199, 81,179,
-237,226, 88,173,214, 41,145,216,106,183,101,181, 89,137, 17, 97,107,107, 75, 54,155,142,162, 40,112, 70,216,221,221, 37,165,168,
- 70,133, 40, 73, 16, 75, 89,215,212,101, 73, 34,177, 58,186, 2, 18,139,182,213,222,123,146,247, 32, 98,156, 43,164,105,106, 49,
- 54, 47,131, 47,198,176,238,186, 24,198, 49,138,170,184,186, 38,198, 32,154,148,210, 21,218,182, 45,123,187, 71,141,117, 78, 20,
- 72, 41,210,182, 11,185,247,222,123,163,136,104, 76, 72, 93,186,212,111, 58,182,118,118,196,154, 60,255,238,173, 55,162,154, 68,
- 68, 76,211, 44,108, 81, 8,123,123,107,209,164,201, 21, 46, 13,163, 87, 17,163,181, 51, 58,166,188,184,159,179, 14,213,128,113,
-133, 56, 99,179,225, 33,162,146, 23, 2,148,105,144,166,177,239,247, 39, 51,196, 88, 98, 76, 44,151, 11, 52, 37, 66, 74,178, 94,
-175,217, 94, 44,100,111,179, 65,128,162, 40,180, 44, 10,193, 58,237,250, 46, 57,231,132,164,132, 24,104,234,154, 24,163,108, 54,
- 27,113,206,137, 15,249, 41,187,206, 57,181,214, 72, 85, 84, 32,176,238, 58,109,202, 26, 17,197, 24, 35,128,236,237,237,177,181,
-181,197, 62,125,223, 17, 66,208,178, 44, 21, 72,227, 56,178,216, 90, 72,191,233,141,115, 78,202,178,212, 97,232, 84, 48,136, 49,
- 98,140,145,162, 40, 36,248, 32,171,245, 10,231, 44,117, 89, 39,175, 17, 13, 17, 48, 88,103, 53,132, 17,148,100,156,211, 48,142,
- 36,205, 6,134, 49, 34,170, 42, 97,140, 72, 33,154,148,148, 98,212,229,114, 59,105,138,210,117,157, 44,151, 75, 73, 33, 74, 63,
-246, 44,154, 86, 49, 70,251,126, 64, 53, 73,211, 52,178,183,183, 71,190,128,145, 24,188,110,111,111, 43,130,174, 86, 27, 98, 10,
- 44,151, 91, 6,144, 16,163, 90, 81,173,203, 38, 41, 74,223,247,200,244,115,185,189, 35,221,106, 37, 33, 37,182,182,150, 8,162,
-187,123, 43, 77, 41, 98,173,165,170, 10,233,251, 65,202,186,164, 46,107, 70, 31, 12,146,100,232, 6,105,155,214,142, 49, 36, 17,
- 73,146,167, 81, 77, 33, 74,219, 46,100,189, 94,171,106, 36, 69,149,124,254, 17, 64,155,170, 73, 42,170,195,144,231,204,113, 12,
- 76,154,143,136, 80,215, 53, 77,211, 32, 70,180,235, 58, 77,160, 22, 36, 29,136,190, 33,248, 64, 85, 85,248, 16,232,215, 61, 69,
-229,212, 26,171,198, 26, 5, 48,198,176, 94,109, 68,242, 68,169, 34, 34,219, 59,219,154, 82, 74, 49, 70, 85,205,162, 20,162, 18,
-131, 23,177, 6, 81, 88,119,107, 49, 98, 76,221,212,106,197, 72,240, 35,195,224, 49,198, 80,213, 21,227, 56,170, 49, 70, 5,165,
- 44,107,137, 41, 72, 30,163,213, 65, 31, 85, 84,194, 56, 10,226, 36,165,128, 70,149,162, 42, 37,198,132, 21, 68, 69,196, 57,167,
- 86, 12, 74, 82,239,125,244, 49,138, 31, 70,221,218,218, 74, 49, 70, 29,186, 94,140, 19, 69, 39, 93,215, 40, 69, 97, 68, 36,207,
-103,174, 40,212, 26, 43,131, 31,166,227,155,143, 95, 85, 86,136,136, 32, 70,172,129, 24, 2,174, 40,180,239,187, 52,142,158,170,
-172, 52,132,160, 85,213,164,164, 49, 86, 85,153, 84, 84, 83, 8,234,125, 36,198,132,106, 62, 62, 77,211, 96,173, 48,142,163, 58,
- 87,106, 74,201, 84, 85,101, 68, 68, 82, 74, 2,164, 16, 70,170,170, 65, 68, 88,175,215,162,170,214, 57, 35,101,153, 13,170, 97,
- 24, 12, 96, 98,140,120,239, 89, 46,151,108, 54,155,148, 82,164, 40, 10,169,235, 70,214,235,181,214,117,173,198,144, 48,134,232,
- 35, 24,104,235, 6, 85, 36,165,164,206, 57, 69,209, 4, 98, 68,166, 99,173, 26, 99,144,148,144,245,106,133, 24, 35, 62, 4, 17,
-144,162,176,106,140, 69, 85,197, 24, 43,162,136, 58,136, 62, 34,198, 16,194, 72, 81, 20, 84, 69, 37,123,123,123,212, 85,133,171,
- 42, 52, 70, 82, 74, 88,107, 53,134, 16, 93, 81, 98, 12,164,148,109,113, 64,173, 21,233,199, 49, 37, 31, 53,229,246, 25, 72,196,
- 56,205,131,165,211, 24, 83,210, 20,113,198,226,202,146,113, 28, 40,139, 34, 27, 34, 70, 36,166, 68,240, 65,247,246,246,212, 90,
-199,114,185, 16,107,140, 12,163,151,162, 40,196, 90,179,223, 71,233,251, 65, 55,155,141,170,170,150,117,137,136, 17,174,172, 0,
- 0, 32, 0, 73, 68, 65, 84, 17,203,208,245, 74,202, 13, 2, 37,198,124,173, 26,131, 24, 83,224, 74, 35,206, 24,170,166, 33,197,
-196,102,179, 49, 34, 98,170,178, 18,121,217, 63,254,199,169,176, 22, 87, 85, 34, 36,134,209,171, 40, 98,156,209,110, 51,224, 42,
-167,126, 12, 84,101, 73,239,189, 20,214,230, 11,237,200, 17,196, 24,133,108, 6, 72, 81,208,182, 11,182, 46,222,146,187, 63,115,
- 15, 33, 69,210, 56,130, 40, 34, 14,209, 68, 82, 69, 69,213,136, 85,227, 28,146, 80, 33,129,177,164, 20,105,154, 10,107, 45,222,
-123,234,186, 38, 37,208,164,146, 52,177, 94,173, 49,214, 96,140, 85, 99, 12,214, 57,140,113, 82,183, 13,253,102,163,227,232, 17,
-201, 86,139, 8,236,236, 92, 36, 70,140,116,131, 7,141, 56,107, 69,213,168,146,152,188,117, 69, 32, 38, 48, 86,176, 34,186, 90,
-173,168,219,154,194, 58, 17, 17,250,193, 83, 58, 7, 70,213, 76,226, 84, 20,133,134, 16,179,140, 25, 80, 4,107, 77,150, 54, 81,
- 52,102,119,107,239,232, 81,234,166,226,232,238, 10,153, 44, 23, 99, 64, 85, 40,235,154,210, 58,250,177, 7, 17,173,202, 82,156,
-113, 32,138, 38,149,117,183,198, 40,168, 8,117,219, 98, 64,119, 87, 43,173,155,134,182,105, 49,198, 72,140, 30, 5, 45,140, 35,
-197, 40,187,123,123, 44,150, 75, 17, 35, 72, 2,149,148,246,246,246, 72, 49,169,170,138, 88, 55, 9,104,137,113, 86, 52, 69,138,
-170,148,190,239, 69, 35, 24,131,148,101,133,181,162,187, 71,247,112,133,211,177,235,243,136,154, 80, 17,154,197, 2, 35, 34, 67,
-215, 35, 70,164, 93,180, 58,140, 30, 85, 21,141, 65, 84,149,173,173,133,110, 54, 61, 59,219, 59, 32, 50,121, 31,254,192,114,238,
-134, 65,156, 49, 56,231,212,136,128, 49, 12, 93, 39, 82, 20, 26, 99,164, 42, 10,198, 16, 40,178, 97, 35,155,205, 70,139,178, 20,
-128,194, 57,196, 90,140, 8,154, 18,137, 36, 34,194, 56,120, 29,135, 1, 1,156,115, 84, 85, 37,154,192, 24, 8, 41,177, 89,175,
-105,219, 22, 85,212, 90, 97,179,233,181,169, 74, 66,138,146,141,108,161, 40, 44,206, 58,214,221, 26, 99, 44, 70, 84,196, 90, 74,
- 87, 18, 99, 36,133, 64, 72,138,115, 86, 99,140, 18, 85, 41,157,197,217, 82, 49, 16, 83, 82,141,145,190,239,217, 90, 44,216,116,
-157, 44, 22, 45, 49, 6, 48, 78, 37, 65,212,160,198, 89,192,144, 98, 22, 59, 35, 14,107, 21, 99, 10, 82, 8, 58,248, 0, 32, 49,
- 6, 93, 44, 22,144,146, 36,178, 71,102,173,232,224,189, 24,177,140,227,136,181, 5,206, 57, 25,135, 78,155, 69, 67,142,168, 41,
- 26, 19,117,211,208,111, 54, 84, 85, 35, 98, 64, 99,162, 31,123, 10, 91, 80, 55,181,238,238,238, 97,157,101,217, 46, 4, 3,187,
-171, 21, 86,132,197,162, 21,128,148,162, 12,195, 0, 8,206, 57, 84, 85,187,110, 96,107,185, 64,172, 37,248,128,177, 22,163,199,
-188,171,148, 2,128,218,201,203,240, 62,104, 24, 71, 73,192, 56, 14, 7,145, 44,107, 13,203,108,112,169,247, 35,195, 16,144,210,
-192,152,112,149,195, 90, 39, 67,215, 81, 20,165,122,239,137, 41, 49, 41, 56,144,175, 39,231,140, 84,101, 61,141,133,200, 56,122,
- 77,162, 16,243,100, 40, 34,186, 88, 44,241,126, 16, 68, 16, 21, 48, 16, 98, 16, 13,145,162, 40, 40,202,146, 77,215, 83, 90, 71,
-210, 4, 36,172, 41,116,211,109,168,170, 74, 68, 4, 3,132,148,164,180,150,110, 24, 36,105,142, 60, 44,182, 22, 18, 98,196, 88,
- 97,179,187, 66, 21, 92, 81,176, 88, 44, 64, 19,155,205,154,170,170, 25,134, 17, 65, 16, 35, 90, 56, 71,136, 1, 17,209, 16, 3,
-133, 41,168,154,138,164,137,148, 18,130, 48,142,163, 24, 43,106, 77, 9,154,136, 36, 73, 49, 97,109,193,166, 91, 97,129,160, 42,
-154,178,149, 97,173,209,182,173,136, 94,212, 71,143,100, 71, 75,125, 8, 32,164,182,173,113,174, 84,213, 68, 74, 0,137,148,208,
-113, 28,178,240, 85, 21, 49, 70,134,161, 71, 68,196, 90,145,188,157, 76, 17, 58,161,105, 26, 0, 25,199, 81,124,244, 82,216, 98,
- 26,163, 81,178, 1,218, 2,176, 90,173,180,109, 91,140, 49, 12,195, 32,206, 57, 68,132,190,239, 85, 85, 85,140, 96,197,128, 8,
- 34, 66, 81, 56,196, 58,242,133, 37,144,144,170,168,136,154,164, 31,123,141,222, 75, 85, 53,196, 24,113,206,202, 56,246,120, 31,
- 1,149,186,170, 53,169, 82, 20,133, 24,107,114,196, 67,149, 20, 35,131, 15, 44, 23, 45,125,215, 49, 70,207,178, 89,178, 90,175,
- 40,203, 18, 99, 12,155,174, 87, 52, 81, 85, 21, 85, 85,146,146,234, 56,142, 58, 12, 3,198, 24,150,203,101,158,159,140, 21, 77,
-138, 78,194,218,117, 29,198,136,198,144, 72,154, 16,201, 81,140,170, 46,137, 97,196, 90,155,181, 99,211, 51,122, 79, 8, 65,197,
- 90,170,170,148,182,174,177,206, 73,214,184, 32,125,223,211,182, 53, 32, 28, 61,122, 84,151,203, 37, 41, 68, 70, 63,238,183, 83,
-167, 40, 10, 93,215,163, 49, 18, 82,226,162,139, 46,202,199, 85, 19,138, 64, 10, 36, 17, 9, 49,137,181, 22,121,201,203, 94,166,
-154, 18, 26, 2,106,114, 40, 72, 21, 22,203, 45,156,115, 32,249, 98,213, 28,162, 96,140, 30, 63,122,194, 48, 16, 83,162,110, 27,
- 70, 31, 89,182,205, 36,202,142,123,143, 28, 33,198,136,166,124,208,178,244, 9,193,143,132,152, 88,110,109,145, 82,160, 31, 3,
-190,239, 73,170, 88, 17,140,179,108,111,111, 79, 94,238,100,163,168, 34, 42,136,217, 23,148, 60, 57, 85, 77,133,152, 28,126,242,
-227,128,181,142, 20, 19, 42,121,123,235,242, 69,108,139,130,189,221, 85, 54, 50, 80, 82, 84, 72, 9,146,130, 81,150, 91, 75, 4,
-131,170,178,183,183, 55, 89,113, 6,149,156, 99, 72, 41, 79, 66, 34,134,162,172,104,155, 6, 65, 80, 32,169, 50,133,222, 81,160,
-219, 91,145, 82, 68,156,163, 42, 10, 98,140,172, 54, 27,218,186,158,250, 18, 89,119, 3, 26, 35, 34,194, 98,185,196,218, 28,161,
- 0,195,106,111,143, 16, 98, 54,128,242,164, 4, 34,185,207, 34, 56, 91,176,189,179, 4, 4,146,210, 13, 3,214, 8,133, 43, 88,
-173, 86,104, 74,168, 1,107, 44,203,229, 18,200,231,211,199, 8, 9,202,210, 98,140, 67,140,224,135,145,132, 82, 85, 21,193,135,
-233,194, 27,104,218, 26, 77,202,222,122,143,182,110, 89,111,214,180,117,155,207, 39, 74,140,158,177, 31, 40,155,150,166,174,177,
-214,230,118, 2, 73, 19,123,123, 43, 68,148,237,157,139,176, 2,171,213, 6, 69,169,202, 44,140, 34,146,197,218, 24,214,235, 53,
- 0, 91, 91, 91,232,116, 44, 55,235, 53,198,185, 28, 62, 3, 48,134,173,169, 47,171,205,134,229,162, 1, 21, 54, 93, 71,221,180,
- 4, 63, 48,142, 30, 16, 22,109, 3,228,243,168,170,217, 28,145, 44,214,227,152,207,211, 56, 14,136, 24,118,118,182, 9, 33, 32,
-214, 50,246, 61, 34,194, 16, 6, 22,245,130, 76, 2, 76,158,140, 37,143,191,253,126,122,239, 17, 85,162, 42, 67,223,231,107,196,
- 0, 10,139,186,101,211,119, 52,109, 75, 97, 76, 30,115, 33,226,156,101,244,129,178,112,132,152, 24, 71, 79, 89,150,244,125,143,
-155, 38,250,220,190,145,186,174, 8, 49,224,140, 35, 1,195,102,195, 98,177, 64,140,193,251, 0, 10,198, 57, 52,142, 24, 87,162,
- 40,171,189, 61,170,210, 81,149, 21, 73,132, 20, 2, 34, 57,245,162,154, 64,133,193, 15, 56,235, 40,171,138, 16, 19, 6,176, 86,
- 16, 99,217,172, 54,212, 77,193,166, 31, 40, 93,193, 48, 14,184,178,162,176,197,254, 4,157,195,230, 97,196, 7, 79,158,156, 45,
-206, 88,198, 56,210, 84, 53,198, 22,120, 63, 96,172, 99, 28,122, 82, 74,108, 45,183,240,126,160, 31, 70,202,162,156,246, 17, 32,
-101, 3,192,185, 50,143,137,186, 96,181,183,162, 46, 74,108, 89,128, 66,240, 99,182,202, 84, 48,206,128, 24,178, 5, 33, 24, 53,
-172,214, 43, 76, 30, 36,121,110,136, 74,210, 72,223, 15, 32, 89, 96,147, 38,172, 8, 93, 63, 80, 55, 21,214, 88,114,148, 47,208,
-173,215,212, 85,147, 39,228, 20,243, 28,152, 4,159, 60,209, 71,218, 69,203, 24, 3,206, 90, 98, 8,248, 16,105,234,138, 20, 82,
-158,219,138,130,126, 24,105,202, 10, 77,145,189,161,195, 21, 21,133,115, 12,126,192, 96, 72, 49,178,181,179,133, 32,244, 99,143,
-115,150, 20, 66,190, 14,167,241,100,140, 33,140, 35,221, 48, 96, 68,136,192,114,177, 32,134, 44, 34, 2, 96, 13, 77,189,152, 28,
-131, 60, 23,199,148,144, 4,166, 48,168, 26,186,245, 30,139,197,130,245,122, 77,219, 44, 48,162,140, 33, 18, 99,160, 40, 74,186,
-174,163, 40,242,245, 90,215, 53,195, 56, 98, 39, 67,123, 24, 6,140, 43,113, 70, 41,138, 44,242,217, 0, 99,186,198,243, 85,161,
- 73, 73,170, 32, 16, 98,160,116, 37, 10,244,253,128,160, 52, 77,195,238,238, 46,144,175,235,174,235, 24,135,129,168,202, 98,185,
-192, 24, 11, 41, 29, 24,119, 41, 37,140, 49, 24, 35,140, 33,226, 68, 8, 33,224,202,146,178, 40, 88,175, 87,148, 69,137,154, 44,
-148,170,138,117,118,138,218, 66,223,247, 68,141, 44,218, 5,155,110,147, 67,236, 70,216,217,218, 38,248,128,143,121,172,146,229,
-100,210, 55, 5, 99, 80,141,132, 49,167,135,114,152, 32,191, 87,215, 37, 77,211, 98, 93,113,112,142, 66, 8, 56,235, 8,193,179,
-187,187, 59, 69, 60, 18, 85, 85, 83, 20, 5,198, 76,115,196,100,112,174, 86,107,186,126,147,175, 11, 99, 8, 49, 80,149, 21, 85,
- 91, 49,116, 3, 49, 70,234,186,193, 90,195,232, 61,227,224,177,162,212, 77,205,106,181,199, 98,177,133, 78,115, 89, 78, 37, 88,
-172, 43,232, 55, 61, 85, 85,226, 10,135, 43, 75,156,115,196,232,113, 69, 73,191,238, 49,214, 32,215,191,236,101,186,108, 91, 84,
-149,163, 71,119, 73,201,147, 18,136,152,236, 25, 35,216,170, 98,236, 58, 82, 82,138,170,162, 46,179,152, 2,108,134, 1, 73, 32,
- 54,231,139,219,182,101,181,187, 71,179,104, 64,132,213,209,163,217, 75, 61, 16, 49,155,243,135, 8,155, 77,143,117,134,110,211,
- 35, 2,219,219, 57, 84,186,187,187,155, 69,180, 42, 24, 54, 29, 34, 66,211, 54, 24,201,185, 42, 49, 66, 74,145, 97,240,164,148,
-104,219,150,245,122, 67,221, 84,236,173, 86, 8,138, 17,199,246,246, 18,145,156,143,136, 42, 12,227, 64,223, 13,104, 58, 54, 96,
- 39,163,150,148,148,170,106, 24,199, 30, 91, 56,196, 42,149,171, 88,173,178,167,221, 46, 23,140, 62,146,124,200,131, 2,193, 56,
-135, 53, 6, 5,234,170,194, 26, 65,147,178,233,123,252, 36,184, 49,129, 49,154,237,136,105,208, 44, 22, 45, 34,134, 77,183, 97,
-223, 96,104,154,134, 77,191, 65, 35,136, 36,150,203,109, 54, 67, 79,242,129,182,169,179,200, 91,131,193, 50,244,221,193,133,109,
- 69, 88,108,109,227,253, 72, 63,116,100,139,222,210,182, 45, 81, 21,166,215, 56,142, 96,132,182,110, 17,107, 73, 49, 18,162,167,
-153, 66,107, 49,122, 6,239, 49,154, 13,156, 36,233, 96, 66, 95,175,215, 40,134, 20,198, 60, 33,107,246, 26,202,186,194,199,200,
-246,214, 50, 79, 24,206,229,208,115, 89,160, 40, 14, 67, 72, 9, 87, 20,100, 47, 53,178, 94,175,113, 83,251,166,252, 33, 0,195,
- 48, 16, 66, 96,177, 92,102,203,116,179, 97,103,103,103,154, 48,122,170,166, 65,116,186,240,114,188, 12, 0,107, 13, 81, 65,131,
-167,170,235, 28,226, 15,129, 77,215, 81,149, 37,195, 48,208, 52, 45,155,205, 6,128,162,176, 52,205, 18, 68,241,227,136, 24,195,
-208,247,217, 19,159,206,143, 49,230,192,168, 20, 17,114,106, 60,143,189,125,175,102,242, 62,216,218,218,202, 23,190,230,218, 1,
-231,236,193,100, 53,142, 99,206,245,166, 52,237, 59,123, 98, 89,137,148,186,168,242,196,108, 12,206, 89,134,161, 39,132,200,114,
-185,196, 15, 3,163,247, 40,224, 76,246,108,242,177, 50,212, 85,133,177, 22,159,211, 77,236,123, 67, 6,101, 24, 6,234,166,193,
-143, 35,198,218, 28,134, 23,203,246, 78,190,182,214,123, 57,226,229,247,141, 38, 17,138,162, 2, 35, 20, 83,253,133, 53,194, 56,
-142,244,163,103,123,123,155,113, 28, 25,134,145,182,109, 25,252, 72, 97,237,116,140, 20,231, 12,123,123,123, 24,107, 65, 21, 87,
- 58,250,126,164,173,107, 68, 44,125,223,209, 46, 23,144, 18,162,249, 60,143, 49,224,196,144,163, 32,142,162, 40,240, 62, 34,146,
- 13, 85, 1, 98, 84,170,202, 82, 21, 13,253, 56, 28, 8,116,140, 57,116, 91,149, 53,101, 89, 50, 78,226,217,117, 3,165,179, 89,
- 36,156, 35,166, 72,233, 28,171,189, 53,152, 68,200,249, 84,218,182,197,123, 79,246,244, 29, 67, 78, 21, 81, 55, 13, 5, 38,123,
- 95, 70, 80,133,205,122, 53,153,118, 80, 47, 22,132,113,196,138,165,112,246,216,184,172, 10,138,162, 66,163, 50,106, 34,248, 30,
-212, 80, 53, 21,123,187,123, 44,218,134,126,244,108, 45,151,164, 20, 73, 33, 27,199, 34,185,182, 32,165, 68,223,247, 88,103, 25,
-135,145,229,114,201,122,157,211, 82, 33, 37, 22, 77,147,231, 60,107,243,117,168,121, 30,176, 2,195,224, 17,129,166,169, 9, 33,
-209, 84, 37, 62, 37,250,205,134,162, 40,179,113,152, 2,221,186, 35,215,131, 56,138,194, 82,215, 53, 93,215, 29, 68, 68, 21,197,
-136,153, 28,154, 60,150,186,205, 58,207, 57, 76, 78, 5,224,156, 37,132, 72, 30,194,134,170,110, 24,186, 14,177, 22, 63,250, 41,
-181,147,201, 66, 36,248, 16,113,206,229, 57,157,252,185,194, 57,234,166,193, 90,203, 56, 12,217, 72,152,198,162,160,148, 69,201,
-106,179,202,122, 83,148,121,110,236, 58,234,186, 70, 20, 98,136,140,113,196,143, 30, 52, 27, 29,139,118,193, 24, 70, 64, 80, 77,
-148, 69,129,115, 14,239, 61, 97,186,182,171,162, 0,201, 17, 62,227,236,164,115, 16, 99, 2,141,164,164, 24,129,126, 24, 17, 17,
- 84, 20, 39,249, 28,185,162, 96,209,182,248,232, 73, 49,167, 57, 99,204,243, 89, 74,154, 69,118,114,112,202,201,129, 25,199, 62,
-143, 63,192, 88, 67, 81, 22, 44,150, 11,234, 50,207, 83,189, 31,177,198, 82,150, 37,235,205, 10,171,134, 16,115,196,122,111,119,
-151,166, 89,144, 72,116,125,199,176,233, 41,234,154, 24, 34, 91, 91, 91, 57,162, 29,114,100,169,170, 42,202,178, 68,140, 16,198,
-128,188,252,149,175, 84,103, 45,168,144, 82, 0,129,123,239, 57, 66,213,180,148, 69,129,143,158,245,222, 10,131, 1, 13, 40,194,
-214,246, 54,235,205, 6, 99, 12, 91, 23, 93,132,179,134, 97,240,244,125, 71,138, 17, 68, 49,106, 64,178,183,228,189, 39,161,148,
-101,182,212,203,194,145,139, 0,210,129, 64,138,236, 91,107, 33,123, 15, 42, 7,194, 53,140, 61, 67, 63, 96, 38, 15,185, 40,221,
-129, 72, 66,206, 51,117, 99,135,134, 4,154, 80, 49, 44, 22,249,226,117,206, 97,172,101,107,107,155, 20, 19,105,178,164,208,108,
-213, 19, 19,123,235, 61, 66, 72, 24,145,201,195, 85, 54,221,154,186,110, 8,193, 83,215, 13, 34,134,164, 74,138,137,126, 28,241,
- 93, 71,187,181,141, 17, 97,181, 94,103,171, 78, 3,162,121, 98,136,162, 56, 21, 22,211,164, 88, 21, 57, 28,185,218, 91,129,129,
-162,172,166,226,135, 44,194, 49, 70, 54,221,134,173,229, 2,107,139, 41,213,144, 39, 89,239, 61, 93, 55, 9,185, 8, 91,109,131,
-170, 64, 74,108,250,158,237,157,157,108, 92,104, 34,133,192,238,106,149,175, 17,147, 5,160,170, 42,134, 97,160,168, 42,124,159,
-133,185, 40, 28, 99, 8,128,144, 98, 96,107,177, 96,240,158,190,239,167,235, 43,123,166, 91,203, 37,163,247, 7,109, 29,199, 17,
-177,194,122,221,101,227,105,154,224,173, 49, 52,203, 37, 26, 35,155,205, 38,123,193, 34,236,236,236, 48,244, 61, 85, 89,211,245,
- 27, 84,149,229,246, 54, 86,228, 32, 50, 34,198,224,138,130,205,106, 69, 85, 85,244,227,136, 19,153,194,179, 66,136, 89,248,199,
-113,164,109, 26, 54,195, 64,105, 45,136,230,156, 82,210,156, 47, 93,175,242,121, 77,217,232, 40,172, 48,166, 68, 91,183, 88,129,
-168,121, 50, 29,134, 1, 17, 8, 49,178, 92,108,161, 26, 25,134, 17,107,132,163,123,123,232,116, 78,116,154,108, 68, 36,135, 84,
- 1, 72, 24,147,235, 55, 74, 99,217,244, 29,198,101,163,108,236, 71, 32,123, 82,109,219,230,232,137, 42, 91,219, 91,121,146, 19,
-139,181,121, 98,205, 97, 62,203,126,177,211, 48,140,244,211,241,169,138, 2, 91, 20, 20,214,162, 38,215,153, 88,147, 11, 10,243,
-152, 46, 16, 81,202,170,102,232, 6,124, 24, 89, 44,183, 49, 70,217,221, 59,154, 61, 73, 85,172,115, 40,176,108, 91, 54, 93,182,
-240,141,113,144, 2, 42,150, 20, 60,229, 52, 81,196, 24,176,214, 82, 20,142, 77,215,225,140,193,231,116, 83, 30, 35, 41, 81, 85,
- 37,222, 7, 54,155, 60, 81, 45,219, 5, 98, 5, 63,142, 88,231, 72, 36,172,177,236,173,214, 89,196, 69,178, 39, 56, 29,203,253,
-185,187,110,107,156,228,126,199,148, 38,195,113, 69, 97, 45, 85,211,128, 66,223,117, 64, 54,182,203,178,152,206, 29,184,105,146,
- 23,201,222,227,189,247, 30, 37,132, 17, 77, 9, 20,182,151, 75, 86,155,142,166, 46,241, 62, 17,213, 83,148,229,148,186,176,185,
-175, 41, 34,170,136,179,121, 82,117, 37,136, 48,108,214, 84,109, 11, 49,145,200,227, 18,157, 34, 29, 34, 20,206,225,253, 72,225,
-202,105, 60,122,198,113, 96,209, 52,116, 93, 71, 72, 9, 99, 45, 77,219,176, 89,111,168,235, 26,208, 41,245, 84, 48,250, 30, 39,
-217,128,216, 31, 39,206, 25, 66, 72, 83,120,217,225, 99, 36, 69, 79,174,163, 2,159,252,148,254, 81,162,122, 36, 10, 98, 45,214,
-154,131,194, 98, 49, 6, 63,142, 56,103, 65, 97, 28,122,124,200, 17,199,229,114, 73,156,196,202,251, 17, 37,139,154, 74, 30,227,
- 67, 55, 28,204,179,170, 89,228,172, 53,148,101,133, 43,243,185, 23,178,168, 15,155, 13,101,211,224,108,142, 54,228, 34, 49, 65,
-236,100,196, 14, 30, 51, 25, 68,139, 69, 75, 63,246,212, 69, 54,252,115, 90,195, 33,214,144, 66, 22, 68,227, 28, 41,122, 98, 72,
- 8, 80, 55, 13,170, 58,253, 61, 50, 12, 67, 14,141, 43,164, 24, 41,139,146,113,244,196,148,189,102, 55,141, 57,141,199,188,126,
-177,211,245,173, 57, 13,231,172,101,140,158,194, 85, 57, 66,233, 61, 49,122,172,113,144, 20,177,217, 96, 6, 67,105, 12,222, 15,
- 20,101,142, 62,132,232, 25,123, 63, 25,121, 57, 10,161,192,208, 13, 44,150,217, 17, 14, 33,114,239,189,247,162,147, 49,104, 38,
-179, 38,169, 30, 68,171, 69, 12,174,112,148,101,193,246,246, 54, 67,223,211, 15, 35,237,162,197, 88,155,143,111, 2,145, 8,170,
-120,239, 89,175,187, 28, 61, 82,133, 4, 81, 19,206,149,217,144, 29, 7,156,205,209, 78,113,150, 69, 89,129, 49, 88, 59,213, 97,
-189,228,229, 47,215, 20, 35,105, 26,232,201, 26,210, 24, 88,108,109, 17,124,100,236, 54,196,148,208, 20, 73,211,164,152,171, 59,
- 45, 59, 59,219,216,162, 64, 0, 31, 19, 70, 96,111,119,151,229,178, 37,231, 51,133, 24, 35, 49, 68,246,118,143, 98, 11,139,181,
-101,254, 46,201, 66,190,239,245, 24,103,176, 38, 15,202, 41,255,196, 48,140, 56,103,216,247,160, 68, 4,239, 35,198,192,114,185,
- 68, 85,217,108, 54,180,109,195,106,179, 57,104,227, 86,219,178,233,123, 22,237, 18,231, 44, 85, 83,211,245, 35,154,242,168,117,
-214,229,252,154, 21,162,247,136, 53,196,224,217,172,214, 44, 22, 11,186,110,141,143, 1, 77, 9,231,242,137, 88,109,214,104,130,
- 16,179,112,138, 42,251, 49, 87, 3, 68, 17, 22,139, 22,200,147,173, 1, 54, 93,199,114,185,133, 49,134,189,213, 10, 82,162,105,
- 26, 66,204, 97, 53,231, 28,126, 28, 97,138, 64,196,105,240, 79,249, 58, 52,105,182,164, 53,135, 42,115,104, 94,217,235, 59, 76,
- 4, 4,218,186, 5, 3,101, 89, 97, 12, 7,158,175,247, 57,188, 43,146,189,174,178,174, 15, 68,211, 90, 71, 63,142,244,125,143,
-166,152,173,231, 50,183,217,251,145,229, 98,129, 72,238, 89,183, 89, 35,198, 2,202, 48,244, 7,147, 17, 24,140, 81,218,229, 22,
-154,242,228,191, 94,173,136,154,115, 90, 42, 66,152,242, 83, 91, 91, 91, 83, 26,230,248, 74,248,186,170,216,247,214, 83, 8,248,
-233, 66, 22, 17,118,182,183, 17,231, 24,135, 14, 85,193, 24,176, 69, 69, 8, 89, 56,141, 24,156,181, 24, 99,217,108, 58,144,196,
-178,109,201, 41, 64, 61, 8,237, 91,201,169,136,168, 17,145, 28,117,104,151, 11,186,245,138,166,105,113,101, 65,232, 71, 66, 82,
-138,194,114,239,238, 46, 85, 85, 80,186, 50,123, 47,154,232,134,142,166, 89, 96,152, 66,165, 33,176,183,183, 71,142,224,180,196,
- 41, 63, 27,198, 64, 89,151, 7, 23,118, 55,246,140,253,136, 88, 67, 91, 85, 20,117,133,149,108,205,171,228,136, 84, 97, 11, 66,
-240,180,117,139, 18, 65, 12,171,213,138,170, 42,209,168, 84, 77,133, 21, 67, 18, 33,140,158,224,199,124, 45, 56, 7, 81, 73, 6,
-156,100,207,177,168, 12,162,202,209,163, 43,234,166, 4,133,174,239,168,171,156,183,171,235, 38,143,243,201, 64,180, 98,112,101,
-137,181, 66,240,121,146,173,203,146,148,148, 49,120,188, 31, 16,177, 7, 70,142, 17, 75,210,132,106, 64,213, 64, 10,249,122,219,
-218, 98,111,119, 23, 83,150,120,239,169, 38, 47,105,244, 3,109,187,204,226,200,190, 56,230,112,239,222,222, 30, 0,238, 88, 21,
- 52, 41,198, 44,214, 40,229,148,190, 26,199,113, 10,131,130, 43, 29,101, 81,146, 18,180,109, 22, 0,239, 3,187,187,187,212, 85,
-133, 31, 7, 66,240,108, 45,150,120,205,158,217, 48, 14,160, 57,205, 36,211,164,151, 98, 96, 24, 60,117, 83, 35,147,103,183, 90,
-175, 25, 39, 49,176,198,162,162, 52, 77,142, 48,168,128, 43, 28,253, 48, 18, 71, 79,146,148,211, 89, 69, 65, 85,215, 36, 18, 41,
-228,116,198, 24, 19, 85, 89,100,193,244, 3, 49, 38,234,162,156, 10, 23,133,162, 42,216, 76, 5,162,144, 29,146,162, 44, 8, 33,
- 80,150,101,142, 30, 89,203, 48,120, 96,154, 47, 82,204,243,149,234, 65,148, 51,198, 28, 81,245,222,163, 83,168,124,202,161, 83,
-216,130, 36,202,178, 89, 76,121,228, 92, 85,223,212, 53,198, 90, 20, 1,205,213,224,170, 10, 2,163, 31, 24, 70, 79,105, 75,196,
-230,240, 60,154,166,235,104,154,159,109, 65,225, 28, 26, 35,113, 50, 4,242,108,173,248, 24, 16, 5, 76, 54, 1,194, 24,168,234,
- 58, 71,203,250, 30,166,235,166,174, 42,246, 29, 6,231, 28,227, 48,224, 83, 22,245, 16, 3,214, 58,226, 56, 82,148, 69, 22, 53,
-114, 29, 16, 41,229,107,219,144, 35, 14, 46,215, 56,105,202,133,113, 85,149, 13,144, 97,232, 41,171, 26, 63,230, 90, 16, 31, 35,
-165,181,152,162,192, 40,248,224, 49, 98, 80,129,113,236, 9, 83, 42,229, 56, 36,247,202,218, 92,220,156,103,121, 88,175,215, 24,
- 17, 18,217,105, 21,103,166, 40,209, 26, 77, 74, 85,101,163,163,105, 90, 54,221, 58,167,104,234,138,113, 28,216,222,222, 57,136,
-168,117, 93,159, 35,163, 67,142, 20, 86,117,149,195,248, 34,108,250, 1, 3, 36, 81,246,246,118, 17,178, 67, 49,248,145,232, 3,
- 41,229, 57,232,162,139, 46, 98, 63, 45, 54, 12, 3, 68, 5,155,219,108,191,248,153,207,248,193,178, 44,114, 94,192, 90,156, 49,
-132,148, 77,234,164,145,229,162,165,170, 27,202,170, 38, 73,206,245,212,117, 77, 85, 87,172, 87, 43,252,100, 1,111, 54,107,138,
-162,152, 66, 59, 61, 69, 81,209,119, 29,214, 88, 86,171, 85, 54, 8, 12, 88,235, 48,206,178, 88, 44,240, 62, 11, 39, 34,108, 45,
-182, 40,138,146, 68, 22,178,205,254,129,106,107,218,182,205,197,101, 83,238, 34,132, 64, 72,249,100,212, 85,133, 43, 10, 72,208,
-180, 13, 49,140, 7,214, 79, 85,229,226,189,228,115, 33,131,117,142, 20,115, 40,122,240, 35,255, 63, 93,111, 26, 43,251,125,222,
-247,125,126,219,127,159, 57,151, 87,151,164, 68,147, 18, 73,201, 18, 41,107,161,182, 74, 94, 98,215,118,109,216,174, 91, 47,117,
-155,165,118,106,160, 75,146,182, 8,146,182, 9,210, 87, 5,242,166,245,139,162, 47,138,164, 91, 12,216, 48,220, 6,129, 99, 55,
- 94,226,196,139, 44,201,150,228, 69,139, 45, 74,162,184,138, 34, 41,138, 20, 47,239, 61,231,204,252,183,223,218, 23,207,127,142,
- 36, 59, 29,240,130, 4, 57,103,120,102,230,183, 60,207,119,123,194, 42,149,166,179,114,112,173,222, 19,125,160,233, 54,104,200,
- 11, 87,225,140,161,170,106,140,181, 27,156,228,168,235,134, 88, 18,228, 76,183, 27, 72, 74, 17,189,103,183, 59,147, 3, 62,231,
-173,179, 13,212,117, 69, 93, 85,212,117,205, 52,207, 2,133,131,116, 98, 70,179, 27,122,234, 90,170,176,162, 4,202,159,167, 25,
-148,102, 13, 2,249,121, 31, 8, 33, 50, 47, 11, 80,208,198,210,245,242,123, 46,203, 66, 8,158,213,123, 66,140,248, 16, 72,165,
-144, 98,164, 40,129,137,151,101,161,221, 46, 81,128,117, 93,208, 74, 81, 89, 71,221,116,180,149,197, 85,142,140,252,255, 87,239,
-137, 41,208,245, 61,203, 50, 83,114,194, 85, 21,125,223,211,117, 29,109,219, 8, 39,100,205, 86, 24, 57,170,198, 81,217,211,129,
- 30, 32, 70,176,162, 47,160, 20,225,240,140, 65,105,125,181,145,214,117,101,154, 38,124,140,104,107,133,166,233, 58,230,117, 33,
-134, 72,211,200,225,189,174, 34, 30, 33, 23,172,117, 24,173, 9, 91,135, 83,187,138,170,170,183, 42,122,194,213, 21,109,211,210,
- 54, 45, 77,211, 48,174,211,214,201, 72, 65,169, 97,251,103,233, 2,141,117, 2,127, 7,177, 82, 46,203, 2, 69,214,143, 81,210,
- 17,140,199, 35,155,189,110,235,168,101,255,199,152,169,106,185,152, 86,191,226,189, 39,196, 76,211, 52,164,156,232,186, 14,191,
-174, 56, 91,145, 75,102,156, 70, 17, 74,101,133, 50,210,133,151, 12,107, 10,196, 28, 81, 40,154, 90,184,178,101, 93,200, 49, 19,
-114, 66,151,140, 82, 69,186, 46,173,229, 80,216, 58,228,101,158,184, 99,223,210, 91,199,154, 18,103,103,123,166,113, 20,173, 65,
-129,166,105, 57,191,125,155,167,159,124,138, 84, 50, 41, 71,250,182,163,233, 90,172, 86, 84,117, 77,229, 42,214,101, 38,197, 68,
- 8, 43, 57, 70,170,186,165,108, 10,121, 99, 44, 57, 71,186,174,195,185, 10, 31, 22, 20,154,190,239,153,166,137,170,105, 88,151,
-133,190,239,136, 57,162,145,142,212,199, 40,157,188, 49,140,211, 68,136, 27, 55,221, 55,130, 28,165, 76,215,203,107,202,161,239,
- 4,245,240, 1, 99,140,104, 19,156,136,185,156,115, 91, 71, 22,183,226, 49,110,232, 77,133,181,102,187, 36,188,112,242, 57, 11,
-188,220, 10,231, 89, 74, 97, 26, 71,234,166,217,208, 18, 71, 8,129,176,174, 87, 52, 69, 78,137, 97, 16,237,130, 54, 26, 99, 53,
-203, 52, 19,203,215,184,237,166,235, 54,138,203,162,172, 97,245,158,121, 94,182,117, 36,226, 37, 31,163, 32, 99,218, 74,113,182,
-117, 91, 49,122,138, 82, 87, 69,143,181,150,148,243, 85, 87, 26,115, 70, 43, 13,165, 8, 5,172, 12, 42,151,109,127, 71, 66,242,
-248,224,241, 33,146,163,208, 21,165,100,185,196,146,160,146, 57,101,118,187,157,172,191,146, 8, 62, 80,138, 20,251,107, 8, 2,
-117, 23,129,131,231,117,146,134, 73, 41,234,170,166,169, 43,208, 10,141,102,156, 70,180, 50, 27, 26,208,162,209,172,243,130,117,
- 66,201,101, 32,174,171,188,103,173,113, 70,144, 23,171,205,149, 32, 49,231, 44, 77, 11, 82,180,185,173,201, 56, 53, 30, 74, 73,
- 1,160,213, 38,124, 86,242,121, 15,187, 29, 49,202,190,214,198,146, 98,194,154,138, 92,146,136, 34, 41,164, 24, 54, 52, 83, 73,
-225,189, 44, 2,205,103,161,232,154,166,102,154, 70,114, 41,248,213, 19, 99,192, 26,195,188,174,204,243,132, 95, 61,228, 66,219,
-247, 84, 86,138, 69, 16,132, 87,171,173,228, 42, 91, 83,149, 69, 96, 90, 91, 57,195,149,182,212, 77,133,213,150, 68,162,239, 90,
-105, 16,156,163,107, 91,208,208,247,253,134, 40, 1, 40,114, 6,231, 44,203, 34, 20,155, 80,114,210,153, 89, 45, 34,205, 19, 50,
- 91,148,160,198,149,147, 59,161,170,228,254,168,170, 26,231,234, 13,113, 19,132,193, 25,131,171, 29,202,130, 95,101, 13,168, 31,
-253,143,126,162,164,148, 68,244,226,228, 48, 46,185, 96,157,147, 75, 38, 11,148,120, 24, 15, 34,138,137,158,190,237, 56, 28, 70,
-186,166,102, 10, 1,210,201, 38,224,216,239, 7, 57,116,114,226,120, 56,144, 67,162, 20,169,118,207,206,164,186, 72, 72,151,160,
-129, 80, 50, 37,201,197,174,148, 98, 94, 22,134,190, 39,120,207, 60,207,116, 93,139, 40,124, 53, 33,120,198,113,166,173,107,170,
-166,230, 4,185, 92, 94, 94,110,157,123,102, 28,143,180,117,205,188, 44, 92,187,118, 13,103, 29, 37, 67,161,112,156,150,141,131,
-116, 87,240,141,143, 65, 56, 40,227,240,201, 19, 67,132,156,104,134,158,121, 26,165,211,220,239, 24, 15,163,116, 8,125, 71,140,
- 9,231,172, 64,208,170,208,183, 29,211, 52, 82,148,226,218,246, 30, 79,165,120, 78,137,105,146,206,232,236,236, 12,144, 13,118,
-130,167,151,101,161,169, 27,242,198,223, 28,142, 71, 74,201, 12,251, 1, 85,164,203,206, 37,209,183, 3, 49, 39,166,121,166,107,
-107, 64, 58, 85,239, 23, 42, 39, 23, 72, 86, 5, 99,180, 8, 11,149,252,172,113,142, 18, 35,227,198, 49, 67,193, 85, 53,214,124,
- 35,188, 60, 45, 19,221,137, 95,207,249,234, 98,182, 90,104, 7,187,117, 57, 49,138, 15,244, 4, 47,101, 41, 16,229, 57,206, 93,
- 9, 99,208,138, 92, 32,173, 43, 69,137, 24, 80,107, 65,103,148,218, 32,189, 34,162,155, 82, 10,149,181,116,195, 64,204,155,248,
-166,128,214,133,140,102,220,132,111,125, 63,112, 82, 80,199,184,105, 27,148,166,105, 27, 66, 88,233,187,158,241,112, 64, 27, 75,
-109, 45,202, 90,170,211,129, 62,141, 64, 33,103, 69, 74, 30,109, 29,181,171, 72, 41,144, 82, 97,232,123, 46,143,151, 87, 98,203,
-161, 27,182,110, 72,214,117,206, 82, 64,196, 40, 40,150,108, 63, 64, 21,233,102, 55, 8,223, 90, 3, 89,248,184,166,170, 89,252,
- 74, 74,145,122,235,150, 15, 71,177, 50, 82,164, 2, 87, 95,119,128,160, 96, 30, 71,156,214,124,224,157,223,194, 29,119,220, 65,
-202,153, 47, 61,255, 2, 95,124,225, 43,220,124,245, 22,221,110,207,237, 91,183,120,225,249,231,185,249,202, 43,140,227,200, 60,
- 77,252,159, 63,243, 15,249,225, 31,250, 62,158,125,250,139, 96, 12, 95,120,250,139,252,194, 47,255, 42,143,126,225, 73,206,111,
-223,150,117,189, 61,180, 17, 94,245,250,245,107, 60,248,224,253,188,254,190,215, 83,245, 3,135,139, 3,218,110,112,191, 50, 12,
-187, 29,126,245, 84, 77,133, 95, 60, 25,209,175, 0, 28,143, 66,157,184,170,186,234,132, 15,199, 35, 42, 67,191,235, 55,158,216,
- 18,162, 40,244,221, 38,200, 44, 36,208, 22, 99, 53, 37, 41, 10,121, 59,240, 29,197,203,231,164,148,116, 69,174,170,153, 39, 41,
-160,172,179,116,109,195,229,229, 1,241,148,219,173, 19,116,144, 18,243,178,202, 97, 8, 24,229, 88,227, 34, 23,111, 81, 20, 35,
-221,248, 9,198,236,186, 14,163, 53,151, 23, 23,128,194, 86,150, 82,138, 8,237, 40,104,182,207,160,114,212,206, 80,148,226,120,
- 24,113, 78,138,238,186,170,177, 86,248,207,227,197,133,208,126,206,208,119, 29, 39,235, 92,202, 16,214, 25, 99, 43,129,139,173,
- 69, 23,136, 57, 17,147, 52, 3,214, 90,180,214,132, 16,208,198, 98,156, 65, 21, 54,100, 77, 62,243,174,235,248,122, 42, 40,230,
-132,198,162,181, 32, 31,130,156, 20,194, 28,228,103,252, 74, 41, 34, 82,155,230,153,202, 58, 10, 73,206,205,166,165,168,130, 95,
- 22,170,166,197, 88,141, 46,200,247, 20, 2,235, 26,228,226, 89, 23,172, 54,196,156, 4,189, 80,130,184, 74, 35,190, 33,157, 90,
- 81, 80,116,109,195,234, 3, 93, 87, 19,124,162,170, 5,165, 32, 23, 66,206, 24,173, 33, 75,161,179,217,239,208,200, 69,156, 82,
-218, 32,124,182, 66, 85, 40,155,190,239,132,174,181,110, 67, 52, 29, 90, 65, 34,163,209,132,148,182, 34, 93,163, 55,177,180, 86,
-154, 66,129, 92, 0,161,158, 64,206,182,147,134, 98,245, 43,226, 43,205, 20, 4,158,223,239,118,200,205, 43,136, 67, 74,130, 92,
-158, 62,239,147, 11,231, 68, 95,230,156,165, 16,212, 90,190, 11,165,105,170,150, 24, 4, 93, 88,214,133,190,239,165,217,137, 82,
-172, 53, 77,115,117, 87, 77,211,184,161,211,224, 92, 77,138,129,197,123,156,181,120,239,113,166,194,199,133, 97,183, 19,129,102,
- 18,219, 92, 42,101,163,236, 20, 41, 9,236,223,245, 13, 78,111, 72,215, 86,224,173,107,192, 58,235, 72, 41, 74,135,216,182, 52,
-109,203,197,197,133,192, 70,117, 77, 41,114,248, 42,132,171, 0, 69, 42, 25,165, 96, 13,145,126,227, 64,227,234, 73,235,194,249,
-133,112,120,121,227,151,135,125,203,186,202,130, 67, 41, 66,244,196, 44,226,134,182,174, 49,177,112,251, 56, 81, 74,162,106,154,
-171, 78, 82, 25, 67, 85, 75,119,188,174, 11,104,177,134, 12, 93, 75, 81,106, 59, 4, 79, 28, 73, 33,164,132,184, 66,243,118, 80,
- 42,188, 95, 9, 33, 82, 85, 53,171, 95,153,103,185,152,189,242,136,119,112, 79, 99, 43, 60, 19,177,200, 66, 17,254, 57, 19,214,
-192,217,217, 25, 33, 6,214,113,165, 31,122, 14,151, 71,142,135, 3,104, 69, 81, 45,195,208,109, 23,148, 98,216,159, 1, 69, 4,
- 40, 49,161, 52,236,250, 30,248, 90,101,234,189,167,170,165,163, 52, 90,170,252,170, 18,229,237,178,122,250,173,178, 51,174, 18,
- 40, 47, 6,140, 21, 20, 34,108,174,131,202,136, 2, 90,161,136, 65, 32,186,121, 89,232,186, 22,165,229,130, 16,181,169,108,128,
-105,154, 68,152,178,125,150,243,178, 96, 82, 34, 43, 37,162, 53,103, 81, 40, 82, 72, 76, 89,196,110, 49, 70,188, 22, 14, 87,183,
-114,209,151, 34, 21,240, 52,142, 84, 77,195, 50,139,248, 70, 84,163,178, 41, 5, 41, 9,216, 74,170,201,101,158, 73, 86, 83,219,
-138, 16, 3,125, 63, 16, 82,192,137, 13,139,188,253,174,198,106, 42, 43, 66,143, 18, 10,186, 82,140,243, 76,137, 34,156,219,237,
-118,164, 20, 89,215, 25,103, 69, 9, 91, 87, 98, 3, 10, 49, 96,141,130,226,200, 41, 81, 87, 21, 62, 68,138, 42, 44,211, 4,125,
- 71, 73,145, 82, 4,242, 22,170,160, 38,103,161, 80,188,151,245, 81,148, 28, 0,253,208, 67,129, 24, 34,174,170, 88,252,130,159,
-103,118,187,221,149, 40,205,123, 79, 91, 59,198,121,166,107,123,230,113,150,181,152, 60, 37, 59,218,166,101,245, 43,107, 16,129,
- 89,201,137,146,217, 96,122, 67, 85, 9,167,122, 60, 92,162,183, 42, 61,198,200,225,252,130,231,158,121,138,191,243,211,255, 49,
- 63,249,227, 63,140,174, 43,198,151, 94,225,239,254,198,111,242,219, 31,249, 40,135,227,184, 81, 52,127,241,241,217,199,159,224,
-251,255,210,183, 49, 47, 43, 95,120,234, 25,126,245,183, 62,196,239,125,228, 99, 87,255, 93,171,237,188, 67, 10,205,121,156,249,
-111,255,222,223,230,181, 55,110,112,223, 61,119,243,186,187,238,228, 95,126,228,163,252,222, 31,127,138,155,231, 7,214,101,229,
-242,112, 73,101, 52,111,125,232, 45,236,239,184,193, 97, 62,114,184, 60, 80,213,142,182,235, 80, 64, 74, 73, 14,164,224, 49,104,
-186,125, 39, 93,101,136, 40,109,241, 62, 82,215,134,117,158,161, 20,138, 49,180,149,149, 67,215, 66,166, 64,209, 88,163,209,174,
-134,156,153,231,229,234,146,161,100,218,190,195, 26,197,113, 20, 37,176,181,178,191,215,121,166,132, 72, 46,114, 57,180, 77, 75,
- 46, 9,159, 61,186, 24, 86, 31,168,107, 71, 14,178, 31,173,182, 36, 31,241,203, 76,206,178, 63, 92,237, 24,199,137,161,239, 65,
- 43,150,101,164,177, 13, 85,229, 40,104,252, 26,105, 59, 81, 41, 91,171,113, 27,180,123, 56,172,212,109, 75,191,219,145, 40,148,
-148, 57, 94, 28,176,149, 99,183,223, 1,137,178,105,146,156,177,148,156,200,198,162,177,244,181, 35,248, 72,202,249,138, 11, 45,
-136,112,179,174, 26,186,174, 39, 70, 17,200, 78,147,104, 11,156,181,248, 20,113,198, 81, 85, 48,142,139,192,211, 89, 58,111,165,
- 20, 54,107,148,210,180,125,203,120, 28,229,108, 41,129,186,106, 56, 59,171, 8, 41,112, 56,151, 2,217,185, 74, 56, 89,109,152,
-166, 69, 16, 44,173, 49, 70,116, 56, 49,103,252, 50, 83, 53, 53, 86, 25,230, 85,138, 43,165,183,206, 16, 67,222,246, 67,206, 82,
-164,134,232, 73, 49, 80,183, 29,138, 66, 41,137,227, 40,194,199, 97,183,163,212, 53, 57, 70,124,140,228,109, 79, 86,174,194,108,
- 2, 71,107,161,174,107, 74, 41, 36,239,153, 66,220, 46,241, 64, 73, 80, 57, 67,214, 25,107, 12, 85,223, 95, 21,247, 57, 23,208,
- 66, 91,106, 43, 78, 7,183, 53, 34,202,218,171,162,209, 90,185, 28, 53,138,148, 34, 62,120,150,121, 38,171, 66,227, 26,230, 69,
- 80,130,105, 28,161,108,154,148,146, 56, 76, 34,104,182,198,200, 30, 82, 26, 52,212, 70,186,232,227,241, 72,211,136,179, 66,190,
- 75,152,231, 25,144,123, 46, 4, 65,204,114,201, 91, 99, 34,212,231,186, 9,155, 41,162, 35, 72,243, 76, 8,210,124, 28, 15,151,
- 12,187, 61,227, 38,212,222,123,144, 35,198, 0, 0, 32, 0, 73, 68, 65, 84,237,246, 72,126,203, 74,206,133,156, 35,199,203, 35,
-202,168,147,116, 13,107, 5,129,178, 49, 38,154,170, 67,212,138,210, 69, 25,103,174, 22,138, 49,134,113,158,196,202,213,201, 5,
- 45,149,168, 8,226,160, 34,204, 51, 42, 70,112, 21, 57,122, 80, 45, 41,102,134,253, 78,186,185,180, 48, 79,203,149,186,157, 18,
- 37, 4,160, 20,230,213,147,179, 40, 66,189,247, 92,191,118,109,131,155, 2,109, 91, 51, 78,242,198, 67, 20,177,222,229,113, 83,
- 19, 90,205,174, 23,203, 68,201,133,203,219,231,226, 55, 55, 18,120,226,156,219,120,169, 64,140, 2, 91,231, 36,139,178,107,234,
- 77, 36, 22, 81,166,102,119,182,231,246,237,219,156,148,153, 18,162,176,193,126, 85,141,183, 30,173, 20,103,103,123,110, 95, 8,
-127, 87, 50,140,243, 44,159,211,246,229, 85,206,225,125, 32, 6, 81,116,198,197,179, 59,219,209,117,162, 78, 93,102,233, 94, 98,
- 8, 4,239, 55,120,210,227,215, 0,170,160,181, 98,127,182, 39, 69,209, 56, 24, 45, 29,183,171,132,143,118,157,221,212,150, 82,
- 84,105,109,183,110, 82,248,200,166,107, 4,238, 92, 87,121,126, 93, 99,141,162,218,236, 84,185, 20,170,173, 43, 57, 63, 63,151,
-207, 81, 67, 70,211,117, 29, 74,107,252, 6, 71, 42, 32,105,129,197, 82, 74, 28, 14, 35, 57, 71,114,206,196, 81,180, 7, 49,110,
-137, 74,102, 91, 43,214,208,245, 61,104, 17,195, 40, 99,216,247,131, 28, 92,193,162,180,161,175, 42,230, 73, 14,213,170,170,112,
-174, 34,172, 11, 1,131,209,144, 82,220,208,139,154, 67, 8,204,235,140, 42,154,202, 89,114, 73,204,203,132,171, 29,185, 24, 66,
-244,128, 22,234,167,106,136, 33, 80,200,162, 68,117, 21, 41, 22,150,237,243, 50,214, 10,236,218, 9, 10, 80,112,228, 28,233,251,
- 86, 14,168,156,233,218, 78,120, 44, 37, 93, 67, 46,153, 24, 34, 67,223,179,174,158, 84, 34,108, 69,193,186, 8,148,121, 56, 92,
- 96,173,165,118, 53, 49, 42, 80,194, 13,250, 16,216,109,112,163,113,150,186,110,184,214,206,188,233, 45,111,231,158, 27,119, 49,
-126,245, 38,191,245,251, 31,227,227,159,248, 83,150,101,225,120, 56,240,189,223,254,126,254,187,255,225,191,231, 91,191,237,253,
- 60,247,212, 51,252,163,159,255,167, 76, 97,225, 43, 95,121,121, 43, 94,191,241, 66,191,247,181,119,241,222,183,191,141,247, 62,
-242, 54,238,190,243, 78,198,121,230,142,221,142, 23, 95,254, 42, 79,191,240,252, 55, 60, 55, 23,184,235,250,117,222,243,206,111,
-225,238, 27, 55,184,251,206,235,220,177,219,241,192,235,191,137,107,251, 61,255,242,131, 31,225, 31,255,194, 63,229,177, 39,159,
-150,181,227, 28, 15,222,123, 15, 63,242,239,255, 16,111,126,224,126,218,182,225,197,155,183,120,246,229,155,124,233,149,155, 84,
- 8,119, 43,176, 37, 84,174,150, 78, 56, 5,114,202,212,174, 34,230, 64,229,132, 55,237,134, 30,133, 69, 91,132, 66, 74,133,170,
-169,101, 79, 56, 73, 24,107,106,131, 95, 86,150,101,101, 24,134,141, 34,130,236, 35,115, 78,164, 34,154, 19,231,196,214,232,140,
-163,144, 9,171,167, 31,122, 98,220, 68, 73, 74, 17, 83,102,215,182,196, 12,169,136,141,113, 89, 61, 80, 68, 27,144, 10,117, 87,
-145, 66, 68,169,205, 53,208, 84,148,152, 81, 22,178,214,148,148,112, 85, 77, 42,137,221,176,219,186,180,133,156,139, 32,128, 37,
-177,172, 43, 10, 67,211, 84,104,165,232,122, 41,244, 99,150,195, 90, 21,217,135, 20,133, 49, 10,165, 32,199, 8, 20,140, 22,180,
-210,214, 13,168, 76,240, 65,144,185,188,113,233, 37,137,118,128,204, 52,175, 88,109,161, 20,209, 63, 24, 77,201,133,170,169,200,
- 57,110, 72,107,133,247, 19,226,228,169,209, 78,179,142, 43, 90, 37,140,209,228,141,174, 50,206,113, 56, 30,229, 18,168,229, 61,
- 23, 45,252,124, 42,137,156, 34, 57,102,250, 65,212,236, 49,166,237, 44, 45, 56, 99,113, 27,165, 20, 83,162, 40,185, 88, 93, 85,
- 81,185,106,163, 53, 60, 93,215,227,253,202, 73,252,231,215,149, 16, 3,117,211,210,183, 45, 41,103, 78,154, 41,103, 29, 41, 70,
- 82, 46, 28,143, 7,156,171, 48,206,144, 67, 36,230, 40,159,181, 21, 97,171,213, 22, 40,178,215,139, 52,128, 26,185,138,148, 41,
-228,162,176,219, 61,134,102,235,110, 69,116,152,179, 52, 32,166,214, 88,219,136,102, 6, 69,242, 11, 99, 24, 81, 90,145, 83, 38,
-149,130, 51,210, 48, 58,231, 4,253, 84, 26, 87, 85,232, 82,112,217, 92, 61,183, 20,209,122, 89,235, 56, 30, 46, 5, 45, 89, 87,
-234, 70,206,236,178, 85,210, 39, 7,143, 15, 18,170,182,223,239,200, 57, 17,183, 80, 86, 31,253,230,226, 26,113, 78, 46,239,121,
- 89, 54, 88,222,112, 18, 9, 59,231,136, 41,114,184,136,155,182, 77, 10,180,184,113,244, 41, 70,172, 82, 90,196, 30,243,132,223,
- 58,213,161, 25, 88, 67, 96,156,103,154,106,235, 26,189,112, 43,117,227, 8,171,168,161,217, 42,255,237,111,144, 34,251, 59,174,
- 19,130, 88,119, 82,138,164, 20,169, 54,193, 68,136,113,131,211, 10,109,215, 49, 47, 11,165,136, 69,162,107, 58,129,210,128,166,
- 17,111,159,247, 2, 81, 55,141, 84, 68, 0,151, 23,151,156,188,232,194, 75, 20,178, 42,232,156,160,106, 40, 73, 32,221,170,174,
- 57, 65,188,227, 40, 85, 83,191, 19,159,164, 53,154, 90,181, 18,196,225, 68,164,178,219,137,253,109, 28,183, 10, 55,101,234, 90,
- 44, 57, 77, 83,115,234,184, 21,229,202, 30, 37, 98,193, 29, 41, 21,172, 53,114,152,213,242,122, 58,138, 55,243,226,226,124,243,
- 20,139,170, 52,198, 32, 62,229, 16,200, 10, 98, 72,236,247, 3,243, 44,190,255,117, 14,194, 31,110,188, 49,112,101, 23, 42, 69,
-248,100,191,172, 20, 37,133, 68,206,153,232, 3,227, 60,225, 47, 61,117, 35,220,152, 49, 78, 4, 62,182, 38,248, 64,219, 52,172,
- 33,160, 16,213,108, 93, 57,214,120, 90,180,142,113, 28,233,187,238, 10, 78,157,167,137,162, 68,217,236,172, 40, 55, 23,159, 24,
-186, 65, 10,139, 36,137, 95,245,246,189, 40,173, 69,181,110, 12,203, 60,211,181, 29,228,132,217, 32,125,187,121, 62, 67,140,104,
- 43,188,186, 40,102, 87,108,181, 89,178, 4,104,184,226,215, 85, 41, 44,179,192,127, 49,105,154, 90, 60,176,165, 40,250,206, 98,
- 92,131,202,138,162,107,194,234, 17, 15,186,226,236,172, 37,229, 36,220,181,209, 84, 78,224,210,156,133,158,145, 77, 18,113,206,
-224,140, 99, 94, 15,178,225, 22, 73, 97,139, 41,162, 16,244,161,174,164,163,169,107, 71,206,134, 20,133,238, 41, 72, 33, 83,183,
- 53, 77, 35, 7,121,183,107,209, 24, 4, 30,214, 44, 94, 14,194, 93,147,249,137,239,232,121,223,119,252,101,108,117, 31,235,205,
- 87,249,141, 23, 95,230,217, 47, 62,207, 23,159,126,154,211,227,227,127,242, 41,238, 24,118,188,241, 13,247,241,242,205, 87, 65,
-193,111,254,238, 71,184,125,126,193,191,233,241,194, 75, 95, 69,155, 47,240,190,119,189,147,239,249,192,191, 69,161,240,251,127,
-252, 73,190,244,229,175,112,243,230,173, 63,247,108,205,229, 52,241,103,159,127,156,127,251,219,246,124,243,253, 15,240,238,183,
-191, 21,103, 29,159,122,244,243,252,242,191,250,157,171, 11, 29,228,128,127,225,171, 55,121,244,177,199,185,235, 53,215,121,229,
-214,171,204,243,202, 29,149, 70,237,123, 94,186,188,228,230, 97, 97, 56,219, 75,145,169, 53, 86, 43, 44, 2,237,231,156,201,235,
-140,117, 13, 49,140, 88, 37, 97, 53, 49, 66, 92, 3,195, 78,232, 50,201, 25, 88,113,251, 61,243,188,114, 74,119, 43, 37, 83, 87,
- 53,235,234, 49, 6,148,113,212, 27,106,229, 67,194, 58, 69, 44, 25, 85,138, 80, 27, 73,177, 46, 11, 77, 93,225,215, 72, 85, 27,
- 98, 10,162,129, 49,114,168, 91,163, 55,136, 91, 99, 43,185,180,165, 0,105,129,204, 52,173,104,171, 89,131,164,131, 85,181, 32,
- 58, 57, 25, 98, 90,105,235, 6,172,124,239,185, 72, 65,108,141, 37,172, 43,133,194,238,250,117,166,241, 32,103,143, 82, 40,231,
-168,141, 35, 7,161,113,150, 44,250, 11,201,209,144,215, 95,231,137, 92, 34, 86, 87, 88, 91,112, 78, 50, 24, 10,153, 18, 11, 99,
-156,164,123,111, 58, 65,226,178,208, 67,182, 56,178, 74, 40, 3,165,104,116,165,201, 25,154,182,193, 47, 51,125, 47,226, 80,138,
- 36, 41, 42,173, 88,214, 5,173, 68, 41,175,181,166,105,154,173,235,222,196,200, 41,129, 86, 36,109, 24,215, 9,230, 21,173,217,
-212,235, 82,196,201,247, 38,250,152,253,126, 79, 10,153,170,170,161, 8,172, 45, 23,161,232, 35, 50, 18, 90, 99, 67, 32,101,209,
-131,132, 16, 36,109, 81, 41,154,166, 38, 68,233, 90,141,214, 34,200, 70, 80, 50,180,194,104, 75,223,186,205,205,145,136, 89, 92,
- 81,139,151,247, 1,128, 82,184,202, 2,122, 91, 55, 9,178,132, 83,165, 44,157,255,186,172,204, 97,227,176,115,166,168, 26,173,
-244,149,139,170,174,165, 96, 43, 89,212,231, 70, 21,234,182,195,101, 68,132,152, 11,182,182, 27,157,105, 64,139, 96,122,153, 39,
- 40,108,162,194, 66, 81,133,121,211, 29,196, 49, 82, 82, 33,102,105, 10,218,166, 33,166, 64, 10, 17,219, 52,132, 40,122, 50,165,
-228,142, 50,218,162,173, 34,103,161, 0,154,174, 38,250, 0, 25,172, 51,148, 34,148, 84, 93, 55, 24,107,174,180, 0, 33,120, 32,
- 83,153,154, 24,196, 65, 97,235,186,134,172,104,235,158, 53,142, 44,139, 92,209,214,234,171,139, 83, 46,185,200, 56,143,196, 24,
-105, 27,169, 24, 74,146, 11,185, 31, 6,166,101,145,168, 83, 54,129,209,102,117,241, 62,176,219,237,229,208,206,226,109,237,186,
- 30,165, 33,167, 2,218,108,138,243, 25, 87, 89,150,113,196,110,220, 68, 91,213, 87, 10,237,166,110, 88,252,194,217,217,153,124,
- 1,165, 72,229, 86, 85, 52, 40, 14,171,135,101, 69, 85, 21,227, 56,161,149,116,185,194,145, 40,134,190,195,214, 13, 49, 68,236,
-182,232, 84, 22,158,101, 94,132,123,170,235,250,138,231, 60,241, 42, 33,136,141,175,170, 28,203, 60, 83, 87,245,149, 7, 56, 43,
-133,214, 22, 99, 20,151, 23, 23, 34, 76,139,145, 76,166,222,237, 41, 49,145,146, 71, 35,190,213, 16, 3,231,183,207,105,187, 86,
- 20,251,227,132,181,142,146, 36, 70,117,222, 68,116,226,111,118,116,109, 45, 65, 33, 49,138,168, 79, 73,151,104,156,120, 90,141,
- 49, 76,203, 68,142, 98,167,232,135,129,113, 58,146,181, 37,174, 11, 70, 75,149,105,172,149,170,186,136, 55,119,183,219,113,251,
-252, 54, 57,109, 28,140, 21,187,198,188, 44,196, 32, 2,165, 24, 35,198, 57,209, 88, 40,141,173,106,134,202,162, 50,236,247,123,
-166,233, 72,152,226,182,153, 65,105,197,176,235,185,188, 60,208,183, 45,151,151, 7,249,253, 54,175, 47,232,171,239,164,174,107,
- 82,204, 2, 97, 53, 13,201,123, 34,158, 72,222, 10,181,140, 95, 22,140, 50,116,195, 64, 33, 19, 67, 96,154,228,128, 11,155, 95,
-126, 89,165, 51,175, 43,183,193,152, 14,103, 52,209,199,171, 12,129, 83, 49, 49, 77, 35,243,188, 0, 95, 91, 19, 49,106, 86, 45,
-133,192, 50, 77,236,247,178, 78, 65, 32,234, 20, 35,174,174, 25, 47, 47,197,186, 21,163,172, 89, 36,217, 46,229, 76, 91, 55, 76,
- 91, 40,134,213, 2, 39,151, 82, 72,169,208,182,150,183,222,173,249, 27,223,254, 26,250, 55,255, 36, 31,254,232,163,188,122,235,
- 83,124,242,209,207,243,171,191,245,187, 60,251,194,139, 92, 59,219,243,218, 27, 55,176,214,242,239,124,199,251,249,129,239,254,
- 46, 14,199,145, 71, 31,127,146,103, 95,248, 50,181, 19,241,161,143, 97, 59,195,132, 10,121,239, 59,223,198,178,122,190,233,181,
-119,243,222,119,190,149,126,104,249,212,163,159,231,209, 47, 60,201,111,127,248,163,156,111, 1, 32, 95,123,136, 31,250,197,101,
-225, 95,127,248, 99,188,255,145, 71,184,235,238,187,121,252,241, 39,248,208, 31,254, 49,159,250,204,103,249,243, 15, 13, 60,254,
-244, 23,121,251,195,111,225, 29, 15, 63,196,239,252,254, 31,240,167,159,127,130,182,169,121,234,139,207,242,210,171,183, 49, 90,
-243,250,251,223,192,155, 30,188,159,123,239,189,151,132,116,226,126,245, 20, 10,117,213, 96,172, 68,131,174,113,165, 36,241, 33,
-175,243, 44, 33, 86, 33,202,133,115,156,112,157, 35,134, 32,231,192, 52, 35, 28,105,166,108,240,190, 13, 14,200,196, 28, 73, 65,
-227, 42,131, 53, 14,133,194,135, 9,133, 98,157, 87,170,166, 38, 3, 37,101,180, 18,248,243,132, 66,234,162, 73, 57, 94, 33, 31,
- 18, 28, 34, 58,147,170,134,101, 93, 40,185,108,130, 52, 79,140,114,161,245, 93,199, 26,196, 17, 16,130, 52, 27,178,103,165,192,
-175,149, 37,153, 72,215,182,172, 49, 80,226,182, 14,138,192,218, 39,238, 56,248, 40,133, 96, 85,161, 96,227,185,229, 34,111,183,
- 98,104,232,132,166,138, 49,108,133,179,132,176,212,117,205,120,220,242, 22,106,135,213,150,202, 73, 65,156, 98, 66,233, 36, 22,
- 83,107, 8, 41, 50, 30, 36, 65, 77,208, 16, 67, 83, 55,232, 86, 75, 71,151, 18,182,178,104,196,109, 1, 66,241,105,160,170, 68,
-215, 80, 85, 82,236,215,109, 67,244,158, 83, 0,211,186,174,228,156,153,231,153,147, 79,223, 7,121,205,211,159, 82, 68,208, 89,
-140, 33,147,113,174,194, 57, 75,201,153,227,241,184,169,210, 45,182,174,168,234,138,146, 50,235,188,210,117, 45,203,186,146,130,
-167,216, 10, 66, 36,110,205,135, 20,233,106,211,167,112,117,158,248, 24, 73, 65,190,183,144, 68,159,224,172, 67,233,194,225,114,
- 2, 37,226,191,166,149,144,176,101,154,229,130, 7,177,236, 38,225,205, 83, 46,184, 90,211,208,177, 76,203,182, 9,180,104,125,
-162, 8, 76,115,216, 82,249,146,228,120,212,141, 52, 53,243,178,108,239, 81, 26,211,227,225, 64,218,186,244,227,113, 60, 37,242,
- 93,105,145,230,121, 33,103, 9,136,178,149, 35,120, 79,229,106,148, 65, 28, 22, 33,147,114,226,218,217, 25, 34, 12, 54, 66,233,
-173, 30,181, 74, 22, 67,240, 43,117,215, 97,182,239, 63,213,219,165, 14,133, 37,136,197,162,105,164, 19,170,235, 26,140, 97, 89,
- 87,186,166,225,242,226, 66,224,204, 32,144,163,209,134, 57, 78,144, 11,203,188,136,128, 32, 74, 74,210, 18, 34,121, 94,216,237,
- 6, 82, 78,212,109,139, 4,139,120,154,166,193, 86,150,121,150, 15,117,191, 27,196,147,152, 51,243, 52,145,147, 36,111, 57, 99,
-240, 25,198,121, 68,109,149, 80,206, 17,103,132,127, 94,125, 32,172, 11, 41,101,250,190,231,120, 56,208,236,119,226,119,212, 16,
-214, 5,138, 66,169,194,181,107,215,160, 40,170,218,177, 70,177, 82,121,239,201, 64,213,117, 28,183,244,186,168, 51,235,197, 5,
-117,221,110, 92, 92,141,179,134, 83,238, 49, 40,241,180,182, 18, 3,153,203,169, 99,151,215, 43,202,144,194,132,206, 18,178,225,
- 20,168,166,226,120,140,228, 40, 11, 45,109,215,219, 50, 47,184,166,218,196, 63,114,153,246, 86,132, 50,189,235, 57, 78, 71, 66,
-240, 76, 37, 49, 79,139,132,240,172, 30, 5,132, 32,138,234, 16, 35,203, 6, 65,245,125,207, 73,128, 88, 59,217,100,139, 95, 41,
- 41, 95,121,106, 79, 62,216, 20, 35,182,174, 57,219,159,113,126,126,206,186,174,132, 16,232,186,238,170, 96, 9, 33,160,140, 8,
-127, 82, 76, 44,179, 92,120,165,104,178,150,203,171,237, 6, 98,136, 44,203,132,219, 14, 22,138, 28, 4,211,178,130, 42,244,125,
- 75,140, 34, 12,242,171,199,181,205,213, 97,218,180, 13,243, 52, 17, 66,144,195,201,106, 82, 73,180,173, 64,123,148,130,110, 29,
- 57,138, 32, 46,103, 9, 89,208,218, 82,181,181,160, 71, 81,214, 68,200,153,174,170,164,131,217,232,133,147,175,159, 40, 86,185,
-121, 94,200, 41, 35, 98, 61,182, 67,121,144,138,127, 19,187,205,243, 66,219, 54,242,115, 74,177,120,207,186, 65,112,165, 20,200,
- 17,231, 68,157,157,179,188,150, 95, 3, 93,219, 64, 73, 24, 85, 72, 40,238,218,195, 27,175, 37,222,250,154,149,183,222, 85,208,
-247,255, 24, 47, 95,140, 4, 63,243, 75,191,241, 91,124,240,163,127, 40,212, 13,112,253,142,107,124,251,251,222,205, 7,222,243,
- 78, 46, 46, 14,220,124,245, 38, 47,190,244, 18, 31,254,248,159,240,185, 39,158,228,165, 87,110,242,245,143,147,128,231,179,143,
- 63,197,127,245,215,255, 42, 63,253, 31,254, 40,119,156,237,121,254,197,151,249,212,103,191,192,199, 62,241, 41,137, 31,254,186,
-199, 93,175,185,206, 59, 30,126,136, 7,238,251, 38,222,253,246,183,242, 67,223,243,157,244, 55, 94,195,173, 23,191,194, 39, 63,
-247, 24,159,121,236, 9, 46, 54,244,233,244,120,228,173, 15,241, 29, 31,120, 47,181,117, 28,199, 35, 23,151, 7,126,234,199,127,
-132, 71,190,229, 73,126,230,127,251, 89, 94,120,233,171, 0, 68, 64, 5,207,119,189,243,109,220,119,239, 55, 17, 66,224,137,231,
-158,231,229,219, 7,142, 27,114, 98,177,172,126,165,113, 21,197, 66,206, 98,115, 21, 8, 90,144,190,182,173, 41, 90, 99, 81,132,
- 53,224,122, 75, 92, 19,174, 50, 40,165,233,235,134, 80, 18,100,232,107, 41,188, 79, 26, 15,173, 13,218, 74, 87, 40,235,201,112,
- 24, 71,134,161,199, 47, 43, 18, 93, 43,235, 66, 25, 89,167,214,218, 45, 91, 96, 97,153, 38, 52, 16,180,208,119, 73,101,162, 95,
- 41, 69,209,184,154,162, 11, 97, 21, 46, 19, 3, 70,105, 81,238,199, 68, 83, 73,180,181,214, 91,178,162,146, 36,187, 82,144,162,
-164,192,225, 40, 5,174, 86, 90,130,123,148,218,130,100, 10, 85, 45,121,251, 49, 4,188, 22,139,210, 48,116,184, 98,168,250,129,
-147, 71,186, 20,205, 73,196,149,115,166, 50,149, 56, 76,116,129, 34, 93,235, 60, 79, 87,235,195,106, 41,170,180,209,114,169, 42,
- 71, 8,145,182,237, 24, 6, 71, 73,210, 53,199,226,101,175, 89, 75,165,229, 44,179,206,210,234, 22,109, 12,117, 91,147, 82,160,
-239, 58,170,166,230,120, 56,114,210, 61,173,171, 52, 32,198,172,236,207,118, 88, 43,186,150,101,145,203, 57, 36, 9,145, 66, 27,
- 86, 37,188,114,101, 45,169, 8,124,158, 67, 4,191, 48,116, 3, 62, 74, 74,163,214,154,174,105, 5,161,161,108,251, 85, 52, 25,
- 33, 69, 86,191, 89, 58, 21, 40, 37, 14,139, 83,158,123,211,212,148, 85,222, 87,101, 12, 90, 59,234, 90,220, 18, 97,163, 44,226,
- 26,168, 43, 71,202,226,243, 62,191,184,144,215,210, 90, 10,178,117, 69,105, 57, 47,155,173,163,134, 66,142, 17, 91, 59,162,247,
-212,174, 66,213,138,117,241,172,203, 34,247, 10,153,182,174, 55,250,192,209, 14, 3,228, 76,218,180, 3,192, 85, 83,165,181,166,
-235, 90,252,102,183, 44, 89,156, 97, 74, 9,189, 97,186, 78,104,131, 8,199,227,145,161, 27, 48,141, 22, 29,145, 21,186,195,175,
- 30,227, 44,148,132,247, 25, 99,165, 17, 77, 49, 97,151,101, 36, 23,216, 13, 59,198,121, 65,107, 81,250, 53, 27, 55, 17, 82,160,
-168, 66,138,158,168, 10,214, 72, 7,187,219,237, 8,126, 37,132,204,116, 60,210, 54,155,117, 68, 27, 60,112,113,121, 73, 93, 85,
- 88,224,114,148, 92,228,148, 4, 14,169, 76,225, 56, 29, 57,142, 35,187,253,126, 91,136,133,227,241,136,209, 26,183,223,211, 15,
-114,112,202,144, 20,203,225,242,192, 41,121,104,232, 7,146,118,228,184,114, 56, 28, 17, 46,220,176, 46,146,240,213,109,139,207,
- 24, 81,151,239,247,123,150,117, 65, 41,205,178,200, 7,105,156, 65, 81, 49, 12, 29,160,185, 56, 63,167, 32,254, 92,101, 20,243,
- 60, 49, 23,225,189,208, 90,132, 16,206,137, 40, 65,201,162, 42, 10,216, 46,146, 94, 21,110, 77, 72,231,170, 53,199,113,164,105,
-123,246,103, 59,114,201, 76,199,153, 97,104, 89,180, 68,106,158, 16,144,144,146, 92, 18,100,200,136, 71,180,106, 41, 69, 44,123,
- 74, 43,129,138,171, 10,171,245,213,166,118,206, 17,151, 21,178,112,245, 85, 93, 1, 10,146, 34, 18, 33, 23,172,214,204,147,160,
- 22,218,138, 18, 60,169,173,227,204,146, 13,238,204,102,231, 41, 5, 69,145,207,106, 89,208,198, 16,214,128,178,162,188,245, 62,
-146,114, 34,248, 21,103, 45, 93,215,160,117,133,209, 5, 99, 78, 65, 34,114, 88,199,228, 25,186,225,106, 17, 27,109, 49,214, 64,
-209,212,181,102,245, 43,106, 85,116, 93,143, 28,233,210, 25,107, 99,152,143, 51,174, 22,231,133, 82,144,148,240,108, 98,109,203,
-204,179,104, 42, 42, 87, 49, 12, 61, 57, 23,252, 52,177,174, 51, 41, 21, 76, 18, 81,224,149,101, 40, 37,226, 34,223,189,182,154,
-182,170,169,183,164, 45,173,244,166, 60, 21, 78,116,153, 34,151, 23,151,160,196,110, 56, 12, 3, 62,136, 98,214,213,162,224, 62,
-217, 93,150,117, 37,248,192,251,223, 92,241,174,123, 39, 6,235,120,195,107,224,158, 42,160,183,247,116, 76, 29, 47,199,111,161,
- 43, 61, 23,183, 95, 32,248,192,127,253,211,127,141,187,239,188,193,207,253,210, 47, 19, 67,226,153,103,159,227,158, 59,111,160,
-141,230,190,215,221, 69,215,222, 75, 74, 35,111,126,240,126,110,222,186,197,229,225,200, 56, 73, 1,112,122,188,238,238, 59,249,
-193,239,254, 78,174, 95,187,198,151,191,242, 50, 74, 25,190,244,229,175, 48,205, 19,215,206,246, 92,108, 41, 86, 0, 15,190,254,
- 94,254,230, 79,253, 21,126,224,187,190,131, 59,206,206,168,234,138,232, 61,231, 47,190,204,227,207, 60,203, 52, 47, 18,136,180,
-117, 21, 39, 36,224,242,120,196, 42,205, 59, 30,126,179,116,248, 47,191,196,115, 47,190,200,229,241,200,245,179, 61, 47,190,100,
-241, 33,114,215,141,235,188,253,225,183,160,141,230,252,252,156, 47,191,244, 50,255,215,255,243,207,241,193,115,239,235, 94,199,
-189,111,124, 35,109,211,209,247, 98, 83, 36, 75,188,174, 40,151, 21, 85,211,225,140, 35,197, 68, 33,211,237,122,198, 75,113,218,
-152, 70,168, 28,173, 69, 8,151,183,245, 20,146, 68,208, 58,163,105,251,142,117, 94, 69,157,159,229,160, 95,203,138, 49, 48, 29,
-143, 82,156,246, 3, 20,133, 15,126, 19, 98, 10,191, 28, 99,100,241,226, 21, 94, 22, 73,236,130,130, 81,208, 52, 29,214,176,137,
- 78, 50,197, 73,116,109, 78, 17, 83, 11,199, 89, 82, 98,216, 13,162, 1,138, 34,122,211, 74, 38, 25, 30, 14, 7,177, 57, 89,205,
-208,247,200,209, 37, 22,215,156,210,134,134, 37, 74,129,121,157, 57, 69,101, 75, 1, 11,211, 58, 35,241,213, 95, 27, 36,210,117,
- 59,156,171,201, 37,161,209, 84,218, 32, 73,124, 2,129,119, 90,179,172, 66, 41, 42,101,104, 20, 20, 37, 9,103,126,163, 0, 82,
-240,196,128,172,249,237, 28, 90, 67, 32,197,136, 49,178,114,167,113,102,216,245,140,135, 17,179,209, 86,166,174,208,218,176, 59,
- 59,163, 36,113,129,172,155,118,167, 80, 56, 30, 39,172,150,192,168, 92,178,164,133, 26,153,144, 38,208,118, 38,229,140, 47, 9,
-208, 88,107,183, 98,165, 48,110,201,154,125,215,139,203,192, 90,214,184, 50, 47,194, 39,119, 77, 75, 85,215, 52,186,101, 89, 23,
-188,143,148,146, 68, 3,177, 93,232, 33, 4,170, 74,132, 98,243,188,112, 76, 19, 70, 11, 21,228,170,154,166,149, 4,185, 53,200,
-192, 37,165, 20,108,116,243, 52, 79,116,117,205,105,162,101, 41, 10,165,197,221, 16,163,248,237, 99,158, 73, 75,162,109,229,162,
-247,147, 80, 19, 41, 23,161, 16,141, 33, 26,153, 15,145,180,197, 21,161, 40, 36,132, 74, 40, 93, 65,117, 4,233, 40, 37,161,148,
- 37,132,133,152, 19,164,204, 98,228, 60,119,206,145, 82,166,219,236,162,107, 10, 16,212,134, 30,104,148,146,156,150, 83,242, 97,
- 81,133,152,164,128, 83, 70, 97, 99,146,240,151,140,168,199,109,109,161, 24, 78, 73, 82,165, 20, 84, 35,161, 22,248,149,166,170,
-176, 26,148, 49,216,174,167, 74, 18,193,184, 6,143,173, 42,129, 91,179, 64, 72,137,196,241, 82, 46,221, 92, 50, 40, 56, 30, 47,
-183,252,228, 68, 55,180, 92,156,159,211,239,118,160,164, 35, 79,171,164, 67,141,227,129,148,228,146, 17, 19,127,123,149,100,229,
- 83,162,105,106,242, 22, 80, 96,140, 40,136,141,145,110,107, 24, 58,206,174,157,161,209,104,163, 24,103,201, 47, 47, 5, 84, 43,
-138,240,152, 11,141, 18,223,187, 95, 60,251,221,142,113, 89,196,146,129, 38, 89, 71,206,133,241, 40,197,132,120,238, 53,174, 54,
-178,201,180,166, 31, 36, 30,181,239, 59,142,203,122, 69, 83,212,109, 79,227, 54,187,220,188,208,180, 13,218, 42, 80, 34,184, 56,
- 45, 74,109,173,216, 4, 55,174, 38,151, 76, 14,137, 84,196, 10,210,181,189,116,163,214, 50,110, 94,110,225,158,165,176,106,170,
- 10,101, 90,150,101,194, 88,115, 85, 69, 23, 47, 42, 75,163, 13, 77, 43,214, 11,163,148,116,238,219,193,161,141, 92,214, 90, 73,
- 66,224,186,174,226, 39, 71,209,118,221,149, 72, 36, 4, 79, 91,183,172,139,132,229,212, 77,195, 60,142, 34, 12,172, 68, 24,216,
-117,110,115, 76, 72, 90, 23, 32,225, 44, 90, 18,202, 78, 17,157,109,219,138, 88,198,214,212,109,131, 42, 98,103,140, 41,161, 80,
-148, 28,105, 59,129,215,115, 41,140,151,194,117, 15,125, 79, 33,179, 44,158,182,105,182, 78, 72, 68,115, 68, 41, 94,188,247,212,
-109, 71, 88, 87, 86,164, 42, 86,165, 80, 53, 27, 84,167,181,168,241, 83, 18,170,160,233,165,120,221,232, 13,165,196,110, 87, 57,
- 75,200,129,130, 34,120,177, 63,174, 97,145,144,163,166, 99, 92, 22,156,179, 92,239, 50, 63,245,157,150,247,220, 7, 77,202,160,
- 2, 40, 45, 69, 93, 41, 92,220,247, 8, 55, 95,221,241,210,205,154, 79,255,139, 95,227, 23,254,249,175,240,233,207, 62,198,159,
-127,252,139,159,253, 71,124,215, 15,127, 31,121,241, 44,175,220,162, 58, 27,152,111, 95,240,235, 31,252, 16,127,248,233,207,252,
-133,231,255, 79,255,224,191,225,111,252,237,255, 28,156,197,191,124,155,188,204, 44, 33,242,192,189,175,227,247, 62,246,199,252,
-201,159, 61,250, 13,207,175,235,154,199,158,122, 6,107, 44,239,123,231,219,185,251,198,117,230,101,225,169,103,159,227, 95,125,
-248,163,124,232, 99,127,196,147,207,126,233,234,249,167, 78,239,153,231, 94,224,119, 62,242, 49,180,214,124,224,145,119,160,181,
-229,241,103,158,230, 87,255,245, 7,121,230,249, 23, 0,168,108,197, 91,191,249, 77, 60,242,240,155,121,199,195, 15,241,213,155,
- 55,121,242,217, 47,241,202,171,175, 2,112,113,121,224,115,143, 63,193,245,215, 92,231,254, 7, 30,228, 45, 15, 61, 68,202, 5,
-163, 34, 68,209,189,100,165,152,143, 35, 69, 43,134, 90,210, 28,179,146,131,239,196,133,215,109, 45,103,136,146, 75, 96,157, 87,
- 10,144,163, 34, 5, 9, 92,177,141,132,245,180,109,195, 41,194,211, 86,162,248, 62,229,229, 27,107, 80,104, 82,136, 44,235,194,
- 48, 12, 12,131,168,168,167,163, 32, 59,185, 64, 93, 91, 80, 90,104,161, 40,185,220,109,215,160,149, 8,164,210,118,102, 26,183,
-165,157, 21,168,235, 10,107, 29,211, 60, 51, 29, 47, 55, 24, 58, 48, 29,103, 64, 75,145,106,149, 64,201,182,194, 25,137,234, 77,
-254,100, 53, 44, 44,222,111,123, 16, 20,154,170,174,183,110, 79,102, 65,156, 60,223,114, 41, 20,172,171,200, 69,120,215, 92, 4,
- 1,177,214, 33,142, 3,133, 50, 14,173, 20,181,171,176,182, 34,165,149,197,139,245, 83, 25,137,110,173,171, 26, 93, 36,166, 24,
- 35, 60,251,105,132,116, 81, 96,180,252,238,101,187,164, 74, 41, 52, 78,242, 72,190, 94, 12,118,106, 82,162, 79,180, 77,135, 97,
- 65, 91,135,164,215,157,210,213,228,115,146,119, 43, 40,134, 4,185, 40,148, 81,196,228,209,186,160,172,102,168, 7,142,151,151,
-164, 20, 25, 39,177,169, 74, 70, 74, 11, 44, 40,156,160,152,206, 18,163, 80,118,199,227, 72, 65, 52, 72,149, 17,222, 57,172, 66,
- 99, 76,211,204, 48,116,244,189, 76,139,204, 69,220, 60,235,178, 72,226,226, 50, 17, 99, 32, 37,241,139,183,181, 80,204, 77,213,
- 16,162, 76,159, 59, 30, 37, 59,197, 90, 67, 53,244,146,180, 89,100,184,215,180,161,171,198, 24, 74,144, 16, 36, 41,144,217,220,
- 59,105,251,221,217,154,164, 69, 40,110,213, 96,146,103,201, 30,149,165,208, 76, 41,115,118,182,219, 10,188,140, 83,154,227,225,
-200, 48,236,240,139,199, 53,142,101, 89,240, 94,246,129,115,142,166,109,177, 70, 80,111,123, 10,116,153,231,153,180, 38,220,208,
- 19, 74, 70,199,196,241, 40, 3, 19,140,171,168,107, 49,222, 31,142, 71,196,150,211,225,106, 43,126,214,174,225,242, 32, 89,210,
-195, 48,176, 4,207,197,225, 2,173, 20,251,253,158, 19,159,149, 74,193,251,149,105,154,209, 72, 37,221,239,119,196,205,251,174,
- 0,229, 28, 57, 38, 98, 76, 84,149,219,146,187, 96,216,237,217,239,247, 80, 10,227, 60, 19,214,149,132, 36,194,181, 91,108,170,
-177,142,182,169, 56, 28, 14, 24, 45,169, 59, 10, 72, 81, 58, 15, 5,148, 2, 93, 63, 48, 30, 71,214, 24,136,211, 66, 70, 81, 43,
- 9,241,143,193,163,173, 97, 77,146,203,219,118, 18,247, 41,156,106, 16,197,245,246,190, 84,217, 14,145,148, 25,250,254, 74, 13,
- 57,206, 35,107, 22, 63,108, 41,133,156, 68,205,106,140, 17, 59, 70, 37, 10, 73,177,214, 72, 98,146, 53, 22,101,149,192, 49,219,
-193,122,250, 66,115, 74, 88,165, 41, 78,186, 69,171,197,147,185, 46, 43, 74,201, 37,178,122,207,176,219,145, 98,228,120, 60, 50,
- 77,147,248,183,151, 64, 63,244, 76,199, 35, 41,137, 5, 45, 39,129,207,250, 97, 64, 89,123, 37,156, 57, 92, 94, 98, 93,133, 54,
-154,218, 57, 66,218,244, 20,165, 80,107, 17,131,164,152, 48,214, 48,141, 35,243,164,216,239,123, 14,135,145,182,105,152,253, 66,
- 94,229,179, 72,101,227,143, 74,161,111, 91, 98,206, 40,109,168, 42,131, 42,133,146,210, 54,192, 97, 19,179,172, 1,173, 45,243,
-188, 82,136,164, 8,206, 74,145, 72,217, 38,175, 53, 53, 10, 69, 78, 34,112, 90,198,133,174,145,148, 44,215,247, 72, 38,118, 35,
-214, 19, 85, 68,195,145,146, 36, 96,229, 44, 67, 63,180, 8,164, 82, 74, 87,175,183,174,158, 82, 64, 27,177,229,117,136, 23, 59,
-165,204,225,112, 65,213, 84,244, 85,135, 82,134,123,110,116,188,235,198,200,143,189,219,113, 86, 59,202,141,215,145,173, 70,191,
-242, 10,229, 43,183,136, 85,197, 87,234, 55,160,226,253,220,184,247, 77, 12,119, 44, 20,227,248,228,103, 30,228,137, 47, 62,199,
- 56,142,236,250,158, 55,220,251, 58,254,254,223,250,207,248, 75, 63,240, 61,164,203,145, 95,251,181,223,228,151,127,243,119,184,
-117,121,201,167, 31,253,220, 95,232,206, 1,222,247,206,183,243,189,223,241,173,228,217,147,110, 31, 24, 47, 46,121,229,230,171,
-188,122,251, 54,255,248, 23,254,111,126,253,119, 63,242, 13,207,191,118,182,231, 45, 15, 62,192,127,240,131,223,207,251,222,243,
- 8,166,174,200,139,231,153, 63,251, 12,191,253, 7, 31,231,131, 31,253, 56, 79,127,233, 27, 85,242, 32,159,245, 59, 30,122, 51,
-143,188,237, 97,154,186, 98, 94, 87,218,166,230,218,254, 26, 55, 94,115,253,234, 82,247,209,115,126,113,201,225, 48,114,113,121,
-193, 27,223,112, 31, 63,253, 19, 63,202, 60,175,252,214,239,127,140, 83,200,210,173, 87,111,113,235,213, 91, 60,249,248,227,188,
-235,189,239,230,190,215,191, 1,219,138,221,203,207, 43,186, 54,248, 53,112,121,184,148, 92,107, 32,248,128,235, 36, 43, 59,103,
-201,222, 78, 41,161,173, 65,226,162,101, 78,117,202,153,180, 6, 72, 5, 99, 28,211, 52, 94,193,166,218,152, 77,140, 36,133, 61,
- 8,197, 24,115, 32, 35, 49,175, 97,245, 84, 93, 77,221,202,224,169,121,158, 89, 23, 67,191,107, 65,107,210, 26,200, 69,214, 91,
- 54, 25,131, 66, 25,131,171,107,150,121,228,242,114,193, 25,139,173, 52, 97,131,144,215, 36, 46, 19,191, 44,104, 45,195, 99,178,
- 47,236,155, 65, 6,176, 88, 13,202,210,181,130,188, 9, 72, 39, 17,187, 74, 21,114, 18, 47, 56, 57,201,197, 92, 60, 37, 21,180,
-115,168,146, 4,149,147, 45,140, 49, 21,114,176, 1,218, 80,215,181,140, 43,206,133,148, 60,243,188, 82, 57,225,239,235,186,193,
- 26,225,106, 37,206, 85,177,174, 51,117,211,110, 40,161,160,115,198, 74, 8, 85,223,119, 68, 31,104,155, 78, 28, 59, 41, 98,148,
-104,116,198,227, 72, 86,153, 97,163, 8,114, 18,136, 91, 25,197, 60, 77, 52,109, 43,162, 49, 43,190,125, 31,182,215,217,146, 49,
- 75,206,168, 34, 73,117, 33,137,107,161,169, 29,110,168, 88,214, 25,165, 4,250,151, 56, 96, 45,168,113,204,120, 63, 97,141, 4,
-152,105, 45,244,104,140, 35,195,110,183,189, 39,177, 7,183,173, 20,107,218, 74, 3,116,210, 35, 20, 4,145,204, 89,220, 6,185,
- 20,240,160,245, 73,151,160,182,130, 77, 16, 6,109, 53,243, 60,211, 53, 13, 77,221,112,138,185,141, 36,142,227, 72, 12,129,166,
-174,232,251,129,197, 47,180, 77,123,229, 30, 82,104,188, 23,100,161,109, 79, 77,169, 98, 24, 58,172,171,176,198, 48,142, 23,212,
-117, 67,219, 89,214,117,198, 41, 71,219, 52, 28, 14, 7,156, 19,159,250,197,225, 64, 93,215, 88,107, 8, 90,232, 41,201,171,151,
-225, 54,235,186,138,107, 73, 11, 2, 98,181,146, 14,175, 20,233,138, 15,135, 3, 37,102,142, 57, 93,101,111, 27,173, 4,150, 36,
-147,139, 92,220, 18,114,162, 57, 28, 15, 88, 39,214, 29, 65,152, 4, 98,234,155,134,227, 56,146,147, 84, 50, 89, 41, 40,112,214,
-247,172, 41,225,140,116,166,151,231,231,128,150,191,148, 36,248, 44,139, 4,234, 55, 77,203,225, 32,208,253,120, 56,224,106, 71,
-219, 13,180,109, 75, 41, 48,175, 43, 49,200, 70, 52,214,178, 27,122,214, 32,202,240,182,107, 25,167, 3, 93,219,209,214,149,116,
-176, 74,145,114, 97, 90, 37,136, 97, 90, 38,170,218,161, 19,172,203,138,117, 1, 48, 44,209, 19, 55,155,135,181, 14,235, 12, 70,
- 89,234,206,201, 4,162, 34,188,134,228,223, 91,118,187, 65, 20,246, 90,102, 4, 59, 91,179, 6,137,239,115, 78, 52, 4, 93,215,
- 49,173, 19,118,131,230,171,170,162,178,150,146, 11,227, 52, 18,194, 74,215,247, 28,143,226, 83, 44,165, 64,150,157, 43, 83,197,
-206,208, 70, 66,125,252,186, 80,148,194,167,136,206, 98,123, 1,117,245,197, 86, 85, 69,211, 84,132,144,168, 54, 71,128,113, 18,
-164, 33,155, 42, 50, 77, 19, 23, 23, 23, 24, 99, 56,219,237, 36, 62,181,239,241,193, 67,130,160, 37,146,240,226, 98,196, 90,187,
-189,190,112,181,251,221,142, 49, 28,183,234,117,150, 3,204,123,186,182,231,152, 15, 24,107, 37,145,204, 89,148, 50,130, 94,184,
- 90,166,172,117, 29,199,233,136, 49,142, 97,232, 56, 30,142,212, 69, 16,131,156, 18,117,237,208,186,102,158, 71,180, 21, 65, 93,
-201, 17, 52, 76,231, 2,211,233,124,117,166, 49,109, 7,231,126,183, 99, 90, 60, 70, 41,169,160,173,165,169, 20, 57,109,246, 30,
-107, 33,103,166,101,197,110, 48,155, 82, 66,109,156, 82,169,156,117,164, 32,195, 34,172,214,226, 58,200, 82, 60, 93,235, 50, 63,
-246, 78,203,183,127,179,165,243, 53,186, 36, 74, 72,112,235,166,160, 12,222, 51,229,138,231,185,135,179,251,191,139,238,218, 3,
- 28, 94,126,137,227,120,228,231,127,233,255,229, 23,127,229, 55, 56, 61,238,184,118,198, 7,222,253, 46, 94,119,231,157, 92, 60,
-251, 2,227, 60,227,172,195,123,207, 31,252,209, 39,248, 55, 61,254,214, 95,255,171,252,195,191,255,119,192, 90,210, 52,179, 78,
- 51, 77, 83,241,224, 91,222,196,240,194,139, 60,245,236,115,127,225,103,206, 47, 46,121,219, 91,222,196,219, 31,250,102, 20,112,
-124,245, 22,175,222,186,205,135,254,232, 19,252,220, 63,251,229,205,226,245, 23, 31, 49, 70, 62,251,196, 83,116,109,195,107,206,
-206,184,227,218, 25,247,220, 37, 20,193, 61,119,221,160,239, 90,198,105,230,245,247,220,195,127,249,159,252, 53, 30,121,248, 33,
-142,211,196,241, 56,113,199,181, 59,248,193,239,254, 75, 60,253,165,231,121,236,169,175,169,233,187,182,225,117, 55,238,224, 53,
-117,197,251,222,120, 31,174,174,249,252,243, 95,225,118, 6,140,162,100,133,210,194, 47,158, 68, 64, 49, 36,214,197,147,138,240,
-155,107,240,148,176, 77,135,171,182, 97, 29, 81,132,187,203,178,160,149,116,255, 69, 65, 81,154,146, 37,180, 38,100, 25, 92, 18,
-130, 36, 73,106, 20, 93, 91, 51,142,210, 92, 40, 20,222, 47,168,109,152,145,213,138,184, 74,112, 83,211, 54,228,101, 19,188,101,
-205,154,162,136, 85,139,136,137, 83, 22,111,247, 26, 60, 33,129, 42,133,221,208, 75,103, 90,164, 91,107,173,219, 92, 37, 50,137,
- 44,173, 98,245, 50,219, 58,148, 64, 39, 69, 57, 45,106,228,142, 6,168,107,141,179, 53,206, 34,103,138, 95, 81, 40, 92,229,208,
- 74, 11,165, 16, 37, 42,213,108, 5,122, 12,129,170,174,153,166, 85,172,170, 74,248,246, 70, 55, 50, 43, 98, 24, 40,136,143,188,
-223,237,164, 65,202, 25, 74,194,105, 77,204, 17,163, 42,146, 42,164, 20,129,250,170,123, 79, 74, 97,180,228,150,199,224, 57, 63,
-191,184,210,234,244,189, 97, 60, 78,116,109,199, 60,207, 80, 50,211, 36, 65, 65,183, 76, 24, 0, 0, 32, 0, 73, 68, 65, 84, 58,
-125,215,225,189,199,185,138,186, 50, 27, 58,166,229,245, 5,196, 20,196,210, 90, 98, 72,164,184, 16, 98,194, 57, 72,113, 97,161,
- 48, 12,123,180, 22,228, 77,105,177,255,230, 34, 9,122, 57, 23, 74,129,101,145, 6,101, 26, 71, 41, 44,198,137,170,174,175,206,
-197, 83,192, 77, 78, 1,175, 4, 37, 57,219,237, 48, 70,163,181,196, 97, 43, 99, 40,169, 48, 45, 51,165, 72, 33, 56,206,147,232,
-162, 38,185,155,208, 66, 25,150,156, 69,183,177, 21, 10,199, 44,130,198, 28, 19,198, 9,122, 19,151,192, 33,172,236,207,174, 1,
-138,227,225,128,210, 26,219,183,116, 93,199,197,197, 5, 80,228, 94,181,154,241,242, 64, 74, 65, 40, 89,165,160,228,237,123,148,
- 28, 13,153,148,151,175, 80,193,170,138,204,179,136, 23, 55,159,122,198, 20, 69,200,146,105,222,212, 13,199,229, 2, 5,140, 23,
- 23, 20,165, 64, 11,116,234, 83,164,171, 43,206,207,207, 49,198,208, 13, 18,112, 95,138, 40,133, 47, 47, 46, 64, 41,138, 82, 28,
-130, 84,173,231,231,231,210,169,107, 33,242,135,253,158, 90, 59,198,105, 38, 38,169,152, 41, 25,163, 43,114,242, 28,143, 35,125,
- 63, 72,172,171, 54,236,119,123,230,101,198, 58,241, 84,250,101,193,184,138,195,197, 57, 17, 9,186, 57, 13, 21,161,192, 58, 47,
- 91,110,116, 32,167,194, 97,156,168, 93,197, 56, 45,148,146, 25,250, 29, 62, 6,146,201, 52,117,139, 42, 26, 83, 27,218, 78,108,
-123,218, 24,230,113,102,191,219, 70,156, 82, 80,106,207,186,206, 24,107,216,157,237, 9, 94,108, 24, 98,203, 74,172, 94,236, 84,
- 70, 27,166, 60,162,148, 98, 63, 12, 92, 28, 15,172,171, 92, 58, 90,159, 66, 38, 36,148,102, 28, 71,230,109, 51,149, 34, 67, 31,
- 98, 22,206,166,100,233,166, 87,191,110,126,223,196,178,206,210,101,132, 72, 76,137,170,170, 24,186,142,101,153, 89,102,225, 24,
- 21,138,170, 18,109,131,143, 18, 80, 83,185,147, 79, 52,178,230,149,156,133,131, 58,113,167, 41, 37, 22, 47, 30, 72, 31, 60, 86,
- 91,198,121,102,208,157, 76,145, 67, 44,133,107,248,218,137, 19,115, 20, 77, 69, 8,104, 91,208, 70, 98, 16, 11, 74, 6,164,228,
-196,180, 44,148,109, 3, 85,117, 13, 74, 83, 55,213, 85,238,248,233,247,168, 27,153,132,135, 2,137,151, 44,236,135, 29, 90, 73,
-108,235,126, 63,112,113,113,206, 50,206, 84, 85, 77, 34,145,148, 98,104, 58,148,145, 66, 64, 91,187,217,233, 44,206, 90, 80,176,
-204, 19, 71,239,233,123, 17, 99, 94, 33, 62, 91, 0,142, 76,174, 42, 84,181,132,140, 88, 93,161, 43,197, 60,206,180,189, 84,213,
-175,237, 51, 63,248, 80,197,183,222,185,114,255,189, 6,188,162,172, 9,102,225, 79, 49, 25, 85, 70, 80,154,155,241,140,151,219,
-215,115,215, 91,191,151,186,191,155,207,253,233,167,121,226,169,103,248,224,199,255,136, 95,252,149, 95, 7,132, 94,186,231,181,
-119,241,200,195,111,230,123,191,253, 3, 60,240,250,123,169,155,154,118, 24,120,239, 59,133, 82, 80, 74,241,187, 31,251, 56,126,
-131,101,251,182,229, 13,247,125, 19,199,105,228,201, 39,159,230,222,123, 94, 75,240,146,250, 88,183, 53, 47, 62,243, 69,254,231,
-255,253,103,249,194,211,207,202, 97,167, 20,168,194, 59, 31,122,136,191,247, 55,255, 83,126,224,135,191, 31, 20, 28,190,242, 10,
-143, 62,254, 36,143, 61,245, 52, 47,189,252, 50,103,195,142,101,125,149,255,191,199,208,201,232,201,182,149,241,186, 63,255, 75,
-191,202,239,253,225, 31, 51,207, 51, 85, 85, 49,110, 41,137, 31,251,196,167, 24,231,145, 7,238,189,143,167,158,125,142, 63,125,
-236, 49,158,122,230, 75,146,250, 88, 73, 22,124, 41, 82,172,223,123,207, 61, 60,252,166, 7,184,231,206, 59,121,235, 55, 63,200,
-143,252,224,247,243,248,151,159,231,247, 62,242,113,158,120,238,203,164,252,181,105,125,187, 97,199,225, 48, 98,173,162,111,123,
- 66,137, 80,100,112, 80, 41, 34,168, 90,147, 80,111, 90, 43, 92,213, 96,141,172,205, 18,229,162, 46, 90,206,196, 83, 34,160,173,
-106,161, 17,129,130,204, 36, 88,214,149,156, 18, 49, 23, 42, 85,216,237,122, 82,150,225, 35, 33,120,201, 37, 87,146,247,109,148,
-218,132, 78,176,172,146,141,208,110, 80,168, 49, 6,171,229,117,231,105,166,105, 27, 98,242, 40, 36,183, 62,205, 51, 40,144, 9,
-133, 3,243, 56, 51,251,121, 43,192,155,173, 33, 74,104,109, 41, 5,208,144, 98,100,245, 1,175, 61, 20,177,196,182,117, 75,161,
- 16,124,192,182,142,206, 52,228, 92,200,136, 7,221, 85, 98,255, 61, 28, 46,233,218,118, 27, 42, 36,151,194,229,241,128,210,138,
-121,153, 57, 13,204,210, 40,218,182,147, 16, 39,107, 57,140,163, 32,105, 38, 49, 30, 71, 26, 39,123,182, 27, 6, 98, 10,130,243,
-111,154,163, 16,100,141,166, 32,197,139, 95,101,110,252,241,120,196, 56, 75,215,180,104,157, 8, 49,112, 88, 38,249, 30, 74, 70,
- 33, 99,172,141,134,213,123,249,255,101,113, 34,185, 74,214,156,100,168, 11,157, 41, 42,242,194,120, 28,233,182, 65, 93,166, 8,
-154, 42,243, 57,182, 88,106,242,118, 46,173, 44,139, 68, 8, 91,231,152, 54,235, 25, 74,214,118, 41,210, 52,157,210,250,244,233,
-143,150, 39,200,153,109, 25,186, 14,144,252,248,190,237, 8, 57,162, 74,133, 82,194,201,155, 78, 6,192,204,235, 74,109, 12, 96,
-153, 87, 79, 73, 11,103,103,215, 40, 37, 9,215, 94, 27,234,186,103,154, 23,161,158, 11,146,244, 87, 78,235, 83, 4,146,211, 56,
- 74,128, 87,201,144, 53,198, 74, 70,137,247,158,224,165,152, 80, 74, 83,146,248,218, 83, 18, 61,214,178, 44,180,109,127,213, 64,
- 90,173, 21,205,208, 19, 47, 47, 56, 30, 70,218, 93, 79,177, 14,165, 21,172,146, 6, 84, 98,102, 58, 28, 80, 86, 51,229, 45,154,
- 48, 22,226,154,100,226, 80, 57,213,149, 50, 37, 41, 1,227, 81,248, 93,245,117,255, 77,163, 88,167,137,152,243,150, 92,150,113,
- 78, 14,225,202, 90,148,178, 76,243, 81,132, 39,201,179,219,239,177,149,101, 87,237,201,165,112,188,156,200, 42,163,214,109, 8,
- 76,145, 46, 93, 25,131, 81,134,148, 19,187,173,219,173, 93, 67,221, 9, 63,149,115,164,169,106,142,179, 92,164,218,106, 32, 83,
-148, 70, 41,225,117,151, 84,104,109, 35,155,201,157, 68, 32,133,184, 65,235, 85, 37,179,116,143,135, 3,148, 66, 55, 12,114,128,
-110,149, 23, 74,209, 15, 59,148, 18,126,106, 89, 23, 42,109,177, 77, 37, 29,174,146, 56,217,130, 92,164, 49,137, 88, 38, 43, 69,
-163, 53,167, 73, 86,203,188,160,138,217, 20,204, 18,138,209,245,131,164,137, 21,104,235, 26, 91, 85,144, 36, 16,198,106, 25, 7,
-154,115,161,174, 68,165,125,121, 57,110,138,109, 81,107, 79,199,163, 84,180,195, 32,144, 18,112,154, 88,230, 87,177,138, 5, 91,
-209,182,205,213,160,141,227,241,200,181,107,123, 74, 17, 4, 32,167,194,238, 76, 40,135, 16, 2,231, 23, 7,250,190, 69, 83, 67,
-214, 52,125, 43, 21,168,218, 56, 71, 10,130, 8,138,199,126,153,103,246,251, 61, 86,107, 50, 21, 41, 36,129,218, 75, 6, 52,117,
- 37,190,252,117, 93,185, 56,140,236,119, 61,181, 18, 75,165, 49,142,152, 10,139, 95, 57,141,223,205,186, 72,133, 92, 10,172, 43,
-195,126, 71,152, 87,252, 38,250,171,171, 10,215, 72, 90, 98, 12,146,220,103,140,227,242, 32,200, 67,219,116,132, 36,194,190, 98,
- 97, 58, 92,136,230,160,170,176, 42,242,147,239,179,252,123,239,210,148,100, 64,237,200,179, 71,251, 21, 85, 89,178,219,222,157,
- 85,228,221, 53, 94,189,254, 8,183, 94,120,149,179,235, 15,226,154,235, 60,246,153, 79,243, 39,127,246, 40,255,228, 23,255, 25,
-159,127,234, 25, 0,238,190,241, 26,254,199,127,240,119,249,206,247,191,143,235,247,223,135, 50,138,226, 3,235,171, 23,252,204,
-255,250,127,240,191,252,147,159,227,207, 63,238,184,118,198,127,241, 87,126,130, 31,255,161,239,231,129, 55, 62,128,170, 37,224,
-132,148, 73, 62, 16,231,137,103,191,244, 2,175,220,250,154,143,189, 20,161, 59,222,242,166, 7,105,155,154,231,159,248, 34,119,
-222,184, 3,231, 12, 15,189,241, 65, 66, 8,124,232, 15, 63,193,203, 27,239,125, 42,238,100, 45,203,207,131, 4,219,252,229,127,
-247,251,120,255,123,222,133,247,158,203,241,200,231,159,120,138,147,242, 25,224,181,119,221,224,189,239,120, 27,119,221,184,206,
-115, 47,188,200,111,126,240,195,124,242,115,143,113,126,241,231,237,116,112,235,246, 57,207,124,233, 57,222,254,240, 91,216, 15,
- 29, 77,211,146,166,137,215, 53, 45, 28, 39, 62,247, 39,159,228,114, 90,120,251,123,222, 69, 63, 12, 44,235, 74,219, 85,104, 52,
-227,186, 32, 88, 81,129, 36,130, 74, 63, 77,212, 70,198,207, 30,189,167,114,154, 16, 69, 89, 28,131,167,239,100,188,168, 82, 22,
-171, 11, 37, 73,103, 88, 85,142,195, 56,162,129, 98, 45, 37, 5,188, 47, 91, 98, 96, 34,248,136, 15, 17,163, 34,221,208, 98,115,
- 6,148, 12, 28,242,129,147, 21,202, 57,241, 79,135,224,145,184, 86, 77, 91,203, 44,108,109, 44,199,203, 75,208,154,174, 23, 91,
-174,213,150,197,139, 77, 83, 41,233,180,109,101, 24, 71,201, 33,151,238, 79, 67, 22,218,165,169, 27, 98,201,164,144,168,156, 5,
- 83, 40, 74,115,156, 70,132,111,151,125, 93,144,121, 28,186, 8,218,121,226,221,171, 74, 70, 4, 55,109, 69, 78,133,233, 56,109,
-105,137, 5, 31, 18,235, 58,137,103, 61, 4,228,195, 80, 28,143, 19,251,205,135,126,121,126, 1, 25,102,191, 10,221, 87,215,172,
-139, 80,146, 14,209,170, 24,187, 9,167,183, 46, 21, 64, 39, 69,107, 91,150,105, 98,154, 70, 20,226,115,215, 90, 34,172,115, 76,
-152, 74, 19,252,204,236, 35,117, 35, 3,166,198,241, 40, 78,148, 34, 35,185,115,201,244, 85,133, 53, 21,117,237,160, 40,198,105,
-186,202,239,119,206,145, 75, 98,158, 37, 68,172,170,220, 21, 31,174,181, 3, 78, 19,227, 36, 9,206, 56,135, 46,130, 2,105,180,
- 76,164, 92, 3, 57,205, 24, 35,137,109,199,105,197, 25,203,186,174,180,157,101, 9, 1,103, 29, 57,203, 57,102, 53,216, 10,185,
-116,183,142, 94, 27,131,179, 13,147, 95, 72, 65, 70, 21, 31,143, 71, 78, 97,110, 57,139,254,107, 89,102,138, 42,140, 99,160,170,
- 28,117,101, 57, 78, 71, 74,136, 40,197, 21, 29,224,106, 73,244, 52, 86,206, 62, 17,124,107,230,101, 22, 91,107, 86,164, 28,169,
-172, 97,241,137,176,174,236,207,206,174, 32,127,103, 45,118, 93, 36,253, 38, 3,205,208, 50, 29,133,195,204, 81, 20,128, 25, 73,
- 69,194, 85,212, 77,131,247, 11,109,221,110,202,248,196,225,112,201,110,216, 49,244,195,214, 81, 59, 42,163,169, 43,203, 41, 8,
- 38,229, 76, 74, 30, 91,213,164, 20,169,148,145, 3,180, 51,196,148,152,150, 9,191,172,104, 37,234, 73,165, 1, 52,227, 56,177,
-219,248,217,101,155,118, 37, 97, 56, 10,173,183,142, 86,101,153, 1,174, 50,203,180,178, 44, 1,165, 12, 40,152, 22, 17,246, 93,
- 94,142,164, 44, 67, 1,140,211, 50,194,111,241,100,157, 89, 54,107, 73, 51,244, 88,165,208, 89,212,162, 80,182, 74,106, 75,188,
- 75, 69,194, 91,140, 38,249, 32,213, 46, 26,114, 70, 89,135, 42,162,238, 76, 49,160,109,139, 53,110, 67, 2, 16,191,253, 58, 11,
- 47,142,228,123,167, 16,208,117, 77,152,103,162,214, 87,220, 31, 64,201, 34,242, 82, 74,161,149,120,172,141, 54,204,147, 4, 4,
- 41,165,112,206,110,127,182, 60,119, 43, 80,222,186,174,104, 35, 83,156, 98,220, 2, 86,106,153,114,116,242,235, 78, 33,208, 84,
- 50, 6,215,135, 81, 54, 83,222, 38,245,109,213,236,110, 55,136, 5,204, 90,170,170,190,250,247,171,151, 89,229, 10,152,166, 85,
-160,113,165,112,174,161,235, 6,142, 71,225, 69, 97,235, 26, 41,176, 9,251,230, 89,102, 34, 39, 47, 27, 74, 27,136, 62,138,101,
- 17,141, 41, 80, 87,194,225, 94, 92, 94,176,219,157,201, 28,246,173,227,111,154,134,174, 21, 24,106,252,255,216,122,243, 96,203,
-174,235,188,239,183,247, 62,251,140,247,190,215,243, 8, 52, 26,141,110,204, 64,131, 24, 72,144, 0,193, 81, 52, 69, 81,148,168,
-145,182,134, 40,113, 41, 42,185, 34,217, 41, 39,170,164, 28, 87, 69,142,147,114, 85, 98, 59,169, 68,174,114,201,209, 20,107,178,
- 53,144, 18, 41,113, 6, 8, 18, 0, 7, 8, 2, 65, 12,108,128, 64, 99,234, 6,208,221,232,215,239,222,123,230, 61,228,143,117,
-222, 3, 96,250, 84,113, 68,247,125,247,221,123,206, 94,107,125,235, 27, 26,209,126,202,251,104, 25,186,126,155,195,224,198,145,
-193, 57, 34, 50, 69, 68,132,240, 99,173,163, 40,242,237,201, 34,177, 26,180,162, 29, 6,178, 36,135, 12,246, 21, 43,254,235,119,
- 5,174,217, 99,137,151, 34,106,247, 28,130, 3,183, 32, 38, 26,148, 69, 49,194,224,248,198,131,103,217,247, 3, 63,140, 59,183,
-137,214, 5,243, 67,215,113,246,165,151,248,214,183,159,224, 11,247, 63,176, 77, 64, 59,176,119, 15, 63,247, 99, 63,204,137,163,
- 87, 80,150, 37,238,210, 2,101,196, 49,235,137,167,159, 97,209,172,216,191,123,247,118,161, 5,216,179,115, 7, 31,251,208, 7,
-248,145, 15,127,128, 99, 39,142,161,172,232,237,197,114, 86,164, 89, 58,205, 40,203,156, 52, 77,120,243, 85, 55, 45,127,254,217,
- 47,242, 43, 63,255,247, 56,124,244,114,158,120,236, 9,254,252,115, 95,224, 47,191,248, 21,102, 69,206,139,103, 95,221,254,126,
-182,138,120, 84, 64,136,236, 88, 91,227,189,119,189,131,219,110,188,158, 29,235, 59,216,220, 92,242,204,233,211,164,169,229,192,
-222, 61,156,125,237, 28,243, 89,197, 39,126,228,135,248,129,187,239,132, 8,143, 62,249, 52,247,127,253,155, 60,246,212,211, 44,
-235, 55,152,247, 91, 87,154,166,216,196, 80, 20, 5,235,179,138,168, 20,103,206,158,229,209, 39,159,230,171,223,122,152, 51,175,
-158,163,109, 59, 94,122,249,101, 94, 62,123,150,131, 7, 15,114,226,186,107, 56,124,249,229,140,131, 68,226,162, 21, 86,137, 95,
-118,156, 26, 98, 16, 20, 40, 70, 73, 16,140, 62,128, 17, 73,217,170,150,231, 77, 43, 4,102,215,145, 60, 21,185,106,145,229, 19,
-251, 58,144, 38, 25, 16, 88, 53, 43, 20,154, 68, 27,108, 42, 70, 55, 66,230,138, 40,132,100,103,115, 49,142,217, 34,132, 90,107,
- 72,173,248,148,135, 40,132, 97,155, 73, 18, 95, 63, 12, 84,185,236,113,179, 34, 67, 43, 72,130,197, 36,210,136,128,194, 57,105,
- 88,203, 82,200, 88, 38,136, 74,197,121,153,208,209, 18, 56,212, 59, 71, 28, 2, 40, 71, 54,153,215,228,105, 38,182,171,222,177,
- 88,136,173,247,214,119,186,117, 73, 91,189, 53,153, 74, 42, 96,158,151,104, 45, 67,148, 73, 69,117,128,146,231, 46,157,149,248,
- 81,156,251,202,170,218, 62, 95,165, 1,111,145,224, 21, 61,169,131, 90,114,155,139,161, 13,122, 34, 90, 27,162, 66, 26,136,121,
-133,243, 35, 90, 27,178, 16,145,212, 77,177, 78, 70,139,220, 56, 4,249, 89, 49,200, 89, 55,155,205, 38, 63,141, 64, 58,161, 6,
- 32, 8,215,208,119,204,170,146, 40,197,129,197,114, 65, 8,242,251,229,105, 37,107,182, 52,161, 27,122, 50,147,178,182, 38,131,
-160,235,123, 76, 46,225, 54,222,129, 81,242, 93,101, 89, 34, 42,166,152,208,182, 13, 27, 27, 27, 50, 88, 86, 98, 97,189, 92, 46,
-201,210, 68,108,130,179,140,229,106,177, 61,188,110,253,123,140, 32,201,160,130,182, 10, 34, 45,107,187, 85, 93,131,138,178,222,
- 81, 18,129,171,148,160,213, 74, 41,234,122, 37, 18, 58,221,179, 92, 44,169, 74,177,150,110, 27,217,223,183,157, 36,252,205,102,
- 57,227,232,153,175,173,177,149,121,191,121,233, 18,237, 36,209, 83,218,176, 88,174,208, 74, 56, 82, 49, 70,146, 16,133, 53,104,
-210,148,209, 59,230,235,235, 52,181,164, 46,229,169,196, 55,110,214, 53,120,135, 81,138,249,108, 78,223,247,219,153,221,214, 90,
-218,190,167,202, 10, 76, 34, 55,109,211,182,228,105,142, 74,164, 9,204, 18,133, 66, 14,220,205,197, 38, 99,240, 68, 38,242, 73,
- 8,168, 56,201, 91,178,148,174,237,229,129,201,115,252,232,169, 17,104, 43, 77, 38,121,210, 56, 78,187, 17, 79, 64, 88,140, 97,
-236,132, 48, 17, 29,243, 82,220,129,154,166, 65,163, 88, 76,208, 88, 89,148,212,109, 77,215,120, 98, 1,214, 26,182, 28,200,194,
- 48, 80,111, 46,104,181, 24,164, 24,173, 72,178,124,210, 72, 7,180, 30,100,226,115,146, 59,173, 67, 36,120, 97,201,118, 93,199,
-250,108,141,110, 16,246,123,235, 90, 49,218,232, 69,239,104,180, 33,207,196,148,224,210,230, 38, 97,130,219,203, 82,172,121,183,
- 46, 73,143, 50, 88,173,104,251, 17,241,117, 7,148,194, 40,205,250,218, 58, 74, 79,193, 18,185, 76, 36, 62, 4,180, 23, 75,210,
-224,197, 45,206, 90,195, 86,182,186,181,150,174,219, 10, 31, 8, 84,133, 48, 58,213, 52, 17, 43,165,100,218, 54,102,155, 81,239,
-156, 20, 89,173,196,234,114,121,233,210,212,220, 64,150, 21,244,189, 4,238, 40,196,155,158,152, 97,140, 28, 36,117,189, 98,190,
-182,198,170,174,201,178, 76,224,116,132,209,169, 38, 68, 97,181,170,113, 78, 10,109,153, 87,140, 40,108, 98, 89,174,150,116, 81,
- 14,209,188,200,233, 58,199,114,177,160,172, 42, 57,112, 50,113,233,138, 74,160,199, 52, 77,145, 88, 77,152,205,103,184, 65, 28,
-154, 86, 19,188,175,144, 3,206,102,217,118, 7, 27,167, 41,110, 24, 71,186, 81,116,255,193,123,114,171,216, 85,141,124,236,100,
-194,251,142, 21, 36,157, 34,246,129,179, 79,156, 33, 15,103,217,153,143,168, 99, 7,224,208, 62, 65, 32, 22, 11, 22,249,110,102,
-215, 92, 70, 95,119,172, 95,254, 54,230,251,175,225,225, 7, 30,228, 87,254,233,255,194,119,159,125,110,251,123,125,219, 13,215,
-241,203, 63,247,119,121,199, 45, 55,177,107,215, 14,204,196,163, 0,143,178, 9,187,119,237,228,226,197, 13,206, 95,124,163,160,
-231, 89,202,190, 61,187,184,235,246, 91, 57,126,236, 24,218, 36,196,137, 21, 91,111, 46,249,206,119, 79,241,189,231, 95,228,161,
- 71,190,205,103,190,116, 47, 77, 43, 92,135, 60,205,248,196,143,124,132, 95,251,229,191,207,190,195,135,136, 49, 18,250,129,203,
- 14,237,231,151,126,230,167,249,201, 31,250, 59,124,252, 23,255,225,182, 49,205, 86, 65, 7, 4, 86, 5,174,188,252, 48,215, 95,
-117, 37, 71, 47, 59,196,198,230, 38,159,255,234, 67,124,254,254,175,114,118,210,165, 3, 44, 87, 53, 95,250,234,131,236, 90, 91,
-231,248,209, 35, 20,121,198,162,110,196,175,127,122,205, 55, 55, 12,214, 24,110,190,246,106,174, 59,113,156,181,249,140,113, 24,
- 33, 77,217,191,119, 55,207,191,248, 18, 15,127,231,201,237,215,142, 33,112,246,204, 25,234, 75,151,216,124,253, 34, 87, 28,187,
- 18,180,164,193,245,221,128, 81,129,118,232,168,202, 10, 55, 72,200,140, 27, 70,146, 76,178, 3,210,196,226,124, 96, 94, 85,140,
- 78,154, 88,157,200, 52,185,197,184,142, 17,113, 32,116, 35, 33, 6,114,155,137, 9,201,224, 17, 77,187,192,179,110,240,216, 44,
- 17,123,213,224,161, 11,100, 89, 49,173, 30, 60, 67, 55,144,230,162, 83,223,220, 92, 18,163,167, 40, 43,154,118, 41,204,112, 37,
-169, 95, 49, 10, 59,186,170,230, 16, 3,193,139,185,141,209,134, 44, 19,205,184, 82, 26,147, 37, 44,150, 43, 82,107,201, 11,121,
-221,190,149,208,168,188,156,166,211, 0, 19,248, 69,219,182,211, 68,184, 37,143,139,178,115, 69,209,214, 53,179,249, 12,130,168,
- 9,162,243, 52, 93,139, 54, 17,162,146, 51,120, 84,219,106,149,209, 9,159,197,123,143, 86,147,139, 92, 84, 56,239, 41,179,156,
- 52, 17,195, 46,231, 35,122,154,204,157,147, 1, 67, 27,153,126, 19, 35,100, 47,173, 53,195,216, 97, 84, 66, 91, 55,228, 69,137,
-119,146, 99, 46,136,153, 38, 70, 69, 86,164, 2,145,235,200, 86, 12,243, 86, 28,112, 36, 78,228,176, 4, 63,142, 16,197, 8, 44,
-120,113,251,200, 38,137,221, 48,200,185,220, 14, 45,243,100,206,208, 59,188, 26,197, 37, 53, 72, 50,220, 27,247, 86,164, 31,251,
-169,168, 54,132, 0,202, 32, 83,250,106, 69, 63,142, 36,206, 17, 35,100,137, 37, 68,200,172, 33, 68,143, 73,100,125,154, 76,171,
- 28, 65, 1,228, 61, 37, 86,179,213, 74,133, 16, 89, 95, 91,103,244,227, 36,143, 85,132,232,184,116,105, 19,163, 64, 41,195,108,
-109,182,141,164,224,165,193,234, 7, 73,107, 76,179,148,101,211, 78,171, 30, 25,150,138, 92,118,253, 33,136, 17, 90, 98, 19,218,
-118, 96, 54,159, 73,115,138,120,166,172,150,203,137,111, 50, 25,221,163, 69,231, 45,123,141,140,170, 44,209, 74,227, 93, 96,199,
-124, 78,221,214, 20,149,192, 55,117,221,160,181, 20, 1,107, 45, 67,219, 81,229, 5,107,107,179,109, 88, 87, 41, 69, 63, 72,183,
-177,182, 86, 1,134,182, 93,177, 54, 95,131, 8, 18, 77,234,229, 33,155,122,159,182,235, 65, 13,104,109,240,195, 72, 81,202, 3,
-209,247, 98,144,176,213, 17,197, 32,118,172,209, 57,172, 77,137,169,102,115,115, 19,165, 12, 0,202, 24,102,179, 57,132, 40,164,
-153, 40, 55, 97,150,102,211,135,175,216, 92,174,112,125,135, 14, 66,160,211, 89,134, 26, 6, 34,194, 79,235, 59,137, 38,213,137,
- 48,162, 99, 16,147,253, 36,205, 73,109,202, 98,115, 65,235, 70,202,181,117, 48,122,123, 58, 13,132,237, 29, 77, 85,202, 36,233,
-189,103,177, 92, 18,188,167,170,100,103,183, 92, 46, 33,200, 20, 83,228, 18, 87,155,230, 37,109,219,145,151, 37,169, 78, 8,136,
-141,160,210, 66,112, 75, 72,152,205, 10,252, 4,167,165,105,138, 73, 51, 92,211, 96,140,194,251, 64,149,206, 80,106,171, 59,151,
-207,203,251,136,197, 79, 77,128,236,121,242, 9,110,212, 74, 77,138, 6, 43, 55, 96, 8,136, 1,198,140,118, 37,145,185,198,136,
- 20, 72, 60,157, 75,162, 18, 75, 78,165, 20,194, 12, 86,216, 60, 35,207, 83,218,166,193, 40, 89,141,244,110, 36, 75, 68, 59,218,
- 15,194,151, 40,203,140, 36,149,239, 46, 68,208, 90, 96,195,170,170, 88,173, 86,204,183,164, 34,137,232,205, 21,226,157,221,118,
- 29,105, 50, 77,164, 74,227,156, 16,243, 0,154,182, 38,120,249,121, 85,158, 19,213, 27,144,178, 24,131, 72, 56, 13, 94, 14,176,
- 60,149, 88,198,181,194,243,225,183,205,184,235,202,192, 94, 27, 72, 19, 13, 94, 11, 1, 46,135, 67, 55, 31, 36,158,222, 68,101,
- 21, 95,123,240, 5,222,125, 83, 2, 23, 94,230,124,109, 57,187,127, 23, 59,111, 60,201,142, 35, 55,163,109,201,165,151, 94,230,
-244,139, 47,209, 13,111,144,207,126,246,227, 31,227, 31,253,226,207,115,228,138, 35,130,148,116, 61,193, 75,144,199,165, 75,155,
-252,245,125, 95,229,223,254,251, 63,222, 38,185, 89,147,112,229, 21,151,177,123,199, 58,239,185,243, 29,220,118,211,117,160, 32,
- 70, 15, 83,135,159,165,150,203, 14,236,227,197, 51,103,153, 87, 5,235,107,243,237,162,222, 13, 61,159,250,252, 23,249, 7, 63,
-255,119,217,171, 21,190,233, 25,250,142,182,237,216, 92, 46,177,198,242,107,191,252, 95,241, 47,255,237,111,111,155,218,108,195,
-239, 26,110,189,225, 6, 78, 28, 59,202, 16,132,159,177, 99,190,198,109, 55, 94,203,114,185,224,161, 71,190,205,217,215,206,113,
-232,192, 62, 62,252,222,119,243,174,219,222, 70,145,137, 11,227,107, 23,206,139,138, 33,181, 52,173,124,198, 49, 70,210, 36,229,
-138,203, 15,114,248,208, 65,174, 58,114, 25, 63,251,241, 31,230,186,171,174,132,196, 50,180, 45, 46, 4, 46, 59,120,128,103, 95,
- 60,195,198,230, 91,173,112,143, 29, 61,194,251,111, 59,201, 45, 55, 95, 79, 79,194,189,143,124,155,162,200,104, 91,145,186,185,
-209,145,164, 34,165, 20,253,122, 74,219,119, 12, 67, 71,158, 21,212,171, 70, 26, 40,163, 8,193, 35,185,245, 66,202, 26,220, 0,
- 33, 76,254,228, 35, 67,240,104,159,160, 19, 77, 66,138, 66,109,239,113,253, 40,147, 88, 98, 83,198,174,149, 9, 90, 5,210, 52,
- 71, 43, 65, 33,181, 78, 16,154,176,194,106,131,202,115,154, 70,140, 96,180, 22,105,170, 49,226,207, 16,162,167,176,217, 54,209,
-205, 7,113,218, 51,218,208,185,142, 84, 27,250,126,216,222,143,162, 53, 85, 90,160,140,184, 30,162,181, 12, 27,211,119, 87,150,
-229,116, 30, 74,158,197, 48, 14,216, 68,190,151,174,149, 28,243,224, 61,196, 73,149, 18, 34, 90, 5,242, 44,199, 38, 22, 20, 66,
- 32, 28, 28,206, 69,188,135,188,200,208, 65,188,234, 53, 18, 41,236,251, 32,137,135,193,211, 7,143,209,150,182,239,164,121, 87,
-138, 97, 24,233,186,129,196,104,242, 66, 86, 14,218, 6,242,178, 68,169,200,216, 59, 36, 93, 46,161,237, 36,146, 59, 75, 51,172,
-149,116,208, 45,167,188,212, 90, 6, 47,146, 52, 98, 68,169, 72,146,166,178, 82,203, 36, 12,171,105, 26, 33,196, 41,240, 33, 48,
- 34,103,236,170,150, 12,243, 65,137, 58, 34,198, 72,187,229, 8, 56,171, 24, 6, 81, 54, 41,165,152, 77,231, 88,244, 17, 31, 71,
-170,170,164,111, 27,154,213,146,170,170,176,121, 74, 63, 61, 59, 33, 56,202, 98,134,209, 26,163, 39, 4,123,106,162,244, 52,141,
- 15,131,156, 89,222, 75,102, 7, 65, 77,103,106,100,158,207, 89, 46, 87,162, 71,103,100, 99, 99,131, 45, 68, 69, 39,134,194,102,
-244,174, 33,248, 72,219,245,104,101,196,182,220, 40,186,182, 7, 13,209, 69, 33, 39,134,145,182,149,179,119,213,172,152,205, 42,
-178, 52,103,109,109,141,161, 23, 79,141,100, 24, 6,250, 17,108, 98, 89, 95, 95, 67, 96,161,137,100,144, 36,140, 78,232,248,235,
-102, 7, 30, 9, 11, 89, 95, 95, 39, 6, 79,215,119, 56, 39,187,133,205,197,130, 93,187,118,226, 70,113, 39,115,163, 35, 47,114,
-154,186,161,105, 58,242,178,160, 44, 36, 96, 97, 12, 35, 70,137,141,108, 80,138, 44, 75, 73,167,172,218,224, 5,238, 81, 26,122,
- 39,208,204,218,218, 26,193,121, 66,116,116,189,163,109,219,109,201, 86,221, 92,194, 90, 97,146, 26, 99,233,134,201, 17, 77,105,
-209, 31, 54, 13,202, 24,154,229,114,122, 16, 4,154,143, 76, 80,243, 84,128,231, 89,142, 46, 75, 84,140,120, 21,113,131, 19,216,
- 48, 19,239,251,166,105,152,173,173,193,116, 3, 25,155, 18,131,103,232, 58, 98, 8, 56, 37,161, 40, 32,211,134,164,239,200, 3,
- 49,145, 23, 72,171,138,229,164,231,222,154, 98,242,162,192,152, 4,109, 70,140, 77, 88,179,115, 49,231,176, 9,253, 40,196,148,
- 97, 24,177,137, 97,177, 92,178,149, 67,158,101, 25, 90,137,228, 97,203,225,142, 32,140,214,182, 27, 9, 94,180,215,206,137,209,
-140, 82, 82, 64,131, 21, 71, 60,148, 72, 12,149, 49,100,105, 74, 4,129,218,179,108,155,184, 83,148, 37, 93,215, 9, 50,226, 36,
-188, 34,159, 10,127,150, 89,180, 17, 39,185,232, 3,198, 90,136, 22,107,253, 4,251, 91,140,181, 83,252,163,100, 46,231,105, 2,
- 81,200,109,226, 58,101,232,134, 30,227, 29,121,146, 83,149,249,100, 76,146, 96,144, 85,130, 66,246, 89,105, 42, 93,125,240,162,
- 63, 78,141,184, 59,117,125, 15, 90, 51,159,205, 0,217, 77, 45,222, 52,137,206,231,115,182, 60,244, 67,240,212,117,205,254,117,
-197, 63,252, 88,193,237,135, 18,104, 29,216,132, 48, 19,211, 12,125,246,117, 84, 20,127,232, 8,168, 3,107,176,183,226,238, 50,
- 97,252,155,111, 50,220,124,130,229, 45, 31,229,200,145, 59, 72,178, 53, 66,219,176,113,230, 5,238,255,198,195,252,171,127,247,
- 59, 60,255,210,203,172,207,215,248,165,159,249, 9, 62,241,177,143,112,248,208, 65, 8,178, 3,247, 33, 96, 18, 67,154,102, 18,
- 15,220,182, 92,216,144, 96, 29,128,183,157,188,158,187,111,187,149,219,110,186,129,219, 79,222,196,142, 29,235,232, 36, 33, 70,
-197,235,103, 95,229,187,207, 61,207,223,126,231, 9,190,254,183,143,241,218,133,243,188,118,254,117, 94, 57,119,158, 34,207,184,
-236,192, 1,170,178,224,134,171,143,243,194,217, 87, 56,180,127, 31,137,209, 44,151, 43,190,243,221,103,248,203, 47,223,203, 31,
-190,137,129,191,117,109,195,239, 65, 12, 73,246,236, 88,103,215,100,151,123,126, 99,131,115, 23, 46,114,252,216, 81,158,123,241,
-101,206,190,118, 78,138,248,185,115,124,251,137,167,184,231,206,219, 41,210,140,126, 24,217,179,107, 23,246,197,183,202,227, 6,
- 55,240,250,165, 77,110,188,230, 4,239,184,229,102,170,162,224,213,243, 23,240,222,243,220, 11, 47,179,177, 88,114,225,210,165,
-239, 43,232, 0,171,186,161,238, 90,210, 36,229,142,235,175,225,134, 43, 14,243, 71, 95,184,151, 23,235, 26,155,164,248, 24, 8,
- 83,243,135,247, 66, 98, 82,144,102,130, 60,249, 24, 41, 50,209, 81,143,163, 35, 42, 69, 55,118,164, 54,157,224, 92,183, 45,113,
- 42,242,201, 53,210,135,233, 60,144, 9, 54,177, 18,252, 66, 20,196, 49, 73, 82,130,130,121, 53,163,109, 7,208, 26,107, 20, 68,
- 33,142,246,125, 75,132, 73, 45,130, 40, 94,154, 6,143, 39,179, 25,131,243, 16,166, 68, 73,109, 88,181, 53,209,139,212,210, 57,
- 97,229, 71,197,182,193,151,115,114, 38,140,110,100,108, 29, 38,153, 52,227,105, 74, 28, 29,131, 31,105,155, 22,177, 60, 22,148,
- 97, 62, 23, 9, 49, 74,220,225,250, 78,116,233,109,219, 49,140, 30, 8,152, 52,193,187, 72, 61,212,162, 4, 81,154, 60,159,154,
- 25, 55, 50,118, 61,195, 20, 52,130,224, 89, 19, 65, 48, 33, 40, 77, 8,142, 52, 77,208, 58, 39, 4,201,137, 15, 65,220,234,154,
-174, 97,172, 71,148,150, 68, 51, 53, 58,186, 65,158,227, 16, 34, 69,106,197, 94, 53,203, 4,146,111,122,204,116,118, 58, 39,150,
-176, 70, 41,186, 32,171,204,182,235, 81, 8, 71, 70, 98, 88,197, 84, 42, 49,134,196, 36, 68, 21,112, 78, 44,144,157,247,148,147,
- 23, 70,223,117,148,101, 73, 48, 98, 29,188, 88, 44,100, 64,234, 33, 68,133,177, 26, 55,122, 82,107,105,154, 6, 99, 51, 49,110,
-193, 48,246, 98, 72,164,209, 24, 19, 72,116, 66, 63,180, 48,245,235, 70, 41,116, 34, 89, 31,169,149,184, 91,113, 34, 21,245, 77,
- 83, 55, 36,214,110,115,152,148,145, 0, 23, 31, 2,209,123,150, 43,225, 30, 25, 43,121, 8,171,113,196,106,131, 75,196,187,222,
-106,141, 66,203,231, 82,149, 4,231,105, 66,207,198,198, 6, 33,108,217,182,123,113,244,108,196,108, 72, 35,126, 36,193,121, 18,
-148, 38, 53, 9,179, 89,133,214, 9,206, 73, 81, 20, 15,116,137,196, 92,172, 86, 36, 90, 97,243, 84, 82,184,128, 16, 13,106, 24,
-201, 75,203,114,115, 65, 98,180,252,146, 83,183,178,170, 87, 84, 51, 49,178,175,155,134,113, 33,102, 38, 90, 43, 50, 43, 6, 35,
-105, 38,178,183, 50, 43, 9, 62,144, 88,153,180, 87,141, 68, 33,150, 86,180,163, 33, 4, 86, 77, 67,240, 66,172,200,243,156,186,
-110,168,107,145, 56, 5, 28,169,177, 12, 67, 71, 89, 86,210,237,141, 34,221,234,199, 17,191, 92,160, 66, 68,229,185,164,205,197,
- 40, 58,102,164,163, 51, 90, 19,181,162,109,123,102,243, 10, 21, 35,217, 76, 32,104, 31, 61,221,224,133, 79, 48, 58,218,102, 74,
-253, 50,154,217,218, 28,173, 13,232,169, 96,186, 0, 81,254,142,124, 70, 65, 86, 17, 69,129,157,224,242, 44, 77,113, 94,116,210,
-179,217,108,114,213, 91,159,116,238, 30,167, 20,105, 42,144, 31, 46,208,123, 97,148,118,221, 72, 12,162, 51,175,202, 25, 73, 98,
-196,240,192, 9,116,175,149,228, 31, 55, 11, 49,134,233,199, 97,251,230, 43,242, 2,148,236,115,180,214,108,153,173, 36, 73,130,
- 31, 6, 97,199,143, 35,101,158, 79,252,133, 14,101, 52,120,137, 76, 28,221, 72,106, 18, 92,244, 82, 48,149,194, 26, 67, 84,130,
-102,164,105,142,242,129,186, 93,161, 80,184,209, 83,205,228, 96, 41,179,140,196, 90,178, 24, 37, 8, 6, 9,162,137, 49,208, 14,
- 3, 97,116,248,209, 99,202, 4, 9, 93,137,184, 97, 32,207,165,217,201,172,196,159,106, 38,159,236,224,105,251,158, 56, 29, 92,
-214,138,251, 92, 12,145,102, 34, 84,245, 93, 7,209, 19, 39,116, 65,107,141,154, 48,154,163,251,115,254,249, 71, 83,118,184,145,
-225, 43,167,176, 39,142,240,213,251,191, 71,182, 54,231,237,215,238,128, 36, 16,247, 29,128, 42,131,213, 10, 74, 80,175,109,192,
-197,139,240,161,119, 81, 31,254, 41,246,237, 60,129,239, 91,198,229, 38,103,206,156,225,222, 7,191,193,255,246, 27,255,142,215,
- 55, 54, 0,248,169,143,126,152, 95,248,233, 31,103,239,222, 61,160, 52, 97, 24,104,155,150, 52, 75, 49,121,198,169,167, 78,241,
-171,255,211, 63,231,145, 39,191,203,214,149,103, 41,123,118,238,162, 42, 11,230,179, 74, 96, 53, 55,138, 20, 84,107, 46,108, 92,
-228,233,103,159,227,243, 95,253, 26, 79,156,122,118,123,253,181, 99,109,198, 71, 63,248, 1, 62,244,238,119,114,251,205, 55, 98,
- 19, 33, 5,141,206, 97,211,130,205,197,146,197,106,193,193, 61,123,185,231, 29,183,115,234,217,211, 18, 22,195, 27, 83,250,193,
-253,123,185,242,242,203, 57,124, 96, 47, 27,155, 98, 14,117,211, 53, 39,120,219,141,215,113,223,215,191,201, 63,251, 63,255, 13,
-175,158,187, 64,158,165,220,116,245,113,174, 59,113,156,235,174,186,146, 27,175,189,134, 97, 24,121,238, 47, 62,205,215, 30,126,
-100, 27, 49,120,243,107,111, 46,150,188,244,202,171, 60,250,228,119,201,172,165, 42, 11,190,251,236,243,124,243,209,199,120,245,
-220, 5, 30,125,234,141,207,224,205,215, 51,207,191,192,170,107,120,237,194,235, 60,248,173, 71,184,253,150, 27,249, 7, 63,249,
-163,188,240,202,107,252,222, 95,125,137,186,239, 72,211, 28, 99, 4, 9, 66,139, 3,166, 86, 2, 69,230,185,216,253,250, 32,112,
-183,143, 50, 1,141, 46,146, 89,200,114,139, 79,204, 4, 79, 75, 81, 80, 10,148, 55, 66,232,154, 56, 56, 10, 25, 48, 98, 8,116,
-163, 72, 29,163,206,100,143,238, 29,152, 84,156, 23, 85,196, 7,133, 10, 3, 99,239,152,205,102, 8,113, 75, 34, 95, 93,240,216,
- 84, 66,129, 52, 48,120, 81,227,160,129, 16, 36,107, 61, 70, 12, 34,175,236,134, 97, 59,135, 34, 34,110,141, 93,223,209,117, 29,
-229,196, 86, 7,145,170,118,117, 67,146, 89, 18,109,233, 71,177, 72, 53,198, 98,173,164,223,197, 24, 41, 42,105,100,140, 50,212,
-171, 26,148,112, 84,146, 9, 73, 35, 10, 60,173,115, 67, 63,200,254, 90,105,113, 47,211,104,162,138, 12,253, 64,223, 75, 50,229,
- 22,129,108, 24,132, 4, 56,122,143, 49, 18,149,154,100, 9, 34,181, 18,115,158,202, 38,219,159, 5, 81,154,245,113, 20,143,255,
-196,166,146,116,167, 12, 89, 97,201,210,148, 85, 35,231,122, 89,148,180,125,139,209, 50, 92,249, 32, 65, 88,206, 13, 36, 70,200,
-220,226,186, 23,133, 59,164, 51, 98,148,117,101, 90, 20, 36,198, 16, 49,232, 98, 75,174,246, 6,239, 96,181, 18,185,245,168,132,
- 72, 55, 12,194, 19,178,214,226, 9,130, 16,143, 61, 90,137, 37,182, 82,146,218,214,245, 45, 46, 70, 66, 31,136, 33,226,243,145,
-113,244, 36, 73,138, 77, 18, 86, 77,141, 77, 51,116, 98, 88,174, 86, 20,121,134,138, 34, 41, 12, 65, 84, 8,179,201,180,172,204,
- 75, 76,165, 88, 46,107, 82,155,225,250,142,136,228,208,175, 26, 9,111, 25, 71,153,212, 37,157, 78,248, 34,253, 56, 50,159,205,
- 24,135,129,190,239,137,139, 72, 85, 84, 24,147,160, 34, 36, 70,107, 66,148, 67,190,109, 87,100, 89, 78,140, 94, 66, 49,140, 88,
-138,150,165,144,210,162,139,180,174,151, 3, 29, 41, 38,206,187,237,169,111,244, 30, 55,202, 20, 58,142,142,197, 98,193,172, 90,
-155, 22,248, 98, 10,128,182,178, 11, 5,250, 81,194, 67,154,190, 69, 41, 69,234,228,230, 9, 62,176, 88,173,200,115,153,224, 23,
-139, 37, 33, 6,102,107,107,172,150, 75,180,145,136, 79,249, 96, 10,108,158, 10, 33,166,105,197, 2,213,123,202,162,100,243,210,
- 37,188,119, 16, 5,134,103, 28,241,105, 74, 63, 12, 16,195,246, 65,175, 0,180, 34, 47, 10,250,113,156, 80, 10, 77,102,101,207,
-131,150, 46,211, 59, 97, 50, 42, 37,144,110,223, 15,216, 68,114,119,219,174, 33, 79, 11,217, 71, 27,217,237,133, 32, 58,198,182,
-174,233,181,104,205, 37,167, 89, 65,140,172,154,134, 36, 73,168, 87, 43,137, 97,237,196,188, 96,185, 88, 82, 21, 51,250, 73,187,
- 94, 55, 53, 69,150, 11,100, 55, 53, 7, 74,222,186,232,119,251,145,204,202,107,218, 84,110,246, 52,166,216, 68,139,142, 91,201,
- 62,136, 24, 33, 10,225, 47,203, 50,186,213,106, 90,131, 4, 80,138,160, 20,227,216, 49, 70,152, 85,115,156,146,192, 13,239,166,
- 48, 14,196,249, 41,203, 50, 50,155,209,141, 35,120,129,245,227,232,100, 55, 52, 10,239, 96,116,163,144,215,102, 51, 33, 54,105,
- 33,121, 56, 23, 24,227, 0, 74, 51,203,242,237,220,246, 24, 2,163,139, 88,173,233,188,120, 27, 36, 86, 76, 38,202,164,146,195,
- 69,105, 66, 52,172,231, 66,118,243, 65, 38,136,174,149, 7,173,107,155, 9,153,240,200, 42, 38,160,141, 38, 53, 41,253,216,162,
-244, 79,176, 0, 0, 32, 0, 73, 68, 65, 84,179,179,208,252,211, 15, 38,236, 76, 1, 23,177, 55,158, 32,102, 22, 23,224,100,222,
-243,216,159,222,199, 77,191,242,147,168,139, 11,248,222, 69,180, 2,174, 57, 66, 84, 35,241,192, 58,175,141,183, 51,159, 95,137,
-235, 91,198,213,138,167,159,125,142,231, 94,124,153,167,158, 59,205,155,175,255,239,207, 62, 73, 81,164,252,212, 15,125,152,195,
- 7,247, 75, 71, 61,140,164,121,202,231,191,112, 31, 63,255,223,254, 15,178, 79,123,211,181,103,231, 14, 50, 43, 81,191,135,246,
-239, 37,184,145,186,241,104,211,243,244,115,207,243,169, 47,220,199,103,191,252,149,109,227,151,173,235,210, 98,197,191,255,179,
- 79,241, 87,247,126,133,143,188,239,221,124,228,125,239,225,228,245,215,178,115,125,141,113,148, 24,212,245,249, 58,215, 29,191,
-138,215, 47, 93,250,207,186,199, 53, 77,199,157,183,220,200,177, 43,142,112,213, 21,151,179, 54,155,113,230,213,215,248,204,151,
-238,229,185,231, 95,150,201, 15, 56,180,127, 31,107,243, 25,243, 89, 69,154,166,220,255,208, 55,248,230, 99, 79,112,254,194,134,
-220,211,111,186,182, 94,123, 54, 73, 52,119,175,175,115,104,239, 30,158, 59,115,150, 71, 30,127,156,199,159,249, 30, 47,157,121,
-101, 66,213,164, 1,184,236,192, 62, 76, 98,121,225,229, 51, 92,125,236, 40,183,222,116, 3, 69,150,179,111,239, 30,186,126,224,
-255,250,127,127,151, 87,206,157,167,174, 91, 94,222,184,196,209,227, 39,216,177,107, 39, 67, 55, 76,142,143, 74, 86, 81,202,224,
-180,164,173, 25, 18, 92, 20,217,110, 0,136,129,186,109, 73, 19,141,182, 25, 74, 69,186,110, 68, 27, 61, 25,216, 68,148, 73, 48,
-198,224, 6,225,247,152, 68,144, 44,107, 36,225,205,121, 71,153,231, 52,117, 75, 83,215,164,137, 36, 80,134, 24,240, 65, 17,157,
- 99,185,116,160, 35, 70,153, 73,114,148, 19, 70,177,220, 54,105, 78, 18, 3,105, 37,154,107,231,228, 62, 78, 20, 4, 34,153,169,
- 68, 38,235, 70, 50,107,233,219, 1,155, 89, 41,238, 78,164,170, 54,181, 12, 77, 79, 84, 65,254,251, 32,110,111, 73, 16, 56, 90,
-107,129, 98,149, 86,128,144,186,130,143, 96,141, 20,244, 44, 39,207,115,156, 27,233, 59, 41,178, 91, 83, 96,112, 1,114,209,223,
- 11, 47, 6,241,244,176,194,177, 18,205,189, 16, 3,141, 17,228, 83, 5, 69,146, 8, 55,199, 77,168,201,170,150, 66,233,189,200,
-205, 98, 4,162, 52, 19,131, 19,105,110,153,230,164,211,148, 30, 3,232,212,136,231, 68,179,162,107, 91,148,214, 16, 60,125,223,
-225, 71, 71,154,102, 36,153,248,148,136, 97,149, 68,195, 42, 5,222, 13,104,173, 48, 70,194,150,154,182, 21, 53,139,209,244, 83,
-141, 81, 74,214, 88, 91, 86,215,160,240, 62,146,199, 72,239, 58,202,188,148, 1, 45, 70,218, 38,160,173,101,181,146,152,218,162,
- 40,240, 94,210, 41,189, 15, 92,186,180,193,106, 53,162, 20,108,110, 58,242,178, 34,250,200, 24, 70,148,147,208,160,113, 24,201,
-243,148,178, 20,237,126,223,245, 20,179, 2,113, 28,148,245,245,174, 93,187, 8, 33, 98,179,124, 90,177,136,140, 56, 70,136, 72,
- 77, 13,193, 79, 77,150,218, 62,199,211, 52,165, 31,187,109,155,228,173,117, 99, 2,160, 17, 54,122,154,164,116,221, 64,215,246,
-180, 77, 15, 40,178,162,192,185, 64,221, 53, 98,192, 15,219,127, 57,196, 72, 85, 86,146,112,148,166, 92,218,220,132,248, 6, 9,
- 44, 51,194,154, 14, 33,208,246, 29, 99, 55,160,205,136, 77, 83,130,151, 55,185,117, 0, 68,239, 73,114,209, 93, 91,171,183,187,
-142,197,226, 18,198, 36, 66, 50, 65, 44,247, 70, 63,162, 72, 38,114,135, 16, 38,234,149, 4, 56,212, 43, 17,255, 51, 29, 51,121,
- 94,160,180,132,177, 68, 20, 90, 43, 70,165, 41, 43,137, 97, 29,189, 19, 50,138, 22,162, 94,223,117, 24,165,112,131, 35, 75,115,
-196,109, 44, 76,132, 11,217, 79,135,233,166,141,222,163, 39,136, 47, 70,133,143, 65,200, 99,125,196, 7, 33, 2,150,179, 25, 93,
-211, 80,205,231,242,218, 86,162, 14, 77,162,153, 21, 21, 1,113,200, 11,193,139, 97, 78, 93, 83,148, 37, 62, 78,182,139,125, 79,
- 81,228,242, 29,133, 73, 73, 48, 12,140, 81, 30, 84,177,133, 28,241,209, 97,180,198,121,133, 27,131,176,163,109, 66,101,170,109,
-153,154, 49,102,123,130,209, 90,163,146, 4, 59, 21,198, 16,133,179, 80,149, 18,137,185,170,151,211, 78, 72, 11,194,162,196,199,
-217,121,135, 54,154, 48,120,130, 31,209, 36,216, 52,161,235, 6,138, 52,195, 55, 11,148, 18,159, 98,165,100,197, 50, 14, 3, 69,
- 81, 96,179, 12,155, 9, 19,221, 59,135,177, 9, 6,129,219,125, 16,184, 49,155, 86, 24,203,122,197,218,108,141,213,106, 1, 74,
- 34,102,109,162,169, 42, 97,120,138,239,177,162,235,123, 92,140,216,196, 48, 40, 67,154, 74,104, 70,211,118,114, 24,135, 64,208,
-158, 61,187,119,240,171,239,142, 28,216, 99,137, 78,193, 60,131,186, 7, 63,242,190,227, 59, 97,111,202,201, 67,119, 19,154, 37,
-177, 94,161, 14,237, 34,204, 43, 84, 61, 64, 2,231,195,173,148,215,220, 67, 24, 58, 46,189,126,129,199, 79,125,143,135, 31,123,
-156,207,222,247, 53, 78,191,116,134,139, 83, 62,253, 63,251,199,191,202,223,255,196,143,147, 22, 57,205,106,197, 98, 85,211,118,
- 61,198,104,158, 56,245, 12,255,243,191,254,127,222, 82,208,147, 36,225,238, 59,110,229,163, 31,124, 47,215, 28,187,146,253,123,
-119,115,217,129,253, 92, 90,174,240, 78,188,164,191,252,213, 7,249,211,207,124,118,123,194,126,243,165,181,230,182,155,111,224,
-253,119,190,157,107, 78, 92,197,190,221, 59, 40,115,241, 7,223,184,180,160,233, 59,246,238,222,201,163, 79, 62,201,127,248,244,
-231,100, 79,251,166,203, 24,195, 21,135, 15,114,242,250,235,184,241,218,171, 81, 90,108,147, 47,110, 46,248,220,125, 15,240,224,
- 35,143,110, 79,224,207,189,248, 50, 59,230, 51,142, 94,118,152,126, 16,167,178, 79,126,246, 75,219, 8,197,155,175,143,188,255,
- 30, 70, 55,242,195,239,127, 31, 31,122,239,221,196, 24,121,237,194,235, 12,206,209,118, 61,171,229,138,173,228,178,173, 6, 96,
- 99, 89,243, 95,252,196,143,114,252,200, 97,126,246,167,126, 12,187,107,157,208, 15, 60,244,213,135,248, 55,191,251, 71,124,249,
-193,175,211,117,111,160, 1,207,159,126,129,119,220,245, 46,246,236,221, 11, 42, 18, 3, 84,213,140,182,111,133,199, 81, 15, 34,
-107, 29, 53, 32,147, 98,102, 37, 35, 65, 56, 39,146,139,158,199,184, 13,133,250,137,188,107,109,194,232, 2,209,131, 87, 35,125,
-235,100, 90, 74, 60,190,135, 96, 61, 81, 33,231, 8, 96,177, 12,163,124, 38,253,208, 67, 80, 68, 21, 40,243,146,113, 24,104, 90,
-177,153, 70, 1,221, 64, 84,145,182,111,240, 78,214,148, 33,232,137,112, 53,173,167,250,142,170,154, 77,242, 40, 79, 55,229,164,
-131, 60, 83, 89, 38,220,145, 16,196,243, 59, 85, 57, 74, 73, 12,173, 86,138, 64,144, 51,177,154, 49, 12,195,246, 10,205,141,146,
-105,158, 36,102,250,223, 34,175, 77,172,193, 15,158, 36,213, 56, 39, 60, 21, 61, 53, 91,121,145,147,165, 18, 97, 42,133, 80, 19,
-131, 39, 75, 18,146, 52,165,174, 87,108,217,203,110, 5, 32,101,169, 37, 24, 79,145,229,140,163,162, 31, 28,102,154,126,155, 70,
-234,136,181,150,213,230,146, 36, 23, 35,174,186, 94, 97,204, 58, 74, 41, 18, 99, 73,178, 4, 23, 2,222, 13, 4, 47,220,167,118,
-232,241, 78, 24,233,214, 90,172, 49,140,170,167,235,122, 76,154, 51, 14, 29, 42, 66,150,102, 68, 45,164,103,105, 26,145,213,106,
-144,239, 45, 4,143, 26, 38,149, 80, 12,104,165, 73,140,197,199, 64,116,146,185,145,166,150, 16, 53,222, 15,219,247,169,214,134,
-168,212,118,131,128,146,194,236,198,145,174,233,201,203, 2,173, 97,181, 88,145,165, 34,101, 27,134,145, 44,203,183, 13,100, 36,
-239,190, 64,195,212,100,104, 98, 20, 95,151,217,218, 28, 34,130, 92,167,194, 59,136,200,189,234,189, 52, 55,195,116, 63, 69, 31,
- 40, 11,241,138, 17,181, 19, 68,162, 16,229,178,105,135,186,185,185,137,243, 30,155, 36, 40, 20,163,159,210,211, 66, 0, 47, 25,
-211, 94, 9, 81, 96,139, 16, 87,183, 13,213,108,134,142, 2,231,142,195,192,106,181,162,168, 10,188, 19,152,121,185, 88,226,189,
- 71, 91, 75, 61,237, 59,181, 54,228, 69, 9, 42,138,206, 82,107,186,174,197, 7, 49,104, 88, 46,151,164,105,138, 82,226, 67,223,
-247, 45, 46, 76,133, 52, 73,200,172, 98,109, 62, 19,131,148,168, 73,243, 66,118, 46, 86,164, 63,221, 48, 96,179,148,224, 38,131,
- 3,197,196, 60,118, 68,101,100, 71,100, 36, 49, 41, 91,179,210,169,163,222, 8,109,137,226,114,102,109,130, 53, 6,212,214, 94,
- 54, 48,184, 65,200, 56,117, 45, 55, 11,128, 6,231, 70, 84,148,189,105,102, 50,234,149,252,222, 73,146,160, 99,100, 84,138,177,
-235, 48,137,193,119, 14,147,164, 40, 36, 89, 45, 42, 97,102, 2, 24,157,208,117,141, 72,182,180, 97,236,123,186,224, 81, 17, 97,
-154, 42,145,135,204,230, 51, 80,144,100, 9, 6,133,115, 72, 3, 19,132, 93,155, 37, 41,206,191,225, 23,159,167, 98, 76, 49, 14,
- 34,119, 75,140, 17,153, 30, 16,149,184, 93,245, 65, 2, 91,178,162,192, 40,205, 48,140, 4, 13, 70,137, 3,160,154,110, 46, 9,
-192, 16,203,218,102,213,144,164, 66, 68,202,242, 92, 8, 53, 74,161, 16, 25, 91,136,242,159,235,235, 59,216,146,182,152, 68, 2,
- 29,136, 34,123,220, 50,116,216,250,151,181,118,138,115, 12,211, 1, 52, 18,131, 6,213,138, 70, 59,136,159,119,145, 23, 20,121,
- 78,215,117,147, 60, 70,214, 30, 54, 53,148,213,156, 68, 5,110, 63, 98,248,161,107,225,234,157,138,231,238, 59,205,133,198,113,
-199,221, 7,192,164, 40,147,162,110, 61, 10, 27, 43,168, 2,100, 22,110, 58, 1, 39,110, 65,189,254, 42, 60,250,183,108,164,135,
- 73,174,253, 16, 42,140,156, 57,251, 10, 15,124,235,111,248,204,151,191,194, 35,143, 63,201,185, 11, 23,121,179,118,123,112,142,
- 87,207, 95,192,104,197, 56,122, 49,208,153,205,209, 74,137, 91, 92,220,254,163, 40,165,184,242,178,195,252,189,143,125,132, 15,
-189,247,110,170,157, 59,229, 31, 56,199, 14,173, 57,115,246, 21,126,255,147,159,225, 15, 62,249,233,255,108, 65,223,146,202,221,
-118,242, 38,174, 62,118,148,121, 89,110,147,142,234, 11,173,168, 82,138,130, 11, 27,151,248,230,223, 62,254,125, 5, 29,224, 93,
-183,221,194,207,125,252, 71, 72,146,132,141,205, 77,246,237,222,197,108,231, 26,135,246,239, 99, 54,155,209,180, 29, 59,214,214,
-248,192,187,223,201, 45,215, 95,203,129,221,187, 56,126,236, 40, 90,105,254,230,241, 39,120,247, 29,111,227,179,247, 63,248,150,
- 98, 11,224,125,228,151,127,238,103,120,251,201, 27,233,251,158, 87,206,159,103, 85, 55,236,223,189,147, 99, 71,142,112,239,131,
-223,248,190,247, 82,215, 53, 15, 63,246, 29,110,186,230, 56,167,190,251, 12,139,122,197,151, 31,250, 38,143, 62,254, 36, 95,127,
-228,177,239,251, 25, 77, 93,243,149, 47,126,137,189,251,247,115,237, 13, 55, 50,159,149, 2,243, 34,207,111,106, 45,222,129,199,
- 83,229, 21, 17, 80, 42, 16, 81, 12,189, 35,248, 17,231,229, 48, 29, 27,207,232,166, 4,176, 65, 97, 74, 35, 8, 88,150,145,101,
- 25,163, 26,166, 1,201,147,217,132, 49, 8,251,123,235, 11, 29,250,158, 34,151, 51,207,106, 75, 51, 54,219,164, 96,147, 36,204,
- 83, 57, 15, 70,239, 33, 5,239, 37,105,171,168, 74, 57,107,199,129,174,119,108, 53, 28, 10, 88, 45, 22, 24,107,176,105, 70,136,
- 14, 29,228,108,176,169,144,147,211, 60, 99,232,122, 72, 13, 89,150,203,185,215, 53, 24,157,144,166,169,232,210, 3,216,212,226,
-156, 36,134,201, 74, 85, 10,210, 48,202,158, 94, 41,133,138,138, 34, 45, 8, 65,152,229, 62, 72,180,170, 49, 18,191, 90,228, 5,
- 38, 49, 24, 99,104,187,158,162,216,146,238,137, 91,159,210,138,166,235, 36, 42,122,112,144, 42,116, 20,200,218, 38, 41, 70, 79,
-170, 15, 45, 97, 76, 74, 49, 77,210,150,190,235, 24, 0,173, 96,115,113, 9, 21,167, 1, 98, 66,114,181, 78, 49,211,249,208, 13,
-157,152, 77,141, 35, 73,244, 24, 85,160, 77, 66, 89,106,130, 86,100,217, 12, 63, 6,154,174, 17, 40, 61, 70,148,244, 66,162, 0,
-170,132, 48,231,229,163,166, 31, 68,137,179,182, 86, 76, 67, 66,135,119, 17,166,115, 60,170, 64, 53,159,211,214, 53,109,223, 18,
-163, 98,108, 71, 84, 64,172,191,173, 97,232, 59,156, 19, 89,117,162, 36, 91,164,154, 87,168, 40,245, 99,185, 92,138, 26, 75,107,
-188,143,148,101, 62, 33,172, 61, 67,215, 76,205,132, 71,147,224, 38,178, 91, 8, 14,227, 83,138, 44,165, 29, 58,202,172, 4,131,
-160, 40, 72, 51, 30,180, 18,162,102,162, 41,179,153, 52,121,222,147, 40,173, 39, 89, 64,191,125,222,184, 32, 29, 28, 65,200, 94,
- 40,136, 90,228, 94,179,249,124,178, 33,180,104, 12,171,122, 69,219, 52,168, 24, 37,224, 36, 70,172, 77, 89,213, 43,148, 82,172,
- 88, 77,176,133,103,115, 99, 3, 61,117, 92, 1,241, 29, 54,214,178, 88,173,196,186,208,131, 82,145,166,110,136, 17,186, 78,228,
- 7,195, 56, 82, 86, 21,102,112, 56, 37,236,207,214, 59,108,154,145,104, 67, 98,133,193,159,103,115,113, 92, 11,210,128, 12,163,
-184, 89, 85, 85, 33, 15,121, 42,238,101,198, 36,226,184, 54,142, 19, 1, 68,211,212, 13, 89,153, 75,231,132,144,108,130,115, 36,
- 70,211,141, 35,125,219,137, 46, 48,202, 68, 63, 14,131, 40, 4,140,248, 53, 27, 91,138, 27, 89, 89, 10, 83,219, 40,108,102, 33,
- 10, 51,213,135, 64,162, 53, 73, 38,157, 23, 65, 65, 12,194,164, 12, 1,180,102, 28,182,172, 85,133,113,110,140, 65, 25,141, 78,
- 13,201, 56, 98, 18,189,125,227,225, 61,117, 83,139,199,128,147,164, 37,141, 33,205, 45, 94, 43,178,172, 64, 37,154, 36, 38,172,
-205,214,100, 55,101,237, 54,241,109,181, 20, 67,154,170,146, 36, 32,173, 20,213,124, 13,239,133, 89,155, 24, 67,211, 54, 68, 47,
- 12,250, 44,203,104, 86,205, 54,212,166,244, 68,144,137,114, 40,104, 20, 38, 81,248, 65,208,132,126,232,100,103,103, 19, 76,146,
-160,163,154,246, 99,178, 83, 28,251, 17,155, 6, 64,216,201, 73,146, 80,216,148,190, 19, 34,102, 8,129,232, 35,104,141, 27, 58,
-178, 44,103,203, 86, 51,106,228,128,136,224,252, 64, 28,226,246,247, 60,142,129,162,200,216, 89,194,173, 87, 40,222,123, 69,228,
-248,186,134, 23, 47, 18, 67,197, 23,159,187,192, 7,143,238,128,193, 67, 15, 28, 72,136,205,130,184,163,130,197,128,182, 21,241,
-216, 49,168,222, 5,195,125,212,175,143, 52,215,191, 19, 58, 49,170, 88,213, 43, 78,191,248, 18,175,188,118,254,251, 10, 58,192,
-233,151, 94,228,197, 51,146,147,158, 24, 61, 5,134, 4, 30,252,219,111,243,232, 83, 79,179,177, 88,110,255,217, 24, 35,207, 60,
-255, 2,191,250,235,255,130, 95, 60,245,227,252,194, 79,254, 24, 87, 92,115, 21, 42, 79,161, 27,248,189, 63,251, 11,254,239,223,
-254,253,239,251, 25, 59,215,215,185,230,170, 43,120,219,245,215,241, 3,247,220,197, 85, 87, 92,206,170,105, 56,127,241, 34, 49,
-110, 53, 82,176, 62,171,120,245,252, 5, 62,249,249,123,121,226,233,103,248, 79,175,131,251,247,114,248,192, 62,180,209, 92,117,
-228, 48,218, 36,244,195,200,171,231, 47,240, 23,159,255, 50,247, 61,244, 77, 0, 46, 45, 22,188,126,113,131,187,111,191,149, 35,
-135, 15,209,212, 43,206, 93,188, 68, 98,196,201,239,205,197,118,255,238,221,220,126,242, 70,238,186,227, 54,134,190,227,213, 11,
- 23,208, 74,241,232, 83, 79,243,215, 95,250,138, 56,208, 53, 29, 91,249,240, 32,106,132,196, 26, 82,155,210, 52, 13,175,158,191,
-192, 45, 55, 92, 79, 17, 10,174,186,252, 48, 23, 46,110,176,243,217,211,219,113,181,111,190, 98, 0,156,227,244, 83, 79,176,239,
-208, 65, 14, 94,118, 57, 1, 73,124,180,214, 18,141,196,167, 14,163, 68,138, 46, 23, 98, 59,189,190,190,134,214,211,122, 13,205,
- 48,244,148,182, 96, 12,178,119, 30,199, 97, 66,231,132,107, 83, 20, 25, 34, 69,147,198,205, 59, 71, 36, 50, 12, 3, 76, 16,117,
- 55, 14, 20, 69, 38,228, 92, 45,141,116,219,181, 24, 35,132, 86,107, 51, 72, 4,169,116,181, 76,171, 18, 29,171,153, 85, 51,201,
-122,119,142,170, 90, 19, 88, 63,207,241,147,174,187, 48, 21,221,196,218,239, 58, 73,251,114,206,225, 99,192,119,158,177, 31,201,
-139, 2, 63, 6, 70,213,177,149,106,167,128,196, 36,210,240,198, 64,158, 23,116, 77, 79, 32, 80, 86,179,137, 73, 47,207,161, 15,
-142, 68, 25,218,126,196, 88,131, 49, 9, 38, 81, 36, 38,135, 32, 81,216,137,150,136,104,215, 59,154,161,198,102, 41,206, 9, 20,
-156,217,140, 97,232,133,228,219,119, 88, 35,106,152, 22, 40,242,124, 82, 4, 85,248,232,105, 86, 13,121,150,203,121, 96, 18,220,
- 48,144,164, 26,157, 72,118,188, 15, 30,157, 88, 6, 55,162,241,144, 24,186,166, 17, 94, 77,140,232, 40,113,206,110,112,160,149,
-112,146, 92,196, 88,197,216,203,112, 52, 12,210,176, 9,111, 64, 56, 65, 91, 4,232,104,163, 12, 38,105, 70,106, 53,117, 45,156,
- 23,162,162, 42,178,237,251,107,244, 30,163, 4,142,239,218, 94,248, 5, 58, 82,229, 5, 62, 10,210, 19,198,128, 41, 68,206,189,
- 21,248, 51,116, 18, 53,190, 92,173,240,222, 79, 69, 93, 6,212,128, 20,103, 63,250,109,142,147, 36, 86, 66,221,172, 40,210,156,
-110,136,140,227, 64, 32, 98,141,165,157,226,148,163, 17, 31,149,209, 9,236, 47, 4,101, 57,255,250,161,195, 38, 41, 73,146, 24,
- 97,117, 6, 75,129, 72,165,108,150,210, 13, 3,110, 24, 9, 17,102, 85,201, 24, 61, 54, 17,184, 35,100,153, 24,153, 36, 2,231,
-202, 15,241,140,125, 43,161, 34, 49,160, 91,209,134,230,121, 46,230, 50,109, 15,104,162, 6,157,166,204,103,179,237, 29,129, 82,
-106,218,155, 71,105, 14, 42, 49,227,151,206,110,130, 60,162, 68,156,166, 19,100,239,198,145, 56, 73,226,134,161,163, 89, 57,214,
-119,238, 32, 73, 19, 76,148,157,247, 56, 74, 14,176,247, 65,218, 64,196,183,190,233, 58,234,229, 82, 30,166,181,117,204,212, 29,
-175,222,116,224,202, 7, 5, 76,208, 7, 40,209, 62,122,207,232, 5,122, 26,198,145,161, 22, 66,195,150, 79,239, 56,136,177, 75,
-240, 94,246,234,206,177,113,233, 18,120,209, 87, 42, 37, 41,104,202, 88,134,190, 23, 13, 38,138,170,170,152,205, 36,131, 87, 27,
- 9,146, 33, 70,130,243,180,109,131,205, 44,122, 84, 4, 29,167, 61,141,236,227,194,116, 99,216,212, 18, 92, 68,161, 73, 83, 97,
-204,214, 77, 13,136, 1, 71,158,101,116,131,248, 55, 39,209, 10,240,224,133, 51,145,164, 57,214, 40, 6, 55, 82,149, 5, 91,154,
-245,181,217,124,106,140,192, 79, 63, 51,248, 72,106, 69, 27, 9, 2, 31,105,173,137, 1,198,177,199,104, 33, 30,106,157, 64,212,
- 36,211, 42, 95, 52,168, 2,163, 71,165, 72,115, 97,179,107, 45, 44, 79, 99, 4, 74,207,210, 20,239, 2,193,123, 76,106, 48,163,
- 66,231,162, 57,141, 65, 62,191, 36, 73, 73, 38, 18,165, 76,251,136,189, 46, 0, 35,239, 57,238,248,196, 73,205,218,116,176, 2,
-196, 35,187,137, 23, 58,238,140, 43,234,111,159,129, 91,126,136,254,213, 87,201, 30,123, 5,245,129, 91,224,229,134,223,250,244,
-223,240, 95,126,248, 70,212,237,239,131,252,106,130,254, 26,143,247, 7,201,252, 58,230,226, 69,124,244,156, 59,127,145,190, 31,
-233,122, 49, 69,217,170,183,239,186,237, 86,254,201,175,254, 18,135, 15,236, 37,203, 50,114,155,146, 36, 9,139, 85,205, 31,124,
-242, 47,249,141,223,253,195,109,125,248,214,117,226,232, 21,252,250, 63,254, 21,222,127,207, 93, 40, 99, 72,119,205,113,155, 43,
-254,236, 79,255,130,223,252,131,255,248,125,137,107, 32,133,250,199,126,240,131,188,231,206, 59,184,225,196, 85, 84,179, 10,107,
- 83, 50,235,137,197,164,225,159,207,217,189,115,167,196,170,182, 47,179,107,199, 58, 87, 29,185,156,197,178,166,155,248, 44,239,
-191,235, 78,126,249,103,127,122,154, 30, 60, 23, 54, 22,236,219,179,139, 60,207, 56,255,220, 6,191,255,169,191,164,109,197,227,
-224,150,107,175,230,232,229,151,243,236,139, 47,177, 54, 43,121,253,210, 38,191,247,167,127,193,106,181,226,133,151, 95,217,126,
-111,105, 98,185,252,208, 65,174,184,236, 16,251,247,238,102,231,142,117, 54, 55,151,104,163,185,241,234,227, 60,240,173, 71, 68,
-118,245,166,130, 14,144,231, 25,183,220,112, 45,119,156,188,137, 35,135, 14,112,253,213,199,217,179,115, 7, 79,158, 58,199,203,
-175, 93, 96,185,170,217,179,103, 23,175,111, 44,104,251,110, 27,201,113,227, 64,136,129,245,121,197,149,151, 29, 6, 96, 22, 61,
-235,251,247,177,177,108, 24,130,195, 24, 69,136,226,138, 40,112,181,124, 97,117,221,146, 36,154,162, 40, 88, 53, 91, 41,142,129,
-126,209, 80,205, 74, 18, 45, 43, 39,101,132, 44,230,156,132,153, 36,137, 24, 95,137, 62, 28, 8,162,131, 31,251, 17,180,228, 7,
- 12,106,160, 44,132,111,148, 36, 6,107, 83,154,186,193,121,199,108, 62,163,105,228,121, 54, 86,172,129,199, 97, 20, 85,132, 73,
-137,104,180,134,249, 20, 94, 53, 4, 24,134,158,152, 40,172,209, 83, 60,172,192,199, 98, 41, 43,252, 37, 55, 74,162,156, 72,148,
- 45,131, 23,184, 59,203,172, 76,208,137, 36,173,141,195, 40,150,176, 54,161,107, 86,160,228,231,105,165,136, 74, 38,228,153,181,
-210,204,219, 12,173, 5, 85,112,110, 36,198, 64, 84, 17, 20,162,179,159, 8,170,195, 40,129, 51, 73,146,226,147,137,185,173, 21,
- 24,200, 10,217,219, 15,206,145, 40,133, 10,158,190, 21, 15, 15, 89,115, 88, 50, 35,236,251,186, 89,225,218,158,170, 20, 37,139,
- 82, 16,130, 33, 0,125, 87,147,104, 9,248,146,149, 64, 65, 89, 8, 4, 63,142, 35,125,219, 18, 77,130,107,197,187, 32,205,100,
-253, 85,150, 5,105,154, 78,188, 6,177, 84,109, 86, 29,214, 24,124,124, 35, 53, 14,134,109,149, 86, 80,138,182,107, 80, 74, 6,
- 43,180, 18, 57,119,144, 70,220, 5,199, 56, 33,176, 46, 68,148,213,228, 86,228,183, 91, 19,185, 40,142, 20,137, 78,136, 90, 56,
- 93, 38,138,116, 55, 75, 37, 43,197,227, 25,187,145, 52,155, 82,240,122,201, 59,136,217, 27,181, 10,165, 38,207, 18, 77,116, 3,
-214, 36,104, 27,165,153, 26, 6, 86,171,102, 26, 2, 91,192,224,180, 39, 25,134,145, 68, 75, 54,178, 78,160,156, 85,244,227, 72,
- 85, 84,196, 66,118,175, 81, 69,114, 37, 38,252, 81, 41,186,213, 74,216,144,195, 64, 98,132,177, 62,244, 3, 90, 69, 10, 5, 99,
- 55,178,182,190, 70, 12, 81,172, 23,251,145,180,200,176,147, 89, 64, 86,136,236,164,235, 26, 36,141, 45,199,251, 48,237, 15, 64,
-107,197,232,160,237, 26,138,162,148,215, 24,199, 73, 19,170,201, 50, 75,223,137,197,104, 68, 62,104,165,212,182,137,127, 83, 75,
- 96,202,250,218, 26, 33,200,123,214, 74, 60,153,197,221,206, 51,175,102, 44,235, 37, 93, 87,163,179, 82,244,232, 89, 1, 81, 94,
- 47,132,128, 10, 16, 8, 4,132,237,173,147, 4,173, 13,193,137,148,102, 43,203, 23, 60, 38,106,180, 14, 16, 2,117,221,189, 17,
- 95, 56,189,214,150, 20, 13,245,134,161,255,108, 54, 35, 26,205,170,110,104,218, 22,154,192,250,250,218,180,122,200,112,110, 16,
-173, 41, 80,162,192, 42, 54, 47, 45,137, 94,164, 49, 93, 63,125, 6,178, 50, 68, 43, 77,215,104,146, 92,140,131,130, 19,233, 25,
- 90, 86, 38,242,251, 69,162, 86,148,229,140,209,121, 18, 3,109, 63,210,249, 64, 57, 19,249, 68, 64, 80,154, 24, 65, 35,240,248,
-150, 50, 65, 39,106,187,243,116,110,164, 44, 42, 65, 4, 18,129,186,220,232,136,109, 71,154,231,184, 97,160,237,167,184,211,169,
-121,211,128, 54, 66,180, 52,198,192,116,243, 55,173, 39, 34, 48,230,214,159,205, 40, 72,147,132,166, 21, 51, 36,109,160,173, 91,
-124, 28,137,104,138, 76, 12, 58,234,186,102, 28, 13,101,105,249,111,222, 11,239,185, 42, 39,246, 14, 60, 68, 20,113,213,203, 72,
-103, 29, 55,189,239, 38, 56,176,142,202, 50,242, 99, 59,225,224, 58,241,146,226,119, 62,255, 24,165, 11,180,203, 72,153, 95,139,
- 82,138,151, 31, 56,199,249,236,114, 14,244, 13,139,102,197,170,110, 56,117,250, 52, 15, 63,241,228, 91,194, 74,230, 85,197, 59,
-111, 59, 41, 12,246, 93,187,200,103,226,198,215,213, 43,158,250,222,115, 60,253,220,243,223, 87,208, 65, 24,222,191,249,135,255,
-145,235,142, 95,201,225,163, 71,120,236,129,135,249,194,215, 30,226,143, 63,245,153,183, 16,218,182,174, 93, 59,118,112,211,213,
- 87,241, 11, 63,241,163, 92,125,226, 56,186,204,209, 74, 80,139,114,199, 58, 97, 24,136,163,103,244,142, 52, 23,167,181,203,246,
-237,227, 59,246, 25, 94,187,248,250,118, 65, 7, 56,251,234, 57,190,251,189,239,241,238,119,188, 3,165, 20, 85, 89,144,165,150,
-199, 79, 61,195,111,253,241,159,176,229, 61,127,237, 85,199,184,231,157,111,231,238,119,220,206, 21,135, 14,146,103, 57,235,179,
-192,129, 61,187,248,253,175, 61,196, 43,231,206,111,191,230,201, 27,174,229,231, 62,254,195,124,224,238,119, 50,155,149, 60,115,
-250, 5, 94,223,216,224,175,190,252, 85,254,224, 83,127, 73,136,188,133, 79,176,253,123,237, 92,227, 29,183,156,228,206, 91,111,
-230,232,101,135,240, 49,242,192,195,127,195,103,191,242, 32,247, 61,248,245,109, 77, 61,136,236,110,247,174,157,220,126,211,141,
- 28, 59,114, 25,218,104, 94,125,237, 60, 69,145, 51,122,199, 15,190,231, 30,110,189,254, 90,254,248,203,247,243,212,139,103, 16,
- 75,207, 32,235,161, 65,200, 68,243,249,156,182,239, 81, 74,211, 15, 3,206,137,212,209, 88,105, 0,183, 52,211,128, 84,150, 56,
-153,186, 40,241,132,119,193, 77,168, 70, 75, 85,206, 8, 49, 50, 70, 79,105, 51,186,190,163,168, 10,182,178,223,131, 19, 79,138,
-178, 44, 73,149, 20,193,196, 38,184,193,209,245, 61,105,106, 49, 70,144,129,206,105,170, 60,103,203, 62, 57, 77,197,132,197,230,
-201,180, 51, 13,132,216,163,117,130,209,162, 13,215,200, 68, 87,149,213,148,247, 16, 25,189, 20,249, 44,149,130,149, 24, 77,144,
-195,140,174,235,152,205,103,104,165, 24,220,192,216, 13,168, 52,193,227,209, 81, 79,201,156,154, 16, 16, 53, 65, 34, 70, 85, 32,
-207,184, 40,101, 6,210, 68,246,224,195, 32,153,228,214, 90, 86,203, 26,157, 40, 34, 17,147,165,212,203, 5, 85, 85,226,163, 52,
-250,126, 28,233,155,150,114, 94, 98,180,236,158,251, 94,114, 12,138, 60, 3,244,228, 96, 55,202,180,235, 28, 49, 74,250, 94, 81,
- 86, 56, 31, 80,131,200,190,250, 86,194,120,146, 36,153, 8,127,134,166,110,241, 17, 98,244,168, 32,105,146,202, 24,156,119,114,
-142, 59,145,218,106,157,208,181, 43, 36, 6, 88,152,252,101, 85,177,106,154,109,235,221, 60,203,200,211, 12, 31, 37,158,117, 28,
- 71, 89, 59, 79,239, 9, 0,173, 33,200, 0, 18,163,129, 32,209,208, 89,150,109, 75,194,109,158,145, 69, 75,154,101,212,245,138,
-174,235,241,163,163,156,149,194,191,232,196, 64,171,239, 26,252,212, 52, 72, 10,155,103, 43,175,126,152, 56, 20, 77,223, 79, 63,
- 75,144, 21, 77, 16, 83, 28,173,177,137, 65, 41, 67,221,180, 36, 74, 43,150,109,139, 36,164, 73,238,107,130,172,144,167, 89, 12,
-162,162,235,133, 17,174,148,176, 31,189,247,114,211,132,176, 77, 82, 11, 83,118,177,143,158,208,138,211,143, 11,146, 34, 22, 66,
-164,235,167,157, 21,145,126,148, 96, 22,107,217,214,156,103,214,226, 93,164,239,197,245, 43,203,114,124,152,124,216,227,228, 48,
-100, 45, 90, 69,202, 60, 39,232,137,191, 30,193,187,145,193,141, 52, 27, 13,243,106, 46,187,254,178, 98, 28,196,212,223, 90,131,
-158, 9,196,225,125, 96,177,216,100, 86,205, 88,213, 2,143, 84, 69,129, 27,188,228,193,107, 3, 72,104,138, 49, 86,246, 28,198,
- 16,186,158, 44,149,196,165,229, 98, 33,240,139, 77,168,235,233, 16,136,145, 48, 21,250, 24, 69,110, 82,166, 34,217, 48,102,202,
-168, 15,194,190,213, 74, 49, 58,201,176,215, 90, 51, 14, 3, 54,145,230, 42,132,192,114, 41,153,204, 76, 13, 75, 93, 75,108,223,
-244, 99,196,168,135, 72,136,128, 23, 36, 33,196, 72, 85,229,172,154,134,110,146,133,140,163, 76,216,205, 88, 79,127, 27,138,162,
-196, 90, 67, 98, 52, 42, 70, 10, 43,114,137, 56,122, 94,175, 23,176,125,240,198, 55, 33, 22, 66,202, 10,104,136, 97,130, 31, 97,
- 25, 86,172,175,173, 17,157, 19,126,130,181,180,222,211, 44,151,248, 24,129,201, 4, 70,169, 41,213,109,133, 15,129,245,117, 33,
-196,132, 24, 9,110,196,133, 78,110, 78, 43,238,123,163, 27,232,154,134, 48, 77,244,227, 56,146, 36, 22,107, 53,248, 20, 73,181,
- 10,180, 99, 79, 53, 19,227,154,247, 94, 25,120,207,225,138,184, 81,163,162,197,189,124, 17,125,211,126,153,166,178,130, 56,122,
- 98, 49, 53, 87,125,143, 74,114, 56,156,242,185, 63,126,148,116, 89,115,112,119,197,197,102, 36,253,171, 63,160,190,229, 25, 22,
- 99,197,201,219,111, 97,181, 92, 48, 43,118, 81,230, 57,143, 63, 13, 79,158,250, 30,111,190,118,174,175,115,197,101,135, 57,114,
-232, 0,197,142,157,248,190,231,222,251, 31,224,183,254,232, 79,248,220,253, 15, 1,111,133,207,111,190,246,106,126,224,158,187,
-184,227,228, 77,140,110,100, 62, 19,135,190,157,235,115,214,231, 34,103,123,243,117,253,241, 99,220,245,246,219,184,249,186,107,
- 57,118,249, 33,142, 95,121, 37, 74, 41,158,126,252, 73, 30,249,206,147, 44,234,134, 3,123,247,112,215,173, 39,217,181,111, 31,
-105, 52, 4,231,120,233,149,215,248,242, 67,223,224,211, 95,188,143,231, 94,120,131, 53,159,103, 41, 39,111,184,150, 44, 47, 56,
-127,241,117, 14,238,221, 75, 63, 8,203,254, 95,253,230,239,240,240, 99,143, 3,112,244,242, 67,220,113,242, 70,110,188,246,106,
-118,204,103,188,114,238, 60,127,254,215, 95,224,187,167,159,167,174,107, 54,235,213,246,107,106,173,121,125, 99, 3,165,133,185,
- 91,215, 53,253, 48,242,169, 47,124,153, 39,190,251, 52,195,248,134,123,226,127,122,165, 38,225,250,171,143,113,229,145,195,244,
-253,200, 51,167, 95,224,169,103, 78,243,192, 55,191,197,185,215, 47,190,229,207,206,103,115,174,188,252,114, 14,236,219,203,254,
- 61,187,185,238,196, 85,236,217,189, 11, 34,220,251,192, 67, 92,118,240, 0, 15, 63,241, 36, 15, 63,244, 16,155,131,103,255,209,
- 43,137, 65, 44, 53,173,181, 40,132,237, 92, 21, 37, 62, 72, 10, 92,240, 30,109, 21, 97,244,148,147,223, 1,136, 9, 83,140, 66,
- 76, 91, 44, 86, 64, 64, 35,168,152, 82, 61,105, 42,105, 92,221,208, 19, 67, 96,177, 88, 10, 99, 60, 85, 19,225,181, 66,121, 73,
-142,235,219,233,128,246, 3, 49, 68,180, 49,172,173,137,164,149, 40,204,250,113,236,104,125,192,133, 72,158,167, 82, 8, 17, 2,
- 86, 12, 18,231,218, 53,194,145,153, 85, 51,178,204,210, 13,157,112, 2,220, 72,154, 72,120,137, 27, 29, 62,136, 95,132, 49,146,
- 34,185,197,224, 70, 9,119,193, 24, 69, 81, 84,164,115,113,138,235,251,158,188, 40,169,166, 41, 82, 24,236,162,117,207,203, 28,
- 21,164, 9,136,163, 39, 70,200, 74, 41, 82,104,141,142,154,174,235,152,207, 38, 3,174, 16, 68,238, 71, 16,146, 95, 39,210, 87,
-148, 66, 43,168,151, 18,122, 85,205,102,194,155, 66,158,144,178,152,242,198, 9,244,157, 35, 79, 82,154,102,133, 82, 18, 75,155,
-152,132,116,242, 14, 88, 46, 22,226, 91, 17, 2,107,235,235, 36,137,101, 54, 55, 52,157, 68,157,142, 33,224,131,163,174,151, 36,
- 90, 86,172, 27,155,155,219,187,236, 52,207, 73,181,104,187,251, 90,172,124,243, 52,133, 84,162,187,251, 94,200,173, 68,240, 65,
-114, 51, 98, 8, 96, 12,174, 31, 4,173,152,106, 75, 4,226,216,147,101, 25, 33, 74, 74,105, 81,136,247,193,188,122,131, 28, 55,
- 91, 91, 67, 51,217, 12,123, 63,133,237, 8,233, 55,177, 41,190,239,153,207,164, 38, 37,105, 38, 28,165, 44, 67, 27, 35, 40,140,
-181, 36, 69, 65,219, 54,136, 58,195, 17,189, 40, 35,198,161,199,249, 14,162, 38, 73,140,165,200,229,141, 45,151, 75,148,150, 12,
-226, 56, 72,230,110, 0, 50,107,223,114,147, 27,155, 76,176,169,194, 71, 97,148,183, 77,199,250,250, 28, 20, 36,105, 74,179, 90,
-145,102, 41, 41, 34, 53,211, 9,219,254,183, 91,108,108,165,222,136, 88, 85, 49,210, 52,211, 13,110, 51, 98, 12,116,189, 20, 75,
-141,134,137, 96,181,181,191,219,154,230,148,146,194,238,131, 88, 57,134, 16,216,184,180,129,181, 98,173,151,166, 25, 33,120,154,
-174, 39, 75, 18,152,160,145, 24, 68, 15,111,109, 70,154, 24, 86,117,183,205,156, 84, 49,160,181,193,143,226, 68,133, 82,100,211,
- 46, 39, 73,140, 72,184,166,247,144,217, 20,157, 36,162, 67,119,142,110,236,137,131,200,220, 18,173, 49,214, 50, 79, 83,188,115,
- 44,155,134, 68, 41,214,119,236, 96, 75, 38,180,185, 88,160,148,102,190, 54,155,186, 59,241, 30,222,220, 92,160, 80,219, 19,253,
- 86,227,147, 24, 67, 8,178,166,240, 49,162, 39,178, 68,130, 16, 69,134,126,148,233, 2,129,122,188,247, 72,228,161,133,105, 23,
- 45,176,188, 48, 68, 5,150,140, 19, 57, 67,138, 79,140, 17, 73, 59, 19,178,100,112,227,212,224,129, 66,201,110,108, 54,163, 94,
- 46,137,206,177,121,113, 58,120,181, 65,155, 9,129, 72, 83,150, 75,113, 60, 74,173,133,233,126,217, 90,215,128, 60,252, 91,176,
-104, 85, 20, 12, 62, 96,146,105,191,102, 19,236, 44,165,173,107,242,188,100, 28, 59,186,174,161, 9, 65,166,211, 40,186,123,105,
- 48, 35,135,119, 23,124,226,102, 69,236, 29,177, 30,249,250,223,190,196,110, 19, 57,113,104, 29,117,177, 38, 94,166,225,165,215,
-208, 59,215,136,235, 5,172, 2,177, 74,137, 47,213, 92,188,184,100,223,158,117, 94, 95,180, 60,251,157,231, 81,207, 93,228,248,
-197,138, 19,119,124, 16,163, 53,217,174,157,156,122,238, 52,191,246,191,254, 31,219, 5,239,205,215,145,195, 7,216,183,123,151,
-144,123,154,134,113,144,104, 77,153, 48,223, 90,208, 1,222,117,219,219,248,240,123,239,230,150,147, 55,131,134, 83, 79,157,226,
- 55,126,251,247,249,163, 79,127,246, 45,147,239,214,117,113,177,224,237, 39,111,228, 99, 31,254, 16,218, 38,248,174,229,161,111,
-124,139,223,252, 15,127,198,231,238,251, 26,169, 77,248,192, 93,239,228,150, 27,174,101,143,209, 52,139, 21,103, 95, 59,199,131,
- 15, 63,194, 23,238,127,128, 83,167,159,219,126,173, 89, 89,242,225,247,191,155,123,222,126, 27, 87, 31, 59,202,174,157, 59, 40,
-179,156,197,106,197,169,231, 78, 19,252, 27,239,247,213,115, 23,168,202,156, 3,123,247,112,197,161,131,124,235,177, 39, 88, 95,
-155,147, 89,203,211,175,158,167,169,101,199,189, 62,171,248, 71,191,248, 11,188,239,157,239,224,200,161, 3,108,214, 43, 94,120,
-249, 44,247,127,253, 97,158,127,233, 12, 47,189,246,253,191,147,214,154,203, 14, 30,224,158, 59,110,229,186,107, 78,112,221,137,
-171,152, 87, 51, 78, 61,251, 4,207,191,252, 50,167,158,127,158,151, 94,121,237, 45,127,231,234, 99, 71,185,235,142, 91,185,237,
-198,235,217,189,107, 39, 49, 68,150,171,154, 44,205,216,185, 99,206, 53, 39,174, 98,213, 52,156,126,241, 12,175,190,126,137,135,
- 31,123,156,221,167,158,225,142,119,221, 73,145, 21, 52,190, 65, 69, 69, 85, 74, 2, 97,140,145,116,106, 34, 35, 1, 49,107,233,
- 80, 8,169,170,200, 44, 67, 63,110, 39, 18,174, 86, 75,178, 84,154, 76,231, 28,237,114, 69,185, 99, 7,121,154,178, 90,213,204,
-231,178,174, 90, 45, 86, 50,225,118, 45,222, 5,230,243, 18,109, 45, 65, 7, 50,151,163, 20, 19,156,141,196,137, 2, 62, 56, 24,
- 71,130, 86,204, 10,113,144, 11, 46,200,253,151,230,104, 45, 5,118,203,208,102, 24, 7,108,180,196, 49,130, 17,247, 57, 51, 19,
-133, 76, 81, 22, 12,195,128, 50, 70, 16,187, 32, 8,103,223,247,204,231,115, 98,148,116,187,190,151,245,215,114,185,154, 6,128,
- 5,105,146, 50, 91, 43,113,157, 35, 42,145,228, 41, 20, 93,215, 97,172, 33, 75, 50,210, 60, 69, 43, 67, 81,149, 98, 0, 19, 35,
- 77,215, 73,140,114,145,209,181, 61,198, 8,113,186,105,228, 12,175,230,146,119,174, 96, 42,106,129,229, 98, 33,220, 33, 45, 41,
-161, 86,105, 76,106, 73, 76, 66,146, 8, 49, 55,205, 75,130, 27, 25, 70,135,138,162, 66,114, 97,164,156,205, 48, 17, 76,106, 38,
- 39, 53,112,126, 82, 83,248, 72,231,100,112,138, 33,210,199, 94, 80, 71, 45, 9,117,193, 7, 98,221, 80, 7,225, 52, 17,101,133,
-144, 76, 67, 69,150,201,202,192, 36,118,226,235, 48,166,135, 0, 0, 32, 0, 73, 68, 65, 84, 56, 73,236,116,150, 21, 34,225, 54,
- 98,255, 93,217, 10,148, 24,129,185, 81,140,176, 82,155,226, 71,199,210, 47,196,181,207,138,132, 59,122, 97,222, 43, 35,136, 71,
-223,117,219,136,101,215,118, 12,253, 32, 38,107, 65,100,191,198,202,106, 34, 68,225,119, 41, 45, 43,209,174, 19,178, 94,215,117,
-120, 39,141, 83, 93,175,136, 1,178,114,198,208,181, 36, 74, 65,136,113,130,136,102,180, 77, 45,206,104,106,162,236, 35,153,213,
-110, 20, 56, 33,203, 45,102,218,163,130,200,147, 18, 91,161,188, 76,192, 81,129, 31, 6,233,108, 16,207, 99, 99, 20, 68,129,126,
-202,170,154, 38, 96, 49,121, 72, 18, 49,164, 65, 73, 18, 18,192,232, 29,149,205, 81,106, 10,155,215, 6,152,246,222,203, 37,222,
- 11,225,195, 24,131, 82, 18, 48, 32,157,100, 75,179,106, 8, 49, 16,130,102,177, 92, 98,141,161,156,205, 72,162,208, 65,150,151,
- 46,225,220,136,143,138, 44, 77, 25,199,158, 97, 0,101, 52, 49,130,205, 44, 85, 81, 73, 17,210, 90,160,152, 60,103,236, 59,250,
-209, 19,130,216, 59,206,222,100, 11,155,171,148, 64, 32, 75,196, 57,205,148, 98, 69, 8,114,120,173, 86, 43, 73, 79,138,145,104,
-196,193,174,109, 58,178, 60,101,199,250, 14, 86,203, 37,117, 45,233, 67,221, 20,152,147,101, 25,169, 77,209, 74,163,180, 98,199,
- 78,201, 22,183, 54, 33, 4, 65, 58,172,145,125,146,178,137,104, 80,149,120,190,239,220,185,147,113, 16,194,160, 77, 82,210, 60,
-221, 54, 47, 24,189, 23,232,176,109,233,251,142, 36,181,164, 90,200, 49, 58,129,177, 21,107, 74, 71, 36, 12,158,204, 90, 76,153,
- 49, 78, 1, 49, 85, 85,209,181, 98, 39, 60, 91, 91, 35,120, 71,211,141, 68, 55, 16,135,158, 98,125,141,174,147,188,247,188, 72,
- 81, 81, 86, 18, 91,247,139,247, 18,203, 26,130,252,255,179,249, 28,231, 28,171, 9,237, 8,193,225, 70,135, 30, 12,101, 53,201,
-118,162,228,105,167, 89,198, 98,115, 83,160,193, 84,252,252,181, 86,172,234, 21,255,221,157, 41,179, 60, 39, 46, 59,212,108, 7,
-215,237, 95,240,210,183,159,134,236,106,186, 87,158, 39, 61,188,134,186,242, 32, 97,109, 7, 28, 57,194,183,254,229,159,240,246,
-183, 31,227, 59,223,121,129, 89,128,139, 33,112,206, 5, 92,215,115,224,196, 13, 92,123,231, 15,162,181,200, 2,149, 82, 92,220,
- 92,176,111,239,110,118,172,175,109,167,144, 93,125,236, 40,255,251, 63,249,239,121,223,199,127, 16, 87,119,184, 85,203,230,249,
-243,220,247,245,111,241,249,175,124,141,243,255, 25,169,215, 79,124,244,239,240,243, 63,241, 35, 28,216,183,151,224, 29,202, 43,
-158,127,233, 44,167, 78,191,176,221, 84, 1,220,120,226, 56,255,250,215,255, 71,241, 56, 15,142,125,187,118,161, 98, 20,164,167,
-233, 56,119,241, 18,222, 57,246,238,218, 73, 63,140, 28,189,252,144,236,228,154, 6,163, 13,123,119,238,228,158,183,223, 78,211,
- 52,188,112,230, 21,206,190,118, 14,165, 20,239,191,235, 78,238, 60,121, 19, 71, 15, 31,226,192,190,125, 20, 89,198, 83,223,123,
-150,123, 31,252, 6,143, 60,241, 36,167, 78,159, 6,100,165,112,249,161,131,148, 69,201,238,245, 57,206, 7,142, 94,118,136, 60,
- 75,249,255, 9,123,239, 96,205,206,251,190,239,243, 60,207,233,231,125,239,189,219, 11,118, 23,139,197, 98,177,232, 29, 32, 0,
- 54,176, 23,145,162, 73, 21,147,150,163, 98,209, 99, 69, 78,226,140,173,113,146,153,196, 78, 50,214,140,149,201, 56,114, 34,219,
-177, 20,135,137,122,177, 26, 41,138, 18, 73,176, 8,133, 32, 81, 22,192, 46,234, 46,118,177,189,223,123,223,114,234, 83,242,199,
-239,220, 11, 80,148, 39,231, 63, 14, 23,119,239,190,239, 57,231,249,149,239,247,243,181,222,115,117,121, 69, 94,220, 38,226,192,
-245,123, 9, 33,176,103,215, 78,146, 56,230,241,111,124,155, 35,175, 29,229,240,171,175,243,248,211,207,173,255,155,148,146,103,
- 24,164,160,139,180,102, 60, 42,249,196, 35,239, 98,188,176,200, 87,190,249,109, 30,123,250, 57,210, 56,226,249,195,111,241,224,
-181, 22,146,218,198,197, 5, 22,202,146, 81, 81,176,115,203,102,146, 52,225,236,185,139, 52,109, 67, 28,109,100,235,198,141,252,
-250, 31,126,145,229,201, 42,179, 1,206,115,229,242,101,254,226,139,127,198,157,247,222,205,181,215,238,197, 5, 16,180,177, 88,
- 78,187,129,139,161, 1, 61,140,148,171,166, 18,171,144, 10, 20, 35, 9, 99,106,154, 26, 80, 8,103, 93, 44, 98, 93,215,209,183,
- 66,139, 44,138,148,174,147,105,147,142, 53, 67,101, 64,146, 68, 76,167, 51, 76,108,208, 65,118,179,245,124,142, 25, 94,246,222,
-122,138, 92, 68,100,163,145, 20,246,237, 32, 54, 51, 72, 97,109, 93, 79, 28,100,212,171,145,145, 56, 32, 7,148,119, 20, 69, 65,
-172, 83,234,170,161, 31, 4,124,214, 58, 98,160,239, 37,133, 81, 41, 53, 8,239, 28,125,232,137, 61,120,103, 9, 65,222, 85,189,
-235, 89, 28, 47,202,129,107,131,192,167, 2, 36, 89, 68,215, 73,215,238,123, 7, 70,154,162,182,233, 72,211, 4,101,148,160,115,
-131,151,177,187, 50,196,113, 68,223,183,228,229,136,160,132, 6, 89,213,115,162, 40, 94, 39, 41,122, 47,218,169,166,109,152,215,
- 18,173, 93,119, 45,161,105, 88,155, 72, 18, 2,113,154, 18, 13,157,170,179,150,206,185, 1,170, 21, 49,175, 42, 10, 85, 96,140,
- 16,226,162,100, 16, 38, 39, 41,189, 21,229, 60, 64,211, 74, 58, 94,211, 55,140,242, 17,243,249, 28,107,165,105, 69, 67, 8, 34,
-104, 93, 99,211,107,173,241, 46, 33, 56, 79,231, 91,156,115, 36,169, 96,119,173, 19,174, 66,235,218,161,241,179, 20,163, 17,218,
- 24,178,108,208,126, 69, 34, 76,244, 94,166,216, 81,146,200, 89, 19, 68,114,223,183, 13,206, 9,253,110,141, 76, 87, 55,205,224,
-203,151,119,224,124, 42,161, 63, 74,137,125,124, 97, 97,140, 30,214, 4, 89,150,225,156,101, 54,157,210,117, 50,242,103, 80,221,
- 71, 81, 68,212,116, 29,182, 23, 53,165, 88,166,244,144, 61, 45, 29, 89,154, 21,120, 43,216,188,190,107,177, 93,187,254,153,143,
- 70, 35,234, 74, 66, 5,188, 15,228,121,182,142,245, 83, 90,198, 93,121, 94,210,116, 29, 42, 8,167, 88, 8,100,201,208, 65, 74,
-176,123, 20, 9,142,118, 92,136,133, 43, 9, 17,214,201,248,168, 30,170, 73,161, 40, 5, 70,227, 49, 62, 64, 91,119,235,187, 36,
-215, 7,162, 88,147,164, 57, 81,148,208, 52,210,129,119,173,216,169,130,247, 76,166,115,122,219,147,103,114, 83, 41,165, 69,157,
-109,228,224,158, 76,196, 66,183, 22, 20, 17,148,194,161, 8, 90,225,172,144,146, 36,127, 87,118,106, 33, 4, 68,124,167,168,234,
-154, 60,139,113, 62,172,139,191, 80, 74, 94, 12, 65,246,234, 89,154, 74,193,227, 3,125,239, 40, 71,133, 60, 28,182,167, 28,151,
-204,102, 21,222,137,144,164,242, 45, 89, 94,226,173,165,181, 61, 90, 73, 55,158,167,162,222, 79,146,132, 60,203,233,173, 37, 47,
- 10,108,223,163, 19,217,241,103, 75,139, 88,107,201,139, 12, 2, 66,158,242, 94, 30,152,224, 48, 70,139,224,113,200,139,215,136,
-154,119, 52, 42,113,222,146, 69, 17,171,211, 41,227,164,164, 10, 21, 73, 18, 19,167, 41, 25,217,240,160, 73, 39, 79, 16,241, 80,
-211,117,132,166, 70,165, 41, 74,105,230,203,203,120, 99, 80, 90,138,151, 86, 75, 71,173,148,146,226, 42, 17,236,238, 26,244,166,
-174, 4,227,155,231, 25, 65,105,156,237,165,155, 26, 23, 40, 45,150, 16,153, 10, 25,230,243,137,228,181, 35,118,165,160, 21,213,
-108,206,251,111,137,185,231,218,152,224,122, 72, 12, 42,238, 88,116, 29,139,183,238,133,171,115,210,119,236, 7,235, 81, 23, 91,
-184,231, 78, 40,238,102,199, 53,223,230, 63,252,201, 51,164, 46,176,109,156, 48,171, 44, 57, 1,118, 29,228,225,143,254, 56,113,
-154, 16,130, 48,179,189, 11,220,180,239, 58, 54, 44,140, 89,157,190,181, 27,127,237,141, 19,252,147,255,249,151,248,175,207, 95,
-224,195,239,121, 23, 73, 18,241,226, 43,175,241, 27,127,248,167,124,251,187,223, 19,101,246,112,197,145, 96, 51, 47, 95, 89,102,
-117, 58,231,134, 27,111,192,213, 53, 47, 29, 61,198, 83,135,158,231,123, 47, 28,225,210,149, 43,236,220,182,149,143,189,255, 61,
-236,221,185,131,139,151,175,114,231,205, 91,217,178,117, 11, 74, 43,136, 34, 48,134, 75, 87,175,242,212,161, 23, 56,244,210, 43,
- 92,188,124,149, 79,125,232,125,252,196,167, 63,201,182,205,155, 65, 25, 86,103, 43, 60,247,226, 75,124,249,209,111,241,220, 75,
-175,112,121,121,133, 77, 27, 55,112, 96,239, 30,238,190,245,102,222,243,224, 3,108,217,188, 17,165, 52,231,207,159,231,202,242,
- 50,211,106,206, 11, 47,191, 38, 83, 53,173,185,243,150,131,124,224,225,119,112,235,141, 7, 56,121,254, 34, 95,248,143,127,194,
-161, 35,175, 74,156,235,217,115, 28,123,243, 20,187,119,108,227,231,126,242,239,240,177, 71,222,205,150, 13,139,244,189,227, 55,
-254,227,159,240,212,243,207,243,242,171,199,184,180,178, 74, 89,228,212, 85,131,103, 77,112, 10,155, 55,110,100,239,174,157,236,
-216,186,133,107,118,108,227,220,229, 43,124,229,175,158,224,185,195,175,240,229, 71,191,193,172,106,214,119,239,198, 24,110,220,
-119, 29,119,221,122,144, 44,205, 80,198,112,121,121,133,181, 0, 18, 33,155,121,158, 59,242, 50, 42, 4, 62,242,222,135,248,133,
-127,241,191,114,242,204,217,245,207, 62,132,192,161,167,159,229,220,153,115, 60,244,206,135,134, 21,143,116,176,211,201,148,209,
-104,132, 39, 48,159,213,244,131,248,151, 0,125,231,240, 70,242,191,211, 52, 39, 73, 28, 93, 43,207, 43,168,161,171, 18,148,245,
-172,174, 41,242,156, 40,138,241, 40, 89, 85,122,193,221,142,199, 66,151,179,222,211,212, 53, 73,158,210,181,146, 22,231,147,192,
-172,146,164, 68,239, 3,104, 41,126,108, 47,239, 84, 20, 34,216,139, 12, 69, 42,156,245, 81, 52, 26,172,189,146, 42, 87,183, 45,
-182,235, 48, 81,196,104, 84,208, 91, 79,145, 23, 88,111,169,230,149, 76, 58,141,166,111, 91,210, 98, 36,106,234,186, 25, 86, 34,
- 2, 73, 65, 67, 93,201,187,219,246,118,125, 44,236,131,224,155,181,137,135, 61,189, 88,134,227, 36, 89, 39,154,185,190, 71, 27,
- 69,154,102, 76,171, 41,227,209, 88,118,216,125, 79,158,101,244,173,160,162,227, 56, 6,194,144,233, 33,153,224,109,215, 17,105,
- 3, 14,188, 26,154, 68, 51,116,183, 8,125,174, 85,106,253,123, 12,109,131, 66,118,244,107, 89, 19, 1,153,160, 90,231,136,211,
-132, 34,205,208, 90,175,167,134,102,105, 38, 77, 83,154, 67, 80,140, 23, 68,239,229,135,119,179, 27,138,233,186,106,232, 6, 26,
- 96, 28, 71, 16, 68,120,236,162,158,222, 89, 66, 24,148,243,193, 75,232, 76, 8,244, 33, 48, 89, 89, 38, 40,153,130,198, 70, 34,
- 97,181,142, 40,178, 88, 68,212, 62, 48,175,231,235,133, 85, 8,176,176, 48, 70,105,209, 3,229,185,172,167,227,200,176, 58, 89,
-101,109, 2, 45,143,139,252,142,243,185,176, 78,170, 90,172,206, 90, 71, 34,184, 86, 34, 48,214,218,176,176,184,128,214,134, 40,
-138, 98,146, 36,165,235,100,220, 2,122,189, 90, 81, 42,208,204, 86,200, 75,249, 33,144, 98,187, 6,116, 76,215,213,172, 44,175,
-224,189, 88,182,188,151, 3, 40, 73, 34,170,121,197,100, 50, 97,195,134, 13,160, 20,227,114,188,158, 80, 6, 34,134,202,242,156,
- 56,138, 68,204, 0,195,193, 21, 80, 3, 98,181,109, 44,194,132, 87,146, 59, 60,155,161,163,136,174,237, 73,178,156, 44,151,195,
-121, 50, 19, 81, 89,107, 1,122,146, 52, 37,138,100,188,219, 52,162,126,117,214, 17, 39, 41,117, 83,211, 54,154, 40, 74,165, 80,
- 1,180,145, 14,118, 97,105, 9,188,120,176,187, 94, 14, 57, 21, 69,120, 43,244, 40, 80, 67, 49, 19, 48, 65, 70,213,125, 45, 94,
-215,222, 57,250,166, 34,207, 83, 8,142, 56, 74,100, 15,210,119, 40, 29,147,143, 71, 40,175,177,161, 39, 53, 2,250,233,157, 16,
-216, 82, 21, 81, 85,115,137, 58, 13, 30,205,224, 73, 69, 0, 50,113,156, 34, 21, 27, 82, 57,231, 25, 93,219,209, 59, 81,227, 42,
- 21,112,214,210,211, 99,180,166,154, 86, 36, 89, 74, 95,205,135,213,131,199, 6, 33,225, 5, 36,234,116,253,133,225, 61, 73, 38,
-130, 58,135,197,107,104,154,154,216, 24, 90,103, 89, 24, 9, 71, 90,107,205,124,136,127, 37, 72,170,154,210, 18,189,235, 7,189,
- 3, 1,232, 4,115,136,247,148,139,139,120, 5,137,214, 84, 77, 71, 26, 75,198,180, 54, 70, 88,245,214,202,164, 37,138, 96, 24,
-125,102,185, 80,234,146,212, 72, 23,227, 29, 73, 34,251,117,235,197,182, 18,128,186,146,238,200, 91,207,103,223, 81,240,185,155,
- 60, 97, 6,152, 22,180, 33,168, 12,117,223,126,152, 55, 4,101, 64, 71, 60,250,103,207, 51, 70,115,223,167,255, 41,164, 7,216,
-100, 34,222,181,111, 51,207,157,158,112,117,181, 98,172, 13,151,242,205, 60,240,254, 79, 50,218,188, 69, 14,116,163, 81,113,204,
-236,226, 37,254,187, 95,250, 87,252,201, 95, 62,202,219,175,125,123,247,240, 79,127,254,243,124,226,163, 31, 34, 56,199,213, 43,
- 87,216,176,180,200, 59,238,190,147,170,110,120,254,229, 87,233, 58, 1, 87,220,122,227, 1, 30,188,251, 14, 62,245,145, 15,176,
-121,227, 6,158,122,234, 25,126,241, 87,254, 29, 79, 60,125,104,253,231, 41, 13,215, 94,179,131,207,124,248, 3,220,114,240, 0,
- 26,197,180,174,104,135, 78,230,226,233,179,252,235, 47,252, 6,191,243,167, 95,102, 94, 9, 33,235,218,221,215, 48, 42, 75, 86,
- 86, 38,108,223,180, 17,133,231,220,133,139, 28, 63,125,134, 51, 23, 46,242,242,107,111, 16,240,108, 88,220,206, 7,222,249, 16,
-159,252,240,251,216,180,184, 72, 20, 69,156, 61,119,158,167,158,123,145,175, 62,254, 20, 79,191,240, 2, 87, 7, 14,125,153,231,
-108,223,186,153,119,220,115, 39, 91, 55,109,228,226,149,171,220,180,127, 63,143, 62,246,212,247, 9,248,198,163, 49,151,175, 92,
-229,226,229,203, 84,117,197,100, 58,227,220,165, 43, 36,113, 74,239, 28,203, 43,111, 61,243,111,191,218,182,229,154,237, 91,249,
-220, 15,127,156, 71,222,245, 48,213,108,198,153,243, 23,120,229,232, 49, 86,167,223, 31,221,234,156,227,149,163, 71,217,182,101,
- 19,159,248,192, 35,108,219,186, 73,114, 34,146,152,121, 85, 83, 22, 57,155, 54, 44,242,213,111, 63,201, 63,255, 87,255, 7,187,
-182,111,101, 84,142,248,235, 87, 8,129,243,103,207,242,141,175, 61,202, 59, 30,126,136, 44, 47,132,140, 25,164,171,237, 58, 73,
-152, 43, 50,225, 79,104, 35,105,135,109, 35,246,216, 36,203,176,189, 23,207,184,117, 68,113, 76, 81, 22, 4,192, 7, 79,154,165,
-244, 93, 79,215,118, 3,137, 50,160,188,184, 60, 60, 34,123,137, 99, 97,174,107,101, 72, 83, 77, 91,183,244,222, 18, 33, 62,115,
-135, 19,252,169, 82, 16,222,138, 42, 94, 3,201, 40,163, 72,162,132, 44,203, 65,131,111, 28,147,174,162,200, 50,146,162,196, 91,
- 79, 83,117,160, 2,109,144, 61,244,120, 36, 69,176,239,237,208,221,206,208,198, 16,167, 49,113, 58, 16,208,122,177,254,230, 69,
- 42,135,186,149,160, 44,165,100,247, 31,188, 5,219,139,194,190,111, 0, 45,239,109,165,135,149,172, 56,106, 26, 43,153,237,147,
-233,148,133,241,152,182,237,169, 86, 87, 25,151, 99, 90,219,209, 55,173, 52, 66, 54, 16,180, 28,224, 89, 62, 66,105,121,255,107,
-164,160, 81, 40,178, 66, 26, 34,231, 28,222, 75, 22,123, 8, 65, 48,213, 70, 73, 83,164, 12, 69, 34,254,120,148, 65,136,114, 61,
- 53,129, 56, 78, 73,179,156,186,158,211,249,150, 56, 21, 81,169, 15, 30,223,123,122,239, 80, 74, 99,219,142,128,168,201,189,247,
-120,223, 50,153, 88, 70,101, 73,154,166,204, 43, 17,206, 57, 39,164,212,182,149, 78, 93, 25,141, 27,244, 79,242,231,100,117,108,
-129,188, 28,147, 36,226, 16,170,155,138, 40,146, 98,198, 57, 79, 51,168,227,131, 18,215, 73, 50,156, 49,222, 59,102,243,154,241,
-194, 34, 42,200, 58,180,183, 61, 70, 27,209,124, 68, 6, 29,100,106,108,157,163,175,107,105,168,156,103, 97, 65, 50, 34,244,240,
-179,162,190,239,215,191,100,239,132,164,163,148, 26,118,172, 98,181,176,157, 69, 41, 81, 28, 43,165, 72, 98,131, 49, 37, 93,183,
-138, 49,154,174,237, 64,131,109, 26, 90, 47,149,133,209,138,174,239, 80, 90, 70,205, 74, 43,150,151, 87, 80, 90,179, 48, 42, 89,
- 89, 94, 37,201, 34,242,116, 88,252, 43,129,159,128,120,255, 34, 35,248, 84, 19, 27,186,218, 98,226, 12, 77, 32, 73, 12,125, 93,
-211,107, 5,104,185, 57,147, 8,229, 61, 62,196,132, 94, 58,219,233,108,134,247, 22,133,166,239,221, 0, 47, 9, 52,173,236,204,
-148,214,162, 30, 7, 17, 63,244, 29, 26,137, 14,148, 63,160,134,174, 27,172,115, 52,245, 90, 88,195,154,159, 60,102,222,204, 81,
- 74, 51, 46, 75, 66,112,172,174, 78, 8, 4,154,186,193,152,136,197,165, 37,250,174, 35,232, 53, 46,181,162,174,106,202,162, 96,
- 58,157, 82, 19,200,243,156,178, 28,201,207, 15,129, 16, 60,193, 43,172,175,209,136, 82, 61, 77,115,156, 19,198,112,153,231,232,
-225,231,181,182,167,175,123,162, 56,198,104,131,237, 58,138, 66,152, 0,113,154,202,136, 49, 4, 18, 19,227,172,140,208,230,243,
-233,250,139, 54,142, 99,234,229,154, 48,236,125,141, 82,140, 22, 23, 8, 33, 80, 85, 51,102, 51, 75, 86, 20, 88, 43, 47, 42, 16,
-125, 67,231,172,164,175, 1,198,104,172, 86,208, 84, 4,101, 6, 37,124, 68,215, 74, 44,165, 50, 49,139, 11,169,168,251,135,151,
-107,108, 12,217, 48,134, 19,133,167, 80,153,140,137, 6,171,158,124, 14,107,124, 3,141,166,111, 59,218,208,226, 3,148,121, 70,
-108, 2,159,189, 71,243,209,173,142,223,250,237, 67,252,208, 93,219, 25,239,221, 72, 72, 19,148,235,240, 33, 66, 41,131, 42, 83,
-158,249,139,151, 57,250,198,101, 62,118,199, 30,148,142,241,179,239, 80,152,150, 27, 62,117, 11,251, 95,153,240, 91, 95, 58,196,
-233, 80,114,247,199, 62,199, 77,247, 62,140,109,135,251,245,226,101,254,245, 23,126,147, 95,249,194,111,242,246,107,231,214,173,
- 60,112,247, 29,188,239,161,251,121,228,129,251,192, 57, 94, 56,114,132, 95,252,223,255,253,186,183,251,237,215,210,194, 2, 7,
-174,223,199,181,187,174, 33, 75, 51, 46, 93,190,202,147,207, 62,199,145,215, 68, 65, 31, 71,134, 91, 14,220,192, 67,247,222,201,
-150,141,155, 56,114,244, 24, 85,211,176, 99,155,136,193,108, 8, 24, 39, 7,201,223,251,241,207,176,115,219, 86,126,245,183,127,
-159,186,150,169,208,202,116,194,155,103,207,177,123,231, 14, 58,107, 57,126,242, 12, 71,143,191,201,137, 83,167,215,191,219,187,
-110,190,153, 59,111,189,153, 36, 26,236,136, 65,186,224,213,249,156, 67,135, 95,226,234, 16,170, 82,230, 41, 63,242,177, 15,241,
-158, 7,239,227,250, 61,187, 57,113,230, 44,199,222, 60, 69,153,231,252,194,207,253, 61,126,255,139,127,206,119, 95, 56,204,134,
-165, 69,254,246, 39, 63,194,199, 30,121, 55,179,170,225,255,252,141,223,227,143,255,226,171,120, 47,241,145,227,178,100,227,210,
- 18,151,175,126,191,208,109,113, 97,204, 15,189,239, 61,252,216, 15,125,148,251,238,184,133, 67, 47, 30,230,213, 55,142,115,238,
-226, 21,110,190,225,122, 78, 95,184,200,165,183,129,118,118,239,220,193,135,223,251, 78,118,108,217,204,201, 51,103, 57,176,111,
- 47, 91, 54,110,160,204, 5,233,156,165, 41,231, 46, 92,164,110,107, 22, 71, 37,167,207, 95, 4,222,138,137,125,251,200, 31, 96,
-249,234, 85, 30,253,234,215,216,127, 96, 63,215,236,222, 45,248, 86,239, 73,179,156, 92, 27,102,179, 57,121,153, 75,247,136,164,
-134,205,166, 83,108,223,163,180,194,245, 22,219, 9, 33, 83,121,225,180, 11,177, 82,179, 80, 44,200, 52, 46, 56,234,105, 69, 94,
-136,248,182,109, 91,180,210,116,117, 96, 45, 23, 98, 84,140,200,178,140, 76,133, 33,188,166, 34, 82,134,150,150, 44,206, 4,188,
- 20,132, 69,225,253, 16,226, 97, 69,164, 54,155, 77,101,212,172,164,216,239,157,151,102,194,196,100,113,138, 30, 84,206, 77,215,
-200,223,173, 53,160,176,237, 92,222,109, 90,131,151,176, 41, 19, 69, 44, 45, 45, 17,188,103, 58,172, 44, 68,196,235,177, 67, 76,
-105, 94,148,100,113, 2,116,120, 31, 88, 88, 28,161,214, 15,165,132,201,108, 74,156, 38,100, 69,206,108, 58,101, 84, 20,204,107,
-105, 14,188,135,102,112,175,160,193,246, 29, 24, 45, 2, 51, 5,206,202, 26,206,134, 32, 26, 2,163, 16, 12,183, 20, 54, 62, 8,
-118, 58, 16,211,181,245,250,222,185,109,123, 92,232,112, 70, 13,129, 60,144, 36, 17,147,201, 42, 93,219, 81,142, 13,109, 83,129,
-135,188, 44, 69,180, 27, 32,168, 32, 76,120, 27,100,210, 17,229,116,109, 75,215, 52, 24, 45, 4,213,174,105,152,205,230, 84, 77,
-205,226, 88, 34,175,219,182, 3, 31,136, 19,131,214, 17, 62,120,108,100,215,109,146, 90, 27,242, 44, 37,142, 83, 76,100,104,219,
- 86, 2,203,188, 71,101,172,107,165,180,150,201,112, 53,157,138,141, 53, 73,232,123,105,200, 84,146, 98,180,166,169,101,114,158,
-101, 25, 77,215,201,231, 58,159,209,181, 45, 38,142,197,197, 53, 40,250, 21,226, 60, 75, 52,196,200,193, 30,173,177,112,109,103,
- 49, 26,210, 88, 4, 20, 65,121, 17, 65,104,185, 7, 20,224, 92, 64,107,152, 76,167,148, 69,193,120, 60, 94, 63, 32,154,174, 37,
- 75, 51,154,166,165,173, 27,218,206,210, 91,185, 73, 66, 16,212, 32, 40,186,166, 97,101, 50, 97,148,166,204,103, 21,205,188,198,
- 68,134, 40,203,232,187, 10,147,104, 60, 6,140, 34, 77, 36,147,216, 89,143, 81, 96,162,132,126, 86, 13,113,126,226,109,246,222,
- 13,227,171, 32, 34, 49, 64,105, 67,176,142, 81, 49,194, 6,199,116,229, 42, 58,205,200,139, 76,132, 31,195, 77, 62,171,103,114,
-208,182, 45, 73,150,146,103, 41,101, 50,166,107, 5,206, 16, 25, 1, 3,212, 93, 75,240,110, 80,211,183,244, 86,108, 29, 33,168,
-161, 34,131,201,116, 38,181,128, 76,204,240, 67, 85,153,229, 57, 62,120,162, 36, 99, 58,157, 0,226, 71, 20,148,173, 40, 81, 71,
- 99,121, 72, 34,163,153,205,103, 20, 69, 65, 20,100,247,146,197,137,220,212,206, 19,105,197,149,203,151, 81, 64, 57, 26, 97,131,
- 31,246, 43,178,170,112,125, 79,150,229,116, 93, 77, 97, 12,211,249, 28,231, 61, 74, 27,138, 44,147, 49,155,148, 49,228,121, 14,
-120,226, 88, 10, 12, 66, 96,180,184, 40, 99,170, 34, 7, 45, 24,219,186,109,197,230, 22,201, 97,220, 52, 13,125,111,209, 65,212,
-253, 89,146, 49,183, 22,188, 64, 26, 70,163,177,120,123,181,160, 30,189,237,169,170,134, 34, 47,153,246, 29,105,158,227, 85, 64,
- 49,196, 63,166, 49, 42, 4,214,244, 27,109,219, 12,156,228, 14, 59,140, 96,187,182, 27,170,232,193,194,104, 28,255,213, 71, 70,
-220,191,195, 16,174, 58,110, 40, 97,246,216, 97, 70, 55,125, 4,117,105, 25, 54, 47,162,189, 1,229, 9,111, 92,226,208, 75,103,
-216,150, 24,250, 0,225,228,215,153,252,249, 55, 88, 60,184, 8,203, 29,143, 61,245, 26,214,195, 13,143,124,138,219, 30,126, 63,
-245,116,130, 49, 26,223,121,222, 56,117,134,173, 27,151,120,215,253,247,240, 87,223,125, 6,185, 52, 91, 55,111,228,230, 3,251,
-185,243,230,131,152, 36,166,107, 27,118,110,221,202,167, 62,252, 1,206, 95,188,200, 43,199, 78,176,118,109, 92, 90,226,179,159,
-252, 40,183, 28,188,129, 3,123,247, 48, 42, 11,142,159, 60,197,249,139,151,217,177,117, 11,211,201,140,222, 58, 46, 92,185,194,
-195,247,222,195,131,119,223, 65, 64, 49,157,137,123,192, 58, 79, 20,122, 90,167,249,227,191,252, 58,255,207,239,253, 17,199, 79,
-157,226,225,251,238,225,129,187,110,227,214, 27, 15,112,221, 53,215,112,205, 53,219,137, 35, 9, 83,138, 99,195,217,243, 23,214,
-173, 96, 81, 20,173,119, 14,189,115,204,171,154,139, 87,206,240,212, 51,207,243,204,139, 71, 56,127,233, 34,189,117,236,219,179,
-139, 27,175,191,142,237, 91, 55,115,215,173, 55,139, 21, 84,107,206,156,191,192,175,255,225, 23, 57,121,230,172,116,198, 75, 27,
-216,181,125, 43, 23, 46, 47,243,210,209, 55,216,179,115, 39, 31,121,228, 93, 40,165, 56,119,225, 34,175,190,113,156, 19,167,190,
-159, 81,191,118, 93,123,205, 14,110, 58,176,159,237, 91, 55,243,198,169,211,188,246,198, 9,158,127,233, 53,158,126,254, 69, 94,
-124,245,117, 25,187,107,136,148,102,247,206, 29,220,184,239, 58, 20,242, 46,184,253,190, 3,236,219,189,139,205, 59,182,161,147,
-152, 55, 94,121,141, 95,255,195, 63,229,204,249, 11, 76,231, 21,215, 95,187,155,151,142,157,248, 62, 24,206,219, 15,244,181,171,
-109, 26,142,188,112,152,190,235,185,238,250,125,104, 45,239,132,209,168, 32,207, 51,186,186,193,197,177, 88, 86,131, 31, 14, 85,
- 41, 18, 37, 25, 12,108,215, 11,171, 35, 72,254,119,153,139, 56,205, 24,195,234,242, 50,121, 81, 16, 25, 67, 19, 36, 37,109,237,
-119,105,154,134,174,233,152,205,103,140,199, 11,244, 93, 71, 98, 12, 33,138,112,214,145,103, 57, 93, 39,221,224,184, 24,211,246,
-114, 56,196, 73, 76, 52,172,180,178, 60,193,187, 64,213,206,136,180,104,147,102,243, 25, 13, 13,107, 44,246, 81, 57, 2,173,209,
- 33,144, 36,130,146,206,178, 12, 27, 60, 42, 8, 31,221, 68, 67, 74,217,124, 70, 64,156, 60,121, 94,224,173,101,117, 50, 33,207,
- 50,170,186,102, 62,157,162, 70, 37,105,158, 19,105, 77,211,118,196, 90,252,219,214,246,100,121, 38,207, 48, 98,139,109,154,142,
- 16, 28,211,169, 28, 78,179,190, 37,234, 59,178, 60,163,109, 90, 60, 16, 71, 29, 94, 33,162, 46, 13, 93,107,209, 40,130,209,232,
- 24,250, 94, 34,162,219,174, 23,183, 65,144, 41,114,111, 59,186,182,151,119,106, 20,209,180, 1,107,197, 25, 52, 42, 50,242, 97,
-210, 34,209,183, 50,249,152,207,231,168,225,125,101,226,152,206, 58,146, 88,156, 70, 89,146,224,227,152, 52, 75, 81,206,209,118,
-157,172, 62, 67,160,171,107,166,211, 41,229, 72,186,246,190,111,229,231, 85, 21,214, 57,212,160,199,176, 94,108,185, 77, 43, 56,
- 91, 19,197,100,185, 8,130,155,186,102, 54, 19, 33,162, 49,134,165,165, 37, 20, 2,141, 81, 90, 34,172,189,247,196,105, 74,176,
- 86, 16,192, 89,190,222,112,122, 47, 36,192,209,128,199,110,106,217,155, 23, 69,142, 68,244,138,198, 97, 58,153,210, 37,189, 20,
-164, 98,125,112,152, 40,194, 53, 13,210, 55, 57, 20,138,214, 90,156,245,132, 32, 62, 99,217, 21,107,180, 14,130, 46,237, 58,214,
-138, 2, 19,197, 24, 29,147, 38, 34,152, 43,179, 12,143,124, 57,198, 8,253,168,169,106,249,114,156,101,210, 15, 55,238,194, 2,
- 77, 91,179, 58, 91, 37, 75, 12,109,221,208,169,142, 90,203, 47, 95,150, 35, 92,111,137, 11,177, 20,244,222, 98, 27, 71,153, 9,
-147, 30, 60, 93, 35, 93,238,168, 40,145, 45, 8,212, 94, 64, 9,213,116, 38,224,151,249,140, 70, 41,188,137, 89, 88, 92,160,177,
- 22,148, 97, 50,157,145,102, 41,174,243,212,212,148, 89, 78,146,166, 56, 43,182,144,106, 62, 39, 4,207,120,188,192,108, 62,195,
- 59,207,104, 44, 31, 48, 33, 80,247, 29,186,235, 49,105, 6,182,167, 44, 71, 98, 49,241,226,187, 78,211,181, 46, 85,188,174,109,
-213, 14, 98,152, 14,141, 60,124, 93,211,209,247,173,220, 40, 33, 48,159,201,223,153,151, 37,171,147, 9, 33,200,184,223, 59,135,
-114, 2,220,153, 12, 94,249,190,109, 41,138,130,182,109, 89, 28, 47,224,220,144,224, 99,101, 47,150,164, 41,109,211, 80,117, 45,
-163, 44,147,113,182, 19,142,117, 83, 87, 36,169,208,248, 66,128,214, 10,133,170,169,106,150, 22,199, 4,165,137,108, 79,111,101,
- 50,208, 89, 75,111,197, 3,221,116, 45,190, 17, 16,200,134,197, 37,233,254,128,166,235,112,125, 71, 18,167, 4,196,134, 49, 30,
-212,238,227,197, 37,170,249, 20,215,117, 68, 73, 60, 40,137,251,225,198,245,160,133, 76,165,148,172, 98,178, 56,165,183,173,120,
- 93,123,139,117,129, 34, 11,252, 79, 31, 76, 56,176, 35, 34,156,156,194, 8,118, 84,203,236,252,220,131,132, 60, 66,221,188,143,
- 55,190,244, 60,215,109,203, 81,251,118,242,141, 67,167,217,181,161,192,250,192,201,139, 87, 89,249,149,223,229,238,155,183,195,
-155, 45, 95,124,246, 8,151, 79, 95, 96,247, 35,159,229,254, 79,254, 24,110, 58,149,202,183,183, 76,103, 51, 34,163,121,249,232,
-137,183, 29,232,112,231, 45, 7,248,233, 31,253, 12,239,124,224,110,150,198, 35, 8,129,171, 87, 87,121,250,240, 75,252,222,151,
-190,242,125, 7, 58, 8,134,245,192,190,125,236,218,190,157, 34, 47, 56,242,250,235,252,238, 23,255,156,111,126, 71, 58,250,235,
-174,221,197, 13,123,175,229,238,219,111, 69, 27,195,165,171,203,196,145,140,133,181,214,178, 42, 49,154,179, 23, 46,243,210,171,
-175,179,103,215, 78, 78,156, 57,139,181,150,213,213, 41,193, 7,182,108,222, 40,110,142,121,197,169,115, 23, 56,117,238, 2,157,
-149,188,122, 16, 65,223, 39, 62,240, 94,118,111,223, 70,172,141,124, 39, 69,206,225,215,143,114,232,165, 87,184,110,247,110, 46,
-175,172, 48,157,206, 73,227,152,253,215,237,101,251,150, 77,188,121,234, 28,191,252,107,255, 47,175, 30, 63,193,234, 68, 58,249,
-121, 85,179,125,203,102,110, 62,176,159,251,239,184,149,197,241,152,213,201, 42,175, 31,127,147, 71, 30,188,159,211, 23, 46,114,
-121,121,133, 19,167,223,218,105,103, 89,198,238, 29,219,104,154,134, 27,174,187,150,207,124,228,131,132, 16,248,211,191,124,148,
-223,253,210,159,243,220,145,151,215,139, 83,128,143,189,239, 17, 14,236,190,134, 11, 87, 87, 24,149, 18, 39,187,188,178, 74, 26,
-167,108,218,186,153, 67,207, 61, 47,140,113, 99, 88,157,206,248,205, 63,250,226,223, 56,230,127,251,245,215, 59,118,128,215, 94,
-121,149, 56, 78, 56,120,211, 77,136, 55, 59,176,178,186, 74,164, 53,101, 28,211,244, 66,105, 75,210,140,217,116, 6, 74, 44,155,
-107, 60, 6,105, 84, 68,135,180,182,131,158,207, 69, 1,238,188,136,162,146, 56, 30,132, 97, 18, 32,229,188, 99,180, 56,198, 40,
-152, 78, 87,201,211,140, 96,132,200,232,141,161,169, 59, 20,129, 52,137,105,218,142, 44,201,136,140, 28,202,222, 90,148, 54,168,
- 54, 16,197, 9,163,209,130, 36, 96,182,141,140,105,189,164,128,205,231,213,186, 93, 42,203, 50,166, 83,177,158, 69, 81, 68,223,
- 55,196, 81, 38,251,240,166,165,109,218,245,238, 87,210,233, 2,245, 80,156,120,239,133, 82,231,156,168,251, 21, 88, 12, 70,139,
- 38,166,111, 29,121, 94, 98,140, 98,117, 50,197,123, 75,154,138,101, 44, 79, 83,226,209,136,201,234, 4,225,170, 27,186,121,135,
-138, 20,169,142, 6,177,178,199, 27, 67, 22,165, 36,169, 96, 86, 77, 48,196, 81,132,213,160, 48, 36, 81, 24,116, 53,138, 56, 77,
- 81, 33,200, 36,195,245,180,109, 75, 57,146, 49,189, 10,162, 13, 82, 90,168,110,120, 47,211,102, 37, 7,238,168, 28, 49,171, 43,
-108, 93,163, 8,244,141, 38, 77,146,117,209,174, 10, 49,110,208, 74,245, 93, 67,111, 37,139, 35, 4, 17,145,155,200,176,184,176,
- 36,187,243, 32,218, 46,130,199, 7,217,201, 43,239,241, 10, 8,136, 22,193,121,218, 86, 86, 21, 89,146, 49,175,231,140,138, 17,
-206, 90,102,243, 57,222, 75,214,134, 66, 38,166,125,223, 19, 41, 69,239,100,178,163,140,224,103,189,247,216, 94, 86,194,202,123,
- 34,147, 96,244,192,109,113, 22, 16, 59,161, 15, 1,101, 59,116,163,136, 34,109, 6,223,101,160,199, 48,157,206,200,203, 12, 21,
- 52, 69, 30,179,186,186,138, 82, 98,204, 25,151, 37, 74, 43,154,166,101, 58,159, 15,135,242, 24, 99, 98,241, 94,106, 77,154,164,
-168,160,208,145,166,107, 26,100, 47,154, 13,222, 72, 81,152,155, 84,212,216,177, 49, 52,157,100, 6,163, 53, 77, 61, 39, 45, 50,
-218,186,149,100,175, 52, 69,107,141,195,176,178,114,149, 40, 74, 41,242,148,186,170, 89, 94,185, 74, 49,196, 9, 42,237, 81,136,
-141,108,173, 19, 1,240, 40,140,137,177,222,139,247, 58, 4, 8,142,214,245,244,173, 96, 94,103,214,210, 54, 50,162, 42,162, 92,
-136, 69,195, 75, 32, 54, 98,139, 35, 64,221,138,178, 53,205,115,170,121,141,210,178, 35,241,206, 97,135, 63, 95, 20,185,224, 81,
-243, 28,213,203,131,233,189, 39, 73, 19, 92, 47, 29,136,137, 36,105,173, 29, 20,226,218,104,122,103,137,147,140,216, 59,234,186,
- 38, 77, 99,170,217,156,233,234,148, 81, 57, 8,234,156, 3,231,112, 85, 3, 58,160,157,163, 88, 88, 24,118, 94,226, 11,117,222,
-226,156,195, 32,160,135, 50,207,233, 67, 24,252,227, 98, 55,155,205,103,196,145, 64, 45,162, 36, 33,142, 13,139,139,139, 16, 2,
-157,119,232, 68,124,163, 33, 40,214, 70,224,194,180,182,226,125, 55, 70,196,109,195,131, 98, 34,113, 38,204,231,115,130, 22,107,
- 90, 93,215, 56,215,211, 52, 61,105, 34,138, 98, 99,196, 35,155,101,226, 69, 85, 8, 41,171,170, 68,180,184,184,184,128, 82,154,
-190,147,135, 53,137, 35, 41, 6,189,193,186, 64,156, 37, 40,235,249,204,221, 17, 7,182, 42,130, 13,168,107,198, 4,163,216,249,
-249,143, 18,206,212, 92,120,234, 44,219, 62,255, 57,198,155,206,241,157,239, 60,203,131, 27, 22, 88, 93,153,147, 41, 69,156, 39,
- 84, 85,195,201, 51,151,152,102,129, 35,175, 93,166,168, 86,216,247,192,135,184,253, 83, 63,141,155,207, 69,141,174, 2,177, 86,
-108,222,176,129,199,191,251, 52,191,243,167,111,101,144, 39, 73,194,167, 63,242, 1, 30,190,239, 46, 54, 46, 46,225,189,197, 7,
- 89, 29,120,239,215,119,210,107,215,190, 61,187,120,240,158,187,216,177,109,211, 58,220,165,239,122, 38,179, 25, 77,221,226, 9,
-108,221,180,145,159,253,220,143,177,103,231,118, 76, 36,254,114, 1,163,168,117, 42, 89, 24, 38,100,247,221,113, 59, 95,249,214,
-183,217,182,105, 3,231, 46, 93, 65, 41,197,106, 93,177,105,227, 6,174,217,182,133,215,143,191,201,191,252,183,255,215, 15,216,
-238,110,191,229, 70,118,110,221,202,166,165, 69,146, 52, 33, 54,134, 67, 71, 94,229,194,197, 75,156, 56,121,154,119,220,125, 59,
-255,248,239,255, 36, 69, 57,162, 76, 83, 30,188,231, 14,144,229, 15, 31,127,255,187,121,225, 87, 94, 93,223,117,239,222,185,131,
- 31,250,192,251,248,232,123, 31,102,251,150,205, 88,107,249,189, 47,125,133, 95,250,119,255, 1,128,133,209,104, 61, 22,118,237,
- 90, 40, 11,254,246, 39, 63,198,207,126,246, 71, 24,109,223,140,111, 44,213,202, 10,251,174,219,195, 13,251,246,114,230,252,133,
-239,243,163,159, 61,123,142, 7,239,186,157, 3,251,247,113,121,121,133,178,200, 57,112,221, 30,174,217,177, 3,215,138, 31,250,
-151,127,249,223,240,151,223,122,156,187,111,187,133,205, 27,151,184,120,249,251,199,252,127,253,250,155, 58,118,128, 35, 47,190,
-200,117,187,118,146, 46, 46, 50,159,213,140,202, 98, 29,248,164,181,166,154,205, 24,141, 23, 16,182, 58, 16, 32, 75, 35, 92, 28,
-175, 31,156, 0,113,148, 80,142,243,117,203,102,223, 91,250,190,101, 45,176,131,224, 65,203,193,133,115,132, 40,146, 68,198,183,
-253,140, 44,207,233, 93, 71, 22, 37,184, 48,172,159,189, 16, 37,181, 18, 60,181,209, 34,196,234,154,134, 36, 30,145,231,185, 88,
-144,135,127, 79,219, 52,148,101,129, 82,129,121, 53, 76, 65, 99,121,134,186,174,195, 16,201,202,203, 75,192,205,104, 44,110,149,
- 44, 19, 16,138,245,158, 16,188, 88,211,134, 80,166, 53,144,214,242,138, 99,113,113,145,128,129, 32,214, 99, 99, 52,206,203,248,
-216,104, 33,183, 21,121, 73,223,182,116,182, 97,188, 48, 30,118,244, 49, 54,114,248,222,209,251,158, 40,137,200, 76, 12, 74, 88,
- 27, 10, 77,172, 68, 53,238,172, 27, 66,187,122, 20, 34,120, 35, 40, 76,164, 7,155,159, 33,205,101,189,216,214,173, 0,208,180,
- 6,223,145,166, 5, 11,227, 5,170,166,194,182,158, 50, 23,128,149,247, 94,162,165,157, 4,137, 25,173, 9, 62,144,105, 9,191,
- 65, 27,148,245,248, 72,192,103,101,158, 12,194,103,153,126,122,111,169, 7,145,154,164,142,122,154, 86,194,101,226, 52,149,200,
-219, 36, 89,119, 93, 64, 88,111,198,156,147,166,120,117, 54,161,204, 37,238, 54,138, 18,186,182,166,179,150,102,104,142,148, 82,
-160,196, 10,232,155, 6,171,148,112,231,171, 74,138,181,217, 12, 29,203, 55, 29,197, 17, 12, 65, 55,163,178,100,222,200,170,197,
-246, 61, 81,211,212, 68,133, 4,180,116, 93, 35,191,252,116, 70,156,230,216,222,177,176,176, 32, 98,180, 72, 60,117, 4,112,214,
-146,231, 57,189,179,212, 77, 7,116,140,203, 17,214, 10, 22,177,110,107, 10, 83,226,135, 27, 18, 10, 96, 77, 0, 0, 32, 0, 73,
- 68, 65, 84, 41, 73, 83, 22,135, 93, 45, 72,101, 51,157,174,210, 33, 7, 97,215,117,244,157,165, 40, 51,214,128,247, 77, 35, 99,
-167,144,231, 68,137, 98, 94,245, 88,219, 19, 39, 11, 40, 45,118,140,233, 68, 48,135,224, 81, 74,198, 16,145, 22, 68,108, 57, 46,
-209, 74,147,165, 9,109,223, 83, 13, 29,175,142, 99,130,151, 15,207, 24, 67,146,101,196, 38,162,105,106,218, 86,124,243,197,168,
- 20,113,131, 23, 95,100,221,136,194, 63, 29,246,217, 66, 94,179, 76,167, 83, 70,101,137,210,154, 40,210,128,198,186,185, 76, 20,
-250, 14, 99, 52,147,217,140, 16, 60, 73,156, 8,137, 41, 73, 49, 65,145,164, 41,233,144, 34, 22, 69, 17,107,190,215, 36,137,153,
- 15,190,209,114,128,146, 88,231,232,170, 10,163, 21,104, 81,243,163, 20,243,170,162, 44, 37,133, 77,107,177,190, 20, 89,129, 49,
- 6, 19,139,103,213, 4,249, 76,156,179, 50, 54,139,196, 3,218,117, 3,191, 95,107, 80,138,174,110,209,145, 36, 85,105, 60,211,
-249,156, 40,146,194, 75,136, 87, 50, 89,201,147, 4,149, 21, 72,204,100,192,117, 45,189,115, 36,113, 2, 26,230, 85,197,168, 20,
- 7, 65,219, 52,204,231,115,230, 72, 23, 99,144,157,187,118, 65,212,177, 65,192, 52, 75, 75, 99,169,136,103, 51,177,201, 40, 77,
-221,214,120, 39, 72,198, 60,203,104,155,142,155,118, 24,126,244, 46,131,175,122,168, 28, 36,146,203,174,174,118,252,230, 31, 60,
-203,193,205, 5,219,204, 18, 69, 20, 51,222,186,200,252,252, 85, 40, 71,212,203, 83,220,124, 74, 84,102,180, 73,194,209,211,171,
-108,238, 42, 22,182,239,225,174,159,248,199, 82,124,186, 30,163, 12,147, 89,197,185,243, 23,248,179, 71,191,197,151,191,249, 24,
- 55,221,112, 61, 15,220,121, 27,155, 55,110,196, 57,199,195,247,221, 67, 28, 27,170, 70, 84,197,211,249, 42,255,254,183,126,143,
- 95,251,237, 63, 96,237, 50,198,112,231, 45, 55,243,209,247, 62,204,189,183,221, 76,154,166,108, 88, 24,163,141,140, 46,191,251,
-252, 97, 60,129,189,187,119,113,221,238,107,104,154,138,224,229,123,109,134, 85, 67, 81, 20,196,145,144, 19,157,115, 60,243,226,
- 17,190,240,251,127,204,137, 83,167, 57,120,253, 62, 14, 94,191,151,251,239,188,157, 7,239,190,139, 56, 49,156, 62,123,145,215,
- 78,156,228,154,237, 91, 57,123,113, 43,103,207,203, 94, 89, 43,120,255, 3,247,179, 97,105, 17,109, 34,124,144,200,227,199,159,
-254, 30, 71,142, 30, 99,247,206, 29, 68, 38,226,200,235,199,249,216, 35,239,228,246,155, 14, 16, 21, 5,243,201, 42,199, 79,157,
-225,215,126,231, 15, 89,153,202,139, 42, 75, 19,118,109,223, 10,222,114,238,194, 37, 54,111, 88,162, 44, 74,254,214, 71, 63,200,
- 43,199, 78,240,165,175,127,243, 7, 14,116,128,139, 87,174,242,171,191,245,251,188,235,190,123, 56,136,226,216,201, 83,252,220,
-127,243,207,120,229,141, 19,104, 61, 32, 69,135, 43, 54, 17, 87, 87, 39, 60,243,226, 97,222,243,192,253,220,125,203,205,108,220,
-176,196,142, 45,155,176,206,114,238,226, 21, 46, 93,190,196, 35, 15, 63,192,155,167,207,240,212,161,231,127,224,239,251,155,186,
-242,255,212,245,192,157,119,240,207,127,238,167,121,252,197, 87,120,236,240, 75,212,141, 88, 53,113, 18,220, 84,230, 37,171,171,
- 43,148, 69,137, 71,172, 95,182,149, 66, 75, 16,212,142,105, 53, 35,116,158,180,143,229, 57, 64, 0, 35,210, 73,150,178,171, 29,
- 21, 56, 27,200,116, 74, 85,205,241, 85, 77, 54,184, 99,214,146,221,214,138,101,103, 28, 58, 72, 10,102, 91,139,136, 22, 52,117,
-211, 80,183, 83,198,101, 73, 49, 42, 89,157,172,138,208, 87, 5,108,103, 41,203, 17,214, 89, 50,147, 17,220, 80,152,251,128, 82,
- 17, 11,163,148,182,151,104, 82,101,213,240,185, 75,209, 82,142, 75,122,107, 73,179, 20, 91,213,140,199, 11,178, 47, 95,120, 11,
- 76,227,189, 39, 86,134,149,149, 21,178, 44, 19, 6,134,237,113, 90,203,180, 82,203, 59, 53, 38,166,174,231, 18,218, 18, 88, 31,
- 61,119,157, 80,232, 70, 99, 17, 49,218,174,195, 5, 9,119, 9, 72, 78,135, 54,178, 98,213, 90, 99,188, 33, 82, 17,104,112,222,
-137, 72, 23,134,128, 42,201,165,136,227,152, 36,214,160, 2, 26,141,243, 26, 59,216, 8,179, 52,167,239,166,204,167, 83,226,165,
-133,193,149, 32,141,196, 40, 23,231, 79,221,183,146,134, 87,148,210, 56,181, 82,212, 16,192, 42,249, 14,199,227, 18, 99, 98,250,
- 94,126,215,213,213, 41, 90, 54,133,104,173,153,215, 53,161,170, 88, 19,100, 75,152, 85,144,213,163,151,148, 69,140,166,154,205,
- 33, 4,170, 90,112,181, 90, 33,105,121,193, 51,159,205, 24,149, 37, 12,127,103,100, 34, 72,131, 36,177,121, 89,255,180, 93, 55,
- 96,133,193,123,135, 11,129,113,185,136,142,100, 42,224,131, 88,201, 81, 16, 65, 96,117,178, 76, 81,148, 34, 6, 32, 12,164, 55,
- 69,240,195,216,195, 24,172,245,204,230, 51,169,110,178, 28,163, 53,132,152,121, 45,106,190, 85, 47, 7, 75, 18,199,104, 99,152,
- 76, 39, 68, 38,102,109, 15, 32,166,254, 24,239, 25,188,203,200,151,161, 53, 10, 79, 81,230, 40,239,169,171, 57,101, 89,208,247,
-142, 36,150,151,118,215,182,200,193,173,152, 87, 83,140,146,236, 94, 19, 69, 72,124,167,161,235,123,234,186, 38,207, 10,178,188,
-192,104, 77,221,180,232, 40,146,110,113,243,102, 8,129, 16, 36,152, 64,194, 82, 36,187,215,187, 64,154, 37,224,197,159, 89,205,
- 43, 66, 44, 22,189,170,174,222, 98,209, 59, 71,219,118, 2,118, 80, 10,147, 36,204,235, 90,172, 36,201, 8,215,181,120,167,152,
- 85, 51,188, 21,197,164,237, 58, 64,211,216, 6,124, 96,214,206,208, 74, 68,105,241,216, 48,155, 13,160,254,225,128,107,187,150,
-114, 60, 38, 32,190,253,182,239,135, 36,181,128,183,129, 16, 39,196, 81, 74, 98, 96,222,212, 76, 39, 19,162, 52, 21, 36,235,124,
-142, 89, 75,160,211,154,213,201,132, 44,203, 48, 38, 70, 32, 8, 29, 38, 50, 84, 85, 45,133, 68,239,241,198,130,181, 67,112, 65,
- 16,172,107, 39,138,109,172, 69,101,153,208,145,180,150,157,109, 8,224,123, 8,144, 36, 25, 77, 99, 9, 62,224,140, 71,217,192,
-218,251,217,121, 47,130,192,217, 32,204,243, 16, 84, 64, 13, 83,210,117,118,189, 23,178,210,104, 52, 18,223,172,151, 10,118, 13,
- 80, 19,153,136,166,173,113, 46,240, 51,247,100,112,201, 66,223,162, 22,199, 80, 87,168, 45, 35,190,247,149,151, 81,147, 41,102,
-251, 34,225,165,151, 56,126,230, 18,243, 30, 46,204, 45,253,108,142,235,122, 62,253,200, 65, 46,119, 61, 95,122,225, 60,155,234,
- 57,182,159,112,243,143,253, 11,156, 87, 88,219,201,248,206,119, 28, 59,113,138,175, 63,254, 36,143, 62,241, 29,206,158,191, 72,
- 81,100, 28, 59,121,134,143,127,224, 17, 30,190,231, 78,236, 48, 86, 11, 65,246,221, 62,120,110, 61,176,159, 31,122,255,123,249,
-198,147, 79, 49,175,106,130,115, 28,220,127, 29,247,222,113, 43, 27,151, 22, 6, 27,214, 85,190,243,220, 97, 30,125,252, 9,250,
-193,231,252, 15,127,242,115,124,224,157,239,192, 90, 43, 63,183, 19, 43,229,120, 36,133,162, 82,138,162, 44, 56,117,246, 28, 23,
- 46, 94, 98,219,230, 77, 28, 63,121,138,163, 39, 78,146,196, 17,251,246,236, 97,117,186, 42,250, 8, 5, 59,183,109,230,214, 3,
- 55,240,250,137,147,235,135,250, 63,249, 7, 63,203,189,119,220,138, 82,138,201,116,202,177, 19, 39,249,250, 19, 79,242,149,111,
- 62, 70, 24,166, 12, 91,183,110,225,192,117,123, 16, 63,113, 67,179, 50,225,209,199,191,195,247, 94,120,145,203,203, 43, 44,175,
-200,232,189,105, 59,158, 59,252, 10,155, 55,110,228,193,123,239, 34, 73, 82,158,120,246, 16,255,242,223,252, 42,163, 60,227,129,
- 59,111,227,220,133, 75,156, 56,115,150,135,238,189,155,235,247,236,226,200,171, 71,121,224,174,219,216,191,111,175,168,212, 31,
-123,146,175, 63,246, 4,151,150, 87,135,239,223,227,135,123, 66,107, 77,239, 60,109,215, 82,100, 5, 87,150,151, 89, 90, 28,177,
-123,199, 54,202,133, 49,243,233,156,229,149,115,188,252,250, 49,190,254,196,119,177,214, 82, 22,249,250,100,110,237,250, 79, 29,
-232,111, 63,236, 55,110, 88,226,230,253,251,248,137, 79,127,146,206,123,238, 61,120, 3, 70,107,190,254,244, 33,156, 21,184, 76,
-112, 65,172,151,193, 51,157, 79,137,146, 4, 19, 12, 81,102, 8,138,117,118, 3, 30,130, 6,223,123,116, 42,227,208,186,126, 75,
-112,219,119, 82,204,171, 8,166,171,171,120,164, 49,154, 78, 39,148, 69, 41,160,170, 56,194, 3,137, 49,204,230,115,172,115,140,
-203, 49,126, 24,227, 3,184,190, 39, 56,129,147,180,109, 77,154,102,235,123,222,214, 53, 56,215,145,166,249,186,182, 8,130, 20,
-114,109,131,237, 69,156,170,148,194, 71, 67, 14, 3, 30, 23, 2,211,169, 20,240,193, 9,249, 50,120, 79,111,123,226, 40, 38, 73,
- 4,206,163,181, 6, 13,193,138, 46, 64, 27,153,212, 9, 68, 39,224,135,127,103, 26, 71,168,161,129, 81,200, 36,183,107,133, 36,
- 90,142, 74, 81,218, 43, 72,162, 8, 13, 66,169,243, 97,176,244, 65,146, 24, 2,178,171,238,144,247, 80, 63,172, 90, 76, 44,201,
-141,113, 44,194,223, 53,122, 39, 64,146,102,184,174, 35,205, 50,234,186,145, 41, 68, 57, 98, 62,159,177,186,186, 74, 89,142, 17,
- 87,151,161,174,107, 57,124,187,158,200, 68,116, 77, 67, 48,154, 98,180, 64,223,201,148, 44,138, 34, 20, 82, 80, 56,231, 80, 70,
- 0, 90, 16,134,221,185,136,144, 67, 16,241,180,115, 30,173,100, 84, 62, 26,151,196,177,156,125,109,219, 98,173, 4,146, 41,173,
-112,195, 26,101,218,203,191, 59,205, 50, 70,163,145,112, 68, 52,204,231, 21,138,150, 40, 18,213,187,216,197,197, 10, 41,187,116,
- 9, 17,107,234, 26, 31, 28,161,151,105,111, 28,199, 36, 89,138,235, 45, 81, 26, 71,116, 33, 48,155,174,162,148, 84, 5,113, 44,
-156,247, 56,202,240, 4,146, 40, 38, 30,231,216,222, 82, 85,213,186, 16,197,123, 57,136,198,227, 5, 25,153, 38,153, 84,107, 38,
-224,189,236,210,141, 5, 23, 60,202,117,168, 78,242,198, 35,173,135,253,141, 71,163, 80, 58, 2,239,152, 76, 69,208, 48,159,138,
-237, 66, 33,227,122, 81,228, 15,121,219, 38, 37, 4,225,191, 27, 35,217,228,104, 69,166, 99, 73, 52, 83,114,168, 66,178,126, 67,
-218, 97,252,225,157, 3,197,176,247, 22,107, 77,240, 34, 82,168,231,242,161,165,113,204,120, 60,150, 74,210, 89, 12, 26, 33, 72,
- 9,143, 55,248,128, 66,132,106,193, 11, 52,192,104,141, 14, 80,117, 29,189,117,248,222,226,131,135, 52, 69,161, 72,135,145,203,
-108, 50, 33,138, 34,178, 52,165,235,122, 86, 87, 86, 8, 58,162,200, 69,245, 8, 16,194,224,223,183,150,206, 5, 84,223,163, 85,
- 4, 38, 34, 68, 80, 14, 2,187,182,239, 81,189, 5,165,137, 34,131,237,160, 40, 74,230,115, 25,213,121,239,113,222,211,181, 29,
-218, 24, 70,227,177,176,148,157, 76, 50,214, 42,211,162, 44, 80,104,162, 88,172,133,137,137, 9,201,208,113, 47, 46,202,205,233,
- 61, 73, 20,225,140,193,120, 47,251,159, 88,172,104,214, 90,180, 81, 3,245, 72, 94,154, 90,173, 33, 57, 7,170, 93,112, 68,218,
- 12, 28, 4, 73,181,155, 78, 37, 45, 75, 41, 67,154, 27,122, 39,150, 17, 23, 68,113, 15,224, 66,192, 12, 93,207,166, 18,150, 18,
- 77,243,234,235,244,171, 51,202,219, 14, 16,142,158, 68,223,125, 19, 47,157, 92, 38, 75,140,132,209, 44, 25,174,223, 18,147,189,
-235, 38, 88,241,124,233, 91,199,120,223, 29,187, 72, 14,238,224,107,191,255, 12,215,218,138,105, 51,231,182, 31,249, 47, 88,188,
-241, 46,234,129,110,232,188,103,117, 58,101, 58,159,115,233,234, 50, 39, 78,159,101,101, 50, 97,101, 50,225,145, 7,238,103,177,
- 44, 57,119,233,178,140,242,156,216, 88,226, 72, 92, 7, 93,223,113,238,226,165,183, 14, 23,173,153,207,102, 28,123,243, 20,163,
-162, 32,207, 82,254,232,203, 95,229,119,254,236, 47,197, 33,225, 97,215,246,173,124,239,133, 23,201,210,132,219,111, 58, 72, 20,
- 9, 55, 65, 5, 89, 35,133,224,135,200, 95,184,188,188,194,229,229, 21, 94, 63,254, 38,189,117,236,220,186,149, 91,110,188,129,
- 59,111, 61,136,137, 98,102,179,138,243, 23, 47,243,216,119,159,225, 43,223,254,171,245, 81,244,131,247,222,197,223,253,244, 39,
- 72,226,132,203,203, 87, 57,122,226, 36,199, 79,157,225,165,215,223,160,233, 58,118,110,221,202,205, 55,236,227,134,235,174,101,
-199,150, 45,236,220,182,149, 36, 78,184,112,249, 10, 90,107,158,122,238, 69,222,120,243, 36,107,215,134,165, 69, 62,246,200,187,
-248,224, 59, 31, 98,255,222,189, 20, 89,138, 81,138,155, 14,236,231, 79,190,242, 53,222,126, 29, 58,242, 18, 31,121,207, 67,252,
-194, 63,248, 25,118,236,217,141,111, 59, 78,188,121,146, 50,207,185,102,251,118,118,110,223,250, 3, 57,236,187,118,108,231,254,
- 59,111, 99, 60,124,255, 90,107, 54, 45,109, 32,207,211,117,177,103,150, 38,156,187,178,204,249, 75,151,120,229,141, 19,252, 77,
-215, 95,239,212,215,254,119, 8,129,178,200,185,245,198, 3,252,252,127,246, 89, 30,188,231, 14, 46, 92,188,194, 43,175,191,193,
-149, 85,217,217,199, 93,203, 42,138, 60,205,105,130,248,191,149, 22,133,117,219,246,196,169,166,106, 26, 34, 12,202,200, 94, 50,
- 50,134, 36,205,196,190, 22, 68,177, 29, 8, 36, 81,130, 14,138,160,100,101,217,247,162, 37, 49,145,161,183, 29,190,147, 3, 73,
- 33,231, 69, 18, 39,216,222,146,151, 37, 10,177, 52,105,164, 8, 87, 64,150,202, 58,166,105, 42,188,245,116, 93, 75,100, 34,234,
-190, 70, 27,205,124, 94,145, 36, 9, 81,156,144,196,130,198,110, 42, 73,101,180,206,210, 87, 29, 62, 4,210, 36,167,163, 39, 86,
-242, 46, 82,200,142,220, 5, 25,109,163,196,182,170,181, 8, 94, 55,108,216,128,115, 50, 70,158, 78, 39, 88,235,168,235,150, 40,
- 74,200,210,140, 36, 12, 54,180, 68,240,192,105, 34,113,181,109, 83,163, 81,228, 69,142, 81, 6, 23, 36, 79, 66, 5,232,113,224,
- 60, 38,150, 29,120,219,214,235,211,209,182,107,233,123, 75,146,164, 4, 37,192, 29,171, 2,202, 57,210, 56,165, 30,132,198,107,
-233,119,104,141,237, 4, 45,190,174, 37, 74, 18,138, 60, 34, 54, 18,107, 90,215,115, 89, 13, 20, 5,158,192,188,105,196, 59,159,
-166,120, 39, 25,240, 74,105,108,175,134,230,241, 45,234,166,247,242,255,187,222, 81,148, 5,221,138,112,245,197,166, 40,255,157,
-199, 17, 17,209,118, 29,243,249,156,197, 13,130,174,149,247,167,236,190, 3,129,198,116, 40, 28,214,202,217,209, 54, 13,157,210,
- 20,163, 2, 29,132, 66,218, 91, 75,215,121,180,209, 36,105,138, 50,134,190,235,208, 74,166,203,109,219,160,148, 56,182,122,235,
- 16, 54, 75,141,124,117,138, 40, 4,135,115, 61,163,162, 68, 25,197,116, 54, 97, 62,173,197,179, 30, 26,202,188,144,155, 44,136,
-196, 30, 15, 81, 36, 57,220, 32, 48, 21,239, 61,121, 94, 80,181, 67,134,173,245,160, 64,107,225,251,182,109,143,237,107,154,186,
-146, 67, 60, 73,232,251, 78, 2, 92,130, 35,139, 19,150, 87, 86, 8, 33,144,143, 70, 24,163,105,171, 22, 31, 68, 20, 22,153, 24,
-231, 2, 1, 17,220, 41,229,152,207,122,138,241,152,249,108,130, 66,147,101, 37,105,106,168,157,151,155, 35, 8,113, 9,173, 9,
- 94,186,252,174,233,112, 72,184,138, 86, 66,102,114,206, 17, 90,161,229,245,109, 47, 55, 80,112,244,125, 75, 97, 70,180,189,144,
-147,210, 36,149, 74,180, 20, 5,125,221, 74, 17, 80,230,249, 32,166, 11,148,197, 8,219,203,206, 84,245,142, 60, 77, 48, 69, 73,
-219,182,196,145, 33, 74,228, 6, 16, 97,132, 96, 28,131,119, 52, 85, 53, 76, 17, 2,104, 69, 89,142,165,226, 94, 93,197,163,192,
- 8, 92, 33,142, 52,243, 86,226, 23, 67,240, 96, 12,113,146,208,214, 45,198, 68, 84, 85,195,226,120, 12, 74, 83,215, 53,182, 17,
-248, 14,222, 83,213, 53, 90, 65,235,100, 15,156,198,195,129, 84,183,194,211, 71,175,115, 7,202, 34, 99, 77, 32, 18, 37,242,130,
- 72,226, 20,143, 84,140,227,241, 24,165,164,123,200,210, 20,173,141,172, 34, 6, 12,112, 85, 87,152, 40,194, 59, 75,111,133,225,
- 63,157, 76, 41,114,217, 61,165, 89,202,210,210,162,144,164, 84, 36,255, 30,215, 19,167, 25,222, 90,156,146,110,199, 68,134,121,
- 39,157,192,123,111,207,217, 52,155, 49,155, 54, 44,220,127, 16, 70, 41,140,111,196, 95, 92, 70,173,206,177,101,193,177,139,171,
-220,240,212, 51,100,183,109, 34, 20, 9,106, 73,115,195,245, 91,184,229,142, 61, 92,124,237, 28,106,117,198,164,153, 19,111,221,
-199,142,123, 63,194,116,101, 21, 20,146, 80,215, 73,178,214,202,100,194, 87,191,253,248, 58, 53,238, 83, 31,124, 63, 63,243,217,
-207,176,125,243,102,122,219, 83,213, 13, 73, 28,145,165,201,240,178,116,108,220,176, 81,196, 57,195,117,195,117,215,242,137, 15,
-190,159,189,187,119,178,123,251, 54,162, 36,225,253,239,126, 24,167, 20, 95,255,171, 39,121,231,253,247,242,241,247,189,139, 93,
- 59,182,147,166, 49,206, 58,185, 23,128,222, 58, 66, 24, 58, 8,215, 19,105, 73, 70,172,219,142, 44, 73,136, 35,131,243,142,233,
-172, 98,121,117,202,166, 5,177,220, 52,109,195,172,109,176, 86, 10,115,173, 53,174,119,124,231,153, 67,236,191,110, 47,101,145,
-115,237,174,107, 88, 89,157,208,180, 13,183,236,191,158,219,111, 62,200,190,107,119,113, 96,239, 94,182,111,221, 76, 28, 25, 94,
- 61,118,156,167, 14,189,200,235,199,143,115,224,186,189, 28,123,243, 20,193,121, 60,129, 13, 75,139, 60,242,208, 59,248,216,135,
-222, 71, 91,213,124,243,201,239,242,235,127,244, 69, 94,124, 89,160, 52,117,211,178,113,105,129,235,247, 94,203,107,199, 78,240,
- 63,254,111,255,150,203,203, 43,252,244,143,254, 45,230,117,205,115, 47,190,204,215, 30,127,146, 67, 71, 94,229,220,165, 31, 68,
-199,158, 60,115,150,159,250,209, 79,241, 15, 63,255, 83, 40,165,184,120,246, 60, 85,219, 48, 30,149,116, 85,197, 55,158,124,138,
- 11,151,175,208,119, 61, 43,147, 31, 28,243,175, 93,107, 7,250,219, 15,243,181,235,174, 91,110,226,191,253,249,207,115,255,189,
-119,115,249,210,101, 46,173, 44,243, 7,127,254, 53,108,223,113,233,234, 50,101,145,115,105, 50,231,192,205, 55,201,238, 53, 54,
-168, 32,192,172, 36,149,162, 43, 78,132, 38, 23, 66, 88,159, 56, 85,179,138,153,235, 25, 47, 44, 34,146, 56, 37, 19, 20, 13,177,
-137,177,193, 14,211, 45,177, 48,181,117,135, 86, 26,163,145,213, 88,211,145, 4,185,135, 84, 16, 93, 80, 24, 58,193, 56,150,212,
-180,134, 6, 21, 25,178, 36,195,100, 74,146,225, 20, 68,196,232, 72, 80,221,113, 28, 81,215, 13,222,201,123,221, 57, 79,211,123,
-180,138, 25,141, 10, 97, 82, 56,121,247,116,182, 35,139,228,125,134,150,209, 54, 14,186, 97, 2, 17,167, 49,244, 50, 97,211,136,
- 24, 48, 31,160, 54, 93, 35,164, 58,111, 29, 81,100, 80, 38,162,105,154, 97,157,105,152, 15,144, 24, 60,180,182, 29,138,159,136,
- 40,141,132,238, 54,236,145,109, 43, 83, 63,107, 61, 4,153,172, 6, 60,121, 33, 92,141,122, 46, 54,174,208, 59, 90, 44, 38,150,
-134,206,182, 61,222, 8,143,222, 4, 1,165, 41,173, 80, 4, 64,161,149, 34, 32,140, 19,215, 6,178,108, 56, 67,130, 39,142, 34,
-188, 22,241, 30, 65, 2, 84, 58,107,137, 85, 60,248,192, 45,133, 41, 1, 79,215,201, 72,189,109,107, 60, 80,228, 5,163,209,120,
- 0,180, 5,172, 87,168, 16,208, 58,162, 11, 29, 90, 7,156, 11,116,157, 37,202,228,185,141,163, 8,239,101, 90,147,101, 49,214,
- 27, 76, 4, 73, 42, 81,181,206, 73, 12,107,221,213,164,121, 70,174, 11, 64, 92, 75,226,252, 72,134,247,236,224, 84,179,146,171,
-146,164, 25, 62, 52, 56,223, 19, 27,209,110, 36, 69, 74, 84, 85,115,146, 56,198, 12,232,193, 81, 57,166,106, 26,218, 90, 70,140,
-243,186,166,247,130, 30, 85, 40,132,229, 17,145, 71, 50, 94, 8,192,108, 58, 71,101, 26,239, 60,113, 30,145,198, 18,252,226,157,
-165,170,106, 97,186, 43,233,224,250,182,165,235, 91, 70,163,145,140,164,134, 78,204, 59,161, 32,137,224, 34, 34,142, 3,218,136,
-213, 46, 40,197,104, 52,166,179,178,151,169, 42,177, 96,116,109,141, 10, 10,235, 44, 93, 39,184,215,209,184, 92, 31,147,228, 38,
-149,108, 93,173,137,227,136, 52,203,176,182, 5,164, 10, 13,206,209,216,142,113,150, 49,155, 85,140,202, 66, 0, 11,157,149,112,
-132, 97, 31, 30, 16,172,109, 81, 20, 40,173, 9,222,161,134,151,134, 28,216,145,248,204,149,172, 42, 66, 47, 7, 17, 65,129,151,
- 7, 95, 1,227,241, 88, 14, 48,100, 52, 63, 26, 13,100, 40,109,152,204,103,132, 97,162, 16, 25, 37, 59,147,133, 5,172, 21, 5,
-254,218,232,105,113, 97, 68,215,217,225, 6,214, 36,145, 6, 35, 15,201,120, 32,246,205,103,115,242, 34,197,186,128,243, 61,163,
- 98,132, 87,129,166, 17,232, 79,211, 52,100,121,129, 82,226, 85, 77,146,100,253, 64,247,206,209,244, 30, 21,100,221, 96,187, 78,
-186,130,182, 93, 31,137, 47, 95,189,138,210, 18, 91,105,173, 37, 49, 49,137, 49, 92,189,114, 5,101,204, 80, 88, 40,148, 49,100,
-105, 70, 85,137,250,215, 5, 69,164, 21, 42,104,140,137,200,146,140, 36, 77, 80, 40,130,115, 84,109,143, 54,146, 93, 12,129, 60,
-203, 89,200, 21,127,255,221, 9,239,221,163, 8, 62,102,113,255,221,208,123,130, 13,144,192,147,135,207,112,215,109,187, 88,173,
- 58,142, 29,187,140,106, 91,194,178,230,235,127,124,132,233, 74, 75,227, 60,103,206, 92,226,185, 51, 19,182,245, 29,103,171,142,
-247,124,232,199,153, 13,163,243, 36, 73,137,146,132,145,137, 57,126,250, 52,255,232,159,255, 34, 77,219,113,231,205, 7,249,249,
-159,250, 59,188,235,254,123, 0,152,215, 53,117,211,144,165, 41, 27, 55, 44,145, 38, 25,117, 93,113,252,228, 73, 94,127,227, 56,
-111,156, 20, 11,215,199,223,247, 30,254,135,127,244,159, 83,230, 57, 81, 28,177, 50,157,241,226, 43,175,242,221,231, 15,243,133,
- 63,248, 35,218,166, 99,223,158, 93, 92,184,116,137,205, 27, 55, 18, 25,141, 11, 16, 58, 17, 58,122,239,209, 73, 10, 10,108,239,
-192, 40,102, 85,197,233,179,231, 56,117,238, 28, 73, 28,113,253,158,221, 60,120,247,237, 92,123,205, 14,118,108,219, 34,157,197,
-188,230,252,197, 75,172, 14,197,136,168,153, 21,104, 77,111,123, 94,120,245, 20, 95,126,244, 91,188,118,236, 56,187,119,236,160,
- 28, 21,108,223,178,153,253,123,246,172, 91, 55,143,158, 56,201, 95,124,235,113,190,246,216, 19,188,246,198, 9,154, 86,198,159,
- 27,151,150,184,245,192,126,122,219,243,196,211,207,242,224,221,119,112,117,121,133,201,108,198,226,120,196,229,171, 87,215,149,
-246,163, 98,196,103,127,248,227,252,221, 31,251, 12,222, 90,230,179, 57,229,168,228,228,169,211,152,200, 48,155,215,156,187,116,
-137, 53, 40,207,218, 85, 22, 57,123,174,217,201, 87,191,253, 56,251,175,221,195,135,223,243, 46, 54,111,219, 70, 95, 87, 40, 68,
- 47,146,196, 17,207, 29,126,137, 19,103,206,177, 48, 42,248,255,187,214, 14,115, 99, 12, 90, 73,193,116,248,181,163, 28, 63,117,
-134, 61,187,174,225,208,145,151, 57,126,234, 12, 79, 63,255,194, 15, 4,199, 76,102, 83,238,185,239, 62, 64,246,210, 4,232,218,
-134,222,246,195,222, 28, 76, 20,129, 19, 90,152, 15,158, 34, 45,232,187,142,200,104,122,165,176,222, 97,219, 97, 60,237,189,236,
-187,131, 20,204,114,255, 39,184,222,211, 90,121,223,168, 97,242, 23,197, 17,229,104,204,100,117,149,162,144, 72, 88,135,100,146,
-171, 16,176,120,250, 70, 14,236, 36, 73,240,222, 18,122, 77,150,165,180,189, 37,137, 19, 92,144,112,173, 44,203,228,240, 85, 29,
- 85, 5, 26, 77, 82,100, 96,229,247,153,205, 7, 43,238,112,128,180,157,136,134,141, 49,195, 59, 12, 20,210,185,134, 16, 24,141,
- 70,184,185, 35, 31,101,168, 0, 62,120, 76,156,201, 10, 75,169, 97,146,229,134, 68,206,142,214,119, 56,235,208,145, 98,222,182,
-168, 70,166, 30, 90,107,162, 97, 58,105,135,251,190,243,129,206,138,165,212, 57,185, 39,138,145,176,238,243, 36, 99, 54,159,139,
-136,109,148, 12,182,102, 8, 46,144,100, 9, 72, 31, 41,152,218, 52,198, 90,139,115,129, 44,205, 49,166, 71,196,105, 18, 15,221,
- 52,141, 20, 12, 67, 97, 81,140, 10,188,135,128,216,144,141, 54,226,165,215, 2, 98,179,214,210, 89,153, 28, 52,109, 67, 20, 37,
- 44,140,199,244,118, 13,159,107,193, 40, 84, 47, 19,104, 23,160, 30,144,173,137,145, 24, 92,219, 91,180,214,180,173, 21, 49,117,
-150, 65,144, 6, 52, 40, 43,154,181, 0,120,168,186,102,248,108,220,224,162, 16,145,122,221,182,100, 89,182, 30,203, 13, 3,146,
-214,202, 26,194, 90, 73,146,139, 8, 30, 81, 42,203, 23, 43,163, 95,200,146, 88,140,239,121, 74, 52,228,246,214,117, 75,215,119,
-120,175, 17,120,190, 84,194,113, 28, 49,175,103,168, 88,246,184, 11, 67,199,214,219, 30,239, 29,113, 34, 59,222,182,106, 64, 43,
- 70,165, 88,176,226, 88,212,130,174,183, 64,160,234, 26,140, 21, 14,175,137, 52,147,201, 42,193,137,200, 42, 77,115,138, 82,170,
-226, 52,149,131, 41,184, 32, 15,108, 44, 54,187,166,106, 89,190,218, 50, 94, 90,162,158,205,241, 64, 90,100,228, 67, 39,234,176,
-232, 72, 88,243,210,249,139,173, 33, 4,201,106,183,206, 82,183,205, 80, 9,105, 57, 96,188,167,173,107, 58,165, 6,165,115, 66,
-150, 8,131,215,123, 33,161, 69,145, 84,169, 12,251, 26, 20,224,197,107,108,140,236,136,148, 30,246,247,136, 88, 35,142, 98,170,
-106, 78, 28,167,164,177, 97,113, 97, 76, 83,183,210,241,105, 67, 51,116,255, 33, 64, 94, 20, 50,138,114, 30, 99, 98,138, 34,161,
-109,123,124,232, 8, 42, 37,137, 34,146,209,136,190,105, 72,178,148, 40,137,105,123,199,194,194, 8,130,200, 23, 12,138,116,156,
- 9,165,206, 24,218,174, 65,171, 72, 70,251, 48,164,228, 37,212,182,195,213, 45, 73, 89,144, 12,190, 88,173,165, 74, 23,207,172,
- 8,230, 8, 65, 16,141, 1, 26, 47,135,246,218, 67,127,117,101, 69, 4, 48,193,209, 54,130,252, 76,210,140,216,232, 65, 93,107,
-129, 88,138,138,182,149, 44,120, 39, 49,130,182,111,177,214, 15,104,205,192,231,223,153,243,222,221, 17,161,177,176,160, 9,111,
- 78,248,242,183, 94, 99, 92, 24,222,249,222,131,228,227,156,173, 75, 25,135,142,156,227,163, 15, 93,135,191,126, 3,255,247, 23,
-158, 34,153,205,217,150,167,108, 42, 82,158,120,234, 24,222, 65,134,229,134,251,222,205,232,224, 3, 76,134,169,209,108,190,204,
-115, 71, 94,166,237,122,254,251,255,229,151,215, 15,178,209, 72, 62,187, 51, 23, 46,136, 78,193, 72, 58,215,226,104, 68, 28,197,
-212, 77, 69,221,180, 76,230, 21, 95,253,246,147, 92, 93, 94, 33,137, 35, 30,186,239,110,209,114, 24, 67,104, 26, 14,191,126,148,
- 39,158, 57,196,147,207, 60,207,214,141,155,216,187,107, 23,159,253,225,143,179,115,219,102,124,240,111, 77,188,122, 17,191, 20,
-131,151,119, 84, 22,212,109,203,179,207,191,192, 99,223,123,150,139, 87,174, 98,123,241, 49, 23,163,146,165,197, 5,182,108,218,
- 72,221,180,124,235,187,207,240,236, 11,135,185,186,188, 66,239,228, 37,160, 81,220,184,255,122, 20,138, 55,207,156,227, 91, 79,
- 60,197,209, 55,222,100,203,166, 77, 60,124,223, 93, 60,112,207, 93,248,222, 98,157, 69, 27, 67,215,203,126,250,250, 61,187,249,
-166,137,214, 63, 7,128,213,233,148, 13, 27,150,248,137, 79,127,130,157,219,182, 50,171, 42,190,245,228, 83,188,252,198,155,156,
- 60,125, 78,188,193, 3, 92,200,123,203,179, 47, 30,102,219,230, 77,220,115,235, 45,140, 71, 37,175,188,118,148,191,250,222, 51,
- 92,190,116,153, 77, 27,151,216,176, 52,230,194,197,183, 0, 51,251,247,237,229,159,253,151, 63,199,117,187,174, 97, 97, 60, 98,
-243,166, 13,120, 60,161,169,112,206,113,236,205, 83,188,126,252, 77,156,235,217,127,237,181, 28,123,243, 52, 71,143,203, 90,224,
-111, 18,197, 41,165, 8, 10,242, 36, 97,105,113,129, 71, 30,124,128, 27,246, 94,203,197,203,151,217,181, 99, 59, 7,247,239,227,
-229,215,223,224,240, 43, 71,121,250,197,195,235,223,193,219,175, 43, 23, 47,242,220, 51,207,114,199,157,119,138,173, 43,136,103,
- 61, 77, 83,140,142,168,231, 21, 68,253, 48,109, 12,160,196,174,102,123, 75, 57, 42,101, 93, 53,140,130,181,150,124, 10,235, 61,
-179,217,156, 52, 78, 80, 70, 2,165,148,134, 34,149, 41,103,164,133, 37,144,231, 57,120,233,234,133,219, 14,105, 58,172,240,102,
-115,140, 82,152, 88, 44,103,214,247,195,244, 84, 44,107,214, 90,146, 52,162,107, 61,233, 56,197,245,110,125,154,224,122, 71,148,
- 69,248,193,186,106,204, 16,157,154,101,116, 77, 75,146, 68,164,105, 70,211,214,232, 72,210,215,100, 52,222,174,143,130,155,182,
-147, 67, 20, 17, 53, 10,200, 72,186, 83,109, 12,211,233, 42,163,209, 2,202,139,103, 61,120,135, 11,142,182,181,164, 89, 76,211,
-200, 42,179, 44, 75, 41, 2,140, 34, 14,134, 36,138, 9,193, 99,123, 75,156,102, 56,219,210,247, 45,125,239,240, 78,248, 10,113,
- 20,145,229,249,186,248,110, 97, 97,129,116, 88,113, 42,163, 40, 75,225, 1,244,189, 24,179,149,146,105,109, 8,130,230,214, 26,
- 66, 80, 68, 73,138, 82,129,122,152,134, 68, 90, 83,183, 13,113, 42, 78,159,186,171, 81,206, 97,189,193,117, 34, 84,141, 84,132,
-235,100,242,168,104,214,119,230,105, 33,252,118,141,194,133,126,104,202,132, 98, 89,215, 21, 11,163, 49,161,151, 68, 83,215, 75,
-243, 25,197, 17,109,211, 14,211, 78, 57,236,187,206, 66,240,244,189, 52,140,107,235,209, 16, 2,113, 18,139,104, 46, 8,131,190,
-175, 42,148,150,243,201,246,142,233,108, 10, 65,145,196, 17,202, 67,164,180,161,105, 90, 34, 19,200,199, 11,148,101,194,100, 54,
-163,243,129, 16, 20,177,137,137,226, 68,246,231, 26, 17, 69,133,181, 27, 69,160, 33,131, 91, 3, 23, 96,214, 77, 89,190,122, 21,
- 97,208,106, 52,138,182, 22,245,100, 18, 27,226, 56,163,235, 68,173,222,119,146,145,142, 82,148,229,136,214, 54,228,105,193,244,
-255, 99,236,205, 99, 44,187,238,251,206,207, 57,247,220,245,109, 85,213,221,213, 75,117,245,194,222,200,102,179,185,147, 34, 69,
- 81, 20, 45,201,148,100, 57,180,156, 56,182,227,216, 14,108,140,147, 9, 48,177, 17,100, 48,147, 1,102,226, 1,130, 56, 64,156,
- 89, 16, 15,236,137, 19,195,206,120,145,101, 43,150, 20, 91,178,100, 90,162,196, 22, 73, 81,220,155,189,144,189,239,107, 45,239,
-189,187,223,123,206,252,241,187, 85, 18,109, 79, 48, 23, 40,116,131,236,170,122,239,190,123,239, 57,191,223,239,251,253,124, 87,
- 37,180, 69,183, 93, 34, 87, 99,105, 84, 77, 27,138,231,115, 45, 71,189,181, 96,180,136, 19,162, 80,148,233,214,194,234,202, 18,
-253,100, 64,154, 79, 73,199, 53,165,201, 25, 13,135,164, 69,137,167,101,145,243,117, 0,218, 17,250,129,248,184, 59, 47,169,239,
- 25,194,192, 39, 47, 43, 92, 93, 49, 24, 12,240, 60, 1, 45,212,117, 69,145,103, 84,149,216,192,180, 18,190,187,181,150, 48,140,
-229,117,105, 97,171,143,199,171, 36, 65,132,214,134,178, 22,171, 65,158, 73, 32,192,112, 56,164,160, 32,233,201, 5,154,229,242,
-223,122, 70,163,149,161, 40, 37,130,111,146,166, 12,250,125,129,254, 55,142,184,215, 19,127,187, 18,170,159, 35,196, 57, 40,235,
- 18,173,252,110,148, 80, 96, 65,218,111, 86, 34, 74,179, 52, 67,121, 90,152,203, 77,131,241, 13,174,174,128, 22,231, 20,117, 45,
- 59,206,113, 42,169,107, 0,101,110,169, 16, 82,214, 96, 52,162,172, 42,218,186, 37,142, 67,162, 72,130, 86,148, 21,111,104, 94,
- 20,216,238, 2,156,142,199, 56, 45,243, 97,141, 38, 67,110,144, 42,207, 8,195, 0, 28, 56, 79, 83,215, 53,107, 10, 92,133,146,
- 27,184,117,244,250, 98, 41,178, 22,102,122, 13, 79,236, 14, 37, 27,221, 87,184,165,138,223,251,211, 55,217, 57,236,113,245,250,
-132,115,111, 94,224,240,222,121,188,186,229,169, 7, 23,217,244,224, 46,190,240,185,215, 9,178,130, 1,160, 90,168, 45,140,122,
- 49,211,172, 96, 82, 42,246, 62,254,105,150,167, 41, 56, 73,104,202, 75, 73, 86,250,234,243, 71, 88, 90, 17, 75,218,254, 59,118,
-241,233, 31,248, 48,187, 22,183,173, 51,171,163, 48, 34, 12, 3,140,231,117,110,136,150,227,167, 78,243, 43,255,215,111,242,198,
- 59, 18, 62,114,247,254,125,140,134, 3,153, 95,118, 66, 24,163, 52, 23,175, 92,103,121,188,202,190, 93, 59,121,228,254,123,152,
- 25, 13,241,131,144,182,109,201,242, 66, 2, 49,128,208,247,120,249,245,147,252,234,111,254, 54,207,126,244, 41, 6,131, 1, 51,
-163, 33,107,194,157,185,153, 17,187,119, 46,112,199,194, 86, 33,170,149, 21,111, 29,127,151,119, 78,188,203,185,203, 87,214, 95,
- 63,128,197,241,242,235,111,178,101,195, 28, 15,222,119, 15, 77,219,114,115,121,153,219,171,171,156, 58,123,142,231,142,188,204,
- 35,247, 30,226,222,131,119, 49,236, 43, 62,251,141,111,242,252,139,175,114,244,189,147,148,197,247, 22,244, 13,179,179,124,234,
-233, 39,121,236,193,251,216,187, 99, 59,113, 28,115,245,198, 77, 54,111,222,204,229,235, 55, 89,157, 76, 40,235,154,143, 63,249,
- 4, 7,247,238, 34, 73, 18, 30, 60,124, 55,187, 23,183, 19, 4, 1,203,171,171, 56, 39,226,162,207,127,237, 47,185,240,125,254,
-245,181,227, 84, 23,249,250,248,195, 15,240,143,126,234,239,226,249,129,136,194, 16, 17, 80, 89, 73, 49,113,246,194, 69,174,222,
-188, 69,104, 68,228, 10,223,171,198,191,255, 88,171, 48,181,242, 56,184,111, 47, 59, 22,182,177,119,247, 14,238,216,185, 29,223,
-248,156,191,114,149, 55,142,158,224,236,133,139,156,189,116, 89, 44, 94,223,119,104, 45,224,155,251,239,190, 11,207,192,114,154,
-118,139,185, 71,211,180, 84,174, 34,136, 3,153,103,231,185,136,151,180,100,179, 43,179,198,243, 78, 40,138,140,184,215,239, 0,
- 51, 33, 38, 14,104, 59, 59,173, 54,134,193, 80,236,104,117, 45,227, 22, 79, 75, 24, 74, 85,150, 88,235, 72,146,152,186,174,137,
-227,164, 19, 99,181,157, 67, 72,212,224,190,241,105,170,134,210,214, 20,101, 65, 93, 75,229, 91, 20,157,247,186,150,141,132,209,
- 30,120, 8,190, 22, 17,218,181,174,194,215, 1, 70, 25,209,186,104, 15,144,234, 60, 10, 3,154,202,145, 53, 25,195,225,144,164,
- 43,194,172,109,145, 43, 75,161,149, 38, 43,114,160,203,125,119,174, 19, 52, 43,242, 52,197,121,154, 54,207,240,141, 79, 85,150,
-130, 97,117,208,235, 39,180, 85, 75, 81, 21, 52, 85,131,214,178,160,175, 69,188,182, 14,217,224,251,225,186, 35, 39, 52,146, 14,
- 87,178,150, 76,166, 49,158, 17, 65, 97, 35, 66,194,193,160,143,198, 81,181, 22,172, 69,155,206,239,222, 54,212,213,247, 54,109,
-190,241,105, 90,113, 39,105, 45,137,146,214,130,167,228,252,183, 78,198, 53, 81, 16,211, 88, 75, 18,136,184,219, 41,193,233,122,
-190, 79, 81,164,180,142, 46, 64, 6,218,166,162,170, 37,255, 93,107, 1, 64, 57,219, 50, 28, 74,148,185, 31,202,102,198,215,158,
- 16, 63,157, 67,185, 78,247,228,132, 19, 95, 55, 21, 26,233,126, 78,210, 9, 65,224, 19,198, 49,117,183,118,216, 86, 84,241,233,
-100,130, 49, 30,198,121, 88, 28, 85, 81, 97, 43,105,199,151,121,151, 14, 10,210,219,111,235, 6,191,179, 37, 24,165,200,106,105,
-195, 52,173,165,172,197,159,151,101, 25,173,181,248, 54, 96, 50, 73,101, 30,100,197,203,172, 61,143,116, 50,166,169, 43,146, 56,
- 38, 12, 3,170,170, 64,105,189,110,253,144, 10,184,145, 5, 91,107, 26,101, 25,141,102,168, 91, 75,150,166, 40,237, 9,248, 32,
- 8,112,101,141,100,119, 43,208, 22,112, 18, 71,170, 96, 48, 26,137, 8,164, 44, 72,194,132,162, 44,153,102, 25,206, 66, 63,142,
-152,102,185,192, 81,172,195,248, 18, 95, 87,150,146, 59,172,149,143,209,144,166, 83, 6,131, 1,147,233, 68, 90,217,158, 38, 14,
- 67,178, 52, 35, 47,178,245,139, 96, 50,153, 72, 92, 97,211,226,172,144,173,242, 50,239, 82,206, 74,226, 36,161,110, 27,138, 76,
-110, 36,135,176,179,189,110,174, 45, 27,150,158,132, 57, 20, 89, 71,114,147,120, 68, 5, 12, 70, 3,166,147, 41, 69, 89,118,231,
- 73,110,114,237,105,146,222,154,138, 18, 76, 32,130, 61,207,151,202,122,146,166,235,149,128, 82, 16, 69, 9,113, 36,224, 22, 15,
- 8, 76, 64, 94,230,132,113,140,111, 4, 28,147, 78, 86, 5, 77,216,134,210,182,107, 91, 65, 12, 26,201,227,117,206,117,163,142,
-190,116, 27,111,214, 65, 69, 0, 0, 32, 0, 73, 68, 65, 84,144, 7,132,179,173, 8, 66,156,235, 30, 96,178, 17, 12,163, 16,207,
- 57,134,131, 1,109, 20,145,149, 37,101,150,209,139, 99,166, 43, 43, 36,131, 1,253, 32, 38, 43, 43,148,167,153, 78, 5,150,162,
-181, 70,107,213,253,169, 73,146, 30,158,239, 99, 34,169,186,218,166,165,214, 21, 15, 44,132,248, 19,135,211, 45,132, 9, 47,125,
-251, 45,252,186,230,145, 67,187, 56,242,250,123,188,121,230, 54,131, 64,177,113,247, 38, 22, 63,122,128,179,223, 60, 75,177,154,
- 50,208, 45,241,168, 71,177,154, 49,231,124,166,109,195, 96, 38,196,219,124, 23,105,188,129,114, 58, 69,119,182,185,211, 23, 46,
-241,165,175,125,157,207,127,249,107,221, 77,239,177,123,251, 2, 27,230,102, 25,246,250, 36, 73, 36,231, 84,201,152, 40,239,132,
-146,158, 17,113,223,187,167,207, 0, 48, 26, 12,120,246,227, 79,179,103,113, 1,173, 52,160,241, 13,156, 60,123,150,175,125,235,
- 8,195, 65,159,103,158,122,146,103,159,121, 26,133, 38, 75, 83, 86,166, 83,198,147,105, 39, 54,212, 20,165,199,175,255,238, 31,
-114,238,194, 37,254,248,203, 95,227,217,103, 62,202,161, 3,251,137, 59, 96,208,183,191,243, 58,202, 41,182,204,207, 51, 55, 59,
-131,115,142, 93,139,219, 24, 14,251, 52,109,203,137, 83,103,214,175, 91,173, 53, 7,247,239,161,215,239,113,254,210,101,250,253,
- 62,163,193,128,217,193,128,199, 31,126,128,126,146,160, 21,120,158, 98,219,252, 70,158,120,228, 33,246,239,220,193,139,175,191,
-197,103,191,248,103, 20, 85, 69, 28,199, 12,146,152,165,149, 85,105, 57,171, 78, 36,166,100,129,169, 91,203,206,237, 11, 44,173,
-142,121,249,181,215,121,232,240, 65,126,244,147, 31, 99,219,230,121,218,198,113,227,246, 45, 46, 92,189,198,119,222, 56,202,242,
-202, 42,121,241,254,197, 19, 96, 56,232,115,104,255, 94, 46, 93,187,193,103,191,248,101,138,162,224, 23,254,222,143,177,101,211,
- 38,150,199, 99, 46, 95,187,129,115,142,125,187,119, 82,148, 21, 87,111,222,226,237,247, 78,203,189,245, 95, 57, 6,189, 30, 7,
-247,237,101, 52,236, 51,153, 78,184,124,245, 58,123,118,239, 68, 3,111, 30, 63,201,241, 83,167,121,247,236, 57,110,221, 94,122,
- 95, 87, 98,237, 8,130,128, 61,187,119,242,212,163, 15,113,244,204,121, 94, 56,122, 2,165, 36, 74, 89, 68, 89, 21,174,149, 13,
-133,214, 29, 50, 53, 48,178, 96,226,208,128, 31, 68,180, 85,141,142, 34,146,141, 27,100, 1, 27, 14, 25,204,111, 66,153,144,182,
-133,241,245,203,228,215,174,145, 45,221,166, 46,107,146, 68,170,116,167,132,131, 17,134, 1, 96, 73, 83, 97,253, 39, 73, 76, 85,
-202,136,208,143, 68,136,149,248, 17, 56,141,117, 93, 59,216,218,238, 79,161, 11, 26,101,168,108, 69,139,116, 18,162, 40,162, 40,
- 36,254,212,248,157, 62, 72, 27,218, 86,236,107,114, 95,130,231, 27,166, 89, 70, 28,117, 97, 84,117,139, 49,166,203,138,144,191,
- 43, 37,197,149,164,110,122,221,198,163,135,179,174, 3,100,121,104,103,168,235, 70,196,198,141,193, 24,131, 70, 90,252,194,157,
-151,222,121, 94, 22,194,243,232,142,182,109,208,141, 71, 28,203,168, 37,138,164,112,106,149,195,213,242,220,107, 91, 11, 8,229,
-212, 55,154, 40,140,177, 88,170,162,193,154, 26, 91, 59,122,253, 62, 90, 41, 64, 49,153,140, 49,190, 17, 16,140,107,152,164, 41,
-129,246,100, 65, 54,194,251,143, 67,201, 66,175,242, 2,227, 39, 20,117, 73, 28, 69,210,197,232,216,237,242,120,116,164,233, 84,
-120,252, 73,140, 42, 42,177,218, 25, 31,171, 13,147, 46,235, 98, 48, 26, 96, 60, 13, 78,184, 3, 81, 24, 97,125,131,179,138,178,
-200, 59,219,183,193, 86,138,214,181,132, 38, 4,107, 5,179,141, 67, 7,170, 99,201, 40, 28,130,211,245, 67,233, 16, 5,161, 66,
-105, 41,138, 38,147, 20, 13,152,186,110,104, 93,139,175, 36, 83, 29,231,104,156,235, 68, 96, 61,180,111,136,140, 1,235,232,245,
- 18,178,162, 20,117,185,131,160,151,208,180, 22, 84, 23, 99, 88, 8, 52, 38,207, 50,172,107,137,195,136,213,213, 85,218,182, 93,
-191,248,181, 22, 84,158, 83,221,236, 84,105,140,167,232,117,116,174, 53, 1,150,139,161,170, 45,161,209, 56,165,104,157, 37, 95,
- 93,161,117,150,166, 41, 9,195, 62,195,193, 16, 80, 4, 56, 34, 43,148,187,188, 44, 48, 70,222,164,118, 64, 43, 94,251,233, 84,
-192,252,190,145,147,105,173,101,117, 85, 30, 86, 69, 89,224, 28, 52, 85, 73,107, 45, 97,146, 96,180, 94,247,135,175,174, 44,119,
- 39, 84, 54, 64, 97, 24, 83, 55, 53, 77,219,202, 69, 97, 12,126, 32,190,204, 52, 77,153,164, 41, 73,191,143,239,137,159,178, 42,
- 5,249, 23, 4, 1,218, 72,139, 42, 73,250,120, 90,126,102,210, 19, 59, 87, 83, 73,110,121, 24, 5,120,200,255,107,235,154,178,
- 17,123, 31,214, 49,201, 82,156,149,221,100, 28,134,164, 89,134, 83, 80, 22, 25,182, 21,209, 5, 74, 84,146,189, 94, 15,172, 8,
-123,156, 82, 34,126,180, 80, 55, 21,101,103,165,147,212, 60,217, 41,123,158, 71,216,239, 81, 87, 53, 14,139,107, 93, 23,111,234,
-161,149,194, 79, 34,234,218,162, 13,248,129,191,254,222,155,198,138, 26,190,123,159,233,100, 2, 74, 49, 29,143,229,243,244, 12,
-218, 51,168,214,174, 43,228,173, 69, 58, 27,206, 9,198, 81, 75, 75,209,120, 62,142, 22,231, 12, 73,149,194,133, 41, 28, 88,128,
- 91, 25,103,206,173, 48,235,105, 78, 94,184, 66,158,149,236,185,107, 27, 27, 99,160, 31,225,206, 77,249,230,137,235, 12,235,146,
-217,141, 51,232,208,176,178,154, 50,108, 45,169,245,208,227, 41, 91, 31,123,140,229, 84,184,201,190,231, 49,232, 39,108,152,153,
-225,198,210,247, 84,216, 79,126,224, 17,126,230,199,126,132,187,247,239, 35,142, 66,154,166,145,107,195,182,180,182, 83,232, 55,
-142, 75,215,175,241,127,252,135,223, 38,235, 64, 37,247, 31, 60,192,129,125,123, 72,122, 9,145, 9,112,202,113,229,230, 45,190,
-254,237, 87,112,206,241,139, 63,247,211,124,236, 67,143,145,103, 57, 90,105, 17, 60, 69,161,204,150, 93,200,112,216,103,118, 52,
- 34,244,125, 0,110,175,172,114,229,250, 13,222, 58,126,130,171, 55,110,241,202,235, 71,153, 25, 13,121,228,254,195,236,220,190,
-176, 46,212,210, 90,115,245,198, 77, 94,127,231,248, 58, 22, 22,164, 5,125,248,192, 62, 22,183,108,230, 43,207,191,192,210,202,
-106,247,158, 2,118,108,219,198, 71, 30,127, 24, 99, 12, 85, 93, 49, 77, 51,166,233,148,215,142,157,224,205, 99, 39, 40,186,121,
-247, 48, 73,248,212, 71, 63,194,211, 79,124,128,109,243, 27,177,109,195, 52,147,241,212,131,247,220,205,119, 95,127,139,133, 45,
-155, 24, 14, 19,142,189,123,134, 99,167,206,242,240,165,107,204,205,109, 32, 79, 51,206,158,191,200, 27, 39,222,229,196,233,211,
- 28,127,247,204,251,152,238,107,199,189,119,221,197, 15,127,236, 41,118, 47, 46,176,101,126, 35, 87,174,221, 96,121,117, 76, 24,
- 4,156,187,120,133,183, 78,156,224,157,119,207,112,238,210, 69,110, 47,173,190, 47, 80,230,191,118, 84,109,141, 83,142,141,179,
-179,236, 88,216,198,230, 13, 27,216,187,115, 7, 75,203, 43,188,119,246, 28,239,158, 57,199,149,235, 55,186, 74,239,253,135,181,
-150,217,225,128, 65,210,163, 31, 69,252,216, 83,143,114,199,134, 1,191,245, 23, 71,168,154, 86, 68,197,182,107,183,183, 13,174,
-116,221, 2,231, 17,198, 62,161,141,168,109,197,194,125,247,114,224,227,207, 16,205,111, 39, 10,103, 80, 68,120,202, 18, 41, 24,
-205, 41, 18, 50, 86,199, 49,151,190, 83,112,107,229, 38,103, 79,254, 71,110, 29, 63,137,115,142,186,250,158, 63, 60,138, 66,113,
-145,180,181,116, 10, 42, 97, 25,212,105,221, 45,244, 82, 52, 41,165,169,235,138,126,210, 71, 25, 15, 87, 57,140,103,168,171,154,
- 32, 10, 36,123,221,128,197,210,235,197, 88, 0, 7,161,239, 83,213, 45,214, 9,111,162,170, 75,226,112,128,197,145,229, 41,211,
-166, 38,137, 98, 28,154,182,118, 52,212,120,120,248,120,210, 14,110, 26,170,178,160,215, 27,224, 44,235,163, 56,177,105,105,104,
-101,129,114,185,216,195, 68,169,159,118, 5,137,108,150,215, 70, 24,158,242,136,147,132,178,204,136,162,132,166, 41, 41,170,156,
-186, 18, 49,223,154, 88,204,143,186,145, 93,207,167,237, 70, 78,117, 85, 49,169, 39, 12, 7, 67,156,107,214,171,127,133,108, 94,
- 21, 30,131,193, 64, 34, 75,235,239, 89,226,106, 39,122, 0,215,182,120,190, 79,221,182, 52, 85, 45, 35,147, 74,158,203,105,211,
-118, 58,162,136, 16, 1,104,181,206, 82,169, 10, 63, 52,242,204,143, 99,122,122, 64, 83, 87,148,101, 14, 14,137,154, 77,101, 3,
-218, 75, 98, 60, 29,144,167, 25,126, 20,227,154, 90, 10,224,110, 60, 82,235,150, 42, 47,240,140, 66, 41, 15, 79, 41,154,182, 37,
- 10, 4, 22,150, 78,133,221, 31,135,177,116,151, 20, 34, 98,117,150,186,113, 56, 45,128, 30,227,121, 6,207, 25,252,192,167, 40,
-114,137,198, 84,138,166,181, 76,166, 19,250,163, 1,117, 94,211, 90,135,178, 18,220, 78, 32, 21,225, 52,205,136,162,110, 62,160,
-141, 88,169,180, 33, 52,166, 3,171, 72,200,128,109,132,186, 19,199, 17,198,136,237,195, 51, 30,217,100,138,115,162, 30,108,109,
- 3, 86,250,248,253,193, 64, 60,160, 85, 69, 18, 14,105,108, 67,228, 27,204,204,136,213,213, 21,234,178, 34, 83, 41, 65, 16,147,
- 36, 49,190, 9,232,247,125, 92, 20,209,210,225, 24,107,129, 63, 4,161,192, 12, 70,163, 17,227,241,152, 60,149,214, 73,210, 79,
-104,173,149, 29,170, 18,176, 6,214, 50,238,136,114,211, 60,135, 86,102, 24, 22,215, 9,248, 58, 15,106,145, 97, 76, 64, 91,137,
-170,179, 68,129,214, 12,250, 67,194, 36,150, 0, 28, 64,105,205, 96, 48, 68, 41, 39, 29, 7, 37, 59,187,166,181, 29,169, 79, 17,
-246, 66,124,101, 72,171, 66,226, 65,157, 35, 78,122,172, 78,229,117, 0, 40, 79, 97,109,140,109,101, 81,142,146, 88, 20,166,147,
- 9, 97,224, 19, 39, 50,127,149, 24, 74,193, 32, 70,161,207,116, 50,198,243,215,210,135,228, 70, 91,251, 2, 73, 61,243,148,136,
- 10,135,131, 62, 85,221, 18, 4, 30, 42, 18, 49, 15, 86, 32, 52, 85, 89,160,117,151,162,167, 69,105,186,150,180,102, 34,169,100,
-167, 83,217,232,133,157,120,206,182, 82,221,251,218,195,243, 13, 90,201,239, 84, 74,173,111,144,180,115,242,121, 89,208,190,232,
- 18,138, 42,103,110,118,196,161, 45,138,103, 31,140,113,117, 12,190,225,202,217, 11,108, 26,134, 84,149,101,233,242, 42, 87,155,
-150, 79, 29,216, 14,167,223,133, 65,143,223,253,202,171,196,105,202,236,220, 16,211, 15,168, 38, 21,202, 4, 92, 45, 27,198,117,
-195,124, 60, 68,111,217, 79, 83,148,104, 44, 40,195,151,159, 63,194,191,249,141,255,184,238,195, 94,216,186,153,159,124,246,135,
- 56,184,247, 14,146, 56, 36,240,252,110,115,215, 80,212,150,170,106, 72,243,156, 52,203,121,233,213,183, 56,122,226, 20, 32,158,
-251, 15, 62,242, 32, 27, 6, 3, 70,189, 30,218,243,184,121,123,137,127,255,123,127,196,183,191,251, 26, 79, 62,242, 16,207, 60,
-245, 4, 97,224, 75,162, 20,173,140,157,154,150, 65,191, 71,224, 7, 24, 79,216,255,135, 14,236,227,181,163,199, 40,171,154,227,
-167,206, 18,135, 33,187,182,111, 99,126,211, 28, 55,110, 46,177, 99, 97, 27,247,220,185,143,165,213, 49,227,201,148,149,149, 49,
-151,174, 92, 35, 12,252,174, 2,147, 77,198,191,252,103,255,132,135,239,189,135, 47,253,197,215,241,141,199,120, 50, 97,227,220,
- 44, 15, 30, 62,196,234,100,149,147,167,206,178,111,239,110,234,166,165,174, 91, 38,211,148,119,222,125,143, 55,142,157, 96,237,
-152,157, 25,112,123,121,133,107,215,111, 48, 55,232,163,251,125,110, 46, 47,243,231,207,127,139, 35, 47,191,202,141,165, 21, 30,
-127,240, 62,126,233,231,127,134, 67,247, 30,194,230, 69, 87,109,213, 52,109,195,214,173, 91, 57,113,238, 2, 47,189,246,230,186,
-111,126,237,152, 25,246,217, 48, 59,203,194,214,205, 28,186,115, 63, 91,231, 55, 48,236, 15,217, 48, 59,199,120, 50, 97,156,102,
-204,206,142, 88,220,186,149, 56,138, 49,190,230,246,242, 91,252,255, 57, 14,221,185,159, 45,243, 27,153, 29,142,232, 69, 33, 73,
-156,176,127,207, 46,242, 34,231, 63,125,254, 11, 60,119,228, 37, 38,147,201,186,184,239,111, 58,180,214, 12, 98,159, 94,185,140,
- 93,170,248,228,254,237,220, 49,251,131,252,187, 23,223,230,250,181, 37, 73,206,243, 12, 10,209,218, 52,181,136,177,156,133, 61,
- 31,123,154,195,159,254,113,166,174, 71, 61,185,136,139,231,152, 84, 45,225, 57,203,198,131,138, 45,131, 10, 92,131,175, 20, 27,
-250, 25,246,137, 4,239,229,157,120,209, 47,163,230,254, 3, 55,143, 60,135,246,100,161,243, 58, 17, 99, 28,199,120, 94, 68,219,
- 52,244, 58,202,100,145,229, 93, 7, 80,238, 79,207, 19, 31,243, 36,157,208,235, 73,183, 45,203,196,145,148, 77, 37, 70,185,174,
- 27,140, 19, 91,166,114,138,186,174,233,245,123, 64,131, 31,248,184, 86, 98,172,149,130,178,148,209, 2, 56,234,218,210,184, 70,
-170,236, 70, 17,248, 1,181,171,169,211,148, 94,175, 71, 89,105,170, 74, 58,140,107,137,154,129, 39,233,154, 74, 43, 98, 99, 8,
-186,188,118,107, 91,140,242,208,190, 7,173,100,118, 24, 95, 97, 2,121,150, 52,173,108,164,181,214,152, 32,164,238, 52, 15,214,
-182, 84, 85,131,214,146,145,142, 21,103, 64, 89,213,160, 58, 0, 22,146,140,214,180,142, 65, 95, 34,111,171,166,192,152, 62,214,
- 74, 39, 50,233,119,127,119,162, 99,105,170,134,162,200,133,146,106,132,151,239,121,138,186,118,148,141,136,211,234,186,198,181,
- 45,147, 73, 74,224,107,180,231, 75, 23,179,155,131,135, 97, 72, 54, 77,169,173,197,247, 52, 73, 24,119,157,132,182, 75, 80,243,
-132, 30, 8,224, 32, 47, 75,122,131,190, 20, 90, 8,164,199,182, 45, 26, 3, 74,224,100,147,241, 88, 58, 55, 26, 65,253, 58,135,
-179,142, 73,190, 42, 69,154,147,248,216,181,103,123, 28,132, 34, 8,172,138, 82,218, 19,157,239,178,169, 26,242, 44, 23, 98, 92,
-211, 80,231, 53, 81, 63,198, 88,139, 49, 33, 85, 37, 31,180,179, 22,207,192,120,101,138,242,164, 29,217, 84, 37,218, 51, 20, 85,
-201,218,220, 27,101,241,124, 31,107, 29,121, 81, 97,188,150, 48,137, 73,167, 41, 73,210,163,104,106,130, 78, 32, 50, 94, 89, 1,
-219, 50, 29, 79, 48, 81, 23,107,168, 44, 65,224,131,147, 40, 66,173, 53, 73,191, 71,219, 86,136,119,221, 82, 20, 21,158,231, 83,
-213, 37,198,247, 40,203,134, 36,142,208, 90, 98,249,172,131, 94, 47, 98, 56, 28, 72,114, 78, 43,162, 63,173, 20, 85, 91,161,141,
- 2, 37,228,185,217,153, 25, 97,253, 42,133, 31,135,157,157,196,117,221, 9,169,106,173,211, 52,121,177,222, 85,176, 40,180,115,
-140,167, 83,225,153,215, 37, 78,201,142,186,215, 19, 54, 50, 74,168, 73,161, 31,128, 22,235, 92, 94, 20,100,227, 76, 22, 90, 28,
- 10,205,104, 56, 32,157,174,121,184,101,241,195,130,195,202, 44,197,243,169,203, 2, 63,233, 49, 24, 14, 0,249,112,163, 64,144,
-190,113, 23, 36, 80,181,226,119, 77,211,140, 40,137,240, 61,169, 0,203,170,146,121,163,231,161,148, 34, 43,114, 4, 26,100,168,
-235,154, 40, 10,200,178, 28,108, 75,152, 72,104, 79, 89,150, 20,157, 0,112,212, 31,173,143, 81,194, 32, 96, 60, 30,163,149,146,
-156,251, 70,102, 85, 46, 8, 80,221, 3, 37,238, 13,192, 58,198,147, 49, 78, 9, 70, 84, 28, 9, 6,101, 52,158,243,104,176,100,
-147,177, 60,184,124,195,223,127, 72,243,201,125, 6,221, 88,240, 13, 20,150,119,206, 47,209, 58, 71, 72, 75, 89, 53,124,230,131,
-187,177, 69, 9,126,194,234,155, 23,152, 92,184,205, 29,129,166,110, 90,218, 76, 54,161,211,178,198,122,154,186,204, 73, 30,253,
- 65,252, 36, 33,114, 98,231,211, 90, 90,180,251,118,237,228, 59,111, 28, 5, 44,123, 23,183,179,113,102,136,164, 4,202,124,173,
-181, 66,107,114,173,164,239,189,125,236, 36, 95,253,214,183,121,241,245, 55,153,164,226,101, 61,176,123, 39,158,241,169,172,220,
-224,198, 57,230,102, 70, 60,243,212,135, 88, 89, 93,229,177,135,238,197, 55, 62,211, 44, 19, 33,140, 82,221,168,198, 97,248,158,
- 77,229,252,149,171, 28,220,183,135, 39, 30,126,128, 23, 94,121,141, 43,215,110,112,247,129,125,100, 69,197,214,249,121, 94,123,
-251, 24,171,211, 9, 89,209, 97,116,149, 34, 45,114,198,147, 41, 89, 94, 80,149,178,160,239,223,189,139,167, 31,127,132,162,172,
-216, 56, 59,195,243, 47,189,194, 35,247, 30,226, 99, 79,126,144,187,246,237, 17,193,107, 83, 33,225, 60, 53,211, 44,227,250,141,
-219, 92,189,254, 87,108,102, 14,118, 45, 46,176,184,176, 21,173, 53, 89,150,145,103, 57, 15,220,125, 39,187,183, 47,242,221,163,
-239,112,236,196,123,252,238,159,124,137, 31,173, 43,246, 46,110, 39,203, 11,166,121,198,233,115, 23,121,254,165, 87,200,202,146,
-217,209,224,125,139,122, 20, 69,220,181,119, 15,143, 63,120, 31, 59, 22,182,163,112,235, 27, 27, 2,159,126,146,176, 58,157,112,
-233,202,117, 62,251,197, 47, 83,219,150, 45,155, 54, 48, 55,154, 1,254,191, 43,245, 93,219,183,113,239,161,131,244,227,136,126,
-146,176, 99,251, 2,119,236,216,206,230,141, 27, 8, 2,159,229,229, 49,223,124,249,187,172,142, 39,127,237,123, 85,247,144,212,
- 90, 51, 55, 35,163,141,133, 65,204,230, 94, 66, 18,133,188, 24,142,248,218,214,237, 44,254,248,189,220,145,102,172, 94, 56,207,
-205, 99,199,184,117,241, 60, 97, 16, 81,215, 13,113, 47, 97,243, 19,143,179,117,251, 63, 96,195, 92,197,102,215,112, 98,226,227,
-215,134,217, 89,195,197,183, 52,199, 95,248, 18, 15,126,226, 7,153,161, 33,176, 16,234, 16,194, 9,229,193, 33,171, 95,113,212,
- 75, 31, 97,238,193,138,165, 87,159,199, 15, 36,197,210,186,182,203, 13, 7, 79,203,216, 71, 57, 71,220,139,193, 42,164, 37, 41,
-193, 46, 18, 64, 35, 42,238,181,130, 71,107,181,206, 31, 87, 74,252,254,158, 18, 1, 92,235, 44,227,241,152, 56,144,249,125,145,
- 23,132, 97, 72,158,127, 79,121, 95,116,207, 58,191, 43,230,188, 78, 28,232,251,210, 85,171,235, 82,138, 1, 13,249, 84, 42,112,
-219, 54,120, 81, 68,223, 55,228, 69,142, 66,145,101, 89,231,251,118,132, 81, 72,213, 97,105,139,186, 36, 54, 49,170, 22,127,127,
-221, 72,248,140, 82, 10,237, 60,148, 60,186,208,104,130,192,224, 92, 67,211, 56,194,126,216,193,189, 44,195,193,112,189,184,112,
-173, 35,234,138,139,162, 40, 8, 67,159,149, 46,133,112,253,185,234, 28, 78, 57, 60,132,190, 25,132,221,230,193,105,140,111,104,
-218,150,209,112, 72,107,155,245,238, 67,227,156,108,190,125, 31,139,235,198, 2, 66, 98,173, 10,137,171, 53, 90,147, 78, 38,120,
- 61, 35, 27, 7, 45, 93,102, 31, 31,194, 0,227, 5,212,101, 73,235, 26,166,227, 9, 90,107,134,195, 1, 65, 24, 34, 84,188,150,
- 64, 7, 40, 43, 96,154, 52, 21, 48, 80, 63,233,173,191,238,170,170,186,110,128, 80, 65,197, 13,213, 41,245,109,131,113, 14,198,
-227,137,192, 79, 20, 96, 12,214, 57,241, 94, 43,141,103,124, 92, 99,169,241, 36,173, 11, 67, 94, 84,132,158,134, 70,201, 73,106,
- 60,234,172, 20, 63,163,175, 69,133,231, 28, 73,220, 67, 4, 24,208,182,142,198,214,248,129, 32, 12,135,253,152,213,201, 20,176,
-232, 36,160,182, 34,186, 67, 43, 73, 45, 67, 97, 77,194,120,117, 76, 16, 5,196, 97, 68,152, 68,184,212,226,180,135,175, 37,217,
-204, 54, 13, 70, 43,172,178,196, 81,130,117,142, 40, 14, 59,225, 91, 67,191,159,224,156,162,170,235,245, 7, 51, 74, 46,142, 34,
- 47, 73,122, 61,112, 96, 91, 24,141, 70,100,133,132,209,107,173,177,109,195,234,202,152,182,109, 69,200, 87,148, 84,181,131,166,
-197, 79,122, 4,190,208,219,112,144,165, 5, 86,131, 14, 13,129,167,168,178,148,202, 51,148, 77,131,175, 4, 91, 59,157, 8,231,
- 89,105, 81,110,250,129,207,120, 50, 33, 49, 1, 85,213, 80,219,134,178,172,187,234, 94,145, 21, 37, 97, 32, 42,203,201,116,138,
-250,190, 74,119, 58, 21, 52, 97,146, 36, 76,198, 99,218,182,233, 22, 82,153,245, 27, 95, 54, 66,206,201,142,222, 31, 6, 20, 69,
- 6, 78,118,183,105,154, 18,133, 33,113, 34, 97, 21, 34, 54, 12, 40,171,162, 19,154,104, 60, 4, 74, 17, 70, 34,176,105,171, 22,
-144,155,123,210, 97,119,149, 18, 22, 1, 78, 90,117,173,149, 25, 87,175, 23, 51, 26,141, 40,138,138, 56, 14,240,140, 79, 93,151,
-164,121, 70,228, 75,190,112,213, 84,100, 89,129,171,107, 44, 80,150, 53,207,220,219,231,211, 7,125,220,184,198, 29, 63,139, 58,
-188, 7,106,203, 3,123,231,249,214,155,103, 73,107,120,242,193,157,204,110,222,196,215,190,115,138,143,253,192,126,222,121,238,
- 36,195,126,136,171, 91,138,213,156, 97, 18,114, 43,171, 40, 90,135,106, 36,228, 97,211, 61, 31,134, 70, 58, 62, 73, 28, 51,205,
- 51,142,117,129, 38, 96,249,228, 15, 60,197, 47,255,226, 63, 98,118, 52,194, 57,217,244,173, 45,188, 0, 85, 35, 26,130,157, 59,
- 22,120,232,222, 67,156, 58,123,142,219, 75,203, 4, 65,192,220,236, 12,129, 49,212,141, 44,144, 0,215,110,221,226,189, 51,103,
-187,185,116, 79,236, 61, 85,141, 67, 82,179,180,238, 56,247,214,161, 74,137,148,245, 61,159, 61, 59, 22,249,196, 71, 62,204,252,
-166, 13,156, 57,119,145,162,168,216,181,125, 27, 81, 24,240,241, 39, 63, 72,150, 21,220,184,121,147,217, 14, 12,148, 68, 17, 51,
-195, 62, 73, 28, 73,118,182,115, 60,253,248, 35, 40, 99,152, 44,175,226, 80,220,119,247,157,220,123,247, 93,236, 90,220, 38,225,
- 34, 14,156,115,148,117,205,120, 60,229,173,227,239,242,173, 87, 94,101, 60,249,158,247,251,129, 67, 7,249,216,147, 31,100,126,
-110, 6,215,182,140, 83, 81,251, 31,121,229, 85, 38, 89, 78,154,101,172,140, 39,108,217, 52, 71, 89,213,120, 74, 81,213,162, 13,
- 88,187, 46, 38,211,148,231,190,253,242, 95,131,204, 20, 69,193,139,175,189, 73, 81, 86,252,131, 31, 95,100,207,142, 69,122,189,
- 4, 47, 12,137, 64, 22, 35,223,112,123,121, 21, 63,240,121,243,173,147,188,125,236, 36,215,111,255,245,246,253,247, 31,195,126,
-159,237,243,155,120,252,225, 7,216, 48, 51,226,226,149,235, 24, 79, 80,199,121, 86,112,246,194, 69, 86,198,227,191,241,123,165,
-123, 5,179,163, 17,127,247,147, 31,227,224,174,237,124,224,192, 46, 86, 55,108,228,249, 54,230,252,220, 54,102,171, 2, 87, 23,
-120,241, 28,219, 54,111, 97,225,161,135, 88,122,247, 61,206,124,227,235,108,223,179,155,197, 39, 30,231,149,151,222,160,125, 83,
-227,187,136,227, 71,175,178,113,199, 22,246,253,104,193,227,132,252,235,155,142,119,142, 30,103,119,244, 41,102, 62, 50,224,138,
-154,208,183,138,241,119,134, 84,183,161,169, 20, 99, 59, 7, 87,119, 51,179,255, 38,249,155,111, 98,173,160, 69, 69,128, 85, 83,
- 57,121,142,153,192,144,231,165, 44, 56,174, 69,107,221, 81,226,100,179,186, 58, 25, 75, 46,188,214,235,163,184, 36,233, 3,142,
- 44,205, 8, 34,131,242, 20, 81, 18,130, 21,167, 82,168, 67,114,151,119,138,123,181,206, 51,239, 15,250, 88,219, 82, 84, 13,117,
- 81,227,172, 40,182,227,158,184,144,252, 80, 18, 46,113,146,254,104,157,136,170, 39,227, 49,113, 44,128,162,186, 43,244,202,170,
-160,117, 14,219,180,248, 81, 72,209,217,246,178, 52,195,181, 45,241,104, 64, 93,213, 2,225, 25,196,208,202,184,208,243,124, 81,
-186, 43, 69,211, 56, 76, 96,161,155,197, 75,182,187,162,169,106,122,113, 66, 90,230, 20,101,177,222,214,247,125, 95, 92, 10,218,
- 9, 12, 8,213, 85,203, 57,248,172,143, 57,140,241, 72,211, 41,244, 18, 89, 19,180, 20, 63, 77, 83,137, 72,206, 51,132, 97,199,
- 26,241, 20, 85,209,144,150, 57,180, 50,227,174,242,156,214, 10, 3, 37,207, 36, 38, 86,105, 25, 51,103,121, 78, 24,134, 88,219,
- 74,231,210,105,172, 45,241,181, 34, 79, 51,217, 20, 33, 74,119,107, 45,211, 78,247,211, 79,250,228,101, 78,145,101,120,221,104,
-206, 57, 71,221, 93, 3,189, 94,143,126, 95,136,118,147,233, 4,173, 20,198,248, 1, 2,121,209,221,204,213,145,244, 7, 2, 68,
- 1,170, 74,252,144,158, 49,196,195, 17,121,158, 75,194, 79, 43, 57,183,182,181,208,214, 16,134, 4,190, 37,208, 62, 89, 81, 18,
- 5,129, 88,101,170,138, 40,138,165, 98,119, 9, 85,219,160,149,164,209, 12,122, 73,183,123, 84,180,117,221,137,234, 34, 57,161,
- 56,178, 92,170,216,170,168,104, 26,105,219, 40,235, 72,211, 28,175,219,181, 40,100, 99,129, 82,244,135,125, 17,227, 52, 13,253,
-129, 60,224,112,226,183, 86,158,248,254,162, 56, 98,154,102,212,121, 67, 20,137, 16, 77,121, 66, 83, 3, 69, 47,234,137,240,173,
-200,197, 62, 22,199, 76,179,156,172, 40,240,156, 8, 66,124, 95,230, 72,165,149,124,227, 56,138,209,166, 22,104, 75,235, 24,151,
-153,204,146, 0,215, 54, 84, 40, 84,145,227,180,194,214,150,209, 64,110,174, 60, 47,153, 25,205,118,113,167, 33,109,230,196,238,
-230, 27,130, 32, 32,137, 34, 89,176, 29,132,145, 88, 11, 1,180,145, 77, 19, 90, 9,118, 82,131, 23,196,180, 69, 70, 18,199, 24,
-207,195, 11,124,234,170, 97,208,139, 41,203,140, 50,203,197,223,216,141, 24,112, 98, 7,108,170,138, 40, 12,240,253,112,189,243,
-224,124, 17,233, 40, 79, 84,174,109,219,205,218, 92,189,206, 35, 22, 32,145,136,198,214,132, 57,189, 36, 1,165,164,253,213, 56,
-194, 88,145,244, 34,154,182, 37,233,199,164,147,150,166,106,152,148, 18, 1,107,173,240,223,215, 14,223, 40,126,226,240, 0, 74,
- 80,182, 70, 61,118, 16, 87,183, 80,107, 54,110,236, 81,213,240, 99, 79, 29,192,205, 12,249,253, 47,191,129,110, 45,202,143, 65,
- 41,246,223,177,145, 11, 39,174,226,183,142,242,230,152,155,211, 22, 19, 26, 92,149,177,233,254, 79,162,194, 30,174,173, 81,218,
-227,198,237, 37,190,242,252, 11,252,193, 23,255,140,170,170,152, 25, 13,249,192,125,135,168,154,134,105, 33,237, 99,180, 94,215,
- 46, 56,231,104,218,134,178,170,249,230, 75,223,229, 87,255,239,223, 90,127,205, 79, 62,250, 16,255,244,231,127,134,189,187,118,
-176, 50,153, 82,228, 5,121, 85,178,109,126,158, 31,254,216, 83,252,200,199,127,128,198, 89, 86,199, 19,222, 62,249, 30, 23, 46,
- 95,226,214,242,132,133,173,243,220,119,240, 78,102,134, 67,156, 21,245,176,117,112,238,202, 21,206, 95,190, 66,222, 85, 76, 70,
-195,201, 51,231,185,122,227, 6,151,175, 94, 99,255,238,157,242,112,112,150,172, 44, 56,122,226, 4, 95,248,218, 55, 56,115,254,
- 2,187,183, 47,112,255,225, 67,236,220,190,192,205,155,183,176,214,177, 99,219, 22, 22,183,109,198,120,134,183, 79,190,135,209,
-134,133,173,155, 9,252, 0,237,160,223, 75,216,179,115,145, 95,251,157,179,220, 90, 94, 33,142, 99,118, 46, 72, 46,251,133,203,
- 87,216,187,184,157, 52, 47, 49, 94,141,231,121, 76,242,130,203,215,174, 83, 86, 37,195, 94,159,127,253,207,255, 41, 73, 44,153,
- 13, 85, 83,177, 58,158, 48,158, 76,153,102, 25,253, 78, 87,242,253,199,134,217, 89, 6,253, 30,113, 28,115,234,220, 5,126,253,
-119,254,128,166,174,248,204, 39, 62, 78, 8, 50, 39,116,142,153,217, 89,134,189, 27, 28,220,191,151, 52,207, 57,121,234, 52,127,
-245, 88,171, 92, 0, 70, 67,225, 83, 92,190,113,139, 23, 95,125,157,237, 91,182, 48,191,105,142,247,206,158, 5,103, 89, 92,216,
- 70, 16, 4,108,217, 52,207,210,202,251, 23,246,109, 91,230, 25, 38, 9,147, 60,231,163, 31,120,132,159,253, 59,207,178,178, 97,
-196,231,147, 77, 76,129,102,105, 25,117,253,138, 36, 49,250, 50,174, 51,190,194,211, 62,219,239, 63,196,252,253,247,224,199, 9,
-239,189,124,132,247,222, 58,205,198,187,192, 87,150, 73,125,154,125, 15,111,229,122, 22,242,175,254, 80,241,157,175, 30, 97,235,
-190,207, 16, 71,154, 83,151, 83,110, 63, 95, 19, 14, 7,204, 60, 14, 55,223, 80, 84, 83,135,169, 27, 10,183,141,102,203, 65, 54,
-173,172,144,221,188,129, 87,251, 52,181,104, 94,148,210,212,186,146,182,174,214, 52,182, 33,233,197, 93,197,169, 1,233,250, 72,
- 90, 91, 74,191,223,199, 83,154, 52,203, 80,128,211, 10, 95, 25,154,170, 33, 10, 34,113,214,180, 13, 89, 38,214,220,126,191, 71,
-235,164,248, 87, 90,198,152,181,171, 41,139,138,178, 46,193, 57,134,195,161,156, 56,235, 8,131,128,186,109,168,114, 69, 81, 21,
-221,134, 14,140, 9,208, 74, 83, 20, 85,247,239, 29, 69, 85, 18,135,226, 81,119,214, 10,174, 58, 48,100, 89, 70,210,143,208,202,
-144, 78, 83,217,156, 42,203,120, 37,197, 41,203,176, 47, 17,223,227,137,164, 40,246,226, 24,180,162,169, 27,170, 90,244, 31,101,
-167, 16, 47,170, 90,248, 31, 78,212,234,211,233, 84, 52, 59, 74, 49,236, 64, 77,147, 84,208,213,206,202, 38, 36, 48, 62,173, 3,
-223, 91, 67,179,214, 50,190,173, 21,129,145, 52,201,254, 64,146, 47,167,211,148, 40, 73, 8,180, 36,171, 69,126, 0,130,251,199,
- 79,250, 52,174,193,211, 30,121, 41, 73,121, 10,136,251,125,250,253,190,116,135,181,237, 54, 5, 30,190,241, 0, 17, 12, 27, 63,
-164, 44,203,245, 78, 71,191,215,167,105, 43, 38,233,132, 48, 12,241,163, 8,103, 91,140, 31,208, 58, 65,181, 59, 16, 93, 86,167,
- 77, 26, 13, 7,212,117,131,119,207,125,247,253,139, 56,233, 17,197, 49,113, 28,147,196, 9,126, 16,224,135, 1, 73, 24,225,148,
- 39, 73, 55, 97,212,205, 7, 60, 66, 35,249,179,117,235,232, 69, 17, 69, 91, 11,211,187,133,170, 99, 6, 71,113,136, 67,230, 60,
-214, 89,166, 89, 23, 39, 26, 69, 40, 28, 85, 93, 17,134, 62,126, 16,128, 18,241,134,246, 52,101, 41,184, 63,249,176, 20,163,209,
-136,182,105,164, 29,106,165, 98,246, 59,113, 86, 47, 78,240,125,153, 65, 88, 43, 34, 44,173, 58, 6,113, 24,224,172,164,135, 85,
-181,100, 31,215, 77, 67, 93,203,207, 8,195,152,178,206,169,235, 6,156,163,169, 91, 1,207,216, 6,219,249,129, 21, 8,187,188,
-149, 92, 94, 63,240,233,245, 36, 91, 55,142, 67,162, 48,196, 58,105,145, 27, 35,243,246,182,150, 72,212,225,112, 64, 20,134,235,
-118, 10,227, 9, 73,201, 41,201, 32,110,172,235, 62,204,128, 40,142,100, 23,104,164,237, 35, 81,123, 98,249, 90, 67,178,134,129,
-112,232,109,107, 37,171, 89,203,236, 42,233,245, 48,218, 35, 79, 83,252,206,158, 87,183, 13, 14, 71, 47, 78,104,173, 84, 70,141,
- 21,129,138, 85,130,163, 12,252,128, 52,205,104,155,150,166,149, 81, 73, 85,118,177,176,165, 32, 45,157,131,214,181,196, 65,140,
- 67,117,154, 8,169, 72,139,172, 64,160, 63, 82,129,150, 85, 73,183,207, 88, 7, 54,104, 60, 17,116, 56,121,255,190,239, 19, 24,
-131,241,229,134,232, 37,201, 58,218,119, 52, 26,177,113,144,240,153,125, 62,241, 64,227,122, 17,147, 99, 87,249,214, 75, 23,216,
- 65,134,142,123, 28,220, 49,224, 70, 1,255,249,249, 99, 68,105, 73,108, 32, 93, 78,185,120, 99, 74,210, 11,153, 95,156, 37,207,
- 26, 86,202,138,113,217, 50, 51, 59, 96,121,218,114,248, 51,255, 77, 7,197,104,240, 60, 77, 18, 71,244,226,152,155,183,151, 56,
-127,229, 42,143, 62,120, 47, 31,249,192,163,236, 94,220,206,205,219, 75,244,146, 88,206, 99,211,118,239, 81, 54,182,189, 36,102,
-231,194, 54,180,242, 56,113,250, 52, 77,219,114,230,194, 69, 62,247,167, 95, 97,146,101,108,223,186,133,198, 89,112,142,170,150,
-196,188,188,172, 72,115,105,157,158,185,120,153,239,188,249, 54,175,188,121,148,227,167,206, 50,158, 78, 49,158, 88,213,218, 86,
- 16,157, 90, 41, 86,199,171,156, 62,127,145,235,183,151,200,243,130,172, 44, 56,112,199, 46, 14,223,181,159,209,160,207,252,198,
- 13,180,214,114,227,214,109, 78,158,185,192,123,167,207,146,230, 57,155, 55,110,228,209, 7,238,227,193,123,238,198, 83, 26,237,
-121,132, 97, 64, 89, 86,188,113,236, 4, 47,190,250, 6,199,222, 59,197,176,223, 99,227,134, 89,202,170,226,252,229,171, 92,185,
-118,157,149,241,132,155,183,151,176,206,113,239,193, 3, 60,251,177,167,121,248,222,123, 24,141, 6,132, 65, 64, 24,134,220, 94,
- 90,166,105, 45, 87,174,223, 96,231,194, 54,126,242,111,125,138,205,155, 55,145,103, 5,173,109,169, 91,177,221,220, 92, 90,226,
-203,223,120,129, 63,123,238,235,220,252,190, 42,221, 24,195,198,217, 89, 62,249,244,147,252,202,255,240, 75,252,247,255,237,207,
-243,232,125,135,153, 25, 14,232,247,122,114,109,213, 13,101, 89, 49, 77, 83,130,192,103, 97,203,102,222, 59,123,158, 75, 87,175,
-177,210,233, 54,254,166,227,174, 61,123, 56,116, 96, 31,143,221,127, 15, 31,126,236, 17,230,102,103,208,218, 99, 97,235,102,254,
-225,255,244,191,114,253,250, 77,122, 73,204,181,155,183, 56,119,233,242,251,190,247,127,249,165,127,204,194,150,121, 62,241,196,
-163, 60,243,204, 71,121,185,213, 44, 31,254, 52, 89, 53,224,250,233,247,152, 92,189, 64, 48, 59, 79,163, 60, 26,103,152, 89,216,
- 65,156, 68,180,117, 73,101,122,244,251,187, 9,195, 33,111,191,241, 29,178, 44,227,142,167,183, 16,239,158, 97,241,161,157,252,
-227,109,240,249, 63, 85,124,227, 79,126,135,141,243,119,242,211,191,178,147,207, 44, 42,150, 98,159,227, 47, 77,185, 92,252, 23,
-218,203,135,176, 62,168, 18, 84,110, 8,146,141, 48, 9,137,239,236,227,166,215,241, 42, 9, 91,241,187, 74,205, 40,143, 32, 12,
- 8, 67,161,183, 9,139,221, 91, 23,209,149,101, 69, 93,139,248, 75,107,233,172,105, 45,217, 13,190,239, 19,132,210,166,173,107,
-169,100,139,188, 68, 41, 17,231,213,141,197, 89,249, 57,173,149,118,184,115,224,144,197,122,109,131, 27,135, 50, 66,173,234,154,
-182,105, 9,163, 8,167, 4, 24,213,212,178,169, 8, 67, 73, 82, 51,129, 47,213,112, 43, 63,215,247,125, 38,211, 41,109,219,116,
- 54, 62,159, 56, 74,168,155, 22,165,133,108,231,105,143,178,200,177,173,216,190,202,188, 36, 73,228,217,155, 23, 37,206, 54, 56,
-229, 17, 69, 1, 56, 77, 83, 87, 24, 95, 52, 14, 97, 24,144,167, 41,182,109,137, 19,177,214, 74, 44,110, 42, 58, 31, 35, 54,109,
-223, 55,228, 89, 78, 85,213, 56,219,118,105,110,174,243,128,171, 14, 92,227, 81, 54,141, 36,178, 85,178,241, 41,171, 18,141,194,
-243, 3,242, 60,149,243, 93,214, 40, 45,150,234,186,110,136,195,136,181,140, 16,209, 24, 57,162,208, 16,134,129, 20,195, 78,126,
- 79, 85, 10,126,220, 24,175, 43,172,100, 60, 37,233,124,226,163, 15, 2,129,159, 53, 29, 7, 65,206,121, 67, 93,201,243, 90,107,
- 77, 24, 10,217, 83,123, 26,163, 61, 15,107,161,169,107,188,192, 16, 24,153,111, 7, 90,178,117, 93,219, 96,149,162, 72, 37, 17,
-109, 56,232,147,215, 37, 73, 24, 49, 28,244, 88, 89, 89, 37,240, 67,122,189,184,171,234, 26,166,211, 41,211,105,129,163, 5, 43,
-184,187, 32,148,139, 50,203, 51,172,131,126,175, 39,232, 82,207,208,212, 37,158, 31,162,252, 0,223, 15, 80,174, 37,203,133, 58,
-231, 25,205, 96,102, 22,156, 37,108, 91,198,227, 85,154,182,145,228, 49, 2, 52,154,162,170,112,109, 75,181, 42,150, 25,173,101,
-182,186, 70, 39, 11, 99, 1,159, 96, 1,173,105,173,224, 78,251,253, 33,158, 39, 86,177,170,174,232,247, 36, 65, 8, 31,166,153,
-204,102, 6,189, 1,211,116,140, 82, 66,134, 19,214,176,128, 31,164,253, 45,162,178,214,182, 12,131, 96,253, 65, 81, 87, 21, 77,
- 43, 21, 71,221,138, 71, 61,142, 35, 18, 99,176,136, 79,113, 45,179, 56, 43, 74,140, 39, 55,223,200,151,246, 11, 8, 37,108, 13,
-114, 99,155,174,229, 21, 11, 77,168,168, 42,226, 94, 15,219, 54, 76, 38,171,224, 20,198, 51,148,174, 20, 50,159,231, 97,181,134,
- 86,102, 61, 85, 93, 75,100,172, 82,221, 57,182,235,176,134,181,138,167,110,106,106,231, 72,162, 24,171, 44,211, 73, 42,226,187,
-200,209, 54, 53, 65, 32,249,237, 77,211, 16, 37, 33, 69, 86,146, 36, 66,172,234, 15,250,164,185, 92,100, 40,181, 62,139,175,170,
-138,208, 15, 73, 43, 73,175,147,202, 92, 51, 26,205,210,182, 45,177,103, 48, 61, 31,165, 53, 78,149,120, 90,227,148,199, 91, 95,
- 59,206,201,115,203, 80,183,152,133, 24,183,115, 6,117, 41,224,171, 47,188,193, 92, 90,208,219, 62,139,239, 20, 87,110,143, 41,
-166, 21,231,207,220,100,219,194, 28,243,187, 54, 81,221,154,224, 95, 89,166, 31,107, 54,237,187,143,193,112, 68, 93, 8,214,215,
- 2,199, 79,157,230,151,127,245,215,120,247,236, 57,230,102,236,159,167,254, 0, 0, 32, 0, 73, 68, 65, 84,102,152, 25, 14,169,
-218,134,255,253,183,126,135,127,255,187,159,227,115,191,254,191,177,123,251, 2,101,150, 97, 45,221, 56,195,112,225,226, 18,127,
-244,231, 95,229,237,119, 78,242,193,135,238,103,215,142,237, 60,114,248, 16,101, 89, 51,201,114,242, 60,199,212,102,125, 68,210,
-182,146,131,108,140, 97,154,103,124,251,187,175,241,226,171,111, 98, 60,205, 19, 15, 61,192,195,247,220,205,129, 59,118, 74, 55,
-170,174,200,203,146,107,183,110,145, 21, 21,227,201,148, 51,231, 46, 0,112,232,192, 94,154, 61,119, 48, 55, 59,195,166,141, 27,
-200,179,156,105, 94,240,238,217, 11, 92,188,116,133,214, 57,182,204,207,115,240,192, 62,118, 47, 46, 0,242, 96, 76,167, 37, 55,
-110,221, 34, 43, 10,182,204,111,228,228,153,115, 92,187,113,147,183, 78,190,203,236,112,196, 96,208,227,210,229, 43,252,171, 95,
-251, 77,138, 74,238, 29, 99, 12,199, 78,190,199,220,104,196,204,160,207,194,150,205,200,100, 78,174,145,115,151,175,176, 97,102,
-196,177,119, 79,179,121,227, 70,146, 56, 98, 56,232, 96, 83, 85,205,106,154,130,131,173,155,230,200,254,138, 85,204, 90,203,202,
-202, 10,223,120,241, 59,108,158,155,229, 39,158,253, 33,246,238,218, 9, 56, 17,236, 53, 66, 22, 67,193,242,202, 42,175,188,253,
- 14,151,175, 94,231,141,163,199,222,151,207,254,253, 71, 18, 69,108, 95,216,194,222, 59,118,178,109,243, 60, 27,231,230, 40,203,
-146,171,215,111, 96,140,225,224,222,195,236,219,185,200, 31,124,233,207,184,177,116,155,183, 79,188,135, 68, 72, 57,118,109,223,
-206,120, 58,229,103,254,254, 79,176,124,249, 50,102,227, 54,142,247, 54,177, 57, 28,226,143, 20,223,250,227, 85,174,167, 23,208,
-233, 53,198,231, 7,164,201,132, 59,102,158, 97,223,174, 13, 44, 87,151, 41, 90,131,119,122, 59, 7, 63,158,113,161,136,217,251,
-192, 67,220,245,224,189,204,108,184,139,129,239,216,184,105,194,117, 23, 17,132, 62,115, 27,246,177,255,208, 94, 94,187,169,248,
-232,188,227,242, 88,115,251,124,192,210,202,117,220,150, 35, 28,250,133, 39,112,165, 99,238,181,128,233, 45, 32,216,207, 52,221,
-198,230, 31,127, 24, 83, 92,226,250,171, 47, 49,185,113,153,233,141, 91,232, 90, 2,103,234,166,193,243,188,174,197,174,161, 91,
- 0, 36,134, 89, 84,209,161, 9,214,149,230, 65,232,227,106,104,202, 70,148,228, 93, 70, 71,210, 75,100,177,182,226,175, 22, 20,
-183, 66, 59,241,222,131, 0,171, 68, 52, 39, 72,215, 34, 47,136,147, 24, 17, 0,211,133,166,244,186, 34, 68,242, 34,138,170, 34,
- 78, 36,212, 9, 11, 65, 20, 98, 43,217, 76, 40,232,212,228, 9, 32,214,105, 95, 27,226, 80,248, 13,203,203,203,180,173, 93,255,
-157,101, 91, 49,205, 38,244,226, 68, 70,131, 93, 49,144, 77,179,245, 54,116, 91,213, 32, 13, 82,188, 48, 18, 23, 84, 89, 33,169,
-105,194, 20, 88, 94, 94,198,247,253,117,242,168, 0,114, 20, 89, 62, 37,203,243,174,123, 41,160,155,178, 24,227,105, 1,102, 5,
- 65,128, 69, 58,254,190,103, 72,211,148,192, 15,229,253,141, 39, 36, 73, 31,219, 52,132,129, 79,221, 10,190,183,223,239,119,227,
-103, 71,221,214,104,227, 81,150, 93, 58,157,246,112, 88,226, 94,132,173, 69, 24,232, 92,215,141,214, 62,174,182,223,123,134,150,
- 37, 74, 1, 86,224,103,198,217,110, 28, 35,208,182,198, 90,166,147, 49, 14,186,238,158, 86,242, 13,120,228,121, 65, 27, 56,156,
-109,215, 37,243, 73,210,195,120,134,202,175,177,109, 67,158, 23, 24,227,201, 92, 38, 14,153, 25,141, 40, 43, 1,158,120, 90, 99,
- 60,161,173, 85,101, 73,158,151, 40,164,151,227,105,205,196, 54,210,186,141,123,212,149,204, 90,171,202,162,181,194, 96,169, 17,
-207,157,103, 98,250, 38,194,104, 69,154, 23, 68, 81,136,167, 52,206, 73,154,149,107, 45, 14,249, 80,211,116, 74, 93, 87,244,227,
- 4,165, 61,166,211, 20, 63, 8,152, 78,166,244,146,164,147,248, 75, 53,159,213, 57, 81, 24, 81,148, 37,198,215, 96, 91,106, 43,
-202,197, 32, 8,152,172,174,226,140, 71,224, 73, 16, 64, 81, 23,216,182,161,151,244,209,158,204,166,180,167,164,115, 16, 24, 80,
-146,245,187,166,206, 76,162, 72, 20,228, 70,210,229,130, 80, 22,104, 95, 27,194,153, 25,154,166,162, 44, 11,218, 86,102,142,113,
-175, 3,203, 20, 5, 45, 1,182,206,240,180,166,110, 44, 73, 18, 49, 24,244,112, 64,211, 52,152,208,224, 35,104, 65,103,101,230,
-189,186,178,130,109,133, 41,221,105,241, 64,201,200,100, 52,136,200,211, 12,227,121, 4, 81, 76, 24, 39,212,117,141, 86, 96, 29,
- 2, 45,112,142, 36,142,201,242, 92, 84,254,173,195,118,200,198, 73, 58, 1, 52, 78, 43, 92, 55,111,178, 86,224, 58, 0,202, 58,
-250,125,217, 96,104, 45,193, 59,161,239,131, 47,246,184, 53, 11,161, 50, 34,192,140,130,132,186,173,208,158, 33,240, 58, 66, 97,
-145, 73,184, 67, 45, 16,138,251,246, 39, 36, 27,124,138, 83,215, 56,118,226, 58,123, 54,207, 49, 41,115,152,233,163, 90,205, 31,
- 30, 57,201, 48,203,137, 54,246,241, 35,159,219, 55, 38,172, 76, 27,102,251, 49, 54,212, 84, 78,115,250,204, 13,206, 46,165, 88,
-173, 88, 94, 77,217,241,204,135, 4,163,232,186, 86, 85,219,178,101,227, 70,254,217, 63,252, 57,137, 87,125,238,121, 62,241,225,
- 39,248,236, 23,191,194, 87,159,255, 22, 0,255,242,255,252, 13,126,238, 39,255, 14, 59,182,110,145,138,161, 42,153, 9,135,108,
-216, 48,203,249,139, 87, 57,115,233, 10,198, 24,246,239,222,197,198,217, 57,130,192,144,151,117,215,129, 18, 50,148, 69,146,168,
- 60,227, 49, 55, 26,242,221,183,143,242,230,177,147, 52, 77,195,142,133,237,108,223,182,133,214,201,188,116,109,142,230,172, 99,
-195,204, 44,158, 82,160, 44,253, 94,194,165,107, 55,120,230,169, 39,249,216, 19,143, 97,173,165,108,106,202,186, 33, 10, 2,230,
- 55,204, 81, 54, 53,179,195, 1, 15, 29, 62,196,129,189,187,217,181,125, 27, 85,213,144, 23, 34, 80,171,155,154, 99,175,156,230,
-245,163, 39,248,224,195,247,243,147,127,235, 83,220, 94, 94,166,177, 13,131,126,143, 93,139,219,185,239,208, 1, 94,122,237, 45,
- 54,111,216,192,189, 7, 15,240,161, 15, 60,204,227, 15,220, 71, 20, 6,152,142,192,232, 27,143, 13,115,179,108,153,223,196, 83,
-143, 61,194,155,199, 78,178, 58,158,176, 60,158,224,251, 62,198, 24,209, 10,164,240,159, 62,255, 37,158, 59,242,226,186, 18, 31,
-196, 93,114,255,221,119,115,232,206,189,236,219,181, 19, 20, 92,186,118,189,219, 52,200,136,199,120,154,178,110,184,126,243, 22,
- 75,203, 43, 44, 45,173,240,155,127,240, 71,127, 45,167,254,251,143,162,170,100,227,233, 16, 39, 72, 20,178, 58, 73, 73,243,146,
- 23, 94,125,137, 81,127,192,167, 63,250, 17, 94,120,229, 53,254,242,200,203,239,251,222,197,133,173, 44,110,157, 7,107,137, 3,
-143, 42,190,131,219,103, 87,152,185, 39,166, 88,133,235,231,222,230,102,117,137,213,201, 53,226,180,160, 63,220,195, 29, 63,181,
- 5, 46, 67,154, 40,170, 19,139,252,236,179, 13,155, 93,204, 11, 55, 45, 85, 54, 33,153,124, 16,127,139, 99,113, 62,229, 49, 55,
-224, 13, 82,236,109,159, 7, 62,112, 47,143, 60,171,248,141,255,241,109,254,249, 63,185,135, 75,159,203, 89,186,254, 50,151, 79,
-191,205,227, 31,254, 69, 6,198, 81, 84,142,229, 59,110, 49, 77, 94, 39,186,242, 36, 91, 54,247,112, 87, 6,108,123,100, 27,135,
- 30,126,132,218,203, 88,201, 13, 55,191, 62,230,242,197, 63,230,218, 11, 95,135, 78,159, 83, 85,149,136, 52,181,250,222, 88,194,
- 9, 5,210,247, 12, 74,105, 60,207,199,170, 6, 29,200,104,169,174, 91, 60, 79,244, 83, 40,141,179,205,186,199, 92, 41,105,203,
-107,221,141,228,112, 20,117, 5,173,165,181, 45,190,246,201,203, 18,221,117,165,124,223,103,220,233, 21,180,146,116,182,178, 20,
-176, 83,232, 7, 56, 7,190, 31,128,103,168,203,138, 97,127, 8, 90, 73,101,236, 68,103,132,150,215,107,180, 65,107, 1,225,136,
-194,188,179,190,213, 13,211,102,130,111, 2,130,126,178,238,194, 41,170, 66,232,112, 72,107,222,181, 45,216, 26, 77,208, 97, 99,
- 13,227,110,156,108,173,165,182,130,109,181,206, 82,149, 53,189,164, 71, 28,198,228,121,134,179,150, 48,138,164,155, 8, 88,219,
- 74, 87, 36, 8, 41,112,120, 90, 8,161, 94,173, 41,235, 18, 47,208,244,147, 30,121, 93,200,134,165, 75,176,212,161,150, 44, 17,
-211, 85,209,168,174,107,171,104,202,146,198, 85,132,113,136,175, 13,141,146, 49,182, 84,240,150,178, 40, 4, 50,230, 37, 34,160,
- 51, 94,247, 12,115,216,166, 6,231, 48,158,196, 87,123,218,116, 5,171,216,202, 81, 10,111,239,254,125,255, 34, 12,101,174, 46,
-105,101, 25,117, 35,190, 63,153, 55, 43, 64,110,106,173, 61, 2,223,199,243, 60,129,111, 84, 53,198,120,120,158,161,169,107,180,
- 82, 40,237,161, 65,102,175, 64,212, 19,196,105, 11, 52, 77,141,181, 22,227,251,164,185,168,250,228,203,147,106, 91,105, 76,224,
- 83, 21,165, 16,163, 20, 18,118,225, 32, 43,114,178, 52,147,202, 95, 41,134,163, 1, 56,228,131,104, 45,226,183,119, 29,225, 77,
- 22,184,166,181,210, 18,214, 2,238,215, 40,252, 48, 88,111,249, 55,141, 21, 63,162,146,174,158,181,150,108, 42,177,135,217,100,
- 66, 83,215,194,170, 47, 75,170,170, 38, 10, 67,176,194, 94,110,173, 69, 89, 81, 71,135, 97, 72, 16, 5,100,211,156,166,169,169,
-234, 26, 63, 8,145, 76,117,211,109,144, 20,158, 9, 48,198, 35, 8, 34,180, 22,218, 94, 58, 77, 49,126,136,117,173,160, 18,173,
-235,198, 17,136,176, 14,153,227, 87,101,133, 82,144,117, 96,156,182,109, 40,243, 2, 79, 9,220, 38, 10, 67,208, 2,245,175,171,
-138, 40,138, 8,194, 16,207, 8, 27,216,235, 58, 47,214, 58, 81, 78,123,158, 8,107,148, 19,226,149,239, 19, 4,226,183,151, 44,
-243,150, 56, 78,208, 74, 34, 65, 91,219,210, 54,210,110, 15,140, 33, 8, 66,202,166,150, 7,183, 82, 52, 77,139,223, 93,252, 97,
- 20, 18, 4, 17, 65, 20, 33, 54, 60, 89,192,227, 40,166, 42, 75,154, 86,124,238,198, 23,120,134,103,124,158,186, 51,228,191,251,
-144, 38,246, 13, 95,125,238, 56, 56,197,249,113,206, 93,243, 1,243,143, 30,224,246,235,231, 57,122,252, 10, 27, 3,104, 26, 15,
- 47, 50,220, 94,173, 89, 45,107,140,118,132, 90,145, 27,195, 40, 54, 56, 20, 65,219,176,229,192,125,108, 57,252,145,117,207,232,
-154, 45, 81,107,205,177,247, 78,241, 91,127,248,121,138,170, 98,227,204, 12,175,189,125,148,149, 78, 21, 61, 73, 83, 4,142, 35,
-115,175,192,247, 89,238, 44,100, 87,174, 95,167,181,150, 93,139,219, 57,124,240, 0,115,179, 35,105,205,181, 22,112,216, 86, 68,
- 49,107, 26,131, 45,155, 54,177,113,118,134,188, 40,185,116,245, 10, 23,174, 92, 99,105,101,149, 73,154,242, 19, 63,252, 73, 54,
-109,152, 19,177,101,215,246, 11, 3,195,120,154,113,233,202,117,222, 60,246, 46,215,110,221,224,205, 99, 39,185,120,245, 26,253,
- 36, 34, 12, 66,154,182, 97, 52, 26,114,245,198, 13,142,189,123,138,155,203, 43,204,205,140,184,231,192,126,182,109,222,132,214,
-154,149,241,132,223,254,220,127,230,247,254,228,207, 24, 79,166,132,161,207,173,219, 75,204,204,140,120,244,222,123,152, 25,142,
- 56,115,254, 2,127,242,213,231, 88,157,140,217, 56, 59, 75,191,151, 16, 70, 33,179,163, 33,155,231, 55,144,196, 17, 81,224, 19,
-199, 33,253, 68,240,184,158, 39,144,166, 29,219,183,177,115, 97, 43, 81, 24,178,180,188,194, 36,205, 88, 90, 94,101,101, 60,102,
-247,226,118, 94,125,235, 40,227,169,184, 3, 0,154,182,229,198,173, 91, 44,110,219,202,135, 30,125,152,125, 59, 23,217,180, 97,
-110,189, 3,176, 54,139,181,173, 48,201, 79,159,191,200,107,239, 28,103, 58, 77,185,245, 87,132,118,107,199,236,112,192,211, 31,
-124,156,195,119,238,229,142,197,237,204,140,134, 84,117,205,229,235, 55, 24,245,251, 92,186,122,149,255,249,223,254, 59,130, 64,
-236, 71,223,255,122, 0,158,126,236, 17, 62,252,129, 71,233, 5, 1,215,111,222,228,187,167,110,242,226,242,121, 14,126,224, 46,
-222,250, 2, 92, 56,119,132,213, 43,215,113,166,166, 88, 46,217,186,240, 9,126,234,231,103, 56,115,198,227,230,137,156, 45, 11,
- 35,146,197,130, 23,111, 5,124,249,207,255,128, 81,188,136,190, 60,207,230, 3,138,197,216,178, 9,195, 91, 85,192,241,175, 57,
-142,124,251,119, 72,212, 3,156, 63,113,139,252,202, 60, 55, 47,124,147,115,239,252, 62,129, 63,226,161, 39,127,144,251, 14, 59,
-254,246,156,230, 68,157,112,229,155, 83,198,225, 95,144,212, 15, 48, 24, 57,130,173,160, 43, 72, 92,192,246, 97,198,204,157, 3,
-194,244, 17,184,107, 51,171,167,143, 82,230,185,220,147, 81, 72, 91,181,235,207,229,178,170,104, 91, 75,156, 68, 20,181,224, 89,
- 3,223,144,165, 5,101, 33,207, 42, 17, 1,247, 48,158, 71, 89, 87, 4,126,176,142,237,182, 86, 42, 66,207, 51,107,109, 93,162,
- 36, 70,107, 79, 52, 80,202,129, 18, 93,142,131,174,147, 40,182,202,178, 20, 12,170, 31,248,228,185, 96, 85,141,231, 73,156,116,
- 43,246,191,178, 20, 14,123,107, 91,170,186,164, 42,228, 62, 82, 74,194,195,130,110,236, 19,134, 33,190,231, 17, 39,146,148,215,
- 90, 1,116, 89,219, 16,116,248, 92,227,203,189, 90,215, 13, 89,145,209,212,109, 55, 62,148, 48, 44, 79,203,151,241, 12, 85, 85,
- 83, 87,194,164,151,156,117, 89, 99,250,189,132,178, 18,239,127,211,141, 9,202,170, 20,183, 76,183,182, 85,107, 8,104, 68, 88,
- 46,209,208, 5,129, 31,210,116,186,176,186,110,169,203, 18, 99,124,240,196, 34,103, 29, 20,101, 78, 81,148, 98,217,179,150,186,
-145, 77,147,164,195,149, 56, 37, 93,128,186,145, 77, 82, 81,100,157,150, 76,200,170,107, 0, 29,112, 52,173,188,191,181,177,134,
-179,174,203, 91,119, 24,231,196,195,220, 84, 13, 24, 81,115,199, 81, 76, 99,107, 36,210,173,160,106, 82,226, 56,166,202,115, 82,
-235, 48,218, 35, 8,101, 7,159,165, 41, 81, 28,225,112,221,236, 81,230, 0, 81, 20, 19, 6, 62,147, 60, 23,171,153,167,112, 86,
-201,191, 43, 43,234,186, 97,101,105, 5, 63, 8, 58,206,118,139,194, 80,230, 5, 74,105,218,170,198,196, 17, 81, 28,227,154,150,
- 64,251,232, 72,209, 90, 65,247,161, 28,171,227, 85,226, 40, 34,207, 82,226, 40, 36, 8,101,198,174, 60, 77, 23, 20,135, 66, 84,
-213, 86, 1,198, 48, 77,167,248,158, 68,238,181,101,138,211,242, 48, 25,175, 44,211, 32, 11,106,155, 73, 4, 44, 97, 68, 28, 4,
- 98, 85, 42, 75,105,179,244, 19, 60, 45, 40, 71, 19, 26, 60, 79,194, 38, 66, 47, 18,234,143, 51,114, 62,235,154,186,177, 68,161,
-135,242, 36,101, 73,135,178,232,218,198,225,249, 6,219,200, 76, 43,240, 61,138,178, 34,203,228, 3,138, 66,241, 60,130,216, 78,
-202,178, 68,121, 74, 40, 90, 26, 92, 43, 80, 26,173,165,229, 38,155, 8,153, 99,151,157,237,111, 50,153, 48, 24,141, 40,202,130,
-178,168,240,194,128, 94, 24,172,183,252,203,178,196, 51, 62,190,245,240, 60,153,121, 37,113, 68,145, 78,137,194,176, 91,192, 11,
-146, 36,166, 41, 42, 90,235,136,251,162,173,200,178, 9, 69, 85,202, 92,188, 63,192, 83,128, 54,221, 69, 86,211,235,197,148, 77,
- 69,211, 74,199, 97, 50,153,162,208, 20,121, 65, 20,135,164,105, 78,165, 21,158, 39,237,189, 79, 31,242,249,133, 39,123,152,178,
-193, 93,158, 80,174,230,220,182,138,220, 58,252, 34, 7,101,120,238,173,203,236,223,187,153, 91,167,174,163, 76,133,201,125, 86,
-243,146, 32, 14,152,150, 53,123,119,207,179, 82,228, 52,105,203,230,166, 38, 83,150, 98,120, 7,101,211,174,223,160, 69, 5, 75,
- 43, 43,252,250,255,243, 89,190,246,194, 17,108,235,248,165,159,255, 25,110, 45, 45,173,243,191, 55,111,216,192,207,254,237, 31,
-230,201,199, 62,192, 90,216, 77,222,117,157, 78,158, 57,203,238,197, 5,158,249,200,147,108,155,223, 72, 89, 73,154,149, 66, 9,
-205, 79,119,194, 80, 34,226, 36,198, 57,199, 95, 30,121,137,223,252,253, 63,124, 95,251,184,159,244,248,244,211, 31,102,126,211,
- 70,138, 92,108,101,158,241,240,181,168,226,171,170,226,202,245, 27, 92,189,113,157,186,105,177,182, 32,240,125,241,110,231, 57,
-243, 27,230, 88, 94, 89,229,115,255,229,207, 5,122, 17, 4, 60,243,228, 7,185,123,255, 30, 86,198, 99,110,175,172,114,244,196,
- 41,254,222,179,159,102,199,194, 54,190,248, 23,223,224,174,189,187,121,246,227, 79,179,119,215, 46, 17,177,245,250,244,250, 61,
-250,253, 62,183,142,173,112,245,214, 45, 14,223,121,128,249, 13, 93,200, 76,215, 77,242,125,159,192,243,201,202, 92, 90,134,206,
-201,140,208,186,117, 84,105,175,215, 99,121,101,149,179, 23, 47,243,250, 59,199,249,194, 87,159,235, 70, 72,239, 63,170,186,225,
-181,119,142,243, 35, 63,248, 81,130,112, 35,170,187, 22,229,162,182,212,133,248,134,211, 44,103, 97,235, 86, 14,223,185,143,119,
- 78,190,139, 66,227,248,235, 63,111,121, 60,225, 47,143,124,155,199, 31,124,128,221,139,139, 68, 65,192,210,234,152,125,187,119,
-114,226,189, 83,156,191,116,133, 48, 12,249,211,231,158, 95,255,158,181, 42,246,142, 29,210, 45,153,223, 48,199,107, 71,143, 49,
- 23, 7,156,189,117,129,228,145,199,185, 49, 86, 92,184,240, 22,109, 53,166,113,224,150, 3,218,122,202,236,142, 59,113,206,242,
-234,183, 53,126,127,150,221,251,224,220,106,194,159,127,247,235,120,109,203,244,245, 1,225,162, 98, 9,199, 55, 47,135, 60,127,
- 74,145, 21, 16, 13, 28,161,222,195,135,127,162,230,199,126,124, 47,158, 43,249, 55,255,230, 7,176,211, 11, 60,242,212,207,242,
-157,111, 95,225,230,242, 2,230,167,115, 86,142, 68, 92,187,152, 51, 45, 94,163,127,215, 39, 57,244, 67,155, 9,135, 22,223,105,
-174, 76,225,141, 47, 14,216,242, 36, 18,254,114,226, 48,131,195, 31,225,198,145, 47, 48,205, 51,162, 32, 34,140,100, 46,235, 5,
- 30,137,150, 57,123, 81, 86,180, 77,131,135, 56, 18, 80,170,211, 31, 9,150,212, 57,233, 90,235,174,120,176, 8, 66,217, 40,113,
- 66, 57, 44,158,246,137, 34,137,105, 45,154,150, 56, 73,186,133,197, 82,215,210,114, 14,253,128, 52,157,210, 27, 12,200,166, 83,
-217,172,106,141,115, 74, 10,163,166,193,181,178, 72, 77,107,209, 3,137,200, 11,154,218, 18,132,210, 81,144,133,202, 18,245, 18,
-148,147, 8,219,194, 73, 18, 90,127, 40,177,216,158, 18,235, 89, 93,137, 53, 51, 8, 2, 4,185,161,232, 69, 9,121, 41,130,222,
-170,150, 14,179,115, 22,207, 51, 56,165, 8,219, 0,133,232,184,122,253, 24,109,181,184,123,154, 46,100,203, 90,214,232,120,190,
-239,147, 21, 21,198,200,184,181,177, 45,218,122,196,113, 8, 4,212,117, 43,254,126, 11,131,209,144,186,172,137, 34,161,157,102,
-133,184, 8, 42,223,163,159,244,165,170,142, 68, 39,165,148,140,186,148, 82, 20,133, 20, 74,117, 93, 19,154, 16,235, 42,104,165,
- 91, 34,175, 33,236,186,121,226, 26,104, 1,231,106,172,149, 77, 48, 40,122,113,140,246, 20, 85, 85, 99, 36,144, 68, 22, 73,223,
-211, 56, 35, 39,171, 45, 37,176, 35,232, 90, 90,121,158,203, 9,178, 22,167,228, 33,166, 61,141, 78, 34,166,147, 9,214, 58, 81,
- 45,218, 64, 36,251, 26,156,115, 36, 78,145,217,169,156, 44, 44,211, 52, 19,116, 96, 35, 59, 46,207,182,172,174, 78,240, 60,176,
- 90,211,214,130,167,212, 74, 54, 12,113, 24,177, 58, 94,149, 54,120, 47,193, 15, 60,156,114,184,214, 18,134,134, 52,157, 98, 60,
- 77, 20,199,224,105, 60,227,201,204,162, 19,116,161, 4,189,231, 33, 90, 1, 15,225,104,219,182, 38,238, 37, 84,117, 69,150,166,
-180,109, 67,191,215, 35,205,115, 90, 5, 58,140,113,109, 67, 86,228, 36, 97,136, 53,190, 88,150,166, 41,218,211, 12,251, 67, 26,
-107,177,182, 37,207, 11,172,149,132, 34,165, 52, 70,139, 95, 82, 18,209,114,241,141, 55, 13, 85,215,142,244, 60, 33, 6, 57,103,
- 73,162,144,166,173,113, 86,253,191,116,189,105,144,109,215,117,223,247,219,195, 25,239,208,195,235, 55,227,205,120,120,120, 32,
-230, 65, 36, 72,129,164, 72,112,176, 68,217,148,104,201,146,101,121, 72,108,203,178, 29,219,149,148,237,138,171, 18, 59,223,146,
-170, 72,174,138,203,169, 74,148,196,150, 83, 82, 85,108, 41, 17, 21, 90,164, 68, 74, 36, 1,129, 34, 1,130, 36, 72, 98,198,155,
-199,158,187,239,189,231,158,113,239,157, 15,235,116,147, 80,228,141,111, 0,222,235,211,247,238,179,247, 90,255,245, 31, 36,240,
- 68,201,152, 42,205,115,172,210, 72, 60,171,167,170,107, 26,223, 96,181, 37,138, 4,225, 80, 58, 48,155,206,122, 98,161, 48,202,
-149, 82, 2,139, 43, 35, 23,115, 89,225,188,199, 85, 30, 87,215,125,245, 45,222,236, 70, 43,130, 14,212, 77,133, 53,166,239,152,
- 64, 5, 48,198, 50,234,165,125,198, 72, 5,232,189,199,104, 9,212,145, 78, 95, 33, 57,190,154, 60, 19, 18,160,233,139, 15, 19,
- 69,208, 19,233,210, 52, 65, 41,129,232,157, 23, 3,163,186, 46, 49, 70,113,246,200,128,191,243, 76,130,221,109,241,219, 37,111,
- 93, 95, 99,176, 52,230,218,205,109,150,134, 9, 7, 22, 45, 91,175,222, 64,117,158,163, 71,199, 52, 77,203,238,237,109,166,119,
- 39,116, 88, 6, 70, 83, 18,136, 18,195,217,165, 21, 94,127,241, 18,102, 16,179,123,224, 20,199,143,158,101, 86,204,176, 10,162,
- 8,188,239,200,210,132, 79,127,252,163,172,111,110,113,251,238, 93,202,186,102,125,107, 91, 2, 89,108,196, 99, 15, 93, 36, 78,
- 83,102,243, 25,227,193, 16, 19, 25,210, 36,230,224,210, 18,247,159, 59,221,135,114,204,153,151,226,127,160, 16, 98, 96,154,136,
- 23,184,213, 26, 23,137,135,247,230,238,148,166,109,184,112,246, 12, 85,213,114,119, 99, 93, 46, 21, 60, 95,254,250, 75,220,115,
-236, 24,247,223,123, 86,186,213,190, 51,234,186,142,237,201,116,127, 94,218,118,142,189,100,182,227, 71, 14,179,184,180, 72, 62,
-200, 49, 81,196,211,143, 63,194, 91, 87,174,209,180, 45, 75,139, 11,136, 79,120,198,160,237, 40,171,146, 95,248, 71,255,152, 44,
-201,120,223, 99,143,226,188,231,185,111,188, 76,211,118, 92, 56,119,134,170,156,243,218,155,239,128,247,172, 28, 88,166,106, 26,
- 30,186,239, 60, 63,251,147,159,164, 40, 74,146, 68, 52,201,206,121,202,166, 17, 40, 87,201,243, 57, 31,164,203,170, 43,150, 22,
- 22, 24,143,134,228,105,202, 27,239, 92,102, 50,157,252,153, 23,250,242,210, 34, 63,253,201,103, 57,113,244, 48, 75, 11,226,175,
-176,103,232,177,191,180, 24,173, 88, 99,121,245,205, 87,249,234,159,188,200,198,246, 14, 74,201,193,255,195,235,200,193, 21,254,
-230,207,255, 69,206,156, 60,129,107, 91, 22,151, 22, 5, 33,172, 42,254,251,255,249,127,227,163,239,127, 47, 85,221,188,203, 78,
-246,145,139, 23, 56,123,250, 4, 95,127,249, 21, 62,242,163,239, 99,105, 97,129,170,169,184,117,231, 14,225,192, 50, 85,108, 57,
-249,192, 99,220,124,110, 27,127,240, 45,166,107,219,152,131, 16,214, 98,162, 67,129, 60, 74,248,226, 38, 76, 55,239,112,252,248,
- 81, 54, 94, 9,184, 54, 48,187,123,133,232,198, 33,218, 3,199,209, 63, 6,187,141,166,250, 58,204, 87, 97,180, 28, 56,254,144,
-230,131,139, 31, 38, 43, 20,135,114,199,151,148,231,196, 89,207,112,241,199,121,252, 49, 56,242,179, 71,249,236, 63,251, 42,223,
-127,105,136,171,238,112,245,157, 63,162,173,214,248,248, 95, 56,204,169, 3, 5, 47, 62,151,209,181,158,174, 82, 92,250,126,193,
-119, 95,105, 56,186,184,196,234,205,107, 76,231,150,209, 61,103,153, 95,121, 11,231, 90, 58,239, 72,140,197,117,242,158,169, 16,
-176,113, 34,104,146,247,168,214,245,193, 73, 14, 27, 89,130,243, 52,206,227, 58,137, 6,173,170, 82, 46,217,121,199,112, 48, 36,
-210,134,214, 59,130,243,189, 38, 92,147, 70,162,181, 54, 73,132, 82,150,209,200,176,187,187, 75,221, 54,104, 37, 81,181,251,228,
- 45,192,198, 34, 43, 12, 4,108, 44, 74, 15,173, 21,109,235,169,234,134,209,112, 72,100, 34, 26,215,208,214, 53,105, 38, 26,245,
-170, 44, 25, 12, 7, 4, 45,179,255,170,106,177, 90,216,242,132,192, 96, 56, 32,137, 98,196,182,186, 4,148,240, 6,130, 5, 20,
- 40, 77,146,166, 24,163,152, 79, 69, 54,102,148, 33, 30,198,125, 97, 35,200,157, 15, 14,109, 20,243, 89,205, 32,150, 78,190,115,
-146,235,110,140,140,236,116, 36,161,100,131,124, 64,213, 54, 20,197, 28,109, 52,105, 18,227, 90,133,141,117,223,177, 11,175,170,
-169, 91,242, 60,239, 11, 16,225, 61,236,201,140,181, 22, 31,126, 29, 25, 92, 39,129,106,173, 10,164, 89,202,188, 42, 48, 38,222,
- 63, 55,189,247,132,224,153,207, 11,130, 7, 27,217,253,145, 24, 40, 42, 47, 77, 65, 27,199,104,196,184,199,118, 93,199,116, 50,
-193,216, 8, 71,197, 48, 31, 72, 11,111, 20,181,119, 88, 45,115,220,186,174, 24,228, 25,222,119,148,101,141,107, 27,188, 55, 40,
-133,204,106,123,120, 35, 24, 69, 93, 75,229, 84,215, 21, 90,107, 70, 11,139, 66,244, 10, 18,183,105,227,152,166,243, 24,231,136,
-109, 66,211,181,100,217,144,166,109,232,130, 36, 25, 25,173, 73,210, 12, 31, 58,188,151,234,110, 58,157,146, 36,146,197,174, 67,
- 32, 74,196, 65, 40, 31, 12,105,187, 26, 67,134,235,101, 87,249, 96, 68, 83, 86,232, 40,238,245,129, 66,251, 87,253, 7,107,180,
- 92,122, 93,221, 80,206, 69,243,173,181,194, 40, 41, 46,242, 52, 70,233,148,198,181,148,101, 69, 8,134, 36, 77, 36,122,176,243,
- 76, 11,209,244, 70, 81, 76,232, 28,229,238, 46,117,156, 16, 69, 9,249, 64,170,223, 98, 62, 71, 43, 69,146,101,184,186, 6,239,
-105,157,167,235,154,253,131, 79,245, 7,142, 2,140,181, 12, 7, 3,102,197,156,224,107,177,127,236,132,104,101,172, 64,230, 33,
- 4, 90,215,225, 59,113,153,202,178, 62,198,208, 90,138, 98, 66,154,100, 88, 19, 51,111, 42,178, 56,198,121,177,132, 36, 72,124,
-104,240,161,127,110,241, 18, 46, 10, 33,176,165,195,124,191, 11,171,145,151, 82,245, 27, 95, 27, 67, 89,139, 5,112,232,159, 86,
- 43, 49,136,208,157,252, 62,243, 89, 65, 54, 28, 80,245, 30,251,198,187,222, 39, 95,162,105,235,222,149, 46,138, 98,148, 53, 68,
- 81, 78,219,212,188,255,180,194,214, 17,171, 47,190,194, 92,107,166, 62,162,242, 29, 7, 6, 9,247,173,164, 44, 61,124,154, 23,
-191,189, 74,186,144,113,227,218, 58,199, 79,172,176,180,178,200,183, 95,189,142, 41, 91,102, 69, 1,145,124, 6,151,175,175, 67,
-100,240,109,195,142, 30,113,122, 56,166, 42, 10,136, 45, 93, 39,133, 73, 49, 47,249,194, 87,158,163,152, 21,124,232,233,247, 18,
-188,227,238,218,198,190,255,247,238,100,202,194,104, 68,158,230, 68,113, 36, 99,135,190,187, 64, 65,211,116, 84, 77,131, 11, 30,
- 29, 2,202, 72,177, 24, 16,153,166,214,208, 57,113,100,244,174, 99,123,119,151, 87,222,124,155,187, 27,235,242, 46, 12, 7,156,
-185,231, 56,127,253,103, 62,205,125,231,206,202, 69,238, 58, 57,131,144, 68,181,213,245, 13,238,172,173,239, 63,211,120, 56,100,
-117,107,139, 71,147,251, 69, 42,170, 68,101, 48,153, 21, 92,186,122,157, 15,189,255, 41, 86,150,151,105, 93,199,214,246, 14,215,
-110,223,225,232,225,195,252,210, 47,252, 60,191,249, 59,159,227, 27,175,188,194, 63,253,229,191,197,251, 30,123, 88,100,162, 62,
- 48,153, 21,108,239,238,242,219, 95,248, 18, 90,193,131,247,221,199,104, 56,224,238,218, 70, 63, 18, 49, 61,209,175, 69,181, 10,
-109,251, 16, 30, 37, 6, 39, 87,111,222,230,243, 95,254, 42,111, 92,190,202, 48,207, 57,118,228, 16,127,244,194,215,185,187,246,
- 3,171,218, 31, 94, 91,219, 59,252,223,159,255, 18,191,252, 87,127,158, 44,205,136,163,104, 95, 25,178, 55, 51, 13,109,203,238,
-172,224,214,157, 85, 14, 44, 45, 48, 24, 14,216,216,252, 65,172, 43,252,160,211, 62,188,114,128, 51,247, 28,231,252,233,147,196,
-177,252, 93,151,174,221, 96,117,109,157, 44,142,248,149,255,245,223,160,181, 24,114, 52, 77, 47,123,234, 28,159,250,232,143,145,
-218,136, 43,215,110,240,208,125,231,185,126,251, 46,163, 60,195, 25,131,125,252,125,140, 22,199,108, 47,124,147,225,204, 51, 88,
-206,176, 85,142, 95,212,196,117,204,202,145,192, 3, 43,129, 75, 71, 69,110,151,168,148, 86, 37,148,211,134, 98,109, 11,123,208,
- 82,188,160,152, 60, 24,152,151,146, 47,145,220,147,243,246,119, 53,127,239,239,183,156, 9, 49, 96, 24,239, 26,142, 28,134,106,
-118,144,175,124,229, 58,199,142,159, 36,139, 22,184,250,202,127,224,212,217, 79,112,248,232, 7, 56,121,254, 40,249,251,145, 6,
-227, 81,184,252, 27,138,237,187,155,108,109,191, 67, 49,187, 74,115,224, 97,102, 59, 55,217,222, 89,165,155, 41,242, 40,161,152,
- 10,114,185, 83, 20, 36, 73,138, 71,200,111,145,138,133,192,213, 58, 76,146, 16,188,204,103,157,115, 52, 78, 50, 50, 0, 98, 19,
-211,181, 14,173,196,107, 96, 54,159, 51, 26, 13, 48, 40, 60,158,121, 37,112, 61, 74,161, 21,152, 90,140,110,178, 44,101, 60, 30,
-227,218,142,182,237, 64, 9,177,172,109, 91,140, 18,168, 94, 35, 46,112, 58,104,108, 34,146, 93,231, 68, 33, 82, 85, 53,113,212,
-107,201,157,216,203, 42, 45, 25,246,101, 49,151,177,130,115, 50,134,236, 57, 63, 33,136,231, 72, 89,213,146,214,150, 70,184,186,
-165,233, 60,211, 86,200,154, 89, 38,163, 3,231, 91,130,146, 8, 99,215,138,246, 62, 4,133,181,170, 31, 29, 59, 65, 55,172, 32,
- 21, 33, 40, 58, 87, 19, 27,139,182, 26,130, 40,136,228,153, 34, 49, 77,171, 74,218,186,161,246, 34,167,219,115,254,115,173, 60,
-167, 82,129,249,124, 78, 28,203,184,215,117,157,112,248,148,194, 88, 75,231, 3,166,149,115,101,143,147,210,212, 13,174,245, 36,
-137, 38,138,114,186,174, 69,130,124, 2,253,116,143, 64,160, 44,231, 61,105, 91, 28, 7, 65, 72,128,113,156, 0, 26,115,238,252,
-249,127,225,189, 35,142, 19,246,194, 70,166,211, 25,243,249, 12,239,101, 78, 90,245, 2,251,189, 57,136, 15, 98,202,161,145, 4,
- 37, 9, 74, 81, 36, 89,142,182, 10,223,207, 69,180, 53, 72,164,164, 16,135, 80, 26,155,196, 4, 7,177, 49,100,249, 0, 99, 99,
-146, 36, 23, 88, 58, 52,228,201,128,182,103,226,230,121, 74, 93, 86,228, 61,225, 77,146,108, 68,178,230,156, 35,120, 15, 94, 24,
-159,197, 76,242,107,203,178, 32,142, 82, 49,145, 25, 10, 11,124, 50,153,236,179, 8,219,166,145,153, 74, 87, 83,204, 10,186,126,
- 94, 28, 89,201, 91, 23,152,182,166,107, 29,113, 28, 99,180,161,237, 2,121,158,202,115,244,124, 2,173,197,199, 62,138, 44, 58,
-138,241, 94, 73, 21,213,111, 86, 99, 45,105, 42, 29,109,231,101,166,109,172, 84,123,174,109, 9, 62, 16,148, 39,178,166,151,249,
- 9,140,146, 36, 9,145,149,106,113, 15,138, 71, 9,186, 16,167,113,127, 32,138,228,208,185,222,181, 46,207, 65,203,207, 47,203,
-146,180,191,232,181, 17, 24,168,170,164, 74, 31, 14,115, 76, 95,189,134, 16,152, 21, 18, 10,163, 12,226, 56, 85,204,176,218,246,
- 80,180, 39,138, 4,161,217,147, 90, 25,173,137,162, 8,109,122, 95,252,166, 33, 4,217, 23,218, 72,209,177,247, 50, 39,113,130,
-115, 29, 10,153, 29,197,113,210,111,118, 97,233, 43, 43,233,108,143, 31,130, 7,109,205,224,240, 2, 75, 79,156,227,214,213, 77,
-124,235,176,177,225, 35, 63,251, 36,193,107, 94,126,233, 42,195,229, 1,219, 59, 53,219,211,134,165,161,165,243,138,166,131,179,
-247, 29, 39,143, 21,170, 21, 18,229,137,243,135,217,220, 42, 24, 63,244,113,146,225, 88, 20, 22, 90,163,251, 3,110,117,125,131,
-231, 95,124, 25,148,226,240,202, 50,187,179, 25,111, 93,190,178, 63,111,157,151, 53, 40,201, 57,200,211, 20, 37,152, 30, 62, 64,
-240, 94,102, 92, 65, 2, 59, 4,142,146,130, 44, 16,196, 52,195, 57,153, 27,182, 29,239, 92,190,202, 87,190,254, 77,222,236, 67,
- 95,246,144, 16, 9,191, 16,200,108, 60, 28,238, 67,248,214, 90,186,174,229,198,237,187,188,117,233,114,111,206, 36,252,131, 35,
- 43, 7, 56,114,240, 32, 11,227, 33, 90,107,190,240,149, 63,230, 11, 95,121,129,115,167, 79,240,227, 31,126,134,165,197, 5, 92,
-231,184,185,186,202,181, 27,183,249,147,151,191,205,151, 94,248, 58,193, 7,142, 31, 62,200,180,152,211, 52, 13,231, 78,157,100,
-121,113, 76,154,102,164, 73, 44, 16, 94, 8,220,127,238, 44,247,157, 59, 77, 26,199,236, 39,241, 5,241, 43,104,218,150,186, 17,
-175, 8,109,100,143,142, 7, 3,142, 31, 57,204,250,214, 54,159,255,242,243,188,242,218, 27,204,138, 31, 4, 33,129, 20, 30, 73,
- 28, 99,163,136, 56,178,124,228,153,167,121,244,226,125,140, 71, 3, 25,147,245,255, 72, 73, 36,246,195, 89,154,178, 51,157,242,
-239,126,251,179, 60,247,141,151,216, 75,176,251,211,107,117, 99,147,121, 89,179, 52, 30,179,188,184,200,221,245,117, 94,121,237,
- 13,126,245,215,254, 45, 69, 89, 83,246, 4,171,189,220,137, 7,238, 61,203,235,239, 92,226,196,177,163, 60,245,200, 67,220, 94,
-223,192,121, 73,105, 60,126,104,133,239,121,197,209, 15,127, 26, 53,111,153,110, 95,195,212, 21,147,170, 70, 71, 57,201,194,136,
-195, 43, 71, 56,118,232, 33,182,135,154,237,244,251, 84,217, 21,194,210,148, 3,247, 13, 57,218, 62,201,234,250, 2,183, 95,249,
- 34, 59, 55,214,216,126,187,100,123,190,203,234, 43, 95,224,205,151,159, 71,233,123,200,158, 89,226, 53, 91,242, 98, 97, 89,255,
- 19,232,102,138,174, 80,108,237,166, 92,255,226,103,185,255, 3, 63,198, 99,207,252, 24, 63,241, 15, 79,241,212, 95,184,159,123,
-158, 58,193,198,215, 58, 94, 91,187,195,237, 47, 78,184,117,233, 26, 59,235,111,176,179,253, 26,174,105,136,176,148,213, 38,205,
-124, 29,215,238, 48,202, 91,234,121, 41, 23, 83,211,160,181,162,169, 27, 34,107,232,188,220, 8,137,141,233,156, 67,121, 48, 86,
-179,119,238, 11, 47, 74,211,248,142, 44,149,177,145,177,154, 52,205,246,205,138,210, 36,161,174, 69,254,181,231,178, 41,217,235,
-194, 69,242, 94, 76, 98, 90,215, 82, 87,245, 62,116, 93, 54,117,127,158,201, 8, 44,244, 13,149, 40, 99, 4,102, 15, 62,136,211,
- 28, 30,163, 36, 24,166, 11, 29,157,247,180,174, 19,249, 86,219, 10,195,183,191,119,124,240,125,238, 68, 71,232,207,151,184, 39,
- 84, 71,145,161,235, 58,240, 16,144, 81, 99,154,200,204, 91, 44,104, 3, 11,163,113,143, 32, 68,184,224, 81,200, 25, 24,250,182,
- 69, 35, 81,203,214, 88,108,223,165, 27, 19, 17, 69,137, 52,128,168,158,195, 36,127, 34,178, 6, 99, 98,180,213, 68,218,138, 67,
- 98, 28,225,219,150,233,124, 38,198,101, 77,133,182, 6,133, 32, 11,222, 59,172, 49,216,190,193,234, 58,201, 79, 55, 61,177,209,
-123, 39, 92, 49, 39,191,107, 18, 75, 19,219, 58, 33,240, 53, 77, 37,223,107, 79,104, 77, 18, 65, 45,172, 49, 50,131,182, 54,194,
-117,142,178, 40,164,147,174,123, 13,227, 92,170,130,202,121,118, 38,219,226,211,173,140, 72,158,154, 25, 62, 4, 34, 99, 73,211,
- 24,141, 36,249,180,109,131,115, 66,128,115, 56, 18,147,136,243, 80, 38,151, 74,227, 68, 51,174,219, 78, 40,248,214, 80,148, 13,
-113,220,103,212, 38,253,161,226, 3,109,191, 41,172, 50,140, 7, 35,170, 90,100, 7,131, 60,167, 44, 11,124, 16,246,116, 8,142,
-201,238, 14, 40, 69,221,116,216, 40,194, 57,217, 20,170,239, 60,141, 81, 52,141,120, 28, 71, 70, 83,151, 21,174,107,201, 50, 49,
- 94, 17, 22,183, 20, 40,174, 19,178,156,210, 86,146,209,180,100,171, 55, 93,135, 1, 76, 20,225,186,128,119,158,200, 68,100, 75,
- 18,131, 42,243, 23,131,235, 36,125, 72,107, 97,154, 71, 81,111, 85,168, 32,177, 22,165, 60,185, 77, 41,203, 57,121,146, 18,229,
- 67,102,243,130,121, 93, 51, 72,179,126,134, 2,147,217, 76, 42, 48,181, 71, 38, 82,228,131,156,106, 38, 81,136, 2,231, 66,215,
- 57,138,233, 20,165,100, 90, 36,122, 72,233, 46,141,181,242,221,244,159, 71,219, 51,230, 65,145, 15,115,124,219,178,103,135,152,
-228, 41, 54, 78,240,190, 99,107,107,147,241,120,129,166,174,164,203, 15, 1,109,181,108, 88,109,164,187, 81,162,147,117, 33,160,
- 75, 24,141,196, 40,194, 24, 48,246, 7,206,115,243,182,149, 75, 13,136,146, 68, 96,193, 72, 99,108, 10, 11, 6, 14, 15,216,253,
-218,101, 84,231,121,246,175, 60,197, 91, 95,124,157, 59,127,114,153, 91, 91, 83,244,100,142, 25,165, 80,213,245,242, 75,139, 0,
- 0, 32, 0, 73, 68, 65, 84,148, 69,195,155,101,195,141,173,130,241, 32,102, 58, 45, 81,141, 99,117,123, 78,215, 54,108, 79,106,
- 14,157, 60, 65,117,228, 4,211,233, 84,186, 18,239, 81,202,224,125,203,213,155,183,121,243,202, 53, 78, 28, 57, 76, 93,183,188,
-113,233, 42, 55,123, 11, 83,173,224,158, 35,135, 56,123,226, 4, 89,146,160,180,204,124,149,150, 94,165,233, 28,157,151,217,155,
-116,140, 94, 62, 87, 15,190,145,238, 1,132,156,227, 58,199,230,238, 46, 27, 59, 63,204,220,214, 28, 59,124,136, 15,191,247, 73,
- 30,125,207,253,156, 59,125,138, 61,249,208, 94,199,190, 59,153,114,253,214, 45,174,223,190,187,255,167,182,119,118,185,179,182,
-206,218,198, 6,167,238, 57,142, 66,113,223,217,211,252,204,167, 62, 65, 28, 89, 78, 30, 63, 38,135, 91, 8,204,231, 21,175,190,
-115,153, 43, 55,110, 50,159,207, 57,116,112,133, 71, 31,184,159, 39, 30,126, 15, 23,238, 61,199,104, 48, 32,207,115,182,118,239,
-178, 61,153,114,254,228, 49,182,119,119,184,179,190,198, 3,245, 25, 14,174, 28, 16,194,156,141,152,247,223,187, 86, 66, 58, 53,
-218,112,119,125,131,141,205, 45,166,179,130,178,105, 57,123,242, 30, 62,244,244,147,188,240,141,111,239,203,226,246,150, 15,112,
-250,248, 49,126,225, 51, 63,201,123, 46, 92,224,248,145,131, 88,173,217,153,206,168,235, 22,109,157,164,223,117,142,221, 89, 65,
- 81,150, 52,181,232,110, 31,127,240, 1, 94,121,253,205,253,192, 28,144, 46,125,113, 60,230,254,243,103, 57,119,242, 4,159,252,
-208,143,114,240,192,146,112, 78, 80, 98, 42,163,244,187, 34,104,247,214,137, 99, 71,121,250,137,199,248,245,127,255, 59,252, 87,
-127,251,175,115,241,236, 25,222,184,124,153, 3,195, 1,119, 90,199,237, 99,167,120,122, 48,102,245,123, 1,223, 42,170,214, 83,
- 59, 67,182,184,140, 74, 3, 39, 14, 31, 66,157,222,228,202,181, 43, 44,173, 44,114,226,224,163, 44, 41, 25, 70, 31,248,144,226,
-220, 39, 14,242,235,255,244,125,188,253,181, 95, 37,160,112,170,165,154,172, 49, 90, 58,193,226,226, 50,235,191,171,104,167, 41,
-122, 25,202,137,198, 53, 1,101, 21, 22,184,115,231, 26,159, 57, 12, 59, 94,177, 24,207,120,144,140, 63, 74, 53,169,183,172,191,
-122,128,118,233, 43,116,203,183,217,185,226, 81, 6,242,197, 19,128,163,235,230,160,161,109, 45, 46,206,241,174,101, 54,107,123,
-123, 88,139,115,245,254, 5, 49,159,207, 33, 67,206,131,216,226,130, 39,141, 83,246, 36,166, 81,170,177,157, 7, 37,196,219,224,
- 3, 30, 71,158, 15, 80, 10,202,121,137,141, 34, 58, 23,168, 42, 33,130,198,113, 76,150,100,204,138, 2, 79, 13,206,147, 15,135,
-204,166, 83,162, 40, 17,136,217,118, 88,246, 92, 69, 69,102,220,118,173, 72, 93,211, 12,218, 6, 79, 64, 25, 69,104, 28,104,113,
-186, 83, 78, 97,209,160, 45, 77,215, 73,144, 86, 36,231,160, 79, 28,169,143,113, 46, 96, 85,160,237, 58,138,162, 96,113,113,113,
- 63, 15,125, 60, 26, 11,234,216,212,196, 54,162,238, 90,124,144, 89,185,209, 6,109,197,141,212, 5, 71,158, 38, 56,215,251,156,
-120, 5, 10, 58, 60,101, 85,202,229,173, 12,109,127, 79,248,174,197,155, 4,180, 66,123, 48,145, 36, 86,138, 72, 64,208,131, 16,
-132, 7,208,245,168, 66,219, 8, 99,125, 52, 26, 49,221,157,145,102, 9,217, 64, 44,120,187,198, 19,130,140,161,246,208, 8,231,
- 2,117, 51, 71, 43, 49,241,217, 11,147, 42,171, 90, 84, 78,218, 16, 60, 68,113,210,195,247, 1,165, 2,179,121, 65, 98, 99,172,
-119,142,186,113, 52,213,132, 40,138, 1,205,188, 44,233,186,110,223,104,197, 59, 47,198,252, 33, 96, 35, 75,211, 58,232, 96,144,
-229, 76,103, 19, 90, 31, 24, 12,134,116, 78,230,186,214, 10,171, 89, 25, 17,253,135, 0,131,193,136,178,174,152, 87, 21, 73, 20,
-139,183,111,223,109, 87, 77, 67, 26,107, 60,129, 16, 60, 89,150,138,102,181,117,116, 14,182, 55, 55,177,214, 48, 28, 14,137,163,
-120, 31, 10,205, 7, 35,234,170, 17, 87,186,166, 3,163,136,242, 49,177, 81,116, 94,168, 53,105,146,144,196, 49,117, 37,122,197,
- 60, 23, 34, 4, 4,134,131, 1,147,201, 46,117,221, 73, 81,162,132, 48, 17, 2,232,196,138, 47,183, 86, 24, 45,225, 41,149,209,
-168,126, 62, 50,212,154, 56, 49,212,117,139,141,250, 88, 84, 99, 72,172, 66, 25, 77,232,192,187,192,100,178, 3,222, 67,158,227,
-154, 10,124, 64,143,199, 88, 19,131, 15, 4, 31,152,119, 13,227, 68, 2, 68, 58,231, 80, 8, 40,111,173,193,185,142,182,107,200,
-178, 1, 85, 85, 49, 24,102,116,109, 75,146,196,244,101, 50,109,221, 48, 43,102, 8, 25, 68, 83, 85, 53,131, 97, 36,115, 31,173,
- 25, 14,134, 40, 45, 82,151, 36, 73,100,104,143,176,173,171,186, 36, 78, 82,180, 54,228,153, 64, 73,218, 42,230,115,201, 42,222,
-222,222,194,196, 17,126,111,195,181,142,100,144,236,147, 60,156,243,248, 42, 16, 27, 75,211,214,248, 78, 72, 41, 77,219,226,154,
-138,209,120, 44, 7,132,119, 20, 69,177, 79,230, 83, 74,241,227,239, 25,240,231, 31,137, 9, 74,179,245,199,151,249,245,255,248,
-125,254,225,207, 62, 1,111,110,241,149,111, 94,231,196,161, 5,230, 77,199,194,161, 17,219, 59, 5,233,242,152,196,119,108, 23,
-162,219,244,117,199, 91, 87,119, 56,117, 48, 97, 16,107,140, 77,136, 76,224,246, 52, 38, 45, 43,102,197,148, 3, 11, 75,228, 89,
- 42,213,118,208,156, 56,126,148,243,167, 79,113,252,240,129,253, 8,206,189,229, 3,220, 93,151,184,208,131, 43, 7,176,235,107,
-172, 44, 47, 67, 63,162,235,188,167,169, 27,233, 80,148,140, 39,172,181,104, 69, 15,189, 75,248, 11,192,250,214, 54,219, 59,187,
-162,216,248,193, 79, 96, 86,204,152, 20,115,218,206, 49, 47,231, 61,164, 38,164,193,166,233,184,187,190,193,247,223,124,135, 31,
- 94,198,136,172,174, 40,107,118,167, 83,198,195,156,243,167, 79,113,226,216, 81,170,178, 98,109,115,139, 63,248,234, 31,243,213,
-111,188,196,229,235, 55, 1, 72, 99, 25, 59, 45, 14,135, 52,206, 49,200, 51, 70, 3, 73,151,186,117,119,149,231, 95,124,153,231,
- 95,124,153,105, 81,240,216,131, 23, 57,115,207,113,150,198, 35,146, 40, 98,144, 74,130,151,105, 13,174,171,152, 85,229, 62, 4,
-254,234, 91,111,115,245,230, 45, 54,183,119,120,245,173, 75,204,171,138,200, 24,134,195, 1,237,110,183,223, 25,231, 89, 74,100,
- 35,222,184,114,149,255,230,127,252, 87,252,226,103,126,146, 79,127,242, 89,150, 71, 99,185,184, 21, 24, 31,129,149, 46, 37, 75,
- 19,110,220,190,195,239,254,193, 31,241,253,183,223, 65, 3,197,252,221,241,170, 82,240, 11,212,254,248,131, 15,240,224,133,123,
-241,222,243,220, 75,223,226,247,159,251, 26,177,209,220,115,244, 8,215,111,189, 91,211,174, 81,252,254,115, 47,240,143,127,233,
-111,240,215,254,226,159,231,155,223,123,141,159,253,137,143,179,177,189,197,225, 3, 75,188,176,189,203,248,108, 74,211,129, 57,
-163,240,175,105,154,118, 78,154, 45, 51,156, 28,193, 13,214,153,181,155, 84, 27,175,115,242,216,123, 56, 58, 88,102,108, 96, 52,
-128, 52,106,184,177,155,240,205,207, 46,112,244,200, 2, 27,247,188,151,237,237, 75,196, 78, 49, 58,121,129, 52,215, 76,118,222,
-226,238,205, 71, 41, 11, 69,121,123,151,134, 6, 91,119, 68,139, 71,217, 45,110, 51, 26, 61, 10,143,193,218, 31,194, 89, 60, 75,
-202, 18,135, 29,244, 99, 99,138, 87, 20,213,173, 3,196,227,171, 28, 61,123, 15, 90, 31,195,123, 79, 61,221,193, 59, 80, 68,120,
-149,161,143, 30,228,128,106,152,174,173,245, 77,149, 20,158, 69, 49,103, 56,148,145,106,215, 57, 90,215, 49,202, 13,202, 7,106,
-215,129, 19, 27,104,130,200,199,180, 6,155,138,211,103,219,118,130,188,117, 34,211,234,234, 78, 20, 49, 58, 67,107,100, 68,167,
- 53, 54, 54,184, 38,224,244, 15,102,199,214,106, 48,138,208, 34,145,175, 93, 71,154,230, 40, 37,126, 24, 0,117, 37,141,194,104,
- 52,162,235,186,158,116,166,152,236,150, 68,177,197, 90,185,143,178,222,193,179,235,246,220,227, 58, 92, 39,119, 13, 8,132,110,
-173,240,143,234,174, 37, 79, 50, 90, 47, 42,171,121, 81, 96,210,132, 65,146,163,242,189,112,154,110, 95,134,231,235,146,166, 21,
- 47,253,186, 81, 24, 29, 48,202,146, 36,154,186, 1,229, 21, 42, 50,196, 26,202,121, 77, 20,107,230,187,149,188,247, 86,202,149,
- 52,203,233,218,154, 56,142,112,206,209,118, 45, 81, 28,209,213, 29,193, 73, 33,225,187,142,170, 44,209, 86, 36,125,222, 67,146,
-137,135,126,211, 52,228, 89, 78,168, 75,249, 93,140,233,201,199, 74,154,136,182, 37, 74, 18,210, 52, 70, 41, 35,104, 72, 89, 49,
- 28, 14,240,120, 9,183, 65, 76,137,156,114,216,178,135, 74, 76,100, 73,141,100,128, 55, 77, 45, 21, 77, 36, 21,214,172,152, 10,
- 52, 18, 20, 85,211,176, 48, 90, 64,230,187, 82, 53,136,181, 94,199,116, 42, 25,229,101, 85, 73,194,218,112, 40,210,131,224, 73,
-148, 34,142, 45,222,201,172,174, 42,230,184,222,226,207,152,158, 16,134, 71, 43,209, 30,206,231, 21,205,188, 68,117, 45, 26,143,
-243, 29,211, 93,135,210, 10,155,103, 40,101, 8,200,156, 70, 57,133,138, 4,246,110,155,138,225,226, 18,105, 36, 6, 8,109,219,
- 10,113,195, 66, 8, 82, 45, 26, 45, 94,185,114,117, 42,162,200,146,101, 3, 80, 10,133, 48,212,187,214,209,118,123,157,135,200,
- 14,178,108,128,238, 73,112,109,219, 49, 30,143,177,145,161, 42, 11,180,181,212,101, 73,219,212, 12,243, 1,173,247,212,197,174,
- 64, 80,243, 57,179,237,109,148,150, 68,167,217,100,130,210, 16,124, 64, 25, 67, 26, 37, 0,228, 67,241,161,111,218,150, 56, 77,
-216, 35,155, 4,232, 53,159, 17,109,221,130, 81, 36,214, 80,213, 53,243,249, 28,173, 13,222, 59,198,121, 78, 67, 64, 43, 3,193,
-147, 36, 17,185,201,152, 21, 51,180,150, 11,189,105, 58,242, 52,197, 7, 77, 85,215, 36, 81,130,243, 29, 96, 40,230, 37,113, 28,
- 49,157,148,248,174, 19,253,104,108, 72,227, 20,149, 72,103, 90,206,231, 61,123, 83, 62,189,166,105, 48, 90,163,172,194, 96,132,
-140,131, 34,210, 22,147,199,116, 77, 67, 28,247, 47,103, 38,208, 94, 8,129, 11,135, 29,127,243,253, 67,226,162,198,167, 25, 95,
-121,233, 6, 79, 63,116, 28,245,196, 41,190,247, 59,223,230,137,135,142,211,121, 48,107, 51, 38,109,199,122, 19, 40,110,110,113,
-250,232, 50,171, 69, 1,218,208,248,192,241,149,140,115,199, 70, 52,211,134, 77, 31, 24,141, 44,117,126,132,233,172,160,107,196,
- 4,162,172,106, 22, 70, 35,230, 85,205, 86,159, 58,166, 20,220, 94,125,119,114, 24,200, 5,154,167, 9,193, 7,162, 56,233,199,
- 70,226, 21, 32, 48,116, 77,235, 28, 4,135,209, 18,191,169,181, 70, 43, 77,211, 31,166, 93,219,113,251,206, 93,238,174, 75, 71,
-187,183,146, 52,238,209,129,203, 60,253,196, 35, 16,232, 11, 84,205,100, 90,240,205,239,189,198,235,151, 46,113,240,192, 18,171,
-125, 76,233,194,120,196, 79,124,228, 25, 30,186,255, 34, 7,150, 22, 24, 13,228,128,246,206,247,251, 35, 34, 4,197, 7,222,251,
- 4,163,241,136, 47,127,237, 27,188,254,246, 37,170,166,161,233, 58, 86, 14, 44,243, 51, 63,241, 73, 86, 22,199, 82,144,119, 13,
- 89,154,112,225,236, 25,156,115,188,115,245, 6,211,217,156,197,241,152,199, 31,126,143, 32, 7, 90,161,124,223,185, 24,141, 15,
-114,193,238, 76, 39,188,117,233, 26,127,240,220,243,236,206,138,119,205,171,255,244,242, 1, 62,249,225,103,120,252,161,139, 36,
- 81,132,235,187,151, 56,137,233,156, 23,174, 5, 34, 89,173,218,134, 27,183,238,176, 51,157,145,231, 41,101, 89,255,153,221, 54,
-136, 55,251,251,159,120,148,199, 31,122,128,151,190,251, 42, 91, 59, 59,164, 73,202,231,255,240, 43, 0,226, 65,222,175, 56,178,
-164, 89, 74,158,138,132,244,179, 95,252, 50,255,242,159,255,215,124,237,155,223,226,249,151, 94,230,177,139, 23,136, 15, 29, 98,
- 54,171,184,248,240, 71,105, 47, 7, 70, 39, 3,206, 46, 98,140, 37,205, 22, 97,169,225,216,202, 34,231, 30,254, 49, 70,139,138,
-140,128, 86,158, 40, 40,230,117,160,241, 49, 81, 22,216,184,181,202,230,157, 27,124,236, 47,253, 21,120, 6,118, 60, 12, 45,124,
-251,191,253, 42,119,174,255, 49,170,147, 92,243,170,153,225, 19, 69,232, 60, 81,185,205,246,238,117,104, 75,190,243,219, 96, 51,
-248,238,239,143,105, 62, 26,200,173, 38,190,172, 8,157,163, 42, 60, 77,172,137, 87,214, 56,152, 61, 67, 62,238,112,237, 58,107,
-171,176,118, 51, 98,186,150,211,109,174,112,207, 51, 15, 16,191,252, 5,138,219,107, 24,107,240, 65, 96,218, 16, 20,113, 26,203,
- 60,217, 70, 84,117, 77,215,138, 73, 76,231,157, 4, 47,229, 25,131, 65, 38,176,122,219,244,242, 40, 79, 85,149,189, 14,190, 37,
-205, 82,145,224, 90,201, 81,207,178, 76, 70,180, 54, 34,178, 49,198,104,218,174, 35,201, 18,124, 23, 40,138, 41, 10, 77,158, 15,
-247,121, 77,117,211, 16,233, 8,155,199, 36,105, 74, 93,213, 20, 69,193,104, 52, 38, 31,230, 66,192,179,134,166,115,212,141,188,
- 59,123, 8, 88,167, 20, 74, 26,105,226, 52, 69, 35,209,208, 74,131,209,150,208, 9,156,237,130,100, 84,180,109,219,123, 65,148,
-228, 70, 28,245, 92,213,145, 13, 50,234,166, 6,223, 17, 69,105, 63,130,245, 16, 60,206,129, 87, 45,177,142,132, 15, 16, 28,174,
-107, 37, 86, 60, 4,108, 72,201,146,132,166,115,148,197,140,198,136,148, 78, 76,116, 20,121,154, 83,119,114,127, 38,113,194,238,
- 92, 92,241,226, 94,162, 23,250,226,201, 53, 53, 16,200,178, 12, 21,250,115, 51, 40,188,235, 40, 59, 9,204,146,207, 89, 3, 26,
-165, 13,229,188,192, 24, 75, 8,194, 1,240, 78,156, 64,173,177,253,168, 60,162,235, 28,214, 90, 75,154, 72,158,235,188,174,105,
- 93, 75,222, 75, 2,240, 66,144,136, 18,137, 75,245,222,163,186,208,235,235,122,195,145, 44,101, 54,153,177, 51,217,197,232,136,
-174, 19,237, 93,227, 28,126, 54, 97, 48, 24, 33,158,185, 83,160,103,249, 58, 79, 28, 69,212,149,116, 53,131,209, 2, 74,105,102,
-179, 25,113, 18,137,252, 66, 25,130, 53, 61, 60,163, 8, 74, 28,186,112, 10, 87, 8,211, 17, 31,192, 90, 92, 39,158,196,218, 70,
-100,195, 17,104,201, 16,222,151, 10, 89, 3, 88,172, 17, 24,170,174,155, 94,230, 0, 90, 11,241, 70, 98, 90,133, 37, 58, 30,141,
-169,219,150,162, 16, 89, 89,108, 45,202, 26,230,243, 89,255,103,164,131,159, 78, 39, 66, 96, 83,144,197, 17,243, 70, 10,164,157,
-221, 29,210, 92,248, 9,157,107, 5,177,104, 61, 62,202, 25,102, 17,173,243, 84,115, 49, 94, 9, 4,138,217, 28,198,138,196,136,
- 4, 48, 50,134,174,238, 80, 74,147,102, 57,214, 40,156,181,178,193,156, 35, 82, 17,157,247,148, 85, 69,146, 38,251,190,206,202,
- 90, 6,145,104,137,139,162, 20, 82,159,239, 24, 13, 71,204,139, 18,239,101, 3, 76,103,243, 30,186, 7,188,152,217,228,153, 88,
- 80, 22,197,156, 44, 77,133, 46,222, 87,226, 26, 25, 77, 84,181,188, 36,211,233, 20, 99, 52, 1, 8, 94, 65,240,168,166,247,148,
- 14,141, 36, 30, 53, 98,208, 35,254,255, 29,211, 66,140, 41, 70,195, 33, 30,205, 47,127, 48, 35,186,182,137, 63,113,128,233,155,
-119,153, 79,102, 60,240,190, 83,168,203, 59,220,222, 44, 57,115,239, 10, 77,237, 25,159, 61,200,107,175,175, 82,116,129, 56,143,
-185,116,117, 19, 29, 91, 14,140, 98,202,121,195,249,195, 35, 54,175,108,224,203,138,193,145,101, 54,215,107, 46,141, 91, 98,189,
- 77,158,198,124,254,203, 95,229,218,237,187,252,151,255,249, 95, 99,109,115,139,223,252,157,207, 9, 7,163,144,125,240,195,203,
- 24,195,163, 15,222,207,193, 3,203,125, 1,234,217, 35,102,185,190, 24, 33, 72, 49,230,156,195, 43,141,209,158,128, 72,132,124,
-127, 48,228,121,206,169,123,142,115,103,117,157, 51, 39, 78,240,253,183,222, 1, 60,105,148,240,192,249,123,185,120, 94, 96,112,
-173,197,249, 48,178, 2, 45,111,237,238,240,135,207,255,201,187,158,105, 58, 43,184,126,243, 46, 43,139,203,156, 63,115,138,241,
- 48, 71, 3, 38,142,136, 9, 52, 90, 34,144, 23, 71, 99,154,186, 98, 97, 56, 96, 60, 26,178,181,189,131,247,158,187,235, 27, 28,
- 60,176,132,209,138,233,180,144,121,101,219,137, 4,237,230, 45,110,221,189,203,169,227,199,184,189,182,198,195,205,125,104, 45,
-197, 9,125,103,142,146, 28,232,206,117,188,246,205,119,120,253,157,119, 88, 90, 90, 98, 58, 47,255,147, 23,186,214, 66,170,107,
-154,154, 99, 71,142,112,252,208, 65, 34, 43, 42, 2, 23,100,188,214,118,226,211,125,119,245, 46,223,121,237, 13, 54,119, 38,188,
-241,246, 37,238,108,108,254, 39, 67, 87, 70,163, 1,207,254,232,251,248,171,159,249,243, 84, 77,195,100, 58,225,183,255,227, 23,
- 57,184,178,204,185, 83, 39,184,116,237,134,100, 63,244,107, 60, 26,115,248,224, 1,154,166,225,252,217, 51,212,117,205,191,255,
-236,239,113,224,192, 18, 79,189,231, 34, 63,245,137,103,249, 7,255,239, 23, 56,254,193,191,204, 3,103, 83, 54,111, 42,150, 34,
- 69,122,247, 32, 62,205,208,157,102,253,246, 27,140, 55, 30,229,248,199,192,133, 18, 95,165, 60,148,117,148,193,113, 73,101,188,
-189, 14,155,207, 7, 86,239,220,192, 23, 59,252,244,167, 43, 30, 32,229, 75, 76,120,135,154,196, 30,102,107,243,115,196,217, 89,
- 22,150, 14, 81,149,235,132,185, 64,219,179,174,229,214,141,231, 24, 14, 79,241,122,254, 18, 39,252, 83,216,105,224,245,207,105,
-242,149, 49,235,183, 2,243,106, 66, 89,213,236,126,127,139,165,247,140,185,240,224, 65, 34, 29,216,216,136, 80,103,166, 28,247,
-154,235, 47, 20,204,215,143, 82,221,188,143,243, 31,252, 0, 59,197,231,185,241,197,207, 83,207, 10,156, 19,195,147,209, 96,128,
- 75, 45,213,124, 78, 85, 85,216, 56, 38,162, 15,132,154, 78, 69,174,155,102, 52,157, 36,155, 13,242, 12,231,122, 25, 88,240,196,
- 73, 76,112,162,105, 23,107,104,145,180, 10,113, 78, 46,120, 85, 43,162, 36,218,183, 55,149,184,237, 12,188, 71,107, 35,234,169,
-174,163, 33,128,213,120, 39,103,116,150,100,116,190,163,158,206, 73,243,140, 68, 69,164, 74, 84, 75,214, 68, 34,179, 11,158, 60,
-151,249,129, 22, 66, 11, 10,185,240,139,233, 76,254,155,214, 76,250, 52, 54,211,143,180, 6,131,129, 16,234,138, 57,181,150,172,
-246, 16, 28,145, 54,253, 22,247,152,216, 16,218,128,241,129,214,123,156,115, 56, 3, 90,199,232, 84,184, 31, 26, 69,221, 84,114,
-238,150, 37,226, 55, 98,101, 44,101, 44, 77, 83,209,116,130, 88, 42, 15,243,102,142,181, 98,201,251,195,163, 93,231, 68, 54, 7,
- 80,213, 45,101, 91,147, 69, 41,157,239, 36,131, 68, 43, 84, 0,213, 57, 92,219,146, 12, 50, 84, 80, 56,183, 23,185, 11,120,143,
- 49, 30,109, 13, 58, 8, 90,209,185, 86, 70, 36,214, 98, 59,231,169,230, 5,193,119, 40, 47,208,217,172,110,177,105,194,108, 62,
- 35, 79,210,126,200, 47, 76, 60, 27, 71,204,231,115,218,178,146, 88,185,206,163,140, 72,172,146, 40,234, 61,179,101, 78,168, 98,
-113,202,170, 42,209,158, 15,135, 98, 75,218,117, 29,243,121,181, 15, 9,215,109,139,239, 28,214,198, 56, 20,243,201, 4,215, 57,
-240, 14, 31,199,140,135,185, 64,189, 65, 81,215, 5, 93, 43,201, 99,195,225,152,200, 88,166,173, 99, 56, 90,192, 68, 6,163,181,
- 4,164, 36, 9, 81, 20, 19,199,182,255,176,123, 31,248,158,176, 81, 7,145,104,164,113, 44,241,168, 86, 92,123, 34, 35,250,241,
-121, 81, 64, 8, 12, 71, 35,185, 48, 21, 68, 90, 72,111, 58,136, 13,103,154,230,152,200,208,180, 13, 74,121, 22,134, 67,118,119,
-119, 9, 90, 83,205,230,160, 32,104, 45, 46, 64,214, 98,130,163,115, 49, 73,154,201, 92, 7,197,180,156,211,248,142, 65,128,121,
-211, 72,246,124,154,246,218,116, 33,180, 76,103, 51,226, 56, 22, 34, 71, 16, 86,101,211, 52,194,178,239, 28,121,150, 82, 78, 11,
-188,247,236,238, 76, 24, 45, 12, 73,147,140,233,108, 70,154,229, 24, 45, 93,178, 15, 50,247,181, 86,140,132,170,170, 21,201, 71,
- 80, 76,103, 19,242, 60,167,174, 43,138, 98,142,162,119,238, 83,138, 56,203, 16,167,165,140, 36,201, 8, 61,241,175,115,158,160,
- 28,113,154, 97,180, 6, 60,197,108,142, 42,171,253,141,108,180,192,212, 40,113, 13,115, 77,199,123, 78, 68,156, 95,206, 40, 47,
-223,198,174, 44,241,221, 27,219,156,124,224, 36, 87,215,167,168, 59, 19, 54,138,134,197,141, 57,163, 3, 67,170,206,115,244,158,
- 5, 54,222,174,120,224,190,227,220, 94,221,225,246,173, 93,226,160,200, 83,205,206,110,201,201,251,142,243,214, 91, 55, 89, 95,
-221,225,192,193,148, 60, 31,114,244,216, 81,118,119,119,121,237,237,203,124,230,199, 63,193, 32,207, 24, 55, 67,158,126,252, 17,
- 46, 95,191, 73,219,182, 44,140,134, 84,155, 63,184, 4,210, 36,102,117,117,147, 31,121,228, 97,150, 23, 37,121, 77,247,251,181,
-237, 53,233, 46, 4, 8,158, 56,138,133,163,209,118, 56,215, 9,212,166, 20,177,145,223,115,115,123,155,119,174,223,228,251,111,
-189,213,195,203, 41,195, 65, 46, 12, 96, 45, 63,171,233,100,230,182,189, 59,103,125,107,155,133,209,136,229,197,197,119,117,169,
- 7,151,151, 88, 88, 24,115,242,196, 49, 6, 89, 66, 98, 35,201,124, 86,138, 16, 20,155,187,235,124,246, 11,127,200,111,124,246,
-115,252, 89,235,220,233,147, 76,166,162, 25,222, 59, 84,138,170,230,230, 29, 49,193,121,229,181, 55,249,196, 51, 79,243,222, 39,
- 30, 3, 5,109, 39,103,192,222, 24, 97,212,171, 97, 86,150, 22,121,235,242, 85,190,250,141,151,184,121,231, 46,127, 90,182,182,
-188,184,200,201, 99, 71,246,223,231,197,241,152,199, 30,188, 72, 22, 75,228,172, 72, 48, 5, 45, 10,161,165, 40, 11,238,172,174,
-243,250,219,151,120,251,234,117,222,186,116,133,157,233,236,255, 71,182,139,109,132,178,138,163, 43, 43,124,224,169,199,249,248,
-135,126, 20,148,230,157, 43,215,249,222, 27,111,115,103,109,149, 23, 95,249, 46,214, 90,254,244,106, 91,201,194, 94, 24, 14,120,
-251,210, 21, 62,240,212, 99, 56,231,248,139, 31,255, 8,231,207, 30,227, 87, 94,122,133, 59,117,199,242,247, 18,252,227, 49,119,
- 86, 3, 7,159,129,163, 7,143,114,205,141,105,119,183,169,234, 93,174, 69,151, 56,233, 31,227,162,202, 80,153, 2, 98,190, 4,
- 76,118, 96,245,115,129,116, 5, 30,126,250, 71, 24,141, 3, 47,111, 40, 62,255, 50, 20,119,198,164,135,224,207,253,243, 67,204,
-255,201,199,184,118,233,139,236,108,172,160,149,162,243, 13,229,116,139,233,214, 53,234,114,131, 3,143, 63,205,206,231,190, 65,
-148, 85,116, 43, 79,113,244, 68, 70,219, 4,238, 94,131,178,155,178,179,125,135,217,214, 58, 7,238,190,143, 51, 15, 7,238,190,
- 10,107, 55, 51,170,119, 52,234, 88,199,161,139, 29,187,241, 6,198, 60, 77,242, 36,156,188,244,139,228, 31,251, 40,147,221,223,
-102,118,249,117,238, 92,186, 14, 90, 51,219,221,101,207,180, 69,119, 26,149,200,249, 27, 69, 17, 10, 69,221,118,212,117,133,247,
-129,214, 57,234,166, 33, 79, 50,170, 90, 82,202, 20, 26,107, 53, 65, 65,146,166,208,137,181, 47, 65,102,201, 11, 75, 75, 24, 5,
-131,108, 0, 10,145,225,150, 21, 89,150, 81, 22, 98,234,133, 66,220,220, 26, 79,156,198,196, 61,176,210,212, 53,174,115,180,147,
- 41, 1,137,130, 30,140, 70,180,174,221,151,184, 1,160,100, 76,235,234, 18,107, 4, 1,234,124,199,238,116,210,143,178,216,183,
-191,222, 51,237,114,222, 49, 24, 13, 80, 40,148,134,217,108, 78, 20, 25,108,148,224, 90, 7, 72,199, 75,255, 89, 72,177, 18, 32,
-244,169,138, 89, 74, 18, 37,236, 89,198,170, 56,238,239, 39,112,157,103,214, 21,253,243, 41, 28,130, 14,198,177, 37,138, 12,222,
- 91,105,218, 8, 36,105, 70,150, 37,116,206,211,212,210,252,234,160, 9, 74,145, 70, 41,174, 19, 75, 94, 19, 91, 66, 28, 83,183,
- 93, 47, 35, 20,141,126, 85,149, 24,101,176,177,152,225,148,253,187, 50, 24, 73,116, 43, 64,112, 14,171,148,198,196, 49,206, 25,
-116, 45, 14,102,131,124,132,177,150,178,169, 80,185, 34, 77,165,106,115,206, 67,112, 2, 9,244, 90,185, 36, 77, 40,166, 19, 90,
- 39,142, 99, 89,150, 17,105,141,235, 58,242, 60,163,106, 42,188,239, 24,228,189,253,160,150,174, 59,232, 61, 39,182,132,200,104,
-166, 69,137,115, 45, 81,148,145, 36, 57, 85, 40, 8, 90, 73,178,152,181, 52, 77, 13,104, 70,163, 69, 92, 39,196, 8, 23,196, 20,
- 38,138, 82,177, 40, 53,154,249,188,192,166, 49, 90,203,188,163,107, 29,243,217,140, 82, 11, 1, 68,107, 57,116,187,166, 69,119,
- 29,241, 96, 32,142, 60, 33, 80,183,142,102, 62,195, 36, 9,131,124, 15,142,151,229,157, 72,234,124, 16,120, 89, 91, 77,215, 57,
-210, 60,237,117,245,154,160, 3,227,133, 49,179, 89,193,104,152,227,130, 98, 58,157,146, 15, 6,253,220,186,215, 69,122, 40, 93,
-129,247, 48, 30, 12,169,186,134,157,157, 29, 70,131, 33, 89,158,211, 52,189, 86,223, 24,154, 90, 60,240,235,186,166,152, 77,241,
-206,147,228, 57,214, 90,218,182,233, 67, 10,132,213, 42,145,133, 13,187,219,187, 12,134,226, 0, 86, 85, 21,186,135,173,188,247,
- 68,113, 74,158, 89,156,239,104, 27,153,249, 4, 99,208, 70, 54,159,243,142,241,104,132,107, 59,118,167,187,224, 28,117,219, 18,
-250, 25,186, 54,134,114, 46,155,116, 52, 24,210, 4,169,136,231,165, 64,246,113, 36, 17,137, 0, 85,213,244, 82, 56,241, 11, 48,
- 90,179,219, 54,228,110, 9,174,207,208,193,193,172,226, 59,111,175,113,234,216, 2,195, 40,227,234,198, 28, 87,181,220, 94,159,
-177, 84, 5,150, 87,114, 86,215,119, 41,107,199,237, 27,171, 4,167, 88, 28,138,206,253,220,137,101,238,172, 79,185, 17, 2, 71,
-207, 30,101,251,237,187,188,121,117,139, 35,247,173,176,190,181,201,175,254, 47,255, 7,222,123,242, 84,124,155, 1,126,250,199,
- 63,206,107,239, 92,230,173, 75, 87,185,124,227, 38, 63,188,172,181, 28, 57,188, 66,154, 72,224, 75,100, 77,255, 57, 75, 71,210,
-116, 29,117, 93,203,190,141, 44, 73,146, 48, 24, 40,202,121,217,207,181, 52,145, 53, 12,135, 57, 71, 15, 31,102,121,113,204,202,
-242, 50,155,189,223,244,193,229, 37,238, 59,123,154,135,239,191,143,241,104,184,239, 94,101,173,228, 40,191,125,245,250,187, 46,
- 75, 99, 12, 7, 15, 44,113,242,216, 97,178, 60, 19, 22,179,145,125, 39, 14, 89,112,236,208, 10,191,240,211,159, 98, 60, 26,240,
-251,207,191,192,213, 27,183,247,255,142,197,133, 49,159,250,200,135,136,172,161,152, 75,226, 97, 20, 73,168,206, 35, 15, 94,100,
- 48,200,120,234,145,135,185,231,216,177,125,190,132, 15, 94, 72,143, 74,147,196, 34,181, 49,218,160,181,140, 49,110,221, 89, 21,
-102, 49, 26,221, 51,159, 1, 80,112,225,220,105,158,122,248, 65,182,118, 38, 40, 99, 56,114,112,133,160, 4, 6,221, 51,180,217,
-222,217,101,123,119,202,234,230, 38,111, 93,185,206,119, 94,123,131,219,171, 27,220, 94, 93,123,151,116, 13,164,227,127,230,125,
- 79,242,151, 62,245, 9,134,195, 33,227,209,144, 36, 18, 57,218,241,163, 71,217,157,205,216,218,149,174,126,143,112, 24,130,168,
- 97,130,243,236, 78, 11,234,121,201,225,147,199,201,243,156,149,229,101,126,242,189,143,240,224,209, 49,255,236,245,235,124,251,
-250, 29,178, 96, 89,187,241, 26,191,253, 47,199, 16,191, 70,252,123,207,240,232, 79,120,174,253,198,253, 68,250, 57,226,116, 72,
-215, 77,248,141,255,203,112,250,231, 58,234, 47, 68, 76, 31,243, 44,166,129, 59,191,103,184,187, 19,248,159,254,118,160, 34,240,
- 34, 5, 78, 65,254, 73,207,230,221, 69,174,255, 22, 92,123,253, 58,199,207,124,132,213, 91,223, 97,237,230,139,184,174, 37, 77,
- 79,240,193, 79,253, 12, 93,118,158,131,135,142,242,201,191, 81,241, 63,252,103,159,231,214,218,171,160, 98,234,246, 36,201,214,
- 97,102, 59, 87,153,172,191,206,206,234,247, 41,103,171, 28,125,248, 89,206, 28, 40,121,167,200, 72,125,198,164,201,113,151, 87,
-105,143,122,226,149,187,204,111,127,153,249, 55,127, 12, 19,131,106,142,210, 22, 31,225,222,207, 60,194,201,187,183,184,250,252,
- 11,116, 93, 39,103,136, 55,248,224,233,124,139,111, 37, 64,196,123,135,118,244, 16,122,239, 20,169,161,233, 58, 34,107,123, 53,
-132,194, 88, 5, 94, 36, 95, 38,137, 25,198,210,200, 41,173,229,146, 67, 16,196, 44, 77,201, 7, 25, 77, 85, 51,153,245, 23,174,
- 10,248, 86,148, 65, 38,200,104,119,239, 43, 79,147,148,206,138,100,178,170,106,154,182,197,214, 53, 81, 28, 51,153, 76,208, 90,
-147, 13, 6, 88,163,192,119, 36, 73,134,243,158,122, 54,195, 40,141,177, 26, 19, 71,116,181, 72,154,211, 36,161, 40, 10,242, 97,
- 78,172, 98,130, 11,104,163,153,236, 76,176, 86,200,189,138, 57,163,209, 8,107,141,232,245,219,142,216,198, 4,235,112, 78, 80,
-128,214,183,168, 82,225,124, 71,167, 20,169,181, 56,163,240,157, 71, 69, 9,177, 82, 61, 41,217,161,181,176,228, 85, 80, 4,229,
-246, 81, 79, 61, 50,236,236,236,244, 5,149, 39,142,123, 15, 16,163, 40,203,154,178,152,209, 69, 9, 73, 18, 81, 55, 45,150,128,
-107, 91,154,182, 99, 48,200,112, 72,162,103,100, 52, 65, 73,190, 74, 62, 24, 17, 37,177, 68,214,246,239,224,124, 94,136, 59, 96,
- 64,152,210,179,121, 67,208, 22,172,165,152,207, 80,198,178,184,184,136, 81, 17, 58, 10,140,135, 86,188,251,149, 71, 12,240, 75,
-242, 60, 23, 72,222, 8, 45,127,148, 11, 3, 51,202,135, 52,117,205,124, 86,146, 13,114,106,215, 50,153, 76, 5, 48,209, 74,244,
-213, 38,166, 85,142,196, 70,120,215,177, 48, 26,225, 28,204,139,153, 48,116,211, 24, 23, 60,117,213, 96, 81, 36, 61,193,205, 7,
-153, 25, 27, 99, 49, 90, 51, 88, 92,194, 7,143,199,227, 74,113,230, 49,218,226,219,150, 54,120,138, 98, 46, 50, 7,107,152, 77,
-133, 12, 88,215, 53,161, 39,107,204,166,146, 65,235, 67,192, 43, 5,173, 88, 8,214,198,146,143,229, 50,117,149,228, 22,171, 32,
- 26,205,225,226, 34,104, 77,219, 84,116,109,203,172,149, 57,164,233, 45, 22,135,163, 81, 15,163,120,201,107,103,175, 99, 13, 61,
-116, 99, 89, 24, 47, 50, 47, 75,154,182,193, 55,125,240, 65, 81, 96,202,154, 40,182,184,178,146,138, 47,138,228, 37,176,134,224,
- 19,156,106,105,170, 74,120, 11, 93,135,119, 14, 87, 9, 12, 58,155, 21, 12,134, 35,154,166, 98, 62,155,203, 51,217,136, 56,141,
-169,102, 5,195,241, 24, 77, 96, 62, 47,165,176, 82,138,182,235,104,157,200, 79,172,181,120, 15, 77,112,216,216,146, 14,135,212,
-187,187,236,205,193,147, 56, 38,120, 49, 67, 0,169,111,235,170,162, 10, 97,191, 51,247,222,227,141,161,154,205, 4,154,243,189,
-113, 72,240,228,217, 0,155, 88,142, 45,122, 88,182,196, 71,206, 81, 94,223,228, 64,100, 40,118, 43, 14,223,119,152,237,237,130,
-137,107,152, 77, 28,179,162,225,206,180, 96, 82,117,196,145,226,192,129, 69,108, 98,185,118,121, 29,140,165,213,138,225, 88,138,
-160,119,174,174, 83, 57,207,177,195,203,100, 11, 75,236,108,108,115,254,204, 25,218,174,225,236,169, 83,180,181,116,228, 85,221,
- 16, 27,241, 33, 88, 24,143,216, 91,214, 90,158,124,232, 65, 62,244,222,167,184,120,254,156,124,182,192,215,191,253, 93,102,197,
-140,251,239, 61, 75, 18, 11,207, 97, 15, 74, 22,185, 33, 24,212,254,124, 89,107,177,161,221,220,217,165,106, 91,134,121, 74, 81,
- 36,236, 78,166, 92,189,121,155, 39, 31,121,112,255, 66,239,218,134,155,183,215,120,225, 91,223,225,247,191,252, 60, 74,139,235,
-218,222,202,211,148,149,229,101,150, 22, 22, 56,188,180, 68, 22, 71, 84, 61, 27,188, 85, 98,181,185, 59,153,242,235,191,245, 59,
-124,233,143,255, 4,173, 68,151,189,231,185, 62, 30, 14,185,126,235, 54, 11,163, 1, 93,231,101,164,134,196, 62,162,224,208,129,
-101,242, 44,103,113, 60,164,105, 26, 26,165, 69, 45, 16,216,143, 76, 21,111,117, 67, 8, 74,194,152,246,139, 14,201,112,184,120,
-246, 20,131,108,192,116, 94,112,119, 99,139,219,107, 27, 60,254,224, 3,128, 92,180,117, 85,147,196, 81,207, 31,144,189,214,117,
- 29,175,189,245, 14, 95,121,225,235,188,113,249, 42,127,214,210, 90,243,119,255,234,207,225, 58, 97, 96,167,113, 76,240,210,177,
-188,252,234,235,188,242,198, 91, 36,214,188, 11,110,223,155,189,106, 5, 79, 60,246, 16,223,122,245, 13,110,220,190,195,249,123,
-207,240,228,253,231,249,224,189,199, 56,180,148,243, 15,175,108, 19, 31, 60,135,223,250, 58, 42, 93,224,238,237,215, 65, 93,225,
-228, 7,150,120,253, 91,151,248, 11,159, 58,193,123, 46,156, 96,251,234, 18,118, 62, 35,184, 17,223,187,253,107,152,223,252,187,
- 44, 28, 9,124,247, 87, 94,231,246,157,215,217,184,241, 26,143, 61,249,119,136, 89, 33, 9,138, 7, 85,198, 21, 26, 54,232,168,
- 6,160,199,129,118, 82,113,253,234,175,241,200, 19,255, 4,251, 12, 84,110,135, 39,223,191,200, 19, 31, 41,184,178, 61, 96,237,
- 69,120,243,102,206,127,241,191,127,140,111,252,198, 38,191,247,111,255, 29, 75,135, 78, 18,174, 4,234,122,135,205,181, 87,169,
-230,119, 24,143, 30,230,241,135, 21, 21,158,221, 78, 81,198,129, 16, 6, 84, 37,180, 87, 59,226,131, 45, 59,238,155,184,111, 93,
- 96,144, 46,208,185, 9,235,119, 54,185,252,198, 75, 60,251,247, 62,192,195, 23, 46,114,243,235, 95,231,237,223,255, 3,138, 98,
- 34,151,156,142, 8,157,167,168,103, 56, 39, 40, 94,146,196, 52,117,189,223,232,196,153,161,172, 43, 84, 35, 35, 38,107, 45,206,
- 73,122,155, 15, 98, 21, 27,199,113,223,181, 54,116, 33,144,198, 63, 32,128,197, 73, 66, 76,130,243,158,214,181,196,217,128,162,
- 40,240, 94, 10,200, 40, 18,213, 85, 93, 74,211, 6, 66,208, 46,138,130,114, 62, 23,117, 80,150, 98,163, 24, 90,209,131, 43, 27,
-211, 53, 29, 38, 50, 12, 70, 35,138,121, 73,221, 54, 36, 74,100,201,113, 8,146,229, 62, 24,210,204, 43,154,206, 17, 69,110,223,
-232,200, 40,141,138, 98,202,178,100,103,119,135,225,104,132,213,146,152,233, 67, 75,235, 2, 10,136,147, 24, 26,176,177, 65, 57,
-131,111, 42,140, 49,164, 90,138,144,182,146,164, 74,221,105,148,134,186,172, 72,211,140,162,156,147,245,176,121, 23,246, 66,172,
-212,254,216, 35, 77, 19,180, 6,173, 52,214, 40,186, 22,140, 22, 15,253,182,107,104, 59, 48,218,160,172,166,152,149, 36, 89,194,
-104, 48,160,109, 27,178, 36,195, 19, 48, 64,235, 68, 78, 92,150,165,164,131,246,103,144,185,231,212,233,127,209,118, 45,121,146,
-136,137,125,112, 68, 70,230,169, 33, 4,242,193,128,249,188,196,251, 32,240, 45, 34,141,138,250, 42,190, 40, 68, 86,102,209,164,
-153,248,141,139, 5,169, 24,166, 52,109, 77,150,101,180,173,104,219, 65, 32,184,170,107, 72,147,140,121, 81,160,181,161,235,106,
- 34, 43, 49,164,193,131,178,146,176, 22, 20,232, 32,217,185, 85, 45, 23, 89,231, 28,227,133,133,125,168,196, 90, 75, 85, 86, 68,
-145,101, 62, 47,145,168,209, 78,146,132, 50,113, 78,155, 20, 5,206,121, 49, 76,209,154,214, 59, 33,148,161, 36,164,164,169, 81,
-222,161,148, 65, 37, 9,202,106,218, 89, 65,112,253,191, 83, 98, 92, 19,156, 35,205, 68, 50, 50,200, 7, 12,134, 35,170,121, 73,
- 64,186, 88,165,228, 32,108, 59, 71,154,164, 82, 17,183,130,110,120, 15,222,139,252,192, 24, 45, 94,218, 74,245, 7,167,196, 78,
- 14, 70, 3,108, 36, 95,206, 96, 52, 18, 82, 75,127, 56, 42, 20,109,183,167,247, 84,224,122,212, 32,182,178, 65,250,138,115,188,
-176, 64, 28, 75, 42, 94, 93,149,196,145,165,170, 42,230,243, 57, 54, 18, 43, 82,133,204,157, 66, 8, 20, 69, 65, 85, 85,253,104,
- 66,226, 7,231,179, 57, 81, 44, 16,113, 80,138,241,194, 2, 33, 32,151,138, 86,196, 81, 66,108, 13, 45,142,224, 97, 60, 26, 73,
- 48,194, 64,224,254,182,235, 24, 13,135, 36,177,152, 47, 88,107,153, 87, 37,143, 28, 55,252,211,103, 15,160,171, 6,134, 9,147,
-181, 25,151, 39, 45,247, 28, 95, 36, 51,210, 73,230, 73,204,242,193, 5,186,174, 99,107, 86,179, 51,235,208, 26,246, 36,102, 55,
- 54,167,140, 53, 68,163,148, 91,243,138, 99, 71, 14,160,124,199,218,214,132,241,161,227,216, 19,143,176,188, 48,102,107,119,151,
-181,141, 77,140, 86, 44, 45, 46,162, 16, 43, 99, 31, 2,183,239,174,243,237,239,189,198,238, 76,180,224, 43, 75,139,220,123,230,
- 36, 71, 15, 29, 98,105, 60,139,139,172,119, 0, 0, 32, 0, 73, 68, 65, 84,162,115,158, 59,171,235,124,241,185, 23,120,253,237,
- 75, 92, 60,119,134, 56, 22,133, 68,158,103,162,123,245, 93,207,236,223,123, 47, 68,122, 98,181, 97,109, 99,131, 43,215,111,242,
-202, 27,111,208,118, 29, 39,143, 31, 67, 41,120,252, 61,247,115,248,208, 10, 74, 41,202,178, 1, 45,146,196,229,165, 69,222,190,
-114,109,255, 98, 2, 33, 76, 94,187,125,139, 83, 71,143,114,226,216, 81,146, 56,197, 7,135, 67,244,227, 1,120,251,202, 53,190,
-246,205,111,113,253,214, 42,117, 43,233, 93,135, 14, 44,243,240,197,251, 56,125,207,113,142, 28, 92,225,208,242, 50, 54, 50, 40,
- 52,179,162,160,236, 17, 20, 33,243,196,228,121,142,181,226,155, 93, 85,226, 58,232,189,200,247,234,170,162,115,129,171, 55,110,
-113,229,214,109,110,221, 89,101,214,135, 99,164,113,204,211, 79, 62,198, 79, 62,251, 33,126,228,177, 71, 56,117,252, 24, 7, 22,
- 23, 88, 88, 24, 51,239, 11, 79,239,101,134, 46,102, 35,226,190,168,128, 51, 39,142,243,206,245,155, 92,190,118,131, 31, 94,143,
- 62,112, 63, 15, 93, 56,207,229, 27, 55,248,169,143, 63,203,169,147,199,233,218,134, 36,142,241,206,243,230,229, 75, 20, 69,197,
-239,124,225, 75,124,247,181, 55,251, 3,243,221,171,115,142, 44, 77,121,255, 19,143,242,157,215,223,228, 99,239,123,140, 95,250,
-232,251, 24,159, 60,205,175,110,182,172,220,255, 44,199,142,222,199,139,191,251,235,184,162, 99,118,103,155,248,158,154, 52,177,
-236,110,214, 52, 15, 62,200, 79,221,223,241,226,151, 15,226,210,183,105, 26, 75, 83,236, 50, 81,175, 49,172, 31,227,254, 95, 60,
- 4,119, 78,243,137,159,249, 40, 79,189, 55,231,101,173,240,195,146, 57, 26,255,102,198,246,215, 82,118,239, 40,154, 29, 77, 93,
- 40, 86,239,190,200, 79,253,226,251,249,229,159,115,220,169,115, 46,126,180, 33,197,179,144, 26, 78,156,107, 73,189,230,187,159,
- 77,232,218, 5,182,107,197,157, 75, 47,225, 66,199,189,143,126,154,195,135, 31,229,224,209, 21, 46, 60,253, 75, 60,249,151, 74,
- 94,233,198,172,126, 45, 80,108,109, 51,153,222,164,174,118,232,234, 9, 21, 19,182, 54,111, 17, 85,135,169,154,154,217,228, 58,
-211,233, 13, 54,215,175,177,184,226, 57,120,241, 2,201,129, 3, 28,185,112, 63,211,155, 55,169,166, 19, 92,112, 12, 7, 66, 98,
-171,235, 70,152,237,168, 30,238,214,236, 69, 69, 91, 43,179,104, 99, 45,170, 47,220,173,149, 68,207, 40, 18, 47,143, 16,130, 92,
-140,113, 76, 8,162, 13,223,243,209,104,234, 22,148,199, 96, 33,136,239, 66,158,231,162, 74, 42,107, 80, 90,206,138,180, 87, 69,
- 41,241,126,183, 54, 2,223,187, 24,182, 29,193, 24,130,119, 56, 15,179, 98, 38, 90,123,231,208, 90, 17,153, 8,173,229, 29, 44,
-138, 2,165,165, 64,109,218, 22,107, 12,202,104,217, 67,190,143, 82, 86, 10, 3,248, 32,234,161,186,105,240,190,219, 15, 8,114,
-174, 5,175,168,219,154,186,110,241,248,158,103,208,107,199,219, 86,172,208,179,132,174,237,208, 70, 9,233,206,119,194,245,242,
-129,166,173,169,234, 26,143,100,146,212, 85,141,239,156,248, 7, 68,113, 79,178, 53,100, 89, 70,211,180,251,168, 5, 94, 46,117,
-239, 61,218,168,254, 61,172, 17,137,184, 34,141, 34, 65, 68,230, 37,174, 31, 3, 39,177, 52,171, 16, 48,103,238,189,247, 95, 4,
- 68,170,211, 57,135, 65,161,140, 84, 64,131,129,196,211,165,105, 74, 28, 9,115,213, 40, 67,156,198, 68, 61,227,218, 88, 75,221,
- 84,168, 32,155, 1, 37,158,194, 62,132,158, 36,213,146,101, 41,105,154,146, 38,146, 65, 94,204, 75,226, 36,162,174,106,134,163,
- 33, 74,107, 36, 8,165,235, 9,107, 2, 43,196,113, 34, 17,166, 94, 98, 97,211, 36, 37,142, 83,210, 36, 66,161, 41,155, 18,107,
-236, 62, 60, 35, 95,166,196,126,182,141,176,238,187, 78, 14,170, 16, 2,113, 26, 67,128,186,105, 48,214, 96, 35, 43,158,240,229,
- 28, 81, 28,123,241, 38,118,142,208,121,240, 14,237, 29,161, 19,153, 86,232,187,249,206,181,189, 60,164, 55,127, 25, 14,101, 19,
- 26, 35, 5,143,213, 68, 86,152,142, 77, 93, 19, 69, 49, 74,137, 29,224, 96,144, 17, 69, 9,157,151,248,215,170,239, 32,247,204,
-253,247, 42,225, 56, 21, 8, 81,136, 38, 34,111, 51, 70,147,196,169,144,141, 98,201,180, 79, 83,145,236,165, 73, 74,146, 36,189,
-247,179,140, 13,186, 32,210, 15,109, 35,154,170,162,115,142,186, 44,169,189,167,154,205,228,231,151,194,102,199, 43,218,182,166,
-169, 36, 26,208, 70, 18, 0,163, 8, 88,107,137,226,132, 56, 22,103,184,124, 56,144,240, 25,160,173, 91,140, 49, 12, 70, 67,234,
-174,193,117, 45, 73,146,226,188, 16,240, 58,215, 71,106, 58,199,133,227, 41,255,250, 23, 14, 99, 38,115, 56,182, 64,245,230, 29,
- 94,248,246, 77, 50,173,216, 94,157, 50,155, 87, 28, 61,177,204,247, 46,111,177,180, 52, 96,101,101,140,153,149,160, 3,211, 54,
- 80,151, 29,149, 3,213,182,140,148,112, 54, 34, 99, 88,157, 52, 52, 65,225,234,150, 93, 63, 38,189,231,126,234,170,226,157, 43,
-215,248,192,143, 60,206, 7,158,124,140, 98, 94,226, 93,160,238, 90,118,103, 83,222,186,114,141,111,188,242, 61,246, 36, 88,214,
- 90,238, 59,125,138, 7, 46,156, 35, 73, 18,118,119,119,249, 87,255,230,255,228,202,141,219,156, 63,125,146,251,207,223, 75,192,
- 99,148, 34,142, 4,177,168,155,150, 14,241, 82,104,157,239,173,122, 21,119, 55, 54,248,198,183,191,207,139,175,124,143,186,172,
- 9,192,210,226, 2,207, 60,245, 4,239,125,244, 81,178, 76,120, 42, 85, 83,115,227,246, 93, 46, 95,191,201, 75,175,124,247, 93,
- 76,121,173,224,211,159,248, 40,255,248,151,255, 22,239,185,112,158, 73, 49,163,110, 91,108, 47,169,116,125,199,123,103,109,131,
- 83, 39,238, 97,105,113,196,180, 40,122,111,111, 56,127,246, 20, 63,250,212,147, 92, 60,127,142, 3,203,139, 12,178, 92,242, 17,
-162, 72, 56, 22, 73, 66,150, 74,108,234,158,146,165,109, 91,202,170,198, 7,233, 26,246,238,203,189,121,252,193,165, 5,214,182,
-119,184,210,203,230, 66,240, 60,250,192, 69, 30,121,240, 1, 78, 29, 59,194,193,149,101,210, 52,161, 44, 43,138,249,156,121, 15,
-203, 14,178,108,191,224,126,227,210, 85,254,224,249, 23,248,245,255,240,255,112,249,218, 77,218, 31, 58,204,146, 52,230,239,255,
-226, 95,166,110, 26,214,183, 39, 60,253,196, 35, 44, 12,135,100,105,198,242,226, 2,198,104, 94,123,251, 10,191,245,249, 63, 96,
-123,103, 71, 84, 8, 63,180,100,188,165,176, 81,196,218,198, 38, 31,121,250, 71,120,232,220, 73, 62,118,246, 24,238,190,251,249,
-239, 46,223,226,208,217,247,242, 96,125, 31,201, 84,177,182,170,112,217, 14,167, 79,125,152,144,237, 98,188,103,102,103,220,252,
-146,225,131,127,238, 32,241,131, 67,110, 60, 55,161, 93,154, 83, 77,230, 56,213,144, 44,150,164,151,207,112,225, 17,195,135, 62,
-212,224,142,196, 68,163,130, 11,196,220,104, 18,166,135,119, 89, 63,152, 18, 94, 87, 84, 46, 80,236,108,179,122,231,219,188,241,
-234, 27, 92,237, 46,112,241,169,132,197, 92,116,205,101,168,153,105,199, 36, 41,113,183, 50,254,248,181,127,205,179,255,232,103,
-249,204, 63,120,130, 79,254,149, 31,225,195,207, 46,112,236,147,247,112,248,201, 71, 97,235, 46, 69, 50, 38, 73, 34, 54,190,163,
-216, 90,187, 75, 61,223,160,169,119, 41,231, 59,120, 61, 97,178,118,139, 60, 62,135,243, 80,206,215,152, 78,110, 81, 79,111,147,
-100, 53,199, 31,188, 72, 51, 47,209,113,202,241,135, 31,129,106, 78,181,185, 73, 20,217,126,174, 30, 75, 33,215, 27,103, 69,145,
-216,128,167,169,152, 7, 89,109, 8,136,219, 28,200,236,121,255,115, 55,154,160,250, 4, 51, 39,100, 94,101,164,136, 52, 86, 20,
- 20,109,235,228,255,137, 13, 6, 69,219, 73,167,158,246, 42, 31,231,189, 52,110,173,116,247,243, 66, 92, 69,155,174, 33, 77, 82,
- 68,242, 41,217,237, 98,101, 43, 92,173,178,148,200,227,170,174,136,172,149,182, 81, 9,135,165,235, 58,178, 60,199, 70,194,214,
- 55, 61,226, 36,169,107,209,126,179, 97, 35,131,247, 10,163, 85,175, 58, 82, 52,181,152,236, 24, 43,114, 57,171, 34, 90,223,137,
- 52,218,121, 76, 18, 99, 35,205,222,172,187,109,228, 50,175,234,154, 36, 75, 9, 65, 92,245,140,214, 40,132, 7, 16,199, 17, 1,
- 25, 71,181,173, 52,181,194,115,242,196,169,248,181, 40,163,247, 97,255, 44, 77, 81,202, 96,180,218,127,223,172, 86,116, 72,234,
-169, 60,127,140,115,162,100,144,239,197, 98,147, 36, 37,215, 18, 0,162, 80, 44, 46,141, 49, 38, 66, 43,153,243,213,243, 10,175,
- 68, 42,224,189,124, 96,174,233,112,157,216, 96, 58,231, 48, 74, 30,102, 54,155, 74,133, 20,196, 57, 43,201, 36,242,179,170, 29,
-145,145,206, 34,138, 98, 70,227,177,200, 8,140,103, 94, 86,242,133,181,142, 44,143,161,131,166,110,100,134,216,182, 68, 73,132,
-213, 25, 93,215,201, 37,210,212,251, 29, 82,150,231, 76,167,194, 72,175,235, 90, 36, 56, 74,114,202,199,227, 49,206, 57,118,118,
-118, 72,123,187, 85,215, 58,130,250,255,168,122,211, 88,203,178,243, 60,239, 89,107,237,241,204,247,222,170, 91,195,173,169,107,
-232,170,174,234,169,186,155,205,166,154, 51, 41,153,163, 72, 73,212, 96,203,176, 4, 7,177, 29, 72, 78,144,252, 9, 18,248, 7,
-129,196, 72,144,193, 1,108, 35, 65, 16, 40, 48, 98, 8,134,172,216,146, 40,137,164, 68,138,115,179,155, 61, 86, 15,213,213,213,
- 93,243,116,231,225,140,123, 90,123,173,252,248,246,189, 98, 14, 80,232, 31, 85,125,207, 61,231,236,179,215, 90,239,247,190,207,
-235, 64, 41,108, 89,225,195,128,186, 42, 9, 7, 61, 92, 86,224, 74, 7, 65, 64,171,215,199, 40, 24, 77,167,248,218,162,146, 0,
-109, 66, 18, 99,168,112,152, 70,194,156,102, 2,194,137,162,184,201,125,202,236, 85, 16,185, 51, 64, 19, 54, 52, 34,235, 28, 74,
- 5,140,199, 51,210, 52, 33, 48, 10, 23,199,146, 55, 71,129,119,114,234,243,224,113,148,121, 37,198,140,170,196, 4, 34,137,197,
- 73, 66, 85,228,228,121, 73, 18, 71, 68,145,180, 8, 69, 97,140,199,145,101, 57, 38, 12,168,242,146,218,215,205, 13, 53,145, 11,
- 93,107, 58,105,202,120, 58, 69,141, 70,224, 61,114,165, 75, 75, 26, 85,137, 52,255, 90,146, 48,197, 4,187,108,255,148, 34,207,
- 69, 66, 85, 96, 66, 41,127,241,181, 72,242, 50, 27, 50,148, 85,221,176,255, 97, 60, 25,209,105,119,154, 83,167,195, 53,114,214,
-239,127, 34, 37, 24,213,248, 78,194,242,207,110,242,131,159, 92,167,221,107, 99,125,205, 96,177, 67,105, 45, 87,223, 91,163,104,
-165,220, 29, 23, 20,171, 83, 86, 55, 11, 58,113,128,179,142, 35, 7, 98,110,109,207,232,104,197,194,254, 30, 53, 10,159, 89, 22,
- 18,184, 55,181,168, 72, 49,216,183,159, 52,137,121,225,229,183,248,214, 15,126, 76, 81, 85, 92, 56,115, 70, 12,109,174,198, 57,
-145,165, 23, 6, 18, 15,219,108, 28,220, 71, 15, 31,226,196,177, 35,180,211,148,178, 42, 57,184,127, 31, 23, 31,189,192, 31,253,
-249,183, 64, 41,110,221,189,195,225, 3, 7,161,149, 48,153, 73,254, 31, 64, 21, 18,107,195,139,185, 76, 43,205,202,218, 6, 63,
-125,245,181,255, 95,101,168, 54,154,135, 79,158,216,203, 89, 59, 47,204,248,126,167, 77, 20, 73, 86,251,231, 31,231,206,156,166,
-211,110,113,127,121,149,125,131, 30,175, 93,126,151,141,205, 33,167,142, 31,225, 19,207,125, 72,190, 99, 78, 72,135, 63,124,241,
-103,188,252,246,187,236, 52, 6, 59,231,225,221,171,215, 56,125,228, 8, 79, 94, 56, 71, 18,202, 6, 51,138,130, 61, 37, 64,164,
- 86,185,161,238,150,108, 84,181,100,155,173,149,215, 81,217, 10,101, 26,185,213,123, 94,121,251, 50,183,126,238,100,125,246,212,
- 67,156, 58,113,140,162, 40,216,254,185,134,187,105,150, 81,215, 53, 73, 20, 17,104, 77, 85, 21,108,108,101,220, 91, 89,227,218,
-205, 91, 76,178,156,162,170, 25,142,199,164,105,202, 63,249,237,223,224,238,131,101,126,242,202,235,196,105,204,210,225, 67,252,
-250, 23,127,145,118, 75,188, 42,157,118,139,241,120,202,226,226, 2,199,143, 28, 2,239,246, 16,186, 63,255, 8,130, 64, 22, 27,
-239,152,235, 47, 48,151,134,252,183,191,243,219,252,171, 91,247,248,118,112,138,207,252,234,111,208,115,112,184, 5,151,223,208,
- 60,244,249, 37, 6,219, 31,229,208,103, 15,243,157,127,209,197,219,159,225, 70,235, 12, 55,127,196,255,240,191,124,136, 47,253,
-151,158,135, 31,254, 36, 55,236, 79,169,247, 77,201,242, 49,107,179,235,164, 75,251,137,151, 31,231,210, 56,161,211,181,188,243,
- 39,109,190,240, 21,207, 91,225, 20,187,222, 39,177,158,173, 20,220, 20, 50, 63, 69,123,205, 35,207,126,137,131,189, 46,243,139,
- 21,181,106,209,242, 51, 22,116, 76,225,193,228, 49,171, 78, 17,110,244, 41, 94,200,104,253,122,139,162,140,217,140, 50, 92,165,
-176,151, 60,213,214, 1,174,127,235, 18,118, 27, 86,183, 53,206,230,148,217,144,186,154, 82,102, 19,170,157, 21, 58,189,148, 90,
-205,176,211,154,188, 24, 83,229, 59, 84, 46,103,231,218, 10,161, 43, 8, 90,210,152,166, 12, 28,255,212,167,241, 42, 96,227,221,
-119,176,174,162, 46,228, 32,161,140, 34,159,230,120, 60,113,146,160,117, 64,150, 77,240,181, 44,122,104,129, 70,201, 88, 77,174,
-165,186,150,150, 48,165, 20, 69, 89, 99, 66, 69,164, 3,156,134,160, 33, 71,186,154,166,161,173,148,195, 71, 16, 82,185,154,172,
-200, 8,117, 68, 24, 5, 88,229, 8,131,128,241,112, 72,156, 36, 40, 20,237,118, 87, 24,236, 74,137,209, 52, 47,136,162, 4,144,
-231, 47,138, 98,207,109, 63, 28,142,196,165,239,133,103, 16,132,162,176,230,121, 69, 24,106,134,195, 17, 73,146, 48,155,137,170,
- 27,198,205, 56,203,104, 90,105,194,116, 60, 38, 43, 10,226, 36, 38,140, 35, 57,189,123,161,235, 69,122,215,104,106,137,211, 72,
-154,219,208,120, 95,211,110,181, 41,109, 9, 78, 99,156, 69, 41, 41,220,154, 85, 5,210,178,230, 1,143,247, 10,188, 71, 7,162,
- 16, 79,167, 83, 60,158, 52, 73,246, 20, 68,175, 60,206,122,218,237, 20, 91, 8,152,199,123,143, 64,104, 68, 97, 11,189,167,174,
-196, 67,146,166, 41, 65,144, 80, 22, 2, 61, 83, 90, 17,136,105,172,102,126,110,110,239,201,140, 17,204,158, 54,134, 36,149,156,
-180, 2, 20, 34, 21,214, 86,161,226, 64,226, 9,214, 33,155, 54, 37,174, 7, 45,192,211,201,120, 76,145,231,180,187, 29, 66, 19,
- 48,203,102, 40, 20,181,243,141, 99, 82, 62,112,173,161,180,130, 67, 45,242,130, 86,218, 34,203,103,212,153, 84,139,182,187,109,
-177,235,231, 57,161,145,211,105, 68,136,245,142,233,108, 74,156,164, 68, 70,227,148,107,230,214, 70, 22,237, 74, 98,119,237,118,
-155,162,144, 17,128, 49,130, 59,245, 74, 73,169,188,243, 12,230,230, 41,203,130,202,123, 76,171, 77,191,211,145,211,184,149, 66,
- 13, 19,134, 13,152,223, 54, 51, 73, 8,146,132, 26,168, 93, 77,167,221, 2,106, 84, 24,144,132, 9, 14,135,171, 4,177,106, 66,
- 67, 62,203, 81, 72, 37, 95,171,213, 34, 43,144,153, 75, 32,241,191,178,170, 4, 14,225, 20,179,166,155, 61,138, 18,234,186,162,
-214,154, 94,175, 39,239,151, 82,120,231, 24,141, 70,236,214, 83,182,124, 10, 94,177,189,189,141,115,130,156,149,249,167, 35,136,
- 34,140, 87, 84,149, 37,136, 34,162,184,201, 92, 55, 55,110,226, 24,202, 18,156, 5,235,113,117, 13, 90,163,125,205,116, 60, 69,
-199, 82,172,209,233,180,136, 91, 45,138, 60,167,246, 66,140,195,203,162, 48, 30,143,201,139,130, 36, 77,165,205,205, 86,152, 32,
-160,219,238, 50, 28, 15,137,130, 0,175, 21,173, 40, 37, 12, 20,199,146, 16, 52,168,194,241,198,219, 43,244, 15,116, 49, 24,230,
- 83,195,212, 91,236,250,136,238, 92,151,253, 70,177, 98,165,134,176,172, 42,124,172,137, 59,154,237,202,177,216,142,104,121,199,
-129,195, 3,148,175, 25,205, 42,214, 39, 5, 40, 71,156, 24, 14, 28, 62,202, 95,189,248, 50,127,252,231,127,201,234,198, 38,115,
-189,110, 35,185,149,148,149,197,213,150,173,225,136,247,110,220,100,123,231,111, 43, 61, 15,236,155,163,215,105,145,103, 37, 30,
- 89,164, 55,119,134, 56,231, 24, 78, 38, 28, 90, 60, 64, 96,116, 67,135,146,215,175,180,240, 0,234, 90,230,208, 89, 94, 16, 69,
- 1,251,231,230,248,248,115,207,240,234, 91,239, 74,129,145, 82,204,117,187, 28, 95, 58, 4,138, 70,222,182, 24, 19,178, 49, 28,
-241,202, 27,111,178,186,182,206,207, 63,214, 54,183, 88, 93,223,228,232,210, 18, 89, 89, 17,152,128,183,223,123,143, 31,191,252,
- 50, 65, 16,240,216,185, 51, 84,182,230,237,119,175, 10,229, 80,137,167, 65, 43,120,236,225, 51,124,229,115,159,225,216,225,195,
- 24,165,152, 21, 57,117, 19,195, 83,205,185, 88, 41,201,196, 58, 39,114,170,173, 69,213,170,172,148, 89,224,100,196,166,148, 66,
-149, 21, 31,220,184,201,194,160,223,196, 67,229,241,236,147,143,243,200,169,135, 72,226,132,218,213,123,244,183,221,140,127,191,
-219, 38,137, 19,194, 64,138,105,130,181, 13,174, 92,187,201,207, 46,189,185,247, 51,178, 44,227,245,203,239,242,143,254,238,111,
-208,237,116, 41,202,138,115,167, 78, 48,156, 76,169,109, 77,146, 36,236,159,159,227, 39,175,190,206,127,247, 47,255, 15, 62,250,
-236, 51, 66, 96, 12, 4, 39, 90, 86,146, 32,208, 90,203, 38, 34, 8, 56,123,242, 56, 39,143, 28,230,183,158,125,148, 63, 88,219,
-230,221,197,231,249,252, 83, 79,241,181, 1,252,137, 85, 96, 70, 92,157,188, 69,111,249, 34,203,179, 0, 51,132, 36,254, 8,203,
- 27,223,165,123,120,145,104,238, 41, 30,188,251, 45,254,244,159,127,140,143,255,126,155,163, 47, 61, 79,112, 36, 96,109,120,131,
-233,120,147,187, 15,126,138, 58, 81, 48,254,246,121, 78,253, 90, 27,245, 17,120,153, 9,199, 49,220,222, 55, 68,189, 50,192,110,
-123,214, 86, 87,184,121,245,155,116,187,199,120,254,107,135,184,252,141, 26,151,133,180, 91, 50,103,173,128,241, 78,200,164,242,
-204,214, 21,249, 84,115, 96, 95,202,198, 79, 61,135,159,243, 82,217, 25,230,232, 15, 39,184, 91, 26, 55,105,161, 30,186, 77,118,
-231, 3,182, 87,161,182, 83,202, 98, 19,197, 22,170,220,102,233,244,211,180,188, 98, 56, 27, 82,230,219,104, 95,163,169,153,236,
- 76, 48, 58, 32,216,127, 1, 51,155, 50,219,186,134, 41,106, 78,127,230,211,100, 91, 27,108,221,190,133,197, 66, 73, 99,242, 18,
- 80, 77,228, 61, 89,150, 19,234, 16,111,100,228,163,188,172, 3, 90, 43,130, 72,218,206,112, 30, 33, 94, 66,171, 45, 17,174,170,
-217,244, 87, 85, 73,237, 61, 97, 24, 0, 6,231, 5,111,154, 91, 75, 16, 70, 40,165, 41,203,156, 98, 55, 69,233, 37, 30, 7,226,
-135,210, 70,209,233,244,152,101, 51,180, 21, 21,160, 40,132, 88,167, 3,213,156,180, 67,146, 56, 98, 50,153, 82,149, 21,131, 65,
- 95,212,138,188,108, 64, 93, 33, 98, 51,145,180,142,110,174,187,162,144,126, 13, 81,121, 51,226, 84,224, 76,211,233, 12,188, 36,
-120,146, 52, 37, 14,165,232,198, 24, 67, 18, 39,104,165,153, 76,166,120,239,136,195,144, 56, 77, 8,116, 32, 41, 40, 15, 85, 81,
-162,180,168, 2, 74, 25,140,169, 9,180,192,194,148, 18,192,151,242,158,184,149,160,240,100,179, 76,156,241,113, 72, 89, 57,116,
- 68,163,214,166,204,242,137, 28, 24,172, 0,107, 64, 73,143, 74, 16,160,117,192,184,241, 71,116,187,109, 64, 24, 48,230,161, 51,
-103,190,222, 74, 99,116, 20, 80,219,166, 61,167, 16, 70,174, 45, 45,227,241,136, 60,207, 49, 90,203, 34, 26,135,104, 35, 11, 71,
- 86, 22,164,137,104,249, 85, 85, 82,213, 22,235,100,151, 47,243, 22, 1, 14,104, 52, 73, 26, 19,199, 9, 26,141,214, 30,163,164,
-118, 51,142,147,189, 57, 77, 24,134,248,210, 50,157, 77, 37, 75,238, 29, 69,150,147,101,210, 68, 83, 86, 37,202,104,180, 50,104,
- 45, 50,168, 81, 26,175,197,136,230,125, 3, 9,177, 53, 56,203,116, 58,145,216, 89, 96,240, 90, 34,105,114,129,133, 36,105, 74,
-218,106,161,209,130, 3, 12, 3,186, 29,169,199,139, 34,233,140,175, 75,185,240,226, 56, 34, 8,197,172, 22,197, 82, 95, 42, 25,
-118, 40,138,146,170, 20, 28,161,245, 78,162, 25,174,166,211,105, 19, 24,105, 84,139, 99,145, 97,156, 23,127, 64, 24, 4, 12, 71,
- 35,138, 82,164,156,178,148,190,245, 60,147, 29,114, 59, 77,165,117, 14, 57,205,149,133,244,203,187, 38,215,168, 43,137, 0,162,
- 20,210,107,111,169,189,163,174, 45, 81, 20, 82, 90,233, 10, 54,129,220,194,203,170, 32, 52, 1,217,108,134, 43, 75,112, 78,200,
-111,200,226,132,131,164, 97,144,123,231,240, 10,218, 29, 49, 79, 41,173,165,231,216, 9,121,202, 89,105,233,114,222,211,106,181,
-196,163,160, 20,217,108,134,215,178,153, 42, 43,193, 83, 86,101,133,242, 96, 93,141,114,150, 95, 28,204,232,183, 67, 70, 43, 27,
-172,110,103, 92,190, 61,100, 33, 9,248,204, 87, 47,114,237,210, 29, 90,161, 66,185, 26,141,167,152, 9,111,252, 55, 63,247, 4,
- 79, 62,114,152,160, 42,184,180, 81, 48,208, 80,100,150,253,139, 29,214,134, 25, 87,223, 93, 33, 9, 20,251,186, 9,105, 89,177,
-239,153,207,147,121,153, 29,223,190,191, 76,150,229, 92,124,244,188,220,104, 42,139,117, 53, 97, 24, 96,109,205,234,250, 22,195,
-241,152, 36, 73,120,244,220,195,180,211,132, 52,137,153,229, 5, 87,174, 93,231,238,253,101,134,147, 9,157, 52,101, 99,123,167,
-185, 38,197, 23, 33,134, 54,217,160,218,170, 34, 47, 42,102,179, 25, 97, 16, 96,157,227,237,171, 31,176,186,182, 78, 43,141,233,
-245,186, 92,188,112,142,135,142, 29,193, 24,131,171, 93,227,124, 23,185,238,206,253,101,150,215,183,104,110,107,128,196,129,246,
- 45, 12, 88, 58,120,128, 99, 71, 14,242,228,249, 71, 88,152, 27,176, 51,154,176,188,182,206,160,221,161,149,198,164,105,139,155,
-247,238,115,227,246,109,106,231,152, 27, 12,216, 55, 47,115,237,253,243,115,196, 81, 36,167,128,102, 3, 89,213,174, 25,171, 64,
- 16, 72,148,169,174,101,246,184,203,249, 14, 67,169, 84,149, 58,224, 12,175, 60, 63,126,245,117,254,227, 55,191,203,221,101,193,
-215, 62,117,225, 28, 79, 63,254, 40,131,110, 71, 70, 1,205,168, 75, 33,210,103,175,211,226,228,209, 37,230,251, 61,217,144, 7,
-134,215,223,124,135,245,237,109,225, 86, 52,180,195,135,142, 31, 37,208,134,253,115, 3,158,188,112,142,178, 44,200,203, 10,156,
- 35, 77, 98,226, 40, 38, 12, 3,150, 14, 30,224,219, 63,124,129,191,248,238,247,153,204,102, 20,101, 69,191,223, 99,105,113,145,
-173, 29, 49,115, 42, 5,157, 78,139,165, 3,251,248,239,255,254, 47,243, 29, 23,242,103,171, 37, 15,151,191,198,129, 68, 49, 60,
- 0,104,184,185, 12,107, 63,140, 56, 50,183,143,216, 5,220,248,171, 7,172,221,124, 13,142,239,112,240,228,195,156, 59,244, 5,
-206,124,248, 12,151, 95,251, 17,119,223,128,197,191, 51, 71,111,115,137, 96,120,136,120, 62,199, 71,154,113,182, 69,181, 48, 98,
-188, 81,114,124,255, 2, 73,187,224, 21, 66,222,186,222,230,254,223,192, 91,175,254,136,123,215,126,138,241,134,231,191,242,187,
- 12,239,193,213, 55, 94,228,200,147, 71, 8, 59, 83, 20,158,150,138, 25,221, 11,248,224,167,240,226, 75, 63,196, 5,251,249,248,
-239,205, 83,119, 35, 76, 58,166,174,218,228,111, 5,108, 41,207,240,186,165,202, 55,176,227,140, 96,223, 42, 97,125, 0, 19, 44,
- 16, 39,154, 32,210,116,250, 7,233,117, 79, 17, 31,177,148,163, 25,217,108,140,181, 5,206, 91, 66, 3,243,135,218,116,118,158,
-160, 51,137,184,249,102,201, 68,223,199, 79,199, 12, 78,156, 32,223,222,193, 78, 38,236, 22,249, 24, 19,162, 60,104,163,168,189,
-148, 13,129,108,214, 0,188,149,186,103, 87, 75,226,105,214, 44,144,202,123, 60, 66, 80, 11, 76,128, 86, 30,191, 27,142, 80,186,
-249, 33, 30, 95,203, 38, 76, 27,133,243, 18,219,149,222,247,148,162,144,197,180, 44, 69,165, 85, 14,208,134, 36,137,241,202,131,
-115,114, 64,177, 53, 56, 47, 5, 69,222, 55, 99, 89,241, 17,121,239, 69,149,171, 42,156, 83,196,113, 66, 24, 6, 77, 68,204,130,
-210,178,126, 68, 50,142,202,139,138,218, 85,212,181,124,143, 59,173,142,156,182, 93, 77,171,149, 96,109,133,148,188, 72,229,112,
- 16,232,189,145,148, 54,138,241,100, 2, 90,206, 71, 26, 5, 10,194, 88,126,159, 56, 22,178,163, 54,186,153,127, 75,115,157, 9,
- 4,218, 86,149,149,252, 61, 74, 76,126, 97, 40,108, 19, 68,110, 79, 98,241, 22, 24, 99,192, 75,218, 76,107, 69, 89, 74,115, 98,
-104,196,171, 85,150,229, 30, 9,214,156, 57,247,200,215, 77, 24,201, 41,220, 57, 38,179, 9,206, 59,202,178, 36, 47,114,234,186,
-217, 85, 86,226, 22, 47, 75,105,185,153, 76, 38,242,161, 54, 50,155, 68,186, 12,187,185,228,162, 44,247,130,249,129, 49,212,206,
- 99,140, 97,150,101,224,100,190, 93, 85, 21, 97, 28,224,107,133, 87, 14, 85,215,140,198, 35,148,247,180, 58, 29,130, 64, 78,106,
- 74,203,233,219,215,150,162, 40,201,203, 2,213, 48,199, 37, 78,209,100, 34,203,146,217,108, 74, 62,203, 40, 10,121,209,165,173,
-132, 58,132,194, 4,242,187, 77,167, 83,164,194, 46, 0,133, 20,164,152, 6,220,111, 52,101, 85,237, 93,152,187,109, 82,182,150,
-147,127, 24, 72, 78,191,215,235, 34, 99,134,230,228,163, 27,102,178,247,205,191,147,114, 14,107,197, 36,231, 61, 76,178,169,176,
-174,157,144,149,148,214, 34,189, 34,181,125,222,123,210, 36,197,132,134,217,108, 70,183,221,197, 3,133,173,152,141, 39,100,121,
-142, 49, 1,212, 22,175, 37, 74,166,144, 44,111, 89,138,145,194,218,122, 79,161,136,227,152,233,116, 38, 6,168, 66,124, 5, 38,
-208, 96, 12, 38,140, 9,210,148,164,211,161, 86,154, 42,203,209,157, 20,103, 29, 73,183, 39, 78,205, 64,162, 44, 73,154, 74,227,
- 90,158, 33,228, 35,143,173, 36,166, 86, 89,139,210, 82, 18, 83,217,154, 64, 75,157,163, 9, 52,214,137, 99, 94, 42, 32,107,190,
-252,108,143,254,129, 46,223,250,246, 59,204, 47,244,184,183, 57,230,203,207,157,128,201,140,247,111,109,227,203,138,153, 87,220,
-220,156,225,188, 32,130,215, 39, 5,104,205,141,229, 9, 3,155,115,122,169, 79, 61,155, 49, 28, 22,244,230, 90,140,119, 50, 86,
-103, 37, 65,229,136,181,162,117,225, 19,188,248,230,101,254,248,155,127,205,252,160,199,151, 62,243, 73, 14, 31, 88,100,151,230,
-167,144,108,249, 44,207,184,245,224, 62, 27,155,219, 88,107, 57,184,111,158,179,167, 30, 34, 8, 67,226, 32,164,219,233,240,199,
-223,252, 43,105,109,235,117, 57,118,228, 16,221,118,202,129,197,253, 50,122,153, 78, 24, 78,166,220,185,191, 66, 86,136, 95,193,
-121, 79,175,219, 97,115,123,139,239,253,228,103,172,111,111,147,198, 9,135, 15,238,231,212,241, 99, 28, 59,124, 24,239, 61, 69,
- 41,209, 22,219, 48, 6, 14, 44,238,103, 52,157,176,186, 46, 13,103,199,150, 14,243,249, 79,125,140,103, 30,127,148, 67, 7, 22,
- 89,152,235,147, 21, 5,255,219,255,245,111,200,242,156,163, 75, 75, 28, 91, 58,140,209,154,237,209,152,235,183,110,115,127,101,
- 21, 91,215,116,219, 45,206,157,122,136,163,135, 15, 50,215,239,129, 19,112, 78,101,107,234, 90,230,150,182, 81,126, 52,138,210,
-138,169,115,151,190, 21, 26,197,234,218, 22, 47,188,254, 6, 87,222,191,206,149,107,215,177,117,205,161,253,251, 57,251,208, 9,
-214, 54, 55,169,107,199,115, 79, 63,205, 99,231,206, 16, 24,217, 32,217, 74,148, 29,163,164,254,114,208,239, 73,140, 21,207,234,
-198, 54,255,246, 63,252, 41,255,230,255,253, 51,238,220, 95,102, 50,157, 17, 6,134,231,159,190,200,243,207, 92,228,217,139, 79,
- 64,179,153,181,206, 51,153, 76,232,180,219,244,186, 93, 60,158,209,120,194,189,213, 53,250,157, 54, 63,187,244, 22,213,110, 66,
-192,123,142, 46, 29, 34, 77, 83,182,119,134, 98,160,237,118,248,236,227,103,217,234,205,243,205, 97, 70, 84, 36, 76,111,107,182,
-239, 47,113,245,199,158,236,148,226, 59,255,254, 15, 9,182,247,211,155, 91,160,172, 60,183,238, 94, 98, 52,190, 67,188, 56, 97,
-188, 60,226,206,235, 43,100,197,113,242,241, 3, 30,188,255, 93,238,190,188, 65,101,143,209,159,235,227,215,207,208, 46, 33,218,
-111,176,120,108,107,192,202,104,139, 27,203, 14, 59, 12,233,245, 99,202, 53,203,233, 71, 78,208, 57, 56,199,133, 95,120,158,227,
- 71, 34,146, 8,198, 27, 41,163, 97,135,217,193,136, 95,107,197, 76,112,124,227, 79, 52,111, 92,186, 11, 65,206, 39,190,252, 97,
-186,251, 67,204,251,176,176,148,176,229, 32, 75, 97,250,130, 98, 56, 41,168,171, 29,242,108,139, 48, 29,113,242, 23,158,224,226,
-135, 63,199,209,207, 29,226,224, 19,251,104,157,156,199, 7, 53,238,190, 37, 78, 2,230,207,247,177,227,138,170,128,168,189,128,
- 26, 56, 54,163, 91, 20,203,143,177,121,191, 98,251,238,123, 84,106,136,159, 77, 89,122,246, 25,182,174, 94, 97, 50, 26,137, 41,
-205, 89,185, 15,150, 21, 6, 3, 22,172,171,168,170, 26,165,164, 27,195,163, 48,161,134, 26, 92, 45,157,226,182, 22,130,167,119,
-205,162,229, 64, 25,137,108, 90,219,116,154,135, 17, 74,215, 56, 47,240, 42, 87, 53,184, 86, 91, 19, 68, 33,117, 45,133, 38,218,
-232,189,131, 80, 28,133,228,147, 25,179,188, 32, 48, 1, 85, 85, 80, 53,255, 95, 20,202,166, 53,142, 34,198,227, 9,121,222,204,
-216, 51, 89, 3,234, 90, 82, 44, 97, 96, 8, 76, 36, 92,252, 40, 66,123,133, 50, 13, 22,188,150,181, 41, 10,197, 68,237,189,195,
-104, 57,196,149, 85, 51,106,118,194,166,168,172, 69, 35,233, 47,163,204,222,127,193,239,213,203,134, 97, 76,153,231,212, 78, 42,
-107,165,233,209,163,181, 33,203,164,193, 52,108,140,163, 82,234, 21,131, 17,229,204, 4, 70,242,247,181,197,122, 79, 85, 20,242,
-157,173,229,253, 83, 70,148, 18,165, 52,214, 89,108,237, 9, 66,131, 9, 3,148,147, 81,160, 89, 58,118,226,235, 69,145, 19,134,
- 49, 40, 71,158, 23,164, 13,183,217,123,121,177, 90,107, 90, 73, 66, 20, 5, 72, 78, 27,145,147,227,152, 64,129, 50, 1,149, 45,
- 68, 18, 78, 91,224,161,104,192, 15, 50, 91,118,196, 97,132, 87, 98, 22,168,172,184, 0,165, 5, 39,100, 50, 25,145,207,114,202,
-186,196,150, 21,157,118, 27, 19,134, 4,141, 81,193,107,232,164, 41, 69, 51,255, 52, 81, 64, 49,203, 68,218,177,210, 78,100,243,
-140,170,201, 74,107, 32, 76, 82,130, 56, 70,225,155,185,134,212,199, 22,101, 9, 74, 19, 39, 82, 50, 83, 85, 5,121, 33, 51,232,
-178, 42,197, 48,104,119,111,124, 80, 86, 2, 47, 8,162,160, 57,101,213,180,218,109,170,178, 38,142, 2,210, 86,139, 56,142,155,
- 2, 16,217,193, 69, 81,132,243,142,172, 1,236, 72,150,208, 51,157, 78, 4,195,155,151, 24,221,196,205,162,144, 36,149,156,125,
- 89, 21,104, 37, 13, 62,237,118, 7, 5,242,193,149, 2, 62, 1,192,137, 73, 35, 10, 67,186,221, 30,222,123, 81, 26,180,166,223,
-235, 18,133, 33,237,118,151, 48,138, 80, 10,170,178,196,123, 49, 17,117,250, 93, 58,237, 46,105,171, 37,207,153,196, 24,109,228,
- 2,196,131, 54, 40,165,105,183, 90,164, 73, 10, 26,170,186, 66,225, 65,137,179,223,215,210,195, 12, 50,234,240,174,150, 25,123,
-115,130, 53, 70,240,179, 66, 89, 42, 49, 74, 83, 21, 83,254,155, 47,245,121, 60,180,176,145,113,249,218, 42,195, 89,129,213,138,
-143, 94, 56,204,247,222,188,207,201,135, 15, 50,153,214,220, 94,159, 98, 13,180,250,109,250,174,198, 87,142,235,247,182,137, 93,
-133,113,138,220,107, 58,237, 20,172,229,193,118,198, 86,229,232,167, 33,157, 36, 96,234, 19,122,103,159,101,115, 52,229,131,155,
- 55, 89, 94,219,160,221,105,115,238,212, 67, 36, 81,140, 86,138, 86,154, 18,133,210, 68,183,182,190,197,253,149, 85,156,115,124,
-244, 67, 79,209,235,118,105,181, 82, 6,189, 46, 55,239,223,231,123, 47,188, 4,192,230,246, 14, 59,195, 49,199,151, 14,146, 38,
- 9,105,154,176,185,181,205,139,175,191,197, 7, 55,110,177,185, 61,100,126,208,103,190,223, 39,137, 99,198,147, 25,235, 91, 91,
- 18, 25,107, 37,100,121,206,161,253,251, 56,182,116,152,202, 86,148, 85,197,100, 58,227,214,253,251,124,255,167,175,240,237, 31,
-252,152, 59,247,238,237,157,211,135,227, 49,235,155,162, 34,180,211,148, 51, 15,157,192,104,205,100, 42,144,154, 50,207, 56,121,
-252, 40, 97, 16,242,239,254,236, 47,121,235,189,247, 81, 90,211,235,180,120,236,252, 57, 62,247,137,231,233,117, 58,123,167,150,
-170,170,196,212,231,164, 49,177,118, 14,165,228,244,228,156, 39, 47, 75,156,173,137,162,144,219,247, 30,112,245,198, 77,174, 92,
-189,198,245, 59,119,217,218, 25, 82,219,154,247,111,222,226,187, 47,188,196,120, 50,229, 43,191,244, 41, 62,246,204, 69,106,100,
-134,110,173, 3,239,216,109,239,171, 42,139,209,138,105,150,115,231,254, 3,222,120,251, 50,223,251,233,207, 24,142, 39,123,155,
- 96,231, 60,107, 91, 59,252,198,151, 62,207,225, 3,251, 73,194,136, 89, 94,138,179, 94, 41,246,205, 15,152, 31, 12,208, 40,238,
-173,174,242,222,181, 27, 92,185,118,131,188, 44,246, 12,133,237,180, 5,206,211, 74, 98,246, 13, 6, 12,167, 99,118,134, 99,126,
-237, 87,190,192,247,231, 14, 17, 71,109,220, 77,195,198,198, 6,147,237, 53,142,156, 63,205,209, 71, 21, 87,254,232, 1,215, 62,
-248, 83, 86,215,114,238,220,188,196,237,171,127,141,117, 99,194,246, 8,123, 55, 99,107,227, 62,235,183, 95, 97,123,245, 61,166,
-163, 21,242,157,107,108,174,188,205,218,157, 91, 20,101,135,246,226, 57,226,201, 49, 58, 69, 74,208, 45, 40,235, 33,149, 46,153,
-149, 59, 12,215,110, 51, 77,175,177, 89,189, 65,209,190,195,182,191,202,131,234, 38,147,185,156,254, 35, 41,135,125,135,185, 25,
-156, 91,242,220,160,102,243,128,225,112,175,207,252, 47, 30,196, 15, 10,226, 27, 33,251,206,194, 98,154, 51, 29, 5,172,191,227,
-153,228,154, 98,178, 67, 86,172, 51,155,172, 98,163,154,227,131, 95,100,127, 39, 98,120,219, 96, 55, 61,113,207, 97,217,102,156,
-111,179,208,190,200,210, 51, 39, 57,122,190,197,172,158,192,116,137,110,114,136,118,127,202,237,217,139, 12,175,175,115,239,131,
- 43,236,140,110, 17,100, 83, 6, 39,143, 51,127,228, 40, 59,119,239,160,106, 81, 76,113,130,217,245, 90, 78,236, 74,107, 2, 45,
- 10,142, 49,210, 78, 25, 6, 98, 52,222,245,103,132,161,222,187,222,202,170, 0, 36,223,237, 61,132,161,180, 54,106, 37, 38,207,
-208,200, 1,208, 90, 75,146, 36,152, 32, 96,154, 77,169,107, 49,230,250,218, 35,109,152,138,233,108, 42,235,142,242, 84,174, 38,
-208, 66,106,147,145,146, 16, 59, 5,155, 44, 10,130,120,154,170, 6,240, 84,227,156,197,218, 26,105,148,212,148, 69,142, 14, 69,
- 74, 47,102, 25, 81, 28,225, 60, 20,121, 78, 24, 72,148, 90, 43, 67, 28, 70,123, 30, 39,109, 52, 85, 93,161,181,166,170, 44,157,
-110,143,162,204,155, 53, 82,227,189, 66,233, 64, 98,123,145,172,117, 90,131, 14, 12,121,150, 97,148,198,121, 65,191,234,192, 8,
- 39, 5,168,189,149,104,108,221,176, 62,106,143,117, 78, 14,148,209,110,135,138,252, 28,143, 28, 24,109, 41,117,228, 74, 41, 52,
-136, 74, 92, 74,172, 26, 20,230,196,169,211, 95,223,149,174,202,210, 2,142,162,168,216,133,248, 7,129, 38, 12, 35,180,150, 38,
-183,162, 40, 8,141, 65,105, 45,178,123, 93,179, 91, 18, 82,215,150, 56,140,200,138,140, 36, 73,169,202, 18,103,155,142,238,102,
-113, 41,139,130, 40,140,176,181, 21, 98,151, 22,110,182,181, 21, 85,150,131,115, 88,239,241, 90, 19, 52, 51,240, 36, 78,208,198,
-160,181,156,172, 91,105,139,178, 40, 32, 16, 89, 28, 35,115, 63,165,128,218, 17,244,251,164,177, 84,152, 6, 65, 72, 93,203,102,
- 34, 8, 66, 57,145, 27, 89,140,228,185,155, 11, 52, 12, 9, 77,196,174,227, 81, 36,160, 18,165, 84, 51,139, 7,231,189,204,170,
-149, 64, 73,140, 22, 99,194,174,137,111, 58,155, 80,100, 37, 69, 85,144,198, 41, 97, 28, 82, 22, 57,101, 41,210,166,119, 14,101,
- 45, 97, 43, 37, 73, 98,162, 64,158, 75, 43,249,210,212,117, 77, 20, 75,239,113, 85, 85, 84, 78,228, 34,109, 52,157, 86,155, 36,
-142,101,102,221,233,210,106,181,155, 15, 92,228, 83,163, 21,105,187,221, 92,160,142,188, 20,174,187, 9, 2,208,194, 16, 15, 3,
-153, 97,161, 96,150,231,242,190,106,137,159, 41,165,232,117,187, 98,126, 68, 49, 12,164, 36, 0, 0, 32, 0, 73, 68, 65, 84,178,
-167,121,158,147,196,194, 34,136,226, 8,188,200,205,202, 4,196, 97, 68, 89,149,132, 81,204, 46,139, 88,174, 25,223, 92, 47, 6,
-165,100, 86,251, 15, 62,217,229, 87, 6,154,157, 15,110,145, 7,134,183,215, 39, 4, 97,200, 66, 39,226,204,193, 14, 47,189,187,
-206,161,253, 93,226,185, 54,171,155, 99, 98,160, 76, 18, 76,150, 67,105,137,210,144,188, 2,141, 35,238, 68, 92,203, 43,206, 29,
- 26,224,125,197,104, 92, 17,246, 98,234,210, 98,211, 24, 14, 60,202, 59,239, 95,227,205,119,223,227,204,137,227,252,103,127,255,
-183, 24,244,186,160,188, 92, 15,198,208, 74, 83, 70,147, 9,111, 92,126,151,123,141,156,124,225,225, 51, 92,188,112,158, 52, 78,
-120,255,218,117,126,252,202, 27,140,199, 99,138,178, 66,163,120,232,216, 17, 60,138,249,193,128, 94,183,195,100,154, 49, 26,141,
-217, 30,143,104,167, 45,206,156, 56,202,161,197,253, 56,239,249,209, 75,175,242,193,141, 91, 56,231, 56,249,208, 9, 62,245,220,
-135, 56,117,226, 24,129, 49,123,137, 9,165,164, 91,189,213, 74, 88,223,220,100, 52,153,226,189,176,203,101,193,133,253, 11, 11,
- 92, 56,115, 90,102,121, 73, 66, 93, 91,182, 70, 99,138,188, 36, 47, 75,230,123, 93,202,170,228,214,189,251, 20, 69,201,233, 19,
-199,120,250,177, 11,156, 58,118,148,178,172, 24, 77, 39, 56,231, 40,173,124,159,109,105,201,139, 18, 87,215, 2,236,104,188, 51,
-114,131, 48,188,119,253, 38,175,190,115,133,247,111,220,228,189,155,183, 73,162,144,185, 94,151, 94,175, 75,183,211,102, 56,153,
-208,138, 83,254,171,127,244,187,236,159,159,167,157,166, 50, 54, 42, 11,196, 56, 40,247, 0,208, 40,163, 41,203,130,245,173, 29,
- 94,126,243, 29,174,221,186, 43, 53,184, 40, 6,253, 62, 15,159, 60,206, 51,143, 63, 70,158,205, 56,121,236, 24,147,217,140,229,
-245, 13,174, 94,191,197,229,247, 63, 96, 56, 26,115,230,196,113, 22,247,205,115,251,222, 3, 94,122,227, 77,222,187,126,131,173,
-237, 29,108, 45,174,247,162, 44,105,181, 82, 22,247,239,227, 99, 31,186,200,103, 30, 59, 71,111, 97,158,203, 71, 79,208, 61,124,
-138, 11,253, 47, 99,162, 71,216,183,255, 89,158,124,226, 97,158,122, 90,211,159,243, 60,254,213,135,153,172, 28,228, 39,127,241,
-175,169,170, 33,167,206,127,153, 83,143,125,158,213,245,191, 65,141, 10,198, 59,235, 76,134, 15, 24,174, 94,193,217, 29, 76,160,
-201, 38, 27,148,197,140,139,207,125,133,127,249,251, 1,243, 79,149, 44, 95, 29,192, 74,159,135, 23,142,112,246,241, 3, 80,134,
-212, 97, 27,148, 38,175,114,170,220, 82,151, 21,113,127,142, 98,184,198, 56, 31,179, 28,220, 99, 43, 41,249,201,118,193,149,181,
-138,141,173, 91,220,203, 94,103,243,206,207,152,218, 29,166, 7,107,150,103,134, 89,216, 33,233,103,228, 43, 33,107,119, 61,247,
-151,175,145,109,223,102,103,243, 6, 45,125,145, 15,255,206, 25,138, 7,158, 7, 55,183,152, 78,182, 40,214, 70,196, 29,208,245,
- 54,177,254, 8,113,117,154,157,252, 3,218,225,152,201,118, 7, 85, 47,209,162,135, 74,215,241,253, 33,122,167, 96,186,178, 76,
-127, 62,161,125,240, 48, 97,183, 71,239,240, 1,214,175, 94,149,241, 80, 94,176, 91,151,108,203, 26,173, 69,209, 44, 43, 41, 43,
-113, 30,112,144,205,102,194,246,119, 2, 39,139,195, 4,148, 36,137, 90,173, 54,187,213,161,104,233, 36, 79, 82,145,194,203,170,
- 36,140, 35,140, 14,228,254, 18, 69, 68,161,244,142,163, 20, 69,217,112, 37,242,146, 52, 77,136, 99, 73, 13,133, 65, 83, 26, 19,
- 4, 88, 87, 11, 70, 91,139,170, 96,173,147,238,145, 44,103,143,133, 94, 91,140,214,244, 7, 3,146, 36, 1,212,158,177,217,249,
-221, 84, 81,216,248, 62, 42,146, 36,198,104, 37, 81, 78,103, 17,176,140, 84,210,106, 37,163,211, 56, 18,186, 92,188,187,166, 4,
-145, 28, 10,139, 2,239,154,124,126, 40, 45,153, 89,150,163,141, 20,143, 56, 28,120,223,172,149, 21,214,123, 66, 19, 53,170,120,
-137, 49, 80, 59, 43,107, 97,131, 28,151,100, 1,194,203, 15, 35, 52, 30,165,100,109, 52,205,159, 32,136,208, 40,210,150,164, 76,
-204,249,199,159,248,122,154,166,123,179, 80,231,100, 78,208, 78,219,132,241,238, 2, 39, 11, 14,190,233,223, 53, 33,206, 59,146,
- 88,110, 64,121, 94, 73,148, 36,145, 15,168,174,107,226, 80,102,237,173,118, 11, 64,100,137,192, 80,228, 57, 69, 81,160,149, 68,
- 79, 4,100, 34,187,154,162,144,121,175,119, 82, 39,231,106, 75, 94,136,204, 27,132,205,124, 58,138, 81, 72, 44,161,246, 22, 59,
-157, 65, 19, 11,219, 45, 54, 81, 73, 76,128,100,176,203, 90,106,254,170,170, 89,120,179, 41,229,116, 74, 49,205,152,101, 51, 10,
- 91,202, 9,190,176, 34,225, 76,198,141,163, 60, 32, 14, 99, 60,178,104,214, 94,176,178, 50,139,150,162,250,162,148,126,246,218,
-213, 82,214,145,237,214,161,234,189, 15,214, 24, 3, 90,161,181, 17,195,155,147,214,157,202,150,120, 20, 85,158,203, 28,190,174,
-105,119,186, 40,165,169,234,154, 78, 35,159,199, 81, 76, 24, 69,160, 60,142, 6,189,106,100, 83,161,148,106, 34,134, 49, 73,171,
- 69,158, 77,169,202,146,176, 89,252, 29, 30,229, 61, 73,146, 10,125,207,138, 47,161, 42,133,220, 84, 53,187, 90,173, 27, 3,136,
- 86,152, 48, 36, 10, 67,166,211, 9,198, 72, 38,187, 40, 10,249, 92,160, 81, 34,228,154,240, 32, 20,185, 40, 68, 41,233,111,183,
-141, 52, 90, 85, 22,165, 37,111,249,159,159,130, 63,251,203,159,241,220, 67,115,176,208,231, 7,183, 70,140,157,226,233, 19, 11,
-184,178,230,221,235,107,164, 73, 64,183,155, 16,226,121,176, 57, 67,215,138,118, 36, 70, 69,103, 45,101,104,232, 56, 72,128,145,
-209,108,207, 60,222,107, 70,227,140, 44,171, 88,236,196,164,221, 30, 89,255, 36,111,188,123,133, 87, 47,189,195,242,250, 58, 74,
- 41,142, 28, 62, 68, 28,197, 56,239,161, 81,159,182,134, 67,126,250,234, 27,108,110,239, 48, 63, 24,112,252,232, 33,122,221, 46,
-131,110,135,118,187,205,205,187,247,184,117,255, 1, 85,101, 57,120, 96, 63,251,247,237,163,221, 74, 57,121,252, 24,139, 11,243,
- 12,122, 93, 54,119,134,172,111,108, 50,153,205, 56,124, 64, 36,246, 94,183,195,173,123,210, 18, 22, 69,194,173,158,239,247, 56,
-180,127, 31,104, 77, 86, 72,153,134, 84, 95,138,195,246,234,141,219,141, 99,220,162, 3,195,133,135,207,242,133, 79,127,130, 79,
-124,228, 89, 14,237,223, 71, 28, 69, 88,107,217, 25,238,112,111,121,141,233,116,194,163,103, 79,113,108,105, 73, 20, 18, 15, 91,
- 59, 59,220, 95, 89,227,202, 7,215, 57,119,250, 36, 94, 41,242, 89,198,116,150, 51, 26, 79,168,108, 37, 35,170, 70,241, 73, 99,
- 1,231, 84,182,198,123, 8,140, 38, 47, 5,222,116,127,121,153,187, 15, 86,168,157,227,233,199, 30,229,196,209, 35,204,102, 51,
-134,227, 9, 43,235,235,220,188,115,143,163,135, 15,209,237,182, 37,202,217,156,226,118,199,108, 0, 85,105,121,229,210,219,252,
-193,191,255, 15,188,253,222,251, 76, 26, 15, 74,148, 68, 60,249,232,121,190,240,137,143,242, 11, 79, 95,228,248,209, 37,182,135,
- 67,174, 92,187,201,123, 31, 92,103,117,125,157,157,225,136,201,108, 70,183,219, 97,105,113, 63,221, 78,135, 63,250,243,111,114,
-111,121,149,110,167, 69, 20, 4, 20,101,197,209, 67, 7, 48, 38, 96, 97,208,231, 83, 23, 78,242,143,191,250, 75, 92,222,183, 72,
-118,224, 12, 31,251,228,111,112,234, 57, 69,148,247,112,197, 4,223, 85,204, 93, 8,120,122,193,242,164,209, 92,124,126,142, 99,
- 95,253, 45, 62,252,212,231,248,229,223, 59,197,199, 63, 17,242,210, 95,140, 24,173,188,129,183, 57,249,246, 93, 54, 30,188,139,
-171, 75, 76, 16, 98,171,140,185,131, 15, 81,215, 29,126,248,114,159,183, 94, 16,131,213,205,187, 87, 9,203, 69,126,239,195,112,
-118, 33,228,244, 98,139,179, 7, 14,113,246,192, 73,142,158,127,148, 67,103, 30,103,174,125,130,164,125,144,193,252, 17,186,105,
- 11,103, 34, 66,227,200,166, 83,134,155,107,228,121,133, 69,211,154, 59, 76, 57,217,102,150,109,114,239,238, 85,174,221,184,205,
- 78,172,112,155, 57,229,112,131, 34,219,194, 24,199,169,179,191,206, 51,207,143,217, 62, 24,115,247,229, 33,121,182, 77, 85,101,
-228,122, 76, 64,193,214,237,187,140, 55, 59, 44,191,255, 6,149, 93,103,226,215, 72,220, 35, 84,182, 67,234, 99, 14, 30,156,177,
-244,248, 81, 6, 39, 14,209, 61,184,136, 78, 90,216,218, 19,247,186,204, 29, 94, 98,235,198, 7,114,159,174, 10,202,210,226,169,
- 1,105,116,116,181,107,146, 80,226, 92,215, 70, 35,136,109, 89,144,146, 36, 33,140, 66,162, 40,110, 36,119,225,114, 76,167,179,
-230,148, 94,225,154,181, 13,104,238,245,242,239, 60, 10, 26,121, 57, 12, 67,217, 4, 42, 64,121,217,212, 90,203,180, 65,100, 91,
- 91, 18, 71, 49, 69, 46,153,111,239,220, 30, 30,182,174, 43, 4,131,157,211,237,116,137, 34, 77,146,180,208, 90,224, 83,187, 28,
-141,178,202,101,132, 88, 20, 8, 4,199, 17, 68, 33,149,173,104, 39,109, 92,237,192, 11, 10,214,121,249, 93,243,188,160,174,133,
- 60,231, 28,242,158,184,102,246,109, 2, 81,159,181,116,175,231,121,142, 87,178,158,105,154,220, 63, 77,145,152, 7,221,216, 12,
-148,106,202,163,156, 5,148,248, 14,208,120,106,108,227,215,170,170, 26,105,169, 51,212, 30,170, 34,151, 38,186, 32,192,121, 73,
- 1, 8,130, 25,204,217, 71,206,127,221,121, 49, 22,180,219, 45,132,207,156,144,103,153,204,219,242,130, 60,151,197,171, 44, 5,
-192,239,113,104, 29,136,219, 58, 12, 41,138,188,201,110, 87,120,118, 35, 12,178,184, 43, 60, 65, 20,162,106, 57,165,183, 91, 29,
-130, 40, 36,155, 9,240,164, 40, 10,202, 92,100,113,175, 5, 73, 27, 37, 9,101, 37, 51,249, 52,138, 41, 43,201, 42,102, 83,233,
-204, 46, 43,113, 89,227, 60,213,116,130, 50,205,204,221,203,204,212,101, 57,121, 89,137,193,174,200,168,203, 18, 91, 20,148,121,
-134,111,164,198,218, 53,185,243,102,177,218, 53,255, 5, 97, 32, 27,156,178,196, 58, 75, 43, 77,137, 99,153,255, 27, 45,181,130,
- 85,115,130, 79,219, 41,206, 90, 58,157, 54, 90,105,112,194, 68, 54,129, 72, 83, 74, 41,166,179, 25, 81,163, 56, 40, 47,117,167,
- 26,246, 54, 11,206, 11,146, 39,106,181, 8,140,204,210,165, 14, 87,160, 12, 38, 16,108,226, 44, 23, 51,138,181, 86,226, 31, 86,
-220,198,182,182,127, 43, 87, 69, 6,148,166, 44, 74,170,102,134,238,188,156, 80, 65,226,104,187,104,222, 40,144, 93,119,237,100,
-134,102,157,199, 27,185,192,229,245,218,198,133,170, 9, 35, 67,104,100,110,111, 2, 3, 30,156,173,247,164, 54,239,164,206, 48,
-140, 69,238, 21,128,132,199, 86, 53,157,118,202,163,102,147,147,139, 45, 22, 63,118,129, 75, 47,221,192,100, 21,243, 73,200, 82,
- 39, 32,212,138,155,247,118, 40, 43, 71,237, 21,183, 87,199,204,106,135,245,142,131,139,125,138,233,140,254,252,128,178,170,233,
-196, 1,173,110, 72, 47,141,217,206, 28, 90, 57,102,133,163,182,158, 68, 43,186,237, 22,249,129, 71,137, 3,195,131,245, 45, 54,
-182,182,248,167,191,251,247,216,183,111,129, 60,203,101,134,229,193,104, 77,183,221, 97,121,101,141,219, 15, 86,152,206,102,156,
- 62,126,140, 35,135, 14, 81, 84, 37,127,245,195, 23,120,249,210,219, 76,166, 98,194,153, 76,103,108,110,239, 48, 26,141, 89, 58,
-176,143, 67, 7, 23,137, 35,241, 86,220,121,176,194,160,215,197,161, 56,184,111, 30,148,226,133, 87, 94, 99,121,109,163,153, 43,
- 10,207, 96,113,255, 62,210, 40,164,174, 4, 55, 59,158, 76,249,222, 75,175,240,141,191,254, 62,183,239,203, 73,219,123, 71,183,
-211,101,174,215,101,255,160,207,190,185, 1, 38, 8,168,157,160, 55,175,220,184,137,115,142,202, 58,106,239, 88, 92, 88,224, 7,
- 47,190,204, 11,175,190,190, 55, 99,124,254,153, 39,233,181, 59,180, 91, 45, 58, 45,169, 80,181,214,146,101, 57,181,131,208,104,
-218,173, 54, 73,218,200,151,141,186, 82,213,162, 14, 77,154,156,251,202,250, 38,221,118,155,185,185,190,108,236,170,138,185,254,
-128,127,246, 79,255, 49, 23, 31, 61,207,160,219, 37, 8, 2,234,198, 83,225,172,163, 40,197, 80, 89, 59, 33,142, 45,175,174,177,
-188,177,193,250,198, 22,187,178,123,109,107,178,162,224, 31,124,237,171,104,173,153,140, 39,108,236, 12,121,255,230, 77, 86,214,
- 55,185,187,188,194,246,112,204,163,103,207,240, 11, 79, 95,100,208,239,147,231, 5,163,201,148,183,174, 92,197, 90,203,135,158,
-124,156,118,171, 69, 59, 77,121,228,204, 73,170,233,136,223,249,244,115,252,136,136,159,153, 62, 31,255,213,191,203,151,247, 89,
- 62, 66,204,107, 55, 20,215, 70,223, 35,216,126,132, 40, 80,108,244, 53,111,188, 9,179,165, 0,151,195,234,107,158,182,130,122,
-209,177,118,251,105, 94,254,206,191, 96,107,245, 22,198,196,156,122,250,119,249,231,255,247,159,178,185,115,142,245,187,175, 17,
- 37, 57,179,233, 42,247,238,189,202,214,214, 53,214,214,150,153,110, 46,115,253,246,144,173,228, 8,203, 61, 77,149,104,156,246,
- 36, 6, 14, 39, 25,131,176,100, 95, 63,228,200,190,132,163,173,136,179,211, 46,231,143,247, 56,187,216,227,240, 82,155,199,207,
-156,224,196,217,147, 16,157, 67, 37, 29,170,209, 14,101, 53,163,178, 37,182, 86,100, 91, 31, 48,141,110, 19, 45,205, 56,246,228,
- 18,135,206, 46, 80,143, 98, 22,159, 26, 48, 84,138,123, 47, 84, 20,249, 29,202,124,194,184, 88,161,206, 51,102,227, 27, 60,184,
-181, 67, 54,126, 64,181,185,194,206,246, 61,186,157, 71,208, 54, 33, 43, 52,180,199,204,205,197, 28,125,228, 36, 81, 26, 48,153,
-100,212, 86, 81, 89,136,251, 61,226,118,139,241,157,219, 98, 14, 54, 90, 34,184,141,170, 26, 4,114, 16,171, 43,161, 80,198,177,
-160, 96,147, 52,101, 23, 4, 54,205,102,212, 86,242,215,181,151,232,101,109,107, 57,136,213, 98,168, 76, 83,169,123,142, 66,161,
-145,102,217,148, 26, 79,108, 2,178, 60,111, 22, 60, 77,183,219, 65,107, 67,214,120,124,118,199,144, 73, 44,192, 28, 99,100,190,
-108,140,252,153,140,199,152,192,200,193, 81,107,156,171,105,183,123, 4,129, 36,187,148, 23,201, 59, 10, 5, 48,163,148, 22, 21,
- 33,203,208, 70, 42,128,163, 32,162, 40, 11, 57,204, 40, 72,147,148, 40,150,241,107, 85, 85,162, 56, 55,135,193,218, 86,148,165,
-224,158,165, 57, 78,161, 67,233,108, 15,147, 72, 40,148, 38,192,214,226, 93,177, 86,164,124,173, 53, 13, 58, 76,214, 45,215,204,
-198,141, 24,209,141,105, 10,162,148,172,165,222, 59,180, 10,104, 76, 12, 4, 81, 68, 96, 12,161,146,238,145,186,150,251,140,173,
- 44,230,212,217,115, 95,247, 94,218,168,148, 82, 40,163, 80, 94, 17, 37, 33,113, 36,249, 57,101, 20, 50,156, 23,176,140,214,134,
- 32, 48, 84,165,116,108,135,198,160, 77,132, 14,154, 30,229, 48,220,155,197, 79,167, 83,153,207,164, 9,113, 20, 33,237,105,229,
-158,132,162,149,100,203,227, 52,161,200,114,156,146, 88,142,171,107,201,112, 59,135,210, 6,163,101,143, 19, 54, 82, 79, 94,228,
- 20,147, 25,106,111,203,231,101,147, 3,160, 21, 40, 80, 94,161,144,252,164, 66, 94, 23,129,228, 88,149,214,244, 6,131,102,166,
-211,162,221,110,137,129, 33,144, 5,172,170,107, 92, 45,145,140, 36, 73, 72, 19, 1,232, 4, 97,136,242,194, 61, 23, 7,164,219,
- 51, 26,133, 65, 64, 81,150, 2,204,177, 22,129,206,252,109,126, 54,138, 99,249, 89,173,150, 80,129,148,162,221, 74,136,162, 88,
-220,227,206,209,238,116, 80, 74,156,150,117,109,229,189,139, 35,108, 41,181,179,222,121,226, 40,166, 44,115, 76, 40,227, 4,107,
- 75,194, 40, 36,155,102,216, 74,242,216, 40, 77, 28, 39, 84, 85,137, 71,230, 66,187,191,163,209, 1, 85, 85,211,106,181,136, 34,
-217,221,181,210,148,221,222,115,165, 36, 42, 98, 76,136,115, 21,182,170,229, 39, 52,139,184,181, 22,154,217,172, 0,111, 82,194,
- 56,198, 86, 21,190,246,224,193, 43, 79,160, 52,157, 20,254,225, 99, 41, 39,246,183, 40, 55, 70,220,222,204, 89, 28,180,201,203,
-146,150, 82,164,177,193,107,205,120,156, 49, 44, 28, 59,179,146,110,108,192,123,142, 29,223, 71, 49, 46,137, 66,133, 9, 13,207,
- 62,118,132,241,182,208,204, 2,229,209, 97,196,190, 78, 76, 55,128,135,142,117,153, 78, 28,247,147, 37,126,244,242, 43,188,121,
-249, 93,180, 54,252,189,175,126, 25,229, 60,121, 89, 72, 84,203, 75, 52,199, 89,203,191,253,147,111,176,181, 51, 36, 12, 13,115,
-253, 62, 73, 20,112, 96,223, 2, 7,247,239, 39, 10, 12,203,107, 27,123,112,160, 52,142,249,149,207,127,150,103, 30,123, 12,231,
- 28, 15,214,214,249,222,139, 47,115,247,193, 50,113, 51,170, 56,123,250, 36,113, 24,176,188,190,133,194, 51,223,239,113,238,244,
-105, 62,242,244, 19,204,247,250, 98,166,115, 14, 91,123, 70,147, 17,163,225, 8,143,103,117, 93,106, 86, 61,144,101, 57, 91, 59,
- 59,188,249,254,251, 20,165,144, 30, 59,237, 22,215,110,222,226,189,107, 55, 89, 94, 91, 39, 12, 12,219,195, 49,167, 79, 28,165,
-172, 44, 87,174,221,216, 91, 52,127,253,139,159,231,244,201, 99,196, 97, 72,218,248, 7,218,109,233, 49,136,227,136,185,193,128,
- 94, 75,212,179,170, 42, 41,170,170,153,177, 11,155,127,113,223, 28, 55,239, 61,224,205, 43, 87,249,208, 19, 23, 56,176,176, 64,
-167,211,102,184, 51,228,216,225, 67,156, 61,115, 82,110,132,120,217,252,214, 22,229, 60,165,171,200,102,197, 94, 17,200,165,203,
- 87,120,241,181, 75,188,247,193,117,156,247,156,126,232, 4, 31,127,238,105, 78,157, 56,193,206,206,136,163,135, 23,217,183, 48,
-143,173, 29,227,225,152, 44,203,233,117, 59,140, 39, 19,110,223,123,192, 19,231,207,241,228,249,179, 56, 87,179,186,181,197,230,
-230, 22,179,188, 96,117, 99,147,243,103, 31,230,209,179,167, 24, 79,166,156, 90, 28,240,181,143,126,136,213,197, 37,254,240,214,
- 10, 71,220,231,105,221,158,227,181,171,134,239, 47,194,149, 23, 96,229,103,223,101, 56,214,220,157, 44,242,224,182,230,253, 23,
-182, 89,126, 45,229,210,143, 54, 25,109,121,110,191, 27,115,245,101, 67,145,149,212,132,184, 32,231,185,223,255, 79,248,135,255,
-243,239,241,155, 75, 80,238, 59,194,189,229, 1,195,173,119,240,197, 14,181, 15,105,247, 15,113,226,201,175,146,232, 83, 60,253,
-229,135,248,157, 47, 90, 46, 95,210, 20,115,158, 60, 80,236,204, 20,155,195,128,113, 22, 81,135, 10, 87, 66, 85,107,102, 45, 15,
-181,167,111, 20,167, 3,197,163,222,112, 65, 27, 62,177,160,249,236, 66,204,226,241, 1,227,155, 15, 67,176,201,172,156, 80,148,
-178, 16,140, 71, 25,107,171, 43, 24, 85,211,238,222,231,193, 75, 23,232, 31, 87,220,252,217,148, 98,114,141,162, 24,146,175,108,
-225,163,156,217,250, 26,171,247,150, 41,134,247, 24, 77,110,227,198,138,238,226,163, 4, 81, 27,107, 53,195,229, 9,173,185, 9,
-173, 99, 23, 9, 91, 3, 84,189, 3,101, 65,153,123,170,170,166,125,248, 32, 81, 96, 40,214,215,208,186,105,103,108, 12,150,182,
-174, 36,213, 98, 20,173,180,133,214, 10,231,157, 40,175, 65,128,195, 81,151, 37, 40,208,104,108, 41, 41,143, 36,105,201, 61, 48,
-138,136, 26, 83, 91, 89, 22,104,211, 68,163, 75, 75,160, 53,179,162, 32, 14, 2,202,202,162,180,223,131,200,196, 81, 4, 64,171,
-149, 18, 55, 74,100, 24,134, 4, 38,160,200,115, 49, 84,163,136, 35,137,159,105,173,232,247,187, 68, 81, 66, 85, 20,148, 85, 51,
-207, 54,178,238, 20,121,142,115, 16, 54,235, 65,154,182,196,112, 23,199, 84,149,165,176, 82, 48,211,234,180,169,107,129,162,133,
-145, 28,138,210, 68,106, 84,195, 48, 36,107,104,171,181,171, 73,155,113,166,119,158, 89,158, 97,144, 57,154,140,112, 3,130, 64,
-114,243,117,237, 80, 70,212, 45,213, 40, 20, 42,208,212, 85, 19, 93,198,161,145,251,116, 16, 5, 68, 97, 68,218,110,201,162,175,
- 53, 74, 27,226, 40,100,183,120,167,182, 50, 2,175,107,217, 76, 7, 69,145,163, 3,137, 45, 89,231, 26, 62,174, 44,158,189, 78,
-135,193, 96,192,222,195,203,172, 15, 20, 74,121,188, 0,218, 80, 58, 34,112,226,238,243,181,107,224, 28, 1,101,145,227,189,116,
-158,163, 60,113,148,146,229, 25,206,187,189, 69,216, 40, 41,109,209, 74,211,106,119,152,236,236, 96,189,162,221,109, 49,203, 10,
-122,189, 14, 74, 25,108, 93,147, 68, 49, 40, 69,162, 20,129,214,140,178, 2,133,131,184,141, 55, 26,234, 90,200,103, 70,145,215,
-142, 52, 12, 1,207,100,214, 56, 14,181, 68,188, 38,147, 25,221, 94,135, 48,140,152,159, 75,152,204,166,100, 89, 70, 20, 9,187,
-189,213,105,145,186,152, 32, 12,152,140,199,140,134, 67,230,230,230,100, 81,140, 34,226, 36,194, 33,146, 74,154,164, 76, 38, 19,
-146, 56, 69, 41,136,188, 71, 69, 49, 40, 47, 85,173,120, 32,197,218, 28,101, 52, 74,137,233, 80,135, 33,161,247, 50,243,247,146,
-251,176,181, 44,168,113, 28, 19, 70,226,186, 47,202,130,114, 34, 94,135, 86,218,110,204,125, 21,105,218,198,123,113,165,122,100,
- 87,215,106,220,247, 74, 41,166,147,169, 40, 40,182, 38,140, 26, 44,172, 81, 84,165,101,102, 11,188,151, 84, 67, 18, 71, 50,102,
- 49,134, 52, 16,127, 65, 81,148, 4,129,128, 21,156,147,124,179,173, 43,140,146,174,123, 95,215, 12, 71, 99,162,230,139, 86,150,
- 5,161, 17, 90,146,173, 43,130, 56,164,204, 4,183,248,185, 51,134,133, 99, 3,124,160,120,243,123, 87,136,147,128,119, 94,190,
- 65,255,244, 33,214,198, 57,105, 88,179,110, 21,167, 31, 89,226,221,247,151,169,172,135, 16,130,208, 48,220, 30, 51,119,120,192,
-202,157, 77, 14, 44,245,217, 28,142, 89,191,189,206, 54,134,202, 24,250,115, 41,137,118,116,250, 9, 11, 11, 61,244,160,195, 45,
-109, 56,176, 48, 79,175,221,161,170,107,238,173,172,112,234,216, 81, 30,220,218, 96,233,208,126, 49,117,137,159,132,221,226,153,
-208,132,184, 90, 32, 18,171,155,219,252,197,223,252,128,183,222,125,143,159,127,140,167, 83,242,162,164,172,100,254, 53, 30,143,
-233,119, 59, 40, 20, 15, 86,214,152,155,235,115,235,206, 61, 14, 29,216,207,246,206, 14,107,155, 91,244,187, 93,206, 63, 44, 0,
-149,162, 44,112, 94, 10, 50,108,109,233,117,122,124,236,217,167,121, 42, 59, 47, 11,243, 7,215,247,158,107,126,110,192, 23, 62,
-253,113,142, 47, 45, 17,133, 2,127,185,117,127,153,247,174,223,228,193,234, 26, 81, 24,179, 48,223,227,193,218,134, 84,106,214,
- 53,105, 18, 51, 63, 24,112,233,242, 21, 78, 30, 59, 76,191,223,103,115,103,200, 27,239, 92,230,196,177, 35, 44,244,251, 0, 68,
- 70,204,174,142, 93,233, 93, 97,109,197,172,200,217,220,220,230,141, 43,239,179,177,177,201,145,131, 7, 49, 97, 68,154,166, 28,
- 88,152,163, 21, 71,220,121,176,204,205, 91,119,153, 27,244,247, 54,237,181,173,169,156, 19, 7,176,134,149,149, 13,110,220,190,
-203, 7, 55,111, 53,149,179,242,184,118,243, 22,211,217,148, 63,250,215,255, 43, 43, 27, 27,132,129,224,138,119, 70, 19,170,186,
-102,103, 52,226,165,215,223, 98,125,123,155,207,124,244, 35,156, 61,121, 66,110,208,101,197,157,187, 15, 88,223, 25,146, 23,194,
-222,190,244,206,101,206,158,248, 60, 95,120,238, 41,142,118, 98, 62,250,252,135,248,175,223,188, 73,100,186,108,222,218, 97,118,
-235, 30,251,146, 99,164,203, 83, 76,153,178,189,177, 70, 52,122, 25,181,114,153,181,118,139,201,218, 45,170,108,147,238,220, 2,
- 58, 60, 8,222,162,107,143, 83, 37,227,157,251,156,251,205,175,193,253, 22,223,250, 63,215,249,230,208,178,117,237, 30,227,225,
-117,156,237,161,205, 26,115, 11, 75, 28,152,127,156, 11,143, 7,252,234,103, 61, 27,204,248,211,187,109, 12, 30,103, 21,147, 33,
-216,106, 67,186, 34,104,145, 14,187,196,129,166, 46, 60,250,186, 98,114, 74,177, 21, 41,110, 82,210,198,114,208,135, 12, 48, 28,
- 38,100, 65,135, 60,252,153,138,197,252, 57,182, 94,240,108,181,127,202,221,219,239,146, 91, 69, 60,232,177,158,215,108,143,135,
- 36,250, 15, 89,249,131, 47,178,189,118,159,108,178, 67, 93,173,195, 32, 67, 45, 23,140,239,111,113,244,233,199, 88,189, 84, 80,
-172, 79,232,157, 56, 71,109, 11,202,106,130,210, 33,217,208,114,237,242, 45, 90, 71, 54,201,175, 45,226,247, 87,164,117, 5,117,
-129,215, 29,166,219, 5,253,115,231,217,186,113,131,108,189, 41,240, 81, 74, 76,186, 97, 72, 43, 78,112,206, 49,155,102,162,236,
- 70, 17, 30,100, 83,239, 60,113,154,162,181,102, 52, 26, 17, 4, 1, 85,109,169,236,140,176,185,246,180,210,180,219, 45,166,211,
- 41,211,201,223,154, 39, 99,147, 16,107,141,115, 86, 70,134,182,220, 83,254, 64, 10, 75,118,179,229,227,241, 24, 19,132, 36, 81,
- 76, 24,132, 36,129, 33, 47, 74,162, 72,211,237,119, 49,218,200,166,181,200,177,214,161,148,102,107,107, 11,173, 20,221, 78,151,
- 48, 8,137, 99, 33,221,137, 67, 62, 20, 85,173,250,185, 90,241, 40,100, 54,149, 90,215, 32, 72,240,206,227, 93, 13, 65,208,128,
-204,124,115,112,178,152, 64, 75,114, 75, 22, 72,188, 23,154,168,172,144, 90,230,229,181,224,151,131, 32,146, 84, 10, 21, 74, 5,
-152, 38,250, 23, 52,135, 64,231,128,230, 96,171, 42,221,108, 20,196,188,231,149,162,174, 74, 74,239,169,107, 79,220,160,217, 37,
- 34, 24,200,162, 30, 4,130,111, 12,195,144,178,156,238,189,193,214, 66, 86, 20,180,195, 93,254,110, 13, 26,112, 50,228, 23,100,
-157,204,109, 3, 45, 89,185,218, 72,187,147,115,158, 36,141,228,244, 56,155, 81, 85,117, 99,190, 19,195, 85,208, 60, 57, 72,220,
-193, 59,201, 54,218,177,196,208,188,243, 34,143, 55,187,248,110, 83,131, 89, 89, 75,158,201,239,154, 77,166, 64, 77,216,235,147,
- 79, 38,180,187,125, 92, 16, 72, 25,129,214,152, 40,198,107, 40,178,138,118, 18, 51,203, 51,156, 50, 96,118, 37,109,169, 4,212,
- 90,211,238,118,153,140, 70,104, 99,136, 66,233, 3, 86, 90,204, 8,187, 25,122, 87,215, 40, 15,101,158,163, 20, 24, 99,152,140,
-199, 40, 37,156,226,188,200,232,116,100, 39,156,101, 50,103, 81, 74,209, 78, 4, 5,152, 68, 97,147,145, 23, 82, 27, 64,187,213,
-218,171,131,213, 90, 55,124,117,207, 44,207, 9, 3,189,231, 80,223,149,233,241, 52, 23,156,151,145, 72, 37,167,200, 94,183,143,
- 54,138,162, 40, 41,138,130,110,183, 67,167,219, 17, 67, 81,131,130,141,211, 24,144, 2, 1,173,193,218,154, 60,159, 81, 85,133,
-124,241, 84,133, 14, 2,104,230, 52, 32, 39,132, 60,111,220,161, 86,124, 13,222,123,100, 11,226,155, 89,143,152,190,116,187, 41,
- 1,137, 18,138,198, 20,216,141, 74,190,246,228, 0,188,195, 15,107, 86,135, 83,206,158, 56,192, 40, 12,137,202, 18, 95,215,204,
- 61, 52,207,131,247,239,241,248,201,125,156, 58,177,159,245,183,215, 24,151, 53,214, 24,210, 73,205,226,129,132,120,190,205,108,
-103, 70,149, 6,244, 78, 44,178,122,123,131, 56, 82, 76,103, 37,190,174, 8,102, 53, 7,231, 66,212,254, 83, 28,159, 63,200,112,
-123, 11,235, 28,103, 79, 30,103,190,223,227,245,203,239,241,250,219,151,185,120,254, 28, 7, 23,165,133,237, 39,175,188,202,218,
-198, 22, 0, 14,215,200,139, 16, 7,134, 95,254,236, 39,249,200, 83, 79,240,157,159,188,200,173,219,119, 64,105,122,157, 14,171,
-155, 27,204,242, 28,239, 60,139,251,247,113,116, 50, 33,137, 98,134,147, 9,121,158,115,127,101,149,118, 43,101,223,220,128, 32,
- 8,200,139, 2,231, 16, 42,160, 73,169,108,213, 72,145, 21, 56,216, 26, 21,140, 39, 99,249, 92, 81,226,129, 80,138,131, 11,243,
-116, 91,109,105, 57,107, 28, 73, 95,252,212,199,137,227,152,191,248,206,247,153,102, 25, 39,150, 14,115,254,204,105, 94,124,245,
- 53, 64,170, 92,159,126,236, 2, 31,251,240,211,152, 48,228,219, 63,252, 9,227,233,148, 65,167, 37,133, 51, 97, 32,114,187,171,
-193,202,171,246,222, 83, 89,201,176,175,172,111,242,210,165,183,120,235,221,247,240,222,243,165,207,126,138, 71, 78,157,164,215,
-235, 72,217,146,173, 88, 58,116,168, 65, 65,211,156,218,132,210,104, 2, 67, 20,138,250, 83,150, 37,203,107,107, 92,187,115,135,
-159,127,244, 59,109,186,237, 54, 87,174, 93,231,212,137,227, 20, 69,193,253,213,117,174,221,188,197,181,155,183,184,251, 96,153,
-205,161,192,126,162, 32,224,220,169,147,164,105,204,160,215, 98,154,101, 92,190,250, 1, 81, 24,113,241,145,179, 76,139,130,215,
- 46,189,201,255,244,143,126,139, 99,199,143,242,191,223,223,102,187,170,208, 85,135,251,247,222,100,238,208,179, 60,255, 79, 60,
-191,125, 36,165,240,142,127,198,127,202,223,252,217,255,136,198, 98,162, 46,101,166, 57,112,168, 96,117,237, 38, 38,120, 0, 53,
-248, 58,167,152,109,176,179,126, 29,245,210,109, 22,162,231,240, 15, 70,212, 85,142,155,148,148,211, 7, 44,157,251, 34, 91,227,
-255,136,137, 42,206, 62,125,145, 39, 63,229,169,189,226,167,223,111, 17, 5,158,185,199, 21,211,202,179,189,115,157, 67,131, 83,
- 80,121,184, 13,219,235,138,110,223,115,228,163, 25,213,161, 8,191,110,152,100,158,205,205,132,181, 15, 52,247,207, 67,145,122,
-102,175,192,193,167, 35, 92,191,198,215,138,246, 51, 10,126,242, 60, 65,112,156,205,222,139,172, 77, 50, 20, 1,133, 53, 76,179,
- 85,116,252,255, 80,229, 61,150,111,190, 79, 16, 76,104, 13, 45,179, 98,139, 78, 43,226, 23,190,242, 41,202, 95,250, 24,111,191,
-248, 3,138,145,162, 88, 93,195,122,145,159,203,122, 68,118,117,204,141,185,111, 19,149,159, 35,187, 54, 99,225,161, 49,117, 57,
-165,115,176, 77, 94, 65,225, 21,199,158,255, 24,215,190,245,231,104, 20, 94, 11, 43,189,118, 18,239,242,222, 19, 38,130,159, 46,
-114, 71,110,171,102,175,172, 8,162,144,241,120, 76,187,221,197,171,154,196, 39, 56,229,176,165, 37,214,193,158,250,213,110,183,
-209, 8,185, 52,203, 50,124,237,176,206, 54,247, 72, 79, 81, 90, 33, 96, 42, 69, 20, 54,166,180, 48, 68, 16,198, 94,144,215, 89,
- 70,210, 74,113,181,163,213, 18,240, 77,145,149, 4, 73,176,103,240, 86,104, 70,195, 17, 56, 71,229, 28, 91,219, 91,104,163, 25,
-244, 7,226,121, 34,196,150,242, 51, 39,147, 9,105,154, 64, 93, 83, 3,189, 94, 15,165, 20,147,201, 4,137, 12, 59,252,238,104,
-179,150,247, 33, 77, 99, 2, 99,176,222,131,247,205,104, 88, 70,102,214,213, 68,129,148,150, 5, 58,160, 82,224,156, 28,156,189,
-243,232, 80,188, 94,248, 26,239, 37,125,228,108,141, 14, 26, 35,159,246, 40, 35,222,169,170,174, 48, 40,180, 9, 80,129, 33,140,
- 26, 92,175,242,212,214,145,166,137,200,239, 71,142,159,248,122,171, 37,174, 64, 99, 4,200, 31, 71, 17, 97, 16, 18, 24,141,114,
-210,138, 22,132, 1,129, 9, 81, 90,184,224,129, 9,197, 9,237, 85,179, 3, 17,253,223,123, 71, 89, 86,132, 65, 36,208,137, 40,
- 33,142,163,189,153,117, 20, 68,120, 37, 51,140,202, 74, 94, 55,140,195, 61, 21, 32,155,137,164,174,194,136,186, 18,147, 28,222,
- 83, 22,150, 44,207,246, 28,241,149, 19, 10, 93, 86, 90,116,104,246,102, 45,253,193, 64, 40, 65,129, 66, 57,145,139, 77, 32, 82,
-116, 16,135,180, 82,145,217,119,231, 63, 74, 41,156, 21,105,219, 32,198,174, 93,124, 38, 90,102,232, 81,104,216,217, 25, 50,203,
-164, 53, 40,159, 78,201,242,156,118,167,211,128, 5,132,228, 19, 69, 49,224,177,182,162,211,145,120,217,120, 50,161,172, 4,252,
- 33,196, 46, 33,188,205, 50, 41,158, 49, 74, 28,244, 73,154,138,156, 95, 11, 84, 33,106,226, 20,147,201, 20,163, 21, 74, 25,130,
-208,176, 7,136, 8, 12, 70, 9, 80, 69, 25,132, 73,236, 37,242, 80, 86, 82,122, 99,173, 69, 43, 67,167,221, 98, 54,157, 81, 86,
-210, 64,151,164, 9,198, 52,152,217,162, 32, 12, 99,140,209,141, 97,207, 82,238,114, 0,202,140, 36,138, 80, 78, 92,159,104,193,
- 9, 23,141,177,164,211,106, 17, 70,194,121, 87, 78, 90,188,140,209, 36, 73, 74,171,149,240,241,211, 49,159,122, 40,193,123,141,
-178,112,251,238, 58,216,138,229,141, 25, 61, 20, 39, 78, 47,146,151,142,153,134, 72,107, 34,231, 25,142,102,228, 30,148, 49,204,
-138,146,201,176,100, 56,202, 88,236,132,220,191,189, 69, 21, 71,140,198, 37, 71,143, 45,128,245,156, 90,232, 80,216,154, 91,247,
- 55, 48, 7,207, 97,227, 62,239, 92,189,198,143, 94,126,149, 89, 86, 48,215,239, 18, 4, 98, 62,252,238, 79, 94,228,253, 27, 55,
-121,232,248, 17,118,139,114, 54,182,135,128, 34,137, 99,186,173, 22,199,142, 44,241,250, 91,151,249,119,223,248, 38, 91,219, 59,
-120,164,194,244,194,153, 83, 28, 61,120,136,249,193,128,162,204,113, 30,214,214, 55,216,216,218,226,222,242, 42,120,207, 52,203,
- 89, 93,223,100, 50,157, 49,158, 78, 73,211,132,126,183, 45,227,151, 64,210, 18,117, 93, 51,158,101, 24,173, 40,173,229,165, 55,
-222,228,202, 7,215,126,142, 99,174, 57,123,250, 20,173, 84,192, 77,253, 78, 27,101, 12,117,109,185,122,227, 22, 55,110,223,165,
-170, 74, 54,135, 99,174,223,190,195,115, 79, 61,193, 11,175,188, 70, 93, 59,142, 29, 57,204, 71, 46, 62, 65, 18,199,124,235,123,
- 63,196, 1,157,118,135,249, 65,143, 78,167, 3, 52, 72, 79, 95, 75,205,176, 21,150,182,173,189,204,231, 2, 67,158, 21,108,236,
- 12,169,202,146,202, 90, 6,189, 30, 73, 34,228, 48,241,104, 56,170,178,164,176, 21,117,237, 8,194,144,126, 87,106, 81,147, 52,
-161,221, 74,233,180,219,184,218,114,127,121, 21,231,197,152,248,233,231,159,227,239,124,236,163,124,252,185, 15, 17, 6, 1,181,
-151,114,160,229,181,117,102, 69,193,237,123,203,108,236,236,112,250,196, 49, 62,249,145, 15,115,234,216, 18,247, 87,214,153,101,
- 5, 73, 20,113,233,242, 21,148,130,249,249,121, 62,249,228, 35,152,170,224, 19, 31,122,156,111,168,136,119, 86,135, 28,159,251,
- 47,168,214,142,179,122,255, 5, 6, 11,154,125,238, 17, 54,142, 42,246, 71,246,255,227,234, 61,131, 44, 77,207,243,188,235,125,
-191,124, 98,135,233,233,158,156,118,119,102,243, 34, 46, 0, 9, 0, 1, 38, 65,164,105, 72, 36, 69,145, 46,154, 18,109, 75,116,
- 82, 73, 42,149,202,101,151,203, 42,201,233,143,237,146, 93, 22, 21, 44,202,180, 89, 50, 77,145,146, 72, 89,162, 37,146, 16, 40,
- 36, 18, 88, 44, 54,239,204,236,228,208,185,251,244, 9, 95,126,131,127, 60, 95, 15, 72,119,213,254, 65,245, 98,187, 79,159,243,
-189,239,115, 63,247,125,221,124,176, 53,230,189,111,254, 54,101,113,139, 43,159,252,243,252,232,159,251, 51,252,237,191,250, 3,
-240,125, 63,196,239,252, 47,127,141,182,158, 50, 94,123,137,149, 19, 31,102,245,196,171,216,197,130,252,240, 6,197,116, 6, 38,
- 32, 78,135, 24,103,248,158,191,241, 51,216, 7,125,204,169, 61,194, 75,142,205,215, 51, 14, 79, 12,249,222,151, 42,138, 73,192,
-205,175,192,189,249,155,100,219,207, 50,216,240, 92, 58,157,243,242, 89,205, 87,126, 79,179,252, 9,248, 76, 95,241,193, 65, 72,
-126, 15,234,109, 69,179, 5,109, 11,197, 67, 79,176,167, 24,127, 68,209,198,158,188,210,152, 80, 81,191, 14,222,130,178, 35,138,
- 7,235, 44,159,153, 50,159,202,107,226,145,225, 97,237, 66,132,155, 52,236, 61,254,128,249,254, 93,230,123, 59,156,254,158,239,
- 99,116,238, 26,145,214,172,156, 90,101,146, 79,168,119, 43,108,163,113,205,156,122,113, 64,185,216, 69,219, 29,194,179,240,248,
- 59, 15, 89, 52,219, 52, 7,123,140, 79,157,196, 56,193,126,135,253, 30, 89, 28,145,239,239,162,129,166,170, 17, 47,144,161,109,
- 91, 49,139,121,143, 69,154,217,162, 40, 34,238,252, 52,199, 19,176,114, 80, 86,165, 28,246, 97,136,181,178,226, 51, 70,136,157,
-117, 91,203, 90, 20, 5,218, 83, 22, 21, 77, 85, 17,119,113,223, 56,142, 9,181,228,193,157,247,180,221, 48,150,196, 82, 28,230,
-189, 23, 54,134,147, 33,195, 24, 67,218,147, 42,217,170,227, 71, 40,232,124, 1, 93,244, 76, 9, 86,252,216,176,157, 36, 49, 65,
- 16, 9,168,169,147,250,189,131,193, 80, 62, 51,249, 98,193,160, 63, 4,165, 59, 35, 96, 76, 18,201,239, 11, 16,133, 49,210, 57,
- 47,107,215, 0, 13, 90,158,153,206,122,210, 84, 62,203,241,147,245, 67,210, 69, 0,229,249,107,141, 35, 8,100,255,175,117, 32,
- 42,176,146,146, 28, 81, 74, 29,173,147, 52,154, 14, 35,241, 58,104,228,119,174, 91, 81, 72,240, 40,223,213, 28, 91,107, 40,196,
-192, 81,114, 0, 0, 32, 0, 73, 68, 65, 84, 10,217,221, 58, 20,189,238, 5,153,207,102,221, 35, 70, 19, 68,225,147, 27,139,245,
- 30,103, 4,143, 39,117,160,190,107, 41, 3, 90,249,224,203, 63, 93, 67, 79, 99,208,202, 51, 24, 14,209, 97,132,214, 30,111,193,
-121, 79,150,100, 36,169, 68,165,140, 49,204,102, 83, 28,144,244, 6, 34,227,134, 49,253,161, 56, 26,171,170, 64, 41,141,210,154,
-249,124, 38,251, 4,213, 16,103,210,152,165, 2, 41,169, 8,131,206,160, 54, 47,159,160, 51,179, 84, 26,134, 64, 16,125,129, 22,
- 7,121,209,181, 77, 89, 43, 37, 46, 32,251,239,229,229, 37, 2, 45,142,255,197,108,134,181,150, 52, 75, 40,230,185, 76, 78,202,
-129,129,201,228,136,241,120,136,214, 33,113, 20, 98,172,196,207,134,131, 1, 14,197,124, 62, 35,140, 98,162, 64, 98,100, 32,209,
-181,166, 44,177, 70,154,164,142,205, 24, 97,168,165,244, 94,107,148,119,204, 22, 11, 20,142, 56, 73,101,111,105, 12,190,161,219,
-103,131, 10, 20, 89,156, 33, 62, 73, 77,152,132,120,207,119, 87, 36,222,163, 98,217, 57, 89, 47, 81,143,217,108, 14,120, 1, 25,
- 0,105, 36,254,135,170,146,215, 65, 33, 18,144,119,134,166,169,100,149, 82,138,113, 74, 41, 69,152,200,107, 27,199,113,247, 1,
- 21,120,194,177,180,239,189,167,174, 43,201,135, 86, 53, 63,253,209,101, 48,160, 98, 13,135, 11,134,163,140,163,173, 9,132, 16,
-123,195,244,209, 1, 91, 22, 22, 73,192,162,109, 25,182,208,139, 35,182,242,146, 75,202,163, 71, 61, 10,227, 72,181,230, 48, 9,
- 57,127,121,149,235, 15,167,180, 94,146, 20,206,123,222,107, 91,158, 59,127,130,222, 78,203,108, 94,241,216,236,241,104,123, 23,
- 16, 53, 37, 12, 67, 86,151,150,249,173,127,243, 13,140, 49, 60,255,204,211,164, 81,204,165,243,231,120,248,120,139,165,225, 0,
-231, 28,103, 54, 54, 72,210,132,182,105,121,255,206, 93,142,163,140,222, 58,202,178,228,238,163,199, 92, 58,127,134,178, 42,187,
- 91,120,205,218,234, 42, 74, 41,202,186,101,115,123, 23, 99, 26,174, 94,185, 66,221, 54,148,149, 40, 32,222,251, 39,239, 73,231,
-165,235,160, 42, 43,182,103, 51,222,122,239, 58,111,223,248,128,214, 28, 31,232, 16,133,138,201,116, 66, 18, 93, 96,117,121,153,
- 40,142, 8,116,192,214,209, 17, 55,238,222, 99,158,231,164,105,202,167, 62,242, 33, 54, 78, 44,179,123,120,136,243, 96,172,128,
-101,234, 86, 64, 73,147,249,156, 55,175,223,224,228,234, 9,202,186, 18,136, 80, 28, 19,132, 1,166, 59,208, 77, 43,221, 13, 42,
- 8,152,204,231,220,121,244,152,219, 15, 31,162,149,124,142,171,186,101, 58,159, 75,222,126,216,103,177, 88, 80,148, 21,162, 14,
- 10,209,113,121, 41,147, 14,231, 48, 36,237, 76, 80, 85, 93,145,196, 82, 46,212,230, 5, 75,227, 17, 89,191,199,247,124,234,163,
- 24,107,112,214,161,240,108,237,238,177,185,179,203,119,222,121,143, 71, 59,187,224, 60, 27, 39, 78,112,254,244, 6,253,126,159,
-217,162,224,239,253, 95,255,136,229,209,144,213,213,101,222,187,113,139, 19,171,203, 36, 88,126,238, 79,254, 49,254,201,172,225,
-157,195, 93, 62,241,197,191,204, 95, 60, 11,255,240,181, 51,212,237,103,136,227,125, 30, 84, 48, 81,138,175,252, 66,194,221,215,
-190,193, 51,175,252, 4,113,111, 70,112,226, 89,222,120, 29,126,244, 55, 38,244,122, 67, 86,206,127,142, 72, 31,112,246,226,103,
-249,220,231,255, 8, 31,255,177,154, 95,248,235, 63,197,175,253,157,115,156,189,242,253, 28,213, 71,236, 62, 56,100,116,242, 5,
-212, 27,138,213,143,101,172,142, 63, 65,230,150,185, 60, 88,227,227,167, 11, 22,192,191,250,181, 3, 94,127,237,111,162,215,246,
-137,139,139,240,247, 71, 56,179, 68,255,212, 89,118,238,254, 54,246,239, 39,252,227,151,190,143,245,107, 79,243,217,255, 72,241,
- 34, 49, 87, 84,202,175,207, 53,155,255, 66,113,184, 11, 47,172,120, 22,143, 20, 46,131,217,212,163,198,138,182,240,184, 72, 17,
-170, 19, 44,110,188,194,169,243,138, 76, 61, 96,127,186,160,154, 23,248,126,159, 79,124,241, 57,198,111, 69, 60,186,254, 46,204,
- 83,214,178, 63, 78,245,158, 99,118, 98,159,216,230, 92,220,216,224,205, 71,111,209, 62,246,180,182,166,204, 15,176,139, 93,170,
-188,199,209,254, 93,122, 67,197,244,214, 54,113,223,227, 77,141,138, 82, 76,227, 48, 13,244, 47, 61, 77,250,240, 30,211,205, 71,
- 88,239, 8,148, 38,141, 19, 22,121, 78, 94, 44, 68, 97, 53, 78, 96, 84, 64, 24,198,164,105,140,247, 50,252, 89, 47,242,121, 89,
-148,212,212,244,210, 76,250, 34,196,150, 33,103,132,175, 37, 3,175, 35, 25,142,162,136,131,201,132, 44, 73,232,245,251, 98, 28,
-211, 90,192, 93, 64, 93,151, 68, 81,194,120, 60, 22,208, 76, 85,162,148,102, 56, 26,146,231, 11,234, 74, 26, 63, 7, 61, 57,148,
-143, 41,117,121, 94,210, 52, 21,109,183, 95,183,221,123, 85, 20,227,128, 40,150, 9, 91,146, 72, 61, 22,249, 66,146, 77, 81,194,
-162, 88,144, 36, 41,206, 90,233,107,143, 35,130, 40, 38,246,177,236,228,123, 41,199, 42,119,190,200,113,181, 35,203, 18,210, 84,
-146, 43,109,219, 32, 29,238,138,180,159, 18,162, 9,162,136,241,104, 76,219, 53,193, 1,210, 73,162,192,187, 6,144,134, 54,229,
- 21,202,120, 90, 20,117, 93,163,148,156, 35, 79,124,112, 90,163, 91, 69,163, 27,210, 56, 33,140, 66,113,115,167,189, 30,222,123,
-102, 71, 83, 80, 1,206,137, 64,238,148,195, 27,195,228,232, 72, 14, 11, 96,212, 31, 96, 90, 49,181, 5, 74,209,235,103, 40, 37,
- 77, 79, 74,129,115,142,249, 98, 78,191,223,167, 44, 75,122,189, 62, 69, 89,200, 30, 65, 9,211, 59, 8,100,242,180, 86,120,220,
-211,201, 20, 99, 29, 42,138,100,202,246, 17, 73,183, 67, 55,182,165,105,228,102,167,212,177,203, 29,134,163, 17, 77, 91,211, 52,
- 21,163,209,152, 50,207,233,117,208,141, 65,218, 99,190,152, 51, 24, 12,240, 74,120,213,101,158,163,130, 0, 29,199, 12,135, 99,
-240, 86,204, 75,198,112, 52,157,202, 67, 53, 73,152,205,166, 40,165,209,161,192, 15, 52, 33, 85, 81, 10, 88, 39, 0,237,161,168,
- 90,192, 51,159,231, 34,241,116, 47,112, 47, 77, 9, 34, 65,129,102,105, 79, 34, 15, 58,192,180, 34,111,155,166, 65, 43,245,196,
- 33, 28,198,178,159,153,205,230, 4, 81, 72, 47, 73, 41, 22,115,210, 94,134,242, 80,148, 21,222, 91,210, 52, 3, 37,100,176,168,
-187,193,210, 29,240,242,119, 59,194, 58, 79,160, 66,156,239,148,135, 64,138,109,194, 32,192,105,197,112, 56,144, 75,137,150,189,
- 77, 81, 20,146,129, 31, 8, 22,209, 59, 80,120, 92, 83, 17,165, 25,182,181,204,155, 25, 89,154, 17,106, 77, 89,213, 88,196, 32,
-167, 91, 97,212,199,161,152, 71,156,179,244,178, 30, 69, 89,210, 26,195,247, 94, 77, 89,239,201,161,230, 19,184,115,111, 7,237,
- 13, 85,209,240,252,198, 8,151, 23,168, 72, 49,176,158,126, 24, 82, 28,213,188,190, 61,165, 1, 74, 15,211, 56, 64,233,152,139,
-103,123,236, 62,156, 48,143, 34, 30,151,150, 44,137,152,148, 13, 55,238, 79,192,193,106,148,114,247,168,100,148,141, 48, 10,218,
- 34, 39,236,214, 27,222,123,214, 86,150,105, 90,195,203,207, 93,229,189, 15,238,112,235,222,125, 62,242,210,243,196, 58, 36, 73,
- 18,154,166,225,112, 58,227, 43,223,124,141,239,121,245,163, 60,251,212, 21,190,231,147, 31,231,234,229,139, 92,191,117,151,157,
-131, 3, 38, 71,115, 54,183,119,153,206,133,253,239,148, 22,197, 74,105,182,118,101, 90, 71, 57, 86,150,151,184,122,249, 2,107,
-107,171, 76,166,115,230,243,156,209,112, 64,146, 74,191,116,160,197,213,154,166, 41,167,179,148,245, 19,171,172,157, 56,193,191,
-252,221,175,114,252, 37,117,189,136, 1,198,125,247,162,121,225,204, 25,174,156, 63,203, 7,119,238, 83, 85, 21,191,255,250, 27,
-124,248,197,231,104,157,227,233,139, 23,184,116,241, 60,159,254,216,135, 49,198, 48,201,115,250, 89,198,217, 83, 27, 60,117,225,
- 2, 47, 62,253, 20,101, 46,128,162,192,218,238,242, 37, 88, 76,165, 20,182,182, 76,142, 38, 28, 28, 28,145, 87, 21, 87,206,157,
-101, 99,125,157,143,191,242, 2, 87,206,159, 35,203, 50,132,200, 21,146,166, 13, 71,179, 25,120, 71,218,173,210,172,181, 84, 85,
-197,111,125,245, 27,252,155,111,124,147,155,119,239,241, 7,123,225,211, 36,230,165,103,174, 96,172, 35, 63,146, 97, 97,182, 88,
- 48, 91, 44, 24, 13, 7,140,250, 18, 83, 43,129, 69, 94, 48, 57,154,226,172,227,204,198, 58,151,207,159,101,123,255,144,197,162,
-224,212,201, 53, 62,116,245, 41,214,134, 49,118,253, 20,215, 31,237,113,138, 31, 97, 41,131, 95,226,144, 7, 55, 87,136,117,200,
-222,214, 61,118, 31,255, 75,212,239, 90, 92,208, 50,219,186, 69,128, 35, 27, 39,132, 91, 83,226,100, 76,211,204, 56,216,220,231,
-218,103,255, 83, 70, 97, 69,126, 84,242,198,155,135, 60,188,183,138, 14, 60,233,240,101,182,239,126,139,229,245,167, 56,127,237,
-223,225,234,243, 63,192,230,157,111,178,163,191,193,112,112,138,253, 15, 12,215,171,130,191,255, 63, 94,231,222,219,191,200,226,
-240, 13,134,163, 85,242, 34,167,215, 75,137, 82, 33, 78,154,119, 10, 92,171,177,190,101,247,225, 47,114,233,254, 15,176,245,206,
-207,240,194,231, 62,194,103, 62,167,208,206,179, 61, 83,220,121,243,109, 78,252,153, 23,184,252, 74,129,219,239,177,255, 14,236,
- 28, 42,172,170,200,231, 33, 83,167,152,108, 77,152, 95,159,177,124,165,230,218,185, 13,174,215,134,235,239,222,192,183,150,171,
-207, 93,226,212,249, 85,246,110, 42, 86,214, 95, 34,159,222,166,186, 53, 99,177, 92,113,114, 20,178,177, 58,230,254,189, 67,188,
- 5,111,114,240, 53,110,150, 50,221, 59,224,227,159,252, 16,247,110,123, 50, 45,141,106, 1,150,214, 11,187,188,105, 67,206,124,
-242,211, 52,255,252, 55,240,177,193, 89, 79, 89, 55,244,135, 3,176,130, 82, 77, 51,153, 88,189,181,228, 69, 65,110,100,141, 26,
-234, 4,111,133,216,214,207,122,128,163,172, 27,172, 51,114, 88,107, 24,244,135,120, 44,197,162,194,169,174,151,163, 42,241, 70,
- 12, 96,101, 85, 19, 71, 17,227,229, 37,156,113, 68,105, 44, 64, 46, 35, 16,172,214, 26,250,131, 1,206,203, 97, 28,133, 17,117,
-221, 60, 49,189,133, 97, 36,131, 84, 83,147, 38, 9, 85, 93,226,189,248,105,218,186, 34, 73, 99,226, 48, 4, 39, 62,161, 40,137,
-136, 98,241, 57,101, 89,198,108, 54,199,133, 82, 30, 54, 91, 44,192, 41, 84,160,169, 90,131, 54,158, 56, 14,176, 22, 22,243, 41,
-222,122, 70,195, 33, 89, 42,151, 30,239, 5,164, 19, 4,242, 25, 46, 59,117, 54,159,119, 43,133, 52,165,151,166, 68, 81,210,249,
-147, 68,233,118, 14,188,119,204,243,156,225, 96, 0, 14, 60,150, 64, 71,228,197,156, 48,136,200,122, 25, 10,133,243,134,162,168,
- 72,123, 25,120,121,166,135,199, 59,225,249,124, 46, 15, 96, 0,103, 24,142, 70,180,198, 62,121, 64,226,193,122,217,125, 28,118,
-109, 80,120,209,251,199,163, 49, 90, 59,145, 14, 60,210,145, 30, 72,215,122, 16, 72,188,224,152, 54, 22,105,113,203,135, 90, 99,
-218,150,217,108,134,119, 86,246,205,189, 30,161, 82,148, 85,137, 71,118,235,222, 11,126, 47, 77, 82,140,151,168,153, 87,138,193,
- 80,138, 87,240,114, 67, 51,173, 72,249, 90, 11,213, 74,105,217, 79,162,160, 40,115,180,134, 48, 8,113, 14,185, 40, 24, 41, 89,
-209,161,102, 62, 47,186, 67, 48, 36,138, 2, 2, 21,203,234, 65,105,136, 19,188,119,164, 62,197,180,146, 23, 28, 12,134,196,169,
-116,235,226, 60,160, 37,255,235, 45,101,221,160, 91,141,177, 45, 40,232,247,134,180, 70, 74, 13,218,170, 34,212, 33,105, 63,195,
- 35, 4, 35,103, 92, 23, 29, 9,133, 99,239, 60, 89,175,143, 49,194, 84,206,250, 61,154,178, 38,140, 2, 22, 51, 49,149,180,199,
- 30,132,182,101, 48, 26, 49,159, 77,241, 58,192, 52, 21,173, 23,196,237,210, 96,137,162, 42,152,119, 77, 88,129, 10,104, 76,131,
-228, 55,229, 1,239,241, 40,171, 58, 23,123, 12,117, 77,109, 12,253,126,159,249, 98, 33,232,198, 80, 46, 94,105, 58,160, 23, 4,
-242,254, 80,199,121,121,161, 43,181, 13, 29,229,200,200, 84,143,227, 39, 94, 22,118, 61, 9,168,237,130,111,189,185,201,234, 40,
- 33, 11, 20, 58,207, 57,172, 28,117,181,224,228,234, 0,156,165,202, 91, 84,168,176, 30, 86,179,128,184,159,145, 6,176,121,119,
-159,178,110,185,104, 71,108, 79, 11,114,235,201,116, 40,156,120, 5, 77,107, 73,138,134,239, 20, 5, 39,226, 28,178, 17,227,209,
- 80, 14,142,249,140,157,253, 3, 86,150,150,216, 61,152,112,112, 56, 33, 77, 99, 54,183,119,121,230,242, 69,178, 36,161,106, 26,
-130, 32,224,147, 31,126,133, 23,159,189, 74, 28,132,108,156, 88,225,206,253,135,220,121,248, 0,231, 96,117,121,204,211, 87, 46,
-178,126, 98,153, 32, 8,196,157,219, 52,236,237, 31,176,127,112, 32, 31,164, 48,228,233, 75, 23, 56,117,114,141,209,112, 64, 47,
- 73, 49, 39, 86,209, 8,194,248,189, 7, 15, 57,177,180, 36,151, 62,173,104,218,230,137, 73,108,105, 52,146,131, 18,193,107,174,
- 46,141, 89, 93, 94,102, 52, 24,136,185,174,105,152,206,231, 60,122,188, 37,254, 11, 5,103, 54,214,137,163,136,229, 94, 74, 47,
-142,185,121,235, 46, 79, 93, 56,135, 86,154,239,188,251, 30,101, 37,205,105, 55,238,221,163,223, 79,185,116,238, 28, 58, 16,146,
-162,168, 57,138, 48,140,137, 34,185,240,158, 92, 61, 65,150,222,163,159,166,220,121,240,136,121,158,115,233,236,105, 94,188,118,
-149, 94, 26, 83, 53, 70, 38,125,173,208, 90,250,210,195, 78,157, 42,107,136,195,144, 87, 95,126,145, 94, 18,115,230,244, 41,190,
-250,205,215,200, 11,185, 4,129,230,197,107, 87, 41,202, 10,173, 52,243, 60,231,183,191,250,117,254,245, 55,190,197,246,238, 46,
-117, 35, 83, 74, 28,135,244,122, 61,150,150, 70, 24, 43,151,248, 31,252,236, 31,225, 95,124,233,171, 60,115,241, 60,243, 60, 39,
-193,243,226,149, 11,252,230,214, 4,107, 35,124,180,206,209,183,225,245, 47, 39, 28, 29,126,131,186,125,192,116,243, 93,140,158,
- 96, 26,131,109,107,202,249,125,118,239,126,141,103, 95,253, 17, 84, 82, 66, 24, 97,138, 57, 77,181,160,250,214,255, 46,156,133,
-112, 76,191,191,142,179,215,112, 65,204,231,127,248, 23,217,222,254, 21, 6, 39, 71, 92, 58,255, 83,124,250,167, 21,223,254,245,
- 19,188,246,155,127, 19, 14,193,228, 37,179,195, 59,228,139, 41,144, 18, 70, 61,230,179, 41, 56,195,220,182, 4, 69,133, 55,226,
-252,118, 78, 50,201,197,180,229,253,163,127,202,248,196, 55,184,254,149, 51,252,234,127, 55, 32, 12,199, 56,159, 83,230,143, 56,
-250,169,159,225, 83, 95,252,105,254,236, 79, 84,152,143,102,212, 95,131,195,226,144, 96,227, 17, 90, 29, 49,123,111,143,157,251,
-223,225,193, 59,219, 28,124,228, 2, 87, 63,245, 18,170, 45,185,243,232, 17,173,247,156, 91, 26, 50, 62,223, 48, 59,124,132,105,
- 61,249, 60,167, 50, 7, 52, 71,142,229,193,128,251,227,199, 48,201,208,170,123,222,198, 17, 71,243, 28,180,230,249, 15, 61,143,
-137,196,148,101, 10,131,200,126, 1,101, 9,193,104,200,234,181,231,216,123,247, 45, 22,139, 5, 0,149,119, 12, 6, 3,154,170,
- 33,246, 33, 58, 12,105,172, 20,240, 4, 65, 32,133, 41,109,131,246, 10,148, 72,227, 97, 16,147,101, 82, 13, 93, 85, 18, 49, 5,
-240, 94,145,100, 49,206, 41,192,131, 19, 92,118,221, 72,243,166, 67,204,186, 97, 20, 82, 85,149,172, 21, 3, 77,104,132,158,217,
- 84, 21, 85, 93, 99,189,101,121,184, 68,214,235, 9,147,161,145,172,189, 53, 93,219, 40,142,193, 96,196, 98, 54,235, 84, 81,197,
- 98,158, 19, 45, 69,194,149,215, 10,219, 90,106, 85, 96, 29, 79, 82, 33, 81, 20, 81,149, 37, 88,143,199,161,172,167,110,229,103,
-175, 42, 25, 30,156,147, 60,250, 60,159,147, 37,242,236, 11,117,216, 41,174,186,139,171,137,209,216,122, 71, 91,212, 18, 27,111,
- 42,194, 32,166,151,117,175, 91,253,221, 6, 76,173, 84,183,214,141, 81,200,128,148, 36, 25, 85, 83, 19, 84, 21,113,154,209, 52,
-150, 40, 12,187,182, 82,233, 53, 9,171, 90,178,165, 32,149,148, 14, 40, 43,105, 91,210, 74,178,229, 58,234,152,232,165, 33, 74,
- 98,188, 5,237, 29,121, 81,128,129,253,253,125,113,223,105,205,104, 52, 38,234,178,140, 97,231, 46, 86,240,221,203, 1,194, 13,
-159, 77,167, 79,178,226, 65, 28,145,232,128, 16,168, 90, 35,160, 16, 28, 30,223, 25,223, 2,134,195, 33,166,144,238,101,217, 5,
-183,232,208, 49, 26, 15, 17, 44, 97,139,246,158,233,116,202,120, 52,194, 41, 1,228, 47,138,156, 48, 12, 73, 2,153,150,140,107,
-200, 23,237, 19,167,121, 47,203, 24, 15,229,161,170,117, 32, 19,141,130, 56,203, 8,117, 32, 96,130, 88, 99,172,144,130,134,195,
-126, 39,165,122,138,162,236,118, 53, 1,195, 76, 76, 26,248,174, 76,192, 6,228,101,133,214,190,139,114, 36, 93,238,191,161,236,
-100,127, 99,165,174, 20,160,232, 58,130, 23,139, 57,253,254,128,178, 44, 1, 41,216,145,166, 58, 1, 59,104,173, 65,137,206, 30,
- 5, 17, 10, 24, 12, 71,184,182,193,212,210,164, 54, 24,246, 65,195, 96, 48,192, 26,219,177,137, 29, 65, 24,176,152, 47, 80, 74,
- 49,236, 15, 64, 75,132, 81,163,168,170, 26,165,165,133,109, 62,159,161,149, 98, 48, 30,227,172, 65,218,128, 22, 56, 47, 52, 35,
-165, 20,129, 14, 48,129,236,250, 21,158, 48, 12, 8, 58,249,236,169,147, 9,103,199, 1, 62,246,224, 52,191,245,187,215,137,181,
-163,215, 24, 84,172,201, 91, 79,164, 21,203, 43,125,194, 44, 97,247, 32,103,175,168,137,179,140,181,165, 30,179,105, 73, 98, 65,
- 7, 80, 98,169,112,132,182,165,137, 99, 78, 37,154,133,245, 28,196, 1,163,220, 80, 97,169,172,231,103, 63,119,133,215,231,240,
-126,173,121,234,226, 69, 0,154,214,112,239,225, 38,167,214,215, 57,127,106,157,247, 63,184,213,145,158,132, 38,184,178,188,196,
-112, 48,196, 76,167,114,160,100, 41,189, 94,143, 69, 89,113,229,194, 89, 14, 38,215,184,191,185, 37,232,224,166,237,128, 68, 17,
-195,129, 80,195,210, 36,101,107,111, 31,231, 97, 94,148, 76,102, 11, 30,108,109, 51,156,246, 57,189,113,146, 32, 12, 40,171,154,
- 71,155,219,178,166,170,196,189,189,185,187,203,214,222, 62, 71,147, 41,187,135,135, 79, 14,116,224, 9,120,165,105, 26, 22,121,
-193,160,151,226, 3, 49,185,205,115,105,138,178,214,242, 96,115,147,211,167,214, 73,162,132,253,122, 74, 94,150, 12,251,125,234,
-166,230,252,233, 83,188,246,230,187, 84,101,197,242,112,200,222,193,132,241,112, 72,154,196, 36,174, 3,105, 32,107,129,163,233,
-140,173,157, 61,126,231,235,191,207,131,199, 2,205,121,249,185,171, 92, 58,123,134,115,167, 79, 49,207,115,142,233,146,130,234,
-148, 88,107, 28, 73,197,101,219,200, 94,126, 82, 76,248,123,255,247,175,113,243,131, 59, 44,254,192, 3, 27,164, 17, 43, 47, 74,
-130, 64, 61,161, 73, 14,135, 67,174, 94,185, 72, 85, 87, 28, 28, 78,104, 90,195,234,242, 42,175,190,252, 34,103,214,215, 9,130,
-128,170,109,232,101, 61, 62,246,202,243,188,254,246,123, 44,143,199,156,233, 71,236, 39, 3,222, 62,170,176, 83, 56,124,244, 53,
-222,254, 90, 69, 81,236, 48, 61, 56, 96,253,202,171, 20, 71, 71,180,213, 29, 26,151,210,148, 51,166, 91,239, 48, 88,251, 36,229,
- 98, 78, 61,249, 54, 74,245,112,222, 83,206,118,217,158,220,224,204, 51, 31, 38, 28, 94,162,170,142, 48,174,162,154,239,177,178,
-250, 2,103,127,232, 69,130,173, 17,135,179,155,188,249,255, 60,195,187,111,191,207,193, 27,183, 56,154, 30, 18, 41, 47,197, 73,
-182, 37, 8,196,192, 20,132, 1,253,225, 18, 58, 8, 37, 70,213, 4,114, 88, 24, 35,223,151, 68, 88, 83,179,255,232, 30, 97,186,
-139,210,138, 40,238,211, 54, 57,206, 25,222,255,234,127,195,163, 27,255,136,199,247,255, 22, 63,247,159,173,208,255, 99,142,131,
- 95, 57, 67,249,193, 22,225,232,144, 96,240, 30,213,236, 38,139,195,125, 30,189, 22, 16,182,151,184,242, 61, 47,224,238, 95,103,
-111,145, 99,173,229,226,210,136,157,237,119, 48,238,105,138,197, 2,171, 74,108, 81,147,249,132,208,213,132,233, 16,223, 38,224,
- 79, 48, 58,191,198,209,116,202,157,251,143,120,233,165,107,156, 56,127, 30, 76,203,246,163, 45,116,101,169,156,130,221,144, 66,
- 55,244, 47, 94, 99,243,157, 55, 8,130,142,242,217,235, 81, 20,133, 12, 34,222, 83, 55,210,136,230, 90,139,193, 49,234,247,137,
-146,132,182,109,177,206, 18, 41,241,230,180,166,197, 89,241, 81, 69, 90, 19,119,103, 68, 89,150, 79,158,101, 85, 94, 80, 85, 98,
- 54,110, 26, 71, 24, 58,230, 93,241,146,242,138, 52, 77, 80, 74, 19, 5, 49,121, 81, 98,109, 75,191,215,199, 42, 11,129,116,161,
-135,177,144, 52,171, 69,217, 93, 52, 34,242,197,156,162, 40, 25, 47, 45,211,180, 13,101,158, 3, 98, 72,139,162,152, 65, 24, 51,
- 95, 44,104,141,235,218,219, 20,222, 43,105, 85,211, 33, 89, 38,208,181, 99,179, 50,208, 77,209,162, 70,180,206,208, 84, 21,139,
-118,193,112, 56,196, 33, 19,119, 26, 39,148, 85,142,115,162, 82,235, 48, 32,201, 50, 84, 43,137, 24, 99, 12,243,197, 66,124,232,
-222, 19,167, 41,222, 88,210, 36,198, 58,199, 98,190, 64,114,235,224,157, 37,141, 69, 13, 46, 75,249,249,179,180, 7,222, 83, 27,
-169,125, 13,206, 95,186,252,215,226, 56,166,151,246, 58,103,120,136,119, 14, 21, 4,164, 73, 66,156, 36, 79,246,184,182,187,137,
-213,117, 77,107, 26,232, 94, 96,227, 61,174,105,176,120,170,178,162,234,130,251,199,255, 84, 85, 69, 83,149, 84,117, 67, 85,150,
-148, 69,142,113, 86,226, 17, 89,138, 83, 96,234, 70,222, 0,198,118,136, 87,129,223,247,211, 12,227,189,180,170,101, 25, 73, 42,
-109,111,105, 42, 8, 67,229,229, 98,144,116, 38,132,186,203,136, 59,227,192, 11, 20, 37, 77, 82,234,166,150,233,223,203, 4,111,
-141,161,159,245, 57, 46, 46,232,245,123, 36, 81, 68,191,215,163,200, 75,154, 70,246, 60, 65, 20, 48, 91,228,224, 28,105,150,113,
-220, 62, 86, 84,242,130, 26, 35, 88,191,227,120,148,105,164, 8, 39, 10, 35,156, 23, 71,122, 20,134, 52, 77, 11, 74, 46, 62, 73,
-146, 62,121,184, 89, 35, 93,196,214, 26,146, 68,184, 0,199,208,155, 48,148,120,153,105,101, 15, 25, 4,226, 41,136,162, 24,103,
- 28,141,109,112, 86,144,176, 81, 20, 17,197, 49,166,105,196,245,174,180, 48,135,195, 64,232,119, 85, 69, 93,137, 49, 36,203, 50,
-156,151,181, 7, 94,227, 76, 67,191,151, 17,199, 9, 69,158,139, 18,210, 31,208, 90, 49, 67, 69, 81,132,214, 98, 38, 83, 90,246,
-195,105, 42, 4, 37,227, 44,117, 89, 98,173,236,214,173,181,252,204, 39,251, 60,119, 34,128, 89,203,111,255,179, 55, 65,105, 70,
-253, 8, 95, 52,180, 58,160,172, 44, 89, 34,145,168,123, 7, 5,139,142,242, 4,138,222, 60,199, 56, 69, 54, 72, 88, 26, 68,236,
-238, 45,136,181, 96, 22, 7,120,242,188,161,104, 28,213,162, 98,222, 90, 62,113,225, 4,203,235, 3, 62,216,202,153,215, 21, 19,
-191,198,227,189, 93,222,189,121, 11, 99, 44,195, 65,159,103,159,186, 66,211,212, 76, 23, 5,171,203, 99, 94,126,254, 89,214,215,
- 86,121,253,237,119,249,218,107,175, 99,173,101,109,121,137, 44, 77,233,101,146, 78,216,220,217,103,247,224,160,251,176,180,108,
-156, 60,193,250,202, 10,151,207,157, 37,138, 99,250,221,101,174,168,106,102,243, 5,211,249,172,163,102, 41,206,156,218,144,215,
- 51,148,201, 98,255,112,194,141,219,146, 51,111,141,225,236,169,117,206,159, 57,205,139,207, 60,197,195,205,109,246, 14, 39, 79,
- 30, 18, 90,193,120, 56,224,249,171, 79, 49, 30, 14,112,116, 83,128,119,220,121,240,152,189,195, 3,180, 86,156,219, 56,197,249,
-179,167, 89, 95, 89,226,236,233, 13, 78, 44, 47, 83,148, 57,189,180,199,228,104,202,245, 59,119, 56,152, 28, 17, 70, 17,175,190,
-242,162,228,240, 19, 97, 37,104, 64, 12, 75,142, 32, 80, 4, 97,200,202,120,200,206,238, 1,121, 89, 98,172, 99,208, 19,131, 93,
-214, 77, 94,199,158,147,214, 88, 90, 99,208,154,238,179, 38, 32,167,214, 24,246, 15, 14,185,253,232, 17, 85, 85, 63, 57,208, 47,
-159, 63,203,149, 11, 23,232,247, 82,178, 44, 67,233,128, 91,119,239,243,230,123,215,121,239,230,109,142,230,139, 39,223,223, 90,
-195,234,242, 50, 87,206,159, 99,216, 23,196,168, 49,162, 16, 28, 59,141,215, 51,197,107,109, 76,142, 99,190,151,179,115,251, 3,
-170, 98,143, 83,159,252, 83,252,202, 47,124,129,191,240,197,103,248, 78,240,227, 92,255,250,175, 48,219,121,141,124, 54,225,197,
-239,255,207,249, 31,190,241, 63,241,133,159,253, 49,190,242,203, 31,240,248,230,175,227,155, 35, 22, 7, 55,184,244,252, 79,211,
- 31,159,160,156, 61,162,174,102, 76,247,110,179,125,247,107, 16,151,164, 43,154,163, 15,230,108,222,125,135,111,254,206,223,229,
-230,107, 63, 79, 93, 76,136,211, 62, 62,177, 68, 58, 36, 77, 50, 2, 52, 86,137,177, 86,171, 8,239, 28,182,117, 56, 44,222, 88,
-180,130, 48,136, 9,131, 8, 84, 32, 64, 33, 99,240,182,193,212, 5,214, 74, 18,164, 46,115,142,246,111, 81,205,238,146, 46,125,
-145, 23,158,211,220,120, 39,226,206,187,239,114, 52,187,193,254,141,119, 41, 15,197,119, 20,244,207,112,238,252,159, 38,227, 10,
- 27, 87,114, 14, 15,143, 88,148, 37,147,124, 78,225,182,201, 31, 55, 84,249, 17, 20, 57, 62,170,228, 0, 41, 74,194, 19,125,124,
-153, 16,143,214, 24,246,215,136,198,150,189,189,125,206,173,175, 97,146, 51,120,165,104,138, 67,249,155,168, 8,223,243, 88, 52,
- 58,138,232,101, 33,205,254, 62,141, 49,221,228, 28,208, 58,241,156,212,149, 68,109,109, 55,193,151, 85, 37, 44,145,178, 38, 47,
-114, 76,107,200,250, 25, 81, 20,139, 98, 24,106,194, 56,162, 40,229,162,123,124, 89,213, 65, 64,210,121,118,162, 72,232,110, 89,
-146, 49, 28,138, 41,217,122,143, 53, 50,224,228,121, 73,214, 75,137,162, 24, 21,120, 76,219, 61,219,189,195, 91, 8,148,252,127,
- 25,231,105,219,154,193, 64, 98,204, 32, 14,245, 36,145,178, 42, 73,128,120, 60, 82, 52,118,108,148,174, 75,137, 20,155, 86, 80,
-202,101, 93, 61, 97,144, 56,231,232,150,124,120,173,137,147,176,147,218, 21,198, 88, 90,219,146,166,178, 66, 69, 9,251,222, 57,
-136, 98, 57, 11, 90,107,136,194,152, 36,142, 72,211, 46,153, 20,137,153, 22, 39, 20, 62,235, 28,182, 51,164,166,169,156, 7, 97,
- 20,225,177, 84, 69,133,239,148, 93,239, 5,235,173,148,196,230,194, 40,142, 49,173, 37,111, 10,194, 84, 38, 63,165,101,103, 88,
-148, 37, 73, 42,192, 20,239, 61,198,202, 47, 57,232, 15,240, 56,230,243, 5,198,123,108,219, 18,120,158,228,168,181, 10, 8, 66,
-193,136,250,182,197, 1,214,131,115,134,227, 56, 68,154,101, 68,129,152,213,198,163, 17, 42, 73,112, 70, 12, 98,121, 81, 48, 28,
- 12, 8,117,136, 10, 35, 84, 43,113, 9,211, 29, 50, 56,240, 74,236, 58,198,123,185, 13, 43, 5, 78,110, 88,182,109, 73,226,132,
-188, 46,232,101, 61,170,186, 66,163, 81,129, 2, 39, 57,112,165, 21, 69, 83,208, 11,123,132,113,204,124, 62, 35,205, 18,180,142,
- 73,251, 61,138,197,140, 69,190, 0, 47, 84, 36,215, 73,206,109, 83,209, 58, 24, 15,135, 79,110,108,109,107,152, 78,167,178, 87,
-215, 1, 65, 16, 82, 52, 45,105,154, 18, 7, 65, 87,122, 33,196,175, 40,146,219,151, 67, 12, 36, 98,174, 11,233,197, 33,200,221,
-142, 56, 12, 5, 77,136, 35,205, 82,180,215, 82,100,208,189,174,214,202, 94, 93,133, 10,229, 53, 54, 55, 20, 69, 33, 21,167, 65,
-192,160, 63,192,121, 79,211,136, 2,163,181,166,110, 91, 6,131, 1, 65, 16, 16,199, 93,146, 65, 41, 26,211,130, 23, 89,125,177,
-200,233,101, 25, 85,231,164, 87, 94,209, 26,139, 14,196, 15, 80, 20, 5, 65, 32,222,137,227, 62,225, 40,138, 72,123, 61,180,146,
-255, 78, 63, 40,249,225,231,123,120, 3,223,121,253, 54, 77,217,240,176,180, 92, 25,103, 12,174,108, 16,134, 33, 43,242,190,101,
-239,241, 1,211,188,165, 55, 16, 94,244,160,174,152, 70, 1, 35,103,184,243, 96,143, 75,231,215, 24,102, 9,173,243, 60,119,225,
- 4, 62, 14,121,231,198, 22,222, 59, 98, 15,103,135, 41,147,163, 25,245,102, 77,218, 79,208,253,152,179,235, 3,146, 81,159, 43,
-151, 46,240,206,251, 55,165, 76,199, 91,158,185,114,153, 47,125,253,155,124,253,181,215,153,205, 23,252,187,127,242, 71, 8,163,
-144, 40, 8,121,254,234, 83,124,248,133,231, 56,179,177,142,210, 34, 71,159, 63,179,193, 59, 55,111,162,129,231,174, 92, 38, 8,
- 66, 6, 93,218,193, 58,207,225,116,198,187, 55, 63,224,219,111,190,205,253,173, 29, 34, 29,112,233,218,121,206,109,156, 34,212,
- 26, 97,172, 59,170,186, 17,195, 79, 79,226,147,117,211,202,100, 83,215,124,233, 43, 95,231,205,247,111,240, 7,191, 70,195, 17,
- 27,235,107, 20,121, 69, 81, 86,242,158, 9, 2,238,111,110,113,127,243, 49,101, 85,163, 81,204,230, 11,172, 49, 98,164,113,150,
-225,176, 71,154,164,180,166,229,214,195,135, 28,167, 65,118,246, 14, 56,156,206, 57,127,250,180,224,134,129,214,121,140,145, 24,
-101, 85, 55,108,239,238,114,239,209, 38,187,135,178, 86, 91, 26, 14,168,154,234, 73,113, 74,221,212, 40, 20,129, 86, 79, 46,197,
-117, 45, 60,172,178,146,203,242,193,225,132,111,190,249, 14,243,121,254,135,126,159,135,155, 91, 60,125,241, 2,147,217,156,193,
-193,132,105,103,224,219,221, 63,192, 56,129, 24, 73, 14, 23,174, 94,188,200,171,175,188, 72, 20, 71, 24,231,112, 94,128, 73, 85,
-221, 8,221,176,169,168, 8,184, 91, 22,244,207, 62, 15,239, 30, 80,230,111,176,122,250, 42, 31,190,118,145, 67, 74, 26,239, 89,
- 89,137,248,216,247,253,247,220,124,243, 31,178,182,190,202,247,254,216, 95,100,217, 27, 28, 57, 31,255,194,127,193,100,239,117,
-166, 59,239,242,244, 71,255, 28, 63,250, 23,254,107, 30,221,134,111,253,203,191,206,246,187,191, 74, 91,239,177,116,242,147,164,
-189,148,205,119,190, 77,253,208, 50,221,185, 65,147,111,129, 85, 88, 60, 26, 75,224, 18,226, 0, 90, 39, 6, 72,144,135,188,107,
- 42,194, 44,237, 84, 59, 13,218, 99,116,141,175, 74, 76, 37,132, 66,165, 21, 97,220,195, 19,162,148, 69,249, 0, 29,136,177, 83,
- 27,184,251,198,191,226, 23,255,171,159,228,159,255,157,207,162, 19, 77, 53,187, 9,213, 22, 59,251, 59,164,107, 49,131,254, 69,
- 54, 46,124, 47, 31,249,208, 85,158,126,206,241,157,247,254, 40,107,203, 59,220,189, 87, 96, 49, 4,190,196,154,247,153, 77, 10,
-210,108, 70,207,196,212,170,102,243,246, 99,174,126,254, 44,126,170, 80,234, 4, 97,118,142,231, 94, 57,199,239,127,229,203,188,
-123,231, 62,103,244, 10,108,173, 48,186,168,209,174,193,171,132,214, 6,168,125, 77,179,225,232,159,127,138,228,246, 45,138,188,
-192, 58, 3, 42,198,183, 18,117,246, 86,234,154,171,170, 34, 95, 44,232, 15,135, 4, 40,156,183,184,133, 60,135,102,211, 25,105,
-218, 99,208, 23, 3,155,105, 91,180, 82,148,121,142,245,158, 56,136,176,174, 37, 64,114,226,109,219,118,145,173,238, 25, 86, 74,
-231,185, 34,166,200, 11,130, 72,100,231,227,181,107, 18,119,157, 34, 81,132,239,100,127, 21, 4, 4,206, 63,129,179,212,141,184,
-212,157,115,164,113,138,183,142, 72, 7, 44, 10, 89, 43, 40,173, 89, 90, 26, 97,173, 18, 64, 86, 18, 83,218, 86,134,220, 40,196,
- 57,143,178, 14,143,144, 29,189,242, 68, 90, 99,180,198,181, 45,113, 44, 42, 66,211, 52, 20, 85, 73,150,196,228,185,172,161,134,
-131, 97,247,187, 68, 24, 83,163,131,174,229,210, 41,188,179,232, 32,194,105, 97,228, 43, 45, 36,185,172,215, 39,176,210,134, 42,
-248, 91,105,255, 20, 16, 78,138,105, 26,202,186,198,121,137,201,133, 97, 72,216,182, 45,113, 20,209, 42,217,101,232, 72, 36,232,
-208,134,180,173,236,176, 37,183, 12, 81, 16,211, 26,153, 36,181,214,244, 6,125, 2, 96,230, 61,166,110, 4, 22,211, 97,253,196,
- 60, 38, 31,108,239,229, 54, 97,173,197, 57, 75,221, 24,194, 0, 22,139, 5,201, 49,221,202, 88, 4,144,223, 33, 77,131, 0, 21,
- 6,224, 44, 82, 74,191, 16,211,155,214, 68, 73,136,181, 78, 28,242,129,194, 26, 65, 22, 22,121,142, 53,226,108, 68, 67,160, 66,
-145,194,157,163, 49, 13,253,176, 71, 24, 10,173, 77, 76,109,210,167,222,154, 22,107, 13,206, 68, 88, 45, 57, 89, 61, 28,117,210,
-145,195, 55, 21, 73,156, 1,142,162,168, 16, 44,166,133, 80,128, 59, 58, 14,160,213, 66, 88, 10, 53,104, 69,128, 24,231,208, 1,
-253,190, 60, 36,243,121,142,210,242,191,151, 69, 69, 20, 5, 56,235, 33, 22,230,186, 14, 98, 66, 93,209, 90, 81, 70, 92, 39,249,
- 43,173, 72,162,132, 54,240,228,139, 90,246,162, 14, 66, 29,136, 92,223,235, 51, 91,204, 24, 13,134,228,197, 2, 29, 74, 5,166,
-199,177,200, 23,164, 73,202, 96,208,167,169, 91,156,175, 8,227, 37, 60,226, 10, 13,181, 38,136, 18,140,105, 72,211,238, 38,172,
- 60, 71,221, 37,101,212, 33, 80,149,151,254,244,227,135,186, 49, 98,244,171,155, 26,221, 72,206,187,110,106,126,228,165, 24,173,
- 20, 71,215, 55,121,240,232,136, 74, 69, 88, 99,169,210,148,226,241,148,197,162,126, 34,205,158,185,176,194,198,138,195,134, 1,
-243,194,226, 12, 36,145,146,181,143, 15,176, 90,177,118,122,196, 8,197,242, 90,159,111,188,189,201,236, 96, 70,144, 36, 68,253,
-144,105,217, 48,142, 99, 8, 35,206,156, 25, 51,181, 61,220,112,196,226,254, 67,166, 71, 98,124, 68, 11, 22,245,240,104,198,149,
-139,231,120,235,230, 7,180,198,176,181,119,192,168, 63,224,233,203, 23,201,139,146,126, 47,163,105, 13,101,119,145,125,231,198,
- 45,110,223,127,200,228,104,202,189,205,109,126,242, 71,190,192,229,179,167, 41,170,130,166,117, 76,142,166,172,175,173,113,237,
-233,203, 56, 15, 59,251, 7,108,110,109, 49, 26, 12, 88, 93, 93,166,172,106,106, 85,115,112, 56, 17, 20,237,162, 96,101,121,204,
-211,231,207, 10,248, 34, 78,248,240, 75, 47, 80, 84, 21,215,111,223,227,248,235,104, 54, 99,119,239, 0,123,229, 41, 28, 80, 55,
- 45, 42, 81,100,105,198,137,165, 37,118,246, 14,228,130,237, 60,143,183,182,233,247,123, 12,189,168, 2, 89,146,112,239,209, 38,
-183,238,222,103,239, 96,130,214,154,147,171, 43, 12,178,132,126, 63, 67, 35,165, 77, 30, 89, 77, 88,107,201,203,146,182,181,236,
- 28, 28, 0, 14,165, 69,154, 63,125,242, 36,227, 97,159,178,170, 57,154, 30,241,173,183,222, 99,231,224, 16,111, 90, 94,121,254,
- 57, 94,188,246, 52,163,209,136,198, 88,166, 71, 71,188,117,253,102,119,184,253,225,175,126,191, 47,204, 4, 99,120,239,214, 45,
- 46,156, 57,195,209,116,198,163,205,109,118, 15, 15,255,208,247, 38, 89, 66,127,208, 39, 10,165,112,201, 59, 97, 34, 52, 70, 90,
-223,134, 81, 64,144,245,105,107,232, 77, 95,224,143,254,145, 87, 24, 13,223,194,198,223, 98,251, 46,252,173,255, 54,195, 70,138,
-131,217, 67,246, 55, 95,103,253,153, 79,209, 31,213,188,243,205,155, 76,182,175,113,176, 91,178,247,232,203,156,189,250,125,188,
-240,249,191,130,246, 71,188,113,127,193,137, 31,238,243,131,127,252,191,100,235,239,252,199,220,190,255,207,168,201,169,166,183,
-217,125,251,125,146, 72, 97, 77, 69,237, 51,140,149,110, 10, 87, 22, 88, 21,144, 12,135, 68,222, 99, 12, 40, 23,160,124, 75,235,
- 28,218, 24,180, 86,184,214,128,149,106,205,188,220,231,252,199, 62,195,199, 62,243,151,248,173, 95,254, 75,204, 30,223,251,255,
-189, 82, 50,247, 41, 29,161, 3,216,187,251, 53,242,163,219,164,113,143,214,228, 84,101, 37,188,136,201, 50,189,203,151,185,246,
-145, 31,103,240,167,225,124, 90,114,242,217, 83,252,234, 63,120,129,122,245,235,220,127, 60, 37,212, 10,189, 54, 33,155,123,118,
- 30,220,161,151,105,116,147,179,124,118, 29, 53,140, 9,131,150, 32, 94, 70,133,167, 40, 31,133,188,250,105,205, 55,127,239, 75,
-132,247,222, 33,152,158,103,115,246,152, 19, 61, 69,239, 84,132,117, 41,225,201, 0,183, 19, 98,206, 68,156,124,241, 37,138,217,
- 20,186,131, 84,197, 18, 93, 30, 44, 13,169,234,154,193,160,131, 98,181, 13, 97,156, 18, 6, 17,253,225, 16,229, 69, 25,170,235,
- 18,239,165,162, 57,237,165,100,129,116, 80, 76,167, 83,233, 79,239, 84, 84, 83,181, 36,169,196,161, 21, 18,213,114,192,116, 54,
-165,151,244,136,194,144,178, 22,183,119, 89, 60, 3,234,183, 0, 0, 32, 0, 73, 68, 65, 84,139,153,216,122,135, 51, 30,219,138,
-138,224,148,135, 22,226, 48, 70, 7, 9,198, 8,184,166,169,181, 24,250,202,188,123,223,101,164,189,140,186,148,125,253, 98, 33,
-195, 75,160, 21,243, 60, 39,136, 2,188, 23,128,151, 6, 44, 50, 28, 6, 1,130, 40,199,227,218,110,170,239,212,108,107,196,167,
-228,156,127,194, 67,113,222, 33,133, 47, 18, 29,142,124,130,238,212, 91,139,102, 58,159,227,157,160,162, 37, 82, 45, 94, 37,143,
-100,216, 65, 24, 48, 94, 73, 41, 77, 93,139, 71, 37, 75, 68,141, 16,227,171, 35,184,244,244, 51,127, 45, 8, 67,130, 48,164,109,
- 91,180, 87, 36, 89,130,107,133,253, 93,213, 34, 67, 31,227,245,140, 49,180,214, 16, 6, 65,151, 87,142,137,147,152, 32, 8,177,
-166,197,180, 13,113, 28, 99,240,104, 47,198, 59,175,228,128,119,222,147, 47, 22, 40, 37, 57,117, 80,120, 99, 58, 57, 79,131, 18,
-218,143,115, 16, 37,177, 24,153,170,138,254,160,223,237,176, 11,234,186, 22,153, 34,148,139,195,124, 54, 23, 57, 74, 75,135,121,
- 81,150,221, 1, 41, 69, 3, 77,221,208,239,245, 59,150,239,119,249,245, 34,103, 7,228, 69, 33,176, 20,223, 85, 84,118, 30, 3,
-141, 98, 62, 19, 66, 80,146,100,160,132, 32, 23, 70,130,130,109,234,250, 73,254, 60, 10, 68, 54,201,203,130, 64,135,104, 68, 2,
- 42, 91,217,113,224,160,174,106,142,107, 55,219, 70, 46, 21,131,129, 56,100,211, 36, 33,236,164,218, 36, 22,249, 71,242,140, 50,
-177,164,169,220, 40,219, 86,100,254,170,170, 48,157,122,225,156,197, 56,203,104, 56,164,234,110,190,198, 88, 52,160, 3,185,212,
-180,149,228, 57, 61, 30, 99, 45, 26, 49,201,181,206,210,212,173, 56, 76,147, 4,239,160, 53, 13,117,247,253,113,154,210,148, 53,
- 90, 43,185,241, 42,213,193, 39, 60,222,119,147, 69, 16,224,157,195, 24, 97,234,255,236,167, 70,156,221, 24,242,123,223,190,207,
-163,220, 50,157, 22,168, 80,211,150, 45, 89,162, 56,117,110,204, 83,207,158, 97,152, 70, 84,101,195,172,182, 92, 60,127,146, 83,
-231,151,105,227,152,182,178, 84,104,150,178,136,179,103,199,212,139,150,253, 73, 78, 47,209,244,134, 9, 59,123, 11,206,157, 95,
-225,226,165, 85,118,247, 23, 92,187,176,194,227,205, 35,130, 40,160,137, 87, 48,195,179, 92,191,123,143,111,190,245, 62,117,211,
-224,156,103,216,239, 19,133,154, 48, 12,184,251,224, 49, 59,123, 7,108,172,173, 82,213, 53, 7, 71, 83,230,121,193,112, 48,100,
-216,239,227,149, 40, 57, 39, 87,151,104, 90,195,238,193,132,170,170,184,118,229, 50,195,225,144,162, 16,121, 58,138, 34,154,186,
-102,123,255,176,171, 40,157, 97,157,103,216,235, 19,104,152, 47, 22, 60,216,220,225,246,253,251,220,121,248,152, 32, 80, 34,181,
-101, 61,162, 56, 98,145,231,188,246,230, 59,127,136,186, 6,176,178, 52,226,244,250, 73,150,199, 35,210, 36, 70, 41, 79, 99, 12,
- 71,147, 41,179,188, 32, 47,114, 22,121, 65,191,151,241,252,213,167, 57,119,106,131,193, 96,192,184,223,151, 62,114,219, 50,157,
-206,216,218,219,103, 60, 28,114,245,169, 75,196, 81,200,104, 48,120,162,184, 53, 77, 87,236, 99, 44,222, 89, 86,150,198, 20, 85,
-205,195,173,237, 78,230, 6,188,103,101,121,137, 36, 73, 56, 60,154, 49, 91, 44, 56, 56, 60, 96,239,240,136,211, 27, 39,249,240,
- 11,207, 19,197, 33, 97, 32, 38,209,217, 34, 71, 1, 15, 54,183,158,252, 46,113, 20,114,225,236, 25,146, 56,102,101, 60,148, 85,
- 69,158,179, 40,114, 26, 99,186,159,163,125,242,253,105,154,242,220,149, 75,172, 46, 45, 17,133, 33, 90, 7, 40,132, 72,217,182,
-134, 75,195,136,155,189, 1,237,137,117,190,240, 83,255, 22, 63,247,105, 79,190,186,206,155, 95,255, 54, 59,143,110, 48, 43, 31,
-113,176,243, 22,211,253,247,216,125,240, 53,138,253, 15,240,107, 53,197,214,148,173,135,215, 57,154,126,192,225,222,251, 28,110,
-127, 7,165,160,169, 14,169,118, 15, 41, 95,159,178,251,157, 93,138,249, 67,142,230, 15, 88,204,238,145, 79, 30,227,155, 9, 77,
-155, 83, 85, 37,214,214, 40,111,209, 42,124,162, 48, 88,227, 59,226,166,165,174, 74,242,163,125,130,104,133,124,114, 15,175, 2,
-194,113,204,120,184, 65,111,121,141,143,253, 7, 63,199,191,253, 39,254, 46, 31,253,196,211, 92,188,246, 23, 80,241, 42, 31,251,
-244, 95,161, 63, 78, 48,214,112,234,169,143, 49,126,250, 18,229,108,143, 54, 95, 96,109, 77, 93, 44, 40,102, 7,148,109,142,106,
- 44,104, 77,148,244, 89,191,240,121,206, 61,253, 33,146,171,240,250,227,152,133,131,173,111,157,100,245,220, 54,147,131, 61,242,
-133,172, 59,207, 93,221, 32,212,142,195,123,178, 18,121,245,167,255, 61,206, 63,119,137, 69,115, 68, 59,141, 72,211, 83,152,166,
- 7,213,136,245,243,142,189, 71,247, 89, 63, 59, 96,251,173, 71,184, 98,159,165,181, 37,194,222, 24,116,132, 42, 52,110, 24,146,
-173,244,153, 61,184,195,252,112, 34,235, 57, 99, 73,226, 84,124, 53, 74,211, 88, 43, 52,201, 72,156,230, 65, 20, 96,107,131,241,
- 98,190, 59,110,105, 43,202, 18,173,229,185,237,156,149, 75,166, 51, 84,101, 37, 76, 12,117, 12,245,146, 41,180,174,164,118, 91,
-107, 69, 81, 20, 18, 25,141, 98,121, 15,234,128, 40,145,166,208,198,180, 56,107, 72,178, 4, 77,167,140, 57, 81, 82,148, 14,240,
- 14,130, 64, 19, 69, 98,128,110, 91,233, 71,119, 94, 98,218,116, 42, 90,211,182,180,214,146,165, 25, 81, 87,206,130,147,231,167,
-242, 78, 38,105,143, 60,111, 91,193,150,103, 89, 70, 85, 85, 68,145,196,216,154,182,145, 53,139, 7,211, 26,138,170,100, 49,159,
- 35,224, 48,131, 87, 30,239, 44,202, 43,188,183, 28,195,169,234,166, 6,239,228,119,139, 34,156,241,232, 72,192,106, 90,123, 76,
-219,173,156,147,132,168, 51,171,134, 58, 68,216, 36, 45, 97,221, 52,228,121,222, 25, 95, 28,173, 7,231, 45, 30, 37,157,232,153,
-128,250,123,113,130,242,224,156,195, 26, 35,181,167, 93,254, 54,208, 1, 97, 42, 96,148, 98, 62,103,122, 52,195,187,227,134,158,
-128,164,223, 39, 8, 52, 69,177, 64,121,240,157,148, 29, 39, 50,197,233,160,203,193,123,143, 14, 66,194, 72,110,107, 86,203, 77,
-191,233, 28,202,199,149,139,179,217, 76,164,237, 56,198, 57,135,107, 26,230,109,203,160,215, 35, 12, 3,202, 60,167,169,235, 39,
-114,179,210,154,241,120, 36, 63,151,119, 36,113,194,113,211, 24, 64,150, 37, 84, 85, 75,150,165, 40, 36,110,179,168, 42, 20, 94,
-118, 69, 70,170,247,202, 70, 72,115, 90,107,188, 18,179,156,183,246,137, 35, 20, 20,179,197, 92,110,176,221, 68, 94,151, 34,189,
- 28,199,241,162, 40, 22,195, 80, 44, 15,216, 36,142,197, 25, 95, 11,153, 77,224, 32, 78, 38, 2, 5,189, 56,165,245,142, 40, 77,
-233, 5, 1,206,137,236,217, 84, 21,222, 59, 70,227, 49, 82, 62, 35,255, 78, 20, 74, 28, 49, 47,142,113,188,146, 61,183,222,129,
-210, 16, 40,138,170, 68, 55,181, 68,166,186,201,187,153, 52, 12,250,125,116, 24,146,245, 66,142,171,105,155, 64, 16,145, 77, 45,
-206,127,231, 28, 97, 40,135,188,169, 5, 51,234,189, 56,124, 7,189, 30,207, 93, 24,114,235, 75,239,114,251, 96,206, 78,233, 57,
- 57,238,115, 38,241, 28, 46, 44,135,185,163,124, 56,195,212,150,135,247, 15, 57,127,113, 21, 85,182,236,207, 23,164,101,196,169,
- 83, 35,252,198,128,189,195, 18,141,167,245, 33,227, 97,196,193, 86,201,195,123,135, 28, 89, 69,233, 60, 39,151,251,212,149, 34,
- 12, 2,230, 85,203,211, 87, 55,120,240,240, 8,103, 43, 6, 23, 52,151, 79,159,230,163, 47,191,216, 21,157,180,172,173, 46, 75,
- 26,163, 44, 73,146,136,195,163, 35,126,243,203, 95,227, 99, 47,191, 40,187,193, 64, 58,150,131, 80,110,231, 90,105, 6,163, 49,
- 97, 24, 16,135, 17,167, 46,158,103,109,117,149,253,201, 33,248,239,254, 45,111,220,190,203, 27,239,190,199,214,222, 1,253, 36,
- 97,125,117, 25,148,103,111,114, 36,173,101,145,240,215,195, 72,160, 27,171, 43,203,224, 29,147,195, 9,147,121,193,172, 51, 76,
- 30,127, 13,251,125, 94,188,250, 12,207, 63,243, 20,235,107,171,100,105, 66,211, 58,170,170,226,214,195, 71,188,254,246,187, 18,
-171, 65,166,233, 52,137,233,247,196,107,162,149,230,193,230, 38,239,223,188,205,206,193,132, 40,138,184,112,230, 20,163,209,136,
-181,213, 85, 33,190,213, 45,173,109, 59,165, 42,160, 44, 23, 76,142,166,220,184,119,159,199, 91, 59, 79, 36,251,186,109, 25,244,
-123,114, 9, 73, 98,198,195, 62,167, 78,158,192, 26,139,115,176,123, 56, 97, 58,155,178,186,178, 74, 28,198,172,173, 46,243,161,
- 23,158,125, 34,215, 31,127,153,214,178,179,127,192,181, 43, 23,185,116,238, 28, 59,251, 7,188,246,214,187,124,227,245, 55,158,
-252,183,142,191,210, 56, 33, 77, 98, 38,211, 57, 85,221,176,186,178, 76,150, 36,228,101, 73, 81, 86, 96, 12,237,160,199,219,147,
- 57,195,242, 85,202,187,158,223, 60,225,216,158,104, 76,120,145,249,163,127,141,217, 15,193, 55, 52,213, 17,135, 15,127,159,229,
-141,151,152, 92,255, 22,145,154, 99,170, 22,111, 29, 85,181,199,108,247,125, 76, 61,227,228,249, 43,148, 85,197,124,118, 23, 91,
- 22,236, 63,250,125,172,105, 73,135, 39,169,138, 61,218,162,196,217, 2,173, 83, 8, 98,154,182,192,216,130,147,167, 94, 97,122,
-120,155,166,154, 49, 57,242, 12,135, 99,146,112,206,171,127,230,151,249,165,191,247,131,252,141,223,189,205,254,157,175,208, 95,
-122,145,179,245,135,152,159,126,204,225,246, 27,108,237,125,192,242, 31,125,134,240,129,231,135,126,252, 63, 33, 94,129,179,155,
-207,240,103,191,255, 20,139,111,195,183,126,239, 43, 44,158,127,192,143,255,137,159,226, 47,253,233, 23,168,235, 61,188,145, 90,
- 92,167, 29,117, 57, 39,233,173, 82,149, 59, 60,122,235,155,236,223, 62, 77,101,167,220, 48, 2,115,225,145,227,165,151,159,226,
-189, 91,183,120,240,224, 8, 29,104, 62,249,253,159,227,250,250, 42,211,135, 45,197,189,139,236, 31,236,115,102,109,192,187,183,
-230,212,205,156, 40,136, 56,218,119,172, 6, 79,177,118,106,194,218,114,198,228,169, 37,234,173, 57,202, 7, 40,111,208, 65,140,
- 33, 68,135, 10,107, 50,206,124,236, 83,216, 47,255, 14, 69, 94,116,206,108, 71,158,151,196,177, 36,120, 84,172, 48,166, 22, 53,
-211,121, 26, 35,221,230,117, 85,138, 36, 30,197, 4,129, 39,207,231, 24, 35, 29, 31,113, 24, 82,149,149, 12, 80, 26,180,146,148,
-142, 53,142,168,215, 35,246,157, 34, 27,199,148,101, 13, 30,170,178,192,117,205,112,116,251,248, 97,156, 97,141,163,156,139,164,
-239,189,135, 56,166,170, 74, 66, 45, 42,112,156,166,120,223, 16,198, 49,145,145,214,205,166,149, 94, 12,165, 53, 2,163, 9, 40,
-138,138,197, 98, 65,220,193,185,140,247,104,237,209, 8, 19,196, 99,177,173,239, 12,143, 41, 77, 93, 17,199, 41, 85, 85, 80, 85,
- 53,199,101, 97,129, 82, 4, 97, 36, 67,134,149,203,131,177,194,147, 15,181, 70, 37,154, 56,141, 25, 69, 17,166, 53, 44, 22,115,
-202, 90,134,192,193,120,140, 82,138,182,169, 73,179,148,170,172,233,245, 82,132,210, 90, 17, 69, 9, 77,107,233,101,201, 19, 95,
- 66, 88, 87, 21, 89,214,147,219,139,238,170, 86,181, 28,118,214, 57,234,170, 32, 80,138,186,236,218,187,186, 73,182,210, 98,140,
-104,202,146, 44,235, 17, 69, 1,218, 75, 20,193, 6, 45,243,163, 2,133, 76,116,165,105, 33, 12,232, 15,135,180, 85,133,105, 26,
-150,150,150,145, 72, 84,141,212,226,137,147,218, 91,177,237,231,121, 78, 20, 69, 76,243,239, 58,131,195, 32, 32,140, 99,156, 49,
-212,149, 68, 2,122, 89,134, 87,138, 0,205,108,190, 0, 60,195,225, 72,214, 4, 70, 92,238,129,181, 68, 58, 96, 60, 30,227,172,
- 24,204,154,198,144,102, 17,105, 44, 5, 3, 42,168, 9, 9, 48,182,193, 52, 13,202,139,204, 49, 28, 14, 64,105,234,170,194, 90,
- 71, 22, 71,168, 56,166,223, 23, 23,252,241,126, 52, 12, 3, 60,154,162,168,136,226, 8,129,247, 75,195, 90,191,215,147,216, 88,
-231, 24, 22,140,172,184,223, 77,211, 60,145,102,122,189,222, 31, 98, 33, 75, 61,109,204,104, 52, 0,107,176,208, 41, 7, 9,113,
- 20,117,127, 35, 33,235,229,101, 41, 78,238,166,197, 5, 0,130,194,237, 15,229, 98,227,156,148,152, 56, 52, 97,160,197, 47,160,
- 20,105, 47,163,236,224, 65,166,109,137,136,200, 59,170,159,113,142, 36, 77,169,138, 2,194, 16,175, 28, 97, 24, 16,198, 17,174,
-181,232, 40,233, 18, 18, 13,105,150,241,151,255, 88,159,225,221,109,190,190, 95,112, 54,142, 89, 90, 15, 89,203, 18, 22,211, 5,
-207, 60,189, 66, 59,205,105, 45, 84,165,225,220,133, 21, 70,253,140,249,131, 9,249,162,165,143,103,235,193, 33, 39, 78,173,208,
- 31,103,180,222,162, 35,205,162,128,229,141, 85,150,178,144,253,123,251,132, 97,200,221,157, 25, 23, 55, 86, 8, 35,205, 86,168,
- 25, 57, 69,210,131,133,145, 38,178, 36, 10, 88, 25, 15, 5,212,128,231,193,230, 54, 47, 93,123,138,181,149, 85,158,189,124,137,
-217,162, 64, 43,136, 66,205,231, 63,249, 42,131, 65,143,165,177, 92, 42,107, 99, 9,148, 98, 81, 20,236,237, 31,242,220, 51,151,
- 88, 91, 89,161, 40, 43,226, 72, 51,157,231, 4, 74,225,112, 44,202,146, 36, 73, 88, 93, 26,163,181,102,208,239,145,165, 49,189,
- 36,193, 3, 73, 36,200,225,178, 44,105,181, 72,241,209,250, 58,161,214,180, 77, 77, 91,127,215, 80, 6, 48, 28,246,185,118,229,
- 18,131,110,170, 14,195,136, 32,244,212,117, 73, 81,150, 12,250, 61,230,197, 2,239,228, 53,215, 74, 99,172, 35,212, 18, 85, 91,
- 30, 13,229,111, 22, 71,172,173, 44,211, 58,139,183,146, 75, 63,206,141,183, 70,218,253, 60,158, 48, 10, 57,119,230, 20,253, 97,
-159,167,206,157,229,119,190,241, 45, 14,143,142, 88, 91, 30,179,178,180,196,169,147,235, 44,143,135, 44,141, 70,204,230, 51,140,
- 53,244,123, 25, 39, 87,150,153, 45, 10,250,253, 62, 89,146,224, 85,194,124,186,201,160,223,227,213, 15,189,204, 59, 55,110,138,
- 99, 30, 77, 22, 11,214,115,216, 73,249,207, 92,186,128,177, 45,239,223,186,203,209,244,187,159,237, 36, 14, 57,185,178,242, 36,
-218, 51, 28, 12,168,203,138, 69, 33, 77,132,167,151, 6,188, 30, 47,195,180, 98,126, 24,240,229,127,210, 48,251,165,123, 52,237,
- 33,119, 95,251,121, 2, 59,193, 71, 3,218,178,101,190,127, 11,143,226,252,211,127,138,251, 55,255, 54,181,254, 61,124, 53, 16,
-100,117,181, 67,113,240,144,241,250,139,228,147, 55,177,237, 18, 77,171,169,230, 91,228,147, 45,194,116,137, 40,138,241,117,131,
-199, 99,141, 71,135, 13, 78,105,162, 36, 97,125,227,227, 12, 86,206, 99,124, 75,253,248, 77, 22,243, 25, 77,101,200,143,118,152,
-108,190,205,255,252,139, 63,196,237,189, 95, 39, 68,147, 13, 91,202,122,206,157,239,124,153, 15, 93,252,179,124,228, 63,172, 25,
- 48,231,249, 31, 83,252, 31,255,107,194,198, 52,228,217,203, 27,252,196, 73,203,207,199, 1, 85, 1,109, 83, 83, 54,154,241,201,
- 23,120,116,253,159,162,195,140, 80, 5,104, 29,163, 84, 75, 62,223,227,224,241,107, 52, 85,205,104,249, 44, 56, 69, 67,133, 89,
- 76, 40,203, 57,139, 67,197,203,159,127,154,233,228,136,155,183,110,179,178,180,196,181, 87, 94, 96,231,236,148,233, 3,152, 76,
-114,198,237, 17, 54, 57,164, 89,156, 35, 28,203,126,123,127, 59, 36, 57,127,146,166, 88,112,249,242,105,194, 15, 63, 67,156,166,
-236,237,206,113,100, 40,229,240,155,154,102, 3,178,165,117,178,149,101, 60, 14,215, 58, 26,228, 64, 53,181, 37, 78, 53,206, 66,
-146, 68,180,109,195,108, 62,103, 52, 24, 48,159,119,224,171,194,208, 42, 89, 97,202,100, 57,199,219,148, 48, 78,232,247,250, 56,
-103,177, 45,160, 32,142, 82,210, 76, 99,141, 28,184, 2,113, 17, 35,158,117, 22,229, 53,198,181,204,231,115, 52, 10,180, 98, 60,
- 30, 17, 4,154,180,223, 19, 58,167, 87,162, 18, 68, 17, 1, 93,187, 90,105,187,131, 82,166,127,156,197, 25,203,172,157, 17,133,
- 1,189, 94,159,186,110,201,250,125,172, 49, 36,105,130,214,194,253,168,235, 6,231,187,210, 43, 2,188,210,232,192,163,188, 70,
- 69, 41,214,250, 39,102,100,169, 94,253, 3,148, 82, 21,208,216, 6,172, 64,122,188,150,103,174, 45, 11, 89,219, 58,135,142, 98,
-122, 89,159,198, 72,154, 96, 62,157, 50, 26,141,101,117,218, 90,194, 64,225, 0,229, 29,206,107,188, 55,196, 81,208,241, 96,178,
-238,231,162,203,149,107, 69, 18,133,196, 73,138,179,158, 40, 14,186,135,135,200, 99, 74, 43,226, 80,126,184,197, 98, 65, 8, 68,
-189, 30,139,197,130,192,180, 20,139, 5, 94, 1,214,201, 36,128,220, 82, 20,128, 14,233, 15, 50, 98,237,112,202,176,178,212,231,
-196, 74,196,201,113, 64,217, 68,224, 45, 1, 45,251, 51,135,210,150,195,185, 33,192, 81, 21, 2,106, 81, 65,200, 96, 56, 64,119,
-211,177,242, 30,107, 44,211,249,148,162, 44, 25,142, 71,178,145, 82,224,189,224, 55,143,163, 98, 97,228, 64, 65, 89, 22,120, 13,
-190,149,108,189, 82,158,106,177, 32,233,247, 65, 73,134,221,180,134,217, 76,162, 5,233,113,181,164,179,228,115, 41,102, 73,211,
-148, 52,235, 63,113, 71, 58,103,104,140,200,209,141, 49,164,137,236, 54,143, 93,236,105, 26, 51, 30,167, 88,235,104,203,138, 94,
-175,135,193, 19, 68,177, 40, 10,133, 24, 78,148,213, 68,105,194,124, 49, 71, 58,124,187,140,189,214, 88,107,186,216,134, 76,206,
-253, 94,175, 51,178, 89,240,116, 17, 67, 71, 28,197,178, 99, 9, 2,146, 40,238,220,228,178, 50,105,218, 22,175, 5,160,208, 58,
-139, 66,145, 13, 50, 2, 29,161, 84,183,131, 74, 51,218,186,164,152,207,229,117,139, 83,104, 26, 76,219, 96,140, 71, 91,233, 99,
- 87, 74,145, 26, 97, 57,211, 8,196, 33,203, 50,134, 89,203,103, 47,167,188,253,149,135,156, 62,119,130, 50,175, 57,186,181,203,
-150, 61,226,212,153, 37,170,195, 57,213, 81,142,215,176,124,114,196,222,206,156,250,112,142, 53,150, 52,211, 12,251, 25,113,168,
-217,189,191,205,126, 20, 80,151,134,126, 47, 98,176, 58,226,104, 90, 16,102,203,212, 86,112,218,139,189, 5,239, 46, 44, 69,109,
- 96, 39,103,199, 42, 78,174,140,216,217, 47,137,203,130, 52, 14, 57,185,118,130, 94,154,137,225,179, 18,201,124, 60, 28, 50, 30,
- 13,233,167, 9,251,147, 35, 38,211, 25, 31,127,101,149,181,213,101, 81, 63,218,134,200, 88,170,182,193, 53,134,107, 87, 46,162,
-208, 44, 47,141,104,236, 49,252,200, 51,153,207,169,234,150,201,228,136,121, 94, 50,157,207,137,194,136,217,162,224,226,217,179,
- 92, 56,125, 74,228,229,214,160, 2,197, 44, 47, 24,100, 61,130, 48,122, 34,157, 71, 81,216, 93, 66,191,251, 53,159,231, 28, 78,
-231, 92,186,112,142, 36,146,130,156, 44, 73, 80, 75,203, 60,247,212, 37,246,247, 14,216,222,219, 39,138, 67,126,232,243,159,229,
- 51,159,248,104,215,195,110,201,139,146,233,108,202,222,225,132,131,201,148, 69, 81, 48,157,207,159, 80,227,188,247,156, 60,113,
- 66, 46,218,136, 76,217,139,101,210,223,222, 59,228,230,189, 7, 66,203, 67,246,248, 97, 24,144,101, 9,222,121,166,243, 5,183,
- 31,110,114,251,193, 35, 86,151,199,172, 46,143,233,247, 50,234,186,229,253, 15,238,242,123,223,126,157, 47,255,254,107,128,184,
-247,151,151,151, 25, 69, 3,226, 48,166,215, 75,165,116,198, 88,250,253,140,162,148, 7,250,229,179,167,121, 20,133,236,239, 79,
-112,120,166,139,156,247,111,222,166,174,107, 78,174,172,112,254,236, 41,118, 15, 15, 57,156,205, 48,101,133, 27,158,228,250,108,
-198,209,246, 20,115,248, 14, 59,230, 13,202,249, 30,197, 98,139,166,156, 96,234, 9,145,123,196,188,156, 51,222,120,149,159,248,
-185, 95,231,244, 58,124,245,171,207,243,111,126,237,139, 56,119, 72, 91,151, 56,107,248,194,159,255,199,124,232, 83, 63,200,255,
-251,127,254, 60, 55,222,249, 5,108,155, 51, 8,157,152,130, 71, 27, 24,103, 72,199,167,217, 88,123, 22, 79,200,131,247,254, 49,
- 39,206, 62, 67,156,157,197,148, 11, 38, 59,239,226,125, 35, 32, 43, 99,113,192, 71,127,246, 39,121,254, 7, 94,224,222,252, 87,
-248,204,143,253, 85,122, 61,184,254, 15,174, 83,244,102,108,126,233, 13,182,244, 63,101,240, 67, 95,228,185,160,226, 11,122,137,
-248,207,121,254,245,111, 20,252,251,159,235,161, 84, 72,190, 7, 63,249, 55, 62,205, 82,246, 50,255,219, 95,125,157, 87, 62,247,
- 19, 36, 39,167, 60,124,237,117,154,178, 34,202, 50,156, 15, 80,109,193,225,209,251, 56,103,168,203,109,130,176,135,215,158, 38,
- 63,164,156,239, 81, 78, 34, 2,237,249,216,103, 62,204,141,123, 15,121,231,225, 99,174,157, 58, 69, 22, 26,110, 29,252, 22,139,
-253,134,217,214, 54, 57, 19,122,107,207,178, 40, 14,233, 71, 25,206, 57,242, 59,171,140,175,213, 36,222, 17, 45,159, 99,184, 54,
- 34,111,175, 83, 30,148, 52,141,146,181, 93, 99,169,138,150,165,103, 94, 96,250,213, 47,201,224,129,134, 72,163, 99,255,196,235,
-164,154,238, 25,214, 25,188,100,215,238, 1,135,181, 82, 7,253,255,113,245,230, 65,182, 37,245,157,223, 39, 51,207,126,151,186,
-181,191,170,122,251,210,111,105,186,105,232,102, 17, 13, 26, 64, 44, 2, 9, 4,218, 16,114, 88, 88, 97,141, 53,227,112,140,229,
-109, 38, 36,123, 52, 76,196, 88, 19, 35,107, 20, 35, 91, 19, 26, 75,193, 16, 10,225, 9,203,163,205, 26, 9,129, 9, 22, 1, 3,
-116,211, 52, 13,189,190,125,169,122,181,215,221,207,150,231,156, 76,255,145,247, 61,201,190,127,117, 71,116,215,173, 91,247,156,
-147,153,191,239,247,251,249, 6,179,103,202,120,154, 18, 71, 53,117,237,198,202,237, 86,135,218,186,251, 45,155,102, 52,182,161,
-177, 13,129, 23, 58,227, 97,237,228,203, 82, 23,180,146, 22,181,116, 90,125,232, 7,140, 39, 35,176,204,222, 75,208,237,118,161,
-246,144,210, 80, 27, 67,107, 70,153, 43,180, 70,121,138, 80,249,152, 6,188,218,149, 53, 53,198, 48, 30, 79,240, 60,143,128,192,
- 73, 86,198, 98,165,165,200,107,130,208,199, 24,133,174, 43,138, 50,199, 15, 66, 20,130,166, 41,241, 9, 49,198, 82,150, 53,190,
-239, 12,211, 77, 83,209,212, 21, 38,112,136,245,216, 11,201, 11,151,161,143,163,104,118, 31,105,138,162,196, 26, 67, 96, 12,202,
- 11, 8,149, 37,240,125,234,186, 38, 77, 51,130,192,163,106, 92, 79,188,206,115,148,231, 58,228,211,212, 17,230,146,196,145, 87,
-171,170,198,107, 37, 9,121,158,187,246, 45, 99,220, 34,173, 20, 69,233,190, 20, 33,132, 59,225, 2,117, 89,146,101,206,193,169,
-173,197,111,156,153,133,198,184, 72,135,169,193, 83, 46, 42, 21,119, 16,233,152,227,203, 33, 79, 62, 58,207,211,231,218, 60,178,
- 17, 19,213, 13,221, 86,128,138, 37,120,146,208, 19,212,198, 98, 60, 15,207, 88,178,198,237,254, 74,109,232,143,107, 14, 70, 21,
-187, 35,184,126,216,240,226,118,195, 94, 95, 83, 84,165,163, 92,249,206, 48,167, 75,141,239,251,180, 91, 29,138, 34,127, 56,166,
- 87, 74, 81, 78, 75,194,216,197,238,164,149, 8,207, 49,121, 39, 89, 70, 18, 4,216,166,162,110, 4,147,201,196,141,101,102,187,
- 44, 37, 93,109,108,146,180, 93, 26, 0, 75, 24, 6,179,108,184,235,104,211,165, 67,250,161,132, 59,133, 11,129,244,228, 67,232,
- 78,145,167,132, 73,130,105, 44,202,247,201,138, 2, 36, 68, 15, 8, 99,158,135, 48, 10,207,115, 76,225,180,110,168,109, 77,171,
-221,114, 70, 59, 43,176, 74, 0,110,138, 97, 76, 77,221, 88,252,208, 3,227,200,113, 77, 89, 50,219,118,161,132, 36, 8, 36,121,
-229,186,129, 45, 78,171,210,165,227,223,215,210, 73, 39, 65, 16, 16,250,177,211, 42,173,165,221,237, 82, 27, 67, 83, 88, 60, 47,
-192, 83, 2, 63, 12,104, 2,133, 39,189, 89,199,123,141,144, 2, 55, 79,146, 72, 11, 86, 24,202,178,160,170, 52, 79, 63, 50, 71,
-250,226, 54,223,191, 49,224,210, 69,159,185,192,103,126,177,197,141,187,135,116,139, 26,198, 83,146, 56,162, 20,130, 75,167, 22,
- 24, 30,101,132,115, 17,235, 38,101,100, 61, 58, 73,200, 92,228,145,103, 21,163, 52,167, 29, 75, 84, 83,147,239, 13,168,144,220,
-217,236, 83, 90,129, 39, 36, 94, 47, 34,108, 44,101, 97, 8, 60,197,135,223,184,193,171,247, 14, 96,222, 99,231,112,192,180,204,
-184,113,231, 30,217,108,145,122,238,133, 23, 57,182,180,200,155, 94,255, 24,111,127,203, 83,220,223, 63,152,221, 0, 21,105,158,
- 35,143, 32, 74,102,101, 8,158, 2,227, 18, 15, 39,214,215,152,230, 14,108, 33,132, 32, 76, 66, 78,110, 28,103, 50,158,112,237,
-222, 38,186,114, 6, 46,207,243,156, 27,213,247, 57,177,182, 74,167,221, 98,107,119,151,175,127,251,121, 14,142, 6, 51,109, 46,
-228, 98,199, 85,179, 74, 92,212,209,138,153,147, 20,152,239,205,113,241,204,169,153,131,215, 80, 53,142,142,101,140, 97,103,255,
-128,207,127,245,155,140,198, 19,140, 49,212,186, 98, 48, 26,241,202,141, 91,204,119, 59, 40, 41,168, 27,195,104,234,202,129, 48,
-246,225, 66,222,235,118, 57,117,124,157,197,158, 27,227,233,178,196, 54, 21,237, 56, 33, 9, 3,170,166,161, 63, 30,225,251,254,
- 67, 8,204, 52,203,216, 59, 56,228,240,176,207,198,218, 42,171, 43,139,188,229,245,143,179,208,237,240,217, 47,127,149,115,167,
- 78,160,164, 64, 72, 65,171, 21,179,182,186,202,219,158,124,130,225,100, 74,191, 63,164,219,117,113,184, 75,103, 79,115,108,245,
- 24,173,216,113,174,163, 40,226,248,218, 10, 95,254,214, 51,236,238, 31,242,183, 95, 81, 24,112,246,204, 73,222,254,228, 19,180,
-219, 9,147,137,243, 14,164, 89, 78,172, 20,207,103,154,254,225, 17,227,221, 29,116,191, 33, 47,107,154,108,200,116,120,143,166,
-158,114,252,242, 79,226, 9,143,181,243,239,102,237,141,111, 34,175, 13,223,125,246, 14,190, 45,185,252,142, 95, 97,235,230,231,
- 88, 59,249, 54,222,244,206, 95,228,252,207, 90, 90,115,130,247,101,127,159, 32,110,115,235,234,159, 81, 55, 25,173,200,201, 35,
-203,199,222,192,149,215,255, 60,143,189,107,133,246,155, 45,223,248, 55,255, 13,223,249,236, 63,100,122,248, 26, 85,145, 81, 85,
- 19,108, 51, 75,253, 8,197, 19,255,201, 7, 56,247,150, 55, 19, 46,173,178,125,245, 11,252,213, 63,254, 12, 79,189,229,227,248,
-106,153,115, 63,185,200,137,143,253, 43,134, 95, 29, 34, 63, 11, 63,252,225, 57,254,205,102,134, 88,138,233, 15, 70,252, 65,217,
- 98, 65, 66, 16,194,151,126, 29,114,153,211, 52,199, 41,215,158,231, 71, 30,255, 12,205, 79,167, 60,247,189,223,230,197, 63,254,
- 83,234, 98,138, 53,146,192, 38, 72, 26,154,124, 72, 45, 39, 32, 61,116, 62,196,212,110, 18,182,117,119, 15,239,249, 21,206, 63,
-177,202,183, 95,186,205,203,183,238,112,238,244,113, 78, 61, 22,242,202, 23,110,177,191,125,141,170, 37, 88, 89, 56,162, 41, 2,
- 10,127, 17, 63, 10, 41, 11,197,214,107,146,211,103,199, 12, 95, 48, 20,221,101,188,213, 45, 66,255,144,163,164, 68, 29,134,152,
-151, 53, 53,154,213, 75, 61,218,203,203,244,183,238, 33,133,163, 51,214, 90, 83, 25,141, 39, 60,226, 40, 36, 47, 12,173, 86,139,
-233,216,153,224,242,188, 36,138, 34,140,169,103, 58,117, 62,243, 23, 65, 85,106, 12,238,144, 98,112, 60,247,124, 90,208, 88,215,
-121,238, 43,127,166, 31, 59,200, 25,194, 80, 53,142, 7, 15,118,150,152, 40,232,180,187,142,208,153, 78,157, 54, 15,228, 69, 70,
- 89,104,215,174,169, 20,186,114, 62,161, 40,114,114,171, 8, 4,214, 6,120,165,131,164, 85,117, 77, 83,215,100,121,138,176,110,
- 13,108,183, 90,212,166,161, 74, 93,140,211,152,154,170,170, 41, 10,199,142,240,253,128,178,156,186,197, 92, 72, 55,117,182, 51,
-105, 64,184, 54, 67,165,156, 15, 44, 8, 44,166,113,252,252,102,118,136,243, 2,133,239,197,232,178, 32, 78, 60,242, 76,187,120,
-185,174, 80,129, 55, 75, 78, 57, 35,185,174, 53,158, 23, 64,211, 56,217,185,221,198, 90, 39,103, 8,161, 80,167,207,157,255,100,
- 24,134,164,147, 9, 82, 41,176,174,146,179,211,234,208,152,134,222,156,171, 89, 20, 56,178, 85, 57, 27, 25, 10, 99, 64, 74, 76,
-227,112,150,115,237, 54,113, 43, 33, 12, 2,142,205,123,188,231,177, 22,255,245, 7,143,241,143,126,108,157, 31,122, 93,143,243,
-107, 49,115,158,160,211, 14, 8, 18, 15,111,170,201,191,191,197,193,205, 35, 70,183,250, 12,174,239,211,108,143,153, 31,229,216,
- 65,206,124,161, 88, 78,124, 78,109, 68, 60,122, 49,225, 7, 47, 38,124,248, 77, 17, 63,112, 94,240,232, 9,143, 56,240,144,210,
-145,216,172,116, 81,157,172, 40, 72, 98, 87, 48,210, 84, 46,134,240, 0,178,225, 78,191,160,132,196,212, 46, 2,166,164,107,239,
-201,242, 12,207, 11, 80, 56, 64, 75, 81, 56, 23,163,231,121,132,129,203,157, 6,177,195,166,250,129, 79, 90,148, 60, 40,166, 23,
-194,129, 56,176,204,140,110, 17,126,228,227,121,206,240, 86,230, 26,161,112,200, 91, 41,145, 74,184,113,126, 94,224,121, 30, 73,
-226,232, 67,190,239, 60, 10, 46,194,228,145,149, 26, 47,116, 90,120,145, 23, 52,198, 1, 59,164,112,155, 21,165,156,222,171,188,
-217, 63, 7, 62,158, 31,240,160, 40, 64, 42,167, 81, 25, 99, 8, 98,183, 25,241,124,135,116,213,181,166, 54,142,177, 44,172,161,
- 49, 32,149,132, 74,227,199,142,111,172, 43,167,117, 85, 85,245,208,220, 18,120, 33,126, 16, 98,172,115,231, 35, 5,166,113,201,
-131, 15, 92, 10, 9, 14,118, 24, 79, 52,105, 85, 17,183,157, 54,246, 19,239, 56,207,233,165,152,111,220, 29,224,231,174,219, 61,
- 8, 3,134,211, 28,173, 27, 22,218, 45,188, 94,143,181,197, 14,181,145, 76,170, 6,225,251,168,118, 66, 21, 68, 84, 64,104, 5,
-194, 87, 52, 85,205,177,185,144, 91,141,229, 68, 39,162,156, 20, 12,166, 37,139,115, 45,222,249,246,199, 56, 53, 31,240,249,155,
-130,229, 78, 68,212,233,113,247,254, 54,147, 52,101,121,113,158,183,191,249, 73, 90, 73,204,203,215,110,112,253,246, 93,172,133,
-110,183,195,169,141,117,167,169, 87, 26, 93,106,116,173, 41, 74,103, 0, 42,202,130,105,150, 81,215,206, 52,218,142, 99, 90,113,
- 64,187,211, 97,174,149, 32,128,251, 59,251, 12,199, 19,122,221, 14, 79, 62,254, 24,139,243,115, 8, 41,153,159,235,113, 48, 24,
-178,127,112, 68,187,221,226,220,169,147,172, 47, 47, 98,112,139, 65, 94,213,236, 31,246, 31,130,158,138,162,100,154,229,188,233,
-141,143,177,212,235, 81, 20,153,139,172, 52, 13,158,242,232,117,218,220,221,218, 98, 60, 77,177,184, 49,122,224,251,184, 61,159,
-139,132, 93,191,179,201,112,226, 34,161, 82, 41,148,146, 8,229,162,165,243,115, 29,124, 79,185,113,189, 82,196, 81, 68, 28, 71,
-116, 58,109,186,173, 22,135,131,145,171,194,204,156,164,229, 16,182, 11, 88, 99,248,230,243, 47,240,245,103,191,195,238,254,161,
-227, 74, 88,216, 56,182,134,177,134,151, 94,189,202,112,154,178,189,183, 79, 83, 55,120,161,143, 68,112, 98, 99, 29, 41, 20,171,
-203,139,108, 28, 59,230, 30,124, 74, 81,148, 37,123,251, 71, 28, 28, 13,120, 0,189, 2, 39, 69, 29, 30,245, 73,226,248, 97,237,
-234,209,112,200,104, 60, 38, 80,138,111,214, 10,225,183,208,119, 43, 70,155,207, 51,233, 95,101,188,251, 10,211,225, 77,146,222,
-121,218,203,167, 88, 60,118,142, 34,157,112,180,119,135,131,173,219,244,143,174, 50, 62,186,142, 9, 21,167,159,254, 25,122,193,
- 2,163,189,109,110, 62, 95,114,245, 25,197,209,157,187,100,197,208, 77,238, 84,128,176,150,160,189,204,242,201,215,227,203,144,
-173,219, 99,110,126,105, 76, 83, 12,217,191,243, 13, 70,123,223,195,179, 37,117, 99, 40,139, 17,173,222, 34, 39,223,253,102,214,
-159,120, 3, 42, 92, 98,126,116,153, 78,122,154,142,191, 74, 97,246,145, 23,119, 56, 57, 60,206,209,203,130, 19,139, 49, 95,249,
-236,203,180,127,120,153, 79,255,242,151,185,249,185,109,190,250,103,191, 73,127,251,205,244,174,180,185,242, 70,193,240, 96, 11,
- 61,233,243,209,143,156,230,231,126,250, 10,205,233, 46,119,190, 92, 83, 23,123,212,173,130,116,231, 0,161, 36,107,231,222, 77,
- 81, 14,232, 46, 93,161,214, 83, 23, 43,179,198,105,209,126,139, 78,247, 28,189,197,183,178,114, 33,166,174, 6, 28,238, 28, 49,
-158,164,156, 60,177,206,234,169,101,210,233, 24,175,215, 34, 94,235, 96, 71, 33,200, 4,132, 65,219,154,114, 60,161, 14,250, 28,
-170, 62, 76, 78,113,112,245, 21,226,100,204,104, 48,166, 28,184,166, 53, 83, 25,170,184,161,219, 14,233,223,185,237,184,236,158,
-114,227,102,203, 44, 26,172,102,220,139,140, 56,137,153, 78, 83, 30,196,153,141,177,248,129,135,242,124, 26, 99,105,181, 90, 68,
- 97, 76, 20,199, 20,121,225,238,197, 74, 19,197, 33,158,231,170, 85, 75,237, 76,206,186, 44, 41,203,226,161,113, 13,235, 72,167,
- 66, 40, 39,141, 10,137,240, 28,109, 51, 12,253,153,175, 72,162, 60, 65, 93,215,184,102,201,138,178,200, 31,122,181, 28, 96,204,
-201,176,190,239, 32, 98, 97,228, 33,172,156, 25,208,156,254, 93, 85,122, 6, 28,114,159,195,121,164, 20, 8,183, 73, 7,119, 82,
- 70, 64, 85,149, 72,165,200,139,194, 73, 20,141,118,105,142,218, 32, 4,248, 65,136,175,148,203,212, 91,156,139, 61,137,103,134,
- 63, 59,123,191,154, 48,244, 29,223, 0,135,118, 86,190, 66, 34,176,198,144, 23,249, 76, 58, 23, 8, 36,190, 63,235,154,168,170,
- 10,173, 43,172,112,176,120, 41, 93, 78, 79, 8,232, 4, 29, 80,238,151,158, 76, 38, 84, 85,133, 23,132,132, 51,247,185,139, 54,
-213,180,147, 4,169, 28, 34,246,131, 79,248,252,231, 79, 47,177,232, 73, 68, 35,192,247,224,168, 96,235,218, 14,223,217, 26, 82,
- 53,176,177, 16,115,127, 84, 57,253, 68, 74,247,221, 52,208, 13, 53,234,222,144,188,182,160,107, 38,158, 79, 71, 9,214,150, 90,
- 92, 92,239,145,235,134, 43, 43,243, 92,121,164,195,143,190,217,167,202, 53, 71,253,156,235,123, 37,127,244,237, 49,207,221,178,
- 40,229,211,105, 57, 20,161, 21, 80,149, 53, 74,250, 84, 85,195,131,206,219,170,118,153,241,209,100,132,163, 3, 42,202, 50,163,
- 48, 32,132,195,180, 6, 94, 64,148, 68,110,151, 56,219,209,101,233,148,105,150,209,138, 18, 68,224, 48,178,121,150,225, 41, 69,
-145,231,180,219, 29,178, 60,163, 46,106,164,112, 39,178,164,157,208,212,238,228, 69,227,226,121,121,153, 17,122, 1,181,109, 40,
-203, 18,165,102,250, 56,206, 93,169,124,223,237, 42, 77,131, 47, 37, 37,150, 36, 78,168,171,154,170,169,168, 10,253,112,247, 24,
- 70, 33, 82,184,113,170, 47, 61,198,147, 49,173, 86,130,214, 21, 65, 20,224, 9, 15,233,187,135,169,213, 13,194,119,210,129,122,
-240,125, 35, 64,184,139, 13,229, 65, 99,220, 5, 42, 96, 50,113, 27, 35,132,107, 53,122, 16, 77,244,124,215, 62,132, 49,180,103,
-154,253,106,199, 99,186,111, 88, 57,189,204,222,221, 3,242, 82,179,212,137,176,199, 23,241,179,146, 88,221, 99,126, 41,100,154,
-230,220,190,123,136, 39, 4,253,162,161, 95,230, 44,207, 9,164,145, 12, 74,203, 74, 28,224,117, 18,154,184, 77,166,107,210,124,
-194,178,103, 24,164,154,131, 72,114,117, 63, 37, 86,138, 61, 93, 51, 85,150,188,180,124,229,185, 59, 12,210,146,247,191,229, 56,
- 23,218, 37, 85,216,229,242,242, 58, 11,189, 46,219,123,251, 20, 90, 59, 98,149, 16, 44,204,245, 56,185,118,140,175, 62,243, 29,
-130,192,155,109,232, 60,140,113,236,104,172,113, 27, 87,225,160, 68, 15,226,119,161,239, 58,231,117,109,176, 51, 35,105,221, 88,
-218,237,132,105,158, 81,213, 13,183,238,109, 82,148, 5, 39,214, 86, 25, 79,166,120, 74,210,234,180,216,219, 63,112,104,229,215,
- 93, 33,137, 34, 86, 22,122, 44, 47, 45,178,187,187, 71,127, 56, 68, 74,201, 83,175,127,140,183, 63,245, 6,132, 16,220,190,183,
-201,119, 95,126,149, 19,235,235, 60,249,248,235,184,179,181,197,215,159,123,126, 22, 59,115,175,251,187,123,232, 74,227,201,199,
- 92,180,172,210, 24,227,122, 12,164,112, 27,240, 90, 74,142,250, 3,178, 44, 99,117,105,137, 36,118,230, 76,233, 41, 60,229, 92,
-229, 66,184, 60,172,105,204,195,147,250,100,154,114,239,254, 54,143, 95,122,132, 99, 43, 43,140,211,140,123,219,187, 52, 85,195,
-205, 27,155,124,232, 61,239, 98,174,219,193, 83,174, 24,169, 63, 24, 16, 5, 1,167,143,175,115,230,228, 9,158,184,114, 9, 63,
-112,249,250,122,246, 0,172,107, 23,165, 91,152,239,113,246,204, 9,158,127,245, 21,254,255, 74, 4, 5, 63, 0, 0, 32, 0, 73,
- 68, 65, 84, 47, 63,240,105,181, 90, 28, 13, 71,120,126,192,112, 50,101, 48, 24, 97,165,224, 96, 84,208,238,172,209, 4,231, 17,
-241, 54,173,100,149,211, 23,223,196,252,229,119,115,242,209, 55,240,210, 23, 63,205,225,253,111,129,237,185, 83,146,177, 88,209,
- 64, 93, 50,190,191, 3,229, 33,166, 2, 41,219, 4,135, 45, 26, 37,104,242, 1,147,225, 22, 86, 84, 72, 41,193,139,136,194, 4,
-157,239,178, 53, 60, 64, 24,139,193, 80,228, 83,140,244, 48, 34, 32,207, 7,164,147, 17,237,222,105, 46,126,244, 3,100,163,125,
-178,225,152,110,239, 60,171,193, 6, 39,222,181,206,229,167, 50,254,248,247, 19,126,240,131,150,239,255,165,224,254,237,251,252,
-225,111,254, 34,195,253,219,148,213,167,105,183,142,113,227,153,223,161, 51,191,200,165,139,199,120,237,223, 27,190,112,245, 63,
- 16,200,136,197,229, 53,126,252,141,130, 63,216,143,249, 15,191, 87,113,231,217, 79,147,247,191, 73,255,104,199,129, 73,144,180,
-123,231, 57,218,126,158, 17, 47, 17,180,143, 65, 61,193, 15, 59, 68,254, 18,173,197,243,172,108,188,141,167,223,247, 52, 52,150,
-122,237,144,157, 59, 59, 20,195, 1, 47,223,184,199,217,181, 69,222,252,193,247, 51,127,233, 28,123,155,215,121,205,110, 83,237,
-182,168,181,165,172,166,232,180,143,188, 49,166,222, 24, 83,236,127,129, 60,219, 97, 58, 25, 18,205,181, 1,183,161, 19,194,167,
-220, 18,180, 47,175,210, 91, 61, 70, 61, 29, 99,172, 75,241,168, 32,192, 26, 87, 97,218,106,181, 8,227, 8,176, 68,137, 91,176,
-235, 89,252,120, 60,113,164,207,164,213, 34,207, 93,250,164,105,106,119,210,182, 13, 90, 87, 76, 39, 83,172,117,102,233, 40,114,
-217,255, 44, 77,241,130,128,170, 44,156, 84,169, 32, 14, 99, 60, 79,145,101, 19,172,173, 72, 90, 45,186,221, 46,142, 72, 87,147,
- 36, 17,214, 70, 84, 85,133, 51,108,103,164, 19,141,105, 26, 38, 19,119,130,174,102,135,147, 7,239,101,172, 37,240, 13,186,170,
-241,195,144, 52,157,226, 7, 17, 69, 49,157, 45,232,206,247,164,117, 13,216,153,220,105,102,239, 9, 96,208,149,187,174,180,113,
-254, 12, 35, 93, 12,176, 21,116,144,202,153,157, 49,206,184,109, 49, 88, 83,227,249, 1,233, 52,199,247,221,232,223,213,114, 67,
- 16, 68, 40, 85, 51, 29,187,146, 25, 1,179,245,215,113,228,149, 18,152, 6,148, 39,241,148, 82,120,126,131,135, 71, 16,197, 40,
-207,141,154,211,105, 14, 2,148,239, 19,133,174, 94,180, 19,199, 14,241, 58,117,174,201,168, 21,211,157,235,145,166, 83,222,118,
- 62,225,191,127, 95,139,147,243, 1, 40,119,114, 70, 72,236, 75,123,252, 31,207,222,162,180,150,185,216,167,241, 36,183,183, 38,
- 44,100, 25,158,173,169, 43,136, 60,193, 80, 41,242, 56,230, 88,173,241,148, 71, 7,203, 94,224,187, 60,251,209,148, 23, 38, 21,
-152,134, 47,190,118, 72,215,247, 88, 89,108,113,110, 41,102,237,220, 42,107,111, 93,224, 7, 47,204,209,207, 75,174,109, 23,124,
-235, 86,201, 55,110,228,108, 13, 92, 97, 74,165,181,211,155, 43,137, 17, 16, 71, 17,211, 52,197, 83,110,108,164,148, 3,142, 96,
- 27,178,204, 97, 5,195,208, 65, 4,176, 60, 52,154,197,113,139,172,200,105,108,141, 41, 5,166,169, 8,163,152, 34,207,104,199,
- 45,202,178,116,209,136, 32,164,105,106,140, 53,140, 70, 99,252, 48, 0, 51,139, 45,104,237, 70, 52,190, 71,163, 13, 22,225, 98,
-100,101,129,181, 14, 41, 91,164, 41,214,130, 21,130,106, 54, 38,242, 60, 15,211, 52, 40, 3,249, 76, 83,210,165, 6,172,203,165,
- 43,137,177, 14, 71, 57, 28,141, 80,210,229,230,181,209,152, 28, 34,223, 71,155,134,116, 58,165,193,162,156,131, 3,225, 43,170,
- 60,119, 16, 19,137,219, 53, 42, 69,171,149,204, 22, 52, 55,254,111,181,156, 38,230, 60, 13, 96, 60,139,180,179,147,150,181, 44,
- 31, 30,178,190,182,200,159,191,120,192,201,149, 57, 14,182,251,116,143,247,192,151, 92,255,206, 45,162,105, 70, 21, 10, 40, 12,
- 39,174, 28,231,214,141, 29,142,180,166,103,160, 21, 88, 70,131, 41,219,135, 57,231, 67,203,168, 61,135,173,156, 75,251,120, 59,
-162,210, 37,157, 80, 65, 3,102, 62,162,204, 52,211,170,193, 7,226,110, 72, 58,173,121,246,197, 93,110,222, 63, 32, 89,191,136,
-174,151,137, 48,124,248,189,239,225,165,171, 55,144, 66,114,208, 31,208,237,118, 25,140, 71, 92,191,125,151,124, 70,253,155, 78,
-178,217,196, 69,208, 24,139,178,150,210, 52,120,194,225,112, 31,236,200, 29,184,194,245, 11,184,133,176,102,190,215,230,244,241,
-227, 8, 33,184,191,119,192,221,123, 91, 4,190,199,202,226, 2, 82, 74,124,229,145, 68, 17,231, 78,158, 96,174,219, 65, 90,102,
-167, 83, 73,146, 36, 20, 51,163,206,194,124,143,179,199, 55,152,155,233,142, 47, 95,187,193,112, 60, 37,140,250,236, 31,236,187,
- 13,102,224,234,144,245, 44, 14,249,224,247,185,179,181, 77,161, 43, 78,110,172,113,114,125, 29,140,225,149, 27,154, 73,150, 19,
-122,142, 35,255,216,197, 11, 44,205,119,145,210,163,212, 5,166,169,105,172, 64, 97, 41,117,197,238,225, 33, 82,226, 22, 54,192,
- 24,216,220,217,227, 47,191,252, 53,218,173,132,165,197, 5,214, 86,150,217, 63, 56,228,117, 23, 31, 97,247,176,207,210,194, 2,
-171, 75,139, 44,244,122,156, 59,121,156, 94,175,199, 35,103, 78,115,225,204, 41, 36,206,192,105,102,159,183,169, 52,129,239,234,
- 49,139, 50, 39, 14, 67,226, 32, 98, 82,185, 50,164,211,199,215, 57,125, 98,131,147,107,171,188,237,169, 55,146,151, 21,247,119,
-247, 28, 94, 54,207,105, 38, 33,198, 79, 48,219, 78,225,187,244,206,255,138,149,165,183,177, 56, 39,137, 98,193,214, 22,244, 58,
-103,233,111,125,155, 70,223,198, 88, 15, 83, 21, 24, 1, 70,151, 12, 14,175,211, 10, 26,188,104,129,202,198, 96,112, 70,173, 42,
-103,210,191,142, 71, 76,216, 57,129, 12, 18,234, 98, 72,218, 79,177,102, 14,107, 4,117, 61,165,212, 19,170,108,128,197, 98,131,
- 13, 54, 30,253, 33,158,122,239, 47,112,191,248, 35,178,221, 33,113,251,144, 50, 77,185,190, 58,161,122,111,139,253, 97,194, 23,
-254,242,147,252,197,239, 23,140, 7, 87, 17,254, 60,119, 94,248, 60, 0,127,245,169,167,241,165,160, 50, 22,171,230,185,243,234,
-151,185,252,230, 31,103,239,230,151,152, 12,143,120,236, 3,191,206,223,251, 93,184,253,173,207,113,255,198,103,201,135, 47,145,
-246, 55,201, 68, 77, 28,198, 92,121,235, 79, 81,148,219,120, 65,143,163,251,223,103,110,113, 68, 16,175,130, 39,233,116, 79,176,
-178,246, 20,151, 95,247, 52,137,103, 57,251,145, 49, 7,191,247, 97, 46, 92, 60,228,149,151,174, 99,116,206,245,187,219, 92, 82,
- 62,226,123,107, 44, 62,186,192,241,243,127,205,205,187,247,169,171, 0, 93, 15,169,203, 49, 77,190,207,218,198, 26,250,216, 46,
-131,231,238, 50,189,119,159, 83,111,121,156, 96,165, 70,111, 43, 80, 1, 81, 20, 83, 35, 88,185,116,133,251,207, 62, 75,211,104,
-146,150,211,117,117,149, 97,172,117,240,178, 48,196, 90, 48, 85, 61, 43,111, 49,232,162, 66, 5,138, 40, 72,192, 74, 90, 73,155,
- 52,117, 73, 16,167, 29, 55,120,158, 68, 41,215, 12, 56,157, 78,145, 66,208,238,116,240, 3,119,136, 9,219, 29,106, 93,206,198,
-206, 25,224, 10, 88,154,202, 33, 87,149,116,198, 85, 41, 21,142,210,233,162,188,174, 95, 32,198, 90, 87,126, 34,132,160,221,110,
- 35,165,164,105, 12,217, 12, 59,107,140, 51, 73, 59,100, 57,204,121, 29, 26,107, 72,162,158,123, 14, 54, 46, 18,140,181,110, 51,
-109, 26,140,177, 68,145, 27,249,131,235, 54,145,190,116, 61,242,161,143,148,222,204,145,223, 96,141,139,137,251, 42,192,151, 30,
-133, 46, 41, 10, 77,219,115,206,250, 32,112,135,102, 55,133,112,211,131,105,154,186,117,197, 56,179,160,242,124,234,217,228,220,
- 15, 67, 64, 96, 76,141,167,148,196, 15, 28,132,197,137,250,110,164, 94, 27,135,245, 75,162, 4, 33,220,142, 60, 47,115,166,153,
-235,204,150,158,164,156, 57,187,223,113,165,199, 63,251,209, 57, 18, 37,104,114,139,188,185,197,159,124,227, 6,231, 87,186, 28,
-166, 37,117, 63, 99,101, 46,100, 89,122,108, 30,140,104,101,154,181,197,132,186,145, 88,109, 72, 22,219,200,221, 17,129,209,100,
- 86, 48, 45,157,209,110,189, 46,201,240, 40,133,135, 15,120,141,230,148,240,144, 77, 77,146,121, 92,191,175,249,214,213, 3, 30,
- 89,159,231,226,201,121,230,219, 93,222,250,232, 60,111,189, 84,240,247,139,156,151,239,105,254,236,123, 41,127,241,157,193,236,
-116,238,198,208,141,169,105,183,219, 84,181, 35,114,213, 77,131, 53, 53,198, 88,192, 53,168, 85, 85,237,200,118,157, 14,147,201,
- 4, 97,157,193, 46,138, 18,210, 52,115, 84, 36, 47, 64, 72, 65,146,180, 41, 75,151,135,140,163,132,188, 44,144, 40,164,112, 48,
- 31, 83,107,130, 32,166,154,209,196,124, 47, 38, 47, 11, 60, 36, 97, 24,206,220,132, 46,211,175,243,210,149, 45,132, 62,113,232,
-220,140, 0,147,201,196, 45, 8,198,184,139,122, 86,120,160,107,119,106, 15,148,194, 0,173, 36,161, 44, 75,202,170,118,241, 58,
-229, 8,112, 58,207, 29, 99, 63, 12, 81,141,101,154, 78,105, 69, 45,116,154,211,208,208,105,119,221, 40, 11, 7, 72,104,170, 26,
-161, 60, 55,190, 50,134,188,174, 41,243,156, 78,171,195,120, 58, 70, 2, 70, 56, 40, 77,224,123,180,187, 93,142,138,156,139, 43,
- 9, 87, 15,167, 20,135, 41, 63,250,150,115, 48, 42,216, 31, 23,172,157, 91,230,254,181, 29,240, 20,131,189, 17, 89,238,138, 99,
-234,113,202,246,168,166, 76,115,138,170,226,106,161,144,197,136, 78,171,228,228, 98,155, 32, 48, 12, 83, 75,173, 60,148, 87, 49,
- 61, 40, 24, 27,103,192, 89, 92,138, 89,153, 75,184,101, 83,146, 0, 84,101, 17,249,152,204,171, 25,239,236,242,189, 87,174, 1,
- 78,150,185,179,181, 53,227, 57, 75, 78,159,216,224,160, 63,160,105, 26,178,178,192, 11,188, 25, 9,205,101, 89, 67,223, 39,106,
- 39,179, 83,137,243, 17,148,186, 36, 43, 11,164,117, 27, 93,173, 53, 81,224, 8,110,197, 12,113, 44,146,152,166, 49,244, 71, 35,
-108, 99,200,138,130,205,205,251,156, 58,181,193,226,252, 60,157, 86,204,104,146, 82,104,205,205,123,247,156,254, 13, 28, 30,245,
-121,237,230, 45,252, 64,113,225,204, 25,148,148,228, 69, 78,175,221,162, 44, 74,142,134, 99, 23,223,116,135, 3, 30,164, 35, 66,
-223,167,221,110,209,110,185, 22,189, 19, 39, 87, 49,166,230,214,230, 22,198, 24,210,162,100, 52, 77,153,230, 57,194, 10, 55,102,
-244, 21,101, 81,146,149, 26,223,115,145,181,197,249,121,170,198, 50,158,166, 12,199, 99,226, 40,228, 29,111,126,146,199, 46, 94,
-160,219,233, 82, 87,154,254, 96, 72,154,229, 28, 91, 93,229,233,167,222,192,165,115,103,168,106,215, 93,173, 16,156, 63,115, 10,
-107, 45,121,233,224, 66, 74, 74,116,229,226,153,117, 29, 97,140,161, 40, 75, 22,231, 23,121,228,244,105, 78,157,216,224,165,215,
-174, 97,140,225,206,214, 54,163, 73,202, 56,205,169,154,134,139,103,206,112,119,107, 7,161, 4,163,209,132,197,192,199,106, 67,
-149, 27, 4, 25,117,177,197,245, 23,255,156,215,244,132,198,100,232,186,162, 41,115,178,209, 17,202,236,209,212, 10, 93, 67, 85,
-229,164,131,187, 52,248,228,149,198,230,215, 16,178,227,252, 6,141,165, 44, 83,178,209, 38,143,191,255, 87,121,223,175,253, 12,
-213, 51,130,111,255,197, 95,113,227,213, 63,192, 19, 35,106, 13,186,152,210,216,146,108,184, 73, 54,218,230,252,219,127,129,127,
-249, 23,255,140, 13, 52, 63,247,223,254, 57,241, 74,194,193,214, 22,157,203,119, 73, 95,251, 34,195,255,249, 2,202,196,216, 44,
-228,254,171,255, 59,253,163, 67, 46,158, 63,195,239,253,206,191,230, 39, 62,246,113, 58, 29,103,224, 5,120,238,185,103,249,204,
-167,255, 45,255,250,119,127,149,160,123,146,203,111,250, 4, 82,231, 60,247,231,255,140,241,193, 77,138,209, 93,138,209, 53,214,
- 31,121, 31,225,169, 8, 63, 61,197,135,254,139,127,200,215,191,251, 41,182, 95,253, 22,158, 23,224,183, 22, 89,191,248, 62,178,
-209, 22,141, 18,248,137, 79, 58,172, 24, 16, 48,248, 70,143,115,239, 55,232,175, 93, 97,229,112,204, 84,231, 72,223,227,246,222,
- 54,103,162, 67,166, 95, 93, 68,116,125,218,199, 39,244,175,121, 52,197,128, 70,231,164,211, 62,111, 95,127,138,104,161,199, 11,
-165, 70,150, 79,113,230, 7, 86,217,187,191, 67, 1,180, 90,109,188,160,131,221,211,176,186, 78,123,190,203,184,127,136,174, 42,
-242,194, 65,181,162, 40,198,224, 76,154,101, 89,162, 60,159,172,116, 60,144,192,139,144,184,182, 55, 99,205,172, 32,169,193,243,
- 44,121, 94,211,212, 6,102,135,153, 36,105,205, 70,236,134,225,112, 68,183,219, 37,207, 50,164, 20,248,126, 8, 52,104,157, 19,
-120,142,253,224,251, 30,158,240, 64, 72, 38,211,130, 48,116, 90, 52,141,196, 52, 53,214, 24,172,117,154,252,252,252,252,195,251,
-201, 90,151,236, 49,141, 68, 8,139, 64, 48, 24,244,137,227,136, 40, 74,168,109, 77,160, 34, 30, 52, 27, 6,145,143,111, 93,206,
- 93, 73, 71, 40,181, 66, 56,195,246,236,103, 26,155,160,117,142, 47,221,239, 96,177,120,128, 49,238,164,239,169,128,198,212, 24,
- 41,136, 91,174,117,205, 90, 65, 43,113,207,149,241,120, 76,156, 56,148, 57, 56,223, 73,173, 28,173, 46,207, 75,230, 58, 1, 94,
- 28, 83, 27,167,243, 59,105,163, 70,173,159, 60,249, 73,173,181, 43,102,152,157,196, 30,116,227, 58, 3,128,155,231, 27,107, 25,
- 79, 38,128,164,221,105, 59, 16,191,181,124,228, 41,143,127,250,193, 69, 2,169,192, 90,190,251,249, 87,185,182, 61, 98, 46, 14,
-208,194,178,180, 58,207, 98, 39, 96,161,215,166,221, 13,157, 1,109,156, 49,210,134,126,209,144,132, 30,221, 78,204,222, 56,163,
-237, 43,108,203, 39,110,183,136,103, 78, 68, 19, 39,172, 31, 95, 66, 87,154,157,189, 49,141, 53, 40,169,136, 3,143, 58,205, 8,
-179, 28, 93,148,140, 74,193,100,100,216,188,121,192,170, 10, 81,237,132,245, 51, 93,222,117, 33,228, 35,143,133, 92, 92,139, 25,
-228, 53,131,204,115,139,103,233, 58,205,235,202,237,226,124, 47, 32, 73, 90, 14, 58,144, 23,232,217,184, 48, 75, 83,226, 40, 66,
-215, 53,158,144,100, 51, 80,141,174, 28, 99,221, 21, 55,148, 72,207,181,153,105, 93, 98, 27, 67, 51,187,128,132,242,240,125,143,
- 34,203,104,106, 75,171,149, 32,165,165,200,115,234,198, 17,251,106,237, 96, 22, 90, 59, 7,125, 20, 69, 40,161,176, 2,210,233,
- 20,215, 95,238,163,164,116,122,104, 18, 57,247,104,228,152,216, 81, 24, 62, 4,207,120, 74,128, 82, 46, 99, 29,132,179, 5,168,
-228, 1, 5,175,210,154,186,177, 96, 13,117, 93, 97,113,133, 0, 66, 56,164,163,139, 96,101, 84, 85,133,107, 96,115,252,126, 61,
- 27,191, 11, 4,141, 0, 93, 85,142, 37, 96, 12,190, 39,248,224,220,148, 91,123, 35, 74,171,248, 59,143,172,240,214, 75,199, 80,
-143,174, 83,222,216, 98,123, 90,209,155,159,163,117,108,142,110, 39,230,240,238, 46, 7,218, 32,124, 69,207, 26,130,166,161, 70,
- 80,251,174, 2, 81, 98,232,133,138,133, 72,210,207, 74,142,198, 5,185,177,244, 90, 1,227, 97,201,227,151, 87,169,149, 65,215,
-130,188,180,132,145,194,150, 53,231,186, 33,113, 28,161,231, 78, 51,201, 51, 90,115, 61,110,223,217,164,174, 43, 46,157,191, 64,
-232,251,164, 89,202,120,154,114, 56, 24, 18,248, 51, 79, 6,130,110, 59,113, 30, 13, 41,136,194,128, 56,114, 83,169,198,184, 17,
- 92, 81,104,210, 60,163,210, 46,235, 93,213,110,170, 83, 53, 46, 71,158,101, 57,165,214,132, 97, 64, 24, 4,100, 69,193,120, 50,
-101, 48,158,112,119,107, 27, 33, 5, 82, 42,210,194, 65,151, 90, 81,140, 17,130,105,154,225,123, 30,103, 78, 28,103,227,216, 10,
- 66, 72,174,221,190,203,171, 55, 28,187, 61, 74, 98,164,132, 27,119, 55, 57, 60,250,255, 18,216,166, 89, 70, 28,134,180, 91, 9,
-243,115, 61, 54, 86, 87, 88, 92,152, 71,107, 61,187, 78, 65, 74,151, 1, 95,232,205,145,180, 18,170,170,162,208,174, 44, 38, 47,
- 10,124,169,104, 76,197, 65,127,200, 81,127,192,238,193, 33, 85, 85,115,227,206, 61,250,163, 49, 79, 63,245, 70, 30,125,228, 2,
- 69,145,243,226,245,155, 92,189,113,139,159,252,224,251,185,116,238, 12,157,118,155,147,235,235,172, 46, 45,144,132, 46,143, 31,
-135,225,195,222,130, 40,244,241, 61,223, 37, 88,164,160,170,106, 14,250,135,124,249, 27,207,146,102, 25,187,135, 7, 96, 93,145,
-212, 66,175, 75, 18,199,172,173, 44, 51,223,235,209, 31, 12,185,119,127,155,241,100, 76, 99, 45,245,226, 26,117,218, 65,103, 71,
-232, 98,192,100, 56, 64, 23,125,242,244,136,124,188, 77, 58,184, 77, 58,222, 68, 8,159,108,114,139,209,209,125, 72, 30,225,117,
-111,254, 53,126,246,231,254, 37,143,190,245,105,158,253,226,215,232,239,190, 64,105,142,168, 38, 71, 20,147,219,116,122, 23,248,
- 59, 63,242, 47, 88,121, 51, 36,151, 33,220, 57,199,238,221, 87, 25,142,191,141, 40, 50, 42, 61,160, 24,109, 50, 58,186, 70,119,
-254, 28,237,249, 85, 94,249,122,202, 55, 95,129,229, 39, 78,241,249, 95,254, 37, 94,184,179,200,246,189,231,232,223,221, 97, 50,
-218, 97,119,251,203,188,240,229,223, 38,242,106,254,207, 63,252,191,248, 87,191,245,191,241,134, 39,159,194,213,107,242,112,250,
-179,190,190,193, 15,255,200,143,242,171,191,250,171, 36,170,224, 51,191,247, 73,198,227, 93,226,120,145,127,240,107,191,205,139,
- 47,254, 25,163,221, 17, 31,252,196, 23,176,186, 97,255,254,243, 12, 54, 23,185,241,245, 63, 70, 40, 69,111,229, 81,100,224,113,
-226,202, 7, 88, 56,247, 78,198,247, 95, 38,111, 38,228,118,204,225,240,128,155,215, 53,197,221,121, 14,174,237,177,176, 62, 97,
-175, 63, 34, 8, 19,140, 41,200,237, 17,163, 91, 57,253,173,107, 72,125,136,206, 20,117, 93, 96,171,140,170, 28,177,188,177, 66,
-220,105,211,154,107,147,116,222, 65,216, 36, 68,221, 49, 83, 81,225,235, 5,148, 23,162,100, 64,211, 46,176,147, 67,244,100, 76,
- 89, 57,239,137,167, 60,138,135,178,162, 37,136, 66,148,242,241, 61, 55,109, 50,184, 82, 33, 7, 1,107,208, 85,133, 49,110, 65,
- 18, 74, 18,248, 46, 86, 93,104, 77, 85,215, 15, 97, 95,238,239, 38, 65, 88, 23,231,172,221,228,204, 77, 17, 5, 40, 65, 16, 4,
- 84,181, 70, 74, 39, 13, 51,219, 32, 87, 51, 41,205, 0, 77,163,193,184,205,186, 16,130,178, 40, 40,138,156,178, 44,103,204,122,
-215,223, 17, 4, 1,217,204, 8, 39,173,164, 49,134,188, 44,104,234, 26,129, 3,214,212, 51, 26,105,109, 28,156,172,110, 26,170,
-170,114, 50,158, 46, 49,198,121,136,210, 44,197,204,100,133,186,118,224,165,198, 54, 14,236, 38, 37, 74, 42,231,227, 41, 10, 44,
- 14, 47,237, 5, 1,101, 81, 56,160,140,242, 30, 78,108,165,231, 17, 4, 1,211,204,149,115, 9, 92, 18, 43,207, 11,148,146,168,
- 51,231, 47,124, 50, 10,102, 4, 51, 63, 32,240, 61,130, 48, 68, 40,133,169, 12, 89,158,131, 16,100,121, 78, 93, 53,184, 72,130,
- 43, 31,185,178, 30,240, 43,239,157,199, 7, 68, 13,175,124,241, 85,166,101,197,217,227, 11,104,211, 80, 87,208,142, 2, 84,168,
-152,159,107, 33,164, 64, 37, 62, 50,118,208, 24, 41, 37,105, 81, 51,152, 22, 12, 52,180, 60, 40,203, 6,101,106,124, 44,198, 66,
-103,213,229,145,139, 66, 67,101,232,246, 34,150,122, 45, 84, 43,100, 58,156, 80, 26, 67, 55, 78,232,133,138,166, 72, 73, 15, 70,
-188,118,175, 15,133,207, 66,114, 26,218,115,180,230, 66, 46,157, 12,249,200, 19, 45,126,248, 74,200,164,180,228, 38,196, 8,159,
-166,254, 91, 61,237, 72, 7,212, 81,146,164,213,194, 15, 2, 84, 16, 32,149,239, 0, 4,190,143,110, 92,181,105, 24,134,206, 37,
-238,133,248, 82, 96, 77,253, 48,222,229,121, 46, 26, 24,249, 62, 65,232,187, 47, 36, 8,144, 56,246,176,174,181,235,201,149,130,
- 48, 8,168,234, 26, 99, 27, 90,113,139,170,118,117,131,197,172, 60, 0,152,213, 7, 86,238, 2,240,156,249, 73, 74,233,114,152,
-128,193,186,239, 46, 8, 0, 9, 86, 34,133,114, 38, 42, 3,190,231,185,180,128,148, 68, 97, 12,166, 38,142,163,135,191,171,239,
-249, 76,211, 9,101, 89,226, 8, 72,150, 40,113,165, 57, 97, 16, 98,140,153,141,157,157,238,223, 78, 92,255,181,174, 42,194, 56,
- 98,125, 33,225,157,157, 41,198, 15, 25,213, 6, 83, 22,156,152, 15, 17, 43,115,232,173, 1,247,119, 39,108, 95,221,165,219, 75,
- 88, 93,239,177,127,152, 49,108, 44, 82, 55,116,165,219,188,236,234,134,229,249, 22, 13,208, 86, 1,147,180,196,247, 37,105, 37,
-120,121,119,140,174, 44, 43,221,128,233, 40,163,189,208, 97, 58,173, 40, 39, 14,136,227, 18,216,146, 56,145, 20,133,193,172, 93,
-194, 26, 75, 24, 39, 76,210, 41,187,135,125, 46,157, 59,131,174, 42, 6,163, 49,183,238,109,178,189,183,207, 96, 52,166,106, 12,
-167, 54, 86, 89, 91, 94, 98,121, 97,129,249,158, 51,186,213,117,253,112, 98, 83, 53,174, 88, 36, 47, 53,133, 46,209,186, 38, 43,
- 28,155,253,104, 56, 96, 50,157,162,171,154, 48,240, 73,162,144,166,113,177,152, 7,139,103, 81, 58,154, 97, 89, 85, 44,244,122,
- 52,198,176,179,183,143, 43, 59, 42, 25, 78, 38,204,117,219,180,227, 24,207,247,153, 76,167, 20,133, 3, 29,157, 59,121,156,139,
-103,207, 97,113,180,182,191, 13,109, 89,232,245, 56,177,190,202,165,115,103, 56,115,242, 56,101, 85, 83, 87, 21,253,209,152,237,
-189,125,210,204,105,230, 94,224,160, 22, 82,130, 16,142, 38,168,117,197, 36, 77, 41, 43, 77, 85, 59, 73, 65, 87,154,173,221, 61,
-172,117,253,215,151, 47,158, 99, 52, 28,241,181,111,127,135, 47,124,237,155,108,172, 46,243,223,253,226,207,115,233,236, 25,150,
-150, 22, 28,193, 49,203,153, 95, 88, 64, 8,215, 40, 24, 5,142,161, 16,135,161,227, 74,204, 28,200,214, 56,130, 99,224, 7, 40,
- 79,241, 71,159,253,127,104,106,119,253,174, 44, 46,114,225,204, 41, 30, 57,119,138,249,185, 57,142, 45, 46, 98,172,161,168,106,
- 68, 93,179,216,109,179, 31,118,208,227,152,186,200, 49,233, 93,178,105, 78, 54,217, 38, 27,109, 81,230,125,242,225, 22,217,116,
-159,139,111,253, 37, 94,247,131,255,156, 15,125,226,147,252,194,167, 62,206, 79,125,124,157,159,253,129,152,119,188,177,203,251,
-254,193, 7, 57,108, 62,193,222,173,255, 72,214,191, 79,144,172,113,229,233,159, 99,176,125,135,215,254,239, 87,185,251,215, 7,
- 12, 38, 7,212, 89,202,238,245,111, 81,142,110,146,167, 7,120,254, 60, 27,103,223,205,177,115,239,163,206,166,188,248,215,191,
-133,156,187, 71,254,138,207,179, 55, 54, 24,164, 5,254,218,132,159,253,216,255,196,119,191,250, 5,190,255,165, 95,231,237,111,
-122, 61,175, 94,187,193,133, 11, 23, 30,202, 56,238, 36,101, 24, 14,135,206, 21, 13, 15, 39,113, 63,240,182,183,243,159,125,226,
-231,248,204,167,255, 87,188,222, 57,206, 60,246,195,220,187,250, 61,146,206, 25,182,238,124,139,239,126,225,159, 19,172, 70, 40,
-219,240,202, 51,159, 98,229,216, 99, 60,246,142, 95, 97,235,198, 95, 49, 57,186, 71,149, 78, 40, 38,123,164,251, 55,153, 28,222,
- 99,116,120,157, 81,255, 42, 7,247, 95, 38,175, 4,213,120,196,220,162, 98, 56,153,208, 76, 13,117,121, 68,222,223, 99,176,125,
-147,226,112,135,246,194, 2,166, 81,152,170, 66,120,146,238,114,155,249,165,121,180, 46,185,191,121,196,209,102, 73,195, 22,197,
-116, 76,160, 54,240, 68,132, 20, 30,229,164,192,139,166,140,183,183, 48,141,165,174, 43,116,161, 1,225, 38,186,194, 67,224,122,
-218,165,116, 13,106,113,156,184,231,142,239,185,131,199,236, 26, 53,198,101,220,125, 63,194, 24,231, 35, 10, 66, 87, 94, 21,120,
- 10,148,162,210,185, 51,174, 38,177, 75,241,132,161, 51, 8,206, 34, 96, 98,118, 16,245, 61, 31, 36, 4,126,128,175,220, 51, 38,
-137, 92,203,101, 81,204,154, 73,197,108,193,175,107,154,198, 34,165, 35,184, 9,233,166,213, 90, 59,115, 91, 81,148, 46, 61,229,
- 73, 2, 47, 64, 72, 71, 21, 13,194,144,162,112,212,202,110,187,131,107,227, 12,102,165, 45,181,115,173,123,238, 20,175,117, 69,
- 24, 37, 36,113, 76, 24,134,142, 33, 97, 28, 29,206, 15,125,210, 52,117,174,127,229, 3,130, 86, 28,163,164, 71, 93,107, 66,223,
- 71, 72, 15, 83, 59,248, 87, 28, 70,228, 89,129, 49,205, 76, 90, 46,209,186,162,213, 78, 64, 8,188,186,170,200, 11, 87,161, 23,
-135, 49,133,118, 38,174, 32,142,105,164,128, 74,144,166, 41, 86, 48,211,214, 37,141,177,232, 98,202, 63,126,207, 26,173,110, 4,
-219, 99,254,250, 43, 47, 50, 40, 60, 90, 17,188,120, 99,151, 36,142, 24, 22, 53,141, 74,217, 88,237, 50, 28,166,108,238, 15, 89,
- 91,234,241,200,202, 60,233,210, 28,195,113,137, 23, 74, 48,150,147, 82,178,119,251, 0, 61,204,144, 8,246,171,134, 14,144,231,
- 5, 65,187, 77,216,138,144,190, 91,120, 43, 41, 81,186,161,179,212,165,109, 93,233, 73, 97,225,232,104,200,112,154,113,114,101,
-153, 94, 16,208, 76,143, 40,142, 52,247,246,142,104,135,150, 19, 79,172,177,177,152,241, 79,222, 15,163,188,225,217, 77,203,167,
-158, 81,236, 13, 37,105,158,209,235, 58,208, 12,194, 57,217,149,231, 35,234, 26, 7,222,175,176,181, 97,174, 51,231,178,128,158,
-156, 97, 83, 93, 68,205, 25,243, 4,204, 38, 29, 18, 80,129, 67,239, 54,117, 69, 24, 70, 40, 47, 36,150, 53,198, 90, 26,173,103,
- 6, 55,103, 52, 52,184,197, 27,220,132, 36,140,194, 89, 36, 67, 80, 87,213,172,159,184, 68,212, 46, 98, 17, 4, 17,249, 44,191,
- 14, 22, 41, 93, 38,221, 26, 11,194, 61, 44,218,157, 54,166,169, 31, 70,163,156,166,211,224,205, 50,142, 86, 56, 39,180,177, 13,
-129, 23,184,253, 0, 46, 37,160,117, 77,173, 53, 74, 57,243, 72, 43,142,176, 64,109, 12,121,238,112,133, 46,183, 31,240,143,222,
-217, 97,126,144,243,213,205,148,227, 85, 69,154,213,216,121,103, 36,252,238,189, 1,147,195, 49,210,212,212,186,192,214, 93,182,
- 51, 77,183, 19, 49,191,216,101,112,107, 23,213, 88,188, 36,100, 50, 74, 17,129, 27,109,175, 44,182, 56, 48, 32, 61,231,131, 24,
-231,154, 73,217,208,238, 68,140,139, 26, 43, 4, 19,221,176,177,212,102,146,107,166, 90,240,253, 65,131, 45, 70, 44,157, 74,169,
-181,230,235, 47,126,159,171,183,238,242,232, 35, 23, 16, 51, 95, 64,183,211, 70, 72, 65, 94,150,236,236, 29,224, 43,193,194, 92,
-151, 32,116, 61,231, 78, 30,153,193,122,180,251, 78,132,177,132,145,107, 43,204,180, 70,219, 26, 33,228,195,141,105,183,219,117,
- 36, 68, 37, 57,121,252, 56,113,224, 51, 45, 74, 6,253,225, 67, 87,236,124,111,142, 99, 43,139, 4,158, 34, 47, 53,171, 75,139,
- 92,191,123,151,189,163, 35,130,192,115, 52, 54, 33, 73,162,128,227,107,107,100,121,206,193, 96,192,171, 55,110, 50, 63, 55,199,
-193,225,145,115,252,254,173, 87,127, 56,228, 59, 47, 78,217, 59, 56,226, 93, 79,191,133, 94,183, 11, 64,183,211,134,198, 56,108,
-177, 82,108,168, 85,206,158, 58, 9,128,239, 41, 64, 17, 45, 44,144, 68, 17,211,212,213,188, 86,149, 75,132, 60,120,165,121,198,
-173,219,119,121,236,145,243, 20,117,205,137,181, 53,238,110,237,240,233,127,255,103,188,229,245,143,147,102, 57, 95,125,230, 89,
- 46,157, 59,205,111,125,242,127, 36,105, 37,120,202,115,254, 20,235,146, 49,158,146,100,133,195,126, 14,116,197,222,209, 33,215,
-174,223, 98,115,119,143, 83,235,107, 92,191,115, 23,112,242, 72,167,221,113,233, 18,223, 33,158, 59,173, 22,199,150, 22,168, 3,
-143,238,234, 18,155,194,167,208, 41, 89,166, 73, 39,215, 8,154, 22, 70, 27,170,202, 81,197,210,116,151,197,181,183,113,252,220,
- 91,233,118, 83, 38,229, 22, 95,251,178,166,185, 46,248,221, 73,131,103,231,136, 60,159, 51,107, 11,188,254,159,254, 41,193,155,
-224,185,223,217, 99,243,234, 31, 83,234,109, 36, 30,122,111,159,154,154, 60,221,227,196,227, 63,206,220,234,101, 78,158,122, 23,
-107,231,231, 17,218,178,125,191, 79,127,235, 5,218, 87, 42,122, 39, 79,114,237,243,127,202,222,245,207,243,248,199,127,140,133,
- 83,143,115,227,142,229,214,139,127,200, 92,183,197, 87,254,227, 55, 30,202, 36, 0,167, 78,157, 98,123,123,155,191,253,250,204,
-103, 62,195,199, 62,246, 49,192,221,175, 39, 79,157,230,143,255,240, 15,248,249,191,247, 95,242,111,255,201,123, 72, 39, 55,121,
-221,219,127,149,165,229,199,208,147, 91,108, 60,249, 58,218,199,143,243,182, 75,191, 66, 93,140, 25, 14, 95, 64, 26,201,225,230,
- 51,140,247, 95,197,216,134, 48, 89,198, 51, 83,140, 86,148,153,135, 14,143,136, 77, 70, 58, 44, 56,222,173, 89,233, 36,220, 25,
-110,163, 76,133,191, 80, 97,238, 29, 82, 11, 11, 75, 53,137, 76, 48, 44,226,139, 57,114,235,106,148, 35, 21,224,117,183,217,190,
-145, 50, 26,222,199,107, 37, 44, 28, 55, 32, 61,132, 8,240,109,136,109,205,225,121, 30,158,231, 72,161, 66, 8, 38,211, 9,117,
- 13,117, 85,184, 9, 78, 20, 51,153, 78, 9,227,208, 77, 67,181,198, 11, 60,148,112, 39, 79, 41,220,129,106,182,214,162,140,155,
-238, 40, 92, 83, 38,128, 15,216,166,194, 90,152, 76,199,200,217, 61,141, 48, 51,249,211,130,112, 26,121, 81,234,217,223,191, 38,
- 75, 83, 66,223,167,156, 25,206,226, 56, 70, 40,137, 48, 2, 33,113, 19,234,202, 32,148, 37, 12, 66, 4, 80,134, 30,158,144,140,
- 70, 35,192,153,218,154,170, 34, 10, 34,194, 56,164,221,118,125, 6,126,232, 14, 62,211,105, 70,156, 56, 24, 87, 94,150, 4, 65,
- 72,158, 23, 36,201,172,100, 38, 12, 41,139, 2,227,187,104,103,187,213,166, 44, 92,117,111,154,166,180, 59, 29,166,105, 74, 20,
-184, 52, 83, 86,148, 4,190, 34, 73, 58,248,190,164, 44, 43,130,208,163,169, 26,132,114, 45,150, 97,227, 83, 85, 53, 77, 93,145,
-151, 37, 89,150,187, 83,255,201, 51,103, 62,233,249,158,227, 64, 55, 53,117, 99, 48,128,242, 60,242, 44,119, 99,118, 33,136,195,
- 24,229, 75,148,116,172,221,143,189,169,205,187, 95, 55,135,189, 61,228,247,255,244, 57, 50, 45, 8, 16, 72, 33,104,117, 19,202,
-198, 50, 62,202,169,117,195,116, 90, 80, 26, 75, 90, 84,228, 89,197, 96,156, 35,164,194,111,121,132,202,167,237, 41,132, 18,120,
- 73, 64,214, 52,120, 65,196,177, 51, 75,140,199, 5,249, 36, 67,167, 57,121, 63,133,170, 66, 73, 65, 24,170,135,227,102,155, 23,
- 72,233, 17,122, 30,158, 39,137,227, 0,131,160, 29,135,232,105,206,225,206, 62,227,131, 67,134, 89, 77,207,244, 8,223,255, 97,
-196,198, 49, 34, 15,206, 45, 90,126,234,209,136, 51, 43, 30,149,240,153,148,146, 82, 59, 44,170,239,251, 40, 57,171, 73,108, 28,
-176,165,105, 92, 43,143, 3,226, 72,164, 16,179, 18,129,153, 81,162,174,145, 74, 17,248, 78,183, 23, 66, 58,215,145,157, 85,210,
- 22, 25,122, 70, 18,171,202,210,185, 56,181,126,232,202,215,165, 99, 5, 71, 97, 8,214,197, 28,202, 82,227,121,138, 86,210,154,
-141, 52,163, 25,157, 72,160,164,164,177,142,128, 22,197,173,135,145,140, 7,153,198, 70,215,232, 82, 99,173, 33, 77, 83,167,193,
- 87,142,251, 93,106, 77, 81,150, 84,117,237,234,252,154, 6,207,243,221,130, 94,187,207, 11,238,239, 80,215, 53, 40,233,162,125,
-126,128, 84,174,150, 87, 41,143, 39, 55, 44, 63,255,120,136, 74, 53,223, 59, 72, 49,185,230,202, 74,204,226, 19,103, 16, 71, 53,
-183,238, 31, 81,140,115,172, 82,120, 94, 64, 38,224,222,189, 33,139, 11, 9,107,107, 61,142,198, 37,163, 32, 64,230, 37,158, 20,
-212,153,102,190, 21,226,181, 66, 94,220, 25,211,154,139,233,250,146, 90, 55, 44,118, 35, 68, 28, 16, 36, 1, 7, 35, 77, 88, 87,
-156, 94,235, 32,246,118,233,166, 35, 98, 93, 17, 78,135,164, 11,167, 48, 42, 96,253,248, 6,251,253, 62,251, 7,135, 12, 38, 19,
- 78, 30, 91,193, 26,183,136,244, 7, 99, 44,150,203, 23,206,179,190,188,140,174, 53,105,150,147, 87, 21,198, 58,250,222,131, 90,
-200,131,254,128,157,253, 35,238,110,109,187,186,224,217, 38,238,129,166,221, 73, 18,172, 49, 12,199, 19,146, 56,100,117,101,153,
- 78,156, 48, 78,167,236, 31, 29, 81, 85, 53,113, 28, 18,135,238, 4, 18,133, 62,221, 78,155, 55,189,254, 49, 94,189,126,139,162,
-212, 28, 91, 90,100,117,101,137, 48,240,216,220,217,101,255,112,128,146, 46,182,232, 12, 58, 33,119,182,182, 49,230,111, 98, 96,
- 0, 22, 8, 66,159,193,104, 68, 20,132, 84,117,197,247, 95,189,198,230,238, 30,186,114,250, 95, 81,150,140, 70, 35,170,166,161,
-174,106,218,173, 4, 99, 26,124, 63, 96, 97,126,142,165,133, 5,186,157, 22, 22,193,214,206, 46,186,170, 88, 90, 88, 96,101,121,
- 9,223,115, 93,238, 55,238,221,227,194,153, 83, 92, 58,123,134,205,157, 29,158,127,233,101, 78,108,172,243,163, 63,244, 46, 22,
-230,231, 8, 3,151,224, 16, 82,160,148, 55, 27, 79,186, 78,179, 74, 87,232, 90, 51, 28, 78,216, 62, 56,228,251,175, 92,229,133,
- 87, 94,193,226,204,121,111,121,226, 49, 46,159, 63, 75,175, 55, 71, 59,142, 88,152,159, 99,174,211, 65, 41,197, 66, 40,152, 42,
-143,215, 38, 21,137, 58,206,217,115, 31,231,228, 35, 31,226,214,107, 95, 64,235,109,162, 25,158, 83,218,136, 43,239,248,187,132,
-143, 15, 96,109, 27, 86, 39,216,102, 64,176, 18,208,170, 66,146, 78,200, 96,120,139,123, 55,158,225,206, 43,175,226,237,159,231,
-242,229, 57,174,189,252, 42,186,158,162,203, 49,186,158, 80,102, 3,138,241, 22, 74, 37,172,156,120, 61,197,120,135,251, 87, 95,
-225,240,168,192,122, 22, 33,134,196,151, 2,164,170, 89,125,252, 73,206, 62,253, 30,198, 7,125,110,253,233,231,249,246, 95,252,
- 38, 7, 91, 47,240, 7,191,255, 25, 46, 95,185,252,240, 20,238,251,254,140,168, 6,103,207,158,101, 48, 24, 0,240, 39,127,242,
- 39,108,108,108,240,228,147, 79,226, 12, 95, 41,173, 78,151,149,197, 69,254,240,223,253, 59, 26,109,184,242,150, 95, 34, 12, 23,
- 89, 57,241, 4,126,147, 32, 7, 57, 38,214, 28,110, 94,101,247,214, 95, 51,218,188, 77, 62, 57, 32,180, 57,181, 30,225, 5,115,
- 51,169,173, 4, 83, 83,235,156, 50, 27,144, 79,247,232,223,219,226,204,185, 99,140,210,140,201, 81,159,164,211,230,252,133,211,
- 28,187,240, 62, 54,222,176, 70, 94, 12, 49, 83, 15, 25,204,163,154, 30,115,167, 90, 4,212,204,181, 91, 76,205,144,189,239,189,
-202,194,153, 99,132,209,113,132,104, 17, 68, 49,141, 17,132,139, 21,163, 59,215,152,142, 70,212,117, 77, 16,248, 4, 65,136,231,
-185,123, 62,207, 51,180, 46,220,148, 70,186,174, 8,135,187,150, 78, 26,132,217, 84,172, 65,121, 64,211, 56,222,137, 46, 65, 8,
- 55,209,244, 3, 60,165,102, 19,101, 55, 97,117, 44,134,134, 48,138, 9,194,144,166,110, 48,141, 33, 8,157, 59,222, 17,232, 52,
- 88,251,208, 71, 33,132,171,248,149,184,195,155,167, 60, 48, 22, 83, 59,140,157,167, 36, 85, 89, 18, 5,179,123, 60,116,189, 28,
-101, 89, 18, 5, 17, 81,236,106,188,235, 74,227,251,129, 35,125, 54, 13, 81, 20, 0,179,145, 63,194,149,110,205,254,189,170, 43,
-119, 0,172, 93,207,137,123,246,251,120,106,150, 91,247, 67, 87,146, 38, 28,154, 93,107,141, 20,224, 40,171,194,173, 45, 22, 60,
- 33, 9,194,128,186,118,241, 62,107,133, 59,124, 96,104,181,218, 15,159,213,106,113,117,245,147,181,174,103,186,151,187,201,226,
- 56,162,169,140, 3, 97, 88,215,198, 85,228, 25, 90, 87,104,173, 73,252,154, 79,126,104,137,164, 49,124,238,243,223,199,214, 22,
- 26, 69,170,107,138,188, 38,157,230, 52,121, 3,166,193,247,220,207,205, 38, 5,117,250, 32, 39,104, 56, 60, 28,179,127,127,204,
-225,112,194,110, 63, 99,107,103, 76,109,225,216, 82,151,165, 99,115,116,123, 9,199,214,230,153, 20, 13,253,221, 9,190,117, 37,
- 43, 85, 94,208, 4, 62,158,196,157,164,125, 15,233, 73, 26,128,198,128, 16, 8, 79, 17, 40,197,116, 58,101, 92,164,212, 69, 73,
- 39, 12,216, 56,117, 28,206,111,192,214, 24, 54, 39,208,138, 97,169,205,169, 57,120,207, 41,120,207, 5,137, 22,138,155, 71, 56,
-109,185,200,221,164,192, 15, 72,243,212,197,246,106,227, 10, 92,148,219,145,250, 15, 71,140, 46, 39, 88,228,153, 51,118,212, 13,
-250, 1, 34,116,182, 80, 40, 41,103,141, 61, 30, 81, 20,131, 0,173, 43,167,163, 24,103,148, 19, 66, 58, 92,169,214, 8,233, 76,
- 17,113, 24, 26,152,209,168, 0, 0, 32, 0, 73, 68, 65, 84,130,112, 58,121,213,184,178,150, 44, 77, 41,170,191,233,218,205,138,
-212,189,175,105,144, 82,184,159, 41, 5, 65, 24,144,231, 5,141, 49, 36,173,152,192, 15,241, 60, 31,107,113,211, 7,225,168,112,
-121, 85, 57,150,114,237,118,194, 81, 24,242, 55,197, 50, 46, 67,239,254,191,134,166,114,163,105, 79,214,252, 47, 31, 89, 97,110,
-111, 72,169, 53,189, 32,224,252,217, 85,206,182, 20,226,220, 26,183,190,119, 3,161, 66,166,135, 83, 50, 97,105,202,138,171,219,
- 19, 2, 12, 77, 18,178,119, 52,193,148, 37, 98, 54,242, 58,125,106, 1,209,248, 40,101,105,164, 36,144,146,133, 86, 68, 92, 55,
-172, 45,196,196,129,207,104,162, 25,104,203,120,144,242, 99,235,134,227,113,205,169,121,143,245,121,197,106, 34, 80,101,202,174,
-154,231,176,246, 41,102,139,211,214,206, 62,203,139,139, 78,239,246,157,174,121,111,103,135,253,131, 35, 6,253, 33,253,241, 8,
-139,123, 0, 87, 51,175, 68,109, 12,149,174,216,239, 15,216,220,221, 35,203,115,198,147, 41,133,214, 88, 99, 88, 94, 92, 96,101,
-105,129, 40,112, 55, 82, 57,251, 46,178,220,229,103,227, 40,160,219,110, 83,228, 5,135,131, 33,190,239, 19, 6, 1, 2, 92, 5,
-170,144,204,119, 90, 28,246, 7,140,211, 12,132,228,220,201, 13, 14,251, 67,110,111,110, 57,167, 43,150, 56, 8, 88, 63,182,194,
-252, 92,111,246,223, 78,220, 74, 14, 32, 36,199,143, 45,115, 98,125,141,185, 78,151,225,120, 76, 81,186,216,142, 67,215, 42,134,
-227, 49,165,214,140,211, 12, 33, 44,237, 56,166,172,106,138,178, 36, 8,125,162, 32,164,215,237, 18, 5, 62, 89,145,115,127,127,
-159,201, 52,229,216,242, 34,127,247,103,126,130, 44,203,249,246,247, 94,228,214,221, 77,150,151, 22, 88, 94,152,103,190, 55, 71,
- 83, 27,122,237, 22,203,139,243, 68, 65,136,177,198, 29, 12,140,157,193, 55, 64, 74,197, 52, 77, 41, 42,253,176, 70,182, 59,215,
-225, 91,207,191,192,214,238,254,195,145,244,218,202, 18,221, 86,155, 36,137, 57,117, 98,131,181,149, 21,186,157, 22,129, 31,176,
-224,215,236, 54,146,155,163, 9,231, 46,125,136, 55,190,225, 73, 46,253,244, 42, 27,139,159,224,234,119,191,194,225,214,203, 52,
- 70,112,233, 7,254, 83, 22,158,110, 97,170, 93,199,167,176,146, 32,233,210,233,157, 35,219, 46,105, 50,197,120,180, 75, 89, 14,
- 41,235, 9,251,219, 47,144,143, 79,145,151,135,140, 14,110,160,203, 41,117,153,146,141,119,152, 12,238, 32,253,136,166, 25, 59,
- 83, 97,182, 67,149, 31,178,123,243,107,164,237,155, 72, 99,136,230,219,172,174, 62,129,127,111, 25,244, 35,220,125,233, 47,217,
-188,246, 69,124, 41,249,221, 79,125,138, 32,112, 72,232,143,126,244,163, 92,187,230, 12,155,151, 46, 93,226, 59,223,249, 14,191,
-241, 27,191,241,112,115,246,165, 47,125,137, 95,254,229, 95,166,170, 42, 6,131, 1,195,225,144,133,222, 28,183,183,251,232,238,
- 59,105,183, 59, 76, 71,219,140,167, 91, 28,110,223,100,220,191, 79,177,189, 71,127,239, 38,147,187,219,148,147,125,140,206,201,
-116, 78,123,254, 36, 65,178,140,109, 74,144,110,194, 39,132,166,204, 71,232,108,143,114, 58,164, 46,125,174,188,241, 18,163,241,
-132, 74, 9,142,175,175,224, 7, 27,136, 78,139,160, 25,146,251,160,138, 46, 97,251, 56,202, 44,209, 57, 86, 99,167, 41,115,199,
-150, 57,246,200, 89,162, 56, 32, 27, 41,194,112, 17, 37, 99,132, 31,224,117, 83,188, 42,165,232, 31, 56,142,199, 36,163,172, 10,
-172, 49, 52,214,245, 81,232,178, 34, 12, 92, 81,139,167, 92,101,117, 16,184, 73,100,211, 52,148, 69, 49,243, 21, 57,205, 89, 8,
- 1, 98,182,104, 25, 75,165, 93,118, 29, 28, 64,203, 69,168,221, 40, 90, 41,229,186, 27,148, 43, 64, 18, 72, 60,207,245,148,171,
- 25,216,203,152,154, 86,146, 96,165,116,148, 59,227, 12,124,229,172, 49, 13,107,103, 30, 39,167,211,107,173, 49,214,149,124, 53,
- 77,253,240,125,155,166,161,221,233,224,121,138, 52,205,168, 26, 59,251, 59, 75,130, 96,102,136, 51,194,249, 7, 66,133, 47, 3,
-231,124, 15, 92, 29,172, 51,235, 57,204,243,131,207,212, 84,110,212,175,148, 66, 73,133,176, 22,221, 84, 32,133,243, 26, 52,134,
-166,214, 46, 81, 98,220, 36,215,117,167, 4,248,190,235, 95,209, 90,211,212, 13,141, 49,168,229,181,181, 79, 38,237,132, 56,138,
- 9,130,144, 32,112, 59,140,188, 44,200,139, 2, 97,221,197,161,188,192,145,208, 4,124,232,177,132,247, 62,182,192,214, 51,183,
-248,246,205, 67,176, 2, 33, 26, 86,219, 1,237, 0, 90,157,152, 36, 14, 89, 90,155,163,159, 87, 12,227,128, 56, 14, 64, 41,194,
- 78, 66,220,107,161,133,135,242, 61,218,129, 7,181, 69,232,138, 42, 45,217, 57, 76,177, 52, 96,156,206,215,154,143,233, 45,119,
-152, 86, 13,165,113, 95, 88,209,207,169, 50, 77,218,159, 16,134,146,202, 10, 44, 2, 99,107, 60, 95, 97, 43,208,121, 77, 81,214,
-248,161,196, 75,124,228,204,233, 43,111,110,178,255,210,107,236,108,237,176, 32,187,200,141,211, 16,118, 97,109,133,246,124,155,
-183, 46,107, 62,112, 9,146, 8,142,198,154,146,104, 86,120,227,216,193, 2, 40,234,146, 90, 87, 76,167,153,107, 21,242, 61, 44,
-174,126,207, 97, 2,243, 89,155,151, 51, 84,180,219, 9, 73,156, 60,108, 99, 11,195, 0, 41, 45, 8, 23,107, 8,130, 0, 79, 66,
- 16, 38,132,161, 51,147, 56,199,163,161,174, 27,164, 16,228,101,230,204, 37,101, 73, 93, 59, 19,155,239,187, 98, 0,165, 20,129,
- 10,208,181,235, 10,126,208, 67, 28,206,140, 57,117, 83,131,176, 4, 65,132, 99,126, 59,232, 65, 99,102,220,240, 48,164,152, 25,
- 0, 91, 73, 7,169,228,195, 81,175,239, 59,189, 71, 8, 75,158,185, 90, 88, 33,221, 73,236,127,120,111,155, 39, 79,182,176, 35,
- 77,221, 24, 34, 95,177, 74,133,152,139, 17, 97,139, 63,255,220, 43, 44, 31,235,146,143, 50,198,133,139,199,141,116, 67, 35, 64,
- 52, 13,210,192, 36,117,117,129,166,106, 24, 14, 50,170,172, 36,144,130,178, 21, 82,215, 13,177, 7,158, 4,211,212,108,143, 10,
-142, 38, 5,218, 90,230, 22,187,156,142, 27,246,239, 29, 96, 60,129,175, 75,238,223,159,114,103,164, 57, 50, 1,155, 38,230,254,
-222, 1, 47, 94,189, 69,150,103,196, 81, 64, 20, 6, 88, 1,195,209,152,219,155,247,201,139,130,178,114,189,247,106,102,228,210,
-117, 77, 81,148,164,105,202, 36,205, 41,180,235, 54, 62, 56, 26,176,179,127, 64, 20, 4, 60,126,249, 17, 46,158, 59,141,239,249,
-228, 69,193,238,225,209, 67,237,221, 90,139, 84,146,105,150,177,181,179,203,253,221, 61, 74, 93, 57, 12,164, 5,207, 83,248,158,
- 98,190,211,225,216,202, 50, 22,203,189,251, 59,172, 44, 46,176,186,188,132,177, 6, 79, 42,186,157, 14, 73, 28, 82, 55,134,254,
-104,236,244, 66, 97, 57, 60, 26, 80, 91,227, 38, 57, 64,174, 53,163,201,132,178, 44,104,197, 17,147,233,212,193, 81,202,146,122,
-246,112,170, 42,231,217,232,117,186, 46, 98,132, 59, 81, 11, 4,237, 56,162,212, 46, 79, 91,215, 53, 95,249,198, 51, 88,224,204,
-137,227,124,226,167, 62,202,227, 87, 46,145, 36, 9,237, 36, 97,123,119,143,235,183,238,144,229,110,212,215, 31,142, 8, 3,231,
-143,217,239, 15,220,103, 20,150, 6,135, 11,101,182,208,143, 70, 99,238,222,223,230,115, 95,254, 26, 95,250,250, 55,185,183,179,
-203, 96, 86,141,219,155,235,242,248,229, 71, 88, 91, 93,225,196,250, 26, 77, 93,179,189,191,207,214,206, 62, 66,192,122, 18,240,
-141,163,140, 65,158, 35,170,101,238,220, 30,241,242,215, 94, 99,243,218,183,240,147,121, 44,138,249,213, 11, 44,189,227, 28,197,
-100, 11, 35, 20,214, 86,156,184,252, 14,206, 55, 79,145, 28, 38,236,220, 25, 48, 28, 28,146,231, 57,217,180,143, 78,143,200,179,
-125, 70,253,187,255, 47, 89,111, 26, 44,233,117,159,247,253,206, 57,239,222,219,221,215,217,103, 48,152,193, 50, 0, 1, 8, 32,
- 8,130, 27, 36, 74, 20, 37, 81,164, 41,198,138,100, 41,145, 25,149, 75, 86, 89,118,236,170, 40,169, 44, 76,170, 98, 85,202,249,
- 16,167, 82,254,160, 36, 21,187, 98,149,101, 71,148,236, 72,148,184,239, 43, 8,144, 0,102, 0, 12,102,189,115,239,157,219,119,
-235,190,189,188,111,191,251, 57,249,112,250,142,168, 74, 87, 77, 77, 1, 31,230,206,116,247,123,206,127,121,158,223, 67,153,231,
- 28,110,127,159,241,225,219, 12,246,222, 32, 75, 14,169, 69,135,206,252,121,242,120,135, 60,222, 37, 79,122,140,135,155, 76,250,
- 93,130, 69,159,248,240, 46,157,249,147, 84,215, 67, 70, 73,137,164, 65,154, 76,216,185,249,101, 46, 93,126,148, 79,127,250, 63,
-165,174,109, 28,241,167, 63,253,105,142, 89, 7,135,135,135,252,193, 31,252, 1,199,182, 72,176, 98,177, 95,252,197, 95,196,247,
-125,142,142,142, 24,143,199, 12,142, 6,180, 35,197, 55,127,112, 19, 93, 13, 72, 70,219, 36,195, 45, 38,195, 91,140, 14,110, 18,
- 31,110,144,246, 70,104, 45,113,253, 22,203, 23,222,207,226,169,167, 88,123,248,227,204, 45, 63, 78,150,236, 81, 22, 99,164,212,
-152, 90,163,235, 10, 97,106, 28, 63, 66,139, 54,142,154, 99,233,116,147,126,156, 48, 42, 75,134,147, 46,253,171, 99,202,244, 62,
-237,217, 22,249,168, 65,216, 56,129,169,231, 41,107,143,176, 53, 64, 73,193,242,147,239, 34,171, 18, 38,101, 2,233, 44, 66,182,
-173,187,102, 92,224,207,230, 12, 54,238, 76, 97, 74,102,218,133, 42,124,207, 67, 74,137, 13, 32,177,130,183,188,176,106,120, 41,
-132,229, 71, 96,208, 70, 16, 69,225, 3,225,152,235, 90,168, 87,165, 43, 91, 4, 8, 11, 92,145,202,102,173, 43,199, 42,236, 29,
- 71,145,231, 25, 74, 89,162,163,114, 28,210,212,198,187, 42, 37,241, 93,123,233, 35, 4,198, 64, 94,100, 96,236,185, 22, 6,193,
-116, 90, 36, 16, 66,210, 8, 35, 92,207,179,123,245,233, 89, 31,248, 1,142,107, 19,208,180,182,150, 99, 41, 1, 20,158,239,226,
-187, 14,181,169, 40,138,154,188,200,237,228, 44,152,138, 67,133,180,231,184, 84, 8, 45,112, 61, 7,215,119,241,124, 43, 24,151,
-142,178,247, 21, 53, 97, 20, 61, 40,102,140,182,172, 16, 41,166,225, 50,142, 5, 73, 25, 99, 59,121,140, 5,209, 32,133,213, 2,
- 96,211, 50,165,227,160,117,109,125,234,147, 73,138,106, 57, 8, 35, 72,198, 9, 94,224, 81,215, 53, 81, 35, 34,205, 82, 28, 41,
-113, 93, 59, 74,105, 70, 1, 31,125,178, 9,187, 19,190,244,242,109, 60,227, 50, 19,194,185, 51, 11, 76,106,197,221, 44, 39,147,
-146, 70,109, 24, 29, 76, 88,154,235,112,121,173,141, 41, 13,165, 20,180, 3, 75,189,217, 27,229,228,147, 2,215,145, 36,163,132,
- 58,242,105, 74,104, 73, 24,244, 38, 28,237, 38, 40, 71,209,158,241, 17,174,207,233,115, 43, 40, 95, 81,150, 5, 55,175,117,169,
-227, 28,199, 19,244,118,198,132, 11, 21, 66,121, 52, 34, 73, 81,129,227, 59, 84, 85,141, 18, 22, 70, 83, 85, 22,149,138,209,108,
-221,186, 67, 54,153,208,153,155, 67, 46,204,160,203, 26,243,246, 30,234,204, 41,204,229,199,160,125,157,133,123,183,249,173,103,
-125,126,227,169, 6,223,189, 91,242,135,223, 19,220,239,107,134,113, 76, 85,150, 15,170,108,129, 29,143,244,122,125,148,227,160,
-171, 18, 91, 94, 88, 92,108, 24,248, 72,229, 32,177, 94, 73, 36,160,141, 29, 79, 42,152, 76, 18, 28,215,238,174, 28,215,163, 44,
- 52,210, 83,140,147, 4,215, 81,132, 65,136, 86,160, 1, 33,108, 5,215,104,216,208, 3, 59,213, 55, 68, 81,131, 58, 47,153,148,
-233, 84, 53, 47,112, 2, 31,169, 13,195, 41, 20,196, 81, 10,103, 10,111,200,178,148, 44,213, 4, 65,132,223,182,249,233, 2,104,
- 54,155, 36,113,140,214,182, 16, 1, 91, 17,142,226,120, 42, 46, 41, 9, 67, 31,109, 32,153, 76,248,224,165, 6, 31,190,210,196,
-140,107,136, 34, 66, 81,240,217, 63,252, 34,191,252,137,103,105,173,173,115,237, 91,215, 9, 77, 69, 60, 74,233,116, 66,122,117,
- 73, 93, 27, 78, 46,132,120, 74,112, 56, 42,153, 20, 37,190,107, 88,241, 20,194, 11,233, 13, 6,180, 67, 23,213,112,208, 70, 18,
-180,219,148,227, 24,215, 21, 28, 72,143,104,109,134,211,115, 29,112, 36, 66, 42, 94,126,103,147, 79, 61,229,243,206,189, 30, 63,
-216,179,227,169,219, 67,195,155, 91,119, 25,156,239, 48, 19,218, 4, 49, 37, 32,158,100, 28, 13,198,140,198, 19,146, 52,101,182,
-211, 33,207,114,146, 52, 37, 10, 2,178,188, 64,136,132,108,250, 96, 10, 64,107, 77,171,213,100,103,247,128,120, 50,225,242, 67,
-231,121,226,242,195,156, 62,177, 78,146,166, 96,236,148,227,244,234, 42,183, 54, 55, 57,236, 13,240, 93, 69, 20, 88,166,115, 85,
- 91,139,156,205, 9,208,244,142,142, 24, 39, 9,163,113,140, 82, 14,231, 79,159,100,109,121,133,102, 35, 98,117,121,145, 44,203,
-185,191,187,203, 96, 28,219, 93,119,105, 5,122,235,171,203, 20, 69,193,193,209,144,108,186,163, 7, 43,144, 44,138,130,162,176,
- 2,190,192, 15, 8,131,192,118, 0, 85,133, 18,130,249,217, 89, 38, 89,138,209,246, 2, 57, 62,228,243, 12,148, 16, 76,210,140,
-165,197, 5, 6,195, 17, 95,249,206, 15,208, 6, 92,101,159,209,175,127,247,251,116, 58, 29,222,188,254, 14,155, 59, 93,250,131,
- 17,131,209,136,254,112,100,137,132,202,101, 56, 78,184,250,206, 77, 58,237, 38,171,243, 11, 60,114,249, 34,151,207,157,102,105,
-126, 1,223,119, 41,117,205, 40,153,144,231, 37,151,206,159,227, 43,223,249, 30, 27,219,127,189, 91,246,125,159,229,197, 69,102,
-103, 58, 52, 66,159,163,209,152,237,157, 93, 54,119,118, 9, 60,143,250,210,105,186,121,141,200, 43,134,249, 22,121,113, 72, 89,
-164,100,131,251, 84,197, 24, 45, 10,102,214,223, 77, 62, 57,192, 15, 34,208,134,165,213,199,120,247,217,139, 92, 89, 78,249, 15,
-255, 38,100,220,235,146,140, 15, 64,121, 20,147, 9,121, 62, 33, 27, 15,209,161,193,115, 86,104,206, 93, 32,155, 12, 8,231, 47,
-242,208, 35,191,193,175,255,246,167,168,133,230,223,253,203, 63,227,181,175,125,134,178, 58,226,210, 51,255,132,143,252,254,239,
-113,115,252, 13,174,253,217,255,201,225,246, 30,209, 80,162,117,132,215,200, 57,218,123, 21,128,139, 23,207, 51, 28,142, 57, 78,
-144, 60, 38,112, 2, 28, 11,230,128,191,177,111,247, 60,143,110,183, 75,146, 36,244,122, 61,235,203,174, 43,100,177, 69, 50,208,
-212,249, 17,249,164,135,231, 84,120,158,195, 68, 91, 30, 70, 81, 38, 44,159,124,146,149,179, 47,177,119,255,107, 12,118, 94,198,
-107,172,161,194, 89, 84, 58,192, 80,130,168, 16,142,135,227, 70,184,209, 42, 11, 39,159,193,241,206,176,122,186,203,189,173,109,
-242,209,132, 18,141, 95,230,108,124,239, 13,214, 95,124, 28, 47,104, 81,212, 49, 66, 53, 72, 14,125, 68,190,132, 59,123, 31,243,
-218, 18,171, 79,190, 7,101,190,199,225,155,150, 3,224,169, 22,121,218,199, 91,154,165,209,106, 19, 86, 86,184,165,148, 75,158,
-167, 20, 21,228,105, 58,189, 68, 35,234,170, 98,156,196,248, 78, 77,166, 43, 75,171,116,220,169,103, 28, 52, 26,148, 21, 73,151,
-149,141,242,118,188, 0, 87, 8,194, 70, 99,138, 41,175,241,253, 6, 18,195,104, 52, 38, 8, 3,164,176,186,168, 48, 12,241,253,
- 0, 41, 5, 70, 67, 60, 25, 91, 47,184,231,146,231, 25,186,210,104,169,113,180, 3, 24,219, 16, 57, 86, 96,156, 36, 99,219,176,
- 8, 65, 48, 77,236,172,116,141,146, 14,129,231, 99,124, 97, 19,215,164, 67,145,167, 40,207, 7,108,163,233,251, 10,107, 53, 75,
- 45, 66,184, 46, 65, 58,120,222, 52, 66, 88, 8,242,220,134,167,213,166, 68, 27,235,155,215,181, 1, 36, 69,154, 35, 92, 73, 81,
- 90,136,152, 31, 6,164,137,141, 26,111,132, 17,134, 26,207, 11,240, 93, 43,188, 46,138, 12, 5,100, 85, 65,153, 91,171,180, 5,
-194, 41,156, 48,138, 80,142, 34, 73, 82, 76,101,149,181,158, 12,104,181, 90, 54,192, 3, 65,109, 64, 84,246, 80,158,137, 60,214,
-231, 35,126,244,213,215, 89,137,124, 86,215,231, 8, 91, 17, 27,123, 9,119,146, 9,107,115, 45,222,119,105, 5,215, 81,140,227,
- 4,223,115, 73, 38, 41,133,208, 28,198,134,253,113,201, 76, 0, 70, 72,102,218, 30, 46,146, 19, 75, 13, 92, 37, 41,107, 67,158,
- 27, 14,218, 99,210, 52,229,104,152, 65, 92, 80, 22, 49,221,110,159, 51,171, 45,188,118,192,227,239, 58,193,238,246, 17,135,119,
-251,184, 66,147, 29,165, 52, 23, 93,142,186, 49, 50,148,104,161,136, 2,159, 70, 43, 64, 83, 67,101, 31,166,225,225, 17,131, 73,
- 78, 93,212,152,120,194,194,246, 14,254, 36, 39,205, 19,228,173, 27,228,175,188,198,222,254, 1,103, 79,205,226, 62,255, 16,206,
- 36,225,125,245, 38,207,157,158,225,218, 78,206, 95, 92, 83,252,229,235,125, 10,227, 82, 78,223,108,233, 42,226,241,152, 34,207,
-192, 24,148, 84,180, 90,129, 21, 94, 57, 10, 41, 20, 6,240,141, 99, 87, 15,213, 49, 56,166,196,113, 92,180,182, 68, 35,131,198,
- 11,124,202,170,176,227,170,210,218, 10,125,223,231,216,114,232, 52, 35,178, 44,179,149,165, 18,152, 90,163, 12, 24, 71,226,212,
-210,106, 33, 92, 23, 83, 27, 38,211,125,249,113, 86,189,204, 50,194, 70, 68,165, 53,237,102,147, 52,203, 8,188, 8, 95,218,174,
-210,243, 60, 90,205, 38, 89,158,227,251, 33, 45,215, 35,205, 83,204,212,114, 34,165, 36,141,107,106, 12, 15, 45, 9,126,255,165,
- 22, 78, 38,192,119,160, 72, 24,119,123,152, 12,154,202, 65,100,134,187, 91, 7,180, 27, 62,227,222,152,229,149, 54,243, 99, 69,
-222, 9, 9,128, 44, 45,249,196,207, 61,199,253,123,123,188,246,214, 13,158,121,248, 20,107,255,248,191,132,254, 14, 27,255,250,
-143,217,216,216,224,222, 36,101,238,116,139,100, 28, 83,104,197,176, 86,228,247, 14, 89, 59,216, 98,206, 41, 25,142, 75,214,141,
- 64,159, 92,225,143,126, 28, 51,123,110,157,192,149, 60, 27,236,115,226,254, 30,127,154,167, 4, 51, 77, 26,129,181, 8, 14,134,
- 67, 70, 73, 66,173, 53,158,239,210, 12,237,212, 2, 96,115,103,135,181,229, 37, 43,104,113,109,103, 33,149,196,117, 61,154, 81,
-104, 47,167,178,228,157,219,119, 25,140, 70, 60,218, 63, 98,105,113, 30, 41,108,225,118,204, 10,152,237,180, 56,232, 29, 17,165,
- 19,194,208, 39,242, 3,124,223, 69,199,246,231, 72, 1,117, 93,147,229, 5,187,251, 7,220,190,183, 5, 2,171,212, 21,130,178,
-170,152,237,116, 8,195,144,173,157, 46, 70, 8, 27, 78, 51, 63,103,197, 99, 97, 72,224,123,127,227, 98, 7, 91,124,173, 47, 45,
-177,190,186,194,226,194, 12, 85, 81, 49, 24,199, 12, 71, 99,146, 73,202,252,204, 28,135,253, 62,221,253, 3,188, 32,160,153, 5,
-132, 81,132,231,251, 76, 50,139,194, 29, 39,127, 29,155, 90,214,182, 91,190,183,179, 71,216,235, 51, 78, 38, 96,108,102,244, 49,
-244,198, 81,146,113,146, 48, 78, 18, 14,143,250,156, 92, 93,102, 48,138,217,222, 63, 96,107,167,203, 99, 15, 93,160,211,105, 49,
-142, 19,118,186,187,220,220,184,199,237,173,251, 28,244,143, 30,252,156, 48, 12, 57,127,114,157,147,171,171, 4,129,199,237,123,
- 91,124,225,155,223,101,247,224,128,186,212,156, 61,181,198,130,171, 89,121,254,253, 76,202, 13,146,123, 91, 20,185, 75, 58, 25,
-144,167, 67, 76, 21,115,180,127,151,249,149,135,208,131,132, 76,184, 52,102, 91,228,111,214,124,245, 14,124,219, 13,248,241,203,
-159,165,223,253, 38,179, 11, 15, 51,183,116, 25,137,194, 17, 30,114, 73,144, 31,140,240, 26, 29,162,112,141,143,255,206,151,120,
-232, 83,146, 70,195,240,119, 91,134,215, 72,217,221,255, 56,173,198, 42,243,115, 39,121,247, 7, 79,176,115, 4,147, 87, 44,104,
-166,186,254, 38, 78, 59, 37,175,109, 26, 96, 26,219, 28,249, 26,232,118,187,180, 90, 45, 90,173, 22, 65, 16, 60,152,122,253,228,
- 69,126,252, 18, 66, 48, 24, 12,200,178,140,193, 96,192,112, 56,164,223,239,115,184,219,101,113, 49,226,242, 47,252, 43,238,188,
-242,191,176,241,189,127, 65,166, 13,105,230, 83,202, 18,225, 43,170,193,128, 81,255, 30,242,246,215,200,235, 62, 90, 37,140,251,
- 93,180,153,224, 6,179, 72,225, 82,155, 28, 71, 66, 56,115,154,149,211, 31,228,131, 31,252, 40,237, 14,220,188,215,231,225, 71,
-182,121,229, 91, 47, 19,132, 17, 23,158, 56, 75,107,254,113,134,174, 3,193, 1,122,191,133,241, 20,210,117, 24, 15,106, 58,110,
- 66, 60,217,163,247,149, 69, 68,148, 80,215, 7,160,207,129, 22, 40,111,158,164,216,161,125,242, 4,189,155, 55,240,131,128,241,
-120, 8, 72,178, 73, 6, 72,234,218,160,117, 49, 61,239, 4,195,241, 16,199,113,153,153,181,151,103, 51,138, 0,155,173, 94,151,
- 53, 90, 10, 28, 71,226, 7, 1, 2, 43, 40,174,178,154, 48,244,173, 93,179, 54,104, 41,192,128,169, 13,113, 26,219, 80,171,169,
- 0,185,170,172,224,213,104,131, 81, 80,215, 21, 94, 16,112,108,209,174,107,195,120, 26,168,164,149, 75,216, 8,167,232, 86, 75,
-229,204, 50,141,156,238,220,181,227,216,179, 85, 8,132, 84,140, 70, 35,187, 62,168,107,170, 90,211,104, 54,241, 60, 7,155,163,
- 94,146,166, 25,190,231, 32, 28,166, 83,138, 10,203,107,208, 54, 29,211, 88,189, 84, 81, 79,139, 0,173,113, 92, 23, 42,208, 85,
- 69, 73, 14,194,134,222, 84,117,197,100, 42,120, 21, 34,199,117, 61,180, 99, 35,186, 71,163, 49, 74,185, 68,141, 6, 85,109,115,
- 8,202,162,192, 81,210,114,221, 35,223,167,114, 28, 91, 93,229, 57,198,181, 88,204, 40,138,108,231, 38,236, 23,112,174,225,208,
-172, 75,174,223,216,231,244,202, 12,131, 74,243,246,246,152, 76, 73, 94,120,242, 36, 11,179,109, 94,191,118,135, 72, 27, 22,151,
-102, 25, 85,138, 63,191, 89,243,173,237,146,193,196,144,103, 54, 28, 67, 42, 75, 60,171,116, 65,168, 71,184, 10,222,123, 97,150,
-185,150,207,211,115,109,150, 59,109,206,158, 50,108,238, 15,209,121,193,248, 40,101,171,159,160,246, 71,236,251, 62,139, 39,103,
- 89,185,124,130,254,253, 67,234,172, 96,178, 59, 68,181, 2,116,156,163, 35,123, 17, 86,177,134, 10,162,134, 71, 89,212,108,238,
-107, 92,105, 71,143, 71,113,202,214,157,123,204,246,250,148, 74, 18,133, 33,189,195, 67,146,225,128,131, 97,147,181,249,139,232,
-115,143,195, 67,119,241,186, 47,243,244,236, 1, 79,159,153,240,119, 95,104,243,185,171, 19,254,236,181, 17, 7,163, 12,167,246,
-137,154, 77,164,214, 36, 83, 48, 79,224,135, 72,199, 33,203, 50,130, 32, 96, 52,178, 17,147,158,231,208,104, 54,145, 66, 33, 28,
-107,133,144, 50,160,172, 10, 27,217,170, 44,157, 72, 34,113, 29,119, 42,184,171, 31,236,220,227,113,108, 43,222, 40,178,233, 80,
-202, 70, 15, 42,161,240,219,109, 52,134, 60,205, 30,132,238, 72,101, 63, 91,235,179,183,163, 56, 83,215,212,181,161, 17, 69,118,
- 20, 86,215, 4, 97,104,255,238,128,231, 56, 36,241,152, 32, 12, 81, 82, 17, 68, 1,121,105,113,178, 89, 89,178, 58,227,242,207,
- 62,185,200,140,239, 98, 74, 3,162,134,102, 72,228,123,168, 0, 68,171,137,206, 75,134, 53, 52,165, 34, 75,115,220, 65, 74,212,
-105,176, 30,185, 92,249,240, 35,208, 8, 48, 23,207,211,222,137,217,248,131, 13, 2, 71, 65,235, 3,208,130,179,255,249,195,132,
-255,219, 63,229,230,171,239,208,221, 62, 98,198, 8,140, 35, 89, 31,236,241,124, 43,231,214, 94,202,155,147,146,131,113, 69, 86,
-105,158, 56,217,228, 35,171, 6,143, 93, 68,173, 40,218, 30, 31,123,238,113,146, 31,192,203,230,175,167, 39, 8,137,169, 43,124,
-207,103,174,211, 97,128, 77, 86,131,140,170,180,254, 85,207,181,123, 80, 12, 96,236,126,125,107,167,203,126,175, 79, 24,132,180,
-154, 13, 86,167, 28,243,225, 48,166, 44, 75,198, 19, 27, 17, 92, 27, 8, 92, 91,153, 15,227, 4,144, 52, 91, 13, 22,231,231,201,
-178,140,225, 56, 65, 42,135,197,217, 89,252,169,127,123, 48, 26,115,106,125,157,115,167, 79, 16,120, 46, 69, 89, 82,105, 77, 94,
- 20, 52,163,136, 97,124, 64, 93,213,108,238,236,242,240,185,211,156, 59,115,138,185,185, 89,126,124,245, 45,142,134,195, 7, 23,
- 67, 93,215,100, 69,129, 16, 32,106,235, 74, 88,244, 92, 90,141,144,157,189, 67, 64, 35, 37, 28, 28, 14,184,191,211,101,105, 97,
-129, 90, 27, 92,101, 39,112,244, 7,244,142, 6,108,108,109, 63,248, 51,171, 90,243,253, 31,189,134,227, 72,180,182, 72,217, 70,
- 16, 34,165,156, 94,234, 14,141,200,230, 55, 39,147,148,219,155,247,121,228,194, 57,146, 36,230,251,175,190,198,238,222, 62,103,
- 78,158, 96, 20, 79,184,122,227, 6,215,174,223, 36, 77, 83,126,242,229, 57, 14, 43,203, 75,196,147, 9,174,163,120,248,220, 89,
- 22,230,231,120,231,214,109, 94,121,227, 45, 26,158,199,209,234, 9,212,233,247, 35,126,108,152,228, 95,165, 30, 71, 76,226, 62,
-186,202, 41,178, 1, 82,130,227,185,228,241,136,186,168,201, 15,119,169,117,194,254,193,159,147,141,187,148,233,158,237,154,132,
- 34,203,198,100,217, 30,130, 18,109, 98,116, 5, 71,197, 61,206,158,253, 4,239,251,117,232,191,110,216,236,194, 63,124,201,224,
-153,136,157, 31,221,226,228,197,231,217,186,243, 53,238,236,172, 35,223, 43,208,223,138,104, 59,151,184,123,237,243,248,167, 5,
-158, 55,195,184,158,112,172, 95,220,222,220,162,219,237,210,239,247, 57,127,254, 60, 47,189,244, 18,159,251,220,231, 30,252,155,
-143,187,245,227,223, 47, 95,190, 76, 81, 20,116,187, 93, 70,163, 17,123,123,123, 36, 73, 66,119,167,203,120,184, 67,118,255,109,
- 6, 59,175,147,166, 41,235,103,126,137,199,222,255, 15,248,230,255,251,155,100,131, 17, 31,253,173,127,203,107,111,252, 79, 28,
-190,245,125,106,157, 18, 52,230,112, 76, 70,133,100,102,249, 9,162,206, 9,202,100, 64, 26,111,161,132,131, 31,118,168, 26,112,
-233,103,161,249,131, 57,190,255,253, 39, 88, 88,190,197, 81, 47,230,246,253, 29,158,121,246, 25, 90,171,235,220,126,235, 42,123,
- 59, 7, 20, 90, 33,235,144,186, 44, 56,186,237, 19, 46,127,135,253,171, 10, 25,190,133,107, 22,104,206, 62, 67, 93, 84,104, 35,
-168,119, 26, 4,157, 69,202,234, 45,164, 35,240, 28, 43,254, 82, 66,226, 56,182,240,205,210, 12,141,166, 42,109,243,104,140, 61,
-143, 70, 73,130, 80,130,118,179, 77, 24,134, 16, 50,157,114,164, 40, 57, 21,234,106,112,124, 11,152, 65, 67, 18,143,113, 92, 69,
- 16, 88,252,171,214, 26,229, 42,202, 50,199, 15, 45, 38,187,172,172,211,167,170,114,180, 86,152,194, 22,223,150, 75,239, 32,165,
- 93, 53, 23,133,181,225,153, 41,250,213,117,173, 5, 20, 33,168,140,198,100, 57, 96,208, 74,225, 56,246,162, 55,166,182,211, 48,
-169,166,130, 61, 31,223, 23,148,121, 65, 16,184,148,133, 61,183,209, 9,157, 78,203,238,188,107,131, 23,184, 20, 89,137,148, 22,
-237,141, 54, 8,229, 82,215, 86, 88, 29, 52, 27, 80, 85,212, 83, 65,173,214,214,137,213,104, 52,112, 28,133, 64,144,167, 41, 81,
- 20, 0,150, 61, 82,151, 37,186, 54, 76,138, 17, 74, 56,168,229,245,245,207, 76,210,220, 10,125,170,138,186,214, 86, 29,157, 91,
-232, 72, 93,215, 8, 37,201,211,148, 36,142,121,239, 5,143, 43, 58,102,123,107,128,240, 29,110,198, 53,107,235, 51,124,236,189,
-151,216,220,233,243,197, 47,253,144, 23,159, 58,199,153,135,207,112,123,172,249,253, 47, 29,241,214,161,166,212,118,119,235, 5,
- 1, 72, 65, 35,136,192, 24,198,163, 49,227,172,100, 82,193, 94, 21,242,246,126,197,183,118, 21,223,222,133,151,247, 12,165,112,
- 88, 91,106,113,229,124, 27,207,143, 72,180, 64, 43,193,209,222,144,170,174, 9, 26, 33, 11,167,230,145,129, 75,220, 29, 32,181,
-134, 92, 35, 93,137,227, 9,138,162,166,174, 52, 2,141, 31, 74,130,192,167,170, 12,210,245,169,138,156, 50, 25, 51, 25,197, 68,
-157, 54,107, 63,245, 36, 71,247,182, 48,101,197,236, 35,231, 16,141, 14,212, 9, 98, 80, 96, 80,136,245, 25,218,202,240,204,170,
-228,111, 61,217,224,201,211, 13,210, 82,178, 63,177, 59,143, 90,107,102,102,218, 72,199,153,238, 50,203,169, 72,206, 10,130,220,
- 32,180,149,162,132,162, 44, 48,102,186,239,102,250,223,218,216,157,142,167,108,133,104, 52,198, 8, 92,199,238,206,131, 32,152,
-250,218,107, 42, 93, 19,248, 1, 2,133,242, 20,142,242, 16,104,226,113, 12,198, 16, 53,155,132, 65,136,227,185,182, 40, 51, 86,
-252,102,187,254, 2,215,115,145,210,194,108,170,233, 14,222, 17, 54, 3,190, 40,173,104, 3, 3,101,109,253,241,202,117,185,184,
- 18,240, 63,127,114,150,245,200, 69,151, 6,124, 15,145, 85, 24, 35,168,239,222,229,222,230, 33,103, 78,206,227, 62,116,154,123,
-111,222,103,101,185,137,114, 61,118,122, 9, 79, 62,180,200,197,159,189, 4,169,230,230,183,110, 51,247,240, 9,196,242, 44, 23,
-159,127,142,236,198, 38,193,179,239, 67,168, 54,140,191, 74,203,196, 52,235,146,197, 78,139,106, 52,166, 87, 73, 30, 46, 15,121,
-171,155,112,237,238,136,205,163,138,111,236, 86,188,222,211, 52, 71, 35, 92,161,249,214,198,132,222, 56, 39,170, 83,178,209, 8,
-199,241,120,181,106, 35,180, 65, 72, 5, 24,170, 90,227,121, 46,142,227,178,123,112,192, 36,181, 35,110,131,181,156,181,155, 13,
- 90,141,198,116, 95,231, 19,249, 62,101, 93,211,157, 38,138,133,129,181, 2,214,181,125,255,247, 15,251,108,222,239,146, 21, 57,
-117, 81,216, 52,195,170, 70, 57, 46,142,231, 66,109,201,106, 6,193,112,108, 19,214, 38, 89,198,202,226, 34, 39, 87,151,167,144,
- 22, 69,187,217, 36, 8,124, 28, 37, 17, 8, 22,167,152,217,133,185, 14,219,187,251,132,158, 75, 24,250,244, 7, 35, 70,163, 49,
-221,253,125,126, 50, 12, 69, 74, 73,167,217, 64, 41,135, 81, 28,147,230, 22, 57, 57, 28,143, 73,211,140,163,225,144,195,190, 13,
- 80,209,198, 16, 5, 1,237,118,147,197,185, 57, 90,205, 6,158,227, 48,219,110,113,239,126,151,100,146,162, 92,135,208,183,147,
-140,170,170,136,179, 9, 69, 81,219,241,168, 49,212, 90,115,172,204, 85, 82, 17,133, 62,174,231,178,188,176,192,139,207, 61,131,
- 49,154,123,247,187, 12,198, 49,105,154, 50,223,110, 51,140, 99,134, 83, 5,248,241, 43,240,125, 30, 62,119,134,179, 39,215,121,
-227,250,117,254,215,255,235,143,248,250,183,127,192,245, 59, 22,227,235, 40, 7,177,188,134,147, 60,143,170,230,217,185,249, 13,
-124,221, 67,214, 9,165, 72, 72,199,251,180,102, 47,178,124,238, 2,105,190,199,220,169,117,102,231, 79,112,255,213,239,208,112,
-211,233,216, 58, 97,166, 25,146,143,182, 24, 30,188, 69,158, 13, 49,117,193, 68, 13, 81,185,173,223,214, 46,254, 50,167, 95,156,
-229,157,191,128,123, 55, 55, 25,126,233, 22,131,107, 19,210,113,159,209,112,131,254,193,171, 76, 98,151,131,239,237,112,112,239,
-101, 82,255, 46, 94, 75,145,244, 51,162, 21,151,191,243,233,127,193, 56,206,184,251,246,231,201,211,156,199, 31,127,156,170,170,
- 72,211,148, 43, 87,174,240,229, 47,127,249,255, 87,208, 28,191,126,247,119,127, 23, 99, 12,221,110,151,131,131, 3, 14, 15, 15,
-233,118,187,236,237,238,176,189,185, 77,119,243,171, 12,122,111, 50,179,244, 8,238,236,105,238,190,249,111, 24, 14,110, 16, 69,
-107, 4,209, 25,246,239,252,128,246,204, 89,150, 78, 62, 99,173,150, 90, 18,205,158, 98,118,253, 9,148,113,113, 2, 31,191,177,
- 72, 89, 12,201,226, 46,189,110, 73,127,120,150,232,195,208,251,209, 58,237,185, 29, 6,195, 3,106, 36,101, 94,227, 12,214, 9,
- 58,154,209,248, 62,121,236, 97,170,138, 42,207, 40,243,140,168,147, 49,220,124,147,131,187,215,201,147, 17, 11, 39,159, 65, 98,
- 3,160, 74,157, 33,163, 33,249,254,125,178,180,192,143, 92, 16, 18,199,179,169,107,186,156,198,167,186, 14,158,103, 87,142,237,
-118, 11, 41,108,182, 68, 93,213, 54, 44,165,212, 32, 13, 74, 58,100, 89,142, 82, 18,199, 83,214,233, 52,125,246, 66, 63, 36,108,
-132,212, 83, 95,188,214, 26,131, 61, 99,149, 82, 84, 83, 93,140,227,216, 59,231,248, 30,211, 90, 79, 5,140,154, 98,250,255,234,
-218, 70, 90,107,163, 31, 20,199,141, 40,194,241, 93, 2,207,181,103,121, 94, 16, 70,161,237,250,141, 45,154, 29,207,138, 76,125,
- 63,196,115, 29,187,235, 23, 80,107,195,113, 84,108,158,102, 24, 93, 83,149, 53, 65, 24,224,121,238,116, 79,238,131,182,118, 98,
-223,183,235,209,102,179,137,235, 42, 2, 47,192,117, 45, 58, 86, 40,129,148, 54,202,219,145,146, 73, 50, 33,207, 83, 52,150, 14,
- 41,165,162,214,154,108, 42, 66,148, 8,219,228,173,157, 58,253, 25,165, 36, 66,218, 8, 73, 63,240,144,210,181, 42,111,215, 65,
- 41, 97,199,203, 69,129,214,154, 23, 47, 53,105,141,199,236,238, 13, 49,173, 38,137,208,252,202,251, 31,227,219, 63,190,203, 43,
- 95,121,133, 95,249,213,151,136,230,102,216, 60,136,249,204, 87, 6,148,194, 67,184,118,244, 44,133,196,117, 28,202,210, 94, 42,
-186,214,100,105,250,224,128,242, 3, 31,229,168,105,133,100, 24, 23,112,243,200,240,185, 55,251,124,109, 91,226, 69, 62,167,151,
-219,156, 91,109, 18,206, 68, 76, 10,193,224,104,200,209,254,152,249,249, 54,173,213, 14,198,177,209,116,249, 48, 67, 23, 26,215,
-147, 56,129, 67,158,215, 40, 5, 80,147,230, 5, 69, 86, 18, 69, 14,218, 21,212, 21, 68,126, 72,235,201,135,144,189, 33,155,183,
- 55, 57,137, 11,151,206, 35,110,189,205,155,255,207, 23,184,253,230, 38, 75,227, 10,231,217, 71, 49,126, 3,199,119, 56,213,145,
-124,248,178,226,133,115,138,208, 87,196, 25, 76,106,151,170,178,187,206,168, 17,225,185, 14,142,103, 41, 99,121,105,221, 3,181,
- 49,152,202,138,157,140,177, 93,144, 31,134,184,238,148, 2, 39, 36,149, 54, 24, 97, 80,182,207,196,115, 45,104,161,168,107, 28,
- 37,166,150, 17, 27,249,233, 40,187, 31,154,196, 49, 66, 74,148,148,248,129,135,169, 44,193, 40, 12, 67, 60,165, 44,198, 80, 57,
-120,174, 75, 94,228,196,113,108,247, 95,142,135,157, 12,106, 28,215,153, 86,149, 26, 33, 37,158,114,144, 2,158, 62, 45,249,175,
-126,174,205,137,200,179,153,244,128,184,181,129,233,116, 16,105, 65,117,253,109,134,185,102,253,242,105,148,113,185,119,255,144,
-221,253, 49,207, 61,185,198, 66,211,227,252, 7, 30, 6, 41,248,241, 55,111,241,234,205, 67,158,252,208,187,160,209, 65,168,130,
-224,145,117,132, 76, 48,233, 91,136,239,255, 37,188,122,141, 57, 39,103,101,109,134, 11,231, 78,114,237,246, 30,106,120,200,247,
-238,166,108,151,146, 63,221,129, 31,165,146, 65,173, 56,219, 16,220,136, 53,135,165,224,135, 91, 21,215,246,107,222,238, 21,236,
-143,114,246,130,101, 43, 28,212,150,128,151,101, 25,203, 11,139,248,174,226,238,116, 20,124,172,192, 46,202,138, 48,240,241,124,
- 31,207, 85, 56,202,157,162, 26,199, 28, 30, 29, 61, 80,151,102, 69,137,231, 90, 59, 74, 20,248,108,237,238, 97,180, 21, 6, 61,
-241,200, 69, 78,174,173,226,123, 54,204, 36,244, 3,214, 87,150, 80,174,203,214,125,187, 71,182, 22, 21,203,197,182,149,183,100,
-146,165, 86, 72, 84,228,100, 69,201, 78,183,203,237,205,109,210, 52,195,230,154,219,117,142,116, 20,121, 94, 76,247,237,150, 79,
- 0, 32,140,101, 37, 52,166, 69,130, 49,134,188,178,157, 74, 57,237,254,141,177,168, 91,163, 13, 73,154,226,187, 14, 94,232,211,
- 10, 34,148, 35,233, 15,135,220,221,218, 33,205,172,106,217,192,212,142, 99, 5, 66, 18,112,166,251,193,192,117, 81,202,225,212,
-250, 42,141, 40,100,105,126,158,153, 86,139, 11,103, 79,241,212, 99,143,240,252, 51, 79, 50,219,238, 48, 30,143, 57, 24, 14,185,
-113,103,131, 94,223,162,154,143, 95,107, 43, 75,188,239,185,167,121,238,201, 39,152,105,218,120,227,113, 50,225,240,168,207,112,
- 58, 22, 93,152,153,193, 52, 58,100,229, 12,158,187, 72, 69, 72, 58, 57,162,146,109, 12,109,150,214,158,229,244, 99,127,139,170,
-177,133,246, 21, 65, 24,176, 30,253, 42, 59,119,239,113,255,222,143,136,227,156, 44,143, 73, 38,214, 22,218,108,122,144,167,228,
-105,138,142, 83,252,246, 10, 74, 5,204, 45, 60, 66,221, 93, 99,123,231, 6,177, 28, 51, 78,118,137,247,222,162, 50, 19, 14,239,
-189, 66,146,220, 99, 60,186, 71, 26,103,140, 6, 67,210,250,109, 46,127,248,151,241,102,218,196,241,144,149,149, 79,240,230, 15,
-254,152,146,251, 12,143, 70, 44,116, 58,120,190, 79,154, 90,246,249,249,243,231,185,118,237, 26, 54,156,195, 10, 99, 23, 22, 22,
-120,233,165,151,184,116,233, 18,219,219,219,236,237,237,217, 72, 39, 39, 14, 0, 0, 32, 0, 73, 68, 65, 84,203,124,111,143,221,
-189, 61,226,241, 0,209, 60, 73, 69,135,248,224, 30,179,203, 87, 80,202,112,180,245, 93,202, 92,211, 94, 58,193,230, 91,255,158,
- 52,219,231,169, 15,253,183, 60,247,177,127,200,187,126,250,215,120,234,103,127,139, 70,251,121,186, 55,191, 76,154,246, 40,210,
- 17,249,100, 76, 93, 38,148,233, 62,147,120,147,131,157,187,228,187,143, 19,133, 1,227,238,125, 26,115, 25,131,120, 66,158,142,
-200,250,134,180, 59,162,214, 93, 76, 17, 81,150, 96, 68, 77, 89,166,212,147,152,229, 11, 45,142,186,125,162,213, 14,173,246, 57,
-140,158, 65, 48, 13,131, 81,135, 4, 58, 33, 31,143,201,139,124,202, 68, 0, 37,173, 51,200, 11, 67, 28,215, 3,105,139,215, 52,
-203, 30, 8,133,143, 47, 58, 41, 36, 2,141,209,118,130,152,101, 5,174,227,160,148,107, 69,166,190,101,110, 88,245,188,143,235,
- 58,248,174, 21,159, 85,245, 79,160,190,107, 11,148, 9, 2, 31,223,183,169,153, 54,170,219, 94,238, 66, 90,244,185,125, 25,116,
- 85,227,184, 14, 82, 10,164,235, 80,164, 25,126, 24, 32,140, 70, 41,135,188, 40,241, 61,143, 44,203,168,117, 77, 81,228,232, 90,
-227,251, 30,249, 20,119, 43,132, 5,238,164, 19,155,232,102,243,208, 53,181,174,169,234,210,162,183,141, 13,238, 54, 24, 43,194,
-115,108, 50,167, 49, 6, 41, 45, 31,163,170,107,138, 42,167, 46, 45,131,165, 44, 44, 33, 47,205, 50,108,194, 92,102,207,179, 41,
-249,179, 42, 11,148,144,212,194,170,245,213,137,211,103, 62, 83, 86, 21,209,148, 18,102,229, 95, 80,148, 21,121,110,227, 65,109,
- 22,172, 85,109,255,204,163, 13,210,157,125,164, 17,140,189,128, 43,103, 23, 89, 94,155,231,135,127,249,109,158,127,241, 10,141,
-229,121,100, 85,242,207,190,222,227,198, 65,134,114, 29, 92,199,193, 81,118,188,232, 56,142, 37,229,160, 25,143, 99,180,182,163,
- 96,109, 4,233,100,130,146,194, 10, 69,166,135,157,158, 90,140,178,170,228,106, 55,227,175,222, 25,241,213,205,146,133,197, 57,
- 46,173,183, 89,157,111, 18, 11,201,173,205, 62,121,146, 50, 55, 19,178,118,126,133, 82, 11,242,163, 24,145,151,148,181,193,109,
- 89,246,122, 85,104,130,208, 65,152, 26, 35, 13, 2,195, 36, 47,233,143, 38,164,119,182, 73,142,198,212,198,218,194,154, 23,151,
- 17,111,110,177,121,243, 6,157,192, 99,233,204, 69,120,244, 69,152,123, 2,221,242, 64, 57,136,149, 69,230,101,205, 79,173, 42,
- 62,250, 68,200,229,101, 65, 63,158,112,175, 87, 32,165,131, 54,118,164, 62, 78, 18, 26, 81,132,114, 60,234,218,142, 47, 93,207,
-102,172,123, 65,128,231,122,160, 13,121, 89,146,231,185, 29, 39, 41, 57,253, 28,114,140, 0, 79, 57, 24,163,209, 70, 83,149, 53,
-121,150,114, 44,106, 43, 43, 27, 23,234,121,222, 95,119,231, 88,222, 64, 85, 90, 52, 40,218,170,161,179,212, 10, 48,140,177,162,
- 62,199,115, 65,104,235,159,116, 28,124,215, 67, 27,131,146,130,134,111,248,221, 15, 52,249,157, 15, 45, 50, 35, 37, 70,215, 32,
- 92, 76,111,196,238,119, 95,165,121,122, 13,177,176,192,228,218,155,220,232,165, 92,122,223,243,152, 86,196,133, 11, 43,220,185,
-181,199,214,222,144,199,206,207, 17, 45,205,195, 70,143, 47,126,239, 54,225,164,224,209, 83,103, 49, 15, 61, 7, 91,111,192,205,
-219,240,217,127, 7, 95,252, 19, 68, 54, 64,188,117,147, 31,255,224, 46,222,221, 91, 12,119, 54,169,189,136,253,218,225,213,187,
- 71,124, 97, 23,246,181, 36, 80, 48, 35, 12, 7, 19,205, 59, 49, 28,149,112, 61, 21,220, 45, 5, 55,198,130, 55,134, 53,205, 78,
-219,106, 1,138,130,193,104,204, 40, 78,216,239, 29, 48, 74, 98,146, 36,181,246,180,233,158,179,174,107,194,169,208, 48, 47,202,
-105,232, 9, 28,244,250, 12, 71, 35,170,170, 66, 79,223, 85,207,179,204,127,163, 13,157,118,203,218, 84,140,161,211,234,208, 8,
- 3, 90,205, 6,237,102,139,153, 78, 19,199,117,233,238,238,211,157,102,184,219, 2,162, 36,240,125,230,230,102,153,237, 52,201,
-178,140,254, 96, 72,154,229, 76,178,156,221,195, 67, 6,195, 49, 69, 93,210,106, 68,172, 44, 46,218, 66,175,172,112, 28,133,148,
-214, 26,115,156,170,102,128,100,146,210, 31,142,136, 39, 41,121, 89, 18,199, 49, 90, 91, 81,156,231,121, 72, 36, 89,110, 35,133,
-141,177,156,119, 97,140,117, 72, 72,195, 65,239,136,173,157,238,131,139,183,170, 42,180,174,113,164, 68, 77, 45,156,142,148,140,
-226,152, 56, 73,104,132, 33, 47, 62,251, 20,247,119,118,137,194,136, 23,159,123,154, 95,122,233, 67,204,206,118, 40,203,146, 71,
- 46, 94, 96,125,121, 25, 37, 4, 71,131, 17,247,182,187, 28, 23, 33, 96,199,251,141, 32,176,223,127,207, 35, 77, 83,246, 14, 14,
-153,164,211,104,103, 33,152,109, 55,144,142,195, 56,174, 25, 15, 15, 9,103, 86, 57,243,200, 39, 56,241,196,111,178,254,216, 71,
-185,120,229,227, 92,254, 7,239, 98,239,155,239, 80, 57, 67,200, 50, 14,239,222, 32,203, 74,178,225,109,160,164, 78, 19,234, 50,
- 38, 30,247, 56, 26,196, 52,154, 77,178,108,192,204,234,211, 52,230,207,128,169, 49,210,229,104,247, 46, 71,251,111,147,197, 93,
- 38,241, 14,105,218, 39,143,123,244,246, 55, 88, 90,126,142,209,225, 45, 78,159, 61,197,103, 63,251,247,249,198,215, 79,226, 76,
- 36,163,219,123, 76,244, 30,111,125,233, 15,185,247,214, 23,104,159, 61,135,223,118, 57,218,217,199,157,174,223,198,227, 49,190,
-239,211,106,181,104,183,219,156, 58,117,138, 19, 39, 78, 48, 55, 55,199,201,147, 39,233,245,122,236,236,236,176,191,191, 79,175,
-215, 99, 56, 28, 98,180,134, 50,167, 8,207, 16,181,207, 18,180, 22, 8, 58,107, 40,229,210,158, 61,193,242,217, 39,105, 62,182,
- 70,160, 22,136,247, 14,233,204, 61, 68,247,214, 53,238,254,248, 91,108, 93,127,139,108,180,199,168,191, 65, 85,140, 41,171,152,
- 44,217, 37, 75, 14, 81,194, 96,170, 9, 89,178, 67,127,227,117,200,124, 70, 19,232,204, 15, 56, 58,236, 89,168, 84, 16,147,108,
-239, 50,216,221, 32, 58,189,128,142,167, 35,222, 42,167,152, 12, 88, 60, 51,195, 83,191,248, 18, 69, 59,196, 12, 13, 66,181, 16,
-178,129, 46, 51,210,193, 1,158, 59,162, 26, 15, 80, 82, 81,212, 21,197, 20,222,148,150, 5, 66, 27, 92,215, 78, 3,117,109,236,
-153, 85,150,228, 85, 73,173,177,147, 43, 37, 30,224, 97, 29,199,238,163,193,144, 36,241,116, 53, 38,145, 18,132,148,118,116, 45,
-132,253, 78,215,102,106,179,117,108,244,181, 82,211, 70, 69, 78,199,243,214,174,118, 12,199,177,123,117, 61, 29,199, 75,140,209,
-148,165,166,170, 43,234,170,158, 62,103,142,213,175,104,131,198,254, 12,215,179,170,126, 33, 28, 43, 84,205, 10,176,125, 40,121,
- 86,144,229,133,109, 14, 92, 15, 41,148,237,160, 29, 9,218, 38, 93, 86,117,101,207,126,165,152,228, 41, 69, 89,216,230, 54,203,
-236,202,184,178,169,114,190,103,227,107,109,130, 98,129, 96, 58,101, 46,203,159,152,210,253,181,240,178,172, 44,208, 71, 8,129,
- 90, 92, 91,251,140, 16, 2,229, 40,202,170, 32,142, 19,178,204, 34,232,142,109, 23,157, 78,199, 94, 22,142,195,139,151,155,184,
-195,152,251, 8, 38,253,152,119, 63,113,150,254, 65, 31, 38, 9,231,158,123,130, 50, 43,217, 30,228,252,223,215,106,140,182, 33,
- 14, 82,185,212,117, 73, 85,218,234,201, 15,124,140, 54,228,121, 65, 20, 69, 0,100,217, 4, 4, 20,213, 49, 7,189,192,104, 91,
- 85, 53, 27, 13,171,220, 53,150,156,230, 53, 59,188,221, 51,124,125, 91,115,107,172, 57,191,214,225,225,181, 6, 6,101,253,239,
- 59, 67,230,230, 27,204,172,204, 98,132, 67, 54,152,224, 74,129, 19,249,168,200, 71, 27, 9,194, 80,230, 21,195,113,134, 86,176,
- 59,202, 56,138, 99,124, 89, 89,240,129, 22, 44,185, 62,119, 95,191, 74, 58,153, 16,250, 46,243,203, 75,112,110, 1,234, 49,226,
-139,175,112,120,117,131, 70, 30, 66,238, 98,124, 23,183,233,113,114,193,225,231, 30, 10,248,200,101,159,213, 25, 67,127, 52, 97,
- 99,223,138, 35,180, 49,120,158,107, 43,120,207,163,214, 54, 71, 93, 9, 69, 94, 22,100,211, 93,184,231,218,236,115, 33,196,180,
-170, 5,129, 77,188,178, 57,217, 14, 70,107,148,176, 62,206,193, 96, 64,150,102,148, 85, 69,145,219,188,224,172,176, 95,146, 34,
-183,107,128,122, 42,120,171,167,157,155, 16,208,104, 88, 33,143,169,236, 88, 44, 47,172,253,201,243, 61, 58,161,225, 87,158,109,
-241,251, 63, 63,203, 51,203, 33,178,182, 29, 45,194, 10,244,118,190,241, 50, 85,154,210,153,159, 69, 12,135,148,183, 55,240,219,
- 77,246,181,131,172,114, 34,233,112,238, 68,155,175,127,127,131,231, 46, 46,225,244,142,216, 62,156, 48,236, 14,152,155,111,226,
- 86, 53,114,243,109,188,163, 13,234,207,127,155,205,215, 55,152,241, 21, 98,101, 22,230,103, 89, 91,159, 39,233, 79,216,221, 41,
-184,181,209,101, 48,169,200,218, 51,236,141, 10,138,178, 38,215,130, 74, 10,134, 53, 28,105,112,149, 32,182,119, 28, 61, 45, 8,
-132,161,116,125, 90, 81, 72,156, 21,118, 44, 61, 73,153,164, 41,253,193,200,226, 94,203,242,193,119,220,242,164, 21,198,216, 46,
- 53,207,203, 7,227,191, 48, 8,145, 74, 81,213, 54,195,124, 97,110,150, 19, 43, 75, 68, 65,240,160,171, 12,166,138, 91,215,117,
- 30,128,145,242,162, 98, 48, 24,146,166, 25,147,116,242,224, 18,158,237,180, 88, 93, 90,100,117,113,158,245,229,101,102, 58, 45,
-139,126, 44,115, 66,215,163, 63, 28, 83, 87,211,135,215, 96, 11, 50, 99, 71,225,118, 98,102,200,138,146,252, 39,138, 18, 41,152,
-142,240, 29, 92,101,187,144,178, 44, 41,170,233,231,141, 33,201,114,142, 49,179,205,102,132,171, 92,178,178,192,119,220, 41,139,
-189,207,177,253, 74, 10, 59,214, 87,202,153,118,151,118,165, 80, 85,118,135,254,241,143,252, 12, 63,117,229, 49,110,222,219,164,
-211,106,113,246,228, 58,147, 44,227,222,214, 54, 85, 85,243,220,187,174,176,180, 56,143, 82,138,157,189, 61,226,100,242, 55,198,
-239, 74, 24, 30, 62,127,158,243,167, 78,178,177,117,159,111,255,240,199,220,220,216,228,176,215,167, 40,115, 60,207,163,168,106,
- 38,131, 17,181,144, 80,197, 24,160,152,196,164,135,183, 72,147, 30,253,237,171,136,225,195, 36,227, 46,147,244, 58,117,146,162,
- 83,135,222,246, 53,116,157, 48, 25, 29, 97,234,156,178,180, 32, 22, 83,167, 40,191,205,115, 31,255,223,121,244,167,254, 62,189,
-221, 87,169,138,120,154,246,165, 25, 13,238, 48, 60,186, 67,157, 14,105, 54, 87, 89, 57,243, 33,158,121,207,111,242, 63,252,243,
-231,184,181,119,138,195,240, 38,250,252,187,121,249, 79, 62,199,214,230, 31, 83,246,239,211, 62,119, 18,103, 52, 68,122,139,156,
-185,244, 27,104,185,193,160,223,163, 28,196, 36,249,132,209,112,196, 96, 48,160,217,108,218,231,177,180, 7,183, 82,118,162,114,
-124,153,143,199, 86, 28,108,187, 61,197,222,206, 14,222,194, 83,148,197, 24, 71,122, 20,121,143, 50, 27, 34,164,139,244,230, 40,
-247,246,153,176,207,112,227, 22,105,218, 69,134, 1,121, 49, 36,141,247,217,185,253, 53, 6,187, 63,194, 11,218,100,147, 30,101,
-188,143,114,124, 92, 63,176, 36, 53, 41,169,234,148, 73,122,136,174, 52,147,131, 35, 22, 86, 93,246,118,118,168,171,154, 78, 39,
- 96,120,112, 64,120,102, 9, 49,176, 13,158,214, 57,166, 28, 33, 85,202,252,185,135,104, 71, 62, 59, 71, 27,168,116, 30, 33, 29,
-202, 34,163,202,143,112,194,152,222,246,134,213, 6, 9,129,239,248,212, 66, 79,191, 83,138,100, 50, 65, 10, 51,189, 76,193,113,
- 61,234,178, 38, 12,124,210, 73, 74, 81,150, 68, 65, 52, 93, 63,154, 7, 29,113,173,107,170,170,162,170,108, 84,248,241,217, 38,
-164, 64, 98, 39,205,121, 94,160,177,190,118,229, 88, 68,183,209,122,250,126, 91,186,167,235, 40,164,156, 54, 61, 2,234,218,174,
-146,106,109,172,157, 88, 41,219,245, 87,182, 1, 45,203,130, 32, 10, 48,218, 34,163, 29,101, 99,172, 61,199,193,245, 44, 1, 79,
- 9,200,179,156,172, 44,208, 85, 73, 81, 91,186,157,214, 21, 70, 74,202,188, 66,136, 41, 67, 68, 72, 60,223,183, 19,113,163,166,
-205, 68,136,114, 29, 42, 93, 17, 5, 33,101, 89,161,148,197, 57,143,199, 35,203, 54, 81, 18,132,164,168, 74,154, 97,131,192, 15,
-112, 61, 23,229, 90, 0,150,174, 42,252, 32, 66, 74,129, 58,117,238,252,103,142,247,191, 18,135,178,182, 7, 79, 24,134, 68,141,
-136, 96,202,203, 61, 78,235, 58,217, 17,204,232,152,109, 45,121,100,182,193, 35, 79,156,225,141,191,250, 22,167,158,126,204,250,
-133, 29,193, 55,111,103,188,188, 17,227, 70,190,125,227,141,198,243,108,224, 67, 93, 89,161,150, 51,221,125, 24,160, 42, 44, 43,
- 88, 8,203,188,213, 90, 19, 70, 33,161,231,163,141,161,209,140,136, 34, 43,210,105, 54,155,182, 90, 41,107,210,162,224, 32,145,
-124,229,102,204,181, 36,224,236,122,135,115,171, 77, 28,223, 97,239, 96, 76, 18, 79,240, 26, 30,179, 39,231,153,236, 15,201,247,
- 7, 80, 85,224, 59, 24, 71, 64,165,193,104, 60,229, 16,249, 46,157,192,161,192,142, 74,246, 6, 25,241,126,223,238, 66, 85,197,
-120,156, 35,141,166,189,181,203,240, 59,223,231,206,157, 59,120,145, 79,243,241,243,232,237, 3,110, 93,221,162,232, 87, 52, 79,
-158,131,135,214,233,132,146, 71, 87, 28, 62,246, 88,155, 79, 62,221, 33, 3, 38,153, 33, 46,106, 92,215,183, 16, 17, 37, 16,194,
-238,211,243, 44, 67, 58,214,131, 89, 85, 54, 32,192, 86,200,199,118, 5, 7,199,115, 16, 6,226,100, 66, 28,143,153, 36,201,212,
-147,105, 47,219, 40, 10,112, 93,135,162,172,108,162,207,116, 10,162, 28, 27, 49,235,123, 30,174,231, 81, 85,213, 52,125, 40,152,
- 62, 40,149,221, 3, 59,146,118, 0,191,240, 84,139,255,250,151,231,249,192,133, 38, 13, 97, 64,131,177,124, 29,132,227, 32,222,
-190, 77,247,218, 59,156,255, 59, 31, 71,108,109,145,188,241, 6,106,146,208,137,154,188,225,118,112,140,226,250,159,127,145,185,
-249, 89, 94,190, 63,228,249,139,139,188,252,239,191, 66,186,184, 70, 20,184, 84,104,110,222,219,229,202, 67, 11,176,210, 66, 62,
-255, 36, 51,207, 95, 65, 92,190, 0,221, 49,148,138, 27,111,109, 99, 92,135, 51, 75, 1,171,235, 29,188, 42,227,153,142,230,253,
- 43,138,243,126,137,172, 53, 18,216, 45, 20,169,134, 75,179,112, 54, 82,252,244,186,226,209,182,226,133, 37,184, 87,181, 8,124,
-143,188,182, 4,171,124,170, 37,208,198, 96, 16,148,101,249, 19,151,140,173,216,237,175,105, 12,171,146,228,121,206, 56,153,144,
-229, 25,142,107,185,210,129,239, 49, 63, 51, 67, 24,250,214,118, 86, 91,120,196, 36,203,144, 66, 97,209,187,214,175, 94, 22, 37,
-163, 56,102,191, 63,120,112,161,218, 85,138, 71,173, 53,237,102,131, 32,240, 9, 60, 15, 37, 37,121, 89, 50, 24, 14, 56, 26,142,
-168,181,205,107,111, 70,214, 10, 84,107, 75, 51, 28, 78, 38,196,201,228,111,252,253, 13,118, 71,237,185, 14, 70, 64, 89, 84,244,
-134, 3,122,253, 33,166,174,105, 68, 17,235, 43, 75,150,186, 5,116,154, 77,102, 58,109,206,158, 88, 71, 74,201,225,112, 72, 89,
-216,132,172, 90,215, 24, 64,107, 67, 85, 91,186, 96, 16,134,132,190,205,134, 56,123,242, 4,255,205,239,253, 61,140, 49,188,252,
-198, 53,102,154, 13,180, 49,220,188,179,193, 27,239,220,224,189,207, 62,205,195, 15, 93, 32,116, 93,150, 22, 22,112,149,226,141,
-183,223, 97,239,208,230,193, 47,205,207,241, 43, 31,253, 8, 63,245,196, 99,246, 59, 37,108,254,251, 48,142, 25,197, 9, 6,136,
- 66,159, 86,163,193,218,210, 60,197,100, 72,145,141, 9,162, 16,227, 68,148, 89, 13,198,118, 95,241,222, 38,229,184, 75,233,239,
-147, 29, 30, 17,202, 54, 73,233, 98,242, 1,121, 62, 1,108, 82,156,208, 96,168, 89,189,242, 40, 39, 46,255, 58,105,220,103,176,
-123, 21, 93, 39,104,157, 34, 85, 72,145, 12,200,227, 46,141,246,105, 86,207,188,192, 83, 31,122,158, 23,255,179,132,247, 24,143,
-252,197, 22, 95,248,204,159,242,249,127,254,223,145,140,182,105,157, 94,100,255,198, 29,188,118,131,230, 76,136, 50, 77,154,179,
- 79, 19, 52,215, 49,209, 54, 91,175,189,197,218,218, 10,227, 81,194, 96, 56,160,215,235, 97,140,193, 42,161, 45, 3,126, 28,199,
- 76, 38, 9, 15, 44,178,211, 11,125, 52,236,179,181,123,196,204,218,211, 12,246,126, 68,157,143, 40,211, 3,234,124, 76,145,142,
- 40,179, 33,233,232, 62,227,189, 30,101, 58, 32,141,123, 40,147,160,243, 49,233,248, 62,233,224, 30,167, 30,249, 20, 11, 39,159,
- 39,136, 22,145, 82,129, 99,161, 83, 82, 64, 93,229, 40,169, 44,109, 46, 27,147, 12, 15,233,204, 10, 28, 71, 49, 30, 39,120,205,
- 6, 47,124,248,131,204,157, 62,193, 32,238, 82, 29,217, 72, 79, 93, 21,184,205,146, 76, 43, 58,174, 79, 50,216,167,136, 93,164,
-156, 5,157, 83, 20, 67,130, 70, 74,213, 63,176,148, 63,233, 34, 29,235,244, 9,124, 11, 40,146,211, 75, 78,107,109,173, 97,101,
- 65,224,219,125,179,239, 7,212,117,133,227, 57,214, 29,228, 74, 42,109, 35, 85, 65,211,136, 26,184,174,157,248, 54,162, 6,194,
- 17,164, 73,106, 57, 34,158,135,231, 7,248,254,116, 7,238,219, 72,109, 49,125, 54,108,222,123, 72,141, 13,225, 66, 9,164,144,
- 15,198,244,174,163, 48, 66,145,166, 25, 69,110,133,105,218,212, 96, 20,121,145, 17, 4,161,237,208,165,196,113, 29,108,210, 26,
- 40, 37, 40,170,250,193,217, 97,159, 27,137, 84,118, 45, 86,148, 53,122,122,167, 58,174,131,239,249, 52,162, 8, 33, 21, 85, 89,
- 81,105, 59, 25,240, 3,159, 50, 47, 41,139, 10,132,197,163,199, 73, 74,173,107,210, 44,197,102,114, 64,179, 17, 77,125,243, 57,
-190, 63,213, 88,213, 37,173, 86,123,186, 46, 87,168,197,213,181,207, 4,129,229,225, 42, 71,218,253,196,116,188,152,231, 25,117,
-101, 43, 36, 43,134,168,185,188,234,115, 38, 44,217,233, 38, 60,115, 97,137,118,203,231,230,183,127,136, 60,119,129,165,118, 72,
- 89,212,124,107,171,100, 51, 22,228,233, 4, 33, 21,181,193, 34,104,171, 26,229, 56, 8, 97,168,203,154, 70,212, 32, 12,124, 2,
-223, 39, 8,124,106,109,115, 98, 45, 12, 68,130,208,184,142, 69,163, 42,105,223,220,178,182,185,188,206,180,179,172,235, 26, 47,
- 8,232, 15, 38,124,103, 35,231,229,125,129,244,124,222,253,240, 44, 8, 56,232,165, 36,195,152,217,181,121,162,197, 25,146,163,
- 9,229,225, 24,165, 53,210,247, 16, 82, 35,164, 75, 16, 58, 40, 45,241, 67, 23, 79,186, 24, 33,240,252,128, 58,175,113,165,164,
-150, 46,217, 36, 97,103,239,144,195, 3, 59,202, 58,117,234, 4,206,179,151, 16, 72,178,173, 46,162,174, 81,147, 10,247, 0,246,
-222,233,210,116, 60,104,186, 68,190,224,197,211, 30,191,248, 68,155, 15, 95, 10, 89,138,172,232,232,246,126,134,192,166, 13,217,
-149,182,121, 80, 41, 30, 35, 4,149,178,196, 58, 57,237,144,171,178, 32, 30,141,169,211, 20,234, 10, 45, 29, 26, 81, 68,163,101,
- 69,105,210,113,113, 92, 7,129, 68, 9, 75,110,114, 92,151,162,200, 16, 8,132, 4, 47, 8,240, 29,143, 99, 98,221,201,121,151,
- 15, 61,236,241,247, 62, 48,195,239,188,111,158, 15, 94,233, 80, 92,221,102,231,206, 1,115,235,179,152, 90, 35, 92,151,228,234,
- 54,119,111,236,177,176,218,102,113,126, 14,115,233, 12, 59, 91, 99,226,112,134,238,107,219, 52, 28,205,235,222, 44, 59,163,148,
-245,165, 38,114,216,231,167,127,225,221, 36,219, 93,100, 24, 17,206,117,216, 62,140,145, 24,150, 58, 1,235, 63,115,145,250,250,
- 33,223,254,234,117,242,123, 99,230,255,246, 39,224,153,247,194,140, 96,238,233, 11,136, 59, 7, 28,108,110,209,206, 51, 46,158,
-157,103,213,131,179, 47,158,225, 61,191,250, 36,191, 26,214, 60,213,200,249,196, 42, 60, 61, 3, 71,147,154,162,208,196,149,228,
-122,162,249,226,150, 33,156,237,160, 28, 43,202, 17,210, 90, 11,179,172,152,138, 18,173,104,174,124,160,196,197, 30,254,128, 16,
-199, 89,234, 54,132,196, 96,199,213, 54,168,194, 48,211,110,227,249,118,114, 37,165,181,151, 84,117, 77, 89,215,164,153, 77,248,
-147,194, 80, 21,182, 56, 11,131,112,186,230,201,167,123,234,138,100, 58, 89,113,167, 19, 25, 99, 12,117, 85,113,115, 99,147,123,
-219,247,113, 93, 91,124, 28,239,242, 60,127, 10, 23,170, 43, 92,101, 19, 17, 93,199,195, 96, 30,116,215, 74, 89,146,150, 82,210,
- 34,111, 51,187, 98, 49, 88,165,109,154,102,150,250,102, 52,253,193,144,131,126,159,205,157, 93, 14,143, 6, 28,244,122,104,109,
-117, 52,229,180,147,180, 43, 32, 69, 24,248,132,190, 11, 82,210,110, 52,248,131,255,226, 31,177,180, 48,207, 96,156,240,185, 47,
-127,131,192,247,120,229,234, 91,244,142, 6,252,143,255,228,247,248,192,135,222,103, 39, 12,105, 10, 24,132,148,116,247,247,185,
-119,191, 75,150, 91, 54, 64,150, 23, 8,105,112, 29,151,219,247,238,115,239,254, 54, 66, 8,138,210,130,149,178,188,160, 50,154,
-213,249,121, 58,243, 29,222,185,177, 73,216,138,144, 74,145, 87, 22, 15, 42, 5,140,134, 27,148,197, 0,252, 49,189,157,125,154,
-186, 34, 25, 31,144, 79,250,212,181,193, 24,139,112, 54,216,236,107,116,141, 43, 5,113,191, 75, 85,141,168,210, 33,101,157,227,
- 5,115, 68,205, 21, 46,188,251,215, 88,191,244, 1, 86, 79, 60,194,228, 8,118,110, 6,108,174, 11,238,126,222,163,183,159,177,
-253,246, 31,209,104,159,162,213, 92,102,116,176, 69,218, 27, 34, 42,159,249, 25,159,189,189,107, 44, 44,190, 64,235,209, 21,110,
-255,224, 11, 28,237, 28,176,114, 98, 13, 49,221,149,218,233,163, 29,249,234,233,103,118, 44,212, 58,158, 66,230,105,198,205,119,
-222,225,111,255,253, 55,249,189,255,227,215,248,210,191,252, 87,136,218,218, 13,165, 52,232,124, 66, 93,199, 24, 93,160,133, 67,
-153, 13,152, 91,121,156,165,133,167,217,191,247, 77, 38,147, 93,102,215,223,197,185,199, 62,133,239,180,104,116,214, 9, 90, 43,
-212,186, 34,203,134, 96,114,180, 41,169,203,132, 42, 29,147,197,187,148,217,128, 81,127,196,217,135, 79,147, 26, 77,146,165, 24,
- 20,237,206, 9, 28, 89,112,116,127,128, 18, 17, 72, 77,168, 34,154,243,138,221,221, 30, 42,139, 41, 50,133,235,206, 2,130,162,
- 24,227,182, 38,148,131, 61,106,109, 41,104,121, 54,221, 7, 79,108, 42,102,232, 91, 31,185,235,218,103,231, 56, 47,192, 66,187,
-114,187, 14, 18,224, 78, 59, 85,223,117,145, 74,224, 56,158,189, 37,165, 64, 9, 7, 93,107, 92,199,234,137,170,186, 36, 29, 79,
-208,210,224,123, 54,225, 82, 40,187,198,173,167,171,174, 73,154, 34,164, 64, 24, 16,106, 26,200,229, 56, 15,244, 72, 90,215, 72,
-233, 32,208, 8, 37, 73,211, 20, 93,219, 54,220,115, 92,164,178,107,100,137,109,170,116, 85,225,122, 62,142,114,237,101,111, 12,
- 85,109, 11,121,163, 45,133,213,178, 82,192,247, 61, 26,141, 6,199,132,206,186,182,184,230, 99,150,137,239,123, 84,186,166,174,
-236,247, 53,159,142,225,143, 1, 53,182,240,176, 56,112,235, 69, 23, 56,158,135,227, 40,138,172,192,243,236, 51, 95,215,246, 59,
-166, 78,156, 62,243, 25,233, 88,195,125,154,218,241,199,177,128,192,247, 3, 92,101,209,117,158,111,153,187, 51, 77,143,119,207,
-195,155,221, 17,221, 94,194,220, 76, 68,182,213,229,107, 91, 9,207, 61,118, 18,148,225,115,111,142, 57, 44, 4,158,251, 19,152,
- 81,215, 69,185, 10, 11, 98,201,173,181, 75, 42,202,178, 66,160,144,158, 67, 24, 6, 88, 38,181, 21, 69, 56,142,139,235, 56, 8,
-105, 16,210,114,120,229, 52,146,212, 26,252,205,212,251,107, 85,189,160,153,228, 53,175,117, 51,254,114,163,166, 51,219,226,226,
-137, 54, 81,160,216,223, 61, 98, 56,204, 89, 61,191, 68,208,242,137,123, 49,229, 32,193, 76, 42,100, 39,160,172, 53,165, 46, 41,
-178, 18,133,161,174,160,166, 34, 10,172,248,225,242,165,243,156,121,252, 10,189,237,251,168, 72,145,100, 5, 45, 63, 36,212, 14,
-201, 59,183, 57, 58, 56,196, 13, 45,255,247,254,221,187, 92,191,179,197,155,183, 14,232,152, 22,205, 15,191, 15,102, 58, 56,105,
-202,236,172,199,149,211, 33, 63,255, 68,147,255,228, 61, 77, 78,204, 24,102, 90,129,165,223,185, 62, 26, 27,199,153, 38, 9, 89,
-158,145,231,185,165,189, 1,147,241,152,100, 52,166, 46, 50,132,177,226, 37, 33, 37,141,102, 19,141, 29,209,103,105,138,231,218,
- 11,219, 8,144,142,162, 42,173, 56,175,210,154,192,115,152,137, 60,206,174,120, 60,119,193,231,151,158, 10,249,237, 15,204,241,
-145, 71,155,156,104,123,248,161,203,228,245, 46,255,250, 75,215,153,157,107,176,118,118, 9,169,128, 84,243,165,239, 92,103,166,
-213, 96,233,172,101,168, 51,204,249,147,111,222, 64,248, 30,167,147,125,148,239,179, 57,179,200,222, 48,227,133, 39,207,160,251,
-125, 90, 39,215,216,248,234,203, 60,244,158, 43,204,173,205,243,141,239,220,228,220,185,101, 46,172,205, 16, 22,130,127,251,217,
- 87,112,141, 33, 29,166,156,249,216,199,236, 63,226,181, 31, 34,239,222,199,247, 92,102,126,254, 5,252,197, 5, 88, 95,131,247,
- 61,203,240, 27, 55,217,251,230, 53,226,220,176,219, 79, 25,151,134,197,134,199,187,102, 21, 79,204, 10, 90,142,225,122, 95,115,
-191,148,180, 58, 29,180,177, 83, 38,109, 4,102,250,221,138, 2, 27, 76,164,181,161,172,108,231,100, 87, 80, 14,158,107, 5, 53,
- 24,166,130, 49,193,120, 60,126, 48, 85,114, 93,135,102, 20,225, 58, 46,249, 84,129,122,216,235, 91,126,192,180,211,146, 64,109,
- 32, 47,237,184,220, 96,147,158,142, 70, 67,234,170, 70, 96,136,130,144,229,185, 57,187,238,240,172,191, 53,158,138,231,138,178,
- 66, 74, 69,146,196, 8,160,211,178,163,219,238,126,143,131, 94, 31, 93,105,171,208, 15,125,164,176,251, 64, 93,107, 43,136, 19,
- 6, 71, 72,187, 46,168, 74,148,227, 16,250, 46,205,168,129,114, 92, 26,145, 21,211, 37,137, 37,127, 25, 99, 21,196,121, 94, 79,
-187, 38, 27, 95,219,105, 54, 49, 88,132,103, 58,117,199,232, 90,115,233,194, 57, 62,249,209, 15,179,180,178,194,221,141, 13,238,
-108,110,179,179,183,199,214, 78,151, 79,254,252,135,249,232,135,222,143, 41, 43,146,120, 76, 94,149, 12,134, 67,242,178,228, 71,
- 87,223,228,229,215,175, 2,176, 48, 55,199,211,143, 95,102,125,105, 9,165, 28,198,241,152, 52, 45,216, 59,236, 19, 79, 87, 80,
-190,239,115,114,121,137,185,153, 25, 90,179,179,140, 26, 17,107,231, 94,164, 28,119,169,178,132,178, 44, 25, 39, 59,140,246,222,
-102, 97,245, 52, 70,246,169,165, 96,184,185, 67, 49,238,177,122,225,231,113,130,101,134,135, 87, 17,198, 22,116,152,154, 44,142,
-241,194, 0, 93, 23,228,105, 76, 85,142, 80,202,163, 53,119,142, 86,235, 44,239,255,239, 95, 64,111, 55,105,127, 24,146, 93,184,
-243,131, 87,121,253, 63, 92,101,111, 99,131,154,140,147,231,126,129,229, 83, 47, 80,228, 7,196,253,187, 8,165,200,253,146,114,
-152, 16,205, 43,230, 87,222,207, 83,143,254, 71,184, 51, 43, 92,251,238,103, 57,218,223, 99,126,105, 9,223,179,118, 73, 99,254,
-186, 8,179, 19, 80,171,216, 22, 82,146, 78, 18,238,110,108,144, 59, 46,179,139,167,248,206,159,221, 98,255,222,151,112, 3,159,
-108,146,160, 92,159,118,187, 65,145,151, 40,229,145,229, 57,181, 78,248,208, 39,255,156,143,252,246,175,242,222,127,250,143,120,
-254,249,127, 76,150,173,113,176,247, 67, 38,227, 61,134,195, 77,178,172,199,252,194, 35,204,173, 94,161, 54, 80, 23, 99,138, 73,
-140,209, 25,117,149,162,107,144, 34,162, 25,206,178,126,110,129,131,225,128, 50,207, 72, 55, 5,142,159, 50,201,143, 16,186,131,
-112, 2,140,136, 88,190,184, 68, 62, 58,100,184,183,131,191, 60,139,206, 59, 72, 21, 80,155, 20,194, 4,167, 72,112,204,212, 58,
-219,136, 40,203, 10,105, 12,158, 31, 32,132, 65, 27, 77, 58, 73,201, 51, 27, 87, 92,228,133,221, 33, 43, 73,224, 7,160,107,140,
-180,138,247,170,172,201,171,146, 73,146,216,241,186,174,241,125, 31, 37, 21,101,157,131, 84, 86,133, 30,133,120,158, 75,146,166,
- 84,149,229,178,107,172,112,172, 40, 75,132, 17, 56,174, 68, 57, 62,101,153,147,167,185, 45,200,141, 65, 9,123,215, 84,149,181,
-154,161, 13,199,248, 85, 12,148,101, 69, 85, 90,200,147, 54,160,181,253,252, 48,218,170,236,167,133,185,227, 89, 27, 50, 26,252,
- 32, 36, 12,236,136,188,170,172, 55,255, 39, 35,172,237,159,107,247,233,101, 81,226, 57, 14, 6,137, 55, 5,218, 56,174,157,170,
- 4,190, 77,125, 19, 66,146,229, 25, 69,145,147,166,233,116,234, 34,112, 61, 23,195, 52, 77, 85,131,144,194,178,223,139,178,102,
-146,196,120,126, 0,194,146,105,138,178,162,204,173, 72, 13, 12, 89, 94, 80,148, 57,163,180,224, 63, 62, 31,112,245,118, 15,141,
-228,198, 70,143, 48,233, 51,191,188,192,217,243,107,148, 69,197, 95,188, 61,162, 59,200, 41,139,130, 90,192,146, 42,121,118, 85,
-240,246,174, 85, 5, 98, 12,198, 88,108,158, 20, 18, 67,141,174,107, 43,194,194, 86,175, 22,244, 47, 24,197, 35,242,188,160, 42,
- 74, 27, 46, 99,106, 70,195,216,230,218,154,122,218,221,218, 15, 64, 27, 99, 35, 78, 93, 23,140,224,157, 35,195,215,239,215,140,
- 76,192,251, 30,157,195,115, 96,227, 94,143,200,243, 56,253,232, 26,153, 86,164,117, 77,213,155, 16, 52, 67,220,192, 71, 74, 40,
-128,163, 44,199,199,224,250,118,212,114,120, 24,179,218,182,161, 1, 7,189, 62,153,174,216,223, 29, 49,222,221, 97,111,123,135,
- 60,206,152, 89, 90, 96,233,133,167,200, 54,238, 51,216,223,103, 33,242, 89, 95, 95,197,189,112, 22,241,118,143,111,126,225, 21,
-182,239,246, 89,214, 33,234,196, 58, 78, 51,224,210,170,207,139,143,183,248,248, 51,109,126,233,177, 38, 31,186,164, 56, 59,171,
-152,107, 8, 90, 13,215,190, 39,166,102,112, 52,198,213,133,253,226, 97,199,246,198, 88,143,163,231,123, 56,174,131,235, 88, 97,
- 93, 93, 85,204,132, 6, 95, 25, 92,165,121,250,116,192, 79, 63,222,224, 83,207,118,248,165,103, 58,252,214,139, 29,126,249,241,
- 6, 47,158,246,121,116,201,167,237, 74,132,152,254,172, 65,193, 95,125,254, 42, 51,142,224,131, 63,115, 5,227, 9,168, 5,223,
-254,194, 85,214, 22,103, 56,181,220,192, 19,192,214, 54,183, 7, 37,219,219, 3,154,157, 16, 39,157, 32, 71, 41,147, 83, 39, 25,
-100, 5,126,173, 89,116, 11,190,250, 39,223,225,197,167, 79, 32, 79,173,115,115,163,199,253,110,159,164, 18,204, 55, 61,178,241,
-255, 71,212,155, 6, 89,118,222,231,125,191,247,236,231,238,247,246,222, 61,221,211,179, 1,179, 0, 24, 44, 36, 0, 2, 4, 64,
- 2, 36,196,181, 40,128, 20, 23,173,137,149, 40,114, 36,151, 45,149,163,184,236,114,204,146,147,216, 85,177,163,164, 42,169,138,
- 28,165, 34, 43,178,203, 46,209,162, 41, 81, 20, 37,113, 1, 1, 18, 43, 1,204, 96, 6,179, 47, 61,189, 47,119, 63,251,250,230,
-195,123, 7,234, 47, 51, 53, 53,213,213,125,187,239,249,111,207,243,123, 98,162, 56,199,172,152,244,163,140,131,215,222, 97,248,
-131, 31, 50,255,192, 60, 20, 46, 65, 38, 40,194, 12,227, 51, 79,163,205,207, 64,191,199,248,229,183, 89,122,242, 17, 26, 39, 86,
-105,203,152, 54, 41,125, 47, 38,200, 74, 26,150, 70,195,128,143, 46,219,172, 54,108, 86, 12, 37, 12, 27,101, 16, 22, 37, 69, 33,
- 16, 40,117,233, 96,228, 17, 76, 10,200,221,143,187,103,140, 90,165, 66, 81, 42,146, 84,150, 23, 20,185, 74,214,203, 38,171,104,
-215,113, 38, 90, 16, 73, 28,167,248, 97,192,200, 11,240,195,144, 78,163,165, 86,235,185, 90, 97, 75, 41,169, 85, 43,212,170, 21,
-246,246,123,164, 89, 54,249,247,146, 40, 77,213,116,173, 43,166,127, 16,132,164,105,142, 44, 37, 81,146, 16, 37, 9,154,174, 43,
-190,124, 89,126,128, 86, 77, 50,197, 82,207, 11,229,249, 21,154, 70, 54, 57,211, 84,109, 71,101, 59,107,234,119, 33,207,115, 74,
- 9, 18,137, 97,104,212, 43, 85,164, 80, 52,195,162, 44,169,184,206, 36,218, 81, 9,144, 28,199, 97,186,221,194, 11, 67,178,201,
- 89,172, 40,212,186,244,185, 39, 63,194,247,127,242, 42,207, 61,249, 24,171, 39,142, 17,123, 1, 27,219,219,220,222,220,230,225,
-251, 78,115,252,200, 97, 46, 95,191,201,203,111,188,133, 23, 70, 44,207,207,179,223,237,115,233,250, 13,222,191,126,139,107,183,
-214, 0,152,159,153,226,161,251,206, 48, 59, 51,141,231,251,236,238,119,209, 13,125, 82,236, 4,166,174, 49, 51,213,230,244, 61,
- 39,120,226,225, 7, 48,218, 83,164, 75,171, 24,241, 44,113,170,145,250,119,232,110,188, 73, 50, 62,224,190,199,127,155,106,107,
-137, 40,190,138,110, 66,237,232, 2,159,253,226, 31,242,167,255,231,139,188,122,243, 12,251,195, 31,145, 13, 6, 72, 81,128,212,
- 84, 97, 31, 15,104, 53, 92, 70,253,117,242, 44,166, 51,251, 24, 11,171, 31,227,240,234,147, 28, 57, 5, 23,191,189,193,248, 29,
-143,254,206, 38,126,184,134,231,223,102,212,187,138,223,187, 73,165,190,168,222, 39, 90,157,100,240, 62,101, 37, 39, 31,100, 72,
-189, 73,226, 27, 56, 86,194, 91, 47,125,131,197,149,103,121,228,217,191,199, 79, 95,250,191,217, 88, 95,195,247,198,212, 26, 13,
-116, 93,133, 33,221,157,204,165,148,132,126,192,141,219,215,216,220,216, 69,119,166,169, 84, 59,120,189,139,244,119, 95, 33,215,
- 82,242,196, 65, 3,210, 96,164,206, 66, 66, 80, 96,145, 39, 17,134,238,242,208,103,255, 49, 91,215,250,108,124,127,131,222,102,
-206,248,224, 22,221,157,243,132,254, 30, 69,212,195,169, 76,211,156, 62,142, 99, 58,104,214, 36, 37, 45, 30,145, 23, 17,166, 89,
-199,112,218, 84, 59, 71,145, 70,139,197,123,218,140,186, 93, 2,127, 68,181,101, 49,190,190, 67,152,246,169, 86,103, 41,114, 11,
-221,236, 64, 62,207,202,131,135,168,235, 57,194,178, 40,162, 42,142,213, 65, 20,146, 50, 75,176, 43, 49,222,158, 74,234, 76,226,
- 24,132,134,105,155, 84, 92,133, 34, 55,116,245,220,215,117, 67, 9,234, 38,231,223,138,237,144,166, 25,186,110, 42,216,150,169,
- 19, 78,178, 52,242, 66,241,222, 93,183,130, 31, 40,125,140,105,154,104,168, 97,180, 82,113,201,242, 18, 83,183, 17, 2,208, 52,
- 64,163, 90,113, 41, 10,149,189,161,178,216,149, 47, 93,109,186,116, 37, 76, 78, 99,138, 44,167, 90,169,161, 0, 50,170, 25, 55,
- 12, 75,225,211,109, 27, 83, 87, 2, 85,203,180,177, 93,133,179,181, 12,101,143,141, 35, 5,144, 49, 39,234,120, 41, 75, 12, 83,
- 39,138, 34, 92, 91,101,104,168, 97,117,146, 0,151,231, 19,221,148, 10,224,178, 44, 27,161,233, 8, 77, 97, 99,133, 6, 32, 16,
-134,218,164,154,166,141, 2,142, 25,196,147, 13, 66,154, 36,228,101,138,174, 25,248, 65,128,109,171,232,244,162, 44, 48,116, 77,
- 32,132, 82,201,122,163, 33,134,105,161,161,163, 21, 5, 73,166,214, 92,102,163,142,117,247,190, 24,229,116, 51,131,229, 41,135,
- 81, 44,176, 28,131, 97,210, 36,235, 71,196,121,138,105,152, 28,153,173,177,238,199, 68, 73,130, 76, 82,142,203, 61,254,199,191,
-255, 27, 28,254,195,239,242, 7,111, 7,232,186,129,105, 9,242, 36,158,100, 77,223, 85,188,170, 65,237, 46,233, 75,136, 16, 33,
- 4,150,101, 98, 57, 46, 89,158, 19,134, 42,156,196,180, 44, 84,238,110, 65, 74, 73, 89,128, 97,187,196,229, 36,247,187, 84, 89,
-181,105, 2,175,110, 11, 46, 14, 52,158, 95,157,226,177,227, 46,126,119,192,149,203,187,204,206, 55, 89, 60,212,198,239,122,108,
-223,220,165,171, 25,204,213,109,186,113, 74, 16,102,184, 75, 77,216,235, 67,163, 66,175, 59, 96,236,251,212, 42, 46, 2,131,186,
- 97, 18,105, 5, 73, 17,162, 87,116,200, 37,169, 31, 66,223,199,118, 92, 26,157, 38, 20, 26,254, 96, 76,229,175,223,160, 55, 28,
-226,140, 6,148,133,198,109,179, 74, 43,222,225,206,214, 14,109, 39,167,102, 10,132,233,178, 48, 63,199,212,252, 20,167,143,207,
-128,151,130,200,161,128,110,152,226,152,130,219,227, 8, 87, 10,124, 36,105, 92, 96, 9, 29,175, 40,113,132,192,177, 76, 34, 13,
-230,108, 65,197,214, 41,164, 70, 77,215,168, 25,128,105,128,169, 65,170, 62, 31, 89,129,148, 2,153, 65,105,168,105, 63,187,190,
-141,233, 86, 25, 30,244,105, 76,215,249,216, 71,239, 65, 28,170, 66, 63,225,218,107, 87, 25, 6, 9, 94, 16,211, 63, 24,242,212,
-177, 14,232, 26, 27,235, 1,199, 15, 53,217,234,250, 52,107,109,220,222, 16, 35,207,232,143, 60,180, 35, 29, 1, 41, 15,238, 0,
- 0, 32, 0, 73, 68, 65, 84,172,204,229,228,252, 4, 0, 83,232, 92,120,111,135, 67, 77, 7, 47, 8,185,182,109,112,223,145,105,
- 18, 36,166,144,172,141, 66,188,124,143, 47, 61,126,152,232,242, 14,127,242,131, 27, 80,192,124,167,201,243, 95,253, 34,242,205,
-215, 17, 69,143,217, 95,123, 1, 49, 40,144, 51,117, 26, 63,251, 44,173, 48,100,245,245, 55,184,242,199, 63,100,187, 31, 18, 20,
- 64,146,177, 98, 58,108, 9,147, 39,173, 49,103, 83,141, 11, 98,134,126, 82,210, 11, 51,188, 36, 71,215, 77,220,170, 70,150,164,
- 42,101, 15,117,231,204,211,148, 40, 78,176, 38,246,151,187,133, 78,211, 13, 36,130, 36, 78,217,218, 85,194,175, 70,189,134,101,
-170, 53,124,197,113, 8,227,144,173,253, 61,116, 33,104,183,154,212,170, 85,106,213, 10, 73,154,114,112,208, 37,203,255,246, 6,
-158,229, 5,113, 20,147,214,114,146, 84,101,173,151,121,193,208, 27, 51,242, 3,242, 60,167,234,186, 72,164,242,170,187, 46,207,
- 63,253, 36,255,213,215,190,200,234,161, 67,236,247,250,156,187,116,133,139, 87,174,177,182,185,201,103, 62,254, 52,166,105,242,
-215, 47,191,198,149,155, 55, 25,142, 21,168,200,182, 76,218,141, 58,243,179,115, 28,244,251,244,135, 67,188, 32, 32,157,156, 29,
- 12, 93,163, 86,107, 32,130,128,209, 56,197,106, 26,100, 69,129,109,153, 74,252,147, 43,127,245,145,195,203, 28,244,123,196, 73,
-170,236,117,166,193,237,245,117,222,186,240, 62, 69, 81,176,115,112,192,183,254,234,251,236,247,250, 60,254,200,131,188,248,153,
-231,177, 44,131,209,216,227,218,173, 53,222,124,247, 60, 0, 21,215, 33,140, 98,110,222,190,195,161,121,133,200,157,158,234,176,
-177,189, 67, 24,134,147,124,235, 2, 39, 78, 8,147,132,177,239,211,181, 59,120,221, 45, 26,250, 50,245,246, 67, 56,245,123,152,
- 90,241, 57,243,224, 47,241,224,195,117,194, 4,174,188,247, 56,175,191,243, 27, 96,103,188,127,238,123,252,203,255,247,151,233,
-238, 92,161,179,124,130, 96,111,143,178, 63,166, 16, 41, 66,211,137,163, 62,235,235, 87,153,157, 94,100, 56,220,225,129,207,252,
- 93,206,156,169, 50,220,146,184,142,192,182, 77,214,110,253, 64,173,112,131, 93,162,225, 46,195,131, 75, 68,195, 45, 76,167,133,
- 91,107, 3, 14,210, 90,161,220,123,153,212, 52,208,130,152, 36,149, 92,243,215, 49,200,185,244,210, 59, 44,157,120,129, 71, 62,
-249, 15,121,251,111,254, 21, 7,221, 17, 7,221, 55,209, 45, 27, 91, 23,152,142,163,156, 40, 97,130, 68,199,114, 27, 52,103, 14,
- 41,129,151, 5,186,110,171,100,196,177,199,153, 79,255, 46,221,141, 31,115,243,157,255,200,216, 15,113, 28, 3, 77,207, 40, 73,
- 41,211,156, 27, 87,191,141,165, 85, 41,199, 3,162,120,132,215,187,134, 33, 76,236, 70, 7,239,224, 22,195,189,247,149, 72, 76,
- 88, 36,217,136, 60, 13,209,245, 42,122,197, 4,205,192,112,167,105,116, 78,226,212,231,232,109,238,113,244,196, 49,222,252,201,
-235,196,121, 64,123,193,165,191,213, 67,180, 35,180,192, 0,105,144, 5,146,189,247,235, 44,220,255, 48,114,247, 50,113, 47, 70,
- 51, 4,213,122,155, 40, 29, 82,107, 79,211,151,146, 48, 12, 63, 56,225, 80, 40,199,142,102,169,233,247,238,246, 48,138, 99,202,
-201,217,181, 68, 1,100,164, 86,226,184, 54,190,239, 81,171,214, 40,165, 10, 96,177,109, 75,229, 80,160,108, 97,222,200, 71, 51,
-116, 26,141, 6, 73,156,128, 40, 64, 72,108,219, 33,207, 99, 44,221, 68, 72, 65,213,169, 34,133, 68, 22, 5, 66, 51, 16,174,141,
-144, 58, 69,174,192, 93, 37,146, 82,148,164, 69,174,162,102, 77, 19,169, 73, 10,153,171, 63,179, 76,217,242, 38,201,109,170, 56,
- 73,194, 52,194, 54, 93,156,170, 3, 18, 66, 63,160,222,168, 2,106,123, 86, 88, 6, 97,162, 96, 8,134,166,226,187,133, 16,106,
- 91,157, 21,200,172,160,200, 18, 12,211,198,173,184, 4,113, 66,173, 90,193, 52, 44,116,189, 68,150, 37,217, 36,158, 85,145, 68,
- 53,165,143,144, 18, 41, 33, 75, 74,252,194, 67, 8,131, 34,135,188, 72, 48, 13, 19,189, 51, 51,243,117,195, 48,136, 83,229,171,
- 46,210, 68, 77, 0, 19, 81,143,110, 24, 20,233, 4,162, 82,150,228, 18,142,204,185, 44, 58, 57,131, 32,195,116, 44, 82,161, 67,
-154,114,226,196, 34,174,169,241,214, 70,204,102, 48,137, 9,117,108, 30,168, 6,108,190,115,129,207,221, 91, 97, 43, 49,216,141,
- 13,138, 2,198,222,152, 44, 83,209,160, 82, 74,133, 93, 53, 84,176,132, 16, 10,120, 82,173,213, 72,147, 68,121,207,227,140,178,
- 84, 12, 92,211, 52, 40,203,146, 44, 47, 65,128,163, 91, 32, 4,154, 20, 24,186,174,206, 6, 66, 7, 77,181, 8,121, 14,151,187,
- 37,175,246, 29,142, 29,106,112,255, 33,135, 59,155, 3,118,183,251,160,105,212,102,106,228, 94,140, 72, 10,172, 76, 41,255,147,
- 56,197,138, 82,186, 65,194, 32, 81,141, 79,189,162, 99, 87, 77,218,213, 26,199, 79, 28,165,223, 27, 80,150, 57, 89, 38, 25,250,
- 17,182, 55, 34, 74, 50, 70,131, 49,121,150,210,156,110, 49,246, 98,110,111,239,146, 73, 73,179, 90,195, 16, 57,105, 24,225,239,
-119,185, 52,138,184,186,239,163, 89, 85, 70,126,198,219,111,175,179,152,164, 88,171, 77,200, 75, 74, 77,195,109,216,152, 82, 48,
-231, 58, 76, 53, 28,102, 43, 54, 75,117,151,133,134,205, 74,195,102,177, 97, 51, 87,179, 88,112, 13,154,166, 70, 69, 55,168, 11,
- 29, 83, 47,193,178, 16, 5,200,205, 24,209, 84, 94,208, 82,128, 48, 64, 84, 45, 68, 94,112,237,173, 59,252,217,197, 93, 30, 90,
-170,225,222,183,204,225, 83,115,104, 77,135,245, 31, 94,229,149, 31, 95,227,214,222,152,102,221, 38, 77,115, 54,135, 17, 71,134,
- 93,236,229,101,222, 90, 27,208,172,217,216,174,141,211,114,176,215,118, 56,252,232, 73,134, 26, 88, 58,220, 59,219, 96,119,125,
-151,131, 59, 3,218, 39, 87,217,190,115,128, 64,195, 47, 37,118,154,179,222, 11, 72, 28, 3,199, 48,168, 90, 22,213, 52,163, 51,
- 85,229,221,107, 7, 76, 91,130,249, 67, 45,242, 32,161,113,123,147,139, 23,111,176,116,207, 50,223,252,230, 57, 94,125,245, 58,
-135, 53,147,202, 51,191,140,152,255,121,202,229, 38,211,115, 9, 71, 30, 58,202,253,159,248, 16,103, 58, 53, 30,110,232,252,217,
-165, 93, 46,237,102,248,121,202,188,150,115,172,105,178,212,116,169,155, 26,162, 80, 57,246, 94,156,144, 77,214,161,160, 26, 28,
-115,162, 97, 72,115,181, 6,151,178, 36,157, 20,221, 18,137,174, 11, 42,182, 67,179, 81,199, 48, 4, 66, 83,224, 33, 93, 83, 54,
-154,233, 78,155, 70,189,142, 59,185,187,215,106, 10,244, 18,198, 9,163,177,143, 16,138, 90,165,105,234,110,175,136,116,106,229,
-119,246,228,189,252,214,127,253, 43,124,236,241, 71,137,146,132,107, 55,111,209,106, 52,249,213,175,188,200, 47,190,248,121,206,
-156, 56,193,239,253,193, 31,241, 31,190,245, 23,252,187,111,254, 57,221,193,128,167, 30,253, 16,157,102,147,183, 46,188,207,126,
-175, 79,183, 63,196,243,125,144, 37, 71,150,151,121,225, 83,207, 81,117, 29, 94,122,237, 77,230,231,102,185,240,189,111,243,220,
-147,143,211,105, 54, 40,133,192, 27,143, 41,203, 82,173, 46,139,156,229,133,121,166, 59, 29, 28,215,166, 81,171,179, 48, 51, 3,
- 82,114,225,202,117,132, 16,220, 90,223,228,196,220, 44,205, 73,227,178,186,180, 64,148,100,220, 90,223, 96,113,126,150, 63,248,
-151,191,139,101, 41,193,166, 31, 70, 92,191,181,198,235,231, 46,124,160, 39,184,231,232, 42,135,151, 22, 88, 90,152, 99, 52, 86,
- 56,219,177,239,115,208, 27,144,102, 25,182,105, 48, 51, 61,197,153, 19, 71,169, 87, 42,236, 73,139,222,206, 22, 66,118, 40,138,
-130, 50,135,230,124,139, 56,236,115,229,252,109,174, 92,124, 23,137, 67, 25,148, 28,108,188,129, 48,251, 92,185,120,149, 40,216,
- 36,233,245, 40,205,128, 44, 74, 41,101,166, 86,241,178, 36,139,198, 68,113,206,161,147,143,241,232, 39,190,202,212,243,146,141,
- 87, 97,112, 21,182,238, 92,100,115,243,101,188,254, 26,145,183, 75, 18, 28,176,119,243, 37, 90,211, 39,121,242,153,255, 21,111,
-188, 65, 20,244, 56,124,223,231,249,141,111,255, 47,248, 23, 28,174, 94,248, 22,166,225, 80,117, 12, 6,227, 24, 97, 86,208,179,
- 29,116, 57,160, 49,255,136, 18, 86,153, 21, 28,183, 65,174, 85, 41, 75, 23, 97, 84,113,170,179, 56,181, 22,186,238, 80,171, 58,
- 84,170, 54,186, 97,146,187,130, 34,204, 41,164,100,247,234, 95, 50,216, 62, 79, 81,164,184,149, 54,150,161, 97, 56,109,100, 17,
-145,166, 49,142, 40, 73, 34,159, 36,236,225, 15,238,112,239, 19,191,206,199,255,197,215, 56,246,165,167, 89,174,189, 8, 69, 3,
-175,127,131, 44,233,145, 36, 93,194,241, 14,121, 30, 99,218, 46,134, 89,193,176,218, 84,234,179, 52,235, 71, 40,114,155,234, 92,
-140, 85,198,108,110,239, 49,187,188,192,217,167,158, 36,183, 10,252,237,144, 66,115, 49,244, 42,121, 98, 48,222,141,105, 44,148,
-228,118,137,203, 10,134, 93, 65,232, 18,179, 17, 35,162, 49, 90,169,126,183, 45, 75,157,170,202, 92,137, 85,163, 40,156, 4,152,
-168,196, 71, 41,164, 18,112,150, 37,149, 74,133, 48,140,137, 99,197,104, 40, 41,137,162,148, 90,173,170,206, 20, 82, 34, 12, 77,
- 5, 9, 73, 40, 39, 66, 58,149,144, 25,145,102,202, 1, 84,102,114, 82, 68, 53,146, 84,221,243, 85,115,160,220, 45,119,195,183,
-164,144,216,150,129,105, 88,152,134,161,248,239,186,129,169,171,120, 87, 93,168,247,118, 94, 72,162,192, 39, 78, 99,181,249,146,
- 26,154,132, 48, 74, 73,147,152, 34, 43,168, 55,235,100,105,166,166,233,201, 93,221,212, 84, 74, 92,148,166,216,150, 73, 89,230,
-104,134,162, 41,102, 89, 66,154, 23,228,121, 74,158, 37,234,107,141, 83,197,147,144, 37,113,156, 82,169,186,100,121, 76,181, 82,
- 65, 51, 84, 30,136,105, 42,141,141,107,171,191,155,134,137,174, 41,109, 66, 28,199,232,179, 11, 11, 95,183, 76, 91,217,161,178,
- 28,211, 86,201, 53,142,109, 83,173,215,149,194,110,194,204,181, 76, 19,203, 48, 9,116,155, 47,204,231,156, 91, 27,208,170,185,
-140,147,140, 90,171, 66,104, 86, 57,212,118,217, 30,132,188,183,175,236, 8,166,105,226,104,176,168,249, 36, 81,193,153,101,135,
-191,184,145, 19,134,202, 71,235, 58, 46,182,171,160, 31,121,150,168, 9, 92, 55,168, 76,132, 5,105,148, 96,219, 38,182,101,127,
- 96,245,210,117,141, 52,141,149,159, 88,215,208,165, 64,119,212, 29,185,226,222, 21, 97,232,100, 69, 14, 40,149,163,169, 43,165,
- 99, 24,197,188,181,149,113,110, 92,225,228, 74,131,133,186,206, 70, 63, 32, 78, 11,230, 23,167,104,182, 45,242, 56,199, 50, 52,
-202,170, 73,171, 83, 67,160, 19,102, 5,157,150,133,149,231, 8, 41,233, 71, 9,110,161,196, 89, 94, 24,227,197, 41,251,195, 24,
- 47, 77, 40,203,140,208,243, 40, 74,137,227,184, 20,105, 66,236, 7,212, 42, 46,171, 39, 79,160, 59, 14,123,155,155,248,121,130,
-135,193,172,169,177,220,168, 83,175, 90,108,244,250, 88,162,100,106,177, 73,112,101,159, 43, 87,186,116,111,141, 48,198, 1,149,
-133, 38, 98,125,204,250,205, 30,205,169, 42,138, 8,162,129,173, 35, 44, 19, 81,106,224, 8, 68,213, 86,147,185,107,192,173, 17,
-127,254,173,243,188,116,109,143, 71, 14, 79, 33, 53, 13, 97,107, 80, 72,174,253,232, 38,223,120,121,141,211,135,106,124,252,233,
-123,185,179,214,163,229,216,104,182,206,247,190,249, 14,155,155, 3,108, 10,142, 31,158, 38, 14, 51, 42,142, 69,197,177, 41, 26,
- 85,230, 90, 53, 94,238,135, 72,199,228,206,126,192,194, 98,147, 90,127,139,206,241,101, 78, 28, 91, 38, 11, 83, 58,182, 70,255,
-198, 38,169,110,112,232,233, 71,185,112, 99,151, 13, 75,167, 55, 78,209,133, 84,133,213,178,200,194,140, 99,171,211, 76,205, 55,
-120,243,226,174,226,166, 87, 92, 70, 61,143, 91,126,204,157,131, 62,211,117,139, 69,199, 98,237,218, 54, 11,135,167,216,219,236,
- 49, 43, 35,204,163,115, 36,255,233,255, 33,217,220,161,123,144,209,120,234, 65,120,230, 89,120,246, 19,252,204, 11,247,241,179,
-243, 14, 43,185, 71, 61, 25, 33,211,136, 97,191,199,130,145, 49, 8, 18,106, 90,193, 82,171, 74,187, 98,145,100, 5,113, 81, 2,
- 10,192,100, 24, 10,226,195,228, 14,122, 55,154, 88,197, 55,104,170,176, 79, 2,110, 20, 48, 3, 64,160,107,224, 58, 46,213, 74,
-133,102,163,142,101,169,135, 67, 16, 69, 28,244,250,120,129, 15,104, 88,134, 66, 48, 23, 69, 78,197,117, 57,123,234, 94,158,126,
-236, 17, 62,247,137,143,161,235, 6,223,121,233,101,222,120,231, 28,131,177,199,217, 83,247,112,230,222, 19,220,127,234, 30,222,
-126,239, 34,127,253,202,171,188,117,254, 2,179, 83, 29, 62,254,196, 99,220,115,228, 8,149,138, 75,153, 23, 92,186,126,147,205,
-157, 93,224,238,198, 75,240,210,107,111,240,206,197,203,204, 78,117,248, 87,255,248, 31, 18,197, 49, 63,252,241,235, 32, 4, 27,
- 59, 59, 12,198, 30, 66, 8,126,238, 51, 63,195, 63,255,239,254, 1,191,246, 11, 95,230,193, 51,247,114,227,230, 58, 35,207,195,
- 11, 61,118,118,187, 31,232, 15,158,123,242, 35,252,202,215,190,196,247, 95,254, 9,223,123,229, 85, 46,221,184,205,181,155,183,
- 24,251, 62,255,226, 31,253, 54,135, 22, 22,232, 15, 71,244,135, 35,214, 54,182,184,122,123,141,115, 23, 47, 3, 48, 55, 61,197,
-220,204, 52,166,101, 81,117, 20, 27, 99,228,143,233, 14,134,140,198, 62, 73,154,242,225, 7,207,242,244,163,143, 48,213,110,225,
- 24, 58,119,122, 35,250,131, 30,100, 26, 81,156, 35,243, 8, 93,207, 8,130, 49,113,150,145,197, 67,186,251,111, 19,133, 62,133,
-215, 35, 60, 56,160, 98, 37,236,109,223,161, 72,250, 68,221, 30,237,165, 19, 68,221, 29,100, 89, 32, 44, 3, 33, 74,242,100,204,
-244,161,227,140,123, 58,225,218,105,134,221,125, 54,110,157,103,119,235, 77,130,225, 29,198,189,107, 12, 55,223, 33,142,251, 28,
-127,236,215,120,224,163,255, 45,143,252,163, 21, 30,248,249, 51, 92,251,206, 26,130, 49, 95,252,226, 41,194,222,135,248,201,119,
-254, 55, 12,219, 66, 24, 22,150,227,224, 15, 70,244, 61,143, 48, 12, 88, 58,114, 63,245,214, 81,194,193,117,102,166,151,152,155,
-110,211,104, 55,104, 55,154,232,174, 67, 22,101,160,169,130,163,153,166, 34, 56,230, 32,243,132, 48,136, 41, 74,137, 48, 12,236,
-106,139, 95,249,157,119,241,178,140,237,155, 63,161, 76,124,164, 86,165, 49,125,134,157,219,239,114,235,226,183, 8, 6, 87,104,
-180,151, 8, 46, 85,232,191, 62,102,224,117, 57, 88,123,141,254,254,121,133,139,213, 43, 52,167, 79,210,158, 62, 67,169,149,144,
- 7,202,131, 93, 42,248,152,208, 42,140,118,186, 44, 28,113, 24,116,251, 68,105, 74,103,254, 4, 75, 71,143,227, 37, 59,196, 59,
-133,154, 22, 77,131, 44, 41,137,251, 41,213, 78,140, 72, 58,104, 78, 7, 93, 70,248,250, 30,101,232,227, 31,108, 35,132,138,151,
-174, 84, 42, 36,121, 66,158,229,212, 42, 85,188, 96,140,105, 90, 56, 21,135,162, 40, 48,109,149, 61,145,166, 41,213,106, 5,109,
-178,150, 79, 39, 96,151, 44, 79,113, 44,231,131,213,120, 81,128, 99,153, 10,142, 36,149,232, 21,193,100,216, 83,182,105, 77, 8,
-149, 94,166,105, 88,134,137,208, 76, 36, 18, 75,179, 16,154,142,102, 42, 1,163,208, 84,224, 82, 81, 40,166, 73, 57, 41,180,149,
-170,114, 90, 37, 89,250, 1, 35, 66, 9, 0, 37, 89,150,160,233, 2, 77, 83,175,155,122, 0,168,122,150,166, 25, 66,168,231, 66,
-156, 36, 10,106, 35, 37,134,110, 42, 93,152,102,168,211,131,110,146,164, 42, 23, 64,215, 13, 37,116, 22,144,165,201,100,157,175,
-147, 37,169,226,220,151, 96,155,186, 18, 7, 26,138,105, 31,133,209, 7,254,246,187, 86,105,195, 52,209, 15, 31, 59,254,245, 48,
-142,168,212,234, 84, 92, 87, 5,125, 56, 46,150, 99,163, 78,140,130, 56,141,209,133,142,110, 26,164,121,193, 48,130,199, 86, 76,
- 66, 63, 32,205, 75, 90, 51,109,118, 47,223,164,182, 56,199,242,180, 75,197, 16,252,231,243, 93,213,209,148, 37,131, 40,229,225,
-106, 72, 82, 72,202, 34,102,108, 54,217, 28, 68, 56,142,178,185,105,104,120,222, 24,132,134,101,216, 24,150,202,251,142,162,136,
-106,173,138, 97,152,132, 81, 68,158, 39, 31,172, 48, 16, 66,117, 41, 19,165, 55, 20, 80,170, 20,157,188, 40,200,211,156, 44, 87,
-107,125, 77,155, 8,152, 12,117,195, 42, 37,236,247, 61, 94,186, 25,177, 85, 58,252,204,125,211, 20, 89,202,216,139, 17,133, 96,
-126,101,134, 36,138, 41,122, 1, 50, 43,168,216, 26,118,179,138, 81,148, 36, 93, 15, 41, 36,251,195,144,181, 81,192, 40, 72,104,
- 84, 45, 92, 75,167, 98, 27, 56,134,192,176, 4,110,205,193,170, 58, 4, 67,143, 36,203,209,144,152, 26, 76,181, 58,132, 99,143,
-245,245, 93,170,121, 74,165,204,112, 53,147, 90,171, 65, 30, 39, 68,131, 62,119,194,140,107, 23,182,184,121,179,139, 17,230,244,
- 70, 1, 87,135, 17,103,102,218,196, 67,159, 45, 47,101,126,181, 13,142,142,220, 77,184,252,211, 77,204, 81,136,187,218, 68,244,
- 50,174,191,177,198,173,247,247,185,125, 99,159,191,249,193, 21,230,155, 22, 95,250,236, 25, 88,168, 33, 28, 29, 17, 22,252,213,
- 95, 94,224,234,149, 61, 62,247,208, 34,139, 79, 28,231,181,239, 95,229,237, 43,251, 76, 89, 37,242,192,227,234,251,187, 76, 55,
- 29,170,205, 58, 51,115, 13,110,173,117, 81, 57,221, 14,107,123, 49,203, 71,103, 40,198, 1, 91, 94, 73, 24,103,172, 30,158, 70,
-120, 33, 23,174,239,115,242,145, 83,204,206,119,200, 70, 62,236,109,176, 59, 78, 89,152,169, 49, 16, 38, 94,223,231,190,134,201,
-244,116,131,165,197, 22,185, 38,152, 89,104, 50,213,116, 89,219, 26, 96,100, 57,211,117,139, 65, 82, 82,169, 85,216,222, 15,152,
-173, 89, 56,148, 92,218, 30, 81,111, 86, 57,216, 30,179,230,197,220, 90, 91, 39,250,201,247,185,248,250, 57,174,172,141,240, 6,
- 41,199,142, 31,133, 99,159,130,198,115,208,121, 26,253,100,147,229,211, 54,247,127,248, 56, 31,121,236, 4, 79,205,215,232,246,
- 60,244, 60,225,100,219, 98, 94,100, 44, 53, 52, 78,205,213,153,106,214, 40, 74,240, 19,117,215,211,244,187,171, 54,141,188, 84,
- 62,255,187, 69,190,148, 42,136,197,178, 76,144,168, 53,119,179,142, 16, 74, 56,119,245,246, 29,164, 44, 97,114,219, 46, 81, 15,
-161,254,112,248,193, 42, 49,138, 18, 86,151, 22, 57,121,252, 24,179, 83,109,142,175,174,224,216, 22,255,230,223,253, 9,223,248,
-139,239, 50,246, 3,190,240,201,103,249,248, 71, 30,101,121,113,158,222, 96,200,239,253,193,191,229,253,107,215,121,242, 67, 15,
-241,137,167,158,228,236,169,123, 56,178,188,196, 56, 8,184,116,237, 6, 63,121,243, 29,238,170, 4,166, 90,109, 92,219,100, 52,
-246, 57,113,116,149,127,246,219,191,201, 67,103, 78,241,111,255,228,155,252,229,143, 94,225,141,243, 23,185,118,227, 38, 66,194,
- 63,253,173,223,224,119,254,201,111,177,176, 56,199,168,215,103,111,175, 71,163, 89,195,243, 3,110,175,111, 79,154, 17,120,248,
-190,211,124,250, 99, 31,101,182,211,230,252,165, 43,108,237, 29,208,105,214, 9,227,132,189,131, 30,207, 60,250, 33,142, 31, 94,
-102, 48,242, 72,226,132,115,151, 46,243,202,155,111,115,208,235, 3,202,146,179, 48, 61,205,194,220, 12,142,107, 79, 30,148,146,
-225,216,155,104, 6, 36,171, 75,139,104,154, 96, 48,244,216, 61,232,178, 55, 10,241,163, 16,145,166, 8, 67, 35,244, 14, 48,117,
-159, 36, 76,200,227,128, 52, 29, 19, 5,125,130,241, 26,142, 46, 9,188, 17,245,186,133,150, 14, 9,130, 30, 69, 33,104, 47, 62,
-128,187,220, 36, 30,122,100,129,175,238,235,148, 4,131, 3,156,154,206,254,230, 85,226,184,139, 55,188,134,215,189,141,105, 55,
-153, 95,122,134,246,242,199,153, 89,250, 8,149, 70, 27,153,103,220,121,115,196,246, 91, 16,244,118,185,179,241, 71, 92,123,185,
-195,143,191,247,175, 41, 11,143,208, 27, 80,171, 53,105, 55, 27, 52, 38,147,101, 28,134,116,183,175, 50,218,191, 76,156,131,211,
-152,161,221,110, 80,106, 26, 66,215, 57,216,239,210,106,181, 73,211,140, 36,205,104,212,219, 8,145, 17,199, 41, 65, 24, 81, 74,
-129, 38,192,208, 52, 42,109,139,141,235,111,178,119,251,199,100,101,159,113,127,135,231,190,252,251,252,230,255,245, 15,248,189,
-127,242, 11, 44, 63,252,219,200,252, 44,221,225, 59,248,227, 62,227,131,107,244,182,222,102,180,243, 54, 73, 52,166, 57,119,134,
-206,145, 39, 88,185,247,147,180,155, 39, 16,134, 75,156,142, 33, 25,147,167, 99,146, 34, 65, 19,130, 48, 74,145,254, 8,183, 37,
- 24,132, 30, 34,211,240,215,218,216,149,125,198,187, 33,101, 89,193,210,116, 48, 12,178, 72, 98,215,199,152, 98, 10, 3,151,146,
-148, 76, 59,128,196, 39,233, 30,160, 25, 58,154, 80,133, 19, 9,174,237, 40, 36,121, 81,144,229, 42,246,216,182,109,242, 36,157,
- 56, 74, 84,161, 69, 67, 13,145,150, 69, 94,170, 76,118,169,196, 40, 72, 41, 40,100, 73, 94, 40,107,155,178,158,161,200,115,154,
-138, 33, 85,170,122, 99,114, 27, 55,144, 18, 74, 89, 32, 21,250, 1, 77,215,208, 80,193, 77, 66,232,147,134, 70,229,146,255,173,
- 0, 85,144,164, 9, 69, 89, 78, 44,103,106,139, 13,106,218,215, 52, 93, 21,225, 76,109,154,117,221,192, 48, 13, 44,211,192,180,
-237, 73, 3,144,147, 77,116, 52,174,235, 16,248,170,113,213, 53,227,131,134, 64,137,201, 77,194, 64,157,221,234,245, 58, 26,154,
-218, 64,219,206,228,255,223,165,240,133,200, 82, 53,235,166,165, 80,186,192, 7,193, 65,101, 81,160,207,175,172,124,221,118, 28,
-100, 89, 2, 18, 77, 24,228,121, 78,158,229, 56,142,139,148, 82,101,170,203,156, 56, 80, 68, 28,219,182,217,142,117,190,112, 76,
-231,218,246,152,249,169, 42,254,126,159,199, 87,235, 76, 47,116,208,164,228, 74, 31, 34,148, 87,208, 52, 76, 78,184, 49,213,138,
- 73,106,187, 76,215, 13, 94, 95, 87,162,185,172, 80, 62,190,178, 80, 43,152, 36, 85, 84,179, 18,144, 66, 39, 75, 19,101,243,178,
- 20,161, 71,215, 13,245,131,207,239, 50,168, 53, 37, 54, 50,149,242, 60, 47, 11,178, 52,166, 20,146, 34, 85, 34,191, 34, 77, 40,
-100, 73, 24, 5,148, 69,134,208, 52,116, 20, 92,127,125,207,231,219, 87,125,124,105,242,212,153, 89,178, 50,103,119,103, 0,182,
-193,244,202, 20,141,153, 6,133, 23, 50,218, 29,147,248, 41,211, 43, 83, 84,166,154,220,220, 25, 17,164, 25, 13, 91, 80,119, 77,
-156,138, 69,197,182,212,246, 32,203,137,251, 35,226, 4, 6,101,134, 38, 75,116, 75, 50,242, 50, 70,158,199,112, 52,162, 82, 53,
-240,199, 33,102,163, 74,165, 83, 99, 60,244,201,226,152,110, 63,160,145,197, 52,243,140,218, 84, 29,183,102, 81,198, 49,185,161,
-115,103,167,207, 91,155, 1,155,195,152,147, 14,156, 63,183,197, 79, 94,187, 69,127,119,136, 39, 74,166,242,156, 63,251,254, 85,
- 6,155, 35, 60, 47,226,212, 74,139,103, 62,121, 31,171, 79, 29, 67, 4, 37,201,122, 23,163,208,248,209,119,207, 83,244, 2, 76,
- 75,163, 95,113, 56,247,211, 77,210,141, 46,245, 50,227, 96, 16,131, 99,171,160,133,161,207,212,161, 54, 69,156, 49,142, 82,144,
- 16, 69, 25,134, 33,184,190, 61,160,234,152,104, 82, 50, 70,144,231, 25, 31,251,240, 41,174,158,187,136,239,212, 89,152,111,147,
- 68, 17, 55,126,122,153,177,229,114, 97,237,128,135, 31, 59,205,153,185, 22,199, 78,206,177,124,255, 9,102,141,156,235, 91, 67,
-210, 65, 68,144,151,244,187, 33,113,160,104,122,154,109, 81,107, 59,116, 26, 54,174, 16,120, 81,134, 68, 39,136, 82, 68, 81, 16,
-106,170, 75, 46,139,132, 78,205,165, 82,183, 9,178, 28,111,109,143,197,108, 4,167, 62, 10,154,137, 22,189,206,249,255,227,155,
- 44,124,241,211,136, 7,190,132,245,212, 23,120,240,133,179,124,178,161,177,190,182,131,159,230,204,184, 58, 29, 81, 82,205, 67,
- 74, 4,141,218, 4,136, 36,117,132, 38,144, 69, 65, 86,228, 19, 37,109, 78, 81,228,184,149, 10,160, 44,112,165, 84,226,206,177,
- 31, 50, 24,143,137,146,152, 90,165, 66,165,162,172,153, 97, 20, 50, 24,141,217,222,221, 39,140, 99,142, 29, 94, 38,140, 98,162,
- 36,102,106,170,205, 67,247,157,230,185, 39, 31,231,145,251,239, 99,107,239,128,215,223, 61,207,237,141, 77,166, 59, 29,158,121,
-252, 67, 60,120,223,105, 90,173, 6, 63,122,253,167,188,115,241, 18,247, 28, 61,194,115, 79,126,132, 71,206,158, 97,101, 81, 77,
-197,215,111,221,230,251,175,190,201, 96, 60,198, 52, 77, 78, 30, 59, 74,187,221,226,218,173, 53, 78,158, 56,198,127,243, 11, 95,
-225,171, 95,126,129,171,215,110,112,103,115,155,245,173, 45,110,222,217,224,240,161, 69,254,217,111,255, 38, 95,125,241, 11,148,
-105, 14, 89,129, 38, 37,215,110,221,226,246,250, 38,151,111,220,226,250,237, 53, 0,154,245, 58, 31,121,248, 65,158,122,244, 67,
- 12,125,143, 11, 87,174,225,123, 42, 29,235,190,147,247,240,196,135, 30,228,197, 79, 61, 15,154,248, 32, 21,238,210,245,219,188,
-254,206,185,137,183,216, 85,216, 78, 83,217,128,154,141,154,178,241,221,186,195,198,246, 14,131,209,152,133,185, 89, 58,157, 54,
- 65, 20,179,181,187, 75, 20, 39, 32,116, 66, 33, 72, 14,186,104, 89,132,209, 60,142, 86, 6,228,233,128, 44,141,137, 34,159, 34,
- 29, 17,238, 95, 35,246,251,204, 44, 46,112,208,235, 18, 91, 18, 35,207,169,212,143,242,194, 47,254, 49,187,187,151,105,157,232,
- 80, 95, 58, 68,216, 29,145, 39, 62,121, 22,145,250, 93,234, 13, 73,119,227, 10,195,253,107,164,209,136, 19,143,254, 18, 63,247,
-123, 47,242,236,175, 60,196,199,191,242, 32,121,247, 44,183, 47,191, 69,111,253, 77,182,175,124,135,225,254, 85,138,168,228,210,
- 79,255,119,178,224, 54,178,180, 65,183,240,189, 33, 73,156,147, 21,106,245, 91,173, 85, 17,186,198,104, 52,166,226, 24,232,166,
-134,109, 25,120,253, 46, 73, 18, 17,199, 41,163,209, 46, 69,154, 32,101,134, 83,169,160,107, 26,190,231, 83,150, 32,144,104,134,
-114,224,136, 76, 16, 12,239,144, 37, 30, 97,175,203,225,211,159,227,211, 95,253,167, 20, 35,104,175,130,223,134, 67,206, 49,174,
- 92,188, 68,111,251, 45,226,104, 31,175,123, 29,127,112,155,250,236, 9,102, 15, 61,138,237,180, 8,134,123,244,187, 23, 8, 70,
-183, 72,199, 7,228, 69,136, 46, 82,226, 36, 32,139,199,100,177, 79, 20,244,168, 84, 11, 6,131,144,188,240,240,182, 60,178,112,
-131, 44, 2,221,106, 82, 0,162,132,178,204, 8, 6, 61,154,171, 2,173,152, 35, 75,125, 34,185,133,136, 67, 68, 48, 34, 73, 19,
- 28,219, 37,142,212, 68,154,164,202,226,230, 86,149,239, 59, 12, 67, 52, 77,113, 16,202,178,192,243, 60, 60,207,131,178, 68,232,
- 10,213,166, 9,129,134,178, 59,234,134, 65, 57, 33,187,149, 37,228,185,162,127,102, 89,174,138, 54, 32,229,196, 90,154, 42,180,
-121,158,151,164,105, 70,158, 23,228,185, 66, 39,167,169, 90,115,167,105,142,161, 41, 13, 22,168,252,242,178, 84,144,175, 44, 83,
- 81,169,150,169, 10,110,165, 86, 67,215,197,132,249,174, 54, 1, 69, 41, 49,116,161, 82, 15, 45, 53,105, 43,135, 67, 73,153,103,
-184, 78, 5,219,177,112, 28, 7, 74,229, 52, 65,211,208,144, 19,253,136,114,213, 24,154,129,166, 43,197,187, 97,168,116, 54, 67,
- 40, 7, 75,197,117,201, 10, 5,206, 17, 66,213, 66,197,208, 80, 65, 95,213, 90,131, 44, 75,112, 39,140, 23, 67, 2,134,105,226,
- 58, 46, 57, 37,102, 81, 78, 10,188,192, 15, 2,106,213, 42,194,210, 16,165, 64,119,117, 60,223, 35,207,114, 46,237, 21,120, 39,
- 26, 52,221, 1,222,238,144, 71, 30, 56,130,183,191, 71,253,244, 49,204,170,206,175, 62, 82,227,127,122,105,196, 48, 41,144, 6,
- 68, 82,103,144,150,184, 54, 44,212, 20,134, 47,207, 85,180,168,242,162, 23,164, 89, 73, 24,250,140,199, 30,154,174, 81,173, 86,
-177, 28,149,249, 29,140,199,220,141,197, 44,203,146, 82,149,125,242, 60, 39, 41, 37, 50,138, 0,129,101, 89, 32,149, 13,161, 40,
-115,100, 33, 85,179,146, 40,111, 56,154,160,234, 58, 0, 20,121, 65,106, 91,164,105,204, 27,251,112,237, 71, 49,159, 57, 82,229,
-211,103, 58,172,175,239,113,123, 99, 68,167, 97,211,153,233, 96,152, 54,221,173, 17,149,237, 62,237, 67, 83,180,170, 46,145, 31,
- 81, 17,130, 44,136, 41,100, 78,156, 65, 81, 66,221, 49, 41,132, 78, 82,100,108,238,121, 28, 94,104, 35, 76,141, 66, 43,241,163,
-128, 78,179, 74, 41,116,220,233, 38, 82,147,148, 69,142, 81,209, 17,169,202,124,239,231,146,150,107, 82,213, 74,250,221, 49,190,
-132,162, 98, 96, 69, 5,117, 77,195, 74, 18,190,245,195, 27, 8, 89, 80,113, 29,244,154,197, 65, 40,121,233,181,219, 84,130,152,
- 76, 55, 40,220, 10, 75,167,151, 16, 83, 14,189, 55,110,243,202, 79, 55, 72,210,156,168,225,208, 26,248,180,108, 21,247,186,221,
- 75, 88, 24,141,232, 88, 58,251,185,192,148,202, 69,160,233, 58,153, 97,224,216, 22,221, 94,128,110,185,168,173,125,137,227, 24,
-136,168, 32,117, 93,202,241,152,147,182,132, 48,230,245,181, 61, 62,253,165, 79,241,159, 94, 57,207, 67,103, 14,227, 11,131,113,
-161,241,233,255,242, 5,254,228,247,191,193,171, 23,183,120,225, 83, 31, 66, 72,137,220,223, 99,107,119,140, 63,140,153,153,111,
-208,104, 85, 57,216, 29, 97,153, 38,195,184,224,212,170,203,246,251, 59,232, 53,139,123, 31, 92, 66, 20, 26,253,222,152, 52, 47,
- 25,237,122, 10,219, 91,171,178,237,123, 20,150,201,120,127,196,122,162,172, 39,143, 20, 33, 34,185,138, 52,102,144,175, 95, 96,
-237,202, 22,103,175, 13,144, 79,157, 70, 24, 77,164,251, 16,226,203, 53,126,233,200, 20, 63,252,247, 47,113,241,122, 23,199,200,
-200, 42, 58,149, 97, 72, 63, 78,168,219, 46, 58, 25,253,220, 64,104, 58,182, 1,210, 84, 55,188, 52, 43, 25,141, 60, 58,173, 6,
-165, 4, 81, 22, 20, 66, 0,106,162,200,114,157, 40, 73,232, 15,199,148,185,234,242, 43,142,133, 62,213,230,232,202, 33,142,173,
- 30,230,175, 94,122, 5,128, 99, 43,203,124,236,209, 15,113,234,196, 49,202, 66,242,147,183,222,230,214,198, 6, 0,171,135, 22,
-169, 84, 42,236, 29, 28,176,185,187,207,159,124,251, 47, 57,122,120,153,207,127,226, 89, 78, 30, 63,202,202,226, 60, 97, 20,211,
- 31,142, 57,119,233, 42,107, 27,155, 88,150,197, 35,247,159,166,217,168,243,250,219,231, 89,152,157,225,103, 63,249, 44,159,255,
-196, 51, 12,119,247,185,112,249, 26,123,251, 7,120, 81,204,195,247,157,230, 75,159,253, 20, 47,126,230,121,132,174, 83,166,202,
- 98,227,135, 33, 81,156,176,187,223, 85, 74,225,201,199,116,167, 69,156,198, 8, 93,176,190,185, 77,163, 86,227,228,241,227,236,
-247,187,152,186,206,226,220, 44, 67,127,140,208,116,198,190,207,214,222, 1,239,189,127,233,131, 88,215, 32,140,168,215,170, 76,
-181,219, 44,205,205, 80,115, 29,182,247,186,244,199, 99,110,175,111, 80,173,184,180, 26, 13,246, 15,122, 56,182, 42,252, 85,215,
- 1,203, 98, 99,111, 64,158, 69,180, 78, 30,103,230,208, 71,177,153, 98,253,253,127, 67, 52,186, 65,146, 22,132,227, 62,121, 89,
-178,124,250,115, 84,235, 45,130,225, 55, 72,210, 6,166,158,178,250,212,175,115,244,239, 9,222,121,231, 20,251,201, 62, 78,189,
-198,189,159,253, 2, 87,254,244, 63,144,101, 17,195,222, 38, 92, 53,104, 77,205, 97,102, 33, 65, 82, 80, 90, 29,178,169,140,170,
- 12, 57, 35, 42, 92,122,222,196,120,165,134,231,175, 19,141,118,176, 43,211,156,122,228,215,184,169,213,185,241,222, 31,115,230,
-153,255, 2,167, 58,205,141,183,254,144, 40, 30,146, 23, 46, 66, 40,225,146, 97, 25,212,106, 21,108, 75, 71,228,146, 60,151,212,
-107, 53,134, 35, 15,199, 54,208,169,128,102,145,197, 17,161,239, 97,187, 85, 74,169,161, 91, 6,134, 6, 21,199,161, 36,167, 72,
- 50,138, 82,146,164, 5,102,109,134, 7, 62,254,247, 89,191,147,178,181,105,114,241, 85, 65,150,198, 4,209, 85,252, 96,143,254,
-157, 31,163,145, 19,197, 30,102,117, 14, 74,131,193,206, 57,208, 13,202,188, 36, 13,251, 68,209, 1, 50, 79,112, 43, 85, 74, 97,
- 80,228, 35, 10,125,164,222,255, 34,167,162, 57, 56,142,134, 63, 24,224,104, 17,123, 63,189,129,125,104,150,165,206, 17,162, 72,
- 0, 9,121, 18,146, 38, 9,131,219,151,233, 44,156, 34,246,199, 36, 86, 68, 11, 65,130,160,200, 36,165,165,208,214, 89,154, 41,
-248, 74,213, 69, 74, 65,152, 69, 56,150, 74, 74, 43,178,156,161, 55, 84,194,213, 82,145, 72,117,223,167, 86,171, 98,219, 14,134,
-105,226,104, 6,165,204,209, 52, 73,158, 42,231, 70,153, 43,114,155,101,169, 13,111,158, 38, 36,153,164, 90,173, 1,234,253,170,
- 9, 40, 75, 0, 57,217,208, 40,186, 91,148, 36,184,147, 65, 44, 77, 99,116,221, 32,207, 21,200, 69, 8,129,169,171,216,112,203,
-208,208, 52, 3,128, 52, 43, 73,100,138,107,155, 68,147,162,138,166, 97,152,146, 56, 84, 40, 91, 77,131, 92, 66,181,226,226, 5,
- 62,150,105,226, 56, 14, 97, 24, 32, 75,168,214, 92,202, 82,113, 43, 12, 93,167,200,115,188,201,196,109,234, 58,225,228,253,146,
- 20, 49,186,174,166,121, 83, 55, 24,141,198, 72,160, 81,107,144, 21,202, 98,234, 86,106, 72, 89, 82, 20,146, 32,136,148,103,125,
-241,240,225,175,151,101,169,216,236,121, 73,145, 42,114, 13,154, 90, 47,198, 81, 68, 26,197,234,182,145, 43,248, 73,156,196, 36,
-113,204,133,177,193, 11,167,234, 92,223,232, 50, 85,177,121,236,193,163, 92,127,245, 45, 22, 31, 57,205,146, 9, 81,154,113,117,
-164, 99, 11,248,204,124,204,238,182,207,176,144,216,134,198,251, 97, 93, 37,146, 25, 10,145,154,102, 41,134,101,225,218, 54,201,
-196, 74, 99,219, 14, 97, 28, 77,190, 73, 37,128, 51, 52,109,178, 94,209,208, 13, 37,104, 80,221, 21, 8,161, 97,232, 26,134, 97,
-160, 27,218, 7, 47,166, 99, 43,191,123,165, 82,193,182, 76,242, 44, 67, 72,197,224, 46,242,140,138,171,186,227, 36, 45,120,111,
- 55,229,135,155,146,138,107,112,246,136, 75,146, 73,182,246, 61, 12, 67, 99,102,182, 73,123,177, 73,212,247,104, 38, 9, 53, 71,
- 67, 68, 25,113,152, 82,100,146,221, 32, 37, 13, 34, 74, 93,167, 90,181,209,117,131,153, 86,133,154,173,225,186, 14,162, 40,168,
-213,212,138,102,184, 55,100,148,230,100,210,192, 21,106,141, 35,100,161,114,235,115,137, 38, 5,169,148, 56,186,142, 35,115, 60,
-215,198, 74, 50,156, 60,167, 76, 11,218,115,117, 62,250,225, 21,110,247, 85, 80,142, 22, 5,180,211,152,214,124,135,143,125,254,
- 33,156,162, 64,248, 17, 87,126,186,206,133,247,182,176, 76,157,170, 44,105, 70, 41,109, 87, 99, 92,104, 28, 62,185, 64, 49, 14,
- 49,146,132,113, 86,160,139,146,220, 50, 97,228,179, 61, 8,201, 36, 20,125,143,250, 84,147,222, 40,196,180, 13,116,205, 68,215,
-193, 15, 18, 42, 89,130,158, 36,236, 7, 5, 50,202,240,227,156, 99,247,204, 19,103, 37,237, 86,149, 97,152,241,167, 63,188,202,
-126, 16,179,229,229, 88,105,128,214,238,240, 87, 63,186,192,189,179, 21,218, 71,150,184,190,209,195, 49, 13,206,221,220,163,229,
- 86,240,227, 8, 27,112,171, 14, 32,217,217, 15,209, 77,131,205,245, 33,155, 7, 35,102, 90, 14,129, 31, 18, 21,130, 76,104,244,
-198, 49,227,177,143, 7, 44,206,212,177, 50, 73, 25,140,152,126,226, 48,232,109, 56,246, 12,237,141,119,248,241,203,239,176,228,
- 93,193, 60,162,163,229,219,176,127, 17, 49,244, 89,125,238, 97, 30,251,149,231, 57, 43,116,246,182,246, 9,163,152,134, 13,165,
- 48,153,157,238, 32,202,148, 40, 43,136, 11,165,212,189,203, 78, 7,197, 77,215, 13,117,119,215,117, 29,161, 43, 48,132, 40, 21,
- 37, 48, 12,194,137,216, 78,195,212,117, 6, 99,159,191,243,149, 47,210,110,214,185,120,245, 58, 97, 28,243,169,143, 61,205,145,
-213, 37,242,188,100,107,127,159, 55,223,125,143,237,221, 61, 6,227, 49,135,151,150,152,238, 52, 89, 61,180,196,230,246, 46,183,
-214, 55,120,244,161, 7,104, 84, 43, 72, 36,157, 70,147,173,221, 61,222, 58,127,129, 87,223, 57,135,231, 7, 28, 59,188,204,220,
-204, 52,227,177,199, 65,111,192,223,249,202, 11,188,248,153,231,153,157,157,229,173,115,239,177,185,179,195,119, 95,250, 9, 81,
- 28,115,108,245, 48,207, 62,241, 24, 71,151,151, 41,139,130, 96,228,145,229, 57,221, 94,159, 91, 27, 91, 28,244,250,172,109,109,
-211,157,100,160, 47,204,206, 43, 2, 62, 94, 0, 0, 32, 0, 73, 68, 65, 84,242,232,217,251, 88,154,155, 83,223,167,128,183, 47,
- 94,130, 18,230,102,166,112, 93,135, 70,181, 78, 20, 70, 12,189, 49,175,253,244, 28,223,123,237, 53,144,138,151,191, 52, 63,199,
-253, 39, 79,112,255,201,123, 89, 89, 90,156,224,162, 75,188, 32,100,107,119,143,195, 75,139, 76,181, 90,104,186, 18, 39,105, 66,
- 61,131,210, 52,102,125,171,139, 33, 37,179, 15, 63, 72,167,241, 8,199, 87,159,166, 54,253, 73,110,223,252, 46,197,240, 54, 78,
-115,150,179,207,253,207,172, 44, 63,135,219, 58,202,213,119,255, 12, 67,198,248,113, 76,163,174,113,251, 37,155,178, 16,164,189,
- 46, 73,209, 3, 93,167, 98, 46,210,223,126, 31,205,118, 72,194, 49,131,131, 77,114, 89, 99,113,229, 56, 26, 41,214,246, 51,156,
-251, 27,155,239,252,233,144,183,191,241,231, 92,121,243, 95,147,120,123, 80,166,204, 28,122,140,163,247,127,142,207,127,237,107,
- 44,172,126, 1,187,185,160, 20,250,211,139, 10,205, 26,121,128, 64,163, 36, 8,122,196,193,136,192,143,105,117,166,200,210,148,
-253,238,144, 40, 14,201,147, 20,219,210, 40, 53,157, 52, 11, 41, 10, 73,197,173, 81,115, 13,116,129, 2,166,136,130, 66,104,100,
- 73,140, 31,133, 20, 69,129, 91,169, 49,183,250, 56,126,111,155,200,223, 97, 28,222,164, 31,190, 71,175,119,139,112,188, 70,165,
-115, 31,213,246, 41, 78,156,253, 42, 31,254,244, 31,225, 56, 14,221,221,183,240,246, 46,144, 4,251,228,193, 30,101,188, 15,153,
-143,208, 93, 52,189,128, 34, 34, 9,123, 20,201,128, 44,244, 41, 40, 89, 88,153,103,103,111, 15,167,217,164,109, 88, 88, 75, 77,
-234,167,230,200,246, 44,138, 44,166,200, 60,210,168, 71,153,239,209,158, 62,198,120,208,163, 48,134,212, 69,138,215, 61, 64, 22,
- 57,113,170, 6, 46, 89, 74,220,138,139,105,152, 4, 97, 64, 89, 22, 8, 77,128,166,232,142, 97, 16, 97,234, 38, 73,166,182,130,
-160, 72,131,105,154, 98,232, 38,166,101, 18,199, 10, 33,156,101,249,100, 74,151,100,133, 36,207, 75,116, 3,116, 67,167,204, 75,
-202,162, 32, 77, 84,236,178,242,130,231,232, 19,189, 66, 65, 1, 37, 24,134, 58,129,100,105, 65, 81, 78,236,159,165,130,224, 24,
-186, 65,150, 41, 0,140, 68, 96,217, 22, 81, 28, 65, 89, 78, 28, 47, 74, 80,235, 88, 10, 44, 21, 69, 33, 69, 89,168,128, 45,211,
- 84, 2, 64,169,134, 78, 41, 5, 81, 18,227,186, 46,182, 99,147, 23, 5, 81, 24, 33, 4, 84,220, 10, 89, 81, 82,173, 84, 20, 46,
-183, 90,197,182,108, 10, 10, 69,192, 43, 10, 5,194, 41, 75,132,208,201,178,148, 40,142, 84, 82,156,105,169, 51,130,174, 77,156,
- 46, 10,208,163,207,175,172,124,221,152,172,175, 45, 91,125, 65,134,161, 83,202,146, 50, 83, 64, 20,203, 54,213, 93, 66, 64,146,
-198,232,154, 32,205, 10,162,180,100, 39,145,124,229,254, 38,111, 93,217,195,110,205,242,192, 35, 15, 19,159,127, 7,115,182,205,
-153,195, 13,186,113,201, 49, 57, 98, 78, 87,247,176,131, 97, 68,173, 94,225, 39,219, 37, 73,150,161, 25, 26,119,209,148,174,237,
- 18,196, 49,245,122,157, 44,203, 20,245, 71, 87, 42,247, 40, 82, 29,161,162,237, 40, 46,119, 18, 39,148,148, 40, 72,141, 18, 68,
- 68,161, 2,183, 40,241,130, 84, 91, 7, 9,154,174, 79,196, 11, 42,194, 47, 75, 51, 76,211, 32,138, 35,229, 3,212, 53,132, 6,
-186,174,211,239, 15, 57,183, 21,240,198, 70, 76,195,209, 56,181,210,160,148, 18,111, 24, 33,179, 18,167,221,192,157,107, 82, 38,
- 25, 65,146,179,114,118, 21, 89, 22,108,237,140,209, 12,157,186,161, 97,186, 58, 69,150,163, 9, 69, 1,210,116,129,174, 43, 49,
- 71,150,166,164,189, 17, 46,130, 86,167, 70,187,209, 84,185,227, 21, 3, 97, 27,148, 65, 66, 75, 47, 16, 89, 78, 32, 53,136, 83,
- 42, 81, 70, 67,148, 52, 22, 58,196,227,152,177,161,177, 63, 8,177,135, 62,179,173, 58,233, 40, 96, 84,171,177,122,124,158, 27,
-239,222,225,234,141, 62,155,219,125,252,113, 68,211,212,105, 76,213, 40,210,148,217,154, 77, 92,106, 60,247,226,163,152, 81,194,
-214,206, 24, 89, 72, 66, 77,167, 51,221,160, 49,213, 32,139, 83, 74,199,160,165,149,152, 53,151, 60,205,240,125,149, 26,148, 38,
- 25, 1, 58, 69,156, 83,198, 49, 34, 7,199, 54, 40,114, 69,101, 10, 10,201,153,229, 41, 54,250, 30, 39,142,204,243, 31,127,240,
- 62,165, 31,240,234, 0,158,104,230,124,227,202,136, 63,125,233, 58,231,111,239, 67,150,114,122,105,138,235,251, 62,253,131,144,
-212,210,249,240,233, 89, 66, 9,241, 56,197,172, 91, 68,185, 34,162,137, 40,161, 86,183, 25,120, 9,139,179, 29,110,239,244,232,
-102,153,114, 81,196, 57,135,107, 14, 85, 91, 71, 23,202, 59,190, 82,152,112,246, 5, 48,103,112,179,219,124,255, 47, 95, 98,111,
-123,139,242,220, 5,166,155, 6,218, 92, 29,217,106, 35,151,159,135,169, 23, 49, 30,126,140,211,143,154, 44,140, 60, 94,185,176,
- 13, 82, 61,112, 98, 97, 98,139,146,172, 4,169,169, 27,157, 16, 66, 5, 32,153, 38, 66, 66, 41, 4,119,185,206,186,161,131, 44,
- 63,128,253,100,121,142, 44, 11,229, 29,215,117,190,242,185, 79,177,223, 31,176,182,177,197,200,243, 89, 89,156,167,226,186, 56,
-150,137,169, 27,116, 7, 3,206, 95,185,138,231, 7,156, 58,126,132, 99,135, 87, 40,100,201, 59, 23, 47,177,182,181,131,134, 96,
-186,211, 97, 97,118, 22,195,212,185,112,249, 26,239, 93,190,202,165,107, 55,152,233,116,120,226,225,135, 56,177,186,204, 96, 56,
-102,175,215,103,122,106, 74,165,183, 9, 65,152,196, 92,188,118,147,191,121,229, 85, 22,103,166,121,242, 67, 15,243,200,253,103,
-176, 77,147, 60, 75,241,130,128,131, 94,143,119, 47, 95,229,252,197,203,188,113,254, 2,151,175,223, 4,212,234,253,212,241, 99,
-172, 44, 45, 48, 61,221, 33, 78, 98, 46, 95,191, 69,127, 48, 2, 77,112,124,117,133,123,142,172, 18,133, 17,165, 44, 73,178,148,
-243,151,174,114,237,214, 26,134, 97,176, 52, 55,195,253, 39,239,225,241,135, 31,160,217,168, 3, 16, 37, 9, 23,175,222,224,237,
-139, 23, 25, 12,199, 44,206,207,177,178,184,192,242,194, 44, 83,237,214,100,155, 87,144,164, 49, 70, 9,113, 94,208, 62,178,130,
-223,215, 25,141, 35, 44,167,129,211, 58,134,217, 92,165, 61,191,140,102, 86, 8,253, 29, 6, 7,215,208, 76,139,131,205,243, 74,
-183, 35, 35,242,112,147, 48,142, 17, 82, 16,123, 99, 10, 25, 48, 55,255, 17,100,153, 49,222,187,137, 20,106,181,153,197, 93,122,
-221, 3,218,173, 6,123,189,155,236,239,189, 71,232, 93,197,247,175, 67,153,227, 52, 23,153, 95,125,134, 74,179, 69, 22,251,108,
- 94, 31, 83, 10,141,192,223, 97,116,112,157, 32,220,167, 94,159, 34,242,246,128,146,214,212, 20,149,198, 17, 21,249, 90,230, 56,
-141, 54,181, 90,133, 50, 47, 16, 18,208, 4, 73, 28,169,172,241, 66,137,190,164,156, 48,192,213,120, 73,152,230,100,113,200, 96,
-239, 6,199, 79,126, 22,127,212,195,114, 90, 88,110,141, 40,241,241, 71,119, 24, 13,214,136,198,187, 68,222, 38,131,173,119,248,
-200,199,255, 7,254,249,191,255,101,126,241,171, 15,208,124, 72,199,202,142,145,228, 45,250,219,231, 9, 14,174, 16, 39, 62, 70,
-117,129,250,252,131, 88,118,139, 60, 26, 32,147, 0, 10, 21,244, 83,202,130, 82, 26, 28, 62,115,156,106,179, 73,183, 55,164,181,
- 60,199,195,207,126,150,234,116,131, 97,116,157,188,171, 86,212, 69,234, 1, 3,166,206, 30, 33, 58, 72,176, 58, 48, 85,119,241,
-118,182, 0,137,166, 25,228, 89,170, 38,110,195, 64,215, 84,242,164, 46, 52,194, 88, 41,221,227, 9,253, 48, 47,114, 28,219, 70,
-104, 2,215,117, 85,140,105,166,168,166,142,235, 98, 77,124,228, 66,211,144,133, 36,201, 21,144,198, 52,116, 74, 32, 12, 19,242,
- 92, 1,212,114,169, 82, 42,243, 34,195,182, 29,178, 68,161,133,245, 73,141, 51,116,147,178,148,104,134,174,116,100,150,242,199,
- 35, 85, 83,158,231,185, 26, 54, 77,229, 0, 19, 66,168,207, 33,139,191,109, 42, 16,147,196,209,187,209,204,242,131,149,122,158,
- 37,216,142, 67, 28, 71, 88,166, 73,154, 42, 34,165,156,232, 9, 12, 67,159,128,194, 20,214,185,148, 37,182,107,131, 80, 44,121,
-211,212,209,132, 10,181,169,184, 85, 12, 83, 21,245,187, 25, 31, 73,146,146,101, 74, 41,159, 68, 9,105,146, 98, 24, 38,250,204,
-220,252,215,179, 92, 25,253,165,212, 64, 83,177,154,138,126,164, 34,240,148,186, 87,146, 37,234,222, 41, 75,197,189,205,178,140,
- 59,221,152,216,173,242,185, 51, 83,188,250,246,251, 76,223,115, 63,115,191,252,243,100,223,250, 22, 86,219,225,241,165,130, 86,
-127,159, 11, 7, 41,155, 82,195, 45, 5,238,194, 28, 23,122, 74, 49,108,232, 42,156, 68, 22,138,137, 45,165, 98,228, 10, 29, 52,
-161, 51,246,198,148, 40, 95, 99, 89, 42,144,135,109,219,232, 66, 82,160, 40, 61,134,166,136, 81, 97, 24, 42,243,191, 16,196,113,
- 68, 18, 79,136,108,113, 76,146,168, 41,171,152,176,118,243, 76, 33,102, 85, 23,151, 80,228, 25,113, 20,147, 36, 41,134,174, 17,
-197, 49,195,168,228,124, 79,240,234,122,200, 82,199,224,244,225, 38,227, 32,103,212, 27, 49, 28,134,172, 30,159,199,170, 87,201,
- 2, 31,167, 89, 33, 49, 45, 42, 81, 76,141, 12,162, 84,169, 42,145, 80, 20, 36, 72,100, 57, 65,137,238,141,137,117, 3,203,128,
-220,177,216, 57,240,209, 76,129,174,149,228, 73,137,149,169,168,200,220,182,233, 44,116, 16,162,196,201, 83,146, 66,224,182, 92,
-136, 67,138, 18,202, 56,101,170,213,192,172,219,136, 52, 97, 24,196,236,245,125,140,145,207,220,145, 89, 42, 6,148, 97, 74,197,
-210, 9,187, 62, 86, 41,137,163,148,176, 98,179,183, 61,224,230,173,125,166,230, 26,148, 89,134,149,229,164,104,140,178,156,134,
-173,209,234, 52, 40,188,132, 94, 34, 41,243, 18,167, 98,146,249, 49, 90, 89,146, 70, 57, 38, 57, 83,157, 26,113, 92,112,223,131,
-135,104,205,182,200,179,146,141,110,200,242, 66,147, 40,136,232, 44,206,211, 31, 70,228,227, 17,233,212, 20,121,148,242,171, 31,
- 59, 74, 44, 37, 87,247, 2,222,189,227,113,223, 61,179,124,230,153,251,136, 19, 21, 96,242,209, 7, 79, 16, 69, 1,123,153,164,
-106,219,172,111,123,120, 89,198,201, 51,139,172, 44,182,216,220, 28, 98, 86,109, 74, 83, 39, 74, 80, 10, 84, 29, 22,230,235,212,
- 27, 85, 66, 63,229,122, 47,228,242,245, 59,136,203, 63,100, 78, 95, 67, 27, 5,116,187, 67, 60, 63, 98,225,216, 97,230,190,242,
-187,200,230,211, 8,221, 71,216,171,106, 37, 47,115, 68,239, 28,115, 71, 90,204,151, 57,127,245,238, 38,142, 14,126,146, 35,117,
-147,186,169,145,100, 5, 97, 86, 82, 76,238,235,154, 38,208, 12,181, 61,146,147, 14, 63,138, 18,198,129,106, 64,213,184, 33,105,
- 53,155, 88,134,133, 99,219, 60,251,145,199,232, 15,250,220,217,218, 97,107,119,143,118,179,201,195,103,238,165, 81,171, 83, 20,
- 5,155, 59, 59,188,119,249, 26, 21,215,225, 11,207, 63,199,177,213,101,182,118,246,248,206, 15, 94,102,118,106,138,135,238, 63,
- 69,179,209,192, 52, 12, 46, 93,191,201, 91,231, 47,114,254,210, 21,146, 44,231,241,135, 30,228,200,225, 37, 92,199,225,149,159,
-190, 75,127, 52,226,248,202, 33, 26,245, 58, 51, 83,109, 76,221, 96,107,119,159,107,183,110,163, 27, 58, 71, 86,150,105, 53,234,
- 20,101, 73,148, 36, 12,189, 17,123,253, 17,183,214, 55,184,112,249, 58, 55,215,215,255, 86,136, 99,155,156,190,231, 4,103, 79,
-223,139,134, 80,105,109, 81,196,238,126, 23,144, 28, 62,180,136, 99,219,116,123, 3,188, 40, 34,142, 82,138, 60,103, 56,246,144,
- 64,179, 86,165,211,106,225, 5, 62,227,113,128,101,153,120,126,192,112,236,177,179,127,128,101, 90,124,245,243,159,226,158,163,
- 71, 38,211, 75,129,161,235, 84, 43, 46,243,211,211, 44,174,204,179, 95, 74,242, 56, 69,147, 14,163,209, 1,253,221,247, 9,250,
-183, 17, 2,170, 85,157, 36, 76, 39,246,165, 0, 77,151,140,187,107,200, 44,198,243, 99, 90, 21, 24,247,175, 51,246,122, 36,195,
- 29,138, 72,167, 53,117,150,217,163,143, 33, 12, 23,239,224,186, 42, 14,166, 69,153,134, 12,246,239, 80,119, 11,146,254, 13,250,
- 7, 55, 73,188, 93,210,120, 72,115,250, 52,135,207,254, 28,173, 70,157,122,245, 30,188, 96,135,238,222, 69,250,187, 87,145, 2,
- 92,183, 67, 99,230, 36, 81,184,207, 96,255,125,210, 84, 35, 11,183,177,234, 54,245, 90, 7,215,118,176, 76,147,146,130,178,200,
-201,115,181,190,157,157,153, 35, 43, 84,212,178,105,233, 96,187, 20,152,200, 34, 39,139, 66, 50,127,192,115,255,223, 43,188,242,
-123,127,151,223,248,239,127,157,133,175,253, 42,231,254,230, 10,195,189,243,100,105, 64, 26, 13,137,227, 46,201,112,141,188,200,
- 57,243,196,239,176,190, 6,239,190,172,241,198,127, 30,178,181,126,157, 56, 31, 35, 52,147,153,195, 31,227,232,233, 47,115,226,
-204,215, 88, 60,242,113,164, 81, 33, 47, 33,142,135, 20,105, 76, 81, 36,232,118, 3,221,157,161, 76,107,172,158, 93, 37,244, 6,
- 4,113,130, 62,154,193, 10,230,209,228, 26,221,205, 62,154,168, 80,150, 1,165,223,227,228, 19,247,225, 46,206, 50, 61, 55, 79,
-103,169, 67,247,198,117,242, 44, 70,161,150,133,194,127, 27, 6,119, 99,131, 77,203, 66,232, 42, 31,193, 50, 21, 64,171, 82,169,
- 98,154,198,228, 30, 94,160, 11, 21,196, 34,132,186, 91,235, 19, 5,186,148, 74,225,110, 91, 54, 69, 81, 80,169, 85, 17, 2,164,
- 4,203, 50,201,243, 84,121,220, 75, 64,104, 68, 81, 72, 94,228,148,148, 36, 81, 76, 18, 39, 8, 33,209,181, 9,134, 91, 83,110,
- 23,195, 52,209, 53,161,128, 51,166,161,224,107, 5,138,222, 55, 1,216, 84,171, 21, 21, 58, 99, 90,228, 69,134,105,216,216,150,
- 73, 16,133,216,182, 69,156,164, 84,171, 46, 72,141, 40, 81,241,187,101,145, 35,180,137,179, 70, 51,201,178, 76, 5, 48,153,198,
- 7, 91,169, 60, 87, 2, 90, 74, 37, 44, 76,178, 12,132, 34, 98,218,142,173, 78,205,233,132,128,169,169,228, 68, 77, 8,132, 80,
-167, 26, 33,116,178, 60, 67,159, 93, 90,252,186,242,126, 22,228, 64, 20, 40,198,117,146,196, 20, 82,117, 16, 89,145,145,165,138,
- 88, 85,113, 93,234,141,186,130,236,107,170,219, 90,239, 23,180,166,106,124,249,193, 89,190,253,221, 31,179,251,230, 5,106,211,
- 11,108,188,126,142,205,219, 93,222,237,195,126,152,112,250,232, 52,159,127,234, 8,191,255,230,128,157,177,178, 38,196,113,140,
-227, 42,219, 92,146,166,104, 2,245, 67, 43, 74,130, 40, 84,136, 90,211, 80, 54, 1, 38, 5, 95,168, 85,142, 20,146, 52, 78,136,
-146,152, 36, 86,183,191, 44,203,112, 92, 21, 60, 47, 52, 53,157, 27,154,166,136, 68,226,110, 18,151,196,180, 45, 12,161, 41,118,
-175, 0,211, 50, 48, 12, 91,137, 87, 18,213, 53, 54, 26, 53, 76,195,100,156,148, 92,232,155,156, 59, 40,145, 90,193,153,195, 77,
-154,245, 10,187,187, 30,105,156, 96,235, 58,113,119, 76,255,192,195,208, 5, 83,135,103,145,182,131,191, 55, 38,237, 7, 20, 18,
- 8, 19,110,245,149,122,210, 17, 26, 39, 31, 88, 97,127,163,199,214, 80, 5,134,212,234, 6,101, 20, 19,247, 35, 52, 93,144,149,
- 80,100, 5,134,101, 80,140, 35,202, 66,195,154,170,162, 89, 22,222,254,136,206,124,155, 34, 76,145, 21,245,218,148,163,128, 74,
-195,165,110,234,200, 36,195,172, 59,164, 94,132, 85, 22, 56, 83,117,226,170, 67, 90,148, 96, 27,180, 91, 53, 85,111,226,140, 59,
-227,148,118,205, 98,234,240, 12,253, 59,125, 66, 63,161,217,170, 18, 75, 73,179,238,114,115,115,132, 87,192,234,242, 20,254, 40,
- 38, 19, 18,163,148,104, 18, 44, 67,167,247,255, 51,245,166,177,114,165,249,121,223,239, 61,251,169, 58, 85,117,247,253,242,114,
-105,146,205,102, 55,123,157,238,158,158,105,181,102,145,108, 45,176, 70,138, 44, 89, 89,164, 36, 16, 18,197, 1, 98, 97,236, 36,
-112, 0, 1, 3, 4, 2,146,248, 75,228, 5, 48,178, 32, 49, 98, 59,142, 37, 56,146,162, 25, 89,138,198, 35,207,140,122, 52, 61,
-189, 76, 55,201,238,230, 78,222,253,222,218,171,206,250,158,247,188, 39, 31,222, 34, 39,245,137, 32,200, 91,203, 61,117,222,255,
-242, 60,191, 39, 46,136,167, 5,169,170,152,228,154,211,222, 4,207,243, 57,191,214, 34, 78, 18, 46, 60,181,206,238,245,123, 76,
-114,201,159,159, 42,134,143, 78,120,106,115,142, 71,227,156,127,249, 95,255, 21,126,231, 15,111,240,197,151,206,176,182,214,225,
-249,203,235, 70, 69, 61, 76,217, 89,108,240,209,225,148,162, 44,113,202, 26,225,186,108,175, 68, 28,199, 5,227,188, 98,216,157,
- 18,117, 26,172,174,180,144,177, 34,176, 5, 69, 44,177, 34,159, 65, 42,177, 43, 69, 36, 10, 30,125,242, 9, 39,123, 7,212,158,
-205,134,208, 44,183,230,104,189,241, 69,176, 59, 80, 13,168,179, 79,169,117,129,136,191, 11, 15,238,194, 36, 97,243,234, 38,163,
-189, 1, 31,239, 15,169,180,166,233, 59,224,122, 4,174, 67, 81, 41,210,162, 66, 88, 53,117,101, 38, 59,198,111, 94, 27,197,173,
- 99, 84,190,105,158, 27,177,140, 54, 88, 76,207, 53,215,217,179, 87, 46,177,182,178,194,116, 50,229,225,193, 33, 43,139, 11,172,
-175, 44, 19,134, 1,211, 52,229,207,254,226, 47,185,251,104, 15,219,178,185,242,212,121,124,215,229,143,190,249,231, 12,198, 99,
- 46,156,217, 98,121,113,145, 70,224,115,102,115,131,254,112,200,222,193, 33,131,241,132, 48,240,121,246,210, 5, 58,173, 54,133,
-148,220,123,184,203,100, 58,165, 17,132,180,162, 38,173,168,193, 52, 73,184,121,251, 14, 31,223,189,207,202,226, 34, 27,203, 75,
- 56,174,137,151,140,179,140,209,120,194,163,253, 67,134,163, 17, 90,107,210, 60,167, 55, 24,114,102,107,131, 47,190,241, 58, 23,
-206,158, 97,174,221,162, 63, 30,177,119,120,200,225,113,151,113,156,224, 56, 46,235, 75,243,180,162, 8,207, 53, 55,172, 7,251,
-251,188,251,209, 13, 30,238, 30,144,203,130, 82,105,243,186,215,215,217,218, 88, 5, 4, 7, 39,167,236, 31, 30, 51,223,105,243,
- 99,175,191,194,249,237, 45,146, 52,103, 26, 39, 76,226, 41,121, 46,105, 71, 77,132, 99,211,110, 70,220,159,102,100,131, 33, 81,
-216, 36,137, 39,228,197,136,116,244,144,201,240, 62,161, 7,185,172,144,217, 16,165, 18,202,116, 2,228, 36,211, 67, 90,209, 28,
-105, 41,113, 44, 27,183, 74,168,171, 9, 74, 57,188,241,203,191,195,207,124,245, 26,147, 71, 11, 56, 27, 21,167, 31,191,135,176,
-125,106,215,166, 42, 75,250,189, 93, 44,203,193,210, 26, 85,140, 80,197,128, 70,103,149, 40,106,226,216, 30, 59, 91, 47,146,230,
- 41, 39, 7,239,145, 77, 15,176,236,128,149,181,151, 88, 92,127,154,179, 23,255, 42,157,133,151,120,241,167,126,155,254,201, 77,
-122,187,215,177,221,128,249,197, 5, 66,223, 37,151, 21, 85, 37,113, 29,131,191, 86, 85,141,237,218, 84,117,133,227, 5, 80, 41,
- 84,145, 32,211,156, 60,143,233, 44, 93,226,115,207,253, 93,254,233, 31,151,124,227,223,214, 28,127, 56,229,104,239, 61, 78,111,
-253, 62, 54, 57, 89,114, 66, 49,124,196,232,232, 67,230,214,158, 39,104,175,176,251,233, 15,121,180,127,147, 52,121,192,120,116,
-155,201,232, 17,101,222,103,121,227,179, 68,115, 23, 41,178, 19,250,221, 91,148,121, 23,203,170, 1, 65, 89, 87,120,193, 60, 78,
-176,128, 27, 44, 97,185,139,228, 19,197,214,133, 57, 14, 79, 79,209, 65,193,104,183, 38,138,166,164,213, 20, 87,175, 96, 1,110,
- 67,112,230,236, 2,107, 23, 54, 17,237,121,194,133,121, 22,206,110,176,119,253, 6, 42,205, 41,117,105, 28, 73,149,156, 17,229,
- 32, 47,114, 60,199,104,170, 60,223,195,117, 93,168, 43,195,128,247,141, 53,172, 44, 75, 92,223, 8, 78, 77,162,153, 79, 85,155,
-241,122,150, 75,164, 44,104,183, 91, 8, 97, 82,218,152,217,217,148,172,240,124, 67,151,115,109,123, 38,208,179, 8,253,192,132,
- 90,149, 37, 69, 33,201,165, 68, 85,154, 90, 51, 19,105,219, 80,139, 89, 1,192, 12,223,106, 48,210,104, 77, 93, 27, 47,189, 97,
-176, 99,180, 93,162,194, 16, 25, 77,160,139,231, 25,177,157, 99,153, 3,215, 17, 14, 21, 26,215,118, 80,165,194,182, 4,142,103,
-220,101, 32,112, 45,155, 44,205,113, 61,199, 52,164,133, 36, 12, 76,162,158,227,152,136,238, 34,147,179,137,130,111,210,217,102,
- 35,119,219, 49,223,223, 52, 73,144,170, 48,124,248,205,179,103,191,102,219, 46,182, 35, 40,178, 2, 97, 11,154, 97, 19, 85, 43,
- 80, 26,207,183, 9,252, 0,215,113,104, 54, 27,184,179, 49,161,101,219,198, 82,230,121,216,174,195,251,123, 83, 70, 86,131, 95,
-254,220, 58,227, 56,231,198,253, 35, 6,150,207,167, 83, 65,203,183,121,235,149, 29, 62,115,117,155, 15,119, 71,252,243, 31,166,
-102, 60, 81, 41, 4, 2, 44, 16,181, 97, 34,215,181,198, 18, 22,142,239,131, 22,212,104, 30,103,124,171,202,100, 60,171,153, 77,
- 64,202, 18,223,245, 41, 43,133, 37, 52, 6,202,111,161,102,234, 70, 85,150, 88,182,217,181,219,174,192,245,124,162,102, 19, 91,
-216, 79,170, 70,165, 74, 96,198,253,246, 92, 28,207, 67, 22, 5,150,227,224,123, 30, 89,110, 16,130,165, 82, 20,248,220,153,184,
-124,255,176,198,119,107, 54,215,218,204, 69, 30,147, 73,142,240, 61,142,211,146, 84,193, 83, 23, 86, 16,158, 77,107,173, 67,115,
-125,142,104,173,131,146,138, 32, 45,240,107,141,198,162,189, 16,144,166,138, 88,129,182,106, 34, 27,100, 47, 51,201, 67,218, 34,
-181, 29,116, 89, 34,147, 28,116, 69,170,148,185,112,167, 41,110,163, 1, 53, 36,189, 4,167, 29, 34,100,137, 78,115, 28,219,166,
-177,208, 97,124, 58, 33, 29,101,180, 92,155,220,245,176, 29, 27,187, 80, 52,151,219, 88,182, 3,186, 98, 90,214,104, 27,238, 29,
- 37,172,183,124,162,118,147,108,154, 18,232,138,112,169,197,209,238,144, 96,185,205, 97, 55,102,125, 41, 98,123, 99,142,105, 94,
- 18,116, 34,148,231,160,149,241,171,142, 22, 66,220, 86,147, 70, 20, 48, 42, 20,213, 84, 18, 87,138, 87, 94,187,194,173, 27,187,
-108,157, 93,197, 17, 53,235,147, 46,223,235, 42,106,199, 34, 31, 79,120,235, 51, 87,184,246,220,121,158, 90,107, 81, 90, 53,117,
-109,209, 59,237,115,122, 56,230,185,167, 55, 88,220, 92, 99, 45,178,216, 63,154,208,112,109,180,174,200, 42,205, 27,215,182,185,
-181, 55,102,148,152, 28,102, 91,193, 56,206,112, 3,143, 44,242,152,156, 38, 52, 91, 1,157,134,135, 42, 53, 58,116,113,180,102,
-255,112, 72,154,103,228,117,205, 86,121,138,181, 89,130,234, 34,142, 62, 69,124,251,155,188,255,127,254, 9, 31,191,127,151,227,
-189, 62,190,170,152,107, 53,248,167,223,121, 96,108, 43,218, 68, 41,218,158,143,107, 65, 82,148,148, 10, 28,215,198,117, 44,192,
- 56, 48,102,139, 2, 28,215,166,225, 7,212,212,148,186,162,148, 37,143,195,121, 26,190,207,246,198, 58, 39,253, 62,183,239, 61,
- 34,138,154, 52, 27, 33,237,102,147,110,175,207,222,225, 17,189,209, 8,223,119, 57,187,185, 73, 20, 69,124,124,239, 62,163,177,
- 17,220,196,113,202, 59, 31, 94, 55, 59, 54, 4,195,201,132,251,187,251, 20, 82,114,126,103,155,213,149,101, 38,211, 9,239, 93,
-255,132,201, 52,166,221,110,113,249,220, 89, 86, 22, 22,136,154, 17,105,150,209, 31,142, 56,233,247,185,247,208,112,219,251,195,
- 17,131,225,144,105,156, 97, 91, 32,132,241,247,246, 7, 35, 14, 79, 78, 25, 79,166, 60,218, 63, 68,149, 37, 81, 20,113,247,225,
- 67,190,253,206,251,124,255,131, 15, 25,199, 9,139,237, 22,205, 70,147, 51,155, 27, 56,142,195, 52,142,169, 42,205,241, 73,151,
- 56, 79, 57,119,230, 12, 95,124,227, 85,182,214,215, 89,156, 55, 24,221,241, 52, 38, 78, 98,206,239,108,243,165, 55, 94, 99,101,
-113,145,193,104, 52,227,153,107,186,253, 1,113, 28,211,108, 54, 41,178, 2, 71,192,254,113,151,188,214,212, 73, 76,224,194,116,
-116, 64,220,189,133,204,115, 58, 11, 77,170, 98, 98,190,251,217, 16, 41,167,184,222, 2, 69, 50, 98, 58, 60, 50, 35,202,220,228,
-213,111,109,157, 33, 43, 21, 47,191,245,171,252,151,159,133,155,253,179, 84,113, 64,150, 30, 48, 58,185,143,133,141, 99, 57,212,
-186, 38, 30,159, 50, 29, 62, 34, 73, 70,200,162,100,126,190, 67, 99,190,197,201,222, 13, 30,222,125,143,222,201, 71, 20,113,159,
- 90, 64,212,217, 38,106,173,210, 92,156,227,210, 75,215, 40,114, 24,236,125, 72,163,189,129,204, 39, 76,135,251, 76,198, 99,164,
- 84,196,211, 41, 73,156, 35,101,133,214,224,217, 26,207, 6,215, 54,153, 14,105, 94,160,100,133,174, 5, 81,103,141, 75,111,252,
- 71,140,251,167, 36,163, 91, 76, 79,111,211, 59,248,152, 90, 79, 24, 15,119,153,118, 63,165, 76,123, 72, 89,177,124,241, 43, 44,
-110,191, 76, 50,250,148, 34,143, 17,114, 66, 42,123,228,211, 46,114,122, 68,145,246,241,230,207, 81, 22, 3,134,195, 59,200,188,
- 75, 50, 61,162,152,116, 81, 90, 98,213, 96,185, 30,142, 29, 96,249, 33, 66,120, 84,165, 69,123,189, 65,224, 10,250,167, 7, 88,
-141,140,227,247, 63,193,143,108, 22, 86,158, 65,215, 1,110, 35, 98,254, 76,147,102,232, 16,118, 26,212,162, 65,115,101,141,139,
-175,191, 74,255,222, 93,146,254, 0,199,179, 81, 82,225,186, 38,161,176, 40, 36,181, 37,208,181, 6, 33, 40,242,148,178,172,177,
- 48,246, 45,203,182, 8,195,198,147,113, 55,181,198,113,252, 39,186,169,170, 82,184,182, 57,116,149,148, 96,153,174,214,177, 60,
-176,160,204,115, 30,167, 82, 58,182,139, 31,120,232,186,158,173, 0, 44, 3, 58,242,205,253, 94, 32,112, 61,143, 52,141, 1, 65,
- 35, 52, 14, 24, 85,150,168, 89, 51,107,217, 6,140,102, 98,115, 53, 85,109,226,101,203, 92,146,102, 25, 85,165,113, 28,155, 56,
-142,169,181,201, 72,127, 28, 89,158,101, 25, 8,112, 61,151,170,210, 64,133,227,122, 84, 90, 81,150, 18,199,119,141, 21,187, 52,
- 20, 75, 44,115, 30,151,170,164, 86, 2, 63,244,158,104,121,146,105, 76,150,103,198,190,102,139, 39, 99,125, 33,108,115,150,109,
-237,236,124,205,178,141, 34,144, 90, 80,213, 53,129,111,108, 39,142,101,227,206, 80,123,186, 86,212,152,110,164,174, 13, 82, 83,
- 87,179, 4, 55,173, 41, 11,201,221,190,228, 91,247, 50,222,184,188,192, 79,190,178,201,185,115,203,108,175, 47,240,234,181, 29,
-162,185,136,143,238,245,248,135, 63,200,201,132,121,163, 88,214,147, 61, 73,158, 26,206,181,227, 62, 22, 68,152,221, 61,150,101,
-128, 2,128,235,216,179,209, 71, 64,165,141,157,168,170, 53,182,176, 0, 1, 66, 32,132,192,113, 29,108,203,164,239, 80, 67,171,
-213, 34, 12, 26, 4,190,161,162,121,190, 1,240, 75,105, 4,128,245,236,162,170,235, 26,215,117, 41,149,196,181, 76,110, 46, 48,
-171,194, 12,155,186,210,154,172,130,235,253,154,155, 67,151, 7,195,132,167, 86, 2,106,171,166,219, 77,152, 38, 18, 37, 37,253,
-145, 41, 6,206,108, 47,224,123, 46, 11,203, 17,195,163, 1,200,138,104, 41,100,109,125,145,211,221, 62, 19, 89, 18, 56, 46, 45,
- 27,168, 43,170, 18,124, 7,156,186,166, 22, 22,181,176,152,223, 94, 32,159,100,212,149, 70, 38, 37,107,231,151, 9, 90, 62,195,
-254, 20,145, 43,156, 60,199, 90,154, 71,184, 46,233,241,192, 4,231, 8,141,194,248,235,109,207, 34, 25, 36,236, 79,114,210, 68,
-210,246, 61,220, 86,131,162, 22, 68,150,169, 66,219,171, 77,198,199, 19, 28,199, 4,130, 84,150,197,238,193,132,245,141, 54,129,
-210, 56,145,207,234, 98,147,211,238,144, 78,211,236,198, 44, 85,226, 47, 69,124,114,167,207, 56, 45,153, 28,199,180, 26, 14,130,
-154,107, 23, 86,104,180, 27,236, 61, 58,161,156, 91,100,124,239, 33,218,134, 79,134, 53,151, 90, 53, 43,235, 75, 92,189,176, 70,
- 40, 20, 77,203,226,207,190,127,135, 13,223,230,163,253, 30, 15,142,198, 92, 92,239,208,106,132,168,204, 32, 40,157, 90,115,103,
-111,196,202,218, 60,159,127,237,105,198,163, 33,227,126,134, 44, 36,150,168,153,102, 21,207, 63,181,198,213, 43,107,124,247, 7,
- 15,136, 86, 58, 56,190,199, 97,162, 81,185,100,146, 20, 12, 10,201, 52, 47, 72,123,167,112,253, 99,246,223,126,143, 7,223,254,
-136,235,183, 30,113,146, 75,122,147, 2, 47, 50, 8,212,175,253,239,111,211, 77, 13,144,102,161, 97,179,209,180, 80, 88,164, 74,
-208,240, 93, 82, 41, 41, 74,101, 32, 22,194, 92,123,186,174,209,218,236,244,147, 60, 65, 22,229,108, 84,102, 4, 49,157, 86,196,
-112, 50,165, 29, 69, 12, 70, 99,110,223,187,111,176,171,142,209,141,180, 90, 77,134, 99, 3, 98, 25, 12, 70,156,217,220, 36, 77,
- 83,190,251,206,251,132,129, 79,156,166,156,244,122, 76,227,148, 52,205, 40,148, 34, 73,115,110,223,127,192,214,250, 42,215,158,
-190, 68,167,213,100, 56,153,242,238,245,155, 40,165,120,241,153,167,121,227,213, 23,217, 92, 91,123,130,217, 60,233,245,249,228,
-206, 61,226, 52, 99,161,213,194,247,125, 26,205,144,247,175,223,228,232,164,199,249,157,109, 70,211, 9,239,124,240, 17, 73,102,
- 48,177,150,109,131,101,210,197,180,214,108,173,173,177,181,110, 48,175,182,235,242,214,171, 47,177,190,186,202,193,241, 49,221,
-193,144,119, 63,186,193,123,215, 63, 33,207, 37,181,174,208,117, 77,212, 48, 49,179,174, 99, 83,105, 35, 56, 12,130,192, 32,115,
-211,156,188, 48,184,220, 56,137, 25,140, 38,200,178, 36, 10, 27, 51,164,109,205,104, 52, 97,156, 85,164,131, 17,165, 44,152,111,
-183,160, 76,217,126,233, 87,120,250,133,223,160,119,240, 93, 70,189, 61,212,244,128, 74,149, 44,108, 94, 99,231,218, 47,211,106,
-109,160, 43,197,164,255,128,133,249, 5,230, 23,151,104,134, 46, 71, 71,183,249,206,157,139,108,158,105,163,226,243, 4,139, 43,
-132,231,154, 28,223,248, 62, 85, 85, 82,215, 26,215, 11, 16,182, 71, 93, 85,232, 74, 50,236,238,210,153,219,164, 46, 99, 6, 71,
- 55,233,238,125, 64,169, 37,148, 5, 88, 22,194, 50,218,147,116,226, 16, 70,171, 56,205, 8, 81, 57,248,225, 50,216, 37,147,222,
- 61,100,174,168,106,176, 29, 1,181,160,148, 5, 89, 46,205,251, 47, 42,178,178, 66, 87, 53,181,150,248,205, 5,118,174,253, 20,
- 90,151,100,227, 67,100, 62, 38, 47,122,228,105,151, 52, 62, 38, 8,230,184,250,230,111,241,214,175,254, 35,126,233, 31,253, 38,
- 95,250, 79,127,134,133,207,189,206,238, 55,111, 19,143, 30, 34,179, 62,121,210, 67,170, 49, 50, 59, 37, 29,239,227,218, 77,242,
-180,139, 46, 98, 74, 21,163,202, 4, 89, 78,209,121, 31, 93, 37,136, 90,204, 40,111,198,213, 35,112,200,198, 22,235, 79, 45, 50,
- 60, 61,225,226,229, 29,156,200, 99,233,234, 57, 90, 23,155,180,197, 42,205,214, 38,174,179, 66,116,182,133, 87,244, 80, 2,210,
-145, 32,215,154,229,157, 13, 6,247, 30, 48,236,247, 80, 85,101,196, 93,150,141,229,216,200,188, 64, 43, 69,169, 36, 2,115,175,
-247,252,128, 82, 21,216,246,204,202, 60, 43,136,107,173, 73,210,204,116,212,182, 57, 59,178, 34,157, 77,145, 33, 8, 3, 44,203,
- 16, 30, 85, 85, 26,231,147, 16,179,117,178,166,200,243, 39,231,149,231,249, 88,150, 57, 55, 44,203,162, 44, 37,178, 48,113,166,
-186, 82, 88,182,137,193,214,212, 68,205, 8,234,218,116,229,218, 88,228,202, 74,225,205,214,190,246,172, 0,148,165, 68,204, 94,
- 71,154,166, 52, 26,205, 89,215, 95,226,218,230, 60, 41,242, 28, 11, 76, 65,163, 53,142,237, 24, 77,152,235, 98, 89,206,108,237,
- 13,181,170,159, 88,216, 84, 37,201,115, 35, 80, 87,170, 2, 1, 82, 22,152,232,101, 27,165, 75,148, 44,177, 28, 97,196,187,139,
-107,107, 95,211, 90, 35,139,156, 90, 99,198, 32,142, 32,137, 19, 42,165,168,209, 4,129,107, 42,155,194, 84, 21, 38,195, 54,101,
-154,196,100, 89, 70,150, 25,191, 93, 89,150,140,211,146,127,253,233,152,155, 39,102,151, 50,204, 20, 63,120,208,227, 15,223, 63,
-226,247,239, 86, 60,154, 84,200,194,132,189, 60, 46, 10,202,178, 36,106, 69, 8, 75, 24,113,130, 44,241, 3,223,236, 91,148, 66,
-230, 57,101, 41,113,109,155,176,209,192,181,109,252,192,228,129,251,129, 79, 35,108, 16,250, 1, 65, 35,164,217,108,206, 98,100,
-109,162,102, 19,173,161, 44, 11,148, 86,134, 74,231,185, 20, 69, 78,158,102, 72,105, 80,184,237, 78,155, 48, 12, 12,232, 64,153,
-184, 76,128, 70,163, 73,216,108, 26,213,188, 59,139,136, 13, 27, 4,129,111, 10, 32,219,229,180, 12,248,222,113,133,180, 60,190,
-242,230, 14, 23, 54, 23, 80,181, 32,201, 10,234,172,156, 85,227, 10,187,130, 96,161,137, 27,120, 56,161,207,104,146,225, 2,251,
-227,130, 81, 89, 17, 42,133, 19, 53, 9,231,155, 68,237,144, 50, 43,240, 27, 30, 80,113,246,242, 58,181,227, 18,119, 39,224, 57,
- 44,111, 47,210, 8, 60,250,167, 9,219, 79,175, 80, 20,154,114,154, 34,147,130,178,170,201,149, 6, 85,211, 88,110,147, 74, 67,
-139,242, 26, 62,183,246, 71, 52,116,141, 78, 50,108, 85, 97,229, 5,170, 40,105, 45, 55,104,117, 26, 28,239,143, 40,170,154,222,
- 84,178,126,126,137,249,208, 99,125,189, 77,239,222, 49,163,227, 49,193, 82,155, 34, 85,212, 66,240,204,185,121, 42,223,133, 81,
-138,242,124, 34, 71,243,211, 63,254, 52, 45, 75,176,178,208, 96,117,109,193, 20, 85, 2,142, 31,157,242,241,195, 30,175,108,133,
-188, 55,168,200, 1,145,196,188,249,202, 5, 84,169,176, 92,193, 71,119,187, 92, 88,139, 24, 38, 5,143, 14, 99,198,211,156,206,
- 98,131,126, 42, 73, 51, 69,162,161, 72, 10,110,239,246,216, 94,110,176,179,216,226,206,225,152,197,166, 75, 82,104,206,159, 95,
-228,238,254,128, 55,158,219,225,242, 86,135,119,175, 31,176,185,212,162,200,115,236,105, 6,190, 67,232,123,248,186,194,179, 32,
- 41, 50,246, 78, 7,164,212,204,175,181,193,178,233,199, 57, 10,129,231,217,220,124,216,167, 59, 46,104,135, 22,174,214, 52, 45,
-139,208, 22,100,182,161,207, 5,142,203, 36,147,148,186,194,115, 28, 44,219,194, 70, 80,150, 18,165, 43, 51,210,195,104, 83,168,
- 33,203,115,230,230, 58, 4, 51, 11,103, 94, 72,122,163,201,172, 83, 30,206,194, 32, 36,227, 56,229,184,107,112,186, 74, 41, 26,
- 13,159,135,251,135,248,174,131, 82, 21,147,105, 76, 24,248,184,190,135,109, 9,163,148, 31, 79, 88, 90,152,103,123, 99,221,168,
-123,117,197,173,123, 15, 9,131,128,159,253,242, 23,216, 94, 95,195,247, 60,164,148,220,121,180, 71,127, 56,226,254,195,125, 60,
-215,101,126,174,131, 16,130, 43,231,207,115,239,209, 46,135,167, 93,210, 52, 67, 85,154, 81, 28, 51, 24,142,120,252,152,235,180,
- 89, 95, 93,102,123,109,141, 92, 74,142,187, 61,234, 26, 70,163, 49, 73,150,211, 12, 3,186,131, 33,239, 93,255,152,253,227,147,
- 39, 86,182, 70,163, 65,146,164,244, 6, 3,166,211,152,124,134,230, 77,178,148,105,156,226,216, 54,185,148, 36,121, 78,154,101,
-140,166, 9, 15,247,246,169,133,197,226, 92, 7, 85,205, 70,165,133,228,180, 59,102,233,133,107,196,199,125,108,187,198,107,118,
- 56,251,210,207,178,188,248, 58,238,252,231,144, 50, 37,238,223,195, 34,163,177,176,134, 23,172,208, 90,188,136,223, 90, 34, 30,
-222,103,208, 61, 66,149, 18,207,241, 57,222,255,148,209,241,117,238,221,238, 99,135,203,136, 18,202,188, 98,237,194,143,113,238,
-226,207,209,240,219,156, 30,126,128,176,102, 36, 75, 97, 81,169,156,238,193, 61, 60,175, 77,115,174,141,231,218, 84,217, 0, 45,
-187,212, 66, 97, 91, 21,186, 78, 24,143,134, 36,201,128, 50, 47,144,186, 36,238,125,130,227, 53, 25,236,189,207,194,234, 83, 4,
-209, 38,233,100, 15, 85,196, 96, 9, 44,219, 8,145,107, 44,108,167,166,200,198,228,211, 17,151,191,240,119, 80,211,152,124,122,
- 23, 41, 75,100, 49, 34,141,251, 72,217, 39, 27,237, 33,227, 30,231,159,249, 10,182, 88,227,224,157,154,143,255,240, 14,123,127,
-121,143,225,241, 7,164,241, 49,121, 58, 64,231, 35,228,244,136,164,127,139, 60,139,113,194, 8,173, 10, 84,153,160,138, 33, 74,
- 78,209,114,138,140,247,169,100,134,176, 29, 80, 18,180,162,214, 10,163,181,106, 80,198, 30, 59, 87, 22, 25,140, 7, 92,121,246,
- 18, 79,159,251, 59,204, 95, 88,197,109, 60,164,108,249,184,249, 69, 26,245, 85,162,240, 50,222,186, 11,245,132,188, 63, 32,207,
- 20, 86,145, 48,237,118,201,165, 73,157,204,243,156,192,247,159, 28,218, 97, 16,226,123, 62,142,235, 82,228, 41,150,101, 19,134,
-161,137, 79,173, 20,150,237, 32,139,226, 73, 49, 24, 54,155,102,167,140, 5, 55,221,163,207, 0, 0, 32, 0, 73, 68, 65, 84,212,
-248,158, 75, 86, 72,147,167, 32, 75, 60,207,165,209, 8,169,197,140,250,102, 27,200,139, 99, 25, 97,118, 89, 22, 6,183, 58,123,
-126, 47,240, 41,149, 25,247, 55,155, 77, 44,203,184,172,124,215, 37,207,228, 44, 60,197, 53, 74,125, 85, 18,120,230,236, 49,104,
-214,140, 74, 43,163, 17,176, 12,237,180, 82,245,140,242,150,206, 4,119, 37,143, 93,117,165, 52,220,251, 74, 87, 79,158,211,113,
- 92,227,238,114, 93,234, 90, 83, 11,147, 0,167,148, 17,191, 85,101, 97,166,214,194, 8,192, 93,215, 69,212, 21,105,154,226, 58,
- 46, 0,129,107, 82,225,236,149,245,245,175, 85,149,185, 81, 99, 65,173, 13,120,223,182, 4,209,108, 71,102,212,231, 25, 73, 98,
-218,126, 41,205,206,221,158, 89,120,170,202, 68, 90, 62, 38, 2, 69, 81,196,253,110,202,159,223,137,121,247, 4,174, 15, 29,246,
-242,144,130, 25,106,214, 53,106,122,199,245,104, 54, 27, 56,142, 67,154,166, 70,217, 55,131,123,152, 72,190,194, 40,216, 49, 35,
- 65, 33,140,181,160,214,181,249,101, 0, 6,180,111, 68, 22,178, 40,204, 14,126,246,203,179, 44,203,140,212, 29, 19, 78, 33,101,
-129,231,250,184,142, 75, 45, 52,170, 44,177, 45, 3, 62,168,117, 5,194, 84,109,158,235,226,249, 62,182,109,146,132, 64,240,120,
- 18, 96,170, 59,102,157,126, 65,145, 73,100, 5,183,251,146, 63,121, 80,113,175,159,242,236,217, 57,174, 93, 88, 36,181,106, 70,
-163,156,201, 32,102, 48,202, 72, 51,137,219,105,112,122, 52, 38,157,164,180,214, 22, 24, 14, 83, 52,176,180, 24,241,220,179, 91,
-198,206,231,122,120,243, 33,227, 71, 3,116, 81, 33, 26, 77,156,192, 38, 25,231,216,142,203,217,237, 14,135,187, 61, 6,199, 35,
- 22,150, 59,172,172,183,233,118,167,200, 10,174,188,118,142, 70, 43, 96,146, 85,172,174,207,147,164, 5, 50, 78, 25, 41, 65, 45,
-224,249,231,183,176,173,154, 60, 41, 40,139,138,181, 43,235, 52,252,128,150, 39, 56,232,103,204,109, 44,178, 55, 78,120,106,123,
- 9, 93, 74,154,205,128, 82, 88,220, 58, 77,241, 61,139, 48,176, 73, 38, 18, 44,155,192,117, 56, 24,165,140,135, 57, 43,243, 13,
- 94,250,220, 21,162,192,225,222,225,152,205,141, 22,150, 45, 80,142,199,250,250, 28,223,120,119,151,186, 72,121,102, 46, 96,100,
-133,244,122, 49, 10,193,229,167,214, 16, 74,179,215,139,249,157,127,245, 62,255,213,175,125,137,221,253, 19,110, 63,236,177,179,
-210,225, 27,223,189,195,175,124,233, 34, 31,220, 57,101,156, 41,164,172, 56,234, 38, 92, 59, 19,241,151,247,135,132,142, 77,169,
- 53,103,182, 87,200, 11,197,159,189,243, 0,233, 8, 6,131, 20,203,115,241,178,156, 52, 47,113, 2,151, 65, 89,177,182,216, 70,
- 4, 30,221,178,162, 0, 86, 86,150,232, 37, 5,148, 37,231,150, 90, 92,221,156,231,133,203,155,252,194,151,174,242,135,127,246,
- 33,150,237,240,187,191,245, 83,236, 31,143,248,222,189, 46, 65,224,145, 40, 24, 36, 25,141,192, 37, 43, 52,181, 48, 25, 9,150,
- 96, 6,160, 48,215,201, 99,252,164, 25,155,153,107,230,194,153,109,110,221,123,192,112, 50, 97, 52, 30, 81,170,138, 76, 74, 38,
-147,152, 56, 73,233,180, 35, 26, 97,192,105,127, 64, 24,152, 52,175, 70, 16, 80, 42,133,231,251,100,121, 78,150,229, 4, 65,192,
-242,252, 60,247,118,247,176, 45,139,207,190,252,162,169,161,108,139, 44,147,124,124,231, 54,207, 94,190,196,218,202, 18,243,115,
- 29,100, 33, 25, 77,167, 20, 89,206,100,154,240,195, 79, 62, 69, 85, 21,237,102,147,115, 59,219,188,252,220, 21,110,220,186,203,
-237, 7, 15,105, 69, 17, 81, 24,208,237, 15, 24,204,146,225,154, 97,200,206,230, 58, 23,119,182,169,133, 96, 56, 28,209,138, 26,
-212, 24, 38,196,197,115,103,104, 69, 17,113,156,113,247,209, 46,174,237, 18, 53, 66, 86,151,150,184,114,254, 28,155, 27,171, 88,
- 66,144, 21, 5, 73,150,211, 31,140, 72,242,130,209,104,196,112, 52, 38,151, 5,113,156,112, 58, 24,178,127,120,196, 36,142, 89,
-154,239,208,105,181, 72,139,156,172, 80,148, 69, 70,146,197,180,159,125,137,168,249, 10,167,187,183,112,215, 60,196,162,195,225,
-167,183,144,105, 15, 63, 88,160,181,242, 12,237,229,107, 8,145, 34,243, 41,217,244,152, 82, 38,184, 65, 68, 62,218, 39,203, 99,
-162,214, 28,121, 26,211, 12, 53,121,114,159,253,251,223,101,216,189, 71, 17, 15,185,248,242, 47,240, 55,254,241,103,217, 88,254,
-247, 72,135, 83, 14,238,126, 7, 61,115, 49,216,142, 75, 85,102,140,135,143,232, 29,237, 83, 85, 22, 69, 54,165, 22,109,230,230,
-154, 44,172,110, 98, 5,115, 8,127,137,108,176, 75,220,189,197,180,127,159,120,112, 31, 55,232,112,241,149, 95,230,249, 47,252,
- 23,188,246,227,127,147,151,222,250, 91, 52,162,139,196,233, 49, 73,247, 46,102, 98,170,145,105, 66,228,108,243, 55,255,241, 67,
-254,238,111, 63,203, 36,252, 9, 30,190,255, 54,217,248, 30, 85,153,163,228,136,114,188, 79,145, 28,209, 94,126, 14, 17, 70,244,
- 7, 55, 25,117, 63, 34, 29, 61, 36, 25, 31, 48,234,223, 34, 62,252, 62, 34, 59, 34,155,236, 51, 73, 78,112,252, 53,126,242,175,
-255, 51, 44,207,165,123,240, 14, 85,153, 81,170, 12,165, 98,234, 98,202,184,191, 75,123,229, 42, 53, 53,186,146, 80,107, 30, 71,
-165, 90,150,133, 82, 54,100, 54, 27, 23, 58,116, 39, 93,252,198, 23,137,188,121, 14, 15, 62,161, 19, 76,112,244, 34,115, 27,219,
-204,191,238,178,216,154,199,237,109, 81,150,219,184,173, 67, 38,143,118, 57,188,243, 41,182,229, 60,233,150,243,188,192,117,141,
-224, 43, 73, 50, 2,223, 35, 73, 83, 26,141, 6,174,235,162,148,233,168,149, 82, 4,129, 89, 1, 23, 69, 97,108,126,181,198,247,
-125,132,101, 68,108,190, 31, 96,217, 38,164, 69,235,138, 48, 12,177,132,133,204, 82,242,162,160,148, 5,165, 86, 88,216, 88,182,
-225,177, 91,150, 32,205,115, 16, 2,224, 9, 83,160,170, 52,147,233,132, 60,207,159, 52,130,238, 76,192,166,103,220, 19, 0, 75,
- 24, 23,149, 65,219, 26,130,160,214, 70,135, 6, 38, 63,165,213,106,225, 7, 1,212,181,209, 14, 56, 14, 82, 25, 87,153,241,224,
-155,247, 87, 87,181, 25,225,215,181, 41,110, 28, 23,207,119,169, 84, 69,232, 26,244, 48,149, 17, 90, 63, 65,229, 42,227,255,215,
- 74,225, 58,206, 19,231,128,189,185,115,246,107, 97,163, 65,224, 5,132,179, 12,216,192,247,141,231, 13, 72,147,148, 44,137,141,
-218, 23,140,183,123, 54,130,171, 1,223,243,240, 67,227,201, 14,103,200, 63, 33, 4,174,235, 34,149, 36, 77, 51,146, 52,155,101,
-192,218,104, 93, 83, 86,138, 60,203, 8, 3, 31,203,182,177,109, 19, 90,239,121, 46,182, 99, 97, 9, 27,215,247,103,182, 52, 11,
-207,243, 8,195,144, 40,108, 96,193,147,231,151, 51,106,147,170,140, 39,177,209,106, 64,109,129, 96,166,116,175,140, 93,174,170,
-102, 89,188, 38,196,222,158,141, 53, 60,199,198, 11, 12,123, 56, 45, 76,245,168,100,105,166, 3,165,161, 13, 73, 41,169,107,112,
- 3,159,186,214, 70,124, 55, 59,216,227,105,130,176,141, 95,209,113, 76,138,215,113, 42,248,227, 79,199,124,247,238, 41, 11,145,
-199,213,139,203, 92,188,180, 70, 45, 4, 19,165,185,123,175,199, 66, 39,196,109, 71,244, 39, 41,253,196, 92,164,155, 43,109,210,
- 84,210, 59,141,233, 29, 15,105,181, 26, 4,139, 45,104, 25, 15,105,127,144,178,113,102,158,198, 66,131,131,227, 17, 94,224,227,
-216, 54, 97, 20,114,208,157,226, 52, 67,236,102,192,112, 16,131,134,179, 23,151,145,170, 34,180, 61, 42, 33, 72, 85,201,210, 92,
-131, 50,206, 89,217, 90,100,191,151, 34,171,154,213,181,136, 70, 51,164,118,109,122,227,130,193,112,202,114,187,193,194, 92,192,
-225,193,152,120,154, 98,135, 30,131,113,198, 56, 43,241, 85, 69,149,230,244,166, 5, 15,123, 9,131, 81,134, 22,154,254, 56, 99,
-114, 60,224,189,143, 15, 57,232, 39, 28,239,118,241, 29,155,214,124, 11,109,185,188,249,242, 89,254,167,111,239,241,157,187, 67,
-222,216,106,112,239,116,202,232,184,199,165,139, 91,180,231, 35, 58,237,128,223,251,198,135,252,202, 79,191,196,211, 59,243, 44,
-204, 53,184,184,179, 68, 39,180, 89, 88,152,227,229, 75,171,156, 89,105, 35,149, 98,107, 53, 2,215,230,233,229, 54,187,163,148,
-147,238,148, 82,106, 60,215, 38,143,115,108,207,101, 56,201, 25,141, 50,230, 23,155,180,162,128,176, 19,144,196,138, 58,244,144,
-133,166,112, 61,218,157, 22,194,179, 56,179,181,192,224,160,199, 82,123,142,141,213,121, 28,149, 32, 86, 90,116, 31,245,248,206,
-173, 33, 43, 77,135, 87,159,219,230,235,239,238, 49, 77,115,188,102, 68, 94, 42, 42, 93,227, 57, 22, 73, 97, 80,148,182, 16,232,
-122, 54,170, 22, 38,222, 84,207, 14,116,102,183,130,249,185, 22,167,189, 62,221,193, 0, 33, 44,150, 22,230,217, 90, 95, 37,205,
-114,142,187, 61, 92,215,230, 11,159,125,141, 7,187,123, 92, 58,127,150,215, 95,122, 30, 89, 42, 6,227, 49,227, 56, 38, 73, 18,
-230,219, 29,158, 58,123,134,209,100,202,163,253, 3, 44,199, 34,203, 11,131,153,212, 53,127,254,151,239,144,230, 5, 43,203, 75,
-230, 26,119, 28, 99,169, 19,130,178,210, 28,119,187,124,122,239, 1,158,227,210,140, 26,160, 53, 31,220,188,197,187,215,111,146,
- 23, 5,219,235,171, 68,205, 6, 15,247, 15,159,116,219, 81,179,201,250,202, 50, 11, 11, 29, 60,203,194, 15, 2,230,218, 45,211,
- 49, 8,200,210,156,180,200, 41,103,187, 77,219, 50,107,176,178,170, 64,107,146, 36, 67,105, 77,224,123,166, 0,178,109,116, 85,
- 81, 86, 38, 10, 55, 73, 83, 38, 73, 70, 60, 77,204,120,214,182,153,235,116,102, 92,128,153, 58,127, 60,197,170, 53, 89, 46,137,
-162, 13,220,249,171,148,147, 1, 75, 94,139,201,112, 72,146, 14,201,211, 35,210,201, 46,195,147, 27, 52, 92, 69,145, 39,164,201,
- 41, 69, 60, 64, 87, 57,232,140, 42,203, 25,141,199,108, 63,253,227,156, 30,222,197,177, 36, 77, 39, 39,233,125, 76,239,240, 83,
-214,214,190,192,191,243,215, 46, 81, 12, 45,236,214, 23,217,122,238, 21, 58, 43,155, 88,150, 67, 35,218,194,114,125,138,184,139,
-235, 88,228,197,128, 74,229,100,201, 41,241,100, 66, 16,206,225,160, 41,210, 17,105, 50,101,212,189, 65,210,251,136, 98,122,132,
- 19, 46, 17,205,175,146,229,135,140, 83,200,210,132,229,237, 23, 88, 90,123, 9,187, 53,207,180,119,151,124,122,204,243, 63,245,
- 53,254,243,119,255, 71, 94,123, 46,163, 93, 91,200, 51, 46,211,163,231, 56,186,253, 45,122,135,223,161,156,236,161,138, 12,183,
-177, 78,208, 90,193,118, 53, 50,137,145, 50,166,212, 5, 74, 78, 16,218, 70, 85, 41, 74,123, 44,109,189,201,213,207,125,149, 87,
-191,244,223,210,106,173,130,239, 51, 62,189,203,112,239, 47,176, 28,135,206,252,211, 44,156,121,131,203,175,253, 6, 27,103,191,
-128, 16, 22,121, 62, 66, 87,102, 84, 76,173,168,116, 73, 85, 22, 36,211,148,106, 52,100,235,133,203,220, 31,127,128, 58,126,153,
-253,247, 63,162, 59,186, 77, 29,245,136,212, 57,236,164, 73,248, 92,205,122, 91, 32, 38, 46,201,224, 34,209,149, 54, 34,233,146,
- 13, 71,179, 3, 91, 81, 85,102,175, 94,149,138, 32, 52,204, 2, 89,150, 8,203, 0, 88, 74, 85,206, 58, 82,163, 83, 73,227, 20,
-203,182,112, 61,131,103, 54,124, 21,115, 29, 21,165,164, 44,171,217,180,217, 71,230, 5, 74, 25,223,184, 57,203,108, 42, 37,113,
- 61,207, 76,150,139,146, 74, 87,232,178, 36, 73, 19,178, 44,163,174, 77,254,186,233,158, 21, 85, 85,153,189,184,239, 97,213, 22,
-182,107,116, 86, 97,232,227,186, 30, 88,166,217, 83, 74,161, 42, 69, 94, 24, 59, 93, 24,250, 4, 97,128,176, 5,142,227, 97, 91,
-224,121, 70,180,167, 42,163,251,114,125,151, 74, 25, 93,152, 17, 8,106, 28, 63,160, 72, 51,100,110,146, 35, 31, 55,151,105,145,
-227,185, 30, 82,150, 38, 40, 42, 48,222,248,122, 86,108, 9,203, 8,244, 30, 55,164,246,250,153, 51, 95, 51, 8, 76, 69, 85,149,
-248,110, 64,158,167,200, 66, 82, 20, 5, 74,105,108,107,150,215, 12, 52,163, 8,119,150,225, 93, 74, 3, 6,176, 93,119,182,107,
- 51,105, 87,197,108,188,142, 54, 59, 9,173,140, 95, 59,142, 19,146, 52, 37,207, 50, 2,207,163,194, 32, 0,127,180,163,215,212,
-181,217, 97, 11, 49,123,145,142,131,231, 26,120,140,172, 12,252, 38,240,125,108, 4, 85,165,113, 29, 7,173,161,209, 52, 70,253,
- 74, 73, 74, 85,146, 39, 41, 73,156,206,108,110,230,239, 52,198, 54, 7,204,170,177,177, 25,183, 52, 66, 44, 71,128, 6, 97,153,
- 80, 0,223,247, 77,176,194,204, 71, 47, 75,131, 25, 44,138,226,201,110,196, 17,230,115,145,165, 1,243,100, 89,134, 99,187, 76,
-167, 19, 14,199, 37,223,123, 88,240,199, 31,158, 16,103,138, 87, 46,173,241,185, 23,182, 89, 91,106, 48,209, 53,177,172,232,199,
- 37,121, 98,246, 48,165,172, 41,198, 9,181,148,120,158,199,112, 90,112, 52,201,169, 5, 36,131, 12, 45, 43, 60,223,197,118, 45,
- 14,239, 15,208,186,100,233,236, 42, 31, 63,234, 81, 87,130,147, 94,140, 43,106,130,208, 35,206, 37,241,180, 32,242, 92,118,111,
-238,177,180,181,104,170,225,105, 78, 60, 72,200, 51, 69,225,217,224, 89,200, 76,211,235, 79,232,247, 51, 30, 28,141,104,122, 1,
- 47,189,176,129,194, 34,158,164,132,182,195,131,126, 74, 33,140,226,125,103,163,195,242,218, 28,105, 34, 25,196, 18,225, 90, 88,
- 26, 90,190,203, 40,149, 12,135, 57,145, 0, 71, 64,161, 53, 27, 91,203,228, 85, 73,171,233,115,123,111,194,113, 33,248,123,191,
-254, 57,238,117,115,228,116,200,193,221, 61,218, 65,200,197,203,103,216, 88,108,242,225,221, 35,182,183,151,104, 71, 77, 84,109,
-209,154,111,240,195, 79,143,177, 91, 77, 86,214, 34,206,110,175,176,184,212, 70,184, 46,171,203,115,188,112,245, 28,171, 29,159,
- 71,147, 4,106,155,133,165, 38, 63,255,249,139,228,147,220,116,192,185,164, 20, 22,169,182,105,204, 53,184,184,210,230, 56, 41,
-185,190, 63,161,206, 11, 78, 39, 37,100, 57, 77,173,177,171,130, 15, 31, 30,115,255, 52,101,120, 56,225, 91, 63,220, 99,127,146,
-243,246,157, 46,127,244,189, 71,180,155, 46,170, 22,160, 43, 74,199, 71, 85, 26,215,178,144, 85,253, 68,128, 99,114, 9, 64, 41,
-101, 70,232,213,143, 18,224,148, 82, 92, 56,179, 61, 75, 33, 91,162, 63, 28,224, 59, 46,191,246,139,127,141,222,112,204, 73,191,
-135,239,186, 92, 62,183,195,254,113,151,237,181, 21,174, 94,190,200, 83,103,207,112,127,111,159,241,120,138,148,138,149,229, 69,
- 94,125,238, 89,230,231,231, 56, 56, 62, 37, 75, 51, 90,173,136,229,165, 69, 60,199,101,239,240,136,185, 86,139,173,213,101, 54,
- 86, 86,248,198,183,191,131, 45, 4,237, 40, 98, 56,153,240,111,190,247, 14,253,193,144,192,247, 57,127,118,135,102,240,152, 83,
- 93,178,177,182,202,171, 47, 94,227,180,215,231,240,180, 71,154,101, 8, 44, 54,215,151, 57,187,185,110,212,232,179, 68,168, 52,
-205,140,144,180,210,102,116,158,102,196,179, 2,190,212,149,137,195,196, 76, 40,106,140, 83, 64,215,179,149, 68,245,120, 50,102,
-160, 82,150,101, 35,168, 77,145,108,155,226,222,115, 28, 26,141, 0,199, 50,159,107, 16,120,164, 89,198,164,215, 37,138, 58, 76,
-199, 39, 36,131, 30,161,147, 33, 68,193,120,112, 68, 58, 61, 37,159, 30,145, 13,119, 9,156, 12, 75, 23,228,113, 31,153,156, 82,
- 38, 61,160,160, 84,146,203,175,254, 2,103,158,251, 37,154,243,215,184,127,227, 79,232,117,187,236,156, 59,135, 31, 54, 72,213,
- 49,247,246, 94,226,151,254, 93,151, 87, 94,169,232,118,175,160,234, 22, 27, 23,223,224,181,183,190,202,231,126,230, 55, 57,222,
-251,152,222,193, 71, 8,225, 97, 91,198, 79, 92, 41,201,168,127,130,240, 86, 32, 63,132,233,125,202,228,216, 88, 85,171,154, 96,
-110, 3,215,149,212, 74, 34,115, 69, 50,222,229,120,239, 7,244, 14,175, 51, 29,223,167,189,120,137, 87,191,252,219,188,244,250,
- 95, 71,222,247, 56, 92, 9,184,241,117,151,254,183, 32,173, 10, 52, 54,150, 29, 17,180,206,179,253,194,127,192,107,159,251, 91,
-132,237, 11,140,123,119, 40,101, 66,153, 13, 40,243, 1,121, 58,160,152, 30, 82,101, 19,206,191,240,171,108, 93,249,105,172, 70,
-131,238,193,135, 28,239,253, 37,195,222,125,116, 93,225,183,215, 89, 92,127,157,206,230,139,204,207,157,195,114, 3,100, 50, 36,
-147, 9,170,140,169,138,161,185,175, 87, 57,149, 76, 40,229,152, 50, 31, 50, 62,121,200,203, 63,241, 38,107,103,150,216,143,191,
-139,234,199,100,167, 61, 54,159,217,224,204,235, 13, 74,235, 1,199, 93,139,190,104,227, 30, 66, 53,134,211, 7, 54,209,181,101,
-146,253,219, 20,113,140,176,109, 2,207, 69, 74, 99,101,149,133,164,144,146, 70, 24,152, 61, 59, 16, 69, 77, 51, 9, 86, 37,150,
-109, 86, 92, 38,221,172, 34, 8, 60, 35, 56, 19, 22,150, 45,176, 45,227, 34, 48,244,181,153, 42, 60, 51, 83,229, 26,195, 39,177,
-108, 27,219,113,168, 85,133, 31,122,179,231,169, 41, 74, 69, 93,107,180,170,176,109, 11,223, 51,135,118, 89,152, 48,153, 60,207,
-201,139, 28,219,113, 16,194,132,175, 88, 64,158, 21, 8, 33,240,131,199,123,113, 15, 33, 4, 90, 27,173,136,235,186, 76, 38, 99,
- 92,223, 37, 75,115,124,207,197,100,194,135, 80, 11,234, 90, 16,204,166,113,126,224, 81, 73,115,190, 65,141,229,185, 20,165,137,
-124,181, 53, 36, 89, 74, 24,134, 56,142,141,227,216,248,190, 71, 16,134,132,225,172, 17, 15, 2, 92,215, 38,207, 11,236,149,141,
-141,175, 85,101, 73, 93,153,165,189,235, 90,120, 65, 96,254,236,121, 8,171, 70,107,195,234,181, 45,135,178,204,177, 92,199,140,
-162,108, 19,158, 82,107,205, 92, 59, 34,240, 3,108, 64, 22, 37,205, 40, 50, 59,111,207, 16,226, 74,165,208,182,241, 28, 86,234,
- 71,227,117,215,113, 24, 77, 38,100, 73, 76,150,167,100,105, 78,150,207,114,214,165, 73,233, 17,152, 76, 94,215,178,113, 60,135,
-162, 44, 76, 49,225,121,148,101, 65,163,209, 32,147, 41, 69, 81,144, 36, 41, 50,151,168,202,216, 12, 30,131, 0,202,178, 68,149,
-138, 60,207,209, 88,104,173, 40,165,164,217,106, 97, 91, 54, 89, 86, 82, 72,137,192,198, 11, 27,212,218,194,114, 28,132,112, 9,
- 27,161,129, 88,216,198,210, 36,106,139,168,217, 64, 35,240, 61, 23,219,117,145,101,142, 16, 22,174,107, 35, 11,243,154,100,165,
-200,165,230,250, 97,198,239,189,127,204,183,110, 15,232, 38, 21, 95,188,186,206,165,173, 5,118, 86, 35,180,170,112,103,194,142,
-206,114,135,197,149, 14,235, 27,139, 28,159, 78,136,108, 88,155,111,178,180,220,194,241, 28, 6,221,152,227, 65,204,218,230, 60,
- 73,109,243, 96,175,207,105, 63,197,247, 28,154,117, 73,203,247, 89, 93,110,209, 10, 92,138, 76,113,120, 60,102,110,103,129,253,
-227, 41, 74, 8,100, 42, 57,119,126,149,149,181, 22, 55,238,116,201,138,138, 78,232,160,170,154,163,126,138,210, 53, 97,195,129,
- 74, 51, 28, 38, 28,141,114,164,214, 36, 73, 73,154, 11,227, 80,176, 45,186,170,166,219, 75, 40,235,138,166, 5,142,101,211,233,
-132,228,129,203, 47,190,121,145,115, 59,139,108,157, 93,102,235,220, 26, 8, 11, 71, 88,252,111, 95,191,201, 63,249,214,109,254,
-187, 95,255, 60,235,171,243, 84,115,115,100, 65,135,187, 67,201,111,255,171,143,249, 39, 95,127,159, 59,253,132,191,184,221, 99,
- 41,242,217,239, 79,152,228, 5,183,247, 39,156,198,146, 63,254,254,125, 90, 65,136,170, 53,227, 84,209,110,134,252,249,167, 39,
-180, 67,139,237,205, 69,174,158, 89, 70,186, 14,235,107,115, 4,205,128,139,231,151,184,122,110,133,133,197, 14, 97, 20, 50,206,
- 37, 63,184,211,195,173,107,242, 74,242,242,249, 69, 90,205,128,200,119, 41,138,146,192,210,244, 75, 88, 92,157,195,241, 93,114,
- 33,176, 52,220, 57,154, 32,181, 96,173,227,147,150,154, 73, 81,161,171,138,188,182, 24,103, 18, 91, 8, 44,171,166, 80,198,191,
- 46,132,153, 4, 57,182, 17, 12, 22,255, 63,204, 42,192,213,203, 79,225,249, 62, 87,159, 58, 79,171, 21,113,249,252,121, 52,130,
-134,239,209,105,183, 57,234,118, 57,191,115,134,157,141, 53, 38, 73,194,242,226, 18,142,101, 33,132,160,217,104, 50,142, 19, 54,
-215, 86,184,116,126,135,255,251, 79,254, 13,167,189, 30,171, 43, 75,124,230,218, 85,132,101,115,243,214, 29,242,162,224,243,159,
-121, 17,219,178,120,251,131,143,184,251,224, 17, 73,154, 97, 91, 54,113, 18, 51,153,198, 28,119,123,148, 85, 73, 85, 86, 79, 60,
-176,221,225,136,173,213, 21,234, 26, 14, 79,187, 36,105,138, 44, 37,173, 86,196,198,234, 10,237,150, 25, 49, 78,147,132,219, 15,
- 30,114,210,237,145,164, 25, 91,235,171,216,182,209, 9, 32,106,108,199,157,117, 47, 21, 8, 19,162, 36,102,135,187,168,107,140,
-245, 71, 60, 57,240,181,214, 51, 33,146, 17,109, 90, 70,217,132,231,184, 52,194,144, 48, 52, 55,107,111, 6,235, 72,227, 49,121,
- 26,211,104,132, 84,197,132,170, 44, 16,149, 36,244,106,242,201, 41,101,218,101, 58, 62,164,115,230,175, 48, 58,185, 75,169,143,
-136,194, 38,129,103, 68,105, 27,231, 95,160,185,252, 20,253,195, 79,144,249,144,185,149,103, 73,166, 61,146,201, 41, 75, 75,107,
-132,110,193,176,119,139,239,191, 29, 80,251,151, 8, 95, 16,244,110, 70,244, 14,110,179,126,246, 57,230,191, 44,184,118,249, 23,
- 73,179, 54, 7,183,255, 95,170,210, 16,191, 42,149,162,228,132,100,180, 75,154,100, 84,150, 79,109,249,232,178, 36,108,180,104,
-182,218,132,157, 21,227,238,241,182,176,180,195,168,247, 41,147,163,119,152, 28,127,128,227, 47,226,183, 58, 12,123, 15, 72, 78,
- 20,197,163, 85,100, 6, 71,221, 93,166,227, 67, 38,189, 27,172,110,126,158,159,249,143,191,202,171,191,241, 34,151,127,118,129,
- 69,123,135,147, 3,197,100,120,155,170,136,145,121, 31, 53, 61, 96,122,122, 3,141, 67, 56,183, 69,158, 13, 72,135, 7, 72,105,
- 68,115,121,214, 67,102,167,204, 45, 95, 99,121,237,121,180, 83, 19, 15,246, 24,245,111, 51,233,127,130,140,247,201,199,187,200,
-180,143, 37,106,132, 46, 16,228, 80,230,136, 42,161, 40, 50,158,121,243, 85,158,121,249, 26, 11, 13,141,183,172,240,183, 91, 68,
-219,103, 88, 92,222,129,186, 64,143,118, 25,237,127, 66,127,247, 41,234, 10,166,105,197,240,193, 49,205,179, 46,241,163,123,168,
- 60,167,174, 5,158,103,132,169,213,172,131,173,103,235, 83,219,114,145,101, 65, 81, 20, 84, 26, 30,179, 33,194, 70,136,241,153,
-128,109,187, 40, 85,128, 54, 34,213,162, 40,158,216,175,125,223, 51,187,110,106, 84, 85,146,166, 41, 65, 16,162,181,177,171,201,
- 18,252,192,195,114, 28,170,218, 20,223,181,112, 40, 75,109, 16,222,129,143,170,161,214, 70,100, 87,215, 53, 50,207,141,197,214,
- 49,228,182,114,246,221,209,202, 56, 24,192, 50, 13,107,216, 4,109,162, 87, 29,215,153,105,206,204,110,252,241,195,117, 77, 65,
-227, 57, 14, 74,105,148, 84, 84,148, 32,106, 28,219, 64,102,116, 53,203, 54,113,141,229, 47, 77, 19, 74, 37,177,132,192,113, 92,
- 35,232,171, 5,170,148,212,186,198,178, 29,138, 66, 34, 94,127,235,173, 26, 4,149, 86,200,162,196,243,124,124,223,200,231,133,
- 48, 85,180,214, 26,173,181, 9, 75, 41, 37,147,209,248,201,158, 16, 75,224,218,198,238, 38, 48,251,245, 36, 75,105, 71,109, 44,
-219,168, 3,245,108,172, 50, 26, 12,208,149,162,209,104,146,100, 70, 32, 99,217,182,121,129, 90, 97,190,203, 53,216,166,107,182,
- 44,135,170, 42,205,152, 57, 12, 13,135,126,246, 51,109, 33, 0,141,192, 1, 97,212,249,195,225,136,186,174,141,208, 1,129,210,
-154,105,154, 18,184, 30,147,233,132, 74, 85,212,194, 4,212,152,132, 28,155,249,185, 57,116,173,177,133, 33, 18,217,130, 89,225,
-160,160, 22, 56,182,139,235, 58, 88,179, 49, 99, 85,105,146,105,130,174,103, 83,130,218,236, 78, 12,225,168,194,113, 28,116, 85,
- 49, 26, 12, 40,181,201, 19,246, 29,199,144,199, 48,147,136,142,171,153, 15, 52,255,254,171,171,252,216,211, 43,172,181,108, 70,
-227,156, 73,156,114,127,127,200, 52, 41, 57, 57, 26, 18,186, 54, 11,203, 45, 2,215, 38,181, 45,172, 66, 35,199, 49,150,107, 49,
-181, 93,210,113,138,111, 11,206,181,124,180,165,241, 29,155, 52,215, 52, 86,219,196,189, 9,161,231,242,224,100,202,184,168,104,
-251, 14, 59,171, 17,101, 90,144,229, 21,125, 85, 99,219,166, 97,178,230, 34,138,222, 24,215,178,216, 94,244,233,141, 11,250,133,
-162,214,130,200,179, 41, 53, 40, 81,131,212, 96, 9,174, 61,189, 76, 89, 84,220,221, 29,162, 68, 77,123,190, 77,226,216,156,139,
- 92,222,122,245, 2, 89, 37,176, 92, 11, 37, 43, 30, 30,143,249,163,119, 30,226,217, 22, 63,255,197,103,120,251, 81,193,255,250,
-157,125, 98, 41,112, 92,193,217, 85,151,191,113,185,197,171,103,219,236,108,175, 16,119, 71,104, 27, 74, 85,113, 58, 41,152,102,
- 37, 55,247, 83,110, 30, 77,113, 60,219, 20, 77, 82,147,103,102,226,224,139,138,159,126,237, 28,109, 15, 46,173,183,240, 60,143,
- 90, 87, 28,244, 19, 22, 91, 62, 75,109,131, 97,244,108,193,221,163, 17,247, 15, 70,204,135, 54,183, 78,167, 28, 29,198,216,190,
-195, 66,211, 67, 72,137,244, 60, 22, 35,143,173,149, 5,236,208, 98,216,157,240,207,255,244, 19, 62,218, 29,242,202,133,101,172,
-186,230,189, 71, 3,180, 16, 28, 22, 22,126,224, 27,245,186,237, 48,136,115,236, 48,196,183, 29,108, 27, 84,101,174,139, 52,203,
-205,161, 53,123,188,249,218,203,124,249,141,215, 57,233,245, 89, 90, 92,160, 44, 75, 70,227, 9,101, 85,209,237,247,201,115,201,
-202,210, 2,207, 61,125, 25,223,117,185,113,247, 46,119,238, 63, 66, 41,197, 92,187, 77, 16,120, 92, 58,119, 22, 89, 42,254,224,
- 79,191,137,174, 53,159,125,233,121, 46,157, 63,207,100, 26,243,254,141,143, 89, 91, 94,194,178, 45, 62,184,249, 9,131,209, 4,
- 81,215,172, 46, 47,178,186,184, 72,119, 56,226,189,143, 62, 6, 75,115,233,236, 89,206,110,110,160,180,230,193,238,222,147,176,
- 25,106,144, 74,113,239,225, 30,195,241,152,185,185, 57, 46,158, 59, 67, 20,132,164,121,206,221,135,187, 76,227, 41, 43, 11, 11,
-252,228, 91,159,231,185, 43,151,145,165,228,131,143,110,114, 50, 24, 18,204, 66, 49, 74, 85,161, 74,245,100, 29,230,186, 6,236,
- 65, 93, 35, 44, 27,106,140,157,105,118,143,112, 28,199,124, 71, 49,119, 83,203,118,152,239,180, 8,124,143, 44, 47, 40, 74, 51,
- 41,235,245,251,168,162, 64,250, 75,184, 65,139,197,213,117, 6, 39,199, 84,181,166, 21, 69, 36,147, 62,101,243, 89,158,255,236,
- 87, 9,220, 37,110,191,255,191,112,231,230,239, 82,201, 62,182, 29,114,229, 51,111,146,203,144, 44,153, 34,179, 9,181, 46, 81,
- 37,140,142,110,178,185,177,129, 31,132, 12,166, 83, 58, 75,203,164, 73, 11,191,115, 1,199,182,168,170,156,107,159,249, 53,190,
-252,213,139,188,190,156,115,123, 28,240, 7,255,125,198,173, 27,255,128,221, 7,223,100,235,220, 91, 76,142,111,243,201, 7,255,
- 12, 44, 15,219,179,177,181,139,182, 28,180,150,180, 23, 55,120,241,231,126, 30,185, 63, 96,154, 54,201, 51,201,164,127, 19, 57,
-222,195, 9,151, 88,217,249, 2, 94,228,227,123, 29,130,246, 89,194,185, 22,148,130, 98,154,147,203, 83, 6,135, 55,216,186,244,
- 87,249,202,223,251, 34, 94, 2,163,155, 48, 58,133, 15,190,253, 54, 15,111,253, 62,131,195,119,153,246,238, 82,219, 37,157,197,
-103,185,252,218,175,147,103, 61, 38,221,187, 84,165, 70, 8, 65, 89,101,104,153, 35,211, 3,188,112,153,185,245,151,209,197, 20,
- 69,137, 42, 51,100, 58, 64, 23, 3,228,116,143, 82,213,184,150,192,115, 44,202,186, 50,247, 99, 89, 50,156, 12,217, 60,123,141,
-175,252,230, 31, 16,132,224,159,127,132,144, 67, 6,131, 61,134, 73, 65,171,185, 68,232,218,148,253, 35, 82,177, 64,245,224, 50,
- 89, 38, 25,246,239, 82, 4, 31,224,244,238,209,127,112,223, 76,105,103,223,139,186,174, 25, 79,198,102, 71, 37,140, 99, 9, 76,
- 82,167,109, 89,216,174,141,146, 21,174, 45,112,125, 31,165, 36, 85,101, 4,114,150, 99, 19, 79, 13, 35,164, 17,181,177, 0,165,
- 53,121,154, 98, 89, 14,163,241, 8,234, 26,203,113,105,183,219, 8, 97,145, 36, 9,186, 6,106, 65, 20, 53, 40,114, 73,154,165,
- 8,219, 98,174,221,198,158, 21,210,117,173,145,178,152,253,219,138, 60,203,177, 44, 11,199,115,152,239,204,145, 36, 9, 53,134,
-207,175, 52,100,169, 73, 51,108,183,219,100, 50,163,152,145,242, 26, 97, 64,146,100, 8, 33,232,116, 90,216,182, 75,146,166, 88,
-179,245,113,212,108,206, 62, 8, 77, 89, 25, 80,153, 16, 80, 42,133,107,187,179,244,212,217, 8, 95, 41, 99, 95,110, 52,168,181,
- 81,226, 87,165, 36, 78,204,132, 93,124,254, 75, 95,174,139,194,116,190, 96, 70,222,173, 86,147,186,174,201,211, 2, 47,112,141,
- 88,161, 52,185,178,211,241, 4,173, 53,237,168,245,163, 40, 83,173,153, 76, 98,168,107,106, 12,223, 55, 75, 50,163, 64,111,181,
-169, 49,225, 41,227,241,144, 74, 25, 91, 88, 24,134, 56,182,192,178,140, 87, 60, 8, 3,132, 53, 67,184, 22,138, 52, 79,141, 56,
- 64,153,136,189, 70, 20, 33,132, 69,165,202, 89, 53, 47,136, 90, 45,179,203,214,154,209,120, 68,173,107,218,157, 14,106,214, 53,
-185,190,225,236, 90,152,159,155, 23,102,239,168,245,227, 93,132,192,117,108,230, 23,230,112,132,133, 22,166, 50, 51, 99, 22, 35,
-180, 51,207, 89, 33,149,194,158,249, 7, 17,230, 0, 79,226, 20,199,115,176, 16,100, 73,134, 70, 27,209,158,101,145, 76, 99, 83,
-109, 33, 16,212,230,255,233,154, 86, 59, 66,104, 65, 86,100,216,182,197,250, 66,196,122, 75,240,153, 85,193,151,158, 94,228,210,
-198,156, 41, 18,138,130, 94,150, 81,230,154,147,211, 9,247, 78,198,108, 47, 7,124,112,239,148,208,242, 56,127,110,149,197, 70,
-192,254, 97, 15,207,243,145,181,166, 63,200,112, 93, 65, 62, 78,201,149,198,141,124,220, 90, 48,201, 36,205,170,162,185, 16, 34,
- 28, 23,178,146,211, 36,195,179, 5, 89,161, 57,123,126,153,189, 7, 93,243, 90, 29,115,210,207,135, 46,183,186, 41,129, 13,107,
-157, 6, 82, 74,166,133, 96,234, 11, 94,189,186,202,207,189,241, 28,147,241,136,193, 40,103,172,106, 58, 77,159,249, 86, 72, 43,
-112, 57, 29,197,124,251,250, 46, 55, 30,196,108,173, 52,120,246,242, 58,223,248, 36,230,253, 19,152, 22, 38, 93,111, 60, 30, 19,
-250, 51, 91,137, 5, 75, 97, 77, 39,106,114,174, 93, 51, 76, 36,221,113,129,210, 53,123, 3,179,203, 47,102, 78, 5,215, 55,172,
-129, 74, 87, 68,141,144, 36, 73,104, 52, 26, 38,248, 66, 20,156, 91,242, 89,107,212, 92, 93,116,136,243, 10,148,226,245, 75,107,
- 68,145, 71,224, 57, 4,158, 67,232, 90,100,165, 38, 79, 36,119,142,198,228, 73,206,211, 23, 87,144,165,226,189,235, 71,220,186,
-115, 74,179, 1, 87,182,150,185,175, 29,254,229, 95,220,229, 43, 47,172,211, 9,124,254,135,223,191,142,237,219, 44, 47, 68, 28,
-156,164,248,161,207, 52, 43,152,230, 37, 11, 59,231,112,130, 6, 69, 28, 83,201, 28,153,165, 84,165, 34,151, 6,178, 4,102, 77,
-244,183,127,253, 63,100, 52,153,112,243,246, 61,238,220,127,192, 36, 78,233,180, 90,196,105,202, 92,167,205,171,207, 63,203,198,
-234, 10,182, 37,248,238,123, 31,114,218,235, 18,133,134, 17,241,212,206, 25,222,124,237,101,238, 62,216,229, 95,252, 63,223, 96,
- 99,101,133, 87,158,123, 6,215,177,105,183,219, 92,190,112,142, 78,171,197,237, 7, 15,153, 76, 38,252,240,227,219, 60, 60, 56,
-100,103, 99,157,102, 35,100,239,240,136,239,189,255, 33,235,171,203, 92,121,234, 2, 43,179,194,226,131, 27,159,112,127,111,159,
-243,219, 91,204,207,117, 40, 85,201,163,131, 35,226, 36,229,194,206, 54, 11,157, 14,211, 36,101, 18,199,244,134, 35, 60,203,226,
- 39,222,250, 28,207, 95,189,194,198,234, 10,142,101, 49, 77, 18,222,126,239,135, 12, 70, 35, 4,130,162, 44,153,196,177,225,233,
- 55, 27, 70,124,106, 25, 58,101,205,143,214,110,230,128, 55,135,123, 28,167, 12,227, 41, 90, 41, 60,215,163,217, 8,104,206,184,
- 12,165, 50,188,136,193,196, 20, 42, 43,173,144,158,242, 89,126,230,167,216,187,249, 14, 66,143,152,159, 95,163, 53, 63,135,142,
- 94, 1,171, 61,179, 28,186,104, 85,112,120,247, 79,129, 26, 75,247, 88, 92,217, 32, 30,101,100,217,152, 82,198, 56, 53,168, 90,
-209,233, 68, 44,116, 86,201,100, 66,127, 56,166,221, 10,176,133,205,104, 48, 96,146, 78,112,194,115,188,244, 19,191,197,127,243,
-247, 63,195, 27,150,203,239, 51,226,214,191,232,240,224, 32, 99,126, 57, 96,109, 94,240,123,255,240,239,243,189,111,254,109,108,
-175,137,227,120,212,181, 64, 8,155,178, 42,217, 62,127,141,229,149, 53,100,218,163,223, 61, 33,147, 37,142,215, 33, 92,188, 72,
-123,233, 50, 97,224, 19, 70, 77,150,206,254, 44,162, 86,244, 14,191,199,180,123, 74, 58,125,136,204, 99, 46,191,246,159,112,249,
-245, 87,200, 15,161,136, 39,120, 11, 17,163,147, 93,246,239,190,205,116,112,159,249,165, 75,172,172,191,196,213,151, 46,130,174,
-249,228,227,135,220,254,232,119, 25,157,222, 70, 43, 51,213,208,229,132, 34, 62,166, 22, 62,139,103, 94,161,170, 76,218,161, 42,
-198,212, 42,167, 46,167, 84,114, 76,237, 52, 17,117,133, 99,105,168, 45,226, 60,165, 44, 74, 60,215, 34,203, 74,190,240,159,125,
-157,213,198, 21,214, 54, 44,188, 57, 72, 39,167,184, 27,119, 40,210, 35, 62,189,251,128,197,230, 28,139,107,235, 36,101,147,228,
- 70, 65,247,232,128,172,177,135, 55,120,196,224,222, 39, 84, 85,133, 82,154,102,100, 14, 52, 1,232,186, 70, 22,198,190, 5, 16,
- 69,209, 19,202,103, 16, 4, 40, 85,206, 38, 98, 2,203, 49, 99,240,170, 52, 92,145,178,170,104, 55, 91, 70,200,173, 36,174,227,
- 51, 25,143,168,171,218, 76,165, 42,147, 87,223,142, 90,179,166, 84, 60,209,121, 61, 9, 10,211,154,199, 62,242,102, 51, 66, 8,
-243,154, 12,113, 52, 67, 96, 58,125,207,241,104,181, 91, 51, 62, 5,100, 89, 10, 66,224,187,254,140, 94,170,113, 28, 11, 33,106,
- 4, 70, 99, 83,228,146, 66,154,162,160, 25, 53, 9,253, 16, 48,163,117,171, 6,109, 25,135,190,133, 17, 53, 87,162, 70,101, 5,
-126,163,129,109,217,148, 50, 51,235,105, 97,211,108, 24,252,172,235, 26, 86,126, 50,141,169,170, 10,219,182,177,183,207,157,251,
-218,227, 76, 87,223, 55, 40, 75,195, 75, 55,233, 48,194,178, 40,139,130,172, 48,226, 2, 0,219,182,104, 52, 77, 8, 10,192,116,
- 58, 69,235,154, 48, 8,112, 93,143, 52, 73,241, 92,151, 92, 26,148,230, 52, 49,184,214,118,187, 77, 16, 62,222,125, 27, 5,100,
- 61, 27,147,219,174,139,133, 0,203, 84, 71,166,251,181,129,154, 90, 27, 48,141,174,140,157,193,216,132,106,138, 34,159,125,152,
- 53, 69,110,178,128,189, 32,192, 17, 80,234,146, 74, 42,180,134,178,148, 63, 18,227,249,190, 9, 87, 17, 22,186,170,176,234,138,
- 70,163,137, 16,150,177,219,200, 98,246, 62, 53, 89, 38,141,109,194,182,204, 84, 65,216, 84, 26,100, 33, 13, 76,160,174, 13,255,
- 91, 24,241, 70, 94, 20, 6, 84,163, 43,154, 81,227,201,206, 35,240, 3, 28,207,129,122,182,111,105, 4,132,126,136,227,185,140,
-146,156,110,172,121,255, 72,241,135, 55,134,124,253,250, 41, 63,184,219, 99,152,107, 66,223, 97,101,169,205,214,230, 2,175, 92,
-125,138,179,235, 75,188,120,105,149,181,133, 38,157,208,166,144,154,104, 46, 32,171, 42,100, 94,240,202,165, 85,206,111,207,225,
-216, 14, 11,145,205, 87,190,244, 28, 47,191,116,158, 51,243, 62, 31,222,235, 98,105,120,227,229,109, 22, 22,218, 56, 22, 72, 28,
- 46,108,180,121,243,217,109,150, 22,155, 44, 69, 46, 23,182,231,248,202,151,159,231,236,206, 34, 79,159, 93,224,210,106,135,103,
- 47,173,113,254,252, 18, 59, 11, 33, 75,139, 17,109,223,167,237, 59, 20,182, 77, 16,134,172, 47, 68, 44,182, 2, 38, 73,206,255,
-245,111,111,243,175,223,219,103,103,125,142,179, 59,203,220, 79, 93,254,143, 15, 19,110,158, 84,168,218,126, 50,241,105,132, 33,
-113,146, 80, 86, 10,199,114,232,197,166,104,184,221,147,220, 62,138,217, 31,100, 28,143,114, 42, 12, 25, 80, 87,149,153,234,216,
-246, 19,241,162,101,217,164,211,137, 81,132,151, 10,237, 55,121,112,154,242, 96,234,240,205,123, 41, 55,123, 21,223,123, 48, 7,
- 98,131, 16, 0, 0, 32, 0, 73, 68, 65, 84,225,127,254,214, 67,222,190,117, 66, 35,244, 56, 62, 29,211,108,120, 44, 52,125,176,
- 96,125, 53, 98,125,185,141,231,185,248,174,224,185,167, 86,184,176,185,128,171, 37,125, 4, 39, 73,197,235, 79,175,178,222,176,
-120,247,198, 1, 39,147,132,170, 18,140,227, 12, 74, 73, 5,132,190,207, 52,251,255,168,122,179, 88,203,178,243,190,239,183,214,
- 94,123, 60,195,157,111, 77,221, 93, 61, 84,179,155,100,115, 16, 73, 49, 98,147, 52,105, 65, 20, 67, 75,166, 28, 13,136, 37,200,
-146, 32, 25, 80, 16,199,136, 13, 89,158, 32,196, 12,226, 0,126,200, 96,228, 37, 72,148, 68, 8, 98, 36,144, 25,217,138,108,208,
- 26, 18,205,164, 68, 54, 91,156,123,170,234,174,170,174,186,117,235,142,103,220,243, 26,242,240,237, 91,132,251,169,128, 70, 85,
-157,186,123,159,181,190,239, 63,138,130,125,239,218, 53,226, 52, 35, 45, 10,246, 46, 95,197,100, 41,121, 81, 72,217, 11, 96,123,
-199,131,227, 35,178, 52,231,228,252,156,217, 98, 73,145,165,148,117, 69,221,118,172,150,107,238, 62, 56,100,190, 92, 81, 53, 13,
-111,220,126,155,197,114,197, 98,181, 38, 75, 83, 41, 63,234, 36,236, 98,182, 92, 74,101,163, 86,172,202,138,178,105, 72, 34,141,
- 11,162,180,189,117,247, 30, 47,125,243, 91,204,103, 75,146, 44,102,127,123,135, 36, 77,184,121,251, 46,207,223,120,134, 23,222,
-241, 12,143, 93,185, 76,219,118, 28, 28, 31,115, 54,155,147, 23, 25,219, 91, 27,160, 52,119,239,221,103, 92,140,185,178,191, 71,
- 20, 41,170,186, 97,190, 92,225,157,227,234,149, 75, 92,222,223,151, 34,151, 36,198, 35,234,225, 60,203,184,247,224,144, 55,223,
-190,199,249,124,206,108,185,164, 72, 82,242, 44, 19, 1,156,150, 56, 78, 31, 60,189,247,120,103, 33, 72,241,197,241,108,198,157,
-123,247,153,205, 22,196, 73,204,100, 92, 48,202,115,161,207,156,195,186,142,186,233,134,115, 64, 17, 17,136,146,136,173,247,189,
- 23,147,188,155,229,249,140,197,217,125,178, 75, 99,148, 11,172,150, 71,212,229, 41,235,243,183, 41,203,131, 71,103,141,115,208,
- 46,239,145, 23, 9,121,162, 72, 99,131,199, 17,250,142,182,169,232,186,134, 52, 86,108,111,110,179, 44, 59,214,203, 53, 79,223,
-120,134,237,233, 38,145, 42, 89,157,125,135,223,253,141,146,111, 47,223,199,248, 67, 41,233, 99,138,228,118,194,124, 9, 59, 63,
- 9, 63,244, 51,207,163,226,255,148,215,191,244,235,116,213, 17,206,214,184,190, 34,184,134,197,233, 93,202, 70,145,231, 91, 16,
- 69, 68, 42, 70, 71, 26, 95,159,145,166, 49,249,120, 3,101, 58,178,228, 49, 20, 17,203,147,123,156, 62,124,137,229,193,215, 48,
-217, 38,121,122,153,178,205,169,117, 70,185,120,200,226,224,219, 84,235, 99,234,102, 65,156,110,243,241,207,252, 36, 79, 63,191,
-141,243,154, 91,111,156,178,120,248, 58,171,229, 3,150,167,175,208, 47,223,162, 46,239,210,148, 39, 4,149,178,251,248,199, 89,
-159,126,147,190,153,225,109,133,107, 23, 4,187,198,119,115, 86,203,135,196,163,199,176, 93, 73,215,214,228, 89, 70,145, 8, 12,
-220,180,150,190, 93,144,111, 95,166, 94, 29,211,185, 77,180, 25,115,126, 18, 56,124,237,144, 70,159, 17,183,107,206, 22,231, 36,
-241, 68,154,219, 78, 87, 52,205,130,182, 59,164, 59,121, 72,179, 92, 72,236,234, 96, 99,118,222, 99,187, 14,165, 2,113,150,136,
-102, 42,120,250,182,149, 51,216, 8,180, 61, 30, 10, 79,180,142,168,171,106,184, 84, 69,131,149, 38, 25, 77, 47,194,179,182,105,
- 49, 90, 68,204,113,154,208, 54, 29, 40, 8,206,209,180, 98,145, 70, 5,218,170, 37,120,201, 93,111, 91,185,167,188,119, 56,231,
-233,123,249, 60, 77, 85, 19,212,144, 98, 58, 64,241, 1, 17, 93,247,157, 31,104,100, 81,211, 95,136,236,146, 88,238,212,190, 23,
-173, 64, 20, 69,196,177,161,174, 27, 2,138, 60,205, 30,157, 99,121,150, 97,123, 71, 98, 98, 2, 82,174,166, 34,141, 15,129,216,
-196, 84, 85, 5,120,178,124, 68,150,101,128,116,112,244,189,165,109, 90,154,182,193,251,192,100, 99,138,137, 34,212,135, 62,250,
-177,112, 1,181, 39, 73, 60,112, 92,142, 72, 27, 20,208,217,158, 40,210, 3,124, 17, 33, 56,132, 36,237,244,174,167,107, 58, 2,
-158,182,181, 76, 38, 83, 34, 21,177,172, 74,240,110,176,164, 41,130,210, 40, 29,177,177, 33,113,126,206, 15,118, 50,165, 72, 98,
-241,141,247, 93,135,127, 4,141,203,176,224,131,100,194,167,121, 38,144,135,150,191, 94, 56,203,136,174,107, 88,151, 82, 26,159,
-101, 25,206, 59,210, 36,102, 60,222, 16, 14,127,128,253,163,200, 16,199, 17,109,219, 11, 60,110, 61, 74,131,119, 14, 99,244, 35,
-139, 80,215,119,244, 78,248,189, 56,142,176, 78,126,168, 33, 4,130, 82,196, 81,132, 86,129,206, 5,241,204,231, 57,117,221,208,
-119, 45,105,146,226,181,162,169, 43,172,149,164,161,241,120, 76,211, 52,104, 21,145,166,223,229, 83,234,186, 70,105, 77,150, 36,
-195, 11,214, 51,153, 78, 9, 3,188, 51, 30,141,136, 76,204,106,177,224,210,196,176,159, 90,158,158, 88, 94,124,126,159,107,227,
-148,235, 87, 55, 48,145, 38,213, 2, 99,250,182, 71, 5,143,211,129,186, 15,120,109,208,214,225,149,199, 4, 69,146,202,118,180,
- 92,247, 36, 69,138, 13,154, 88, 7, 9,245, 24, 66,117, 76, 36, 41, 73, 90, 71, 88,107,241, 1,148,130,216, 72,229, 96, 28, 41,
-148,142,200,140,162,237,157, 12, 52,218,176,232, 58,190,117,243,152,255,231,207,223,228,107,111,157,242,253,223,251, 52, 87,174,
- 94,230,255,125, 99,193,183, 30,212,172,170,146,216, 36,108,109,110,202,144,136, 8, 33,189,247,172,215,107,226, 72,147,230, 57,
- 85, 89,210,118, 61, 46,120,242,172, 32, 56,135,117, 14,235, 29,249,224,196, 8, 33, 96,157, 35, 29, 54,252,213,106,137,239, 90,
-200, 10,138, 52,166,237, 58,166,147, 41,193,123,225,197,203,122,160,118, 68,236,162, 35,205,149,177, 33,154, 31,242, 19,223,123,
-133,159,248,196,115,116,214,225,156, 3,100,152,212, 70, 97,208,228,105,204,186,110,249,191,127,239, 85,222,247, 61, 79,113,116,
-239,156, 47,254,197, 91,252,225,235, 39, 24, 99, 88,218,192, 78,166,153, 53,208, 39, 57, 71,171,146,170,181, 60,255,158,119, 99,
-138, 41,182,235, 69,252,210, 59,180, 25, 6, 72,173,169,170,138,123,183,110, 50,205, 50,118,182, 55,120,112,124,202,254,238, 54,
-169, 73,184,118,245, 50,101, 93,243,230, 91,119, 57,157,207,185,122,121,159, 34,203,104,154,134, 85, 41, 33, 48,219,219, 91, 92,
-218,222,100, 50, 26, 49, 95,173,216,218,152,130,210,178, 81, 69,226, 22,153,142, 10,166,211, 49,119,239, 31,242,165,151,191, 78,
-221,212,108,109,108,176,191,179, 13, 90,243,202,235,111,240,153, 79,124,156,103,158,186, 78, 93,215, 28,157,207,120,245,245,155,
-188,250,230,109,158,124,226, 49, 46,239,238,162,148,226,245, 91,111,242,161,247,190,192,229, 75,251,124,253,149,215, 56, 60, 60,
- 98, 85,149,108,109,110,240,248,213,171,188,243,153, 39,121,236,202,101,166,163, 49, 81, 28,225,157,231,149, 55,110,241,205,215,
-222,224,240,228, 4,173, 13,211,113, 65,154, 36,196, 73, 76,145,166, 20,121, 54, 8,246, 86,116, 93, 71,211,182, 4, 2,139,229,
-154,213,170,164,233,164, 48, 39, 75, 12,211,241,152,201,100,130,137, 13,120, 79, 64, 68, 83,117,211,210, 89, 75,162, 3,182,235,
- 81, 59, 55,200, 38,215, 88, 55,134,135,111,127,135, 84,149, 60,243,142,231, 89, 55,154, 85, 41, 48,173,247, 13,205,242,152,221,
- 39, 62,204,165,235,159,164,158, 29,242,210,239,252, 50,151,158,121,142, 60,153,178, 57, 25, 51,159,157,179,108,114, 30,127,215,
- 95,197,119, 29, 7,111,124,158,103,158,124, 74,132,192, 65, 46,132, 16, 20,121,166,104,124,198,218, 78,209,233,147,108,236, 60,
- 67,140,163,111,123, 62,240,169,159,230,159,255, 34,124,129, 5, 47,253,230,132,223,255,151,191,198,201,237, 63, 97,231,218,247,
- 18, 66,203,205,175,254, 95,156, 29,124, 13,157, 21,100,217,246,192,135, 74,191,198,104,235, 18,207,188,247, 19,196,145, 99,177,
- 4,162, 49,245,226,132,234,236, 59,120,165,184,242,236,103,217,220,122, 2, 27, 60,147,173,109,218,166,161, 89,157, 19,130,163,
- 44, 15, 25,231,151,185,241,142, 31, 67,233, 2, 59,174, 41,237, 57,253,225,109,102, 39,183, 57,188,243,135, 28,223,254, 34,217,
-232,113,254,242,143,255, 47, 60,247,119,223, 77,248,227,192, 31,255,230,255,201,171,127,242,143, 72,139, 9,125, 22, 99,203, 57,
-190, 77,248,216,103,255, 59, 84,182,199,209,155, 95,224,224,245,223,166,111,103, 4, 20,125,215, 99,189,198,181, 11,174, 61,255,
-195,100,155,215,200,211, 45,210, 98, 7,175,192, 86,231, 88,247,128,241,214,156,245,242,156,189, 27,239,198,205, 55, 72, 47, 7,
- 92,215,114,246,246, 77, 38,101,205,106,245,144,120,120,174, 38,142, 9,192,186,148, 90,239, 34, 47,112,193,131,119, 88, 27, 48,
- 70,224,242, 60,203, 72,243,156,224,164, 48,201, 40, 40,235,154,190,239, 24, 23, 57,235,166,129,160,201,178,152, 44,203, 33, 4,
-170,178,146,203,124, 88, 6,171,170, 38, 49, 9, 23,125,247, 81, 20,161,180,122, 20,132,147, 12, 27,191,137, 52, 89, 33,155,116,
-223,246, 24,173, 49, 89, 10,214, 18, 84, 4, 58,224, 90, 17, 95,167, 3, 34,172,144,182, 70, 65,169, 69, 55,146,101, 25,126,104,
-128, 19,250, 54, 80,151, 53,163,113, 65, 83,215, 68,198,176,185,185,137,115,158,166,111,193, 57,148,142, 81, 74,196,149, 73, 26,
- 83,151, 13, 89,150,224,131,150, 42,226, 8,186, 70,114, 91,236, 32,240, 67, 49, 12, 57, 17, 6, 37,165, 42, 90, 71, 2, 47,171,
-193,135,173, 21, 0, 81,164,136, 76,140,209, 26,239,229,162, 88, 46,151,100, 89,134, 49, 9, 62,246,143,138,238,163, 40, 2,173,
- 25, 23, 5,179,249,140,160,181,112, 24, 90, 83,174,215, 52, 77,135, 49, 18,170, 49, 42, 10,180,146,136,187,162, 24,177, 14, 1,
-237,197,123,152,101, 25, 23,138,217,245,122,141,247,142, 16, 28,105, 58, 38, 55,210,172, 22, 37, 49, 46, 72,237,168, 87,158,190,
-239,217,222,222,198, 24, 67,213,180, 4,107, 73,243,140,174,237, 69, 44, 97, 27,146, 36,165,170, 42, 76,100,228, 48,240, 1,107,
- 35,138,209,136,216, 24,177,218,180, 45, 10,192, 24, 66,104,177, 94, 74,109,240,158,108, 60, 25, 56,142,136,209,192,129, 4,231,
- 24,143, 39, 4,111,105,157, 99, 52, 30, 83,150, 37,184, 32, 49,130,198,224,109, 71,221,244, 36,177, 40, 29,241, 50, 56,172,214,
- 37, 38,214, 2, 67, 3, 74,155,225,128,140, 97, 16, 34,206, 58,195,188,213,188, 81,102,124,225,206, 41,137,114, 60, 54,213, 92,
- 25, 71,188,231, 82,202,118,226,217,219, 25, 51, 41, 82, 46,109,141, 88, 85, 45,143, 93, 78,169, 74, 71,158,229,114,161, 33, 28,
-119, 58, 73, 1,200, 98,177, 54,101, 38,150,151,179,211,100, 89, 68,215, 5,186,182, 33, 67, 97, 35,225,110, 92,217,178,232, 29,
-111, 29,174,105,219,142,147, 69,197, 55,239, 47, 89,215,150, 81,172,121, 80, 58,182,166, 57,197,214, 30, 91,207,239,242,219,135,
- 61,231, 55, 15, 81, 65, 56,169,116,240,153,206,231,115, 76,100, 48,169,228, 11,120, 16, 47,169,214,128, 34, 47, 70,196,137,101,
- 62, 95,208, 55,141,148, 28,104,141, 81, 12,233, 76, 5,214, 90,234, 70,224,171, 52, 75,201, 39, 19, 98, 38,172,171,146,174,239,
-153, 76, 38,180, 93, 71, 28,199,152, 40,102,178,145,208, 54,210,148, 4,138, 36, 73,152, 91, 7,163,199,249,213,151, 23, 44,186,
-215,249,207, 62,243, 78,214, 77,160,183,142,117,227,120, 98,119,204,218, 90,154,206,242,249, 63,189,197,170,215, 52,203,146,235,
- 79,109, 99,148,227,230,105,197,183, 15, 86, 68,131,165,134,224,113, 62,176, 51, 29,113, 41, 73,104,231, 39,152,209, 20,165,135,
-159, 95,111,209, 94,222,101,165, 20,163,209,136,221,237,109, 14, 14, 14, 88, 55, 13,109,221, 48, 42,114,142,203,115,202,186,226,
-177, 43, 87,248,208,251, 94,224,225,201, 41,247, 30, 28,202,214, 26,199,128, 84, 62, 70, 90,177, 90,151, 28,159,157,211, 89,203,
-249, 92,114,223, 55, 38, 35,105,114,138,132, 15, 63, 60, 58,225,230,157,187,172, 86,107,122,103,201, 51,161, 0, 54, 54, 54, 64,
-193,237,131, 3, 76, 34, 34,157,163,211, 51, 14, 79,206,208, 90,211,117, 29,155,147, 49, 27,211, 9, 7, 15,143,176,206,115,124,
-122,202, 40, 23, 65, 83, 80,178,145, 39,131, 45,169,235, 58,150,170,194,104,205,249, 98,206,189,135, 71,212, 77,139,179, 14,101,
- 20,101, 89,178, 90,173,216,222,218, 36, 53,134,190,235,153, 45, 87, 88, 43,116,138,119, 1, 23, 60, 73,108,216,217,222, 28, 84,
-244, 21,206,203, 51,233,123, 89, 42, 98, 99, 8,206,209,129, 4,239, 24,131, 14,142, 24, 69, 93, 61,164,139, 18,182, 71, 19,178,
-199,247, 56, 59,182,180,117, 73,140, 97,123, 28, 88, 45, 86,148,213, 18,215, 46,217,123,242, 47,113,253,217, 79,177,191,189,205,
-254,245,143,243,210,239,254, 35, 30,220,253, 14,171,233, 22,147,157,125,222,241,194, 15,161, 77, 65, 58,122,156,227,251,127,206,
- 55,190,249, 50,207, 63,255, 30,198,211, 13, 90,235,192, 7,202,178,163,108, 22,140,243, 57,109,117,155,183,223,254, 2, 77,189,
-166, 94,157,114,112,255, 43,156, 29,255,247,252,212,175,196,252,226, 95,115, 92,218,253, 5,222,126,229, 23,240, 10,158,255,121,
- 40,151,127,151,127,246,161, 79,115,120,247,247,177, 33,225, 34,116,198, 59,203,234,228, 54,183,191, 99,120,242,198,123,113,139,
- 59,204,206,142,232,250,142,100,180,207,104,231,157,108, 94,122, 23,187,123,207, 19, 84, 77, 94,108, 48, 95,223, 97,126,252, 38,
-235,217, 91, 88,187, 38,190, 52, 97,182,122,131, 64, 68,104,122,130,178,148,171, 57, 33,138, 41,166,143,241,131, 63,245,175,120,
-241,211, 31,102,244,129,192,173,127,227,185,249,202, 87,137,242,148, 43,239,249, 49, 14,190,249, 27,172,142,103, 92,191,241,227,
-252,216,207,255,111,108, 94,134,111,126,227, 30,237,149,235,184,233,123,185,247,197, 47,210, 55, 21, 96, 48,104, 66, 82,208,212,
- 71, 4,213, 83,135,183, 69, 83,228, 45,161, 45,233,219, 35,162,253, 45, 30, 30, 30, 98,146, 49,244,151,137, 87,129, 46,158,211,
-189,125, 68,241,216, 62,179,179,134, 36,145,179, 78,161, 80, 90, 49, 25, 79, 88,175, 75, 34, 45,244,165, 2,198,147, 9,125, 47,
- 40,172,247, 94, 28, 89,189, 32,198,102, 52,194, 90,169, 10,111, 58,241,122, 39,153,164,147,198,102,112, 57,121, 79, 28,197, 84,
-205,138, 16, 68, 35,166, 52,244, 77,207,198,198, 6, 23,101, 46,109,211, 50,153, 22, 68, 58, 70, 43, 45, 41,165, 26, 22,171,133,
-252,185, 38,197,245, 61, 89,118, 17,136,227, 72,211,152, 81, 38,113,178,117, 93, 19,169,128, 34,193, 7, 79,145, 20, 4, 29,240,
-206, 98,123,177,220,181,173,240,235,206, 57,186, 89, 43, 25, 45, 90,188,247,105,154,146,133, 20,111, 2, 65, 65, 91,215, 4,175,
-168,214, 21,105,150,128,146, 90,113, 34, 9,183,233,123, 41, 86,139, 34, 77,150,102,148, 77,245,200,174,109, 46,210,104, 34, 37,
- 98,149,225, 46, 7, 2,174,151, 73,196, 4,168,235, 53, 74, 69, 44,151, 75,225, 51, 52,162,152, 79, 98, 50,159,211,183, 29, 65,
- 41,154,170, 38, 75, 51,244,176, 29, 71, 70, 26,119,242,209, 8,156,163, 30,184,197, 85, 89, 50, 46, 68, 92,215, 91,199,198,198,
-198, 35,174,188,105, 91,226, 56, 38, 49,134,173,173, 45,130, 23,200,163,105, 26, 66,164, 25, 79,198,120,103,153,140, 71,104, 37,
-112,120,164,245,224, 15, 86, 67,104,135, 92, 96,163,241, 8,235, 45, 93, 59,252,254, 16,104,251,142, 81,158,203, 69, 48, 30,163,
- 35,141,237, 36,229, 39,137, 83,241, 16, 58,143,181, 61,182,233, 8, 97,232,203, 86,138,196, 72,171, 14, 4,240, 16,116, 32, 4,
-135, 14, 82,181,105,219,150,209,104, 68,185, 88, 81,213, 18,237, 58,158, 76,136,148,180,210, 9, 34, 34,177,147,180,173,164, 84,
-121, 79, 91,119, 52, 93, 67,146,165, 76,141,136,255,116,148, 96,187,134,166,235, 5,238,209, 96,147,140,239,156, 91,222,172, 18,
-254,191,123, 45, 33, 64,232,164,146,243,137,141, 64,145,104,180,237,120,118, 47,103,219,244,108, 25,152,154, 64,100, 12, 69, 18,
-120,253,141, 35,154,166,225,234, 19,151, 88,173,106, 66, 93,115, 84, 90, 94, 61, 44,217, 25, 41,188,210,172,215, 13,235, 14,124,
-170,249,242, 61,195,126,218,115,117, 75,177,177, 57,229,218,200,240,179, 63,242, 65,158,125, 98,135,255,227,107, 51,254,224,139,
-103,180, 71, 45,238,160, 36, 40,153,134,219,186, 6,173, 81, 33, 48,217,216, 32,205, 82, 52, 74, 2,134, 42,201,218, 87, 64, 63,
-188,204, 73,146, 64, 16,126, 53, 73, 83,161,106,198, 99, 25,236, 66,160,107,231,172, 86, 43, 81,200, 42, 37, 16,150,119,164,121,
- 70,156,166,108, 38, 9, 40,134,103,230,136, 34,233, 66, 78,146,100,176,140, 40,146, 52, 70, 34, 22, 21, 74, 27,186,108,194,231,
-223,132,231,190,254,128, 79,189,255, 42, 95,125,237, 33,127,246,250, 67,234, 85,207,103, 95,124,154,103,174,109,242,163, 47,222,
-224,247,191,118,159, 63,251,202,109,138, 88,241,212,227,219,124,223,247, 60,193,205,249, 45,206,150, 45,214, 42, 90, 23,248, 43,
- 31,188,204, 63,254,165, 95,164, 89,207,120,233, 27,175,241,167,183, 23,124,233,181, 99,188, 82,120,231, 97, 72,199,170,202, 18,
-173, 20, 87,175, 93, 97,107,156, 99,189,231,225,209, 41, 85,221, 16,199, 49, 91,155, 91, 44,203,146,170,174,121,226,177,171,236,
-239,237, 82, 85, 21,109, 39, 10,224,224, 47,104, 41,133,175, 61, 93,215,241,224,225, 49, 93,215, 49, 29,143,169,219, 26, 99, 18,
-180,130, 75, 59, 59,168, 40,226,242,254, 14, 39,231, 51,230,243, 5,206, 57, 38,147, 41, 31,124,207, 11, 28, 28, 29,203, 64, 21,
- 44,109,219, 12, 69, 25,142, 7, 15,143, 73,140,225,185, 27,207,240,236,147, 79,136, 11,197,118,204, 22, 75,154,186, 33, 82,154,
-197,114,197,253,240, 96, 8,250,128,141,201, 8, 23, 2,103,243, 5,203,178, 36,120, 73,212,235,250,134,170,145,184,231,170,233,
-184,188,231,217,222,220,160,208, 26, 19, 25,234,182,148,243, 70,105,210, 98,132,117,142,186,110,112,214,177,174, 42,218, 94,188,
-196,251,241, 54, 86, 41, 34,173, 25,101,153, 12, 75,218,209, 59, 57,124,227,170, 98,214, 30, 17, 5,141,117, 45,147,241,152,213,
-106,197,124,126,206,222,165, 43,160, 44,143, 61,126,149, 94, 93, 7,150,188,254,245, 95,231, 91,125,133, 34,112,237,157,159,198,
-135, 30,187,190,207,238,165,235,212,179, 55, 88,204, 78,240,221, 28,163, 44, 89, 82,112,116,240, 54, 62, 60, 73,154, 38, 36,169,
-161,109,196, 67, 92,174,107, 70,147, 17, 79,109, 77,176,221, 54,171,213,132,108,114,202,253,215,255, 41,191,245,223,252, 3,174,
-252,114,207,187, 62,214,114,118,111,196,171,175, 28, 17,127,254, 18, 31,248,143,231,252,210, 43,191,203,127,251,158, 79,113,248,
-214, 31, 0, 9,113,154,226,180, 67, 57,197,217,241,235,184,222,113,249,234,117,178,145, 39,213,158,174,174, 8,229,109,108,245,
-128,104,244, 62,116,156,211,184,138,245,209, 67,154,229,219,172,231,183, 24,111, 62, 77,150,239, 82, 87, 43,178,241, 62,237,114,
- 78, 89, 30, 96,187,154,174, 60,163,107,206,137,182,159, 99,118, 55,112,231,117,197,253,131,151, 89,158,221, 98,189,126,128,214,
-154,237,167, 62,196,187,174,253, 32,223,247,233,255,132,249, 44,240,210,111,253, 58,103,103,175, 98,219,115, 66,190, 32,217,219,
-192, 30, 88,130,111,177, 58, 33, 10,138,208, 45,105, 92, 3,244,132,182,199,211, 19, 97,241,125, 67, 87, 41, 50,237,169, 14,206,
-232,168, 48,161,195,108,104, 70,163,156,126,240,148, 55,117,131,243,210, 33, 97,140, 38,203,114,198, 69,193, 98,189, 20,113,178,
-142,112,206, 19,130, 34, 43, 10,148,247,196, 70,236,205,178,108, 9, 31,239,157,151, 14,117, 19, 40,215,107,242, 52, 25, 40, 97,
- 9,207, 49,198,144,229, 35,214,171,149, 44, 85, 3, 10,185, 94,175,152, 78,167,128,108,196, 4,201, 14, 24,143, 71,120,165, 48,
- 90,122, 79,234,186, 38, 78, 83,148,146,168,218,216,136,229, 25, 20, 93, 43,129,102,137,201,136, 19, 45, 3,136, 86,216,208,211,
- 44, 91, 92, 16,101,124,156,136, 48,244, 2, 21,151, 65,160,161,139,122, 82,159, 19, 69, 6,235,123,186,186, 71,233,239, 6,186,
- 5, 47,176,127,219, 53, 82, 80, 19, 2,145,210,132, 8,146, 84,154,217,186,174, 37,142,228, 12,213, 58, 34,186,254,244, 51,159,
-147, 43, 28, 34, 45,214, 0,231, 3, 90, 73, 72, 76, 18,137,194,123,189, 46,169,170, 26,231, 29, 23,246, 26, 99, 34,186,182,131,
- 16, 72, 19, 67,219, 43,178, 60,195, 43, 15, 74, 38,136,166,105, 6,249,189, 35, 78, 50,180,209, 34, 16,240, 18, 92,223, 15, 34,
- 57, 9,250, 55,143,120,175,174,151,139, 58,138,244, 35, 27,156, 7,108, 8,143,224,109,173, 68, 60,145,166,169,124, 49,156,244,
-241, 94, 60, 80,231, 28, 93,215,161,149, 84,212, 69,145,196,240, 37, 81, 76, 64,120, 71,173, 65,161,105,218,150,200, 68,195,139,
-160,229, 65, 15,158,118,165,196, 3, 89, 85, 21, 74,137, 71,176,183,146, 36,148,198,241, 35, 56,185, 11,129, 60, 73, 4, 25, 8,
-129,136,239, 54,120, 53,141,244,223,250,190,151,225, 3, 30, 77,137,117, 93,211,116, 50,197, 69, 90, 99, 18,185,128,170,114, 61,
-248,159, 37,160, 71,134, 11,105, 43, 34, 64, 62, 46, 72,147,148,222, 5, 44,138,133,143, 89,153, 9,231,161,224,205,117,194, 43,
-205,148,159,248,200, 85,222, 58, 91,241,157,163,150,149, 74,121,187,116,140, 47,239,243,176,134, 54,210,236, 95,127,140, 19, 31,
-145,239,239, 50,218,223,165,247, 49,155,219,155,108,110,111,243,194,149,109, 62,116, 99,194,203, 15,215,188, 50,131,247, 63,190,
-205, 7,174,109,242, 61, 31,122,146, 63,191,189,230,191,254,119,119,135,119, 5,186,222,226,113,196,137,160, 17,182,109,101, 24,
- 83, 18,209, 40,150,164, 24,173, 35,226, 88,178,142,219,182,165,235, 59,234,166,166,169,106,170,186,198, 12,239, 77,215, 75,113,
-130,247, 14,147, 36,180, 93, 39,124,146, 18,113,203,120, 50, 38, 73,146, 97,250, 85,180, 93,135, 49,137,108,118,198, 72,104, 68,
-156, 80,149, 53,222,203, 80, 38, 48, 94,205, 69, 45,106,221, 58,254,240,173, 37, 87, 70,138,207,188,247, 42,239,189,177,203,245,
-171, 19, 78,207, 74, 38,211,132, 44,141,121,254,169, 45,174, 95,154,242,214,173, 19,226,113,138, 27, 77, 24,133,192, 56,209,252,
-216, 15,190,192, 31,126,251,144, 59,183, 79,249,235,239, 79,201,187, 25, 79,110, 41,246,167,134,175, 30,116, 40, 37,207,141,225,
- 32,113,206, 17, 71, 17, 65,107,222,251,204,147,108,111,110,241,220, 51, 79,114,121,127,159,253,221,109,178, 52, 97,148,201,176,
- 73,240,162, 93,201,114,225, 5,135,119,166,172, 27, 41,251, 24, 50, 19, 86,213, 26,130,232, 92,198,197,120,208,126,104,230,235,
- 53,199,167,167, 52, 77,143,138, 52, 27,211, 41,105, 18, 99,189, 99, 99, 60, 98, 99, 50, 25,172,151,163, 65,196, 38,190,223,229,
-122,205,124,181, 36, 77, 82,138, 60,199, 68,154,243,243, 57,179,197,146,186,109,168,234,230,145, 69,117,216, 10,232,251,158,217,
-114, 77, 83,213,244, 67, 46,246, 69,135,252,149,189, 93,242, 44,101,190, 90,163,148,100,224, 43,229,241, 33, 32,121, 20,138, 60,
-207,196,182,167,165, 84, 67, 43,205,168, 16, 11,169, 15, 98, 95,210,132, 71,223, 51,239, 61,145,145, 36,178,222, 5, 84, 4,164,
- 59,120, 28,179,217,156,182,119,148,101,195,179,207, 62,203,184,216, 36, 47,114,146, 56, 3, 29,209,217,138,213,249, 33, 77,121,
- 74,181, 58, 96,117,242, 6, 17,107,188,147,152,219, 52, 10,104,223, 16,186, 21,137, 86, 20,121, 74,221, 59,162, 40,112,118,118,
-198,106,189,166,200,115, 70,227,124, 88,114,214, 88,235, 8, 90, 17, 69, 41, 6,199,242,228,109, 30,190,253,103,252,203,255,253,
- 53,190,252, 71,142, 7, 15,238,113,239,141, 47,176,255,252, 71,249, 59,239,203,184,229,225,217,231,127,154,189,107, 63, 78, 18,
-107,150,103,183,137,226, 13,176,107, 92, 91,211,172,143, 89,156, 31, 82, 87, 53,117,121, 78,189, 56,199,186,142,221, 43,151,152,
-157,158, 50, 63,126,147,227,155, 95, 98,126,118,147,166, 60,161, 24, 95,230,169,247,255, 36,251,151,223, 71,190,181,197,104,122,
-137,174,153,179, 56,121,147,122,121,192,122,246, 6,193, 57,146,209, 54,101,221, 51, 91,220,162, 46, 79,168, 87, 39,212,213, 57,
-182, 58,197,182,231, 92,187,241, 89, 86,229,138,251, 55,127,159,245,250,129,120,211,155, 25,170, 92,209,172, 42, 38,187, 55, 88,
- 47, 14,113, 77, 5, 64, 62,218, 3,223,225,187, 21,202,246,152, 44, 37,210,150, 34,141,217,217,217,165,237, 61,171, 85,141,237,
-150, 96, 59, 18, 12,147, 34,197,249,142,166,149,250, 93,103, 37,122,220,245, 14,165, 21, 74, 67, 18, 27, 20, 10,231,123, 98, 19,
-201,115,110, 91,210, 60,147, 68,211,166,145, 51,161,105, 37, 31,164,105, 9, 90, 68,215,106, 56,139,162,225,220,141, 34, 77, 80,
-160,149, 65, 33, 67,128,142, 35,240, 98,147,107,234, 86,254, 28, 31,168,235, 18, 41, 10,235, 40,178,161, 25,206, 91,226, 36,166,
- 92, 11, 26,109,134, 37,213,245,130, 26,162, 35,218,182, 37, 47,114, 65, 57,179,140, 60,207,233,135, 64, 29,107, 5,205, 75, 77,
- 78,154,100,228,121, 70,158,100, 36, 89,138,179,158, 56, 78,240,182,147, 62, 18, 20,222, 5,241,189,107, 77,219, 53,164,105, 2,
-120, 17,237, 5,168,202, 53, 89, 38,218,154, 72, 43,113,139,132,128, 13, 2,193,247, 93, 79,116,237,137,235,159,187, 80,131,135,
- 32, 13, 65, 90,107,154,166, 21,158,218, 90,202,170,194,123, 79, 64, 20,170, 70, 27,178, 76,120,205,200, 12, 13, 52, 65, 4,105,
-214, 90,146, 88, 82,229,154,174, 17, 49,157, 86,152,139,254,215, 65, 24,161, 35, 67, 89,151, 56, 43, 54,175, 40,254,110,191,186,
- 49, 82, 38, 99,123, 79,219,117,114,137, 71,154, 72, 9,124, 66, 8,104, 99, 4,146, 11, 34,106, 88,173,214,116,157,132,222,132,
- 32,201, 64,109,219,139,152,174,170,104,235, 26,235,130,228,206, 59,121,112,109, 43, 23,173,116,201, 75, 16, 0, 72,175,109, 8,
- 97, 8,231,207,137,227, 88, 84,150, 94,196, 19,109, 43,133,244,214,246, 16, 46,212,237,154,160, 53,174,119, 52, 85, 37, 60,220,
- 32,208, 75, 18,105,227,105,219,134,190, 23,200,178,110, 27,113, 28,104, 17,129,196, 70,252,238,189,181,104,165,233,186, 22,107,
- 45,197,104, 68,150,103, 98, 53,204, 50, 92,240, 82, 20,160, 68, 37,106, 98,105, 36,138,163, 24,165,165,218,207, 90,139, 87,138,
-143, 92,139,249,235,239, 45,248,194,159,189,205,227,143,109,115,247,193,140, 98,179, 32, 74, 82,186,214,145, 38, 25,165, 15, 60,
-253,248, 14,190,180,168,206, 51, 73, 52, 89, 26,115,109, 26,243,244,165,156, 95,253,210, 61, 14,215, 29,214, 69,252,220,139,215,
-248,212, 39,158,229,164, 51,252, 23,255,246, 30,181,143, 8, 62, 12, 1, 36, 14,165, 60,202,203, 48,164, 77,140,235, 26,250,160,
- 32, 72,114,148, 28,196, 17,205, 0,177, 22, 69, 65,172, 99, 64,211,118, 45,121, 42,150, 41,165,213, 48, 4,201,159,107,226,139,
-254,225,140, 16, 4, 81,202,242, 28,208,131,226, 83, 4, 88, 58,138,208, 90,160,218,222,246,146, 42, 21, 44, 40,105,238, 19,248,
- 77,129, 10,104, 29,147,166, 6,175, 34, 94, 58,232,185, 62,106,120,108,119, 66,145, 37,236,239, 20,130, 36,184, 64,239, 61,155,
- 27, 99,158,125,106, 31,215, 91,110, 61,152,227,231, 43,222,113,117,139, 75,211, 2,187, 90,178,181,145,242,217, 23,159, 65,197,
- 26,235, 33,198,243,213,187, 11, 14,207, 75, 8,158,206,182,164, 38, 25, 98,148, 13, 40,184,126,105,151,219,119,239, 97,189,167,
-110,234, 33,134,185,230,116, 49,167,170, 27,146, 56,230,225,209, 49,171,178,228,224,225, 17, 15, 79,207,168,155,134,211,243,115,
-150,203, 53,117,221, 80, 14, 91,173,208, 85,226, 48,145, 38, 67, 79,150, 74,226, 96,100, 52, 33,120,242,225,221,246,206, 51, 95,
-174, 56,159,207, 57,157,207,121,112,116,202,170,148,195,108,177, 92, 81,213, 13, 16,184,188,183,199,100, 44,221,214, 23, 91,195,
-100, 52,126,164,230, 79,210,148,205,201,136,141,233, 20,173, 7, 20, 74,139,232, 76, 71,134, 0, 92,221,223,227,137,107, 87,208,
-145,216, 60, 79,102,231,204, 22, 11,140,137,137, 77, 44, 72,152,243,116, 93,143, 15, 66,189,229,113, 66,154, 37, 84,117,195,217,
-124, 78, 85,215, 98, 27, 76, 18,162, 72, 44,176, 4,209,245,152, 40,134, 72, 14, 66,148,161,243, 25,243,249, 57,193,123,166,147,
- 17,157,237,135,214,197, 30,231, 97,117,126, 74,228,155, 65,253,125, 68,183, 62,198,219, 5,202,247, 16, 52,193,117,232,216, 80,
-140, 71,140,198, 19,210, 98,196,178, 92,146, 38, 9,193, 6,146,193,207,127,116,116, 68, 85,137, 23,122, 52, 30,211,117,142,217,
-108, 54,124,239,115,214,171, 5, 69,220, 16,181,119, 56,185,243, 59, 60,120,227,119, 57,189,253, 69,110,127,253, 37,110, 53,255,
- 17, 63,241,177,158, 79,222,208, 60,224, 18,233,228, 67, 60,245,158, 31,230,195,159,250,175,248,193,159,249,199,236, 62,249,163,
-188,246,231,191,134, 11,146,207, 17,186, 14,175,160, 90,156,211,181, 37,121,210,176,154, 29,208,148,167,180,245, 57,116,115,130,
-210,100,147,199,233,108,197,236,228, 38,179,243, 91, 44,207,238,178,120,240, 13,214, 39,223,196,117,107,118,175,127,130,113,182,
- 77, 90,108,178, 58,185,203,114,118,139,245,252, 62,125,179,162,171,239,179,154, 29,144, 77,159, 98,181,188, 71, 85, 30, 97,155,
-146,190,155,227,250, 21,190,159,161, 53,140,118,222, 69, 94,236, 10, 31, 29, 37,164,197,132,224, 59,250,186, 36,205, 99,124, 39,
-165, 95,197,104, 76,219,181, 66,193, 42,133,107, 86,120,111,201, 76,198,246,214,136,186,153,211,219, 22,239, 44,109,215, 83, 20,
- 57, 38, 75, 41, 75,161,248,180,142,113,206, 2,138,217,233,140,172,200, 0, 68, 17,222,201,125,161,181, 68,133,151, 85, 35, 75,
-143,214,244,118, 16, 66,218,158, 72, 71,152, 56,162,235, 44,145,150,193,192, 68,241,208,153,160, 73, 82,121,159, 46,206, 24,239,
-122, 84, 36,103,188, 70,145,100, 9, 93,223, 19,156,228,174, 24,109, 32, 72,195,102,211,182,120, 68,251, 37,100, 53,160,196, 91,
-158, 38,153, 12, 20, 94,203,103, 72, 98,210, 56, 38,138, 13,209, 48,160, 92,228, 88,228,121, 70, 60,116, 58, 84, 85,137, 82,138,
-170, 90,203,249, 25,137,176,187,109, 26, 46,234,156,181, 70,190, 43,120, 70,121, 65,223,203, 61,165, 53, 72, 79,139,160, 0,209,
-227, 79, 62,245,185, 72,171, 65,189,106, 36,123, 92, 43, 80, 74,254, 81, 1,242, 44, 38, 49, 41,121,145,201,135,138, 36, 72,191,
-170, 74,162, 72,252,219, 38,210,120,157,200,164,100, 37,180,223, 59, 47, 31,160, 40,104, 58, 73,229, 17, 78, 25,210, 52,126,228,
-225,139,227, 88, 90,167,218, 22,148, 76,236, 23, 28,100,150, 37, 24,147, 16,199,178,237,121, 36,154, 86,161,112,189,101,181, 30,
- 96,110, 96, 60,154,160, 81,100,133,148,179,120, 4,125,104, 26, 81, 7,134, 16, 96,168,150,141, 34, 9,206,183, 85,133, 11,138,
-201,116,140,235, 3,253,192,245, 37, 38, 65, 27, 77, 85, 87, 36, 73,130,117, 98, 23,184,200,234, 77,210, 4,105,208,145, 90,206,
-166,109,232, 7, 24, 8, 2,113, 18,227,131, 88, 37,186,190, 35, 56,249,117,164, 34,172,147,162,123,239,189, 12, 33,195, 38, 89,
- 87, 13, 73,158, 80,150, 21, 23,181,180, 89, 33, 74,207,170,174,240,202,147,167,133,252,187,162, 24, 53,188,233,129, 64,231,228,
- 69, 86, 74,146,187, 66,215,242, 79, 62,115,141,215,190,249, 22,223,252,250, 27,156,246, 70, 46, 43, 29,161,202, 30, 95, 85, 20,
- 17,236,239,142,121,229,173, 19,178,166, 98,172,122, 46, 79, 83,186,166, 35, 9,158,127,246,135,119, 56, 90,183,216, 30,174,108,
-166,252,207,127,255,175,176,116,240,247, 62,127,139,219,103,149, 12,110, 77, 75, 22, 39, 16,137,157,163,233,106,121,217,116, 16,
-232, 89,121,178, 34,151,144, 9, 45, 95, 1, 63,100, 22, 95,212, 17,246, 3, 42, 99,146,152,174,105, 64,235, 1, 1, 81,131,187,
- 64,225,250, 94, 4,112,113, 76, 59,160, 26, 93,215,226,156,195,133, 48,240,215, 61,146,108, 24,136,180,162,181, 61,227,209, 68,
- 6,206,174,195, 6,113, 67,120, 2,145,209, 40, 21, 73, 67,148,243,252,241,205, 57, 55,166,129, 23,158,216,166,108,122, 17, 70,
-133, 0, 65, 81, 55,162,148,221,155, 36,188,176, 99,184,114,117,135, 91, 71, 53,166,169, 57, 89,212,204,208,252,240, 71,158, 98,
-111,115, 68,221, 57,138, 84,168,167,151,238,150,148, 85, 73,132,162,110,106,148, 14,104, 37,220,163, 15,138, 44,138,120,229,230,
-155,220,186,115,151,195,147, 51,102,139, 5,135, 71,199,204,230, 11,238, 31, 30,113, 58,155,115,116,122,198,124,185, 98, 85,150,
-178, 45, 55, 45, 93,223, 63,138,107,222,152, 76,184,188,191, 39,223, 23, 29,177,177,187, 75, 49, 25,203, 80,170,101, 0, 55,198,
- 12,195,208,176,185, 16, 48,209,208,107,224, 29,103,179, 25, 7,135, 71,172,171,154, 11,120,114, 49, 64,149, 69,150,179,179,181,
- 69, 80, 18,224, 52, 95, 45,105,187,158, 36, 54, 92,185,114,137, 43,219,219,152, 68, 54, 36,231, 60,214,123,156,119,204,206,231,
-188,126,251, 46,227,124,196,254,206, 22,105, 42, 8,206,233,217,140,217, 98,201,195,147, 99,230,139, 37,199,103,231,204,151, 43,
-250,129, 39, 77,147,152,178,106, 36, 52, 42, 4,154,182,101,177, 90, 49, 91, 44, 89, 87, 53,222, 89, 70,121, 78,150,166,120, 47,
-136,157,216,146, 26,210,233, 62,155, 91,155, 52,229,138, 40,214,132,160, 57, 61, 57,130,225,123,145,100, 9,109, 35, 97, 77,147,
- 34, 35, 78, 13, 58,244, 24, 35,142,129,243,217,154,227,195, 59, 44,207,142, 56, 60, 58,225,248,232, 1, 93,211, 48, 30,141,233,
-172,124, 87,139,162, 96, 60, 26,227, 92,201,106,177,226,244,252,156,201,120,194,214,214, 54,145,246,180, 14, 98,147,202,153,163,
- 20,163,209,148,237,173, 41,151,246,246,217,220,119, 28, 61,120,153,127,245, 91, 45,183, 86,239,100,227,131, 10,123, 47,231,225,
-189,183,248,232,139, 79,176,179, 27,152,108,237, 51,218,249, 48,247,223,248, 19,218,245, 49,232,152, 72, 27,140, 73, 88, 47,142,
-169,150,103,104,191, 68,133, 6,215, 28, 83,151,231,168,126,142, 86, 45,203,249, 67,170,179,251,156, 31,124,153,213,209, 55,168,
-151,183, 73, 70,251,236, 94,255, 56,239,122,255,207, 82,164,219, 60,245,194,243,236,237,190,139,227,163, 59, 44, 79,223,160, 93,
-221,161, 57,123,157, 98,242, 52,147,189,119, 18, 97,201,199, 59,172, 23, 15,104, 87,119, 9,118, 69,219,159,226,109,198,120,231,
- 6,251,215,191,159,235,239,248, 4,219,143,191,143,182, 60,167,173,142, 9,190,167,199,144,196, 26,232, 25,101, 6,235, 32, 50,
- 9, 85,125, 6,173,160,165,211,105,193,114,249, 16,219,183,100,121, 46,225, 95,163,130,170,108, 72,146, 24,112, 88,235, 72, 19,
-131,183, 22,107,165,182, 56, 47,114,209,211, 84, 53,189,237, 49,137, 80,118,203, 82,212,239,121,150, 19,153,132, 36,145,226, 49,
- 99, 12, 33,210, 4,239, 73,211,140, 60, 17,158,187,183, 14, 21,164, 19, 61,138,227,129,163,239, 40, 70, 5,206,123, 70,163, 17,
- 73, 28,211, 13, 17,177,121, 94,128,146, 69, 45, 54,154,182,151,134,207,216,136,230, 9,148,200,163,188, 27,218, 66,229,251, 85,
-150,149,156,127,214,203,121,166,244,163, 0,154,246, 34,221, 52, 72,244, 45, 12,231,181, 10,172, 6,103, 73,211, 52, 88, 43,193,
- 86,197,104,132,119,110, 8, 70, 83, 40, 31, 30,157,147,214,245,168, 72, 65, 80,196,198,160,148, 36, 47, 70,143, 93,191,254, 57,
-165, 53,200, 2,131,117,158,216,200, 95,134,247,100, 89, 70,211,246, 36,169,108,206,177, 49, 18,159,167, 21,120,143, 13,110, 8,
-252, 16,222, 54, 4,233,148, 14, 46,144,141, 10,226,200,224, 58,139, 49, 9,193, 13,226,167,216,160, 34, 45,121,182,182, 35, 75,
- 51,218,190, 37,248,128, 29, 96,237,174,235,176,206,146,101,169,108,129,195, 67, 98, 56,192,215,171, 21,101, 85, 14,246,129,152,
-209, 40, 39,104,141,209,145, 92,254,214,177, 90, 47,209, 65,242,234,139,241,152,241,104, 68,158,229,128, 52,228,164,105,138, 87,
-138,241,116, 76, 20, 69, 92,228,242,218,206,138, 7,223, 65,154, 9,199,107,140, 28,142, 10,201,181,191,224,123,173,181, 52, 67,
- 56, 65, 8,129, 98, 60, 66, 69,234,223,203, 9, 63, 9, 75, 0, 0, 32, 0, 73, 68, 65, 84,207,111,170,134,222,246, 4, 37,151,
-212,120, 60, 38,207,115,148,252,216,209, 90, 81,215,173,240,194, 54, 48, 29,143,232,173,101, 84,140,228, 50,114,194, 59, 37,137,
- 12, 77, 10,217, 76,211, 44, 39, 78,100,211,205,179, 12,107, 61, 62, 56, 92,223,243,193,235, 83, 62,126, 69,241, 23,247,214, 44,
-108, 76,148, 68, 60,117, 73,244, 3,213,172,100,127,175, 96,188, 53,226, 75,183, 78,217, 75, 35, 82,235,217,154,102,196, 33,144,
-230, 49,255,227,151,239,115,127,222, 16, 71,154,186,131,255,225, 23,191,143, 43, 91, 35,254,206,111,222,227,238, 66,218,200,100,
-192,113,100, 69, 38, 23,110, 36,185,248, 42, 40,186,178, 68,235, 8,156, 39, 49, 18,121, 88, 87,149,124, 1,252,197,151, 74,126,
- 61,153, 78, 6,136,171,196, 13,238, 3,169,195,149,173,188,235,186, 71,112,237,186, 90,227,157, 80, 43,192,144, 90,152, 12,195,
-102, 44, 83,183,119, 36, 73, 74,240,129,174,235,136, 35, 25, 24,146, 56, 17, 58,196, 57, 20,154, 44, 75, 72,147, 76, 56,235, 16,
-241,218,237,135, 28, 30,157,243,193,103,247,112, 94,188,212, 90, 11,186,212, 44,215, 60, 60, 56, 98,243,210, 37,174, 95,223, 99,
-190,110, 80,235,134, 47, 31,158,145,228,134,127,241,123,175,242,246,237, 51,126,251,171,119,249,228,251, 31, 99, 51,143,248,163,
- 55, 78, 89, 53, 94,168, 35,107,233, 26, 41, 21,234,122, 75, 99,123, 54,243,130, 34,207,232,123,203,168,200,169,235,150,205,233,
-132,221,237,109,210, 56, 38,205, 82,182, 54, 37, 76, 35,207,114, 54, 38,242,222, 84,117,205,104, 52,226,198,147, 79,112,245,242,
- 37, 2,130, 76, 41, 4,137,218,185,124,153,237,221, 29,116,154,162, 99,121, 38, 1, 65,158,188, 15, 92, 84,197,234,129,102,210,
- 81,132, 15,129,190,151,129, 22, 36, 44,230,124,190, 96, 54,159,163,149, 38, 54, 17, 77,215,211,181, 61, 77, 39, 54,157,174,179,
- 28,158,158,242,224,225, 17,214, 9, 77,180, 88,172, 57, 61,159, 83, 14,158,246, 7, 71, 71, 88,107,217,217,222,100,127,123,139,
-221,237, 45,182,166, 83, 46,237,237,145,165, 9,167,231, 51,170, 90,162,102,211, 84,138,153,138, 44,103, 52, 42,200, 83,105,106,
- 12, 65,134,237,182,109, 89, 87, 53, 77,219,162, 35,121,207,162,225,255,107,173,176,253, 10, 19, 79, 24,109,108,163,157, 35, 73,
- 97,111,111,159, 36, 78,105,218,154, 44,205, 41,178,148,211,243, 99,140,201, 8,192,100, 58,197,117, 45,243,249,138,107,207,253,
-135, 60,245,238, 31,197,121,199,106,113,128,107,151, 4, 20,214, 71,168,200, 8,197,228,123,156, 21,157, 64,106, 32,224,153, 47,
-214, 84,101, 73, 62,158, 50,202,115,146, 56,198,217,142,166,174, 7,209,167,156, 19, 93,227,104,150, 15,208,213,107,124,231,207,
- 62,207,183,254,205,203,220,125,243,203, 60,120,235, 43, 52,230, 6, 63,251,115, 35,174,221, 48,180,179,167,185,246,158,159, 34,
-219,216,162, 94,157,177, 58,123, 11,103, 7, 61, 80, 61, 99,189, 92, 48,159, 29, 83,151, 43,218,186,100,185,156,225,218, 53,169,
-169, 9,110, 5,174, 71,227, 81, 10,188, 45,113, 42,166,152, 92,197,134,192,157,155, 47,179, 88, 46, 89, 46,110, 82,207, 95,161,
-155,223,164,179,138,231, 62,242,183,185,122,253, 69,162,108,194, 11,239,255, 33,130,154,208, 84,247,153, 63,252, 22,213,236,140,
-189, 39,191,159, 27,239,255, 27,220,120,238, 47, 17, 66,130,237, 78, 9,225,148,106,118, 31,219, 59,242, 52, 33, 73, 32, 56, 79,
-239, 53,231,179,115,156,183, 20,105,193,214,206, 46, 79, 62,253, 24, 85,179, 32, 73, 98,218, 78,242, 6, 70,227, 17,206, 65,219,
-212,152,120,208, 44,165, 41,182,151, 2, 23,173, 53,197,100,132,210,122,184,108,123, 57, 27, 8,104, 68,255,212, 59,247,200,134,
-230,125, 24,150, 55,169,229,206, 82,217,154,219, 78,238,145, 56, 54,232, 40, 22, 29, 71, 16,109,149,237, 45, 89,146,224, 93, 32,
-203, 11,218,166, 37, 47, 10, 65,112,181,145,184,226, 84,144, 71,133,148, 23,121,235, 72, 50,137,129, 77, 98, 67, 58,160,185,202,
-122,210, 44,197, 5, 79,112, 1,147,198,143, 80, 65, 51,160,148,242,201, 3,125,215, 62, 66,168,154, 70, 10,210, 66,240, 2,173,
-183, 13,218, 24,210, 84, 4,227,113, 28,147,166, 41,125,223,147,100, 41,113, 28, 99,251,142, 56, 78,200,226,148,139, 52, 61, 29,
- 71,242,157,184,250,248,227,159, 83, 74,161,144, 47, 58,128, 4,250,119, 4, 37, 28,181,137, 69, 25,222,247, 61,104,169, 36,245,
-206, 97,210, 20,223, 59,170,186,161,235, 45,125,215, 2,210, 92,131,146,182, 25,201,209,149, 90,185, 52, 77,136,141,168,215,219,
-174,195, 89, 43,255, 88, 19, 1,154, 8,169,105,236, 58, 41,200,200,243,156,222, 58,180,138,104,187,150,178, 44,105,154,134,182,
- 17,129,197,133,232, 32,132,128,245, 14, 29,228, 18, 14, 33,176, 44, 75,250, 33,191, 30, 16,110,114,176,149, 85, 77, 45, 92,176,
-214, 76,166,147, 71, 60, 73,223, 58,218,190, 37,205,133, 62,232,218, 22,180,252, 80, 9,208,214, 45, 85, 61,192, 36,107, 17, 48,
- 69,177, 8,250, 76, 28, 51, 46, 10,208, 32, 17, 2,158,182,110,137,147, 88, 46, 7,165,240,206,202,101,156, 74,101, 95,108, 98,
-140, 73,176,214,163,209,228,227,156,120,240, 55,102, 3, 47,211,245, 29, 65,228,177, 2,249, 40, 45, 47, 46, 16,233,136,186,145,
- 2, 19, 17,108, 24,186,174, 37,207, 11,126,226,221, 25,245,186,228,164,234, 89,174, 26,246, 70, 25, 81,172, 88,247,129,189,189,
- 49,227,113,193,205,179, 10,223,116,108,116, 61, 86, 5,118,115,195, 31,223, 93,240,191,126,249, 1,139,186, 35, 85,154,211, 6,
- 62,250,174, 29,254,201,207,124,146, 95,250,205, 59,124,251, 97,135,142,228,115, 68, 70,252,227,105,146, 12,162, 23, 79,156, 24,
-218,166, 69, 25,131, 27, 54,106,235,196, 61,160, 7,142,220,249, 64,145,231,164,105, 78, 81,100,212,173,216,154,130, 12,191,160,
- 20,163,241, 88,166,236, 60, 39, 73, 18,121,238, 3, 7, 28, 25,177, 65, 78,167,211,193, 11,218,147,198, 41,145,249, 46, 95,223,
-116, 50, 44, 74,246,186,167,110,154, 71,207, 52,205,114, 18, 35, 81,199, 90, 71, 82, 1,153,165,140,178,132,247,108, 6,222,255,
-142, 75,244, 46,160, 99, 77, 20, 2,202, 40,210, 81,198,100,123,155, 16,107,180,247,124,253,246, 41, 7, 51,113, 53,164, 69,198,
- 26,207,201, 89,205, 91, 7, 11, 62,251,226, 13, 54, 70, 49, 47,222,216,102,119, 58,226,168, 12,180,206, 93,184, 65,137,147, 4,
-111, 29,135, 15,143, 72, 76,196, 83,143, 95,227,241,171,151,216,222,220,224,210,222, 30,151,119,183,217,221,217,230,242,222, 46,
-219,155, 27,108,109, 78,201,210,132,221,173, 45,182, 54, 54,112,214,178,183,189,197,222,246, 46, 33, 56,113,114, 12,223, 95,111,
- 45,221, 64,219, 20,163,156,241,120,196,104, 50, 97,178,185, 73,148, 37, 68, 38, 33,138,227, 65, 4,235, 8, 32,207, 82, 75,143,
-129,136, 64,191,251, 95,150,101,196,137, 33, 75, 83,138, 60, 37, 79, 19,182, 54, 55, 48, 38,226,244,124,198,114,181,102,185, 46,
-153, 45, 22, 88,231,217,216,152,112,109,127, 23,133,162,119, 78, 16,186,174,103, 58, 30,147,198, 49,227,201, 68,108, 57, 0,136,
- 11,163,109, 27, 58, 59,244, 79, 88, 75,154, 9, 18,103, 34,205,198,120,204,230,116,202,222,246,150,244, 26,148, 53,139,229,138,
-211,243, 25, 0, 23,141,143, 62,120, 82,173, 8,253,156,216, 87,178,233,147, 14, 72,144, 29, 80,165,154,243,249, 57, 4,197,206,
-238, 46,203,245,138,174,233,208,145, 97,115, 99,131,233, 19,239,100,243,242, 71,217,127,252,163, 92,190,254, 81, 76, 86,176,154,
-221,163,111, 86,152, 88,150, 1,173, 60,109, 39,154,161,174,115, 56, 63,124,219,131, 99,126,122,204,249,217, 67,234,182, 97, 58,
-221, 96, 50,153,226, 66, 96, 62,159,179, 92, 86, 98, 95, 11, 17,193,247, 60,113,117, 11,215,220,161, 61,255, 54,171,147,111,240,
-240,173, 63,226,203, 47, 63,205,139,127,237, 50, 31,123,111,224,240,222,148,100,251, 35, 92,127,239, 15,240,158, 15,253, 45, 62,
-252, 3,255,128, 15,126,242,151,248,218, 31,253, 79, 4,101, 73,227, 92, 56,104,165, 8, 65, 81,119,115,214,231, 71, 52,205, 26,
-250, 37,101,121, 78, 87,173,113,174, 34, 43, 70,144,102,172,151,199, 60,184,245,219, 28,188,250, 27, 52,103,175,210,206,239,208,
- 86, 53,147,107, 31,102,247,234,247, 48,221,188,193,237,155,255,150, 59, 55,255,148,249,201,183,177,237,219,172, 86,247,137,204,
- 6,187, 79,254,101,118,175,126,148,117,249,144,131,219,127,192,234,236, 14, 76,206,113,103,119,177,173, 34,137, 3,203,243, 83,
-154,166, 98,126,118, 76, 26,199,100,121,202,229,203,151, 24,143, 38, 24,147, 81,213, 75,218,182, 39,142, 21, 70,105, 84, 36,124,
-180,240,216, 45,109,219, 19,188, 32,177, 93, 47,177,222,125,223, 17,199, 17, 74, 73, 92,170,137, 83, 18, 19,225, 81,172, 6, 21,
-250,104, 52,162,243,150, 44,201,176,182, 35,207, 11,146, 36,197,245, 29, 77,223, 13,195,172,108,187,145, 82,180,253, 96,143,236,
- 44, 62, 4,188,135, 98, 92, 96,125, 64, 71, 9,222,139,146,190,237, 59,186,166,195,196,146, 69,210, 54, 50, 4,184,193, 70, 86,
- 55,210, 50,231,125, 0,239, 49,137,161,115,150, 68, 39, 4, 2,190,183,232, 56, 65, 69,223, 13, 90,138,147, 24,212, 16, 46, 99,
- 7, 13,146,181,162,251, 72, 12, 77, 85,203, 18,231, 61,101, 93, 19,169,139,103, 28, 48, 70, 50, 13,186,174, 69, 71,114, 79, 56,
-235, 9,200, 66,237,144,240,229,104,186,181,253,185,178, 92, 83, 87, 53, 77,223, 62, 18,135, 69, 90,108, 6,178,169, 8, 84,153,
- 13,144,178,137, 13, 77,221, 8,212,233, 68, 16,144,102, 25,145,138,165, 21, 39, 77, 36, 61, 74, 65, 85,215,131, 4, 95,136,125,
-235, 69,157,156,196,178, 93, 73,135,185,168, 73,227, 56,150,203,110,248,162,186,225, 11,175,133,232, 31,190, 20, 8, 7, 99, 34,
-178, 44,163, 40, 50,178, 44,127,196,185,117,141,248, 18,219, 74, 4, 82, 69, 81,200, 75,211, 75,215,174, 15,194,249,166,137,240,
-155,214, 90,130, 18,203, 66,215,181,164,105, 78, 83,214, 67,195,142, 17,200,167,151, 52,162,229,106, 77,215,247,212,117,131,245,
-150, 40,146, 52,187,188, 40, 6,136, 62,224,157,192, 35, 33,132,225, 65, 68,131,175, 58, 34, 56,135,142, 20,125,103,233,109, 47,
- 27,109,111,177,125,199,104, 34,106,239, 36, 78, 8,195, 36,169, 17,104,166,183,189,188, 20, 78,132,127,214, 90, 8,208,245,162,
-126,135, 32, 13, 93,206, 98,116,140,237, 42,126,229, 7, 46,241,197,215,143,233,219, 64, 19, 2,219,153, 38,219,219,100,146,138,
- 40,241,238,193,140,157, 84,241, 67, 31,188,198, 70,166,208,193,115,167,236,249,181,175, 28,224,189, 71, 71,242,242, 87, 1,254,
-233, 79,127,152,187,243,158, 95,253,147, 3, 25,184,162, 88, 4,122,157, 37, 73,100,130,149,109,106,176,237, 41,132,126,208, 10,
-105, 51,210, 76, 38,147,193,115,156,224,156,165,119,223,173, 72, 20,177, 37,140, 70, 35,249,187,141,161,239, 58,156,247,120,239,
- 30, 9,237, 58,219,201,207,171,174, 9, 90,132,103, 98,173, 20, 65,213,106,177, 34, 78,132,163,170,203, 82,166,232, 68,114,195,
- 93, 8, 52,149,116, 27,247,109,135, 40,112, 61,182,147, 65,213,104,131, 51, 25,151,210,150,143, 61,183,135,117,142,166,181,124,
-235,235,119, 48, 81, 68, 49, 22,127,172, 14,240,240,104,206,239,253,197, 3,172, 14,172, 23, 53,135,109, 79,236, 20, 47,236,228,
- 28,172,106,254,234, 71,110,144, 38, 17,153,129, 23,118, 13,159,122,207, 30, 73,146,240,246, 2,226, 56,165,183,242,111,203,138,
- 17,111,190,117, 27, 2,100, 73,194,198,116,204,198,120, 76, 8,210,117, 16, 25, 67,145, 38,152,200, 48, 30,141, 41,138,140,120,
- 24, 92,198,227, 66, 4, 64,128, 30, 10, 79, 76,108,112,206, 82, 87, 21, 73, 18, 19,180, 34, 56,201,106,232,218,150, 56,206, 40,
-138,156, 46, 4,138,141, 13,242,241,148, 56,205, 81,145,108,236,222,123,250, 94, 96,239,139,255, 76, 20,177, 57,157, 14,233,127,
- 82,188, 18,188,103, 93, 86,244,253,144,239,142,108,246,203, 33,213,170,200, 51,182, 55, 54, 80, 90, 44,171,171,117,201,225,209,
- 49,117,215,202,240,154, 74,181,164, 11,210, 27,209,118,146,119,209, 89,233,193, 22,177, 81, 74, 49, 8, 35, 37, 63, 99,160,196,
- 0,175, 2,109,215,138, 82, 62,120, 73,123, 84, 26,107, 29, 77,211,209,119, 53,182, 89, 82,171, 17,248, 64, 20,137, 74,184,105,
- 42,178, 44, 97, 52, 26,211, 84, 45, 71,135,199, 44,203, 37,171,178,100, 58, 25,179,185, 53,225,193,219,223, 98,125,126,135,166,
- 57, 39, 29,239, 51,221,123,146,106,118, 15, 19,123,198,163, 49,125,107, 49,177, 2,235,104,122,241, 58,163, 7, 61,208,208,200,
-229,250,138,197,108, 38,212,139,214,236,110,239,176,185,181,129,119, 18,100,210,117, 45,203,213, 10,208, 68, 38,231,233, 27,239,
- 32, 51,129,179,147,175,240, 23, 47,143,184, 57,127, 1,163, 21,185, 82, 28,188,249, 58, 39,103,119,248,228, 15,127,144,255,242,
-103, 71,204,246,254, 33,175,191,244,219,148,203, 91, 56,215,226, 21, 40,129, 35,145, 52,206,138,245,106,142,235, 45,182, 93, 83,
-215, 37,171,243, 3,210, 80,209, 54, 15,240,109,137,173, 78,137,162,158,201,120,130,199, 96,251, 21, 85, 87, 73, 79,123,187,230,
-244,205,127,199,226,240, 43,180,139, 67, 98,109,208,233, 6, 46, 68, 56, 91,113,118,248, 77, 22,179,155,180,203,183,168, 15,110,
-115,120,247, 54, 58,245,172, 86, 51,218,170,197, 58, 79,148,196, 88, 23, 40,171,134,221,157,109,146, 56, 39,205, 71,244,182,198,
- 24,141, 49, 49,214,247, 84, 77, 11,222, 19,153,136,196,136,110, 38,120, 63,228,129, 40, 26,219, 51, 30,141,168,202,138,182,105,
-192, 43,148,130, 85, 85,210,119, 22,147, 38,210,189, 16, 25,186,166, 69, 41, 77, 8,146, 99, 82, 87,205,240,238, 36,162,215, 73,
-178, 97,227,214, 84,101, 77,219, 86, 52,109, 71, 80,160,252,176,184, 33,225, 96,105,154,146,103,185, 44,158, 3, 68, 15,146, 22,
-122,177,160,118,125, 47,155,187,181, 8,242,107,169, 7, 45,140, 50,226,238,144,214, 79, 11, 62,208,117,162,239,176,214, 98,140,
-148,198, 56,103, 7,175,185,195,152, 68,144, 77,165,176, 93, 79,103,165,137,180,105, 91,218,186,166,170,133,190,150,123, 46,150,
-140,251, 94,218,225,180,209,164,105,246, 72, 12, 30,237, 93,190,244,185,206, 74, 3,153,179,146, 76,214,180, 13,109,215,210,118,
- 18, 31,219,247, 61,222, 75,151,108, 50,168, 2,147,120,152,166,188,127,100,215,105,157, 28, 30, 26, 81,123,119,182, 99, 84,136,
- 37,192,123,225, 80,219, 97,227, 50,177,180,175, 69, 58,194, 13,208, 90,240,158,182,239,240,189, 29,194, 99,134,188,104, 37,156,
- 65,150,100, 68, 17, 4, 23, 0,177,146,165,105, 38, 27, 65, 85, 82, 13,124, 99,219,118,140, 39, 27, 36,105, 66, 89,150,140,199,
- 99,225, 70,188,195,214, 53,152,152,245,122, 77,219,214,228,249,136,216,196, 52,157,248, 6, 81,225,209,195,168,234,106,184,120,
- 59,234,186, 36,132, 64,146,138, 64, 80,135, 65,137, 27, 2, 1, 79, 20, 37,195,150,156,160,156, 76,113,105, 42,188,141,120, 26,
-133, 7,146, 54, 31, 25, 90,108,144,217, 42, 77, 83,121, 73,188,199,218,142, 96,123, 92,111, 89,204,231, 82, 16,144,138,150, 65,
-107, 9, 75,144, 92, 1,205,122, 93,162, 8,226, 9, 86,138, 40,138,177,174,231, 51,207,111,242,129,199,114,222,122,184,224,232,
-188, 34,110,122,182,119, 10, 66,100,120, 98,119,194, 73, 99,201,199, 41,145, 11, 28, 28,204,185,251,214,125, 94,123,184,224, 95,
-188,124, 76,213, 43, 70,169, 88,206, 26, 27,248,123,159,122, 7, 63,255,201,103,216,221, 48, 28,206, 58,222, 56,174,229,103,222,
- 55,116, 93, 43,131, 10,210,105,156, 13, 66, 34,103, 59,156,149,132,164,166,105, 80, 64,146,196, 56,144,119,103, 24,192,138,172,
- 32, 50, 17, 89,158,146,165,178,189,245,173,216, 25,157,115, 20,169, 4, 10, 53,157, 92,194, 74,129, 15, 72,254,255, 64,229,228,
- 89, 54, 60,203,150, 98, 84,176, 92,174,104,155, 70, 60,205,195,164,127,129,140, 4, 39,162,202, 40,210,140, 71, 35,140, 86,244,
-222,146,199,153, 20,157,172, 75,142,230, 37, 47, 62, 53,102,111,163, 64, 41,216,216, 26,177,152, 87,140, 71, 25, 32, 92,253,214,
-230,132,143,127,224,113,102, 71, 43,150,139, 21, 75, 15,215,198, 41,121,164,121,104, 29,143,237,142,120,231,245, 93,150,101,203,
-173,151,191,195,179,239,122,134,231,118, 52,207,238, 25,190,125,100, 89,172, 27, 34, 29, 49,217,152, 18,169,192,233,233, 41, 1,
-161, 96,218,190,227,238,131,135, 76, 70, 35, 46, 26, 12,211, 44, 37, 54,250,223, 83,134,167,177, 28,130,162,234,143, 48,145,196,
- 25, 59, 47,122,133,213,114,197,254,246, 22, 89, 49,166,172, 74,146, 88,168, 27, 59, 64,117,206, 73,184, 79, 80, 10,226,152,116,
- 50,102, 50,158, 14, 22, 60,133, 25, 6,236,174,147,195, 55,139, 69,200,105,180, 18,159,176, 22, 43,166,115,246,209,118, 31,130,
-100, 47,172,203,154, 36, 77,216,218,152, 18, 39, 9,125, 47, 74,225,170,172,105,173,124,230,209,168, 96, 52, 88, 90,125,240,148,
-117,131,181,146,149, 95, 53, 13,179,217,130,211,249, 28,128, 11, 27,232,133,149,104, 84,228, 67,254,129, 99, 62,151, 68, 65, 99,
-132, 62,147, 11,194,144, 23, 5,163,233, 14,173,133,217,249, 17,211,233,148,241,100,130, 30, 4, 79, 89,158,146, 23, 19, 25,242,
-250, 14, 99,192, 53, 75,146,168,103,189, 62,163, 90, 62,164, 90, 30,208,172,238, 99, 98,205,252,252, 84, 96,126, 35,237,144, 30,
- 81, 84,163, 52,222,131,235, 28, 30,199, 69,213,110,219,214,232, 40,162,174, 43, 78, 78,142,229,253,156,140,216,222,221, 37, 77,
-114,156,243,116,109,133,115, 78,218,190,180,161, 93,158,179,186,247,231,188,245,229,207,243,242, 23,255, 53, 55, 95,253, 83, 30,
-222,249, 35,238,189,246,175,153, 45,223,193,223,248,145, 39,249,244,247,194, 51,191,240, 11,108,142,255, 22, 77,125, 70,215,172,
- 25, 21, 79,112,227, 63,248,155,156, 29,188,130,109,206,136, 76, 74,164,101, 35,140,116, 66,240, 29,179,179, 3, 92,189,130, 80,
- 18, 66, 79,219, 52,156,156,156,208, 89, 71,176, 13,211,196, 82, 46,239, 80,206,222, 38, 74,198, 82,226,162, 3, 93, 91,227,124,
- 79, 22,230, 44,230, 55, 89, 60,252, 26,205,242, 45,186,229, 3,202,250,148, 88, 25,108,235,168,170, 30,101, 12, 33, 68, 40, 36,
-207,124,111,255,146,104, 72, 76,194,230,116,131,197,252, 33,162, 28, 31,206,171,129,214,105,123, 11,222, 83,140, 38,130,186, 37,
- 41,101, 85,203,185, 17, 15,226,218,174, 35,207, 83,250,222,145,198, 41, 73, 46,195,174,138, 34,150,203, 21, 10,133, 82, 1, 23,
- 4,221,188,104, 16,245,222, 65, 20, 97,189,197, 24,113,134, 92,208,179, 94, 5, 34, 21, 83,140, 82, 84, 20, 63,130,185, 47, 54,
-226, 56, 74,228,247,246, 61, 93,103, 31,161,196, 23,142,171, 52, 73,196,198,220,203,253,169,181,198, 91, 71, 80, 98,179, 78,139,
-130, 36, 17,142, 62, 50, 67,193,140,147,122, 88,231, 29, 89, 38, 20,172,247,208, 59, 75,223, 54,162,159,136,165, 5,181,107, 59,
-188,247,132, 11, 36,173,239,105,154, 70, 16,222, 97,209,113,174, 39, 82,114,206, 38, 70,172,189,209,149,199, 31,255, 92,223,247,
- 20,163, 17,221,160,166, 19,245,178, 38, 73, 50,250,190, 39, 79, 83,178, 52, 37, 78, 98,156,183,168, 32,254,219,166,235,152,142,
- 36, 37,174,109, 90, 92, 47,101, 12,189,237, 41,138,130, 81, 49,162,106, 42,148,142, 30,217, 95, 36, 26,239,187,229,242,102, 56,
- 44,162,196, 16, 71, 18, 67,136, 15, 3,252,154,226,189, 69, 71, 17,206,127,215, 30, 21, 25, 9, 16, 72,147, 76, 10,231, 35,121,
- 88, 77, 45, 16,235,100, 60, 65, 33, 48,123,164, 34,146, 76, 46,209, 44, 77, 49, 89, 70,181,150,252,247, 16,148,108,231,241, 16,
-166,225, 36, 93, 44, 54,137, 8,224, 66, 0,133,124,102, 39, 8, 69, 20, 9, 18, 33,222, 97, 79,154,230,136,194, 61, 30, 54, 10,
- 77,103, 7,181,126,164, 49, 74,126,248,125,215,211,247,189, 12, 54,173, 84, 11,226, 61, 12,105, 67,203, 85, 73, 89,138,170,185,
-170,165,198,210, 57,129,170,101,208,234,104,170,230,209,139, 37,141,122,134,178, 44,197,250,144, 73,174,118, 20, 69,252,220, 7,
-198,196,161,231, 59,175,158,240,112, 81,113,117,123, 68,167, 20,151, 31,219, 70,197,138,215, 94, 63,228,250,245, 29,158,120,242,
- 18,189,179,220, 95,246,172,250,136, 31,124,247, 62, 47, 62, 53,229, 43,119,230,196, 90,115,218,193,223,252,204,115,236,142, 21,
- 74,167,124,228,233, 13, 94,186,187,230,104, 81,147, 38,169, 8, 26, 7, 85,112,215,117, 52,131,240,209, 59, 79, 94, 72, 56, 79,
-154,165,244,157,208, 32,125,211,208,181,237,208,174, 39, 25,206, 33, 72, 26, 32, 40,170,101,137, 11, 30,231, 61, 27, 27, 27, 3,
-234, 35,155, 54, 4,178, 44, 39,142,165, 15, 57,142, 53, 27, 27,155,143,220, 14,138, 1,182,235,164,195, 96, 60,153,200, 80,104,
- 18,156, 23,248, 61, 49, 2, 89, 37,195,196, 29,105,141,209, 26, 80,244, 93,131,117,142,181, 55,188,249,198, 93,126,244, 35, 79,
-225,188, 80, 6,219,187,155,164, 35,201, 0,215,145,160, 59,160,121,225,198, 30, 55,239, 30,243,250,225,130,203,105, 74,174, 35,
- 74, 2,135,231, 53,159,254,208,147,168,200,240,250, 55, 94,229,233, 75, 19,172, 73,184,178,145,242,151,158, 46,120,245, 20,206,
-107, 43,195,134,142,216,157, 78,184,125,247, 30,111, 31, 28,112,124,118, 46,169,107,211, 9,189,179, 34, 94,109,218, 1, 38,148,
-188,134, 40,138,104,187, 30,130,180, 61, 41,173,233,251,142,182,151, 82, 36,133,160, 24, 39,167,103,220,184,118,133,107, 87, 46,
-203,118, 99,133,107,108,219, 86,168,167,201,132,182, 21, 95,119,158, 9, 29,146, 22, 5,163,173, 77, 54,166, 83,246, 47, 95,101,
-103,127, 31,147, 36,172,203, 10,231, 29, 6,136,146,152,113,158,147,164,169,108,254, 93,247, 8,226, 6,134,134,197,158, 81, 81,
- 80,100,114,118,104,173, 89, 87, 21, 85, 93,115,116,114,202,170,172, 8,222, 51, 30,141, 40,114,105,115,212,145,166,237, 58, 25,
- 0,154,134,114, 80,190,123,239,232,156, 69,107, 40, 6,129,213,233,249,156,249,114, 73, 64,220, 42,109,215,145, 37,226, 2, 72,
-134, 33,110, 76,195,186,215,196,113,194,124,121,142,235, 69,115,224,250,158,213,114,142, 54,129,107, 87,175,146, 23,194, 93, 78,
-199, 27,244,109,197, 40,245, 76,114,232,235, 35, 92,183,164, 41,207,217,123,242, 19,216,206,115,242,240, 53,170,197, 49, 62,241,
- 36, 68,100,249,132,174,171, 32,138, 8, 65, 14,108,107, 3, 38, 74, 64,137,171, 70,233, 8,219,182,172,103, 39,172, 22, 51,150,
-229,138, 52, 49,108,239,238, 83, 20, 19,148, 86,172,150, 11, 80, 30, 31, 34, 20,150, 60,238, 80,205,125,170,211,183,184,180, 51,
-162,158,253, 5,191,115,107,151,252,251,158, 65,121,216,140, 50,174,222,248, 44, 87,158,252, 17,254,246,175,252,231,252,236,223,
-255, 0, 79,255,195, 95,166,187,253,189,220,251,246,231,233,219, 37, 58, 78,233,154, 5,222, 10,236,223,247, 53, 77,185,162,108,
- 87,216, 74,108,157,174,111,233,218, 53,243,211, 99, 92, 51,163,175,206,176,141,132, 14,173,206,207,232,154,142,182, 41, 89, 47,
-207,105,150, 71,116,205,106,128,245, 91,112,160, 72, 24,111,108, 50,154, 78, 24, 23, 5,227,241, 6, 62, 88,226, 44,231,242,229,
- 43, 52, 93, 79,211,181,108,108,100,156,158, 30,226, 9,196,145,193, 58, 71, 98,140,184,134,188, 88,182, 64,138, 88, 52, 16,153,
-255,159,169, 55,141,213,244, 60,239,251,126,247,250, 44,239,123,182, 57,179,147, 28, 46, 34, 41, 82, 11,101, 74,138, 29, 43, 74,
- 98,171,137,147,218, 73,156,182, 64, 3, 3, 65,139, 34, 69,186, 32, 77,138,164, 40,208, 6, 45,136, 22,104, 10, 20, 41,250,169,
- 69,191,181,105, 81,160, 46,130,214,110, 98,103,115, 28, 47,177,100,199,146,172,136, 18, 37,238,228, 12,103, 57,115,214,119,121,
-182,123,235,135,235, 57,163, 18, 32, 6,130, 56, 56,231,188,231,121,238,251,186,254,171,147,140,137, 92,216,108, 55, 44,150, 45,
-148, 34,185, 7,118, 22, 28,231,200,197,217, 57, 41,101, 22,139, 6,109, 53,214,202,240,231, 47, 41,166,148,104,124,141, 65, 97,
-172,161,219,138,218,125, 24, 71, 74,209, 56,171, 24,250, 64,136,210, 2, 23,130, 92,146,168,130, 54, 96,180,197,123,135,181, 78,
-138, 83, 98,100, 24, 70, 64,205, 86, 73, 47,223,255,114,135, 16,196,254, 54, 14, 65,254, 28, 3,211, 56,209,204,201,116,206,122,
-124, 83,163,181, 33,206,255,109, 74,162, 94,247, 85,141,213,134,144, 3,228, 66,158,147, 84, 75,201,179,248, 87, 44,208,165, 20,
-186,190,147,207, 65, 57,154, 69, 43, 67,173, 51,130,116,148,130,185,118,243,214, 27,149,175,192, 72,219, 90, 85,121,236, 12,241,
- 93, 78,200,218, 72,157,104,202, 89,188,147,189, 64, 72,165,100,170,166, 66, 43, 77,152, 2,139,101, 35, 48,159,245,248, 74, 46,
-210, 18, 5, 34, 53,198,146,138,180,152, 93,146,254, 74,169,249,112, 79,120, 87,209,247, 29, 90, 73, 11, 79,229,189,240, 20, 70,
-166, 38,165, 20,219,245,154, 97,232, 81, 69, 17,162,168,198, 67, 16,159,252,182,151,176,253,157,197, 14,219, 94, 38, 96,171, 12,
-139,229, 18,101, 68, 15,224,156,199, 26, 35,124, 74,150, 94,118,177, 17,116, 24, 35, 86, 35, 85,212,147,131,161, 36, 17,212, 41,
- 5,218,104,138,202, 51,167,157,113,174, 34,151, 60, 83, 1,150,245,172, 22,190, 20,179,165, 16,200,177, 80, 84, 65,230,122, 17,
-111,169,121,146, 63, 95,173,216, 94, 92,208,109,182,116,219, 78,130, 60,138, 64,246,101, 62,152,149,146,202,219, 24, 69, 0, 18,
- 98, 36, 83, 8,227,196, 52,141,178,125,106, 69,156, 18,211, 28, 55,235, 13,252,149,159,190, 77, 55, 36,190,243,193, 49,103,161,
-240,226,237, 5, 71,167, 3,239,127,116,194, 71, 31,157, 16, 98,230,199, 62,251, 52, 33, 68,214,239, 63,224,215,222, 57,230,151,
-127,112,198,207,124,238, 58,177,100,190,241,225, 57, 41, 23, 82,210,252,141, 63,249, 60,227,102, 75,189,123,128, 33,243,229, 59,
- 59,252,243,123,145, 92,100, 8,211,118, 46,229,153, 38,156,159,251,132,139,136,218,152, 63,143,202,121,138,146,180,178,252,228,
-210,111,216,221,217, 65,205,252,252,234,226, 66,130, 30,166, 81, 68,132, 74,126, 15,101,182, 12,106, 61, 35, 35, 49, 49, 14, 61,
- 90, 75, 18, 96,237, 37, 93,204,104,205,102,179,194,121, 39,207, 71,152,228,239,148, 4, 73, 68,124,178,213, 94, 66,251,194, 39,
-167,153,107,243,222,163,157,104, 46,126,248,201,138,113,125,193,171,207, 28, 96,180, 98,115,122,193,119,190,241, 93, 30,124,248,
- 9,235,211, 13,109, 91, 17, 83,224,227, 15, 31,112,231, 83, 79,243,222,187,199,188,127,190, 97, 19, 39,116, 83,147, 41,252,249,
-159,252, 20,185, 64,214,134,205,253, 71,188,244,226,211,172,199, 72,213, 56,126,226, 78,195,135,103,137,147,190, 80,148,160, 34,
-119,110,221, 96, 10, 1,173, 12,117, 83,179,221,110,248,240,238,125,238, 61,124,196,233,197, 5,155, 77,199,131, 71, 71,124,124,
-255, 17, 79,223,188, 1, 69,208, 42, 40,179,165, 75,160, 67,230,207, 94, 43, 9,173,248,248,254, 67,190,244,234,167,249,243, 95,
-251, 99,188,252,236, 29,134,177,231,124, 45,186,144,237,182, 67,145,177,174, 38,198,132,115, 6,103,141,212, 1,207, 89, 12,162,
-210,181,236,236,239,131,243,104, 95,201, 69, 58, 35,244,214,106,172,243, 98, 21,141, 63, 18,218,245,195,192,166,235,104,155,134,
-131,221, 93,105,148, 34,179,157, 21,246, 93,215,243,248,244,140, 16, 3,187,203, 5, 59,139, 86,196,165, 85, 5,133, 39, 3,246,
- 48,142,114, 48,215,210, 43, 97,140,102,189,237, 56, 59,191, 16, 30,113,118,155,196,152, 68,177,175, 21,222, 89,234,186, 38, 82,
-216,219, 91, 80, 45,246, 57, 61, 57,103,184,220,224, 82, 96, 24, 38, 86,171, 45, 59,109,195,217,197,138,237,102,139,164, 17,214,
-172,214,107,214,171,115, 22,139, 5, 7,251,123,220,184,126,147, 43,159,250,211,188,254, 83,127,147, 79,191,254, 11, 28,222,254,
- 34,105,152, 80,213,130,235, 55,111, 17,135,158, 41,140,104, 20, 74, 23,156, 5,180,167,148, 89,159,144, 17, 68, 77, 65,152, 68,
-193,223,111, 71, 30, 62,120,192,102,115, 78, 24, 37, 38,218,218, 22, 99, 5,142, 26,166, 17,171, 29,245, 98,159,157,221, 43, 12,
-221,154,147,247,127,139,127,252,127,252, 3,190,241,143,238,242,253,111,191,195, 15,190,251, 79,121,251,187,127,151,179,243,207,
-114,251,250,117, 70, 13, 79,125,245,101,238, 28,254,117,116,229,233, 87,143,185,118,231,143,241,229,159,255,155,116,167,103,172,
- 79,126,128,177, 14,235, 90,180,177, 79,196,199,113, 26,192,205,133, 35, 67,199, 52,142,140, 93,135,156, 68,114, 14, 9,203,103,
- 72,185, 96,141,195,250, 90, 54,206,162,168, 91,135,206,226, 15, 15, 17,180,213,178,208,117, 29,149,175,120,230,169, 91, 92, 92,
- 60,162,239,182,146, 73, 96, 44, 90, 41,170, 90, 58,192, 75, 18, 24, 91, 41,169, 60,237, 7,137,116,214, 20,226, 36, 22,205, 97,
- 24,177,206,145, 67,162,239, 59,114, 18,171,170,160, 78,145,113, 74,144,193,105, 73,160, 12,211,132,175, 23, 24,107, 40, 72,106,
- 97,152, 2, 5,133,177,146,146,234,180, 38,230, 12, 37, 83,213,181,208, 43, 49,144,178,108,251, 82,116, 54,162,148, 21,196, 53,
- 76, 51, 34, 42, 45,159, 85,221,226,172,145,129, 20, 65, 35,149, 49, 84,222,211,111,183,196, 40, 22,187, 97,232, 81, 70,116, 31,
- 41,102,140,187,204, 58,137,228, 20,197, 61, 82,196,145, 83, 87, 13,198, 58,138, 41,178, 48,106,104,155, 5, 33,142,196, 32,161,
- 78, 77,211, 18, 99, 96,177,108,197,198,107, 60, 41, 73, 88,156, 82, 10,179,119,245,234, 27, 90,203,129, 59,205, 24,125, 98,134,
-202,199,137, 49,200,118,149,115,193, 58, 79,213, 84,178,145, 33, 66,150,130, 64, 36, 49,198, 57,137, 45, 80, 47, 90, 12,200,225,
- 98, 44, 93,183,101, 28, 39, 52,138, 48, 6,156,247, 79, 4, 80,206,139,185,126, 24,122,218,118, 49,115,164,154,152, 37,253, 43,
-166, 64, 70, 68,102, 97,146, 73, 36,196, 64,206,229, 9,132, 33,200, 64, 35, 7,130, 18,200, 50,132, 72,229,107,148,214,196, 49,
-160, 84,161,228, 72, 76, 65, 68, 90,174,166, 91, 93, 16,231,139,116, 12,210,194, 51,142, 82,124,175,149,198,215, 30,148,154, 61,
-233, 89,212,232, 41,202, 84,101, 52, 33,137, 7, 50, 4,225,186,107, 47,131,208,216,247, 84,181,199,186, 25,126,214, 10,231,106,
-121,248, 66, 96,181,237, 24, 55, 27,152, 70, 72, 17,144,238,237,221,253,125,172,151,193, 99,103,103,135,166,169,209, 69, 58,218,
-173,153,253,215, 83, 68, 69, 73,191, 27, 39,137, 76,212,170,176,216, 89, 82, 87,142,207, 93, 53,252,201,231, 90,190,241,230, 61,
-206,199, 66,109, 20, 79, 93, 93,178, 25, 2, 7,203,134,253,253,154,157,118,193,197,144,240,149,101,232, 38,126,249,247, 63,198,
- 42,248,214, 71,103,252,254,135, 23, 24,165,232, 19,236,215,142,191,250,103, 95,161,100,205,238,149, 29, 82, 72,236, 47, 52, 78,
- 25,254,224,254, 32,189, 0,182, 66, 81,136,169, 96,108, 65, 35, 47,107,152,228, 5, 80,128,178, 6,139,120,209, 21,138,189,189,
- 61, 25,134,140, 65, 35, 94,115,249,156, 36,100, 34, 76,146, 9, 62, 12, 19,211, 36,116,205, 48, 14,116,155,142,161,239,228,247,
-219,247,156, 30, 61,230,232,225, 3, 46, 78,142, 57, 63, 59, 98,123,118,206,250,244,140,237,249, 57, 23, 39,199,172, 78, 79, 88,
-159,157,178, 58, 63,225,226,228,148,179,179, 83,134,113,196,122,143,175, 90,172,117, 12,227, 64,140,153, 41,136,112,211, 25,205,
-222,193, 30,215,236,134, 27,123, 45,191,244,203, 95,231,251,223,124,155,215,190,244, 18,159,121,253, 85, 78,143, 79,233, 78, 47,
- 88,221,127, 8,214,241,237,123, 27,225,227, 20, 4,101,216,109, 61,219, 33,112,239,180,231,249,155,251, 92,191,126,192,187,223,
-249, 30,207,190,242, 18, 7,121,100,147, 20,149,213,188,254,116,203,175,252,203,199,104,215, 16, 74,134, 48,241,210,157, 59, 28,
-238,239,114,176,187, 67, 55,138,210,215, 59,207,149,189, 93, 36,174,217,114,251,198, 53,154,186,225, 9,239,173, 68, 77,235,102,
- 13,202, 20, 3,170, 64, 65,137, 72,179,100,190,243,131, 31,242,252,211,183,217, 89,180,124,238, 83,207,241,233,231,159,229,193,
-209, 17,219,110,139,214, 82,154,177, 92,180,132,113, 96,232, 71, 66,156,168, 43, 63,211, 69, 10,103, 28,211, 56,144, 50,130, 28,
-149, 76, 31, 18, 67,134, 82,121,124,187, 96,247,224,144,106,209,208, 44, 90,161,214,188,167,235,122, 78, 79,207,200, 37,179,187,
- 92,176,191,187, 71,219,212,108,250,238, 73,104, 70, 63,140,108, 59,209,186, 92,217,223,229,202,222,158, 88,205,148, 20,200,148,
- 34,157,244,155,237,192,106,179,150,195,218,121,110, 92,187,202,162,149, 16, 15, 95,215,236, 95,189,198, 11, 47,190,196,222,254,
- 62,174, 89, 16,149, 34, 20,205,186,223, 98,116,196,250, 93,250,126, 36,132, 68,183, 29, 40, 37,225,172,165, 40,197,225,225, 53,
-226, 56,177,222,172,153,198, 45,211, 52,225,253,130,195,171,135, 52,213,130,163,147, 35, 22, 75,248,240,157,223,227,124,125, 68,
-189,123,147,229,206,211,216,122,151,144, 44, 37, 30,179, 57,123, 8, 69, 3,130, 62,121, 87, 83,148, 8,162,132, 51,130,156, 3,
- 40, 13, 90, 80, 9,163, 13, 33,102,186,110,205,249,217, 35,214,155, 53, 33, 68,118,118,247, 89,180, 75, 92,213, 16,166,129,179,
-243,115,172,243,140,125,160, 54, 19, 11,238, 50,156,254, 30,103,247,254, 57, 97,245, 46,167,199,191,205,175,253,234,111,241,214,
- 63,252, 1,247,127,239,152,113,115,159,172, 45, 79,189,248,103,248, 47,127,229, 63,225,191,250, 51,159,225, 15,255,181, 63,207,
-221, 55, 95,231,254,131,127,194,180,221, 98,171, 6, 85, 52,227,246, 49,207,189,250,231,232, 46, 30, 16,198, 11,170,106,137,118,
-141, 84, 77,107, 73,182,140, 12,168, 44,249, 24, 70, 59, 18,138, 41, 38,172,113, 24,103,184,242,212, 23,217,191,253, 41,214,143,
-239, 49, 70,209, 58,104, 45,231,224,115,207, 61,139, 86, 35,199,199,143, 72, 33, 16, 66, 34,134, 64, 2, 41, 40,234,165,148, 43,
-165,136, 70,203,185, 93, 9,162, 91,183,141,136,171,157,216, 91, 47, 46, 46, 72, 57, 81, 53, 21,227, 36, 20, 2,170, 96,157,166,
-228, 68,206, 81,244, 57,186,176,104, 26,114, 28,137, 73,172,113,214, 58,148, 81,228, 16,192, 24,166, 94, 28, 73, 70,105,124, 93,
-209, 52, 66, 5, 54, 77, 75,213, 8, 4, 47, 10,115,105, 17,165, 36,118,150, 45,181,175,169, 43, 79,221,136,147, 38, 38,209, 68,
-197, 73, 98,152,101,169, 21,181,190,243,158,105,148, 4,213, 18, 69,215, 85,162, 8,202, 99,144,128, 28, 25,248, 64,165,196,152,
- 20, 69,153,249,107, 34, 33,100, 50,167,211,182, 45, 73,139, 31,125,154, 70,161,129,226,132,119, 78, 46,118, 38, 64,227,156,197,
- 28, 92,187,246,134, 2,124, 83, 83, 87, 53, 33, 38,140, 82, 98,191,170, 28, 97,146,132,174,118,209, 98,149,126, 2,127,143,227,
- 64,237,100,139, 46, 73, 34, 59,199, 48, 96,173, 36,228, 88, 87,177, 94,173, 25,167,129,148, 68, 69, 91,114,150,131,123, 10,104,
-163,152,166, 72, 85,213,164, 40,118, 4,177,198,201, 64, 81,138, 34,142, 35,253, 48,206,220,161,166,174,101,146,119, 86,134,136,
-221,157, 93, 36,149,205,208,117, 3,211, 56, 81, 72,132, 16,217, 93, 74,174,240,118, 43, 92,184,160, 14,242, 65,143,227,132,210,
-138,170,109, 81, 74,172, 77, 97,134,109, 65,160,203, 75, 17,150,244,234, 10,231, 81, 82, 2,100,168, 72, 83,162,246,149, 40,249,
- 71,209, 12,164, 24, 33, 35, 89,240, 9, 10, 25, 95,215,168, 34,220,187,112, 60,153,205,106, 5,243,240,160,180, 66,165,136, 90,
- 46,105, 42, 17,240, 9, 92,169, 72, 69,114,188, 55,107, 41,191,152, 38, 41,127, 40, 74,201,240, 50, 79,210,198, 26, 9, 33,241,
-142,159,122,105, 65, 19, 59,126,227, 7,167,236,235, 64, 9, 35,253,249,134, 43, 75,199, 64, 33, 63,120,128,207, 91,198,147, 51,
-190,249,214, 35,254,207,175,127, 76,181,168,249,220, 51, 87,184,123,178, 33,231, 66,166,112, 17, 20, 63,254,220, 30,255,193,159,
-253, 34,111, 62, 88,243,205,247,207,185,190,215,112,243,160,226,169,133,226, 23,191,121, 76,204, 69,166,207, 36,130,142,190,147,
-130, 2, 99,204,147, 24, 71, 73,214, 19, 49, 87, 74, 66,207,180,109,139, 53, 82,156,144,163,136, 0,211,157, 0, 0, 32, 0, 73,
- 68, 65, 84,180,116,141,147, 88,207,114, 73,212,141,104, 8, 82, 73, 56,235,136, 33,130,214,108,215, 43,214,103,231,108,207, 47,
- 24,186, 30, 85, 34,206, 72,170,146, 74,133,162,229,229, 71, 41, 80, 6, 81,132,203,134,158,147,248,218,135,237,150,238,252,132,
-211,199, 39,140,227, 32,249,243,206,226,125, 77,229, 5,161, 74,185,112,116,214,241, 31,253,233,151,249, 83, 95,251, 60, 95,248,
-241, 79,179,187,191, 71,136,137,235,183,111,176,127,227, 42,215, 94,120,134,253, 43, 7,188,247,193, 35, 62, 62,234, 80,227,128,
-174, 44, 73,105, 80,133,111,124,255, 62, 55,119, 27, 62,247,210, 83,188,247,245, 63,224,234, 11,207, 80, 59,203,161,205,108, 35,
- 56,103,120,238,176,226, 91,159, 12,196,172,196,218,181,222, 96,172, 97,217, 46,184,178,191,203,222,206, 14,215, 15,247,217,219,
- 89,178,179, 92,176,183, 20,136, 83,162,112,231, 50, 10, 0,165,102,174, 78,236, 3, 74, 73,165,176,181, 34, 28, 10, 33,178,233,
- 58,190,252,218,231, 40, 49, 99,180,230, 11,159,126,145,109,223,243,240,241, 9, 69,101,106,239,185,172, 27, 30,134,158,203,158,
- 4,217,150, 59,252,252,238, 85,117,133,117,179,174, 68,192, 24, 57,252, 41,212, 77,195,149,195, 67,124,211,176,127,120,200,237,
- 59,207,176,119,237, 42,217, 88,186, 16,201, 74,218, 24, 69,165, 44, 89, 0, 49, 37,166, 16,184, 88,111,152, 66,196,214, 53,109,
-211,114,153,204,229,156, 5,163,216,221, 63, 96,177,183, 71,181,179, 68, 85, 13, 83, 74, 84,237,130,197,206, 46,251,135, 87, 80,
- 70,154, 35,199, 16,208, 90,188,194, 24, 67, 24, 69,212,186,179,220,193,152,106,166,205, 68, 63,180,179,179,100, 59,140,212,222,
-115,253,230, 13,154,186,197, 59, 67,158, 70, 86,235, 51,214,235, 21,253,208,113,114,188, 34,118,231, 44,220,200,249,241,187, 28,
-125,244,251,156, 61,254, 30,171,135,255, 18,237,106,158,255,226, 95,100,177,124,134,126,245,128,245,217,199,179,240,183,146,126,
-128, 84, 72,100,116,206, 34,202, 66, 99,172,192,202, 80, 80,242, 11,164,164,244, 4,189, 92,173, 86,156,158, 62,102,125,190,194,
- 55, 53,139,197, 18,239,133,107, 29,199,192,166,235, 25,167,140,117, 13,215,110, 61,205,237,155,215,240,249, 49,103,143,191,205,
-209, 71,191,197,253,143,190,206,201,189,175,115,126,252, 54,235,163,159,229,236,229,138,163,115,199,179, 55, 95,229,250,115,255,
- 46,227,240,144,205,217, 93,250,254,132,207,255,220,223,226, 63,254,123,127,155, 23,175,255, 13,182, 93,199,246,228,123,136, 41,
-217,162,172,166,196,192,139,175,253,155,124,246,143,255,101,226,240,144,110,125, 66,206,226,197, 21, 4, 49,210, 30, 60, 13,195,
- 17,202,108, 80,197, 74, 33,149, 81,236, 46,107,246, 15, 22,172,214,103, 84,206, 83,183, 53,151,105,128, 77, 85,201,153, 89, 10,
-253,208, 63, 89,244,170,202, 11,226,148,193,123, 63,111,183,113, 22, 92, 79, 51,109, 38,239,169,175, 28,117, 37,193, 92,117, 93,
- 83, 57, 75, 76, 65, 84,229,206, 81, 53, 13, 85, 37,252,183, 42,112, 25, 80, 37,121, 23, 22,231, 28,245,140, 28, 12,189,244, 13,
-104, 35, 34, 54,103, 12, 41, 69, 22,139, 5,117, 85,137, 94, 40, 4,140, 23, 75, 92, 41, 8, 29, 6, 80, 10, 18,112,148, 89,180,
- 53, 41,103,186,217, 83,191, 88, 44,112,206, 17, 75, 98, 81, 55,210,214,137, 34,229, 72, 74,242,119, 52, 82, 40,227,157,103, 26,
-122,113,150, 25, 75, 12,129,166,105, 5, 77, 28, 39,188,119,104,173, 97,254,218,121, 44,140, 99, 63, 11,239, 68,172, 61,142, 35,
-230,250,237,219,111, 40,165,168,107, 41,215,232,250,142, 41, 69, 33,255, 67,100,119,111, 79, 32,101,163, 68,185, 28, 5, 66, 13,
- 83,152, 5, 60, 78, 36,254, 41, 49, 14,211,204, 37, 1, 69,211, 15, 3,139,118, 33,176,179,210, 56,111,209,202,162,141, 38, 37,
-249, 59,198, 58, 66, 14, 18,232, 16, 2, 97,154,200, 69,114,215,181, 50,100,164,145,124,154, 2,149,179, 56,231, 69, 65, 30, 2,
-117,227, 41, 72,116,158, 81, 90, 38,124,109,241, 94, 4, 21,185,136, 50, 93, 27, 45,254,199, 28,136, 97,142,165, 45,145, 56, 37,
-129, 69,114,145,224,129,186, 22,241,158,153,249,113,148,132, 1,244,226,131, 68,105,164, 7, 94, 20,139, 49, 73, 22,183,214, 26,
-212,172, 60,180, 70,116, 1, 90, 94,214,156,103,191,104, 8,196,105, 34, 12,195,124, 33, 21,200, 5, 85, 10, 69,105,240, 30,111,
-165,197, 12,228,151,182,186, 56,103, 28,132, 94,104, 22,205,204, 59, 90,150,203,133,240, 57,117,141, 46, 80, 87, 14, 21, 3, 31,
-125,240,152, 55,126,254, 83, 12, 1, 86,155, 53,215,215,159,240,213,219,138,183,222, 59,230, 23,127,247, 17,215,237,192,194,193,
-209,217,192,175,188,121,194,187,167, 35,187,251, 11,254,204, 79,190,192, 87, 94,187,205,219,119,207,216, 12,145, 95,248, 19,159,
-225, 47,253,220,103,248,163, 95,120,154,255,230, 23,191,199,223,252,165, 31,242, 75,191,243, 17,255,211, 63,250, 0,231, 20, 95,
-251,220,109,134,190,227, 55,222, 58, 98, 28,132,231, 79, 81, 6,158,162, 96,232,199, 89,188,101,208, 69,154,238,198, 41,226,189,
-196,240, 14,227, 56,243,201,178,165,107, 45,226,149,213,102, 69,138,137,152,101, 67, 13, 51, 79, 79, 73, 12,171, 51,198, 77,135,
- 46, 17,107, 20,205,210, 3,154,174, 11,144, 21,237, 94, 75, 85,121,218,157, 37, 78,131,117, 78,208,146,218, 99,148,240,192,181,
- 19, 97, 83, 24, 35, 57, 71,194,216,145,134,115, 98,119,134, 83,133,106,177,195, 20, 3, 85, 45,213,150,156,125,194, 87, 94,190,
-201,166, 11,132, 40,150,180, 52,255,190,167, 20,177,218,240,249, 87,110,114,103,191,225,237,119,143,248,251, 63, 56,229,104,221,
-243,210,245, 5,109,227,121,176,158,248,218,103,174,114,250,206,219, 52, 87,175,179,220, 95, 98, 84,226,192, 41,250, 88,184,181,
-191, 96, 24, 6,190,251,176,199, 85, 53,125,183,229,222, 39,247, 89,111, 59,158,186,121,141,182,185,132,156, 13,149,115,243, 97,
-144,208,179, 43, 69,168, 26, 25,229, 83,138,196, 44, 2, 36,107, 44,144,133, 82, 50,138,166,170,184,247,224, 17,191,251,237,127,
-201,103, 94,121,137,253,189, 93,114,206,124,254,229, 23, 41, 40, 30,175, 87,108,214, 27,200,176,218,172,200, 41, 99,156,197, 89,
-141, 86, 6,163, 20,155,174, 35,164, 31,101, 3, 56, 39,149,184,109,219, 82, 87, 82,219, 60, 77, 65,146, 32,147, 40,119,173, 21,
-151, 75, 12,129,221,131,125, 92, 85, 97,189, 20,241, 28, 94,191,193, 98,119,135,189, 43,135,236,238,237,113,243,233,167,177,117,
-131,173,106, 78, 86, 43,182,211,196, 98,111,143,122,185,195,114,177,164,106, 91, 57, 51,114,102,177,104, 49,214, 50,244, 61, 79,
-236,149, 70, 97,140,197, 58, 75,215, 13, 40, 37,101, 26,206,123,148, 49, 76,161,103,177, 92,178,187, 60, 96,154,132,107, 77, 41,
-115,101,127,159,163, 71, 15,184,253,212,109,124,229,104,218,134,179,179, 51,214, 91,233,128,151, 90, 75, 17, 40,109, 55, 43, 14,
-246, 26,118,170, 72,109, 39,186,245, 99,162, 62, 99,239,240, 89,218,221, 87,120,250,213,159,227,250,115, 95,165, 20,197,249,227,
- 31,224,188,195, 32, 53,179,170, 36, 74,201, 56, 47,156,106,153,183, 52, 74,153,135,244,140,226,114, 88, 18, 65,173, 82, 19,221,
-122, 77,183,217,112,116,114,134,179,134,221,253,125,209,160, 20,232,183, 27,206,143,207,216,108,214, 44,247,174,112,176,127,200,
-225,222, 30,187, 77, 65,135,142,202,172,185,247,209,175,243,141,191,255,125,190,251, 15,222,228,135,223,251, 22,247, 62,250, 29,
-210,120,130,111, 26, 62,253,197,191,202, 79,255, 27,255, 33,239,127, 7, 62,249,193,247,104,246,158,194, 47,247,217, 60,254, 1,
- 83,140,168, 98, 88, 92,121,142,103, 95,251, 5,134,205, 39,228,188, 33,247,167, 20,192, 57,203, 98,209, 72,112,203,246, 30,237,
- 82, 51, 94,108,136,122,135, 97, 12, 44, 23, 13,119,238,220, 98,219,157,211,143, 35,222,203,153, 24, 99,154,183,113, 79, 41,101,
-222,190,101,168, 52,198,130,150, 86, 52, 51, 11, 63, 67,156,209, 13,144, 77,120, 26,153,198,241,137, 5,242,210,101, 20,231,229,
-160,174, 27, 46,109,114,117,211,204, 11,223,230,201,162, 70, 41,136,141, 56, 64,206,179, 19, 41,178, 92,182,178, 96,230,132,100,
-174,152,217,170,219, 83, 12,196,113,194,213, 21, 37, 11,218, 48,206,116,103,152, 34, 41,102, 22,115, 27, 97,140,137, 49, 70,218,
- 70,116, 66, 83, 20, 94, 93,171,185, 74,213, 56,172, 19,132,210, 24,135, 51,150, 41,142, 76, 83,100, 12,145,106,190,107,141, 81,
-128, 76, 15,222, 59,177,221, 90,201,218, 16, 5,190, 37,169, 68,201,130,154, 72, 6,135, 1, 20,230,218,173,219,111,196, 52,243,
-189, 74,201, 7, 31,194, 19,110,203, 88, 67, 73, 98,150,247, 94,252,130,151,113,176,144, 9, 99,160,228,132, 54, 22,231,107,198,
-177, 71,105,195,182,235,229, 7,145,187, 13,111, 43,249,229, 40,133,243,146,123,171,173,196,140, 94,202,253,173,145,225,162,170,
-106,172, 21,126, 83, 33,182,174, 20,195,108,159, 81, 18,167, 26, 2, 57, 6,156,151, 23,161,235,182, 36,165, 4,150, 14,115,197,
-170,154,149,225, 90,147,138,180,249, 56, 47, 81,172, 77,211,206,156,142,212, 42, 38, 50,226, 7, 4,233,213,157,152,194,136,175,
- 60,117, 93, 83, 87, 21,211, 32,209,174, 82, 15, 43,131,133, 53, 34,164, 80, 74,179,187,187,195,101,114,214, 48, 13,172, 47, 86,
-148, 52,209,143, 35,171,174,163,219, 10,180,103,180, 66, 91, 79,105, 91, 84,211,136,226, 56,202, 64, 51,205, 14, 1, 17,114, 20,
-188,117,212,181,151,141,181,200, 65,101,140, 70,197,200,180,217,178,219,122, 76,206, 40, 50,222, 41,254,218,207, 60,207,179,251,
- 21,223,187,191,229,227, 11, 56, 29, 20, 83, 26, 57, 25,225,222,201,200, 31,121,237, 14,168,204,155, 15,183,124,233,185, 67,254,
-243,191,248,135, 57, 95,245, 28,236, 52, 28, 54,142,247, 30,158,243,249,103,174,240,185,103,174,241, 95,252,239,191,199,175,127,
-239, 49,141, 41, 84, 78, 30,180, 95,251,131,251, 60,222,142,252,197,159,127,141,255,251,119, 62,102, 74,114, 97,182,205, 44,212,
-155, 31,172,170,146,108,119,165, 37, 74,120, 26, 6,214, 27, 73,231, 43, 72, 54,254, 56, 72,134,243,106,181, 22, 20,199, 24,188,
- 19,255,254,118,187, 33,140, 35,106, 28, 32,142,108,215, 91,246,106,201, 66,223,223, 91,178, 92, 46,104,125, 67,219, 88,249,218,
-198,208, 86, 13,181,115,248,102,129,173, 28, 90, 25, 46,241,140, 82, 20,168,130,183, 2,183, 57,235,200, 9,134, 56, 81, 55, 26,
-149, 71, 54, 39, 71, 84, 8,138,227,154, 29,190,254,189, 79,248,241, 27,138,107, 87,118,168, 23, 13,214,123,156,214,172, 78,206,
-232, 63,185, 71,169, 27, 78, 62,190,203,197,249,154,173,111,249,191,190,245,128, 97, 76, 92,175,224,198, 65,203,135,199,107, 62,
-126,239, 49,175, 47, 7,202,141,155,236, 44, 23,216, 44,241, 19,123, 14, 54, 33,241,242,173,150,223,126,251,130, 71,231, 91,156,
-175,217, 95,212,228, 92,184,121,237, 16,231, 42, 82, 78, 80,178, 60, 35,204, 5, 49, 10,204, 19, 36, 2,121,111,149,230, 50,153,
- 80,107,249,223,218, 8,116, 94,114,161,169, 43, 86,235, 45,191,245,141,223, 99,154, 38,158,127,230,105, 52,138,219,215, 14,153,
-134,137,247,238,222,165, 31,122,234,186, 34,132,200,208,247, 76, 97, 18, 59, 92, 16,177,234,165,224,205, 90,129,101,167,105,144,
-173,212,123, 64,210,180,250, 81,248, 76,209,187,200,214, 92, 85,149, 64,153, 86,220, 32,155,237, 22,165, 10, 41, 70, 81,212, 27,
- 67,237, 5, 9, 72,113,182,123, 42, 37,112,236,188, 45,245,221, 64, 65, 16, 55,107,103,232, 58,200, 38,148,147, 56, 45,214,221,
-134, 97, 28,104, 91,209,240,244,125,143, 86,200,251,106, 53, 90,201,185,176, 92,238,208,182, 45,186, 20,234,182,102,119,255,128,
-146, 53,103,167,143, 57, 59, 59,230,236,244, 28,231, 20,149,111, 9,169, 32, 34,179,200,118,211, 11, 5, 16, 38, 14, 14,174,210,
- 46,118, 49, 17, 76, 60,229,226,236, 61, 78, 79,238,145,115,102,239,218,171,212,203,171,220,120,238,143,227, 22, 87, 56,185,247,
- 7,160, 12, 96,200, 69,244, 56, 37,203, 59, 0, 5,163, 20, 86,107,180, 53,164,164,128,196, 52,137, 93, 78,105,169,155,109, 42,
-135,245,142,213,234,140,213,106,139,177, 21,251,135, 87,216,191,114,128, 54,138,227,227, 99,206, 79, 78, 88,111, 87,132, 56, 17,
- 81,212,237, 14,183, 15,119, 40,221, 7,172, 79,190,201,209, 71,191, 75,127,252, 93,186,213, 3, 74,127, 74,183,254,136,183,126,
-247,239,115,247,205, 95,229,209,221,223,227,236,209,191, 96,216,124, 68, 9, 91, 74, 82, 28, 62,251, 69,118,247,159,101,117,252,
-251,108, 31,253, 62,227,249,199, 36,213, 34, 5, 44,142,172,107,198,237, 72,200,150,169,177,164, 28,209, 49,176,216, 89,112,253,
-160,229,241,201,125,156,243, 56, 45,136,228,101,171, 24, 10,182, 93, 71,138, 81,104,212,148, 24,163, 36, 10, 78,227,136,140,142,
- 5,148,154,105,224,129, 41, 72,238,132,196,164, 10,170,219,182, 45,222, 75,122,168,247, 82,227,170,180, 98, 74,153,156, 11, 33,
-140,242,245,221,101, 42,169, 67,156, 55,242, 12,139,133,218, 98,141, 66, 91, 43, 40,180,182,116,221,102,126,167, 20, 41, 77,196,
- 49,226,106, 63, 11,155, 5, 85,188,180,210,122,239,112,117,197,208, 15, 12,195, 72, 38, 97, 49,140, 81,188,247, 10,201, 82,168,
- 42,207, 24, 36,182, 60,134,128,245,243,251,100, 68,244,231,157, 71, 33,214,184,113,184,108,116, 19, 68, 78, 18,230, 34,222, 90,
-209, 68, 88, 73,181,115, 78,208,181, 20,197,202,233,173, 3,173, 48,123,135, 87,223,168,155,154,245,122, 61,255,192, 34,100, 83,
- 70,100,244,206, 73,208, 71,187,108, 33,201,225, 50,246,210,237,188,179,148, 75,204, 58,153,186, 54,155, 13, 85,189, 16,184, 58,
- 68,198, 81, 18,112, 74, 44, 12, 65, 20,188,149,171,137, 73,242,176,149,177,104,133, 88,225,250, 1, 93,228,128,146,127,133, 23,
- 47,136, 95, 91, 89, 77, 91,215,104, 37, 9, 95,185, 20,124, 37, 80,199,118,187, 33, 21,184,140, 7,245, 78,184,122,109,196, 71,
-238,156,149,105,222, 42,225, 27, 11,140,227,132,245, 30,138,240,184,227, 56, 82,162,120, 20,115,150,182, 47,165,228, 23,146,227,
- 92, 94, 81, 57,114,146, 92,237,148, 19, 6,192,136,239,182,246, 53, 74,203,134, 61, 77, 2,153,167, 41, 48, 78,211, 19,197,109,
-206, 98,195,218,219,223,167,105, 26,106,103,113, 90,227,188,195,121, 43, 15,133, 2,148,162,105, 26,150,139, 5, 37, 71, 82,138,
-244,155, 53, 58, 78, 28,236, 44, 88, 54, 13,228, 66,229, 13, 77, 93,179,190, 88,113,122,122, 74,183,217,240,183,254,210, 87,121,
-112,124,193,183,223,122, 68,177, 30,127,101,159,207,190,120,141,227,251, 39,180,182,208,238,183,216,221, 67,194,118,195,131,141,
-164,120,197,162,248,210, 75,135,252,107,127,228, 5,254,220, 31,122,142, 12,252,226,215,223,227,159,189,249,144,186, 50, 12,211,
-136, 41, 9,173, 50,173,183,124,253,135, 71, 60,187, 80, 28, 13,142, 62, 91,106, 95, 17, 99,192, 89,241,139,231, 57,143,191, 20,
-129,218, 75, 46,172, 55, 27, 10,138,208, 15,228, 28,105,170, 26,227,156,120,141, 83, 32,230, 8, 37, 49,206, 46, 1,103, 53,169,
-219,224,188,163,219,246,212, 46,227,149,193, 56, 77, 28, 35,211,148, 68,181,108, 10, 37, 43,198,174,163,109,107,148, 50,212, 85,
- 75,158, 70,170,182,198,104,139, 49, 22, 13,100, 36, 7, 61, 5, 69,206,145,186,114, 80, 52,195,166,112,177,142,140, 89,177,222,
-142,108, 55, 43,210,180,229,100, 53,240,230,183,127,200,163,183,223,103,120,240,144,238,225, 3,134, 62,240,255,254,147,239,240,
-214, 59,119,249,253,223,125,135,175,127,231, 46,191,254, 7,247, 56, 61, 91,243,229, 23,111,242,147,159,185,201,201, 89,135,169,
- 13, 83, 82,124,247,238, 5,255,214,191,243,179,184,197, 14, 57, 38, 22, 70,225,235, 6, 93,121,118, 27,139,202,153,195,189,154,
-223,124,103, 69, 42,133,197,222, 46,121, 24,168,124,133,119, 6,239, 28, 33,202,134,145,231,173,206, 40,129,222,245, 37,116, 91,
- 68,253, 95,138,232, 91,138, 82, 51,132, 42,255,148,146,103, 52,170,193,251,138,119, 62,248,152,183,223,255,128, 79,191,244, 2,
-203,229,146,231,110,223,166, 27, 6,142, 78, 79,229, 48, 76, 17,103,165, 85,106,185,179,164,105,127,180,253,196, 24,201, 68,188,
-175,240,115, 6,192, 56, 12,116,195,196,184,221, 16, 99,100,103,185,196, 87,158,170,174,232,182,221, 76, 27,137,207,119,189,150,
- 40,204,202, 73,150,133,179,210, 87,208,247,189,188, 99,179,144,246, 50, 81,172,169, 43,182,221, 70,236,104, 74,146,227,234,170,
- 33,230, 72,201,133, 75,223,240,166,239, 80,206,163,180,102,236, 6,208, 72,207,180,157,185,205, 65,232, 43,101, 50, 33,118, 24,
-147,105, 91, 81, 28,175, 87, 43,214,219, 53, 23, 23,107,169,213,204, 16,147,194, 56,131, 50, 21,144,197,109, 98, 12, 41, 12,128,
-150,108,248,170,230,202,222, 62, 71, 71, 15, 73,195, 41, 75,215,209,159,189,203,197,163,111,179, 61,251,128,229,173,207,242,169,
-215,255,109,154,234, 6,167,247,127,151, 76,134,172, 80, 41,115,112,184,135,119, 14,171,192, 24, 40,165, 80,251,134,162,228, 25,
-213, 90,129,176, 78,164,148, 9, 49,147,139,198,105,185,140,186,205, 57,235,237,134,147,147,115,140,174, 56, 56,184,194,114,103,
-143,170,113,132, 81, 66, 82, 54,235, 53, 25, 48,198,177,183, 92, 82, 59, 77,223, 93, 96,129,171,215, 14,185,117,253, 10, 78,111,
- 8,171,123, 12,231,239, 51, 92,220,101,115,126,196, 94, 91,115,227,198, 85,108,217,176, 57,121,155,245,197, 67, 54,231, 27,206,
-214, 27, 66, 40,140,227,150,113,140,132,113, 69,202, 19, 90,123,226, 54, 18,131, 66, 27,168,236, 72,204, 61,138,194, 20, 2,214,
- 57,182,155,141,156,137, 37,163, 75, 33, 23,197,162,169, 89,236, 44,216,108, 37, 37,210, 24, 35,136,171,175,228, 44, 45, 96,213,
- 76,155, 90,113,171,136, 94, 39,224, 43, 73,208, 52,222,146,103, 61,152,113, 21,198, 88, 17,123,206,168,150,132,162, 73, 79,199,
- 48,140,104,171, 81, 40,250,205,134, 2,244,189, 60,159,211, 56, 97,189, 44,146,130, 58, 15,196, 81,146, 14,149, 82,132,105,132,
- 34,195, 73, 83,139,253, 54, 38,161,178,198,126,132,130, 92,186,218,224,189, 37,147,231,225,199,163,180, 32,148,228, 76,229,189,
- 44,173, 70, 49, 12,146,204,152,139,136,231,180,149,108, 10, 41,186, 73,228, 36, 25, 19, 57, 11, 90, 29,210, 12,247,231,132, 82,
- 26,148,232,172, 52, 66,119, 94,234,193,204,225,141, 27,111,168,121, 91, 30, 71, 57, 76, 54, 93, 71, 8,179,207,175,136, 64,204,
- 91, 11,136, 90, 56,165, 36, 31,244,252, 33,116,221,150,190, 23, 65,128,117,158,213,106,197, 24,132,255,117,198,162,157, 23,241,
- 91, 20,139,144, 82,144,178,134, 28,209, 86,130, 33, 98, 74, 51, 87, 81,144,239, 92, 2, 29, 40,178,161,148,140, 68,192, 86,158,
-177,239,168,235, 90,154,205,114,126, 66, 3, 40,107,137, 81,166,193, 49, 76,196, 97, 68, 91, 67,152,164,199,221, 88, 17, 21, 80,
- 10,149, 19,152, 35,134, 32,218, 21,107, 72, 33,145,178,248, 36, 99, 14,236,180, 11, 57,180, 98,192, 59,207,102,189,193,206,106,
-202, 92,102,145, 94,144, 7,170,148, 52, 59, 3, 70, 66,144,200, 87,239, 37,104,101, 49,167,228, 85, 85,197, 98,103, 7,103, 69,
-121, 74, 46,172,215, 43,198, 16, 41, 69,177,172, 27,177,247,104,205,249,209, 49,222,105, 90,165,168, 43,203,222,222, 46,185,192,
-102,125,134,213,133,163, 71, 15,120,248,224,136,205,249,138,211,179, 51, 82, 14,220,216,173,249,247,126,234,121,222,186,119,198,
-209,105,207,131,147, 45,119, 79,123,174, 95, 89,240,175,126,229, 69,222,251,240, 62, 62,142,148,238,130,159,124,253, 37, 76,152,
-248,233,215,111,240,244,142,225,202,194, 49, 20,217, 22,190,242,217, 91,252,149,255,249,235, 20, 45, 23,131,100,134,139, 39, 20,
-192, 24,197, 63,125,243,152,135,167,231, 79,160,196,186, 18,235,154,113, 78, 32, 36, 36,184, 4, 37, 10,213,146, 1,141,192,144,
- 65,162,117,167, 24, 89, 54, 53,206, 11,236,181,179, 20,159,106, 28,122,198,245, 10,131,198, 90,131,138, 29,206, 89, 10,150,146,
- 11,186,241,114, 1,104, 43, 47,147,177,108,182,219,121,155,169,177,149, 76,230,221,197, 26,173,193,105,141,245, 21,149,215, 80,
- 20,222, 91,198, 41,146,139,248,230,149, 85,212,173,188,124,211, 24,233,182, 9,173, 18,127,249, 75, 87,216,247,138,243,227, 53,
-171,117, 15,155, 11,226,197, 41,123,181,225,221,163,158,172, 13, 55,111, 95,227,143,253,248, 11, 92,189,178,199,149,235, 7, 84,
-149,227,221,143,143,248,224,120,224,221, 71,107, 94,125,254,144,175,126,250, 54,215,247, 61, 87,118, 27,106,167,249,205,239, 63,
-226, 87,127,112,193,123, 31, 29,241,218,205,150, 87, 95,185,201,111,190,117,198, 89, 87,240,149,167, 15,145,119,223,125,143, 77,
-215, 73,169,138, 53,130,212,230,242,228,162,206, 37, 11,204,157, 50, 99, 8,160, 4,146,207, 69,160,120,103,133, 59,212, 90, 58,
- 28, 46,219,219,154,202,211,180, 13,171,205,150,239,254,240, 29,118,155,134, 43, 7,251, 60,255,212,109, 30, 62, 62,230,254,163,
- 35,156, 49, 44,118,118,176,198, 82,213, 53, 49, 39,218,186,193, 56,113,145,228, 92,136, 69,106, 48, 55,221,134,113, 8, 88,163,
- 68, 83,162, 21,151, 17,208,221,166,155,203,136, 60, 49,199, 25, 38,119,148,156,232,123,177,108, 94,114,164,221, 32, 27,140,120,
-198, 45, 93,223,163,181,102, 12, 35,139,118, 73,202, 25,111,101, 88, 47,185,176,222,174,133,242, 81, 10,173, 97,156, 38,154,170,
-194, 96,240,190, 34, 71,225,231,173,150, 16, 16,231, 29, 77,211,144,162,124,134,185,100,166, 36,121, 10,171,109,160,219,244,196,
- 24, 72, 69,196,158,122,166, 27,141,154, 83, 16,211,156,190,167,165, 75,226,241,241, 9,155,243, 21, 15,142, 30,146, 82, 98,179,
- 89,115,118,190, 34, 77, 3,251, 7, 11,106,103,209,241, 49,155,243,247,136,212,236,221,252, 49,250,213,125,198,126, 53, 15, 89,
- 9, 84,102,152, 70,198, 41,138, 6, 5,133,115,134, 82, 52,153,132, 54,242,245,208, 96, 93, 75, 41, 2,181,230, 82, 80, 73,224,
-102,239, 20, 67,223,177,217,174,121,244,240, 33,171,213, 10,235, 43,246,246,175,114,120,120,141,102,209, 80,178,156, 79,171,109,
- 79,229, 91,177, 91,117, 35,165, 68,198,110, 67,223,141,120,107, 88, 46, 42, 42, 99,185,216,116,124,114,116,202,217,217,134, 97,
-154,152, 98,161,144,240, 70, 20,253, 10, 89,248,116,209,228,162,200,121,100,217,102, 14, 15, 12,123,187, 21,206, 25, 82, 42,116,
-163,156,207,198, 90,186,237,150, 52, 37, 66, 39, 91,119,209,115, 62,199,248,163,158,241,186,174,233,135,129, 24, 3,198, 72, 99,
-167,175,228, 62,162, 20, 98,146,220,246,186, 18, 33,110,211,212, 56, 35,219,182,210, 6, 20,244,219, 45, 33, 38,156,158,163,179,
-131, 56, 50, 74,129,144, 2, 67, 55,200,146,186,179,192, 25, 81,181,231, 36, 52, 86,152,100, 24,170,156,220, 73,149, 23, 10,175,
-170, 42,156,151,222,243, 39,217,236, 41,161,138, 2, 20,237,178,197, 85, 30,235,141, 64,250, 65,158,151, 24,231,236,130,185,235,
-194, 57, 65, 51,251,105,100, 24,100,136,173, 43, 89, 84, 55,155, 13,227, 48,138,205,214,136, 11,173,174,107, 41,241, 74,242,156,
-135, 48, 17,166,145,113, 18, 23, 71, 1,164,138,217,224,180,160, 90, 57,103,204,213,155,183,223,184,132, 20,156,247,194,103, 86,
-115,137, 70,140,104,101,208, 86, 97,180,148, 95, 24, 99,176,243, 33,190, 94,111,132, 79,205, 25,173, 20,245, 98,137,210,226,235,
-206, 73,218,116, 82, 42,148, 44, 85,136,151, 62, 64,217,132, 3, 99,148, 23,189,223,246,144, 19, 41, 74,101,163,118,179, 13, 33,
- 69,148, 2,163, 52,218,136, 26, 80, 33, 91,118, 76, 18,229,199,255,239,107, 40,235, 40, 73, 14, 12,177,194, 73,248,195, 44, 65,
-149,112,143,113, 36,151,196,101, 27,154,146,125,155,113, 28, 69,113, 95,120, 34,232, 82, 74, 17,115, 70, 21,129,123,166, 41, 60,
-161, 30, 46,185, 76,173, 21,139, 69, 75, 12,129,156,149, 64,245,117, 69, 85, 73,250, 87, 93, 55, 24,165, 72, 8,220, 40,193, 49,
-242, 34,142, 99, 79,158, 38, 22,222,145,195,128, 43,137,179,163,135,228, 56,177,119,101,135,177,219,178, 89,175,216, 14, 61,167,
- 39, 39, 76,211,192,197,197,185,248,214,167,128,214, 18,182,160,173, 34, 38,240, 86,241,159,254,133,159,228,237, 15, 30,242,224,
-180,231,108, 8,220,216,109, 88, 58,205,189,243,192, 79,124,254, 6,191,253,237,251,188,119, 60,178,176,153,195,214,177, 61, 95,
-241,210, 43,207,210,238,239,145,114,198,228,194,217,122,226,191,255,229,239,210, 24,131,175, 28,218, 56, 17,251, 81,112,206,227,
-141,198,233, 34,225, 45,219, 13, 57, 79, 56,223, 96,236, 44,134, 75,137, 88, 10, 74, 43, 98, 76,172, 87, 27, 98, 8,148, 40,124,
- 21, 57,163, 42, 79,227, 28,221, 48,208,182, 18,219,170,141, 97, 88,159,179, 89, 93,112,251,112,143,167,175,182,220,187,247, 0,
- 79, 33, 39,133,170,101,107,149, 24, 98,201, 46, 56,187, 88,203, 97,156, 19,214,137,104,210, 20, 69, 70, 99,172,134,148, 72, 41,
- 48, 13, 61,113,144, 42,199,166,174,112, 94,244, 15, 20,200,243,115, 84,102,139, 78, 78,145,255,236,107, 79,243, 51,159,187,201,
-171,159,185,195,207,124,245, 21, 62,255,218, 11,216, 27,183,121,234,165,231,249,252, 79,124,129, 47,124,238, 54, 79, 63,117,200,
-215,254,196,235, 60,119,231, 22,223,254,230, 7, 60, 26, 18,183,174, 44,248,254,135, 39,124,114,209,203,176,154, 3,255,240,219,
- 31,241,149,207, 60,197,127,247, 75,111,242,243,255,237,175,241,191,126,253, 49,125,125,192,255,242,207,143,248,175,255,238,183,
- 24,207, 54,252,204, 23,111,243,207,222,185, 96, 10, 35,149,175, 32, 11,207,152, 75, 17,196, 38, 37, 74,153,139,147, 46, 7, 95,
- 5, 97, 30,134,225,210, 70, 40, 27,130,210,151,217,238,162,154, 87, 90,254,212, 74, 63,177,174,166,148,248,240,147, 7, 44,219,
-134, 69,211,112,231,246, 77,254,224,135,239, 80, 80,180,109, 75,204,145, 20, 34,117,221,112,233,145,119, 78, 50,180, 43, 39,137,
-130, 18,178, 33, 57,234,109,219, 80,123, 15, 73,177,237,182, 52,237,130, 82,230,115, 32, 23,194, 48, 60, 25, 0,199, 97,224, 50,
-116,202,213,126, 70, 26, 10, 59,187,187,178, 1, 25, 3,200,123, 39,170,112, 81, 15, 43,163,153,134,203, 86, 64, 17, 51,229, 44,
- 27,141, 49,134,172,228,189, 46, 26,134, 78,130,155, 72,153, 24,203, 12,169, 66, 85, 9, 10,224,230,207,101,103,113,192,118, 20,
-161,173, 65,163, 84,134, 98, 80, 74,158,145, 56, 11,121,149, 50,128, 28,230,117, 93,179,104, 29,253,212, 19,199,136, 54,224,140,
- 98,219,201,129,126,245,218, 21, 20,145,254,236, 99,212,112,159,208,221,147,140,112, 13,245,194, 73,170,221, 80, 24,167, 8, 69,
- 99,148, 34,150,132, 38,113,120,176,203,222,206,130,146,178,228,101,100, 37,153,226, 51,253,152,179, 12, 86, 40, 89,198,202, 76,
-177,104,165,136,211, 72,183, 93,113,252,248,136,227,227, 99,142, 79,206,232,123, 41,226,241,222,178,237, 4, 22,158,210,196,241,
-209, 57,219, 97,100, 12, 35,231,155, 45,167,171,129,117, 47,233,142, 70, 59,140, 5,173,244, 92,110, 37, 86,171,164, 10, 97,234,
- 9, 99,196, 85,176,220,209,236,239, 58,118,118,229, 25,117,222,177, 90,175, 24,134,158,146, 37, 59, 66,228, 69,162, 8, 55,222,
- 18, 98, 98,111,119,201, 56, 4,198,105,124,130,206, 12,195, 40,104,146,147,114, 22,235,172,164, 64,230,252,196, 45,101,140,104,
-150,172,181,148,172,232,135,142,105,144, 75,174,170, 36,112, 71,161,176,109,133,243,114, 25, 75,120,151, 17,129,182, 42, 18,174,
-100,228,142,169,171, 26, 41, 4, 74,104,165, 89, 46, 90,180, 86,164, 20,159,136, 67,101,144, 81,180,109, 35, 89, 44, 69, 42,178,
- 47,243, 82,226, 76, 51, 41,138, 92,176,243,215,181,202, 96,140, 37,151, 36, 97, 55, 69, 52, 47, 0, 37,101, 74,148, 0,168, 68,
- 66, 35, 98,215, 16, 2,227,165, 6,129,140,209,134,202, 75, 84, 51,243, 59,226,156, 36,211,149, 82, 48,214,227, 42,137, 34,247,
-181,147,193,121,255,234,181, 55,180,117, 92, 86,125,250, 74, 38,159, 97,232,101,178, 77,137, 52, 12,140, 97,148, 23,218,154, 31,
- 97,249,169, 80, 74,146,214,164,182,197,104, 77,137, 50,113, 85,149,164,139,229, 52, 79,150, 70, 67, 41,148, 4,117, 83, 19,194,
- 68,142, 17,173,138,168, 25,189,167,169, 43, 10, 69,248,121, 99,101, 87, 47, 2, 57,100, 20, 58, 39, 54, 93,143, 51,162, 4,141,
- 41, 17,114, 34, 71, 41, 61,153,198,137,148, 11,222, 87,196, 56,137,223,214,206, 65, 2, 74,106,242,140,214, 84,190,198, 91, 63,
-115,190,242,162, 59, 43, 86, 50, 50, 52,139, 70, 30, 12, 35, 23, 71,229,165, 14,182,170,156, 64,155, 57,179, 92, 74,159,119, 46,
- 50,245,139, 22, 64,242,199,181, 22,229,126, 76, 34,244,240,222, 11,140, 26, 36, 72, 35,246, 29, 67,183,162, 63, 63,147, 48,136,
-245, 5,105,234, 8, 97, 22,156,105,197,197,217, 74, 38,241,186, 18,207,124, 9, 79,224,155,152,227, 44,140, 16, 62,102,247,202,
- 62,190,118, 16, 19,127,253, 47,188,206,195,251,231,220, 63,186, 64, 25, 71, 85, 50,215,246,107,206,250, 76, 84, 53, 95,126,237,
- 14,159,187, 85,243,206,135,143,248,228,209,154,139,245,192, 79,255,244,107, 76, 33,161, 83,145,174, 97,173,248, 31,254,222,247,
-132,187, 87, 26,107,180,136,242,128, 16, 39,217,206,149,108,241, 86,137, 66,118, 28,122,198,152,136, 81,132, 39,146,126, 52,206,
-209,188, 9,141, 92,230, 69, 21,176, 22, 99, 61, 49, 39,129, 98,103,168,245,248,163,143, 88,157, 93,112,243,234, 33,215, 23,150,
- 78, 53,212,198,114,124,122, 65,181,187, 20, 17,102, 41,180, 85,197,114,103, 23,109, 61, 39,143,143,169, 42, 71, 85,137,144,176,
-100,201, 86, 71, 23,225, 41,181,193, 58,199,114,119, 23,171, 69,112, 57, 77, 19,149,175,104,171,150, 97,154,112, 86, 32,207, 66,
- 33,160,249,133, 31, 59,224,166,141,188,191,245, 60,124,188,226, 96,111,193,171, 47,223, 0,237,248,213,223,120,135,183,222,252,
-136, 46, 91, 94,127,253,121,140,130, 95,255,167,111, 49,110,183,220,190,190,224, 68,213,156,159,172,121,247,164, 99, 61,102, 30,
-175, 2,143, 47, 70,254,206,111,188,205,239,188,117, 4, 64,197,196, 65,219,112,101,233,232,183,107,254,241,155,247,121,120,178,
-226,249,167,175,240,193,209, 6,107, 29,253, 52,112,250,248,132,103,159,186, 77, 83,123,180, 17,212, 66, 46, 51,201,109,160,128,
-181,142,146, 51, 49,101,148, 42, 20,212, 19, 88, 94, 43, 48, 86, 42,138,115,150,119,176,114, 98, 23, 51, 90, 34,124, 99,138, 28,
-159,156, 50,244, 3,109,219,114,176,187,195,131,147, 83, 66, 16,119,137,212, 17,203, 65,180,217,110,132,199,110,151,244, 67, 39,
-195,188,213,148, 40,104,218, 56, 74, 40, 81,200,137,186,170, 24, 58,169,210,172, 42,201, 42,112,214,211,247, 29,206,137,240,231,
-114,179,208, 70,104,164,203,124,130,113,144, 66, 11,239, 37, 17,210,215, 53,181,151,128,168, 48,142,104, 5,190,146, 84,189,148,
-196,173, 99,180,158,173,179,210, 32,183,186, 16,193,159, 20,121,120,166, 32,145,164,250,178,157, 49, 10,221, 83,114,194,184,194,
-110,123,141,110, 28,184,116,115,136,229, 12,174, 29, 30, 82, 47, 26,134,190,135, 82,112, 94,225,140,151,172,240, 4, 26, 77,162,
-144,167,196, 48,141, 52,149, 97, 24, 2,143,142,206, 56, 57,185, 96,179, 21,180, 37, 14,107,249,255,198, 45,155,213, 57, 41, 26,
-158,121,246, 89,114,145,110,132,172, 21,196, 12, 69,172,170,155,174,103, 24, 34, 33, 22,114,129,102,206,203, 15,179, 87, 58, 35,
-225, 40, 10,135,177,106, 30, 58, 68, 44, 88,207,240,112,219, 84,180,181,195, 57, 77,154, 70,210, 20, 33, 11,154, 82, 47, 12, 97,
-144,180,208, 97, 28,200, 33,208, 56,197,254, 97,139, 53, 94, 46, 37,163,216, 93, 46,217,221,113,224,119,241,139, 37,121, 74, 88,
- 91,248, 67, 95,254, 18,215,174, 47,169,189,158, 59, 58,102, 81,162, 82, 12, 51,106,187, 88,182,104,165,102,219, 94, 79,204,145,
-113, 24,165,211, 92,219,249,174,145, 18,146,237,118,141,171, 43, 4, 25, 20,218, 33,167, 44,209,229,198,161,209, 96, 52, 70,139,
-248,184,160,158, 8,199, 82, 22,189,213, 24, 38, 22,139,197,156,124, 40,142, 23,103,173, 84,109, 15,129, 24, 39, 25,148,130,216,
-163, 83,146,231,180,242,179,242,190,150,122,226,122,182, 66, 59, 43,137,138, 10,113, 4, 25, 12,174,146, 64,172,203, 58,108,227,
-220, 60, 52,107,180,250, 81, 63, 74, 14, 9,109, 53, 80,230, 33, 91,162,200,157,183,144, 5, 93,186,228, 24,164,175,162,162,242,
- 14,103, 12, 18,228, 53, 48, 77, 1, 55,223, 27, 90, 41,172,113,248,218,227,172,166,114, 66, 61, 90,111, 69, 49,159, 37,252,169,
-228,140,217,187,118,237,141,156, 11,109, 83, 51, 5,233, 46,175, 42,105,191, 73, 89,166,223, 39,155, 43,136, 88, 44,198,121,202,
- 45, 79,188,224, 2,251, 5, 66, 22,137,190, 88,200,252,252,175, 68,240, 57, 47, 29,202, 18, 21, 42, 91, 93,219,182,144,211, 12,
-147,143, 88, 43, 63,104, 74, 73, 46, 89, 13, 34,206, 19,191, 58, 32,193, 0, 97,132,114,153,232,230,177,222, 99,140, 23,127,173,
-115, 52,117, 67, 83,215, 72,210,155, 76,118,214,201, 67, 96,140,168,204, 67, 76, 79, 80, 5,241, 26, 43,180, 17, 91, 15, 74, 38,
-243, 24, 38,180, 49, 51,119,193,147, 11,157,156, 9, 57, 75, 36,105, 41,228, 60, 7,101,228, 66,215,109,197, 2, 23, 35,218,104,
- 66, 16,127,172, 85,176, 93,157, 50,117,107,166, 77,143,177, 26,103, 69, 4,103, 43, 75, 74,112,120,253,144,148,147,108,201,139,
- 5,149,247,140,253, 64, 93, 45, 68,148,152, 50,237,156,220, 84, 55, 13,139,189, 29,198,113,224,248,108,197, 78,229,248,115, 47,
-239,241,222,221, 99,182, 17, 2,133, 62,100, 14,118,106,214,219,158, 76,225,254,241,150, 43,215,175,241,252, 83,251,252,218,119,
-238,113, 17, 44,255,250, 79,189,194,227,109, 34,132, 68,235, 44,109,235,249,219,255,207,119,241, 51,199, 89,148,130, 44, 47,173,
-213,154,109, 63,224,156, 69,106, 60, 33,199, 2, 42,227, 50, 84, 59, 11,154,166, 69,105, 17,110, 45,218,150,161,239, 81, 41,145,
-141, 97,127,127, 95,120,246, 36, 69, 36,148, 76,183,221,112,113,252, 8,163, 10,159,253,194,103,120,249,133, 79,241,226,231, 94,
-227,124,219,179, 62,121, 68, 23, 10, 86, 87,104,163,240, 77,141,245, 13,174,174, 88, 95, 92,176,216, 89,176,179,179, 75, 65,144,
-144,105, 10, 96,196,174,232, 27, 73,251,203, 90,182,132,245,166, 71,250,140, 45, 41,203,168, 88, 87, 21,139,157, 22,107, 43,162,
- 82,188,180,111,248, 11,183, 70,206, 7,195,218,120,180,130,123, 15,206,216, 76,146,234,180,238, 39, 30,156,245,188,247,201, 5,
-239,127,178,230,124,232,248,254,221, 53,235,108, 88,120,203,199,103, 29, 63,188,123,194, 39, 23, 19,232,140,215, 6,173, 50, 65,
- 73,159,186,209,114, 56,253,248, 87,191,192,254,173,107, 92,189,118,149, 91, 55,111,112,239, 34,210,245, 35, 23,155, 14,173, 53,
- 49, 6,218,186, 97,117,113,193,178,105,177, 70,132,113,218,104, 25, 54,103,205, 66, 46,146, 58,152,139,188, 29,114,159,107, 64,
-150,249, 82,202,140,154, 21,200, 32,162, 90, 5, 74,202, 95,114,206, 12, 33,112,118,177,162, 27, 70, 84, 73, 4, 52, 99,140, 84,
-222, 49, 76,210,174, 23,230,195, 80,105,177, 8,214, 77,139, 49, 14,111, 36,210, 82, 41,249,158, 83,148,252,238,190,235,229,114,
-156,191, 86,138,114,168,250,186, 97, 26, 36,106, 56,151,140, 55,150, 41,140,226,122, 40,242, 30,134, 56, 1, 18,199,106,173,163,
-223,110,231,128,160,106,182, 10, 9, 79,170,181,192,192,214, 73, 0, 81, 63, 77,115,110,131,102, 26,167,249,130,200,120, 39,194,
- 92,129, 68, 35,211, 40, 23,124, 65,130,147, 20, 25, 99, 50,139,197,174,156,103,121,214,225, 16,153,146, 52, 85,134, 73, 50, 60,
- 66,152,168,235, 10, 99, 45, 99, 63,144,138,162,148,217,143, 78,102,154,164,196,233,153,219,183,105,218,134,166,242,148,162, 56,
-184,122, 13, 20,228,172,201,168, 89, 20, 92,211, 54, 13, 79,221,188,193,193,238, 2, 41,206, 82,144, 18,227, 36, 2, 79,171, 53,
- 82, 70, 50,176,191, 92,178,179,183,139,213,210,150,153, 98, 98,119,119, 15,230,203, 68,232,129, 12, 69, 97,156, 20,128,108,187,
- 94,104, 49, 36, 38,252,157, 0, 0, 32, 0, 73, 68, 65, 84,235,200,218, 96,172, 38, 39,136, 83,164, 31, 38, 98, 54, 56,171,240,
-149, 52,141,105, 11,227, 32,159,149,119, 30,215, 46, 89,109,122,198,144,217,158, 60, 34,229, 45,139,182, 37,134, 76,211,236, 83,
-121, 79, 74, 35, 6,141,182, 90, 58, 23,188, 67, 25, 77,237,106, 36,197,109, 75, 46,226, 92, 80, 74, 17,163,120,187, 21, 82, 73,
-124, 9,211, 79,163, 60, 63,195, 52,208,247,146,239,209,119, 61, 49, 78, 40,109,176, 90, 19,166, 72,201,226, 74,154,130, 36, 25,
- 90, 43, 63,191, 82,115, 70,198, 48,226,189, 99, 12, 3,146,248, 38,129, 93,114,128, 3, 48,111,194, 10,165, 68,201, 63, 14, 17,
-239,100, 1, 64, 41, 65, 45,141,216,207, 36, 0, 75,129, 18, 93, 75,206, 25, 40,164, 84,136, 33,146,147, 36,142,166, 48, 39,186,
- 25,205,101,186,160,214,134,156,132, 42,139,229, 50,198, 57,130, 50,148, 34,165, 81,222, 9,165,124, 25, 65,238,156,133, 92, 24,
-227,132, 46, 18, 10,212,245, 18, 80, 38,129, 99, 80, 84, 38, 77, 51, 21,150,196, 30, 58,142, 19,206, 59,204,141,219, 79,191,145,
- 75,194,122,129,227, 52,224,125, 69,136, 18,133,167, 99,164,110, 26,234,170,166,148, 34, 17,157,222,203,131, 54, 72, 3,218, 48,
-141,172, 86, 43,182,219,142,161,235, 8,211, 32,226,185, 92,152,194,196, 48,116,243, 70, 81,232,186,142, 41, 76, 84, 78,184, 10,
- 16,133,189, 49,154,202, 75, 78,180,178, 26, 10,164,156,229, 0, 42,242,155,168,172, 68,163,106,107,105,170, 90, 30,202,105,148,
- 3, 99, 10,132, 56, 49,244, 18,127,104,140, 65,147, 73,185, 60,137,102, 13, 65,138, 35,140, 17, 33,133, 22, 92,232, 73,217,199,
- 20, 3, 90, 89,198,105, 96,232, 39,114,152, 4,130,177,150,205,118,246, 29, 54, 13, 41,103, 66,140, 79,236, 77, 85, 45,159,141,
-117, 94, 30, 86,173,241,214,226,170,138, 28, 37, 45,106,234,123,226,102, 69,154, 36,145,207,213, 21,139,229, 18, 87,139,215, 63,
-103,133,247,162,252, 94,157,175,169,219,138,237,118, 67,142, 73,106, 67,189,136, 64,180,213,120, 91,211, 79, 61,219,109,143,175,
- 29,117,189,203,237,155, 55, 25,198,196, 83,187,153,143,128,167, 66,207,117,167, 56,233, 2,123,251, 13, 99, 86, 92, 91, 8, 52,
-125,180, 25, 25,116,203,181, 70,243,173,251, 3,231, 83,164, 11,153,245,152,120,229,206, 62,239,191,251,128,255,237,183, 63,192,
-168,130,114, 6,173, 29, 57, 10, 60,149,149,116,108,143, 83, 64,101,225, 30,115,201, 24,101,196, 65, 16, 37,233,105,103,111, 95,
-224, 95,173,240,214, 50, 4, 81, 30, 55,173,184, 14,148,146, 11,166, 91, 95,144,183, 91,190,252,233,155,252,236,159,248,163,124,
-230,229, 23,120,250,217, 27,196,169,231,195,247,223,231, 43,175,127,154,211, 62,201,133, 80,137,179, 96, 26, 7, 46, 86, 23,180,
-117, 77,179,187, 16,187, 87,201, 51,140, 39,141,110,125,215, 81, 91, 75, 74, 5,109, 13, 77,179,224,248,248,152,202, 91,156,119,
-226,203,214,134,152, 19, 83, 63,200,179, 57, 26,254,212,181,145, 91,215,118, 57, 9, 5,172, 97,175,245, 76, 70, 51,132,204,118,
- 72, 12, 41, 83, 45, 26,174, 63,119,141,118,191,225,147,143, 86, 68,103,121,254,133,235,220,188,115,141,183,190,255, 9,167,219,
-129, 71,171,248,100, 99,206, 74,161,234, 6,175,228, 64, 31,134,145,189,221,150, 23,110,222,226,165, 23, 94,224,217,103,239,240,
-226,157, 59,188,250,202,107,188,112,235, 22,215,175,239,177,108, 37,228,226,250,222,190, 64,135, 81, 26,165, 52,138,152, 50, 32,
- 8, 81,201,133,148, 5, 30, 44, 5,164, 9, 79, 46,241,203,128,154, 31, 29,168,160,141, 92,150, 49, 73,247,185, 66, 46,254, 41,
- 72, 62,251,249,197,154, 24, 35,182,150, 12,135,237, 86, 90,163,140,210,120, 87,205, 73,145, 98,247,220,174,215,140,147,148, 64,
- 89, 35,161, 25,165,100, 74,146,142,132,170,174,209,198, 48, 77, 18, 40,148,146,188,207,198,206, 60,104, 46,243,115, 32, 98, 81,
-173, 45,227, 36, 73,137,195,216,211,212, 13, 90, 23, 17, 49,105,203, 56, 78, 52,245,220,131,128,148,106,132, 40, 84,154, 64,211,
-153, 20, 4, 37,146,247,175,166,118,158, 24, 34, 83,144,246, 66,113, 7,104, 80,138, 24, 3, 49,204,231,194,216,163, 84,160, 93,
-104,154,166,101,119,103,193,206,114,143,113,140,156,175, 86,196, 80, 68,156,151, 36, 55,222,251,154,110,186,236,196,136,160,120,
-242,121, 91,109,104,155,150,245,249, 57,103,171, 19,114,154,184,122,112, 5,140,197, 26,241, 74,147,179,112,181, 70,241,254,135,
- 31, 51,134,204,114,167,225,252,108,197,181,235,215,209,202,204,130,189,140, 85,144, 74,100,181,190, 32, 77,137, 97, 74, 18,218,
- 18, 38,166, 48,177,191,183,135,162,204,203,145,151, 1,219,202,187, 18,227,136, 49, 21,168, 66,140,153, 56, 77, 88,123,233,220,
-113,242, 89,206,103, 74,179,239,201, 67, 70, 27,241,145, 23,219,112,114,118, 78, 24, 34, 90, 5, 82,232,231, 75, 78,122,238,173,
- 49, 28, 28,222,164, 31,214,108,214, 23,132,146, 80,128,243,213,124, 30, 75, 80, 87, 41,242,179,138, 82,221, 97,157, 67,219, 31,
- 21, 52,237, 44,151, 40, 43,246, 86,178, 56,148,166,105, 34, 78,153, 66,158, 7,198, 8, 40,218,166, 65,198, 49, 41,114, 49, 90,
-134,249,166, 93,224, 43, 7, 69, 2,141,140,209,164, 92, 40, 89,212,134,117, 93, 9,194,107, 61,149, 19,173,136, 46,133,166,109,
-197,221, 21, 47,235,132,133, 94,213, 70,232,170, 20, 35, 41, 77,228,185, 13,173,164, 4, 69, 60, 53,185,136, 37,249, 50,111,228,
-146,198, 3,200,162,120,198,217,217,133, 98, 61, 86, 9,239,173,200, 56,237, 73, 57,201,160,172, 20, 69, 43,166, 57,147,165, 36,
- 41, 41, 18,237,138, 60,207, 49, 73, 64,214, 56, 10,250, 57,133,137,156, 69, 47, 32,237,156,162,126,215, 26,204,149, 27, 55,223,
-208, 64, 81,242,129, 89,227,184,244,253, 57,231, 69,216,101,140, 8,186,102, 65, 67,152,166, 39,240,197, 56,202, 7, 97,125, 69,
- 63,183, 96, 21, 36,167,246, 98,117,129, 72,248,211, 92,115, 39,155,148,209,210,246, 20, 83, 20,190, 44, 78,140,253,128,247,118,
-134, 81,107, 50,242,119,170,153,223, 15,147, 4, 15,148,146, 81, 69,188,159, 5,168, 91, 49,221,251,202,163,208,243,244, 22, 8,
-227,248, 68,205,168,103,200, 38,134,137,144, 4, 2,218,246,226,203, 69,203,180,102,157,197, 91, 71, 81,144,194, 68, 46, 2,213,
-199, 41,144,201, 79, 32, 45, 73, 9, 26,169,106, 81,206, 86, 94,146,227,156, 23, 37,175,115,210, 50,165,140,240, 45,214,106,202,
-250, 19,158,185,234,184,121,243,128,221,218,240,218, 23, 94,225,225,221,135,172,186,158,166, 94, 80, 20,104, 5,125, 55, 48, 78,
-145,182,173,112,182,198, 56, 75,214,130,145,212, 77,203, 24, 7,206,207,215, 24,239,112, 85,195,193,254, 62, 74,105,202, 56,176,
- 94,111,201,202,240,149,189,129,127,255,199,110,178, 58,186,160,105, 43,150,113,226,246,149,150,227,190, 48,197,204,162, 50,124,
-114,220,177, 13,129, 59,207, 95,103, 79,103,254,199, 95,121,155,207,191,124,157,131, 74,241,209, 15, 63,226, 95,252,214,183,248,
-205, 7, 2,173, 78, 67,160, 89,180, 24,132,139, 82, 40,116, 1, 95,121,134,105, 34,165, 68,229,107, 48,134,126, 59,208, 54, 2,
-119,118,227, 72, 49,138,113, 20,241, 92, 70, 34,118,173, 53,172,207, 78, 25, 46, 46,232,251,158,102,236,248,218,237,154,157, 59,
-207, 97, 43,207,221, 15,239,114,255,189,143,104,134, 83,142, 30,175,216, 61,216,101,183, 93,112,255,147, 7, 12,195,200, 56, 73,
-121,135,177,138,213,102, 77,127,118, 65,140, 3, 10,135,115,208,173, 54, 20, 3,222, 40,182,155, 11,198, 52, 97,149,161,204, 52,
-207, 48,140,104,149, 41,200, 37,128, 42,196,144,201,227,200,178, 86,252,165,175,221,225, 27,247, 35,215,246,119,185,125,208,176,
- 29, 35,215,158,186,194,197,102,226,209,201,154, 27,135, 75,206,207,183,248, 69,197,250,104,205,163,199, 43,142,207, 7,158,221,
-205,252,189,111,222,231,123,239, 31,209,107,205,201, 86, 54, 69,138,162, 88,141,182, 21, 49,102, 82,201,168,146,217,108, 70,124,
-211,240,224,232,136, 97,156,248,240,227,187, 60, 56,186, 71,213, 58, 30, 62,184,203,149, 27, 75,110,221,185,202,176,150, 60,119,
- 51,111,234,227, 52,205, 27,223,172,202, 77,146,199, 96,180,216,247, 46,189,220, 41, 11,178,166,129, 48, 15, 1,133,121, 75,138,
-153,152, 34, 83, 76,179,248, 72,218, 4,167,249,114,180, 64, 40,138,126, 16, 72,222, 90, 71, 63,191,231,151, 29, 6,206, 57,198,
- 65,222, 19,231, 28,221, 56,204,200,154, 70,207, 97, 52, 33, 8,220,105,180,193, 58, 47, 98, 34, 43, 5, 78,165, 8,207, 94,213,
-146,222, 21, 66,198, 24,233, 98, 32,201,249,177,221,110,197, 47,239,188, 12,130, 70,156, 45, 97, 26, 73,185,208, 46, 22, 56,103,
- 81,104, 54,235, 53,138, 68,211, 46,168,107,241,244, 86, 85, 67, 46,179,109, 42,103,156,175,160, 20,148, 1,149, 51, 20, 48,206,
- 98,144,204,237,202,123,233, 63, 79, 61,168,128,115, 25,223,238, 49,246,114,121,146, 19,164,130,118,142, 91,183,110, 83, 89, 47,
-219,229, 60, 92,169, 34,195,252, 98,185, 64, 27,135,246,142,177,159, 24,167, 34,135,186,175, 24,199,158,139,243, 11,134, 97,100,
-181, 90,211,245, 43,194,208, 51,197,137,245,234,130, 92, 68,148,120,229,234, 13,198, 56,205,195,153, 12,108, 86,201, 96, 97,108,
- 77,200, 96,181, 34, 37,113,150,236, 52,158,131, 43, 7,178, 33,150,194,122,117,206,102,179,229, 50, 71,195, 59,169,161, 45,104,
- 82,142,108,183, 29, 25,216, 89,212, 84,190,166,104,136,147, 84,120, 42, 83,179,237, 38,182,219, 21, 87,118,106,110,220,186,134,
-213,154, 24,164,173, 50, 23,141,202, 25,163, 21,198, 89,110, 92,127,154, 82, 18, 97,146, 66, 18,237, 36, 46,181,169,235, 89,236,
- 42,119,138, 50,179, 29, 18,216,110, 58,194, 36, 73,159,190,170,230, 51, 84, 58, 33,140, 21,254,187,109, 91,218, 86, 6, 49, 9,
-180, 74, 72, 93, 12, 79, 4,215,214, 73,118, 7,136, 77,110,156, 41,148, 28, 5, 37, 26,198, 17, 82, 18,240, 42,101,225,188,231,
-239, 71, 27,201,136, 87, 86,114, 32,172,147, 97, 34, 4,201,104,177,102, 30, 82,179,184,170, 40, 69,242, 5, 0,138,216, 13, 1,
-196, 82, 37,209,229, 40, 69, 70,138,185, 64,158, 59,209,101,105, 64,129, 46, 92,210,103,105, 70, 87,148, 81,228,152,169,171, 70,
- 62, 43,167, 69,220,107, 13,206, 24,140, 19,143,127,201, 82,114, 22,130,252,153, 98, 36,132, 17,235, 60, 85,229,136, 89,222,115,
-115,120,227,230, 27,121,158,216,189,243, 79,124,129, 74, 41,169,202, 84,122,134,157, 2, 74,171,217, 50, 35,124, 67,179,216,145,
- 45, 34, 37,172,146, 15,123,156,228, 65,204, 89, 38, 25,129, 56,100,155, 19,155,152, 76, 57, 50,101, 11, 92, 81,178,112,114, 49,
-202, 37,110,172,157,197, 45,145, 28, 5, 10,243,222, 83,148,136,127,156,151,239,161,118,238,137,135, 79, 41, 0, 41, 86,185,140,
- 15, 20, 72,166,208,247, 18, 90, 48, 78,129, 48,206,125,184, 37, 51,133,132,168,215, 3, 83,148,224,140,161,239,169, 23, 11,185,
-156, 42,129,104,198, 49,160,181,194, 59,177,187, 25,109,225,114, 35, 82, 82, 49,232,156, 52,189,153,121, 11, 48,136,143,119, 89,
-182, 76,219, 11, 62,251,249,207,176,187,191, 43, 97, 50, 97,228,229, 87, 94,224,171,255,202, 31,230,252,244,140,213,106,133,171,
-106,180, 41,248,202,210,119,115, 79,123, 85,129,115,132, 49,145,179,162,170, 37,107,122,209, 46,161,204,214,194,156,240,174,102,
-231,202, 33,203, 69,139, 61,255,132,159,248,252,211,248,202,241,240,116,203,160, 12, 59, 41,114,231,160,229,189,147,129, 71,219,
-136, 93, 56, 94,125,241, 58,167,155,200,151,126,236, 57,222,124,231, 19,126,235,221, 19,126,243, 91,159,240,253,187,231,108, 98,
-225,131, 73, 20,160,139,157, 37, 41,202,229,167, 84,193, 42,197,152, 35, 74, 43, 42,231,229, 50,113,226,243,188,108,109, 27, 99,
-196, 21, 73,222, 83, 70,202, 11,188,213,196,190,103,245,232, 1, 97, 18, 33,224,157,167,238,240, 66,119,252,255, 49,245, 38, 65,
-150,101,247,121,223,239, 12,119,124, 83,206, 83,205,213, 85,213,232, 9,221,232, 6, 26, 68, 3, 4, 65, 16, 2, 5, 18,148,194,
-146, 77,209, 33,135,229,240, 20,146, 67, 22,195,246,206, 11, 7, 54,142,240,214, 27,109,188,241,194, 86,200,178, 77,219, 52, 45,
-135, 69, 91,164, 8,142,104,140,221,232,121,170, 57, 43,231,151,239,189,251,238,120,206,241,226,127,179,160, 70, 32,186, 17,168,
-206,202,124,117,239, 57,255,225,251,126, 31, 43, 47, 92,103,230, 39,156,220, 59,101,103, 99,139,168, 46,249,236,188,230,209,209,
- 49,105, 54,225,157,247, 63, 5, 87, 83, 21, 75,162, 84, 82,255,102,231, 11,140,119,140, 55, 87, 25, 12,215,232,218,138,131,131,
- 35,210, 65, 74,108,228, 32, 49, 64,164, 13,109,111,185, 90, 27,143,136,179,156,233,233, 28,229,101, 42,213,182,178,163, 62, 57,
- 17, 32,199,223,124,121,139,131,211,138, 75,155, 9,222,196,172,236,172,240,204,222, 26,135,211,146,237, 73,206,234, 40, 99,144,
-192,225,147,130,163,179,130,214,138, 40,107,111,109,133, 70,195,217,162,226,241,172,161, 44,165, 24,148, 78,221, 18,140, 2, 39,
- 9,113, 73, 38, 49,137,207,220,186, 74,177, 44,250, 98,185, 65, 91,205,217,233, 9, 93, 72, 56, 62, 58, 3,175,136, 76,130,111,
-127, 17,150, 2, 32,153,206, 1,130,140,250,146, 68, 96, 36,242,162,203,179,237,131, 8,167,154,174,235,119,238, 34,168,147,174,
- 71,172, 62,242,247,154,249, 98, 65, 81, 44, 69,104,216,143, 30,163, 52, 37,201,114,218,186,195, 68,150,174,174,201, 7,131,254,
-243,146,241,101,221,246, 62,220, 68,216,211,105, 28, 97,180,208, 40, 47,126,127, 17,188,201,129,164, 16,223,177, 96, 59, 37,105,
- 80,194,138,106, 4, 6,212,144,231, 57,117, 93,147, 36,169,224, 67, 59, 79, 54,200, 81, 64, 91,213, 96,196,211, 27, 66, 0, 5,
-174,237, 88,214,203, 94,196,234,122, 43,156, 20,111, 89,150, 82, 87, 13, 73,150,128,151, 41, 69, 20,197, 68, 70,227,130,176,182,
-117,255,185,169,128,136,158,156, 8, 49, 37,184,163,194, 90, 88, 93,217, 70, 41,241,152,163,197,130,151,166, 17,129,142,141,205,
-109,210,124, 64,150, 38, 76, 70, 3, 38, 43,235,180,222,177,152,139, 43, 0,101,208, 70,129,130,209, 32, 71, 5, 77,217, 84,116,
-173,116,126, 77,211,209,120,135,198,200, 88,188, 3, 27,193,198,218, 58,222, 7,202,106,137, 81, 6,107, 64, 91, 75,221, 54,100,
-113,254, 84, 11,164,145,113,240,178, 89, 82, 87, 53,190,147,196, 59, 71, 36,107, 80, 20, 4, 97, 91,232, 40,198, 32,216, 93, 31,
- 68,135, 96, 99,177,128, 5, 45,225, 42, 77, 7,179,233, 49,205,114, 38, 69,162, 71, 52, 11, 86, 19, 16, 52, 56,202, 96, 34,129,
- 28,137, 32, 83,177,182,190, 75, 80,142,162,152,202,222, 60,207,159, 78,135, 22,139, 57,218, 26, 66,240, 44,151, 75,186, 78,214,
- 44,113, 28,209,182,194, 89,215, 74, 38, 24,109, 35, 17,217, 89, 38, 25, 3,210,141, 27,186, 78,138,136, 36, 77,104,218, 6,231,
- 58,241,169, 39, 6,213, 23, 59,109,211, 17,144, 98, 77, 68,179, 2,104,210,218, 18,160,223,167, 55,212,109, 43, 29,183,162,215,
-216,136,123,196,154, 62, 2,182,243, 8,244, 76,238, 57,133,162,108,132, 79, 66,144, 79, 85,166, 50, 30, 77, 32,120,240, 29,178,
-114, 12, 30,215,201, 90, 76,222, 73, 73,113,211, 70,222, 5,107, 45, 86, 9,215,196, 41, 48, 90, 38, 14,109,211,208,182, 53, 1,
-232,154, 6,101,100,221,224,250,247, 72,107, 69,218,139,145,149,209,184,182,195, 59, 89, 1,180,109, 43,133, 89, 8,132, 0,102,
-125,107,251,123,114, 89,246, 68, 52,163,233,154, 94,112, 96, 52,224,169,170,138, 36, 75,196,151,158, 10,136,197, 70, 34,106,144,
-113, 12, 44, 22,146, 53,174,148,146, 29,116,156, 50,204, 82,242,193,128, 44, 19,105,254, 69,206,186, 40, 25, 35,193, 55,142,134,
-146,162, 99, 68,201, 26, 69,130,138, 85,214,146, 38,177, 84,226, 74,113, 17, 82,161,141,116,249, 4, 25, 47,150, 85,133,239,250,
- 92,103, 31, 48,177, 17, 15,180, 85,184,224,201, 51,233,228,101,255,102,136,250,253,190,233, 21,194,105,146, 97, 35, 75,215,186,
-167,221, 79,154,138,255,118,177, 40,136,210, 4,215,182, 52,173, 40, 53,155, 86,252,140, 77,213, 80, 86, 37,193, 5, 58,239, 41,
-171, 26,171,148,116,219,109,131, 14, 29,105, 59,229,252,232,144,149,141, 45, 22,231, 5,243,186,100,107,107,141, 89,227, 57, 91,
- 46,185,113,253, 50,247, 62,248,132, 44,203,168,218,138,233, 89,137, 38, 98,122, 94,224,156, 99,144, 79, 88, 25,175,178, 50, 26,
- 17, 69, 26,107, 21,229,124, 65,177, 40,200, 83, 65, 46,198,253,132, 64,105,176, 73, 70, 58, 59,224,255,122,243, 35,174,174, 79,
-168, 59, 79,156,197, 68,218,178,112, 45,137, 81,188,244,242, 85,142, 26,133,118,158, 60,143,104,150, 29,239,124,180, 79,177,104,
-201, 34, 79,237, 53, 47, 95,155,240,193, 76,114,223, 37, 93, 47,162, 94,150,152,126,135, 41, 35,240,154, 40,146,252,110,165, 53,
- 93,213,226, 93, 75, 32,192,133, 86,161,170,112,109, 67,121, 62,165, 56, 63, 35,183,134, 81,170,249,237,127,235,219,252,251,127,
-247,239, 17,187, 22,167, 2, 87, 94,255, 22,227,201,170, 88, 84,226,192, 34,192,225,233, 28,167,107, 54,247, 54,185,255,240, 0,
-231, 90, 58,192,234,128,247, 10,107, 13, 54,177, 88, 35,144,155,211,163, 19,108, 34, 96,155,131,179, 25,101, 81, 64, 8,104, 99,
-232,186, 6, 27,203, 40,205,198, 49,211,249,185, 88,168,186,142, 65, 44, 46, 14,109, 44,113, 26,241,245, 27, 67, 8,129,120,101,
-133,221,221, 9,103,247,142,185,127,239,152, 60,177, 52, 77,135, 81,138,123,167, 37,147, 65,202,230,192,114,239,176, 96,119, 53,
- 39,142, 21,179,121,195,189,253, 41, 54,142, 57,152,215,116, 78, 70, 48, 1, 37,123,239, 78,144,203, 26,249,190,126,235, 55,126,
- 21,107, 52,123,151,214,217, 88,223,100,122, 54,227,116, 58,227,195,119,223,103,103,103,139, 44,233,195,124, 26, 81,215,130, 28,
- 2,206,139,162, 92,105, 45,239,104, 95, 24,119,253,243,235,156,192, 75,234,186,162,115,190,239,174,228,152, 58, 62, 59,227,244,
-124,202,225,225, 17, 7,199,199,204, 22, 75,102,243, 5, 62,128, 54,162,224,237, 58,143, 81,208, 6,112,157,160,141,179,254,178,
- 29,142, 71,196, 54,166,109,107, 98,155,144, 13, 18,240, 10, 15, 50, 14,212,154,200,136,221,208, 33, 1, 22, 90,235,167, 10,122,
-173, 37, 52,230,194,146, 19, 39, 9,113,175, 78, 14, 94, 44, 75,206,203,191,147,231, 3, 41,204, 3,232, 72,242, 32,234,178, 34,
- 4, 47, 42,248,186, 21,245,115,211,225,232, 63,131,182,195,133,174, 63,216,133,223,237, 58, 79,156, 70, 44,151,101,175, 17,145,
- 95,107,180, 17,116,171, 22,226,164, 64,176,236,211,198,161,107, 59,170,122, 73,221, 76,201,243,140,213,245, 13, 86, 70, 67, 38,
- 43, 35,202,229, 57,218, 52,212,205, 41,174, 91,146,103, 6,173, 65,105,197,112, 48, 65, 41, 67,221, 84, 40,101,250,159,169,101,
-109,117, 12, 74, 49, 28, 14, 81,193,163,173,194,183, 8, 19,196,136,232,214, 88,141,213, 17, 54,146, 4, 63, 57, 23,107,148,145,
-134,101,101, 50, 65, 27, 43,170,247,190, 91, 84, 65, 99, 35, 69,240,142, 14,141,210, 22,156,236,215,181, 54, 36,189,182,168,235,
- 2,145, 53,216, 40, 33, 77, 35, 98, 27,225,149, 97, 94,148, 52,203,146,197,217, 49,117, 49, 21,241,160,141,250,231,214, 97, 12,
- 12,178, 1,249, 80, 44,190, 42,136, 78, 67, 41, 69, 83,215, 84,149, 68,110,175,174,237, 97, 35,205,124,113,134, 81, 18,150,226,
- 58,177, 2,214,117,139,181,162,191,176, 70, 4,172, 70,235,167,211,147,166,174,169,171,234,169, 88,178,170, 91,162, 72,236,137,
-214, 24,226, 88,244, 82, 74, 75,116, 51, 90,226,184, 67, 80, 2, 23, 82, 26,165, 33,137,229,126,177, 86,130,181,226,254, 18, 84,
- 33,144,229, 25, 38,138,208, 65,145, 36,114, 39,217,200,210,186, 14,173, 68,124, 40, 94,116,176, 70, 38,183,218, 72,182,130,172,
-130, 65,196,168, 94,158,183,224, 9, 94,247, 13,165, 20,210, 65, 1, 1,180, 50,125,225,106,209, 26,172,141,233,235, 13,130, 7,
- 99,165,217, 13, 74, 65, 16,108,108,108, 35, 2,112,225, 18,107, 91, 89, 97, 4,144,198, 24,240,254,226,123,144,201, 99, 8,160,
-181,124,214,210,116, 58,204,230,222,165,239, 41,173,251, 67, 58, 98, 89, 22, 40, 45,208,153, 36,142, 89, 46,151, 76,198,163,167,
-106,107, 5,132, 0,243, 69,239, 97,108,107,218, 86,194, 90,180,214, 36,249,128,209,112, 40,163,252, 88,208,117,222,123,148,214,
-212,181,164, 99,217, 40,194, 7,193,135,198,113,132,210, 50,110, 81, 70, 19,245, 23, 60, 65, 42,144,162, 40, 88,150, 37, 85,245,
-175,197,142,106,129,111,160,197,247,170,180, 36, 75,105,109,201,178,148,160,164,122, 53, 74, 30,128,178, 92,202,168,176,255, 62,
- 4,156, 33,213,190, 82, 74,198, 47, 73,207,255,206, 82,180,150, 4,171,139,104, 74,155,197, 61,112, 70,224, 59, 77, 45,193, 48,
- 73, 42,145,122, 23, 74,127,173,192,135, 64, 98, 97,107,108, 24,102, 67, 70, 99,195,147, 71,135,216, 60, 39,203,135,252,240, 39,
-159,178,185,190,131, 53,154,127,241, 7,127,204,221,199,231, 60,220, 63, 37,132,136,151, 94,122,153, 36, 77, 24, 12,115, 46,108,
- 20, 46,116,204,166,231,184,186,161,152, 47,201,243, 68, 58,144,197,146,241,202, 42, 73,158,211, 17, 24,143,115,102,197,130,217,
-209, 17,255,221, 63,250, 6,101,211, 50, 47, 90,158, 28, 23, 12, 86, 18, 78, 91,197,179,159,187,196,214,192,210, 46, 11, 78, 78,
-150, 28, 30,206,136,146, 8,181, 44, 73, 85,195,239,254,141, 23, 24,174,142,184,182,150,243, 47, 62, 60, 37,142, 45, 70,105,210,
- 76,246,146,202,121, 90, 2,137,149,202,183,127,206, 9,222,227,219,150, 40,137, 9, 90, 17, 17,225,131,195,230, 18,142,240,236,
- 70,198, 87, 95,186,202,206,234,132,201,100,133, 47,127,237, 87,249,201,219, 63,103,122,239, 99,242, 43, 55, 81, 73, 66, 28, 37,
- 44,202,130,193, 40,102, 56, 76,121,251,237,159,113,190, 40,120,252,240,136,101, 53, 71,148,248, 17,203,162, 69, 25, 72, 7, 57,
-109,231,112,109,135,107, 36,233,200,198,226,206, 80, 14,156, 2,109, 59,234,214,179, 44, 43,180, 49,140, 39, 35,218, 74, 24,202,
- 10, 72, 18, 75, 89, 55,120, 58, 54, 54,183,208, 74,243, 91, 47,174, 48,157, 85, 96, 12,235,169, 38, 89, 31, 17,180,102, 81,181,
-228,145,230,232,193, 25,105, 30,115,124, 94, 49,200, 35,102, 11,199,102,110,105,188,102,119,103,133,195,147, 25,251,139,146,243,
- 69,139,150,251, 22,148,198, 1, 81,108,137,148, 2, 21,240,173,231,235, 95,252, 2, 33, 40, 92,211, 49,159,205, 49,157, 23,229,
-255,206, 30,235,235,171, 12,134, 99,172,141,168,139,165, 28,238, 61,212,199, 5,121,169, 67, 8,210, 97, 42, 89, 47,249, 32,107,
-179, 16, 46, 14, 33,245,244,255,171,154, 22, 13, 60,120,248,136,101, 33, 9, 92,129, 30, 53, 27,228,125, 41,138, 37,222, 7,214,
- 86, 87,136,140, 70,197, 25, 73,150,210,117, 29, 23,162, 87,173, 20, 24, 77, 85,247,160, 11, 35,151, 87,148,244,201, 84,173,100,
- 75, 59, 47,155, 79, 27,201,103, 45, 34, 59, 89,163, 41, 37,170,125,109, 52, 42,120,186, 86, 58,186,170, 22, 61, 76, 54,200,165,
-145,232,223, 83,231,100,247, 24, 41, 17,196, 41, 37,225, 64,117,221, 48, 24, 12,145,192, 15,104,155,150,225,112, 72, 20, 75,220,
-110, 85, 85,196,113, 76,135,167,170, 43,185,224, 34, 25,255, 11,157, 50, 32,209,198, 98,175,147,110,205,226,157,199, 70, 34,190,
-189, 80,216,151,203, 25,193, 21,248, 80,211,117, 11,186,182,162,243, 50,218, 37, 56,180, 85,132,208, 80, 86,103, 4, 21,200,243,
- 21, 38, 43, 43, 98, 15, 14,129, 72, 9, 65,113, 52, 30, 96,180,102, 52, 90,225,210,222, 14,147,149, 21,156,215,212, 85,129,214,
-210, 9, 2,228,121,196,100, 60, 98, 60, 26, 18, 39, 9,121, 98,201,211,148,201,100,157,241,120,181,159,136, 10,117,206, 88, 67,
-154,198, 24,101, 25,230, 67,246, 46,237,161,144,168,232, 97,150, 97,140, 38, 77, 34,172, 86,216,216,146, 70, 49, 77, 83, 81, 87,
- 75, 22,103,231,116,109,137,247,237, 83, 14,133, 88,255,250,231,180,147,142, 51, 27,164,228,105,206,120, 60, 38,138, 37, 8,233,
-130, 56,216,182, 13, 85,219, 81,215, 37,235,235, 59,189,134,166, 4,239,101, 79,236,229,179,174, 26,241,121,183, 77, 39, 66,103,
- 68, 92,109,181, 37,120, 17,150, 53,173, 16, 29, 67, 63,233,109,234, 6,109,196,198,216,180,109,223,209,182,196, 70,114,206,219,
-174,165,109,106,170,170, 34,244,235, 35,163, 21,160, 9,174,195, 1,174,117,232,224,233, 60,136,125,205,163,149,228,106,152,190,
-184, 72,227,244,105,129,220,185, 11,253, 74,143, 41, 15,200, 59, 66,192,117,226, 67,239, 90, 65, 77, 7, 60,244,197,176,136,214,
- 36,152, 70,105,113, 7,249,224,161,127, 87, 59,231, 8,136, 53,184,245,194, 38, 33,200, 4,212,185,126, 61,164,181,168,250,147,
-152, 40, 73, 80,200,215, 14,158,126,194,165, 80, 94,145, 38,130,144,150,226, 36, 35,141, 4,159,222,180,173, 16,229, 8, 34,104,
- 51, 74,227,157, 99,178, 50, 33,142,172, 84, 9, 94, 72, 80,129, 64,185, 44,105,234, 37,101, 89,209, 58,193, 67,102, 89,250,180,
-234, 73, 51,177,117, 89, 43, 18,255,182,105,105,157, 99,185, 44,169,170, 26,215,255, 64, 89, 34,120, 86,107, 69,252,226, 59,129,
-145, 4, 2,177,181,180,222, 61, 77, 76, 19,148,160, 40,190,155,126,180,223,180, 98, 97,176, 81, 68,181, 20,175,124, 62, 28,160,
-140, 34,138,108,239, 65,116,164,121, 38,202,199,182,198,107,200,210,193,211,159, 69, 48,172,138, 40,145,156,220,170,174,200,146,
-132, 98,177,120, 42,196, 83, 72, 66, 91,214,119, 25, 18, 30, 16, 97,181,230, 34,196,190,170, 42,130, 82,100,105,130, 82,200,101,
- 60,123,204,238,213,203, 60,249,240,109,214, 38, 57, 54,139, 56, 62, 47,113, 93, 96,119,117,194,221,143, 62, 65,197, 9, 47,124,
-254, 37, 94,255,210,171,252,131,127,240,239,241,159,254,195,127,200, 55,191,241, 75,252,159,191,247, 63,241,226,222,136,111,255,
-218, 95, 99,111,111,151,122, 81, 65, 44,158,251,208,212,164, 89,130,177,154, 56,177, 12,135, 57,139,226,156,227,131, 35, 62,250,
-240, 83,233,190, 42,207,119,238, 76,120,245,206, 85, 94,127,229, 26,179,121,193,209,121,195,202, 40,227,180,168, 72,108, 68, 82,
-213,220, 76, 3,239, 62, 89,112,184,104,121,233,133, 75, 92,218,154,240, 95,255,179,159,225, 48,172,143, 19,238,158, 44,153,151,
-162, 14, 55,214,160,189,198,171,142,182,115, 98, 55,210,134,224,156,116,238,120,178, 36, 34, 40,241,242, 59,239, 88,223,222,230,
-141, 47,126,129, 27,147, 17,207,239, 14,113, 54,227,248,224,156,175,252,218, 55,184,127,120,198,221,183,223, 99,237,242, 13, 46,
-223,185, 67, 85, 58, 54,183, 55,216, 63, 56,228, 15,127,239,255,224,157,143, 63, 36,201, 44, 85,221,225, 48, 24,175, 88,150,142,
-209,234, 4, 29, 69,212,174, 35, 77, 82,134,195, 17,101, 19,152, 47, 43,188, 11, 44,150, 37, 73,154,225, 20,212, 69, 67, 89,203,
- 11,163, 34, 73,101,170,138, 5, 73,150,145,229, 3,206,166,103,104, 52,137,141,152, 21, 21,217, 32,101, 49,157,114,123, 59,229,
- 87, 94,188,204,163,211, 18, 90,207,218,234,144,120,144,112,242,248,140,198,117, 44,203,150, 98, 86,114,214, 8,123,122,117, 24,
- 51,202, 99, 58, 5,233,100,192,201,253, 99,238,159,148,156,150, 93,159,189,167, 80,202,224,189, 28, 12,198, 40,178, 56, 35, 79,
- 35,118,198, 17,227,200,176,190,182,198,104, 56,226,193,195,123,232, 56,230,240,240, 9,237,178,164,243,134,217,124,129,114,191,
-224, 38,128, 8, 72, 85, 8, 4,164, 27,245,157, 19, 14,130,115,148, 85, 67, 80,178,202,146, 7,146,190, 24,237, 40,235,150,179,
-217, 57, 98, 51, 18,110,180,214, 50, 82, 85, 74,163,131,167,170, 26,150,203,130,243,197, 66, 14, 50,215,145,196, 9,117,211,200,
-106,174,173,251, 98, 57,193,185,150,160, 36, 80,167,174,170, 94,100, 27, 75,222,130,150,160, 39,201,130,246, 56, 39, 23, 80, 18,
- 37, 2,122,106, 58, 81, 56, 43, 73, 33, 52,198, 66,240, 4,175,250, 29, 97,194,124, 62,151,213,132, 11, 36, 3,113,217, 44,138,
- 5,117,211,112, 1, 28, 49,218,244,204,135,166,255,185, 58,140,149,176,160,225, 96,128, 3,178, 84, 0, 31, 46,116, 79,139, 34,
-217, 9,203,244,206, 94,172, 8, 0,173, 20,101, 83,139, 51,192, 57, 46, 82, 19,147, 36,161, 42, 75,218, 86,138,194, 56, 21,202,
-153, 53, 98,239,108,154,166, 23,120,117,100,137, 37,132,130,186, 94, 82,213, 37,171,147, 9, 93, 55,103, 56,146,119,165,170, 5,
-103,171, 77,204,241,225, 1, 59,151,175, 17,188, 76, 84, 92,159,167, 93,148, 11,154,178, 98,177,152, 50, 28, 78,200, 7, 35,124,
- 48,184,224, 89, 93, 29, 11,119, 61, 79, 25,228, 25, 86, 55,172,173, 76, 64, 71, 88, 3,163,225,144, 64,203,100, 48, 96,190,156,
- 81, 87, 21,231,231,115,166,167, 39,194,189, 40, 23, 44,230, 37, 93,219,161,173,150, 78, 22, 77, 8,210,237,203,165,167,228, 44,
- 11,158,206, 75,134,120, 85, 11,249,113,152,203,218,117, 58,155, 19, 90,207,133,181,217,251, 64, 93,214,108,237, 92,193,104,197,
-124,126, 70,154,103,104, 52, 77,235,122, 65,101,159, 77,222,182,196, 54, 65,107,225,245, 71,241, 47, 92, 82,229,178,194,185, 14,
-208, 79,191, 23, 16,149,122,146,245,185,234,189,240,217,119, 29, 74, 5,134,195, 49, 58,182, 61,173, 46,160, 85,144, 34,197,137,
-181, 76, 71,146,164,168,228,138,148, 14, 55, 4,148,150,247,178,237, 58, 92,224,169, 29, 27, 47,100, 69,173, 13, 81, 44, 48,157,
- 72, 91, 80,253,148, 76,133,167,151, 50, 2,124, 68, 91,225,121, 92,112, 33,228,194,150,175, 79, 80,125,161, 21,203, 59,220,137,
- 40, 80, 71, 6,163,101,199,143,247, 79,139, 26, 21,130, 88,190,251, 73,169,141,197,213,101,173,208,246, 2,226, 96,112,222, 99,
-148,162,108, 58,140,146,189,189, 25,172,174,126, 79,198,118,226,227,142,173, 37, 73,133, 77, 92, 46,151,228,195,156,197,108, 78,
- 85, 85,180,174, 21,177, 15, 64, 16,161, 74,240, 80,214,130,128,117,222,209,186, 86,130, 89,186, 78, 46, 95,223, 17, 89, 25, 17,
- 27,163,241, 78, 14,218,166, 23,222,200,174, 79,198, 33, 77, 35,118,145,184,191,240, 35, 35, 30,189,164, 23, 81, 68, 81,244,116,
- 90,112,161,214, 95, 86, 21,160,168, 27,177,147, 57,215,145,165, 9,117,221, 16,240, 20, 69, 65,211,200,161, 24,153,136, 69, 89,
-210,182, 18,223, 87, 53, 53,174,199, 77,118,157, 39,142, 99, 34, 99, 88,204,231,208, 63, 76,113,146, 80, 46, 11,108, 28, 81, 45,
- 27,156, 2,180,161, 92, 10,249, 8, 64,161, 73,210,132,106,185,100,195, 44, 24, 12, 86,120,249,185, 91,252,191,255,223, 91,108,
-237, 93, 98, 86, 26, 46, 93,185,202,100,117,147, 79, 62,248,144, 47,125,229,117,158,187,113,137, 87,158,191,205, 11, 47, 61,203,
-217,201, 19,158,124,248, 54,255,248,191,253,199,156, 62,126,200,139,183,183,201, 98,195,147, 79, 63, 98,165,171,169,155,146, 78,
- 43,140, 82,220,125,188,207,225,254, 49, 71,211, 51,246, 31,159,112,114, 60, 69, 69, 17,107, 27,235,236, 93,190,194,112,180,134,
-159, 31,241,183,191,243,121,202,162,230,234,206,132,227,186,229,189,253, 57,167,251, 51, 74,215,145, 26,233,162,242, 60,230,133,
-231,175,112, 84, 53,104,107,120,237,153, 45,254,247, 63,255,128, 66, 25,190,120,103,135, 63,125,231, 49, 27,155, 19,217,223,160,
-176,253,218,163,170,106, 6,121, 38, 15,186,181,156,159, 23, 68,177, 68, 53, 62,123,125,139,111,190,241, 26,215,118,246, 40,102,
- 5,143, 31,124, 70,131,230,201,147, 83,190,250,237, 95,102,188,181,199,244,241, 41,175,126,233, 75,172, 93,189,142, 66,224, 12,
- 77, 83,240,224,179, 79,121,251,253, 15,185,122,105,194,199,247, 78, 65,197, 12,211,132,208,235, 34,226, 56, 33,205, 6,156,158,
- 45,152,140,198, 52,117,197,104, 56,100, 56,204,177, 70, 51,200, 19,226, 52, 19,241,162,213,108,238,174, 51, 28,142,161, 3, 21,
- 41, 58, 31,152, 78,207,104,170, 37,171,147, 85,134,163, 1, 27, 27, 27,156,158, 76,137,146,152,196, 87,252,238,119,158,231,206,
-213, 85,126,250,201, 33, 31, 60,156, 81,148, 45,179,121,197,229,157, 49,103,179,138,213,173, 21,138,147, 57,227,201, 0,173, 20,
-179,170,102,103,107,140, 77, 99,158,191,190,193,159,255,236, 62,159,158, 20,180, 46,224, 84,127, 81,224, 9,166, 31,149,123,153,
- 64, 93,219, 91,103,148, 41,158, 28,159,243,228,224, 49,199, 79, 30,178,183,181,197,149,221, 77,182, 86, 86,121,244,228,132,170,
-147,139,105,111,115,157,233,249, 2, 99, 52, 77,215,209, 52,141, 92,222, 65,246,140, 33,132,190,107,145,139, 92,246,205, 10,124,
-223, 93, 4, 65, 46,215, 85,197,108,190, 32,142, 18,148,238, 87, 24, 86, 32, 28, 90, 43, 60,130,228,108,187,142,166,107,169,138,
- 57,231,103,103, 76, 79, 78,152, 77,207,105,155, 26, 21, 2,101, 93,147,231, 41,117, 45,209,143,105,154, 18, 37,137,116,204, 74,
-172,114, 1,208, 65,225,251,195,222,216,168,199, 49, 87,212,117,135, 82, 26,250,110,166,110, 26, 57,224,180, 34,201, 82,138,229,
- 82,120,232, 54, 6, 37,157,138, 54, 17,117, 37,147,132,193,104,132, 10, 34, 96,106,125,139,210, 86, 70,248,136,160,212, 5,143,
-198,147,102, 25, 16,232,234, 14,165,165, 83,146,119, 85,108,173, 77, 43,239,175,137,101,212,125,129,187,110,234, 26,250,145,166,
-119, 78,206,150,126,149, 23,197, 61, 69,175,110,136, 34, 5, 70,126,230,160,132, 82,233,156,116,139,222, 95, 64, 90, 22, 44,151,
-103, 64, 71, 20, 69,120,223, 34, 59,110, 71,215, 46,137,162,192,114,113,204, 96, 56, 98,178,178,202,198,218, 6,217, 32, 33,182,
- 49, 77,187, 4, 29,136, 98,203,233,249, 9,109, 43, 44,139,217,226,140,114, 57,103, 81, 44, 88, 20, 51,208,158, 54,120,180,238,
-184,126,253, 22, 79, 14,159,176, 44, 10, 76, 20,115,114,116, 74, 81,212,116,109,131,234,207,207, 36,146,105,166, 50, 6,193,210,
- 6,130, 19,240,215,250,234, 42, 43,147,137,188,147, 85,137, 86, 10,101,100, 20,223,214, 53,117, 43, 98,231,193,112,136,119, 34,
- 40,243, 33, 16, 16, 1,109,221, 53, 84,197,130, 52, 29,179,186,182, 3,202, 81,150, 5,170, 23,136,213,189,219, 32, 77, 83,148,
- 82, 84,203, 5,157,247,180,174, 69, 41, 71,189,108, 81, 70, 38, 22,198, 42, 6,195, 1, 93, 85,227,188, 39,142, 5, 21,171,251,
- 21, 84, 26, 11,138, 56,138, 37, 60,133, 16,122,203,155,135,208,139, 42, 91, 33,239, 5,231,209,200, 36, 85, 44,202,125,176,138,
-138,176, 90,196,152, 4, 79,211,136, 75, 35, 31,228, 36, 73, 66,232,159,153, 40, 53,104,228,114, 6,225, 60,104, 45,118, 55,240,
- 82, 16,225,241,157,132,193, 0,178,162,232,223,123,109, 52, 40,112,174,215,150,105,133, 87,208, 53,237,211,130, 61,168,128,239,
-196,138,136, 17,155,184, 82, 2, 63,146, 36, 83,135,214,146,191,226,131,196,177, 38,113, 76,219,120,172,209, 4, 47,154, 53,179,
-186,185,249, 61, 2, 76, 70, 57,121, 30,145, 36, 18,145,186, 40, 10, 34,219, 71,189,105,141,235, 58,134, 3, 1,174, 68,253, 37,
-219, 54, 45,141, 19,139, 88, 64, 20,226,214, 70, 79,213,225, 18, 74, 0,202,106,162, 52,150,253,102,232, 80,198,162,141,140,112,
-149,214,168, 40,166, 40,151, 64,192,198, 49,101, 41,191,119, 20, 89,108, 95,117,187,254,191, 93, 43,106,211, 40,137,193,183,132,
-122, 78,221, 74, 38,116,113, 62,165, 46, 75,206,206, 78, 89,206, 11, 34, 3,109,117, 46,138, 85,165, 9,125,214,177, 15,142,174,
-169,101,244,130, 88,124, 20, 98, 35, 48,214, 8, 74,176,169,169, 90,137, 3,149,232,190, 64, 28, 25, 34,163,209, 74, 99, 98,219,
- 19,191, 28,195,225, 16, 23, 60, 67,189,164,169, 29, 47,127,237,117,222,253,225, 15, 41,170,115,110, 61,119,155,221,205, 21, 60,
-154, 87,190,240, 69,154,166,229, 59,191,254, 77, 30, 60, 62,224,222,135, 31,112,101,119,147,247,255,248, 15,217, 75, 3,223,255,
-201,135,124,249,229,231, 73, 71, 67,154, 38,166, 73, 86, 89, 26,203,201,209, 9,155,107, 99, 9, 51, 25, 79, 72, 71, 67,174, 93,
-187,202,205,155,215,153,172, 14,184,114,249, 18,235,171, 99, 86, 87, 87, 24,140, 70,188,255,224,148,239, 62, 19,179, 58, 30, 50,
-211,154,103,175,108,242,242,157, 29, 62, 58, 89,210, 46,107, 12,220,182, 41, 0, 0, 32, 0, 73, 68, 65, 84,178,214,115, 80,180,
- 48,200,217,203, 21, 87,119,215, 25,175, 12,169,170,134,255,245,207, 31,242,232,112,201,239,254,246, 23,248,253,191,252,140, 72,
-137, 50,212,196,150,174,113, 68,105, 66,108, 12,231,197,130, 40,178, 52,157,163,168, 91,110, 93, 90,231,155,223,120,141,103,118,
-119,228, 26, 27,142,216,189,118, 29,109, 60,203,105,195,171,111,188,140, 51, 35, 30,220, 59,229,214,157,103, 49,195,156, 75,123,
-187,104, 95, 65,181,224,173,119, 62,226,175,254,228,143, 89, 54, 45,179,233,146,203,207, 92,101,144,164, 84,213,156,170,241,100,
-163, 1,173, 51,140,135, 67, 44,226,137,206,242, 1,222,137,205, 48,205,100,244, 62,200, 19,150,101, 69, 28, 69,184, 70,246,120,
- 77,215,177, 50, 24,178,182,182,142, 50,150, 98,185,164, 44,101, 60, 56, 91, 44, 48, 74, 81,181,158,235,171,150,255,234,119, 94,
-163, 37,224, 27,199,131, 39, 83,182, 39, 25,211,166,197, 85, 29, 15,206, 22, 92,222,158,176,119,117,131,155,151, 87, 56, 58,152,
-179, 61,136, 57,157, 86,140, 38, 25,155,147, 33,111,190,183,207,123,251, 51,210, 72, 64, 76,157, 20,242,172,165, 49, 78,105, 18,
- 43,186,144,213,241,132, 71,251,103, 76,198, 25,203,162, 22,113, 81,170, 57, 61, 61,166, 41, 75,178,209, 16, 29,103,252,230, 55,
-191,206,175,127,237, 43,252,244,157,247,144,156,106,193, 97,138,125, 76,192, 22,162,169, 48, 98,239,106, 59, 73, 89,236, 90, 41,
- 55,149,128, 73,188, 19, 80, 83, 81, 44,209, 70,172,127, 23,214,183,139,169, 89, 28, 11, 12,196, 70, 34,178,130, 94, 12,213, 79,
- 99,187,182,161,169,106,138,217,148,211,195, 99,186,182, 5, 47,147, 0,107, 98, 90, 87,201, 42,204, 59,154,166,166,237, 92, 47,
- 2, 4, 19, 5,249,122, 81,132,181,138, 54,116,228, 73, 76,116,177, 10,195, 83,183, 29,117,219, 48, 26, 14,168,202, 2, 99,148,
-192,150, 90,153, 2, 88, 19, 99,251, 51,193,249,128,228, 59, 40,140,130, 44,149,184, 98,165, 84,127,192,121,146, 56,145,177,125,
- 44,201,141,145,150,159, 81, 43,131, 10, 82,200, 24,107, 9,161,161,237,106,154, 70, 50, 7,154,166,101,144, 75,161,104,181,238,
- 63,155,132,170,146,136,101,133,116,248,109,227,168,170,178,159, 32,202,247,154, 38, 98,229,173,234, 90, 20,248, 61,149, 44,137,
- 34, 58,215,176, 92, 46, 5,202, 83, 85, 68,145, 1,213,224,155, 26, 99, 91,188, 91,160,104, 88, 20,167, 24, 85,145,167, 26, 27,
-193,217,244, 16, 21, 26, 84,168, 81,186,195,106,135,214, 14,107, 29,105,140,216,166, 84, 75,240, 82,212, 93,190,116,157,143, 63,
-249, 8,107, 45,131,209, 8,241, 86, 43, 8, 30,130, 67,153, 95,172, 93,180,130,224,133,199, 46,157,101, 68, 62,200, 25,142, 70,
-212, 77, 43,103,162,145, 0, 31,165,149,248,173,107,135,177,134,149,201,132,193, 64,226, 82,181,150, 47,143, 14, 20, 11, 89,119,
- 6,163,216, 92,191, 66, 20,107,142, 79,143,168, 42, 73,167, 84,113, 76,215,180,148,101,137, 15,224,125, 32, 78, 6, 40,167,201,
- 6,162,129, 74,211, 4,165, 13,137,149, 20,208,193, 96, 32, 5, 69,219,144, 38, 66,233,172, 59, 79,211,137,210,125, 89, 11,223,
-189,118,221, 83,154,165,168,237,197, 46,230,157,239, 63, 7,215,107, 21,132,163, 47, 58, 45,233,166,181,149, 21,114, 63,184,193,
-251, 30,156,166, 69, 55,214, 5, 72,226, 72,114, 70,180, 17,123,154, 53, 82,212, 24, 67,112, 13,198, 42,160,159, 92, 56, 73,160,
-172,170,134,174,105,101, 63, 31,196,109,165, 21,160,100,178,108,148,172,200, 34, 43, 26,138,166,170, 9,206, 11, 60, 45,137,112,
-109, 35,107, 3,231, 80, 8, 73,209, 0, 30, 8, 78,120, 50,226,138, 17, 71,128,185,116,245,218,247, 18,109,192, 10,142,174, 88,
-204,101,183,165, 36,204,193,218,158, 64, 21,197, 40, 20,117, 93,179, 44, 75,148, 82,189,141, 76,150,245,198,200, 62,222,181,141,
-120,255, 8,146, 85, 27, 75, 8,138, 40, 6,229, 15, 48, 4,240,174,235, 69, 52, 10, 21, 4,118,144,166, 82,137,185, 86,172, 35,
-206, 59,178, 60, 39, 77, 18,118, 54,198, 92, 89,143, 81,237, 57,227,212, 49, 61,122, 72,164, 78,249,194,179,207,241,155,223,120,
-131,175,254,210,243,188,241,149,215,184,117,237, 18,207,222,190,201,157, 91,219,236,110,174,241, 43,111,188,206, 87,190,240, 60,
- 59, 91, 19, 12, 29,153,214,172, 78, 38,220,190,113,137,157,141, 1,155, 27, 35, 82,211, 17,154, 37,147, 36,144, 42, 69, 22,199,
-204,151, 37,174,117, 92,228,124,163,117,191, 15,146, 73, 4,206,137, 62,192, 70, 40,173, 73,195,146,205,220,242,133, 47,127,145,
-233,233,140,197,221,143,216,216,217,228,236,228, 4, 48,188,242,234, 43,172,164, 17,151,183,215,121,244,224, 46,215,111,222,192,
-215,142,119,222,252, 43,124, 85,242,251, 63,254,132,247, 30,156,242,165, 87,110,114,248,240, 33, 77, 61,231,189,187,119,153,158,
-207, 56, 95, 46,216,220,217, 34,143, 53,181,107,217, 88, 29,177, 40, 22,156,157, 30, 81,204,166,204, 23,115, 78, 78, 78,101,108,
-122,122,194, 39,251,103,116,139, 5,223,249,229,231,200, 93,199,124,190,228,199, 63,189,139, 43, 43, 38,177,229, 60, 55, 92,219,
-156,208,181,142,135, 39, 37, 79, 30, 28,114,120, 60,101, 77,181,188,127,120,206,173,157, 1,191,245,245,219,252,241,207,159,112,
- 58, 43,209,180,196,113, 66, 23,160,152, 23,162, 76, 13, 16,169,142, 33,138, 97,164, 56, 63, 47,249, 59,191,249, 29, 14, 78, 78,
- 24,142,214, 25,175,109,210, 46,230,184,229,130,235, 55,175, 51,171, 20,155, 91, 55,249,202, 27,111,112,180, 56,161,169, 75,254,
-224,247,254, 55,126,252,195, 55,249,211, 55,127,204,178,108, 57, 58, 58,162,174, 90,130,214,148,101, 69,150,106,158, 28, 47, 40,
- 43,197,249,188, 98,109,117,131,191,245,221, 95, 35,205, 82,214, 55, 55,121,225,206, 45,142,143,142, 57,159, 79, 9, 65, 2,126,
-130,131, 52,205, 8, 33, 96,141, 97, 56,204, 80,198, 18,148, 32, 43,173,210,172,172,172, 98,227,136,101,185,164,173, 75,170,174,
- 99,144, 15,249,198,179,107, 84,139, 5,159,222, 59,227,222,195, 83,212, 96,128, 73, 35, 22,243, 18, 22, 53,227,224,152,157, 87,
- 44,171,150, 60, 50,204,170, 6, 19,132,131, 62, 45, 61,123, 59, 99, 62,254,236,136, 79, 14,102,120, 45, 47,176, 67,225, 58,197,
- 51,155, 3,206,106,217, 29, 43,163,153,228, 41,155, 43, 3, 30, 31, 77,137,140,161,108, 28,167, 39, 51,158, 28,157,114,124,178,
-192, 97,169,186,150, 59,215,175,241,165,207,191,200,229,221,109,222,122,255, 35,166,179, 25, 23,121,207,214, 70,116, 78,186, 98,
- 64, 44, 46,253,190,216, 59,255,180,115,183, 90, 19, 20, 56, 39,170,236, 11, 30,133, 15, 1,133,140,250, 36,215, 89,192, 75, 70,
- 27, 46, 2, 85,158,126,241, 32,163,105, 57,139, 68,141,221,148,194, 3, 40,231, 51,138,249, 28,215, 9, 12,195,251,126,199,143,
-216,171,242, 65, 66,215,202,110, 81, 5,112,125,145,237, 93, 0, 28,101, 35,246, 88, 99, 44, 81,100,104,234,154, 56,146,236,243,
-182,109,201, 7, 3,170,166,161,109,101,181,224, 26, 97, 55, 88,163, 48, 74,124,231, 77, 91, 11,200,166,215, 6, 25,101,229, 32,
-118,162, 7,104,154, 6,141, 20, 55,157,115,148,117, 69, 18,247,188,255, 70,190,239,225,112, 72, 85,213,132,254, 60, 2,177,235,
-213,149, 36,213,225, 69,137,144,101, 25, 24,232, 92,192, 70, 17, 89,154,210,180,142, 36,210,148,139,146, 52, 23, 1, 86, 89, 85,
- 88, 45, 81,211, 4, 25,189, 86, 85, 69, 64, 78,245,182, 21,218,164,182, 17,139, 98, 33, 16,146,166, 98, 89,136,232,184,235, 36,
-138, 51,138, 44,197,114, 65,231,164, 99,203,178, 84,120, 31,181,192, 87,186,166,161,174, 27, 97, 25,116, 53,217, 96,200,181, 43,
-215,136,211,132,241,104,192,120, 52,194,104, 81,246, 71, 54,162,117,242,135, 26,130,251,197,136, 88,105, 84,191,147, 61, 95, 44,
-229,242, 51,146,233,173,180,150, 75,221,104,240,224,113,180,117, 67,148,196, 68,113,202,202,202,132,241,202, 10, 70, 25,177, 20,
-187, 86, 70,195, 93, 71, 93, 87,140,198,107,128, 99, 81, 76, 73,210, 12,171, 46,196,171,153, 20, 30,131, 1,214, 24,188,212, 21,
-212,149, 32,197,147, 68,148,238,131, 44, 39, 50, 18, 90,226,156,132, 80, 21, 85, 45,130, 62, 45, 43, 23, 89,225, 40, 52, 50,125,
-210, 90, 70,247,109, 43,211, 22,173, 52,113, 36,197,175,234,255,163,141,192,205, 46, 66,194,180, 66,132,216, 70,139, 43,161, 19,
-207,186,232,165,100, 69, 21,188, 88,169, 93,219,208, 5,193, 94,107, 45, 98,185, 72,235,167, 34, 79, 41,190,101,106,230,125, 32,
-205,250,156,248,254, 47, 31,124,191,186,104,159, 90, 38,101,114, 36,107,161,214, 11, 34, 88, 7, 5, 42,244,197, 57, 40, 21, 16,
- 5,126,175,169,233,133,149,145,213,180,157,136,156,204,229,235,215,191,103, 19,201,242, 22, 59,150,160, 8,179,129,248, 3,171,
-186,193, 26,241,140, 86,125,200,194,197, 14, 66,178,207,101,249, 79, 8,196,218, 18,180,116,178,203,101,249,244, 7, 51, 70, 58,
- 1,140,236, 23, 35, 35, 30, 70, 27, 75,199, 78, 8, 16,160,243, 29,190,115,172, 76,198,228,131, 20,154,146,149,129, 35, 90, 76,
-153, 31, 62,228,227,119, 63,193,119, 21,239,126,114,204,241, 89,195,215,126,249,235,108,239,236, 17, 15, 19, 38,171,107, 16,106,
-118,119,198, 76, 70, 99,238, 60,123,147,189, 75, 59,124,242,222,187, 60, 57, 61,230,246, 11, 47,242,220,243,207,113,235,230, 21,
-190,253,205,175,178, 49, 30,242,237,191,246,117,252,114,198,134,246,252,225, 31,253, 8,186,130,117, 83,146,151,167, 76,212,130,
-216,213, 24,229,233, 90, 71,240, 29, 69, 85,179, 44,150, 84,117, 77,217,139,247,234,186, 38,138, 12,227,200,177,181,125, 73, 82,
-215,134, 3,190,255,175,254,138,224, 91,214, 7, 35, 94,251,242,171,124,240,163, 31,113,188,255,128,163,227, 39,196, 70, 83, 21,
- 37,127,246,253,239,163,109,224,199,239, 61,226,221,199, 83, 70, 58,112,247,209, 35,222,252,100,202, 59,247, 78, 88,212, 2, 58,
- 49,113,196,201,241,148, 79, 30, 61,230,201,147,125, 14,206, 78, 56, 62, 58,231,120,118, 78, 81,118, 24, 29, 49,156,140,177, 38,
-162, 89, 86, 92,127,230, 6, 7,115,199,111,127,126, 76, 50, 30,241,103,127,245, 46,239,125,240, 4,223, 5,102, 62,176,150,199,
-188,187,191, 96,255,116, 78, 92,201,158, 88,215, 53,126, 36,149,247, 43,235, 17,235,235,171,252,201,123,251, 60, 56,152,211,212,
- 45,195,204,242, 95,254,163,191,203,206,213,203,188,241,194,179,188,112,231, 38,137, 59,229,218,218, 26,119,238,220,198,163,169,
-171, 6,167, 12,187, 55,159,225,232,241, 1,239,255,252, 99,158,127,245,203, 4, 50, 86,247, 46, 51, 24, 90, 30,220,255,132,229,
-249, 25,111,253,240,109, 62,249,244, 83,118,247,182,120,241,115,207,243,248,225,125, 82, 11,235,107, 99,214,214,183,120,240,248,
-136, 96, 50,156, 75,120,253,151, 94,227,149,207,191,192,215,191,252, 58,239,189,245, 41, 94,181,236,172,175,209, 52, 45,135,143,
-247,169,154, 14,213, 58, 84,212,143, 97,109, 68,231, 21,117, 41,232,227, 44, 73, 89, 20, 11,242, 81,138,178, 50,122, 78,227,148,
-225,104,140,177, 17,227,113,206,188,116,140,148,227,223,252,218, 77,230, 39,103, 92, 75, 2, 3, 11, 15,155,192,218,250,128,182,
-238, 56, 84,154,177, 85, 68,206,241,112,127,206,185,135,224, 2,161,237, 24, 13, 82,214,214,135,232,174,225,222,147, 41,167,149,
-235, 15, 14,177,185,108,142, 51,206,155, 95,236,225,106, 87,209,225, 80, 38,166,108, 28,105,154,144,245, 7,240,245,171,215,248,
-209,123, 31,227, 9,252,198, 55,191,193,218,104,204,112,144,243,198,151,190,192,225,201, 9,135, 39,199,114, 0, 18,168,235,154,
-186,169,233,218,142, 44,203, 40,138, 37,113, 36,238, 14,148, 2, 36, 88, 71, 33,126,245,166, 31,159,138, 26, 90,190, 71,175,130,
-184, 21, 90, 17,128, 74,222,184,248,221, 77,127, 64, 6, 2, 73,212,195,162,148,238,247,191, 14,117,209,225, 5, 79,181, 44, 41,
- 23, 5, 40, 73,231, 75,211, 76, 4, 64,198, 18,247,221,174,141,162,126, 12, 45,235, 57,185, 44, 37, 35,125, 48, 24,160,144, 21,
-128, 54, 90, 14,126, 99,168,235, 26, 99, 45, 89,154,138, 38, 38, 4,137,134,109, 68, 33,156,101, 49, 93, 43,184, 97, 31, 36,127,
- 26,228,176,206,210,132,197, 66,210,227,154,182,145,177,109,150,209, 52,162, 15,201,115,113,226,164, 73,138,243, 29, 81,156,160,
-149, 56, 96,140,178, 44,171, 26,109,100, 47, 31, 37, 17,105, 44,197, 78, 83, 75,248, 7, 86, 70, 49, 94,123,177, 11, 40, 40,155,
- 70,180, 40,145, 48, 45,234,166,195, 35,107,134,225,104,212,239,143, 19,226, 52, 97,185, 40, 69, 35,160, 4,205, 93,213,226, 10,
- 72, 99, 97,111,104, 45, 97, 69, 32,168,216, 44,205,105,186,134,216,104, 41,238,226, 8, 97,131, 71,114, 30,107,152,207,166,236,
-236, 92, 37, 75, 34, 20,154,179,233, 20,148, 98, 56, 26,139,235,192, 73, 23,170, 20,160,100, 52,156, 68, 49,222,137,104, 56, 50,
- 22,215,201,152, 24,173, 9,161, 67, 41, 35,173,184,146,221,112,231, 28, 77, 37,159,103,189,172, 80, 38,102,109,101, 13, 99,122,
-155, 88, 87,245,163,236, 14,223, 5,182,182,118, 56,159, 30,225, 93,135, 64,104, 18,172, 22, 96,209,114,185,196, 43,112, 77,131,
- 22,157,160,104,157, 26, 17, 55,251,206, 81,213,194,251,183, 70,146,204, 12, 10,163, 69,187, 5, 90,196,118,218,115, 97, 29, 83,
- 70, 61,125,158, 49,170, 39,222,245,218,137, 0, 23, 12,120, 29, 12, 4,228,125,242, 34,160, 3,104,186, 86,222, 95, 45,158,114,
- 99,165,121,141, 34,139,233, 63, 35, 99,196, 63,158,167, 57,206,117,200,154, 72, 8,172, 90,107, 52,194, 83, 73, 18, 1,205, 16,
-100, 50, 45,148,197,190, 56,142,164, 59, 15, 94, 70,240, 54,178,196, 81,140,210, 32, 60,150,240,116, 74, 34,223,168, 20, 10, 1,
- 17,215, 61,253,154,253,244, 65, 43, 48, 91,123,187,223,107,107,241, 69,227, 3, 93,159, 48, 19, 39, 49,139, 98, 9,206, 97,172,
- 36,212, 60, 29,189, 71,130, 94,189,248,223, 26,225,255, 10, 68,192,138,210, 92, 5, 81,137,123,135, 81,146,194, 38,214,139,136,
-196, 10,126,207, 57, 71, 87,119,248, 32, 29,239, 48,139, 25,196,150,237,220,161,230, 15, 73,172,162,153,213, 24, 2,127,249,222,
- 35, 90, 61,194, 14,134,124,235,215,190,204,183,191,245,101,174,238,109,178,179,181,206,253, 15, 63,129,229,140,229,233,148,135,
-159, 29, 80,206, 11,172,246,188,245,179,247,112, 13, 60,115,249, 10,143, 62,189, 11,193,115,247,227,123,132, 96,121,255,131,247,
-248,211, 63,248,127, 48,157,227,100, 90,240,254,221,135,156, 46, 28, 15, 78,107,238, 77, 91, 78, 11,199,238,181, 17,169, 63,103,
-123,160, 49,245, 9,169,246,164,186,197, 24, 65,117, 22,203,134,200, 6, 82,230,188,240,194,203, 40, 87,115,126, 94, 17,165, 3,
- 14,239,125,204,151,191,252, 18,183,158,191,205,242,252,132,174, 94, 98,179,140,199, 39, 11,254,217, 63,255,115,166,231,251,196,
- 86,113,122,240,132,233,121, 77,225, 96,125,103,139, 75, 87,110,178,182,178,198,104,156,177, 62, 78, 49, 77,133, 14,134, 69,209,
- 81, 86, 45, 10, 75, 22,229,108,109,111,177,189,181,201,202,120,140,242, 29,224, 73,122,145, 96, 85, 20,236,159,206,184,179, 25,
-243,252,237,109,110,236,109,177, 58,180,124, 58, 93,178, 59,201, 88, 91, 31, 50, 61,175,185,180, 61,198, 36, 49,167, 39,115, 80,
-134,245, 72,203,197,148, 37, 92,219, 91,231,159,255,100,159,131,147, 37, 46, 4,206, 23, 21,245,236,132, 91,119,118,153,159, 21,
-188,245,147,191, 4,103,121,254,249,235,108, 95,187,202,139, 47,189, 72, 50,200,217,185,252, 12,190,236, 40, 43,205,175,255, 27,
-127,139,173,237,109,158,185,181,201, 40, 73,249,167,255,195, 63,229,173,183,222, 38, 40,195,123,239,127,200,246,230,132,174, 88,
-114, 54, 59, 35,120,136, 6, 57,201, 32,165, 11,154,131,195, 99,190,240,202,171,252, 59,191,243,183,137, 18,205,104,176,202,103,
-247,238, 98,115,249, 25, 63,250,240, 67,108, 36,113,181, 33, 82, 8, 74,184,194, 70,194, 66,207,226, 4, 31, 36,120, 65, 71,150,
- 97, 54,161,172, 42,234,170,230,232,108,138, 15, 30, 27,193,114, 89,246, 22,203,140,251,143,142,248,111,254,195,175,114,103,164,
-249,163,159, 31,146,142, 18, 94,188,181, 71,211, 42,170,214,241,165,107, 19, 74,165, 40,130, 97,111,103,204,214, 40,230,100, 90,
-144, 79, 6,172,174,230,152, 36, 33,104,203,143,223,217,231,188, 17,117,171,214, 98, 67,107, 92,203,246,234,152,243,170,195,106,
- 75,215,120,206,231, 37,139,249,146,196, 26,138,122,137,239, 28, 15,159, 28,114, 52,157,179,177,189, 69,177, 88,240,157,175,127,
-141, 60,207,153,205, 11,148,130, 23,110,221, 98, 99,117,141,199,135, 7,228,105,202, 27,175,189,194, 47,189,250, 10,191,253, 91,
-223,225,119,190,251,215, 57,155,207,249,236,193, 35,178, 84,146,236,130,119,104, 99, 49,214,210,117,178,191,171,170, 82, 68, 75,
-145,193,249,142, 44,203, 73,146, 8, 23,100, 52, 25,124, 63, 81, 0,154,182,166,169,101, 28,216,180,253,136, 58,138,176, 86, 99,
-181,140,251, 66,232, 29,249, 65, 84,244,117, 89, 50,159,158,178,152,207, 25,140, 6, 84, 85,213,239,154, 61,109, 43,129, 34, 73,
- 58,144,125,104,239, 42,169,155,150,178,172, 88, 46, 75,188,119, 88,107, 48, 72, 96,197, 5,248, 35,138, 99,154,166,166,105, 26,
-178,172,207, 95, 15, 94, 64, 37,131, 28,215, 57,180,146,241,127, 81, 20, 34,102,109, 26,210, 52, 38,203,228,224,109, 59, 79, 28,
- 11,131, 33, 79, 19,150,165, 32,107,139, 69, 65,211,119,206,117, 83,209,117, 98, 57, 75, 18,193, 77, 23, 69,137,242, 80,213, 2,
-161,137,147,132,128, 8,105,157,235,136,163, 30,254,161, 36, 49, 75, 27,177,198,217, 88,118,183, 33, 64,250,116,229,225, 9, 58,
-160,131,197,196, 18, 13, 28,197, 98, 53,139, 35, 97,220,171,200,200,148,176, 7,139, 24, 19,131, 18,135,128,119, 30,173, 44,117,
- 93,226,157,251, 69,225,148, 38,212, 85, 67,215, 53,156,159,159,178,182,186, 65,146,231,124,252,233, 39,220,187,251,128,114, 81,
-176,190,185, 65, 32,160,116, 76,231,164,179, 75,250, 34, 74,217,136,206, 5, 20,189, 40, 83, 3, 30,130, 22, 80,138,137, 36, 97,
-175,243, 98, 99,149,196,178, 14, 23, 20, 93, 83,129, 86, 12, 7, 67,130, 10,232,160, 9,253, 13,234, 67,192,152,136,155, 55, 62,
-199,209,233, 19,113,168,104, 97,245, 27,101, 5, 27, 29, 2,131, 52, 37, 32,164, 63,239,100,202,147,101, 25, 30, 97,241, 7, 39,
-162,109, 23, 2, 42, 8,169,209,117, 29,177, 53,125,176,145,252,158, 1,143,242,136, 93, 12,121,142,165,185,148, 75, 93,163, 80,
-125, 71, 46, 78,169, 64,231, 29, 81, 36,251,234,128,238,173,127,209,211, 38,182, 44, 10, 20,129,178, 17,124,173,115,194, 79,177,
- 90,156, 91,105,154, 98,250,123, 45, 77, 37, 89,205,245,154,171,174, 19, 14,204, 69, 69, 33,117,176,124,167,170,191,176, 53,154,
- 46, 92, 88, 50,133, 28,137,145, 10,167,243, 29, 70,253,162, 32, 81, 10, 8, 34,248, 19,240,145, 60, 3, 38,146, 95,111,182, 47,
- 95,250,158, 24,245,101,127,214, 57,177,163, 68, 54, 18,111, 97,100,105,170, 6,109,109, 15,102,232,228,161,119, 30,239,101,103,
-230,124,215, 43, 65,133, 28,166,188,122, 58, 26,180, 70,120,235,113, 34, 48,123, 97,172, 75,103, 30, 71, 17,147, 60, 98,115,104,
-217,157, 88,170,227,125,220,124, 65, 20,197, 52,102, 64, 53, 95,242,210, 11,183, 88,217,217,229,171,111,124,145,239,254,245,215,
-249,141,111,253, 18,147,216,241,236,181,219,124,248,206,187,164,137,101,101, 48,192,219, 8, 21,101,108,238,237,114, 86,183,156,
- 45, 22, 40,175,168,107, 17, 8,253,252,157,183,120,114,255, 9, 73,182,130,195,243,224,195,247, 73,147,148,149, 75, 87, 88,189,
-116,157, 16, 28,179,197,146,174,106,184, 53,130,241,230,132,151,190,120,139, 56, 91,163,168, 27,246,118,118,217, 92, 29,113,237,
-210, 54, 55,110, 92, 98,107, 53,102,111, 96,217,222, 25,115,117,247, 10, 89,154,226, 58, 69, 58, 24, 80,207, 14,153,157, 30,241,
-202,107,175,114,112,120,206,193,254, 99, 92,209,176,178,185,194, 7,239,127,202,120,104,137, 99,203,116,214, 49,173, 52,233,120,
-194,231,110, 93,227,206,157,103,208,193, 83,159, 31, 99, 92, 75,100, 83,124,156,209,118,158,237,237, 13, 54, 55,214, 88, 29, 77,
- 88, 89,145,138, 59,137, 98, 76, 36, 52,165, 65,214,239,182, 98, 65, 63, 70,121,198, 15, 62, 59,231,223,125,101,141,166,109,217,
-222, 91, 39,195,241,246,126,193,251,143,231,108, 71,112, 62,175,200, 7,137, 40,129, 81, 52, 93,203,104, 20,179,123,123, 23, 99,
- 45,191,255,231,247,233, 2,116,190,197,123,216, 63, 56, 99,190,191,207,193,254, 19,130,170,217, 94, 91,225,224,238, 19,148,206,
-113,222,115,237,214, 45,118,214,215,249,241, 59,159,242, 31,255, 23,127,159,183,127,250, 54,159,190,243, 38,191,255,251,255, 55,
- 63,127,247, 46, 46,116, 92,219, 91,167,114, 29,150, 14, 93, 45,120,112,124, 72,227, 58, 78,230,115,226,212,177,178,190,194,225,
- 97,199,206,246, 21,126,237, 87,223,160, 90, 44,228,101, 12, 29,183,111, 95, 99,107,125,135, 65, 54, 96,239,242, 21,218,170,225,
-240,248, 72, 0, 43, 78,118,157, 90,203,190,206, 59, 41, 40, 9, 14, 79, 32,138, 19,170,170, 34,181,146, 40,181,108,106,166,103,
-133, 76,136,186,150,209,100, 72,211, 53,252,103,223,190,131, 90, 31,115,248,233, 62, 15,206, 27,110, 94,158, 16,235,192,209,180,
- 36, 29,100,172,103,150,135,251, 51,146, 52,226,184,104, 57,154, 87,108, 56, 79,172, 90, 38,163,140, 43, 59, 67,126,240,211, 71,
- 60, 58, 47, 41, 29,120, 15,173, 11, 20,165, 39, 75, 97,255,172,192,119, 13, 86,105,242, 65,134,209,150,217,124, 73, 81, 54, 76,
-231,243,126,204,105,168,154,150, 39, 7,199,188,254,242, 75,236,108,110,114, 62,155, 73,200, 71,211,176,185,177,198, 23, 63,255,
- 34,175,190,244, 60,183,111, 92,227,234,165, 61, 70,131,156,206, 57,190,252,202,203,172,173,142,249,236,254, 67,170,166,253,215,
-118,118,162,150,247,128,243, 50,105,139,172,197, 26, 75, 28, 37,228,131, 33,193, 59, 66, 95, 96, 43,241,202,241, 20, 18,211,117,
-120, 39, 35,251,174,109,159, 42,199,165,227,144,108,104, 25,231, 75,160,146, 86,138, 98, 81, 48, 59, 61,195, 57,199,100, 60,145,
-208, 39, 99,112, 94,132,100,174,235, 16,213,117, 32,137, 99, 1,148,120, 73,170, 82, 90,247,225, 47, 49,139,178,144,149,130, 15,
-100,105, 46,133,128,147,216, 86, 29,132, 19,145, 94,240, 26,148, 48, 51, 68, 23,211, 50, 30, 15,177, 54,198, 60,197,227, 10, 5,
- 51, 77,227,167,103, 93, 28, 71, 88,163,105, 90,177,253, 57, 31, 24, 14,134, 34, 88,210,114,128,198,113, 68,217,212,226,177,239,
-167, 12, 89, 26,147,196, 9, 74, 41,210,184,103,140, 55, 13, 77,215,209, 58,153,136,136,159, 92, 82, 32, 91,231,169, 91,143, 82,
- 2,199,105,218, 70,116, 16, 93,219, 55, 64,173, 56, 9,218,134,224, 3, 65,137,176,242,194,169,115, 49,214, 85, 74,252,227, 30,
- 65,122, 55,117, 3, 90,124,214, 93, 43, 54,191,224, 59,246, 15, 30,146, 37, 67, 86, 87, 54,120,244,248, 33, 10,133,137, 20,169,
- 77, 9, 58, 16, 27, 97,193, 71,113, 66, 89, 86, 68,198, 64, 80, 16, 12,160,145,241,188, 40,224, 55,183,183,216,217, 94,103, 60,
- 94,145,239,191,172, 8,186, 7,191,116, 30,231,101,220,110, 34, 67,150,102, 68,113,134,209,200,133,101,132, 0,105,149,229,202,
-181,219, 20,203, 25,222,181, 82, 16,249,142, 52, 77,233,218,150, 40,150,162, 65,194,178, 18,154, 70, 50, 1,146, 56, 21, 49,102,
- 47,240,140,250,137,114,100,228, 18,142,147, 68, 68,151, 90, 46,108,131, 8,204,100,107, 32, 16, 23,173, 5,182, 3,160,140,124,
-142,178, 94,234,213,240,253,104,191,110, 90,170,170, 0,165,250,105, 68, 37,233,158,173, 32, 90, 59,215, 82, 45,155,167,133, 2,
-128, 54,154,186,109,159, 78,178, 47, 86, 7, 38, 18,113,232,133, 24, 21,196, 81, 32, 47, 13,253, 37, 45, 99,116,130,216,237,156,
- 11,116, 93, 75,100, 45,194, 8,144,247,229,130, 83, 33,157,185,194, 24, 80, 24, 36, 16, 77,166, 9,190, 19,160,142,217,185,124,
-249,123, 42,120,186,198, 81, 55, 45, 38,178,100, 89, 70, 0,218,170, 34, 78, 18,177, 83, 57, 73, 67,178,253, 7,233,188,208,121,
-140,141,128, 64,154,101,132, 32, 49,155,141,235,168,151, 37,222, 43,148,149,221,162, 49, 17, 26, 17,219, 68,120, 6,110,193, 68,
-205,104,102,199,196, 70,243,225, 7, 31, 50, 43, 61,215,158,185,193,206,213, 29,190,248,194, 29, 94,122,225, 38,207,124,238, 38,
- 7,247, 62,165,155, 23,204,247, 79,216,191,255,136,163,253, 67, 22,243, 51,106,231,104,171,154,135,143, 78, 57, 56,153, 83, 55,
- 37,119,239,221, 39,142, 98,138,101,205,244,248,132, 36,130,227,233,156,120,176,138,139, 34, 54, 54, 87,136, 6, 49,101,213,144,
-173,110,210, 25,205, 96,117, 66,187, 60,225, 87,126,249, 13, 78,159, 60,225,254,180,100, 62, 47,185,121,101,135, 47,126,229, 11,
-156,207,206,200, 87,115,232,114,156, 78,121,255,221, 79,105, 23,231,132, 97, 2, 38, 39, 86, 26, 29, 13,152, 79,207,201,135, 49,
- 71,239,255,132,207,189,248, 26,123,151,174,162,147,148, 7, 71, 51,178, 44,230,238,254, 17,167, 39,103,156,205, 91,234,198,179,
-104, 20,151,118, 55,105, 26,199,116, 49,231,248,224,144,199,143,246, 57, 93,150,116, 68, 44,202, 37, 85, 89, 96,141,116, 4,103,
- 39, 83, 33, 39, 57, 71, 23,196, 35,217, 53, 53, 10, 69, 48,154,101, 81, 19,124,160,169, 58, 78,143, 14, 57, 92, 24,214,183,134,
-188,126, 99,204,124,209,176,189, 61,225,214,149, 21,226,216,242,238,253, 41,117, 39, 54,168,224, 68, 53,218, 41,205,217,225,156,
-227,131,115,242, 73,198,127,255,253,135,210, 37,121,100, 87, 27,160,158, 47,233,234,134,157,171, 87,185,113,121,151, 43,123,187,
- 84,217, 42, 55,238,220, 38, 31,173,242,135,255,242, 47,248, 91,255,246,119,249,227, 63,252, 51,126,248, 23,255,138, 55,223,252,
- 49,119, 94,122,137,124,146,242,243,183,223, 34, 31,231, 92,219,217,228,221,119,222,229,238,225, 19,118,175,108,227,149,230,250,
-245, 75,172,172,110,131, 94,193,154,152,255,252,119,255, 62,170,110,184,127,239, 51,210, 40, 98, 49, 59,231,240,240, 4, 29,199,
-252,217, 15,254,146,114, 81,114,116,116, 74,211,214,228,195, 1, 93, 23, 72,162, 72,246,130,117, 43,121,205, 81, 68,156, 72, 2,
- 97, 62,204,201,243, 49, 85, 93,163,157, 99, 56, 72, 25, 78,198, 52,190,227,232,100,202,225,209, 1,117, 3,127,243,133, 53, 54,
-135, 57,235, 3,203,163,233,146,179,131, 5, 15, 31, 31,179, 49,206,248,104,255,156,183,222,217,103, 47,215, 60,115,121,204,216,
- 4,236,116,193,245,117, 75, 98, 34,146,200, 48,140, 3,199,211,154,119,247,167,204,107,233, 48,149, 2, 99,224,242, 90,206,227,
-179,154,206, 67,221, 73, 16,132,115,129,241, 56, 19, 39,137,211, 36,131, 33, 69,217,178, 88,148,148, 85,197,175,127,253,171,108,
-109,174, 83, 84, 21,197,114,201,124, 81, 48, 91, 20, 84,101, 77,177, 44, 57,157,158,115, 62, 95,208,116,142,178,170, 56,159,205,
-216,222,216,224,185, 59,183,184,255,232, 49, 69, 47,174,211, 90, 34, 87, 47,178,214,219,166, 5,173,159,118,192,206,183, 68, 54,
-233,217, 11, 18,128, 97,227, 8, 2,148,149, 92,102, 73,108, 69, 95,162,144,113,161,150,195,201, 24, 67,150, 36, 12,135,195, 94,
- 21, 12,129, 14, 99, 35, 34,173,169,170,154,147,163, 99, 20, 74,224, 53,253, 69,104, 76,132, 15,130, 35, 70, 9, 27, 35,234, 39,
- 43,101, 89,136,146, 57,200, 40,218,244, 35,252,206,201, 57, 21,199, 9,229,178,164,110, 91, 18, 43,226,199, 56,146,177,123, 20,
-197, 36,121, 66,154, 36, 20,203,165,172, 72, 16, 18,164, 53, 50, 45, 92, 46, 43, 33, 30,170, 32,156,137, 86,184, 19,109, 43,164,
- 50,231, 36,194,185,173, 27,153, 60, 58, 9, 14, 89, 46,151,164,137,140,224, 67,215, 81, 85, 37,105,150, 34,214, 60,219, 11, 51,
- 91,210, 56, 33, 4,121, 6, 27,215,146, 38, 25, 98,171,115,210, 53, 90, 75,150,102, 16,164, 8,186,176, 38,133, 16,200,243, 12,
-148,136, 28,163, 40,145, 49,124, 63,150,109,155,142,124,144,139,240,175,207, 18,111,218,134, 44, 74,105,125, 71,158,166,180,222,
-139, 80, 76,107,158, 60,186,203,104, 52,102, 48, 90,225,244,248,136,243,243, 57, 59, 59, 91,236,238,108,115,116,122, 44, 80,160,
-224, 89, 95, 95,167, 88, 46,105, 59,113, 38,120, 4, 79,220,245, 49,175,117, 89,179, 88,116,152, 88, 19,167,137, 76, 8,218, 14,
- 66, 63, 26,118,158,160, 68, 17,158, 15,114,129,244, 76,198, 56,231, 69, 76, 88,139, 8,178,109, 28,151,118,175, 81, 55, 5, 93,
- 43, 88,213, 56,138,192,131,178,138,184,255,108,125,215,162,173,101,144,231, 24, 35,240,152, 98, 89,208,212, 45, 73, 42, 16, 26,
-165,132,183, 46,104, 89,139, 10,226, 59, 15,114,227,202, 13,216, 79,203,148,234,245, 32,198,200,245,170, 68, 35, 34, 98,118, 5,
- 74,225, 93,139,239,121,244,190, 19, 39, 85,211,117, 98,179,238, 58, 2,138, 65,150, 81,214,178,122, 93, 22, 5,229,114, 9, 8,
- 78, 60,138, 44,222, 9,217,206, 7,241,178,167,105,175, 63,178, 17,222,251,254, 34, 87, 40, 37,255,140, 82,104, 43, 19,131, 40,
- 18,215,142,128,224,100, 71, 30, 89, 9,119,177,218,224,233,197,141, 90, 73, 17, 3, 4, 20,198, 88, 92, 63, 93, 11, 4,204,222,
-149, 43,223,187, 16, 21,200, 71, 33,123,192,178, 88,210,120, 25, 27, 92, 32, 90, 37, 34, 83,225, 3, 50, 66, 49,138, 44,141,241,
- 46,144, 38, 73, 95,177, 11,244,191,115,142, 36,151, 7,175, 11,142,221,141, 49,119, 46,165,108, 71, 37,155, 67,133, 81, 53,111,
-254,236, 3, 46, 61,115,135,193, 36,230,243,175,188,196, 87,191,242, 26, 43,171, 9,153,129,179,233, 49,167,197,146, 52,201, 25,
-229, 99,178,124,204,206,173,155,232, 84,108,110,135,179, 83,138,162,160,152,117, 60, 57,155, 19,172,229,163,207,238, 83, 54,208,
-121,207,241,241,148, 39,247,238, 18, 69, 17, 42,196,196, 43, 99,214,215, 87, 89, 20, 2,114,209,193,179,117,249, 10, 15, 62,124,
-155,163,247,126,142, 63, 63, 99, 45, 55, 92,191,117,153,103,158,219,224,241,225, 25, 63,250,241,125,126,246,179, 15,184,251,193,
- 35,174, 95,218,195, 15,115, 94,252,252, 29,156, 10, 28, 45, 74,118,119,111, 99, 9, 60,190,123, 31, 19,229, 60,115,243, 6,127,
-249, 23,127,193,165,189, 93,174,220,186,195, 95,253,217,247,121,242,120, 31, 19, 25, 30,157,158,242,240,201, 25, 77, 93,211, 89,
-131,182, 17,211,229,140,166, 11,156,206,103, 40, 44,193,200,126, 43, 50, 17, 26, 71, 98,123,246,175,181,180, 93,131, 81, 10, 23,
- 28, 58, 82,104, 31,104,202, 10,229, 3, 45,242, 0, 57,196, 78, 17, 39,150, 65,146, 16,107,207,159,188,179,207,214, 32,226,245,
-155, 27, 28, 47, 27,108,208, 92,185, 52,225,149, 59,187, 92,218, 28,147,231,146, 94,230,103, 21,163, 24,242, 72,163, 2, 76,139,
-150, 31, 60,106,120,246,250,101,158,123,238, 10,197, 98,193,188,168,232,148,101,178,146,241,149, 55, 94,229,210,213,103, 89,189,
-124,153,217,162,228,238, 39,239,177,182,115,155,223,251, 39,255, 11,139,249,140, 63,249,139, 55, 41,231, 1, 21,149,140, 6,138,
- 63,250,151,223,231,232,224,152, 36,141,120,247,157,119, 89, 84, 51,162,108,192,141,155,183, 88, 89,221,225,193,253, 57, 90,173,
- 16, 25,203,213, 43, 91,108,172,174,113,247,195, 15, 56, 57, 43,136,146,136,149,213, 53,110, 61,251, 60, 63,251,233, 79,185,121,
-243, 58,113,150, 80, 54, 53,179,233,148,193,112,136, 2,170,114,193,124, 58,197, 27, 77,190,178,134, 25,230,104,155, 82,213,142,
-170,105, 41,170, 37, 54, 73,112, 78,179,152, 78,209, 33,144,167, 41,151, 47,237,144, 38, 25, 71,135, 11, 42, 87,241, 55, 94,221,
- 35, 29,196,252,233, 79, 31,243,228,180,160,241,138, 52,137, 88, 85, 13, 59, 73, 32, 74, 44, 89,217,146, 27,133,242,158,217, 40,
- 39, 68,150,135,199, 5,243,131,115,118,110,237,146, 36,134, 31,125,118, 70, 31,131,140, 83,176, 51, 78,121, 52,173,101,111, 24,
-148,116, 57,174, 99,190, 40, 89,214, 13, 40,143, 85,129, 52,205,200,242,148,163,227, 83,174, 94,190,196, 87,190,240, 50,222,133,
- 30,234,209,112, 50,157,114,112,114,194,241,201,153,216,183,250,206,165,174,106,186,206,177, 44, 75,124, 8,236,110,110,112,116,
-114,198,188, 40, 72,162, 8,173,149, 8,171,188, 56, 61,150,101, 33, 32,150,214,209, 53, 13,222,181,160,132, 57,173,251, 81, 37,
- 64, 28,247, 17,167,198, 98, 99, 81,219,163,100,175, 42,121, 12, 65, 52, 51,202, 16, 71, 22,215,213,164,105,132,107,131, 28, 86,
-177, 33,137, 35,206,207,166,156, 28, 29,227,186,142, 36,203, 8,222,247,133,133, 20,142,244, 29,211,124,126, 78,215,182,253,184,
-213, 82, 20, 18, 2,213,116, 45, 89,154, 81, 87, 18,216, 97,172,236,186,151,203, 5, 62, 72, 71,219,212, 45,206, 7,177, 0, 41,
-100,223, 8, 24, 27,177,172,151,104, 45,233,144,131,129,140,124, 5, 77,157, 60,189, 36,196,110, 23, 8, 78,138,150,166, 21, 60,
-118,154, 38,184,214, 75, 87, 93,149, 84,101,217, 35,111,187,126,252, 41,152,218, 56,137,104,218, 26,107, 35,202,170,162,237,106,
-242,108, 64, 89,215, 68, 70,252,238,178,109,149,139,253, 2,151,154, 38,137,120,194,157,196,130, 90, 27,201,228, 64, 75,199,172,
-149, 76, 26, 76, 28,209, 84,181, 28,236, 74, 81,215, 21,121, 62,160,234,196,210,171,130,146,127,238,126,161,238, 63, 57,218,103,
- 48,200,184,115,251, 89,180,214,220,188,113,147,131,131,125,230, 69, 77,189, 44,137, 76,196,198,250, 26,211,217,188,183, 33,138,
-168, 49, 4, 89, 29, 97, 68,236,231,130,163,169, 90,188,119, 68, 38,162,241,194, 16, 81, 10, 8,154,224, 37,149, 50,120, 69, 89,
-203,115,190,186,182, 70,215,122,230,231, 83,170,186,146, 9,141,243,172,175,109, 51, 43,206,232, 90, 73,190,187, 0,206,212, 85,
- 3, 78,240,225, 77,219, 98,172,238,167, 58, 18,229, 76,240, 68,177,216,225, 64,118,216,173,119,226, 37,111,157,132, 39, 5,240,
-222,211,133, 32,197,167,220,237, 68,145,145, 75, 80,110,249, 94,248,136, 40,242,149,248, 61,186, 86, 8,120,244,157,189, 4,178,
-136, 6, 44, 73, 19,170,186,150, 41,118, 85, 35,180, 70, 17, 3,218,126,245,105, 76, 31,115, 28,100, 21,133, 82, 18,207,170,149,
- 76,169,229,147,237, 53, 49,253, 95, 65,130,136,188, 15,224,131,188, 10, 62,224,131, 80,251,148, 86,196,177,237,215, 75, 10,133,
-188,239,114,103,203, 24,255, 23,122, 7,133,217,190,116,233,123, 23, 30, 58,188,146,223, 67, 41, 17,103, 92,140, 4, 26,161, 65,
- 9, 8, 64,146,210,172, 18, 65,128,209,162,120,140, 35, 73,202,146, 9,142,194, 59,199,202, 48,227,213,207, 95,226,141,151, 47,
- 49,212, 29,223,255,163, 31,240,227,247,238,113, 54, 93, 64,186,193,127,244,159,252, 61,190,244,218, 45,174,108,110, 96,234,142,
- 58, 56,134,249,136,245,181, 13,182,118,119,121,241,198, 85, 14,239,221,231,100, 86,225, 77,194,167, 15,222,229, 71, 63,253,136,
-186, 53,156,204, 91,138,165, 34,216,148,120, 52, 96,177,108,216,218,220, 18,202, 90,150,178,183,185,205,218,230, 26,163,124,194,
-222,205, 27, 36,169, 97,113,240,128,135, 31,125,192,233,225, 1, 7,135, 7, 60,252,248, 1,197,193, 17, 89, 30,147, 43,195,229,
-189,171,100,195, 85,210, 44, 97, 20, 89,190,248,210,117,234, 14,166,141,230,227, 79, 15,104, 92,203,219, 63,255,132,123,159, 28,
-144,153, 1,235, 59, 19,238,126,248, 62, 77,221,145,230, 67,158,123,254, 58,159,189,255, 30,223,254,206,119,249,225, 15,127,198,
-193,241, 41, 81,164,120,247,163,143,232,128,213,237, 13,246,143,207,105, 59, 37, 10,212, 96,217,218,217,100, 99,101, 66,158, 68,
- 4,223,177, 50, 30,203, 31, 16,138,124, 48, 68, 41, 77,237, 69,101,107,147,152, 16,126,225,195,180, 74, 10, 43,229, 2, 33,120,
- 76,128,166,170,233,202,146,135, 7,103,216, 44, 97,176,185,193,247, 31, 42,110,109, 89, 46,175,196, 56, 2,109,175, 68, 30,141,
- 99,110,236,172,240,252,237, 93, 38,235, 25,121, 18,177,119,121,157, 95,249,218, 29,190,244,185,109, 30,157, 46,121,235,225,130,
-235,219,171, 12, 82,207,237,155,187,204,102, 21, 15,143,102, 28, 29, 29, 10, 93, 42, 74,248, 31,255,201,255, 78, 99,229,226, 0,
- 0, 32, 0, 73, 68, 65, 84,204,131,131, 71, 36,217, 10,251,103, 71,172,110,239,240, 43,191,250,117,126,240,230, 15,184,119,239,
- 3,166,179, 25,227, 73,202,179,183,111,242,185,103,175, 82,204,102,172,172,174,240,210,107,207, 17,212,136,207, 62, 59,230, 91,
-223,250, 6,127,231,119,190,203,217,193,140,160,106,158,185,118,153,247, 62,250,132, 75, 55,110, 66, 8,156,157,156,242,193, 71,
- 31,112,227,153,155,220,187,119,151,199, 15, 31, 16,186,154,193,104,192, 98, 62,227,193,131,187,144, 88,198, 91,187, 68,121, 46,
-234,210, 32, 1, 60, 38,205, 80, 74,147,100, 35,108,154, 82,187, 14,147,164, 96, 45,117,227,112, 8,159,225,202,213, 45, 62, 62,
-170,249, 15,222,216,198, 90,203,202, 40,227,211,135,167, 68,193,161,130,226,115,207,109,243,149,103,119,169,235,134,251,203,142,
- 42, 4, 86,242,132,194, 91,110,110,229, 28, 31, 45,177, 10, 30, 44, 97, 77, 57,222,123,116, 74,231,165,162, 94,118, 48,138, 53,
-199, 69,199,255,207,212,155, 60,105,118,157,103,126,191,115,206,157,191, 41,243,203,204,154, 11, 85, 40, 20,134, 2, 1,112,210,
- 72,177, 37,138, 86,107,160,228,232,104,183,187,189,144, 29,209,142,182, 28,225,176,151, 94,216,225, 13,189,245,206,255,129,195,
- 59, 71,203, 45, 59,100,169, 37, 53,213, 52,155,110,113,130, 8,130,152, 11, 5,212,156,149, 89, 57,126,195,157,207,224,197,123,
- 51,217,136, 64,144,136, 42, 36,178,190,188,247,156,119,120,158,223,147,196,138, 72,203, 62, 77,107,200,227, 64,223,122,148,239,
-113, 93, 45,227, 54, 99,184,122,105, 11,235, 60,223,250,198,111, 81,214,245,208, 29, 11,134, 53,139, 83,166,179, 49,215, 46, 95,
-226,210,206, 22,206, 58, 22,235, 53,117,211,178,174, 42, 22,203, 53,214, 58,110,189,112, 21,231, 28,123, 7, 71, 72,148,228, 48,
-174, 78, 99,186,222, 97, 34, 77,223,137, 45, 53,205, 18,218,166, 37,210, 66,118,140, 98,137, 74, 62,187,180,133, 78, 39,135,125,
- 20, 11, 41, 77, 32, 48, 10, 16,142,120,146, 36,148, 39,167,224, 17, 31,176,142, 48, 90, 88,240,145, 49,196,137,226,244,100,201,
-233,225, 33, 58,138, 72,243, 92,118,148,195,193,220,180, 66,168,204,242, 12,241,224,123,210, 68, 98,161,227, 36, 35, 16, 40,242,
-156,170,110,206,125,196, 38, 18,141,143,214,162,224,238,251,142, 52, 77,233, 59, 73,117, 19,191, 58,232, 32, 59,233,162,144,127,
-110, 26,201,253, 78,146,136,213, 74, 24,252, 69, 94,200,222, 90, 9,125, 50, 88,136,163,136,214,118, 36,145, 0, 82,196,206, 38,
-161, 50,102, 88, 83,100, 89, 2, 65,138,242, 72, 69,212,125, 75, 26, 71,160,149, 8,234,144,195,185, 30, 82, 36, 3, 1,231,123,
- 41,212,253, 0,194,137, 4,194,162,181,166,119,110, 56,139, 3,130,252,149, 96,150,224, 37,231,194,246,110, 0,125,201, 46, 95,
-121,209, 43,196,145, 88,254,218,186, 34, 4, 65,126,123,229,193, 91,198,179, 57,215,175, 94, 35,205, 18,158, 60,222,197,232,136,
-201,116, 44,141,152,150,116,179,222,185,161,171,149,203,112, 50, 25, 15, 35,101,249,254, 61, 10,107, 61,146,118, 39,186, 40, 0,
-143,197, 59, 75,219, 89, 97,144,244, 61, 77,211,161,116,196,120, 52,162,105,106,170,170,193, 58, 75, 85,174,209, 26,110,223,186,
- 67, 85,157,130,119,244,118, 40, 14,116, 16,198,136,150,108,143,186, 19,122, 92,219,137, 43, 33,207,114, 17, 40,247, 45,103,246,
- 66, 89,123,244,160, 2, 97, 88, 5,248, 97,172,125,166,108, 87,200, 51, 72,144, 21, 17, 94,128, 76,193,137,109,205,251, 32,157,
-182, 10,164, 73,140, 81,146, 54, 23,144, 20, 82,163,100,181, 19,197, 50,189, 18,230,193,160,116,135,115,225,180,216, 31,101, 98,
-115, 70, 67,108, 91, 73,180,211,250,204, 30,170,126,161, 77, 75, 99, 66,144,207,209,163,112,214, 19, 25, 69, 80,178, 22,144,104,
- 87,225,200, 40, 37, 36,213, 56, 22, 77, 2, 65, 84,241, 74,203,213,174,228,250,198, 92,188,114,229,219,210,159,139,194,239, 12,
-200,208,117, 29, 32, 30, 84,180,162,237, 44, 40, 1,210, 4,206,212,147,242, 50, 6, 37, 8,192,224, 29, 46,104,174,238, 76,248,
-149,183, 46, 51,203,224,193, 39, 31,240,151,127,241, 35,126,246,179,207,249,194, 43, 55, 56, 90, 47,248,135,223,250, 71,124,235,
- 91,191,204,238,163, 7,124,252,246,251,220,253,224, 33,211,157, 75,204,183, 55,232,155, 21,251,247,239,177,247,241,199,188,253,
-227, 31,115,176,238, 89,181,150,167,251,251, 20,209,132,171, 59,215,208, 89,194,120, 54,101,103,103,204,147,207, 62,197,150, 21,
- 91, 99,241,186, 94,216,185,200,229,157, 77,154,234,136,141,233,152,205,217,152, 8,120,240,225, 79,217,125,112,192, 55,255,224,
- 27, 92,188,122,157, 75, 47,190,206,215,190,249, 15,248,242,215,190,200,139,175,188, 74,155, 20,132,182,162,238, 44,205,241,138,
-235, 55,174,176,108,122, 94,123,229, 53,222,250,194, 29, 54,162,134,235, 87,174,178, 53,158,114,251,213,151, 40, 70, 57,123, 79,
- 31, 81,149, 13,243,205, 77,242, 34,226,233,189, 79,185,241,194, 45,238,223,251,152,100,126, 17,173, 45,239,126,240, 41,202,196,
- 60, 63, 94,179,247,244,144,249,116,147, 34,207,153, 77,198, 92,189,116,153,141,209,136,174,237,168, 22,167,196, 73,130,245,208,
-180, 53, 26, 69,112,158,190,151,144, 20,165, 12,161,247,242,194, 84, 37,182,183,180,189,163,247, 34, 82, 42,187, 14, 23,143,176,
-105,134, 79, 50, 70,243, 45,162,188,192,196, 9,206,117,252,237,167, 11,218, 30,190,124, 37, 35,137, 13,125, 43,213, 98,221, 89,
-240,142,241, 56,231,226,165, 77,230, 91, 83, 57,196,141,226,155,183, 71,252,224,211, 61, 92, 60, 65,197, 99, 62,189,183, 75,154,
- 68,156, 46, 75,234,178,225,233,238, 62, 63,249,241,143, 89,151, 37,111,190,241, 10, 87, 46,204,217,218, 24,241,250,155,111,240,
-215,255,215,159,243,241,135,239, 83,228, 10, 21,207,112,193,176,174, 90,162, 44,229,231,239,221, 35, 30,143, 88,174, 19,182,183,
- 47,242, 95,254,139, 63,230,206,157, 59,124,118,239, 25,127,247,221, 15,249,163, 63,252, 42,159,125,244, 25, 71,213,146, 87, 95,
-125,133,170,170, 80, 33, 80,181, 53,143, 31, 60,225,249,193, 33,171,197,130,163,227, 35,158, 62,190,207,162,237,216,188,120,149,
- 98, 52,165, 15,225, 60, 98, 51, 73, 51,214,101,133,242, 8,243,121,216,171,102,105,134, 50, 49,141, 19,140,164, 13,154, 16, 39,
-172,202,134,101,235,152,198,138, 95,121, 93, 0, 64,125,213,113,112,184,102,209,120,126,231,215, 94,100,115, 50,226,234,245, 77,
- 94,185, 58, 39,209,138, 79,142, 74,126,112,247,144,175,189,121,153,175,190,113,141,211,189, 35,108,158,243,242,157,107, 84, 77,
-207, 71,143, 78,137, 34, 69,239,225,181,203, 83, 30, 29,183, 76,166,133, 8,215,186, 30,215, 67,150,107,210, 60,161, 15, 1,229,
- 3, 40,104,234,154,197,114,197,106, 93,242,251,223,252,109,170,170,162, 29,172, 95, 89,150, 50,157,142,185,126,241, 34,211,201,
-152,120, 24,205, 6, 47,190,251,174, 23, 30, 67,158,166, 76,198, 35,110, 94,189, 74,154, 36, 60,125,182, 55, 88, 52,165,219,246,
- 33,144, 21, 35,180, 49, 44, 86, 43,188, 71,192, 44,145,198, 91, 75, 91,215,178,171, 30, 4, 94,222, 75,146, 90,128,243, 83, 36,
-138, 34, 41,254, 99,137,189,244,222,146, 68,138, 52,206,136, 82,177,106, 25, 37, 23, 65, 28, 75, 88,147, 6,180,242, 44, 78,151,
- 44, 79, 78,136,162,136, 56,207, 9,214,129,134,174,237, 72, 98, 9,242,136,147,152,170,170, 72,116, 68, 49, 42,100,247, 27,203,
-247, 83,174,133, 46,215,187, 30,156,199, 58, 97,155, 39,177, 68, 67, 39,137,228, 77,212, 85, 77,100,228,162,244,222,163,181, 92,
-124, 81, 28,147, 68, 17,109, 39,246, 49,144, 81,112,211,182, 18,252,212, 11,185, 50,205, 50, 92,239,177, 72,194,163, 50,146, 94,
- 56,158, 20,131,245, 79, 44,189, 33,192,186, 92,145,102,137,188, 99,157, 32,115,229,118, 22, 12,106,164, 5,201,173,130, 60,139,
-142, 51,108,106, 39,235, 0,148,116,161, 42, 96,173,132,240, 68, 81, 76,111,123,146, 56, 57,255, 28, 1,234,186, 34,132, 64,150,
-164,152, 88, 46,140,214,246, 56,239,135, 51, 67, 97,116, 0,101,232,155,150,197,233, 49, 73,146, 51,153,110,114,120,116,196,226,
-100, 73,231, 45,105,150, 66,208,152, 56, 38,142, 19,154, 78, 24, 7, 74, 27,146, 60, 69, 35, 59, 97,201, 21,151,206,176,235,197,
- 18, 56, 31, 96, 53, 89,156,208,180, 45,103,224,157,179,191,101,130, 33,171, 29,201, 44,240,146,165,209,118,100, 69,193,214,246,
- 21,122, 87,161,241,131,176,213, 16, 69, 9,125,219,224, 53,164,113,194,114,181, 58,123,224,100,170,228,122,121,214, 6, 61, 66,
- 50, 48, 42,204, 48,189, 56, 19,196,165, 73,130, 66,166, 69,125, 47, 2,231, 16, 6,175,189,147, 32,167, 16,160,119,150,190, 19,
-114, 97,108, 12, 74, 11,247, 63,120, 40,235,146,190,239,105, 90,201,138, 56, 11, 54, 27,229,178, 2, 49, 90, 86, 63,103,204, 7,
-209, 81, 72,162, 40, 94,246,237, 70,107,108,239,240, 65,138,245,179, 52, 58,185,103,173,172, 26,148, 25,166, 47, 18,226, 18,130,
-151,248, 91,165, 57, 11, 99,242,200,127,195,121, 17,176, 6,163,135, 62, 92,166, 25,114, 19,128,217,186,116,233,219, 90,137,226,
-213, 90, 43,254, 78,132, 64,101,173, 35, 78, 5,176, 31,156,208,118,148, 2,163,101, 68,215,216,134, 34,205, 81, 40,178, 72,177,
-153,107,110,108,103,232,174,228, 95,255,205, 15,121,247,131,199,116,141,163, 0, 46, 94,152,112, 84,173,249,253, 63,248, 22,191,
-250,213, 87,217,123,122,196,250,249,146,163,163, 19,222,252,202,155, 36, 81,203,195,159,191,203,147,123,247,169, 27,143, 29, 93,
-196, 37,219,164,147, 45, 70,163, 9, 69, 81, 80,182, 21,173,235, 73, 10,195,165,139,155, 60,184,247,128, 56,207,184,121,117,139,
- 59, 95,120,133, 11, 23,119,184,125,251, 5, 62,125,255, 7,188,247,211,183,249,240,189,143, 56,122,182, 71,189, 62,228,243,251,
- 79,184,122,243, 58, 63,255,240, 93, 30, 61,218,229,234,213, 29, 30,127,242, 17,127,246, 47,255,140,159,253,253,123, 60,123,190,
-199, 81, 89,241,228,160,226,180,106,120,178,187, 15, 40,158,237, 30,179, 46, 79,249,240, 39, 63, 1,109, 88,149,107,178,209,152,
-229,209, 9,121, 18,113,249,218,101,186,186,225,104,127,143,157,237, 25,171,186,225, 96, 89,113,233,218,101,190,247,255,126, 79,
-216,227, 93,192,247,142,151, 95,125,145, 81, 81,136, 93, 37,142,233,250,142,147,211, 99,170,213,138,108, 58, 1,109,200,178,148,
-201,120,131,170,179,196,185,240,226, 39,147, 13,162, 84,248,214, 65,105,154,120, 68, 60, 26, 99, 70, 99, 66, 90,224, 77,130, 41,
- 70, 40, 29, 51,158, 76,145, 90, 52,156,219,120,228,129,210,188,255,172,225,187,159, 46,201,210,132, 81, 10,179, 34, 33,210, 10,
-165, 4, 96, 97, 61,244,214,177,191,234,248,127,222,127,206,255,250,239,142,249,249, 33, 60,122,186, 79,164, 12,111,189,245, 5,
- 14,142, 79, 89,213,167,232, 40,208, 54, 22,239,123,166,147, 28,235, 58,126,246,238,207,217,123,254,156,195,221, 93,190,255,246,
-207,177, 64, 60,218,226,218,139,183,152,111, 94,224,241,147, 61,214,109,160, 44, 35,102,243, 11,252,119,255,237,191,224,247,127,
-239,119,104,106, 79,219,172,121,244,104,151,143,223,185,203,225,179, 79,121,251,157,119,184,113,227, 6,239,255,252, 61, 62,191,
-255,128,227,197, 9,101, 93,131, 49, 34, 82, 59,122, 14,177, 33,228, 19,198,147, 25, 58,142,112, 10,122, 43, 64, 20,207, 32,242,
- 50, 70, 24,202,202,160,140,198, 59, 69,227,134,184,204, 16,208, 42,194, 68,177,136,140,186,150, 52, 77,249,209,195,146,255,236,
- 11, 27,108,142,199,252,244,222, 46, 39,149, 99,115, 26,243, 96,111,197,245,235,115, 44, 6,231, 20,151, 47,111,242,198,173, 11,
-152,206,241,231, 63,126,204,131,167, 39, 28, 46, 26,102,121,132, 77, 51,170,117,203,143, 63, 57,162, 48, 16, 27,205,183,190,112,
- 1,159,229,124,246,228,148, 56, 54,232,212,128, 49,100,105, 12,116, 40,165,241, 38, 69, 71, 26, 55,224, 55,215,235,134,111,252,
-250,175,160,149,166,110,133,172, 21,188,103,156, 23, 40,163,229, 61,117,194, 76, 48,145,208,171,242, 60,227,210,206, 54, 91, 27,
- 51,138, 92,210,155,182, 55, 55, 25, 21, 57,251,135, 71,212, 93,135,117, 34, 80, 90,151, 53,113,146, 50, 26, 21,196, 73,130,119,
- 78, 92, 48,193,203,101,102,229, 28, 56, 75, 63,243, 33,136,240, 40, 18, 43, 80, 8,129, 51,248, 84, 28,137,109,205,245,157,248,
-199,211, 20, 99, 16,202, 27,142,200, 68,140, 38, 25,206, 74,199,100,140,104, 53, 86,167, 11,234,245,138, 44,207, 49,113,130,237,
- 59,250, 78,196, 72,206,121,180,134,209,100,130, 86,131,152, 77, 75,160,137,243,150, 44, 73, 73, 83, 9,239,144,216, 76,139,137,
- 99,108,111, 25,141,100, 66, 99,173, 35, 78, 98, 52,129, 44,203,100, 63, 26,160, 44,215,162,177,208, 70, 28, 16,113, 6, 90, 50,
-204,207, 40,151,206,245,152, 65, 64,140, 67, 70,242,109, 35, 35, 99, 37, 35, 90,173, 52,125,219,176, 92, 46,177,214,225,123, 75,
-146, 13, 33, 85,222, 19,199,137, 20, 66,195,193,108, 34, 3, 90, 81,100, 25,105,146, 96,212,176,226, 68,209,212,213,128, 79, 85,
-168, 72,196,136, 33, 40,204,208,141,141, 10,233, 30,189, 11,232, 72,139,208,206, 91,116, 16,144, 73, 58,156, 45, 81, 44,123, 96,
-239,165,163,143,211,132,190,109, 89, 46,143,240, 1,182,231, 23,120,248,232, 49,155, 27,115,180,210,168, 32,196,178,233,120, 74,
-164,133,175, 15,136, 16,203, 8,100, 42,132,128, 81,195,245,170, 13,174,111,153,111,204, 24,141, 38,204,166, 83, 41, 8,234, 14,
- 71,128, 48, 36, 4, 58, 71,154,164,108,110,206,200,179, 92,116, 23,145,166,235, 90,108, 47, 83,150, 60, 27, 97,125, 3, 74,176,
-212,214, 89, 70, 89,198, 25,107,193,104,185,232,146, 52,197, 35, 34,238, 60, 47,144, 96, 30, 81,200, 27, 37,157,120,192, 99, 76,
- 36, 20, 64,231,206, 59,103, 97, 87,200,231, 47, 35,109,141, 15,210, 44, 69, 38, 34,224, 65,121,122, 43,133, 95, 20, 75,145, 16,
- 96,112,142,156,145, 2, 37, 8, 72,186,112, 75,217,212,132,224, 25,101, 66, 27, 52, 70, 83, 55, 53, 77,221,208,116, 13,206, 75,
- 64,145,181,189,216, 49,173,192,124,206,248, 47, 40, 47,169,113, 62,156,251,237,189, 19,193,155,115,126,176,253,197,128,116,230,
-206, 74,178, 98,158, 74,114, 97,215, 54,228, 73, 42,141,152,150,168, 88,147, 22,163,111,159, 93,212,157,243,116,109,131, 11,129,
- 56,137,201,211,140,190, 29, 88,180, 70,200, 74,121,150, 73,170, 88,215, 17,107,205, 56,215,140, 88,227,234, 21,180, 29, 79, 30,
- 63,135,104,206,246,118,193,151,190,116,135,249,198,152, 98,178,193, 27, 95,252, 34, 55,175,237,112,229,226, 20,175,144, 60,234,
-211, 19,174,109,110,240,236,201, 39,220,255,232, 1,206, 37, 68, 27,151, 81,227, 57,163,233,148,157, 75,219,140,198, 57, 15, 31,
- 63,101, 50, 47,216,222,154, 97, 28, 60, 59, 56, 97, 60, 54,220,186,121,129,136,154,119,223,255,140, 7,247,119,121,247,131,187,
-252,251, 31,253,128,191,253,247,159,178, 88,116,148,117,207,202,121,246, 14, 78,121,184,191,230,195,207,118, 57, 90,172,241,238,
-148,187, 31,126,200,221, 7,207, 8, 38,230,241,222, 41, 93,187,102, 89,247, 84,173, 35, 40,205,243,229,146,131,227, 5, 85,231,
- 56, 61, 62, 21,219,204,198, 6,247, 30, 62, 37,118, 45, 70,123, 84,128,195,253, 3, 38, 23,175,114,244,252, 57,167,171, 22, 51,
-189,196,222,163,207,120,251,157, 15, 40,171,158, 52, 31,161,180,102,190, 49,195,104,205,201,209, 41, 18,106, 47, 84,166, 52, 79,
- 65, 25,146, 52,103,123,123, 27, 31, 52, 46, 64,145, 23,242,176,165, 49,189, 54, 88, 29, 81,121, 8, 73,206,108, 54, 37, 74,114,
- 90,247, 11,171, 68,100,228,107,212,117,141, 49,134,104,240,222, 38, 81, 76,211,212, 56, 43,156,103,167, 51,126,240,249,146,191,
-253,188,229,207,222,121,206,251,187,107,222,123,238,248,116,127,205, 95,126,188,224,127,249, 55,143,249, 63,223, 95,242,131,251,
- 13,207, 43,137,195,140,178,156,117, 89,242,236,233, 46,255,252,143,255,136,131,131, 67,142, 15, 78,200, 83, 67,150, 69, 4, 13,
-203,202, 98,240, 84,199,107,246,202, 21,191,246,214, 23,249,230, 55,126,139, 95,250,234,151,249,103,255,236,159, 50,159,108,210,
- 52, 37,111,190,241, 69,126,251,183,191,206,133,157, 13,110, 93,188,192,103,247,239, 18, 37, 41,235,213, 18,219, 59,254,244, 95,
-254, 57, 71,171, 39,184,174,197,232,136, 94,201,110, 77,188,155,129,123,247,238,113,120,116, 72,190,177, 77,103,101,167,229,131,
- 20, 35,130,122,132,222,203,104, 91,178,194, 53, 4,135,243,162, 3,209, 70,252,182, 33,200, 11,229,135,170,184,169, 42, 9,188,
-136, 19, 84, 44, 7,237,111,220, 24, 65,112,188,123,255,136,169, 81, 28, 29,173,121,254,188,228,230,141, 45,130, 82,172,234, 14,
- 29,197,188,118,107,155, 75,179, 4,211, 59,136, 19,102,190, 39,217,154,178, 51, 73,248,193,251, 15, 57,109, 52,177,118, 92,158,
-101,124,235,151, 94,228,251,247, 42,130,181,216,225,207,149,143, 11,170, 82,196, 77, 90, 89,230, 91,219, 4, 29, 51,155, 22,180,
- 93,195,139,215,175,177, 53,159, 75,183,224, 4, 24,210, 90, 25,235,149,131, 95,187,110, 26,172,117,244,206, 49,155, 76,152,140,
- 70, 4, 37, 59,225,170,105,168,171,154,160, 96, 92, 20,236,237, 31,210,180, 29, 90, 1, 38,146,209,251,112,177,231,211, 49,203,
-229, 10,219,247,244,157,168,208,179, 44, 3,192,218, 97,135,170, 53,117, 85, 15,122,149,128,210,114, 40,170,190,165,238, 26,233,
-122, 80, 24,165, 24,229, 19,122,223,147,165, 25,214,246, 52,117, 75, 50, 36, 84, 89, 39,140,110,231,193,246, 61,235,211, 19,148,
-247, 20, 27,211,115, 53,186,236, 13, 37, 77, 49, 40,232,157, 35,142, 34,178, 44,165,239,123,220, 0,128,137,134,238, 61,142, 35,
- 18, 19, 19, 84, 32,137, 99,218,182,193,123, 71,211, 52,104, 19,227,130,248,237,189,242,180,141,172, 29,204,176,235,246,200,100,
-178,173,170,225,185, 56, 75,188, 19, 53, 59, 33,200,179,227,157, 8, 71,173,149, 3,188,107,104,219,238,188, 91, 11, 65,114,201,
-207,178,195, 65,244, 16,222,203,174, 62, 77, 4, 88,163,181,162, 26,144,184,235,245, 90, 92, 5,198,144,166, 9,171,213,146,182,
-105, 33,200,244,225, 44,153, 82, 41,141,239,101, 90, 19,153, 72,206,235,190, 31, 52, 7, 45,218, 68,120, 47,204,114, 99, 12,121,
- 54, 34,138, 69,224, 39, 29,170,103,181, 58,166,235, 74, 70,163, 41, 39, 39,199,140,198, 57,202, 24,150,167, 11, 66,232, 89, 47,
-151,108,110,111,138,255,223,181, 40, 47, 29,242, 96, 82,195, 35, 93,174,179,150,211,213,154,197, 98,141,115,129,124, 60,194, 40,
- 77, 85,175,137, 52, 4, 4,229,219,245, 29,145,209,100,133, 92,234,151, 47, 95, 98, 60,154,202,200,186,174,136,147,148,201,116,
- 78,215,174,105,171,154, 60, 77,176, 65,114, 18, 8,138, 44, 73, 7, 1, 25,228, 73, 70,156,100,210,245, 50, 4,123, 5, 41, 52,
- 68,240, 40, 63, 39, 29, 16, 56,142, 54,180,157,197, 58,177,225,245, 93,135, 10,160,181,198, 15,151,166, 50,200,136,155,128,235,
- 29, 46,120,212, 80, 76,181,125, 71,150,101,231,235,157, 52,149, 11,148, 32, 5,151, 50, 34,104, 60,211,103,244, 3, 58, 55, 32,
-122,157,190,149,176, 25,173, 20, 85, 89,227,149,180, 92,194,210,111, 65,169, 95, 76,142, 34,161, 95,102,113,140,115, 1, 79,160,
-119,131, 78,196, 73,252,114,158,138,176,209,246,146, 40, 24,153,152,178,170,208,177, 58, 95,209,152,164, 40,190,221,182,173,140,
- 42,134,135, 27, 36,209, 70,252,234,226,213,179,157,101,148,102,128,236, 30,182, 38, 9, 23,230, 41,169,209,188,254,198,151,184,
-253,210,203,120,229,249,143,255,201,127,202,215,190,254,171,148,213,146,227, 39, 7,252,230, 55,191,193,139, 87, 46,179,145, 9,
-178,176,152, 78,185,117,227, 22, 31,254,248,135,252,240,175,191, 67,223,151, 84, 86, 83, 76, 38,152, 44, 39,104,205,233,201,130,
-253,163, 3,154,178,162,115,138,241, 40,231,224,240,136,227,211, 35, 78, 23,107, 54, 55, 71,188,251,209,167,252,249, 95,252,127,
-252,228,103,143,120,118,184,226,241,254, 9,207,143,150,172, 78, 26, 28, 80,108,206,232, 2, 44,150, 53, 85, 39,149,158, 11,129,
-222,194,162, 82, 44, 42, 72,211, 92,254,172,214, 81,183, 1, 92, 43,150,178,122, 65,185, 90,225,109,199,163, 71,251, 52, 85,205,
-201,178,103, 99,172,184,245,194,117,210,174,228,210,149,109,148,201,216,220,153,147,109,238,240,244,179, 79,197,127,175, 2, 15,
-247, 15, 89, 87, 13,243,217, 38, 59,155,155,108,109, 78,136, 77, 4,206, 49,157,111,208,212, 75,156,237,177,189, 35, 54,209,208,
- 41,196,244, 77, 79,215, 54, 64,224,116, 93,211, 27, 3, 38,193,250, 64,211, 91,108,111,137,180, 84,231, 77, 37,201, 74, 26,217,
-191, 20,121,113,190,171,233,187,134,200, 8, 91, 32, 40, 56, 79,202,115,144,166, 49,160, 88,174,106,172,137,121,178, 12,124,240,
-108,205,199,167,134,143,247, 86,232, 84, 0, 32, 62,136, 16,202, 7, 81, 7,107,109,168,123,207,199,119,239,241,133, 23,111, 66,
-156,243,116,119,159,201, 44, 33, 79, 10, 42,103, 41,203, 64,190,177,195,155,175,221, 33,159,108,242,194,139, 47,242,197, 55, 94,
-231,238,189,135,244, 77,224,198,173,171,252,246, 55,190,206,100, 99,139, 7, 31, 61,230,187,223,253, 30,219,155, 41, 39,171,150,
-163,163, 5, 63,254,119,239,112,247,209,187,236,236,236, 48,219,156, 17, 98, 9,123, 88,175,215,172,170,154,199,123,251,116, 74,
-147,142,167, 24, 99, 80,202, 96,155,138,180, 24,225,189, 39,203,114, 80, 26, 81,202, 4,122, 39,227, 62,235,129, 32, 47,146,117,
-146, 67, 44, 56, 81, 3, 4,148, 49,210,225, 41,133,137, 98, 12,154,247,119, 43,254,233, 91, 51,110, 94,220,224,241,201,138,253,
-221, 99,146,241,152,253,163, 37,167, 71, 37, 47,221,186, 64,232,100,178,181,238, 91,110, 93,152,208,250,192,199,247,247,137, 21,
- 60,179,154,184,183,252,207,255,197,215,184,125,113,196,193, 73, 77, 86, 36,252,225,157, 57,255,247, 7, 11,182,166,194,150, 86,
- 8, 20,166, 24, 21,164,249,152, 72, 39,172,214,173,120,117,189, 16,226, 22,203, 37, 95,250,194, 27,248, 32,144,152, 85, 89, 82,
- 86, 21,157,237,232,173,167,110,106,170, 70,236, 63,113, 60, 80, 25,189,165,170,107,202,170,166,170, 27,170,182,165,170, 27,154,
-170, 6, 5,199, 39, 11,185, 36,187,150,253,253, 61,142,143,142, 40,203,146,186,172,216,216,220, 98, 50, 42,136, 83,129,164, 64,
-192,232,179,142, 71,212,188,105, 38, 29,149,137, 18,178, 34, 39, 73, 18, 20, 72,110, 66, 31, 8,218, 19,148,248,176, 81, 1,219,
-123,182, 54,230,180, 93, 75,211,116,231, 59, 74,217,121,134,193,154, 6,182,111, 8,109, 75,148,102, 76, 70, 99, 1,190,164, 25,
-157,179,212,101, 61,172, 1, 44,105,154, 51, 46, 38, 36,137,228, 48,244,189,100,177, 71,113, 76,215, 53,164,137, 4, 50,181, 67,
-113,146,166, 49, 77, 45,161, 81,218, 8, 60,230, 28,189,105, 20,202, 24,156,245,180, 77,131, 36, 2,202,202, 70, 84,250,178, 55,
-141,226,136,190,237, 73,243, 12,223, 7,116,172, 16,220,172, 38,205,114,226, 40, 65, 34, 52,115,122, 43, 99,237,178,170,144,112,
- 18,185,160,116, 36,133, 66,146, 36, 84,101,137,237, 58,154,174, 37,203,114,226,232,204,121, 36,187, 84,231, 68, 68,214,214, 13,
-120, 47,207,181,146, 17, 59, 10, 12,160,180, 22, 61,147, 70, 46,208,161, 3,142, 34, 17, 4,162,229, 57,143,227, 68, 68,129,121,
- 34,144, 31,163, 41, 70,134, 43,151,174,242,228,241, 46,207, 15,143,184,124,113,155,131,195, 5,179,249, 6,125,215,179, 60, 89,
-136,112,108, 80, 98,203, 8, 94,166, 28,145, 14,120,101, 72,148, 96, 83,235, 70, 50,202,139,209,136, 40, 78,134,238, 83, 19,134,
-189,179, 13,142,174,109,169,234, 22,107, 97,123,123,131, 0, 44,150, 43,132, 26, 40, 33, 98,139,245, 49,231,192, 23,163, 9, 30,
-146, 52, 38,142,164, 99,213, 81, 68,215,183,120,235,134, 14, 93, 52, 93,105,148,208,212, 13, 62,120,178, 36,147, 70, 20,141,210,
-114,241, 7, 31,136, 77, 36, 90, 27,206,106, 45, 17, 67,234,160, 9, 90,147,166, 9, 81, 44,118, 55,144, 31,153,172,151,228,189,
-203,135,152,238,115,124,186, 18,231,135,132,132, 73,100,234,127,136, 94,206,139,130,186,109, 9,222,203,100, 7,177, 32,234,200,
- 96,173,165,170,106,202,213, 90,222,241,197, 66,166,101,145, 0,117,226, 97,157,149, 70, 41, 54,120,166,147, 9, 73, 26, 15, 59,
-117,153,196, 56,235,132, 47,160,144,233, 68, 43, 57, 40, 38, 27,143,191,237,189, 23, 47,161, 26, 54, 38, 65, 62,136, 36,138,206,
-237, 32,194,222,109, 1, 71,106, 75, 62,250,240,125, 78,151, 21,191,250, 43, 95,227,149,219,215, 8,182,164,200, 18, 62,185,123,
-159, 52, 79,200,163,148, 59, 47,223,230,249,238, 99,140,114, 92,120,225, 26,189,239,176,203, 5,247, 63,124,143,163,123,159,144,
- 23, 83,230, 47, 92, 99,239,232,128, 69,233,233,186,134,195,131, 35,166,211, 49,137, 86, 28,159,172,169,214, 43,102,147,130,147,
-231,187,140,139, 9, 95,250,149, 55,152,109, 77,185,253,202,109,190,250,230, 29, 94,124,225, 6,119,238,188,200,181,235,151,193,
-213,100,121,202,237, 23, 47,115,253,250, 38,243,139, 27, 92,186,176,195,151,222,188,197,229, 75, 59,188,252,210, 11,236,236,108,
-243,242,203,215,216,220,202,153,110,140, 89,156,118,108,111,109,242,252,104,197,245, 91,115,118,174,205,137, 83,152,140, 34, 10,
- 19,243,141,175,255, 50, 95,254,210, 29,110,222,122,129,110,177, 38,119, 37,163, 81, 1,113,198,214,165, 75,148, 39,199,244, 42,
-229,201,179,167,120,165,120,118,112,202,170, 44,201,199, 83,166, 27,115, 38,211, 9, 77,213,162,227,136,128, 34, 53,134,106,177,
-100,177,172,185,124,245, 10,206, 15,156,238,174,167,174, 75,186,222,178,118,134,178,111,229, 64, 13,103,130, 15,113, 29, 4, 37,
-194,154, 52, 79,135,135, 71,128, 21,222,139,127,120,185, 92, 50,202,243,161,242, 51,128, 34,141, 35,210, 36,165,239,100,151,149,
-100, 41, 70,105,218,174, 27,198,145,114,200,116,157,149,177, 85,128, 44, 21, 38,119,150, 8,165,203, 5,233, 98,189,142,104,170,
-134, 43, 23,182,184,247,217, 83,226,172, 32,164,176,125,233, 50, 87, 47, 93,229,203, 95,249, 34, 87, 46, 93,225,206, 23, 95,231,
-248,248,136,173,157, 45,137,225,205, 34,238, 63,120,128,247,158,190,107,121,250,108,151, 63,255,235,191, 98,239,217,231,156,158,
-158,242,108,127,159, 31,253,224,135,188,250,234, 75,220,120,241, 10,125,223,179, 88,173,249,244,243,135, 44,155,142,182, 15,152,
- 36, 33, 50, 17,222,123,146, 44,149,195,194, 7,178,193, 47,140, 22,207,179, 49, 6, 15,152,200,160,149, 38, 50, 17, 90,201,126,
- 54, 73, 18,226, 36, 22,133,247,176,131,147,216, 71,135,242, 78,246, 93,190,167,235, 61, 65, 43,190,124, 61,227,214,213, 77, 22,
- 39, 53,167,135, 75,174,238,140,168,215, 53, 63,189,187,199,113,128,173, 89, 70,145,196,212,189,227,194,246,140,215, 95,216,226,
-193,163, 35,158, 29,183,172, 78, 86,252,242,155,215,121,243,230, 22,127,242,135,175,243,187, 95,189, 14,206,241,127,252,236, 57,
-117,231, 48,177, 68,123,142,139, 20, 99, 12,218, 32,151,179, 15,180,195,250, 43,248,192,227,253, 67,238,188,252,146, 28, 14,214,
-210,244, 61, 71, 39, 39,148,101,133,181,142,101, 41, 44,251,166, 23,235,149, 11, 30,235,252,249,129,210,118,130, 17, 93, 46, 86,
- 28, 45, 22, 20,163,156,229,106,197,186,170,137,181,166,108, 26,180, 81,244, 77, 75,239, 44,117, 93,129,254, 69,214,181,142, 13,
-145,209,114, 9,245, 29,182,235,168,235,150,179,232, 97,188,199,104, 48,169, 30,118,206,144,100, 99,194,176, 67,204,139,140,106,
-181,162,110, 42,148,226,252,207, 21,199, 2, 61,209, 42, 34,206, 34, 89,241, 89, 47,233,124,125, 77,215,116,164,163, 17, 70, 27,
-153, 64, 69, 17, 89, 38,187, 76,233, 60,173, 60,255,131,192,175,239, 90, 58,235,200, 6,145, 95,219,247,216,174, 35, 27, 73, 14,
-184,136,169,212,217,121, 78,154,102, 40, 52,157,149, 11, 71, 13,157,165,115, 3, 78,181,179,100, 69, 14, 90,172, 86,145, 49,180,
-182,197, 68,226,207, 6, 17,229,245,189, 40,232,235,106, 77,240, 48, 26,229,228, 69,142,100, 96, 20, 56, 39, 42,237,128, 8, 14,
-141,145,209,107, 61,184, 20,198, 67,212,172,247,146,136, 22, 27,161,123, 74,164,115, 71, 8, 18, 73, 42,151,114, 74, 20, 25,218,
-170,166,237, 68,137,173,141, 68, 76, 39, 73, 34, 36, 53, 47,118,173,179,164,190,179,164,203, 52, 23, 46, 66,223, 75,104,138, 66,
- 49,154,141,185,116,249, 6, 7,123,251,188,245,197, 47,177,251,244, 41, 58, 17,206, 64, 90,164,212, 77,207,100, 60,165,239, 5,
- 61,172,180, 70, 17, 49,154, 20,164, 70,208,209,210, 4, 56,108, 47,209,218, 50, 69, 72,136, 35, 72,134,192,155,182,233,104,219,
- 30,239, 58,132,195,174, 49, 74, 10,162,114,189,166,235, 90,230,155, 23,105,154, 53, 93, 91,203,115, 94,213,228, 69, 78,185, 94,
- 19, 80,231,207,127, 32,144,197, 9, 4, 33,176,165,169,144,221,226, 72,166, 52, 74,203,228,210, 12,151,103, 20,137,157,218,107,
-137,251, 62, 35,189,157,187,190, 20,100, 81, 68,211, 52, 2,168,106, 91,218, 86, 32, 71,103, 90, 18,107, 45,113, 28,137,214, 76,
- 5, 78, 79, 23,244,157, 36, 82,158,229,222, 39, 73,130, 49,178,223, 78,178,140, 44, 21, 91,165,252, 28,196,243,144,102, 41, 18,
-158,102, 68, 7, 16, 15,185, 11, 89,118,158, 76,218,181, 45,113,244, 11,194,107,150,166, 18,146,228, 3, 40,117,142, 8,110, 59,
- 89, 83,157,221,205, 73, 28,203, 5, 63,219,222,254,118,146, 74, 69,217,180, 45,117,211,160, 20,148,171, 53,177, 22, 56,129,137,
- 12,145, 54, 20,186,230,224,209, 35, 14,246, 78,249,189, 63,252, 22,127,244,187,191, 70,174, 34, 30,124,250, 41,159,191,247, 30,
- 71, 75,203,111,254,206,239,178,185, 57,198,250, 22, 21,122,102, 59, 51, 46, 94,152,113,239,147,159,179, 60, 94,177,251,100,143,
- 7, 31,127,196,169,213,148,241, 24, 29, 39,120,175, 72,179, 17, 7, 39, 75, 46,236,108,210,215,199,156,156, 28, 17,101, 57, 23,
- 47, 93,228,141, 55,238,240,165, 47,190,193,229, 11, 27, 28,236,238,210, 46, 27,158, 63,121,198,163,187,247,233, 7, 78,240,163,
-135,187,184,166,231,149,151,111,208,156, 30,242,240,238, 3,170,253, 67,182,178,132, 56, 74,152,111,205,168, 23, 75,138, 60, 38,
-143,103,188,118,235, 53,210, 40, 98, 60,202,120,245,181, 87,249,245,175,125, 21,237, 19,158,237,238,226, 77,196,229, 27, 23, 72,
-210,152, 59, 47,221, 98,156, 40,182, 55, 82,246, 31, 62, 66,235, 64,165, 21, 35, 20,165, 85, 60, 63, 57,226,244,120,193,231,143,
-158,209, 13,123, 23,165, 61,139,147,138,107, 87, 47,208,247, 29,199, 39,199,232, 56, 65, 43, 13, 74,170, 71,219,148,226,225, 93,
-173,169,235,154, 16, 2,141, 78, 89,180,210, 97, 57,235, 16,123,207, 74, 14,236,174,149, 96, 21, 6,127,165, 15, 68, 38, 66, 1,
-171,213,138,170, 42,169,171,122, 24, 23,118,231, 59, 61,107,197, 75,107,157,103,148,231,178,227,177, 98, 21, 10, 67, 57,154,164,
- 9,214,246,228,121, 78,100, 18,186,190,147,209,208,240,235, 38,138,136, 80, 40, 51,140,181, 85, 76,185, 60,226,246,237,107, 92,
-220,218, 98, 99,115,131,194, 71, 92,191,180,205,116, 99,147,245,106, 69,112,242,125,237, 62,221,231,253,247,223,231,228,228,136,
-182,107,121,242,232, 17,119,239,222,165,108, 26,232, 53,206,203,203,180,183,187, 79,215, 46,200, 70, 9,167,101,197,186,181,172,
- 59, 71,148,228,146, 49, 96,164,242, 78, 51, 25,147, 38,145, 16,187,208,144, 68,137, 4, 57,120,143, 66,118,233,222, 73, 69,222,
- 54,253, 48,117,144,174,221,123, 79,219,181, 56,103,113,222, 10, 20,164,151,132,179,224,135, 80,162, 97, 23,250,233,222,138,175,
-191, 52,101,107,146,241,226,205, 29,156,117,208,119,172,214, 61,139,206,241,238,195, 21,243, 2, 46,110, 77,240,168,115,229,236,
-173, 23,183,233,234,134, 77,229,184,122,109,147,182,247,212,173,227,111, 63, 62,229,127,248,171, 93, 78,107,203,104, 99,134, 73,
- 18, 78,235,146, 85,221,211,245, 34, 48,202,210,152, 34, 75, 24, 21, 5, 69, 94,144,230, 5, 65, 41, 46,239,108,243,242,141,235,
-164,105,202,184,200,152, 78, 38,244,214,243,232,233, 83,246, 14, 14,168,234,154,147,197,138,163,211, 83,161, 63,198,178, 31,175,
-135, 14,189,237,122, 14, 79, 78,217,221,127,206,230,108,194,201,106, 69, 93, 53,226,229,174,155,243, 34,208, 57,203,100, 58,165,
-110, 26,234,178, 38,138, 68,233, 77,128,141,249, 22, 90, 5,142, 14, 23,244,214, 81,228, 9, 89, 86,208,117, 43,250, 1, 84, 85,
- 87,146,236, 85, 20, 35,210, 98, 4,193,163, 6,129, 82, 91,182,152, 36,161, 24, 23,244,182,195, 91,209, 13, 68, 73, 66,176,142,
- 36,137,241, 94,128, 48,174, 23,149,119,185, 60,165,170, 42,162, 40, 38,202, 98, 92, 39, 58,145, 98, 52, 18, 70,120,219,210,187,
-158, 73, 81, 80,213,237,249, 62,213, 90, 75,145,231, 40, 4,252, 18,199, 67,194,163, 49,231,239,155, 31,126,222,198, 72,252,106,
-181, 46,241,125, 47, 43,132,166,195,186,158,174,174,105,215, 21,182,183,116, 77,141,183, 86,236,114, 78,172,108,103, 7,187,144,
-205, 18,124, 80,244,193, 19, 37, 9,160,105,234, 10,113, 7, 64,112, 78, 64, 50, 94,194,102,186,174, 99, 52,202, 49, 70,146,194,
-178, 92, 46,130, 51,161,151,128,127,100,202, 38, 42,115,185,148, 36, 81, 78,130, 78, 20,210, 69,246, 93, 71, 20, 37,242,117, 18,
- 9,186, 73,226, 76, 2,102,148,162,107,197, 85, 96,173, 69,105, 67, 83,201, 5,114,122,114,130,179,150,151,111,191, 66,146,164,
-124,252,201, 93, 54,103, 83,234,186,165, 40, 10,214,101,201,246,124,142, 54, 17,189, 21,144, 14, 74, 40,116,202,104,156,147,189,
-182, 6,156, 10,248, 94, 38,159, 58, 82,164,153,124, 6, 93, 47,207,159, 48,245, 3, 78, 57,170,117,201,108, 54, 97, 54, 25,179,
- 92, 87, 44,151,242, 76,229,121,198,179,221,135,132, 32,236,147,182,149,196,188, 52, 73, 40,171,146,128,240,248,125, 16, 76,113,
-211, 86, 8,178, 88,166,115, 74, 43,154,225, 78,112, 94, 18,247, 92,144,104, 96,215, 91, 76,146,160,181, 56,135,140, 17, 17,154,
-115,142, 56, 77,208,145,156,137, 73, 28, 83, 53,146, 0,121, 22, 37,222, 91,153,154, 57,231, 68,197,111, 45,109,219, 75,119,236,
- 7,167, 68, 8,128,196,132,103,169, 0,146,210, 76,114,232,147, 36, 30, 40,132, 50, 1,207,114, 33,208,157,141,235,179, 84,154,
- 20, 23,164,240, 91,151, 37,189, 19, 54, 76, 83, 55,232,200,176, 46, 75,153,128, 4, 48,145, 44, 67,210, 88, 50, 89,140,150, 70,
- 70, 43,141, 41,102,179,111,183,125,135,209, 2,168, 16, 9,190,120, 17, 37,154,212,241,210,141,109, 70,122,197,143,126,240, 17,
- 93,235,248,147, 63,249, 99,178, 80,178, 62,170, 40,166, 27,252,236,167,111, 51,187,118,131,255,228, 63,255,231,232,196,242,224,
-243,123,204, 71, 35,202,227, 67,252,209,115, 62,255,228, 19, 30, 61, 91,147,111, 94,225,147,251, 79, 56, 12, 41,183,238,188,193,
- 11, 87,231,188,255,254,199,180, 78,179, 89, 36,244,182, 65,121, 69,213, 42,174, 94,189,206,173,151, 95,165, 72, 13,245, 98,193,
-131,251,159,241,103,127,250,175, 56, 93,214,212, 93,224,211,251,247,121,248,108,143,174,135,189,195, 5, 85,181, 70,231, 5,139,
-117,197,243,189, 37,214, 69,140,102, 19, 92,215,176, 90,173, 25, 23, 27,220,249,194, 91,236, 92,184,204,175,254,218, 87,185,124,
-121,147,117, 89, 51, 73, 51, 86, 39, 11,110,223,184,140,235, 27, 78,142,123,182,230, 59, 40, 45, 7,205, 59, 31,190,205,123,239,
-191,203,123,239,126, 66,154, 90,246, 79, 61,149,115,116,222,208,184,136,199,123, 79, 57, 89, 86, 56,219, 19, 23, 25,168,152, 81,
-145, 82,100, 25, 89, 20,179, 90, 44, 25,141, 11, 76,108,232,186, 14, 23, 60,121,145, 51,222,152,147, 20, 17, 77, 85,115,186, 88,
-144,110,110,177,172, 69, 1,235,188,140,186,206, 84,204,178, 52, 10,244,125, 55,168, 43,219,193,147,236, 41,235,146,196, 68,131,
-194,243,236,247,203,142,242,172, 18,141,227, 88,210,232, 66, 32,205, 50,218,186,162,105, 69,152,213,246, 29,237, 48, 54,138,226,
- 68, 44, 57,177,112,193,123, 20,192,223,152, 0, 0, 32, 0, 73, 68, 65, 84,235,228,130,111, 90,122, 47,182,155, 56,205, 80, 4,
-214, 86,113,178, 92,177, 94,175, 40,208,212, 85, 73,189, 94,114,112,188,228,241,227,199,132,166,229,254,131,135, 44, 23,167,172,
- 86, 21,229,106, 77, 93, 86,120,161, 61,112,124,124,200,100,154,114,225,202, 22, 30,197,186,169, 49,197,148,164,152,146,100, 57,
- 38,146, 49,175, 82,106,248, 95, 8, 65, 70,229,182,109,104,250,142, 40,142,241, 46, 16,197,134,166,170,164, 4,145, 47, 15, 65,
- 58,194,174,235,192, 13,241,159,177,164,123, 57,239,206,126, 11,214, 90, 52,129, 56, 77, 68,153,220,119,231, 88, 83,147,141,121,
-190,234,249,253, 87,198,216,160,120,225,133,109, 46, 92,221, 70,121, 71,230, 3,127,248, 91,183,121,243,206,101,130, 7,197,224,
-141, 30, 62,167, 91,215, 54,185,250,194, 14, 79,158, 30,177,179, 53,225, 7,247,142,248, 31,255,244, 35,246, 78, 42,166,211, 41,
- 90, 15, 42,104,165,101, 90,160, 52,104,197,104, 60, 35,202, 50,106,103,135, 17,177, 36,139,185,224,249,135,255,224,235,204, 70,
- 5,121,158,147, 14, 34,171,186,105,248,252,241, 46,167,139, 37,167,235, 37, 71, 39,167, 28,158, 44,132,206, 21, 2, 85,211,178,
-174, 74, 78,151, 75,238, 63,126,130, 71, 88,213,199, 39,167,212, 3, 1,171,179, 18, 47,154, 23, 99,166,211, 41,117, 85, 18, 2,
- 50,170,244, 94,192, 41,113,224,240,249, 33,214, 65, 89, 55,231, 5,225,133,157, 57,206,138,178,248,228,104, 73, 26, 69, 44, 27,
-161,207,101, 89, 70,150,103,180, 85,141, 2,108,215, 12, 29,232,136, 56, 17,145,166, 15,158,241,116,131,174, 23, 75, 80, 90,164,
- 36, 90,139,179,163,183, 2, 20,241,129,182, 94, 99,251, 64,146, 38,100,121,142, 30, 58, 35,137,158,108,233,250,158,201,100, 74,
- 93, 85,242,249,164, 41,109,219, 98,140,193, 89,203,106,177, 16,231,142,181,148,171, 37,190,237, 40,151, 43, 78,143,159,179,124,
-190, 71,181, 88,162,131, 67,227,105, 87, 75,130,109,113, 77,141,175, 43, 92,223,226,235,138,174, 42,161,235,233,170,138,174,174,
- 8,109,143, 9, 18,142,211,181, 13,174,109,229,223,107, 91,250,170,166, 92,157,210, 55,141, 80,201,202, 21,101, 89,226,218,150,
-182,105,168, 42, 9,191,170,214, 13,171,213,146, 56,138,206,159, 61,107,173,164,188,197,241, 48, 81,144,139,197,246,150,166,237,
-206, 59,185, 56, 82,160, 21,113, 20,225, 92, 79,211,244, 12,193,216, 50,249, 65,201,136,120,232,250,147, 36,161,105, 58, 41, 78,
- 21, 2,122, 49, 17, 90,123, 60,129,141,209,156, 71, 79,119,153,111, 93,192, 59, 71, 18, 71,232,160, 56, 58, 57,225,194,197, 29,
-249,172,123,139, 86, 96, 48,160, 3, 93,235, 81,218, 13,103,148,168,201,227, 56, 98,103,123,147, 81, 49,102, 50, 25, 99,180,193,
-246, 34, 22, 11, 33,224,154,118, 56,210, 20,105,158,203, 5,104, 61,117, 83, 49,159,111,209,182,107,214,235, 21,145,142,200,243,
- 12,163, 52,101, 89,146,166, 25,177,145,192,175,178, 42, 57,139, 73,141,226,152,186,148,127, 62,155, 94, 26, 99, 48, 90,138, 84,
-163,135, 21,178,115, 40, 45,120, 99, 99,212,249,249,120,134,147,174, 43,113, 19, 40, 96, 50, 30, 81, 85, 18,211,237, 7,139,105,
-150, 72,138,105, 20, 9,128,173,179,253,160, 61,233,168,234, 90, 32, 59,157,208,228,148, 82, 56,215,203, 26, 72, 49, 80,239,192,
-182, 61, 30,232, 59,153, 56,248, 16,206,167, 67, 93, 39, 89, 42,189,237,137, 6,161, 98,221,212, 8,210,218, 16,153,152,166,150,
-117, 78,150,231, 36,177,160,157,215,229, 90,126,159,151, 9,152,186,122,251,118,104,172,140, 88, 20,103, 73, 78, 43,169,148,210,
-152, 87,111, 78,249,251, 31,190,143,111,225,229, 87,111,242, 75,111,189, 74,181, 56, 38,141,102,188,241,203, 95,225,217,209, 9,
-243, 11, 23,120,233,149, 23,233,251,146,221,187,159,147,160,105, 67,203,179,123,239,177,247,248, 25, 46,191,196,198,165,107, 4,
- 19, 19,199,138,249, 60,227,239,190,255, 35, 9,129,199,115,253,210,156,131,167, 79,136, 77, 96, 54,154, 97,139, 9,241,100,147,
-128,161, 90,158, 82,158, 28,242,244,240, 57,227, 60,227,241,163, 3,162,108,204,116,154,178, 60, 93, 48,205, 19,234, 94, 70,167,
- 58, 27, 83, 76,103,108,204, 70,236,108,108,177,119,248, 20,215,195,178,116,236,204, 55, 96,125,128,143, 50, 54, 46,108,178, 56,
- 56,165,200, 34,170, 85,137, 11, 10,175, 12,101,219,242,234, 27,175, 65,148, 98, 88,115,239,227, 79,249,232,179,231, 76, 55, 13,
-171,165, 88,249, 50, 51, 97,150,197, 92,221,154,113,218,214, 60,123,126, 72,143,161,152,140,104, 26,203,133,249, 5,140,234,232,
-234, 6,148, 38,232,132, 52,137,197, 30,227, 45,105, 44,145,160,139, 85,201,120, 82,208,215, 53, 93, 58,198, 7,197,170, 44,113,
- 94,118,195, 82, 4,244, 4,103,153,142, 70,104,173,169, 26,241,230,106,165,207,109, 20, 74, 41, 76,164, 25,143,167, 44,151, 75,
- 20, 96,162,132, 52,137, 24,138, 87, 66,240,178, 63, 82,138,217,120,138, 50, 10,219,118, 84,109,131, 54,154,209,104, 36,106, 98,
- 28, 27,179, 13,233,104, 16,241,135, 68,104, 10, 22, 19,175, 17, 79,177, 40,120,147, 72,212,215,125,215, 8,166,181,107,152,140,
-198,120,215,145,105, 77,100, 20, 81,156, 97, 76,196,186,109, 88,173, 78, 49,197, 24,101, 18, 44, 82, 17,163, 4,118, 19, 0,163,
-204, 80, 1, 55,104, 35,187, 43,235,197, 34, 18, 28,184, 65,161,155, 38, 9,113, 38, 17,193,206, 89,138, 34,103,185, 92,162, 35,
-131, 63, 75, 42,210,145,140,227, 29,195, 45,175,176, 78,166, 15, 90,203, 5,138,119,231, 29, 80,154,167,152, 16, 73, 87, 73,160,
-169, 26, 70, 69,142, 86,138,219,115,205,127,255, 31, 93,231, 11,215, 11, 18, 45,227,255, 72, 11,254,213, 58, 15,193,227, 3, 24,
- 37,123,225,200,104,196,155, 13,117,239,249,223,223, 62,224,127,251,187,103, 28,156, 44, 80,109, 75, 58,155, 48,157,204,232,186,
-142,120,216,217, 73,112,131, 40, 88, 21, 66,199,243, 40,246,246,158, 97,187,158,139, 87,175,242, 95,253,163,111,113,231,230, 77,
-202, 86,226, 62, 9,176, 42, 75,234,182,229,254,195,199,172,170,146, 34,205, 40, 70, 5,207, 15, 14,145,136,213,148,166,169, 56,
- 93,174, 41,171,154,173,205, 25, 0,207,246, 15, 88,151, 21, 54,136,192,231,224,248,152,166,110,184,112,233, 50,222, 87, 28,236,
-159, 50,223,222, 34, 4, 41,242,109, 47,130,159,224,228,135,229, 60, 82,160,102,134,241, 40, 3,107, 89,183,150,190, 21,124,169,
- 6,210, 60,149, 21,158, 23,244,103,213, 52,216,222,146,196, 9, 12,123,106,107, 45,121, 49,198,104,205,186, 92,227,157, 5,173,
-105,154,138,166, 21,139,142, 70,145, 36, 50, 46, 86, 33, 16,180,193, 97, 72,243,156, 36,207, 24, 21,178,135, 14,214, 99,189, 48,
-228,125,219, 17,250,150,214, 5, 34, 45, 22,220,182,151,255,127,105,107,204,201, 90, 10,217, 68, 71,232, 88,139, 64, 82, 9,139,
-195,186,142,208, 5,225,179, 35,239, 80,148, 36,242,189, 41, 61,124, 15,138,128, 92, 14, 77, 45,120,233, 60,207, 81,177,236,111,
-235,186,230, 12,177, 27, 37,146,213,221, 59, 75,172,196, 87, 45, 35,107,143, 50, 6, 53,236, 73,215,235, 53, 2,155, 1, 21, 20,
- 58, 18,161, 93, 54,206, 73,210,152, 52,203,229,242,178, 14,173, 21, 73,172,209, 81, 34,151, 98, 8, 56, 31,164, 19,236,237,240,
- 19,240, 16, 36,119, 91, 25, 67,164,164,155, 12,200,239,245, 46, 80,213, 37, 32, 9,114,177,142, 9, 33,226,116,217,178, 57,221,
- 64, 71, 48,202, 71, 60,121,250,136,186,106,153,111,205,152,109,204, 57, 62, 57,161, 92,158,162,163,132,190,115,191, 56, 47, 16,
-152, 82,154,165,236,108,205, 73,243,140, 60, 21,198,127,185, 90,241,116,239, 25, 77, 45,236,244, 36,210,204,231,219, 92,188,120,
-113, 56,167, 60,182,179,228, 89, 76,146,229,252,253, 79,254,134, 44,203,153, 78, 39,120, 15, 33,184, 97, 29,225, 89, 87, 43, 17,
-185, 69,194, 76,177,214,201,152,221,136, 74, 93, 10, 78, 6,212,111, 68, 8, 34, 16, 60,107, 90, 69, 28, 41, 98, 74, 59, 76,232,
- 84,144,143, 44, 26,166, 36,214,185,193,126, 41,159, 85,154,165,224,160,237,106,214,235,138,174,179,104,141, 20, 5, 78,240,195,
-125,223,145,100,177, 88,227,146,152, 60,207, 25,143,198,152,225,130,118,225, 23,118,196,166,237,200,226,148,160, 3,193,203,250,
-130, 16, 88, 45,151, 20,227, 49,206, 90,208,208, 53, 98, 45,175,155,154, 60, 31, 17, 25,141,243, 98,209,211,200, 52,195,121,207,
-106,181, 36, 4,177, 4,170,107,175,191, 30,244,176,116, 15, 61,196, 70, 49,154,196,140,148,101,239,241, 62, 93, 85,243, 79,254,
-241,239,161, 66, 79, 74,202,238,211, 71,204, 54,119,120,225,197,155,132,209,132,203,215,174,208,183,107,142, 15,158,211,173,151,
-116, 77,199,120, 54,101,113,184,207,223,252,235,239,176,121,225, 6,215,110,190,128, 67, 17,124,203,209,254, 46, 15,159, 62, 99,
- 62,159, 19,108,207,201,201, 41, 69,146,114,235,198,117,174,221,188,197,229,155, 47, 19, 92, 75,189, 60,225,189,159,189,195,222,
-243, 35,238,126,242,144, 19,167,152,196,129,108,148,145, 36, 17,243, 89,142, 82, 17,143,246, 79, 73, 66, 67,150, 38, 52, 93, 71,
- 80, 49, 38, 54,148,235, 26,128,178,214,140, 38, 16, 25, 25,131,196,113,132,107,107, 66,128,241,120,130, 15, 14,173, 83,217,141,
-100, 57,182,235,201,139, 28,223, 91, 76,168, 57, 56, 90, 49,153,111, 48,157,140,153,231, 35, 78, 86,167, 82, 21,245, 29, 7, 71,
-199,114,184,198, 25,197,120, 76, 28,197, 36,103,200, 75, 5, 81,156,161, 12, 24, 34,250,186,165,117, 45,106, 80, 92,219,166, 33,
- 4,139,203,102,172,187,112, 94,197,142, 71, 99,170,166,101, 60, 42, 48, 74,227,149, 60,162, 89, 34,135, 14,136,157,165,119, 98,
-101,106,234,154,141,141, 77,130,117,216, 40,194,123, 71,145,166,216, 65, 12,102,134, 7,183,183,150,200,104,154,186,161, 40, 36,
-202, 16,165,168, 43, 25,243, 4, 32, 45,114,240,129, 52, 75, 72,163, 20, 84, 64,155, 4,235, 44, 77,215, 97, 76, 12,202,211,247,
-210,149,170, 72, 19,250,128, 54, 34,102, 92,213, 53,190, 19, 15,169, 81,129,196,104,206,178, 1,242, 60,103, 93,213,140, 70, 99,
- 18, 35, 89,196, 90,137,224,170,174,219, 97,213,169,134,137, 65, 68, 59, 80,179,100,252, 40, 30, 76,219,117,231,221,123,158,231,
-178,143,213,138,190, 23,241,213,104, 52,146, 21, 68,223, 35, 88, 10,206, 95,240,188, 72,209, 58, 62,127,121, 8, 67, 10, 88, 36,
- 80,149,166,174,137, 18, 17,134,213,117, 73, 50,136,112, 92,240,116, 77,131,138, 99,110, 76, 13, 47,109,101,204, 71, 9, 47,204,
- 98,110,238, 20, 36, 38,160,130,165,106, 61,139,198,146,199, 26,143, 98,217,122, 14,106,120,231,241,154, 15,246, 58,148, 22,146,
-214,114,185,132, 32,226, 67,140,193,245,253,249,116, 37,156, 21,105,122,216,145,102, 25, 7,143,158,160,199, 99, 38,163, 49,175,
-220,188,206, 63,254,205, 95, 39,137, 13,182,179,180,189,120,102,243, 92,108,167,103, 62, 90,173, 53,123, 7,135,124,240,201,167,
- 50,134, 12, 74,198,197, 74, 49,202, 83,154,166, 99, 89,174,233,218,142,186,105,137,162,136,135,123,187, 44, 78,151, 24,109,216,
-220,218,160,235, 58,206,224, 38, 93,219,145, 36,146,154, 85,215, 53,202, 59,172,245, 88,219,161,148,240, 14,186, 94,216,227, 0,
- 59,179, 24,215,244,144,102,180,206, 81, 87, 61,243,233,152, 40, 75,176,109,199,217, 85,109,180, 34, 77, 98,185,164,173,195,196,
- 50,234,111,219, 94,158,117,229, 89,173,106,156,147,175,171, 21,164,121, 6,189,136,219, 34,163,207,187, 45,173, 53, 58,138,240,
-193,210, 55, 61,109,215, 19, 25,205,107,175,222, 70, 71,154,201, 36,231,173, 59,183,105, 87, 39,140,211,132,103,207, 23,252,217,
-119,126,194, 56,207, 64,105, 48,195,225,220,159,121,241,165, 0, 8, 94,225, 97,248,126, 52,232,232,252,123, 9, 65,114, 5,218,
-170,145,233, 65, 20, 13,151,139,161,174, 74,166,211, 41, 61,129,152,132, 16, 58,214,235, 53,206,245, 24, 29,147,196,131, 50,126,
- 56,240,219, 97,221,229,177, 24, 21,163,180, 34, 24,136, 80,162,239,232,123, 58, 39, 9,115, 65, 41,146, 44, 99,182, 49,149, 16,
-153, 32, 94,235, 0, 76,199, 83,148, 54, 40,173,100,157,224, 29, 58,112, 46,152, 77, 83,209, 73, 68,137,112, 13, 80,162,163,234,
-173,197, 53, 29, 42,213,132,160, 89, 29,183,164,105, 6, 65,177,170, 74,146, 36, 97, 99, 99,198,114,185, 26,128, 63, 96,173, 25,
-214, 92, 10,135,147,105,160,239,241, 14,180,142, 72,242,132,113, 49, 98,190, 57, 99, 52,158,208, 54, 53,203, 69, 73,239,123,180,
-150,116,196, 73, 49, 2,196,175,157,102, 49,182,109,184,242,229,215,233, 85,195,135,255,230, 59,244,182, 30,214, 98, 35, 76, 44,
-122,158, 44,203,232,250,158, 40, 74,196,213, 19,155, 33,162,148,243, 29,248,122,189, 6,100,133, 49, 25, 77, 48,145, 62,231, 25,
-160, 53,222,122, 66,144,244,205,206, 74,161, 51, 26, 21,148,165,116,235, 81, 20,145,166,153, 76,123,180, 38,201,115, 18, 35,231,
- 65,211,118, 28, 31, 30, 10, 87,164,107,207, 59,125, 31,164,227,118,206, 17, 37, 41, 59, 91, 91, 66, 10,212, 26,207, 64,141,115,
- 22, 19,157, 1,155, 4,210,150, 37, 57,214,187, 1,168, 3,105, 28, 83,174,215,228, 69,193,114,121, 10, 65,211,116, 13, 1, 89,
-191,108,108,108, 12, 83,214,150,190, 21,107,103,154,166,216, 86, 82,243,212,237,175,124, 53,104, 99,232,109, 79,223,116, 92,152,
-231, 60,252,228, 30,116,142, 87, 95,186,204,141,107, 87,105,214, 75, 32,225,181, 55,223,160,172, 75,138, 60,131, 40,225,165, 59,
- 55,176,173,103,113,178, 96,190, 51,197,150, 13,159,124,250, 25,113,191,226,223,126,231,251,108, 92,122,153,203,151, 47,242,248,
-249, 62, 15,238,127,142,111, 79,233, 58,104,173,226,229, 91,215,184,120,105,206,206,252, 50,171,211, 35,166,227,130,199, 39, 43,
- 46,143, 99,254,213, 95,189, 77,131,167, 24, 68,136, 27,243, 12,213, 15,202,222, 60,101, 52, 78, 89,157,214,216,206,178, 92, 87,
-140,210,152,101,221,177,150,162,134, 36,210, 2, 46, 48, 25,145,150, 7, 88, 17,200, 50,217,195, 86, 85, 69,217,136,186,120, 99,
- 99, 74,142,176,141,139, 81,129,201, 82,116, 60,198,105, 77,154,196,156, 30, 60, 27, 70, 87,129, 56,203,176,189, 40,116, 15,247,
- 15,201, 39, 57,135,135,107,218, 62,112,245,210, 22, 55,175, 95, 65,105, 56, 62, 60, 97,115,186,193,100,115,202,201,241, 17,235,
-229,154,182,174,241,200, 37, 19, 37, 67,186,143, 78,104, 85,204,114,189, 6, 37,118,151,217,108,134, 82,122,168,218,213,240,123,
- 35,206,172, 50, 81, 20,201, 65, 82, 11, 81,201, 24,195,120, 60,198,123,135, 69,168, 67,121,122, 54,186, 14,210, 5,122, 47, 59,
-114, 47, 97, 22, 66, 50,211,104, 35, 94,217,166,235,241,125, 79,239, 29, 12,191, 86, 20, 99,210, 44, 70,171, 33,193, 41, 40, 92,
-240,244,182,195,121, 68, 37, 62, 84,254, 70, 71, 40,131,116, 75, 94,196, 70, 33, 72,100, 98,235, 90, 98, 37,236,122, 81,185,230,
-164, 81, 2, 90, 44, 49,224,233, 58,207,104,156, 83,150, 37,193, 6,188,242,232,179,238,200,251,193, 83,142,216, 85,188, 0, 59,
-240, 34,180, 50,113, 76,150,202,158,172,239,196, 23,155,164, 41,214,123, 34, 99, 8, 65,170,218,179, 75,175, 44, 75, 8, 65,124,
-166, 94,120,219, 74, 41,138,241,152,186,148, 68, 58, 81, 80,247, 68, 70,126, 45, 74, 18,217,201, 57, 71, 22, 15,135, 33, 82,205,
- 71,145,120,152,227, 52,193,245, 61, 90,131,138,132, 58,149,166, 25,113, 28, 9, 67,188,151,149, 86,158,139,240, 74, 5, 69,211,
- 84,152, 56,197,219, 30,162,136, 40,156,245,184, 10,137,107, 28, 50,209,189,151,112, 22, 99,248,141, 55, 95,227,171,175,191, 10,
- 1,186,222,194,176,223,108,218, 14,215,247,180,125,127,126,201,159,156,156,240,236,224,128,166,149,177,228,124, 99,131, 16, 2,
-187,251,207,105,218,142,166,235,112,189, 99, 52,202,249,236,201, 19,214,235, 21,193, 7, 38,211, 41,235, 85, 41, 10,119, 43, 96,
-142, 52,145, 48,141,195,227, 19,102,147, 41,243,217,152,166, 90,114,186, 88, 18,180, 34, 38,176,110,193,202,153,201,214, 40, 38,
-142, 98,124, 28, 97,173,231,248,184,100,115, 62, 69, 7, 75,240,210,133, 10, 39,187,167,152, 76,233,187, 30,123, 38, 94,114, 3,
-195,155,128,239, 44, 22, 79,221,180, 72, 33, 32,190,100, 29,201,164, 37, 56,133,210,210,105,186,222, 81,150, 53,193, 57,174, 93,
-189,196,215,126,237, 75,124,243, 55,191,206,254,254, 83,142, 15, 15,185,119,247, 46,161,235, 72,243, 20, 21, 37,252,197,247,223,
-197,104, 3, 70, 46,111, 25,215,246, 67, 49, 40, 63,123,133, 18,158, 0, 17,113, 36, 57,219,222,202,231,105,173, 39,207, 82,122,
-215,147, 36, 25, 38, 74,208,202, 17,208, 52,117, 45,239,140,151,120,217,170,238, 72, 83, 37, 99, 95, 18,156,147, 93,188, 82,138,
- 96, 3, 54, 8,198, 20, 32, 74, 19,112,158,172,200,233,186,142,174,173,209, 42,162,110, 4, 88,162,213,217,239, 85, 68, 73,202,
-100,107, 78, 94,164,172, 86, 21, 74, 41, 54,166, 27,114,137, 43, 77,223,118,152, 40, 26,196,102,158, 40,138, 57,163,192,233, 97,
- 74,128,247, 36,105, 70, 89,174, 40,138,130,170, 44,137,162,136, 55,222,248, 50,222, 26,190,251,189,239,177,177,185, 77, 28,197,
-204,198, 19, 14,219, 19,244, 58,224,227,136,182,148,181,151, 67, 38, 84,249, 32, 80,244, 65,236,119, 65,121, 70,249,132,141,141,
- 9, 89,150,209,182, 50,121,243,182,195,217,150,124,188,201,149,151, 94,103,114, 41,101,245,224, 25,229, 98,197, 87,254,155,255,
-154,233, 44, 99,255,157, 31,115,247,237, 31,113,239,239,127, 66, 20,199,140,139, 49, 81, 26,209,117,150,200, 40,140, 73, 88,173,
-215, 4, 5,120, 24, 21, 57,206, 5,234,186, 36, 43, 10,234,245, 10,231,165,185, 25,143,199,164, 73,116, 46,106, 60, 19,193, 37,
- 73,194,122,189, 34,141, 19, 44,129,166,109, 24, 23, 99,170,178,164, 24,201, 4, 9,163,193, 43,234,182, 38, 75, 36,249,239,232,
-240,144,222, 74,170, 95,148,196,120,231,113,214, 18, 37, 9,117, 85, 97,180,161, 24, 21,204, 55, 54, 7,215,149, 37, 75, 98,206,
-184, 7, 33, 4,180,150,201,164,214,230, 23,205, 69,211,208,116, 29,227,129,138,185, 90,172,206,255, 59,117, 93,145, 23, 5, 69,
- 81, 80,183, 13, 69, 38,168, 99,217,243,151,140, 70, 35,105, 12,110,190,245,229, 32,180, 89,197,149,173, 12, 86,199,108,111,109,
-176,179,181,197,108,180,193,225,254, 30,113,156,114,251,213,215,209,227, 49, 18, 99,152,162,241,236,237,237,226,188, 65, 39,129,
-103, 15,158,176,181, 57,227,217,147,135,252,205,223,252, 29, 47, 94,185, 70, 60,201,240, 94,243,195,183,223,163, 35, 48, 74, 20,
-243, 34, 98, 84,196,124,235, 15,126, 23,173,197,239,122,120, 90,161,178,148,197,201, 1,247, 62,185,199,238,209,154,217,230, 38,
-151, 46,108, 49,202, 19,154,213, 41, 31,221,123, 70,215,122,146, 92, 99, 91,143,247, 96,242,148, 73, 30, 35,202,196, 20,163, 12,
-104, 79, 30, 75,126,173, 87,208,181,194,153,118, 4,162, 56, 35,120,203,201, 98, 69,150,101,248,222, 14,228,165, 64, 28, 27,140,
- 10,196, 70,145,103, 57, 73, 62, 99,107,123,206,225,242,148, 80, 87, 56,235, 57,126,190, 75, 31,231,172,143,151,108,108,100,204,
-119, 46,176,127,184,224,149,151,110,112,245,226, 6,139,163, 35,242, 52,147,253,102,221,115,235,246, 77, 30, 63,124,132,119,208,
-183, 13,101,221,145,231, 49,206,122,150, 77,143, 77,199,228,121, 78,215,247,180,117,205,120, 60,197,121,139,243,226,185, 78, 99,
- 81,142,158,253,125,246,151, 11, 1,239, 7, 53, 42,162,162,205,139, 2, 19,197,104, 37, 49,183,125, 91, 67,100,100,100,232,145,
-228, 50, 21,152,140,198,231, 95,239,204, 58,226,156,165,111, 27, 84,148, 16,130,120,122, 35, 19,147,142,114,162, 65,152,227,156,
-167,119, 78, 58,104, 20,249, 40,167,179,194,245,142,149,161,115,158, 36,214,120,111,105, 91, 1, 70, 84,235, 21,222,203,110,238,
-236, 5,202,210,116, 88, 43,136, 31, 84,212,192,134, 72, 71, 88,111,207, 31,238,179, 63,175,181, 30, 19, 73, 55,115, 86,160,116,
-125, 71, 93, 85,231, 93, 81, 62,146, 76,236,224, 21, 12, 15,185, 82, 34,152,147,181,129,116, 36, 85, 85,201,222, 54,142,137,135,
- 29,163, 88,227,132, 50,181, 94,151, 76, 38, 19, 66, 8, 44, 87, 75, 70, 99, 25,223,181, 93,135,216,196, 60,190,149, 78, 56, 77,
- 82,188, 10, 67,209,208, 98,162, 88,214, 73, 81, 36,151,123, 28,227,188,165,200,134,100,178,224,168,170, 26, 55,140,237,138,209,
- 8, 80,242,153,214, 53,227,241, 24,215, 91, 78, 79,142,153,111,111,159,251,177,171, 97,205,114, 38,154, 74,181,226, 55,222,188,
- 35, 62,244, 32, 76,236,222, 59,198, 69, 65, 18, 39, 84, 77, 67, 89,214,104, 45, 98, 66, 17, 63, 74,226, 83, 85, 85, 28, 28,159,
-176, 88,151,120, 47, 23,101,100, 36,115,188,172, 91,238, 61,124, 32,187,238, 56, 34,142, 50,156,109,113, 30,250,174,193,122, 71,
-232, 44,173,237, 89,174, 42, 54,102, 83,174, 92,220,166,106, 75,154,213,138,178,105, 73, 99, 67,219,180,180,189,162,243,112,105,
-163, 32,203, 82, 26,215, 98, 59,207,241,170, 99,190, 57,198,119, 18,142, 17,199, 49, 93,211, 16,143, 70, 48, 76,104,122, 43,157,
- 78,232,228, 2, 11, 38,224,156, 68,121, 70,146,109, 1, 72,193,234,172, 32,111,157,115, 98,231, 75, 12, 95,121,237, 5,110,191,
-120,137,107, 87,174,240,206, 59,239,113,225,242, 53,110,220,188,206,123,239,252,148,135,159,125,196,133, 75, 87, 49,186, 96,178,
- 53,231,238,227, 99, 30, 61,221,163,111,106,210, 52,197,185, 32,239, 11,158,182,119, 36,121, 49, 76, 7, 18,218, 70, 40, 97,125,
-239,228, 6, 65,227, 67, 7,206,227, 29,120, 5,113, 44,170,124, 19, 71,196, 74,120, 9,211, 73, 70,211,116,148,101, 41, 34,204,
- 72,179, 42, 43,130,212,165,140, 70, 41,125,223, 18,188,161,239, 28, 81,172, 65,129, 66,200,104, 77, 45, 81,183, 73,106, 88, 13,
-211,199,255,240, 47,241,162,199,196,121, 1, 70,226, 68,181,137,152,140, 39,116,214, 18,107,201, 44, 7,104, 7,191,115,150,101,
- 88,111,113, 93, 15, 58,162,239,196,223, 62, 26,229,172,214, 43,129, 17,229, 18,172,178, 49,217,226,224,168, 97, 93,149,120, 43,
- 42,240,113, 81,208,218,142,141,201, 6, 79,247,247,240,206, 99,130,172, 69, 38,147, 2, 31, 2, 85,213,200,214, 43,200, 74, 32,
- 77, 18,210, 52, 99, 60, 46,232,186,142,166,170, 88,173, 78,248,159,126,114,159,167,223, 57,194,206,127, 14,135,247,104,154,154,
-104,126,147,106,109,217, 41, 42, 54,183,183, 48,179, 49,205,186,100,241,124,143,189, 15, 63,224,243, 31,253,132,102,185,162,235,
- 58, 17,253, 53,141, 20,130, 38,198,245, 45, 65, 41,166,211, 41, 74, 41, 22,139,197,112,129,138,101, 77, 41, 5, 30,138, 81,134,
-210, 98,105, 60,155,244,165, 89, 74, 83,215,140,198, 99,202,178, 2, 2,197,120, 74, 85, 85,140,178,140,229,106, 45,147, 67,103,
- 41,203, 53,189, 21,174,128, 2,108, 8,100,137,172, 14,250,182,147, 49,191, 54,204,183,230, 40,165,104,219,179,201,227, 96, 59,
-238,123,242,124, 68, 8,126, 56,155, 33, 30, 2,142, 66,112,148,117,141,193,200,212,216,123, 78, 79, 79,137, 99,129, 2,101,121,
- 70,219,137,208, 52,104,121, 33,210, 52, 39,141, 53, 93,219, 99, 54, 46, 94,253,118, 18,167, 76,138,140, 75, 89,205,238,222, 33,
-229,170,230,248,104, 69,145, 21,108, 93,218, 98,186, 57, 99, 89,119, 92,186, 58,199, 13,150,150,135,247,239,163,162, 9, 81,146,
-114,237,202,101,146, 40, 97,239,240,128,123,159,124,130,137, 98,234, 96, 73,162, 20, 19,107, 22,167,251,204,138,156, 91,215,230,
- 92,152, 79,248,173,111,252, 38, 42,138,249,183,223,251, 62,127,249,221,159, 99, 66, 7, 6, 22,203,138,202, 6, 46,110, 77,121,
-235,173, 87, 56, 57, 62,230,131,143, 31,113,112,184,162, 15,158,209,198, 24, 19,231, 92,185,114,133,203, 87, 47,115, 97, 99, 76,
- 49,158,144, 68, 49,249,104,130,142, 53, 77,111, 41, 61,244, 38,197,170, 8,171, 34, 26,239, 25, 77,230,232, 52,195, 36, 41,105,
- 49, 6, 19,209, 5, 80, 89,198,120,182, 69, 54,157, 65, 92,112,120,178, 18,191, 99, 95,179, 90, 30,226,186, 14,215,174, 56,122,
-126,192,165,141,152,205, 44, 98,123, 62, 99,126,225, 2, 91,179, 13,174, 94,190,128,246,142,216, 57,158,238,239, 51, 29,143,216,
-221, 59,198, 36, 17, 71,123,207,241, 78,211,181, 37, 39,139, 21,182,107,137, 3,172,170,150,100,126,137,188, 24, 73, 85, 60,236,
-212,162, 68,120,192, 42,104,178, 52,161,119,226,177,245, 67,183,105,173, 48,141,173, 21,240,197,217, 37, 23, 69, 9, 81, 36, 15,
-183, 82,138,190, 19, 63,182, 30, 58,194,179,238, 39, 78, 98,116, 16, 12,103,215,183, 56,215,163, 6,129,100,215,247,180,125, 3,
- 33,112, 70, 85, 50, 90, 30, 88, 99, 12, 65,169,225,240, 9, 68,145, 40,114,155,170,166,175,101,231,222,212,165,196, 49, 34, 7,
-146,109,235,225,114,208,195,161,219,227,157,208,181,228,189,146,125,165,140,204, 56,199, 48,202, 30,223, 2, 1,201, 84, 6,124,
- 24,236, 59, 67, 71,110, 69, 49, 26,199, 49,113,146,160,148,172, 18, 20,226,201,109,134,145, 25, 8,172,164,235, 36, 14, 51, 73,
-196, 63,219,117,157,192, 27, 34, 65,133,118,125, 79, 93,203,106,160, 25, 14,229, 51, 69,177,132,125,200,215,102,232, 62, 76,100,
-168, 59,121, 73,195,255, 79,214,155, 4,107,154,166,231, 89,215, 59,126,195, 63,156, 49,231,204,202,154,171,171,231,110, 73,238,
-182,100,183, 44, 89, 29,216, 14,194, 54,182, 33,194, 1, 54, 94, 0, 17, 4, 11, 96,203, 74, 17,176, 96,201, 10, 88, 19, 1, 1,
- 94, 56, 48, 54, 50,118, 16,132,101, 9,201, 18, 45,169,187,122,170,234,154, 51,171,114, 62,211,255,255,223,252, 14, 44,158,239,
-156, 34,130,172,101,102,101,158,115,254,239,123,223,231,185,159,251,185,238, 24, 65,105,114, 78, 98, 94,156, 38, 20,178, 59, 74,
-202,140,195, 36,243, 60,101,240,174, 32,231,136,176,188,133,120,149,147,108, 35,104, 35,197, 76,215,247,242,181, 58,119, 85,116,
-104,107, 49,202, 96, 11,143,178,134,231,155, 13, 38, 74,113,115,190,217, 9, 70, 87, 25,172,213,156,111,183,236,102,124,106, 63,
-137,225,170, 31,122,206,206, 55,188, 56, 59, 23,163,147,145,245,213, 16,194,188,158, 37,207,219,102,152, 8,202, 48,198,204,110,
-183, 19, 34, 88,146, 57,224, 98,177,194,149, 37, 77,211,226, 77,166, 27, 59,140,173,200, 9,170,229, 66, 70, 53,217, 98, 45, 20,
- 38, 49, 78,176,233, 39,140,202, 95, 56,141,195,196, 16,193, 59,207, 75,183,143,209, 78,240,177,211,144,175, 70, 41,198, 8, 21,
- 15,173,192,234, 89, 18, 31, 73, 42, 18,166, 72,219,141,116,227, 36,107,111, 41,176, 94,120,156, 51,188,252,210, 29,190,255,235,
-127,142,111,126,251, 91, 24, 95,147, 72, 40,227, 8, 57,113,239,222, 43,100, 21,185,247,202, 93,142,174,221,225,155,223,249, 14,
-229, 98,193,209,245, 61,126,254,254,199,156,156,237,132, 95,144, 5,120,210,181, 61,218, 9,151, 59, 36, 41,220,114,202,228, 52,
-145,194,196, 52, 13,140,161, 35,133,204,174, 27, 48, 42, 51,197, 9, 53,203,185, 26,121,231, 46,205, 79, 49, 68, 10,235,184,132,
-159,120, 91,160,141, 34, 5, 73,216, 26,167,132,113,150,213,254, 26,111,229, 29, 5, 69, 76, 89,212,129, 48,161,181,193, 40, 40,
- 74,135,177,226,226,175,170,146,152, 38,250, 62,200, 22, 80,223,178,187,216,201, 59, 20,164,224, 80, 74,242, 32,148, 49, 92, 6,
-243, 72, 32,140,236,108, 43,160,172,164,193,177,133,195, 25,131, 68,239,202,200,161, 31, 90, 92,161,217,109, 71, 14, 15, 14,232,
-250,137,170, 52, 52,109,195,114,177,164,168,106,250,174, 33,102,208, 78, 81, 23, 37,206, 26,198, 32,231,148, 86, 51, 74, 60, 71,
-114, 28, 73, 73, 20,194,182,221,112,112,253, 87,248,141, 95,251,183,249,240,135, 79,121,242,238,207,152,204, 25,122,108,113, 94,
-243,232,207, 54,244,126,160,127,254,144,184,184, 11, 39,111, 80,222,191,203,209,151,190,198,235,191,250, 43,156, 63,254,140,147,
-207, 30,144, 81,212, 85,137,245, 22, 73,218, 43,137,211, 36,227, 16,253, 5, 56,169, 40, 74,140,145,231,107, 24,197,112,156,179,
-176, 56,140,150, 36, 71,231, 28, 17, 41, 46,189,251,255, 24, 45, 99,144,237,142,194,145, 67, 36,147, 40,124, 37, 96,175, 73, 20,
- 72,121, 95, 11,114, 78,243,179, 44, 42,161, 66, 54,149, 64,140,163, 41,201,168, 83, 95, 54, 29,227, 40, 42,219, 56,209,143, 3,
-109,211,208,247, 3, 90,201,246,130, 43, 4, 99, 92, 85, 53,105,154, 8, 97, 98, 26, 3,198,201,182,132,183, 22,231, 60,206, 9,
- 78,185,240, 30,245,165, 95,254,243,121,223, 13,156, 61,125,202,151,191,254,117,110,223, 56,102,187, 57,225,173, 47,125,141,186,
-244,124,248,238, 79,185,247,250,219, 28, 28,238,113,122,242,130, 97,156,128, 68, 12, 19,245,122,159,221,118, 67,202,176,185,216,
-240,226,233, 19,154,118,203,187, 63,251,136,216, 7,118,195,196,235,175,222,227,163, 15, 62,228,218,129,230,181,215,110,115,122,
- 62, 48, 69, 69, 24, 2,143,159,158,114,253,246,117, 66,180,168,220,115,122,182,101, 24, 50,123,149,226,116,215,115,222,138,204,
-185, 87, 87, 88,171, 57,216, 91, 81, 20,142,179,147, 19,134,190,165, 55, 75, 22,203, 5,235,131,125,250,249, 48, 12, 99, 32,145,
-208, 74,179, 94,173,216,181, 45,101, 89,210,117,253, 60,247,150,185,140, 47, 11, 54,155, 45, 48, 95,138, 78, 0, 7,109, 43, 17,
-142, 83, 8, 88, 21, 73, 67,143, 75, 19,103,231, 91,194,152, 88,249,204, 75, 47, 93,227,205, 55,223,230,112,127,205,174, 27,249,
-236,228,148,216,140,108, 78, 94,224,106, 71, 31, 70, 64,200, 78,253, 40, 7,163,175, 42,154, 77,195,197,182,167, 56,190,142,245,
- 5,164, 36,171, 57,195, 56,207,212,229,251, 5, 36, 51,122, 28,209, 70,130,115,100,134, 39, 64,140, 75,217, 61,147,233,154,142,
-170,148,212,162,128, 24, 52,198,190,231,242,175,210,250,139,185, 99, 76, 81, 76,105,115,229,154, 66, 36,107,208,104,148, 6, 55,
-255, 61,125, 43,107,141, 69, 81,208,117, 45,206, 22, 40, 37,115, 50,109, 37,167,120, 12, 73,140, 83, 57,163,209,210,145,207,251,
-223,198,202,236, 58, 78, 19, 67, 47,133,130,119,158,148, 19,133,247,160,100, 77, 78,107, 9,187, 16,148,231,116,117, 16,150,101,
- 73, 98, 54,131,104, 43, 42,202, 92,145,123,111,153,166, 52,175, 89, 37,145,178,149,161,170, 10,153,151, 41, 37, 56,201, 52, 7,
- 92, 24, 71, 72, 1, 16, 83,214,197,197, 5,146,227, 45,123,173,198, 57,202,178, 38,230, 32, 38, 48,196,180, 19,179, 4,137,116,
- 93,135, 54,179,123,216,121,166, 81,226, 34, 77, 86,104,107,216,108, 54, 12, 51, 88,130, 44,242,230,106,185, 34,107,197,246,226,
- 66, 62, 3, 99,217,223,223, 67, 41,129,250,108, 47, 54, 72, 38,178, 34,132, 12, 68,170,197, 18,146,128, 43,154,166,101,177, 90,
- 97,180,152, 18,245, 60,123,159,198,113, 30, 73, 68,170,194,243,245,123,119,176,198, 8,185, 42, 68, 36, 5, 75, 36,108,165,213,
- 23, 93,109,150,153, 97, 74, 9,201,190,206,144, 19,253,208,147,145,127,227,243, 77,139,210,134,205,102,139,183, 18,243,104,204,
- 44, 73,167, 68,219,238,164, 64,204,145,194,106, 54,231,167,244,227,200,209,209, 17,133, 47, 89, 44, 74,218,190, 99, 26,122,242,
- 36, 74, 76,211,116,140, 10,150,222,179, 94, 47,169,188,134,178, 4,231,249,244,189, 7,252,230, 95,248, 42,175,191,126,151,223,
-249, 39,191, 71, 23, 43, 78,119, 23,226, 54,206,114,167, 27, 99, 24,187, 1,140, 98,177,168, 56, 63,223,176,127,176,228,215,190,
-243, 45, 94,186,115,147,156, 6,234, 82, 54, 54,110,220,124,133, 23,167, 27,142, 14, 14, 24,134,129,231, 79, 31, 98,157,229,163,
- 15, 63, 32, 77, 80,239, 47,185, 56,127,206,147,199,207,152, 66,224,249,233, 5, 95,253,214,203, 36,231, 57,121,220,241,147, 31,
- 61, 96,189,191,162,172, 42,138, 66,214,219,166,105, 96, 74,145, 48, 4, 84,202,248,170, 36,229,128,201,138,102, 55,128,133, 89,
- 80,248,255,253,210, 70, 65, 18,191, 65, 81, 57,185, 60,148,161,172, 28,113,140,116,253,128,183, 98,116, 59, 56,216, 35,147, 56,
-191,216,114, 9, 51,233,118, 27,188,243, 24,173,176, 69,133, 86,242,174, 27,227,102,232,143, 66, 27, 9,129,106,187,129,190,147,
- 47,196, 24, 49,208,165, 44, 51,222,162, 90, 8,151,193, 57,246,246,247,231,179, 0, 66, 24,197, 92, 55,138, 33,107,185, 92, 50,
- 77, 2,191,138, 73, 14, 15,165, 69,181, 20,212,180, 38,135,130,253,131, 35, 32, 81, 22,150,135,159,125,198,254,225, 17,235,186,
-166, 29,250,121,222, 46, 82,188,172,225, 37,114,152,232,251, 29,195, 56,112,116,243,155,132,246, 83,188,151,142,243,151,126,235,
-191,225,237,175,127,159,119, 63,248,151,108,206,127,134,218,255,148, 35, 51,241,202,159,251, 22, 79,158,183, 60,251,209,142,131,
-151, 59,186, 41,243,202,237,255,152, 48,108, 80, 86,145,243,115,170,151,158,241,226,135,127,194, 31,254,163,127, 72, 74, 17,141,
-152,106, 19,144,131, 4,144,173,246,246,200, 49,211,181, 59, 64,204,104,222, 23, 56, 39,171,147,160,240,222,147,115,102,187,221,
- 16, 66, 96,189, 94, 95,153,233, 54,155, 45,190, 40,175, 10,119,173, 36, 4,200, 40, 77,210,138,113,104,105,154,110,158,191,207,
- 27, 10, 49, 96,181, 36,182,161, 68, 9,205, 41,227,171, 98, 86, 19,228, 44,206, 57,225, 92, 49,191,175,150,221,230, 28,235, 12,
- 93, 55,226,189,101,177, 92, 93,169,141,204,197,126, 74, 34,241,147, 50,166,176,128,168,108, 49,201,179, 37,219, 52, 10,245,253,
-223,252,102,254, 87,191,251, 19,222,120,253, 53,254,222,223,251,235,156,159, 60, 99,232, 58, 78, 55,129,189,195, 61,156, 50,188,
-253,181,183,249,228,147, 79, 0,201, 0, 94, 47, 61,103, 31,254,148,237, 24,241,135, 55,217,156,157,243,193, 7, 31,208,199,142,
-143, 63,120, 66, 63,141,124,251,235, 95,165,139, 19, 58,244,252,225, 31,254,148,122,149, 57,223, 40,190,252,230, 29,142, 14,247,
-248,244,211,207, 88, 29, 28,145,177,244,221,150,208,158,115,118,218, 49, 76, 98, 76,113,149,164, 80, 93, 59, 58, 20, 19,147, 53,
-228,156,104,218,145,245,241, 53,250, 56, 95, 26,195,136,213,138,106,177, 36,197,200,249, 70, 92,128,133,117,248,170, 18,137, 47,
-140,108,206, 55,164, 36, 6,165,122,177, 32,165, 60, 83,124,150, 92,174, 40,104,173,217,109, 46,168, 22, 11,249,240,230,234, 54,
- 76,137,212, 93, 16,167,129,105,183, 97,127,111,205,221,187, 47,177, 95,123,180, 77, 84,149,227,249,217,150,166,237,161,221,241,
-217,211, 23, 44, 15,174,179,109, 27,152, 50,170,176, 88,144, 48,138,227, 91,104, 95,224,172, 37, 71,176, 86,179,219, 53,148, 85,
- 33, 43, 60, 74,205, 21,242,192, 98,185,100,236,133, 33, 92, 23, 98,144,209, 86,220,210,228, 76,219,181, 40, 12, 85,225, 1, 4,
-221,235,156,152,110,114, 38,146,208,232,171,139, 93,246,113,197,145,171,149,146,181, 55,239, 25,123,217,157,117,133, 1,109,152,
-134,158,190, 31,112, 70,228, 80, 99, 20,202, 56,100,205,197,131,146,148, 40,165,212,149, 84,152, 17,147, 87, 66,188, 1, 90,201,
-108, 90,118, 74,165, 43,191,220,229, 76,211,116, 53,143, 86, 90,240,195, 41, 8,185, 42,199, 76, 89,200,197, 63, 76, 35, 99,215,
-161,180,102, 49, 31, 58,174, 16,120, 68,206,153, 97,234, 9,253, 72, 72, 34,117,173, 86, 43,198, 97, 64,219,153,171,140,116, 27,
- 93,211,200, 8, 38, 37,114, 8,146, 55,157, 51,109,223,179, 94, 46,137, 73,186, 94,157, 52, 69, 85,176,217,110,209,214,162,114,
- 98,177, 88,194,188, 2,179,221,236,200, 73,230,145, 86, 25, 92,225,100, 77, 46, 68,118,205, 22,131, 84,231,171,245,106, 94, 11,
-149, 61,248,189,189,125,218,182, 67, 25,195,162, 46,201, 25, 98, 12,116,157,200,169, 26, 77, 72,129,213,106,193, 56, 74,113, 52,
-142, 35,218, 40,250, 94, 94,212, 75,230,128,179,150,140,196, 68, 22, 86,243,230,157, 91, 28, 44,197,108,148,230, 74, 46,134, 73,
- 40,122,200,229,168,103,213, 34,101,249,189,148,101,132, 67, 78,180,253,200,147,166,231,124,179,157, 99, 76, 27,170,170,102, 24,
-122, 66, 24,209,218,225, 10,131, 74, 82,144,200, 95, 37, 42,202,217,147, 71,104,171,133, 25,144, 97,189,191, 71,219,237, 40,177,
-224, 44,121, 24, 24,115,224, 98,211,114,243,104,159,213,193, 30, 54, 13,124,231,144,110, 71, 0, 0, 32, 0, 73, 68, 65, 84,245,
- 59, 95,229,143,255,236, 29,126,254,163, 39,188,118,111,193, 66, 5,254,220,215,126,137,227,187, 95,226,209,197,134, 15, 63,249,
- 88,246,154,137,220,185,113,196,195,207,158,179,237, 6,110, 94, 59,228, 59,223,250, 10, 7,135, 7, 36,173, 81, 90,100,121,140,
-166,107, 51,171,178, 64,171,132, 54,137,139,205, 25,195,208,240,222,207,127,206,241,173,155, 24,111,120,240,193, 7, 60,127,252,
-132,107,135,215, 89,237, 95,227,254,151, 95,163,233, 79, 24,119,137,127,249,187, 63,100,187, 29, 81,214,208,119, 13,144, 56,191,
-144,121,241,229, 47,173,193, 98,153,144,176,143,170,246,148,117,205,106, 89,163,141,162,217,236,136, 65,118,165,141, 83,160, 53,
- 85,225,137, 25,200, 2, 79,105,155,134,182, 21,196,246,209,254, 30, 1,136, 99,162, 92, 8,159,189,105, 91,172, 51,180,219, 6,
-155, 65,103,136,100,178,146,162, 44,142,226,191, 48,206,201, 56, 40, 8,247, 63,166, 68,152, 34,211, 20,241, 78,140,150, 25, 69,
-140, 3,100,217,191, 94,237,239,227, 75, 49,110, 45, 22, 43, 32,211, 52, 50,139, 77, 36,250,174, 37,133, 68,189, 92, 17,134,158,
- 93,219,178, 92, 44,132,172,151, 5,231,187,109, 70,194,168, 24,251,158,132,158,179,228, 21, 85,185,160,176,138,179,237, 6, 89,
- 18, 16,111, 72, 14,129,166,223,240,143,159, 61,166,235, 20,159,252, 1,124,218,255, 30, 93,187,165,253,197,117,158, 62,124, 74,
-179,251,144,237,217,251,232,245, 41,199, 7, 37,111,254,249,239, 82,149,158,135, 15, 94,112,241,248, 33,109,119,198,151,222,252,
-247,137,221, 13,114,238, 72,169,101,211,124,194,237, 47, 7,250, 23, 79,248,163,127,248, 63,145, 81, 76,211, 4, 25,194, 56,162,
-157, 16,217,150,203, 37,231,231,231,132, 16,101, 11, 96,190,100,149, 82,179,228,109,112,214, 49,134,137,161,107,196,103,160, 20,
-101, 89,178,219,108,201, 72,115,152,231,162,224,236,244,148,105,154,176,222,211,119,210, 48,138,156, 62, 16, 99,194, 88,139, 51,
- 5, 85, 93,162,149,128,104,166,161,199, 21, 37,253,208,206,119,205,229, 72, 85, 46,125,239, 61,155,139, 13,227, 56, 92, 81, 17,
-181,214, 87,231,195,106,181,194, 24, 81, 71, 19, 98, 82, 14, 73, 8,163,203,197,146,102,183, 37,101,137,108, 30,135, 1,181, 48,
- 38,191,241,230,203,252,197,239,126,155,190,221,113,254,236, 25,213,209, 13,190,242, 75,223, 97,185,231, 24,186,150,161,237,136,
-227,132, 41, 42,153, 75,182, 59, 30,253,228, 79, 25,205, 62, 57, 71,126,242,222,123, 4, 83,162,172,227, 96,233,105,183, 59,116,
-232,185,118,239,144, 15,222,127,128, 53,146,198,133, 6,151, 71, 30, 63,219, 17, 34,100, 29,217,182, 3,133,207,236,182,129,110,
-204,236,173, 23, 44,170,130,131,195, 61, 20,138,102,215,201, 5,179, 92,226,170, 10,111, 61,197,124,232,119,109, 39,251,140,222,
- 80, 87, 53,195, 40,146,236,165,236,161,181, 44,232,135, 48,178,217,236, 68,158, 70,179, 58,216, 71, 1,219,139,205,124, 80, 25,
-246,246,101,213, 39, 76,194, 81, 38,101,140,117, 87, 38, 43,137,141,148,151, 35,143, 45, 46,193,209,178,134, 52,210, 77, 19,125,
-219,224,157,102, 10,138,182,105, 89,213, 5,221, 48,226,124,193, 24, 3,231,155,134,195,187,247,169,215,251,164,217, 76,212,247,
- 35,198,104,166, 65, 92,143, 83, 28, 65,201, 10, 10,104, 36, 18,114,139, 82,226, 14, 45, 75,161,187, 57,107, 81,198, 48, 52, 29,
-190, 42,101, 46,233, 61,125, 63, 96,181,228,247,230,156,105,251,118,118,121,138,132, 8,160,140, 97,189, 88,206,135, 51,120, 95,
- 50,166,112,149,144,165,181, 33,199,200,118,187,197, 91, 71, 86, 95,204,162,198,190, 7,163,201, 73,145,115, 68,238, 77,145,158,
-197, 36, 39, 52,183,170, 40, 64,137,147, 61,197, 72,211,245, 44,102,211,149,243, 30,235,253,220,197, 15, 76,105,194,233,153, 2,
-229, 61,230,234,194, 14,172, 86,245, 21,224, 65, 43, 69, 89, 47, 8,227,132,182, 26,103, 29,214, 9,230,181,109,133, 55,238,156,
-163,174,107, 98, 8,108,230,181,204,186, 44, 65, 65, 59,179,202, 67, 72,148,165, 71, 27,195,182,217,206,225, 21,179,153, 50, 25,
-166, 73,114,146,235, 69, 45,206,116,173, 33,231,249,101, 21, 36,169,247, 34, 81,182,109, 43,230, 20,184,170,190,201,176,221, 54,
- 44,151, 53,155,205, 22,235,140,124,158, 89, 34, 37, 21, 48,165,136,183, 94,230,228, 70, 46,232,102,183, 35, 43, 69, 34, 97,148,
-193, 23, 78, 58,246,203,217,121,140,162, 92, 40, 37,110,218, 36, 91, 20,214, 88,110,238,175,120,227,206, 45,156,177, 84,101, 33,
- 44,242,113,186, 58,192,174,244,159,156,174,222,141,148, 97,215, 15, 60,222,117, 76, 65,246,126, 85,148,195,102, 28, 7,178,138,
-130,141,118,142, 75,104, 79,140,151,251,253, 34,149,231, 20, 73, 99,207,122, 89,113,122,122,202,246,124,195,241,225, 49,203,189,
-138, 56, 70,124, 89, 48,244, 61,161,107, 56, 59,189, 96,117,120,192,173,195, 53,237,180,225,214,237,155,108,250, 45,159,124,250,
-156,105, 59,176,244,240,230, 43,119,120,245,245,175,241,181,111,126,139,189,227, 91, 20,245, 10, 83, 12,156,158,238,232, 59,137,
- 73,109,155,150,186, 42,241,149,101,189, 60,164,223, 54, 12,211,200,201,227,231,196,105,226,225,147, 79, 73,161,229,217,217, 41,
-143, 63,254,136,101, 85,163, 77, 73,139,229, 87,191,247, 75,188,243,195,119,184,113,227,136,212, 91,246, 15,214, 60,123,250, 25,
-205,121,195,207, 63,121, 72, 31, 3,103,103,195,229,200, 28,208,212,133,101,181,191,224,233,147, 51, 86,123,107, 14, 15,215,242,
- 25, 33, 5, 99,179,237,102, 39,190, 39,142, 3, 89,101, 50,154, 28, 36, 78,212,213, 21,206,202,103, 28, 83, 66,197, 68, 34, 65,
- 22,233, 61,166,105,246,141, 72, 30,184, 6,180, 45, 80, 38,160,180, 39,197, 1,225,156, 27,198,174,199,105,201, 52, 8, 25, 25,
-133, 25, 77,118,115,170, 25,153,148, 35, 67, 59,119,237,214, 48,205, 70,200,156, 34, 83, 18,201,217,152,138,213,122, 77,189,183,
-194, 91,233, 84,219,118, 71, 86,153,189,213, 30,153, 44, 80,154, 24, 80,202,176, 88,200, 69, 19, 99, 38,199, 64,215, 70,206,207,
- 58,234,197,146,245,222, 1,199,215,175,241,232,209, 35,218, 93, 67,189, 92,177,221, 54, 24, 73,249,165,111, 47,120,227, 27,127,
-143,255,236,159,255,215,124,175, 28,248,201, 88,240,127,253,183,207,201,183,255, 53,237,217, 57, 15,126, 0, 93,211, 49, 54, 79,
-208,234,156,227,183, 15,185,251,230,171, 84,181,102,106, 26,218,166, 35,244, 61, 71,119,239,112,242,254, 77, 98, 56,166,105, 79,
- 56,123,252,135,220,252,230, 33,175,254,242,215,249,240,255,248,199,252,228, 95,252, 14,198, 24,134,113, 68,107, 61,119,227,162,
-104, 54, 93,203,216, 14,226, 11,201, 82,236, 23, 51,254, 92,161, 88,174,151, 0,244,157, 48,236,149, 82,132,113,164, 90, 44, 25,
-134,129,178, 44,201, 40, 84,202,156,111, 55,244,221, 23, 89, 26,117, 93, 19, 99, 98, 28,134,121,156,103,169,202,133,148,221, 90,
-198,158, 57, 70,152,199, 74,105,110, 10,202, 75, 85,180, 23, 42, 96,204,145,205,249, 5, 41,137,218,184, 88, 44,230,145,160,176,
-251, 99,148,144,161,190,235,240,222,163,172, 21,197, 81, 73,177,161,148,140,212, 82, 74,168,255,226, 63,255, 7, 57, 54, 3, 79,
-159, 63,231,252,244,156,107, 47,221,231,207,255,229,239,131, 30,249,236,227,143, 88, 90,207,197,243,167,168,110, 75,111, 60,166,
- 90,241,254,123,239,115,242,236,140, 59, 47,223,231, 98,179,229,255,254,127,254,132,107,135,251,188,249,214, 29, 54, 39, 39, 84,
- 42,115,227,238,109,126,252,139, 79, 9,131,229, 87,126,229,151,120,246,232, 1,239,125,240, 46,237,110, 32, 91,197, 48, 69,154,
-102,194, 88,135, 82,134,101, 93,139, 91,240,112,159,164, 50, 9, 77, 55, 4,154,166,199, 22, 30,173,161,240, 5,195, 56, 72,229,
-148, 51, 99, 63,178,221,109, 88, 46,106,154,174, 99,177, 92,163,114,162, 27, 70, 82,152, 83,171,188, 23, 83,195, 32,177,149,243,
-213, 70, 70, 46,191,105, 24,168,170, 5,253,208,125,113,121, 91,195, 24,228,129, 46,189, 39,134, 4, 57,146, 21, 56, 55, 31,198,
- 22,226, 16,152,134,134, 56, 77, 28,238, 31, 64,152, 72, 49,202,229,167, 52, 71, 55,111,209,108, 79, 56, 57,191,160, 92, 31,205,
-135,233,101, 95, 43,191, 92, 33,152,215,177,239, 73, 6,233, 88,179,250,162,210,139,145,205,118, 75, 81,136,108,212,247,146, 42,
- 21,163,160, 31, 75, 95,208,116, 45,222, 11, 21,206, 24, 67, 85,215,192, 44,129,133, 68, 74,145, 24, 19, 77, 35,107, 30,151,157,
-251,162,170, 48, 69, 49,119,224,142, 41, 74,220,164,115,142, 93,211, 98,173,158, 31, 28, 9, 47,208, 90, 32, 23,121,254, 41,134,
- 41,201,133,231, 20, 58, 27,124,233,209,222,162, 98,102,179, 17,147,156, 84,207,115,247,162, 5,167,184, 90, 46,201, 90, 51,116,
- 2, 28,185,124,144,181,150,157,121,249, 30, 53,235,245, 18,148, 28,102, 33, 73,242,213, 48,211,192,180, 82,248,170,160,174,106,
- 98,140,132, 48, 18, 70,145,217,173,115,108, 54, 27, 4,247, 41,142, 87,173, 13,235,245, 18,201,128,206,236,154, 29,139,121,255,
-127,187,107, 40, 11,139,209,142,156, 18, 89, 9,184, 70, 27,115, 53, 79,207, 49, 98,173, 4,132, 56,107,101, 45,101,126,137,250,
- 97,192, 57,161,216,141,227,136, 51,142, 62, 12, 20, 78,204, 65,211, 52,205,135,128,112,171,173, 22, 5,168,237,135,171, 78,193,
- 24, 11, 22,134, 78, 8,119, 57,231,249, 80,150,177,196,229,191,149, 1,103, 61,105, 30, 41, 24,109,137, 49,224,173,225,229, 27,
-199,236, 45,106, 86,117,141,154,139, 56, 9, 68, 19, 40, 69, 70,130,111,158,157,111,120,177,221, 97,138,146,105, 26,233,123,217,
-136,144,100,179, 5,237, 12,159, 41, 10,199, 56,245, 40, 12,222,139,145, 75, 86, 44,101,228,226,156,151, 11,106, 12,120, 27,184,
- 56,123,193,110, 19, 57,188,118,136, 10,163,236,208,102,153,235, 14,155, 11, 9, 69, 81,142, 91,199,135,116,161,197, 90, 75,189,
-180,152,178,226,253,119, 31,224,146, 28,112,235,253, 26,147, 39,142,143,239,240,214, 27, 95,162, 25, 58,222,124,227,203, 68, 37,
-210,114,215,110,249,228,195, 79,200,147,226,250,221, 53,239,253,226,167,188,243,195,119, 41, 10,195,209,237, 99, 62,255,236, 5,
-201,214, 92,219, 43, 49, 56,234,250,128,213, 81,197,233,201, 5,143, 30, 61,102, 24, 58, 82,182,140, 65,186,231,203, 88,105,171,
- 68,206, 76, 25, 25, 57,105,133,245,102, 54, 18,182,212,101,201,110,215,226,157,199, 23,158,161,159, 8,113,194,106,145,186,167,
- 97, 16,214, 66, 78, 56, 47, 10, 85,156, 2,182, 20, 55,187,213, 18,145,219,141, 66,115, 43,173, 56,167,141, 17,178, 88,138, 18,
-181,108,141, 92,180,174, 40,152,210, 68, 10,210,149,229,164, 88,148, 5,206, 25,198,126,100,202, 66,180, 11,137, 43,216,208,229,
- 28, 95,161, 24,163,168,105,206, 9,138, 84,101, 25,155,134, 28,137, 1, 80,130,240, 53, 78,228,249,178, 44, 56, 56, 62,162,217,
- 53,180,109, 75, 85,150,116,189,100, 81,164, 44,251,239, 49,201, 28,190, 40,215,196,209,208, 77, 35,175,189,250, 22,211,208,241,
-249,231,159,115,255,254,107, 60,124,244, 8, 16,223, 79, 6,254,194,223,249,239,185,190,247,155,252, 7,255,213,192,103, 91,199,
- 31,254, 67,197,147,247,127, 7,142,126,193, 24, 61,213,197, 27,152,210,160,117,143,185,159, 88,215, 6,149, 55,168,126, 36, 12,
-163,156,214, 94, 49,140,138,223,255, 31,255, 21,159,254,232,127,103,169,207,248,202, 91,111,114,253,222,171,220,249,238,111,242,
- 39,127,240, 7, 60,124,247,103, 24,107,175,124, 32, 83, 16, 68,236, 56,118, 88, 99,217,110,197, 32, 90,184,130,118,236, 33, 39,
-234,170,164,170, 23, 88,107, 24,135,158, 48, 74, 0, 18,192,222,222,158, 40,182, 90,146, 75, 99, 8, 20,101, 73,223,246, 92,236,
- 46, 40,138, 66, 10,219,196,124, 94,237,145,194, 68, 85, 47,232,102,159,203, 20, 38,124,233,201, 25, 20,210,204, 93,222, 69,245,
-106, 41,133,114, 22,131, 49, 41,211,116, 59, 82,202,196, 20,176, 86,200,146,144, 48,218, 18,162,208, 48, 47, 27,205,194, 21,212,
-171, 5,228,204,197,102,131,158,207, 62,235,178,225,217,139,231,236, 29, 95,227,229, 47,127,157,123,175,223,199,154,129,231,159,
-124,198, 18, 89,220, 31,187,115, 62,255,244,115,146, 93,114,118,254,115, 94,156,181,188,242,218,107,124,242,240, 17,159,124,242,
- 17, 38, 12, 20,241,132, 15,126,118, 66,109, 28,185,114,252,228,199, 13,119,110,221,231,165,123, 55,121,246,236, 19,254,232,157,
-159, 19, 66,160, 94, 21,108,206, 70,118, 77,100,181,168,240, 78,179, 90,175, 89, 46,150,140, 33,240,252,244,156,100, 10,138,170,
- 38, 78, 9,101,197,185,233,125,129,178, 22,155, 34, 77,219,206, 51,193,145,229,106,201,208,117, 44, 22,181, 60,176, 81, 88,234,
- 90, 41,234,197, 74,126,146,177, 98,212, 6,231, 10, 2,153,237,102,139,243, 30,103, 29,219, 40,180,158,220, 3, 57, 83, 45, 69,
-162,209,122,162, 44,106,148,149,117, 46,136,164, 89,242,143, 97, 66, 43, 43,128,152,224,112,165,167, 9, 19,218,120,148,201,104,
- 87,162,140,226,197,110, 75,138, 5,139,195,155, 50, 11,209,146,173, 43,105, 66, 82, 77,251, 66, 98,245,138,178, 34,171, 12, 30,
-113,244,134, 72, 63,201,195,165, 81,132, 32,115, 30,145,183,197, 56, 35,159,162,172, 92,133,152, 88, 46, 87,180,205,142, 24, 38,
-250,113, 66,229,185, 35,176, 22, 95, 56,134,193,162,173,149, 61,200,166,161,233, 91, 42, 36,246,113, 28,164, 67, 69,137, 65,174,
- 46, 75,198,161,199,106, 51,119, 6, 1, 98,152,187,126,193, 20,106,139, 68, 0, 42,197, 52, 31,110, 58, 43,162,130,148, 34, 33,
- 76, 56, 39,193, 50, 58,105,150,171, 37,221,208, 51, 78,211,149, 51,187, 31, 6,138, 82,168, 75, 93, 47,152,226,245,106, 69,211,
- 52, 76, 83, 96, 24, 58,233,252, 53, 87,149,104,206, 25,227, 28, 68,153, 63, 23, 69,129,117,158,161, 29,177,179,211, 87,152,216,
-150, 97,232, 88, 86, 75,218, 78,224, 65, 93,119, 25,124, 34, 78,241, 69,181,160, 42, 74,134,177, 7, 21, 68,218,103,142,112, 5,
-140,179, 44,170, 5,109,215,145,145,181,190,174,145, 25,157, 51,134,144, 2,106, 38, 95,101, 45, 74,133,146, 35,141, 41, 70, 24,
- 36, 46,181,240, 22, 99, 37, 53,106, 12,146,179,237,180, 38,229, 68, 55, 14,172, 87,146, 2,101, 23,178,238, 50, 12, 3,151, 89,
-226,128, 20, 61, 41,205,234, 83,198, 41,135, 4,208,201,165, 25, 82,226,221, 71, 79,201, 83,228,232, 96, 69,233, 61,251,117, 45,
- 92,119,165,216, 52, 29, 23, 93, 63, 83,168, 50,222, 88,250,166, 33, 68,217,207, 94,173,150, 80,130, 68,173, 6, 1,249, 36, 73,
-177, 10, 25,186,113,144, 85,196,152,200, 89, 93,113,244,187,174, 99, 74,137, 24, 29,202, 45,169, 23, 59, 30, 63,122,130,119,112,
-172, 14, 56,186,118, 76,215,246,184,253,125,154,179, 83,134, 20,248,236,217, 11,142, 15,247,152,166,196,131,135,103,184,162,225,
- 43,223,124,139,161, 63,227,167,239,124,206,230,201, 14,239, 97, 84, 79,249,217, 47,222,231,100,171,184,113,252,127,210, 15,112,
-237,198, 62,214, 5,154,126, 32, 13, 14,245, 30, 60,124,208,241,202,189,138,147,211,142,199, 63, 61,227,206,237,155,124,237,235,
- 95,225, 39, 63,255, 17,239,255,226, 49,199,215, 90,134, 15, 70,186,182,167,112, 22,235, 10,150,171, 61, 22, 40,150,235, 5,183,
-238,220, 96,234, 54, 52,173, 24, 83, 67,215, 19,201,156,159,119,196, 41,208,134, 40, 77, 68, 55, 65,128, 33, 12,226,248,182,158,
- 85, 89, 49,196,137,195,189, 21, 93,223,211,238,182, 48, 94,154, 76,165,248, 52, 74,145,180, 38, 27, 25, 43,150,235, 53,219,139,
-115,226, 52, 74,129,158,164,232, 45, 93,137, 54, 50,243, 86,200,142,117, 93, 84,132,105,162,217,117,140, 83,207,233,230,156,210,
-150,212,139, 18, 23,193, 22,154, 0,228,172, 36,245,220,123,172,213,178,111,239, 28, 69, 81, 8,191, 35, 36,180,215, 48,105,156,
- 50, 20,165, 22, 19,238, 56,155,180, 66,224, 66,105, 78,158,190, 96,185, 94, 49,140, 82,148,174,150,203, 25,156,149,216, 12, 95,
-228,165,135,112,138,119, 5, 94, 27, 62,123,248,128,215, 94,123, 13,197, 67, 34, 19,123,203,154,243,237,134, 28, 70,174,191,252,
- 93,136, 79,120,244,236,127,229,159,254,119,127,147,183,254,110,166,212,153,174, 81, 12,244, 28, 92,115,220,123,237, 21,234,175,
- 12, 88, 94, 48, 13,129,102,151, 81,106, 73,142, 91,242, 56, 49,197,128, 50, 53,241,247,255, 17,187,159,252, 14, 97,151, 88,220,
-217,227,201,227, 39,196, 96,216,215,191,207,117,149,249,112,104,177,177, 16,243,235, 48,162,102,142,129,247, 30,107, 61, 7, 86,
-204,199, 57,101, 66, 10, 76, 51,161, 47,196,196,254,222, 30,160,100,108,150, 51,100, 33, 79,150,101,121,181, 42, 91, 86, 21, 40,
- 25,133,105, 37,155, 91, 90,107,246,246,246,174,112,195,120, 71, 76, 25, 95, 85,104, 32,182,147,140, 72, 98, 68, 88,239,158,104,
- 38,166,152,216,156,159, 83,150, 5,198, 20,116,131, 96,192, 87,171, 61,249,240, 83, 98,215, 74,225, 27,166,145,221,188, 5, 19,
-179, 52, 82,128,168, 66, 41,209, 53,221,236,219, 90, 96,173,198,124,245,213,155,191,189, 58,216,231,198,221,123,220,126,233, 30,
-155,211,231, 60,121,240,128,182,105,193, 40,158, 63,249,140, 31,252,224,199,140,148,244, 40, 98, 84, 68, 50,109,211,242,199, 63,
-120,135,243,166,103,237, 34,182,116,188,116,239, 22,174, 94,113,231,206,171,124,235,155, 95,231,211,103,143,249,189, 63,249, 9,
-127,250,238,199, 92,191,121, 11,239, 44,187,109,199,114,185,224,232,112,193,193,222,146,101,189,100, 10,129,118, 10, 92,180, 19,
-217,127,193,199,157,194,136, 86,134,162, 44,164,155,209,146, 25,108,140,161,219, 9,125, 13, 99,152, 6,113, 29, 99, 20,214,203,
-131,236,188, 24,104,166, 48,225,188,124,208,211, 56, 93,145,126, 84,146,131,202, 88, 49,162,145, 97,185,222, 35, 6, 89,147, 26,
-198,145,162, 18,147,196, 37,101, 72,205,165,214, 56, 13,232,172,241,133,199,249, 2,109,172, 56, 18,141, 96, 20, 83,146, 85, 37,
-231, 69,250, 77, 73,146,237,172,243, 84,133, 48,126,149,145,213,179, 16,163, 96, 91,167,145, 41, 8,239, 58, 6, 49,109,141, 81,
- 58,182,164, 50,198, 56,185,200, 21, 84,101,205, 20,165, 10,157,122, 65,116,122, 47,251,228,206, 59, 98,200, 66, 93,115, 30, 95,
- 72, 18, 24,113,230,154, 91,203, 24, 70,170,170,102, 26, 70, 50,137,186,170, 49, 86, 2, 4, 52, 90, 12,117,198,224,157,204,238,
-156,147,176,136,194, 59,140,182,178, 34, 21, 35,171,229, 10, 82, 66,165,217,213, 62,107,250,146, 74, 52, 81, 47,106, 82, 20,233,
-118, 57,227, 34, 37,183,218,147,200,160,196, 8, 50, 12, 51, 83, 90,103, 22,245, 98,158,253,207, 93,170,209, 20, 85,137, 68,166,
-202,159, 23,135,180, 65, 91,129,105,104, 45,240, 14,149, 36,244, 37, 14, 35,190, 40,112,198,136,211, 63, 76, 8,250, 86,220,254,
-214,185,121, 45, 19,218,174,149,148, 49,231,197, 52,164,196,160,101,189, 56,207,165,251, 22, 87,173,214,154,161, 23, 10,159, 85,
-106,222,253,207, 18,250, 1,236,218,158,170,240,104,107,196,123,144,196, 73, 91, 85, 2,245,145,103, 82,130,100, 82,138, 68, 18,
-101, 81, 94,249, 27,250,105,152,215, 50,153, 11, 75, 61,127,182,197, 85,183,229,156,195,106, 25, 5,121, 39, 14,237,194,137,209,
-211,204,202, 66, 66,209,180, 29,103, 93, 71,200,138,110, 18, 51,213, 37,226,115,140,113, 86, 24,122, 82,140,172,214, 43,198,169,
-151,238, 47, 4,214,139, 37, 83, 28,145, 89,255,132,202, 51,111,123, 86,135, 46, 67, 43, 46,255,205, 97, 24,168,202,146,168, 12,
-139,245, 62,138,158,162,240, 52, 77,199,217,233, 57,123,203,146,106,177, 7,190, 64,135,128, 51,138,152,193, 24, 77,225,133,197,
- 62,245, 81,232, 99, 78, 83,151, 5, 33,106, 86,213, 17,245,222,154,151,238, 30,179,216,187,193,241,205,107,220,189,127,155,163,
-235, 55, 88, 45,246, 80,186,224,238,221, 87,120,227,181,151,241,206,211,108, 18,175,190,122,151,172, 50, 31,127,252, 49,231,231,
- 98,114,188,255,202,203,252,210,183,191,206,171,175,223,163,168, 11,238,222,185, 75, 85, 74,177, 25, 98, 36,142,153, 7, 15, 63,
- 39,135,200,249,197,134,166,147,177, 89,136, 35, 41,102, 96, 86,100,250, 22,107, 12, 33,206,207,107,138,130, 91, 78,137,243,179,
-139, 43, 83,235,208,181,160,231, 64,149, 73,246, 60,148, 86,168, 12,227, 52,208,183, 13,113,148,203,133, 36, 84, 57,173, 12, 25,
-145,212,141,149,142, 62, 70, 25, 13,214, 11,233,252,246,246, 15,240,222,129,130, 16, 38, 98, 78, 44, 87,178,129,160,141,152, 93,
-195, 40,187,210, 70, 27,172, 85,148,197, 28,200,148,226, 60, 74,145,150, 49, 43, 53,191,219,150,148, 37,166,214, 26, 77,225, 45,
- 97, 24,136, 83,160,111, 91,250, 77, 75,179,221,176,221, 53,194,165, 0,148, 18, 25, 89,240,165, 10,231, 61,195, 16,185,118,227,
- 58,143, 31,127,206,157, 59,119,217,110,183, 12,237, 57, 55, 94,255,117,148,222,162, 72,148,139,175, 82,239, 28,163,130, 39,143,
- 30,208,159, 60, 99,161,191,196, 91, 95,255, 14,250,228, 26,187, 23, 43, 56,104, 88,196, 19, 50, 10,173, 50,113, 8,164,121, 12,
-166, 46,206,121,243,229,251,156,156, 60,102, 28, 34,207,155,145, 41, 79, 76,198,176,244,150,227,131,154, 20, 21, 89, 9,232, 41,
-103,225, 60, 20, 69, 41,231, 40,151, 27, 42, 35,222, 58, 22, 85, 65, 85,120, 74,239,177, 26,241,109,197,137,117, 85,210,244, 35,
-150,140,117,197,172,114, 68,180,177,140,109, 75, 81, 8, 23, 2,164, 67,175,235, 57, 93, 77, 73,192, 15,243,121,191,217,136, 50,
- 90, 85,178,150,102,220, 76,192,155,228,124, 79,136, 79,161,172, 10,114,144,247,113,138, 19, 85, 89, 93, 41, 14,118, 62,199,141,
- 17,204,248,114,177,192,106, 43, 76, 21,163,232, 59, 97,219,151,101, 73,223,203,136,209,252,141,191,242,151,126,219,175,111,240,
-250,219,111, 96, 85,228,211, 7,143, 88, 46,214,156,239, 26,212,176,229,207,126,240, 67,138,245, 77,202,194,243,236,197, 11, 78,
- 78, 95, 80,151, 21,214, 27, 46,206,159, 82, 21,142,131, 61,207,178, 92,160, 23,123, 88,103, 57,217,158,242,187, 63,120,135,159,
-190,247,128,194, 84,236,175, 87,228, 49, 96, 49,220,186,113,107,222,205, 14,140,217,144,203, 10, 83, 47,233, 83, 34,103,131, 47,
- 10,186,182,103, 28, 7, 98,150,132,177, 75,211, 64, 10,130, 43, 53,218, 16,114,196, 42,133,214, 32,212, 39, 37,149, 86, 63, 16,
- 70,217,199,204,179,195,113,154,194,149, 83, 59,196, 72, 8,145,162,172,168,170, 26,201, 29,118, 34,171, 12, 61, 57, 9, 81, 42,
-132,128,117,118, 54, 85, 32,151,115,144, 53,177, 28,133, 36, 53, 14, 35,100,153,227,203,139, 52,231,113,167,132, 47, 10,198, 97,
- 32,199, 40,242, 77, 20,232,129, 50,226,176,239,187, 14,175, 13,218, 40, 98, 86, 56,173, 80, 78,214,217,166, 32, 88, 67,133,204,
-110,181,182,120, 43,243,227, 75, 72,134,184,176,179, 36,245, 76, 19, 49, 71,226, 24, 80, 89, 93,117,153,164, 68,204,226,116,207,
- 89,118,122,115, 74, 88, 51,239,111, 43,197,122,181, 22,217,110,154, 56, 59, 23, 90,222,101, 82,144,208,213, 36,181,104,156, 38,
- 10,127,153, 38,166,113,222,207, 7,132, 98,219,182, 36, 96,183,221,208,247,146,231,238,172, 97, 10, 51,210,117, 86, 6,178, 18,
-122,149, 72,237,226, 28,111,187, 14,237,164, 80,186,244, 67,164, 40,232, 73, 51,171, 52,164,203,234,116,182,136, 41,249,158,140,
-152, 0,208, 40,180, 18,122,157,247,130,141,148, 23,108, 98, 81, 47,153,194,196,122,185, 68,105, 51,203,241, 35,133,247,104, 35,
-224,152,182,149,241,133,115,194, 5, 40, 10,249, 62, 99,148,128, 9,111,197,208,215, 13, 18, 93,170,148,194, 59, 49, 54,165, 44,
-187,226, 49,103,152,199, 28,211, 36,100, 55, 73,197, 50,244,189, 20,143,144,217,117, 45, 99, 63,161,148,102,156,228, 96,140, 49,
-206,197,148, 96, 78,133, 0, 40,251,245, 33,136,106,163,200,146,197, 16, 34, 83, 12,164, 16,100, 71, 58, 69, 65,227,230, 68, 51,
-136,156,159, 97,126, 31,144, 11, 40, 38,124,225, 49, 86,248,215, 40,152,166,145,114, 30,211, 8, 48, 72, 16,153,117, 93, 17,131,
-116, 37, 83,144,159, 95, 81,120, 41,250,172, 17, 47,128,179,120, 47,217,245,122, 86, 9,134,113,194, 88,195, 16, 38,156, 95,144,
- 66,162,170, 52,109,219,243,236,100, 75,123,241, 28, 87, 56,246,143,175, 19,135,142,132,172, 41, 78,195,196,249,105, 71, 89,149,
-244, 99,194, 87, 37, 74, 59,180,146, 17, 85, 78,160,181,130,105,160,178,142, 23,143,206,249,240, 23, 79,153, 58,104,182, 35,155,
-147, 11, 66,219,241,232,233, 57,123,235, 21,138,196,249,217, 22,235, 11, 22,213,130,131,195,125,114, 63,241,233, 71, 15,121,248,
-224,115,114, 12,108,183, 59,158, 63, 59,151,162,188,172, 24,135,134,118,215,112,113,113, 78, 28,132, 90,216,238, 26,156,117, 50,
-118,139, 1, 53, 77, 82, 92,149, 82, 40,151,139,133,236,133, 43, 41,246,141, 55, 18, 31, 27, 2, 78, 43,118,187,150,190, 29, 89,
-174,151, 2, 58,137,129,178,148,159,183, 87,146, 20,232, 75, 47,208,162, 44, 23, 74, 57,119,119,195, 56, 97,149, 2, 50, 83,202,
-116,109, 75,140,145,178,178, 52, 23, 27,170,186,146, 98,106,156, 80,218,202, 92,156, 76,181,218,195, 22,210, 69,166, 44,103, 65,
-214,138, 20,147,156,149,206,162, 72,232, 40, 69, 74, 72, 19, 82,176, 4, 98,134, 20,229,185,205, 74,138,202,156,242,188,142, 38,
-116,189, 24, 2,121, 10,228, 40, 23,237,120,185,217,227, 97, 24, 36,243,224,252,252,148,107,215,175,211, 53, 23, 40,191,207, 87,
-191,251, 31,129,234, 9,195,134, 41,100,114,120,153,237,243,134,103, 79,223, 97,251,226, 67, 94,122,253,223,228,175,254, 3, 40,
-191,106, 25, 63, 89,178,249,240, 22,219,229, 6, 63,157,146,141,199,164,192,201,227, 71, 44,142,174,241,248,199,239,176,178, 16,
-200,252,218, 47,127,155,151,110, 92, 99,127,125, 8,198, 81,236, 47, 89, 30, 93,103,127,127,143,219, 55,110,242,202,173,107,188,
-118,235, 38,215,150, 14,167, 50, 47,221,189,206,241,254,146, 47,191,245, 10,215,214,158, 28, 58,202,202,112,113,113,194, 94,109,
- 41, 92,100,243,226, 25,214, 4,118,155, 11, 86,118,192,230,142,238,226, 25,213,184, 99,115,113,206,243,231,207, 41, 77, 98,187,
-219, 49,182, 13,199,135, 75, 14,246, 22, 28, 46, 60,125,183,165,242,154,169, 31,208,214, 19,198,137, 41, 68, 20, 2,146,154,198,
- 48,251, 45, 2, 85, 85, 99,188,163,240, 51,221,207, 90,198, 40, 13, 69,233, 10,154,174,193,168,153,186, 9, 87,205, 82, 8, 66,
-230,148, 81,230,165,249, 89,227,140, 67,207, 77, 80,202, 9,187,190,253, 58,251,215,246, 57, 63, 61,229,221,159,125,132,171, 86,
-140, 26, 32,241,179,143,158,112,112,235, 21,250,161,165,139, 3, 79,159,159,144,135,137,103, 47, 54,188,246,234, 61, 20,142,251,
-247, 86,220, 58,188,206,163, 39,207,121,252,249, 35, 82, 84,124,244,217, 57,135,135,135,188,118,231,158,200,131, 90,205,213,160,
-230,244,252,148,102, 12,140, 9,172, 47,168, 92,164,111,229, 50,213,198,146, 67,146,174,220, 21,180, 77,195,166, 9,212, 44, 40,
-230, 11,161, 27, 36, 19,153, 8,182,168,200, 57, 98, 11,100, 94, 57, 12,248, 66, 46, 6,103, 12,125, 63,226, 11,133,178,154, 85,
-185,154, 15, 30, 71,152,190,200,189, 53, 70, 14,249, 52,131, 66, 66,152,104,187, 14, 53,255,151, 82, 64,107, 71,225, 61,201,201,
- 78,183,115,194,239,109,155, 86,138,147,208,161,181,194,102,203, 24, 71,188, 47, 49, 42,203,177,170, 20, 33, 76,172,214, 75, 50,
-179, 33, 10,169,240,134, 56, 81, 20, 11, 22, 94,214,211,242,124,176, 19,198,249,207,204, 39, 70,206, 12,243,140,215, 57, 75, 72,
- 19,139,197,138,144, 68, 46,238,199,137,194,137,241,195, 90,131, 47, 11, 82, 76,104, 5, 93, 39,102, 58, 48,216,156, 25, 98, 68,
-147, 89, 20, 37,104, 57,228, 83, 8,108, 54, 27,194, 20, 65,101,150,203, 53, 32,115, 26,107,173,204,209,148, 20, 58,253, 40,187,
-240, 41, 74,212,107, 6, 22,203, 37,219,205,197, 28,174, 49,178,219,109,229, 18,214,178,151,171,140, 56, 62,199,221,142, 80,120,
- 70,107, 69,238,157, 15,143,105,144, 64,161,170,168, 48, 70,138,176, 16, 37,202, 49,140,178, 79,190, 88,214,242,181,140,129,148,
- 50,101,237, 81, 73, 76, 93,219, 94,224, 64,139,170, 34, 4,185,240,201, 98,120, 65, 9,122, 23,165,240,206, 49,204, 44,229, 97,
- 28, 81, 89, 58,153,126, 24, 57, 59, 61, 99,181, 90,113, 25, 89,153,149,228, 94,119,131, 20, 66,151,169,103,105, 24,232,227,132,
-130, 43, 31,195,122,111,239,170,112,138, 49, 82, 22,165,132, 65,140, 61, 93, 43, 88,222, 75,114, 84,105, 44,125,156,115,189,181,
- 34, 69, 49,206, 36, 45,238,101, 16,165, 0, 18,147,146,203,126, 10,129, 97, 2,165, 1, 37,159, 69,156, 11,182, 52,102, 57,168,
-181,144, 4,251,190, 23,243,167, 49, 56, 99, 80,200,159,157,154, 22, 20,212,139, 90, 46,241,186,154,163, 63, 35, 74,121,188, 23,
-110,126,219, 74,112, 70,215,182, 87,144,163, 16,228,103, 16,115, 20,170,159,210, 24,163, 80, 57, 83, 85, 37,117,233,233,250,129,
-126,232, 88, 45, 87,104, 37,161, 64,221,110,203,209,177,231,252,236,148,166,203,196, 23, 47, 80,185,195,248, 21, 62,206,161, 47,
-203, 18,101, 28,153, 76,123,113, 70,223,122,140,118,244, 93,207,114,165,168,138,130,174,153, 8, 74,211, 79, 18,180,179,183, 94,
-208, 77, 61,149,247, 88, 11,219,221,150,117, 93, 49, 14,145,174,151,247,183, 12, 25, 76, 34,119,138,202, 27,148, 50,104,171,104,
-183, 27, 49,143,213, 43,129,189,232,192,249,139,115,180,181,188,252,210, 75,236, 54, 27,240, 5,206, 88,214,123,107,218,205,134,
- 23, 23, 23, 8,226, 80, 46, 62, 49, 91, 73,129,152,156,172, 97,102,165,209,202, 80, 91, 81,104, 92, 89,243,252,228, 57,165, 47,
- 41,235,146, 7,159, 60,162,189,104, 41,235, 82,252, 13, 90,100,249,108,148, 36,171,149, 21,202, 10, 55,190,116,142,110,236, 49,
- 58,147, 19,164,217, 72,215,110, 26,146, 18,144, 16,202,176, 90,237,177,107, 55, 68, 38,148,113, 76,125, 79, 81, 85,216,218,194,
- 84,207,157, 95, 66,107,132,125, 81,214,236, 6, 37,231,101, 63,160,147,197,228,140,210, 86, 30, 46,101, 73,105,146, 49,145, 83,
-164, 32,238,120, 99, 12, 41,107, 49,229, 41, 37, 69,166,210, 88, 50, 99,215, 51,120,199,162, 90,115,113,114,194,106,185,224,103,
- 63,122,135, 87,126,249,109,222,254,119,255, 83,190,178,248, 45,202,241,251,252,139,127,254, 59,124,252,139,223,231,211, 15,126,
-159, 28, 26,198,237, 67,138,245,155,188,253,230, 93,110,232,129, 50, 79,172,255,122,131,122,176,230,231,255,243,109,206,247, 62,
-226,112, 61, 80,151, 37,239,253,248, 39,220,234, 39,238,222,190,203, 31,253,111,255, 11,247,191,242, 6,183,238,223,192,132,142,
-227,162,196,215, 75, 40, 60,213,106, 69,172, 39, 52,137,202, 24,116, 72,124,222,238, 88,239,105, 54,155, 11,246,246,246,120,233,
-232,144,226,238, 45,190,249,237,175,176, 62,144,153,249,193,205,235, 60,123,246, 12, 66, 98, 28, 58,218,139,142,156, 21,159, 61,
-125,202,222,254, 62,247, 94,126,157,211, 23,207, 72,237, 64,123,190,227,230,221,155, 60,127,241, 57,102, 81,240,244,209, 51,134,
- 33,114,216, 6, 78, 78,159,114,227,206,130,156, 12, 93, 23,216,126,122,129, 45, 28,161, 75,228,164,200, 65,147,149,150,230, 42,
- 75,188,111,176,134,105,144,177,207,106, 85,145,178, 34,117,153, 77,179,101,111,181, 34,165, 68,211, 52, 8,135,194,162, 16, 58,
-103,206, 9,137,184,117,224,196,108,109,102,133,208,252,141,191,253,215,126,251,226,233, 83, 30,124,250,132,128,102,239,112, 73,
- 97,231, 64,122,224,201,227,207,105,198, 13,239,191,251,144, 97,154,248,198, 55,190,202,225,141, 3,188,201,156,157,110, 40, 11,
-195,131,135,159,241,139,207,123, 46,182, 61,202,120,110, 92, 59,162,210,137,105,234, 81,179,180,211,245, 19,187, 49,210, 68, 48,
-174,160, 94, 45, 41, 11,201, 61, 30, 71,145,144,173,115, 76,211, 72,214, 10,239,102,167, 57, 16,131,184, 7,229,126,203, 92, 2,
-244,149, 74,104,103,209, 90,190, 89, 51, 75,166, 33, 70, 89, 91,210, 51,150, 49, 67,210, 26,239, 68,194,118, 94, 24,223,214,121,
-188,243,178,131,236, 11,180, 17, 67,152,144,173, 2, 86, 65, 89, 87,104, 45, 38,138,171,104, 72,113,153, 96,157,196,233,137, 36,
-106,209,142, 89, 62, 41,216,237,182, 36, 32,198,137,213,114,201, 52, 75, 43,113, 10,114,233, 40,133, 47, 42,212, 12,187, 80, 64,
-211, 73,230,112,140, 73,214,215, 16,137, 64, 41, 49,119,153,249, 82,159,130,112,178,199, 94,246,219, 67,148,249,237, 52, 74,180,
- 34, 74,216,213,114,105, 75,231, 56, 6, 1, 46,164, 24, 65,139,243, 54,132,200,230, 66,210,186, 18,204,217,191, 18,142, 16,162,
- 24,177, 22,139, 5,133, 43,100,159,220,104,198, 81,192, 47, 33,202,108,109,185, 92,208,204, 72,219,156, 18,203,121, 37,195,120,
- 79, 85,214,210, 13,205,210,177,153,127, 86,104,233,244,125, 81, 80, 56, 39,115,171,105, 34,164,217,156,134,124,240,151, 60,236,
-170,170,174,128, 12,214, 59, 46,119,222,219,221,142,126, 28, 9, 33,130, 81, 12, 99, 32, 78,163,116, 84,133, 23,243, 99, 22,243,
- 8, 74,232, 82, 83,152,208, 74, 19, 82, 4, 37,172,111,235, 12,109,211,210, 52, 13,109,215, 73, 90, 19,224,141, 65,205,238,244,
-205,230,130, 48, 78,148,139, 5, 33,136,124, 45, 46,102, 80, 86,147,162,132,223,228,156,169, 23,181,236,246,134,140,247,134,139,
-179, 11, 54,231,103,164, 44, 56,206,122,177,160,240,133,208,240,170, 26,133,172,152,121,231, 41, 11, 47, 82,168,179, 98, 78, 52,
- 82,168,149, 69,137,183,134,114, 54, 86, 26, 37, 51,125,165, 64,169,140, 74, 80,148,229, 23, 43, 54, 97,206,208,118,194, 14,240,
-133, 40, 73,253, 56, 48, 78,113, 6,116,212,120, 35,241,202, 0, 41, 39, 82, 78, 92, 38,122, 25, 5,187,166,101, 10,242,121, 75,
- 74, 87,148,223, 51, 10,107,103,114, 99,204,179,178, 36,221,196, 52,142,115,180,164, 99, 82,178, 46,186,172, 45,227, 24, 57, 57,
- 27, 24,251, 29,198,120,202,186,160, 90,172,177,165, 67, 33,115,250, 20,165, 72,113,214,144,178,160,120,115, 20,183,190,241, 18,
-210, 19, 83, 66,107, 73, 95,219,236, 90,124, 89,210, 77, 35, 10,241,130,148,229, 2,107, 4,216,163,208,148, 69, 73, 54, 10,157,
-181, 20, 2, 89, 49, 41,112, 90,163, 84, 66,153,136,154, 6, 54,109,131,113, 37,123,171, 37,198,137, 49, 42,197,192,174,233,136,
- 33, 9,190, 53,201,187, 21, 98,128,152,137, 42,146,145,104,106,101,229,235,211,214, 50, 13, 3, 99,211, 50,244,130, 14,174,235,
- 18,109, 20, 73, 9, 89,209, 91, 7, 70, 46, 74,131, 64,146,138,162,148, 85, 74, 37,134,220, 16, 2, 99, 43,115,125,239,189,188,
- 15, 10,180, 22,114,159,177, 90,176,197,179, 63, 71, 25, 69,142,137, 20, 2,125, 63,208,245, 29,164,136, 74, 10,140,198, 21, 5,
-210,171,167,203,154,155,218,151, 20,101, 65,225, 29,101,233,169, 43, 73,255,178, 90,168,139,203, 69, 37,103,165, 49,216, 89, 6,
-158, 79, 23,201,199,176,138,118, 23, 41,170,130,245,222, 62,103,167,103,124,249, 43,111,243,189,255,228, 63,100,124,240, 37,126,
-245,239, 95,227,251,191, 50,242,215,254,246, 43,132,226, 55,248,218, 55,126,157,226,248, 85,170,229, 91,124,251,251,127,159,251,
-255,222, 5, 31,133, 5,207,254,153,101,243, 83,207,240, 76,241,244,243,142,207,223,251, 9,161,236, 88, 93, 63, 68,181, 13, 31,
-253,252,231,228,161,229,241, 7, 31,242,157,239,125,151,223,248,203,127,137, 63,254,189, 63,194,105,205,194, 89, 72,129,131,253,
- 21, 78,129, 87,138,246,226,132,161, 61, 71,155, 12, 42,145, 98,160,170,197,155,227, 11,207,215,190,242,109, 94,190,255, 58,167,
-207, 54,252,179,127,250, 59,164,177,167, 86, 53, 43, 42,108,208,152, 62, 80,216,138,187,183,238,241,252,227, 79,113,195,192,129,
- 53,108, 63,255,132,253,202,114,123,127,159,240,108,195,129, 43,216, 47,107,150,139, 5,223,253,206,119,185,127,235, 30,175,190,
-250, 50,135,199, 7,124,239,183,190, 75,185, 92,178,168, 44,218, 70,108, 24,176,121, 68,231,200,216,205, 41,124, 36,134, 40, 16,
-170,144,210,149, 90, 25, 66, 36, 41, 45,138,160, 54, 20,133, 39,198,132, 47,203,171,119,189,235,122,134,113,148,145,141,179, 3,
-113,176,193, 0, 0, 32, 0, 73, 68, 65, 84, 87, 40,103,243,214,203,119,127, 91, 25,207,241,141, 99,172,143,140,231,167,116,159,
-127,194,159,252,193,191,230, 7, 63,124,135,231, 23, 29,219, 54,112,116,184,198, 41,197,246,228, 41,139,149,226,253,247, 63,102,
-127,191,102,204,158,207,159,183, 28,238,239,113,227,230, 53,246,247,151,140, 83,123,245,128, 55,205, 72,147, 52,197,122,133,175,
-106,172,247,114,153, 27,139,181,194, 98,247,222, 51,133,136,164, 11, 65,154,231, 33,202, 24,188,181,140,227, 64, 74, 95,144,206,
- 64,102,204, 40,141,213, 10,180, 66,163, 25,131, 72,103,206, 90,114, 2,239, 44,237, 40,156,230,105, 12,179,211, 90,144,146, 41,
-102,180, 18,101,215, 24, 67,211, 52,140,227,196, 24, 5, 88,162,181,146, 74, 55, 76,232,156,176, 86,211,117, 45, 93, 63,208, 52,
-130, 27, 53,214, 18,131,204,143, 47,209,165,117, 37, 24,196,170, 40,201, 81, 16,167,114, 56,203,225, 38,124,117, 77, 86,153,190,
- 31, 17,167,166, 69,187,185, 56,112,238,234,112,246,133,100,238,106, 20, 33,141, 40, 5, 49, 38,198, 48,162, 16,233, 69,228,112,
- 35,180, 56, 68,174, 14, 33,147,114,162,217, 53,228, 44,121,203, 57,102, 48,154,186, 20,137,239, 98,179, 97, 24,100, 36,113,233,
-250,143, 49,201, 78,164, 51, 87, 70, 66,173, 5,213, 90,213, 37, 57, 43,140,179,212,149, 68, 91, 86, 85, 69,211, 54, 84, 11,201,
- 15,174,171, 10,227, 28, 67,223, 11,100,134,204, 24,133,217,175,181, 18,165,196,200,193,171,149, 98, 24,231, 0, 2,173,113,179,
-210,114,153,131,172,140,166, 46,229,192, 73, 73,246,208, 67, 16,120, 3, 89,164, 64, 99,133, 8,167,141, 33, 12,129,178,244,132,
- 73, 36,170,105,154,176, 78, 46,134,126, 20,247,249, 52, 5,172, 53,178,119,157, 69,158,183,214, 51, 12,189,144,223,130,164,192,
-229,148, 8,243,200, 97,106, 59,134, 40,100, 44,109, 53,139,122, 65, 76, 82,152,173, 87,107,140, 54,116,187, 29,101, 93, 32,206,
-197,200, 48, 77, 24, 37, 47,226,118,187,187,218, 42,176,222,203, 92,205, 75,215, 31, 83, 68,231,140, 53, 70, 14,116,163,201, 41,
- 50,134,137,110, 28, 25,198,158, 24, 51, 49,201,243,103,141, 96, 45,101,168,132,200,191,136,103, 35,165,200,200,156,124,135, 96,
- 57,189, 19, 7,118,211,236, 68,181, 48, 10,131, 92,144,101, 85,114,153,192,231,189,103,187,221, 50, 78,227,213, 40,198, 23,158,
-182, 31,209,206, 80,250,130,194, 21,160, 52,206, 27,166,113,162, 40,196, 36,151, 98,160,172, 75, 66, 24, 49,179, 4,136,146,159,
-109, 12,146,116,229,138,138,106,181, 79, 85, 22, 44, 10,195, 20, 18,103,155,150, 97, 28,133,130,101, 11, 41,118,170, 26,227, 60,
-198,149, 88,239,104,119, 23,244,187,158, 41, 73,220,112,215, 13,196, 65,242,172, 83,134, 20, 71, 98,210,184,114,193, 56,244, 72,
-206,245, 68, 70,224, 83,101, 85,210,182, 59, 10,103, 64, 37,134, 97, 98,111,127,133, 45, 10,246,215,123,236, 31,172,177,222,113,
-243,230, 45,234,245, 62,109,211,242,210,173, 59,124,231, 27, 95,230,252,244, 57, 39, 79,158,178,180, 98, 84, 77, 41, 97,212,252,
-115, 87, 26,107,156,100,112,207, 99, 11,227, 28,113,146, 45,130,105, 26, 37,154, 21,168, 87, 11, 92, 81, 80, 47,150,104,109,217,
- 91,237, 81, 45,151,184,186,162,222, 91, 65, 4, 61, 95,198,205,197,134, 49,200,120, 81,194,125, 36, 27, 61,106,105,164, 67, 78,
- 56, 83,176, 88,173, 8,211,192,110,219, 72, 0,201,148, 72, 57, 82,150, 2, 56,185, 12, 6, 34,139, 41,117,236,123,156,145,188,
-109, 49, 89, 26,140, 70,222,169, 40,107, 95,133,243,243,255, 39,187,219,202, 24, 28,144,149, 6, 5, 86,107,194, 40, 78,116,239,
-101,215, 61,164,136,240,203,225,254,203,111, 16,148,133, 24,248,246,223,250, 62,254,250, 61, 46,222,191,206,247,127,253,144,111,
-148,142, 35, 44, 15,238,195, 65,130,235,235, 3,170,131,125, 66, 55,162, 30,236, 81,220,134, 79,222,129,159,191,215,243,232,253,
- 39, 60,127,254, 30,211, 48, 82,171, 99,220,177,167, 82, 29,207, 62,250,132,105, 26, 88,183, 59,170,178, 66, 37,203,131,143, 31,
-176,218,223,227,230, 43, 47,243,232,197, 9,103, 23, 39,100, 18,103, 79,158,176,217, 94, 64,136,108,206, 79,177,198,176, 92, 46,
-176, 69, 37,216,228,194,163,179,152, 36,167,182,227,206,221, 91, 28, 30, 29,114,237,218, 49, 67,232,249,197, 39, 31,144, 21, 44,
-247,247, 48, 38, 19,167, 6, 73, 68, 43, 57,186,125,196, 39,103, 47,120,120,114, 74,185,191, 38,146,233,211,196,179,147, 19,250,
-177,231,248,232,136,235,235,125,250,243,134,251, 55,238,241,198,253,151, 48,113,228,165,251,183,249,206,175,253, 42, 47,189,250,
- 50,155,102,135,183,153,167,143, 63,131,126, 36,237, 54,220,185,126, 13,171,102, 67,102,136,216,249,243, 8,113, 34,228,140, 47,
- 10,180,181,178,105, 17, 35, 33, 73,110,123, 86,208,119, 61, 67,223, 51,142,178, 34,109,254,198,223,252,171,191,109, 82,203,238,
-201, 99, 62,248,211, 63,230,221,119,126,204,159,254,248, 67, 46,198,204,179,109,203,170, 46,249,210,151,238,192,212,114,180, 48,
-188,246,246,107,124,250,217, 11,186, 62,241,225,195, 11,148, 22,102,122, 81, 9,235,122, 28, 6,226,152,136, 65, 49, 98, 25,180,
- 97,185, 90,163,141,204, 62,141,177,116, 77, 71,215,183, 24,235,228, 64,138, 9,157,213, 60,147,118, 48,207,129, 98,152, 31, 50,
- 95, 96,140, 2,165, 69, 74, 82,242,118,101, 34,211, 24,209,136,129,170, 27,123, 57,152,146,194,186,185,227, 67, 1,114,201,213,
-101, 77,136, 95,172,147, 13, 97,158, 33,229, 44,107, 66, 49, 50,141,129,148, 19,211,216,203, 33,172, 20,222,201,218,209, 48, 13,
-244, 93, 47,221, 73,146,189,108, 41, 6,102, 60,168, 18, 35, 95, 74,113,102,147, 79,104, 5,109, 47,115,105, 73,252, 81,196,105,
- 66, 41,139, 47, 60, 73,101,198, 65,176,168,205, 56, 8,177, 47, 65,154, 15,251,156,179,204, 84, 98, 70, 43, 43, 47, 82,134,148,
- 18,222, 22,178,250, 96, 44, 49,139,116, 43,178,178,188,176, 83,148,117, 40,231,156,228,239, 90, 33, 30,109,182,219,171, 89, 78,
- 93,215, 44, 22, 11,202,178,164,174, 75, 98,146, 78, 34,205,151,241, 48,140,196, 44,204,119,227,196,156, 53,116, 61, 33,139, 75,
-122,189,150,139, 77,107, 61,147,203,164,179,142, 41,205,127,151, 99, 26,229,107,115,206,145, 64,208,136, 93,135, 47,132,181,108,
-181, 66, 25,195, 52, 6,150,235, 53,222, 9,182,209, 88, 73,107, 19,188,107,100, 81,151, 24, 37,236,229, 75, 23,168,202, 50,202,
-112, 86,208,150,162, 76, 76, 44, 74,249,179, 67,136,144, 35,198,200,158, 57,200, 60, 92,105,197, 20, 34, 85, 89,204,115,107,217,
-249,212, 90, 46, 79,101,228,123, 42, 86, 75,150, 85, 77, 89, 87,212,165,204,200,235,170,198,151, 2, 16,210, 90, 48,158,133, 47,
-229,123, 47, 43,188, 51,244,195, 72, 81,120, 66, 24, 89, 45, 87,172, 86,107, 22,203,138,186, 40, 9,147,252,121,103, 29,137,204,
- 20, 5, 38,145, 51,156,158,158,179, 59,191,160,219, 53,194,136,232,251, 43,201, 91, 27, 49, 42, 93,166, 65, 41,102,229, 42,201,
-207, 34,130,152,247,208,160,196,204,122,249,123, 33,200,187,217,117, 61, 33, 10,214,210, 90, 59,143, 87,132, 70, 87,150, 37, 85,
- 85, 80, 20, 2, 66, 18,188,105,193, 52,201,124,112, 24, 58,208,178, 73, 97,180,152, 50,157, 47,216,110, 55,212,181,164, 10, 86,
-117, 69,225, 61, 97,154, 88,173,150,148,115, 39, 56,197, 9,109, 29,217, 22, 50, 7,118, 26,111,101, 19, 4, 5,198, 56,140, 85,
- 92,156,157,146, 82,196, 23, 75,142,111, 92,163, 92,200,170,101, 93, 47,137,105, 96,154, 90, 52, 17, 27, 3,218, 36,156, 17,191,
-202,122,111,193,241,209, 33,215,175, 31,162, 83, 36, 13, 29, 71,139,146,213,122,143,187, 55,174,161,141,230, 91,223,248, 18,199,
-135,135, 92, 63, 60,102,111,111,197,173,155,119,184,126,237, 22, 7, 7,199,236,175, 86, 52,167,167,188,120,254,140,231, 23, 23,
- 20,133, 71, 23, 14, 91, 22, 44, 87, 53,251,135,107,154, 38, 16, 99,194,104,200, 33,146,166,129,105,108, 25,167, 30,166, 1,147,
- 19, 33, 6,124,225,217,219, 63,192, 21, 53,213,162,196,218, 98, 94,131,116,100, 20,202, 64,232, 70,242, 20,196, 55, 84,175,168,
-150, 21, 89, 69,134,166, 99, 10, 1,227, 28,154, 72, 84, 18, 96,227,202, 2,171, 36, 56,169,107, 90,156, 17,163,168,179,226,198,
- 38,137, 81,211, 24, 73, 18,203, 41,145,146, 66, 27,133,210, 86, 58,189, 16, 32,167,121,124,144,241, 86,208,181, 90, 67, 38,145,
-148,188,135, 0, 49, 5,178,209, 56, 99, 40, 23, 37, 42, 9,126, 90, 27, 67,206, 64,140,184,162, 16, 79,136,114,115,241, 48, 50,
-134,145,190, 54, 76,238,128,125,243, 29,142,126,185,226,245, 42,242, 63,180,138,127,242, 95, 94,112,239,251, 37,203,183,224,241,
- 31, 91,118,219, 63,224,201,103,207, 49,143,239,178,255, 87, 50, 11,237,160,223,227,120,249, 10, 95,254,181,175,115,243,206, 91,
- 84,247, 3,102, 58,227,193,159,253,144,222, 56, 14, 73,212,198,241,224,193, 99,186,174,227,123,127,241,123,220,191,255, 42,203,
-189, 37, 97, 28, 57,121,113, 66,215,180,172,171, 5,245,162,162,233, 58,210,108, 18, 62,220, 59,148,196, 54,101,136, 99,224,201,
-103,159, 19, 38,145,245,183,155,142,131,253, 3,234,253, 67,146,205,252, 91,255,206,223,165, 94, 45, 81, 73,241,214,107,111,112,
-124,227, 6, 15, 63,249,152,113,154,120,252,252,156, 91,119,239,114,231,229,151,217, 13, 35,183, 94,186,205,205, 59,183,209, 30,
-222,249,217,143,169,151, 53, 79, 95, 60,101,187, 61,167,212,158,107,171, 21,219,205, 5,195,118, 75,161, 20, 47,221,190,205,215,
-190,242, 54,127,235,239,252, 27, 28,221, 90,115,239,213, 91,156, 53, 47,216,156,183,108, 78,159, 82,229,158, 66, 79, 84, 22,188,
- 10,168, 60, 73,241,175,141,108,251,148,158, 24, 34, 86, 95, 42,203,151,136,112,217,127, 55,118,120,250,219, 31,191,251, 33,231,
- 39, 79,120,247,163,207,120,239,225, 41,209,122,186,113, 7,211,196, 65, 53,240,252,249, 83,232,123, 72, 35,159, 61, 62,199,153,
- 37, 81, 23,188,254,198,109,156,179,220,188,126, 13,231, 28,221,102, 67,215, 14,248,229, 1,245,209, 49, 56,137,107, 28,194,120,
-101, 30,114,222, 51, 78, 66,130,107,154,150,174,235,232,154,134,110,232,133,203, 61,141,212, 69,129,247,110,238, 22, 58,180,146,
-249,166,209,138,148,132, 61,158,115, 38, 43, 37, 29,130,179,132,152,241,206, 16,115, 38, 79, 17, 91, 90,250,110,184,122,200, 99,
- 76, 12,211, 72, 93,150, 2, 64, 49,194,226,190,116, 36, 79, 65,102,183, 89,205, 73, 80,133, 71, 33, 1, 6,245, 98,193, 52,200,
-238,116, 63,140,212,181,236, 55, 67, 70,220,142,176, 90,175,200, 58, 81, 23,158,172, 5, 16, 19, 66, 68,105,136, 33, 73,216,197,
- 24, 24,167,192, 20,229,239,213, 86, 76, 45,166,240,168, 12, 9,129,122, 72,146,146,124,189, 67, 63,145,179, 68, 27,118,221, 56,
- 23, 52,178,183, 28,149, 72,229, 78,203, 76, 62, 38, 8,211,128,153, 37,218,194, 23, 36, 18,117, 41,169,109, 49,140,130,198,205,
-153,213,106,129,247,114,128,199, 40, 35, 5, 95, 84, 40, 18, 77, 55, 80,120,203,174,237,240, 86,246,175,235,229,146,169,151,238,
-181,172, 75,156, 17, 83, 99,206, 66, 56,146,164, 33,217, 67,191,220, 19,181,214,210,245, 61, 90, 27, 73,242,178, 18,118,130, 18,
- 73, 92, 43,133, 8,191,154,161,239,200, 42, 83, 22, 5, 70,207, 10,132, 18, 56,131, 54, 66,194, 75, 49,211,244, 61, 93,215, 82,
-184,121,139, 64, 75, 39, 97,172,160,100, 47, 59,240,162, 42,103,149, 98, 98, 24, 37,145, 73, 33, 74, 73, 10,178, 91,190, 94, 44,
-103, 89,217, 81, 22, 37, 69, 33, 89,228,213, 98, 65, 85, 85,114, 65, 89,145,175, 81, 74,100,249,185,232,177, 74,137,105,211, 26,
-121,158,167,129,186,174,104,154,157,108,108, 20, 82, 56,104, 52,214,137,154, 82,120,249,154, 51,194, 10,239, 71, 57,132,117,134,
-182,239, 8, 83,162,235, 91,166, 97,132, 48,128,210,164, 41, 16, 21, 84,179,195,214, 89,115, 85, 60, 93,102, 0,164,148, 49, 40,
-148,247,152,153, 37,208,181, 45,218, 24,170, 43, 57, 94, 92,181, 18,126,145,152,226,196,216, 75, 70,250, 48,200,248, 71, 43, 69,
-206, 89,156,189, 89,212,146,190,111,165, 16,142, 65, 2,135,130,152, 24,199, 81,120,249, 33, 70,202,170,160,107, 90,138, 74, 2,
- 77,156,177, 20,165,176,182,211,252,124, 56,239,102, 87,176,167, 90, 44,169, 86,123, 68,227,233,134,129,205,102,203,208,118, 56,
-227, 41, 43, 75,223,245, 24, 37,120,204, 97, 26,217, 54, 59,142,175,221,226,112,181,100,239, 96,143,253,253, 21, 7,135, 43,172,
- 43, 57,190,115,139,227,107,199,220,184,113,204,122,111, 77,189,168,177,121, 96,187,221,240,244,217, 41,247,110, 95,227,124,179,
-101,156, 34,159, 62,248,156,166,109,121,248,248, 25, 93,219,114, 92, 86,116, 93, 67,211, 53,252,191, 68,189,217,143, 95,103,122,
-231,247,121,151,179,254,150, 90, 73, 22, 73, 81,162, 36,106,111,117,203, 45,245, 98,123, 98,140,237,241, 0, 99,231, 38,152,228,
- 38,185, 72, 46, 18, 36, 64,242, 71,232, 95, 9,130, 4,152, 36,131,100,110, 28, 4, 72,224, 24, 51,158,113,119,219,189,169,213,
-106,146, 90, 40,238,181,215,111, 59,219,187,229,226, 57, 85,173, 27, 53, 68, 54, 89,245,171,115,222,247,121,190,107,223, 15,180,
- 94, 49,223,191,206,247,127,240, 9,171,182,163,172, 38, 60,123,121,196,206, 86,133,241,142,205,226, 66,156, 37,117,129,172,186,
-134,162,174,152,205,230, 68,165,104, 54, 43,212, 8,211, 95,156, 47, 70,173,128, 60,151,122,124, 31, 76,150,163,128, 44,183,108,
-154, 53, 42,137,246, 69, 37,161,164, 78,142,206, 48, 56,206,150, 27, 46, 86, 98, 57, 20, 10, 82, 46,250,162, 44,177, 70,211,172,
-214,210, 87, 95, 20, 87,142,140, 60,183,132,232, 9, 73,222,170, 44,183, 40, 45,130, 79, 65,221,204,149, 91, 8,173,136, 73,161,
- 71,212, 74, 41,121, 70,173, 22,212, 65, 25, 37,121, 10,101,137,213,226, 20, 32,198,241,185, 22, 11,174, 45, 10,116, 76,120, 10,
-178,172, 70,105,195,206,205,187, 20, 59, 57,166,218,163, 12,175, 48,185,184,193,111,190, 80,252,237,255,254,136,221, 59, 7,124,
-250,103, 48,207, 6,126,246,247,150,243,147, 83,224,136,124,126,151,131, 79, 44, 59,119, 97,231, 13,152,246,138,235,115,216,250,
- 56,225, 31,238,211,237, 86,196,229,183, 60,123,122,200, 43,101,226,183,191,251, 29, 15,239,223,231,131,247,222,198,133,142,159,
-255,250, 39, 60,124,248, 37, 27,215,176,189, 61, 71,229,150,166, 89, 99, 51,203,198, 57, 54,125, 15,198, 80,213, 5,161,151,160,
-173,163,231,207,121,241,226,144,182,217,240,236,219,199, 60,248,226,115,238,189,126,143,183, 94,191, 71,219, 37,222,126,231, 61,
-146,131,161,237,217,219,217,102, 90,151, 24, 21,169,108,198,245,235, 7,244,139, 13,171, 77, 71, 86,100,252,221, 79,254, 22,114,
-197,143,254,248,143,120,246,236, 24,165, 3,219,251,219, 84, 59,219, 36,155,113,188,188, 32, 36, 9,144,201,242,138,212, 13,188,
-243,246,219,252,246,243,251,152,220,240,246, 27,111,177, 55,221,229, 71,223,255,136,143, 63,252, 62,175,191,254, 22,123,251,251,
-148, 91, 53, 47, 78, 22,248,110,131, 29, 54,228,180,236,207, 75,240, 3,209,117, 99, 47,129,102,189, 89, 83, 79, 42,140,209,104,
-109, 48,251,243,233,167, 93, 82, 92,180,145,163,179, 5,182,200,177, 25, 84,202, 19,135, 1, 51, 90,213,108, 53,227,246,237, 55,
-249,232,195, 15,249,237,163,199, 52,237,134,174,233,137,125,207,209,225, 17,171,197, 26, 51,219, 66,215, 91, 68,173, 40,202, 2,
-141, 64,216,222,201,132,107,243, 81, 49,107, 45, 32,182,158,166,235,136,128,177,210,124,165,243,156,174,109,113, 78,194, 70,242,
- 60,151,198, 31, 45,219,184, 82,138, 20, 32, 4,143, 50, 22,173, 51,220,200, 83,103,202,192, 16,208, 90, 4, 80, 58,137,114,212,
- 38, 32, 37, 73, 87, 11, 16, 72,184, 16,165, 34, 48,122,156, 79,248,224,104,154,134,224, 61, 69, 33, 66, 21, 31, 18,211,170, 30,
-183,101, 81,115,107,212, 21, 61,160,149,180,123,205,183,183, 72, 41, 50,203,229,133,104, 55, 18,220, 80,150,149,240,203, 89, 41,
-211,114, 89,226, 34,164, 24, 69, 1,105,132, 90,232,250,158,224, 68,217, 28,220, 64,102, 13,131,235,200,181,166,237, 55,164, 32,
-161, 8,121,158,200, 50,133,142,129,174,239,137, 94, 54, 46,165, 32,134, 64,215,172, 41,140, 36,210,233, 36,205,107,133,213,227,
-231, 31, 88,173, 37, 66,215,104,129,163,226, 8,183,133, 32, 22,140,141,211,178, 33,152,130,164, 53,206, 57, 76, 33,225, 20, 62,
- 37, 66,144,203,104, 24,122, 18, 2,251, 40, 37, 13, 68, 49, 4, 73,253, 82, 34, 28,106,154,102, 68, 47, 18, 70, 75,169,132, 53,
- 98,235, 1, 72, 17,220,224, 70,238, 23,114,155, 95,169,229, 87,155, 13,174,239,233,135,129,249,124, 46,207,208, 48,144, 84, 68,
-169,116,117, 17, 5, 34,109,211,210, 15,210, 64,103,146,162,247, 3,101, 89,179, 89,175,176, 69, 33,150,198, 76, 82,209,126,223,
-216, 6,121, 81,140,202,222, 72,112, 1, 31, 60, 38, 55, 87,122, 1,241,160,143,225, 30,222,139, 22, 33,136, 88, 76,236, 50, 99,
- 13,110, 16, 29, 64,110, 37, 76, 70, 27, 77, 94, 20,172,155, 53, 42,203, 24, 66,196, 5,113, 67,120,231,197,179,109, 12, 6, 67,
-145, 21,130, 52, 88,131, 54,150,245,122, 77,145,231,116, 77, 11, 49,162,178, 76,222,147, 32, 21,165,113,156,196, 93, 76, 20,121,
- 38,156,105,138,216,220,224,252, 0, 62, 80,229,162,133,233,122, 17, 25, 53,155, 13,153,201,174,134, 76, 99, 52, 10,121, 38, 44,
- 25,218,200, 69,155,231,185, 64,223, 38, 35, 4, 47,241,201, 87,195,174, 97, 90, 85, 56, 47, 14, 5,173, 68,137,159,143,104,134,
-247,129,220, 74, 38,185, 66, 49,184, 65, 6,135,193, 17, 92, 32, 47, 75, 25,236, 66, 36, 5,241,236,134, 24, 48,153,150,191, 51,
- 47, 8, 86,179, 90,119, 44, 22,107, 72,142, 20, 6,242,172,100,103,255, 26,219,211, 57,171,205, 5, 90, 91, 50,165,168,139, 10,
- 91,213,108,109,239,178,179,181,195,189,123,119, 89, 44, 55,212,121,197,214,214,140, 62, 52,152,124,198,102, 8,188,243,193,251,
- 28,220,186,197,206,206,117,174,221, 60, 96,182,179, 79, 84,114, 62,157,172, 22, 60,124,242,132,229, 98,205,116, 82,147, 89,205,
-199,223,127,143,103, 79, 30,163, 52,188,114,251, 54,123, 7,215,153,207,182,248,230,249, 49, 65, 41,110,190,118,155,152,224,244,
-108,133, 79,134,166,105,121,121,120, 74,215,183, 56, 60,139,205, 64,215, 73,202, 92,158,105, 82, 26,216,172,150, 68,231,104, 55,
- 11, 66, 63,208,174,215,184,161,195,228, 5, 86,103,132, 36, 81,161,214, 74, 80, 76, 12, 27,182, 39, 53,147,122,194, 16,250, 43,
- 79,117,239,122, 92,219,146,188, 36,152,249,206, 97,114,209, 95,248,193,145,155,156,172,148,172,140, 56,210, 54,209,251, 17,171,
-148, 37, 36,211, 66,225,168, 56, 90,184, 0,137, 43,213, 98,101, 64,141, 20,131, 56, 84,146,146,116,181,205,102,131, 45, 68, 7,
- 3, 74,106,114,209,160, 34, 93,204,152,207,182,152, 86, 51,110,125,231,207,233,187,231,236,239,220,224,229,163,199,124,251,228,
-144,195,211,134, 77,251, 25, 83,243, 1,195, 15, 20, 15, 87,150,103,127, 15,171,126,205,214,238,119,120,253,141,154,249, 29, 24,
-126, 1,237, 99,208,219,162, 49,153, 56, 17,100, 30,125,177, 5,215,207,121,241,229,231,188,253,254, 59,252,233, 63,249, 17,239,
-125,240, 38,215,110,236, 49, 0, 63,252,195, 63,225,205,119, 62,224,224,224, 85,246, 14,110,114,227,230, 45,190,124,246, 45, 71,
- 47, 95,208,132,192,175,126,245, 27,206, 23, 23,188,120,249,130,175, 31,127, 75,239,155,241,217, 13,232, 20,240,109,203,245,253,
-107,228, 81, 65, 50, 28,189, 56,196, 40,205, 95,255,155,191,230,229,211, 23,188,120,250,132, 39, 79,190,229,249,211,231, 60,127,
-241,152,212,119,252,226, 23,159,241,139, 47,126,195,245, 27,215,120,242,228, 5,207,143,142,184,117,227, 26,215,234, 93,142,190,
- 61,228,244,197, 41, 58, 25,148,119, 28,190, 56,230,124,117, 65, 63,108,216,218,218, 98,178, 37, 69,104,203,118,195,233,197,154,
-123,239,188,195, 7, 31,188, 71,150, 89, 22,235, 83,162,119,220,220,218,227,213,253, 3,222,188,125,139,174,237,121,235,187, 31,
-177,179,179,199,124, 50,199,118, 23,204,106,197, 7,111, 92,103,187, 54,108, 23,176, 85, 74,234,103,110, 45,230,214,254,246,167,
-222,193,241,241, 9,211, 89,197,214, 86, 69,219,111,120,113, 60,112,227, 90,197,172,154,160, 39,219,232,204,114,186, 56,225,255,
-251,135, 95,224,154,158,194,102,116,203, 37, 77,235,136,217, 4, 53,223, 70,103,217,213,196,223,247, 29,121, 46, 37, 24,195,224,
- 73, 41,142, 9, 94,134,213,122, 69, 63, 54,210,224,165,103, 90,163,153,204, 38,163,112, 39,199, 24, 73,105, 2,241,100,214, 69,
- 41, 7, 76, 38, 74,217,204, 90,134,110, 64, 43,168,170,154,193,121, 12,137,144, 4,174, 50, 70, 68, 68,110,232, 81, 90,163,180,
- 68,114, 70,128, 40,151, 74, 76,137, 24,127, 47, 28, 41, 51,131,201, 52,126,240,191, 31, 12, 70,123,219,114,181, 34,184,129, 16,
- 36, 55, 92,105, 81, 21,199, 24,153,212, 21, 85, 89, 96,178, 28,130,163, 31, 15, 51, 99, 12,195,248, 2, 38, 18, 62, 38,170,178,
- 34, 37, 80,218,224,189,195, 57, 79,150,105,242,178, 70, 41,208, 86,179, 89,175,137, 33,136,247,154, 68,153,215,100,133,197, 24,
- 17,207,132, 48,126,150,192, 48,244, 12,131, 84,253,229, 70,227, 98,162, 42, 10,252,232,119, 21,117,190,103, 24, 6, 72,160,180,
-166,158,212, 87,222,205,178,172,232, 93, 79,105, 51, 92, 82, 24, 13,214,138, 69, 76, 41,195, 48,116,227,118,166, 8, 97,192,106,
-169, 98, 85,252,126,200,210, 74, 68,138, 97,144, 11, 64,143, 62,209,178,172, 36,130, 22,200,199,242,130, 60, 23, 20,198, 24, 67,
- 74,226,211, 87, 90,134, 58,173,245, 85,161,142, 26, 17, 22,225,134,115, 41,235,113,129,174, 27, 19,229,140, 40,234,227, 8,241,
- 15,221,216,188, 20, 71, 17, 83, 18,238, 88, 54, 84,241,154,102,153,165,172, 10,138, 82,106,122,125, 24,107, 15,147, 12,156, 67,
-215, 83,213,210, 69,238,189, 84,219,198, 24,137,163,173, 81,105, 69,145, 23,148, 69,193,166,105,233,218,150, 77,179,166, 61, 95,
-208, 71,127,245,107,151,122,139,174,235, 4,162,182, 86,236,119, 41, 1,162, 37, 80, 74,209,245, 45, 40,185, 4,137, 34,254,204,
-242,140, 62,120,162,243,168,144, 80,153, 65,249, 32,208,168, 82, 2,253,143,161, 52,101, 89,160, 84, 34,183, 34,252, 28,156, 20,
-232,244, 78, 58,193,251, 97,184,122,127,218,145,115, 11, 62,138, 31,185,172,137, 41, 48,155,205,232,251,129,162,172,105,186,158,
-161,239,152,205,102,114,180,167, 68,223,245, 76,234, 26,165, 53,253,184,217, 15,195,192,164,174,209, 35,154,162,128,162, 44,176,
-163, 15, 55,207,243,171,244,188, 16, 2,190, 31,100, 75, 53,178, 13, 26,107,177, 86,124,209, 74, 9,140, 95, 86, 21, 41, 42,202,
-122, 70, 52, 57,109,211,209,187, 13,205,122, 77,210,138, 73, 81,161, 85,100,221,244, 44, 87, 39,172, 87, 29,174,117, 40, 20,126,
-136,188,118,231, 14,171,139,115,126,250,243,207,177,100, 60,254,242, 62,117,189, 3,198, 34,233,112,154,204,230,116,157,227,233,
-243,231,220,185,125, 29, 16,186,109, 58,171, 88, 47,207, 57,124,121,200,217,233, 57,221,166,227,236, 98,195,151, 15,191,226,155,
-135, 95,243,242,249, 9, 81, 25, 76, 86,112,116,116, 66,215,174,217,172, 26,140,150,140, 2,105,255, 50, 66,241,216, 76,170,159,
- 83,196,196, 68,223,116,164, 20, 32,120,156,139,104,107,132,115,239,165, 19, 60,120,169, 50, 94,109, 22, 12, 67, 71, 86, 40, 76,
- 94,211,108, 26, 12, 10, 51,166,190,229,153, 5,101,104,250, 14, 60,148,243,138,162,200,199,103, 83, 66,140, 34, 1,239, 28,151,
-137,116, 41, 70,212, 72, 54, 38, 47,131,189, 15,145, 52,210, 93,131,247,196, 32,110, 35,109, 52, 68, 9,117, 82, 90,163,146, 65,
- 25, 33, 48, 47,145,170,224,123,169, 14, 86, 18,175, 26, 73,232,148,152,236,204,128,138,155,119,239,177,123,235, 13, 94, 62,251,
- 28,125,120,134,206, 20,213,206, 27, 76,247,183,241,253, 49,145, 10,215,237,242,236,223, 71, 94,156, 60, 37,162,184,254,246, 13,
-102, 51,184,115, 67,241,202,187,107,210, 91,107,118, 95,139, 76,246, 11, 94,126,147, 56,189,128,126,169,121,241,240,115,218,245,
-125,186,166,103,219,247, 84,182,196,164,156,195,179, 11,190,248,236,215, 60,122,248,128, 95,255,236, 51,158, 60,120,196,176, 14,
-252,225,199,127,196,237, 59,111,178,185,232,120,252,236, 5,239,188,251, 93,254,252,175,254,138, 63,253,103,255,140, 31,252,232,
-135,220,186,123,155,174,109, 89,156, 30,113,122,118, 68,211,245, 84,101,206,111,127,253, 43, 30,124,254, 25,143,238, 63,224,175,
-255,183,127,205,251,239,223,227,171, 47,126,205,116, 90,176, 90, 94,112,122,122,194,225,241, 11,209,176, 68,216,221,217,226,205,
- 55,238,146,169,140, 71, 15,190,226,193,103,191,225,233,151, 95,209, 95, 52,220,222,187,129, 86,138,147,195,151, 52,125,207,209,
-233, 17, 33, 4, 30, 63,121,202,201,225, 9, 58, 70,142,159,159,241,244,219,167, 24,114,238,220,122,157,163,179,115,202, 73,205,
- 43,119, 94, 65,197, 30, 19, 19, 63,251,233, 47, 40,171, 9,255,237,255,240,223,243,230,119,222,194,217,138,255,251,255,250, 15,
-124,246,224, 9,205,197, 41, 58,116, 76,242,140,247,239,189, 66, 21,123,212, 91,119,174,167,179,243,115,108,110,169, 42,205,224,
- 90, 94,191,123, 11,163, 20,219,213, 22, 47, 95, 28,177,116,158, 48, 90,213,110, 94,223,193,166,177,125, 44,171, 48,179, 57,110,
-144,124,225, 56,180, 56,159,100, 35,211,138,178,148, 8, 79,231, 60,235,213,138,217,214, 22, 40,197,197,249,130,110,232,241, 41,
- 9,172,175, 53,187,251,251,194,177, 14,131,180, 33,185,136,119, 61, 85, 37, 73,107,109,219, 73, 45,161,209,116, 93, 55,198,231,
-137, 79,219,216, 76,132, 94, 93,135,201,115,102,211, 25,193, 15, 18, 46,225, 3,218,138,176, 69,107,141, 40,197,147, 76,162, 74,
- 35,249,203, 17, 99, 44,209, 57,180, 17,203,128,206,198,205, 95, 33, 34,162,213,138,168,100, 75,214,249,216,234,150,229, 87, 2,
-161,189,189, 93,180, 82, 44, 23, 23, 40, 99, 40,235, 26,133,193,121, 73, 45, 42,202, 90,190,135,194,210,247,158,188,204, 80, 9,
-156, 19,123,157,120,241, 27,178,188,144,131,117, 62,199, 40,197,122,189,190,218,128,178, 76,144, 0, 98, 68,105,217,244,228,159,
- 8, 40,214,171, 21, 90, 43,234,122,130, 82,106, 20,212, 41,180,181,152, 36,232, 70, 76,145,204,230, 36,165,184, 12, 51, 89,173,
- 87,148, 89,142,215, 25, 67,239,176, 86, 68,120, 33, 4,214,237, 6, 19,145,106,195, 81,240,165,208,164, 36,133, 44, 89, 46, 28,
-123, 89, 86, 68,239,217,108, 54,100, 89,198,100, 82, 95,121,155,219,182,163,235,186,223, 31,236,234, 82, 65, 28,137, 62, 18, 1,
-157, 20, 81, 11, 71,138, 18,136, 90, 43, 9,120, 49,198, 80, 87, 21, 62,136, 90, 31, 96, 62,159,143, 48,240, 32,220, 94,136,120,
-231,232,219,129,249,214, 76,168,146,174, 19,190,105,211, 9,205,172, 21, 69,158, 99, 76,142, 49, 34, 48,235, 7,201,221, 47,139,
- 2,146, 36, 24,118,109,135, 15, 3,243,217,124,132,164,185,210, 73, 84,149, 92,250,144,104,187, 22,149,196, 46,163, 53, 88,155,
-139,189,205,218, 17,154,215,108, 54,157,252,188, 46,191,102, 37, 45,120,198, 40,134, 97, 76,192, 83, 10,165, 36,135,223,121,207,
- 98,185,100,125,177,248,253,103, 77, 36,155, 76,168,178,140,114, 82, 49,173, 39,160,228,231,217,108,214,114, 81,154,145, 95,179,
-150,139,197,130, 34,151,160, 33,173, 69, 45,190, 94,173, 0,152, 77,103,162, 55, 81,154,171,127,146,132, 61,181,193,225,122, 25,
-130,231,211, 41,171,205,134, 20, 18, 74, 39,166,245,148,203,188, 8,239, 61,211,233,148,213,168,205,152,212, 18, 86, 19, 83,132,
-196,213,191, 39,147, 9,164, 72, 68,126, 22,140, 67,250,101, 6, 65,102, 37, 60,135, 17,105, 26, 92,184, 66,127, 66, 28,195, 67,
-218, 30,239,122,114, 29,241, 67, 51,234, 91, 12, 69, 57,161,154, 78, 9, 14,110,223,220,227,241,179,231,220,189,113,157, 39, 47,
-142,216,221,217,226,249,227,151, 20,117,205, 43,119, 95,103,123,183,102,121,122,193,233,233, 57,167,199,135,172,218,150,221,221,
- 29,166,147, 9,171,118,160,158, 72,115,227,102,189,196, 69, 71,112, 70, 18, 45, 99, 79,179, 22, 45,128, 86,134,178,206,241, 67,
- 68,155, 52,118, 16,100,236,237,237,161,240, 48,210, 44, 49, 56, 89, 0,124,164,119, 61,222, 37, 50, 35,150, 35,173, 52, 26, 65,
- 10, 81,150,128,167,239, 34, 74,203,146, 97,172,102, 62,171,152, 78,107, 86,231,167, 24, 45,205,145,182,152, 81,149, 21,145, 68,
- 82,145,110,104, 89,174, 54, 84,185,132,204,100,198,140, 52,135,135, 97, 32, 21,133, 44, 60, 68,164,195,219, 98, 12,128,184,104,
-148,145,168,107,140,146,161, 54, 66,150, 25, 82, 82,168,145, 50, 81, 81, 9,119, 27, 68, 63,148,229, 66,157,105, 3,205,170,145,
-231, 86, 27,134,161,103, 82,214,156, 52, 25,243,173, 25, 31,253,229, 95,240,248,244, 25,149,178, 92,187,251, 1,106,245, 38,197,
-214, 29, 54,203, 83,194,202,145,205,247,240,110,160, 57,127, 78,114, 45,245,245, 15,121,243, 59, 63,230,205, 55, 19,211, 15, 96,
-189, 11, 3, 16,255,167,196,195, 71, 11, 38,215,183, 49, 73,113,255,243,127,197,249,226, 95,163, 82,224, 45,213,178, 51,173,120,
-229,214,171,108,214, 43,142,159, 63, 99,112, 29,237,106,129,210,142,105, 93,130,178, 60,125,124,204,214,206, 54,186,204,121,251,
-253,143, 56,186, 56, 99,182,181,195,245,189, 3,238,189,251, 54, 69,174,184,184, 56,227,197,147,111,217,157,205,233,155, 13,207,
-238,223,199,173,206, 25, 54, 75, 25,160,242,156,213,234,152, 98, 62, 39,120, 77,194, 16, 85,228,218,141, 61, 50, 85,240,236,240,
-152,114, 58,231,171,175, 30, 9,141,188,232,152,204,183,200,202,140,253,131, 3, 94,191,115,135, 95,127,241, 27,166,251,187,196,
-168,153,239, 78,121,229,224, 0,163, 51, 30,124,241, 53,205,234,130, 79, 62,249, 49,219,243,125, 30,127,251, 72, 34,132,195,134,
- 87,111,189,194,249,225, 33, 23,203, 51,146, 75, 28, 95,156,179,181,119,147,233,254, 62,206,247,104, 11,125,231,248,252, 55,247,
-185,118,107,206,151,191,253, 18,205,192,141, 27, 7,152,170,224,211,172,158,176,191, 55,101,111, 94, 19, 93,207,193,238, 62,171,
-101,195,163,111, 31,115,255,210,170,166, 44, 55,246,118, 72,222, 51, 96, 72,245, 22,118, 50, 37, 41,133, 34, 97,115,201, 16,159,
- 78, 37,128, 94,143,169, 99,139,197, 5,155, 77, 67, 54, 78,128, 49,201, 3, 18, 19,163, 32, 74,182,150, 4, 40,147,161,180,248,
- 55,101, 83, 46,232, 93,143,213, 22,163,180,164,180,105, 17,114,136,213, 69, 54,191,224,157,136,115,188, 23,232, 89, 43, 54, 77,
- 67, 12,162, 88,212, 86,178,227, 3,137, 52,194, 82, 42, 41,180,146,230,183, 72, 66,165, 36, 91,186,147,124,107,163, 20,155,182,
-145,169, 85, 65,223, 15,164,190,165,218,218, 98,190,181, 69, 61,169,201,173, 92,218, 18, 5, 41, 73, 96,221, 48, 16, 98,194,104,
-139, 86, 70, 98, 89,203, 26, 99, 36, 25, 79, 98, 33, 37,154,179,105, 26, 66,140, 20,101, 41,147,182,243,196, 36, 27,126,166, 69,
-224,102, 50,225,196,172,145, 32, 26,163, 53, 41, 68,188, 15, 16,197, 43,238, 66, 36,179, 2,239,103, 99,186,216,208,139,226, 93,
- 94, 72, 73,215,147, 44,115, 35, 77, 80, 86, 84,216, 36,133, 54, 82, 21,184,110, 68,200,103,172,161,109,214, 52, 77, 39,241,136,
-101, 54, 94, 96,137, 20,196,190, 18,130, 84,147, 26,173, 80, 74,179, 92, 44,208,200, 69, 21,163,136,213,170,170, 66, 43, 13, 90,
-182, 69,208,164, 36,219,245,224, 61,222,139,200,203, 24, 73,121,147, 65, 68,178,226,203,162,144, 67, 68, 11,215, 56,116, 29,121,
- 38,195,136,244,127, 75,223,113, 72,137,194, 90,140,177,184,222,143, 67,228, 64, 94,150,196, 24,197,129, 96, 12,151, 73,121,178,
-125,167,113,219,215,228, 89, 78, 85,148,216,108,228, 35,157,168,135,141, 22, 69,190, 92,126, 82, 3,219,117,157,112,213, 74, 6,
-176,201,100, 74,215,183,132, 40,109,110, 41,201,144,153,101, 6, 53,110,109,198, 90,140, 18,254,123, 24, 68,151,145, 23,185,168,
-139, 51, 81,179,202,207, 71,190,255, 75, 39,130,205, 50, 90, 47, 85,171,202,136, 39, 90, 27, 9,176,209,198,160, 34,156,156,157,
-225,157,199, 24, 67, 89, 86, 20,121, 33,200,204,224,168,235,154,182,149,175,173,200,139, 43,100,198,230, 22,107, 50,161, 52,162,
-160, 72, 38,207, 36, 11,191,170,176,121, 46,219,126,223,147,103,242,253,167, 40,194, 60,239, 37, 64,169,174,107, 98,140,227,239,
-145,166,186,110,232,153, 76, 43,242, 66,132,117,117, 85,163,181,102,179,110, 48,198, 92,169,242, 1, 46,131,144, 98, 12,132, 36,
- 8,133, 15,226,239,183, 54, 67,143, 54, 79,163, 53,218, 26,234,249,140,217,246, 46,245,246, 53, 58, 23, 73,118, 34,126,244, 77,
- 75, 63, 12,156,157,158,177, 88, 54,156, 45, 55,244,206,209, 12, 13,131,119, 12, 41,210,181, 45,223, 60,250,150,211,179,115, 22,
-171, 5, 46,138, 29,244, 98,189,225,248,228, 2,231, 4,242,119,222, 97,178,130, 60, 23,202, 44, 37, 73, 19,155,205,183,169,235,
-156, 34, 31, 93, 38, 86, 6,188,178,172,200,203,140, 24, 29,203,229,134,136, 22, 84, 46, 36,130, 50, 20,213,140,178,154, 49,221,
-222, 33,159,204,200,235, 9,213,124,139,124, 62, 39, 43,106, 76,145,145,151, 37,117, 93, 81, 79, 43,138, 44,167, 42, 37,198,217,
- 39,112, 94,232, 41,137, 20,238, 73, 62, 72, 98, 95, 61,165,200, 10,202,162, 34, 38,209,194,104, 43, 26, 27,133, 34,105, 35,161,
- 68, 41, 16,125, 32,186,129,166,151,224, 28,157, 27, 84, 72, 66, 69,198, 81,104,170,224, 82,247, 35,182,170,203,119, 68, 40, 41,
- 61, 14,127,106, 68, 26,243,162,192, 40, 37,249,232, 33, 18,130,228,230,171,224, 9, 58,167, 55,129,204,192,143,255,227,191, 68,
-175,223, 65,115, 64, 62,185,133, 26,114,154,147,103,156, 62,255,140,211,231,191,164, 57,253,138,174, 57, 67, 39, 77,138, 21,235,
-245, 62,231,135,112,242,121,226,225,255,249,148, 71, 15,127,202,203, 23,255,128, 15,138,166,219,176, 60,125,200,250,226, 51,186,
-197, 25,117,145,177,103, 61, 62,207,248,230,193, 23,172, 47, 46, 80, 73,232, 98,148, 98,136, 10,111, 50, 38,123, 59, 84,211, 25,
-127,240,221, 15,217,217,170,200,148,231,218, 78,201,209,243,175, 56,252,246, 43, 94,124,251, 45,126,179,161, 74, 25,235,229,146,
-179,229,154,243,229, 9,186,202, 56, 61, 59,167,156, 22,216, 73, 65, 52,134, 27,123,215, 80,202,114,122,124,193,151,143, 14, 57,
- 93, 12,100,198,242, 31,254,237, 63,160,162, 97,107, 86,241,234,237, 3,222,187,247, 54,111,222,189, 77,235, 59, 94,123,255, 30,
-118, 34, 86,222,144, 6,110, 28,220,166,217, 56,218, 77,195,246,108,194,193,245,235,220,255,234, 27,110,238,110, 51, 52, 75,126,
-249,171,159,243,244,249, 17,191,189,255,128,131,107,215,168, 39,115,190,254,242, 43,202,170,228,222, 91,175,163,115,197,173,155,
- 7, 76,103,115, 94,127,227, 77, 62,250,222,219,248, 97, 65,215, 52,124,247, 15, 62,228,248, 98,144,187,250,206,237,189,244,206,
- 91,175, 82,198,134, 95,253,234, 75,200, 75,118,175, 79, 24,156,229,219,199, 71,108,205,182,152,111, 77,201,116,226,124,217, 16,
-170, 57, 93,144, 40,188, 73, 37, 23,120,153,203,161,170, 98,194, 13, 29,203,245,154, 24,146,164, 99, 13, 94, 46, 32, 64, 41,197,
-100, 58,197,251, 32,182,167,178, 96,189, 90,131, 18,213,251,206,238, 30,102,132,122,180,146, 96,142,205,152,166,148,101,185,252,
-154,143,100,101, 70,138,162,238,181,153,101, 60,119, 81, 90, 51,155, 76, 81, 74,177,222,108,228, 0, 45, 75, 41, 68, 8,178,205,
-166, 36,124,104, 24, 47, 79,173, 53,201, 39, 80, 34, 50, 11, 49,113,153, 46,182, 94,175, 9, 33, 82, 79, 74,134,110,160,223,108,
-152,237,238,140,185,232, 3,147, 73,197,224,122, 92,219, 83, 77, 68,241, 77, 2, 23,165,163,189,172, 42,148,210,244,110, 32,248,
-128,243,105,132,204,228,210,107,154, 22,173, 69, 21,222,118, 13,196, 68, 93,215, 2, 95, 42,153,152,147, 15, 18,248,162, 53, 41,
- 70,218, 70, 2, 56,228, 69, 83,152,204,144, 61,248,193, 76, 0, 0, 32, 0, 73, 68, 65, 84,231, 5,198, 88,217,176,181,108,103,
-145,136,213, 82, 86,162,181, 33, 70,177, 75,196, 40, 47,175, 50,150,105, 93, 99,140, 38,203, 11, 82,136,244, 94,202, 32,172,181,
-172,215, 43,166,211, 41, 93,215, 83, 85, 57,126, 24,136, 42,161,146, 70, 41, 65, 99,140,201,104, 54,155,171,203, 67, 37,105, 13,
- 3,152,205,183, 40,114, 43, 67,142,143,100,133, 37, 70,208, 90,141,201,118, 74,146,169,148,130, 40,145,161,253,208,145,231, 57,
-202,168,177,231, 89, 19, 71,161, 98, 76,162,224,206,115, 9,184,201,179,140, 77,219,146,136, 24,165, 49,121, 6, 94,236,121,109,
-219,178,181, 37,165, 63,171,213,134, 34,207,105, 91,137, 46,213, 74, 11,149,161, 44,104, 81, 93, 91, 43,186,130,190,111, 89,173,
- 54,120,239,198, 44,131, 12,146, 38, 70,199, 48, 72, 9, 67, 81,230,180,141, 36,183,109,109,111,163,148,108,185, 23, 23,231, 72,
-196,167, 97,123,123, 7,231, 60,147,105,205,106,211, 80, 87, 21, 41, 74,136,132, 54,150, 20, 34, 32,150, 20, 31, 28,106,164,146,
- 72,242, 44, 24, 99, 88,174, 86, 44, 47, 46, 8, 33, 48,157,206, 32, 37,108,158,225, 7,249,115, 55, 27,249, 58, 83, 8,108,239,
-238,210, 15, 61,211,122,194,242,236,140,157,235,215, 89,175,215, 35, 61, 98,136, 4, 20, 26,107,172, 8, 52,181, 56, 58,154,182,
-187,106,131, 2, 8, 81,248,239, 20, 37,100,166, 40, 43, 46,197,140, 34, 18, 21,212,228,210, 51,157, 24,181, 28, 93,143,214,137,
-233,108,126, 53, 4,181, 93,131,213,118, 12,202, 72, 40, 35,162, 61,177,164,138, 35, 68, 2,167, 36,142, 56, 43, 75, 84,140, 72,
- 68,115,207,102, 35,145,151, 66,127,200, 96, 38,138,127, 65, 46, 46, 23,130, 60,191,180,254,136, 54, 67,105, 65,152,172, 53,120,
- 55,200,150,106, 37,129,209, 88,137, 26, 86, 81, 16, 25,205, 37,170,160, 73,201,143,239, 98, 69,138,130,174,153, 92,210, 33,125,
-146,176, 21,162, 34, 68,137,114, 46,171, 10,107,164,145, 81,242,218, 35,198,100,104, 43, 73,108, 69, 38, 28,103,231, 29, 85, 33,
-136,101,145, 75, 46,120,140, 81, 52, 5, 90,225,163,248,200, 19,137, 16, 28,121,150, 99,162,104,125, 12,112,113,126,129, 82, 9,
- 99, 21,222, 71,234,124, 66, 61,219, 34, 27, 3,117, 98, 24, 56, 61, 61,199, 26, 72, 62,209, 71, 71, 93, 77, 49, 38, 48,108, 26,
-240,145,141,115, 4,151,196, 18,101, 52,182,204, 73, 81,104,210, 76, 27,148,205,200,114, 43,190,251, 8,200,222, 68,244,142,164,
- 68, 75, 20, 73, 50,240,107, 77, 89,150, 52,171, 5, 33, 36,225,246,253, 64, 61,219,230, 59,255,205,127,199,234,197, 51,252,242,
-156,107, 31,254, 17, 59,205, 63,103,119,242, 29,134,176, 97,239, 96,198,206, 63,143,116,255,168,248,237, 79,159,113,244,242, 39,
-232,204, 98, 41,241,241, 28,163,114,146, 79,168, 34, 99,113,250, 45,253,250, 5,217,252, 58,219, 55, 63, 32, 44, 23, 92, 28,253,
-156,102,248, 41,217,102,193,171,247,238,240, 74,115,206,171,247,238,241,219,135, 15,104, 23, 43,250,174,101,179,148, 38,182,249,
-100,194, 43,175, 73, 84,237,100, 90,177,187,119, 11,165, 18,199, 39,199, 76,171,146,190,239, 5, 17,206, 75, 76, 8,180,231,231,
-232, 0, 49, 14,220,120,101, 7,157, 89,218,190,103,181, 90,177, 60, 57,101,240,112,124,124, 76,240,137,235, 59, 37,207,207, 58,
-206,163, 66, 37, 79, 8, 25,215,166, 80,217,241,249,247,134,182, 15, 28, 28,236,177,247,218,107,188,243,201, 39,100,181,229,232,
-240,136,235, 55,246, 25,218, 14,213, 39,142,143,206,185,184,184,224,155, 39,223,146, 98,226,248,248,136, 20,224, 7, 63,248, 1,
-186, 40, 41,178,140,235,123,115,126,242,247, 63,227,119,247,239,243,241, 39, 31, 49,223,221,230,218,141, 27,180,189, 35, 43, 43,
-214,171, 37,135,207,158,208,119,129, 31,254,240, 35, 98,130,206,123,204, 31,125,252,206,167,167, 47,159,240,217,231,207, 40,119,
-114, 2,150,175, 31, 47,185,180,170,229,165,197, 71,207,106, 72,184,162, 38,144,176, 73,210,147,242, 66,170, 89,149,146, 52, 43,
-165, 20,203,213,146, 24,226, 21,231, 54,244, 29, 85, 85, 10, 60,104, 44,171,205,134,161,151, 13,164,235, 7,166,117, 77, 85, 77,
- 40, 43,225,248, 4,194, 94,144,105, 75,215,119,100, 69, 33,219, 97, 38, 61,222,144,232,154, 14,144,248,189,232,228,194,247,206,
-163,181,197,121, 71,239, 28, 42, 41,176, 6, 98, 32, 33, 23, 36,230,114,251, 50, 24, 37,135, 92,138,113,124, 81,149,168, 63,173,
-180, 94,245,189, 67, 91, 5, 42, 17, 35,228, 35, 79,166,148,162,170,171, 81, 80, 39,154,129,162, 42,105,214, 13,206, 7, 76,158,
- 83,228, 21, 93, 63, 32,109, 59,145,190,243, 88, 43,129, 54, 41,164,171,200,218,178,202, 81,218,140, 16, 41,212,165,132, 60,196,
- 36,133, 30,209,123,250, 65, 66, 36,218,166,145,131, 52, 74,229,233,165,106, 61, 69, 17, 36,245, 93, 71,179,105,104, 70,120, 84,
- 4,116, 18, 94, 64, 12,100,121, 78, 81,138, 90, 61,161, 73, 35, 45,146,148,160, 39,155,166, 65,105,131,205, 45,235,213, 18,165,
- 68,164,146,231,150,190,109,201, 50,217,246, 51, 43,221,226, 70, 75, 22,248,166,105, 48,214,160, 73,100, 38,163,170,164,109, 79,
-105,117,245,153, 54,109, 75,136, 9, 9,125,137,146,209,110, 51,172, 17, 78,158,148, 70,142, 46, 74,226, 91,146, 84,184, 34,207,
- 25,134, 65,182,127, 47,112,127, 76,178,101,251, 16, 36,142, 55, 47,176,214, 72, 42, 97, 8, 12,163, 23, 61,207,115,113, 91,216,
- 92,160, 95,173,176, 70,116, 21,130,102, 8, 21,144, 82,162, 27, 6,218,174,161,237, 68,144,119,169,149,168,235, 41,197,101, 66,
- 97, 38, 53,188,195,224,198,207, 48, 17, 83, 26,253,218, 29, 33,201, 51,234,124, 32, 47,114,124, 20,155, 98,150,101,172, 87, 43,
- 50, 35,109, 92,222,245, 4,239,209,198,208,118,221, 56,132, 73,186, 98,158, 75, 8, 75, 8,129, 68,164,235,228,226, 44,202,146,
- 24, 5,237,240, 78,158,137,232, 3,164, 36, 98,171, 92,132, 82,253,224,216,218,221, 38, 38,176,151,226, 55, 35,226, 71,163, 13,
- 73,201, 80, 21, 82,194,121,217,230,250,190,167, 40, 10,146, 70,180, 38,222, 95,233, 9, 38,117, 77,150,101, 92, 6, 26, 93, 62,
-115, 77,211, 48, 12, 18, 79, 44,246,183, 1,107,115,218,174, 97,189, 90,225,134,129,233,100,138,181,146, 97,158, 21, 5, 6,200,
-114, 9, 47, 1,201,134, 80, 74,126,230,160,198,247, 48,162,180, 80, 23,153,149,194, 24,165,212, 21, 69, 85, 21, 5, 85, 89, 92,
-253,183, 44,147,164, 71,107, 37,175, 32,137, 6, 82, 32,107,147, 93,253, 93, 0,214,142,191,174,228,243,184,180,139,134, 16, 5,
-105, 52, 25, 62, 10, 13,167,116, 38,208,115,140,216, 92,160,119,249,122, 50,234,186, 20,239,120, 20, 47,124, 82,138,186,172, 80,
- 42, 65, 38, 2,224,148, 34,117, 61, 17, 17,112, 8, 12, 67, 79, 54, 42,147,187,182,197,245,157, 12,137, 49,200,179,160, 13,137,
- 75, 27, 90,192, 39,133,206,114, 73,131, 51, 22, 18,164,152,200,242, 12, 31, 68,215, 80,228, 66,119,145,148,212,127,170, 68, 63,
-120, 74,107,160,109, 9, 40,202,106, 74,136, 18,245,106,173, 98,232, 29,121,158,227, 91,161,134,180, 50,120, 36,151, 96,232, 59,
-122,231, 81, 36,180,146, 8,236,126,112, 12,125, 47,148,202,184, 72,120, 39, 81,221,121, 38,203,137,205, 12, 97, 24,216,121,235,
-109,102,111,127, 66,104, 91,154,179, 35,178,201,117,118,202,143,168,183,175,209,135, 64,169, 12,127,246, 47, 54,252,151, 31, 20,
-116,255,116, 70,251,237,123,104,155,147, 87,115, 22, 47,239,179,186,120,198,224, 27,218,213, 83,250,230, 20,155, 79,217,191,249,
- 99,230, 59, 63,166,156,191,139,118, 61,245,205, 30, 53, 44, 56, 58, 95,115,244,248, 9,103,139,134,106,123,143,231,199, 23, 60,
- 61, 90,208,167, 64, 52,137, 77,239, 41,178,140,227,163, 99,158, 61, 63,226,229,211,231,188, 56, 60,100,177, 88,242,213,227,231,
-188, 60,191, 32, 36,197,108, 62, 97,189, 89,242,245,225, 49,222,194,139,139, 5,203,117,199,163,103,135,244,109,207,225,170, 35,
- 88, 11, 89, 78, 93,151, 68,215,115,251,218, 54,223,125,231, 54,223,121, 99,159,119, 95,223,231,123,239,222,162,174, 13,153, 81,
- 84, 89, 2,211, 49, 47, 65, 7,135, 95, 47, 57,125,252,136, 71,191,249, 10,203,132,217,214, 53, 54, 93,199,175,126,245, 27,214,
- 23, 39,148,181, 12,104, 49, 69,202,249, 12,147, 89,222,126,243, 46, 58, 58,222,126,255, 29,254,254,103, 63,231,155,111,190,164,
- 9,137, 55,239,221, 99, 0,158, 61,127,204,246,238, 62,175,191,126,151,211,147,115,110,221, 60,224, 59,239,190,139, 86,154,174,
-113,156, 47,214,152,219,219,197,167, 23,253,192,100,119,194,197, 69, 98,103,247, 58,247,238,221, 38,203, 51, 14,174,239, 99,109,
-198,162,131, 84,212,162,218, 85, 34,144,136,222, 17,130, 19,111,106, 85,203, 75, 18,101,107,234,251,158,162, 20,235,134,181,134,
-229,106, 67, 12,194, 65,198, 16,168, 38, 21,185,150, 34,136,193, 57,108,145,143,135,142,102,185, 90, 10,164,236,196,250, 84,228,
-242,240,232,145,151, 42,203, 66,184,225, 32,155,142, 64,218,154,224,221, 85, 94, 53,200,198,131, 54, 36, 37,158, 99,177, 68, 69,
- 46,211,196, 18, 1, 21,195,168,108,246, 24, 45, 83,175, 81, 90,224,248,241, 48,181, 86,186,191, 3, 98,101,170,167,242,189, 94,
-214,159,166,148, 48, 70,145, 21, 57, 46, 42,156, 31,200, 50, 9, 94, 49,153, 29, 55, 87,233,187,141,209, 19,149, 8,195,172, 21,
-171,203,208,247, 24, 45, 33, 58, 50,245,122,130, 31, 88, 45, 87,180,109, 59, 42,203,133,147,213, 90,170, 73,171,170, 34,203, 51,
-170,178,226,210, 58,214,119,195, 8,213,137,117,176,239,100,171,202, 50, 3, 74,172, 95, 10, 48, 74, 4,128,121,145,145, 0, 63,
-136,248, 44,132, 32, 16, 36,154, 50,151,139, 48, 68,199,101, 53,234, 48, 12, 12,163,202, 61,164, 68,102, 37, 12,198,111, 90,166,
-179, 25,211,217,148,170,174,176,153, 97,179,218,208,119, 29,206,185,209, 99, 45,141, 83, 49,202,255,150, 65, 70, 46,151, 48, 14,
- 41,121,150, 35,221,223,129,204,100,132, 24, 73, 49,140,207,133,194, 90, 9, 54,241,195, 64,244, 34,190, 83, 90, 56,245,161, 27,
- 72, 36,234,122,138, 70,154,239,140,145,182,179,162,144,156,237,204, 88, 98, 18,237, 66, 8, 14,239,130,216, 4,187,142,190,149,
-106,198,182,237,200, 50,225,214,147,214, 88, 35,186,131, 75,110, 58, 43,178,171,195, 76, 91, 73, 30,212, 90,203,175, 27, 73, 53,
-212, 90,144,153, 34, 47,100,120,181, 98, 7,234,122,233,124, 79, 41, 49,155,206,132, 82, 24, 6,134,224, 25,250, 1,165,181, 8,
- 50, 23, 11,250, 94, 40, 39, 61,102,181, 27, 45, 98,205,161,151, 26,204,170, 46, 49,185,101, 62,223, 18, 84,201, 26,108, 38, 53,
-157, 69, 81,210,108, 90, 80,137,118, 28, 30,139, 34,191,130,208,141,181,148, 69, 41, 92,108, 33,136, 87,150,101, 72,244,167,120,
-248,187, 94,120,237,203, 75, 28, 24, 47,192,113,176,138,242, 60, 74,151,180,252,183,162,200, 41,198,237,249,247, 67,144,167,235,
- 37,103,192,135,192, 48,120,250,126,180, 23, 42,161, 31, 52,138,168,196, 74, 23,188,191, 18, 1,186, 32,239,165, 84, 14,143,121,
- 17,121, 65, 26, 63,227,124, 20,211, 46,151, 11,124,140, 99,157,173,148, 10, 41, 45,214, 74, 18,144, 34,160, 81, 8, 21, 87,149,
- 5, 89, 46,250, 26,173,165, 71,225,178, 98,119, 50,153,160,140, 12,179, 69,158, 49, 56,177,139, 86,117,137,181, 6,173, 33,196,
- 4, 81,114, 47,108,102, 48, 73,130,127,228,179,148, 36,204, 34, 47, 80,136,126,227,210,179,239,131, 56, 86,210,248,236,232,244,
-251,184,105,173, 69,223, 19,137,178, 65, 91,113, 40, 24,107, 9, 24, 34, 10,101,229,207,204,203, 10,155, 89, 94, 28, 30,210, 54,
- 66, 1,229,214, 80,150, 19,138, 42, 27, 19, 3, 29,165,138,104, 12, 58,151,220, 0,172,184, 50, 20,145,172,200,201, 50,249, 26,
-148, 21, 65, 41,128,209,154,168, 4, 81,245, 33, 74, 66,157, 82, 34,162, 75, 92, 13,234, 74, 25,196,143,111,232,219,158,174, 29,
-168,174, 95,231,181,247, 63,161, 46, 42, 22, 47, 30,115,247,173,247, 89,189,204, 32,214, 12,155, 83, 90,235,152,253,193, 30,247,
-179,196,151,255, 6, 78, 14, 79,184, 56,252, 45,229,244,128,143,255,228,207,184,125,243,143,121,247,123,127, 72,181,253,135, 76,
-167,119,248,254,247,254, 19,222,252,175, 95,227, 47,255,179,158,255,226,207, 13,155,234, 3,170, 87,114,218,179, 47,217,156, 55,
-220,124,229, 38,175, 30, 92,231,214,107,175,240,238, 59, 31,240,221, 15,223,227,240,244,130,168, 11,206, 47, 78,120,250,236, 5,
- 23,171, 53,202, 20,172, 83,226,218,181,125,162,205,120,245,238,171,132,164,168,167,146,161,254,228,197, 17, 93,132,195,139, 13,
-245,100, 78, 94,101,216, 44,167, 11,137,191,248,139, 63, 37, 69,168, 38, 19,202,106,142,174,119, 24, 84,197,215, 79,142,217,217,
-219,167, 13,150, 24, 12,123,251,215, 56,184,121,139,131, 91,183,185,121,243, 54,215, 15, 14,216,222,222, 98, 50, 47, 8,161,165,
- 46,193,159, 31,179, 60, 61,161,217,180,236,220,220,103,182,119,141, 69,179,228,248,232, 37,123,219,187,220,123,227, 53,230, 91,
- 51, 34,158,175,190,122, 68, 74, 3,235,214,241,197,151, 15,120,255,131,119,177,198,112,253,198,117,124,212,120,159,120,254,252,
- 41,206, 15,184, 94,113,125,111,155,229,226,130,219,119,222,224,238,221, 55, 49, 55, 94,187,254,233,164,218,101,189,144,203,200,
-135,158,174,237,137, 93,207,225,225, 17,203,144, 97,139,138, 48,114,157,110,112,104, 21,152,212, 53,147, 82,242,195,141, 26,225,
-235,222,209,180,107,170,170, 36,198, 68,215,245,108, 26, 81,248,154,220, 18,130,248,107, 1,241,178,230,118, 84,138, 59,148,209,
-232, 20, 33, 69, 73,142, 74,162,136, 55,153,229,178, 65,172, 44, 75, 82,130,186,146,186, 79,149,192, 5,217,236,134,193,203, 36,
-235, 3, 69, 94, 16,224,234, 32, 75, 73,141,191, 79,184,120, 55,136,226, 62, 38,225,164, 99,144,205, 54, 47,114, 66, 20,254, 8,
- 45, 48,160, 27, 15,102, 20, 4, 47, 9,100,153, 21,129, 72,179,217, 96,198, 23, 93, 27,139,205, 44,125,231, 48, 70, 4,100, 42,
- 33, 86, 41,109,113, 65, 62,223,152,196, 82,150, 98,164,105,197,246,101, 52, 52,155, 13,151,161, 44,109,219,145,146,192,148, 54,
-147,109,118, 58,157, 51,157, 78,200,115, 73,242, 66,107,114,109,198,182, 54,217, 58, 7, 39, 49,176, 49, 37,225,146,181,161, 27,
-122,138, 60,195, 13,178, 29,228, 69, 78,223,202,244,173,148, 70, 27, 4, 2,205, 51,140, 22, 30, 47, 17, 5,190, 12,129,210,230,
-226,253,181,178, 49, 92, 34, 8,140, 80,188, 75,158,114, 76,152, 51, 70,211,183, 61, 41, 9,116,238, 99, 24,149,246,210,188, 39,
-113,176, 94,188,253, 33,202, 33,145,198, 33, 17, 41, 54, 9, 33, 80,213, 21,144, 4,217, 72, 17,107,101,123, 75, 49,146,149, 37,
-110,252, 30,195,229,229,174, 20,179,249, 28,173, 24,133,111, 66, 99, 40, 45,246,195, 97, 24,104, 70, 47,114,150,203, 48,115,201,
-175, 55, 77, 51,110,104, 82, 16, 35,151, 66, 66,196,128,146, 39,224,253, 88,201,233, 69, 39, 96,172, 8,211,250,174,191, 66, 18,
-108, 38,121,229,218, 88,102, 91,115, 82,138, 20, 69,137, 34,225,134,225,138,135, 46, 11, 81,170,203,193, 25,152, 84, 21,110,112,
-116,141, 36,172,245,157, 12,118, 49, 73,145,203, 37,191,105, 50, 75,234,123, 76,150,137,136, 82,203, 86,104,140,166,235,122,140,
-209, 50, 48, 41,133,178,178, 17, 94,186, 8,186, 70, 98,128,139, 50, 31,245, 0, 45,118, 68, 74,186,110, 84,224,119, 29,198,202,
-229,230, 6,119, 37, 68, 84,106, 20,107, 18, 5, 5,235, 5,201,200,203,130,166, 21,125,193,165, 39, 63,105, 40,243,130,222,121,
-188, 27, 8, 65,116, 11,222,185,241,226,144, 11, 80, 41,209,204,164, 20,241,227,239,201,242, 18, 97,222,100, 41,200,172, 44, 11,
-202,200, 22,175,181, 64,229,155,205,154,222,201,160,105,173, 97,117,177,192, 15, 82, 27,172,180, 68,172, 26, 52, 74, 9, 2,144,
-103,114,193,199, 24,200,115, 75,240,126, 44,198,145,208,166,204, 94,110,243,114, 81,167,152,208, 36,124,132, 73, 45, 90,139,193,
- 15,116, 99,138,164, 27,122,156, 27, 72, 49,160, 77, 70, 63,116,216, 44,103,189,222,224, 6,129,127,221,232, 54, 40,114,177,155,
-218, 44, 35,183,130,244,148,165, 52, 55,118, 67, 39,231, 83,140,160, 36,195, 65, 22, 14, 63,110,236, 50,196,103, 70,226,112,181,
-181, 4, 20,237,224,197,235, 62, 14, 66,222,247, 44,150, 23,248, 0,211,122, 42,105,107,198,242,226,228,156,160, 3, 85,166,200,
-243,146,162,170,233,154,158,114, 58,193,142,148,197,224, 59, 76, 82,104, 20,164,203,197, 35, 98,243, 2,109,140,160, 64, 54, 71,
-154, 49,133, 34, 53,214, 10,154,213, 7, 66, 76, 52,109, 35,231,205, 48,240,214, 39, 63,198, 29,193,242,236, 17, 7,175,190,206,
-203, 71,103, 52,155, 19,186,254, 57,131,107, 56,253,242, 21, 30,253,123,197,211,251, 95,114,244,252, 11, 66,236,248,224,141, 31,
-242, 71,255, 21,236,127,164,185,254, 35,199,254, 15, 13,219, 92,231,224, 22,124,252,113, 96, 31,131, 82,137,120, 96, 57,254,249,
-107,228,215, 95,112,254,205,151, 20,211,109, 94,221,223,230,198,193, 29,114, 74,166, 91,219,184,182,225,237,187,119, 56,184,125,
-135,191,251,233,103, 36,109,168,115,195, 78, 93,177, 88, 45, 8, 67,195,217,217, 5, 46, 14,180,141,196, 78, 95,172, 59, 12,240,
-230,235,175,240,218,221, 27,120, 52,251, 55, 14, 56,189, 88,209,116, 29,247, 63,251, 21,169, 91,115,118,177,100,162, 28,182,208,
-148,251,123,124,117,180,226,217,105,195,223,253,226, 62, 47,143, 23,156, 95, 52,248,161,195,135, 64, 31, 20, 90,101,228,249,148,
- 42,155, 9,226,151, 25,166,179, 2, 19, 18, 97,211, 16, 93,228,246,157, 91, 92,123,245, 38,153, 45,249,251,191,249,183, 92,159,
- 76,241,157,148,255, 44,215, 27,118,246,182,121,121,178,230,141,183, 15,152, 76, 74,214,203,150,186,168,249,246,193, 55, 16,193,
- 90, 77,116, 45,203,102,195,207,254,225,151, 52,155, 21,247,191,184,143,121,227,246,237, 79, 31, 60,252,154,182,221, 80, 23, 34,
-220,233,150, 75,214,141,163,207,167,148, 19, 41,114, 15,222, 97,141,136,158,230,179, 25,214,202,212,150, 89,177, 55,245, 77,199,
-106,211,224,131, 84,200,117, 93,127,229, 31,159,111,109, 81,149, 18,209, 55, 12,210, 47,219, 15,131,228,120,219,140, 97,132,247,
-154,205,102,220, 12, 19, 85, 81,146, 21, 57, 77,179,161,107, 59,134,190,191,130,217,148, 2,109, 20,171,205, 90,188,176, 65, 4,
- 55,151,155,155,210,114, 1, 93, 86, 10, 58, 39, 94, 77,231,195,200,167, 9, 55,228,251, 30,109, 45,201, 11,116,105,115, 57,232,
- 66, 8, 87, 54, 40,109, 45,198,202, 22, 5,178,157, 40,132,207,119,193,211,182, 29,146,135,109,233, 7,137, 25,245,222, 97, 76,
- 38,131,201,120,129,103,218,208,245, 45,209, 7,217, 54, 99, 28,225, 97, 75,145,231,114,193, 42, 17,154,129,112,204,187,219,187,
-148, 85, 73, 34,145,231,146,145,158,148, 4, 81,136,136,208, 99,172, 97,181, 94,203, 5,222,117,212,117, 37,225, 37, 10,234,186,
-162, 24,225,211, 60, 47,196, 3,221,182,248,224, 70, 65,154, 66,171, 68,223, 13, 72,189,172,192,154,198, 10, 61, 81,215,178, 21,
-244,195, 64,223,183,100, 86,190,134, 97,232,137, 94,236,102, 50, 52, 37,202, 82, 58,209,135,190,163,172,107, 98,138, 68, 31,112,
-193, 9,196,154, 46,171, 58, 45,151,109, 66, 74, 75, 53,174, 81, 26, 99,165, 98, 20,196, 59,223,182,253, 85,106,214, 48, 12,152,
-164, 68, 96,233, 35, 86,233,171,139,193, 88,129, 74,179,204,210, 54,194,195,202, 6,233, 80,200,118,191, 88, 44,144,228, 64,233,
- 89,111, 54, 13, 74,201, 22,126,217,204, 87, 21, 21, 46, 56,140,214, 76,167, 51,170,170, 28, 81,144, 12, 55,120,108,158,161,212,
-229,246, 47,190,107,101, 12, 49,136,202,187,105, 26, 18,137,249,124, 38,193, 60,121, 78, 8, 18,231, 43, 2,183, 72,215,180,228,
-121,129,214,242,231,116,125, 71, 93,142, 69, 53, 62, 48,157, 77,152, 76,166, 76, 39, 19,170,186,166,200,115,202,178,144,152,214,
-220, 18, 81,100,133,196,243,102,153,192,211,131,151, 75, 0, 45,221, 6, 41, 37, 46,171,130,137,114,161,136, 72,111, 64, 41, 17,
-218,137, 48,117, 20, 3,142,180,130,181, 98,187,235, 90, 41,139,200,139,156,161, 27,104, 91,121, 71,252,224,133,202, 25,109,112,
- 93, 55,112,105,225, 90, 46, 23,116, 93, 71, 94,228,144, 18, 69,149, 99,141,229, 50, 67,254,114, 64,113,206, 81,213,181,112,219,
-232, 43,244, 35, 51,153,240,223, 70,209,118, 45,137,196,100, 50,149,115,165, 31,132,203, 31,209, 38,161,160, 18, 85, 89,162,148,
- 18,255,127, 8,100,153, 56, 57,188, 27, 36, 90,120, 92, 16,148,209,104, 37,177,184, 74, 41, 54,237, 6, 72, 99,128,148, 98,211,
-116, 76, 39, 19,178, 60, 19,109,200, 56,224,163, 68, 47, 0, 66, 13,153, 49,166,119,240, 3,179,217,148, 34,207,176, 70,236,136,
- 69,110,233,250,126,180,229, 33,150, 70, 36,191,193, 57, 39,150,190, 92, 68,192, 32,202,114,133, 44, 3, 74,137,112, 52,211,146,
- 22,104,180, 65, 43, 75, 66,242,191,149, 82, 24, 43,207, 11, 74,206,173, 24, 32, 42,197,108,190,139,201,114, 18, 10,239,123, 86,
-155, 53, 74,102, 4,174, 95,219,231,240,197, 9,139, 77, 39,142, 6, 19, 73,195, 64, 10, 80,149, 5, 69, 81, 97, 50, 73, 38, 75,
- 10, 6, 39,168,165, 86,242,220, 40,173,168,138,156, 17,152, 32, 51,242,247,116, 93, 75,211,202,179, 62, 12, 3,146,148,103, 24,
-218,150,131,219,119,168,247, 74,194,102,129, 78,208, 45, 90, 54,221, 6,239,207,241,205, 57,155,147,103,172,206, 31,114,126,241,
- 21,221,234, 57, 41, 69,178,236,117,178, 88,210,220,135,195,127,167, 89,125,171, 56,125,174,200,106,120,243,221,158, 71,169,224,
- 56, 45,249,151,121,201, 23,199,138, 23, 15, 58,150,205,231,156,190, 60, 66,119, 3,123,117,205,191,250, 95,254,103,126,242,239,
-254,142,179,139, 37, 63,253,229,103,188, 56, 58,228,253,247,239,241,230,189,215,177, 36,180,142, 76,234, 25,157,139,100,185, 37,
-185, 72, 34,208,110, 54,220,216,153, 75,187,222,166,225,226, 98,133,138, 25, 39,231,167, 12,237,192, 86, 93,243,171,223, 62,192,
- 13,145, 89,101, 57, 95,174,105, 46,214,104,173,121,245,181, 3,110,222,220,227, 15,190,255, 30,123,123,187,108,223, 56,224,167,
-191,249,156, 85,219,115,180, 88,115,190, 89, 51,221, 18, 90, 4,114, 78, 47, 86, 44,215, 14,141,102,247,250, 46,219,211,130,176,
-216,240,197, 23,223,240, 39,127,246, 31, 97,234,138,255,247,111,254,134,227,103,135, 84,198,160, 2, 24, 60,239,125,240, 46, 47,
-142, 94, 48, 41, 51, 66, 27,208, 88, 62,255,205,125, 94,187,121,128,213,145, 95,253,230,115,158,124,243, 45,119, 94,125,141,229,
-122,195,243, 39, 79, 49,147, 50,251,212,187, 78,210,181,156, 99,211,116,132,124, 74,168,166,194, 59, 90,205,208,110, 48, 70, 83,
- 22, 21,211,178, 64,105, 88, 45, 86,116,157,240,183, 41,193,186,221,144, 82,100, 54,159, 97,173, 97,112, 30,165,165, 64, 62,207,
-196,195,106,180, 25, 47, 5, 81, 41, 58,231,113,193, 51,155,207,177, 74, 38,178,126,240,227,161,195,213, 97,151,146,240,168,151,
- 91, 81,145, 23,172,215, 27, 98, 8, 76, 38, 19,201,197, 5,218,126,160, 40,138, 81,184, 34, 73, 91, 49,130,210,194,129,106,173,
-137, 17,146,151, 82, 19,149,210, 21,239,230,131,244,147,103, 89, 38, 91, 92,130,161,239, 37,225, 12, 81,109,103,153,148, 98, 56,
-231,112,110, 64, 43,141, 50,138,190, 19,216,214,218, 49,179, 25, 80, 6,134,118,144,233,221, 57, 36, 23, 10,202, 82, 14, 58,201,
- 43,239, 41,235, 26,141,244,105,247,125, 47, 27, 93,138,148,101, 77, 61,147,226, 15,101,196,210, 5,138, 97, 12, 67,185,252,179,
- 66,144,108,239,166,105,174,190,118,239, 29,179,177,225, 39,196,241,144, 34, 94, 69,129, 26,133, 64,153, 49,144,130,136,187, 98,
-144,204,242,178,172, 32, 70,138, 82, 96,216, 24,194,184, 69,140,189,243, 36, 72,138,217,108,122,117, 89, 89, 35, 93,229,214, 26,
- 65, 77,252,128,244, 64,215, 68,239,229,255, 75, 16,222,167,147, 33, 40,145, 32,138,104,209,104,177,141,133, 81,169, 62, 12,210,
-254, 86, 20, 50,208,204,166, 83,113, 49, 24, 43, 8,129,146,176,142,178,172,176,214, 96, 71, 8, 92, 41, 69, 57,138,177,148,146,
-118,188,229,114,141,247, 14,173,141,232, 2,180,198, 57,225,131, 73,210, 37, 63,116, 66, 45,204,166, 19,138, 82,254,206, 75,174,
-217, 57, 73, 57, 52,151,104,198,248,188,200,229,105,197, 23, 92, 8,188,156,146,244, 95, 39,228, 98,213, 74, 54,233,161,107,209,
-218,176, 94,175,105, 55, 27, 98, 18,183, 69,223,201,102,158, 98, 98, 50,157, 10, 4, 27, 3, 54,151,170, 87, 82,196,245, 3,109,
-215,114,153,181,175,149, 34,164,128,181,226,251,191, 44, 90,185,204,127,207, 70, 8, 92, 33,130,196,224,189,240,196,105, 76, 63,
- 84, 80,100, 25,109, 35,239,174, 15,129,105, 93,227, 99, 64,178,249, 69, 83, 18,156,151, 20, 65,239,169,202,223, 43,218,139,170,
- 4, 24, 7, 30, 67, 76,129,182,105,175, 6, 84,109,164,131,254,114, 72,108,154, 6,173, 45, 68, 65,158,138, 44, 19,145,154, 81,
- 4,239,232,187, 1, 63,186, 14,180, 17,255, 58, 41, 49,190, 46, 12,125,143, 82,138,193,139,203, 68,208,186,132, 31, 6, 80,226,
-165, 46,139, 74,126,182,198,140,212, 23,104, 37, 3,190,119,254,106, 3,110,187, 22, 21,133,131,222,172,215,116, 93,135, 50,154,
-162, 16,189,142,181,150,102,172,214, 21,237,143,196, 66,183,173, 68, 62,163,204,136, 66, 6,105, 22,180,226,140,145, 6, 45,197,
-102,211, 16, 99, 26,159, 47, 79, 81,228,216,204,140, 29, 9,107,154,213, 70,158, 29,210, 88,216, 36, 20,159,116, 95,120,202,162,
-132,241,172, 35,137, 67, 70, 41,129,230,149, 86,100, 99, 68,111, 2,234,178,196, 5, 89,134,202,122,138,115,194,255,123, 18,109,
-223, 18,156,163,170, 50, 25, 22,116, 98,112,129,100, 51,186,182, 17,251, 97,244,100, 54,103, 50,153,146,101,134,170,158, 82,100,
-151,141,140,242,185,183,205,134,245,106,141,235, 27, 17,174,170, 40, 93, 0, 69, 77, 94, 26,136,242, 14, 12,110,192, 42,112,171,
- 53,183,118, 94,101,229, 90,250,163, 11,108, 85,211,247, 61, 90, 89,188, 91,208,172, 79, 88, 47, 15,233, 22,207,104,215, 79,216,
-172, 94,114,118,250,144, 71, 95,159,112,212,205, 56,124,121,193,225,131,111, 56, 63,123,198,186,221,197,185,138, 95,254,109,226,
-217,255, 83,243,104, 13, 79,207, 21, 79, 30,126, 75, 27, 30,178,120,246, 88,206,214,197, 41, 15,190,126, 64,138,142,157,107,215,
-165,118,245,181, 87,217,157, 77,105, 47, 46, 56, 59,190,160,117,134,253,173,109, 81,180,215, 53, 31,255,232, 15,201, 38, 19, 78,
- 23, 45,139,245,154,139,197, 9, 95, 62,122, 74,183, 58,230,244,228,132,237, 74,243,205,211, 67,206, 47,206,216,154,239,112,239,
-205, 55, 89,118, 3, 77,144, 2,166,211,214,113,190,114, 52, 27,199, 87, 95, 63,231,228,232,156,112,113, 78,150, 28, 59,243, 93,
- 94,121,245, 46,123,251,215, 40,102,215,248,221,131, 71,100,153,231,198,254,174,164,243,101,150, 69,235, 89,119, 17, 83,214, 76,
-203,130,179,151,199,236,236,236,240, 87,255,233, 95,241, 63,254,175,255, 7,135,207,143,216,170, 51,126,247,219,111, 96,179,193,
-120,207,234,116,201,239, 30, 62,102, 43,215, 92,159,207,217,175, 75,113, 4, 77, 38, 28, 47,123,190,255,209,247,136, 67,164,115,
- 61,198,170,240,105, 89, 86, 56,151,232,163, 38,205,118, 80,121, 73, 26,225,173, 20, 69, 56, 99,179, 28,107, 20,101, 85,178, 94,
-173, 9, 81,194, 13,188,243,252,231,223,223,231,231, 79,150, 76,167, 83, 82,146,182, 53, 80, 76,103, 51,121,201, 99, 64,105, 17,
-198, 40,173, 41,170,138,178, 44, 69,236,164, 68,229,238,147, 4, 35,136,119,220,176,181,181, 37, 47,133,201, 36, 16, 68, 43,156,
-247,227,116,158, 51,184,129,178,168,240, 65,250,204,255,226,141,146, 63,190, 59,229, 55,199,158,182,105, 80,198, 80,100, 37,131,
- 27,248,238,117,203,141,218,240,114,229,209, 70, 60,216, 36, 17, 91,201, 54, 45,254,117,225,137,199,204,243,174,151,131,119, 16,
-174, 58,211,210, 83, 94, 20, 5, 93, 63,224,157, 67,107,197,122,181,193,123,225,203, 50, 43, 54,177,162, 40,228,238, 75,233, 10,
-118,213, 90, 33, 45,106, 3,160,198,173,188,191,186,232, 0, 38,179, 25,193,139,218,123, 54, 19, 21,255,101,160, 71,138,191,183,
- 85, 9, 28, 41,155, 78, 24,197,106,114,208,138,170,123,112,130, 4,244,131,192,236,205, 40,178, 11, 65,172,111, 90,107,208, 50,
-245,247,195, 32, 54, 21, 99, 48,122,228,132,187, 94,124,169,113,172,247,244,158, 44,207, 71, 72, 85,210,209,148,177,132,193, 97,
-172,108,242, 33, 4,146, 10, 87,195, 79,150,143, 27, 96, 46,141,105,130,168,136,234,183,174,100, 59,117,131, 84,204, 10,228, 45,
- 23,187,209, 98, 43,148,132, 47,209, 93, 24, 45,212, 6, 73,224,107,109,164,193,239, 18, 26, 7,105,198,210,154,241, 80,245, 44,
- 46,206, 71,231,132,168,149,235,122, 66,240,158,170, 42, 80, 90,148,209, 49,197,209, 70,101,113,109,139, 25,249,228,162, 40, 25,
-156, 67, 43,133, 50,178, 1,183,109, 79, 59, 66,248, 77,211,141,223, 91, 70, 82,130, 6, 93,217, 51,141, 65,197, 68,219,108,228,
-235,115, 66, 79, 64,148,159,183, 21,120,222, 7, 73,168,179,185,197,216, 66,210,248, 12, 34,116, 28, 28,193, 15,116,221, 64,211,
-173, 9, 94,212,232,130, 30,216,171,237, 42,145,196, 30, 55, 94,178, 33, 72,248,136, 54, 2,147, 74, 36,175, 88, 20, 51, 35,205,
-139, 67, 47, 3,245,165, 42,124, 90, 75,199,119,215, 54, 24,101, 41, 10, 65,206, 38, 85,133,228,124, 71, 98,144, 27, 54, 43,228,
-103,218,181, 61,109,215,144, 84, 66, 41, 17,118, 58, 39, 29, 1,222, 57,218,182,231, 50,159,190,170,132,114, 41,171,146,164, 20,
-221, 32, 3,148,235,189,136, 7,179,140,224, 60,206,251,241,253, 16,154,197,123, 41,239,145,207, 87, 46,234,188,144, 8, 97, 65,
- 88,122,250,161,199,123, 39,139, 0,162, 33,232, 58,105,174,114,110, 16,136,221, 90,202,170,196,106, 9,186,209, 6, 98, 12, 12,
-131, 8,237,242, 76,196,137,155,102,131,115, 14,101,140,208, 91, 41, 81,148,114,254, 40,160,109, 27,148, 26, 93, 0, 67, 75,215,
- 54,168, 17,113, 89,175,215, 20, 85, 77,140,162, 95,144,118,193, 75,167, 9,104, 13, 42, 41,218,205, 90, 40,173, 82,184,125, 17,
-117, 90, 20, 80, 21,162, 23,136, 49, 1,226, 32,208, 90, 3, 92,157, 37, 62, 69,217,154,199, 33, 32, 2, 49, 70,208,130, 66, 22,
-165, 20,227,128,133, 76, 74,162,130, 2,146, 80,149,229,164, 64,107,233,115,136,120,156,219,224, 6,199,102,181,193,140,103, 87,
- 85, 85,212,211, 41, 89, 46, 67,100, 61,155,202, 55, 16,229,239, 19, 59,173,199,181, 34,118,118,110,160,237,156,100, 51, 52, 43,
- 22,103, 47, 25,178,156, 87, 63,254, 14,214,215,184, 33,151,225,109, 88,210,175,142,240,253, 2,215,158,227,251, 83,146,235, 24,
-124,131,107, 79, 88,191,252,156,229,197, 3,150,203,111, 88,156,127,197,226,232, 62, 15,126,254, 25, 71,247,127,202,225,241, 3,
-142,142, 29,103,207, 79, 56, 57,124,192,106,243, 5,171,167, 95,209, 13,158,229,233, 49,214, 90,114,221,179, 59, 77, 76,102,150,
-127,252,233, 79,248,187,127,252,130,118,253,140, 44, 11, 20, 5,156,173,207, 73, 41,177,108, 29, 67,215,240,254,187,239,242,227,
- 79,190,203,187,223,121,143,106, 94,243,218,107,175,115,238, 20,201, 64, 8,142,105,157, 51, 52, 27,142, 78, 47, 88, 13,142,175,
-158,188,164, 42, 75, 46,214, 23,124,253,248,148,243,166,147,178,166,190,229,124,181, 96,208,134,182,107,209, 58,178,220, 56,190,
-124,244, 45, 55,111, 94,227,245,123,247,248,201,103, 95,210,180,107,114,165, 36,225, 79,195,100, 20,152,230, 85,205,166,151,110,
- 10, 23, 52, 63,254,209,247,184,125,123,143,124, 59, 35,155,150, 40,229,241,125,160,200, 75, 62,252,240, 67,102, 55,238, 16,140,
-225,225,195, 47, 57,126,242,148, 45, 91,242,198,193, 1, 55,119,118,184,243,218, 29, 66, 12,152,237,186,252,116, 72,138, 70,231,
-228,243,237,241,161,146, 9,204, 13, 61, 26,225,185, 38,101,197,116, 54,189,186,236, 51, 43,222, 88,128, 55,118,115,246,166, 37,
-223,156,117,120,239,201,108,134, 25,197, 34,235,102,131, 27,188,240,143,110,192,249, 56,114,215, 18,149, 90, 86, 37,121, 89, 81,
-148, 21, 85, 85,142,117,172,163, 98,214,136, 32, 35,203, 11,218,182, 69,105,197,116, 62, 39, 33,147,164,205, 45,202, 24,140,214,
-220,221,214, 60,190,232,217,171, 44, 47,151,142, 44, 23,111,187,119, 3, 55,103, 57, 7, 83,195, 44,215, 28,174, 3, 41,129, 74,
- 81, 56,180, 20, 69,100, 52, 66,144,214, 10,140,135, 86, 76, 39, 83, 57, 44,189, 40, 62,141, 82,228, 54, 71,107,177, 74,109, 54,
- 98,183, 83, 74,145,198,131, 66,193,213,159, 83,150,178,213, 8,247, 53,218,208,162,194, 69,143, 27, 91,193,172, 21, 11, 88,150,
- 73, 41, 66, 61,169, 80, 72, 87,183,181, 86,196, 69, 93,199,186,217,208,117,189, 88,119, 82, 18, 63,113,219,142,176, 47,104, 99,
-199,207, 88,138,101, 68, 52, 40,151,176, 86, 8,140,167,197,238,227,156,132,140,244, 93, 7, 74,141,150, 52, 69,215,180,116,189,
-112,240, 9, 25, 6,242, 66,210,184,186,182,197, 71,129,209, 67, 8,114, 48, 7,143, 11,151,169,120, 99,142,188, 23,113,148, 12,
- 50, 98, 33,234,189, 92,144,198,138,239, 57,203, 50,162,151, 45, 83,107,233, 33,183,214,160,188,156,128,110, 60,216,251,190,103,
- 62,159, 11,151, 59,136,136,145, 56,122,204,211, 8, 93,134, 40,135, 94, 16,197,250,249,249, 57, 77,215,140,188,116,162,174, 74,
- 38,147, 41,193, 59,234,233, 4,165,197,245,224,198,207, 73,134, 25, 35,130,174, 74,160, 92,197,200,103,142, 63,251, 77, 35,142,
-141,204,102,244,163,216,237, 82,216, 85, 85,149, 8,245,162,216,156, 36,235, 94,218,214, 46,121,253,211,147, 19,234,201,132,186,
-158,144,153,140,122, 50,197, 26, 81,202,163,100,200,236, 7,225,248,220, 32,195,226,246,246, 14, 2,217,119,104, 3,206,123, 66,
-144,109,238,114, 88,184,220, 44,253, 88,215,139,146,159, 77, 63,170,248,203,170,194,245,142,178, 44, 68,151, 98, 68, 39, 97,148,
- 18,206,186, 44, 89,175, 86,196,148, 40,108, 38,124,176, 19,221, 64,219,182,227,123, 40, 86, 82, 99, 47,155, 12, 37, 48, 39, 9,
- 4, 70, 28,228,115, 28,186,238, 10, 46, 7, 69, 85, 85,244,189, 32, 54, 33,120, 36,174,183,160, 40,114,114,155,131, 6, 31, 61,
- 34, 26, 23,154,163, 24,173,170, 32,234,241,245,122, 3, 73, 93,137, 53,157, 11, 72,216,147, 29,105, 42,205,116, 50,165,115, 18,
- 50,149, 82,186, 18,144, 38, 4, 62,175,234, 74,168, 5,107,175, 6,218,245,122,131,181,150,201,100, 66,210,224,125, 32, 18, 5,
- 61, 24,164,219,160,200,165,104,102,185, 92,208, 15,221,213,115,223,117,173, 32, 0, 94,222,129,174,151,129,188,200, 11,170,162,
- 66, 42,125, 97, 50,157, 18,122, 17, 19,183,109,135, 31,251, 47,148, 82, 99,178,166, 22,100, 38, 1,200,242,112, 25, 8, 36,122,
- 3, 5, 73,134, 38,173, 68,119,226,157, 12,230,222,137,138,221,141,200, 74,223, 13,212,147,114, 68,222, 34, 89, 46,194,224,132,
-162, 40, 75,202,233,156,188,154, 48, 56,169,238,156, 76,107,194,144,104, 90, 71, 59, 56,178,220,144,229,134,227,211, 35,150, 23,
- 11,250,166, 33, 6, 79, 34, 18, 83,162,107, 27,138,170,162,168,106,202,170,134, 20,228,204, 24, 6,202,178, 34, 5, 73, 48,204,
-171,154, 20,122,124, 57,225,245, 79,254, 9,167, 47,133,158, 67, 25, 84, 44,209,182, 66,233, 9, 74, 89,108, 62, 71,155,154,232,
- 26, 98,127, 74, 24, 78,105, 23, 47,104, 86, 79,233, 87,143, 89,159,127, 77,191,121, 78, 63,156,226,134, 51, 46, 78, 30,115,126,
-252,128,110,253, 53,205,243,111,104, 86, 47,152,221,124,133,183,223,184,203,235,175,188,206, 55, 79, 30,145,134,129, 44,182,124,
-243,248, 2,149, 20,165, 6,133,104,124, 46,150, 27,126,244,227, 15,120,235,141, 59,252,240,135, 31, 17,124,199, 55, 95,127,205,
-166, 93,177,190, 88, 51,184,142, 15,223,123, 19,232,168,115,139, 49, 3,131,111, 24, 66,226, 95,254,213, 63,229,199, 63,248, 46,
-206,123,142,206, 78,169,202, 1,149, 2,147, 89,198,201,249, 5,154,128, 15, 61,231,103, 13,250, 15, 97,249, 0, 0, 32, 0, 73,
- 68, 65, 84, 47,207,215,188, 60, 89,179,127,109,151,135,143,158,243,236,217, 17,239,189,243, 22, 77,219,243,205,225, 25, 88, 88,
- 54,107,130, 78,216,124, 74, 86,149, 88,147,179,110, 68,103,180,217,120,118,111,221,166,206,119,248,240,189, 15,216,217,223,227,
-147, 31,126,204,179,163, 23,228,117, 65, 49,153,242,198, 91,247,120,253,131,119,104, 76,201,195,167, 47, 56, 94, 92,240,203,127,
-252, 57,143,159, 30,210, 15,107, 76,190,189,243,105,175, 44,245, 84, 46,203,228, 37,204,226,114,155,213, 74,201,100, 49,173,201,
-108,142, 81,146,106,214, 53,173,216, 72,146,120,244, 94,217,202,249,226, 68, 30,182,182,235, 25,134,158,161, 27,164, 96, 37, 38,
- 62,190, 51,227,187, 7, 37, 15,207,199,188,239, 32, 66,184, 97, 16,161, 91,158,139,122, 84, 82,218, 2, 54,203, 88,175,214, 24,
- 35, 30,202, 75,207,106, 89, 20,226, 13, 29,183, 88,165, 52,235,245,154,119,111, 84, 60, 58,115,220,219,207,121,218,104,180,178,
- 35, 68,174, 56,152, 89, 66, 74, 28,204, 44, 15, 79,122, 98, 10,151,232,158, 64,147, 70, 9,111,154,229, 84, 69,197, 48, 10,162,
- 82, 16,145, 86,158,101, 36, 47,219,182,181,162,162,191, 12,112, 9, 41,146,103, 5, 69, 89,225, 6,129,117,251, 65, 20,191, 33,
- 74,177,201,149,199, 86, 41, 80,137,161,151, 80, 21,171, 37,197,233,242, 98, 17,244,161, 32,141,137,119,206,245,244,189, 4,129,
-144, 18,198,104,138,162, 28,127, 62, 70, 44, 95, 65,210,172, 98, 8, 76,103,179, 81,148,150,174, 46, 85,107, 44,117, 93, 50,157,
-206,200,172,101, 54,159, 81, 22,165, 92,188,200,102,123, 57,148,160, 69, 39, 17,162,240,253,193, 75, 39,183,181, 57, 26, 37,212,
- 65,150,139, 29, 45,151, 18,148,232,228,114, 54,214,162,116, 68,172, 84, 25, 62, 38,121,177,234,138,170, 44,201,243, 82,134,138,
- 40, 25,236,221,120,249,217,113,243,204,108,198,102, 20, 94,213, 85, 41, 94,117, 31, 40,138, 12,141,192,237, 90, 11,239,152,146,
- 8, 19, 67,240,144,210,232,129,143, 44, 22, 11, 46,109,126,101, 85, 9,212, 92,148, 12,126,192, 90,121,126, 4, 14,214, 76,166,
- 83,170,170,162,105, 91,250,190, 99, 54,159,209,180, 45,243, 75,116, 41, 4, 66,252,255,153,122,147, 47,203,211, 51,191,235,243,
- 78,191,233, 14, 17,145,115, 86,102, 85, 86,214, 32,169, 84, 85,146, 90,234,150,186,101, 9, 75,234,182,218,134, 67, 27, 48,108,
- 76,115, 0,195, 18,150, 44,216,233, 15, 96, 3,102, 9,135,195, 57,172,188,198,112,236,182,161, 77,183,187,229,110, 13,141,164,
- 82,205, 83,206, 25,115,220,225, 55,189, 19,139,231,119, 67,228,162, 42,171,114,136, 27,119,120,223,231,249,142, 66, 89, 88,251,
-155,120, 94, 99,140,212,211, 22,142,232, 69,220,231,163,188,239,199, 52,146, 67, 18,177, 88,223, 75,125,100, 85,211, 15, 3,214,
-104,138,186,196, 88, 39, 98,205,224,167,146, 22, 71,240,145,170,169,105, 55, 27, 82, 78, 92,187,126, 29,163, 53,199,199,199, 24,
-167, 56,216, 59,160,174, 11,209,163,228,137,255, 15, 82,209, 89, 56, 81, 60, 27, 35, 65, 58,187,203, 94, 91, 35,138,255, 9,177,
- 49, 90,220, 15, 67,223,147,114,166,174, 43,129,248,145, 1,217, 21, 22,239, 5, 9, 89,111, 54,148,117,197, 24, 3, 70,107, 86,
-155, 13,151,229, 45,133,168,246, 69, 73,157,241,253,120,105,113, 26,187, 22, 59,189, 78,198, 24,241,192,183, 45,166, 42,104, 42,
-121,204,130,114,140, 52,181,216,229,114,206,248,224, 81, 90, 84,231, 93, 39,186,131, 93,134, 4, 64,206,138,217,108, 62, 13, 39,
-134,237,182, 99,177,152, 81,150,165,160, 10, 77, 51,241,247, 21, 41, 38,138,157,184,203,137, 72,112, 12, 35,214, 56,252, 56,200,
-115, 48,209, 59,214, 57,156,117,147,213,174, 96,232, 59,180, 49, 68, 47,139,199,142, 86, 32,103,150,203, 57, 85, 89,162,140, 38,
-250,223, 56, 2, 64, 1,210, 5,127,113,126, 78, 76,153,210, 22,211,112, 33,150,187, 97, 24, 24, 7, 79,202,145,249,108,142,177,
-134, 97,144, 75, 92, 41,225,215,181,209,228, 44,255, 13,210,139, 17,147,184,126,148,145,231, 65, 32,125,233, 4, 87,104, 66, 24,
- 40, 75,209, 93,140,163,167, 46, 36, 20, 74, 27,195,249,249, 25,237,102,203,234, 98, 69,225,236,165,189,206, 22, 82, 89,237,170,
- 6, 87,213,100, 52,109, 43, 5, 78,203,189, 37,139,229,146,162,174,200, 19, 98, 55,244, 29,153, 64,142,129, 24, 6,198,126, 64,
- 25, 69,221,204,177,165,156, 91, 85, 81, 11, 98, 18, 35,179,249,146,230,202, 77,238,188,241, 21, 46,158, 72, 80, 86,138,153,170,
-185, 65,181,124,145,122,113,139,170,190,138, 45,231, 24, 91, 18,195, 5,219,195, 95,146,218,199,228, 52,160,140, 67,153, 5,205,
-222,109, 80, 21, 67,247,156,216,157, 49,116,207, 25,183, 79,232,207, 63,103,230, 6, 54,221, 22,101, 28,143, 63,249,144,119,127,
-241, 99,142,143,123,134,216,113,124,177, 5, 35,108,207, 38, 40,182,190,164, 50,150, 20, 71,158, 63,124,194,231, 15, 30,240,240,
-253, 95,242,211,159,252, 53, 15, 30, 63,230,221, 95,255,138,118,123,198,222,158,102,244, 91, 54,235, 22, 83, 70,234,166,225,245,
- 47,188,130,182,142,177,111,249,197, 47,222,225,209,103,143,168, 10,203,172,170, 89,204, 75, 74,101, 24,186,145, 89, 83,225,131,
- 33, 89, 75, 23, 34, 62, 68,158, 60, 59,103,181,238,120,126,116,198,195,199, 79,217, 14,158,213,197, 72, 85, 55,156, 94,116,156,
-174,214, 28,159,173,121,240,248, 17,206, 64, 72,153,235,183,175,147,147,167,182, 21,245,188, 70,149, 53,232,134, 43,183,239,240,
-226,189, 87,120,253,139,175,177,191,156,241,249,251, 31,176, 93,121,190,253,237,239,242,119,254,238, 15,185,113,251, 6,255,251,
-159,252, 9,223,253,230, 91,220,126,225, 69, 76,115,229,234,143,114, 18,101,108,219,118, 19,103, 56,229,250, 42,129,198,227,196,
-237,236, 84,214,187,122,206,237,102, 75, 89,149, 92,157, 57,246, 43,205, 69,180,156,111, 37,102,178,168,138, 75, 81, 80,217, 52,
- 92,173, 50,179, 66,243,229,235, 5,159, 95, 0, 89,147,141, 2,196,106,178,109,123, 82,218,121, 54,101, 51, 49, 70, 18,219,138,
-162,160, 27, 58,170,170, 98, 24,123,129,225, 10, 57,176, 66, 16, 1,212,239,220,157,241,231, 15, 91, 94,191,226, 56, 92,143,108,
- 70, 79, 24,197,214,245,245, 23, 42,254,230, 73,199,139,251, 5, 39,219, 64,151, 20, 36, 41,165,103,130,178,131, 23, 88,204,236,
-132, 89,218, 48,244, 82, 93,233,156,155,196, 99,194,153, 95,172, 87,128, 64, 95,214,152, 73, 71, 32,200,198,206, 71,237, 7,201,
- 28, 87, 90,242,204,189,247,212,213,196, 11, 35, 23, 37,198, 16,115,152,182,127, 51, 77,254, 35, 69, 89, 96,148, 52,194,105, 35,
-116,134,202,146,112,229, 10, 43, 16,115,240,212, 85, 35,201, 86,133,120,146,187, 78,158, 35,107, 12,179,249,156, 89,211,136,232,
-170,174, 25,199,145,102, 54, 19,184, 79,239,188,218, 5, 85, 41, 9, 97,245,164, 96,175,170,138,170,148,173,187,106, 26, 42, 87,
-210, 79,219,233, 56,117,210, 91, 43,240, 55,106, 87, 53, 11, 99,144,246,175,174, 27, 32, 79,220,103, 18, 15,120, 89, 78,106,239,
- 32,232, 72, 63, 12,194,117, 26,205, 46,222,117,167, 57,216,109,117, 42,107, 22,139, 25,125, 63, 18,189,167,237,122,217, 14,124,
- 64,130,116,162,108, 7, 69, 33, 42,246,174, 99, 24, 7,102, 77, 77, 51, 5,170,104,165, 47, 57,246,157,104,201, 90,249,158,141,
-145, 3,180,112,238,146, 91, 94, 46,151,116, 93,135, 31,197,241, 48, 14, 3,214, 20, 66,231,100,197,124, 62,199,149, 82,104, 49,
-180, 29, 69, 93, 92, 34, 45, 41, 41,198,126, 82,149,107,141,239,123,202,178,100,181,186,144,173, 54, 11, 45,208,247, 3, 17,113,
- 28, 8,156, 26, 65,139,189, 74, 59,195,208, 15,108,183, 91,214,171, 11,250, 97,100,209, 52,104, 35,225, 36, 77, 85, 79,149,181,
-162, 98,239, 71,249, 26,128,112,219,157,104, 50,196,250, 39,126,246,186,174, 47,109,161, 18,224,227,113, 86, 90,228, 70,239,113,
- 70,180, 44,198, 90,176, 82, 80,130, 2,165, 96, 28, 70, 82,140,236,236,144,214, 73,117,110, 12,129,161,147,193, 61,101,177,175,
- 53, 77, 69,202,106,178, 54, 74,178, 97,223,203, 5, 93,186,130, 24, 51,227, 56, 80, 58,121,175,182,219, 45,195, 40,129, 47,187,
- 72, 98,107,228,178,115, 78,130,159,234, 90,162,160,209,147, 70, 65,107,134, 97,188, 20,220,118,125,143,181, 34, 16, 21,203,157,
-208, 17,227,232,233,187, 78,168,190,233,179,212,141, 3,227, 32,138,252,170, 18,202,165, 40, 74,186,201, 51,174,148,193,149,210,
-222,104,157,136, 41,157,115,184, 66,232,129,157,115,165,172,106,170,178,164, 40,172,112,249,133,155,180, 45,146, 43,224,123, 17,
-245,206,102, 51,134,126, 96,177, 88,194, 52,228, 72, 63,193,120,169, 25,137, 49,226,156,168,225, 99,146, 97, 52,199, 73, 67,148,
- 68, 7,164,146,104, 17,124,136,204,102, 13, 10,177, 55,218, 73,166,224,189, 8,133,197,134, 87, 78,200,129,100, 97,140,126, 36,
-199,132, 15, 65,202, 97, 6,201,237,239,251,145,110, 28,197,153,227, 44,205,254, 18,237,170,203,207, 37, 81,206,247,178,170,192,
-104, 10, 55,147, 90,223,126,152, 28, 31, 45,125,187,189,116,102,164, 36,195, 74,123,177,102,240, 35,111,127,249, 27, 84, 87,246,
- 57,121,184, 38,196,136, 85, 73, 94,199,228, 32, 5,198,216, 17,134, 53, 67,119, 74, 12, 27, 72, 26,138, 5,245,254,171, 92,189,
-243, 29, 94,122,229,239,241,202,151,255, 1,117,115,147,144,161,219, 60,195,164, 11,218,139,167,108, 79, 62, 99, 28, 70,110,124,
-237,235,228,113,205,102,181,165, 93,173,121,249,245, 43, 92,172, 70, 78, 87,153, 46, 42,124,208, 36, 13, 33, 71,214,109,226,162,
-207,156,117,176,245,240,224,120,228,116,171,216,250, 68, 59, 42, 58,159,121,252,228,132,143, 62,122, 68, 83, 55,188,255,254,115,
- 2, 22,180,230, 75, 95,249, 50,127,250,167, 63,103,190, 92,224,170,125,238,220,189,197,124,111,206,242,234, 77,138,170,226,238,
-203,247, 88,117,145,251,175,188,204,205, 91,119, 25,199,129, 87,239,223,101,189,217,146, 82, 96, 54,155, 17, 99, 98,185, 60, 96,
-140,129,231,103, 27,110,220,184,193,241,201,154,151,238,223,231,183,191,246, 13,206, 47,206,248, 95,255,201, 63,229,201,251,239,
- 51,142, 3,215,246,231, 28, 63,249,156,207,127,249, 14,207, 62,251,132, 7,159, 61,226,222,107, 95,228,244, 98,195,155,111,189,
-193,227, 39, 15, 72,221,134,127,252,223,253,143,124,252,225, 51,254,254,223,255, 35,138,162,224,179,135,159, 50, 47, 13,234,250,
- 75,247,178, 34, 83, 86,213, 37, 44,165,148,216,109, 84, 76,232, 66,161, 18, 20,187, 45,175,174, 9,126, 36,103,197,102,179, 34,
- 38,120,235, 70,193,141, 69,193, 81,155,248,203, 79,206,168,103, 53,219,141,132,210, 44,151,123,146,242, 99, 51,223,186,227,120,
-231,249,200, 91, 55, 75,254,207,143, 59,140, 21,238, 58,229,192,183, 94, 90,242,171,195, 72,187,105,169,103, 53,171,213, 10,241,
-134, 10, 12,106,157,197, 15, 35,237,208, 81, 87,229, 37,180, 61,246, 61,111,220,154, 1,240,241,105,228,213,101, 32,167,204,223,
- 60,235, 41,141, 84, 8,138, 5, 75,243,149, 91, 37, 40,197, 47,159, 11, 58,208,249, 1,171, 13, 49,201,101,178,183, 92,226,156,
-180, 80,117,253, 64, 78,129,197,108, 78,142,137,243,139,115, 82, 18,184,180,105, 36,225, 12, 32, 43, 81,197,174,214, 91, 10, 43,
-150,185,161, 31,176, 86, 83,213, 51,174, 28,236,163,148,226, 98,181,154,182, 77,177,221,244,131,240,166,198,149, 40, 96, 28, 35,
- 33, 73,247,111, 89,150,204, 38,117,110,206,144,153,196, 51,211,143,221,229, 57,159, 55, 19, 82,177,198, 56,199,102,181,161,105,
- 26,250,190, 99, 54,155, 49,250,113,242,176, 86, 8, 47,216,209,212, 13,253,216, 17,130,208, 44, 9, 41, 91,137, 41,226, 72,114,
-225,100, 13, 58, 19,163, 88, 1, 67, 16, 36, 69, 41,195,122,179,130,233,177, 40,165,152,207, 23, 24, 45,145,186, 6, 5, 70, 46,
- 0, 16, 30, 59,107, 48, 88,129,250, 13,164,144, 39,216, 95, 68,140, 49, 10,183,105, 11, 71,233,164,171,217, 40, 67, 66, 82,195,
-130,151,109,209,143, 82,193,169,149,216,127,132,167,150,193, 42,120,207,249,197, 5, 89,193,222,222, 2, 87,200, 65,185,221,180,
-236,237, 45, 80, 74, 98, 93,199,113, 68,116, 8,242,248,139,233,178,219,229,185,111, 59, 25,106,135,190,167,170,107,156,147, 76,
-240,157,248, 44,132,128,210,134, 28, 3,100,168,170, 57, 99,144, 50,150,172,196,166,233, 10, 77, 24,188,240,226, 57, 96, 50, 84,
-179, 26,109,133,115,179,197,196,165,186, 2, 83, 8,242,181,221,110, 49,166,160, 52,153,139,149,160, 13, 70,105,102,243,138,190,
-235,137,209, 83, 22, 37, 87,246, 15, 88,173,215,244, 99,207,124,177, 71, 78,153, 16,164, 43,186,221,182,216,202,137,231,222, 22,
-178,193,247,242,216, 65,248,232, 20,228,179,225,131, 64,232, 85, 49, 13,157,219, 45,133,115,184,170, 34,132, 68,214, 83,187,161,
- 45,104, 91,225,139,199, 78, 82, 3,115, 18, 77,133,181, 86,222, 7, 49, 81, 55,205, 37, 10,149,115,158, 6,143, 10, 41,117,170,
-104, 39,139,230, 14,173, 82, 74,178,229,179, 18,209,162,124, 15, 37,202,100,186,173,100, 51, 56, 39, 46,151,178,172,232,123,225,
-168,173,117,140,227, 4,119,215, 21, 86, 89, 66,142, 88, 45, 90,152, 97, 24,105,154,138,126,232, 37, 92,202, 58,202,194,136,128,
-214,201,166, 30,114, 34,140, 34,226,157, 47,247,176, 90, 51,134,192,208,119,192,228,151,143,226, 12, 9, 33, 48,155,149, 82, 87,
-140,156,129,123, 7,251,248, 81,154, 10,197, 75, 47, 20,222,172,153,113,113,126, 78, 85,200, 16,188,191,183, 79,140,158, 49, 68,
- 17, 7, 42,197,197,197, 5, 57, 38,234,249,156,178,170, 80, 70, 51,142,114,137, 43,160,112, 53, 41, 11,164,110,140, 97,103,177,
-203, 57, 79, 2,216,192,114,185,148,133, 43, 75,112,142, 45, 44, 90,137,152, 14, 50,125,215, 51,140, 3,209,123,161,148,172,187,
- 28,170,119,155,254,224, 7, 64, 83,215, 37,219,173,136,247,180, 82, 44, 22,191,233, 83,184, 12,155,233,123,140, 86, 20, 90,145,
-141,161, 44,157,136, 8, 55, 61, 33, 73, 74, 95,244, 98,111, 43, 92, 65, 81, 21,220,126,245, 13, 94,127,235,251, 60,121,222,178,
-218, 4,180, 10, 24, 91,146,213,140,224, 19, 33,180,228,176, 37, 14, 39,168,188, 38,169,125,246,110,188, 65,213,220, 96,255,218,
-151,184,118,235,235,188,122,239,128, 39,143,122, 30, 62,250, 51,158,124,246, 23,108, 46, 62,162, 59,127,140, 41, 15,184,251,165,
- 63, 98,239,106,201,233,234,159,242,249, 95,255, 27,210,122,133, 9,158,166, 42,120,118,114,134, 66,196,179, 69, 93, 17,195,200,
- 11,183,247, 24,123, 79, 84,226,134,113, 70,241,210, 75,119,184,117,251, 22,203,189,134,247,223,251,152,235,183,246,113,166, 98,
-181,218, 48,116, 3,139,253, 5,255,207,159,254, 37,215,111, 93,103, 62,111,208,185,228,206,157,155, 20, 69,197,193,193, 1,159,
-124,242, 1,175,190,126,159,232, 21, 62,122, 62,250,224, 19,202,178,102, 28, 70,180, 65,180, 34, 81,241,254,251,239,227,189,232,
-136,106,231,104,187, 13, 89, 23,168,152, 8, 97,164, 94,204,100,121, 29, 6,230,179,130, 47,188,124,151, 7,159, 61,161, 91, 95,
-240, 15,254,232, 15,201,195,150,255,231, 79,254, 37, 31, 61,217,162, 42, 40,234, 37,215,175, 93,197,135,129,190, 61,166,174,102,
-236,205,175,210,204,175,243,197, 55,191,136,239,206, 48,251,215,174,253,168, 44, 43,198,177, 39,103,241,230,186,162,148,169, 49,
- 71, 22,243, 5,245,172,145, 11, 22, 16, 47,171, 21, 59,198,212, 1,124,109,102,216,250,204, 27, 87, 13, 63,123, 44, 10, 80,180,
-194, 24, 75, 74,138, 24, 2,165, 73,188,180,231,248,249, 81,228,229, 61,195, 43, 7,150,207, 46, 36,206, 81,101,205,219, 55, 45,
-247,247, 12,159,156,202,166, 38, 16,179, 69,107,203, 27,215, 13,223,184,237,248,213,225,150,210, 85,148,101, 33,126,213,193, 83,
- 54, 13, 43, 15,199,157, 28, 24, 95,185, 81,176, 40, 13, 31, 60,219, 74,145,139, 54,242,120, 20,220, 90,136,178,246,241,121, 63,
- 93,150, 76, 47,124, 36,133, 9,218, 66, 16, 9,157, 69,137, 92, 56,199,118,179,154, 46, 34,205,114, 57, 93, 18,131, 88,239,154,
-186, 33, 39, 48,182, 32,134, 65, 60,242, 81, 42, 46,151, 51, 81, 52,251, 32,252,102,202, 98, 99,114,147,221,199, 89,233, 57,247,
- 99, 32, 43, 17,217,148,101,193,206, 43, 60, 78, 27,227,118,179,101, 28,195,165, 8, 41,198,192, 98, 49, 39,197, 41,121, 46, 75,
- 27,153,168,135,229, 57, 43, 11,135, 38, 99,157,136,138,194, 36,174, 42, 11, 75, 81,214, 20,149,244,135, 91, 35,135, 66, 89,137,
-255,222,149, 5,182,168,177,133,195, 21, 53,133, 43, 80,100, 52,194,109, 86,117,125,105,133, 26,135,129,113,138,118, 45, 38,122,
- 36,250, 64,221, 52,196,148,233,123,129, 24,141,145, 0, 28,109, 52,209, 39,124,140,104, 35,156, 98, 81,148, 84,149,132,139,164,
- 44,251,186, 66, 54,197,148, 68, 1, 44, 33, 53, 98,203, 75, 81,120,201,148,224,252,252,140,205, 70,148,255, 41, 75, 98, 93,138,
-153,166,169,105,219,158,253,253,125,134,113, 64,101,129, 55,155,186,153,160, 78,105, 8,147, 60, 0,169, 30, 29,134,158,186,174,
-241,222, 83, 24, 51, 13, 59, 82, 32, 52,140, 3,206, 58,244,116,128,213,179, 25, 70,203, 38, 26,131,167,172, 26,170,194, 49, 12,
-157, 12, 33, 19,164,186, 88,204,169,234, 90,178, 2,170,154,126, 12, 56,103,112, 85, 73, 82, 10,223, 13,248, 44,130,168,156, 35,
-121,106,180,171,202,234, 18, 13,155,213, 53,117, 51, 67, 41, 68, 8,214,118,210, 17,144, 36,164,199, 88,195,102,187,161,174,100,
-152,155, 55, 11,162,151, 45, 86,172,118, 29, 41, 37,178, 23, 71,135,117,210,146,166, 51,210,109,144, 4,137,179,214, 50,132,128,
-115,130,194, 56,187,131,198, 37, 79,127, 71,155,164, 44,194, 73, 91, 20, 2,245,106, 61,217, 30,101, 72,149, 54,185,124,169,100,
- 95,111,183,236,226,105,235,178,198, 88,217,108, 71, 63,149, 11,105, 75, 66,184,252,114,178,149,237,244, 36, 33, 68,188, 31,104,
-102,179, 75,241,156,181,154,170,106,228,245,214, 74,138, 75,172,136, 1, 85,150,196,194, 28, 68,212,103,173,224,176,187,139, 43,
-129, 8,223,140, 22, 13,202,208, 49, 14,162,238, 47,156,116, 38, 84,149, 8, 93,229,146, 23,241,105, 8, 98,205,173, 39,164,107,
- 71,131,149, 69, 73, 74,114,110,180,219,158, 93, 28,179,208, 90, 17, 63, 4,202,194,224, 71, 79, 81,216, 75,104,124, 54,111,216,
-182,178,209,199, 32,150,196,170,172,132,110,200,138,132,198, 26, 13, 25, 81,184,231,140, 41,166,104,236,182,165,174,100, 57, 49,
-218,112,122,118, 74, 57,169,230, 79,143,142, 88,236, 45, 49,147,211,162,170,165,115, 98,179,217,226,202,130,174,239,217, 53,243,
-213,147,197, 79, 91,177,212, 90,107,165, 61,179,151, 76,133,162,172, 48,198,137,166,194, 57, 58,159,240,227, 40, 77,134,179, 18,
-180,194,217, 82, 6,115,160,110, 42, 73,166,235, 7,186,205,134,123, 47,190,202,232,123,186,110,139, 51,137, 66, 39,186,213,115,
-252,112, 74,242,103,248,205,115,198,237, 17,177,223,160,220, 82,158,247,217, 28,239,230,116, 87,231, 28, 29,157,113,254,228, 29,
-206, 87,159,224,187, 51,108,117,133,235,119,255, 22, 95,251,254,127,203,119,254,155,223,195,110,222,100, 44, 31,177,126,250, 41,
-198, 56,240, 61,103,103, 91,118,169,133, 59,237,136, 82,134,118,235,105,251,132,206, 80,106, 67, 10,153,245,166,231,244,108,197,
-227, 79,159, 83, 87, 13,167, 71, 27,222,251,245,103,212,245,146, 91, 55,239,160, 44,188,246,218, 43,236,237,239,241,187,191,247,
- 59,188,116,247, 5, 30, 60,122,194, 95,253,245,207,208,174, 96, 24, 51, 15, 30, 62, 69, 27,105,178,236,134,142,253,131, 37,111,
-191,249, 54, 31,124,252, 9,219,182,163,105,106,110,223,190,197,213, 43, 87,217,108, 86, 92,108, 90, 73,130,140, 61, 33,120,124,
- 12,244,221,150,161,237,184,123,251, 58,101,105,105,187,142,122, 94,211, 69,205,225,233, 5, 79,142,207, 80,203, 25, 47,223, 59,
-224,133,125,199, 11,183, 28,113,220, 98,178, 34,118, 45,243,198,145, 83, 71,191, 57,225,189,247,126,141,198, 98,234,229,254,143,
-140,150,124, 95, 91, 56,118, 29,216, 51,151,248,221,251, 87, 56, 30,144, 3,198, 57,186,209,139,186, 58, 4, 54,171, 53,221, 40,
- 30,210,171,181,136, 77,158,174, 60,119, 14, 42, 78, 59,133,182, 5, 95,185,225,184, 53, 83, 28,118,138,118, 76,124,251,165,138,
-159, 62, 30,248,248, 44,240,157,151, 42,126,121, 20,209, 24, 20,154,153, 83, 52, 5,188,122,189, 96,229, 21,117,161,249,226,245,
-146,175,191, 80,112,209, 71,254,245,231, 50,161,123, 63,162,140,226, 63,253,218, 1, 63,125,180, 1,196,234,210,110,183,244,221,
-192,188,176,244, 73,113,216,203, 99, 2, 72, 74, 46,139, 27,115, 81,224, 63, 91,121,148, 2,166,233,210,247,129, 16, 61, 32,188,
-181,252, 28,102, 77, 35, 86,179, 81, 56,191,229, 98,201,224, 61, 89,105,148, 21, 79,191, 79,114, 65,161, 32, 68,143,117,150,186,
-172, 48, 19, 36,174,180, 40, 90,131, 15, 56, 99, 25, 71,233,146,182,211,225, 25, 83, 36,166, 81, 26,157,198,145,190,147,116,177,
-140, 92,246,222, 7, 36,119, 89, 19,130,120,139,179,146,148,181,162,112, 19,100, 46,170,215,194,136, 90, 89,148,207,153,193,123,
- 98, 86,212,181, 36,239, 41, 99, 25, 67,194,143,129,152, 64, 59, 71, 72, 96, 10, 17,136, 37, 85,209,183,129,152, 21, 33,128,118,
- 98, 1,236,167,239, 57,230, 68, 14, 2,165,165, 20,169,202, 18, 66,160,237, 58, 20, 2,125, 22, 69, 65,219, 9, 92,109,140, 66,
-105, 69,204, 65,222,248,109,135,202, 17, 84, 34,142, 35, 41, 73,187, 95,215,182,116, 93, 71,183, 90,211,247, 98, 33, 82, 40, 46,
-206,165, 12,200,123,143, 86,162,244, 23,190, 49,211,247,157, 8, 7,131, 8, 31,181,214, 44,150, 11,102,179, 25,219,109,203,222,
-222,146,148, 68, 48,232, 10, 9,209,104,135,128,210, 14, 61, 89, 23, 71, 47,133, 20,126,244,100,165, 36,230,117, 24, 8, 81, 10,
-125, 68,141, 44,131,133, 12, 28,121,218,138, 20,209, 15, 24,131, 8,187,178, 12, 96,198, 26,202,186, 36, 41, 67, 51,111, 72,214,
- 16,201, 20,117, 61, 53, 3,106,140,113,211, 97, 95, 98,181,161,180,150,186,116, 88, 45, 62,230, 52,245, 3, 84,149,164,190, 41,
- 45, 67,116, 89, 85, 92,185,122,141,144, 19,219,190,167,174,231, 19, 66, 99,176,214, 16,145,172,118,163, 21,189, 31,201, 41,203,
-175, 25,161, 7,140, 19, 28, 38, 69, 41, 3, 26,130,212,212, 38,101,201, 74, 17, 19,164, 9,182, 29,250, 30, 17,133,137,202, 95,
-231, 76,240, 35,133,150, 98, 25,103, 45, 69,225,168,172, 8, 74,201, 19, 36, 63,109,176, 33, 68, 70, 47,240,110,206,137,156, 60,
-243,249, 12, 99,165, 56,104,244,253, 52,236,105,209,183, 36, 73, 89, 83,218,138,166,102, 28, 9, 73,202, 69,180, 50,216, 41, 39,
- 34, 6,121,253,171,105, 3,115, 74,144, 60,163, 52, 57,102,210,216, 17,163,103,185,156,161,115, 4,210,228,128, 72,151, 72,139,
-208,117,153, 89, 45,180, 85, 12,158, 24,196, 38, 42, 27,122,186,252, 92,141,227,128,115,150,186,150,140, 13, 99, 52, 93, 55,200,
-144, 86,214, 12, 99,192,216, 2,165, 11, 81,216, 27,135,247, 18, 93,156, 51,140, 62, 80, 55, 51, 82, 14, 98, 25, 43,203, 75, 23,
- 64, 97, 45, 82,188, 83, 51,159,205,233,250,142, 56, 10, 69, 23,252,200, 48, 74, 52,242,172,150,130,153,110,221, 34,206, 25, 9,
-136, 74, 25,180, 83,196,152,196,158, 55,244,236, 95, 57,152,178, 35, 2,155,205,150,126,179, 17,145,170,214,140,163, 56,119, 82,
-146, 36,206,161,151,242,166,178,148,109,125,232, 7, 57, 43,147, 32, 30,198, 90, 68, 67,100, 24,188,167,172, 42,116, 89, 99,138,
-138,109, 39,150, 73,114,230, 96, 95,196,196,193,167, 75,247, 82, 72, 61,235,243, 83,110,126,225, 21,226, 88,200,231,116, 92,195,
-112, 72,236, 78,216,174,142,137,249,140,176, 57, 99,200, 3,205,149,183, 41,212,154,210,110, 57, 63,126,200,234,147,159,113,254,
-248, 29,214, 23,159,178, 57,251, 20,223,159,163,203, 57, 69, 49,163, 41, 23, 92,233,110,115,244,112,195,217,163,143,232,253,103,
-248,110, 67, 93, 56,222,252,242,171,226,124, 24, 35,197, 78,187,226, 69,188,172,180,228, 2,116, 62, 18, 66, 38,250, 64,223, 74,
- 77,241,241,201, 25,171,213, 26,235, 12,161,235,120,118,120, 72,244,154,118,221,178, 55,223,231, 96,121,133,162,104, 56,216,187,
-206,237,235,215,121,237,222, 77,238,190,112,131,243,243, 51,222,123,247, 99, 78, 47,206, 56, 63, 91,241,201,167,159, 83,150,138,
-227,227, 35,186,118,205,131,207, 31,242,193,123, 31,113,126,186, 66,105,199,188,172,185,114,237, 58,207, 15,159, 10, 82, 58,233,
-153, 70, 63,242,252,249, 49, 71,167, 39, 12,237,138,227,195, 83, 46,182, 29,174, 50, 92,191,126,192,226,202,117, 94,125,227,109,
-154,107,119,185,113,243,101,190,248,229, 47,241,131, 63,248, 30,199,167, 39, 92,185,186,228,222,189, 23,113, 85,230,198, 65,195,
-213, 91,123,152,217,254,193,143,152, 18,225,200,194,185,165,148,168,234, 5,223,124,193,241,206,161,191,204,254, 30,134,145,209,
-143,162,112,213, 34,222, 48,133,229,173, 27, 5,203,202,241,193, 89,226,205,235, 5, 31,175,192,106,195,239,222,177, 92,169, 13,
-239,159,202, 22,253,226,210,176, 14,154,164, 11,148, 50,220,158, 91,142,123, 69, 78,153,235, 77,102, 51,102,230,133,226,165,165,
-225,238,210,176, 26, 51, 31,156,101,158,108,193, 88, 17,190, 85, 69,133,210,240,149, 27, 37,239, 28, 6, 98, 18,174, 55,231,140,
-177, 21,237,208,243,246,173,134, 95, 62, 90, 99,180,194, 21,146,158, 68, 74,220, 94, 72,168,196,147,149,240,185, 62,196,233,131,
- 29,240, 65,184, 33,235,100,195, 5,137,158, 53,214,210, 52, 13,182,144, 77, 52,132, 64, 81,151,148,214, 81, 76,155,125,206, 9,
-223,143, 64,130, 44,138,211,210, 21,164, 32,170,121,103, 5, 45,232,135, 97,122,154,101, 3, 26,134,145,174,109,233, 7, 9, 41,
- 17, 88, 59,139,142, 33,200, 54,102, 39, 75,149,168,242, 45, 89, 65, 8, 34, 78, 74, 41, 79,225, 26,194, 15,255,251,175, 41,222,
- 63, 55,104,165,209, 90, 84,248, 74,103, 9, 40,201,137,186,172, 40,156,136,208,134, 65, 20,230, 10,228, 80, 36, 67, 18, 45, 69,
- 89, 90,250,161, 35,103,232,218, 14,107, 37,239, 61,103, 81, 20,171, 44, 27,121, 86,153,162,172, 68,208, 55,138,231,218, 57, 17,
- 31, 65, 38, 70,169,140,253,227,175, 44,248,213,161, 71,101,216, 65,156, 85, 93, 81,150,229, 4,231, 22, 24, 43,138,102,165, 20,
-193, 11,119, 31,194,174,117,205,139, 96,176, 31,232, 7,201,190,254,175,126,112,159, 31,127,124,202,206,105, 80, 78, 90,128,174,
-235,217,219,219,195,251,192, 56,241,246,214, 56,124,140,132, 40, 25, 7,104,225, 51,253,232,177, 78, 83,213, 21,222,143,148,174,
- 64,107, 25,150,186,190,151,150, 56,196, 86,149,115,134, 40,182, 66,239,167, 44,242,186,161,169,107, 57,196, 99,162,172, 75,134,
-110, 16, 8,216,139,168,168,105,154,201,166, 55,202,247,228, 61,206,217,233,235, 15, 56, 59, 5, 44, 13, 3, 99, 47,101, 61,174,
- 40,232,183, 45, 93, 55,117,160, 71,129,235,253,196, 21, 15, 93, 79,219,110,209, 70,182,192,166,105, 24, 6,143, 70,160,237, 16,
- 34,117, 93,131,154, 44, 82, 57,139,208, 45, 68,172,214,178, 45,151, 37,182,144,214,191,162, 16,107, 18, 74,226, 73,165,122,119,
- 10, 60,201,146,212,150,115,166, 40, 74, 57,192,131,196,236,218, 66,194,102,114, 70, 62, 31, 57, 83,150, 37,198, 73, 84,106, 97,
- 11, 52,242,107,125,247,155,244,189,157, 70, 71,107, 77, 12, 82,198,146,131, 64,204,229,228,195,206, 41, 9,138,164, 69,196,105,
-139, 66, 6,112, 47, 78, 10,231, 10,198, 41,211, 98, 55, 56, 23, 14,138,178,144,174,249,186,166,109, 59,161, 6,178,216, 31,171,
-178,162,174, 42,234,186, 70,235, 41,192,200, 24, 12, 10,235,204, 37,205, 7,242,122,187, 66,162,127,141,145,250, 96,239,101,187,
- 82, 89, 62,234,213, 46,160,200, 24, 65, 42,122, 79, 89, 58, 98, 12,180,125,135,100,253,100,246,246,246,101, 24,180,150,205, 86,
-172,142,163,151,104,106, 99,100,128, 40, 74,201,175, 48, 70,226, 92,245,244,125,133, 24, 81, 89,161,173, 8,131, 13,154,106, 86,
-225,172, 37,199, 76,215,181,151,232, 85, 12,178,224,236, 82,249, 82,146, 14,128,189,189, 61, 92, 81,209,174, 55, 20,101, 65, 83,
- 87,226,228,152,132,196,101, 37, 3,139,247,126,210, 60, 56,214, 23,103,211,162, 87, 80, 21,210, 20, 56,246,189,124, 62, 42, 89,
- 90,146, 17,113,101, 74,226, 28,200, 49, 98,172, 33, 39, 56, 60, 60,230,181,175,254, 22,185,124,157,196, 13,250, 49, 49,108,142,
-104, 47,158, 97,178,167,219,118, 84,123, 95,224,238, 87,254,152,131,171, 95,102,115,246,128,238,236, 67, 26, 19,240,221, 33,227,
-250, 49,219,243, 7,244, 23,159, 51,118, 71,172,143, 62, 36,165, 64, 80,129,167, 15, 63,227,226,228, 83,214,167,143,232,211, 51,
-186,147, 99,220,124,129, 63, 89,225, 99,102,232, 58,188, 79,151,116,208, 46, 97, 51,198, 76, 74,114,110,197, 56, 45, 84, 49, 78,
-151,190,102,103,185,221,180, 29, 39,199,199,156, 94,156,243,217,131, 7,252,252,167,191,224,209,103,159,113, 48,107, 88,109, 58,
- 62,248,248, 1,105, 28,169,172,230,235, 95,251, 10,247,239,189,196, 87,223,254, 18,223,250,157,111,208,173,123,246,247,150,236,
- 45, 26,174, 95,191,198,171, 47,223,102,117,113,206,179,103, 71,108,186,150,199,207,158, 49,140,153,193, 71,122, 31,233, 6,201,
-145, 48, 86,208,146,100, 10,198, 0,154,140, 31, 7,158, 30, 30,243,209, 71,159,240,206,187, 31,113,247,206,139,180,195,134, 63,
-251,215, 63,229,227, 7,143,121,239,215,239,208, 84,115,190,240,230,219,220,123,237, 13,190,254,219,223,224,252,248, 12, 51,219,
-223,251, 81,206,242,134, 8,193,139,245,166, 18,104,230,246, 76,241,124,213,179, 25,197, 11,238,189, 8,138, 34, 80,150,226, 53,
-119,101, 69,101, 20, 93,212, 28,135,154,151,151,208,229,146,168, 11,172,130, 59, 11,197, 59,167,144,209,188,118,160,121,184,206,
-244,201,112,238, 45,223,189,147,248,164, 21,168,247,198, 76,252,167, 63, 63,177,124,124,158,120,239, 40,112,220, 37,250, 40, 48,
-120,202, 89,184,214,156,208, 74,178,195,111,204, 13, 71,109,194, 88,133, 70, 4,101,134,200,253,131,146, 15, 78, 71, 17, 31,105,
- 13, 36, 98,130, 91, 75,225, 23,159, 94, 8,167, 24,130, 84, 18,198, 36, 97, 40, 57, 75, 74, 26,232,203, 45, 59, 79, 48,168,209,
-134,118,219, 94, 90,158, 80,234,146,251, 50, 70,226, 53,171,178, 70,163,216,110, 55,104, 43, 69, 41,214,137, 2, 86, 96,120,129,
- 55,165, 80,195, 95, 30,154, 40,133, 54,150,229, 98,142, 53, 98, 21,172,106,177, 4,250, 65,172,128,193, 75, 42,152,108, 81,146,
-189,110,180, 12, 30,221, 32, 7,230,175,143, 18, 49,253,230,247,198, 24, 24,122,241,236,170,105, 75, 84, 10,200,162,250,119,133,
- 40,243,253,180,169, 56,107,201,201, 11, 34, 48, 9,201, 4,214, 20,255,116, 14, 97, 18,153, 25, 80, 50, 12,168, 44,131, 5,211,
-193,217,245, 61,255,229,239,222,228, 23,207,132,207,213,214,240,179, 7,107, 1,240,141, 36, 16,230, 36, 98,185, 24, 2, 85, 37,
-141,119, 97, 26, 60,118,155, 68,206,121,226,191, 69,192,232,189,151,204,114, 35,153,243,191,247,218, 85,126,125, 36,158,254,186,
- 17, 36,194,143, 3,243,249,130, 16,197,221,176,171,171,109,251, 94, 90,208,208, 40,101, 40,172, 80, 14, 57,103,113, 32, 36, 69,
- 24, 3, 59,223,191,214,138,190, 23, 17,152,154, 46, 70,129,126,101,192, 43,157,155,124,251,129, 49,136,160,179, 40, 75,134,126,
- 32, 38, 17,150, 69, 31, 80,214, 96,141,145, 96,160,178, 36, 4,225,226,149, 22, 11, 24, 74,106, 86,199, 81,226,125, 37,230, 56,
-144,201,211,243, 33, 49,193,174, 40,104,187, 45,221,182,165,168, 10,150,139, 61,202,178, 70, 43,209,112,132, 32, 52, 89, 63,140,
- 40,197, 20,230, 34,104,144, 66, 68, 87, 74,201,107,110,139, 2,109,100,176,132,204,208, 15,104, 45,249,244, 40, 53, 93,210, 74,
-126, 30, 37,156,201, 90, 55,205,240,226,142, 80, 74, 95, 34, 24, 97,244,147,250,221, 77, 92,173, 12,101, 49, 70, 36,113, 47,177,
- 43, 18,113,206, 77,255,150,247, 80, 10, 73, 96,248, 36,182, 39,173, 37,128,168, 44, 75,172,182, 98,223, 76, 25,152,114,201,147,
-192,253, 18, 91, 42,208,186, 43, 10, 82,140,248, 32, 81,170, 40,125,105,249, 82, 74,132,156,198, 9,237, 54, 6,225,239, 99,244,
-196, 36,181,172,125,223,211, 15,195, 52,244, 72,250,225,208,139,235,100, 71,129,249,209, 83, 55,146,226,231,138, 41,117, 82,229,
-203,225, 83,234,113,229,107, 13, 99, 32, 78,226, 49,208,236,237, 45, 39,101,187,208, 39, 77,221,160,173,228,239, 87, 77,131,115,
-165, 12,252, 93, 7,136,222,195,123,143, 45,221, 36,188, 77, 12,131, 4,226,100,178, 12, 64, 9, 17,216, 78, 95,119, 28, 61,243,
-197, 66, 28, 59, 41, 51,134, 72, 93, 85, 84, 51, 25, 58,197, 93,163,104,102,205, 4,187, 75,202, 94, 76,146,244, 87, 85, 59, 33,
-107,184,204,172, 64,113,137,112, 88, 43, 94,254, 98,218,244,227,100,231,139, 65,188,235,101,221,160, 92, 65,200, 25,171, 45,117,
- 93, 49,110, 90,190,250,189,239,177,233,230,144,247, 80, 58,146,245, 12, 76,133, 91,190,204,205, 87,127,200,171, 95,251,143, 89,
- 94,125,153,152, 2,232,130,179,167,191,162, 95, 31,226, 22,150,154,129,110,125, 68,101, 19,253,250,132,229,193, 29, 92, 85, 49,
-182,103,116,219, 51,218,238, 57,193,159,161,218, 21,231, 23, 79,177,243, 6,191, 94,209,111, 55,144, 53,189, 23, 65,117, 89, 23,
-184,202,161,208, 24,162,220, 21, 89,225,140, 66, 89, 71, 89,149,132, 4, 67, 28,105,251,129,182, 23,235,225, 56, 6, 98,146,130,
- 31,109, 13, 99, 8,124,242,240, 33,199, 39,103,228,156, 56,111,183,156,159, 95,112,118,126,198,118,181,229,218,222, 21, 14, 31,
- 61,101,111, 62,231,244,236,130, 79, 63,125,204, 87,222,120, 5,114,226,233,225, 67,110,223,186,129, 85, 35, 63,248,253,223,226,
-245, 55, 95,227,245, 47,222,147,193,176,146,129, 41,132,200,122,211, 51,140,145,171,215,174,210,143, 61,155, 77,207, 48,102,108,
- 41,105,157,239,127,240, 1,231,231, 23,108,135,196,119,191,241, 13, 62,124,116,204,255,251,206, 67,198,205, 19,254,230,151, 31,
-241,214,111,127,155,236, 71, 76,189, 92,254,136,233, 16, 52, 19,143, 89,215, 53, 42,103,116,246,236,213,150, 39,231, 3,105,130,
- 34,141, 49, 24, 39,202,192, 56,125,224,190,120,144,249,240, 44,211, 71,168, 12, 52, 38,115,216,193,149, 66, 68, 32,141, 83, 60,
-217, 68,190,112, 69,243,224, 34,209,249, 72,140,114,225, 31,174, 61, 47,205, 2,133, 78, 24,149,120,180,146,131, 93, 41,208, 90,
-248, 43,165,245, 52,213,154,203, 41,255,100, 80, 60,111, 51, 10, 57,116,148,118,248,232,153, 59,205,221, 61,203,231,107,232,251,
- 14, 9,172,145, 18,143,111,189,180,224,157,231, 45,237, 16,197, 90,180,187,212,163, 64,125,214,200,212,170,152, 90,194, 74, 81,
-188,122,239, 5, 98,215,178,169,198, 44,153,241, 18, 18, 34,181,174, 9,217,136, 98, 18, 56,215, 88, 75,105,196,207,171,148,168,
-157,157,149,100,175,144, 68, 81,159,145, 72, 73,178, 8,209,102,149,164,189, 25, 35,109,114, 78,235, 9,206,202,160,242, 36,134,
- 17,196, 83, 46, 26, 79,240,146,213,110,148,154, 42,102, 69, 64, 19,130,248,224,115,222,165, 82,201,215,138, 49,146,208, 64,100,
- 28, 2,237, 86,194,115,140,182, 12, 83, 66,224,208,119,196,152,232,218,150,113,232, 24, 7,121,140,214,202,239,105,167,176, 27,
- 99, 12, 62,202, 6, 46, 7,177, 97, 24, 71,190,245,202, 1,255,234,215, 79,241,163, 71, 10, 85,164,129,172,112, 2, 13,238, 50,
-216, 11,231,176,206,209,247, 35,174, 40,104,234,250,242, 2, 79, 41, 49,155,137, 0, 18, 20,117, 37,218,135, 12, 40,165,248,214,
- 43, 7,252,229, 39,103, 50, 88,218, 41,200, 38,139, 26, 24, 4,162,172,154,154,148, 20,201,123,170, 89, 45, 72,148, 23,216, 95,
- 44,123, 18,120,148, 98,160,169,107,250,118, 43,177,182, 81,154,255,156,115,147,246, 65,120,104,224,114, 83, 15, 33, 96,157,101,
- 62,155, 33,121,230,162,111,176,206, 97,181, 5, 45,226, 35,227,156,216,200, 98,132, 44, 86, 50, 31, 2, 41, 72,240,209,206,203,
-109, 11, 71,205, 13,126,187, 0, 0, 32, 0, 73, 68, 65, 84, 78,194, 3,238, 54,226,178,172, 80, 89,146, 3,115,134,152,229, 18,
- 45, 75, 73, 79,235,186,158,178, 22,151, 1, 40,234,166, 20,251, 80, 41,218,128,221,123,207,104,113,180,148,101, 57,105, 88,148,
-160, 15, 73, 46,232,162,144, 65, 43, 36,249,252, 11,127, 45, 30,235,148,229,249, 78, 81, 84,216,109,219,146,179, 68,152,166,233,
-220,112,182,152, 6, 56, 65,179, 0,102, 51, 25, 80,131, 15,204,231,226,203, 14, 73,154,216,118, 61, 4, 49, 69,118, 54, 81,231,
- 10,234, 74,114, 14, 10,231, 64,107, 36, 88, 72, 6, 13,165, 21, 90, 75,204,173, 54,130,238, 41, 45, 23,145, 66, 33,150,215,192,
-206,134, 25, 98,196,149,133,228, 54, 36,161,164,202,105, 19,150, 48, 35,161, 96,140,153,132, 97, 73,168,152,170,170,232,186,142,
-148, 51,205,172,145, 97,101,232,101, 43,238, 59,114,204, 56,103, 41,138,138,193, 75,207,128, 43, 10,218,205, 6, 63,120, 50, 34,
-104, 3,133, 54,146, 26, 55,122, 41, 89,138, 81,170,141, 85,202,120, 47, 23,175,214,176,221,110, 69,151, 48,244, 36,149, 65,201,
-192, 81, 86,165,208,118,149, 92,170,214, 56,154,166, 70, 41,132,250,202, 2, 35, 43,164, 87, 65, 43, 17,123,150, 69, 65,158,134,
-203,156,197,198,105,180,153,146,230, 2,101, 85,177, 11,155, 41, 39,100,163,176,150,170,145, 4, 56, 73, 25, 20,235,157,159, 22,
-132,157,190,199, 26,131,155,232,137,162, 16,189, 65,240,129,170, 42,136, 62,211, 44,151,116, 49, 81, 54,115,172, 54, 84,229,146,
-211,211,115,226,216, 18, 99,135,213, 21,229,242, 54,174,220, 39,229,145,246,236, 41,221,197, 99,124,119, 68, 24,215,108,206,159,
- 49,172, 87, 96,106,114,232, 56, 63, 63,103,113,247,223,162, 57,184, 79,244, 23,104,191, 97, 28,207, 8,221, 57, 99,127, 68, 69,
-207,108,102,105,163,151, 16,156,177,103,221,245,130, 72, 25, 9,175,242,163,116,139,100, 13,219,118,192, 39,209, 87, 12,222,211,
-247, 35,235,205, 86, 56,120, 35, 22,101, 31, 34,153,196, 24, 51, 99, 23,200, 42,210,118, 35,235,245,138, 77, 43,141,153, 33, 72,
-250,233,122, 59, 50, 91, 30,240,232,240, 25,171,109,199, 7, 31,126, 72,210,145,189,253, 25,235,190,195,149,146, 4, 90,149, 53,
-219,237, 64,191,238, 56, 62, 94, 51,180,137, 31,252,224,251, 44, 22, 75, 14,159, 62,225,222,139,119,145,200, 97, 39, 1, 91, 24,
-198,152, 80,122, 55, 96,101,174, 93,187,202,152, 6, 54,219, 21, 71,199,199, 28,204, 43, 10,122,246,151,115, 30, 60,125,194,159,
-253,217,143, 57,124,250, 28, 51, 91,238,253, 40,100,121, 99,186, 66, 96,222,178,148,176,138,118, 24,121,227, 90,201,167,171,132,
- 53,146,200, 84, 86,226, 87,215, 86, 84,242, 7,141,229, 90, 5,159,117,142,161, 15, 28,182,153,239,191,164,248,155,195,196,111,
- 93,135,159, 60, 75,124,231,174,229,167,143, 7,190,120,205,242,240, 34,224,149, 76,188, 77,161,217,175, 12,218,104,238, 45, 96,
- 81, 40,238,237, 41,102,133,229,230, 92, 19,179,112,241, 98,155,144, 56,211, 98,234, 2,142, 49, 97,180, 37, 36,225,188,139, 66,
-146,181,102,165,230,206,210,240,241,153, 92,104, 41,103,137, 90, 85,138,111,223,155,243, 23,159,119,196,156, 48, 10,124,140,148,
-101, 73, 76,226, 65,206, 73, 94, 88,137,130,149, 8, 70,107, 37,122, 85, 33,135, 52,211,166, 2, 16,131,240,227,187,130,135,174,
-235, 37,177, 11, 4,202, 53, 48,248,192,191,243, 90,201,231,103, 35, 51, 19,248,123,175, 85, 28,109, 2,227,232,249,251, 95,154,
-243,171,231, 61,127,252,141,235, 60,239, 44, 7, 69,224,239,190, 86,115, 58, 72,223,244,223,125,173,226,227, 21,252,131, 55, 23,
-156,248,146, 23,246, 43,254,189, 47, 47,217,228, 18,237, 44,255,193,155, 75,222, 59, 17, 11, 74,204,145,255,236, 27, 87,248,201,
-131, 21,255,232,119,174,160,128,191,243,133, 37,111,223,110, 8,170,224,222, 65,193,247,238, 55,124,249,186,229, 98, 59,114,120,
-209,179, 95, 4,254,240,245,134,175,223, 46,200,209,243,195,215,106,126,249, 92, 14, 70,165, 37, 49,208,104,205,127,241,205,171,
- 88, 99,249,222, 43, 53,111,223,170,104,135,192,106,144,129,238, 63,255,230, 13,126,235,238,156,215,174, 20,156,247,129,127,248,
-205,219, 0,124,235,149, 3,126,231,229, 37,127,246,222, 51,254,209, 55,175,243,243,199, 91,174,212,134,239,223,175,248,214,189,
- 25,247,175, 84,156,118,208,143,153,255,228,235,123,104,165,248,238, 75, 37,111, 92, 47, 72,186, 96, 80,229, 4,187, 11,215,119,
-115, 89,242, 71, 95,187,193,239,189,178, 79, 83, 22,220, 90, 22,252,249,251,135, 44, 75,197, 31,124, 97,159,111,221,107,120,245,
-122,197, 38,202,247, 87, 86, 13,125, 63,113,203, 86, 6, 40,148, 92, 80,206,202,123,197, 24, 73, 90, 27, 38,110, 94,233,132,179,
-142, 24, 97,214,212, 4,239, 65, 75,169,144,213, 6, 87, 20, 20,214,226,202, 74,148,238, 78,170,122,135, 97,192, 22, 82,107,171,
-148,186,132,101, 37,168,197, 17,131,252, 61,243, 41,116,164,235, 90,140,181,204,154, 25, 74,131, 70, 73, 44,235,212,116,183,152,
- 75,109,233, 56, 14,130,136, 24, 5, 89, 30,147,209,134,182,149, 50,144,162, 44,126, 19, 70, 19, 60, 90, 65, 81, 86,132, 16, 9,
-126,164,158,213,164, 8,125, 55,224,156, 32, 50,100,200,242, 15, 82, 10, 19,156, 46,149,199, 98,103, 77,151,155,120,244,162,159,
-136, 33,225,199, 1,148,160, 36,206,149, 84,117, 67, 85,138,237, 81,186, 17,226,229,214, 45, 77,142,160,146,124, 45,241,201, 75,
-179,161,112,236,224, 92,193,124, 46, 60,179,115,146, 69,160,216, 5, 20,101,218,190, 67,107, 77,225, 44, 41, 74,200, 79,140,145,
-162,116,232,196, 37,138, 98,173, 97,103,185,243, 97,196,106, 17,113, 42,165, 48,106, 10, 25,210, 6,197, 52, 4,199, 56,109,210,
-162,198, 23, 59, 94, 77,152,144,135,126,148, 94,250,194, 57,186,109,135,181,118,162,233, 36, 61, 48, 33,131,137, 20, 59,137,248,
- 83, 33,209,209,243,229, 28,128,249,124, 46,175, 75, 20, 36, 73, 91, 35,103,166,150,243,203, 57, 17,154,133, 16, 96,162,123, 64,
-145,173, 88,247,178,146,120,225,132,196,110,107,173, 41, 10, 59, 13, 83, 83,224,211, 40,212, 80,219,183, 82,174,179,217,224,202,
-146, 56,142, 12, 94,194,154,250,190,191,188,140,219,174,157, 92, 45,146,204,185, 91,208,132,162,168, 73, 41, 81, 24, 67, 89,136,
-157,181,237, 90,164,165,210, 76,239, 69,177,226,141, 94, 68,204,104, 69,156,206, 75,165, 18, 57, 11,242,165, 39, 20, 32,164,200,
-102,117,193,213, 91,123,172, 79, 78,233,187,115,114,232, 32, 13,228,216,145, 82,160, 95,159,208,110, 31,226,251,167,116,155,231,
-104,213, 66,244,116,235,141,208, 32,245, 93, 94,124,251, 31,242,194, 43, 63,192,184, 61,134, 97, 75,127,254, 25,121,120,134,138,
- 27,250,205, 49, 97,123, 68,115,227, 38,185,208, 12,237,200,112,126, 66, 63, 72,222, 64, 86, 96,141,162,106, 42,200, 10,171, 45,
-206,149, 52, 69,129,118, 18,160,102,140,162,169, 27,102,117,131,213,134, 89, 85, 81, 53, 37, 77, 53, 99, 62,107,152,205, 27,140,
-145,172, 18, 87,150, 56, 35,159, 13,239,101, 57, 25,199,145,227,231,199,104, 87, 50,107, 22,220,123,237, 85,208,150,144, 50, 71,
- 71,167, 28,157,158,240,252,120,203,173,107, 7, 56, 34,159,126,254,148,251,119,174,211,204, 74, 62,249,224, 51,172,202, 28,236,
- 95,225,245,251, 47,113,116,116,130,228,183,120,218,118,100, 62,171,101,121,139,137, 97,232, 89,111, 70,114, 46,152, 47, 14, 24,
-188,231,232,248,156,122,111, 15,173, 13, 95,188,127,151, 55,223,124,129,178,174, 48,123, 87,175,254,200, 26,195,172,105, 0, 73,
-114,202, 89, 96,183,110, 16,165,250,249,152,137, 74,166,240,148,145,233, 29,133, 82,112,103,174, 89,141,208, 38, 9,157, 40,139,
-130,152, 51,183,103,134,187,243,204, 47,206, 37,151,250,214, 92,179, 87,105,158,182, 10,143, 12, 4, 49, 41, 94,223,139,252,213,
-145,229,176, 85,220,168, 51, 63, 59,214,236, 21,146,161,253,197,131,204,171, 7,154, 69, 85,160,108,193,152,132,235,179, 90, 10,
- 15, 82,146,248,204, 29,239, 69,134,211,117,203,135,199, 83,194, 86,206,228,152,201, 90,224,198, 95, 62,239,133, 15,203, 73, 42,
- 6,209,184,194,145,124, 32,230, 56, 13, 11, 34,106, 49, 78, 32, 17,107, 37, 32, 6,228,215, 0,148, 22,101,239, 78, 61,170,141,
-192,245, 33,198, 75,184, 94,254,128,124,173, 27, 11,203,225,217,150, 47, 93, 47,248,252,124,228,238,210,114,116,209,178, 95, 59,
- 62, 95, 5,238,238,215,156,247,137, 55,174, 57,158,108, 34,183, 26,197,170, 15, 44, 74,205,199, 71, 29,183, 22,142,109,212,188,
-126,160,121,188,201,188, 48,215,108,198,204, 94,101,120, 62, 8,183, 95,186,130, 47, 95,179,252,250, 36,243,149, 91, 5, 79,182,
-240,151, 15, 7,214,209,240,123,119, 12,143, 87,129,191,126,158, 57,237,225, 91,119, 10, 62,219, 24,190,119,191,226,221, 67,207,
-143, 31, 39,246, 27,195, 11, 11,195,187, 39, 17,231,204,164,112,151, 13,234,173, 27,150,135,171,192,159,188,119,194,225,122,224,
-111,191,126,133,247,142,101,147,251,171, 79,207,248,217,195, 53,199, 91,207,119, 94, 89,242,191,253,228,144,175,191,184,224,127,
-248, 23, 31,241,215,159,175, 80, 10,190,249,242, 62,239, 28, 6,254,246,203, 37,159, 94, 36,254,242,129, 68,138,126,245, 86,201,
-187,135, 45, 95,189, 93,241,209,225,150,127,245,209, 57,235, 96,248,237, 59, 21, 31,158, 70,118,225, 35,125,223,243,239,126,229,
- 38,239, 60,109,249, 23,239,157,176, 44, 53,247,174,214,252,248,195, 99,254,232,183,110,243,193,201,200, 95, 61,246,180, 65,243,
-141,219,142,247, 79, 38,216, 86,201,193,175,141, 64,201,206,186, 9,237,144,226,156, 16, 35, 97, 42,178,112,147,157,174, 44, 75,
-202,210, 78,151,177, 40,143,165,123, 91, 84,221, 41, 75,126,185,209,226, 45,207, 25,198, 49,224,140,198,104,177, 71, 73, 15,188,
-160, 40,174,152,234, 55, 67, 4, 53,213,159, 26,131, 70,145,149,194, 15,130, 28,184,178,160, 42, 11, 54,155, 13,131,151,244,186,
-209,123, 17, 73,181, 45,243,249,140, 48,109,124, 77, 89, 78, 2, 77, 25, 80,172,149, 33,185,239,122,209, 21,244,237, 20,139,235,
-129, 36, 94,235, 36,151,169,117,210, 35,110,172, 92,178,187,116, 54, 51,233, 62, 98,146,207,254, 14,238,213, 90,145,149, 92,208,
- 74, 11,138, 36,209,177,162,152, 23, 90, 41, 2,114, 17,185,194,161,180,166,116, 37,163,151,128,161,166,110, 64, 25,140,146,164,
-202,221,182,167,181, 38, 5,217, 74, 7, 63, 37, 78,142, 35, 33, 38, 98, 16,196, 68,107,185,136,180, 54, 83,143,128,102,219, 74,
-126, 68, 89, 74,237,242,118,187,249,205, 66, 82, 72,207, 4, 73,208, 51,239, 61, 77, 83, 34, 77,121,115,234,178,154, 98, 99, 65,
- 41,125,137, 20, 20, 86,168,143, 20, 3,222,203,160, 30, 99,162, 27, 7, 10,171,137, 33, 82,184,130,210,149,248, 16, 8,147,246,
- 97,156, 68,125,205,124, 6, 33,224, 74, 41,103, 82, 90,156, 29, 74,137, 35, 99,236,101,160,240, 99, 96, 24, 71,180, 18,212,103,
- 28, 71,250,161,159,244, 17, 35, 85, 85, 17, 67,160,105, 26,154,170, 65,107, 77, 63, 72, 7,133, 32, 16,146,224, 87,215, 13, 40,
-104,219,142,190,235,132,202,170, 43,108, 81, 78,239, 63,241,251, 75,176,214, 20,166,149,127, 19,191, 59, 12, 35,121, 55,160, 76,
-131, 80, 36, 19, 82, 96, 24,122,113, 24,164,200,182,109, 25,125,160,105,106,170,178, 32, 36,209,251,136, 91,161,188,220,222,243,
-244, 57, 25,199, 65, 6, 30, 55,117, 3,244,129, 43,139, 57,235,243, 71,244,219, 51, 84, 92,163,194,134,236, 47,136,227, 25, 57,
-245,248,237, 49, 35, 39,228,213, 25, 93,183,129,108,184,255,213,223,231,224,206, 55,105,174,190, 66, 53,191, 65,206,129, 24, 7,
-250,238,156, 97,115, 72, 28, 54,140,237, 6, 53,123,145,229,173,111, 83,220, 42, 25, 47,158, 51, 55, 37,202, 21,148,205,156,102,
- 49, 39, 40,141, 79, 25,180,197,167, 64, 54,154,140,162, 31, 70, 82,204,132, 36,168, 83, 12,129,164, 50,221, 32, 67, 17, 90,177,
-218,108,216,182, 29,227, 48, 16,146, 20, 50,121, 47,122, 18, 99, 20,198, 41, 68,143,166,105,219, 21,135,135, 71,124,244,225,199,
-156,157,111, 88, 93,116, 92,189,126,139,131,253,107, 24,237, 88,175, 59,222,255,248, 33, 69, 85,147,124,135,213, 5,101,109,248,
-236,241, 51,198,228,121,244,236, 25, 55,175, 31,176,183,220, 67, 41,195,114,111, 73, 28, 35,175,190,124,143,174,239,152, 53, 13,
- 87,175,236,211, 13, 29, 99, 63,161,144, 90,177,222,108, 89,245,158,213,214, 19, 70,203,124,113,128, 45, 75,129,246,180,209,196,
-113,154, 4,199, 17,183, 88, 80, 84, 21,143, 86, 61, 55, 43,120,254, 92, 36,250, 59,101,182, 82,144, 19, 60, 88, 37,186, 49, 82,
- 20, 3, 33, 40,146,202, 60, 94,103,190,243, 66,226,215,167,194,185,190,127, 14,223,127, 65, 99, 53, 92,140, 98,223, 73, 41,113,
-180, 85, 28,220, 85,228, 16, 56, 11,153,131, 10, 78,182,145,243, 78,161, 77,230, 87, 49,179, 95,194,157,121,226,107, 87,225, 89,
-171,120,231, 68, 26,208,156, 43, 9, 97,151, 62, 37,246, 23,227, 52, 54,218,203, 3,209,153,146, 96, 61, 70, 25, 64, 46,246, 68,
- 36,105, 80,100,129,143, 98,100, 12, 34,126, 49, 90, 54, 12,116,166,176, 5,145,241, 18, 10, 86, 90, 88, 25,165,101, 88, 48,218,
-144,173,136,210,188, 31,209,198, 80, 58, 71, 50,102,250, 0,101,146,247, 68, 20,167,109,228,206,126,193,178, 54,252,243,247, 78,
-249, 15,191,118,157,123, 87,107, 46, 6,193,129,142,219,200, 75,251,142,121, 9,127,254,121,203, 15, 95,107,120,241, 74, 67,151,
- 20,179,249,156,243, 1,110,212, 48,115,138, 63,127,226,249,225, 61,203,205, 70,113,222, 39, 32, 49,140,210, 51, 14, 83, 59, 21,
-240,225,153, 71,105,197,147, 11,143,190, 83,241,209,137,100,179, 63,108, 3,127,251,197, 37,125,223,179, 44,231,124,114, 50,144,
-148,226,147, 99,185, 16,253, 56,242,199,191,181,100,247,227,127,249,171, 67,160,226,103,159, 30, 19, 82,226,241,185,163,114,114,
-176,190,125,123,206, 87,239, 94, 99, 86, 76,151, 64,206, 12,157,184, 20,230,243,249,164,160,149,139,121,221,109,216,171,102,252,
-234,221, 11,138,178,226,221,103, 45,223,120,161,186,140,217,252,116,165,240, 49,243,217,241,150,239,191, 34,121,249,114, 64, 72,
- 68,233, 65,227,120,231,201, 10,109, 44,239, 31,118,124,247,117,185,128,175,207, 75,110, 46,171,203,199,155,115,190,180,252,108,
-183, 82,196, 17,166,205,164,235,149, 80, 57, 86,163, 81, 24, 5,125, 24, 80, 74, 4, 94,218, 40,116,102,130, 45,243,165, 23, 30,
-100,136, 5,208,102, 87, 38,162, 46, 55,255,166,145,237, 88, 11, 67,195,182,235, 38,177,153,161,239,132,170,176, 78, 32, 84, 20,
-184,137,127,119,214, 98,235,134,140, 88, 15,119, 1, 66,198, 24,105, 41,180,150,205,102, 35,151,170, 18, 61, 2,169,144,190, 2,
- 20,165, 19,116, 96,189, 90,137, 32,204, 76, 58, 1, 35,205,104,187,166,192,232, 69,168, 26,240,164, 44,144,120, 24, 71,138,186,
-102, 24, 90, 32, 99,173,102, 8, 9,149,229,231,217, 40,200, 25,200, 16, 35,186,148,220,248,186,170,209,211,134,106,180, 5,165,
-168,156, 60, 38,159, 18, 78,105,180, 85,196, 48, 2,162, 78, 95,175,215,146,172, 22, 38, 15,182,150,109,103, 72,153, 16,132, 54,
- 17,174, 93, 44, 61,133,179,216,170,148, 75,221, 8, 58,224,187,129,110,144,154, 88,173, 20,123,123,123, 2,175,118, 82, 94,210,
-182,173, 4,125,228,204,184,237,209, 90,102,234,221,171, 39,249, 27,137,164, 20, 58,107,140, 45, 72,121,162,106,162, 39,163, 88,
- 44,102,180, 91,240,227, 72,202, 48,155, 53,172,214, 27,182, 91,225,180, 71,239, 89, 46, 22,184,210,161,179,180, 83, 74,111, 70,
-196,251, 64, 14,129, 20,132,150, 83, 90,250,226,253,232,177,214, 81,205, 26,156, 21,157,192,102,187, 37, 38, 48,206, 18, 39, 23,
- 66, 38,177, 88, 44,167,109,119, 39,206,147,160,161, 89,211, 16, 70,209,171,168,156, 39,132, 81, 82,220,148,146,239, 79,187, 41,
-153,176,146,124,254,221,133,238, 40, 40,156,132,100,197, 24,169,220, 84,159, 26, 90,198, 97,196,104,197,106,181, 66, 27,205, 98,
-177, 96,103,241,220,108,214,204,102,141, 80, 70,101, 73, 72, 66,203, 86,181, 68,240,142,227,200,102,179, 1,165, 88,206, 37,221,
- 47, 4, 79,129,124, 22, 99, 16,170,161, 31, 31, 18,163,231, 11,175,188,202,179,103, 79, 57, 57,121,142,161, 33,250, 53,218, 22,
-116,195,136, 34, 67,232,216,108, 47,168,174,125,157,131, 23,190, 74,221,180,140,195,167, 28,125,250, 33, 81,149, 56, 83, 51,116,
-107,180,134,250,202,107,244,221, 57,179,131, 43,220,126,245, 15,169,231, 55, 25,250,119, 89,222, 61,230,149,151, 10,254,234, 39,
-127, 33,195, 39,226, 96,218,157, 77,253, 68, 35,110,219, 14, 10,199,232, 69,183,226,202,226,210, 13, 98,203,146, 89, 93,179, 94,
-175,200,198, 50,219,155,179,186, 88,211,121, 41,117, 26,167,112, 38, 51,159,227,202, 6,231, 52, 41, 68, 74, 91,200,224,225, 61,
-221,118,141,181,150, 15,222, 59,167, 41,155,203, 51,249,224,202, 85,182,219, 45,167,171,129,238,226, 17,110, 94, 51,155, 45,184,
-186,127, 32, 26,128,170, 96, 76, 61,247,238,223,161,223,182,236, 47, 43,202,178,230,198,181, 27,164, 48,114,116,122,113,169, 21,
-233,182, 29,167,103,167,144, 96,177, 47, 17,192, 15,142,142, 72, 89, 99,119, 77, 83, 32, 74, 75,167, 20,245,108,198,106,179,102,
- 86, 55,124,190, 41,248,206, 93,120,188, 10, 28,109,214,148,165,164,174,229, 28,196,154,225, 36, 11,157, 20, 49, 74,120,173, 23,
- 26,228,226, 39, 49,250,136, 86,240,127,124, 26,185, 82,139, 77, 72,105,133, 86,146,152,116,218,107,230, 46,112,218, 37,222, 57,
-113,188,113, 37,162, 80,220, 89,100,242,229, 71, 50,243,120,157,104,156,226,247, 95, 84,252,179, 79, 90,118, 94,240,157,101, 39,
- 27, 77,142, 35,117, 89, 19,115,148,130,132, 4, 57, 75, 96, 76,142, 50, 72,164,148, 80, 19,216,103, 92,193, 56,169, 90,181, 18,
- 49,203,124, 57,131, 36,118, 56,163, 69,236, 70, 18,158,113, 23, 46,155, 21, 24, 18, 40, 38, 37,101, 66,249, 1,171, 45,166, 50,
-132, 49, 8,156,161, 21, 38,103,206,218,200,223,122,185,225,151,207, 36,203,252,243,139,200,155,183,102,252,228,113,135, 51,150,
-243, 46,240,237,235,150, 95, 62, 31, 72,100, 62, 57,245,188,125,171,228,157, 19, 41,157, 57,235,100,187,126,247, 36,161,209, 60,
- 88, 37,190,116,205,241,179,167, 34,106, 43,236,148, 87, 15, 56, 51, 13, 48, 81,158,223,182,221, 2, 21, 71, 39, 71,178,109,106,
-128, 37,155,245, 5,171,161,225,229, 3,195,187, 79, 47,184,119, 93,248,235,213,197, 25,255,253, 63,123, 42,219,198,255,239, 82,
- 54,214, 81, 89, 75, 59,121,126, 85, 86,124,235,254,146,127,254,235, 83, 30,158,174,121,241,202,140,127,251,173,235, 40, 45,219,
-158, 37, 18, 2, 68, 57,117,104,215, 91, 78, 55, 3,119,154,200,225,224,121,235,246,130,139, 62,225,140,160, 26,163,151,104,221,
-122,186, 72, 47, 86, 23,151, 27,134, 53,150,179,214,243,234,213,130,247,159,183,188,117, 71,134, 14,101, 12, 71,155,145,159,127,
-118,202,199, 39, 29, 49,138, 69,113,239, 96, 15, 99, 44, 77, 35,124,214, 48, 74,232,140, 31, 39,129,164,247,132,156, 49, 78,170,
-127,179,206, 56, 35,250,128,245,182,165, 40,166, 20,177,114,215,234, 22, 9,190,199,152, 2,114, 98,151, 96, 6,160,180, 92, 48,
-162, 87,213,148, 85, 69, 14, 1,107, 11,200, 35,125, 63, 96,156,192,192, 70,235,203,237, 50, 26,141, 81,153,108, 37, 30,213,143,
-130, 24, 92,191,126,141, 24, 34,235,245,234,146,139, 94,238,237, 49, 14,227,196,155, 90,218,190,101, 54,107,200, 25,206, 47, 86,
-164,148, 56, 61, 57,101,255, 96, 57,193,173, 34,190,179,246, 55,234,237,156, 19,101, 85,139,255, 60,102, 82,142, 56,107,136, 65,
- 77,155,185,102,222, 84,196, 44,207, 69,206, 25,163, 36, 99, 65, 20,213,210,167,173,178, 4,165,228,148,105,251, 45,206, 56,170,
-186,162,223,246,104,103,241, 41,162,130, 12, 6, 49, 7, 82,144, 96,148, 12, 20,174, 16,216, 63, 39, 4,108, 23,117,135,178,134,
-162,114, 24,165, 41,173, 35,197,132, 41, 10,172,214,108,187,169,223, 32, 38,230,243, 25,155,118, 75,214, 34,252,202, 57,131,150,
-130,168, 20, 18,235,245, 26, 87, 72,222,248,162,158,225,128, 24,165,231,192, 88,203,106,181, 37, 38, 73,112, 20, 47,189, 70,233,
- 41, 69, 47,103, 22,139,185,120,226,155, 70, 66,124,156,148, 73,245,219, 14,200,151,207, 67,233, 10,188,143,172,183,107,225,246,
-149,232,139,140,142,151,212, 66, 81,136, 32, 77, 98, 98, 5,178, 78,200,240,210,164, 76, 8, 3,130, 0,106,150,203, 57,221,208,
-145, 83,162,107,123,230,139,153, 8, 12,199,129, 97, 24,132, 70, 73,105, 26, 78, 51,117, 93,179,217,108,169,103, 13,139,165,197,
- 71, 25,106,186,190,157,104,200,169,137,174,221, 82,148, 5,131, 15,244,189, 80, 45, 89,137,198, 98, 62,151,194, 40,217, 60, 37,
-125, 47,132, 68,215,110,167,206,139,201,159,111,180, 12,175, 73, 92, 70, 77, 35, 45,134,206, 57,180, 86,132, 24, 56, 63,191, 96,
-177, 88, 72,110, 66, 41,131,189,179, 14,178,166,116, 5,103, 23, 71, 92,187,118,139,249,108,159,245,232, 40,170,125,186,179,207,
- 24,218,141,124,110,178,167,237, 3, 87,238,253, 29,110,127,225,135,248,177,231,226,228,207,168,236,136, 29, 7,250, 77, 43, 62,
-249, 20, 73,190, 69,145,169, 22,119,169,175,188,142, 8, 55, 51, 33, 52, 64,193,147,195,167,172,214,107,252, 56, 82,214, 37,123,
-123,123,196, 40,206, 31,146,184,168,150,243, 57,237,216, 83, 20,110,122,109, 52,214, 86,236,234,169,101,176, 17, 20,162, 42, 75,
-236, 21,203,249,217, 41, 74, 25,212, 76, 62, 19,155,205, 86,158,107,237,112, 69, 73,182,134, 24, 51, 67,140,168,170,161, 40, 75,
-226, 56,224,115,164,170,106, 84,134,177,223, 72, 38,135,110, 56, 95,175,153,133,204,230,244,156,243,245,134,251,119,110,242,215,
-127,249,115,116, 81,224, 94,251, 2, 62,121,170,166,224,195,207, 62,101, 28, 61,119,111,223,228,254,189,219, 92,172,183,156,173,
- 54,104, 91,112,255,213,151,233,186, 45,199,207,207,216,172, 6, 82, 24,248,236,243, 19,108,140, 9,180, 28,124, 69, 49, 41,145,
-135,145,162, 40,201,104,140,211,252,197,179,196,223,122,121,193,175,158,109,249,228,164,135, 17,118, 42,216,245, 40,105, 79, 65,
- 27,222,190,213,112,119,105,120,180,138,252,244,153,225,176,203, 20,206,146, 39,104,123,213, 1, 89, 20,150,114, 38, 38,158,110,
- 19, 47, 45, 52,103,109,224,209, 69,224, 91,119, 44, 79,214,137,127,243,216,163,141,108, 86, 41, 38,238, 46, 12, 87,106,205,170,
-143,252,240,190,229, 95, 62,178,196, 73,141,111,173, 6, 4, 6, 97,130,213,173, 50,116,161, 99, 87,136, 16, 96,130, 89,157,192,
-140, 57,202,159,209, 18,191, 57,140, 3, 41, 38, 9,122, 49, 2, 71, 22,133, 52, 52,133,148, 40,157,196,179, 42, 37, 28,104, 74,
-242, 28,144,193, 85,133, 32, 23, 65,190, 6,128,168,233,165,168,165, 85, 6,165,224,208,151,212, 13, 60,233, 34,111, 41,232,146,
-165,106, 12, 23,189,192,151, 15, 47, 34,133,171,121,214,101,222, 70,177,246,162,176,127,116,186,226,119,239, 20,188,251,124, 75,
-196,240,233,185,229,141,171,134, 46, 25,254,163, 55, 10,254,201,175, 59, 81,207,193,101,210, 94, 81, 20,151, 10, 94,128,152,130,
- 36,105,201,111, 67, 43,248,191,223, 59,226, 15,222,184,206, 55, 95,156,241,254, 81, 75, 76,153,170,169, 17, 5,184,165, 44, 69,
- 88, 4, 96,245,174, 98, 86,134, 7, 77,230, 23,143, 54,252,193,151, 14,200, 28,240,139,199, 83,234,150, 43,248,224,176,229, 31,
-126,243, 5,172, 86,252,207, 63,126, 38,143,171, 44,249,103,239, 60,227, 15,223,188,205,149, 89,193,106, 76,252,228,137,199, 22,
- 50,132,236,218,194,118, 66,171,161,235,249,175,127,255, 21,254,167, 31, 63,199,104,205,159,126,120,198, 15,190,120,133,239,125,
-233, 6,191,120, 36, 49,189,164,196,191,124,247,132,239,190,126,192, 31,188,121, 83, 2, 59,128,127,252,127,125, 34,209,183,141,
-192,151,110,226, 93,141,173,113,198, 16,156, 69, 66, 84, 18,170,220, 93, 47,162,172,206, 57,177, 90,201, 69,201,102, 55, 86,202,
- 15,165, 36,144,100,231, 24,144, 3, 93,113,124,124,140,248,165, 21,203,253,125, 36, 58, 87,242,221, 33,139,189,113, 66,123, 98,
- 20, 27,141, 86,242,243, 4, 56, 91, 82,213,210,237, 46,105, 94,137,217, 98, 65,223,247,114, 56,175, 86, 2,105, 23, 82,108,132,
- 18,113, 85,142,137,186,169, 24, 71,113, 95, 40, 20,171,243,115, 92, 89, 80,150,194,135, 26, 99,233,186, 45,104, 51, 69,236, 38,
-156,179, 84,165, 12,113,179,153, 60,239, 90,203,115,148,147, 84,119,142,195,136,115, 5,179,102, 70, 24, 60, 62,250, 75,136,184,
- 44, 74,129,159,157, 8, 89,199,224,153, 55, 53,125, 24, 5,214,118,226,170,168, 84,198, 88,241,254,251,161, 39, 89,177, 31,166,
- 28, 25,123,137,123, 85,206,226,202, 18,149, 96,189, 93,177, 88, 44,216,180, 45,219,237,154,162, 40, 25,166,216, 83,101, 20,202,
- 77,240,126,150,132, 70,101, 20, 77, 51,163,177, 53,193, 7, 6,111, 81, 8,146,150, 50, 12,109, 55, 57,102, 32,134,145, 97,144,
-215,175, 44, 29,206, 86,244,125, 71, 70,188,226,219,205,150,139,139, 21,243,197,140,224, 35,101, 51, 35,120, 17,112, 22,206,201,
- 81,161, 53,218, 72, 76,246,102,122,124, 99, 28, 48, 38,147, 19,104, 43, 67, 2,136,237, 52,198,132, 50, 34, 76,148,115, 71,116,
- 10, 33, 4, 80,134,186, 46, 25, 7, 77,215,182, 20,181, 68,188,230,156, 88,175,214,211,249,136, 36, 67, 14, 35, 49,100,234,122,
-134, 8, 24, 19,166,156,154, 15, 83, 20, 1,105,204, 68,173,217,108,215,148,101,141, 85, 89,138,109,178, 68, 86, 55,179, 70,212,
-252,126, 36, 90, 79, 93,213,244,163, 68, 48,215,179, 25,227, 40, 46,153,156,225, 98,189,146, 20,202,156, 89, 44,132,211,183, 90,
-226,187,215,235, 53, 34, 2,213,204,102, 66, 9,173,214,107, 78, 79, 79, 88,204,151,204,230, 51,138,186,132,152, 73, 89,244, 42,
- 99, 28, 57, 59, 61,226,224,250,125,106,247, 50, 57, 42, 10, 74,116,123, 66,191, 57,196, 52, 55,185,249,242, 91, 28, 92,125,147,
- 56,244,172,207, 62,102,243,244, 1, 55,246, 10,150,123, 11,246,155, 37,103,167, 71,156,157, 60,103, 86, 21, 20,213, 28,239,159,
- 18,182, 37,231,195,154,245,249, 12,223,157,208, 92, 9, 83, 8, 82, 64, 37,113, 75,157, 30,159, 74, 84,178,147, 80, 26,109, 45,
- 67,219,177,183,220, 67,208,184, 36, 3, 75, 12,204,103,115, 64, 74,200,230,243, 5,213,100, 81,221, 45, 27,219,173,124, 62,203,
-178,160, 31,123,206,207, 79,209,214, 82, 92,234, 67, 42,102,141, 19,202, 98, 18, 11,174,215, 27,198,126,192, 40,176, 69, 65,191,
-222,146, 99,135,118, 6,109, 44,154,132, 15,153,143, 31,159,176, 60,184,130,213,240,241,195,143,152,207,230,248, 35,184,255,242,
- 29,110, 94,185,202,131,195, 39,148,206,145, 47, 34,123,117, 37,133, 94,193,147,148,226,230, 11,215, 56, 57, 60,165, 90,236,209,
-133, 17,117,227,165,151,243, 24, 36,213,136,105, 26,159,213,211,100, 17, 70, 22,243,134,174,107,177,206,241,253, 23, 11,158,110,
- 34, 49, 6,148, 86, 24,227, 72, 49, 18, 98,224,171,183, 27,254,230, 73,199,195,139,192,160,170,233,141, 43, 91,128,181, 83,243,
- 86,148,109,183, 48,194,241,161, 51,111, 94, 17,126,252,163,149, 37, 36,137, 93, 44,139,146,126,236,169,156,116,175,203, 68, 37,
-188,198,215,110,215,188,121, 77,243,108, 19,248,215, 79, 52,253,244, 65, 69,107,140,158, 26,151,166,240, 16,177, 23, 41,180, 50,
-196, 48,146,149, 18,248,202, 75, 50, 86,233, 10,146,206, 40,126,147,224,150,145,203, 90, 4, 31, 2,151,146, 51,214, 73,151, 58,
-211,175,203,223,171,167,225, 70,161, 53, 16, 37,104, 69,101,112,149, 67, 43, 65, 17,164,243, 91, 42, 81,181, 17,155,214,238,207,
- 41,148,252,191, 36, 16,217, 14, 42, 26, 67,164,107,183,228, 12,195, 32,157,210,218,218, 75,107,159,179, 18, 6,179, 83,179,106,
-163,177, 88,178,202,108,219, 13,179,122,198,182,237, 80, 58,115,113,118, 78,140,114,160, 43, 5,101,237, 40, 92,197,208,247, 20,
-133, 28,178, 95,187,123,192,253, 43, 13,127,242,209,150,205,102,195, 78, 69, 46,155, 65, 35, 30,251,148,177,133,100,189,167, 20,
- 64, 11, 39,105,148,136,201,178,151, 65, 44, 42,133,193, 76,147,124, 36,103,129, 46,125, 24,136, 99,164,158,207, 88,204,102,151,
- 16,161, 32, 42, 82, 66,179, 94,173, 4, 57,209, 26, 63, 14, 52,243, 5,227,216, 51,108,101,155, 50,206,161,221,212,185,173,192,
- 90, 39, 23,164, 15,236,124,169,222,123,129,216,149,153, 4,157, 6,235,204,255,215,212,185, 44, 57,146, 92,103,250,115,247,184,
- 33, 2, 64, 34,171,216,205,238,166, 52, 50, 45, 40,141,141,233, 5,180,158,247,153,103,224,219,205, 86,102, 99, 54, 27,173,164,
- 33,135,236, 98, 87, 86, 34, 1,196,197,175, 90,252, 30,104, 46,203, 44,179, 18,136,240,203, 57,255,249, 47,188,190,190,106, 70,
-185,174,204,243, 76,138, 34, 72,118,157, 98, 75,167,105, 34,231,204,251,251,187,222, 17,122, 71, 49,198, 10,207, 59, 90,235,196,
-144, 13, 1, 87,139,200, 84,164, 30, 72, 49,202, 27,190,100,186,110,224,112,232, 41,136,185,154,115,170,127, 51, 97, 44,136, 88,
-148, 72, 49,243,219, 31,190,231, 48, 78,124,253,250, 11,135,195,129, 28, 21,215,234,189,162, 83,115,140,207,181, 34,114,146,198,
- 62,178, 11,181,245, 61, 0, 40, 6, 52,212,131,255,124,126,161,235, 26, 30,203,204,161,250,148,207,143, 7,195,112, 0, 83, 52,
-191,142, 81, 38, 74, 81, 22,164, 24,193,177, 41, 41,202,179,239,122, 74, 74,224, 12,166, 40,236,199,212, 61, 32,168, 74,136, 80,
-169,112,242, 62,143,191,126, 92,177, 69,251,191,237,218,218,181, 75, 34,181,203, 21,219,190,193, 25,153, 79,221, 31, 55,160,218,
- 14, 59, 67,204, 50,202,161,160,130,203, 72, 71, 61, 77, 19, 20,184,207,119,216,215, 77,210,172,185,105, 6,141, 17,182,141,151,
-179,208,156,219,253, 74,223,138,111,144,129,156, 50,199,151, 35,141, 21,196, 92,128,211,254,179,215,107,221, 35,134,211,233,132,
- 49,202,174, 31,122, 53, 59, 88,237,247,199,227, 70, 8, 34,217,198,148,216, 21, 52,214, 37,214, 85,126, 1,187,228,209, 88,203,
- 52, 42,140, 38,133, 68,211,137, 88,233,183,149,174,111, 49, 78, 77,143,197, 62,125,222,115,145,134,122, 93, 87,166,227,137,224,
- 21,109,188,219,241,166,156, 89,214,149,174,109,235,120, 16,114, 73,244, 93,203,252, 88, 16,143, 66,110,132,203,178,208,247, 3,
-203,242, 80,241,242,120,208, 87,247,186,199,227,129,181,150,105, 26,121,204, 66, 10,166, 73, 22,216, 49,104, 84, 82,138, 98,179,
- 95, 78, 39, 0, 62,174, 31,132, 24,158,197,119, 41,165, 58,252, 9,217,108,154,134,190, 85,241,153, 73, 88,219,176, 5, 79,223,
- 12,252,254, 95,254,149,235, 60,177,172,129,156, 86, 44,153,156, 35, 93,127, 33,185, 9,131,163,132, 27,113,125, 99,190,254, 39,
- 54,222,232, 90,135,197, 50, 93, 62,131,129,243,229,147,172,174, 23,207,234,103,190,190,221, 88, 99,166,164,192,116, 50,204,239,
-127,101, 91,103, 5,216,196,200,241,120,228,246,184,113, 58,190,212, 2, 54,179,108, 1,103,149, 79,241,120, 60, 56, 12, 7,154,
-166,146, 21, 75,225,126,159, 57, 30,229, 47, 81, 12, 44,143, 5, 31, 87,230,251,194, 99,190,211,183,106,152,138, 19, 34,234,156,
-163,105,101, 33,220,181,213, 67,128,130, 69, 97, 99,195,120, 32, 39,221,135,228,204,253,126, 35,231,140,181,144,125,196,149,204,
-208, 56, 82,178,188,190, 76,124,250,116,225,183,223,125,230,118,191,241,229,151, 95, 72, 65,205,194,233,120,224, 47,127,253,133,
- 63,127,249, 66,223,117,188,158, 95, 88,214,192,241,114,100, 89, 87,200,137,142,140, 57,126,247, 67, 41, 20,198,241,136,143,146,
-110, 12,135, 3, 41, 4, 94,206, 39, 40, 89,135, 37,134,206, 57,254,251,103, 25,103,236,115, 2,153, 36, 88,254,239,207, 43,133,
-150,143,251, 77,176, 88,237, 8, 93,133,242, 0,233,112, 83,196,162,142, 42,231, 44, 63,246, 82,248, 63, 95, 60,214,181,181, 75,
- 20,241, 44,231, 12, 86, 11,199,100,170,230, 78,255,117, 6, 54,191, 9, 74,107, 44, 57,232,103, 73,114,167,138,169,106,101, 83,
-161, 24, 3, 70, 46, 96,214, 74,190,131,115,144, 18,166,105,100, 11,106, 1, 44, 37, 87,247,176, 40,102,172, 65,190,230, 41,213,
- 9, 93, 17,228,215,182, 10,238,176, 77, 67,197, 9, 68,228,177,246,249,189,199,113,170, 4, 44, 29,182, 57,103, 78,117,115,148,
- 82,184,221,110, 24,163, 3,224,120, 56,176,134, 80, 9, 58,154, 53,198, 36, 40, 52, 91, 91,159,153, 32,195,156, 50, 33,122, 82,
-144, 54,247,229,124,102,219, 86, 14,253,129,251,253,142, 49,133, 97, 16, 68,215,182, 13, 31,215, 43, 93,223,241,113,171, 29, 40,
-133,190, 85, 97,245,191,254,231,239, 41,165,112, 93, 35,255,251, 63,102,222, 86,185,215,125,123,127,167,228,204,186, 6,134,161,
- 37, 70,121, 98,239, 36,192, 76,253,210,104,252,208, 58,135,109, 13,173, 83, 71,178,255,156, 15, 34,158,152,162,223, 9, 91,192,
- 96,233,186,150, 97, 26,232,218,134,109,211,220, 91,114, 51,133,139,244,189,236,118,119,184, 95,107, 72,186,249,146, 11, 57,201,
-135,125, 24,196,158,166, 64, 12, 43, 52, 86,227, 15, 0, 84, 84,236,114,166,203,229,194,234, 87,186,166,161, 20, 93, 94,187,212,
-200,212, 2, 84,142,116, 15,166, 81,129, 28,126, 91, 73, 89,169,111, 33,120,218, 78,198, 32,165, 40,122,213,111, 27,198, 57,161,
- 2, 64, 74,169,162, 71,178, 89,213,133,151,217,230,149,226,116,249,218,186,126,150,251, 3,156, 36,108,231,243,153,219,253,206,
-167,207,159,101,246,212,183, 52,214, 65, 42,164, 34,200,181, 32, 55,192, 16, 2, 77,245, 72, 88,183, 5,249, 10, 56,142,199,233,
-215,226,232,118, 99, 60,142,148, 92,176,182,193, 88,232,186,150, 28, 35,183,251, 93,114,180,146, 9, 62, 84,227,156,142, 98, 44,
-231,203, 11,100, 17,250,118,123,213,253,130,147,196,113,119,171,179, 28,167, 19,243,178,114,191,125,232, 29, 88,203, 79, 63,253,
- 68,240,158,219,252, 96, 28,122, 12,213, 38, 24, 88,171, 94,127, 91,150,167,242,228,227,126,163,228,200,249,244, 66,211,200,156,
-197, 24, 56, 29, 79,234, 62,209,161,121,123,127,231,248,242,194,208, 75,239, 63,207,179,198, 17,206,242,243,151,159,235,186, 3,
-107, 13,198,128,117,150,177, 31,184, 94,175,140,211,132, 49,133, 20,147,236,115, 15, 7, 76, 35, 2, 98,223,247,228,162,200, 86,
-139,227,250,241, 78, 41, 5,103, 13,175,151, 87,156, 83, 10, 94, 8,190,206,229, 13,247, 90, 16, 58, 39,147,165,166, 21,217,112,
- 24,250,234, 59,191, 39,204, 57,166,211, 72,168,169,140, 49, 74, 50,183,159,109,235,250,192,251,122, 65, 26,195,216,244,132,232,
-159, 69,122, 65, 69,200,178,136,112,152, 49,116, 53,110, 58,166, 68, 73,137,109,147,193,209, 22, 2, 14, 40,166, 48,223, 31, 88,
- 35, 30,193,241,120,228,118,187,113, 58, 77, 60,101,201, 70, 68, 81, 16,162,103,173,197,135,136,247, 27, 37,107, 45, 29, 14, 7,
-214,117,227,124, 62,178, 46, 27,166, 49, 28,250, 94,146,196,176,255,237,138, 4, 26,199, 97, 24, 88,183, 25,231, 26, 46,151, 11,
-123, 78,128,143,129,184, 37,166,211, 68,223,141,252,246,167,223,243,246,245,157,235,199,131,214, 21,188, 95, 57,141, 61,166,157,
-216, 66, 33,196, 66,242, 55, 76,222, 56,182,134, 71, 94, 41, 94,151, 73, 74,133,182,111,121,185,124,230,187,239,127,228,114, 62,
-178,110,158, 63,253,199,191,179,249, 13, 72,252,252,245,207,213,246, 86,225, 64,253,161,231,113,127, 96,145,164,205, 89,199,235,
-229,162, 6, 41, 38,222,174,223,200, 49,241,250,250, 9,107, 91,214,117,195, 82, 8,193,115,121,125, 1, 11,223,190,126, 99, 89,
- 36,229, 76, 69,161, 59,121, 71,132,178,198,196,141,117,188,124,190,112,232, 15,213,154, 89,196,220,161, 31, 48,141, 37, 70, 79,
-215,180,228,156,184, 94,175, 24,227,248,252,249, 19,239,223,174,196, 24,120,121,121, 33,250,133,235,219,149,109,126, 48, 90,205,
-250, 59,107,248,225,251,207, 24,211,242,221,111,190, 83,145,213, 21, 73,236,214,141,113,232,248,242,229,157,247,143, 25,215,203,
-140,202,117,199,211, 31,134, 67,245,250,118,191,206,254,114,154, 75, 0,236, 0, 0, 14, 85, 73, 68, 65, 84, 22, 73,101, 56, 28,
- 40,177,208,245, 45,141,133, 55,239,120,219,224,109, 45,124, 93, 10, 95, 55,248,186,138, 21,171,217,180, 36, 26,174, 17, 27,216,
- 88,121,104, 15, 67, 79,201,210,120, 90, 43,211,141,182,109,248,237,177,193, 88,195,219, 86,212, 9,185,218, 9, 85, 34, 70, 99,
- 29,100, 93,102, 33, 40, 43, 58, 4,117, 48, 41, 41,204, 35,108,155, 14, 41, 35, 51, 14,221, 2,234, 38, 10,130, 57, 75,145,179,
-144,177,186,224,173, 83,134,182, 41,234,180, 98,204,184,162,207,208, 56, 17,128, 82,133,210,219,166,161, 27, 6,105,144,157,131,
-178,123, 98, 75, 34,100, 43,172,216, 84, 54,173,117, 13,227,216, 75,147,158,148, 61, 28, 98,228, 56, 77,164,148,116,153,120,165,
-166, 57,163,164, 48,219,182, 88,171, 88,201, 20, 21, 64,211, 15, 67,237,194, 42,177,171,173, 48,178,117, 24,168,210, 26, 43,205,
- 42,114,222,218,163, 43,141,181,248,176,137,169,237, 28,185,232,162,239, 58,197,229,134,109,133,214,241,111,127,122,240,239, 55,
-248,183,255,252,198,219,125,101, 11, 91,237, 38, 13, 49,200, 68, 67, 27, 93, 78, 91, 41, 37,194,166,192,136, 84, 20, 56,145, 75,
- 33, 91, 67,218, 60,177, 94,118,182,105, 72, 33,177,250, 72, 88,107,174,187, 53, 20,189, 26, 10,130,202,230,101,169,239, 84, 69,
- 88,219, 52,140,195,128,179, 6,103, 45,174,105,158,157,157, 64, 19, 65,222,125, 63,208, 15, 74, 40,147,220,102, 3, 43,253,242,
- 62,183,182, 86, 44,100,107, 12,231,151, 23,172,115, 88, 35,130,157,115, 82, 48,236, 57,215, 93,215, 17,163,100,141,165, 20,134,
-113,164, 31, 42,140,237, 28,203,166,196,179,156,228, 71,222,182,213,159, 60,137,161,189, 51,128,173,181,218, 51, 69,197,147,179,
- 86,240,178, 83,128,198, 56,142,140,227, 81, 16,116,140, 80, 17,145,177,151, 60,204,214, 34, 41, 39,201,167,118, 31, 6, 31,148,
-217,190, 75,192, 66, 12,172,203, 10, 5, 14,227, 1,185,136,173,207, 98,168,237,123,158, 76,255,232, 73, 89,107,170,109, 91,172,
- 51,248,109, 67,153, 15,158,176,220,201,214,241,242,114, 98,153, 85, 80, 96,228,255, 62,207,119,230,101,150, 12,172,238,163,125,
-127,133,160, 24,101, 99,149,170,120,185, 92,100,124,147,170, 75,151,209,200, 0,224,118,191, 97, 16,186,165,132, 64,153, 63,249,
- 45, 80,138,138,221,143,143, 43,227, 65,115,255,219,227,174, 46,185,235,113,214, 62, 37, 90, 49,168, 0, 44, 69,172,101,231,108,
-101,139, 79,156,207, 39, 78,211,145,148, 19,227,112,224,126,187, 17, 83,100, 91, 87, 68,140,109,171, 30,220,203,142, 53,138,101,
- 62, 12,154,183, 90,231,216,181,215,182,158, 67, 93,219,212, 51,171,118,161,125, 47, 83, 35,219, 16,147,162,165, 77, 41, 52,174,
- 90,108, 35,168,125, 24, 6,134,161,197, 89,169, 99,230,249, 65, 74,153, 20,101, 98,212,180, 45, 77,211,161,160,155, 12,197,168,
-144,175, 72,200, 60, 43,128, 40,103,161, 83, 80, 83,242, 74, 86, 67,179, 44, 26, 13,244,125, 53,174,129,156, 18,201, 71,205,112,
-205,175,129, 69,216,204, 60,175,152, 44,164,100,183, 2, 14,245,243,110,222, 87,190,199, 64,202,137,195,112, 96, 89, 84,240,184,
- 70, 81,211, 62,250,154,218, 87,221, 51, 77, 97, 89, 54, 17,249,166, 81, 49,189,141,171,151, 60,244,125, 53, 5, 10, 26,183, 62,
-230, 7,126, 91, 89,230, 15, 62,191,190,112, 24, 26,242,122,101, 58, 54,252,227, 63,254,158,151,227,145,134,141,184,124, 99,234,
-224,119, 63,126,162,111,224,242,233, 71,126,243,195,239, 56,159, 94, 57,191, 92,104,108,195,251,199, 27,215,183,191, 18,214,111,
-216,182,193, 53,142, 57,172, 92,223,127, 86,129, 82, 11,150,241,120, 20, 25,181,109,193, 89, 53, 22,130, 5,233,187,142,143,219,
-141,249,227,131, 12, 44,203, 42,187,221,117, 22,250,156, 19,167,227,132,171, 77,218,253, 49, 51, 28,122,134,190,231,244,162,248,
-234,105,154, 24,107,240, 86,206,138,252,117,141, 37, 38,101, 56,116,125, 75, 76,213,166,119,213,115, 63, 30, 71,188,247,202,238,
-200,114,149, 60,157,206, 52,206,226,218,142,195,113,226,112, 58,225, 14, 35, 25, 73,183,115,129,144, 19,203,250,160,235,122,254,
-252,243,149, 20, 3,247, 77,161, 75,197, 90,114,201,252,221,143,223, 97, 1,119,249,254,199, 63,108, 62,144,139,161,117,178, 22,
-117,206, 17, 99,168,139, 93, 78, 87, 90,124, 98,199,199, 20,185, 94,175, 44,243,242,180,159,116, 85, 30,211,181,186,164, 93, 61,
-232, 4, 21, 26,114, 12,148, 90,165,108,219,198,158,241,252,243, 45,240,229, 46, 2, 72,142, 9,191,110,132,117,227,241,184,211,
-181, 45,247,219, 77,225, 10,233, 87, 56,212, 53, 13, 6,158,255,127,219,138,237, 46, 59, 64,193,118, 33, 69, 74, 80, 55,130, 81,
- 37,213,184,134,156, 10,228, 92,225, 76,232,134, 14, 76,133, 54, 75,193,123, 79,244, 98,189, 75, 71,106, 73,245,162,114,206,233,
- 98,168,223,105,135, 31, 13,144, 75,161,107, 45,198,128,177,234,190,141,149,182, 31, 98, 45, 6,204, 51,133,203,236, 23,130,115,
- 53,209, 39, 83, 74,169,217,220, 42,176,250,182,165, 24,165,146, 61,185, 0,126,171,159, 71,196,169,177, 31, 84,180, 36, 25,104,
-172,155,236, 85,187, 86,135, 97, 72,137, 61, 85,107,158,133, 56, 88, 11,109,127,224,245,242,153,166, 17, 19, 56,134,200,120,152,
- 84,125, 71, 89, 23,182,174,193,135, 32,187,212,182,129, 10, 11, 82, 59, 11, 44, 66, 61,114,160,248, 72,113, 21, 42,110, 28,109,
-211,178, 6,205, 8,117, 12,169,170,133, 2, 57, 81,140,229,208,247,136,168, 25, 33, 6,166,227,137,174, 83, 14,253,182,109, 98,
- 66,119,146, 8,165,160,153,110,206, 25,178,114,166, 91,215,224,154,134,214,233,239, 89, 39,164, 69,242,167, 68, 66,102, 64, 42,
- 38,101, 54,130,129, 24,115,229, 6, 20,150, 69,134, 60,109,219, 19,146,103,143,206,237, 42, 74,163,215,108, 43,159, 64,204,211,
-221, 4, 37,212,103, 99,234, 59, 44, 73, 69, 79,223,245, 26,207, 88,171,184, 86,235, 48, 78,113,167, 77,227,120,220,111, 60,238,
- 11, 44, 51, 63,252,195, 63,208,119, 29,183,199,131,195, 56,202,201, 46,139,251,112, 62,157,104,218,134,101,145,108,169,235,164,
-125,223,255, 70, 65,209,200, 26,233,236,126, 14, 26, 13,200, 12, 71,207,191, 0,166,136,227, 97,138,246, 2, 70,251,103, 11, 30,
- 91,187,126,211, 88, 78,211, 9,139, 97, 89, 87,205,222,187,129,113,156, 24,250,142,182,235, 24,134, 3,195, 32, 45,115, 41, 50,
-211, 25, 70,133, 3,149,146,184,125,220,217, 54,197,199, 62,238, 15,117,189, 77,131, 41,202, 3,143, 41, 19,194,246,180,225, 61,
-158, 39,166,105,122,158, 11,235,178,208,238,103, 80,202,116,109,143,181,186, 40,183,117, 99,154, 70,142,167, 19, 25,217,202, 58,
-251,171,235,224,227, 33,253,127,215, 10, 37,137, 65, 54,205,135,218, 65, 7, 31,159, 69,154,126,215, 9, 58,143, 53,176, 38,122,
-134,126,160, 63, 40, 94,117, 31,185, 24, 91, 45, 84,123,249, 93,128, 56, 8,206, 58,186, 65,114, 57, 80, 19, 65, 46,228,146, 53,
-106,171, 29,251, 60,207, 28,143, 39,196,167,200,245,188,145,108, 87, 94, 3,253, 19,113, 10, 73,242,170,182,147,174,189,237,187,
-103,184, 76,211, 72,102,107, 10,250,187,219, 90, 17, 26,101,189, 15,117,239,104,238, 46, 68, 39, 4,153, 44, 57, 35, 37,205, 90,
-141,144,140, 1,138, 70,122,187,220, 19, 35, 52,199, 86, 94,128,102,199, 10,144, 26, 15, 35,141,211,216,171,152,140, 53,130,254,
- 99, 82, 64,140, 69, 60,152,182,239,100,156,211,171, 9,218,145,193, 29,201,241,219,194,199,253,141,199,253,157,152, 55,110,183,
- 27, 95,190,252,127, 92,107, 25,198,145, 79,159, 63,209, 52,150,191,252,242, 51, 95, 31, 55,126,249,229, 47,124,251,250, 23, 66,
- 88,176, 46, 97, 27,195,229,101,162,233, 45,239,183, 27, 95,223,190,176,172, 55, 82,146,225, 23, 6,154, 78,170,131, 16, 35,253,
-208,211, 54,202, 85,232, 91,237,203,152, 18, 33, 5,250,182,231, 48,141,116, 93,199,230,245, 92, 82, 86,110, 65, 73,137,166, 21,
-129, 52,198,192,182,174,248,202,187,242, 81, 77, 64,215,201,188,167,109, 91,188,223,248,120,255, 70,223,117,156,166, 19,125,171,
-166,102, 60, 28,104,156,101, 24, 58,160, 54, 54,165, 84,196, 90,118,199, 33,101,230,135,252, 6,188,247, 76,199,145,166,237,104,
-186,129,225,116,226,254,113, 35,230, 82,243, 17,116,201, 59,219,211,119, 35,215,249, 70,235, 12, 63,255,245, 23,166,227,133,109,
- 91,113, 47,223,255,248, 7, 57,156,117,228,168, 44,244,117,173,241,141, 93,139,179,130,178,223,222,222,184,221,239, 60,150, 71,
- 13,217, 16,252,233, 58, 17,124,230,121, 37,248, 21,103, 84,101,110,155,242,150,173,181,220,110, 31,210, 83, 86,167,178,174,211,
-124,249,126,251,224,126,127,176, 60, 30, 44,243,194,253,118,103, 89, 87,124,237, 94, 98, 12, 90, 68, 41,226,183,149,213,123,214,
- 69,129, 31,222,111,132, 77, 22,169, 49,200, 30,116, 79,210,218,115,160,155, 70, 7,105, 73, 69,164,146,248, 43, 31, 96,223,132,
- 5,109, 66,101, 25, 43,184,230, 48,142,130,229,114,126, 22, 10,198, 90,138,217, 97,215,204, 26,106, 20,167,113,244,125, 87,253,
-154, 97,119,125,235,219,166, 30, 8,170, 14,151,213, 51,175, 51, 32,111,237, 20,117, 8,199,156,235,115, 73,114, 50, 74, 74,134,
- 75, 69,197, 1, 69,240, 78, 74,117,131,230,252,236,152, 74,206, 28, 70, 5,162,228,148, 43, 36, 46, 84,165,100, 88,183, 77,135,
-124, 74, 52, 77, 67, 8,137,203,249,194,203,229,149,113, 60,210,182,114,123,123,204,218,132,166, 49, 4,191,103, 0,151,170,185,
-149, 17, 79, 14,158, 28, 2,164, 4,109,207, 48, 42,104,194,182, 45,182,237,200, 70,159,149, 92,112,109, 71, 65, 5, 82, 49, 64,
- 54, 80,231,163, 56,205,128, 89, 61, 49, 40, 60,133,146,161,177, 4, 31,136, 89,208,125,204, 42,114,214,109,211, 12,175,190, 3,
- 99,170,225,135,181, 80, 10,214, 64, 49,242,172, 95,231,133,152,180, 41,149,165,221, 67,222,173, 94,115, 37, 17,106, 46, 90, 12,
- 21,154, 54,164, 36,149,128,113,114,253,243,222,179,109, 1,191,121,252,186,214,185,105,199,186,137,141, 28, 99,124, 34, 11, 77,
-167,142,100,215, 84,191,156, 79,196, 20,249,238,251,239,105, 92,203,227, 33,217,143,116,217, 74, 6, 11, 33,210,118, 45, 63,253,
-253,223,243,250,242,194,199,253,131,199,227, 78, 41,242,242,126,125,125,149,182, 27,139,223,212, 81,205,243, 90, 71, 0,210,190,
- 55, 77, 3, 89, 29, 69,140,241,121,241, 77,211,164,207,234, 61,109,211,171,219,236,196,198,246,161, 34, 90, 22,114,142,204,143,
-153,243,233,196,233,116, 36,132,192, 52,158, 53,175,221, 86,198, 65,243,215,195,225,128, 12,118, 60, 22,199,178,173, 42,168, 27,
-185,117,197, 16,153,231,149,233, 48,242,237,253,157,157, 43,242,250,233,149,105,156, 24, 58, 57,157,133, 32, 91,228, 67,223,211,
-246, 67,157, 75,110,108, 62, 48, 77, 71,198,241,192,245,237, 27,185, 20,124, 8,213,105, 49, 35, 47,117,234,243, 81, 55,218, 15,
- 42, 6,215,154,233,222,247,154,225,150, 82,240,171,244,238,174,145, 82, 67,207,197, 85,223, 1,217, 77,203,234,183,199, 26, 87,
- 3, 95, 84, 20, 72,153,163, 56,103, 17, 12,103,233,182, 87,253, 13,191,122, 66,148, 78, 60,166, 68, 88,189, 46,211,126,160,237,
-123, 89,179, 30, 6,173, 63, 12, 57,203,153,176,235, 53, 98,108,218,134, 82, 34, 49,232, 82,177, 70,196, 68, 53, 81, 25, 87,207,
-171,190, 23,186, 33, 55, 52, 95, 81, 39,131,175,141,144,173, 78,132,109,219,114,156, 38,168,251, 68,231, 25, 76,135, 3,185,228,
-218,177,235,140,235,251,254,201,145,136, 81,159, 11,224, 56,141,164,146,113,141, 5, 99,241, 91, 96,173, 69,132,247, 10, 67,105,
-219,150, 82, 52,142,212, 25,147,159, 5,110, 74,137,121,153, 89,182,141,105, 26,240, 94,239, 52, 6,241, 66,250,174, 37,149,204,
-186,120,250,182,161, 96,160,128, 53,106,200,114,146, 83,223,252,184, 19,194,131,247,111, 95,184, 47, 55, 98, 86,198,196,222,233,
- 90, 7, 49, 4,238,243, 85,163, 65,178,194,113,234,103,185,221, 62,104,218, 22,231,148, 61,225,156, 35, 4, 89,102, 27,148,159,
-225,189, 66,114, 54, 95,209,185,190,211,217, 90,132, 32, 31,143, 19,206,137, 67, 19,162,103,243, 43, 33,200, 35,192, 53, 78, 72,
-216,208, 85,142, 19,207,177, 18, 69, 41,151,125,219,242,152, 31, 56,167,188,136,224,149,218,121,191,127,232,188,136,158, 63,254,
-241,143, 88, 7,183,235, 13,239,229,172,249,254,237, 27,165, 20,250, 65, 89, 24,146,160,194,219,219, 27,215,143, 43,247,109,227,
-177,109, 92,223,110, 60,230,141,227, 73, 5,224,247,151,223,112,156,206,252,240,119,255,141,247,247,159, 25,134, 35,175,175, 47,
-152,223,253,243,191, 20, 31,163, 14,199,176, 34,182,185, 94,160,115,174,194, 52,234, 92,247,185,114,219,245,200,192, 64,241,163,
-198, 88,193,247, 20,117,102,251, 97,153,179,190,115,209,194,181, 86,222,237,187,103,242, 14,111, 83, 15, 88,138,230,243,227, 56,
- 62,103, 61, 90, 67, 50,218,223,188, 32, 95,193,110,142,169, 74,126,118,184,101,247,163, 7,205, 54, 37, 61, 82, 48, 68, 83, 97,
- 36, 5,124, 8, 42,205,200,199, 56,231,244,132,181,247,177,131, 49,210, 42,215, 47,240,156, 33, 27,163,136,208, 93,251,188,207,
- 71,157,115, 28, 90,145,132,156, 83,103, 29, 83,212,198, 12,129,130, 56, 4, 24, 65,144, 57,103, 74,209,124,117, 39,231, 52,141,
-171,135,162,125, 62,235, 92,132, 18,236, 14, 90,214,212, 72, 80,171,120, 70, 91,225, 71, 87,165,125,185, 84,183, 35,239,107,199,
-104,201,185, 16,124,100,183,218,220,181,142,165, 20, 48, 72,118,101, 45, 49,249,231, 37,190, 27, 85,144,249, 21,122,173, 29, 52,
- 70,227,139,156,210,254, 80, 32, 86, 34,136,145,102,118,239,168,169,143,144,156,117,153,215,191,185,255, 44, 24,200, 9,156,197,
- 97,235,179, 55,207,239, 92,114,214, 5,221,117,207, 78, 61, 86, 84,102,127,102,214,238,207, 77,197, 90,168,240,172,115,246,137,
- 14, 88,107,159,105, 91,114, 54, 43, 44,181,208,244, 65, 7,135, 14,221,106,247,234,132,236,148, 82,234,103,214,102,223,201, 64,
-133, 95,215,117, 65,235,162,169,235,117, 28, 39,140, 81,250, 82,215,117,148,162, 2,213,135, 80,139, 43,143, 41,226,174, 12,131,
- 14,194,231,165,239,181, 94, 40,242,209,110,187,246,185, 86,114,206,207,207,178, 67,253, 77,163,247,158,234,158,205, 41,129, 49,
-132, 24, 52,175,173,151,122,206, 10,121,113,214,214,247,184,178,199,156,182,173,186,174,166,105, 89,183,141,130,144,138,191,253,
-190,206, 57,141, 85,156,123,118,166, 49,166,231, 90, 10, 81,240,235,186, 44,250, 59, 78,221,178,247,190, 34, 30,242,115,104,154,
- 61, 28, 70,228,196,117,219, 80,112, 11, 60, 30, 31, 40, 77,108,224, 56, 29,217,188, 7, 3,195,112, 16,127,193,235,121, 30, 14,
-242,203,240,126,211,231,202,185, 34, 52,186, 36, 49,144, 99, 82,126,189,179,236,138, 13,191,249,231,165,222, 52, 13,235,186,233,
-146,161,214,163,200, 10, 89,223,175, 60,247, 96,211,234,236, 96,127,207, 77,163,243, 33, 43, 74,245,111, 57, 25, 79,206, 73,150,
- 99,221,254, 12,158,163,153,122, 62,237,159,197, 57,117,252,185, 72, 29,241, 92, 83, 73,255, 86,193,102,159,255,151,173,231,148,
-181, 42,148,172,173, 99,186,253,247,202,126,193,107,125,238, 13, 76, 74, 21,246,119,226,164,236,200, 96, 41, 26,163, 56, 39,223,
-121,235,246,179, 73,104, 86,170, 4, 47, 21,173,242,127,119,127,115,126,165, 84,131,147,172, 65,241,221,133,189,112, 62,159, 78,
- 66, 88, 42,111,160,212,223,169, 15, 82,223,209, 24,160,136,107,208,183,207, 98,232,215,187, 34, 60,247,246,190,206,246, 34,251,
-112,144,186, 37,132,192,237,118, 35,214,130,107,127, 7,122,206, 58,175,196,187, 41,245, 60, 77, 20, 74,109,202, 76, 29,231,100,
- 40, 26,191,197, 20, 1,233,245, 47,151, 11, 6, 83,173,177,245,220,212,152,118,156, 95,206,116,173, 60, 49,230,121,230,118,251,
- 38,121,120, 41,132, 53,114,122, 57,113, 58,159,105,219,230,185,222,150,117,225,118,191,107,189, 88,141,199, 98, 76, 24, 99, 57,
-157,206, 79,238,140,223, 60, 95,191,126, 85, 99, 75,169, 5, 80,196, 22, 56,247, 3,253, 48,240,195,231, 11, 5,195,208, 31,193,
-194, 63,253,143,127,226,255,253,233, 79,252, 23, 41,188,202,126,100,132,236,135, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130,
-};
+ 0, 10, 79,105, 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101, 0, 0,120,218,
+157, 83,103, 84, 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21, 8, 32, 82, 66,139,128, 20,145, 38, 42, 33, 9,
+ 16, 74,136, 33,161,217, 21, 81,193, 17, 69, 69, 4, 27,200,160,136, 3,142,142,128,140, 21, 81, 44, 12,138, 10,216, 7,228, 33,
+162,142,131,163,136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207, 7,192, 8, 12,150,
+ 72, 51, 81, 53,128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112, 0, 16, 8,179,100, 33,115,253, 35,
+ 1, 0,248,126, 60, 60, 43, 34,192, 7,190, 0, 1,120,211, 11, 8, 0,192, 77,155,192, 48, 28,135,255, 15,234, 66,153, 92, 1,
+128,132, 1,192,116,145, 56, 75, 8,128, 20, 0, 64,122,142, 66,166, 0, 64, 70, 1,128,157,152, 38, 83, 0,160, 4, 0, 96,203,
+ 99, 98,227, 0, 80, 45, 0, 96, 39,127,230,211, 0,128,157,248,153,123, 1, 0, 91,148, 33, 21, 1,160,145, 0, 32, 19,101,136,
+ 68, 0,104, 59, 0,172,207, 86,138, 69, 0, 88, 48, 0, 20,102, 75,196, 57, 0,216, 45, 0, 48, 73, 87,102, 72, 0,176,183, 0,
+192,206, 16, 11,178, 0, 8, 12, 0, 48, 81,136,133, 41, 0, 4,123, 0, 96,200, 35, 35,120, 0,132,153, 0, 20, 70,242, 87, 60,
+241, 43,174, 16,231, 42, 0, 0,120,153,178, 60,185, 36, 57, 69,129, 91, 8, 45,113, 7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20,
+ 54, 97, 2, 97,154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204, 0, 0,160,145, 21, 17,224,131,243,253,120,206, 14,174,
+206,206, 54,142,182, 14, 95, 45,234,191, 6,255, 34, 98, 98,227,254,229,207,171,112, 64, 0, 0,225,116,126,209,254, 44, 47,179,
+ 26,128, 59, 6,128,109,254,162, 37,238, 4,104, 94, 11,160,117,247,139,102,178, 15, 64,181, 0,160,233,218, 87,243,112,248,126,
+ 60, 60, 69,161,144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,126, 60,252,
+247,245,224,190,226, 36,129, 50, 93,129, 71, 4,248,224,194,204,244, 76,165, 28,207,146, 9,132, 98,220,230,143, 71,252,183, 11,
+255,252, 29,211, 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197, 37,210,255,
+100,226,223, 44,251, 3, 62,223, 53, 0,176,106, 62, 1,123,145, 45,168, 93, 99, 3,246, 75, 39, 16, 88,116,192,226,247, 0, 0,
+242,187,111,193,212, 40, 8, 3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37, 0,128,102, 73,146,113, 0, 0, 94, 68, 36,
+ 46, 84,202,179, 63,199, 8, 0, 0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192, 6, 28,193, 5,220,193, 11,252, 96, 54,132,
+ 66, 36,196,194, 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,192, 81,104,
+134,147,112, 14, 46,194, 85,184, 14, 61,112, 15,250, 97, 8,158,193, 40,188,129, 9, 4, 65,200, 8, 19, 97, 33,218,136, 1, 98,
+138, 88, 35,142, 8, 23,153,133,248, 33,193, 72, 4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85,
+ 72, 29,242, 61,114, 2, 57,135, 92, 70,186,145, 59,200, 0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,181, 67,185,
+168, 55, 26,132, 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,218,143, 62,
+ 67,199, 48,192,232, 24, 7, 51,196,108, 48, 46,198,195, 66,177, 56, 44, 9,147, 99,203,177, 34,172, 12,171,198, 26,176, 86,172,
+ 3,187,137,245, 99,207,177,119, 4, 18,129, 69,192, 9, 54, 4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28,
+ 36, 52, 17,218, 9, 55, 9, 3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72, 44, 35,214,
+ 18,143, 19, 47, 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144, 2, 73,177,164, 84,210, 18,210, 70,210,110, 82, 35,233,
+ 44,169,155, 52, 72, 26, 35,147,201,218,100,107,178, 7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,228, 33,242,
+ 91, 10,157, 98, 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229, 6,101,152, 50, 65, 85,163,154, 82,221,168,
+161, 84, 17, 53,143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,211, 26,104,
+ 23,104,247,105,175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232, 3,244,119, 12, 13,134, 21,131,199,
+136,103, 40, 25,155, 24, 7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153, 15,153,111,
+ 85, 88, 42,182, 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,203, 84,143,
+169, 94, 83,125,174, 70, 85, 51, 83,227,169, 9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,103,168,111,
+ 84, 63,164,126, 89,253,137, 6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44, 33,107, 13,
+171,134,117,129, 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,179, 82,243,
+148,102, 63, 7,227,152,113,248,156,116, 78, 9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,185, 49,101,
+ 92,107,170,150,151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,199, 74, 39,
+ 92, 39, 71,103,143,206, 5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187, 68,119,191,
+110,167,238,152,158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12, 88, 6,179,
+ 12, 36, 6,219, 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,225,132,145,
+185,209, 60,163,213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38, 6, 38, 33, 38, 75, 77,234, 77,238,154,
+ 82, 77,185,166, 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,155,223,183,
+ 96, 90,120, 90, 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,179, 70,173,
+157,173, 37,214,187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,216, 6,219,
+174,182,109,182,125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61, 7, 13,135,217, 14,171, 29, 90,
+ 29,126,115,180,114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,182, 19,203,
+ 41,196,105,157, 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,200,189,228,
+ 74,116,245,113, 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159, 41,158, 89,
+ 51,115,208,195,200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99, 47,145, 87,
+173,215,176,183,165,119,170,247, 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,183,200,183,
+203, 79,195,111,158, 95,133,223, 67,127, 35,255,100,255,122,255,209, 0,167,128, 37, 1,103, 3,137,129, 65,129, 91, 2,251,248,
+122,124, 33,191,142, 63, 58,219,101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,200,236,144,
+173, 33,247,231,152,206,145,206,105, 14,133, 80,126,232,214,208, 7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,134, 63,142,
+112,136, 88, 26,209, 49,151, 53,119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53, 42, 62,170,
+ 46,106, 60,218, 55,186, 52,186, 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,190,223,252,
+237,243,135,226,157,226, 11,227,123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150, 64, 76,136,
+ 78, 56,148,240, 65, 16, 42,168, 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216, 67, 92, 42,
+ 30, 78,242, 72, 42, 77,122,146,236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,155, 58,158,
+ 22,154,118, 32,109, 50, 61, 58,189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,101,133,178,
+254,197,110,139,183, 47, 30,149, 7,201,107,179,144,172, 5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42, 7,178,103,101, 87,
+102,191,205,137,202, 57,150,171,158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,165,134, 75,
+ 87, 45, 29, 88,230,189,172,106, 57,178, 60,113,121,219, 10,227, 21, 5, 43,134, 86, 6,172, 60,184,138,182, 42,109,213, 79,171,
+237, 87,151,174,126,189, 38,122, 77,107,129, 94,193,202,130,193,181, 1,107,235, 11, 85, 10,229,133,125,235,220,215,237, 93, 79,
+ 88, 47, 89,223,181, 97,250,134,157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,202,191,153,
+220,148,180,169,171,196,185,100,207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,180, 13,223,
+ 86,180,237,245,246, 69,219, 47,151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63, 84,164, 84,
+244, 84,250, 84, 54,238,210,221,181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,190,219, 85,
+ 1, 85, 77,213,102,213,101,251, 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199, 3,210, 3,253,
+ 7, 35, 14,182,215,185,212,213, 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54, 13, 85,141,
+156,198,226, 35,112, 68,121,228,233,247, 9,223,247, 30, 13, 58,218,118,140,123,172,225, 7,211, 31,118, 29,103, 29, 47,106, 66,
+154,242,154, 70,155, 83,154,251, 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,121, 74,243,
+ 84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,106, 15,111,
+239,186, 16,116,225,210, 69,255,139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58, 95,109,234,
+116,234, 60,254,147,211, 79,199,187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,221,244,189,
+121,241, 22,255,214,213,158, 57, 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,119, 39,238,
+173,188, 79,188, 95,244, 64,237, 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220, 71,247, 6,
+133,131,207,254,145,245,143, 15, 67, 5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,167, 67,207,
+100,207, 38,158, 23,254,162,254,203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,124,165,253,
+234,192,235, 25,175,219,198,194,198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15, 79,228,124,
+ 32,127, 40,255,104,249,177,245, 83,208,167,251,147, 25,147,147,255, 4, 3,152,243,252, 99, 51, 45,219, 0, 0, 0, 6, 98, 75,
+ 71, 68, 0,255, 0,255, 0,255,160,189,167,147, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 11, 19, 0, 0, 11, 19, 1, 0,154,156,
+ 24, 0, 0, 0, 7,116, 73, 77, 69, 7,219, 8, 10, 15, 54, 11,254,114,226, 41, 0, 0, 32, 0, 73, 68, 65, 84,120,218,236,189,
+121,212,101,103, 89, 39,250,123,167, 61,156,225, 27,106, 72, 85, 66, 37, 49,149,129,132,132, 41, 21, 6, 1, 21, 72, 33,160,226,
+132,137, 99, 59,155,216,186,188,182,182,146, 92,180, 23,246,242, 98, 19,187,111,115,219,123,181, 37, 42, 44,245,218, 10, 81,161,
+165,175,136, 41, 71,104, 90, 66, 42, 4,130, 16, 8,169, 36, 36, 33, 73,205,223,116,134,189,223,225,254,241, 60,239,217,251,156,
+250,230,250,190,202,224,254,173,117,214, 55,156,115,246,222,239,244,204, 3,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131,
+ 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,
+208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26,156, 19,168,115,124, 63,193,175, 12,192,126, 33,176, 27, 64, 15,
+ 64,201,255,111,208,160, 65,131, 6, 13, 26, 60, 11, 32, 0, 72, 33,112,217,187,127,234,250, 63,121,248,247,127,226,232,163,127,
+116,211,137,223,249, 55,111,250,239,137, 18, 7,106,159,105,208,160, 65,131, 6, 13, 26, 60,195, 53,117, 1, 32,121,199, 15,191,
+242,157,183,126,215, 53, 63, 56, 83, 12,218, 83,211,173,252,218, 87, 92,250,252,111, 63,112,201,193,187, 62,255,208,147, 79,156,
+ 26,126, 9, 64,104,152,123,131, 6, 13, 26, 52,104,240,204,102,234, 18, 64,235,205,215,180,223,250,154,221,226,154,226,232, 81,
+216,147, 39,224,251, 22, 23, 92,113,225,236, 13,215, 95,243,150,163,167,230,212,189, 15, 28,255, 12,128,126,195,216, 27, 52,104,
+208,160, 65,131,103,182,166,158,254,237,125, 39,158,188,234,130,244, 69, 47,186,108,247, 94,148, 30,126,225, 20,252, 98, 15,157,
+243,118,234,111,189,254,197,223, 48,147, 39,151,127,244,174, 35,159, 6,112,162, 97,236, 13, 26, 52,104,208,160,193, 51,147,169,
+ 3,128, 8,192,194,159,126,234,216,189, 78, 23, 59,191,254,170,189, 87, 24,101,224,122,139,240,167, 79, 3, 89, 27,175,122,245,
+ 85, 87, 29,188,106,223,107,255,254,222, 47, 63,124,122,169, 60,210, 44, 81,131, 6, 13, 26, 52,104,176,126,237,249, 92,223, 47,
+ 3, 48, 13, 96,223, 91,175,155,254,161,223,254, 87,215,253,248,174, 86,146, 21, 75, 67, 64, 25,136,125, 23,195,236,219,135,167,
+158, 56, 49,255,243,191,241,145,255,240,223, 14,125,233,183, 0, 44,240,247,195, 51,121, 50, 67, 8, 7, 0,204,242,159, 71,132,
+ 16,207,105,161,228, 95,218,120, 27, 52,104,208,160, 97,234,203, 67, 2,152, 2,176,231,146, 89,245,173,255,227,103, 95,246,243,
+ 87, 93, 48,179,183,236,149, 0, 60,176,247, 34, 36, 23, 93, 12, 27, 60,222,249,190,255,249, 7,191,242,187,127,247,203, 0, 30,
+229,231, 61,107,198, 30, 66,216, 15, 96,255, 58, 63,126, 74, 8,113,120,157,215,189, 19,192, 65,254,243, 86, 33,196,109,207,113,
+166,254,156, 24, 47, 11, 39, 7, 89, 64, 57, 80,123,235, 48,128, 35, 0,238, 16, 66,156,218,130,251, 76, 94, 31, 91,189, 7, 27,
+ 52,104,240, 47, 27,250, 44,152,178, 7,208, 61,127,202,188,240,162, 89,179,211, 5, 41,198, 36, 5, 1, 72, 41,132,143,255, 17,
+244, 37,168,209,187, 26, 64,171, 95,248,254,191,253,240, 67,127,245,127,190,245,234,111,191,114,239,212,140, 45, 3,112,234, 56,
+202,118, 27,106,199,121,120,199,205,223,240,131, 47,223,127,193,243,127,240, 93,119,252,226,241,249,226,227, 91,196,216,111, 0,
+240,174, 13, 16, 99, 0,184, 3,192, 33, 33,196,237,205,182,121,206, 88, 25,110,224,215, 74, 2, 94, 20, 88,222, 19, 66,184,157,
+ 5,151,179, 97,238, 7, 0,220,185,137,239, 29, 2,240,134,102,213, 26, 52,104,176, 29, 76, 93, 0, 16,221, 84, 30,248,175, 63,
+248,146, 95,251,150, 23, 93,248,218, 86, 75, 39, 65, 40, 64, 8, 64, 10, 64,242,239, 90,209,223, 74,142,222, 19, 74,211,255,132,
+ 0,132, 4,164, 68, 0,130, 11,194,123,173, 33, 71,255, 23,240,174, 68,232, 11,188,249,141, 87,190,226,240,243,127,242,207,126,
+242,215,255,252, 29, 31,249,228, 99,239, 3, 48,196,185, 55,197,223, 0,224,134, 16,194, 13, 0,110,220, 10,205,173,193,211,138,
+187, 55,248,249,155, 0, 28, 12, 33,220,216,104,205, 13, 26, 52,120,174,105,234,187,127,239, 71,175,125,247, 13,175,218,255,117,
+182,231, 0, 47, 32, 36, 23,139, 11, 18, 8,130,148,121,207,172, 55,176,134,238, 1,120, 15, 40, 5, 33, 88,117, 15, 0,132, 16,
+ 82, 10,133, 16, 70, 90, 61,177,236,128, 0, 1,219, 43,113,209, 69,187,118,255,233,127,252,161,255,231,127,255,173, 67,151,255,
+198,159,124,242, 63, 0, 56,182, 69, 90,123,212,132,176,134,182, 86,255,251,206, 16,194, 27, 26,198,254,156,193, 97,144, 37,230,
+176, 16,226, 16,107,242,179,188,214, 55,213,246,192,126, 0, 31, 8, 33, 92,183, 69,107,127, 59,200,188,191, 22,154,125,214,160,
+ 65,131,237,211,212, 83, 35,246,191,254,202,243, 94,134,165, 18,174, 63, 0,188, 39, 38, 29, 45,235,177, 24,108,252, 27, 1, 80,
+ 18, 98,215, 30,210,210,125, 0,164, 7, 60, 91,241,133,228, 75, 7, 64, 6,192, 59,210,246,157, 27,197,231,219,161, 69,203, 24,
+249, 95,126,241, 91,126,238,101,151, 95,248,194, 31,127,215,159,191,109, 88,250,123,183,130,177, 11, 33, 86, 53,109,178,118,254,
+ 46, 84,102,218, 3, 76,236,111,107,182,208,179, 26,183, 3,184,125, 57,205,155,153,246, 29, 0,238, 8, 33,188,135,215, 59, 50,
+246,173, 90,251, 59,162, 16,209,160, 65,131, 6, 91, 1,185,137,239,168, 97, 25, 78,252,197,125,143,126, 18,114,128, 52, 41,145,
+182,128, 36, 15,252,242,213,239, 89,128,145, 67,192, 21, 64,214, 33,147,187, 39,166, 29,198,216,112, 9,248, 2,240, 3, 32, 12,
+249,239, 1, 16, 74, 98,240, 33, 0,193,195,186, 0, 63,116,248,129,183, 94,123,240,158,247,253,235, 15,189,240,226,217,239, 4,
+177,125,185,157,147, 36,132,184, 3,228,211,172,107, 76, 55, 52,219,231, 89,141, 55, 8, 33,110, 94,143, 41, 93, 8,113,243,132,
+ 70,125, 75, 51,125, 13, 26, 52,120,174,104,234, 0,112,226, 71,127,247,190,119,252,213,167, 31,249,206, 43, 46,158,186, 88, 0,
+210,135,224,153, 4,194, 5, 10, 45,235, 15,173,188,246,194, 93, 47,184,241,235, 95,188,223,232, 84,122,239,217,223, 14, 98,236,
+195, 37, 8, 45, 32,246, 93, 3,185,227, 10,160,181, 7,194,116, 1, 87, 32, 12,143, 35,244,190,138,112,226,139,128,235, 3, 50,
+ 7,224,224,131,130, 95, 42,240,130,171, 47,188,232,163,191,253, 99,191,247,166,159,126,175,250,236,145,147,127,134, 42,120,111,
+187, 24,251,145, 16,194, 29, 53,141,237,192, 86, 92,119,153,136,232,195, 91, 20,105, 93,143,240,223, 84,186,217, 86, 92,227, 92,
+140,119,226, 57,215,117,189, 77,104,200,183,163, 10,174,156, 13, 33, 28,104,124,235, 13, 26, 52,120, 46, 48,117, 7, 96, 9,192,
+ 23, 62,112,120,254,221, 56, 60,159, 99,249, 34, 54, 59,127,232,245, 23,253,216,155,175,187,230,252, 68, 26,233,124, 32,211,123,
+127, 8, 12,151, 0, 55, 15,249,252,215, 64, 94,245,189,144,231, 93,113, 38,209,141,191, 44, 29,131,123,242,159,224, 31,255, 71,
+ 8,145,146,214, 46, 4,108,191,192,249,123,119, 77,127,248, 63,255,240,111,190,234, 71,127,235,228,227, 39, 7,127,139,173,243,
+177,175,132, 45,201,195,102,198,118, 19,107,251, 7,150,121,255, 8, 42,211,240,169, 21,174,241,174,218,119,239, 16, 66,220, 94,
+187,238, 77,152,136,232,230,107,222,182,158,232,253, 16,194, 77,172,141,238,223,232,115,109,199,120, 87, 25,235, 45,124,221,217,
+218,199,183, 43, 82,124,146,129,207, 54,228,163, 65,131, 6,207, 5,166,238, 1, 12, 0, 88, 80, 81, 24,133,154, 7,157,153,234,
+ 11,222,247, 83,175,248,149, 31,126,237, 21,175,245, 5, 96,157, 7,202, 33, 66,127, 17,176, 3, 64, 7,152, 55,253, 18,228,254,
+235,215,190, 91,123, 55,212,165,111,129,152,121, 1,252,231,223, 11, 72, 71, 74,185, 0,108,191,192, 69,151,158,191,235,189,111,
+255,238, 95,127,227, 47,252,254,119, 2,248,202, 54, 51,245, 58, 33,223,148,118, 25, 66, 56, 8,224, 3,107, 48,133,253,172, 21,
+222,180, 74,180,117,204,173, 6,128, 67,156,162,245,158, 85, 44, 8,251, 65,169, 89, 7,216,156,188, 18,243,125, 15, 86,118, 45,
+196,231,186, 33,132,240,134,115, 56,222,229,198,122,103,195, 88, 27, 52,104,208,224,236,153,122,100,220, 37,191,234,138,181,186,
+250,121,217, 91,254,224, 39, 94,115,219,181, 87,238,185,220,246, 61,188, 43, 73, 51, 47, 45, 32, 28, 68, 2,232,111,121, 23,228,
+190,151,143, 46,214, 47, 44,238,122,248, 40,254,242,115, 79,226,244, 66, 31, 70, 9, 92,249,188, 25,124,243, 11, 46,192, 37,123,
+102, 0, 0,114,231,165, 16, 47,250,105,184,207,254, 6, 96, 52,201, 22, 82,194, 47, 13,240,141,215, 95,245,210, 31,252,166, 23,
+254,216, 31,252,229,125,239,196, 54,165,187, 49,195,187, 97, 66, 35,220,232, 53,110, 96, 6, 55,169, 1, 30,170, 9, 9,117,109,
+118, 63,170, 72,251,195,107, 8, 27, 31,168,105,214,119,212, 52,203, 3, 19,207,125, 83, 8,225,200, 10,133, 98,222,181, 12, 67,
+175, 95, 43, 62,219,129,101,198,113,174,198, 59, 59,193,208, 79,213,158,111,255, 54,158,149,131,107,104,238,103,179,175,182,220,
+253,210,160, 65,131,127,153, 16, 91,116,141, 0, 96,250,135, 94,187,231,231,254,243,119,127,237,219,118,116,178,188, 40, 2, 5,
+200, 21, 3,102,247, 0,202, 57,168,111,248, 73,168, 23,253,171,209,151,191,244,228,105,188,253, 79,239,197,103,143, 47,160,155,
+ 24, 36, 70, 82, 0,124, 89, 34,241, 22,223,250,138, 75,240, 51,175,191, 26,137, 38, 11,191,255,234,189,240,247,191, 15,232,236,
+ 70,236,210,170,147, 4, 15,124,241,241, 39,175,248,158,223,120, 19,128,207,129, 92, 4,171, 17,210, 91, 80, 43, 62, 35,132, 16,
+235, 32,188,147, 26,236, 27, 38,253,178,171, 85, 88, 99,191,239,221, 53,102,116, 4,192,205,203,249,118,151,209,110, 15, 11, 33,
+174, 91,229, 94,117, 6,124,243, 36, 83,224,123,127,160,198, 60, 78, 1,184,180,254, 57, 54,185,191,103,130,105,221, 56,233, 71,
+ 95, 69,243,222,182,241,174, 48,214, 35,124,207, 59, 38,215,106, 59,152, 98, 8,225, 65,140,251,237,175,219,164,149,230,206, 9,
+107,207,114,214,134, 35,188,150,183, 55,165,119, 27, 52,104,112, 46, 52,245, 73,134,126,201,175,126,207, 21,191,122,235,155,174,
+249,126,233, 53,138, 97, 73, 12,221,218,202, 56, 31, 60,176,251, 82,168,231,127,251,232,203, 79,206, 45,225, 7,126,231, 19,120,
+112, 96, 49,211,202,209,215, 10,137, 81,200,149,128,201, 18, 8,103,241,254,255,117, 4, 74, 74,252,155,131,215,144,198,190,247,
+ 69,240,143,236, 1,220, 18,160, 51, 64, 0,190, 40,112,201,165,187,247,190,229, 53,151,188,241,195, 31,127,232, 11,168, 50,228,
+215, 75,108,111, 89, 67, 67,155,100, 40, 55,111, 34,208,234, 61, 19,218,229,138,185,206, 66,136, 67,108,222,142, 26,233,129, 16,
+194, 77,107,248,195, 15, 9, 33,110, 92,225,122, 71, 66, 8,183,214, 24, 74,204,193,174, 51,196, 91, 38,152,202,178,121,248,181,
+103,187,251,105, 28,239,145,149,174,183, 77, 12,125, 50,190, 96,171,170, 10,174,228, 62,216,207,235,113, 75, 8,225, 57, 95,110,
+184, 65,131, 6,207, 12,166, 46, 0,136, 61, 93,117,253, 31,223,244,178,255,244,186,151, 92,240, 98, 59, 0,172, 40, 1, 63,164,
+126,108,137, 24,125, 50,148,125,168, 43, 94, 3,164,221,209, 5,254,253,127,255, 28, 62,245,196,105,160,219,197,201, 69, 11, 72,
+ 7, 41,128,174, 18,184,184,173,113, 65,174,177,107,186,131, 15,254,175, 7,241,218,203,207,195, 75, 46, 62, 15,144, 18,242,194,
+215,194,127,254,247,129, 93, 23, 1,193,195, 11, 1,157,165,184,241,245, 47, 59,248,225,143, 63,244, 94, 0, 39,177, 49, 19,252,
+122, 75,198,222,142, 77,228, 22,215,106,139,215,181,218, 85,153,143, 16,226, 48,151, 38,189,165, 38, 92,172,198, 76,110, 94,227,
+122,135, 66, 8,135, 49,110,234,142,207, 55, 89, 42,245,182,213,158,175,246,108, 55, 61, 77,227,189,237, 92,153,168,121, 44,245,
+253,113,120,139, 74, 5,199,186,242,117, 51,126,189, 6,253,104,111,134, 16,246,175, 20, 7,209,160, 65,131, 6,117,108, 38,191,
+ 59, 6,197,117,222,122, 96,250,231,239,249,119,175,253,211,215, 93,189,247,197, 69,207,193,195, 17, 67,151,160, 10,114, 74, 0,
+ 90, 80, 5, 57, 45, 33,119, 95, 51,186,200,209,185, 30,254,224,211, 95, 1,178, 22,165,185, 41, 9, 40, 5, 15,137,185,129,195,
+103,143,246,112,247,209, 30,138, 32, 96,149,194,223,124,241,104,245, 0,221,139, 40,232, 14,150,159, 38, 0,214,227,202, 11,103,
+ 46, 5,112, 62,182,175, 81,205, 13,172, 69,110, 52, 64,171,206,224, 78,109,128, 41, 28,154,184,247,138, 12, 98,157,102,218,195,
+ 43, 60,211,193, 9, 6,187,158,231,187,227,105, 26,239,145,115, 85,127,159, 93, 8,147,230,242,179, 97,174,167, 0,220, 10,114,
+125, 92, 39,132,184, 81, 8,113, 91,237,117,163, 16, 98, 7,127,166, 46,180,220,196,130, 87,131, 6, 13, 26,108,169,166, 30,205,
+237, 23,188,237,219,246,253,202, 59,191,249,133, 63,161,188, 70, 81, 56, 64,121, 50,177, 7, 64,120,129,160, 4, 32, 37, 87,139,
+243,128,206, 32,218, 23,140, 46,244,212, 66, 31,189, 65, 9,180,179, 74, 78,136,186,181,164,250,177,199, 23, 75,220, 85, 88, 92,
+ 61,165,177, 48,176,213, 67,100,211, 0, 20, 48,236, 65,228, 93, 4, 4,192,149,184, 96,111,231,188, 52,145,123,135,133,255,194,
+ 6,199,117,235, 42,239,237,103, 38,181,159, 53,168, 81,244,247, 6,180,197,131, 43, 48, 86,172, 67,187, 30,211, 26, 87, 8, 32,
+ 91,175,229,224,200, 42, 99,220,208,181, 38,159,237, 28,142,247,156,228,134,179,224, 54, 25, 59,112,235,217,228,166,243,119,215,
+ 83,236,230,182, 16,194, 33,140,187, 56,222,181,134, 32,213,160, 65,131, 6, 27, 98,234, 2, 0,166, 51,249,170,247,253,200, 85,
+191,254, 29,215, 94,244,106, 59, 4,202,196,145,102,238, 2, 80, 4,232, 84,160,239,188, 55, 16, 18, 90,142, 50,216, 5, 0,132,
+ 42,126,109, 54, 79, 32,141,129, 15,160, 90,241, 33,140,234,189, 35, 0,240,212, 8,102,161, 95,226,222, 65, 31,111, 49,245, 84,
+120, 15,132, 2,176, 67, 64, 76, 65, 8,170, 82,215,105,235,214,158,169,108,246, 43,199,123, 27,178, 64,172,199,103,201,126,213,
+ 91, 80,181,231,188, 19,192,122,131,165,234,209,205,251, 57,240,107, 51,152, 93, 69, 3, 60, 27,108,138, 9,243,103, 15,156,227,
+241,110, 59, 83,103,134,126,231,196, 56,110, 62,151, 29,250,216, 29,113, 43, 42,211,255,254, 16,194, 13,147,129,129, 13, 26, 52,
+104,176, 81,166, 30, 77,217,230,107, 47,206,190,239,143,126,236,218,219, 46,217, 51,125, 94, 49, 12, 64,166,136,161,151, 30,178,
+ 8,208, 45,137,119,255,221, 3,159,185,100, 42,155,249,246, 3, 23, 94, 92, 4, 80,163, 23,161,128,114, 17, 97,225, 97,136,157,
+151, 2, 0,158,183,163,139,111,187,108, 15, 62,120,255, 49, 64,107,192, 10,170,251, 30, 27,192,128, 25,187, 16, 24,204, 45,225,
+202, 61, 83, 21,209,237,157, 2, 6,243, 64, 49,205, 31,246, 8, 85,104,156,196, 54,152,223, 89,123, 66,141,200,174, 39,120,109,
+ 57,230,180,145, 94,238, 79, 7, 78,109,193,103,159, 77,227, 93, 15, 67,191,245,105,106,185, 91,175, 98,135,103,211, 60, 54,104,
+208,224,153,201,212,163,185,253,188,159, 62,184,231, 23,223,249, 77, 87,255,111,211,121,154, 20, 30, 64,155, 53,231,194,195,120,
+160, 76,129, 95,250,255, 62,247,225, 95,251,243,175,124,240,195, 63,253,194,183,129, 10,191,145, 95, 93, 0,208, 18,225,196,103,
+129,175,185,158,153, 36,240,246,111,189, 10, 31,188,255, 9, 96, 80, 2, 73, 82,241, 98,199,119, 13, 30, 88, 90,194, 27,175,216,
+135,111,126,225,190,138,240,206,127, 25, 33, 12, 33, 92, 57,210,236,133, 8, 88, 92, 28,246,143,206, 15, 22,182, 81,123,186,141,
+171,155, 69,220,128,141, 71, 66, 31,193,230, 43,211, 61, 27,243,151,159,109,227,157,100,232,183, 63, 93,209,231, 66,136, 83, 19,
+193,141, 7,209, 52, 17,106,208,160,193, 38,153,186, 0, 32,148,196, 21,191,243, 67, 87,252,151, 31,121,229,165,111,116, 37, 80,
+104, 1,164, 10,240, 30,161,239,145,106,224,216,160, 24,252,204,127,187,231,119,223,255,201, 83,127, 4,192, 63,188, 48,124, 10,
+ 34, 92, 25, 2, 32, 34, 83,207,187,240,143,124, 2,234,202, 31, 0,218,187, 1, 0,215,125,205,110,124,232,230, 87,227, 7,222,
+123, 23, 22,231, 7, 64,150,145, 63, 61, 4,160, 44,129,126, 15,111,186,124, 47,126,255,167, 94,141, 52,154,223, 93, 1,255,192,
+159, 65,164, 25, 32,200,143, 31,188, 3,164,196, 99, 79,204, 31, 27, 20,254, 24,182, 47, 80, 14, 32,159,243,193, 26,145,221,176,
+246,245, 47, 44, 69,233, 89, 51, 94,238,198, 54,201,208,159,238,168,243,166, 16, 77,131, 6, 13,214, 13,185, 6, 83, 63,239,189,
+ 63,242,252,223,252,145, 87, 93,250,198,162, 4, 92, 91, 3,185,161, 44,240, 37,143, 52,147,184,239,241,185,167, 94,247,174,143,
+191,227,253,159, 60,245, 95, 1, 60, 12,224,241, 47, 29, 91,248, 34,164, 0, 28,247, 87, 81, 2,208,100,130,183,247,253,246,216,
+ 77,190,237,197,251,240,207,255,238, 13,248,213,183, 92,131, 23,205,166,200, 66,137, 41,233,240, 29,151,237,194,251,255,245,215,
+225, 67,191,248, 58,156, 55,157,143, 62,239,191,252,231, 8,167, 30, 6, 76, 78,109,219, 17, 0,235, 0, 41,240,197, 71, 79, 63,
+ 2,234,179,238,159, 97,243,188, 82,212,249,179,253,249, 14, 62, 75,199,187, 18, 67,191,233, 25,198,208, 27, 52,104,208, 96,203,
+ 52,117, 92,181, 39,121,237, 91,175,126,222,245,182,239,129,174, 6, 18, 9, 20, 30,114, 96,161, 59, 18, 31,189,247,201,251,191,
+247, 61,159,254,143,167,122,254, 99, 0, 78,128, 26,189,100,127,245,169, 19,119,157,126, 83,241,163,221,118,162,189,103, 59,188,
+ 0,208,106, 35,124,229, 31,225,103,254, 8,242,202,239, 31,221,231,162, 93, 93,252,242,183,188, 0,183,188,249, 74,156, 94, 28,
+ 66,107,137,217,118,122,198,243,248,199, 63, 1,247,207,127, 8,228,109,146, 58,164, 66,240, 30,194, 57,184,193, 0, 31,252,135,
+123,254, 39,168, 30,253,118, 50,245,205,248, 53,199, 76,168,219, 85,245,236, 44,112,164,246,124,235,234, 62,199,249,219,207,214,
+241, 62,155, 24,250,102,131, 24, 27, 52,104,208,104,234,227, 12,255, 5,251,242,203,219,169,129,247,160,232,246, 94, 9, 93, 88,
+ 32, 5,110,187,243, 11,135,222,244,238,195,255,246, 84,207,255, 13,128,167, 0,204, 1, 40, 0,148, 15, 28, 47,238,250,232,253,
+ 79,220,171, 52, 16, 56, 21, 77, 72, 50,197,139,246, 52,252, 63,255, 33,220,189,255, 23, 80,140,187,191,141,146,216, 61,157,159,
+201,208, 93, 1,255,192, 29,240,119,189, 19, 34,205, 32,148, 34,127,189, 73,129,178,132,146,192, 23,191,120,244,201, 15,126,252,
+145, 67,160,218,239,219,194,212, 39, 90,124,110,132,200, 78,166,137,221,244, 12,219, 7,245,231,155,229,114,166,155,213,210,159,
+ 13,227,125, 86, 48,116, 46,221, 59, 41,124, 53,104,208,160,193,166,152,186,250,196, 3,139, 95, 58, 81,148, 54,105, 75, 36,165,
+ 71,162,128,129, 10,225,103,239,184,231,143,111,253,127,143,252, 10,128,207, 0, 56,206, 26,122, 12,111, 43, 1, 60,245,159, 62,
+252,224, 29,253,210, 67,149, 22, 40, 61,105,235,177, 40, 77,187,139,240,208, 71, 97,255,238,103,224, 31,251, 24,208, 95, 65,137,
+ 27, 46, 32, 60,117, 47,236,199,126, 1,254,190,219,129, 44, 7,148, 38, 95,186, 0, 32, 52,196,176, 4, 84,192,187,222,255,241,
+ 15, 2,248, 50,223,127,203,153,122, 45,111,185,142,117,165, 23,113, 26, 82,157, 32,223,178,134,166,123,174,113, 7,198,125,183,
+183,172, 99, 46,110,121, 22,143,119, 37,134,126, 24,171,215, 44, 88, 83,232, 11, 33,220, 82,123, 29,156,152,179,141,238,183,122,
+ 80,230, 41, 52,121,234, 13, 26, 52, 88, 3,171,154,223,159,152,119,159,250,241, 63, 60,124,219,207,190,238,242, 27,102,219,102,
+250,254, 19,139,143,253,214, 95, 63,244,225,127,124, 96,241, 47, 0, 60, 1,224, 52,107,231,117, 38,234, 0,244,239,126,108,240,
+145,255,251,239, 31, 60,248,182, 55, 95,249, 6,183, 80, 80,241,153, 84, 85, 33,108,173,105,192,206,195,125,234,215,224,147, 14,
+176,227, 10,200,153,203, 0,149, 1,161,132,159,127, 4, 56,126, 63, 48, 56, 5,152, 4,104,239,168, 81, 60, 0, 94, 1,133,128,
+106, 43,124,228,175, 31,252,252, 31,254,213,151,254, 24,100,122, 47,183, 65, 59, 63,136, 51,251,139,159,194,198, 34,223,111,198,
+120,237,245, 59,185,205,232,161,117,220,255, 6,102,150,219, 18,112,198, 81,214,183,213,152,200,193, 16,194,123,150,211, 88,107,
+ 41, 95,179,207,214,241,174,194,208,223,112,150,110,130,253, 19,140,248,214,154,213,226, 0,215, 58,184,125,173, 92,243, 90, 27,
+221,250, 28,223,214,116,111,107,208,160,193,217, 48,245, 18,192,201, 15,221, 51,247,222, 15,221,115,247,157, 0,186, 32,191,249,
+147, 32, 83,251, 34,127,102,178,172, 88,236,183,254,228,173,127,244,192,187, 15,156, 63,125,201,245, 47, 61,255,178, 98,110, 0,
+ 49,157, 1,169, 24, 85,140,131, 49, 16,198, 80, 81,154,147,247,193, 29,251,244,232,114, 66, 42,106,216,210,238, 78, 80, 60, 0,
+133, 71,240, 41, 76, 98,112,228,129, 99,167,126,224,215,255,226,215, 89, 75,239, 99,141, 14,109, 43, 16,209,205,180,106,189,121,
+ 35, 68,150,171,165,221,140,170, 19, 90,100,116,135,152,240, 31,158, 96, 14, 81,152, 56, 80, 99, 16,219,137,219, 49,222, 6,245,
+ 38,214, 52,111,175, 61,219, 65,102,132,179,172,137,159,194, 10, 62,248,103,242,120,121, 92,203,185, 4, 62,176,129,173,112,199,
+ 38,114,215, 15,178,192,116,132,231, 96,185,218,239,147,173,114, 1, 42, 3,220,164,178, 53,104,208,224,172,152,186, 99,198,109,
+153,137, 75,254,223,144, 95, 14, 43, 55, 77,177, 0, 22, 3,112,223, 13,191,117,207,255,241, 55,111,123,197, 59, 95,122,249,174,
+231,149,167, 7,192, 84, 10,145,129,106,189, 71,173, 93, 40, 32,201, 87,207, 67, 11, 0,188, 7,134, 30,126,110,128,228,130,243,
+240,248, 19,115,139, 55,252,242,159,221,118,114,161,252, 88, 77,200,216,110, 28,102,134,190,225,160, 37, 33,196,237,181, 2, 54,
+179,117, 66,255,116,111, 4,214,214,111,100,237,122,255, 10,154,103,221, 74,113, 35,214,104,132,243, 76, 30,239, 50,216,168,123,
+224,208, 89,220,107, 63,214, 31,103,112,251, 57, 16,232, 26, 52,104,240, 28,129, 92,131,141, 90,144,191,252, 20,168,243,217,105,
+ 0, 61,254,127, 88,227,187, 67, 0,115,167,122,254,239,191,254,215,254,233,237, 31,189,231,137,251, 77,162,161,230,134,240,167,
+ 45, 48,112,181,171, 8,142,144,159,120,197,154,240, 14, 64,225, 16,230, 28,112,178,143,100,199, 14,124,238,193,249, 39,223,240,
+115,127,242,142,123, 30,153,255,115,126,182, 30,182, 47,234,253, 16, 19,215, 27,185, 17,199,217,212,255,190, 29, 84, 94,246,118,
+172, 47, 7,249, 14,144, 41,123,219, 43,154,113, 83,152,235,214,184,215, 33, 80,219,211,195,207,246,241,158, 99, 68,127,253,122,
+247,206, 29, 32,119,192,205,141,217,189, 65,131, 6,235,166,227,219,124,125, 5,160,197, 90,218,213,191,240, 29, 23,253,248,219,
+223,120,213,183,206, 78, 39,218, 15, 61,156,150, 64,174, 33, 98,141,120, 89,123,156, 16, 0, 7, 4, 27,128,190,131, 44, 45,148,
+145,232, 59,224, 55, 63,246,228,223,189,253,247,238,126, 79,233,195,167, 80,165,210,217,103,227, 2,176, 41,120, 82, 75, 60, 2,
+234,110,118,232,105,124,174,104, 14,175,247, 68, 63,180,206,110,112,207,186,241, 62, 77,235,190, 31,103,198, 38, 28, 6,153,219,
+ 27, 70,222,160, 65,131,103, 28, 83,143,140, 61, 3, 48, 13, 96,239, 11,246,164,175,255,217,183,236,255,246,239, 58,112,209,203,
+119,116,181, 65,144,220, 19, 93,114, 49, 25,126,176, 0,200,224, 71,202,250,226,192,251,143,124,230,241,251,126,251,208, 67, 31,
+254,219, 47, 44,252, 37,128,199,216,114,208,127,182, 50,244, 6, 13, 26, 52,104,208,224,217,198,212,227,125, 18, 0,109, 0, 83,
+ 0,246,238,153, 82, 47,121,211,181,179, 47,127,235,139, 47,122,217,213,207,155, 58,191,157,170,118,166, 69, 34,149,146,222, 33,
+ 12,157, 45,122,133,239, 61,124,116,225,216, 7, 62,251,232, 61,135,238, 62,117,215, 3,199,139,195, 0, 30, 7, 48, 15,242,161,
+111, 91, 78,122,131, 6, 13, 26, 52,104,208, 48,245,213,239, 37, 1,164, 32,147,124, 11, 20, 81,191, 3,192,158, 78, 42,118,182,
+ 19, 57,149,105,153, 20,206,219,197, 34, 44, 44, 12,252, 9, 0, 71, 65, 38,246,121,144,223,124, 9,107, 7,234, 53,104,208,160,
+ 65,131, 6, 13, 83, 63,135,204,221,176,246, 30, 95, 26,163,238,235, 0,107,224, 37,191, 10,102,228,182, 97,230, 13, 26, 52,104,
+208,160,193, 51,135,169, 79,222, 63, 50,249,248,179,206,212, 67,237,103,195,200, 27, 52,104,208,160, 65,131,103, 48, 83, 95,237,
+121, 26, 38,222,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160,
+ 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26,
+ 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6,219, 4,129, 61,175,217,250, 34, 47, 90, 3, 66, 2,240, 64,105,
+ 55,247,253, 68, 87,127, 59, 13, 40, 11, 56, 15, 40, 9,244, 6,244,153, 86, 14, 72, 9,168, 4,176, 5,127,216, 3,189, 18, 40,
+ 7,213,181, 52, 95,107,185,238,241,189,193,248,125, 1,186, 71,150,210, 24,116, 2, 20, 3,160, 40,169, 64,173, 50, 84,212,214,
+ 6, 64, 11, 42, 96, 11,126,207, 76, 92,111, 43,231, 51,201,232,153, 92, 65,227, 21, 18,232, 47, 0,222, 80,155, 90, 33,168,170,
+254,206, 29, 84,131,207,228,128, 49, 72, 18, 9, 59,244,240,197,144,230,212, 91,160, 44,129, 84, 1, 75, 3,154,171, 76, 3,131,
+130,202,253,216, 1, 77,148, 0,215,241,243, 52, 7,174,160,255,235, 4,232,247,233,111,239,105,254, 61,207,173,231, 53,175,255,
+190,217, 61,240, 92,129,201,128, 96,129,153,157, 64,111,137,246,108,175, 15,180,218,192,226, 28,208,153, 6,138, 30,205,107,111,
+ 9,176,150, 94, 43,237,131, 73,212, 63,107, 52,144,231, 64,210,162, 53,141,173,140,125, 0, 22,230,105,221,215,187, 63,205, 50,
+247,146,146,206, 96, 44, 17,117,182,235,218,158,198,107,191,241,117,176,222,227,227,247,223,143,235,175,123, 57,254,230, 31, 62,
+ 6, 60,246,200,250,232, 2, 31, 61,132,101,230, 44,158, 25, 7, 58, 27, 40, 1,169,249, 12,243,103,138,193,242,115,189,218, 60,
+107, 13, 8, 77,103,221,215,104, 74, 81,123, 6,163,199,207, 5,106,159,117,126,229,245,173,237,153,214,129,203,209, 59,252, 0,
+221, 71, 27, 96,215, 14, 32,215, 64,223, 2,143, 62, 85,209,183,205,210, 85,111, 0,215,167,253, 56,183, 64,255,155,234,210,222,
+ 20,154,126,159, 59, 69,159, 47, 65,115, 39, 4,125,103,106, 22,152, 63, 69, 99,204,114, 96,137,247,181, 45,137, 86,187, 65,228,
+ 46,213, 62,153,234, 2,195, 33,128,100,252,125, 41,129, 97, 1,100, 93, 32, 12,137,174,197,249,137, 52,200,110, 19,253,168,207,
+ 71,233,137,214,217,115, 68,171, 76, 2, 76, 79, 3, 89, 66,180,183,215, 7,122,139,244,127, 9,162,245, 58, 3,242, 4, 8,142,
+190, 51,112, 21, 95,141,223,243, 30, 24, 12, 1,163,128,114, 8,244, 6, 80,232, 92,244, 43, 91,250,176,173, 12, 72, 83, 32,111,
+209,164, 41,193,197, 94, 55,208, 76, 77, 74, 98,172,163,191,249,187, 82,208,228,123, 87, 93, 79, 41,250,124,176,180, 11, 74, 15,
+ 12,123,213,119,149, 4,181,119,229,131,165, 38,238, 85,127, 54,239,233,149, 26, 98,222, 74, 3,174, 4,116, 74, 19, 8, 0, 90,
+ 86,125,225, 44, 19,139, 86, 27, 48, 18,232, 15, 55, 54,206,245,194, 51, 69,208,160, 69, 85,154,132,152,164, 69, 4, 36, 53,192,
+236, 20,176,107, 6,112, 2, 83,179, 83, 48,105,138, 78,150,224,130,238, 14,120,239, 48, 53,213, 69,174, 13,160, 36, 74, 1,122,
+ 86, 33,105,141,250, 5,207, 93,159,152, 75,176,192, 48,208,198, 42, 74,154, 56,157,144, 64, 16, 60, 80, 6, 90,131,200, 52, 4,
+ 63,151,102, 6, 34, 64,189,115, 3,175,153, 16,213,154, 42,201, 4,207,111,236,240,249,103, 97, 51,190, 52, 1,138, 33, 48,187,
+ 19,152,159, 7,218,109, 34,198,105, 14, 44,205, 19, 67,159,155,163,255,207, 47, 2,153, 33,162,178,220, 88,151, 99, 52,241,172,
+196,249, 84, 9, 49,245, 60,161,207, 7,150,215,149,166,125,235, 2, 19,214,117,158, 65, 81, 59, 35, 0, 93, 79, 73,250,185,209,
+ 51, 61,137,172,139, 29, 47,121, 62,190,233,107, 95,133,139,247, 93,128,151, 92,122, 25,222,255,145, 59,129,175, 60,180,194, 30,
+224,113, 56,193,231, 52, 16,109,241,158,247,151, 27,239,215,232, 89,184, 84,138,207,189, 4, 96,121,174, 34, 3, 14,203,143, 65,
+202,229,207, 96,100, 2, 44,171,142,209, 20,207,215, 29,209, 28, 81,123, 14, 81,171,149, 25,136,158,173, 50,117, 87,188,225,149,
+216, 55,179, 19, 95,125,224, 33,192, 11,192, 50,179, 49, 9,112,252, 36, 80, 22, 27,159,251, 52,161,123, 59, 79,175, 78,155,246,
+ 66,105,233,119, 47,233,186, 73,198,140, 98, 30, 80, 45, 26,160,183, 68, 19, 58,109, 98,220,253, 62, 48, 51, 75,243, 59, 24, 0,
+ 42,163, 57, 24, 20, 52,199,176,128,110,211,251,129, 5,127,107,137,150, 8, 79,239, 39, 45,154, 19,239, 42,250, 93,148,145,176,
+210,251,170, 70,147,207,246, 28, 74,162,125,240,174,198, 27, 52,205,111,164,175,194,159, 27, 58,211,202,136,191, 24, 3,148,142,
+133, 23, 71,124,211,243, 79,193,130,148,117,244, 25,235,129, 86, 90,209,135, 68,211,124, 13,150,104,141, 22,151, 0,153, 1, 58,
+217, 98,166,110, 52, 73,110, 83, 93, 98, 52, 89,139, 78,163, 47, 55, 38,213,155,154,150,113,198,225, 18,172, 9,242, 97,142, 31,
+ 19,146, 25, 78, 1, 56, 55,126, 64, 19,102,196,166, 38,221, 43,150,206,108,121,230, 61, 66,124, 6, 69,247, 25, 70,173,212, 19,
+ 97, 84,124,128,165, 4, 82,131,233,171, 46,198,174,189,187,177,112,114,142, 62,123, 54,139,109, 50,218, 96,126, 98,190,152, 38,
+193, 75, 34,208,146,159, 79, 25, 32,213, 64, 59,199,174,169, 41,116, 59, 57,164, 48, 72,117,130,221,121, 7,222, 58, 76,229, 57,
+ 4, 72,152,203,146, 20, 62, 4, 20,142, 55,135, 0,109,144,193,128, 54, 84, 96,105, 80, 5,210, 10, 18, 69, 19, 82, 88, 34,144,
+195, 33, 63, 27,207, 63,226, 51,241,188, 26, 65,115, 36,248, 64, 11, 65,147,157,112,207, 30, 9, 18,178,228, 58,153, 66,212,140,
+ 20,191,140, 28, 95,223, 85,133, 0,205, 19, 23,173, 6,231,136,145,107, 69,251, 55, 8,160,219, 2,134,125, 98,220, 11,139, 36,
+ 0,246, 23,128, 86,151, 24,123,183, 11,204, 47,208,153, 89, 92, 32,162, 90, 22, 43, 11,186, 82, 84, 47, 8, 98,108, 82,240, 61,
+ 19, 58,119, 73, 77, 8, 82,154, 9,153,160,121,119,229,218,243,183, 18, 99,139,140,125, 76,216, 92, 31,212, 75,175,193,171, 95,
+246, 82,156,127,233, 37,208,207,219,137,185, 2,248,142, 87,190, 12, 51, 59,102, 49,232, 15, 48, 59,211,197, 37,187,207,195,103,
+ 62,243,185, 51,247,126,212,108, 60, 0, 25, 42, 33, 67,177, 42, 39, 88,178,156,124, 30, 33,232,156, 71, 11,159,103,109, 76, 50,
+ 51, 89, 85, 75,183,227,170,120,156, 15, 85, 19,234, 77,100,232,188,215,189,171,180,244,184,255,227,125,227, 89, 17,188, 47, 86,
+153,187, 19, 65,224,171, 95,250, 74, 37, 80, 35, 16,253,156,155, 7,250,131,205, 9,196, 66,208,120,179, 22, 32, 12,208, 63, 13,
+136,132,158,211, 6, 32, 55, 76,163, 53,224, 11, 58,115, 66,145,130,212,105, 3,193, 0,253, 69, 64,166, 52,238, 97, 65, 22,132,
+194, 3,153, 34, 70,159,104,182,208, 1,240, 3,162, 25, 70, 19,225,113,172, 93, 2, 52,126,103,129,162, 24,127, 95, 37,204,244,
+ 37,189, 63, 44, 42,165,101,179, 86, 33,147, 1,157, 14, 41,153,138,133, 26, 95, 83, 18, 35,255, 48,252,203,122,206,198,217,162,
+228,189,165, 21,208, 50, 52,247,115,139,180, 62,145,127,132, 0, 36,105,197,144,132, 36, 75,155, 43,217,154,225, 1, 59, 4,172,
+ 2,130,170, 4,131, 16,160,183,216,158, 65,147, 24, 15,134, 7, 61,116,232,210,100,174,151,225, 13, 61,153,146,213, 4, 97, 49,
+ 41, 49,190,222, 18, 96, 23, 43, 83,165, 94,197,100, 25,255, 63, 50,179,240, 97,140,230,150,149,190,211, 31, 2,166,164, 49, 56,
+ 95,227, 11, 44,185, 74, 77, 7, 63, 8,132, 16,112,108,105, 0,244,203,179,159, 63, 45,232,103,185,220, 56,226,125,217, 12,158,
+101,180, 49,243, 12, 59,186, 57,118,228, 45, 12,221, 16,137,202, 32,132,130, 11, 64,102, 52,156, 4,114,149, 96,105,232, 97,132,
+198,206,118, 27, 30, 14,189,185, 5, 58, 88, 96,169, 48, 97,105,189,112,244, 28, 33, 84,204, 48, 75,129,165, 97, 69,192, 38,101,
+174,232, 34, 1,152,241,250, 74,147, 49, 44, 17,103,220,183, 39,240, 26,219,117, 16, 36,157,215, 23, 13, 8, 9,216,231,177,242,
+119,172, 29,215,108,109,237,255,219,141,200, 7,140, 38,162,215, 27, 18,227, 94, 90,168,126,182,235,140,188, 79,103,100,105, 1,
+104,231,116,112, 53,239, 45,187,140,182, 88,103,182, 33, 18, 64, 79, 68,184, 45,201,173, 18,173, 37,245,253, 47, 5,237,219, 44,
+ 95,223, 57,156,156,195,213,204,254,107,201, 7, 47,185, 18, 95,187,111, 47,174,250,154,125,208,198, 64, 10,133,223, 93,248, 71,
+180, 90,109,244,123,125,120, 15, 44, 44, 14,177,184,184, 0,180,103,128,211, 79,158,121,145,200,152, 81,147,209,156,175,230,123,
+ 37, 39,162,243, 36, 16,148,182,178,210,149,126,229,207,215,199, 85,223, 75, 35,147,176,174,148,131, 58, 61,113,252,249, 96, 1,
+175,171,117, 26,185,168,252,184,213, 99, 53, 28,121,164,114, 97,214,233,206, 70,247,175,214,192,142, 61,192,220,177,138, 65, 58,
+144,146,165, 88,200,142, 90,184,101,197, 8, 69,181,238,129,191, 19, 21, 31, 33,129, 84, 0,133, 1,100, 73,230, 96,128,172,122,
+138,207,169,244, 36, 72,150, 53, 58, 16,215,173,176,149, 18, 81,176,229,161,254,126,152,120, 63, 77,170,239,109,202, 5,204,252,
+103,166,195, 22,137, 41,114, 55,198,131,101,249, 30,113, 47,157,141, 66,182, 25,198, 94, 12,137,142, 11,144,176,191,180, 64,252,
+ 45,142,185,100, 26, 17, 93,174,174, 32, 1,107,169, 79,251,201,150, 68, 3,134, 5,241, 93,222,151, 91,167,169,107, 77,230,129,
+118,206, 27, 56, 84, 62,184,192,155, 82,201,117, 74, 92,158,181, 80, 81, 17, 74,161,201, 7,209,105,209,239,118, 88, 73, 85,107,
+ 73,174,241, 96, 73, 65, 23, 11,108,118, 91,237,144,120, 71,207,106, 45,253, 46, 88, 43,138, 38, 35,207,215, 45, 74, 12,143,158,
+130, 59,118,146,124,116,103,101,233,144, 44,233,218,149,205,155,237, 46,155, 1, 19,250,188, 80,232,116, 50,236,105,229, 8, 65,
+ 32,211, 6, 65, 8, 40, 8,116,187,109, 20, 69,137, 92, 75, 88,235, 96,164, 70,225, 75, 88, 31,224,124,192,208, 89,146,136,123,
+ 5,141,175, 28, 18,179,141, 82,171,103,198,238, 1, 12, 29, 32,108,181,150,214,146,164,169, 36, 19, 75, 95,249, 15,203,104,170,
+ 21,100, 85,128,228,107, 50, 69, 43,216, 60,191,218,218,141, 76,157,178,230,152,148, 36, 56, 24,189,242, 62,138,102,210, 51,172,
+ 28,231,128,161,167,124, 64, 61,107,145,214, 3,121, 70, 26, 87,194,254,208, 84, 1, 69, 77,115,239,228,180,111,146,148,215,193,
+144,182, 82,186, 51,173, 87, 62, 48,115,246,164,237, 40, 65,231, 43, 18, 92, 35, 73,106,183,174,102, 45, 96,247, 72,159,199, 63,
+236,173, 95,235,153, 20, 34, 54,193,208,209,202,112,222,197,123,112,253,181, 47,133, 84, 18, 40, 61,172,183,184,176,211,193,253,
+143, 63,134,233,172, 13,231, 28,250, 75, 61,220,253,224,151,113,242,209,199,136, 67, 78,238,139,145,182, 43,170,222,142,163, 88,
+ 14, 63,238,243,142, 46, 9,107,137, 70,200,168,197,176,150,166, 4, 9, 79,235,177, 86, 76,154,127,101, 77,217, 40,121, 93, 74,
+ 95,249, 61, 71,123,149,233,159,175, 53,152,148,172,109,173, 71,211,246,172,249, 59, 55,238,110, 92,139, 6,207,204, 18,109,112,
+ 14,216,247, 60, 96,182, 5, 28, 63, 77,174, 29, 37,137, 49,200, 26,141,147,129,253,177,108, 5, 17,146,155, 91, 74, 87,209,197,
+ 0, 0, 32, 0, 73, 68, 65, 84, 91, 64,164, 76,135, 44,157, 99, 33, 88,160,103, 97, 74,176, 98,148,105, 32,176, 63,221, 59,154,
+223, 44, 39, 70, 21, 93, 36,142, 77,198,113,191,134, 64, 52,192,242,121,174,191,239,253, 72, 97, 66, 89,174,233,174, 88,214, 85,
+ 3, 73, 99, 73,216, 21, 21, 45, 36,139,189,113, 75,144, 96,186, 20,194,185,119,241,149, 76, 67, 3,211,222,162, 36, 6, 45, 37,
+173,137, 2,209,144, 52,231,253,164,200,162, 42, 68,245,188, 49,158, 42,225, 88, 51,200, 45,212,212,173, 37, 77, 53, 41,136,185,
+199,255, 73,150, 6, 53, 7,119,181,176,190, 96,157,178, 32,115,162,103,102, 23,253,231, 0,153,155,149,220,216,243, 45, 43,133,
+105,140,205,192,106,196,202, 90, 18, 38, 34,145,140,140,119,181,192,166,141,162, 55, 24,215, 16,150,115, 75, 56, 75,139,108, 12,
+187, 9, 36,178,212,160,231, 45, 90, 82, 35,176, 58,210,110,231, 80, 2,104,165, 6, 67,235,160,181,198,192,150,104,235, 12,115,
+ 69, 31, 74,177, 25, 63,106,124,182,168, 44, 23,253,146,214, 48,176,198, 62, 12,204,208,253,153,166,225,146, 41,171,172,153, 42,
+ 13, 31,170,210,159, 25,195, 80,128, 2, 13, 97,104, 44,171,238,129, 72, 68,121,190,181, 1,116,151,168,121,137,229,131,133, 38,
+ 25, 58, 91, 20,105, 78,129,181,205, 3,103, 33,212,250,154,181, 31, 0, 18, 67,218, 76,198, 65, 44,194,144,116,173, 13,249,194,
+ 90, 6,152,103,159,122, 57,164, 57,239,245,105,223,235, 9, 70, 53, 50, 33, 79,104,161,163,128, 70, 11, 68,119,121,167, 13, 12,
+248,187,169,168,108,196,253,254,198,181,158,209, 51,212,230,114,131,152,210, 64, 49, 24,192, 7,192,200, 4,195, 65, 31, 90, 73,
+ 28,190,235,203, 16, 65,160,103, 45,180, 82,120,224,190, 71, 72,123,145,171,156,109,137, 51, 25,108, 60,219, 90,147,127,119, 4,
+ 14,132,115,254, 76,237,125, 61,150,155,229,222,183,182, 90, 7, 35,171,253, 20,233, 81,253, 94,206, 87,110, 65, 37,207,124,142,
+173,222,127,251,158,135, 23, 92,121, 41,250,118,128,135, 62,241, 89,224,241,199, 89,144, 40,128,192,227,205,178,106, 14,163, 11,
+ 82,241, 89,106,101,180, 63, 18,205,214,194, 1,187, 18, 88,115, 22,236, 62,163,224, 30,214,204, 19,118,201,241,225, 46, 11, 64,
+118, 56,182, 74, 0,105, 27, 56,122,188,178, 52, 90, 0,130,125,240,138, 15,203,136, 31, 88,114, 9,196, 56, 40, 36,213, 26, 70,
+235,213,228, 17, 54,186,218, 20,161,224,247,116,165, 28, 14, 88, 27, 78, 21,157, 69,233, 55, 47,160,110,194,240, 10, 68,107, 15,
+206,124,118,128,207,100, 89,173,143,201,128,225,128, 20,132, 97, 65,214, 12, 45,136, 38,179,177, 18,185, 33, 75,114, 12,236, 75,
+ 59, 52,239,173,108, 27, 2,229, 70,129, 41,178,242, 61, 7, 79, 27,194,241,131, 75, 54,189,174, 71,244,138, 82,148,247, 85, 48,
+138,102,230, 55,100,191,143, 97, 13, 92, 49, 99, 89,175,251, 84,235, 51,163,225,253, 26, 95,150,158, 36,167,250,207,237, 56,167,
+ 43, 73,140, 89,194, 17,145, 45, 54,141, 11,200,156,152,119,106, 20, 0,129,194, 23,232,152, 12, 50, 0,105,150, 34, 75,114,136,
+ 0, 72, 41, 49,180, 14, 18, 2, 65, 6, 72,225,177, 48,191, 68,146,112,105,129,254, 82,229,187, 73, 21,109, 44, 40, 58,216, 90,
+179, 84, 30, 38,226, 21,216,159, 43, 88,155,143, 18,111,124, 9,144,214,168,120, 95, 68,134, 94,128,136,247,106,218,146,143, 26,
+ 0, 7, 57, 6, 73, 17,182,237, 22, 73,223, 74, 2,189, 30, 61, 91,183, 11,236,222,197,153, 10,110,124, 13,235,107,236,183,241,
+ 0, 75, 89, 89,150, 0, 10,232, 18, 28,116, 89, 14,137,145, 7,102,232,195, 33,141, 97, 56, 4, 90, 45,142, 56,102,243, 90,150,
+ 80, 20,108,180, 56, 24, 38,160,137,170, 2,212,140,162,117, 80, 81, 19,172,197,130,104,205, 62,182,232, 35, 68, 21, 92, 51,236,
+175, 79, 67, 93,201,173,128, 13,134, 38,180, 50, 96,215, 30, 20, 74, 96, 71, 42, 49,219,157, 70,175,223,199,112, 56,196, 35, 39,
+158,192, 87,189, 2,144,225,248, 98,129,199, 22, 22, 17,220, 2,176, 56,207, 22, 9,185,178,182, 94,223, 99,117, 31,169,209, 36,
+240,107, 65, 86, 38,189,134,185,123,179,154,153, 16,149,229,174,100,171,100, 12, 68, 4,107,159, 49, 6,194,251,241,159,194,173,
+ 62,135,209, 7,190,209,224, 80,182, 40,236,190,232,124, 60,126,122, 14,229,227,199,198,227,139,226, 53, 11,214, 4, 93,180, 90,
+ 70,171,130,169, 4,112, 41,232, 25,139,130,246,111, 12,246,147,130,104,133,103, 6, 26,216,109,167, 2,251,231, 29,199, 33,149,
+ 64,154,209, 61, 74, 14,128, 83,134,232,129,209,116,246,133, 96,166,165,232, 59,153,193, 40,235, 70, 9,122, 30, 25, 5, 83, 67,
+180, 57, 97, 6, 30,199,164, 65, 1,117, 41,251,255,163, 79,124,204, 69, 5, 14,238, 27,112,180,184, 59,119, 26,185,172,187, 2,
+153,183,248,101, 92,133,214,210,217,215,154, 63,227,121,252,188,215,250,253,138,255, 69,225,220, 59,162, 21,146,227,159,134, 44,
+ 12,155,214, 22,251,212,173, 37,127,183, 97, 34, 54, 23, 72, 75, 25, 29, 6, 11, 12, 2, 75,253,122,121,173, 73,235, 74, 18,206,
+ 19,250,136, 97,166,141, 2,152, 31,208,134,105,165,181,168,245, 80,105, 17,253,130, 36,154,224,151,247, 75,174, 37, 89,173,246,
+121,187,194,207,115, 5, 15, 34, 30,253, 62,208,109,211,191, 74, 15,159, 1,131,210, 67, 25,137,212,104, 12,220, 0,185,153,169,
+132,217, 76,163,191,216, 67, 22, 3, 47,250, 22,214, 7,154,183, 1,175, 89,180, 20,104, 13,244, 44, 75,125,156, 98,177, 82,234,
+ 79,157, 48, 46,231, 67,140, 38, 80, 37,233,160, 75, 77,218,100,212,250,215, 66, 97, 89,171,103,159,125, 61, 69, 40,254, 34, 52,
+208,237,208,181, 91, 25,153,176,173, 29,215,210, 55,169, 97,110, 92,163,173, 91,144, 60, 73, 48,145,161, 23,236,124,237, 15,129,
+ 60, 37,201, 59, 79, 41, 29,168,157,147,175,207,104,122, 63, 30,246,186,102, 94,122,118,207,248,113,173,189,230,213,128, 4,125,
+127,116,222, 98, 90,105, 56, 55,155,181,126,118,101,130,233,107, 46,195,193, 43,246, 99,110,176,132,196,164,120,228,241, 71, 49,
+ 40, 29, 74,239, 48,191, 20,240,245,151, 92,134,157, 83,211, 72,211, 20,206, 14,241,240,241,199,240,201,197, 62,249, 22, 87,242,
+111,174,166, 89, 41, 89, 9,142, 81,120, 92, 78,131,158, 36,170, 27,213,190, 70,230,247,154,149,106,228, 6,169, 89,139,226,255,
+198,126,174,131,200,104,156,233,203, 95, 15,230, 23,240,249, 79, 28, 30, 79,233, 93,110,204,206, 87,154,178,226,179, 37, 11,182,
+126,121,178, 18, 9, 73, 90, 99,244,141,215,253,225,206, 3, 34, 39,191,186, 47, 57,162,190, 95, 99,218,158,211,109, 65,138, 92,
+ 89,140, 91,179,226, 62,137,231,101, 56,160,207, 37, 28,135, 98,107,251, 85, 72,122, 62, 88,142, 51,146, 53,134,206, 86, 25, 27,
+170,207,198,185, 23, 53,247,137,139,238, 87, 22,114,207, 5,162,101, 65,215,246,173,214,213,218,142, 89,193,106,207, 28, 5,115,
+233, 1, 47,145,188,232, 82, 92,123,241,101,248,167, 79,126, 10, 56,122,146,206,115,156,191,222,128,180,244, 98, 80,155,211,114,
+ 27, 82,218, 60, 75,127,253, 1,105, 42, 34, 0,150,165, 88, 23,216, 68, 51, 65,100, 12,107, 36,210, 0, 45,246,129,228, 44,133,
+228,156,171,151,179, 79, 40, 99,115,132,214,100,222, 20,138,222, 51, 28,138,106, 20,249, 41,140, 33,237, 78,196,136,225,154,228,
+191, 90, 0,208,102,165,184,115,145,118,165, 36, 77, 91,150,179, 79,209, 67,182, 51,132, 32,209, 74, 21,180,148, 80, 80,200, 84,
+ 10,201,129, 34, 89,146, 99, 80,150, 48,198, 64, 72, 1, 91,150, 72,147, 20, 71,142, 31, 39,237,188,215, 35, 51,187,117,227,254,
+195,232,119, 93, 77,178,141,140,187, 30,225, 43,196,184,176,229,125,165,157,196,148,184, 98,184,126,191,226, 72,152, 9, 64,193,
+154,144,240, 64,191,199,254, 39,254, 92, 98,104,147,187, 1, 89,130, 38, 92,241,180,221,182,112,125, 76, 50,158, 30, 19, 5,155,
+122,154, 95, 80, 85, 10,149, 49, 52,110,149, 82, 60,136, 76,232,103, 43, 35, 77, 93,165, 36,236, 56, 87, 17,128, 24,157, 27,153,
+118,212,202, 3, 11,119, 8,227, 65,113,129,231,167,180,100, 73,114,172, 37, 57, 54, 65,151,229,246,237,205, 52, 33,107,140, 96,
+141,238,210,139,241,154,253,251,208,233,182, 48,219,157, 69,112, 30, 15, 28, 63,137, 79,125,238, 49,156, 14, 22,179,173, 14,118,
+118,102,113,222,238,243,176,115,231, 44, 90,211, 83,104, 67,195,230, 10,199,164,165, 0,194,141, 70, 34, 7, 94,107,167,136,120,
+ 75,201,209,242, 28,139, 16,194,230, 77,175, 87, 93,138, 87,188,250,149,120,252,203, 95, 97,203, 17,223, 43,212,180,116,137, 42,
+214, 33,132,181,125,245, 43, 9,238, 82, 87,214,192,141, 98, 88,172,108,145,138,231, 91,202,202, 37, 19, 2,113, 58,231,201, 26,
+ 20,221,114,222,113,160, 91, 12,126, 85,100,253,136,103,200,179,175, 95, 71, 75,105, 66,239, 69, 11,192, 40,138,155,173, 68, 25,
+167,202, 37,170,218,139, 49,230,202,123, 32,105,115, 44, 9, 31, 86,193,177, 10, 66, 87,227,137,181, 1, 50, 14,248, 27, 22,108,
+253,144,149, 37, 46, 94, 87,240,218, 72, 89,179, 90,249,181,231,127, 43,249,160,175,107,235, 76,136,150,219,115,245,117, 25,101,
+ 35, 13, 1,239,144, 95,188, 23, 74,120,156,252,194,131, 85,182, 82, 60,235, 49, 35, 75, 73, 10, 34,239,245, 0, 41,183, 73,127,
+169, 75, 34,214, 2,105, 12,146, 67,165,161,197,232, 68,112,128, 79, 98,104, 80, 90,147,175, 49, 58,125,234,135,177,157,210, 6,
+ 44,107, 3, 75,217,228, 34, 2,144, 43,192,114,238,159, 99,194,103,153, 72,150, 49, 10,118,139, 35, 28,235, 38,148,237,198,176,
+224, 40,244, 69, 0, 29,192, 8,120, 59,132, 85, 2, 11, 67, 1,151, 2,169, 73, 49,176, 5,218,121, 27,153, 49,176,174,207,177,
+ 85, 30, 90, 8,132, 52,193,241,185,121,168, 68,193,249, 64,115, 50, 55, 87,153,122, 67, 77,197,181, 27, 12,168,170, 23, 38,169,
+ 23,141,152,244,101,215, 53,144,181,180,145, 40, 92,148,236, 35, 29, 44,156,185,215,230, 23,232, 85, 87,167,108, 93, 61,183,103,
+191,198,209, 55, 42,216, 71, 89, 22,227,207, 30,247,150,224, 98, 51, 66, 2, 97,192, 41,101,236, 75,207, 83, 50,147,165,172,169,
+171,148, 35, 94,185,232, 71, 50, 17,185, 63,233,163,143,130,157,243,227,154,123, 56, 71, 62,194,245,104,232,140, 61,179, 93,236,
+236,182, 1, 72, 12,122,125, 8,157,226,138, 93, 59,240,249, 47, 62,137,249,185, 30,220,244, 78,204, 78,119,209,233,228, 40, 16,
+208, 73, 18,228, 23, 93,136, 52,203,161, 80,226,190,167, 78,110, 60, 26,217, 70,127,112, 89, 17,241,122,116,181,192,250,162,207,
+151, 67,223,226,177,147,199,198, 93, 58, 30,103,186,240,228, 50, 86,129,245,222, 55, 42,241,147, 62,228,205,248,114,237,106, 26,
+ 36, 42,223,178,146,149,191, 28,168, 50, 42,100,140,137,225,224,221,200,220,125, 44,188,227, 41, 47,186,228,232,249,122, 16,109,
+116,189,196,115, 27,153,176,170, 69,195, 39,181, 40,239, 52, 97, 87,138,102,193,150,231, 75,129, 76,240,162, 46,160,179,230, 31,
+179,153,172, 37, 97, 64,162,218, 47, 49,248,110, 50,142,226, 92,159, 9, 76, 88, 92,244,132,159,125, 57, 30, 98,146, 42,198,192,
+104, 44,222,125, 63, 30,168,143,181,174, 4, 71, 1,101, 88, 80,102,209,182,248,212, 87,130,115,149, 47, 38, 6,183, 36,138,136,
+ 91,154,176, 54,158,210,207, 78, 70, 82, 93,146, 80, 68,112,167, 77,154,122,150,144, 86,158,166, 28,136, 39, 41,114,216,129, 52,
+243, 68,115,254,163, 35,255, 76, 2,146,250, 18,195, 26, 61,136,241, 27, 93, 85, 71, 91,205,180,183, 94,205,219,251, 42, 29,218,
+215, 14,213,182,237, 33,174,118, 17,163, 84, 11,139,144,103,108,153, 87, 72,165, 66, 98, 12,116,106, 80, 12, 75, 20,195, 1, 68,
+224,200, 79, 9, 44, 46, 45, 65, 74, 9,143,128,254,226, 2, 11, 64,156,131, 30, 56, 90, 84,200,113,115,250,122, 24,250,114,154,
+201, 74, 69, 84,162,105,172,158,123,189,165,146,115,221, 1,124, 22,215,141,218,120,244,151,135, 64,204, 57,203,106,126, 83,206,
+179,245,158,133, 34, 22, 34,149, 34,138,166,162,166,193,133,104,178,148,211, 37, 13,229, 3,231, 45,250, 59, 73,201,135, 89,183,
+126,104, 78, 1, 84,130, 52,160, 80,211,204,117,204, 44,169,105,134,246,105,170,220, 23,235, 74, 4, 54,183, 66, 98,169, 44, 48,
+ 61,211,197, 84,154,194,100, 41,138,126, 15,255,124,236, 73,156, 56, 49, 15,184, 18, 75, 18,184,124,199, 94,152, 36, 67,107,170,
+133,150,209, 16, 70,192, 11,131, 86,218,133,106, 39,120,234,248,137,141, 51,246, 80, 99,230,113, 79,202,122,142,120, 88,249,172,
+215, 35,231, 39,247,227,233, 57, 44,124,229,171,172,157,170,106, 91, 69,159,180,168, 49,143,229, 74,108,136,117,156, 13, 95,123,
+150,141,158,135,250, 24, 48, 49,134,169,221, 85, 65,174,120,109,231,200, 87, 29,159, 57, 97,230, 46,153,134,198, 26, 32,138, 9,
+155, 81,100, 1,203,100, 37, 80,186, 88, 72,166, 22,189, 30,239,233, 10,218,251,157, 46,237,113, 25,200,130,162,216,106,226, 60,
+199,219,200, 90, 96, 28, 75, 69, 90, 18, 51, 15,181,245, 84,236,231, 87,158,252,243, 96, 33,210, 22, 85,150,192,164, 53, 36,106,
+235,126,157,180,105,171, 53,117, 41, 43,139, 75,100,220, 30,203,199,138,140,206, 18, 91,187, 12, 71,236,151, 37,205, 65, 89,146,
+ 59, 68, 49,115,137,149, 9,227,184,173, 37, 30,155,118,206, 17, 83,143,155, 78,178,223, 67, 73, 98,206,221,156, 24,238, 84,135,
+ 24,181, 49, 80, 51, 83, 8, 82, 35,105,231,208,105,138, 60, 53,208,218,160,155,182,144,167, 41,188,210,104, 39, 57, 84,150,192,
+123, 9,145, 39, 8, 38,173, 22, 50,230, 54, 6, 80,192,151,102, 63, 81,158,112, 0,142, 34, 98,109,125,149, 86,101,237,120,144,
+156,201,200,156,148,242,225, 88,206, 12,168,107,135, 16,190,242,219, 70, 62,178, 93,140, 61, 10, 17, 14, 52, 22,235,128,225, 0,
+161,221, 6,124,128,215, 64,110, 52, 92,225,144,153, 4, 74, 25, 88, 81,194, 59,135, 65,105,225,157, 71,225, 28,158, 56,117,154,
+221, 36,108, 10, 86,160,181,136,135,204,121,170, 78,182,158,192,146, 72, 40, 70,102,164, 85, 76,135,145, 97,197,234,100,145,216,
+ 10,241,204,170, 26,167, 57, 63, 55,237, 96, 20,188, 34, 36, 9,140,165, 37, 33,211,113,174,104, 12,228,209, 76,120, 50,195, 65,
+115,108, 41, 50,138,136,143,228, 50,191, 50,173,254, 14, 37,125,182,232, 85,135, 63, 30,110,128,138,126, 4, 22,226, 66, 32,226,
+ 56,202,215,230,128, 48,241, 52,165,228,140, 24,150,160,241, 75, 84,197, 67,164,196, 87, 37,112,225,142, 14,230, 22,231,113,124,
+241, 20, 62,251,232, 81,224,216, 34, 48, 40, 81,218, 18,143,244,150,176,167,221,198,212, 84, 23,202, 72,244, 22, 29,164, 1,118,
+ 77,207, 32, 19, 45, 12, 18,133,147, 39, 87, 96,236,145, 1,215,199, 60,242, 77,178,107, 34,254,172, 7,214, 45, 87,177, 47, 22,
+154,138,230,231,181, 82,111, 99,208, 88,168,107,237,126,252,250,171, 69,240,175,154, 74,235, 55,185, 87,107, 26, 97,140,101,137,
+140,254,188, 61,180,215, 6, 75,227, 2, 64, 20,198,227, 94, 83,181,160,227,193,144,246,117, 97, 57,232,149, 43,174, 41,158, 83,
+235, 72, 16,136,174,174, 24,180, 8, 84, 1,109, 49,157, 44, 97,166,109,251,204,240, 57, 61, 51,225,243,161,146, 90,234, 28, 11,
+ 16, 37,187,173,130,160,152,170,146,105,170, 54,236, 94, 77, 86,175, 56,183,234, 26,216,237,175, 69, 85,103,226,245,245, 89,203,
+244, 31, 3,253,226,126,205,146, 42,200, 50,102, 41,197,191, 77,139,232, 73, 43,163,201,145,150,178,126,207,154,169,155,140,152,
+179, 72, 43,226,183,156, 36, 47, 88, 59,207, 18, 96,166, 77,149,182, 50,174,246,147, 25,116,186, 29,228,173, 14,114, 99,176, 51,
+107, 97, 42, 75,208,209, 6,157, 36,195, 76,146, 34,209, 6,221, 36,135, 16,192,174,164,141, 60, 49,112,240,152, 78,114,104,101,
+ 16,180,132,206, 18, 56,161, 72,147,213,236,207,148,236,103,151,236,227, 28,153,255, 85,149, 11,238,107, 26,157,166,234,108, 84,
+ 25,140, 75,163, 46,119,192, 71, 49, 47,190,182,112,181,107,216,237, 76, 95, 81, 76,200, 11, 10, 18,113, 14,232,247,225,124, 64,
+222,201, 81, 6,139,174, 78, 33, 37,112,122,176,132, 84,165,152, 31,246,161, 4,105,232,167,250, 75,176,206,195, 45, 46,144,134,
+ 88,122, 46,183, 91,115,119,104,205,230,102, 93,229,247,110, 84, 81, 94, 73,171,243,126, 60, 37, 49,154,228,156,123,230, 48,116,
+128,181,236,146,230, 58,106,206, 46, 70,168, 70, 77,198,208, 70,208, 44, 61,199,207, 12,122,148,122, 40,234, 46,132, 1,205,113,
+209,103,237, 62,212,222,175,229, 68,143, 42, 42,178, 85, 35,136, 42, 71, 56, 75,168,138, 84, 98,232, 25,158,183, 7,152, 91,170,
+245, 62,136,230,240,132,204,158,144,103,250,254,183, 67,208,204,116,205,204, 44, 1, 55, 64,120,226, 36,190,252,197, 35,120,232,
+ 75,143,224,241,135,143, 1, 39,231,200, 26, 81,246,129,211,115, 40,150, 22,240,144,243,152,209, 41,132, 76, 32,181, 66,158, 25,
+ 12,134, 5,138,210, 98, 74,165,184,127,176, 72,197, 54,234,193, 86, 53, 98, 45,164,164,151,247, 16, 35, 66, 30,234,106,116, 37,
+ 68, 46,199, 52, 71, 74,128,172,162,191, 29, 87,251, 90,105, 63,142,238, 17, 42, 97, 52,230,164, 79, 6,142, 46,251,253, 45,204,
+154,169, 51, 12, 37, 43,237, 91,212,202,212,206,159,174, 24,122,125, 14,116, 45, 98,220,203,170,250, 94, 96,229,199, 57, 14,238,
+146, 20, 35,101,244,184,245, 35,230,154,199,223,163,198, 62,138,223,224, 10,135, 78,208, 30, 44,152, 94,106, 95, 41, 63,138,149,
+147, 80,144,165,214, 59, 18, 20,180,167,136,122,237,171, 2, 63,224,115,161, 76,229,215,183, 88, 61,134, 96,108, 29,248,156,217,
+115, 32,252,142,197,111, 69, 43,181, 92,159, 53,205,232, 42, 54, 32, 86, 51,141,213,248,164, 98, 43, 96,168, 2,228, 98, 28, 69,
+214, 1,236, 86, 4,202,237,216, 9, 76,119, 41,221, 40, 36, 36,225,141, 24, 36,251, 64, 4, 7,190,181,217,148,222,105,115, 4,
+123, 11, 59,166,167,208, 54, 45,116, 76,130, 78,146, 99, 38, 75,161, 32,161,165,161, 84, 45,157,162,163, 83,104,109, 0, 8,236,
+109,205,162, 95, 14,161,164,196,116,210,130,112, 64, 46, 53,118,152, 22, 44, 60,114,147,194, 9, 1,167, 98,105, 82, 84,126,161,
+ 36,154,149, 5, 73,122,193,115,128, 29,170, 3, 28, 43,129, 73,206,135,177, 97,101, 63,124, 93, 35,151, 53,230,190,221,146, 96,
+ 12,166,138,229, 6, 93, 73, 11,172, 12,250, 58, 65,158, 26,204, 23, 3,180,148,129, 86, 26,189,114, 0, 5,137, 94, 89,160,231,
+ 10, 44, 21, 67,244, 23, 22,105,124, 67, 75, 25, 10, 69, 96,169, 56,169, 2,208, 16,106,105, 44,203,104, 55, 70, 19, 97,208,106,
+109, 77,123,100,218, 20,227,129, 43, 81,235,113,254,220, 4,176,172, 7, 89,194, 37, 43, 89,160, 41, 89, 27, 47,125,165, 45,107,
+ 54,123,167, 6,163,200,220,140, 45, 64,142,211,134,162,115, 83,166,156, 26, 8,210, 76,226, 26,198, 26,225, 10,227, 65,108,130,
+ 53,126, 17, 53,164,218, 30, 11, 92,200,135,215,235, 5,215, 93,133, 99, 71, 30, 27, 39,108, 74,146,245, 37,112,160,216,185, 48,
+203,199,234,129, 34, 84, 65, 84, 49,101, 42,112,122, 31, 64,251, 52,174,243,176,128, 91, 42,241, 72,217,199, 46,157,161,213,202,
+160,180,198, 82,111, 8, 95, 6,244,122, 61, 40, 25,112,162, 4,196, 96, 8,161, 0, 17, 2,164,146, 16, 33,140,106,208, 8,128,
+152,122,252, 41, 37, 4,107,233,228,117, 11, 92, 90,194, 46, 47, 32,123, 89, 85,153, 68,168, 52,214,114, 29, 1,103,129,131,126,
+203, 9,139,214,106,154,226, 86, 50, 21, 89,115,149,229, 25,144,228, 36,168, 7,199,251,112, 21, 55,162, 99, 87, 66, 81,210,254,
+ 81,156, 50, 26,216,106, 81, 63,247,169,161, 57,137,150,167, 1, 23,255,138,166,124,239,171,207,215, 83,173, 6,158,175, 63,172,
+138,214, 40, 78,145, 21,204, 27,130, 37,174,237, 74,178, 76,105, 95,179,160,138, 42, 64, 46,240,254, 23, 92,156,204, 59,122,238,
+213,148,129, 49,235, 33,206, 61,125,241,126, 92, 91, 95, 47,125,143,138, 69,228, 97, 81,216,178,101,149,206, 22,106,244, 42, 6,
+133, 58,191, 5, 76,189,213, 33,205, 91,176,201,182,224,218,224, 58,214,234,230, 42,115,218,144,223,124,231, 12,144,166, 72, 59,
+ 45,156,223,238,192, 8,137,110,146, 34, 55, 41,140,148,104,233, 12,146, 37,200,110,210,230, 30, 38, 26,137,212, 80, 8, 24,122,
+135,220,228, 16,193,195, 7,143,204,164,240,206,194,134,128,142, 74, 49,116, 5,164, 18,104,155, 20, 94,122, 40,149, 0,218, 32,
+128, 55, 99, 96,139,193,192, 81, 64, 94, 97,163,184, 72,230,139,210,113, 78,101, 96, 45,189, 88, 99,211, 76,254,244,235,207,147,
+223,138, 13, 86, 39, 30, 37,231, 63, 39, 25, 16, 2,250,174, 68,233,135, 8,222, 99,161, 28, 32,192, 97, 97, 80, 96, 97, 56, 36,
+ 63,186,141, 1,140, 49,135, 54,208,239, 41, 91, 86, 60, 7,124,197,138,122,117,233,243,140,226, 63,107,152,127, 71,121,186, 98,
+156,153,215,115,143,183, 58, 66,125,179,126,116, 37, 40,146, 52,145, 92,222, 54,106,238,204,128, 99, 99,161,161,163,130, 50,129,
+173, 28, 14,180,151, 2,184,172,227,160,202,227,183,150, 53,255, 58,225,231,235, 21, 19,190,255,232,195,143,213,184,130, 39, 95,
+162,136,101,132,121,203, 42,224,216,163, 79,156,217,224, 67,178,214, 21, 3,136,206, 69,151,188,229, 42,160,197,255,201, 9, 70,
+ 24,159,209,147, 0,228,150, 22,241, 21,111,209,129, 66,162, 83,244,150,122, 8,176, 56, 49,127, 18, 11,189, 1, 78, 91,143,144,
+119, 32,134, 22,162, 28, 64, 72, 49,122, 73, 41,136,105,243,245, 4,107,239,145,161,143,121, 9,150,211,210,163, 63, 57,174,111,
+244,191, 23,182, 86, 55,127, 45,183,211, 42, 12,215,218,202, 29,229,183,161, 97, 72,156,211, 68, 83,161,151, 86, 74,123, 68,112,
+115,160,181, 50, 30,132, 32, 51,174,240, 84,239,161,197, 85,228,138,126,213, 56,100,224, 88,177, 97, 11,100,108,210, 18,215,208,
+232,138,201,196, 98, 64,162, 86,237, 80,123,162,255, 49,122,219,250,170, 96, 82,180, 10, 38,130,178,164, 60,151,243, 45, 81, 53,
+ 3, 27,197,165,112,238,186,103,179,189,183, 85,214,206,102,172,135,171,197, 80,172,228,234, 25,197, 46, 76, 92, 51, 77,206,204,
+178,218,140, 91, 37,242, 77, 37,198,104,170,186,230, 50,132,175, 30,165,251, 68,183, 72, 93, 80, 21,213,222, 61,123,166,238,184,
+ 48,134, 11,192,226, 0, 40,123, 76,192,121,161,179,188, 98,230,211, 93, 36, 89,134,243,167,103,177, 43,109, 33, 55, 9,180, 86,
+200, 84,130, 76, 39,200,149,193, 16, 14, 45,147,195, 57, 7, 37, 37, 82,147,142, 36,146,118,154, 51,251, 8,208, 82,195, 8,129,
+194,123,164, 73, 11, 1, 30, 66, 0,221,172, 5, 3, 9, 31, 60,140,144, 16, 74, 82,133, 72,163, 16, 98, 1, 4, 1,210,118,162,
+143, 29,156,214,225, 37,117,123, 26, 22, 85,112,223,118,164, 1,181, 58,188,112,114,107,180,168, 72, 44, 4, 53, 74, 40, 3,241,
+155, 97,240, 40,217,135,238,124,192,124, 49, 68,111,200, 18,118,212,246, 69,189, 46, 53,167,229, 32, 22,248,240, 92, 40,168, 86,
+132,166,206,156, 39,137,195, 90,218,186,247, 85,249,210,200,216,227,117, 66,216,222,226, 48,235,133, 98,181, 32, 30, 28,149,208,
+254, 94,236, 85,154, 89,146, 0, 94, 81,230,133,141, 37,141,107, 62,111, 88, 98,228,154,171, 98, 5,174, 2, 56, 28,156, 73,105,
+ 98, 77,246,186,144, 87,111, 0,130, 48,206, 36,141, 38, 51,102, 76,211, 42,202, 51,153, 69, 36,158,177,248,207,118,105, 39,102,
+ 29, 68,113,181,244,209,200,140,188,128,155, 63,141,135, 79, 44, 32,203,128,133,197, 37,244,251, 67, 44,245,135,152, 31, 20,104,
+167, 9,140, 78,208, 23, 30,194,164, 16,101, 9, 17, 28,100,212,210,163,214, 30, 25, 59,207,199,228,207,101, 53, 34,163,137,118,
+197,174,111,229, 68, 7,184,201, 0,186,141, 88,147,234, 41,153,103, 35,100,118, 90, 20,131,180,146,175, 95,114, 90, 87,154,178,
+ 73,157,211,135,203,114,109,250,194,130, 21,188, 7,242, 54, 51,116, 71,110,167, 97,193,193, 87, 28,180, 21, 75,125,219, 48, 94,
+122, 57,106,233,178,150, 66, 44,216, 5, 36,185,225, 72, 52,179, 59, 69, 76, 94,161, 54,207,150,127,175,237,219, 24,241, 46, 80,
+ 5,154,122, 27,205, 50,164,148, 72,177,185,122,237, 41, 23,202, 81, 92,222, 54,210,192,216,140,201, 57,242, 83,151,182,150,165,
+101, 43,154, 45, 5,119, 62,228,207,154,140,221,161,220, 88,101, 61,129,191,186,102,233,140,116, 83,131, 43,234, 49, 93,212, 28,
+ 55, 48, 44, 16,142,159,102, 75,160, 27, 55,201,199, 40,248, 88, 94,118, 88,108, 5, 83, 47,128,165, 30,181,126, 43, 57, 16, 66,
+ 37, 64, 59,161,158,222,173, 20,216, 57,133,206,244, 52,178, 44, 69, 87,167,232, 38, 41, 50,147, 67, 74,137, 41,221,130,148, 52,
+ 48, 41, 53, 49,226,224,145, 39, 45,100, 90,163,180, 14,173, 52,135,117,142,138, 68, 41, 67,210, 57, 4,148, 74, 32, 1, 20,174,
+ 64,162, 12, 32, 4,202,162, 68,146, 24,216, 96, 73, 40, 80, 10, 66, 8,100, 38, 65, 97, 29,164, 54,100, 49, 83,181,154,191, 73,
+108, 52,226, 41,101,195,219,237,145,170, 35, 33, 84,172,113,197,110,101,103,227, 75,142, 27, 81, 43,178,138, 72,238,146, 6,135,
+208, 31,160,148,192,176,223,135,133, 64,185,216,227,195,200,121,233,129,115,190, 77,204,139,101,109, 57,250,200, 60,119,118, 82,
+182,170, 91, 61, 74, 95,242,227,126,187, 16,198, 53,176,213, 52, 3,132, 51,125,234,246,105,102,232, 38,163,136, 94, 45,184, 63,
+ 49,143, 51, 88,170,171, 16, 15,174, 16,156, 2,228,136,208,116,218, 68, 76, 3,155, 40, 53,215, 71, 8,174,106, 17, 42, 66,213,
+ 93,108, 50,176,107, 20,224, 52, 65,253,163, 0, 84, 23,152, 2,215,118, 79, 81,105,148, 43,105, 99,117,179,104,100, 14, 59,118,
+ 0,123,119, 3,211, 51, 85,247,193,179,217,199,134,107,243,199,186,243, 35,226,164,199,219, 39, 43,185,114,222,118,140,174,246,
+ 14,232,207,225,241, 99,115,120,180, 40,112,122,176,132,133,225, 0, 18, 2,109,163,209, 74, 52, 90,173, 54, 10,163,225, 77, 10,
+ 57,112, 16,190,224,216, 91,214,214,173, 29,211,206,151,251,253,140,192,116, 41, 42, 55, 83,204, 57, 7, 87, 72,180,181,253, 14,
+ 69,116, 66,201,229,251, 50, 76,106,125,235, 9,138, 90, 15,186, 45, 96,122,138,253,213, 43,180,206,141, 66,156, 20,180, 63, 28,
+168, 6,194, 96,131,173,160,133, 39,173, 60, 12,170,184,130,148,179,135, 44,170,156,116,205,241, 37,134,115,180, 36, 11,191, 8,
+ 85, 30,186, 98,115,146, 16, 28,220,201, 46,190,148, 45,127, 49, 63,125,180, 48, 9,251,245, 61,247,122,183, 36, 96,143,178, 76,
+ 38,155,247,132,205, 9,172,154,221,170,130, 99, 5,134,182, 50,113, 7,206,163, 51,178,138, 43,136, 12, 86,230, 84, 71,133,106,
+ 29,211,239,150,235,210, 11,206,188, 50,168,170, 74,174, 69,211,235, 53, 45, 98,159, 0,165,201,194, 18,115,239, 53, 7,160,198,
+114,176,147,110,208,146,255,231,220,216, 61,183, 38,250,221,215,122,156,171, 90,161,152,110, 14,116,186,152,218,177, 3, 70,105,
+ 76,155, 12, 59, 59,211,200, 37,249,122, 91, 38, 67,240, 30, 82, 10, 24,109, 70,231, 43, 51, 9, 9, 67,138, 11,170, 8,133,118,
+222, 98, 95,187,130,150,128,226,180, 44, 13,133,196, 80,158, 99, 34, 52,188, 36, 13, 83, 11, 5,107, 29,180, 20,200,149,129, 4,
+ 73,133,198, 72, 4, 37,224,164,170, 77,172,224,224,140,104,246,148,219,103,178,148,177, 30, 52,155,154,214,219,223,122,197, 13,
+202,196, 94, 11,210, 30, 29,232,144, 57, 54,221,244, 11, 64,120, 4, 71,145,145,228, 30,113, 24,165,189,136, 88, 20, 72,212, 90,
+165,214,162, 93, 61, 63,223, 96, 56,190, 25,133, 24, 47, 56,179, 92,170,208, 74,155,185, 94,229, 43, 6,132,156, 99, 95,215, 25,
+196, 93,233, 81,221,113,161, 21,132, 52, 16,165,135, 16, 6, 66, 88, 8, 17, 42,205, 65, 9, 98,232, 50, 80,217, 94,173, 72,178,
+215,146, 8, 87, 89,176,182,207, 62,118, 45, 40,247, 52, 70,171,166, 73,197,112, 71,190,182,101, 74, 20,199,212,162,184,198, 38,
+250, 99,125,213, 99,123,189,140, 57, 49,192,142, 89,114, 37,120, 22,224,138,226, 76, 33, 99,221,237,112,101,229,142,240,168, 10,
+229, 8, 62, 63, 74,241,121,170, 69,242,174,184, 39,106,171, 81,244,129,185, 62,134,172, 57,181,181,129, 48, 10,237,180,141, 86,
+150, 33, 75, 53,160, 20,138, 36,133, 76, 50,200, 2,180, 62,206, 87,126,117, 44,159, 85,182,236,218, 71,235,199,104,206, 67,173,
+136, 13,199, 61,196, 20, 54, 53,177, 54,117,193, 26,162, 10,206,141,218,221, 86,100, 36,180,187, 85,160,177, 7, 91, 66, 87,177,
+ 10,148, 69,197,208,215, 43, 40,143, 4, 16,126,230,204,208,152, 90,121,197,240,118,119,137,201,117, 50,170, 23,162, 12,151,107,
+ 6,249,240, 71, 93, 48, 61, 23, 4,227,250,238, 54,140, 12,161,180, 15,202,106,205,135,190, 10,180, 19,172,169, 59, 77,110, 43,
+173,216,239,206,116, 41,250,218, 71,230,123, 57, 30, 28,186,110,211, 54, 87,183,140,238,129, 81,116,185,170,210,234, 52,199, 14,
+ 8, 85, 21,176,241, 69, 85,242,222,130, 54,136,137,174, 1, 22,200,125,205, 93,182,214,186,203, 90, 42,239,168,149,176,226, 46,
+139,241, 25, 56,118, 39,146, 7,201,252, 85,214, 82,222,150,161,157, 91,220, 79, 61,161,138,112,121, 70, 18,222,206, 25,236,216,
+185, 11, 90, 40,236, 48, 57,102, 91, 93,120, 27,144, 37, 25,180, 84, 40,202, 18, 74, 10, 24,165,169, 71,188, 81,232, 36, 41, 32,
+ 21, 18,165,160,133,132, 54, 25, 20,183,235, 84, 82, 66, 9, 1, 37,104,118, 5, 2,130,144,144, 66, 82, 32, 88,209, 71, 38, 21,
+213, 61,113, 37, 18,109,160,160,224,225,225, 3,208, 73, 18,142, 90,150, 48, 90,192, 10,201, 5,149, 56,215,210,163, 74, 41,112,
+219,164,169,199, 75,186,179,180, 6, 68,194,106,106,229, 66, 19, 85,229, 54,123,238,192,230, 75,146, 34, 11, 46,208, 19,106,218,
+114,172,108, 18,205,202, 81, 50, 44,216,124,220,227,224,150,122, 3,158, 88, 33, 78,170,113, 19,252,122,243,164,147,132,210,196,
+178,156,152,194,176,120, 90,131,227, 4, 0,145,101,220, 62, 90, 67,176, 95, 85, 56, 91, 49,244,216,157, 79,164, 53,225, 53, 0,
+221, 89,218,239,117,179,163, 97, 77,160,224, 28, 94,112, 68,112,198,205,120, 50,110,242, 2, 63,174,169, 71,194, 48,201, 88, 71,
+ 57,242, 76, 0,140, 24, 39,226,235,205,241, 23,172, 93,104, 78, 39, 90, 90,170, 58,134,153,132, 52, 66, 99,214, 39,208, 74,234,
+ 14, 56, 98,232,145,216,185, 80, 9,197, 1, 68,136,189,172,250, 88, 47,135, 50, 84, 25, 41,129,180, 47,161, 28, 80,120,148, 62,
+ 96, 40, 20,118,117, 58, 48, 38, 67,170, 20, 90, 38,197, 84,158,163,147,166, 8,137, 65,217,105, 65,232, 12,162, 95, 64,216, 98,
+ 77,134,190,252,220, 56,154,223,192,154,102,204,251,143,217, 32, 82,140, 51,244,122, 15, 4,205,117, 10,192,213, 45, 17,131,204,
+216, 10,182, 81,147,253, 36, 2,107,149,206, 81,161,162,213, 26,242,212, 3,104,215,123, 63,195,245, 63,218,204,152,103,219,244,
+179,149,144, 5, 74, 2,152,206,137,225,181, 51,170,179, 96,120, 78,178,132,198,110, 12, 87,242,228,159, 35, 33,137,173,125, 35,
+225, 71, 80,170, 90, 44,171,235,202,154, 98, 21, 42, 77, 57, 6,247,169,104,134, 55, 20, 29, 31, 99, 89,234,110,169,141,210,203,
+152,177,162,229,120,147, 29,231,120,227,136, 42, 11, 64,129, 4,223, 68,211, 92,248, 90,187,232,224, 73,171,246,178, 42,123,173,
+ 88,185, 90,143,160, 29,233,104, 61,214, 34,209,148,217, 98,106, 12, 61,222, 43,128,133,140,168, 20,214,232,248,196,254,218,186,
+138,114,134, 35,220,211,100, 20,233,158,182, 58, 48,208,216,145,183, 96,180, 65, 97, 75,180,116,134,224, 28,188, 22,232,102,173,
+ 17,141,128,118, 72,148,129, 84, 10,109, 45,225, 3, 16,156,131, 82, 18,158,219,119, 90, 87, 2, 65,193,123, 7, 3, 1, 45,104,
+113,134,101,129,160, 21,218,105, 11,165,181, 16, 10, 48, 72, 96,157,131,144, 2,218, 75,100,121,130, 65, 97,145,105,137, 12, 9,
+150, 44,160, 82,133,190, 18, 40,130,175,124,232,177, 59, 78,146, 97,212, 33,104,171,177, 21,215,140,103,101,212,207,185,214,153,
+104,136,170,102,122,220, 64,185,226, 40, 83,214,232, 5, 72, 32,136,145,184,138,183,131, 31,208,255, 23,123, 84,219,185, 92,134,
+ 56, 88, 84, 4,107,100,126, 95,175,101,193,144, 5, 71, 41, 0, 45,234, 0, 55, 92,220, 82, 38, 29, 0,224,242, 43,113,224,178,
+ 93,184,252,130,125,216,189,235, 60,180,119,207, 32, 72,133,188,149, 64, 35, 64,166, 9,140,214,200,164, 68, 57, 28, 98,105, 88,
+ 98,105,105,128,165,197, 62, 6, 11,139, 56,245,212, 81, 60,240,212, 19,248,220,157,159, 64,216,181, 27,232, 45, 64,216, 62,241,
+159, 36, 39,193, 53,212,246,126, 12,172, 10,220, 21,170,237,169,174,190,178, 44, 96,113,191, 99, 87,144, 9,114,136,113,211,251,
+114,149,166,226,128, 98,228,123,180,110,248,154, 98, 47,215,217,173,176, 44,128,197, 57,206,135, 15,244, 28,245,106,120,102,162,
+187,217,154,231, 29, 85,101,199, 72, 91, 99, 55, 69,167,153,225,115,241, 29,167, 89, 11, 91,142,209,112,127, 6, 59,113, 62,180,
+133, 40, 10, 20, 58,193, 92,111, 10,121,218, 70, 42, 91, 80, 90, 32,216, 2,153, 84,216, 51,179, 3, 30, 30, 51,137,196,233,222,
+ 9,244,237, 28,190,112,231,221, 85, 85,221,138,252,175,188, 79,226,126,134,173, 2,231, 70,194, 11,198, 43,210,141,206, 26, 11,
+ 66, 18, 92,223,130,199, 27,175, 56, 4,119,210, 66,173,210,218, 38, 49, 24,208,107, 43,161, 57,234, 92,129,220,163, 57, 19,139,
+ 52,229, 88, 16,238,236,167, 64,153, 27,113,189,235,139,223, 54,220,191,128,203,115,219, 90,159,134, 0, 96,177,168,252,196, 75,
+220,192, 37,214,116,176, 19,238, 39,139,170,154,165,176, 53, 13,152,203, 27, 27, 91,149,130, 5,187,196,236, 38,186, 13,234,218,
+222,140, 5, 6, 98,230, 67, 61, 3,162,240, 85, 79,119,205,189,225,203, 33,231,134,199,231, 2,209,199,184,255, 67,109,191,104,
+189, 62, 58, 63,249,118,201, 65,130,182, 22, 16, 43,226,245,121, 31, 42, 93,197, 47,196,150,228, 19,117,254, 5,246,188, 38,108,
+217, 38,105, 27, 74,137,104,117,144,236,154,198,121,217, 52,242, 52,129,145, 6, 10, 64,170, 18,104, 67, 62, 23,173, 12, 82,149,
+ 32,225, 46,107,153, 78, 32,133,131,230, 20, 51, 37, 2,172,245,112,142, 76,233,193, 59,104, 0,169,176,112, 90, 99, 56,164, 86,
+161, 54, 0,131,194,162,103, 75,148, 46,192,122,135,158, 29, 2, 66, 34, 56, 7, 27, 44,140, 50, 40, 93,229,119, 28,148, 14,198,
+ 8,204,245,151, 0, 33,112,188, 63,128, 91, 90, 36,255,202,176,199, 11, 91, 80, 16, 82,105,207, 77,244,240,134,205,238,168, 76,
+ 94,145,144, 10, 49,206,204, 5,170,195,160,147,170,185,142,228,180,189,232,211, 44,107, 41,120,131, 33, 29,190,222, 18,109,210,
+222, 96,107,159,123,106,150, 2,127, 98,106,202,137,211,192,112,105,211,130, 78, 93, 43, 75, 95,242, 34,124,215, 43, 95,138, 11,
+ 47,223,143,217,217, 22, 10, 33, 96, 2,176, 35, 85, 88,130,132, 81, 18,137, 54,232, 21, 5, 10,206,156, 8,182, 24,149,128,245,
+222, 67,115, 52,110,139, 9,252,176,180,176, 46,224,171, 71, 79,227,200,103, 63,143, 15,220,125, 31,240,224, 17, 4,149, 2, 51,
+ 93,210, 34,132,172,122, 31,107,110,180, 48, 55, 79,135,222,121, 46, 11, 59,172, 24,133,224, 88,138,158,173,180,121,189, 12, 17,
+168, 87,223, 27, 99,228, 24, 47, 81,186,158,152,132, 52, 33, 45, 75,103,212,238,181,158,166,153,178, 86, 6, 80,179,160,114,157,
+185,180,117,157,192,212, 5,142,132,153, 89,204, 26,224, 50,205, 97,125,109, 47, 71,110, 86,173, 33,166,119, 66,236,189, 4,151,
+159,191, 11, 59,179,105, 76,183, 58,164, 40, 74,141,139,206,111, 99,207,238, 41, 76, 79,105,124,245,196, 0, 15,125,233,126,124,
+242,225, 47,224,201,143,127,102,148, 6, 29,106, 63,235,175,149,152, 61,213,176,151, 85,190,117, 61, 7, 28, 53, 38,175,184, 7,
+ 69,212,146,108,237,106,209,116, 26,153, 82,120, 6,196,140,212,215, 77, 74,218, 11,221,140, 54, 81, 82,211,176,235, 13,144, 44,
+184,194,153,156, 8,131,208,112,174,168,180,200,250,216, 35, 45,113,142, 44, 66,139,220,205,173,223, 39,173, 93,150,228, 51, 15,
+195, 51, 53,218,122,249,211,186,144, 6,216,113, 0, 0, 32, 0, 73, 68, 65, 84, 0,139,122,202,161,223, 56, 61,142,252, 41,182,
+151, 45, 49, 94, 43, 32, 90, 59, 39, 91,228,198,204,160,224,171,226,105,158,153,172,225,235,153, 90,163,169,222,160,170,123,176,
+217,120, 21,147,212,138, 75,213, 27,217,248,106,190, 99,138,118, 61,245,170, 54, 39, 91,163,169, 43,174,180,165,217,236, 62,213,
+193,108,154,195,104,133, 76,167, 72, 36, 7,171,169, 28,131,178,143,110,214,130,132, 68,146, 72,164, 58, 65,154, 26, 40, 37,224,
+172, 68,150,164, 8,193, 98, 88, 90,104, 37,161,133, 7,134, 67, 8, 37,144, 7, 18,137,212,192,162, 3,137, 69, 0, 93, 91,194,
+106,129,167,132,128,242, 1, 46,145, 8, 33, 33,215,152, 4,132, 80, 8,214, 66,139,170,213,170,225, 26,197,211,121, 27,189,178,
+143,118,106,176,132, 14,156, 92, 36,237,209,198,116, 38,253,204, 99,232,192,120,125,240, 51, 76,117,156, 6, 82,128, 2,170,130,
+ 39, 45, 44,101,223,160,228,239,229, 92, 72,162, 12,120,213, 85,251,241,137, 47, 28,225,198, 98,138, 3, 64, 98, 57,221, 45,126,
+238,193, 2,153, 53, 91, 41, 9, 16, 97,194,247, 23, 53,198,104,238, 28, 88,172, 84,200, 58, 18,255, 55,127,207, 91,240,194, 87,
+ 30,192,174,221, 51,152,205,115,216,178, 68,175, 40,209, 27, 20, 16, 74,194, 14, 45, 78, 23, 20,229,154, 40, 9,167, 4,148, 20,
+ 80, 16,112, 69, 9, 64,160, 95, 18, 3, 30,246, 11,244, 11,139,233,233, 22, 90,173, 4, 45,157,160,173, 37, 94,122,197, 62,188,
+241,234,139,240,198,111,250, 58, 60,122,114, 30,159,250,135,187,240, 63, 62,254,105, 98,226,129,245, 62,205, 53,178,157, 3,220,
+176, 98,110,145, 81,106, 77, 81,240,182,172, 74,108,214, 25,250,100, 46,171,101,237,177,206,192, 39,127,174, 23,121, 14,236,217,
+ 81, 77,220,241, 99,213,189,157, 7,230,251,216, 80,173,241,210,210,158, 26,249,194,107,227, 81, 53, 33, 81,216,241,158, 15, 27,
+221, 47, 39,158, 2,116, 23,253,221,187,176,100, 75,100,101,129, 52,105, 99,255,197,187,113,209,222, 54, 46,185,160,131, 68, 43,
+ 92,176,219,162,149,103, 80, 42,197,135, 30, 89, 4, 30,125,112,164,173,111,168,228,187,171, 89, 20,198,122, 88,212,153, 68, 70,
+204, 78,233,138,254, 97,192,140, 92,144,245, 73,213,253,109,207, 0, 26, 18, 45, 65, 74, 19,173,158,153,162,137,153,206,128,190,
+165,244, 94, 33, 33,181,132,105, 27, 4,142,179,233,232, 4, 82, 8,248, 16,144, 43,141,190,243,112,240, 48, 34, 67,233, 61, 20,
+103, 32,149,214,193,194,195,141, 10, 45,113, 0,167,209,196,236, 68, 78,130,228,128, 11, 58, 45,183, 31,202,149,172, 26,158,232,
+217,102,173,156,245,126,230,163, 66, 87,204, 20, 85,189,236,237,132,155, 52, 90, 51, 29,187, 75, 29,215,189,119,224,186, 32, 53,
+225, 79,112,151, 72, 55,209, 52,108,163,207, 27,226,254,139, 41,214,190,178, 8, 25, 0, 46, 33,255,254,232,128,177,130, 80,163,
+ 29,103,239, 83,215, 20,184,130,118, 14,180, 53, 48,179, 3,157, 60, 71, 91,165,232, 36, 25,100, 80, 80, 2, 48, 58,133,115, 67,
+180,211, 28, 74, 8, 36, 70, 33, 75, 82,164,121,134,196,208,198,161,121,160, 96, 8, 45, 61,130, 43,161,157,131, 48, 2, 29, 87,
+ 32,241, 14,137,247,112,174, 4, 66,137,204,121, 4,239,224,189, 69, 22,128,129,176, 84,117, 19, 64,225, 73, 62, 79,117, 2,129,
+ 0, 47,128, 84, 25,248, 16,160, 37,157, 56,163, 12,156, 35,159, 94,128, 64, 33, 20,249, 57,202,146,203,126,114,202,194,114,209,
+174,107, 5,157,108,119,240,215,168,186, 19,251,123, 37,119, 64, 26, 6,242,201,104, 54, 3, 26,174,170,231, 56, 31, 52,213, 64,
+170, 32,131,128,145, 26, 78, 6, 60,122,124, 14,111,126,245,245, 40,243, 33,230, 78,204,211, 70,178,150, 11, 88,184,179,219, 27,
+245, 84,160, 24,171, 80, 14,168,226, 90,191, 87, 5,224, 69,134,222,158,166, 42,131,105,139, 59,151,197,210,147, 45,110,208, 67,
+ 27, 55,189,250,133,248,190,239,126, 11,190,235,166,239,193,203, 15,188, 16,211,221, 54,180, 36,166,122,186, 95, 96,169,176,208,
+165,133,245, 30,169,243,120,252,196, 60,156, 23, 80, 70, 33, 88,135, 76, 27, 88,239, 49,149, 24,204,245, 10,164, 30, 72,148, 68,
+123,166, 3, 47, 4,164, 13,200,179, 4,157,118,142, 32, 4, 84, 16,176,165,133,128, 64,146, 37,184,238,192, 53,248,186,175, 63,
+128,125,187,166,241,240,201,163,232,159,236,209, 33, 95,232,147,191, 90,114, 81,141,216,235, 32,176,169,172,223,227, 52, 42, 81,
+ 69,219,151, 92, 3,115,185,148,190,216,183,187, 78,104,162, 86,161, 57,144,103, 61,105,151,173, 14,249, 77,181, 4,230, 22,104,
+222,181, 28, 55, 53,111,116,191,198,212,200, 24,244, 23,235, 90,199,234,106, 58, 84, 65,180,214,158, 89, 78,120, 13,235,203, 40,
+232,109,233, 36, 22,145,163, 61,211, 69, 75,165,216,217,157,193,215, 92,216,198,229, 23,239,128,145, 10,157, 86,138, 78,150, 64,
+ 36, 6,189,178,131,153,233, 93,120,176, 95, 34, 56,143,160, 13,194,249,251, 16, 46,216, 3,236,217, 75,193,144,171, 5,167,174,
+227,249,144,232, 42, 0,176,157, 98,223, 11, 46,193,252,177, 57, 14,174,170, 9, 92,214, 82, 96,152,125, 6, 48,244,200,116,102,
+218,180, 15, 90, 9, 55,200, 18, 72,186,109,164,105,130, 60, 33, 5,108,214,100,152, 54, 57,118,230,109, 36, 74, 97, 58,237,160,
+107,114,104, 41, 49,155,117,208,209, 25,218,105,134, 92, 25, 76,165, 45,180,141,198,180, 54, 72,181, 70, 43, 77, 97,125, 64, 80,
+ 26,193,212, 44, 77,136,133, 99,120, 47,216,114,237,249, 95,238,181,153,177,123,112, 69,182,216,203,157,179,125,130,175,250, 40,
+148,190, 58, 15,178, 86, 35, 34, 6, 28, 39,186,242,181,143,130,251,184, 10,166,224,130, 80, 37,151,181, 45,106, 41,103, 27, 85,
+ 10, 71,221,218, 98,156, 65,140, 97,137,149, 20, 45,231,252,151,213, 9, 9, 28,203,178,101,209,239,138,125,233, 83, 25, 96,218,
+ 72,167,167,176, 35,201,161,133,129, 81, 64,110, 50,164, 73,138,224, 45,140, 78,144,232, 12, 64,137, 86,218, 66,154,103,208, 34,
+ 64,170, 0, 33, 2,197,107,129, 34,181, 69, 8, 16, 92, 79,184, 35, 45,108, 0,210,224, 96,157, 67, 34, 5,242,210,162,112, 5,
+116,172,168, 6,139,196,121,244, 80, 98, 80, 82, 62,163,210, 9,156, 45, 96,116,194, 38,252, 0,165, 53,164, 15, 48, 74,161,240,
+ 1, 90, 8, 24, 24, 20,176, 16, 82,160, 28,198, 98, 25,174,146,186,214, 27,120,162,107,121,140,114,139,234,153, 27,206,247, 84,
+ 19, 68, 55, 54,100,168,219,159,173,162, 96,148,152,199,108,248, 25,114, 14, 12,145, 18, 48, 10,137,210, 20,179, 0, 64, 10,129,
+ 32,129, 47,127,245, 97,204,205, 47, 49,243,103,109,127,104, 89, 82, 93,157,177,167, 47,191, 22,238,212,169,202,124, 86,214, 44,
+ 9,245,249,136,105, 67,101, 57,158,138, 17,209,153,229,142,125,117, 19,148,164, 74,132,211, 93, 96,122, 10, 47,122,249, 53,184,
+241,187,223,138,239,249,174,215,227, 37, 87,237,199,190,110, 27,139, 46,160, 37, 4,130, 15, 24,148, 22, 67,235, 96,135, 22,139,
+ 3,139, 97,127,136,194, 5,180, 90, 57,102,167, 91,112,150, 52, 14, 93,150, 72, 76, 2, 39,128,254,176,128,148, 10,221,196, 64,
+ 6,129,118,158,227,210, 29,211,104, 75,133, 2, 2, 83,153, 65, 30, 4,230,188,195,233,162,192,210, 82, 15, 39, 7,125,188,237,
+199,126, 9,223,247,147,223,139, 87, 92,123, 13,186,193,227,254,207,124,153, 36,250,165,211,212,108,168, 44,137,121, 42, 93, 69,
+175, 71,255,123, 76,157, 26,153,233, 86,107,111, 43,170, 6, 27, 35,135,112, 45, 53, 80,202,181,247,154,229,146,154,243, 92,118,
+213,139,101, 58,140,201,241,168,218,205,150, 51,117,174,202, 33,118, 27, 79, 59, 58,131,169,107, 13, 49,127, 12,243, 34, 71,123,
+170,133,169, 36,199,243,206,159,198, 84, 59,193,244, 84,134, 32, 20,180, 81,200,140,134,208, 10, 58,107, 97,110,161,192,241,249,
+ 5,132, 52,197,215, 29,184, 12,215,126,205,126, 92,188,179, 11,209,206,112,226,244,252,217,165,243, 1, 68, 88,133, 64,114,241,
+ 5,216, 59, 53,139,227,115,115, 19,174, 42,206,189,198, 51,160,167,129,226,134, 89,221,156,220, 44,237,156,203,118, 27,164,105,
+138,221, 89, 11,185,210,152, 77,186,152,201, 58,104, 39, 45,236,200,167, 97,164, 70, 55,233, 80, 77, 16,165,145, 40,131, 84, 39,
+ 80, 82, 32,145, 18, 25,167,121,182, 76,130, 34, 0,185, 73,209, 50, 25,114, 45,209, 54, 26, 66,105, 40,163, 81,218,192,101,132,
+201, 50, 72, 76,239, 28,149,132,150, 53,215,137, 8,128,206, 41,138,222, 58, 78, 19,100, 41, 57,186,205,192,129,169,165,173,206,
+156,228,134, 74,138,207, 17,184, 76,119, 44, 30, 21,107,119,184,130, 92, 25,145, 17, 59,191,241, 51, 20,121,200,168,153, 78,160,
+116, 63, 97,185,200, 21,107,241,177, 65, 89, 96,103,126, 8, 20, 0,232,237, 89, 50,117,173, 73, 59,108,229,164, 89, 77,181, 49,
+157,102,152, 78,219,208, 74, 66, 10, 32, 81, 26,214, 89,116,210, 46,188,119, 80, 10,152,106, 77, 35, 73, 21, 50, 99, 32,132,135,
+ 18, 20,196, 21, 64,233,109, 74, 10, 88, 91, 82,219,116, 9,104,231,144,115,161,142,196,123, 40,231, 49, 12,142,252,159,222, 66,
+120, 65,193,119,222,195,133,152,173, 16,224,189, 67, 16, 26,130,163,180,165, 16, 80, 66, 64, 10, 9, 15,138, 34,148, 66,192, 33,
+160,165, 19,244,157, 69, 16, 18, 46,148, 44, 40,176,100, 22, 56,204,119,173,195, 89,247, 7,249, 45,170,103,222,105, 19, 83, 83,
+226,204,136,252,232, 48,140,154,156,229,102, 8, 14, 85,148,116, 44,138,144,155,209, 6,117, 66,192, 40,201, 21, 60, 5, 66, 16,
+ 72,210,148, 2,128, 53, 71,238,198, 90,195, 67,187, 70, 81, 24, 13,119,234, 4, 17, 57,203,117,246,235, 13, 71,226, 28,198,130,
+ 51, 43,205, 73, 43, 35,109, 60, 75, 43, 38,100,200, 84,184,235,162, 61,232, 25,131,239,127,195,155,241,154,131, 47,199,133, 23,
+238,134,181, 1,137, 45,113,186, 95,224,177, 19,115,120,234,212, 34, 78,205,247,113,106,110, 17,110, 88,114,141,131,128,211,167,
+230, 81, 14, 75,244, 22,250, 88, 90,234,195, 46,245,176, 48,116, 40, 29, 96, 18,131,197,133, 1,188,243,112, 11, 75,152, 31, 20,
+152, 31, 20, 40,157, 69,191, 44,112,122, 48,196,209,165, 30, 22, 6, 67, 28,239,245,240,212,194, 18, 22,251, 67, 12, 6, 5,190,
+242,200, 28,238,253,220,231,240,215, 31,254, 27,124,195, 55,126, 3, 46,191,106, 63, 46,127,254, 37,184,255,232, 49, 12,231,230,
+184,108, 40,103, 33, 36,154,155,190,248, 42,168,170,180,220,184, 98, 29,146,252,168, 28,233, 4, 99,175,207,243, 90, 81,235,158,
+250, 3,252,255,212,189, 89,175,165,217,121,223,247, 91,227, 59,236,225, 76, 85,213, 85,213, 35,217, 77,138,162, 72,145, 14,101,
+201, 84, 36, 69, 52, 36, 68,146, 45, 89,138,146, 72,182,128, 36,178,157,139, 36,128,131, 0,185,200,167,200,125,130, 92,229, 19,
+228,194,128, 1, 33,130,156,196,144, 5, 77, 16, 35,155,180, 40,138, 17,201,158,187,171,206,176,167,247, 93, 99, 46,214,122,207,
+222, 85,221, 93,221, 93, 85,164,232, 13,116,215,116,234,212, 57,239, 94,107, 61,235,249, 63,255, 97,202,105,190,134,237, 30, 30,
+163, 77,159, 79, 30, 48,238, 31,231,245,216,133, 76, 35,234, 41,120, 93,212,165, 44, 63,250, 53,231, 88,142,231, 75, 12, 45, 55,
+ 78, 58,132, 80,244,157,198, 85, 2,251,224, 64, 41,193,229,229,142,111, 94, 93,112,231,153, 57, 47,156,158,210,216,150, 59,207,
+220,226,246,233, 13,210, 92,241,214, 59,231,143, 95,216,175,187,198, 76,124,231,138,243,222,146,191,243,106,189,252, 79,142,122,
+ 85,159, 45,197,223, 92,166,129,166, 16,126, 59, 3,167,179,170, 78,106,192, 42,230,139, 25,115,221,114,214,244,180,182,101,217,
+ 46,232,181,165, 55, 29,125,211,131,144,244,166,197, 40, 77,202,137,222,116, 52,198, 98,148, 70, 73,137, 20, 26, 37, 21,173,105,
+ 32,103,150,237,156, 86, 53, 12,209,177,108, 58,230,182,165,211, 22,131,132, 70, 50,230,234,217, 64,220,135,191,124,175, 47, 59,
+ 83,164, 43,236,173,158,135,109,229, 17,168,253, 62, 74,113, 79,130, 27,199,242,224,114,133,197,242, 52, 94, 43, 99,224,194, 59,
+ 16,123,153,166,115,251, 44,121,204, 1,115,126,178, 26,142, 31,127,109, 73,117,144,199, 46, 15,172,113, 15,228,149, 19, 74, 48,
+133,233,152,138,134,196,248,132, 69, 93, 85,194, 69,223,194,124,129,109,123, 90, 85,230,227,173,214,244,182,131,148,232,154,150,
+144, 35,139,182, 69, 43,141,181,170,214,161, 88,116,227,120,148,200, 8,161, 16, 49, 66,244, 88,107,209, 49, 96,115, 68, 74,133,
+ 26, 29, 34,102, 68, 76,200,148,138, 65, 13, 18,153, 33, 9, 65,139,192,147,174, 27,152, 84,187, 25,173, 12,141,212, 8, 33,105,
+149,193, 87,196, 64, 0, 62, 39,172, 50,196, 28,112, 62,178,176, 13,187,232,113, 76, 27,113,178, 58,172,249,213, 31,118,187, 20,
+ 7,214,167, 79, 75, 22,215,117, 5, 9,201,234,189, 5,118,234,226,174,173, 42,171, 87,253,181,100,164,218, 51,118, 53, 4, 64,
+234,122,115, 21,104,163,138, 60, 29, 48, 82,161,181,194,133, 88,173, 79,171, 6, 52,139,162, 25,125,212,248, 65,203, 34,245,154,
+ 24,165, 74,236, 3, 47, 14,195, 31,166,185,147,200,239,223, 85,154,106,188, 32, 4, 88,203,231,191,240, 89,126,250, 71, 94,230,
+159,252,151,191,202,223,255,202,151,249,212, 39, 95,225,159,255,235,127,201, 43,207,127,146,182, 51, 92,109,183,188,123,185,229,
+237,203, 45,126,181,101,179, 25,136, 49,193,206,115,113,239,138,203,149,195,111, 3,195,106,195,226,248, 6,166,233, 89,159,175,
+ 24, 99, 34,141, 25,219,247, 40,165,121,245,219,111,240,206, 91,247,216, 93, 94,241,238,189,251,140,227,136,219, 6,222,124,231,
+156, 55,222,190,199,110, 53,178,189, 88,115,117,181,101,187,218,178,186, 92,225,199,196,255,246,191,252,239,165,198,238, 60,159,
+249,194,223,162,233, 37,203,227, 57,127,235,179,159,194, 37,207,107, 95,251,102,121,175,142, 22,181,216,214,131, 76, 30,132,140,
+184,240,160,245,228,135, 65,114,248,114, 72,136, 3,228,227,129,121,220,199, 41,166, 15,217,182, 10,234,184,169, 22,243, 28, 15,
+ 72,122,223,207, 78, 51, 61,216,169,107,189,151,169,165,136,216, 57,118, 77,203,172, 49,164,220,112,181,139, 88, 45, 81, 82,113,
+111,200, 24, 37,240, 62,112,185, 9,124,245,219,175,242,236,145,226,206,242,152,110,185,224,232,120, 65,211, 24,206,102,115,222,
+ 22, 35, 87,111,220,127,252,142,113,114, 81,243,142,124,255, 98,127, 89, 74, 21,165,176, 7,177,185,153,167,255, 12,167,209,150,
+209,251, 16,151,201, 3,220,244,245,223,111, 11,121,121, 94,213, 26,139, 14,180,164,209, 45,167, 77,203, 51,253, 49,203,238,136,
+153,233, 56,153, 29, 99,164,162,181, 51,148,208,244,186, 69,203, 50, 91,159, 53,165,179, 23, 73,160,148, 70,203, 98, 0,102,165,
+162,211, 13, 90,107,122,221,163,180,230,180, 61, 42,205,147,212, 8, 4,189,177,232, 36, 9, 42, 49,162,246, 55,181,244,125, 40,
+236,147, 99,160, 81, 7, 17,174,213, 95, 34,196,125, 76,174, 86,133,247, 33,216,123,209, 91,189,151,185,169,170,163,215,106,159,
+214,168,170, 35,169,169, 35,176, 92, 27, 41, 23,246,223,223,227,162,181, 82, 84,137,117,172, 30, 36,213,128,102,242,190,135,194,
+ 79, 48,146,235, 67,252, 0,245,123,178,162,110,171, 15,173,109, 97,121, 68, 99, 13,167, 93,135, 17, 10, 37, 37, 70,106,180,210,
+228,156,105,180,194, 84,200,202, 72,137,212, 10, 69,164,209, 18, 5,152, 4, 70, 73,148,200,104, 4, 50, 70, 98,206, 68, 63, 34,
+ 83,198,198, 84,237, 33, 51, 58, 37,154, 92,228,175, 1,129, 65,224, 99, 64, 11,137, 65,178,145, 2, 41, 37, 93, 83, 24,170,141,
+178, 52, 90, 97,109, 71,171, 45, 41, 7,180, 54, 24, 33,217, 69, 95,141,110,202,215,185, 9,158, 44, 4, 49, 30, 6,166, 76, 15,
+244, 67,130, 90,230, 51,232,151, 37,172,198,213,226,250,164, 16,188,172,139, 39,248,247,122,124, 79, 93,220,212,145, 95,187, 98,
+ 29, 26, 22,136,122,131, 84,133, 1,111, 5,141,181,132,152, 17, 72, 4, 2, 41, 96, 8,161,106,217,107, 23, 57, 49,180,169,112,
+241, 7,117,235,114,210, 63,203,125,242, 82, 22,251, 27,249,225,247, 33, 14,139,124,124, 47, 73, 70, 73,154, 79, 62,207,111,253,
+252,127,200,207,124,229, 75,124,246, 71, 63, 69, 99, 53, 43, 23,136,110,228, 19,207,188,192,239,255,225,159,240,226,179,183,217,
+109, 3,235,171, 45,171,171, 43,214, 23, 87,172,214,107,194,198,147,145,108, 86,107,118,155, 45, 18,133,146, 13,198,118, 28,205,
+ 23, 72,105,202,179, 8, 96,173, 37, 68,137,214, 13, 82, 25, 98, 16,196, 24,105,250, 5,218,182,220,127,251,109,182,155, 53,227,
+118,195,119,222,120,157,113,179, 97,187, 90,115,113,255, 62,227,176,227,107, 95,255, 43,126,245, 63,249, 13,254,221, 87,255,140,
+ 63,254,163, 63,226, 19, 47, 61,207,118,181,197,246, 45,159,249,236,167,232,143,150,124,243,254, 5,108, 15, 66, 39,166, 27,248,
+ 4,249,153,154, 57, 16,252, 71, 43, 34,135,249, 2,211,129,117, 72,240,122, 28, 75,227, 67,251,217, 9, 98,156,230,144, 31,228,
+ 61,240,180,114, 11, 30, 9,191,107,132,150, 15,232,206,203,254,119,184, 97, 71,238,103, 56, 23,185, 90,101,118, 14,130, 20,215,
+145, 5,231, 91,207,235,175, 95,112,255,254, 59, 12,126,199,243,103,183,184,243,236, 45, 82, 74,184,224,112,110, 96,166, 52,127,
+121,255, 10,174, 86, 79,167,120, 60,188, 39,174,121, 20, 60,221,226,213,183,229,243, 47,142,203,251,117,116, 90,201,111, 51,184,
+253, 12,156,157, 21,147,161,163,101, 41,226,203,234, 7,223, 22, 34,220,141,217,130, 59,139, 37,203,118,201,162, 91,208,105,203,
+178, 93,160,132,196, 40, 67,111,122,180,212,100, 18, 74,234, 18,164,149, 5, 70,153,122,102, 75,140,178, 40,161, 48,186,197,167,
+192,162,153,209,180, 29,173,105,139, 97,101,202,104,109,104,109, 91, 1, 37, 65,175, 44, 86,103,182, 89,145,235, 94,191, 30,195,
+125,175, 94,125, 91, 57, 59, 21, 29,155, 28, 3, 83, 44,197,219,202,189,183,194,228, 27, 34,168,126, 3,149,221,174,204, 62,114,
+ 54, 23,120, 27, 87, 25,253,147, 68, 47,198,125,231, 31,211, 62,145,116,202,139,143,177,134,155,241,209,160,248, 73, 34, 60,241,
+ 54, 68,174,193,104,114,111, 46,150,170,181,177, 60,216, 32, 79, 60, 83, 55,186, 22,137,182, 46, 26,203,173,126,137,200, 18,173,
+ 21, 51,211,225, 98,196,106,141, 68,162,133, 64,107,115,173,249, 47,158, 5,138,150,128, 17, 5,114,215,201,163,132, 66, 40,208,
+209, 49,134, 84,102,241,131, 67,121, 7,174, 16,154, 92,240,216, 84, 66, 28, 76, 40,100,185,136, 64, 86,110, 88, 6,180,182, 72,
+173, 17, 82,163,165,164,237,218,194,184,111, 13, 50,107, 20, 2, 33, 50, 90,154,242,177, 64,204,137,153,177, 92,142, 59, 98,168,
+115,151, 88,175,112,206,191,127,192,253,225,107,113, 82, 28,151, 76,117, 45, 10,225,201,225, 55, 31,202,194,252, 32,147,150,247,
+ 36, 70,213, 27,176,152,136, 41,213, 53,174, 47, 68, 51, 89, 9, 98, 5,177, 17,244,214,178,157,146,127, 66,222, 91,155, 78, 69,
+ 60,171,154,158,244,136,220, 98, 43, 15,228, 75,105, 47,231, 57, 36,119, 29, 90,133,190,207, 33,247,236, 79,253, 56,191,244,243,
+ 63,205,127,252,149, 47,115,124,251, 20,173, 52, 62, 70,222,190,191,226,106,189, 67,187,192,110, 28,121,241,238, 29, 82,148,228,
+ 0, 42,105,136, 18,163,151, 24,213,113,122,251, 46,253,108,142, 53, 11,158,123,225, 37,186,249, 17, 93,219,161,181,197,197,145,
+101,219,210,216,150,147, 27,199,220,185,121,140,182,134,229,124,206,217,141, 19, 78,206, 78,232,102, 75,186,121,203, 75, 47,220,
+ 70, 53,115,220,214,177,217,238,208,210,178,243, 37, 14,116,189,219, 17,131,231,199,190,248, 89,180,142, 60,255,169, 23,249,194,
+ 23, 62, 13, 73,112,121,113,206,230, 98,133,178, 45,207,125,242, 5,238,206,123,254,237,159,254,121,217, 39, 20,130, 98,185, 81,
+ 15,229,178, 55, 62,225,108, 49, 31,204,203,159,212,189, 76, 86,167,143,107,187, 3,177,119,236,154,210, 22,167,206, 48,231,239,
+ 77, 7, 95,187, 79, 33,229,251,178,251,133,146,101, 31,134,145,171,203,115, 94,195, 51,134,129,232, 10,169,209,197,200,232, 18,
+175,189,181, 98,189, 26, 73,110,197,189,237, 37,103,179, 25, 70, 25,150,199, 51, 46,206, 47,217, 12,107, 98, 12,252,197, 95,124,
+183, 72, 55,159, 58,216,144, 14,230,156,226,201,231,247,211,179, 49, 61, 44, 79,232,111,158,225,219, 22,110, 28,151, 98,189,152,
+195,141, 83, 88, 44,225,228,102, 65,247, 78, 78,145,203, 37,207,158,157,241,204, 98, 65,167, 37, 55,250, 57, 71,109, 79,163, 44,
+ 55,103,199, 72, 4,139,110, 9, 66, 32,208,116, 77, 15, 57,163,181, 68, 25,131,210, 10,211, 40, 76,211,144, 66, 68,106, 73,219,
+ 53, 4, 31,177, 74,145, 50,116,218,148,130,222,119, 36, 95, 81, 10,153, 17, 41,227,130, 43, 57, 30,169,228,114, 52,186,101, 23,
+ 29,163,172,233,144,168,247,111, 84,158, 22,244, 62, 21,236,107,219, 87, 81,214,181,119,101,198,191, 29,202,243,155,144,179,209,
+149, 34, 46, 83, 57,191, 91,187,175,194,177,186,225,217,202, 25, 50,125, 81,127,184, 80,205,129,194,254, 74, 58, 65,226, 19,146,
+ 38, 68,205,136,248, 24,151,225,233, 60, 23, 7, 17,183, 83,108,173, 47, 40,247, 3, 72,221,193, 26,123,252,162,174,116,121, 48,
+ 71, 61,204,143, 88,206,103,197,214, 85, 40,230,141, 37,198, 72,111,139, 65,135, 86, 10, 37, 4, 90,107,140, 84, 24, 35,145, 57,
+210,202,132,170, 51,111, 43, 51, 17,129, 16, 9,225, 67,209,219,239,182,164,209, 49,250, 1,181,115,164, 24, 81, 62,176,168,218,
+ 69, 19, 83, 33,211,145,145, 66,225,144, 8, 20,201, 88,178,148,196,156, 48,141, 69,169,210,169,182,125,139,214, 10, 35, 13, 34,
+231, 50, 75,182,150,144,139,148, 66,107,195, 24, 28, 33, 69,118,185,186,126,185,106,197, 41,100,121,152,143,154, 47,247,243,125,
+134,245,118, 91,160, 82, 45,159,112,198,200, 71, 95, 4,147, 79,242,244,163,168,173,243,236,164,228, 33,207,123,178,216,123,180,
+199,148, 24,199,128,146,150, 60,214, 46,111,234,214,199,218, 13, 90, 9, 27, 87, 36, 28,143, 42, 46, 42,215,220,100, 81, 46, 1,
+211,191,115,109,111,124, 16,105,121,120,200,125,238, 11,252, 23,191,241,203,252,204, 87,126,130,126,185,192,121,143,243, 17,231,
+ 60, 23,247,175,184,186,119,137,219, 5,118,187,128,209,134, 97,231,217, 92,174,105,237, 12,107, 91, 78,206, 78,185,253,204, 41,
+207, 62,123,131,227,101, 79,223,181,156,157, 30,209,180,150, 89,215,114,227,198, 49,243,229, 12,221, 54, 44,143, 22,204,250,150,
+166, 85,244,125,195,115,103,115, 60, 18,163, 52,125,219,112,251,198,146,101, 59,195,199,204,243,183,142,121,225,133,187,220,123,
+103, 68, 36,193,201,226,148,179, 27,119,184,188,186,207, 59,235, 13,110,116, 44,151, 75, 86,171, 11,134,209, 49,155,205, 32, 11,
+ 86,235, 13,113, 28,145, 82,241,210,167, 63, 65,219, 89,190,249,245,111,212,141,239,247, 35,147,137, 72,248, 36,235,226,208,223,
+253, 73,215,215,100,243, 58,133,154,240,144,111,252,196,149,184,134, 36,229,211, 33,130,190, 31,234,244,126,100,185,131,143, 17,
+ 57, 67,242,228,119,207,185, 60,191,226,117, 55,242,206,249, 37,140,150,139, 11,199,229,249, 21,227,120,133, 22,153,222, 24,214,
+195,192,189,203,203, 18,111,224, 71, 82, 30,249, 63,254,252,235,228, 55,239,125,112,172,242, 19, 23,246, 10,197, 63,141, 78,180,
+111,203,136,235,229,231, 65,105,210,201, 49,185, 81,208,245,229,178, 62,155, 21,255, 7, 91, 83, 49,151,199, 60,183, 56,225,133,
+197, 49,187, 80, 72,201,119,251, 37,119, 23,167,144, 21, 39,179, 19, 0,206,102,167,136, 44,233,219, 25,182,111,216, 14, 27, 22,
+199, 75, 80, 10,171, 45,109,107,201, 66, 33, 99,198,244,197,111, 68, 8,129,170,190, 33,182,209,116,179, 57, 57,229,154,178, 43,
+ 73, 41,149,166, 33, 69,180,212, 4, 18, 70, 27, 98,136,236,188,167,215,150, 44, 5,187, 84, 27,166, 41,161,240,105,159,143,241,
+161,162,151, 38, 43,237, 84, 10,121,172,161, 77,219, 97, 79, 94,157,230,229,136,253,185, 29, 15, 18, 42,167,188,120, 33,246,190,
+ 12,178,169,112,125, 85, 24,201,131, 70, 38,214, 17,166,146,123,247,184,143,179,183,205,228,172, 55,133,143,229, 3,203,101,181,
+ 15,221,114, 15, 34,116,143, 87,212,117, 77,151,233, 42,137,171, 43,190,215,183,154, 25,141, 86,164, 84, 34, 79,203,108, 69, 34,
+165,196, 42,131, 18,178,160,186,201, 51, 83, 2,171, 36, 86, 22, 35,215, 32, 5, 45, 16, 93, 33, 42,177, 25,112,110,100,187,219,
+ 18, 71,143,242,129,185,139,100, 33, 8, 46,211,139,253,244, 77, 10, 67, 20, 18, 33, 53,209, 90,132,182, 72,221,208,216,134, 36,
+ 20,166,181, 24, 85, 50,150,149,210, 8, 5, 50,171,218, 13, 58,164,208,248, 88,194, 32,124, 12,228, 12, 67,240,196,213,102, 47,
+ 33, 10, 97,127,107,123,212,124, 57,228,210, 89,239, 66,145,244, 76, 11, 74,126,143, 10,251, 52, 91, 59,156,189, 78,133, 61,213,
+188,120, 97, 75,172,226,102, 87, 96,248, 41, 87,184, 46,178,236,253,126, 33, 6, 95, 55, 89,173,214, 62, 21,199,183, 71, 29,224,
+211,124, 49,186,210,221, 77,112,243, 52,251, 61,244,255,158, 66, 24, 62,245, 57,126,253, 87,190,194, 47,255,226,207,240,220, 43,
+119, 73, 33, 97, 26, 69, 74, 2,183, 26,217, 94,109,217, 94,108, 8, 33,145,178, 68,209,208,181,115,102,253,146,103,158,185, 69,
+107, 27,148, 52,244,139,142, 69,219,209,181,134, 70, 25,206,142,103,220, 60,233,121,241,108,198,173,147,158,190, 85,204, 91,201,
+173,163,150,121,219, 48,159,181,196, 44,232,117, 25, 17,205,172, 34,132,132, 16, 18,171, 20,243, 89, 67,107, 13,202,104,110, 46,
+ 58, 62,249,210, 29,206,135, 68, 51, 91,240, 35, 63,244, 50,219,171,128, 74,158,191,190,119,159,133, 49,204,218,142,221,176, 67,
+ 37,201,108, 62, 71,105, 93,247, 90, 66, 54,150, 23, 63,245, 18, 9,193,119,190,241, 87,213, 86, 50, 87,253,122, 53, 56,250, 65,
+121, 29,242, 51,200,251, 98,212,204, 75, 39,104,186,253, 40, 74, 60, 20, 68,241, 52,214,245, 67,190, 11, 31,106,245, 58,113, 52,
+142,230,132,113,203, 16, 70, 98, 26, 9,126,133,206,146,171,225, 62, 34,134, 2,185,103,135, 79, 9,231, 6,190,254,250,119,249,
+ 55,111,191,201,230, 91,247,224,242,252,233,146,210,228, 83, 30, 75, 52,182,140,182,142,142,225,249,103,160,237,120,246,238, 93,
+152,117, 4,221, 34,102, 11,178, 52,165,144, 43, 1,205, 81, 57, 15,155, 5,167,182, 65,234,150,147,217, 17,183,250, 30,135,161,
+ 21,154,174,105,176,202, 50,107, 58,180,212,232,166, 67, 55, 10, 25, 5,203,147, 35,226,224,104,154,166, 20,110, 18, 70, 20, 8,
+ 62, 19, 80, 20,254,147,212,178, 4,107, 41, 10,177,217,104, 16,145,228, 35,155,113, 75, 14,129, 32, 18, 42, 75, 92,116,197,206,
+ 59,102,124,114,168,154,131, 30,181,192,249,186,158,198,167,200,134,159,210,207, 38, 98,170,213,251,117,173,196, 94,213,100,212,
+ 30,113,158,136,188,215,166, 57,105,207,121, 17,178,156,159,147,183,123,206, 5,158,143, 53, 54, 86, 86,200,126, 24,203, 30,137,
+190,120,225, 7, 95, 57, 70,149, 91,165,244,199,191, 4, 79, 35,182,148,246, 36,217,107, 53, 76,222,171, 96, 30,122,118,143, 87,
+212,167,194, 97,139, 55,240,252,236,132, 83, 59, 35,103,129, 84,146, 70,119, 24, 89,188,217, 5,146, 70,149, 25,186, 36,161,100,
+198, 2, 70,100, 90,163,201, 34,161, 82, 66,229,140, 27, 7,164,143,228,209,179, 27, 7,196, 48, 96,119, 1,231, 10,244,174,146,
+ 64,103,232,180, 66, 43,131, 82,154,166,159,163,219, 30,154, 30,219,206, 80, 77,139,210, 6,217, 54, 8,107, 16,170, 28,222,212,
+ 57,187,136,197, 59, 62,196, 2, 9,133,156,137, 41, 33, 37, 92, 13,107,148,210,132, 16, 56, 31, 6,178,168, 93,167,243, 92,167,
+ 2, 61,106, 62, 22, 83,185,249,143,110, 95,208, 15, 33,104, 25,247, 48,230,211,218,252,211,141, 78,214, 64,137,201,207,123, 90,
+176,153, 98,107,170, 39,248,169,118, 91,177,194, 66, 62,148, 13,144,235,101, 68,169, 26,180, 80, 25,150,155,243, 42,135, 10,143,
+247,181, 77, 48,243, 4, 35, 29,189,200, 47,252,202, 79,243, 15,126,249,103,121,233, 51,159,192, 54,138,237,214,177, 27, 60,227,
+214, 51,108, 71,220, 48, 18,156,199, 59,143, 18,150,229,226,132,179,179, 19,102,125, 75,223,155, 26,234,163,176,157,162,177,138,
+ 89,103, 88, 54,134,219, 39, 45, 39,139,158,190,105,144,170, 32, 38,157,149, 44, 91,141,150, 2, 37, 10,145, 42, 35,171,202,162,
+ 32, 8, 82,194,141,133,165,111, 20,189,213,228,148,139,188, 13, 73,215,104,158,187,125, 66,210,154,148, 51,139,229, 49,199,167,
+183,136,235,129,111,191,243, 22, 86, 75,164, 84,188,179, 94,209, 40,193, 48, 14,228, 24,177,218,144,147, 68,104,205, 75,159,124,
+129,115, 63,240,206,119, 94, 43, 93,194,118, 34,211, 72, 30,116,188,248, 1, 40,236,135, 23, 67, 83,209,184,190,169, 7,159, 46,
+107, 68,240,224,200,231, 73,215,242, 7,196,179,126, 96,178,218,100,137,125,243, 6,159,249,212, 43,124,254,149, 31, 98,217, 88,
+132,202, 92,172, 46, 25,253,150,139,221,134,215, 46,239,145,200, 24,101, 24, 82,224,171,175,191,205,155, 95,255, 14,187,111,125,
+ 7,214,171,167, 88,208,167,129, 41, 79,199,163, 98,130,218,103,115,184,123, 11,158,191, 13, 55,110,243,195, 55,158,229,164,233,
+ 72, 8, 62, 57, 63, 98,200,176, 52, 13, 27,219, 86, 6,182, 0, 59,227,110, 55, 99,214, 20,227, 36,163, 53, 74,104, 22, 77,139,
+233,122, 22,182,135, 20,176,218, 34,164,161,237,117, 33,189,117,109, 49, 8,155,119, 53,147, 71,163,107,231, 77, 74, 72, 36, 89,
+ 56,132,148,165, 54,250, 34,215,146,178, 36, 18,134, 24,137, 68,164,128,221,232, 17, 66, 34, 73,228, 36, 24,115,153, 1,207,187,
+ 25, 91, 55,208, 54, 13, 90, 40,118, 58, 19, 69, 77,134, 20, 21, 9, 18,117,205, 61, 14,194,209,216,154, 36, 57,117,205,181,169,
+240,149,196, 54, 89, 11, 78,222, 15,177,234,208,243, 4,207,219,189, 29,110,136,181,121,173, 99, 40, 37,106,167, 47,170,172,172,
+ 6,206,104, 85,246, 68,223, 22,102,189,209,133,100, 42,171,213,110, 62,200, 13,120,156,189,114,120,129,158,198,151,249,176, 99,
+127,239,231,124, 60, 71,185,201, 54,112,110, 97, 54,199,231,140,173,118,121, 11, 91,102,233,160, 80,178,204,174, 11,153, 60,160,
+149, 32,197, 68,223,154,226,176, 56, 56,176,170,100,159,123,200, 33,226,134, 1,225, 60,202,143,196,171, 13, 73,104,244, 54, 16,
+ 20, 12, 10, 90,161,217, 24,133, 54, 22,213,119, 68,221,210, 88,131, 64, 18,117,233,250, 11,244, 92,159,171, 12, 56, 38,213,151,
+ 32,235,162, 3,179,157, 98,220, 66,171, 52, 49, 6,182,206,211,155,134,149,171,198, 20,147,233, 73,160,204,100, 92,101, 41,199,
+244,225,102, 18, 70, 86,143,225,201, 91,187,158,221,170,125,240, 25, 62,169,125,228,161, 22,252,240,247, 66,216,235,197, 1,220,
+ 37,232,227, 98, 60,147,124,149,172,181,123, 7,167,139, 77,249,179,144,247, 30,206, 91,247, 24,201, 24,239,243, 58,112,229,250,
+185,255,252, 87,248,210, 79,253, 24,167,167,115, 98, 74, 92, 93,142,172,175,174, 72, 41,145, 35, 24,221, 18,182, 1,163, 91, 8,
+ 13,253,201, 13, 78, 79,230, 88,107,232, 27,203,124,102, 9, 33,147, 17,228, 36, 80,141,100,102, 44, 11,107, 80,100,156,139, 8,
+ 60, 66, 42, 92,128,139, 77, 34,101,207,172, 73,116, 86,178, 13,133, 21, 93,136,183,138,227,121, 33, 77, 22,133, 77, 66, 43,113,
+157,227, 81, 87, 11,222, 39,122,107,248,210, 75, 55,216,141,129,123,219,200, 38, 30,211,205,231, 12,191,251, 59,136,148,137, 34,
+ 50,134,192,197,234,138, 69,191,100,244,145,198, 59,210,213, 21,110,216, 50, 63, 57,226, 23,126,254, 43, 92, 13,142, 87,255,228,
+223, 61,232,155,126,237,199,249, 3,242,234,219,253,177, 48,173,143,113,138,118,116,149, 91,193,131,133, 75,235, 39, 91,199, 47,
+127,178,116, 84, 95,255,198,251, 79,119,106,164,106,174, 26,222,137,127,214, 62,115,131,163,217, 18, 45, 21, 39,203, 99,186,174,
+ 33,249,196, 27,151,111,113,181,115,220,219,236,120,103,187, 99, 27, 61,241,254, 21,249,114, 11,227,138,252, 52, 45, 91, 63, 40,
+ 47,254,113, 29,197,160, 6,170,204,225,185,103,224,248, 4, 22, 55,144, 41, 51,235,231,184,221,154,231, 23, 55,184, 55,172,249,
+100,211, 48, 2, 23,227,200,168,138,177, 80,223, 52,244, 70,163,133,198, 54,246, 90,154, 37,181,166,207,145,224, 29,182,233, 49,
+ 66, 33,165, 68, 38,137,238, 44, 70, 78,254, 4,245,172, 84, 16,115,192,200, 76, 96, 36,185,128, 18,153,156, 51, 46, 4,148, 46,
+197,114, 28,124,149, 84, 41, 98, 40,157,173,173,166, 72, 67, 8,100,114,137,191,214,154, 24, 35,103,179, 35, 6, 63, 98,103, 22,
+ 45, 19,219,214,242,154, 53,165,136,174,135,114,238, 68, 87,214,216, 48,124,188,181, 53,186,125,231, 45,168, 49,218,181,171,138,
+ 53,143, 93,213,220,249,105, 29,155,154,111,161, 36, 12,235,178,254,213,129, 45,179, 79,251,153,121,116,160,230, 69, 17,116,237,
+ 70, 23, 10,154, 69,216, 59,202, 77,254,239,147, 10, 73,233, 58,210, 10, 31,127,191, 60,198,250,209,143,189,136,219,166, 20,170,
+182,199,100,129,243,129,163,118,142,139, 17, 33,202, 77, 38,166,128, 50,134,144, 19,173,210,132,156,232, 40, 48, 88,223,116,104,
+ 50,209,121,164,146,248,237, 64,151, 33,248,192, 48, 12,100, 23,138,174, 63,120,140,173,174,117,141, 33, 54,179, 66, 24, 94, 30,
+ 99,154, 22,225, 61,169, 53, 40, 36,194,103, 98,215,209,166, 64,142,137, 36, 5, 86, 52,100, 34, 49, 70, 50, 9, 33, 53,201,101,
+132, 40,209,167, 46,122, 2, 17,169, 5, 4, 69, 78, 1,143,195, 40,205,104,106, 96,193,218,239, 31,112, 76, 31,242, 6, 76,179,
+210,112, 45, 93,188,246, 48,158,126, 93,174,244,213,204,224, 9, 11,166,169,129, 3,138, 7,201, 69,215,240,169, 45,115, 35, 29,
+247,213,170,213,133, 32,212,232, 10, 37,197,226,209, 28, 14, 32, 97,107, 97, 92,237, 55,200, 19, 28,222,127,231,151,127,142, 47,
+255,228,151,185,243,252, 41, 66, 10,134,157,103,125,181, 99,115,181, 65, 90, 89, 70,143,187, 17, 47, 18, 18,205, 51, 55,158, 69,
+105, 75, 99, 53, 90, 9,140,209,204,122, 91, 46,216, 25,130,243,180, 70,176,104,203, 72, 39,230,196, 16, 51,110, 40, 12,126, 37,
+ 5,163,203,220,219, 4, 66,138, 88, 85, 51,134,180,198,167,196,213,170,100, 3, 68, 41, 8, 49,211,233, 4, 99, 66, 38,104,218,
+226,182, 55, 84,114,103,204, 25, 25, 50,198, 20, 68,160,239, 90, 98, 18, 60,183,236, 80,252, 60,175,126,251,187, 12,155, 21, 62,
+254, 53, 62, 58,180,182,164, 48,226,130, 39,196, 64, 8, 22, 55, 6,110,189,112,155,223,252,213, 95,226,127,221, 69,174,190,250,
+141, 18, 82,225, 63, 42, 29,246,251,244,106,108, 53, 85,169, 95,151,169,135,223,122,245, 96,184,201,212,209,103,158,138,167,249,
+115,119, 79, 57,233,230,252,249, 67, 69,189,228,123,132,253,207,107, 65,159, 32,205,219,139, 25,183,207,110,113,111,125,206, 11,
+183,110, 35,141, 33, 69,143,209,207,208,154,134,119,183,107, 86,247,207,201,110,132,243,119,159,110,142,193,163, 10,250, 7,125,
+172,109, 11, 55,229,131,158, 89, 99,203,236,252,198, 41, 60,247, 44,116,115,152, 29,131, 53,204,133,102,235, 29, 11,211, 50,132,
+128,160,152,141,188,189, 94,177,176,109,137,170,165, 40, 57, 0,146,146, 92,121,207, 51, 77, 71,163,138,103,135,167, 40,128,112,
+ 35,130,140,214,138,182,107,139,202, 32,101,180,149,132,209, 87,115, 67,135, 38,144,180, 71,187,128, 19,174,120,128,120,143, 68,
+ 16,125,198, 79,173,111,146,196, 93,177, 97,142, 42,161,133,100, 23, 71, 90, 93, 28, 33,165, 44, 73,153, 90, 40,148, 46,210, 10,
+ 33, 51,164,142, 16, 2, 47,158,157,114, 62,236,216,180,150,232, 28, 92, 14,123,203,241,237,199,136,166,158, 26,153,107,187,214,
+169,177, 58,144,109, 74,189,183,168,181,128, 59,184, 97,247,237, 62, 5,239,176,176,167, 74,134,155, 92, 31,175,155, 40, 11,210,
+ 85,219, 86,246,204,119,113,112, 78, 78,249, 28, 57,237, 77,196,198,239,237,216, 77, 63, 86, 33,105,219,186,233, 45, 56,199,209,
+ 98, 73,175, 53,224, 17,162,197, 84,200, 64, 73,141,243,158,214,180,196,232, 81,253,131,246, 16, 0, 0, 32, 0, 73, 68, 65, 84,
+100,108, 83,158,174,115, 35, 70, 74, 84,202,152, 4, 94, 25,216,172, 8, 33, 96, 98, 68,133,132, 19, 13, 93, 83, 35, 82,173,102,
+222, 22,189,228,242,228, 4, 21, 50, 62, 38,236,124, 86,130,128, 98, 66,180, 22, 81,137,108, 66,107, 76,166, 44, 38,138,214, 47,
+186, 18, 50, 32,200,120,231, 16, 82,144,210, 30, 82,119, 57, 20,163,154, 12,173, 86,140, 94,237, 45, 14,145, 31,173, 83,159, 10,
+187, 72,251, 91,227,245,162,227,193,159,123,249,228, 93,206,132,239, 75,185,191,113, 30,190,173, 74,150,247, 43,172, 96, 88,192,
+162,169,193, 3,166,116,230,187,117,245,231, 30,203,223,247,169,166,136,141, 15, 6,133, 60,198,215,217,255,248,151,248,205,175,
+252, 36,175,124,246, 69,180, 16, 12,206,227,198,192,250,114,139,119, 14,100, 41,232,243,126,129, 93,156,210,116, 45,120,137, 66,
+211, 46, 12, 90, 72, 78,102, 22, 99, 20, 18, 65, 99, 52, 33, 43,206,179,192, 71,207,189,181,195, 84,147,157, 88, 67, 37,118,222,
+ 19, 66, 68, 68, 65,200,137, 97, 72, 12,163,103,116,145,229, 92, 23,232,190,149,184,109, 96,187, 13,132,172,104,231,134, 35,147,
+203,218, 89, 11,180,146,244,141, 37,228, 98, 78,180,146, 30,163, 36,125,163, 88,180, 2,107, 53,214,104, 62,247,210, 13,142,102,
+ 13,247,239, 95,113,118,235, 22,171,139, 43, 94,191,255, 29, 70, 31, 72, 49, 34,149,192,168,128,237,122, 46,238,157,243,236, 75,
+119,249,167,255,217, 47,241, 63,255,241,215, 14,230, 50, 63, 64,175, 36, 31, 66,146,216, 75, 27,167,174, 93, 60,253,127,246,213,
+223,251, 3, 94, 61, 44,126, 7,200, 83, 70,151,194,174,245,117, 65, 23, 49,145,149,228, 91,111,190,195,173,217,155,220, 62,189,
+137, 80,146, 24, 61, 57,192, 24, 2, 55,150, 71, 44,187,150,203, 55,222, 46, 33, 34,181,160,231,167,253,197,219, 26,142,180, 27,
+247,197,226, 48, 20,228,250,251,234, 42,130,215, 66,120, 40,149,208,216, 2,253,206, 58, 56, 89,194,209,188,116,119,214, 22, 18,
+150,131,165, 21, 32, 21, 66, 55,100,183,229,184,155,227,134, 45,207,119, 45,247,124,224,221,114,147, 39,137,140, 53,134,133,181,
+116, 82,179, 11,142, 99,219, 97,155, 6, 17, 18,222,121,164, 84, 28,213,156,116,165, 37, 90,203, 98,171,225, 3, 86, 11,162,247,
+228, 16,144, 58, 34, 6, 79, 34,163,165,160,217, 57, 6,145, 49, 25, 84,140, 5, 89, 22,130, 81,149,102,167,164,149, 54, 64, 98,
+209,204, 8, 57,162, 77,195,224, 6, 90,101, 65, 39,134, 16, 88,116,115,188,223,146, 77, 67, 59,151, 92,185, 45,189,130, 43,173,
+ 88, 55,154, 75, 20,116,177,248,196,115, 5,222,194,246, 67,146, 28,141, 45,163,207, 41, 43, 33, 38, 16,110, 47, 3,155, 80,211,
+ 36, 30,156,233,216,218, 88,185,170, 77, 23,178,188, 23,227,186, 28,163,186,173,118,178,117,180,106,218,189, 95,188, 60,104,208,
+166,189,108, 38,127, 18,185,255,185,146,123,118,253,211, 64,182, 62,228,245,241,103,234,186, 90, 94,246, 51,232, 91,154,147, 37,
+189,210, 88,109,144, 66, 32, 69, 38,229, 76, 66, 84,189,122, 33, 7,168, 12,157, 76,184, 16,233,148,196, 20, 80, 8, 13, 40,165,
+ 80,126, 68,198,132,218,185, 50,178, 72, 96,148, 38, 26,141,233,122,218,182, 67,219,134,182,159, 97,140, 65, 90,131,182,134, 76,
+174,188, 7, 77, 32,147, 83, 38, 73, 93, 33, 39, 73,200,165, 99, 79, 66,236, 51,147,153,204,190, 34, 57, 70,198,228,240, 62, 16,
+115,172,235, 33,177,141, 99,241, 94,113,174,144,155,166,212,182,195, 44,229, 15,155, 77, 78, 86,131,217, 23,164, 97,210, 1,123,
+246,176, 80,240,143,121, 29,211, 7, 26, 99, 5, 97, 44, 24,191, 63, 96, 67, 47,102, 69,191,106,155,114,156,185, 80, 14, 55, 31,
+202,247, 18,135,242,119,198,106,103, 56, 86, 61,101, 13,122, 33,133,247, 18,241, 62,162, 70,249,215,127,251,183,248, 79,127,237,
+239,114,231,185,155,184, 49,224,124, 32,250, 92,127,140,215,211, 7,133,225,120,126,196,114, 54,227,246,209,146,153,109,144,173,
+194, 72,197,162, 49,204, 90, 85,227,196, 19,228,204,106,235, 24,221, 8, 34,147,125, 34, 10,193,213,182,132,183,196,152, 89,175,
+ 2,171,171, 29,231,235, 45,187,221,136, 15, 30, 31, 18, 82, 72,238,189,189,226,222,102, 7, 17,108,149,151,197,224, 8, 89,113,
+113,233, 25,131, 99,244, 17, 55, 70, 92,242, 16, 51, 65, 8, 4,146,205,224,184,220, 56, 70,159,153, 55,146,209,121,180,146, 44,
+250,134,219, 55, 23, 28,157,206,249,196, 11,183, 16,237, 2,171, 90,124,101,192,175,118, 91, 72,145, 70, 23,111,128,103,159,191,
+193, 23,126,234,111,243,175,127,231,255,225, 7, 38,236,227,129,179, 73, 87,230,239,100,184, 84, 11,162, 76,188, 71,103,246, 81,
+ 15, 38,253, 1,247,151,135,127,127, 42,232,170,234,135,167,249,103,101, 49,139,201,135,161, 22, 77,177,139, 92,244,130,190,230,
+141,183,166, 97,181,185, 66, 10, 88,239,182,252,233, 95,125, 23,222,126,245, 26,181,122,234, 5, 93,214,180,182,182,219, 95,124,
+212,193, 65,158,115,189, 40, 85,207,110,161, 32, 12,251,125,212, 90, 80, 29, 28, 31,149,196,191,163,121,209,149,119,109, 41, 38,
+ 85, 1,137,110,176,148, 68,202,165, 44,137,131, 34,122,174,124,160,201,145,123,110,199,102,220,128,223, 33,117,135,147,154, 59,
+ 93,135,149,130,101, 99, 48,213, 67, 66,213,128, 43,163,138,217,212,188,183,215,130, 20, 50, 37, 60, 43, 71,114, 12, 5,132,168,
+118,221,132,136, 30, 35, 65, 75,172,143,200,154,149, 33, 43,129, 75,138,124,205,229, 82, 70, 99,164, 68, 91, 67,219, 24, 18,169,
+152,125, 9, 16, 66, 48,239, 91,156, 27,232,172, 45,102, 66,100,230,182, 37,166, 80, 56,181, 89,149, 99,218, 10, 98, 18,251,140,
+243,198, 22,136,254,144,179,112,152, 45, 17,124,173, 77,121,111,216,162,197, 94, 58,145, 39,130,167,170,103,220,193,251, 56,212,
+226, 63,233,190, 85,174,246,220,186,202,200, 84, 33,185, 54,181, 97,138,197,116,168,196, 40,155,242,107,217, 84, 50,221, 52,163,
+143,229,189,119, 99,181,205, 86,149, 53,175, 31,207, 79,226,123, 90,212,219,190,232,109,251, 6,164, 70,181, 13,141,177,204,141,
+ 65,203,150,156, 34,141,105,176, 82, 19,146, 71,150,119,147,148, 2,141,132,133,166,116, 49, 66, 98,115, 70, 33,203, 51,244, 9,
+147, 37, 42,122,162, 75, 88,109,112,198, 34,155, 14,211,207,104,141, 69, 89, 75, 59,235,137, 62,162,171,183,176, 8,177, 20,108,
+169,145,100, 66, 77,132,147, 2, 54,209,163,108, 49, 70,201, 57, 18, 67, 66, 8, 65,140,169, 64, 72, 57,227, 98, 32, 36, 79, 68,
+144,147,199,167,226, 74, 23, 83, 34,196,136,159,152,141, 83,210,148,143,133,240,246,145,141,187,210,158, 85,169, 38, 39,162,218,
+169,167,248,152, 33, 5, 15,221,244, 98,253,122,140,173, 70, 7,213, 47,190, 95,212,244,188, 74,216,112,187,253, 92, 52,135,122,
+ 1,136, 48, 78, 58,244,176, 95,116,250, 33, 22,253, 20,245,247, 33, 68,160,230, 63,248, 18,255,245, 63,254,135,124,241,203,159,
+195, 24,205,110, 44, 33, 7, 41,102,178,200,164,148,137, 33,145,131,164,177, 29, 55, 79,110,240,220,233, 41,203,197,140,227, 69,
+139, 80,146,155,139,142,219,199, 29,157, 45,220, 8, 33, 96, 51, 68, 86,131, 99,227, 28,187,157,199,187,192,198,123,214,235, 29,
+219,245,200,229,197,150,132, 33,197,196,118, 51,224,119,142,113, 23,217,173, 71,132, 78,197,215,223, 39,148, 22, 8, 13,227,110,
+ 96,116,158,205,122,139, 31, 28, 62, 10,182,155,145, 97, 28, 9, 33, 51, 14,129,245,214,177, 25, 60, 46, 41,114, 78, 4,239, 25,
+ 35,228,156,104,173, 40,121, 29, 25,122,173, 88,180,154,101,111, 89,246, 51,238, 62,123, 11, 59, 59,226,232,228,140,123,111,191,
+ 77, 12,145,166,177, 37, 60,207, 71, 94,120,225, 25, 62,255,147, 63,198,239,255,206,239,253,128,117,234, 53,255,122,146, 25,197,
+176, 15,220, 73, 60,126,184,134,212,123,183, 51, 93,198,104,197,146, 51,188, 23, 62,133,189, 52, 72,215,131, 86,213,208, 27, 33,
+ 30, 44,236,126,196,125,231, 77, 94,253,206, 95,241,141,237, 21, 89, 57,122,107,113,206,241,199,175,127,135,237, 55,191, 5,126,
+252,224, 98,254,137,151,249,244, 79,124,145,123,127,245,215,143,184,121,124,200,243,154, 46, 67,227,184,151, 80, 93,187,140,229,
+ 3,195,160, 90, 8,164, 44,207,162,105,192,206, 74,103,222,218, 18,176,210, 54, 85, 45,162,202,254, 77, 19, 81, 42, 17,108,203,
+ 11, 77,135,200,145,224, 7,124,138,164, 48,144,220,142,239,110, 86,228,113,139, 80,154,185, 2, 77, 65,152,132,182,180, 53, 23,
+192, 72, 69,140,137,166, 51, 52, 2,102,115, 83,199,203,213,252,171,250, 83,229,148,209, 58, 33, 82,113,238, 36,102, 68, 12,228,
+ 24, 80, 49, 34,114,177,162,176, 2,180, 80, 64, 68, 8,137,110, 44, 70, 91, 76,107,208,141, 65, 27, 77, 22,208, 54, 77, 33, 76,
+ 75,129, 49,138, 24, 35, 93, 91, 96,247,242, 22, 75,188, 31, 49, 82,145,115,105,150, 78,187,142,251,195,128,106, 44, 81,203, 26,
+ 21, 61,141, 53,171, 23,186,182,149,116, 60, 49,217, 15, 50,237,179,219,155,183,196, 74, 98,156,194, 46,114,189,156, 38,202,179,
+ 14,126,239,177, 46,155, 82,208,175,199, 52,182,172,215,144, 10,154,137, 40,223,188, 16,123,189, 58,147,180,211,151,117,234,170,
+211,155,169,121,244,166, 58,212, 81,211, 47,197,247, 62, 11,224,227, 21,245,190,173, 48,146, 41, 55,167, 89,143,178,134,179,174,
+ 47,129, 43, 74,208,155,142,148, 19,137, 92,154, 84, 33,144,100,218, 28,208, 57,128,200,180, 82, 33, 82, 36, 42, 69,147, 74, 97,
+143,128, 30, 74, 81,237, 81,120,173, 80,243, 57,182,105,208,198, 18,148, 98,214,119,228, 24,209,173, 37,197, 90,144,116,177,129,
+117,209,147,140, 33,121,143, 19,137, 49, 6,100,134, 40, 37,161,250,121,103, 37,137, 62, 84, 87,191,120, 93,184, 5,144,235,131,
+207, 41,226, 98, 66,145,145, 66,176,217,212, 52,171,237, 88,180,222, 34,215, 91,216,227,220,236, 15,108,103,227, 19,144,228, 14,
+217,237,135, 63,159,244,138,105,138, 91,181,101,145, 42, 85, 10,248,110, 40,139, 55, 84,134,168,171,172,244, 84, 11,119, 99,247,
+ 16,209,116,112, 79,183,225, 84,103, 85,227, 7,155, 69,156,254,228, 79,240, 63,252,246,175,242,210, 75,119, 42,241,180,204,187,
+189,247,140, 33,226,118,129, 97,240,108, 46,183, 24,221,115,243,198, 45,158, 61, 61,225,232,168,165, 51,166,146, 67, 51,179, 70,
+ 33,165,192,197,200, 16, 51, 99,130,245,198,115,126, 57,176,221,121,134,209,179, 90, 13, 92, 93,110,217,172, 6,182,187, 1, 63,
+122, 98, 78,108,199, 80,188,222, 47, 7,156, 27, 8,209, 17,125,201, 5,200, 62,161,148, 34, 69,201,102,181, 69, 74, 65, 74, 25,
+183, 29, 24, 54, 35,155,203, 17,183,113,184,113, 96,231, 29, 41, 4,182,155,145,113, 44, 23, 9,171, 4,189,145,236,198,136,208,
+146,152,114,229, 33, 85,243, 36, 37,105,172, 98,222, 27, 94,188,121, 68, 63,155, 33,237,156, 20, 5, 73, 4, 4,138,144, 18,219,
+209,113,231,217, 51, 62,247, 19, 63,206, 31,252,159,255,247, 15, 86, 97,143,213, 1,239,253, 2,119, 30,231,101,236, 62,170, 52,
+ 85,130,230, 24,203, 33, 60,107,246,100, 35,173,247,178, 34,216, 39,103, 77, 45,182,172,126,245,213,212, 67, 92, 27,238,212,175,
+115,181,227, 45,231,249,230,219,111,241,205,183,222,100,251,221, 55,201,227,250,209,223,195,122,197,223,254, 59,255, 17,183, 62,
+253, 9,190,251,141,111, 60, 30,107, 93, 86, 5,201,244,181,235,135,252,248,167,203,178,214,165,136,207, 23,176, 60, 65, 30, 31,
+145,151,179,131, 44,123, 85,138,130, 82,251,142, 51,133,210, 68, 9, 65,204,137, 24, 60, 97, 92,211,165, 76,218, 94,208, 4,199,
+184,189,226,221,237, 10,198, 1,225, 7,192,243, 66, 51, 99,214, 47, 57,178, 13, 90, 74, 66,202,215, 33, 44,157, 22,116,115,195,
+220, 42,218, 70,162,165,160,111, 37,186,122,150, 79,118, 4,201, 23,110, 74,218, 13,197,139,127, 8,197,162, 59, 23,200, 93, 9,
+137,105, 12,198,180,216,182,197, 54, 22,213, 53, 40, 99,139, 47,137,181, 40,169,200,185,204,238,181, 42,132,232,198, 54,196,224,
+209, 82,212, 16,180,132,175,239, 81, 18,197,253,115, 32,176,108, 91,132, 20, 8,163,112, 86, 22,228,176,235, 10,218, 41,227,158,
+137, 46,170, 13,172, 72,117, 92,193, 94, 97, 20, 40, 5, 53,199,189, 93,175,212,165,232, 83, 73,193,147,235,219, 48, 22, 79, 14,
+ 95, 47, 9,186,202,214, 68,222, 7,124, 9, 91, 85, 32, 84, 51, 25, 81,244,233,169,218, 2, 79,151, 58,173,170, 11,103,189,236,
+153, 74, 88,252, 62,116,233, 31,175,168,107, 93, 61,190, 21,204,106,234,143,214,204,103, 51, 52,146,185,181, 37,214, 84,148,141,
+ 55,201, 34,148,128,144, 3, 46, 7, 22,178, 60,160, 46,139,210, 77,231,140,164,108, 36,149,138,180,204, 38, 81,162,110,109,135,
+237, 59,178,178,100, 37,209,198, 48,166, 64, 86,229, 96,148, 36,164, 54,136, 24,217,230,136, 82, 18,231,194,117,198,201,232, 61,
+ 89, 22,214,189,203, 9,157, 82,129,226, 67, 34,197, 2, 31,249, 80,224, 31,159, 28, 32, 8, 49, 17,115,192, 42, 69, 22,153,115,
+ 63, 98, 90,131, 27,171, 94,209,213,212, 41,255, 4,126,209, 79, 18, 35,120,248, 94, 72,249,224,165,224,176,184, 79, 9, 91, 50,
+ 23,107, 67, 31, 96,187,131,113,183, 47,212,147, 43,216,195, 29,255, 3,159, 99,234,212, 39, 56,182,182,108,215, 16,252,190,187,
+249,217, 95,255, 69,126,235, 31,253,125,142,230, 61, 87,155, 29,219,245,192,110,112,108,119,158, 24, 51,195,102,100,183, 25,136,
+ 46,161,153,243,204,157,103,248,220, 39,110,114,231,164,165,181, 6,231, 19,177,118, 96, 62,129, 71,178,118,137, 55,223, 90,113,
+117,185,101, 61, 4,134,144,216, 14,158,205,122,199,230,202,177, 91, 15,248,224, 24,183, 3,193, 7,198,113, 32,120, 71,116,129,
+ 24, 3, 57,149,241, 71,172, 58,252,148, 34,195,110,199,118,189, 99,216,141,172,207, 47, 16, 66,225,156, 35,249,177, 34, 53,144,
+115,196,143, 14,165, 53,195,232, 10, 23, 67, 70,164, 80,180,179, 98,173,235,198, 72,211,106, 6, 95, 80, 39,170, 92,174,240,199,
+ 4,141, 49, 40,173,137,178,229,153,219, 55,217,110, 3,110,216,161,219,134, 97,189, 97, 12,137,231, 94,184,201,115,159,248, 36,
+127,246,251,127,244, 24,216,245,191, 7,175,105, 86,220,170, 50,119,182,109,145,136,118,179,122, 24, 86,242,230, 4, 89,155,169,
+176,137,125, 65,159, 58,225, 44,246,168,209,251, 25,238, 72,138,229,235,197,101,249,111, 28, 74, 33,248,160,103,167, 75, 44,232,
+ 55,183,107, 94,190,243, 44,127,253,245,175,239, 33,245, 71,237,205,198,150,175,185, 53,123,100, 97,114, 15,211, 15,141, 39, 38,
+253,179, 86,165, 11,188,121,198,252,120,206,252,120,206,216, 88,178,177,213,209, 44,214, 17,218, 65, 54,192,100, 87,154, 98, 41,
+ 60,227,134,237,184, 97,117,117,159,221,246,156,215,238, 95,225, 55, 87,188,182,170, 5,189, 85, 28,205, 58,110,182, 61,199,205,
+156,214,182, 40, 37, 64, 89,186,156,176, 82,211,181,146,229,204,208,181,197, 0,108,222, 42,186, 86, 33, 98,194, 54,170, 18,147,
+ 51,209, 7, 68, 78,196,245, 72,206,137,184,222,146, 71, 71,118, 30, 65, 46,231,182,110,139,153,152,209,116,205,140, 44, 21,221,
+172, 67,100,133,181, 6, 41,101, 97,190, 91, 83,198,108, 85, 94,155, 98,192, 24, 75,162,132,112, 73, 81,124, 78, 93, 8,180,198,
+ 18,115, 44, 6, 98, 82, 18, 98, 36, 9, 73, 18,130,104,234, 57,118,212,150, 11,144,243,165,176,235, 41,173,208, 20,107,110,171,
+ 32,200,178,230,144, 85, 55,174,246, 50, 76,125,224,149,129,170,217, 21, 19,201,174, 22,236,209,213, 5, 85, 47,101, 82,148,130,
+158,134, 18, 7,157, 43,220,126, 77,134, 22,251, 28, 7,228, 1,121,234,192,202,217,249, 3, 31,136, 39,100,193, 77,126, 8, 19,
+195, 62, 61,110, 81,159,236, 64,219,190, 44,236,190, 41, 48,154, 82,220,232,122, 50, 25,171,219, 58,151,206, 40, 33,201, 57, 33,
+ 40,208,187,200, 25,159,224,140,200, 32, 51, 45, 18, 35, 4, 89, 42, 68,150,200,148, 17, 8, 68,206, 36,211,208,204,122,178,181,
+ 37,232, 72, 27,178,132, 70, 75, 92,138,164,156, 80,218, 20,233, 92,142, 32, 20,131,247,132, 84, 50,197,163, 47,182,177, 33, 38,
+140, 16,101,159, 8,144, 46, 34,140, 4,153,241, 46,144,114, 34, 11, 73,240,158, 24, 2, 62, 7,132,144,164, 84, 82,186,102,178,
+ 33,228,196, 54, 87,150,231, 24,107, 30,111,252,155, 61,103, 31,238,162,141,222, 23,228,233,207, 38,184,127,136,101,118, 30,195,
+ 30,154, 63,204,182,126,212,231,152, 22, 96, 83,229, 46,170,250, 38, 95, 31,124,165,216,255,226,111,254, 26,191,240,107, 63, 71,
+223, 88,222, 61, 95,177, 94,237, 24,135,192,118, 23,240, 99, 49, 0, 73, 49, 99,245, 12, 35, 91,142,143, 79,121,246,230, 9, 77,
+ 53,126,241, 46, 17, 66, 98, 12,153,213, 48, 18, 92, 34,184,200,253,203,129,119,207,215,220, 59, 95,179,190,220, 49, 12, 35,171,
+243, 29,187,237,192,110,189,102,231, 6, 98,240,184,193,177,219,108, 9,163, 71, 32, 24,135, 13,227,110, 64, 25,197,176,217,162,
+141, 41, 69,158, 76, 8,158, 97, 59,224,221, 64, 76, 9,231,119, 56, 55, 34, 20,228,236, 9, 99, 64,217,150, 97,187, 37,231, 76,
+ 38,147, 92,194,246,134,172, 45, 41, 22,109,104,132,162,121,175,227, 37,137, 68,107, 81,221,118, 51,179, 89,195,113,223,176,114,
+208, 88,195,141,211, 37,235,130,221,227,189,195, 15, 35,194, 24, 94,124,249, 46,119,238, 62,199, 87,255,240, 79, 63,160,144,255,
+123, 84,208, 31,190,127, 88, 83, 70,117,218, 20,173,175,148,229,240,173, 9,137,165,123,105, 74, 1,166, 66,213,147,167,245,225,
+ 75,240,225, 29,142,148, 31,192, 17, 72, 31,204, 90, 23,192,253,243, 82,208, 39, 8,246, 81,133, 93,235,253,197, 3, 30,204,224,
+158,138,251, 84,224, 39,178,148, 22, 37, 11,226,248, 8,121, 60,227,120,214,211,118, 45, 94, 75, 22,198, 20,103, 53, 33,247,172,
+107,113,192, 68,140,161, 60,155,213, 21, 92, 94,192, 59,239,146,175,118,140,111,190, 11,171, 53,187,243,251,229, 18,208,104,132,
+ 41, 49,167, 47, 46,207,138, 23,187,208, 72,105,145, 57,209, 91, 75,171, 4,139,185,165, 49,154,227,153,102,209,149, 46,189, 53,
+146, 89,171, 17, 33,151,112,172, 92,208, 39,191, 29, 32, 38,194,197, 21, 41,248,242,252, 67,177,127, 45, 53,180, 65,182, 6,221,
+244,101,162,208, 55,228,148,153, 29,117,228, 92,164,161, 77, 99,137, 41, 34,170,155,232,148,182, 23, 67,198, 71,143,182, 22,239,
+ 35, 81, 36,180, 82,248,148,208, 82,145, 36,140, 62,208, 24,197,152, 34, 43,239, 49, 82, 18,173,134, 93, 93, 7, 93, 91,189, 54,
+100,121,206, 34,237,253, 54, 52,101,124, 17,198,130,130,140,245,207,146, 42, 90,114,101,107,224, 77, 61, 39,167,247, 74,230,234,
+219, 94,211,218, 38,227, 26, 89,223,139, 41,187, 60,213,116, 52,217, 20,216,125, 50,234,210, 83, 8, 75, 40,159,127,116,123,111,
+248,244,148, 92,243,100,253,223,245,122,127,239, 90,253,120,240,187,172, 29,122,215, 94,207,134,111, 44,230,164, 36,153,155,134,
+144, 60,173, 52, 52,218,144, 43, 33, 45, 19,203, 27,149, 2, 22, 24,114,230,148, 18,119,106,116,131, 77, 32,132, 36, 10, 48, 33,
+ 35,173,161,233, 58,178,212,133,140, 97, 52, 57,197,210, 36, 42, 81, 50,235, 41, 40, 76, 36,145,133, 64,145, 25, 70,135,212,130,
+113, 61, 16,157,135,152,104,164, 38,133,128,212, 18,124, 68, 24, 69,172, 51,110, 41, 51, 62,100,198,232,200, 41,225, 83, 68, 85,
+253,253, 54,184, 98, 73, 26, 61,107,231, 56,110, 91, 54, 87,219,178,241,220,184,223,128,127,163, 7,168,126,176,115, 57,132,227,
+167, 66, 29, 83, 9, 37,152,110,138,135, 7,214, 33,209,238, 81,159, 35,213,219,238, 68, 70, 65,215,195,178,144,127,126,241, 31,
+254, 26, 63,251,247,126, 26,107, 13,171,237,192,213,197,142,171,119, 46,137, 41,163, 26, 77, 12, 17,239, 60,182,233,152, 47,122,
+180,208,104, 97,144,141,194,214,113,105, 78, 5, 54,223,121,207,224, 3,195, 16,185, 28, 6,238, 95,172,216,238, 70,220,206,177,
+217, 57, 86, 23, 23,236, 86, 27,114,242, 4,225,233,218, 6,211, 25,148, 82, 52,125,135,247,174, 54, 71,153,209, 5, 66,130, 76,
+ 70, 41,141,247, 99,185,249,167,200,224,118, 72, 36, 99,204,196, 16,112, 33, 32, 19,120, 95, 46,122,214, 26,164, 82, 12,219, 29,
+237,220,226, 93, 68,106,139, 54, 18,211, 88,178, 47,198, 69,227,152,104,172, 38,102,232, 26, 67,170, 70, 70, 25,129, 86,154,163,
+206, 50,107, 20,111, 94, 12,197,173,110,222,178, 25, 2,227,118,131, 27, 6,114,200, 36, 41,120,233,229,187,156,156,221,226,223,
+254,233,255,123,176,115, 63,134,220,205,216, 58,135, 85,223,191,156,234, 7, 10, 93,189,244, 77, 14, 90,211,248, 71, 83,138,248,
+196,241,152, 8, 75, 91, 87,153,198,149, 56,102,108,233,170,115,117, 33, 52,242,193,194,254, 97, 7,226,163,164,101,239, 87,160,
+223,239, 2,192,161,173,241,251, 4, 55, 77, 36,190,195, 56,225,105, 68,160,229, 62, 76, 73, 29,252,158, 48,197,143,125, 62,135,
+229,156,103,231, 61, 95, 60,157,113,199, 26,238, 52,150, 99,149,105, 51,220,167,186,130,229, 10,243,250, 88,216,244,155, 29, 92,
+ 92,193,197, 10,222, 57,135,221, 21,220,187, 40,138, 21, 95,231,198,203, 57,116,182, 56, 32,246, 51, 26,213,176,108,150, 88,163,
+209, 90,161,132,102,222, 54,156,206, 52,243, 86,115,107, 97, 56,157, 25, 58,163, 88,106, 65,171,196,117,152,156,212, 16, 92,100,
+112, 35,164,204,112, 85, 52,253,121,231,136,187, 1,157, 32,197,132,210, 22,221,119, 24,221, 96,186,242,115,178,160, 93,180, 4,
+151,200, 6,172, 46,238,137, 82, 10,132,144,228, 92, 8,212,185, 74,100, 75,100,121,172, 1,118, 5,193,141, 41,225, 40,242, 59,
+ 41,139,171,103,202,153, 31, 62, 94,242,134, 27,137, 33,150,139,162, 82,123,155, 87, 33,106, 86,123,141, 36,213,166, 32, 41,209,
+ 23,162, 27, 53, 73, 45,248, 82,108,141, 41,235,210,135,242,113,162, 42, 12,130, 43,191,214,162,204,225,117,165,197,171,106, 94,
+211,217,162, 22,162, 94, 24,162,171, 94, 38,234,192,190,117,202,218,144,149, 60, 39, 31,140,155,126, 82,208, 77,195,123, 4,107,
+ 85, 25,114,184,198, 63,122, 81,175,217,214,232,174,124,179,141,133,182, 45,100, 8, 93,216,202, 66, 10,172,178, 69, 38, 6,248,
+ 28, 81, 8,114,206,136, 92, 10,231, 82,137, 98, 9, 91,195,221,149,177,184,148,104,178, 36, 40, 73, 86, 6,169, 53, 65, 22,141,
+114,204, 5,186,153, 76, 15,144,146, 44,192,199, 88,158,169,139,236,182, 91,116,134, 97,181,194,185, 1,157, 18,109,130, 93,112,
+ 36, 81,100,115,187,156, 80,185,104, 40, 99, 42, 8, 66,164, 72, 44, 38, 19,126, 23, 2, 62,122,172,182,184, 24,112, 49, 96,132,
+228,254,110, 44,208,112,240, 48,248,239,157, 95,244,199, 38, 53, 29,192,228,135, 80,250,161, 51,216,225,143,215,142, 75,122,191,
+ 24, 14,255,254,251,125, 14, 45, 31,180,185,109,116,133, 53, 3,255,232,191,251,199,124,249,239,254, 56, 66, 10, 54,187, 66, 86,
+ 27,182, 3,126, 24,201, 72,114, 44,207,217,152,150,174,233, 88,118, 45,243,206, 98,149,162, 81,138,163,185, 65, 74,216,140,137,
+139,157, 99,181, 25, 89,173, 70, 46, 87, 27, 46,175,182,172, 47, 55,108,174, 54,184,193,179,189,218,144,114, 68, 91, 73,215,105,
+206, 78, 79,233,230, 45,177,118,118, 66, 64, 59,111, 57, 57, 91,114,116,180,164,157,245,204,231,109,153, 26, 12, 1,173, 53, 82,
+105, 98, 8, 12,110,192,104, 67, 72,133,149, 47,201,104, 83,102,143, 46, 56,146,143, 8,138, 89, 70, 99, 53, 57,129,181, 13,218,
+ 74, 36, 26,219,107,132, 79, 56, 37,233,181, 70, 72, 65,240, 48,239, 20, 86,203,234,107, 81,160,206,222, 42,146,144,172,118,129,
+227, 70,113,231,236,152,171,144,185,255,238, 91,144, 50,209, 39,146, 16,188,240,242, 93,222,220, 57,222,249,214,183,247,108,233,
+143, 4,193,235,125,231, 8,223,223,162,174,171, 4, 72,176,119,239,210, 53,230,178,111,202, 33, 89, 52,172, 7,116, 99, 81,214,
+ 80, 78,229,224, 53, 77, 37,140, 86,222,134,154,172, 56,217, 67,159,143,114,226, 58, 52, 96,202,249,209, 28,148,235, 51, 81, 62,
+136, 2,168,131, 75,132,170,249,217, 15,195,154,178,146,159,174, 61, 33,234, 97,207,164,104,169,123, 37, 86, 71, 52, 59, 43,185,
+ 24,198,150, 70,168,111,249,212,188, 71,137,204,204, 88, 82,246, 52, 82, 35, 85,226,237,161,100, 93, 20, 31, 12, 15,155, 17,214,
+ 99,201,143,184,218, 20,121,213,184,171, 69, 63,236,207,227,163, 57, 52, 6,161, 53, 89,107,110,206,102,156,205,110, 16,210,200,
+113,115,132,209, 22,169, 5, 51, 93,236,143,159, 59,110, 57,158, 91,140,148, 28,155, 34,101,235,141, 66, 2,214, 8,198,173, 39,
+164, 76, 10, 17,191,243,132,237,142, 52, 56,198, 97, 68,134, 88,209, 77,176,179, 35,162,177, 36,219, 32,109,131,182,229,204,110,
+109,233,198, 91,107,241,201,151, 44,246,144, 48, 74, 21, 46, 19,144, 66, 32,167, 72, 8,190,102, 71, 21, 62, 66, 8, 1, 41, 36,
+ 46, 38,100,149, 52,134,156, 80,202,240,218,110, 75,206,133,100, 25, 99,220, 39, 82,198,253, 24, 5, 68, 33, 26,250, 58, 7, 23,
+170, 92, 18,109, 83, 81,230,118,127,182,249,176, 39,186,201,138, 22, 73, 91,160,121, 79, 33,197, 37, 15,186, 50,218, 85,157,161,
+ 79,219, 48,109,235,252,190, 94, 68,115,101,243, 78,113,197, 70,236, 35, 90, 39, 39,184, 84, 77,104,158, 40,116,105,154,229,203,
+247, 94, 80, 31,171,168,203, 26, 61,215,232,253, 28,204, 40,140, 49, 44,218, 2,187, 47, 77,143, 39,160,165,194, 5, 71,163, 44,
+ 46,249, 50, 43,215, 18,153, 18, 67, 10, 52, 74, 32, 16,180,218, 84, 41, 69,177, 50,148,202, 64,215,147,148,169, 4, 69, 65,174,
+ 10,176,156, 19, 89, 9,156,243, 36, 4,113, 44,249,217, 97,220,161,115, 34,143,174, 4,105, 92,173,200,162,232,209,149, 44, 76,
+247, 40,192,202,140,143,153, 4,168, 92,179,215,115, 66, 10, 69, 8, 14, 41, 36, 57, 11, 16,146, 49, 12, 40, 33, 42, 11, 62,178,
+114,190,220, 18,165,132,203, 45, 79, 53,128,224, 73,110,111,239, 55,163, 63,156,135, 79, 29,199,244,107,127,208,173, 79,139,225,
+ 48, 4,230, 3, 47, 10,245,192,189, 38,210, 37,126,227,191,249,175,248,209,159,248, 17, 66,202,108, 54, 35,187,173, 99,125,185,
+197, 13, 1, 33, 53,255,226,143,255,128,119,223, 57,231,135, 63,253,105, 22,221,156,190,109, 49, 70, 49,111,123,158,191,187,228,
+185,211, 25,173,149,196, 12, 87, 99,145,164, 93, 94, 14,236,134,145,113, 40,196,183, 68, 34,134,140,180,144,146,231,228,228,152,
+ 91,183, 79, 56,154,247,244,199, 29,179,101, 83, 58,145,197,140,174,181,156, 30,207,120,249,165, 27,116,179,134,101,107, 56, 58,
+233, 11, 60,158, 18,253,172,229,232,104,198,209,217, 12, 55,122,198,113,192, 42, 77, 74,169, 92,242, 83,113,170, 75, 33, 21, 84,
+ 47,103,140,153,149,176, 10,153, 11,226, 36, 20,136,140,115,158,119,222,190,224,237, 55,222,229,106, 53,224, 83, 38,136,204,209,
+172,225,116, 97,136, 49,179,113,153,182,209, 24, 45, 9,185,232,106, 82, 12,156, 44, 13, 74,181,172,119,153,205,230, 28,211, 52,
+108,215, 91,186,174,229,243,159,255, 33,254,229, 63,255,221,131, 46,189, 50,119, 77,133,173,229, 65,183,152, 14,224,121,165,190,
+255, 69,125,234, 92,197,193,148, 32, 79,197, 91,149,116,191,147,101, 41,242, 70,213,228,190,218,137,231,202,172,159, 58, 41, 57,
+ 29,176,149,215,225,253, 30,178,140,241,195,179,230,167,162,124, 8,161,127, 80, 81, 79, 15,117,234, 83,246,245,117,114, 76,189,
+ 68, 60, 28,190, 49,217, 49, 43,246,182,207,141, 41,228, 45,219,195,141, 19, 56, 62, 46, 68, 64, 91,207, 73,219, 66, 95,212, 39,
+243,198,114,167,147, 44,148,193,103, 95,145,118,141,206,153, 83, 5,175, 93,108, 97,189, 43,251,107, 51,192,246,162, 64,239,163,
+175, 73,145, 60,232,224,135, 42,235, 98,209, 35, 90, 67,163, 45,103,221, 17,173, 50,156,204, 78, 24,220, 64,163, 20,198, 52, 44,
+187,150,103,142, 59,218,185,161,183,146,165, 41, 16,247, 92, 74,148, 20, 52,178,176,222,165, 20,236, 86, 14, 23, 60,195,213,134,
+205,214, 49,120,199,214,121, 6,169, 25,141,197,156,156,225,108,139,154,117,228,166, 37,117, 22,165, 53,170, 83, 4,169, 42, 87,
+ 2, 68, 46, 36, 89,109, 4,110, 12,229,222,153, 50, 41, 70,114,202, 40,169, 74,209,206, 16,146, 32, 2,161,252, 69, 66,206,132,
+ 24,105, 85,203, 16, 35, 89,150,224, 18, 7,133,111, 21, 42,249, 55, 86,168, 61, 76, 5,180,114, 52, 76,253, 51,165,247, 73,103,
+162,194,235,218, 20,251,221,209,237, 17,150,237,118,191,246, 38,235, 87,106, 55, 62, 93,152, 51,133,148, 39, 42,193,120, 74, 43,
+204,106,210,204,213,200,214,184, 39,203, 77,232,231, 97,163,244,164,208,187,156, 28, 40,167, 53, 28,222, 3,193,127,188,153,186,
+168, 80,159, 85,213,160, 62, 35, 91,203,210, 22,155,193,148, 18,141,148,236,188,163,179, 45, 57, 7, 20,162, 24, 20,196,136, 20,
+ 25,133,192,133,132,210, 26, 89, 18, 1,208, 82,145,149, 70,154, 14, 45, 21,194, 20,232, 93, 40, 81,185, 35, 69,170, 22, 98, 34,
+231, 2,153,198,156,241,187, 21,126,181, 34, 12,142,148, 2,140, 59,178, 20, 52, 66,213,247, 81,128, 44,198, 10, 8,139, 34,151,
+ 46,159,140, 76, 25,169, 21, 49, 59,188, 80,197, 9, 79, 21,205, 37, 66, 16, 83, 36,231,204,214, 7,146,148,120, 41,201,209, 23,
+104, 44,135,167,151, 3,156,158,194,225,122, 8, 49, 30,118,233,106, 10, 54,168,238,117, 66, 92, 91,232, 62, 80,196, 15, 97,202,
+135,255, 51, 21,110, 55,250,154, 25,255,219,255,227,127,203,103,191,244, 67, 92,173, 71, 54,235,129,213,197,154,148, 5, 74, 42,
+ 84,107,144, 82,240,202,157, 23,249,230,171,175,146,183,129,231,238,222, 45,145,186, 73,208, 26,195,209,204,160, 43,187,125,187,
+243,108,182, 35,187,109, 96,179,219,177, 93, 13,108,215, 35,227,206, 21,196, 71,102,194,224,153, 45,123,218,206,210,116, 37, 41,
+ 74, 27, 69,215,106,150, 71, 29, 71,203,134,227,147,142,211,101, 87,235, 76, 70, 40, 65,219,232,107,216,207,206, 12,183,110,204,
+217,236, 28,141, 53,164, 24, 73, 89, 16,146, 39, 71,129, 79, 1,171,245,181,242, 65, 43, 69, 22, 1,173, 5,198, 42,114, 76,172,
+ 55, 87,188,251,246, 61,190,249,173,111,241,246,189,123,228,112,194, 91,239,188,197,159,126,237,235,188,253,250, 57,175,223,119,
+108,178, 36,250,132,209, 2, 45, 4,179, 70,145,144,164, 44, 88,111,182, 40, 45,240, 94,208,205,122,238,223,187,143, 54, 6,101,
+ 20,155,213,142,211,103,142,249,161, 31,253, 2,127,244,127,253, 43,246,246,177,178, 22,109,189,191,249,139,135,138,247,148, 8,
+246,253,236,210,101, 13,114,158, 12,105,186,166, 88,155,202, 50,234, 98, 57, 43,135,175,150, 48, 4,104,106,252,100,161, 32,215,
+206,190,126,142, 48,148,143,203, 31,115,246, 56, 17,133,166, 3, 46,231,247,118,237,239,167, 48,121, 95,248,253, 96, 46,254, 65,
+170,148,154, 33,129,109,144,207,222,166,187,115, 27,223, 26,154,231,239,194,209, 17,185,179,176, 92,148, 75, 75,219, 86, 8,190,
+224,218,109,163,184, 99, 13, 89,148,144,148,153,180,196,228,232,114,102,244, 35,223,121,103, 5,235, 45,172,214, 69,165, 50,214,
+174,157, 15,136, 59,158,183,112, 60, 3,173, 17, 89, 48, 95, 44, 48, 18,230,166,167, 51, 22,171, 91,250,166,101,222,180,156, 29,
+181, 52,109,153,165,207, 91, 93,117,233, 25, 35, 36,173, 46,170,141, 20, 34, 97,240,116, 22,214,219,200,102, 53,176, 14,130,181,
+208,140,237,130,173, 49,168,126, 78,104, 90,152,207, 8,214,208,245,229,188,110,122,139,208, 6,137, 2,161, 11, 74, 39, 36,126,
+140, 68, 23,145, 58, 17,171,127,134,172,218,251, 12,136, 84, 26,174,152,203, 94,156,124, 66,114,245, 24,145, 90,178,245, 14,159,
+ 35, 57, 73, 86,222,145,195,193, 37,110, 74, 41,203, 83, 84,111,229,253,200,154,138, 54,249,146,200,122,145, 84, 21,154,207, 19,
+131, 93,149, 61,213, 53,251,172,245,201,106, 54,184, 66,138,147,169,102,213,223, 42,163, 14, 83, 59,125, 65,105,114, 69, 40,144,
+189,154, 52,241,182, 94, 48,235, 91, 55,233,231,159, 70, 19, 56,201, 74,165,126,176,210, 63,180, 94, 63,222, 76, 61,197,242, 64,
+250,190,108,192,166, 72,219,140,144,180, 66, 35,117, 33, 59,204,108, 91,152,199,128, 86,250,186,227,141,117,163,105, 33,200, 34,
+ 35,181,166, 81,229,176,210, 82,161,108,131,208,117, 6, 83, 97,246,156, 33,107, 73, 16,133,185, 78,206, 36,191, 35, 58,135,173,
+ 49,151, 54,130,202, 69, 83,169,100,137,122, 53,186, 41, 35, 19, 99,105,148,197, 42, 89,200, 24, 33, 34,201, 36, 37, 25,221,128,
+150,138,157, 47,238, 95, 69,108, 86, 72, 30, 84,205,186, 32,179,137,177,248,133, 79,190,240, 62,214,195, 85, 60, 26, 22,252, 94,
+100, 78,127, 80,183, 62,253,155, 83,161,158, 76, 60,168,112, 97,245,103,102,116, 15,126, 93,239,215,165,191,223,204,189,126,175,
+255,244,127,250,103,124,250,243,159, 96,189, 30, 73, 49,226,199,186, 17,115,198, 13,142,236, 51, 82,106,218,166,229,243,159,126,
+133, 23,158,123, 14, 66,145,192, 44, 22, 45,199, 39, 61,189, 53, 37,216,200, 71, 46, 86,158,213,214,115,181, 29,217,108, 11,219,
+118,216,248, 98,235, 43, 50, 74, 26,186,182, 65, 73,141,109, 53,243, 69,135,212, 69, 54, 54,235, 44,243, 70,179,104, 45,173,214,
+ 88,163,144,162, 16,216,250,198, 96,132,160,107, 45, 93,163,177, 82, 18, 98, 98,183,246, 88, 93,180,180, 41, 70, 82,200, 37,164,
+ 66, 89,150,139, 14, 55, 56,208,138, 93,220,210, 74,193, 56,236,248,235, 55,223,224, 27,175,189,137,115,130, 69,119, 74,202,146,
+174,189,205,167,190,248, 57,140,232,145, 33, 51,140, 27,190,246,221,111,242,187,127,242, 85,126,255,207,254,156,215,190,253, 6,
+139,155, 55,121,246,230,172,192,138, 62, 17,114, 96,240,137,243, 33,112,121,190, 41,132, 66,183, 37,230,178,158,118, 59,199,237,
+ 23,111, 50, 34,248,238, 95,252,101, 41,228, 90, 87,139, 74, 14, 32,121,177, 55, 47,250,155,122, 77,136, 65,174,157,205,209,178,
+204, 43,115,101, 15, 55, 13,180,245, 18, 98,106, 71, 62,133, 8, 81,101, 94,162, 30,176, 57,215, 61,149,246,100,177,143,178,111,
+ 30, 62,224,166, 78, 61, 61,162,160, 95,255, 61,249,232,207,251,190,204,119, 3,243, 99,110,188,242, 9,126,248,246, 29,190,253,
+181,191, 68,157, 29, 97,206,110,115, 98, 12, 27,219,151,238,124, 54, 47, 5,162,105,234,104, 66, 50,102,193, 12, 74,151,156, 18,
+131, 27,145, 49,114,127,183,225,254,118,203,187,111, 92,130, 91,151, 46, 48,184, 71,191,183,198, 22,248,184,235,160,179, 8,171,
+104,141,229, 70,183,224,164, 91,128, 16, 44,154,158,152, 50,243,217,156, 89,103, 48,189,229,120,102,174, 57,138,157, 81,104, 45,
+208, 82, 48,207,165, 46,249, 16, 89,173, 3,110, 72, 92, 37, 73,150,134,119,101,135, 71, 34,186, 35,180,106, 80,182,193,152, 6,
+219,245, 88,163,176,189, 98,244,133, 79, 33,148, 98, 76, 25,159, 5, 57, 39, 92,134,232,227, 53, 7, 69,146, 10, 89,174, 18, 34,
+179, 20, 72, 41,138, 71, 72, 44,235, 33,231, 72,111, 90, 20, 10,153, 18, 46,197,194,127, 9,129,148, 51,126,234,188, 75,128, 67,
+ 69,125,234,154, 17,236,139,182,210,101, 77,181,213, 57,179,179,229,158, 28,235,154,149,170, 20,126,165, 10,107, 94,202, 2, 3,
+ 52, 85,195,158, 37,184,109,121,198,119,110,208,156, 29,163,250,134, 72, 53,230, 26,134,253, 40,114, 28, 10,223, 44, 85, 19,175,
+ 92,247,166,148,251, 11,166, 60,224,155, 60, 41,178,251,136, 46,253,227, 23,245,105,227,236,226,245, 77, 56, 91,195, 38, 68, 78,
+251, 89, 97,192, 43,137,150, 26,159, 3,173,178,236,130, 43,146, 77, 33,137,169, 20, 0, 45, 96,222, 90,178,200,104,101, 48,218,
+146, 84, 49,143,209,182, 33, 27,133, 20, 5, 34, 79, 90,144,124, 42,186,116, 9,195,232, 72, 34,209,110, 86,140,163,195, 8,129,
+161, 28,204,198, 40,230, 82,146,234,173, 75, 26, 75,175, 13, 66,168, 66, 48,205, 25,165, 37,129,196, 38, 4, 58,165,217,166, 29,
+ 99, 40,183,185,109, 8,200, 20,113,201,177, 75,197,168, 38,196, 64,204,137,171,177,134, 11,140,190,220, 0,121,136, 96,118, 88,
+200, 31,158,121,124,148,228,166,199,133,225, 15,217,235,135,240,250,196, 70, 57,212,211, 78, 48,210,225, 60,253,240,224,123,224,
+123, 50,176,163, 0, 0, 32, 0, 73, 68, 65, 84,115,164,189,222, 83, 38,248,220, 23,249,103,255,253, 63,225,211,159,121,158,221,
+ 24, 73, 49,177,219, 56,164,148,104,173, 8, 46,224, 6,143,214,154,228, 19, 90, 27,218,166,132,237,100, 47, 88, 44, 91,238,156,
+206, 57,154,183,180, 86,147, 82,102,179,173, 5,125, 28,217,237, 60,209, 21,166,188,146, 18,221, 72,154,214,150,204,230,222,114,
+122, 54,199, 52,134,174,211,116,173, 98,217, 55,180, 70, 23,251, 86,171, 80,170,216, 65, 42, 41, 74,144,146, 16, 52, 74,161,180,
+160,109,202,218, 72,128,214,138,221,232,203,104, 50,102, 98,246,164,144,241, 62,150, 28,247, 52,178,176, 13,243,126,198,253,213,
+134,251,235,129,147,238, 22,183, 78,239,114, 60, 63, 99, 27, 50,175,159,191,198,215,223,254,255,184,120,253, 93,222,125,247, 91,
+ 52,218,224,162,103,227,182,133,212,233, 19,111, 93,173,184,247,250,134,175,191, 49,114, 30,203,220,178,213,162,192,156, 72, 98,
+ 18,196, 44,216, 92, 92,177,186, 56, 39,231,116,205,156,127,229, 51, 47,243,175,254,197,239,213, 53, 38,139,215,192,195,228,185,
+148,254,102,139,186,148, 92, 7, 14, 40,138, 76,200,214, 20, 55,226, 30,134, 55,166,116,234,145,194, 70, 86,213,152,101,242,224,
+ 14,110,111,179, 58,249, 55,124, 20,168,242,208,233,112, 26, 33, 61, 60, 83,127,148, 3,226, 7, 21,246,135, 47, 2,147,243, 91,
+215,193,236, 4, 94,121,158,159,121,238,121,250,254, 6,183, 94,254, 52,179,179, 51,190,112,242, 28,255, 38, 9,100, 63, 47, 35,
+ 60,211, 66,183, 4,219,178,180, 13,163,105,120, 70, 41,206,133,228,118,142,136,228,233, 1,233, 70, 24, 29,127,248,237,243, 82,
+208,183, 97, 63, 51,127,228, 25, 44, 96, 62, 43,207, 91, 73,116,215,209, 41, 77,171, 13,141,180,204,236, 2,165, 36, 77,219, 50,
+239,123,148, 81,180,141,166,239, 53, 86, 23,189,122, 57, 11, 4,115, 9,207, 14,130,185,147,156,135,192,189,181,227,124,204,140,
+ 89,178,217, 70, 92,130, 17,129,145, 2,221, 25,154,121,135, 54,154,153, 81, 72, 83,116,226,178,178,177, 99, 76, 24,163,113, 57,
+ 19, 82, 38,250,226,200, 72,206,252,255,196,189,105,143,100, 89,122,223,247, 59,219,221, 34, 34, 35,183, 90,123,157,238,153,238,
+153,158,149,228,144,179,144,166,104,120,100,137,180, 32,201,162, 12,193,134, 97, 24,134, 13, 88,111,253, 9,244, 73,252,206, 48,
+224, 55,130, 0, 3,150, 44,195, 16, 8,129, 34, 9,209,195,197,163, 25,206,210, 51,189, 86, 87, 85, 86, 85,102, 70,196, 93,206,
+234, 23,231,220,140,172,154,154,149, 51,102, 2,133,206,174,206,234,138,136,123,239,121,158,231,255,252,151,228, 35, 9, 89, 12,
+110, 60, 41, 41,164,150, 8,161, 80, 36, 98,146,196, 20,209, 82,150, 59, 39,226,136,136, 40,217, 20, 82,154, 75,146, 84,242, 24,
+ 50, 99,189, 92,239,144,178, 27,206,140, 28,201,217,174,178,236,186, 67, 89,205, 76,229, 62,104,171,178, 35,175,138, 29,111,217,
+191, 27, 85,238, 99, 83, 28,232,138,163, 92,101, 8, 77, 69, 24,166, 76, 92,156,166,108,208,100, 10,212, 95,215,121,143,222,180,
+ 89,233,160, 18, 52,203,146, 98, 90,216,244,198,228, 95, 84,217,159,225,106,199,254, 51,162,107, 79,153, 64,205, 60,167, 37,167,
+191,245, 25,250,119,238,253,156, 69, 61,148,142,218,134, 43,198,173,234, 26, 98,140,172,234, 38,239, 37, 83, 96, 97, 58,156,183,
+153, 9, 95,170,137, 86, 57,142, 47, 23,118,141,198,160,181, 34,206,246,130,166, 34,136, 12,125,250,148,167,233,148, 98,182,116,
+ 77, 96,221,148,189,159, 99, 68, 90, 71,155, 66,209, 3, 43,144,217, 0, 36, 20,153, 81, 43, 21,149,169,152,164,192,200, 60,249,
+ 67, 98, 12, 62,243, 96,100,162,119, 3, 83, 76,196, 24,153, 98, 32,132,132,141,150, 62, 70, 76,138, 76,209, 51,134,192, 16, 2,
+202, 72,236, 80,144,138, 84,178,117, 67,202,123,173,217, 60,227,122,227,243, 60,210,206,143, 43,236,241,175, 49, 49,137,178,195,
+153, 95,135,247, 69,255,250,188,235, 23,159, 62,208,174, 31,124,115,131,162,203,205, 92,138,124,247, 27,191,206, 63,253,253,223,
+229,213, 87,110,176,157, 44,206,102, 66,141,181, 33,155,196,184,128, 27, 61,206,122,188,139,153,232, 41, 43,110,223, 62, 98,217,
+214,220, 57, 57,224, 83, 47, 31,113,247,176, 99,213, 86, 24, 35,241, 46,107,206,123,231,217,246, 19,211,224, 8, 4,170, 90,114,
+124,208,113,120,188,100,213, 54,180,139,154,170,169, 88, 46, 27,218, 54,103,149, 47,154,108, 65, 89, 75, 73, 91,101, 98,150, 20,
+100,199, 58,178, 44,199,199,116,245,207,148, 18, 74, 73, 92,202,122,220, 36, 4, 55,110, 46,104,186,134, 36, 53,253, 48,224,220,
+136,212,146,187,119, 94,198,232, 21, 62,118,172,218, 99, 22,102,137,199,210, 79,151,188,247,248, 61,254,223,143,126,192,187,247,
+ 31,209, 15, 35,247,238,221,227,131,113,203, 73, 91,113,105,123, 98,176, 24, 41,176, 62,112,208,180, 28, 47,150,132,221,200,238,
+177,231,157,119, 31,240,120, 28,240, 94,224, 37, 56, 23, 48, 90,242,240,163,135, 36,161,184,127,118,159,182,174,112,253, 68,187,
+236, 88,159, 28,243,221,111,253,160,200,111, 74,150,121,186,122,170, 51,145,231,111,226,235, 11,159,132,143,206,246, 89,213, 93,
+ 57,184,116,225, 91,164,184, 55,174,145,101,234,105,230,103,164,202,174,134, 37,116,228,106, 29,180,219,100,114,211,245,103, 67,
+ 21, 11, 86,165,139,135,118,120, 26,141,146,215,166, 21,249, 12,249,109, 46,242,215, 73,162,215, 81,172,231,173,170, 4,249,253,
+164,107, 13,133,169,242,158,188,238,224,228, 24, 78,143, 57, 61,121,129,170, 94,160,214, 71, 44,186, 53,178, 90, 50, 24,195, 74,
+ 26, 30, 8, 9,205,138,165,174,248,120,189,224,139,221,146, 94,213,124,177,169, 9,186,230,213, 74,209,187,145,102,154, 16,253,
+200, 69, 63, 18,156,229,221,179,199,185,160,255,180,150,193, 85, 38, 41,179,168, 65,231,251,249,184,109, 57, 48, 45,135,221, 10,
+173, 53,181,106,105,154, 6,105, 26,132,145, 28, 29, 54,212, 38,123, 64, 84,149,196,250, 64, 83, 41, 54, 54,176, 35,112,223, 89,
+ 30, 91, 71,232, 35,155, 33, 48,133,196,214,131,143,129,160, 52,149,150,212,117, 69, 85, 86, 83,149,206, 69, 84, 75,208, 85,222,
+ 97, 71, 37, 81, 41, 18, 18,244, 54,159,179,169,164, 60, 75, 41,179,147,238, 24,144, 74, 35, 34, 8,153,175,107, 76, 16, 9,120,
+ 60, 85,146,196, 96, 73, 34, 19,172, 31,185, 33,155, 28,134,148, 67,107, 36, 56,239,247, 92,142,124,216,228,243, 42,196, 61, 12,
+ 62, 35, 90, 41,229, 34, 77,218,123, 31,204, 16,126, 73,176,203,135, 74, 93,172, 96,155,252,123,166,202,223,155, 18, 29,237, 3,
+ 60,217,230,130,158,128,182,219, 19, 73,108,145,216,205, 8,147,174,243,253, 28,108, 81,166, 20,117,138, 44,197, 61,149,220,148,
+168,178,244, 45,253, 53,247,237,193,210, 47,187,172,144,224,231,141, 94,245, 62,239, 22,188,133,113, 36,132, 37, 65, 64,239, 28,
+139,170, 34,132,132, 19, 19, 66,234,171,152, 86, 23, 60,157,174,217, 57, 87,194, 95,242,244, 24, 72, 40, 41,137,192, 32, 2,141,
+ 82, 76, 50, 91,181,202, 36,136, 66, 34, 69,200, 77,127, 83,227,167,128, 84,134,169,105, 88, 41,137, 68, 96,129, 6,129, 39, 17,
+241,212, 42,199, 52, 70, 60,141,212,108,253, 72, 74, 25,206,247, 5, 98,151, 82, 93,173,248, 34,137,232, 92,113,226,206,222,238,
+ 54,134,210, 0, 10, 90, 45,217,217, 80,172, 93, 21, 76,133,120,209,212,121, 10,121, 38,132,226, 41,232,123, 46,164,115,218,217,
+ 47,210,204,255,250, 62,252,122, 99,161,245, 62,160, 0,160, 57,129,221,195,189,139,157, 46,176,174, 44, 7,153,245, 79,191,174,
+ 57, 20,102,178,168, 47,126,145,255,241, 31,255, 46,183,110, 29,211, 91,135, 31, 61,206, 39,198,126,194,109, 39,188,145, 89, 87,
+238, 28,166,174,233,218,142,174,109,185,113,178,230,112,209,112,220, 54, 28, 30,212, 84,198,224, 17,232, 4, 33,228, 6,175,173,
+ 53,245,168, 88, 24, 67,106, 34, 82, 24,186, 78,113,184,108, 56,232, 42,170, 42,223, 23,143,183, 83, 38,186, 10,129, 79, 9, 37,
+196, 21,225, 73, 37, 24, 93,196,151, 38, 42,164,132, 15, 57,128, 66,144,208, 10, 34, 57, 37,106, 33, 12, 34,102, 78, 7, 73,178,
+ 88,100,120,116,220, 14,128,160, 94,156,114,121, 25,248,193,135,223,195, 37, 79,171, 12, 67,152, 24,253,196,197, 48, 50, 78,150,
+139,209, 33,107,145,107,234,144, 96, 51,240,199, 37,142,164,171, 37,175, 30, 30,210,153,200,163,161,231,160,223,112, 99,169,177,
+253,134, 16, 3, 15, 63,122,159,147,211,155, 44,215, 45, 71, 39, 43,142,150, 53,175,189,241, 49,254,236, 79,191,206,217,118,160,
+ 86,231,172,143, 15,120,116,239, 33, 47,188,246, 42, 44, 86,215,238,169, 6,252,144, 15, 16,255, 55,167,190,248,242,107,111,242,
+ 71,147,135,239,191, 95,228, 69,213,158,112, 38,202,247,190,248,197,171,178, 95, 79,117, 46,186,253, 46, 79,188,233,218, 1,182,
+155,138,186, 34, 62, 69,144, 71,181, 80,207,200, 82,202,223,135,248,195, 58,243,164,159,150,246,120,255,252,103,172, 42,191,231,
+125,222,253,247,219, 60, 81,167,107,140,104,231,243,239, 25,153,247,169, 55,215,121, 71,174,117,126,214, 23,199,124,242,228, 22,
+232, 5, 13,138,164, 36, 71,109, 67,116,142,229,201, 9, 63,216,238,192, 77,156, 52, 29,199, 4, 30,122,248,213,229,154, 71,231,
+231,188,209, 5,166,237, 19,190,149, 22,156,125,244, 4, 30,220,135,116, 93, 30,251, 51,156, 9,215, 87, 14,149,161,110,115,147,
+ 84,107,197,110, 26,169, 85,139,234,114, 51, 99, 67,160,211, 13,227, 20,193, 68, 78, 90,201,118, 8, 44, 59,205,217,214, 34, 36,
+156, 91,143,177,158,225,194, 33, 82, 34,197,136,221,141,224, 5, 3,130, 86, 37,164, 49,180, 2,164, 20,200, 20,144, 8,132,203,
+164, 82, 69, 64, 36,129, 10,185,216,134,148,168, 67,246,114, 8, 33,103,174, 11,153, 16, 73, 99,234,116, 69,171,240,110,142,185,
+ 78,153,199, 18, 21, 99, 24, 73, 72, 70, 63,224, 98, 66,167,196, 24, 2, 74, 64,171, 5, 27, 79,153,112,109,201, 97,151,215,140,
+104, 10, 33, 83,139,189, 98,231,202,122, 88,194, 82, 61, 93,195, 18, 48, 21,109,250, 52, 27, 21,201,226,156, 90,238, 23, 89, 84,
+ 28,222,103,196,102,188, 78,208, 44, 50,205,249,114,212, 42,163, 83, 83,202,223, 55,203,226,102,167,247,168,130, 20, 16,171, 60,
+ 20,155,194, 9,208, 99,110, 22,254, 58,233,109,223,248,222, 95, 3,126,191,186,177, 34, 56,145, 59,117,109,168,171, 42, 59,168,
+198, 72, 91, 25, 34,146, 74,202,236,170, 21, 34,181,174,112,193,210,152, 6, 37, 36,149,210, 24,153, 77,238, 43, 93,161,234,138,
+170,174, 89, 29,174,243,218,195, 39, 98, 97, 54,134,152,163, 6,133,200,123, 32, 59,246, 28,232, 12,185, 10, 37,105,141, 38,200,
+108, 21,216,153,154,136, 32,170,132, 84, 21, 3,145,182,105,114, 20, 38, 17, 97, 20, 46,192, 24, 29,117,221,112, 49, 58,108, 74,
+136, 18,152,224,163, 39, 10,193, 24, 61, 62, 5, 42, 45, 56,159, 60,131,143, 25, 90,179,182, 72, 24, 10, 67, 86,215,249,230, 8,
+101, 92, 84,197,107, 93,170, 61, 17, 67,166,253, 77, 38,197, 47,198,126,243, 58, 35,247,106,234, 41, 30,217,215, 39, 16, 31,224,
+181,151,242,129,187,219,236,225,160, 84, 8,116,149,218, 19,152,230, 73,198, 21, 93,250, 39, 63,203,255,244,223,252,125,222,120,
+229, 22,219,201,114,254,100,199,102, 51,144, 98, 66, 8,129,115,142,177,183,217,117,202, 71,218,166,227,244,198, 33, 55,142, 15,
+184,181, 94,210, 40,157,225,240, 36, 24, 93, 98,103, 35,151,147,103,231, 60,155,237,196,102,176,236,172, 99,176,158,182, 82, 44,
+ 91, 67,215, 24, 26,147,239,157, 32, 4,181,145,116,181, 46,171, 89, 73,165, 36, 54,228,132,190,209, 7, 6, 31,136, 41, 49,249,
+128, 43,228,153, 16, 83,118, 7,140,241, 74, 7, 79,177,165,204,134, 67,130, 85,173,185,232, 39, 36,112,180,108,232, 7,199,135,
+247,222,225,223,189,243, 29,222,254,206, 7,220,127,231, 17, 31,220, 59,227,254, 59,143,120,244,131, 75,118,214,194,162,202, 16,
+163,214,220, 94,118,156,222, 58, 64,174, 27,218,198,208,214, 13,151, 59,203,165,155,232, 83,226,114,178, 36, 2,147, 79, 52,166,
+102,189, 62,101,177, 56, 98,185, 62,166, 58, 48,216,205,150,203,161,231,248,112,193,119,223,126,143,203,113,224,201, 56,176, 50,
+ 21, 70,107,218,174, 69, 25,248,224,131,179, 61,180, 28, 67,201,154,254,155,131,221,223,255,230, 95,101, 8, 82, 74,168,219, 92,
+ 89,175,152,227, 51,251,188,192,163,243,228,110,195,222,174,184,183, 25,134,119,236, 11, 90,138, 79,195,144, 66, 67, 91,158,157,
+217,172,230, 89,119,184,121, 26,191,126, 30, 81,154, 3,127,173,248, 95, 73,151,100, 49, 39,161, 48,239,175,165,104,205,251,233,
+122,149, 15,244,155,167,121,242, 58, 88,102, 79,246,118,149, 27,172,170,229,172, 90,240,198,106, 9, 70,163,144, 44, 5,168,174,
+163, 50,146,203, 32,120,189,169,121,185,170,145,149,161,209,146, 49,192,205,197, 18, 45, 35, 74,213,220,172, 4,223,189,236,225,
+252, 73,246,188,248, 73,123,252,231,125,117,217,205,147, 85, 11, 50,187, 23,118,218,100,166,123,179, 96,217,174, 80, 73, 97,234,
+ 26, 83,213,200, 90, 99,165, 36, 10,208,181, 34,144, 56, 27, 61,187,152,120,188,177, 52, 41,209,111, 39,130, 13, 92,156, 79,108,
+138,137,147, 19, 49,135,170, 72, 56,212, 25,186, 87,228,218,134,183,172, 42,197,146,132,140,129,198, 36, 42,153, 57, 77,102, 12,
+ 44,140,192, 91,207,218, 72,140,204,126,244, 46, 38, 82,113,105, 75, 82, 96, 93, 86,184,120,103,145,210, 96,157,103, 8, 14, 65,
+192, 71, 65,239, 7,124,153,166, 67, 74,140, 49,146, 82, 96,154,121, 65, 41,238, 67, 88,162,216,187, 18,218,130,166, 94, 31,172,
+164,200,133, 54,201, 61, 50, 35,196, 30, 66,215,229, 92, 60, 92,228, 34,188, 94,228,169,186, 42, 1, 71, 77,125,205, 57, 80, 21,
+179,174,148,163,185, 21,249,254, 81,229, 44,174,212,254, 60,158, 37,117,179,151, 68, 44, 36,202,170,202,175,111,190,150,166,161,
+200,180,184, 10,181,255,105,214,182,207,221,228,206,190,180, 63,235,244,232,201,147,235,110,128,101,203,229, 56,209, 30, 24, 42,
+173,242,123,149,121, 63,168, 0,173,178, 25,141, 86, 57,212, 66,154, 12,135, 68, 45, 89, 84, 13,222, 7, 24, 28, 71,235, 99, 98,
+ 76,180,117,205,214, 57, 68, 76,184,204,130, 64,106,133, 74, 16,123,203,186,233, 16,222, 33,149,166,149,217,112,163,142,142, 24,
+115, 39, 86,215,154,201, 58, 60,176,208, 21,131,155, 64,231,189,102,239, 61, 19,160,117, 69, 31, 28,117,101,114,224,142,130,138,
+132, 77, 33,195, 59, 17,140, 20,220,223, 77, 88,145, 88, 24,197,165,115,249,144,153,161,207,182,202,147,122,219,230,110,203,150,
+174,173,160, 19,121,210,136, 57,179,215,164,189, 46,242, 23, 57,173,135, 31,227,152, 53,119,126,223,252, 22,212, 39,251,191, 55,
+ 20,226, 82,163,242,158, 73,213, 48,110,246,211, 79, 57, 52,255,251,255,252,107,124,226,213,219,124,244,232,156,243, 39, 3,227,
+182,207,131,208,177,161, 63,223, 33,165,202, 82, 63, 64,169, 26,169, 53, 70, 27,214,109,131,136, 2, 76,158, 94,165,132,193,123,
+ 70,159, 3, 93,166, 41,224,188,203, 73,107, 62,178,106, 20,181,150, 24,149, 53,232,181,150, 4,159,211,247,124, 72, 87,207,164,
+245, 1,169,100,182,246, 77, 17,231,178,193,140, 81,130, 90,102,235,225,193,103, 21,195,186, 49, 28,215,154, 39,222,161,162, 34,
+164, 64,165, 20, 19, 2, 37, 35, 86, 36,162, 11,124,244,254, 19,222,122,233, 6,127,231, 87, 63,206, 7,175,221,225,243, 79,182,
+108,207, 30,115,113,255, 62,255,230,222, 67,238, 95,236, 56, 62, 88,178,179, 83, 38,118, 93,244, 88,229,168, 94, 61,226,245,211,
+ 23, 0,201,232,122,142,154, 53,143,250,115,222,125,242, 17, 99,244,220, 89, 31,113,227,224,148, 23,143, 95,193, 52, 10,161, 36,
+ 93,183,128,148,208,169,195,138,158, 39, 31,124,200, 52, 90, 72,146,117,211,241,157, 71, 15,217,244, 59,186,229,130,113, 24,120,
+235,205,143,243,199,127,244,151,133,195, 49, 75,169,228, 47, 75,163,246,156, 7, 92, 63,127,130,156,119,132,215,115,170,159, 82,
+200,148,189,162,223,150,201,153, 12, 47, 87,250, 26, 23, 32,238, 51,218,159,125, 22, 26,253,244, 68, 42,126, 12, 74,117,253,229,
+ 94,127,173,243,189,174,100,137,227,140,251, 2,110,231,169,188, 20,253,102,193,167, 94, 57,229,155,125,226,173,227, 37,255, 97,
+112,249, 16,215, 69,117, 80,215,249,185,111, 50,114,178,113,150,163,102,149,225,220,174,206,219,200, 36,249,204, 97, 71,140,137,
+206,123,238,133,196, 75, 82,178,213,146,190,223,225,245, 1, 55, 87, 59, 52, 1,150, 7,112,120, 10, 15,166, 61, 82,240,211,126,
+205, 70, 61,199,213,158,176, 15,180, 85, 77,165,178,106, 8, 33, 17,117, 13, 70,147, 42, 73, 31, 5,210, 38, 38, 13,187,173, 67,
+ 40,168, 98, 34,248, 64, 27, 2,143,135, 68,178, 30,119, 49, 50, 77, 14,225, 34,209, 7,164, 15,164, 41,178, 90,106, 84, 72, 24,
+160, 85, 18,182, 30,161, 36, 85, 8,212, 74,113,128,160,237, 3,203,166,195, 74,129,104,243, 94, 60, 44, 20,151, 2, 6,159,152,
+ 72,104,163,216,141, 57,231, 67, 38,143,170, 27,252,118, 3, 66, 50,216,204,169, 48,218,144,130,163,213, 57,207,131,104,233, 84,
+ 94, 3,100, 87, 76,168,140,193,150,128,159, 43, 25, 89, 44,126,240,243,122,212,152,162, 8, 33,239,219,103, 7,195,186,228, 96,
+ 84,134, 43, 59, 87, 91,206,194,121,181, 97,212,158, 24,185,217,237, 99,136,107,179, 71,117,148,134,118,158,208,219,114,127,149,
+123,202,135,125,202,219,108,136, 51, 27,210, 44,154,253,128,215,150,149,213,193, 34,251,159,136,226, 55,111,251, 34, 1,245,215,
+182, 74,254,167, 6,115, 20,159,248,141,127,134,110,138,199,240,207,120,131, 93,193, 27, 2,140, 97, 20,130,163, 98, 25, 27, 82,
+162,171,187, 76, 52,148, 25,182, 1,137, 81, 6,231, 45,139,170,197,152, 10,239, 29, 74,107,170,170, 66, 42,153,173, 61, 71,143,
+119,129,152, 66,134,232,189,205,126, 3,198, 92, 73,213, 4,130, 78,105, 84,165,104,171,154, 88,188,182,149,202,190,193, 90, 41,
+122, 60,190, 50, 56, 41,136, 82,224,203,244, 23,165,194,133, 84, 10,132,194,147, 24, 98, 68, 42, 65, 64, 49, 5, 71, 20, 96, 99,
+196,123, 79, 4, 46,103, 59, 65, 55,199,244, 5, 24,124, 62,128, 76, 73, 65,211,114,207,190,212,213, 85,224, 12, 34,128,207,121,
+200, 25,134,249, 5,234,220,159,149,160, 93,119,154,131,124,160,165,196,242,139,159,226,205, 79,127,146, 7,223,127,167, 4,107,
+ 20,214, 39,100,233, 76,244,229,192,200, 13,203, 87,255,209,239,241,197,175,124,150, 39, 23, 59,206, 30, 92, 48,141, 14, 33, 36,
+139,163, 37, 82,192, 56, 58,148, 84,153,132, 40, 52,141,233, 88, 45, 23,220, 56, 92,177, 48, 6, 93, 73, 42, 45,179,172,176, 20,
+228,201,122, 38,231,121,120, 57, 48, 12,150,144, 34, 93,173, 56, 57,104, 56, 89,214,116,149,166,174,179,129,139, 72, 96, 83, 68,
+149,196,189, 90, 41, 92,202, 69, 62,165,132,143,145,169,172, 2,188, 15,153,171, 17, 2, 75,149, 77, 53,106, 9, 71,181, 64, 37,
+ 65, 91,107,140, 82, 28, 47,170,204, 50,247,217,184,232,171,119,143,185,191,245,124,251,189, 75,234,165,230,159,252,202, 43,188,
+113, 99,141, 93,116,220,121,241, 5,110,117,135,252,173, 79,189,206, 73, 85,115,115,209,241,202,225, 1,111,223,127, 12,135, 13,
+ 55, 15, 14, 89, 54, 71,212,213,146,179,254, 12,235, 39,142, 22,167, 28,117, 71, 88, 59, 32,180,196,166,192,163,221, 37,253,180,
+165, 51,154, 16, 18,170,170,105, 79,142, 88,159,172,121,244,209,123,220,127,248,144,179,237, 37,141, 82,216,232, 57,219,141, 28,
+183, 53,218,212,172, 78,143, 56,239, 39, 30,199, 2,225, 45,234, 60, 57,110,182,240,242,139,121,215,187,219,254,116,132,178, 89,
+226,248, 60,255,105, 93, 12, 83, 84, 93, 10,118,169, 20, 17,126,200,217,238,106,197, 83,149,123, 59, 93, 13,231, 87,171, 32, 81,
+216,193,241,218, 58, 71,183, 69,195, 92, 98,140, 99, 40,207,197,143, 32,179, 25, 83,140, 61,194, 62, 6,152,244,252, 41,253, 89,
+ 7,184,249, 25, 48,229, 92,155, 9,125,130, 12,115,170, 98,164, 21,129,213, 33,191,243,137,187,208, 45,248,212,233, 1,163, 50,
+124,108,125,204, 3, 93, 19, 40, 36, 40, 53, 59,226,105,106,165,184, 45, 13,171,186,197,106, 77, 40,159,109, 15, 8, 31,185,211,
+ 42, 30, 76,129, 35,165,121,140,228, 52, 70, 70,173, 57,145,130, 71,187,137,202, 40,190,179,221, 16,182, 27,112,187, 44, 95,155,
+157, 27,137, 63,217, 29, 80,138,252,218,219,114,173,180,166,174, 52, 71, 85,203,141,118, 77, 83,119,232,182, 35,233,138,164,103,
+ 99, 26,137,175, 52, 91, 31, 25,109, 98, 40,124,150,201, 5,122, 23,176,189,195, 59,207,110,211, 51,238,118,216, 97,196, 13, 3,
+ 79, 54, 23,248, 48,176, 10,129, 54,122, 26,111,105,132,162,149,130, 54, 37,148, 11,168, 16, 80,253,150,195, 32,104,156,227, 80,
+ 36, 78,132,164, 78,176,144,146,227,153,188, 22, 18,163,205, 38,100, 81,130, 39, 27,205, 88,114, 38, 67,116, 83, 1, 99, 2,181,
+132,173,179,212, 90,161, 99, 65, 85,147, 96, 91, 84, 34, 50, 37,166, 48,171, 38,202,125,161,138,124,208,198,124, 47,135, 82,228,
+141,218,123,186,171, 98, 35,107,202,218,104,110, 78,187, 54,159,233,203, 54, 23, 86, 93, 96,117,235, 11,217,173,144,186, 42,185,
+135,252, 83,122, 70,217, 81, 10,249,220, 44,198,107,164,198,114, 6,102,120,158,125,112,207, 12,205,147,114, 3,217, 85, 5, 61,
+ 48, 37,168,166,202,182,236,198,228, 65,108,158,226,141,250,177,104,175,166, 42,111,206,245,249, 65,252, 89,119,235,253,148,223,
+100,183, 32,180,145, 39, 67,207,170,110, 88,181, 11,118,211, 68,103, 42, 98, 20,104,165, 8,201,227,130,167, 53, 13,162,216, 8,
+106,221, 20, 94, 86, 96,219,111,113, 5, 58, 75, 50, 75, 96, 4, 30, 97, 76,238, 64, 67, 68,104, 67,136, 17, 45, 50, 44, 34,200,
+ 72,158,150, 58, 55, 19, 37, 3,120, 34, 81, 91,195, 16, 29,178,173,137,147, 39,146, 47,104, 26, 29,168, 72,136, 57, 64, 64,138,
+ 28, 3, 58,216, 17, 85, 12, 27,130, 29,242,231,111, 42,198,105,204, 55,198,124, 65,231, 32,138,142,253,174,164, 41, 83, 59,177,
+200, 27,124,177, 19, 28,179,204, 69,216,125,135,104, 13,248,205, 47,103,224,242,215,118,235,222, 23,147, 5,205,246,235,127,193,
+ 95,118,119,246, 41,113,179,127, 65,152,181,190,236,157,242, 62,253, 43,124,249,171, 95,100,234, 29,231, 23, 59,236,224,233, 86,
+ 29,235,227, 5,187,157,205, 58,236,170,152, 5,249, 72,219,180, 28,173, 87, 88,155,216, 92, 58, 90, 93,161,141,206,241,182, 33,
+ 91, 75,246, 54, 50,249,136,240, 41,155,212,233,226, 52, 72, 34,250,136,151, 34, 39, 74,185, 12,143,139,226,167,158, 27, 68,152,
+ 98,134,211,189, 15, 76, 33,160,129,187, 11,195,214,121,108, 36,235,210,133,160,174, 36,166, 16, 39,183, 73, 82,213,249,129, 90,
+ 86,186,168, 51, 20, 42,229,176, 8, 93, 43,190,252,214, 93, 14,239, 58,132,155,248,151,223,251,144, 79,158, 30,178,104, 43,222,
+126,239, 33, 7,171,142, 91,199, 45,159,251,204,139,124,233,238, 17, 95,127,255, 17, 31,127,245, 14,127,240,141,111,211, 85,138,
+255,240,240,109,110,117,135,108,118,231,180,139, 53,141,214, 28,180, 43,130,219,240,253,199,247,248,246,238, 17,156,245, 48,129,
+124,105,205,155,199, 7,188,122,114,151,203,199,231,220,188,123,139,110,125,155, 15,238,127,157,247, 31,111,121, 18, 2, 71,141,
+225,184,209,188,254,202, 43,208, 86,188,124,231,136,255,234,239,253,109,198,205, 84,164,179, 9,239, 44,214, 58,126,243,197, 19,
+222,221,142,220,187,127,198, 63,255,147, 63,229,251,127,242, 39,207,191, 31,230,201,126,158, 96,174,166, 61,251,244,228, 29,138,
+ 51, 87, 20,121, 79, 45, 96,191, 64,252, 81, 13,165,223, 67,153,243,200,152,138, 53,177, 42, 15,230,172,170,104,155, 61, 68, 63,
+142,123, 39, 48, 51, 51,233,175,161, 87,222,231,226, 43,202, 68,227,226, 30, 77,212,250,153, 41,253, 57, 19,140, 47,137,130,161,
+200,157,204,140,104, 85, 64,137,198,140, 64,183,162, 90, 47,104,215,199, 60, 30, 29,147, 94,209,170,136, 87, 45, 7,106,226,108,
+102, 67,199, 0,228,102,224,165,234,152,191, 36,241,149,177,199, 87, 29, 15,189,231, 70,157, 21, 54, 46, 6,118,219, 68,155, 18,
+ 46, 4,150, 62,112, 33, 19, 77,128,247,135,129, 59,109,199,159, 61, 60,195,234,186,228, 41, 52,192,112,109,152,210,123, 53, 65,
+224, 71, 35, 37, 77,243, 84, 35,181,214, 53,175, 44,142, 48, 90,211, 45, 14, 80,166,193, 10,137, 23,217, 37, 81,135,128,244,158,
+158, 60, 45,214,129,108,186,148, 34,135, 33, 50, 4,136,214,147,236, 68,231, 61,151,155, 39,108,135,145,139, 96, 57, 89, 44, 48,
+ 65, 98,162, 64, 43,131,242, 19, 76,145, 74,107,100, 74,172, 72, 28,168,154, 62, 76,220,162,166, 9,128,205, 17,184, 49, 36,182,
+ 41,177, 6,188,148, 96, 2,187, 36,216,246, 57,138,117, 8, 16,165,198,121,176, 73,224,163,133,152,216, 38, 79, 35, 4, 67,136,
+ 57,249, 48, 72,182,113,226, 88, 73, 30, 90,143, 79,137,202, 40,172,191, 86,216, 92,200, 77,163, 36,103,116,212,234,202, 19, 38,
+251,245, 87,153,244,166,203,120,189,185,132,195,155, 87,217, 33,121,184,241,217, 44,104, 94,139, 84,165, 33, 30, 11,241,120,156,
+242,223,129,202, 30,244, 70,239,137,199,218,236, 25,237,115, 35, 60, 7, 21,213,106,111, 49, 27, 11,169,180,196,204, 94, 33, 71,
+162, 88, 5,207, 16,126,167, 11, 2, 81, 66,106,132, 4,209,149, 84, 66,191,143,149,157,182,207, 41,234,214,230, 23,253,243, 70,
+194, 57, 11, 99,121, 80,235,138,209, 84, 32, 39, 26,165,209,166, 33, 4, 79, 83, 53, 56,239,179,109, 32, 1, 37, 4,163,179, 44,
+171,150,132,199,135,188, 43, 7,152,220,136, 49, 6, 65, 78,231, 97, 4,161, 36,202,228,110, 44,196, 68,165, 13, 82, 72,100, 74,
+ 40, 45,208, 90, 34,165, 36, 90, 15, 77,131,176,142,224, 70,236,178, 35, 13, 3,187,209, 83, 53, 21, 97,202, 19,172,212,154,224,
+ 66,118, 52,210, 26, 3,244,222, 17,230,157,135,169,193,123, 42,149,120, 56,236, 8, 66,130, 42,222,189,182,192, 47, 90,238, 77,
+191, 98,249,240, 27,157,247,135, 49,236,147,116,150,139,124, 3,232, 42,103,241,206, 36,167,174,185,150,219,251, 75, 40,236,215,
+ 39,150,249,151,125,239,233,131, 83,235, 98,252,241, 52,148,249, 15,127,227,147, 28, 28, 46, 24,122, 71, 93, 85,196, 54,210,173,
+ 26,134, 41,224,125, 32,248,144,161,247, 49, 66,212,144, 36, 77, 91,209,181,154,227,101,199,201,186,161, 49, 10,173, 4,147,143,
+ 87, 62, 17, 25,164, 72,156,116, 21, 73,102,139,212,186,146, 44,235,236,212, 85, 43,144, 73,226, 93,222,125, 87, 38,179, 94,173,
+207,170,133, 90,136,140,150, 26,133, 72,137, 86, 9,142, 27, 73, 31, 2, 62, 9,142, 69,162,145, 32,100,226, 50, 69, 84, 20, 60,
+216, 57, 22,149,166, 89, 42,166, 8, 55,187,134, 70, 43,238,157,247, 84,141,226, 83, 55,150,124,226,101, 69,171, 37,223, 61,219,
+240,199,223,127, 76,178,137,118,181,200,172,210,193,161,158,244,252,145, 11,156,172, 59,254,233,215,126,141,223,248,220, 39,248,
+171, 15, 30,241, 23,127,254,109, 8, 19,127,241,216, 49,212,142,239, 61,252, 30,173, 54, 60,222, 92,112, 62, 76,121,157,211, 25,
+208,129,248,120,195, 55, 31, 92,240,225, 75,151,124,246,228, 9, 97,218,112,252,194, 29, 62,241,218,167,249,236, 23, 86, 28, 30,
+ 53,156, 30, 85,124,236,100,193,113,171,217,218, 64,140, 9,119, 43,175, 9, 14,154,236, 3,177, 48,146,202, 72,158, 12,158, 99,
+ 27,249,170,150,252,195,127,240,219, 92,140,142, 15,207,123,254,234, 59, 31,242, 7,127,242,111,248,247,255,242, 15,114,241,126,
+ 22,189,126, 14,124,159,102, 78,198, 83,147, 50,224,126, 68, 81, 9, 49,167,254,173, 86, 87,220,162,252,255,141,249,126,130,167,
+ 7, 4,235,193,216,130, 94,197, 31,173, 6,185,190,150,250,113,164,161,167, 26,215, 31, 1, 81,207, 68,209,201,150,116,184, 17,
+148,205, 16,122, 4,150, 29, 7,183,143,249,220,237, 35, 30, 76,142,182, 91,208, 72,131,174, 26,188,183,188, 46, 91,162,115, 60,
+ 22, 83,209, 53,231,117,195,247,118,143,249,220,193, 17, 31, 76, 19,157,245, 44,155,134,139,113, 96,170, 42, 86, 36,190,229, 19,
+159, 58, 88,224, 67,100,212,138,208,247,244, 68,110, 24,205,187,110,226, 65,242,185,104,175,186, 60, 8,236,158,121, 15,234,153,
+141,200,243,222,223,236, 3,128,130,186,227,184, 57, 0,109,232, 86, 39,128,200, 50, 49,165, 24,172,199, 8, 5,109,102,189,143,
+206,102,146,127, 37,137, 33,114, 75, 36,250, 0,149,245, 56,159,101,118,143,206,207,168,172,227,124,216,178, 86, 18,101, 61, 85,
+ 91, 50,215,181, 66,248,136,209,138, 70,105, 90,165,104, 66, 64, 37,201, 43,170, 65,183, 6,233, 50, 87,105, 12,142, 74, 26,150,
+ 17, 92,217,109, 75,165,176, 9, 14,170,192,189,201, 33,148,100,176, 16,181, 33, 22,215, 60, 27, 71, 26,169,241,193,211,136,188,
+130,105,141, 38, 18,217, 13,158,227, 74, 18,167,196,214, 63, 19,128,163, 75,246,192, 44,250,153,175,217,172,106,208, 6,213,182,
+ 4, 1, 75,221,210,175,142,178,185,213,220,224,166,178, 90,165,104,202,103,253,183, 47, 67,161,243, 57,223,125,178,249,140,191,
+ 90,125, 62,207,182, 53, 62,237,251, 62,133,189, 74,169, 42, 78,117,117,149,121, 78,211,144, 45,106,131,205,141, 71, 27, 96, 96,
+111, 83, 60,199,246,174,171,140,112,205,107,178,177,217,115, 82,226,248,148, 25,154, 34, 30,253, 51,250,221, 47,198, 33, 77, 43,
+ 44,146,227,197, 65,102, 43,147,117,232, 62, 6,140, 52,132, 20,179,113,143,146,212, 82, 35,148, 68, 11,205,228, 28,198,232,108,
+ 56, 83,236, 10, 19, 18,235,178, 23,180, 49,249,165, 6, 33,209, 74,162,234,138, 78, 41, 92,136,212,198, 16,139,255,182, 48, 21,
+ 82, 10,122,159,205, 82,108, 49,213, 87,166,194, 21,178, 84, 10, 41,155, 36,248,108,136, 16, 98, 98, 76,146, 68,196, 9, 65, 31,
+ 34,194, 71,156,144, 92,122,139, 22, 2, 23,115,246, 58,163, 43, 45,180,156,147, 72,242, 1, 35, 74,182,239, 12,181,248,180,135,
+229, 41, 36, 57, 81,172,183,116, 85, 76, 15,202, 69,255, 57,201, 16, 63, 53, 52,255,211,252,251, 51,191,255,247,254,219,127,130,
+146, 96, 71, 79, 8,185,184,132, 72,201,176,167,216,233, 10,130,135,186,174, 89,173,150,220, 61, 93,115,178,234, 88, 45, 43,150,
+ 38,147,106,102,215, 80,151, 34, 33,164,156,167,160, 5,146, 68,163, 20,167,107,195,210,232, 28,211, 56,191,148,144, 81,155, 84,
+248, 47,214, 7,100,138,184,152,167,250,144, 2, 33,230, 73, 40,133,200, 50, 6,100, 8, 28,196, 68, 37,160, 18,146,147,148,232,
+ 98,226, 72, 10,172,200, 83,129, 69, 48,110, 7, 78, 43,195,113, 83, 97, 18,124,235,108,199, 7,151, 35, 8,112, 8, 78, 15, 58,
+ 94, 59, 93,242, 36, 8, 92, 72,220,190,181, 4, 35,233, 55, 35,110,116, 60,222, 78,216,201, 51, 38,137, 49,134, 95,255,252,107,
+188,122,186,166,221, 89,254,175,119, 63,228,163,221,150,147,174,166, 51,154, 86, 27, 86, 90,179, 37,145,106, 69,210, 18,121, 80,
+241,249,211, 99, 94,190,121,194,209,141, 5,191,255,183, 94,231, 31,125,233, 99,124,233,205,219,124,254,229, 99, 62,125,123,141,
+ 20,130,203,193, 35, 82,126,126,124,136,236,172,103, 42,132, 64, 18,152, 74,177,168, 12,125, 16,124,112, 57,161, 82,228,229,211,
+ 37, 95,184,125,196, 75,119, 14,249,237, 47,126,129,127,252,251,191,199, 43, 47,189,196, 31,254,209,159, 34,144,121,109, 37, 4,
+ 34,101, 67,165,108, 2,146, 15, 32, 97, 52, 34,169,125,241, 87, 62, 79,217,209, 62,127,143, 61, 75, 38,173,203,208,160,119,123,
+226, 82, 74, 48,244,207, 88,179, 22, 34,102,112,123,185,219,117,107,215,249,240,251,113, 30,239,215,139,254,179, 43,166, 31,154,
+100,203,142, 83, 25, 56, 88,103,104,179,237,114,228,235,170,205, 59,204, 69, 67,234,106,110, 54, 13, 73,213,188,118,184, 38, 42,
+ 56,210, 25, 53, 56,172, 5, 15,109,228, 50,133,189,115,153,200,222, 2, 70, 72, 14, 98,162, 14,142, 46, 5,206,172,101,185,125,
+140, 53, 21,223,159, 70,118, 33,114, 71, 73, 30,218,137, 35,165,232,157,167,247, 17, 29, 2,223, 24,167,124, 80,251, 30,118,187,
+167, 19, 21, 37,251, 40, 80,226, 15, 15, 90,179,202,230,228, 6,172, 22,176, 94,243,194,209, 13,126,227,246,203, 28, 44, 22, 24,
+ 45,168,181,193,232, 26, 27, 50, 41, 46, 42, 69,240,137, 33, 6,162,148, 52, 82,208, 72,193, 97, 2, 23, 34,235,152,176,131,163,
+ 38,176, 59,127,130,187,124,130,157, 70,150, 9,218,182,166,105, 90, 58, 93,161,149,196,196, 72, 83, 27,140,128,133,169,232,128,
+195,202,176,142, 9, 35, 5,173,148, 57, 72, 70, 10,234,226,190, 39,124,162, 49,138,160, 37, 23, 49,175, 52, 71,153,120,178, 29,
+121,224, 3, 59,239,144, 36,164, 80,104, 33,104,116, 3,228,193,109,240, 1, 93,144, 58, 45, 36, 33,228,231,160, 83,154,243, 16,
+ 8,162, 64,234,161,228, 90, 36,153, 27, 37, 93,200,202,198,228,207,169, 93,242,202,250,152,151,186, 21, 47,214, 75, 94, 90, 30,
+176,144,134,186,233,184,156,173,101,227,108,141, 88,216,240,148, 51, 91, 42, 82,140,168, 36,114, 13,152,189,231, 93,185, 47,180,
+222,147,159, 37, 92,165, 13,134, 18, 24, 19,194,158, 61,175, 85, 70, 11, 40,171, 31, 63,149, 34, 31, 74,211, 88,254,124, 87, 21,
+223, 6,246, 49,217,161,188,174, 57, 77,179,170,246,178, 82,165,158,178, 83,254,249,217,239,207, 22,135,144,242, 94,185,210,236,
+ 20,116,170,202,122,113, 93,229,240,148, 20,169, 10,116,110,148, 42,102, 5,142, 90,213, 72,149, 39,247,170, 64, 15, 33, 7, 40,
+227,124,204, 97, 72, 73,225,139,105, 71,221,154, 43,179,131, 99,173, 24, 10, 6, 85,155, 42,147,169, 82,190,105,119, 62, 32,203,
+ 14, 61,197,204,160,244, 73, 16, 69, 42,103,135,196,249,128,149,121, 42,180, 41,225, 98, 96,112, 30, 75, 98,112, 19,125,132, 41,
+ 58, 70,239, 50, 51, 49,206,123, 22,181,183,192,140,215,189,126,227,158,253,152,174, 77, 70, 90,150,255,158,246,123,179,217,210,
+112, 14,148,144,242,167,119,210,250, 37,126,125,236,111,255, 14, 95,254,245, 79, 51, 12,150,126,219, 19,124,196, 59, 79,211, 53,
+ 76,253,196, 52, 58,166,222, 18, 92, 64,146,189, 5,106, 99, 16, 66,178, 90,213,172,155,153, 37, 43, 24,124, 36,146,153,234,110,
+138,217, 35, 71,230, 98,127,227,192,208, 26,141, 42,134, 44,145,108, 24,163, 77,182, 87,157, 51, 26,116, 10,248, 24,209, 50, 63,
+ 15,243, 80, 24, 99, 36,185,192,165,143,120,149, 27,142,205,232, 80, 17, 22, 49, 81,249,192,165, 4, 87, 25,140, 81,168,199, 59,
+212,119, 30,243,238,195, 11, 76,163,185,209,182,180, 49,114,239,114,199,251,103, 61, 23, 86,178,168, 20,199,173,225,184, 51,220,
+ 92,104,188,183, 28,117, 29,186,210,108,206, 7,198, 41,112,255,114,228,209,229,192, 43, 39, 75,188,245,124,250,227,183,248,237,
+207,189, 14, 23, 3,255,254,175, 62,100,125,208,177, 52, 11, 84,165,105,170,138, 86, 9, 94, 57, 92,242,214,221, 27,252,167, 95,
+120,139,255,242,119,191,196, 87,191,240, 26,159,249,248, 29,234, 90, 35,132,160, 15,217,239,122,235, 2, 79,118, 30,239, 35,141,
+ 81, 28, 52,153, 65, 13,249, 51,234,173, 99,176,142, 16,242,120,172,132,100, 55, 57, 30,238,118,156,237, 34, 85,130,173,141, 56,
+239,185,123,208,242, 91,159,127,157,255,225,191,254, 7, 44,239,190,193,191,251,183,255,182, 16,126,179,212, 79, 22, 85,134,136,
+ 69, 87, 94,210,165,196,204, 36,159,252, 15,155, 39, 92,215,125,167, 82,128, 6,151,155,214,113,147,121, 35,118,122,126,113, 14,
+ 97, 95,208,231,137,230,138,157,156,246,190, 14, 63,201,231,253,199,253,204,156,123,208,212,124,246,213, 91,180,135, 29, 47,156,
+ 46,233,186, 10, 86,203,172, 90,146,133,113,108, 12,193, 84, 44, 76,197,171,235, 5, 38, 2,133,215, 96, 68, 86,218,220,159, 70,
+ 46,230,134,196,185, 2,197,143,172,220, 72, 28,123,130,221,226,135,115,154,221, 57,198, 91,222,187,120,200, 71,214,113, 87, 26,
+190, 49,140, 28, 33,121,111,178, 4,239,121, 24, 61,223, 26,122,108,178,121, 42,155,250,204,156, 62,223,101,244,110,126,255,243,
+ 25, 18,158,137, 70,174,202,100,183, 62,134,163, 31,132,194,155, 0, 0, 32, 0, 73, 68, 65, 84, 53, 28,159, 34,143,110,240,169,
+197, 9, 55,186,138,155,221,146, 70, 85, 57,176, 76,230, 97,242,194,122,188,245, 68,153, 93, 50,149,128,133,128, 99,157, 67,173,
+ 84,200, 94, 19,135, 93,102,162, 55, 49, 51,217, 23,193, 99,140,102,165, 27,142, 23, 11,144,146,101, 33,193, 42, 41,104, 85,141,
+ 72, 80, 87,146, 42, 65,101, 20, 11,165,145, 90,228, 60, 5, 41, 48,117, 62,247,189, 82,140,165, 65,119, 74,176, 77,137,203,222,
+ 51,197, 68,111, 45, 65,228,186,161, 5, 68, 12, 40,137,170,107, 66, 18, 40,213, 48,197, 64, 37, 5,131,115, 72,165,168,149,193,
+ 11, 65, 91,213,212, 85,203, 40, 37,169,169,178,203,105, 93,103, 53,146, 49,176, 62,202,223,183, 75,100,187,226,173,122,193,186,
+ 94,209,180, 29,219,144, 56,238, 58, 90, 33, 16, 73,112, 25, 10,242, 58,175, 52, 68, 78,118, 76, 49, 92, 5, 11, 45,116,150,194,
+202, 20, 73, 59,187, 63,136,230,251, 57,165,125,140, 43,169,144,250,124,174, 15, 59, 91, 92, 61,103,155,103, 81, 86, 87,133,141,
+111,228,222, 91,106,230,109, 85, 38, 31,128, 46,236,229,199, 74,229,123,165,106,242,179,217, 84, 25,161,240, 49, 63,123, 34,223,
+ 51,191,152,162, 62,143, 88, 38, 91,243, 37, 32,181, 21, 62,164, 76,134,210, 85, 94,139, 5, 80, 74,224, 99, 68,146,168,171, 6,
+ 31,236, 85,252,222,228,125,254, 12,133,192,249,156,195, 27, 72,216, 16,104,170, 66, 34,136, 10,211,106, 22, 8,208, 26,149, 18,
+ 90,230,110, 41, 1, 21,130, 65,100, 73,205, 38,229, 41, 51, 10,153,181,232, 49,224, 93,204,156, 50, 37, 8, 62, 23,251, 33,120,
+ 92,202,204,236, 24, 35, 99,132, 62,120,250, 24, 72,200,204,240, 14,190, 4, 8,148, 64, 27, 93,244,145,136,124, 97,230,216,200,
+196, 62,141, 71,138,167,243, 37,174, 23,247, 90,229,238,114,198,219,102, 59, 80, 37, 11, 73,162,252,172, 86,191, 56, 9,220, 79,
+241,245,123,127,231,107,220,122,241, 6,155,203,158,224, 34,218, 24,172,245, 52,139, 54, 91,194,198,136,148, 26,163,107, 86,171,
+ 21, 74, 74,218,186, 97,189,236,184,115,210,178, 48, 38,135,163,196,196, 16, 34, 46,101,103,169,152, 50,193,173, 81,130,195,133,
+230,164, 53, 40,169,136, 66, 32,149, 40, 9,158,217,182,210, 40, 65,109, 4, 38, 69,142,141, 32,200,132, 8,137, 74, 68, 84, 12,
+ 57,207, 33, 70,106,239,241,201,179,180,129, 42, 37, 86, 62,178,178,129,122, 10, 36, 45,216, 26,201,129, 79,172,133,196,104,193,
+163,221, 64,255,193, 5,239,221, 59,103,221, 26, 94, 92,118,124,108,189,160,157, 50, 81,208, 40,137,140, 5, 1,104, 20,214, 58,
+ 46,118, 19, 39,109,205, 43, 71, 29,111,127,120,201,232, 2,219,205, 72,229, 28,255,201,167,238,242,189,139,158,155, 55,151,252,
+222,151,223,228,226,252,146,127,253,103,239,240,192, 79, 60,217,246,120,225,120,235,206, 11,124,254,179,111,242,213, 47,125,146,
+ 47,127,238, 85, 78,215, 29, 66,230, 93,231,110,242, 92,236, 60,247, 46, 44,151, 59,203,131,139,137,243,222, 18, 98,160,149,176,
+ 16, 2,227, 97, 59,121, 54,193,211, 79, 62,251,229, 91,207,163,221,196,102,240,172, 42, 73,140,145,135,155,129,179,222, 49, 89,
+135,179, 14,225, 60, 10,201,209,170,227, 51,175,223,229,229, 47,124,133,255,251,255,248,215, 57,175,161, 28, 44,210, 95,147,137,
+ 69,143, 8,165,224, 56,255,163,221,144,174,242, 2,124, 46,252, 70,102, 8, 81,201, 61,153,237, 39, 17,110,175,249, 84, 92, 65,
+168,241,167, 40,234, 63,145,246,155,189,215,213,114,193,209, 65, 75,187,234,184,112, 9,173,107,182, 33, 97,141,202,197,113, 54,
+172,215,138,187, 77,197, 82, 27, 42,165, 56, 82,134,148, 34, 75, 89,241,176, 31, 80, 82,241,161,183,249,144,181, 3,244,151,240,
+248,156,203,243, 39, 12,110,100,229,123,118,195, 37, 38, 78,124,227,236, 35, 30,110,206, 73,211,192,125, 63,177, 19,130,247,188,
+231,108,220,113, 47, 10, 30, 57,139,157,118,197, 83, 98,200,126,226,219,146,190,214,247,123, 9,148, 81,121,106, 83, 69, 69, 80,
+155, 44,169,171, 91,184,125, 2,135, 43, 56, 92, 67,183, 34, 9,201,177, 50,124,108,181,200, 86,195, 82, 81, 25,147,215,137,214,
+211,187, 28,103,172,188,167, 22,146, 78, 42,150,149, 34,166, 68, 39, 18, 49,101,237,183, 77,145,198,123, 52,130,131, 4,147,115,
+172,148,230,176, 91, 16,165,164,107, 27, 84,101,168, 84, 38, 58,107,153,155,111, 33, 4,203,202,228,140,117,173,104,164, 70,182,
+ 21,210, 40, 82, 37,241, 90, 19, 73,104, 33,184, 0, 54, 36,198, 20,185,191,205, 6, 95, 83,185,222, 14,149, 45, 99, 5, 4,109,
+202,252,148, 77,196,162,128,139, 24, 72, 66, 99,147, 66, 74, 69,212, 53,171,170,195, 55, 29, 72,141, 93, 28,146,154, 85, 38,149,
+181, 11, 88,173,203,212,190, 0,221,241,114,187,228,160,238,216,121,139, 87,154,133,214, 12, 49,224,131,167, 82,146,179,164,114,
+ 79, 37,184, 82,103,164, 82,156, 59, 37,145,222, 49,140,142, 3, 2,227,197,112,141, 63,146,246, 5,125,230, 89,205, 77,239, 60,
+237, 79, 37, 5,212,239, 19, 8,111,221, 57, 96,183, 29,185, 50,194, 87, 50, 15,139,241, 90,252,175,187,214,252, 94, 95, 51, 24,
+189,207, 91,160,112, 96, 22, 93,177,204,205,218,251, 95, 92, 81,191,218,131,101, 61,168, 77,138,182,109,104,141, 97, 8,174,176,
+210,179, 49,136, 80, 57,116, 37, 38,143,245, 46,203, 39, 84,254,164,146,144,196,148, 99,247,108, 76,164, 36, 72, 82, 17, 98,202,
+ 19,161, 84,116, 70,210, 8,129, 12, 1, 76,246,240,110,133, 32, 37,129, 18,137,209, 69,108,138, 36, 31,176,193,102,233, 84,200,
+ 12, 76, 31, 2,155,209, 34,101, 78,104, 27,125,222, 51,217, 16, 17,161,192, 61,209, 35, 82,214,173,167,232,114,184,203,149,193,
+198,124, 65,253,222, 9,104,198,153, 99,186,182,159,190,214,149,137,107,197,125,142,168, 20,229,130,151,192,135,156,223, 91, 96,
+200,182, 45, 17,128, 41, 67, 53,146, 31,195,120, 44,196, 12,253,243, 64,248, 58,235,111, 77,115,229,189,253,181,255,226, 63, 67,
+104,201,246, 98,160,238, 26,148, 86, 8, 33,177,195,132,115, 33,239,193,155,134,227,163, 53, 70, 85,156, 28,175, 57, 62,104,185,
+113,220,114,212, 84,104,157,229, 44, 83,204,122,241,236,230, 38, 48,228,130,189,106, 53,141,201,112,116, 16, 18, 49,127,160, 69,
+ 2, 74, 74,212, 2, 14, 4, 24, 18, 50, 9, 68, 8,136,224,145, 49,178,142,145,161, 36, 61,109,198,128, 72,145, 49, 6,156,207,
+ 28,137,218,122, 6, 34,113, 81,243,242, 54,240,250, 31, 93,112,120,182, 99,167, 34, 27,231, 9, 49,114,107,107, 57,254,104,200,
+ 65, 24,117, 69, 28, 29,195,251, 79,232, 14, 52, 71,171,134,203,126,100,107, 3, 90, 8, 30,109, 50, 83,255,243,183, 14,185, 85,
+ 73,254,224,155,223, 39, 4,203,189,203, 29, 34, 73,150, 46,241,237,203,158,117, 91,241,198,199, 95,230,226,209, 5,183,151, 43,
+222,122,233, 22,191,249, 43,159,230, 63,254,205, 55,249,181, 55, 95,224,230,170,131, 36,152,166, 64, 63, 69,156, 13,140,147, 99,
+180,129, 20,178, 83,225, 16, 60,126,242, 56,235, 24,156, 37,216,128,247,158, 71,195,196,229,104, 11, 63, 33,225, 98,164,119,142,
+ 77,111, 73, 2,148,150, 37,250,118, 71,163,225, 80, 42,154,224,233,148,194, 40,133,208,154,151,111,173,248,242,239,124,149,237,
+110,199, 15,190,247, 1,194,231, 92,172,235,155,244, 31,245,253,243, 21, 23,215, 38,240,103, 85, 24, 63, 81, 57,119, 45,128,229,
+ 42,112, 35,253,252, 50,207,217,202,117,177,128,131, 37, 31,191,177, 36,162, 89, 87,154,182,170,232, 42, 73,139, 68,213,134,157,
+115,133,160,151,145, 49,175, 21,183,140,226, 86, 85, 51,248,145, 86,106, 82, 10, 36, 60,223,239, 71,150,227,150,203,190,135,205,
+ 6, 30,239,224,209, 6, 46, 31,227, 54, 61,103,147,229,113,140,124,184, 27,153, 66, 36, 93,108,243, 52,223,181,123,244,161, 50,
+153,103,144,138,202, 68,170,252,188,121, 91,224,221, 25,237,112,208, 28, 66,187,132,163,195,188, 46,168,107, 88,175,243,254,125,
+181,200,103, 64,215,128, 94,102, 7, 77,211,240,235, 77,131, 17,137,174,170, 8, 49, 15, 66,186,100,109, 92,140, 19, 38,129, 73,
+ 17, 35, 4, 77,165, 88,215, 21,150, 68,240,145, 74,148,224,197,157,167,213, 2,124,192, 72,168,124,160,173, 27,124,140, 44, 22,
+ 11, 26,163, 80,218, 96,140,201, 4, 89, 45,105,140, 42,214,177, 53, 85,211, 32,181,193, 52, 21,178,169, 16,198,100, 8, 92,101,
+165,209, 89, 12,184,144,232,173,231,113, 8,236, 92,150, 59, 63,112, 14,139, 32, 9,149,179, 61,100,102,187,123, 33,139,195,181,
+160, 23,134, 90, 72, 62,112,158,195,170, 35,153,154, 74, 43,164, 89, 80,235,134,180, 56, 96, 68, 33,164, 38, 84, 93,254,108,139,
+179, 31, 72,100,221,240,153,170, 34, 36, 56,104,187, 43, 41,172, 18,130,133,105, 48, 82,224,189, 99, 19, 11,193,115,174,238,222,
+194,228,112,211, 68,232, 51,129,111, 58,223,228, 85,211, 60,160,165,107, 3,109,145, 86,103,114,231,108, 21,158,246,202, 13, 55,
+101,116,119,242,248, 85,151,249, 72,115,162, 91, 44,240,123,242,123,191, 16,165,158, 94, 73,205, 69,221, 22,146,156, 42,197,104,
+134,252,117,169, 3,222,255,130,139,250, 92,204, 38, 11, 50, 49,104,141,151, 2, 31, 66, 86, 10, 72, 67, 72,158,209,251, 60,173,
+120, 95, 82,180,114, 34, 90, 18,185,152,251,152,161,216, 84,138,101,144, 32, 16,196, 20,105,180,161, 13, 25, 82,234,148,194, 59,
+143, 16,130,152,242, 4,226,125, 44,196, 55,207, 48,141,140, 49,225, 93, 62, 52, 61, 48,186, 9, 37, 2,214,193, 16, 3, 82, 8,
+108, 0, 79,160, 18,121,114,151,222,210, 17,209, 8,130,119,212, 9,172,205,136, 66,110, 39, 75,103,230, 66,129,212,195,190,235,
+154, 97, 51,113, 45, 88,226,122, 65,159,255, 93,138,124,193,107,185, 15, 25, 80,133,229,232,109,134,142,116,185,168,243,206,164,
+ 49,207, 88, 10,234,171,154,158, 9, 53,146,159,201,111,182, 91,192,114,149, 15,143,148,192, 77,124,237,247,255, 46,253,206,102,
+ 21, 64,109,176, 83, 64, 72, 73,240,158,232,114,188,224,173, 27,167, 28, 45, 23, 32, 36,181,210, 28,175, 26,142, 22,217,163, 64,
+ 75,145, 45,100, 67, 42, 62, 15,146, 74,100, 55,191,202,100,243, 24, 83, 75,100, 97,156,202,236,239,154,247,197, 36, 38,151, 57,
+ 21,146,132, 73,137,206, 7,142,125, 98, 25, 18,139,201,115, 18, 4, 75, 23,168, 99, 96, 51, 57, 84,130,203,193,131, 11, 12, 17,
+132, 79, 28,104,197, 99, 5,175,254,233, 71,164,119, 62, 32, 61,186,100,249,161,101, 57, 70,170, 23, 14,168,180,194,125,240, 17,
+219,179,115,158, 92,230, 29,109,244,145,135, 15,119,232,206,224,132,224,114,152, 72, 82,113, 99,221,177,181,158, 15,183, 61,175,
+ 31, 29,240,205,123, 27, 30, 93, 92,162,128,239,124,248,128, 11,167,121,247,254, 5,231, 54,145,132,224,213, 87,238,240,210, 43,
+183,249,213,207,190,202,167, 63,118,147,174,170,152, 92, 96, 24, 3,206,229,149,210,224, 60, 23,125,158,206,157,205, 28,129, 80,
+154, 67, 81,228,142,227,232,184,247,100,203,131,221,200,163,126, 98,179,243, 76, 33,100,251,219,152,145, 54,153, 34,206, 5,162,
+144,140,219,137,237,110, 96,165, 53,119, 14, 22,172,201,104,198, 52,121, 62, 60,159,184,152, 38, 94,191,181,230,247,127,251,215,
+249,222,253, 7,188,253,237,119,178,154,228, 57,178,119,241,203,132,130,174,187,161,205,171,167,249,217,248,121,215, 79, 77,149,
+167,178,131,108, 10,115,171,174,185,177,170,168,181,206,121,246, 69, 95, 29, 16, 60,158, 66, 41,232,249,254, 27,164,224, 99,149,
+100,231, 29, 85, 76, 12, 33, 16,237,136, 14, 1,227, 7,190,123,185,195, 61,185,132,179,115,216, 60,129, 48,229, 52, 53,173,114,
+243, 61, 31,172,162,192,160,155,190,132, 93, 85,249,161, 44,169, 84, 82,107,126,115,177, 98,155, 18, 95,170, 42,156,243, 8,165,
+153,250, 77,110,102, 78, 78,120,241,246, 33, 39,183,142,145, 93,205, 96,170, 60,129,181, 85,254,187,148, 44,251,213, 61, 84,155,
+164, 66, 41, 56,169, 52, 85,242, 57, 51,193, 77,140, 62,177,115, 3,219,209,103,211, 72,145, 72, 81,176,104,154,220,115,104,129,
+141, 89, 11, 48, 12,129,147,165,102,112,145,165,214, 8, 59,161,154, 6, 63, 77, 44,154, 54,123,177, 87, 53, 93,173, 73, 82, 81,
+ 27,133, 80, 58,171, 91,218, 6,105, 12, 81, 74,218,166, 98,170, 12,162,210,168, 90, 19,106,149,157, 69,203, 78,124, 32, 48, 2,
+143,167,137, 9,199,217,148,159, 23, 43, 53,136, 64, 37, 43,134,152,245,239,173, 4, 41, 13,145, 72,171, 20, 59,159, 56, 53,154,
+ 3,221,208, 72, 69, 83,119, 12, 50,175, 2,164, 54, 28, 40,197, 67, 83,151,122,124,109,178,141,129,207,180, 29, 86, 73, 86, 34,
+195,236,139,148,104,234, 58,187,144,138,132, 50, 6, 67,228,195,105, 44,133,215,102, 37,152,117, 89,129,209,143, 48,218, 76, 12,
+ 29,124, 57,223,217, 75,129,139, 12,143, 68,254,239,178, 52,153,221,236, 47, 47,178,122, 99, 28, 96, 24,192, 91,194, 69,159, 51,
+ 68, 76,189,223,151,207,158, 10,243,148,159, 10,140, 47,197,222, 6,151, 18,202, 53, 79,234, 85, 65,114,103, 71, 80, 5, 8,245,
+ 75, 40,234,209, 23,230, 97,222, 27,219,161, 39,182, 13, 90,104,158,216,129, 86,231, 28, 93,102,242, 67,202, 89,233, 46,230,253,
+121,150,209,150, 32, 0, 41, 9,178, 28,248, 34,187, 18, 69, 34, 11, 99,184, 41, 5,143, 98,164, 65, 34, 82,202,150,130,228,152,
+214,157,181, 88,239,177,206,177,179, 19,194,123,122,239,136, 33, 19,191, 54,118, 32, 18, 11,105, 61, 91, 20,202, 20, 17, 30, 66,
+176, 28,214,130,228, 5,135,194,209,137, 72,229, 61,235,152,144,118,202,121, 46,209,102, 70,163, 47,228,136, 57, 96, 32, 81,164,
+ 10, 51,177, 70,238, 33,120,173,247, 63, 35, 69,134,243,107,147,117,149,226, 26, 4, 32,114, 72, 66,254,115,133, 16, 65,164,132,
+126,231, 31,187,154,216,229,190,160, 95, 5,194,252, 12,135,162,187,182,191,219,110, 88,254,230, 87,248,173, 95,253, 20,211, 84,
+ 26,165, 72, 78,175,139, 9,103, 3,222, 71,186,110,201,205,227, 53,151,151, 3, 50, 9, 42,165, 88,116, 21,149,222, 79, 95,214,
+103,216,125, 62,183,179,199,135,162,109,178,212, 76, 23,159, 1,163,115,122, 91, 61,183, 40, 9,132, 72, 84, 36, 84,140, 28, 68,
+208, 46,230,136, 99, 23,168,166, 68,114,158,122, 12,172,166,200, 98,242, 76,187, 9, 61, 56, 6,231, 25, 1, 55, 57,110, 28,117,
+124,253,157, 71,188,251,253,239,243,231,246,130,182,223,241, 82, 92,113, 28, 87, 28, 76,129,111,159, 63,225,255,217,158,243,225,
+176,225,242,114,195, 7, 83,228,206,122,201,147,222, 17,158,244,200, 16,185,148,176,176,158, 79, 28,173, 56,168, 53,105,242,124,
+253,124, 71,136,154,203,139, 77,118, 40, 12, 30,107, 61, 47,156,158,114,118,185,161, 94, 53,124,252,238,154, 59,167, 43,214,109,
+110,192,108,136, 88, 27,113, 33,146, 68,194, 58,207,118, 59,114,177,181,196, 34,217,105,107,197,232, 34,219, 97, 98, 24, 61, 46,
+ 70, 38, 27,184,236, 71,250,193, 50,140, 14, 27, 60, 42,102, 88, 82,136, 50, 5,250,148, 85, 28, 49,209,239, 38,166,237,200,170,
+173,185,209, 85,244,143,243,251,120,114,185,227, 79,223,190,207,163,135, 27, 38, 41,120,243,238, 17, 95,248,194,103,121,231,236,
+ 9, 63,248,222,219,136, 57,123, 69,254,255, 80,216,159, 53,140, 17,207,176,238,127,214,194, 62, 79,232,166,206, 26,126,165,161,
+ 53,220,237,106,148,146, 68, 4, 83,140,217,207, 2, 65,239, 3,103,214,239,137, 76,101,189,117,146, 18,107,145,112,193,179,136,
+ 14, 25, 61,182,223, 16,237,196, 55, 63,186,128,199,143,114,198,249, 52,238,181,200,170,104,203,231,221,231, 48,230,130,222,111,
+178,147, 85, 91,231,102,220, 84,252,206,193, 33,159,172, 58, 34,130,183,180, 66, 39,193,139,109,205,203, 6,206,124,100,168, 5,
+111, 28, 29,240,202,241, 33, 90,183, 84,218,240,164,202,137,101, 68,177,255,156,230,231, 95, 23,167, 61, 45, 24, 99,228,118, 76,
+172, 68,222,211, 39, 34,163, 29, 56,219, 78, 57, 2,181,236,133,181,202,136,155, 49, 21, 19,226, 42, 64,175,109, 4,155, 62,176,
+ 48, 18, 93,138,100,180,142,186,174, 8, 74, 32,170, 10, 37, 4, 65,107,164,201, 49,194,149, 81,200, 69,131,172, 12, 65, 27, 82,
+ 91,227,180,194, 40,137,109, 12, 67,202,205,250,133, 20,108,124,100, 72,145, 71, 62, 49, 88,143, 87,176, 29, 97, 23, 3,151, 66,
+ 18, 98, 78, 95,211, 66, 80,149,200,237, 24, 19,181, 42,225, 45, 49, 51,172,106, 99,168, 83,162,170, 13,222,122, 78,234,138, 42,
+194, 11,181,225, 8,193,155, 50,113, 39, 56, 78,149,100, 45, 5,189,119, 56, 93, 17,195,196, 18, 65, 37, 52,173, 16,140, 34, 81,
+ 33,139,181,109, 34, 12, 3,223,158,118,244,187,203, 76, 94,180, 54,255, 26,134, 34,207,140,123,185, 89,165,242,112, 61, 7,192,
+204, 82,184,201,231, 41,124,217,148, 28, 4,149, 73, 13, 90,149,123, 62,229, 51, 61,204,107,166,144,173,100, 43,246,238,135, 49,
+230,154, 50,115, 77,124,220, 35,186, 54, 94, 65,247,121,184, 83,249,204, 15,215,184, 40, 74, 92,237,222,127, 9,147,122,121,129,
+174, 64,241,210, 16,140, 98, 23, 45, 70,228,160, 22, 67,246,130, 31,131, 67,201, 66,164, 74, 30, 33,114,196, 94,109, 12,158, 28,
+143, 55, 69,135, 20, 2,147,189,152, 56,109, 43,106, 41,217,133,136,241, 33,195,243, 49,129,119,164, 16,233,125,118, 43,147, 68,
+ 30,122,203,100, 7,156,207,233, 95,147,183, 4, 63,162,133, 96,176, 22,165, 42, 52, 46, 71,112,134,188,244,111,107,133,242,129,
+ 3,149,243,126,187,224, 57,210,138, 83, 2, 47, 74,201, 82, 6,238,187,140, 44,228, 2, 91,118, 33,178, 92,120,161, 74, 22,178,
+216, 67, 52,130, 43,136,249,106, 82,159,245,238,243,142,189, 18,101, 98, 79,217, 34, 51,228,169,248,138, 84, 49,195, 49,110,182,
+ 69,140,251,162,222,204,122,201, 31, 1, 95, 54,101, 39,167,170,103,124,195, 99,238, 78,167, 1,136,188,240,201, 55,249,213,207,
+189,145,185, 5,228,233,220,187,148,239,237,201, 19, 92,228, 96,217, 33,181, 70, 75, 69,215, 85,156, 28,118, 28, 53,154, 69, 49,
+ 86,240, 62, 50,134,136,247,137, 24, 18,181, 18, 28,180,134, 69,163,203,208,146, 89,234,137, 68, 42, 5, 74, 20, 34,180, 22,130,
+138,196, 65, 72, 84, 33, 82,249, 68,116, 30, 19,161,241,137,106,138,132,148, 48, 54, 80, 5,193,194, 69,236,229,128,159, 44,155,
+113, 66,251, 64, 60, 90, 48,164,200,159,252,225,215,249,232,222, 35,126, 48,246,124,119,154, 88,250,115, 78, 82, 98,225, 26, 22,
+182,231, 27,118,203,219,195,150,209, 59, 90, 37,114,248,207,232, 57,117,137, 35, 99,184,115,216,162,106,201,106,200, 17,195,109,
+109,208,222, 99,181,192,138, 6, 59, 12, 60,217,230,164,192,143,127,226, 46,175,188,122,194,205,227, 5,139,218,228, 9, 37, 68,
+ 38, 23,176, 62,146, 66, 64, 41, 65,112, 41, 31,178, 49,225, 93,206, 60, 88,180,154,182, 49, 89, 46, 84,154, 64,161, 4, 82, 8,
+164,204,100, 78,161, 37, 74, 8,142, 14, 91,140,204, 76,246,101, 83,177,236, 12, 74, 72, 46,118,142,237,110, 32, 88,199,199,142,
+ 86, 52, 66, 50,158,239,104,140,224,219,247, 47,121,251,254, 3,108,121, 61, 30,137,233, 42,190,242,197,207,240,254,163, 39,188,
+243,246, 59, 63, 84,208,127,121, 83,250, 51,127,145, 42,178, 80,193,207, 94,216,103,189,122,183,202,240,116, 85, 28,224,148,230,
+102, 91,209, 41, 73, 37, 4,145,148, 3,157, 82,226,193,232,185,152, 27,234,170,200,222, 82, 66,198, 68,149, 28,167, 74, 96,199,
+137, 46, 38, 6,231,249,223,191,123, 31,206, 31,237,245,199,179,182,127, 38, 23,150,184,103,198, 18,248, 49,108,243,255, 51,148,
+ 52,186,245, 33,111,173, 79,136,194,240,226,162, 70,167, 72,146,134,166,110, 89,152,196,102,130,117, 85,113, 88, 41,222, 88, 45,
+ 57,110, 23, 28,106,205, 73,211,112,223, 6,122,202,144, 48, 67,176, 51, 3, 58,132,220, 68, 12, 61,182,239,217,248,158,247, 54,
+143, 89,226,120, 50, 90, 54, 46,177, 75, 2, 23,178,140,152, 36,145, 73, 16,164,162, 50, 26, 33, 53, 70, 81,162,172, 5,210, 64,
+ 35,178, 83,227, 36, 36,161,172,109,186,186, 70,154, 26,154, 26,165, 20, 65, 74,124, 93, 97,171, 12,195, 39,165,241,203, 38,219,
+ 17, 24,197,164, 21, 35,145, 73, 8, 54, 33, 50, 6,207, 37,137, 15,139,187,231, 35, 18,219, 9, 6, 59,241, 40, 9,100,176,140,
+ 54,114, 88,235, 98, 50, 37,209, 66,208,201,172, 78, 74, 49,225,129, 70, 40, 86, 82,228,248, 12, 1,134, 44,109,238,164,160, 53,
+130, 90, 4,166, 0, 7, 58, 80,197,200,218, 79,220, 82,134,147,232, 89, 0, 55,147,224, 72,100, 23,184,149, 84, 52, 9, 68,242,
+ 28, 86, 42,167,114,110,206,121, 24, 38,164,247,164,217,131,221, 23,178,104, 40, 59,241,121,205,170,138,110,221, 21, 20,198, 22,
+146,105,125, 45, 33,110,142, 37,158, 83,212,196,108, 97,107,138,148, 45,101, 36, 32,165,140,188,136,194,199,210,133,217, 78,225,
+ 86, 12,197,219,100, 30,228,102, 78,151,143, 25,225, 85, 5, 5, 16,242,169,200,237, 95, 78, 81,191,218,177,205,145,136,249, 67,
+177, 90, 48, 17,152,130, 71, 81, 58,187, 16, 73,228,195, 58,196,108, 19,104, 67, 64, 25,195,224, 44, 70, 27, 36,138, 49,120, 42,
+ 45, 88,104,133,145,154, 24, 2, 90, 40, 38, 63,230, 32,151, 16,232,157,167, 34, 34, 99,226,131,221, 57, 83,244,164, 40,232,221,
+142,157,243, 36, 17,168, 35,140,193, 19, 66, 36,122,139, 18,130, 42, 6, 42, 34, 73, 68, 26, 31,104,133,164,177, 19,173,144,172,
+132,100,233, 39, 14,148,196, 36,184,237, 35, 15, 35,108, 66,122, 58, 87,189, 47,145,172, 46,114, 69,163,116, 37,206, 79,138,167,
+ 13,253,231, 29,251, 12, 21, 93,143, 5,156, 97, 60,165,242,133, 27,167,156,210, 21,203,254,125,150,188,204,100,166,166, 2,189,
+200, 55,198,243,100,137,186,184,103, 41,145,161,160,107,210,135,103,191,190,242,213,175,240,137, 79,190,140,115, 30,103,195, 21,
+146, 49,237, 38,236,232,105,154,138,151,111,157,102, 50,142,209,172,219,134, 27,135, 45,203,198,228,200, 85, 33, 25,125,192,167,
+ 68,163, 5,198, 72,106, 45,105,180,202, 69,173,120,236,199,226,207, 30, 82, 38,212,205,156, 4,145, 18,186,152,101,132, 24,145,
+206,103, 93,108,140,212, 67, 36,141,158, 48, 89,170,222, 35, 54, 22, 51, 68,218,221,132, 25, 6, 46,157,229,116,217,146,110, 29,
+240,231,127,241, 54, 15,254,234, 67, 54,187,145, 7, 33,178,182,129,255,115, 24,249, 87,219,135,124,142,137,151,150, 47,241,107,
+171, 83,110,121, 71,140,158,101, 63, 34, 71,207,105, 76, 44,235,154, 87, 63,113,135,218,200,236, 53, 52, 6,134, 40, 16,173,161,
+ 94,183,156, 46, 27,110, 31, 53,188,250,210, 77,236,164, 88, 28, 29,240,242,171,167,188,112, 99,197,113,151, 49,135,221,232,152,
+108, 96, 51, 76,108,139,115, 30, 62,102, 4,195, 23, 87, 44, 41, 88, 46, 42,150, 93,195,106, 81,179,236, 42,150,181,193,212, 58,
+255,188, 72, 24,163,168,107, 67,221, 24, 14, 15, 90, 94, 56, 94,160,181,198,249,196, 65,171, 81, 82, 18, 4,156,157,109,153,134,
+137,197,178,229,215, 94,185,137, 74,129,113,176,140,214,241,205, 7,231,108,199,158,139,237, 37,253,206, 34,162, 33,136,192,139,
+183, 14,249,244, 91,111,241,191,253, 47,255, 34, 67,185, 60,237, 33,195, 53,250,200, 47,244, 76,144,215,238,249,171,221,100,250,
+233, 25,238,186, 16,226, 22, 93, 38, 70, 45,234,188, 62,146, 34,203, 35, 4,156, 84,146, 70,107,180,202, 25, 2,147,119, 60,153,
+ 60,239, 88,155,243,176, 67,200,242, 84, 37,192, 59, 46,173,229,174,145,220,219,245, 40,231,248,112,179,229, 59,143, 47,185, 56,
+219,228, 61,167, 20,185,160, 63,203, 25,240, 62, 79,116, 67,159,201,110,206,239,223, 99,183,132,163, 19, 42,165,121,171,109,144,
+ 85, 69, 72,134,182, 85, 76, 46,241,104,242,116, 74,208, 39,184, 89, 25,142,234, 26, 41,178,198,220,199,192,221,166,226,219,219,
+205,222,247, 34,148,215,221, 15, 25,254,223,141,249,239,222,245,236,166, 29,231,214,241, 97,138, 60,118, 22,155, 4, 74, 42,148,
+144, 24,165, 72, 49,161,148, 65, 10,205,132,160, 85, 50, 7,181,104,197, 20, 35,203, 90,226, 35,180,181,102,244,129,182, 50, 36,
+153,243, 43,188,148, 8,173, 24,148,194,214, 6,140,194,105,201, 84, 12,166,166, 36,178,126,187,220,179, 81, 42, 70,145,232, 37,
+156, 91,201, 35,151,232, 93, 96,227, 19,187,157,101, 20,137, 29, 2,239, 45, 42,122,106,153,153,226, 41, 38,100,242, 36,165, 72,
+ 33, 34,136, 36,231,137, 49, 81, 37, 79, 10,137,174,201,180,254,101,107, 48,209,161, 91,141, 8, 1,165, 36, 43, 63, 50,197,136,
+ 9, 14, 41, 43, 12, 35, 11, 17,208, 41, 33, 9, 24,169, 57, 81,137, 24, 45,210, 91,214,149,198,184,137,237,238, 17,219, 97,226,
+141,174,226, 52,194,199, 14, 22, 52, 82,179, 90,180,152,186,161,151,197, 9,116,206, 68,143,177, 16,158, 51, 7, 33, 59,195,145,
+207,254,144,138,107, 99,249,185,121,186,118,110, 47,225,148,101,152,107,187, 2,223,135, 18,215,170,247,205,102,136,185, 89,104,
+179,185, 87,110,234,102, 20,188,172,122,221,236,198, 88, 76,118,230,181,112,226,151, 88,212,103,239, 92,101, 50,100,165, 51, 29,
+ 63, 33,136, 90,177, 11, 57, 33,104,231, 45,187,224,168, 11,148, 97, 99,200, 19, 11, 96,180, 33,164, 64, 18,217,110, 84, 8, 67,
+ 27, 1, 17,104,165,100,240, 83,142,147, 37, 96, 39, 75, 45, 37,113,154,120,108, 71,124,140, 60, 25,119,132, 24, 8, 62, 18,131,
+163, 70, 50,133, 60, 41,117, 66,144,130, 43, 68, 45, 80,193, 97, 66,164,142,158, 54,122,140,144,116,222, 35,162,163, 81,138, 38,
+ 70, 66,138, 52, 74,241, 58, 9, 47, 2,247, 41,172, 69,235,179, 67,148,203,157,255,213,105, 40, 10,185,221, 22, 24,231, 58,185,
+ 2,114,199, 55,107,117,103, 24,134, 82,208, 99,129,244,187,106,239, 53, 28, 75, 19,225,228,149,124, 1, 89, 18,133, 92,137,250,
+123,222, 65, 42,234,124, 19,142, 33,147, 65,126,196,215, 87,190,246,219,220,190,115, 74, 72,137,105,242, 72,173,114,156,234,228,
+ 73, 17, 94,188,123, 11,211,214,184, 40, 80, 82,114,235,112,193, 65,103,168,180, 70, 25, 93, 44, 99,243,155,175, 5,104,153,173,
+ 98,141,201, 42, 6, 31, 50,194, 33,201, 33, 43,179, 58, 34,250, 76,120,147, 33,171, 34,164, 15, 40,159,144, 62, 34, 99, 36,217,
+ 64,216, 58, 98, 63,145, 98, 36, 61,238, 81,151, 35,141, 75,212, 83,192,244, 61, 43,165, 56,190,125,204,187,222,243,207,255,213,
+ 31, 82, 77,129,197, 24, 24,183,150,205, 54,176, 14,137,175, 4,205,215,197,200,203,227, 64,167, 43,110, 45, 78,120,109,117,204,
+189,221, 57,239,143, 27,150, 49, 49, 34, 88, 13, 96,146,100,177,108, 57,124,229, 20, 35,178,150,250, 34,134, 76,222,116, 17,173,
+ 18, 47,220, 61,228,213, 87,110,241,226,141, 37,181, 82,217, 29,213,121,206, 46, 39, 98,140, 89,122, 86, 24,150, 62,100, 59,219,
+ 24,178,245,237,162, 49, 28, 29, 52, 44, 23, 13,139,174, 66,203,108,247, 89,107, 81,162, 40,115, 81,151, 5,213,104, 42,195, 65,
+219,228,117,145,115,220,174, 43, 86, 81,162,109,228,133, 69,195,127,244,218,109, 62,251,194, 17,211,100,209, 34,113, 57,120,254,
+226,131, 71,124,251,163,119,217,108,123,222,184,241, 2,127,247,243,111,178, 17,112,118,177, 99,181,106, 57, 58,232,248,239,254,
+254,239,241, 63,255,175,255,226, 74,158,155,126,217,211,250, 92,244,230,102,119,110,116,159,149,193, 61,175,168,107,160,106, 88,
+ 31,174,160,109, 81,181, 65,181, 53, 65, 23,143,136,178, 82, 58,139,154, 70, 75, 54, 46, 63, 95, 46,122, 38,155,232, 73, 76, 59,
+187,223, 80,217,144, 97, 83, 27,248,224,114,224,254,227,129,239,159,143,188,255,228,130,139,203, 93,150,246,201, 50,141,205, 46,
+117,206,255,176,253,238, 15,153,232, 40,136,134, 91,183,143,249,237,155,119, 72,186, 35,134,244,255,209,246, 38,191,150,101,215,
+153,223,111, 55,167,185,237,235,227, 69,151, 17,217, 49,147, 20, 51, 37,153,106, 76,169, 40, 74,150, 68, 89,178, 74, 50, 92, 5,
+215,192,240,200,255,131, 97,120,230,145,231, 5, 15, 12,123, 96, 24,112, 21,108,192, 48,224,129, 97,187, 44,168, 76, 74,114, 73,
+ 44, 50, 73,145,148, 72, 38,153,109,244,205,235,110,123,206,238, 61,216,251,190,251, 50,197,164, 26,144, 1, 4,162,121,209,188,
+119,239, 57,103,237,181,214,247,253, 62, 82, 8, 72,213, 34,165,196, 83,226,160,221,154,221, 90,101,123,175, 20,164,224,169,132,
+160, 15,150,153,117,172,186, 46,231,107,172,186,220,157,207,250,172,154, 95,173,243,239, 13,170, 92, 92, 26,133, 9,158,105,219,
+ 34,145,196,148, 24,212, 77, 22,170, 74,157,199,216, 34, 51, 33,188,208,120, 41, 89,198, 60, 13, 90,117,129,118,160,152,245, 30,
+169, 20, 42, 70, 68, 91, 17,139, 69, 25, 9,125,147, 85,233,243, 40, 9, 40,146,172, 48, 73,226,132, 32,216,200, 10, 73, 74, 18,
+ 39, 83, 78,236, 52,121,245,228,188,103, 21, 96,217, 59,140,144,184, 4,206,121,180, 51,116,206, 82,135, 44, 34,139, 41,230,157,
+125,112, 84, 34, 98,173, 5, 34,202, 90,100, 18, 52,210, 81, 37,145, 47, 27,160,138,137, 73, 12, 4,161,168,141,193,120, 75, 74,
+ 48, 20, 2,153, 28,163, 16,152,232,154, 58, 24,110, 84, 13, 35,183,162, 37, 49,244, 22, 29, 44,202,117,216,110,129, 13,142,137,
+132,147,229,138,241,160,166,213, 21,173, 18, 12,181,100, 90, 73,246,154, 58,175,111,154,188, 86,184,188, 78, 55, 40,223,205,179,
+ 59,149,134,108, 35,100,219,120,215,131,223,194,103, 92,204,117,162,109,242,117, 39, 85,174,143,170, 52,134,178,172, 88, 55, 26,
+ 10,227,183,129, 93, 27,140,183, 15,219,213,238,230,112, 92, 93, 33,214,241,211, 46,234,148,253,130,208, 37,231, 86,129,177,229,
+ 96, 35,232,140, 5,157, 71,242,107,219,163,149,198,197,128,172, 52, 34, 9,250,224,137,228, 46,183,213,117, 22,210, 5,207, 88,
+ 39,150, 41,114, 32, 21,214,152,236, 97, 12,145,181, 51,152,232,209,222,176,182,150, 14,232, 76,199, 88, 8, 6, 74,177,180, 61,
+149,212, 52, 66, 32,124,200, 63,166,132,243, 61, 3,149,119, 54, 10,168,131, 99, 15,137, 75, 9, 29, 28, 93,140,244, 62, 49, 70,
+ 82, 87, 13, 85, 8,236, 9,197,169, 12,204,131,202,111, 84, 42,124, 97,159,182, 34,135, 84,146,220,144,121, 68,158,194,214, 68,
+186,185, 24,196,166,187,143, 91,121,189, 16, 91,164,103,218,228, 66,171,242,198, 54,133,153, 93,222,104,177,201,118,239, 63,185,
+187,241, 54,139, 62,194,143,143,246,251,226, 31,254, 46, 85,163,233, 58, 71,138,217, 49,176,188, 88, 17, 34,236, 29,238,241,185,
+215,111,163,165,198,133,132, 78,146,195,253, 1, 90, 72,132,144, 37,218, 54,223,116,141, 18, 12, 90,141, 86,130,186, 42, 59,249,
+144,217,236,214,167,188,103,246,185, 91,143, 5, 42, 35, 67, 64,165,128,176, 30,225,178, 93, 74,184,128, 48,158,212, 57,150,243,
+ 21,189, 11,120,145, 48,179, 37,118,181, 66,122,136,222, 33,131,103, 52,153, 50,120,233,128,239,124,245,187,124,248,205,135,172,
+ 83,160, 78, 2, 29, 35, 79, 86,158,207, 10,197, 43, 85,197,211,149,227,105, 88,163,100, 71,131, 96,111,116,192,117, 52,149,183,
+124, 79, 4,214,109,195, 9, 9,191, 50,236, 92,159, 34,142,198,132,186, 34,145, 80, 38,176, 91, 41,186,121,199,105,128,107, 7,
+ 99,148,206, 94,221,139,206,242,236,124,205,247, 63, 60,163,235, 28,107, 27,112, 54, 79, 37, 82,204,135,154, 16, 50, 1,177,173,
+ 43,166,147,134, 65,157, 15, 68, 66,200,252,241,152, 10,219, 62,146, 95, 21,145, 71,249, 46, 96, 35,216,152,184,247,112, 65,191,
+ 10, 60,120, 48,227,254,189,103,252,249, 95,189,205, 7,207,206,152, 45, 44, 55,119, 26,246,235,154,163,131, 9, 73, 43,126,238,
+238, 17,186,217, 97,247,240, 58,255,209, 47,188,134,214,130,183,159, 93, 32,149,230,217,210,240,221,119, 31,243,243, 47, 93,231,
+248,211, 63,195,159,124,249, 43, 31, 37,204,253, 52, 58,245,143,143,225, 55,202,119,119, 69,107, 18,127,140, 10, 94,106,104, 7,
+ 28,238,143, 24, 13, 90, 68, 91,163,180,194,164,180, 77,136,139,128,204,135,197, 59, 26,166,178,172,209,128,123,157, 35,108,160,
+ 33,155,233,128,119, 89,125,190, 92,100, 63,113,232,242, 56, 93, 52,185, 59, 55, 54,119, 79,222, 95,153,132,233, 43, 10,228, 43,
+157,210,230,254,211, 10, 14,246,184, 51, 29,115,115,239, 0,106,201,163,222,146,170,154,161, 86, 60,178,158, 38, 88,230, 41, 50,
+ 86, 21, 82, 6,234,148,115, 38, 92, 12,136, 96,185, 88,175,248,206,147,115,152,149,207,107, 54,135,110,145, 5, 87, 33, 22,180,
+115, 17,231, 14,244,101,241,181, 34,139, 2,155,170,201,152,101,145,175, 36,165, 42, 66,180, 36, 33, 73, 41,219, 72,173, 7, 71,
+202, 49,213, 94,160, 10, 69,173, 71, 35, 43,129, 81,146, 80, 73, 86,165,128,172,125, 78,157, 11, 85, 69, 36, 97,149,190, 4, 9,
+ 7, 33,233,125,190,175, 29, 69, 35, 66,162, 79,130,245,218, 20,109, 84,192, 90,131,242,142,149, 51,168,232, 16,214,100, 26,104,
+138,164,224,209, 41,209,245, 29, 58, 6,170,224,105,132,163, 9, 61, 83, 36, 45, 48,137,121,157, 53, 44,147,189,161,203,147,176,
+ 16, 28,117, 48, 84,206,101,231, 71, 74,244,174,231, 90,138, 56,187,228, 64,106, 6,206,144, 92, 79,116, 6,172, 69, 4,159, 19,
+196,131, 97,119, 48,160, 15, 1, 65, 98,191, 30,208, 5,135,148, 50,195,110,180, 98,160, 21, 39,182,192, 98,184,194, 87, 80,229,
+181, 23,101, 18,170, 84,185,126, 82,158,190,202, 82,120, 59,155, 15, 96,155,105,236,166, 16, 55,162, 68,181,214,219, 76, 3, 91,
+ 82,232, 90,189, 21,202,109,186,243, 77, 96,204,102,220,158,210, 37, 15,109,147, 64,248,211, 45,234,155,229,253,120,148,111,214,
+ 84,226,239, 66,184, 44,108,193,249, 60,122, 39,209,199,252, 66,166,148,195, 86, 98,138, 40, 52, 81, 36,130, 40,191,142, 17,157,
+ 18, 85, 8, 44, 82,162,242, 22, 99,122, 68, 74,248,224,136,165,155,122,102,215,244,222, 50,148, 42,239, 52, 67,100,162, 53,222,
+247,200, 24, 25, 10, 65, 75, 62, 36, 72, 4, 49,120,170, 24,153, 58, 75,171, 27,156,181,232, 24,169,144,232,178,230, 78, 82, 17,
+189,163,115,129, 97, 74,236, 42,197, 66, 9,230,126,227, 83, 44,249,209,193, 21, 53,123,121,179, 93,151, 11,111,111, 74,151,144,
+242, 27,211, 86, 57,150,213,199, 45,102,179,173,202,232,165, 46, 73, 61,165,160, 19, 63,234,133,244, 41,243,228,125,252,123,198,
+113,234, 79, 20,211,253,218,239,253, 22, 90, 75,124,136, 40, 41,177, 54, 98,123, 75,211,182,220,186,117,192,181,241,136,103,179,
+ 14, 25, 97,111, 90,177, 55,200, 33, 60, 82,100, 76,175,146,185,131,175,148, 64, 41,145,193, 41, 34,175, 85, 98,140, 5, 50,147,
+139,151, 40, 86,142,252,251,249, 59, 33, 16,173, 39,244, 22,187,182,152,165,193,251, 64, 90, 91, 22,243, 62,167,231, 89,143,233,
+ 12, 23, 93, 15, 50, 50,235, 23,116,193, 51,216, 25, 83,239, 14,185,241,175,254,146,207,215, 53, 39,115,195,227, 51,195, 13, 39,
+120,147,138,159, 19,138, 87, 15, 70,204,206,123,206, 26,112,195,134,239,164, 53,207, 87,103, 28, 70,201,167,135,183,249, 25, 53,
+228,184, 64,112,118,218, 1,182,179,220,179,150,249,189, 25, 79,223,123,206,243,103,115, 46, 90,201,153, 84,188,122, 56,102,168,
+ 20,203,165,225,100,217,241,100,222,241,248,249, 34,251,133, 3,152,206,227, 66, 44, 70,137,172, 27, 24, 13, 42,118,199, 3,118,
+ 39, 45,131,186, 66, 43, 81,120, 70,145,206, 6, 58,235,233, 92, 22,240, 72,160, 77,208,219,128,183,129,197, 69,207,163,179, 37,
+ 23,179, 5, 15,159, 60,226,237,251,239,115,210,173,161,170,169,135, 19,244,206,136,119,151,150, 71, 1, 78,156,229,157,147, 37,
+ 43,227, 56,239, 60,198,122, 30, 44, 87, 60, 92, 27,144,130,231,103, 43,238,253,224,125,254,234,237,239,112,178,148,168,225,144,
+ 55,126,254, 13,190,246,231, 95,253,177,182, 54,241,147, 44,234,155,130, 30,210,214, 1, 10, 63,158, 42, 87,143,184,125,125, 2,
+170,197, 87, 21,163,182,165, 45,221,146, 9, 27,145,104, 4, 19,105, 98,228, 88,230,195, 98, 68, 18,149, 96,105, 29,235,116,165,
+131, 10, 33,119, 81,253, 42,227,159, 69, 25,159, 59,151,255,157, 13,251, 59,132,143,118,227, 90,110, 39, 3,162,236, 69, 21, 91,
+ 29, 77,165, 96, 56,230,100,103,135, 32, 43,188, 28, 82, 75,149,137,153, 85,205, 52, 37,116, 59,166,151, 31,150, 0, 0, 32, 0,
+ 73, 68, 65, 84, 68, 57,203,154,196,131,213,140,212, 45, 25, 36,203,136,132, 89,175,120,251,249, 41,103, 79,207,225,244, 28,204,
+ 34,143,248,157,223, 38,143,137, 43,150,192,166, 42,124, 11, 73, 40, 73,103, 85, 81,229, 87,178,202, 56,255, 16,208,170,130, 36,
+112, 49,101, 16,151, 20, 68, 45, 25,106,133,208, 2, 47, 65, 10, 73,146,130, 46, 9,180, 86,244, 46, 3, 90,214, 17, 86,101, 28,
+111, 99, 34,181, 13,222,231,189,242,178, 60, 51,214, 34, 15, 31,215, 49,178, 10, 89, 95,227,124, 94, 69,197,126,133, 11,249,192,
+110, 92, 79,109, 13,206, 91,132,144,196,100, 81, 66,162,162,197,251,136,116, 61, 42, 6, 68,232,104,131,167, 1, 92, 48, 76, 19,
+ 88,179,100, 39,102, 58, 95,244, 22,101,215, 40,179, 38,121,135, 54, 29,149,115, 8,111, 17, 49, 48,241,158,224, 61,123, 82,242,
+217,221,107,156, 46,207,105,189,167, 74,130,140,197,202,225,153, 83,221, 32, 82,100, 44, 53,109,193,187,106, 41,177, 49, 80, 41,
+137, 11, 1, 37, 36, 59,117,195,233, 98, 85,130,137, 68, 46,210, 87, 69,151, 27,107,241,230,186, 81,133, 74,103,202,179,190,183,
+ 37,169,176,172, 28,219,122, 27, 10, 22, 92,238,196, 99,216, 10,165, 55,226, 99, 81,158,247,170, 68,105, 27,183, 61, 40,108,198,
+239,136,172,143, 82,250,167, 88,212,181,222, 98,237, 98,202,106,208,210,117, 95, 22,187, 75,225,129, 33,149,194,110, 17,180,149,
+102,237, 93, 73,118,203,129, 3, 74,128, 8, 14, 79, 22,182, 12,100, 66, 57,139, 41,222,192,133, 91,103, 36,108, 76, 92,248, 14,
+235, 3,193, 27,214, 49,112,144,114,172,106, 8,129, 29,161, 72, 49,160,145,168, 80,216,190, 18,140,143,232, 8, 59, 90, 82,187,
+144, 69,166, 41,191,245, 41, 4,156,204,187,238, 20, 34,227,186, 98, 46, 19, 58,229, 16,146, 71,193,103, 62,188,247,219, 44,242,
+ 20, 75,113,247,219,241, 9,105, 11,228, 15, 62,139, 37,172,221, 90, 24, 68, 33, 8,109, 34, 93, 55,227,149, 84, 70,237,227, 97,
+126, 29,155, 58,255, 25,235,254,142,120,223,171,133, 60,254,200,194,254,230,239,255, 30,191,240,139,159,166,183,158, 80,110, 72,
+211, 89,108,239,184,118,243,144,227,221, 49,141, 84, 44, 59,203,238,168,229, 96,212, 50,104,117, 86,189,139, 92, 8,107, 41,242,
+186, 73, 10,116,233, 16,124,200, 5, 93,144, 49,167,174,160, 78, 19, 89, 9, 46, 55, 95, 91,200, 59,162,208, 91,170,181,195,134,
+ 64,176,185,192, 69,231, 73,189, 39, 25, 71,215, 25,122,219,115, 26, 29,115, 25,121,183, 91, 97,154,138,195, 79,223, 34, 62,152,
+209,252,229, 35, 94, 29, 31,240,235,205,136,253,139, 53,225,169,231,200, 75,150, 83,201,122, 92,241,158,247, 40, 37,185, 23, 61,
+231,227,134,119,149,224, 66,193,177, 82,140, 85,195,129, 28,178, 47, 43,118, 6, 3,166, 66,193,243, 21,247, 79,231, 92,191,189,
+195,139,183,246, 56,184,177,203,145,208, 92,107,107,148, 75,216, 62,219, 35,133, 43, 89,238, 87,248, 17, 66, 10,234, 58,187, 3,
+118,198, 3,246, 38, 67,246, 39, 13,131, 90,151,107, 59,255, 29, 23, 2, 49, 6, 66, 74,212, 82,146,124, 98,170, 18, 47,213, 53,
+ 79,103, 29, 31, 60, 56, 99, 54,155,227,188,229,112,111,196,231, 62,117,147,155,215,142,153, 14,119,217, 29, 78, 72, 69, 93,127,
+231, 96,194,106,109,120,126,182,162,209,154, 51, 27, 88,199,196,193,225,152,221,189, 17,200, 12,117,154,159,204, 57,174, 27,246,
+ 38, 83,122,159,241,161,175,191,242, 2,191,248,239,252, 60, 95,249,202,159,125,100,191,254, 19, 47,232, 87, 21,240,155,164,171,
+205, 84,235,111,163,202,141, 6,152,193,132,209,116,196,167,247, 6, 28, 14,106,118,107,205,245, 90, 49, 80,138,147,165,201, 15,
+ 78,103, 49, 46,146,148,230,104,216, 48, 80,130, 86,100,208,202,194,231, 96,161,188,251,235,243, 67,212,102,209, 25,190, 56, 82,
+148,222, 78,202, 54,209,176, 31,103,214,111, 86, 7,170, 20,116, 41,178, 85,174,153,192,141, 99,216, 25,195,100,159,231, 85,205,
+141,102, 68, 39, 4,123, 77,205,185,113, 56, 96, 71,193,137,181,248, 24,121,107,121,206,217,226,148, 39,103,231, 60,158,157,242,
+214,163, 51,158, 62,124, 2,179,243,188, 46,251, 27,124,138,205, 1,191,220,198, 77,181, 77, 2, 67,208,167,128,144,130, 73, 53,
+192,166, 68,163, 20,178, 76, 71, 68,138,136, 24,243, 72, 94, 66,244,130,145,202, 16, 40, 33, 37,169,146,132, 36,137, 74, 98,124,
+202, 63,146,105,102, 46, 38, 58, 31, 17, 42, 23,241, 40,243, 10, 37,175,128, 99, 30,173,147, 19,212,164,247,172,124,160,235, 60,
+209, 25,146,136,132,110, 13,206,144,130,205, 25,234, 66, 18,162, 45,169,184, 14, 21, 19,214, 27,218, 70, 66,176, 12,136, 4,223,
+ 83,153, 30,229, 3,209, 59,154, 20,113, 33,128, 55,200,224,136,166, 3,103, 17, 46, 79,236,156,235, 24, 34, 32, 56,132, 16, 57,
+ 47, 66,192,172, 95,229,116,199,226, 67, 15, 36,148, 80, 40, 18,158, 88, 66, 54, 5, 42,101,105, 70,231, 12, 29,177,120,230, 19,
+ 54, 6,150,214, 51,105,106, 22,222, 95, 97,244,139,220, 41,111, 28, 36,155,113,249,102,148,190, 17,198,165,194,160,135,237,245,
+181,217,207,111,148,242, 87,121,241,226, 74, 81,247, 37, 20,198, 20,198,130,210,249,218,221, 96, 2, 67, 73, 51, 68,129,119, 63,
+101,161, 92, 91,129, 87, 48, 29,230,125,238,168,217,226, 80,155,234,114, 92,128, 80,121,212,229,242,233,105,181,238,145, 85,131,
+113, 6,161, 42, 70,186,194,186, 30, 17, 35, 50, 37,134, 41, 18, 17,212, 41,208, 71,199,202, 59,148, 80, 24,111, 89, 59,139,137,
+145,148, 18,141,212, 76,131,197, 91,199, 80,107,134,192, 50, 6, 14, 85,141, 53,153, 24, 85,107,149,167, 5, 62,160,101, 22,105,
+212,193, 51, 78, 20, 14, 61,151, 66, 5, 67,202, 76, 99, 18, 6,232, 82,204,227,254, 74,210,155,136,237,203,205, 31, 93, 17, 76,
+168,252,117,171,143,189, 54,118, 51,122, 44, 63, 23,229, 77, 9, 69, 81,155,228,246,230,221, 60,232, 54,252, 71, 41,183,209,126,
+ 54, 67,117,127, 44,113,174, 41, 40,193,205,195, 74, 21,145, 71, 16, 31, 41,236,191,250,235, 95,224,248,250, 1, 62, 38,250,117,
+ 30,191, 59,147,245, 12,187, 59, 35,110,237, 78, 74,195,162,105,180,162,106, 84,222, 53, 35,112, 49,146, 82,188,124,206,233,130,
+131,141, 41, 96, 93,192,197,108,187,202, 76,130, 13,140, 41, 79, 43, 68,140, 40,145,168, 82, 94, 45, 57,231,145,198,209,185,236,
+231,118,214, 97,230, 61,177,239,113,171, 53,157,181,204,214,134,185,237, 89, 24,195,105,176,236,191,120,155,157,207,222,226, 43,
+127,254, 13,222,250,139,251, 12,142, 21, 47,220,124,145, 23,118, 26,252,196,240,245, 39, 6, 33, 34,143, 71,112,126, 56,196, 95,
+159, 50, 18, 2,150, 6, 81,107,226,193, 49, 15, 14,199,156,141, 43, 6, 71, 35, 26,169,209,109,141, 58, 24, 50,108, 27, 14,238,
+236,178,127,123,143,118,210,210,122, 24,161,168,155, 10, 85, 41, 70,114,139,207,140, 49, 96, 67,164, 25, 86, 76,198, 13,215,246,
+134,220,220, 27,113,109,119,196,193,116,192,100, 88, 51,110,106,180, 86,249,181, 8,145,152,242,136, 94, 10,201,180,209,236,141,
+242,104,252,134,150,200,121,199,255,246,111,190, 75,112,145,122, 48, 96, 50, 30,241,194,241,148, 59,187, 35, 82, 76,188,253,195,
+ 71, 44,206, 47, 16, 62,112,234, 37,119, 38, 53,235,103, 75, 98, 31,217,213, 21, 55,246,134, 44, 58,207, 98,101,105, 27, 77,191,
+178,200, 8,211,225,128,225,112,192,218, 71,108,200,195,162, 81, 91,241,218,171, 55,240,178,229,251,127,253,221,143, 20,242,191,
+ 79, 65,255,219,254,236,175,254,193,239,242,202,103, 62,203, 7,111,191,253, 9,171,162, 79, 56,164, 14, 91,216,221, 37, 76,134,
+252,236,222,152, 73, 83, 19,132,100,164, 4, 74, 73,146, 8, 60,176, 41,143,203,215, 38,251,213,119,106,142,170, 28, 8,178,142,
+145, 93,173, 8, 4,158, 47,138,255,184,187, 2, 19, 65,111,221, 35,162, 46,162,164, 79, 56,100, 92,213, 4,184, 50, 5, 31, 76,
+144,119,239,114,243,238, 45,210,225, 17,118,178, 83,114,229,107,180,210,153, 1,159, 34,199,117,131, 35,160, 17,168, 20,121,104,
+123, 78,251, 25,166,239, 88, 60, 62,229,236,222, 3,220,114, 1,203,213,143,159,190,109,178,224, 55,154,157,186,216,251, 66,118,
+ 4, 5, 41, 88,121,203, 78,221,162,132, 68,136, 92, 72, 66, 12,104, 85, 19, 69, 98,131,126, 10, 82, 49, 44,135,114,155, 68,110,
+ 10,149, 32, 59,234, 36, 65,102,124,240,218,102, 17,108, 42,207, 64, 81,236,136,202, 7,188,144,136, 50,117, 77,198,230,224,167,
+222,129,239, 73,222, 18, 76,143,138,158, 24,115, 98,156, 19,130,228,123,156,207,137,107,222, 88, 76, 74,232,148, 8,201, 51, 66,
+226,125,207, 40, 74,186, 16,169, 69, 34,152, 14,153, 32,218,142, 58,120,162,115,140,200,235,170, 97, 10,196, 4, 67, 85,177,246,
+134, 86,230,152, 85, 73, 22,232,170,242,236, 81,100,194,168, 32,139,182,129,156,248,137,192,166,188,231,246,228, 6, 83, 8, 8,
+ 41, 98, 98,194,246,150, 73,211,240,104,181,162,169, 42,236,198,238, 38, 85, 41,172,113,155, 60, 88, 95, 81,158,214,114, 11,166,
+145,106,155,247,177, 57, 52, 74,145,109,145,155,149,173, 40,249, 32, 27,101, 59,229,227,189,223,254, 61, 81,166,224,179, 85,110,
+ 28,155,186,248,229, 29,136,159,150,250,125, 88,252,122,169,202, 59,131,166,201,113,129, 27,127,173, 42,167, 27,228,149, 19,122,
+218, 34, 38,171, 10,107, 28, 70, 10, 86,214, 16,188, 97, 90, 88,215, 3, 9, 42, 9, 38,194,179,136,129, 90, 72,214,193, 99,202,
+232,109,217,175,243, 69,137, 64,250,142,118, 35,138, 43, 23,243, 68,192,204,244,140,235, 22, 17, 29,201,123,150,222,103, 7,124,
+204, 35,185, 29,157,185,191, 31,190,242, 58,215, 46, 78, 73, 73,226,137,140,145, 88,160, 67, 32, 69,194,186,196, 66,101, 72, 78,
+ 40,202, 79,187, 25,167, 7,159,187,244,166,222,146,134, 40, 86, 6, 10,216,223, 23, 81,157, 43,132, 58,183, 81, 2,151, 55,126,
+227,245, 18, 69,100, 81,169,237, 30,101,179,123,140, 41,119, 8, 27, 59,197,213, 7, 65, 83,127,212, 94, 1,219, 36,162,205,184,
+176,124,224,183,254,201, 63,206, 56,221,144,112, 54, 95, 64,147,209, 0,129, 98,111,119,140,150, 10, 37, 21,141, 86, 72, 33, 75,
+ 87,158,227, 83,157,203,162,176, 90, 73,154, 90,150,162, 14, 62, 70, 58,159,149,236,133,220,139,137,145, 40,178, 47, 85,196,144,
+ 35,143,197,150,123,109, 66,192, 46, 76, 22, 9,245,142,213,202,176,156, 45, 56,159,175,152,245, 29, 51,103,145, 41, 18,157,101,
+109,122, 92, 76,236,190,112,140, 62,222,225,255,253,163,175,113,241,112,201,247,186,142,212,172, 9, 56, 62,115,227, 22,111, 54,
+137, 39,120,254,236,241, 26, 63, 55,156,159,175,169, 5, 48,110, 25,197,196, 99,179,160, 11,129,190,213,204,118, 71,156, 54,146,
+147,169, 34,222, 30,179,216,169,176,149,162, 54,121,100, 41, 7, 53,205,184,166,110, 52, 35, 89, 49,172, 53,173,146,180, 62, 50,
+ 33, 49,110,107,166,147,150,107,135, 99,246, 39, 3,246,166, 3, 70,131, 26, 93,108,128, 90,201,178,126,141, 36,159,213,255, 82,
+ 8, 26,173,153, 12, 42,246,234,138,147,101,199, 35,165,248,242,215, 63, 32,133, 28,172,209,212, 53,195,129,226,217,188,103,185,
+116, 12,147,228,116,102,153,205,206,120,180,154, 49, 11,137,111,254,240,251,124,240,236, 62, 39, 23, 39,188,251,240, 62,143, 31,
+157, 48,191, 88, 48, 95,204, 57,123,122,206,163,135, 79, 57,125,126,206,197,197,140,231, 39, 39, 44,214, 29, 85,173, 8,174,167,
+235, 12, 54, 9, 6,187,215,137,202,242,224,189,123,151, 0, 69,254,158, 69,253, 71,125,223,124,187,191,180,124,240,222, 7,208,
+175,255,238, 5, 93,235,220, 1, 31,102,129,220,205,166,166,173, 50,238,116, 32, 37, 90, 87,120,231,240,222, 49, 95,153,188,230,
+ 27,100,178,216, 65,147,115, 35,234,148,232,125, 96,225,115,126,184, 57, 95,110, 35,135,109,233,188,170, 97,238,218, 69, 41,146,
+155, 46,253,147,196,126, 82,228,191, 55,220,129, 23,142,121,243,198, 49,135,211, 67,218,193,136, 51,213,146, 68,158,208,205,234,
+150,167, 40,166, 34,113, 18, 35, 67,239, 56,247, 14, 17, 19,111, 89,151, 31,204,125, 15, 23, 11,152,205,126,124, 66,221,230,245,
+240, 30,212, 32,127,174, 65,102, 71, 64, 44,234,105, 37, 8,206,211, 14, 90, 66,112,104,169,177,193, 51,168,106, 20,153,236, 25,
+188, 65, 11,149,215,103,185, 68, 19,108,160, 86, 50,219,172,109, 66, 40,137,136, 9, 93, 30,105, 61, 80, 33, 72,133, 0, 42, 76,
+204,114,158,144, 15, 83, 90,103, 13, 11,189, 39, 57,159, 5,202,102,141,240, 14, 65,200,196, 59, 34,214, 5, 98,200, 17,170, 85,
+ 57,124,120, 41,192,245, 68,233,169, 19,120,231, 24,162, 89, 70,207,184, 30, 16,189, 67,235, 1,157,235, 25, 75,133,113,150,125,
+ 41,209,128, 70,160,133, 68,138,204, 37,168,164, 32, 68, 79, 85, 38, 9,163, 36,240, 66,228,175,131, 72, 31, 44, 72,141, 38, 17,
+ 81,185,112,147,138, 51, 89, 32, 98, 66,165,136,147,153,247,174, 8,244, 33,177,234, 13, 35, 93,115, 70,164, 74,121,122,145, 68,
+177,153, 41,181, 85,160, 20, 23, 28,141,206, 98, 55, 41,182, 19, 42, 33, 62,122, 77,109,158,219,151, 93,186,222,142,211, 55,142,
+ 37, 23,114,189, 8,108,187,247, 80,108,112,107, 91,106, 72,209, 86,249,248, 83, 42,234, 74,231, 34, 30,200,114,125, 84, 62,177,
+232,156,129,158,199, 21, 41,183, 8, 66,111, 21,130,177,132,164,152, 34,221, 79, 20,123, 67,222, 95, 91,107,105, 73,104,153, 71,
+ 64,144, 72, 41,228, 44,246,222,226,163,203, 14, 2, 2,131, 2,132,217, 67, 48,174,114,150,179, 46, 23, 56, 68,124, 25,239,235,
+ 20,105, 35,204,108,192,133,200, 72,128, 45,121,221,183, 79,159,179, 44,144,148, 81,132, 69,121, 23, 12,130, 25,137,133, 16, 44,
+125,190, 32,214, 65,112,238,242, 41,249, 50,150, 53, 94, 21,192,197,210, 89,171,141, 68, 49, 67,248, 83, 17,187, 37,114, 52,235,
+102, 36, 35,139,176, 78, 94, 17,207,249, 66,170, 43, 88, 81,124, 25,185,200, 43,116,174,116,133,207,189,177, 91,136, 43, 66, 62,
+228,246,128,193,214,162,243,251,255,233, 31, 98,186, 28, 44,225, 92, 32,186,192,238,206, 36,159,193,146,164,109,107, 14,134, 45,
+195, 90, 83,215,217,141, 16,203, 80,161,210, 32,146,160,105,178,133, 45,199, 80, 71, 92, 12, 24, 31, 8, 41, 71,168, 38,145,178,
+133, 80,230,216,220,232,179, 18, 28, 4,222,121, 92, 8, 8, 31, 57, 95,245, 44,214, 22,103, 29,171,222,240,164,235,120,188, 94,
+115, 97,123,214, 9, 92, 37, 56,235, 58,150,214, 16, 43,197,203, 47,189,192,201, 98,205,215,254,215,111, 32, 6,146,186, 18, 52,
+119,246,249,186,142, 28, 72,184, 62,217,227,243,215,111,242, 89,147,247,204,223,127,106, 8, 35, 80,141, 98, 60, 25,179,127,112,
+204, 75,135,199,188,116,227,144,113,165, 9, 90,114,237,230, 14,211,189, 17,207, 47, 86, 72,227, 72,215,166, 84, 71, 99, 70,147,
+134,145, 84, 84, 97, 43,142, 22, 62,162, 67,162,173, 85,254,248,184,165, 29,214, 12,219,154,166, 86,217,238, 87, 28,142, 46,101,
+191,120, 12,161,192,167, 4, 77,165,169,106,133, 20,138,243,147,158, 7,167, 11,118,247, 7,156,156,175, 49,103, 11,170,170,230,
+151,111,236,241,198,241,148,135, 23, 29, 51, 99,120,116,190,224, 7,247, 63,224,157,179,167, 44,187, 30,223,205,232,215, 38, 15,
+ 98, 18,132,228,115,183, 20, 12,203,213,138,179,229,140,179,197, 57, 23,171, 57,103,139,115, 78,215, 51,158,207,207,184, 88, 94,
+240,222,179, 71, 60, 57,125,198,129, 24,146, 82,228,197,151, 94,230,223,252,201,159,254, 72,251,122,250, 49,133, 94,252, 29,138,
+ 61,139, 89, 46,156,159, 52,221,251, 81,140,133,241, 4,142,247, 47, 73, 93,183,171, 42, 91,122,145,116, 36,250,190,207,217, 0,
+120, 30,117,219, 16,142, 78, 40, 38,141,100,110, 3, 41, 69,154,148,144,214,243,238,179,115, 46, 51, 77, 47,177,155, 50,143,224,
+155,122,171, 92, 86,242, 71, 79,193, 54,201, 92, 41,193,104, 10,135,187,220,190,118,147,233,104, 23,163, 52,162, 26, 48,208, 21,
+ 23,190,116,114,222, 17,180, 98,153,224,209,122,141,171, 26,190,231, 45, 31,244,235,124,162,247,174,196,124,174,243, 14,253,111,
+211,199, 84, 58,123,158,147, 7, 74, 38,134, 93,231,102,106,227,190,145, 18, 19,242, 65, 77,132,192,176, 25,210,185, 30,169, 21,
+ 34, 69, 26, 85,147, 66, 94, 51, 58, 23,114,132,181, 84,185,185,241,145, 86,103,129, 43, 34,195,193,214, 33, 18,123, 75, 16,153,
+246,104,215, 46, 11, 92,125, 32,134,132, 36, 18, 58,131, 95,175,243,218,109,221, 33, 66, 79,112,150, 16, 60,193, 58, 2,129,228,
+ 18,142,172,175, 81, 50, 93, 90, 12,125,112, 89,180,236, 28, 49, 69, 26, 50,113,174, 10, 17,157, 32, 9,141,136, 14,180,162,139,
+130,166, 16, 2, 13,130, 70,105,230,209, 83, 41,133, 41, 13, 76, 16,138, 4, 52,222,177,146,154, 58, 88, 92,180, 40,153, 93, 58,
+ 97,147,213, 65,194,136, 76, 43, 13,100,124,109, 37,242, 33, 65,165,242,185,166, 72, 77,100,105, 29, 61, 25,128,165,180,102, 34,
+ 37,149,210,140,128,186,174,104,148,206,221,127, 42, 66, 56, 87,158,223,186, 52, 85,233, 10, 54,124,147, 13,162,244, 86, 32,183,
+177, 76,166,184,213,157,108,224, 67,186, 8,235, 54, 72,114, 85, 72,114,118, 85,252,244,153,191,207,170,251, 9, 23,245,170,134,
+122,152, 11, 77,211,108, 59,197,182,222, 6,202,167, 43,116,164, 13, 98, 79,177, 21,127,197, 77, 23, 26, 47,141,248, 89,168, 16,
+ 57,146, 9, 85, 41,116,244, 4, 23, 80, 49,226, 98,230,100, 43, 41, 89,118, 75,100, 74,180, 41,177,178,134,155,186,206,187,250,
+224,217,211, 53, 34,194,210, 57,166,170,166,143,150,228, 2, 77, 65, 67, 6,231,240,198, 16,146,160, 46,225, 35, 73,194,158,212,
+204,125,126, 19,155, 4, 39,197,114, 23,145, 88, 41,104,149,224,153, 79, 44,125,196,169,172, 88, 78,137,220,145, 75,181, 85,178,
+167,210, 29, 43,182,156,235,203,184, 74, 93, 10, 58,249,231, 37, 41,232,114, 85,177,185, 24,160, 88,221, 82, 81, 12, 23,177, 81,
+239, 33,169,226,111, 47,175,175, 42,212,169, 75,235, 91, 9,153, 73, 42, 95,116,155,220,223, 16,248,204,239,255, 7,124,254,115,
+159,230,226,124,133,174, 43,136, 25, 12,147,130, 96,119, 60,100, 52,108,217, 27,182, 28,140, 26,154, 70,149,125,176,192,167,132,
+136,100,116, 36, 89, 36,183,233,212,125,204, 16, 26, 98,188, 92,253, 9, 41,168, 68, 14,222,169, 68,217,239, 9,208, 62, 18, 67,
+164,235,115, 32,137, 89, 90,170, 69, 71, 88, 25,132,181, 44, 58, 75,111, 45, 74,228,220,251,211,174,103,213,119, 57,132,103,210,
+242,194,155, 47,242, 23, 95,121, 11,255,175, 79,216,105,160,185,214,210, 87,160,158,206,249,225,122,205,119,194,146,163, 73,195,
+241,235,159,226, 55, 62,253, 38, 95,184, 46, 56, 28, 40,102,149,228,177, 8,132,228, 56,237,215,116, 54, 32,146,162, 70,176,190,
+232, 89,156, 46,152, 55, 53,211, 59,135,140,174, 77,208,149, 66, 70, 8,179, 30,177,242,132, 62, 91,212,130, 11, 36, 34,177,146,
+184, 70,163, 27,141,174,213, 37, 77, 48, 21,149,127,138, 9,235, 2,179,222,177,234,242,148, 66, 73,137, 82,146,189,241,128,247,
+159,102,202,156,112, 6, 85,107,174,239,141,104, 22,145,167,203,158,135,103, 51,254,242,222, 51,158,159, 93, 96,157,167,110, 91,
+ 22,231,115, 30,159, 95,100,228,104, 74,204,215, 61, 54,122,198, 74,179,182,129, 85,112, 24,239, 49, 49, 11,150, 58,239, 89,245,
+249, 64,112, 54, 95,241,131,231, 11,124,223, 19, 19,204, 23, 61,251, 42, 59, 19,170,113,203,151,126,251, 55,248,211, 47,255,233,
+223, 40,232,252, 67, 88,241, 31, 47,238, 87, 57,241, 63,142, 25,223, 78,224,230, 33,236,142,178,216,118, 80, 65,128,164, 5, 85,
+204, 29,166,113,129,150,200,147,181,229, 91,103,102, 11,136, 41,207,150,147, 36,120,169,202, 99,230,117,103,121,235,225,156,228,
+ 74,254,244, 38, 17,173, 42, 99,209, 16,202, 90,176, 60,131, 62, 30,125,250,241,157,250,100, 47, 7,172, 92,191,201,231,118,247,
+121, 97, 58,229,246,100, 66, 91,124,226,247,205,106,203,151,112, 22,103,123, 80,138,133, 47,241,157, 17, 88,157,230, 46,219,153,
+252,255,157, 45, 63, 6,136,250, 4,171,176, 32, 79, 66,243,252, 59, 23,121,155, 69,154, 84,242, 18, 84, 21,148,192,200, 72,240,
+185,161, 9,209,163,117,133,148,185,203,148, 34,147,228, 66,240, 52,149, 98,237, 92, 97, 33, 68,214, 38,175,107, 86,189, 37, 57,
+143,174, 43, 98,116, 68,227,179,107,207,122,100,136, 8,219, 35, 41, 2, 97,107,137, 46,107,137,172,237, 72, 27, 93,141, 16, 89,
+ 52,231,109,137,255,149,184,148,133,118,189,207, 59,118,235, 60, 54,250,146,171, 18, 49,174,167, 18,146, 62, 4, 26,145,136, 50,
+ 35, 93, 91,169,168,165,162,139,158, 29,169, 88,199, 44,108, 91, 69,135,143, 1,169,179,224,109,229, 45,161,106, 72,209, 97,144,
+ 68, 33,104, 82, 98, 22, 61, 41, 69, 66,140,116,209,229, 41, 79, 10,120, 66, 57,124,230,103,148, 66, 98,163, 69, 36,129,141, 1,
+169, 4, 38, 36, 90, 37, 25, 11, 65, 43, 21, 83, 37, 25, 40,137, 21,137,105,147, 51, 60, 76, 42,224,154,250, 74, 33,142, 92,201,
+ 1,185,146,183, 46, 75,179,235,220,150, 62,154,200,236,252, 65,137, 87,173, 84, 17, 94,151,110, 93,108, 60,242, 64, 23,242,129,
+ 78,144,163, 92,131, 67,255, 68,133,113,170,201,167,197,205, 56,160, 85,249, 11,219, 20,163,171, 39,242, 90,111,189,217,165,225,
+ 68,139,162,236, 43, 76,115, 27,144, 56,134, 90,178, 19, 5,115, 11,199, 98,197,168,110, 51, 76,205, 25,164,108,216, 19,154,167,
+221,146,157,170,162,179,134,144,224, 72,215,216, 16,153, 8, 24,171,154,174,236, 89, 14,116,205,210, 91,118,208,204,177,172, 67,
+ 68,133,136, 38, 43, 42,165,246, 44, 13,184, 74,163, 98,226,185,235,144,149,102, 29, 50,225,105, 71, 42,102,228, 83,145, 36,135,
+ 20, 88, 34,123,173,102,209, 59,162, 86, 89,229, 62,110, 96,105,182,147,139, 80, 96, 49,169,124,157,254,202, 14, 79,149, 31,211,
+ 21, 79,162, 17, 48,186,178,155,217, 16,235, 98,177, 58,216,176,213,189, 13, 11, 41,206,232,252,111,153,152, 39, 35,148, 92,236,
+170,164,106, 73,189,125, 52, 71,113,249,190,189,121,231, 38, 49, 65, 59,108, 16, 90, 98, 93, 32,153,128,115,185, 91, 81,149,204,
+160,147,178,247,174,149, 40, 78,164, 44, 56, 49, 62,162,138,201, 89,108,222,234, 50,136,137, 69,176,185,137,154, 23,136,156, 52,
+152, 4, 82,230, 49,161,244, 33,171, 86, 59,131,155, 25, 84,111, 11,203,191,104, 79, 66,192, 6, 71,159, 18,125,111,176,206, 32,
+108, 32,166,192, 94,219,242,176,115,252,233,187, 15,185,253, 70,197,200, 66, 67, 66,156,172, 56, 57, 26,113,231,229,215, 89,156,
+ 61,225,191,139, 29, 47,135, 57,191,110, 87, 28, 31,222,230, 75,117,203, 23,206,159,243,131,229,115,238,173, 35, 95, 94, 95,112,
+ 18, 3, 79, 42,201,207,238, 28, 51,158, 52,168,107, 19,246, 14,247,152, 30,140,144, 74, 98, 66,194, 45, 58,170,149,195,150,117,
+ 4, 54,167,186, 5, 45,112,149, 36, 21, 26,156, 14, 9,225, 35,158, 72, 40,112,165,232,193,185,196,122, 29, 80, 36, 68,157,201,
+ 93, 49, 74,222,190,191, 32,185, 72,171, 96, 58,108,121,218,121,236, 78,205, 63,123,105,194,119,204,138,127,241,116,129,143, 62,
+ 31,168, 26,197,155,159,191,203,247,191,255, 61,238, 61, 95,114,115, 84,241,107,135, 55, 96, 26,249,198,124,206,176,110,217,175,
+ 7,220,222,191,198,141,233,148,115,111,121,124,126,142,241,134, 85,183,228, 83, 71, 13, 7,163, 29, 46, 86, 75,158,246, 11,246,
+116, 67, 45, 34,157, 2, 21, 2,194, 68,190,248, 43,175,241, 95,255, 45, 29,122,250, 17,123,247,159,152, 5,174,109,217,185,123,
+141, 52, 26, 35,134, 3,122,173,241, 41, 17,130,227,161, 75,220,174, 61,206, 67,231, 28, 30, 79,146,101,229,197, 71, 57, 16, 17,
+248,234,188, 76, 2, 93,159,159, 47,178,192,155,218, 9,248, 46,239,215,171,186, 60, 92, 55,172, 8,121,217,204,255, 77, 21,190,
+206, 35,247,107, 59, 48,157, 66, 91,115,176, 59,101, 58, 24, 34,133,228,184,170,232,206,230,249,243, 89,207, 11,167,163,221, 10,
+135,165,132,174,227,118, 93,113,214,238,178,182, 43,234,182,194, 74, 9,135, 83,120,210,125,242, 42,162,169,175,156,144,178, 32,
+ 12,116, 1,159,100,245, 51,115, 67, 14, 68,175, 97,217, 97,125,228, 98,144,223,161,131,225,148, 69,183,196,200,142,189,241, 1,
+189, 89,210, 52, 67,132, 23,172, 18,168,186, 97, 57,207,182, 71,173, 43,250,232, 81, 73,210, 69,143,181, 61,131, 74, 99,157,165,
+ 81, 67,186,213, 18,165, 21,237,176,194,175, 59,162,179, 72,145,240,214, 33,149, 36,164,128, 3,188,181,101, 5,144,175,152,222,
+ 25,180,200, 90,136,149,235,240,222,145, 80,116,209,160, 82,142, 16,237,172, 97,208,140, 9,101, 84,190, 38,209, 6, 11, 85,139,
+148,208, 91,195,245,193,148,179,110,206,158,144,172, 98, 96, 32, 20, 94,128,179, 61, 75,165,217,169, 26, 30,117,107,118,155, 66,
+243, 75, 48,147, 2,233, 61, 81,105,188,136,248, 62,215, 0, 71,194,199, 72, 93,215,152,148,178,255, 30,193,146,148,209,204, 74,
+ 81,167,200, 16,113,169, 37,104,154,124,184, 59,239, 35, 71,117, 13, 82,226,101, 96,169,134, 4,105,179,253,176, 41, 5,217, 95,
+205, 89,151, 91,139,166,247, 31, 93,169, 92,118,249, 62, 83, 70, 55,251,246,141,152,122,115,237,106,153, 39,189,227, 97,190,134,
+157,253,136, 44,250, 39,243,173, 46,133, 56,216,140, 36,213,117, 25,161,139,143, 65, 25,202,233,164,119,249, 11,118,229,215, 38,
+ 92, 25, 71,196,178,128,245, 68,217,162,116, 69,178,145, 29,237,104,172,162,247, 29,187,186, 34,106, 65,111, 87, 64, 98, 42, 20,
+143, 86,107, 14,116, 22,125,116,166,131, 42, 39, 13,137,166, 98, 32,171,242,224,137, 52, 90,208,123, 71, 29, 35, 78, 64,231,125,
+ 14,134,145, 18,150,134,117,163,209,192, 89,128,161,208,168, 16,168, 10,157,163,147, 10,161, 21, 9,193, 72, 87,132, 4,159,169,
+106, 46, 66,224,212,184,172, 20, 29, 54,249,164, 54,172,179, 26,119,163,162,189,138,105,213, 34, 23,225, 88, 66, 0,130,206,150,
+154, 77, 97,151, 41,167, 59,169,226,139,244, 97,235, 93, 44,118,176, 75, 76,108, 36,191,222,182,252,219, 67,189, 45,248,151, 1,
+ 26,155,255, 75,111, 11,122, 57, 83, 93,187,125,227,242,115,202, 18, 18, 81, 38, 83,249, 66,148, 81, 18,124, 22, 31,110,180, 67,
+ 66,228, 63,171,149,184, 76,221,173,149,200, 16, 37,178,117,205,167, 88, 2,177,242, 9, 53,164,148,247,237, 72,162,207, 73,122,
+193, 6,154,148,149,238,110,237,208,197,121, 96, 0,227, 29,198, 88,214,125,199,172,235,145, 36,132,179, 4,235,145, 36,130,150,
+ 12,199, 3,190,255,193, 3,150, 95,153,243,149, 99,201,254,169,229,215,247, 26, 94,126, 97,200,226,241,130,123, 23,223,224, 66,
+193,162,210,236, 69,248,111,215,107,126,121,239,144,234,180,227,101, 85,243,185,163,215,249,247,142,111,242, 79,102,167,124,227,
+102, 67,251,230, 13,142,238,238,229,123,208, 37,116,165, 17, 62,208,135, 60,102, 84, 2,210, 40,147,181, 36, 2,233, 50, 75, 32,
+200,124,125, 87,100,155, 86, 21, 34,149,143,216,232,115, 98, 96,217,217,133, 62,226,109,158, 56, 33, 37, 33,230,108,131,211,251,
+107,162,244, 60,239, 61,222, 59, 30,159,207,184,251,133, 23,137, 55,119,184,247,214,135, 92,172,151, 8, 1,163,166,229,104,111,
+143,221, 81,195,209,222, 17,191,249,233,138,100,214,236, 79, 15, 56,237, 46, 88,167,196,163,231,103, 44,141,231,165,211,231,188,
+118,237,144,233,222, 33,203,126,193,186, 55,220,222, 61,224,213,163,235,188,124, 48,226,193,197,138, 47,255,240,175, 88, 44,102,
+188,176,183,199,139,251,135,220, 58, 56,228,240,250,148,187,135, 19,254,229,255,244,207,249, 79,254,179,255, 28,212, 0, 49, 26,
+195,225,136,116,112,200, 63,190,113,196, 31,175, 86,172,159, 61, 39,157,156, 34,158, 94,128, 89,126,180, 99,223, 57, 34, 29,236,
+192,221, 87,152,142, 15,153, 47,158,230,103,195,226, 28,206,230,136,211, 11,146, 89,253,232,226,165, 53,140, 39,164,209,152,235,
+147, 17,170, 25,162,129,185,115,124, 24, 18, 67, 25, 89, 88,203,164,146, 84,193,241,212,194,131,133,217, 10,143, 98, 42,211,171,
+152,243,202, 77,202,247,150, 47, 72,207,203,123,178, 20,207,166,222,118,237, 27, 56,147,214, 63,218, 68,162, 91, 24,239,194,241,
+ 97,193,211, 14, 25, 55, 99, 8,142,224, 61, 86, 64,139,100, 32,122, 88, 92,228,117,195,168,133, 33, 48, 57, 6,215,241, 11, 56,
+154,233,132,199,243, 57, 71, 85,102, 21, 84,214,242,221, 90, 93,106, 1, 62,241, 91, 40, 48,169,148,242, 93,162, 54, 63, 47, 33,
+ 80,107,155,153,226,203,242,111, 52, 26,172,193, 84,146,147,144, 88, 37,207,141,122,138,175,107,116,183,160,210, 53,201,174, 24,
+ 84, 99,122,215,209, 70,143, 80, 21,189, 51,180,117, 3, 66, 50, 95,175, 51, 11, 62,130, 49, 29,109,221, 98,102, 39,212,170, 66,
+167,200,234,124, 65, 91, 85, 16, 61, 94,120,208,224,173,199,135,136, 23, 57, 26,123,105, 13,149,140,244, 33,101,107,170,144,120,
+ 99,208, 2,214, 49,139,102,149,172,177,193, 18,173,103,183, 25,211,187, 53,168,134, 54,145,117, 57,101,135, 46,128, 97, 51,228,
+172, 95, 49, 84, 21, 42, 37, 66,232,216,169, 6,244,174, 39,169,154, 67, 41,121,226,179,102,228, 3,179,102, 87, 41,198,213,144,
+222,245, 72,221, 16,146,197, 27, 79,163, 21, 3, 33, 24,164, 68,175, 53,203,228,233, 99, 6, 64, 61,245, 57,155,161,119, 33,247,
+156, 74, 80,213,154,129, 74,232,242, 30,117, 40,174,143, 91,158,216, 28, 46,165,133,160,209,146,245,160,212,191, 88,220, 80,161,
+216,208, 54,220, 17, 95, 66, 88, 16, 91,167,211,149,237,108, 22, 81, 39,104,138, 48,206, 22, 58,233,230, 97,107, 74, 30,251, 16,
+ 88,235,143,220, 71,250, 39,214,165,235, 42, 95,240,114,131,195, 43,224,251, 13,150, 81, 95, 17,108, 41,149,139,212,166,160,199,
+114, 2,217,132,204,199, 50,158, 42,187,136, 42, 70,218, 20, 24, 7, 65,165, 36,131, 24,136, 62, 65,144, 25, 50, 32, 4, 34,244,
+ 84, 41, 34,131,160, 22, 42,243,199,147, 97, 52,152, 32,172,101,210, 14,153,247,107,122, 60, 45,249,180,219,165,200,210, 5,180,
+150,224, 36, 38, 56,168, 36,195, 16, 89, 58,193, 72, 75, 98,202,221,110,160,198, 43, 50,208,161,124,205,193, 39,218,170,198,132,
+132,142,240,218,209, 30,223,158,173, 89,251, 8, 85, 81,165,143, 70,208, 25, 96, 8, 39,167,249,141, 33,150,132,182, 43, 29,187,
+240,101, 98,225,183,158, 93, 87, 70,246,233,138, 48,103,211,161, 75,181,101,206,203, 2,248, 31,214,249, 71,239,182,135,136,232,
+ 63, 86,220, 47,211, 92,138,186,210,211, 12, 27, 86,171, 14,129, 32,132,136,148, 18, 93, 85,236,239,141, 57,156,180, 8, 20,139,
+165,101,111,218,208,200, 68, 72,130,222,101,194, 94, 45, 36, 82,201,156,208, 86,171, 2,224, 74,248,152, 5,144, 98,227,212, 75,
+ 9,173, 4,141,148,185,179, 21,121,196,143,150, 44, 66,192, 11,129, 41,125, 94, 21,242,158, 90,250,192,220,121, 22,222,229,235,
+ 64,128, 23,162,164,210, 38, 26, 33, 57, 24, 79,248, 63,191,254, 13,190,141,135,168,120, 42, 96,231, 73,207,219, 11,135,172, 4,
+183,251,196,235,119,134,132, 23,135, 60,141,134, 83, 60,127,254,244, 41,175,190,112, 23,185,127,141,231,131, 49,191,220, 56,210,
+221, 99, 62,247, 75,183, 25, 76, 26,164,202,236,233,229,220, 18, 66,192, 46, 45, 62, 69, 42, 93,132, 69, 77,118, 17, 68,178,207,
+ 55,166,148, 1, 81,229, 44, 38, 67,162,242,137,202,231,151,184,243, 1, 73,202,160, 64, 9, 52, 32, 43,129,247,145,206, 68,158,
+252,245, 41, 73,192,169,243,172,141, 35,120,199, 98,214,115,255,225, 25,221,221, 3,228,189, 39, 8,225,144,149, 98,160,106,142,
+ 71, 53,196,196,181,227, 3, 30, 61,126,192,151,127,240,152,127,181,250, 0,166, 21,105,238,192, 68, 82, 31, 56,101,201,215,213,
+ 51,196, 72, 80,239, 84, 12,106,193,236, 91,239,103,152, 73,163,152,214, 10,173, 5,183,246,106,174, 13, 70, 8,235,216, 25,213,
+ 52,195, 10,223,123,126,254,149, 91,136,207,126, 6, 66, 5,147,154, 52,154,240,251,215, 95,228,165,155,251,252,202,179,115,254,
+120,176,139, 60, 56,130,151, 61,156, 60, 37, 61,155,195,222, 8, 14,143,224,213,207,209,220,125,145,255,242,103,142,233,164,226,
+191, 57, 89,177, 62, 93,192,179, 25,156, 63,207, 66,185,147,247, 51, 94,117,118, 10, 31,220,223, 10,196, 84, 11,215, 15, 17,109,
+205,180, 25,114, 52,174,121,190,182,188, 60,104,152, 42, 65,237,123, 4,154,181,113,156, 57,120,104,220,182, 40,199, 84,208,170,
+ 62,251,207, 29,127,147,162,216,212,249,255,218,216, 65,175, 10,211, 54, 31,251,248, 97,163,169,115, 76,241,222, 46,236,142,203,
+122,113, 8, 82,114, 84,122, 20,210,154,189,170,162,119, 61,181, 93,100,117,253,201, 9,248,105,102,212,175, 78,184, 59,222, 71,
+ 72,201,249,252,156,170,105,153,154,142,211, 4, 66, 68,126,161,213,188, 53, 30,100,219,106,138,159,220,173, 39,147,119,233,212,
+ 32, 29,196, 10, 82, 93,148,252, 85,214,238,200, 30,150, 5,104, 82, 87,176,232, 8,181,163, 75, 3,238,185, 51,110,178,203,194,
+ 44, 57, 30,237,230, 46,218, 5, 6,109,131, 15,158,196,146,182, 26,229,144, 19, 20,109,221,210,151,204,119, 85, 85,244,235, 37,
+ 33,121,146,242,248, 24, 24, 15, 6, 56,211,101,177,172, 86, 88,111, 73, 49,147,229, 36,176,234, 87,232,130, 76,207, 26, 40,240,
+193,210,199,136, 45,224,175,144, 34, 43,211,179, 87, 55, 80, 43, 46,130,161,173,134,156, 23, 68,110,171, 5, 93,136, 92, 75, 61,
+ 67,165, 57,214, 48,168, 26,162, 51,172, 83,228,238, 96,135,123,221,140, 93,221,208, 0,139,224,178, 94, 39, 4,214, 66,225,132,
+100,238,214, 52, 74, 65,114,204,141, 5, 33,104,125, 98, 34, 68,225,115, 4, 36,138,152, 2, 39, 33, 49,172, 20,115,227,209,165,
+ 41,233, 93,224,168, 85, 12,148,102, 21, 34, 73, 43,134, 72, 28,112, 60,168,232,188,192, 9,197, 17,145,199,194, 97,199, 5,243,
+109, 77,110, 96,253, 21, 6,131,190, 98,125,107,175, 76,178,117,181,117,100,196,144,175,177, 88, 30,126,151,126,119, 7,163, 42,
+ 23,253, 72, 78, 40,116, 91, 56,210, 79,102,167, 94,215,249,147,145, 5,111, 23, 74,145,222,200,253, 55, 5,168,100,173, 99,220,
+ 71, 99, 68, 55,157,251,229,136,126,115,106,206, 6,192,253, 86,115, 80, 73, 6, 82,179,171, 96,164, 52, 62,198, 60,194, 41,151,
+119,159,114,186,215,133, 15, 12,180,102,183, 82,132, 16, 9,206,208, 42, 77, 42, 59,197,113, 85,115, 98,214, 52, 73,177, 32, 17,
+ 83,226,220, 71,162,138, 12, 19,184,152,112,192, 48, 38, 42, 20, 49, 70, 98, 76, 24, 18,170, 4, 14, 36, 37, 49, 82,177,142, 9,
+ 47,193, 75,208, 40,214,222, 49,173, 43,102, 73,176,211,182, 24, 41,168,218,150,144, 34,114, 48,202, 67, 11,145,133, 51,200, 66,
+ 18, 74,155, 99,153, 36,135, 9,151,179,150,204, 69, 42,219,221, 74,184,203,134,229,185,121,120, 73,145,145,131, 66,228, 3,148,
+139, 91, 27, 68, 42,188,104,121,165,160, 95,198, 18,114,169,156,127,233, 75,191,205,111,254,234, 27, 88,159, 48,198, 17, 93,194,
+152,140,214, 77, 81, 48, 29, 15, 81, 82, 34, 81,140, 91,141,143, 57, 64,199,135,236,237, 20, 5,214,162,181,100, 84,201,178, 42,
+ 74,244, 62,251,211, 33,149, 21,126, 22,183, 84, 50,211, 4, 19,153,190,167,138,237,205, 27,207,197,210,176,234, 45,157,179,156,
+116, 29,235, 62, 35,132,141,181,216, 34, 44, 75, 49, 11, 26,155, 16,184,241,210, 29,186,221, 17,255,226,255,250, 43,208,240, 51,
+ 63,191, 79,115,179,225,161,177,124,127,230, 89,107,248,208, 37,218,169, 98, 48, 81,180,131, 38,187, 37, 4,200, 97,197, 7,222,
+242, 78,116,252, 69, 35,153,221, 28,179, 35, 4,235,185,207,228, 80, 23, 48,198,225, 59,139,232, 29, 77,163,169, 43,133,174, 43,
+164, 86,164,178, 31,139, 2,108, 74,185, 3,137,153,161,160,108, 96, 16,160, 9, 57, 93, 14, 27,144, 49, 80, 9, 73, 43, 4, 35,
+169,104,170,124, 48,248,224,201,140,175,127,235, 67, 22, 11,143,136,137,241,168,193,244,134,139,211, 83,158,127,248,152,250,238,
+ 33,107, 47,169,147, 38, 73,141,241,134,139,222, 49,190,190, 71, 88,246, 16, 61,223,254,230, 3, 88,120, 68, 35,248,204,157, 29,
+222,120,241,128,134,187, 93,191, 0, 0, 32, 0, 73, 68, 65, 84,209,181, 1, 95,248,185, 59,252,230, 47,191,201,235, 71, 67,134,
+201, 51,214,130,179,148,168, 43, 73,248, 97,143, 59,247,152, 29,201,201,204,241,108,181,224,162,159, 49,115,142,123,114,194, 55,
+ 58,199,183, 87,142,112,227, 85, 30,174,122, 24, 76, 65,183,188, 60, 30,209, 74,193,247, 47,230,156,186,132,208, 45,236, 28,194,
+120,138, 56,190,142,248,165,223,134, 47,124, 1,174, 95,227,159,222,217,231,119,247,107, 34,130,175,158,172, 89, 93,172,115,129,
+ 57, 62,128,155, 55, 33,141,225,229,207,242,123,199,183, 16,119,238,114, 54,191, 40,137,107, 35, 24,104,118, 39, 19,142,106,205,
+194, 69,142, 42,197, 60,194,142,244, 12, 8,236,198,196,158,150, 28,214,130, 51, 23,232, 72,217,218,149, 34,204,215, 96, 75, 84,
+102,252, 17,251,233, 31,103, 1,253,248,199,154, 26,244, 0,142,246,225,230, 81,238,164, 7, 99,168,219,203, 17,248, 69,112, 28,
+235,138,107, 42,130,235,168,157,225,251, 39,143,120,244,195, 71, 48, 63,207,247,243,176,134,166,229, 77,145,152, 11, 73, 31, 35,
+199,209,115, 46, 20,187,193, 48, 77,145, 69,136,156, 44,139,255,248,147, 44,109,151, 24,209, 2,189,145, 37,135, 23, 85,244, 51,
+114, 75, 41, 35, 71, 18,231, 17, 48,224, 3, 73, 38, 2,145,117,200,217,235, 43,219,163,164,166,247,166,208, 53, 45, 90, 10,172,
+235, 50, 56, 9, 79,103,123, 20, 2, 19, 12, 34,230, 88, 87, 31, 13,117,221,178, 54, 75, 82,140, 24,223,229,251, 58, 37,124,176,
+ 56,239,113,201,209, 23,226,219,202, 57, 86,166,195, 16,233, 92,207,154,136, 66,210, 71,207,202, 90, 22, 41, 33,163, 96,229,243,
+ 24,125, 80, 55,116, 54, 79,122,171, 70,115, 97, 35,149,212,172,146,192,104,205, 68,130, 18, 57,175,189, 18,130,101,140, 28,170,
+138, 62,197,156,110,167, 52, 30, 65, 39, 53, 22,232,149, 68,232, 26, 39, 20,125, 10, 56,173, 56, 11,145,186,174,120, 28,139,210,
+ 93,105,206, 80, 56,169, 17,186,162,139,137, 74,107,100,211, 48, 80, 26, 41, 21, 38,229,120,112,173, 21, 90, 85,212, 85, 69, 82,
+ 16,189,166,170,242,223, 75, 33,242, 60, 93, 9,241,146, 34, 95, 3,133,160,122, 41,204,220,172, 99, 55,190,245,206, 22,213,113,
+ 17, 51,167,114, 77, 75, 89, 18,255,202,239,233,162,181, 18, 50,231,131,164,242,140,239,186,159, 80, 81,223, 40,218,235,225,182,
+216,140,155, 60, 66,175,171, 92,172,140, 47,157,119, 17,107, 85,165,176, 95, 21, 11,144, 50,174,177,239,243, 39,105,182, 97, 48,
+243, 32,120,161,150,140,100, 6, 56, 16, 35,141, 84,244, 49, 20,225, 85,182,152, 61,237, 61, 85,157,199,239, 3, 89, 35,131,207,
+158,202,152,199, 55, 67, 37, 88, 57,207,173,175, 62,224,244,246, 20, 68,226,129, 11,104, 33,136, 73, 82, 75, 24,132, 92,164,100,
+217,177, 8, 41,177, 41, 49,212,249,112,146,164,196, 39, 65, 7, 24,157,139,157,148, 26, 27, 35, 97, 48,160, 82,217,242,229,128,
+ 65,173, 17, 49, 50, 26, 12, 88,123,143,108,106, 82, 83,109, 71,131,170,236,182, 85,241, 65, 92, 82, 40,227, 54, 70, 53,168, 60,
+177,144,234,146, 35,158,105, 68,122, 27, 52,176, 41,212,155,172, 93, 91,156, 4, 50, 94, 9,136,217,180,255, 27, 47,125,238,102,
+ 94,121,227, 13,222,124,243, 21,186,222, 98,251,128,119,129,126,109, 25,142, 91,130, 73,212, 77,205,164,174,185,190, 55,160,174,
+244,101, 67,180,185, 88, 99, 74,200, 4,149, 18, 52, 58, 99,119, 67, 76, 24,159, 21,199,130, 12,116, 80, 50, 83,230,148,206,244,
+ 57, 17, 83, 22,168,148,233,140,142,145,100, 60, 43,235,112, 46,176,114,158,182,136, 67,102,166, 99,101, 13, 85,240,212, 33,145,
+ 20,168, 65,205,141,215, 94,226,249,147,231,124,253,171, 15, 80, 93,226,217, 69,199,252, 81,135,185, 8,224, 18,171,161,132, 93,
+201, 91,239,244,252,127,125,199,100,209,241, 90,130,131, 70,243, 43, 14, 62, 53,222,225, 83,215, 14,217,215,146, 7,167,115,190,
+118,178, 96,120, 52, 36,106, 56,233, 13,231, 93, 30,169, 78, 7,117, 70,186,214, 21, 82,203,140,218, 20,224, 73, 57, 38,213,101,
+145,159,179,249, 33, 90,155,136,238, 29,218,120,164,241, 25,125, 27,161, 65,210,232,138,193,160,162,109, 20,111,157, 44,121,248,
+151, 15,243,219,227,160,173, 43, 6,195,138,174,179, 68,227,152, 45, 46,120,244,188, 35, 13,224,173,119,223, 99,237, 12,149,206,
+235,152,195,187, 71,188,112, 48,228, 83,135, 59,220,251,171, 31,240,248, 91,115,196,163,200,231,126,238,128,189,241,132,167,231,
+ 75, 94,216,221,229,230,193,117, 6,205,136,215,175,221,224,223,127,225, 21, 94,220,155,242, 95,253,206, 23,185,117,171,165,211,
+ 75, 94,191, 62,101,181,178,156, 34,153,254,236,231,208, 59,215,185,254,153, 91,248,113, 11,173,198,116,134, 31,222,123, 8,103,
+207,192,116,172,237,130,238,244, 25,223,126,250, 4,218,125,120,241, 53,196,203, 47,193,249,138,223,189,251, 10,191,189, 51, 64,
+ 41,201,195,247, 30,241,215,127,252,255,176,227,134,252,239,127,242, 53,222,255, 55,127, 4, 15,239,193, 7,223,133, 39, 15,225,
+241, 83, 24, 78,248,252,157, 99,110, 29, 31,240, 84,142, 56, 25,142,242, 56, 81, 10, 24,143, 56, 84,154, 86,105,116,130, 69,140,
+204,186, 53,187, 10,110, 10,193, 68, 72, 38, 90, 49,214, 26,131,231,241, 34, 67,103,152,247,121,199,216,123, 62,121, 41,254,119,
+209, 7,105,216,221,133,221,157, 92,204, 15,246,114,119, 62,154, 22, 43,220,230,123,190,175, 30, 44,206,137,235, 5,179,229,140,
+239, 63,123,194,119,190,249,126,222,167, 27,123,249,245,220, 29, 12, 49,192,216,173,184,214,182,188,103, 58, 38, 49,235, 71, 30,
+ 59,199,190,148,188, 62,150,116, 82,179, 58, 93,125,178, 96, 78,136,210,202,216,252, 99,148,121,194,167,171,252, 60, 73,174,164,
+124,153, 92, 68, 76,200, 98,229, 77,100, 44,130, 96, 45, 29,129, 36, 96,105, 59,148,136,184, 20,177,222,210, 59,203,194,245,164,
+ 20, 48,206, 97,189,197, 38, 71, 76,240,193,249, 35,140,239,233, 76,199,217,242,130, 16, 3,115, 51,167,213, 89, 68, 55, 91,207,
+145, 66, 49,239, 23,216, 82,208,151,102,141, 11,129,117,244,172,157,199,166,140,141, 62,247,142,189,186,225,190,143, 84, 90,243,
+190,144, 28,212, 53, 78, 10,164,172,216, 27, 15, 89, 38,201,220,123,218,170,166, 71,208, 75, 77, 35, 36,170,174,217,209, 53, 21,
+ 16,148, 68,145, 88,136, 68,171, 43,140, 82,172, 98,164, 43,137,115, 65, 8,134,237,128,170, 4, 81, 5, 85,179,138,138,132,226,
+ 89, 72, 28,140, 70, 60,240, 18,161,234,236,203,175, 42,246, 70, 3,246,135, 35,166,163,150, 86, 87, 8,169,233,147, 98, 41, 5,
+136,138, 97,219, 18, 85, 77, 18,146, 65,213, 96,138, 5, 41, 74,193, 34, 74,106, 37, 89,167,132,212, 13, 73,203, 44,156,214,242,
+138, 56, 83,228,203, 51,165,178,103, 87,185, 94,250, 43,161, 64, 27, 16,205,230,251,165,112,165, 60,215, 71,131,124, 16, 24, 15,
+243, 97,116, 58,253, 9,193,103,218, 77,151, 46,183,157,186, 13,249,228, 32,203,130,191, 45,187, 3,185, 41, 74,229, 4, 19,202,
+206,221,150, 46, 61, 27, 9,183, 88,198,162,146,191,181,215,112,189, 82,236,169,138, 70, 10,132, 84, 68, 18,163, 74, 97, 98,202,
+136,209, 4, 81, 9, 92, 72,200,148,176,214,100, 75, 81,132,206, 90, 70, 74,211,165,196,218, 58,254,249,241,148, 95,208,154, 83,
+107,217,169,242,233,110, 82,105, 22, 73,208,200,204, 20, 94, 23,161, 22, 54,135,199, 40,221,208,199, 98, 37,168,170,156,199,142,
+196,107, 77,165, 52, 15,173,167,213, 53, 74,231,155,108,169, 51,112, 66, 21, 47,207, 88, 43,218,182, 65, 43,133,241,101,191,151,
+194, 21,107, 91,121,253, 54,184,216,164, 41,225,184,133,243,190, 73,228, 17, 91,202, 80, 74,249, 66,216,172, 60, 76, 1,102,184,
+ 50,206, 55, 87, 64, 5,206,110,109,118, 73, 92, 62, 48,126,237, 55,126,141, 91, 47, 94,231,244,100,133, 53,174, 12, 0, 36,135,
+187, 59, 84, 72,170,170, 66, 42,193,241, 94,139, 86, 42,199,224, 74,177, 9,222, 3, 1,109,165,168,107,133,146, 89, 33,103, 67,
+ 86,150,250, 13,127, 64,230,112, 23,165,179,157, 77, 36, 72, 62, 18,173,203, 29,108,130, 36,242, 65,224, 98,237,104, 98,194,164,
+192,220, 24, 22,235,158, 89,103, 50,198, 23, 88,120,143,175, 5,131,189, 29,118,111, 30,241,189, 63,253, 38, 60, 49, 92,219,211,
+ 60, 63,241,176,220,172, 54,128,219, 45,175,189,113,141,120,183,230,248,238,132,111,181,146,217, 78,195,123,181,230, 94,114, 44,
+136,236,118, 61,215,214,142, 55,215,158, 21,137, 46, 6,206,231, 29,170,213, 84,149, 66, 41,197,100, 80,163,155, 10, 93,105,146,
+146, 89,140,227, 3,193, 7,156,245,244,107,139, 95,187, 60,233,176, 17,209,123,228,202, 94, 22,117,233, 98,222,183,105, 69,213,
+214, 84,163, 6, 89, 73,190,119,190,226,247,133,226, 78,210,188,123,209, 33, 85, 62, 52,121, 27,152, 45, 45,122,103,151,207,238,
+ 13, 8,195,150,119,238, 61, 99,103,178,195,171, 47,189,198,139,215,110, 48,104, 36, 39,193,243,205,127,253, 45,222,126,126,193,
+108, 79,193, 99,207,123, 99,203,237,151,174,115,182,187,207,129, 89,242,103,127,241,109,158,199, 14,221,140,152, 12, 71,188,127,
+246,156,217,233,156,221,221, 3,238,254,193,239, 48,112, 2, 87, 89,174,255,234, 63,226,181, 95,124,157, 95,249,244,173,156,108,
+ 54,106, 8,179, 57, 95, 60,108,248, 63,254,232,203,112,255, 1, 60, 63,103, 33, 60,143,134, 7,252,199, 95,252, 18,255,225, 23,
+127,142,191,220,157, 98, 3,136,199,207,248,244,160,101, 80,105,212,108,198,219, 31,190, 3,207,239,243,245,175,124,133,103,223,
+254,183,240,193,135,112,239,125,184,127, 31,222,125, 7, 30,124, 8,181,231,129,209,160, 42,254,218, 3,178,134,106, 0, 50,128,
+ 51,204,164, 96, 12,116,193, 97,189,199,132,192,126,138, 52,193, 51,208,154,186, 76,138,130, 49,188,179, 48,136,101,135,176,203,
+156, 29, 16,255,129, 5,189,157,192,116, 7,142,142,224,112, 15,118,167, 57, 17,174,170,243,189,169,212,118,146,232,201, 35,254,
+245,138,116,118,206,179, 39,167, 60,252,225, 3, 78,159, 62,207,113,198,155, 78,123, 52,229,238,141,125,166,193,177, 55, 28,240,
+204, 89,172,115,104, 33, 24, 9,120,102,122,106, 33, 24, 70,199,189,222,179,114, 14, 35,225,165, 95,124,147,139,247,239,127, 66,
+ 72, 83, 4,217,148,117, 93, 68,196, 10,145, 28,162, 82,136,122,128,232, 3,162,213, 8, 41,179,218, 60, 8,132, 22,136, 68, 62,
+100,134,128, 8, 1,239, 3, 54, 58, 58, 18, 43,223, 97,188, 35, 68,143, 18,146, 69,183,196,147, 29, 42,243,245,146,181,239, 49,
+222,240,116,181, 98,110, 12, 51,219,241,112,117,206, 78,221,242,108,118, 74, 76, 1, 37, 4, 15,206, 79, 25, 85, 13, 11,211,179,
+ 48, 29, 11,235,152,185,158,153, 49,184, 36,120,152, 34, 70, 86,236, 53, 19,118,171, 1,175,238, 29,209,161, 57, 26, 14,249,161,
+210,200,186,197, 70,152, 69, 65,211,180,120,161, 89, 8,205,209,112,196,181,166,230,238,206, 4, 89, 85,172, 82, 98,183,105, 72,
+229,223, 51, 49,160,149, 98, 17, 3, 81,215,204,137, 56,169, 56, 24,142, 25,214, 53,149,168,104,155, 33,171, 24, 89,196,196,185,
+174, 24, 75,201, 7,214, 51,210,154,147, 20,177,186,230,184,170, 57,108,235,204, 50,145, 85, 78,252,211,154,251, 33,224, 84,197,
+169,170,168, 18, 8,149, 1, 72,125,146, 76,235, 1,231, 36, 90, 33,137, 90, 51,208, 21,161,110,242,189,228, 2, 76, 38,249, 61,
+171, 84,169,119, 5, 76,227,227, 86, 72,157,210,150,105,210,151,131,217,198,158,188, 73,120,187,244,176,151,213, 74,219, 20, 65,
+ 83,147,107,234,112,248, 19, 40,234,149,206,212, 56, 89,216,180,155,136,186, 90,230,177,252, 64,103,146,220,160, 64, 79,122, 83,
+186, 75,185,245, 91,127,100,180, 84,124,236,155,110,176,213, 4,155,184,211, 84, 52, 82,102,177,130,148, 52, 72,156,204, 78,176,
+ 70, 72, 66, 74,172, 66, 98,230, 3, 35, 1, 71,131, 33, 51,231, 88, 24,203, 81, 51,224,162,239,105,165,100,208,182,124, 38,101,
+ 11,146,214, 21, 54, 5,166,186, 97,149, 18, 90, 43,214, 33, 17, 93, 96,168, 4,201,120,124, 85, 80,130,189,161,105,106,170,166,
+ 37,166,128, 67, 32,154, 6, 23, 28, 23, 49,113,125,178,203,179,181,161,214, 21, 85, 57, 13,207, 75, 64,140, 75,129, 90,215, 56,
+235, 72, 8,140, 42,106, 8, 31,182,150, 62, 45,182,157,123,173,182,142, 0,138,143,189, 45,147,144,226,223,207,227,151,114,112,
+ 74,177, 0,108,202, 9, 14, 87,224, 4, 27, 95,100, 25,213,139, 34, 79, 23,197,211, 24, 2,191,243,207,254,128,241,116,200,217,
+243, 25,198,250, 34, 66,203,118,172,182,105, 24,181, 21,215, 38, 67,246,134, 21, 82, 40, 72,121,114,145, 16,217,171, 94,176,139,
+147,129,190,196, 97,251,148,215, 26, 41,165,252, 22, 42, 65,173, 36, 18,121,137,171, 36, 68,116, 17, 68,198, 16, 49, 9, 86,214,
+179,232, 44,117, 8,244, 93, 46,232,115,103,241,206,161, 73, 44,100,226, 73,231,105,106,201,241,222, 62,231,167,103,252,203,255,
+241, 93,150, 83,120, 98, 34,141,137, 12, 10, 96,139, 62,194, 58, 48,184,213,240,250,193, 46,135, 77, 11, 66,112, 56,157, 48, 29,
+143,184,243,234,235,196,227,107, 60,105, 27,222,183,134,209,254, 14,225,238, 62,119,111,239,113,112, 52,101, 48,108, 80, 82,178,
+ 51,106,208, 77,141,174, 20, 66,231,208, 26,159, 34,174,115,196,149, 37,174, 12,126,222,145,150, 6,107, 60, 51,239, 48,107,143,
+180, 17, 21, 2,202,165, 12,179, 16,217,242, 71,163,145,173,102, 69,228,222,202,113,227,133, 9,213,237, 9,103,227,134,106, 82,
+227, 67,226,230,235, 59,124,246,223,125,129, 63,252,252, 29, 94,121,237, 24,127,180,135,221,191,193,209, 11,183,248,210,231,110,
+241, 75, 47,237,243, 76,104, 46,230, 11,222,249,193, 61,186,241,132,223,250,167,191,129,255,212, 46,253,222, 46,255,253, 43, 47,
+240,250,193,148,231,159,122,137,119, 30,126,192, 95,255,223,143,184,111,159,177,236, 79, 89,137,200,159,127,233, 55,105, 63,117,
+ 11, 53,172,241,175,221,193,188,241, 6,135, 55,247,249,229, 91, 83, 94,155, 84,164,139, 37,255,203,255,240, 63, 51,121,248,136,
+201,206, 17,235,135,239,240,224, 7, 79,224,198, 62,124,246,243,252,225,175,254, 10,255,197, 63,186,195,167, 38, 21,223,123,239,
+140, 15,254,237, 55,225,222,183,248,225,122, 78, 67,205,215, 58,135, 9, 1, 49,154, 66, 43,243, 14,127,181,248,168,122,222, 89,
+196,253,251,136,217, 41, 23,201, 49,244,129,107, 90, 82,251, 14, 84,141, 75, 57,186,249, 52, 70,186, 16,208, 49,210,117, 6,133,
+103, 95,101, 65,146,117, 54,243,199,173,227,195,139, 53,110,113,145,149,236, 49,254,195,176,182, 59, 59,176, 59,229,238, 43,183,
+217,191,126,157, 52, 26, 97, 54,177,152,226,138,208, 53,138, 18, 4,211,193,249, 2,158,156,192,249, 9,204,231,217,131,255,241,
+ 17,190,247,204,116,195,206,160,166,149, 10, 3, 88,103,216,197,243, 36, 36,174, 87,154, 41,145,115,107, 57,104, 53,149,245,156,
+173, 58,226,176,198,232, 17, 92,156,255,205,102, 93, 74, 68,242, 8,106,132,220, 88, 85,213,150,113, 81,235,252,241,148,138,147,
+ 74, 34, 76,143,208, 10, 17, 74, 81, 71, 32,156, 71, 24, 79,212,255, 63,105,111,246,107,105,118,158,247,253,214,248, 13,123, 56,
+243,169, 83, 85, 93, 93, 93,172,174,158, 56,153, 45,137, 10, 41, 51,178, 33,193,130, 36, 35,145, 97,192,210,133, 12, 36,200,159,
+146,155,228, 46,119, 9,144, 32, 72,174,236, 4, 50, 34, 40,242,144, 72,182,168, 33, 20,105, 81,162, 68,145,236,185,217,213, 93,
+243,169, 51,236,233,155,214,148,139,245,157, 58, 69,138,162,100,251, 0,141, 70, 55,186,107,239,179,135,245,190,235,125,159,231,
+249, 9,252,186,167, 75,145,158,192,178,239, 88,199,129,197,208,240,120,185,100, 29, 7, 78,251, 53,139,211, 5, 67, 18,244,109,
+ 79,127,182, 33,124,252,132,199,143, 31,211,214, 5,235, 97,224,254, 98,201,188, 40,120,176, 94, 48,196,200,241,224,120,216, 14,
+156,119,129,141,146,172,148, 38,152, 10,165, 43,190, 48,219,195,214, 51,122,169,216,155,206,241,170,192,235,130,199, 33, 81, 84,
+ 53, 66,107, 30,247, 29,167,194,176, 37,224,106, 89,241,210,116, 66,101,242, 69,170, 46, 74, 58,151,215,114, 46, 69, 74, 41, 51,
+162, 59,193,134,200,160, 13,115, 99,159, 89,248,148, 49,164,148, 24,132,160, 11, 18,133,224, 81, 74, 76,164, 98,153, 18,103,202,
+160, 99,224,192,150,204,170, 10, 63,154,219,210,200,182, 40,147,226,254,152, 26,249, 24,201, 92,192,169,208, 76, 77, 73,212,138,
+ 90, 91,162, 52,204,109,201, 32, 52, 93, 20, 76,116,137, 85, 2, 35, 21,190, 40, 17, 66,147,252,144,207,237, 62, 60,103, 87, 22,
+151,235, 81, 57, 94,116,195,184,254,185, 72,103, 29, 87,121, 25, 42,147,158,241,211,233,250, 49, 42, 88,193,164,248, 17, 66,185,
+ 11,203, 68,248, 49, 66,141,231, 23,253, 33, 94,230,209,198,209,195,105,213,248,224, 64, 61, 25,159,116, 28,119,228,234,178, 51,
+ 49,227, 46,193,143, 41,107, 23,202,213, 66,231,241,124,140,208, 12,212,219, 5, 49, 4,202,162,192,142, 35,185,141,136,153,181,
+173, 52, 33, 4,124,138,148, 35, 23,253,220,123,226, 38,113,213, 26,122,163,184,223, 52, 92, 43, 13, 78, 66,215, 52,217,163,143,
+ 68,141,120,155, 53, 1,161, 20, 93,204,106, 72, 10, 69,179,118, 56,171,168,186,142, 6,216,169,106,150, 67,207, 68,102,155,158,
+181, 10, 57,120,142,173,196, 72, 75,231, 58,174,204,107,150,173,103, 9,180, 74, 82,203,188,195,201,147, 9,143, 49,138, 74,192,
+ 12,203, 61, 95,228,219,132, 43, 51,129,169, 24, 45, 11,197,197,222,123, 28,193, 91,147,247, 99,155, 54, 91, 4,149,189,108,128,
+226, 56,126,187,236, 0,198, 46,126,180, 21,170,254,185,200,247,113,255,166,100,110, 0,100,238, 0,165, 54,212,165,193,150, 5,
+206, 53, 12, 33,210,119, 13,222, 11,246,111, 79,241, 33, 17,197, 40, 16,148,163,109, 45,137,156,229, 78, 78,111,138, 49, 71,196,
+ 94,172,137,196, 24,177,120, 17, 56, 18,158, 77, 13,199,226, 54,138,221, 32,162,165,192, 27,149,227, 98, 35,249,182,236,125,238,
+234,157,207,116, 52, 45,104,122,207,208,123,102,209, 83,171, 18,167,224,183,126,239,109,184, 62, 82,186,250, 72,159, 18,189,146,
+212, 34,177,159,224,245,168, 88,252,155,167, 60,184,125, 78,115, 84,115, 62,209,220,222,154,115,104,167,108, 25,139,173, 42,142,
+174,237,211, 41,193,244,234, 22,187, 19,203,238,188,162,117,158,224, 19, 58,197,188,222, 82, 57,137, 42,250,172,234,239, 58,143,
+223,244,132,243, 6,183,106, 9,231, 93, 14,242, 16,153,210,244, 84,104, 90,155,113,141,170,200,116, 41,161,198, 23,164,243,180,
+ 70, 50, 36,201, 79,207, 74,254,197,147, 13,167,107,207,237,195, 57,183,141,224,177,145, 92,157, 27, 10,169, 57,237, 60, 79,124,
+226,113, 18,232, 74, 17, 62, 94,242,218, 43, 87,216,149,154, 7,149,226, 65,167,249,142, 87, 60, 57, 59,165,251,246,135,184,193,
+243,107,175,189,194,230, 51, 91, 20,127,244, 93,222,191,255,152, 95,249,213, 95,230,119,204,255, 67,247,203,255,152,111, 61, 56,
+ 97,251, 11,159,226, 5, 35, 48,117,102,220,171, 62,112, 48, 51,124,244,212,241,251,159,172, 49,181,160,148,112,171,168,232,154,
+158,170,180,188,250,226,171,124,237,168,131,207,253, 4, 92,187,193,111,173,122,190,240,237, 7,124,252,209, 61,190,250,141, 63,
+ 64,188,245, 33,105,113, 6,243, 45,190,254,218, 9,236, 94,131,249, 30,136, 9,226,232, 54, 76,102,164,191, 0,158,220,191, 44,
+182,133, 37,109, 29,192,222,156,157,232, 56,220,156,113, 93, 12, 28, 39,193,188,208,252,222, 96,115,115, 58, 56,218,206,115,191,
+235,192, 37, 78, 54, 17, 49,145,188, 94, 22, 20, 50,127,250,223, 93,173,105, 78, 79,114, 24,199, 15,121,226,255, 86, 22,187,194,
+230,209,250,209, 21,174, 95, 59, 98, 94, 84,188, 52,219, 70, 73,195, 7,205,146,191,236,154, 49, 23,194,141, 65, 89,125, 46,232,
+ 79, 22,176,218, 60, 83,254,255,181, 63, 41, 66,223,241,193,202, 48, 0,243,233, 20, 33, 18,203, 0,187, 42,210, 12, 29, 70, 23,
+148, 69,129,118, 29,239,133, 0,147,146,229,119, 63,204,254,245,209,238, 36, 46,206, 93,123,121,108,139, 64, 22,202,217, 81, 51,
+163,244, 88, 27,100, 22, 46, 63,107, 44, 58, 64, 34,214, 93,118,202,248, 46,143,110,209, 48, 47,225,120, 1,147,154,212,247,184,
+145, 50,150,146,200,254,105,171, 25, 78, 61, 41,102, 49,150, 96,153, 85,247,139,243,188,167,247,158,230,207,207,104,182,247, 96,
+ 94,179,120,188,130,249, 4,140,203, 83,179,114,108, 54,172, 1, 85,242, 70, 57,227,139,135, 7,232, 50, 43,253,159, 58,201,147,
+ 20, 81,198, 64,211, 82, 87, 51, 30,187, 22,133, 34, 20, 19, 8, 3, 94,104,142, 38,134,165,207, 72, 85, 77, 36,197,108,185,117,
+ 73, 97,147, 35,197, 64, 45, 37, 70, 74, 66,244, 20, 72,132,200,185,246, 3, 9, 31, 3, 86, 42,246,100,129, 65,240, 81,227,216,
+ 37, 67,112,172,148,196,224,169,139, 2,157,160,247, 30,173, 84, 94,112, 40, 77,240, 30,161, 5, 97, 32, 51,214,129,119, 82,100,
+ 27, 48, 90,179,173, 20, 66, 42,100,130, 38,122,118,202, 2,161, 13, 11, 55, 80,150, 59, 48,244, 76,221, 64,168, 21, 46, 57,220,
+217, 41,241, 98,172,126,177,197,121,150,221,226,243,100, 85, 91, 88,119, 80,155,108,143, 30, 5,186,153,246, 57,134,142,197,144,
+111,235,253,144,255,157, 16, 63,116, 83, 47,198,253,204,133, 2, 42,134, 31,159,237, 30,227, 24,214,160,242,200, 76,219,203,226,
+ 93,154,252, 38, 22,118,140, 36, 29,201,100, 70, 94,198,221,121,127, 73, 29,187, 16,210,149,227, 23,172, 52,249, 3, 17, 3,141,
+ 84, 28,213,134,235,117,222,111, 12,249,227,137, 85, 26, 41, 4, 67,140,204,140,101, 17, 2,143,250,129,137, 50,184,193, 83, 90,
+133, 1,134,224,113, 62,142, 35, 19, 16,163, 13,162, 77,144,164,200, 65, 41, 49, 82, 22, 5,231,206,161, 98, 96, 45,198,238, 47,
+ 74,210, 40,244, 48, 73, 32,173, 33,218, 12, 80, 88, 43,141, 87,154,101, 31, 16,202,176,244,145, 82,105, 22,163,173,192, 9, 80,
+ 34, 97,133, 38,198,200,148,200,126, 97,232, 99,228, 70, 33, 89,123,184, 54, 55, 44,252,184, 87, 49, 69,126,205,211, 5, 8, 96,
+228, 61,219, 2, 98,159, 85,193, 50, 93,134,244,168,209,187,142, 24, 51,244,229,101,166,188,240, 16,117, 94,105,164, 52,222,210,
+ 71,167,129, 22,207,156, 8,255,248,159,254, 23, 12,222,179, 90,118,128, 96,107,107,130,182, 5, 90,105, 68,202,227,187,137, 45,
+217,223,158, 80, 24, 3, 40,204, 40,120, 19, 36,196,184, 47, 55, 58,135, 88, 36,192,143, 52, 54, 57, 42,222,165,202,169,124, 82,
+228, 36, 57,141, 64,250,128, 28,124, 30, 63,197,113,229, 50, 56, 54,103, 13,195,186,161, 89,119,104, 63, 32, 99, 34,117, 14,239,
+ 50,208,165,176,134,195,195,109, 78,151, 11,190,246,135, 79, 71,229,232,152,214,151, 98,230,103, 55,129, 69, 72,124, 52, 36, 62,
+155, 36,111,244,146, 79,249,196,108,227,136,235, 13,199, 97,197,251,199, 79, 40,148,197,163,168,102, 5, 7, 91, 37,193, 74, 86,
+157,227,100,209,177,233, 28, 69, 8,204, 71, 11, 97, 24, 60,125, 63,176, 90, 15, 52,171,142,245,241,154,254,100,195,234,201,138,
+205,249,154,184, 25, 80,157, 71,251, 72,223,123,150, 74, 83, 86,134,114, 98, 81,181, 33, 21,138, 88, 72,156, 20, 44,181,226, 79,
+ 31,119, 60, 58, 93,227,155,129,147,143, 22, 28,157,183, 44,134,196,199,117,193, 50, 65,209, 58,110,198,192, 31, 55,158,150,200,
+102, 24,248,179,251,107, 14,118,106,206,159,182,124,175, 13,116,198,112,243,133, 43,188,118,235, 26,119, 23, 3,183,203, 9,127,
+119,119,194, 55, 79, 26,126,251,172,229,219, 31, 63, 96,239,214, 45,236,207,254, 44,211,237,146,159,120,229,144,151, 42,205,237,
+185,161, 52, 18,221, 5,132, 15,252,230,127,255, 63,243,254,255,254,239, 40,223,124,131, 23,125,196, 8,201,222,203,183, 25, 40,
+ 57, 57, 94,114, 79,150,184,107, 55, 88, 40,141,120,112, 23,222,251, 14,127,242,173,111,242,239,191,241, 53,120,235, 61,232,187,
+ 92,112,250, 13,220,191, 15, 67,139,152,150,136,233, 54,162, 40, 97,235, 8,113,116,132, 40, 4, 98,136,136, 43,215, 16, 47,221,
+130,163, 35,196,214, 54,251,229,156,219,211, 25, 34, 70, 14, 38, 5,195,232,120, 57,189,136, 80,245, 62, 31, 90,237, 0, 9, 30,
+111, 6, 94,180,128,115,188,127,186,224, 27,143, 22, 99,196,178,255, 43,226,178,191,241,198,110, 44, 76,199,189,249,124,202, 11,
+ 59, 7,124,250,240,136,169, 45, 16, 70, 50, 23,134,123,174,103,240, 29,172,155,204, 49,127,122,158, 85,237,205, 58,143,217,255,
+ 54, 28,140, 32, 73, 74,115,115,103,134,240,158, 46,146,209,171, 2, 74,109, 9,222,115,104, 60,223,216, 12,132, 16, 97,213,102,
+ 43, 92,159,109,174,194, 94, 68, 55, 22, 16, 37,162, 48, 8,165,161, 40, 17,133, 69, 76, 42,132, 80,200,210,230,219,120,204,107,
+ 68,145, 98,182,130, 42,131, 8, 14,169, 12,194,245,185,225, 30,134,252, 29,238, 6,196,102,200, 24,212, 38, 34, 86, 77,190,201,
+175, 55,136,193,195,166, 69,156,158,229,191, 55, 61, 98, 61,254,222,189, 3, 53,142,251,117,157,181, 82,166,132,157,233, 24, 40,
+118, 33, 16,172,242,164,177,172,184, 53,219,230, 43,123,115, 76, 97,217, 41, 70,124,110, 18, 60,118,129,101, 28, 56, 13,137,117,
+200,122,171,228,134,103,231,219,171, 90, 81, 68,129, 45, 50, 53, 51,166,200,150, 86, 68,159, 11,160,140,158, 73,138, 20, 74,178,
+114, 61,101, 18, 88,149,107,203, 38, 6, 80, 22, 73,194, 74,131, 78, 33,143,223,125, 36, 42, 69, 76, 89, 56, 56,144,216, 33,178,
+ 91, 25,132, 72,104,161, 81, 66,228,210,229, 19, 90, 37, 62,232, 29, 33,196, 44, 10,148, 10, 33, 36, 47,149, 37, 9,112, 49, 18,
+165,196,142,154, 42,167, 12,171, 20,113, 72,138, 20,145, 9,250,232,169,149,193,248, 1, 69, 98, 75, 68,194,168,119,146, 74,230,
+193,181, 20,185, 14,111,150,227,216,113, 76,165, 51,230, 50,247,196,152, 92, 7,244,232,131, 23,227,133,109, 24,158, 43,234, 90,
+143, 51,252,231,162, 37,148,248,155, 35, 11,165,204, 99,224,194, 94,142,127, 43,123,201, 12,103,140,109, 92,143,193, 15, 73,102,
+ 53,230,197,152,232, 34,194, 34,230,113, 27,117, 49, 62, 65,149, 71,105,227,174,254,213,210, 48,173, 42,144, 18, 35, 50, 47,216,
+201,156, 57,174,148,166, 13,142, 90,105,254,112,209,210,118,142,235,181,230, 60,120,116,128, 74, 74,218,222,129,200,145,156,143,
+219,129, 82,231, 78,103,209, 57,148,209,217,182, 16, 19,149, 82, 56, 4,201, 5,246, 73,156,105, 73,236,122,124,140,172, 72, 20,
+ 36,144, 26, 95, 85, 56,239, 40,116, 65,135,162, 75,153,108,118, 38,192,167,144,149,222, 33, 3, 51,134, 20, 40,165, 98,187, 16,
+180,189,163, 82,145,160, 4,123, 82,240,184,201, 98,191,225,162, 75, 75, 33,107, 20,194, 40,124,209, 58, 31, 86, 23,175,101, 84,
+185, 99,144,207, 29, 89, 23,169,115,105, 76,123, 9,227,205, 93,143,111,188, 26, 95,227,174,203, 77,216, 56, 97, 81, 63,249,101,
+126,233, 75,159, 97,213,246, 44,158, 46, 73,200,188,186, 81,153,133,190,183, 51,165,180, 5,243, 89,193,188, 42,145,163,210, 84,
+ 34, 32,141,164, 35,149, 85,168, 86,103,113,136, 72, 41, 7,173,140,141, 68, 26,189,155, 82,200, 49,152, 38,131, 10, 98,200,196,
+187, 97,240,153,130,231, 2,237,224, 56, 61,223,176,105, 58,220,224,113, 62,143, 87,205,248,103,201, 4,251,123, 83,138,157, 45,
+254,240,123, 31, 51, 91,123,206, 69,204, 13, 99, 28, 87, 16,110, 20,107,142,222,240,247, 8,124,107,136,148, 7,138, 67,171,248,
+194, 65,197,203,147, 25,135, 9, 68,116, 68, 31,112, 62,225, 18,172,218,129,229,170,101,209,244,136,224,217, 45, 12,211, 50,231,
+ 27,120,151,247,231, 67,215,211, 54, 61, 67,219,179, 92, 54, 60, 89, 55, 44,186, 30, 98,196, 36,129, 34,145, 72,180, 49,145,148,
+194,100, 3, 63,201, 72, 82,169,112,243,130,149, 86,188, 88,192, 23,107,195,225,142,229,212, 42,238, 46, 7, 78, 14, 39,204, 39,
+150,193, 7,134,179,142,173, 39, 75,222, 30, 9, 78,201,193,103,125,224,231,118, 43, 30,118, 29, 77, 10,236,213, 5,213,149, 57,
+219,251,115,234,170,230,211, 51,195,235,237,192,187,239,221,229,119, 99,201,245,175,124,133,151,175,237,179,175, 4, 7, 90,112,
+ 85,195, 47, 76, 5,247,158,174,184,251,135,111,243,245,255,237,255,228,247,255,135,127,203,209, 52, 81, 87,146, 15,255,199,175,
+ 82,117, 31, 49,125,245, 53,206,128,191, 76, 80, 29,204,120,241,149, 67,142,136,124,251,155,127, 8,127,241, 29,120,114, 31,119,
+255, 62,226,116,253, 3, 80,160,252,201,144,136,197, 89,222,111,207, 10,196,214, 17,170, 40,249, 71, 55, 95,224,239,221,121,157,
+171,135,215,120,239,251,119, 17, 33,241,147, 71, 59, 28, 23, 91, 28,104,205,142, 18, 24, 99,209, 41,175,116,154,224, 56, 30, 28,
+196, 1, 81, 76, 16, 59,219,121,106,178, 92, 34,218,200,251,167, 75,222,122,248,148,251,103, 27, 68,212,136, 43,123,136,214,255,
+ 64,244,241,143, 23,194,217, 44,130,187,114, 0, 71,251,176,181, 13, 69,137,179, 83,238,204,166, 40,173, 48, 82,161, 8,232,190,
+225,254,201, 73, 46,226,143,206, 96,125, 14, 87,175,194,147,167, 63,158,140, 88,215,207,133,130, 36,152, 84, 60,238, 61,135,211,
+154, 46, 69, 62, 51,181, 60,241, 16,195,192, 65, 33,121,212,229,203,195,208,182,163,104, 42, 55,240, 66,171,204,105, 40,107, 68,
+ 85, 32,172,201,227,244,249, 12,153, 4,162,178,200, 20, 17, 69, 46, 92, 66, 8,132,136, 72, 45,145,214, 34, 92, 14, 45, 82, 49,
+ 34,147,207,134,164, 4, 50, 70,228,186, 65,246,153,167, 32,124, 64,182, 77, 46,238,155, 14,209,118,185,240, 55,185,105, 19, 62,
+ 32,100, 1, 87,174,114,227,104,135,163,107,123, 28,237,205, 41,107,195, 82, 87,136,178, 64,236, 76, 17, 91,219,168,249,156,106,
+107,155, 80, 22,164,162,120,246,154,191, 86, 88, 14, 38, 53, 82, 42,134,144,198,115, 56,129, 75,156,134,200,189,161,203,151, 62,
+ 55, 18,244,136,144, 2,109,130, 59,181, 65,199,156, 24, 90, 8, 40, 83,196,117, 13,237,208, 97, 99, 64,165,196,208,247,204,132,
+160, 0,108,244, 84, 66, 50,144, 24,162,103,199, 88,124, 12, 56, 33,184,219, 39,206,156,199,227, 51,161, 14,232, 7,199, 3,239,
+216, 79,145, 93,107, 41,165, 70,166,152, 97, 48, 4,158,180, 3,167,206,225, 66, 32, 41,137, 82,154, 47, 84, 21, 37, 89,255, 85,
+168,156,216, 87, 22, 19, 42,169, 24,156, 67,217, 60,105,216,160,152, 25,141,140, 48,179, 53, 41,180, 28,136, 64,109, 21,251,165,
+101,207, 74,162, 80,244, 62,145,252,152, 65,146,252,152,210, 55,214, 70,173, 70,173, 90,186,140, 10, 30, 70,132,112, 14,236,135,
+162,120,174,168, 95, 40,238,210,115,217, 80, 63,142,109,252,188, 5, 68,141,183,113,165, 47, 11,186, 85,227, 19, 10,121,167, 22,
+195,229,168,190, 40,176, 55,174, 19, 86,203, 17, 88,114,193, 88, 38, 63,190, 26, 21,219, 77,151,159, 71, 81,112,125,103, 70,141,
+ 96, 90,228, 49, 85, 31, 7, 10, 12, 46, 69,172, 22, 88, 20,143,188,195,137,192,227, 33, 98,100,226, 69, 85,176,118,158, 46, 4,
+172, 16, 8,149,133, 86, 59,133, 97, 25, 2,141, 11,204,166, 85,142,241, 84,138, 66, 10, 54, 41,209,135, 64, 73,162,213, 2,235,
+ 3,105,200,183, 92,149, 2, 58, 10,158, 36, 79, 82, 2,165, 13, 31,244, 30, 33, 21, 15,135,158, 94, 41,206,164,204,190, 71,160,
+ 25,195, 86,124, 76, 28,105,141, 78, 17, 37, 34, 69, 76,148,192, 58, 69,174, 25,197, 11,219, 53,247,125, 34,117, 67, 46,196, 23,
+ 54,136,139,244, 33,153, 35, 31,145, 41, 23,118,105,242,107, 27,199, 27,119, 26,111,235, 23, 35,246, 36,126, 16,109, 43,121, 6,
+202,201, 34,186,252, 33,124,253,211,175,241,147, 95,184,195,211, 39, 27,154, 77,135, 82,138,174,113,184,198,209,181,158,201,180,
+230,214,254, 22,187,149,165, 48, 38, 55, 42, 58,119,174, 81, 36,122, 23,241, 49, 97, 20,148, 54,243,212, 99, 74, 12, 99,164,156,
+ 18,185, 24,199,139, 29,224, 40,242,115, 62,211,152, 92, 12, 52,206,103,158,186,143,244, 93,207,226,188,165, 25, 28, 68,207,224,
+ 60, 93, 55,228,141,142,200, 1, 14,251,187,219,172,207, 23,220,251,131, 39,168, 82,112,220,197, 60,141,136, 2,218,231,242,236,
+159,159,187,238, 42,238, 29, 89,222, 42, 4,195, 78,201, 83, 1,167, 34, 51,220, 85,240, 20,194,160,133,162, 64, 96, 84,166, 85,
+ 29,108, 85,236,110,215, 20,165,205, 72,202, 68,166,170,141,152,198,204,216,137,156,183, 89,205,155, 4,168,148, 70, 68,120,110,
+ 98,156,148, 56,161, 8, 42,191, 15,186,208, 24, 37, 41,140, 96, 57,102,227,123,145,216, 19,137, 15,143, 55,188,110, 3,219, 49,
+208, 5,136, 66,176, 16, 18,171, 4,125, 76, 92, 73,240,138, 17,184,110,224,107, 70, 49, 49,134, 55, 15, 74, 14, 38, 26, 81, 20,
+ 76,247,167,124,254,250, 14,179,171, 51,222,155,238,243,237,233, 54,147,189, 9,159,214,137,185, 27, 48,109, 71,179,110,120,122,
+182, 70, 60, 94,112,179, 86,184,205,154,117,179,102,209, 4, 78,222, 31, 16,175, 78,248,169,191,115, 19,117,125,143, 43, 47, 31,
+ 32,164,224,222,247,143,249,232,253, 7,156, 63,124, 72,124,248, 33,203, 7,199,136,126,200, 99,217, 8,130,248, 67,240, 22, 63,
+202, 54, 92, 46, 10,201,129,173,249,197, 59, 55,216,169, 11,254,217,160,240,135, 87, 16,187,219, 60,146, 5,164, 64, 37, 13, 83,
+109,184, 58, 41, 41, 68,164, 16, 1,209, 59, 62,218,172, 16,218, 34,182,246, 96,114,128,216,158,163,106, 11, 50, 33,154, 11,128,
+209,152,203,208,244,192,128,248, 17,103,150,184,208,254, 76, 39, 57,218,245,224, 16, 14,247,178, 77,109,103, 43,219,211,138, 18,
+180,166, 87,150, 79, 9,137,148,121,122, 38, 82,226,244,252,152,251, 79, 78,224,238,147, 28,158,227, 60,156,158,253,248,130,190,
+189,199,252,179, 47,209, 47, 54,121,202,160, 68,214,121,204, 38, 68,149, 49,167, 31,246, 3, 3,217,122, 26, 19,156,247, 61,125,
+ 31, 16,198, 16,156, 3, 23, 16, 86,231,255,183,158, 34,234, 18, 68, 68,212,249,134,107, 10,139,157, 90,180, 15,204, 39, 37, 59,
+ 66, 80, 72,197, 16, 3, 90, 10,132,144,200,110,200, 43,175, 24, 81,147, 2, 57,228,226,167, 0,213, 69, 84,148, 40, 76,182,173,
+186,132,114, 9,233, 61, 50,133, 92,244,131, 64, 42,141, 40, 45, 98,178,141,216,218, 98,111, 86,240, 51,219, 21,183,108,193,157,
+121, 77, 97, 44,161, 44, 56,223,223,167,158,239,176, 85, 87,236, 84, 53, 62,121,164, 52,227,170, 77,160,132,230,166,209,236, 21,
+ 38,163,175,147, 64,132, 72,146,146,227,182,227, 27,235, 53, 41, 14,224,218,172, 77,232, 86, 99,124,238, 64, 43, 18, 47, 6,207,
+158, 86, 36,223, 81,199,132,107,214, 44,134,142,171, 41,103, 59,216,152, 87,176,132, 76,127, 44, 0,235, 7,180,202,142,149, 97,
+ 20, 94,159,196,200,159,175,215, 52, 82,147,146,224, 65,223, 81,168,130,227, 24,242, 20,163,239,216,150, 17,225, 29, 49, 56,226,
+208,211,224,249,214,217,146,110,252,188, 79,149, 66, 1,187, 66, 81, 26,149,203,154,212, 8, 33, 33,120,130,174,208, 35,108,204,
+105,139,141,142,101, 20, 76,132, 64,132,129,153, 45,136,110,160, 84,144,198,122, 87, 40, 40,149,196,106, 73,144,138, 96,116, 22,
+204, 73,159,235,231,152,240,137, 24,217, 42, 93, 51, 6,190,141,122, 54,149,243, 74,126,112,252, 30, 46,114,216,185, 76,189,249,
+ 91, 89, 64,200, 35, 22, 57,222,192, 47, 30, 68,140,129, 41,221,152,166,211,249, 60, 82, 10,145,176, 89,229,142,204,135, 75,114,
+155, 27, 50, 39,118,221,193,122,117,169, 6,175, 75,182,167, 5, 59, 69,145, 5,108, 72, 10, 85,176,137, 61, 70, 10,140, 52, 36,
+ 18,231,222,177, 14,142, 70, 8, 92, 23,209,210, 51, 55,146,117,140, 44,187,241,131,170, 37, 49,101,244,101,101, 77, 30,205, 11,
+193, 68,105,150, 49, 32,200, 59,228, 42,101,171, 28, 33, 80,196, 64,138,153,237,221, 39,193, 32,243,248,229, 97,132, 61, 45,249,
+190, 11,120, 83,114, 50,244,184,232,113, 73,162,136,180, 49,162,147,224, 64,129,213, 17,145, 2,115, 1, 83,107, 96, 24,152, 75,
+ 5, 8,206, 18,124,170,182,116, 74,209, 92, 88,253,144, 63, 56, 59,212,242,146,102,119, 33, 46,212, 35,201,229,194,218, 38,198,
+155,186,146,185,240, 95, 8,242,146, 24,173, 46,126,132,188,100,242, 67,177,176, 0, 0, 32, 0, 73, 68, 65, 84,171,216,237, 87,
+ 95,229,149, 87, 94,100,189,238,243,205,184,207,169,105,222, 7,124,151,168, 39, 37,175,223,216,101, 90, 91,172,214, 4,145, 15,
+138,156,155, 76, 30,177, 75, 40, 68,246, 62,167,209,206,230, 99, 32,196,244,236,105, 10,153, 15, 49, 59,178,141, 7, 23, 17, 33,
+ 16,198,176,149,228, 2, 67,231, 56,105, 6, 78,154,158, 85,223,115,188,110,216,120,135, 31, 60, 25,101,223,227,165,100,182,187,
+205,253,183,238,145,214,142, 91, 42,115, 1,174, 32, 88,196, 68,120,158, 29,112,193, 55,190, 83,192,142,201,130, 45,163,184,215,
+ 37, 62,238, 2,107, 19, 88, 9, 40,167, 19,236,124, 11, 61,159,176,189, 93, 51,159,150,204,107,195,254,180,100, 54, 41,209, 70,
+227,147,192,187, 72,219, 13,217,187, 30, 99, 14,149, 9,145,206, 69,186,206, 17,124,198, 90,202,152, 50, 40,104,116, 8, 12,128,
+ 83, 25, 91,151,164, 96,183,233,169, 63, 58, 33,189,245, 9,233,235,239, 48,251,179,143,216,187,191,224,197,162, 96,103,171,226,
+228,147, 53,205,163, 5,161,113,116, 10, 82,145,227,104, 95,148,138, 69, 76,252,249,137,167,209,130,182,115,148, 90, 96,218,200,
+253,214,243,193,202,241,241,144,248,176,135, 79,148, 33, 86,150, 97, 8,220,238, 59,118,154,158, 97,177,225,227,227,117,182,218,
+101,172, 32, 46, 86,172,194,130,122,191,224, 75,191,252, 38,191,254,243,111,242,223,124,254, 53,182,174,110,225,172,102,249,222,
+ 35, 62,249,224, 33,215, 53,124,110, 82,241,133,249, 54, 47,204, 20,223, 93, 5,104, 55,136,232, 17, 38,219, 19, 47,139,122, 68,
+212,183,145,111,126, 30,113,243, 14,226,250,203,136,217, 14, 87,183, 38,204, 69,226, 74, 23,120,176, 92,243,139, 7, 87,184,187,
+ 94, 66, 72,108,136,188,161, 53, 59, 50, 97, 83,160,242, 30, 25, 91,222, 58, 59, 71,110,214,136,178, 66,216, 2,129, 34, 13, 27,
+ 68,223, 32,106, 11,123, 51,132,169,248,213,215,142,184,179, 59,225,237,167, 13, 12,221, 95, 29,185, 23, 83,120,225, 42,236, 29,
+192,213,189,188,239,221,154,230,208,142,162, 26,225, 40,105,252, 30,121, 30, 56,199, 81,136,152, 52,112,126,246,152,175,126,114,
+ 31, 30, 62,201,222,247,191,233,146,243, 12,153,236,232,165,133,179,179,124,174,198,139,232,102, 69, 83, 88, 86,206,211, 39,104,
+218, 64,167, 18, 27, 31,233,135,192, 6,143, 31, 28,116, 1,107,243,249,144,180, 65, 16, 80, 42,239,165,139, 82, 19, 29, 28, 78,
+205,232, 26, 82,185,200,133,200,220, 42,218,148,115, 33,235, 81,232,162,146, 66,181, 29, 42, 73,180, 11,104,105,208, 4,246,109,
+193, 63, 60,156,241,230, 94,205, 11,181,229,227, 38,162, 2,168,120, 97,213, 53, 72, 99, 17,214, 32,117,133,212,185,153,248,233,
+173,130, 29, 83, 80,105,205, 34, 38,116,105,169,103,115, 30, 71,129,214, 37,133,204,194,229, 76, 18, 21,244,126, 0,105, 72,113,
+ 96, 11,184, 94, 20, 8, 55, 80, 11, 73,232, 91, 78,219,134,223, 61, 57,165, 27,214, 57,133,175, 89,193,226, 41,180,163,173,111,
+232, 32,244,152,232,217, 52, 27,186,161,165,239,214, 12, 67,199, 86,191, 70,186,128, 13,137,105,200, 23,132, 42, 9,118,132,196,
+ 39, 48, 33,210,251,142,132,228, 81,240,172,147,224,173,229, 26,107,167, 36,223,147,144,212,202,176,246, 29,219, 74,179,118,142,
+208,110,104, 86, 13,222, 53, 4,153,120,178, 94,114,127,221,177, 28, 28,173,115, 36, 18,221,208, 51, 16,216, 54, 6, 43, 50,251,
+194,146,176, 66,146,180, 33, 6,207, 41,146,227, 48, 48, 17, 32,117,137, 26, 28,115, 35,144,193, 67,215, 83, 88, 75,240, 45,117,
+ 2,111, 20,201, 71, 42,149, 47,212,165, 21,153,211, 82,216,231, 44,201, 2,250,238,178,102,106,149,195,134, 24, 51, 11, 98, 78,
+116,253,171,234,247, 24, 47, 63,132,127, 93, 1,151,250, 7, 49,159, 66, 92, 42,241, 34,151, 66,185, 11,216,251,133, 71,218,218,
+203, 28, 91,247, 67,143,225, 70, 41,127, 24,159,112,235,114,178, 82, 85, 66, 93, 82,138,200, 81, 97,152,154, 18,129,100, 21, 28,
+ 83, 93, 18,162,160, 79, 16, 68,192, 10, 88,184,200, 39,141,231, 90, 37, 25, 66,224, 44, 68,204, 16, 88,201,172,202,143, 46,199,
+196,182, 73,228, 24,117,165,242,196, 54,146, 83,191,144, 20, 66,210,199, 72, 17, 3, 67, 18,116, 74, 33,164,196,143,201,125,149,
+135,115, 45,153,134,200, 67, 15, 75,165, 88, 71, 55, 22, 85,129, 75,129, 77,136, 52,209, 35,146,103,146, 18, 83, 9, 53,185, 24,
+ 22,193,161,165,194,199,200,164,180,108, 27,205,169,200,138,218,149, 45,242, 37, 83,141, 10,179,231,221, 1, 41,230,155,188,139,
+121, 23,200, 5,185, 45, 94,194, 99,226, 69,214,251,120,180,153, 81,189,102,244,200,219,189, 8, 67,128,159,249,202,207,176,123,
+101,155, 16, 35, 67, 31,104, 22, 13,235,245, 6,107, 11, 78, 78, 87,104, 59,225,229, 27,187,148, 54, 51,212,165, 84,132,152,242,
+ 91, 68, 64,164,236,213, 45, 74,133, 30,195, 88,252,152,177, 28, 71,155,218, 5,232, 69, 32,198, 36,169,152, 5,112,206,209, 53,
+ 61,193,121,196, 16, 88,121,207,113,235, 88, 53, 29,184,192, 89,219,225,130, 99, 19, 3, 27, 96, 45,160,222,154,178, 17,137, 63,
+125,235, 17,111,117,249, 80,148, 74,242,229,160,248,251,104,254,126, 97,120, 67, 73,222, 43, 4,189, 25,111, 70,175,207, 96, 90,
+141, 47,166, 6,145, 8, 14,180, 85,212,133, 97,111, 58, 99, 50,155,161,203,146, 80,228,195, 72, 11,193,150,177, 84,133, 65, 42,
+ 69,240,137,166,117,156, 44,214,156,158,183,108,250, 17, 11,219, 57,214,155,129,245,166, 99,221,117,185, 1,145, 18, 45, 37,133,
+145, 24, 96, 82,106,182,119, 10,230, 51, 75,112,142, 39,247, 31,176,127,218, 33,124,226,129,244, 57,203,190,239,153,111, 58,246,
+118,118, 8, 50,241, 72,129,216,169,209, 86,209, 38,193,118,130,166, 79,220, 95, 5,214, 49, 81, 78, 44,122,183,230,212, 11, 30,
+184,196,162,143, 60,237, 60,199, 3,120, 33,179,251, 66, 64,104, 3,251,131,203, 97, 56, 72,206,238, 29, 83, 27, 69,187,104, 49,
+ 51,139,220,169,217,189,118,157, 95,248, 71, 95,230,205,159,124,153,159,191,177,203,180,214,252,243, 63,249,128,111,125,245,235,
+ 60,125,255, 67,110,148,130, 89,105,153,134,132,145, 5,201, 88,222,242, 61,190,139, 99, 97, 79,185,176, 43,133,188,253, 58, 63,
+247,139,191,194,111,255,183,255, 21,159,253,244, 27,252,235,165, 69, 62,249, 4,249,206,159, 35,131,197, 37,195,106,211, 96,165,
+228,108, 24,104, 99,142, 66,150,209,113,147,200, 92, 38, 84, 28, 48, 41,178,105,214, 60,238,123,220,147,115,196,189,251, 89,251,
+169, 20, 82, 36,132,212,224, 59,196,131, 83,254,201,157, 67,126,253,181, 79,243,217,253, 3, 22, 69,226,131,133,131,144, 16,113,
+140,225,156, 78,224,230, 17, 95,186,253, 41,234,157, 93,202,233, 22, 43, 61,238,126,149,186, 12,250, 96,188,241,251,142,161, 93,
+211, 54, 27, 30,156,159,240,205,239,223,135,227,211,156,124,199,143,192, 27,255,184, 9,102,211,252, 96, 90,157, 27, 71,168,205,
+112, 57, 65, 27,157, 56,105,240, 52,222, 99, 70,139,174,208,130, 42, 64,111, 36,133,128,163,210, 96,129,118,228,153,239, 20,154,
+198, 69,182, 74,203,174, 49,180, 68,166,214,112,210,122,230,133,204,118,232,144, 87, 99,186,203,152, 85,147, 6,140,210,152,102,
+192, 24,205, 87, 74,203, 94, 97, 50, 61, 86, 74,182,181,228,113,155, 80,165, 70,111,213,168,178, 70,238,214,200, 73,141,156,150,
+200, 74,241,159,239, 20,220, 41, 45, 59, 90, 19, 17, 72,171, 25,132,100, 72,112,234,179, 21, 24,153,168,164,193,225,240,193,101,
+ 86,215,144,119,240,141, 31, 8,125,203, 21, 41, 56, 91, 28,211, 14, 61,191,127,239, 46,199, 79,143,225,244, 4,214,107, 56, 63,
+207, 1, 66, 93, 63, 38,255, 13,208,108,120,218,246,124, 60,180,124, 48, 12, 52,155, 6, 57,116,236,196,136, 9,129, 9,137, 77,
+ 12, 28,232,146, 74, 8,186,148,152, 11, 73,163, 36, 38,230,128,160,211, 24,248, 78,151, 88,107,131, 14, 3, 66, 23, 8, 1,165,
+144, 8, 98,230,235, 36,193, 16, 60,171,117,203, 39,203,150,187,103, 13, 79, 66,196,247, 3,221,224,216,145,146,174,237,153, 24,
+197,224, 3,167,125,207,129, 18, 28, 22, 26,163,178,128, 88,105,201,105,128, 37, 34, 35,192,165,196,198,136, 22, 48, 12, 29, 69,
+ 24, 72, 82, 48,193, 81,134,192,106,240, 76,146,200,131, 28,173,242, 25, 21, 18,149, 18, 4,161,112, 74, 93, 78, 95,149,185,140,
+145, 45,108, 62,211, 47,146,233,194, 0, 46,252, 71,196,196,234, 25, 76,203,252, 66,119,237,229,135, 54, 93, 40,247,210,229,248,
+253, 98,132, 44,212,179, 66,146, 71,201,207, 41,223, 47,190, 76,207,212,219,163, 80,172, 30, 57,228, 85,206, 54,182,194, 34,133,
+100, 57, 12,148,214,162,144,172,253,128,212, 22,237, 7, 90, 20, 18,135,150,146, 24, 34, 15, 59,152, 72, 65,233, 29,143, 82,182,
+190, 45, 7, 7,117, 73,227, 28,214, 40,146,135, 70, 36, 42,165,233, 72,104,149,139,211,202,123,106,107,136, 74,162, 9,248,212,
+114, 98, 20,120,143, 73, 30, 33, 52,190,233, 9, 19, 65, 45, 28,101, 7,141, 46,178, 86, 0, 96,104,137, 49, 91,250, 22,195,192,
+182, 22, 92,179, 53,141,247, 28, 26, 67,231, 4, 62, 4, 14, 39, 83, 22, 67,135, 19,130, 93, 4,167, 69,205, 52,118, 44,170, 34,
+199,199,202,220,209,225, 47,112,146,163,107, 64,143,183, 1,127, 33, 56,140, 57,176, 70,170, 60,138, 30,252, 8,204, 9,227,127,
+ 99,243, 62, 93,155,172,220, 21,121,106,226,135,252,129,152, 78, 11,214,139, 14,165, 21,214,232,124,214,140,161, 54, 77,231,217,
+155,149, 8, 41,242,197,223, 11,162, 72,200,152,211,247,130,143,120, 35,178, 48, 19,137,210, 18, 39,178, 15, 61,164,188, 2, 8,
+ 49, 61,235,220, 37, 9, 27, 35,161,243,136, 16,177, 72, 54,193, 51, 12,129,101,211,211,199, 49, 39, 93,102, 6,242,128,160,141,
+ 61, 19, 41,217,191,126,200,123, 31,220, 67, 7,216, 70,240,189,141, 3, 31,249, 30,145,162, 77,252, 92,165,184, 89,106,126,197,
+ 41,126,242,214,140,119,222,218,112, 60, 43, 81, 47,189,192,227,110,195,102,112,156,116, 29, 31, 30,247,108,149,138,106,156,100,
+ 4, 34,221,208, 35, 86,146, 97, 8,132,222,179, 95,151, 76, 71,123, 99,219, 6, 78, 78, 27, 62,186,119,198,122,211, 94,222, 76,
+165, 96,232, 7, 26,215, 49,116, 29, 94, 41,114, 34,124, 22,216,108,205, 75, 14, 94,220, 98,182, 55,101,182, 59,225,189,239, 63,
+230,131,166,167, 85,112,211,193, 67, 25, 25, 74,193,206,102,224, 86,227, 41,191,115,151, 87,215, 13,175,237,212,204, 94, 63,226,
+254,213,146, 73,227,216, 44, 7, 30, 13,240,141,100,120, 49, 42,190, 60, 53,252,191, 14,222, 63,239,169, 35, 20, 70, 50, 31, 60,
+122, 82,128, 80, 24,173,184, 35, 21, 55,182, 21,133, 51,136, 85,195,241, 91,239,114,235,198, 62, 47,224,120,242,201, 99,218, 43,
+ 19,234,218,160, 10, 69, 81, 22, 28,159, 44,249,151,119,159,242,207,127,251,247,120,244,241,146, 23,182, 13, 7,135, 91, 24, 93,
+ 82, 20, 37,178, 27, 56,239,214,156,198, 68,220,218,193,220, 82, 4, 25, 72, 79, 31, 33, 94,126, 19,110,190, 4,251, 47,114,116,
+117,151,205,147, 51,126,227,255,250, 29,244,239,126, 23,241,197,151, 16, 71,215,217, 81, 2,183, 92, 96,164,226,165,162,100, 49,
+116, 28, 3, 41,120,196,208, 34,101,139,223, 24,106, 91, 32,130, 99, 66,100,123,189,164, 89,158, 19,143, 79,136,253,154,116,251,
+ 83,196,157, 3, 82, 89,145,108, 73,178,134,223,120,239, 1, 87,240, 28,204,118,248, 94,235,179,183,252,188,132,176, 70, 40, 75,
+ 58,218,129,189,125, 38,102,194,223,217,219,101,145,114, 72,213,191,109,150,121,189,103, 71,226,149,243,153,118,181, 88, 66,227,
+184,191,217,100,199, 73,234,199,181,225,104, 31, 13,241,111,127, 86,254, 40, 46,250, 98, 1,187,123,151,156,134,209, 6,156,198,
+113,238, 48, 4, 10,157,149,236,107, 55,112, 93, 27, 6,173, 56,137,137,155, 19,141, 31, 4, 49,207, 16,185, 82, 21,108, 6,199,
+138,236, 78,153, 0,117,101,232, 99, 98, 72, 41, 63,101, 31,145, 87,246,144, 82, 83, 76, 44,184,129,212,244,220, 26, 6,110,232,
+204, 55, 80, 2, 54, 46,112,173,176,212,187,150,184, 55,131,189, 25, 87,170,154,164, 5,167, 67, 75,227, 29,175, 18,249,172, 81,
+212, 90,114, 84,148, 60,117, 29, 79,162,199, 3, 31,116, 3,167,162,196,168, 60,133, 91,135, 13, 73, 38,214,109, 3,222, 33, 54,
+ 27,146, 80,172, 55, 45,223,148,145,111,202,209, 86,146, 2, 44,250, 49,179, 99,156,244, 14, 25,226, 50,238,184,242,244, 81, 11,
+ 88,174,159,157,177,119,165,102,119,219,210, 6,193,190,206, 4, 54,141,160,137,142, 82, 26,166, 82,112, 46, 20,197, 24,202,213,
+111, 22, 24,171,217, 69,179,113, 3, 24,131, 14,142, 32, 4, 94,106, 22, 17, 90,198,137,243,176, 33, 40,152, 71, 73, 39, 5,219,
+ 17, 58, 33,217,158,151, 28,247,145,131,121,205,227,214, 97, 11,197, 64,164,239, 55, 44, 84, 32,161,169,116, 73,215, 12,156, 10,
+197,137,157,161,147,103, 75, 90,124,236, 65, 41,170, 36,232, 98,100, 87, 6,156, 27, 48, 74,178, 85, 26, 78, 6,199,150,132,165,
+119, 20,104, 38, 6, 22, 36,154, 16,144,182, 32,166, 0,194,254,224,103,105,185, 25,131,141,234, 60, 17,170, 74,112,254,185,162,
+174,245, 37, 41,230,199,141,221,167,117,142, 33, 44,170, 92, 32, 46,126, 6, 46,139, 77,188,192,201,245, 99,228,233, 88,236,237,
+115, 93,174,243,151,227,126,212, 37,108, 4,153,173, 90,106, 84,193, 63,103,159,219,132,200,196,234,204, 47,209, 50,231,175,248,
+ 33, 91,179,188,167, 65,176,171, 21, 69, 33, 89, 15, 25, 8,163,141,160,245,254, 89,202,253,178,115,168,202, 82,185,136, 55, 30,
+ 6,205,153,114,108,219,140, 51,108, 83,196, 40,197, 34, 95, 71,153,105, 65,131,198,182, 3,219,192, 70,107,214,193, 51, 67,243,
+168,237, 8, 93, 71, 61,155,114, 26, 37,108,250,203, 72, 86, 9, 52, 27,176,138,224, 35,239,159,173,248,220, 86,126,209, 39,232,
+ 49, 38, 87, 50, 49, 22,173, 10, 78,104,217, 45, 19, 77, 47, 51,115, 5, 46, 51,224,155,110,220,157, 95, 28, 42,242,146,250, 22,
+228,232, 58, 24, 27, 34, 41,243,239,234,135,252, 62, 68,159, 91,118,171,243,123,164,220,104,253,241,104,107, 41,173,225,228,108,
+131, 27, 11,188,214, 6,151, 2,162, 44, 40, 37, 20,101,206, 6,200,251,242, 11,105, 68, 78, 82,235, 98,192, 17,145, 61, 88,173,
+144, 57, 69, 6,169, 50,139,152,144,111,238,217, 46, 47, 81, 49,195, 94,116, 2,163, 36, 90,107,188, 8,184, 16,232, 55, 30,223,
+ 56,232, 29,125,240, 24, 33, 88,165,196, 10, 40,172,225,104, 58,101,111,127,139, 63,250,147,239,241,221, 38,239,208, 16, 49,255,
+174, 83, 77,223, 58,254,213,185,203,193,241,107,207, 59,231, 3, 47,110,107,138, 39, 13,146,123,220,216,153,242,194,214, 46,250,
+250, 14,223,219,121,204,100,182,197,164,174, 41,102, 83, 14,143,118, 88,117, 67,222, 16,109,122,154, 36,232,132,192, 9, 24,122,
+207,217,162,225,238,253, 19, 30, 62, 56,103,240, 29, 41,100,108,167,136, 17, 31, 99,166,167,249,132, 64,179,232, 5, 82, 25,148,
+130,253,189,138,122,119, 74, 49, 45,113, 41,113,214, 42,110, 79,247,248,254,233, 83, 30,184,150, 77,219, 32,140,164, 25,122,174,
+ 4, 69,179, 56,102,111, 19, 88,196,134,217, 39, 11, 78, 95,152, 96,103,154, 35, 83,112, 16,225,198, 85,197,181,101, 79,215, 5,
+126,213, 74,254,167, 85,207, 73,227, 25, 6,216, 41, 36,147, 66,113, 22,224, 80, 11, 62, 59, 51, 28,213,138, 19, 1,111, 63, 78,
+124,229,240, 21, 22,201,113, 32, 18,159,217, 46,249,227, 69,203,195,239,220, 99,231,232, 42,211,123,103, 92,145,130,111,126,247,
+ 33,119, 80,108,109, 91,116, 93,176, 85, 79, 49, 66,211,173,150,220,125,252,144, 83, 93,177,116, 41,239, 67,203,154,161, 56,128,
+ 47,127, 38, 39, 89,181, 27,196,215,254,128,223,248,238,130,127,241,134, 66, 93,217,197,124,233, 14,162,156,176, 91,207, 57, 16,
+154,137, 86,163,169, 38,208, 13,158,207, 19,217,154,239, 66,154, 51,167, 37,173,206,169,162,195,132, 0,203,115, 94, 63, 95,241,
+180,237,137, 6,194, 98, 65,252,222,251,196,219,142,120,253, 6, 73,193, 23, 95,186,195, 27,183,111,241,199, 31,188, 75,255,240,
+ 29,238, 29,247,136,170,134, 74,147,216,206,201,150,211, 41,111, 76,106,110,109,111, 97,133,228, 74, 97, 40, 69,143, 90,231,176,
+ 70,218,113,127,123,190,202,141,239,249, 58, 23,115,158, 43,200, 74,130, 48, 57,103,253, 63,164,168,255,117, 63,171,213,104,253,
+213, 35,255, 66, 17, 92,204,199,156, 17,244, 46,177, 45, 3,229, 78,205,227,245,192,190,149,220,172, 18, 15,186, 64, 39, 20, 83,
+ 18,133, 53, 28,167,196, 43,133,193, 42,184,110, 53,171, 33,240,168, 25,152,151,130,166,143, 72, 31, 81,218,160,171,146, 91,243,
+ 41, 66,107,164, 31,136,147,158, 47, 9,207,203, 74,161, 6,199,241,178,227,233,186,231, 35,239,153, 86, 21,177, 40,198, 44,144,
+128, 68,163,180, 34, 16,121, 81, 68, 38, 90, 82,250,196,169, 95,178,173, 13,157,115, 28, 7,184,231, 65,153,136,111,219,108, 68,
+233, 90,210,122,141,104,123, 82,215, 67,231, 16,195, 64,146,238, 50,228,231, 7, 64, 95, 41,171, 92,203,145,148,103, 60,108, 70,
+ 32,141,119,224, 70, 43,244, 72, 59,139,210,241,180, 53,220,175, 19, 6,184,154,224, 64, 41,206,165, 34,166, 68, 47,179,125,248,
+ 52, 37, 26,160,172,166,232,216, 17, 92,139, 80, 37,131, 15,120,157, 39,199,103, 67,135, 21,154,117, 28,178, 86,201,214,176, 13,
+203, 85, 67,225,123, 54, 2,156,213, 48, 68, 68,101, 57, 67,240, 74, 93,240, 46,153,123,209,171,130,223, 91,116,212, 90,243,134,
+ 13,188, 39, 36,235, 16, 9, 33,176, 85,206,240,205,130,189, 98,134,175, 39, 16, 3, 59, 4,154,205, 19,166, 90, 67, 12,172, 99,
+100, 79, 43,156,207,154, 45,159, 28, 43, 31,241, 14, 10, 41,243,250, 66,233,209,185, 60, 54, 62,113, 12,173,113,125, 46,238, 90,
+ 67,219, 65,122,254,166,110,245,165,100,254,199, 21,245,161, 1,202, 92, 52,158,221,180, 61, 88, 55,250,163,199, 4, 57, 63, 90,
+180,188,191, 28, 5, 95,220,200, 47, 10,248,133,218,254,226,159,155,238,242,198,127,193, 13, 30,233, 99,239,169,130, 23,165,160,
+151,146, 2,216,196,152,119, 55, 82, 18, 99,196,249,129, 18,197, 82,122,212,136, 46, 91, 43,197, 68, 6, 76,161,105,157,231,110,
+ 19,120, 97, 2,170,247,172,140,162, 38,146, 76, 66,171,114,132,132, 64, 37, 36, 29,176,140,145,235, 90, 35,131,167,198, 32,133,
+231,201,232, 10,159, 40,205, 58, 4, 10,161,120, 52, 64,116, 29,181,116,153,204, 19,251, 49,190,207, 65, 10, 40, 97,121,226,122,
+190, 48,175, 88,123,199, 84, 40, 38, 90,161,180,201,163, 94, 44, 50, 5, 10, 37,168,124,226,250, 86,201,112, 62,176,190,120,103,
+124,155,247,127,171, 46,127,232,149, 29,189,178, 49, 63, 25, 63,118, 84,202, 94,142, 6,227,184,147,143,163, 40,206,199, 75,149,
+114, 24,217,237,162,196, 22, 10,171,243, 72,189,158, 78,114, 40,221, 38,147,209,246,171,154,157,189, 41,125, 15,165,209, 8,145,
+105,108, 81,100, 43, 91,206, 97,143,196, 33,208,235, 72, 29, 21, 33,138,203,129,140,144, 99, 10, 98, 22,229,136,148,208, 82,100,
+123,188,204, 35, 41, 25, 19,209,103,222,186, 86,130, 3,165, 57, 47, 10, 68, 8, 44, 82,162,142,145,101,190, 18, 83,212, 5,235,
+243, 13,220, 95,147, 60, 76,181,102,221, 15,208,132,252, 90, 92, 55,240, 73, 15, 27, 15, 6,190,190, 47,248, 58, 1,156,227,102,
+ 1, 7,139, 21,221,217,154, 73,253,152,178, 46,217,155,111,243,229,207,221,225,240,133, 93,202,218,242,232,124,195,233,186,101,
+181,233, 41,180,165,174, 74,162,148,116,131,227,120,213,240,240,116,201,134, 72, 16,146, 36, 21,169,119,248,161, 35, 70,151,127,
+ 55, 52,146,148,119,237, 86,211,167, 72,155, 18,109,140, 20, 18,190,249,246, 99,206,122,248,164,154,210,238, 22, 84,174,103,221,
+221,167, 90, 31,227,156,227, 95,135,129,217,162,225,197,162,228, 17, 37,187, 15,158, 50,105,246, 17,100,112,140, 83,138,161,208,
+ 28, 79, 44,198, 5, 78,149,224,205,157,130,223,250,218,125, 30,108,224, 63,187,190,155,149,181, 17,124, 8,124,126, 90,179, 61,
+181,156,165,200,245, 98,135,201,178,230,201,122,224,157,227,115, 68, 20,156,189,243, 17, 15,222,251,152, 15,138,119,121,225,215,
+126, 25,172,161, 45, 75, 44,150, 29,237,248,240,163, 5,205,249,134,237,253, 41, 91,123, 91,252,254, 87,255,130,116,117,159,120,
+243, 8,130,161, 22,240,202,151,222,228,245,254,152,223,252, 95,190,133,253,114,201,144, 2,123, 63,127, 3, 89, 87,236,206,175,
+176, 78, 9,163, 52, 71,202,176,103,115, 26,100, 66,226,186, 53, 47,138,158,117, 12, 28, 30, 93,163,156, 84,184,190,231,236,195,
+111,179,186,127,151,243,216,211,222, 95,114,173, 46, 41,129, 79,111,237,240,173,197, 25,161, 91, 17, 82,128,243, 39,188,121,245,
+ 5,190,116,176,203, 92, 72,124,140,252,230,251,223,231,230, 36,112,183, 79,121,154,110, 20,105,108, 34,136, 48, 87, 10,171, 5,
+ 58, 6,122,215,241,165,208,240, 71,235,101,158,132, 61, 61,207, 86,181,229, 34, 79, 32, 11,251, 35,188,230,233,111, 62, 27,255,
+182, 63,110,200,244,182, 49,145,115, 90,104, 58, 9,125, 31,185, 82, 41,156,149,156,181,158, 93, 23,153,106,201,218, 7, 54, 30,
+180,213, 57, 71,170, 46,185,182,189,207, 78, 49,229,102,109,185,163, 4,106,241, 24, 21, 28,127,201, 10,173, 36,115,223,161,181,
+198,214, 53, 73, 90,166, 69,238,127,103,117,205,212, 27,110,196,158,228, 28, 19, 99,168,103, 64, 31,120,219,195,220, 40,130, 86,
+108,155,130,137,177, 12, 36, 58, 41,217, 55,134, 67, 45,209, 93, 62,215,116, 72,116,222, 51, 12,145,223,121,218,227, 68, 68, 15,
+103,132,229, 26,180, 37,185,129,120,129, 4,149,144,250,241,117, 13, 54,251,250, 47, 34, 80, 69, 49,174, 25,199,139, 78,231, 71,
+ 29, 86,186, 4,128, 93,136, 36, 92,255, 44,170, 91, 4,184,219,182,212,133, 96, 54,230,158, 8,163,145, 49, 48,232,130, 20, 61,
+ 43, 33,233,181,161,141,145,132,164, 81, 5,123,186, 99,225,122, 30,217,154, 57,145, 77,202, 77,213,169,239,199,245,229,152,226,
+ 41, 13, 76, 74,250, 30,146,177,104, 4, 11,163, 81, 9,130, 82,108,138,154,159, 80,146,149,144, 44,132,160, 78,176,107, 20,143,
+ 66,228,101,173,121,170, 12,119,125,203,186, 83,204,170,154, 71,171, 99,136, 29, 71, 55, 95,103,245,238,159, 81, 81, 16,125, 71,
+ 10,137, 90,102, 65, 93,242,207, 16,152,204,180,228,110,227, 71,200,149,186, 36,184, 21,163,142,162,200,164,200,103, 7,110, 63,
+ 66,139,132,122,174,168, 59,127,201,123,253,113, 63, 77,155, 51,133,229, 15,141,151, 28, 16,187, 60,154,127,158, 15, 59,118, 35,
+ 57, 5,135,203,177, 19, 33,171,149, 13,121,199, 36,199, 55,243, 25,169, 73,141,108,227, 13, 84, 19, 84, 72,156, 7,199,118,204,
+233, 78, 90, 89, 54, 41, 82,138, 12, 5,152,218,146,251,155, 37,203, 24,185, 82, 27,190,127, 49, 82,211,112,220,122, 98, 18, 92,
+ 41, 21, 79, 26,232,230,137, 93, 18,139,148,173, 74, 87,101,230,232,106, 33,241, 8, 28,145,131, 42,119,115, 33, 64, 69, 46,244,
+ 86,107,122,151,241,138, 61,137,211, 16,152, 23,138, 7, 35,183,153, 97, 4,181,172, 54,207,252,248,161,105, 57, 50,138,183,151,
+ 45, 95,152,215,212, 85,129, 79,129,153,153,208,184,236, 19,245, 82, 83, 70,207,141,201,156, 7,205,134, 45, 35, 40, 5, 60, 93,
+181, 80, 87, 89,160, 83,106, 8,213, 72,124, 35,135,212,244, 99,177,246, 9, 38,228, 27,184, 30, 21,240, 23,171,142,139,177,129,
+ 31,121,211,186,200,157,177, 41,153,212,147,156,250,230, 19,182,146,112,158, 24,134,129,162, 40, 57,188,178,203,223,253,204,117,
+164,210, 36,145, 69, 26, 46,145,233,106, 82,144,124, 78,140, 43, 10, 73, 8, 41,111, 0, 18, 72, 41,179,121, 33, 64, 34,142,230,
+134,244, 44, 80, 71, 2,106,220, 27,102,198,120,100, 54,218,139,125,132, 38,100, 40, 79, 14,227, 20,204, 68, 66, 8,137, 45, 43,
+142,143,207,121,251,126,199,204, 10,166,133, 98,157, 70, 49,225, 69, 97,247, 23, 1, 1, 33,123,244,111,215,224, 36, 15,151,129,
+ 79, 98,226,221, 90,113,133,192, 21, 25,217, 44,207,168,239, 62,230,211,211,130, 23, 74,205,164, 42,176, 74, 50, 49,134,162,180,
+204,234, 2,107, 52,206,141, 80, 26, 21,243,168,174,168, 32, 37,130, 50,248, 21,200, 62,161, 99,200, 62,124, 4, 49, 6, 98,231,
+240,235,158,197,201,154,132,224,241,249,138,234,253,123,156, 76, 42,238, 79,246, 57,156,148,220,153, 77,249,120, 50,229,252,227,
+125,228,174,163, 57,237, 88, 29, 9,222,245, 3,159, 58,152,243, 7, 83,205, 71,255,235,255,199,250,147, 99,170,249, 22,113, 62,
+ 33, 20, 37, 87,175,239,112,227,206, 14,157,128,247, 31, 44,120,177, 42,217,185, 49,231,188,247, 76, 66, 66,185,200, 63, 56,172,
+153, 36,208, 62,113, 69,229,176,141,118,106,249,211,147,150, 38, 70, 86,171,134,214,105,218,135, 13,215,127,234, 38, 79, 11,195,
+ 45,109,120,233,229, 27,220, 83,146,189,190,225,218,235, 45,103,143, 30, 48, 63, 60, 66, 77, 12,182,123, 68,122,119,159, 52,109,
+184,117,235, 58,169, 56,224,181,197, 61, 42,161,248,149,127,122,155,213,100,155,101, 40,152,238, 28,208, 3,171,224,121, 41, 4,
+ 42, 5, 91, 74, 51,179, 80,203,132, 78,142, 85,232,104,135,134, 36, 11,166,214, 82,149, 5,231, 85,201,176,253, 18, 31,156, 46,
+249,252,201, 35, 90, 35,248,189,199,199,252,194,213, 61,190, 33,160, 76, 18,191, 60,193,223,127, 64,216,221,167,174, 37,197,225,
+ 54,161,152,210,233,146, 55, 14, 15,153,107,216,234, 29,223,110,251, 81,185,238, 73, 66,243,238,224,249,169,118,193,141, 80,211,
+250, 14,227, 29,177, 95,231, 93,249,201, 34,171,172,155,238, 7,241,166, 74,254,208, 63,251,191, 18,110,243, 31,157, 43,127,241,
+103, 14,249, 49,151,163, 76,233, 74, 93,242,120,227, 40, 10,197, 84,128, 76,137, 32, 4, 87, 38, 5,171,113, 63, 43,172,162,212,
+150,235,179,125,246,118,182,185,105, 44,183, 66,131,177, 37,221,234,132,253, 98,139,143, 54, 11, 14,148,193,147, 24, 16, 76,234,
+130, 66, 25,170, 66,161,164,229, 72, 43,174,166,130, 32, 27,172,138,244, 1,110,109, 77, 16,177,227, 65, 93,208, 88,240,218,144,
+140,161,141,129,181, 79, 60,236, 58,110,148, 2, 75,228, 64, 43, 54,110,192, 13,158,213,162, 69, 63, 62,135, 20,114, 60, 47, 25,
+ 42, 21,184, 12,203, 73,189, 71,104, 77,234, 7,114, 12, 12,249,251, 90, 75, 8,125,222, 19, 95,212, 5, 61,234,178,180,186, 76,
+208,188,200,216,186, 40, 96,195, 0, 91, 19, 24, 2, 31,172, 29, 98,170,249,194,164,226, 97,204,251,241, 34,102,230,135, 19, 10,
+ 27, 2,131,202,158,140, 45, 47, 88, 75,197, 92, 72,222,117,145, 37,137,164,244,136,184,214,121,109,172,199, 6, 67,251, 92,224,
+171,154, 32,192, 35,176, 82, 33,148,100,219,148,120,224, 84, 91, 78,253,192, 34, 68,246,203, 9,149,144,120, 35, 57,117, 45,199,
+ 99,156,107, 72,142,123,235, 83,110,137,196, 98,121,130,191,251, 22,110,179, 4, 60,173, 79, 92,213,153, 8, 89, 5,129,151,130,
+ 33, 66,239, 2,167, 62,159, 59,249, 66,246,156, 88, 58,166,220,252, 92, 76,132,205,115,214,242,190,135,117,243, 67,150, 54,239,
+255,102, 17,200, 5, 12,228, 34, 10,209,140,240, 3, 51,142,135,109,145,255,122,214, 28,164,188,203, 29,134,203,255,103, 24,227,
+238, 10, 9,171, 53,204,103, 25,217, 88,141, 0,152, 16,115, 8,141, 28,129,241, 50,145, 82, 96,170, 44, 51, 45, 41,148, 70, 11,
+ 8, 98,132,133,164, 64,235, 2, 66, 73,206, 66,224,254,102,160, 31, 65, 49,155, 33, 50, 83,146, 62, 69, 54, 81, 16,164,160,113,
+145,121,105, 80, 18,106, 99,105,147, 96,183,208,248, 81,249, 46,149,102,229, 61, 67, 8, 57, 13, 45,194, 32,115,177,121, 48, 12,
+ 4,153,253,216, 69, 82, 60,246,185,211,234, 47, 20,215, 23,182, 61, 55, 22,121, 33, 24,156,103,219,100, 91,220,142,177, 84,198,
+114,238, 58,172, 50, 36, 33,136, 33, 96,146,100, 16, 96,165,192, 73,129,219,180, 92,153, 84,156, 54, 45, 68,216,154, 22,244,221,
+144,181, 10,105, 92, 81,232,231, 4,117, 62,140, 30,244,139,214, 54, 94,134,212, 92,208,239, 82,204,227, 44,109,161,237,248,236,
+155,159, 97,190, 55,231,244,248, 28, 31, 96, 50,157,178, 60, 89, 81, 79, 38, 92,217,219,226,221, 79,214,188,112,101, 62,142,202,
+101,166,177,141,193, 85,125,200, 25, 1, 89,148, 47, 40,108, 78, 40,147, 34,143,233,253,168,198,245, 33,226, 67,194,187,108,105,
+ 84,241, 66,249, 30,192, 7, 66,235,232,154,129,174, 15,196,193,227, 82,100, 21, 28,201,199,108,135,139,145,171,251,187, 28, 28,
+238,242,206,219,239,243,222, 73,195,178,117,172,134, 17, 81,219,135,188, 12, 59, 30,133,138, 25,223, 4,103, 14, 38, 18,185, 93,
+225,251, 56,106, 57, 37,243, 90, 83, 25,203,164,158, 34,181, 37, 84, 22,105, 53,189, 15, 28,159,183,244,157,163, 42, 53,211, 73,
+137,210, 18,239, 60,109,215,211,245,217, 98, 39,180, 34, 70, 75,194, 18,140, 70, 10,205,118, 81,115,125,190,205,225,100,206,196,
+148, 76,149, 97,191, 40, 41,146, 68,205, 45,178, 46,105,107,139,208, 2,206,150, 76, 39, 19,110, 29,212, 52,202,208,238, 77, 16,
+170, 96, 82, 22, 84,243, 18, 61,155,178,127, 56,229,202,225,148, 99, 49,229,251,201,210,204,106,228,225, 46,147,171,115,156, 86,
+ 60, 10,112,114,222, 99,181,165,124,113,155,117, 59,112,122,210, 48,108, 28,243, 29,131,248,232,148,151,246,167,136, 0, 86,231,
+ 56, 76,149, 18, 47, 84,130,155, 83,195, 7,143, 60, 11, 57,103,101,225, 74, 33,216,185,122,200, 78,105,104, 3,248,178, 32, 77,
+166, 32, 38,108, 85, 37,219,135, 59, 60,126,186,226,159,124,230,243,252,131,255,242,167, 57,122,227, 14,213,233, 19,134,167, 31,
+243,130, 45,137,102,194,244,240, 6,147,131, 79,177,127,227, 58,182,174,152, 78, 39,204, 37, 28,106,195, 22,138,173, 34,113,160,
+ 52,179, 24,208,190,103,238, 6, 78, 22, 43,246, 82, 71, 85,212,180,211, 41,117,239,249,104,240,220, 48, 5,119, 69,226,134,138,
+188,148, 4,223, 76,138, 95,170, 45,239,161,144, 66, 35,241, 8, 23,120,176, 25,216,173, 5,247,134,129,148, 36,183,235,138, 93,
+ 91,177,109, 44,239, 56, 79, 24, 57,214,194,121, 98,236,249,254,114,205, 46, 61,186,239, 89,117, 11,254,229,135,143,224,254,113,
+ 30,133,187, 31,218,125,203, 81,159, 18, 70,190,130, 28,187, 84,255,159, 0,136,121, 54, 69,139,151,205,118, 28,207,138, 36,168,
+172, 34,133,132, 23,130,237,164,120,109,111,194, 79,237,109,241,234,124,202,212, 72, 2,130, 86, 9,182,180,225,198,116,198,220,
+150,236,213, 19, 94, 41, 11, 74,109,216,149,146,169,202,126,117, 45, 45,219,214, 98,149, 98, 87, 89,166,166,224,160,168,216,211,
+ 21,187, 41,114,104, 44, 7,186,100, 91, 21, 76, 80, 76, 76,205,188,156, 48,177,154,235, 86,179, 63,157,113,168, 37,187, 2,182,
+ 84, 68,118, 29,133,115, 44,215,107,142,130, 71,227,217,180, 61,199,231, 13,127,113,186,100,117,214,142, 22,219, 1, 17,179,240,
+239, 50, 66,220, 95,254,174,207,191, 30,241,121, 29, 86,200, 89, 26,207, 24, 23, 98,244,105,143,103, 91,161, 47, 99,195, 73, 96,
+ 44,194,103, 55, 65, 72,112, 10,196,145,124,104,165,198, 11,129, 23, 57, 41,206,169,172, 53,216,140, 60, 17,139, 96, 41, 19, 8,
+205,146,144,111,231,114,116, 4,153,139, 32,151,145,241, 33,115,214, 71,146,144,148, 36,152,146,137, 50,217,222,172, 52,115,169,
+121, 34, 52,218, 90, 10, 91,162,144, 60, 9,158,162,172,184, 35, 5,247,146,128, 48, 48,183, 37, 65, 89,170,208, 99,250, 6,101,
+ 13,209,123,172, 72, 56,145,181, 71, 49, 4,150, 33, 19,244,136,137, 39,109,164, 75, 99,232,140, 80,227, 45,125, 20,204, 41,123,
+185,106, 45,205, 88, 43, 85,182,185,141,103,244,127,218, 79, 61,201, 5,164, 75,204,127,226, 14,203,119,238,229, 20, 36,115,161,
+146, 31, 59, 43,173, 71, 47,233,216, 93,116, 49,171, 29,235, 45,216,173,145,186, 32, 94,164,165,117, 62, 23,253,114,228,141,203,
+ 44,246, 58,243, 1, 71, 34,137,200,169, 15,108, 9, 65, 82,154,193, 59, 64,176,240,158, 62, 68,102, 82,178,136, 9, 41,229,248,
+ 98,141,117, 78, 93,140,254, 5,223,111, 19, 91, 86,176,155, 2, 83, 11, 79, 7,199,212, 90, 54, 41, 49, 9,238,242,134, 43, 5,
+ 40, 79, 10,154,211,152,152, 26,147,131,108,148,160,197,211, 15,130,190, 16,185,177,121,102, 51, 35,219,199,116, 22, 5,246, 33,
+239,168,139,152,232, 4, 48,116,212, 69,205,248,209,205, 89, 11, 70, 83,199, 72, 7,236, 1, 15,132,160, 78, 61,159,155,105, 60,
+154, 10, 79,179, 59,201,187,100, 3,119,151, 21,125,232, 47, 87, 32,210, 65,127,177, 79,231, 50,138,183,176,227,141,126,180, 46,
+132,113, 74, 82, 88, 54,171, 14, 63,238,232,125,219,211,156,181,172,155,134, 33,120,166,243, 9,235,179,200,241,249, 6, 43, 4,
+ 82, 10,172,214,232,145,196,102, 20,156,167, 8, 93,196, 26, 49, 58, 81, 69,158, 96,165,252,181, 14, 41, 63,156,140,217, 38,231,
+ 70, 12,171,243,158,228, 60,214, 5,116, 4, 55, 4,206, 7, 71, 59, 12, 52,222,161, 60,164,152,144, 66, 48, 51,134, 43,202,178,
+131,228,221, 71, 11, 58, 61,126,177, 87, 62, 63, 0,140,184, 89,178,109,109, 29, 97, 42, 97,237,225,173, 13,113, 94,160, 42,147,
+117, 1, 41, 49, 51, 5, 91, 85, 69, 93, 20,244,193,113,114,182,121,150,213,227, 55, 3,194, 69,156, 82, 76,230,142, 9, 16,189,
+199, 24, 73, 89, 25,166,157,165, 25, 34,102, 42,232, 6,139, 76,150, 98, 54,231,149,121,193,107,179,138, 74, 8, 66,231,104, 87,
+ 93, 78,206,219,177,120, 13,117,173,153, 76,118,152, 78, 45,190,141, 52,205,128,144,112,125,215,240, 66, 50, 28, 92, 41,120,184,
+242,156,135,192,233,178,163,233, 60,199, 77,192, 27,197,193,139, 7,108, 29, 84, 76,182, 11,234,144, 16,189,167, 43, 4,147,173,
+ 57,202, 57,190,119,188,230,233,131, 37,171,147,150,183,255,213,191,227,149,255,238,191,230,255,248,247,111, 33,222, 62,231,103,
+127,233, 85, 84, 44, 16, 86, 19, 67,194, 68,216,171, 53,191,254,197,107,124,245, 91, 15, 56,108,175, 80, 46,159, 98, 30, 46,240,
+181,229,112,174, 49, 30,150,201, 80, 94, 55, 12,141,101,253,228, 41,191,246,153, 79,241,185,219,135,252,179,255,251, 27,188,247,
+206,219,156,223,250, 60,101, 45, 57,223,222,102, 90,109, 35,119,182,153,204, 10,202,105,129, 34,209,172, 91,180,154, 50, 44, 55,
+ 40, 25,217, 18,134,210, 13, 24, 63, 32,137, 12,174,227, 85,237,249,131,183, 63,228,211,119, 63,160,252,212,171, 44,119, 95,226,
+203, 74, 48,173, 44, 95,188,249, 50,230,250,117, 86,237, 57,243, 79,238,242,213,179,142,191,183, 83,241,241,149, 25, 31, 60,109,
+145, 74,225,106,203,191, 57,107,152,118,138,175,236, 40,174, 85, 91, 68,173, 80,205,154, 45, 37, 57,142,153, 51,145, 98, 78, 72,
+ 91,106,197,111,156,159, 49, 77,176, 56, 89,193,217, 57,162,235, 72,234, 71,156,105,126,212,164, 92, 68,178,186, 17,190, 97,117,
+190,160,180,253, 95,109, 4,254, 67,111,234, 23, 66,186, 8,187,159,189,195,233, 71, 79,152,138,192, 68,107,174,238, 90, 94,153,
+205, 56,170,103, 36,169, 56,242, 1,193, 57, 83, 34,131, 79,108, 27,201,204, 42, 84,138, 36, 37,217, 83, 10, 29, 2,186, 40, 8,
+ 17,246,148, 39,186,129,151,132,200, 35,114,215, 51,137,130,210,123,102,182,196, 4, 79,169, 20, 69, 89, 99, 38,134, 48, 68,154,
+245,130,217,100,135,232, 61,125,223,208,108,214,180, 93,203, 98,211,242,198,224,121,176,110,120,228, 60,167, 90,243,205,174, 99,
+224,255,103,237, 77, 98, 36, 77,243,243,190,223,187,126, 91, 44,153,145, 75, 85, 86, 85,215,210, 93,221, 51, 61,156,157, 67, 14,
+ 57, 36, 37, 82,150,185,192, 48, 33, 27,180, 1, 95,228,131, 47, 6,124, 48, 4, 24,240, 73,128,225,139, 1,195,128,125,240,193,
+ 7,249, 98, 2,186,200, 2, 40,203, 20, 32,153,139, 8, 82,148, 72,145, 34,197,153, 86,207,116,207,244, 82,221, 85,213,149,149,
+107,100,196,183,189,155, 15,239,151, 85, 77,114,108,211, 26,246,169,208,221,200,202,140,140,248,254,219,243,252,158,200,199, 62,
+ 48,196,145,170,148, 19,188,230, 83,181, 23, 72, 83,190,247,167,145, 17, 9, 16,222, 79,209,203, 58, 11,124, 39,253,128,144,110,
+ 0, 0, 32, 0, 73, 68, 65, 84,198, 12,169,203, 53, 35, 76, 27, 99, 83, 78, 19, 85,200, 53, 67, 76,153, 24,184,108,243, 27, 2,
+148,146, 48,122,190, 73,207,144, 4, 95, 89,104,230, 82, 51, 18,104,148,161, 11,129, 30, 48, 74,115, 21, 34,131, 86, 28, 6, 8,
+ 41,178, 22,138,129,172,157, 17, 74, 17, 98,204,104,221,232,166,237,114,145, 79,198,170,129,137,204,183,150,138,215,141, 97, 68,
+177, 86,154,195, 8, 87, 90,114,144, 4, 79,148,224,142,153,115, 25, 70,222, 46,231,220,102,195, 99, 96, 29, 34, 42,118,220,212,
+ 37,224,121,214,109,184,103, 11,210,152,104, 19,132, 16, 72, 65, 48, 34,145, 24,158,143, 25, 16,148,195,185, 66,174, 35, 74,102,
+235, 85, 93,101,149,187, 45, 50,187,228,250,197, 45,203, 23, 37,235, 7, 11,116,169,203, 23,201, 49,111,254,212, 15, 99,181,226,
+226,248, 98,162,209, 77, 44,243,248,169,172,206, 76,230,200, 19,108, 59,100,161,211,124, 6, 77,141, 44,116, 86, 92,247, 35, 92,
+173,243,215,190, 78,114, 19, 47,211,192,230, 70, 49,196, 12,239,111,167, 80,148,150, 72,231, 35, 1, 88, 15,158, 83,239,115,122,
+155,204,211,101, 10, 57, 95, 55,143,149, 83, 41,157,160, 30, 82,234,140, 1,148,153, 73,110,148, 96, 27, 34,123, 74, 50,151,154,
+109,244,236, 72,137,146,240,201,198,211,163,208, 18,206,131, 32, 34,169,180, 98,136,226,101,247, 45, 39, 50, 73,152,168,120, 46,
+163, 20,215,253,200,253,166,102,183, 40,232, 17, 84, 66,162,148,164,139,137,218, 24, 98,140, 12,193, 83,105,203,214,141,212,133,
+162,241,142,135,210, 32,146,224, 10,201,171, 74,177,171, 37, 94, 8, 62, 95, 20,124, 36, 5, 97, 24,115, 55,231,166,224, 23, 89,
+230,155, 57, 62,223,133,220,148,171,172,124,166, 84,185,248,194,250,246,214,219,223,230,151,126,233,231,216,180, 46,131, 85,124,
+ 98,216, 14, 92,182, 3,149, 45,121,248,218, 13,118,155,130,222, 7, 8, 57,101,205, 76, 64, 35, 73,162, 31, 60, 91, 23,104, 93,
+194, 74,137, 53,249, 53, 12, 36, 98, 72,140, 33, 48,186, 56, 61, 88, 50, 39,158, 20,233,221, 52,149,247,158,147,118,228,162,115,
+180, 62,131,102, 46,199,108, 99, 25,198,158,232, 3,115,101, 89, 52,101, 22,211,125,243, 99, 94,187, 10,236,123,193,221, 91, 5,
+143,174,223, 27,149,124,153,206, 86,146,207, 58, 33,193,131, 18,154,252,250,213,141,226, 70, 83, 48, 43, 11, 14,235, 57,165, 54,
+ 40,107,176,214, 18,133,192,143,142, 97,219,211,110, 91,132, 53,212,149, 69, 10,232, 6,199,229,118, 96, 24, 29,163,243, 68,159,
+208, 66, 82,207, 53,133,209, 84,139,146,215, 15,231, 28, 29, 52, 44, 22, 21, 85,109,176, 69,206, 92, 55,141,102,119,111,134, 20,
+145, 79,158,108, 88, 46, 74,234,218, 80, 87, 6, 99, 21,139, 66,113,179, 80,236, 91,195,172,210,232,198,176,179, 44,217,158,245,
+180,219,158,110,219,161, 43,205,108,183,192, 26,137,114,129,184,245, 96, 37,221,186,227,234,209, 25,103,127,248, 61,254,232,111,
+255, 35,174,126,243,219,168,143, 71,222,252,143,191,204,235, 95,125,192, 31,254,218,111,240,214, 63,120,155,215,191,112,151, 54,
+ 70, 46, 98,160,182,130,170,176, 88,173,208, 11,195,229, 7, 29, 95,118,138, 97,188,162,171, 74,116,109,249,162, 27, 24,147, 32,
+218, 2,105, 45, 97,127,151, 79,198,145, 95,253, 59,255, 59,199,127,237,231, 40, 94,249, 12,183,239, 29,177, 58,184,193,108,181,
+135,106, 26,154,101,197,172,177,212, 86,103,122,160,247,232,209, 81, 14,158, 57, 30,237, 28,115,109, 56, 48, 5, 59,163,103,214,
+181,236,246, 35,111,218,130,207, 55,115,142, 46, 79,249,209,122,198, 23,234, 25,111, 44, 86,188,214, 44, 89, 21, 13, 69,217,112,
+ 65,100,102, 5,172,118,216,111,102,220, 61,216,229,196, 40,130,206,205,126,144,154, 31,155,207,168, 4,120,239,113, 49,208, 59,
+199,199,235,109, 14, 91, 57,187,130,203, 22,113,118, 65, 26, 60,195,101,159,183, 59, 50,175,156,196, 4,208,249,127, 12,171,178,
+ 19, 58,187, 48, 25, 82,163, 77,126,182,125, 90, 36,252,255,245,143,148, 47, 79,145,159, 38,226,148, 22, 10, 75,119,182,201,124,
+245, 36, 56,216,169,120, 56,111,184,211,204,153, 43,141, 85,134, 72, 98,207,150, 92, 5,207,188,208, 52, 82, 82, 40,195,162,108,
+168, 35,236, 38, 65,153, 28,209, 71,124, 20, 84,202,176, 40,106,106, 99,153,233,130,133, 20,212, 50, 79,150,141,176,148,202, 80,
+151,115, 36, 54,171,250, 83,162,158,175,168,202, 57,133, 45, 41,164,160,180,150, 89, 89,178,154,213,220, 60,216,227,230,193, 46,
+183,247,151, 28,220, 62,228,232,112,193,155,183,110,114,127, 94,242,198,254, 42,111,193,148,102, 43, 18,201, 65,210, 50, 39,103,
+126,159,130,254,231,252,252,113, 90,183,199,148, 7,174,235,201, 61,168,140,201, 86,102,154,162,205,203,215,109,130,200,160, 12,
+226,186, 41, 51,121, 53, 30,147,160, 52,138, 66, 41,198, 24,137, 19,235,100,155, 34, 66,107,198, 16, 49, 69,197,133,243, 28,218,
+ 2,132,164, 81,138,185,178,108,100,230,151,100,198,135,153,232,158,229, 11,160, 87,146,138,207, 21, 13, 91,169,179,218, 62, 9,
+180, 86,236, 34,121, 79,192,171,218,210, 11, 65, 43, 20, 23,227,128,156,182,202, 3,144,148,101, 37, 37,167,126,228, 94, 81,225,
+124,160, 52, 5, 78,106,182, 33,226,141, 70, 26, 67,151, 96,144, 18, 79, 34, 12,110,154,250, 38, 79,122, 97,242,107,164,174,183,
+216,230,229, 16,169, 36, 86, 10,130,209, 63, 96, 81,151, 19,143, 56,193,201,199,207,184,248,222,211, 9,101, 39,255,244, 77, 74,
+234,151,197, 93,201,172, 50,245,125, 22,169, 44, 22,160, 4,105,116,176,238, 50, 37, 39,201, 9,123, 23,114,135, 44, 21,140,158,
+202, 74,132,130,185,214,180,206,103,228,235,208, 35, 83,190,131,131,228,233,118,224,108, 66,143, 18, 32,133,144,115,192,211,244,
+166, 49,246,133,170, 92, 10, 73,175,114, 13,168,117, 66, 41, 77,129,100, 87,103, 2,207,214, 7,110,106,195,165,119, 92,186,200,
+ 43,165,224, 59,237,200, 16, 37,141,200, 69,189, 83,137,116,253,206, 82,217, 7,253,162,129,241,147,234,220,121, 80,130, 82,102,
+ 20,226, 43,205, 12,161, 20, 34, 6, 42,109,112, 49, 32, 17,184, 24,241,126,164, 52,154, 98, 28, 89, 37,193, 54, 38,110, 21,154,
+ 93, 45,105, 99, 98, 68,114, 71, 75, 78, 82, 96, 12,129,171,160,178, 40,143,240, 50, 16,199, 95,175,228,253,203, 53,141, 79,121,
+ 69, 86,218, 23,144,130, 95,248,247,127,129,187,175, 30,177, 94,119,180,219, 22, 55,142,140, 19,225,109,103,177, 64, 72,197,106,
+ 86, 49,159, 23, 64,166,227, 73, 33, 24, 66,162, 31, 61, 67,240, 88, 18,221,144, 3, 92,140,150, 36, 9, 33, 10, 66,140,196,152,
+178, 47, 61, 68, 34,249,207, 17,129,144, 80,164,108,183,233,187,145,181, 11,108, 83,196, 13,142, 34,230,200,213, 49,100,238,128,
+ 78,153,141,220, 1,191,246,214, 35, 68, 23, 41, 37,136, 33,113, 62, 70,190,114,183,225, 39,238,204,248,185,210,240, 83,175,214,
+188,118, 88,210, 61,172,216,155, 75, 78,199, 8,165, 64, 42,197,172, 52,212, 70, 50,183,150,253,197, 46, 50, 66, 81, 87,216,178,
+ 64, 11, 73,236,115,116,106,136,129,166,170, 88,148, 6, 23, 2, 39,235,142,227,179, 13,237,101, 71,215, 13,120,159, 83,241, 12,
+ 18,165, 65, 25,133,109, 10,230,149,193,216,220, 56, 6, 35, 73,149, 70,107, 56,220,105,176,133,102,177, 83, 83,149,134, 40, 21,
+ 74,201, 28,202,151, 18,133,139,148, 61, 36, 33, 24,172, 64, 43,201,106,127,198,114, 89,226,189, 39, 8,193,191,250,149,223,229,
+189,111, 62,226,198, 98,135,245, 39,151,124,247, 15,255,132,239,254,238,159,240,123,255,203, 31,243,248,183, 62,200,233,119, 40,
+ 36, 1, 22,145, 31,254,233, 31,226,222,143,127,158, 94, 25,126,235,215,255, 25, 7,183,143,184,212,138,221, 90, 83,219,108, 13,
+221,169, 44, 39,251, 13,247, 14,231,204,223, 63, 99, 45, 34,135,165,102, 39, 68, 46,158, 93,177, 45, 11,234, 89, 65,219,123,214,
+169,192,124,229,171,148, 70,177,218,171,152,151, 6,163, 20,218,228,207,122,109,196,139, 39,182,117,158,114, 24,144,219,145,153,
+246, 28, 10,201, 13, 93,240,197,162,226,168, 42,121, 80, 46,184,191,115,131, 7,119, 30,242,224,246,125,142,118,110,113,115,182,
+207,222,114,159,157,131, 61,234,162,166,218,205, 81,153, 85, 80,244, 30,134,228,152, 23, 5, 55,155, 37,141, 49,236, 23,146,247,
+ 7, 15, 72, 66,138, 52,140, 28, 25,195,156,196,243, 97,195, 63, 60, 59, 39, 73,248,194,162,164, 22,158,139,147,233,110,238, 70,
+ 16, 2, 33,114, 40, 19, 58,175, 43,179,216, 52,252,121, 32,135, 41,243,218,211, 76,159,111, 61,177, 33,162,255,139, 23,245, 79,
+107,139, 94,168,233,203,188, 54, 45,154, 12,194, 41,243,234,118,183, 48,220,168, 13, 71,166,100, 89, 20,204, 76,137, 4,106,165,
+ 8,164,156, 82,153, 50,169,177,138, 17,225, 6,172,243, 84,222, 81, 41,203, 24, 35, 85, 81, 33,133,164, 48, 10, 37, 36, 18, 65,
+ 74,130, 74,107,164, 0,107, 42,170,229, 14, 66, 90,116,105,145,218, 98,154, 6,101, 76,230,195,199,136, 20, 57,153, 82, 41, 77,
+ 89, 55,104,101, 41,139,146,217,124,151,133,169,185,189, 60, 96,175,106,216,173, 27,238,204,230,216,194,240,112,103, 65,242,129,
+ 79, 4,164,249, 33,209,119,153,143, 30, 35,233,251, 20,116,241,233,194,206,167,132,188,215,156, 20,117,189,158,143, 47, 99, 70,
+175, 29, 60, 90,252,169,190, 64, 76, 95,188,117, 17,167, 37, 46, 38, 26,153,208, 90, 35,164,230,156,140,204,141, 49, 23, 79, 23,
+ 35,117, 89,210, 37,197, 40, 36, 27, 20,133,212,204,164, 96, 43,212,196, 9, 17,211, 10,126, 66,112,203,130, 59,182,224,105,130,
+ 91, 90, 83,107,197, 59, 18,238,170,130,103, 4,142,164,224,189, 16, 88, 41, 77,157, 18,167,198,114, 11,120,230, 51,151, 69, 24,
+201,101,146,252, 84, 85,225,130,231,245, 89,195,190,150, 84, 86,243,165,217,140,189,186,225, 94, 97,121, 88,215,156,166,200, 37,
+146,116,157,228, 70,200, 53, 48, 94,231,128,144,201,173,215,129, 95,218, 66,146, 36,242,249,246, 7, 43,234, 33,228, 78, 75, 76,
+119,246, 52, 37,241,148, 38,119,184, 97,202, 85, 15, 33, 23,255,235,187,210, 56, 78,111,244,204,114,167, 29,178,186,187, 31,243,
+135, 69, 77, 10, 63,171, 94, 78,235,165, 69, 68, 88,104, 77, 39, 97, 97, 45,235,209, 49, 51,154,110, 74, 20,218, 6,143,210,138,
+139,126,186,133,167,188, 14, 15, 62, 76,112, 28,253, 18,126, 35, 68, 22,124, 69, 8, 99,164,148,217,163,222,135, 64, 35, 5,109,
+140, 40,160, 19, 76,111,116,193, 71,193,115,168, 36, 39, 67, 96,144, 2, 23,179, 55, 49, 75,193, 95, 6,138, 76,161,228, 83,145,
+141, 47,188,168,103,189,231, 51,203, 25,125,138, 84, 74,224,147,160, 16, 80, 75,141,115,142, 82,105,180,204,162,182,165, 82, 24,
+ 50,145, 46, 41,145,255, 10, 37,153,135,196, 25,130, 61,173,168,148,230, 56, 74,156,152,254,174,126,200,239,114,165,114,160,139,
+148, 89,128,120,189,194,113,126,210, 61,100,229,100, 88,204,248,202, 23, 31, 50,244,158,174,115, 4,231,240, 19,250, 85,164,196,
+195,215,142,152,213, 5, 59,179, 34,115,117, 2, 72, 45, 9, 33,178, 25, 29,151, 87,158,110, 12,164,152,111, 65,102,250, 62, 37,
+146, 20, 18,129,196,232, 34, 99,200,104, 74,145, 34, 86, 64,149, 50, 38, 22, 31,216,142,158,245, 24, 24, 59,135,115,142, 2,120,
+238, 60,235, 20, 72,222,209,199,192,108, 49,231, 81,187,229,215,255,201, 7, 60,146,129,247,206, 28, 31, 92, 57,134, 51,207,199,
+207, 29, 31, 94,246, 28, 24,184,245,165, 59,252,200,195,215, 41,142, 14,184,163, 3, 63, 84, 43,126, 98, 94,177, 42, 18,181, 16,
+164, 4,203,210,114,179,217,161,158,205, 40, 22, 53, 86,233,204,100,146,249,119, 22, 2, 44,230, 53,135,179, 18, 66,224,252,116,
+195,241,211, 51,182,235, 43,252, 48,226,188, 35, 57,143, 74,137,224, 61,206,193, 48, 38, 98,161,137, 74,210, 43, 65, 42, 13,205,
+178, 64,156,111, 40,254,245, 19,222,189, 88,227, 17, 72,151, 72,218, 80,104,157, 5,133, 36,132,139,200, 36,136,133,202, 41,130,
+217, 9,136,213,138,157,155,115,102,251, 53, 95,254,201,207,241,141, 47,191,198,215,239, 46,217,185,183,199, 87,190,244, 6,255,
+252, 95,109,217, 14, 11,228,113, 64,208, 79, 69, 29, 22,111,214,232,162,228,225,205, 5, 95,255,252, 17, 15,126,244,179, 60,223,
+175,216, 43, 53,149, 75, 84, 74,162,173, 70, 22,146, 7,187, 37,197, 97, 69, 58,168, 89,188,187,229,234,124,160,235, 70,254,232,
+120,160,154, 43,124,136,140,235, 17, 51, 4,118, 18,148,203, 18,229, 19,138, 68, 97, 36,113, 59,146,188, 71, 38,137,116, 1,209,
+142,212,253, 72,108,183,104, 34,183,133,230,205,178,225, 70, 89,112,179,110, 88,205,102,212,203, 5,229,206, 28, 93, 26,172,178,
+ 24, 4,182, 44, 49,179, 10,213,212,232,202,162,171, 2, 85, 20, 88,107, 88,120,205,111, 15,129,207, 53, 13,101,213, 80,107,139,
+ 72,145, 66,120,158, 62,187, 36,125,112,204, 7,255,215,247,216,185,111, 24,199,150,199, 23, 23,188,211,122,126,246, 96,151, 47,
+238, 30,242,234,206,146, 15, 82,160,221,110, 50,222,118,162, 41, 10, 49,185, 69,234, 10,154,102,138, 48,253,148, 86,136, 41, 2,
+238,122, 82, 20,249, 62,154,113,157, 67,254, 44,253, 69, 7,159,235, 33, 71, 22, 57,113,171,106, 96, 94,231, 7,180,214, 44,172,
+ 98,169, 36,123, 11,131, 1, 30, 86, 53,145,108,169, 45,165, 32,166, 56,125,174, 96,244,217,109,161,200,216,106, 43, 4,115,105,
+176, 73, 98,173, 38,133,152, 83, 19,125,100,219,181,108,251, 43, 68,116, 8, 4, 82, 40,164,136, 24, 85, 32, 85, 66, 8,131, 42,
+ 12, 56,151, 49,206, 82,230,144, 24,231, 16, 90,163,109,129, 68, 99,108,133,178, 21,214, 52,216,170, 65,106,141, 45, 42,138,162,
+ 38, 42,195, 65, 61,103, 67, 98, 89, 21,124,243,108, 64,223,219,197,159,158,229,154,108, 20,233, 26, 64, 38,167, 9, 94,235,191,
+ 24,126,220,232, 28,212, 99,228,196, 43,153,238,235, 98,138,245,142,113, 18,253,102, 56, 24, 70,210, 38,184, 97, 45,181, 53, 12,
+ 82,146, 84, 14,185, 84,202, 18,100,110, 70,163, 84,196, 32,152, 87,150,109, 18, 84, 74, 19,164,160, 81, 6, 33, 5,133,146,116,
+241, 90,155, 52, 21,118,165,153, 11,197,171, 69,197, 73,204,191,155,165,178,108, 17,116, 40, 66,146,220,144,138, 36,178, 88,120,
+ 30, 35, 31, 2,165, 41, 9,228, 96, 46,165, 21, 59, 82,114,171, 50,220,211, 37, 91, 4, 51,105,216, 74,197, 74,149, 12, 74, 83,
+ 40,205,205,178,102, 16,130,211, 48,109, 42, 70,247, 82,139,161,204, 20,179, 42, 94,164,222,161, 45, 74, 25,146, 82, 4, 85,254,
+ 37,228,169, 95,175, 76,174,253,155, 77, 61, 21,177,235, 28,239, 79,197,203,169,201,203,221,141, 89, 24, 81,152,233,126, 49, 21,
+160, 41, 44, 5,145,253,206, 47, 86, 11, 50,175,151,157, 53,204,180,230,187,155, 45,243, 66,179, 52,134, 53,153, 94,212,198, 64,
+ 7,116, 78,112, 17, 2, 98, 12,153,169,155, 34, 47,118, 52, 98,250, 30,194,212,125, 43, 5, 62, 32, 75,205,166, 31,153,149,138,
+218, 26,146,247, 44, 11,203,214,123,218,224, 9,192, 54, 38,138,152, 56, 13,137,237, 48, 78, 65, 41,215, 30,252, 63,251, 65,158,
+ 86, 38, 76, 63,127,120,201,163,126, 60, 70,110, 53, 22, 71, 98, 71, 74,118, 76,193,102,220, 98,180,129, 48, 16,164,193, 6, 79,
+ 99,114, 51, 82, 41, 73, 36,161,149, 68, 75,197, 73, 74,236, 33,121, 26, 3, 43,109,176,181,228,233,224,167,201,156, 60,141, 79,
+ 62,234, 23, 98, 69,145,166,135,213, 84,153,125,142,171,187,120,118,204, 87,127,236,135,113, 99, 94,135,199, 4, 33, 36, 54, 93,
+143,235, 3,139,221, 37,187,243, 38, 39, 1, 78,248,211,124, 51,207, 2,184,182,243,116,131,207, 73,142, 49,162, 84,142, 61, 84,
+211, 41, 98,188,158,210, 67,164,154, 4, 40,253,132,142, 44, 82, 78,243, 75,131,231,162, 27,113,221, 64,233, 61,142,200,198, 59,
+182,126,200, 27, 38, 91,112,120,231, 38,207,187,150, 63,126,247,241,116,190, 73, 83,124,108,130, 70, 48,158,120,254,205, 89,207,
+ 31,111,174, 8,203, 72, 89, 85,188,243,241, 83,202,229,140,163, 89,195,254,238, 62, 7,209,115, 11,248, 92,221,176, 55, 91, 98,
+171, 26, 91, 26,202,194, 98, 11,149,213,185, 8,162, 15,220,152, 87, 28, 46, 75, 84, 72,156,157,181,156, 95,158,211,119, 67, 78,
+132,242, 25, 23,156, 98, 32,198,252,190, 12, 41,226,198,196, 0,244, 72, 22,115,203,124,102,184, 58,121,206, 91, 31,124,196,163,
+ 16, 56,187,234,185,120,118,198,187,223, 62, 97,126, 50,240,222,224,217, 45, 53, 58,129, 83,137,160, 97,227, 3, 94,100, 11, 91,
+ 2,124, 18,140, 82, 49,147,146,135,115,195,106, 89,179,191,204,119,208,159,255,107,175,243, 31,253,228, 3,126,242,139,183, 88,
+251,199, 60,126,255, 2,137,227,175,252,215, 63,199,143,191,114,192, 50,228,237, 87,153,224,187, 23, 29,231,143, 79, 57, 18,154,
+198, 72, 76,109, 16, 38, 71, 69, 26,165,184,122,187, 69,188,239, 49, 79, 7,206, 79, 47,232,195, 5,118, 54, 67, 95,110,177,155,
+150,230,170,231, 48, 36,106,163,120,181,150,124,205, 74, 62,155, 34,175,199,192, 43, 41,242,211,179,146,215,140,224,118, 33,185,
+242, 3,201,195,129,210,220, 87,134, 90,231,237,200,162,154, 97,234, 18, 89, 24, 68, 93, 34,173, 65, 40,137, 72, 18, 33,115,244,
+174,104, 42,196,162, 0,171,145, 90, 33,149, 68, 43,197,225,178,225,212, 5,222,108,106,246,139,138, 91,166,228, 63,251,247,126,
+140,159, 53, 21,127,239,234,156,120, 88,243,157,147,142, 63,252,232,146,119,158,174, 73,223, 59,231, 27,111,222,229, 70, 85,211,
+166,200, 31, 5,199,152, 52,244, 30, 49,246,249, 4,165, 64, 20, 5,114, 81,243,250,174,197, 91,155,197,174, 62,188, 12, 18,145,
+ 50,175,129,175,201,142,110,204,214, 55,247,255, 67, 48,167,116,142, 41,109,106,216,153,229,130, 94,217,188, 58, 45, 21, 43,171,
+ 40,132,228,103, 87, 21,135, 2, 94, 45, 11,130,148,200, 24, 41,164,198,165,152,131, 26, 73,196,224,185,232,182,180, 33,144, 82,
+ 30, 52,124, 10,104, 18, 82,105, 84,136,156, 15, 3, 2,193,218,245,140, 33,112, 25, 70, 92,138, 68,239,208, 74, 99,141, 37,165,
+136,110, 26, 68,200, 14, 22, 97, 44, 20, 10,161, 20,201, 59,132,202, 9,139, 66, 8,164, 84,153, 68,109, 43, 32, 33,172, 70, 74,
+ 69, 82,154,164, 20, 90, 25,182, 8, 74, 83,208,138,200,157, 18,196,122,203,113, 31,241,101, 69,242,144, 76, 65,180, 53, 41,138,
+108,115,150, 6,172, 68, 76, 91,222, 63, 79,233,211, 47,239,200,105, 42,224, 70,189,200,137,167,152, 10,237, 20, 20, 99,203,146,
+160, 21, 86,106,154,210, 18,165, 66, 75, 67,105, 52, 87, 99,162, 49,134, 36,179,184, 13, 4,115,109,137,133, 69, 36,155,183, 33,
+ 74, 81, 73, 75, 75,160, 81,146,203,148,240,198,144,194,116,198,156,148, 79,181, 50, 84, 41,112, 46, 4,149, 54, 52, 34,242, 84,
+ 40,246,101, 22,167, 5, 96, 76, 2, 39, 37, 59, 82,242, 28, 8, 41, 32,148, 69, 16,105, 80,220, 22,154, 55,230, 11, 62,244, 35,
+ 75, 85,176,197,177,178, 11, 62,113, 61,171,114,198, 58, 65, 79, 98, 71, 75,122,105, 88, 71,159, 27,153,110,152, 26,163,105,237,
+ 46, 5, 66, 23, 40,109, 40,180,196,203, 44,162,147, 50,253, 37, 8,229,174,189,155,117, 57, 69,135,166, 79,201,237,139, 23,222,
+194,151,164, 32,145,249,239,238,218,214, 96,115, 81, 15,254,165,216, 44, 77,121,226,253,244,239,146,135, 82,179,144,130,211,126,
+224,235,111,126,142,243, 71,143,248, 36, 37,106, 43, 57,117,217, 50,225,250,200,243,216,177, 91, 20,156,140, 46, 79,174, 74,229,
+ 78, 79,126,106,101, 99,213,203,239,187, 80, 68, 23, 40, 76, 14,162,217,211,129,193, 90,206,219,204, 11, 54, 90,178, 29, 61,117,
+130, 51, 36, 55,172,224,217,116,147,207, 96, 23,253, 41,110,190,250, 62,183,180,235,117,146,134,232, 9,253,192, 31,159,110,248,
+252,193, 18,105, 52, 79,182,107,246,170, 26,215,247,152,162, 98, 24,174, 16,186,196,122, 15,182,164,247, 89,201, 95,105,141,247,
+ 57,208,224,116,116,220, 16,154, 45, 9,147,200, 97, 20, 35, 80, 68, 24, 38,223,250,181, 53,240,251, 61,127, 12,153,206, 4, 88,
+ 43, 1,205,213, 69, 32, 78, 83,202,188, 44,233, 59, 79,112,129, 16, 67, 6,172,132, 72,165, 37,227,224, 81, 50,177, 29, 60,155,
+193,177,222, 58,116, 27,217, 93, 20,212, 70,226, 67,194,170,156, 84, 38,175, 51,129, 72,116, 41, 7,168, 68,160, 21,130,128,160,
+209, 57, 77,105,150, 96, 45, 4, 43,165, 24,130,100, 85, 20,108,250, 54,247,129, 68,202,202,226,214, 87,217,214,135, 7, 27,225,
+142,205, 10,119, 18, 44, 53, 92,193,229,123, 29,191,117,252, 1,247,127,102,203, 7, 62,112,218,119, 28, 23,138, 55, 23, 59, 12,
+ 85,195,221,221, 5,183,186, 17, 37, 20,167, 68, 68,128, 69,109, 49, 70,177,141,145,203,148,137,178,115, 33,144, 33,209,141, 30,
+ 70,135,244, 9, 27, 34, 82, 41,164, 16, 83,202, 85, 66,248, 97,202,156,246,244,222,177,137, 3,108,103, 92,218,132,208, 13,255,
+242, 60, 17, 67,164, 54, 6, 33,225,160, 40,217, 21, 35, 95, 60,118,252,195, 63,254, 61,126, 39, 58,110,127,253,135,152,223,152,
+ 99,154,130,164, 53,203,202,210, 21, 5, 99, 74, 68,173, 9, 62,243,248, 69, 20,164,144, 25, 28,131,212,148, 18,202,251, 13,175,
+222,126,149,255,230,103,255,115,206,223, 57,230,119,199,192,177, 10,108,149, 68,196,136, 1,194, 24, 56,253,149,223,231, 79,254,
+231,223,231,183, 80,252,213,255,224, 62,191,248, 95,252, 13,230,159, 57,152,214,152,130,219, 63,126, 3,126,244, 16, 98,228,205,
+206,227,207,122,190,245,127,188,197,193,189, 67,218,222, 79, 28, 1,137,117, 26, 61, 72, 74, 41, 40,102, 51, 68, 61, 67, 76,228,
+200,250,170, 67, 94,108,185, 85,150, 60, 25, 19,115, 37,169,181,162, 68, 48,223,153,163,119,102,136,114,194, 23,199, 4,163,200,
+ 19, 72, 57,137, 52,108, 49,173, 58, 65, 76, 42,100, 17, 37,210, 40, 30,116,154,187,171,125, 60, 9, 71,194,141,240,247,255,241,
+ 31,240,175,135, 62, 7,144, 72,133, 44, 21,194, 42, 36, 37,241, 48,241,203,223,250, 46,255,195,143,126,134,181, 54,108, 66,132,
+189, 5,194, 42,210, 39, 37,162,189, 36,181, 27,192, 19,235,130,103,193,114, 41, 4,204, 42, 4,146,212, 78, 32,154, 97,132,226,
+122, 16,136,223,159, 16,247,255,182,118,215, 21,203,195, 57, 93,146,220,222,169,137, 72, 78, 17,108, 66, 70, 98, 43,153, 27,183,
+175, 47, 53, 7,149, 97,134,193, 5,120,220,118,148,117, 69, 55,108,153,219, 18, 43, 2,155,161,231,180,109,249,216, 15,156,219,
+134,187,141,100,140, 30,145, 52, 79, 66,207,118, 27, 16, 66,178, 50, 37,207,198, 30, 69, 68, 4,143, 8, 3, 39,192,205,114,134,
+211,185,161,211,245, 44,247,245,171, 26,233, 2, 30,137,138,145,224, 71,164, 85, 48, 90, 82,202, 91, 9,193, 20,196,148, 34,178,
+172, 72, 49, 98,154,138, 24,242, 48, 23,181, 99, 87, 72, 68, 81,177, 34,178,213,138,163,242,140, 47,204, 12,143, 29,156, 13, 35,
+ 66,106, 46,124, 96,140,224,194, 4,240,217, 76, 1, 60,166, 32, 13, 49,115, 78, 94, 12,138, 38, 59,163, 82,132,178,196, 54, 5,
+152,130,170,202,110, 33,172,166, 2,182,218, 80,106,141,139,158, 3,157, 73, 17, 86, 91, 74,107,115, 70,133, 82,172,180, 70,107,
+ 3, 8, 10, 41,144, 82, 19,133,162, 34,114, 28, 18, 21,137, 82,229,230, 98, 95, 23, 92, 12, 14, 77, 68,135, 64, 48, 10,229, 50,
+113,242,129,214, 60,119, 35,162, 44,152, 69,176, 9,190, 23, 35,175,105,120, 39, 38,142,164,164, 6,158,197,200,109,224, 17,208,
+ 76,224, 27,162, 71, 34,248, 90, 93,114,219,104,206,188,227, 78, 81,115,236, 28, 11,179,195, 24, 71,110,207, 86, 92, 12, 27,118,
+140, 69,104, 67, 43,224, 78,225,185,223,236,115,188,217, 82,204, 12,111, 61,223, 18,165, 70, 12, 46, 71,217, 18, 40,129, 82, 40,
+ 14,136,160, 18,131,212,127, 9,147,250,167,163, 12,109,153, 63, 0,122,234,180,124,152,248,180, 83, 60,166,184, 78, 12,155, 80,
+176,106,154, 28,211,100,123, 99,154, 52,167,238, 48,139,240,166,197,147, 15,168,210, 50, 83,138,211,205, 26,173, 52, 94, 73,188,
+ 80, 92, 37, 40,147,162,149,176,246,145,171, 97,164, 16, 34,231, 18, 95,159,203,164,192, 22,138, 48, 38, 48, 10, 37,196, 11,135,
+ 4, 70, 17,134,145,206, 37,118,172,164, 78, 57,181,205,167, 72,244,121,157,213, 35,152,201,200, 73,159, 88,143, 97,106, 24,228,
+203,117,126,186, 78, 81,147, 47, 15, 72, 82, 76,234, 73, 61, 53, 0,185, 38,141,201, 51, 55,146, 89,105,114, 67, 33,166,147,247,
+208, 83, 26, 75,240,142, 78, 8,230, 72,198, 24,209, 54,195,254, 21,146, 32, 52, 90, 66, 23, 35,143, 99, 64, 10,205, 19, 38, 11,
+ 70, 63,117,117,147,157,231,229, 42,241,207,110, 87, 66,214, 22,148,134, 31,255, 43, 63, 65,140,208, 94,181,116,109, 75,187,237,
+ 40,138,130,161, 31, 80,210,178,183,191,195,173,221,134,224, 35,150,140, 56,236, 92,164, 29, 3, 97,140, 92,181,142,209, 7, 54,
+206, 83,151, 58,135,183,136, 44,164,243, 41,209,133,124, 23, 43,132, 96, 12,137, 33,229, 48, 28,231, 35, 54, 69,108,231, 24,122,
+ 71, 57, 56, 86, 81, 32, 37, 84, 64,116,129, 24, 50,242,240,193,141, 67,222,251,224, 17,239,157, 92,241,122, 23,121,254, 73,128,
+117,128,165,130,199, 14,250,200, 44,129, 38,113,184, 48,216, 16,168, 14, 42,214,231,125,158,104, 54,103,180,209,241,165, 47,125,
+137, 27,111,188,194,182, 48, 92,110, 91,170, 4,203,101,195,124, 86, 80, 89,195,210, 40,118,203,130,189,121,137,150,146,161,115,
+116,151, 45,169,235, 41, 68,182,134, 25,157,225, 14,122, 90, 20,232,148,208, 50, 82,132,132, 30, 28,202, 57, 70,239,105,235,154,
+205,108, 70, 82, 21,171, 24,216,155, 27, 78,188, 64, 12, 61,103,238,138,127,122,118,142, 25,215,188,251,157, 15,233,223,126, 76,
+251, 27,223,228,157,247, 79,248,253,223,121,143,187, 23,145,117,109,184, 24, 29, 73, 75,180,149,248, 49,135,197, 92, 33,216, 2,
+ 49,102,151,136,239, 28, 91,153,120, 63, 37,250, 82, 19, 77,129,145, 26,143, 96,140,129,113, 12,188,242,230, 29,254,229,123,239,
+ 99, 30,141, 60,250,246, 57,255,244,127,251, 67,126,225,111,254, 8, 98,178,194,166, 33,226,175, 6, 82, 76, 25, 7, 92, 26,110,
+125,227, 30,205,221, 29,246, 63,187, 98,247,181, 93,230, 71, 11,138, 69,133, 80, 18, 93,106,180, 80, 40,163, 81,133, 38, 78, 13,
+243,198,121,198,152,185, 2,135, 83, 20,239,222,124, 78,185, 63, 71, 86, 57,194, 22,159, 72, 99, 36,174, 59,146,115,164,174, 39,
+ 57,135,176, 42,127,212, 11, 77,242,137, 56, 6, 92, 63, 18,188,199, 71,159,243,173, 75,131,170, 11,236,254,146,195,197, 46, 55,
+ 69,197,126,165,113, 54,242,180, 31,137,195, 72,252,206, 25,137,192,189,253,146,191,253,181, 47,243, 57,101,249,213,147, 99,174,
+124,204, 83, 94, 85,228, 38,216, 84,224,122, 68,187,165,247,242,101, 64,134, 49, 8, 49,129, 61, 72, 19,123,252, 58,222,242, 83,
+ 39, 68,173,255,252,132,121,157,139, 81, 90,104,230,168,229,140,207,237,204,120,184,187, 96,111,209, 80, 88,205, 65, 83,240, 60,
+ 66,144,137, 74, 27,172, 12,252,120, 83, 49,183, 42, 67, 84,124,158,194,207,183, 3, 49, 68, 6, 55, 82,144,159, 63,111, 11,120,
+171,218,227,222,124,201,221,253,219, 24,109,179, 64,109, 24, 56,139, 35, 67,244,180,192,198, 15, 92,185,142, 77,116,108, 82, 2,
+107, 89, 43, 65,221, 52,216,162, 64,218,124, 42, 10, 49, 76,196,115, 8,163, 35, 77, 27,197,224,186,252,222, 16,146, 20, 28, 66,
+ 24,146,202,226, 87, 89,214, 89,189,164, 44,113,130,225, 68,107, 9, 68,162, 46,217, 4, 71,176, 22, 93, 85, 72, 43,121, 80, 87,
+152,218,240, 96, 94,113,119, 86,112,123, 81, 49, 8,201,225, 94,205,185,158,234,133,212,249,249,101,235,151, 89,225,218,192,124,
+206,237,221,138,195,186,164,153, 21,172, 26,195,194, 90,118, 11,197,110,101,217,151, 26, 37, 51, 91, 98,161, 11,230, 69, 73, 97,
+ 20, 51, 91, 17, 68,100, 49, 21, 72,133,100,174,114,240,151,151,154, 65, 8, 46, 93,100,174,115, 2,227,220,102,232, 76,235, 70,
+106,149,127,239, 27,239,169,100,118,242, 52, 36, 28,146,221, 20, 25, 66,126,110,245, 66,240,154,214,188, 59,140,220,183, 5,199,
+ 33,178,163, 36,149, 82,156, 35,185, 15,124,148, 2,114, 10, 2,251,233,106, 70, 29, 97, 97, 21,115, 99,240, 66, 80,153, 76,180,
+171, 76, 65, 31, 60, 11, 83,209,138, 68,166,241,123,140,214,184, 40,153,171, 68,151, 12, 43, 3,167, 67,200,246,241, 24,121,189,
+106,216, 81,146, 90, 10,110, 74,201,162, 40,177, 66,253,128, 69, 93, 79,235,165,235, 44,118, 57, 81,129,196,148,223,157,166, 34,
+173, 39,240,252, 11, 68,172,123,121,167, 26,211, 68, 26,242, 83,138, 88,238,170,178,170,217,230, 73, 83,128, 42,203, 44,136, 52,
+ 5, 59, 90, 65, 89,224,164,101,140,137, 70, 91,158,120, 71, 23, 34,193, 22,132,190,207,228,159, 77,159,191, 23, 99,144,133,196,
+162, 40,172,197, 39, 71,140,137,125, 83,208,199,136, 85,138,224, 60,193, 7,118,180, 96, 16,208,133,128,137,130,109,242,148,211,
+ 26,204, 36, 56, 29, 60,173,144,249,254,239,252, 20, 65,153,160,170,242,207, 48, 78,105, 76, 97,122, 16, 88, 59,145,244,166,230,
+ 71,100,111,230,170,177, 36,159,216, 45, 10, 90, 55, 96,101, 86,226,187,233,181, 49, 86, 51,142,142,178, 52,136, 0, 73, 78,164,
+163,152, 94,172, 78,157,146,252,193, 38,135, 3,188, 72,107,187, 22, 38, 94, 43, 39,191,223,237,170, 46,167,219,191,224, 75, 95,
+255, 42,101, 83,208,111,123,218,245, 38, 99, 5,180, 65, 70,193,197,249,134,162,156, 51, 95,212,204, 27,141, 84,130,118, 72,244,
+ 62,208,247, 1, 23,161,247,142,182,119, 88,171,184,123,208, 32,200,247,248,156,214, 22,179,149, 45, 68, 90, 31,232, 67, 64, 8,
+145,197,250, 46,160,131,167,234, 51,107,125, 24, 28,125, 8, 60,139,142, 62, 70, 26, 41, 25, 82, 98, 37, 21,175,220, 62,228,195,
+199, 79,184,250,246, 57,247,172,228,246,107, 37,162, 86,188,118, 88,112,187, 11,252, 59,243,130,207,110,115, 51,240,229,160,216,
+ 93, 74, 52,176,187, 44, 16, 8,246, 2, 92, 68,199, 16,224,141, 55,239,243,218,103,110,113,220, 58,174,250, 1, 91, 21, 20,133,
+166, 41, 52,133, 82,236, 46, 43,234,202, 98,164,160,219, 14,108,215, 45,105, 24, 49, 66, 80, 26,141,145, 18,155, 18, 50,100,171,
+158,140, 9, 69,206,153, 55, 17, 52, 17,213, 57,180,119,136, 33, 97, 48,244,197,140,131,253, 93, 98, 57, 39,154,138, 43, 13,101,
+123,201,237, 30,158,186,142,195,214,113,233, 6, 94,237, 19,207, 66,135,252,246,187, 92,125,247, 9,255,228, 55,254, 57, 79, 30,
+117, 60,122,188,229,195, 62,208, 91,141,208,146, 46,130, 12,158,174,117,124,180, 30,248,206,105,199, 58, 37,164,150,124,102,101,
+241, 66,147,140,230,208, 9,182, 50, 49, 68,197,236, 51,175,242,229,159,126,157,195, 7, 37,238,189, 51,254,207,255,233, 55,249,
+233,191,241, 21,164, 80,184,179,129,177,115, 4, 41, 80, 66,162, 76, 78,181,147, 11,139, 40, 52,178,204,235,240, 24,179,203,196,
+141,121,122, 39,228, 7,125, 18,137, 97, 12, 92, 56,135, 46, 13, 61,176, 50, 57, 4,104, 86, 91,244,117,218,152, 75,132,103, 91,
+134,247,143,241, 31,126,194,248,201, 49,227,232, 16, 49, 32,166,160,161,216,142,248,193,227,186,158,182,235,184,188,220,224,198,
+ 1, 93, 40,164,209, 8,173,161,208,116,222,211, 38,193, 85, 10,196,148, 40, 45,168,186,228,188,214, 68, 45, 56,247,240,209,211,
+ 71,252,183,111,125,151,231,103, 93, 46, 30,243, 69, 86, 52, 47, 26,196,238, 46,236,237,193,124,137,120,126, 9,174,205,197, 68,
+ 76,226,223,186,156,232,141,226,229, 42,254,211, 27,184, 79,255,249,186,200,235, 38,175,150, 15, 14, 88,204,107,126,226,104,151,
+251,243, 57, 55,155,134, 90, 27,118,148,228,196, 7, 90, 1,253, 20,203,176, 39, 36,187, 5,220, 84,185, 9, 47,133,224,184, 31,
+248, 23,207,214, 84, 74,240, 30,145,161,168,248, 94,189,226,247,203, 21,174, 90,240, 87,239,222,227,160,168, 88, 53,187,196,144,
+232, 72, 28,183, 3,155,152,136, 41,224, 98, 96, 27, 3,231,126,196, 9,193, 58, 38,188, 18,216,186,196, 24,203, 40, 35, 42, 9,
+134, 20,137, 50, 15, 55,227, 56, 18,194, 72, 26,122, 82,136,200, 20, 73,110, 64, 40,155, 61,255, 73, 65, 85,101,207,182,148, 36,
+163,242, 57, 74, 11,164, 81,180, 33,209, 7,199, 32, 37, 99, 76,180,201,179, 99, 42,148, 49,220,169, 42,180,206,246,180, 85, 61,
+ 99, 85, 88, 6, 45,169,235,130, 81,104,196,188, 33,212, 85,174, 37,139, 6, 22, 85, 22, 15,214, 5,119, 87, 51,144,154,210, 42,
+ 42, 99,137, 72,246, 75, 75,161, 13, 23, 94,176, 83, 91,108,212, 84, 69,241,162,168,121, 18,141,170,112, 49,167, 74, 90,153,165,
+ 95, 73,106,208, 2,147,160, 46, 10,182,227,136,143, 9,143, 32, 6,135, 16,138, 75, 63,144, 98, 96,144,137,198,185,156,149, 78,
+100, 39, 5,108,206,240,100, 38, 18, 46, 36, 54, 66,112,168, 13,143,253,192,131,178,225,210, 59, 82,138, 44,129,143, 8,184,224,
+ 16, 62,113, 71, 27, 14,165,226,176,214,168,144,144,198,190, 8,146,140,147, 91,170, 52,150,203, 16, 88, 25,195,218,141, 84,182,
+100,240, 30, 41, 18,103,163, 67, 39,176, 82,115, 44, 2,171,178,226,117,163, 9,202, 98,148,226, 64, 9,148,212, 52,133,100, 33,
+220, 15,170,126,159,146,217,132,205,147,185,158,176,175,218,188, 12, 88, 86, 58,123, 62,153,140,253,253,116,131,239, 93,158,212,
+245, 52,237, 42, 61, 77,187,215,201,110,217,248,159, 1, 16,144,148, 66,148,138,186,176,180,218,160,149,194, 40,205,229,116,243,
+174,180,229,185,243,132,190,195,206, 23,140,235,171, 73,192,150,183, 0, 73, 43, 42, 33, 72, 41,210, 40,137, 16, 18, 99, 36,189,
+ 15,153,123,110, 52, 12, 35,235, 40,184, 91,105, 46, 93,160, 86,138,153, 84,156,199,196, 92, 75,206, 98,224,196,101,228, 96, 34,
+195, 83,242, 14,138, 44,240,211,122, 42,188,241, 83,170,127,159,109, 35, 34,253, 41,110,244,105, 23,121, 56,171, 24, 68, 94,255,
+244,221,128, 22, 9,161, 50,227,184,237,123, 10, 99, 81,225,165,176, 47,251,230, 51,135,121,144,138,167,222,113, 25, 36, 65,155,
+220, 16,197,137, 12,120,205, 7, 78,225,251,223,255,164,156,110, 86,112,247,238,125,118,247,119, 25,122, 71,244, 14, 31, 34,221,
+ 48, 98,180, 33,196, 72,221,204,152, 47, 22, 28,173, 26,148,140,249, 53,117,105,186,149, 7,146,136, 8, 37, 9, 99,192, 88,197,
+178, 54,140, 33,101,180,233,148, 19, 45,128,113,186, 1, 54,147,222,192,133,144, 93, 61, 41, 18,134,192,170, 15,120, 23,152,161,
+216, 79,145, 48, 6,130,132, 74, 43, 86,203, 57,223,124,250,148,183, 30, 95,240,137,243,188,211,122, 78, 54,158,167,223,107,121,
+114,191,224,116,166,249, 23, 91, 79,120,189,224, 96, 71, 50,215,154,102,167,228,167,230, 11, 22, 46, 81,140,129, 98, 49,167,243,
+ 45, 85,185,195, 27, 15,111, 48, 70,193,232, 19,125,202,177,177,213,100,127,156,205,107,234,202,162,148,196,199, 68,215,122, 92,
+223,147, 98,156,208,182,145, 20, 34, 41,166,172,128, 23,153,160,167,132,202,182, 62,173, 40,181, 98,111,165,121, 77, 69, 22, 51,
+203,237,189,134,207,220,222, 97, 86, 89, 62,142,134,214,214,236,220,184,133,187,119, 31,127,239, 53, 14,191,242, 25,110,126,254,
+ 13,206, 84,197, 59,103,199, 60, 59, 89,243,215,247,102,252,163,139, 13,225,233, 39, 12, 79, 62, 66,187,200, 86, 20,156, 78, 97,
+ 29,214, 69, 62,217,122,222,189, 26,120, 54, 58, 58, 37,249,252, 94,193,225, 60, 55, 37,167, 81,113, 94, 72,238,161, 56, 51,138,
+155,135, 51,110,223, 95,113,227,243,247, 89,252,252, 23,216,251,236,138, 95,254,239,255, 1,221,255,248, 29, 94,251,165, 55, 17,
+133, 66,207, 44, 74,171, 44, 65,185,214,184,196, 12, 49, 74,189,167, 61,105,249,224,116,195,105, 55, 16, 58,199,213,186, 99,187,
+238,216, 58, 79, 31, 35,163,204,186, 2,124,224, 42, 37,230, 70, 97,138,108,191,137,125, 96,120,116,193,240,225,115,210, 59,223,
+130,211,143, 8,237, 37,177,191, 66, 10,133, 8, 16,186, 14,223, 13,244,219,142,171, 77,203,135,151,151,124,216,109,144,193, 33,
+133,204,205, 65, 97,137, 34, 49,106,197, 38, 6,206, 60,244,147,194,186, 20,145, 7,171, 25, 71,243,130, 7, 51, 67,159, 50,151,
+240,164, 11,121,157,254,252, 12,179,103,219,153, 0, 0, 32, 0, 73, 68, 65, 84, 49, 43, 97,103,143,159, 63, 92,241,239,222,188,
+193,157,198,242,237, 56, 64, 81,231,207, 75, 31,167,103,153,206,195,198,162,225,206,209, 62,159, 59,152,243,113,159,207, 49, 88,
+253, 50, 90, 90,216, 60,180, 44,151,176, 83,103,235,221,238,140,175,222,220, 97,223, 88,142,170,134,156,105, 24,168,116,129, 13,
+129,142,196,137,207, 91,139, 43,159, 83,233,110,218,140,191, 62, 27, 6,254,238,227, 45, 79,202, 25, 79,246, 15, 57,221,185,201,
+191,169,119,121, 82,204, 17,186,228,111,222,187,205,151,202,154, 31,154,205, 57,136, 9,233, 19, 9,129,151, 35,155, 33,208, 19,
+ 8, 34, 39, 87,110, 93,224, 60, 70,174,132,160, 37,159,152,102,133,161, 52,134,181,243,200, 24,241,131,231,249,230,138, 20, 2,
+109,219, 18,131,199,140, 35,113, 26, 46,210,181,232, 87,233,108,113, 20, 57,200,200,123,159,173,107,218, 48, 58,207,152, 18, 27,
+ 53, 97, 70, 68, 94,217,123, 41,217,181,118, 18,170,105,118,170, 25, 93,138, 20,166, 96,223, 22,244, 18,150,179, 37, 74,165,220,
+ 88, 47,102,217,150,166, 52,187,243,134, 59, 85,201,210, 40,202,166,162,214, 6,109, 21,179,162,100, 20, 9, 37, 53,135, 77,157,
+239,225,182,194, 40, 48,214, 96,117, 73,161, 12, 99,154, 68,189, 34,163,176,209, 37, 86, 73,186, 16,209,218,112, 53,120, 74, 35,
+ 16, 73,146, 66,142,220,214, 36,174, 82,164, 77,145,185,243, 24,161,153,145, 61,255,187, 41, 32,146, 71, 7, 79, 18, 96,137,244,
+ 67,203, 24, 34, 71,218,242,214,176,229, 72, 25,106, 41,120,199,121, 98,138,144, 2, 70, 75,110,203,204, 71,185, 95, 22,116, 74,
+ 82, 2, 35,137,153,210,180, 74,178,212, 37,155,228, 89,105, 77, 39, 4, 43,107, 57, 31, 29, 51, 93,240,164,237, 49, 66,210,225,
+ 9, 74,241,229, 89,197,158, 12, 68, 81, 80,106,201, 61, 35,153, 27,131,146,145, 50, 9, 46,199,248, 3, 22,117, 37, 95,168, 15,
+ 51,133,199,194,188,252, 83,118,131, 23, 89,175,144,167, 71, 33,242,250, 87,132,188,110,105,202,252,223,221,148, 34, 22,166,105,
+189, 42, 51,196,134, 41, 98, 78, 68, 82,105,136, 90, 35,140,101, 84,154,115,231,152, 23, 21,206, 88,158, 13, 91,234,178,202,201,
+ 97,125,151, 39,231,179,171, 92,120,165,162, 40, 53, 67,136, 20, 34,145,132,192, 74,232, 92, 96, 33, 37,165,146,116,237, 0, 82,
+ 18, 58,199,211, 49,242,234,220,208, 69,207,241,152,184, 89, 91,158,185, 17,159, 12,107, 4,209,249,252,179,251,144, 27,150, 48,
+137,253,226,132,245, 75,188, 92,205, 15, 33,223, 46, 99,122,169,250, 28,243, 42,207,169,196,145, 53, 92,141, 35,149, 54,108, 6,
+151, 85,241,215,255,111, 8,140,211,170,135, 16,113, 82,230,104, 83,145, 85,153, 35,137, 62, 36,182, 99,151,155, 38, 61, 61,104,
+220,164, 69,232,253, 68,156, 11,127, 6,126, 33,166,252,250,200,219,223,252, 22, 63,245, 11, 63,195,246,226,138, 52, 53, 40,222,
+123, 78, 54, 27, 98,128,189,249,146,229,114,198,206,220, 82,200,124, 90, 24, 93,162, 29, 3,227, 24, 25, 7,207,186, 27, 8, 46,
+210,133,192,162,182, 72, 18,133,146,217,191, 42,193,165, 68,140, 89, 13,111, 98,100, 41, 35,229,148,191, 62,159,236,110,201, 69,
+116, 10, 44, 98,162, 65, 48, 79,129,149, 84, 25,146, 49,171,120,247,248,140,254,108,205,158, 18,172,162, 96,150, 2,103, 49,191,
+201,174, 62,232, 72, 67,100,125,225,121,123, 27, 57,173, 18,106,105, 56,186,125,132,159,215,168, 24,185,217,148,220, 48, 21,242,
+236,130, 81, 23, 52, 82,177,152, 87,116, 33, 16, 66, 36,141, 14, 21,161,170, 11,202, 74,163,181,202, 33, 54, 33, 50,116, 14,239,
+ 60, 49, 4,162,115,140, 46,160, 98, 14, 91, 40,144,152, 36,104,180,166, 50,154, 89, 89, 80,151,134, 29, 35,184,111, 10,246, 18,
+180, 38,195, 33,206, 29, 92,249,132, 85,145,164,225,162,247, 20,109, 96,121, 99,206,193, 43, 11,110,190,121,196, 63,246, 43,254,
+214,195,187, 20,119,143,120,253,141,251, 44,191,250, 5, 62, 60, 89, 83,110,207,217,188,255, 33,227,157,187,204,166,165,205,249,
+232,121,127, 51, 34,198,136,142,145, 89, 89,176,168, 12, 27, 4,239, 14,145, 11, 31, 89,203,196,122,240, 28, 84,138,203, 33,114,
+188, 25, 25,125,228, 11, 63,241, 26,223,248,197, 31,230,141,255,228,115, 96, 18,197, 65,133,174, 52,114, 74,193, 74, 27, 71, 58,
+235, 9,103, 61,227, 89,203,230,233,150,167,167, 27,190,117,185,230,100,112, 60, 31, 71,130,130, 86, 11,156, 72,244, 10,130, 18,
+184,148, 19,249,132, 82, 52,149,101, 32,178, 25, 61, 93,244,172,183, 45,177,219, 32,151, 13, 65,130,223,221, 37,218, 2, 49,145,
+214,198,237,150,243,110,203,201,176,229, 73,244,188,221,173, 57, 9, 35, 49, 70, 26,107,241,147,186,216, 25, 69, 23,225, 34, 37,
+206, 93,224, 50,228,109,153,214,185,209,223, 49,154,185, 54,220,108, 26,238, 26,197,235,171,154,219,251, 75,158, 8,197, 92, 65,
+247,228,148, 95,124,245, 85,238,214, 21,231,179,125,254,228,234, 60, 47, 23, 11, 3,149,134,170, 70,204,106,168, 10,238,172, 22,
+252,200,209, 1,183,119,246,112,181,228,249, 58,193,238, 14,234,230, 33,105,190,128, 41,209,140,163, 61, 40, 43, 22,139, 57,251,
+214,176, 44, 13, 7,186, 32, 76,155,132, 66, 26, 68,138, 8,165,240,209,241,193,232,179,240,110, 8, 28,247,145,141, 72,180, 90,
+241, 39,209,114,182,127,139, 7, 55,110,178,191,123,131,122,182, 75, 40, 26, 70,169, 16, 69,195,207,148,150,219,101, 65,147, 4,
+157,243, 44,181,102,219,181,156, 12, 61,207,186,237,148,254,156, 8, 49, 48,184,145,205,232,120, 22, 28,163,213,244, 66, 82, 89,
+131, 11,142,194,106, 78,182, 27, 58, 63,114,225, 19,103,253, 21,231,109,230,209,111, 93,135, 26,187,140,144,158, 54,111, 72,147,
+167, 93,161,136,211,102, 54,105, 67, 76,137, 81, 66,235, 61, 66, 26,206,156, 35, 73,193,152, 34,181, 41,178,204,204,150, 84, 82,
+211, 73,129, 45, 42,146, 27, 9, 85,205,202, 88,182, 62, 81, 23, 37,187, 69, 69, 8,145,253,170,102, 86, 84,188, 54,179,148,218,
+178,103, 45,179, 20,152,149, 13,115, 83, 51,151,130,170,168,168, 76,137,181,150,202, 20, 24,171,209,194,100,122,162,146, 89, 56,
+175, 20, 74,192, 76, 11,172,212,140,201, 51,164,196, 66, 74,250,148,155,213,130,200,136,199, 8, 73,105, 52,253, 56, 32, 99,164,
+115, 35, 11, 33,168, 98,196, 71,199, 46,145,245, 56, 80, 2,115, 1, 46, 4,116, 74,244,192,211,209,113, 66,228, 32, 69,158, 6,
+143,136, 9, 29, 28, 62, 9, 84, 12,200, 16, 89,145,248,242,172,230,147,118,100,215, 26,164,146,204, 76,201, 57,129, 27,186, 98,
+ 67,100, 71, 91,122, 36,134,136,155,116, 59, 33,229,199,244,198, 7,182, 34,159, 23, 31,106, 73,101, 44,251, 70,112,168,178, 5,
+ 86,147,120,197, 20, 92, 6, 79,173,126, 16, 75,155,214,211, 52, 46,167,123, 72, 9,123, 77, 46,192, 70,102,133,187,152, 10,250,
+181,229, 75, 78,124,242,232,178,207, 96, 53,135, 38, 43, 24, 25,167,152, 81,107,243,218,125,188, 70,154, 78,225,240,246, 26,219,
+167, 25, 34, 12, 50,162,138,134,173,119, 12, 8,132,208,140,227,196,240, 53, 22,174,218,169,128, 14, 80,104,102, 86, 35, 82,162,
+ 81,138,243,214,101,229,168, 75, 44,106,201,133,203,118,188,212,141, 16, 61,169, 48,156,141, 9,165, 37,143, 93,226,204, 37,156,
+212,156,250, 64, 76, 42,111, 24,194, 52,205,244,253, 75, 23,166,156,238,112, 87,221,196, 18, 30,243,125, 45, 77,247,245, 16, 95,
+198,210,138,196,149, 75, 57, 71,103,202,118,175,124,164, 13,121,123, 81, 39,193,243,232,209, 66,231, 84, 43,145,104,125,190,177,
+182, 41,113, 21, 35,165, 86, 12, 62,228,149, 23,233,101, 68,235,181, 29, 68, 76, 14,132, 79, 11,124,226, 53, 14,113,218,146, 4,
+193, 55,254,250, 79,226, 67, 36,248,108, 79, 83, 19, 36,168, 41, 74,148, 18,136, 24, 81,218,162,181, 34, 9, 69, 41, 21, 70,100,
+ 64, 66, 27, 61, 93,239,217,217, 45,168, 43, 69,231, 2, 82,230, 12,245,152, 82,238,231,162, 32,133,132,139, 1,231, 67,254,123,
+166,181,150,138, 80,138,108,237,155, 43, 69,233,227,139,181,148,179, 6,107, 36,118,217,224, 70,135, 62, 61,103, 30, 35, 23,196,
+220, 40,204, 20,213, 66,211, 25,160,150, 72, 45,176, 43,141,147, 2,243,180,227, 96, 79,225,110, 28, 49, 47, 13, 95,190,121,151,
+ 84,214,168, 24, 24, 90,135, 24, 2,139, 85, 67, 16, 10, 81, 26, 6, 31,208, 62, 78, 10,127,137, 86, 18, 17,114,247, 62,250, 72,
+235,242,125, 51,184,140,185,181, 8,102, 66,113, 88,228,169, 99, 71, 27,246,170,146,121, 99,153, 55, 6,157, 34,214,106,170,166,
+ 98,167,201,202, 97, 73,100,159,158,131,246,146,221,227, 19,194,197, 57,188,255, 62, 23,107,199,108, 53, 39,117,158,149,146, 60,
+158,149,140, 71, 13,199, 7,187,220,216,155,241,240, 11, 15,249,238,222, 17,171, 31,249, 28,162,212,184, 4,110,240, 92,180,142,
+ 95,249, 95,255, 62,223,254,239,126,157,253,111,188,193,113,204,211, 81,135,100, 59,169,104, 43, 33,184, 81,105,164, 20, 92,133,
+204, 14, 88, 85,130,177, 29, 56,233, 35,175,172, 74,132, 22,164,148,232,149,228,163,199,107, 62,250,131,199,204,149,160,125,186,
+225,248,233, 37, 39,235,150,239,156, 95,241,157,171, 45,199, 93,196, 37, 69,235, 35,114,166,152, 85, 10,109,228, 68,137,142, 88,
+ 41, 24,149,160, 49, 58, 91,141,165,164, 23,137, 77,136,156, 8,232, 45,108,202,130,171,131, 61, 78, 87, 11,134,217,156,203,186,
+228, 98, 28,121,228,122,190, 53,246,124,100, 13, 31,147,184, 20, 21,149,130,243,162, 36, 26, 67,165, 20,131, 72,140, 66,240, 36,
+ 4,206, 66,228,147, 24,241, 62,177, 14, 14,164,193,136,124,103,221,177, 37,183,181,197,150, 37, 66, 42, 90, 34,179, 89,193,110,
+ 83,112,146, 4, 15, 54,199,252,135,175, 63,228,187, 23,167,252,222, 56, 66,114,136,113, 34, 48, 54, 37, 95,219,217,225,181,121,
+195, 81,179, 32,200,146,203, 36,248,163,164, 9,171,134,175,223,186,195,231,143, 14, 89,206,231, 60, 45, 74, 88,236,228, 38,190,
+176,204,165,162,182,154,185,148, 44, 16, 20, 41,161, 68,222, 24,100,146, 64,226,216,143,124,188,245,136,194,194,106, 23,102, 21,
+207,237,146, 39,178,225,104,117,196,103,119, 15, 89, 53, 11,172,169,176, 69, 69, 93,228, 59,244, 95, 41,243,109,122,150, 96,112,
+ 35, 75,169,112, 67, 79,232,122,158,182,231, 28,187, 22,136,180, 67,207,118,236,249,240,124,203, 39,253, 64,231, 60,107, 63,208,
+ 69, 71, 63,142,212, 34,241,193,243, 99, 46,219, 43,158, 94,156,240,237,231,199, 60,186, 90, 51, 36,199, 89,191,229,241,213, 37,
+142, 68,215, 93, 97, 98,192,232,146, 36, 18, 41, 10,146,206,185,222, 81, 43,162, 18,244,193,211,143,158,160, 53,155, 24,104,133,
+167,243, 30, 33, 21, 26,137, 81, 38,235,105,116,193, 76, 23,104, 37,193,150, 8, 18, 73,106, 86,117,195, 16,179, 21,214, 90,131,
+149,138,157,194,224,131,228,179,117, 69,210, 10, 93, 52, 44,108,153,217,235,198,114, 80,204, 24,165, 36, 10,153,111,224, 82, 33,
+141,196,232, 2, 68,194, 24,133,115, 30, 37, 21, 82, 10, 80,145, 74,104,100,130, 49,230,137,187, 36,210,197,144,197,164, 34, 17,
+189,195, 72, 56, 29, 71, 68,138,196, 20, 8,126,164, 74, 1,231, 71,118,132,192, 50, 18, 93, 96,166, 61,114, 76,140,222,179, 91,
+ 90, 54, 93,135, 35,177, 39, 18, 42,230, 51,163,242, 45,218, 7,180, 16,236, 8,137, 75,158,251,214,228,239, 89, 40,214, 4,110,
+233,146, 45, 1,153, 36,157, 0, 43, 50, 28, 42,248,136, 54,134,222, 7,222, 27, 61,129,136, 16,146, 87, 74,147,183,129, 49,127,
+ 93,157, 18,165,144, 28, 20, 37, 41, 38,124, 12,184, 24,255, 45,213,239, 47, 60,231,211,138,249, 26,184, 31,167,137, 92, 76,106,
+115,169, 94,218,189,226,132,126,189, 46, 44,133,252, 84,148, 94,156,176,140, 83,254,186,155,252,136,106, 42, 76, 46, 76, 80,155,
+172, 6, 38,116,236,175,238, 80,232,154,199, 93, 59,121,179, 37,168, 42,103,188, 67,190,237, 63,217,228,244,154,202,226,122,199,
+253,165,229,116,112,204, 4, 8, 31,120,101, 97, 88,247, 14,237, 18, 51, 11,103,151,227,139,168,211,161, 44,120, 60, 42, 80,146,
+214,251,169, 72, 93,223,210, 84, 86,237,183,221, 20, 65,219,101, 37,255, 48, 64,169,114, 52,173,239,115,168, 72,159,149,251,249,
+136, 18, 94, 42,239,123, 15, 54,241,193,165,228, 11, 59,138,231,219,158,193,104,252,182,229,158,157,115, 76,164, 64, 48, 70,135,
+ 79,224,199, 72,178, 26, 23, 18, 70,101,143,106,240,158,253, 82, 81, 68,201, 91,151, 25,115,187,238,251, 28,143,187,105,243, 93,
+ 16, 50,233,101,216,252,249, 45,139,203, 86,194,245,243, 53,213,178, 65,105,201,217,211,211,140, 75, 4, 62, 58,123,142,210,134,
+102,194,183,174, 7,199,174,206, 54, 17,143, 98, 8, 16,146,160, 82,138,113, 8, 44,102,150,109, 55, 82, 89,197,162, 22, 47, 50,
+217, 67, 8,116, 41,223, 97, 23, 82, 80, 41,201,149, 11,217,169,104, 21, 38, 9,140, 24,169, 10, 3, 11, 65,232, 6,234,168,209,
+ 34, 81, 11,133,217,157,115,239,106,197, 27,186, 38,205, 45,191,109,182,152,194,176,135,226,131,224, 89,223, 46,233, 93,224, 94,
+128,181,130, 78, 9, 86, 11,203, 65, 8, 84, 9,202,197,138,249,182, 99,121,176,143,106, 22, 60, 13, 61,197,241, 25, 39, 66, 32,
+ 23, 53,213,222,156, 27,119,246, 24,182, 61,227,224,184, 90,183,164,193,160,129, 66,107, 94, 89, 45, 72, 81,242, 52, 10,124,234,
+176, 12,212, 81,176, 82, 37, 15, 22, 11,230,117,153, 47, 81,133, 70,206, 11,212,126,141,112,145,174, 29, 57,181,160,241,148, 46,
+ 71, 34,142,155, 45,233,108,195,205, 51,199,113,215,209, 17,185,241,232, 17, 23, 31, 63, 97,185,127,192, 23,159, 28,243,171,139,
+ 57,143,126,248,179,236,237, 6,102, 8,206, 90,199,205, 82,179,237, 60, 90, 11,158,117,158, 15, 79,182,252,246,223,250,187,164,
+113, 11, 88,126,237,191,252, 59,240,230, 14,219,255,234, 63,229, 55, 69,228,222,221,125,190,182, 99,185, 41, 4,171, 2, 46,199,
+196, 70, 9, 22, 90, 82,218,188,133,120,190,241,252,206, 71,151,124,182,201,123,211,143, 46,182,124,240,124,192,104,201,179,231,
+103, 52, 9,168, 4,207, 93,228,121,136,180, 1,122,145, 16,120,218,157, 25,183, 10,112, 2, 10, 23, 80, 90,230, 16, 13, 23,112,
+ 70,241,209, 85,207, 92, 9,172,150,212, 70,179,117,129,103,131, 99,225, 19,214, 7, 80,146,153, 53, 60,171, 13,189, 89,208, 46,
+ 42,186, 39,167, 60, 31, 19, 85, 33,104, 77, 67, 21, 3, 79,229,140,253, 90,242,110,155,120,146, 34, 53, 18,127,177, 97, 99, 13,
+109,136,120,224, 60,105,162,174, 89, 39, 71,140, 5, 59, 74,176,180, 69,118,144,196,128,183, 5,190,149, 68,231, 48, 49,112,171,
+105,248,229,167,103,244,127,244, 7,252,189,243, 1,209, 84, 48, 95,146, 70, 16, 58,191,247,247,173,198,104,141, 23,146,111,246,
+ 61,231, 33,230, 48,214,249, 46, 95,187,123, 23, 33, 5, 71,253,192,219,103, 23,180, 67, 55, 9,131, 35, 46,140,180, 99,228, 44,
+ 70,118,108,102, 93,204,133, 98, 19, 34, 81, 36,174,124,207, 99, 12,172, 10,246,139,154, 93, 99, 48,170, 98, 71, 9,140, 84, 52,
+186,194,106, 67, 81, 53,212, 19, 28, 81, 38,207,129, 20,124,219, 69,238,110,175,184, 37, 11, 36,146,110, 28, 72,131,227,188,221,
+240,241,122, 77, 27, 7, 78,183, 1, 82,224,124,240,140,231,107,100,140,200,182, 39,236, 47, 56, 5, 46, 27,203, 91, 49, 98,156,
+199,120, 48,253,136,105, 59,204,106,201,219, 82, 83, 55, 5,133, 72, 60, 42, 37,159,193,162, 22,145, 33, 4,172,182, 44,118,110,
+ 32, 6, 72,186, 96, 28, 28,222, 57,194,164,111,186,220,174,113, 42,159,222,144,154,146, 72, 80, 2, 41, 18, 30,195, 18,137,176,
+ 6, 53, 58,208,138,133, 15, 60,243, 3, 6,193, 66, 36,156, 51,204, 82, 98, 8,121,176,104, 22, 26,169, 20, 77,240, 36, 99, 48,
+ 34,159, 29, 27, 83, 77, 48,155,200,210,148,108,125,255, 66, 7,132, 75,104,105,240,113,164, 44, 52,206, 37,164, 76, 8, 15, 27,
+ 6, 42, 1, 58, 9, 28,137, 62, 58,144,150, 16, 28, 18,168,148,225,188, 27, 88,166,196,113,112,164,113, 64, 43,129, 9,129, 82,
+ 71, 66, 76, 52, 62,208,165,196, 14, 5,107, 61,178,227, 4,155,171, 11, 10,109,177, 41,111,121,181, 72, 84,228, 36, 55, 77, 22,
+ 74,175,240,236,136, 18, 81, 86, 28, 36,184,240,158,215,237,156,247, 92,207, 74,151,108, 36,236, 11,193, 59, 67, 98, 17, 61, 66,
+ 73,234, 4,143,198,192,158,182, 60, 1,132,239, 57,176,138, 62, 56,140,148, 92,245, 91,230, 82, 18, 99, 96,219,245, 8, 41,120,
+ 67,106, 30,199,241,223, 98, 82,215,250,165,239,156, 9,239, 87, 78,247,114, 59, 17,151,122,151, 39, 65,239, 94, 78,168, 76,114,
+ 97, 55,249, 64, 69,122,233,255,108, 39, 11, 86,156,214,198,101,145, 85,170, 90,229,253,195, 68,174,194,170, 60,133,207,114,128,
+198,195,155, 15,120,124,117, 78,136, 1,188, 67, 74, 75, 66, 65,187,201, 19,115, 55,192, 48, 32,165, 98, 81, 21,216,148, 81,168,
+181, 21,236,105, 56,235, 71,102, 74,130, 27,233,187,172,220, 37,133,236, 37,213, 58,223,207, 84,190, 99,167, 52,169,247,205, 36,
+ 22,136,211,244,173, 85, 62, 19, 88, 13,114,130,204,139, 73, 92, 99,204,116,110,152,176,185,195,116,175,187,158,214,123,143, 19,
+137,199,157, 71,151,138,183, 62, 89, 83, 87,138, 15, 47, 90,180,209,104, 41, 8, 42, 11, 82, 70, 37,208, 66,224, 66, 38,185, 21,
+ 82,225,137,204, 80, 12,209,211, 88, 69, 67, 98, 75,206, 59,199,231,108,230,204,225, 23,147,160, 47,190,180,223,201,233,116, 18,
+ 4, 71,175, 28,113,112,235,144,118,155, 69, 50,193, 71,182,125,139, 17,154,131,213, 33,123, 7, 75,102, 77, 65,112,137,194,106,
+ 84,132,166,212,200, 49,112, 57, 6,124, 74,180, 67,192,185, 72, 83,107,148, 20,104, 57,173,223, 17,120,242,135, 53,166,148,131,
+247,144, 68, 1,137,188,174,213, 58, 79,235,248,152,161, 62,133,194,214, 6, 45, 53,101,169,249,191, 89,123,179, 88,203,210,243,
+ 60,239,249,167, 53,238,233, 76,117,106,174,174,174,234,110,246, 64,145, 77,138,148, 40, 91,178,132,152, 6, 18,197, 73, 46, 20,
+ 7, 65, 4,196,185, 73,128, 32,185, 8, 2,248, 46,176,238,156, 27, 35,200,125,144, 92, 4,112,132, 12,130,108, 40,138,172, 33,
+214, 16, 73,164, 73, 90, 36,155,221,173,110,178,187,171,107, 62,243,217,227, 26,254, 41, 23,255, 58, 85, 69,137, 18, 20,197,167,
+177,113, 80, 5,116,157,179,246, 94,123,127,255,247,125,239,251,188,178, 54,204,109, 36, 28, 28,227,181, 96,145, 75,124,109,216,
+100, 18, 95, 72, 30, 73,207,246, 40,103,119,167,100, 57,206, 24, 95,158,178,181, 61,229,114, 85,115,185,183,188, 81,111, 51, 13,
+145, 93, 93, 48,186,177, 13,166, 96,220,246,100,173, 99, 45, 5,179,237,154,171,151,183, 40, 75,147, 0, 99, 77, 75, 92,246,200,
+206, 83, 74, 69,169, 36, 69,132,222,167,209,158, 16,138, 76, 24,246, 71, 35, 46,239, 77,153,108,215,148,163,156, 98, 82,144,207,
+ 10,178,210, 80, 76, 43,138,113, 73, 17, 34,198, 58,100,239, 56, 95,172,217, 57,106, 48, 46,242,193,193, 33,242,124, 69,238, 5,
+166, 52, 92, 11,240,242,227, 5,223,113,199,184,137, 96,218, 45,184,255,219,127,128,207,182, 89, 29,172,216, 44, 26,214,235,150,
+223,254, 95,126,149,143,254,209,239,113,239,215,191,145, 52, 13, 72, 2, 38,233, 60,142, 27, 62,250,103,127, 72,248,167, 95,167,
+236, 63,229,214,157,171,124,121,183,100, 87,107,254,120,229, 56,232, 2,158,200,165, 82,209,161, 56,149,138,199, 66,114,127, 99,
+121,180,238, 89, 53, 30,109, 36, 94, 66, 44, 32,138, 72, 75,160, 35,224,100,128,152,196,139,215,239,236,145, 95,153,114,164,115,
+ 62, 61,119,252,225,183, 62,230,206,254,132,222, 71,158, 90, 79,171, 69, 74,226,206, 4,247,159,204,105, 93, 74, 88,180,189,101,
+221, 89, 66,111, 25, 75, 65,166, 4,185,144,244,121,154,250,185,178, 32,232, 12,171, 51, 84,157, 97,235,146,179,141,101,113,190,
+100,213,119,228, 85,198,131,243,158, 77, 20,172, 93,135, 15,145,163, 69,135,146,146,181,210, 56,149,225,163,100,119, 54,166,145,
+130,105, 94,208, 33, 57,246, 17, 43, 5, 79,150, 45, 71,189,101,172, 20, 71, 82,241,222, 89,139,232,186,228,145,207, 52,140,170,
+ 4, 95, 57, 93,115,165,144,236, 85, 5, 7,155,134,119, 87,107,172,237, 17, 82,241, 70, 53,226,181,233, 4, 41, 37, 66, 73, 86,
+173,229, 64, 12,217, 7, 62, 21, 84, 21,159,239,202,107, 37,105,133,224, 8,136, 66, 50, 42, 74,246,234,154,207, 86, 19,238, 78,
+119,208, 67,224,138, 70, 82, 12,194,178, 92,105,156, 15, 8, 33,200,134,157,117,227, 61, 15, 87, 11, 94,145, 1,215,245,220, 8,
+145,213, 98,206,124,115,198,251, 71, 79,248, 96,126,206,199, 39, 27,206,155,142,229,233, 28,123,118, 68,180, 29, 97,179, 33,246,
+ 45, 97,177, 76,143,249,138,112,190,196, 47,214,248,243, 57,174,239,241,222,225, 86,107,220,217, 25,253,241, 9,253, 98,197,241,
+162,225, 97, 72, 57, 26, 45,129,237,188,164, 35,164,172,141,224, 17, 70,211,122, 79, 23, 28,115,239,105,133,224,164,107, 88,217,
+ 30, 97, 20,189, 28, 38,124,153, 65,101, 25,121,102,104,165,160, 42, 43,180,148,172,165,167, 50, 25, 27,239,208, 89,137, 84, 34,
+ 33, 94,181,166,202, 4,179,172,196,135,128,202,138,164, 90,143,142,186, 26, 35, 98,192, 6,207,118, 85, 99,173, 69, 68, 65,150,
+231,244, 46, 29, 44, 83,109, 25, 36, 70, 18, 92,231, 80,120,140,136,180,193,211, 58, 75, 22, 61,189, 16,104,103, 19, 63,159,136,
+ 12,142,198, 53, 52,182, 39,118,107,108, 84,212,222,146, 73, 71, 17, 2, 51,151, 92, 90,151,132, 96,227, 44,179, 0, 10, 79,244,
+129,245,186, 37, 23,129,232,146, 56,249, 10,130, 55,180,227, 21,165,248,146,209, 92,215,134, 27, 69, 70, 21, 34, 91, 38,231,178,
+150,156,217,150,151,202, 17,139,104,217, 86,134,143,219,158,155,133,226, 60, 70, 74, 4,143, 86, 61,133, 84,124, 18, 28, 69,140,
+ 92, 54, 6, 31, 4,187, 90, 38,212,109, 12,105, 13, 32, 82,131,183, 29, 3, 62, 6,148,253,235, 20,117, 53,136,182,226, 11, 68,
+223,160,158, 71, 94,118,131, 23,189, 27,186,235,206,191,128,140, 29,138, 77, 28,188, 52,222,167,248,193,139,241,240, 5,125, 77,
+229, 41,147, 92, 13,130,187,186, 30, 22, 12, 42, 1, 7, 68,242, 63,126,218,181,216,126,232,204,163, 32,186,254, 57,201,237,240,
+ 60, 33,103,125,131, 44, 10,148,137,216,206,177,167, 21, 49,120,250, 33,138,180, 68, 17,131,163,233,124, 26,223, 55,131, 29, 76,
+233,225, 80, 49, 88,195,244, 16, 29,171,196,112, 24, 25,104,121, 82, 36, 80,142,237,210, 65, 38,134,164, 13, 8,126,128,234, 12,
+120, 63, 63, 8, 78, 46,216,235, 74,190, 16,254, 18, 88, 46, 82, 80,203,201,241,138,185,143, 60, 92,118,204,170, 12,231,122,148,
+ 84, 8, 33, 89,117,150, 74,167,209,247,210, 59, 42, 33, 89, 13,182, 47, 25,160, 11,145,157, 44, 41, 81,173,190, 56, 68,168,244,
+179,109, 24,216,240,242, 57,138, 49,166,157,244,124, 60,225,237,215,239,178,217,180, 4,231,240, 49,146, 9,195, 89,179,100, 90,
+ 86,124,241,205, 91, 52,157,199,185,152,246,223, 50, 37,177, 17, 2,110,128,205,152, 76,226, 58, 71,219,121, 84, 62,184, 23,124,
+196, 1,173, 13, 52,222, 33, 7, 38,188, 38, 82, 75, 65,227, 3, 75, 31,169,135,221,144, 18,176, 81, 96, 50,133,206, 52, 54,147,
+ 8,173,200, 50, 77, 63, 46,121,122,255,152,147,186, 32,142,199,156,103,138,121, 38,209,185,161, 45, 12,182, 46,240,101, 78, 99,
+ 20,125,136,156,183, 45,139,224,120,208, 52, 44,124,203,229,122, 11,218,134, 88, 87,228,187, 35,124,227,185,228, 35, 93,174,232,
+ 37,228,117, 78, 89,230,104,163,144, 33, 64,107, 81,214,161,122,143,110, 92, 58,128,173, 45,110, 72,120,141,218,144, 85, 57, 59,
+147,146,108,156,161, 42,157,118,178, 90, 18, 43,133, 50, 18,165,210,107,165, 4, 72,165,168, 66, 36, 39, 18, 58,203,172,177,172,
+207,206,185,172, 11, 20,145, 85,111,137,202,113, 52,171,120,237, 23,254, 22,111,254,212, 91,188,252,133, 55, 57,222,116, 60,249,
+230,215, 56,248,232, 67,222,251, 23,223,166,253,253, 57, 33, 13,228,210,154, 34, 33, 65,136, 67, 60,208,197,247,213,247,142,121,
+247,159,124,139, 3,113, 66,244,138,239,127,248,132,211, 63,253,148,187,183, 47, 35, 28,172,165,160,137,176,238,147, 45, 78, 75,
+104, 91,203,253,195, 5, 34, 70,158,156,110,168, 8,116, 77,199,166,117, 68, 37,240, 34,114,181,214,252,189, 47,222,224,149,137,
+225,105, 27,248, 80,107, 30,223,185,204,111,170,130,223, 89, 5,190,254,233,146, 91, 59, 53, 50,120,172,130,211,165,103,165, 37,
+ 78, 68,214,173,195,123,143, 36, 98,100,122,109,173, 20,116, 33,160,165,224,112,227, 88,123, 88, 72,201, 34, 51, 44,182,198, 28,
+ 8,201, 83, 12, 70, 26,158,108, 90,106, 33,217,116, 45, 58,203,217, 52, 3,225, 47, 4, 50, 34,219,165,228,218,172, 38,100, 25,
+178, 40,113, 90, 97,165,102,174,224, 97, 19, 8, 66,177, 17,145,163,182,229,149,170,224,104,112,146,252,196, 36,231,118,145,115,
+ 67,102, 60, 52, 57,162,206,185,191,106,152,202, 2,111, 45, 55, 98,203,184,239,184,148,103,160, 52, 55,243, 28, 73,164,105, 59,
+222,221,108, 88,134,128,176, 61,149, 20,104, 15, 27, 41,184,162, 20,103, 66, 17, 85,198,125, 23,168,114,195, 38, 40,138,220, 48,
+ 42, 38,232,188, 66, 75, 69,192,208,250, 64,102, 12, 2,129,247, 22,109, 36, 74, 39, 87,197,166,105,112,214,113,238, 26,150,221,
+154,247,238,191,199, 72, 10, 30,158, 61,229,227,147,199,124,114,124,204,119, 78,206,248,224, 96, 65,152,207,137,237,130,184,216,
+164, 60,243, 1,249, 28, 95, 0,177,198, 16,240, 65, 18, 36,120, 41, 9, 3,174,195, 7,247,156, 46,237, 61,174,235,105,219,200,
+ 19,219, 17, 8,104,145, 88, 25,203,190,193,232,156,181,235, 9, 82,208, 11,193,113,179,162, 23,145,179,222,177,192,211,116,233,
+231,134,204, 36,239,184, 41,232,181,162,136, 18,165, 37, 94, 72,140,144,180, 50,129, 90,156,181,136,152,116, 79,224,201,117,142,
+ 17, 9,239,108,132, 78,201,153, 89, 65,173, 19, 61, 51, 55, 26,163,100, 90,193, 41,205,102,211,162,181, 26, 0,158,105, 84, 77,
+244,180,109, 79,244,145,133,237, 81, 62,209, 54,181,119, 56, 33,145,125,135, 14, 1, 17, 3,181, 8,244, 93,159,250, 79,191,193,
+218, 64,230, 27,172,181,108, 11,216,142, 9,249, 61,139,130, 16, 2,187, 82,224,189,103, 18,160, 20,129, 76,120, 88, 54,188, 94,
+ 74,222, 86,146,187, 69,198,142, 52, 92, 49,154,155, 89,197,101,147,244, 60, 19,101,200, 66, 18,240,109,103, 57,103,222, 50,145,
+154, 3,219,242,242,168,230,163,174,227, 90,158,241,104,217, 16,148,228, 3,107, 25,133,192, 90, 10, 94, 45, 52, 70, 5, 86, 33,
+176,133,160,150,146, 86,192, 76, 72,174,102, 5, 77, 76,248,142, 59,229,232,175, 81,212,165,252, 33,114,239,179,204, 91,173,135,
+157,114, 42,248,183, 62,255, 50,243,163,249, 15, 51,224,187, 48, 20,195,129,231, 46,101,242,118,196,161, 8,184, 97,223, 91, 22,
+ 73, 49, 94, 94,140,224,229, 32,198, 19,168, 60, 79,172,117,161,136,182, 75, 16,123,103, 81, 66, 18, 69, 76,123,236,174, 75,249,
+200,171, 21,224,137, 22, 46,103,146,177,150,180, 81, 16,188,227,192,121,118,178,140, 96, 83,190,239,225,106,243, 60,205, 76,136,
+ 84, 0,171,122,208, 5,196,231, 96,156, 48,116,192, 65, 12, 34, 57,255, 92, 52,199,160,182, 15, 46,173, 36, 20, 41, 11, 93, 12,
+215,135,228,153, 41,253,162, 99,183, 3, 90,246, 34, 59, 55,244,176, 89, 66,231,120,108, 35, 91,101,134, 18,130, 34, 10, 70, 42,
+237,169, 69,239,201,133,192,185,200, 88, 43,150,195, 13,166,149, 36,120, 40,117,196, 68,193,218, 15,188,247, 56,188, 94, 34,197,
+159,166, 53, 73,120, 22, 5,185,190,255,128, 87, 63,247, 38,121,150,209,173, 26,178, 44,231,115,159,125,147, 7, 15, 30, 18, 93,
+224,230,173, 27, 44, 22, 29,101,149, 2, 97,178, 76,147,105,201, 38,122,162, 75, 66, 26, 41, 35,174, 75, 59, 91, 31, 82,216, 75,
+ 80,113, 24,141,201, 20,150, 35, 21,106, 80, 72,119, 33, 97,111, 51, 41,216, 49, 9,113, 42,226, 16,101,172, 36, 85,166, 89,155,
+ 36, 12, 68, 75,186, 81,206,159,220, 63,230,211,205,130, 42, 6,214,125, 67, 71,160,141,129, 40, 37,107, 17, 89, 74,146,120, 69,
+ 10,142,133,103,225, 98,194, 84,146, 34, 46,139,178,194, 4, 65,233, 33, 76, 75, 70, 42,199, 40, 73, 27, 3,217,186,199,108, 85,
+137,100, 38, 37, 2,208,157,199,204, 91,212,188, 37,156,174,209,157,101, 76,100, 44, 52,133,214,120,173,113, 70, 34, 50,133, 53,
+ 10,151,168, 52,196,182, 71,103, 10, 97, 20, 81, 74,132, 82, 72, 69, 42,244,101, 70, 81,231, 20, 69,193,254,107, 55,152, 92,219,
+ 98,182,232,217,139,146,251, 49, 18,191,252, 58,175,189,121, 21, 45, 20,162, 42,153, 92,153,146,141,183, 17, 93,228,225,241, 33,
+155,143,151, 4, 28, 1,193,115,170,182,127,246, 16, 67,137, 7,137, 64,242,232, 27, 15,249,250, 63,253, 54,159,252,230,119,121,
+252,123,223,227, 91,239,191,207,207,126,245,109, 92,227,152,175, 59,214, 79,151,228, 71, 11,126,229,127,250,101, 14,191,245, 14,
+155,119,223, 39,223,157,177, 62, 95, 50, 63,111, 6,203,141,192, 9,193,153,202,169,162,229,245,189, 49, 95, 59, 89,243, 63, 31,
+ 54,124, 48,132, 13,233, 76,163,198, 57,241,214, 54,247, 39, 37,183,125, 96,177,232,104,242,140,243, 85,199, 92,102,136,214, 99,
+178, 68,137,195, 59, 74,163,105,136, 8, 4,199, 93,143, 53,112,224, 20,231,117,205,122, 84,242, 56, 51,220, 31,229, 28,103, 5,
+227, 73,206,104, 58,225, 32,192,178,237,176,243,115, 86, 46, 80, 25, 69,239, 58, 10,229,168,132,166, 54,134, 66, 27,162,150,220,
+219, 4, 30, 58,135,146, 57,167, 38,103,187,172,216,213,169, 27, 26,153, 12,175, 4,119,243,146,253,178, 64,106,205, 86,145, 51,
+ 18,201, 42,187, 95,143,201,180,230,149,113,205, 36, 47,217, 31,215,148,218, 80,200, 12, 27,225,254,106,193, 19,107, 89,132,200,
+202,123,118,242, 18, 75, 96,173, 32, 70,137,149, 10,175, 52,103, 82,115, 42, 53,175,151, 5,159,203, 51,238,148, 53, 51, 97,112,
+ 82, 34,148,193,105, 69, 8,145,198,167,166,192,123, 75, 8, 61,193,167, 81,190,239, 58, 86,221,146,229,234,156,147,239,191,203,
+103,174, 94,226,143, 62,125,204, 59,143,142,120,239,116,201,123, 7,199, 28,159,157, 67,183, 33, 10, 71,108, 59, 34, 63,204, 91,
+127, 33, 82,235,217,232, 58,132,231,143, 11,183,250,197, 93,116, 81,220,189,239, 89,197,192,131,181, 35, 55,130,214, 91,206,109,
+ 75,144,130,149,183, 68, 36,143, 54,115,172, 16, 60,106,214,172,162, 39, 6,112, 66, 16, 68, 98, 58, 40,147, 17, 68, 64, 75,133,
+200, 52,113, 72,124, 68,107, 86, 33, 32,135, 96, 43,149,105,108,235, 24,103, 57,153, 76,204,248,220,100, 56,111, 41,139,156,145,
+ 49,195, 86, 54, 75,107,172, 16,200,180, 65,105,141, 50,154, 24, 61,182, 79,133, 89,196, 64,183,238, 16, 17,214,253, 6, 25, 61,
+ 39,157, 69,135,148,230,185, 27,147,144,176, 22, 2, 17, 29,222, 90, 84,112,132, 24, 41,125, 96, 26, 60,165, 20, 76,130,167, 6,
+ 74,169,152,136, 84,231,106, 18,226,122, 23, 40, 17,204,136,220,201, 50,238,102,154,109,101,216, 42, 71,236,154,154,151, 70, 83,
+246,138, 41, 38,194,180, 26,145, 73,137,150,130,113,145, 81, 41, 67,239, 3, 69, 76,147,213,153,202, 56,114, 61, 91,218,176,116,
+142,243, 62,242,129,237, 56,141,240, 52, 6,198, 49, 48, 27,228,104,183,170,130, 16, 5, 19,149,177,165, 12, 59,166,162, 9,158,
+207, 84, 51,118,140, 70,248,191,142,250,253,153,208,234,197,162, 62,180, 47,106,176,176, 33,152, 63, 57, 75,133,171,117, 47,140,
+156,197, 11,123,119, 1,190, 75,194, 20, 25,147,120,142, 0,186, 74, 49,114, 91,227, 84,248, 7,131, 62, 49,133,195,199,182,135,
+178,130, 96,169,162, 99, 52,100,165, 79, 99,160,233, 91, 38, 70,209,217, 62, 9,216, 66, 72, 59,245,144,212,141, 74, 42, 66,232,
+ 17, 81, 50, 35,208,216,164, 82, 60,237, 44,222,250,148,225,173, 92, 74,251, 42,203,103, 96,154,164, 68, 31,186,110, 35,146,138,
+127,224,185, 99,195,115, 2, 94, 28, 10,189, 24,162,240,218,102, 32,202, 57,112,195,168,222, 69, 40,205, 51,150,123, 18,171,197,
+231,246, 56, 63, 48,166,189,133,188,100, 82, 42,148, 79, 52,182, 82, 41,162,183, 88, 33, 49, 33,177,212, 55,206,179,157,105,172,
+ 76, 41, 94, 94, 10,102, 81, 80, 69,207,147,139, 72, 82, 23,210, 59,187,247,131,203, 64,254, 57,112, 70,190, 61,227,230,237,155,
+116, 93, 67,211,108, 56, 62, 60,167,183, 45,222, 11, 66,200,113,125, 96, 52, 41,201, 11, 77, 46, 37, 82,165, 53,132, 37, 34, 66,
+ 26, 5,249, 16,159,197,185, 71, 98, 18,217, 9,153, 68,249, 17, 42,117,161,221,139, 76, 85,154,168,184,232,137, 81,146,105,153,
+242,198,133, 72, 97, 20, 46, 89,115,188, 73, 40,211, 62, 83, 28, 29,173,152, 68,205,164,168,104,148,164, 42, 38,136,170,100, 60,
+154,146,107, 77,102, 12, 70,128, 42, 50, 10,169,240, 90, 64,150, 83,153,156, 75, 89,129,247,158,124, 92, 33, 71, 5,178, 80, 84,
+251, 35, 74,169, 48, 33, 82,180,142, 48,201, 16, 90,161, 98,130,238, 25,231,201, 26,139, 89, 89,100,215, 36,245,171,212,140,132,
+ 98, 90, 24,178, 92,177,214,146, 53, 73, 28, 22, 50,133, 68,144,109, 28,213,253,115,196, 36,195,103, 26,151, 15,200,211,224, 49,
+157,199, 28,204, 81, 43, 11,215,167,232, 89, 77,121,125,135,124,107,204,150,211, 92,113,145,122,209,144, 61, 90,146,159,244,248,
+ 15, 14, 56,179, 61,227, 75, 19,222,250,220, 43,236,255,141,215,248, 65,213,225,254,244,152, 56,252, 39, 0,161,114, 68,108,249,
+ 7,255,233, 23,248,227,119, 22, 8,223, 13, 61,187, 76,145,184, 72, 4, 26, 30,117,252,237,255,224, 75,108,154,150,205,241,138,
+ 98, 57, 71,111,230,124,229,141,187,220,249,177, 59,212,183,111,210, 89,135, 11,130,102,216,223,197, 62,105, 47,100,111,249,181,
+ 63,250, 38,149,174,248, 71,135,158,249,178,195, 91,139,111, 45,221,186,167, 93,117, 8,155, 50,193,139, 42,231,111,142, 4, 71,
+ 94,112,214,123,150,235, 22,163, 36,163, 82,226,101,196, 74,197, 82,128,244,145,141,117,156,119,142, 69, 11,199, 85,198, 81,102,
+120,164, 36, 79,144, 92, 53,138,191, 49,202,184,189, 83, 51,173,115,150, 94,240, 3, 97, 56, 90,174, 97, 53,231,160,153,115, 41,
+215, 20, 17,148,201,208, 70, 17, 98, 96, 29, 35,153,144,156,249,200,227,229,156,187,121,150,150, 20,166,224,238,168, 96, 17, 18,
+244,100,171, 44,217,173, 10, 74, 83,208, 42, 77,235, 83,225,216, 42, 74,118,137,212, 89,134,150, 26,149,143, 82, 98,154,209, 28,
+117, 14,173, 51, 22, 49, 34, 72, 22, 84, 27, 3, 27,161,137, 3, 14,121,172, 52, 39, 66,210,168,130, 45, 37,121, 43,147,108,153,
+130, 66, 24,118, 76, 70, 46,147,122,255,160,237, 88,218, 14,223,247,156,247, 13, 27,219,114,214, 52,116,109,203,106,181,228,225,
+201, 99,142, 78,142,120,116,240, 20, 58,199,225, 39,143,225,201, 99,226,242,156,216,109, 82, 19, 19, 2, 81,133,225,192, 30, 94,
+ 40,222,127,182,152,243,194,116,231,135,163, 84, 46, 30, 23, 41,168,238,226, 97, 19,186,249,163,243,142,127,117, 62, 71, 2,173,
+183, 28,186, 13, 79,109,203,169,183, 44,188,229,180,111,232,189,163,245,150, 60, 43,113, 3,231,189,146,233, 64, 56, 49,134, 77,
+215,165,224, 24, 2, 77,140, 72, 4, 46, 6,164, 46,112,174, 35,203,179,100, 15,149,146, 66, 43,172,143,148, 69,158, 4,134, 17,
+170, 44, 27,166,141,138, 92, 25,162,212, 4, 36,173, 13, 8, 23,105,250,134,205,166,165,239, 45, 49,244,201,135,142, 39,122,143,
+119,150,169,209,136, 16, 88,251,142, 82, 72, 68,240,248,190, 69,138, 64,231, 58,180, 15, 72,231,200,134, 98, 45, 66,100, 91,164,
+ 73,107, 37,161,148,146,145,148,204, 98,138,161,222,146,134,155,245,132,153,206,153, 20, 21, 91,227, 41, 35,149,177, 55,217, 99,
+ 55, 31, 49, 85, 25, 87,183, 46,145,133,136, 70, 50, 45, 42,108, 76,113,211, 82, 72, 78,241,136, 8, 31,119, 27,154, 24, 89, 17,
+ 88, 71,193,119, 54, 27,130,208, 60,244, 61, 45,130,147, 16, 24, 33,120,171,206,217, 56,203, 75,101, 73, 64,177,109, 10,142,250,
+134, 55, 71,187,116,161,227,122,189,195,189,118,245,215, 84,191,251, 33, 17,236, 17, 13,114,221, 0, 0, 32, 0, 73, 68, 65, 84,
+226, 54,113, 46, 41,219,141,121, 62,166,190, 40, 38,249, 16, 69,122,225,235,116,225, 5,181,248, 32,132,243,118,160, 3,248, 68,
+122, 26, 15,100, 33, 53,208,231, 46,166, 3, 97, 56, 12, 72, 65, 78, 10, 57,176, 93,203,158,214, 28,246,237, 16, 81, 60,116,166,
+171, 53,204, 87,208, 89, 38,117,218,255,120,160,145,130,104, 61, 74, 73,186, 62, 36,142,114,136,116,157, 69,170,152,210,221,130,
+ 29,124,170,102,136,105,189, 32,198,169,139, 25, 86, 42,136, 66, 12,227,250,161, 19,238,251,116,141,189, 75,187,236, 48, 76, 38,
+ 98, 76,235, 9,157, 63,139, 9,140,109,178,192,141,148,162,247, 33, 9,251,172,135,104,193,201,180, 20, 90, 45, 56, 93, 90, 84,
+ 93, 32, 69,226,141, 71, 9, 19, 20, 14,143,139,158, 32, 34, 42,200, 36,110, 19,130, 60,192,177,237,113, 90,113, 89,195, 97,231,
+159,171,244,197,160,107,136,195, 26,228, 5,104,253,163, 15, 63,226,179, 63,249,227, 9, 9,233, 3,173,239,137, 65,144,235,140,
+157,221, 61,242, 34,167, 42, 50,198,101, 78,110, 20, 34,130, 80, 2, 61,252,123, 33, 68,178, 66,167,216, 85, 23,136,131,100,162,
+115, 46, 69,125,170,212, 63,154,139,179,161,136,233,252, 18, 35, 35, 45, 40, 5,100, 74, 83,168,228,245,246,131,240, 74, 12,216,
+ 80,149, 25, 22, 89, 70,191,182,212, 58, 97, 92,215,221, 6, 27, 60,189,107, 19,220,196,123,148,201,185,122,229, 38,211,122,198,
+100, 54,227,242,246, 30,179,170,198, 8, 67,173, 13, 35, 33,153,236, 78, 40,140, 70,219,136, 44, 13,126, 0,207,100, 82,224, 51,
+153,130,185, 66, 68,217,128,233, 60,210, 38, 84,107, 52, 10,101, 82, 54,187,201, 85,202, 73, 55, 10, 35,192, 32, 41,140, 66,231,
+ 26,187,233,153, 29,116,240,104, 5,109,143, 47, 21, 20, 26,169,147,175, 93, 54, 1,185,238, 16,147,114, 72,235, 3,129,194, 92,
+ 25,147,141, 12,246,116, 69, 55,239,105, 30,156,112, 37, 56, 94,201, 13,227, 66, 51,207, 53, 87,246, 39,188,245,153, 59,132,105,
+ 75,245,214,132,203,111,223, 68,124,110,159, 47,254,199, 63,199, 23,126,226, 10,127,255,239,254, 44, 89,222,240,237,111,126,130,
+ 28, 60, 6,233,221,147,182,239,146,192,233,201,199,236,190,246, 42, 58,244,200,222,167, 4, 47, 37,209, 90,178, 38, 38,176,144,
+119,116, 65,112,190, 88, 34,176,248,213,138,222, 90,156,204,249,181,143, 62,193,127,242,125,194, 39, 31, 19, 30, 63, 34, 60,252,
+148,112,178, 32, 60, 58,160,107, 2, 99,239,249, 79,174, 22,124,241,202,148,173,105,206,135, 75, 71,179,108,112, 66,160,165, 71,
+ 32, 56,247,145, 50,194,201,166, 73, 34,178, 16, 88, 91,193,169, 80,180, 90,178,118,129,214,121,254,118,173,249,185,253,146,215,
+102, 25, 61,138,211, 32,120,191,113, 56,173, 57,148, 38, 9,180,150,167, 24,215,147, 69, 64,102, 88, 37, 89,245,176,238,122,116,
+111,169,136, 56,219, 49, 82,129,109, 19, 41,178, 12,239, 36,186,200,145,217, 8, 35, 13,101, 85,209,184,200, 89, 20,120,147, 49,
+ 14,142,203,163,154, 82, 41,164, 54,152, 40, 81, 90, 35,133, 64, 72,195, 19,239,145,210,240, 88, 4,148,144,116, 41, 35, 47, 29,
+200,149,166,208,249,128, 39,141,188, 82,100,188, 42, 35,123, 72,138, 44,167,150,130, 17,146, 67,219,241,131,166,229,164,223,112,
+220,119,124,212, 44,121,186, 89,114,116, 62,231,241,147, 39, 60,190,255,132,179,123, 15, 89, 31, 29,192,106, 9, 7, 39,131,246,
+ 40, 29,158,163, 74,107, 71, 84, 24,232,152,241, 47, 12, 74,249,255, 82,224,253, 11,223,159,141,227, 93,143,235, 58,238,109, 60,
+223, 94,174,105, 68,228,219,203, 13, 39, 6, 30,186,200,121,148,144,231,228, 91,151,232, 84,202, 81,232,133,194, 5,143, 82,138,
+121,223,225,148,196, 59,199,121,219, 64,132, 54, 56,132,179,200,152, 68,164,209, 90, 54, 62, 48, 46,203,244, 60,155, 68,111,204,
+148, 76,177,164,190,199,199, 72,136, 2, 33, 37, 82, 36,253,135,183,145,179,118,205,178,235, 89, 7,203,218,182, 52, 33,176,218,
+172,232,250,158,211,102,131, 11,158,243,182,195,117, 29, 83, 13,190,239,145,206,146,135,128,237, 58, 42,161, 32,132, 20,144,131,
+ 64, 17,153, 74, 65,231, 29,219, 66,160,165, 96, 36, 36, 59, 58, 99, 58,154,178, 95,212, 76,243, 17, 85, 81,145,231, 35,234, 98,
+ 76,105, 74,242,188,102,183,170,153,228, 57,179,186, 70, 56,199,100, 60,166, 48, 57, 10, 65, 41, 82,116,120, 16,137,115,242,196,
+245,212,198,176,112,145, 54, 6,126,176,110, 25, 73,201,119,108, 71,140,105,149, 32,130,227,117, 99,232,156,227,237,209,132, 15,
+218,150, 61,169,177,193,242,198,100,155, 15, 55, 43, 62, 51,222,229,187,103, 7,252,248,222,149,255, 31,150,182,240,124,124,251,
+108, 44,159, 13,194,176, 11,116, 42, 67, 76,222,133, 26, 62, 14,133, 94,136, 84,236,132,120, 62, 32,106,237, 96, 63, 75,169, 73,
+148, 58,221,176, 82,253, 48, 74,118, 24,141,251,206, 83,233,228,121, 63,233, 82, 33,151,128,240, 73,248, 64,103, 97,221,128,111,
+233, 84,218,223, 33, 20,219, 3, 12, 69,249,200, 88, 72, 22, 33,125,208,117,109, 32, 10,255,124,140,222,117,105, 5,112, 1,212,
+201,139,212,133, 63,139, 50, 29,138, 54,131, 98,191,115,207,119,234,132,193,242, 22,158,157,164,211,255, 51,168,250, 93, 76,138,
+120, 37,233,219, 33,231,188,237,159,219,226,164,127,190,247,206, 37,139, 54,114,212, 56,164, 12,212, 8, 54,222,145,107,133, 33,
+162, 93,160, 23,129, 12,137,141,224,162,195, 40, 69,219, 57,162, 16, 52, 65,208, 55,125,250,157,220,102,152, 46,252,217,193,220,
+ 96, 24,216,155,113,249,242, 21,144,130,233,100, 11,219,116,140,235, 17,123,151,118,168, 70, 57, 91,147, 2,136, 24,165,159, 49,
+131,252,160,103, 80, 67,208, 11, 2,156, 15, 68, 23,177,189, 35,120,200,242,148,128, 55,214, 34, 9,229, 34,100, 82,166,167,139,
+148,140,214,133,200,169,117, 4, 17, 49, 33,210,251, 64, 39, 65,169,100,157, 49, 74, 97,234,156,229,167,135, 28, 46,150,172, 68,
+164, 87,154, 94, 27,114,157,113,119,251, 18,183,182,246,169, 39,219, 76,102, 51,174, 94,221,229,141,187,215,249,201,183,110,145,
+ 77,167,212, 91, 83,246, 71, 53,178,117,100,147,146, 50,203,160,115,104,163, 17,179,196,149, 86, 90, 17, 10,153, 44,121, 17,164,
+243,136, 65, 71,208, 35,240, 90,130, 78,153,241,218, 40,140,145, 20, 82, 81, 74, 40,163, 72, 0, 27, 31,121,231,196,113,184, 95,
+210,198, 21,253,147, 19,186, 71,167,248,117,139, 40, 51, 68,110,144, 34, 32,164, 70,230, 26, 25, 34,162, 75,239, 5, 17, 98,250,
+187, 42, 71,204,114,244,245, 49,249,172, 68, 25, 69,172, 37, 49,151, 72, 9, 7,167, 43, 58, 89, 82,141,102,136,106,196,143,239,
+141,249,207,189,227, 11, 46,242,155, 31,220,231, 35, 17,120,237, 43,183,217,125,185, 96,116,189,100, 45, 3,156,244, 40,224,171,
+255,240,231,249,151,255,195, 59,124,231, 87,190,206,171,127,231,243, 20,206,162, 67, 64,134, 64,101, 45, 7, 77,143,127,250, 41,
+ 31,254,234,183,216,236,103,216,245,146,157,245, 9,187,243, 83,182,207, 14, 16,177,227,126, 16, 92,157,108,115,125, 52,166, 48,
+ 25,186,219,240,213,246,140, 59,221,130,141, 50, 60, 93, 52,188, 62,202,185, 57, 46,248, 90, 11,191, 83,228,168, 33, 71,104, 99,
+ 10,140, 49,196, 40,240,235, 53,210, 57, 92,107, 57,183, 61, 93,159,172,138,197, 98,141, 88,110,232,187,192,219,181,230,213,105,
+ 65,110, 52, 39,125,228, 55, 14, 27,150, 4, 76,157,145, 85, 37, 93,208,220, 59, 58,228,252,228, 0,225, 26,136, 17, 43, 20, 62,
+ 6,214,109, 79,227,122, 70, 64,180, 61,133,134,138,180,139,205,140, 36,203,106,234,178,164, 55,134,141,147,136,178,164,172, 70,
+ 4, 23,152,106,205, 56,215, 84, 58,199, 40,147, 24, 11,121, 18,226,158,186, 64, 39, 53,231,209,115,210,247, 20,164, 3,209,102,
+200,189,184,156,101,156, 73,201, 76, 41,150, 81, 48,149,145,215,178, 20,222,179, 21, 61, 75,215,179, 10,142, 7,182,227,215, 79,
+207, 56,177, 27,150,139, 57,113,177, 72,141,200,201, 25,177,109, 97,125,142,144, 33,133, 96,245, 3,179, 67,166,136,105,140, 68,
+244,225,133, 83,114,130,217, 64,248, 43,125,124,255,168, 34, 31,254,146,226,238,242, 12,167, 75,156, 16, 56,105,120, 98,114,206,
+ 46, 93,226, 81, 94,115, 54,222,101,119,186,203,108,119, 31, 47, 36, 50,175, 88,106, 73,231, 45,182,239,105,186, 22, 99, 12,193,
+ 57,154,152,178, 36,186,118,131,183, 22,221,119, 8,151,162,108, 51,239,144, 17, 86, 93, 71,149, 25,182,124,164, 9, 30, 33, 37,
+ 89,219, 13, 33, 43,142, 82,128,243, 14, 47, 37,116, 9, 39, 61,119, 61,139,232,120,218,119,184, 64, 58, 68,132, 72, 46, 2,219,
+ 72, 70, 2,218,174,199,250, 84,107,174,229,134,130,136,114,158,145, 78,246, 75,233,147, 48, 80, 18,153, 42,141,140,130,189,114,
+ 4, 17,246,171, 41,187,229,132,253,233, 30,120,207,184,218, 66,153,156,158,200,118, 61,195, 71,136,202,144,143,106,118, 77,193,
+168, 30, 97, 16, 20,121, 73, 32,173, 76,147, 36, 77,162, 17,116,125, 79, 67,164, 18,146,135,182, 67, 16,121,220,116, 76,144,252,
+174,179, 67, 51,155,106,233, 76, 74,238,249,192,127,180,179,205,135,253,134,175, 20, 21,167, 10,246,178,130,247,230,167,252,244,
+246, 62,239,109,150,252,196,222, 85,126,235,224,225,191, 38,246,251, 51, 16,141, 25,184,237, 67,215, 13, 67,142,164,122,110,233,
+202,205,115, 97,220,139, 7,128,126,192,154, 74,157,210,140, 80,169,216, 5, 63, 76, 1,178, 36,170, 67,160,180, 98, 44,147, 7,
+247,172,237,168, 68, 26, 3, 27,159,130, 71,112,126, 16,135, 13, 30,242, 24,241, 81,242, 90,145,161, 73, 5,232, 40, 68,116,112,
+236,104,201, 88, 72,142, 93,155,198, 87, 23, 42,241, 48,164, 50,169, 60,173, 8,172, 27,210,214, 6, 73,129, 15,233,141,166, 72,
+ 42,255,174, 31,236,119,109,242,224,251, 54, 21,244, 23,167, 27, 58, 79,227, 35,165,211,225, 70,203,231,192, 26, 49, 8, 1, 47,
+212,243,118,216,215, 91, 7, 93, 67,140,146,243, 85,199,198,192, 52,164,147,164, 28,222,137, 54,198, 52, 60,144, 49,217,110,172,
+ 67,239,237,241,157,165,227, 53,229, 56,246, 49,121,240,237,176, 99,151, 60,103,209,191,240,245,224,253, 31,240, 99, 95,126, 27,
+162,160, 91, 55, 52, 93, 75, 12,112,114,188, 32, 56,205,229,253, 41, 50,138,164,110,207, 82,184, 9, 49,237,246,189,136, 88,231,
+ 81, 33,210,181, 46,105, 1, 69,234,180,145,145,202,104,106,157,186, 25, 31, 35, 27,235,159,229,255,246, 62,157,180, 54,222, 51,
+239, 35,185, 74,123,248, 16, 97,233, 28, 77,136,120,163,104,148, 98,215,148,232,233,140,107,245, 4, 47, 12, 74,101,140, 77,201,
+ 91,147, 45,234, 24, 57, 62, 61,161, 95, 47,144, 62,224, 54,150,178,183, 76, 16, 92,158, 86, 76, 47, 79,241,163,156,172,177,140,
+148, 34,100,169,135, 21,153, 70,150, 25,162, 48,132, 33,198, 81, 93,160,252,125, 28,130, 43, 36, 82, 43,116, 72, 7, 12,161, 69,
+ 50, 63,132,136, 70,144, 41,137,138, 17,233, 61, 15,207, 44,246,220,226, 99, 78,254,210, 22, 71, 33,195, 44, 55,184,239, 31,208,
+172, 91,226,162, 69, 54, 29,172, 59,226,162, 33, 62,221,224, 30, 29, 33, 90, 75, 92, 54, 72,169,209,181, 70, 79, 42, 86,179,130,
+197, 86,193,114, 82,225, 70, 37, 22,193,193,201,138,213,233, 41, 70, 6, 68, 94,242, 31,206, 74,174,232,140, 42, 42, 38,120,238,
+105, 69, 94, 20,140,119, 46, 49,189,122,137, 27,175,220,226,246, 87,238,144,125,249, 37,254,179, 66,243,210,207,222,225,105,181,
+224,157,255,254,143,248,147,223,120,151,207,127,229, 22,255,227, 63,249, 29,142,190,249, 1,211,109,197,150, 44,120,245,213,125,
+174,120,203, 79, 42,193, 87,203, 49,111, 86, 51,102,249,136,135, 70,179, 46, 39,124,245,165, 43,188,117,117,143,219, 87,118,184,
+148,143,248,169,157,171,188, 49,221,230,229,224,248,189,222,242,255, 60, 60, 69,202,130,127,220, 75, 78, 51,197,189,113,201,189,
+237, 17, 31,205,106,244,164, 98, 60, 42,208, 42,163, 95,108, 56, 63, 95,128,136, 40, 29,185,225, 54,124, 81, 9,222,232, 87, 92,
+ 19,158,243, 78,176, 18,146,167, 22,254,217,131, 13, 31,158,174,233,137,200,113,201,206,172,228,242,168,166, 18, 37, 11, 20, 31,
+157,159,115,182,217,160, 67, 67,215,183, 40,231, 19,238,183,235,217,207, 37,165, 72,110, 11, 39,101,138, 90, 21,145,133, 11,228,
+ 82,160,133,164,115, 22,215, 7,140,132,105, 93, 83, 73, 67,149, 41,114,149, 72,123, 81,192,153, 13,116, 49,221,215, 22, 40,149,
+ 98, 41, 36, 75, 36, 47,231, 25,175, 21, 53, 39, 81, 98, 5, 92,215,138, 93, 37, 57,113,129,195, 16,249,183, 71, 99, 58,151,238,
+199, 39, 1,190,190, 90,178, 21, 45,135,135, 39,233,253,127,190, 30,216, 26, 46, 9,111, 59,143,232,134,184,228,139, 28,114,169,
+147, 94, 98,208,246,136, 48,172, 38, 73, 90,158, 11,144,231, 95,244,248, 75, 11,187,214,196, 34, 35,150, 37, 33, 31, 19,242,138,
+ 80,143, 8,245,132,176, 53,195, 95,217,199,223,186,140,187,178,143,187,126, 11, 55,221,198,141,118,233,138, 17, 55,242,146,237,
+ 73,133,208, 6,235, 3,167,203, 6,103, 91, 68,244, 24,231,232,135, 88,236,190,217,224,125,106,128,100,183, 38,244, 45, 83, 34,
+218,182, 20, 49,160, 9, 72,215,147,133, 68,165, 28, 41, 77,215,247,168,220, 16,218,110, 88, 69,166,130,231, 87, 29, 70, 40,230,
+237,134,181,237, 57,179, 13,202, 7,100,244, 20, 65,240,165, 50,227,181,170,224, 70, 89, 48, 53,130, 50, 66,215, 56,148,128,137,
+ 18, 76,149, 98, 44, 53,106,200,166, 24,101, 25,219,121, 77,129,160,154,108, 39, 52,116, 86,176, 83,207, 64, 42,182,234,105,154,
+234,148, 19,108,244,228,229,132, 50,171, 88, 71,203,104, 60,101, 84, 86, 76,165,162, 30,143, 17,222,145,149,229, 51,108,118,136,
+129, 60,203,211,164,161,239,176,222,179,118,150, 35,223,209, 6,199,161,235,153,119,158,223,107, 27,162,179,105, 10, 3,140,165,
+100, 25,225, 31,236, 76,248,229,179, 37,191,184,181,197,159,180, 13, 87,165,226,126,219,240, 51,219,251,252,225,114,206,151,234,
+ 41,255,114,121,202,191,121,227,206,191,166,148,182, 11, 16,188,139, 41,199, 91,188,128,145, 45,179,231, 9,108, 65, 13,187,105,
+249,188,219,247,110,240,153,155,231,184,216,222,131,242, 84, 49,176,233, 3, 85, 85,160,131, 39,148, 37,141,119,196,102,195, 56,
+207, 57,219,180,228, 82,176,177,142, 92, 11,172,181,100, 34, 69,126,166,159,153, 65, 88,131,148,236, 23,146, 54, 66,239, 29,185,
+130,235, 74,243,212, 5,178, 40,208, 56,240, 58, 21,226, 63,155, 62,183, 57, 79,227,248,233,236,249,117,108, 6,150,123,166,211,
+206,126,211, 63,247,226, 67,218,203,255,168, 44, 21,111, 65,141,135,160, 23,255, 67,214, 54,138,148, 18,151,186,127, 9, 34, 7,
+ 29,210,239, 0, 16, 59, 32,227,248,112,133,218,139, 92,178,130,221,188,160, 42, 13, 83,224,208,123, 64, 82, 2,141, 81,168,195,
+ 67,126, 66, 73, 22, 62,114,213,120, 30,106,153, 18,220, 46,172,117,127,193,215, 39,247,238,115,247,206, 93,188,116, 24,163, 80,
+ 66,113, 54,159, 51,221,154,114,112,176,230,234,229, 9, 40,137,136,130,177, 17, 44, 8,184, 76, 17,219, 52,134,180, 49, 32,181,
+ 72, 1, 36, 34, 29,220,188, 77,138,239,165, 76,250, 66, 41, 32, 87, 41,172, 38,196, 52, 94, 35,132,164,234,143,158,115, 11, 15,
+186,158,206, 57,114,160, 48,146,210, 24,150, 34,242,250, 94,205,149, 60, 35,168,136, 50,154,229,201,146,147,179, 99, 26, 21,217,
+ 22, 5, 63, 51,221,166, 46, 75,182, 46,141,209,163, 28,217, 69,108,105,136, 70,210, 58,199,165,221, 9,106,119, 76, 53,239, 89,
+ 57,203,121, 8,228, 49, 32,137,104,163, 80,133, 30,244, 21, 32,181, 67, 12,150, 74, 37, 4,194,250,180, 22, 25,226, 99,133, 15,
+105,250,137, 74,163,238,232, 9,153,230,223,248,220,140,227, 71,107,138,203, 91,204,246, 74,158, 78, 86, 60, 62,172,177,149, 37,
+211,145, 8, 92,162,227,180,105,185,254,210, 62,157,236,249,214, 31,124,135,187, 69, 75, 49,170,200,166, 19,140, 74,153,235, 31,
+182, 13, 7, 25,124,235,227,251,100, 85,141, 81,146,163,245,138, 27, 59,151,144, 1,166,221, 49, 71,118,143,203, 82,161, 0, 17,
+ 2,215,102, 99,108,132,166,245, 44, 59, 75,159, 37,182,194,127,153,149, 76, 17,252,164,146,228, 63,253, 83,252,224,115, 43,234,
+227, 67, 54, 31,126,143, 95,124, 99,151,229,106, 13,167,115, 94,223,209,236,230, 37, 86, 73,176,145,220, 36, 91,209,182,140,188,
+ 33, 34, 97, 58,230,234,222,140, 81,153, 19, 4,236, 8, 69, 17,210, 65,108,164, 4, 63,119,220,240,251,173,227,151, 63,124,140,
+ 95,156,227,110,222,132,151,247, 97, 84, 32,164,224, 88, 75,222,172, 43,222,190, 50,130, 43, 99, 62,125,103,206,131, 39,247,153,
+246,107, 94, 25,101,236,196, 64, 94, 84,220,113, 29, 31,206,159,242,127,124,175,225, 35,149,232,100, 58,147,196,160,216,180, 26,
+145,101,108,215, 57, 87, 94,185,206,102,123,130, 59,188,196,236,248, 35,246,215, 11,114,215,242, 56, 43,248,104, 25,153, 24,197,
+ 90, 20, 68,165,200,138, 60,241,190,157, 37, 68,201, 44, 51,116,222,178,233, 28, 83,173,200,202,140, 3,219,225,188, 64, 27,201,
+ 90,192, 72, 41, 64, 49, 95,109,208,178, 96, 37, 90, 78,176,236,100, 5, 51, 41, 89, 57,207, 29,109,240,209,113,179,204, 57,160,
+229, 82,208,140,149,230,172,111,121,173,204,112, 68,126,165,177, 60,104, 58,246, 11,197,217,186,101,108, 20,244, 61,213,100,196,
+230,124,158,166,120,157, 27,178, 28,210,174, 42, 14,152,103, 49,196,184, 70, 13,194, 5,162,145, 63, 84,164, 5, 36, 46,190,115,
+127,174,120,191, 88,192,127, 84, 65, 39,207,146,190,167,168, 17, 87,174,240,229,235,151, 41,178, 49, 31,135,192,227,205, 26, 17,
+ 93,226,238, 3,152, 10, 17, 83,116,109,180,142,168, 3,149,146,136, 34,167,111, 28, 90, 70,150,237,146,245,106, 78,219,183, 76,
+ 67, 67, 57,217,162,105,150, 88,219,130,144, 8, 2,210,123,116,240,212, 82, 80,111,230, 20, 58,103, 25, 28,151, 90,199, 90,103,
+180,202,160, 17, 44,108, 79, 37, 20,174,235, 25, 27,205,122,189,192, 75, 1, 93, 64, 11,201,252,252,156, 85,136,172,250,134,162,
+119, 72,239, 16,120,246,137,220, 44, 74, 10, 37, 81, 49,176, 4,156,118, 52,163,140,104, 35, 99, 97, 24,229,154, 45, 93,226,189,
+103, 42, 20, 54,146,220, 42,179, 75, 4,239,240,163, 29,172,235,144,229,104, 64,177, 26,148, 78, 77,204,246,100,139,229,102, 73,
+ 94, 84,132,168,201,164,129, 76, 49,174,199,216,182,101, 50,174, 17, 46,164,120, 89, 36, 89, 38,177, 93,159, 8,155,218, 48, 95,
+156,178,244, 61,171,174,225, 9,145,123,155,150,247,205,208, 60,102, 25,248,228,192, 90,153,146,255,250,210, 22,255,237,193, 41,
+255,221,141,171,252,227,167,135,252,253,237, 41,247,108,207,141,114,196,255,122,112,192,191,119,233, 18,255,124,121,206,191,123,
+233, 26,191,127,248, 20,197,206,221, 95, 34, 31,216,225, 38, 27,196, 96,234, 57,149, 44,252, 21,198, 57, 90,167, 16,147, 11, 75,
+ 26, 47,140,213, 61,207,169,112, 23,208,149, 11,113,221,179, 64, 4,159, 58, 94,235, 83, 39, 92, 21,100,163,154, 24, 35,151, 71,
+ 37, 85, 8,200, 92,147,245, 14, 19,192, 32,152,219, 62,177,197, 67, 36, 58,139,119,201,228,227, 90,151, 14, 23, 82, 38, 21, 57,
+201, 74,214, 10,197, 37,173, 89, 74,168,133,102,233, 29, 19,173,105,188,163,139,146, 77, 8,233,116,244,103, 89,233,145,244, 4,
+247,107,200,202, 84,152,241,233,119,189,232,212,173, 79,187,180, 24, 6,205,192,160, 48, 15, 46, 61,135,179,173,244,221, 13, 7,
+ 13, 72, 99,125,212, 48, 13, 48,195,140,203, 13,227,254,152,126,143,224, 94, 88,111, 12,138,124, 21, 89, 55, 29,135, 86,241, 82,
+161,120,106, 29, 82,169,148, 74, 23, 19,205,205, 13, 7,129,167,173,227,212,246, 44, 93,196,218,144,198,250,222, 15,215,240,163,
+191,238,189,247, 33,175,252,216,103, 40,234,146,172,168,184,125,247, 37, 66, 23,147,208, 79, 73,102,211,154, 66, 43, 2,130, 60,
+ 87, 73,188, 31,160, 15,150,174, 77, 98, 63,231,211,148, 48,248,128,141,129, 73,101,104,123,143,144, 2, 45, 34, 82,165,209,123,
+231, 35,185, 86,212, 90,210,184,144,124,236, 33,210,249,192, 73,219, 19, 34, 84,185, 73,147, 1,163,120,184,105,185, 34, 97,247,
+251,167,156, 29,156,210,172, 55,188, 90, 21,252,120, 61,229,198,254, 22,179,237, 9,123,121,201, 40, 42,140,117,112,214, 34,231,
+ 27,138,121, 71,239, 35,125,231,169,124,164,152, 84,132, 92,113, 26, 29,143, 36,204, 53, 24, 45, 17, 90,162,202,156, 40, 85, 90,
+209,132,180,139,198, 70, 2, 73, 39,128,124, 30, 81,160,132, 64, 41,133, 48, 73,193, 27,149, 74,196,191,253, 49,163,203, 99,230,
+ 81, 97, 90,199,189,243, 6,191,182, 72, 37, 41,242,140,160, 12,148, 21,217,229, 93,102,151,198,232,155, 59,236,237,238,241,222,
+135,223,231,192, 40,158, 68,248,211,249,156,127,241,209, 39,252,223,191,252, 33,223,253,173,143,121,242,221,115,238,127,235, 41,
+ 63,248,230, 1,143,191, 51,231,189,175, 61,225,221,211, 35,238, 77, 36,127, 18, 35, 47,111,111, 17,235,146,249,143,221,162, 51,
+134,217,155,183, 17,215,118,161,168, 57, 63,239,153, 20,138,151,115,195,142, 0, 35, 4, 65, 74, 44,176,223, 54,188, 28,160, 78,
+ 87,136, 48,146,219,163, 41, 69,158, 92, 23,214,167, 52,177, 72,160, 19,145, 21, 2,103, 50,182,171,130, 40, 18, 71,193,104,197,
+ 40,207, 48,133,230, 20,201,147, 40,249,194,213, 25,183, 38, 99,122, 10, 38,235, 6,113,186,100,125,180, 68,228,134,185,139,108,
+103,138, 91,165,225,202,164, 96,186, 91,161,119,118, 24,159, 58,110,133,134, 92,105,100,140, 16, 5, 83, 1, 69,220,240,253,195,
+167,248,205, 28, 86,235, 20, 61,217,123,106, 36,219, 66, 82,107,193,164,202,248,210,229, 9, 63, 87, 78,121,115,179, 65,207, 15,
+120,180, 90,240,125, 31, 49,194, 18,237, 6, 17, 3,189,117,196, 24,113, 94, 80,122,203,117, 26,110,216,158,171,194, 83,216, 13,
+125, 51,103, 79,151, 84, 50,114,110, 29,211,188, 2, 34,167,235,142,162,200,152,247,150,117, 8,188, 57,158,240,199, 77,207, 79,
+140,106, 76,150,113, 24, 2,159, 41, 11, 58, 27,184,149,101, 84, 69, 77,229,122,174, 22, 21,235,232,169,179,156, 83,103,217,209,
+154,153,146,132,216,177,105, 61, 75,235,120,228, 67,154, 84,246, 22, 86, 77,106, 30,130,123,158, 14, 23,211, 71,133,208,105,133,
+ 39,244,112, 95, 94,136, 36, 7,221,132, 4,100, 8, 63,252,231,103,154,138, 23, 10,191, 76, 66, 89, 97, 52,236, 94, 38, 78,167,
+112,247, 54,188,242, 38,255,254,235, 95,228,165, 91, 55, 25,143,119, 57,245,112, 96,138,164,198, 71, 19,116, 70,140,142, 32,100,
+ 42,122, 74, 16,186,150,118,179,132,213, 57,151,148,199, 45, 78, 56, 61, 63,224,119, 30, 61,162,136, 61,149,150,204,155, 21, 82,
+ 43, 54,109, 75, 41,192,119, 27,100,215,176, 75,100,199,187,148,150, 40, 21,187,182, 39, 71,176, 45, 5,165,179,232,190, 65,199,
+200,194,183,172,251,134, 85,187,193,246,142,195,243, 51, 54, 77,199,217,249, 9,125,211,176,238,214,136,174,167,196, 81,186,158,
+ 50, 4,222, 30, 21, 84, 74, 81, 75,137, 33, 50, 70,144, 9,207, 30,138, 59,153,228,229, 66,179, 47, 4,183,117,198,231,138, 17,
+149,183,188, 85, 76,168,198, 59, 92, 67, 83,142,182, 80, 49, 80, 84, 51,164,209,104,147, 51, 46, 70, 72,149,161,243,156,206, 91,
+242,170, 6,165,168,181, 65,228,134, 74, 25, 60, 80,215, 37,222, 38,237, 72,146,140, 37,139, 31, 64,223,245, 4,215,163,162,224,
+160,155, 51, 15, 61,143,154, 5, 31,250, 72,211, 54, 4, 33,137, 46, 37, 38, 34,224, 23, 70, 25, 95,223, 88,254,171,253, 75,252,
+195,199,143,249,111,174, 92,229, 55,207,230,188, 90,230,252,243,179, 57,255,206,238, 46,191,219,172,248, 74, 61,225,187,109,195,
+207,236,239,163, 24,223,249, 37,134,228,234,103, 40, 87, 31, 82,241,177,253, 95,173,176,135, 11, 5,248,144,141,174,228,179,177,
+119, 42,218,242,121,161, 18,164,221,180,148,207,147,217,132, 76,105,109, 98,144, 71,215, 37, 91,101,129,145,146,206,167,206, 38,
+119, 1,105, 36, 65, 8,106,239,232,108, 79, 31, 34,113, 16,233, 41,231, 9, 46, 32,227,160, 7,158, 47,210, 1,165, 11,168, 42,
+137,164,158,120,203,174,212, 52, 70,176,140,130, 22,207, 18, 48, 58,121,149,125, 55,168,216, 95,188,222, 11,218,221,197,186, 32,
+ 12,192,157, 16,134, 34, 62, 4,212, 68,159, 58, 96, 51,232, 0,156, 75,133,120, 50,133, 73,145,242,162,155, 52,129, 64,103, 3,
+144, 39, 41,250, 25,186,236, 52, 22,143,195,212,162, 75, 7,132,100,190, 76,207, 87,140,207,179,157, 61,220, 91,119,188, 58,206,
+121,208, 58,218,144,246,236,243, 62, 32,124,100,222, 59,244,176,159, 62,105,147, 24, 48,177,224, 47,226,129,254,226,215,244,149,
+183, 94, 99,182,183, 77, 57, 74,251, 69,173, 76,242, 23, 11,157,212,168, 6,252,144,128,100,148,120, 54,146,111,173,195,217, 56,
+128, 51, 34, 46, 68,188, 79,162,188,186,214,140,139, 11,223,182, 24, 50, 34, 4, 82, 8,250, 24,217, 88,139,141,145,214,185,103,
+ 33, 18,142,136, 25,124,169, 79,206, 27, 78, 91, 75, 89, 23,108, 13,177,186,181, 82,148,101, 78,221,123,132, 23,200,117, 79,214,
+121,124,215,226,251, 64,167, 33, 40, 73, 62, 42,168,148,196, 52, 14, 19, 4,186,179, 20,227,138, 32, 21, 15, 6, 64,210, 44, 55,
+216, 16, 17,117,145,196,107, 34, 9,245,144, 98,200,102, 18, 16, 99, 18,238,137,132,193,149,198, 36,196,170,148,200,152, 70,184,
+253,172,128,227,142,145, 48,132, 43, 35,212, 89, 75,253,141, 71,212, 55, 50,194,106, 73,189,238, 9, 27,216,222, 42,216,158, 21,
+148, 85,142,237, 29,110,171,224,165,215,111, 48, 63, 92,179,152,207, 57, 56, 60,226,254, 59,103,184, 24,113,235,126,176, 26, 41,
+ 2,142, 56, 60, 56,237,176, 77,203,222,103,239,210,188,121,155,241,237,109,102, 90,240, 55,103, 35, 94,149,138,167,125, 75, 62,
+169,216,185, 49, 99,186, 63, 33,107, 60,223,118,142,243,174,167,115,158,105, 81,240,165,124,130,107, 23, 24, 37, 8, 58,226, 46,
+ 95, 35,247, 45, 74,192,218,182, 60, 42, 10,158,110,206,233, 92,199,166, 89, 51,239, 90,142,188,227,220, 11, 58, 36,167,173,165,
+223,244, 84, 85,198,121,107, 57,207, 52,215,246, 42,182,170,140,105,109, 88, 96, 56, 12,146, 71,239,127, 3,115,126, 68,190, 17,
+184,147,134,251, 66,113,117,148,115,187,204,120,121, 39, 71,100,138, 75, 59, 53, 91, 78,145,183, 93,250, 40,146, 2, 47,224, 84,
+106,102, 89,205,229,190,165,223, 28, 51,251,228, 29, 86,135,247, 40,124,129,237, 28, 58,128, 80,146,215, 13,236,201,136, 89, 55,
+ 28, 62,125,200,159,156, 46,248,160,235, 41,130, 77,136, 99,107,105, 90,203,198, 10,246, 84,207,181,216,243,102,132,219, 72,118,
+109, 2, 47, 85, 82, 37,102,119, 8, 72, 21, 57, 93,174,153, 55, 61,107,111, 17, 94,178, 83, 87,188, 61, 29, 35,165,226,199,202,
+146, 81,149, 49, 69, 32,155, 13,143,150, 75,214,222, 49,210,154, 49,142,135,206,210, 44, 78, 41,148, 97,175, 40,184, 92,213, 68,
+ 33,120,119,189,230,188,233, 56,179, 61, 31,110,154,180,186,115, 46,233,138,194, 48,241,107,125,170,222,147,113,250,174, 50,132,
+ 73, 66, 64, 97,116, 18, 87, 14, 17,199, 23,133, 91, 13, 69, 93, 93, 24,145, 46,254, 14, 80, 90, 35,140, 70, 78,119, 16,251,123,
+136, 59,183,224,245, 55,225,218, 13,184,250, 18,236,221,228,238,238,117, 62,191,191,197,116, 84, 80, 22,134,211,206,242,201,226,
+ 20,188, 37, 70, 71,236,122,194,102, 77, 88,159, 17,150, 11,226,227,199,132,213, 25,241,195,143, 56,222, 44,248,238, 71, 31,113,
+255,244,128,239,190,127, 15,119, 58,231,112,221,112,180, 88,147, 27,120,112,124, 76, 17,122, 14,142, 78,152,224,216, 18,145,157,
+102, 67, 38, 21,133,128,202,246, 76,165, 70, 18, 40, 92, 64,185,158, 16, 28, 85,179,102,215, 89,122,103, 25,183, 13,133,235,152,
+250,150,151,155, 21,175, 7,207,155, 50,240,122,215,242,213, 76, 51,113, 45, 55,137,236,234, 68,104,219, 86,154, 26,216,213, 5,
+149,115,236,133,200,109,173,184,161, 4,175,168,130,151, 76,206,181,124, 76, 25, 5, 87,202, 45, 84, 86,176, 43, 11,172,150,236,
+ 25, 3, 85,157,146, 25,235, 26, 83, 22, 88, 4, 58, 87, 24,173,145,131,102,204, 72,129,212, 89,170, 33, 33, 82, 21, 9,243, 26,
+ 69,250,188,216,180, 61, 82, 43,122,107,217, 52, 45, 17, 79,192,209,249,150,165,237, 88,118,107, 14,188,231, 7,203, 22,111, 45,
+ 65,184, 36,202, 13, 22,132, 66, 70,248,185,209,152,223, 89,110,248, 47,118,183,249,223, 79,231,252,244,180,228,107,231, 27,254,
+222,222, 46,191,124, 50,231,239,110,111,241,141,126,195, 79,143,198,252, 95,243, 51, 20,147,151,127, 9, 61, 40,217, 7, 16, 26,
+153, 74,163,104,147,253,165,138,202, 63, 87,216,229,160,198, 20, 50,117,118, 46,166,150, 77,136,231,106,241,190, 29,238,198,193,
+ 43,205,176, 87, 87, 67,216,184, 76, 79,230,222, 40, 25,234,199, 82,160,140,164, 9,145, 82, 73,198, 42,112,210, 36,144,128,247,
+ 17, 33, 35,177, 11,207,206, 35,193, 37,186,220,179, 29,126,232,152,152,140, 69, 27,217, 26,167,200,187,131,181, 99,100, 20,157,
+144,228,153, 34, 72,129, 68,146, 27, 69,215,118, 63,250,122, 47,196,125, 74,167,195,142,144,207,135, 88,201, 83, 4,114, 56,180,
+244,118, 64,222, 14,172,119,100, 2,225,244,205,160,210,203, 6, 40,204,144, 51,159,107, 38, 10, 58,149, 14, 63, 25, 17, 47, 84,
+218,129,203,240,156, 0,199,112,224,146, 98,144,175, 40,158, 6,199, 37, 35,217, 81,146, 67,235,217,143,176, 12, 48, 65, 96,173,
+103, 17,161,233, 2, 34, 4, 98,102,210,193,227,226,223,252, 11,190,158, 84, 21,159,189,243, 18, 16, 89,175, 54,116,155, 6,231,
+ 60,101, 93,179,119,105,130, 12,130, 44, 55,212, 70,167, 4,164, 16,201,134, 32, 16, 31, 99,234,134, 92, 68, 32,153,212, 6,103,
+ 61,253,224,248,203,179,164, 24,143, 34, 21, 65, 49,176,124,146, 35, 39,117,233,193, 71, 58,235,233,250,192,249,198,114,180,234,
+152,175,187, 52,234, 30,229,124,239,225, 49, 79,219,142, 85,140,108,156,227,241,102,195,185, 0, 21, 60,217,118, 69,147, 27,178,
+189,154,234,198, 14,242,165,109,182, 62,115,153,226,198, 14, 98,167,166,120,105,139, 77,149,161,131,164, 28, 21, 60, 94,183,148,
+ 70,112,100, 29,171, 16, 17,101, 78, 81,164,113,100, 16, 67,204,164, 2,171,161,147, 18,127, 1,202, 41,116,202, 8,207,146,134,
+ 68, 9,129, 46, 53,147, 50,103, 60,183,244,203, 13, 92,174,104,103, 21,197,237,109,202, 73,137,253,100,201,225,161, 32, 8, 69,
+115,214, 48,177, 29,217, 52,167,239, 28, 75, 23, 40,182, 42,110,189,113,157,197,227, 57,255,234,183,222,199,125,216,224,214, 61,
+110, 40,229, 23,126,226,100,100, 75,247,159, 56,111,152,127,237, 62,229,205,138,171,119,175,242,153,222, 51,126,247, 4,117,222,
+178,127,222, 49, 89,109,184,150,193,205,121,203,229, 16,248,172, 48,188, 90,140,184, 51,154,242,242,213, 61,202,233,132,221, 98,
+151,157, 87, 95,226,234,181,107, 92, 63, 92,146,119,150, 32, 10, 94,255,249, 47, 51, 89, 69,190,181,110,249,188,202,200,219,150,
+223, 62, 59,229,228,248,152,135, 15, 62,225,254, 71,223,231,193,135,127,202,175,127,227,187, 92,159,237,144, 21, 25, 81, 39,192,
+ 74, 84,138,168, 52, 42, 74,158,116,129,167,197,152,240,107,255, 27,246,221,111, 34,154, 99,100, 95, 33,246,118,248,183,174, 20,
+ 92,159, 22,236, 26,144, 54,208,244,144, 91,139,142, 17,235, 28,157, 86, 72, 36, 91, 50,114,107, 50,226,243,245,132,219, 85,205,
+151,138,140, 75,199,159,194,226, 9,247,142, 78, 57,235, 34, 51,235,224,120,206,251,143,239,241,235,159, 60,228,119,143,214,248,
+ 62,176,136,130,220, 91, 38, 50,162, 20, 92,201, 97, 11,197, 77, 34,159, 81, 25,123, 66, 82,233,156, 66,104, 38,166, 2, 33, 9,
+121,198,178,143,172, 17, 92,157,141,184, 52, 25,179,157,101,236,150, 5, 74, 40,174,103, 25,123,185,193, 7,207,121,179,228,201,
+124, 78, 29, 61, 27,223,211,245, 61,206,121,206,219, 53,125, 12,196, 24,152, 72, 65, 93,105, 74, 60,149,239, 8,182,227,157,174,
+ 29,236,178,253,224,178, 25,194,171,242, 28,246,182,224,202, 46, 76, 70, 48,173, 17, 85, 9, 89,134, 48, 5, 66,167,213,131, 80,
+ 73,247,241,172,144, 59,135, 26, 18,177,245, 80,208,117, 85,160,198, 91,200,235, 87,145,175,220, 69,220,190,131,184,126, 23, 49,
+189,130, 24,109, 67, 61, 67,100, 5, 72,137, 81,138, 27, 82, 83,106, 65,179, 90,243,240,232,132, 7,167, 79,137, 39,135,196,131,
+ 35,226,209, 9, 60, 57, 32, 30,158, 19,159, 30, 19,207, 78,137,199, 39,196,213, 2, 78, 78,136,231,115,154,163,179,212,104,185,
+ 14,214, 61,221,124,197,227,249,134,211,206,114,127,177, 97,164, 2,211, 16, 40,154,142, 81,174, 49, 49, 48,138, 1, 33,135, 84,
+200, 0, 27,215, 99,164,161,114, 29,193, 59, 74,101, 24,117, 13,133, 84,212, 62,240,182, 50,188,102,114,110,168,156, 61, 41,184,
+ 82,148,236, 11,195, 29,165,185, 45, 52,175,161,216, 87,154,207,232,130,155, 89,205,110,136,220,150, 57,147, 16,184,161,115,182,
+132, 34, 71, 50,173,102, 24, 4,117, 62, 3, 34,121, 94, 33, 76,198,184,168, 64,107, 76, 89, 16,164,162, 71, 32,181, 68,152,180,
+ 34,246, 8,138,204, 96,148, 65, 9,153,112,194, 68,230,182,167,245,158, 24,211, 52,108,221,117,104,173, 89,174, 86,244,193,179,
+106,215,232,224, 88,180,107, 62,217,204, 33, 90, 54,209,243,209,217, 25,143,172, 39,244,158, 16,210,106, 37, 70, 73, 84,154, 27,
+198,144,101,154,183,138,140,239,181, 45, 63, 89,231,252,105,215,241,246,164,230,183,206,151,252,194,206, 22,255,231,209, 25, 63,
+191,189,197,175,157, 44,248,197, 27,151,135,162, 78,120,238,109,144,131,141, 44, 27, 10,186, 16, 9, 90,242, 87, 17, 85, 6,159,
+246,204,113, 40, 28, 23,124,120, 6, 49, 71,176, 63, 44,144,123, 81,129,221,167,195,132,168,198,212,211,138,141,115,236,141, 42,
+188, 79,128,130,105,150,130, 68,142,150,107,114, 96,221, 56, 92,151,196, 86,105,172, 45,137, 93,155,130, 96,252, 0, 89, 89,183,
+ 32, 3, 93, 7,251,147,156, 32, 5,199, 93,228,165, 73, 70, 47, 83,146, 88,144,130,177, 16,108,124,100,221,165, 40,209, 31, 25,
+ 87,122, 49,141,232,125,154, 60,200,144,174, 71, 12, 45,126,116,233,201,179,131,143,223,133,231, 93,126,240, 73,137,127,209,113,
+203,129, 31,175, 21,228,154,237, 12, 22, 46,178,149, 9,234, 76,178,236, 6,225, 92, 74, 32, 72, 1, 57,241,197, 3,196,176,202,
+ 80, 17,239, 60,109, 4, 17, 36, 70, 68, 14, 99, 68,133,192,177,183,228, 90,114,218,245,180, 33, 32,163, 32, 51, 17,223,251,212,
+173,255,168,107,188, 96, 4, 61,120,204, 91, 95,248, 28,163,233, 24,188, 71,162,121,114,248,104,208, 58,100,108,207,106,182, 70,
+121, 26, 30, 12,231, 18,165, 5,189,141,207, 94,234,222, 5,214,182, 99,213, 88,164, 6,219, 6,156,135, 34,229,148, 38,170,152,
+ 72,236,240,214,122, 70, 42, 57,169,227,112,141,109,111, 17,192,122,227,112, 3,113,204,122,207,238, 86,197,162,241,204,231, 75,
+ 30,247, 61,243, 81, 73,190, 55,193,111, 23, 92,185,182,141, 40, 13,187, 47, 95,162,188,190, 13, 59, 37,155,182,231,147,147, 57,
+199, 71,115, 30,156, 47,121,178, 89,115, 30, 2,203, 0,123,179, 10,165,224, 97,223,113,214,122, 62, 58,183,156,116,112,115,167,
+ 76,113,178, 98, 48, 52, 8,153,222,220, 82,208,137, 20, 3, 28, 11,147,166, 44,133, 70,101, 6,145, 25,188,148,100, 59, 5, 38,
+ 87,104,231, 40, 15, 86,152,101,159, 14, 0,153, 34,191, 54,161, 13,208,156,247,216,190,225,254,123, 31,114,115,225,169,175,111,
+ 35, 8,220, 91,121, 86, 86,113,235,141, 91,180,249,152, 7,239,253,224, 89,151,158, 30,138, 4,122, 77, 15, 8, 8, 52,130, 53,
+199, 95,251,148,211,218,241,234, 43, 55, 48,227,196, 65, 8,181, 98,147, 43,186,220,160, 34,140, 60, 84, 66,160,103, 53, 98,127,
+ 66, 48, 25,178,208,112,109, 10, 70,164,108,237,195, 5, 90,101, 68,149,163,119,119,248,212, 20, 60,169, 39,252,157,207,191,204,
+246, 75, 47,243, 73, 52,220, 47,115,186,173, 45,150,213, 22,171,106,196,141, 75, 99,222, 63,123,202,175,127,247, 29,126,245,227,
+202,128, 32,160, 0, 0, 32, 0, 73, 68, 65, 84, 7,124,245,165, 59, 84, 69,198,163,222,243,237,133,227,221,206,211,245, 14,166,
+ 21,188,243, 77,196,227, 71, 8,191,225,120,114,139,217,108,196,213, 12,214,125,224,253,121,207,102,213, 50, 81,130,176,106, 88,
+180,107,122,157,225, 98,164,170, 43,114,173,153, 25,195,165,178,102, 87, 41, 94, 26,111, 33,122, 75,190, 62,166, 57,123,196,239,
+ 61,120,196, 31, 60,121,200,111,124,250,136,251, 77, 64,138, 36,128,148, 67, 66,217, 76, 5,110, 41,201, 37, 4, 87,116,198,171,
+ 89,197, 94, 62,162, 30,111,145,229, 5, 85, 94, 33,141,102, 82,214,156, 5,207, 90, 75, 38, 69,141,204, 52, 99, 83,160, 77, 10,
+ 28,217,205,147,207,124,229, 60, 62, 4, 86, 49,249,237,181,210, 16,225, 90,150, 83,232,140, 76, 8, 58,151,160, 39, 99, 41,216,
+ 82,234,255,229,236,205, 98, 52, 77,207,243,188,235, 93,190,237, 95,107,239,174,238,233,233,238, 89,201,225,112, 68,138,164, 40,
+ 75, 98,168,213,202,130,196, 65,156, 88,200,102, 69,112, 16, 64, 8, 16,228, 44, 1,124, 66,192,201,137,207, 28, 32, 1,146,200,
+128, 3, 40,113, 2, 91, 32, 98, 71,118, 44, 75,150, 21,209,220, 68,114, 72,206, 62,189, 76,239,181, 87,253,219,183,190, 91, 14,
+222,175,186,123,134,155,236, 2,126, 84,117,119,161,250,223,234,123,222,231,121,238,251,186,217, 81, 10,213,180, 12,132,229,237,
+186,141,109,141, 76, 98, 78,195,112, 13,198, 83,216, 88,139, 81,174,147,205,232, 4, 26, 78,249, 11,107, 57, 47,108,140, 25, 76,
+ 51,142,165, 64,166, 89,188,169, 4, 53, 29,163, 54,182, 25,188,252, 60,159,120,249,101, 94,125,245,167,152, 95,189, 76,184,254,
+ 34,234,202, 85,244,245,231, 81, 59, 87, 80,147, 29,228,120, 3,161, 52, 34, 73, 16, 82, 61,177,231, 54, 53,101, 83,243,156,175,
+169,231,199, 28, 31,239,241, 79,223,122, 19,110,125, 0,123,199, 80,206, 96, 81, 18,108, 67,112, 29,161,173,163, 96,237,169, 6,
+ 40, 60, 93, 7, 92,191,146,116, 29,194,116, 96, 90,124, 80, 44, 2,188, 58,204,184,156,167,100,125,150, 70,166, 83, 50,169,112,
+222,146,244,209,210,214,199,119,122,174, 51,164,109,201,210,140,145, 74,184,144,102, 76,133,100, 59,201, 24, 34,152,232,148,137,
+212,228, 74, 49,206,198,228, 18,182,134, 27,108,138,148, 66, 37, 12, 68,194, 16, 65,138,100,154,230, 72, 23, 24,164, 5, 69, 82,
+144,168,148, 44,159,162,116,130,146,241, 57,209,249, 16,153, 42, 66,154,129,140,155,215,144, 36, 24,169, 8, 64,235,124, 44,226,
+198, 68,144, 40, 2,235, 61,199,229, 10,227, 5,149, 49,164, 50,238,207,165, 15,212,101, 69,227, 45,117,221, 34,130,231,184, 62,
+101, 97, 13,173,173,217,107, 74, 58,215, 49,146,146,155,203,146,198, 58,188,148,132,198, 16,180,130,208,114,162, 19,158,215, 9,
+ 7,174,229, 83,217,136,111, 85, 13,175,165, 25,239, 52, 13,159,155, 12,249,191,143,206,248, 43, 23,182,248,221,131, 99,254,234,
+238, 54,191,123,103, 15,197,228,218,151, 30,239,181,207,241,175,169,234, 45, 20, 42,182, 87,169,254,137, 35,219, 15, 41, 54,206,
+119,235,198,199, 23, 86,208,123,175,195, 19,127,251, 99, 59, 91,255,103, 5, 66,231, 80, 20,108,108,174,177, 83,196, 12,221, 52,
+ 31,176, 62, 24, 49, 25,229, 56,161, 9, 4, 58,227,233,172,137,204,119,223,171,200,203,182,247, 95,244,227,240,178,142,130,181,
+206,130,212,148, 4,106,175,185, 58,148,212, 8,106, 4,195,158, 77,126,210, 5, 20,208, 56, 27,173,112,222,253, 24,240, 78,191,
+ 74,120,140,120,237,119, 94,162,159, 60, 72, 17,213,239,189,248,235,241, 27,252,233,142,191, 63,241, 33, 99, 10, 93, 93, 59,158,
+ 29, 74, 22,109, 96,213,122, 66,214, 7,192,208,131,105, 68, 63, 50, 87,231, 85, 38, 60, 41,242, 33,208,121,143,149,208,244,193,
+ 25,181,131,137,214,204,218, 14,153, 42,180, 11, 92, 72, 36, 75,239,113, 56, 48,242, 7,215, 12, 31,149, 73,108,174,241,210,199,
+ 95, 68, 41, 77, 49, 40, 80, 34, 33,205,115,108,227,144, 73,202,250, 90,193, 36, 79,250,194, 30, 98, 10, 27,158,166,117, 88,225,
+105, 26, 67,211, 57,108, 99, 35, 87, 31,143,237, 28,203, 30,100,146, 75,193, 86, 30,139,143,146,145, 41, 46,132, 96, 51,141, 8,
+200, 32, 4, 77,107,209, 90,145, 17, 69, 88,153, 80,172, 15, 50,172, 11,236,205, 74, 18,165, 9,233,144, 98,107,202,231,174, 95,
+228,217, 11,235,220,153, 87,188, 89,214,140, 70,209,235, 51,239, 12, 75, 99, 48, 62, 80, 19, 56,177,129, 54, 85,124, 80,182,220,
+ 42, 43, 92, 34,216, 26, 23, 84,222, 83,249,192,229,245, 1,163, 60,146,175,188,232, 81,172, 33, 62, 93,149,241,156,185,192, 92,
+ 72,150, 82,210,106, 77,208, 10,159,164,184, 68, 81, 37,146, 71,139, 26,115,255,132, 97,145, 66,221, 33,239, 45, 73, 79, 13, 90,
+ 56, 76,170, 73,183, 11,144,158,211,155, 7,172,150, 71,220,124,116,151,231,221,136,201,230, 4,175, 60,195,105, 78,174, 20,207,
+188,112,145,171,159,125, 14,207, 17, 15,222,217,195,145,227, 46,104,124,161,120,249,175,253, 69,126,227, 55,126,142,223,250,207,
+126,137, 63,186,188,206,103,127,237,243, 60,248,211,155,156,125,235,251,252,225,226,148, 7,211,109,190,126,188, 0,223,241,135,
+183, 30,241,198,195, 99,190,242,214, 13,222,153,207, 56,116, 49, 64, 35,117, 34, 34, 59,235,142,174,170,152, 61, 56,230,225,141,
+ 91,220, 63,188,203,172, 90, 48,115, 29,135,141,164, 29, 13,241,121,194,160,241, 36,235, 5,183, 27,207, 89,219, 69,142,148, 10,
+180,217,132, 79,125,236, 5, 54,167, 59,188,111, 2,255,117, 6,227,195, 35,190, 38, 70,220, 91, 5, 94,239, 28,167,214, 16,234,
+ 25,225,224, 30,226,213,207,194,231,126,137,191,246,197,207,243,189,189, 25,223, 45,225, 52,207,113,149,229,230, 73,203,124,213,
+178,142, 97, 77, 39,176, 40,185,107, 91, 6,217,128, 86,194, 40, 77,153,166, 26, 41, 96,152, 15,113, 82,145,228, 3,200,199, 12,
+164, 96, 61,180, 28,183, 21,207,109, 79,120,105,119,157,207, 62,187,195,206,214, 58,175, 76, 7,204,140,101, 77, 9,174,167, 25,
+ 47, 36, 57,207, 38, 5, 23,139, 33,195,225, 4,157,230,120, 47, 16, 66,160,243, 28,129,128,222,150, 54, 24,164, 92, 28, 79, 25,
+228,154,113,150, 50, 74, 53, 3, 45,153, 68, 21, 40, 37,240,168,118, 40,165, 49, 42, 33, 79,115, 6, 89,138, 78, 52,235,195,132,
+ 4,197,133, 60,229,229, 52,101, 67, 10, 84,103,168,131,197,250, 64,237, 3, 39, 58,139,157,121, 49,238, 25, 29, 27,144, 15, 96,
+184, 14,131, 53, 80, 5,159, 31,141,121, 46, 79,153,166, 5,163, 44,225,134, 84,145,121,144, 36,168, 65,138,202, 51,210,205,117,
+254,141, 11, 23,248,249,231, 94,230,194,133, 93,174, 76, 47,115, 43,159,146, 76,182,208, 58, 67, 43,133, 84, 10,233, 37, 82, 4,
+ 68, 83, 34,140,129,217, 30,156, 60, 64, 28,220,133,131, 7,188,243,254,123,188,113,235, 22,239,222,190, 11,135,143, 96,177,136,
+141,137,233, 89, 36, 61, 49,244,252, 26, 25,254, 28,189,158,240, 62,174,173,178,140,124,115,194,120,156, 83, 46, 99,147,179, 61,
+ 28, 18,100, 92,153,106,161, 48,222, 19,165,110,113,216, 11, 1,167, 18, 50, 33, 41, 84,194, 24,197, 84,105, 82,149,144, 11, 73,
+ 34, 69,204,136, 72, 11,180,135, 60, 31,160,101,130, 78, 50,178,116,138, 82,146,172,216, 70, 39, 89, 4, 67,233,140, 68,231,232,
+ 36, 69, 39, 3,116, 62, 0,227, 80,121, 14, 89,134,212,154,144, 36, 40, 33,240, 34,174,126, 91, 4,171,224, 34,237,219, 71,158,
+ 99, 23, 34,153,239,164, 92,209, 4,208, 40, 78,218, 37, 45,209,198,108,186,142, 16,160,108, 42,172,181,212,166,229,164,158,145,
+ 72,205,202, 86, 28,155, 18, 37, 28,169,212,156,153,134,111,159,214,184,198,197,130,158,165, 96, 12, 97, 48,192,181, 49, 18,252,
+ 51,131, 17,127,127, 85,241,159,110,173,243, 59,167,167,252, 59,147, 53,190,124,114,198,191,191,190,198,223, 59,216,231,183,175,
+ 94,225,111,223,127,200,111, 63,127, 13,193,245, 95, 13,116, 13,232,252,113,199, 27,187,192, 52, 22,119,149,246, 34, 48, 34, 33,
+237,233, 24,207, 31, 39,156,179,150, 39,218,250, 62, 4, 70,165,113, 44,253,244, 1, 32,190, 83,162,162,114,178, 1, 91,107,252,
+236,218, 56,146,178,242,130,245,241, 6,153, 20, 81, 10,154, 72,230,203, 51,142, 23, 53,111,220,189, 19, 1,250,174, 15,135,233,
+120,146,140, 38,125,196,196,218,250,137, 74, 61,201,216,152,228, 52,109,111, 21,200, 5,117, 31, 46,103,122,129, 86,181,172,227,
+232,190,106,126,252,227, 27,228,209,190,199,135,207, 37,143,191, 62,247,129,123, 27,159, 7,251,145,174, 56, 27,197, 16, 28,157,
+146, 41,137, 77, 19, 92, 99,144,153,194, 11, 17,119,223,222,163, 18, 21,179,225, 77, 27,253, 51,210, 63, 9,199, 57,159, 80, 60,
+ 29,178, 35, 50,178, 73, 70, 46, 20, 99,160, 72, 4, 11, 19,208,192, 18,207, 98,213, 33,117,136,194, 55,249,147, 31,231,127,245,
+ 55,254, 58, 91,187,235,172,230, 21,213,210, 96,203, 22, 65,194,213,107,187, 92,187,184,206,206, 70, 30,173,248, 46,208, 57, 71,
+217, 57,102,179,134,206, 89, 14, 14,151, 52, 62, 16,188,167,173, 76, 68, 67,138,128,206, 36,215,118,198,108,140,115, 46,141, 19,
+106,235, 9, 61, 89,202, 7, 72,130,167,181, 14, 27, 60,243,170,195, 4,200,165, 96,185,108,162, 74,117, 99,128,107, 13,124,103,
+143,159,255,133,143,115, 79,122, 30,182,142,129, 55,152,163, 5, 15,171,150,195,174, 35, 47, 82, 62,249,252, 22,137,140, 32,140,
+101,101,185,119,188,194, 54, 6, 43,161,154, 55,164,153, 34, 75, 83,190,240, 83,207, 32,147, 24, 42, 50,202, 82,210, 52, 33, 32,
+ 72,100,244,133,203,214,226,107,195, 73,217,177,183, 50,172,156,199, 17,131, 94, 38, 90,177,145,197, 0, 27, 41, 4,239,175,106,
+230,239,157,145,221,127,196,171,121,202, 39, 46,172, 83, 92, 25,146,140, 51,194,131, 37, 85,145, 97,159, 29, 51,219,159,179,247,
+250, 45,234,197,156, 66, 74, 62,243,234, 39,209,215, 54, 73, 47, 76, 57,182,142, 71,166,227,254, 89, 75, 82,151,236, 90,195,239,
+126,253, 3, 94,122,113,135,195, 58,230,149,255,235, 87, 39, 12,115, 77, 3,252, 63, 55,207,120,176,106, 9, 85, 69,168, 43,218,
+179, 35,194,235,239,240,220,231, 94, 98,224, 44, 95,251, 95,190, 79, 69,135, 66, 60,161,196, 95, 29,242,243,159,221, 33,155,142,
+ 96,186,206,188,172,217,120,230, 25,190,246,213,175,114,252,250,119,162,237,121, 48,226,139,175,188,198,197,151, 63,206,120,109,
+139,170,156,113,227,224, 17,167,203, 51,106,229,185,127, 88, 51,188,184,205,231, 95,249, 36,172,111, 51, 48, 53,191,109,106,178,
+214,241,245,197,156,255,166,216, 37, 76,135,228,120, 6, 18,190,119,120,138, 56, 61,224,123,127,245, 87,216,185,182,193,223,250,
+211, 59,252, 79,239, 30,146,140,134,108,100, 9, 63, 55, 25, 32, 23, 21,175, 77, 37, 63,163, 19,210, 89,201,236,224,144,253, 44,
+165, 73, 19,158, 25,228, 4,231, 16, 66, 98,165,160,171, 26,230,120,222,173, 91, 14,202, 21,123,173,225,164,109, 89, 27, 12,249,
+194,230, 26, 71,213,130,177, 82, 72,107, 57, 62, 59,162,109, 74,174, 16,248,124, 62, 38, 79,114, 10,157, 50,154,110,129, 76,177,
+193, 83,219,134, 90, 72,218, 52,225, 56, 4,190,221, 85,140,135, 3,108,154,179, 51, 46,240, 62, 48, 12,113,197, 52,206, 18,142,
+202,150,183,155,134,195,210,176, 32,112,214,182,164,210,179, 22, 36,185, 2,235, 61,163, 4,158,243,158,103, 85,202, 56, 85,204,
+234,138,239,174, 74,246,186,138, 47,175, 42, 58,231, 8, 73, 66, 72,114,130, 46,122, 32,151, 36,168,148,207,227,121,105, 90,240,
+188,150,156, 86, 37,243,106,201,172, 58,101,191,238,248,238,170, 66,121,251,120,212,254,249,201, 58,159, 26,141,120,254,210,117,
+198,131, 2,147,104,222, 61, 61,227,110,217,114,218, 25, 22, 77,205,161,115,184,230, 12,187, 60,195,204, 43,236,209, 25,246,240,
+ 33,118,178,137,179,101,236,137, 58, 27,107,182,181, 31, 86,200,255, 57,125,239, 63,170,207, 3, 16,151, 47,178,117,237, 18,215,
+243,156, 11,243, 5,207,121, 79,158,167,172,165, 25,235, 58, 97,172, 19, 84,112,196,129,159,196, 57,131, 82, 17, 39,158, 73,205,
+ 80,104,118,101,194, 68, 39,100, 34, 68,236,180,233, 72,148, 6,227,208,249, 0,165,242, 8,109,209, 26,130, 66,166, 89,252,218,
+152,199, 90, 29,172, 69,140,167,224,226, 66, 75,168, 72, 33, 68, 39, 88, 66,236,192,149,192, 33, 56, 1, 78,148,231,216, 65,173,
+ 35, 29,175,108, 12, 3, 33,104,172, 35,193, 19,172,163,234, 90, 12, 14,108, 84,229,111, 10,193,220, 52, 76,116, 70,103, 91, 62,
+ 88,158,176,165,115, 90,223, 48,146,158,214, 91, 2,129,131,106,201,239, 31,158,113,235,160,198,121,135,207, 51, 66,112,132,233,
+152,224, 28,122, 99,141,207, 78,214,112, 66,241, 31, 93,121,142,255,126,111,143,191,190,187,203,223, 61, 57,226, 63,220,220,230,
+ 43,139, 5,127,121,235, 34,255,231,193, 62,255,197,149,203,252,239, 15, 30,245,101, 87,141, 98, 65, 20, 61, 14, 53,205, 97, 52,
+130, 76,245,216,215, 65, 31, 88,210, 23, 21,107,127,252, 43,124,254,239,143,191,173,151,108, 42, 27,139,179,232,231,182,231, 5,
+253,156,239, 62,204,120, 81,199,116,168,221,193, 24,161,115,214, 7, 99, 74,211,161,146,140, 86,104,182, 39, 41,139,230, 17,151,
+119,119,120,120,231, 94,124, 51,153, 94,124,103, 1,209,244,224, 23,243,228,190, 8, 29,207, 4, 1,230,214, 19,180, 36,145,146,
+ 85,229, 24,165, 26,219, 89, 42, 47,158, 0,115,126,210,129, 5, 98, 55, 46, 68, 60, 21,132,167,222,185, 45, 17,135,123,190, 82,
+ 80,242,169,231,225,220,218,214, 64, 40, 64,200, 72, 92,243,113,204, 51, 32,198,204,154, 92, 65, 3,173,177, 40,149,226,154,158,
+200,236,207, 45,105, 93,188, 31, 90,127,100,138, 96, 80, 78,147,104,193,161,243,172, 7,201, 64,192,178,127, 9,178, 92,210,214,
+238,201,110,254,252,240,245, 35, 62,222,248,254,247,249,165,139, 95, 96,178, 54,192,217,146,249,209, 49,222,194,157,219, 2,235,
+ 2,163, 98,135, 52, 81, 72, 9, 34, 8,242, 62,196, 36, 24, 71, 62,201,209, 61, 53, 47,209,178,247,211,199,149,201,225, 89,141,
+181, 17,212,179, 51,201, 88,116, 14,173,100,188, 96, 43,193, 64,107,132, 15, 36, 18, 58,235,232, 44,140, 70, 25, 4,207,122,150,
+224,179,156,147,181,146,255,235,107,239,242,173, 7, 55, 49, 4,142,218,154,129,214,108, 14, 71,228, 50, 67,231, 41,139,163, 37,
+195,201, 24, 33, 37,131, 81,130, 22,146, 70, 72, 78, 15, 78,104, 22,139,232, 58, 84, 18,153, 42,190,240,201, 43,209, 77,145, 9,
+164,148, 88, 31,122, 65, 28, 88, 37,105, 83, 73, 85, 75,200, 21,174,141,235, 5,235, 5,173,115, 44,141,162, 72, 97,146, 43,252,
+250, 6,249,238, 26, 73,119,133, 27,123, 43,110,188,113,200,231, 15, 13,215,118,167, 20,187,129,201,237, 57, 62,129,209, 48, 99,
+247,167, 95,196, 55, 29, 77, 8,148,193, 50,108, 91,244,131, 19,100,158, 98, 69, 28, 63, 94,200, 53,137,151,252,230, 23, 95,228,
+209,202, 32, 71,146, 89,166, 88,174,103, 12,148, 98,101, 45,131, 75, 19, 46, 47, 90,174,135,130, 45,189,141,224, 10, 27,191,246,
+ 51,188, 51, 43,105,170,138,255,224,111,190,200,124, 85,178, 44, 27,156,235, 96, 80,112,244, 15,255, 5,237,149, 43, 28,252,179,
+215, 17, 87, 78, 16,163,130,157,151,174,115,248,250,119,158,160, 66,171, 21,255,228, 91, 95,197,125,235,171,216,203, 87,113,179,
+ 85,164,130,209,224,187, 94,211,245,240, 1, 55,206,142,248,212,171, 63,207,229,221, 11,180,235,107, 12,165,224, 89,224,139,123,
+111,115,147,231,201, 70, 35,180, 13,184,151,174, 33,222,168,249,239,254,217,187,252,229, 87,118,249, 59,239, 30, 96,219, 14,225,
+ 44, 51,165,249,167, 39, 51, 46,102, 57,133, 83,124,236, 74,206, 51,151,214,185,168, 53,223,126,247, 77,182, 54,118,152,121,207,
+133,209,128, 82,198, 14, 89, 21, 25,157,181,116,198,210,228, 19,156,168, 89, 75, 11,174,140, 52,167, 50,112, 97, 48, 65, 3,243,
+176, 98,115,125,155,180, 42,184,140,194,119, 53,169,119,100,162,183,216,246, 57,243,193, 25, 72, 83, 66,103, 56, 9, 29,161,103,
+115,111, 56,143,233, 44,178, 79, 62, 20, 46,176,240, 29, 77,127,206,214,120, 78, 59, 71,112,150,210, 56,146, 52,163,114, 14, 17,
+ 20, 99, 60,155,195, 33,211, 44,163,109, 13,149,202, 64,181,188, 97, 60,198,247, 90,156,115, 55, 80,240,100, 56,214, 70, 3,118,
+ 16,124, 58,207,216, 21,146,113,162, 72,139, 33,165,183, 20, 98,131,183,155, 99,132,214, 72,162, 96, 75,107,205,165,241,144,204,
+121, 46,122, 24,121, 16, 85,205,101,235,185,215, 46, 16, 93,195,237,211,135, 84,135, 39,188,183,172,120,111,255, 4,149,128,169,
+154,168,140, 95,156,112,174,210,249, 97,172,120,241, 19,138,118,248,136, 7, 62,252,168,127,111, 3,179,178,230,142,243,200,182,
+ 67, 89,195,101, 41,209,137,166, 9,130,179,166, 35, 65,160,149, 34,113,158, 84, 71,226,104,176, 30,165, 3, 66,122,132,140, 36,
+ 75,231, 3, 9,146, 36, 29, 18,108,131, 74, 7, 8,153, 18, 66,136,235, 5,145, 34,164, 67, 40, 5,198, 68,127,191,236, 31, 89,
+154, 64, 83,130,206,145, 82,225, 93, 11, 40,130,181,136,158,143, 17, 2, 49, 92, 71, 43, 86,157,167, 9,129, 89,103,232, 84,204,
+101, 95,153, 24, 36,212,118, 45,198, 70,226, 94,133,165,232,101,139,247,156, 97,164, 82,238, 87, 51,102,245,146, 84, 42, 62,168,
+207,208, 66,112, 22, 28,101, 91,210, 25,203,235,103, 11,110, 63, 92,224,187,152, 65, 18, 86, 51,194,100,147,176,170,160,200,176,
+167, 51,190, 97, 60, 63,187, 53,229,111, 62,186,203,127,187,115,137,191,189,255,136,223,218,186,192,223, 61, 57,226, 55, 55, 47,
+240,229,195, 71,252,187, 91,155,252,157,253, 99,126,227,210, 46,138,209,115, 95,194,119,177,155,117, 54, 94,232, 7,195,152, 23,
+ 46, 68, 44,234,231,187,117,215,211,211,126, 82, 81,255,145, 65, 48,105, 52, 42,247,140,111, 66,140, 23,140, 49,160,154,193,176,
+ 96, 99,178,206, 88, 4, 58, 33,120,118,247, 42,137, 82, 20,197, 0,145, 38,140, 6, 25,203,198, 80,117, 13,206,195, 73,240,125,
+ 18, 27, 79,132,126,193,245, 33, 49,231,161, 37, 46,142,204, 73, 40, 3,164,131, 20,239, 2, 77, 27,177,166, 85, 99, 49,153,142,
+ 99,122,111,250,209,116,127,197,210, 58,250,199,165,140,143,253, 60, 4, 69,246, 48,115, 84,175, 72,127, 42,181,174,231,199,208,
+ 17,239,131, 15, 63, 8,122, 73,116, 20,102,232, 12,167, 85,159, 95, 46,216, 45, 4, 71,173,103, 43,133, 60, 17, 17,119,159,193,
+ 56, 81, 84,166,143,179,125,122,167,254,209,131, 84,162, 49, 45, 84,193,177,155,104,150, 62,208,122, 71,234, 37,171,208,197, 34,
+ 37, 60,104, 98,148,172,251,241, 35,248, 59,111,191,207,167,126,238,103, 25,142, 10,118, 54,214, 73,178, 12,103, 96,243,194, 26,
+ 73,162,201, 18,141, 18,146, 60,141, 99, 48, 2, 88, 23,250, 61,116,212,104,139, 62,197,206,135,120,225,132,128, 23,176,168, 13,
+165, 13, 84, 33,208,250,152,230, 38,129,129,150, 88, 23,176,190,119, 10,218,248,124,183, 54,224,157, 64,229, 41,149,130, 47,127,
+229,117,190,118,231, 38,167,109,203,237,179, 37,169,144,108,143, 70,116,206,144, 74, 5, 2,150,101, 73, 87,213, 52,166, 99, 57,
+ 43,169,140,101, 53, 95, 32, 16,188,246,234,115,124,246,181,231,216,125,102, 7,165, 36,182,115, 76,134, 25, 82,168, 40,133,176,
+177,163,213, 90,245,246, 59, 79, 75,136,108,111, 2, 66,120, 52,129, 68,123,164,128, 65, 42, 25,166,130,253,147,150,121, 11, 42,
+ 83, 36, 91, 3,212,229, 9,179, 44, 99, 88, 40,242, 97,138,203, 4,170,181,100, 37,100, 13,164, 85, 75,162, 3,162, 72,104,206,
+ 42, 86,119, 78, 57,123,247, 30,195,195, 37,195,221, 33, 94, 9, 38,169, 98,154,105,214,165,228, 84, 9, 78,133,100,238,161,242,
+129,131,206, 81,181, 14, 21, 4, 63,181, 57,100, 60,204,184, 58, 29, 48, 65, 49,237, 28,239, 46, 44,143, 42,207,137, 87,212, 94,
+ 81, 76,167,232,193,152,201,231, 95, 99,109, 52,225,149,159,126,137,245,221, 93,142,110,220,230,180, 58,163,104, 20, 7,181,197,
+250,238, 9,255, 27,112,203, 57,214,212,184,182,194,183, 29,206, 70,107,142,111, 43,252,254, 62, 15,125,205, 67,161,121, 36, 20,
+186,110,248,189,217, 25,223,156, 47,216,117, 21, 74, 15,200, 58,195, 39, 22, 11,218, 79,127,140,175,220,221,231,247,254,223, 63,
+160,222,187, 11,123,119, 16,123,247,225,225, 7,136,211,135,212,203, 83,110, 39, 99,126,126,107,196,118,154,144, 2,215, 77, 66,
+ 53, 59,225,127,120,247,117, 94, 28,111,210,165,113,109,227, 66, 96,225, 28,251, 58, 97,101, 3,206, 71,254,193,206,184, 32, 15,
+ 32,180, 96,101, 44,153, 82,132,224, 81,214, 50,234,106,138,224, 80, 2,132,105, 81, 34, 65, 40,137,237, 58,140,119, 24,235, 88,
+152,150,219,109,205, 94, 91, 99, 85, 66,161, 37,222,244,217, 11,198,145,166,138,202, 6,150,117,139, 50, 6,233, 91, 70,190, 33,
+119, 29,151,165, 99,214,118, 40,161,120,175, 92, 33, 72,120,102, 52, 96, 71, 39,180,120,142,218,134, 63,154,205,120,189,105,159,
+100, 60, 52,117,212,228,232,132,103,242, 2,225, 45,175,201,192,179, 90,144, 73, 9,198,177, 46, 37, 39,198,240,103,139,146, 67,
+235, 80, 42,160,210, 20,157, 15,217,205, 11,174,101,154, 23,210, 9, 69,185, 96,179, 53, 76,150, 43,166, 77,197,165,174, 99,125,
+126,196,206,170, 34,239, 58, 46, 34, 40,138,140, 71,171, 50, 94,123,123, 11,220, 15,116,213, 79,251,223,127,194, 77,126, 4,110,
+243,248,179,214,136, 62,162, 22, 41, 17,222, 16, 74, 67,125, 86,179,119, 54, 99, 71, 64,235, 28, 71,193,209, 52,142, 36,141,185,
+243,206,217,152,220, 71,143,208,150, 18, 47, 37, 99, 1, 67,149, 34,108, 67,174, 83, 68,240,136, 16, 80, 74,161,180,198,155, 14,
+165,211,248,255, 42, 13, 66, 69, 56,143, 78, 30,175, 73, 67, 79, 50, 21, 8,130, 51, 8,165, 9, 62, 32,164,196, 57,135,119, 29,
+ 72,133,107, 27, 42,215,178,232, 90,142, 92, 71,165, 21, 43,211, 97,156,101, 86, 87,212,214, 48,175, 75, 90, 99, 56, 94,157,114,
+ 86, 47,113, 93, 76, 13,205,164,162,243,158,198, 25, 58, 91, 71, 62,153,141,211,202,224, 28,243,186, 98, 86,118, 60,168, 27,190,
+117,127,134,171, 75,124,215,197,233,136,245, 4,215,198,201,185, 51, 80,164, 8, 27,120, 40, 2,191,144, 42,254,215,179, 57,255,
+229,133,203,252,131,249, 41,127,105,178,206, 31,207,102,124,122, 48,224,125,239,249,226,120,200,239, 60,122,216,239,212,207,119,
+232, 66,199, 87, 40, 43,162, 10, 83,233, 39,123,225, 44,235, 81,174,254, 39,238, 99,127,116, 81,239, 49,168, 42, 34, 95,133, 76,
+158, 40,202,243,130, 43, 91, 35,156,235,152, 12, 70, 60, 63,216, 96,168, 82, 54, 46,108,176,190, 49, 97, 56,202,169, 92, 32,209,
+ 2,141,102, 81, 87,180,206,210,150,203, 88,212,211,254,196,123, 14,157,193, 61,177,111,133,168, 48, 71, 38,209,246, 41, 4,100,
+ 58,138, 78,179, 62,116, 70,136, 72,116,115, 54,118,194,217, 8, 46,108,194,120,210,155, 68,237, 19,113,153, 16,113,167, 46,228,
+ 19, 12, 46,125,222,186,232,223,222, 46, 64,222, 71,173,202,143,232, 17,156, 3,153,227, 68,212, 45,100, 82,162,164,199, 42,193,
+118,166, 24,249,192, 44, 4,174,104, 1, 38,112,220, 24,130,147, 79,118,233,231,187,245,115, 84,237,121, 56, 75, 15, 87,223, 72,
+ 51, 14, 86,134, 81, 34, 24, 1,123,101,199, 52, 81,120,239,104, 90, 8,231, 62,254,243,215,246,199,124,172,239,110,113,245,185,
+171, 28, 30,159,209,118, 22,235,162, 53,195, 7, 98,161,245,129, 60,213, 81,200,229, 3,109,239,130, 8, 38,250,194,131, 7,153,
+136, 40,228,203, 20, 78, 8,188,141,135, 68, 21, 4,173,245,116,198,163, 19, 25,227,101,125,164,205,121, 41,113, 82,112,218,121,
+ 26, 36, 22,129, 81, 26,169, 5, 70, 4,246, 30,156, 98,219,142,141,124,192, 70,158,145,234, 24,178, 32,133, 68, 8,197,201,106,
+201,170,109,232, 92, 71,211, 52, 52,109,131,176,130,203, 59, 59, 92,187,180,197,178, 54,220,188,125,192,173, 27,247,121,120,255,
+128,147,147,134,139,187, 19,166,131,140,166,179, 4, 60,169,142,118,186, 32,192, 17,217,251,238, 28, 84, 67, 32,147,144, 73, 65,
+145, 18,243,236, 19,201,234,246, 25,234,168, 36,109, 3,173, 13, 24,231,168, 51,197, 65, 90,176,187, 54,192, 6,129,210,144,109,
+174,193, 89, 64,172, 26,228, 78, 70,216, 26,226,157,195, 46, 27,138,105,193, 96,154,197, 29,108,174, 24, 37, 41,131, 32, 72, 31,
+174,152, 47,150,124,235,205, 7,248, 89,205,222,237, 19,150,143, 78, 80,171,146,176,114,236, 92, 24, 81,100,154,149, 11,116, 85,
+199,119,206,106,238,204, 42,188,146, 12, 6, 57, 27,163,148, 53, 9, 83, 13,133, 51,252,133,181,130, 23, 54,166, 20,105, 66,121,
+237, 89, 84, 39, 88,203, 4,207,174, 13,217,185,176,195,238, 51,151,152, 92,216,198, 14,167,204,100, 17,119,138,182,251, 16, 74,
+244, 49, 63,252,240,144,166, 44,121,235,108,201, 31,180, 53,223, 52,146, 67, 33, 25, 89,199,206, 56, 97, 83, 6,198,153,226,149,
+179, 51,174,143,135,108,109, 92,100,111, 56,197,222,125, 31, 30, 62,130,114, 9,143, 30, 33,142, 14,145,237, 9,121,217,241,146,
+ 30,145, 90,143, 50,142,113, 93,241, 41, 5, 55,170, 37, 95,105, 21, 23, 7, 9,251,198,114,199, 7,206, 42, 71,139,100, 17, 34,
+187,123,144, 72, 70, 90, 35,137,191,255,169, 16,148,182,163, 51,134,196,180, 12,130, 39, 13, 17,141,235,157,197, 56,135,117,142,
+218,118,236, 45, 79, 40,125,199, 94, 87,115,234, 13,123,171,154,205, 52, 69, 56, 71, 98, 12, 74,107,172,113,236,173,150,204,155,
+146,196, 25,214, 77,139,176,158,173, 96, 88,115,134, 13, 33,120, 80, 46,168,108, 75, 73, 74,174,225, 97, 83, 49, 43, 87,188, 63,
+ 59,225,171,243, 83,154,122, 21,187,197,166,238, 29, 65, 30,145,103, 12,165, 68, 4,199,101, 60,133,130,129,183, 36, 33,240,230,
+106,193, 55, 22, 53,111,119, 45,210,117, 72,157,162, 84,194,122,154,176,155,142, 25,203,132,237, 84,115, 17,201,150, 82,172, 15,
+ 10, 10,149,162, 59, 19, 41,154,190,141, 54,208, 76, 50, 29,143,112,227, 1, 71, 70, 34,122, 97,240,143, 42,236, 63,224,131,255,
+ 17, 30,120,249,209, 98,175, 53,164,186, 39,223, 41,240, 50, 14, 37,234, 54, 34,184,157,225, 65,211,114,203, 72, 86, 4,190,223,
+ 6, 58, 97, 88,217, 88,124,141,115,184,224, 64,169, 88, 12,165, 64, 6, 72,137,144,171, 92, 72,164, 80,104, 2, 34,196,107,153,
+210, 89,244,134, 88, 19, 15, 18, 62,230,117, 8,235,162, 41, 85, 74,130,105,192,199,159, 39,164, 36,116,109, 63,232,140,164, 58,
+111, 44,222, 26,218,224, 40, 77,199,158,181,236, 57, 75,109, 45,149,139,120, 91, 33, 98,166,124,213,149,156,214, 51, 78, 76,195,
+254,114, 70,235, 13,141,119,145,246,169, 37,137,243,204,109, 36,148, 58, 60, 74, 40,108,215,178,242, 14, 17, 60,137,240,220,173,
+ 58, 90,215, 18, 76, 31,196,163, 1,157, 18,154, 14,145,100, 80, 25,196,184, 64,212, 13,183,117,202,127,188,177,206,255,120,176,
+207,191, 54,200,248,227,101,201,181, 60,101,134, 39,183, 29,255,240,228,132, 79, 76,167, 40, 38,207,127,233,113,135,238,109,244,
+154, 43, 31,187,201,243,142, 80,244, 5,160,237,250, 83,229,191, 98, 81,215,242, 73,241, 13, 1, 17, 92,124, 20,215, 47,241,241,
+ 75, 27,124,226,153, 23,184, 52,221,226,165,173, 93,158, 25,111, 34,114,205,181,237,117, 86,222,210,153,192,104, 50, 32, 40,205,
+131,131, 67,214,199, 99,110,159, 29, 96, 86,125,234, 88,103,226,207, 14, 42, 30, 58,240,209,190,117,238,137, 23,196, 19,155, 82,
+253,247,137,184,140, 10, 34,118,242, 90, 70, 53,250,170,141,127, 63, 30,193,120, 8, 69,191, 46, 88,244, 39,235,243, 81, 55, 50,
+254,172,115,225, 95,146, 63,225,212, 43,221,191,145, 93,188, 63, 79, 67,100, 30, 63, 31, 30, 66,252,217, 90, 4, 70, 69, 84, 87,
+174,245, 9, 97,151,181, 70,121,207,134,138, 2,158,121,235, 34, 97,142,240,100, 5,114, 14,146,120,124,104,178,208, 70,162,220,
+ 84, 11,150, 33,230,239,166,137, 96,213, 6,188, 10, 76,148,160, 13,125, 34,158, 23, 63, 20, 23,251,244,199,205,239,191,195, 23,
+255,173, 95, 97, 99, 50,100, 89, 54, 49,181,169,179,116,141,137,193, 10, 66,145, 38, 9,131, 76, 71,202,174, 13,125, 94, 76, 64,
+247, 2, 63,173, 98, 82,152, 84, 18,215,249,216,125, 3,193,249, 56,198, 31,166, 12,138,148,198,249,199,254,112, 47, 4,101,231,
+104,250,116,218,243, 19,123,227, 29, 89,170, 8, 33,161, 59,171, 65,138, 24, 24,163, 53, 73, 63,142, 12,193, 33,148,100,160, 52,
+ 74,105, 6,217,128,141,181, 45, 70,147, 49,235,147,156,189,253, 51, 30, 62, 58, 0, 41, 41,242,156,166,233,176,193, 82,163,216,
+221, 26,225,131, 71, 17, 80, 74,162,117, 68,224, 57,231,232,140,165, 53, 54,134,163,244,145,188, 82, 4,180, 20,104, 17, 51,230,
+147, 66,177, 56,108, 24,165,146,237, 92,113, 57, 75,240, 14, 94,155, 36,108, 21,154, 3, 27,240, 62,142,234,241, 30, 70,154,230,
+210, 4, 51,200, 9, 89,130, 30, 21,136,237, 9, 97,154, 35,134, 9,153,243, 80,183, 4,235, 88,168,192,187, 66,112,253,229, 29,
+214,114,201,149,205,130,143,125,108,139,112, 92,177, 38, 2, 97, 99,196,126, 23,120,111,105,120,115,222, 50, 51,129,221,164, 99,
+224, 29,207,155, 57,203,147, 67,158, 75,115,182,117,202,115, 4, 46, 21,145,184,101,141,225,189,178, 68, 59,199,154, 15, 12,132,
+ 98, 82,228, 20,137,100, 45,207,216, 42, 82, 46, 76, 6, 12, 54, 38, 28, 39, 99, 12, 22,223,118, 63,144, 4,198,226, 12,230, 51,
+186,170, 36,156,158, 16,164,163,194,243,234,112,196, 90,146, 80, 32, 73, 19,141,106, 59,210, 97,194, 48, 36,220,169,142,225,228,
+ 36,254,238,104, 13,139, 5,161,172,185,115,188, 79,222,204,217,182,138, 20, 40,178,140,137,119,108,183, 43, 30, 46, 79,185,217,
+118, 28, 90,203,101,239,216, 54, 13,223,245,130,147,182,230,154,106,153, 91,197, 51,169, 36, 85, 26,109, 3,214, 25,172,243, 28,
+149, 11, 26,111,217, 49, 29,162,109, 81,222, 48, 91,205, 16, 33,112,216,173,120,103,254,136, 42, 4,238, 45, 78,121, 48, 63,226,
+102,181,162,170,150, 72, 17,176,171, 37,251,213,130,179,206,241, 96,118,130, 13,158, 77,211,209,181, 45,181, 51, 76,188,193,135,
+192, 26,129,196,118,100,182,161,241,112,228,106,206, 26,195,119,246,239,242,181, 71,247,249,254,236,152,114,177,128, 85, 5, 39,
+ 11, 88,172, 98,151,222, 58,200, 51,108,128, 81,154,241, 65,215,113,217, 55,184,186,102,102, 12, 15,218,154,127, 81,150, 72,211,
+ 34,130, 67, 57,131,212, 25, 87,211,140,105,158,147,250,192, 40, 75,217, 29, 20,108, 37, 3,134,131, 28,229, 37, 88,131,176, 6,
+111, 59,172,181,100,105, 74,161, 21,147,193,136,106,154,115, 38,250, 61,126, 80,209, 77,209, 95,167, 62, 90,204,197,211, 94,248,
+159,112, 67,107,132,146,113, 74,231, 69,236,137,212,147, 97,188, 8, 14,124, 64,184,216,136,148,139, 6, 23, 60,123,157,231, 65,
+219, 17,122,108,107,227,162, 69,239,156,176, 23, 3,158, 2,107, 74, 19, 76,135, 14, 14, 37, 53, 88, 23, 83,191, 67, 76,100, 59,
+ 47,238, 16, 16, 82, 19,188, 69, 4,240,214, 32, 84,130,183, 13, 8,133,235,237,213, 65, 42, 92,215,225,123, 79, 73,227, 90,170,
+174,228,160,173,184,225, 91,218, 52,227,172, 89,225,172,165, 54,134, 89,189,192,226,153,155,150,133,235,184,187, 92,177,244,130,
+121,185,140,217,101, 34,170,107,103,222, 48,214, 26, 23, 60, 2,201,170,169,168,112, 24,239, 80, 66,114, 84, 55,200, 34,225,168,
+ 1,239,187,184,254,241, 50, 70, 69, 75,141,176, 6, 38, 3,196,217, 2,177, 62,229, 25,219,242,181,206,240,249, 34,231,173,206,
+178, 50, 53, 55,140,163,236, 58, 30, 24,207, 84, 4,190,182, 56, 65,177,118,237, 75, 36,170, 7,195,232,152,231,157,232,120, 83,
+250,195,227, 93, 99,162,255,208,152,127,181, 0,152,180,207, 92,215, 17, 82, 35,242, 49, 92,186,204,175,190,252, 9, 94,189,250,
+ 50,105, 54, 96,123,123,155, 75,235,155,120, 18,158,189,180, 78, 35, 36,237,170,102, 48,202,105,173, 71, 42, 73, 38,115,234,174,
+197, 55, 45,167,222,198, 39,227,220,158,161,101, 31,129,218, 39,191,185,238,201,232, 95,245, 34,183,200,246,140,111,184,243,119,
+176,212, 49,113, 45, 81,113, 12,223,118,209,214,103, 2, 44, 87, 96,234, 15,171,216,149, 0,145,244,157,115,255,174, 21, 60,225,
+183,107,221,115,220, 93, 47,158,179, 63,228,249,136,246,182,221, 97,202,172,243, 60,167, 21, 19,165, 24, 4,137, 14, 81,220,230,
+140, 99, 34, 36,163, 4, 78,218,126,243,117, 14,245,177,246,169,207, 79, 17,250, 68,191, 43, 62, 15,101, 8,176,169,160,108, 2,
+109, 48,100, 58,193,153, 62,128,230, 39,116,234, 0,107,155,235,188,242,202,139, 4, 41, 72,115,205,198,120, 72,231, 2,182,243,
+ 12, 38, 3, 46,175,143, 81, 90,160, 84,204, 74,246,189, 67,210,248,128,150, 17,214,160, 50,137, 12, 49, 94, 85,246,246, 16, 84,
+188,127,137, 76,200,242,120, 40,136, 83, 50, 65, 32,224, 2, 72, 33,226, 83, 74,160, 72, 53,227, 60, 69,202, 64, 58, 76, 57,126,
+112,138, 18, 10, 37,101, 20,188, 16,185, 5, 74,106, 70,249,144,193, 96,192,179,187,151,248,245,159,249, 56,155, 27, 99,246,143,
+ 22, 28,157,206, 24, 78, 70,140, 39, 35,202,178,162,115, 29, 27, 59,219,236, 92,218,196, 56, 79,145, 39,140,138,148, 36,145, 24,
+ 27, 21,175,214,122, 66,159, 36,230, 93, 92, 25, 9, 31,176, 54,178, 18,206,175, 87, 74, 9,150,165,165,107, 2,249, 32,137, 57,
+209, 90,146, 56,203,254,157, 83,228,170,229,221, 59,103,156,236,159,177,153, 41, 90, 25,184, 51,144,188,227, 36,199, 78,114, 88,
+ 59,110,189,115,143, 71,247,246, 56,156,149,148,214, 82,183,150,170, 53, 36,211, 1, 11, 1,223,190,241,136,236,246, 13, 62,247,
+252, 37,254,198, 87,222,230,209, 59,183,105,131,103, 88,149, 36,121,198,123,179,134, 3,165, 56, 10,129,195, 32,248,181,171, 5,
+191,126,109,155,183, 31, 60,228,155, 15,110,242, 79,238,222, 35,168, 0, 94,112, 57,139,194,179,251, 7,199,220, 95, 44, 24, 59,
+199,192, 88,148,233,200, 2,140,181,230, 74, 62,224,103,183,175,176,150,167,180,137,198,111, 13, 56, 45,214,177,178, 32,212,154,
+ 96, 10,144,105, 47,191,139,204,242, 48, 59, 37,156, 30, 18,116,198,107,215, 95,100,153, 77,216, 17,142, 76, 69,173,132, 74, 20,
+171,214, 82,174,206,184, 89,183,132,229, 28,202,138,160,227,117, 39,216,128, 43, 27,190,183,127, 68, 48, 51, 46,167, 5, 35, 60,
+197,104,140, 91,157, 50, 59,222,227,247, 15,143,120,239,116,193,221,206,242,229,131, 7, 60, 76, 50, 78, 44,220, 53,134, 55,218,
+142, 63, 41, 27,254,164,178,188, 42, 12,202, 59,230,229,138,247,203,134,133, 89,226,219,154,172,107,152,205, 23, 20, 74,242,246,
+242,140,119,206, 78, 56,237, 12,247,151,103,188,123, 52,227,189,211, 19,110,221,220,227,224,116,197,189,147, 67, 6,218, 18, 92,
+199, 89,181,192,154, 21, 89, 91,225, 77, 67,144,144, 4,135,145, 10,237, 29,185,247,132,174, 70, 59, 3,166,194,116, 13,111,150,
+103,204,170, 25, 77, 85,225,202, 10,206,106, 68, 91,193,193,105,116,233,204, 74, 68,103,160,169, 48,153,100,133, 96, 89,151,188,
+ 93, 54,188, 55, 91,240, 94,181,226,187,203, 21,194,180, 8,103, 17,109,131,116, 6, 41, 3, 23,138, 2,229, 2, 90, 72, 10, 31,
+120, 46, 75, 89, 83, 58,226,175,149, 66,167, 41,190,109,168, 93,139, 21, 14,225, 29,211, 98, 68,162, 37,195, 44,229, 76, 8,150,
+ 66, 64,145, 65, 58, 64, 36, 3, 68, 26,217,242,194,187, 15,129,109,158,190,233, 31, 2,184,121,220,173, 39,125, 81,239,127,199,
+ 63,180, 44, 12, 1, 17,250, 70, 40,213,143,243, 49,132,239,192,122,188,131,163,101,199, 28, 71,129,196, 27, 75,135,196, 58,199,
+ 80, 41,202,174,166,243,150,156,136, 69,238,156, 65, 17,245, 8, 65, 4,148, 84,216,166,126,172,213,242,166,137,235, 63,215, 70,
+ 1,154,179, 56,215, 98, 93, 3, 82,198, 3,159,169,113,128, 17,158,186,171, 57,107, 87, 84,206,114, 11,199,126, 87,113, 96,106,
+206, 90, 75,101,106,142,154,101,100,181,183, 37,165,183,156,214, 53,149,117,172,130,195,121,137, 12,129,153, 53, 52,182,139, 61,
+241,249, 52,136, 64, 16,158,178,139,142,158,101,137,101, 66,182, 0, 0, 32, 0, 73, 68, 65, 84,221, 50,144,138, 34, 4, 76,170,
+153, 45,226,227, 15,244, 73,154, 26, 68, 62, 64,204,150,136,173, 41,226,224,132,114,109,194,199, 21,188,141, 70,116, 21,211, 44,
+163,180, 29, 59, 50,229,253,114,198, 80, 69,131,171, 98,227,249, 47,209,217, 39, 59,117,161, 99, 1,234,122,111,186,137, 72, 70,
+234, 85, 28, 19,201,126, 7,126, 14,148,249,151,234,214,243, 88, 72,133,131, 98,130,152,174,243,201,171,151,120,118,243, 25,132,
+ 78, 80, 42,225,226,214, 26,193,121,116, 8,204,235,142, 34, 19,104,173,168,106, 75, 72, 5,243, 85, 75, 85,119,120, 99, 25,164,
+146, 91,179,167,226, 8,207, 5,120,178,127,171,157,135,151,156,219,191,242, 65,111, 13,147,125, 26, 90,159, 43,158,244,143, 57,
+ 75,122, 92, 99,136,187,250,197, 18,202, 50,222, 62, 10,107,145, 50,190,179,147, 36, 30,126,206,139, 56,125,145, 63,143,167, 85,
+105,156, 24,164,242, 7, 11,187,148,224, 53, 11,103, 89, 79, 18, 54,165, 32, 11, 17, 62,227, 9,236, 8,193,153, 11,140, 3, 56,
+ 33,217,212,146, 35,215,119,253,231,157,250,227,207,189, 69,174, 47,244,174, 47,252, 57, 34,238,151, 91, 67,154, 43,180, 82, 49,
+158,150,222, 3,255,231, 0, 16,188,251,221,183,248,236,175,254, 2,219,235, 19,164,146,204, 87, 45,211,233,144,147,147, 25,243,
+211, 37,181, 9, 72, 21, 59,210,104, 3, 11, 49,158, 84, 42,138, 92,147,100, 18,225,162, 11,221,138,152,188,150,104,141, 22, 10,
+111, 61, 74,198, 16,149,170, 54,120,231,113,206,211,117, 30,173, 37, 74, 62,185, 13,243,140, 76,235,152, 1, 36, 20,109, 29, 40,
+ 23,101,223, 97, 4,178, 36,165, 72, 7,140, 39, 19, 38,211,117,158,123,254, 25, 62,247,242, 46,139,147,146,111,188,127,135,116,
+144, 81,140, 6,180,109,199, 98, 85, 49,152, 12,185,120,113,155,225,184,192,247,187,251,213, 50, 94,168, 7, 89, 18,197,123, 62,
+ 18,242,140,141, 5,221,121,143,235, 85,253,198, 58,156, 11, 72, 41, 73,180, 34, 77, 52,227, 65, 74,146, 42,208,113, 60, 88, 87,
+ 29,109,211,113,116,255,144, 91, 55,239,176, 56, 61,225,224,225,125,110,223,219,231,237,219, 15,248,214, 91, 31,112,156,175,177,
+ 51, 46,152, 37,154,183, 66,194,151,191,250, 45,190,254, 63,255, 9, 95,189,241, 46,255,232, 15, 94,231, 31,253,227,111, 35, 86,
+199,188,124,249, 58, 39,251,167,252,155,175,190, 76, 33, 52,191,255,213,111,112,229,234,101, 62,251,185, 23,248,245,237, 33,127,
+ 38,128, 11, 67,202,165,229,229, 73,134, 82,154, 95, 30,166, 56, 31,248,238,253, 3,188, 53,124,236,234, 85,220,100,131, 67, 2,
+218, 25,238, 86, 45,167,171,146,235,197,152, 32, 4, 3, 33, 49, 38,134,136,164, 82,242,233,141, 93, 46,236,236,176, 57, 28,115,
+211, 90,110,184, 12, 49,154, 64,161, 48, 58,193,111, 20, 20, 91,235,236, 92,219,129,209, 58, 45, 26, 86, 22,164, 37, 4,201,228,
+217,103,185, 62, 78, 25, 11, 73,103, 59, 18,173,217, 47, 87, 44,155,150,133,149,124,176,154, 69,104,211,108, 21,131, 44,130, 36,
+120,219, 31,236, 4,111,207, 86, 92, 80, 13, 27, 74,211, 85, 37,143, 22,135,252,189,123, 71,188,249, 96, 70,117, 60,231,232,224,
+ 16,237,107, 46, 54,103, 44,110,220,160,109,103,160, 4, 66, 39, 8,219,242,237,229,140,163,166,230,165, 34,227, 15,110,189,135,
+246,129,213,252,152,211,249,130,155, 85,203, 91,243, 5,239,150, 21, 95,155,151,188,126,182,228,221,121,205,131,217,146,217,106,
+137,107,107,156,109,169,170,146,155,243,154,253,182, 37,152,138, 60,213,236, 74,201, 84,128,113,150,160, 20,170,107, 81,214,112,
+236, 45, 27,166,161, 67, 64,215, 50,111,151,212,139,138, 85, 85, 33,124, 0,231, 16, 94,192,188,129,118, 5, 93,141,176, 29, 84,
+ 37,156,158, 33, 14,143,240,103, 11,192,227,203,138,122,181,164, 92, 44, 16,139, 5, 98,181,132,186, 66, 46, 22,136,174, 69, 9,
+195,202,117,172,107,141,144, 9, 74,192, 69, 45,217, 17,158,161, 76,145, 90, 18,234,146, 96, 29, 70,128,212,138, 81,154, 33,128,
+ 66,105, 10,165,113,161,195,100,138,153,241,136, 44,129, 97, 6,163, 17, 66,166, 72,149, 34,113, 72,231, 62, 4,181,209, 79, 21,
+118,253,195, 10,187,142, 35,115,126, 72,136,140,112, 46,214, 20, 41, 99,167, 46,162, 72, 48,142,203, 29,162,234,192, 5,170, 85,
+203,253,202,176,232, 12, 34, 4,130, 12,204,155, 38,114,230, 3,116,109, 75,227, 12,185, 15,184,224,232,188, 65,122,168,187, 42,
+166, 45, 58,135,235,106,156,233, 98, 65,247,142,174, 94, 17,132,199, 88,139, 13,142,206, 89, 90,111,113,222,177,104, 86,148,109,
+195,153, 45,217, 55, 45,111,119, 75,110, 54, 43,110,149, 53,119,203,154,210,118,220,238, 58,150,173,161,242,142, 86, 73,102,171,
+ 18, 43,161,179, 22,101, 35,236,108,209,212,148,222,227,181,228, 65, 85,115, 49, 75, 56,181,134,182,173,177, 33,224,149, 64,219,
+232,199, 55,214, 49, 85, 10, 33, 96,179, 72,217,171, 76, 20, 81,123,143, 48, 22,108, 28,193,203,249, 10,177, 54, 69, 30,204, 56,
+ 77, 20, 98, 49,199, 14,134,172,230,115,188,210,156, 52,115,100,154, 49, 11,158,114,121,134, 98,116,237, 75,232,243, 78,189, 79,
+ 87,235,179,101,177, 29,212, 77,236,222,109, 63,218, 78, 84,180,141,105,126, 44,192,228, 7, 62,178, 52,238,184, 19, 21, 79,132,
+227, 33,131,233, 26,175, 93,190,198,100,109, 28, 35, 59, 61, 12, 6, 57,178, 23, 64,248,186, 69, 43,201, 96,152, 97,156,229,204,
+121,170,101, 75, 23, 12, 78,192,114,181,228,160, 93, 96,170,174,183,204,201, 39,209,169,231,176, 27,211, 19,230,210, 34, 22,239,
+252,188, 8,247, 59, 23,165,123,206,125,218, 43, 80,251,125,181, 51, 31,142,150,253, 97,235, 4, 21,161,251, 72,221, 23,243, 36,
+ 58, 6, 92,128, 81,209,231,201,247,197,190,238,126,112,212,237, 92, 31, 75,171,217, 78, 20,195, 30,206,210,187,238, 48, 6,118,
+ 18,193,125,239, 24,186, 64, 30, 60, 71, 82,224,186,167,118,233,231,157,250,211, 74,246,126,109, 18,124,192,132, 56,238, 86,104,
+108,176,113,244, 29,252, 19,220,237,159, 51,170,113,184, 54,225,226,181, 93,138, 36,199, 56,195,254,253, 35,188, 51, 12, 6, 35,
+ 28, 48,155, 55,120, 4,147,113,134, 16,130,245, 34, 65, 8, 65,158,107,148, 82,100,153, 36,207, 20,193,157, 3,102, 4, 89, 46,
+ 73, 19, 69,150, 69, 14,130, 53,158,209, 80, 19,130, 64, 72, 17, 71,102, 65, 60, 30,225,159,199,218, 7,235,217,159,149,125, 34,
+159, 96, 48, 25, 50,154, 76, 24, 77,198,140, 38, 99,146, 60, 69,167, 5,173,177,236,205, 86,204, 77, 96, 48, 28,130, 20, 72, 47,
+ 73,146,132,233,250,152, 52, 77,104, 27,195,236,116,193,219,239,191,203,255,246, 71, 95,231, 79,254,244, 13, 82, 20,235, 59,107,
+140,139,244,241,232,207, 67,175,118,117, 44,202,142,186, 49,148,165,161,169, 45,214,248, 72,197,235,237, 55, 39,173,231, 99,157,
+225,170,246,188, 25, 60,243,170,102,181,170, 89,149, 21,117,187, 36, 81, 9,243,213, 25, 15, 14,247,216,223,127,196,173,218,241,
+ 96, 1,126,123,196, 34, 75,176,207, 60, 75,158,150, 28,190,254,128,240, 65, 75, 56,171,184,251,157, 61, 62,243,133, 87,184,242,
+252, 46, 97,125,192,157,121, 69,125,122, 76, 97,106,222,185,117,159, 7,143, 30,242,245, 59, 15, 57,122,255, 30,215,240,252,123,
+ 47, 61, 67, 45,224, 31,191,243,128, 71,139, 57,111,207,106,158,219,216,228, 23, 63,243,113, 54, 94,125,158,181,235,187,220,244,
+130,123,247,238,240,193,131, 91,124,112,114, 76,131,103, 39, 31,240, 64,167, 44,218, 21, 50,209,188, 52, 93, 39, 77,115,106,107,
+248, 78,215,241,102, 82,176,157,101, 92,209,130,157,196,144,143, 51,198,211, 9,195,124,192,246,198,144,193, 48,101,161, 83,124,
+231,193, 25,102, 23,183, 25,232, 49, 74,122, 74,165,104,234,154,253,174, 99,229, 53,221,149,171, 28, 79, 47,210,118,115,120,120,
+ 16,131, 69, 92, 31, 22,226, 61,190,159,144,188,109, 91,218,106,201,205,182,228,255, 40, 87,124,103,105,113,243, 6,247,193, 28,
+127, 56,199,220, 93, 49, 95,149, 96,170,216,217,248, 14, 49, 63, 70, 78,214,216, 30,111,241, 59, 95,248, 4,191,252,169,151, 48,
+173,231, 96,126,204,219,251, 51, 62,184,247,128,123,103, 43,238,122,193,163,166,165,105, 44,214, 54,177,115,107, 27,108, 23,133,
+130,206,251, 88, 32,188,165, 92,173,216,107, 2,147, 84, 50,192,209,248,142, 11, 66, 82,123,143, 22, 2,235, 12, 83,211,178, 82,
+ 9,109, 53,231, 65, 85,179, 10,129,174, 92,113, 58,171, 98, 55,142,138, 81,163,161,111, 8, 62,186,211, 54, 22,177, 92,192,124,
+ 14,179,121,108, 44, 22, 53, 98, 54, 67,156,157, 32,142, 79, 16,199,199,200,197, 2,121,186,128,197,130,185,109,153,153, 10,133,
+ 98,135,192,181, 52, 35,181, 22,209,182,248,206, 97, 8, 56,111, 73,149, 34, 17,138, 34, 73, 73,133, 66,121, 79,234, 3,206, 59,
+ 38,227,156,113,145,240,252,120,192, 11,107, 3,214,166, 5,227, 34, 97,222, 4,148,245,113, 59,233,253,227, 66,158,126,164,200,
+235,167, 58,122, 33, 68, 44,210,166,239,212,205, 83,227,119, 23, 67, 78, 68,136,157,186,112,253, 4,247, 60,184, 38, 8, 68, 87,
+ 65, 42, 17,109, 77,217, 6,246,219,134,147,186,101,148,234,200,205,234, 26,154, 0,141, 49,204,113,164, 33,208, 56, 67, 27, 2,
+166,107,113, 34,208,118, 53, 22, 79,101, 27,156,107,113,214, 96,189,197,184, 14,227, 13,101, 87, 81,217, 22,231, 58,246,218,138,
+131,122,198, 7,109,201,237,106,197,183,109,205,222,114,201, 55, 79, 87, 44, 92,199, 65, 89,115, 38,224,208,121, 78,172, 67,107,
+ 69, 89,150,168, 52,199, 6,139,113,158, 78, 9,150,141,195, 56,207,178, 50, 28, 25,199,153,241,140,173,101, 32, 28, 86, 40, 90,
+103, 81, 46,166,146, 90,239, 25,234,120, 65,203,164, 96, 36, 21, 75,239, 89, 90, 19, 15, 62, 68,160,152,148, 14,129, 66,182, 75,
+212,100,140,154, 45, 81, 89,138,182, 14, 53,202,145,117,137, 74, 52,170,142, 60,125,169, 51, 20,235,207,127, 9,219,119,234,231,
+230,131,208, 7,172,208,231,131, 43, 25,139,177,234,247,235, 42, 60,137, 88, 85,242, 9,159,252, 71, 89,192,164, 4,153,197, 93,
+118, 58,132, 98,128, 72, 83, 6,195, 28,145,164, 76, 82, 77,146,102, 40, 25,240, 1,114,173,145, 74,144, 9,176,166,163, 89, 53,
+204,106, 71,219, 25,206, 22, 37, 42,213,180,171, 6,176, 28,148,115,234,170,137,221,177, 13,177,112,203,190,115, 69, 64, 48,125,
+242,141,140,209,167, 73,127,191,125,136, 35,167,208, 31, 52,252,249,232,186, 39,196,157,123,224,127,220, 58,129,126, 77,145, 21,
+189, 50, 61,196,195,129,214, 79,146,215, 68,191, 14, 16,231,251,240,143,118,252,113, 70, 53,214, 30, 47, 21,218,129,246,113,188,
+123,190,122, 95, 35, 78, 70, 74,239, 25, 10,207,105,119,142,138,181,125,132,107, 95,118, 30, 47,181,206, 95,147, 94, 84,231,125,
+244,104,170, 62,207, 62,244,135, 55,255,231, 63,148,221,248,254, 13, 94,249,204,107,168, 76, 51, 46, 10,234,182,195, 89,199,114,
+ 49,103, 99,115, 74,158,198, 85,205, 48, 75, 98,200,139, 32, 10,224,132, 32, 81, 2, 27, 4,206, 6,130,140,170,101,173, 98, 24,
+ 74,146, 38,164, 89,138, 76, 52, 74, 9,130, 9,113, 56,212,196,200, 93, 99, 60,198,216,120,190, 10,158,217,178,163,174, 61,213,
+178, 67, 41,201,104, 24,139,119,146, 37,188,120,125,155,151, 46,111, 16, 84,138, 15,129, 68, 73,164,144,172,170, 21,243,147, 5,
+ 82, 10,100, 34, 56,124,116,192,247,110,188,195, 31,127,247,109,254,236,246, 45,190,242,246, 45,110,126,103, 15, 62,168,225,118,
+205,141,113,205,199, 47, 93, 98, 99,125, 68,170,162,187, 91,247,178,146,198, 56, 58,227,112, 30,154,198,210, 54,142,198,246,201,
+193, 90,146, 41, 77, 55, 84,124,122,163, 96,120,161,224,238, 32, 97,184, 53, 98,124,101,131,236,165, 75, 36,207, 93, 33,108,173,
+145,138, 1,251,167,167,188,251,206, 1,109, 17,120, 20, 18,214,150,150,236,194,148, 3, 37, 25, 60,127,157,171,215,183,121,246,
+ 51, 59,124,230, 87, 94,226,211,191,246,113, 78,148,229,238,193, 1,239,223,126,200,183, 30, 60, 68, 33,248,173,201, 38, 27, 94,
+240,207, 27,203,157,170, 65,234,140,201,197, 75,216,205, 41,199, 90,211, 77, 11,154,139, 91, 36,151, 47,113, 89,167, 20, 71, 21,
+223, 60,171,121,243,254, 41,239,221,186, 71,215, 89,178,245, 77,222, 42, 87,236, 47, 79,169,234,138,249,114,142,150,130, 85,158,
+ 83,213, 75,164,181,220, 48, 29,223,181, 6,165, 7,228,222,179, 46, 61, 3,215,210,106,201, 95, 26, 13,249, 43,211,117, 94, 82,
+ 18,167, 21, 42,151, 44,172,224,250,100,200, 56, 87, 84,197,132, 3, 18,142, 90,207,253,106, 73,105, 45,109, 91, 51, 89,219, 34,
+ 75, 4,114,178,201,194,204, 8, 71,199,208, 57,130,238,233,118, 66,224,165,161, 89, 54,188, 57, 95,242,237, 69,201,161, 83, 56,
+ 65, 20, 82,174, 41,252,105,212,231,167, 43,207, 79,229,154,191,184, 94,240,252, 98,197,205,186, 4, 28, 87,159,189,198,199, 71,
+ 3,214, 18,205,223,122,235, 30,183,131,136,187,202,163, 57,193,119,120, 20, 94,107,156, 15,209,137,210, 69, 30,130,243,254, 49,
+201,207, 3,193, 69, 17, 21, 78,112,156,164, 92, 25, 42,118,131,199, 58,203, 24, 65,107, 58,134, 4,156,115,100,166, 97, 30, 60,
+167,222, 51, 63,155,115,186,168,232,218, 22,119,178,138,214,170, 44,229,213, 11, 5,255,246,165,117, 62, 62, 29,243,198,241,234,
+113,108,234,227,142,214,244,130,221,182,133,182,142, 28,143,208, 7,184,244,187,101, 89,199, 8, 95,121, 82, 34, 59, 67,233, 26,
+ 82, 37, 24,219,142,245,166, 66, 57,143,243,150,186, 45, 9, 50, 32,157, 39,149, 2, 45, 64, 11,141, 12, 30, 41, 37,133,146,108,
+ 38, 41,159, 24, 12, 25, 39, 9,211,108,192,122, 62, 96,146, 40,126,122,115,194,199,198, 3,214,181,224,200, 58,146, 0,169,247,
+164,125, 97, 79,250,219,211, 29,187,240, 81,148, 38,180, 64, 24,158,100,190, 59, 31,129, 55,206, 61, 1,210, 40,137,176,145, 61,
+ 32, 68, 28,249,147,104,132,141, 13,143, 16, 81, 84,214,117,158, 71,171, 14,105, 59,202,206, 50, 8,130,149, 8, 88,235, 56,117,
+142, 3, 1, 71,182,163,146,146,135, 85,201,137,112,172,154, 21, 51,239,104,218,150,189,174,193,155,134, 67,215, 98,141,161, 82,
+138,101,219,114,191, 46,185, 85, 46,248, 32, 56,190,113,186,226,131,206,112, 99, 94,243,192, 58, 26,231, 89,213,150, 86, 6,170,
+101,133, 79, 83, 26,239, 73, 8, 56, 41,169, 77, 71, 25, 4, 74, 40,142, 86, 13,235, 89,194,126,109, 40,155,134,182, 53,108,103,
+146, 19,103,216,148, 26, 97, 45,155, 74,209, 66,212,191, 16, 83, 30,231,206, 16, 2,212,214,113,185, 72,120,127,209, 64,211, 69,
+205, 53, 30,233, 4, 82,216,184,202, 59, 93,160,130, 64,167, 26,109, 12, 74, 43,116, 8,104, 23, 35,175,149,148,200, 85,133, 98,
+218,239,212,221, 57,253, 77,197, 66,224,252,147, 0, 17,210, 94,237,221,227, 93,117, 74,246,252, 69,214,175, 94, 64, 95,216,164,
+ 29, 15, 97,107, 19, 6, 99,184,120, 33,126,189,181, 9,147, 53, 24,140, 98,145, 77,147,136, 60,204, 18,228, 56, 35, 77, 18,100,
+112,140,117, 26,177,125,185,102, 58, 28, 49, 29, 23, 76,166, 41,174,181, 56,111, 32,120,188,132,106,181,192,244,172,220,163,211,
+ 25, 85, 83,114, 80,205,152,213, 21,198, 7, 66,119,190, 15,239, 85,225, 69, 10, 77,251,132,134,148,232, 88,212,181,142, 43,134,
+244,169,241,187,238, 59,247, 68,199,125,134,210,177,168, 43,249,227,167, 17,185,142, 43, 5,124, 20,212,233, 60, 22,246, 44,233,
+ 45,117, 34,138,239,206, 73, 76,173,123, 34,182,251, 8, 51,255,149,188,160, 8,176,239, 59, 46, 41,141, 2,150,253, 47,241, 88,
+ 8, 18, 33, 72,165,164,240,240, 64, 75,130, 0, 90,251,228, 96, 96, 31,171, 84,122,111,190,232, 21, 27, 34, 78, 16,148, 2, 93,
+244,147, 8, 27, 31,223,191, 76,172,110, 34,217,183, 29, 47,189, 16,225, 22, 87,118, 54, 57, 91, 84,156, 29, 31,225,131,138,135,
+177, 60, 99, 88,100,212,181, 33,200, 88,212,109, 32, 90,209,164,192,123, 17,247,228,113,225, 69,162, 20,214,250, 30, 69, 31,199,
+219,182,207,137, 15,222,211, 57,135,107, 28,131, 97, 26,247,218, 65, 16, 28,228, 89,194,104,152, 51, 26, 23, 92,216, 25,179,181,
+ 49,224, 51, 47,237,240, 51,215, 54, 89, 53,134,251, 71, 75, 30, 62, 60,160,106, 58,190,249,230,247,185,127,116,196,239,127,239,
+ 29,254,236,143,223,226,235,223,187,193, 27,119, 30,112,255,222,156,178,181,180,231,118,205, 81, 30,133,136,135, 6,127,167, 38,
+127, 38,229,202,181, 93, 38,195, 2, 25,226,240,197, 19,207,141, 65,200,232,149,117,145,124,165,164, 68,101,154, 97,161, 25, 23,
+ 41, 27,121,194,239,189,183,207,215,111, 28, 49,187,121,196,217,173, 67, 56, 94,177, 60, 89,224,131, 35,153, 20,236, 92,219, 98,
+114,253, 42,255,249, 47,190,134,218,220,101, 49,157,160,101,224,167, 82,197,219, 69, 65, 54, 72,185,250,242, 46,249, 51, 23,144,
+ 23,183,185, 57,235,248,211, 15, 30,240,255,157,214,124, 93,140,120,127,178,203,175,188,250, 34, 47, 92,222,228, 52, 31,242, 72,
+228,108, 77,167, 60,251,201, 23,153,236,110,112, 40, 20,157,245, 12, 11,205, 32,207,120,118,152,241,153, 66,176, 88,214,124,251,
+100,193,221,166, 98,103,103,141,245,103, 47, 51,188,180,205, 88,143,120,189,236,184,175,167,188,176,181,205, 21, 41, 89, 10,193,
+119, 66,224,123,214,177, 39, 21, 73, 26,149,220,169, 20,180,213, 18, 99,106, 26, 23,248,205,233, 58,207, 12, 71, 92, 72, 50,238,
+217,142, 3,231, 24, 42,152, 52,150,141,249,138,105, 98,145,131,117,110,216,138,169, 74,233,108,135,242,142,253,147, 3,134,211,
+ 77,130,113, 44,101,130, 93,206, 8, 85, 5, 62, 16,186, 38,142,225,173,193,227,241, 66,226,250, 11,179,147, 26,145, 74,134,163,
+132, 38, 11,140, 22,129, 79,108,228,252,226,245,117, 62,183, 57,102,146, 37,172,117, 14,177, 90,241,126,115,198, 63, 95, 88, 78,
+207, 22,124, 99,190,136, 86,167,181,141, 8,183,240, 16,186, 50, 90,243, 44,120,215, 60, 41,228, 66,196, 46,253, 41,149, 63,196,
+ 97,165,235, 90,198,227,156,165,113,236,138,128,116,134,169,177, 52,174, 37,224,153,183, 45,117,107,168,173,101,182,108,168,170,
+ 22,233, 44,141,233, 16,198, 32,138,156,255,228,202, 22,191,188,115,129, 65,170,248, 86,219,208,204,234, 15, 77,205,196, 71, 35,
+ 85, 85, 44,228,231, 2, 52, 33,163,128, 86, 90,139,176, 29,162, 44, 17,199, 75, 14,143, 79, 57,105,102,236,132,142,177,237,232,
+154, 18,159, 38, 24,107, 8,109, 69, 22, 60,174, 51, 72,161, 48,222, 32,132,100,173, 24,179,158, 23, 12,178,130,141,124, 76,167,
+ 20,195,100,192,246,112,157, 11,105,193,115,195, 33,151, 7, 57,207, 72,205, 21,165, 41,148,228,106,158,179,150,165,124,122, 52,
+101,223, 91, 18, 33, 80, 61,131, 94,156,119,235,177,245,142,161, 72, 46, 10,173, 63,164,144,151, 18,153,196, 68, 68,233,125,252,
+218,121, 68,255,119,162,235, 34,202,214,185, 24,113,237, 61, 39, 93,199, 94,231,249, 32, 56,110,159, 54, 60,244,134,165, 20,124,
+208,118,220,110, 27,110,215, 45,247,188,225, 86,215,241,102,101,120,171,108,184,163, 2,183,156,225, 77,211,114,100, 44,111,152,
+142, 7,117,201, 91,182,227, 86, 91,243,118,109,120,163, 49,156, 25,203,204,122,218, 16,237,171,198, 56, 80,130,214, 70,203,173,
+ 49, 6,135,103,222,121,230, 62,142,241, 59,235,121,104, 12,153, 20,204,154,150,206, 90, 66, 99, 17,198,177,108, 60,151, 7,138,
+220, 88,174,103, 41, 82, 4,182,149,194,123,207, 26,208,244,152, 97,107, 61,169,128,101,221,225,125, 96,225, 44,194,199, 60, 18,
+ 9, 40, 99, 81,157, 69, 21,154, 68, 41,116,213,162, 85,194, 21, 87,211,233,148,169,177,248,186,137,223,163, 20,250, 7, 9,113,
+221, 15, 94,208,117, 15, 71,144, 50,178,141, 95,185,196,245,205,109,154,206, 51,206, 83,234, 45,199,162,118, 28,214, 11,214,147,
+130, 36, 45, 40,155,134,253,178,138,251,219,164, 23,220,233, 39,251,248, 60, 21, 76,178, 20,130,195,132,142, 73,146,162,148,100,
+152, 11, 76,103, 8,170,163,177,142, 84,129,112,134,164, 72, 73, 4,180, 18,238, 29, 44, 34, 67,128, 64,189,234,240,222,199, 67,
+195,121,116,105, 63,198, 66,167, 79, 30,131, 1,114, 31,139, 91, 34,227,247, 75, 29,139,126,154,210,211, 81,158, 20,251, 85, 10,
+117,253,100,223,254,195, 62,170, 6, 54,198,125,225,238,159, 39,213,167,174,229,253,253,176,253, 33, 33,113, 31,166,237, 61,245,
+244, 18, 60, 95,175, 75, 62,145, 23, 92,215, 25,203, 16, 24, 11,193,179, 66, 62,246, 9, 19, 60,117, 15,140,185,228, 44, 15,206,
+ 87, 26,231,135,132,199, 63,183, 31,197,235, 2, 54, 55,226,255,189, 42,123,112, 77,143,158,173,254, 37,133,142,137,132, 32,185,
+251,149,239,114,243,133,231, 41, 62,247, 26,243,213,138,143,189,244, 12,207, 93,191,196, 91,111,222,226,240,209, 35,218,178, 35,
+207, 52,137,210,168, 10, 6,195, 4,103, 3,149, 51,100, 65, 70,217,130,146,228,121, 18,109,107, 62,110, 78, 91, 23,213,169,198,
+ 65,145, 73,140,240, 36,137, 70,117,158,144, 71,181,184,214,138,113,145, 80,202, 8,170,137, 23, 60, 65,219, 57,210, 68,243, 15,
+254,240,255,103,236,189,122, 44, 75,179,244,188,231,115,219, 30, 27, 54,125,102,121,215,213,102,218, 84,147,163,129,208, 50, 35,
+ 18,148, 4,112, 40, 8,188,162, 0,253, 2,233, 94, 16,248, 19,116, 33, 72, 0, 37, 8,208,141, 64, 2, 26,104, 64,129, 24, 81,
+131,230,104, 60,167, 77, 85, 23,171,170,203,102,101, 86,250, 12,115, 34,142,219,246, 51,186,248,118,102, 86,119, 87,207,116, 0,
+129,116,129,140,115, 78,236,179,215,183,214,122,223,231,253,128, 71, 39, 71, 76, 71, 83, 30,159,156,115,111,185,224,189,187, 71,
+168, 76,114,177,204,217,153,149, 44,214, 61,156, 14,207,125, 54,252,124,142, 91, 72, 21,201,190,198,238,229,248,191,163,224,110,
+199, 31,255,249,207,121,225,249,231,152,190, 85,176, 63,202, 49, 34,178, 21,148,210,104,229, 98,104, 71, 22, 16, 74,160, 4,104,
+163, 72,149, 68, 75,129,244,158,221,182,163,237,122, 78, 23, 39, 32, 21, 75,219, 99,235, 53,235,143, 54, 24,149,178,116,130, 43,
+223,125,145,231, 94,185,200,215, 38, 91,110,221, 60,229,202,209,154,107,103,154,174, 18,156, 94,154,242,200, 42,230,235,142,223,
+ 53,158,159,228, 9,122,182,195,235,105,201,205,180,224,197, 36,229, 63,157,106,236,170,226,167,199,143,113,101,193,229,209, 14,
+197, 60, 99,238, 45, 63,217, 70, 26,222,200,193,244,108, 77, 85,102,212, 57,180, 23, 74, 46, 79, 83,246,130,103,190, 51,230,162,
+150,124,250,193, 29,146,229,130,195,124,204,120,118,129,236,194, 8, 89, 55,184,237, 26,181,233,232,131, 39,164,130, 84, 41,232,
+ 29,143,117, 73,147,195,105,211, 48, 49,129, 44, 73, 16, 46, 16, 68,100, 46,116, 4,230, 8,246,139,132,139, 89,134,116, 61,119,
+ 78, 62,101,103,239, 50,231,222,227,148, 33,145,158,170,171,121,247,147,247,105,199, 59, 96, 12,242,229, 87,241,117, 13,139,199,
+120, 93,198,108,108, 41, 16, 85,141, 48,131,227,164,238,193,158, 99,117, 74,155,101, 8, 7,114,170,153,207, 19, 46,229, 41,115,
+147,160, 9,220,214,154,151,172,227,181, 7,199,188,189, 94,242, 39,155,171, 96, 70, 8,147, 32,144,112,227,121,152, 78, 9,119,
+238, 17, 54, 21,161, 89, 71,189,116, 15,193,200,167, 14,209, 95, 1,170,180, 29, 98,186,195, 6,152, 72,197, 18,129,219, 52,156,
+ 26, 25, 59, 87, 21,145,212, 77,213,227,250,142, 41,113,250,120,199,250,168,212,238, 44,178,106,121, 49, 73, 73,133, 66,234,132,
+209,104,194,249,100, 77, 88,213, 67, 2,223,175,129,189, 12,112,172,224, 60, 65,201,167,118, 66, 7, 56,107,177, 52,116,231, 13,
+ 31,173,207,248, 95,238, 60,230,251, 38,227,198,108,204,120, 62, 34,155,142,120, 46, 27, 83,181, 53,185, 74,232,251,150, 30, 79,
+146,231,160, 12,217,240, 61, 77, 90, 48,245, 30,235, 29,227,180, 32, 45, 39,216,205,217, 48,114, 15,136,113,193, 15, 66, 32, 67,
+ 80, 8,197,186,107,120,171,157,114,212, 52,188,183, 92,242,110,221,162,250, 14,101, 45,194,254, 82,222,251,151, 14, 72, 79, 1,
+156,157,125,154, 1, 47,158,208, 63, 59,139,120,146, 11, 31, 60, 33,209,241,121,246,131, 32,174,247,172,155, 26, 13, 84,149,228,
+241,195, 21,186,200,208, 50, 6, 45, 41, 41,144,168,152, 1,159, 70, 71,147, 16, 17, 61, 13,110,216,178,134, 1, 1,237,241, 77,
+143,183, 30, 55,220,175, 92, 18, 35, 91,179,210,208, 5, 71,130,100, 21, 98, 79, 22,128,160, 4,222,246,172,147, 4,223, 58, 8,
+ 29, 75, 25, 87,216, 50,145,144,106,194,166, 67,164,138,157,214,242, 66,106,208,125,203,142,202, 16,222, 71,200,216,112,235, 47,
+132, 36,211,112,180,106, 16,193,115, 57, 87,220,173, 19, 68, 84,101, 32,123,144, 74,163,140, 68,123,152,102,130,203, 74,243,237,
+ 82,209, 88,199,117,111,105, 83,201, 81,102,184,185,174,185,189,110, 81,140,174,253,211,191, 85,181,174, 6, 96, 74, 8,112,237,
+128,231,246,102,180, 54,176, 91,150,228,166, 36, 51, 25,123,229,132, 76,104,114, 19, 57,189,163,212,144,200, 64, 97, 4,171,110,
+216,121, 11, 65, 98,146,184, 71, 21,130, 34, 49,104, 9, 55,118,118, 48,105, 74,162, 2, 93,215, 83,164,146, 92, 43,166,165,198,
+216, 64,179,109, 25, 25, 65,187,172, 88,111,207, 73,180,102, 81,109,185,119,118,134,237, 61,146,200,227,133, 39,161, 32, 67,241,
+106,219, 33, 18,181,137,197, 45, 77, 24, 84, 80,207, 70,237,121, 22,191,134,161, 83,183,253,112,120, 81, 80, 87,241, 74,251,155,
+198,240,194, 67, 57,138,190,171, 50,139, 69, 60, 77, 6,117,123, 22,197,135,102, 80,199,123, 23,213,158, 95, 86,156, 63, 25,251,
+ 59,207,117,173,240, 66,178, 12,129,145, 15, 84, 2, 82, 33,162, 94, 81, 64, 41, 4,159,217,150, 92, 73, 54, 82, 70, 92, 42, 3,
+100,199,250, 95,180,184,205,119,153, 92, 60,164, 28,141,169,165,142, 83, 11, 61,232,225,131,143, 73,115, 90, 71,135,192, 47, 24,
+ 82,252,175, 30,234,228, 83, 63, 10, 31,254,236, 67, 94,255,230,155, 36, 89,202, 98, 91, 49, 46, 50,186, 16, 80,105, 66,181, 90,
+ 35,179,148,253,157, 49,227, 60, 65, 34,152, 36, 2,173, 37,163, 68, 81, 91,143,148,112, 48, 54,113,191, 45, 5, 10, 65,110, 52,
+ 58,213,200,129, 62, 55, 78,163, 32, 46,114,155, 21,125,231,168,182,150,117,211,177,222,118,212, 85,199,182,234,168,250,158,122,
+211,211, 11,207,189, 59,199,252,139,191,126,155,101,181,166, 76, 13, 82, 64, 19, 98,218,215, 40, 51, 84, 46,208,235, 64, 48,192,
+202, 69, 49,100, 42,163, 8,244,118, 27, 51,143, 39, 17, 88, 65, 42,224,221,138, 59,101,197,139, 87,174,112, 97,103,196, 36, 79,
+227,132, 32, 49,164, 70,162, 7, 26, 34, 34,196,188,119,249,196,109,232,217, 54, 29,171,166, 37, 49, 16,188,164,107,123,200, 83,
+244,197, 93, 46,124,239, 53,190,113,117,151,127,244,141, 27,220,187, 48,231,115, 41,233,203,148,139, 23,167,124,195,247,124,235,
+213, 67,174, 78,225, 38, 41,123, 99,205,181, 89,193,238,106,197, 79,110, 63, 70, 20, 35, 94,191,177,195, 27, 99, 77, 18,122, 14,
+131,229,110,232,184,103, 52,243,249,152,221,197,134,211,211, 37,201, 39,119,169,174, 92, 68,118,142, 63,255,171,183,249,248,143,
+127,136, 93,181,220,125,120,196,173, 7,247,249,224,103,239,115,243,237,119,184,113,225, 58,203,109,207,103,143,239,243,211,155,
+ 55, 41,109,199,165,249, 30, 19,163,113,137,198,104, 67, 90,102,116, 94,160,205, 96,121, 37,144,116, 53,127,184,173, 57,205, 39,
+ 60,144, 57,191,111, 5, 63, 72, 20,183,109,203,187,109,203, 81, 93, 49,174, 59,246,132, 98, 90, 24,102,227, 9,135,105, 70, 38,
+ 37, 69, 89,210, 7,197, 44, 79, 57, 24, 21,232,190,227,130, 16,248, 36,103,163, 50,152,149,132,211, 37,228,134, 16, 20, 1,133,
+ 23,150, 32, 19,188, 84,241,179,111,162, 0,108, 91, 19,132, 96,156, 37,236,149,154,203,133,225,165, 81,206,149,157, 25,175,205,
+114, 38, 46,176,168, 90, 94, 15,144,159,159,243,197,250, 28, 49,153,198,131,130, 50, 8,149,192,222, 30,228, 41,225,172,138,185,
+225, 10,188,139,200,226, 32, 69,108, 24,190,252,118,207,198, 48, 74, 56, 13,138, 60,151,180,109,143, 87,154,186,106,113, 74,209,
+247, 14,217,117,132,174,167,116,129,189,214, 33,109, 64, 90,199,194,134,104, 25,235, 45,251, 99,133, 73, 19,254,109,183,229,199,
+173,139,158,228, 22, 4, 81,161, 46,126,185, 75,127, 34,149, 25,108,159, 66,240,180, 91,127, 10,144,241, 50,110,251,250,158,202,
+121,110,182, 13,239,156,158,242,163,227, 51,206,214, 21,174,217,210,119, 61,133, 18,145,251, 32, 5, 86,104,172,209, 88,165,145,
+ 69, 70,151,165,104,147,146,100, 25, 34,196, 52,179, 92, 70, 63, 56,222, 51, 53,138, 84, 4,174,148, 35,198,202,112, 99,103,159,
+203,163, 9,151,203,140,189, 36,101,207,104,238, 12, 9,213,191,124,223,252, 21,223,187,247, 40,239,145, 90,199,209,177,181,113,
+179,107,237, 32,184,211,207,244, 7,246, 73,138,167, 4, 27,179, 38,188,235,241,189,197,225,113,193, 98,117, 66, 31,160,239, 28,
+189,209,116, 70,210, 41, 73, 43, 36, 45,208, 10, 65, 27, 2,173, 20,180, 66,208, 13,177,207,164,134, 38,209, 72,161,216,155,141,
+120,177, 76,121,109, 90,114,163, 24,113,161, 72,121, 62, 49, 92,202, 52,107, 2, 85,158,209, 11, 65, 72,211,232,212, 73,212, 83,
+203,119, 16,146, 96,163,125, 13, 9,175, 39,130,111,102,134,239, 22, 5, 19, 2,135, 70, 49,150,177,246,109,189,139, 1,166, 33,
+208,244, 49, 18, 90,133,192,219,155,154,182, 11, 8,173, 80, 34, 68, 87,145,144,131,240, 56,225,239,150, 25,111, 77, 71,188, 84,
+ 22, 92, 25,143,120,121, 50,198, 40,197,203,105,198,141,209,136, 61,205,111, 80,212, 97,216,207, 70, 66,154, 60,152,112, 48, 42,
+216, 47, 39,140,211, 49, 62, 8,198,249, 8,163, 83,138, 36, 35, 53, 38, 78,122,197,147,221,143,167,204, 83,150, 85, 3, 74,162,
+130, 68, 42, 65,161, 12, 33,120,118,202, 41,147, 84, 50,155,151, 72, 41, 40,210,140,124,148, 50, 77, 21, 35,163,112,189, 67,186,
+150,126, 93,209, 53, 91,164, 20,124,177,120,200, 7,247,143,105,123, 79,158, 40, 90, 47,152, 10,141, 16,129,174,139, 30,200,129,
+134, 2,205,102,200,132, 7,178, 44,238,209,211,129,150, 39,134,142, 29, 49, 16,226, 6,168,140, 28,188,238,189,143, 7,131,191,
+201,246,165,242,216,253,143,179,120,241,165,102, 40,174,122,200, 86,215,131, 95,125, 80,122,118,245,175,134,227,248,200, 5,120,
+ 48,116,232,151,141, 97, 19, 2,115, 21, 59,245, 38,196, 92,241,147, 65,184, 83, 9, 72,125, 96, 43,158,224, 94, 19,184,254, 18,
+ 47,191,249, 38,167, 42,135,147, 71,112,184,199,165,217,156,217,168,164, 15,208, 46,206,226,129,198,185,103,143,231, 43, 7, 16,
+191, 92,216, 7, 85,253,151, 62,126,252,103, 63,226,187, 63,248, 62,147,162, 96, 83,215, 40, 4,245,166, 97,178,183,131, 86,130,
+182,245, 4, 9,227, 60, 29,242,135, 21,137, 86, 76, 75,195,180, 72, 16, 42,210,232, 38,153, 33, 47, 12,121,166, 40,141,102,148,
+ 27,132, 20,180,189,101, 83,117,108, 58,203,102,221,178,218,182, 8, 5,171,243, 58, 90,221,240, 52,181, 37, 77, 12, 89,153,160,
+130,228,202,181, 61,250,147,115,238,172,215, 40, 4,153, 74, 81,210,179,238, 28,151, 71, 19,118,210, 52,102,237,120,112, 89,128,
+179, 97,194,177,147,194,238, 48,201,209,146,189,195, 49,227, 89,193,246,106, 66,213,195,190, 73,120,225,218, 5,102, 99, 67, 38,
+ 20,153, 20, 3, 82, 51, 12,111,228,104,163, 43,148, 33, 81, 10, 23, 60, 54,120,210,204,176, 62,107,216,214,142,157,111,223,224,
+218,215,175,177,127,105, 14, 58,190, 39,166, 77,197,159,254,228, 22,159,255,213,207,249,248, 47,223,225,248,222,154,247, 22, 21,
+ 63,215,130,203,227,140, 68, 38,164,101, 74, 97, 36, 63, 50, 41,226,234, 62, 85,106, 56,111,123,194, 78,193, 52, 75,152, 20, 25,
+ 63,157,143,153, 94,222, 99,190, 59, 69, 63,127,129,249,124,204, 97,154,226, 38, 99, 38,133,225,218,115, 87,249, 87,255,253,191,
+224,163,243, 5,159, 62,122,200, 71, 15,143, 17,244,124,243,213,215,249,237,239,191,206, 15,255,232, 79,248,131, 63,250,107,142,
+178,148,111, 93,188,200, 56, 53,145, 98, 38, 66, 28, 15, 6, 65, 39, 5, 93,239, 48,196,244, 67,213,215, 60,239, 27, 86,199,143,
+ 88, 59,139, 67,241,105, 91,243,133,150,116,206, 82,216,158, 73,223,179, 63, 74,217, 25, 79,152, 76,118, 33,201, 41,243, 9,169,
+201,152,236,237,144,142,199,120,149,112,189,200,185,161,224, 34,158, 68,104, 30,202, 4, 70, 41, 88, 75,240,142, 96, 99,148,101,
+ 72, 4,193,197,227, 58, 58,118,212, 96, 17, 30,236, 36,103,150, 39, 28, 22,134,215,198, 5,123,123, 23,201, 76, 70, 17,122,222,
+127,112, 70,102, 52,123, 2, 62, 87,146,190, 48, 72,169, 17, 89,142, 50, 41,255,236,183,222, 64, 36, 25, 31,105, 8,199, 43,130,
+239, 9, 82, 16,188,136, 30, 20,239,127, 33,214, 65,168, 4, 89,230,200,222, 51, 54,146,171, 69, 22,199,241,105, 74,225, 29, 59,
+ 62,112, 24, 2, 7, 65,114, 73, 66,230,224,170,150,132,222, 49, 21,158,199, 54,102,181,191,183,220,242,163,170,229,125, 7, 34,
+213,177,128, 21, 58,138,202,172,125, 86,216, 77, 20,147,137, 16,190, 52,118, 39,142,179,135, 80, 25,225,191, 4,120, 29,238, 43,
+193,199,199,238, 1,239, 29,143,183, 91,126,118,190, 38,177,142, 69,240, 44,130,227, 24,143, 51,134, 86,198,174,182,241, 30,153,
+ 36, 60, 82,154,218,195, 56, 77, 24,235, 40,236, 19,125, 75, 46, 21,173,107,185,144,100,228, 38,101,119,114,136, 81, 25,249,120,
+151, 66,231, 28,148, 25,187, 90,115, 37,207,240, 90,241,104, 48,109,135, 39, 22,105, 41, 17,169,137, 99,119,173, 80, 90, 33,141,
+ 65,105, 25,247,241, 66, 60, 45,246, 79, 70,242,226,233, 4,114,104, 58,188, 37,104, 25,101, 65, 82, 18,178, 2,143,198,151, 37,
+ 46, 79,112, 69,129,157,230,244,169,166,147,146, 62, 77,232,148,164, 11,146, 54, 81,116, 73, 74,151, 37,244, 66,208, 43,197,104,
+148,225,132, 97,103, 92, 48,202, 50, 94,152,140,248,157,189,107, 92,204,166,236,155,130,171,197, 52,122,219,149, 98,148, 72, 54,
+ 94, 96,211,140,198,187,120,157, 56, 23, 11,185,134, 50, 68, 66,120,231, 61,169,119,124,179, 72,121, 77, 43,130, 12, 40, 36,107,
+235, 40,140, 70, 15, 89, 23,181, 15,116,222, 13, 98, 76,207,113,219, 35,145,156,216, 88,240, 37, 10, 41, 37, 90, 40,166,163,156,
+255, 48, 79,249,222,222,152, 27,163, 17,211, 34,225,181,157,125,188,209,236, 23, 99,146,180, 32, 75, 50,114,165,127,195,162,254,
+164, 0,121, 79,152, 22, 60,183,183, 23, 71, 73,104, 82,173,209, 74, 99,135, 19,164,150, 42, 50,243, 7, 4,236,186,174,216,218,
+142,109, 31,103, 23,233,144,187, 29,132, 32,145, 2, 47, 3,123,163, 17,121,150,147,164, 9,229, 40, 65,248,192, 72, 75,186,243,
+ 6,183,173,161,105, 57, 95, 46,200, 36, 52, 77,195,166, 90,113,127,211, 48, 75, 19, 42,239, 81, 1,186, 68,211,122, 71,110,210,
+ 56, 49,239,186,161,168, 15, 88, 91,105,134,116,180, 33,192,123, 92, 60, 91, 11, 60, 41,240,114,128,210, 40, 13, 93, 59, 92, 68,
+253, 51,165,250, 87,137, 0,133,135,180,128,100, 16,225,101,201, 64,205, 35, 38,190, 37,195,247,237,186, 56,154,183,225,233,126,
+232, 87,242,218,137, 72, 88, 27, 28,115,109, 56,119,158,141, 16, 20, 64, 13,172, 0, 25, 2, 33, 4,214, 18,148,144,244, 2,216,
+ 63,228,191,254,251, 63,224,239,255,206, 55,248,222,107,111,240,231,103, 27, 66,219,242,226,229,171, 92,158, 95,160,245, 13,139,
+135, 71, 67, 92,236,128,173,125,178,143,215, 67, 13,215, 95,174,229,254, 23, 59,117, 63, 28,236,190,244,241,246,241, 25,223,120,
+233, 5,202,113,198,122, 93,211,213, 45,213,102,205,106,177, 6, 33,169,155,158,170,119, 88, 11,163,210,196,236,100,163, 49,198,
+ 32,181,198, 72,133, 8,106,176,133,121, 26,231, 88,183,150, 77,107,169,234,158,186,141, 2,146,174,181,209, 74,102, 61, 42,149,
+184, 62, 16,108, 76, 24, 83, 82, 81,164, 9,227, 34, 97,148, 27, 94,122,245, 6,219,163, 13,125,223,113,107,121,142,237, 29,199,
+203, 45, 15,183, 21, 82, 10, 30, 85, 13,253,186, 97,200,187, 4, 35, 72, 15,114,174, 29, 78,152, 21,138, 67,142, 0, 0, 32, 0,
+ 73, 68, 65, 84, 31,150,236, 79, 11,140,132,157, 60,231,165,157, 67,190,123,237, 37, 70,249,132, 44,215, 92,156, 23, 4,225, 81,
+ 33, 80,119,150,213,182,167,243, 30, 45, 96,150, 27, 46, 79, 51,118,139,132, 84,203, 33, 69, 44,161, 40, 19,150, 77,199,213,231,
+ 15, 57, 62,223,242,240,223,221,225,214,159,191,207, 31,254,240,207,249,231,255,247, 95,241, 71,255,211, 79,121,255,147, 47,248,
+232,100, 65,187, 61,162, 93, 45,248,235, 31,255,140, 31,253,228, 61,118, 95,121,147, 99,165, 88,164,154,147, 91, 71,124,240,255,
+252, 25,205,186,230,209,221, 71,144,100,236, 94,156,177,127, 80,240,199,143,106, 92, 22, 35, 84,123,239, 49,206,161,246,103,232,
+193, 50,179, 62,171,249, 81,117,151,160, 20,173,209,124,251,210,132,215,111,188,194,119,222,250, 58,231,219, 13,255,195, 95,188,
+141,223,223, 33,228, 57, 50, 40, 46, 22, 41,120, 71,237, 2, 5,130, 7,231,167,156,110, 27, 84,232,105,186, 22, 25, 28,216,150,
+ 18,205,101, 9,163,234,140,251,206,242,184,119,220, 10,146, 92,198,110,233, 85, 35,249,123, 7,151, 25,151, 51, 72,115,102,211,
+ 25,203,196,224,141,198,148, 35,188,210,140,178, 20,227, 35,192, 72, 43,208, 72,166, 74,115,150, 20,136,114,132,175, 55,241,144,
+140, 32,108,155, 56,114, 14, 1,130,138, 17,201, 62,110,192, 93,112,228,211, 17,137, 18, 92, 20,129,185, 4,223,119,124,246,197,
+ 99,254,223,247, 79,152, 20, 10, 45, 5,255,237,215,223,224, 13, 2, 47,159, 31,113,124,112,133,255,238,197, 75,124,239,219, 47,
+241, 82, 81,242,197,217,154, 59, 71,199,248,229, 54,202, 78,132,199,247,207,220, 33, 79,174,254, 39, 52, 55,105, 61,109,237, 57,
+176,142, 73,170, 56, 72, 19, 46, 5,197,190,148,209,175, 46, 5,161,243, 92, 78, 13,157,130, 44, 77, 17,157,229,139, 44, 39,232,
+ 12, 89, 85,216,222, 34,108,204, 24, 16,105,130, 20, 32, 50,131,108,101,180,146, 89,144, 34,196,174,245, 73,183, 62, 20,115, 49,
+ 88, 85,159,250,188,127,137,215, 30,158, 82,255, 52, 46,254,111, 56, 9,159, 52,150,159,214, 53,183,132,228, 76, 72,154, 68, 18,
+164,160,149,154, 38, 73,249,184,169, 57,114,158, 50, 77,201, 16,104,231, 49,193,227,250,150,190,175,208, 4,198, 58,229, 96,122,
+137,164,152,147, 77, 14,209,217,132, 68, 23,104, 85, 48, 74, 83,114, 25,176,137, 36, 45, 18,250,178,164, 10, 10,100,202,116,154,
+209,146, 96,138, 34, 90,152,103, 83, 52,154,201,206, 4, 47, 18,246,230, 99, 58,157,163, 70,211,136,253, 72,199, 8, 51, 4,129,
+ 25,160,200, 65,103,132, 44, 33,148, 35,194,116, 70,152,141, 9, 23, 15,152,204, 39,136, 34, 71,229, 41,110, 84,210,102, 57, 86,
+107,250,124, 68, 95,148,116, 73, 66,159, 23,244, 73, 14, 38,101, 60,158, 49,205,243,120,200, 28,141, 24,229, 83,110,236,204,121,
+181,220, 99, 87,103, 28,100, 5, 19,101,200, 84,130, 0,234, 16,187,231,181, 12,220,105,162,246, 34, 12,247, 98, 37, 5,116,150,
+ 61,169,227, 33,223,122,174, 26,216,241,158,107,153, 38, 21,160,137,133, 93, 6,168,137, 49,212, 50, 8, 30,247,150,142,168, 41,
+ 90,224,185,211,247,180, 94, 34,117, 64, 50,116,233,198,240, 15,166, 25,223,223, 25,147, 37,154, 75,101,198, 52,207, 9, 2, 70,
+163, 29,116, 86, 98,178, 49, 82, 39,236, 77,102,191, 97, 81, 31,144,127,136, 4,150, 21,199,169,225,185,221, 61,188, 15,164, 73,
+142, 36,112,190,222,146,153, 4, 31, 60, 18,168,187,134,109,215,224, 67, 96,209,212, 32, 60,174,247,244, 77, 71, 63,228,210, 86,
+ 3,102,212, 9,197,245,221, 41, 69,153,162,131,163,175, 26, 66,223, 96,143, 55,172,207,207, 89, 86, 43, 74, 36,167,182, 5,219,
+ 80, 87, 53,181, 13,212, 66,224,172, 69, 26,131, 71,160, 6, 81, 90,245, 36,146,117,181, 29, 80,170, 79,246,250, 14, 76, 10,179,
+114,200,251, 13,177,224, 38,146,194, 24,250, 16, 67, 85,250,224,227,223, 75,224,100,245, 12, 55,251,203,133,216,251, 33,212, 37,
+141,144,246,100,240,185,167,195,225,225,201, 76,150, 65, 60,183,173,227,191, 7,251,213, 48, 26, 33, 56, 7, 14,181, 98,229, 29,
+ 86, 4, 10,169, 88, 56, 79, 39, 5, 91,215,145, 41, 67, 67,192,136,136,120,172, 58, 5, 23,198,252,147,127,240, 59,140,178,130,
+113,105, 56, 59,237, 41,199, 37,191,251,189,239,243,234, 75,135,140,165,226,157, 15, 62,136, 35,120,223, 15, 62,209, 65, 45,111,
+109,124,156,246, 75,190, 20, 63, 16,246,212, 19,225,160,248, 21,199,169,187,255,152,227, 80,243,252,181,171,140,198, 25,213,182,
+102,189, 58,199, 89,203,226,232,152,114, 50, 99,113,180,164,235, 3,143,207, 43,156, 84,209,154, 38,163,154,188,183,241,162,109,
+122, 71,213, 89,186,222, 71,208,140,136,129, 42,125, 23,255, 44, 85, 28,223, 11, 41, 81, 66, 70, 76,112, 18,133,132,206,121,172,
+ 8,120, 27, 56, 59,175, 25, 21,154,114, 52,230,230,157,187,124,124,255, 12, 43, 61, 87,230, 19,206,207,106, 42,233,217, 43, 12,
+ 86, 43,156, 13,144,107,152,100, 76,203,148,121,106,216, 73,115, 70,105, 78,153,102,104, 17, 29, 24,227,209,140, 36, 41, 88,157,
+ 55,236, 29,230, 20,169,166,178,142,214, 5,214,141,197, 57, 75, 38, 4,243,194, 48,203, 52,153, 86,116,214,209,244, 30,169, 37,
+222, 7,150,171,138,147,187,231, 60,120,255, 38, 15, 63,253,148,197,250, 12,156,229,235,175,191,194,254,171, 25,159,157, 44,162,
+135, 54, 83, 60,191, 59, 6,224,222,201,150, 63,253,232, 35,178,215,191,142, 74, 21,221,182,225,237,255,237, 15,120,240,224, 14,
+ 15,190,184,199,163,163,199,236, 95,185,140, 29,101,248, 47,238,242,127,252,203, 31,178, 56,110,233,122,168,148, 98,161, 5,251,
+ 72,234,222, 33, 47, 77,248,247,127,240, 61,254,189,255,248,183,121,235,173,111,240,131,139, 87,185,171, 39, 28,125,248,115,254,
+244,131,207, 57,214,138,214, 7,130, 82,212, 68,160,206,197, 44, 33, 39,176, 94,173, 88,172, 23,116,237, 26,108,135, 20, 80,109,
+150,140,178, 17,179,201, 46, 23,139, 25, 55, 38,123, 60,167, 28,157, 80,156,214, 53,243,209,132, 81, 94,240, 79,118,247,121,225,
+240, 2,153, 73,176,105,129, 79, 18, 86, 89, 70, 87,148, 88, 99, 40,115, 51, 76,112, 12, 99, 35, 41,133, 36, 81,158, 44, 81, 36,
+102, 12,197,136,229,100, 10,213, 34, 30,146,141,132,109, 3, 73, 70,112,245,112,232,126, 6,198, 58,239, 90,238, 8,131, 21,146,
+227,147, 37, 71, 39, 43,254,232,139, 5,127,178,108,216,109, 45, 59, 66,208, 28,157, 48,109,107, 46, 4,201,155,205,130,242,120,
+193,230,243, 71,252,228,189,119,121,240,248, 46,155,198,178,233, 33,116,158,176,117,132, 85,207, 19,127,169,208,209,154, 37,123,
+141, 68, 32,203,146,209,225, 14,106, 54, 98,111, 58, 34,241,129,203, 4,114, 23,200,165, 34, 13,158, 84, 27,122,239, 9, 82,146,
+ 88, 79,146, 38,140,172,231,174,245,200,209, 8, 89, 53,113, 52,223,244,168, 68, 33,147, 4, 25, 52, 50, 85,200, 36, 71,160,227,
+ 40, 90, 12,120, 16,231,159, 65, 93,134,110, 93,252,210, 61,233, 87,139,186,140,137,103, 90,225,180,196, 5,112,194,115,190,108,
+248,162, 15, 28, 97,217,104,184,217, 87, 28,185,142, 19,109,232,156,165,212,134,194, 58,186,182,163,111, 43,182, 93,141,243,113,
+ 20,126,169,152, 80,230,115,178,201, 46, 58,203, 80, 38, 31,250, 18,133, 80, 26,215,111,163,115, 33, 85,204,138,148,157,210, 48,
+205, 52,179, 34,101,119,158,179,208,134, 23,230, 37,123,153,226,187,251, 51, 94,204, 50,190,115, 56,231, 98, 89,240,214,165, 61,
+ 94,223, 41,121, 99,127,135, 11,147,168,103, 57,151, 9, 54,207, 98,198,249,116, 68, 24,151, 48, 41, 32, 47, 9,179, 17,255,249,
+225, 62, 95, 27, 79,248,209,239,255, 27, 92,170,249,135, 47,191,202,231,206, 82, 37, 25, 78, 42,172, 49,184,124,140, 72,114,118,
+ 76,202, 44, 43,153,167, 25,227,180,160,212, 9,121,154,147,231,134,125,157,113, 61, 45,153, 61,109, 84, 29,141,119,148, 58, 69,
+ 73,201, 73, 87, 83, 7, 71, 23,224,220,197, 41, 93,112, 81, 37,176, 47, 5, 91,231,226,161,211,122,174,164,146,151,181,100,162,
+ 53, 77,231, 80, 18,180, 16,180,222, 51, 23,113, 81,124,106,123,142,156,167, 7,206,122,135,211,134, 5,129,166,143,150, 64, 53,
+ 76, 51,190, 63, 75,121, 37, 79,184,150,231,100, 90, 49, 75, 51,210,164, 32,207, 71,244, 82, 67, 26, 83, 67, 71,249,136,206,100,
+191, 97, 81, 79, 74,200, 39, 48, 25, 67, 94,224,140,102,213,117,148, 73,194,209,118, 27,177,126, 74,209,217, 14, 27, 58, 92,112,
+ 4, 33, 88,247, 91,206,170,138, 85,223,209,109,122, 88, 14,163,231,222, 15, 10, 87, 79,221,118, 60,222, 86,164,210, 97,108,199,
+227, 71,143, 25,245, 91,206,110,222,226,248,225, 61,170,237,134,164,107,233, 19, 77,127,126, 66,221,247,116, 85,135, 48,138,179,
+222,211, 43,205,198, 7,186, 1,212,223, 9, 73,174,117, 4,104, 56,192,110, 33,203, 99,202, 28, 33,142,170,181,138,167,190, 52,
+254,176,140, 16, 52, 46, 48, 49,154, 78, 4,114, 33, 99,252,251,166,141, 29, 93, 87, 71, 77,192,175, 43,236,195, 69, 77,145, 70,
+ 98, 93,211, 61,227,220, 19, 24,178, 4, 97, 84,192,114, 29, 59,245,175,234,252, 7,117,206,227, 16,168,165,100, 44, 20,139, 39,
+240,194, 16,152,232,132, 51,107, 73,129,199,192,152,192,170, 11,160, 53,175,223,184,194,206,180,228,147, 91, 11,126,252,225,135,
+124,253,133, 55,249,238,215, 46, 51,202, 51, 28, 29,127,246,215, 31,196,239,221, 91,144,238, 89,138,222,151, 11,186,181,177,160,
+155, 47, 57, 29,158, 78, 50, 6,203,158, 29, 14, 76,244, 44, 62,189,203, 66, 90, 94,126,233,121,102,187, 99, 64, 99,109, 79,221,
+108,184,119,255, 30, 88,135,109, 61,203,229,150,243, 85,195,233,121,195,218,122,172,141,190, 89,231,163,195,194,135,128,145,177,
+ 8, 10,169,201,180,196,203,216,157, 40, 35, 16, 66, 34,165, 36,205, 53,133,137,130,196,182,237,233,157,195, 59,135,240,129, 64,
+ 32, 47, 82,138, 60,165,171, 60,125,191, 98, 99, 61, 7, 69,201,238, 36, 99, 55,207,152,100, 5,175,236, 31,242,218,213, 43,188,
+121,237, 26,175, 93,188,204, 97, 57, 66, 4, 79,166, 19, 38,217,148,131,209, 62,179,241, 30, 69, 54,102,182, 51, 39, 73, 36,105,
+154,113,176, 59, 97,111,162, 88,111, 45, 39,171,150,186,235,169, 91, 75,221, 91,172,139, 0,139,101,221,115, 92,117, 3, 9,174,
+103,185,109,208, 82,112,113, 86,240,209,199,183,233,250,142, 16, 4, 35,109,184,183, 60, 33, 79, 51, 14, 14, 71, 60,114, 29,155,
+ 91, 43, 62,187,189,224,161,119,120, 35,232,110,159,209,126,251,155, 92, 26,101,236, 28,140, 56,249,236, 19,148,239, 57,216, 27,
+ 65, 87,113,231,193, 49,207,141,103,188, 46, 60,147, 44,229, 95,253,243, 31,242,243,191,124,155,183, 63,250, 16,125, 86, 99,179,
+ 25,166,245,140,171,134, 31,254,233, 59,236, 23,134,145,150, 20,179, 17,238,227, 79,241, 67,222, 64,109, 3,199,206,226, 69, 64,
+170, 56,169, 58,175, 26, 90, 91,113,220,108, 57,107, 43,130,119,232, 32,144,193, 33,138, 49,105,146,241,234,124,143,121, 81, 34,
+ 19, 67, 62,158,115, 56, 46,185, 50,157,242, 87, 31,188,199,215, 14, 46, 51, 25,229, 92, 48, 57,107,161,168, 68, 32, 76,198, 52,
+243, 49,173, 16, 84, 38, 35,205, 13, 65, 41, 14,159, 16, 32, 59, 75,131, 64,107,195, 74, 40,242,217,156,231,167,187,124, 97, 74,
+168,150,132, 60,137,211,182,103,180,249,248, 62,214,106, 0,154, 88,108, 23,184,237, 61, 39,157,227,167, 85,199, 23,210,115, 41,
+ 79,184,150,104,174,171,136,236,157, 27,141, 14,150,169,131,169,183,204, 17,220,208, 57, 47,107,133, 10,150,119,122, 31,133, 84,
+101, 70,152,150,188,240,252, 14,103, 58,143,108,141, 81,142, 24,101,177, 32,239,207,201,247,118,184,182,127,153,217,236,128,249,
+116,159, 92,107, 70,193,146,185,192, 54, 56,140,146, 36, 73, 74, 34, 6,199,128,128,233,222,140,217,188,228, 40,205, 81, 23,247,
+163,202,185,239, 81,235, 10, 57, 88, 48,149, 78, 80,169, 70,149, 41, 50,201, 72, 38, 99,176, 49, 66, 86,120,135,124, 50,138, 15,
+ 1,225, 37,226, 75,147,181,240, 43,133, 93,226,181,138, 68,104,173,113, 42, 90,245,172,244,184,174,230,188,246,124,190,173,169,
+145,156, 40, 88,245, 14,163, 18,232, 43,166, 72, 82,235, 88, 85, 11,100,176, 84,206,145, 4,199,133,108, 74, 49,222,197, 36, 57,
+114,176, 31,203,201, 24,130, 36,244, 29, 65, 6, 26,122, 58,165,176, 18,210, 36,193, 72, 73,145, 37, 36, 70,147,103,134,151,139,
+140,239,141, 74, 94,204, 83,158,159, 76, 25, 39, 57,175, 76,103, 76, 76,193,149,162,228, 32,205,153, 37, 9, 23, 70, 57, 23,114,
+ 77,154,105,202, 82, 51,202,114,108,150,209, 25, 67, 57, 46,248,135,243, 25,223,158, 28,242,252,104,135, 71,191,243, 22,255,205,
+243, 47,243, 63,102, 19,190, 31,122,110, 11, 73,167, 13, 33,201, 73,116,202, 78,146, 48,214,154, 50, 81,200, 32, 73,132, 32, 49,
+ 5, 82, 72,118, 76,202,142, 50,236, 73,197, 60, 43,105,251, 14,109, 18, 76,136,218,171, 46, 56,106,239,121,228, 90,142,154,158,
+ 42, 68, 59, 93,240,158,113, 8,180, 34,218, 16, 19, 1, 29,130, 66, 6, 14, 6,235,116, 98, 20, 59, 34,174, 24, 82, 25, 27,151,
+202, 7, 62,235, 45, 39,222,179,176,150, 45,130,181,119,116, 38,234,127,100, 26,119,252,215,199,138,151,115,205,243,121,138, 20,
+130, 81,154,160,164, 38, 49, 41, 38, 77,192, 36,104, 19,139,122, 35, 98,224,213,223, 94,212,181,142,214,180,217,124, 16, 97, 9,
+ 16,138,106,213,112,127,185,166,182,209, 7,152, 36,154,117, 91,177,109,107,182,237,154,117,191,102,177,173, 56,174, 42,186,227,
+ 13,156,157,199, 98, 94, 85, 81,141, 93,213,136,237, 54,170, 89,235,134,187, 15, 79,120,239,227,219,124,120,255, 17,243,163, 99,
+214,143,207,201, 60,200,161,227, 95, 29, 47,208,206, 81,183, 61, 8,168, 2, 60,106, 44, 91, 17,208, 8, 66,162,249, 79,190,241,
+ 61,238,159, 60,196,250,128,147,192,182,130,218, 66, 91, 71, 65,156, 28, 40,115, 58, 5, 99, 40,202,148,174,235,201,211, 20, 45,
+161,114,118,160,155,129,237,226,206,132,109, 29, 11,221,223, 52,134, 71,193,116, 52,236,238,135, 81,126,154, 12,150, 64, 61, 20,
+ 66, 11, 65, 32,148, 66, 84, 27, 68,111, 17, 95, 65, 92,122, 34,116,235,172, 98,173, 2, 90, 68, 14,242,121, 8,232, 16, 34,164,
+ 14, 34, 54, 83, 39,116,218,209,183, 29,231,139, 19,126,244,233, 61,254,221,237,207,185,125,255, 24,161, 36,207,221,184,206,106,
+185,225,230,199, 15,120,239,131, 79,160,170, 65,182,241,249,200, 47, 89,225,244, 19, 33,202, 64,201, 99,176,121,241, 37, 74,223,
+147, 36, 58, 63,168, 86, 92,124,218, 39,159,220, 65,151, 25,207,189,248, 28, 89,145, 34,101, 66, 94,142, 25,143,198, 24,173, 57,
+ 95,157,147,153,148,221,249, 4, 43, 3,182,237, 89,174, 42, 64,144,164, 26, 57,236,168,227,168, 73,160,181,192, 40, 73,145,106,
+ 18, 19,137,116,153, 49, 24, 19,109,113, 10,129, 35,142, 44,181,150, 24, 36,163,113, 74,150, 27,250,214,211,244,129,157,249,156,
+ 36, 24,246, 77,201, 40,201,216, 29,237,112,101,231, 50,251,179, 3, 82, 41,201,211,130,188, 40,200,211, 17,163, 98, 66,130, 97,
+ 50,218,225,240,224, 34, 87,175, 95,226,107,111,220,224,107, 47, 95,225,205, 23, 15,249,250, 75, 23,153,239, 77, 16,202, 48,201,
+ 60, 77,107, 99,247, 69,244,172, 55, 85, 79,135,199, 9, 65,229, 28,221, 32,124,169,186,136,225, 61,152, 22,188,114,121,206,195,
+227, 45,119, 31, 61,102,103,186, 67, 49, 26,209,185,142,207,142,143,104,123,203, 56, 55,164,179,148,116, 47, 35,201, 36,223,184,
+178,207,115,215,230,220,122,251,109,158,251,238,183, 40,115, 77, 62,158,115,247,157,247,200,140, 36,207, 82,150,103, 43,116, 83,
+225,102,187, 92,254,254,107,140,115,205,135,239,223,102,188,109, 41, 55,231,188,240,234,235, 28, 26,193, 97,154,240,205,221, 61,
+206, 22, 13,237,195,115,206,190,120, 72, 21, 28,202, 5,250,222, 18, 46, 93,229, 19, 39, 8,213,150,107, 73,202, 89,189, 65,119,
+ 53,139,106,195,162,238, 57,204, 52,243,124,196, 56, 47,240,166,160,204, 10,174,150, 35,174,152,148, 34,207, 88,151, 41, 91,239,
+ 41,138, 18, 35, 53, 95,191,246, 28, 82,193,121, 8,164,147, 9, 15,157,195,141, 74,150,169,230,204,104,164,150, 56,161,232,144,
+236, 22, 6,225, 97, 44, 5, 53, 49,102,119,225, 61,169, 76,121,253, 96,204,127,121,117,204,126, 49,229,199,157, 64,108, 22,113,
+181,149,165,241,194,211, 89,196, 52, 59, 16,122, 0, 48,185, 14,183,109, 57, 9,158,115,225,153, 11,201,141, 76,113, 45, 53, 28,
+ 26, 69,153,106,180, 81,140,147, 4, 58,203,193,100,196,100,186, 79,158, 23,228, 74,147, 25,205, 50,133, 59,121,130, 43, 82, 94,
+187, 52, 38,207, 12,201,200,176,108, 3,210,129,148, 9, 98, 90,240,143, 47,206,248,230,206, 46, 59,211,125, 70,229,136,185, 78,
+ 64,101,236,248,232,165,158,100, 25,173,139, 97, 71, 94, 66,162, 20,179, 23, 94, 35,187,244, 18,187, 47,190,201,213,107, 55,184,
+180,179,207,165,253, 67,100,230,216, 10,129, 92,108, 80,117,143,202, 13, 42, 77, 81,227,130, 23, 15,246,249,123, 55, 46,243,234,
+193,152,135, 94, 96,183,219,193,227, 29, 6,133,248, 87, 11, 93,159, 29,125,124,100, 60, 40,249,180,160, 63,241,222, 59, 15,206,
+117,184,117,199,106,189,230,180,182, 28, 47,215,156,250,154,188,173,144,109, 5, 93,133,113, 29,171,170,198,225, 24, 11,201,229,
+209, 46, 70, 36, 36, 73,142, 42, 75, 40,226, 90,209, 91, 75,111, 59, 58,223, 83, 7,203, 90,120,250, 97,122, 58,206, 18,114,163,
+104,133,228,235,101,201, 85,165,249,198,120,202, 72, 38, 76,147,132,189,108, 66, 80,154,195,108, 76,105, 10, 70,218,112, 49, 31,
+ 35,131,103, 47, 43, 41, 18,205,200, 24,178, 84, 51, 79,227, 8,250,141,188,224,149,209, 14, 55,202, 57, 66, 74,190, 99,226,234,
+243, 37,223,225, 85,164,105, 30,251,152,126, 55, 1, 74,157, 70,235,157,212, 24,161,208, 42, 1, 17,200,211, 20, 27,122, 46,153,
+ 52,254, 28,131,167, 24,210, 73, 91,231, 72,141,102,221,183, 44,250,150, 19, 34, 6,246, 92,128,117, 14,233, 3,162,181,140,156,
+163, 31, 68,205,137, 8,172, 16,236, 9,207,133, 68,115,160, 20,189,119, 44,109, 28,213,111, 61, 28,133,192,167,189,163, 3, 90,
+ 1, 94, 10, 86, 74,178,237, 37,157,209, 8,165,216, 77, 52,215,114,195,235,121, 74,130,192, 11,193, 78,154,129,214,148, 89, 74,
+167, 12,163,108, 66, 67,192, 10, 65,171, 20, 45,242,111, 43,234, 26,242, 18,230,243, 65,232, 37, 98, 39,234,135, 96, 22,231,105,
+125,207,178,179,100, 26,186,224,144, 74,177,172, 42,142,235,154,199,143,150,184,199, 3,198,117,187,133,122, 27, 59,102,219,197,
+ 95,251, 54, 50,144,235, 77, 76,105,170, 54,132,186,102,234, 36, 47, 29,236,176,236, 59,164,209,116, 3, 19,183,147, 18,229, 60,
+107, 33,216, 75, 18,238,160, 56,173,106,132,144, 96, 61,159, 31, 61,196, 5, 31,187,246,174,141, 20, 55,250, 72,192, 99,232, 66,
+251,161,163, 30,231,244,141,101, 84,150,108,218, 22, 51,248, 64,219,206, 34,108,244, 75,211,181,195,213,223,199,199,236,134,240,
+151, 95, 46,236,154,232,209, 87,102,240,245, 63, 17,176, 13,100, 62, 37,163, 16,166,107,227,191,119, 62, 42,235,127, 73, 21,250,
+180,168,135, 0,210, 83,106, 77, 39, 33, 23, 34, 54, 51, 65, 48,214,154, 62,120, 52,130, 99,239,216, 19,134, 76, 56, 30, 45, 55,
+ 60,120,184,102,217, 68, 15,250,241,221,251,124,186, 88,114,235,254, 57, 63,124,231,231,112,239,193,240,216,186, 65,252, 38,191,
+ 4,191,249, 50,227,241, 75, 93,250,147,130,254, 36,208,135,129, 91,224, 35, 24,230, 73, 0,243,237,143, 62, 37, 45,115, 94,126,
+237, 69,164, 22, 84, 85,220,177, 23,163, 17,222,247, 52, 93, 77, 62,158, 34,125,236,198, 43,219,209,214, 61, 89, 97,168, 90,135,
+181,129,118,128, 5,101, 70, 12,137,107,146,204, 68,174,123,162,163,167, 61, 75, 35, 36,168, 72, 12,137,145, 20,153, 97, 50, 74,
+217,153,229,236,143,114,116,102, 72, 83,205,238,180,100, 50,157,144,148, 99,164, 77, 41,179, 73, 60,104,204, 38,104,149, 82,148,
+ 37,229,100,130,239, 28,163, 73,201,165, 43,151,120,225,185,171,188,244,194, 33,175, 94,155,113,125,191,228,112,148,178,172, 60,
+ 39,149, 37, 83,129,159,124,252, 41, 31,125,122,139, 11,135,115,186, 16,109, 74, 1,232,156,197, 89,199,170,238, 56, 91,214, 44,
+ 87, 53,155,117,195,114, 81,177,218, 52,224, 3, 51,173, 57, 93,183,172,214, 13,203,245, 25,206, 58,164,210,104, 17,184,119,182,
+161,183,158,113,110,112,206,243,112,213,209,245, 45,207, 31, 92,224,130,134,254,249,151, 40,210,132,189, 11,115,254,206,223,125,
+139,127,253, 71,127,129,198,146,164,138, 59,103, 43,108, 82, 50,187, 48,231,229,215,111,144, 9,207,189,229,130, 43,187, 5,147,
+170,230,181, 23,110,160,100,244,212,103, 70,113, 84,181,244,125,141,245,129,102,179,193,246, 45,119, 31, 63,224,139,119, 63, 34,
+236,205,249,189,107, 47,242,163,197, 9,250,236, 20,223, 91,174,204,199,204,243, 49,187,229, 4,159, 21,140,138,146, 81,146,112,
+209, 7, 14,147,132, 10,207, 23, 65, 18,140,166,114, 1,202,156, 44, 79,163,151,118, 50, 97, 45, 5, 39,227,156, 83,239, 57,107,
+ 29,105,158,208, 33,216,108, 58, 92, 31,181, 19,107,101,184,231, 2, 43,157,176,242,154, 66, 27,124,219,241,143, 47,141,184,190,
+ 63,166,212,112,115,107,216, 14,221,210, 75,218,177, 40, 75, 84, 97, 8,153,161, 40,115,108, 63,192,150,140,140,141, 67,223, 16,
+218,134,149,183, 8, 23,152, 75, 73, 39, 60, 34, 79, 40,166, 41,218, 24, 18,173, 24, 21, 69,212,120, 36, 57,141,117, 44,148,100,
+101, 18,198, 38,176, 78, 52, 70, 74,178, 84,115, 94, 91, 54,181, 5, 37,249, 71, 23, 10,254,233,197, 57,191, 59,223,225,107,229,
+156,153,210,156,166, 57,157, 16, 92, 8,129, 52,120,114,111, 89,119, 29,101,145,177,117,142,253,162,160, 30,205,209, 7,215,217,
+185,124,133,253,113,206, 94, 86, 32,146,168, 50,223,223,217,231,242,100,204,168,148, 44, 87, 21,186,181,232, 50,198,170,254,222,
+245, 23,248,173,253, 75, 76,138, 57,171,212,113,212, 6,100,211, 33, 91, 79,220,172, 63, 41,236, 79, 70,111,191,104,193,123, 86,
+216, 45,222,232,167,183, 51,175, 98,172,177, 87, 34,170,253,113,132,243, 53,225,248,132,118,181,229,222,189, 5,247,206,150,152,
+174, 70, 88,139,235, 58,148,247,140,145, 28,152,132, 60, 31,163,179, 18, 97, 36, 66, 39,248,182, 39,216, 46,194,110,250, 45, 15,
+251, 13, 27,192, 72, 65, 47, 20,185,140,174,158, 23,178, 28, 21, 60, 95,203, 70, 84,222,179,151,143,208, 58,197,152,132, 84,103,
+ 72, 19, 15,241,133,206,232,125,199, 44, 25, 97, 67, 20,252,153, 36,165, 39,144,106, 69, 34, 4, 87,139, 9,215,210, 18, 7, 8,
+101,112,193,161,148, 96,150,166, 44,173,101, 65,207,137,139,148,186,204, 40,100,240,104,169,209, 33,234, 94, 52, 2,149,168, 56,
+169, 19, 10,239, 45,123, 58, 37,115, 49,181, 45,174, 81, 4,125,223,113,220,213, 60,234, 59,142,125,207,178,110,169,188,163,222,
+ 84,120,231, 72,136,233,141,115, 37, 41, 8, 44, 3, 36, 14,238,123,193,124,144,250, 87, 66, 48, 29,178, 46,238, 5,207,207, 26,
+203,137,136,119,227,141,128, 70, 8, 86, 8,182, 14,102, 25, 36, 8,156,150,124,215, 40,114, 21, 72,165, 34,151, 10, 37, 97,100,
+ 12, 94,106, 50,157, 18,148,198, 73,195, 86, 42, 92, 16,212,206,253,109, 69,221, 67, 49,137,197, 41, 75,145,105, 74,158,153,184,
+115,126,194,126,223,214,224, 61,139,147, 21,167,189,231,164,173, 88,220, 63,166, 62, 90,195,253,251, 49,106,175,105,127, 45,113,
+ 78,124,197, 8,122,108, 20, 78, 25,198,121,202,102,216, 73, 97, 20,161,237,177, 70, 83, 40,205,143,219, 22, 41, 29,141, 84, 52,
+125, 28,127, 58, 31,227, 63,159,250,192, 87,213,160, 54, 31, 32, 51,142, 24,161,234, 93, 76, 72,155, 79,232,186, 14,169, 4, 14,
+137, 36,224,196,192, 77,223,110, 99,145, 14,196, 68,165, 39,187,102,220,175, 22,117, 33,162, 32, 47, 49, 81, 5,255, 36,110,240,
+ 75, 4,168,104,155, 27,168,119, 74, 12,135, 26,251,171,150,143,167,248,215,104,191, 16, 66,209,136, 64, 75,160, 28,138,236,142,
+138,202, 78,124,160, 35, 48, 21, 9,210, 58, 54,161, 39,172,182,209,166,101, 27, 86,189,229,168, 90,194,249, 42, 30,168,156, 69,
+ 72,251,139,223,199,126,169,176,243,165, 46,253, 73, 97, 87, 67, 65,127, 26, 43,203, 51, 55,192, 19,201,128,132,207,222,255,152,
+253, 75, 23,185,252,220, 37,130,144,241,166, 93,109, 98,206,177,119,156, 30, 69,246,248,225,165,125,210,196, 32,165, 98,127,146,
+179,173, 45,219,206, 98, 18, 29,173, 98,131,242, 88,105, 25,119,234,131, 30, 40, 51, 10, 41,100, 28, 83,132, 24, 96, 49, 42, 82,
+178, 52, 33,211,138,162,212,164, 3,163,160, 72, 37, 89, 98, 40,138, 4,167, 3,206, 90,140, 82,228,217,152,209,180, 36,201, 12,
+ 74,105,188,179,204,103, 35, 46, 94,153,114,105,167,224,202, 44, 35, 79, 52,141,245,124,113,222,242,120,189,225,232,248, 17,111,
+191,251, 14,159,223,249,152,119,111,221,230,133, 27,215,153,143, 51,188,139, 81,172, 77,211, 83, 55, 29, 77,213,179, 89, 54, 52,
+155,134,237,186,162,173,163,117,241,112, 82,208,184,192, 23,199,231,204,247,247, 64, 26,206, 54, 75,214,237,134, 68, 27,146, 52,
+208, 59,143, 11, 1,105, 36,153,150,172, 58,203,221,229, 25,214, 89,142, 63,187,197,139,223,120,157, 43, 70, 49,145,138,249,213,
+ 43,172, 62,191,137,147, 49, 69,110,181, 56,229,185,195,203,204,118, 70, 92,127,245, 6,133, 72,120,251,147,155, 76, 83,193,119,
+ 94,123, 61,142, 97,133,224,104,211,114,210,247,156,110, 54,252,235,144,113,195, 85, 60, 88,157,241,227,179, 83,154, 71,167,240,
+224, 1,223,159,103,124,162, 10, 30, 39,154,229,135, 15,120,245,234, 30, 89, 94,146,103, 5,118,160, 96,181, 82,145, 9, 65,112,
+158, 62,201,184,217,244,164,211,130,109, 27,185, 1, 73,162,152,206, 74,156, 13, 44,156,228,124,219,114,182,110,232,170,138,243,
+243, 45,235, 85, 67,150, 72,232, 58, 10, 9,171,198, 67,154,210, 39, 26, 53,206, 89, 39,134,165,147,172,130,229, 18,240,251,103,
+150, 59,125, 20,118,190,216,175,113,218,112, 65, 9,190, 57,155, 96,140,231,226,184,164, 44, 37,139,173, 7, 23, 16,125,253,165,
+123,137,227,204,118,124,216, 86,188, 93,247,172,164, 67,105, 67,105, 34,223, 94, 5, 71,240, 61,155,174,230,147,174,226,166,132,
+165,237, 81, 54,130,100,214,189,163,233,123,238,156,117, 32, 5,151, 71,134,223, 27,165,252,214,108,198, 56,203, 81,206,210,120,
+203,231,213,134,190,222,162,155,138,108, 16,147,101, 66,198, 12, 4,163,217, 72, 77,153,164,152,233, 1, 7,187, 51,198, 69,206,
+220, 40, 10, 41,240,214, 49, 73, 82,102,243,125,158,219,191,198,155,151, 46,243,202,254, 28,187, 62,231, 82,154,243,189,157,125,
+ 46,236,204,240,198,112,167, 17, 60, 76, 4, 74, 39,200, 52, 65, 56, 27,239,109,222, 35,126, 81, 20,243, 11, 35,248,167,157,123,
+128,160, 36, 94, 69,175,187,215, 50, 22,125, 69,140,254,236,135,228,189,182, 3, 2, 77,215,113,123,221,177,170,107,142,234,138,
+ 16, 4,133, 22, 28, 74,193, 40, 27, 35,149,142, 94,116,231, 8, 93, 71,223, 84, 84,245,146,181,171, 88,248,158,115, 28, 54, 8,
+ 74,165,216,120,199,133, 36,103,233, 29,175,166, 37, 78,192, 78,154,227, 66,160, 76, 75,156,148, 36, 67,167, 29,144, 32, 60, 18,
+ 69,235, 45,141,239, 81, 82,196,164, 70,165,240, 56,180, 48, 28,100, 25, 59,186,196, 17,133,144,133,214, 52, 46,242, 12,206,187,
+134, 47,250,154, 51, 27, 83, 21,147,224, 49, 62,166, 45,106, 17, 48, 2,204,144,224,102,131,167, 11,158,214,121, 18,219, 49,147,
+138, 4, 73,211, 54, 88,107,121,216,108,185,217,172, 57, 13,150,133,235, 88,247,142,123,103, 43,124,219,195,166,162,109, 59,138,
+ 32,201,148,103, 97,195, 83,109,208, 38, 4, 30,181,158,187,210, 83,247,158,255,175,237,249,172,182, 44, 67,224,175,154,104,239,
+189,221,131, 87,129,147, 14, 86, 34, 82, 64,141, 86,100, 18,180, 8,212, 34,112, 73, 73, 10, 33, 41,132, 64, 43,129, 64,146,104,
+131, 73, 50,122,101, 56, 69, 80, 17,232,130,199,255, 70,234,119,229, 33,207,193, 36,140,203,156, 30, 71,110, 98,238,186,171,251,
+ 88,176, 23,143,225,232, 4, 78,142, 8, 15,143, 34,175,184,218,254,198,108,147, 95, 46,236,167,206,243,242,100,140,205, 20, 90,
+ 64, 19, 4, 88,135, 50,154,166,107, 56, 87,138, 76, 9, 30,183,158, 83, 47,162, 2, 52,132, 33, 28, 96, 80,118,111, 99,188, 94,
+204, 74,183,207,226, 98,245,144, 25, 63, 60, 7,180, 38,248, 64,112, 46, 30, 8,194,128,114, 53, 67,215,237,109,204,154,175,171,
+248, 90, 72,241,235, 19,215,166,243,152, 57,175, 99, 44,171,176,195,215,139, 33,226,181,233,227, 24,223,251,248,152, 93,247,213,
+232,245, 39, 2, 60,192, 89, 69,103, 5, 19, 3, 99, 33, 81, 74, 81, 57,135,247,158, 14, 24, 11,112,196, 19,232,105,227,152,164,
+208, 58, 23,247,248,121, 49,188,163, 29,244, 53,162,111,159,165,185, 61,117, 53,248, 97,189, 96,159,141,229,191,124, 59, 8,225,
+ 41,244, 98,240,202, 12,135, 27,255,139,157, 62,240,222,143,127,198,181, 23, 95,226,226,181,125,148,138,227,240,190,173, 9,193,
+ 19,164,167,235, 90,206, 78, 79, 89,158,173, 57, 61, 57,229,248,180,102,211, 52, 44,207, 42,130,145,212,173, 99, 85,117,228,169,
+137, 36, 37, 25,187,118, 33, 32, 49,146,220, 72, 50, 99, 40, 51,131, 82,138, 44,215,228,137, 65,232,103,137,123,189, 13,120,160,
+106,226,227,156,142, 50, 46, 95,156, 82, 76, 50,246,246, 51,202,169, 97,190, 83,176,183, 87, 50,219, 31,243,198,245,125, 14,167,
+ 25, 69,170, 56, 95, 53,188,247,197, 17,127,241,238,199,124,246,217,103, 60,184,247, 57,239,126,248, 1,239,220,185,203, 7, 71,
+103,220, 91,214,204,172,231,245, 87,111,144,104,133,146,130,214, 58,234,186,139, 74,233,100, 80,231, 35, 48,153,224,187, 59, 99,
+174,239, 78, 88, 54, 29,247,207,150, 28,238,205,152,204, 10,148,202, 73,188,225,209,250,148, 68, 42,186,224,176, 33, 48,207, 51,
+202, 84,115, 56, 29,147,106,137, 87,130,169,239,121,225,198, 75,104, 41,105,140,164,219,159,179,253,226,140,176, 61,167,200, 34,
+147,253,179,207,110,114,249,197, 23, 80,121,202,141,235,135, 76, 68,198,163,197,130, 63,249,252, 30,223,184,122, 13, 39,224, 94,
+219,241,227,247,255,138,127,249,254, 71,156,187, 45,159,156, 63,230,246,241,130,243, 91,199,132,205,146,208,215,252,248,206, 61,
+170,197,121,212,126, 92, 61,224,179,207,239,241,181, 43, 87,232, 16,104,147, 32,165, 70, 73, 67, 45, 37,231,193,115,146, 40,130,
+ 49,180, 77, 71,235, 4,181,243,148,133,142, 14,141,174,103,187, 56,161, 91,109,120,184, 94,163,172,165,173, 43, 18, 44, 73, 83,
+ 83, 12,139,148,121,145,144, 24, 9,121, 78, 39, 36,231,121,202,120,148,241, 96, 27,248,201, 73,205,209, 98,203, 73,103,121,113,
+123,206,166,111,185,150, 25,178, 44, 99,229,122,174,103, 5,149,235,249,121, 19,248,214,229, 41, 15,151, 77,212,183, 40,255, 21,
+250, 23,199,163,186,225,167,235,154, 73,237,168,154,158,181, 11,220,238, 90,254,109, 93,243,158,235,120,108, 27,250,182,165, 58,
+ 89,178, 17, 48, 71, 82,213, 45,137,132,177,145,228, 26,126,123,146,179, 39, 32,241,176,174,215,252,116,121,198, 95,110,215,248,
+110,131,169, 43,164,237, 72, 17,204,180,194,202,152,123,208,218,158,198,164,204, 38,187,204,178,130, 50, 79, 81,157,195,244,142,
+177, 73, 24, 39, 49,222,118,119, 50, 66, 39, 57,187,187,251,188,178,127,141,203, 50, 33, 23,208, 55, 29,119,234,138, 7,189,227,
+ 76, 72,212, 56, 71,230, 10,145,151,136, 52, 71, 8, 29, 27,135,158, 47, 37,221,127,133,120,206,251,104, 15,244,224,181,124, 6,
+219, 81,224,219,246, 89,135,159, 38,241,158, 85, 78,162,226,123,119,206,114,235,216,236,206, 41, 85,180, 90,153,106, 73, 46, 20,
+216, 30,231, 2,206,246,212,245,146,141,173,120,208,174,121,224,123,194,112, 24,239,173,101,100, 82, 30,246, 45, 87,179,156,218,
+121,118,147, 12, 33, 4,101, 54,198,227, 24, 23, 99, 54,189,197, 38, 6,223,119, 36, 73,130,247,129, 62, 6,145,178,234, 59,156,
+ 20,108,156,165, 37,250,243,149, 80,132, 0, 83,157, 80, 26,141,247,144,105,195,178,169,185, 93,175,184,213,212,172,172,165,119,
+ 22, 33,160,243, 29,184, 30,231,122,164, 23,212,125, 77,215,182,113,109,208,117,212,237, 10,217, 55, 44,251,142,166,171, 57,233,
+ 27,150, 93,197,173,102,197, 99,103,121,212,110, 57,247,150,202, 5, 78,215, 91,194,106, 75,240,241, 48,153, 36,134, 32, 4,153,
+ 20, 20, 74,176,112, 30,235, 97, 27, 96,225, 5,183,122,207,194, 11, 30,118, 61,183, 58, 71,135,228,220, 7,122, 33,216,122, 73,
+ 31, 2, 4, 65, 72, 37,170,243,148, 6,218, 32, 81, 42,176, 35,227,253,246,192,104,206, 58,143,146,195, 24, 31,193, 93, 4,149,
+214,108,173,195, 42,205,169,237,126,131,162, 46,135,113,241,124,142, 49, 18, 53,156, 66,170,174, 31, 84,225, 50,166,183, 53,221,
+ 47,118,124, 38, 25,198,209, 67,241,252, 13, 18,221,158, 22,119,163,185, 27, 20,151,138, 4,239,162,154, 93, 40,205,178,169,241,
+ 58, 3,231,248,211,109, 75,162, 52,219,174,123, 54,178,126, 18, 74, 51, 96, 72, 89,159, 15,227,227,225, 77, 46,205,112,189, 91,
+240, 38, 78, 32, 82, 3,189, 67, 9,143, 25,242,208,131,148, 76,132,164,109, 26,216, 14, 65, 44, 97, 16,136,245, 3, 0,225, 87,
+242,209,135, 56,131, 44,133, 34, 69,108,187, 24, 30,131,143,175,159, 34,230, 78, 53, 45, 34,196,132, 34,209,118,113, 63,246, 85,
+175,131,247,113,220,175, 61, 16,149,171,137,144,180,222,145, 72,193, 8,141, 23,209,226,118,223, 91, 82, 33,120,209, 72,250,224,
+ 89, 63, 61,180, 71,127,232,244, 96,143, 23,222,120, 13,117,225, 2,219,109, 15,161,128, 55,223,226,183,127,231, 63,227,158,115,
+136,211,123, 3,246, 54,137,107,132,108, 54,144,244,220,211, 20,165, 39, 12,249,120, 24,248,245,232,220,119,254,242,199,188,241,
+157,111,177,115, 56,197, 24,141, 48, 17, 4,227,173,199,139, 16,223, 68,244,180,182, 37,132,192, 98,177,160, 40, 74, 50,147,210,
+182, 22,147, 74,242, 68, 83,166, 6, 59, 88,251,139, 68, 33,130, 36, 77, 34, 38,209, 7,143,210, 2, 51,172, 16,210, 65, 89, 47,
+164, 32,213,160,165, 36, 85,138,249, 40,225,218,126,201,238,184, 32,203, 19,202,145, 65, 75,197,254, 52, 99, 50, 74,160,235, 89,
+215, 27, 30,174, 54,252,252,243, 35,126,244,206,187,124,252,241,251,252,240,131,119,249,232,209,125,126,254,248, 49, 31,221, 62,
+230,252,108, 75, 95, 59, 72, 21,143,215, 75, 94,191,126,131, 75,187, 99, 18, 45,233, 7, 63,233,141,189, 17,111, 28, 76, 48,101,
+138,212,146,231, 74,195,235,243, 49, 58, 4, 62,126,184,224,180,110,184,118, 48,101, 90,102, 60, 56, 62,231,202,254, 30,105, 82,
+ 98,148,224,218,197, 43,236,230, 35,178, 52, 33, 77, 36,243, 52, 99,150,151, 92,221,221,103, 50, 26,241,232,206,125,194,206, 5,
+238,120,135,208,146, 27,223,122,137,229,199,247, 16,182,166, 76, 19,188,119,124,254,241, 45,246, 47, 94, 98,220,116,220,184,178,
+199,121, 29,200,131,229,224,149,235,180,121,224,255,250,131,255,147,211,236,144,147,106,133,255,236, 1, 77,223, 81,183, 45,225,
+100, 67,168,150,208,219,168,228,237, 35, 62,149,182,131, 43, 23,185,174, 52, 90, 27,180, 82,244, 2,130,183, 56, 9, 78,104,214,
+ 29,100,153,161,239,123, 84,179, 5, 27,120,116,182, 65,216,142,237,249, 18, 87,173,113,237, 22,221,181,156,184,158, 77, 8, 20,
+125,203, 78,128,185,235, 25, 19,152,107,195,104,148,162,149, 98, 17,162, 80,236,226,200,112, 48, 47,208, 38, 69,105,201,158,131,
+102,189,228,249,105,206,231,235, 45, 85, 83, 51, 78, 19, 54, 78, 18,148,224,181, 81,202,191, 93,118, 4, 45,226,248,157, 4,136,
+150, 72,190,228, 51,143,133,205,242,254,166,229,253,206,178,178, 45, 15,131,231, 78,221,179,168, 58,110,159,158,243,201,249,154,
+ 99, 47, 73, 15,167, 28,142,115,122,231, 56,119,150, 92, 10, 50,161, 48,157,101,209, 54,252,236,228,140, 63,124,112,202, 63,123,
+188,226, 81,235,223,218,122,142, 0, 0, 32, 0, 73, 68, 65, 84, 40,250,154,210, 58,250,224, 56, 52,112,142, 98, 36, 35,244,164,
+ 82,154,115,192,168, 17,187,147, 9,174,233,145,137,162,237, 44,157,237,153,142, 50,242, 84,147, 35,152,101, 9,210, 72,228, 40,
+103, 60,223,197, 8,131,237,122,100,215,161,113,164, 66,178, 22, 10,161, 21, 34, 53,200, 81, 10,227, 2,161, 82,152,140, 96, 60,
+ 66,204,102, 48, 29, 62, 85, 2, 98,136, 58, 30, 92, 65,193, 71,239, 63,206,199,146,233, 6, 63,126,154, 12, 22,194, 36,162,116,
+ 83,141,184,122, 41, 94, 15, 55,174,210,212, 91,252,120,143,170, 93, 34,203, 9,105,187,161, 35, 32, 92,207,233,246,148,135,253,
+154,155,205, 57,183,250,134, 58, 4,114,165, 56,235,123, 10,163,169, 67, 96, 71,106,110, 91,203, 11,105, 70,231, 45,123, 3, 86,
+ 91, 11,201,253,182, 65,100, 25,155,182, 67,165, 41,174,235,105, 67, 36,190, 45, 92, 75,175, 36, 39, 93,131, 11,130, 30, 75,227,
+ 44,214,119, 20, 90, 51, 18,138, 92,106,130,117,212,182,227,110,189,230,131,237,130,135,117,197,195,166, 34,177, 29,139,205, 6,
+219,119,136,182, 66,186,150,163,213,130,174, 94,115, 94,109,184,249,248,152,227,205, 25,155,243, 21,141,175,121, 92,109,184,181,
+ 93,241,160,221,242, 97,181,226,182,183, 28,185,150,165,117,108,123, 79,223,121,172,137, 19,226, 32,227,244,163, 19,224, 19,133,
+245,112,226, 35,222,213,138,161,190,200,232, 12, 32, 12, 26,181,109, 19, 67,139, 92,120,182, 10, 85, 17, 40,132,133, 30, 1, 22,
+198, 38,208,183, 16, 8,236,132,168, 35, 19,193,211, 58,203, 61,239,168, 93,207,210,104, 78,125,160, 22,112,218,247, 52,184,223,
+160,168, 59, 23,109, 77,121, 17,115,109,125,244, 20, 71, 16,118, 23,137,105,155,234, 23,153,230,105, 18, 85,230, 98,160,237, 60,
+ 21,173,254,134, 81,173,206, 17, 18,201, 35,239,201, 18, 77,145,106,238,172, 27,110, 20, 57,143,154,154,207,164, 71,120,197,137,
+227, 89, 7,110,135,168, 83,231,159,112, 19,227,239,187, 38,118,221,246, 73, 94,252, 80,241,236, 96, 61,211, 42,142,124,134,238,
+ 2, 37, 25, 11,201,170,237, 73,122, 27,215,198, 77, 19,199,248, 16,159,167,245, 95,253, 58, 57, 96, 92,198, 40, 65, 99,158, 61,
+134, 68, 33,150,213,179, 9, 65,219,198,215,198, 61, 27,193,127,101, 97,103,232,216, 77, 44, 84, 78,122,118,134, 28,225, 6,203,
+ 4, 73, 47, 34,125,110, 46, 37, 39,206, 81, 15, 63,124,242, 98,112, 43,104,190,121,245, 57, 94,190,112,157,111,191,246, 53, 66,
+ 6, 15,215,129,255,234,119,255, 35,254,139,255,224, 5,222,250,230,215,121, 72,224,248,163,219,209, 37,144, 20, 17,154, 19, 52,
+ 40, 59,164,222,133,103,241,181,246,215, 20,244, 98, 20, 41,117,192, 95,255,155,191,224,205,183,190,199,222,254,152, 36, 75,201,
+199, 17, 29, 60,158,206, 41,166, 35,242,162,164, 44,198,164, 69,134, 78, 52,245,118,201, 98,177,224,236,108,129, 16,154,245,214,
+ 97,117, 20,157, 44,219, 62, 2, 54,132,136,161, 6, 66, 80,217,104,119, 19, 16,177,172, 79, 70,139, 2, 50, 25,119,241,137,138,
+113,168,121, 98, 8, 90, 83, 26, 67,145,166,236, 76,114,114,105,216, 52,150, 85, 93,211,214,150,109,219,113,126,178,230,241,163,
+ 71,124,248,240, 17,119,238,158, 83,173, 27, 90, 27, 96,107, 33, 85, 20,251, 25, 47,237, 77,152, 22, 6,187,172,217, 59,220, 35,
+ 85,154,210, 36, 92,158,229,188,185, 63,229,202,238,136,157, 44,193,139,192,170,141,252,231, 63,187,121,159,159,222,250, 28,215,
+ 89, 46, 30,238,177,169, 90, 30,159, 46, 33, 75,217,187,176,135, 16, 9,194,121, 52, 10,135,136,202,230,196, 48,206, 11,102,211,
+ 29,116, 94, 98,130,103,251,197,103,220,201,118, 41, 52, 72,173,217,236,236,113,252,232, 4,217, 86,100, 74,147, 39,154,234,241,
+130, 23,111, 92,198,143, 75, 70,215, 15,185, 56,155,243,220,133, 9,255,243,255,250,191,243,216,106,110, 62,188,135,127,239,179,
+216, 97,244, 3, 40, 41,209, 48,140, 94,201,146,120,205,118, 33,178,240, 23, 43, 62, 29,101,252,252,236,148,185,140,176,155,182,
+ 9, 72, 36,219,222,227,189,163, 58, 95, 83,120,135,105, 26, 54,213,130,166,233,121,176, 92,243,117,111,249,142,250,255,185,123,
+179, 88, 79,211,252,190,235,243,108,239,246,223,207, 82,167,214,174,234,165,122,186,123,118,207, 52,198,177,227, 69, 38,118, 98,
+ 71,193,114, 34, 43, 66, 17, 4, 9, 41, 8, 36,110,184,135, 11, 64,202, 69, 16, 8, 16, 8, 4,145,130,130,132, 4,138, 9,177,
+ 49,182,135,140,199,158,173,103,198, 61, 61,189,119, 85, 87, 87, 87,215,114,234,236,255,253,221,158,133,139,231, 61,117,170,151,
+217,130,114, 97,254,210, 95, 71,213,234,243,255,191,231,125,158,247,249,109,223,197,176,221,172,249, 95, 95,125,135,105,162,152,
+183, 53,173, 15,156,107, 23,236, 8,120, 6,216,202,114,130,137,243,113,169, 20,189,194,240, 92, 63,163,144, 48,201, 20,152,132,
+ 69,229, 24, 38, 57,199,171,154, 13, 45, 24, 38, 18,231, 26,188, 8,224, 21, 90, 75, 46,171,192, 93, 27, 58,133,200, 64,168, 98,
+135, 41, 88,255,177,118,116,144,158,202,183,220,169, 43,110,156, 44,120,255, 96,197,157,195, 25, 15,103, 51, 78, 86, 11, 14,147,
+148,187,189, 28,231, 5,223,159,215, 44,124,212, 42,210, 26, 94, 94, 52,124,103, 85,243,207,239, 30,243,206, 73, 13, 58, 26,207,
+ 12, 7, 25, 57,130, 84, 43,246,130,194, 39, 9, 7,193, 51,147,154, 67,169,144, 82, 83,122,199, 80, 37, 4, 99,152,151, 53,199,
+182,197,118, 92,231, 84, 70,153,217, 44,209,228,157,219,159,151,130,180,200,217,233, 13,120, 34, 31,115, 25, 67, 17, 2, 9,146,
+125,239, 58, 49,154, 72, 17, 37,213, 29, 86,168,207,197,115, 19,126,229,210, 57,126,245,137,203, 60,113,174,207, 29,169,105,181,
+ 1, 17, 25, 7, 4, 79,176, 54, 86,153,222, 71,113,152,212,196,162,103,178, 1, 27, 35,206,237,108,178,218,222,138,103,231, 96,
+192, 24,139,239,111,208,184, 10,219,223,224,126, 61,227,158, 73,121,111,190,207, 93,225,184, 85,206,120,208,214,188,189, 94, 16,
+108,205, 72, 41,246,109,205,213, 52,227,196, 58, 82, 33,216,199,243,108, 90,240, 70, 83,115, 53,201, 57,112, 22, 33, 4,239,218,
+150,190, 73,249, 65, 85, 34,180,228,164,169,104,164,162,242, 45, 75,160, 68,112,220,148, 44,189,167,148,138,149,107,105, 90,203,
+220,182,164, 66,162,130,227,214,226,132, 58,180,220, 94,207,184,177,156,242,160,109, 56,110, 43,234,170,225,100,182,162, 89,174,
+ 88,175, 74,102,211, 5,135,211, 25,139,195, 37, 71,251,199,204,142,166, 52,135, 7,212,251, 83, 22, 71, 83,118,247,167,220,245,
+154, 70,171, 24, 36,149,102,213,182,148, 77, 32, 72, 73, 89, 91, 86,222,178,180,254,145, 57,149,232,101,120, 33,105, 90, 79,109,
+ 36,161,245, 56, 29,133,130, 30,157,155, 42,137,138,108, 74, 64, 17,129,154,103, 50,129,157, 69,169,232, 92,234,188,165, 9,158,
+ 66,195,134,130, 99,231,232, 35,152,150, 13, 43,111,249,147, 69,133,177,142, 3, 36,139,208,130,144,204,125, 4,138,214,136,159,
+144,210,230, 92,156,201,230, 5, 33,216, 24, 60,155, 58,182, 60,151,107, 88, 47, 62, 28,176, 83,211, 9,183,116,182, 61,167, 22,
+166, 63,133,255,122, 0,146, 34,103, 90, 55,184, 32, 73,240,124,253,112, 69, 98, 4,109,235,216,175,125, 87, 61,119,124,115,173,
+ 98,183, 32, 87,176,174, 35, 31,220,159,122,134,119,215,108, 84,231, 59,222,137,195,184, 22, 76,246,200, 65, 45,116, 66,179,141,
+173, 9,222,227, 84,128,217,178,163,165,117, 98, 54,237,143, 80,151, 75,101,228,242,107, 29,221,136,124,180,116, 21, 77,211,113,
+216, 29,212, 54,154,222,167, 18, 33, 76, 76, 58, 78,173,246,126,152,240, 79,231,143,254,172, 78, 89,227,200,145, 44,136,129, 77,
+ 7, 40,164,228,158,181, 92,209,154, 61,101,104,179, 33,161, 95,116, 9,129,224,194,198,132,107,151,159,140,200,209,124,192, 43,
+187, 31,240,111,252,234,231,249,212,149, 9,227, 66,179,191, 47,120,253,165,239,117,237,247, 78,156,199,119,162, 61,117,123,214,
+129,249,104, 64, 47,178,120,255,174, 63, 15,131, 49,108, 92,128,227, 35,192,243,237,175,252, 41,159,251, 75, 63,203,120, 84,224,
+136,244,143,114,189, 98,117, 60,195,121, 71,219, 52, 81,224,195, 89,234,186,162, 63, 26,146,164, 9,179,147, 25, 7, 7,187,104,
+211, 35, 0, 59,147, 30,163, 92,227, 36,156,148, 13,166,211, 87, 87, 2,124,136, 92,119, 33, 5,153,142, 85,158,150, 26, 41, 85,
+244,146, 14, 2,143, 68, 40, 25, 15,203, 68, 70,189,248,202,177,110,106,172,107, 81, 26,166,139,134,245,170,230,251,183,222,224,
+157,189,121,228,154, 42, 21,147,209, 76, 49,218,200,184,216, 47,216,232,103,108,247,251,212,190,197,137, 12, 47,213, 35,145,190,
+ 69, 21,165,108,119, 79, 86,188,124,251, 33,239,221,127,200,205, 7,123,220,216,123,128,117,142, 98, 48,100,114,126,147,219,247,
+246, 89,206, 23,148,229, 42,186,212,245, 50,174, 93,187,196,249,139, 27,244,123, 3,180,202,176,173, 37,237, 15, 41,155, 53,182,
+110, 16, 90,145, 21, 5,217,221, 91,204, 70, 91,140,100,224,122, 63,227,249,103,159,102,125, 82, 17,234, 57,121, 86,144, 38, 25,
+199,211, 22,181,179,201, 94,213,240,236,229, 77,254,163,255,244,191,224,181,111,191,193,244,189,251,132,249, 52, 74, 89,166,130,
+176,170, 9, 78, 17,146,132,225,102,143,122,101, 65,248,200,248,176,113, 92,116,249,242, 54,139, 96, 97,235, 9,126, 69, 84, 4,
+149, 50,111, 26,172, 11,220, 43, 75,214,117, 77,174, 53,214,181, 80,206,168,235,154,253,197,140,145,146,252,198,120,194, 53,101,
+216, 80,134,230,226,121,158,154,108,112,239,248,136, 70, 6,174,226,185, 28, 2, 67,109, 24,248, 22,147,100,184, 16,152,154,132,
+ 11,189,132,169,139,136,248, 74, 8,122, 50,176,118, 62,170, 34,162,104, 76,142,105, 3, 43, 27,169,167,155,169,225,104,221,146,
+230, 41, 3, 41,217,119, 46,210,223,180, 36, 52, 14,178,156, 80,175, 63,196,221,126, 92, 51,221, 75,112,218,199,119, 7,100,242,
+117,133,175, 3, 7,203,150, 48, 91,196,115, 57, 81, 44,140,161,173, 28,117, 89, 35,234,238,124,201, 2, 33,207, 88,104,195,168,
+208,232,188, 0, 99,168,165,198,106,197, 2,193, 80, 18, 21,191, 58,252,236,222,122,201,126,219,112,100, 75,214, 30, 22,109, 75,
+ 79, 42,114, 21,249,236,198,131,177,142,108,144,115,113,107,200,214,120,192,168, 87, 48, 50, 25, 67,175,201,165,198, 90,203,145,
+ 16,177,163, 18, 58,157,116, 35,121,170, 63,224,111, 95,186,194, 95,185,116,149,141,172, 71, 45, 13, 7,161,229, 80,201,248,188,
+230, 69, 84,214, 44, 6, 49,208,164, 5,194,228,209, 69,115, 99, 19,206,141, 33,203,248,204,230, 6,207,231,154,139,249,144,237,
+ 36,231,124,127,204,115, 9,156,235, 15,112, 85,197, 42, 29,178, 91,214,232, 65,159, 89, 83, 82, 74,201,253,122,197, 40, 53,145,
+ 2, 38,224,185,164,224,157,182,225, 66,154, 49,199,115,197,100,188,222,212, 60,159,245,121,205, 86,140, 84,194, 59, 33,112,222,
+ 24, 94,105, 74, 46, 36, 57,175,181, 13,107, 9, 55,154,146,131,110,170,182, 86,154,123,214,226,140, 33, 56,139, 82, 6,149, 36,
+236,151,107,148,183,188, 52,159,241,126,189,226,219,199, 71,124,251,232,152, 91, 85,195,237,163, 41,179,217,138,102,177, 34, 44,
+ 86,132,178, 34, 44,231,177, 72,105, 60,193,183,113, 39,172,235, 24, 87, 37, 4,105,163, 86,100, 11,195, 73, 63, 22, 94, 33, 48,
+115, 1,235, 60, 7,109, 75, 42, 37,211,224,112,182,165,105, 44, 20, 73, 28, 47,122, 98,140, 8, 34,198, 1,219,129,141,148,124,
+100, 28, 38,186, 14,103, 32,196,160,190, 88,158, 41,159, 74, 16,170, 51,175, 9,145,194,188,106, 29,139,210, 97,240,220,154,213,
+220, 44, 27,222, 94,214, 76,107,203,205,117,203,173,170,137,250,154, 34,142, 95, 87,193, 82,150,229, 79, 24,212, 79, 3,187,239,
+244,209,203,170,227,155,183, 17,185, 94, 86, 31, 49, 0,209,143, 80,223,248, 83,190,120,243,211,153,136, 56, 71,211,180, 88, 89,
+112, 56, 95,115,216, 74, 84, 2,211,101,195,244, 84,183,187,141,178,149,168,238,100,149, 34, 2,243,210, 46, 19,242, 46,210,217,
+ 48,157,154,154,143,227, 0, 97,227, 99,157,100,241,161, 72, 35,208, 44, 40,213,101,176, 93,101,186,174,187,207,233,192, 99,117,
+243,163, 19,147,214, 66,154, 68,105,195, 83,254,109,219, 62,194,151,161, 4,233, 86,159,191,247, 11,159,229, 11, 87,118,248,204,
+213, 29, 94, 93,183,112,112,244,113,214, 1,143,181,229, 93,180, 35, 60, 20,130, 73,128,105,240, 92, 82, 9, 46, 4, 86,206, 50,
+ 84, 26, 21, 60,203,126, 31,113,105, 27,159, 22, 52,242,148,150,230, 89, 53, 53,231,243,130,224, 28,251, 71,247,121,111,239, 24,
+213, 66, 49,232,243,238,238,154,255,253,155,223,164,124,247, 78, 76,118,172,237,208,254,246, 49, 79,121,251,225, 57,122,218,135,
+254, 8,174, 94,227,201,167,159,230,231,158,249, 12, 69,158,146, 37,154,217,178,130,114, 1,192,183,254,248, 79,121,254,103,191,
+204,100,220, 39, 16, 40,215,117,228,165, 59,135, 76, 20, 70, 39,164,131,156, 36,205,241,221,131, 34, 59, 94,120, 86,228,156,204,
+150,236,159, 44, 57, 92,181, 44, 86, 45,182,182,148,141, 35, 75, 21,206,197,249, 32, 34,138, 58, 32, 4,214, 5,210,196,144, 24,
+ 29,133, 48,132,140, 10,111, 50,138,110, 4, 31, 56, 94, 53, 28,206,151, 20, 41,236,238,175,184,253,193, 33,135,135, 83,254,219,
+191,255, 31,227, 46, 92,227, 92, 95, 50,109,227,104,233,234, 86,193,115,231,199, 20, 90,113,105, 50, 98,107, 48,164,245,142, 69,
+ 89,177, 94,206,217, 24,111, 16,132,228,120,177,230,131,227, 21,183,246,230,188,125,255,144,233,225, 49, 77,213, 48,155,207, 59,
+228,173, 33, 47,250,180,173,224,222,221,219, 4,239, 41,203,117, 20, 94, 42, 75,164,201,184,184, 51, 97, 60,204,121,225, 83,151,
+216,220,220, 96,190, 88,211, 44, 43,150,235, 21,149, 83,172,231,199, 40, 37, 88,220,120,141,139, 91,151,201,140,166, 21,160,159,
+216,193,222,185,207,108,185,100,144,247,153,156, 59,207,231,175,159,231,229,247,118,249, 63,191,251, 22,239, 52, 21,161,108,160,
+ 46, 9, 36, 81, 45,205,219,168,206,102, 27,152,244,249,119,159,218,226,217,243, 3, 94,185,127, 4, 78, 71,237,123,173,153,159,
+ 44,249,210,246,152, 23, 38, 59,252, 7, 63,247, 34,127,248,242, 55, 24, 20, 57,223,152, 30,243,160, 46,185, 55, 59,160,169,150,
+188, 59, 59, 1, 15,235,122,201, 27, 15,247,248, 66,166,121,177, 63, 98,152, 20,204,109,203, 74, 90,254,195,127,243,175,178,145,
+143,249,254,189,125, 46, 40,203, 57,161,216, 9,209,145,175,157, 47, 56,177,160, 18, 73,139,166,159, 39,212,225,140, 62,234, 91,
+199,210,118,192,174, 34,163,241,129, 75,105, 1, 38, 37,209,134,161, 49, 84, 74,113, 80, 86, 76,101,231, 56,153,103,132,113, 63,
+ 58,251,109,108, 16,122, 61,130, 73, 9, 38,199,215,229,163,201,243,227,239, 83,170,151,247,158,176, 90, 18,230, 75,130,111, 32,
+207, 17, 91, 99,138,126,143,214, 68,165,200, 32, 69,215, 1,108, 97,111,142,149,146,157,157, 9, 99,109, 40,117, 26,177,176, 66,
+208, 55, 41,147,108,128, 70,144, 40, 73,161, 36,211,118, 69,226, 29, 85, 93,113, 82, 87,180, 90, 49,183,150, 60, 64,129, 66, 87,
+ 13,253, 34,101,251,194,128,254,184, 71,111, 82, 32, 19, 67,162, 13,133, 52,168,186,198, 21, 9, 53, 41,115,147, 34,104, 17,203,
+ 5, 56,207,207,108, 20,252,252,214, 54,227,162,143,150,134,239, 47,102,188, 84, 89, 90, 37,161, 40, 96, 56,130,241, 48,186, 88,
+ 22,177,117,207,176,135, 56, 55, 70,108, 12, 32,201,248,237,115, 19,180, 8,244, 85, 66, 47, 81,124,106,178,205, 88, 64,149,228,
+248,182,100,115, 48,162,106, 27, 54,122, 41,179,218, 49, 40, 18,230, 66, 48, 74, 50, 22, 66, 49, 82,154,167,139,130, 91,222,241,
+116,214,231, 1,158,109,147,114,211,181,124,161, 24,242,186,109,120,190, 24,114,219, 53,236,104,195, 77, 41,121,218,100,220,241,
+ 45, 27, 42,225, 43,171,134, 59,109, 64, 43,205,161, 72, 57,242, 45,100,195, 40, 17,157,230,216,166,230,192, 5, 46, 24, 67,233,
+ 90,116,213,240,157,131, 53,251,123, 83,202,227, 5,213,222, 67,194,172, 36, 44,203,184,215,215, 77,236,216, 56, 8,173, 3, 17,
+249,254, 17, 48,221,126, 8,135, 16, 26, 75, 16,146,121,101, 41, 6, 25,139,224,153,173, 43,130,209,140,148, 98, 29, 2, 25,112,
+210, 90,130,245,143, 5,244,199,156, 47,101,167,147, 46, 59, 90,176, 52,241, 12, 61, 29, 19, 11,209,197, 6, 23,207,202,166,138,
+197,166, 13, 81,115,193,118, 64,229,198, 97,181,100,181,172,104,239, 28,224,119,134,132,170,138, 14,134,117,133, 93, 91,246,102,
+ 37, 33, 85,236,207, 23,204,235,146,121, 85,253, 20, 65,189, 3,155,196, 25,115, 29, 51,145,229, 52, 86,199, 31, 13,116,237,169,
+ 63,123,167, 47, 30,236, 79, 85,165,127,168, 13, 47, 34,194, 51, 40,112,243, 21, 78, 71,167, 40,116, 71,191,242, 93, 27,163,233,
+ 28,218,132,136, 45, 68, 41, 98,219,220, 73,240, 21,164,105,188, 86, 69,156,167,159,250,144,247, 11, 88, 85,177, 45,213,118,237,
+230, 32,186, 68,197,199,224, 92,182,177,218,255,104,242,242,137,192,128, 40, 8,129, 84,143,104, 99,143,108, 20,123,138,223,249,
+220,115,124,249,179,215,185,118,229, 18,189, 65,159,137, 49,188,121,119, 63,222,207,254, 4,182,182, 97,251,114,119, 96,116, 98,
+ 57,105, 52,124, 9, 65,177,173, 4,233,233,193, 35, 37, 70, 37, 84, 69,193,232,218,147, 20,151,174, 32,242, 1, 66,122, 18, 37,
+177, 68, 81,150,160,160, 45,167, 52,229,138,187, 7,251, 28, 77,103,220,218, 61,226,251,119,142,185,189,123,132, 78, 3, 83,217,
+121,200,231,166,115,228,235, 16, 53,217,169, 61,173,120, 36,246,241, 59,127,251,111,240,155,191,249,235,252,214, 95,126,145,207,
+ 92,127,138, 34, 45,104,203,150,131,114,198,108,185,140, 93,157, 14, 33,255,210, 87,254,140, 39,174, 63,205,165,203,231,208,137,
+193, 5,129,107, 91,108,211,210, 84,209,187, 90, 73,133,210, 18, 39, 2,109, 93, 33,141,196,186,104, 35,136,128,217,241, 34, 58,
+142,245, 83,238, 60, 56, 97, 94,182,172, 43,199,176,103, 88, 55,142,117, 29,157,151,124,128, 52, 49, 56, 33, 98,192,116, 33,250,
+186,187,208,209,118, 2,193, 70, 69,191,187, 15, 23,124,251,123,111,178, 94,174, 81, 65,112,225,153,231,217, 24,110,176, 44, 79,
+ 48, 6,206, 13, 50,182,122, 57,105,146,160, 4,244,211, 12,165, 52,173,109, 73,181,138, 66, 55,227, 62,155,163,130,224, 3,109,
+221,224,156,163, 90,173,177,190,198,214, 45, 38, 55, 12,134,131,232,159, 83,215, 28, 30,239,177,174, 74,172,143,146,201, 50, 64,
+ 99, 91,214,203, 5,249,160,207,221,123,135,236,223, 59,100,213, 88,202,178,138,244, 32,231,168,133,102,160, 2,101,179, 66, 6,
+193, 63,127,243, 13,174, 94,185,198, 50, 81,120, 41, 96, 99, 27,125,120, 72, 80,146,171,159,190,198,238,225, 9,255,253,127,253,
+143,216, 31, 13, 8, 65,112,117,123,196,201,209,156, 96,163,189,103,112,154, 32, 45, 1,201, 95,237, 23,252,141,171,151,152, 76,
+206,113,151,150,189,131, 69, 92,107,219,194,186,102,119, 81,177,215,204,233,111, 95,226,205,226, 2,127,114,251, 6,203, 15,222,
+167,109,214,184,195, 35, 78,238, 60, 96,189,156,243, 96,247, 33,187,199,115, 88,172,121,113,152,112,217,244,104,129, 91,205,146,
+ 69,211,240,153,139, 23,248,218, 94,197,157, 96,120, 38, 84, 12,133,230,138,201,240, 77,205,180, 92, 49,173, 86, 52,141,101,152,
+165, 72, 35, 17, 70,162,188,160, 42, 91,142,234,200,201, 14,137,162,240,129,103,198, 3,182,123, 57, 79,142, 70,108, 21, 3, 84,
+218,167,245, 18, 31, 2,203,186,100, 59, 49,156,207,115,174, 12, 70, 12, 55, 71,108,109, 78, 56,119,110,135,213, 32,167,214, 2,
+ 95, 12, 9,182,194,183,246, 19,131,251,153,147, 88,108, 83,227, 26, 66, 0,159,104,124,104, 34,142, 72, 40,254,206,149, 17,127,
+237,137, 77,254,108, 81, 19,170, 53, 15,156, 68, 20, 61, 6, 89, 2, 58,165, 16,138,173, 52,163,113,158,139,105,193, 42, 56,150,
+109, 77,102, 18,178,224,105,218,146,204, 40, 78,234, 53, 85, 8,184, 0,125, 2, 61,169, 40, 50, 67,186,221, 39,233,231, 72,173,
+162,131,105, 16, 80,182,164,206,147, 56,135,207, 53, 83,217,167,202,250, 48, 62, 15, 82, 48,240, 13,147, 96, 81, 54,240,205,147,
+ 35,190, 58, 91,112,212,214,144,102,244,139, 1, 73,154,146, 38, 9, 77,154,128, 17,136, 44, 69,228, 25, 36, 25,191, 56, 28,242,
+ 75,219,155,140,211, 30,107, 33, 80, 4, 54,250, 27,188,190, 92,115, 97,115,147,188, 90, 49,200, 71, 28,172,231, 12,123, 99,180,
+107,240, 73, 74, 45, 65,163, 88,184,134,158,148,172, 67, 96, 22, 60, 79,154,140, 93, 1,219, 66,242,126,176, 92, 55, 5, 63,104,
+215,124,177,152,240, 70, 91,243,132, 73, 57, 20,146, 39,133,230,221,224,184,164, 12, 95,171, 45, 90,167, 44,146, 52, 42,215, 25,
+137,206,114,110, 47, 42,134,195, 49,109, 93, 82,166, 57, 89,154,145,138, 20, 35, 2,137, 12,172, 68,224,120, 81, 19,234, 10,188,
+ 32, 40, 27,215, 47,184,104,186,162, 32,184, 78, 73,179,237, 4, 58,234,211,130,165,195, 93, 88, 23,139, 25, 35, 8, 73,193,220,
+123, 86, 62,158, 79,198,195,202,121,188,245, 76,109,131,111, 61, 94,118,138,114,174,251,189, 54,196,100,207,187, 88,220,213,174,
+ 43,238,162, 48, 26, 82,119, 44,168, 83, 68, 98, 32, 74, 24,218, 88, 48,182, 1,154, 53, 66,201,200,220, 10,237, 35,239,145,254,
+207, 61,207,175,255,194,175, 49,185,180,197,221, 31,188,129,119, 14,239, 26,124, 91,115,184, 42,217, 95, 58, 30,204, 75,118,231,
+229, 79, 25,212, 93,231, 7, 94, 55, 17, 13,222,254,136, 96, 29,186,249, 51,246,147,103,208, 63, 77, 31, 94,133, 88,233,135, 78,
+ 60,166,237, 2,185, 15,103,148,171, 83, 32,151,144,241, 64,106, 59,212,182,179,157, 14,123,135, 80,119, 26,124, 19, 51, 85,219,
+145,141,243, 36,182,153,173,139,111,245, 88, 85, 90, 69,126, 42,101,219,181,236,221,143,189, 94,225,186, 44,190,181,145, 67,239,
+ 99, 71,225,252,185, 17,191,246,165, 79, 51, 30,111, 32,181,102, 60, 28,160,148,231,107, 15, 14,163,144,198,198, 38,191,252,133,
+ 95,226,153, 43,207,176,177,189,195, 60, 87, 48,153,224, 70,227, 56,235, 46,250, 28,139,140,162,200, 88,110,142,217,186,122, 29,
+189,185, 65,178,189,205,197, 11,207,176,179,245, 36,147, 98,136,210,158, 84, 9,164, 10, 24,169, 56,159,165,104, 4,139,186,229,
+225,186,164, 57, 46, 17,212, 76, 46,110,243, 59,191,254, 34,127,235,231, 63,197,214,104,204,203,111,220,141,155, 92,117, 18,177,
+ 38,116,179,158,110, 22, 36, 5,140,174,240,203,191,240, 34,189,188,160,223, 75,105,218,192,114, 94, 81, 54, 53,175,127,112,159,
+102,247,118,151, 4,157, 9,202,127,255, 27,223, 35,233,245,185,122,253, 10,195, 65, 15,235, 2, 38,141,148, 12,173, 20,202,168,
+168, 42,151, 38, 36, 89, 66,154, 36, 72,109, 88,173,102,148,229,138,197,244,144,245,170,100,186, 40, 73,179, 4,148,160,117,142,
+ 59,247,142,185,125,231,144, 50,120,234,198,243, 96,186,164, 14,158,163, 69,116, 73,187,249, 96,193,113,217,128, 8,172,234,154,
+ 89, 85,241,222,238,140,155,119, 30,242,242,159,191,129,111, 45,121, 97,184,117,231, 22,139,234,132,175,255,254,239,243,220, 11,
+ 79, 51, 74, 13,189,196,144, 38,138,126,154,161,181,194, 57,139, 15,158,225,176,207,100, 99,194,120,115,131,119,111,220, 96,126,
+176,224,137, 39, 47,178, 49,206, 17, 82,178,152,174,168,203, 10,169,162,184,133,119,129,249, 98,198,162, 90,226,188, 39, 81,154,
+166, 45, 49, 90, 99,148, 65, 25,133,208,154, 64,194,241,241, 58, 2,247,238,221,225,206,238, 7, 28, 29, 31,147, 25,197,131,221,
+219, 72, 13,133,201, 17, 82,144,184,138,111,191,250, 58,227,107, 79, 51,159,215, 28, 79,215, 12, 81,188,240,229,231,120,240,193,
+ 3,254,203,127,240, 15, 9,195,148, 48, 24,240,244,248, 28,191,120,225, 28,149,104, 56,120,176, 23,207, 18,121, 10, 30,243,188,
+187,172,216,222, 26,240,170,215, 84,131, 77,238, 29, 79, 35,144, 7, 27,159,183,186,198, 46,106,190,253,224, 30,187,227,109, 66,
+ 2,236,237,194,195, 67,196,193, 20,148, 68, 78,143,162,234,240,122,137, 90,172,121,114,144,226,104,120,216,214, 60, 16,130,243,
+166, 64, 60, 56,160, 76,115,110,212,150,220,193,139, 89,206,121,147, 48, 65, 82, 84, 75, 74, 23, 56,241, 22,231, 37, 18,133, 22,
+ 18, 71, 96,191,116, 76, 27,139,112,142, 92, 4,174,244, 82,174,231, 42, 42,197, 77,250,244,179, 20,157,103, 52, 33, 97,238,115,
+ 18,225,144, 50,112,165, 95, 80,164, 25, 74,103,236, 12, 7,132,160,184,212, 27,161,243,148,117, 97,104,130, 38,120, 73, 80, 1,
+223,218, 15,181,230, 63,106,125, 26, 90, 11,179, 57,254,112, 30,193,191, 43,203,223,188, 52,226,239, 60,117,133, 79, 77, 54,184,
+220, 19,124,237,193, 49, 65, 40,218,113, 76,242, 76, 98,216,214,138, 84, 37,108, 36, 25, 51,215,208,215, 41,235, 16, 53,192, 69,
+176, 40, 33, 72,157,195, 72,197, 10, 88, 52, 53,206,181, 76, 80,244, 70, 41,201,184,128,160, 16, 50, 82, 8,221,178, 69, 84, 45,
+ 38,120,250, 66,145, 74, 56,108, 61, 85, 62, 68,141, 54,217, 26,110, 51, 73, 39,124, 80, 46,120,105,127,159,239,150, 21,123,101,
+133, 73,114, 70, 4,206, 43,195, 68, 74, 90,223,178, 45, 37, 94, 26,172, 78, 65, 8,118,122, 3,254,253,171, 87,248,197,237, 29,
+206,101, 57, 15,154,134,117, 62, 68, 9,193, 23,183,182,120,176,174,216, 25,142, 56,168,106,174, 15, 71,172,155, 53, 62,201, 88,
+ 59,139, 5, 26, 44,153,146, 44, 90,203,200, 24,148,139,238,107,153,179,204,149,230,162, 54,188,211, 86,124, 62, 27,240,157,122,
+197,245, 36,229,182,141,149,249, 45, 44, 79,201,148,119,189,101,152,102,188,237, 96,101, 50, 46, 25,143,201,115,156, 15, 92,204,
+ 19,172,131,116, 48, 64, 91, 71, 26, 2,187,182,166,144,134,165, 15,188,125, 60,231, 92,207, 48, 21, 50, 26,255,216,216,109, 12,
+105, 10,182,237,176, 21,177, 94,139,129,221, 34,130,239, 84, 52,187,192,124, 26,220, 91, 75, 8,109,231,194,150, 98,157, 71,106,
+ 88,181, 45,214,123,188,148, 88,231, 8,136, 51,183,207, 68, 19, 84,199,241,149, 42,250,180,166,230,209,104, 87,136, 83,254,175,
+ 56,227, 1, 55, 54, 22,147, 77, 21,199,181,162, 99, 69,181,109,108,213,251, 14,184,218, 90,154, 59,187,188, 83,205,185,251,250,
+ 77,194,122,253,161,189,234, 91, 27, 29,235,234, 10, 87,173,127,218, 74,253,167,120,121,255, 73,236,138,127,177,207,105, 79,181,
+210,125,148, 88,149, 62, 86,224,170, 67, 20,186, 16, 3,206, 41, 24,175,125,140,142, 69,135, 90,119,246, 76,196, 89, 6,176, 50,
+ 90,234, 40,115, 6, 6, 75, 77, 92,144, 14, 48, 39,137, 45,219, 71,215,240, 73, 28,117, 62,130,248, 79, 82, 68,136,170,123,104,
+137,208, 34, 82,236,180, 36, 29, 13,184, 48,218,226,250,213, 29,154,214,209, 88,199,235,239,238,243,131, 91,183, 65,107,190,244,
+244,179, 92,217,188,202,160, 72, 24,229, 35,206, 15,183, 57, 63,222, 98,107,180,201,212,173,105,165,128, 84,225,243, 62, 95,120,
+234,103,184,124,233, 83, 12, 70,219, 76,134, 19,118,118, 46, 99,250, 57, 70,235, 40, 52,225,106,188,111, 59,224,152,102,208,203,
+169, 90,207,193,170,194,175, 23,144, 14,248,173, 95,252, 57,126,249,179,151,216,238,103, 44,170,154,175,254,249,219,221, 24,163,
+ 75,152,156, 7,225, 62, 60,236, 15,129,231,158,190, 70,154,231,184, 32, 56, 62, 94, 48,157,157,240,242,187,239,242,240,213,215,
+ 59,179,154, 56,210,160, 55,140,182,180, 73,143,155,175,190,198,205,163, 41, 79, 94,185,194,246,206,152, 52,141, 21,181, 78, 77,
+ 4,136, 72,133,210,209, 96,231,248,225, 62,243,163, 99,210,126,129, 64,160,140, 34,235,229,113,148,176, 90,178,119,255, 30, 94,
+106,170,178,194,121,199,201,193,148,123,119,247,152, 30, 45,168, 90,207,189,221, 67,110,221,188,207,108, 58, 99,212, 79, 25,102,
+134,183,223,185,195,155,175,191, 79,185, 42,217,189,247, 16, 66,137, 39,208, 54, 21,155, 91, 27,100,169,230,179, 95,124, 1, 33,
+ 4,214,183,164, 90,147,152,132,212, 36, 88,231,200,146,132,201,104,192,100,123,139,197,108,198,239,189,244,231,188,250,123, 95,
+225, 7, 39, 71,108,167,125, 62,253,169,171, 76, 6, 57,135, 39, 37,101, 85, 19,112, 88, 91, 81,173, 75,130,112, 88,219, 18, 66,
+160,106,107,218,198, 33,181, 36, 77, 83,146, 52, 37,207, 11,180,201,249, 31,254,243,191,207, 42, 83, 60,117,241, 9,132,128, 59,
+251,123, 20, 90,115,251,120, 22, 27, 37, 70,144, 37, 5,105,146,146,135,192,242,214, 77,222,247, 9,243,147, 19,152,157,176,213,
+235,241,250, 31,253, 1,183,111,223,137,235,176,189,197, 47, 93,188,202,100, 52,162,110, 4,239, 29, 29, 65,181,254, 16, 26, 28,
+103,249,238,221, 19, 30, 76, 6,140, 19,197,238,180, 11,234, 70, 69, 77,233,102, 21,159,175,117,137,112, 51, 56,119, 25, 33, 3,
+226,120, 14,179, 35, 68, 98,162,116,169,144,200,202,161,122, 57,247,102,107, 66,112,172,141, 98, 96, 82,174,165, 61,206,103,125,
+174,175,150, 60,151, 40,254, 68,229,252,229, 80,179,163, 37,217,186,164,239, 32,149,129, 99, 33, 57,106, 61,203,101,197,209,178,
+101,247,168, 97,225, 37, 77, 93, 99, 36, 76,180,228,185, 73,194,118,145, 48,233,165,104,169,200,178, 4,175, 12,199, 46,224, 85,
+198,170,105,217, 73, 2, 7,141,165, 17, 9,219,253, 2, 23, 20,105,170, 73,242, 30, 82,229, 36,198, 96, 83,205,218, 72, 66,211,
+ 65,115,196,153, 35, 91,248, 33,193, 29, 31,131,123,200, 11,206,111,244,120,114, 48,160,111, 18, 94,218, 63,226,229,105, 11,174,
+161,116,129,173,201,132, 45, 90,198,105,143, 43, 89,129, 11,176,242,142, 6,207, 68, 25,102,109,133, 21, 34,138,137, 0,199,245,
+ 18, 97, 29, 7,203, 21, 53,129,208, 54, 12, 91, 73, 49,200, 65, 10, 92,101,169, 22, 22, 97, 29,218,122, 84,136,179,247,148,128,
+203, 53,165, 73,201,123, 9, 23, 6, 5, 27, 89,198,181,241,152, 75, 58,229, 25, 9, 6,199, 6,146,157, 44,193,132,134,129,146,
+164, 85, 67, 38, 37,137,138, 74,124,107,161,121, 82, 75,254,202,214, 38,147,201,132,188,223, 99,225, 37, 43,161,216,234, 13,184,
+217, 74,158,204, 13,135,222, 51, 50,146,135,192,192, 7, 14, 2, 72,111,169,131,194,224, 56,113,129,158,130,135,214,114, 73, 42,
+156,244, 56,165, 24, 11,193, 45, 91,113, 61,201,121,185,173,249, 76,154,241,102, 83,115, 53,201,184,237, 45, 87,149,226, 29,107,
+177, 42, 97,215, 9,118,209,236,136,192,118,191,135,118, 81,193,209, 41,205, 74,196,209, 93,240,240,190, 83, 60,155, 36,212,194,
+179,169, 52,123,205,154,210,186, 40,190,213, 70,231, 52, 76,151,144, 17,147, 34,244, 41,144,218,253, 72,208,111,232, 66, 71,176,
+167,192, 74, 69,211, 52, 56, 43,176,194,163, 36, 88, 58, 16,156, 20, 12,211,132, 70, 10, 6,137,129,196,224,106,219,137,121,117,
+133,208,227, 1,221,118,223,127,170, 54,106, 58,155,111,219, 60,242,149,127,132, 63,235, 18,141, 71,201,198,193, 17,172, 63,252,
+252,250,199,233,138,222,227,189,255,151, 24,212,255,101, 37, 10,208,129, 15,136, 70, 42,190,243, 66,183, 93,171,188,113, 17,224,
+100,187, 96,244, 72,100,229, 84,212,197,199,223,179, 33, 46,114,211,130, 54,177, 90,135,216,162,207, 12, 10,129, 95,119,116, 57,
+239, 98,144,230, 19,140, 88, 30,151,211, 85, 41,164, 10,145,165, 93,101, 27,187, 6, 66, 68, 43,203,114, 94,147,100, 61,122,253,
+ 62,203,202,113,111,127,197,183,222,188,193, 73,217,242,212,120, 27, 39, 44, 23, 55, 47, 61, 98,200, 25, 97, 24, 15, 55, 25,101,
+ 99, 92,104, 89, 87,115, 18, 45,249,244,149, 43, 60,247,220,103,185,250,244, 5, 46, 92,220, 1, 82,164,146,228,121,156,179,183,
+245, 26,215, 68, 87, 45, 37, 2,163, 94,129,247,176, 40, 43,142,167, 43, 56, 62,128, 36,197,228, 9,231, 46, 92, 32,184,134, 63,
+250,179, 55,185,121,231, 78,119,223,186,150,145,107, 63,158,149,249,134, 87,239, 31,242,173, 27,183,249,214, 27, 55,248,230, 59,
+183,120,253,253,251, 28, 61, 60,224,111,254,230,207,242,175,255,173,223,224,185,207, 63,207,203,223,191, 1, 62,233,124,234, 13,
+ 56,199,124,255,128,111,253,193, 87,113, 50,176,181,115,129,243, 59, 99, 76,146,224,173,167,109, 90,218,117, 77, 83,215,209,110,
+ 80, 43, 66,112,172,150, 11,130,117,184,182, 97, 62,157,226,108,131, 76, 20, 77, 85,178, 90,158, 48,159,159,176, 88,156,208, 31,
+ 12,192, 4,214,235,146,123,119,222, 35, 79, 11,206, 95,218, 34,205, 13,111,188,123,151,178,110,184,246,204, 37,108,240,172,171,
+138,197,106, 78,101, 43,130,176, 44,203, 37,141,179, 52,117, 69,235,124,244,118,150, 18, 33, 4,121,146,209,239,231,108,109, 71,
+ 3,163, 55,110,220,224, 15,255,155,239,176, 62,120, 43,222,143,147, 25, 63,216,219,227,206,222, 30,215,174, 61, 65,154, 25, 80,
+ 10, 87,133,152, 16, 18, 8, 33,154, 25, 37,137,193,249, 22, 79, 32, 87,134,254,104, 68,150,230,236,236,236,208, 75, 21, 63,243,
+175,188,200,231,158,122,134,157,157, 45,116,146,163,154,166, 91, 67,143, 82, 10,111, 3, 66, 9,180, 74, 56, 55, 57,199,214,198,
+132,203, 82,115,174,153,243,185,237, 45, 66,219, 66, 47,227, 7,245,154,240,240, 8, 76,194,221,188, 32,144,242,181,218,130,110,
+225,193, 49,225,180,203,214,218,174,117,216, 80,175, 42,246,122,134, 80, 90, 88, 77,227,115, 83,251,216, 37,203,123, 80, 86,136,
+178,134,190, 66, 12,207, 65,181, 64,212,209, 79, 65, 74,133,208, 6,217, 58,148,116,136,166,197,214,142,107, 90,114,181,223, 99,
+ 39,205, 25,233,148,145,206,185,188, 94,241,215,151,199,252, 39,235,138, 47, 52, 11, 70,206, 33,165, 34, 73,251, 28,201, 56,190,
+154, 53, 13,213,226, 4,218,134,178,182,228, 89, 74, 42,225,252, 36,229,217, 97, 78,145, 36,160,100,172,140, 58,190,117,107, 20,
+171,218,163, 80,204,219, 64, 46, 4,195, 52,195, 98, 64, 40,140,202, 16, 68, 1,163, 86, 42, 42, 28,115, 33, 9, 90,197,106, 73,
+234,232,223,254, 35,186,113,225, 49,110,202,237, 34,163,202, 4,119,154,134,127, 60, 93, 99,219,238,240, 93, 55, 28, 41,193,179,
+147, 17, 27, 74,163,129,149,181,108,165, 5,214, 7,214,193,161,165, 66, 11,205,210,183,100,202,144,134,192, 73,185, 68,249, 22,
+223, 86,148,193,211, 11, 18, 83, 69,189,137,122,218, 80,213, 45,198,122,180,146, 36,202, 32, 90,135,106, 29, 74, 5, 22, 90,211,
+ 47, 82,122, 74, 48,208,146,139,253,132,177, 74, 9,214,177,157,100,104,225,193,214, 76,122, 19,114, 37, 17, 89, 74,223,104,132,
+151,108,102, 3,130, 82,140,148,226,114, 63, 39,213,145,138,252, 45, 27,184,172, 19,238, 5,120, 58, 81,220,108, 3,151, 18,195,
+210,123,122, 77,131,211, 10,211,214, 28, 6,131,161, 97,209, 74,250,162,101,209, 90, 54,149,228, 36, 56, 76,128, 77, 41,121, 24,
+ 2,215, 84,194,187, 33,240, 41,173,121,197,181, 60,111, 50,110, 56,203, 19, 58,229,166,247,140,211,130,251,174,225,102, 48,188,
+208,211, 36, 58, 71, 10,203,162, 12, 20,169,161,213,134,147,101, 75,146, 72,150, 65,115, 61,145,236,121,199,180, 93,147, 4,216,
+ 78, 18,246,171, 53,101,128,182,170, 8,210, 61,162, 5, 7,225,227,200,164,163,239,253, 72, 22,207,135, 0,202, 93, 85,223,205,
+183, 49, 50, 2,168,219,216, 78,151, 74,211, 79, 18,192,179,105, 52, 13,146,129, 84, 8,163,162, 56,152,235,132,198, 78, 65, 85,
+ 46,116,214,222, 34,198, 31, 73,236, 42,107, 5,165,251, 16,131, 76,252,136,198,117,248, 33, 58,255,167,239,191, 88, 65,253,113,
+ 78,184,150,145,122,147,152, 51, 21, 52, 31,226,251,212, 63, 61,116,173,144, 83,218,155,140,170,177, 52,117,156, 29,219, 54,242,
+ 90,179, 52,182, 57,172,143,193,189,113, 4, 37,232,208, 85,103,105,155,236, 16,253,159,228,175,110,116,164,149, 36,105, 68, 49,
+158, 42,238, 5, 16, 34,116,238,108,142, 7,193, 50, 16,125, 30, 30, 44,216,221,223,231,246,225, 30, 95,188,242, 2,227,193, 6,
+155,197, 38,139,106,129,109, 26,202,186, 68,139,132, 44, 43,176, 77, 77,107,107,198,185,102,104, 18, 46, 76,182,184,254,236, 85,
+ 54,198, 3,164, 12,180, 45, 84,117, 77,189,110, 88, 87, 75,108,168, 70, 44,229, 0, 0, 32, 0, 73, 68, 65, 84,211,224,124, 29,
+141,226, 84,244, 97, 89,217,154,233,170,101,117, 52,139,135,246,106,201,131,217, 9, 95,123,247, 3,222,190,117,204, 55, 95,127,
+ 7,246,119,187,204,209, 70,240,134,111,207,118,202,227,187,108, 57,135,197, 18,151, 12,248,242,245, 39,249,194,181,107, 60,115,
+241, 60,207,191,112,157, 81,209, 71,169,148,175,127,247,205,174,131,210,117, 83,100,167,244,167,224,253,183,239,243,205,255,231,
+107,156,148, 21,195, 98,192,230,206,136,209,100, 64,146, 39,164,121, 78,214,239,145,247, 50, 6,163, 33,195,141, 17, 74,106,156,
+183,136, 16, 98,117, 93, 53,180,174,197,152,132, 36, 51, 12, 55, 38,164, 69, 65, 83, 47, 41,215, 75,180,145, 12, 55, 71,120,233,
+152, 46,102,180,117, 69,214,207, 56, 56,154,114,251,238, 17, 34, 52, 8, 44, 74,197,245, 52,105, 66,158, 39,244,123, 61,146, 68,
+ 97,140, 33,207, 18, 54,198, 99, 6,227, 1,105,150,241,230, 59,239,240,251,255,244,101,238,189,241, 10,164,211, 15,175,253,124,
+193,131, 27,239,241,135,239,222, 34, 43,107, 46, 93,185, 72,175, 95,160,141,129, 16, 80, 42, 33, 49, 41,173,111,144,104,134,195,
+ 49, 59,151,174,112,241,226, 69,206,109,109,112,113,103,192,114, 85,147, 26,205,249,205, 30,147, 81,159, 81,207, 80, 53, 48, 95,
+205, 40, 76,202,185,201, 22, 91,147, 29,156,141, 7,202,100,115,147,235,215,159,194, 58,203,104, 49, 37,221, 28,211, 38, 41, 15,
+130,228,253,208,226,238, 61,132,121, 69, 35, 90,238, 38, 41, 33, 73,226, 66,150, 43,152,205, 62, 30,168,108, 32, 16,221,208,132,
+ 3,234, 16, 1,115, 73, 47, 82,112,124,196,169,136, 85, 5, 59,231, 35, 23,122,122,130,104, 90, 68, 93, 33,147, 20,233,107,100,
+ 43,209, 73, 74,235,107, 22,222,242,249, 34,101, 59, 45,216,208, 25,133, 50,100,214,163, 29,252,122,179, 96,190, 94, 96,189,199,
+244, 71,180, 38,101, 97, 18,202, 0,181, 20,228,109, 69,175,173, 8,120, 26,153, 96,242,148, 79,111,246, 40,164,196,104,141, 86,
+ 18,167, 4,109, 0,169, 4,135,141,231,225,172, 98,229, 3,206, 59,180,107,112,193,163, 4,104,165,168,136,174, 87,190, 3,231,
+173,189,165,150,130, 6, 31,253,219,125,244,143,136, 29,192,240, 67,169,166,167, 2, 76,161, 12,220,202, 50,222,113,129, 42,209,
+145,239, 93,198, 10, 44,132, 64, 37, 96,167,151,115, 78,105,140, 78,153,186, 6, 45,162, 22,115,233, 45, 54, 56, 10,169,152,219,
+ 6,139,164,118, 22,237, 26,158, 85,154, 52, 4, 86,222, 49,146, 10,150, 77, 44,238, 26,139,145,138, 20,137,116, 93,178, 88, 53,
+120,223, 18,250,154,202,193, 48,209, 60,181,153, 98,172, 39, 33,112,161, 63, 96,189, 42,217, 30, 12,152,203,132, 32, 36, 42,201,
+ 25,103, 5,235,160, 25,231,125, 86,222,177,221,159,112,185,159,113,212,120, 68,154,243,245, 69,201, 19, 70,115, 79,105,174,104,
+201,237, 10,158, 72, 5, 15,188,167,215,212,180, 74,144, 32,152,121, 24, 11,207, 34, 56,156,171, 88,121, 79, 79,192,212, 89, 70,
+ 34,208, 4,112, 66,241,164, 50,188,227,107, 46, 33,121, 75,192,139, 73,206, 93,147,112, 81, 27,222, 15,158, 45,224,166,183,220,
+106, 2, 99,165, 17, 34,197,168, 22,169, 12, 46, 40,242, 68,115, 48, 91,115,105,212,227,214,178,225,124, 10,123,117, 60,114,135,
+ 66,179,198,211, 84, 75,250, 58, 2,217,166,173,135,218,117,113,188, 27, 39,186,174, 98,167,253,208, 56, 88,252,200,192,222, 81,
+183, 37,177,170, 86, 93, 7, 51,209, 32, 4,218, 40,180, 8, 8,161,169, 3,228, 38, 42,190, 89,239,185,152, 37,216, 16, 72,164,
+166, 57,125,202,132,239,204,204, 58, 1,142,214,198,207, 13, 81, 34, 59,130,202,221, 79,116,109, 31,235, 34,125,200,137,228, 47,
+ 98, 80, 63,173,216, 53,177,202, 62, 69, 25, 6, 1,153, 62,203,138, 66,151, 37, 9,206,130, 54, 33,234,214,159, 86, 41, 74,198,
+118,189,236,104, 76,167,115,118,219, 5,241,211,155,172, 58,142,187, 13,159, 44,190, 34, 85,220,101, 74, 67, 34, 17,182,107,142,
+216, 40,136, 33,124,183, 20,147,130,205, 68, 17,218,138,182, 89, 51,204,198, 12,178, 13,198,189, 13, 82,147,179, 63, 59,226, 79,
+223,121,133, 7,211,123,164,166, 3,240,219, 21,219,147, 30, 87,182,119,184,176,125, 30, 33, 2, 89,175,143,144,146,229,186, 97,
+255,254, 17,171,249, 17, 77,211, 80,214, 75, 42, 91, 67, 80,100, 73, 15, 17, 2,141,107, 89,149,150,195,101, 69,187,255,160, 75,
+ 74, 4,172,150,132,189,125, 14,110,223,128,249, 97,108, 1, 53,117,100, 12,156,142,196, 69,231, 25,239, 31, 31, 9, 5, 24,158,
+227, 75,159,251, 28,159,123,234, 51,108, 76, 70, 12, 71, 3,114,147, 80,149,150,147,147, 57,127,254,199,223,141,247,227, 20, 40,
+226, 60,143,124, 44, 67, 60, 56, 31,188,123,135,239,125,227, 21,190,250,251, 95,161,244, 45,118, 81,146,100, 25,218,104, 76,146,
+208,235,167,100,121, 70, 49, 72,201,250, 61,138,241, 16, 41,226,140,209,152,200,107, 46,215,107,132,247,180,109,137, 50,134,209,
+214, 38,147,173, 9, 38,139,114,146,171,229,154,182, 46, 89,204,230,252, 79, 95,251, 42,111, 63,188,195,107,239,191,207,139, 47,
+ 60,207,104, 60, 32, 43,114,242, 34,167, 63, 28, 48,220,218,160, 55, 26, 50, 26, 14,201, 7, 3, 30, 62,120,200, 31,252,224, 13,
+190,245,199,175,113,247,198, 13, 16, 77,236,100,124,146,254, 63,192,193, 49, 55, 30, 30,241,167,175,252,128,151,222,191,197, 83,
+227, 17, 27, 23,207,113,241,218, 14,147,157, 13,174, 61,125,149,171, 79, 62,193,151,191,240, 44,151, 47,109,199,138,190,245, 28,
+ 28, 46, 81, 70,112,245,226,152, 11,219, 35,138,110, 22,183,118, 2, 91,195,120,188,193,245,207, 62,199,198,249, 77,124, 11,227,
+141, 45,130, 80,124,243,187,127,198,255,245,181, 63,229,202,192, 80, 37, 61,110, 91,199,251,117,195,131,147, 99, 56, 41, 35,178,
+118,177,142, 98,210, 42, 33,168, 4, 50, 96,247,232,227,123,216,119,192,161, 68,209,223,238,211, 76,151, 49, 57,221,158, 64, 47,
+141,221,155,147, 21,162,138, 54,172,226,210, 21, 68,166, 16,203, 88,177, 11,219,198,194, 38, 81, 40, 91,161,147, 60, 66,112,234,
+146,103, 82,195,185,172, 79,142, 32, 73, 82,180, 80,104,161, 72,109,203, 94,112,212, 89,206, 74, 42,132, 80,220, 77, 52, 67, 23,
+216,193,177,227, 42,138,245,138,123,190,161,213, 3, 14,215,150, 39, 38, 57,163,212, 32,133, 32, 81, 10, 39, 4,247, 74,203,254,
+210, 50,135,200,176,168, 75, 42, 91,209, 75, 4, 58,207, 8, 40,180, 50, 88,235,168,157,163, 9,158,181,247,248, 16,240,161,229,
+178, 4,167, 12, 91,169, 97,126,122,216, 58,247, 49, 91,211,179,152,238, 99, 23,235,104, 69, 91, 36,209, 69,177, 13, 4,215, 85,
+ 96,222, 49, 79, 36,207, 22, 41,149,212, 36,161, 69,201, 8,228, 83, 34, 96, 2,148,221, 17,229,130,224,196,214, 76,189,229, 98,
+154,115, 94, 37, 12,148, 38, 13,142,224,160, 39, 37,210,123, 86,214, 82,152, 4, 35, 64,218, 0,101,139,181, 21,181,183, 52, 82,
+ 97, 10, 77,150,105, 18, 96,160, 84,244, 95,106, 28,231, 70, 3,150,141, 71, 42, 67,158,101, 88,239,104,164,166,151,167, 88, 7,
+ 73, 62,164,144,154, 36, 27,112, 97,208,227, 36, 8,206, 21, 9,135, 30, 46, 42,120,109,110,121,118,100,248,160,134,205,208,224,
+211, 20,215, 97,154, 6, 1, 30, 54, 37, 85, 8, 88,160, 23, 2, 11, 60, 61,107, 89, 3, 19, 20, 66, 4,142,133,231,146, 52,220,
+146,130,103,149, 38,223,220,224,103,175, 92, 36,152, 20,225, 60, 47, 55, 53, 54,104, 22, 68,109, 9, 25, 4,189, 84,177,108, 53,
+ 89, 18, 88,148,158,113, 79,115,111,222,240,244, 64,115,119,225,216, 52,150,131, 42, 32, 69,139,243, 1,109, 12,218, 59, 14,215,
+ 37,165,117,113, 2,107,195, 35,230, 85, 76,216, 92, 60,159,127,196, 8,245, 99,129,212,116, 69,161, 74, 8, 65,117,198, 86,177,
+104, 75,141,138,251, 16,129, 59, 5,187, 91,216,233, 71,225,172,177,209, 72, 31, 53,250,131, 20, 81,243,228, 84, 81,203,117,212,
+234,166,142,231,106, 85,198,239,249,132, 78,176,248, 73,175,245, 49,238,212, 95,204, 87,219,137,200,152,238,103,167,151, 30, 45,
+206,220,199, 43,251,212, 68,138, 26,254,140, 27,104,187, 22,100,234, 33,164,103,201, 66, 47,129,117,211, 45,126,135,254,246, 54,
+ 34,209,101,120,172,221, 46, 59, 49,154,142,163,104,146,168, 0, 87,241, 88,235,223, 67, 11, 65, 91,196,218,195,170, 33,139, 34,
+244,244,211, 30,203,218, 71,197,174, 36, 97, 54,155,115,178,154,226,214, 37,203,101,205, 75,205, 91, 20,201,123,188,112,110,139,
+ 39, 46,126,145,241, 96,128, 80,154,221,221,154,219, 55,223, 66,233, 12,223, 10, 2,142,218,181, 84,109, 69,109, 27, 18,157, 50,
+200,198,228, 38, 99,152,111,128,183,124,160,119,185,113,123, 55,106,206, 7,255,216,142,240,103, 6, 52,167, 6, 46,167,255,221,
+119, 40, 81,249, 17,125,120, 37,217,122,230, 50,207, 61,113,157,162,151,162,141,232, 4, 9, 28, 89,174, 89, 61, 88,193, 56,242,
+245,169,237, 25,135,191, 37, 2, 21, 79,191, 47, 77,163,164,112,145,241,205,127,242,149, 15, 45,217,214,207,127,153, 47, 95,186,
+200,206,165, 11,108, 94,218,161,215, 75,163,145,195,206, 24, 24, 83,151, 13,109, 99,217, 60,191,137, 78, 53,193, 6,180, 86, 24,
+163,113, 56,218, 54, 32, 26, 24,140, 11,240, 5,179,121, 11, 14,146,196,208,224,216,186,184, 77,145, 75,108,235,104, 92,180, 80,
+172,214, 53, 15,239,220,229,229, 59,247, 25,228,155,188,250,202, 59,176, 60,129, 81, 15, 84, 63, 38, 61,131, 1, 84,139, 31,190,
+ 47,143, 14,224, 8,170, 15,238,241,143,254,252, 53,184,124, 9,113,239, 62,124,246, 57,254,237, 95,252,121,242,254,152,147,217,
+144,117,217, 32,189,192,100,154,141, 73,193,197,113,143,205,126, 30,111,181, 10,100, 89,194,120, 99,128,200,158,138, 57,102,112,
+188,247,250,219,220,188,123,139,239,220, 63,198,189,113,227, 81,166,254, 63, 31,205,225,115, 21,253,237, 77,150,149,139,251,124,
+ 18, 45, 90, 89,151,240,246,109,120, 14, 24,111,198, 53,185,176, 5, 15, 30,126,188, 5, 41, 91,168, 44, 75, 27, 80,231,183,113,
+211,101, 68, 72,123, 31,147,103, 5,193, 27,196,209, 9,197,106,202,246, 96,192,223,253, 75,159,227, 63,251,230,171,132,195, 99,
+ 66,154,198, 25,117,154,226,109,131,175,107,222, 12, 3,158,184,251,128, 43, 89,143,190, 15,120, 17, 53, 4,164, 25, 82,104,195,
+197,197, 62,223,174,215,164,185,102, 46, 20,231,164,166, 48, 30,237, 13,198,123, 60, 45, 27,135,119,121,133, 30,215,253, 14,193,
+ 7,166,139,146, 36, 75, 9, 9, 28, 90,199,173, 38,112, 79, 8,166, 70,179, 30, 22,132,249, 17,185, 84,152, 40,102, 64,227, 37,
+ 38, 13,132, 32, 49, 65,179,196,113, 65, 11, 46, 6,197, 40,233,113,210,180, 60,145,215, 44, 74,197,177,179,172, 67,244, 68, 8,
+118,246,232,240,252, 88, 85,100, 45,193, 46, 16,183, 90, 56,191,217,177,124,116, 44, 42,172,195,150,150,223,187,191,207,111,157,
+111,217, 28,109, 49, 17,130,147, 54,130,214,234,206,123,161, 1,234, 16, 56,180, 45,151,101,108,221,150, 50, 97, 32, 37, 35,149,
+160,133, 96,214,182,232, 16, 24,231, 5, 39, 39,199,168,209, 8,103, 59, 54,135,130, 22, 73,161,163,131,161,243,158,214, 41,234,
+ 16,216,206, 82,150, 30, 92,221, 48, 25, 20, 20, 54,227,110,213, 48, 23, 1,211, 56, 74,171, 49,198, 80,118, 93,233,220, 68,225,
+156, 76, 75,222, 95, 58,174,247, 13,239, 86,158, 79, 15, 52,239, 54,130,103,211,192, 7, 54,101, 80, 47, 8, 70,227,202, 37, 78,
+ 39, 20, 74, 49, 7, 66,221,114,220,180,108, 72,207,158,135, 75, 34,112,151,154,167,125, 70, 89,150,188,102, 44, 82,106,222, 49,
+ 9,127,189, 55, 96,175,178,232, 36, 97, 79, 73, 74, 11,135,180,188,238, 20, 47, 72, 79,161, 60, 8,195, 80,181,204, 42, 77,145,
+ 6,110,207, 27,158, 26, 24, 94,155,183,252,204,200,240,234,220,243,124, 22,120,173, 42,184,172, 22,212, 94,162, 4, 60, 53,200,
+185,177,104, 33, 84,157, 86,129,136,133, 73,211,169,141,214,205,143,197,101,127,232, 85, 55,145,223,111,125,180,172,182, 10, 82,
+ 79, 63, 79, 41,157,199, 8, 73, 21, 44,163,212, 80,119,137,151,109, 3,131, 84, 81, 57,135, 38,160,235,192, 80, 72,142, 17,157,
+125,136, 63,147,232,126, 4,198, 78,160,250,209, 99, 31,241,227,174,245, 47,124, 80,167,163,202, 85, 26,122,157,145,129,239, 76,
+ 83, 76,215,102,207,116,231,212,214, 41,250,168, 54,222,208,143, 46,108,221,196, 0, 45, 0,147,241,185, 47,127,150, 87, 31,238,
+194,205,135, 93,251,221, 71, 58,130,247,144, 41,240, 89,180, 27,236,247,224,104, 5,182, 59,228,155, 42, 6,255,196,196,162,182,
+249, 48, 27, 48, 72, 16,101,205,178, 90, 51,206,199, 72,157,147,138,136,164,124,112,248,128,101,185,226,198,253, 93, 88,175,226,
+130, 85,115,214,153,102, 53, 54,120, 91, 1,125,172,107,113,206, 81, 55, 45,213,122, 65,221,214, 56, 31, 40,215,109,172,208, 85,
+198,165,173, 1,193, 11, 60,138, 65, 49,192, 57,207,249,144,194,242, 43, 49,249,208, 81, 69, 12,253,120,251,149, 78,146,246, 49,
+141,247, 46,167,161,149, 17, 80,120,122,240, 95,186,198,139, 87,158,227,220,165, 49, 74, 72,166, 39, 43,154,229, 17, 23,175,108,
+210, 88,199,249, 11,219,252, 91,127,247,183,185,191,191,199, 87,126,247, 27,113,151,213, 31,161, 3, 42, 25,233, 26, 69, 63,126,
+143,214, 31, 10, 50,135,223,248, 30,255,247, 71,150,251,249, 95,255, 5,206, 15,134, 92,190,112, 1,157,166,209, 44,102,144, 19,
+214,241,175, 80, 38,193,152,216,154, 13, 68, 31,227,100,144,196,153,109,223,242,239,252,198,111,242, 63,254,238,255, 1,137,100,
+ 53,157,242, 15,254,241, 31,241,215, 62,245, 52, 47, 63,120,200,222, 91,135,224,231, 29, 87, 31, 24, 63,140,215,109, 4,156,204,
+ 64,218,104,247, 57,159, 71,225,142, 79,218, 71,159,240,208,137,123,247, 9, 90,195,107,111,243, 15, 95,123, 27,145, 38,241,225,
+172, 27, 68, 54, 64, 84, 11, 68, 22, 19, 5, 9, 92,251,249,207,147, 11, 73,166, 5,115,235,184,249,221,183, 8, 42, 33, 96, 9,
+235,234,147,219,110,243, 5,124,247,109,150, 23, 54,249,149,107,231,216, 40, 18,244, 83, 59,124, 35, 9,220,123,247, 30,172,102,
+ 48,155,119,163, 42, 96,115, 12, 71, 11,176,179, 15,127,206,218, 66, 1,159, 27,245,248,181,141, 33,127,248,193, 46,175, 77,203,
+199, 18,229,206,180,104, 81,178,126,235, 29,254,189, 95,250, 87,249,213, 43, 87,248,222,157, 15,248,202,201,148,160, 51, 66, 57,
+195,215, 41,193,181,248, 34,199,219,134,175,238, 62, 96, 35,215,252,246, 19,134, 68,106,196,112,130, 84, 26,153,123, 6,118,200,
+206,234,128,239,155, 6,163, 13,185,148, 72, 31, 72,147,148, 53,240,245,241,121,158, 20,130,155,111,127,139,244,250,151,249,218,
+219,142, 43,155, 99,206,111, 11,110, 79, 29,119,173,228,102,235,152, 9, 73, 83, 36, 32, 5,230,220, 5,204,238, 29,150,171, 5,
+ 65, 74, 6,169, 97,186,136,159,185, 12,150, 11,202,145, 72,131,146, 22,227, 51,114,235, 88,147,177, 47, 2,131, 60,103,221, 2,
+227,110,141,171,197,135,166, 79,143,227,151, 5, 16,170, 10,238, 31, 64,158, 66, 54,140,103,142, 74,161,113, 44,108,224,165,116,
+ 65, 38, 52, 39,105,198,197, 98,192,180,142,200,229,212,228,148,182,225,184,169, 24,104, 67, 38, 4,243, 0,219, 38, 97,209, 21,
+152,133, 78, 24,229, 25, 78,104,230, 74,209, 26,201,251,174, 97,220, 88, 18, 99,168,188,163, 41, 82, 90,162,100,114,161, 21,171,
+214,147,107,137, 13, 34,226, 48,128,158,138, 9, 89, 91,150,108, 37, 5,119,155,146, 60, 49,148, 1,242, 16, 71,135,109, 16, 28,
+ 5,200, 43,203,103, 6, 41,223,157,213, 92,235,105,238,183,146, 23, 18,199,205, 82,178, 65,203,145, 74, 56,215,214,172, 76, 66,
+181, 94,113, 36, 36,206,149, 52,222,146, 8,203,145,109,217, 86,130,131,170,102,146, 24, 94, 46,167,108, 38,154, 89,235,201,141,
+160, 89, 46,120,115, 62,101,167, 24,208, 42,197,126,213,114, 76,224,165,202,145,104,199,107, 94,177,145,192,162,180,228, 89,142,
+162, 97,182,242, 92, 30, 38,124,176,104,248,153,190,228,141,185,229,201, 68,240,176, 85, 60,171, 27, 94,159,195,115,121,194, 92,
+165,220,106, 43, 66, 47,237, 76,196,154, 56, 58,170,218, 24,234,214,213, 99, 54,211, 63,197,107, 93,129,182,192, 8,180,131, 84,
+179, 44,163, 5,184, 74, 52, 70, 73, 78,170,134,171,147, 28,103, 29,202, 67,229,186,159,165,143,221,251,224,200, 92, 96,237, 79,
+129,112,174, 19, 71,235,108,185, 87,117, 84,240,252, 88,116, 62, 59, 23,195, 79,120,185,127,177,131,186,237,204, 90,172,232,120,
+241,167, 64,183,110, 6,184,110,206,156,196,188, 61, 19,161,249, 97,175, 58,222,145, 87,191,246,221, 24,196, 79,171,124,255, 24,
+131, 85,105,200, 61, 12,134,144, 36,176, 9,220, 95,156, 93, 79, 49,138,115, 75,162, 17,156, 56, 21,199,137,189,108, 66,101, 89,
+ 85, 48, 26,166, 36,186, 79,101, 75,102,229,130,195,213, 49, 55,238,220,135,227, 67,130,179,103,127, 15,176, 55,171,216,189,127,
+135,114, 62, 71, 38,154,227,195, 99,102,213,138,101,185,102,209, 54,204,203,134, 89,105, 9, 8,158,191, 50, 68, 7, 69,150,229,
+ 60,249,204, 14,219,163, 62, 71,179,134,219, 47,223, 60, 83,195,179,182,227,101,126,244,126, 62, 6,250,163,235, 62,160,161,144,
+103,120, 57,145,130,244, 92,184,124, 1,219, 88,218, 16,216, 59,184, 79, 18, 26, 54,199,151,209, 74, 98, 93,206,106, 85,113,113,
+107, 11, 46,244,225,224, 48,118, 56,156,238,172, 95, 57, 83, 91,114,116,155, 89,254,216,135,237,173, 63,252, 58,111,253,184, 61,
+145, 13, 98,226, 49,216,140, 24,135,209, 32,234, 18, 68, 21,147,136,230,247, 9,255,221,255,246,207, 64,106,254,224,149, 55, 35,
+182,162, 7, 52, 58, 6,240,193,168, 67,166, 42,200, 4, 60, 60,140,166, 70,117, 27,215, 28,162, 62,182,254, 49,160, 27,173, 9,
+137,142,163, 23,173, 99, 98, 87, 87, 80,100,136, 52, 33,132, 78, 40, 41,212,241,223, 74,114,251,123,111,197,251,178,174, 8,105,
+210, 5,241,179,128,254, 67,179,116, 95,145,174, 87, 60,169, 36, 89,175,143,149,112,237,252, 6,247,238, 29, 16, 86, 37,236, 29,
+193,176,224,133,193, 6, 23, 47,247,184,163, 20,239,190,249,206, 25,112,168,110,226, 22, 77, 13,255,218,198,144,207, 14, 55,153,
+143, 23,188,246,238,126, 12, 96, 33,196,102, 12,113,189,194,114,205,195,245,140,111, 60, 52,188,221, 27, 17,178, 30,161,138,230,
+ 61, 62,149,184,218,224,106,143, 5, 92,240,252,222,238,140, 47,101,247,120,214, 24, 84,145,161,210,113,167,253,225,216, 94, 44,
+113, 70, 99,116,194,148, 64, 38, 21,149,119,100, 73,198,103,183, 71,220, 45, 87,136,237,243,188,250,218,119,120,227,254,132, 47,
+ 61,241,105, 38,147, 45,230,105,202,221, 0,239,229, 25, 33, 55,204, 67,202, 36, 79, 25,140, 28, 75,127,145,254,209, 62,231,219,
+146, 89, 89,145,100, 57,203,166,226, 82,174,187,238, 86, 4, 58, 89,111, 59,134,131,229, 66, 47,101,160, 28, 39,141,165,246, 41,
+ 34, 73,192,234,179,231,229,163, 1,189,139, 16,162,245, 4,106, 4, 93,155,183,167, 64, 37, 60,159,107,246,214, 45,239,172,151,
+ 60,157, 24,254,232,240, 62,207,245, 71, 28,122,199, 86, 8,212,214,178, 36,208,247,150, 82,106,158,205, 10,142,156,101,164, 52,
+ 74,105,166,206, 17,156, 71, 38,130, 96, 18, 10,163, 88, 24,201,155,194, 80, 87, 53,163,126,206,229, 65, 78,138,164, 10, 1,221,
+ 56, 92, 8,132, 54,138,103, 89,231,232,167, 9, 77,235, 49,222,115,177,215,227,157,213,138, 65,166,153, 89,143,129,200, 51,111,
+ 27,210,212, 80, 54,146,144, 41,246,125,224,185,161,230,161, 15, 92, 48,112,215,195,166,180,148, 66,176,221,192,162, 13, 72,219,
+112,136, 32,109, 74, 30, 46,215,100, 58,174,181,108, 26,246,218,134,212,104, 30, 54, 21, 3, 20, 95, 63, 92,241,194, 48,227,235,
+243, 53,151,250, 67,254,217,221, 7, 60, 61, 26,242, 96, 89, 17, 18,197,141,202, 50, 16,130,169, 85, 24, 42,110,161, 24,209,112,
+137, 64,158, 27, 84, 82,208,184,134, 29,227,185, 97,115, 54,243,146,147, 50, 10, 88, 89, 18, 46, 23, 37,149,119, 44,116,202, 42,
+ 73,226, 94, 30,100, 81, 99, 99,255, 48, 62,255,161,254,240, 25,247, 47, 18,107,234, 5, 52,105, 92,252, 60,129, 36, 97,229, 61,
+153,247, 76,180,161,170, 45,185,136, 0,105,237, 61,179,178,165,200, 21, 7,179,166, 59, 14,196,217,216,183,237, 68,205,232,152,
+ 89,202,158, 61,139,143,206, 96, 27,223, 31, 9,238, 63,238,245, 23,115,166,254,161,150, 97,135,130, 23,221, 35, 39,100,188, 97,
+153,236,110, 26,143, 85,219, 33, 6,182, 79, 2,186,157, 26,190,200, 83,213,185, 83,222,123, 56, 67,131, 75, 25,219,215, 60, 70,
+163, 91, 46,207, 42, 54,173,163, 12,163,245,103, 7,190,235, 84,130, 20,160, 21,201,213, 43,124,241,201,231,185,184,125,149,162,
+ 55,194,136,140, 15, 78,238,115,239,232,152,102,239,222, 25,245, 66,200, 88, 37,154,132,205, 34, 65, 72, 71, 93,149, 44,214, 11,
+ 86,117, 77, 93,151,236, 46, 87,220, 63, 92, 80,238, 45,163, 40,144,146,108,111, 79, 24,154, 30,253,162,207,103, 94,184, 64,145,
+ 37,152, 68,241,237, 55,239,114,240,230, 75, 63, 5, 29,209,159,221, 96,147,116, 42, 72,221, 61, 50,138, 81,209,163,151,245,152,
+ 77, 79, 56,153, 31,113,126,107,131,205,241, 4,147,104,150,101,131, 13,129,166,105,120,229, 27, 95,239,184,154,221, 40, 66,158,
+ 81, 65,162,140,176, 63, 83, 5,108,237,255,247,253,160, 58, 42, 9, 73, 76, 74,178, 36,182, 73, 90, 11,182,142,127,203,186,142,
+120, 11,213,141, 23,144, 48, 93,194, 98, 17,245, 0,132,138, 26,226,167, 56,139, 85, 25,255,127,103,227, 79,223,173,175,215,103,
+ 0,202, 79, 50,249, 49, 49,145,139,162, 19, 62, 50, 91, 30,243, 28, 66,117, 10, 83,117, 67,208,170, 19, 76,234, 16, 64, 82,158,
+ 85,229,178, 99, 82,104, 69,112, 46,238,179, 83,199, 65,211,237, 85, 37,177, 2,158,221, 28,162,250, 61,230,222,243, 86,217,112,
+178, 92,198, 68,183,106, 97,210,231,122,127, 72,145,231,204,157,229,160,108, 16,101, 21, 19,139, 52,237,186, 53,134, 89,154, 16,
+180,224,119, 79, 42,214,181,131,118, 9,210,159,209,109, 68,138,168, 26,190,125, 60,227,196,192,161, 54,172,235, 18,177, 88, 32,
+122, 3,100, 83,162,130, 66,202, 22,105,114,164, 3,233, 74, 70, 46,240,252,230, 24,147,230, 49,217,173,203,104,250,226,214,188,
+237, 45,109,154,210, 51,105,180,120, 37,112,208, 68, 97,141,255,101,252, 4,193,199,110,133,189,191,203,157,195,247,121,107,239,
+ 54,183,246,239,178,191, 94, 81,175, 42,234, 32,232,121, 79,147, 37,212, 89,130, 79, 12,106, 48,132,164,207,192, 11,180,111,241,
+ 66,176, 21, 44,153,209,244, 67,192, 8, 65, 8, 1,139,196,116,254, 6, 83,219, 50,212,134,195,170,134,117, 27, 61, 31,252, 39,
+ 3,171, 68,151,233, 10,186,202, 11, 27, 37, 87,211,140,223,121,114,135,191,119,237, 58,231, 50,197, 43,213,138, 87, 79,214,120,
+169,152,226,145, 74,243, 65, 83,210, 42,197, 68, 40,174, 38, 25, 67,161,162,229,179, 0,100,188,255,167, 14,146,214,100, 88, 5,
+137,214,172, 2, 44, 19,197, 58, 49, 12, 51,195,112, 16, 21,246,122,169,230,216, 90, 18, 4, 1, 56, 92,173,217, 74, 52, 7,101,
+205, 36, 79, 41, 91,135,181, 22, 27,160, 85,154,224, 26,218, 32,177,109,139, 48, 9,179, 54, 48,236, 41,170, 74, 32,132,197, 5,
+ 65, 30, 2,107, 4, 67,235, 88,120, 71,210,182,172, 93,203,134,173, 57,176,150,121, 91,242, 94,109,209,173,229,184, 92,211,148,
+107, 22,174,197, 16, 56, 90,213,140, 19,195, 91,243, 21,147, 94,198,219,139, 53,151,132,228,173,249,156, 3, 91,243,157,195, 3,
+ 50, 35,248,206,241, 17, 79,106,193,157, 0, 33, 56,146, 32, 25, 59,139,209, 73, 52,195, 14,142, 32, 28, 19,173,121,183, 12, 92,
+144, 21,199,107,207,197,141, 30,247, 79,214, 36,210,211, 87,154,227,186,164, 72,163,127,125,169, 19, 26,225,226,115,155,117, 12,
+ 41,107,127,226,160,248,195, 7,238,157,152,140, 54,241,140, 70,225,188,143,213,186,144,132,214,210, 75, 13,107,219,208, 4,135,
+212,112, 82, 58,140, 11, 44,154, 54,186,129, 6, 65,104, 58,108, 78, 91, 66,217, 57,136,226,227,179,255, 40,174,157,130,154, 78,
+103,159,246,172, 91,252,255,251,160,238, 59, 41, 49,173, 58,222,122, 23,200,219,112,134, 42,116,237, 89,228,246,174,171,214, 62,
+ 9, 81,223, 1,226,132,234,130,184,138,191,211,214, 93,203,186, 58,227, 28, 54, 54,122,174, 55,143, 41,234, 25, 29,171, 65,249,
+ 24,176, 76,158,185,155,137,172,207,139,207,127,134,103,158,188, 78,175,215, 67, 27,197,186,170,184,115,112,159,189,123,119,227,
+225,123,154, 28, 36, 26,146,132,173, 81,206,118,191,160,159,245,144, 82, 82,217,134, 85, 83,115, 82,150,236,174, 74, 88, 86, 81,
+251, 57, 72,212,164,224,252,104, 64, 47, 53, 12,139, 49,219, 59, 27,228,137,102,182,106,248,214,107,119, 89,188,255,131,159,184,
+133,243,216, 13,238, 70, 19,157,236,109,136,148,183,247,235, 21, 7,199,187, 60, 56,216,101, 93, 55, 92,217, 58, 71,222,207, 81,
+194,243,224,225, 17,255,213,239,254, 19, 94,249,202, 55,187,160,103,226,125, 82,242,236,104,124,132, 57,232, 16, 38,173,143,149,
+241,143, 19,247,249, 81,175, 34, 59, 11,138,139, 89,180,225,108,218,174,187,146, 69, 31,128,208,237, 1,239, 98,144,174, 42, 88,
+150,221,247,106,232,231,241,193,245, 62,226, 0,230,221, 92,218,119,202, 21,233,169,211,223,169,196, 36,143, 37, 42,143, 5,118,
+173,227,126, 60, 77, 42,165, 6,235, 59,139,204,186, 75,244,116,164,133,101, 25, 66, 9,196,186,138, 18,188,213, 58, 6,112, 37,
+161,170, 9,173, 37, 56, 23, 3, 58, 68, 3, 14,217,129,118, 78,177, 16,222,131,245,188,225, 53,111,103, 9,175, 84, 53, 83,231,
+ 97,181,132,121, 25,247,112, 19,120, 48,204,153, 33,120,191,177,113,252, 81, 85, 81,191,191, 41, 17,131, 17,120,203,129,144,188,
+ 44, 4,107,147,196,189,188, 92, 67, 43, 17,202,116,186, 15, 18,241,255,114,247,102, 63,150, 93,217,153,223,111, 79,103,184,231,
+ 14, 49,228, 72, 50, 73, 22,139,172, 42, 85, 21, 85, 82, 73,130,160, 22, 36, 75,141, 22, 44,248,193, 3,208, 86, 3,110,219, 13,
+ 63,250, 47, 51,252,110,192,112,195,176,209, 70,171, 37, 75,213,146,154,170, 42,138, 51, 43,147, 57, 69,198,116,167, 51,238,193,
+ 15,123,159,184, 55,147, 76, 50,201,178, 90,178, 3, 72, 68, 70,144, 25,113,239,153,214, 90,223,250, 6,101, 17, 91,203,131,237,
+ 6,117,253,128, 91,215,142, 88, 61,190, 68,216, 30, 57, 88,164,208,136,160,144,214, 34, 11,133,104, 59, 62,233, 45,127,120, 56,
+167, 16, 18, 3,208,111,177,219, 11, 86,245,138, 15,186,154, 48, 61, 64, 8,205,144,101,108,134,129, 19,239,185, 16,130,143,100,
+ 6,147,138,160, 13, 97,146, 19,154, 13,190,174, 9,247, 31,224,127,241, 49,254,242, 49, 65, 14,180,213, 49, 93,153,211, 41, 29,
+ 11,102,105,248,238,209,156, 27, 55,142,177, 46,199,132,150, 73,240,116,214,161,133,194,251, 1,129, 32, 87,138, 44, 4,154, 16,
+ 48, 90,243,160, 27, 88, 90, 7,117, 29,143,219,115,178, 25,196,179,150,206,206, 33,144,176,168,248, 31,223,120,131,239,221,186,
+205, 76,104, 62, 89, 95,242,206,147, 53, 89,174, 25, 2, 44,219,158, 89,158,227,128, 91, 42, 99, 46, 37,133, 54, 76,132, 68, 74,
+131, 37,112,233, 3, 7,202,208, 20, 57, 34, 56,188,212,244, 90,115,233, 61, 5, 10,147,233,216, 95,186, 64,149, 27,150,214, 83,
+132,120, 29,158,110, 27,110,205, 38, 60,222,116,204,139,140,139,186,231, 64, 11,140,212,252,221,122,205,224, 28,173,215,224, 3,
+ 65, 25,148, 86, 88, 31,184,223,195,161, 10,100, 33, 80,134, 64, 7,204,173,227, 52,128,104,182,212, 33, 48,107, 26, 62, 28,122,
+238,110,182,124,214, 13,172, 55, 43, 30,247, 61,194,245, 92,214, 45,198, 57,206,182, 61,173, 11, 60,104,122,230, 38,227,147, 77,
+ 67,107, 61, 79,250, 30, 19,160,189,216, 50,207, 52,247, 30, 60, 97,154, 27,126,113,118, 73, 46, 3, 86,101,244, 93,143, 45, 10,
+142,157,231,220,118,220,153, 77, 57, 80,154,191, 89,117,188,148, 5,150,131,228,102,230,121,111,235,248, 97, 41,113, 34, 62,223,
+107,175,152,232,192,113, 53,227,141, 50,231,129,135, 46, 35, 89,125,187,100, 6,243, 75, 14, 14, 42, 37,143, 10, 15, 62,145,220,
+164, 96,232, 61, 91,235,153,103,154,203,186,167,202, 36,221,224, 9,214,147,201,192, 89, 29, 83, 62,109,231,147,227, 93,226,189,
+140,164,107,229,147, 29,249,222,179,227,115, 30,135,105,192, 26,107,203,255,175,139, 58, 36, 55, 57,157, 38,193, 36,228, 31, 69,
+255, 67, 27, 59, 43,111,227, 3, 94,136,184,220, 54, 42, 49,214,213, 78,228,159, 38,164,200,118,212, 49, 69, 13, 17,255,110,251,
+221,109,109, 19, 75,209, 39,120,100, 60,200,185,217,113,207,228, 51, 12,135,174,135,170,226,230,173,107, 28,207,142, 41,202,146,
+ 97,240,212,219,154,119,238,126, 64,119,113, 17,139,158, 78, 19,122,145,113, 84, 25,110,204, 42, 14,167,115,166,217, 4,135,167,
+ 29, 90,182, 93,199,233,166,163, 91,117,208,244, 8,149,145, 95,159,114,115,154,113,109, 54, 99,106, 42, 94,122,229, 21,138, 73,
+206,106, 99,121,255,239, 30,242,167,239,254, 5, 60,185,255,212,195, 73,188, 48,244,148, 26, 22, 49,190,151,152, 12, 84,167,164,
+180, 89,150, 83,233,130,224, 53,171,117,199,207, 62,120,143, 79,127,242,211, 4,171, 39,169,134, 81, 79, 63, 13,251,244,189,126,
+116,176, 19,187, 44,251, 95,138, 60,153, 94,107,121, 24, 39,115,145,108,111, 93, 42,230,117, 3,243, 73, 50, 28, 18,177,160,139,
+244,121, 68, 11,132,136,141,223,166,139,231, 98,148, 73,218,100, 35,108,187, 24,220, 99,147,132, 82,132,167, 11,187,148, 73,190,
+ 39, 99, 34,133, 76,215,140, 34, 5, 12, 69, 27,201,200, 41, 40,162,253,240, 96, 83, 83, 82,199,194, 61,106, 91,115, 19,139,122,
+158, 69,219,100, 72,175, 47,201, 56,199,235, 87,200,200,202,239, 97, 56,152,197,107,219, 7,184,220,198,162, 44,163,214, 54, 52,
+ 61,219,202,196,127,155, 73, 88, 54,241,218, 94,204,162, 68,173,168,224, 98, 5,229, 20,170,114, 23,236,115,177,130,114,130,240,
+ 3,120, 27, 19,168, 68, 76,108,234,231, 37, 75,107, 17,141, 69,172, 26,132, 10, 96, 20, 34, 12, 49, 98,120,112,144, 73,130,115,
+ 28, 59,193,145,239,200,109,141,104,123,134,102,205,178,235,249,105,211,211,151, 57, 42,159,224,165, 38,120,135, 84, 18,215,183,
+ 60,193,208,154, 2,170, 5,193, 76, 8, 66, 68,144,164,200,162, 25,201,242, 18,127,177, 36,232, 64,152,222, 32, 8,193, 80, 42,
+254,235,131,146,255,252,118,201,119, 15,115, 84, 85,240,241,137, 37,147, 29,202, 58, 38, 90, 19,136,249,215,222,123,186, 16,112,
+ 82,240,164,111, 89, 15,158,229,120, 29,174,187,200,246,127,166,152,239,238, 33,153, 38,246, 84,220,101, 0, 83, 82, 77, 37,133,
+208,252,117, 83,243,191,156,159,211,213, 61,235,186, 69,107, 73,161, 53, 10,137, 81,129, 45, 80, 72,197, 53,101,112,233,180, 22,
+218,160,164,162, 23,146,198, 57,230,101, 21,139,117,240,244, 82,114, 14,180, 1, 38,133,161,146,146,243,206,226,189,139, 91, 72,
+ 4, 85,174,121,180,108,184, 49,201,185, 88, 55, 40, 41, 17, 82,112,222,245,200, 32,184,112, 61,125,231,241, 90,131,214, 52, 67,
+ 67,231, 28,219,190,199,135, 64,150, 41,206,235,142,128,231,253,203, 45,249,176,101,233, 99,254,251,169,183,216,102,205,224,225,
+100,117,193,103,174,167,217,108, 88,110,214, 88,224,100, 89,179, 50,146,117,107,169, 7,203,121,221,225, 16,201,179,193,227, 86,
+ 91,130, 54,180,203, 21,193, 7,218, 39, 43,130, 81,216,186, 35, 12, 29, 97,186,160,169,183,172,116,198,111,205, 42,150,155,134,
+206, 75, 94,158,228, 52, 93, 75,129,133,188,224,142,239, 57,241,138,174, 95, 97,109,207, 16, 96,145, 23,228, 66,210,218,232,210,
+247, 32,136,200,125,154,100,241,126, 24,161,239,111, 98, 89, 62, 42,173,178,184, 90,193, 13, 9,185,181, 87, 40,192,122, 24,168,
+123,139,181, 2,111, 3,195,224,217, 52, 14, 33, 2,182, 79,161, 96, 93, 31,159,159, 46, 14, 99,144,146, 78,247, 93, 87,125, 26,
+ 2,174,166,244,196,102,180,254,133,204,220,254,241, 20,117, 83,196,244, 32,228,151,230,117, 63,119, 90,207,246, 32, 80,165,227,
+129,242, 67,100,172,219, 62,234,110, 69, 58, 34, 33, 77,135, 90,236, 96,244,164, 41, 39, 36,104,101,132,232,165,220,155,244,211,
+212,101,197, 14, 94,127, 54,181,205,167,137,223, 37, 41,152,243,145,176,225, 1, 97, 56,203, 37, 47, 47,230,244,221, 64,176,150,
+187, 79, 62,229,131,123,159,236,180,144, 58, 78,131,147,210,112, 56,201, 89, 76, 43,102,249, 28, 41, 37,214, 14, 44,251,142, 77,
+215,243,164,238, 99, 30,187,206,224, 96,194,157, 69,201, 97, 89, 82,230, 37,243,114,206, 91,223,123,157,235,179,146,204, 8, 62,
+120,239, 99,222,251,228, 35,184, 60,249,166,112,200,158,110, 51, 69,241, 86,115,178,178,228,160,200,200,181,161, 13,129,143, 30,
+ 62,224, 79, 63,124,143,247,254,230,239,192,109,246,150,144, 38, 22, 43, 41,227,212,238, 82, 65,175,219, 20,247,153,154, 38,163,
+190,121, 39, 93, 20,177,136, 78,167,176,217,166, 41, 57,192,164,138,231,181, 79,222,246, 82, 70,103,166,182,191,178,239,197,199,
+104,225,120,142, 18, 44,159, 21,241,245, 5, 82, 1,110,227, 62, 61,249,223,211, 52,113,119,175,216,161, 67,251, 81,139, 87,225,
+ 13,114,215,224,133, 61,214,171,115,177, 48,236,191,223,253,191,123, 31, 39,243,100, 97,138,115,145,112, 39,211,100,158,114, 5,
+174, 86, 25,125, 63,218, 95,193, 43,183, 80,229,140, 27,101,197, 54, 23,240,228, 50,233,204,211,185, 92,204, 35, 18, 20,194,206,
+132,102,181,142, 73,123,155, 26,174,207, 33, 4,196,172,136,175,121,219,166,102,110, 27,139,121, 82,153, 8,231,163,157,229,249,
+ 26,113, 48, 71,228, 38, 30,183, 77,141, 24,250, 24, 13,170,210, 74,164,183, 64,224,167, 93,207, 27,198, 80, 17, 80,125, 75,211,
+ 90, 62,169, 91,126, 58, 56, 62,177,142,235,243, 25,223, 41, 42,222, 94, 28,161,134,158,181,247, 28,116,151,124,234, 76,108,172,
+102, 7,145, 56,184,184,193,143,143,143,185,223,172,240,189, 35,212, 91,194,253,207, 8,153,137,124, 10, 39,248,147,155, 37,223,
+ 59, 46, 89,228, 26,147, 73,126,182,246,232,213, 41,165,209,116,125, 71, 78,160,151, 38,150, 99,109,120,210,109, 25,132,196, 14,
+150,190,239,232,214, 49,255, 65, 52,245, 83,197, 92, 60, 85,216, 61, 2,141,192, 94, 77,235,216,142,159, 7,195,159,122,199,159,
+ 55, 61, 53,169, 73, 20,130,237,186,129,204, 96,113,136, 32,201,149,226,186,210, 12, 4, 94,214, 5,185,206, 89,135,128, 70, 97,
+181,230,176,172,216,122,199,160, 13,235, 32,112, 82,176,246,129, 13, 49,161,113,150, 25, 42,163,232, 7,199, 48,120,172,128,102,
+176, 17, 58,111, 7, 14, 50, 21,141,180,172, 67,245, 22,213,119, 8, 33, 57,181,158, 94, 72, 6, 17, 73,215,117,223,114,233, 3,
+ 23, 46,176,217, 54, 76, 76,198,197,166, 97,161, 28, 15, 90, 75,233, 58, 30,110,107, 28, 61,219,110,203,159, 45, 47,184,168,155,
+216,144, 54, 17, 70,118,231,171,248, 60,220,180,208,247, 49,201,174, 31, 98,200, 86,211, 17, 86,171,120, 15,157, 44, 99,145, 93,
+ 94,198, 21,195,233, 50, 26,187, 12, 1,108, 67,168,230,116,237, 26,134,158,133, 12,156, 15, 3,133, 17, 4, 27,157, 11, 55,205,
+138, 90,192,147,166,230,208, 24,206, 91, 75,158, 5,166,166,192, 5, 16, 90,179,181,150,123, 99,152,202,164,136,190, 36,215, 15,
+163, 75,162, 76, 68,225,175, 83,103, 76,182,139, 20, 31,221, 73,247,239, 65,239,163,117,122,223,209, 53,142, 70, 6,154,186, 71,
+ 40, 69,223,244, 73,174,214,196,223,235, 54,169, 64, 63,199,117, 85,243,140,220, 40,125,253,130,205,200, 63,142,162,174, 83, 22,
+176,142,214,170, 95,197, 42,126, 62,213,120,239, 97,218,165,192,150,171,253,185,221,177, 92, 66, 58,112,195, 62, 20,236,158,110,
+ 14,180,121,122, 90,191,154,184, 83, 66, 92,231,118, 80,238, 62,132, 47,216,193,162, 33,193,180, 99, 23,166, 4, 46, 24,234,208,
+ 48,241, 61,203,205, 35, 46, 54, 39,108,124,199,224,119,150,130, 89,169,185, 86, 77, 56,172, 74,166,217,132, 66, 90, 78,169,235,
+ 0, 0, 32, 0, 73, 68, 65, 84, 27,108, 8,108,135,150,139,237,134,179, 77,135,219,246, 48,128,152,228, 92,159, 23, 92,171, 10,
+102, 69, 69,174, 50, 6, 2,175,189,122,135,249, 52,227, 98,213,177,222,212,188,243,209,123,176,190,124,174,246,246,171,235,186,
+219,243, 3,144, 48, 95, 80,205, 74, 14,178,156,160, 20,171,186,229,201,102,203,242,228, 18, 46, 79, 83,243,147, 46, 88, 61,162,
+ 32,169,248,140,133,193, 36, 66,158,237,119,251,229, 47,156,212, 83,215, 58,194,226,232,167,239, 4,157,104,252,102, 22,245,158,
+ 70,198, 27, 80, 22,224,154,157, 54,116, 83, 67,189,141,231, 56, 58, 73,128,206, 83, 99,230,226,121, 51, 58, 54, 8, 46,194,226,
+148, 42,122,217,207,170,116, 46,109,146, 47, 57,162, 56,117,111,133, 16,194,211,133,221,166, 66,218,251,221,154,232,107, 48,117,
+ 62, 71,140, 51, 58, 54,164, 99, 65,246,196,227,233, 92,226, 61, 4,152, 47,120,235, 91,175,243,107, 71,183,184,153,151, 76,253,
+192,227,211,232,206,118,149,147,144,151,187,166,202,218,200, 11,209, 38, 73, 63,199,172,231,128,152,228,177, 72,103, 10, 46, 46,
+163,217, 19, 62,146,230,172, 67, 12, 3, 98,176, 8, 23, 82,118,193,140,127,254,250,109, 66, 54,112,250,217,229,238,149, 91,119,
+245, 30,124,215,241,231,141,197, 13,142,198, 8, 30,122,203,251, 18, 62, 81,240,104, 99,185,121, 48,225,119,111,188,196,245,188,
+224, 85,105,152,175, 47,168,221,128,217, 62,230,209,166,129,182, 39, 28, 28,240, 47, 95,191,206, 31,189,121, 27,161, 22,188,223,
+ 46, 99, 70,188, 84,132,135,247,225,248, 26, 28, 29,241,122, 85,240,237, 69, 78, 43, 4,103, 29,220,247,240,248,211,135,152,224,
+ 49, 4,214, 82,130, 16, 56,161,120,104,123, 10, 33,144, 42,103,232, 7,142, 50,104,236, 64,183,105, 16, 67,159,244,198,241,116,
+238,127, 22,105,167,254, 84,177, 31, 44, 98,219,211, 78, 13, 78,166, 66, 47,227,196, 37,130,163,217, 52, 52,198, 80, 72, 34, 63,
+ 70, 75,230, 62, 80,101, 6,235, 44, 83,105,152, 72,197,214,123,122,233, 17,186,164,182, 61, 94, 74, 30, 9,197,178, 23,172, 26,
+ 75, 94, 26,182,110, 64, 75,193, 76,105,188,243,180,221,128,246, 30, 63,120,242, 16,240, 8,164, 8,176,237,152,181, 29,165,179,
+168,224,104,115,197, 73,239,216,184, 64,235, 28, 27, 33,232,156,231,126,183,102,144, 25,149, 86,200,190,225,222,106,195,249,208,
+178,238,123, 54,182,163,235,123, 62, 91,175, 57,107, 45, 92, 46,227,245,119,177,142,241,219,193, 71,181, 81, 63,196,123,202, 54,
+241, 26,243, 67, 84,141,228, 57,156,158,199,251,111,181,138,215,196,118, 27,135,159,109, 3, 34,198, 37, 35,162,251,231, 89,223,
+ 51, 15,240, 51,231, 89,116, 29,235, 32, 88,214, 91, 30, 4,133,182,142, 39,214,161,188,231,174,179,252,197,118,203,107, 50, 96,
+101, 96, 51, 12,252,101,111,227,229,138,143,107,184, 60, 71,234,156,151,143, 15,152, 29, 77,168, 15,231, 4, 39,211,250,244, 5,
+208, 65,231, 34, 73, 88,184,221,189, 2, 41, 95,100, 72,171,222, 16, 27, 24,198,148, 75,129,235,250,248, 59,172,141, 5, 93,217,
+157,204,247,203,102,168,209, 9,117,159,168,247,194,180,162,127, 12, 69,221,251,180,175,216, 17,135,190,209,207, 64,198, 93,135,
+ 27,226,131,168, 75,218, 16,199,110, 23,225, 34, 9,126,127, 0,189,130,136, 71,237,185, 76,208,188, 16,241,117,165,155, 63, 66,
+156,163, 55,124, 58,137, 98,183, 51,143, 77,129,137,147,169,244,201,160,127,120,250,196, 76,102,148,243, 9, 85,169,200, 53, 20,
+ 38,222,232,151,214, 19, 92,180, 14,172,202,130,235,179, 41,243,162,162,204, 39, 41,173,171,231,124,187,230,164,110,217,110, 59,
+132,245, 80,104,110, 45, 10,110, 86, 21, 85, 81, 98,164, 70, 74,205,209,225,171,160, 74,250, 32,120,248,112,201,195,199, 15,249,
+232,254, 61, 88,158,127, 51,232,105, 31,133,240,196,155,114,126, 72, 85,149,232,148, 91,126,210, 52,108,158, 92,194,217,131, 20,
+180,147, 90, 80, 97,210,234, 34,117,184, 89, 34,132,141,176,187, 75,123,238, 97,120, 62,244,174,229,174,113, 29, 93,253, 70, 72,
+106, 50,141, 95,151,243,184,227,118, 46, 74,139,236,144, 32,172, 33,157,244,104,231, 24,247,224, 1, 84,145, 76,135,210,117, 83,
+153, 56, 69, 84,217,142, 91, 81,165,102,161, 72,174, 79,222,197,255,103, 36, 77,202,196,187, 24,228, 30, 9,208,196,189,155, 52,
+169,121,200, 32, 31,149, 4,207, 63,246,226,170, 81,121,186, 97, 9,251,141,141, 72, 1, 70, 46, 17,170,204, 12,249,171,111, 17,
+206, 47, 82, 53, 17, 80,206,184,249,202,109,102, 69, 69,166, 10,140,132, 79, 79,206, 97,187,142,175,105, 76, 78, 20,130, 76, 9,
+110,107, 88, 53,251,107, 43,153,204,151, 28, 28,205,160,152,197, 9,220,135, 68, 24, 84,136, 20,205, 43,246, 27, 62, 60,255,213,
+219,111,241, 47,222,252, 46,191,119,253, 38,239,172, 78, 56,191,216, 92, 53, 56, 87, 54,150,222,227,109,207, 7, 97,224,207, 6,
+193,217, 52,231, 1,158,115, 47, 24,108, 64,230,134,223,153, 46,184, 38, 13,197,224, 41,183, 23, 56, 4,210, 7, 84,127,201,163,
+229, 25,223, 95, 28,243,251,223,190,193,155,215,231,156,108,122,126,210, 65,200, 6,194,201, 25,225,244, 81,116,194,155,223, 98,
+ 57, 59,224,179, 65,240,216,193, 71,173,231,211, 85,207,185,133,220,121, 90,219, 70,110,177, 52,180, 2,132, 16, 32, 13, 50, 56,
+ 22,153, 33,247, 3,202,246,132, 48,208, 46, 55, 8,239,159, 2, 67,197, 51,224,168,124, 22,150,183, 61,172, 54, 8,159,208, 64,
+149, 26, 49, 36, 88,135,235, 58,214, 66,144,107, 67, 55, 12, 44,140,230,178,239,120, 75,231, 4, 99,120, 40, 36, 85, 97, 48, 86,
+ 80, 7,207,133, 54, 60,118,158,199, 27,203,214,123, 90,226, 37,238,149, 36,243, 30, 23, 60,218, 58, 46,235,142,185,148,184,222,
+178,181, 3,155,245,134,126,219, 48,107, 7,140, 31,208,222, 81,132,232, 65, 95, 86, 57,119,166, 25,111,148,134,219, 69, 70,222,
+247,172, 61,156,247, 13,239, 53, 91, 62,108,107, 30, 13, 29, 39,182,231,241, 96,121,220,108,121,112,121,198,210, 9,196,201,147,
+216, 36, 95, 92,198,235,146,189,208,173,164,144,136, 60, 20, 23,229,155,163,194, 98, 31,145,218,123,110, 6,239,146,135,134,132,
+ 34, 35, 92,108, 8,133,230,161,247,220, 14,158, 71,213,156,118,123,201,251, 58,167,116, 29, 91,107,217, 10,197,165,119, 56,215,
+115, 17, 2, 15,187, 30, 53,120, 78,219,154,251,193, 63,197,139, 58,194,243,118, 49,225,119,230, 19,126,237,224,136,223, 60,152,
+163,103, 57,247,114,149, 86, 98, 47,176,250, 19,196,250, 50, 42,147, 70, 95,143,113,101,107,251,184, 82, 27, 18,147,221, 15, 73,
+230,236, 18,212,158, 2,195, 94,244, 25, 60, 62,155,198,191, 75,253,197,132,220,127,180,240,251,213, 68,243,180, 85, 30, 90, 39,
+ 6,115, 98, 11,127, 25, 81, 64,138, 52,125,141, 33, 42,201,222, 85,133, 29,204,106, 68,124,206,143, 63,195,164,234, 46, 19,236,
+234,146, 99, 80,158,195, 75, 7,112, 52,133,101,189,243, 65, 23, 50, 77, 30,209, 87, 56,154,180,236, 17, 28, 38,101, 44,236, 38,
+ 75,221,149,125,250,245,154,146, 27,119,110,240,202,252, 16,109,178,184,214,237, 91, 78,183, 93, 42,234,146,235,147,130,107,213,
+140,210, 24, 36,138,206, 15,172,251,154,243, 77,205,197,101, 13,189, 69, 40,197, 43,243,130,151,143, 38, 28, 84, 37, 70,104, 50,
+157, 83, 84, 83,254,211,223,255, 1, 63,126,243, 8,169, 21,127,241,211, 19,254,242,227,191,163, 89, 95, 68,189,242, 47,179,179,
+ 30,177,162,234, 16,142, 14, 40,141, 70, 9,120,188,174,105, 87, 27,184,184,136,197,121,212, 91, 74,145,136,114,121,220, 29,233,
+189, 34,110,212,142,245, 62,118,194,207, 67,113,236,142, 0,138,220, 63,119, 58,222, 48, 38,139, 55,154,117,145, 16, 87,111, 64,
+151, 17,249, 9, 42, 90,127, 14,109, 44,106, 33, 62,188, 17,169,185,168,242,216,104, 76,146, 4, 70,171,248, 59, 42, 19, 31,198,
+ 70, 38,182,121,216,153, 16,217, 68,192, 20,106, 15,194,243, 81, 58, 35, 68, 68,114,148, 1,153,237, 94,255,115, 61,197,147,235,
+222,216, 84,122,187,199,122,245, 79, 55, 54,227, 49, 29, 43,199,181,235,252,240,205,215, 57,249,224,227,248,125,231, 33,203, 56,
+ 61, 92, 80, 86, 11, 46, 3,188,223,118,116,143, 31, 68, 38,183, 17,144,149,208,110,184,118, 60,231,247,143, 42,110,101,154, 66,
+ 5, 78, 46,215,241,191, 13, 77,132, 24, 69, 72,146,205, 99,254,217,241,171, 28, 79, 12, 15,158,156, 70, 67, 27, 19,163, 64, 73,
+211,171, 48, 26,208, 44, 22,134, 63,254,193,143,248,219, 39,103,220,117, 61, 15, 30,159,198,200,224,177, 65, 73,210,176, 49, 89,
+ 42,120,201,153,201,240, 72,110, 2, 63,170, 50,110, 20,130,169,148,188,220, 7,228,208, 32, 49, 52,190,229, 0, 9, 89,206,203,
+194,177, 25, 28,157,207,216,132,192,191, 62,233,120,210,119, 4, 83,194,172,140,199,110,189, 37, 72,135,206,143,248, 48, 72, 46,
+ 7,248,100,176,172,183, 17,181,105,234, 26,134,192, 36, 19,116, 78, 32,114, 77, 70, 12,136,154,168, 12,165, 20, 42,192,205, 16,
+ 19,178, 30, 53, 61,170,115, 72,118,133, 93,125, 65, 65,127,182,176, 51, 88,196,182,129, 46,217,127, 75, 5,185,185, 74,236, 10,
+181, 99,179,220,178, 21,176, 10,158,185, 17, 8, 93,176,178, 61,103,182,229,124,112, 88,109,120,191,239, 80, 66,240, 68, 9,206,
+154,150,117,240,216, 44, 99, 93,183,100, 97,192,123,168,155, 14,183,109,168,140,138, 54,202,131,229,100,179,230,108, 91,211, 52,
+ 13, 19,107,163,211,156,181, 4, 15,153, 49,220,152, 78,184, 49,155,112,108, 12,151,131,199,202,128,168, 27,222,111, 55,132,161,
+ 33,244, 45,222, 89,232, 26, 66,189,134,243, 83,196, 96,225,228, 28,218, 22,177,169, 17,146, 8,179,135,164, 6,217, 47,232, 95,
+151,113, 46, 71,211, 31, 15,133,137,207, 82,239, 88, 26,131,234,182, 60, 54, 25,175, 14, 53,181,201,185, 59,180,204,148, 96,105,
+123, 78,156, 67,234,156,239,248,150, 75,239,249,168,109, 8, 30,222,146,146,133,144, 92,122,199,155, 38,227, 87, 38,134, 91, 38,
+199,168,128, 17,154, 75,223,115, 87,104,156,208, 17,189, 82, 89, 42,206,246,249,104,165, 73,211,186, 50, 96,219,196, 93, 73, 12,
+246,253, 24,242,167, 2, 89, 82, 16,216,215,217,231,107,253, 12, 4, 47,159, 46,246,254,255, 11, 69,221,185, 47, 46,232, 87, 15,
+197, 4,139, 7,249,197,112,201,213, 30, 34, 60,221, 5,238,235,112, 71, 25,149, 25, 63,167,255,238,252,110,210,145,137, 72, 39,
+ 45,211, 87,111, 49, 45, 50,154, 39,235,100,237,103,119, 48,116,231,119, 18,170,241, 53, 23,147, 4,131,202, 29, 84,237,159,121,
+152,231, 19,236,108,198,237,131, 35,148, 16, 56, 31,184,216,108, 56,171, 59,148, 86,148, 74,113, 52,201, 40, 77,134, 86, 10,239,
+ 28,219, 97,203,197,182,230,193,170, 78,177,166,176, 88, 20,188,116, 88, 50, 47, 74,140,201, 98,230, 60,130, 27, 7, 51,126,251,
+ 87,191,197, 98, 58, 99,106, 20,239,222,219,240,206, 47, 62,196,214,107, 56, 59,121, 46,188,251, 66, 59,165,249, 20,200,120,237,
+199, 63,224,215, 95,126,157, 91,179, 5, 65, 58, 90,215,209,124,250, 16,252, 38,237,206,139, 84,204,211,241,108,235, 72, 34, 28,
+139,184, 20, 17,150,203,205,206, 11,249,139, 46,246,241,220,143,146, 77,253, 12,194,226, 71,123, 95, 19,111, 68,157, 39,107,224,
+144, 98, 99,137,134, 67, 38,143, 77,217,200, 7, 48, 69,108, 20,117, 98,144, 79, 77,146,170, 40,200, 21,114,146, 35,180, 66, 26,
+ 69, 24,207, 33, 41, 48,104,176,241,223,140,112,154, 78, 48,254, 32,163, 49, 81,110,146,244,164,139, 23,135, 78,202,129,231,133,
+ 1,233, 81,159,191, 87,216, 71,207,234,103, 31,120, 34, 77,235,227,199,118,205,201,199,159,238, 96,127, 66,108, 88,143,103, 60,
+201, 43, 78,135, 45,157,181,208,109, 34, 84, 58,254,204,131, 67, 94, 91,104, 50,163, 9, 1, 62, 89,246,108,181,129,213, 5, 76,
+230,208,213,241, 61, 8,193, 31,190,254, 38, 63,124,227, 85, 74,239,184,215,173,232, 78, 19, 92,218,237,145,199,140, 70,100,154,
+251, 23, 45, 31, 46, 31,241,192, 76,184, 11, 44, 55, 13, 97,179,141, 58,111, 41, 63,159,130,102,123, 66,208, 28, 21,240,134,210,
+188, 81,149,188, 49,159,210,121,203, 13, 37, 81, 46, 66,157,153,146, 76,117,134,240,150, 30,144,125,205, 79,159,156,240,111,206,
+ 59, 30,116, 77,132,221,117, 70, 16, 6, 42, 77, 48, 18, 46, 47,217,108, 46,121,141,130,207,182, 3,125,221,208,116, 3, 85,219,
+192,118,197,145,148, 8,153, 81, 77, 12, 90, 72,188,130, 3, 64,104, 69,142, 96,130,128,161, 37,195, 33,133,224,162,173, 81,131,
+101,164, 8,236,255,217, 47,242,159,219,185,251,184, 99, 23, 46,128,214,136,210,196,128, 35, 37, 16,237, 16, 55, 78,118,224,210,
+ 57, 30,116, 3,109, 24, 56, 13,142, 51,111, 49, 66,240, 81,223, 48, 17,130,143,189,227,209,170,166, 53, 37, 79, 54, 75,250, 16,
+168,125,207,196, 69, 87, 75, 97, 29,167, 67,199,114,187,165,173, 59, 62, 93,157, 51,244, 29, 67,112,172,251, 45,166,219,112, 83,
+ 40,108,146,241,137, 44,103,114, 48,141, 54, 17, 82,112,152, 25, 30,174, 87, 56,215,243,176, 27,168,235,109,188,103,150,231,132,
+203, 11, 56, 95, 34,150,107, 56,189, 68,132, 14,209, 70,164, 70,132, 30,132, 65, 40, 31,101,138, 62,161,114,163, 84,245,235, 32,
+131,222,167,240,149, 68, 0,237,134,132,140,246,116,194,131, 13, 92,106,197,118,179,129, 32, 89, 91, 71, 23, 28,232,156, 31,251,
+134, 11,149,241, 27,153, 96,134,226,183, 84,148,159, 86, 67,205, 45,161,208,120,126,101, 58, 97,145,130,210,182, 67,199, 84, 74,
+126,178,105, 8,133,142,210,183, 34,135,249, 60,145, 92,247, 82, 63,159,154,214, 83,243,210,182,113, 88, 24,119,227,157, 77,255,
+205,255,191, 52,228,202, 47,159,128,191,228,247,252,195,155,207, 24,189,199, 90,126,166, 83, 82, 50, 86, 94,147,168,255, 50, 61,
+221,195, 23, 9,241,247,222,138,251,130,130, 62,194,223,201, 4, 4,201,206, 46,118,172,112, 87, 38, 49, 22, 6,205,230,231,119,
+227, 3,121,219, 38,210, 83,218,151, 42,187, 11,132, 65,238,153,181,216,120, 97,132, 4,155,116,225,105, 67, 1,128, 97,205,198,
+ 89, 92, 80,180, 22,214,173,227,164, 30,144, 8,202, 76,113, 80,228, 20, 38, 50, 97, 91,107, 9, 56,214,109,199, 69,215, 19,172,
+ 67, 40, 13,165,138,164,184,162,136,161, 33, 16, 67, 36, 92,203,195,179, 53, 39,203,142, 42,239,120,184, 28,176,206, 38,162,158,
+251, 6,114,182,221,199,244, 55,190,195,183,230, 11, 38,170, 98, 54, 59,226,120,113, 72, 46, 13,215,219, 25, 85, 46,248,243,247,
+ 62,130,173,141, 59, 89,246,229,107, 73,106,214, 63,109,168,195, 36, 17,209,244,151,152, 42,140,231,107, 60,189,227,215, 58,157,
+171,174, 7, 61,219, 17, 42,100,202, 35, 38,201, 25,221, 22,156,137,133, 93,164,140,248, 60,201,178, 72,205, 93,110,226,142, 44,
+207,200,178,216,100, 41,160,144, 26,171, 28,181, 21,228,165,166, 27, 18,146, 52,155, 68, 63,245, 73, 30, 97,245, 38,105, 75,171,
+ 50, 90, 6, 75, 29,201, 67,121,145,222, 67, 27,157,232,122, 3, 19,226,123,126,170, 27, 79,124, 15, 29,167,221, 88,224,247, 59,
+152,189,181,144, 75, 1, 16,227,234, 98,108,112,198, 99,145,103,209,140,105,179,129,195,109,116, 54,211, 9, 45, 40,202,168,195,
+159, 86,240,248,140,119, 57,230,222, 12,100,110, 88, 41, 13,155, 75,152, 30, 64,187,141,123,116,239, 97, 93,243, 89,215,113,116,
+190,229, 51,159,179, 12, 42,110, 49,106,251,244,121,243, 50,230, 84,219,158, 63,255,236,130,197,225,171,172, 79,207, 98,255,145,
+206,249, 83, 83,250,222,159, 80, 47, 89,103,146,249, 97,193,119, 23, 37,153,144, 56,165,249,100,123,193, 91,197, 33, 70,121, 38,
+147, 25,222,246,220, 12, 14,143,196,245, 43,190,181,189,228,238,234, 18, 83,205, 8,179,107, 4,100, 52,192,201, 94, 38, 20,115,
+130,235,248, 23,179,156,191,189,247, 87,188, 89, 45, 88,150,135, 20,229,140, 39,237,150,107, 66, 64, 89,198,185, 91, 43,180, 20,
+ 76, 27, 79,143, 99,129,192, 23, 19,194, 48,144, 87, 71, 84, 66,113,190,174,209, 38, 39,198,194,124,126, 34,223,111, 84,174,222,
+ 87,250, 44,198,247,190, 93, 19,130, 36,100, 10,170,138,160, 12,225, 72, 35,122, 75,216, 52,132, 77,207,210, 57,254,109,231,249,
+241,177,229,194, 43, 62,212, 27,174, 77, 42, 62,114, 27,200,166,108,125,160, 8,209,204,103,211,110,232,124,192,234, 14,113,182,
+230,237,197, 1,178, 31,168, 76,198, 59,219, 19,174,137,156,114,176,156, 13, 27, 46, 29,220, 15, 45,101,223,112, 92,206,177, 69,
+197, 76, 11,182,155, 22, 93, 21, 56, 37,176, 93,135,148,154,135,221,192,106,216,144, 97,105,235, 21,172,215,136,101, 3,171, 21,
+ 65, 14,136,145, 83, 50,158,215,222, 35, 84, 15, 72, 2, 30,161, 36,193,181,105,205,240,245, 72,175, 97,188,231, 85, 3,107, 29,
+137,168,125, 7, 7, 7,177,192,151, 9, 82,207,243,120, 47,200, 36,237,180, 45,179,162,228,147,182, 97, 41, 4, 71,153,226,227,
+ 65,114, 68,203,185, 87,188,149, 5,250,208,209,175, 47, 97, 50,101,166, 21,107,215,115,210,245,120,145, 86, 35, 34, 68, 57,107,
+211,195, 75,215,225,108,147, 34, 82, 19,172,222, 15,177,144, 15, 22,244, 38,222,159, 87, 38, 97,123, 70,101, 90,255,242,122,120,
+173,191, 24,250, 15,207,148, 59,251,143,117, 82, 31, 39,112,165,227,222, 81,238,125,125, 53,229,176,251,108, 71, 93,174,253, 18,
+182,160,125,250,107,255,140, 92,192,237,193, 33, 87,242,163, 44,254, 78,108,100, 99,187, 36, 53,112, 9,234, 80,196, 7, 38,169,
+ 83,243,118, 23,252,146,233, 84,188,211,207, 22, 68, 63, 95, 98,224,253,231,100, 87,179, 3,202, 42,167,115, 61,237, 48,176,238,
+ 26,122,219, 51,211, 25,135,121, 78,145,101, 8, 33,105,135,142, 77,219,114,110,123,150,109, 79, 24, 2,170, 52, 28, 87, 21, 7,
+147,130,194,228,104, 37,233,251,129,203,182,225, 73,189,225,238,197, 25,205, 70,242,201, 67,199,187,159, 62,225,253,187, 31, 80,
+169,128, 83, 57,109,239, 9,205,234,235, 23,247, 55, 94,225,159,254,202,247,185, 61,191,198,205,195,235,204,103, 7, 44, 14, 14,
+ 40, 76,134,243, 61, 77,187,228,211,229, 18,206,151, 59,153,213,216, 84,133, 16,215, 20, 89, 58, 31,253, 30, 52, 47,229,231,143,
+207,243,246,248,114,239,239, 30,200, 85,156,184,155, 77, 34,160, 16,247, 89, 56, 80,147, 8,187,155, 44,157,184,116, 30, 77, 74,
+200,209, 58, 58, 66,205,242,120,141,149, 5,224, 9, 62,112, 84,229, 87, 15,236, 76, 38,171, 77, 31, 8, 66,197,189, 95,112,105,
+ 98, 78,136, 81,174, 83,140,162, 74,193, 65, 99,196,111,136,223, 23, 33,238,214,242, 34,222,149,251,124, 17,159,184, 2, 9,118,
+140,215,244,190,209,254, 30,203,118, 68, 61,174,162,113,247,110,114,159, 16, 16,159,194,136, 38, 51, 56, 92, 64, 62, 69, 9, 65,
+ 38, 21,110, 52, 81,217,180,145,244,119,185,161, 47, 10, 58,147,208,132, 50,143,238, 91,101, 21,247,128, 58,114, 33,206, 53,188,
+ 43, 53,247,187, 26,164, 67, 60,124,188, 11,164, 72,240, 59, 18,196,104, 0,213, 91,218,161,142, 43, 47,173, 9, 82, 71,118,116,
+146,227,125, 62,163, 92,114,205, 24,126,235,230,148, 91, 89,193,196,100, 8, 37,249,197,208,113, 32,161,202,231, 8, 33,112, 56,
+132, 16,244,222,177, 28, 58,154,190, 67, 52, 27,182,167,151,216,205,217, 21,124, 19, 76, 73, 40,103,252, 15,175,220,230,247, 94,
+122,137,227,233,130,127,253,228,132, 91, 65,112,186, 61,231,150,130,163,108,194, 52,211,148, 69,142, 29, 98,242, 95, 41, 4, 57,
+ 62,242, 96,241, 20, 89,134, 14,138,105, 81,177, 40, 51,110,230,146,187,203, 14, 29, 28,198, 75, 12,158,241,113,174,158, 3,199,
+ 63,245,199, 59, 16, 30, 49, 36,110, 78, 89,112,109,118,192, 31, 93, 95,240, 79, 94, 57,230,164,222,178, 94, 54, 4, 60, 15, 55,
+ 53, 23,214,115, 62, 88,238,213, 29, 91,165,248,108,121, 70,231, 6, 30,172,207,104,112,172,173,101,109, 91, 30,116, 53,107,231,
+248,219,139,115, 38,194,242,168, 94,242,139,186,229,172,222,114,183,169,209,190,227,175, 79,206,249,216,195,208,173,208,120, 78,
+240, 88, 4, 74, 72,154, 20,108,243,222,118,203,123, 23, 75, 62,232,182,224, 2,153,237,113,193, 98,211,115, 82,180, 93,124, 15,
+ 1,132, 13,136,144, 38,115,107, 35, 31,193,249,104,123, 19, 66, 44,252, 95,115,205, 23,158, 69,109,187, 38, 93, 88,169,154, 41,
+ 17, 7, 41, 49, 18,107,137,114, 81,231,248,149,178,160,238, 26,222,158,228,209,138, 2,207,143,139,156,247, 26,203,143,171,156,
+141,237, 41,165,164,177, 14,221, 53, 8,107,121,210,183,252,207, 23,203,216,168, 15, 9,125, 29, 3,190,180,230, 55,111, 86,252,
+209, 43,215,248,209, 75, 71,188,121,243, 58,191, 88, 28, 50, 76,170,221,250,117, 24,146, 12,186,216,153,133, 5,183, 99,194,127,
+227,130,254, 69,204,119,190,160,182, 61,127, 90,255,135, 45,234,251,147,202, 24, 87,122,213, 2,139,120, 34,145,241,160,141,208,
+249, 24,146,178,127,209,248, 17,174,120,246,161,200,231,119,218,159,131,119,109,124,248,155,113, 63,158, 14,170, 86, 73,146, 38,
+227, 5, 52, 6,200,140,110, 98, 97,188,123,243,157, 14,123, 31, 17,240,246,249, 5,171,172,200,167, 37,210, 7,182,125, 67,215,
+247, 4,235, 57,154, 22,148, 89,129,146,130,193, 90, 90,235, 56,111, 59,214, 77,135,245, 1,101,114, 38,153, 97, 90, 26, 38, 69,
+142,137,157, 6, 77,215,178,234, 91,206,215, 61,171,186,230,195,123,247,120,247,222, 7,172,150,143,184, 61,187,201,245,234, 6,
+139,131, 99,238, 93, 60,138, 19,217,139, 94,116,142,136,138, 28, 46,120,229,218, 33,185,202,168, 38,115,132, 18, 20, 89, 78,179,
+169,145, 74,240,100,249,132,187,255,254,189,248,158, 71,214,102, 8,187,162, 62,186,188, 57,191,251,220,245, 79,147, 12,191,148,
+108,177,199, 33, 83, 73,199, 63, 50,229,139,196, 95,240,233,156,185, 4,201,211,165,203, 33,196,134,173,154, 68, 41,215,124,186,
+ 75, 94,146, 50, 18,227,132,231,104, 82, 82, 24,141, 70,178,200, 13,141,117, 84, 82, 99, 69,140,210,116, 4,130, 8,228, 69,137,
+ 27,229,143, 46,105,218,125,114,155, 35, 21,115, 41, 83, 66,148,221, 93, 67, 90, 69,251, 96,189,111,176,227,119,133,221,219, 47,
+ 0,206,252, 30, 73,102,143,131, 48,202,227,132, 72, 65, 66,201, 85, 14, 17,191, 95,205,225,232, 26,210,100, 8,169,240, 12,132,
+182,129,139,243,216, 92,108,155,136, 44,228,102,151,239, 60,164, 9,108,232,162,171,222,232,156,104,109, 90, 79, 36,243,165,166,
+ 67,156, 62, 77,184, 20,222,131, 23, 8,147, 26,157, 54, 53,186, 87,134, 69,146,224,159,247,160,247,172, 85,198,143, 22, 37,183,
+178,140,193, 59, 86,222,113,215, 90, 30, 73,207,235, 89, 69, 97, 74, 10, 97, 48,125,131,232, 26,238,213, 43, 6,239,169, 6,207,
+ 4,203,242,124,139, 61,191, 32, 20,146,144, 25,190,149, 79,249,195, 87,111,241,202,193,148, 7,155,150, 63,221, 52,124,178,189,
+196, 11,205,194, 24, 54,193,113,123, 94, 48, 56,136,246, 51,129, 74,128,146, 10,165, 37, 2,129, 18,138, 73, 89,226,132,228,184,
+156,242,250,226, 26,223,191,177, 32, 47, 52,219,204, 68,138,136,206,209,153, 68, 7, 80, 94,162,240, 95, 80,220, 53,210, 68, 18,
+176,212, 38, 18,232,108, 64, 20, 25,191,127,115,193,111,223,126,149,219,249,132,197, 68,243,215,143, 46,162, 61,240,166, 37,116,
+125, 92, 87,172,150,244,231,231,132,174,167,175, 27,194,164,164,111,107,250,203, 51, 6,219, 17, 54, 43,134,182,198, 5,203,189,
+237,154,251, 23, 23, 44,187,142,243,174,229,162,111,185,223, 54,184,109,139,191, 92,242,241,186,227,253,118,205,153,180,124,108,
+123, 42,169,249,120,187,225,253,229,146, 63, 59,189,224,189,190, 70,121,129, 12, 22,129, 99, 18, 60, 70, 9, 26,235, 35,225, 47,
+ 72, 68,202, 11, 23,222,199,226,206,110,125, 38,246,214,104, 79,113, 11, 94,224, 67, 60,143,195, 51, 38,223, 73,253,116, 83,172,
+178, 84, 84, 13,167,214,242,135,243, 2, 23, 2,183,243, 28,225, 29, 39,125,195,175, 84, 19,126,178,217,240, 86, 49, 97,139,196,
+ 13, 45,189, 27,248,183, 79,158,240,201,106,195,249,186,137, 78,139, 38,145, 24, 67, 34,246, 5,199,239, 44,166, 84,198, 80,228,
+ 19,130,210, 12, 62,240, 88,201, 56, 24,164,192,159,100,234, 30,239,225, 33, 26,204,124,110,136,252, 38,220,178,103,235,215,184,
+190,179,126,103, 95,254, 37, 14,115,255,176, 69, 93,250, 52,245, 36,131, 15,149, 58, 51,173,226,131,114,140, 59, 53, 41, 51,221,
+166,233, 56,164,206,109,255, 13, 93,217,234, 61, 51,165, 91,255,229,140,121,147,165, 40, 77, 31, 9, 84,214,239,152,235, 87,230,
+251, 54, 22, 18,233,175,148, 80, 41,104, 45,165,180,132,103,136, 17, 95,177, 91, 49, 37, 93, 86,144,233,192, 96, 7,218,174, 35,
+207, 36,243, 60,195,168,152, 54,212, 59,199,186,111,185,236, 59,186,244, 30,170,162,224,160,202,152, 8,137, 17, 18, 99, 4,222,
+ 90, 86, 67,199,227,101,205,166,237,226, 36, 60, 56,172,134, 69, 57,225,229,227, 87,233, 66,143, 14,154,207,214,231,216, 71,247,
+ 94,108,159,238, 72,187, 49, 1,237,128,184, 62,165, 84,134, 82, 79,208, 89,137,210,130,174,110, 56,191, 56,229,127,255,249,207,
+225,241, 19,110,254,225,239,178,253,244,222, 14, 5, 81, 9, 5, 25,189,142,159, 37,139,140,136,140, 20, 41, 17,206, 63,135,156,
+ 39,247,214, 49,236, 38,197, 44, 33, 2,117, 29,247,230, 67,212, 21, 71, 75,222, 42, 73,189,242,248,123, 22, 21,243,151,110, 83,
+ 84, 37,106, 90, 49, 56,155, 36,148,130, 92,107,148, 16, 84, 58,202,127,150,189,103,150,105, 58,239, 81,233,241,212, 91, 79,105,
+ 20,109, 61,196,253,153,243, 41,170,215,197,233,252, 74,155,238,211,132,110,227,181, 45,243, 88,120,135, 68,216,220,183,130,220,
+ 47,236, 90, 62,243,246,237,211,135, 96, 60,158, 87,246,197,236,153,221,164,239, 41, 21, 77,113,164,128,195, 25, 97,178, 32,216,
+150,128, 76, 49,172, 77, 92, 7,248,116, 45,219, 49,125, 45,161, 38,219,246, 10,206,164,245,177, 1,176, 46,229,170,155, 72,146,
+ 11, 1, 86,235,232,136,183,255, 80, 30,123,106,163, 16,117,138, 57, 86,154, 48, 47,248, 87,111,220,160,156, 21,220,123,178,138,
+123,211,103, 31,232,193,161,181,166,202, 12,107, 2,247,189,231, 3,235,248,179,206,242,123, 74,176,208, 37, 6,137, 30, 6,124,
+187,226,129,179, 8,235, 17,214, 81,122,193, 66, 64,237, 29,221,163, 11, 2, 45, 47,107, 56, 44, 42,150,125,207, 95,157, 46,249,
+249,122, 9, 82,210,218,150, 7,117, 67,237, 45,219,214, 82, 59, 71,145,151, 84, 10,114, 4,131, 15, 84, 1,156,119,136,114,130,
+159, 78,169,202, 9, 89, 57, 69, 34,184,105, 42,126,253,198,203,252,218,205, 91,188,253,250, 29,110,221, 56,228,177, 46, 17, 86,
+161,133, 67, 5,143,242, 30, 53, 41,162,171, 30,196,198,202,232,232,176,151,204,154,132,237, 17, 14,138,185,225,213,201,156, 78,
+ 74,238, 14, 61,239, 73, 79,216,118,176, 90,198,107,121,187,133,186, 35,244, 3, 97, 91, 19,250,158,112,255, 17, 56, 75,184,220,
+ 64,169, 97, 91,227,237, 0,221, 64,232, 90,252,166, 33, 88,143, 95,175, 8,117,135,111, 45, 97,179,193,183, 22,191,185,100,115,
+126,206,253,117,207,167,131,227,223,212,151,252,249,106,205, 79,234, 53,143,188, 77,251,253,154, 82, 4,114, 31,200,188, 37,243,
+ 48, 87,130,181, 20, 41,201, 90, 34, 19,138, 42,242, 9, 34,215,187, 70,115, 68,110,158, 41,214, 95,172,239,255,170,194,174, 99,
+209,154,148, 41, 82, 59,139,240,119, 57,137,141,124, 55, 64,105,120, 75,106,126, 59, 23,104, 83,160,156,101,229, 44, 62,120, 14,
+148, 97, 35, 5,175,105,205, 25, 48,117,150,121, 94,112,210,118,220,145, 18, 63,116,116,109,207,182,238, 96, 91,167, 97, 36, 42,
+ 64,254,224,120,194,203, 89,134, 86, 25, 94, 40,140,214, 40,229,121,191,115, 73, 13, 35, 99,211,170,178, 36, 97, 78,247,239, 40,
+171,126,161, 97,229, 75,184,200,242,139, 8,114,114,111,112, 77,181,238, 57, 48,255, 63, 92, 81,207,179,120,178,236,176,179, 33,
+ 29,109, 67,179, 44, 62,176, 61, 41,251, 60, 21,216,204, 36,194,211,222, 67,244,138,109, 56, 78,241,233, 11,251, 2,164, 5,173,
+119,133, 65,154,221, 46,211,167,194, 48,234,217,247,131, 96,252,254, 78, 35, 77,162,146, 29,170,240, 34,154,199, 76,225,242, 41,
+ 94,198,160, 12, 47, 29, 19,101,226,164, 40, 21, 62, 8,186,193,114,209, 91,182,221, 0, 8,230, 7, 83,110, 47, 14, 40,181, 65,
+ 9, 16, 4,164,247,116,206,178,106,122,206, 86, 13, 97,240, 8, 31,146,116, 2,124,166, 17, 42,144,235,156,179,230,146,251, 79,
+ 30, 65,187, 34,188,136,193,139, 76,197,214, 73,232, 44,151,171, 37,159, 14, 61,199,101, 78,158,231, 12,221,192,166,105,184,127,
+241,152,135, 31,222, 5,103, 99,152,194,197,242,105, 6,232, 87,161, 52, 34,101,222,203, 47,131,173,198, 48, 29,181,135,213,165,
+ 9,220,217,200, 92,109, 54,241,198, 31,145, 19, 63, 58,178,233,216, 20,222, 56, 38,207, 20, 90,104,132, 0, 43, 37,193,182,160,
+ 21,185, 84, 84, 70,145, 41, 69, 99, 3,149, 81,180,214,225,131, 39,136,128,199,145,107, 73, 63, 4,156, 27,253, 14,210,227,201,
+118,169, 1, 10,145, 57,158, 21,169, 80,219, 36, 61,235,227,235,180, 54,146, 7,191,112, 90, 29,215, 73,123,219,230, 60,139,147,
+244, 62,231,100,148,124, 62,187,190,130,216,160, 24,179,147,111, 22,121,108, 34, 84,130, 5,109, 23, 97,240, 85, 27,119,135,117,
+ 15,198,240,218,141, 9, 63,200, 53,175,101,138,187,103,171, 68,144, 75,122,117,124,124,144, 42,147,124, 5,178,200, 23,184,184,
+252, 92, 81,199, 39,111,251,193, 38, 36,109,128, 44,231,191,127,227, 22,191,119,227, 14, 70,195,255,125,214, 68,159, 0,118, 22,
+171,130,104,157,251,112,208,104, 41, 89, 3, 15,156,229,190,147, 88, 39,184, 27, 90,254,137, 41, 41, 48, 40,153, 81, 44,174,241,
+242,209,109,174,103,134,101,223,226, 8,100, 88, 94, 54, 26, 41, 5,121,215,241,160,109, 8,126,195,191,127,248,144,127,119,118,
+ 70, 24,122,130, 34,154,214,100, 6, 79,108, 2,122,239,112, 54,112,123, 82,176,181, 45, 55,140,161,243, 1,147,229, 44, 14, 22,
+ 20,179, 9,250, 96,134, 51, 26, 33, 13,147,114,130,247,129,239, 29,220,224, 7,183, 94,229,187,179, 27,252,250,209, 13, 38,115,
+205, 61, 15, 90,101,168,190, 71,117, 22, 57,153,160, 76,134,202, 75,228,224,144,194, 34,131,138,133,125,176,208,212, 60,217, 88,
+154,210,177,148,129,159,212, 3,219,224,160, 72, 43,139,117, 29,175,105,219, 39,169,151,139,150,191, 67, 71,232, 60,129, 1,214,
+ 13,161,110, 97,121, 25,125,197,183, 29,161,183,132,224, 99, 19, 48,244,248,139, 19,130,235,240,109,131,239, 26,188,115, 49, 22,
+183,174,241, 78,224,134, 26,239, 6, 6, 63,196,201,223, 65, 62, 88,140,112, 84, 82, 82, 10, 75,174,224,192, 40, 90, 33,152, 40,
+197,171, 83,205,235, 7, 83, 14, 22, 5,213,193,140,165,154,166, 20,199, 72, 6,125, 17,199,202,231, 21,120, 1, 8,167,227,176,
+ 52,201,160, 92,196,235,149, 16,249, 33, 77, 90, 35, 45,166, 16, 36,255,201, 52, 3,161, 88, 54, 43,166,249,148,206,123,110,231,
+ 37,101,128,119,235,129,137, 49, 84,174,231,157,198,115, 93, 6,180, 18, 4, 9, 55,164,228,219, 18,254,195,233, 38,230, 62,116,
+117,202,132, 8,220,154,230, 28,165,235,201, 75, 73, 23, 2,119,155,129,251,222,238,236,165,125, 34,216,230,121,188,239,138, 34,
+162,129,243,121,228,173, 16,146,174,157,167,172,194, 95, 88,158,253,133, 68,185,125,101, 12,255,128,240,123,158,197,130,169,244,
+142,249,172, 18, 44, 55,178,205,199,169, 67,232, 61,246,249,222,127, 27,255,222,165,128,149,126, 47, 42,245, 89,221,158,231,133,
+172,244,174,138,138, 79, 5,217,201,157,143,182,142, 25,232, 87,233, 56,210,238,177, 94,246,150, 64, 82, 60,141,246,191,168,100,
+ 33,159, 35,143, 14,210, 84, 30,223,227, 52, 87,104, 41, 81, 41,138,117, 99, 7,182, 67,207,208,122, 80,130,235,243, 57, 71,147,
+ 42,234,124,189, 71,138,128, 7,154, 97,224,116,219,211,215, 45, 34, 88,194,224,147, 22, 50,208,181, 29,151, 67,207,164,148,100,
+ 42,195,148,154,229,221, 79, 63,175, 48,144, 50, 22,143,253,239,187,212,185,202, 84, 24,234, 14,206, 46,184,151,231, 76,144,156,
+111, 86,156, 44,207,249,155,191,251, 32, 26, 74,120, 7,143,159,124, 13, 13,230, 30, 95, 98, 44,238, 94,124,201,201,211,169,113,
+218,219,194,121,226,106,102,244,223, 55, 69, 58,159, 33,201, 18,211,215, 62, 64, 38, 49,147, 10, 35, 21, 2, 65,125,118,114,229,
+224, 87,102, 17,130,239,211,164, 17, 66, 96, 98, 4,141, 15,248,224,232,186, 1,161, 37,110,136, 69,128, 33,217, 4, 15,125,212,
+186,143, 54,179, 46,233,187, 73, 49,173, 17, 82,136,222,211,202,126,193,148,254, 12,204, 14, 48,159,237,246,237,106,239, 88, 93,
+ 25,152, 36, 72,220, 36, 56, 82,236, 61, 66,157,138, 83,117, 31,226, 52, 83,229,200,172,136, 92, 0,153,126, 94,221,196, 66, 61,
+137,196,190,183,230,113,191, 60, 23,130,109,102, 88, 95,174,118,153, 7,235,109,202,143,111, 99,166,188, 78,146,189,109,106, 16,
+158,125, 40,143, 48,236,136,204,204, 42,126,116,235, 58, 47, 85, 11,222,223,174,248, 15,171,250,106,191, 62,178,252, 69, 90, 63,
+ 8,111, 89,107,131, 45, 52,141,214,156, 9,141, 66,176, 14,240, 61, 45,184, 61,185,134,204, 10,212,157, 59,152,197,156, 60,155,
+242,224,226, 4, 31, 44, 7, 74, 51,147,130, 55,203,140,215,202,156,235,210,243,127,220, 59,229,241,227, 75,252,102, 21,237, 71,
+135,142, 16,162,197,232, 92,105, 58, 33, 41,164,230,187,121,137, 15,129,133, 20,172,250,150,105, 86, 48, 5, 68, 81, 48, 63,158,
+146, 77,178, 56,109,103, 57,189, 8, 92, 95,204,249,246,241,130,163,107, 11,110,220, 62,230, 80,230,220,206,230, 76, 75,197, 71,
+ 97, 64,161, 80, 38, 71, 57, 17, 31,117,193, 35,165, 68, 74,141, 20, 17,198,150,193, 71,131,154,190,225,209, 89,203,199,189,101,
+147,167, 18, 39, 53, 84, 69,242,187, 72,247,136, 73,205,235,120,111,217,100, 56,212, 69,171,209,224, 29,180, 53,161,111, 8,205,
+150,208,213,132,174, 37,108,214,209, 82,183,235, 9, 62, 58, 18,122, 51,137,141,234,182,195, 93,158,225,215, 91,124,231,240, 50,
+ 96,189,160,198, 98,221,192, 53, 1,194, 15, 72, 2, 19,169,240,222,242,189,210,240, 95, 30,207,249,227,107,115,126,255,240, 26,
+ 63,154, 77, 48,153,225,246,225, 4, 57,203, 57,247,163, 37,179,191, 50,185, 18, 95,241,231,115, 80,189, 75, 13,162, 54, 80,205,
+162, 71,196,232, 19, 18,136,182,175,101,206, 91, 70,179, 48, 5, 19, 37,184,165, 37, 51,157,113, 50,116, 92, 87,145, 39,240,211,
+174,231, 71, 85, 5,174,231, 49,146,183,164, 35, 87,138, 92,103,244, 67,203, 37,112,182,105,120, 83,122, 62,238,251,120, 95,116,
+ 45,116,150,207,250,192,237, 66,115,156,103,120, 60,181, 11,252,111,117,178,119, 29,146,124,109,180,181, 22, 10,180,230,237,227,
+ 25,255,217,203, 71,252,241, 75,215,121,179,202, 56, 62,158,241,137, 75,131,135, 74, 80,150,208, 9,233,245, 47,246,124, 28,239,
+117, 41, 63, 47,107,123,118, 74, 55, 89,180,191,158,204,254,158,139,186,214,159, 63,125, 89,130, 25,131,143, 7, 68,236,193,174,
+ 89,218, 89,200,189,221,122,199,206, 61, 43, 27, 3, 44,146, 65, 71, 72,108,224,111,162,189, 30,187,161, 76,197, 2, 46,147, 3,
+157, 75, 83,250, 78,147, 18, 11, 74,240,159,191, 34,189,142,210, 13,207, 87,104,145,159,165,146, 31, 17,166, 21,101,150,161, 3,
+ 8, 28,165, 20, 40, 37, 17, 66, 80,187,129, 85,239,217,108,146,145,129,212,148, 69,134, 81,130, 64,192, 38, 18,203, 48, 56,206,
+234,142,198,245,248, 54,238,234,128,200,176,237, 99, 71,121,124,231, 14,191,250,210,247,185,182,184, 65,169,167,124,252,209,207,
+147, 17, 10, 59, 86,117, 72,244,165,253, 6, 73,142,133, 98, 12,198,137, 19, 88, 88, 45,185,127,178,228,254,217, 41, 39, 15, 79,
+226, 78,234,120, 17,163,104,151,203,175, 39,217, 16,123, 37, 33,124,149,109, 99,154,212, 71,231, 38, 33,119,180,171, 16,118,202,
+ 5,183,137,208,187, 72, 70, 64, 87,251,111, 79,111, 29,117,219, 70,205,190, 84, 32, 2, 82, 27, 36,129,206,121, 22,153,166,245,
+ 46, 22,125,103, 49, 66, 82,183,129, 28,208,184, 0, 0, 32, 0, 73, 68, 65, 84, 29, 74, 73,218,110,192, 14, 46,158,228,113,183,
+109, 19,151, 66,166,137,125,244,130,247, 34,153, 14,117, 41,139,222, 62,205,122,127,222,199,124,198,175,254,193, 31,240,248,209,
+ 41,132,209,168, 35, 53, 46, 35, 41,211,167, 41,126, 84, 85, 36,203,214, 8,223,200,104, 97,156, 16,138,197,225, 34, 58, 33,203,
+232,187,142,119,209,202,210,185,200,242, 45, 11,242,105, 78,166, 36, 79, 20,124,120,186,142,205,208,208,197,227, 90, 76,162, 43,
+ 88,235, 96, 49, 37, 91, 28,242,223,188,114, 27, 76,224,241,147,243,157,213,237,243,166, 49,103,249, 64, 74, 50, 3,255,211,249,
+138, 49, 71, 65,216, 1,186, 52,217,203,241,118, 10, 12,237,128,152, 76, 64, 75,164,206,113, 82,161, 51,141, 99,224,123,213,140,
+108,122,136,190,113, 13, 89,228, 32, 13,225,244,132,204, 8,230,194, 50,211,138,185, 82,232,204,176,200, 12, 11, 45,168,115,201,
+106, 8,248,179, 21, 97, 85, 19,148,228,123,139, 41, 7, 69, 69,169, 20,223, 46, 42,110, 86, 26,229, 6, 30,146,241,170,214,216,
+ 48,176,177, 29,211,114,130,208,154,220,104,148,212,228, 70, 49, 59,156,112, 45,207,121,245,246,156,233,181, 25,249,180, 32,159,
+148, 20, 65, 83, 5,205,141, 34, 99,118, 60,229,177, 5,165, 99, 46,188, 42,203,152, 84, 55,184, 56, 3,100, 2,209,119,209, 94,
+ 55, 51,136,205,146,176, 94, 33,172, 39,100, 9,194,117, 46,162, 78,211,105, 92,167, 76,138, 88,212,159, 34, 89,122,130,247, 87,
+ 54,191, 97,252, 60, 90, 11,143,196,196,125, 25, 97, 86,225, 95,190, 78,200,115,124,211,225,189, 37, 88,139,239, 54,177,184,111,
+ 58,176,158,182,239, 49,161,167, 18,129, 74, 42, 58,231,152, 72,201, 15, 77,206, 43,153,225,118, 94,209, 75, 65,102, 10,114, 93,
+208,154,140, 60, 47, 40, 38, 25,143,145, 8,105,226, 42, 88,131, 72,215,200, 87, 21,245,171,207, 33, 93,243,215, 23, 28,127,251,
+ 22,119,174, 31, 80, 86, 25,235, 85, 23, 81,157,220, 32, 50, 67,233, 3,111,205, 75, 50, 37,105,132,228,193,208,242, 45,157,209,
+ 59,199, 52, 43,240,174, 39,179, 61, 70, 27, 50, 2, 23, 74,209, 15, 13, 77, 16, 28,232,156,123,219, 45,223,193, 82,235,140, 7,
+ 77,203,224,147, 4,175,107,193, 14,124,120,190,230, 47,215, 29,127,179,110,248,233,233, 58, 90, 79,143, 6, 89,146, 56, 96,250,
+116,255, 25,193,239, 30, 78, 56,204,115,150,110,160,200, 50, 10, 35,121,199, 19,159, 89, 90,199,232,102,157, 37,243, 42, 29,107,
+221,151, 33,166, 99,125,250,220,196,110,247,184, 95,251,232,175,129, 27,215,225,160,250,123, 46,234, 38,193, 40,201,200, 42,154,
+133,164,105,123, 92, 78,203,189,135,242,104,252, 50, 78, 40, 73,242,136, 74,134, 32, 54,196, 23, 63,116,105,127,145, 10,146,210,
+ 47, 6,123,127,209,129, 27,108,236, 6,197,222,208,164,216, 53, 14, 36, 86,190, 22,137, 21,191,199,134,119, 99, 76,107,130, 7,
+ 94,212, 9,111,114,200,252,248, 24,129,101,146, 75,140,242, 56,124,100,247, 58,199,186,115,212, 93,135,107,135,196,244,150,104,
+ 41, 48,193,209, 15, 29,189,115,212,214,178,234, 44,235,174,195,182,195,213,235, 18,128,200,116,252,119,147,138,215, 94,122,133,
+235,213, 13, 76, 86,112, 86, 95,114,247, 23, 31, 69,168,105, 60, 63,251, 27,118,241,108, 23, 57,198,165,250,167, 9,217,161,139,
+234, 0, 83,240, 43, 63,250, 46,223,121,229, 14, 55,174, 29,240,240,195,143,190,102, 83,181,231,219,251, 34, 50,144, 49, 28,101,
+156,236,199,159,163,203,136, 6,117,155,148, 31,224,162,243,147, 74,190,255, 58,105,228,101,154,114,198,244, 62, 29,139,157,147,
+ 16,188, 96,176,241,218,148, 2,250,161,103, 8, 34,230,195, 91,199,208, 38, 55, 40,153,174, 1, 45,210, 83, 75,199,130, 45,146,
+125,171, 76,174,117,210,199,137, 94,236,241, 8,244, 87, 68, 39, 10,201,226,206,109,206, 46,183,145,165,126, 37,135,244, 79,147,
+ 46, 71,119,195,177,161,185, 98,197,143,231, 44,178,171, 77,158, 33,179, 18,233,122, 6, 68, 84, 7,116, 67, 52, 83,202, 5, 52,
+150,203, 44,231, 51,161, 56,233, 92,132,240, 79,150, 41,174,210,239,216,188,125, 7,139, 5,255,237,183, 95, 99,158, 21,220, 44,
+ 51,254,234,222,195,167,144,135, 47, 44,238,131,101,216,214,252,188,177,145,183, 98,116,156, 40,148, 70, 12,109, 98, 76,239,184,
+ 64, 2, 79, 91, 91, 66, 53,165,204, 51,110,149,134,235, 70,211,216,192,129,214, 92, 47,166,228,243, 35, 4, 18,119,182,166,169,
+ 47, 89, 40,141,180, 45, 3, 1,171, 20, 83,165,232,165, 98,155,231,148,147, 18,189,200,241, 71,135,212, 50, 70,146,102, 58,102,
+ 40, 84, 69,206, 91,243, 9,139,188, 68, 21, 5, 10, 75, 45, 2, 97,176,116,195, 64,240,130,182, 29,232,188, 34, 47, 37, 7, 70,
+114,144, 25,142,139,140,163, 89,137, 73,134, 88, 33, 64,191, 29,152,152,140,151,138, 25, 55,204,140,107,243,130,108, 81,176,206,
+114,110, 29, 76,104,136,249,232,178, 40, 17, 14,230, 85, 73, 63, 54,255, 58,106,158, 51, 47,177,247, 79,119, 33, 83,121, 14,121,
+137, 88, 76, 17,179, 18,145, 25,196,186,223, 17,211,190, 4,222,126, 86, 97,112, 85,212,111, 93, 39, 28,205,241, 66, 17,156,199,
+ 55,245, 21,231, 50, 12,150,208,212,132,102, 11,203,134,165,135,163, 66, 17, 6,143, 15,158,204,121,126,115, 86,114, 36, 53,181,
+ 15, 28, 20, 83,164, 50,212, 74,161, 85, 70, 11,148,153, 65,105,201,105,153, 33,242, 28, 81, 86, 8,165, 17, 33, 32,148, 68,154,
+104,188, 35,210,179, 90,228, 25, 28, 94, 67, 28, 30,198, 93,121,176,136, 30, 56,152,160, 94,123,137, 95,125,233, 22, 71, 85,197,
+181,233,148, 70, 59, 14,231, 11,230,147,130, 44,203, 89, 43,197,171,153,228,251,210, 80,227,185, 99, 42, 30, 13, 3,179,204,240,
+184,221,178,200, 12, 66, 74,222, 93,111,249,118,150, 97,188, 71, 8, 77,214,111,249,133,115,188,157, 73, 54, 66,241,112,217,240,
+201, 42, 33,110,193,238,106, 66,215,195,182, 38,172,183, 81, 10,218, 15,145, 41,223,182,123,208,119, 68,157, 95,171, 12,223,153,
+149, 9, 84,150, 72, 41,233,172,227, 97,235,168,131,139,207,173, 34,169, 99, 50,179,147, 70,243, 21, 67,224, 72, 10, 31,229,129,
+227,122,249,139,212,220,186,128,195, 41, 8,241,247, 92,212, 71, 54,251,184,223, 20, 62,194, 43, 90,164,154, 62,230, 7,167, 68,
+169, 50, 89,116,138, 84,192, 77,250,247,109,138,229,244,105, 18, 26, 89,194,163,166,221,168,111, 78, 78,208,169, 0,122,145, 18,
+189,236,142,132, 39,210, 62, 83,134,221, 90, 64,239, 5,198,104,113, 21,121,249,149,228,184,253,143,163,107, 48,201, 40,101, 52,
+ 7,109,236,144, 40, 4, 1, 31, 60,203,166,165,223,244,187, 59, 50,215, 84, 74,199, 7,146,115, 52,189,163,117,158, 85,211, 18,
+154,126, 23, 28, 50, 58,182,105, 73,118,120,196, 31,253,198,111,115,231,224,101,178,194,112,114,121,198,121,179,226,241,123,239,
+236, 38,226, 81, 46, 50,178,213, 3, 47,198, 70,215,121,100,240,191,114,131, 31,220,122,153, 42,203, 89,148,115,222,175,215,209,
+ 54,242,235, 20,246,175,115,220,198,130, 53,122,152,143,143,174,190,141,197,122,146,180,225, 58,237,180,188,125, 26, 21, 24, 9,
+118, 42,217,253,250, 72, 20, 11,214, 33,100,160, 15,150, 66, 43, 86,109, 79,102, 76, 12,246,176, 22,215,251, 24, 38,161, 50, 66,
+155,100,151,232,221, 42,105, 36,122,250, 17,253, 48,209,163,160,208,241, 97,161,242, 29, 34,245,101,197,221, 90,206,238, 61,129,
+119,207, 97, 49, 58,239,137,207, 91, 75,238,239,214,173,221, 37, 18, 38,201, 17, 93, 3,205,128,152, 79,176, 2,110,102,138,181,
+141, 54,161, 46, 36,249, 93,189,137,247, 99,158, 36, 57, 82, 70,116,103,211,166,169, 48,177,130,187, 20,106,227, 5, 47,189,114,
+204,180,156,242,225,106,205,167,203, 21, 44, 87, 95,205, 98, 30,108,132,220, 77,129, 40,242,184, 22, 40,242,132,102,116, 49, 20,
+ 70,238, 75,191, 44, 62, 47,184, 54,157,240,250,172,224,229, 44,231,102,102,232,252,192, 29, 85, 80,133, 12,177,109,241,151,231,
+208,111,232,130, 37,147,224,188,199, 7,193, 96, 50,106, 33,104, 76,198,153,214,132,108,194, 26,137,168,102, 76,102, 83,206,236,
+ 64, 40, 74,178,190,229, 90, 85, 33,165, 96, 27, 2,151,117,244, 75,183, 33, 71, 40,133,119, 29, 79,150, 23,116,155,158,118,109,
+ 41,243,140, 10,193,225,180,100, 90,154,120, 41, 57, 79,115, 57,208, 39,120, 59,211,154,227,233,148,111,205,143,249,222,244, 26,
+111, 47,110,113,123,122,196,203,211, 9, 55,143, 22,212,194, 33, 39, 5,181,208,152, 98,130,247,154,144, 25,130, 80, 88,223, 69,
+ 47,129,179, 39,136,218, 71,134,121, 89,198, 63,197, 4, 81, 76,224,232, 0,145,149, 8, 55,230, 99, 60, 77, 76, 11, 95, 81,224,
+131, 29,160, 19,132,186, 33,180, 29,193, 8,194, 96,241,251,255,214,185,180,199,135,199,219, 1, 81, 72,214,157,197,122,199,117,
+ 41,185,157,229, 40, 41,144, 74,210, 74,205, 35, 4,191,112, 30,167, 51,156, 27,168,138, 9,159,166,103,163, 40, 51,196,193, 12,
+ 49,155, 35,103, 51,132, 48, 8, 93, 32,130, 64, 28, 28,114,227,135,111,242,195,111,191,206,173,227, 35,166,243, 9,231, 33, 54,
+201,226,240,136,183, 95,191,205,141,197, 97, 92, 55, 6,207,171,199,175, 48,175, 38,124,251,198,171, 28, 22, 57, 88,248,171, 65,
+114,205,120,142,100, 70, 23, 44,183,164,226,103, 77,199,247,170, 41, 63, 91,109,121,105, 82,112, 83,192,133,247, 12,118, 64, 41,
+197,165,115,188, 42,163, 64,227,227,245,134, 62, 56, 30,214, 93,146,181, 61,171,170,242, 59, 87,188,174,139,205,109,215,239, 86,
+ 72, 67, 68,139,151, 65,241,195, 42, 39,215,138, 42,203,113,222, 49, 72,201,159,159,175,119, 3,196, 56,200,142,133, 57,168,136,
+114,250, 23,244,129,255,130, 77,221,231,184,196,166, 0,165,255,158,139,186, 79,187, 7, 35,159,182,181, 30, 31,200, 97, 44, 38,
+137,108, 70, 72,172,217,148,132, 21,146,214, 55, 31, 37, 72,201,163, 93,238, 89, 60, 40, 25,117,192,214,127,243,215, 40, 69,146,
+246,164,215,123,165,139, 78,144,188, 20,207,236,214,147,212,194, 39, 41,210,184, 95,121,145,226,100, 52, 76,231, 96, 52,131, 29,
+144, 50, 32, 69,136,196,101, 96,221, 15,212,235, 4,187, 19,181,190,121,110,168,180,185, 90, 65,215,118,136,208,124,151,136, 27,
+ 33,196,156,238,224, 18,151, 34,227, 59,175,191,196,175,189,241, 54,147, 89, 69, 8,158,119, 31,188,199,207,238,222,133,243, 39,
+187, 11,105, 95,126, 38,120,177,105,217,196, 48, 23,166, 5, 78, 6,190,123,253, 22,214, 7, 54,125,203,221,119,247, 80,128, 23,
+ 66, 44,138,221,190,248,235,156,175, 47, 82, 25, 76,138,104,211,234,101,132,189,117,146,149,153, 84, 68, 68,216,237,240,243,100,
+114, 52,158, 51, 23, 98,212,169,131,174, 27, 48, 90,208, 44,123,156,243,132,173, 35,116, 22,134, 16,235,168,117, 32, 20, 82,137,
+189,135,168,220,145,211,228, 56,177, 39,179,152,178,140,138,132, 66,197,115, 83,232, 47, 71,116, 92, 31, 77, 54,198, 68,188,193,
+126,254,186,218,127,239, 35, 55,100, 76,160,179,195, 85, 30,179,235, 6,244,172, 64,227, 57,144,146,137,136,219, 44,231,146, 52,
+104,179,141,231, 61,159,236,156,237,182,203,157, 60,103, 24,118, 33, 60,131,227,195,162,224, 93,239,249,192, 19,207,243,147,179,
+231,247,243, 35, 87,163, 72,108,252, 46,238, 67, 69, 89,196,251,187,200,185, 94, 78,168,187, 14, 26, 27, 11,187,181,209, 99,221,
+228,220, 58,170,120,115, 50,225,102,150, 51, 85, 6, 21, 2, 83,103, 57, 26, 60,102, 93, 35,215,167, 8, 27, 87, 35, 82, 27,178,
+ 32, 24,194, 64,131,224, 66, 73, 30, 35,233,148,166,113,130,144, 77,184, 83, 78,120,189,202,249,193,180,226,117,147, 97,114,195,
+ 89, 15,245, 16,168, 7, 65,161, 20, 86, 43, 50,173,169, 10,197,208,193,208,119,244,237,154,147,199, 15,232, 58,205,205,249,148,
+210, 9,180, 21,168, 32,217,110, 7,150,117,207,227,229, 22,213,247, 76, 38, 57, 89,166, 41, 76,198,225,108,198,245, 98,194,171,
+211, 67,238, 84,215, 56,150,134,239, 47, 14,121,105,162, 17, 69, 96, 58,201,153,148, 57, 90, 10, 90, 23,240, 77, 71,240, 3,162,
+239,162, 1, 80,215, 33, 76,116,159, 19,229, 12, 81, 46,248,141,107, 55,249,151, 63,250, 33,223,126,249, 58,239, 24, 25, 73,139,
+ 93,247, 66,210,177,144, 26,172, 16, 2, 65,105, 66,166, 8, 8, 66,215,125,241,132,111,123,196, 80,179, 94, 15,108, 58,207,105,
+235,121,181,148, 28,101,146,153,202, 49, 82,113,191,239,248,133,247, 92, 4,143, 80, 10,148,161, 38, 48, 17,130, 19, 25,101, 98,
+ 2,144,147, 18, 81,100,200,249, 28, 49,169, 16, 55, 14,248,225, 27,119,248,222,173, 55,184,113,237, 58,147, 44, 35, 11,129, 91,
+135, 11,178,163, 57,183,110, 94, 99,154, 23,148, 58, 71, 74,193,180,156,178,220,118, 84,197,148, 50, 43,200,179,130,195,106,194,
+237,208,242,208,122,190,165, 36,150, 64,111,114, 50,103, 57,245,142, 55, 51, 67,239, 44,103, 66,112, 32, 4,154,192, 67,215,115,
+ 40, 4,114,136,100,193, 83, 23,184,108, 90,122,225,233,221,158, 58,231,185,250,241, 84,160,125, 31, 27, 96,219, 71,243,169,174,
+101, 86, 25,110,107,195,129, 81,172,186,158,255,245,209,146,173, 15, 49,248, 75,135,157, 18, 43,164,117,102,219,197, 26,242,203,
+186,208,233, 68,106, 14, 33,222,207,167,103,255, 17,136,114,126, 63,123, 60, 65,134,102,124,144, 39, 28,123,100, 62,251, 68, 38,
+ 24,119,137,163,190,153,176,155,222, 93,122, 88, 62, 37,233, 73,147,186,148,223,236, 0, 61,245,111,178,103, 96,117, 34,236, 46,
+237, 83, 43,141,171, 85,194, 8,195,191, 72, 65,212, 26, 38, 11, 40, 13, 65, 8,130,242,104, 5,153, 22, 40, 41,168,123,199,170,
+235, 9,125,127,245, 59,100, 97, 80, 82, 16,132,167,183,158, 85, 55,208,212,195, 46,199,119,132,164, 67, 10,250, 80, 2, 53,159,
+243,198,241, 77,174, 29,220, 34, 4,193,166,105,120,231,238, 71, 52,167,167,176,185,248,188, 25,207,215,153,150, 85, 6, 7,211,
+ 36,225, 16, 92,218,134,123, 23, 43, 62, 56, 61,133,135, 15, 95, 60,206, 48,207,224,141,215,162, 45,233,122,245,203,219, 43, 14,
+233,196,140, 97, 61, 33, 57, 17,102, 69,146,156,249, 61,237,149,227,191,251, 47,254,132,119, 62,124,111,215,216,180,177,112, 49,
+120, 92,159, 44, 7, 91, 27,121, 31, 46, 21,227,100,156,147,229,121,204, 71, 54,130, 76, 41,156, 78, 89,230, 54, 21, 89, 53,218,
+ 13,167, 61,146, 73,196, 51,157,254,159, 76,127,249, 62, 77,126,205,107,247, 89,181,193,248, 61,231,184,182,168,104, 5, 76, 76,
+140,163, 60,206, 13, 75,107,227, 78,176,107,227,245,124,235, 40, 26,240, 76,139,120, 12, 46,151, 79,253,140,248, 51,163,139,220,
+144,171,157, 2,101,185,218,189,143,162,136,205, 94, 8, 87,228, 30, 49, 41,193,170, 8, 57,146,248, 47, 89,148,120,253,201,173,
+107,252,243, 59,175,160, 75,193, 71,103, 27, 68,103,175,210,206,100, 83,115,237,248,144,239, 46, 14,120,189,152,115, 88, 76, 16,
+ 1, 78,218, 53,223,234, 59,140,247,104, 85,161,164,192,100,101,162,127, 72,134,161,227,177,119, 60,112,150, 54, 43, 88, 9, 65,
+ 71, 70,149,229,188, 49,159,114,172, 50, 94, 46, 42, 50, 4, 51,101,216,120, 73, 39, 36, 65,105, 50,105,144,218,224,133, 36, 4,
+ 77,111,123,108,144,108,182, 91,234,118,205,102,125,194,186, 85,124,171,172, 88, 40,133,107, 45,125,235, 56,185,220,242,233,229,
+138, 96, 7,242, 54, 34, 61, 70, 25,178, 50, 39, 43, 10,202,105,197, 60,203,120,249,232,136, 59,135,135,188, 94, 30, 50, 65, 71,
+ 23, 99,233, 34,179,190,208,228, 89,129, 20, 26, 39,100, 84,177,116, 45, 98,187, 65, 14, 30,153, 11,228,228,128,127,245,157,215,
+248,193,237,235,220,185,126, 19, 47,167,124, 24,122,132, 19,132,126,136, 59,250, 23,213, 65,103, 89, 66,151, 92, 50,108,250,146,
+ 41,113,232,193, 91, 68,231,120,119, 59,240, 23,235,154,135,190,229,255,220,212,252,101,215,115,174, 2,165, 52,132,224, 24,146,
+162,211, 73, 21, 27,170, 16, 16, 90, 33,148, 65,228, 19,254,233,173, 91,252,218,209, 33,191,115,243, 21,230,243,235, 40,147, 99,
+116,142, 50, 69,140,100,208,154,219,243,155,220, 94,220,102,158, 31,227, 80,180,174,229,211, 7, 15, 80, 74, 82,149, 21, 85, 57,
+193,249,129,213,114,137, 36, 80,119, 61,127,218, 90,126,171,170,240,125,203,177,214, 84, 18, 26,231, 88, 3,199,222,225,181,193,
+121,207,204,246,148, 82,208, 58,199,165,181,252,187,117,203,161, 18, 60,236, 98, 99, 31, 7,198,231, 12, 25, 87,249,230,123,126,
+ 18,227, 80, 48, 88,238,157,108,248,201,233, 37,255,215,163, 53,127,181,220,178, 29,149, 38, 34,165, 20,250,116,188,125, 72,146,
+216, 33, 30, 91, 59,252,146,156, 53,249, 52, 68,230,253,127, 68, 73,155,209, 41,236, 35,153,111, 8,157, 38,120,187,131, 18, 67,
+122,248,150, 89, 44,224,154, 8, 99,106,177,131,227,123,187,219,245,137, 4,225,167,137, 22,145,164, 61,223, 4,138,151, 9,146,
+181,169, 80,219, 61, 98,220,216, 44, 8,246, 72,116,126,247,189,225, 5, 79,140,153,192,225, 44,217, 9, 10,178, 66, 82, 40, 21,
+221, 61,149, 98, 61,244, 49,123,119,220,215,148, 81,183, 62,146,209,155,193, 97,183, 93,156,156,218, 1,100, 96,126,227, 58, 85,
+ 85, 81, 78, 42,154,166, 7,161,248,157,239,255, 42, 55,103, 55, 16, 66,112,182, 60,225,238,233,103,124,116,242, 24,206,207, 99,
+ 68,226, 47,213,164,165, 5,104, 22,253,214,235,147, 11,186,135, 39,112,126, 18,139,196,139,126, 76,167,188,253,107,111,115,243,
+250, 81, 36,220,125,217,195,229, 69, 63,198,224, 31,159,252,181, 81,177,171, 86, 50,133,148, 36,156,215, 57,222,249,249,207,226,
+223,155, 4,129,181,195, 78,142,230,210, 57, 21,255, 15,117,111,250, 35, 89,118,158,249,253,206,118,151,184,177,229, 86,107,119,
+ 87, 55,155,139, 72,137,212, 72, 20,103,145, 53,163, 17,168, 17, 96, 12,198, 30,251,139, 96,192,128,255, 62,195,254,102,192, 48,
+ 96,120,145,101, 91, 50, 70,163,161, 68,114,212,100, 55,123,173, 45,179,114,137,140,237,110,103,241,135,115,110, 70, 84,117,117,
+119,117,147, 90, 38,129, 98,118, 49,179,170, 34,111,220,123,222,247,125,222,103, 73, 57,239,131, 97,142,143, 7,162,243,129,188,
+ 84, 81,169, 64, 64, 34, 8,131, 12,205, 36, 41,142, 86, 59,181,135,227,198, 75, 61,222, 75,238,203, 35, 20,159,215,169,251,189,
+142,253, 57,239, 6,137,205, 12,227, 60,167,150, 2,147, 25,106,239,169,189,135, 85, 19, 73,115, 58,135,215,111,241,159,223,123,
+141,111,207,167,188,126, 80,241,193,147,179,151, 55, 29, 54, 68,231,185,144,200,135,117, 31, 61, 2, 32, 22,116, 17, 67, 87, 34,
+ 7, 69, 71, 54,126,150, 18,208,244,224,243, 31,184, 51, 27,241,135, 7, 71,220, 45, 39, 4, 2,127,190, 88, 35,156, 69,244,254,
+166,176, 47,125,206,239,220, 57,228,173,234,144,214, 91, 50,101,248,184,219, 50,221, 44, 56,148, 6, 83, 29, 32,178, 28,101, 74,
+ 68,240,209, 78,217,119, 92,246, 13,103, 66,178, 82,138,214, 11,178,172, 98, 58, 82,188,150, 23,168,228, 10,168,165, 36,151, 26,
+167, 97,235,193, 9,133, 87, 10, 45, 53, 90,105,106, 1, 94, 42,154, 54,186,168, 29,231,158,220,183,252,245,123,239, 32,123,201,
+108,213, 83, 53,158,118,189,101,211,119, 60,219,110,120,180,188, 98,185, 92, 68, 67, 28,101, 80, 66, 33,130, 64, 26, 69, 86,104,
+178,105, 78, 81, 21, 84, 85,197,109, 89,225, 59,203,162,107,176, 58, 68,208,111,100,120,179,200,120, 59, 51,188, 33, 21, 89, 80,
+ 92,213, 22,113,189, 68,108, 27,196, 72,240,181,233,156, 7, 7, 51, 46,130,224, 73,175,120, 71,149, 80, 8, 68,166, 96,211,165,
+ 52,196, 47, 48,125,113,142,144,212, 49,248,254, 51,155, 75,241,194,159, 1, 31,221, 2,107,203, 71,181,229, 73,211,112, 46, 4,
+143, 58,203, 60, 83, 49,167, 34, 68,148,112,221, 89, 90, 60, 43,169, 17, 34, 48,201, 70,252,119, 39,199,252,225,241, 45, 30, 84,
+ 51,190, 61, 63, 98,146,151,244,121,201, 38, 56,182,157,197, 57,139, 20,154, 50, 43,169,202, 41,121,150,145,203, 2,219, 11,206,
+182, 23,156, 93,175, 8,120,156,235,232,108,203,163,171, 83,158, 58,207, 47,218,142, 63, 30,197,179,123,105,123, 22, 82, 82, 32,
+ 24, 73, 65,219,174,209,102,196, 7,125,199, 93, 41, 49, 82,145,185,142, 71,157,101,217, 91, 78, 52, 92, 89,203,114,157,114, 71,
+218,176, 67,200, 62, 85, 31,110,224, 91,158, 39, 24,201,157,217, 88,219, 69,201,230,114,117,131,162,208, 37,107,217, 54, 73, 95,
+187, 62,170, 71,134, 44,138, 95,202,168, 70,126, 90, 66, 32,229,223, 97, 81,247,123,108, 93, 37,227,126,130,116,232,117,123,174,
+ 62, 34, 77, 2, 34,121,180, 43, 34,163, 87, 16,139,134, 25,166,113,187,139, 51, 20,122, 87,100,135, 98,255,121, 83,187,214,145,
+217,219,239,193,160, 74, 39,195,155,129,204, 32,119, 6, 52,214,239, 14,207,225,226,245, 9,176, 10,175, 56,229,230, 25,156, 28,
+ 66,158, 49, 62,152, 80,100,209,226,181, 42, 36, 2,201,178,177,108, 59, 75,104,218,248, 58, 74,131, 84, 34,134,215,117, 30,215,
+116,241,107,219,148,205,155, 73,238,223, 61,230, 7, 95,255, 22,223,121,253,215, 56, 25, 31,240,201,234, 18,114,195,247,223,248,
+117, 38,147, 25, 62, 4,254,242,253,159,240,179,139,211, 24,207,185,185,248,252, 9,241, 85, 63,156,139,135,249,106, 27,243,203,
+219,250,203,255,189,109,203,217,249,130,179, 15, 63,220,237,102, 7,200,118,248,245,101,110,120,157,228, 48, 74,198, 9, 89,155,
+221,125,228, 19, 39,162, 31, 82,225,162,196, 45,178,197,251,136, 16,101, 41, 12, 64, 37,219,215, 60, 41, 30,100, 22,223,240,116,
+ 64, 75, 5,165, 81,104, 17, 15, 9,233, 61, 58,151,209, 38, 26,199, 55,239, 30,113, 84,141,152,150, 5,139,171,117, 82, 88,232,
+ 72,152, 51,121, 68, 84,148,142,247,244,171,170, 37, 62,239,135, 30,174,213, 96,154,180, 95,216,189,199, 33,233,139, 2,242,140,
+145,148,156,117,201, 53, 41, 56, 88,110,160,204,248,157, 7,175,113, 50, 63,192, 5,131, 50, 57,239,182, 93,124, 79,110,226, 30,
+253,110,106, 11, 50, 94,155,225, 89, 27,140,117,124, 34,120,109,154,100,222,148,197,180, 58,147,131,119,136, 33,186,182,183,172,
+149,228, 86,161,200, 8,252, 79,231,151,156, 91,159,248, 42,137, 45,237, 61, 66,103,124,235,176,226,160,172, 88, 7,104, 9, 92,
+ 57,203,127,191,216,240, 70,179,226,100,122,128, 30, 31, 35,139, 34,174,158,172,199,167,230,202,183, 53, 31,116,158, 54,203, 49,
+ 90,241,141,106,138,240,129,220,104,132,210, 88, 23, 48, 66,210, 17,184, 10, 6, 39, 21,178, 28,225,149,194,235,156,177, 16,100,
+ 38, 39,235, 58,126, 99, 90,240, 71,119,238,114, 32, 51, 58,123,205,255,245, 31,126,196, 7,155, 71,228,219,154,159,126,244, 14,
+ 31, 62,253,128,179,235,103,116,155, 11, 22,155, 5, 15, 55, 11,100,221, 97,156, 38, 56,143,176, 30, 89,104,204, 40, 67, 25,137,
+206,115,148, 84,204,124,193,233,118,197,185,107, 57, 35, 48,207, 51,178, 76,241, 96, 58,226,126, 53,226,190,209,124, 43,207, 17,
+185,100,237,122,220,249,134,211,126, 69,219,195,147,181,227,223,183,158,165, 8,145, 22, 51,157, 68, 45,183,202,193, 54, 81, 7,
+207,231,152,189,120,183,123,223, 94,216,197,139,207, 42,236,131, 9, 23, 62,173,161,122, 66, 99,161,235,121,132,100,166, 32, 51,
+ 57,155,174,197, 57, 71,211,119,180,193,225,133,230,247, 38, 5,223, 59, 56, 97,150, 77, 56,172, 42, 84,158,161, 76,198,227,198,
+114,177,181, 44, 90,203,233,118,133,235, 91,116,102,208, 50,163,154,140,241,190, 71,208,211,217,154, 95, 60, 60,229,236,236, 25,
+ 31, 61, 61,229,131,197, 5,151,171, 53,171,229, 18,164,224,245,170,160,238,123,198, 74, 49, 15,129,109,223,114,142,224,237,108,
+196,101,191,229, 45,101, 88,249, 14,233, 28,109, 8,156, 59,199,129,243, 60,241,150, 15,150,253,142,235, 37,211,202,243,101,220,
+ 34,207,206,171,100,127, 98,255,204, 68,183,221,253, 78,219, 69,184,125,155, 36,157,182,219, 17,223,126,169, 41,253,133, 55, 42,
+229,151,252,221,154,207,228,217,142,173, 43,197,110,103,103,210,158,177,200,192, 53,113,202,178, 54, 30,132, 50,193,121,106,216,
+ 75, 36,150,175, 74,127, 70,101,187, 67, 71,238,177, 10, 5,159,157,252,117,251, 24,249,205,251,132,203,237,110,170,200,210, 82,
+ 91,234, 61, 50,130,223,251,123,194,243, 58,105,239,119, 94,245, 95,244,230,140,138,184, 71, 31,149,140,166, 57,183,198, 99, 10,
+163, 56, 26, 85,180,214, 82, 91,199,214,118,216,117, 29,247, 44, 41, 61, 44,248,128,107,211,110,211,246,137,161, 9,148,134,124,
+ 62,226, 31,189,118,143,215,239,189,133,145,146, 50,203,145,162, 67, 88,203,237,249, 45, 76,150,113,189, 93,242,108,241,140,203,
+139, 11,184,184,188, 49,254,248,149, 52,104,131, 68,234,151,185, 49,235,122,183, 95, 54,217, 78,226,168, 72, 83,246,151,137,109,
+ 76,255, 35,242,157, 68,207,249, 8, 43,223,164,240,165,215, 91,148, 17,110,119,110, 71,208,188, 33,178,164,245, 80,144,100,153,
+ 33,215, 2,231, 2,153,145, 76, 75,131,150,144, 41, 25,169, 28, 46,114, 48,148, 84,104,163, 56,153,142, 24,229, 89,218,218, 4,
+174,101,148, 32,222,232,141, 85,178,132,117, 3, 89,174,255,229,154, 44,253, 66, 28,227,205,126, 95,238, 8,133, 2, 92,150,211,
+ 21,134,149,216, 35, 68,182, 29,172, 59,232,106, 54,243, 41, 15,230, 7,244, 66,243,176,119,156, 94, 95,198,162,126,147, 54,184,
+135,124,245, 54, 50,179,197, 96, 24,149, 44,102,125,186, 71,125,159,136,148,101,210,181,167,233, 71,233, 88,216,131,135,198,243,
+ 55,215, 43,254,116,181,225,188,141,230, 83, 34,211,145, 4, 38, 13,194, 11,132,107,232, 71, 5,179, 92,227,133,230,202,117, 60,
+ 10,150,139,160,248, 81,179,229,119, 21,148,147, 99,100,102, 16, 38,139, 33,122, 33,160,144, 76, 37, 84,219, 21, 63,110,122,114,
+163, 56,214,138,121, 89,161,144,212, 93,135,134,104,182,162, 12,143, 28, 8, 83, 80,100, 5, 90,103, 84, 74, 50, 46,114, 68,239,
+184,115, 56,229,247, 78, 38, 28,228, 25,101,166,249, 96,113,205,105,219,115,118,126,205, 95,124,244, 33, 63,189,124,198,207,207,
+ 46,249,248,234,138,179,229,138,203,118,203,217,234,138,109,232,184,232, 91, 46,154,104,246, 82,216, 64, 38, 21,102, 84,196, 61,
+179, 3,183,233,232,154,150, 95,176,101, 33, 12, 22,201, 73,149, 83, 32,153, 20, 5,135,227, 18, 93, 26, 78,170,146,215, 76,206,
+215, 53,136,179, 75,254,253,147, 15,249,171,237,138,235,205, 21, 2, 11,121, 92, 77, 48,169, 96, 62, 65,204,198,160, 50, 68,219,
+ 70, 15,246,207,146,142,125, 17,199,249, 37,223, 27,246,206,189,208,118,177, 72,217, 30, 54, 61, 79,172,103,172, 37,109,239,233,
+131,163,238,123, 86,125,207, 33,142, 63, 56, 60,230,181,241,148,204,148,140,198, 37, 58,203,112, 82, 32,180,228,195, 77,207,143,
+218, 53, 87,118,203,117,191,229,114,187, 38, 19,208,118, 91,156,237,104,251,142, 39,139, 39, 92,219, 14,154, 14, 33,210,106,162,
+239, 99,242,157,209,124,212, 90,164, 12,220,149,130,165,235,201,181,225,208,182, 44,133, 98, 34, 21,215, 62,122,250,139,224,185,
+114,142, 59,222,243, 39,215, 45, 7, 26,122, 47,169,109,226,100,249,180, 86,250,172,116,185, 97, 72,183,126,247,249,239,235, 99,
+ 88, 27, 14, 2,162,193,217,206,249,191,227,162, 62, 24,104,244,253,206,175,122,112,146, 51, 58,118, 51,131, 77,222,126,183, 36,
+136, 95,211, 42, 65,248, 41,188,162,200,246, 44, 51,253,243, 82, 1, 62,163,168,251,152,228, 21,156,140,118,140,222,199,191,167,
+ 31, 86,254,233,224, 17,201,128,134, 61, 4, 96,136,105,117,169,200,191,202, 46,218, 20,145, 64, 85,149,200,137,225, 86, 85, 81,
+ 24,195, 56,203,144, 82,243,172,107, 88,118, 45,182,238, 99,195,162,146, 65, 65, 19,237, 94,177,125,212, 9, 7, 17,247,186,121,
+ 70, 62, 29,241,181,163,138,113, 14, 19, 51,195,152,156,109,215,240,244,226, 49,189,107, 88,219,154,166,107,120,178, 56,229,221,
+199,143,225,226, 26, 86,215,188,154, 43,207,223,195,135,201,226,197, 31, 92,252,130,216, 67, 79,120,181,215, 61,220, 55,194,239,
+252,152,179, 61, 61,119,232,119,169, 78,141,221,165,244, 14,193, 65, 38,221, 75, 74,147,103,134,224, 97,148, 9,148, 86,204, 74,
+ 69, 33, 5,133, 18,228, 82, 96,132, 68,163, 32,147,204,180, 74, 64,128, 96,219, 59,102,163, 2, 45, 53, 14,207,249,182,222,147,
+ 72, 14,205,159, 76,209,173,110, 87,244,190, 74, 97,191, 33,200, 13,230, 20, 47, 64,131, 3, 67,222, 19,195, 93, 70, 21,179, 92,
+115,146, 25,142,140,100,172, 36,203,166,131,166,161, 21,138,119,140,230, 61,107, 57,181,233,217,124,124,158,164,129,233,240, 24,
+ 60,235,125,202,146,158,150,252,240,100,204,239,223,154,114,160, 37, 31,158, 47,146, 45,175,142,200,196,180, 74,242,181,180,186,
+112,209,180, 67,164,160, 24,172, 71, 92, 47,111,210, 15,133,137, 49,203, 98, 92, 32,166, 99,126,231,193, 9,183, 71, 25,139,174,
+231,137,116, 44,165,226, 39,189, 64, 74,141,210,134,255,251,163,143,249, 23,147, 17,249,193, 45,164,142, 18, 42, 57,174, 40,231,
+ 39,204,103,119, 56,174,123,178,245, 21, 63,115,150,131,204, 48, 86, 10,107, 91, 14,242, 2,107,123,122, 2, 63,175, 29, 62,139,
+241,197,149,210, 76,181,230,246,184,160, 80,146,249,108,132,237, 61,211, 92,226, 67,224, 97,221,242,151, 23, 43, 30,175,175, 9,
+ 77,135, 23, 14, 47, 20, 30, 23, 21, 41,189, 99,213, 56, 86,235,150, 79,186,154, 62,212,124,236,106, 46,186,134,106,219, 50,237,
+ 37, 70,154,184, 98, 93,118,116,117, 67,107,107, 62,234,106,158,224,185, 16,146, 34, 8,166,153, 70, 74,137,202,115, 84,102,248,
+218,236,128,223, 60,152,241,253,105,206,183, 11,205,237,109,224,240,226, 2,125,254,140,139,118,133, 16, 81, 94, 41, 66,218, 93,
+171, 12,113,114,136,152,143,227,127,183,105,165,241, 18, 25,220, 23, 21,249, 87,106, 2, 6, 19,166, 85,195,169,243,180, 93, 79,
+ 16,129,117, 31,232,149, 64, 11,201,137, 54,124,109,122,200,253,249,156, 70, 40,116,174,104, 5,252,108,181,225,199,219,134,143,
+124, 75,103,107,106,215,177,236, 90, 62, 90, 94,162,108, 71,223, 53, 92,110, 22,156,119, 75,182, 77,207, 15, 15, 11,254,245,173,
+ 25,111,143, 11,190, 89,230,252,141, 16, 8,169,112, 82,178,232, 35,154,154, 57,203,182,239, 88, 56, 88,244, 45,207,108,207,200,
+246,156,123,207, 68, 4, 14, 2,252,162,105,185, 43, 61,255,174,129,237,118,203,161,128,186,237, 56,174, 12,219,198,239,101,125,
+188,112,142,251,189, 28,145, 47,115,148,234, 87,248,126,163,227, 89, 52,248, 94,188,146, 65, 77,122,222,111, 38,245, 0,216,175,
+ 80,212,245, 47, 89, 27, 76,138,191,188,129, 29,251, 29, 12,127,227, 54, 23, 82,241,214, 59,118,122,110,146, 78,120,200,149, 78,
+ 50,180,129,128,244, 98, 17,255, 60,121,150,115,209, 65,104,112,230, 18,121,148,170,237,155,202,144,246,134, 93,251, 60,153,236,
+203, 16,203, 70, 5, 84, 21, 84, 57, 24,137,201, 53, 85,158, 51, 54, 25, 66, 11,214,117,203, 85,211, 97,155, 54,178, 41,195,208,
+121,185, 8, 1,119,137,205,158,155, 36,195,202, 65, 73,116,166,152,100,134, 60,211, 52,205,150,197,114,193, 71,103, 79,176,174,
+ 67, 8,184, 88,109,248,217,147, 71,156, 63, 57,133,203, 37,244,219, 29,145,236, 31, 82, 33, 47,146, 13,170,200, 98,177,205, 20,
+200, 50,193,182, 73,219,248,101, 94,247,224,131,174,138,228, 95,160,118, 17,141,131,156,100, 40,242, 38, 21,212, 97, 15, 63, 50,
+241,251,149, 64, 43,193,212, 8, 42,149, 33, 9,204,198, 25, 66,122, 74, 21,139, 91,145,201,184, 30, 39,185,134, 9,129, 73,178,
+178, 69,219,210, 58,203,229,166,193, 5,145,146,221, 82,113,221,151,181, 25, 21,119,218,125, 98,206,251, 47,121, 74, 12, 67,250,
+ 16, 8,179, 31, 60, 47,146, 63, 4, 18, 38, 5,234, 96,134,204,115,238, 20,154, 91,198, 80, 74, 73, 22, 60,183,115,193,217,114,
+ 19, 97,248,241, 56,105,252,137,197, 60,132,104, 75,122,243,204,236,189, 70, 17,120,112,116,192, 15,142,167,204,202, 9,179, 66,
+243, 23,103, 87, 73,254,169, 96, 52,142,133,125,248,126,151,184, 24, 38,143,217,226,164,233,189,109,210,212, 21, 37, 62, 98,154,
+ 67, 85,240, 71,119,142,248, 23,119,238,113,187, 40,120, 88,111,249,179,101,207, 83,149, 35, 70,211,104,189,106, 50,164,239,248,
+ 53, 60,135, 71,183, 35,187,186,202, 81,111,156,160,102, 19,244,108, 74,222, 86, 28,109, 55,124,188,120,204, 89,176,204,148, 2,
+161,216,134, 8, 13, 95,245, 13, 31,136,140, 99,147,113,104,114,110, 27,197,173,169, 97,172, 21,147,145, 36,235, 99,227,116,186,
+234,184,240,150,159,159,173,184,176, 61,171,224,113,117,139, 95,172,241, 70,224, 90,139,115, 30,111, 50,156,119, 56, 99,160,233,
+121,124,118, 69,239, 44, 43,191,229,188, 89,112,220, 88,166,174, 32,116, 61,206,123,174,175,174,249, 15,235, 83,126,102,151,188,
+211,247,108, 69,160, 35,250,140, 87,153,162, 9,146, 81,158,241, 86, 53,231,107,211, 3,166, 38,103, 20,122,198,202, 35,145, 28,
+ 1,191,209,116, 60,126,244, 9,117,223, 32, 66,159, 72,105, 50,106,193,205, 8, 49,159, 34,111, 31, 32,110,159, 32,242, 2,177,
+181, 81, 93,241,183, 49, 53,186, 14,177,217,208,110, 91, 86, 1,186,190,231,245,195, 3,102,229,132, 34,203,152, 8,137, 81, 5,
+211, 44, 99, 35, 5, 15, 59,199, 47, 22, 91,254,207,237, 50, 78,200, 46,113,165, 68, 68, 1, 47,186, 45,143,234,107, 22,237,150,
+117,211,243, 95, 77,114,254,205,241, 9, 83,173,249,222,108,134, 54,130,183, 10,205,143, 18,114,107,149,228, 72, 8, 86, 62,240,
+115, 39,200, 51,248,155, 62,240,166,129,255,181,238,248,154,150, 60,222, 52,212, 34,208, 4,207,143,106,201,131,208,114, 97,161,
+181, 29, 65, 72,182,109, 66,129, 91,183, 83, 63, 13, 31,135, 71, 95, 29,233, 52,137, 99,163, 85, 60,203, 67,170,131, 82,237,210,
+ 42, 7, 39,166, 48,196, 72,191, 66, 97,247,251,187,126,110, 24,246, 95,190,168,255,178,117, 65,136,120, 99,221, 68,170,166, 44,
+219,174,223, 65,134,131, 25,205, 0,209,107, 21, 29,187,240, 48,158,196, 31, 90,165, 20, 53, 45, 94, 14,151,124, 17, 27,125,112,
+230,146, 69,220,175,155, 12,138, 73, 98, 60,219,228,231,237,191,154,169,205,208,217,141, 39, 41,119, 59, 67,149, 57, 85,110,152,
+103, 10, 39, 5,181,237,184,236, 61,155, 62,237,208,131, 72, 38, 61, 97, 47, 32, 36, 57, 16, 9,181, 75,169,147, 18,101, 36,117,
+ 90,161, 62,221,108,121,178, 88,211,134,142,141,119,180,189,227,162,174,227,106, 97,211, 0, 77,252,153,134, 80, 16,249, 15,164,
+160, 35,163, 5,169,201,147,189, 97, 30,155,171, 76, 39, 50, 86, 10,180, 20, 98, 87, 8, 63,107, 98, 29, 86, 32, 67, 81, 23, 9,
+105,177,195, 74, 38, 69,166,234,108, 71,200, 28,248, 17,163,226, 70,179,158, 87, 37,149, 80, 24, 33,152,101,134, 34, 23,140,141,
+ 70, 4, 73, 38, 21,222,123,170, 60, 26,217,152, 92, 33,131, 32,168,168, 92,240, 1,148, 81,100, 82,210, 7,232,156,199, 6, 65,
+112, 97,183, 30, 24, 26, 77, 23,146, 46,214,196,123,173,183, 95,146, 67,176,231, 13, 45,249,244,158, 79,229,241,192, 40, 21, 84,
+ 35, 66, 89,112, 52,173,184,103, 12,218, 24, 60, 1,237, 61,222,247,156,158,111, 19, 19,215,193,209, 60,217,146,230,113,237,181,
+237, 35, 95, 98,136,118, 29, 8,168,189,165, 25, 85,188,117, 52,161,247,158, 31,181, 29, 79,174,234,221,154, 72,164,103, 75,101,
+187, 21,131,210,201,140, 39,174, 70, 68,155, 52,191,195,164,215,244,241, 62, 40, 11,254,229,193, 1, 95, 31, 31,161,148,226,147,
+190,230, 35, 15, 98, 84, 33, 85,129, 52, 5, 82,231,104, 37,184,190,124,204,119,231,119,200,231, 7,136, 89,137,190, 51, 71,142,
+ 11,164, 86,132,141, 32,172,107, 22, 31,125,192,143, 62,126,138,159,103, 92,180,107, 78,219, 26, 73,224,189,117, 77,208,134, 7,
+197,152,183, 75,197,241,184, 34, 83,146,185,150,204, 51, 77, 37, 2, 66, 41, 58, 33,184,218, 88,150, 77, 67,221,173, 89, 35,176,
+ 56,124,223,227, 67,192,245, 29,190,119,120,215,227, 16,184,186,165, 55, 10,223,122, 54,182,101, 81, 59,234,122,205,249,226,140,
+187,190,227,250,252, 25,205,114,197,159, 62,121,135, 15,234,107, 62, 14, 61,143, 76,143, 76, 50, 0, 0, 32, 0, 73, 68, 65, 84,
+155,134,218, 90, 26, 4,235,222, 82,251,104,146,243,160,154,241,102, 62,138,118,210, 58,167, 40,199,180,161,167,243, 30,107, 61,
+ 51,169,249, 78, 94,240,181,166,229,241,197, 21,205,197, 85,108, 54,181, 70, 74,133,204, 52,223, 63,126,141, 63,254,250,183,248,
+ 71,247, 95,227,221, 82,209,173, 27, 68,223,125,234, 94,251, 34, 72,254,149,190, 94,100,241, 44,213,130,108, 50,225,222,120, 28,
+ 9,113, 65,176,240,158,167, 93,207, 19, 39,121,212, 58, 30,182, 13, 63, 95,111,216,180, 53, 77,183, 33,224, 9, 46,229, 37,144,
+ 16, 74,162,197,237, 55,164,226, 15,230, 21,153, 80,220, 46, 74,206,173,101,154,130,160,206,123,203,185,117,144, 41,206,146, 10,
+226, 66,106, 62,233, 44,111, 75,201,169,131, 55, 71,154,247, 26,207, 86, 41, 36,142,191,108, 60, 95, 83, 45, 63,179, 34, 26,130,
+230,121,170, 41, 68, 18,242,128,122,237,243, 93,190, 74, 65,215, 58, 13, 13, 41,113,116,144, 65,103, 50, 62,251, 62, 37, 88, 34,
+158, 71,218,204, 32,151,118,175, 86,143, 95, 24, 52,255,238, 3, 93,188,223, 73,194, 66,216, 77,234, 69,182,139,230, 28, 76,105,
+186,126, 7,139,226, 33, 43,200,191,251, 13,220,227,179, 68, 98,210,187,139,255,156,243,194, 75,226, 86,243,189,110,201,185,248,
+251,162,132,147, 91,112, 56,143,147,138, 52,137, 16, 84,199,107,220,181, 95,173,152,155, 34, 18, 87,164,128, 89,201,120, 82, 50,
+ 47,115,166, 69, 78,227, 29,181,181, 44, 26, 71,240, 30,231, 3,247, 38,115,142,171, 41, 85,145,177, 90,109, 19,180, 63, 24,155,
+168,184,227,237,125,188, 30,171, 45,110, 83,211, 93, 92,113,121, 85,179,172, 61,155,214,179,234, 45,155,174, 99,179,168, 9,139,
+ 77,116, 87,179,118,183,251, 25,200, 98, 90,126,154, 36,248,119,249,161,117, 44,224,183, 15, 98,225, 24,101, 73, 9,145,197,188,
+100,146, 85,176, 78, 69, 68,137, 88,171,246, 39,140,125, 66,221, 13,209, 81,238, 32, 26, 37, 35, 3, 94,201,231,227, 94,109, 31,
+239, 23,165, 35, 68, 63, 41, 35, 41,210,196,251, 34, 87, 80, 8,193, 72, 11, 10,169, 16, 72,164, 1, 35, 4, 82, 6, 74,173,105,
+123,135,201, 52,190,115,168, 36, 81,243, 82,160, 84, 76,224,242, 82,210,135,128,208, 18,239, 60, 78, 14,106,143,164,224,112,169,
+ 73, 29,148, 27, 54,145,249,190,140,114,128,189, 7, 89,238,187, 77,165, 48, 22,173, 82,228,105,234,250,143,102, 88,109,184, 85,
+ 86,108,108, 71,166, 50,218,174,197,245, 13,207,158, 94,237,200,130,243, 49, 76,102, 72,109, 56, 24, 31,224, 71, 18,247,228, 42,
+ 77, 79,207,203, 54, 93,231,248,169,210,252, 24,120,124,189,141, 77,196,166,143,239,211,176,179, 15, 41,123, 26, 25, 93,247, 6,
+189,110,235,161,173,119,240,174,247, 17,146,239, 44, 34,207,121,163,148,100, 66,240,193,230,154,127,119, 93,179,238,124,116,198,
+203, 43,100, 94, 48,214, 6,213, 91,214,222, 17, 78, 63,230,141,163,123,232,170, 66, 77, 11,132,212,208, 4,252,217,138,190,217,
+ 34, 89,179, 89, 44,120,239,195,143, 56,111,225,162,233,249,100,187,165,147, 25,111,143, 38,124,163,200, 56, 40, 10,102,153,225,
+ 65,153, 49, 85,146, 3,173, 8, 33, 48, 22, 30, 39, 52, 70, 40, 54,155,150, 92,105, 78,235, 45,214,117,120, 3,110,211, 19,121,
+247, 30,103, 61,126, 84, 68, 42,199,182,193,141,115,124,221, 99,183, 13, 75, 47,120,239,252,154,255,120,125,198, 95, 60,123,204,
+255,242,232, 93,254,183,203, 51,174, 22, 75,254,250,252,154, 46, 4, 92,112,244,125,139,196,177,114, 61,214, 11,110, 21, 5, 35,
+165, 56, 25, 79,145, 70,179,105,182, 92,120,199, 51,223,163, 20, 76,180,164, 84, 49,221,241,205,210,128,183,156, 61,185, 70,174,
+174,145,190, 71,230, 21,255,197,235,175,115, 56, 42, 25,141, 43,100,200,249, 96, 44,226,250,164,233, 62,117, 6,136, 47, 59,159,
+189, 4,133, 21, 89, 9, 65,114,124, 50,227,164,154,224,124,207,117,189,197,121,207, 82,104, 86, 93, 71,237, 61,109,211,145, 11,
+ 71,238, 59,166,206,146,117, 13,206, 57,122,219,198, 60,247,172,140,110,185,121,201,127, 61, 53,204,165,225, 56,207,232, 8,104,
+ 25,115, 50,158,245, 61,189,128,119,135,245,168, 84,172,165, 97,162, 5,121,150,243,137,139,170,162,159,119,158,219, 2, 30,201,
+168,205,191,165, 4,239, 53, 46,122, 59, 25, 21,125, 27,180,138, 3,147, 50,177,148, 88,251,197,210,211, 87, 65, 14,227,133,217,
+173, 6,229,128, 6,171,136, 14,187,132, 54, 27,177,243, 72, 81,233, 28,251,138, 36,218,191,191,148,182, 1,106,239, 83,164,164,
+139,123, 54,114,179,211,182,231,217, 46,208,165,143,135,131, 59, 77,134, 23, 82,239, 18,169,134, 3,231,166, 99,121, 9,228,175,
+211,244, 34, 83,145, 68,192,252, 0,198, 99,242, 60,131, 32, 41,171,130, 94,153, 40, 73,112,221,151,152,156, 82, 71,150,207, 98,
+193, 44,243,248,127, 87, 57, 89, 89,112, 56, 42, 40,140,198,135,192,178,181,180,206,211,133, 64,219, 57, 78, 70, 83,190,117,235,
+ 77,198,229,152,178, 24,241,116,121, 29,117,234,150,157, 67, 92,211, 69, 45,119,183,138,145,140, 77,157, 92,141,250,104, 84,177,
+220,192, 98, 5,139, 13,212,203,248,117,231,184, 73,244, 81, 58, 78,109,194,192,237,187, 80, 86, 80,142, 99,196,230,175, 66, 86,
+245,170, 31,163, 34,134, 52,140,203, 84,216,228,141, 47,178, 44, 13, 50,203,152,140, 39,160, 13,213,164,138, 6, 55,101,138,255,
+196,237, 30, 48,249, 5,112,131, 74,130, 89,225,192, 75,254,248,191,253,111,248,233, 95,255,100, 87,228, 85, 98,164,155,161, 57,
+136, 80,186,144,130,145,210,140,165,196, 2,213, 72, 35, 67,192, 40, 73, 46, 37,109,112, 20,128,179, 30,105, 20,193,122,186,212,
+ 76,104, 1,157, 23,216, 4,173,123, 27,112, 33,224,186, 62,113, 61,220,206,218,120,240,211,239,146, 20,198,219, 87,116,243,251,
+140,189,154,220,235,216,139,193,239, 94, 70, 43, 88,109, 96, 86,226,178, 28,111, 59, 70, 89, 22,109,228,251,158, 95, 60, 93,224,
+ 86,235,157, 29,229,108,194,241,209, 29,126, 48,154,241,102, 89,113, 71,103,124,216,111,163,167,255,139,230, 74,125, 7,171, 13,
+193,228, 73,127,158,216,239,109, 23,167, 29,155,242,159, 93,106,146,131,220, 73, 69,229,243,105, 94, 55, 76,237,182,133,205,154,
+159,173, 59, 30, 55,107,254,244,244,154,205, 98,139,204, 4, 50,207,145, 66,115,171,156,113,172, 51,126,247,238,156,223, 58,156,
+227,141,160, 91, 47, 57, 25, 31,147, 85, 5,210, 9, 88,182,184,103,107, 92,187, 65, 72, 40,180,229,231, 79,158, 33, 55,107,212,
+122,131,106, 98, 80,201,239,142, 21,247, 70,209, 36,102,174, 21, 69,145, 49,213, 26,129,224,200, 7, 42, 41, 57,145,129,179,214,
+ 33,133,100,107, 45, 65, 42,150,193, 18,250, 30, 95, 42,124,231,241, 62,224,165,192,119, 93,220, 52, 8, 25,101,207, 4, 92, 89,
+ 96, 23,107, 92,153,243,172,117, 60,106,214,156,250,140,237,234,154,179,174,198,173,174,113, 87, 43,220,178, 38, 56, 75,179,173,
+209, 66,240,168,107,120,175,109, 56, 24, 79,144,214, 83, 24,205,199,125,195,135,125,205,181,181,228, 4,250, 16, 24,105, 77,165,
+ 53,185,145, 28, 20, 57,127,185,234, 41,230, 37, 97,185, 66,110,214, 28,102,142, 91,163, 9, 79,219,150,255,125,181,162,245,125,
+ 60, 87,134,128,158,174,127,174, 89,251,114,133,125,224,163, 68,126,148, 72, 86,204, 98, 60,227,245,147,219,168, 76, 81,183,129,
+214,117,252,226,236,146,186,171, 25,101,134, 82, 43,170, 82, 96,132,103, 28, 60,198, 91,180,237,113,157, 37, 3, 70, 82,242,235,
+211, 59,124, 99,118,135,163,124,194,194,215,124, 87, 41, 14,146,143, 64,103,123,164,210,156, 89,203, 7,125,195,199, 54,173,218,
+146,107,100,155,146,213,144,154, 45,128, 52, 92, 74,193, 88,101, 72, 15, 39, 25, 28,101,146,105, 16,212, 33,208,137, 52,236,104,
+ 25, 99,138,139, 60,146, 65, 67, 26,170, 36, 95, 94, 38,173, 19,183, 68, 38,164,209,166,104,111,153,226,142,109,155,134, 72, 31,
+ 11,122,159,140,207, 20, 73,250,249,213, 77,105,254,254,138,186,247,169, 59, 74,236, 40,155, 32,187,166,221, 65,227, 42,105,121,
+187, 62,254,190, 27,152,234, 38, 14,248, 34,153,208,124,145,231,186,202,162, 43,157, 76,176,189,148, 49,174,179, 26, 51,158, 76,
+ 80, 66, 68, 98,187,144,244, 93, 36,210,209,109,119,100,190,207,205, 70, 47,160,156,192,228, 16, 38, 35,168,178, 24,242, 82, 40,
+212,164,100,154, 23,148,153,198, 0,173,243,108,172,101,211, 58,130, 7, 45, 36,111,222,186,205, 65,121, 64, 16,158, 76,148, 20,
+ 35,195,249,249, 51,168,109, 12,221, 88,175,162,165,103,179,217,101,146,223,236, 42,135,156,242, 46, 53, 69,221,243,185,229,153,
+132,241, 60,238,244, 71, 51,152, 78,201,167, 19,142,143,167,168,170,164, 93,182,159,110, 94,190,200,159,252,151,153,208,243, 60,
+198, 18, 86,201, 85,172,139,193, 21,163,162,226,193,244,136,131, 98, 68, 97, 50,238, 29,206, 41,116, 70,166,224,168,170,152, 29,
+207,184,214, 89,114, 32, 84,187,125,151,144, 59,171,219,155,128,151,189, 53,143,136, 69,239,205, 95,123,139,119,127,250,110, 44,
+ 76, 25,187,251,174, 40,192, 8, 84,145,131,243,100, 70, 83, 9,129,201, 36,163, 76, 98, 59, 79,153, 75,114,169,176,193,199, 6,
+218, 7, 58,231,110,248,152, 58,196, 52, 55,155,130,225,250,129, 6,160, 32,184, 64, 47, 6,131,138,189,247, 76, 16,165,137,131,
+223,130, 79,141,237, 87,153, 10, 60, 59, 25,219,240,222,137,236, 38, 90, 1,147, 39,121, 30,108, 36, 60,107,123, 78,157,231,252,
+122,141,187, 88, 66,187,217, 53, 4,243, 3,222,158, 79, 57,153, 28, 19,164, 32, 40,197, 51,187,166,123,250, 44,193,146,124,122,
+197, 37,116, 52,173, 25,220,227,116,242,194,247,105,213, 35, 18,169,212,165,226,225,236,115,235, 50,241, 34, 89,167,183,136,186,
+101,177,216, 32,234,109, 36,122,213, 29,178,208,136,106,202, 27,213,152,183,198, 83,190,121,123,206, 72,102, 8, 41,121,120,241,
+148,215, 68,193,116,126,136, 12, 2,225,136,102, 54,189, 5, 28, 69,158, 49,234, 26, 30, 45,151, 40, 28,186,239, 57,108, 91,126,
+111, 54,166,202, 75,230, 89,206,184, 26, 83, 6, 65,102, 84,140,155,144,146,204, 57, 60, 48,149, 1,145, 41, 58, 47,185,180,142,
+165,235,241, 93,139,215, 2,159,231,209, 87,100, 93,227,235, 26, 47, 13,222,123,188,137, 17,170,118, 91,227,133,192,106,133,173,
+ 59,156,151,216,102,131,203, 74, 44,209,130,216,105,133,183, 53,190,238,240,109, 67,179,218, 16,172,165,182, 29, 63,106, 59, 90,
+229,120,191, 89,241,212, 57, 62,105, 86, 52,109,139, 12,158,194,121, 2,129,128,100, 36, 53,179, 81,198,215,143,198, 28,205, 70,
+152,217,152, 67, 35,248,232,233, 37,255,199,135, 31,240,227,235, 11, 58, 2,116, 53,132,144,124, 21, 52,204,166, 80,141,119, 65,
+ 50, 47,201, 68,255, 92,201,137, 76,220, 23, 33,163, 11, 93, 62, 97,246,250, 61, 42,157,209,117, 22, 31,224,253,211, 75,220,217,
+ 37, 27,107,153,151, 57,153, 9,228, 65,160, 68,160,179, 13,153, 48, 4, 39, 48, 2,164,109,185, 87, 30,112,247,228,132, 91, 71,
+ 71, 84,227, 10,143,228,190,173,201,131,231,150,206,241, 34,176,177,158,143,186,134, 63,105, 58, 26,203,142,151, 53, 88, 54, 75,
+147,200, 28,233,107, 42, 99, 46,224,150, 81,108,133,100, 46, 37, 70, 57, 30, 59,143, 67,236, 56, 56, 58,249,149, 20, 89, 58,175,
+198,241,243,112,222,192,171, 69,122, 15, 89, 38, 74,239, 88,242,122, 40,232,253,206, 77,110, 56,182, 68,114, 86,181,110,119,142,
+253, 39, 87,212, 53,187, 60,117,233, 19,204,206,206,119, 93,138, 88,172,141,222,189, 89, 67,122, 91, 63,236, 72,147, 25,205, 23,
+253,240,153, 78,157,156,220, 29,248, 33,218,209,118,218,160,165,140,171, 87,136, 69,253,242,108,119,161,141,138,175,161,156,197,
+155, 63,159,196, 55,218,140, 34, 9,206,148, 49,140, 32, 31,204,111, 64, 86,154, 44,207,152,100, 25,179, 34, 71, 32,105,130,103,
+213,218,104,239,234, 2,153, 82, 76,243,146, 91,147, 3, 74, 93, 96, 84,116, 85,250,217,211,199,180, 23,151,208, 92, 67,179,141,
+230, 5,254, 43, 66, 64, 1, 56,152,243,221,111,189,193,111,127,243, 91, 60,184,119,151,163,241,156,197,122, 65,231, 61,221,182,
+ 1,215, 62, 63, 37, 14,159,141,254,236, 98,175,247,138,200,103,237,130,181,222, 53, 69, 38, 93,255,188,138, 83,170, 33,101,163,
+ 11,212,184,226,193,236,144,147,195, 35, 10, 97,200,139,140,145, 46,153,143, 43, 74,149,227,129,163,209,156,105, 89,114,149, 27,
+130,209, 96,101,124,221, 58, 49,201,213,222,231,129,212, 53, 32, 60, 78,239, 10,122,178,130,141,146,172,212,157,103,134,224, 3,
+ 89,110,200, 4, 28,154,248, 62, 26,169, 41,115, 77, 38,226, 4,160,124,156,174, 91, 27,144, 74,226, 3,132, 16, 15,132, 46, 4,
+180, 16,120, 47,216, 88, 31,141,130,172,195, 1, 97,184, 63,247, 47,145, 75,123,116, 33, 98,177,147, 42, 58,175,233, 60, 37, 21,
+166,107,215,191, 42,243,255, 5, 39,185, 60,189, 39,131,138,163,172,226,212, 62, 16,113,154, 46, 69,233, 94,220,184,228,197,247,
+ 44,163, 60, 60, 38,207, 53, 66, 42,158,244, 29,143,186, 6, 22,203,157,201,204,167,254,109, 27,159,221,241, 40, 30, 88,101, 14,
+163, 81,252, 25,235,102,215, 96,246,126,231,233,176,127,191,140,138, 88,124,115, 29,179,198,141,134,174, 67, 24,137,176, 18, 97,
+123,164,237, 17, 69,198,236,232,132,111, 87,115,238, 28, 78,184, 59,174,200,181,102, 99, 37,239, 94,110, 24,117,107,238,201, 25,
+249,180,138,242, 56,173, 17, 70, 35, 45, 4,223,161, 74,205, 97,145,115,213, 58,148, 30,241,186, 86, 28, 43,205,131, 81,206,116,
+116,128,113,129, 96, 52,153,137,232,140, 86,138,208, 90, 84, 8,100, 2,150,109,207, 88,195,242,242, 26, 45, 37,215,118, 75,176,
+129, 96, 12,161, 80,241,179, 86,132,229, 18,143,199, 11,112,157,197,139, 46,154,219,180, 53, 14,137,203, 13,206,111,177, 50,224,
+235, 30,103, 52,174,183,120,173,163,241,181,237, 9, 93, 11,155, 13, 97,209,224,183, 91,222,239, 90,222,111, 90,182, 77, 77,211,
+ 55, 92,217,158,171,174, 67,116,142,210,193, 72, 65, 31, 36, 69,145, 51, 27, 85,156,100, 5,255,180, 40,249,225,120,202, 31, 77,
+ 43,190,101, 36,127,246,209, 83,248,248,147,120,166,218, 46, 58,115, 42, 73, 80, 10,202,156, 80,230,145, 3, 84, 85,241,136,252,
+162, 65,201,177,139,243,101,224,189,196,226,222,143,199, 28,142, 70,212,190, 67, 11,197,229, 98, 65,184, 62,135, 62,112,182,221,
+114,221,213, 28, 87, 5, 66, 11, 90,103,209,197,148, 50,159, 80, 22, 99,186,190,166, 26,229,220, 57,188, 75, 86, 20, 84,121, 78,
+ 91, 55,124,240,236, 35, 10,231,184,182, 29,231,193,241,179,122,205,255,120,121,205,181,101,135,116,145,194,189,134,194, 41,101,
+180,218,245,150, 99,173, 25, 57, 79,174, 4,218, 57,158,246,158,177,210, 44, 8,116, 66, 38, 84, 56,173,174, 84,250,149,153,136,
+ 28,139,200, 77, 33, 75, 60,145,160, 62, 63,101,109,224,159, 8, 19,139,118,174,118,158, 39,221,158, 91,105, 72,197,223,250,248,
+189, 67,227, 43,253,243,222, 40,255,233, 76,234,123,135,145, 74,123,243, 65, 78, 35,213,142, 44,231, 67, 34, 0, 37,150,160,243,
+113, 15,111, 63,195, 23,251,165,203, 31,153, 46, 96, 58,216, 91,191,235, 46,149, 68, 72, 77,231, 2,157,245, 49,144,196,182, 32,
+ 29,144, 69,189,109,150,222,208, 81,154,122,134,130,231,146,207,183,147,113, 58, 23,160, 42,205, 97, 81, 50, 45, 53,243,124,132,
+ 18,146,166, 79,146,151,174, 37,184,192,184, 42, 57,172, 70,220, 26, 79,177,194,209,122,207,162, 93,178,236, 58, 30,126,242, 9,
+ 92, 60,221, 33, 22,191, 20, 33, 77,195,124,198, 15,222,254, 38,147,241, 17,213,104,130,181,142,171,237,130,203,245,150,176, 92,
+165,195,218,238, 92,201,148,222,153,250,200, 4,221,203,180, 23, 29,138,244,240,119, 15, 68,198,151, 21,253,161,192, 14,251,236,
+ 32,227,245, 55, 89,130,207, 5, 20, 57,111,204,143,184, 55,191,131, 49,154,178, 28, 49, 45, 43,138, 60, 71, 11,141,115,150, 82,
+ 27,148, 82, 20, 38,122,128, 95, 6,159, 10,187,136,235,131,225, 94,218,151,117,236,123, 33,200,100, 63, 60, 52,115, 25,137,161,
+157,165,159, 19, 40, 13, 42, 8, 70,185, 34,120,152, 24, 77,174, 20, 74,199, 61,151,240, 30,151,248, 15, 89,166,232,131,139,155,
+ 28,163,113, 93,135,144,146, 39,109,135,144,129, 32,163, 89, 72,112, 68,231,174, 65, 51,111, 7,162,156, 75,235,162, 16,211, 6,
+179, 50, 62,204, 69, 17,145,167, 44, 69, 52,218, 62,113, 41,190, 66, 67,215,219, 61,217,103,106, 56, 51, 19, 11,184, 72, 94,238,
+219,228, 40,183,255,247,219,142,107, 37,249,216, 40, 62, 64,240,172,107,227,186,103,187,141,190,210,242, 37,171, 45,151,126,198,
+ 44,135,249,148,127,125,247, 22, 63,124,237, 62,111, 31,148,252,244,244,122,183,183,149, 47,172, 97,134,213, 71, 48, 8,215, 37,
+244, 36, 53,102, 82, 34, 66, 76,179, 18, 89,156,198,133, 0,155,231,252,227, 55, 30,240,181,201,132, 89,145,163,117,206,170,246,
+ 60, 91,111,121,218, 94,240,166,131,113, 49, 69,149, 25, 98,108, 34, 19, 92, 41,168, 91, 68,150, 83,150, 37, 7,193,147, 59, 71,
+231,224,181, 34,227, 78, 53, 6,219, 98, 76, 65, 81,142,144, 66,164,158,223,199,219,135,104,223, 92, 73, 73,189,217,160, 50,193,
+220, 91, 62, 58,123, 18, 45,101,181,230,143,238,221,227, 15,223,120,157, 7, 99,201, 79,214,155,184, 81,169,107,188,118,248, 98,
+130,183, 46, 26,219, 40,133,171,175,241, 50,199,203, 16,247,240,133,137, 83,191,210, 81,205, 89,119, 17, 37,169,211,206,187, 94,
+195,179,115,186,171, 43,206,206, 47,121,124,213,114,209,116, 60,220,246,116,117,131,106, 45,165, 23,204,114, 67,150,107, 58,109,
+120, 93,231, 60,168,102, 28,155,156,153, 41, 57, 86,146,219, 35,205, 70,122,158,157, 93, 18, 46, 46,161,237,163,247,187, 82, 4,
+ 29,215, 96,255,242,254, 33,255,230,237,183,248,237,251,119,185, 30,107, 46, 46, 54,159, 57, 80,132,193,111, 33, 68,200, 88, 12,
+209,201, 10,130, 13, 48, 45,233, 59,207,147,237,134,240,232, 20,182, 27,130,107,160,110,169, 55, 53,239,182, 27,182,237, 6, 65,
+ 78, 89, 76,201,203,130,239,255,103,191, 77,119,213,177,109,215,140,139, 17,147,241,136,104,118,211,240, 63,191,255, 49, 15,151,
+ 11,254,135,139, 21, 23,174,231,255,185, 90,179,242, 18,234,150, 16,246, 76,194,144,241,252, 86,106, 71, 74,149, 26,227, 45, 40,
+ 69,238, 44, 37,224,165, 96,101, 29, 39, 90,243,108, 95,243, 61,144,181,135,198, 90, 36,165,204,192,201, 26,220, 34,209,207,171,
+ 89, 94, 60,119, 7, 95, 10,210, 26, 74,232,157, 91,169, 72,191,119, 93, 66,209, 84,140,103, 30,206,168, 97,178,247, 95, 77,109,
+246,247, 56,169,239, 77,123, 3,220, 48,132,179,236,231,108, 15, 18, 29,216, 57,207,245, 95,114, 15,236, 93,108, 28,220, 30, 34,
+ 19, 18, 57,194, 69, 6,107,232,109,148,127,117,219,216, 45,149, 85,156,192,139,180, 55, 82,123,241,172,106,111,151, 84,119,113,
+242, 12, 1,114,195,164, 42,152,151,134, 42,207, 80, 66,208, 58,199,182,243,172,251, 14, 31, 2,101,161, 57, 46, 42,110, 85, 51,
+124,144, 52,109, 75,227,122,222,127,250,140,167,167,167,112,250,209,115,145,150,191,212,135,115,160,114, 30,188,113,151,131,217,
+ 1, 66,106,126,126,250,144,247, 63,252,152,112,113,149,194, 59,250, 29,113,113, 56,121,179,100,113,234, 19, 19, 83,165,184,209,
+144,236,120,117, 90,139,104,181,139,111, 29,246,114,131, 93,175, 16, 59,146, 26, 41,176,167, 79,172,239, 16, 29,221,100, 49,225,
+215,110, 63, 96, 54,157,227,172,167,202, 71,113,208,212, 57, 65,192,168, 24, 97,125,195,192, 53,179, 4, 38, 82,131, 49,212, 62,
+ 68, 46,129,144,187,172,251,253,162,126, 19,231,187,231,188,164,108, 36, 9,169, 68,162,211, 38,189,214,104,115, 25,130,224, 32,
+ 55,104, 33,137, 52, 57,133, 49,209, 4,182,119,158, 66, 74,214,182,103,164, 84,220,250,180,129, 32, 20,215,193, 49, 82,134,174,
+119,180,206,227,156,223,109, 2, 68, 72, 80,187,143,197,251, 38, 13, 47,220, 20, 82,178, 50, 93,163, 33,162, 80,236,188,185,191,
+234,174,221, 37, 61,121, 85,221, 4,204, 40, 33, 8,214,198,181, 71,215, 70, 85, 68,232,118,135,134,115,209,110,116, 54, 74,168,
+ 88,106,236,154, 13, 44, 18,121,244,101, 54,204,109, 7,227,138,239,222, 58,225, 55,230,199,228, 58,195,122,207, 95, 53, 93,140,
+173,124,241,245, 15, 68, 58,169,226,243,110, 70, 8, 21, 27,177,184, 5, 19, 49,134, 83,104,132, 14,136,206, 34,189, 64, 22,134,
+127,118,235,117,222, 62, 58, 96,108, 50, 10, 29, 21, 8, 93,219,241,254,122, 67,103,151, 76, 54, 45,147,233, 28, 89, 40,196, 40,
+ 35,132,128,174,166,136,117,131,197,115, 48,157, 51, 55,134, 81, 7, 77,211,144,107,184, 61, 61, 68, 21, 35,100,211, 96,133, 38,
+ 83,154, 97,107,226,124,192, 53, 29, 78, 10,154,224,169, 28, 52,219,107,142,139,140, 79, 46, 47,169, 70, 35,254,249,157, 59,220,
+170,166, 28, 77, 14,120,239,250,156,235,197,150,224, 44, 65, 23,248,237,134,160, 52, 94, 42,124,179,197,103, 21,222,246,201,183,
+ 41,158, 9,222,148,132,174,142, 22, 25, 10, 66,211,237, 22, 73,114, 47,140,165,237, 8,219, 13,246,122,133,109, 26,158,181, 45,
+ 63,239, 45,211,206,113,175, 48,116, 82, 50, 54,154,187,197,152, 82, 42,164, 50,209,152, 74,105, 70, 82,225,133,231, 32, 83,124,
+ 40, 51,124, 93,195,197, 34, 54,158, 46, 66,207,191,127,231, 54, 35,149,161,180,230, 82, 6, 30, 9,133,144, 89,124,102,247,138,
+251,254,107,187, 81, 8, 13,235, 20,231, 0, 75,189,117,212, 93, 77,120,252, 20, 54, 87, 73,177, 33, 8,222, 18,218, 6, 46, 87,
+ 44,150, 91, 86, 70,115,255,240, 46,199, 71,183,217, 44, 90,180, 84,120,235,169,155,117,220, 32,217,152, 97,174,109,205, 95,127,
+252, 24,209,247,156,173,106,186, 62, 16,218, 62, 61,251, 50,166, 39,186, 16, 27, 86, 31, 24,133, 64,111,147,113,151,130,214, 11,
+238,139, 64, 19, 44, 2,129, 12,158, 18,193, 59,109,159, 12,162,194,243,110,150,195, 90, 88, 38,191, 11, 73, 60, 47,164,136, 8,
+177, 54,177, 81,150, 73,189,181,255,156,106,149,228,214,123,110,143, 67,178,164,222,243,144,207,179,157, 90,164,103, 55, 0,188,
+152,202,166,247,200,241,255, 32,139,250, 0,203, 74,177,183, 79,127,129,228,246,156, 30,156,231, 33, 59,225,190,154,172, 78,164,
+176, 15,225,119,178,157, 44,103,252,230,109,166, 7, 83,182, 62,193,132,235,117,124, 19,143,102, 59, 67, 0,111, 35,124,152, 98,
+ 77, 81, 42,254,121, 68,252,222,129, 41, 89, 26,230,121,134, 49, 2, 35, 21,181,179, 92,215,150,117,103,233,189,197, 40,197,113,
+ 49, 98, 82, 20, 24,169,113,210,209,116,142, 39,171, 21,205,229, 51, 56, 61,143,211,211, 87,105,142, 62, 11, 38,111,106,222, 15,
+ 61,231,215,151,252,228,147,143,121,248,240, 9, 60,252, 56, 89,187,238, 77,217, 67,243,148,169, 4,249,239, 41, 11,148,220,145,
+204,110,130,116, 84,114,250,147,207, 75, 10,135, 78,119,127, 74, 31, 60,215,117, 74,217,179, 22,188,228, 27,111,189, 77, 89,142,
+ 80, 82,146, 43, 3, 82, 81,230, 5,214, 89,140, 48,116,206,161,165, 64, 43, 67,221,182,232, 44,163,183,150, 46,120, 54,117,187,
+ 51, 37, 26, 86, 0, 54,253, 27,195,191, 61, 76,234, 50, 33, 5, 89,186,223,196,160,137,151, 55,118,177, 90, 43,166,185,142,211,
+184, 81,100, 82,161,148,196, 7, 71,231, 2, 90, 10,214,214,145, 35, 8, 50, 58, 81, 5,231,227,218,204, 67, 43, 60, 78,106, 90,
+107,227,228, 32, 18, 44,121, 3,191, 39,247,186, 64, 44,170, 67, 81, 23,106,119, 40,220, 60,197,233, 48,233,136, 81,192, 95, 37,
+168, 72,107,152,205, 34,113,174,202,121, 80, 26, 50,231,152, 27,133,241,150,186,243, 49, 97,234, 83,114, 80, 31,215, 76,213, 56,
+ 18, 3, 6, 23,188,245,122,167, 6,121, 89, 34, 97,219,113,124, 50,227,184, 28,209,120,203, 39,182,227,195,118, 11, 77,178,146,
+ 29,190, 63,207,246,158,253, 4,223,170, 16,153,239, 67, 19, 22,199, 64, 68,154,102, 4, 10, 25,122,132,202,249,238,201, 9,175,
+205,142,209, 90, 35,136,100,196, 69,211,179, 88,175,120,214,110,185,114,107,170,109,207,172, 24,163,114,131, 28, 21,209,253, 55,
+104,202, 44,167,154,157,112, 92,221,225, 86, 89,209,173, 90,132,232, 40, 6,151,192,124,132, 12, 14,231, 60, 82, 41,132,150,184,
+186, 67,230,134,237,182,102, 98,162, 87,198,170,105,144, 1,238, 26,129,240, 13,119,231,199,228, 74,241,201,118,195, 95,108,106,
+218,109,141,183, 30,143, 39,228, 26,143, 34,168,130, 80,150,248,182, 37, 8,139, 15, 22,175, 51,130,245, 4,231, 8, 89, 30, 11,
+ 94, 15, 65,198,245,224,128, 40, 7,249,124, 49, 13,251,124,154,109,199, 7, 82, 48,111, 29,227, 76,211, 40, 73, 41, 3,135,166,
+ 64, 41,141,115, 14, 47, 5, 87, 93, 77, 38, 3,199, 74,242, 70,161, 80,163,130,199,249, 40,250,144, 47, 86,132,171, 21,183, 15,
+114, 78,170,138,107,107,249,243,229,134,173,245, 80,106, 68, 89, 70,121,173,141,211,248, 23,202,219,122, 11,155, 85, 36, 88,246,
+237,142, 59,145,204,157, 82, 5,132,224,104,174, 27,142,239,223,230,100,114,136, 82, 2,239, 28, 46,120,234,166, 78,183, 94, 92,
+123,213,219, 13, 31, 94, 46,225,217, 41,108,108,156,198,151,219,232, 3,177, 90,198,198, 99,221,196,162,238, 28,253,186,137,175,
+119, 40,236,193,179, 22,112,143,136,194,104,223,243, 65,215, 19,164,192,217,100,238, 53,236,181, 85, 26, 4,212,192,249, 74, 40,
+177, 78,123,123,147,167,228,199,168,200,226, 38, 47,106, 47, 4,169, 40,210,153, 58,252,204,118, 23,237, 29, 82,198,200,144,161,
+ 32,134, 63,159, 92, 75,103,115,168,166, 41,248,108,136,246,254, 85, 77,234, 67,135, 32,245,243,126,220, 55,146, 34,255,233, 16,
+137, 87,129,132,111,166,242,192, 77, 75,252,101, 96,251,175, 74,204, 27,220,188,240,112,255, 46, 63,252,167,191,201,119,110,223,
+231,219,175,189,197,119, 94,187, 77, 89, 21, 60,126,114, 17,247,131, 89,158,114,223,101,210,235,166, 2,166,247,236, 49,141,130,
+108,248, 44,201,115,133, 81,130, 92, 43,106,235,184,220,246, 92, 55, 53,174,183,148, 70,243,214,193,109, 14,102, 99,198,229,148,
+213,102, 77,111, 61, 87, 77,195,114,177,132,197,229, 78, 19,252,101, 14,238, 1, 57, 24,160,203,193, 80,103,144, 12,102, 26,158,
+ 45, 89, 61, 62,165,125,248, 49, 44, 46,118,157,245, 0,237, 12,230, 7,131, 37,168,212, 41, 76,167, 77, 8, 71, 42,242,217,192,
+220,150, 9,170, 79, 82,187, 44, 77,236, 55, 55,104,130,191,135,226, 58,152,173,116, 41,251,219, 11, 56, 58, 68,140, 71,220,154,
+204, 25,153, 18,169,179,148,182, 5,101, 22, 11,187,117, 29,130,192,186,171,233,122,143, 82,130,171,245, 26, 43, 28,141, 16,132,
+186,143,232,205, 32,121,212,164,201, 92,197, 66, 49, 48, 74,135, 61,123, 80,187,166,108,152, 56, 35, 61, 26, 37, 34,169, 34,215,
+ 18,141, 32,207,210,129,232, 64,136, 16, 61,201, 69, 64, 11,104,125, 32, 75,142,178, 91,235,145, 66,210,244,158,218, 57,100, 8,
+ 56,145,178,201,221,222,174,219,197, 67,140,118,207,161, 80,202, 93, 65,215, 42, 30,128,114, 56,244,210,123, 34,220,103,219, 86,
+126,238,147,173, 99, 86,250,180, 98,102,226,253,106, 16, 88,231,169, 8,209, 73,174,169,119,204,119,191,247,156, 20, 37,183,103,
+138, 77,117, 20,137,160, 50,161, 55,167,151,105,122, 23,159,158,214,173,229,217,166,227,175,187,134,191,106, 90, 62, 92,111,227,
+125, 82,232,216,108, 13,205,170, 78, 12,121,147,154,153,161, 1, 20,121,116, 71,147, 30, 33,125,156,214,133,143,111, 81, 80, 8,
+223, 33,108,203,119, 94,123,157, 73, 86, 33,181,166,211,146,211,117, 67,227, 3,205,102, 75,237, 90,150,117, 79, 79,199,253,209,
+140,162, 42, 80,202, 32,148, 66,141, 74,204, 65, 69, 54, 25,147,221, 57, 32,147, 99,140,237, 57,191,184,100, 50, 18,228,213,140,
+208,213,160, 20, 65,104,130, 15,200, 48, 80, 32, 28,211,188,160,173, 91, 38, 42,163, 16,146, 18,195,216,100,200,174,102,181, 89,
+243, 81,223,240,231, 23,151,156,247,125,212, 92,111,226,228, 77, 31, 8, 74, 18,198, 25, 65, 11, 66,221, 18,104, 9, 34,202,165,
+130, 25,206,166,100,172,101,227,164,123, 83,193,213, 75, 10,250, 11, 92, 53,250,158,119,250,142,166,105,169,157,135, 76, 48,149,
+ 18,237, 29, 65, 72, 46,234, 53, 29,129,222,245, 76,188,231,174, 50,156,228,134, 55,170,156,139, 50,103, 57, 26, 17,156,227,189,
+247, 31,241,103,159, 60,230, 71,219,134,109,215, 71,147,160,148,151, 32,140,138,170, 21, 83, 70,233,154, 16,241,172, 25, 21, 47,
+ 93, 17,137,207, 67, 77,135,198,191,105, 1,203, 51,147,113,171,154, 96,148, 38,120, 79,223,181,172,155, 21,214,246,104, 2,189,
+107,177, 93,207,138,134,245,227, 69,148,235,182,109,138, 62,173,119, 25,231,109,157, 86, 22,117, 36, 26,135, 20,125, 58, 52, 64,
+ 10,180,115,172,251,158,214,193,194, 57,236, 62,170,230,247,236,198, 73,107, 58,157, 30,116, 4, 15,116,198,127,121, 56,227, 7,
+147, 17,255,100, 92,162,239,188,193,195, 31,255, 24,117,231,136,208,187,157,161,163, 24,146, 13, 7,211, 52,155,172,207,195, 78,
+ 30,170, 72, 43,225, 52,138,251,110, 71,214, 59,152,197, 26, 36, 21,108,234,184,254,252,149, 21,117,147,237, 92,111, 6,147,217,
+ 97,106, 27, 12, 96,134,169,226, 85, 14, 29,157,224, 69,157,118,133, 50,153,174, 72,241,183,195,184,126,177, 67, 81, 73, 11, 40,
+ 42, 94,251,214,219,252,250,253, 7, 76,230,183,144, 66, 49,157,206,113,109,207,187,182,141,157, 81,145,160,217, 54,165,146, 45,
+175,211,141,148, 96,123,162, 71,187, 52,130,201, 40, 39,207, 12, 19,163,146, 93,168,103,209,116,212,235,116,195,105,205,107,135,
+135,220, 62, 60, 97,156, 87, 40,161,241, 74,242,241,213, 37,139,171,107,184, 88,196,124,234,208,127,185,166, 69, 13,201, 95,233,
+ 49,146, 2,116,153,138,219, 16, 24,146, 76,109,156,125,121, 72,129, 38,162, 13,222,239,116,225, 67, 96,141,145,169,177,209,187,
+110, 84,134,248,158, 13, 29,169, 18,177,208, 15,108,115,173, 18, 33,100,128, 87,253,206, 80,136,244,125,101, 52,230, 57,152,206,
+152, 85, 35, 66, 8, 20,166,192,186, 62, 34,129, 64,103, 45, 4, 75,227, 58,140,136, 48,248,229, 98,137,201, 20,117,103,233,156,
+199, 53, 13,244,235, 93, 70,113,218,195,198,130,147,228, 40, 46,197,211,146, 26, 80,157,116,186, 62,236,166,198,224, 33, 51,232,
+ 16, 40,141,166, 11, 30,233,226,125,221, 57,143,247,158,222, 7,156,243, 52,189, 39, 55,138,186,135,206,122,180,148,172,189,197,
+171,232, 5,223,220, 32, 25, 73, 95,111, 83,230,125,235,226, 52, 33,210,107, 29,194,128, 84,122, 38, 90,123,147,131,126,179, 6,
+169,155,212,217,135,231,209,151,231, 96,194,207,120,246,148,137, 48, 58,146, 98,148,113,168, 5, 66,105, 26,231,216, 52, 61,165,
+183,108, 54,137,183,241,162,135,117,150,179, 57, 58,130,201, 45,126,167, 28,241, 70, 86,112,168, 2,167,215,171,120,112,126, 86,
+212,112, 93,195,114,157, 16,172,132,114,105, 29,247,134, 46,125,125,240,138,184,185, 39,178,148,191,240,130, 45,169, 75,133, 29,
+162,223,183, 20,136, 96,248,155,205,150, 55,142, 15,177,186,224,170,115, 92, 11,199, 98,221, 82, 1,227,190,163,146,130,183,143,
+142, 56,152,143, 24, 85, 5, 18,133,148, 26, 89,106,228,225, 40,106,217,115, 29, 21, 15,219,128, 25, 9, 46,234, 37,235,237, 5,
+227,106,134, 84,101,220,227, 10, 8, 73,235, 47, 19,163,122, 84,150,216,166,103,146,231, 76,180, 64, 11, 67, 38, 50, 86,237, 53,
+ 79,150,151,188,215,116,248,174, 35, 40,133, 47, 50, 66,215,227,155,109, 34, 4, 59, 66,219, 18,250, 53,212, 77,148, 78,245, 9,
+ 1,244,137, 44,217,181,187,169, 69,238,120,189,175, 34, 53, 19,222,243,180,109,249, 69, 93,243,255, 45,123,206,235, 13, 65,123,
+182, 56,122, 31,184,106,214,148, 62, 80,132,128, 16,130,128,192,106,201,108, 92,178,146,154,235,114, 4, 71,135,241, 31,189, 94,
+ 35,206, 22, 17, 61, 25,222,171,129,253, 93, 22, 49,105,242,246, 45,126,248,107, 15,248,206,237, 35,102,199, 83, 30, 47,109, 92,
+213, 5, 62,117, 79,138,151, 13, 88,131,148,214, 57,220,197, 5, 98, 62, 35, 35,196, 45,149,243, 4,161, 82,124,131,165,105, 26,
+ 86,221,154,211,197,138, 38, 36,207,138,254,115,130, 84,156, 75,187,235,136, 40,138, 68, 9, 10, 87, 43,150,222,179,105, 45,171,
+166, 35, 8, 17,239, 61,149, 66,197,156,139, 53,173,245, 59,173,248,240,115,107,205, 55, 50,195, 91, 69,206,216,228, 24,169,249,
+ 14,158,223,124,253, 54, 39, 38,240,243,109, 31,155, 88,153,220, 35, 7, 84,211,171, 72,148,179, 3, 26, 39,119, 12,251,225,245,
+ 90,187,139, 44,206,116,226,113, 37,185,247,102,155, 26,189, 95, 69, 81, 31, 10,240,224,169, 62,176,137, 7,243,150, 1, 90, 29,
+ 82,175, 94,201,171, 86,238,138, 0, 98, 47,241,172,255,219, 47,232, 38,193,136,210,192,131,187,124,255,173, 55, 25,149, 83,178,
+ 44, 35, 56,232,123, 75, 89, 22,104,183,230,210,121,130, 15, 4,159,228, 17,219, 6, 46, 23,241,115,149,244,222,165, 70,230,138,
+ 81,174, 49, 82, 80,101, 34, 41,151, 60,151,171, 6,183,218,194,106, 3,153, 97, 84,149,188,113,124,155,131,114, 66, 32, 50,167,
+215,125,205,197,102, 77,127,185, 76, 76,247,246,203, 17, 35, 6, 46,194, 62,251, 27, 17, 59, 62, 33,119,133, 29,191, 67, 68, 94,
+ 36, 58, 37, 84,232,249, 29,146,216, 85,252,125,243, 22,159,248, 13, 50, 5,173,100,106, 39, 35, 19,236, 50,196,111,152,231, 42,
+ 21, 45,249,188,169,144, 81,241,181,143,103, 76,199, 5,203, 77,205,253,131,219,180,214,226,189, 69, 9,193,182,107,232,108, 71,
+109, 91, 70,166, 68, 75, 69,227, 90,140,209,108,234, 26, 23, 98,227,228,214,203,180, 42, 72, 26, 80, 19, 98,241,216,247,255,215,
+ 41,191,216,136, 56,189, 15,134, 62, 69,106, 0, 74, 19, 37, 62, 14,180,214, 88, 23,179,199,251,224, 81, 1, 28,158,173,117,228,
+ 82,196,126, 78, 7,218, 54,254,253, 94,193,214,245,180, 2,154, 62,196,239, 19, 2,215,135,221,218,104,216,239,119,110, 87,200,
+135, 93,186, 52,137,149,191,127,221,211,179, 49,144, 0,131,123,254,249,120,153, 70,255,101,207,158, 41, 34,169,103, 82,210, 42,
+201, 72, 72,182,120,148,117, 80,119,172, 54, 61,110,152,158, 63,181,243, 86,112,239, 22,191,115,112,139,147,178,228, 40,203, 81,
+125,199,105,187,164,191,186,126, 57,252,190, 47,115,235,218,196, 91, 72, 4,189, 44, 49,137,133, 73,133,125, 88,229,228, 96,235,
+120,144,233, 9,248, 14,209,217, 68, 94,141,123, 75,209,219, 88,208, 1,225, 4,130,192,251,218, 83,168,146,101,151,130, 58,188,
+229,160, 50,220, 27, 79,185, 91, 76,184, 51,153,114,116, 56,195,110, 91, 52, 18,217, 6,228, 36, 71, 30, 22,136,204, 32,140, 36,
+108, 28,118,219,210,103, 10, 39, 3,173,146,180,174, 71, 5,143,200,242, 68,230,142,197, 79, 25,131,197, 99, 16,100,121, 70,223,
+212,228, 38, 67,133,192,214, 7,166,166,136,236,118, 91,115,222, 89,124, 8, 4,163, 8, 70, 18,186,158,224,122,112,155, 72, 58,
+108,219, 20,140,178,199, 25, 34,133,251,236,107,246, 63,103,242,253, 44,255,118,113, 3,203,119,124, 92,111,249,127,175, 26,254,
+100,221, 48, 22, 22,211,246,204, 60,140,149,100,237, 29, 91, 41, 88, 3,155, 16,232,203,140,181,209,252,227,163,138,127,123,247,
+ 54,191,121, 50,229,247,238, 31,113,160,224,189,167,215,136,235,107, 16, 42, 42, 19,202,152, 96,121,127, 82,240, 91,243, 3, 94,
+ 59,186,205,225,116,198, 59, 69, 78, 63, 42,147,178,196,164,231, 81, 68,199, 78,147, 71,101,199, 40,231,232,254, 9,181, 44,118,
+ 12,242,180,102,186,176, 61,206, 40, 50, 37, 17,105, 53,211, 7,139,117, 13,235,245, 53,206,183, 52,173,101, 45, 37,200, 60, 34,
+135, 38,173,112, 94, 66,230, 19, 9,121,227,246, 93,126,239,123,223,229,215, 31,188,197,236,112,194,147,247, 63,129,174,229, 48,
+ 15,212,155, 58, 66, 33,117,183, 51, 75,106,109, 10, 17, 75,207,173,142,175,241,219,153,230,159, 76, 42,114,149,225, 67, 32,147,
+154,198,247, 20, 82, 34,165,225,195,166,166,150, 3,243, 93,199,231, 86,153,228,201, 48,212,158,244, 78, 9,187,131,223, 93, 26,
+ 29,153, 26,155, 0, 0, 32, 0, 73, 68, 65, 84,148,134,103,124, 88,207,217, 16,125, 71,134,144,153, 95,186,168,223,192,186,105,
+234,217,183,110,237, 82, 55, 17,210, 1,109,221,243, 22,146, 95, 4,129, 15,211,160,150,187,144,148,191,237, 41,125,144, 62,137,
+116,160,119, 14, 49,159,112, 50,154, 96,116,148, 55, 9, 41, 88,174,150, 60,188, 94,113,118,189, 66, 10, 65,232, 18,177,105, 29,
+ 73, 37, 40, 25,229, 66, 82,199, 41, 61, 87, 20, 90, 16, 66,212, 46,215,157, 99,217,180,112,185,137,172, 85,109,160, 44, 57,156,
+148, 76,117, 65,150,151, 55,147,228,214, 53, 60, 58,189,128,103,105,143, 62, 20,243, 87,189, 20, 38,221,212, 46, 93,119,159,116,
+143, 65,237, 96,112,201, 30, 26,194,110,194,222,159,212, 7,199,190,161,195, 22,201,252, 32,176,211,128, 91,151,120, 8,114,167,
+ 77, 30, 38,255,228,151, 30, 67, 59,210,191,181,159,119, 63, 76,238,222,167,195, 59,193,244, 58,199,101, 57, 71,101, 73,221,119,
+120,111,169,178,130,166,107,145, 74,179,105,214, 8, 25,144, 66,225, 66, 96,100, 74, 16,129,105, 89,113,185,190,230,234, 98, 17,
+167,194,190,141, 93,123, 72,114,181, 97, 82, 31,200,150, 50,165,233, 13,196,189, 96,210,207,145,140,142, 18,226, 2, 1, 33, 37,
+ 69, 46, 89,119,142, 44, 37,172,181,189,199,139,184,187,213, 54, 68, 20, 47,153,195,213, 30, 90,235,169, 93,192,134, 64, 41, 37,
+117, 99,119, 5,122,144,209, 89,151,174, 91,250,255, 82,238, 53, 93,114,151, 27,190,111, 8, 50,178, 77,220,167, 11,251, 60,105,
+114, 63,110,241,197,102,249,197,134, 45,151, 81,122,153, 69,148,165, 9, 32,165,228,162,238,113,189,163, 91,109,226,123,248,178,
+137, 91,101,112, 48,231,222,116,198, 97, 94,208,216, 30,131,231, 23,171,107,220,179,243, 47,110,194,123, 11,181,139,242,182, 76,
+241,221,201,132,127,117,231,152,223, 62,153, 80, 77,114, 62, 57,191,142,215,196,167,179,228,224, 54,223,251,254,183, 57,253,224,
+ 35,132,204, 35, 4, 63,236,102,149, 68,120, 3, 94, 34,219, 53,210,197,233,237,161,114,156,231, 21,149, 11, 28,224, 57,153,142,
+120, 99, 52,225,173,195, 67, 14,198, 19,242,188,192,123,203,229,163, 51,114, 43,208, 85,158, 12,142, 98, 20,175, 95, 54,216, 77,
+205,170,169,177,163,138,144,101,212,206,211, 43, 77, 16, 10,163, 13,189,179, 40, 41,177, 65, 48, 26,141,240,206,199,251,116, 60,
+194,117, 61, 2,184, 93,141,217,118,150,177,201,176,161,103,140,227, 81,219, 17, 66,192,107, 77,200,116,100,104, 55,237,141,214,
+ 63, 22,224, 93,118,252,238,243,206,112,236,197,255,126, 49, 70, 85,124,206,215,110,204,187,234, 45,118,179,229, 39,171, 45, 7,
+ 4,250,166,193,118,150, 32, 4,139, 0,219,204,112, 17, 4, 87, 30, 10, 99,248,245,106,194,221,114,198,215, 38,199,220,159,156,
+144,151, 25,118, 94,240,112,221,195,250, 42, 14, 41, 78,192, 40, 99, 84,102,124,111, 58, 67, 41, 77,231, 3,191,232, 45,219,214,
+ 66,101,162, 74,104, 58,130,131, 57,156, 28, 69,251,225, 91, 71,252,219,111,191,193,247,143, 79,248,221,215,239,225,230, 5,143,
+201, 99, 67,115,124, 12,101,206,166,200,168,148, 38, 8,193, 73, 89, 97,189,195,120,207,114,179,102,221, 89,148, 20,148,185, 70,
+151, 57, 77, 94,194,252,144,252,181, 55,112,119, 95,131, 78, 65,150, 12,140, 32,114, 0,180,225,187,223,254, 58,199, 7, 39, 16,
+ 60,214,100,124,114,246,148, 25,150,197,114, 27, 39,225,122,147,160,251, 62,170, 60,250,193, 71, 33,236, 46,106,240,188,153, 25,
+190, 89,142,147,167,137,130,224,240,222,161,164,102,211, 55,180,194,242,164, 75, 89,225,153,137,208,250, 96,231,236, 99, 17, 23,
+200, 72,161,113, 50,161, 79,105,189, 98,221,243,178,212,126, 72,192,235,190, 82,109,124,121, 81,151, 9,114,240, 41,142,210,217,
+ 88, 64,250,189, 3,157,193,206, 85,236, 32,132, 87, 49, 46, 25,224,145, 23,141, 84,254, 54, 63, 6, 9, 85, 16, 17, 10, 65,176,
+200, 12, 85,150,113, 52, 46, 16,194,227, 29,156, 95,175,248,139,119,222, 5,209, 71,178, 19, 62,193,166, 77,116,197,154, 23, 73,
+222, 16, 51,166, 67,136,249,188,189,119, 52,189,163,111,250,216, 93,173,151,177,216,141, 71,140, 39, 35,170, 66, 35,241, 72,109,
+232,250,150,198,121, 30,158,157,179,125,122, 26,247, 67, 55, 59,152, 47, 67, 54, 84,177,248, 26,177,131,151, 3, 59,223,224, 97,
+160,147, 67,214,252, 75, 60,212,247,247,238, 67, 83,224,210, 62, 87, 14, 76,204, 68, 38,115,118, 23, 30,162, 19,188,173, 19,243,
+220, 13,161, 58, 58,194,197,168, 4,127, 37,191, 99, 37,118,118,166,129,104,252,211,247,244, 65,208,107,133, 32, 36, 55, 88,135,
+ 11,142,197,118,129, 68, 82,234, 17, 74,104, 50,173,144,194,160,165, 98,219, 52, 76,139, 17, 15,183, 75, 56, 59, 75, 39,153, 77,
+123,252,253, 2,153,224, 46,103,119, 28, 2, 51,200, 26, 37, 84,229,243, 9,100, 68,166,115, 7, 49, 80,195,122,156, 11, 88, 5,
+ 5,113, 98, 19, 30,172, 8,224, 3,181,247, 4, 33,232, 83,163, 42, 9,172,187, 97, 23, 42,246,228,107, 73, 70,166, 84, 60, 68,
+ 92,159,252,207,137,178, 60,215,236,244,222,174,143,215,175,235,119,201,102,251,176,251,231,125,188, 8,161,143,170, 72,230, 73,
+ 54,187, 78, 42, 90, 27,125,216,221,166,129,235,197,103, 63,123,194,195,108,140,171,170, 36,253,213,188,187,186,228,252,242, 50,
+ 54,172,175, 18, 10, 50,228, 59,204, 39,252,193,157, 99,114,169,152,149, 83,156,235,121,167,238, 83, 80, 82,186,103,182,215,156,
+126,242, 48, 53,160, 18, 49,196,200, 14,211,122,232, 17, 65, 34,115,137, 8, 22,105, 5,178,105, 9, 42,144, 9,193,189, 81,198,
+131,106,202, 91,243, 25,147, 34,163,154, 69, 51, 21,223, 67,215, 56,214,151,231,140, 84,142, 57, 24,199,251,196, 65,216, 90, 66,
+211,227, 69,160,147,158,173, 20,184, 98,132, 77,220,146,218, 91,132,140, 33, 63, 69, 53,194,217, 30,161, 20, 89,150,209,214, 45,
+ 50, 8,100,102,240, 65, 80,100,154, 77,239, 57,206,198,116, 90, 98,125,195,179, 46, 74,187, 66, 12, 5,136,164, 68, 27,207,148,
+151, 21, 99,249, 25,159,191,204,175, 23,167,248, 0, 4, 31, 97,255,159, 45,150,124,220, 89,124,211,210,246, 14, 39, 2, 87,222,
+114, 42, 37,207,132,100, 94, 26,222,210, 25,119, 70, 51,148,202,208,198, 96, 76, 73,171, 13,125, 33,185, 80, 89, 92, 25, 92,175,
+ 97,121,197,166,243,188, 94,106,148, 84,156,246, 29, 63, 90, 44, 19,139, 59,233, 75, 85, 90,221,142, 51, 80,138,217,100,204,247,
+102,135,220,169,102,140,203,138,172,200,120, 71, 73,220,120, 12,183, 79,152,222,127,147, 81, 81,130,146, 84,192,131,201,140,147,
+ 81,206,196,104, 46,250,134,218, 57,148,214,228, 66,162,165, 96,148,103,252,240,183,254, 41,255,234,159,255, 62,255,236, 55,190,
+199,209,252, 62,106, 62,166,155, 29,211,118, 93,146,230, 26,206,188,226, 27,135, 83, 68, 86,209,109, 87,124,252,240, 9,237,242,
+154,233,184,164, 93,247,233,249,232,161,109,201,180,194,109,183,209,178,185,237, 83,141,139,199,217,177,210,188, 53,202, 24,201,
+140,222,181,145, 65, 79,160,237,123,150,222,242,151,203,134,237,224, 60,103, 20,163, 42,167,207, 75,200,116, 76,203, 19,137, 43,
+129,223,157, 73,128, 8, 33,254,250, 21,214,193,151,159, 20, 34, 81,248,135,201, 92,232,221,132,190,109, 34, 57, 34,193,100,251,
+142, 61, 55,196,160,127,136, 31, 42, 77,216, 50,197,172, 62, 89,178, 58,217,176,221,108,153,140, 15, 33, 52, 56,219, 36, 82,194,
+ 62,155, 60, 29,252,147,113, 60, 36,203,148, 50,119,179, 71,108, 99, 45,238, 45,172,183, 41, 35,126, 7,127, 74, 13,193, 7, 86,
+ 93,207,246,234, 20,135,100, 81,119,172, 47,215,176, 90,127,177, 27,222,103,153,233,244,169,233,232,147,214,193,200,228, 91,239,
+227,207,200,144, 78,150,194,105, 20,187,223,219,189,162,190,109,118, 83,184, 75,123,244,125, 97,113,219,196,212, 51, 33, 99,193,
+217,191, 23, 94, 28,216, 84, 42,252, 55,221, 73, 6,165,136, 83,103,122, 73, 56,189,155, 84,251,150,101,219,146,101, 26,183,245,
+132,205,154,233,120, 12,214,115,114, 56, 5,160,204, 75, 50, 99,112,125,143, 50,121,220,165,251,134,215,230, 21, 15,191,254, 38,
+188,255, 65, 12, 48, 81,123,124, 4,217,199,127, 71,217,231,175,111,219,237,146,200, 26, 27, 73, 92,222,199, 48, 17, 37, 33, 3,
+ 45, 4, 77,231,208, 72, 86,193, 83, 32, 88, 16, 8,206,115, 32, 5, 54, 4, 46,251,158,137,138,141,192, 38, 65,209,197, 16, 64,
+228,247,166,213,129,108,227, 93,130,223, 19, 15,194,166,130, 23, 92, 34,246,245,207,255,153, 23,255,251,171,248, 19,232,228,136,
+149, 26, 22,186, 62,194,224,214,237,174,255,103, 54, 8, 22,206,174, 57,157, 95,112,234, 61, 44, 47,226, 52, 3, 80, 8,120, 85,
+197,229,102, 5,171, 45,109,215,115, 50, 61,100,221,183, 60,209, 49,171, 30,167, 65,118, 59, 18,163,200,227,251, 54,232,117,189,
+137,208,252, 80,156,148,197,123,131,207,193,119, 29,254,236, 17,206,247, 60, 10, 61, 63,152, 85,228,128, 81, 2,157,105,100, 46,
+200,171, 10,151,107,176, 61,107,215,177, 92,109, 80,143,174,201,239, 76, 99, 19,234, 60,106, 86, 48, 42, 2,186,201, 41,187,146,
+243,229, 53, 11,105,233, 61, 28,143, 39,204,110, 29,162,148, 36, 88,104,183, 45, 25, 1,219, 89,132,136,136,157, 17,130,186,109,
+168,138,156,215,230,135,252,199,235, 83,166,121,201, 55,111,189,206,149,123,194,199,109,131, 32,139, 69,247,238, 93,184,188,138,
+171,182,182,123, 57,116,254, 57, 5,250,121,146,156,190,121, 78, 69, 90,231, 8,187, 99,165,135,255,159,186,247,108,178,236, 58,
+239,253,126, 43,237,112, 98,199,153, 1,102, 6,145, 0, 73, 48,136,162,168, 72,221,171,171,107,189,176,222, 58,125, 5,127, 13,
+126, 26, 87,185, 92, 46,135,178,101, 91,117,203,215,165,146,117, 45,139,162,196, 32, 6,136, 4, 48, 4, 6,192,204,116, 58,113,
+135,149,252, 98,173,221,231, 76, 34, 2, 85,186, 86, 87,117,117, 79, 79,247, 9,123,175,181,158,244, 15,207,248,155, 8,124,176,
+217,240,254,102, 67,216,108,152,108, 74,142, 70, 35,220,116,204, 47, 85,193,151,116,137,174, 11,106,161,232, 8,180, 33, 49, 20,
+218,224,168,139, 17,119, 15, 61,247,164, 72,190,237,139, 53,108,123,254,135,239,253,132,232, 44,232,241,117,155,154, 73,149, 20,
+ 44, 67, 62,127,214, 61, 76, 71, 40,210, 56, 78, 41,131, 20, 2, 41, 52,183,170, 49,247,104,161,158,208,121,203, 97, 61, 66,199,
+200,237,233,152,219,179, 17,181, 81,172, 27,205,173,110,198, 74,104,240,150,224, 18, 30,228,197,217, 17,175,188,124,151,111,188,
+ 54,199,148,154,155,199, 37, 55,223, 62,164,111, 54,252,183,189,163,251,240, 62,194,247,196,237,138, 11,111, 57,242, 61,147,170,
+ 98, 50,159,178,110, 91,150, 87, 93,214,108,224,122,150,221,111,219,221, 57, 65,155,102,235, 19, 7,182,226, 3,161, 57, 31,111,
+ 24,141, 21, 71,166,102,101, 27,162, 15, 56,224,157,102,203, 89, 8, 40,169,168, 43, 69, 37,210, 40, 86, 86,145, 77, 35,210, 88,
+176, 80,233,188,183,221,206,203,163,123, 90,123, 63,254, 42, 64,244, 62,117,248, 83, 87,234, 3, 8,167,200, 21,143,207, 51,219,
+224,115,133,222,166, 67,113,219,238,108, 81,201,135,214, 64, 33,250,231,212, 18,127,242,141, 63, 15, 60, 36,101, 58,228,116,238,
+155, 18,224,104,204,239,188,126,155,155, 39,199, 76,231, 37,149,209,156, 28, 30,240,225,229, 57,171,237, 22,101, 20, 81, 12,109,
+232, 68,237,160, 46,118, 82,152, 42,139, 4,172,123,216,108,224,106,155,248,200,109,127,141, 58, 86, 35,195,200, 40, 68,148,108,
+189, 99, 99, 3,103, 77, 67,127,149,231,237,155,203,207,119, 96,171,189, 46, 10,131, 82, 87,110,221, 26,147,237, 70,243, 2, 40,
+ 51, 21,101, 24,228,201, 61,158,113, 36,123,210,199, 4, 2, 52, 38, 5,222,174,221,177, 20,164,220,241,106, 10,185,107,185,135,
+144,103,167,123,115,173, 48,120,162, 15,200,238,140, 54,247, 49,207,239, 67, 66,123,186,252,243,110, 11, 33,176,237, 44,203,190,
+103,213,247,148, 74,115, 52,155, 81, 21, 21, 39,179, 99,140, 81, 72,161,209,101,129, 16,146,217,120,130,115, 61, 35, 93, 80,170,
+200, 5,106,103,149,232,251,244,248, 62,163,137,221, 51, 58, 65, 74,238,168, 42, 3,208,188, 48,100, 88,123,154,102, 40,137, 37,
+ 94, 23,212, 32, 17, 49, 38, 45, 23, 18,117,205,121,207,101,219, 81, 85, 26,215,123,182, 54, 80,228, 45,115, 13,148, 27, 40,108,
+ 3, 86,193,251, 92,197, 59,210, 48, 88,236,130, 88,239, 30,167,118, 62,171,195,245, 60,205,251, 39, 55,122, 53, 74,126,230,227,
+ 50, 37,120,101, 6, 8,250, 60, 11, 63,187,252,100, 7, 40,111,179,177,142, 72, 93, 42,107,147,167,192,114,243,233, 19, 81,159,
+ 16, 74,221,164,230,131,222,241,253,182,227,103,155, 54,237,167,102, 11, 62,139,110,168, 36, 49,122,173, 43, 32, 67, 66,194, 83,
+164,239,243,216, 68,208, 35,131, 70,184, 6,169, 42,148, 23,168,222, 18,101,224,181,217, 41,199,166, 96, 50, 27, 99,180, 68,150,
+ 26, 85,106, 34,130,162, 46, 89, 44,150,232,141, 69, 7,129, 84,105,223,248,182, 71, 40,129,170, 53, 69, 81, 50, 50, 37,149, 48,
+ 8,161,185,117,231, 6,245,193, 24,115, 56, 70, 24,141, 18, 26,239, 34,182,115,200,210, 16,188,199,197, 64, 81, 26, 90, 31,104,
+251,150,117,132,214,148, 52,192,168, 52,188,183,110, 8, 50, 18, 11,147,206,139,201, 24, 84,129,240, 1,185,234, 17,217, 65, 55,
+239, 32,212,245,167, 70, 37,136,223,222,103, 72,191,227, 65,150, 5,210, 8,164, 18, 72,145,212, 48,165,247, 79,183,225,247, 43,
+246,253, 79, 47,232,172,227,114,221,176, 88,246,196,182,227, 81,140,252,198,116,204,161, 54, 76,234, 9, 0,239,180, 27, 46, 92,
+199,199,125,207, 54, 6,122, 17,113, 66,195,225, 12, 38, 35,226,100, 2,179, 89,218, 71,171, 38,105, 30, 92, 44,211, 26, 57, 63,
+ 75,126, 20, 34,209, 21, 27,160,150,142,185,210,180,206,114,101, 59,254,106,181, 77,123,161,168,185, 51,154, 50,146,138, 50, 6,
+ 94,158,140,152, 40, 73, 89, 40,188,130, 94, 40, 62,180, 14, 87,150,212,166,194, 17, 25,153,146, 55,191,240, 50, 7,211, 17,109,
+ 31, 48, 72,182, 54, 34,162, 68, 19,249,229,250, 42, 61,119, 81,114,235,228, 16,163, 10,122, 4,239, 93, 93,225,151,103,153, 97,
+ 16,210,243,219,236, 36, 24,158,156,207, 39,227, 33,164,166,233,123,126,218,123, 94,174, 36, 70, 68,122, 31,232,188,231,157,126,
+195, 79, 54, 61, 27,239,145,217,151, 69,163, 16,165,160,245, 36,165, 65,145,217, 35, 82,165,241,168, 16,121,236, 41,114, 49,229,
+159, 15, 42, 44,139, 84, 84, 85, 38,237,199,161, 91,250, 43, 42,251,199,131,186,148, 48, 58,132, 98,154,128, 14,163, 81, 86,184,
+146,201,122,174,168, 18, 34,215, 84,169,202, 40,244,110, 46, 54,104,214,126, 30, 78,237, 63, 69, 48, 31, 14, 55,249, 12,125, 94,
+ 85,236, 29,230,164,139,116,115,204,183, 94,189,205,168, 30,209,181,129,186, 42, 80, 50,112, 88, 76,248,104,181, 96,219,111, 81,
+ 50,166, 24, 88, 40,162, 86,200,202, 32,164, 76,168, 73, 31, 97,217, 38, 95,246,197, 26,150,217,159,125, 86,167,235, 54,174, 48,
+ 38,205,147,173,247,248, 0, 27,239,211,225,237, 61,172,206, 63,123, 53,166,115, 23, 37,184, 93, 94, 39,217,179,161, 53,105, 30,
+ 99, 76,230, 71,154, 28,108,217,161, 57, 7,224,154,209,121, 54,170,211, 74, 68, 67,200,153,234,224,152, 23, 99,170,160, 66, 76,
+139, 63,100, 10,214, 0,138, 51, 58,183,189, 51, 35, 32,100,107, 77, 93,236,230,251, 42,238,130,103,148, 89,191, 63,183,166, 93,
+ 82,251,162,235, 97,181,133,208,179,145,154,227,233,148,195,106,204,108, 58,197,123, 79, 89, 22, 40, 41, 24, 79, 38, 56,107, 9,
+193, 98,187,158,178, 40, 8, 42,178,106,186,244, 6, 93, 72, 45,238,190,123,254,104,199,251,188, 49, 34, 96,114, 82,147,121,236,
+ 25,131, 16,131, 39,202,152,198,219, 49,210,245, 14, 39, 99, 50,112,241, 17, 27, 28,141, 15, 76,180, 98,219, 88, 10,163,114, 52,
+207,231, 68, 8, 59,228,255,208,245,232,236, 30, 74, 63, 38, 0,159,103, 39, 60, 33,194, 39,239,157,231, 5,245,199, 70, 42, 21,
+220, 60, 74,201,247,168,230,141, 73,193,177, 54,212, 81,112,164, 21, 55,100,224, 98,185,250,228,181, 39,196,142, 2, 26, 99,154,
+237,111, 59, 88, 52,159, 92,233,239,239,205,174,227,170,141, 60, 10,145,141,202,215,223,147,170, 32,187,190,166,179, 37,212,176,
+ 73, 65,222,107,132,235,147, 0, 77,238,128,136, 40, 17, 42, 38,122,155, 8,200,114,130,244, 61, 50, 68,214,209,115,103, 82,113,
+ 84,205, 24, 41,141, 86, 18,169, 20, 33, 6,212,164,196, 90, 79, 64, 96, 53,244, 23, 43,100,231, 8,173, 69,212, 6, 57, 41,137,
+214, 35,141,166,156,212,140,203, 17,243,217,148,234,116,134,158, 84,168,113,133,170, 12,193, 6, 90,235, 16,133,196,134, 64, 80,
+146, 32, 37,141,247, 4, 33,184, 10, 30,163, 20,235,174,163, 51, 6,173, 43,222, 58, 57,230,230,184,230,168, 54,220, 28, 25,254,
+139,219,183,248,175, 95,191,203, 91,167, 35,254,106,213, 34, 93, 64, 6,119, 29,204,245,240,213,104,180, 82,104, 37, 51,222, 80,
+160,188, 71,121, 80, 74,163, 42,185, 75, 4, 4, 40, 41,144, 49, 33,224,229, 94,235,254,233,106, 93,167, 22,122, 78,110, 35,145,
+216,103,157,254,117,199,182,138, 8,111, 57,179, 13, 87, 81,240,113,223,114,207,182,108,172,229,178,105,137, 66, 98, 51, 59, 70,
+214, 21, 98, 52, 34,102,103, 63, 70, 21, 84, 21,163,233, 4,187,216,100, 91,209,144, 40, 89,139, 45,244, 61,247, 31, 92,242,221,
+143, 30,112,213, 47,249,139, 95, 62,130, 15, 62,204,235,106,205,202, 54, 84,125,143,176, 13, 69,136,204,140,194,134,192,186,109,
+249,225,229,154,141,212,248, 24,145,198, 32, 84,193, 89,215,113,103,114,200,205,185,193, 89,199, 98,213,177,117,160,181,132, 62,
+242, 96,253,136,237,102, 11, 77,195,225,193, 17, 33, 70,186,190,227,131, 95,188, 11,155,101, 46, 90, 51, 8, 85,239,241,204,159,
+220, 87, 33,183,203,183, 14,175, 4,127,223,118,252,223,151, 43,222,110, 59,254,118,189,225,199,139,150, 77, 76,116,213, 66,194,
+ 76,107,186, 24,136, 66, 38,207,166, 97,236, 27, 19,173,247,200, 20,180, 18, 94, 61,152,112, 37, 76, 22,235, 82, 59, 9,229,167,
+138,184, 12, 52,237,243,226, 16,207,176,133,125,110,251, 93,235,164, 62, 53, 59, 76,243,218,168,178,218, 85, 1,151,151, 80, 5,
+104, 87, 80, 78,210, 28,216,100,126,162,201,237,216, 65,217,203,185,127,222, 10,125, 95,201,108, 16, 81, 25,254,237,220,222, 91,
+204, 78, 56, 58,253,205,203,211, 81,166, 77, 70,170, 66, 98, 10, 77,111, 35,101,110, 87, 42, 4,165, 0,105,210,251,178, 22, 98,
+ 70,236,247,214,165, 96,212,183,169,165,178,204,193,112, 86,229, 89, 82,170, 88, 61, 17,105, 10, 68, 76, 7,100, 41, 3,157,144,
+159, 13, 16,247, 36,128,201,183, 32,170, 76, 83, 11, 59,174, 56,164,255, 43,178,232,193, 53, 90, 61, 47, 6,159, 91,244,251, 90,
+223,229, 36,161,229,251, 12, 98, 11,213,110,132, 50,140, 86,182,171,180, 97,125,174,194,237,240,213,237, 84,232,174,171,203,225,
+189,245,233,185, 6,235,207,184, 55,103,133,221, 8, 71,230,182,179,203, 86,179,155,158, 48, 25, 97, 2,196, 24,233,156,163, 42,
+ 43,132,148,232, 34, 85, 71,169, 59, 22,249,222,131,247,248,218,233,109,198,198, 80,158,206,233,174,214, 57, 97,202,175,223,254,
+ 10, 43,211,216,166,128, 14, 73,176,162,202,107,196,231,235, 84, 25,176, 73, 60,100, 8,202,222,122,218, 24,169, 60,120, 25, 48,
+ 14,214, 46, 80,105, 65,231, 82,160,170, 76,106, 26,116, 42,111, 82,163,119,216,145, 65,203,125, 16,224, 24, 2,163, 54,169,253,
+238,229, 39,143,175,246,247,214,222, 82,127,172,139, 51,159, 51,159,212,152,217,136, 27, 82, 49, 51, 5, 91, 23, 49, 37,168,224,
+241,189,228,213,227, 99,222,221,222,255,228,231, 90,183, 48,233, 82,162,164,115,199,174, 72,157,201, 79,189, 55, 71, 85, 74, 96,
+203, 92,150, 78,138,212,241, 58,157,165, 91,112,113,158, 76,101, 84,149, 70, 40,195, 45, 42, 52,194,107, 34, 14,130, 33, 42,155,
+243, 66, 75, 12, 37,193,247,248,178,198,105,133,125,180,228,127,253,209, 15, 24, 71,193,188,252, 58, 82, 41, 60,130,114, 84, 16,
+123,143,152,214, 8, 31, 88,158,175,112,210,114,255,195,123,140,100,228,120,118,202,232,116,142, 26,151, 72,153,199, 2, 35, 65,
+ 57, 31, 35, 39, 73, 57,113, 16, 67, 9, 66, 18,163,192, 75, 73, 52,208,228,110,148,170, 20,155,117,147,192,103,120,212,168,100,
+ 46, 13, 55,162,163,139,145, 98, 58,227,197,245,134, 66, 27,254,112, 62,162, 38, 80, 86, 83,126,183,151,124,247, 23, 31, 49, 61,
+158,208, 54, 13,210, 6,102, 64,211, 89,164,117, 72,231, 17,131,135,183,183,215,103, 91, 52,250, 41,206,122, 28,130,180,123,188,
+ 34,223, 63,102, 2, 26,177,223,226,181,225,122, 1,197, 46,161,191,127,252,119, 11,126, 60,159,115,251,246, 41,107,161,185, 49,
+155,242,113,150, 22,142, 49,178,237, 60,197,184,192,201,196,124,153,148, 21,109, 76,235,254,173,219, 55,121, 57,118,244, 93, 79,
+123, 52,226, 7, 77,195,253,143,174,146,184,141,112,176,190,202,186, 74,129,183,239,127,176, 91, 35, 75,141,248,210,239,242,202,
+228,144, 27, 85, 5, 97,195,213,102,201, 61, 21,144, 82, 17,130,231,170,233, 81,170, 96, 90,214, 9, 15,101, 45,181,144,108, 62,
+190,207,189,197, 21,181, 52, 92,184,192,228,245, 87,137,165,230,206, 75,183,248,250,242, 85,254,207,243, 5,156,159,241,227,255,
+231,175,119,103, 90,183,217,139, 25,123, 4,132, 95,245,209,245, 96, 2, 92, 56, 88,151, 48,174,185, 88,101,141,249,124, 78,170,
+ 73,141,138,129,149, 11,140, 74,205,186,203, 12,161,222,131,134, 63,157, 86,220,136,145, 57, 0, 19,188, 13,124,124, 56,227,127,
+218, 58,220,162, 77,137,198,106, 5,182,223,141, 81,202, 34,157, 83,195,248,146,140,103,178,242,217,251,255,169,160, 62,170,161,
+ 58, 74, 30,211,202, 64,219, 38,190, 92,211,193,252, 16,232,147,137, 70,183,222,205,212, 11,189,155,185,199,161,141,246,252,172,
+125,244,123,191,201,246, 47,255,230,159,190, 82,223, 63, 68,158, 2, 20,237, 81, 70,100, 62,200, 85,207,189,143, 23,124,243,238,
+150, 48, 58,194,148, 6,169,161, 82, 37,127,241,179,159,112,241,241, 5, 24,216, 22,145, 73,126,188,170, 84, 88, 11, 91,151, 57,
+199,235, 38, 85,231,203, 54, 7, 69,153, 40, 68, 70, 64,165,174, 27, 33,135,229, 4, 41, 21,198, 84,124,184,186,160, 27,120,202,
+101,190,198,159,229,163,235, 83, 59, 38,132, 29,143,220,134,157,242, 16,213, 14,160,228,119,221,249,148,190,231,223,209, 58, 97,
+ 3,122,191,211,229,222,191,143,251, 12,135,144,175,239, 48,243,244,121,152,106,115, 0,241,215, 15,158,231,237,114,151, 64,120,
+210,154,105,114,102, 41,121,188,109, 59, 24,124, 40,185, 75, 70, 10, 13, 10, 44, 29,202,104,182,237,134, 24,234,235, 68, 11, 2,
+ 90, 73, 74,173,248,202,233, 75,156,175,175,168,202,146,170, 50,116, 70, 38,228,109, 40,210,252,248, 87, 1,180, 29, 36,162,249,
+ 54,137, 60, 12,243,238,125,205,250,152,223,155,221,105, 11, 7, 45,104,101,100, 82, 21, 20,170, 96, 28, 60,155, 69,131, 34, 49,
+ 65,186,144, 94, 66, 73, 96,217,248, 29, 62, 33,207,223,177,185,171, 97, 51,142,161, 8, 89, 53, 46,139, 79, 12,207,253,105,242,
+ 98,247,236,237, 60,159,106,166, 85,133, 50, 21, 7,165,129, 24,152, 25, 77, 99,123,250,206,115, 96, 52,141,240,105, 15,111, 63,
+197,250,243,238,154,198,132, 54, 41,153,103,245,233,246,165,219, 75,178,182, 93,186, 56,190, 72,227,142, 16,161,236,161,154,130,
+111, 82,133, 46,202,204,166,113, 59,140,134, 15, 48, 4,116, 61, 38,244, 27,194,168,194,175, 86,120, 52, 78, 68,172,208,172, 31,
+ 93,241,243,135,239,115,123,118, 3, 93, 24,154,222, 49, 37, 75, 21,228, 60,164, 45, 4,155, 94,115,142, 35,108,183,196,139,143,
+185,249,209,132, 55, 94,124,153,233,139, 39, 40,173,209,227, 26, 66, 68, 42,149, 26, 43, 14, 92,227,104,215, 45, 91,235,176, 26,
+202, 66, 16, 85, 66,199,111,108,160,169, 10,150, 33,208,136, 72, 20,130, 3,231, 56,247, 18,175, 21,119,170,130,143,199, 83,140,
+243,216, 58,141,227,206,163,230, 91, 95, 62,228,171, 95,145,184,109,131,116, 61, 70,194,213,242,146,166,219, 98,131,231,195,135,
+ 87, 64,199,197,253, 13,162,185,132, 62, 57,183, 69,155, 58,165,241, 58,168,167,196, 39,118,253, 83,193, 60, 15,161,174,191, 62,
+ 89,185,139,189,200,112, 61,105, 90, 44,184,191, 88, 16,181,230, 74,215, 48,170,146,217, 75, 85, 18,181,162,111, 96, 52, 29,131,
+ 82,108,130,165, 22, 37, 55,149,228, 75, 70, 50,215, 71,120,181,165, 24, 31,160, 23,103,220,111,129, 81,155, 40, 99,155, 54, 3,
+ 65,247,248,235,166,128,187, 95,229, 63,253,218,183,153,207,231,244,155, 5,203,205, 61,188, 92,114,149,215,230,214,245, 72,111,
+ 49, 42,233,183,107, 83,177, 14,150, 27, 66,112,203,119,204,154,128,213,134,211,114, 68, 37, 60, 23, 34,221,243,131,201,140, 98,
+ 60,162,211, 25,219,241,228,188,250,186,232,251,148, 31,214,237,144,241, 77,147,240, 42,166, 74,103,189, 41,241,139, 13,219, 74,
+ 49,171,107,154,222,161,180, 98,107, 19, 45,238,182,128,113,140,252, 70, 89,177,142,158,169,208,168,169,225,101, 4,219, 81,207,
+ 15, 15,231,124,112, 49, 78, 74,114, 15, 30, 36, 87, 78,178,169,206, 16, 83,226, 94,241,179,143,139,122, 6,142, 34,181,223,181,
+134,233,113, 82,178,137,234, 90, 78, 83,169, 50, 89,244, 9, 1,109,200, 64, 22,153,103,234, 67,213, 88,164,202,103,208, 7,127,
+ 94,251,240,206,171,124,251, 43, 95,229,189, 77, 3, 87,151,255,116, 65,125, 64, 85, 15,179,244, 33,184,239, 43,166, 41,185,163,
+115, 9,153,130,203,166,229, 29,122, 94,157, 78,136, 81,210,181, 29,111,255,226, 29,126,252,224, 10,187,186,202, 66,254, 10, 31,
+ 34,227,194, 16,137, 88, 1,190,115,176,202, 38, 23, 93,214, 27,150, 89, 29,107, 82, 66, 57, 74,149, 8,145,233,120,198,124, 50,
+ 69,106,147,148,196,165,100,217,181, 9, 29,127,181,253,124,238,107,215,109,238, 28,177,245,158, 71,184,207,130, 47, 3, 86, 77,
+100, 69,181,125,183,175, 50,189,182, 84,121,229,175,214,165,164, 46,228,170,178, 24, 2,118, 76,156, 80,223,100, 26,154, 76,179,
+247,202,236,105, 20,228,150,187, 44, 51, 71, 62,209,213,112, 54,137,233, 12,226, 43, 79,182,139, 6,101,169,129,250, 54,206,244,
+150,201,152,121, 85, 34,163,192,135,128, 68, 34,181, 34,134, 64,239, 59,218, 77,139,139,142, 77,179,198,147, 90,218,222, 90, 86,
+157, 77,247,216,246,201,221,238, 19, 89, 24, 46, 37, 98,131, 36,164,139,169, 21, 63, 84,237, 66,237, 54,241, 32,149,155, 53, 34,
+ 14,170, 26, 41, 2, 94, 40,182, 77, 79, 97, 36,133,140, 4, 23, 9, 33, 34,181, 76,222, 53,144, 42,187, 65, 18, 86,134,157,170,
+222,160,255,224,247,228, 98,241, 79,211, 14, 63,203,199,193,156,131,201,132,233,225,148, 88, 26,166,166,162, 84, 6, 71,146,190,
+221,246, 22,105, 91, 54,219,150,197,249,226,233, 32, 28,158, 16, 74, 24,149,112,122,196, 27, 71, 83,190,121, 56,226, 55,142,198,
+ 28,141, 21,239, 63, 92,127,242,218,173,138,148, 20, 93, 91, 35,103, 63,133, 81,157,128,141,245,140, 59, 35, 67, 24,149,244,103,
+139,204,208,200, 30,240, 54,181,151, 68,200, 95,163, 76,237,120,225, 17, 65, 35,156, 71, 84, 10,164, 65,132,152,184, 9,126,203,
+253, 71,107,142,102,154, 89, 57, 71, 8, 77, 23, 97,211, 59, 54,109,207,202, 59,182,214,241,225,114, 69,231, 45, 23,221,134,243,
+126,197, 7,221,134,179,229, 57,114,213, 50, 63, 60,130, 16, 80,198, 16, 92, 36,246, 14,187,234,105,206,214,124,116,181,102, 25,
+ 60,157,136, 56,163,176, 34,242,208, 71,186, 74,211, 6,216, 32,208,133, 65,121,143, 49, 10, 35, 36,174, 44,145,198,160,165, 0,
+ 99, 88,233,130, 43,235,185, 50, 5, 97, 84, 35,141,161,200, 62,241,149,169, 40,117,193, 68, 26,222, 28,207,248,198,201, 93,190,
+124,248, 2,111,222,122,129, 77, 1,237, 38, 98,138,164,136,102, 32,201, 39, 3,134,128,182, 14, 29,194,117,251, 62,181,230,143,
+145, 52,215, 36, 24,129,124,110,102, 24,159, 53,207, 13, 1, 92, 79,108,182, 9,255,208,108,210,218,213, 26,155,233,204, 35, 83,
+ 49, 82,145,215, 71,154, 3, 31, 24,107,133,209,154,166,111, 56,174, 70, 92,132,192, 69, 36,157,139, 85,153,214,131, 23,136, 66,
+ 38,206,251,248,132, 63,248,189,127,203, 87,191,252, 26,135, 71, 53,101,169,105,214, 45, 62,108, 40,138, 18, 79,214,112,176, 22,
+225,114, 97, 28, 4, 50, 68, 42, 97, 57,213,201,120,201,147,204,149,238, 59, 65, 35, 53,171,117,203,249,213,130,127, 60,255,152,
+248,224,193,174,120,121,222,200,234,179,152,166,120,159, 37,178, 51, 53,181, 27, 24, 47,137,151,222,117, 22, 39, 36, 86, 12,179,
+ 56,207, 23, 75,201,151,181,196, 10,193, 76, 40, 90,173, 56,208, 53,125, 81, 82, 85, 99,222, 67, 51,153,207, 88, 72, 9, 71, 7,
+ 80,141,211, 94,240, 54, 83,222,114,102, 90,100,145,156,103,188, 31,241, 84, 80,175, 10, 56,190,157,104, 62, 38, 75, 21, 6,153,
+230, 45, 49, 5,183,228,103, 46, 97,187,200,115, 72,151, 90,243, 93, 6,207, 13, 92,220,231,125, 44, 46,121,239, 71, 63,250,167,
+ 13,232,195,205,209,250,241,153,250, 48,155,188,238, 61,101, 85, 53,113,141,100,130,206,226, 47, 87,220,211,150,191,254,135, 95,
+240,183,127,253, 99,126,254,227,159, 96, 31,158,239,184,244, 64, 49,210, 20, 82, 18,144,200, 8,125,219,167, 42,207,219, 4,136,
+155,212, 41,200, 21, 89,216, 63, 59, 30,129,228,100,122, 68, 81, 84, 8, 4,101, 89, 96,116,193,217,253,251,112,177, 72, 1,240,
+243, 28,222,194,103,119, 49,177, 83,105, 27, 90,240,106, 79,143,125, 0,194,133,152,240, 15,131,216, 79,200, 82,132,195,124,215,
+186,157, 25,129,218, 75, 16,100,166,163,233,220, 46, 14,121,150, 62, 0,232,134, 64,231,243,235, 16, 62,243,230,227, 78, 72,195,
+125,194,251,147,185, 26, 22, 25,239,160, 18, 0,209,150,138,227,122,130,136, 26, 79,199,166,109, 82,238, 98, 35, 77,219,178,217,
+172,177,193, 33,240, 92,110, 55,188,191, 88,167, 74,176,239, 18, 72, 39,186, 79, 47,134,228,178,125,218, 40,163,197, 69, 62,230,
+ 6,231,167, 33, 25, 9,225,218,246, 87,213,146, 90,106,154,174, 3,231,115, 87, 57,105,110,143,181,100,166, 4, 90, 70,100, 16,
+180,249,255, 99,231,114,245,151,199, 84, 33,215, 80, 42,175, 79,216, 73, 38,127,222,160, 62,158, 96,199, 37, 98, 54,162, 86, 21,
+ 86, 8,140, 20,120,169,216, 4, 16,209,211,187,192,207,207,182,233, 16,178,185,179, 85,229,222, 94,153,173, 34, 7, 21,201,227,
+ 99,222, 60, 61,226,219, 55, 78,121,101,126,204,216,148,220,170,107,102, 53,188,251,209,197, 39, 84, 54,164,174,132,202, 35,169,
+ 40, 83,167,108, 54, 70, 30, 28,240, 95,221, 56,230, 55, 15, 79,248,114,173,248, 94,211, 36, 34,189, 82, 89,193, 81,164, 2, 66,
+ 6, 68,187, 77, 24, 13,101, 32,170,164,112,150, 41,154, 34, 88,132,243,105, 47,201,154,216, 53,252,227,213,138,218,120, 26, 7,
+ 54,106, 58, 34,143,250,158,171,174,229,106,211,224, 4, 60, 90, 47, 88,249,158, 38, 10,164,136, 4,169, 57,239,183, 44,206, 23,
+212, 86, 34, 99,164,191, 76,250,237,205,217,138,247, 63,126,200, 59,155, 5, 75, 28,189, 49, 44, 66,100, 29, 5,157,128, 94, 9,
+162,146,184, 66, 83, 35, 40,181,102,235, 29,141,143,156, 26,205, 66, 42, 52, 80, 43,201,149, 11, 89, 96, 69, 35,141,162, 54,138,
+224, 3,227,162, 32, 56,199, 68,192,239, 31,156,242,214,209, 13,222, 60, 58,230,246,244,128,147,209,156, 87, 79, 95,228,214,205,
+ 35,198, 55, 15,185,156, 76, 49, 40,116, 52,152,222,163, 99, 72,254, 34, 90,161,133, 64, 27,205, 75,191,255, 91,252,214,191,250,
+ 54,239,255,240,251,123,192,185,180,215,196,175,110,245, 60,255,140,181,110, 39,197,218, 88,124,219,211, 41,193, 68, 41, 14,162,
+229, 11,227, 57, 70, 74,182, 93,195, 68,107,214,193,113,223, 59,206,107, 67,172,139,164, 89, 48,159,194,180, 66,212, 19,168,102,
+188,245,141,223,226,213,147, 91,220,185,123,152,140,209, 10,205,118,177, 96,219, 45,209,122, 76,101, 42,180, 20,216,222,226,131,
+165, 42,167, 84,101,133, 86,130,117,111,185,108, 87, 64,160, 87, 37,231,162,228,222, 38,242,254,217, 5, 15,175, 46, 88,244, 29,
+ 31,174,175,114,155,198,254,106, 26,230,103,217,110, 58,251, 99, 12,194, 82,248,157,163,102, 22,152, 18, 34,123, 92,100,253,144,
+127,165, 34,175,104, 77,140,130, 40, 37, 94,107,130, 50,196,162, 32, 42,131,169,107,110,205, 14,121,235,240,152, 87, 38, 35,190,
+122, 56, 69,142, 20,139,160,240,155, 62,117, 60, 7,224,111,255,124,234,201,112,175,119,189,106,153,196,111, 0, 66,103,243, 6,
+ 79, 98, 13, 97,177,222,189,129, 34,207, 9,201,213,156, 41,118,200,221,255,216, 31,215, 51,245,103,180,224,187,103,252,110, 12,
+172,191,255,206,227,200,104,178, 60,108,159, 17,253, 66,210,135,128, 18,146,198,237,169,129, 13,207, 17,114,160, 51, 25,193,108,
+179,222,112,173, 88,116, 45,186, 54,140,138, 10, 98,224,193,197, 85,162,189,225, 62, 63,101,201,229, 85, 88,200, 93,111, 45,228,
+ 27, 24,179,165,223,208,146, 31, 42,244,161,242,206,146,181,248, 61,109,233,125,253,230, 32,119,191, 59, 84,225,158, 29, 94,162,
+207,143,207, 48, 47,222,123,158,235, 36, 74, 62,221,106,255, 85,239,229,218,180, 40,166, 4, 98,185,101, 89,151,124,108,206,184,
+ 53,191, 65,187,134, 66, 43, 30,245, 45,211,106, 66,227,182,172,109, 75,239, 90,206,183,107, 70, 90,103, 11,183,161, 99, 96,159,
+125, 94,253,230, 87,249,131, 55,190,194,229,250,146,159,252,217,159,239, 81,169,100,122,238,206, 67,185,135, 11, 40,196,174,163,
+240,228,230, 89, 54,220, 15, 29, 69,244,212, 82, 97, 2,212, 49,210, 92,231, 93,158,145, 16,140,138,200,184, 80,124,180,241,232,
+218,208, 53, 57,217, 17,185, 67,224,179, 32, 77, 17,118,116, 63,177, 55,139,127,214,136,233, 73, 4,212,254,124, 48, 4, 38, 99,
+131, 17,146, 7,222, 18, 28, 76,235,154, 70, 72, 86, 4,106,105, 80,101, 65,121,235,128,110, 93, 37,112,226,102,149,124, 14,164,
+ 78,235,160,205,143,183,222,130,214,188, 54,159,112, 48,158,227,128,201,104, 12, 69,203,201,244, 34,181,205, 99,183,163, 48,198,
+240,196,117,119,160, 38, 9,135, 51,170,210, 11,108,151, 32,111,242, 71,163, 41, 47, 31,222,192, 16, 48,245,152,255,252,141, 13,
+255,253,213, 50,177, 71,132, 72,201,114,151,169,137,179, 99,104, 22, 73,153, 76, 8, 98,244,196, 32, 8, 69,133,167, 69,248, 2,
+161,122,112, 13, 81, 58,194,106,193,255,248,195, 31,243,199, 95,182,156,110,206, 56, 60,184, 73,208,154, 77,112, 8, 17,136,206,
+177,240,142,166,247, 28, 25,195, 88,150,200, 24,233, 8,220,243, 27,126,242,238,247,184,251,209,156,187,245, 1, 49, 4,150, 93,
+195,125,215,112,105, 20,177,186, 69, 17, 60, 99, 20, 86, 66, 85, 8,172,139,168,210,224,189, 37,170, 4,232,155,234,130, 96, 91,
+238,175,215, 28, 72,201, 74,105, 46,235,146, 19, 33,216,216, 64,239, 60,194, 24, 92,140,152, 16, 57, 40, 12,213,100,196, 29, 51,
+231,166,214,148,194, 80, 0,117, 41, 49, 82, 48, 81,130,155,197,203,252, 54,183,249,195, 91, 75,214,205, 10,239, 35,139,230,146,
+224,123,218,118,203,119,239,159,241,198,180, 4, 34,127,247,203, 11, 52, 63,161,218, 76,177,199, 22,233, 92,166,188, 61,223,140,
+ 37, 60,177,172,196, 19, 95,175, 63,182,109,250,220, 20,240,240,130, 7, 55,142,240,243, 17,191,109, 74,108, 76,182,197, 91, 31,
+104, 66, 96,163, 5,161, 39, 37,100,163, 2,209,247,144,145,245, 71,102,202,203,167,183,208,133,164,109, 91,148, 80,172, 87,107,
+ 58,219, 98,132,161,210, 26, 99, 74, 84, 47,217,148, 27,156,243,116,182,167, 46, 43,140, 48, 72, 25,120,180,241,172,195,150, 35,
+113,147, 27,167,167,220,169, 74, 46,214, 91,254,254,254, 61,126,182,188, 72,227,227, 27,135,105, 45, 62, 20,136,216, 37,252,192,
+147, 45,248,231,181,226,181,126,186,213,237,246,168,220,195, 57,167,117, 2, 76, 11, 11,141,134,106,192, 12,165, 98,238,102, 93,
+ 80,133, 12,141, 39,209,249,188, 16,148, 66, 33, 67, 90,189, 18, 0, 0, 32, 0, 73, 68, 65, 84, 76,133, 82, 5, 5,146,178,170,
+ 56, 86, 5, 86,151,252,142, 80,188, 57,170,249, 15,135, 35, 30, 60,218,164, 89,123,187,218,141, 8,247,164,154,227,115,103,234,
+151,103,132, 91, 47, 82, 24, 67,143, 73,104, 93, 35, 9,189, 75,122,191,171, 85,170, 78,135, 57,106,116,185,117, 25, 62,191,201,
+202, 63, 53, 88,238,211,102,161, 58,255, 78,208, 79,247,158,134,116,103, 82, 82,206, 43, 42, 85, 64,244,196,172, 42,182,123,140,
+204,113, 28, 2,251, 32,206, 63,184,132, 69, 88,111,215, 84,198,176,217, 88,148,134, 69,179,205,129,242,215,189, 96, 46, 43,142,
+ 13, 1, 54, 87, 70,131, 81,192,254,195, 15,115,221, 97, 49, 63,121,173,202, 98, 15, 13, 63,152,222,228,191,177,125, 62,144,217,
+ 89,177,178,159, 48,236, 61,135,149, 59,128,218, 39, 9,165, 60,121,239, 68,230,148,123,145, 64,128, 77,199,163,237, 22,207,199,
+ 76,203, 25,203, 54, 80, 21, 53,109,215,115,222,174, 9,177,231,188,217,114,119, 58,231, 39,239,190,151,109, 11,179, 71,184,205,
+ 9,166,206, 55,122,160,245, 45,155, 20,208,207, 30, 60,254,220,165,220,157,106,206,166,214,112,204,116, 1,235,118,110,106, 82,
+160,240,148, 74,227,109,100,162,253,181, 56,247,180,132, 62, 68, 70, 67,135, 72, 64,141,192, 17, 49, 72, 14,203,200, 85,227, 41,
+ 10, 65,223,199,107,145,149,235,192,222,231, 36,194, 15,236, 4,118,216,137,200,227,192, 69,246,112, 18,143, 25,170,164,100,243,
+162,117, 92, 85, 61,166,168,120,179, 26,177,245,129,121,161,184, 93, 22, 80,107,126,122,214,225,166,227, 20, 56,199, 53, 52,147,
+212,105, 82,185,251,118,152,125,158,111, 30, 2,240,161, 11,156,122,199,188, 30,177,142, 9, 85,254,115, 49,130,187, 55,179, 64,
+ 71,158,151,219, 38,113,112,135, 57,189,206, 20,216, 81,150, 9,181, 29,152, 41,244,158, 18, 69,235, 61,186, 44,185,180, 61,247,
+228, 56, 29,192,219,188,222,218, 85,214, 84,128,232, 54, 8, 89, 37,198, 9,128,169, 9,177,133,190, 69,148, 18,175, 29,201,203,
+203, 19,131, 33, 72,139,235, 44,127,254,131,159, 80, 77,198,124,245,246, 1, 7,163, 41,211,201, 49, 94, 73,180,237,152, 22,134,
+ 64, 75,140, 21, 94,168,164, 18, 38, 53,141,235, 89,232,130,127,247,241, 47,105,253, 59,220, 85,138,169, 72, 9,238,120, 60, 71,
+ 53, 51,162,168, 17, 46, 80, 58,207,184, 44,105,125,164, 12,142, 66, 10,164,139,212, 74, 96,163,134,178, 64,245, 13,139,222,114,
+ 82, 4,218,135, 87, 60, 82, 42,205,134, 77,133,236,122,122,165, 57,174, 12,115,231, 57, 42, 74,102,133,100, 60,170,208, 94, 16,
+ 60,232, 40, 24,213, 6, 23, 3, 39, 58,210,183,150, 23,102, 71,248,241,148,109,223,162, 14,142,216,174, 86,152, 99,205,159,190,
+ 96, 9,182,131, 16,249,227,155, 11,198,122,204, 95,254, 73,228, 7,139, 43,238,125,188, 66,108,214,233,108,216,174,247,230,241,
+ 79,207,101, 3,207,159,213, 62,133,239,161,135, 51,203,217,162,228, 63,224,120,125, 62,101, 90, 86, 52, 4, 62, 34,226,115,130,
+ 47,149, 36, 56,203,100, 50, 99,235, 35, 7,186,228,141,201, 41,135, 71,167,104, 96,185,106,104,150,139,196, 32,235,122, 92,238,
+222,105, 81, 32, 10,197,184,168,177, 46,205,227, 93, 8, 24, 85, 50, 42, 39,156,140,239, 48, 26,157, 82,141,231, 28,206, 11,188,
+240, 28, 90, 5,116,185,109, 77,106,251, 31, 29,164,222,253,213, 26,161,214,169, 3,173,158, 0,166,150, 69, 6,196, 13, 2, 90,
+123, 1,127,112, 68, 30, 18,237, 46, 51,120,186, 39,227, 79, 46,150,108,159,215,114, 65,215, 58,238,107, 79, 21,224, 5, 41,177,
+ 58,160,133,196, 75,197, 10, 65, 39, 13,133, 41,241, 66, 82, 32, 40, 39, 19,188,210,160, 75,250,224,185,121,224,121, 16, 11, 68,
+223,130, 60, 76,230, 98, 0, 23, 23,169, 8,242, 22, 97,219,103,204,212,173,131,209, 4, 68,106,213, 17, 21,170, 40, 18,191,174,
+207,173,151,245, 58,101,245, 42, 62,157,195,133,248,207, 75, 99,251,181,231,240,123,222,225,215, 1, 43,238, 60,164,111, 30,242,
+214,171, 55,185,115,112,192, 23, 79, 79, 56, 28,141,185,236, 27,182,157, 77,128,143,109,159, 5, 11,212,227, 8, 20,124,214, 36,
+214,215,109,254,109,116,108, 93,199,102,211, 18,109, 6,140,100, 32,196,231, 31, 57,228, 3,221,100,196,110,200, 96,110, 53,112,
+ 30,213,238,103, 3, 53,237,121, 20, 8,145,233,105,206, 63,238,154,229,195, 78,100,199,231,121,167,217,227, 92,135, 12,126,203,
+163,154,235,118,250, 32,123,250,228,122, 24,168,135,207, 90, 39, 3, 22,194,199, 68,225,216,108,177,214,177,180,158,179,237,150,
+243,109,195,131,245,146,181,107,121,240,209, 25,139,179, 75,250,224, 57,251,229,199,169, 37,232, 92,162,202,181,155,235, 0,124,
+109,247, 58, 0,250,154, 13,103,103,107,184,119,111,119, 45,116, 86,212, 27,212,239,204, 96,137, 40, 82,203, 46, 88, 16,146,209,
+ 48,197,136, 73, 30, 82, 33,169,164, 36, 34,152, 86,130,109,155, 80,240,133, 16, 76,132,160, 18,146, 82, 72, 60,176, 33, 85, 99,
+ 83, 69,146,161, 53,130,198,250, 93, 22, 25,124,222, 83,236, 84,255,180,120,220,229,110, 96, 16, 12,159, 3,102,226, 73,183, 52,
+ 37,161,168,137,227, 26,111, 12, 95, 51,154,219,147,146, 73, 97,152, 20, 37,117,140, 92,161, 40,203,154,149, 22, 68,163, 96, 92,
+241,173,249,156,201,168,230,168,212, 76,235,154,182, 52,248, 34,105,183, 63, 16, 2,107,198,212,178,100,105, 3, 15,125,228, 47,
+122,155, 70, 21,211, 58,181, 84,235, 42, 29,158, 78, 36, 60,133,218, 51,126, 10, 38,143, 97,178,147, 95,173,249,176,174, 56, 84,
+ 21,107,161,121,216, 88,254,175,197, 34, 21, 13,171, 77,154, 25,146, 57,189, 33, 37,146, 66,237,113,136, 67, 50,129, 17, 82,165,
+100, 80,120,162,211,217,249, 44, 16,188, 38,120,135, 15, 2,219,247,124,240,104,193, 47, 30, 46,248,201,251, 31,227,101,203,173,
+170, 96,109, 91, 42, 1, 54,122,148, 84, 68, 4, 93,102,106, 60,180, 45, 63,109, 59,250, 40,121, 20, 5, 11, 41,240, 81, 34, 70,
+ 35,182, 14, 54, 50, 73, 63,203, 82,179,234,193,107, 65,139,196,118, 62, 77, 25,250,192,185, 75,244,182, 90,105,214,174,165,107,
+ 90,138,174,165,245,142,105,215, 34,156,101, 29, 60, 68,207, 77, 34, 50, 6, 70,193,115,208, 5,198,198, 96,140, 65, 8,137, 48,
+201, 22,212, 55, 29,218, 5, 74,173, 40,163,199, 40,201, 44, 66,129,224, 96, 52,166,234,123,102, 74,115,247,228, 46,135,229,132,
+187, 7, 55,153,160,121,101, 60, 99, 90, 21,220, 60, 40, 57, 62,158,115,223,133,228,103, 97,178,194,227, 51,206,132,103,241,220,
+159,213, 36, 18,251, 0,178,174,227,131,203, 53, 75, 21,249,229,178,225,103,109,203,125,235,120,100, 61,181, 73,254,244, 65, 42,
+ 74, 97,232,189,163, 42, 10, 14,202,212, 1,170,234,130,224, 60,190,183, 28, 11,149,196,124,164, 78,115,242,124, 22,117,237,150,
+214,181, 52, 93,139,144,129, 82, 75,148,212,124,233,139, 95,225,173, 47,222,226,133, 91, 83,156, 11,184,182,101,187, 89,241,211,
+243,143, 88,186,212,114, 23,190,231, 15,142,143,249,234,201,156,175,221, 60,226,167, 93,158,135,111, 87,215,227,190, 84, 88,100,
+155,102, 23,174, 19,202,199,180, 33,158, 44,134,194,243,207,102, 49,140,214,250,164, 40,121,207, 59, 94, 19,138,211, 66, 97,133,
+162,146,145,165, 52,108, 77,197,123,202, 96,131,167, 82, 5,163,202,224,156, 69, 41,201,170,107,153,148,117, 82,254, 35,208, 76,
+103, 80, 23,188,122,122,147,171, 73,205, 23,111,223, 69, 31,205,217, 72, 13,162, 64, 68,123,125, 63, 51, 79, 93, 39,222,172, 46,
+144,179, 41,135,147,138,173,239, 40,141,225,133,195, 9,203, 77,147, 14, 79,223,165,202, 98, 0, 81,197, 12, 78,250,255, 67,235,
+253,179,130,235, 30, 75, 71,247,200, 33, 90,162,110, 28,242,133,211, 27, 28,141,166, 8,169, 41,141,161,150,134,251,143, 22,176,
+220, 38, 47, 95,155, 91,167, 3, 69,141, 62, 27,151,144,218,153,209,239,108, 77, 93, 6,165, 53,109,250,217, 16,124,126,237,113,
+131,218,155,205,202,157,189,168, 12,187,121, 59,159,208, 10, 31,244,248,133,222, 33, 83, 7,217,215,161,125,175,242,123,244, 46,
+ 3,231,220,238, 58, 10,118, 62,196, 3, 40,234, 73,127,119,153,219,250,195,235, 24,126,102,178,203, 92,161,211, 92, 74, 85,153,
+ 62, 37, 19, 86,227, 60, 39,145, 23, 87,208,116,116, 31,159,165, 86,236,106, 3,171,203,140,109,112, 41, 0,119, 93, 58,244,227,
+ 32,115,251, 68,192,235,250,116,223,246,175,133, 12, 9, 23, 50,188, 23,155,109, 78,251, 28, 60,124,234, 66, 89, 37,137, 54, 50,
+ 83, 17,163, 12, 70,169,132,237, 83,201, 9,111,170, 19, 8,178,212, 18,239, 2, 90, 68,180, 80,196,224, 57, 18,130, 86, 66, 25,
+ 21,133,132, 71,157,163,148, 18, 59,236, 33,177,135,141,136, 89,194,214,103, 45,247,225, 62, 12,238,130, 33,238, 2,250,112,178,
+ 74,145,240, 12,195,232, 99, 50,130,113,205,183,234,146,131,210, 80,233, 34,255,151, 32, 10,201,105, 85,112, 97, 3,189,209, 40,
+ 93,242, 95,158, 28,163, 11,195, 87,167, 51, 94,153,159,242,226,168,230,214,104,204, 5,130, 38,235,226,159,201,146,159, 8, 73,
+135,226,163, 24,248,102,125,192,116, 52,162, 46,167, 44, 76,153, 42,241,186, 78, 96,199,241, 8, 14,143,146, 2,227,124, 14, 47,
+156,192,205, 99, 56,152,229, 89,125, 2, 12,189,173, 75,254,161,115,188, 61,236,163,205, 50,119, 70,178,102,252,208,114, 50, 69,
+178,162,214, 10, 38, 19, 68,111,179, 70, 70,204, 1, 29,136,150,232, 83,130, 27,133, 32, 72, 75,240, 17, 79,139,119, 61,190, 89,
+225, 55, 13,143,174,122,230, 99,141, 11,142,149,247,105,164, 80,214,184, 24,233, 99,196, 70,199,207,187, 45,247,109,196,134, 72,
+ 48,154, 82, 87, 84, 85,137,143, 10, 39,116,214,132,143,108,162, 72,213,121,161,105,123,143,147, 2,219, 71, 2, 30, 25, 2, 50,
+ 6,150,192, 44, 8,108,179, 37, 10,137,246, 29,173,237,120,232,122,198,170,224,170,107,208, 8, 78,138,146,109,211,112, 56, 30,
+ 99,172,199,117,150,222,246,108,150, 13,205,106,139, 80, 18, 25, 60, 90,165,253,166,173, 69, 70, 40,164, 64,216,158,170, 44,153,
+140, 38,200, 16, 41,116,137, 86, 9, 7, 84, 10,197,152,200,188,168,168, 75,195,237,113,197,237,155, 71,232,131, 25,231, 49,161,
+182, 99, 84,136, 66, 94, 87,161,226, 57, 85,186,248,196, 66,195,179,184, 92,113,177,217,178,186,108,217,110,123,204,124, 76,107,
+251,196,185, 23,176,117,142, 73, 61, 38,184, 4,110,156,152, 9,133,146,188, 60, 46,184, 83, 24,122, 23,121,233,240,128,224, 60,
+ 23,222, 99,148,192,123,143, 11, 61,235,229, 58,123, 68, 8,170,170,100, 92, 76,185,123,247, 5, 78,143,198,180,157,231,195, 15,
+ 47,120,255,253,123,188,255,224, 30,255,112,249,113, 94, 75,129,175,207, 15,249,198,108,202,171,227, 99, 94,153,158,240,218,164,
+230,123,203, 62,117,142,252, 54,123, 64, 20, 41,150,177,199,126, 25,198,146,195,121,166, 63,155,197,184, 8, 33,159, 71, 1,235,
+ 3, 45, 34, 41,123, 35,248, 32, 70, 26,163, 88,203,130, 51, 93, 49, 47,106, 74, 4,194, 7,148,210,120, 31,168,180, 97,217,183,
+ 32,193, 41,205,157,162,224,119,142,143, 57,156,204,249, 55, 71, 55,184,115,114,131,215,166, 51, 78,111,221,228,157,135, 15, 96,
+ 60, 69,116,201, 5, 81,113,252,133,239, 48,174,160, 24,163,238,220,224,180,154,242,141,187, 47,115, 88, 87,220, 28,143, 9, 34,
+208,201, 64, 95, 23, 41,131,185, 56,223,129,121, 2,255,178, 42,244,231, 5,245,129,214,165, 36, 20,134,151, 94,187,197, 23, 78,
+ 94, 68,171,132,188,157,212, 83,100,132, 43,183,101,251,224, 44,169,198, 57,118,252,112, 57,248,118,103,145, 27,225,179,169, 73,
+ 22,218,240, 54, 85,146, 49,236,132,250,127,173, 96,206, 14,196, 37,247, 42,235,152, 27,104, 49,235, 22,199,248,233, 28,240,100,
+142, 20,131, 82, 30,113,231,164, 55, 84,249,170, 72,149,186,235, 51, 80,196,239,124,210, 7,245,180,103,129,188,134,128,222,239,
+129,215,170, 34,211,229,246, 90, 96,186,206, 45,248,172,143, 44,115, 23,164,219,164,107,230,187, 4,136,178,118, 7, 26,177,109,
+ 6,251,181,105, 3, 41,185, 75, 52,158,236, 68, 8,241,244,181, 24, 50,114,138,236,247,154, 77,138, 6,160, 92,182,127, 36, 68,
+ 70, 70,210, 91,152,142, 36,129,192,204, 72,148, 74,192,163, 40, 4, 42, 70,148,143,140,149,202,183, 39, 82, 74,201, 50, 4, 70,
+ 8,150,206,225,124,224,164,212, 44, 93,192,134, 44, 19,123, 45,216,148, 49, 28,110, 24,223,200,148,104,239, 3,207, 76,110,209,
+203,189,170,125,160,222,201,108,170,164, 10, 78,166, 5,191, 49, 29, 37,203, 16, 9, 82,168, 36,217, 47, 53, 49, 70,206,163,228,
+202, 59,254, 85, 61, 97, 90,143, 57, 40, 19, 40, 73,232,164,175,239,164,100, 29, 4,107, 83,226,101,210,208,126,179, 26,241, 82,
+ 89,243, 70, 57,226,112, 82,112,219, 24,238, 78,102,220,119,158, 70,155, 20,124, 77,145,130,187, 34, 7,246, 57,212,211,164,164,
+ 86,142, 18,168,180, 30, 37, 64, 92, 81,165,170,222,231, 49,134,206,236,131,211, 35, 56,152,195,237, 91,240,210,203, 48, 31, 39,
+ 5,179, 81,137, 32,173, 53,209,219,244,183,109,159,174, 65, 93, 19,157, 79,183, 74, 65, 36, 16,100, 32,108,219,107, 58,151, 15,
+ 61,206, 74,222,221, 56,222,238, 44, 63, 95,116,160, 60,115, 9, 94, 68,214,221,134, 95,118, 45,127,189,233,112, 62,226,180,162,
+ 48, 5, 85,161, 83, 34,107, 84,178,142,168, 52,222, 90,130, 8, 20,186, 96,221,121,138, 66,225,251, 64,235, 2,227, 90, 33, 67,
+228,188,235, 41,219, 22,215,111, 89,119, 29,135, 66, 18,251, 13,155,108,151,252,151,151, 11,180, 52, 88,223,177,218,180,148,165,
+161, 82,154,198, 59,206,182, 91,214,235, 37,163,224, 88, 54, 43, 46, 23, 75,198, 69, 1,206, 82, 6,144, 74,161, 70,163,100, 56,
+ 37, 64, 27,131, 12, 1, 51, 30, 35, 11, 67,236, 44, 82, 72,124,215, 19,162, 67, 16,168, 99,228, 70, 85, 51,175, 43,230, 82,242,
+165, 27,135,204, 71, 37,167, 39, 51, 62,242, 50,221, 39, 15, 20, 50, 25,233,236, 7,114, 83, 93, 43,159,137, 33, 41, 55, 89, 46,
+251, 73,108,144,207, 50,196,182,199,159,111, 32,251, 35, 56, 27,136, 82, 19,157, 99,166, 21,117, 81, 35,108,195,235,199, 7,220,
+172, 13,194,104,238,206, 70, 68, 41, 16,163, 49, 87,162,166, 52, 83, 80,138,182,185,226,170, 89,114,177,217, 18,133,199,132,228,
+150,119,114,227,132,211,195,154, 66, 71,222,189,247, 49,255,221,223,253, 61,247,126,244, 54, 60,122,148,206,177,202,240,159,221,
+188,201,216,140, 57, 24, 79,169, 71,147,164,237, 63, 86,188,127,209,164,115,121, 48,123, 26, 58,183, 66,166, 49,156,214,187,121,
+249,224,255,190,223,225,251, 85,182,199, 60, 97,174, 19,225,172,135,191,223,182,172,140,230,255,232, 61, 27, 17,248,113,151,220,
+222, 14,138, 2, 45, 37,198, 40, 20,146,222,247, 52,206, 18,131,165, 17,145, 62,104,222, 56, 56,228,203, 7, 71,188, 57, 59,225,
+100, 50,225, 11,211, 25,186,158,224,123,199,139,119, 95,194, 23,176,157,207,241,219, 30,197,173,175,127,167,120,253, 53,126,251,
+173,183,184,125,116,135, 47,156,188, 64,223, 59, 94, 56,189, 65, 64, 81, 98,120,245,228,148,113,169,120, 24,186, 68, 73,217, 54,
+255,241,228, 96,127, 29, 16,221,116,156, 14,154,224, 30,159,167, 40, 9,163, 89, 82,207, 67,177, 80,130,163, 81,205,141,195, 91,
+ 40,101,232,251,150, 85,211,176,108, 59,150, 87,219,212,150, 85, 50, 85,121, 74,102, 26,160, 73, 65,170,168,118,104, 93,153,179,
+187,144,171, 48,235, 19, 55, 58,248,207,247,250,149,206, 7,162,201,128, 46,191, 11,164, 82,114,109, 24, 48,160, 56, 62,109, 7,
+101, 8,132,215, 78, 65, 50, 7, 16,151,186, 1, 34, 39, 38, 67, 75, 91,102,231, 62, 33,115, 64,205, 63,123, 86, 2,161,116,174,
+162,195,238,112, 24,218,243, 67,139,182,172, 82, 21,237, 99,146, 53,141, 3,207,222,237, 56,243, 3, 72,103,176,253, 29,222,219,
+190,225,201,190,205,235,245, 33, 19,158, 47, 97, 44,179,175,177,200,221,148,114,143, 22, 41,228,206,233, 45, 66,105, 20, 69, 5,
+ 93, 23, 81, 82, 33,133,160,146,208, 33,216,246, 9,253,174, 68,162, 25, 85, 34,153,236,180, 49, 80, 10,201,202, 5,106,145,230,
+139, 23,214, 17,163,160,243,123,140,132,152,105,145,131, 85,163,202, 38, 61, 46,236,128,144,131,221,192,181,244,236, 94,151,201,
+101, 33,160,152, 16,231, 91, 83,241,133, 81, 65, 97, 12, 18,129, 86, 26, 45, 21, 13,129, 82,105, 30,118, 29, 7, 90,243,202,100,
+130, 64, 49, 46, 42,150, 33, 82, 86, 37,202, 20, 56,153,146,138,119, 35, 68, 93, 66, 89,242,133,162,226,165, 81,197,100, 50, 98,
+102, 10,122, 37, 17, 40, 42, 93,242,158,203,199,152, 41,178,225,209, 24, 85, 77, 41,170, 9,245,193, 45, 94, 46,199, 92, 84, 99,
+ 40,199, 9, 40, 37,242,186, 48,227, 36,105,171, 10,168,102,233,251,131, 23,224,240, 5, 24, 31, 65, 49,129,249,141, 68,241, 57,
+190, 1,163, 26, 49,171,225,248, 48, 89,179,222, 60,129,131, 3,152, 77, 18,204,231,197, 91,137, 20,114,122, 66,220,110,137,243,
+ 83,130, 13,196, 62, 5,247,224, 37, 65,234,252,189,103,217, 71,182,177,195,227,104,125,224,123,203,134,181,237,241, 2,188, 20,
+ 72,105, 48, 90, 51, 46, 74,180,144,140, 43,133, 8,129,210,104,202, 66,177,218,108, 40,100, 74,152,124, 38,216, 92,173, 59, 2,
+142,166,105,241, 93,195, 68, 8,164,181,172,187, 13, 74,105,238, 89,203,125,107,217, 70,197,205,131,116, 48,247,117,205,187,235,
+158, 63, 59, 95,208, 24,193,195,102,203,155,243, 49, 87,237, 6,169, 37, 63, 95,109,184, 88, 47,144,222,163,187, 6, 89, 24,108,
+187, 69, 42,133, 44, 74,162,115,148,213, 24,161, 13,161,233,145, 38, 17,219,250,174,161,247, 61, 93,223, 80, 41,131, 65, 50,142,
+130,163,106, 68, 41, 37,243,170,102,164, 21,175, 31, 79,169,199, 5,151, 85,141,215, 21,200, 42, 85,239, 93,198, 56,248, 44,165,
+170,117,186, 71, 36,208,173,144,123,238,156, 3,216,246, 9, 74, 28,219, 22,150, 75,196,163, 21, 8,193,111,191,242, 26,175, 31,
+159, 82, 11,152,106,193,173,217,140,211, 73,205,205,233,136, 94, 73, 84,169,233,181, 66,141,107, 86, 62,237,233,174,239, 88, 55,
+107, 54,109, 75,244,158,217,104,194,168, 26,113,124,116,202,104,100,184, 92, 55,108, 87, 27,254,230, 7, 63, 66, 60,120, 23, 54,
+107, 68,212,112, 60,231, 95, 31,157,114,115, 58,197, 34,105, 16, 84,245,136,251,206,243,174,137, 9,201,239,251,199, 99,129,179,
+ 59,134,207,126,251,125,120,255, 70,239, 24, 71,159, 96, 57, 46,246,207, 64,161,192, 40, 30,181, 14,154,158, 51, 7, 75, 23,104,
+117, 96,170, 75,166, 82, 98,144,201,249, 45,128,247, 73, 74,183, 21,130,186, 48,188, 94, 79,208, 74, 81,141,199, 76,234,138,178,
+ 48, 76,198, 21, 91, 97,240,245, 4,239, 37,119,230, 7,232, 89,141,226,139,255,250, 59, 95,188,251, 34, 47, 31,189,128, 41,106,
+166,147,138,211, 27,183,210, 65,160, 74, 78,143,143, 9,189,101, 82, 22,188,113,114, 19, 89, 22,156, 15, 85, 89,215,253,203, 9,
+234,197, 46,227, 39,232,164, 99, 61,124,212, 73,171, 29,163,210,108,112,219, 80, 77, 43,110, 31,223, 68, 75,205,178,109, 88,181,
+ 45, 23,155, 13, 27, 23, 19, 79, 93,202,116,240, 22,249, 48,214, 58, 37, 5,131, 83, 79,204,183,212,250,236,207,219,165, 25, 75,
+223,124,190,215,111,116, 10,118,131,115,208,224,165,190,111,217, 39, 7,112, 88,120,218,138,243,147, 40, 43, 3,189, 75,136,132,
+172, 31,146, 29,231,118,146,167,125,150,160, 29,156,246,244, 30,207,251, 89, 45,254, 65,138,118,160, 77,117,109,202,238, 7,219,
+ 94,159,223,147,235, 82,181,172,179,231, 59, 89, 31, 89,100,209,155,144,129,153, 90,237,172,128,159, 21,160,165,120, 60,160, 15,
+137,195, 53, 46, 32, 60,141, 40, 31,232,127,168, 52,203,142,153,194, 55,140,100, 50,136, 74,201,200,177, 74,122,219,189, 23,140,
+181,196, 75,208, 8,188,134, 34, 36, 97,156, 81,136,108, 0, 35, 69, 22, 49, 12,212, 82,112,238, 28,189,143, 40, 37, 65, 4,156,
+144,248,193,181,238,122,110,158,120,173, 41,232,229,228, 74,239,129, 31, 7,223,250,161, 13, 47,242, 97, 51,140, 49, 68,154,168,
+ 81, 26,142,198,134,137, 22, 4,161, 81, 49,160,149,160,140,146, 69,240,124, 28, 34,183,116, 65,109, 20,149, 80, 56,146,252,104,
+140, 73,116,197,122,152,143, 70,108,187,158, 11, 83,242, 39,245,136, 27, 85,193,164,210,172,123,201,214, 58,166,245,152,117,231,
+169, 10,205, 54,194, 66,170,228,163,173, 52,255,230,224,152,215,170,146,111, 30, 28,240,166, 81,188, 80, 87,124,105, 52,199,171,
+130,243, 8, 20, 35, 48,163, 68,133, 53, 89,196, 67,104,168,231,188,121,122,147,163,106,204,241,244,152,249,193, 49,186,154,178,
+173,166, 41,176, 76, 15,161, 62, 64, 40, 5, 55,110,165, 81,195,104, 12,167,119,136,211, 10, 78,239,192,241, 65, 18,105,185,243,
+ 42,193, 89,226,184, 78,129, 60, 42, 66,232,137, 69, 73,208,154, 16, 36,182,119, 60, 90,116,188,211, 90,126,126,177, 98, 11, 4,
+231, 9, 74, 16,140, 33,104,195, 72, 43, 42,169, 56, 25,149, 28, 9,137, 38, 48, 17, 18,235, 60,181, 86,184,222,179, 70,208, 90,
+203,213,118,131, 13,145,179,117,131,116, 45,139,190,229,253,205, 21,219,118,205,165, 11, 60,176,150,183,215, 27,154,168,249,210,
+141, 99,238, 93,109,153,215, 21,203, 69,139,168, 38,220,170, 43, 30,246, 17, 99,106,230, 37, 28, 77, 39, 60,104,123,126,210, 57,
+ 54,120, 86,214,178, 45, 12, 86, 21, 68,173, 89,109, 27,150, 2, 58,103,209, 74, 35, 59,143,154,142, 8,157,163,109, 55, 4, 17,
+ 89,119, 43,130, 76,107, 78,132,128, 82,138,224, 29,138, 72,161, 12, 81, 73, 70, 82,115, 50, 26,241, 27,243, 9,119,199, 21,191,
+125, 50,230, 7, 61, 41,217,234, 35, 4, 71,172, 70,185,179,146, 71, 88,213, 52, 37,250,133,222, 25, 67, 61,167, 45,143, 77,221,
+ 2,198, 51,254,248,183,190, 65, 93, 40,230,227, 17,139,245,150, 55,142,142, 41,140,102,153, 3,171, 55,154, 86, 10, 30, 88,205,
+ 58, 10, 54,125,160,117, 93,202,113,125,143, 23,142,113, 89,115, 58,191,193,203,175,190,200,201, 97, 77, 45, 37,239,190,251, 1,
+223,255,127,255, 38, 89, 94, 15, 32, 95, 23, 24, 29,140,121,161, 24, 19,202, 17, 93,132,183,155, 13, 63,107, 60,231,146,164,175,
+210,248,199, 99,129,220, 59,251,134,226, 97,168,202, 93, 62,131,162,218,157, 97,241, 87,119,171,133, 78,166, 66,148,114,135,153,
+ 81, 58,119,153, 34, 91, 45, 57,235,183, 28,102, 7, 58, 31, 44,141,107,233,189,103, 19,123, 30,181,158,111, 30, 30,225,163,224,
+104, 50,167, 11, 1, 93, 26, 58,161, 18,188,100, 92,211,134,136, 42, 39, 24, 89,114, 88, 77, 81,188,249,251,223,249,189,215,191,
+204,209,209, 9,179,217,132,233,108, 66,111, 29,227,113,205,100, 58,162,107,122, 14,142,142, 24, 79, 38,152, 40,185, 49,157, 50,
+ 25, 21,124,100, 52,209,171,164,237,203,191,128, 22,124, 33, 19, 66, 93, 10,184, 90, 39,137,215,161,202,157,206,211,194,204, 51,
+ 63,124,228,226,189,251, 92,200,200,197,122,137, 66,114,182, 89,208, 57,199,230,193,249,206,241,202,103, 91,197, 34, 43,110, 21,
+106, 39,116, 51,208,192, 66, 62,120, 67,191, 19, 98,249, 92, 84,189, 12,112, 25, 68, 13,134, 92,112,255,241,100,230,134,235, 79,
+ 65, 67,213,185,253, 60,120,113, 15, 45, 92, 37,211,124, 91,102, 14,186,205, 74,103,215,214,187,195, 28, 93,236,253, 94,120, 54,
+ 48,110, 8,172,131,150,252, 16,144, 7,249, 88,149,147, 15,153, 65, 42,195, 11, 27,213,233,223,213, 36,139,227,100, 85, 55,181,
+247,250,158,156,113, 13,216,128,253,160, 62, 84,218, 62,211,173, 76,158,227, 15,191, 51,184,221,105,177,167, 83,111,216,167, 68,
+140, 84, 74,114, 52,130, 88,106, 54,109,224,184, 20,180, 34, 82, 72,197,170,207,147, 22, 37, 48, 49, 82, 75,133,138,176,138,201,
+ 86, 17, 34,193,129, 22, 73,203,122, 25, 61, 5,130,101,235,119,246,198, 98,111,138, 41,213, 94, 96, 79, 38, 51,215, 72,222,107,
+250, 98,254,155,225,186,135,176,115, 99,243, 30,164,230, 3, 47,249,210,216, 48, 50, 5,165, 84,120, 17, 81, 18,190,223, 88,254,
+177,177,212, 33,112,168, 53, 70, 21, 8, 20, 74, 9, 36, 18,165, 20,198,104,222, 89,182,220, 11,112, 74,224,229,170,224,120, 92,
+225, 81, 20,218,112,102, 29, 42, 66, 85, 22,172, 28,104, 93,242,190, 77, 35,159, 47,215, 99, 94, 80,154, 23,103, 51,164,210, 24,
+ 35,153,214, 53, 72,197,121,103,121, 80,142,211,107, 53, 38, 85,226,101, 1, 66,113, 52,155,242, 71,163,154,175, 29,141,249,210,
+141, 41,119, 70, 37, 47, 21, 48, 42, 43,222, 9,192,120,150, 70, 46,186,128,178, 66, 84, 19,168,103, 48, 57, 1, 41,121,235,198,
+ 75,172, 17,152,241, 33, 95,120,225, 37, 30, 58, 7, 71, 71,196, 66, 18, 15,230, 68,165,136, 62, 18, 75,157,116,185,133, 36, 10,
+ 79,104, 91,226,122, 73,116,145, 96,123, 66,136, 4,109, 8, 74,224, 68,100,164, 53,115, 41,185,173, 21, 19, 83,114,144,249,241,
+ 83,169, 8,222,226,130, 37, 90, 79,211,247, 68, 68,234,230,245, 45, 15, 58,199,229,118,197, 89,211,208, 70,193,134,142,191,189,
+ 90, 98,189,167, 87,146,208, 91, 94,158, 79, 88, 49,101,227, 29, 71,117, 65,148,138,141,247, 84,101,193,119,207, 22,252,163,215,
+188,189, 13,244, 40,222,241,130, 86,106,182,227,130,179,224,184, 52, 5,110, 90,113,229, 97, 89, 22,116, 93, 11,227,146,208,246,
+116,161,167,151,146, 15, 86,231,132,232,104,162,163, 68, 16,242,248, 69,106,131, 15, 1, 23, 61, 49, 4, 70,198,240,178, 54,188,
+ 88,140,120,101, 58, 99, 41, 5,183,106,195,219, 54,173,179,104,202,108,190,228,136, 62, 32,234, 41,136, 36, 45,139,172,242, 30,
+206, 22,198,207,233,224,138, 32,249,218,183,191,206,235,183, 95, 65, 2,117, 53,226,195,135,247, 64,150, 72, 33, 57, 29,215, 44,
+156, 99,237, 60, 31,108, 61,223,181,145,247,122,203, 86, 68,150,214,129, 48,232,140,111,154,234,146, 27,199,167,220,120,225,152,
+182,179,172,215, 29,255,203, 95,253,123, 46,222,126,251,241,100,194,247,188, 43, 12, 7, 19, 69, 39, 74, 46,189,231,111, 87, 29,
+255, 24,243,121, 98,178, 80,215,229,122,167,136, 58, 36,243,214,238,102,233,195,207,135,194, 33, 10, 30, 67,174,126,146, 95, 67,
+ 85,236,180, 2,148, 74, 8,118,145, 71,136,203, 53,157,150,172,156,165, 16,150,232, 45, 11,219,240,209,182,101,105, 29, 47,141,
+ 12,135,101, 69, 89,142,152,215, 37,173, 20, 68,161,233, 99,224, 96, 84, 16, 98,164,151,130,135,157, 35, 20, 53, 50, 42,212, 27,
+191,251,167,223,121,237,133, 23,185, 88, 52,156, 28, 30, 98,125, 96, 54,175, 48,133, 70,169,196,179, 11, 62, 50,158, 84, 24, 85,
+ 18,188,160,144,134,155,227,154,135,210,167,142,107,111, 63,149, 58,218,103,245, 6,254, 92,195,102,253,156, 57, 71,204, 60,242,
+190,217,153,207,107,157,170,161,186, 78,224, 54,193,206,255,122,189,102,117,209,210,207, 71, 60, 88, 44,176,209,243,232,193,121,
+146,118,149, 49, 29,178, 82,236,132, 96,194,192, 63,222, 67,147,135,144,126, 63,180, 73, 3,217,121,144,159, 19, 3,144, 91,186,
+215,126,221,136, 12,198, 11, 79, 35, 50, 63, 77,142, 37,247,105,103,123,224, 16,173,210,130,179, 62,221,211,129,234, 49, 8,149,
+ 96, 51,152, 45,111,224,231, 25,167, 12,254,229, 58,207,220,219, 46,253,219,229,205, 20,179,233,204, 53,154, 95,239,161,231, 67,
+ 58,188,135, 77, 51, 24, 7,145,239,161, 28,228,136,229,227,111,118,216,116, 79,221,251,184,179, 18,134,116,191, 10,181, 11,252,
+ 65,103, 25, 46,177, 19,229,201,215,199, 86,134, 50, 70, 28,130, 82, 70, 14, 20,120,165,153, 32,121,100, 5, 66, 36,211, 23, 31,
+ 4,165, 2, 31, 99,202, 93,128, 62, 70, 52,130,101, 72, 45,114,161, 5,155, 16, 88,109,193, 23,114,135, 91, 24,238,229,254,235,
+189,238, 20, 12, 82,192,236, 76, 39,246,157,157,134,185,158,247, 57,137,137,169,163, 82,149, 8, 19,121, 96,123,124,176,124,216,
+ 58,174,154,134,239,247, 14,108, 71, 47, 52, 47, 21, 10,225, 61, 83, 93, 82, 41, 5, 8, 98, 8,116,206,241,160,143,252,204, 89,
+ 94, 50,134, 49, 18, 29,160, 67, 98, 16, 28,205, 42,130, 23,233,182, 73,193,251,155, 45,103, 25, 7,240, 71,243, 49,163,178, 98,
+ 99, 29,133,210, 20, 85, 69,219, 71,124,244,152,122,132,136,145,139,152,109,144, 99,128,170, 6,173,248,173, 73,197, 43,227,130,
+162, 50, 92, 89,201,172,214,180, 81, 48, 53,146,195,162,224,189, 62,166,185,188,150, 96,234, 44, 89, 91,242,237,201,132, 63,190,
+117,130,139,146,111, 30, 30,112,211, 20, 40,109,184,115,112,202, 47,157, 39,206, 78,211, 65, 90,150,112, 56,205, 9, 88,145, 80,
+224, 85, 10,114,209, 67,108,151,217, 57, 14,226,166, 35, 78,107,208, 26,129,224,229, 82,112, 36, 36,135, 33, 82,196,192, 17,130,
+121,132,146,136,244,150, 14,203,184,144,244, 77, 79,239, 59,162,132,202,109,209, 74,225,109,199, 13,233, 41,188,199,246,150,211,
+ 74, 80,198,142,159,246,146,219, 35,205,182,179,140,234, 57,103,125, 79,223,119,188, 48,159,243,209,118,203,172, 26,113,217,181,
+204,171,138,217,116, 78, 81, 22, 56, 96, 77,193,249,232, 0,135,228, 92, 22, 52,101,201,251, 27, 75, 51,169,185,208,138,243,174,
+229, 35,165,248,165,119,124, 40, 2, 15,164, 38,120, 79,167, 52,147,232,177, 82,208, 59,135, 21,130,222, 59,130, 86,156, 72,131,
+145,134, 90,105,130,212,156,154,130, 94,107, 46, 10,195,133, 0,186, 44, 79, 43, 69,234,156,217,237, 53, 13, 86,168,228,194,118,
+141,173,121, 18, 85,175,117,114,166, 83,240,240,157,247,121,237,141, 87, 9, 4, 54,171, 75,254,183, 31,255,128,159, 63, 58,231,
+141,249, 33,247, 55, 91,108,148,252, 98,225,248, 65,227,248, 97,103, 89, 72,201,153,179,156, 11, 40,202,146,136, 66, 72, 73,173,
+ 75,142,166, 7, 28, 29, 79,136, 17,238,191,255,136, 63,255,179,127,151,198,194,123,144, 26, 97, 29,244, 29, 63,235, 28,127,223,
+181,252, 48, 68, 46, 84,145, 94, 63, 49,159,105, 89,149,115,219,165,138,122,168,204,149,126, 92,245,242,218, 44, 76,164,243, 63,
+202, 79,198, 44, 93,203, 78,231, 98, 76,155,212,221, 22, 58, 43,210,229,162,230,252,156,245,170,229, 61, 31,233,218,134,101, 12,
+244,222,113,175,107,208, 1, 94,170, 39, 28, 84, 37,231, 65,114,179, 42, 89, 57,203, 65, 85, 98,165,100,209,121, 62, 92, 59,182,
+ 65,210,224,153,212, 21,106,250,149, 63,252,206,171,183,110, 51,155, 28,226, 36, 8, 41,168, 42, 67,232, 2,101,165, 81,198, 96,
+ 10,133,144, 2, 23, 2, 2, 73,215, 37,203,152,182,107,184,218,118,233,208, 9,225, 41, 27,185, 79, 67,147,248,164, 4,224,179,
+205,156,229, 14,120,244, 36,136, 97, 64, 35,218, 39, 36,101,101, 14,228,202,236, 42,208,135,139,204, 53, 92,209, 93, 92,208,109,
+ 58,182,151,203,212, 62,143,195,156, 37,183, 99,188,203,146,168, 67,192, 30, 60,171, 99,202,110, 93,159, 52,226, 67,158,195,200,
+207,158,167, 60,230,150,117,125, 85, 28, 59,227,150,207,249,152,207, 74, 30,226, 19,226, 45,251,247,115, 95,165,239,121,152,138,
+161,130, 46,139, 93,149,236,135,106,221,239,181,245,115, 5,122, 61, 23,207,242,196,131, 48, 11, 34, 3,194,114,160,234,114,107,
+ 94,237,241,232,131,125,188, 98,223, 15,110, 49, 38, 33, 32,111,119, 96, 61,185, 39,203,170,196,222,224,107,112,148,203, 27, 47,
+219,205, 74,157, 64, 79,117, 37,169,181,160,183,112, 80, 37, 9,220, 46,130,172, 20,109,198, 66,110, 92,164,148, 17,147,177,131,
+125, 4, 65,164, 19,130, 16, 60, 65, 10,156,247,148, 82,177,201,220,247,232,194,174,175, 30,247,241,198, 97,247,189,205, 64, 76,
+177, 87,165, 15,244,203, 33,240,239,191,255,144,213,234, 26,203, 89,227,121,212, 56,222, 91,182,124,180,105,249,160,181,201,109,
+209, 91, 58,235,232,188,231,141,217,140,177, 80,105,154,130,196, 72,205,195,118,203,119, 55, 75, 26,111, 89,219,158,223,156, 79,
+ 24,149,138,211,113,141,174, 18,144,208,247, 62,187,106, 6,254,194, 38,241,159,223,171, 13,167,166,192,199,192,188, 52, 44,179,
+229,175, 85, 10,147,131,203, 61,235, 89,198, 12, 92, 52, 6,188,231,246,184,230, 37,163, 24,155, 18,139,160, 50,146,141,247,232,
+ 50, 1, 42, 23,109,199, 90, 73,182, 62,166,100, 64, 3, 66,241,214,124,194,215, 15,198,120,161,121,121, 90,112, 22, 13, 55, 75,
+ 77,101, 12, 31,184,136,158, 76, 88,186,152,198, 98,179,227, 84,213, 31, 28,103, 21, 72, 65,236, 33, 78,103,208,183,196,110,147,
+153, 60, 45, 49,122,196,170, 5, 35,120,177, 48,124, 81, 4, 14,149,198,216, 45, 19, 4,211,232, 41, 98,224, 32, 68, 76,112,156,
+120,199,204, 57,110, 8,203, 76, 9,198, 49,224, 67,154,153, 76,243, 89,227,148,230,134, 22,156,245, 61,151,155,142,190,235,248,
+ 97,223,243,155,199, 39, 84,117, 65,107, 97, 86,215, 92, 54,150, 82, 74,130,150, 28, 85, 99, 30,110,183, 92, 5,135, 21,146,195,
+241,132, 88,150, 76,141,226,223,175, 59,190,120, 56,225,127, 63, 91,242,230,233,156,247,130, 98,189,109,185,168, 70,156, 69,201,
+185, 46,120, 20, 20,151,133,100, 93,141,208,125,203,131,162, 36,218,158, 54, 68,214,118,139,149,146, 18,152, 20, 21,181,128, 32,
+ 4,165, 76,202,142,149,208,132, 66,243, 75, 41,105, 11, 13, 66, 19,251,204, 32,177, 54, 87,235,201,131, 66, 20,131, 24,138,127,
+ 26,187, 50, 25,167, 17, 73, 89, 33,108,228, 31,222,121,135,127,216,158,243,163,159,191,131,248,249,251,216,251,247,249,222,197,
+ 21,127,119,254, 17,151, 54,240,151,219,134,135, 49,119,212,188,205,243,104,201,178,235,185,138, 32,116,137,142,130,153,174,232,
+172,103,185, 92,241,224,236, 17, 63,251,233,219,169,197,255,100, 12,242,185,189, 46, 69, 18,135,201, 73,191,112,109,146,153,136,
+ 49,237,151, 24,147, 90,219,117, 16,183,233, 12, 27,176, 66,195,156,221,217, 92,120,248,103, 83,119, 31,195, 19, 13,184,156, 44,
+171, 45, 50,219,198,147,228,144, 99, 62,159,180, 73, 95,183, 13, 87,214,115,222,245,156,181, 13, 29,145,143,154, 14,240,220, 54,
+ 37, 19,173,169,202, 18, 81, 20,136, 0,203, 16,105, 4,124,188,245, 44, 66,143, 20,146,206,123,212, 75,223,250, 79,190,115, 52,
+153,208, 52, 61, 74, 74,230,227, 17,158,200,168, 42,240, 46, 34,181, 32, 34,112,155,158,174,181, 68, 21,113, 25,104, 38,133,162,
+215,138,205, 53, 15,181, 74, 72, 81,165,161, 40, 16,166, 72,154,195, 85,226,133, 11, 41, 16, 82, 34, 66,248,212, 85,186,248, 44,
+213,236,147, 82, 9,207,188,224,250,233,120, 22, 67, 70, 65,106,184,218, 36,173,243, 1,124, 84,150,169,106,172, 50, 16,174,205,
+ 64,183,206,165, 27,147, 37,187, 49,185,194,235,250, 84,149, 58,155, 4, 69,162,206,179,195, 92, 29,154, 44, 41,251, 28,158,232,
+ 83,173,113,246,102,221,196, 92,221,102, 31,224,207,203, 36,148,251, 10, 38,207, 32, 90,254, 58,211,148,225,154,151, 38,155,115,
+200, 93,165, 94, 21, 41,211,143,121,129,203,172, 75,175,247, 56,162, 74,166,217,221,112, 47,101,222, 72, 46,238,180,211, 33,121,
+ 14,136,231,184, 2, 94,163,240,243,107, 41,138, 44,212,147,193,133,200, 93, 66, 1,169,107, 80, 12, 20, 49,149,174,171,146, 72,
+ 37,121,169, 86,244, 2,162, 84,220, 80,130, 72,164, 12, 18,167, 53,151, 93,138, 3, 70, 8, 60,145,222,197, 36, 83,160, 4, 91,
+ 23,104,165, 64,100, 52,123, 31, 2,107, 34,150, 72, 23, 50,200,125, 0, 80, 14,116, 64,246,131,116, 76,239, 25,247,184, 57,207,
+117,101, 31,119,137,222,179, 80,184,146,116,240,108, 92, 18,134,233, 50, 42,121,209,166,206,154, 8, 44,188, 99, 42, 3,239, 44,
+214,172, 99, 75, 27, 28, 15,182, 43,254,231,243, 75, 26, 2,116, 91,188, 86,124,169, 44,209, 74, 48, 19,169,122, 17,125,210,218,
+ 47, 74,193,127,115,113, 9, 49,112,199, 68,156,212,220, 45, 53,165,142, 44,188, 96, 36, 35, 74, 72,148,214, 4,231, 48, 85, 65,
+225, 61,239,185,184,147,202,173, 12,127, 50, 41, 57, 40, 19, 55, 57, 40, 65,244,129, 32, 21,203,198, 81,149,154,131, 74,243,161,
+ 13, 44,132, 72,107, 1,205,237, 66,243,173,121,197,214, 71,180,150, 60,116,112,107,172, 89, 59, 24,213,134,210, 40,222,147, 37,
+219, 16, 19,208,238,255, 99,238,189, 99, 61, 95,243,251,174,215, 83,190,237,215, 78,155, 51,103,214, 69, 66,164, 0, 0, 32, 0,
+ 73, 68, 65, 84,230, 78,185,125,247,102, 91,108, 92, 18, 82, 12,137, 73,140, 67, 81,148, 40,144,200, 18, 36,161, 8,146, 16, 16,
+ 2, 36, 4, 1,139, 16,100,197, 40, 10, 37, 18,130, 72, 38,160, 68, 72, 17, 9,144, 4, 41, 9,113,130,133,141,157,141,189,235,
+189,190,187,183,151,185,211, 79,251,245,111,121, 26,127, 60,207,247,252,126, 51, 59,115,119,238,238,218,230, 39, 29,253,102, 78,
+253,150,231,251,124,218,187,184, 16,109,165,203, 42, 94,199,193,110, 52,152, 17, 33, 34,236,173, 39, 24,147, 88, 28, 81,247, 64,
+212,142,217,168,228, 5,233,153, 52, 53, 19,173, 25, 56, 71, 30, 28,165,119, 20,193,115,205,123,246,124,224,102,112,236, 8,197,
+208, 7,156,119, 12,115, 69,200, 20,165,132, 34,203, 25, 2, 94,107, 42,165, 9,153,164,173, 27,156,177,188, 62, 63,227,115,131,
+146,169, 5,153, 23, 12,203,140,133,135,157,224,153, 5,143,237, 28,183,219,154,145,173, 97, 52, 97, 55, 87,124,109,209,240,219,
+ 14, 38,252,141,227, 5,255,244,141,125,126,177, 9,236, 6,135, 27,143,120,104, 28,203, 97,197, 42,215, 44,101,206, 45, 23,199,
+132,167,229, 24,233, 13,247,178, 10,231, 59, 78,100,212,104,111,133, 98,207,123, 50,149, 69, 81, 20, 17,253, 10,102, 66, 82, 75,
+133,206,179, 24, 60,170, 42, 74, 28,251, 16,247, 52,145, 0,102, 93, 11,170,138,160,179,124,152, 48, 29,253,152,171, 76,108,136,
+152, 8, 10,225,160, 94, 19,110, 63, 72, 82,217, 49, 14, 48, 59,135,243, 21,167,119,239, 67,102,226, 24,204, 16, 11, 45, 37, 97,
+181,138,123,133,206,168,145, 28, 27, 19, 45,107,235, 6,230,167,184,249, 49,191,117, 8,203,231, 46, 49, 27, 14,241, 87, 14, 17,
+105,116, 40, 18,151, 94, 44,154, 4,184, 53,113, 92, 42, 99,114, 44,188, 71,200,164, 44,105, 72,248, 30, 30, 45, 14,122, 32,113,
+143,229,233, 37,178,249,132,121,122, 15, 92,237,237,177,101,210,107,200, 84,234,108,203,248,245,190, 99,216,166,228,194,116,136,
+186, 23,113,138,251,230, 29, 31,120,117,144, 49,145,154,135,139, 5,123, 85,116,199,155, 33,184, 51,183, 60,112, 29,109, 16,100,
+206, 69,187,143,211,231, 62,255,227,151,202,138,195,131, 67, 6,229, 8,135,199, 7,137,150, 1, 93, 42, 2,208,206, 91,172,247,
+120,225,113,235, 14,141,226,206,201, 9,185,206, 41, 21,156, 88,139,171,202,120,162,163, 17, 20, 5, 66,231,209,202, 85,102,136,
+106,132,144, 57,232, 18,145, 43,196,213, 27,136,253,125,100, 94, 33, 28, 48, 25, 35,140,185, 8,246, 79, 21, 58,120,156,227,220,
+183,128,159,166, 96,246,164,205, 78,203,167,183, 6,234, 58, 62,208,125,160, 80, 58, 82,112,132,220,136,238,228,121, 20,159, 41,
+210,220, 60, 43,162,127,186, 46, 54,180, 30,151,204, 66,170, 49, 76,118,226, 53, 25,237, 69, 32,145, 73,173,170, 62,170, 60, 62,
+ 99,207,116, 18,213, 16,155,143,109,192,198,246,174,253,237,210, 9, 47,226,121,143,152,223,250,189,246,187,128,143,232,187, 38,
+219, 51,170,162, 55,129, 9, 27, 4,125,159,193, 56, 31,175, 77, 31,216,117, 58,255,158,178, 21, 18, 77,207,233,212, 22, 79, 51,
+177,240, 12,162, 71, 89, 30, 17,245, 89,226,122,155,176, 65,146, 95, 20,197, 50, 38, 22, 58,221, 59, 29, 91,102, 1,193,168,144,
+ 92,150,154, 67, 4,121,174,153,120,201, 82, 75, 86,193,209, 5,104,130,136,185,137,128,206, 75,108, 8,172,141,199,164,189,175,
+245, 1,129, 96, 37, 2, 93, 23,112, 34,224, 2,184,222, 25,206, 37, 26, 98, 15,150,115,102,115, 28,201,170,242, 66, 57, 80,111,
+105, 62,245,244, 54, 17, 30,101, 46,108, 39, 54, 38, 13,226,235, 38,182,150, 23,203,248,251,151, 77,244, 69,151,112,107,182,230,
+ 94,103,248, 96, 93,243,230,116,202,187, 93,236, 80,209, 52, 96, 27, 94,203, 51,180, 23,140,139, 12, 39,192,123, 75,103, 58,132,
+107,249,169, 91,183,224,107,191,196,247, 95,191,194,155, 45,252, 96,174, 40,108, 71, 71,193, 78, 14, 50, 72, 22,173, 37,195,227,
+139, 40, 39,253,150,177,156,118,169,114,146, 57, 88,199,107,195, 18,109, 3,186,210, 40, 31, 88,121, 65, 41, 64,105,137, 8,158,
+185,151,236,123,203,187, 93,236,128, 77,114,201,203, 90, 48,206, 51, 4, 30, 39, 21,131, 66,210,248,136,155, 80,206, 83,150, 57,
+ 39,141,225, 60,203, 8, 65,243,252,225, 46,115, 36,175,142,198, 92, 59, 60,228, 65,107,216,201, 10,218,178,138,215,120,111,130,
+ 24, 14,162,163,152,105, 17, 34,130, 91,229,210, 96, 51,193, 11,133,102,108, 61,185,183,236,134, 24, 12, 14,188,167, 12,142, 75,
+193, 83,233,130, 1, 2, 33, 36,101, 94,177, 14, 22, 33, 20, 70,231, 72, 1, 51,175, 25, 20, 57,173,177,172, 58, 71,174, 37,187,
+202,115,189,148, 88, 27,104, 92,203,126, 57,226,111,124,252, 1,191,233,232,128, 51, 35, 25,105,193,199,171, 5, 55,139,156,135,
+235, 37,165,202, 88, 26,195, 48, 47,176,133,230,181, 76,241, 15,141,224, 55,168,192, 3, 27, 88,218, 64,145, 43,188,214,232,206,
+226, 70, 21,109,107, 57,169, 6,140,188,141, 12, 4,233,185, 63,152,144,117, 29,247,117,134, 51, 29, 58,120, 14,178, 44, 2, 66,
+181, 98,233, 61, 43,169, 56,115, 14,165, 52, 7,163, 49,214, 24,206,117, 18,181,170,235,216,241, 25, 14,226, 51, 94,175, 17,197,
+ 8,225, 26, 24,143, 35, 66, 62, 47,147,186,102, 2,118, 10, 9,181, 65,180,230,201,243, 65,215,197,103,124,186,138,254, 32, 85,
+ 74,238,215, 75,132, 18, 49,192, 59,135, 72,180,213,147,182,230, 11,162,225, 48, 56, 70,174,227,123,247, 15,120,173, 42, 56,204,
+161, 46, 11,236, 78, 73,123,235,254,102, 12, 40, 2, 98, 54,139, 69,149, 14, 49,200, 6,127,145, 28, 11, 64,104,129,104,252,198,
+180,170,237, 30, 21,159,113, 46, 97, 64,196,183, 40, 28,251,238, 90,162, 67,170, 84,196, 20,169,253,222,123,167,248, 84, 56,218,
+ 16,227, 73, 82,181, 20, 89, 14,243,121,188,110,214, 65,215,225,181, 69, 4, 79, 7,188, 61,157,114,110,225, 87,206, 86,124,195,
+ 71, 83, 93,141,167, 53,142, 44,120, 84,120,229,251,126,252,104, 88, 48,202,115, 26,211, 65, 80,228,121, 70,103, 44,166,115, 44,
+151, 53,133,214, 72, 2,243,243, 5,157,111,105,234,142,209,100,200,124, 49,231,116,185,194, 9,137, 32, 80,141, 71,152, 76, 71,
+138, 82, 53,224,249, 43, 99,174, 28,237,113,138, 70,148, 57,159,251,236,117, 78,171, 9,191,245,229,171,124,241,250, 62, 55,110,
+220,224,133, 23,143,216, 57, 26, 80, 29,237, 51,187,123, 26,105, 18,233, 66, 61, 18,216, 7, 35,184,113,149,193,171,215,241,151,
+ 47, 17,130,100,255,243, 55,168,171, 10, 22,233, 2, 93,208,144,194,147, 85,128,158,198, 81,223,166, 6,109,223,164, 30, 20,145,
+229,241,226,183,201,212, 64,138,184,104, 85, 6,195,138,157,231,174,240,210,245,155, 28, 30, 94,102,255,240, 50,167, 90,198,108,
+108, 56,102,116, 48, 65,151, 25,197,168,160,235,173, 60, 85,111,174,146, 90,190,125,197,158,109, 43,221,109,117, 30, 68,223,122,
+214, 91, 85,221, 54,114,251,219, 13,236,114, 43,194,219,239, 78, 64,239,121,232, 61,149,172,105, 55,124,250, 71,164, 78,179,152,
+173, 42,155,252,217,187,216, 21,233,205,102, 92,194,105, 52, 46, 5,175, 52,127,178, 93, 82,126,115,155,204,249,147,132, 33,100,
+228,171,146,244,129, 34, 32, 70, 36, 3, 28,145,114, 26, 21, 3,102,136, 78, 75,253, 61,184, 52,200,216, 19, 32,165,196, 75,129,
+242, 2,145,197, 54,186,117,129, 54, 72, 10, 41,233, 66,192, 38, 49, 25,151, 38, 5, 42,128,113, 2,227, 33, 47, 36,211,149, 99,
+156, 5, 58, 43,104, 3, 27,231, 54,182,170,117,159, 54,188, 94, 58, 86, 36, 4,188,176, 41,153,217,106,195,251, 20,216,123, 41,
+217,167,113,102, 31,255,156, 75, 88, 9,124, 84,137,236,186, 40,247, 58,175, 99,224, 63,153, 70,113,164,147, 41,180, 6, 95,106,
+ 6,101, 78, 33, 20, 70,120,166,181,225,254, 98,193,195,213,138, 91, 93, 3,187, 7,220,245,128,169, 57,238, 26,180,204,184, 82,
+ 66,112, 14, 47, 2,123,133,198, 18,216,213,129,251,235,134,159,175,155,205,102,234, 13,131, 34, 99,224, 28, 59, 58, 10,148, 8,
+ 39, 40,114,197,178,131,221, 42,218, 87, 22,120,190,186,114, 76,187, 88,225,151, 18, 62, 87,198,103, 97,175,202,168, 77, 32,211,
+138, 69,109, 25, 8, 88,104,141, 86,130,155,133,102, 55,211, 76,148,224,185,209,128,171, 18, 6,227,146,145,128, 23,181,230,174,
+147,180,137,154, 41,202, 17,248, 22,177,183,131,144, 25, 12, 74,196,106,133,176,134,121, 11,147, 81,198, 16,176,198, 32,157,229,
+ 57,160,178, 29, 99,161,145, 2, 50, 93,144,101, 37,186, 31,237,229, 5,133,138, 73,104,208,146,113,166,105, 17, 60,236, 28,151,
+170, 44, 90, 11,120, 27,231,190,206,112,125,178,207,207,127,244, 54,159,219, 29,178,108, 21, 95, 62,189,203,251,243, 41, 39, 54,
+240,222,114,202, 81,174, 49, 42,103, 60, 26, 97,144, 8,227,120,223, 9, 94,112, 29,239, 53,150, 60,207,105, 8,228, 85,193,170,
+109,249,184,241, 12, 27,131,215,130, 27, 93,203,221,172, 96,108, 45,239,101, 35,110,168,192, 89,174,160,109, 89, 42, 77, 27, 76,
+ 82,225,243, 44,157,163,201, 10,166,192, 90,130, 80, 25, 50,196,209,128, 2, 78, 36,136, 50,131, 32, 17, 62, 89, 6, 27, 27,139,
+ 27, 9,162,168, 18,189, 55, 61, 99,174,139,235,218,153, 68, 91, 53, 79,239,190, 58, 23, 43,254,118, 13,183,238, 66,115, 22,139,
+ 35, 43, 16, 66,129,206,162,193, 15, 22,161, 20, 63, 58,169,216, 41, 42, 94, 27, 12, 9, 69,201, 85,145, 81,238, 93,101,112,237,
+ 69, 14,242, 9,239,200, 22,206,102, 17,176, 26, 98, 1, 37,188, 68, 12,203, 24, 42,164,142,232,244,144, 70, 65, 26,200, 20,194,
+ 6, 68,219,196,125,225,162, 99, 40, 55,202,163,125,108,121,218, 51,151, 12,189,200,147, 16, 88,111,112,209,218,184, 55,214,109,
+108,185, 23, 9, 25,239,100,194,114, 37, 64,114,109, 17,227, 81, 82, 30,141,157,197, 7,199,115,222,235, 12,191,180, 88,240, 86,
+103,248,149,217, 57, 31,187,150,105, 91,227,148, 70, 91, 67,158,231,212,205, 10,133, 63,250,241, 59,193,115,117,103,140,119,158,
+ 92,122,150,211, 25,214, 7,206, 78,103,228,185,196, 5,207,124,186, 64,229,177, 53,217, 57,195,116, 57,103,109, 91,156,240,248,
+ 16,168, 84,204, 96,126,203,149, 29, 86, 78, 50, 40, 74,214, 94,242,112,225, 24, 12, 11,254,169, 87,174,240,206,220,243,153,195,
+ 35,190,231,230, 53,170,114,196,205,171,151,121,225,218, 21,118,138, 9, 26,201,135,173,138,173,156,208,123,125,235,104,209, 87,
+ 14, 96,239,128,207,188,122,133, 23,246,247, 56, 26,143,249,204,243, 87,152,228, 37,121,165,153,154, 0,139,122, 35,230,209,143,
+156,241,207, 30,212,121, 74,181,115,225, 5,222, 70,212,162,105,226, 2, 80, 58, 6,139,221, 61, 62,115,120,133,113, 57,224,234,
+254, 97, 18, 16, 8, 76,155,154,124, 56,100, 82,229, 28, 14,247,208, 82,131, 46,105, 93, 20,102,136, 51,248, 52,247,245, 91,157,
+129,167,233, 57,245,173, 32,177, 69,221,122, 90,235,245, 89,231,234,189, 36,162,181, 27, 78,253,119,250,202,242, 24, 44,157,219,
+104,202,247,221,134,190, 58,247, 9,123,208,251,102,251, 44,206,222,116, 17,245,200, 67,114,109, 19, 41, 9,146,230,209, 57,149,
+243,113,206, 37, 68,162,202,125, 11,197, 60,159,152, 8, 33, 9,190,248,176,209,175, 87,125, 64, 76, 74,128, 9, 60,151, 75,201,
+149, 44,224,149, 66,132, 64, 41, 21, 34,147,200,214,162, 69,228,188,214, 46,144, 73,193,210,165,241, 19, 73,168, 71, 6, 58, 98,
+176,215, 66, 50,235, 28,251,165, 96,218,121,132, 80, 81,255,189, 7,202,185, 45,201,101,159,230,235, 93,136,227, 0,195, 38,160,
+123,187, 1,220, 94, 88, 10,247, 35,249,176, 17, 61,250, 52, 52, 70,159,240, 14, 93,172,202,105,214,177, 74,154, 47, 98, 37,214,
+ 56,234, 97,201,238,112, 68, 45, 84, 84,250,106, 91,222, 94,157,241,141,211,227,184, 57,133, 54,254,188, 84,180, 93,203,171, 90,
+113,169, 42,208,222,146,123,139,177, 29,235,166, 37,152,142, 91,203,154, 59,205, 42, 38,102, 54,118, 90, 76,240,236, 11, 23, 59,
+118,157,163,212,154, 81, 6,227, 76, 80,119, 1,137,231,108,109,248,242, 42, 49, 71,130,165, 20,129, 87, 39, 57, 89, 8,212, 54,
+ 80,230,146,186,181, 28,142,114, 30, 58,201,158,136, 90, 2, 15, 87,134,135, 94, 48,169, 10,126,102,217,241,249,157, 10,227, 61,
+107,231,185,167,114, 6, 2,166,198,199,128,164, 52, 98,180, 27, 55,226,241, 8,225, 90,184,113, 3,121,124,134,220,155,112,251,
+225,130,135, 18,118,139, 28,101, 44, 89,107,184,162, 20,121,240, 20, 58, 39,136,140, 78,120,178,162,164,149,154,165,212,204,242,
+140,214, 89,100,145,211, 41,197,188,131,188,208, 52,105,162,210, 9,133,203, 53, 70, 73,206,231, 39, 8, 89,240,225,236,156,111,
+ 44, 78,104,186,150,198, 59,186,213, 57,214, 59,238,170,140, 35, 33,216,203,115,198,147, 33, 93,145, 83, 56,203,219,171, 53, 7,
+163,146,247,215, 29, 7,185, 98, 97, 44,120,193,243,149,226,171,181,227,121,215,113,191, 40,184, 92,175, 57, 41, 42, 94, 20, 53,
+191, 18, 10, 46,249,142, 51,159, 71, 91, 88,165, 57,183, 13,194, 89,230, 42, 34,227,167, 8, 92, 86, 97, 69,236, 72,246, 30,111,
+153,210,156,133, 4, 94, 93,214, 8,159,244,210, 69, 74, 56,139, 10, 17,210,243, 95,183, 17,152,236, 92,178, 12, 53,207, 54, 86,
+117, 17,185,206,233, 41,156, 45,225,228, 46, 66,198,145, 17,193, 35,112,252,216,254, 46, 71, 90,113, 73,105, 66,150, 81, 27, 19,
+105,155, 7,151,232,148,164,243,146,243,197, 49,243,227,211,248,247,186, 14,145,233,232,236, 23, 98,146, 32,178, 12,145,101,124,
+166, 42,249,129,225,132,239,219, 25,113,121, 84,241, 97,211,193, 98,141,104,235, 88,100, 94, 20, 80,225, 81, 23,204, 79, 74,164,
+123, 86,144,202, 19,107,200,167,234,191, 77, 32, 96,210,190,159,168, 74, 33,141,133,219, 68, 33, 54, 53,162, 72, 99, 72, 27,147,
+ 34,187,110,226,179,185, 88,196,235,106, 26,192,178, 12, 48,117, 14,154, 21,139,229, 20,197,240,198,143,163, 53,171,188,229,189,
+211, 19,186,110,205,170, 94,178, 88,206, 25,100, 37,139,229,156,118,213,144,149, 25,117,179,166,110,107, 58,211,210,212,134, 7,
+235, 57,157,141,252,220,178,200,184, 57, 26,112,175,243, 72, 33,184, 57,172,184, 84,150, 84,227, 49, 47, 14, 7,220,237, 52,207,
+141,246,249,220,165, 93, 46, 29,238, 33,244,128, 60, 31,176,172,225,218,209, 37, 6,229, 46,191,225,218, 30,183,145,100, 71, 67,
+218, 51, 3, 42, 82, 88, 68, 57, 97,242,202, 33, 47, 31,236,115, 48,218, 97,111, 48,228,112,119,143,241,104,204,225, 96,192, 45,
+187,198, 28, 47, 99,150,247,248, 60,245,105, 23,252,241,215,211,132, 90,250,141,175, 87, 47, 19,105,243,151, 10, 10,205,100,103,
+143,107, 59,251,232, 92, 68,109,230, 60, 71,105,205,195,102,201, 40,215, 28, 14,118, 81, 85, 73,145, 21,100,153, 98,106,218,168,
+144,214, 75,154, 90,191, 21,212,213, 39, 13,193, 55,224,177,237,238,130,248, 54, 85,253, 60,223, 12,178,250,110, 4,244, 30, 87,
+208,219,121,170, 36, 98,225, 92, 2,191, 36,227, 27,111, 35, 55, 93,248,232,179, 45, 4, 84,217,102, 68,162, 19,133,174,179,155,
+108,183, 75, 52, 26, 29,185,216, 40, 25,103, 79,223, 74,194,177,111,122, 8,183,145, 93,237, 43,245, 30, 97,174, 19, 61, 80,101,
+ 23,151,246,160, 82, 49,121,150,154, 66, 4, 26,235,201,115,133,176, 30,163, 99,219,253,196,120,134,153,162,243, 62, 61,144, 34,
+101,248,241, 60,140,243,136, 16, 88, 58,129, 34,208,132, 4, 16,236,250,121, 91,182, 25, 37,244,163, 6, 69,194, 16,244,237,119,
+185, 65,228, 7,191, 9,236,166, 79,254,122,189,130,111, 35,193,235,193,133,230, 9,206,129,133,132,157, 93,142, 39, 19,238,250,
+192, 7, 93,203,237,174, 97,213, 52, 48,155,194,249, 60,178, 58,164,143, 96,164,182,230,195,206, 82,154,150,113, 48,204,218,142,
+179, 85,205,213, 76,242,191, 61, 56,227,157,243,135, 73,167, 33,206,235, 9, 14,218, 53, 15, 77, 96,228, 26, 14, 16,100,193,225,
+ 13, 52,173,103,191,128,197,178,227,221,181,231,225,114,158,128, 70,154,182, 53, 12,218,142,231,138, 28,147,148,251,118,114,201,
+131,149,225,249,161,166, 70,114,123, 29, 55,249, 99,149, 49, 53,142,239, 29,228, 76, 91,143, 44,163,166,196,170,181, 84,185,230,
+ 76,228, 72,173,227,101, 46, 7, 48, 60, 64,116, 43,216,191, 18,167, 95,135, 59,136, 92, 35, 77,203,202,192,187,167, 11, 74,233,
+ 25,229, 25,151,124, 64,133, 16,193, 75, 66, 18,202, 17, 11,192, 8,201,188,200, 57, 15,129,121,145, 99, 58,143, 85,130,221, 34,
+167,238, 2,115,235,201,116, 52,241,176,222,211, 5,133, 10, 2, 45, 44,185,107, 25,218,134, 35, 12,106,181,166, 11, 30,235, 44,
+222,180,124,102, 56,162, 44,135,156,173,107, 58, 27,104,138,140, 97, 89, 96, 3,136, 76, 99,165,228, 82,161,201,141,225,235,181,
+229, 75,149,226,174, 13, 28,212, 75, 78,138, 1, 59, 77,205,219,162,228, 53,209,114,203,105,174, 20,146,115,151, 49, 51,134, 74,
+ 6,238, 16, 48, 93,199, 90, 69, 96,180, 19, 30,167,114,156,240,180,222,209, 56, 79, 14,100, 69,193, 92, 9, 66,145,131,174, 16,
+203, 6, 81,175, 99, 65,214,196,103, 84,244,242,225,109,253,116,134,204,179, 96,166,154, 85,148,133,158, 30, 35, 76, 7,133,100,
+183, 26,113, 40, 5, 55, 39, 21,166,109,240,214, 80,230, 25,109, 8, 24,103,184,187, 94,115,239,252,132,175,188,255, 17,194, 73,
+ 68,231, 99,101,222, 69,193, 28,177,182,136,221, 1,162,200,249,220, 96,192,111, 59,188,204, 75,163, 33,135,229,136, 93, 41,169,
+131,227, 65,211,196,174,172,138, 93,232, 56, 7, 79,178,197,189,246,198, 39,137,123,109, 7,253, 44, 75, 21,120, 29, 11, 23,111,
+ 19,215,189,215,154,207, 54,117,156, 78,154, 28, 69, 1,164,113,116,103,146,158,135,139, 90, 31,237, 58,106,165, 44, 22,176, 90,
+131, 89,227,108,203,108,189, 98,229, 12,138,234,218,143, 51, 95,176,250,232, 1,237,170,227, 36,147,124,124,114, 31, 47, 61,211,
+245, 25, 67,157,241,112,113, 70,103, 60,245,122, 77,231, 28, 15,166, 51,130, 2,211,116, 56, 23,233, 6, 90, 74,172,212,104,165,
+185,185,179,131,214,146,115, 39,121,249, 96,143,198,105, 46,143,247,249,236,243, 71,140,247,118, 17, 33, 99, 60, 26, 32,100,198,
+254,222,144,114,144, 51, 28, 87, 56, 49,228,114, 85, 49, 81, 57, 31, 45,150,201, 28, 69,161, 94,185,202, 43,187, 19, 46,141,247,
+120,238,202, 33,121, 86,161,164, 38,211,154, 60, 83, 28, 86, 35,222,237, 44, 44,231,207,102,105,250,164,192,254,137, 65,161,111,
+161,244,193, 84,199, 10,202, 43, 76, 89,178, 55,170, 24,230, 21, 32, 25,228, 21,139,122,206,173,143,239, 83,211,113,249,224,136,
+ 16, 60, 66, 42,230,203, 53,171, 46,192,226, 52,182, 91,218,100, 55,218, 31,179,122, 26,230,191,167, 81, 36,179,145,199, 3,185,
+148,191,190,114,189,125, 80,205,212,134, 59, 31,182,132, 81, 66,106,201, 27,226,249,246,109,113,225, 99,149,222,227, 35,212, 99,
+247,196,121,144, 46, 58,192,133, 46,174,250, 50, 79,201,208, 86, 39, 96,187, 99,241,120,128,239,231,251, 23,109,235,176, 81,108,
+147, 91,216,130,222, 4, 38, 5,228, 74, 75,198,121,148,124, 85,193,179,212,138, 29, 68,148, 8, 16,129,153, 9,204,131, 99,148,
+ 43,230,157,143, 46, 98, 58,141, 51,186, 68,147,233, 81,238, 66,160,144,216,158,182,102, 98, 62,131, 74,157,136, 11,237,247,109,
+128, 92,234,188,169, 45,133,187, 94,237,175,175, 20,122,122, 99, 38, 54, 73,222,119,178, 14,244,150,110, 65, 63,158,217,219,131,
+201, 36,105, 12,196,141,134,102, 13, 39,103,240,224, 1, 76,167,112,182,138,115,251, 0,116, 29, 31, 55,107,190,182, 92,242,141,
+197,130,119,231,231,252,163,217,138,245,244, 20,104,227,172,190, 91,166, 68,162, 77,109,217,142,165,183,140,125,195,201,186,101,
+136, 67, 89, 67,179, 92,240,206,210,241, 75,211,227,120,124,245, 10, 86, 51,232, 58,202, 44,167,109, 59,158, 47, 74, 74,239,184,
+189, 50, 92, 25, 40,140,241, 88, 23,131,237,137, 9,236,201,168,168, 39,149,228,221,206,177,155, 41, 68,107,184, 84, 40,154, 92,
+ 19, 28, 12,164,160,214, 69, 66, 59, 7,198, 7,215, 48,206, 82, 12,118,240,121,133,152,159, 34, 71, 35,228,116,129, 8,158, 59,
+ 65,177, 50, 45,101,221,113, 35,203,241, 90, 99,164,192,102, 26,151, 21, 60,208,138,133,146,156, 16,112, 66,178, 20, 1, 13, 44,
+141, 67,100,130, 70,150,212, 66,176,176, 22, 87,140, 8,182,137,213, 62,142, 44,147, 92,151,146,231,188,231,149, 92,243,170,146,
+ 92,111,106, 14,149,229,103,151, 43,174,231, 3,230,109, 67, 94,150,220,152,148,152, 65, 73,176,142, 61,165,168, 67,164,151,221,
+211,154, 87, 69,224,163,181,225,200,183, 76,199, 35, 70,139, 5,205, 96,192,117,183,228, 45,167,184, 26, 60, 43,161, 25,200, 22,
+ 67,198, 87, 90,184,164, 28,247,179, 44,178, 59,164,196, 7,129, 64,226,132,160,243, 14,165, 20,101,158,161, 5, 28,230, 67,230,
+ 74, 97,125, 2, 23,170, 28, 17,146, 40, 87, 16, 81,213, 77,248,167,232,114,232,111,201,187, 21, 59, 59,112,249,185,168, 33, 34,
+ 36,204, 27,132,143,129, 53,175, 74,110, 12, 71, 92,173,114,246, 29, 4, 17,232,218, 14,103, 12,239, 47,167, 60, 88, 28,243,149,
+135,247, 88, 26, 71,176, 14, 33, 4,194, 69,148,190, 12, 1,161, 2, 66,103,136,178,228,247,222,120,142, 27,195, 9, 74,105,218,
+ 0, 59,249,128,145,146,124,117,118,134,104, 76,242,140,176,177, 99,156,165,194,226, 91, 5,244,237,174, 98,239,125,231, 83, 37,
+222,123,115, 8,159,104,189,114, 83,181,203,180,135, 6,153,152, 59, 2,130,137, 99, 14, 82,181,223, 39,225,161, 15,240,117,236,
+104,180,150,112,255, 62,254,228,180, 55,116, 73,175,186, 38,220,123, 8,147, 1,243,229,154,211,217,154, 15, 86,103,172,156,227,
+206,249, 25,171,182,230,225,114,206,188,233, 56,159,173, 65, 8,202, 74,199, 44, 53, 56,174, 12,135, 8,114, 66, 48,116, 40,174,
+142,247, 25, 21, 57, 71,123,251, 84,101,197,238,238,144,253, 97,137,211,154, 97,158, 83,230,138,241, 78, 69,166, 11, 70, 85,198,
+100, 92,208, 90, 73,240,146,231,143, 46,241,238,201, 41, 88,205,228,242,132, 47, 61,119,149,203,123, 59, 88,231,168,134, 21, 77,
+107,144, 34, 74,152,238, 78,134, 24,223,240,240,227, 89,204, 98, 62, 77,251,241, 73,122,229,223, 52, 31,241, 27, 78, 33, 50,141,
+ 72, 20,120, 67, 40,135,236, 15,135, 40,161,201,179,136, 40, 61,155,207, 56,153,206,161, 94,145, 15,198, 4, 41,153,175,214,152,
+160,168,103, 11, 56, 59,137, 27,183, 79,148,184,237,106,249,137,213,122,216,208,237,250,121,164,148,143,190,255,122, 6,245, 94,
+184, 71,176, 89,244,143,207,214,165,120, 20,113,126, 33, 10,148,197, 5,170,179,141,245, 40, 36,250, 96, 58,175, 96,146,139,220,
+150, 88,139, 20, 27,141,251,109,113,156, 39,169,198,245,178,182,189, 26, 91,143,105,232, 33, 5,253, 72,227, 66,120, 38,178, 52,
+ 70, 42,144, 73,133,204, 51, 38, 94, 98, 18,143,123, 25, 2, 66, 9,156, 15,212, 70,210, 6,183,169,178,123,157,249,237,164, 81,
+203,136,172,182,108,216, 18,189,118,127, 8, 91,247, 53, 5,117, 41,158, 78, 78,232, 63,231,229,166,130, 87, 9,112,167, 30, 51,
+177,249,180, 93, 22,173, 34,171, 32, 75, 6, 31,206,193,243, 55, 97, 56,138, 1,189,231,238, 26, 3,247, 78,226, 12,222,218,141,
+ 89, 78, 99, 98,208, 54, 62,182, 9,235, 38,138, 83,157,157, 71, 37,178, 69, 29, 13,145, 76, 7,231,179,152,168,174,151,224, 58,
+ 76,187,230,227,206,114,167, 91,242,230,123,223,224,117,114,190,114,122,194,157,197,113,236,146, 53, 11,104, 82, 50, 32, 28,211,
+249,130,223, 49, 41, 88,172, 27, 10,165,216,145, 14,237, 3,183,151, 29,135, 10,126,110,218,240,182,245, 20,109,203,213, 65,193,
+ 73,231,216,215, 18,233, 2,119, 28, 76, 6, 5,101, 16, 28, 40,207,181, 65,133,149,138,203,185,230,197, 65, 65,238, 2, 47,238,
+237,114, 86,119, 88,161, 17,163, 61,196,236, 1, 98, 60, 64, 24,143, 88,175, 56, 57, 95,240,102,169,121,174, 51, 52,194,227,138,
+146, 7, 4,238, 10,193, 42,207,153, 6,201, 76, 10, 86,169, 45, 29,165,129,193,203,130,198, 24,222,247,158, 60,175,112, 1,202,
+172,164, 69,227, 8, 84,197,144,129,247, 76,138, 2, 35, 53,138, 64,169, 5,178,238,216,209,112,210,156,115,165,136, 30,228, 39,
+179, 6, 68,142,113,158, 97,149,161,172, 99, 26, 20,215,218,154,147,160,216,105,151,156,148, 3,118,166,231, 44,202,146,172, 89,
+243,150, 44,121, 77, 54, 44,100, 70, 97,150,204,173,166,202, 61,149,133, 55,169,144,139, 51, 62, 18, 57,121,183,160,201, 74, 22,
+237, 10, 47, 64, 32,162,254,188,247, 76,242, 1,147, 92,145,133,128, 31,141, 88,233,132,137, 89, 27,132,176, 96,171,136, 98, 23,
+ 32,116, 21, 91,233,143,206,253, 54,115,230, 39, 5,247, 44,231, 71,255,153, 31,225,135,127,243,111,226,149,107,215,120, 99,177,
+224,210,171, 47,242,155,190,240,253,212,206,114, 54, 63,231, 67, 37,120,185,136, 94, 5,213,122,205,121,215,210, 90,195,237,213,
+ 25, 63,125, 62,103,209, 26, 76,221,197,110,139, 3,145, 41,100,208, 72, 47, 16, 33,142,212, 68, 85,240,242,206,144,107,163, 93,
+ 74,157,225,164,192, 19,184,179, 94,242, 13, 27,229, 92,133,105, 54,147,208,158,174,247,172,207, 87, 15,210,131, 8,178,201,178,
+ 24,132,139, 98, 19, 79, 66,194, 21,245, 64,226,222,148, 75,217,132,210, 79,238,132,242, 49, 42,113, 15, 64,118,169, 51, 58,159,
+197,103,105,181,120, 44,168,247,175,243, 69,164, 28, 52, 53,204, 87,180, 77, 71,119,231, 14,139,182, 99,181, 88,179,246, 14, 39,
+ 97,109, 29,133,200,200, 52, 92,159,236,166,226, 66,130, 40, 56, 28, 77, 40,117, 9, 66, 49, 40, 75,124, 16,148, 69,197,120, 82,
+144, 11,141, 46, 36,185,206,169,202, 12,165, 37,133,206,185,127,182,102, 60,169,168,215,150,229,170,229,189,245,156, 16, 96,103,
+111,196,141,201, 4,169, 20,229, 96, 68, 8,129,162,200,144, 82,162,242,140,224, 61,205,106,201,135,167,171,104, 15,251, 29, 85,
+ 43,143,173,179,190, 74,223,174,214,251, 74,201, 72,152, 47, 56, 81,158,165,105, 88, 52,115, 30,204,207,249,120,185, 34, 28, 47,
+ 97,113,204,162, 49, 44,100,193,170,113,172, 87,107, 56, 63,131,102,186, 1, 69, 61,158,241,169, 45,181,162,222,226, 20,243,232,
+ 92,125,251,166,246, 0,191, 95,207, 42,221,152, 77,224,238, 93,215, 92,162,167,245, 98, 51, 61, 21, 77,138,180,112, 19,218,189,
+ 23,120,208,249,134,222,209,163,194, 93, 2,143,249,190,165,159,109,180,223, 73,137, 85, 16, 27,254,188, 20,223,172, 77,208, 43,
+252, 93,180,220,229,150, 96,156,222,100,202, 23, 24,133, 88,173, 58,231,233,188, 96, 55,147, 72,173, 88,135, 16,213,183,164,226,
+204,153, 40, 90, 34, 21, 11,239,112,253,239, 17,114, 11,145,158, 64,124,189,251,157,148,155,234, 61, 79, 0,153, 92,197,207,245,
+ 0, 69,169, 54,128, 79, 31,122,140, 76, 58, 23,177,105,226,244, 20, 55,122, 42, 32, 49, 64,110,111, 60, 23, 27,100, 9,187,123,
+ 49, 0,127,210, 61,204,213, 70,132,135,116,188,229, 40, 50, 55, 38,147,228,183,238,162,134,117, 91,199, 17,210, 98,145,174, 41,
+241,221, 38,167,188,102, 5,243, 21, 44,215,176, 92, 65, 51,131,179, 57,204,207, 96, 49,219,108, 64, 15,103, 49,121,163, 23,206,
+ 49,145, 51, 78, 32,204, 78, 99, 85,190,154,193, 98, 26,141,125, 22,231, 96,107, 70,193,208, 53, 75,190, 54,159,242,165,157, 93,
+190,122,255, 30,129,140, 15,206,166, 28, 73,248,219,181,225,246,249, 9, 47,155, 26,231,224,174, 9, 92,223, 29,226,114,141,237,
+ 12, 7,147, 1,243, 69, 77,174, 53,161,200,208,198,209, 0,135,133,226,182, 11, 92, 31,104, 22,139, 53,217, 96,194,103,117,224,
+238,114,138, 24,237, 34,234,101, 76, 70,198,195,152,191,158, 28,243,122,166, 41,155,142, 51, 5,247,133,165,214, 25, 15,189,101,
+ 46,162, 43,222, 89,235,145, 90,178,104, 37, 83,103, 80, 46,240,139, 1,106,173, 9, 50, 71, 7,143, 47,134, 72, 12,131,225, 1,
+187,190,161, 26,237, 97, 28,228, 90, 35, 84,134,149, 25, 82, 11,180,119,156,215, 29,109,187,166,198,209,214, 13, 39,117,205,123,
+139, 37, 95,110,226,109,184,238, 13,111, 4,201, 75,120,206,148,230,200, 52,156,150, 67,246, 2, 44, 60,188, 20,214,188,229, 75,
+246,154, 5, 75, 61,100, 20, 26, 26,167, 25,102, 48,182, 43,222,206,118,185,181,156,241, 1,154,118,126, 70,109, 5,132,142, 73,
+ 94, 80,200,140, 66,106, 10, 25,169,121, 95, 24, 12, 57, 84,129, 87, 43,197,221,214,210,117,150,235,255,216, 23,152,220,184,196,
+252,206,233, 70, 91,253,137, 1,189,151, 72, 76, 27,110,177,173, 99, 81,241, 79,254,142, 31, 34, 43, 74,170,178, 34,180, 43,126,
+248,251,254,113, 94,124,233, 42,135,229,136,215,255,222,207,224,131,229, 43, 65,242,188,109,248,216,118, 52,182,227,141,249, 9,
+175, 47,151,220,239, 58,108,103, 32, 4,180,130,203,153,230,181,113,198, 97, 46,120,185, 42, 24,102,146,105,215, 34, 3,188,116,
+249, 18,151,171, 49, 78, 73, 36,112,102, 45, 31, 47,214,124,216,212,113, 93,158, 77,163,227,154,181,136,158,142,108, 62,197,126,
+ 43, 28, 23,202, 81, 38, 68,153,242,182,141,231,107,125, 26, 69,102,177, 64,241, 73, 35, 30, 19, 71,146,157,217,236,151,150,141,
+ 59,102,207,127,239,247,181,199, 18,249, 39, 7,245,254,101, 82, 22, 62, 95,196,247,182,141, 45,179,218,226, 0, 93, 13,241, 82,
+242,252,164, 98,214,193, 32, 83,152,160,168, 84,198,164, 44, 25, 14,114, 6,101, 73,103, 61,227,113, 69, 89, 72, 84,166, 25,143,
+ 50,180,206,201,181, 38,203, 20,135,163,156,218,120,118, 70, 57,247, 78,107,242, 66,161,133,226, 82, 89,114, 26, 60,151,171,156,
+203,147, 33,151, 15,247,201,116, 70, 83,215,100,213,128,206,117,232, 32,152,173,102,156,175,150,124,124,190,136,179, 6,241,132,
+ 13,254,211,112,184,183,214,218,133, 19,221,133, 2,155,221,180,107, 73,153,150,177,180,214, 48,111, 29,171, 69, 77,104, 13, 76,
+143, 47,220,197,194,218, 19, 22,211, 72, 21, 58,189,183, 9, 84, 79, 3, 89,248,173, 54, 75, 31,176,122,160,198, 54, 77,172,159,
+195,252,255,161, 74,239, 81,220,125, 64,223, 78, 58, 92,156,133, 94,160,188,149,220,146,133, 5,172, 74,224,186,132,109,232, 18,
+152,205, 54,209, 94, 53, 81,149, 98,208, 45,184, 48,177,239,171,239,222,198,180, 79,110, 50,189,201,146, 51,189,153,157,171, 68,
+147,203,179,216, 17,241, 91, 1, 83, 19,171,209,212, 17, 41,148, 64,151,154, 90,194,185,243,140, 81,120, 4,199,174,163,146,138,
+ 22,207, 50,120,100,208, 92,108, 91,109, 66,242,247,107,165,200,211,188, 60,209,230,122,139, 90,147,196,120,250,174,131, 74,146,
+195,189,160, 69,235, 55,222, 1,189,127,122,216, 10,234, 23, 70, 48, 9, 96,163,253, 70, 88,231,113, 0,143,183,159, 28,208,203,
+100, 64,228, 21,148,137,163,223, 39, 39,210,193,229,195, 40,209,154,229, 73,201,175,142, 85,217,106, 25,209,243,189,138, 88,127,
+ 49,251,249,188,183,113, 67,183,221,230,255,219,235,218,216,248,181, 85, 29, 19,134,222,209,176,141,237,120,206,231, 17,129,127,
+239, 54,156, 78,225,248, 12, 30,158,130, 11,116,161,133, 7,103, 96,107,222,152, 79,121,216,118,188, 59,187,207, 29, 7,111,204,
+206, 88,205,207,192, 26, 78,101,244, 65,120,161,138,231,119, 74, 96,183,200,200,188, 99, 80,106,186,206,179, 43, 3,115, 29,169,
+ 92, 15,219,142, 10, 79, 94,100, 12,132, 2,103,200,117,198,157,144, 70, 72,222,192,238, 40, 6,171,206, 18, 60, 52,237,154, 55,
+230, 53,167,198, 50, 83,130,169,107,176,153, 70, 42,197,251,117,203, 88, 11,124,200, 88,219,142,129,202,248, 27,157, 97, 21, 34,
+234,126,222,181, 44,138, 49, 57, 1, 89,236, 48,212,154, 73, 54, 36, 83,138,188,218, 33,132,128,149, 25, 66, 6,140,214,184,188,
+ 96, 25, 44, 43, 93,114,111,109,121,216,174,120,184, 94,210, 9,137,111, 87,228,182,163, 54,150,207, 75,193,173,224,185, 92,175,
+ 56,174,198,236,173,166,204,144, 12,240,220, 86, 5, 47,179,230,196,107, 38,210, 80, 59,197, 80, 26, 22,157,195,232, 33, 52, 83,
+234,225, 46,221,106,198, 44, 43,112,237,154, 73,166, 24,120, 71,165, 50, 70, 89, 73, 41, 4, 47, 9, 65,165, 53,101,240,140,133,
+224,102, 33,248,229,198, 49,127,227, 29, 22, 31,221,142,227,201, 44,123,172,224,240,124,179,134,181,140, 40,240,155, 55,227,154,
+114, 14, 20,236,223, 56,228, 96,103,143,249,124,202,123, 15, 31,240,249,207,190,200,120, 88, 32,164,231, 23,126,246,231, 17,179,
+115, 40, 5,191, 60,155,241, 43,171, 53, 95, 93, 76,249,160,235,152, 37, 54,135,176, 32,130,163, 0,174, 15, 37,215,130,224,122,
+158,113, 45, 83,188, 88,229,124,190, 44,153,250,142,175, 52,158,225, 64,227, 69,198,185,247,124, 56, 91,240, 15,154, 46,106,149,
+244,207,208,114, 5,227, 33,131,223,248, 26,166, 53, 81, 95,254,153, 1,169,125, 98, 46,210,236,220, 38,234,106,114,105,202,212,
+134,174,171, 82, 66,159,103,233,185, 72, 96, 94,177,213,197,235, 85, 63,125, 82,170, 11,201,171, 99, 43,209,248,228,160,254, 36,
+ 48,153,115, 17,241,106,193, 9, 73, 86, 22, 24,162,104,129, 71,115,115,156,211, 57,201,112, 56,164,208,154,172,172,168, 74,201,
+238, 32,167,200, 75,170, 44,103,152,107,138, 66,178, 55,208, 12,135,154,224, 5,231, 43,203,188,117, 52, 77,131, 16, 2,157, 9,
+102,211, 53,227, 60, 99, 55,207, 24, 15, 71,236, 76,134, 4, 41,217,153, 12,177,198,226,172,199, 99, 57, 62, 61,227,193, 98,206,
+241,157,227, 40,247, 39,210,220,226,211, 58,201,105, 54, 85,185,125,194, 92,221,250,141,168,135,210, 41,121, 72, 52,171, 58, 1,
+ 26,234, 22,234,105,156,119, 36, 51, 3,234, 25,212,115, 88, 46, 30, 13,102,159, 22,208,212, 11,236,108, 1,166,127, 77,170,244,
+ 94, 78,247, 66,130, 87, 63,186,137,123,183, 65,161,103,122, 35, 52,211,211,206, 50, 21, 1,109, 50, 75, 21,113,207, 17, 77, 82,
+177,222,166,192,214,165,202, 89,108, 2,122,150, 50,212, 11, 3, 5,187, 17,180,185,152,187,139,173, 17, 68, 66,138,247,179,244,
+254,251, 82,179, 35, 58,220,109,117, 69,250,177,128, 78,234, 51,169,109, 30, 4, 92, 41, 36,115, 3, 7, 69,129, 11, 30, 43,161,
+144, 18,237, 92,100,202, 11,193,220,137, 56, 79,239, 1,126,190,159,161,245, 65, 90,110, 85,162,108, 42,118, 82,117,155, 37,238,
+124,145,228, 96,149,218,120,169, 39, 36, 62,153,120, 52,145,203,182,100,137,101, 90, 27, 23,226, 53,225,217,129,143,187, 71, 49,
+104, 95, 58,140, 78,103,123, 7,241,239,181, 93, 74,138, 21, 92,218,131,157,253,141, 16,146,202,226,189, 57,157,198,164, 85,203,
+141,229,237,183,227,220, 88,232,152,196,229,122,115,252,214,193,170,139,188,122,211,197,251,179, 94,197,247,166,129,121, 18,231,
+152,173,224,236, 12,230,211,120, 47,143,239, 68, 33, 19, 41, 96,126, 12, 82, 34,164,231,104,114,137,194, 26,118,139, 12,103, 61,
+185,119,204,189,164, 8, 22, 33, 5,167,198,243,126, 23,165, 92, 95, 25,230,252,242,131, 5, 82, 73,158,203, 36,239, 47, 86,188,
+ 58,168,184, 55,159, 69,151,185,249, 49,100,154,224, 60,161,243, 4,161,241,245,130,179,149,225,227,214,243,110,103,121,177,144,
+220, 53, 53, 87,164,228,107,157,103, 97, 13, 3,169,248, 74, 8,204,179, 18, 92, 71, 32, 64, 89, 97, 93, 96,169, 75,118,139, 28,
+139,100, 52,222, 71, 42, 65, 53, 28,226,243, 28,161, 74, 58,149, 51,151, 48,117,138,135, 42,199, 56,193, 74, 71, 51, 22,175, 50,
+ 44, 6,231, 60,115,157,243, 57, 17,248,106,107,248,162,232, 88,150, 99, 14,204,140,243,209, 1,131,166,197, 22,154, 27,161,230,
+ 61,147,115,168,162, 46,209,176, 16, 44,150, 29,168,140,117,103, 56, 46,198,148,171, 25, 62, 43,113,235, 37,181, 86,148,235, 53,
+215,171,156,177, 46, 41,165,228, 72, 43, 6, 58, 39, 88,195,174, 82, 52, 30, 20,142, 43,185,231, 77,227, 19,180, 63, 21, 87,223,
+180, 38,182, 91,238,125,242, 91,240,252, 23, 94, 97,118,214, 69,161, 36,107,120,255,141,183,248,242,207,253,191,124,237,157,143,
+ 56,195, 51, 18,134,213, 98,202,151,223,126,157,135,175,223, 2,105, 16,211,105,252,125,117, 29,237,120,219, 22,209,118, 73, 84,
+198,146, 9,120, 99, 58,215,121, 0, 0, 32, 0, 73, 68, 65, 84,161, 16,148, 33,176,175, 4,215,117,198,110,150,115, 41, 83,228,
+165, 70,123,201,131,213,138,183,141,229,151,235, 37,175,215, 29, 31,154, 58,185, 95,134,205, 94,159,229, 20,175, 94,231,115, 7,
+215, 57,203, 61,246,238,244,153,100,209, 31,109,195,167,185,155, 76,115,244,158,206,219, 38,141, 14,181,253,125,105,175,243,253,
+222,183, 69, 95,237,157, 37,123,230, 75,150,246, 54,185,121,230, 63, 93, 80,135,232,174,132, 74,148, 34,197, 11,151, 43, 38,121,
+ 65,235, 21,207, 13, 53,247,106,139,119,150,221, 66, 81,150, 67,134,101,198,238,168, 64,233,140, 97,153,115,237,176, 98, 50, 16,
+ 12,171,168, 45, 63,204, 21,109, 23,105,113, 81,225, 85, 32,133,143,182,130, 50,202,115,102, 2,206, 27,199,254,184,160, 26,150,
+232, 60,231,228,120, 74,150,103,172,151, 51,100,240,252,204,215,223,143,224,157,126, 13,169,240,236, 85,172,222,210, 97,233, 43,
+227, 94,213,205,251,111, 78, 50,123,234,129,177,241,130, 6, 31,219,131,245, 50,206,253,218,246,201, 0, 17,249, 29, 6,215,139,
+196, 66,126, 50, 79,242,187,253,234, 41, 95,189, 7,122, 79,197,208, 91,114,188, 38,233,196, 91,183,161,115,108, 87,231, 90,197,
+ 74,149, 16, 3, 87,214,243,209,147,176,143, 49,169,130,139,226, 31, 23, 0,147, 62, 65, 80, 91,109,242,109, 32, 93,255,222,187,
+ 69,153,110,139,186,168, 30,165,126,201,236, 17,188,227, 35, 16,220,222,254, 52,209,239, 68,166,169,125,224,160,136, 60,221,135,
+ 78,177,151, 65,231, 2, 70, 72,242, 0,107, 41, 89,251,237,225,119,162, 84, 6,145, 90,240,169,122, 14, 79,160, 82,246,194, 19,
+219,163,131,190, 52,247, 46,137, 29,165, 99,179,189,118,116, 47, 68, 20, 30,109,199,247,172, 12, 23,158,157,234,248,217,207,176,
+115,227,136, 47, 94,127,129,207, 94,190,202,193,164, 98,111, 48,100,180, 55, 97, 58, 91, 70, 20,243,100, 2, 7, 99, 24, 95,226,
+168, 44,121, 41, 47,121, 41,211, 92, 17,129,187,245, 50,130,228,124, 6, 7,123,176,179, 19, 29,175, 92,247,233,214,150,115,177,
+ 82,207,139,141,197,110,111, 35, 44, 84, 92, 11, 33,196,153, 99,211, 38,245,199, 38,126,172, 23,241,123,150, 43,184,127, 7,150,
+ 45, 76,231, 49, 25, 88, 45, 1,139, 9,130,171,194,114,207, 8,246, 84,180, 73,253,192,194,190, 14,236, 89,195, 91,198,243,176,
+ 54, 92,241,158, 3, 5, 31,118,158,151,117,148,240,157, 11,120,206, 89, 30,172,106, 94,174, 42,238,173,231,208,173,192,121,194,
+124, 69,232, 12,190,200, 9, 90,226,219, 53,222, 91,124,187,230,227,198,113,164, 60, 15, 76,195,184, 80, 44, 87, 11, 58, 33,185,
+107, 28,141,179, 4, 85,164,241, 75, 14,195, 29,130, 11,188,176, 51,100,164, 75,106,211,177,183,179,131,109, 44, 94, 15,240, 66,
+ 98,149,164,182,130,135, 30,206,144,172,242,130, 38,171,232,202, 1, 70,101,248,124, 4, 58,227,133,172, 98, 32, 37, 63,176, 59,
+ 98,237, 50, 14,204, 18, 91, 76, 24,155, 25,228, 67,178,174,225, 86,200,121, 49,119,172,140,163,202,162,214,142, 2, 90, 27,184,
+151,101,200,213, 28,202, 17,147, 52, 67,191, 36, 21,167, 46,112,128, 99, 95, 72, 74, 41,185, 36,115,118,114,117, 33,136, 56, 84,
+ 25, 65, 8,206,157,225,235, 30, 56, 57,139, 34, 51,206, 60, 1,225,238, 31,107,197, 71, 53,207,217,233, 57, 44,167,143, 22, 41,
+ 58,137,127, 53, 29,239,191,115,155,175,255,242, 27, 60,252,165,143, 98,101, 43,227,158, 35, 86,171, 8,160,108, 29,162, 73,232,
+118, 27, 41,146, 82, 10, 14, 66,224, 69,173, 57, 16,130, 61,169, 25, 40, 69,145,105,114, 45, 25, 72,193,204,123,102,235, 46,250,
+184,247,163, 57, 33, 99,210, 37,162, 2,101,240, 30,123,231, 12,183,171,153,189,254, 46, 98,189,250,244,123,168,216,162,173,170,
+212,189,236,131,114,175,176, 25, 32,250, 30,167,203,180,221,230,239,247, 48, 37, 34,128, 78,108,213, 86,129, 71,170,245, 79, 23,
+212,181,222, 40,229, 20,146,163,215,118,248,248,173, 51, 6, 59, 25,135, 69,206,221, 58, 16,130,229, 82,169,104,125,206,115,135,
+ 67, 14,118, 75, 92,200,168,180, 96,127, 39,103, 50, 20,140,170, 28,239,147,228,102, 38, 49, 38, 90, 2,158, 44, 26,170, 66,225,
+124,224,225,201, 10,219,212,228, 89,172,182,134, 85,129,247, 2,149,229,120, 31,184,116, 48,230,252,116,206, 98, 49,229,175,191,
+119, 11,238, 78,227, 76,207,134,141,109, 39, 60, 91,245,208,239,203, 50,157, 95,106,219,125, 51,111,253,177,247,254, 63, 79,219,
+ 60,251,100, 65,242,221, 49,178,251,213,160,161, 61,203, 61,183,143, 38,214, 17,101,190,149, 88,100, 58,137,192,164, 64, 45,182,
+ 43,249,196, 41,239,101, 99, 67,136, 93, 14, 89, 93, 56, 41, 69,109,247, 46,205,200, 83,155,218,182,137, 54,152, 61, 26,196, 67,
+216,154,169,139, 13, 8,174,179,143,242,213,123, 84,124,182,165, 92, 87,136, 71,121, 52,130,141, 96,145,202, 55, 82,144, 40,130,
+119, 56, 41,105,131,140,167, 40, 21,181,151, 81,132,201, 64,166, 21, 75, 19,131,252, 69,192,118,225, 81,173,227,190,163,114, 97,
+ 79,107, 55, 85,122, 63,203, 15, 61,152,166,167,203,184, 71, 1,112, 50,141, 6,182,147,153,190,187,224, 83, 30,209,111, 8, 97,
+ 11, 68,248, 73, 70, 19,229,152,157, 27,215,121,245,224,136,113, 57,100,255, 96,159, 65, 62, 32, 24, 67,174, 20,235, 76,209,206,
+215,176, 63,132, 75, 87, 57, 26, 12,120,181, 26, 51,214, 26, 45, 96,224, 59,180,111, 57, 61, 94, 69,156,195,100, 24,223,203, 28,
+166,179, 79, 81,165,167, 57,106, 33, 35, 29, 32,139, 84,198,223, 48, 86,252,192,164,228,249, 82,241,193, 89, 27, 91,242,193, 63,
+106, 17,220,175,125,147,230,147,109, 19,255,109,218,184,233,175, 18, 24, 15,207, 92,121, 90,169,120,123, 54,165, 53,130,251, 77,
+ 77,133,226,118, 16,212,171,154,214, 88,198,121,198,241,186, 99,100, 28,141,214, 28, 8, 48,171, 37,199,197,128, 87,114,201,219,
+243, 37,235,122, 14,198, 16,112, 23,114,253, 97,246, 16,175, 6,120,229,241,109,139, 55,150,102,177,224,195,179,134,219,243,154,
+ 15, 79,167,220,111, 26,110,227, 35,157, 81, 15, 98, 48, 27, 31, 16,218, 8, 42, 29, 20, 21, 69,210,188, 23,163,138,243,117, 67,
+ 59, 24,144,103,154, 51, 47, 17, 82,115, 39, 8,110, 89,139,202, 43,150,121, 69,208, 89,244,186,207, 39,144,143, 40, 6,251, 92,
+ 43, 6, 92,157,236,130,200, 57,154, 20, 52, 89, 73,190,154,113, 76, 69, 22,106,138, 98,196,161, 52,220, 94,214,236, 23, 37,141,
+177, 49, 87,178,129,219, 2,154,166,166, 40, 42, 14, 4, 12,149,230,185, 42, 67, 90,203, 43,227, 10, 37, 20,218,117, 28,170,140,
+ 61,149,145, 37, 48,104,147,196,151,156, 16,204, 3,124,109,185,140,207,129,173, 83,146,109,191,197,102,214,143,174,186, 39,235,
+132,132,100,137,108, 82,146, 95,102,136,139,194, 34,126,143, 72,227, 29,129, 71,212, 77,164,204, 39,243,149,163, 74,114, 83, 72,
+118,165, 38,151,130,137, 86,236,229,154, 12, 77,174, 36,135, 74,177, 11,204,188,167,113,118, 51,102, 18,177, 3, 23,178, 52, 66,
+107, 91, 86, 31,222,137, 20, 50,239,163,104,205,167,217,127,251,209,147, 76, 64, 25, 45,226,154,101,171,144, 20, 73,116, 75,176,
+225,253,135,237,107,145,246,191, 97, 21,181, 91,122,205,120, 69,220,255, 62,117,165,190, 45,253, 41, 60,228, 37,171, 44, 32, 86,
+ 29,211,181,229,222,210, 83, 35,184,170, 29,153,148,156, 47,151,188,124,117,159,162, 26,225,140,225,104,191,228,104,183, 96, 82,
+169,200,231, 86, 34,250,119, 8,129,214,240,211, 95, 91,113,176, 3,171,218,208,218, 14,151,102,122,214, 88, 92, 16, 12,134, 5,
+206, 5, 70,163,156,229,162, 35,207, 21, 77,211,114,182, 88,241,238, 91,239,197, 86, 96,109, 55, 96,178, 94,151,248,211, 4, 76,
+191, 37,198,242, 29, 7,195,199, 80,119,223,205,224,254,204, 85,208,119,161, 59,208, 7,112,185,141,109,145, 27,113,159,222,246,
+243, 66, 19, 89, 71,208, 86,166,226, 70,237,237, 6, 5,223,219, 25,170, 34, 1, 67, 68,156, 83, 74,145,130,119, 6,126, 29, 3,
+ 91, 89,110, 2,217,186,217, 82,164,235, 85,212,194,163,129,110, 59,160,235,100,222,162,229,198, 1,174,175,142,123, 81, 27,177,
+229, 97, 78,226,150,247,246,165,200,152,249, 42, 69,161, 36, 51, 20,153, 16,248, 16,144, 42, 32,180,224,172,182,228, 90,209,110,
+ 75, 70, 26,255, 40,194,191,139,173, 59,218,232,149, 64,161, 31,173, 80,251, 4,167, 15,242,253,231,100, 15,186,179,155, 7,251,
+113,166, 99, 95,173, 15,163,146, 87,228,245,187, 77,119,234,147, 42,245, 27, 55,248,226,205, 27,148, 89,201,225,222, 37,138, 60,
+199,217, 14,107, 28,185,202,104,108,195,204,117,176,179,195,247, 29, 94,225,181,209, 37, 14,170, 1,141,181, 81,205,178,105,104,
+187, 21, 15, 86,117,172,146,178, 4, 20,156, 47,227,115,248,105,170,244, 11,202,161,134, 50,231,218,176,224, 55,142, 11, 38, 42,
+162,209, 39,165,228,195,217, 42,169, 42,202, 71, 85, 4,165,140,201, 88,153,197,107,161,100,220, 52,219, 52,207,151, 1, 86, 13,
+ 93,211,209,154,154,208,213, 44,156,195,205,143, 57,246,154,145, 51,236, 6,207, 73,219,113,108, 58, 20,130,155,227,156,176, 94,
+131,214, 40,169,216,239, 26,238,173,107, 30,212, 43,172,169, 35,192,207,180,209,202,181,235, 8, 34, 39,172, 87,132,122, 77, 24,
+148,120, 99, 99,176,119, 93,252,220, 98, 78,168, 87,132,233, 50,186,194,217, 6,116, 65,176, 22,198,187, 72,161,121,101, 52, 32,
+ 32, 56, 21,160,180,226, 65,158,211, 8,201, 87,140,163,203, 52,175, 11,141, 13,176, 76, 28,106,164,138,207, 80, 62,140,231,156,
+ 15,184,190,187,199, 36,203, 24,142, 70, 20, 8,206,157,102,156, 11,140, 46, 56,104,150,172,130, 66,248,154,115,163,121,126,167,
+228,108, 89, 51, 25, 42, 22,235,192, 45, 33,120, 94, 40, 12,240,188, 18,236,141, 10,156, 23,220, 24,148, 28, 85, 21,227,108,192,
+218, 59,174,102, 5,210,116,236,231, 57, 57, 2, 57, 40,169, 9,120,173, 88, 35,185,237, 29,111,218, 4,152, 60, 91,125, 50,150,
+227,153, 71,190, 62,142, 52, 73,160, 48, 25, 69,150, 68,191, 71,167, 61, 78,116, 14, 97, 58,132, 18, 8,239,144, 62, 32, 21,100,
+ 82,112,128,228,178, 20,236,228, 25,149,148,220,172, 74,174, 22, 21, 87,138,156,163, 34,231,234,160, 98, 87, 75, 62, 92,119,180,
+ 18,130,210,132,196, 42, 10, 33, 2,154,195,178,133,179,179, 24,204, 71,195,232, 80, 39, 36,194,218, 79,103, 60,230,183,112, 39,
+125,210,211,155, 48,245,202,155,193, 63, 74,195,237, 5,208,122,204, 82, 94,114, 97, 92,214, 39, 67, 91, 73,252,179, 7,245,158,
+ 58,165, 36,232, 97,148, 7, 60,158,163,158,159, 16,206,107,174, 95,175, 40, 50,203,135,115,195, 81, 41,184, 58,201, 9,162, 4,
+111, 57,220, 31, 34, 69, 96,119, 32,216, 25, 22, 56,231,104,141, 67, 11, 88,119, 6,239, 4, 95,255,224,140,247, 63,186,195, 32,
+207, 88, 45,150,204, 23, 75,214,171,154, 60,151, 12, 70, 21,121,158, 1, 10,103, 28, 69, 1, 77,227,112,193,241,254,253,251,204,
+117,160,187,117,188,213,170,120,140, 42,246,105, 91,220,223,141,224,123, 1,172,243,159,152,160,254,170, 6,116,245, 93, 41,213,
+ 19,200, 73,110,141, 41,236,163, 25,202,246, 38,155,171,216, 38, 29, 12,145, 95,252, 44, 97,182,136,237, 81,231,160, 24,197,170,
+ 44, 36,250, 91, 16, 81,205, 43,171, 54,116, 47, 37, 55, 52,144,117,162,147, 92, 56, 36, 37,224,160, 44, 54,237,233, 46, 5,204,
+109,103, 62,149,199, 68, 66,170, 13, 69, 48, 16, 91,181,170,167, 8,166, 81,128, 78,130, 57,201,122,148, 66,167,141, 34, 38,135,
+ 6,193,160,204, 88, 27,143,150, 34, 62,143, 38,144, 73,201,188, 55,108,184,248,251,126, 19,204, 93,136,215, 34,108, 81,250,182,
+ 91,240, 61,184,204,111, 85,250, 33, 41,205,117,110, 3,154,235, 85, 4,251,148,189, 99, 83,193,103,105, 3,232, 91,123,186,183,
+139, 20,159, 72,115, 44, 94,122,137, 16, 44,215, 15, 14,201,243,156,206,116, 40,145,108, 72, 9,180,193,113,188,106,248,210,213,
+ 67,138,106, 55,122, 60,228,138, 65, 86, 96, 58,131, 20,142,135,179, 19,206, 62,190, 19,219,200, 75,147, 16,241,221,166,253,222,
+107,100, 63,237, 25,236,191,222, 3, 63,117,129, 28, 14,248,157,151, 42,118,178, 28, 47, 4, 74, 64,215, 26,222, 57,111,146, 35,
+152,217,172,181,190, 75,148,231,112,120, 53,174,177,174,222,140,204, 50,157, 68, 59,146,141,240,116, 30,175,213,131,187,169,117,
+187,100,161, 52, 67, 60,210,117, 72, 2,133, 3,107, 45,227,193,144,206,116,248,229,154,157, 66,243,229,243, 57,206,180, 9, 39,
+ 99, 8,166,139,125,107, 27, 8, 82, 16,218,134, 32, 3,161,105,183, 93,182, 47,138,172, 96, 34, 88, 49,220,187, 15,195, 49,140,
+ 71,113, 45,234,104, 39,122,170, 51,188, 16, 92, 30,230,220, 91,117, 92,175, 50, 62,108, 45,151,180,230,190,243, 88, 36, 43,169,
+ 8, 34,128, 46, 19, 56, 42,138,232, 48, 28,115,105, 48,228,102, 38,121,241,112,135,182,181,168, 73,197,209, 32,231, 97, 23, 56,
+ 20,158, 85,174,105,219, 21,222, 73, 14, 10, 56,158,173,216, 27, 23,172, 59,207,185, 23,236, 2, 75, 33,201, 93,199,225,184, 96,
+ 71, 74,198, 74, 48,148, 25, 58,203,217,205,115, 14, 7, 35,240, 2,169,115, 86, 93, 67,200,114,234, 32, 88, 40, 65,155,101,220,
+117,158,247,140,224,142,243,177, 91,178, 92,197, 81,152,247,143,219,108,125, 27,237,201,222,157, 49,205,155,125, 44,222,132,220,
+224,124, 68,138,129,194,216,244,110,144, 34, 35, 35,160, 51,201,101, 45,217,209,138, 35,157, 49,210,154,129, 46,169,116, 70,153,
+229,236,102, 5,198, 91,172, 53, 76, 21,212, 4,100, 94,224, 93,228,185,203,174, 35,172, 26,112, 9, 1, 63, 44, 35, 45, 78,134,
+139,142,238,183,101, 27,254, 73, 64,233,139,175,251,205, 62, 96,211,124, 93, 37, 61, 13,107,226,216, 55,124, 26,244,251, 19,129,
+ 90, 9, 1,110, 36,131,207, 95,197,124, 56, 67, 93, 31, 96,131,103,250,238, 12,177,110,185,127,122,202, 7,203, 53, 59,250,156,
+157,170, 64,229, 35,118, 70,146,163, 73, 69,221, 52,148,133,138, 0,145,206,197,153,185, 14,236, 13, 5, 85,149,209,186,142,233,
+188,229,193,241, 3,140,119,104, 41,145, 89,198,100, 84,224,141, 97,185, 92, 81, 86, 37,211,243, 25, 93,211, 81,105,197, 27,247,
+ 31, 16, 86, 6,154,121, 82,183,106,191, 51, 77,244, 79,251,163, 23, 93,140,132,180,238,179,172, 39,217,168,249,111, 29, 67,191,
+227,164,194,109,241,161,229,227,227, 19,249,232,199,183,188, 78, 9, 76,160, 83, 48,247,114,155,103,245,205,235,195,165, 69,169,
+ 50,194,206, 78, 68, 48,135,164, 38,167, 66,156,193, 22, 18, 66, 30,249,154,189, 87,124, 81, 36, 10, 88,153, 90, 81,126,179,128,
+123,164,123, 79,147, 99,139,214,214,250, 71,145,213, 69, 30,129, 39,190, 23,131, 73, 21,253,182,211,153, 21,155, 74,223,187,168,
+242, 36,185, 48,141,136,179, 52, 46,208,243,198, 57, 42, 41, 89,121, 8, 33, 32, 2, 44, 43, 25,171,101,221, 11,238,216, 77, 64,
+207,213,134,146,231, 82, 50,164,244,133,132,236,197,245, 19,233, 30, 52, 41, 49,201, 68, 60, 72,151, 42,110,145,142,143, 45,111,
+117,181, 21,220,243, 30,116, 19,175,247, 69,182,255, 45,198, 51,238,124, 73,117,245,136,138,232,243,160, 16, 12,134, 21,109,189,
+198,250,142,186, 93, 50,204, 4,223,115,253, 38, 85, 85,177,146,138,194, 11, 36, 6, 92,199,241,114,198,215, 78, 78,225,193, 52,
+ 57,229,249,216, 6,116, 38,137, 3,145,186, 50,219,224,202,199,147,222,173, 17,138,146, 32,115,190,120, 56, 96, 47, 47, 24,107,
+ 69, 16, 18,227, 29,223, 88,183, 28, 79,163, 90,221,133,176, 80,191,110,123,187,231,213, 44, 2, 40,133,219,162, 7,110, 9,232,
+180,233,231,219, 85, 52,179, 89, 45, 99,208, 41, 37,179,102,206,209,112,151, 83,211, 82, 8,193,165, 76,179,182, 29,187,206, 49,
+ 42, 43,254,254,195,227,152,168,180,179,200,181,183,109, 4,188, 42, 69,176, 38, 6,242,229,121,108,215, 58,247,104, 48,127,236,
+ 61, 38,170,115,194,217, 12,142, 14,211, 26, 43,200,117, 84,161, 84, 68, 13,251,179,214,114,181,140,250,235, 45, 30,107,124, 20,
+ 43,234,129, 83,147, 73, 92,115,121, 9, 50,227,112, 92,112,115, 50, 64,103,146, 44,203,233,148,164, 13, 48,145,138,187, 86, 48,
+ 86,154,219, 54,160,156, 99,218,121,148,119, 44,189,164,105, 45,149, 16,220,115,134,207,142, 52, 7,131, 10,225, 61, 59, 66,112,
+165, 28,178, 18,130,177, 86,200, 16, 24, 13, 7,212, 1,186,214, 50, 42, 43,150, 72,214, 69,206, 84, 42,102,206,242,160, 17,204,
+165,230,212,182, 56,103, 8,138,136,185,248,118,192,147, 79,220,134,108,194,219,116,143, 24,170,136,190, 5,191, 61, 81,115, 46,
+ 78,161, 36,232, 92, 49,146,138, 29, 41,184,146,107, 46,149, 5, 35, 85,196,173, 42,120,164,208,180,222,160,180,102, 41, 3,211,
+186,102,156,101,212,214, 99,157, 97,164, 4,245, 98, 25, 19,186,243,121,212,134,207, 51,132, 22, 9,101,111, 35,229,237, 49,136,
+206,167,126,189,112,141,253, 47,124,134,250,214,189,111,102, 65, 61, 30,232,219, 46, 57,133,118, 79, 28, 19, 63,209,222,236,171,
+127,239,167,248,143,127,226,127,224,111,254,221,159,123,242, 1,172, 27, 24,148,172,223, 58, 69, 20, 26,119,107,193,186,245,136,
+ 28,126,240,251, 95,228,203,255,240, 1,208, 32, 41,185,123,118,159, 32, 53,207, 95,126,137,119,238,157,241,202,149, 9, 47,222,
+ 60, 98,181,106,121,231,131, 7, 96, 61,247,167, 45,139,117,205,221,143, 79,152, 45,215,156,181, 75,150,214,208,153, 64, 86, 72,
+118,179, 33,167,199, 51,254,212,191,242,187,248, 63,127,238, 77,190,113,235,132,182,107, 57, 95,213,252,181,159,248,215, 81, 74,
+226,211,188, 85, 74,137,148,130,201, 43, 63, 66,103,126,149,145,225,189,184,137,216, 70,193,109,251,180,127, 27,137, 65,127,131,
+244,119,128,108, 87,143,189,111, 31,235,183,215, 3, 75, 7,148,192, 45, 79, 82, 84, 26,148, 23,235, 34, 2,158, 44,188,243, 97,
+100, 74,168, 50,118, 79,124, 52,202,192, 38,138, 90,158,116,225,109, 66,138, 23,163,200, 36, 80,101,178, 7, 77,188,105,183, 69,
+235,235,131,123,191, 14,117, 58, 46,107, 31, 61,199,124, 11, 64, 38,100,148, 28,246, 34,126,190, 87,108,235, 91,216, 89,186, 88,
+193, 61,202,149,135, 11,117,184,117,202,152, 59, 31,232,130, 68,182, 2,143, 75, 35,137,116, 45,122,197,184,158,146, 7,177, 29,
+220,177, 53,219, 79, 92,244, 32, 54, 93,132,254,107, 62, 89,173,246, 84, 55,107, 55,179,247,167,101,155,222,166,132,193,166,243,
+121,134,219,217, 44,120,240,230, 71,148,159,147,156, 46, 87,188,114,245, 26,166, 61,163, 44, 52,160, 56, 24, 76,248,204,209,101,
+202, 65, 9, 34,227,250, 96, 72,107, 28, 31, 62, 92,240,229,213, 20,191, 92,110,116, 7,214, 22, 6, 26,202,113, 60,134,198,197,
+ 64,223,175, 7,251,148,181,158, 0, 73,180, 29, 20, 57,215,247, 53,151,133, 96,234, 28,131,144,225, 68,224,107,181,225, 27,203,
+ 84,169, 60,105,253,150, 99, 56,184, 4, 15,239,108,198, 47,253,247, 93,172,207,173,117,177,110,128, 38,206,123,231,199,241,103,
+190,248,121,102,139,251, 92, 26,236,178,240, 29,111,156, 47,249,222,157, 67, 36,134,166,171,185,150, 73,110, 55, 45,194, 68,117,
+177, 48,157, 69,251,214,135,167,241, 25, 95,156,130,148,113, 62,254,216, 43, 60,233,255,235, 6,116, 3, 31,188, 9, 87,159, 3,
+165,105,149, 38, 8,133, 73,157, 37, 45, 5,239,173, 26,148,132,171,121,193,109,209,224,154, 36,113, 76, 25, 25, 0, 89,122,206,
+148,230,210,176, 36,228,177,187, 81,228,160, 76, 60,111,155, 43, 70,165,226, 23, 30, 46,216, 45,134,252,109, 19,216,149,150, 42,
+ 40,174, 54, 11,116, 57,166, 2,174, 41,141,195,177, 19, 60, 50,175,200,117,198,217,106,193,181,225,152, 78, 75,206, 91, 75,179,
+ 92, 51,153, 76, 88, 10,135,145,209,193,236,220, 90, 76,145,115,214,105, 78,164, 99,109, 58,118,243, 1, 39,229, 16,155,207, 96,
+188, 15,237,253, 95,213, 45, 56, 96, 17, 90, 19, 82, 27,252, 98, 82,101, 45,172,107,234, 14,186,231, 52,107,167,152,183,134, 98,
+ 0, 54,116,104, 10,144, 26,227, 13,185,210,236,120, 79, 48,150,215, 6, 3,222,237, 26, 62,151, 59,222, 93, 59, 86,222,115, 77,
+192,157,135, 39, 81,119,190, 53,132,176, 6, 27, 16,198,198, 46,204, 19,238,185,120,202, 26,120,234,235,195, 59,156, 73,241,244,
+174, 86,175, 32,217,175,235, 79,240,187,248,166, 39,101, 56, 40,249,252,103, 95,224,231,127,241,141, 39,236,237, 54,129,228,146,
+174,119,183, 2, 87,161, 94,221,199,191,125, 15,117,243, 26,191,240,143,238, 80,221, 40,169,178,146,159,125,231,152,207,220,104,
+216, 47, 75,222,124, 39,231,232, 96,135,197,110,193,206,100,192,235,111,223, 98,186,152,177,110, 29,153,232,248,250,155,247,248,
+ 59,111,125,200,165, 74,178,183, 51, 68,134,152,253,223, 59, 55,120,235,216, 29, 15,120,238,112,135, 95,121,231, 22,239,221,123,
+ 72,161,115, 38, 85,201,143,254, 59, 63,201,255,243,238,251,240,254, 3,104, 22,252,249, 63,253, 39,121,238,232,210,175, 65, 64,
+231, 9, 1,253,113,148,123, 31,108,248,100,239,243,222, 82,115,187, 10, 17,252,218,188,190,213,177,109,223,251, 39,253,187,216,
+ 50, 84, 41,199,169, 61, 38,162, 9, 75,207,197, 44,114,232, 68, 4,119,244,232,253, 97, 9, 77, 74, 60,180,220, 80, 51, 42, 29,
+177, 17,217, 78,172, 96,237, 34,122,176,171, 60, 86, 76, 93,189,209,124,239,215,225,246, 2, 87, 9,132,114,145, 54,247, 85, 93,
+ 10,232, 93,242, 83,238, 82,224,191, 64,143,203, 77, 64, 52, 61, 42,117, 43, 65, 11, 36,212,105,128,208,225,253, 86, 85, 45,182,
+ 42,116,111, 55, 26, 6,164,249,111,149, 71,160, 79,112,143,242,216,189,221,252, 91,132, 77, 66, 80,234,216,222,253,164,246, 78,
+ 78,236, 72,101, 41, 49,184,118, 8, 31,222,223,200,222, 58,255,201,247,182,105,248,232,131, 59,140, 46,239,177, 51,205, 24, 23,
+ 37,171, 58,218,196, 30,237,236,177,119, 52,161,110,162,216,206,170,109, 88,180, 13, 46, 3,191,154, 65,151,180,167,243,173,107,
+ 4,113,148, 33,154,248,247,215,137, 13,225,158,226,121,111,211,215, 83,192, 13, 66,208, 4,143,246,129,247,186,142,179, 14,222,
+169,211,207, 21, 2,230, 91, 26, 4, 33,174,181,252, 11,175,208,221, 59,251, 22,137,235, 99, 9, 95,159,144,246,246,150,239,188,
+133,253,220,107,156,213, 53,132, 21, 72,197, 47,222,125,143,188, 28, 83, 9,193,108,126, 6,210, 19,154, 8,146, 19, 85, 9,171,
+134, 32, 53, 60,124,152,152, 48,221,183, 8, 60,143,189,230,167, 96, 87,145, 45, 96, 1,149,211, 1,183,229,152, 35,215,226,170,
+138,214,121, 94,173, 74,238,117, 29,206, 38,136,186, 77,244,217,178,188,120,142, 46,233,200,216,176, 66, 48, 46, 53,214, 5,116,
+225, 81,121, 78,221, 90, 78,219, 64, 53, 44,121,195, 74, 14,133,160,238, 26, 68,107,120, 32, 38,236,153,134, 74, 72,174,236, 14,
+ 41, 77,141,148, 26,135,164,234, 90,118,118,119,185, 91, 55,228, 78,113, 56, 40, 24, 82,242,208, 7, 70,187,151, 56, 63, 62, 6,
+ 37, 88,171,156, 46,192, 10,144, 33,176, 18, 18,135, 36,232, 44,170, 16,142,151,176, 78,201,221,175,202,203, 62, 26,194,116, 79,
+ 51,142,235, 63, 8, 64, 26,110,157, 46, 81,151,225,197, 82, 51,109, 59,142, 84, 73,235, 28,173,179, 84, 42,231,196,116,212,193,
+178,159,231,204,172,225, 32,215,172,154,142,151, 67,203, 7,179,154,251,103, 11,164,179, 4, 27, 63,132,141,231, 19,236,163, 88,
+182, 79,188,231,207,242,122,255,246, 19, 18,215, 18, 6,195, 4, 16, 77,186, 14,166,123,166,208,148,246, 67,201,199,191,244,215,
+144, 82,242,225,151,255, 42, 0, 95,250, 29,127,152, 15,110,221,229, 63,248, 19, 63,198,191,249, 47,255, 94, 14, 15,118,249,153,
+ 95,248, 26,255,210,191,255,103, 57, 62,155,241,195, 63,244, 61,252,143, 63,241,239,242,215,127,254, 23,249, 23,126,219, 15, 34,
+149,226, 79,254,248, 95,224,123,127,224, 53,254,192, 63,241,155,185,124,184,207,159,251,171,127,139, 63,247,151,255, 47,254,232,
+ 15,125, 63, 82, 88,180,254, 62, 94,127,243, 35, 86, 77,199, 15,126,254, 5,190,231,139, 47,243,119,190,252,151,120,248,250, 91,
+252,200,191,248,187,249,183,254,232,239,225,198,229,125,190,254,241, 61,126,236, 39,127,138, 95,126,255,109,238,254,165, 63,141,
+ 64,240,147,255,246,239, 3,224,143,253,217,191,204,207,190,253,141,216,253,156, 25,176, 53,255,252,239,254,173,252,190,223,243,
+ 67,124,207, 15,255, 17,126, 93, 95, 61,184, 65, 60,107,208,220,162,242, 92,180,152,121,118,141,225,103,237, 40, 60,237,111,107,
+251,108,129,253,105,199, 93,150,177, 10,239,221,212, 84, 1, 86,199,207, 55,117,148,142, 29,148,155,227,200, 52,180, 73, 26,182,
+136,150,138,145,247,223,198, 25, 41,117,148, 24, 85, 62,182,233,251, 42,221,177,161, 61,125, 19, 56,110, 11, 33,239,205,166, 53,
+ 29, 82,171, 90,166, 28,190, 15,232, 50,196, 68, 99,144,127,115, 75, 56, 35, 30,135, 77, 32, 65,147,170, 97,209, 87,228, 91,237,
+124,177,245,248, 54, 9, 73,232, 83, 96,237,103,245,117,226,223, 23,217,214, 24, 32, 5,116,231, 82,162,144,254,118,174,210,239,
+217, 10,148,166,217, 32,226,183,129,114, 90,196,121,113, 86,114,233,242, 1, 39, 15,103, 48,235,210, 40, 65, 38,239,132,173, 29,
+102,123, 45,133, 21,100, 7,188,118,245, 38, 90, 58, 6,163, 17,174,169, 81, 74,179,127,120,137,178,204, 81, 69, 96, 58,111,168,
+ 93, 71,231, 44,199,245, 60,110, 44,139,117,252,176,102,179, 86,157,221,128,254,164,127, 74, 15,240,177, 53,185,181,214,239, 28,
+175,120,126, 60,228, 78,211,128, 47,121,167,115,155,243, 21,114,147, 32, 92, 36,235, 53,221,219,239, 70,250,104,219, 61,161, 66,
+127,108,221, 63,254,249,190,149,219, 76,152, 31, 31,195,184,141, 5, 75,178, 36,237,128,206,172,226, 8,193, 68, 14, 52, 64, 56,
+153, 70,175,245,166,217, 84,255,197,147,157, 2, 63,113, 99, 95, 55,177, 61, 61,174,226,249,237, 94, 6,123,200,131,241, 78,212,
+214,215, 37,239, 44,234, 77, 23,168,255,123, 66, 70, 4,246,112, 0,157, 71,101,158,202,121,156, 18,204, 93, 96, 80,102,152,198,
+ 96, 8,136, 66,179,178,158,147, 96, 41,131, 98,145,105, 6,114, 68,147, 91,196,116,206,160, 24,162,186,134, 82,192,104,178,203,
+ 14,130,105,211,161, 6, 21, 31,206,230,188,178,183, 71, 99, 13,171,214,113,234, 12,207, 15, 7,156, 19, 56,216,223,231,214,236,
+156, 66,230,156,174,187,200, 0, 17, 48, 8,158, 70,107,180,206,112, 34,131,225,128, 32, 10,112,205,147,241, 61,219,157,206, 79,
+ 83,132, 93, 36,105,143,221,243, 94,175,201,123, 66, 90, 87,161,179, 4, 3, 31,157,231,252, 3, 47, 40,145,236, 23,138, 12, 80,
+ 50,103,233, 13, 74,106,238,172,107, 78, 9,104,165,144,206,162, 75, 77,214,193,229, 61,193,195, 85,234, 2, 52,117,106,121, 63,
+ 58, 90,249, 38, 12, 5,143,226, 91,191,109, 76, 65,145, 67, 89,196, 2, 72, 8,112, 42,225,109,252, 39,198,133, 71,102,234, 33,
+ 4,156,115,156,156,205,248,254, 31,249,215,248, 47,254,235,255,153,243,217,130,159,248,143,254, 13,126,251,111,254, 18, 63,250,
+135,254, 61,254,204,127,245, 63,241, 99,191,255,119,241,165, 87,159,231,111,253,253,175,242,135,254,185,223,206, 23, 94,123,137,
+255,242,191,249, 43,252,137,159,250, 43, 92,175,198,252,135,127,252, 15,242,191,252,181,159,230,143,255,103,127,145,143,166,199,
+252, 39,127,228, 15,240,231,254,187,255,149, 92,214,124,254,133, 27, 76, 70, 67,254,238, 79,255, 60,191,243,183,124,145,151, 95,
+184,202, 31,249, 79,255, 91,254,239,127,248, 14,127,242, 15,255,179,252,254, 31,249, 65,126,255,159,248,179,252,169,159,252,139,
+252,150, 47,124,134,223,254,242, 77,254,234, 95,250,223,113,251, 59,116,173,225, 95,253,207,255,123,254,194,255,241, 15, 88,173,
+ 86, 88,103,120,227, 87,238,192,116,202,205, 23,174,242, 55,127,234,207,240, 7,255,216,159,230,205,119, 62,250,181,169,210,241,
+ 27,177,148, 39, 61,210,129,103,243, 40,239,129, 61,126,203,145, 43,244,173,216,239, 70,146,225, 63,217,114,246,153,125,212, 31,
+ 27,248, 95, 24, 28, 84,233,148, 85, 2,193,117,144, 87, 96,151, 49,130, 21,101,188, 22, 85, 1, 85,149,134, 93, 58,130,210,134,
+131, 24, 64, 93, 74, 14,156,219,200, 32,154, 5,200, 50,166,196,222,196,160,218, 3,227,202,252,209,141, 64,234, 77,128,233, 9,
+180,206, 37, 48,158,216,204,209,173,216,180,188,123,106,140,220, 66,196, 43, 25, 55,218,114, 16, 31,168, 94,198,214,218, 56, 79,
+105, 76, 12,166,150, 77, 80,251,255,186, 59,243,216,202,174,251,190,127,206,114,151,119,223,198,101, 54,105,180,203,178, 36,203,
+ 82,237,120, 81,188, 1,110,155,218, 13,218, 24,112, 19,184,168,255,180, 83, 32, 64,209, 38, 5,130, 2, 6,138,180, 64,227, 46,
+105,141, 26, 40,138,182,169,155,182, 6,154,216,109,224,164,177, 93, 27, 65,108, 3, 74, 17, 91,134, 20, 69,171,173, 37,150, 53,
+210,140,102,134, 67,114, 72,190,229, 46,103,233, 31,231, 92,222, 75,206,140,228, 25, 73,142,209, 7, 16, 36, 31,249,222,187,203,
+ 57,191,245,251,251,126,235,232,169, 91, 36, 61,190, 35,175,176,190,119,189, 84, 36,138,112,157,156,234,129,102, 96,191, 34, 70,
+ 4,195,212, 33,232, 57, 76,118,209,239, 73, 87, 53,139,237, 69, 16, 52,106,103,228,137, 61,121,209,151,233,117,221,122, 74, 52,
+119,223,247,118, 38,195,130, 99,227,117, 82,165, 25, 20, 5,227, 65, 65, 83, 55, 12, 70, 5, 94,104, 68,170,105, 28, 56, 28, 79,
+109,109,211, 8, 9, 23, 46, 4, 10, 88,211,116,199,236,162,212,166,142,228, 49, 45, 81,149, 10,162, 76, 7,122,171,253, 62,161,
+ 86,113, 84, 17, 94,108, 96,203, 43,182,132, 15,193,138,139, 85, 20,235,130,194, 85, 95,200, 40,209,176, 88,118,204,145,237, 61,
+234,143, 26,181,243,238,142,131, 65,114, 31, 75, 82, 45,195, 49, 14,179, 72,128, 20,143,115,123, 35, 16,222, 72, 21,232,105,181,
+134,205,109,152, 14,195, 26,216, 62, 23,208,221, 89,250,170,153,250,149,177, 47, 13,204,150, 97, 31, 12, 70, 1, 27, 32,117, 28,
+ 9,171,194, 57,167, 49,168,107,215,133, 82,221,244,135,169,104,140, 99,109, 92,176,174, 36, 74, 73,246,106,143,148,130,165, 23,
+156, 89,212, 44,113,204,107,139, 84, 10, 82, 77,227, 61, 78, 73,142,166, 41,141,148,220, 49,144,140, 17, 88, 47, 25, 74, 65,145,
+103, 44,107,195, 90, 81,176,181, 44,241, 90,147, 41,201, 40,205,184, 96, 26,214,117,194, 5,107,184,101, 52,225, 84, 89, 50, 72,
+161,170, 45, 53,130,165,173,216, 50, 13, 66,106,106, 83,117, 99,169, 91,219, 29, 51, 98,223, 97, 37,170,107,169, 93, 45,121, 81,
+111, 13,137,120,111, 69,143, 30, 66,120, 31,116,212, 33,140,186, 57, 88, 36,138,163, 90,145,105, 73, 74,104,159,205,156,101,219,
+ 90, 46, 56,203, 2,129, 21, 30, 33, 4,210,251, 64, 75, 46, 37, 39,134, 41, 34, 81, 44,147, 1,216, 6,233, 65, 28, 2,199, 93,
+ 65,134,235,218,123,236,237,254, 77,211, 14, 84, 42, 68,216, 99,175, 2, 2,191, 36,158,126,239,187,238,229, 27,127,252,208,254,
+239, 55, 92,119,148,191,247,137,143,114,251,253,127,155,243, 23, 46, 2,240,187, 95,125,128,143,253,205, 15, 66,185,199, 79,255,
+165,183,240,111, 63,247,191,248,230,255,125, 2,117,251, 58, 27, 91, 23,249,250,131,143,240,123,143, 61, 70,189,156,115,246,249,
+ 77,118,102, 11,236,162,228,219, 79,158,231, 19, 31, 91,225,143,254,236, 73, 62,242,115,239, 71,107,205,135,126,229, 55,216,220,
+216,227,216,218,136, 79,253,210,223,226,190,159,251,135,188,180,189,139, 51,154,175,125,235, 65, 62,249,177,159,133, 69,201,253,
+ 55, 93,207,215,190,243, 8, 79,109,158, 39,145,146,199, 47,206,200,178, 32, 50,161, 71, 5,191,243,217, 79,241,239,127,251,171,
+ 60,240,208, 19, 63,222,186,181,239, 1,176,250,229,119,119,149, 61,113,219,150,220,123,128,179,215,181,131, 96,174, 0,161, 48,
+ 63,106, 4,115,233,115,222,193,112, 26, 70, 7,163,100, 41,178, 9,229,114, 83,129, 30, 71,173,110, 7, 43, 3,152, 22,161,228,
+ 40, 36,140,178, 64, 6,147, 8,210, 36,167,102,121, 41, 97, 79, 50, 14,239,237, 0,105,186,158,125,109,186,126,122,107,200,197,
+229, 90, 32,186, 3,149, 65,112,198,109,217,221, 68,133,188, 36,143,206,216,133, 13,212,146,187, 12, 90,227,145,192,162,233, 0,
+136,137, 14,165,116, 45, 2,130,185,142,199,236,234, 46, 92, 23,135, 67,244, 24,168, 45,234,174, 50, 80,153,144, 69,215,241,127,
+147, 94, 9, 63,139,206,223,134, 44, 60, 4, 30, 61, 71,116,224, 28,218,177,191,121, 55, 54,217,196,118,134,237,129,104,132, 12,
+148,178,237,253, 94,191,137,227,171,235,104,169,217, 89,236,145,231, 57,171,249,144, 36, 79, 73,101, 26, 49, 89,134,201,116, 0,
+ 18,230,203, 5,183,140, 87,241,102,198,247,198, 67,216,220,233,174,107, 59,158,211,158, 99,139,177,168, 77, 36,102, 50, 87,118,
+126,109,150,221,148, 48,111,129,156, 45, 72, 49,146, 7, 73, 21,112, 22,182, 60,152,229,183,159,173, 47,131,169,208,241, 92,205,
+161, 62,187,190, 76,214,119,113, 22,152,245,210, 54, 88,216, 11, 96,186,202,192,169, 51,193,145, 22,121,144, 0,157, 47, 3, 59,
+228, 43,100,232, 87,149,113,170, 37,252,249, 11,225, 60, 7, 41, 52, 11,152, 28, 15,253,104,107,160,148, 93,123, 72,200,174,244,
+ 26,191,167, 89, 78,125,238, 34,230,196, 26,110, 94, 51, 28,166,224,100,160, 76, 80,158,166,129, 97,150,176, 83, 53, 88, 37,112,
+105,152,114, 88,120,207,170, 75, 56,147,228,164,110,193,221, 89,202, 66,192,145, 68, 65, 82,224,234,134, 65,154, 4, 21,100,161,
+152, 11,199, 48,205,152,153,154, 19,163, 1,103, 22, 75,142, 15, 6,108,151, 75, 26, 26,156,183, 88,149,131,153,225, 26,131,202,
+ 71,152, 34,202,151, 14,199, 65,147,163,127,111,156, 60,152,189, 43,249,163, 87, 38, 15, 93,247, 3, 25,113, 79,176,208, 43,185,
+ 63, 94,232,154,146,229, 30,124, 77, 8,172,132, 66, 44, 56,150, 5,194, 35, 43, 5,115,165, 3, 75,164,245,104, 37, 24,106,205,
+ 0,197, 12, 65,158, 75,134, 72,142,100, 21, 79,178, 2,179, 57,126,209,224,125, 40,199,247,209, 46,254,208,207,175,205,100,155,
+ 32,109,188,175,191, 30,136,122, 94,237, 26, 93, 98,177,223,243,206,123,248,244,103, 63,191,255,251,135, 62,248, 46, 30,126,244,
+233,125,135, 14, 48, 29, 21,156,223, 14, 36, 19,247,191,253, 78,254,201,103,254, 43,140,114,236,243, 23,120,251, 93,111,226,155,
+223,126,146,157, 23,246,152,222,182,194,123,223,255, 86,190,253,240,247,112, 82, 51,190,110,192, 93,183,223,198,251, 86, 71, 76,
+ 71, 5,119,254,141,127,192,238,172, 98,116, 52,227,175,254,244,125,100,169,230,161,223,251,215,241,106,120,164,144,124,241, 15,
+190,137, 7,222,115,223, 29,124,250, 55,126,139,157,231,126,176, 15,184,170,226, 92,241,175,255,242,199, 49,214,241,235,255,249,
+127, 7,135, 66,253,198,250,115, 67, 40, 89,183,151,207,186,131, 78,197, 93,195, 29,237, 27,165,170,254, 49, 5, 38,230,218, 3,
+135, 68,134, 50,187,237, 59,116, 31,174,191,175,162, 99, 95, 66, 54, 8,255,187, 50, 10, 32,170,149, 33, 89,150, 81,237, 85, 76,
+ 38, 3,202,210, 99, 91, 62, 99,116,200,202,171,101, 64,176,103, 61, 16, 90,157, 4,144, 83,109, 46,189,102,109, 73,190,229, 79,
+ 86,189,123,144,137,110, 57, 24, 31,126,247,209,193,139, 24,152, 16,203,244,101,236,135, 15,243, 78,188,196,187, 96, 92,117, 68,
+ 62,150, 38,150,200,155,208,251, 78, 85, 96, 95, 59,236,204,219,223,219,185, 83, 31,157, 85,105,194,235,124,204,238,211,126,159,
+188,103,229, 92,203,104,101,186, 74,132,171, 35,213,109, 47, 72, 49,254,224,186,107,151, 97,227,122,216,205, 62,136, 51, 84, 52,
+110,184,237, 36,179,106, 73,158,104, 50,149,178, 87,206,209, 8, 50,173, 81, 67,168, 23, 53,211, 35, 19,118,247, 26, 22, 85,195,
+238,178, 66, 99, 40, 27, 56,178, 58,229, 66,185,132,151,202,144,173,239, 7,161, 38, 4, 33,210,117,125, 84,173,187,210,249,171,
+225, 53,148,233,136, 56,218,160, 49, 21, 65, 4, 3, 96,135, 80,173,241,166,123, 77,223,192,239,115,255,167, 7,251,142, 2, 72,
+167,112,235, 42, 60,251,220,101, 2,217, 58,242, 18,196,160, 46,199, 28,146,165, 0, 0, 19,212, 73, 68, 65, 84, 25,132, 15,187,
+176, 13,213, 94,168, 68, 93,220,137,228, 74, 85, 88,131,197,235,212, 43,174,234,240,249,207,191, 0,199,214,122, 99,195, 50,220,
+243, 74,198,209, 69,194, 40,103,108, 73,164, 66, 83, 11,184,213,212, 84, 58,225,135,103, 54,184,101, 60,100,161, 37, 59,101, 67,
+170, 85,192,163,106, 25,240,186, 89,144,153, 93, 36,158,129,147,148, 90,145, 13, 28, 55,214, 21,168, 49, 27,222,146,121,199,197,
+218,144, 36,154, 36,207,216,174, 42,174, 19,154,185, 55,228, 42, 65,226, 16, 73,138,179,150, 53,157,176,225, 26,106,149, 48, 73,
+ 60,167,155, 26,105, 75, 18,157,144,160, 40, 75, 19,156, 81,158,195,145,181, 96, 11, 90,109,132,182,197,213,199,175, 92, 77, 73,
+122, 52, 13,247,231, 74,118,210,183, 83, 94,174,151,183, 24,240, 37, 75,169,248,242,210,114,231,177, 33, 43,118,193,170, 77, 25,
+ 39,193,103, 36,105, 18,114, 52, 33,240,113,124,104,168, 37, 30, 69, 35, 5, 43, 90,177,146, 40, 30, 17,138, 74,215,120, 83,226,
+154, 6, 81,155,253,185,121,119,153,204,252, 53,149,225,189,129,157,157,176,119,165,123,213,126,250, 37, 78,253,150, 27, 79,176,
+ 58, 29,243,232,147,207,237, 63,119,116,125,149,189,217, 65, 18,129,143,252,245, 15,240,155,191,243, 85,110,187,253, 22, 70,195,
+ 1,143,253,240,165, 8,204, 17,124,224,254,123,248,231,159,251, 18,222, 59, 70,197,152,123,174, 63,201, 3,143,125,159,119,188,
+253, 24,223,127,161,230, 45,183,223,192,167,255,251, 55,120,247,155,143,242,233, 95,254, 56,255,225,139, 95,226,241,103,182, 89,
+ 95, 25,243,149, 7,254,148, 95,248,213,207,226,189,197, 55, 30, 63, 47,241,245,156,155,111, 60,206,234,116, 20,142,203,214, 80,
+ 0,197, 4,134, 67, 62,124,255, 61,124,242,231,127,134,183,253,194,175, 6,231, 80,164,193,184,191,209, 64,185,125,159, 30,127,
+232,247, 59,175,213, 89,190,161, 60,238,209,249,213,230, 42, 62, 71, 95, 33,203,223, 79, 9, 15,238, 72,161, 58,112,156, 34,128,
+211,178, 20,142,142,195,232,206, 56, 35,215, 9,206,195,112,117, 66,109, 13,121,150, 34,164, 97,111,105, 72,144, 84,152, 72, 27,
+ 90,195,142,233,156, 49, 38, 34,172, 27,240,101,119,124, 66,135, 32,175, 53,222,135, 37, 75,219,254,185,142, 30,119, 63,203,238,
+101, 64,237,107,219,146,246,230, 44, 56,146, 36,102,132,146,192,106,166,162,227,109,226,255,238,163,220,101,216,124,109,112, 32,
+ 35, 65, 19, 61,208, 99, 75,132,211,127, 93,155,229,183,239,153, 69,105, 88,161,218, 3, 63, 4,170, 59, 52, 30, 86, 19,156,222,
+ 62,102, 32,222,146, 54,232, 58,188, 7, 90,199,171, 82, 94, 58,117,154, 27,238, 89, 3, 96, 94, 46,209,137,192, 52, 13,206, 86,
+ 84, 75, 79,154,231,212,141,165, 24,103,156,218,188, 72,109, 26,110,212, 57, 85,230,185,119,120,130,167,202, 37,223, 91, 84,112,
+118, 43,192,173, 91, 71, 87,155, 88,133,208, 93,133,162,117,232, 87, 2,206,181,207,215, 6,146, 26, 92, 26,239,109,188, 55, 69,
+168,200,169,241,144, 19,169,227,244,198, 2, 22, 59,151,178, 8,238,247,221, 15, 33,225,189,129,249, 38, 60,187,121,249,236,218,
+ 52,112,113, 47, 8,215,136, 36,148,194,215,215,195,243,167,231, 1, 16,220, 24, 96,212,177,128,165,250,245,221,158,229, 30, 92,
+104, 34, 67, 96, 92,135,131,149, 48,151, 94,214, 17,160,172, 88,115,142,147,131,156,117, 9, 79,204,151, 28, 79, 37,190, 42, 57,
+ 85,150,108,160,208,123,115, 40, 6,108,249, 0,144,195, 6, 37,192, 34, 81,108, 11,139, 51,176,240,150,155, 11,205, 81, 33,168,
+ 42,201,186, 20, 44,154,146,163,105,202,249,237, 25,183, 14, 37,167,231, 53,215, 37, 41,187,182, 97, 37, 73,217, 49,134, 66,105,
+230,166, 97,168, 18, 54, 49, 52, 22,150, 77,195, 89, 39,176, 74, 50,119, 26,101, 5,165,143,129,126, 86,192,176, 6,113, 49, 34,
+245,229,190, 62,249,126,217, 61,185, 74,251,103,221,193, 53,117, 57, 28, 67, 59, 69, 36,101, 32, 1,138, 69, 54,111, 12,126, 62,
+199,169,138,167,206,195,201,105, 74,230, 3, 46,101,152, 15, 40,109,131, 80, 9,185, 86, 56,227, 81, 42, 16,242, 52,214, 82,232,
+140, 92, 25, 6,192,155,110,204, 57, 83, 86,252,176, 44,249,225,102,133, 45,231,216,101,117,192,225, 58, 94,135, 76,125, 63,129,
+138, 36, 94, 50,237,104,101, 95,225, 90, 29,168, 89,158, 56,186,134,181,142,209,112,192,120, 24,234,143, 79, 61,243, 60,239,123,
+247,125,220,113,235, 13,164,137,230,159,254,163, 79,146,101, 41,191,253,251, 15,112,255,253,111,229,225,199,159,197, 8,141, 7,
+110, 58,121,140,225, 96,192,159, 61,242,125,214,223,188,202, 75,223,123,153,119,191,237,205, 60,121,246, 69, 30,124, 98,131,119,
+221,121, 19,207,189,180,193,191,251,221, 47,242, 75,255,236, 63,241,145, 15,190,147, 27,142,223,130, 83,154,199,158,125,145, 15,
+252,212,221,252,212, 91,110,195, 27,207,234,116,192, 39,255,206, 95,161,152, 12,123,199,149,134,227,178, 26,180,230,186,181, 41,
+159,255,212, 47,242,137,127,241, 95, 56,189,177,211, 33, 4, 61, 63,158,135,137,206,219,180,142,210,116,207,253,164, 61,132,142,
+ 97,164,190,182,128,160,159,161, 39,192, 32, 50,192,165, 61,135,162, 34,241, 75, 22,103,179,143, 29,131,233, 24,146,132,233,120,
+200,209,188, 64,139,148,161,200, 72, 68,194, 80,101,140, 83, 77, 83, 65, 46,117,104,119, 15, 90, 93,239, 72, 20, 99,108,236,217,
+ 39, 81, 33,172, 12,159, 1,145, 94,244,240,174,214,221,119,213,203,104,247,143, 63, 58,116, 14, 85, 87,164,234, 50,228,246,222,
+ 46, 99, 38,218, 82, 56,150,189,209, 53,231,187,237,235, 76,231,192,196,161,173, 37,101, 71,108, 35, 99, 12,100,122,115,246,109,
+118,158, 0,149,143, 1, 67,116,136,253, 17, 23,157,244,144,242,109,102, 31, 3,158,180,181, 90, 61,194,163,198,245,130,175, 67,
+173, 22, 7,236,108,243,252,246, 89,150,139, 93,140,169, 88,238,237,210,152, 57,179,217,140,186, 90, 50, 95,204, 40, 23, 37,243,
+221,146, 81, 42, 56,174, 83,164, 80,172,143, 39,156,222,221,101,146, 36,220,125,114, 21,142, 76, 46, 13, 26,138, 60,156,119,107,
+228,132,238,233,174,155,203,103,171,125, 30,123,111,187,118,148,136, 68, 27,171, 99,110, 91, 41, 40, 6, 67,222,113,211, 42, 12,
+198,161, 36,175,117, 87, 13, 56, 76, 19,140, 57, 24,144,182, 78,191,125, 77,235,244,219, 86, 71, 99,120,203,104,141,159, 95, 63,
+198,199,111,189,149,147,199,215, 33, 31,118,193, 81, 53, 59, 8,116,187, 22,144,234, 37,191,247, 3, 80, 3,231, 78,195, 75,231,
+ 2,136,206,212, 48,219,220,151,220,188,217,214,220, 87, 20, 76,235,154,220, 58,222, 63,200, 25, 84, 13,105, 83,114, 82, 39,236,
+108,189,204,185,237,243, 44, 94, 58, 69, 1,236,149, 21, 94,123, 84,166,216, 43,155,120, 45, 5,140, 50, 22, 66, 83,100, 9,201,
+164, 96, 51, 79, 25,175, 76,216,170, 12, 71,167, 35,158, 63,191,195,177,201,144,202, 25,142,142,134, 24, 9,147, 65,202, 22,142,
+245, 81,206,217,170,230,136, 82,172, 13, 52,153,214, 92,172, 23,204,141,161,196,211, 72,193, 18, 80, 58, 58,117, 37,225,232, 10,
+ 20, 43,113,223,246,170,155,182, 93,167, 28,172,192,189,154,205,221,221,185,100, 29,249,150,152, 37, 50, 42,134,178,187, 11,112,
+ 28,186, 47,219, 24,172, 41,177,187,123,156,186,176,203,119,247, 22,236, 85,134,178, 92, 98,170,134,198, 89, 26, 99,241, 17,232,
+156, 41, 69,161, 21,215,105,120,239,100,157, 15, 29,191,142,247,173, 30,229,195,199,142,240,209,147, 39,248,240, 13, 43,232,181,
+ 53,244,100,138, 42, 70, 40,173,145,135,122,237,175,169,183,174,117,176, 95, 89, 18,190, 15,178, 75, 91,141,175,228,212, 31,125,
+234, 57, 30,122,244,251,188,252,216,239,243,245, 47,124, 6,128,175,252,225,159,240,223,190,248,127,120,232, 15, 63,199,217, 39,
+254,128, 55,221,118, 35, 31,254,228, 63,166,177,142,251,223,122, 39,223,121,244,233,125,117,173,247,188,237,173, 60,252,248, 51,
+216, 44,101,227,145,151,185,254,196, 81,214,166, 35, 30,248,214,211,184,101,197,123,223,121, 23, 15, 60,248, 24,187,231, 23,188,
+124,238, 34,127,255, 95,254, 22,255,241,215,126,145,181,233,144,175,255,201, 35,252,155,207,127,153, 47,125,230, 87,152,125,247,
+243, 60,244,133,127,197,219,238,186,157,197,238,156, 71,159,122,250,224,113,217, 18,105,106,254,199,175,253, 93,190,240,173,239,
+242,229, 63,254,211,168,102,227,130, 97,252,139,210, 23,255, 73,116,230,253, 50,142,141,223, 95,203,163,221,132,182,165,142,245,
+193,233,166,209, 0,107, 19,144,239,217, 40, 32,134,135, 9,147,241,132,198, 57,102,198,179,158,165,228, 90,146,107, 73,162, 37,
+198,193,106,158, 35, 83,201, 48, 77, 81,168,224,244,234, 72,176,160,211,142,243,189,237,187,245,209,206,251, 13,180, 86,214,245,
+ 10,216,129,182, 39,217, 58,116,149, 6,128,148,137, 14,101, 95,153, 73,116,217, 67,155, 81,247, 65,106,139,186,235,253,183, 36,
+ 49,109, 79,189,253,156,195, 34, 1,206, 35,147, 32, 59,140, 80, 93, 95,221, 69, 39,238,251, 65, 71,204,202,219,210,254,254,123,
+244,116,231,171, 67, 56,129,125,189, 3,115,153,221,237, 66,255,210,201, 46, 24,242,161, 60,126,238,197,179,188,176,117,129,167,
+206,158,226,236,222, 22,167,182,206,227,104,176,214, 35,156, 99,107,107,155,249,206, 54,236,205, 89, 25,229,172,166,176,187, 88,
+210,120,137,200, 51,134, 73, 6,131, 60,176, 2,182, 89,152,141, 6,218,197,190,186, 49, 33, 16, 75,210,142, 25,240,138,176, 93,
+ 25, 89,178,124, 55,151,155, 8,210,241,128,119,140, 10,142,175,142,153, 20, 3,182,208, 28,185,110, 21,198,195,200,129, 32, 59,
+103, 77,175,207,223, 86,114,250,173, 45,113, 25,163, 41, 91,125,130,140,159, 57,186,202, 61,199,215,184,107,186,198, 95, 59,121,
+ 3,156, 88,239, 70, 39,175, 53,240,191,210,244, 73, 31,193, 77, 47, 57,152,109,194,198, 38,108,157, 9,138,143,205,146,251,176,
+164,206,163,235,146,235,181,162, 4, 42, 60,198, 4, 85,202,235,211,154,147, 74,162,235,146,205,122,143,239,124,234, 55,209, 79,
+ 63,204,169, 63,250, 10, 27,139,154, 18,137, 17, 33,192, 44,180,226, 45, 67,197,233, 65, 70, 54,202,208, 90,147,104,205,182, 46,
+176,169,102, 52,157,176,181, 51, 35,205,242, 48, 48,130, 96,230, 61,185,144, 44,170,134,235,166, 35,150,120, 42, 15,203,218, 51,
+ 41, 70, 32, 36, 42, 25, 96, 61,228,105, 78,237, 91,106,228, 81,152,235, 31, 12,186,164,160, 61,215, 42, 78, 32, 44,202,171,179,
+217, 87,250,223,120,253,124, 19,197,182,122,253,238, 86, 38,193, 18, 92,133,109, 74,236, 98,201,197,141, 57, 15,238, 46,104,172,
+195, 53, 65,246,121,183,174,169,188,223,167, 96, 31,169,132, 99,233, 8,137, 96,162, 83,214,148,226,230,116,200,219, 7, 83,238,
+152, 76, 57,186, 58, 64,173, 77, 80, 71, 86,144,147, 41, 34,201,175,158, 93,238, 74, 25,122,154,244, 52, 42,232,212, 18, 95, 97,
+162, 73,112,252,253, 63,122, 94,155, 69, 22,176, 22,168,211,159,245,109,203,153,105,129,152, 45, 98, 22,209, 64, 62, 70,148,123,
+161,167, 37, 29, 66,167, 97,211,103,145, 48, 35, 11,125,140,208,239, 12,136, 96, 95, 19, 70, 56,204, 28,127,165,136,184,136,139,
+165,165, 47,173, 77, 48,106,243,249, 95,156, 83,255,113, 62,218,153,204, 55, 92,126,245,208,226, 41,162, 33, 74, 84, 96,115,107,
+ 29,133,146, 7, 23,163, 34, 24,221,149, 17,211, 65,129, 18, 9,133,150, 36, 90,177, 57,171, 89,207, 83,246, 26, 67,174, 37, 3,
+173, 56, 63, 47, 81, 2,182,182,247,162,179, 43, 3,181,167, 51, 97,196,199, 87, 7,241, 6, 90, 31, 98,155,139,253,244,182,183,
+ 14, 29,171, 94,214,203,206,145, 29,240,196,212,145,171,254,112, 70, 27,203,228,253, 30,119,159, 80,198, 31, 42,253,249, 30,218,
+122,159,253,226, 50,239,215,102,230, 94,116,217, 95,170, 34,133,172,138,200,108,209, 5, 23,165, 9, 1, 78,145,198,207,183, 29,
+ 18,218,247,112, 2, 45,136, 79,181,206,204,117,199,148,230,112,100, 5,214, 87, 96, 99, 27,206,109,134,247,200,199, 33,203, 30,
+ 14,201, 82,201, 48, 73,153, 14,114,110, 63,178,206,116, 56, 70,167,197,126,188,180, 53,219,101,148,101, 8, 47,169,109,195,139,
+139, 25,152,138,189,114,198,243,155,115,120,121, 35,204,174,215,132,106, 74,191,223,221, 22, 12, 90, 37,189, 43,181,127,218, 94,
+188,136, 45,135,181,105, 8, 24, 86, 71,188, 99, 50,230,104,154,146, 8,193,182, 41, 57, 63,175,121,102, 54,131,139,139, 64, 73,
+186,108, 66,176, 37,155, 16,116,182,220,217,253,224,175, 45,201,246,217, 65,100,143,200,232,248, 9,238,189,247, 30, 62,122,231,
+189, 12, 7, 25,137,183,252,249,185,115,124,229,217, 39,120,225,225,199,187,145,178,107,217,167, 87,218,159,175,244,183,201, 58,
+156,188, 14,142, 28,131, 60,225, 29,235, 55,114, 75, 62, 98, 94, 47, 17,163, 9,121,211,176,215, 52, 36, 58, 97, 77, 55,108,205,
+106,188,148,252,160,170,168,140,225,133,217, 38, 63,123,253,173,212,214,240,141,147,183,195,168,128, 92,161,156,228, 47, 31,201,
+ 72,128, 41,138, 29,231,185, 69, 67,179, 91,113,163,114,204,247,150,176, 40, 57, 41, 60,197, 64,161,117,202,233,178, 98, 85,107,
+246,202,138,139, 42, 97,108, 13, 47,214,150,220, 90,158,156, 25, 54,202, 57,155,198,162,112,108,224,104,170, 10, 43,193,150,243,
+208,174,152,111, 5, 5,205,141,141,208, 54,121,195,230,214, 15, 58,210,195,131, 37,226, 10,207,147,228, 76, 39, 25,239, 93, 25,
+ 33,178,140,193,104, 72,146, 38, 20, 89,130, 18,112, 68,103,220, 58,200, 89, 69,145, 72, 77,226, 45,206, 90,140,243,156,181,150,
+199, 23, 59,252,207,153,161, 90,150, 52,101,131,169, 74,236,238, 46,118,177,196,197,192,194, 95, 11,120, 78,235, 32,222,114,248,
+177,104, 58, 59,112,185,216,248,234, 84,218, 6,161, 79, 90,164, 1,244,212, 15, 96,133,128,201, 56, 8, 30,100, 41,194,217, 32,
+ 56, 80,238, 5, 3,178, 92, 34, 6, 69, 48,164,105,212,252, 43,210, 0,209, 79, 21,190,137, 36,247, 90,194,124, 23,106,139,119,
+230,202, 99, 14, 77, 29, 12,126, 93,131,171, 66, 86, 88,215, 63,217, 14,189,149,115,237,143, 22, 93,235,251,136,168,106,181, 63,
+198,245, 70,145,202,203,203,252,110, 66,175, 46,139,136,100,221, 91, 8, 58,170,157,173, 79, 32, 77,152,140,135,236, 46,107, 78,
+140,135, 56, 43,177,222,113,253,100,202,172,170,152,102, 25, 90,194, 11, 23,247, 56, 62, 44,216, 92,204, 81,105,138, 45,203, 32,
+163,153,233, 96, 20,204,188, 19,132,217,111, 90,197,113,168,125, 73, 86,215,161, 84, 90, 66,148,118, 7,181, 4, 45, 42,233, 52,
+233, 91,174,116,223,206,136,251,206,240, 15,146,224, 28, 90, 69, 53,111,131,243,108,199,167, 90,128,157,107, 98,134, 44, 59, 56,
+ 76,235,208,247, 57,217,187,221,156,102,122, 31,196, 19, 2,145, 40,247,218,248,152,193,196, 81, 10, 33,163,206,178,140,215, 32,
+ 10, 21, 57, 31, 71,158,204, 65,112, 92,219, 94,112,102, 31,100,138,138, 74,109,211, 41,220,124, 34, 74,125,102, 65,128,197,197,
+192,107, 92,128, 20,100,121,130, 22,146, 60,209,204,234,134, 92,165,108, 47,150,248,114,201,238,114,155,221,186, 97,103,185,192,
+ 59, 27,166, 16,133,194, 56,199, 51,198, 96,235,184,239,170,168,142, 6,161, 84,216,202,245, 38,145,219,189,137,162,207, 74,116,
+ 2, 64,253,241,179, 60,138,240,248,152, 30,217, 48,141,112,239,202,144, 60, 73, 24, 36, 9,169, 20, 88,103,121,100, 89,135,114,
+107,227,187, 25,118, 41, 67,139,162, 24,114,252,216,152,108,144, 49, 25, 23,204,151,117,143, 67, 63, 94,119, 41, 46,229,165, 87,
+138,217,250, 17,238, 88, 91,195, 57,203,204,122,126,120,113,151, 7,119,183, 97,119,113,237,226, 36,251, 12,145,241, 92, 91,170,
+102,231, 94,121,207, 86,203, 48, 29, 50,208,188,115,178, 66,102, 27,134, 69, 74,166, 11,154,122,137,118,142, 65,146,161, 88,128,
+ 84,228,137, 96, 36,124,160,148, 21,150,243,203, 57,207, 93,120,145,231,245, 48,236, 73, 21,136,126,238, 58, 50,224, 54, 45,169,
+149, 66, 11, 72,180, 70, 90,207, 88,193,174,245, 12, 16,172, 38,138,243,165, 33,215,138,212,212,172, 14,114,158,221, 43, 17, 8,
+ 10, 44,231, 44,220, 48, 74, 57, 83, 89, 18, 91,115,209,131,171, 75,172,144, 84,206, 81, 74, 25, 64,106,182,129,122, 47,234, 31,
+208, 85,224, 84, 47,168,205,115, 24, 14, 99,165,204,189, 97,142, 29, 94,129,190,215, 25, 42,231,249,193,174,225,246, 97, 0, 32,
+214, 73,144, 85, 94,211, 25, 55, 36, 25, 39,117,193, 68, 41, 20, 30, 37, 53, 74, 40,172, 51, 20, 58,225, 34,142,133,105,216,240,
+224,132,199, 91,143, 55, 65,177,212,251,215, 96,155,219, 36,161, 21,154, 82,105,184, 78,166,126,197,247,252,209,157,122,145,199,
+186,126,143, 25,171, 53,226,165, 13,243,198, 85, 13, 43,211,160,212, 36, 4, 44,107,196,104, 28,102, 90,179, 12,204, 2,210, 34,
+ 48, 57, 13,179, 48, 34,162, 85, 88,192, 38,150, 53,119,151, 1, 24, 44,204, 62,225,195,149, 65, 19, 54,114, 2,155,215,117, 81,
+188,113, 9,111, 79,145, 75, 69,141,112,119, 13,220,200, 73,218, 25,192,246, 75,218, 55, 72, 44,198, 29,252,106, 3,173, 84,134,
+146,115, 58,238,148,197,124,172,182,140,134, 32, 4,147,245, 21,118,231,115,110, 94, 95,197,227, 25,232,148, 65,146,114,113, 49,
+103,109, 56,194,216,154,221,202,114,124,148,179, 93, 86, 12,179, 1,187, 59,123,241, 60,124,152,187, 54, 54,124,206,229,164, 68,
+219,185,242,253, 67,213, 93, 54, 46, 98,159, 91,197, 56,164,157,245,222, 47,195,139,176,230, 90, 39, 47, 85,199,183,110, 76, 48,
+ 7,125,153, 84,227, 58, 96,157,111,117,225,117,156,213,238,197,254, 42, 58,226, 86,113, 45,254, 45,149, 2, 97, 5, 77,210,211,
+ 65, 87, 50, 42,210,133, 49,164, 64, 48, 97,195, 57,232, 52,140,243,101, 42,102,159,177,175,223,148,221,235, 91,250,217, 42,114,
+ 34,168,168, 18,167, 68, 24, 41,116, 4,228,113,166,194,154,217,153,195,133,205,240,247,100, 16,240, 11, 66, 34,149,100,154,165,
+ 8, 41, 81, 30,230,165,101,105, 44,139,170, 34,145,150,185,245,140,210,130,109,107, 80, 94,112,186,169, 56,101, 12,179,114, 25,
+ 69, 86, 8, 76,125,109,121,164,142,247,107,237, 72,192, 84, 20, 69,200,166,155, 42, 56, 42, 23,181, 0,250,247,180,229,249,111,
+133,125,108, 0, 89,222,180, 58,224,142,213, 53,206, 47, 43,156, 16,236, 52,134,211,243, 24, 72, 72,122,220,247, 81, 63, 32,211,
+ 92,159,107,132,240,140,132, 98, 92,164,236,236, 45,123,169, 89,116,230,206,119, 14,190,105,192, 89,154, 44,229,251, 77, 77,229,
+ 36,207,205, 22,124,115,111, 23,202, 89, 0,209,205,103,215,150,165,247, 57,187, 47, 55, 39,191,223, 2,184, 12, 71,254,124, 15,
+138, 49,119,175,228,220, 62, 24,240,131, 89,197,117,131,132,188,200,152, 59, 24,102,161, 68, 60,175, 96, 42, 44,210,129,161,100,
+111, 89,114,174,169,195, 53, 58,127, 38, 36, 86,107, 55, 66,174,201,135, 25,133,150, 20, 94,160, 19,205,208, 5, 85,205, 60,211,
+ 12,133, 96, 69,194,142,177,172, 42,193, 29, 69,202, 98,144,243,204,214,140, 34, 21,204,235,134,179,198,225,157,227,133,237, 6,
+211, 24, 54, 81, 24,215,176, 52, 22, 47,192, 72, 69,105,130,176, 77, 24, 71,109, 66, 16,218, 52,145,175,192, 68,129, 39, 17,240,
+ 10, 39,142,194,209,181, 80,117,157,207,223, 16,199,206, 43, 56,246,253,255,183, 22, 33, 28,167,140, 99, 61,209, 24, 37,113, 89,
+202, 20,152, 74,184,115, 56, 33,149,138, 84,166,193,138, 75, 17,228,152,113, 92,108,106, 94, 50, 53,231,230, 53, 30, 17, 50,115,
+169,194,169, 84, 21,190,119, 78, 87, 45,248, 34,130, 28,113,128,135, 68,190,247, 87,146, 85,190, 42,167,222, 26,149,150,168, 67,
+ 39,225,103,103, 2, 73,135,245, 1,165, 58, 43, 59, 69,170, 52, 82, 58,166, 42, 46,218,144,229,137, 36,137,253,207,208, 51,244,
+139, 38,100,127,101, 21,141,150, 11, 11,242,255,167,135,212,189,122,143,132,213, 81, 88,228,230, 26,130,145, 86,116,164, 37, 65,
+241,213,143,183,159,223,206, 9,103, 89,212, 59,142, 37,229, 36, 13, 64, 14, 31,130,189, 10,207,104, 52, 36, 85, 10, 45, 53, 74,
+ 72, 36,154,181, 98, 72,109, 29,169, 76,200, 82, 21,199, 72, 36,103,103,243,208, 15,171,203, 64,202,177,220, 5, 83, 94, 89, 66,
+183, 37, 29,145, 34,244,166,181, 11,142, 93, 69,176, 98, 75, 12,228,125, 68,163,139,224,136,219, 44,218, 69,118,166,118,228, 75,
+244,230,210,114, 29,202,223,202,119, 78,189,149,106,109,203,246,222, 29,252,210, 73, 20, 51,105,131,135, 46,234,178, 94, 96,165,
+ 36,181, 2,219,174,131, 50,182,161, 92, 79, 70, 54,213,225, 90,250, 38,204,205,187, 56, 14,103, 77,112,238,194, 7, 39,174,162,
+243,107,127,110, 57, 19, 68,196, 61,180,206,171,137,125,238, 11, 51,216,190, 16,202,212, 74, 69,117, 60, 9, 69,130, 18, 18,131,
+ 64, 10,129,147,138,185,109,216, 90,214,156,218,217,226,166, 66, 49, 78, 20,149,113,148, 30,206, 88,195, 15, 76,197,178,149, 88,
+141, 28,219, 44,102, 33, 16, 49,182,203,208,215, 87,187,192,102,217,132, 64,208,154, 46, 16,235,103,203,237,189,212,145,134,209,
+ 25,152, 55,156,105, 28,199, 82,203, 36,149, 92, 40,151, 60, 52, 43,195, 76, 62,190,107, 61,168, 46, 80,155, 38,146, 81, 34, 24,
+ 9, 65,130,160,178,134,157, 89,117,176, 18, 35,123, 32,196,182,157, 99, 45, 88, 65,157, 8, 94,172,150,156, 41,103,161,159,189,
+172, 96,119, 30,214,228,213,238,211,214,145,183,194, 54,237,115,135, 51,246,125,114, 35, 46, 11,252,212, 3, 69,170, 37,119, 23,
+ 3,102,214,145,227,200,165, 68, 9,129,104, 12,235,153, 10, 36,135, 77,195,102, 99,120,112,231, 34, 44,103,241, 61, 93, 8, 60,
+117,134,212, 5,199,134, 33, 33,184,113,152,147,106,129,208,146, 65, 34, 25, 72,193, 64, 8,106,235,185,176,177,160,180, 13,207,
+ 45, 97,167, 41,169, 61,236, 44, 13, 59,149,167, 49,112,174, 10,231,176,144, 32,241, 36, 54,136, 62, 13,156,197,154,134, 25, 1,
+ 48,233, 77, 29, 70, 94,157, 13,142,168,172, 67,229,109,177, 8,235,120, 50,134, 19,235,100,227, 34, 76, 46, 45,203,215,117,156,
+ 87, 92,133,179, 23,128,116, 14, 89,213,108,204, 74, 46, 84,158, 90, 8, 94,150,154, 60,151,172, 24,199,245,197,132, 34, 73, 16,
+206, 82,232, 20, 39, 37,167,151,115, 78,217,154,239,206, 27, 42, 37,176,198,225,165,192,213, 53,190,113,120,107,240,175,133, 68,
+204, 69,208,168, 45, 59, 33,151, 87,121,252, 63,200,142,135, 98, 79, 39, 83, 45, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130,
+ 0};
+
diff --git a/source/blender/editors/datafiles/startup.blend.c b/source/blender/editors/datafiles/startup.blend.c
index 1121eb5a299..dc92d3541b5 100644
--- a/source/blender/editors/datafiles/startup.blend.c
+++ b/source/blender/editors/datafiles/startup.blend.c
@@ -1,346 +1,400 @@
/* DataToC output of file <startup_blend> */
-int datatoc_startup_blend_size= 349868;
+int datatoc_startup_blend_size= 342096;
char datatoc_startup_blend[]= {
- 66, 76, 69, 78, 68, 69, 82, 45,118, 50, 53, 55,
- 82, 69, 78, 68, 32, 0, 0, 0,240,236,191, 95,255,127, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0,
- 83, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66, 32, 1, 0, 0,
-240,235,191, 95,255,127, 0, 0,199, 0, 0, 0, 1, 0, 0, 0, 32, 32, 32, 49, 1, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1,
- 40, 54, 45, 21, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 0, 16, 0, 0,128, 32, 4, 0,162,144, 0, 0, 0, 0, 0, 0,
- 60,109,101,109,111,114,121, 50, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 76, 69, 78, 68, 69, 82, 95,118, 50, 53, 56, 82, 69, 78, 68,
+ 32, 0, 0, 0, 44,243, 34, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 83, 99,101,110,101, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 76, 79, 66, 24, 1, 0, 0, 20,242, 34, 0,199, 0, 0, 0,
+ 1, 0, 0, 0, 32, 32, 32, 49, 1, 0, 0, 0,250, 0, 0, 0, 1, 0, 0, 1,184,250,213, 2,144, 1,228, 2, 0, 16, 0, 0,
+128, 32, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0,
+168, 0, 0, 0, 64,192,225, 2,107, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,248,213, 2, 96,248,213, 2, 96,248,213, 2, 96,248,213, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+152,247,213, 2,152,247,213, 2,152,247,213, 2, 64,254,215, 2, 64,254,215, 2, 64,254,215, 2, 68, 65, 84, 65,148, 0, 0, 0,
+ 96,248,213, 2,108, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,238,214, 2, 1, 0, 0, 0, 0, 0, 0, 0,
+184,250,213, 2, 0, 0, 0, 0,115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0,240, 4,222, 2, 0, 0, 0, 0, 1, 0,238, 3, 0, 0, 0, 0, 1, 0, 0, 0,
+112,103,215, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,208,132,246, 3,120,197, 5, 4,120,197, 5, 4,
+192, 24,216, 2,208, 23,216, 2, 72, 24,216, 2, 72, 24,216, 2,168, 80, 3, 4,248, 85, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 78, 0, 0,148, 0, 0, 0, 40,249,213, 2,193, 0, 0, 0, 1, 0, 0, 0,240,249,213, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 82, 65,110,105,109, 97,116,105,111,110, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 48,203,205, 2,120,193,225, 2,192,193,225, 2,160,201,225, 2,128, 81,215, 2,112, 85,215, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,148,238, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 48,203,205, 2,194, 0, 0, 0, 1, 0, 0, 0,120,203,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,120,203,205, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,192,203,205, 2, 48,203,205, 2, 0, 0, 0, 0, 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+192,203,205, 2,194, 0, 0, 0, 1, 0, 0, 0, 8,204,205, 2,120,203,205, 2, 0, 0, 0, 0,240, 4,222, 2, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 8,204,205, 2,194, 0, 0, 0, 1, 0, 0, 0, 80,204,205, 2,192,203,205, 2, 0, 0, 0, 0,
+240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 80,204,205, 2,194, 0, 0, 0, 1, 0, 0, 0,152,204,205, 2,
+ 8,204,205, 2, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,152,204,205, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,224,204,205, 2, 80,204,205, 2, 0, 0, 0, 0,240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+224,204,205, 2,194, 0, 0, 0, 1, 0, 0, 0, 40,205,205, 2,152,204,205, 2, 0, 0, 0, 0, 24, 4, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 40,205,205, 2,194, 0, 0, 0, 1, 0, 0, 0,112,205,205, 2,224,204,205, 2, 0, 0, 0, 0,
+ 24, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,112,205,205, 2,194, 0, 0, 0, 1, 0, 0, 0,184,205,205, 2,
+ 40,205,205, 2, 0, 0, 0, 0, 24, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,184,205,205, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 0,206,205, 2,112,205,205, 2, 0, 0, 0, 0,240, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 0,206,205, 2,194, 0, 0, 0, 1, 0, 0, 0, 72,206,205, 2,184,205,205, 2, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 72,206,205, 2,194, 0, 0, 0, 1, 0, 0, 0,144,206,205, 2, 0,206,205, 2, 0, 0, 0, 0,
+ 24, 4, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,144,206,205, 2,194, 0, 0, 0, 1, 0, 0, 0,216,206,205, 2,
+ 72,206,205, 2, 0, 0, 0, 0,192, 1, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,216,206,205, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 32,207,205, 2,144,206,205, 2, 0, 0, 0, 0,192, 1,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 32,207,205, 2,194, 0, 0, 0, 1, 0, 0, 0,104,207,205, 2,216,206,205, 2, 0, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,104,207,205, 2,194, 0, 0, 0, 1, 0, 0, 0, 48,193,225, 2, 32,207,205, 2, 0, 0, 0, 0,
+192, 1, 4, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 48,193,225, 2,194, 0, 0, 0, 1, 0, 0, 0,120,193,225, 2,
+104,207,205, 2, 0, 0, 0, 0, 24, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,120,193,225, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 48,193,225, 2, 0, 0, 0, 0,240, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+192,193,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 8,194,225, 2, 0, 0, 0, 0,120,203,205, 2,192,203,205, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 8,194,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 80,194,225, 2,192,193,225, 2,
+120,203,205, 2, 80,204,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 80,194,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,152,194,225, 2, 8,194,225, 2,192,203,205, 2,152,204,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,152,194,225, 2,195, 0, 0, 0, 1, 0, 0, 0,224,194,225, 2, 80,194,225, 2, 80,204,205, 2,152,204,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224,194,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 40,195,225, 2,
+152,194,225, 2, 48,203,205, 2,224,204,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 40,195,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0,112,195,225, 2,224,194,225, 2, 8,204,205, 2,224,204,205, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,112,195,225, 2,195, 0, 0, 0, 1, 0, 0, 0,184,195,225, 2, 40,195,225, 2,152,204,205, 2,
+ 40,205,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,184,195,225, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 0,196,225, 2,112,195,225, 2,224,204,205, 2,112,205,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 0,196,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 72,196,225, 2,184,195,225, 2, 8,204,205, 2,184,205,205, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 72,196,225, 2,195, 0, 0, 0, 1, 0, 0, 0,144,196,225, 2, 0,196,225, 2,
+112,205,205, 2,184,205,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,144,196,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,216,196,225, 2, 72,196,225, 2, 48,203,205, 2, 0,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,216,196,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 32,197,225, 2,144,196,225, 2, 40,205,205, 2, 72,206,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32,197,225, 2,195, 0, 0, 0, 1, 0, 0, 0,104,197,225, 2,
+216,196,225, 2,224,204,205, 2, 72,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,104,197,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0,176,197,225, 2, 32,197,225, 2, 0,206,205, 2, 72,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,176,197,225, 2,195, 0, 0, 0, 1, 0, 0, 0,248,197,225, 2,104,197,225, 2, 0,206,205, 2,
+144,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,248,197,225, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 64,198,225, 2,176,197,225, 2, 72,206,205, 2,144,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 64,198,225, 2,195, 0, 0, 0, 1, 0, 0, 0,136,198,225, 2,248,197,225, 2, 80,204,205, 2,216,206,205, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136,198,225, 2,195, 0, 0, 0, 1, 0, 0, 0,208,198,225, 2, 64,198,225, 2,
+ 40,205,205, 2,216,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,208,198,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 24,199,225, 2,136,198,225, 2,144,206,205, 2,216,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 24,199,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 96,199,225, 2,208,198,225, 2, 0,206,205, 2, 32,207,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 96,199,225, 2,195, 0, 0, 0, 1, 0, 0, 0,168,199,225, 2,
+ 24,199,225, 2,144,206,205, 2,104,207,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,168,199,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0,240,199,225, 2, 96,199,225, 2, 32,207,205, 2,104,207,205, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,240,199,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 56,200,225, 2,168,199,225, 2,112,205,205, 2,
+ 48,193,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56,200,225, 2,195, 0, 0, 0, 1, 0, 0, 0,
+128,200,225, 2,240,199,225, 2, 40,205,205, 2, 48,193,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+128,200,225, 2,195, 0, 0, 0, 1, 0, 0, 0,200,200,225, 2, 56,200,225, 2,152,204,205, 2,120,193,225, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,200,200,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 16,201,225, 2,128,200,225, 2,
+184,205,205, 2,120,193,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 16,201,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 88,201,225, 2,200,200,225, 2, 48,193,225, 2,120,193,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 88,201,225, 2,195, 0, 0, 0, 1, 0, 0, 0,160,201,225, 2, 16,201,225, 2, 80,204,205, 2, 32,207,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,160,201,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 88,201,225, 2,216,206,205, 2,104,207,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,128, 81,215, 2,
+197, 0, 0, 0, 1, 0, 0, 0, 16, 82,215, 2, 0, 0, 0, 0, 80,204,205, 2,120,203,205, 2,192,203,205, 2,152,204,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0, 0, 0, 0, 0,
+ 7, 0, 0, 0,136,129,206, 2,216,232,220, 2,216,232,220, 2, 24,213,225, 2, 64,214,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+136, 69, 6, 4,232, 69, 6, 4, 68, 65, 84, 65,248, 0, 0, 0, 24,213,225, 2,198, 0, 0, 0, 1, 0, 0, 0, 64,214,225, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 68, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68,
+ 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 4,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 64,214,225, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 24,213,225, 2, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0,
+ 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3,
+ 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,222, 2, 0, 0,222, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 63,206, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 96, 0, 0, 0, 16, 82,215, 2,197, 0, 0, 0, 1, 0, 0, 0,160, 82,215, 2,128, 81,215, 2,224,204,205, 2,
+112,205,205, 2,184,205,205, 2, 8,204,205, 2, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0,
+ 4, 4,216, 0, 60, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,127,206, 2,248,234,225, 2,248,234,225, 2,104,215,225, 2,
+144,216,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 72, 70, 6, 4, 8, 71, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,104,215,225, 2,
+198, 0, 0, 0, 1, 0, 0, 0,144,216,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65,
+ 98, 39, 38, 54, 0, 0, 88, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 87, 67, 0, 0,200, 65, 0, 0, 87, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0,216, 0, 26, 0,216, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,
+240, 4, 0, 0, 34, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 26, 0,
+ 0, 0, 1, 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, 0, 63,206, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0,144,216,225, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,104,215,225, 2, 0, 0, 0, 0,
+ 0, 0, 88, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 71, 67, 1, 0,145,195, 0, 0, 0, 0,199, 0, 0, 0,
+216, 0, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+198, 0, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,216, 0, 34, 1,199, 0, 34, 1, 0, 0,112,106,244, 3,
+ 1, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,112, 62,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,184,217,225, 2,136,233,225, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,184,217,225, 2,196, 0, 0, 0, 1, 0, 0, 0,
+ 40,219,225, 2, 0, 0, 0, 0,104,128,206, 2, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,
+120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,
+120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,199, 0, 36, 0, 0, 0, 0, 0, 0, 0, 42, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0, 40,219,225, 2,196, 0, 0, 0, 1, 0, 0, 0,152,220,225, 2,184,217,225, 2,208, 0,222, 2,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,135,255,199, 0, 61, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,152,220,225, 2,
+196, 0, 0, 0, 1, 0, 0, 0, 8,222,225, 2, 40,219,225, 2,248, 1,222, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255,199, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 8,222,225, 2,196, 0, 0, 0, 1, 0, 0, 0,120,223,225, 2,
+152,220,225, 2, 32, 3,222, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254,199, 0,203, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 64, 1, 0, 0,120,223,225, 2,196, 0, 0, 0, 1, 0, 0, 0,232,224,225, 2, 8,222,225, 2, 72, 4,222, 2, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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,
+ 65,110,116,105, 45, 65,108,105, 97,115,105,110,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, 58,254,199, 0, 58, 0, 20, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 0, 0, 24, 1, 0, 0,200,136, 44, 21, 1, 0, 0, 0,
-106, 1, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 87, 77, 87,105,110, 77, 97,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 40,138, 44, 21, 1, 0, 0, 0, 40,138, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 65,145, 3, 0, 0, 0, 0,
- 68, 65, 84, 65,224, 0, 0, 0, 40,138, 44, 21, 1, 0, 0, 0,107, 1, 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, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,115, 99,114,101,101,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,238, 3, 0, 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, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 65,110,105,109, 97,116,105,111,110, 0, 46, 48, 48, 49,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,140, 44, 21, 1, 0, 0, 0,
-200,146, 44, 21, 1, 0, 0, 0, 40,147, 44, 21, 1, 0, 0, 0,104,159, 44, 21, 1, 0, 0, 0,216,159, 44, 21, 1, 0, 0, 0,
-152,227, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,140, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-200,140, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,200,140, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,141, 44, 21, 1, 0, 0, 0,
-104,140, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 40,141, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136,141, 44, 21, 1, 0, 0, 0,200,140, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,141, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,232,141, 44, 21, 1, 0, 0, 0, 40,141, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-118, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,141, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
- 72,142, 44, 21, 1, 0, 0, 0,136,141, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 72,142, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,142, 44, 21, 1, 0, 0, 0,
-232,141, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-168,142, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8,143, 44, 21, 1, 0, 0, 0, 72,142, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 44, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,143, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,104,143, 44, 21, 1, 0, 0, 0,168,142, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 6, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,143, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-200,143, 44, 21, 1, 0, 0, 0, 8,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 6,220, 1, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,200,143, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,144, 44, 21, 1, 0, 0, 0,
-104,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7,220, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 40,144, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0,200,143, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,132, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,232,144, 44, 21, 1, 0, 0, 0, 40,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 6,132, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,144, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
- 72,145, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2,132, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 72,145, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0,
-232,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-168,145, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0, 72,145, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,104,146, 44, 21, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-160, 2,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,146, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-200,146, 44, 21, 1, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 6,100, 3, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,200,146, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-104,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7,100, 3, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,147, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,147, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-200,140, 44, 21, 1, 0, 0, 0, 40,141, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,147, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,148, 44, 21, 1, 0, 0, 0, 40,147, 44, 21, 1, 0, 0, 0,
-200,140, 44, 21, 1, 0, 0, 0,232,141, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,148, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,148, 44, 21, 1, 0, 0, 0,152,147, 44, 21, 1, 0, 0, 0,
- 40,141, 44, 21, 1, 0, 0, 0, 72,142, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-120,148, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,148, 44, 21, 1, 0, 0, 0, 8,148, 44, 21, 1, 0, 0, 0,
-232,141, 44, 21, 1, 0, 0, 0, 72,142, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-232,148, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,149, 44, 21, 1, 0, 0, 0,120,148, 44, 21, 1, 0, 0, 0,
-104,140, 44, 21, 1, 0, 0, 0,168,142, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 88,149, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,149, 44, 21, 1, 0, 0, 0,232,148, 44, 21, 1, 0, 0, 0,
-136,141, 44, 21, 1, 0, 0, 0,168,142, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,149, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,150, 44, 21, 1, 0, 0, 0, 88,149, 44, 21, 1, 0, 0, 0,
- 72,142, 44, 21, 1, 0, 0, 0, 8,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,150, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,150, 44, 21, 1, 0, 0, 0,200,149, 44, 21, 1, 0, 0, 0,
-168,142, 44, 21, 1, 0, 0, 0,104,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,150, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,151, 44, 21, 1, 0, 0, 0, 56,150, 44, 21, 1, 0, 0, 0,
-136,141, 44, 21, 1, 0, 0, 0,200,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,151, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,151, 44, 21, 1, 0, 0, 0,168,150, 44, 21, 1, 0, 0, 0,
-104,143, 44, 21, 1, 0, 0, 0,200,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,151, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,151, 44, 21, 1, 0, 0, 0, 24,151, 44, 21, 1, 0, 0, 0,
-104,140, 44, 21, 1, 0, 0, 0, 40,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-248,151, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,152, 44, 21, 1, 0, 0, 0,136,151, 44, 21, 1, 0, 0, 0,
- 8,143, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-104,152, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,152, 44, 21, 1, 0, 0, 0,248,151, 44, 21, 1, 0, 0, 0,
-168,142, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-216,152, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,153, 44, 21, 1, 0, 0, 0,104,152, 44, 21, 1, 0, 0, 0,
- 40,144, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 72,153, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,153, 44, 21, 1, 0, 0, 0,216,152, 44, 21, 1, 0, 0, 0,
- 40,144, 44, 21, 1, 0, 0, 0,232,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-184,153, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,154, 44, 21, 1, 0, 0, 0, 72,153, 44, 21, 1, 0, 0, 0,
-136,144, 44, 21, 1, 0, 0, 0,232,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,154, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,154, 44, 21, 1, 0, 0, 0,184,153, 44, 21, 1, 0, 0, 0,
-232,141, 44, 21, 1, 0, 0, 0, 72,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,154, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,155, 44, 21, 1, 0, 0, 0, 40,154, 44, 21, 1, 0, 0, 0,
- 8,143, 44, 21, 1, 0, 0, 0, 72,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,155, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,155, 44, 21, 1, 0, 0, 0,152,154, 44, 21, 1, 0, 0, 0,
-232,144, 44, 21, 1, 0, 0, 0, 72,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-120,155, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,155, 44, 21, 1, 0, 0, 0, 8,155, 44, 21, 1, 0, 0, 0,
- 40,144, 44, 21, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-232,155, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,156, 44, 21, 1, 0, 0, 0,120,155, 44, 21, 1, 0, 0, 0,
-232,144, 44, 21, 1, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 88,156, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,156, 44, 21, 1, 0, 0, 0,232,155, 44, 21, 1, 0, 0, 0,
-168,145, 44, 21, 1, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,156, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,157, 44, 21, 1, 0, 0, 0, 88,156, 44, 21, 1, 0, 0, 0,
-104,143, 44, 21, 1, 0, 0, 0,104,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,157, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,157, 44, 21, 1, 0, 0, 0,200,156, 44, 21, 1, 0, 0, 0,
- 8,143, 44, 21, 1, 0, 0, 0,104,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,157, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,158, 44, 21, 1, 0, 0, 0, 56,157, 44, 21, 1, 0, 0, 0,
- 72,142, 44, 21, 1, 0, 0, 0,200,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,158, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,158, 44, 21, 1, 0, 0, 0,168,157, 44, 21, 1, 0, 0, 0,
-200,143, 44, 21, 1, 0, 0, 0,200,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,158, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,158, 44, 21, 1, 0, 0, 0, 24,158, 44, 21, 1, 0, 0, 0,
-104,146, 44, 21, 1, 0, 0, 0,200,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-248,158, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,159, 44, 21, 1, 0, 0, 0,136,158, 44, 21, 1, 0, 0, 0,
-232,141, 44, 21, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-104,159, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,158, 44, 21, 1, 0, 0, 0,
- 72,145, 44, 21, 1, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-216,159, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,152,163, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-232,141, 44, 21, 1, 0, 0, 0,200,140, 44, 21, 1, 0, 0, 0, 40,141, 44, 21, 1, 0, 0, 0, 72,142, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, 7, 7,119, 7, 27, 0, 1, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,236, 44, 21, 1, 0, 0, 0,120,236, 44, 21, 1, 0, 0, 0,
-184,160, 44, 21, 1, 0, 0, 0, 40,162, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,160, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 40,162, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,162, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,160, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69,
- 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0,
- 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0,
- 18, 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,128, 63, 0, 0,128, 63,
- 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,232,224,225, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 88,226,225, 2,120,223,225, 2, 80, 78,217, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,
+116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,
+116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,
+111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254,199, 0, 0, 0, 20, 0, 0, 0,
+ 4, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,152,163, 44, 21, 1, 0, 0, 0,
-197, 0, 0, 0, 1, 0, 0, 0, 24,188, 44, 21, 1, 0, 0, 0,216,159, 44, 21, 1, 0, 0, 0,168,142, 44, 21, 1, 0, 0, 0,
-104,143, 44, 21, 1, 0, 0, 0,200,143, 44, 21, 1, 0, 0, 0,136,141, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 45, 6, 0, 0,118, 7, 0, 0, 0, 0, 0, 0,219, 1, 0, 0, 4, 4, 74, 1,220, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,216,186, 44, 21, 1, 0, 0, 0,216,186, 44, 21, 1, 0, 0, 0,120,164, 44, 21, 1, 0, 0, 0,
-232,165, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120,164, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
-232,165, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0,165, 67, 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
- 0,128,137, 67, 0, 0,200, 65, 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0, 74, 1, 31, 0, 74, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 45, 6, 0, 0,118, 7, 0, 0,189, 1, 0, 0,219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 1, 31, 0, 0, 0, 1, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,165, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120,164, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,165, 67, 0,128, 86,196, 0, 0, 0, 0,
- 0, 0, 0, 0, 1,128,156, 67, 2,128,222,195, 0, 0, 0, 0, 57, 1, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0,188, 1, 0, 0,
- 0, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0,188, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0,
- 18, 0, 0, 4, 6, 0, 74, 1,189, 1, 57, 1,189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 45, 6, 0, 0,118, 7, 0, 0, 0, 0, 0, 0,188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 74, 1,189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 88,226,225, 2,196, 0, 0, 0, 1, 0, 0, 0,200,227,225, 2,232,224,225, 2,
+120, 79,217, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,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, 68, 65, 84, 65,248, 0, 0, 0,216,186, 44, 21, 1, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,104, 97,100,105,110,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,
- 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,254,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 10, 0, 0, 0, 0, 0, 6, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+200,227,225, 2,196, 0, 0, 0, 1, 0, 0, 0, 56,229,225, 2, 88,226,225, 2,160, 80,217, 2, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,
+111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253,
+199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 10, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 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, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
- 24,188, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,248,192, 44, 21, 1, 0, 0, 0,152,163, 44, 21, 1, 0, 0, 0,
-104,140, 44, 21, 1, 0, 0, 0, 40,144, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0,168,142, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0,131, 0, 0, 0, 15, 15, 44, 6,132, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,191, 44, 21, 1, 0, 0, 0,216,191, 44, 21, 1, 0, 0, 0,
-248,188, 44, 21, 1, 0, 0, 0,104,190, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,188, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,104,190, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,137, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,197, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,224,202, 68, 0, 0,200, 65, 0,224,202, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 44, 6, 26, 0, 44, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 44, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,190, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,188, 44, 21, 1, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67,
- 0, 0, 0, 0, 0, 0, 72, 66,112,189, 17,192,246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0,
- 18, 0, 0, 0,105, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65,
- 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 44, 6,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 26, 0, 0, 0,131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 44, 6,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,216,191, 44, 21, 1, 0, 0, 0,
-173, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,248,192, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 56,199, 44, 21, 1, 0, 0, 0,
- 24,188, 44, 21, 1, 0, 0, 0,104,143, 44, 21, 1, 0, 0, 0,104,146, 44, 21, 1, 0, 0, 0,200,146, 44, 21, 1, 0, 0, 0,
-200,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,221, 1, 0, 0, 99, 3, 0, 0,
- 3, 3, 74, 1,135, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,196, 44, 21, 1, 0, 0, 0,
-184,196, 44, 21, 1, 0, 0, 0,216,193, 44, 21, 1, 0, 0, 0, 72,195, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-216,193, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 72,195, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,165, 67, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 66, 67, 0, 0,200, 65, 0, 0, 66, 67, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 74, 1, 26, 0, 74, 1, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0, 74, 3, 0, 0, 99, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1, 26, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 72,195, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,193, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0,128,131, 67, 0, 0,228,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,156, 67, 0,128,173,195, 0, 0, 0, 0,
- 57, 1, 0, 0, 74, 1, 0, 0, 18, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 56, 1, 0, 0, 18, 0, 0, 0,108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0, 74, 1,109, 1, 57, 1, 91, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,221, 1, 0, 0, 73, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,
-184,196, 44, 21, 1, 0, 0, 0,166, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120,152,192, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 16, 0, 0, 0,120,152,192, 3, 1, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0,
- 14, 0, 0, 0, 14, 0, 0, 0, 24,198, 44, 21, 1, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0, 24,198, 44, 21, 1, 0, 0, 0,
-219, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,233, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,246, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,244, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,229, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,228, 46, 21, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56,199, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
-104,212, 44, 21, 1, 0, 0, 0,248,192, 44, 21, 1, 0, 0, 0,232,144, 44, 21, 1, 0, 0, 0, 72,145, 44, 21, 1, 0, 0, 0,
- 8,143, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161, 2, 0, 0, 43, 6, 0, 0,
-133, 0, 0, 0, 69, 4, 0, 0, 1, 1,139, 3,193, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-232,210, 44, 21, 1, 0, 0, 0,232,210, 44, 21, 1, 0, 0, 0, 24,200, 44, 21, 1, 0, 0, 0,216,205, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 24,200, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,136,201, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,117, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 98, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,138, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65,
- 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,139, 3,
- 26, 0,139, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161, 2, 0, 0, 43, 6, 0, 0,
-133, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139, 3, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 56,229,225, 2,196, 0, 0, 0, 1, 0, 0, 0,
+168,230,225, 2,200,227,225, 2,200, 81,217, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,
+114,111, 99,101,115,115,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,
+114,111, 99,101,115,115,105,110,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, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,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,218,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 10, 0,
+ 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,136,201, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,248,202, 44, 21, 1, 0, 0, 0,
- 24,200, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,
-255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,
- 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161, 2, 0, 0,161, 2, 0, 0,
-159, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,167, 3, 0, 0, 5, 0,
- 3, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0,168,230,225, 2,196, 0, 0, 0, 1, 0, 0, 0, 24,232,225, 2, 56,229,225, 2,240, 82,217, 2,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,194,253,199, 0, 0, 0, 20, 0, 0, 0, 4, 0, 10, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 24,232,225, 2,
+196, 0, 0, 0, 1, 0, 0, 0,136,233,225, 2,168,230,225, 2, 24, 84,217, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,253,199, 0,130, 0,
+ 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 64, 1, 0, 0,136,233,225, 2,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 24,232,225, 2,104, 86,217, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 11, 0, 0, 0, 0, 0,
+ 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, 68, 65, 84, 65,
+216, 0, 0, 0,248,234,225, 2,162, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,248,202, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,104,204, 44, 21, 1, 0, 0, 0,
-136,201, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67,
- 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,
-120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161, 2, 0, 0, 43, 6, 0, 0,
-159, 0, 0, 0,159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0,
- 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,104,204, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,216,205, 44, 21, 1, 0, 0, 0,
-248,202, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,
- 0,128, 96,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, 0, 0, 0, 0,162, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,
-148, 3,163, 0,130, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 6, 0, 0, 43, 6, 0, 0,
-159, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0,
- 4, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0,240,182,243, 3,255, 21, 0, 0,
+160, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,160, 82,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 48, 83,215, 2,
+ 16, 82,215, 2, 48,203,205, 2, 0,206,205, 2, 72,206,205, 2,224,204,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0,
+ 0, 0, 0, 0, 87, 0, 0, 0, 15, 15, 24, 4, 88, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,107,206, 2, 80,238,225, 2,
+ 80,238,225, 2, 0,236,225, 2, 40,237,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,104, 71, 6, 4, 40, 72, 6, 4, 68, 65, 84, 65,
+248, 0, 0, 0, 0,236,225, 2,198, 0, 0, 0, 1, 0, 0, 0, 40,237,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 39,182,158, 55, 0, 0,131, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,224,130, 68, 0, 0,200, 65, 0,224,130, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 24, 4, 26, 0, 24, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,224, 52,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 40,237,225, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0,236,225, 2, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,112,189, 17,192,246, 70,125, 67, 0, 0, 0, 0,
+ 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 18, 0, 0, 0, 61, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72,
+ 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 24, 4, 62, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 26, 0, 0, 0, 87, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 52,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0, 80,238,225, 2,
+173, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,216,205, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-104,204, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,161, 2, 0, 0, 43, 6, 0, 0,
-159, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139, 3,167, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 6, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 48, 83,215, 2,197, 0, 0, 0, 1, 0, 0, 0,192, 83,215, 2,160, 82,215, 2,
+112,205,205, 2, 48,193,225, 2,120,193,225, 2,184,205,205, 2, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 61, 1, 0, 0,
+ 59, 2, 0, 0, 3, 3,216, 0,255, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,106,206, 2,144,241,225, 2,144,241,225, 2,
+ 64,239,225, 2,104,240,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,136, 72, 6, 4, 72, 73, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,
+ 64,239,225, 2,198, 0, 0, 0, 1, 0, 0, 0,104,240,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0,
+ 0, 0,208, 65, 98, 39, 38, 54, 0, 0, 88, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 87, 67, 0, 0,200, 65, 0, 0, 87, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,216, 0, 26, 0,216, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 4, 0, 0,240, 4, 0, 0, 34, 2, 0, 0, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216, 0, 26, 0, 0, 0, 1, 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,
+192, 51,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,104,240,225, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64,239,225, 2,
+ 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 67, 0, 0, 83,195, 0, 0, 0, 0,
+199, 0, 0, 0,216, 0, 0, 0, 18, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,198, 0, 0, 0, 18, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 18, 2, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,216, 0,229, 0,199, 0,211, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 61, 1, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0,229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 51,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,244, 0, 0, 0,144,241,225, 2,166, 0, 0, 0,
+ 1, 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, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 81,224, 3, 72, 81,224, 3,
+ 48,237,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 12, 0, 0, 0,
+ 48,237,205, 2,221, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,184,242,225, 2, 68, 65, 84, 65,168, 0, 0, 0,
+184,242,225, 2,220, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,144, 1,228, 2, 19, 0, 0, 0, 1, 0, 1, 0,
+144, 1,228, 2, 20, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 21, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,240, 10,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,240, 16,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 30,221, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0, 32, 26,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 8, 97,223, 2, 0, 0, 0, 0, 1, 0, 1, 0,
+192, 21,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 80, 9,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 12,228, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,184, 8,228, 2, 21, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 68, 65, 84, 65, 96, 0, 0, 0,192, 83,215, 2,
+197, 0, 0, 0, 1, 0, 0, 0, 80, 84,215, 2, 48, 83,215, 2,144,206,205, 2,216,206,205, 2, 40,205,205, 2, 72,206,205, 2,
+ 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,194, 2, 0, 0, 1, 1, 87, 2,106, 2, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24,108,206, 2, 96,150,206, 2, 96,150,206, 2,144,243,225, 2, 56,149,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+168, 73, 6, 4,136, 75, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,144,243,225, 2,198, 0, 0, 0, 1, 0, 0, 0,192,145,206, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 21, 68, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 86, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 21, 68, 0, 0,200, 65, 0,128, 21, 68,
+ 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 87, 2, 26, 0, 87, 2,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 55,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,192,145,206, 2,
+198, 0, 0, 0, 1, 0, 0, 0,232,146,206, 2,144,243,225, 2, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0,
+ 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0,
+ 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193, 1, 0, 0,
+193, 1, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 80, 2,
+ 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 54,206, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0,232,146,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 16,148,206, 2,192,145,206, 2, 0, 0, 0, 0,
+ 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,
+160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,193, 1, 0, 0,193, 1, 0, 0,115, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 32, 55,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 16,148,206, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 56,149,206, 2,232,146,206, 2, 0, 0, 0, 0, 0, 0, 35, 67, 0,128, 96,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,
+ 0,128, 96,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, 0, 0, 0, 0,162, 0, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,147, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,
+148, 3,163, 0,130, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,
+194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+ 56,149,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16,148,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,207, 44, 21, 1, 0, 0, 0,
- 68, 65, 84, 65, 96, 3, 0, 0, 72,207, 44, 21, 1, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0,107, 82,144, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+193, 1, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 87, 2, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+112, 53,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+184,244,225, 2, 68, 65, 84, 65, 68, 3, 0, 0,184,244,225, 2,156, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,167,141, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
28, 13,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 74,215, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,
184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63,
42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,
176, 84, 89,188, 0, 0, 0, 0, 53,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190,
- 43, 61,228, 62, 0, 0, 0, 0,164, 96, 68, 65,111,121,173,192,248,209,213, 64, 0, 0,128, 63, 89,180,236, 62,209,249,224,190,
- 48,180, 81,191,184,158, 81,191, 65,158,131, 63,142,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62, 38, 11,117,188,207,156,122, 63,
-138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65,214,211,111, 65,211, 48,186, 62, 11, 16, 79, 63,
-144,199, 64,188, 0, 0,135,180,163, 15,188,190,102, 75, 53, 62,223,125, 81, 63, 0, 0,104, 51,207,107,117,194, 81,204,216, 65,
- 40,156, 5,194,136,247,159,192,121, 62,114, 66,214,253,213,193, 94,225, 3, 66,236, 7,160, 64, 68,239,209, 62, 51,177,205,190,
+ 43, 61,228, 62, 0, 0, 0, 0,164, 96, 68, 65,111,121,173,192,248,209,213, 64, 0, 0,128, 63,178,157,229, 62,209,162,227,190,
+ 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62, 26, 63,185, 62, 35, 44,185, 62,145,180,109,188,105,147,125, 63,
+138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65,214,211,111, 65, 99,240,191, 62,110,116, 85, 63,
+ 64,185, 70,188, 0, 0, 82,180, 48,221,185,190, 44, 45, 51, 62, 28, 11, 79, 63, 0, 0, 56,179, 67,108,117,194,183,204,216, 65,
+105,156, 5,194,212,247,159,192,235, 62,114, 66, 59,254,213,193,158,225, 3, 66, 55, 8,160, 64, 68,239,209, 62, 51,177,205,190,
184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63,
- 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, 89,180,236, 62,209,249,224,190,
- 48,180, 81,191,184,158, 81,191, 65,158,131, 63,142,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62, 38, 11,117,188,207,156,122, 63,
-138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65,214,211,111, 65, 99,181, 12, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99,181, 12, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 99,181, 12, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,
-237,203,148,190, 3,236,234,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 14, 43, 0, 59, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63,178,157,229, 62,209,162,227,190,
+ 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62, 26, 63,185, 62, 35, 44,185, 62,145,180,109,188,105,147,125, 63,
+138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 9,185,108, 65,214,211,111, 65, 12,163, 91, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,163, 91, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 12,163, 91, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,
+237,203,148,190, 3,236,234,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,236, 15, 72, 59, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 1, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -348,527 +402,580 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 32, 33, 12, 66, 86,152,137, 66,113, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65,
+240, 0, 0, 0, 96,150,206, 2,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,144, 12,228, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 30, 33, 12, 66, 85,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
-232,210, 44, 21, 1, 0, 0, 0,157, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 7, 0, 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0,
+ 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 96, 0, 0, 0, 80, 84,215, 2,197, 0, 0, 0, 1, 0, 0, 0,224, 84,215, 2,192, 83,215, 2, 0,206,205, 2,
+ 32,207,205, 2,104,207,205, 2,144,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 89, 0, 0, 0, 3, 1, 0, 0,
+ 2, 2,192, 1,171, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,113,206, 2, 48,248,225, 2, 48,248,225, 2,136,151,206, 2,
+ 0,155,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,232, 75, 6, 4,104, 77, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,136,151,206, 2,
+198, 0, 0, 0, 1, 0, 0, 0,176,152,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0,224, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,128,223, 67, 0, 0,200, 65, 0,128,223, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0,192, 1, 26, 0,192, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+191, 1, 0, 0, 89, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 26, 0,
+ 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 56,206, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0,176,152,206, 2,198, 0, 0, 0, 1, 0, 0, 0,216,153,206, 2,136,151,206, 2, 0, 0, 0, 0,
+ 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,254,194, 0, 0, 0, 0,200, 0, 0, 0,
+217, 0, 0, 0, 18, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+199, 0, 0, 0, 18, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0,217, 0,145, 0,200, 0,127, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0,115, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,217, 0,145, 0, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96, 57,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,216,153,206, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 0,155,206, 2,176,152,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0,191, 1, 0, 0,115, 0, 0, 0,
+ 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 57,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+ 0,155,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216,153,206, 2, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192,
+ 0, 0,160, 64, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,
+144, 0, 0, 0, 18, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,230, 0, 0, 0, 18, 0, 0, 0,
+144, 0, 0, 0,111, 18,131, 58,111, 18,131, 58, 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,231, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+217, 0, 0, 0,191, 1, 0, 0,115, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+231, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 56,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,208, 0, 0, 0, 48,248,225, 2,161, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 1, 0, 0, 0,
- 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,104,212, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
-232,220, 44, 21, 1, 0, 0, 0, 56,199, 44, 21, 1, 0, 0, 0, 40,144, 44, 21, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0,
- 8,146, 44, 21, 1, 0, 0, 0,232,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0,
-133, 0, 0, 0,139, 1, 0, 0, 2, 2,160, 2, 7, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8,219, 44, 21, 1, 0, 0, 0, 8,219, 44, 21, 1, 0, 0, 0, 72,213, 44, 21, 1, 0, 0, 0,152,217, 44, 21, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 72,213, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184,214, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,100, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 40, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,103, 68, 0, 0,200, 65,
- 0,192,103, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,160, 2,
- 26, 0,160, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0,
-133, 0, 0, 0,158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,114, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 0, 0, 0, 48,114, 40, 0, 20, 1, 0, 0, 1, 0, 0, 0,144, 1,228, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,184,214, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 40,216, 44, 21, 1, 0, 0, 0,
- 72,213, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67,
- 0, 0, 91,195, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0,217, 0,
-237, 0,200, 0,219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0,
-159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0,237, 0, 0, 0, 2, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 68, 65, 84, 65, 96, 0, 0, 0,224, 84,215, 2,
+197, 0, 0, 0, 1, 0, 0, 0,112, 85,215, 2, 80, 84,215, 2, 32,207,205, 2, 80,204,205, 2,216,206,205, 2,104,207,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 5, 1, 0, 0,194, 2, 0, 0, 12, 12,192, 1,190, 1, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,240,166,206, 2,184, 26,221, 2,184, 26,221, 2, 40,156,206, 2,120,158,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+200, 77, 6, 4,232, 78, 6, 4, 68, 65, 84, 65,248, 0, 0, 0, 40,156,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 80,157,206, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 94, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,224, 67, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,223, 67, 0, 0,200, 65, 0,128,223, 67,
+ 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,192, 1, 26, 0,192, 1,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 5, 1, 0, 0, 30, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 69,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 80,157,206, 2,
+198, 0, 0, 0, 1, 0, 0, 0,120,158,206, 2, 40,156,206, 2, 0, 0, 0, 0, 0, 0, 55, 67, 0, 0, 0,194, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,201,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,163, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 4, 0, 0, 2, 0, 3, 3,
+ 0, 0, 2, 4, 6, 0,200, 0,164, 1,200, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+199, 0, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 0,164, 1,
+ 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,198,206, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0,120,158,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 80,157,206, 2, 0, 0, 32,193,
+ 0, 0,104, 68, 0, 0, 72,194, 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0,201,195, 0, 0, 0, 0,231, 0, 0, 0,
+248, 0, 0, 0, 18, 0, 0, 0,163, 1, 0, 0, 0, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+230, 0, 0, 0, 18, 0, 0, 0,163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60,
+ 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 4, 4, 0,248, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0,191, 1, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,160, 68,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,184, 26,221, 2, 21, 1, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,
+112, 85,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,224, 84,215, 2, 48,193,225, 2, 40,205,205, 2,152,204,205, 2,
+120,193,225, 2, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 61, 2, 0, 0,194, 2, 0, 0, 1, 1,216, 0,134, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24,108,206, 2,240,161,206, 2,240,161,206, 2,160,159,206, 2,200,160,206, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 72, 79, 6, 4, 8, 80, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,160,159,206, 2,198, 0, 0, 0, 1, 0, 0, 0,
+200,160,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,165, 67,
+ 0, 0, 0, 64, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0,128,164, 67, 0, 0,200, 65,
+ 0,128,164, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 74, 1,
+ 24, 0, 74, 1, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 61, 2, 0, 0,
+ 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 2, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 26, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 55,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+200,160,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,160,159,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 40,216, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,152,217, 44, 21, 1, 0, 0, 0,
-184,214, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 4, 0, 0,240, 4, 0, 0, 61, 2, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216, 0,134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+112, 53,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 48,249,225, 2, 68, 65, 84, 65, 68, 3, 0, 0, 48,249,225, 2,156, 0, 0, 0, 1, 0, 0, 0, 56,255, 13, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,228,100, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 86,126,162,190,
+ 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63,
+ 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,
+160, 56, 49,188, 0, 0, 0, 0, 88,126,162,190,229,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191,
+ 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 78,255,170, 64, 0, 0,128, 63, 47,201,194, 63, 61, 73,145,191,
+244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188,136,239, 76, 64,
+ 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65,149, 70,158, 62, 24,234,167, 62,
+192,214,159,187, 0, 0, 6,181,196,188,181,189, 71,238,178, 61,127, 45,128, 62, 0, 0,226, 51,168,120, 21,194,107, 5, 2, 66,
+203,135,213,193,147,214,159,192,177, 38, 19, 66,124,173,255,193, 96,101,210, 65,128, 40,160, 64,221,149, 47, 63, 86,126,162,190,
+ 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63,
+ 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193, 0, 0,128, 63, 47,201,194, 63, 61, 73,145,191,
+244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188,136,239, 76, 64,
+ 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65,102,103, 97, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,241, 22, 72, 63, 78,162,246,190,
+ 43, 8, 90,190, 2, 35,171,190, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,191,136, 59, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0,159, 2, 0, 0,
-159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0,
- 4, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,152,217, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40,216, 44, 21, 1, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 0, 0,122, 67,
- 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,236, 0, 0, 0, 18, 0, 0, 0,198, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,198, 1, 0, 0, 18, 0, 0, 0,236, 0, 0, 0,111, 18,131, 58,111, 18,131, 58,
- 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,199, 1,
-237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0,159, 2, 0, 0,
-159, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 1,237, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,240, 0, 0, 0, 8,219, 44, 21, 1, 0, 0, 0,161, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63,190,133, 65, 66, 99,212, 90, 66, 27,183,118, 66, 0, 0, 0, 0, 68, 65, 84, 65,
+240, 0, 0, 0,240,161,206, 2,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,144, 12,228, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 3, 0,
+ 8, 0, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 78, 0, 0,148, 0, 0, 0,240,249,213, 2,193, 0, 0, 0, 1, 0, 0, 0,184,250,213, 2, 40,249,213, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 82, 67,111,109,112,111,115,105,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232,201,225, 2,144,205,225, 2,216,205,225, 2,144,255,225, 2, 0, 86,215, 2,208, 88,215, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,232,201,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 48,202,225, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 48,202,225, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,120,202,225, 2,232,201,225, 2, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+120,202,225, 2,194, 0, 0, 0, 1, 0, 0, 0,192,202,225, 2, 48,202,225, 2, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,192,202,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 8,203,225, 2,120,202,225, 2, 0, 0, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 8,203,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 80,203,225, 2,
+192,202,225, 2, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 80,203,225, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,152,203,225, 2, 8,203,225, 2, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+152,203,225, 2,194, 0, 0, 0, 1, 0, 0, 0,224,203,225, 2, 80,203,225, 2, 0, 0, 0, 0, 32, 6, 92, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,224,203,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 40,204,225, 2,152,203,225, 2, 0, 0, 0, 0,
+126, 7, 92, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 40,204,225, 2,194, 0, 0, 0, 1, 0, 0, 0,112,204,225, 2,
+224,203,225, 2, 0, 0, 0, 0, 32, 6,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,112,204,225, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,184,204,225, 2, 40,204,225, 2, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+184,204,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 0,205,225, 2,112,204,225, 2, 0, 0, 0, 0, 32, 6,140, 1, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 0,205,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 72,205,225, 2,184,204,225, 2, 0, 0, 0, 0,
+ 4, 3,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 72,205,225, 2,194, 0, 0, 0, 1, 0, 0, 0,144,205,225, 2,
+ 0,205,225, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,144,205,225, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 72,205,225, 2, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+216,205,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 32,206,225, 2, 0, 0, 0, 0, 48,202,225, 2,120,202,225, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32,206,225, 2,195, 0, 0, 0, 1, 0, 0, 0,104,206,225, 2,216,205,225, 2,
+ 48,202,225, 2, 8,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,104,206,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,176,206,225, 2, 32,206,225, 2,120,202,225, 2, 80,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,176,206,225, 2,195, 0, 0, 0, 1, 0, 0, 0,248,206,225, 2,104,206,225, 2, 8,203,225, 2, 80,203,225, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,248,206,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 64,207,225, 2,
+176,206,225, 2,192,202,225, 2,224,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 64,207,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0,136,207,225, 2,248,206,225, 2,152,203,225, 2,224,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,136,207,225, 2,195, 0, 0, 0, 1, 0, 0, 0,208,207,225, 2, 64,207,225, 2, 80,203,225, 2,
+ 40,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,208,207,225, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 24,208,225, 2,136,207,225, 2, 8,203,225, 2, 40,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 24,208,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 96,208,225, 2,208,207,225, 2,152,203,225, 2, 40,204,225, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 96,208,225, 2,195, 0, 0, 0, 1, 0, 0, 0,168,208,225, 2, 24,208,225, 2,
+ 80,203,225, 2,224,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,168,208,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,192,252,225, 2, 96,208,225, 2, 8,203,225, 2,112,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,192,252,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 8,253,225, 2,168,208,225, 2, 40,204,225, 2,184,204,225, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 8,253,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 80,253,225, 2,
+192,252,225, 2,112,204,225, 2,184,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 80,253,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0,152,253,225, 2, 8,253,225, 2,112,204,225, 2, 0,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,152,253,225, 2,195, 0, 0, 0, 1, 0, 0, 0,224,253,225, 2, 80,253,225, 2,184,204,225, 2,
+ 0,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224,253,225, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 40,254,225, 2,152,253,225, 2,232,201,225, 2, 72,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 40,254,225, 2,195, 0, 0, 0, 1, 0, 0, 0,112,254,225, 2,224,253,225, 2, 72,205,225, 2,144,205,225, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,112,254,225, 2,195, 0, 0, 0, 1, 0, 0, 0,184,254,225, 2, 40,254,225, 2,
+192,202,225, 2,144,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,184,254,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 0,255,225, 2,112,254,225, 2,152,203,225, 2,144,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 0,255,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 72,255,225, 2,184,254,225, 2, 0,205,225, 2, 72,205,225, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 72,255,225, 2,195, 0, 0, 0, 1, 0, 0, 0,144,255,225, 2,
+ 0,255,225, 2,184,204,225, 2,144,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,144,255,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 72,255,225, 2,232,201,225, 2,112,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 96, 0, 0, 0, 0, 86,215, 2,197, 0, 0, 0, 1, 0, 0, 0,144, 86,215, 2, 0, 0, 0, 0, 8,203,225, 2,
+ 48,202,225, 2,120,202,225, 2, 80,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0,
+ 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 56,233,220, 2, 56,233,220, 2, 24,163,206, 2,
+ 64,164,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 24,163,206, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 64,164,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0,
+ 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0, 64,164,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 24,163,206, 2, 0, 0, 0, 0,
+ 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,
+129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+111, 7, 0, 0, 18, 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,128, 63,
+ 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,144, 86,215, 2,197, 0, 0, 0, 1, 0, 0, 0,
+ 32, 87,215, 2, 0, 86,215, 2,144,205,225, 2,152,203,225, 2,224,203,225, 2,192,202,225, 2, 0, 0, 0, 0, 33, 6, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 15, 15, 94, 1, 92, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+168, 44,226, 2,168, 44,226, 2,192, 12,226, 2,232, 13,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0,192, 12,226, 2,198, 0, 0, 0, 1, 0, 0, 0,232, 13,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,128,115, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,175, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,232, 13,226, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0,192, 12,226, 2, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, 50, 51, 74,193,154,209,131, 67,
+ 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 18, 0, 0, 0, 65, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66,
+ 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 94, 1,
+ 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,
+ 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0,
+168, 44,226, 2,173, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56,220, 44, 21, 1, 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, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0, 56,220, 44, 21, 1, 0, 0, 0, 19, 1, 0, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,232,220, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
-152,227, 44, 21, 1, 0, 0, 0,104,212, 44, 21, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0,232,141, 44, 21, 1, 0, 0, 0,
- 72,145, 44, 21, 1, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0,
-141, 1, 0, 0, 69, 4, 0, 0, 12, 12,160, 2,185, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 24,226, 44, 21, 1, 0, 0, 0, 24,226, 44, 21, 1, 0, 0, 0,200,221, 44, 21, 1, 0, 0, 0,168,224, 44, 21, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,200,221, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 56,223, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,106, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 40, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,103, 68, 0, 0,200, 65,
- 0,192,103, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,160, 2,
- 26, 0,160, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0,
-141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 32, 87,215, 2,197, 0, 0, 0, 1, 0, 0, 0,176, 87,215, 2,
+144, 86,215, 2,152,203,225, 2, 40,204,225, 2, 80,203,225, 2,224,203,225, 2, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0,
+ 93, 0, 0, 0,233, 3, 0, 0, 4, 4, 94, 1,141, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 84,226, 2,
+200, 84,226, 2, 16, 15,226, 2, 56, 16,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0, 16, 15,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 56, 16,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,175, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, 0, 0,200, 65, 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0,208, 3, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 94, 1, 26, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 56, 16,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 16, 15,226, 2, 0, 0, 0, 0, 0,128,174, 67, 0,128, 92,196, 0, 0, 0, 0, 0, 0, 0, 0,255,127,166, 67,255,191, 92,196,
+ 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,114, 3, 0, 0, 0, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,114, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 94, 1,115, 3, 77, 1,
+115, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, 93, 0, 0, 0,207, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1,115, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 45,226, 2,
+176, 61,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,152, 45,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0, 8, 47,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
+ 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
+ 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 56,223, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,168,224, 44, 21, 1, 0, 0, 0,
-200,221, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 67, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67,
- 0, 64, 35,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0,158, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 8, 4, 0, 0, 2, 0, 3, 3, 0, 0, 2, 4, 6, 0,200, 0,
-159, 2,200, 0,141, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0,
-167, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 0,159, 2, 0, 0, 2, 0,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 76, 1, 36, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,168,224, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56,223, 44, 21, 1, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0, 0,194, 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68,
- 0, 64, 35,196, 0, 0, 0, 0,199, 1, 0, 0,216, 1, 0, 0, 18, 0, 0, 0,158, 2, 0, 0, 0, 0, 0, 0,198, 1, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,198, 1, 0, 0, 18, 0, 0, 0,158, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,124,146, 72, 0, 64, 28, 70, 10,215, 35, 60, 0, 0, 72, 66, 74, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 4, 4, 0,216, 1,
-159, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0,159, 2, 0, 0,
-167, 1, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 1,159, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 8, 47,226, 2,196, 0, 0, 0, 1, 0, 0, 0,120, 48,226, 2,
+152, 45,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 64, 1, 0, 0, 24,226, 44, 21, 1, 0, 0, 0, 20, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 76, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 64, 1, 0, 0,120, 48,226, 2,196, 0, 0, 0, 1, 0, 0, 0,232, 49,226, 2, 8, 47,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,111,255, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0, 2, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-152,227, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,220, 44, 21, 1, 0, 0, 0,
-104,146, 44, 21, 1, 0, 0, 0, 8,143, 44, 21, 1, 0, 0, 0, 72,142, 44, 21, 1, 0, 0, 0,200,146, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0, 69, 4, 0, 0, 1, 1, 74, 1,225, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,234, 44, 21, 1, 0, 0, 0,248,234, 44, 21, 1, 0, 0, 0,
-120,228, 44, 21, 1, 0, 0, 0,232,229, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120,228, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,232,229, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,165, 67, 0, 0, 0, 64, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 1, 0, 0,
- 0, 0, 0, 0, 23, 0, 0, 0, 0,128,164, 67, 0, 0,200, 65, 0,128,164, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 74, 1, 24, 0, 74, 1, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0,101, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,232, 49,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 88, 51,226, 2,120, 48,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,
+109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,
+109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,229, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,228, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 88, 51,226, 2,196, 0, 0, 0, 1, 0, 0, 0,224, 52,226, 2,232, 49,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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, 65,110,116,105, 45, 65,108,105, 97,115,105,110,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, 45, 6, 0, 0,118, 7, 0, 0,101, 3, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 74, 1,225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58,254, 76, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88,231, 44, 21, 1, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0, 88,231, 44, 21, 1, 0, 0, 0,
-156, 0, 0, 0, 1, 0, 0, 0, 24,255, 13, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 66, 80, 64,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,
-149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,
-152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0, 87,126,162,190,228,251,159, 62,
- 56, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192,
- 77,255,170, 64, 0, 0,128, 63, 3,201,194, 63, 34, 49,132,191,244,250, 39,191, 8,165, 39,191,143,164,206, 63,124, 38,130, 63,
-180,164, 28, 63,149, 84, 28, 63,179,153,196,188, 42,119, 58, 64, 8,108,228,190, 50,247,227,190, 82, 21, 64,191,204,230,156,191,
-216, 49, 49, 65,152, 9, 52, 65,231, 70,158, 62, 23,234,167, 62,128,206,159,187, 0, 0,168,180, 59,189,199,189,147,167,196, 61,
-206,223,140, 62, 0, 0,248, 51,211,120, 21,194,145, 5, 2, 66, 10,136,213,193,193,214,159,192,219, 38, 19, 66,197,173,255,193,
-158,101,210, 65,173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,
-149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,
-152, 9, 52,193, 0, 0,128, 63, 3,201,194, 63, 34, 49,132,191,244,250, 39,191, 8,165, 39,191,143,164,206, 63,124, 38,130, 63,
-180,164, 28, 63,149, 84, 28, 63,179,153,196,188, 42,119, 58, 64, 8,108,228,190, 50,247,227,190, 82, 21, 64,191,204,230,156,191,
-216, 49, 49, 65,152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+224, 52,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 88, 54,226, 2, 88, 51,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,
+108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254,
+ 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190, 0, 0, 32, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,202, 4, 51, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 88, 54,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+208, 55,226, 2,224, 52,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,
+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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,
+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, 83,104, 97,100,105,110,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, 10,254, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0,208, 55,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 72, 57,226, 2, 88, 54,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,248,234, 44, 21, 1, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,242,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 56,182, 47, 4, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 72, 57,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0,192, 58,226, 2,208, 55,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,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, 80,111,115,116, 32, 80,114,111,
+ 99,101,115,115,105,110,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,218,253, 76, 1, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 3, 0, 8, 0, 0, 0, 0, 0, 12, 66,
- 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 67,111,109,112,111,115,105,116,105,110,103, 0,103, 46,
- 48, 48, 49, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,238, 44, 21, 1, 0, 0, 0,
-248,242, 44, 21, 1, 0, 0, 0, 88,243, 44, 21, 1, 0, 0, 0,136,252, 44, 21, 1, 0, 0, 0,248,252, 44, 21, 1, 0, 0, 0,
-120, 48, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,238, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-120,238, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,120,238, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216,238, 44, 21, 1, 0, 0, 0,
- 24,238, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-216,238, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 56,239, 44, 21, 1, 0, 0, 0,120,238, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,239, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,152,239, 44, 21, 1, 0, 0, 0,216,238, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-118, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,239, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-248,239, 44, 21, 1, 0, 0, 0, 56,239, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,248,239, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 88,240, 44, 21, 1, 0, 0, 0,
-152,239, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0,248,239, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 6,100, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0, 88,240, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-118, 7,100, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-120,241, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 70, 4, 1, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,120,241, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216,241, 44, 21, 1, 0, 0, 0,
- 24,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-216,241, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0,120,241, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24, 6,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,152,242, 44, 21, 1, 0, 0, 0,216,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 3,172, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,242, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-248,242, 44, 21, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-152,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 88,243, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,243, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-120,238, 44, 21, 1, 0, 0, 0,216,238, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,243, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,244, 44, 21, 1, 0, 0, 0, 88,243, 44, 21, 1, 0, 0, 0,
-120,238, 44, 21, 1, 0, 0, 0,152,239, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,244, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,244, 44, 21, 1, 0, 0, 0,200,243, 44, 21, 1, 0, 0, 0,
-216,238, 44, 21, 1, 0, 0, 0,248,239, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,244, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,245, 44, 21, 1, 0, 0, 0, 56,244, 44, 21, 1, 0, 0, 0,
-152,239, 44, 21, 1, 0, 0, 0,248,239, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,245, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,245, 44, 21, 1, 0, 0, 0,168,244, 44, 21, 1, 0, 0, 0,
- 56,239, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,245, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,245, 44, 21, 1, 0, 0, 0, 24,245, 44, 21, 1, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-248,245, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,246, 44, 21, 1, 0, 0, 0,136,245, 44, 21, 1, 0, 0, 0,
-248,239, 44, 21, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-104,246, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,246, 44, 21, 1, 0, 0, 0,248,245, 44, 21, 1, 0, 0, 0,
-152,239, 44, 21, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-216,246, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,247, 44, 21, 1, 0, 0, 0,104,246, 44, 21, 1, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 72,247, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,247, 44, 21, 1, 0, 0, 0,216,246, 44, 21, 1, 0, 0, 0,
-248,239, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-184,247, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,248, 44, 21, 1, 0, 0, 0, 72,247, 44, 21, 1, 0, 0, 0,
-152,239, 44, 21, 1, 0, 0, 0,120,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,248, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,248, 44, 21, 1, 0, 0, 0,184,247, 44, 21, 1, 0, 0, 0,
- 24,241, 44, 21, 1, 0, 0, 0,216,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,248, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,249, 44, 21, 1, 0, 0, 0, 40,248, 44, 21, 1, 0, 0, 0,
-120,241, 44, 21, 1, 0, 0, 0,216,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,249, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,249, 44, 21, 1, 0, 0, 0,152,248, 44, 21, 1, 0, 0, 0,
-120,241, 44, 21, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-120,249, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,249, 44, 21, 1, 0, 0, 0, 8,249, 44, 21, 1, 0, 0, 0,
-216,241, 44, 21, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-232,249, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,250, 44, 21, 1, 0, 0, 0,120,249, 44, 21, 1, 0, 0, 0,
- 24,238, 44, 21, 1, 0, 0, 0,152,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 88,250, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,250, 44, 21, 1, 0, 0, 0,232,249, 44, 21, 1, 0, 0, 0,
-152,242, 44, 21, 1, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,250, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,251, 44, 21, 1, 0, 0, 0, 88,250, 44, 21, 1, 0, 0, 0,
- 56,239, 44, 21, 1, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,251, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,251, 44, 21, 1, 0, 0, 0,200,250, 44, 21, 1, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,251, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,252, 44, 21, 1, 0, 0, 0, 56,251, 44, 21, 1, 0, 0, 0,
- 56,242, 44, 21, 1, 0, 0, 0,152,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,252, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,252, 44, 21, 1, 0, 0, 0,168,251, 44, 21, 1, 0, 0, 0,
-216,241, 44, 21, 1, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,252, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,252, 44, 21, 1, 0, 0, 0,
- 24,238, 44, 21, 1, 0, 0, 0,120,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-248,252, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,184, 0, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-152,239, 44, 21, 1, 0, 0, 0,120,238, 44, 21, 1, 0, 0, 0,216,238, 44, 21, 1, 0, 0, 0,248,239, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 97, 4, 0, 0, 7, 7,119, 7, 27, 0, 1, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 53, 45, 21, 1, 0, 0, 0,168, 53, 45, 21, 1, 0, 0, 0,
-216,253, 44, 21, 1, 0, 0, 0, 72,255, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,253, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 72,255, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0, 96, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 72,255, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,253, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69,
- 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0,
- 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0,
- 18, 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,128, 63, 0, 0,128, 63,
- 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,192, 58,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 56, 60,226, 2,
+ 72, 57,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184, 0, 45, 21, 1, 0, 0, 0,
-197, 0, 0, 0, 1, 0, 0, 0,152, 5, 45, 21, 1, 0, 0, 0,248,252, 44, 21, 1, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0, 56,239, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 6, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 15, 15, 94, 1,100, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 4, 45, 21, 1, 0, 0, 0,120, 4, 45, 21, 1, 0, 0, 0,152, 1, 45, 21, 1, 0, 0, 0,
- 8, 3, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 1, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 8, 3, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,110, 68, 0, 0, 0, 0, 0, 0,208, 65,
- 0,128,161, 67, 0, 64, 40, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,224,202, 68, 0, 0,200, 65, 0,224,202, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 6, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 94, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 3, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,152, 1, 45, 21, 1, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,
- 50, 51, 74,193,154,209,131, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 18, 0, 0, 0, 73, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2,
- 4, 0, 0, 4, 8, 0, 94, 1, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 25, 6, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 94, 1, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 64, 1, 0, 0, 56, 60,226, 2,196, 0, 0, 0, 1, 0, 0, 0,176, 61,226, 2,192, 58,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,120, 4, 45, 21, 1, 0, 0, 0,173, 0, 0, 0, 1, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 40,253, 76, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 64, 1, 0, 0,176, 61,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 56, 60,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,
+107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,
+107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253, 76, 1, 0, 0, 0, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 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, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-152, 5, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 24, 30, 45, 21, 1, 0, 0, 0,184, 0, 45, 21, 1, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0,248,239, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0,101, 0, 0, 0, 69, 4, 0, 0, 4, 4, 94, 1,225, 3, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 28, 45, 21, 1, 0, 0, 0,216, 28, 45, 21, 1, 0, 0, 0,
-120, 6, 45, 21, 1, 0, 0, 0,232, 7, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,120, 6, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,232, 7, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,175, 67, 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0,
- 0, 0, 0, 0, 30, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65, 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 94, 1, 31, 0, 94, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0, 39, 4, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 31, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,200, 84,226, 2,162, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232, 7, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 6, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,174, 67,
- 0, 64,112,196, 0, 0, 0, 0, 0, 0, 0, 0,255,127,166, 67,254,127,112,196, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0,
- 0, 0, 0, 0,193, 3, 0, 0, 0, 0, 0, 0, 82, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0,
- 0, 0, 0, 0,193, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,
- 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 94, 1,194, 3, 77, 1,194, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 25, 6, 0, 0,118, 7, 0, 0,101, 0, 0, 0, 38, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 94, 1,194, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,216, 28, 45, 21, 1, 0, 0, 0,
-162, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 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, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,176, 87,215, 2,197, 0, 0, 0,
+ 1, 0, 0, 0, 64, 88,215, 2, 32, 87,215, 2, 72,205,225, 2, 0,205,225, 2,184,204,225, 2,144,205,225, 2, 0, 0, 0, 0,
+ 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 1, 1, 27, 3,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 40, 23,226, 2, 40, 23,226, 2, 96, 17,226, 2, 0, 22,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 96, 17,226, 2,198, 0, 0, 0, 1, 0, 0, 0,136, 18,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 70, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 26, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 70, 68, 0, 0,200, 65, 0,128, 70, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 27, 3, 26, 0, 27, 3, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,136, 18,226, 2,198, 0, 0, 0,
+ 1, 0, 0, 0,176, 19,226, 2, 96, 17,226, 2, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,
+142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0,
+ 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0, 5, 3, 0, 0,
+ 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,114, 1, 0, 0, 5, 0,
+ 3, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0,176, 19,226, 2,198, 0, 0, 0, 1, 0, 0, 0,216, 20,226, 2,136, 18,226, 2, 0, 0, 0, 0, 0, 0, 16, 67,
+ 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0,
+ 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
+ 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,
+ 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 5, 3, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,216, 20,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 22,226, 2,
+176, 19,226, 2, 0, 0, 0, 0, 0, 0, 35, 67, 0,192,108,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,184,195,
+ 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,130, 1,163, 0,
+112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 0, 22,226, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216, 20,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0, 24, 30, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72, 43, 45, 21, 1, 0, 0, 0,
-152, 5, 45, 21, 1, 0, 0, 0,152,242, 44, 21, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0,216,241, 44, 21, 1, 0, 0, 0,
-248,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0,171, 1, 0, 0,
- 1, 1, 23, 3,172, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 41, 45, 21, 1, 0, 0, 0,
-200, 41, 45, 21, 1, 0, 0, 0,248, 30, 45, 21, 1, 0, 0, 0,184, 36, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-248, 30, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,104, 32, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,102, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 69, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0,
+ 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 3,114, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 22, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 23, 3, 26, 0, 23, 3, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 85,226, 2,
+ 68, 65, 84, 65, 68, 3, 0, 0,208, 85,226, 2,156, 0, 0, 0, 1, 0, 0, 0, 93,101,230, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 30,133,119, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191,
+ 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63,
+ 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62,
+ 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188,
+ 0, 0, 0, 0, 87,126,162,190,228,251,159, 62, 56, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62,
+ 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 77,255,170, 64, 0, 0,128, 63, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191,
+ 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63,149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190,
+ 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65,152, 9, 52, 65, 25, 25,195, 62,176,249,206, 62,128,238,196,187,
+ 0, 0,192,179, 55, 15,168,189,201,118,165, 61,152, 15,109, 62, 0, 0,152, 51,211,120, 21,194,144, 5, 2, 66, 6,136,213,193,
+193,214,159,192,219, 38, 19, 66,196,173,255,193,154,101,210, 65,173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63,
+ 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62,
+ 0, 0, 0, 0, 90, 38,173,190,254,221,192,190,152, 9, 52,193, 0, 0,128, 63, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191,
+ 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63,149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190,
+ 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65,152, 9, 52, 65, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190,
+ 3, 35,171,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 80, 49,183, 58, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 20, 0,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-104, 32, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,216, 33, 45, 21, 1, 0, 0, 0,248, 30, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,
-143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 1, 3, 0, 0, 26, 0, 0, 0,171, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,146, 1, 0, 0, 5, 0, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-216, 33, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 72, 35, 45, 21, 1, 0, 0, 0,104, 32, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,
-143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 23, 6, 0, 0, 26, 0, 0, 0, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 72, 35, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184, 36, 45, 21, 1, 0, 0, 0,216, 33, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 35, 67, 0,192,108,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,184,195, 0, 0, 0, 0,
-163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,130, 1,163, 0,112, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0, 23, 6, 0, 0, 26, 0, 0, 0,171, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,
+ 1, 0, 0, 0, 0, 0,128, 63,190,133, 65, 66,100,212, 90, 66, 31,183,118, 66, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,
+ 40, 23,226, 2,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,144, 12,228, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0,
+ 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 96, 0, 0, 0, 64, 88,215, 2,197, 0, 0, 0, 1, 0, 0, 0,208, 88,215, 2,176, 87,215, 2,112,204,225, 2, 8,203,225, 2,
+ 40,204,225, 2,184,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 16, 16, 32, 6,
+ 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 89,226, 2, 72, 89,226, 2, 80, 24,226, 2,120, 25,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 80, 24,226, 2,198, 0, 0, 0,
+ 1, 0, 0, 0,120, 25,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 66, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
+ 0, 0,196, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,195, 68,
+ 0, 0,200, 65, 0,224,195, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
+ 10, 0, 32, 6, 26, 0, 32, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0,
+141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 26, 0, 0, 0, 1, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0,120, 25,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 80, 24,226, 2, 0, 0, 32,193, 0, 0, 0, 68,
+ 0, 0, 32,193, 0, 0, 0, 68,128,195,217,195,192,225,108, 68, 96,240,187, 64, 62, 16,253, 67, 15, 6, 0, 0, 32, 6, 0, 0,
+ 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0,
+ 18, 0, 0, 0, 66, 2, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70,236, 81,184, 61, 10,215, 19, 64,
+ 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 32, 6, 67, 2, 15, 6, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 32, 6, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-184, 36, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 35, 45, 21, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,252, 0, 0, 0, 72, 89,226, 2,174, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 19, 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,144, 1,228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 10,206, 97, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 23, 6, 0, 0, 26, 0, 0, 0,171, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 3,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,
+208, 88,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 88,215, 2,232,201,225, 2,112,204,225, 2, 0,205,225, 2,
+ 72,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 6, 6, 4, 3,140, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 90,226, 2,120, 90,226, 2,160, 26,226, 2,240, 28,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,160, 26,226, 2,198, 0, 0, 0, 1, 0, 0, 0,
+200, 27,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 65, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 64, 68, 0, 0,200, 65,
+ 0,192, 64, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 4, 3,
+ 26, 0, 4, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+200, 27,226, 2,198, 0, 0, 0, 1, 0, 0, 0,240, 28,226, 2,160, 26,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 38, 45, 21, 1, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,
- 40, 38, 45, 21, 1, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0, 36,101,230, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118,171, 98, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 65,128,191, 0, 0,128,191,
- 0, 0, 0, 0, 0, 0, 0, 0, 72, 1, 77,190, 0, 0, 0, 0,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0,
- 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0,
- 90, 38,173,190,254,221,192,190,152, 9, 52,193, 0, 0,128, 63,223,149, 47, 63, 55, 70, 58, 63,192, 56, 49,188, 0, 0, 0, 0,
- 87,126,162,190,228,251,159, 62, 56, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191, 50,247,227, 62, 0, 0, 0, 0,
-110,101,239, 64,151, 62,208,192, 77,255,170, 64, 0, 0,128, 63, 3, 6,158, 63, 92,224,143,191,244,250, 39,191, 8,165, 39,191,
-170,164,167, 63,132,167,141, 63,180,164, 28, 63,149, 84, 28, 63, 0,127,159,188,126,242, 74, 64, 8,108,228,190, 50,247,227,190,
-221,212, 27,191, 39,197,170,191,216, 49, 49, 65,152, 9, 52, 65, 25, 25,195, 62, 12,250,206, 62, 0,247,196,187, 0, 0,150,180,
-203,132,183,189, 61,175,180, 61,245,110,129, 62, 0, 0,120, 51,211,120, 21,194,144, 5, 2, 66, 9,136,213,193,193,214,159,192,
-219, 38, 19, 66,196,173,255,193,157,101,210, 65,173, 40,160, 64,221,149, 47, 63, 85,126,162,190, 8,165, 39, 63, 0, 0, 0, 0,
- 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,191, 56, 49,188, 54, 53,101, 63, 50,247,227, 62, 0, 0, 0, 0,
- 90, 38,173,190,254,221,192,190,152, 9, 52,193, 0, 0,128, 63, 3, 6,158, 63, 92,224,143,191,244,250, 39,191, 8,165, 39,191,
-170,164,167, 63,132,167,141, 63,180,164, 28, 63,149, 84, 28, 63, 0,127,159,188,126,242, 74, 64, 8,108,228,190, 50,247,227,190,
-221,212, 27,191, 39,197,170,191,216, 49, 49, 65,152, 9, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 22, 72, 63, 78,162,246,190, 44, 8, 90,190, 3, 35,171,190,
-214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,162, 30,184, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 4, 0, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,240, 28,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,200, 27,226, 2,
+ 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 0, 0,129,191, 0,128, 0, 64, 0, 0,100,190, 0,128,156, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 32, 0, 0,120, 90,226, 2,167, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62,
+ 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,200, 41, 45, 21, 1, 0, 0, 0,
-157, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0,
- 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0, 72, 43, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,120, 48, 45, 21, 1, 0, 0, 0,
- 24, 30, 45, 21, 1, 0, 0, 0,120,241, 44, 21, 1, 0, 0, 0,152,239, 44, 21, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0,
-216,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0,173, 1, 0, 0, 69, 4, 0, 0,
- 16, 16, 24, 6,153, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 47, 45, 21, 1, 0, 0, 0,
- 8, 47, 45, 21, 1, 0, 0, 0, 40, 44, 45, 21, 1, 0, 0, 0,152, 45, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 40, 44, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,152, 45, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,128, 41, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,195, 68, 0, 0, 0, 0, 0, 0,208, 65,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 24, 6, 26, 0, 24, 6, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0,173, 1, 0, 0,198, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-152, 45, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 44, 45, 21, 1, 0, 0, 0,
- 0, 0, 32,193, 0, 0, 0, 68, 0, 0, 32,193, 0, 0, 0, 68,128,195,217,195,192,225,108, 68,240,130,178,193, 24,148, 5, 68,
- 7, 6, 0, 0, 24, 6, 0, 0, 18, 0, 0, 0,126, 2, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 6, 6, 0, 0, 18, 0, 0, 0,126, 2, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70,
-236, 81,184, 61, 10,215, 19, 64, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 24, 6,127, 2, 7, 6,109, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 6, 0, 0,199, 1, 0, 0, 69, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 6,127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 1, 0, 0,
- 8, 47, 45, 21, 1, 0, 0, 0,174, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 19, 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, 56,174, 47, 4, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,123,246, 98, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,120, 48, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 43, 45, 21, 1, 0, 0, 0, 24,238, 44, 21, 1, 0, 0, 0,120,241, 44, 21, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0,
-152,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0, 0, 0, 0, 0,171, 1, 0, 0,
- 6, 6, 0, 3,172, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,140, 47, 4, 1, 0, 0, 0,
- 56,140, 47, 4, 1, 0, 0, 0, 88, 49, 45, 21, 1, 0, 0, 0, 56, 52, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 88, 49, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,200, 50, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 64, 68, 0, 0, 0, 0, 0, 0,208, 65,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 63, 68, 0, 0,200, 65, 0,192, 63, 68, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 0, 3, 26, 0, 0, 3, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-200, 50, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 56, 52, 45, 21, 1, 0, 0, 0, 88, 49, 45, 21, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0,171, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 56, 52, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 50, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 0, 0,128,191, 0, 0, 0, 64, 0, 0,146,190, 0,128,164, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 2, 0, 0, 26, 0, 0, 0,171, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0,
- 56,140, 47, 4, 1, 0, 0, 0,167, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65,
- 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -971,6 +1078,7 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,100, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -998,7 +1106,6 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1101,2593 +1208,2284 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,
+148, 0, 0, 0,184,250,213, 2,193, 0, 0, 0, 1, 0, 0, 0,128,251,213, 2,240,249,213, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 82, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,216,255,225, 2,240, 2,226, 2, 56, 3,226, 2, 0, 8,226, 2, 96, 89,215, 2,160, 91,215, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 1, 0, 12, 0, 0, 0, 0, 0, 0, 0,148,238, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,216,255,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 32, 0,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 32, 0,226, 2,194, 0, 0, 0, 1, 0, 0, 0,
+104, 0,226, 2,216,255,225, 2, 0, 0, 0, 0, 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,104, 0,226, 2,
+194, 0, 0, 0, 1, 0, 0, 0,176, 0,226, 2, 32, 0,226, 2, 0, 0, 0, 0,240, 4,222, 2, 0, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0,176, 0,226, 2,194, 0, 0, 0, 1, 0, 0, 0,248, 0,226, 2,104, 0,226, 2, 0, 0, 0, 0,240, 4, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,248, 0,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 64, 1,226, 2,176, 0,226, 2,
+ 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 64, 1,226, 2,194, 0, 0, 0, 1, 0, 0, 0,
+136, 1,226, 2,248, 0,226, 2, 0, 0, 0, 0,240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,136, 1,226, 2,
+194, 0, 0, 0, 1, 0, 0, 0,208, 1,226, 2, 64, 1,226, 2, 0, 0, 0, 0, 36, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0,208, 1,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 24, 2,226, 2,136, 1,226, 2, 0, 0, 0, 0, 36, 4,195, 2,
+ 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 24, 2,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 96, 2,226, 2,208, 1,226, 2,
+ 0, 0, 0, 0, 36, 4, 84, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 96, 2,226, 2,194, 0, 0, 0, 1, 0, 0, 0,
+168, 2,226, 2, 24, 2,226, 2, 0, 0, 0, 0,240, 4, 84, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,168, 2,226, 2,
+194, 0, 0, 0, 1, 0, 0, 0,240, 2,226, 2, 96, 2,226, 2, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0,240, 2,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,168, 2,226, 2, 0, 0, 0, 0, 36, 4, 84, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56, 3,226, 2,195, 0, 0, 0, 1, 0, 0, 0,128, 3,226, 2, 0, 0, 0, 0,
+ 32, 0,226, 2,104, 0,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,128, 3,226, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,200, 3,226, 2, 56, 3,226, 2, 32, 0,226, 2,248, 0,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,200, 3,226, 2,195, 0, 0, 0, 1, 0, 0, 0, 16, 4,226, 2,128, 3,226, 2,104, 0,226, 2, 64, 1,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 16, 4,226, 2,195, 0, 0, 0, 1, 0, 0, 0, 88, 4,226, 2,
+200, 3,226, 2,248, 0,226, 2, 64, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 88, 4,226, 2,
+195, 0, 0, 0, 1, 0, 0, 0,160, 4,226, 2, 16, 4,226, 2,216,255,225, 2,136, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,160, 4,226, 2,195, 0, 0, 0, 1, 0, 0, 0,232, 4,226, 2, 88, 4,226, 2,176, 0,226, 2,
+136, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,232, 4,226, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 48, 5,226, 2,160, 4,226, 2,248, 0,226, 2,208, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 48, 5,226, 2,195, 0, 0, 0, 1, 0, 0, 0,120, 5,226, 2,232, 4,226, 2, 64, 1,226, 2,208, 1,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,120, 5,226, 2,195, 0, 0, 0, 1, 0, 0, 0,192, 5,226, 2, 48, 5,226, 2,
+136, 1,226, 2, 24, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,192, 5,226, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 8, 6,226, 2,120, 5,226, 2,208, 1,226, 2, 24, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 8, 6,226, 2,195, 0, 0, 0, 1, 0, 0, 0, 80, 6,226, 2,192, 5,226, 2, 64, 1,226, 2, 96, 2,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 80, 6,226, 2,195, 0, 0, 0, 1, 0, 0, 0,152, 6,226, 2,
+ 8, 6,226, 2,176, 0,226, 2, 96, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,152, 6,226, 2,
+195, 0, 0, 0, 1, 0, 0, 0,224, 6,226, 2, 80, 6,226, 2, 24, 2,226, 2, 96, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,224, 6,226, 2,195, 0, 0, 0, 1, 0, 0, 0, 40, 7,226, 2,152, 6,226, 2,216,255,225, 2,
+168, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 40, 7,226, 2,195, 0, 0, 0, 1, 0, 0, 0,
+112, 7,226, 2,224, 6,226, 2,248, 0,226, 2,168, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+112, 7,226, 2,195, 0, 0, 0, 1, 0, 0, 0,184, 7,226, 2, 40, 7,226, 2,208, 1,226, 2,240, 2,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,184, 7,226, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 8,226, 2,112, 7,226, 2,
+136, 1,226, 2,240, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 0, 8,226, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,184, 7,226, 2,168, 2,226, 2,240, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 96, 0, 0, 0, 96, 89,215, 2,197, 0, 0, 0, 1, 0, 0, 0,240, 89,215, 2, 0, 0, 0, 0,248, 0,226, 2, 32, 0,226, 2,
+104, 0,226, 2, 64, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4,
+ 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0,136,129,206, 2,152,233,220, 2,152,233,220, 2, 24, 30,226, 2, 64, 31,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,231,220, 2, 24,232,220, 2, 68, 65, 84, 65,248, 0, 0, 0, 24, 30,226, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 64, 31,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
+ 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68,
+ 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
+ 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,
+196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 26, 0, 2, 0, 1, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64,206, 2, 40,133, 4, 4,
+ 40,133, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0,184, 59, 6, 4, 80, 58, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0, 64, 31,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 24, 30,226, 2, 0, 0, 0, 0, 0,240,109, 69,
+ 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,237, 68, 0, 0, 0, 0, 0, 0, 0, 64,112, 7, 0, 0,129, 7, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0,
+ 0, 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,128, 63, 0, 0,128, 63,
+ 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 2, 0, 0,222, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,144, 63,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,240, 89,215, 2,197, 0, 0, 0, 1, 0, 0, 0,128, 90,215, 2,
+ 96, 89,215, 2,136, 1,226, 2, 24, 2,226, 2, 96, 2,226, 2,176, 0,226, 2, 0, 0, 0, 0, 37, 4, 0, 0,240, 4, 0, 0,
+ 0, 0, 0, 0, 83, 2, 0, 0, 4, 4,204, 0, 84, 2, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,168,127,206, 2,160,155,226, 2,
+160,155,226, 2,104, 32,226, 2,144, 33,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,152,230,220, 2, 88,231,220, 2, 68, 65, 84, 65,
+248, 0, 0, 0,104, 32,226, 2,198, 0, 0, 0, 1, 0, 0, 0,144, 33,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 64, 33, 68, 55, 0, 0, 76, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,203, 0, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 75, 67, 0, 0,200, 65, 0, 0, 75, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,204, 0, 26, 0,204, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 37, 4, 0, 0,240, 4, 0, 0, 58, 2, 0, 0, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,204, 0, 26, 0, 3, 0, 1, 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, 0, 63,206, 2,208, 80, 8, 4,208, 80, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0,216, 57, 6, 4,112, 56, 6, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,144, 33,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+104, 32,226, 2, 0, 0, 0, 0, 0, 0, 75, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 58, 67,255,127, 14,196,
+ 0, 0, 0, 0,187, 0, 0, 0,204, 0, 0, 0, 0, 0, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,204, 0, 58, 2,187, 0,
+ 58, 2, 0, 0, 8,104,244, 3, 1, 0, 0, 0, 0, 0, 0, 0, 37, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 57, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,204, 0, 58, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 62,206, 2,152, 71, 8, 4, 16, 66, 8, 4, 40, 63,226, 2,
+ 32,128,226, 2,248, 55, 6, 4,144, 54, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 40, 63,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0,160, 64,226, 2, 0, 0, 0, 0,104,128,206, 2, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
+ 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95,
+ 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,186, 0, 36, 0,
+ 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,160, 64,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 24, 66,226, 2,
+ 40, 63,226, 2,208, 0,222, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,186, 0, 61, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
+ 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 64, 1, 0, 0, 24, 66,226, 2,196, 0, 0, 0, 1, 0, 0, 0,144, 67,226, 2,160, 64,226, 2,248, 1,222, 2, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,111,255,186, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,144, 67,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 8, 69,226, 2, 24, 66,226, 2, 32, 3,222, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,
+109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,
+109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254,186, 0,203, 0, 0, 0, 0, 0,
+ 0, 0, 6, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 8, 69,226, 2,196, 0, 0, 0, 1, 0, 0, 0,128, 70,226, 2,144, 67,226, 2,
+ 72, 4,222, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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, 65,110,116,105, 45, 65,108,105, 97,115,105,110,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, 58,254,186, 0, 58, 0, 20, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 64, 1, 0, 0,
+128, 70,226, 2,196, 0, 0, 0, 1, 0, 0, 0,248, 71,226, 2, 8, 69,226, 2, 80, 78,217, 2, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,
+108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254,
+186, 0, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 64, 1, 0, 0,248, 71,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+112, 73,226, 2,128, 70,226, 2,120, 79,217, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,
+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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,
+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, 83,104, 97,100,105,110,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, 10,254,186, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0,
+ 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0,112, 73,226, 2,196, 0, 0, 0, 1, 0, 0, 0,232, 74,226, 2,248, 71,226, 2,160, 80,217, 2,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,242,253,186, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,232, 74,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0, 96, 76,226, 2,112, 73,226, 2,200, 81,217, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,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, 80,111,115,116, 32, 80,114,111,
+ 99,101,115,115,105,110,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,218,253,186, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 96, 76,226, 2,196, 0, 0, 0, 1, 0, 0, 0,216, 77,226, 2,
+232, 74,226, 2,240, 82,217, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 55, 45, 21, 1, 0, 0, 0,
-104, 59, 45, 21, 1, 0, 0, 0,200, 59, 45, 21, 1, 0, 0, 0, 56, 67, 45, 21, 1, 0, 0, 0,168, 67, 45, 21, 1, 0, 0, 0,
-120,174, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72, 55, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-168, 55, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,168, 55, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8, 56, 45, 21, 1, 0, 0, 0,
- 72, 55, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 8, 56, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,104, 56, 45, 21, 1, 0, 0, 0,168, 55, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 16, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 56, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0, 8, 56, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-120, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
- 40, 57, 45, 21, 1, 0, 0, 0,104, 56, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,245, 3, 1, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0,
-200, 56, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7,245, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-136, 57, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 60, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 60, 6,245, 3, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-168, 58, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 6, 72, 3, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0,
- 72, 58, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 72, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 8, 59, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,104, 59, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104, 59, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 60, 6,116, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 59, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 56, 60, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 55, 45, 21, 1, 0, 0, 0, 8, 56, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 60, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-168, 60, 45, 21, 1, 0, 0, 0,200, 59, 45, 21, 1, 0, 0, 0,168, 55, 45, 21, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 60, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 24, 61, 45, 21, 1, 0, 0, 0, 56, 60, 45, 21, 1, 0, 0, 0, 8, 56, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 61, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-136, 61, 45, 21, 1, 0, 0, 0,168, 60, 45, 21, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 61, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-248, 61, 45, 21, 1, 0, 0, 0, 24, 61, 45, 21, 1, 0, 0, 0, 72, 55, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 61, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-104, 62, 45, 21, 1, 0, 0, 0,136, 61, 45, 21, 1, 0, 0, 0,104, 56, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 62, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-216, 62, 45, 21, 1, 0, 0, 0,248, 61, 45, 21, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 62, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 72, 63, 45, 21, 1, 0, 0, 0,104, 62, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 63, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-184, 63, 45, 21, 1, 0, 0, 0,216, 62, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 63, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 40, 64, 45, 21, 1, 0, 0, 0, 72, 63, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 64, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-152, 64, 45, 21, 1, 0, 0, 0,184, 63, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 64, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 8, 65, 45, 21, 1, 0, 0, 0, 40, 64, 45, 21, 1, 0, 0, 0,104, 56, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 65, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-120, 65, 45, 21, 1, 0, 0, 0,152, 64, 45, 21, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 65, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-232, 65, 45, 21, 1, 0, 0, 0, 8, 65, 45, 21, 1, 0, 0, 0, 72, 55, 45, 21, 1, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 65, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 88, 66, 45, 21, 1, 0, 0, 0,120, 65, 45, 21, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 66, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-200, 66, 45, 21, 1, 0, 0, 0,232, 65, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0,104, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 66, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 56, 67, 45, 21, 1, 0, 0, 0, 88, 66, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0,104, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 67, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 45, 21, 1, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0,104, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,168, 67, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
-104, 71, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0,168, 55, 45, 21, 1, 0, 0, 0,
- 8, 56, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0,
-246, 3, 0, 0, 16, 4, 0, 0, 7, 7,121, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-104,223, 45, 21, 1, 0, 0, 0,104,223, 45, 21, 1, 0, 0, 0,136, 68, 45, 21, 1, 0, 0, 0,248, 69, 45, 21, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,136, 68, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,248, 69, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,159, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,239, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65,
- 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,121, 7,
- 26, 0,121, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 7, 0, 0,
-246, 3, 0, 0, 15, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,121, 7, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,248, 69, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136, 68, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,237, 68,
- 0, 0, 0, 0, 0, 0, 0, 64,104, 7, 0, 0,121, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,103, 7, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,121, 7,
- 2, 0,104, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 16, 4, 0, 0, 16, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,104, 71, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 40,164, 45, 21, 1, 0, 0, 0,
-168, 67, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0,
-104, 56, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 6, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 71, 3, 0, 0,
- 4, 4, 60, 1, 72, 3, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,162, 45, 21, 1, 0, 0, 0,
-232,162, 45, 21, 1, 0, 0, 0, 72, 72, 45, 21, 1, 0, 0, 0,184, 73, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 72, 72, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184, 73, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,158, 67, 0, 0, 0, 0, 0, 0,248, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65, 0,128,137, 67, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 60, 1, 31, 0, 60, 1, 31, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 6, 0, 0,120, 7, 0, 0, 41, 3, 0, 0, 71, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 31, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-184, 73, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 72, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,158, 67, 0,128, 86,196, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,149, 67, 0, 64, 74,196, 0, 0, 0, 0,
- 43, 1, 0, 0, 60, 1, 0, 0, 0, 0, 0, 0, 40, 3, 0, 0, 0, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 40, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 60, 1, 41, 3, 43, 1, 41, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 6, 0, 0,120, 7, 0, 0, 0, 0, 0, 0, 40, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 41, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253,186, 0, 0, 0, 20, 0, 0, 0, 4, 0, 6, 0, 0, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 64, 1, 0, 0,216, 77,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 80, 79,226, 2, 96, 76,226, 2, 24, 84,217, 2, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
-232,162, 45, 21, 1, 0, 0, 0,162, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 40,253,186, 0,130, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 80, 79,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0,200, 80,226, 2,216, 77,226, 2,104, 86,217, 2, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,
+107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,
+107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 40,164, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 8,169, 45, 21, 1, 0, 0, 0,104, 71, 45, 21, 1, 0, 0, 0, 72, 55, 45, 21, 1, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0,
-104, 59, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0,
- 0, 0, 0, 0,115, 0, 0, 0, 15, 15, 60, 6,116, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-232,167, 45, 21, 1, 0, 0, 0,232,167, 45, 21, 1, 0, 0, 0, 8,165, 45, 21, 1, 0, 0, 0,120,166, 45, 21, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253,186, 0, 0, 0, 0, 0, 0, 0,
+ 4, 0, 7, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 8,165, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,120,166, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,199, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,202, 68, 0, 0,200, 65,
- 0,224,202, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 60, 6,
- 26, 0, 60, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 6, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,200, 80,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 64, 82,226, 2, 80, 79,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,120,166, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8,165, 45, 21, 1, 0, 0, 0, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, 88,218,103,194, 40,147,141, 67,
- 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0, 18, 0, 0, 0, 89, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66,
- 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 60, 6,
- 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0,
- 26, 0, 0, 0,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 6, 90, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,115, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 99,101,110,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255, 41, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,216, 0, 0, 0,232,167, 45, 21, 1, 0, 0, 0,173, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+ 64, 82,226, 2,196, 0, 0, 0, 1, 0, 0, 0,184,123,226, 2,200, 80,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78,
+ 69, 95, 80, 84, 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78,
+ 69, 95, 80, 84, 95,117,110,105,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,110,105,116,
+115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,255,
+ 41, 1, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,184,123,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+ 48,125,226, 2, 64, 82,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,107,101,121,105,110,103, 95,
+115,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,107,101,121,105,110,103, 95,
+115,101,116,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,101,121,105,110,103, 32, 83,101,116,115, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191,254, 41, 1, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 8,169, 45, 21, 1, 0, 0, 0,
-197, 0, 0, 0, 1, 0, 0, 0,120,174, 45, 21, 1, 0, 0, 0, 40,164, 45, 21, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,
-232, 57, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 61, 6, 0, 0,120, 7, 0, 0, 73, 3, 0, 0,244, 3, 0, 0, 3, 3, 60, 1,172, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200,172, 45, 21, 1, 0, 0, 0,200,172, 45, 21, 1, 0, 0, 0,232,169, 45, 21, 1, 0, 0, 0,
- 88,171, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,232,169, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 88,171, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0,158, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0, 0, 66, 67, 0, 0,200, 65, 0, 0, 66, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0, 60, 1, 26, 0, 60, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 61, 6, 0, 0,120, 7, 0, 0,219, 3, 0, 0,244, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 60, 1, 26, 0, 0, 0, 1, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0, 48,125,226, 2,196, 0, 0, 0, 1, 0, 0, 0,168,126,226, 2,184,123,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,171, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,232,169, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,131, 67, 0, 0,232,194, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,128,149, 67, 0, 0, 0,195, 0, 0, 0, 0, 43, 1, 0, 0, 60, 1, 0, 0, 18, 0, 0, 0,145, 0, 0, 0,
- 0, 0, 0, 0, 42, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 42, 1, 0, 0, 18, 0, 0, 0,145, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3,
- 0, 0, 12, 4, 6, 0, 60, 1,146, 0, 43, 1,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 61, 6, 0, 0,120, 7, 0, 0, 73, 3, 0, 0,218, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 60, 1,146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95,112,104,121,115,105, 99,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 71,114, 97,118,105,116,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,200,172, 45, 21, 1, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,131,254, 41, 1, 36, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,168,126,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0, 32,128,226, 2, 48,125,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84,
+ 95,115,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84,
+ 95,115,105,109,112,108,105,102,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,105,109,112,108,105,102,121,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27,254, 41, 1, 80, 0,
+ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,174, 45, 21, 1, 0, 0, 0,
- 0,115,101, 32, 83, 99,117,108,112,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 16, 0, 0, 0,
- 40,174, 45, 21, 1, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0, 42, 11, 0, 0, 42, 11, 0, 0, 56, 82, 53, 4, 1, 0, 0, 0,
- 68, 65, 84, 65,160,178, 0, 0, 56, 82, 53, 4, 1, 0, 0, 0,219, 0, 0, 0, 42, 11, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-136,233, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56, 40, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-168,246, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,239, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-136,244, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56, 46, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 3, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-120,174, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,169, 45, 21, 1, 0, 0, 0,
- 8, 59, 45, 21, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0,104, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0,117, 0, 0, 0,244, 3, 0, 0, 1, 1, 60, 6,128, 3, 1, 0,
- 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,221, 45, 21, 1, 0, 0, 0,232,221, 45, 21, 1, 0, 0, 0,
- 88,175, 45, 21, 1, 0, 0, 0,216,216, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,175, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,200,176, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,199, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 60, 6, 26, 0, 60, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0,117, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 60, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,176, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,248,200, 45, 21, 1, 0, 0, 0, 88,175, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67,
- 0,128, 35,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0,128, 35,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0,
- 0, 0, 0, 0,141, 2, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
- 0, 0, 0, 0,141, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,
- 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,142, 2,143, 0,142, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,103, 1, 0, 0,244, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160, 0,142, 2, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0,160, 0, 50, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,200, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 8,204, 45, 21, 1, 0, 0, 0,200,176, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 67,
- 0, 0, 90,195, 0, 0, 0, 0, 0, 0, 0, 0,227,102, 16, 67, 24, 30, 90,195, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0,
- 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
- 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,
- 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,216, 0,143, 0,216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,143, 0, 0, 0,102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160, 0,216, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8,204, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,216,216, 45, 21, 1, 0, 0, 0,248,200, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 67,
- 0, 96,158,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 96,158,196, 0,128,142,195,163, 0, 0, 0,180, 0, 0, 0,
- 0, 0, 0, 0,213, 3, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0,
- 0, 0, 0, 0,213, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,
- 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,180, 0,214, 3,163, 0,214, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 59, 6, 0, 0, 59, 6, 0, 0,143, 0, 0, 0,244, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,216, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,204, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 0, 59, 6, 0, 0,143, 0, 0, 0,244, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,156, 5,102, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 72,218, 45, 21, 1, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0, 72,218, 45, 21, 1, 0, 0, 0,
-156, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 20,231, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 6,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0,
- 11,210, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62,
- 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33,210,111,193, 0, 0,128, 63, 68,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0, 52,177,205,190,142, 74, 70, 62,
-166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0, 62, 95, 68, 65, 51,120,173,192,
-115,208,213, 64, 0, 0,128, 63,178,157,229, 62,115,171, 57,191,116,169, 81,191,184,158, 81,191,117, 90,127, 63, 60,253,178, 62,
-158, 53,185, 62, 35, 44,185, 62,145,180,109,188,205,211,206, 63,218, 72,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0,
- 33,171,108, 65, 33,210,111, 65,190,240,191, 62, 90,116, 85, 63, 0,179, 70,188, 0, 0,240, 50,192,223, 99,190,200,172,219, 61,
- 59,215,253, 62, 0, 0, 32,178, 57,113,117,194, 25,209,216, 65, 27,159, 5,194, 52,252,159,192, 79, 55,114, 66,130,247,213,193,
-120,221, 3, 66,101, 4,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62,
- 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33,210,111,193, 0, 0,128, 63,178,157,229, 62,115,171, 57,191,116,169, 81,191,184,158, 81,191,117, 90,127, 63, 60,253,178, 62,
-158, 53,185, 62, 35, 44,185, 62,145,180,109,188,205,211,206, 63,218, 72,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0,
- 33,171,108, 65, 33,210,111, 65,199, 58,183, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 58,183, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 58,183, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 33,210,111, 65, 33,210,111, 65,
- 0, 0, 0, 0, 0, 0, 0, 0,126,231,166, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0,
- 0, 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, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 32,128,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+168,126,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,
+115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 69, 78, 69, 95, 80, 84, 95, 99,117,115,116,111,109, 95,112,114,111,112,
+115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,117,115,116,111,109, 32, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223,253, 41, 1, 36, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+216, 0, 0, 0,160,155,226, 2,162, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 80,154,252, 3,255, 21, 0, 0,
+160, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,128, 90,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 16, 91,215, 2,
+240, 89,215, 2,216,255,225, 2,168, 2,226, 2,240, 2,226, 2,136, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0,
+ 0, 0, 0, 0, 83, 0, 0, 0, 15, 15, 36, 4, 84, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,107,206, 2,168,156,226, 2,
+168,156,226, 2,184, 34,226, 2,224, 35,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,200, 80, 6, 4, 32,122, 10, 4, 68, 65, 84, 65,
+248, 0, 0, 0,184, 34,226, 2,198, 0, 0, 0, 1, 0, 0, 0,224, 35,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68,
+ 0, 0, 0, 0, 0, 0,208, 65,220,123,132, 55, 0,128,132, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 96,132, 68, 0, 0,200, 65, 0, 96,132, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 36, 4, 26, 0, 36, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 36, 4, 26, 0, 5, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,224, 52,206, 2, 32, 77, 8, 4, 32, 77, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 24, 54, 6, 4,168, 60, 6, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,224, 35,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+184, 34,226, 2, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66, 88,218,103,194, 40,147,141, 67, 0, 0, 0, 0,
+ 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0, 18, 0, 0, 0, 57, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72,
+ 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0, 36, 4, 58, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0, 26, 0, 0, 0, 83, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 4, 58, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 52,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,152, 61, 6, 4,120, 63, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0,168,156,226, 2,
+173, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 32, 33, 12, 66, 85,152,137, 66,
-113, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,232,221, 45, 21, 1, 0, 0, 0,157, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 56,182, 47, 4, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 6, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 16, 91,215, 2,197, 0, 0, 0, 1, 0, 0, 0,160, 91,215, 2,128, 90,215, 2,
+ 24, 2,226, 2,208, 1,226, 2, 64, 1,226, 2, 96, 2,226, 2, 0, 0, 0, 0, 37, 4, 0, 0,240, 4, 0, 0, 85, 2, 0, 0,
+194, 2, 0, 0, 3, 3,204, 0,110, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,152,106,206, 2, 88, 39,226, 2, 88, 39,226, 2,
+ 8, 37,226, 2, 48, 38,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,192, 34,220, 3, 0, 34,220, 3, 68, 65, 84, 65,248, 0, 0, 0,
+ 8, 37,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 48, 38,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0,
+ 0, 0,208, 65, 48, 39, 68, 55, 0, 0, 76, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,203, 0, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 75, 67, 0, 0,200, 65, 0, 0, 75, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,204, 0, 26, 0,204, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 37, 4, 0, 0,240, 4, 0, 0,169, 2, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+204, 0, 26, 0, 7, 0, 1, 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,
+192, 51,206, 2,216, 56, 8, 4,216, 56, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0,240, 63, 6, 4, 88, 65, 6, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 48, 38,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 37,226, 2,
+ 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 19, 0, 0, 64, 0, 0, 61, 67, 0, 0,185,194, 0, 0,212,193,
+187, 0, 0, 0,204, 0, 0, 0, 18, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,186, 0, 0, 0, 18, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 18, 0, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,204, 0, 84, 0,187, 0, 66, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 4, 0, 0,240, 4, 0, 0, 85, 2, 0, 0,168, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,204, 0, 84, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 51,206, 2,112, 73, 8, 4,112, 73, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+208, 65, 6, 4,192, 66, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,244, 0, 0, 0, 88, 39,226, 2,166, 0, 0, 0,
+ 1, 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, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,171, 5, 4, 72,171, 5, 4,
+112,237,205, 2, 0,115,101, 32, 83, 99,117,108,112,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 12, 0, 0, 0,
+112,237,205, 2,221, 0, 0, 0, 1, 0, 0, 0, 42, 11, 0, 0, 42, 11, 0, 0,152,157,226, 2, 68, 65, 84, 65,248,133, 0, 0,
+152,157,226, 2,220, 0, 0, 0, 42, 11, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0,144, 1,228, 2, 19, 0, 0, 0, 1, 0, 1, 0,
+144, 1,228, 2, 20, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 21, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,240, 10,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,240, 16,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 30,221, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0, 32, 26,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 8, 97,223, 2, 0, 0, 0, 0, 1, 0, 1, 0,
+192, 21,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 80, 9,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 12,228, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,184, 8,228, 2, 21, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 30, 0,255,255, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 6, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 7, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 14, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 15, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 22, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 23, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 25, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 27, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 28, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 30, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 31, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 33, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 35, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 36, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 38, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 39, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 41, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 43, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 44, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 46, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 47, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,144, 1,228, 2, 30, 0,255,255, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 5, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 7, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 13, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 15, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 21, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 23, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 25, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 28, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 29, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 31, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 33, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 34, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 36, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 37, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 39, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+144, 1,228, 2, 30, 0,255,255, 1, 0, 0, 0, 80, 99,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,102,229, 2, 30, 0,255,255,
+ 1, 0, 0, 0, 80,105,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,108,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,143,229, 2,
+ 30, 0,255,255, 1, 0, 0, 0, 80,146,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,149,229, 2, 30, 0,255,255, 1, 0, 0, 0,
+ 80,152,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,155,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,158,229, 2, 30, 0,255,255,
+ 1, 0, 0, 0, 80,161,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,164,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,167,229, 2,
+ 30, 0,255,255, 1, 0, 0, 0, 80,170,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,173,229, 2, 30, 0,255,255, 1, 0, 0, 0,
+ 80,176,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,179,229, 2, 30, 0,255,255, 1, 0, 0, 0,104,182,229, 2, 30, 0,255,255,
+ 1, 0, 0, 0,112,185,229, 2, 30, 0,255,255, 1, 0, 0, 0,120,188,229, 2, 30, 0,255,255, 1, 0, 0, 0,128,191,229, 2,
+ 30, 0,255,255, 1, 0, 0, 0,136,194,229, 2, 30, 0,255,255, 1, 0, 0, 0,144,197,229, 2, 30, 0,255,255, 1, 0, 0, 0,
+152,200,229, 2, 30, 0,255,255, 1, 0, 0, 0,160,203,229, 2, 30, 0,255,255, 1, 0, 0, 0,168,206,229, 2, 30, 0,255,255,
+ 1, 0, 0, 0,176,209,229, 2, 30, 0,255,255, 1, 0, 0, 0,184,212,229, 2, 30, 0,255,255, 1, 0, 0, 0,192,215,229, 2,
+ 30, 0,255,255, 1, 0, 0, 0,200,218,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 4, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 7, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 12, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 15, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 20, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 23, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 28, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 31, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 36, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 39, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 44, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 47, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 52, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 55, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 60, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 63, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 68, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80, 99,229, 2, 30, 0,255,255, 1, 0, 0, 0,184, 8,228, 2,
+ 30, 0,255,255, 1, 0, 0, 0, 80, 9,228, 2, 30, 0,255,255, 1, 0, 0, 0, 32, 26,228, 2, 30, 0,255,255, 1, 0, 0, 0,
+144, 30,221, 2, 30, 0,255,255, 3, 0, 0, 0,144, 12,228, 2, 30, 0,255,255, 1, 0, 0, 0,240, 16,228, 2, 30, 0,255,255,
+ 1, 0, 0, 0,192, 21,228, 2, 30, 0,255,255, 1, 0, 0, 0, 40,249,213, 2, 30, 0,255,255, 1, 0, 0, 0,240,249,213, 2,
+ 30, 0,255,255, 1, 0, 0, 0,184,250,213, 2, 30, 0,255,255, 1, 0, 0, 0,128,251,213, 2, 30, 0,255,255, 1, 0, 0, 0,
+ 72,252,213, 2, 30, 0,255,255, 1, 0, 0, 0, 16,253,213, 2, 30, 0,255,255, 1, 0, 0, 0,216,253,213, 2, 30, 0,255,255,
+ 1, 0, 0, 0, 8, 97,223, 2, 30, 0,255,255, 1, 0, 0, 0, 64,192,225, 2, 30, 0,255,255, 1, 0, 0, 0,240, 10,228, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,184, 8,228, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+184, 8,228, 2, 31, 0, 5, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 6, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,184, 8,228, 2, 31, 0, 8, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,184, 8,228, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+184, 8,228, 2, 31, 0, 13, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 14, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0,184, 8,228, 2, 31, 0, 16, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,184, 8,228, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+184, 8,228, 2, 31, 0, 21, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 22, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0,184, 8,228, 2, 31, 0, 24, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 25, 0, 1, 0, 0, 0,184, 8,228, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 80, 9,228, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80, 9,228, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 80, 9,228, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80, 9,228, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 80, 9,228, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80, 9,228, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+ 80, 9,228, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 0, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 1, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 2, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 4, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 5, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 6, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 7, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 8, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 9, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 10, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 12, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 13, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 14, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 15, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 16, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 17, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 18, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 20, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 21, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 22, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 23, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 24, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 25, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 26, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 27, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 28, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 29, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 30, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 31, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 32, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 33, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 34, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 35, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 36, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 37, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 38, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 39, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 40, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 41, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 42, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 43, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 44, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 45, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 46, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 47, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 48, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 49, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 50, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 51, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 52, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 53, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 54, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 55, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 56, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 57, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 58, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 59, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 60, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 61, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 62, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 63, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 64, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 65, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 66, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 67, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 68, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 69, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 70, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 71, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 72, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 73, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 74, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 75, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 76, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 77, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 78, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 79, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 80, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 81, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 82, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 83, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 0, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 1, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 2, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 3, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 4, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 5, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 6, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 7, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 8, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 9, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 10, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 11, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 12, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 13, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 14, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 15, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 16, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 17, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 18, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 19, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 20, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 21, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 22, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 23, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 24, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 25, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 26, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 27, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 28, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 29, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 30, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 31, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 32, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 33, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 34, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 35, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 36, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 37, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 38, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 39, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 40, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 41, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 42, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 43, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 44, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 45, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 46, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 47, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 48, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 49, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 50, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 51, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 0, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 1, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 5, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 6, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 7, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 8, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 9, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 13, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 14, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 15, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 16, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 17, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 21, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 22, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 23, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 24, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 25, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 27, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 28, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 29, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 30, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 31, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 32, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 33, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 34, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 35, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 36, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 37, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 38, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 39, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 40, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 41, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 42, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 43, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 44, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 45, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 46, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 47, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 48, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 49, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 50, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 51, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 52, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 53, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 54, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 55, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 56, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 57, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 58, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 59, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 60, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 61, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 62, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 63, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 64, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 65, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 66, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 67, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 68, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 69, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 70, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 71, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 72, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 73, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 74, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 75, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 76, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 77, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 78, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 79, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 80, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 81, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 82, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 83, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 84, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 85, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 86, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 87, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 88, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 89, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 90, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 91, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 92, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 93, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 94, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 95, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 96, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 6, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 7, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 14, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 15, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 22, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 23, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 25, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 27, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 28, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 30, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 31, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 33, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 35, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 36, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 38, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 39, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 41, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 43, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 44, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 46, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 47, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 49, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 51, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 52, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 54, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 55, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 57, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 59, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 60, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 62, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 63, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 65, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 67, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 68, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 70, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 71, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 72, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 73, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 74, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 75, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 76, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 77, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 78, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 79, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 80, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 81, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 82, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 83, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 84, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 85, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 86, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 87, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 88, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 89, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 90, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 91, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 92, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 93, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 94, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 95, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 96, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 0, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 4, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 5, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 6, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 7, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 8, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 12, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 13, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 14, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 15, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 16, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 20, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 21, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 22, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 23, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 24, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 25, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 27, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 28, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 29, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 30, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 31, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 32, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 33, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 34, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 35, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 36, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 37, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 38, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 39, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 40, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 41, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 42, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 43, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 44, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 45, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 46, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 47, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 48, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 49, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 50, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 51, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 52, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 53, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 54, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 55, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 56, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 57, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 58, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 59, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 60, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 61, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 62, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 63, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 64, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 65, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 66, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 67, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 68, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 69, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 70, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 71, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 72, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 73, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 74, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 75, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 76, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 77, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 78, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 79, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 80, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 81, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 82, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 83, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 84, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 85, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 86, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 87, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 88, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 89, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 90, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 91, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 92, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 93, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 94, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 95, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 96, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 40,249,213, 2, 31, 0, 1, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 2, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 40,249,213, 2, 31, 0, 4, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 5, 0, 1, 0, 0, 0, 40,249,213, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 7, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 40,249,213, 2, 31, 0, 9, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 0, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0,240,249,213, 2, 31, 0, 2, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 3, 0, 1, 0, 0, 0,240,249,213, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 5, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+240,249,213, 2, 31, 0, 7, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 8, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0,240,249,213, 2, 31, 0, 0, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 1, 0, 1, 0, 0, 0,184,250,213, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 3, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+184,250,213, 2, 31, 0, 5, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 6, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,184,250,213, 2, 31, 0, 8, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 9, 0, 1, 0, 0, 0,184,250,213, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 1, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+128,251,213, 2, 31, 0, 3, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 4, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,128,251,213, 2, 31, 0, 6, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 7, 0, 1, 0, 0, 0,128,251,213, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 9, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 72,252,213, 2, 31, 0, 1, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 2, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 72,252,213, 2, 31, 0, 4, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 5, 0, 1, 0, 0, 0, 72,252,213, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 7, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 72,252,213, 2, 31, 0, 9, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 0, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0, 16,253,213, 2, 31, 0, 2, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 3, 0, 1, 0, 0, 0, 16,253,213, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 5, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+ 16,253,213, 2, 31, 0, 7, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 8, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0, 16,253,213, 2, 31, 0, 0, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 1, 0, 1, 0, 0, 0,216,253,213, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 3, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+216,253,213, 2, 31, 0, 5, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 6, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,216,253,213, 2, 31, 0, 8, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 9, 0, 1, 0, 0, 0,216,253,213, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 1, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 8, 97,223, 2, 31, 0, 3, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 4, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 6, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 7, 0, 1, 0, 0, 0, 8, 97,223, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 9, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 8, 97,223, 2, 31, 0, 11, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 12, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 14, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 15, 0, 1, 0, 0, 0, 8, 97,223, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 17, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 8, 97,223, 2, 31, 0, 0, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 1, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 2, 0,
+ 1, 0, 0, 0, 64,192,225, 2, 31, 0, 3, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 4, 0, 1, 0, 0, 0, 64,192,225, 2,
+ 31, 0, 5, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 6, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 7, 0, 1, 0, 0, 0,
+ 64,192,225, 2, 31, 0, 8, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 9, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 10, 0,
+ 1, 0, 0, 0, 64,192,225, 2, 31, 0, 0, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,240, 10,228, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+240, 10,228, 2, 31, 0, 5, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 6, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,240, 10,228, 2, 31, 0, 8, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,240, 10,228, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+240, 10,228, 2, 31, 0, 13, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 14, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0,240, 10,228, 2, 31, 0, 16, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,240, 10,228, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+240, 10,228, 2, 68, 65, 84, 65, 96, 0, 0, 0,160, 91,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16, 91,215, 2,
+168, 2,226, 2,248, 0,226, 2,208, 1,226, 2,240, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0, 85, 0, 0, 0,
+194, 2, 0, 0, 1, 1, 36, 4,110, 2, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0, 24,108,206, 2, 40, 38,227, 2, 40, 38,227, 2,
+128, 40,226, 2, 0, 37,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,220, 3, 32, 35,220, 3, 68, 65, 84, 65,248, 0, 0, 0,
+128, 40,226, 2,198, 0, 0, 0, 1, 0, 0, 0,168, 41,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0,128,132, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 96,132, 68, 0, 0,200, 65, 0, 96,132, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 36, 4, 26, 0, 36, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 35, 4, 0, 0, 85, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 36, 4, 26, 0, 9, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+176, 55,206, 2,136, 60, 8, 4,136, 60, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 56, 67, 6, 4,176,227, 6, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,168, 41,226, 2,198, 0, 0, 0, 1, 0, 0, 0,208, 42,226, 2,128, 40,226, 2,
+ 0, 0, 0, 0, 0, 0, 32, 67, 0,192, 6,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,190,195, 0, 0, 0, 0,
+143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,123, 1, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,124, 1,143, 0,124, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 71, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,124, 1, 10, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0,160, 0, 50, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 54,206, 2,120,129, 4, 4,120,129, 4, 4,152,129,226, 2,152,129,226, 2,
+ 56,227, 6, 4,208,225, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,152,129,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 43,221, 3, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,
+111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,
+111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 98,106,101, 99,116, 32, 84,111,111,108,115,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,233,253,143, 0,255, 1, 0, 0, 0, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,208, 42,226, 2,198, 0, 0, 0, 1, 0, 0, 0,216, 35,227, 2,168, 41,226, 2,
+ 0, 0, 0, 0, 0, 0, 33, 67, 0, 0, 90,195, 0, 0, 0, 0, 0, 0, 0, 0,227,102, 16, 67, 24, 30, 90,195, 0, 0, 0, 0,
+143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,216, 0,143, 0,216, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0,111, 0, 0, 0, 70, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,216, 0, 11, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 55,206, 2, 80,131, 4, 4, 80,131, 4, 4, 16,131,226, 2, 16,131,226, 2,
+ 88,225, 6, 4,240,223, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 16,131,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,112,206, 2, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,
+115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,
+115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,112,101,114, 97,116,111,114, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,255,144, 0, 16, 0, 0, 0, 0, 0,
+ 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,216, 35,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 37,227, 2,208, 42,226, 2,
+ 0, 0, 0, 0, 0, 0, 52, 67, 0, 96,158,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 96,158,196, 0,128,142,195,
+163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,213, 3, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0,213, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,180, 0,214, 3,163, 0,214, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0, 35, 4, 0, 0,111, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 0, 37,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,216, 35,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 0, 35, 4, 0, 0,
+111, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,132, 3, 84, 2, 12, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 53,206, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,217, 6, 4,232,216, 6, 4, 0, 0, 0, 0,192, 67,227, 2, 68, 65, 84, 65,
+ 68, 3, 0, 0,192, 67,227, 2,156, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,206,104,211, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 6,128,191, 0, 0,128,191,
+ 0, 0, 0, 0, 0, 0, 0, 0, 11,210, 76,190, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0,
+ 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 33,210,111,193, 0, 0,128, 63, 68,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0,
+ 52,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,
+ 62, 95, 68, 65, 51,120,173,192,115,208,213, 64, 0, 0,128, 63,178,157,229, 62, 67,221, 41,191,116,169, 81,191,184,158, 81,191,
+117, 90,127, 63,162,192,163, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188,138, 56,189, 63,218, 72,228,190, 42, 61,228,190,
+ 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 65, 39,240,191, 62,124,116, 85, 63, 80,189, 70,188, 0, 0,185,180,
+100, 19,121,190, 40, 29,240, 61,236,186, 10, 63, 0, 0,208, 51,197,112,117,194,178,208,216, 65,221,158, 5,194,231,251,159,192,
+221, 54,114, 66, 29,247,213,193, 59,221, 3, 66, 25, 4,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0,
+ 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 33,210,111,193, 0, 0,128, 63,178,157,229, 62, 67,221, 41,191,116,169, 81,191,184,158, 81,191,
+117, 90,127, 63,162,192,163, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188,138, 56,189, 63,218, 72,228,190, 42, 61,228,190,
+ 0, 0, 0, 0, 0, 0, 0, 0, 33,171,108, 65, 33,210,111, 65, 47, 45, 18, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 47, 45, 18, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 45, 18, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,
+ 33,210,111, 65, 33,210,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 11, 39, 5, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,255,255, 1, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 30, 33, 12, 66, 86,152,137, 66,113, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0, 40, 38,227, 2,
+157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,144, 12,228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 24, 0, 0, 0, 0, 12, 66,
0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,148, 0, 0, 0,
+128,251,213, 2,193, 0, 0, 0, 1, 0, 0, 0, 72,252,213, 2,184,250,213, 2, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 71, 97,
+109,101, 32, 76,111,103,105, 99, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 8,226, 2,240, 11,226, 2, 56, 12,226, 2,168, 76,227, 2, 48, 92,215, 2, 0, 95,215, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+144, 1,228, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 72, 8,226, 2,194, 0, 0, 0, 1, 0, 0, 0,144, 8,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,144, 8,226, 2,194, 0, 0, 0, 1, 0, 0, 0,216, 8,226, 2,
+ 72, 8,226, 2, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,216, 8,226, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 32, 9,226, 2,144, 8,226, 2, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 32, 9,226, 2,194, 0, 0, 0, 1, 0, 0, 0,104, 9,226, 2,216, 8,226, 2, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,104, 9,226, 2,194, 0, 0, 0, 1, 0, 0, 0,176, 9,226, 2, 32, 9,226, 2, 0, 0, 0, 0,
+ 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,176, 9,226, 2,194, 0, 0, 0, 1, 0, 0, 0,248, 9,226, 2,
+104, 9,226, 2, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,248, 9,226, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 64, 10,226, 2,176, 9,226, 2, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 64, 10,226, 2,194, 0, 0, 0, 1, 0, 0, 0,136, 10,226, 2,248, 9,226, 2, 0, 0, 0, 0, 32, 6,140, 1, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,136, 10,226, 2,194, 0, 0, 0, 1, 0, 0, 0,208, 10,226, 2, 64, 10,226, 2, 0, 0, 0, 0,
+ 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,208, 10,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 24, 11,226, 2,
+136, 10,226, 2, 0, 0, 0, 0,126, 7,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 24, 11,226, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 96, 11,226, 2,208, 10,226, 2, 0, 0, 0, 0, 64, 5,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 96, 11,226, 2,194, 0, 0, 0, 1, 0, 0, 0,168, 11,226, 2, 24, 11,226, 2, 0, 0, 0, 0, 64, 5,234, 3, 1, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,168, 11,226, 2,194, 0, 0, 0, 1, 0, 0, 0,240, 11,226, 2, 96, 11,226, 2, 0, 0, 0, 0,
+ 68, 1,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,240, 11,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+168, 11,226, 2, 0, 0, 0, 0, 68, 1,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56, 12,226, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 80, 71,227, 2, 0, 0, 0, 0,144, 8,226, 2,216, 8,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 80, 71,227, 2,195, 0, 0, 0, 1, 0, 0, 0,152, 71,227, 2, 56, 12,226, 2,144, 8,226, 2,104, 9,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,152, 71,227, 2,195, 0, 0, 0, 1, 0, 0, 0,224, 71,227, 2,
+ 80, 71,227, 2,216, 8,226, 2,176, 9,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224, 71,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0, 40, 72,227, 2,152, 71,227, 2,104, 9,226, 2,176, 9,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0, 40, 72,227, 2,195, 0, 0, 0, 1, 0, 0, 0,112, 72,227, 2,224, 71,227, 2,104, 9,226, 2,
+248, 9,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,112, 72,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+184, 72,227, 2, 40, 72,227, 2,248, 9,226, 2, 64, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+184, 72,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 73,227, 2,112, 72,227, 2, 32, 9,226, 2,136, 10,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 0, 73,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 72, 73,227, 2,184, 72,227, 2,
+ 64, 10,226, 2,136, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 72, 73,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,144, 73,227, 2, 0, 73,227, 2, 72, 8,226, 2,248, 9,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,144, 73,227, 2,195, 0, 0, 0, 1, 0, 0, 0,216, 73,227, 2, 72, 73,227, 2, 72, 8,226, 2,136, 10,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,216, 73,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 32, 74,227, 2,
+144, 73,227, 2,176, 9,226, 2,208, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32, 74,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,104, 74,227, 2,216, 73,227, 2, 32, 9,226, 2,208, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,104, 74,227, 2,195, 0, 0, 0, 1, 0, 0, 0,176, 74,227, 2, 32, 74,227, 2, 64, 10,226, 2,
+208, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,176, 74,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+248, 74,227, 2,104, 74,227, 2, 24, 11,226, 2, 96, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+248, 74,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 64, 75,227, 2,176, 74,227, 2,176, 9,226, 2, 96, 11,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 64, 75,227, 2,195, 0, 0, 0, 1, 0, 0, 0,136, 75,227, 2,248, 74,227, 2,
+208, 10,226, 2, 24, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136, 75,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,208, 75,227, 2, 64, 75,227, 2,248, 9,226, 2,168, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,208, 75,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 24, 76,227, 2,136, 75,227, 2, 24, 11,226, 2,168, 11,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 24, 76,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 96, 76,227, 2,
+208, 75,227, 2,104, 9,226, 2,240, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 96, 76,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,168, 76,227, 2, 24, 76,227, 2, 96, 11,226, 2,240, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,168, 76,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 96, 76,227, 2,168, 11,226, 2,
+240, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 48, 92,215, 2,197, 0, 0, 0, 1, 0, 0, 0,
+192, 92,215, 2, 0, 0, 0, 0,104, 9,226, 2,144, 8,226, 2,216, 8,226, 2,176, 9,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
+248,233,220, 2,248,233,220, 2, 80, 39,227, 2,120, 40,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0, 80, 39,227, 2,198, 0, 0, 0, 1, 0, 0, 0,120, 40,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,120, 40,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 80, 39,227, 2, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,238, 68,
+ 0, 0, 0, 0, 0, 0, 0, 64,112, 7, 0, 0,129, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7,
+ 2, 0,112, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0,
+ 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,
+192, 92,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 80, 93,215, 2, 48, 92,215, 2,136, 10,226, 2, 64, 10,226, 2,208, 10,226, 2,
+ 32, 9,226, 2, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 4, 4, 94, 1,140, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 87,227, 2, 56, 87,227, 2,160, 41,227, 2,200, 42,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,160, 41,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+200, 42,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,175, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, 0, 0,200, 65,
+ 0,128,174, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 94, 1,
+ 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0,114, 1, 0, 0,
+139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 26, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 71, 97,109,101, 32, 76,111,103,105, 99, 0, 46, 48, 48,
- 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,225, 45, 21, 1, 0, 0, 0,
-232,229, 45, 21, 1, 0, 0, 0, 72,230, 45, 21, 1, 0, 0, 0, 8,239, 45, 21, 1, 0, 0, 0,120,239, 45, 21, 1, 0, 0, 0,
- 72, 50, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,225, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-104,225, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,104,225, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,200,225, 45, 21, 1, 0, 0, 0,
- 8,225, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-200,225, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,226, 45, 21, 1, 0, 0, 0,104,225, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128, 7,128, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,226, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,136,226, 45, 21, 1, 0, 0, 0,200,225, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-128, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,226, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-232,226, 45, 21, 1, 0, 0, 0, 40,226, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 4, 1, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,232,226, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0,
-136,226, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7,100, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
- 72,227, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,227, 45, 21, 1, 0, 0, 0,232,226, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,227, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 32, 6,184, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-104,228, 45, 21, 1, 0, 0, 0,168,227, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,200,228, 45, 21, 1, 0, 0, 0,
- 8,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7,184, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-200,228, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,229, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 64, 5,184, 1, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,229, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,136,229, 45, 21, 1, 0, 0, 0,200,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 5,100, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,229, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-232,229, 45, 21, 1, 0, 0, 0, 40,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,184, 1, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,100, 4, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 72,230, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,230, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-104,225, 45, 21, 1, 0, 0, 0,200,225, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-184,230, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,231, 45, 21, 1, 0, 0, 0, 72,230, 45, 21, 1, 0, 0, 0,
-104,225, 45, 21, 1, 0, 0, 0,136,226, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,231, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,231, 45, 21, 1, 0, 0, 0,184,230, 45, 21, 1, 0, 0, 0,
-200,225, 45, 21, 1, 0, 0, 0,232,226, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,231, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,232, 45, 21, 1, 0, 0, 0, 40,231, 45, 21, 1, 0, 0, 0,
-136,226, 45, 21, 1, 0, 0, 0,232,226, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,232, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,232, 45, 21, 1, 0, 0, 0,152,231, 45, 21, 1, 0, 0, 0,
-136,226, 45, 21, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-120,232, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,232, 45, 21, 1, 0, 0, 0, 8,232, 45, 21, 1, 0, 0, 0,
- 72,227, 45, 21, 1, 0, 0, 0,168,227, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-232,232, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,233, 45, 21, 1, 0, 0, 0,120,232, 45, 21, 1, 0, 0, 0,
- 40,226, 45, 21, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 88,233, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,233, 45, 21, 1, 0, 0, 0,232,232, 45, 21, 1, 0, 0, 0,
-168,227, 45, 21, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,233, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,234, 45, 21, 1, 0, 0, 0, 88,233, 45, 21, 1, 0, 0, 0,
- 8,225, 45, 21, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,234, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,234, 45, 21, 1, 0, 0, 0,200,233, 45, 21, 1, 0, 0, 0,
- 8,225, 45, 21, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,234, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,235, 45, 21, 1, 0, 0, 0, 56,234, 45, 21, 1, 0, 0, 0,
-232,226, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,235, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,235, 45, 21, 1, 0, 0, 0,168,234, 45, 21, 1, 0, 0, 0,
- 40,226, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,235, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,235, 45, 21, 1, 0, 0, 0, 24,235, 45, 21, 1, 0, 0, 0,
-168,227, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-248,235, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,236, 45, 21, 1, 0, 0, 0,136,235, 45, 21, 1, 0, 0, 0,
-200,228, 45, 21, 1, 0, 0, 0, 40,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-104,236, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,236, 45, 21, 1, 0, 0, 0,248,235, 45, 21, 1, 0, 0, 0,
-232,226, 45, 21, 1, 0, 0, 0, 40,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-216,236, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,237, 45, 21, 1, 0, 0, 0,104,236, 45, 21, 1, 0, 0, 0,
-104,228, 45, 21, 1, 0, 0, 0,200,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 72,237, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,237, 45, 21, 1, 0, 0, 0,216,236, 45, 21, 1, 0, 0, 0,
- 72,227, 45, 21, 1, 0, 0, 0,136,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-184,237, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,238, 45, 21, 1, 0, 0, 0, 72,237, 45, 21, 1, 0, 0, 0,
-200,228, 45, 21, 1, 0, 0, 0,136,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,238, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,238, 45, 21, 1, 0, 0, 0,184,237, 45, 21, 1, 0, 0, 0,
-136,226, 45, 21, 1, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,238, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,239, 45, 21, 1, 0, 0, 0, 40,238, 45, 21, 1, 0, 0, 0,
- 40,229, 45, 21, 1, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,239, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,238, 45, 21, 1, 0, 0, 0,
-136,229, 45, 21, 1, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-120,239, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 56,243, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136,226, 45, 21, 1, 0, 0, 0,104,225, 45, 21, 1, 0, 0, 0,200,225, 45, 21, 1, 0, 0, 0,232,226, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,101, 4, 0, 0,128, 4, 0, 0, 7, 7,129, 7, 28, 0, 1, 0,
- 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 56, 46, 21, 1, 0, 0, 0,216, 56, 46, 21, 1, 0, 0, 0,
- 88,240, 45, 21, 1, 0, 0, 0,200,241, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,240, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,200,241, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,133, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,240, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,129, 7, 26, 0,129, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,101, 4, 0, 0,126, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,129, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,241, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,240, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69,
- 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,238, 68, 0, 0, 0, 0, 0, 0, 0, 64,112, 7, 0, 0,129, 7, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0,
- 0, 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,128, 63, 0, 0,128, 63,
- 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,127, 4, 0, 0,128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,129, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56,243, 45, 21, 1, 0, 0, 0,
-197, 0, 0, 0, 1, 0, 0, 0,184, 11, 46, 21, 1, 0, 0, 0,120,239, 45, 21, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0,
-168,227, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0, 40,226, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33, 6, 0, 0,128, 7, 0, 0, 0, 0, 0, 0,183, 1, 0, 0, 4, 4, 96, 1,184, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 10, 46, 21, 1, 0, 0, 0,120, 10, 46, 21, 1, 0, 0, 0, 24,244, 45, 21, 1, 0, 0, 0,
-136,245, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24,244, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
-136,245, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0,176, 67, 0, 0, 0, 0, 0, 0,248, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0,
- 0,128,137, 67, 0, 0,200, 65, 0,128,137, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0, 96, 1, 31, 0, 96, 1, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33, 6, 0, 0,128, 7, 0, 0,153, 1, 0, 0,183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96, 1, 31, 0, 0, 0, 1, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,136,245, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24,244, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,175, 67, 0,128, 86,196, 0, 0, 0, 0,
- 0, 0, 0, 0,255,127,167, 67,255,127,204,195, 0, 0, 0, 0, 79, 1, 0, 0, 96, 1, 0, 0, 0, 0, 0, 0,152, 1, 0, 0,
- 0, 0, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0,152, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0,
- 18, 0, 0, 4, 6, 0, 96, 1,153, 1, 79, 1,153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 33, 6, 0, 0,128, 7, 0, 0, 0, 0, 0, 0,152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 96, 1,153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+200, 42,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,160, 41,227, 2, 0, 0, 0, 0, 0,128,174, 67, 0, 0, 61,196,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,127,166, 67,255,255,184,195, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,
+113, 1, 0, 0, 0, 0, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,
+113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0,
+ 1, 0, 7, 0, 18, 0, 0, 4, 6, 0, 94, 1,114, 1, 77, 1,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 94, 1,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,132,226, 2,176,148,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,136,132,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 0,134,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,120, 10, 46, 21, 1, 0, 0, 0,162, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255, 76, 1, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+ 0,134,226, 2,196, 0, 0, 0, 1, 0, 0, 0,120,135,226, 2,136,132,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,
+101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,
+ 76, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 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, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-184, 11, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 24, 19, 46, 21, 1, 0, 0, 0, 56,243, 45, 21, 1, 0, 0, 0,
- 8,225, 45, 21, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0,168,227, 45, 21, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,183, 1, 0, 0, 17, 17, 32, 6,184, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136, 18, 46, 21, 1, 0, 0, 0,136, 18, 46, 21, 1, 0, 0, 0,
-152, 12, 46, 21, 1, 0, 0, 0, 24, 17, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152, 12, 46, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 8, 14, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 67,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,196, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 63, 68, 0, 0,200, 65, 0,192, 63, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 32, 6, 26, 0, 32, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 8, 14, 46, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 24, 17, 46, 21, 1, 0, 0, 0,152, 12, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67,
- 0, 0,207,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 0, 0,207,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0,
- 0, 0, 0, 0,157, 1, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0,
- 0, 0, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,
- 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,158, 1,203, 0,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,220, 0,158, 1, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 24, 17, 46, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 14, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 68,
- 0, 0, 0, 0, 0, 0,112, 67, 0, 80, 31,195, 0,234,179, 68,188,159,235,194,239,231,178, 67, 51, 5, 0, 0, 68, 5, 0, 0,
- 18, 0, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0,
- 18, 0, 0, 0,157, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70, 0, 0, 0, 63, 72,225,154, 63,
- 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 68, 5,158, 1, 51, 5,140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 5,158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,136, 18, 46, 21, 1, 0, 0, 0,
-175, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 24, 19, 46, 21, 1, 0, 0, 0,
-197, 0, 0, 0, 1, 0, 0, 0,184, 25, 46, 21, 1, 0, 0, 0,184, 11, 46, 21, 1, 0, 0, 0,200,228, 45, 21, 1, 0, 0, 0,
- 40,229, 45, 21, 1, 0, 0, 0,232,226, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65, 5, 0, 0,128, 7, 0, 0,185, 1, 0, 0, 99, 4, 0, 0, 9, 9, 64, 2,171, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,216, 22, 46, 21, 1, 0, 0, 0,216, 22, 46, 21, 1, 0, 0, 0,248, 19, 46, 21, 1, 0, 0, 0,
-104, 21, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248, 19, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
-104, 21, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 16, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
- 0,128,181, 67, 0, 0,200, 65, 0,128,181, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
- 4, 0, 12, 4, 10, 0, 64, 2, 26, 0, 64, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65, 5, 0, 0,128, 7, 0, 0,185, 1, 0, 0,210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104, 21, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248, 19, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0,128,181, 67, 0, 0, 0, 0, 0,128,218, 67,
- 0, 0, 0, 0,131,248, 1, 68, 0, 0, 0, 0,118, 63, 20, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 2, 0, 0, 0, 0, 0, 0,144, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0,
- 0, 0, 0, 4, 10, 0, 64, 2,145, 2, 64, 2,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 65, 5, 0, 0,128, 7, 0, 0,211, 1, 0, 0, 99, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 2,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,120,135,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+240,136,226, 2, 0,134,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 2, 0, 0,216, 22, 46, 21, 1, 0, 0, 0,169, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0,240,136,226, 2,196, 0, 0, 0, 1, 0, 0, 0,104,138,226, 2,120,135,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,140,254, 76, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,104,138,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0,224,139,226, 2,240,136,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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, 65,110,116,105, 45, 65,108,105,
+ 97,115,105,110,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, 58,254, 76, 1, 58, 0,
+ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,224,139,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 88,141,226, 2,
+104,138,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,
+114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,109,111,116,105,111,110, 95, 98,108,117,
+114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32, 77,111,116,105,111,110, 32, 66,108,117,114, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254, 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 64, 1, 0, 0, 88,141,226, 2,196, 0, 0, 0, 1, 0, 0, 0,208,142,226, 2,224,139,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,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,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,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,
+ 83,104, 97,100,105,110,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, 10,254, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,208,142,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 72,144,226, 2, 88,141,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,
+114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,
+114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,101,114,102,111,114,109, 97,110, 99,101, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242,253, 76, 1, 0, 0, 0, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0,184, 25, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72, 50, 46, 21, 1, 0, 0, 0,
- 24, 19, 46, 21, 1, 0, 0, 0,136,229, 45, 21, 1, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0, 40,229, 45, 21, 1, 0, 0, 0,
-200,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,185, 1, 0, 0, 99, 4, 0, 0,
- 1, 1,251, 3,171, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 48, 46, 21, 1, 0, 0, 0,
-200, 48, 46, 21, 1, 0, 0, 0,152, 26, 46, 21, 1, 0, 0, 0,184, 43, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-152, 26, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 8, 28, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 64, 98, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192,126, 68, 0, 0, 0, 0, 0, 0,208, 65,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,250, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,251, 3, 26, 0,251, 3, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,185, 1, 0, 0,210, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 72,144,226, 2,196, 0, 0, 0, 1, 0, 0, 0,192,145,226, 2,208,142,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,
+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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,115,116, 95,112,114,111, 99,101,115,115,105,110,
+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, 80,111,115,116, 32, 80,114,111, 99,101,115,115,105,110,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,218,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 8, 28, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,120, 29, 46, 21, 1, 0, 0, 0,152, 26, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,
-143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 69, 1, 0, 0,211, 1, 0, 0, 99, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,145, 2, 0, 0, 5, 0, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+192,145,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 56,147,226, 2, 72,144,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,
+112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253,
+ 76, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-120, 29, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,232, 30, 46, 21, 1, 0, 0, 0, 8, 28, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,
-143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,211, 1, 0, 0,211, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 56,147,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+176,148,226, 2,192,145,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-232, 30, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184, 43, 46, 21, 1, 0, 0, 0,120, 29, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 52, 67, 0, 0,109,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,109,196, 0,128,145,195,
-163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,180, 0,145, 2,163, 0,145, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 5, 0, 0, 63, 5, 0, 0,211, 1, 0, 0, 99, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,111,117,116,112,117,116,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-184, 43, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 30, 46, 21, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,253, 76, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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,
+ 68, 65, 84, 65, 64, 1, 0, 0,176,148,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 56,147,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,211, 1, 0, 0, 99, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 3,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16,253, 76, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 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, 40, 45, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,
- 40, 45, 46, 21, 1, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,219, 69,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128,111, 18, 3,187, 0, 0, 0,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,219, 69,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,149, 53,207, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 32,153,133, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,249,195, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,219, 69,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-149, 53,207, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,221, 57, 80, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 56, 87,227, 2,
+162, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 96, 0, 0, 0, 80, 93,215, 2,197, 0, 0, 0, 1, 0, 0, 0,224, 93,215, 2,192, 92,215, 2, 72, 8,226, 2,
+248, 9,226, 2, 64, 10,226, 2,136, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0,
+ 17, 17, 32, 6,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,255,220, 2, 40,255,220, 2,240, 43,227, 2,
+ 64, 46,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,240, 43,227, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 24, 45,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 67, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0,196, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,224,195, 68, 0, 0,200, 65, 0,224,195, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3,
+ 4, 0, 12, 0, 10, 0, 32, 6, 26, 0, 32, 6, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 31, 6, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 6, 26, 0,
+ 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,200, 48, 46, 21, 1, 0, 0, 0,
-157, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0, 24, 45,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 64, 46,227, 2,240, 43,227, 2, 0, 0, 0, 0,
+ 0, 0, 92, 67, 0, 0,185,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 0, 0,185,195, 0, 0, 0, 0,203, 0, 0, 0,
+220, 0, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+202, 0, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,114, 1,203, 0,114, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,220, 0,114, 1, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,150,226, 2, 40,150,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 40,150,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116,
+105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 79, 71, 73, 67, 95, 80, 84, 95,112,114,111,112,101,114,116,
+105,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,114,111,112,101,114,116,105,101,115, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0,
- 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0, 72, 50, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184, 25, 46, 21, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0,136,226, 45, 21, 1, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0,
-136,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,185, 1, 0, 0, 99, 4, 0, 0,
- 3, 3, 68, 1,171, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 54, 46, 21, 1, 0, 0, 0,
- 8, 54, 46, 21, 1, 0, 0, 0, 40, 51, 46, 21, 1, 0, 0, 0,152, 52, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
- 40, 51, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,152, 52, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,162, 67, 0, 0, 0, 0, 0, 0,208, 65,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 83, 67, 0, 0,200, 65, 0, 0, 83, 67, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 68, 1, 26, 0, 68, 1, 26, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,185, 1, 0, 0,210, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-152, 52, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 51, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0,128,131, 67, 0, 0,232,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153, 67, 0,192, 31,196, 0, 0, 0, 0,
- 51, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0, 50, 1, 0, 0, 18, 0, 0, 0,144, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 68, 1,145, 2, 51, 1,127, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,211, 1, 0, 0, 99, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,
- 8, 54, 46, 21, 1, 0, 0, 0,166, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,104, 55, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 16, 0, 0, 0,104, 55, 46, 21, 1, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0,
- 14, 0, 0, 0, 14, 0, 0, 0,184, 55, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,184, 55, 46, 21, 1, 0, 0, 0,
-219, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,233, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,246, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,244, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,229, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,228, 46, 21, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 83, 82, 83, 99,114,105,112,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 58, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,184, 63, 46, 21, 1, 0, 0, 0,
-232, 72, 46, 21, 1, 0, 0, 0, 88, 73, 46, 21, 1, 0, 0, 0,168,127, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 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, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-120, 58, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216, 58, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 58, 46, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 56, 59, 46, 21, 1, 0, 0, 0,120, 58, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 59, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-152, 59, 46, 21, 1, 0, 0, 0,216, 58, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7,128, 4, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,152, 59, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0,
- 56, 59, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-248, 59, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,152, 59, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-128, 7, 20, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
- 24, 61, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 20, 4, 0, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,
-184, 60, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-120, 61, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-240, 5,144, 1, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-152, 62, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,144, 1, 1, 0, 0, 0,
- 68, 65, 84, 65, 32, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0,
- 56, 62, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 68, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,
-248, 62, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 68, 3, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-248, 2, 20, 4, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 63, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 40, 64, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 58, 46, 21, 1, 0, 0, 0, 56, 59, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 64, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-152, 64, 46, 21, 1, 0, 0, 0,184, 63, 46, 21, 1, 0, 0, 0,216, 58, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 64, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 8, 65, 46, 21, 1, 0, 0, 0, 40, 64, 46, 21, 1, 0, 0, 0, 56, 59, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 65, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-120, 65, 46, 21, 1, 0, 0, 0,152, 64, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 65, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-232, 65, 46, 21, 1, 0, 0, 0, 8, 65, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 65, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 88, 66, 46, 21, 1, 0, 0, 0,120, 65, 46, 21, 1, 0, 0, 0,152, 59, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 66, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-200, 66, 46, 21, 1, 0, 0, 0,232, 65, 46, 21, 1, 0, 0, 0,120, 58, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 66, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 56, 67, 46, 21, 1, 0, 0, 0, 88, 66, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 67, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-168, 67, 46, 21, 1, 0, 0, 0,200, 66, 46, 21, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 67, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 24, 68, 46, 21, 1, 0, 0, 0, 56, 67, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 68, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-136, 68, 46, 21, 1, 0, 0, 0,168, 67, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 68, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-248, 68, 46, 21, 1, 0, 0, 0, 24, 68, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 68, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-104, 69, 46, 21, 1, 0, 0, 0,136, 68, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 69, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-216, 69, 46, 21, 1, 0, 0, 0,248, 68, 46, 21, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 69, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 72, 70, 46, 21, 1, 0, 0, 0,104, 69, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 70, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-184, 70, 46, 21, 1, 0, 0, 0,216, 69, 46, 21, 1, 0, 0, 0,152, 59, 46, 21, 1, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 70, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 40, 71, 46, 21, 1, 0, 0, 0, 72, 70, 46, 21, 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 71, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-152, 71, 46, 21, 1, 0, 0, 0,184, 70, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 71, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 8, 72, 46, 21, 1, 0, 0, 0, 40, 71, 46, 21, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 72, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-120, 72, 46, 21, 1, 0, 0, 0,152, 71, 46, 21, 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 72, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-232, 72, 46, 21, 1, 0, 0, 0, 8, 72, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 72, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 72, 46, 21, 1, 0, 0, 0,120, 58, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88, 73, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 24, 77, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0,216, 58, 46, 21, 1, 0, 0, 0,
- 56, 59, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,
- 21, 4, 0, 0,128, 4, 0, 0, 7, 7,129, 7,108, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72,134, 46, 21, 1, 0, 0, 0, 72,134, 46, 21, 1, 0, 0, 0, 56, 74, 46, 21, 1, 0, 0, 0,168, 75, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 56, 74, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,168, 75, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,133, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,240, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65,
- 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,129, 7,
- 26, 0,129, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,
-103, 4, 0, 0,128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,129, 7, 26, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196,255,203, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,168, 75, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56, 74, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 68, 0, 0, 0, 0, 0, 0, 48, 65, 0, 0, 0, 0, 0, 0,238, 68,
- 0, 0, 0, 0, 0, 0,164, 66,112, 7, 0, 0,129, 7, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7,
- 82, 0,112, 7, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 0, 0,
- 21, 4, 0, 0,102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,129, 7, 82, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0, 64, 46,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 24, 45,227, 2, 0, 0, 0, 0,
+ 0, 0,160, 68, 0, 0, 0, 0, 0, 0,112, 67, 0, 80, 31,195, 0,234,179, 68,224,198,182,194,184,177,165, 67, 51, 5, 0, 0,
+ 68, 5, 0, 0, 18, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 50, 5, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+ 50, 5, 0, 0, 18, 0, 0, 0,113, 1, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,250, 70, 0, 0,250, 70, 0, 0, 0, 63,
+ 72,225,154, 63, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 68, 5,114, 1, 51, 5, 96, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0, 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 5,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 52, 0, 0, 0, 40,255,220, 2,175, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,224, 93,215, 2,
+197, 0, 0, 0, 1, 0, 0, 0,112, 94,215, 2, 80, 93,215, 2, 24, 11,226, 2, 96, 11,226, 2,176, 9,226, 2,208, 10,226, 2,
+ 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 9, 9, 62, 2, 93, 2, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 64, 88,227, 2, 64, 88,227, 2,104, 47,227, 2,144, 48,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,104, 47,227, 2,198, 0, 0, 0, 1, 0, 0, 0,144, 48,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128, 15, 68, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 15, 68, 0, 0,200, 65, 0, 64, 15, 68,
+ 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 62, 2, 26, 0, 62, 2,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,166, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,144, 48,227, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,104, 47,227, 2, 0, 0, 0, 0, 0,128,181, 67, 0, 0, 0, 0, 0,128,218, 67,
+ 0, 0, 0, 0,131,248, 1, 68, 0, 0, 0, 0, 86, 26, 3, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 2, 0, 0, 0, 0, 0, 0, 66, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0,
+ 0, 0, 0, 4, 10, 0, 62, 2, 67, 2, 62, 2, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,
+126, 7, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 67, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65,160, 0, 0, 0, 24, 77, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,152,101, 46, 21, 1, 0, 0, 0,
- 88, 73, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0,
-152, 59, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0, 0, 0, 0, 0, 67, 3, 0, 0,
- 4, 4,144, 1, 68, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,100, 46, 21, 1, 0, 0, 0,
- 88,100, 46, 21, 1, 0, 0, 0,248, 77, 46, 21, 1, 0, 0, 0,104, 79, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-248, 77, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,104, 79, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,200, 67, 0, 0, 0, 0, 0, 0,248, 65,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,143, 1, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0,128,137, 67, 0, 0,200, 65, 0,128,137, 67, 0, 0,200, 65,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,144, 1, 31, 0,144, 1, 31, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0, 37, 3, 0, 0, 67, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 1, 31, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,136, 2, 0, 0, 64, 88,227, 2,169, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-104, 79, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 77, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0,128,199, 67, 0,128, 86,196, 0, 0, 0, 0, 0, 0, 0, 0,254,127,191, 67,254, 63, 73,196, 0, 0, 0, 0,
-127, 1, 0, 0,144, 1, 0, 0, 0, 0, 0, 0, 36, 3, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
- 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 36, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,144, 1, 37, 3,127, 1, 37, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0, 0, 0, 0, 0, 36, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 1, 37, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
- 88,100, 46, 21, 1, 0, 0, 0,162, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,152,101, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
-200,114, 46, 21, 1, 0, 0, 0, 24, 77, 46, 21, 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,
-184, 60, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,
-145, 1, 0, 0, 19, 4, 0, 0, 1, 1,247, 2,131, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72,113, 46, 21, 1, 0, 0, 0, 72,113, 46, 21, 1, 0, 0, 0,120,102, 46, 21, 1, 0, 0, 0, 56,108, 46, 21, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,120,102, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,232,103, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 98, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 61, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,246, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65,
- 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,247, 2,
- 26, 0,247, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,
-145, 1, 0, 0,170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,232,103, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 88,105, 46, 21, 1, 0, 0, 0,
-120,102, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,
-255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,
- 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,249, 2, 0, 0,
-171, 1, 0, 0, 19, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,105, 2, 0, 0, 5, 0,
- 3, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 88,105, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,200,106, 46, 21, 1, 0, 0, 0,
-232,103, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67,
- 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,
-120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,
-171, 1, 0, 0,171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0,
- 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,200,106, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 56,108, 46, 21, 1, 0, 0, 0,
- 88,105, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128,142,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,
- 0, 0, 26,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0,
- 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,
-122, 2,163, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0,239, 5, 0, 0,
-171, 1, 0, 0, 19, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0,
- 4, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 96, 0, 0, 0,112, 94,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 95,215, 2,224, 93,215, 2,168, 11,226, 2,240, 11,226, 2,
+ 96, 11,226, 2, 24, 11,226, 2, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 1, 1,251, 3,
+ 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 55,227, 2,128, 55,227, 2,184, 49,227, 2, 88, 54,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,184, 49,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0,224, 50,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
+ 0,192,126, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,126, 68,
+ 0, 0,200, 65, 0,128,126, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
+ 10, 0,251, 3, 26, 0,251, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,
+141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 26, 0, 0, 0, 1, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0,224, 50,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 8, 52,227, 2,184, 49,227, 2, 0, 0, 0, 0, 0, 0, 15, 67,
+ 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0,
+ 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
+ 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64,
+ 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0, 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 69, 1, 0, 0, 69, 1, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 67, 2, 0, 0, 5, 0, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 8, 52,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 48, 53,227, 2,
+224, 50,227, 2, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194, 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194,
+ 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,
+102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,167, 1, 0, 0,167, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 56,108, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-200,106, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 48, 53,227, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 88, 54,227, 2, 8, 52,227, 2, 0, 0, 0, 0, 0, 0, 52, 67, 0, 0,109,196, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 35, 67, 0, 0,109,196, 0,128,145,195,163, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0,
+ 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0,
+ 18, 0, 0, 4, 6, 0,180, 0,145, 2,163, 0,145, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 5, 0, 0,
+ 63, 5, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+ 0, 0, 4, 0, 4, 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, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0, 88, 54,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 48, 53,227, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,
-171, 1, 0, 0, 19, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2,105, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,109, 46, 21, 1, 0, 0, 0,
- 68, 65, 84, 65, 96, 3, 0, 0,168,109, 46, 21, 1, 0, 0, 0,156, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,109, 56,172, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 80, 1,128,191, 0, 0,128,191, 0, 0, 0,128, 0, 0, 0,128,226,215,163,188, 0, 0, 0,128, 68,239,209, 62, 51,177,205,190,
-184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63,
- 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,
-176, 84, 89,188, 0, 0, 0, 0, 53,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190,
- 43, 61,228, 62, 0, 0, 0, 0,164, 96, 68, 65,111,121,173,192,248,209,213, 64, 0, 0,128, 63,178,157,229, 62,101, 96, 10,191,
-222,160, 81,191,184,158, 81,191,117, 90,127, 63,205,101,133, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188, 28, 37,154, 63,
-129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65,217,236,191, 62, 54,117, 85, 63,
- 0,247, 70,188, 0,192, 32,182,112,221,152,190,163, 93, 19, 62, 51, 77, 42, 63, 0, 32, 4, 54,215,104, 25,196,133,132,135, 67,
- 37, 9,167,195,136,252, 71,194, 3, 54, 25, 68,158, 87,135,195,205,209,166, 67,151,254, 71, 66, 68,239,209, 62, 51,177,205,190,
-184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63,
- 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63,178,157,229, 62,101, 96, 10,191,
-222,160, 81,191,184,158, 81,191,117, 90,127, 63,205,101,133, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188, 28, 37,154, 63,
-129, 63,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63, 56,186,224,190,
-237,203,148,190, 3,236,234,190,214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,107,227, 29, 59, 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, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248, 90,227, 2, 68, 65, 84, 65, 68, 3, 0, 0,248, 90,227, 2,156, 0, 0, 0, 1, 0, 0, 0,
+190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,128, 0, 0, 0,128, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+149, 53,207, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,107, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,255,249,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+190, 35, 30, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 40,139, 61, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,111, 18, 3,187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,149, 53,207, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+221, 57, 80, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0,251,251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 62, 55, 63,
+ 56,186,224,190,237,203,148,190, 3,236,234,190, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,180, 66, 0, 0,180, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,128, 55,227, 2,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,
+144, 12,228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 1, 0, 0, 0,
+ 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,122, 68, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 0, 95,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+112, 94,215, 2,248, 9,226, 2,104, 9,226, 2,240, 11,226, 2,168, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,
+141, 1, 0, 0,233, 3, 0, 0, 3, 3, 68, 1, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 58,227, 2,
+248, 58,227, 2,168, 56,227, 2,208, 57,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0,168, 56,227, 2,198, 0, 0, 0, 1, 0, 0, 0,208, 57,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,162, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128,161, 67, 0, 0,200, 65, 0,128,161, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0, 68, 1, 26, 0, 68, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,141, 1, 0, 0,166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,208, 57,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+168, 56,227, 2, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153, 67, 0, 64, 12,196,
+ 0, 0, 0, 0, 51, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 50, 1, 0, 0, 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0, 68, 1, 67, 2, 51, 1,
+ 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,167, 1, 0, 0,233, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,244, 0, 0, 0,248, 58,227, 2,
+166, 0, 0, 0, 1, 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, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,176,237,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 68, 65, 84, 65,
+ 12, 0, 0, 0,176,237,205, 2,221, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,112, 94,227, 2, 68, 65, 84, 65,
+168, 0, 0, 0,112, 94,227, 2,220, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,144, 1,228, 2, 19, 0, 0, 0,
+ 1, 0, 1, 0,144, 1,228, 2, 20, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 21, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0,240, 10,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,240, 16,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,
+144, 30,221, 2, 0, 0, 0, 0, 1, 0, 1, 0, 32, 26,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 8, 97,223, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,192, 21,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 80, 9,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 12,228, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0,184, 8,228, 2, 21, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 83, 78, 0, 0,148, 0, 0, 0,
+ 72,252,213, 2,193, 0, 0, 0, 1, 0, 0, 0, 16,253,213, 2,128,251,213, 2, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 83, 99,
+114,105,112,116,105,110,103, 0,103, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 76,227, 2,152, 80,227, 2,224, 80,227, 2,200, 86,227, 2,144, 95,215, 2, 96, 98,215, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+144, 1,228, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,240, 76,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 56, 77,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 56, 77,227, 2,194, 0, 0, 0, 1, 0, 0, 0,128, 77,227, 2,
+240, 76,227, 2, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,128, 77,227, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,200, 77,227, 2, 56, 77,227, 2, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+200, 77,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 16, 78,227, 2,128, 77,227, 2, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 16, 78,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 88, 78,227, 2,200, 77,227, 2, 0, 0, 0, 0,
+ 0, 0,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 88, 78,227, 2,194, 0, 0, 0, 1, 0, 0, 0,160, 78,227, 2,
+ 16, 78,227, 2, 0, 0, 0, 0,126, 7,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,160, 78,227, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,232, 78,227, 2, 88, 78,227, 2, 0, 0, 0, 0,240, 5,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+232, 78,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 48, 79,227, 2,160, 78,227, 2, 0, 0, 0, 0,240, 5, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 48, 79,227, 2,194, 0, 0, 0, 1, 0, 0, 0,120, 79,227, 2,232, 78,227, 2, 0, 0, 0, 0,
+ 0, 0,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,120, 79,227, 2,194, 0, 0, 0, 1, 0, 0, 0,192, 79,227, 2,
+ 48, 79,227, 2, 0, 0, 0, 0,240, 5,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,192, 79,227, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 8, 80,227, 2,120, 79,227, 2, 0, 0, 0, 0,248, 2,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 8, 80,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 80, 80,227, 2,192, 79,227, 2, 0, 0, 0, 0,240, 5,236, 2, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 80, 80,227, 2,194, 0, 0, 0, 1, 0, 0, 0,152, 80,227, 2, 8, 80,227, 2, 0, 0, 0, 0,
+126, 7,236, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,152, 80,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 80, 80,227, 2, 0, 0, 0, 0,248, 2,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224, 80,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 40, 81,227, 2, 0, 0, 0, 0, 56, 77,227, 2,128, 77,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 40, 81,227, 2,195, 0, 0, 0, 1, 0, 0, 0,112, 81,227, 2,224, 80,227, 2, 56, 77,227, 2, 16, 78,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,112, 81,227, 2,195, 0, 0, 0, 1, 0, 0, 0,184, 81,227, 2,
+ 40, 81,227, 2,128, 77,227, 2, 88, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,184, 81,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0, 0, 82,227, 2,112, 81,227, 2, 16, 78,227, 2, 88, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0, 0, 82,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 72, 82,227, 2,184, 81,227, 2, 88, 78,227, 2,
+160, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 72, 82,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+144, 82,227, 2, 0, 82,227, 2,200, 77,227, 2,232, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+144, 82,227, 2,195, 0, 0, 0, 1, 0, 0, 0,216, 82,227, 2, 72, 82,227, 2,240, 76,227, 2, 48, 79,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,216, 82,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 32, 83,227, 2,144, 82,227, 2,
+ 16, 78,227, 2, 48, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32, 83,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,104, 83,227, 2,216, 82,227, 2,160, 78,227, 2,120, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,104, 83,227, 2,195, 0, 0, 0, 1, 0, 0, 0,176, 83,227, 2, 32, 83,227, 2,232, 78,227, 2,120, 79,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,176, 83,227, 2,195, 0, 0, 0, 1, 0, 0, 0,248, 83,227, 2,
+104, 83,227, 2, 48, 79,227, 2,192, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,248, 83,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0, 64, 84,227, 2,176, 83,227, 2,120, 79,227, 2,192, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0, 64, 84,227, 2,195, 0, 0, 0, 1, 0, 0, 0,136, 84,227, 2,248, 83,227, 2,232, 78,227, 2,
+ 8, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136, 84,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+208, 84,227, 2, 64, 84,227, 2,160, 78,227, 2, 8, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+208, 84,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 24, 85,227, 2,136, 84,227, 2, 88, 78,227, 2, 80, 80,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 24, 85,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 96, 85,227, 2,208, 84,227, 2,
+200, 77,227, 2, 80, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 96, 85,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,168, 85,227, 2, 24, 85,227, 2, 8, 80,227, 2, 80, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,168, 85,227, 2,195, 0, 0, 0, 1, 0, 0, 0,240, 85,227, 2, 96, 85,227, 2, 16, 78,227, 2,152, 80,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,240, 85,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 56, 86,227, 2,
+168, 85,227, 2,160, 78,227, 2,152, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56, 86,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,128, 86,227, 2,240, 85,227, 2,192, 79,227, 2,152, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,128, 86,227, 2,195, 0, 0, 0, 1, 0, 0, 0,200, 86,227, 2, 56, 86,227, 2, 48, 79,227, 2,
+120, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,200, 86,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0,128, 86,227, 2,240, 76,227, 2,232, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,
+144, 95,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 32, 96,215, 2, 0, 0, 0, 0, 16, 78,227, 2, 56, 77,227, 2,128, 77,227, 2,
+ 88, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 93, 0, 1, 0,
+ 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 88,234,220, 2, 88,234,220, 2, 32, 60,227, 2, 72, 61,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 32, 60,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 72, 61,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65,
+ 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7,
+ 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,236, 3, 0, 0,
+ 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
- 72,113, 46, 21, 1, 0, 0, 0,157, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 7, 0, 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+ 72, 61,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 32, 60,227, 2, 0, 0, 0, 0, 0,192,239, 68, 0, 0, 0, 0,
+ 0, 0, 28, 66, 0, 0, 0, 0, 0,192,237, 68, 0, 0, 0, 0, 0, 0,134, 66,110, 7, 0, 0,127, 7, 0, 0, 0, 0, 0, 0,
+ 66, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,109, 7, 0, 0, 0, 0, 0, 0,
+ 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 2, 0, 0,
+ 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,127, 7, 67, 0,110, 7, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0,235, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+127, 7, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 1, 0, 0, 0,
- 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 32, 96,215, 2,197, 0, 0, 0, 1, 0, 0, 0,176, 96,215, 2,144, 95,215, 2,
+232, 78,227, 2, 8, 80,227, 2, 80, 80,227, 2,200, 77,227, 2, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,
+235, 2, 0, 0, 4, 4,142, 1,236, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,127,227, 2, 72,127,227, 2,
+112, 62,227, 2,152, 63,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+112, 62,227, 2,198, 0, 0, 0, 1, 0, 0, 0,152, 63,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0, 0,199, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 1, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65, 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+241, 5, 0, 0,126, 7, 0, 0,210, 2, 0, 0,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+142, 1, 26, 0, 0, 0, 1, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,152, 63,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,112, 62,227, 2,
+ 0, 0, 0, 0, 0,128,198, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0,254,127,190, 67,254,127, 52,196, 0, 0, 0, 0,
+125, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 64, 10, 1, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,142, 1,210, 2,125, 1,210, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1,210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160,151,226, 2,152,108,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,160,151,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 24,153,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,
+111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 85, 84, 84, 79, 78, 83, 95, 80, 84, 95, 99,
+111,110,116,101,120,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,110,116,101,120,116, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,114, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 24,121, 46, 21, 1, 0, 0, 0,152,101, 46, 21, 1, 0, 0, 0,120, 58, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,
-216, 61, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0,
- 0, 0, 0, 0,143, 1, 0, 0, 18, 18,240, 5,144, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72,119, 46, 21, 1, 0, 0, 0, 72,119, 46, 21, 1, 0, 0, 0,168,115, 46, 21, 1, 0, 0, 0, 24,117, 46, 21, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220,255,124, 1, 36, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0,168,115, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 24,117, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,190, 68,
- 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65,
- 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,240, 5,
- 26, 0,240, 5, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0,
- 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 26, 0, 0, 0, 1, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 1, 0, 0, 24,117, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-168,115, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0,192, 61, 68, 0, 0, 0, 0, 0, 0, 79, 67, 0, 0, 0, 0, 0,224,187, 68,
- 0, 0, 0, 0, 0, 0,187, 67,223, 5, 0, 0,240, 5, 0, 0, 0, 0, 0, 0,117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 5, 0, 0, 0, 0, 0, 0,117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 2, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,240, 5,
-118, 1,223, 5,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0,
- 26, 0, 0, 0,143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5,118, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 24,153,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 96, 95,227, 2,160,151,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,114,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0,136,118, 46, 21, 1, 0, 0, 0,177, 0, 0, 0, 1, 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, 0,248,118, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,248,118, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-136, 1, 0, 0, 72,119, 46, 21, 1, 0, 0, 0,178, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,118, 46, 21, 1, 0, 0, 0,136,118, 46, 21, 1, 0, 0, 0, 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,135,255,124, 1, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+ 96, 95,227, 2,196, 0, 0, 0, 1, 0, 0, 0,216, 96,227, 2, 24,153,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,108, 97,121,101,114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 97,121,101,
+114,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,111,255,
+124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,216, 96,227, 2,196, 0, 0, 0, 1, 0, 0, 0,
+ 80, 98,227, 2, 96, 95,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,
+105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,100,105,109,101,110,115,
+105,111,110,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,105,109,101,110,115,105,111,110,115, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140,254,124, 1,203, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112,121,116,104,111,110, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 2, 0, 0, 42, 2, 0, 0, 68, 65, 84, 65,
-160, 0, 0, 0, 24,121, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,168,127, 46, 21, 1, 0, 0, 0,200,114, 46, 21,
- 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,248, 62, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0, 69, 3, 0, 0, 19, 4, 0, 0, 3, 3,144, 1,
-207, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,124, 46, 21, 1, 0, 0, 0,216,124, 46, 21,
- 1, 0, 0, 0,248,121, 46, 21, 1, 0, 0, 0,104,123, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,248,121, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,104,123, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,128,244, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,200, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0, 80, 98,227, 2,196, 0, 0, 0, 1, 0, 0, 0,200, 99,227, 2,216, 96,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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,
-143, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,149, 67, 0, 0,200, 65, 0,128,149, 67, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,144, 1, 26, 0,144, 1, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0, 69, 3, 0, 0, 94, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 97,110,116,105, 97,108,105, 97,115,105,110,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, 65,110,116,105, 45, 65,108,105, 97,115,105,110,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, 68, 65, 84, 65, 40, 1, 0, 0,104,123, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,121, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0,128,131, 67, 0, 0,232,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,191, 67, 0, 0, 35,195, 0, 0, 0, 0,127, 1, 0, 0,
-144, 1, 0, 0, 18, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
-126, 1, 0, 0, 18, 0, 0, 0,180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,144, 1,181, 0,127, 1,163, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,128, 7, 0, 0, 95, 3, 0, 0, 19, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 1,181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 58,254,124, 1, 58, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,216,124, 46, 21,
- 1, 0, 0, 0,166, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,200, 99,227, 2,
+196, 0, 0, 0, 1, 0, 0, 0, 64,101,227, 2, 80, 98,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80,
+ 84, 95,109,111,116,105,111,110, 95, 98,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 97,109,112,108,101,100, 32,
+ 77,111,116,105,111,110, 32, 66,108,117,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,254,124, 1, 0, 0,
+ 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 64,101,227, 2,196, 0, 0, 0, 1, 0, 0, 0,184,102,227, 2,
+200, 99,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,104, 97,100,105,110,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, 83,104, 97,100,105,110,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, 56,126, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,254,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 16, 0, 0, 0, 56,126, 46, 21, 1, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0,
- 14, 0, 0, 0,136,126, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,136,126, 46, 21, 1, 0, 0, 0,219, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4,
- 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 56,174, 47, 4,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,233, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56, 40, 54, 4,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,246, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,239, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,244, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56, 46, 54, 4,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,229, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,182, 47, 4,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,228, 46, 21, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4,
- 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,168,127, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24,121, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21,
- 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,145, 1, 0, 0,
- 19, 4, 0, 0, 9, 9,248, 2,131, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,131, 46, 21,
- 1, 0, 0, 0,104,131, 46, 21, 1, 0, 0, 0,136,128, 46, 21, 1, 0, 0, 0,248,129, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,136,128, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,248,129, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 62, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65, 0,224,189, 68,
- 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,248, 2, 26, 0,248, 2,
- 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,145, 1, 0, 0,
-170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0,
+ 64, 1, 0, 0,184,102,227, 2,196, 0, 0, 0, 1, 0, 0, 0, 48,104,227, 2, 64,101,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,248,129, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,128, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0, 0,192, 22, 68,248,150, 23, 68, 8, 41,100, 68,113, 44, 49, 67,
-200,233,212, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, 0, 0, 0, 0,104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 4, 10, 0,248, 2,105, 2,248, 2,
-105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,171, 1, 0, 0,
- 19, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2,105, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 80,101,114,102,111,114,109, 97,110, 99,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,242,253,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-160, 2, 0, 0,104,131, 46, 21, 1, 0, 0, 0,169, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0,
- 12, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,231, 1, 0, 0,
-243, 1, 0, 0,122, 1, 0, 0,124, 1, 0, 0,231, 1, 0, 0,243, 1, 0, 0, 4, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 48,104,227, 2,196, 0, 0, 0,
+ 1, 0, 0, 0,168,105,227, 2,184,102,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,
+115,116, 95,112,114,111, 99,101,115,115,105,110,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, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,112,111,
+115,116, 95,112,114,111, 99,101,115,115,105,110,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, 80,111,115,116, 32, 80,114,111, 99,101,115,115,
+105,110,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,218,253,124, 1, 0, 0, 0, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,168,105,227, 2,196, 0, 0, 0, 1, 0, 0, 0, 32,107,227, 2, 48,104,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95,115,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83,116, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,194,253,124, 1, 0, 0, 20, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,
+ 32,107,227, 2,196, 0, 0, 0, 1, 0, 0, 0,152,108,227, 2,168,105,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68,
+ 69, 82, 95, 80, 84, 95,111,117,116,112,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79,117,116,112,
+117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,253,
+124, 1,130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 68, 65, 84, 65, 64, 1, 0, 0,152,108,227, 2,196, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 32,107,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 69, 78, 68, 69, 82, 95, 80, 84, 95, 98, 97,107,101, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 97,107,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,253,124, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 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,
+ 68, 65, 84, 65,216, 0, 0, 0, 72,127,227, 2,162, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0,200,134, 46, 21,
- 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 85, 86, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,135, 46, 21, 1, 0, 0, 0,136,138, 46, 21,
- 1, 0, 0, 0,232,138, 46, 21, 1, 0, 0, 0, 72,143, 46, 21, 1, 0, 0, 0,184,143, 46, 21, 1, 0, 0, 0, 72,154, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,232,135, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72,136, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0, 72,136, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,136, 46, 21, 1, 0, 0, 0,232,135, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,168,136, 46, 21,
- 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8,137, 46, 21, 1, 0, 0, 0, 72,136, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 8,137, 46, 21, 1, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0,168,136, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,200,137, 46, 21,
- 1, 0, 0, 0, 8,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0,104,137, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 40,138, 46, 21,
- 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136,138, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,196, 3, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,136,138, 46, 21, 1, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,138, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,139, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,136, 46, 21, 1, 0, 0, 0,168,136, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,139, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,139, 46, 21,
- 1, 0, 0, 0,232,138, 46, 21, 1, 0, 0, 0, 72,136, 46, 21, 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,139, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,140, 46, 21,
- 1, 0, 0, 0, 88,139, 46, 21, 1, 0, 0, 0,168,136, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,140, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,140, 46, 21,
- 1, 0, 0, 0,200,139, 46, 21, 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,140, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,141, 46, 21,
- 1, 0, 0, 0, 56,140, 46, 21, 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,141, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,141, 46, 21,
- 1, 0, 0, 0,168,140, 46, 21, 1, 0, 0, 0,232,135, 46, 21, 1, 0, 0, 0,136,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,141, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,141, 46, 21,
- 1, 0, 0, 0, 24,141, 46, 21, 1, 0, 0, 0,232,135, 46, 21, 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,141, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,142, 46, 21,
- 1, 0, 0, 0,136,141, 46, 21, 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0,136,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,142, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,142, 46, 21,
- 1, 0, 0, 0,248,141, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,142, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,143, 46, 21,
- 1, 0, 0, 0,104,142, 46, 21, 1, 0, 0, 0, 8,137, 46, 21, 1, 0, 0, 0,136,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,143, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,142, 46, 21, 1, 0, 0, 0, 8,137, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,143, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,120,147, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0, 72,136, 46, 21, 1, 0, 0, 0,168,136, 46, 21,
- 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0,
- 97, 4, 0, 0, 7, 7,119, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,170, 46, 21,
- 1, 0, 0, 0,184,170, 46, 21, 1, 0, 0, 0,152,144, 46, 21, 1, 0, 0, 0, 8,146, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,152,144, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 8,146, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68,
- 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7,
- 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0,
- 96, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0, 8,146, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,144, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192,
- 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0,
- 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,176, 96,215, 2,197, 0, 0, 0, 1, 0, 0, 0,
+ 64, 97,215, 2, 32, 96,215, 2,192, 79,227, 2,152, 80,227, 2,160, 78,227, 2,120, 79,227, 2, 0, 0, 0, 0,249, 2, 0, 0,
+239, 5, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 1, 1,247, 2, 63, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+224,131,227, 2,224,131,227, 2,192, 64,227, 2,184,130,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0,192, 64,227, 2,198, 0, 0, 0, 1, 0, 0, 0,232, 65,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,192, 61, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+246, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 61, 68, 0, 0,200, 65, 0,128, 61, 68, 0, 0,200, 65, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,247, 2, 26, 0,247, 2, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-160, 0, 0, 0,120,147, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72,154, 46, 21, 1, 0, 0, 0,184,143, 46, 21,
- 1, 0, 0, 0,232,135, 46, 21, 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0,136,138, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0, 69, 4, 0, 0, 6, 6,196, 3,
- 70, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 6, 54, 4, 1, 0, 0, 0, 56, 6, 54, 4,
- 1, 0, 0, 0, 88,148, 46, 21, 1, 0, 0, 0,216,152, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,148, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,200,149, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,232, 65,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+104,128,227, 2,192, 64,227, 2, 0, 0, 0, 0, 0, 0, 15, 67, 0, 64, 70,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67,
+255,127, 70,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0, 43, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,160, 0,
+ 44, 3,143, 0, 26, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,249, 2, 0, 0,131, 1, 0, 0,
+167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 37, 2, 0, 0, 5, 0, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-195, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 41, 68, 0, 0,200, 65, 0,192, 41, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,196, 3, 26, 0,196, 3, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+104,128,227, 2,198, 0, 0, 0, 1, 0, 0, 0,144,129,227, 2,232, 65,227, 2, 0, 0, 0, 0, 0, 0, 16, 67, 0, 0,206,194,
+ 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 0, 0,206,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 18, 0, 0, 0,
+119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 18, 0, 0, 0,
+119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0,
+ 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 6, 0, 34, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,144,129,227, 2,198, 0, 0, 0, 1, 0, 0, 0,184,130,227, 2,104,128,227, 2,
+ 0, 0, 0, 0, 0, 0, 35, 67, 0,128,142,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0, 0, 26,196, 0, 0, 0, 0,
+163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0,122, 2,163, 0,104, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,149, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,216,152, 46, 21, 1, 0, 0, 0, 88,148, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 91, 67, 0, 96,133,196, 0, 0, 0, 0, 0, 0, 0, 0,254,255, 74, 67,254,127,133,196, 0, 0, 0, 0,203, 0, 0, 0,
-220, 0, 0, 0, 0, 0, 0, 0, 43, 4, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
-202, 0, 0, 0, 0, 0, 0, 0, 43, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
- 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0, 44, 4,203, 0, 44, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 44, 4, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,184,130,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,144,129,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,216,152, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,149, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67,154,153, 41,191,205,204,212, 63,154,153,149,191,205,204, 10, 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,
-232, 2, 0, 0, 0, 0, 0, 0, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,
+131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 37, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0,195, 3, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 2, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80,160,227, 2, 68, 65, 84, 65,
+ 68, 3, 0, 0, 80,160,227, 2,156, 0, 0, 0, 1, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 74,141,193, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 1,128,191, 0, 0,128,191,
+ 0, 0, 0, 0, 0, 0, 0, 0,225,215,163,188, 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0,
+ 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,176, 84, 89,188, 0, 0, 0, 0,
+ 53,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,
+164, 96, 68, 65,111,121,173,192,248,209,213, 64, 0, 0,128, 63,178,157,229, 62, 30,132, 27,191,222,160, 81,191,184,158, 81,191,
+117, 90,127, 63,166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65,217,236,191, 62, 54,117, 85, 63,224,246, 70,188, 0,160, 32,182,
+252, 5,136,190, 43, 33, 3, 62,235,135, 23, 63, 0, 0, 96, 53,215,104, 25,196,133,132,135, 67, 37, 9,167,195,136,252, 71,194,
+ 3, 54, 25, 68,158, 87,135,195,205,209,166, 67,151,254, 71, 66, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0,
+ 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,214,211,111,193, 0, 0,128, 63,178,157,229, 62, 30,132, 27,191,222,160, 81,191,184,158, 81,191,
+117, 90,127, 63,166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 63,129, 63,228,190, 42, 61,228,190,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96,132,111, 65,214,211,111, 65, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 86, 45, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,
+214,211,111, 65,214,211,111, 65, 0, 0, 0, 0, 0, 0, 0, 0,107,227, 29, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,255,255, 1, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 33, 0, 0, 56, 6, 54, 4,
- 1, 0, 0, 0,167, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,
-154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 30, 33, 12, 66, 86,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,224,131,227, 2,
+157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,144, 12,228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66,
+ 0, 0,128, 63, 10,215, 35, 60, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,
+ 64, 97,215, 2,197, 0, 0, 0, 1, 0, 0, 0,208, 97,215, 2,176, 96,215, 2,240, 76,227, 2, 48, 79,227, 2,120, 79,227, 2,
+232, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0,103, 1, 0, 0, 18, 18,240, 5,104, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,163,227, 2,200,163,227, 2, 8,133,227, 2, 48,134,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 8,133,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 48,134,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,160, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,190, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,189, 68, 0, 0,200, 65,
+ 0,224,189, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,240, 5,
+ 26, 0,240, 5, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 5, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+ 48,134,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8,133,227, 2, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0,
+ 0, 0, 51, 67, 0, 0, 0, 0, 0,224,187, 68, 0, 0, 0, 0, 0, 0,167, 67,223, 5, 0, 0,240, 5, 0, 0, 0, 0, 0, 0,
+ 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 5, 0, 0, 0, 0, 0, 0,
+ 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 2, 2, 0, 0,
+ 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,240, 5, 78, 1,223, 5, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,239, 5, 0, 0, 26, 0, 0, 0,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 5, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 28, 0, 0, 0, 64, 28,204, 2,177, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 88, 17,216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 88, 17,216, 2,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,200,163,227, 2,178, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 28,204, 2, 64, 28,204, 2,
+ 62, 62, 62, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3695,15 +3493,68 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+112,121,116,104,111,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 8, 4, 0, 0, 8, 4, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,208, 97,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 96, 98,215, 2,
+ 64, 97,215, 2, 8, 80,227, 2,160, 78,227, 2, 88, 78,227, 2, 80, 80,227, 2, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,
+237, 2, 0, 0,167, 3, 0, 0, 3, 3,142, 1,187, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,137,227, 2,
+168,137,227, 2, 88,135,227, 2,128,136,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0, 88,135,227, 2,198, 0, 0, 0, 1, 0, 0, 0,128,136,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,199, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,141, 1, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65, 0,128,198, 67, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,237, 2, 0, 0, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,142, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,128,136,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 88,135,227, 2, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,190, 67, 0, 0, 15,195,
+ 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 18, 6, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,142, 1,161, 0,125, 1,
+143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 7, 3, 0, 0,167, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1,161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,244, 0, 0, 0,168,137,227, 2,
+166, 0, 0, 0, 1, 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, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,240,237,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 68, 65, 84, 65,
+ 12, 0, 0, 0,240,237,205, 2,221, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 96,165,227, 2, 68, 65, 84, 65,
+168, 0, 0, 0, 96,165,227, 2,220, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,144, 1,228, 2, 19, 0, 0, 0,
+ 1, 0, 1, 0,144, 1,228, 2, 20, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 21, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0,240, 10,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,240, 16,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,
+144, 30,221, 2, 0, 0, 0, 0, 1, 0, 1, 0, 32, 26,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 8, 97,223, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,192, 21,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 80, 9,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 12,228, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0,184, 8,228, 2, 21, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 68, 65, 84, 65, 96, 0, 0, 0,
+ 96, 98,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,208, 97,215, 2, 48, 79,227, 2, 16, 78,227, 2,152, 80,227, 2,
+192, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 9, 9,248, 2, 63, 2, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,166,227, 2, 56,166,227, 2,208,138,227, 2,248,139,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,208,138,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+248,139,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 62, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 61, 68, 0, 0,200, 65,
+ 0,192, 61, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,248, 2,
+ 26, 0,248, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,105, 1, 0, 0,
+130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+248,139,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,208,138,227, 2, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0,
+ 0,192, 22, 68,248,150, 23, 68, 8, 41,100, 68, 46,224, 62, 67,233, 15,206, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, 0, 0, 0, 0,
+ 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,215, 35, 60, 0, 0,122, 68, 0, 0, 0, 0,
+ 1, 0, 3, 0, 0, 0, 0, 4, 10, 0,248, 2, 37, 2,248, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,247, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,136, 2, 0, 0, 56,166,227, 2,169, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 12, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,231, 1, 0, 0,243, 1, 0, 0,122, 1, 0, 0,124, 1, 0, 0,231, 1, 0, 0,
+243, 1, 0, 0, 4, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3720,16 +3571,101 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 78, 0, 0,148, 0, 0, 0, 16,253,213, 2,193, 0, 0, 0, 1, 0, 0, 0,216,253,213, 2, 72,252,213, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 82, 85, 86, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 8,169,227, 2, 0,171,227, 2, 72,171,227, 2, 24,174,227, 2,240, 98,215, 2, 16,100,215, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 8,169,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 80,169,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 80,169,227, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,152,169,227, 2, 8,169,227, 2, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+152,169,227, 2,194, 0, 0, 0, 1, 0, 0, 0,224,169,227, 2, 80,169,227, 2, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,224,169,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 40,170,227, 2,152,169,227, 2, 0, 0, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 40,170,227, 2,194, 0, 0, 0, 1, 0, 0, 0,112,170,227, 2,
+224,169,227, 2, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,112,170,227, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,184,170,227, 2, 40,170,227, 2, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+184,170,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 0,171,227, 2,112,170,227, 2, 0, 0, 0, 0,200, 3,234, 3, 1, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 0,171,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,184,170,227, 2, 0, 0, 0, 0,
+200, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 72,171,227, 2,195, 0, 0, 0, 1, 0, 0, 0,144,171,227, 2,
+ 0, 0, 0, 0, 80,169,227, 2,152,169,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,144,171,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,216,171,227, 2, 72,171,227, 2, 80,169,227, 2, 40,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,216,171,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 32,172,227, 2,144,171,227, 2,152,169,227, 2,
+112,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32,172,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+104,172,227, 2,216,171,227, 2, 40,170,227, 2,112,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+104,172,227, 2,195, 0, 0, 0, 1, 0, 0, 0,176,172,227, 2, 32,172,227, 2, 40,170,227, 2,184,170,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,176,172,227, 2,195, 0, 0, 0, 1, 0, 0, 0,248,172,227, 2,104,172,227, 2,
+ 8,169,227, 2, 0,171,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,248,172,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 64,173,227, 2,176,172,227, 2, 8,169,227, 2, 40,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 64,173,227, 2,195, 0, 0, 0, 1, 0, 0, 0,136,173,227, 2,248,172,227, 2,184,170,227, 2, 0,171,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136,173,227, 2,195, 0, 0, 0, 1, 0, 0, 0,208,173,227, 2,
+ 64,173,227, 2,112,170,227, 2,184,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,208,173,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0, 24,174,227, 2,136,173,227, 2,224,169,227, 2, 0,171,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0, 24,174,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,208,173,227, 2,224,169,227, 2,
+112,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,240, 98,215, 2,197, 0, 0, 0, 1, 0, 0, 0,
+128, 99,215, 2, 0, 0, 0, 0, 40,170,227, 2, 80,169,227, 2,152,169,227, 2,112,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
+184,234,220, 2,184,234,220, 2, 32,141,227, 2, 72,142,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0, 32,141,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 72,142,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,239, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,239, 68, 0, 0,200, 65, 0,192,239, 68, 0, 0,200, 65, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,127, 7, 26, 0,127, 7, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,127, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 72,142,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 32,141,227, 2, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69,
+ 0, 0, 0,192, 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7,
+ 2, 0,112, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0,
+ 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,
+128, 99,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 16,100,215, 2,240, 98,215, 2, 8,169,227, 2, 40,170,227, 2,184,170,227, 2,
+ 0,171,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 6, 6,200, 3,234, 3, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,184,227, 2,240,184,227, 2,112,143,227, 2,192,145,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,112,143,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+152,144,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,215, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,114, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,113, 68, 0, 0,200, 65,
+ 0,192,113, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,200, 3,
+ 26, 0,200, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+152,144,227, 2,198, 0, 0, 0, 1, 0, 0, 0,192,145,227, 2,112,143,227, 2, 0, 0, 0, 0, 0, 0, 91, 67, 0,192,115,196,
+ 0, 0, 0, 0, 0, 0, 0, 0,254,255, 74, 67,254,255,115,196, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,
+207, 3, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,
+207, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0,
+ 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,208, 3,203, 0,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,219, 0, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+220, 0,208, 3, 0, 0, 4, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,110,227, 2, 16,110,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 16,110,227, 2,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,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, 0, 73, 77, 65, 71, 69, 95, 80, 84, 95,103,112,101,110, 99,105,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, 0, 71,114,101, 97,115,101, 32, 80,101,110, 99,105,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, 0, 0, 0, 0, 0, 0,152,255,202, 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+192,145,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152,144,227, 2, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
+ 0, 0,128, 67, 51, 51, 43,191,154,153,213, 63, 51, 51,131,191,154,153, 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,236, 2, 0, 0, 0, 0, 0, 0,
+208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+220, 0, 0, 0,199, 3, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+236, 2,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 32, 0, 0,240,184,227, 2,167, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0,240, 65, 0, 0, 0, 0,154,153,153, 62, 0, 0, 0, 0,100, 0, 0, 0,154,153,153, 62,
+100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3808,8 +3744,6 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,
-100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3860,6 +3794,7 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3939,83 +3874,21 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72,154, 46, 21,
- 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,147, 46, 21, 1, 0, 0, 0,136,138, 46, 21,
- 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 8,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,197, 3, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 69, 4, 0, 0, 1, 1,178, 3, 70, 4, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,169, 46, 21, 1, 0, 0, 0, 56,169, 46, 21, 1, 0, 0, 0, 40,155, 46, 21,
- 1, 0, 0, 0, 40,164, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,155, 46, 21, 1, 0, 0, 0,198, 0, 0, 0,
- 1, 0, 0, 0,152,156, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0,128,108, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,177, 3, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,178, 3, 26, 0,178, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,197, 3, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,178, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,152,156, 46, 21, 1, 0, 0, 0,198, 0, 0, 0,
- 1, 0, 0, 0,168,159, 46, 21, 1, 0, 0, 0, 40,155, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 67, 0, 0,109,196,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,109,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,
-179, 3, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,
-179, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0,
- 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,180, 3,143, 0,180, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,197, 3, 0, 0,100, 4, 0, 0,146, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,160, 0,180, 3, 0, 0, 5, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,168,159, 46, 21, 1, 0, 0, 0,198, 0, 0, 0,
- 1, 0, 0, 0,184,162, 46, 21, 1, 0, 0, 0,152,156, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 67, 0, 0,242,194,
- 0, 0, 0, 0, 0, 0, 0, 0,231,102, 16, 67, 91, 90,242,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,
-119, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,
-119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0,
- 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,197, 3, 0, 0,100, 4, 0, 0, 26, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,160, 0,120, 0, 0, 0, 6, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,184,162, 46, 21, 1, 0, 0, 0,198, 0, 0, 0,
- 1, 0, 0, 0, 40,164, 46, 21, 1, 0, 0, 0,168,159, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67, 0,128,126,196,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 67,255,191,126,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0,
- 12, 4, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0,
- 12, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0,
- 1, 0, 7, 0, 18, 0, 0, 0, 6, 0,180, 0, 13, 4,163, 0,251, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118, 7, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 40,164, 46, 21, 1, 0, 0, 0,198, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,162, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,101, 4, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 18, 3, 44, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,152,165, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,152,165, 46, 21, 1, 0, 0, 0,156, 0, 0, 0,
- 1, 0, 0, 0,161, 58,190, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 74,215, 76,190,
- 0, 0, 0, 0, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190,
- 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 95,192,
- 0, 0,128, 63, 69,239,209, 62, 70,119,105, 63,160, 84, 89,188, 0, 0, 0, 0, 52,177,205,190,142, 74, 70, 62,166, 33,101, 63,
- 0, 0, 0, 0,185,158, 81, 63, 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,188,173, 54, 64,136, 95,161,191,147,231,198, 63,
- 0, 0,128, 63,169,255, 27, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,254,123,173, 63,140,225, 88, 62, 26, 63,185, 62,
- 35, 44,185, 62,150,126,161,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0,100, 98, 82, 64,
- 0, 25, 95, 64, 97, 66,141, 62,204, 23, 29, 63,192, 60, 18,188, 0, 0, 96,179,195, 15,188,190,130, 75, 53, 62,216,125, 81, 63,
- 0, 0,192,179,115, 77,100,193, 16,173,201, 64,181,148,248,192,203,247,159,192,233, 74, 87, 65,246, 46,190,192, 88,106,234, 64,
- 45, 8,160, 64, 68,239,209, 62, 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190,
- 0, 0, 0, 0,162, 84, 89,188,166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 95,192,
- 0, 0,128, 63,169,255, 27, 63,208,249,224,190, 48,180, 81,191,184,158, 81,191,254,123,173, 63,140,225, 88, 62, 26, 63,185, 62,
- 35, 44,185, 62,150,126,161,188,206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0,100, 98, 82, 64,
- 0, 25, 95, 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, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190, 0, 25, 95, 64, 0, 25, 95, 64, 0, 0, 0, 0,
- 0, 0, 0, 0, 18,106,224, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4023,769 +3896,762 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0, 56,169, 46, 21, 1, 0, 0, 0,157, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0, 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,
-205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 10, 0, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0, 56,171, 46, 21,
- 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,172, 46, 21, 1, 0, 0, 0,120,176, 46, 21,
- 1, 0, 0, 0,216,176, 46, 21, 1, 0, 0, 0, 72,184, 46, 21, 1, 0, 0, 0,184,184, 46, 21, 1, 0, 0, 0, 72,211, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,172, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184,172, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,184,172, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 24,173, 46, 21, 1, 0, 0, 0, 88,172, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,173, 46, 21,
- 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,120,173, 46, 21, 1, 0, 0, 0,184,172, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118, 7, 97, 4, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,173, 46, 21, 1, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0, 24,173, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 56,174, 46, 21,
- 1, 0, 0, 0,120,173, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0,216,173, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,152,174, 46, 21,
- 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,118, 7, 16, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184,175, 46, 21,
- 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 3, 70, 4, 1, 0, 0, 0, 68, 65, 84, 65,
- 32, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 88,175, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0, 24,176, 46, 21,
- 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 3, 16, 2, 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7,100, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,176, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,177, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,172, 46, 21, 1, 0, 0, 0, 24,173, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,177, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,177, 46, 21,
- 1, 0, 0, 0,216,176, 46, 21, 1, 0, 0, 0,184,172, 46, 21, 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,177, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,178, 46, 21,
- 1, 0, 0, 0, 72,177, 46, 21, 1, 0, 0, 0, 24,173, 46, 21, 1, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,178, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,178, 46, 21,
- 1, 0, 0, 0,184,177, 46, 21, 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,178, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,179, 46, 21,
- 1, 0, 0, 0, 40,178, 46, 21, 1, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,179, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,179, 46, 21,
- 1, 0, 0, 0,152,178, 46, 21, 1, 0, 0, 0, 88,172, 46, 21, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,179, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,179, 46, 21,
- 1, 0, 0, 0, 8,179, 46, 21, 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,179, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,180, 46, 21,
- 1, 0, 0, 0,120,179, 46, 21, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,180, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,180, 46, 21,
- 1, 0, 0, 0,232,179, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,180, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,181, 46, 21,
- 1, 0, 0, 0, 88,180, 46, 21, 1, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,181, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,181, 46, 21,
- 1, 0, 0, 0,200,180, 46, 21, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,181, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,182, 46, 21,
- 1, 0, 0, 0, 56,181, 46, 21, 1, 0, 0, 0,120,173, 46, 21, 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,182, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,182, 46, 21,
- 1, 0, 0, 0,168,181, 46, 21, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,182, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,182, 46, 21,
- 1, 0, 0, 0, 24,182, 46, 21, 1, 0, 0, 0, 88,172, 46, 21, 1, 0, 0, 0,120,173, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,182, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,183, 46, 21,
- 1, 0, 0, 0,136,182, 46, 21, 1, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,183, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,183, 46, 21,
- 1, 0, 0, 0,248,182, 46, 21, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,183, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,184, 46, 21,
- 1, 0, 0, 0,104,183, 46, 21, 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,184, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,183, 46, 21, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,184, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,120,188, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0,184,172, 46, 21, 1, 0, 0, 0, 24,173, 46, 21,
- 1, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0,
- 97, 4, 0, 0, 7, 7,119, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,219, 46, 21,
- 1, 0, 0, 0, 24,219, 46, 21, 1, 0, 0, 0,152,185, 46, 21, 1, 0, 0, 0, 8,187, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,152,185, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 8,187, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,237, 68, 0, 0,200, 65, 0,128,237, 68,
- 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7,
- 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 71, 4, 0, 0,
- 96, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0, 8,187, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,185, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192,
- 0, 0, 0, 0,112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 18, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 4, 0, 0,
- 97, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-160, 0, 0, 0,120,188, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 88,193, 46, 21, 1, 0, 0, 0,184,184, 46, 21,
- 1, 0, 0, 0, 88,172, 46, 21, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0,120,173, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 15, 15,119, 7,
-100, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,192, 46, 21, 1, 0, 0, 0, 56,192, 46, 21,
- 1, 0, 0, 0, 88,189, 46, 21, 1, 0, 0, 0,200,190, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,189, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,200,190, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0,160,137, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,224,202, 68, 0, 0,200, 65, 0,224,202, 68, 0, 0,200, 65, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7, 26, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,200,190, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,189, 46, 21, 1, 0, 0, 0, 0, 0, 64,192,
- 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,112,189, 17,192,246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
-118, 7, 0, 0, 18, 0, 0, 0, 73, 0, 0, 0, 0, 0,128, 63, 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61,
- 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4, 8, 0,119, 7, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 26, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0, 56,192, 46, 21,
- 1, 0, 0, 0,173, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
- 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88,193, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,200,202, 46, 21,
- 1, 0, 0, 0,120,188, 46, 21, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0,152,174, 46, 21,
- 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,101, 0, 0, 0,
- 15, 2, 0, 0, 8, 8,119, 7,171, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,201, 46, 21,
- 1, 0, 0, 0,152,201, 46, 21, 1, 0, 0, 0, 56,194, 46, 21, 1, 0, 0, 0, 40,200, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0, 56,194, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,168,195, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,224,238, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 96,191, 68, 0, 0,200, 65, 0, 96,191, 68,
- 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0,119, 7, 26, 0,119, 7,
- 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,101, 0, 0, 0,
-126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,119, 7, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,168,195, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184,198, 46, 21, 1, 0, 0, 0, 56,194, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 67, 0,128,200,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 0,128,200,195,
- 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,144, 1, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,145, 1,203, 0,
-145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,155, 6, 0, 0,118, 7, 0, 0,127, 0, 0, 0,
- 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0,145, 1, 0, 0, 4, 0, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,184,198, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 40,200, 46, 21, 1, 0, 0, 0,168,195, 46, 21,
- 1, 0, 0, 0, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196,
- 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70,
- 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 6, 0, 0, 15, 2, 0, 0,
- 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 7, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0, 40,200, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,198, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0,
- 0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,144, 1, 0, 0, 18, 0, 0, 0,154, 6, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 18, 0, 0, 0,154, 6, 0, 0, 18, 0, 0, 0,144, 1, 0, 0, 0, 0, 32, 65, 0, 0,128, 64, 0,124,146, 72,
- 0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 0,155, 6,145, 1, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 6, 0, 0,127, 0, 0, 0,
- 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,155, 6,145, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-240, 0, 0, 0,152,201, 46, 21, 1, 0, 0, 0,163, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 16,100,215, 2,197, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,128, 99,215, 2, 0,171,227, 2,184,170,227, 2,112,170,227, 2,224,169,227, 2, 0, 0, 0, 0,
+201, 3, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 1, 1,182, 3,234, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,176,152,227, 2,176,152,227, 2,232,146,227, 2,136,151,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,232,146,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 16,148,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 64,113, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0,128,109, 68, 0, 0, 0, 0, 0, 0,208, 65,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,181, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64,109, 68, 0, 0,200, 65, 0, 64,109, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,182, 3, 26, 0,182, 3, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,126, 7, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,182, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0,128, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,200,202, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72,211, 46, 21,
- 1, 0, 0, 0, 88,193, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0, 88,175, 46, 21,
- 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 3, 0, 0, 17, 2, 0, 0,
- 69, 4, 0, 0, 2, 2, 76, 3, 53, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,209, 46, 21,
- 1, 0, 0, 0,104,209, 46, 21, 1, 0, 0, 0,168,203, 46, 21, 1, 0, 0, 0,248,207, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,168,203, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 24,205, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0,128,100, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 83, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 75, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,103, 68, 0, 0,200, 65, 0,192,103, 68,
- 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 76, 3, 26, 0, 76, 3,
- 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 3, 0, 0, 17, 2, 0, 0,
- 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 3, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 16,148,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 56,149,227, 2,232,146,227, 2, 0, 0, 0, 0, 0, 0, 32, 67, 0, 0, 86,196, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 15, 67, 0, 0, 86,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 87, 3, 0, 0, 0, 0, 0, 0,
+142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0, 87, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4,
+ 6, 0,160, 0, 88, 3,143, 0, 88, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,104, 4, 0, 0,
+146, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 88, 3, 0, 0, 5, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,136,111,227, 2,136,111,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 64, 1, 0, 0,136,111,227, 2,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,116,111,111,108,115, 95,111, 98,106,101, 99,116,109,111,100,101, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0, 24,205, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,136,206, 46, 21, 1, 0, 0, 0,168,203, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 64, 2,196,
- 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0,217, 0, 27, 2,200, 0,
- 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0, 43, 2, 0, 0,
- 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 27, 2, 0, 0, 2, 0, 3, 0, 0, 0,
+ 79, 98,106,101, 99,116, 32, 84,111,111,108,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,233,253,143, 0,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,136,206, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,248,207, 46, 21, 1, 0, 0, 0, 24,205, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 56,149,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 96,150,227, 2, 16,148,227, 2, 0, 0, 0, 0, 0, 0, 33, 67, 0, 0,242,194, 0, 0, 0, 0, 0, 0, 0, 0,
+231,102, 16, 67, 91, 90,242,194, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,
+142, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 0, 0, 0, 0,119, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4,
+ 6, 0,160, 0,120, 0,143, 0,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,104, 4, 0, 0,
+ 26, 0, 0, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,120, 0, 0, 0, 6, 0,
+ 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,113,227, 2, 0,113,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 64, 1, 0, 0, 0,113,227, 2,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 86, 73, 69, 87, 51, 68, 95, 80, 84, 95,108, 97,115,116, 95,111,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 79,112,101,114, 97,116,111,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 3, 0, 0, 75, 3, 0, 0, 43, 2, 0, 0,
- 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0,
+ 0, 0,216,255,144, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 96,150,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0,136,151,227, 2, 56,149,227, 2, 0, 0, 0, 0, 0, 0, 35, 67, 0,128,126,196, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 35, 67,255,191,126,196, 0, 0, 0, 0,163, 0, 0, 0,180, 0, 0, 0, 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0,
+162, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,162, 0, 0, 0, 18, 0, 0, 0, 12, 4, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 0, 0, 0, 1, 0, 7, 0, 18, 0, 0, 0,
+ 6, 0,180, 0, 13, 4,163, 0,251, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,126, 7, 0, 0,
+ 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0,
+ 4, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0,136,151,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 96,150,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,105, 4, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 22, 3,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24,218,227, 2, 68, 65, 84, 65, 68, 3, 0, 0, 24,218,227, 2,156, 0, 0, 0, 1, 0, 0, 0, 72,246,172, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,140, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 28, 13,128,191, 0, 0,128,191, 0, 0, 0, 0, 0, 0, 0, 0, 74,215, 76,190, 0, 0, 0, 0, 68,239,209, 62,
+ 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,
+166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 95,192, 0, 0,128, 63, 69,239,209, 62,
+ 70,119,105, 63,160, 84, 89,188, 0, 0, 0, 0, 52,177,205,190,142, 74, 70, 62,166, 33,101, 63, 0, 0, 0, 0,185,158, 81, 63,
+ 35, 44,185,190, 43, 61,228, 62, 0, 0, 0, 0,188,173, 54, 64,136, 95,161,191,147,231,198, 63, 0, 0,128, 63,185,214, 13, 63,
+208,249,224,190, 48,180, 81,191,184,158, 81,191,189,188,157, 63,140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,
+206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64,121, 92,155, 62,
+151,198, 44, 63,192,214, 32,188, 0, 0, 40,180,195, 15,188,190,132, 75, 53, 62,216,125, 81, 63, 0, 0,192,179,115, 77,100,193,
+ 17,173,201, 64,181,148,248,192,203,247,159,192,233, 74, 87, 65,247, 46,190,192, 88,106,234, 64, 45, 8,160, 64, 68,239,209, 62,
+ 51,177,205,190,184,158, 81, 63, 0, 0, 0, 0, 70,119,105, 63,143, 74, 70, 62, 35, 44,185,190, 0, 0, 0, 0,162, 84, 89,188,
+166, 33,101, 63, 42, 61,228, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 95,192, 0, 0,128, 63,185,214, 13, 63,
+208,249,224,190, 48,180, 81,191,184,158, 81,191,189,188,157, 63,140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,188,
+206,156,122, 63,138, 84,228,190, 42, 61,228,190, 0, 0, 0, 0, 0, 0, 0, 0,100, 98, 82, 64, 0, 25, 95, 64,248,201,250, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 92, 62, 55, 63,
+ 56,186,224,190,237,203,148,190, 3,236,234,190, 0, 25, 95, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0,114,145,245, 58,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 1, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 30, 33, 12, 66, 85,152,137, 66,116, 27,126, 66, 0, 0, 0, 0,
+ 68, 65, 84, 65,240, 0, 0, 0,176,152,227, 2,157, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0,144, 12,228, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 3, 0, 0, 0,
+ 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 0, 0,128, 63,205,204,204, 61, 0, 0,250, 67, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 10, 0, 7, 1, 0, 3, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 78, 0, 0,148, 0, 0, 0,216,253,213, 2,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16,253,213, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 83, 82, 86,105,100,101,111, 32, 69,100,105,116,105,110,103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,174,227, 2,120,177,227, 2,192,177,227, 2,136,182,227, 2,160,100,215, 2,
+224,102,215, 2, 0, 0, 0, 0, 0, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,148,238, 92, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 96,174,227, 2,194, 0, 0, 0, 1, 0, 0, 0,
+168,174,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,168,174,227, 2,
+194, 0, 0, 0, 1, 0, 0, 0,240,174,227, 2, 96,174,227, 2, 0, 0, 0, 0, 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0,240,174,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 56,175,227, 2,168,174,227, 2, 0, 0, 0, 0,240, 4,222, 2,
+ 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 56,175,227, 2,194, 0, 0, 0, 1, 0, 0, 0,128,175,227, 2,240,174,227, 2,
+ 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,128,175,227, 2,194, 0, 0, 0, 1, 0, 0, 0,
+200,175,227, 2, 56,175,227, 2, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,200,175,227, 2,
+194, 0, 0, 0, 1, 0, 0, 0, 16,176,227, 2,128,175,227, 2, 0, 0, 0, 0,240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0, 16,176,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 88,176,227, 2,200,175,227, 2, 0, 0, 0, 0,240, 4, 92, 1,
+ 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 88,176,227, 2,194, 0, 0, 0, 1, 0, 0, 0,160,176,227, 2, 16,176,227, 2,
+ 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,160,176,227, 2,194, 0, 0, 0, 1, 0, 0, 0,
+232,176,227, 2, 88,176,227, 2, 0, 0, 0, 0, 48, 2,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,232,176,227, 2,
+194, 0, 0, 0, 1, 0, 0, 0, 48,177,227, 2,160,176,227, 2, 0, 0, 0, 0, 0, 0, 92, 1, 0, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0, 48,177,227, 2,194, 0, 0, 0, 1, 0, 0, 0,120,177,227, 2,232,176,227, 2, 0, 0, 0, 0, 48, 2, 92, 1,
+ 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,120,177,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 48,177,227, 2,
+ 0, 0, 0, 0,240, 4, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,192,177,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 8,178,227, 2, 0, 0, 0, 0,168,174,227, 2,240,174,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 8,178,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 80,178,227, 2,192,177,227, 2,168,174,227, 2,128,175,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 80,178,227, 2,195, 0, 0, 0, 1, 0, 0, 0,152,178,227, 2, 8,178,227, 2,
+240,174,227, 2,200,175,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,152,178,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,224,178,227, 2, 80,178,227, 2,128,175,227, 2,200,175,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,224,178,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 40,179,227, 2,152,178,227, 2,200,175,227, 2, 16,176,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 40,179,227, 2,195, 0, 0, 0, 1, 0, 0, 0,112,179,227, 2,
+224,178,227, 2, 96,174,227, 2, 88,176,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,112,179,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,184,179,227, 2, 40,179,227, 2,128,175,227, 2,160,176,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,184,179,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 0,180,227, 2,112,179,227, 2, 88,176,227, 2,
+232,176,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 0,180,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 72,180,227, 2,184,179,227, 2,232,176,227, 2, 48,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 72,180,227, 2,195, 0, 0, 0, 1, 0, 0, 0,144,180,227, 2, 0,180,227, 2,160,176,227, 2, 48,177,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,144,180,227, 2,195, 0, 0, 0, 1, 0, 0, 0,216,180,227, 2, 72,180,227, 2,
+ 16,176,227, 2,120,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,216,180,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 32,181,227, 2,144,180,227, 2, 56,175,227, 2,120,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 32,181,227, 2,195, 0, 0, 0, 1, 0, 0, 0,104,181,227, 2,216,180,227, 2, 88,176,227, 2,120,177,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,104,181,227, 2,195, 0, 0, 0, 1, 0, 0, 0,176,181,227, 2,
+ 32,181,227, 2, 96,174,227, 2, 56,175,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,176,181,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,248,181,227, 2,104,181,227, 2,200,175,227, 2,160,176,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,248,181,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 64,182,227, 2,176,181,227, 2, 16,176,227, 2,
+ 48,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 64,182,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+136,182,227, 2,248,181,227, 2,128,175,227, 2,232,176,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+136,182,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64,182,227, 2, 16,176,227, 2,232,176,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,160,100,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 48,101,215, 2, 0, 0, 0, 0,
+128,175,227, 2,168,174,227, 2,240,174,227, 2,200,175,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,
+222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0,136,129,206, 2, 24,235,220, 2, 24,235,220, 2,
+216,153,227, 2, 0,155,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,232, 81, 6, 4,136, 81, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,
+216,153,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0,155,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+241, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 64,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 0,155,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216,153,227, 2,
+ 0, 0, 0, 0, 0,240,109, 69, 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,109, 69, 0, 0, 0,192, 0, 0, 0, 0,
+112, 7, 0, 0,129, 7, 0, 0, 18, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,111, 7, 0, 0, 18, 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,128, 63, 0, 0,128, 63, 2, 0, 0, 0, 1, 0, 3, 3, 2, 0, 0, 4, 10, 0,129, 7, 2, 0,112, 7, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 2, 0, 0,222, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 63,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 48,101,215, 2,197, 0, 0, 0,
+ 1, 0, 0, 0,192,101,215, 2,160,100,215, 2, 96,174,227, 2, 88,176,227, 2,120,177,227, 2, 56,175,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 15, 15,241, 4, 68, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 88,107,206, 2,144,221,227, 2,144,221,227, 2, 40,156,227, 2, 80,157,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 40, 81, 6, 4,
+168, 82, 6, 4, 68, 65, 84, 65,248, 0, 0, 0, 40,156,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 80,157,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 32,140, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 52,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 80,157,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 40,156,227, 2, 0, 0, 64,192, 0, 0,126, 67, 0, 0, 0, 0, 0, 0, 72, 66,112,189, 17,192,
+246, 70,125, 67, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 18, 0, 0, 0, 41, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 72, 66, 0,124,146, 72, 0, 0, 72, 66,205,204,204, 61, 0, 0, 32, 65, 72, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 4,
+ 8, 0,241, 4, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,
+ 26, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 42, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 52,206, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,248,207, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,206, 46, 21,
- 1, 0, 0, 0, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 16,193,
- 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0, 18, 0, 0, 0,114, 2, 0, 0, 0, 0, 0, 0,
- 17, 0, 0, 0, 18, 0, 0, 0,114, 2, 0, 0, 18, 0, 0, 0, 26, 2, 0, 0,111, 18,131, 58,111, 18,131, 58, 0,124,146, 72,
- 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,115, 2, 27, 2, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0, 75, 3, 0, 0, 43, 2, 0, 0,
- 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,115, 2, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+188, 0, 0, 0,144,221,227, 2,173, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-240, 0, 0, 0,104,209, 46, 21, 1, 0, 0, 0,161, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,192,101,215, 2,197, 0, 0, 0, 1, 0, 0, 0,
+ 80,102,215, 2, 48,101,215, 2, 88,176,227, 2,232,176,227, 2, 16,176,227, 2,120,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 4, 0, 0, 69, 0, 0, 0, 91, 1, 0, 0, 8, 8,241, 4, 23, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,169,206, 2,
+128,254,227, 2,128,254,227, 2,120,158,227, 2,232,224,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 83, 6, 4,136, 84, 6, 4,
+ 68, 65, 84, 65,248, 0, 0, 0,120,158,227, 2,198, 0, 0, 0, 1, 0, 0, 0,152,222,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,128, 26, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 68, 0, 0,200, 65, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 69, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 64,206,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,152,222,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+192,223,227, 2,120,158,227, 2, 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,125,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67,
+ 1, 0,125,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0,
+ 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,202, 0, 0, 0, 0, 0, 0, 0,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 64, 10, 3, 0, 0, 1, 0, 7, 0, 18, 0, 0, 4, 6, 0,220, 0,
+253, 0,203, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 4, 0, 0,240, 4, 0, 0, 95, 0, 0, 0,
+ 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0,253, 0, 0, 0, 4, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,205,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+192,223,227, 2,198, 0, 0, 0, 1, 0, 0, 0,232,224,227, 2,152,222,227, 2, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196,
+ 0, 0, 7, 68, 0, 0,112,196, 0, 0,112, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 0, 0, 0, 0,
+ 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 20, 4, 0, 0, 91, 1, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 32,205,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,232,224,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,192,223,227, 2,
+ 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65,
+ 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,252, 0, 0, 0, 18, 0, 0, 0, 20, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 18, 0, 0, 0, 20, 4, 0, 0, 18, 0, 0, 0,252, 0, 0, 0, 0, 0, 32, 65, 0, 0,128, 64, 0,124,146, 72, 0, 0, 0, 66,
+ 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 0, 21, 4,253, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 4, 0, 0, 95, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 4,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,204,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,128,254,227, 2,163, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0,128, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 96, 0, 0, 0, 80,102,215, 2,197, 0, 0, 0, 1, 0, 0, 0,224,102,215, 2,192,101,215, 2,232,176,227, 2,128,175,227, 2,
+160,176,227, 2, 48,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 2, 2, 48, 2,
+102, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,113,206, 2,136,255,227, 2,136,255,227, 2, 16,226,227, 2,136,229,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,160, 33,220, 3, 64,120, 10, 4, 68, 65, 84, 65,248, 0, 0, 0, 16,226,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 56,227,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 68, 0, 0, 0, 0, 0, 0,208, 65,154,216, 65, 55,
+ 0, 0, 12, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 11, 68,
+ 0, 0,200, 65, 0,192, 11, 68, 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0,
+ 10, 0, 48, 2, 26, 0, 48, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0,
+ 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 26, 0, 0, 0, 1, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 56,206, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0, 56,227,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 96,228,227, 2, 16,226,227, 2, 0, 0, 0, 0, 0, 0, 72, 67,
+ 0, 0,112,193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 67, 0, 0,157,195, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0,
+ 18, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0,199, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,199, 0, 0, 0,
+ 18, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0,217, 0, 76, 1,200, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,217, 0, 76, 1, 0, 0, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96, 57,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 96,228,227, 2,198, 0, 0, 0, 1, 0, 0, 0,136,229,227, 2,
+ 56,227,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,210, 46, 21,
- 1, 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, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,104, 0, 0, 0,152,210, 46, 21, 1, 0, 0, 0, 19, 1, 0, 0, 1, 0, 0, 0, 56,174, 47, 4,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0, 47, 2, 0, 0,119, 1, 0, 0,194, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 57,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,136,229,227, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 96,228,227, 2, 0, 0, 16,193, 0, 0,130, 67, 0, 0,160,192, 0, 0,160, 64,
+ 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 16,193, 0, 0, 32, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0,
+ 18, 0, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 86, 1, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0,
+111, 18,131, 58,111, 18,131, 58, 0,124,146, 72, 0, 80, 67, 71, 0, 0, 0, 0, 0, 0, 0, 0,105, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 4, 0, 0, 87, 1, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0,
+ 47, 2, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 1, 76, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 56,206, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,208, 0, 0, 0,136,255,227, 2,161, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 72,211, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200,202, 46, 21, 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0, 56,174, 46, 21,
- 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 3, 0, 0,118, 7, 0, 0, 17, 2, 0, 0,
- 69, 4, 0, 0, 8, 8, 42, 4, 53, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,217, 46, 21,
- 1, 0, 0, 0,232,217, 46, 21, 1, 0, 0, 0, 40,212, 46, 21, 1, 0, 0, 0,120,216, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0, 40,212, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,152,213, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 64,133, 68, 0, 0, 0, 0,
- 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 41, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 50, 68, 0, 0,200, 65, 0, 64, 50, 68,
- 0, 0,200, 65, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 4, 10, 0, 42, 4, 26, 0, 42, 4,
- 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 3, 0, 0,118, 7, 0, 0, 17, 2, 0, 0,
- 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,152,213, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 8,215, 46, 21, 1, 0, 0, 0, 40,212, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,114, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 88, 0, 0, 0,184,114, 40, 0, 20, 1, 0, 0, 1, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,118, 7, 0, 0,118, 7, 0, 0, 43, 2, 0, 0,
- 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0, 4, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,224,102,215, 2,197, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 80,102,215, 2, 48,177,227, 2,160,176,227, 2,200,175,227, 2, 16,176,227, 2, 0, 0, 0, 0,
+ 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 8, 8,192, 2,102, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240,169,206, 2,136, 0,228, 2,136, 0,228, 2,176,230,227, 2, 40,234,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,160,120, 10, 4,
+192,121, 10, 4, 68, 65, 84, 65,248, 0, 0, 0,176,230,227, 2,198, 0, 0, 0, 1, 0, 0, 0,216,231,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,245, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 48, 68, 0, 0, 0, 0, 0, 0,208, 65,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,191, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 47, 68, 0, 0,200, 65, 0,192, 47, 68, 0, 0,200, 65,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 2, 0, 3, 3, 4, 0, 12, 0, 10, 0,192, 2, 26, 0,192, 2, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 2, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,206,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,216,231,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 0,233,227, 2,176,230,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0, 8,215, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,120,216, 46, 21, 1, 0, 0, 0,152,213, 46, 21,
- 1, 0, 0, 0, 0, 0,240,195, 0, 0,240, 67, 0, 0,135,195, 0, 0,135, 67, 96,187,216,196, 96,187,216, 68,244, 43, 91,196,
-244, 43, 91, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 41, 4, 0, 0, 0, 0, 0, 0, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70,
- 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 4, 0, 0, 42, 4, 27, 2, 42, 4,
- 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 3, 0, 0,118, 7, 0, 0, 43, 2, 0, 0,
- 69, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 4, 27, 2, 0, 0, 7, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,240, 4, 0, 0,
+119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 4, 0,
+ 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176,205,206, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 40, 1, 0, 0,120,216, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,215, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0,
+248, 0, 0, 0, 0,233,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 40,234,227, 2,216,231,227, 2, 0, 0,240,195, 0, 0,240, 67,
+ 0, 0,135,195, 0, 0,135, 67,238, 33,143,196,238, 33,143, 68, 0, 0, 7,196, 0, 0, 7, 68, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 2, 0, 0,
+ 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 59, 70, 0,128, 59, 70,172,197, 39, 55, 0, 80,195, 71,
+ 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 4, 0, 0,192, 2, 76, 1,192, 2, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,192, 2, 76, 1, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 32,205,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 40,234,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0,233,227, 2, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 0,122, 67, 0, 0, 0, 0,
0, 0, 0, 65, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, 18, 0, 0, 0,201, 2, 0, 0, 0, 0, 0, 0,
17, 0, 0, 0, 18, 0, 0, 0,201, 2, 0, 0, 18, 0, 0, 0, 75, 1, 0, 0, 0, 0, 32, 65, 0, 0,128, 64, 0,124,146, 72,
0, 0, 0, 66, 10,215, 35, 60, 0, 0,200, 66,105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0,202, 2, 76, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-240, 0, 0, 0,232,217, 46, 21, 1, 0, 0, 0,163, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,204,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,136, 0,228, 2,
+163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0,128, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 83, 67, 0, 0, 16, 6, 0, 0, 56,174, 47, 4, 1, 0, 0, 0,154, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 67, 83, 99,
-101,110,101, 0,116, 97,103,101, 0, 97,105,110, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152,219, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,222, 46, 21, 1, 0, 0, 0, 72,223, 46, 21, 1, 0, 0, 0,104,222, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0,
- 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,223, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 67, 0, 0, 48, 5, 0, 0,144, 1,228, 2,154, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83, 67, 83, 99,101,110,101, 0,116, 97,103,101, 0, 97,105,110, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0,192, 0,216, 2, 0, 0, 0, 0,144, 12,228, 2,240, 10,228, 2, 0, 0, 0, 0,144, 28,204, 2, 48, 29,204, 2,
+144, 28,204, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 1, 0, 0, 0,
+ 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 6,228, 2, 32,189, 3, 4,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,
- 1, 0, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0, 6, 0, 50, 0,141, 0,128, 7, 56, 4, 8, 0, 8, 0, 0, 0, 24, 0, 17, 0, 0, 0, 0, 0,
- 90, 0, 1, 0, 0, 0, 0, 0, 81, 0, 0, 0, 23, 0, 33, 0, 2, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 8, 0,
- 24, 0, 10, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,227, 46, 21, 1, 0, 0, 0, 88,227, 46, 21,
- 1, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 0, 0, 0, 68,172, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0,250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,100, 0, 0, 0,100, 0, 0, 0, 0, 0, 1, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 6, 0, 50, 0,141, 0,128, 7,
+ 56, 4, 8, 0, 8, 0, 24, 0, 17, 0, 0, 0, 90, 0, 1, 0, 81, 0, 0, 0, 23, 0, 33, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 8, 0, 24, 0, 10, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 18,216, 2,
+168, 18,216, 2, 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 1, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 5, 0, 2, 0, 1, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 47, 47, 98, 97, 99,107, 98,117,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 47,116,109,112, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 5, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 31, 5, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 0, 0, 0,128, 63,
- 0, 0,128, 63,173, 2, 95, 0,154,153,217, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 76, 69, 78, 68, 69, 82, 95, 82, 69, 78, 68, 69, 82, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63,102,166,171, 67, 0, 0,128, 63, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,192,227, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,152,208, 40, 21, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,
+205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 16, 0, 0, 0,128, 63, 0, 0,128, 63,173, 2, 95, 0,154,153,217, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 1, 0,180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 76, 69, 78, 68, 69, 82, 95,
+ 82, 69, 78, 68, 69, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,172, 0, 0, 0, 0,128, 63,
+102,166,171, 67, 0, 0,128, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 96,100,174, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,202,205, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65,
0, 0, 0, 0, 32, 0, 32, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 0, 5, 0, 60, 0, 5, 0, 1, 0, 5, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 2,224, 1, 60, 0, 32, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0,
-180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0,128, 7, 56, 4,205,204,204, 61,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195,245, 28,193,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,152,219, 46, 21, 1, 0, 0, 0, 8, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 56,220, 46, 21, 1, 0, 0, 0,200,221, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 56,220, 46, 21, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0,200,221, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0,110,101,116,119,111,114,107, 95,114,101,110,100,101,114, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,220, 46, 21,
- 1, 0, 0, 0,216,220, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 96, 0, 0, 0,216,220, 46, 21, 1, 0, 0, 0, 8, 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,115,101,114,118,101,114, 95, 97,100,100,114,101,115,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,221, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 68, 65, 84, 65, 12, 0, 0, 0,120,221, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 91,100,101,102, 97,117,108,116, 93, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,
-200,221, 46, 21, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,220, 46, 21, 1, 0, 0, 0,
- 6, 0, 0, 0,112,111,115,101, 95,116,101,109,112,108, 97,116,101,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,222, 46, 21, 1, 0, 0, 0,
-130, 0, 0, 0, 1, 0, 0, 0,216,222, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0,206, 2,179, 1, 56, 40, 54, 4, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,222, 46, 21, 1, 0, 0, 0,
-130, 0, 0, 0, 1, 0, 0, 0, 72,223, 46, 21, 1, 0, 0, 0,104,222, 46, 21, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0,
- 0, 4, 0, 0,160, 3,244, 2, 56, 46, 54, 4, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,223, 46, 21, 1, 0, 0, 0,
-130, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,222, 46, 21, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0,
- 0, 4, 0, 0,158, 0, 21, 2, 56,182, 47, 4, 1, 0, 0, 0, 68, 65, 84, 65,192, 1, 0, 0,184,223, 46, 21, 1, 0, 0, 0,
-150, 0, 0, 0, 1, 0, 0, 0,184,225, 46, 21, 1, 0, 0, 0, 56,226, 46, 21, 1, 0, 0, 0,184,226, 46, 21, 1, 0, 0, 0,
- 0, 0,128, 63, 1, 0, 1, 0,205,204, 76, 63, 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,111, 18,131, 58,205,204,204, 61,
- 0, 0, 1, 0, 32, 0, 32, 0, 32, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 80, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 0, 5, 0,255,255,
- 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 66,
- 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66,
- 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66,
- 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 10,215, 35, 60,205,204,204, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,205,204,204, 61,205,204,204, 61,
-102,102,166, 63, 0, 0,192, 63, 0, 0,240, 65, 72,225,122, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 67, 2, 0, 3, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 35, 0, 0, 0,
-204,197,121, 63, 0, 0, 0, 63, 68, 65, 84, 65, 56, 0, 0, 0,184,225, 46, 21, 1, 0, 0, 0,149, 0, 0, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 56, 0, 0, 0,
- 56,226, 46, 21, 1, 0, 0, 0,149, 0, 0, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-200,200,255,128, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,184,226, 46, 21, 1, 0, 0, 0,148, 0, 0, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,100,100,128, 1, 0, 0, 0,128, 0, 0, 0, 1, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 0, 0,124, 7,231, 65,255, 74, 20, 65, 54, 86,123, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 88, 0, 0, 0, 88,227, 46, 21, 1, 0, 0, 0,136, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 76, 97,121,101,114, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 15, 0, 0, 0, 0, 0,
-255,127, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,136, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0,
- 21, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 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, 0, 0, 4, 0, 0, 0, 0, 63,
-205,204,204, 61, 0, 0,200, 66, 0, 0, 12, 66,161, 14,234, 64, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,216, 1, 0, 0, 24,229, 46, 21, 1, 0, 0, 0,
- 33, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 56,231, 46, 21, 1, 0, 0, 0, 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63, 0, 0, 64, 64,
-205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0, 0, 2, 1, 0, 1, 0, 1, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,205,204,204, 61, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,195,245, 28,193, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 76, 0, 0, 0,192, 0,216, 2, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 28, 0, 0, 0,144, 28,204, 2,130, 0, 0, 0, 1, 0, 0, 0,224, 28,204, 2, 0, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,194, 1, 42, 1,240, 16,228, 2, 68, 65, 84, 65, 28, 0, 0, 0,224, 28,204, 2,
+130, 0, 0, 0, 1, 0, 0, 0, 48, 29,204, 2,144, 28,204, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 69, 2,243, 1,
+192, 21,228, 2, 68, 65, 84, 65, 28, 0, 0, 0, 48, 29,204, 2,130, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,224, 28,204, 2,
+ 1, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 99, 0,103, 1,144, 12,228, 2, 68, 65, 84, 65,152, 1, 0, 0,240, 6,228, 2,
+150, 0, 0, 0, 1, 0, 0, 0, 0, 4,204, 2, 88, 4,204, 2, 64,115, 40, 0, 0, 0,128, 63, 1, 0, 1, 0,205,204, 76, 63,
+ 0, 0,180, 66, 9, 0, 1, 0, 0, 0,128, 63,111, 18,131, 58,205,204,204, 61, 0, 0, 1, 0, 32, 0, 32, 0, 32, 0, 1, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,184,212,229, 2,
+ 0, 0, 0, 0,255,255,255,128, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 80, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 7, 0, 5, 0, 5, 0,255,255, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,200, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 72, 66, 50, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 66, 0, 0, 0, 0, 0, 0,128, 62,
+ 0, 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, 0, 0,128, 63,
+ 10,215, 35, 60,205,204,204, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,250, 0,205,204,204, 61,205,204,204, 61,102,102,166, 63,
+ 0, 0,192, 63, 0, 0,240, 65, 72,225,122, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 67, 2, 0, 3,
+ 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 35, 0, 0, 0,204,197,121, 63, 0, 0, 0, 63,
+ 68, 65, 84, 65, 36, 0, 0, 0, 0, 4,204, 2,149, 0, 0, 0, 1, 0, 0, 0, 80,155,229, 2, 0, 0, 0, 0,255,255,255,128,
+ 1, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 36, 0, 0, 0,
+ 88, 4,204, 2,149, 0, 0, 0, 1, 0, 0, 0, 80,155,229, 2, 0, 0, 0, 0,200,200,255,128, 1, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 0, 0, 0, 64,115, 40, 0,148, 0, 0, 0,
+ 1, 0, 0, 0,136,194,229, 2, 0, 0, 0, 0,255,100,100,128, 1, 0, 0, 0,128, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0,124, 7,231, 65,255, 74, 20, 65, 54, 86,123, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 72, 0, 0, 0,168, 18,216, 2,136, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82,101,110,100,101,114, 76, 97,
+121,101,114, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255, 15, 0, 0, 0, 0, 0,255,127, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 67, 65, 0, 0,104, 0, 0, 0,
+184, 8,228, 2, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 65, 67, 97,
+109,101,114, 97, 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 63,205,204,204, 61, 0, 0,200, 66, 0, 0, 12, 66,161, 14,234, 64, 0, 0, 0, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 0, 0,108, 1, 0, 0, 80, 9,228, 2,
+ 33, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 65, 76, 97,109,112, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,247,255,239, 65, 0, 0,150, 66,154,153, 25, 62, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 28,221, 2, 2, 0, 0, 0, 46, 26,128, 63, 25, 4,240, 65, 0, 0, 52, 66, 0, 0,128, 63,
+ 0, 0, 64, 64,205,204, 76, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 11, 3, 0, 1, 0, 0, 0, 0, 2, 1, 0,
+ 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,111, 18,131, 58, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 64,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 29,204, 2, 68, 65, 84, 65, 16, 1, 0, 0, 0, 28,221, 2,
+ 80, 1, 0, 0, 1, 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,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,242, 4, 53,191,243, 4, 53, 63,208,182,227, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,233, 46, 21, 1, 0, 0, 0,
- 68, 65, 84, 65, 64, 1, 0, 0, 56,231, 46, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 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,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 1, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,243, 4, 53,191,242, 4, 53, 63,
-242, 4, 53,191,243, 4, 53, 63,184,232, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+208,182,227, 2, 78, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,128, 29,204, 2, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0,112, 1, 0, 0,
+240, 10,228, 2,129, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 87,111,
+114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,114, 99, 80, 61,114, 99, 80, 61,114, 99, 80, 61,199, 54, 36, 60,199, 54, 36, 60,
+199, 54, 36, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0, 0, 0, 32, 0,128, 0, 5, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 64, 0, 0,200, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,112, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65,
+ 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 61, 0, 0, 5, 0, 0, 0, 0, 0, 10,215,163, 59, 0, 0, 0, 0, 0, 0,128, 62,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 29,204, 2, 68, 65, 84, 65,
+ 32, 0, 0, 0,208, 29,204, 2, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 0, 0, 44, 4, 0, 0,144, 12,228, 2,116, 0, 0, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97, 0, 97,109,101,
+114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,184, 8,228, 2,
+ 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+ 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,110,101,239, 64,150, 62,208,192,
+ 78,255,170, 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,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,254,141, 63,192, 57, 49, 60, 34,159, 80, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222,149, 47, 63, 53, 70, 58, 63,222, 56, 49,188, 0, 0, 0, 0, 86,126,162,190,
+227,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,149, 84, 28,191, 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64,
+150, 62,208,192, 78,255,170, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 1, 0,128, 63, 1, 0,128, 51, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 51,
+ 0, 0,128, 63, 1, 0,128, 51, 0, 0, 0, 0, 2, 0, 0,179, 2, 0, 0,167, 1, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 53,
+ 1, 0, 0, 41, 1, 0,128,168, 0, 0,128, 63,221,149, 47, 63, 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,
+225,251,159, 62,149, 84, 28,191, 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190,
+ 0,222,192,190,152, 9, 52,193, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0,
+ 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
+ 0, 0,128, 63,187,225, 16, 63, 0, 0,128, 63,205,204,204, 62,237, 54, 32, 63, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,236,214, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
-184,232, 46, 21, 1, 0, 0, 0, 77, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,233, 46, 21, 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 87, 79, 0, 0,224, 1, 0, 0,136,233, 46, 21, 1, 0, 0, 0,129, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 87, 79, 87,111,114,108,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,114, 99, 80, 61,114, 99, 80, 61,
-114, 99, 80, 61,199, 54, 36, 60,199, 54, 36, 60,199, 54, 36, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,205,204, 28, 65, 0, 0, 0, 0,
- 0, 0, 32, 0,128, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 64, 0, 0,200, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,112, 65, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 61, 0, 0, 5, 0, 0, 0, 0, 0,
- 10,215,163, 59, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0, 0,236,214, 2,119, 0, 0, 0,
+ 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,
+205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 79, 66, 0, 0, 44, 4, 0, 0,240, 16,228, 2,
+116, 0, 0, 0, 1, 0, 0, 0,192, 21,228, 2,144, 12,228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67,117, 98,101, 0,112,
+104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,195,249, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+144, 30,221, 2, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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, 80, 21,228, 2,136, 21,228, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,235, 46, 21, 1, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0,168,235, 46, 21, 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 0, 0, 32, 5, 0, 0, 56,182, 47, 4, 1, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 67, 97,109,101,114, 97,
- 0, 97,109,101,114, 97, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0,
+ 0, 0, 68, 0, 79, 66, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
+ 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,236,214, 2, 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, 32, 47, 1, 4, 64, 53, 1, 4,
+ 25, 0, 0, 0, 0, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 80, 21,228, 2,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,136, 21,228, 2, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,192,236,214, 2,119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 72, 0, 0, 0, 79, 66, 0, 0, 44, 4, 0, 0,192, 21,228, 2,116, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+240, 16,228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 79, 66, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 80, 9,228, 2, 0, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,
+250, 0, 0, 0, 10, 0, 0, 0, 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,110,101,239, 64,150, 62,208,192, 78,255,170, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154,112,130, 64,183,178,128, 63,112,236,188, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,254,141, 63,192, 57, 49, 60, 34,159, 80, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,229,123, 38, 63, 87, 43, 98, 61,229,229,238, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,222,149, 47, 63, 53, 70, 58, 63,222, 56, 49,188, 0, 0, 0, 0, 86,126,162,190,227,251,159, 62, 55, 53,101, 63,
- 0, 0, 0, 0, 7,165, 39, 63,149, 84, 28,191, 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64,150, 62,208,192, 78,255,170, 64,
+ 0, 0, 0, 0, 54,236,148,190, 25,134,116, 63,236, 13, 98,189, 0, 0, 0, 0,221,102, 69,191, 57,174, 76,190, 34,194, 26, 63,
+ 0, 0, 0, 0, 37,255, 16, 63,241,161, 95, 62,164,111, 75, 63, 0, 0, 0, 0,154,112,130, 64,183,178,128, 63,112,236,188, 64,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 1, 0,128, 63, 1, 0,128, 51, 1, 0, 0,179, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0,128, 63, 1, 0,128, 51,
- 0, 0, 0, 0, 2, 0, 0,179, 2, 0, 0,167, 1, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 53, 1, 0, 0, 41, 1, 0,128,168,
- 0, 0,128, 63,221,149, 47, 63, 86,126,162,190, 8,165, 39, 63, 0, 0, 0, 0, 51, 70, 58, 63,225,251,159, 62,149, 84, 28,191,
- 0, 0, 0, 0,192, 56, 49,188, 55, 53,101, 63, 52,247,227, 62, 0, 0, 0, 0, 90, 38,173,190, 0,222,192,190,152, 9, 52,193,
+ 0, 0,128, 63, 0, 0,128, 63, 1, 0,128, 50, 0, 0, 0,179, 0, 0, 0, 0, 1, 0,128, 50, 1, 0,128, 63, 1, 0, 0, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 39, 1, 0, 0, 52, 1, 0,128, 39,
+ 0, 0,128, 63, 54,236,148,190,221,102, 69,191, 38,255, 16, 63, 0, 0, 0, 0, 24,134,116, 63, 57,174, 76,190,239,161, 95, 62,
+ 0, 0, 0, 0,237, 13, 98,189, 35,194, 26, 63,166,111, 75, 63, 0, 0, 0, 0,209, 19, 13, 63,241, 65,102,190, 10, 10,231,192,
0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 0, 0, 79, 66, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,187,225, 16, 63,
- 0, 0,128, 63,205,204,204, 62,237, 54, 32, 63, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 2, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,236, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,
- 24,236, 46, 21, 1, 0, 0, 0,119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 79, 66, 0, 0, 32, 5, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 79, 66, 67,117, 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0,
- 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, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0, 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201, 0, 0,128, 63,169, 19,208, 60,
+ 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,237,214, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0, 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,
-248,236, 46, 21, 1, 0, 0, 0, 72,237, 46, 21, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 68, 0,
- 79, 66, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0, 56,180,150,201,
- 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 64, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,237, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 8, 0, 0, 0,248,236, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0, 72,237, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-152, 0, 0, 0,152,237, 46, 21, 1, 0, 0, 0,119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 79, 66, 0, 0, 32, 5, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0,116, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 79, 66, 76, 97,109,112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 24,229, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
- 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 1, 0, 0, 0,250, 0, 0, 0, 10, 0, 0, 0,
- 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,154,112,130, 64,
-183,178,128, 63,112,236,188, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,229,123, 38, 63, 87, 43, 98, 61,
-229,229,238, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54,236,148,190, 25,134,116, 63,236, 13, 98,189, 0, 0, 0, 0,
-221,102, 69,191, 57,174, 76,190, 34,194, 26, 63, 0, 0, 0, 0, 37,255, 16, 63,241,161, 95, 62,164,111, 75, 63, 0, 0, 0, 0,
-154,112,130, 64,183,178,128, 63,112,236,188, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 1, 0,128, 50, 0, 0, 0,179, 0, 0, 0, 0,
- 1, 0,128, 50, 1, 0,128, 63, 1, 0, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 1, 0, 0, 39, 1, 0, 0, 52, 1, 0,128, 39, 0, 0,128, 63, 54,236,148,190,221,102, 69,191, 38,255, 16, 63, 0, 0, 0, 0,
- 24,134,116, 63, 57,174, 76,190,239,161, 95, 62, 0, 0, 0, 0,237, 13, 98,189, 35,194, 26, 63,166,111, 75, 63, 0, 0, 0, 0,
-209, 19, 13, 63,241, 65,102,190, 10, 10,231,192, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 5, 0, 1, 0,
- 0, 0, 68, 0, 79, 66, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,100, 0, 0, 0, 0, 0, 0, 0,
- 56,180,150,201, 0, 0,128, 63,169, 19,208, 60, 0, 0,128, 63,205,204,204, 62,229,208, 34, 62, 0, 0, 0, 0,143,194,117, 61,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 1, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,238, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,152, 0, 0, 0,120,238, 46, 21, 1, 0, 0, 0,119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,128,237,214, 2,119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,205,204,204, 61,205,204, 76, 62, 10,215,163, 60,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 77, 65, 0, 0, 32, 3, 0, 0, 88,239, 46, 21,
- 1, 0, 0, 0, 35, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,208, 66, 32,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 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, 0, 0, 1, 0,
-205,204, 76, 63,205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 77, 65, 0, 0,160, 2, 0, 0, 32, 26,228, 2, 35, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 4, 8, 90, 0, 0, 0, 0, 0, 77, 65, 77, 97,116,101,114,105, 97,108, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,205,204, 76, 63,
+205,204, 76, 63,205,204, 76, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63,205,204, 76, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0, 1, 0, 50, 0,
+205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0, 0, 0,160, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63, 18, 0, 18, 0,
+ 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 4, 0, 67, 0, 64, 3, 67, 0, 64, 3, 1, 0, 4, 0,
+ 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61, 0, 0, 0, 63,
+205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 72, 29,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 30,204, 2,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 16, 1, 0, 0, 72, 29,221, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 8, 97,223, 2, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 10,215, 35, 60, 0, 0, 0, 0, 0, 0, 8, 0,
- 1, 0, 50, 0,205,204, 76, 62, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,160, 63, 0, 0, 0, 0,
- 0, 0,160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 2, 0, 2, 0, 50, 0, 0, 6, 0, 0,128, 63, 0, 0,128, 63,
- 18, 0, 18, 0, 10,215,163, 59, 10,215,163, 59, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 4, 0, 67, 0, 64, 3, 67, 0, 64, 3,
- 1, 0, 4, 0, 12, 0, 4, 0, 0, 0, 0, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0,128, 64, 0, 0, 0, 63,205,204,204, 61,
- 0, 0, 0, 63,205,204,204, 61,205,204,204, 61, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,184,242, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 68, 65, 84, 65, 32, 0, 0, 0, 32, 30,204, 2, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0,
+ 32, 0, 0, 0, 96, 0, 0, 0, 0, 0, 1, 0, 52, 0, 52, 0,240, 28,228, 2, 32, 45,228, 2, 68, 65, 84, 65, 0, 16, 0, 0,
+240, 28,228, 2, 0, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 51,
+ 2, 2, 2, 51, 6, 6, 6,153, 6, 6, 6,153, 6, 6, 6,153, 4, 4, 4,102, 3, 3, 3,102, 2, 2, 2, 51, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 51, 8, 8, 8,153, 11, 11, 11,204, 13, 13, 13,255,
+ 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255,
+ 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 51, 10, 10, 10,153, 18, 18, 18,255, 20, 20, 20,255, 22, 22, 22,255, 23, 23, 23,255,
+ 22, 22, 22,255, 20, 20, 20,255, 19, 19, 19,255, 16, 16, 16,255, 14, 14, 14,255, 11, 11, 11,255, 10, 10, 10,255, 9, 9, 9,255,
+ 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 7, 7, 7,102, 19, 19, 19,204, 27, 27, 27,255, 31, 31, 31,255, 32, 32, 32,255, 33, 33, 33,255, 33, 33, 33,255,
+ 31, 31, 31,255, 30, 30, 30,255, 27, 27, 27,255, 25, 25, 25,255, 22, 22, 22,255, 19, 19, 19,255, 16, 16, 16,255, 12, 12, 12,255,
+ 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 13, 13, 13,153, 29, 29, 29,255, 37, 37, 37,255, 40, 40, 40,255, 42, 42, 42,255, 42, 42, 42,255, 43, 43, 43,255, 41, 41, 41,255,
+ 40, 40, 40,255, 38, 38, 38,255, 36, 36, 36,255, 33, 33, 33,255, 30, 30, 30,255, 27, 27, 27,255, 24, 24, 24,255, 20, 20, 20,255,
+ 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102,
+ 37, 37, 37,255, 44, 44, 44,255, 48, 48, 48,255, 50, 50, 50,255, 51, 51, 51,255, 51, 51, 51,255, 50, 50, 50,255, 49, 49, 49,255,
+ 48, 48, 48,255, 45, 45, 45,255, 43, 43, 43,255, 41, 41, 41,255, 37, 37, 37,255, 34, 34, 34,255, 31, 31, 31,255, 28, 28, 28,255,
+ 24, 24, 24,255, 20, 20, 20,255, 15, 15, 15,255, 11, 11, 11,255, 10, 10, 10,255, 11, 11, 11,255, 7, 7, 7,153, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,102, 41, 41, 41,255,
+ 50, 50, 50,255, 54, 54, 54,255, 57, 57, 57,255, 58, 58, 58,255, 59, 59, 59,255, 59, 59, 59,255, 58, 58, 58,255, 57, 57, 57,255,
+ 55, 55, 55,255, 53, 53, 53,255, 51, 51, 51,255, 48, 48, 48,255, 45, 45, 45,255, 41, 41, 41,255, 38, 38, 38,255, 35, 35, 35,255,
+ 31, 31, 31,255, 27, 27, 27,255, 23, 23, 23,255, 17, 17, 17,255, 12, 12, 12,255, 11, 11, 11,255, 11, 11, 11,255, 5, 5, 5,102,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36,204, 53, 53, 53,255,
+ 59, 59, 59,255, 63, 63, 63,255, 65, 65, 65,255, 66, 66, 66,255, 66, 66, 66,255, 66, 66, 66,255, 65, 65, 65,255, 64, 64, 64,255,
+ 62, 62, 62,255, 60, 60, 60,255, 57, 57, 57,255, 54, 54, 54,255, 51, 51, 51,255, 48, 48, 48,255, 44, 44, 44,255, 41, 41, 41,255,
+ 37, 37, 37,255, 33, 33, 33,255, 29, 29, 29,255, 24, 24, 24,255, 19, 19, 19,255, 13, 13, 13,255, 11, 11, 11,255, 12, 12, 12,255,
+ 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19,102, 56, 56, 56,255, 64, 64, 64,255,
+ 68, 68, 68,255, 71, 71, 71,255, 73, 73, 73,255, 74, 74, 74,255, 74, 74, 74,255, 73, 73, 73,255, 72, 72, 72,255, 71, 71, 71,255,
+ 69, 69, 69,255, 67, 67, 67,255, 64, 64, 64,255, 61, 61, 61,255, 58, 58, 58,255, 54, 54, 54,255, 50, 50, 50,255, 47, 47, 47,255,
+ 43, 43, 43,255, 39, 39, 39,255, 34, 34, 34,255, 30, 30, 30,255, 25, 25, 25,255, 19, 19, 19,255, 13, 13, 13,255, 12, 12, 12,255,
+ 10, 10, 10,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, 54,255, 66, 66, 66,255, 72, 72, 72,255,
+ 77, 77, 77,255, 79, 79, 79,255, 81, 81, 81,255, 81, 81, 81,255, 81, 81, 81,255, 80, 80, 80,255, 79, 79, 79,255, 77, 77, 77,255,
+ 75, 75, 75,255, 73, 73, 73,255, 70, 70, 70,255, 67, 67, 67,255, 63, 63, 63,255, 60, 60, 60,255, 56, 56, 56,255, 52, 52, 52,255,
+ 49, 49, 49,255, 44, 44, 44,255, 40, 40, 40,255, 35, 35, 35,255, 30, 30, 30,255, 24, 24, 24,255, 18, 18, 18,255, 12, 12, 12,255,
+ 12, 12, 12,255, 6, 6, 6,102, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22,102, 67, 67, 67,255, 76, 76, 76,255, 81, 81, 81,255,
+ 84, 84, 84,255, 87, 87, 87,255, 88, 88, 88,255, 88, 88, 88,255, 88, 88, 88,255, 87, 87, 87,255, 86, 86, 86,255, 84, 84, 84,255,
+ 82, 82, 82,255, 79, 79, 79,255, 76, 76, 76,255, 73, 73, 73,255, 69, 69, 69,255, 65, 65, 65,255, 62, 62, 62,255, 58, 58, 58,255,
+ 54, 54, 54,255, 49, 49, 49,255, 45, 45, 45,255, 40, 40, 40,255, 35, 35, 35,255, 29, 29, 29,255, 23, 23, 23,255, 16, 16, 16,255,
+ 12, 12, 12,255, 12, 12, 12,204, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,204, 76, 76, 76,255, 84, 84, 84,255, 89, 89, 89,255,
+ 92, 92, 92,255, 94, 94, 94,255, 95, 95, 95,255, 95, 95, 95,255, 95, 95, 95,255, 94, 94, 94,255, 93, 93, 93,255, 91, 91, 91,255,
+ 88, 88, 88,255, 85, 85, 85,255, 82, 82, 82,255, 79, 79, 79,255, 75, 75, 75,255, 71, 71, 71,255, 67, 67, 67,255, 63, 63, 63,255,
+ 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 45, 45, 45,255, 40, 40, 40,255, 34, 34, 34,255, 28, 28, 28,255, 21, 21, 21,255,
+ 13, 13, 13,255, 14, 14, 14,255, 0, 0, 0, 0, 14, 14, 14,102, 70, 70, 70,255, 85, 85, 85,255, 92, 92, 92,255, 97, 97, 97,255,
+100,100,100,255,102,102,102,255,102,102,102,255,103,103,103,255,102,102,102,255,101,101,101,255, 99, 99, 99,255, 97, 97, 97,255,
+ 94, 94, 94,255, 91, 91, 91,255, 88, 88, 88,255, 84, 84, 84,255, 81, 81, 81,255, 77, 77, 77,255, 72, 72, 72,255, 68, 68, 68,255,
+ 64, 64, 64,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 44, 44, 44,255, 39, 39, 39,255, 32, 32, 32,255, 25, 25, 25,255,
+ 17, 17, 17,255, 13, 13, 13,255, 7, 7, 7,102, 24, 24, 24,102, 80, 80, 80,255, 93, 93, 93,255,100,100,100,255,104,104,104,255,
+107,107,107,255,109,109,109,255,109,109,109,255,109,109,109,255,109,109,109,255,107,107,107,255,106,106,106,255,103,103,103,255,
+100,100,100,255, 97, 97, 97,255, 94, 94, 94,255, 90, 90, 90,255, 86, 86, 86,255, 82, 82, 82,255, 77, 77, 77,255, 73, 73, 73,255,
+ 69, 69, 69,255, 64, 64, 64,255, 59, 59, 59,255, 54, 54, 54,255, 49, 49, 49,255, 43, 43, 43,255, 36, 36, 36,255, 29, 29, 29,255,
+ 21, 21, 21,255, 14, 14, 14,255, 10, 10, 10,153, 29, 29, 29,102, 89, 89, 89,255,100,100,100,255,107,107,107,255,112,112,112,255,
+114,114,114,255,116,116,116,255,116,116,116,255,116,116,116,255,115,115,115,255,114,114,114,255,112,112,112,255,110,110,110,255,
+107,107,107,255,104,104,104,255,100,100,100,255, 96, 96, 96,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255,
+ 73, 73, 73,255, 68, 68, 68,255, 63, 63, 63,255, 58, 58, 58,255, 52, 52, 52,255, 46, 46, 46,255, 40, 40, 40,255, 33, 33, 33,255,
+ 24, 24, 24,255, 17, 17, 17,255, 13, 13, 13,204, 46, 46, 46,153, 95, 95, 95,255,107,107,107,255,114,114,114,255,118,118,118,255,
+121,121,121,255,122,122,122,255,123,123,123,255,123,123,123,255,122,122,122,255,122,122,122,255,120,120,120,255,118,118,118,255,
+114,114,114,255,110,110,110,255,106,106,106,255,101,101,101,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 83, 83, 83,255,
+ 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 62, 62, 62,255, 56, 56, 56,255, 50, 50, 50,255, 44, 44, 44,255, 36, 36, 36,255,
+ 28, 28, 28,255, 19, 19, 19,255, 12, 12, 12,204, 47, 47, 47,153,101,101,101,255,113,113,113,255,120,120,120,255,125,125,125,255,
+127,127,127,255,129,129,129,255,130,130,130,255,130,130,130,255,131,131,131,255,131,131,131,255,131,131,131,255,129,129,129,255,
+125,125,125,255,120,120,120,255,113,113,113,255,108,108,108,255,103,103,103,255, 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255,
+ 82, 82, 82,255, 77, 77, 77,255, 72, 72, 72,255, 66, 66, 66,255, 60, 60, 60,255, 54, 54, 54,255, 47, 47, 47,255, 39, 39, 39,255,
+ 31, 31, 31,255, 22, 22, 22,255, 12, 12, 12,204, 48, 48, 48,153,106,106,106,255,118,118,118,255,126,126,126,255,131,131,131,255,
+134,134,134,255,135,135,135,255,137,137,137,255,138,138,138,255,142,142,142,255,147,147,147,255,149,149,149,255,148,148,148,255,
+142,142,142,255,133,133,133,255,124,124,124,255,115,115,115,255,108,108,108,255,102,102,102,255, 97, 97, 97,255, 92, 92, 92,255,
+ 87, 87, 87,255, 81, 81, 81,255, 75, 75, 75,255, 69, 69, 69,255, 63, 63, 63,255, 57, 57, 57,255, 49, 49, 49,255, 42, 42, 42,255,
+ 33, 33, 33,255, 24, 24, 24,255, 9, 9, 9,153, 32, 32, 32,102,109,109,109,255,123,123,123,255,131,131,131,255,136,136,136,255,
+140,140,140,255,142,142,142,255,144,144,144,255,148,148,148,255,156,156,156,255,168,168,168,255,176,176,176,255,177,177,177,255,
+168,168,168,255,153,153,153,255,137,137,137,255,124,124,124,255,114,114,114,255,107,107,107,255,101,101,101,255, 96, 96, 96,255,
+ 90, 90, 90,255, 85, 85, 85,255, 79, 79, 79,255, 72, 72, 72,255, 66, 66, 66,255, 59, 59, 59,255, 52, 52, 52,255, 44, 44, 44,255,
+ 35, 35, 35,255, 26, 26, 26,255, 10, 10, 10,153, 17, 17, 17, 51,110,110,110,255,127,127,127,255,136,136,136,255,142,142,142,255,
+145,145,145,255,148,148,148,255,151,151,151,255,159,159,159,255,174,174,174,255,195,195,195,255,212,212,212,255,216,216,216,255,
+204,204,204,255,179,179,179,255,154,154,154,255,135,135,135,255,121,121,121,255,112,112,112,255,106,106,106,255, 99, 99, 99,255,
+ 94, 94, 94,255, 88, 88, 88,255, 82, 82, 82,255, 76, 76, 76,255, 69, 69, 69,255, 62, 62, 62,255, 54, 54, 54,255, 46, 46, 46,255,
+ 37, 37, 37,255, 26, 26, 26,255, 6, 6, 6,102, 0, 0, 0, 0,107,107,107,255,130,130,130,255,140,140,140,255,146,146,146,255,
+150,150,150,255,153,153,153,255,158,158,158,255,169,169,169,255,191,191,191,255,219,219,219,255,246,246,246,255,254,254,254,255,
+237,237,237,255,204,204,204,255,170,170,170,255,145,145,145,255,127,127,127,255,117,117,117,255,110,110,110,255,103,103,103,255,
+ 97, 97, 97,255, 91, 91, 91,255, 85, 85, 85,255, 78, 78, 78,255, 71, 71, 71,255, 64, 64, 64,255, 55, 55, 55,255, 47, 47, 47,255,
+ 37, 37, 37,255, 25, 25, 25,255, 3, 3, 3, 51, 0, 0, 0, 0, 65, 65, 65,153,129,129,129,255,142,142,142,255,149,149,149,255,
+154,154,154,255,158,158,158,255,163,163,163,255,176,176,176,255,199,199,199,255,232,232,232,255,255,255,255,255,255,255,255,255,
+255,255,255,255,220,220,220,255,181,181,181,255,151,151,151,255,132,132,132,255,121,121,121,255,113,113,113,255,106,106,106,255,
+100,100,100,255, 94, 94, 94,255, 87, 87, 87,255, 80, 80, 80,255, 73, 73, 73,255, 65, 65, 65,255, 57, 57, 57,255, 48, 48, 48,255,
+ 38, 38, 38,255, 16, 16, 16,153, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 51,127,127,127,255,143,143,143,255,152,152,152,255,
+157,157,157,255,161,161,161,255,165,165,165,255,177,177,177,255,198,198,198,255,227,227,227,255,253,253,253,255,255,255,255,255,
+250,250,250,255,217,217,217,255,181,181,181,255,153,153,153,255,135,135,135,255,124,124,124,255,117,117,117,255,110,110,110,255,
+103,103,103,255, 96, 96, 96,255, 89, 89, 89,255, 82, 82, 82,255, 74, 74, 74,255, 66, 66, 66,255, 57, 57, 57,255, 48, 48, 48,255,
+ 35, 35, 35,255, 10, 10, 10,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 93,204,141,141,141,255,153,153,153,255,
+159,159,159,255,163,163,163,255,167,167,167,255,174,174,174,255,188,188,188,255,209,209,209,255,228,228,228,255,234,234,234,255,
+224,224,224,255,200,200,200,255,173,173,173,255,151,151,151,255,136,136,136,255,127,127,127,255,119,119,119,255,112,112,112,255,
+105,105,105,255, 98, 98, 98,255, 90, 90, 90,255, 83, 83, 83,255, 75, 75, 75,255, 66, 66, 66,255, 57, 57, 57,255, 46, 46, 46,255,
+ 24, 24, 24,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 51,134,134,134,255,151,151,151,255,
+160,160,160,255,164,164,164,255,167,167,167,255,171,171,171,255,178,178,178,255,189,189,189,255,200,200,200,255,202,202,202,255,
+195,195,195,255,180,180,180,255,163,163,163,255,148,148,148,255,137,137,137,255,129,129,129,255,121,121,121,255,114,114,114,255,
+107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 83, 83, 83,255, 74, 74, 74,255, 65, 65, 65,255, 55, 55, 55,255, 41, 41, 41,255,
+ 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,102,145,145,145,255,
+157,157,157,255,164,164,164,255,167,167,167,255,170,170,170,255,172,172,172,255,176,176,176,255,180,180,180,255,179,179,179,255,
+174,174,174,255,165,165,165,255,155,155,155,255,145,145,145,255,137,137,137,255,130,130,130,255,122,122,122,255,115,115,115,255,
+107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 82, 82, 82,255, 73, 73, 73,255, 63, 63, 63,255, 50, 50, 50,255, 22, 22, 22,153,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,
+149,149,149,255,160,160,160,255,166,166,166,255,168,168,168,255,169,169,169,255,170,170,170,255,169,169,169,255,167,167,167,255,
+164,164,164,255,158,158,158,255,151,151,151,255,144,144,144,255,137,137,137,255,130,130,130,255,123,123,123,255,115,115,115,255,
+106,106,106,255, 98, 98, 98,255, 89, 89, 89,255, 80, 80, 80,255, 70, 70, 70,255, 58, 58, 58,255, 27, 27, 27,153, 3, 3, 3, 51,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 80, 80, 80,153,150,150,150,255,160,160,160,255,165,165,165,255,167,167,167,255,167,167,167,255,166,166,166,255,163,163,163,255,
+160,160,160,255,155,155,155,255,149,149,149,255,143,143,143,255,137,137,137,255,129,129,129,255,121,121,121,255,113,113,113,255,
+105,105,105,255, 96, 96, 96,255, 86, 86, 86,255, 76, 76, 76,255, 63, 63, 63,255, 38, 38, 38,204, 7, 7, 7, 51, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 78, 78, 78,153,147,147,147,255,157,157,157,255,161,161,161,255,163,163,163,255,162,162,162,255,160,160,160,255,
+157,157,157,255,152,152,152,255,147,147,147,255,141,141,141,255,135,135,135,255,127,127,127,255,119,119,119,255,110,110,110,255,
+101,101,101,255, 91, 91, 91,255, 80, 80, 80,255, 66, 66, 66,255, 32, 32, 32,153, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,244, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63,111,148, 26, 63,111,148, 26, 63,111,148, 26, 63,205,204, 76, 61,205,204,204, 61,102,102,166, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 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, 68, 65, 84, 65, 24, 1, 0, 0,184,242, 46, 21, 1, 0, 0, 0, 24, 0, 0, 0,
- 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
- 40, 0, 0, 0, 24,244, 46, 21, 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0,
- 96, 0, 0, 0, 0, 0, 1, 0, 52, 0, 52, 0, 56, 52, 54, 4, 1, 0, 0, 0, 56, 70, 54, 4, 1, 0, 0, 0, 68, 65, 84, 65,
- 0, 16, 0, 0, 56, 52, 54, 4, 1, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 2, 2, 51, 2, 2, 2, 51, 6, 6, 6,153, 6, 6, 6,153, 6, 6, 6,153, 4, 4, 4,102, 3, 3, 3,102,
- 2, 2, 2, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 3, 3, 51, 8, 8, 8,153,
- 11, 11, 11,204, 13, 13, 13,255, 12, 12, 12,255, 12, 12, 12,255, 11, 11, 11,255, 10, 10, 10,255, 10, 10, 10,255, 9, 9, 9,255,
- 9, 9, 9,255, 9, 9, 9,255, 4, 4, 4,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 3, 51, 10, 10, 10,153, 18, 18, 18,255, 20, 20, 20,255,
- 22, 22, 22,255, 23, 23, 23,255, 22, 22, 22,255, 20, 20, 20,255, 19, 19, 19,255, 16, 16, 16,255, 14, 14, 14,255, 11, 11, 11,255,
- 10, 10, 10,255, 9, 9, 9,255, 9, 9, 9,255, 9, 9, 9,255, 8, 8, 8,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7,102, 19, 19, 19,204, 27, 27, 27,255, 31, 31, 31,255, 32, 32, 32,255,
- 33, 33, 33,255, 33, 33, 33,255, 31, 31, 31,255, 30, 30, 30,255, 27, 27, 27,255, 25, 25, 25,255, 22, 22, 22,255, 19, 19, 19,255,
- 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 4, 4, 4,102, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 13, 13, 13,153, 29, 29, 29,255, 37, 37, 37,255, 40, 40, 40,255, 42, 42, 42,255, 42, 42, 42,255,
- 43, 43, 43,255, 41, 41, 41,255, 40, 40, 40,255, 38, 38, 38,255, 36, 36, 36,255, 33, 33, 33,255, 30, 30, 30,255, 27, 27, 27,255,
- 24, 24, 24,255, 20, 20, 20,255, 16, 16, 16,255, 12, 12, 12,255, 10, 10, 10,255, 10, 10, 10,255, 10, 10, 10,255, 7, 7, 7,153,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 13, 13, 13,102, 37, 37, 37,255, 44, 44, 44,255, 48, 48, 48,255, 50, 50, 50,255, 51, 51, 51,255, 51, 51, 51,255,
- 50, 50, 50,255, 49, 49, 49,255, 48, 48, 48,255, 45, 45, 45,255, 43, 43, 43,255, 41, 41, 41,255, 37, 37, 37,255, 34, 34, 34,255,
- 31, 31, 31,255, 28, 28, 28,255, 24, 24, 24,255, 20, 20, 20,255, 15, 15, 15,255, 11, 11, 11,255, 10, 10, 10,255, 11, 11, 11,255,
- 7, 7, 7,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13, 13, 13,102, 41, 41, 41,255, 50, 50, 50,255, 54, 54, 54,255, 57, 57, 57,255, 58, 58, 58,255, 59, 59, 59,255, 59, 59, 59,255,
- 58, 58, 58,255, 57, 57, 57,255, 55, 55, 55,255, 53, 53, 53,255, 51, 51, 51,255, 48, 48, 48,255, 45, 45, 45,255, 41, 41, 41,255,
- 38, 38, 38,255, 35, 35, 35,255, 31, 31, 31,255, 27, 27, 27,255, 23, 23, 23,255, 17, 17, 17,255, 12, 12, 12,255, 11, 11, 11,255,
- 11, 11, 11,255, 5, 5, 5,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 36, 36, 36,204, 53, 53, 53,255, 59, 59, 59,255, 63, 63, 63,255, 65, 65, 65,255, 66, 66, 66,255, 66, 66, 66,255, 66, 66, 66,255,
- 65, 65, 65,255, 64, 64, 64,255, 62, 62, 62,255, 60, 60, 60,255, 57, 57, 57,255, 54, 54, 54,255, 51, 51, 51,255, 48, 48, 48,255,
- 44, 44, 44,255, 41, 41, 41,255, 37, 37, 37,255, 33, 33, 33,255, 29, 29, 29,255, 24, 24, 24,255, 19, 19, 19,255, 13, 13, 13,255,
- 11, 11, 11,255, 12, 12, 12,255, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19,102,
- 56, 56, 56,255, 64, 64, 64,255, 68, 68, 68,255, 71, 71, 71,255, 73, 73, 73,255, 74, 74, 74,255, 74, 74, 74,255, 73, 73, 73,255,
- 72, 72, 72,255, 71, 71, 71,255, 69, 69, 69,255, 67, 67, 67,255, 64, 64, 64,255, 61, 61, 61,255, 58, 58, 58,255, 54, 54, 54,255,
- 50, 50, 50,255, 47, 47, 47,255, 43, 43, 43,255, 39, 39, 39,255, 34, 34, 34,255, 30, 30, 30,255, 25, 25, 25,255, 19, 19, 19,255,
- 13, 13, 13,255, 12, 12, 12,255, 10, 10, 10,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 54, 54,255,
- 66, 66, 66,255, 72, 72, 72,255, 77, 77, 77,255, 79, 79, 79,255, 81, 81, 81,255, 81, 81, 81,255, 81, 81, 81,255, 80, 80, 80,255,
- 79, 79, 79,255, 77, 77, 77,255, 75, 75, 75,255, 73, 73, 73,255, 70, 70, 70,255, 67, 67, 67,255, 63, 63, 63,255, 60, 60, 60,255,
- 56, 56, 56,255, 52, 52, 52,255, 49, 49, 49,255, 44, 44, 44,255, 40, 40, 40,255, 35, 35, 35,255, 30, 30, 30,255, 24, 24, 24,255,
- 18, 18, 18,255, 12, 12, 12,255, 12, 12, 12,255, 6, 6, 6,102, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22,102, 67, 67, 67,255,
- 76, 76, 76,255, 81, 81, 81,255, 84, 84, 84,255, 87, 87, 87,255, 88, 88, 88,255, 88, 88, 88,255, 88, 88, 88,255, 87, 87, 87,255,
- 86, 86, 86,255, 84, 84, 84,255, 82, 82, 82,255, 79, 79, 79,255, 76, 76, 76,255, 73, 73, 73,255, 69, 69, 69,255, 65, 65, 65,255,
- 62, 62, 62,255, 58, 58, 58,255, 54, 54, 54,255, 49, 49, 49,255, 45, 45, 45,255, 40, 40, 40,255, 35, 35, 35,255, 29, 29, 29,255,
- 23, 23, 23,255, 16, 16, 16,255, 12, 12, 12,255, 12, 12, 12,204, 0, 0, 0, 0, 0, 0, 0, 0, 49, 49, 49,204, 76, 76, 76,255,
- 84, 84, 84,255, 89, 89, 89,255, 92, 92, 92,255, 94, 94, 94,255, 95, 95, 95,255, 95, 95, 95,255, 95, 95, 95,255, 94, 94, 94,255,
- 93, 93, 93,255, 91, 91, 91,255, 88, 88, 88,255, 85, 85, 85,255, 82, 82, 82,255, 79, 79, 79,255, 75, 75, 75,255, 71, 71, 71,255,
- 67, 67, 67,255, 63, 63, 63,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 45, 45, 45,255, 40, 40, 40,255, 34, 34, 34,255,
- 28, 28, 28,255, 21, 21, 21,255, 13, 13, 13,255, 14, 14, 14,255, 0, 0, 0, 0, 14, 14, 14,102, 70, 70, 70,255, 85, 85, 85,255,
- 92, 92, 92,255, 97, 97, 97,255,100,100,100,255,102,102,102,255,102,102,102,255,103,103,103,255,102,102,102,255,101,101,101,255,
- 99, 99, 99,255, 97, 97, 97,255, 94, 94, 94,255, 91, 91, 91,255, 88, 88, 88,255, 84, 84, 84,255, 81, 81, 81,255, 77, 77, 77,255,
- 72, 72, 72,255, 68, 68, 68,255, 64, 64, 64,255, 59, 59, 59,255, 55, 55, 55,255, 50, 50, 50,255, 44, 44, 44,255, 39, 39, 39,255,
- 32, 32, 32,255, 25, 25, 25,255, 17, 17, 17,255, 13, 13, 13,255, 7, 7, 7,102, 24, 24, 24,102, 80, 80, 80,255, 93, 93, 93,255,
-100,100,100,255,104,104,104,255,107,107,107,255,109,109,109,255,109,109,109,255,109,109,109,255,109,109,109,255,107,107,107,255,
-106,106,106,255,103,103,103,255,100,100,100,255, 97, 97, 97,255, 94, 94, 94,255, 90, 90, 90,255, 86, 86, 86,255, 82, 82, 82,255,
- 77, 77, 77,255, 73, 73, 73,255, 69, 69, 69,255, 64, 64, 64,255, 59, 59, 59,255, 54, 54, 54,255, 49, 49, 49,255, 43, 43, 43,255,
- 36, 36, 36,255, 29, 29, 29,255, 21, 21, 21,255, 14, 14, 14,255, 10, 10, 10,153, 29, 29, 29,102, 89, 89, 89,255,100,100,100,255,
-107,107,107,255,112,112,112,255,114,114,114,255,116,116,116,255,116,116,116,255,116,116,116,255,115,115,115,255,114,114,114,255,
-112,112,112,255,110,110,110,255,107,107,107,255,104,104,104,255,100,100,100,255, 96, 96, 96,255, 92, 92, 92,255, 87, 87, 87,255,
- 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 63, 63, 63,255, 58, 58, 58,255, 52, 52, 52,255, 46, 46, 46,255,
- 40, 40, 40,255, 33, 33, 33,255, 24, 24, 24,255, 17, 17, 17,255, 13, 13, 13,204, 46, 46, 46,153, 95, 95, 95,255,107,107,107,255,
-114,114,114,255,118,118,118,255,121,121,121,255,122,122,122,255,123,123,123,255,123,123,123,255,122,122,122,255,122,122,122,255,
-120,120,120,255,118,118,118,255,114,114,114,255,110,110,110,255,106,106,106,255,101,101,101,255, 97, 97, 97,255, 92, 92, 92,255,
- 87, 87, 87,255, 83, 83, 83,255, 78, 78, 78,255, 73, 73, 73,255, 68, 68, 68,255, 62, 62, 62,255, 56, 56, 56,255, 50, 50, 50,255,
- 44, 44, 44,255, 36, 36, 36,255, 28, 28, 28,255, 19, 19, 19,255, 12, 12, 12,204, 47, 47, 47,153,101,101,101,255,113,113,113,255,
-120,120,120,255,125,125,125,255,127,127,127,255,129,129,129,255,130,130,130,255,130,130,130,255,131,131,131,255,131,131,131,255,
-131,131,131,255,129,129,129,255,125,125,125,255,120,120,120,255,113,113,113,255,108,108,108,255,103,103,103,255, 97, 97, 97,255,
- 92, 92, 92,255, 87, 87, 87,255, 82, 82, 82,255, 77, 77, 77,255, 72, 72, 72,255, 66, 66, 66,255, 60, 60, 60,255, 54, 54, 54,255,
- 47, 47, 47,255, 39, 39, 39,255, 31, 31, 31,255, 22, 22, 22,255, 12, 12, 12,204, 48, 48, 48,153,106,106,106,255,118,118,118,255,
-126,126,126,255,131,131,131,255,134,134,134,255,135,135,135,255,137,137,137,255,138,138,138,255,142,142,142,255,147,147,147,255,
-149,149,149,255,148,148,148,255,142,142,142,255,133,133,133,255,124,124,124,255,115,115,115,255,108,108,108,255,102,102,102,255,
- 97, 97, 97,255, 92, 92, 92,255, 87, 87, 87,255, 81, 81, 81,255, 75, 75, 75,255, 69, 69, 69,255, 63, 63, 63,255, 57, 57, 57,255,
- 49, 49, 49,255, 42, 42, 42,255, 33, 33, 33,255, 24, 24, 24,255, 9, 9, 9,153, 32, 32, 32,102,109,109,109,255,123,123,123,255,
-131,131,131,255,136,136,136,255,140,140,140,255,142,142,142,255,144,144,144,255,148,148,148,255,156,156,156,255,168,168,168,255,
-176,176,176,255,177,177,177,255,168,168,168,255,153,153,153,255,137,137,137,255,124,124,124,255,114,114,114,255,107,107,107,255,
-101,101,101,255, 96, 96, 96,255, 90, 90, 90,255, 85, 85, 85,255, 79, 79, 79,255, 72, 72, 72,255, 66, 66, 66,255, 59, 59, 59,255,
- 52, 52, 52,255, 44, 44, 44,255, 35, 35, 35,255, 26, 26, 26,255, 10, 10, 10,153, 17, 17, 17, 51,110,110,110,255,127,127,127,255,
-136,136,136,255,142,142,142,255,145,145,145,255,148,148,148,255,151,151,151,255,159,159,159,255,174,174,174,255,195,195,195,255,
-212,212,212,255,216,216,216,255,204,204,204,255,179,179,179,255,154,154,154,255,135,135,135,255,121,121,121,255,112,112,112,255,
-106,106,106,255, 99, 99, 99,255, 94, 94, 94,255, 88, 88, 88,255, 82, 82, 82,255, 76, 76, 76,255, 69, 69, 69,255, 62, 62, 62,255,
- 54, 54, 54,255, 46, 46, 46,255, 37, 37, 37,255, 26, 26, 26,255, 6, 6, 6,102, 0, 0, 0, 0,107,107,107,255,130,130,130,255,
-140,140,140,255,146,146,146,255,150,150,150,255,153,153,153,255,158,158,158,255,169,169,169,255,191,191,191,255,219,219,219,255,
-246,246,246,255,254,254,254,255,237,237,237,255,204,204,204,255,170,170,170,255,145,145,145,255,127,127,127,255,117,117,117,255,
-110,110,110,255,103,103,103,255, 97, 97, 97,255, 91, 91, 91,255, 85, 85, 85,255, 78, 78, 78,255, 71, 71, 71,255, 64, 64, 64,255,
- 55, 55, 55,255, 47, 47, 47,255, 37, 37, 37,255, 25, 25, 25,255, 3, 3, 3, 51, 0, 0, 0, 0, 65, 65, 65,153,129,129,129,255,
-142,142,142,255,149,149,149,255,154,154,154,255,158,158,158,255,163,163,163,255,176,176,176,255,199,199,199,255,232,232,232,255,
-255,255,255,255,255,255,255,255,255,255,255,255,220,220,220,255,181,181,181,255,151,151,151,255,132,132,132,255,121,121,121,255,
-113,113,113,255,106,106,106,255,100,100,100,255, 94, 94, 94,255, 87, 87, 87,255, 80, 80, 80,255, 73, 73, 73,255, 65, 65, 65,255,
- 57, 57, 57,255, 48, 48, 48,255, 38, 38, 38,255, 16, 16, 16,153, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21, 51,127,127,127,255,
-143,143,143,255,152,152,152,255,157,157,157,255,161,161,161,255,165,165,165,255,177,177,177,255,198,198,198,255,227,227,227,255,
-253,253,253,255,255,255,255,255,250,250,250,255,217,217,217,255,181,181,181,255,153,153,153,255,135,135,135,255,124,124,124,255,
-117,117,117,255,110,110,110,255,103,103,103,255, 96, 96, 96,255, 89, 89, 89,255, 82, 82, 82,255, 74, 74, 74,255, 66, 66, 66,255,
- 57, 57, 57,255, 48, 48, 48,255, 35, 35, 35,255, 10, 10, 10,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 93,204,
-141,141,141,255,153,153,153,255,159,159,159,255,163,163,163,255,167,167,167,255,174,174,174,255,188,188,188,255,209,209,209,255,
-228,228,228,255,234,234,234,255,224,224,224,255,200,200,200,255,173,173,173,255,151,151,151,255,136,136,136,255,127,127,127,255,
-119,119,119,255,112,112,112,255,105,105,105,255, 98, 98, 98,255, 90, 90, 90,255, 83, 83, 83,255, 75, 75, 75,255, 66, 66, 66,255,
- 57, 57, 57,255, 46, 46, 46,255, 24, 24, 24,204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 51,
-134,134,134,255,151,151,151,255,160,160,160,255,164,164,164,255,167,167,167,255,171,171,171,255,178,178,178,255,189,189,189,255,
-200,200,200,255,202,202,202,255,195,195,195,255,180,180,180,255,163,163,163,255,148,148,148,255,137,137,137,255,129,129,129,255,
-121,121,121,255,114,114,114,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 83, 83, 83,255, 74, 74, 74,255, 65, 65, 65,255,
- 55, 55, 55,255, 41, 41, 41,255, 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 49, 49, 49,102,145,145,145,255,157,157,157,255,164,164,164,255,167,167,167,255,170,170,170,255,172,172,172,255,176,176,176,255,
-180,180,180,255,179,179,179,255,174,174,174,255,165,165,165,255,155,155,155,255,145,145,145,255,137,137,137,255,130,130,130,255,
-122,122,122,255,115,115,115,255,107,107,107,255, 99, 99, 99,255, 91, 91, 91,255, 82, 82, 82,255, 73, 73, 73,255, 63, 63, 63,255,
- 50, 50, 50,255, 22, 22, 22,153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 78, 78, 78,153,149,149,149,255,160,160,160,255,166,166,166,255,168,168,168,255,169,169,169,255,170,170,170,255,
-169,169,169,255,167,167,167,255,164,164,164,255,158,158,158,255,151,151,151,255,144,144,144,255,137,137,137,255,130,130,130,255,
-123,123,123,255,115,115,115,255,106,106,106,255, 98, 98, 98,255, 89, 89, 89,255, 80, 80, 80,255, 70, 70, 70,255, 58, 58, 58,255,
- 27, 27, 27,153, 3, 3, 3, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 80, 80, 80,153,150,150,150,255,160,160,160,255,165,165,165,255,167,167,167,255,167,167,167,255,
-166,166,166,255,163,163,163,255,160,160,160,255,155,155,155,255,149,149,149,255,143,143,143,255,137,137,137,255,129,129,129,255,
-121,121,121,255,113,113,113,255,105,105,105,255, 96, 96, 96,255, 86, 86, 86,255, 76, 76, 76,255, 63, 63, 63,255, 38, 38, 38,204,
- 7, 7, 7, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78,153,147,147,147,255,157,157,157,255,161,161,161,255,163,163,163,255,
-162,162,162,255,160,160,160,255,157,157,157,255,152,152,152,255,147,147,147,255,141,141,141,255,135,135,135,255,127,127,127,255,
-119,119,119,255,110,110,110,255,101,101,101,255, 91, 91, 91,255, 80, 80, 80,255, 66, 66, 66,255, 32, 32, 32,153, 7, 7, 7, 51,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,134,134,255,148,148,148,255,154,154,154,255,155,155,155,255,154,154,154,255,
+152,152,152,255,147,147,147,255,142,142,142,255,136,136,136,255,130,130,130,255,122,122,122,255,114,114,114,255,104,104,104,255,
+ 93, 93, 93,255, 81, 81, 81,255, 54, 54, 54,204, 22, 22, 22,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,134,134,134,255,148,148,148,255,154,154,154,255,
-155,155,155,255,154,154,154,255,152,152,152,255,147,147,147,255,142,142,142,255,136,136,136,255,130,130,130,255,122,122,122,255,
-114,114,114,255,104,104,104,255, 93, 93, 93,255, 81, 81, 81,255, 54, 54, 54,204, 22, 22, 22,102, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, 73,153,103,103,103,204,137,137,137,255,140,140,140,255,
+140,140,140,255,137,137,137,255,133,133,133,255,127,127,127,255,120,120,120,255,113,113,113,255,102,102,102,255, 91, 91, 91,255,
+ 64, 64, 64,204, 28, 28, 28,102, 6, 6, 6, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, 73,153,103,103,103,204,
-137,137,137,255,140,140,140,255,140,140,140,255,137,137,137,255,133,133,133,255,127,127,127,255,120,120,120,255,113,113,113,255,
-102,102,102,255, 91, 91, 91,255, 64, 64, 64,204, 28, 28, 28,102, 6, 6, 6, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 46, 46,102,
+ 72, 72, 72,153, 72, 72, 72,153, 92, 92, 92,204, 88, 88, 88,204, 81, 81, 81,204, 54, 54, 54,153, 35, 35, 35,102, 16, 16, 16, 51,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0,144, 0, 0, 32, 45,228, 2, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 46, 46, 46,102, 72, 72, 72,153, 72, 72, 72,153, 92, 92, 92,204, 88, 88, 88,204, 81, 81, 81,204, 54, 54, 54,153,
- 35, 35, 35,102, 16, 16, 16, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0,144, 0, 0, 56, 70, 54, 4,
- 1, 0, 0, 0, 0, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5937,22 +5803,19 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 69, 0, 0,112, 1, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 84, 69, 0, 0, 48, 1, 0, 0, 8, 97,223, 2, 31, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 84, 69, 84,101,120, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0, 0, 64, 0, 0, 0, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0, 3, 0, 2, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 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, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,246, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,246, 46, 21,
- 1, 0, 0, 0, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0, 0, 0, 1, 0,
- 16, 0, 15, 0, 56,216, 54, 4, 1, 0, 0, 0, 56,234, 54, 4, 1, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0, 56,216, 54, 4,
- 1, 0, 0, 0, 0, 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,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 62, 0, 0,160, 64, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 64, 0, 0, 0, 64,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 32, 64, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 0, 0, 1, 0, 1, 0, 3, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204,204, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 30,204, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,112, 30,204, 2, 11, 0, 0, 0, 1, 0, 0, 0, 32, 0, 0, 0, 96, 0, 0, 0,
+ 32, 0, 0, 0, 96, 0, 0, 0, 0, 0, 1, 0, 16, 0, 15, 0, 80,189,228, 2,128,205,228, 2, 68, 65, 84, 65, 0, 16, 0, 0,
+ 80,189,228, 2, 0, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6080,9 +5943,7 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0,144, 0, 0, 56,234, 54, 4, 1, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 0,144, 0, 0,128,205,228, 2, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7233,86 +7094,79 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 77, 69, 0, 0,152, 1, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 46, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 69, 67,117,
- 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,248, 46, 21, 1, 0, 0, 0,152,255, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,250, 46, 21, 1, 0, 0, 0, 24,253, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,248, 46, 21, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,251, 46, 21, 1, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,253, 46, 21, 1, 0, 0, 0, 1, 0, 0, 0,
- 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
+ 77, 69, 0, 0, 24, 1, 0, 0,144, 30,221, 2, 46, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 77, 69, 67,117, 98,101, 0,112,104,101,114,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0,176, 93,229, 2, 40,210,215, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,112, 95,229, 2, 64,238,214, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,232, 93,229, 2, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 64, 96,229, 2, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200, 97,229, 2, 1, 0, 0, 0, 5, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,
12, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 51, 0, 0, 0,180, 0, 0, 0, 0, 4, 0,128, 63,
4, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 67, 0, 30, 0, 6, 0, 1, 0, 1, 0,
- 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 8, 0, 0, 0,136,248, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,216,248, 46, 21,
- 1, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,250, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,176, 93,229, 2, 0, 0, 0, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 68, 65, 84, 65, 84, 1, 0, 0,232, 93,229, 2, 85, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 95,229, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,136,250, 46, 21,
- 1, 0, 0, 0, 52, 0, 0, 0, 8, 0, 0, 0, 0, 0,128, 63,255,255,127, 63, 0, 0,128,191,230, 73,230, 73, 26,182, 1, 0,
- 0, 0,128, 63, 0, 0,128,191, 0, 0,128,191,230, 73, 26,182, 26,182, 1, 0, 1, 0,128,191,253,255,127,191, 0, 0,128,191,
- 26,182, 26,182, 26,182, 1, 0,250,255,127,191, 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73, 26,182, 1, 0, 4, 0,128, 63,
-247,255,127, 63, 0, 0,128, 63,230, 73,230, 73,230, 73, 1, 0,245,255,127, 63, 5, 0,128,191, 0, 0,128, 63,230, 73, 26,182,
-230, 73, 1, 0, 3, 0,128,191,250,255,127,191, 0, 0,128, 63, 26,182, 26,182,230, 73, 1, 0,255,255,127,191, 0, 0,128, 63,
- 0, 0,128, 63, 26,182,230, 73,230, 73, 1, 0, 68, 65, 84, 65,104, 1, 0, 0,104,251, 46, 21, 1, 0, 0, 0, 84, 1, 0, 0,
- 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24,253, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,112, 95,229, 2, 52, 0, 0, 0, 8, 0, 0, 0,
+ 0, 0,128, 63,255,255,127, 63, 0, 0,128,191,230, 73,230, 73, 26,182, 1, 0, 0, 0,128, 63, 0, 0,128,191, 0, 0,128,191,
+230, 73, 26,182, 26,182, 1, 0, 1, 0,128,191,253,255,127,191, 0, 0,128,191, 26,182, 26,182, 26,182, 1, 0,250,255,127,191,
+ 3, 0,128, 63, 0, 0,128,191, 26,182,230, 73, 26,182, 1, 0, 4, 0,128, 63,247,255,127, 63, 0, 0,128, 63,230, 73,230, 73,
+230, 73, 1, 0,245,255,127, 63, 5, 0,128,191, 0, 0,128, 63,230, 73, 26,182,230, 73, 1, 0, 3, 0,128,191,250,255,127,191,
+ 0, 0,128, 63, 26,182, 26,182,230, 73, 1, 0,255,255,127,191, 0, 0,128, 63, 0, 0,128, 63, 26,182,230, 73,230, 73, 1, 0,
+ 68, 65, 84, 65, 84, 1, 0, 0, 64, 96,229, 2, 85, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,238,214, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0, 24,253, 46, 21, 1, 0, 0, 0, 49, 0, 0, 0,
- 12, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
- 4, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0,
- 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 35, 0, 4, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0,
- 6, 0, 0, 0, 0, 0, 35, 0, 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65,104, 1, 0, 0,232,253, 46, 21,
- 1, 0, 0, 0, 84, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,255, 46, 21, 1, 0, 0, 0, 6, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67,111,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, 1, 75,138,139,255,255,255,255, 6, 0, 0, 0,
- 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, 67,111,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, 1, 75,138,139,
-255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0, 64,238,214, 2, 49, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 35, 0,
+ 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 35, 0, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 35, 0, 2, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 35, 0, 2, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0,
+ 5, 0, 0, 0, 0, 0, 35, 0, 4, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 35, 0,
+ 6, 0, 0, 0, 7, 0, 0, 0, 0, 0, 35, 0, 68, 65, 84, 65, 84, 1, 0, 0,200, 97,229, 2, 85, 1, 0, 0, 5, 0, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,120, 0, 0, 0,152,255, 46, 21,
- 1, 0, 0, 0, 48, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2,
- 4, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0,
- 6, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0,
- 0, 0, 0, 2, 66, 82, 0, 0,248, 2, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,232, 6, 47, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 65,100,
-100, 0,104, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,248, 4, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 40,210,215, 2, 6, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 67,111,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,241,113, 73, 96, 6, 0, 0, 0, 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, 67,111,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,241,113, 73, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,120, 0, 0, 0, 40,210,215, 2,
+ 48, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0,
+ 7, 0, 0, 0, 6, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 2, 1, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 6, 0, 0, 0,
+ 7, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 2,
+ 66, 82, 0, 0,204, 2, 0, 0, 80, 99,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,102,229, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 82, 65,100,100, 0,104, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 32, 33,221, 2,
+ 1, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7320,11 +7174,11 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,192, 0, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
+ 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 16, 1, 0, 0,156, 99,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
@@ -7333,24 +7187,21 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,248, 4, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61,120, 6, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 32, 33,221, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61,
+ 14,215,126,191, 46,189,194, 61,120,235,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,120, 6, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 24, 12, 47, 21,
- 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,
-111, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 40, 10, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,120,235,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0, 80,102,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 80, 99,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,111, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 0,104, 34,221, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
@@ -7366,85 +7217,55 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 80, 7, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 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, 35, 0, 0, 0,
+ 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
+ 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,156,102,229, 2, 24, 0, 0, 0, 1, 0, 0, 0,
+ 1, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 40, 10, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,168, 11, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,104, 34,221, 2, 80, 1, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
+ 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,216,235,220, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,168, 11, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 72, 17, 47, 21,
- 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,216,235,220, 2,
+ 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,
+ 80,105,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,108,229, 2, 80,102,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,
117,114, 0, 46, 48, 48, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88, 15, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,176, 35,221, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,128, 12, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 15, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61,216, 16, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,216, 16, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,120, 22, 47, 21,
- 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,114,
-117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,136, 20, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
+205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,
+156,105,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
@@ -7452,55 +7273,73 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
+ 16, 1, 0, 0,176, 35,221, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,
+ 56,236,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 56,236,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0, 80,108,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,143,229, 2, 80,105,229, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,114,117,115,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,
+104,111,229, 2, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 30, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
- 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,176, 17, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
+ 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62,
+ 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,156,108,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,136, 20, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,104,111,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186, 8, 22, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 95,255,186,224,255,127,191,114, 97,255,186,152,236,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,152,236,220, 2, 78, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0, 80,143,229, 2, 84, 1, 0, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 80,108,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108, 97,121, 0, 48, 48, 49, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,176,112,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 8, 22, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,168, 27, 47, 21,
- 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108,
- 97,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,184, 25, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7508,45 +7347,43 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 4, 4, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,224, 22, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 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,
+ 35, 0, 0, 0, 4, 4, 4, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62,
+ 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,156,143,229, 2, 24, 0, 0, 0,
+ 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,184, 25, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186, 56, 27, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,176,112,229, 2,
+ 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,248,236,220, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 56, 27, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,216, 32, 47, 21,
- 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,108,
-111,110,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,232, 30, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+248,236,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
+ 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
+204, 2, 0, 0, 80,146,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,149,229, 2, 80,143,229, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 67,108,111,110,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,248,113,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7554,59 +7391,77 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
+ 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 1, 0, 0,156,146,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 16, 28, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232, 30, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61,104, 32, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 16, 1, 0, 0,248,113,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191,
+ 46,189,194, 61, 88,237,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 88,237,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0, 80,149,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 80,146,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,114,101, 97,115,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 0, 64,115,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,104, 32, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 8, 38, 47, 21,
- 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 67,114,
-101, 97,115,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24, 36, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 6, 4, 0,
+ 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62,
+ 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,156,149,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 64,115,229, 2, 80, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+228, 97,175,190, 50,131,112, 63,218,243,127,191, 10,183,157,188,184,237,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 64, 33, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,184,237,220, 2, 78, 1, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 64, 63,
+ 10,215, 35, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0, 80,152,229, 2,
+ 84, 1, 0, 0, 1, 0, 0, 0, 80,155,229, 2, 80,149,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68, 97,114,107,101,110,
+ 0, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,136,116,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
@@ -7615,33 +7470,7 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 24, 36, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,228, 97,175,190,
- 50,131,112, 63,218,243,127,191, 10,183,157,188,152, 37, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,152, 37, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215, 35, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 56, 43, 47, 21,
- 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68, 97,
-114,107,101,110, 0, 48, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 72, 41, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7652,43 +7481,39 @@ char datatoc_startup_blend[]= {
0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,112, 38, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,156,152,229, 2,
+ 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 72, 41, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61,200, 42, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,
+136,116,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
+ 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 24,238,220, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,200, 42, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,104, 48, 47, 21,
- 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 0, 13,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 68,114,
- 97,119, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,120, 46, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 48, 0, 0, 0, 24,238,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+ 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0,204, 2, 0, 0, 80,155,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,158,229, 2, 80,152,229, 2, 0, 20, 1,160,
+ 0, 0, 0, 0, 66, 82, 68,114, 97,119, 0, 46, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,208,117,229, 2,
+ 1, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7696,11 +7521,11 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 30, 0, 35, 0, 0, 0, 0, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,160, 43, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 35, 0, 0, 0, 0, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0,
+ 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63,
+ 68, 65, 84, 65, 16, 1, 0, 0,156,155,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
@@ -7709,24 +7534,21 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,120, 46, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,248, 47, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,208,117,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,
+224,255,127,191,114, 97,255,186,120,238,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,248, 47, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,152, 53, 47, 21,
- 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105,
-108,108, 47, 68,101,101,112,101,110, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168, 51, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,120,238,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0, 80,158,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 80,155,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,105,108,108, 47, 68,101,101,112,101,110, 0, 48, 48,
+ 49, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 0, 24,119,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
@@ -7742,85 +7564,55 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,208, 48, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 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, 35, 0, 0, 0,
+ 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62,
+ 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,156,158,229, 2, 24, 0, 0, 0, 1, 0, 0, 0,
+ 1, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168, 51, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186, 40, 53, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 24,119,229, 2, 80, 1, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
+ 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,216,238,220, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 40, 53, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,200, 58, 47, 21,
- 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,108,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,216,238,220, 2,
+ 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,
+ 80,161,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,164,229, 2, 80,158,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,108,
97,116,116,101,110, 47, 67,111,110,116,114, 97,115,116, 0, 48, 48, 49, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,216, 56, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 96,120,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 0, 54, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216, 56, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186, 88, 58, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 88, 58, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,248, 63, 47, 21,
- 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 71,114,
- 97, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 8, 62, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
+205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,
+156,161,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
@@ -7828,8 +7620,30 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
+ 16, 1, 0, 0, 96,120,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,
+ 56,239,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 56,239,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0, 80,164,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,167,229, 2, 80,161,229, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 71,114, 97, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,
+168,121,229, 2, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7837,46 +7651,42 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62,
- 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 48, 59, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
+ 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,156,164,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 8, 62, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,168,121,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,136, 63, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 95,255,186,224,255,127,191,114, 97,255,186,152,239,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,152,239,220, 2, 78, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0, 80,167,229, 2, 84, 1, 0, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 80,164,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 73,110,102,108, 97,116,101, 47, 68,101,
+102,108, 97,116,101, 0, 48, 48, 49, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,240,122,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,136, 63, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 40, 69, 47, 21,
- 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 73,110,
-102,108, 97,116,101, 47, 68,101,102,108, 97,116,101, 0, 48, 48, 49, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 56, 67, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7884,46 +7694,43 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63,
- 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 24, 1, 0, 0, 96, 64, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 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,
+ 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63, 0, 0, 64, 63,
+ 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 16, 1, 0, 0,156,167,229, 2, 24, 0, 0, 0,
+ 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 56, 67, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,184, 68, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,240,122,229, 2,
+ 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,248,239,220, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,184, 68, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 88, 74, 47, 21,
- 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76, 97,
-121,101,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104, 72, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+248,239,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
+ 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
+204, 2, 0, 0, 80,170,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,173,229, 2, 80,167,229, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 76, 97,121,101,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 56,124,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7931,58 +7738,77 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 20,174,199, 62, 20,174,199, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,144, 69, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
+ 0, 0, 0, 62, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 1, 0, 0,156,170,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,104, 72, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,232, 73, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 16, 1, 0, 0, 56,124,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
+114, 97,255,186, 88,240,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 88,240,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0, 80,173,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 80,170,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76,105,103,104,116,101,110, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 0,128,125,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,232, 73, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,136, 79, 47, 21,
- 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 76,105,
-103,104,116,101,110, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,152, 77, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0,
+ 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,156,173,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,128,125,229, 2, 80, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+ 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,184,240,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,192, 74, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,184,240,220, 2, 78, 1, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63,
+ 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0, 80,176,229, 2,
+ 84, 1, 0, 0, 1, 0, 0, 0, 80,179,229, 2, 80,173,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105,120, 0,104, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,200,126,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
@@ -7991,33 +7817,7 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,152, 77, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 24, 79, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 24, 79, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,184, 84, 47, 21,
- 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,105,
-120, 0,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,200, 82, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8028,43 +7828,39 @@ char datatoc_startup_blend[]= {
0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,240, 79, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,156,176,229, 2,
+ 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,200, 82, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 72, 84, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,
+200,126,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
+ 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 24,241,220, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 72, 84, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,232, 89, 47, 21,
- 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 77,117,
-108,116,105,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,248, 87, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 48, 0, 0, 0, 24,241,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+ 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0,204, 2, 0, 0, 80,179,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,104,182,229, 2, 80,176,229, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 82, 77,117,108,116,105,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 16,128,229, 2,
+ 1, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8072,11 +7868,11 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 32, 85, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
+ 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 16, 1, 0, 0,156,179,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
@@ -8085,24 +7881,21 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,248, 87, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61,120, 89, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 16,128,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61,
+ 14,215,126,191, 46,189,194, 61,120,241,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,120, 89, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 24, 95, 47, 21,
- 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117,
-100,103,101, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 40, 93, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,120,241,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,104,182,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,
+112,185,229, 2, 80,179,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 78,117,100,103,101, 0, 48, 48, 49, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 0, 88,129,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
@@ -8118,85 +7911,55 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62,
- 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 80, 90, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 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, 35, 0, 0, 0,
+ 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,180,182,229, 2, 24, 0, 0, 0, 1, 0, 0, 0,
+ 1, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 40, 93, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,168, 94, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 88,129,229, 2, 80, 1, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
+ 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,216,241,220, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,168, 94, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 72,100, 47, 21,
- 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,105,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,216,241,220, 2,
+ 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,
+112,185,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,120,188,229, 2,104,182,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,105,
110, 99,104, 47, 77, 97,103,110,105,102,121, 0, 48, 48, 49, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 88, 98, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,160,130,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 6, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63,
- 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 24, 1, 0, 0,128, 95, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 88, 98, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,216, 99, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,216, 99, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,120,105, 47, 21,
- 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 0, 1,174,232,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,111,
-108,105,115,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,136,103, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 6, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
+205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 64, 63, 0, 0,128, 62, 0, 0,128, 62, 0, 0,128, 62, 68, 65, 84, 65, 16, 1, 0, 0,
+188,185,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
@@ -8204,54 +7967,73 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
+ 16, 1, 0, 0,160,130,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,
+ 56,242,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 56,242,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,120,188,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,128,191,229, 2,112,185,229, 2,
+253, 21,192, 32, 0, 0, 0, 0, 66, 82, 80,111,108,105,115,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,
+232,131,229, 2, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 4, 4, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,176,100, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 1, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
+ 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63,
+ 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,196,188,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,136,103, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,232,131,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186, 8,105, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 95,255,186,224,255,127,191,114, 97,255,186,152,242,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,152,242,220, 2, 78, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,128,191,229, 2, 84, 1, 0, 0,
+ 1, 0, 0, 0,136,194,229, 2,120,188,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,114, 97,112,101, 47, 80,101, 97,
+107,115, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 48,133,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 8,105, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,168,110, 47, 21,
- 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,
-114, 97,112,101, 47, 80,101, 97,107,115, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,184,108, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8259,47 +8041,43 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0,224,105, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 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,
+ 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63,
+ 20,174,199, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,204,191,229, 2, 24, 0, 0, 0,
+ 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,184,108, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186, 56,110, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 48,133,229, 2,
+ 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,248,242,220, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 56,110, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,216,115, 47, 21,
- 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 0, 1,184,102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83, 99,
-117,108,112,116, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,232,113, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+248,242,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
+ 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
+204, 2, 0, 0,136,194,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,144,197,229, 2,128,191,229, 2, 12,215, 0, 32, 0, 0, 0, 0,
+ 66, 82, 83, 99,117,108,112,116, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,120,134,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8307,58 +8085,77 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,160,119, 78, 63, 0, 0,128, 63,
- 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 16,111, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
+160,119, 78, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65,
+ 16, 1, 0, 0,212,194,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,232,113, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,104,115, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 16, 1, 0, 0,120,134,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
+114, 97,255,186, 88,243,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0, 88,243,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,144,197,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,152,200,229, 2,
+136,194,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,101, 97,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 0,192,135,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,104,115, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 8,121, 47, 21,
- 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,
-101, 97,114, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 24,119, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 0,
+ 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,
+205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,220,197,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,192,135,229, 2, 80, 1, 0, 0, 1, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,
+ 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,184,243,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 64,116, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,184,243,220, 2, 78, 1, 0, 0,
+ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63,
+ 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,152,200,229, 2,
+ 84, 1, 0, 0, 1, 0, 0, 0,160,203,229, 2,144,197,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,111,111,116,104,
+ 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 8,137,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
@@ -8367,33 +8164,7 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 24,119, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61,152,120, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,152,120, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 56,126, 47, 21,
- 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,109,
-111,111,116,104, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 72,124, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8404,43 +8175,39 @@ char datatoc_startup_blend[]= {
0, 0, 2, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0, 64, 63,
- 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,112,121, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 64, 63, 0, 0, 64, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,228,200,229, 2,
+ 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0,
+ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 72,124, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,200,125, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,
+ 8,137,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0,
+ 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186, 24,244,220, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,200,125, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,104,131, 47, 21,
- 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,110,
- 97,107,101, 32, 72,111,111,107, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,120,129, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 48, 0, 0, 0, 24,244,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,
+215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 0, 0,204, 2, 0, 0,160,203,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,168,206,229, 2,152,200,229, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 82, 83,110, 97,107,101, 32, 72,111,111,107, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 80,138,229, 2,
+ 1, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8448,11 +8215,11 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62,
- 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,160,126, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0,
+ 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0,
+ 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 16, 1, 0, 0,236,203,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
@@ -8461,24 +8228,21 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,120,129, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,248,130, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 80,138,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,
+224,255,127,191,114, 97,255,186,120,244,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,248,130, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,152,136, 47, 21,
- 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111,
-102,116,101,110, 0, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,168,134, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,120,244,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,168,206,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,
+176,209,229, 2,160,203,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,111,102,116,101,110, 0, 48, 49, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 0,152,139,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
@@ -8494,85 +8258,55 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,208,131, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 35, 0, 0, 0,
+ 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63,
+ 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,244,206,229, 2, 24, 0, 0, 0, 1, 0, 0, 0,
+ 1, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,168,134, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 40,136, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,152,139,229, 2, 80, 1, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
+ 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,216,244,220, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 40,136, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,200,141, 47, 21,
- 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,117,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,216,244,220, 2,
+ 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0,
+ 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,
+176,209,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,184,212,229, 2,168,206,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,117,
98,116,114, 97, 99,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,216,139, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,224,140,229, 2, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 0,137, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,216,139, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191,
- 54,189,194, 61, 14,215,126,191, 46,189,194, 61, 88,141, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0, 88,141, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,248,146, 47, 21,
- 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,101,
-120, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 8,145, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 12, 0, 35, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,
+205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,
+252,209,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
@@ -8580,54 +8314,73 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65,
+ 16, 1, 0, 0,224,140,229, 2, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63, 14,215,126,191, 54,189,194, 61, 14,215,126,191, 46,189,194, 61,
+ 56,245,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 48, 0, 0, 0, 56,245,220, 2, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 62, 31,133,107, 63, 0, 0, 0, 0, 0, 0, 64, 63, 10,215,163, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,184,212,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,192,215,229, 2,176,209,229, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,101,120, 68,114, 97,119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,
+128, 0,220, 3, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 8, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62, 0, 0,128, 63, 68, 65, 84, 65, 24, 1, 0, 0, 48,142, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 35, 0, 0, 0, 4, 4, 0, 8, 0, 0, 0, 0,
+ 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 51, 51, 51, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62,
+ 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 20,174,199, 62, 20,174,199, 62,
+ 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 4,213,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 8,145, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,128, 0,220, 3, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,136,146, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 95,255,186,224,255,127,191,114, 97,255,186,152,245,220, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,152,245,220, 2, 78, 1, 0, 0, 4, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,204, 2, 0, 0,192,215,229, 2, 84, 1, 0, 0,
+ 1, 0, 0, 0,200,218,229, 2,184,212,229, 2, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,104,117,109, 98, 0, 48, 48, 49, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,200, 1,220, 3, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,136,146, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 40,152, 47, 21,
- 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,104,
-117,109, 98, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 56,150, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8635,46 +8388,43 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 75, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62,
- 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0, 96,147, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 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,
+ 75, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63,
+ 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0, 12,216,229, 2, 24, 0, 0, 0,
+ 1, 0, 0, 0, 1, 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, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 56,150, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,184,151, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,200, 1,220, 3,
+ 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67,
+ 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,114, 97,255,186,128, 32,220, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,184,151, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 66, 82, 0, 0,248, 2, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 84,119,
-105,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0,104,155, 47, 21,
- 1, 0, 0, 0, 1, 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, 0, 0,
- 0, 0, 0, 0, 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, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,
+128, 32,220, 3, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63,
+ 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 0, 0,
+204, 2, 0, 0,200,218,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,192,215,229, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 66, 82, 84,119,105,115,116, 0, 48, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 16, 3,220, 3, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8682,35 +8432,32 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 75, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,
+102,102,102, 63,205,204,204, 61, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0,
+ 0, 0, 0, 62, 0, 0,128, 62, 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 16, 1, 0, 0, 20,219,229, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 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, 75, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0,102,102,102, 63,205,204,204, 61,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63,205,204,204, 62, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 62, 0, 0,128, 62,
- 0, 0,128, 63, 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,144,152, 47, 21,
- 1, 0, 0, 0, 24, 0, 0, 0, 1, 0, 0, 0, 1, 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, 0, 0, 0, 0, 0, 0, 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, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+128, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,205,204, 76, 62, 0, 0, 0, 0,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,104,155, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191,
- 46, 95,255,186,224,255,127,191,114, 97,255,186,232,156, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
+ 68, 65, 84, 65, 16, 1, 0, 0, 16, 3,220, 3, 80, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
+ 0, 0,128, 63, 4, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 63,224,255,127,191, 46, 95,255,186,224,255,127,191,
+114, 97,255,186,224, 32,220, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0,128, 63,
- 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 48, 0, 0, 0,232,156, 47, 21, 1, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0,
- 0, 0, 0, 0, 85, 83, 69, 82,112, 13, 0, 0,224,228,168, 2, 1, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 33, 8, 17, 1,
- 63, 6, 0, 0, 5, 0, 0, 0, 47,116,109,112, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 48, 0, 0, 0,224, 32,220, 3, 78, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0,128, 62,215,163,112, 63, 0, 0, 0, 0, 0, 0, 64, 63,143,194,117, 61, 0, 0, 0, 0, 0, 0,128, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 85, 83, 69, 82,144, 13, 0, 0,224,124, 22, 1,192, 0, 0, 0, 1, 0, 0, 0, 1, 8, 17, 1,
+ 63, 6, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8725,9 +8472,9 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8745,9 +8492,9 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8765,22 +8512,22 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 35, 0, 0, 0, 2, 0, 94, 1, 8, 0, 0, 0, 3, 0, 0, 0, 56, 52, 39, 0,
- 0, 0, 0, 0, 0, 0, 2, 0, 0, 8, 0, 0, 2, 0, 0, 0, 68,172, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0,128, 0, 0, 0,
- 72, 0, 0, 0, 0, 0, 64, 0, 5, 0, 2, 0, 56,138, 55, 4, 1, 0, 0, 0, 56,138, 55, 4, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 3, 47, 21, 1, 0, 0, 0,184,160, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
- 1, 0, 2, 0, 25, 0, 1, 0, 20, 0, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,205,204, 76, 63,205,204, 76, 63,
- 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 30, 90,100,191,154,153,153, 62,102,102,102, 63,
- 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 31,250,254, 62, 9, 0, 0, 63,156,153, 25, 63, 0, 0, 0, 0,205,204, 76, 62,
-205,204, 76, 62,205,204, 76, 62, 0, 0,128, 63, 44,135, 22, 63, 32,133,235, 62,184,243,125, 62, 0, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0,195, 73, 76, 63, 42,135, 86, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 43,135, 61, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0,128, 63, 16, 47, 93, 62, 58,180,200,190, 24, 47, 93,190, 0, 0, 0, 0, 14, 0, 0, 0, 25, 0, 15, 0,120, 0, 60, 0,
- 3, 0, 5, 0,128, 0, 0, 0, 0, 0, 0, 0,144, 31, 15, 0, 6, 0, 25, 0, 8, 0, 10, 0,200, 0, 0, 0,100, 0,100, 0,
- 0, 0, 0, 0, 2, 0, 1, 0, 10, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 35, 0, 0, 0,
+ 2, 0, 94, 1, 8, 0, 0, 0, 3, 0, 0, 0, 56, 52, 39, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 8, 0, 0, 2, 0, 0, 0,
+ 68,172, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 72, 0, 0, 0, 0, 0, 64, 0, 5, 0, 2, 0, 40, 62,220, 3,
+ 40, 62,220, 3,112, 25,221, 2,112, 25,221, 2,168, 92,220, 3,168, 92,220, 3, 0, 0, 0, 0, 0, 0, 0, 0, 32, 19,216, 2,
+224, 22,216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 0, 0, 20, 0, 20, 0, 1, 0, 0, 0, 0, 0, 0, 0,205,204, 76, 63,
+205,204, 76, 63,205,204, 76, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 30, 90,100,191,
+154,153,153, 62,102,102,102, 63, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 31,250,254, 62, 9, 0, 0, 63,156,153, 25, 63,
+ 0, 0, 0, 0,205,204, 76, 62,205,204, 76, 62,205,204, 76, 62, 0, 0,128, 63, 44,135, 22, 63, 32,133,235, 62,184,243,125, 62,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,195, 73, 76, 63, 42,135, 86, 63, 0, 0,128, 63, 0, 0, 0, 0, 1, 43,135, 61,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 16, 47, 93, 62, 58,180,200,190, 24, 47, 93,190, 0, 0, 0, 0, 14, 0, 1, 0,
+ 25, 0, 15, 0,120, 0, 60, 0, 3, 0, 5, 0,128, 0, 0, 0, 0, 0, 0, 0,144, 31, 15, 0, 6, 0, 25, 0, 8, 0, 10, 0,
+200, 0, 0, 0,100, 0,100, 0, 0, 0, 0, 0, 2, 0, 1, 0, 10, 0, 50, 0, 20, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8789,7 +8536,8 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 2, 0, 2, 0, 8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 2, 0, 2, 0, 8, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63,
0, 0,128, 63, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0, 0, 63, 0, 0,128, 63, 0, 0, 0, 63,
@@ -8817,637 +8565,642 @@ char datatoc_startup_blend[]= {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 30, 0, 0, 56,138, 55, 4, 1, 0, 0, 0,189, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255,
- 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255,
- 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,153,153,153,255,
- 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 86,128,194,255,
-255,255,255,255,255,255,255,255, 0, 0, 0,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,
-255,255,255,255, 0, 0, 0,255,255,255,255,255, 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255,
- 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255,
- 90, 90, 90,255, 0, 0, 0,255,255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255,
-128,128,128,255, 0, 0, 0,255,255,255,255,255, 1, 0,236,255, 0, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,
-255,255,255,255,255,255,255,255,204,204,204,255, 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 63, 63, 63,255, 86,128,194,255,
-255,255,255,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,
-100,100,100,255,160,160,160,255,255,255,255,255, 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255,
-255,255,255,255,255,255,255,255, 0, 0, 0,255, 1, 0, 38, 0, 0, 0, 0, 0, 25, 25, 25,255,128,128,128,255,100,100,100,255,
- 25, 25, 25,255, 0, 0, 0,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, 80, 80, 80,180,100,100,100,180,
-128,128,128,255, 0, 0, 0,255,255,255,255,255, 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255,190,190,190,255,100,100,100,180,
- 68, 68, 68,255, 0, 0, 0,255,255,255,255,255, 0, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255,
- 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255,
-215,211, 75,255,180, 0,255,255,153, 0,230,255, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,130,130,130,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0,
- 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
- 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
- 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
- 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
-219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
- 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40,255,170, 64,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
- 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,32, 255,255,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,
-255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255, 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
- 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
-240,144,160,255,255,255,255,255, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
- 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 76, 76,255, 0, 0, 0, 0,250,250,250,255,
- 15, 15, 15,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,145,145,145,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,160,160,160,100,127,112,112,100,255,140, 25,255,250,250,250,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
-130,130,130,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
-219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
- 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 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, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255,250,250,250,255,250,250,250,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,
-112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,
-135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
- 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
-144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
- 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0,
- 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
- 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
- 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
- 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
-219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
- 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
- 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
-255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
- 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
-240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
- 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,
-255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
-255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
-219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,
-255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
- 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,
-112,112,112,100, 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,
-135,177,125,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
- 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,
-144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
- 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,116,116,116,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0,
- 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
- 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
- 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
- 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
-219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
- 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 81,105,135,255,109, 88,129,255, 78,152, 62,255, 46,143,143,255,169, 84,124,255,126,126, 80,255,162, 95,111,255,
-109,145,131,255,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
- 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,255,255,255, 10,255,133, 0, 60,
-255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
- 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
-240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
- 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,110,110,110,255, 0, 0, 0, 0, 0, 0, 0,255,
-255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,132,132,132,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255, 94, 94, 94,255,172,172,172,255, 17, 27, 60,100, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
-195,195,195,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,
-219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
- 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 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, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,153,153,153,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,143,143,143,255,
-198,119,119,255,255, 0, 0,255, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255,
- 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
- 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
-144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
- 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0,100, 0, 0,255, 0, 0,200,255,
-128, 0, 80,255, 95, 95, 0,255, 0,100, 50,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0,
- 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
- 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
- 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
- 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
-219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
- 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
- 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
-255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
- 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
-240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
- 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,
-255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,
-255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,255,255,255,
-219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0,
- 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0,
- 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255,
- 0, 0, 0, 0, 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, 4, 0,
-155,155,155,160,100,100,100,255,111,106,100,255,104,106,117,255,105,117,110,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,
-127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255,
- 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255,
- 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,
-144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255,
- 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,
-255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0,
- 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255,
- 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,
- 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255,
- 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,
-219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255,
- 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,
- 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127,
- 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,
-241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255,
- 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,
-255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255,
- 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,
-240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255,
- 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0, 0, 96,128,255,255,255,255,255,255, 0,170, 0,255,220, 96, 96,255,
-220, 96, 96,255, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0,255,189, 17, 17,255,247, 10, 10,255,
- 0, 0, 0, 0,247, 64, 24,255,246,105, 19,255,250,153, 0,255, 0, 0, 0, 0, 30,145, 9,255, 89,183, 11,255,131,239, 29,255,
- 0, 0, 0, 0, 10, 54,148,255, 54,103,223,255, 94,193,239,255, 0, 0, 0, 0,169, 41, 78,255,193, 65,106,255,240, 93,145,255,
- 0, 0, 0, 0, 67, 12,120,255, 84, 58,163,255,135,100,213,255, 0, 0, 0, 0, 36,120, 90,255, 60,149,121,255,111,182,171,255,
- 0, 0, 0, 0, 75,112,124,255,106,134,145,255,155,194,205,255, 0, 0, 0, 0,244,201, 12,255,238,194, 54,255,243,255, 0,255,
- 0, 0, 0, 0, 30, 32, 36,255, 72, 76, 86,255,255,255,255,255, 0, 0, 0, 0,111, 47,106,255,152, 69,190,255,211, 48,214,255,
- 0, 0, 0, 0,108,142, 34,255,127,176, 34,255,187,239, 91,255, 0, 0, 0, 0,141,141,141,255,176,176,176,255,222,222,222,255,
- 0, 0, 0, 0,131, 67, 38,255,139, 88, 17,255,189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255, 28, 67, 11,255, 52, 98, 43,255,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 80, 0, 0, 0,152, 3, 47, 21, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 40, 4, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95, 51,100,115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 40, 4, 47, 21, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 88,157, 47, 21,
- 1, 0, 0, 0,152, 3, 47, 21, 1, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,102, 98,120, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 88,157, 47, 21, 1, 0, 0, 0,190, 0, 0, 0,
- 1, 0, 0, 0,232,157, 47, 21, 1, 0, 0, 0, 40, 4, 47, 21, 1, 0, 0, 0,105,111, 95, 97,110,105,109, 95, 98,118,104, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,232,157, 47, 21,
- 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0,120,158, 47, 21, 1, 0, 0, 0, 88,157, 47, 21, 1, 0, 0, 0,105,111, 95,109,
-101,115,104, 95,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 80, 0, 0, 0,120,158, 47, 21, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 8,159, 47, 21, 1, 0, 0, 0,232,157, 47, 21,
- 1, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,111, 98,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 8,159, 47, 21, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0,152,159, 47, 21,
- 1, 0, 0, 0,120,158, 47, 21, 1, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95,120, 51,100, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0,152,159, 47, 21, 1, 0, 0, 0,190, 0, 0, 0,
- 1, 0, 0, 0, 40,160, 47, 21, 1, 0, 0, 0, 8,159, 47, 21, 1, 0, 0, 0,105,111, 95,109,101,115,104, 95,115,116,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, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 0, 0, 0, 40,160, 47, 21,
- 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0,184,160, 47, 21, 1, 0, 0, 0,152,159, 47, 21, 1, 0, 0, 0,105,111, 95,109,
-101,115,104, 95,117,118, 95,108, 97,121,111,117,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 80, 30, 0, 0, 40, 62,220, 3,189, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255,
+ 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,255,255,255,255,
+ 1, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 86,128,194,255,255,255,255,255,255,255,255,255, 0, 0, 0,255,
+ 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255, 0, 0, 0,255,255,255,255,255,
+ 1, 0, 15, 0,241,255, 0, 0, 25, 25, 25,255,153,153,153,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255, 90, 90, 90,255, 0, 0, 0,255,255,255,255,255,
+ 1, 0,236,255, 0, 0, 0, 0, 25, 25, 25,255,180,180,180,255,153,153,153,255,128,128,128,255, 0, 0, 0,255,255,255,255,255,
+ 1, 0,236,255, 0, 0, 0, 0, 0, 0, 0,255, 70, 70, 70,255, 70, 70, 70,255,255,255,255,255,255,255,255,255,204,204,204,255,
+ 1, 0, 15, 0,241,255, 0, 0, 0, 0, 0,255, 63, 63, 63,255, 86,128,194,255,255,255,255,255, 0, 0, 0,255, 0, 0, 0,255,
+ 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 25, 25, 25,230, 45, 45, 45,230,100,100,100,255,160,160,160,255,255,255,255,255,
+ 0, 0, 25, 0,236,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255,255,255,255,255,255,255,255,255, 0, 0, 0,255,
+ 1, 0, 38, 0, 0, 0, 0, 0, 25, 25, 25,255,128,128,128,255,100,100,100,255, 25, 25, 25,255, 0, 0, 0,255,255,255,255,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50,180, 80, 80, 80,180,100,100,100,180,128,128,128,255, 0, 0, 0,255,255,255,255,255,
+ 1, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255,190,190,190,255,100,100,100,180, 68, 68, 68,255, 0, 0, 0,255,255,255,255,255,
+ 0, 0, 5, 0,251,255, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 86,128,194,255, 0, 0, 0,255, 0, 0, 0,255, 0, 0, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0,115,190, 76,255, 90,166, 51,255,240,235,100,255,215,211, 75,255,180, 0,255,255,153, 0,230,255,
+ 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,130,130,130,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255,
+ 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,
+255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,
+ 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,
+240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,170, 64,255,
+ 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
+ 32,255,255,255, 75, 75, 75,255,204, 0,153,255, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 32, 0, 0,255, 0, 32, 0,255,
+ 0, 0,128,255, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,255,255,255,255, 0, 0, 0,255,
+144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0,
+ 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, 1, 4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 76, 76, 76,255, 0, 0, 0, 0,250,250,250,255, 15, 15, 15,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,145,145,145,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,
+255,140, 25,255,250,250,250,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,130,130,130,255, 8, 48, 8,255, 85,187, 85,255,
+255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,
+ 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,
+128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,
+128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,250,250,250,255,250,250,250,255,250,250,250,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255,
+ 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,
+255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,
+255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,
+200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,
+240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,
+240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,128, 0, 0, 0,255,255,133, 0,255, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255,
+ 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,
+255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,
+ 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,
+240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255,
+ 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
+255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
+144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0,
+ 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, 4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100,
+ 96,192, 64,255, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,135,177,125,255,
+255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,
+ 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,144,144, 0,255,
+128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,
+128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+107,107,107,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,102,102,102,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+255,255,255,150, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,150,150,150,100,112,112,112,100, 96,192, 64,255, 94, 94, 94,255,
+ 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 79,101, 73,255,135,177,125,255,255,255,255,255, 0, 0, 0,255,
+255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,
+255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,
+200,200,200,255, 80,200,255, 80, 12, 10, 10,128,255,140, 0,255, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,
+240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,
+240,255, 64,255, 64,192, 48,255,240,144,160,255, 82, 96,110,255,124,137,150,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,128, 0, 0, 0,255,255,133, 0,255, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116,116,116,255, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255,
+ 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,
+255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,
+ 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,
+240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81,105,135,255,109, 88,129,255,
+ 78,152, 62,255, 46,143,143,255,169, 84,124,255,126,126, 80,255,162, 95,111,255,109,145,131,255,255,255,255,128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 53, 53,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255,
+ 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
+255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0,255,255,255, 10,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
+144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0,
+ 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, 3, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,114,114,114,255,110,110,110,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,132,132,132,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255, 94, 94, 94,255,172,172,172,255,
+ 17, 27, 60,100, 94, 94, 94,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,195,195,195,255, 8, 48, 8,255, 85,187, 85,255,
+255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,
+ 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,
+128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,
+128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+153,153,153,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,143,143,143,255,198,119,119,255,255, 0, 0,255, 64, 64, 64,255,
+ 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,
+255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,
+255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,
+200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,
+240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,
+240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0,100, 0, 0,255, 0, 0,200,255,128, 0, 80,255, 95, 95, 0,255, 0,100, 50,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255,
+ 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,
+255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,
+ 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,
+240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+173,173,173,255,127,112,112,100, 0, 0, 0, 0, 91, 91, 91,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255,
+ 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
+255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
+144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0,
+ 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, 4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 57, 57, 57,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100,
+ 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,
+255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,255,255,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255,
+ 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,
+128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,
+128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0,155,155,155,160,100,104,111,255,111,106,100,255,
+104,106,117,255,105,117,110,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+100,100,100,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255,
+ 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,
+255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,
+255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,
+200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,
+240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,
+240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,114,114,114,255, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255,
+ 0, 0, 0,255,255,255,255,255,160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255,
+ 0, 0, 0, 40,255,140, 25,255, 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,
+255,160, 0,255,219, 37, 18,255,255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80,
+ 0, 0, 0, 0, 0, 0, 0, 0, 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255,
+ 0, 0, 0, 0, 0, 0, 0,255,144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,
+240,144,160,255, 0, 0, 0, 0, 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, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,255,255,255,255,255,
+114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,114,114,114,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+165,165,165,255, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,165,165,165,127, 0, 0, 0,255, 0, 0, 0,255,255,255,255,255,
+160,160,160,100,127,112,112,100, 0, 0, 0, 0, 64, 64, 64,255, 0, 0, 0,255,241, 88, 0,255, 0, 0, 0, 40,255,140, 25,255,
+ 8, 48, 8,255, 85,187, 85,255,255,255,255,255, 0, 0, 0,255,255,133, 0,255, 0, 0, 0,255,255,160, 0,255,219, 37, 18,255,
+255, 32, 32,255, 75, 75, 75,255, 0, 0, 0, 0, 0, 0, 0, 18,255,133, 0, 60,255,133, 0,255, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 34,221,221,255, 35, 97,221,255,200,200,200,255, 80,200,255, 80, 0, 0, 0, 0, 0, 0, 0, 0,
+ 96,192, 64,255,144,144, 0,255,128, 48, 96,255,219, 37, 18,255,240,255, 64,255,240,144,160,255, 0, 0, 0, 0, 0, 0, 0,255,
+144,144, 0,255, 64,144, 48,255,128, 48, 96,255, 0, 0, 0,255,240,255, 64,255, 64,192, 48,255,240,144,160,255, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,128,255,255,255,255,255,255, 0,170, 0,255,220, 96, 96,255,220, 96, 96,255, 3, 0, 4, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,154, 0, 0,255,189, 17, 17,255,247, 10, 10,255, 0, 0, 0, 0,247, 64, 24,255,246,105, 19,255,
+250,153, 0,255, 0, 0, 0, 0, 30,145, 9,255, 89,183, 11,255,131,239, 29,255, 0, 0, 0, 0, 10, 54,148,255, 54,103,223,255,
+ 94,193,239,255, 0, 0, 0, 0,169, 41, 78,255,193, 65,106,255,240, 93,145,255, 0, 0, 0, 0, 67, 12,120,255, 84, 58,163,255,
+135,100,213,255, 0, 0, 0, 0, 36,120, 90,255, 60,149,121,255,111,182,171,255, 0, 0, 0, 0, 75,112,124,255,106,134,145,255,
+155,194,205,255, 0, 0, 0, 0,244,201, 12,255,238,194, 54,255,243,255, 0,255, 0, 0, 0, 0, 30, 32, 36,255, 72, 76, 86,255,
+255,255,255,255, 0, 0, 0, 0,111, 47,106,255,152, 69,190,255,211, 48,214,255, 0, 0, 0, 0,108,142, 34,255,127,176, 34,255,
+187,239, 91,255, 0, 0, 0, 0,141,141,141,255,176,176,176,255,222,222,222,255, 0, 0, 0, 0,131, 67, 38,255,139, 88, 17,255,
+189,106, 17,255, 0, 0, 0, 0, 8, 49, 14,255, 28, 67, 11,255, 52, 98, 43,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 68, 65, 84, 65, 72, 0, 0, 0, 32, 19,216, 2,190, 0, 0, 0,
+ 1, 0, 0, 0,152, 19,216, 2, 0, 0, 0, 0,105,111, 95,115, 99,101,110,101, 95, 51,100,115, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,152, 19,216, 2,190, 0, 0, 0, 1, 0, 0, 0,
+ 16, 20,216, 2, 32, 19,216, 2,105,111, 95,115, 99,101,110,101, 95,102, 98,120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0, 16, 20,216, 2,190, 0, 0, 0, 1, 0, 0, 0,136, 20,216, 2,
+152, 19,216, 2,105,111, 95, 97,110,105,109, 95, 98,118,104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,136, 20,216, 2,190, 0, 0, 0, 1, 0, 0, 0, 0, 21,216, 2, 16, 20,216, 2,
+105,111, 95,109,101,115,104, 95,112,108,121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 72, 0, 0, 0, 0, 21,216, 2,190, 0, 0, 0, 1, 0, 0, 0,120, 21,216, 2,136, 20,216, 2,105,111, 95,115,
+ 99,101,110,101, 95,111, 98,106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
- 80, 0, 0, 0,184,160, 47, 21, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,160, 47, 21,
- 1, 0, 0, 0,105,111, 95, 99,117,114,118,101, 95,115,118,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, 68, 78, 65, 49,140,230, 0, 0, 56,188, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65,
- 78, 65, 77, 69, 11, 12, 0, 0, 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,105,114,115,116,
- 0, 42,108, 97,115,116, 0,120, 0,121, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42,
-112,111,105,110,116,101,114, 0,103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116,
-121,112,101, 0,102,108, 97,103, 0,110, 97,109,101, 91, 51, 50, 93, 0,115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110,
- 0,116,111,116, 97,108,108,101,110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,109,101, 91, 50, 52, 93, 0,117,
-115, 0,105, 99,111,110, 95,105,100, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,
-107, 0, 42,102,105,108,101,100, 97,116, 97, 0,110, 97,109,101, 91, 50, 52, 48, 93, 0,102,105,108,101,112, 97,116,104, 91, 50,
- 52, 48, 93, 0,116,111,116, 0,112, 97,100, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104,
- 97,110,103,101,100, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114,
-101, 99,116, 91, 50, 93, 0, 42,111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,
-101, 91, 49, 50, 56, 93, 0, 42, 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118,
- 97,114,116,121,112,101, 0,116,111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,
-109, 97,115,107, 0,115,108,105,100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0,
- 42,100,114,105,118,101,114, 0, 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,
-111, 0,112,111,115, 0,114,101,108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,112, 97,100, 50, 0, 42,119,101,105,
-103,104,116,115, 0,118,103,114,111,117,112, 91, 51, 50, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,
-109, 97,120, 0, 42, 97,100,116, 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,
-109,115,105,122,101, 0, 98,108,111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,
-117,114,112,104, 0, 42,108,105,110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,115,
-116, 97,114,116, 0,101,110,100, 0,112, 97,100, 49, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100,
- 91, 52, 93, 0, 42,110, 97,109,101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,
-108,108, 0, 99,117,114, 99, 0,115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,
-110,100,111, 95,112,111,115, 0,117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101,
- 0,115,105,122,101, 0,115,101,101,107, 0,100,116,120, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,108,
-105,112,115,116, 97, 0, 99,108,105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,
-114, 97,119,115,105,122,101, 0,115,104,105,102,116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116,
- 0, 42,100,111,102, 95,111, 98, 0, 42,115, 99,101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,
-102,102,115,101,116, 0,115,102,114, 97, 0,102,105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105,
- 95,105,110,100,101,120, 0,108, 97,121,101,114, 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,
-117,114,101, 0, 42, 97,110,105,109, 0, 42,114,114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,101,110,100,101,114,
- 95,115,108,111,116, 0,108, 97,115,116, 95,114,101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, 99,101, 0,108, 97,
-115,116,102,114, 97,109,101, 0,116,112, 97,103,101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,
-114,101,112, 0,116,119,115,116, 97, 0,116,119,101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,
-100, 0, 42,112, 97, 99,107,101,100,102,105,108,101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,117,112,100, 97,116,
-101, 0,108, 97,115,116,117,115,101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121,
- 0,103,101,110, 95,116,121,112,101, 0, 97,115,112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,111, 0,
-109, 97,112,116,111,110,101,103, 0, 98,108,101,110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120, 0,
-117,118,110, 97,109,101, 91, 51, 50, 93, 0,112,114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109, 97,112,
-112,105,110,103, 0,111,102,115, 91, 51, 93, 0,115,105,122,101, 91, 51, 93, 0,114,111,116, 0,116,101,120,102,108, 97,103, 0,
- 99,111,108,111,114,109,111,100,101,108, 0,112,109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,114,109,
- 97,112,115,112, 97, 99,101, 0,119,104,105, 99,104, 95,111,117,116,112,117,116, 0, 98,114,117,115,104, 95,109, 97,112, 95,109,
-111,100,101, 0,112, 97,100, 91, 55, 93, 0,114, 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,114, 0, 99,111,108,102, 97,
- 99, 0,118, 97,114,102, 97, 99, 0,110,111,114,102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, 97,114,112,102, 97, 99, 0,
- 99,111,108,115,112,101, 99,102, 97, 99, 0,109,105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, 97, 99, 0,100,105,102,102,
-102, 97, 99, 0,115,112,101, 99,102, 97, 99, 0,101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, 97, 99, 0,114, 97,121,109,
-105,114,114,102, 97, 99, 0,116,114, 97,110,115,108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,111,108,101,109,105,116,102,
- 97, 99, 0, 99,111,108,114,101,102,108,102, 97, 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, 0,100,101,110,115,102, 97,
- 99, 0,115, 99, 97,116,116,101,114,102, 97, 99, 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,102, 97, 99, 0,108,101,110,
-103,116,104,102, 97, 99, 0, 99,108,117,109,112,102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,105,110,107,102, 97, 99, 0,
-114,111,117,103,104,102, 97, 99, 0,112, 97,100,101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,121,102, 97, 99, 0,108,105,
-102,101,102, 97, 99, 0,115,105,122,101,102, 97, 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,108,100,102, 97, 99, 0,115,
-104, 97,100,111,119,102, 97, 99, 0,122,101,110,117,112,102, 97, 99, 0,122,101,110,100,111,119,110,102, 97, 99, 0, 98,108,101,
-110,100,102, 97, 99, 0,110, 97,109,101, 91, 49, 54, 48, 93, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0, 42,
-115,116,110, 97,109,101,115, 0,115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,115,
-117,108,116, 0, 42, 99,102,114, 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,105,
-110,115,116, 97,110, 99,101, 95,105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,101,
-114,115,105,111,110, 0, 97, 0,105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105,109,
- 97,116, 91, 52, 93, 91, 52, 93, 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101,119,
-115, 99, 97,108,101, 0,110,111,116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97,108,
- 99, 0,108, 97,115,116,115,105,122,101, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102, 95,
-115,111,102,116,110,101,115,115, 0,114, 97,100,105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111,116,
-112,111,105,110,116,115, 0,112,100,112, 97,100, 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112, 97,
- 99,101, 0,111, 98, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42,112,
-111,105,110,116, 95,100, 97,116, 97, 0,110,111,105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116,104,
- 0,110,111,105,115,101, 95,105,110,102,108,117,101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100,112,
- 97,100, 51, 91, 51, 93, 0,110,111,105,115,101, 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0,102, 97,108,
-108,111,102,102, 95,115,112,101,101,100, 95,115, 99, 97,108,101, 0,112,100,112, 97,100, 50, 0, 42, 99,111, 98, 97, 0, 42,102,
- 97,108,108,111,102,102, 95, 99,117,114,118,101, 0,114,101,115,111,108, 91, 51, 93, 0,105,110,116,101,114,112, 95,116,121,112,
-101, 0,102,105,108,101, 95,102,111,114,109, 97,116, 0,101,120,116,101,110,100, 0,115,109,111,107,101,100, 95,116,121,112,101,
- 0,105,110,116, 95,109,117,108,116,105,112,108,105,101,114, 0,115,116,105,108,108, 95,102,114, 97,109,101, 0,115,111,117,114,
- 99,101, 95,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42,100, 97,116, 97,115,101,116, 0, 99, 97, 99,104,101,100,102,114, 97,109,
-101, 0,110,111,105,115,101,115,105,122,101, 0,116,117,114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114, 97,
-115,116, 0,115, 97,116,117,114, 97,116,105,111,110, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,108,
-116,101,114,115,105,122,101, 0,109,103, 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111, 99,
-116, 97,118,101,115, 0,109,103, 95,111,102,102,115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,111,
-117,110,116, 0,110,115, 95,111,117,116,115, 99, 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,119,
- 51, 0,118,110, 95,119, 52, 0,118,110, 95,109,101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,116,
-121,112,101, 0,110,111,105,115,101,100,101,112,116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98, 97,
-115,105,115, 0,110,111,105,115,101, 98, 97,115,105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,110,
- 0, 99,114,111,112,121,109,105,110, 0, 99,114,111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,102,
-105,108,116,101,114, 0, 97,102,109, 97,120, 0,120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101, 99,
-107,101,114,100,105,115,116, 0,110, 97, 98,108, 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,112,
-108,117,103,105,110, 0, 42,101,110,118, 0, 42,112,100, 0, 42,118,100, 0,117,115,101, 95,110,111,100,101,115, 0,108,111, 99,
- 91, 51, 93, 0,114,111,116, 91, 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120, 91,
- 51, 93, 0,109,111,100,101, 0,116,111,116,101,120, 0,115,104,100,119,114, 0,115,104,100,119,103, 0,115,104,100,119, 98, 0,
-115,104,100,119,112, 97,100, 0,101,110,101,114,103,121, 0,100,105,115,116, 0,115,112,111,116,115,105,122,101, 0,115,112,111,
-116, 98,108,101,110,100, 0,104, 97,105,110,116, 0, 97,116,116, 49, 0, 97,116,116, 50, 0, 42, 99,117,114,102, 97,108,108,111,
-102,102, 0,115,104, 97,100,115,112,111,116,115,105,122,101, 0, 98,105, 97,115, 0,115,111,102,116, 0, 99,111,109,112,114,101,
-115,115,116,104,114,101,115,104, 0,112, 97,100, 53, 91, 51, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,117,
-102,102,101,114,115, 0,102,105,108,116,101,114,116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,101,
- 0,114, 97,121, 95,115, 97,109,112, 0,114, 97,121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114, 97,
-121, 95,115, 97,109,112, 95,116,121,112,101, 0, 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,101,
- 0, 97,114,101, 97, 95,115,105,122,101,121, 0, 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,114,
-101,115,104, 0,114, 97,121, 95,115, 97,109,112, 95,109,101,116,104,111,100, 0,116,101,120, 97, 99,116, 0,115,104, 97,100,104,
- 97,108,111,115,116,101,112, 0,115,117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,121, 98,108,101,110,100,
-116,121,112,101, 0,104,111,114,105,122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,114,101, 97,100, 0,115,
-117,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,115, 99, 97,116,116,
-101,114,101,100, 95,108,105,103,104,116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,116,109, 95,116,117,114,
- 98,105,100,105,116,121, 0, 97,116,109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,116,111,114, 0, 97,
-116,109, 95,101,120,116,105,110, 99,116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,115,116, 97,110, 99,
-101, 95,102, 97, 99,116,111,114, 0,115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,112,111,115,117,114,
-101, 0,115,107,121, 95, 99,111,108,111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 91, 54, 93, 0, 42,109,116,101,120, 91, 49,
- 56, 93, 0,112,114, 95,116,101,120,116,117,114,101, 0,112, 97,100, 54, 91, 54, 93, 0,100,101,110,115,105,116,121, 0,101,109,
-105,115,115,105,111,110, 0,115, 99, 97,116,116,101,114,105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,105,
-115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,116,114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93,
- 0,114,101,102,108,101, 99,116,105,111,110, 95, 99,111,108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,101,
- 0,100,101,112,116,104, 95, 99,117,116,111,102,102, 0, 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,101,
- 95,116,121,112,101, 0,115,104, 97,100,101,102,108, 97,103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99, 97,
- 99,104,101, 95,114,101,115,111,108,117,116,105,111,110, 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102, 0,
-109,115, 95,105,110,116,101,110,115,105,116,121, 0,109,115, 95,115,112,114,101, 97,100, 0,109, 97,116,101,114,105, 97,108, 95,
-116,121,112,101, 0,115,112,101, 99,114, 0,115,112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,103,
- 0,109,105,114, 98, 0, 97,109, 98,114, 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,110,
-103, 0,115,112,101, 99,116,114, 97, 0,114, 97,121, 95,109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,115,
-112,101, 99, 0,122,111,102,102,115, 0, 97,100,100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,102,
-114,101,115,110,101,108, 95,109,105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,108,
- 95,116,114, 97, 0,102,114,101,115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,109,
-105,116, 0,116,120, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,116,
-104, 95,116,114, 97, 0,104, 97,114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114, 0,
-103,108,111,115,115, 95,116,114, 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,108,
-111,115,115, 95,116,114, 97, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,116,
-104,114,101,115,104, 95,116,114, 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,109,
-105,114, 0,102, 97,100,101,116,111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108, 0,
-102,108, 97,114,101, 99, 0,115,116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101, 0,
-102,108, 97,114,101,115,105,122,101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,114,
- 97,110,100, 95,115,116, 97, 0,115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,115,
-116,114, 97,110,100, 95,115,117,114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100, 95,
-119,105,100,116,104,102, 97,100,101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 51, 50, 93, 0,115, 98,105, 97,
-115, 0,108, 98,105, 97,115, 0,115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,108,
- 0,112,114, 95,116,121,112,101, 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,103,
- 0,100,105,102,102, 95,115,104, 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,101,
-115,115, 0,114,101,102,114, 97, 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115, 0,
- 42,114, 97,109,112, 95, 99,111,108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108, 0,
-114, 97,109,112,105,110, 95,115,112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,108,
-101,110,100, 95,115,112,101, 99, 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99, 95,
- 99,111,108, 0,114, 97,109,112,102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,110,
- 0,102,104, 0,114,101,102,108,101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,109,
-111,100,101, 0,115,115,115, 95,114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,115,
- 95,101,114,114,111,114, 0,115,115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,108,
-102, 97, 99, 0,115,115,115, 95,116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97, 99,
-107, 0,115,115,115, 95,102,108, 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,116,
-117,114,101,100, 0,115,104, 97,100,111,119,111,110,108,121, 95,102,108, 97,103, 0,103,112,117,109, 97,116,101,114,105, 97,108,
- 0,110, 97,109,101, 91, 50, 53, 54, 93, 0, 42, 98, 98, 0,105, 49, 0,106, 49, 0,107, 49, 0,105, 50, 0,106, 50, 0,107, 50,
- 0,115,101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,122, 0,113,117, 97,116, 91, 52, 93, 0,101,120,112,120, 0,
-101,120,112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116, 0, 42,105,109, 97,116, 0,
-101,108,101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109, 97,116, 0,102,108, 97,103,
- 50, 0,116,111,116, 99,111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,105,122,101, 0,116,104,114,
-101,115,104, 0, 42,108, 97,115,116,101,108,101,109, 0,118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,108,102, 97, 0,119,101,105,
-103,104,116, 0,104, 49, 0,104, 50, 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,101, 99, 91, 52, 93, 0,109,
- 97,116, 95,110,114, 0,112,110,116,115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,114,101,115,111,108,118, 0,
-111,114,100,101,114,117, 0,111,114,100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118, 0, 42,107,110,111,116,115,
-117, 0, 42,107,110,111,116,115,118, 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,105,117,115, 95,105,110,116,
-101,114,112, 0, 99,104, 97,114,105,100,120, 0,107,101,114,110, 0,119, 0,104, 0,110,117,114, 98,115, 0, 42,107,101,121,105,
-110,100,101,120, 0,115,104, 97,112,101,110,114, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,114, 98, 0, 42, 98,101,118,
-111, 98,106, 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,101, 0, 42,112, 97,116,104,
- 0, 42,107,101,121, 0, 98,101,118, 0,100,114, 97,119,102,108, 97,103, 0,116,119,105,115,116, 95,109,111,100,101, 0,116,119,
-105,115,116, 95,115,109,111,111,116,104, 0,115,109, 97,108,108, 99, 97,112,115, 95,115, 99, 97,108,101, 0,112, 97,116,104,108,
-101,110, 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,116, 49, 0,101,120,116, 50, 0,114,101,115,111,
-108,117, 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,116,110,117, 0, 42,108, 97,115,116,115,101,108,
- 0,115,112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103, 0,108,105,110,101,100,105,115,116, 0,115,104,101, 97,
-114, 0,102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,117,108,112,111,115, 0,117,108,104,101,105,103,104,116,
- 0,120,111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104, 0, 42,115,116,114, 0, 42,115,101,108, 98,111,120,101,
-115, 0, 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121, 91, 50, 52, 93, 0, 42,118,102,111,110,116, 0, 42,118,
-102,111,110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,110,116, 98,105, 0,115,101,112, 99,104, 97,114, 0, 99,
-116,105,109,101, 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120, 0, 42,116, 98, 0,115,101,108,115,116, 97,114,116, 0,
-115,101,108,101,110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,114,105,110,102,111, 0, 42,109,102, 97, 99,101, 0, 42,
-109,116,102, 97, 99,101, 0, 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,103,101, 0, 42,100,118,101,
-114,116, 0, 42,109, 99,111,108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,101,115,104, 0, 42,109,115,
-101,108,101, 99,116, 0, 42,101,100,105,116, 95,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100, 97,116, 97, 0,102,100, 97,
-116, 97, 0,116,111,116,101,100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,101, 99,116, 0, 97, 99,116,
- 95,102, 97, 99,101, 0,115,109,111,111,116,104,114,101,115,104, 0,115,117, 98,100,105,118, 0,115,117, 98,100,105,118,114, 0,
-115,117, 98,115,117,114,102,116,121,112,101, 0,101,100,105,116,102,108, 97,103, 0, 42,109,114, 0, 42,112,118, 0, 42,116,112,
- 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108, 91, 52, 93, 0,116,114, 97,110,115,112, 0,116,105,108,101, 0,
-117,110,119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,118, 52, 0,101,100, 99,111,100,101, 0, 99,114,101, 97,115,101,
- 0, 98,119,101,105,103,104,116, 0,100,101,102, 95,110,114, 0, 42,100,119, 0,116,111,116,119,101,105,103,104,116, 0, 99,111,
- 91, 51, 93, 0,110,111, 91, 51, 93, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,105,110,100,101,120, 0,102, 0,105, 0,
-115, 91, 50, 53, 54, 93, 0,116,111,116,100,105,115,112, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0,118, 91, 52, 93, 0,109,
-105,100, 0,112, 97,100, 91, 50, 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,102, 97, 99,101,115, 0,
- 42,101,100,103,101,115, 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,108, 95, 99,111,117,110,116,
- 0, 99,117,114,114,101,110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,110,108,118,108, 0,114,
-101,110,100,101,114,108,118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,103,115, 0, 42,101,100,
-103,101, 95, 99,114,101, 97,115,101,115, 0, 42,118,101,114,116, 95,109, 97,112, 0, 42,101,100,103,101, 95,109, 97,112, 0, 42,
-111,108,100, 95,102, 97, 99,101,115, 0, 42,111,108,100, 95,101,100,103,101,115, 0,115,116, 97, 99,107,105,110,100,101,120, 0,
- 42,101,114,114,111,114, 0,109,111,100,105,102,105,101,114, 0, 42,116,101,120,116,117,114,101, 0, 42,109, 97,112, 95,111, 98,
-106,101, 99,116, 0,117,118,108, 97,121,101,114, 95,110, 97,109,101, 91, 51, 50, 93, 0,117,118,108, 97,121,101,114, 95,116,109,
-112, 0,116,101,120,109, 97,112,112,105,110,103, 0,115,117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,101,
-118,101,108,115, 0, 42,101,109, 67, 97, 99,104,101, 0, 42,109, 67, 97, 99,104,101, 0,100,101,102, 97,120,105,115, 0,112, 97,
-100, 91, 54, 93, 0,108,101,110,103,116,104, 0,114, 97,110,100,111,109,105,122,101, 0,115,101,101,100, 0, 42,111, 98, 95, 97,
-114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,112, 0, 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117,114,118,101, 95,111, 98,
- 0, 42,111,102,102,115,101,116, 95,111, 98, 0,111,102,102,115,101,116, 91, 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, 0,109,
-101,114,103,101, 95,100,105,115,116, 0,102,105,116, 95,116,121,112,101, 0,111,102,102,115,101,116, 95,116,121,112,101, 0, 99,
-111,117,110,116, 0, 97,120,105,115, 0,116,111,108,101,114, 97,110, 99,101, 0, 42,109,105,114,114,111,114, 95,111, 98, 0,115,
-112,108,105,116, 95, 97,110,103,108,101, 0,118, 97,108,117,101, 0,114,101,115, 0,118, 97,108, 95,102,108, 97,103,115, 0,108,
-105,109, 95,102,108, 97,103,115, 0,101, 95,102,108, 97,103,115, 0, 98,101,118,101,108, 95, 97,110,103,108,101, 0,100,101,102,
-103,114,112, 95,110, 97,109,101, 91, 51, 50, 93, 0, 42,100,111,109, 97,105,110, 0, 42,102,108,111,119, 0, 42, 99,111,108,108,
- 0,116,105,109,101, 0,112, 97,100, 49, 48, 0,115,116,114,101,110,103,116,104, 0,100,105,114,101, 99,116,105,111,110, 0,109,
-105,100,108,101,118,101,108, 0, 42,112,114,111,106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,110,
-117,109, 95,112,114,111,106,101, 99,116,111,114,115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115, 99,
- 97,108,101,120, 0,115, 99, 97,108,101,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102, 97,
- 99, 0,114,101,112,101, 97,116, 0, 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,116,
- 97,114,116,121, 0,104,101,105,103,104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102, 97,
-108,108,111,102,102, 0,116,105,109,101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,108,
- 97,103, 0,109,117,108,116,105, 0, 42,112,114,101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,
-112, 97,114,101,110,116,105,110,118, 91, 52, 93, 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,114,
- 0,116,111,116,105,110,100,101,120, 0,102,111,114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,105,
-109, 95,112, 97,114,109,115, 0, 42, 99,111,108,108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101,
- 0,112,116, 99, 97, 99,104,101,115, 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,110,
-116, 95,120,110,101,119, 0, 42, 99,117,114,114,101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,102,
- 97, 99,101,115, 0,110,117,109,118,101,114,116,115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,105,
-109,101, 95,120,110,101,119, 0, 42, 98,118,104,116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,101,
-114, 97,116,105,111,110, 0,118,101,114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,115,
-105,122,101, 0, 42, 98,105,110,100,105,110,102,108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,115,
- 0, 42, 98,105,110,100, 99, 97,103,101, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,114,
-105,100, 0, 42,100,121,110,105,110,102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,100,
- 50, 0,100,121,110,103,114,105,100,115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110, 99,
-101,108,108,119,105,100,116,104, 0, 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,103,
-104,116,115, 0, 42, 98,105,110,100, 99,111,115, 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,115,
- 0,116,111,116,100,109,118,101,114,116, 0,116,111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,112,
-111,115,105,116,105,111,110, 0,114, 97,110,100,111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97, 0,
-118,103,114,111,117,112, 0,112,114,111,116,101, 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,116,
-108,118,108, 0,115,105,109,112,108,101, 0, 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,103,
-101,116, 0,118,103,114,111,117,112, 95,110, 97,109,101, 91, 51, 50, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,105,
-110,107, 84,121,112,101, 0,115,104,114,105,110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,117,
-114,102, 76,101,118,101,108,115, 0, 42,111,114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50, 93,
- 0,111,114,105,103,105,110, 79,112,116,115, 0,111,102,102,115,101,116, 95,102, 97, 99, 0, 99,114,101, 97,115,101, 95,105,110,
-110,101,114, 0, 99,114,101, 97,115,101, 95,111,117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109, 0,109, 97,116, 95,
-111,102,115, 0,109, 97,116, 95,111,102,115, 95,114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116,101,112,115, 0,114,
-101,110,100,101,114, 95,115,116,101,112,115, 0,105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0, 97,110,103,108,101,
- 0, 42,111, 98,106,101, 99,116, 95,102,114,111,109, 0, 42,111, 98,106,101, 99,116, 95,116,111, 0,102, 97,108,108,111,102,102,
- 95,114, 97,100,105,117,115, 0, 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,115,
-118, 0,111,112,110,116,115,119, 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,118,
- 0,102,119, 0,100,117, 0,100,118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,108,
- 97,116,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93, 0,
- 42,115, 99,117,108,112,116, 0,112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0,112,
- 97,114,115,117, 98,115,116,114, 91, 51, 50, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111,120,
-121, 95,103,114,111,117,112, 0, 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111,115,
-101,108,105, 98, 0, 42,112,111,115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115,116,
-114, 97,105,110,116, 67,104, 97,110,110,101,108,115, 0,101,102,102,101, 99,116, 0,100,101,102, 98, 97,115,101, 0,109,111,100,
-105,102,105,101,114,115, 0,114,101,115,116,111,114,101, 95,109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99,116,
- 99,111,108, 0,100,108,111, 99, 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,114,111,
-116, 91, 51, 93, 0,100,113,117, 97,116, 91, 52, 93, 0,114,111,116, 65,120,105,115, 91, 51, 93, 0,100,114,111,116, 65,120,105,
-115, 91, 51, 93, 0,114,111,116, 65,110,103,108,101, 0,100,114,111,116, 65,110,103,108,101, 0,111, 98,109, 97,116, 91, 52, 93,
- 91, 52, 93, 0, 99,111,110,115,116,105,110,118, 91, 52, 93, 91, 52, 93, 0,105,109, 97,116, 95,114,101,110, 91, 52, 93, 91, 52,
- 93, 0,108, 97,121, 0, 99,111,108, 98,105,116,115, 0,116,114, 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,102,
-108, 97,103, 0,116,114, 97, 99,107,102,108, 97,103, 0,117,112,102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,111,
-102,108, 97,103, 0,105,112,111,119,105,110, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97,118,105,115,102,108, 97,103, 0, 98,
-111,117,110,100,116,121,112,101, 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116, 97, 0,100,117,112,
-101,110,100, 0,115,102, 0,109, 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97, 0,102,111,114,109,
-102, 97, 99,116,111,114, 0,114,100, 97,109,112,105,110,103, 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118,101,108, 0,109,
-105,110, 95,118,101,108, 0,109, 95, 99,111,110,116, 97, 99,116, 80,114,111, 99,101,115,115,105,110,103, 84,104,114,101,115,104,
-111,108,100, 0,114,111,116,109,111,100,101, 0,100,116, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,112, 97,
-100, 49, 91, 51, 93, 0,101,109,112,116,121, 95,100,114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97, 0,
-112,114,111,112, 0,115,101,110,115,111,114,115, 0, 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116,111,
-114,115, 0, 98, 98,115,105,122,101, 91, 51, 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97,109,
-101,102,108, 97,103, 50, 0, 42, 98,115,111,102,116, 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111,112,
-105, 99, 70,114,105, 99,116,105,111,110, 91, 51, 93, 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116,114,
-105,112,115, 0,104,111,111,107,115, 0,112, 97,114,116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0, 42,
-100,117,112, 95,103,114,111,117,112, 0,102,108,117,105,100,115,105,109, 70,108, 97,103, 0,114,101,115,116,114,105, 99,116,102,
-108, 97,103, 0,115,104, 97,112,101,102,108, 97,103, 0,114,101, 99, 97,108, 99,111, 0, 98,111,100,121, 95,116,121,112,101, 0,
- 42,102,108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,109,
- 0, 42,100,101,114,105,118,101,100, 70,105,110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0,115,116, 97,116,
-101, 0,105,110,105,116, 95,115,116, 97,116,101, 0,103,112,117,108, 97,109,112, 0,112, 99, 95,105,100,115, 0, 42,100,117,112,
-108,105,108,105,115,116, 0,105,109, 97, 95,111,102,115, 91, 50, 93, 0,112, 97,100, 51, 91, 56, 93, 0, 99,117,114,105,110,100,
-101,120, 0, 97, 99,116,105,118,101, 0,111,114,105,103,108, 97,121, 0,110,111, 95,100,114, 97,119, 0, 97,110,105,109, 97,116,
-101,100, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,114, 99,111, 91, 51, 93, 0,100,101,102,108,101, 99,116, 0,102,111,
-114, 99,101,102,105,101,108,100, 0,115,104, 97,112,101, 0,116,101,120, 95,109,111,100,101, 0,107,105,110,107, 0,107,105,110,
-107, 95, 97,120,105,115, 0,122,100,105,114, 0,102, 95,115,116,114,101,110,103,116,104, 0,102, 95,100, 97,109,112, 0,102, 95,
-102,108,111,119, 0,102, 95,115,105,122,101, 0,102, 95,112,111,119,101,114, 0,109, 97,120,100,105,115,116, 0,109,105,110,100,
-105,115,116, 0,102, 95,112,111,119,101,114, 95,114, 0,109, 97,120,114, 97,100, 0,109,105,110,114, 97,100, 0,112,100,101,102,
- 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,112, 0,112,100,101,102, 95,112,101,114,109, 0,112,100,101,102, 95,
-102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105, 99,116, 0,112,100,101,102, 95,115,116,105, 99,107,110,101,115,115,
- 0, 97, 98,115,111,114,112,116,105,111,110, 0,112,100,101,102, 95,115, 98,100, 97,109,112, 0,112,100,101,102, 95,115, 98,105,
-102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,108,117,109,112, 95,102, 97, 99, 0, 99,108,117,109,112, 95,112,111,
-119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,107, 95,115,104, 97,112,101, 0,107,105,110,107, 95, 97,109,112, 0,
-102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97, 98,108, 97, 0, 42,114,110,103, 0,102, 95,110,111,105,115,101, 0,
-119,101,105,103,104,116, 91, 49, 51, 93, 0,103,108,111, 98, 97,108, 95,103,114, 97,118,105,116,121, 0,114,116, 91, 51, 93, 0,
-116,111,116,100, 97,116, 97, 0,102,114, 97,109,101, 0,116,111,116,112,111,105,110,116, 0,100, 97,116, 97, 95,116,121,112,101,
-115, 0, 42,100, 97,116, 97, 91, 56, 93, 0, 42, 99,117,114, 91, 56, 93, 0,101,120,116,114, 97,100, 97,116, 97, 0,115,116,101,
-112, 0,115,105,109,102,114, 97,109,101, 0,115,116, 97,114,116,102,114, 97,109,101, 0,101,110,100,102,114, 97,109,101, 0,101,
-100,105,116,102,114, 97,109,101, 0,108, 97,115,116, 95,101,120, 97, 99,116, 0, 99,111,109,112,114,101,115,115,105,111,110, 0,
-110, 97,109,101, 91, 54, 52, 93, 0,112,114,101,118, 95,110, 97,109,101, 91, 54, 52, 93, 0,105,110,102,111, 91, 54, 52, 93, 0,
-112, 97,116,104, 91, 50, 52, 48, 93, 0, 42, 99, 97, 99,104,101,100, 95,102,114, 97,109,101,115, 0,109,101,109, 95, 99, 97, 99,
-104,101, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101, 95,101,100,105,116, 41, 40, 41, 0,108,105,110, 83,116,105,102,102,
- 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,101, 0,118,105,116,101,114, 97,116,105,111,110,115, 0,112,105,116,
-101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,116,105,111,110,115, 0, 99,105,116,101,114, 97,116,105,111,110,115,
- 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82, 95, 67, 76, 0,107, 83, 83, 72, 82, 95, 67, 76, 0,107, 83, 82, 95,
- 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 83, 95, 83, 80, 76, 84, 95, 67, 76, 0,
-107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76, 70, 0,107, 80, 82, 0,107, 86, 67, 0,107, 68, 70, 0,107, 77, 84,
- 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82, 0,107, 65, 72, 82, 0, 99,111,108,108,105,115,105,111,110,102,108,
- 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,116,101,114, 97,116,105,111,110,115, 0,119,101,108,100,105,110,103,
- 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,105,110,116, 0, 42, 98,115,112,114,105,110,103, 0,109,115,103, 95,
-108,111, 99,107, 0,109,115,103, 95,118, 97,108,117,101, 0,110,111,100,101,109, 97,115,115, 0,110, 97,109,101,100, 86, 71, 95,
- 77, 97,115,115, 91, 51, 50, 93, 0,103,114, 97,118, 0,109,101,100,105, 97,102,114,105, 99,116, 0,114,107,108,105,109,105,116,
- 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,103,111, 97,108,115,112,114,105,110,103, 0,103,111, 97,108,102,114,
-105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,103,111, 97,108, 0,100,101,102,103,111, 97,108, 0,118,101,114,116,
-103,114,111,117,112, 0,110, 97,109,101,100, 86, 71, 95, 83,111,102,116,103,111, 97,108, 91, 51, 50, 93, 0,102,117,122,122,121,
-110,101,115,115, 0,105,110,115,112,114,105,110,103, 0,105,110,102,114,105, 99,116, 0,110, 97,109,101,100, 86, 71, 95, 83,112,
-114,105,110,103, 95, 75, 91, 51, 50, 93, 0,101,102,114, 97, 0,105,110,116,101,114,118, 97,108, 0,108,111, 99, 97,108, 0,115,
-111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,121,115, 0,116,111,116,112,111,105,110,116,107,101,121, 0,115,101,
- 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98, 97,108,108, 0, 98, 97,108,108,100, 97,109,112, 0, 98, 97,108,108,
-115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0, 97,101,114,111,101,100,103,101, 0,109,105,110,108,111,111,112,115,
- 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101, 0,115,111,108,118,101,114, 95, 73, 68, 0,112,108, 97,115,116,105,
- 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100, 0, 42,115, 99,114, 97,116, 99,104, 0,115,104,101, 97,114,115,116,
-105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,110,116, 99, 97, 99,104,101, 0, 42,101,102,102,101, 99,116,111,114,
- 95,119,101,105,103,104,116,115, 0,108, 99,111,109, 91, 51, 93, 0,108,114,111,116, 91, 51, 93, 91, 51, 93, 0,108,115, 99, 97,
-108,101, 91, 51, 93, 91, 51, 93, 0,112, 97,100, 52, 91, 52, 93, 0,118,101,108, 91, 51, 93, 0, 42,102,109,100, 0,115,104,111,
-119, 95, 97,100,118, 97,110, 99,101,100,111,112,116,105,111,110,115, 0,114,101,115,111,108,117,116,105,111,110,120,121,122, 0,
-112,114,101,118,105,101,119,114,101,115,120,121,122, 0,114,101, 97,108,115,105,122,101, 0,103,117,105, 68,105,115,112,108, 97,
-121, 77,111,100,101, 0,114,101,110,100,101,114, 68,105,115,112,108, 97,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,
-121, 86, 97,108,117,101, 0,118,105,115, 99,111,115,105,116,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 69,120,
-112,111,110,101,110,116, 0,103,114, 97,118,120, 0,103,114, 97,118,121, 0,103,114, 97,118,122, 0, 97,110,105,109, 83,116, 97,
-114,116, 0, 97,110,105,109, 69,110,100, 0, 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101, 69,110,100, 0,103,115,116,
- 97,114, 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86,101,108,121, 0,105,110,105,
- 86,101,108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,102,100, 97,116, 97, 80, 97,
-116,104, 91, 50, 52, 48, 93, 0, 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101, 91, 51, 93, 0,116,121,112,
-101, 70,108, 97,103,115, 0,100,111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111,108,117,109,101, 73,110,105,116,
- 84,121,112,101, 0,112, 97,114,116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,116,101, 84,114, 97, 99,101,
-114,115, 0,103,101,110,101,114, 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114,102, 97, 99,101, 83,109,111,111,
-116,104,105,110,103, 0,115,117,114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,105, 99,108,101, 73,110,102,
- 83,105,122,101, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114, 70,105,101,108,100, 83,105,
-122,101, 0, 42,109,101,115,104, 86,101,108,111, 99,105,116,105,101,115, 0, 99,112,115, 84,105,109,101, 83,116, 97,114,116, 0,
- 99,112,115, 84,105,109,101, 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,114, 97, 99,116,102,111,114,
- 99,101, 83,116,114,101,110,103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,100,105,117,115, 0,118,101,
-108,111, 99,105,116,121,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,
-101, 82, 97,100,105,117,115, 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0,109,105,115,116,121,112,101, 0,104,111,
-114,114, 0,104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,110,103, 0,122,101,110, 98, 0,102, 97,115,116,
- 99,111,108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,101, 0,108,105,110,102, 97, 99, 0,108,111,
-103,102, 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, 66,111,120, 82, 97,100,105,117,115, 0,115,
-107,121,116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,104,121,115,105, 99,115, 69,110,103,105,110,
-101, 0,116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,112, 0,112,104,121,115,117, 98,115,116,101,
-112, 0,109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,116,115,116, 97, 0,109,105,115,116,100,105,
-115,116, 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, 0,115,116, 97,114, 98, 0,115,116, 97,114,
-107, 0,115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,116, 0,115,116, 97,114,100,105,115,116, 0,
-115,116, 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,111,102,101,110,100, 0,100,111,102,109,105,
-110, 0,100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,116,102, 97, 99, 0, 97,111,101,110,101,114,
-103,121, 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,109,112, 0, 97,111,109,105,120, 0, 97,111,
- 99,111,108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0, 97,111, 95, 97,100, 97,112,116, 95,115,
-112,101,101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,114,111,114, 0, 97,111, 95, 97,112,112,114,
-111,120, 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,105,114,101, 99,116, 95,101,110,101,114,103,121,
- 0, 97,111, 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,100, 50, 0, 97,111, 95,105,110,100,105,114,101,
- 99,116, 95, 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111, 95,115, 97,109,112, 95,109,101,116,104,111,100,
- 0, 97,111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, 97,112,112,114,111,120, 95,112, 97,115,115,
-101,115, 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,115, 0,112, 97,100, 91, 51, 93, 0,115,101,
-108, 99,111,108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80, 97,114,109,115, 0, 99, 98,
- 70,111,114,109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99, 99, 72, 97,110,100,108,101,
-114, 0,100,119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,116,121, 0,100,119, 66,121,
-116,101,115, 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,116,101,114,108,101, 97,118,
-101, 69,118,101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42, 99,100, 80, 97,114,109,
-115, 0, 42,112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0, 99,
-111,100,101, 99, 84,121,112,101, 0, 99,111,100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0, 99,111,100,
-101, 99, 0, 99,111,100,101, 99, 70,108, 97,103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0, 99,111,100,101, 99, 84,101,
-109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,117, 97,108,105,116,121, 0,
-109,105,110, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,109,101, 82, 97,116,101, 0,
- 98,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,100,105,111, 83, 97,109,112,
-108,101, 82, 97,116,101, 0, 97,117,100,105,111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,111, 67,104, 97,110,110,101,
-108,115, 0, 97,117,100,105,111, 67,111,100,101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,105,116, 82, 97,116,101, 0,
- 97,117,100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95,
- 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,105,111, 95,118,111,108,117,
+ 72, 0, 0, 0,120, 21,216, 2,190, 0, 0, 0, 1, 0, 0, 0,240, 21,216, 2, 0, 21,216, 2,105,111, 95,115, 99,101,110,101,
+ 95,120, 51,100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,
+240, 21,216, 2,190, 0, 0, 0, 1, 0, 0, 0,104, 22,216, 2,120, 21,216, 2,105,111, 95,109,101,115,104, 95,115,116,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, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,104, 22,216, 2,
+190, 0, 0, 0, 1, 0, 0, 0,224, 22,216, 2,240, 21,216, 2,105,111, 95,109,101,115,104, 95,117,118, 95,108, 97,121,111,117,
+116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0,224, 22,216, 2,190, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,104, 22,216, 2,105,111, 95, 99,117,114,118,101, 95,115,118,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, 68, 65, 84, 65,224, 0, 0, 0,168, 92,220, 3,183, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68,101,102, 97,117,108,116, 32, 83,116,121,108,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,255,255, 0, 0,
+154,153, 25, 62, 0, 0,128, 63, 0, 0, 12, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255,255, 0, 0,
+ 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255,255, 0, 0,
+154,153, 25, 62, 0, 0,128, 63, 0, 0, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 62, 0, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 5, 0, 5, 0, 8, 0, 2, 0, 8, 0, 4, 0, 0, 0,
+ 68, 78, 65, 49, 56,231, 0, 0, 32,143, 19, 4, 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65, 78, 65, 77, 69, 17, 12, 0, 0,
+ 42,110,101,120,116, 0, 42,112,114,101,118, 0, 42,100, 97,116, 97, 0, 42,102,105,114,115,116, 0, 42,108, 97,115,116, 0,120,
+ 0,121, 0,120,109,105,110, 0,120,109, 97,120, 0,121,109,105,110, 0,121,109, 97,120, 0, 42,112,111,105,110,116,101,114, 0,
+103,114,111,117,112, 0,118, 97,108, 0,118, 97,108, 50, 0,116,121,112,101, 0,115,117, 98,116,121,112,101, 0,102,108, 97,103,
+ 0,110, 97,109,101, 91, 51, 50, 93, 0,115, 97,118,101,100, 0,100, 97,116, 97, 0,108,101,110, 0,116,111,116, 97,108,108,101,
+110, 0, 42,110,101,119,105,100, 0, 42,108,105, 98, 0,110, 97,109,101, 91, 50, 52, 93, 0,117,115, 0,105, 99,111,110, 95,105,
+100, 0, 42,112,114,111,112,101,114,116,105,101,115, 0,105,100, 0, 42,105,100, 98,108,111, 99,107, 0, 42,102,105,108,101,100,
+ 97,116, 97, 0,110, 97,109,101, 91, 50, 52, 48, 93, 0,102,105,108,101,112, 97,116,104, 91, 50, 52, 48, 93, 0,116,111,116, 0,
+112, 97,100, 0, 42,112, 97,114,101,110,116, 0,119, 91, 50, 93, 0,104, 91, 50, 93, 0, 99,104, 97,110,103,101,100, 91, 50, 93,
+ 0, 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 91, 50, 93, 0, 42,114,101, 99,116, 91, 50, 93, 0, 42,
+111, 98, 0, 98,108,111, 99,107,116,121,112,101, 0, 97,100,114, 99,111,100,101, 0,110, 97,109,101, 91, 49, 50, 56, 93, 0, 42,
+ 98,112, 0, 42, 98,101,122,116, 0,109, 97,120,114, 99,116, 0,116,111,116,114, 99,116, 0,118, 97,114,116,121,112,101, 0,116,
+111,116,118,101,114,116, 0,105,112,111, 0,101,120,116,114, 97,112, 0,114,116, 0, 98,105,116,109, 97,115,107, 0,115,108,105,
+100,101, 95,109,105,110, 0,115,108,105,100,101, 95,109, 97,120, 0, 99,117,114,118, 97,108, 0, 42,100,114,105,118,101,114, 0,
+ 99,117,114,118,101, 0, 99,117,114, 0,115,104,111,119,107,101,121, 0,109,117,116,101,105,112,111, 0,112,111,115, 0,114,101,
+108, 97,116,105,118,101, 0,116,111,116,101,108,101,109, 0,112, 97,100, 50, 0, 42,119,101,105,103,104,116,115, 0,118,103,114,
+111,117,112, 91, 51, 50, 93, 0,115,108,105,100,101,114,109,105,110, 0,115,108,105,100,101,114,109, 97,120, 0, 42, 97,100,116,
+ 0, 42,114,101,102,107,101,121, 0,101,108,101,109,115,116,114, 91, 51, 50, 93, 0,101,108,101,109,115,105,122,101, 0, 98,108,
+111, 99,107, 0, 42,105,112,111, 0, 42,102,114,111,109, 0,116,111,116,107,101,121, 0,115,108,117,114,112,104, 0, 42,108,105,
+110,101, 0, 42,102,111,114,109, 97,116, 0, 98,108,101,110, 0,108,105,110,101,110,111, 0,115,116, 97,114,116, 0,101,110,100,
+ 0,112, 97,100, 49, 0,102,108, 97,103,115, 0, 99,111,108,111,114, 91, 52, 93, 0,112, 97,100, 91, 52, 93, 0, 42,110, 97,109,
+101, 0,110,108,105,110,101,115, 0,108,105,110,101,115, 0, 42, 99,117,114,108, 0, 42,115,101,108,108, 0, 99,117,114, 99, 0,
+115,101,108, 99, 0,109, 97,114,107,101,114,115, 0, 42,117,110,100,111, 95, 98,117,102, 0,117,110,100,111, 95,112,111,115, 0,
+117,110,100,111, 95,108,101,110, 0, 42, 99,111,109,112,105,108,101,100, 0,109,116,105,109,101, 0,115,105,122,101, 0,115,101,
+101,107, 0,100,116,120, 0,112, 97,115,115,101,112, 97,114,116, 97,108,112,104, 97, 0, 99,108,105,112,115,116, 97, 0, 99,108,
+105,112,101,110,100, 0,108,101,110,115, 0,111,114,116,104,111, 95,115, 99, 97,108,101, 0,100,114, 97,119,115,105,122,101, 0,
+115,104,105,102,116,120, 0,115,104,105,102,116,121, 0, 89, 70, 95,100,111,102,100,105,115,116, 0, 42,100,111,102, 95,111, 98,
+ 0, 42,115, 99,101,110,101, 0,102,114, 97,109,101,110,114, 0,102,114, 97,109,101,115, 0,111,102,102,115,101,116, 0,115,102,
+114, 97, 0,102,105,101, 95,105,109, 97, 0, 99,121, 99,108, 0,111,107, 0,109,117,108,116,105, 95,105,110,100,101,120, 0,108,
+ 97,121,101,114, 0,112, 97,115,115, 0,105, 98,117,102,115, 0, 42,103,112,117,116,101,120,116,117,114,101, 0, 42, 97,110,105,
+109, 0, 42,114,114, 0, 42,114,101,110,100,101,114,115, 91, 56, 93, 0,114,101,110,100,101,114, 95,115,108,111,116, 0,108, 97,
+115,116, 95,114,101,110,100,101,114, 95,115,108,111,116, 0,115,111,117,114, 99,101, 0,108, 97,115,116,102,114, 97,109,101, 0,
+116,112, 97,103,101,102,108, 97,103, 0,116,111,116, 98,105,110,100, 0,120,114,101,112, 0,121,114,101,112, 0,116,119,115,116,
+ 97, 0,116,119,101,110,100, 0, 98,105,110,100, 99,111,100,101, 0, 42,114,101,112, 98,105,110,100, 0, 42,112, 97, 99,107,101,
+100,102,105,108,101, 0, 42,112,114,101,118,105,101,119, 0,108, 97,115,116,117,112,100, 97,116,101, 0,108, 97,115,116,117,115,
+101,100, 0, 97,110,105,109,115,112,101,101,100, 0,103,101,110, 95,120, 0,103,101,110, 95,121, 0,103,101,110, 95,116,121,112,
+101, 0,103,101,110, 95,102,108, 97,103, 0, 97,115,112,120, 0, 97,115,112,121, 0,116,101,120, 99,111, 0,109, 97,112,116,111,
+ 0,109, 97,112,116,111,110,101,103, 0, 98,108,101,110,100,116,121,112,101, 0, 42,111, 98,106,101, 99,116, 0, 42,116,101,120,
+ 0,117,118,110, 97,109,101, 91, 51, 50, 93, 0,112,114,111,106,120, 0,112,114,111,106,121, 0,112,114,111,106,122, 0,109, 97,
+112,112,105,110,103, 0,111,102,115, 91, 51, 93, 0,115,105,122,101, 91, 51, 93, 0,114,111,116, 0,116,101,120,102,108, 97,103,
+ 0, 99,111,108,111,114,109,111,100,101,108, 0,112,109, 97,112,116,111, 0,112,109, 97,112,116,111,110,101,103, 0,110,111,114,
+109, 97,112,115,112, 97, 99,101, 0,119,104,105, 99,104, 95,111,117,116,112,117,116, 0, 98,114,117,115,104, 95,109, 97,112, 95,
+109,111,100,101, 0,112, 97,100, 91, 55, 93, 0,114, 0,103, 0, 98, 0,107, 0,100,101,102, 95,118, 97,114, 0, 99,111,108,102,
+ 97, 99, 0,118, 97,114,102, 97, 99, 0,110,111,114,102, 97, 99, 0,100,105,115,112,102, 97, 99, 0,119, 97,114,112,102, 97, 99,
+ 0, 99,111,108,115,112,101, 99,102, 97, 99, 0,109,105,114,114,102, 97, 99, 0, 97,108,112,104, 97,102, 97, 99, 0,100,105,102,
+102,102, 97, 99, 0,115,112,101, 99,102, 97, 99, 0,101,109,105,116,102, 97, 99, 0,104, 97,114,100,102, 97, 99, 0,114, 97,121,
+109,105,114,114,102, 97, 99, 0,116,114, 97,110,115,108,102, 97, 99, 0, 97,109, 98,102, 97, 99, 0, 99,111,108,101,109,105,116,
+102, 97, 99, 0, 99,111,108,114,101,102,108,102, 97, 99, 0, 99,111,108,116,114, 97,110,115,102, 97, 99, 0,100,101,110,115,102,
+ 97, 99, 0,115, 99, 97,116,116,101,114,102, 97, 99, 0,114,101,102,108,102, 97, 99, 0,116,105,109,101,102, 97, 99, 0,108,101,
+110,103,116,104,102, 97, 99, 0, 99,108,117,109,112,102, 97, 99, 0,100, 97,109,112,102, 97, 99, 0,107,105,110,107,102, 97, 99,
+ 0,114,111,117,103,104,102, 97, 99, 0,112, 97,100,101,110,115,102, 97, 99, 0,103,114, 97,118,105,116,121,102, 97, 99, 0,108,
+105,102,101,102, 97, 99, 0,115,105,122,101,102, 97, 99, 0,105,118,101,108,102, 97, 99, 0,102,105,101,108,100,102, 97, 99, 0,
+115,104, 97,100,111,119,102, 97, 99, 0,122,101,110,117,112,102, 97, 99, 0,122,101,110,100,111,119,110,102, 97, 99, 0, 98,108,
+101,110,100,102, 97, 99, 0,110, 97,109,101, 91, 49, 54, 48, 93, 0, 42,104, 97,110,100,108,101, 0, 42,112,110, 97,109,101, 0,
+ 42,115,116,110, 97,109,101,115, 0,115,116,121,112,101,115, 0,118, 97,114,115, 0, 42,118, 97,114,115,116,114, 0, 42,114,101,
+115,117,108,116, 0, 42, 99,102,114, 97, 0,100, 97,116, 97, 91, 51, 50, 93, 0, 40, 42,100,111,105,116, 41, 40, 41, 0, 40, 42,
+105,110,115,116, 97,110, 99,101, 95,105,110,105,116, 41, 40, 41, 0, 40, 42, 99, 97,108,108, 98, 97, 99,107, 41, 40, 41, 0,118,
+101,114,115,105,111,110, 0, 97, 0,105,112,111,116,121,112,101, 0, 42,105,109, 97, 0, 42, 99,117, 98,101, 91, 54, 93, 0,105,
+109, 97,116, 91, 52, 93, 91, 52, 93, 0,111, 98,105,109, 97,116, 91, 51, 93, 91, 51, 93, 0,115,116,121,112,101, 0,118,105,101,
+119,115, 99, 97,108,101, 0,110,111,116,108, 97,121, 0, 99,117, 98,101,114,101,115, 0,100,101,112,116,104, 0,114,101, 99, 97,
+108, 99, 0,108, 97,115,116,115,105,122,101, 0,102, 97,108,108,111,102,102, 95,116,121,112,101, 0,102, 97,108,108,111,102,102,
+ 95,115,111,102,116,110,101,115,115, 0,114, 97,100,105,117,115, 0, 99,111,108,111,114, 95,115,111,117,114, 99,101, 0,116,111,
+116,112,111,105,110,116,115, 0,112,100,112, 97,100, 0,112,115,121,115, 0,112,115,121,115, 95, 99, 97, 99,104,101, 95,115,112,
+ 97, 99,101, 0,111, 98, 95, 99, 97, 99,104,101, 95,115,112, 97, 99,101, 0, 42,112,111,105,110,116, 95,116,114,101,101, 0, 42,
+112,111,105,110,116, 95,100, 97,116, 97, 0,110,111,105,115,101, 95,115,105,122,101, 0,110,111,105,115,101, 95,100,101,112,116,
+104, 0,110,111,105,115,101, 95,105,110,102,108,117,101,110, 99,101, 0,110,111,105,115,101, 95, 98, 97,115,105,115, 0,112,100,
+112, 97,100, 51, 91, 51, 93, 0,110,111,105,115,101, 95,102, 97, 99, 0,115,112,101,101,100, 95,115, 99, 97,108,101, 0,102, 97,
+108,108,111,102,102, 95,115,112,101,101,100, 95,115, 99, 97,108,101, 0,112,100,112, 97,100, 50, 0, 42, 99,111, 98, 97, 0, 42,
+102, 97,108,108,111,102,102, 95, 99,117,114,118,101, 0,114,101,115,111,108, 91, 51, 93, 0,105,110,116,101,114,112, 95,116,121,
+112,101, 0,102,105,108,101, 95,102,111,114,109, 97,116, 0,101,120,116,101,110,100, 0,115,109,111,107,101,100, 95,116,121,112,
+101, 0,105,110,116, 95,109,117,108,116,105,112,108,105,101,114, 0,115,116,105,108,108, 95,102,114, 97,109,101, 0,115,111,117,
+114, 99,101, 95,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42,100, 97,116, 97,115,101,116, 0, 99, 97, 99,104,101,100,102,114, 97,
+109,101, 0,110,111,105,115,101,115,105,122,101, 0,116,117,114, 98,117,108, 0, 98,114,105,103,104,116, 0, 99,111,110,116,114,
+ 97,115,116, 0,115, 97,116,117,114, 97,116,105,111,110, 0,114,102, 97, 99, 0,103,102, 97, 99, 0, 98,102, 97, 99, 0,102,105,
+108,116,101,114,115,105,122,101, 0,109,103, 95, 72, 0,109,103, 95,108, 97, 99,117,110, 97,114,105,116,121, 0,109,103, 95,111,
+ 99,116, 97,118,101,115, 0,109,103, 95,111,102,102,115,101,116, 0,109,103, 95,103, 97,105,110, 0,100,105,115,116, 95, 97,109,
+111,117,110,116, 0,110,115, 95,111,117,116,115, 99, 97,108,101, 0,118,110, 95,119, 49, 0,118,110, 95,119, 50, 0,118,110, 95,
+119, 51, 0,118,110, 95,119, 52, 0,118,110, 95,109,101,120,112, 0,118,110, 95,100,105,115,116,109, 0,118,110, 95, 99,111,108,
+116,121,112,101, 0,110,111,105,115,101,100,101,112,116,104, 0,110,111,105,115,101,116,121,112,101, 0,110,111,105,115,101, 98,
+ 97,115,105,115, 0,110,111,105,115,101, 98, 97,115,105,115, 50, 0,105,109, 97,102,108, 97,103, 0, 99,114,111,112,120,109,105,
+110, 0, 99,114,111,112,121,109,105,110, 0, 99,114,111,112,120,109, 97,120, 0, 99,114,111,112,121,109, 97,120, 0,116,101,120,
+102,105,108,116,101,114, 0, 97,102,109, 97,120, 0,120,114,101,112,101, 97,116, 0,121,114,101,112,101, 97,116, 0, 99,104,101,
+ 99,107,101,114,100,105,115,116, 0,110, 97, 98,108, 97, 0,105,117,115,101,114, 0, 42,110,111,100,101,116,114,101,101, 0, 42,
+112,108,117,103,105,110, 0, 42,101,110,118, 0, 42,112,100, 0, 42,118,100, 0,117,115,101, 95,110,111,100,101,115, 0,108,111,
+ 99, 91, 51, 93, 0,114,111,116, 91, 51, 93, 0,109, 97,116, 91, 52, 93, 91, 52, 93, 0,109,105,110, 91, 51, 93, 0,109, 97,120,
+ 91, 51, 93, 0,109,111,100,101, 0,116,111,116,101,120, 0,115,104,100,119,114, 0,115,104,100,119,103, 0,115,104,100,119, 98,
+ 0,115,104,100,119,112, 97,100, 0,101,110,101,114,103,121, 0,100,105,115,116, 0,115,112,111,116,115,105,122,101, 0,115,112,
+111,116, 98,108,101,110,100, 0,104, 97,105,110,116, 0, 97,116,116, 49, 0, 97,116,116, 50, 0, 42, 99,117,114,102, 97,108,108,
+111,102,102, 0,115,104, 97,100,115,112,111,116,115,105,122,101, 0, 98,105, 97,115, 0,115,111,102,116, 0, 99,111,109,112,114,
+101,115,115,116,104,114,101,115,104, 0,112, 97,100, 53, 91, 51, 93, 0, 98,117,102,115,105,122,101, 0,115, 97,109,112, 0, 98,
+117,102,102,101,114,115, 0,102,105,108,116,101,114,116,121,112,101, 0, 98,117,102,102,108, 97,103, 0, 98,117,102,116,121,112,
+101, 0,114, 97,121, 95,115, 97,109,112, 0,114, 97,121, 95,115, 97,109,112,121, 0,114, 97,121, 95,115, 97,109,112,122, 0,114,
+ 97,121, 95,115, 97,109,112, 95,116,121,112,101, 0, 97,114,101, 97, 95,115,104, 97,112,101, 0, 97,114,101, 97, 95,115,105,122,
+101, 0, 97,114,101, 97, 95,115,105,122,101,121, 0, 97,114,101, 97, 95,115,105,122,101,122, 0, 97,100, 97,112,116, 95,116,104,
+114,101,115,104, 0,114, 97,121, 95,115, 97,109,112, 95,109,101,116,104,111,100, 0,116,101,120, 97, 99,116, 0,115,104, 97,100,
+104, 97,108,111,115,116,101,112, 0,115,117,110, 95,101,102,102,101, 99,116, 95,116,121,112,101, 0,115,107,121, 98,108,101,110,
+100,116,121,112,101, 0,104,111,114,105,122,111,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,112,114,101, 97,100, 0,
+115,117,110, 95, 98,114,105,103,104,116,110,101,115,115, 0,115,117,110, 95,115,105,122,101, 0, 98, 97, 99,107,115, 99, 97,116,
+116,101,114,101,100, 95,108,105,103,104,116, 0,115,117,110, 95,105,110,116,101,110,115,105,116,121, 0, 97,116,109, 95,116,117,
+114, 98,105,100,105,116,121, 0, 97,116,109, 95,105,110,115, 99, 97,116,116,101,114,105,110,103, 95,102, 97, 99,116,111,114, 0,
+ 97,116,109, 95,101,120,116,105,110, 99,116,105,111,110, 95,102, 97, 99,116,111,114, 0, 97,116,109, 95,100,105,115,116, 97,110,
+ 99,101, 95,102, 97, 99,116,111,114, 0,115,107,121, 98,108,101,110,100,102, 97, 99, 0,115,107,121, 95,101,120,112,111,115,117,
+114,101, 0,115,107,121, 95, 99,111,108,111,114,115,112, 97, 99,101, 0,112, 97,100, 52, 91, 54, 93, 0, 42,109,116,101,120, 91,
+ 49, 56, 93, 0,112,114, 95,116,101,120,116,117,114,101, 0,112, 97,100, 54, 91, 54, 93, 0,100,101,110,115,105,116,121, 0,101,
+109,105,115,115,105,111,110, 0,115, 99, 97,116,116,101,114,105,110,103, 0,114,101,102,108,101, 99,116,105,111,110, 0,101,109,
+105,115,115,105,111,110, 95, 99,111,108, 91, 51, 93, 0,116,114, 97,110,115,109,105,115,115,105,111,110, 95, 99,111,108, 91, 51,
+ 93, 0,114,101,102,108,101, 99,116,105,111,110, 95, 99,111,108, 91, 51, 93, 0,100,101,110,115,105,116,121, 95,115, 99, 97,108,
+101, 0,100,101,112,116,104, 95, 99,117,116,111,102,102, 0, 97,115,121,109,109,101,116,114,121, 0,115,116,101,112,115,105,122,
+101, 95,116,121,112,101, 0,115,104, 97,100,101,102,108, 97,103, 0,115,104, 97,100,101, 95,116,121,112,101, 0,112,114,101, 99,
+ 97, 99,104,101, 95,114,101,115,111,108,117,116,105,111,110, 0,115,116,101,112,115,105,122,101, 0,109,115, 95,100,105,102,102,
+ 0,109,115, 95,105,110,116,101,110,115,105,116,121, 0,109,115, 95,115,112,114,101, 97,100, 0,109, 97,116,101,114,105, 97,108,
+ 95,116,121,112,101, 0,115,112,101, 99,114, 0,115,112,101, 99,103, 0,115,112,101, 99, 98, 0,109,105,114,114, 0,109,105,114,
+103, 0,109,105,114, 98, 0, 97,109, 98,114, 0, 97,109, 98, 98, 0, 97,109, 98,103, 0, 97,109, 98, 0,101,109,105,116, 0, 97,
+110,103, 0,115,112,101, 99,116,114, 97, 0,114, 97,121, 95,109,105,114,114,111,114, 0, 97,108,112,104, 97, 0,114,101,102, 0,
+115,112,101, 99, 0,122,111,102,102,115, 0, 97,100,100, 0,116,114, 97,110,115,108,117, 99,101,110, 99,121, 0,118,111,108, 0,
+102,114,101,115,110,101,108, 95,109,105,114, 0,102,114,101,115,110,101,108, 95,109,105,114, 95,105, 0,102,114,101,115,110,101,
+108, 95,116,114, 97, 0,102,114,101,115,110,101,108, 95,116,114, 97, 95,105, 0,102,105,108,116,101,114, 0,116,120, 95,108,105,
+109,105,116, 0,116,120, 95,102, 97,108,108,111,102,102, 0,114, 97,121, 95,100,101,112,116,104, 0,114, 97,121, 95,100,101,112,
+116,104, 95,116,114, 97, 0,104, 97,114, 0,115,101,101,100, 49, 0,115,101,101,100, 50, 0,103,108,111,115,115, 95,109,105,114,
+ 0,103,108,111,115,115, 95,116,114, 97, 0,115, 97,109,112, 95,103,108,111,115,115, 95,109,105,114, 0,115, 97,109,112, 95,103,
+108,111,115,115, 95,116,114, 97, 0, 97,100, 97,112,116, 95,116,104,114,101,115,104, 95,109,105,114, 0, 97,100, 97,112,116, 95,
+116,104,114,101,115,104, 95,116,114, 97, 0, 97,110,105,115,111, 95,103,108,111,115,115, 95,109,105,114, 0,100,105,115,116, 95,
+109,105,114, 0,102, 97,100,101,116,111, 95,109,105,114, 0,115,104, 97,100,101, 95,102,108, 97,103, 0,109,111,100,101, 95,108,
+ 0,102,108, 97,114,101, 99, 0,115,116, 97,114, 99, 0,108,105,110,101, 99, 0,114,105,110,103, 99, 0,104, 97,115,105,122,101,
+ 0,102,108, 97,114,101,115,105,122,101, 0,115,117, 98,115,105,122,101, 0,102,108, 97,114,101, 98,111,111,115,116, 0,115,116,
+114, 97,110,100, 95,115,116, 97, 0,115,116,114, 97,110,100, 95,101,110,100, 0,115,116,114, 97,110,100, 95,101, 97,115,101, 0,
+115,116,114, 97,110,100, 95,115,117,114,102,110,111,114, 0,115,116,114, 97,110,100, 95,109,105,110, 0,115,116,114, 97,110,100,
+ 95,119,105,100,116,104,102, 97,100,101, 0,115,116,114, 97,110,100, 95,117,118,110, 97,109,101, 91, 51, 50, 93, 0,115, 98,105,
+ 97,115, 0,108, 98,105, 97,115, 0,115,104, 97,100, 95, 97,108,112,104, 97, 0,115,101,112,116,101,120, 0,114,103, 98,115,101,
+108, 0,112,114, 95,116,121,112,101, 0,112,114, 95, 98, 97, 99,107, 0,112,114, 95,108, 97,109,112, 0,109,108, 95,102,108, 97,
+103, 0,100,105,102,102, 95,115,104, 97,100,101,114, 0,115,112,101, 99, 95,115,104, 97,100,101,114, 0,114,111,117,103,104,110,
+101,115,115, 0,114,101,102,114, 97, 99, 0,112, 97,114, 97,109, 91, 52, 93, 0,114,109,115, 0,100, 97,114,107,110,101,115,115,
+ 0, 42,114, 97,109,112, 95, 99,111,108, 0, 42,114, 97,109,112, 95,115,112,101, 99, 0,114, 97,109,112,105,110, 95, 99,111,108,
+ 0,114, 97,109,112,105,110, 95,115,112,101, 99, 0,114, 97,109,112, 98,108,101,110,100, 95, 99,111,108, 0,114, 97,109,112, 98,
+108,101,110,100, 95,115,112,101, 99, 0,114, 97,109,112, 95,115,104,111,119, 0,112, 97,100, 51, 0,114, 97,109,112,102, 97, 99,
+ 95, 99,111,108, 0,114, 97,109,112,102, 97, 99, 95,115,112,101, 99, 0, 42,103,114,111,117,112, 0,102,114,105, 99,116,105,111,
+110, 0,102,104, 0,114,101,102,108,101, 99,116, 0,102,104,100,105,115,116, 0,120,121,102,114,105, 99,116, 0,100,121,110, 97,
+109,111,100,101, 0,115,115,115, 95,114, 97,100,105,117,115, 91, 51, 93, 0,115,115,115, 95, 99,111,108, 91, 51, 93, 0,115,115,
+115, 95,101,114,114,111,114, 0,115,115,115, 95,115, 99, 97,108,101, 0,115,115,115, 95,105,111,114, 0,115,115,115, 95, 99,111,
+108,102, 97, 99, 0,115,115,115, 95,116,101,120,102, 97, 99, 0,115,115,115, 95,102,114,111,110,116, 0,115,115,115, 95, 98, 97,
+ 99,107, 0,115,115,115, 95,102,108, 97,103, 0,115,115,115, 95,112,114,101,115,101,116, 0,109, 97,112,116,111, 95,116,101,120,
+116,117,114,101,100, 0,115,104, 97,100,111,119,111,110,108,121, 95,102,108, 97,103, 0,105,110,100,101,120, 0,103,112,117,109,
+ 97,116,101,114,105, 97,108, 0,110, 97,109,101, 91, 50, 53, 54, 93, 0, 42, 98, 98, 0,105, 49, 0,106, 49, 0,107, 49, 0,105,
+ 50, 0,106, 50, 0,107, 50, 0,115,101,108, 99,111,108, 49, 0,115,101,108, 99,111,108, 50, 0,122, 0,113,117, 97,116, 91, 52,
+ 93, 0,101,120,112,120, 0,101,120,112,121, 0,101,120,112,122, 0,114, 97,100, 0,114, 97,100, 50, 0,115, 0, 42,109, 97,116,
+ 0, 42,105,109, 97,116, 0,101,108,101,109,115, 0,100,105,115,112, 0, 42,101,100,105,116,101,108,101,109,115, 0, 42, 42,109,
+ 97,116, 0,102,108, 97,103, 50, 0,116,111,116, 99,111,108, 0,119,105,114,101,115,105,122,101, 0,114,101,110,100,101,114,115,
+105,122,101, 0,116,104,114,101,115,104, 0, 42,108, 97,115,116,101,108,101,109, 0,118,101, 99, 91, 51, 93, 91, 51, 93, 0, 97,
+108,102, 97, 0,119,101,105,103,104,116, 0,104, 49, 0,104, 50, 0,102, 49, 0,102, 50, 0,102, 51, 0,104,105,100,101, 0,118,
+101, 99, 91, 52, 93, 0,109, 97,116, 95,110,114, 0,112,110,116,115,117, 0,112,110,116,115,118, 0,114,101,115,111,108,117, 0,
+114,101,115,111,108,118, 0,111,114,100,101,114,117, 0,111,114,100,101,114,118, 0,102,108, 97,103,117, 0,102,108, 97,103,118,
+ 0, 42,107,110,111,116,115,117, 0, 42,107,110,111,116,115,118, 0,116,105,108,116, 95,105,110,116,101,114,112, 0,114, 97,100,
+105,117,115, 95,105,110,116,101,114,112, 0, 99,104, 97,114,105,100,120, 0,107,101,114,110, 0,119, 0,104, 0,110,117,114, 98,
+115, 0, 42,107,101,121,105,110,100,101,120, 0,115,104, 97,112,101,110,114, 0,110,117,114, 98, 0, 42,101,100,105,116,110,117,
+114, 98, 0, 42, 98,101,118,111, 98,106, 0, 42,116, 97,112,101,114,111, 98,106, 0, 42,116,101,120,116,111,110, 99,117,114,118,
+101, 0, 42,112, 97,116,104, 0, 42,107,101,121, 0, 98,101,118, 0,100,114, 97,119,102,108, 97,103, 0,116,119,105,115,116, 95,
+109,111,100,101, 0,116,119,105,115,116, 95,115,109,111,111,116,104, 0,115,109, 97,108,108, 99, 97,112,115, 95,115, 99, 97,108,
+101, 0,112, 97,116,104,108,101,110, 0, 98,101,118,114,101,115,111,108, 0,119,105,100,116,104, 0,101,120,116, 49, 0,101,120,
+116, 50, 0,114,101,115,111,108,117, 95,114,101,110, 0,114,101,115,111,108,118, 95,114,101,110, 0, 97, 99,116,110,117, 0, 42,
+108, 97,115,116,115,101,108, 0,115,112, 97, 99,101,109,111,100,101, 0,115,112, 97, 99,105,110,103, 0,108,105,110,101,100,105,
+115,116, 0,115,104,101, 97,114, 0,102,115,105,122,101, 0,119,111,114,100,115,112, 97, 99,101, 0,117,108,112,111,115, 0,117,
+108,104,101,105,103,104,116, 0,120,111,102, 0,121,111,102, 0,108,105,110,101,119,105,100,116,104, 0, 42,115,116,114, 0, 42,
+115,101,108, 98,111,120,101,115, 0, 42,101,100,105,116,102,111,110,116, 0,102, 97,109,105,108,121, 91, 50, 52, 93, 0, 42,118,
+102,111,110,116, 0, 42,118,102,111,110,116, 98, 0, 42,118,102,111,110,116,105, 0, 42,118,102,111,110,116, 98,105, 0,115,101,
+112, 99,104, 97,114, 0, 99,116,105,109,101, 0,116,111,116, 98,111,120, 0, 97, 99,116, 98,111,120, 0, 42,116, 98, 0,115,101,
+108,115,116, 97,114,116, 0,115,101,108,101,110,100, 0, 42,115,116,114,105,110,102,111, 0, 99,117,114,105,110,102,111, 0, 42,
+109,102, 97, 99,101, 0, 42,109,116,102, 97, 99,101, 0, 42,116,102, 97, 99,101, 0, 42,109,118,101,114,116, 0, 42,109,101,100,
+103,101, 0, 42,100,118,101,114,116, 0, 42,109, 99,111,108, 0, 42,109,115,116,105, 99,107,121, 0, 42,116,101,120, 99,111,109,
+101,115,104, 0, 42,109,115,101,108,101, 99,116, 0, 42,101,100,105,116, 95,109,101,115,104, 0,118,100, 97,116, 97, 0,101,100,
+ 97,116, 97, 0,102,100, 97,116, 97, 0,116,111,116,101,100,103,101, 0,116,111,116,102, 97, 99,101, 0,116,111,116,115,101,108,
+101, 99,116, 0, 97, 99,116, 95,102, 97, 99,101, 0,115,109,111,111,116,104,114,101,115,104, 0,115,117, 98,100,105,118, 0,115,
+117, 98,100,105,118,114, 0,115,117, 98,115,117,114,102,116,121,112,101, 0,101,100,105,116,102,108, 97,103, 0, 42,109,114, 0,
+ 42,112,118, 0, 42,116,112, 97,103,101, 0,117,118, 91, 52, 93, 91, 50, 93, 0, 99,111,108, 91, 52, 93, 0,116,114, 97,110,115,
+112, 0,116,105,108,101, 0,117,110,119,114, 97,112, 0,118, 49, 0,118, 50, 0,118, 51, 0,118, 52, 0,101,100, 99,111,100,101,
+ 0, 99,114,101, 97,115,101, 0, 98,119,101,105,103,104,116, 0,100,101,102, 95,110,114, 0, 42,100,119, 0,116,111,116,119,101,
+105,103,104,116, 0, 99,111, 91, 51, 93, 0,110,111, 91, 51, 93, 0,117,118, 91, 50, 93, 0, 99,111, 91, 50, 93, 0,102, 0,105,
+ 0,115, 91, 50, 53, 54, 93, 0,116,111,116,100,105,115,112, 0, 40, 42,100,105,115,112,115, 41, 40, 41, 0,118, 91, 52, 93, 0,
+109,105,100, 0,112, 97,100, 91, 50, 93, 0,118, 91, 50, 93, 0, 42,102, 97, 99,101,115, 0, 42, 99,111,108,102, 97, 99,101,115,
+ 0, 42,101,100,103,101,115, 0, 42,118,101,114,116,115, 0,108,101,118,101,108,115, 0,108,101,118,101,108, 95, 99,111,117,110,
+116, 0, 99,117,114,114,101,110,116, 0,110,101,119,108,118,108, 0,101,100,103,101,108,118,108, 0,112,105,110,108,118,108, 0,
+114,101,110,100,101,114,108,118,108, 0,117,115,101, 95, 99,111,108, 0, 42,101,100,103,101, 95,102,108, 97,103,115, 0, 42,101,
+100,103,101, 95, 99,114,101, 97,115,101,115, 0, 42,118,101,114,116, 95,109, 97,112, 0, 42,101,100,103,101, 95,109, 97,112, 0,
+ 42,111,108,100, 95,102, 97, 99,101,115, 0, 42,111,108,100, 95,101,100,103,101,115, 0,115,116, 97, 99,107,105,110,100,101,120,
+ 0, 42,101,114,114,111,114, 0,109,111,100,105,102,105,101,114, 0, 42,116,101,120,116,117,114,101, 0, 42,109, 97,112, 95,111,
+ 98,106,101, 99,116, 0,117,118,108, 97,121,101,114, 95,110, 97,109,101, 91, 51, 50, 93, 0,117,118,108, 97,121,101,114, 95,116,
+109,112, 0,116,101,120,109, 97,112,112,105,110,103, 0,115,117, 98,100,105,118, 84,121,112,101, 0,114,101,110,100,101,114, 76,
+101,118,101,108,115, 0, 42,101,109, 67, 97, 99,104,101, 0, 42,109, 67, 97, 99,104,101, 0,100,101,102, 97,120,105,115, 0,112,
+ 97,100, 91, 54, 93, 0,108,101,110,103,116,104, 0,114, 97,110,100,111,109,105,122,101, 0,115,101,101,100, 0, 42,111, 98, 95,
+ 97,114,109, 0, 42,115,116, 97,114,116, 95, 99, 97,112, 0, 42,101,110,100, 95, 99, 97,112, 0, 42, 99,117,114,118,101, 95,111,
+ 98, 0, 42,111,102,102,115,101,116, 95,111, 98, 0,111,102,102,115,101,116, 91, 51, 93, 0,115, 99, 97,108,101, 91, 51, 93, 0,
+109,101,114,103,101, 95,100,105,115,116, 0,102,105,116, 95,116,121,112,101, 0,111,102,102,115,101,116, 95,116,121,112,101, 0,
+ 99,111,117,110,116, 0, 97,120,105,115, 0,116,111,108,101,114, 97,110, 99,101, 0, 42,109,105,114,114,111,114, 95,111, 98, 0,
+115,112,108,105,116, 95, 97,110,103,108,101, 0,118, 97,108,117,101, 0,114,101,115, 0,118, 97,108, 95,102,108, 97,103,115, 0,
+108,105,109, 95,102,108, 97,103,115, 0,101, 95,102,108, 97,103,115, 0, 98,101,118,101,108, 95, 97,110,103,108,101, 0,100,101,
+102,103,114,112, 95,110, 97,109,101, 91, 51, 50, 93, 0, 42,100,111,109, 97,105,110, 0, 42,102,108,111,119, 0, 42, 99,111,108,
+108, 0,116,105,109,101, 0,112, 97,100, 49, 48, 0,115,116,114,101,110,103,116,104, 0,100,105,114,101, 99,116,105,111,110, 0,
+109,105,100,108,101,118,101,108, 0, 42,112,114,111,106,101, 99,116,111,114,115, 91, 49, 48, 93, 0, 42,105,109, 97,103,101, 0,
+110,117,109, 95,112,114,111,106,101, 99,116,111,114,115, 0, 97,115,112,101, 99,116,120, 0, 97,115,112,101, 99,116,121, 0,115,
+ 99, 97,108,101,120, 0,115, 99, 97,108,101,121, 0,112,101,114, 99,101,110,116, 0,102, 97, 99,101, 67,111,117,110,116, 0,102,
+ 97, 99, 0,114,101,112,101, 97,116, 0, 42,111, 98,106,101, 99,116, 99,101,110,116,101,114, 0,115,116, 97,114,116,120, 0,115,
+116, 97,114,116,121, 0,104,101,105,103,104,116, 0,110, 97,114,114,111,119, 0,115,112,101,101,100, 0,100, 97,109,112, 0,102,
+ 97,108,108,111,102,102, 0,116,105,109,101,111,102,102,115, 0,108,105,102,101,116,105,109,101, 0,100,101,102,111,114,109,102,
+108, 97,103, 0,109,117,108,116,105, 0, 42,112,114,101,118, 67,111,115, 0,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93,
+ 0,112, 97,114,101,110,116,105,110,118, 91, 52, 93, 91, 52, 93, 0, 99,101,110,116, 91, 51, 93, 0, 42,105,110,100,101,120, 97,
+114, 0,116,111,116,105,110,100,101,120, 0,102,111,114, 99,101, 0, 42, 99,108,111,116,104, 79, 98,106,101, 99,116, 0, 42,115,
+105,109, 95,112, 97,114,109,115, 0, 42, 99,111,108,108, 95,112, 97,114,109,115, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,
+101, 0,112,116, 99, 97, 99,104,101,115, 0, 42,120, 0, 42,120,110,101,119, 0, 42,120,111,108,100, 0, 42, 99,117,114,114,101,
+110,116, 95,120,110,101,119, 0, 42, 99,117,114,114,101,110,116, 95,120, 0, 42, 99,117,114,114,101,110,116, 95,118, 0, 42,109,
+102, 97, 99,101,115, 0,110,117,109,118,101,114,116,115, 0,110,117,109,102, 97, 99,101,115, 0,116,105,109,101, 95,120, 0,116,
+105,109,101, 95,120,110,101,119, 0, 42, 98,118,104,116,114,101,101, 0, 42,118, 0, 42,100,109, 0, 99,102,114, 97, 0,111,112,
+101,114, 97,116,105,111,110, 0,118,101,114,116,101,120, 0,116,111,116,105,110,102,108,117,101,110, 99,101, 0,103,114,105,100,
+115,105,122,101, 0, 42, 98,105,110,100,105,110,102,108,117,101,110, 99,101,115, 0, 42, 98,105,110,100,111,102,102,115,101,116,
+115, 0, 42, 98,105,110,100, 99, 97,103,101, 99,111,115, 0,116,111,116, 99, 97,103,101,118,101,114,116, 0, 42,100,121,110,103,
+114,105,100, 0, 42,100,121,110,105,110,102,108,117,101,110, 99,101,115, 0, 42,100,121,110,118,101,114,116,115, 0, 42,112, 97,
+100, 50, 0,100,121,110,103,114,105,100,115,105,122,101, 0,100,121,110, 99,101,108,108,109,105,110, 91, 51, 93, 0,100,121,110,
+ 99,101,108,108,119,105,100,116,104, 0, 98,105,110,100,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42, 98,105,110,100,119,101,105,
+103,104,116,115, 0, 42, 98,105,110,100, 99,111,115, 0, 40, 42, 98,105,110,100,102,117,110, 99, 41, 40, 41, 0, 42,112,115,121,
+115, 0,116,111,116,100,109,118,101,114,116, 0,116,111,116,100,109,101,100,103,101, 0,116,111,116,100,109,102, 97, 99,101, 0,
+112,111,115,105,116,105,111,110, 0,114, 97,110,100,111,109, 95,112,111,115,105,116,105,111,110, 0, 42,102, 97, 99,101,112, 97,
+ 0,118,103,114,111,117,112, 0,112,114,111,116,101, 99,116, 0,108,118,108, 0,115, 99,117,108,112,116,108,118,108, 0,116,111,
+116,108,118,108, 0,115,105,109,112,108,101, 0, 42,102,115,115, 0, 42,116, 97,114,103,101,116, 0, 42, 97,117,120, 84, 97,114,
+103,101,116, 0,118,103,114,111,117,112, 95,110, 97,109,101, 91, 51, 50, 93, 0,107,101,101,112, 68,105,115,116, 0,115,104,114,
+105,110,107, 84,121,112,101, 0,115,104,114,105,110,107, 79,112,116,115, 0,112,114,111,106, 65,120,105,115, 0,115,117, 98,115,
+117,114,102, 76,101,118,101,108,115, 0, 42,111,114,105,103,105,110, 0,102, 97, 99,116,111,114, 0,108,105,109,105,116, 91, 50,
+ 93, 0,111,114,105,103,105,110, 79,112,116,115, 0,111,102,102,115,101,116, 95,102, 97, 99, 0, 99,114,101, 97,115,101, 95,105,
+110,110,101,114, 0, 99,114,101, 97,115,101, 95,111,117,116,101,114, 0, 99,114,101, 97,115,101, 95,114,105,109, 0,109, 97,116,
+ 95,111,102,115, 0,109, 97,116, 95,111,102,115, 95,114,105,109, 0, 42,111, 98, 95, 97,120,105,115, 0,115,116,101,112,115, 0,
+114,101,110,100,101,114, 95,115,116,101,112,115, 0,105,116,101,114, 0,115, 99,114,101,119, 95,111,102,115, 0, 97,110,103,108,
+101, 0, 42,111, 98,106,101, 99,116, 95,102,114,111,109, 0, 42,111, 98,106,101, 99,116, 95,116,111, 0,102, 97,108,108,111,102,
+102, 95,114, 97,100,105,117,115, 0, 42,108, 97,116,116, 0,112,110,116,115,119, 0,111,112,110,116,115,117, 0,111,112,110,116,
+115,118, 0,111,112,110,116,115,119, 0,116,121,112,101,117, 0,116,121,112,101,118, 0,116,121,112,101,119, 0,102,117, 0,102,
+118, 0,102,119, 0,100,117, 0,100,118, 0,100,119, 0, 42,100,101,102, 0, 42,108, 97,116,116,105, 99,101,100, 97,116, 97, 0,
+108, 97,116,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 42,101,100,105,116,108, 97,116,116, 0,118,101, 99, 91, 56, 93, 91, 51, 93,
+ 0, 42,115, 99,117,108,112,116, 0,112, 97,114,116,121,112,101, 0,112, 97,114, 49, 0,112, 97,114, 50, 0,112, 97,114, 51, 0,
+112, 97,114,115,117, 98,115,116,114, 91, 51, 50, 93, 0, 42,116,114, 97, 99,107, 0, 42,112,114,111,120,121, 0, 42,112,114,111,
+120,121, 95,103,114,111,117,112, 0, 42,112,114,111,120,121, 95,102,114,111,109, 0, 42, 97, 99,116,105,111,110, 0, 42,112,111,
+115,101,108,105, 98, 0, 42,112,111,115,101, 0, 42,103,112,100, 0, 97,118,115, 0, 42,109,112, 97,116,104, 0, 99,111,110,115,
+116,114, 97,105,110,116, 67,104, 97,110,110,101,108,115, 0,101,102,102,101, 99,116, 0,100,101,102, 98, 97,115,101, 0,109,111,
+100,105,102,105,101,114,115, 0,114,101,115,116,111,114,101, 95,109,111,100,101, 0, 42,109, 97,116, 98,105,116,115, 0, 97, 99,
+116, 99,111,108, 0,100,108,111, 99, 91, 51, 93, 0,111,114,105,103, 91, 51, 93, 0,100,115,105,122,101, 91, 51, 93, 0,100,114,
+111,116, 91, 51, 93, 0,100,113,117, 97,116, 91, 52, 93, 0,114,111,116, 65,120,105,115, 91, 51, 93, 0,100,114,111,116, 65,120,
+105,115, 91, 51, 93, 0,114,111,116, 65,110,103,108,101, 0,100,114,111,116, 65,110,103,108,101, 0,111, 98,109, 97,116, 91, 52,
+ 93, 91, 52, 93, 0, 99,111,110,115,116,105,110,118, 91, 52, 93, 91, 52, 93, 0,105,109, 97,116, 95,114,101,110, 91, 52, 93, 91,
+ 52, 93, 0,108, 97,121, 0, 99,111,108, 98,105,116,115, 0,116,114, 97,110,115,102,108, 97,103, 0,112,114,111,116,101, 99,116,
+102,108, 97,103, 0,116,114, 97, 99,107,102,108, 97,103, 0,117,112,102,108, 97,103, 0,110,108, 97,102,108, 97,103, 0,105,112,
+111,102,108, 97,103, 0,105,112,111,119,105,110, 0,115, 99, 97,102,108, 97,103, 0,115, 99, 97,118,105,115,102,108, 97,103, 0,
+ 98,111,117,110,100,116,121,112,101, 0,100,117,112,111,110, 0,100,117,112,111,102,102, 0,100,117,112,115,116, 97, 0,100,117,
+112,101,110,100, 0,115,102, 0,109, 97,115,115, 0,100, 97,109,112,105,110,103, 0,105,110,101,114,116,105, 97, 0,102,111,114,
+109,102, 97, 99,116,111,114, 0,114,100, 97,109,112,105,110,103, 0,109, 97,114,103,105,110, 0,109, 97,120, 95,118,101,108, 0,
+109,105,110, 95,118,101,108, 0,109, 95, 99,111,110,116, 97, 99,116, 80,114,111, 99,101,115,115,105,110,103, 84,104,114,101,115,
+104,111,108,100, 0,114,111,116,109,111,100,101, 0,100,116, 0,101,109,112,116,121, 95,100,114, 97,119,116,121,112,101, 0,112,
+ 97,100, 49, 91, 51, 93, 0,101,109,112,116,121, 95,100,114, 97,119,115,105,122,101, 0,100,117,112,102, 97, 99,101,115, 99, 97,
+ 0,112,114,111,112, 0,115,101,110,115,111,114,115, 0, 99,111,110,116,114,111,108,108,101,114,115, 0, 97, 99,116,117, 97,116,
+111,114,115, 0, 98, 98,115,105,122,101, 91, 51, 93, 0, 97, 99,116,100,101,102, 0,103, 97,109,101,102,108, 97,103, 0,103, 97,
+109,101,102,108, 97,103, 50, 0, 42, 98,115,111,102,116, 0,115,111,102,116,102,108, 97,103, 0, 97,110,105,115,111,116,114,111,
+112,105, 99, 70,114,105, 99,116,105,111,110, 91, 51, 93, 0, 99,111,110,115,116,114, 97,105,110,116,115, 0,110,108, 97,115,116,
+114,105,112,115, 0,104,111,111,107,115, 0,112, 97,114,116,105, 99,108,101,115,121,115,116,101,109, 0, 42,115,111,102,116, 0,
+ 42,100,117,112, 95,103,114,111,117,112, 0,102,108,117,105,100,115,105,109, 70,108, 97,103, 0,114,101,115,116,114,105, 99,116,
+102,108, 97,103, 0,115,104, 97,112,101,102,108, 97,103, 0,114,101, 99, 97,108, 99,111, 0, 98,111,100,121, 95,116,121,112,101,
+ 0, 42,102,108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 42,100,101,114,105,118,101,100, 68,101,102,111,114,
+109, 0, 42,100,101,114,105,118,101,100, 70,105,110, 97,108, 0,108, 97,115,116, 68, 97,116, 97, 77, 97,115,107, 0, 99,117,115,
+116,111,109,100, 97,116, 97, 95,109, 97,115,107, 0,115,116, 97,116,101, 0,105,110,105,116, 95,115,116, 97,116,101, 0,103,112,
+117,108, 97,109,112, 0,112, 99, 95,105,100,115, 0, 42,100,117,112,108,105,108,105,115,116, 0,105,109, 97, 95,111,102,115, 91,
+ 50, 93, 0,112, 97,100, 51, 91, 56, 93, 0, 99,117,114,105,110,100,101,120, 0, 97, 99,116,105,118,101, 0,111,114,105,103,108,
+ 97,121, 0,110,111, 95,100,114, 97,119, 0, 97,110,105,109, 97,116,101,100, 0,111,109, 97,116, 91, 52, 93, 91, 52, 93, 0,111,
+114, 99,111, 91, 51, 93, 0,100,101,102,108,101, 99,116, 0,102,111,114, 99,101,102,105,101,108,100, 0,115,104, 97,112,101, 0,
+116,101,120, 95,109,111,100,101, 0,107,105,110,107, 0,107,105,110,107, 95, 97,120,105,115, 0,122,100,105,114, 0,102, 95,115,
+116,114,101,110,103,116,104, 0,102, 95,100, 97,109,112, 0,102, 95,102,108,111,119, 0,102, 95,115,105,122,101, 0,102, 95,112,
+111,119,101,114, 0,109, 97,120,100,105,115,116, 0,109,105,110,100,105,115,116, 0,102, 95,112,111,119,101,114, 95,114, 0,109,
+ 97,120,114, 97,100, 0,109,105,110,114, 97,100, 0,112,100,101,102, 95,100, 97,109,112, 0,112,100,101,102, 95,114,100, 97,109,
+112, 0,112,100,101,102, 95,112,101,114,109, 0,112,100,101,102, 95,102,114,105, 99,116, 0,112,100,101,102, 95,114,102,114,105,
+ 99,116, 0,112,100,101,102, 95,115,116,105, 99,107,110,101,115,115, 0, 97, 98,115,111,114,112,116,105,111,110, 0,112,100,101,
+102, 95,115, 98,100, 97,109,112, 0,112,100,101,102, 95,115, 98,105,102,116, 0,112,100,101,102, 95,115, 98,111,102,116, 0, 99,
+108,117,109,112, 95,102, 97, 99, 0, 99,108,117,109,112, 95,112,111,119, 0,107,105,110,107, 95,102,114,101,113, 0,107,105,110,
+107, 95,115,104, 97,112,101, 0,107,105,110,107, 95, 97,109,112, 0,102,114,101,101, 95,101,110,100, 0,116,101,120, 95,110, 97,
+ 98,108, 97, 0, 42,114,110,103, 0,102, 95,110,111,105,115,101, 0,119,101,105,103,104,116, 91, 49, 51, 93, 0,103,108,111, 98,
+ 97,108, 95,103,114, 97,118,105,116,121, 0,114,116, 91, 51, 93, 0,116,111,116,100, 97,116, 97, 0,102,114, 97,109,101, 0,116,
+111,116,112,111,105,110,116, 0,100, 97,116, 97, 95,116,121,112,101,115, 0, 42,100, 97,116, 97, 91, 56, 93, 0, 42, 99,117,114,
+ 91, 56, 93, 0,101,120,116,114, 97,100, 97,116, 97, 0,115,116,101,112, 0,115,105,109,102,114, 97,109,101, 0,115,116, 97,114,
+116,102,114, 97,109,101, 0,101,110,100,102,114, 97,109,101, 0,101,100,105,116,102,114, 97,109,101, 0,108, 97,115,116, 95,101,
+120, 97, 99,116, 0, 99,111,109,112,114,101,115,115,105,111,110, 0,110, 97,109,101, 91, 54, 52, 93, 0,112,114,101,118, 95,110,
+ 97,109,101, 91, 54, 52, 93, 0,105,110,102,111, 91, 54, 52, 93, 0,112, 97,116,104, 91, 50, 52, 48, 93, 0, 42, 99, 97, 99,104,
+101,100, 95,102,114, 97,109,101,115, 0,109,101,109, 95, 99, 97, 99,104,101, 0, 42,101,100,105,116, 0, 40, 42,102,114,101,101,
+ 95,101,100,105,116, 41, 40, 41, 0,108,105,110, 83,116,105,102,102, 0, 97,110,103, 83,116,105,102,102, 0,118,111,108,117,109,
+101, 0,118,105,116,101,114, 97,116,105,111,110,115, 0,112,105,116,101,114, 97,116,105,111,110,115, 0,100,105,116,101,114, 97,
+116,105,111,110,115, 0, 99,105,116,101,114, 97,116,105,111,110,115, 0,107, 83, 82, 72, 82, 95, 67, 76, 0,107, 83, 75, 72, 82,
+ 95, 67, 76, 0,107, 83, 83, 72, 82, 95, 67, 76, 0,107, 83, 82, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 83, 75, 95, 83, 80, 76,
+ 84, 95, 67, 76, 0,107, 83, 83, 95, 83, 80, 76, 84, 95, 67, 76, 0,107, 86, 67, 70, 0,107, 68, 80, 0,107, 68, 71, 0,107, 76,
+ 70, 0,107, 80, 82, 0,107, 86, 67, 0,107, 68, 70, 0,107, 77, 84, 0,107, 67, 72, 82, 0,107, 75, 72, 82, 0,107, 83, 72, 82,
+ 0,107, 65, 72, 82, 0, 99,111,108,108,105,115,105,111,110,102,108, 97,103,115, 0,110,117,109, 99,108,117,115,116,101,114,105,
+116,101,114, 97,116,105,111,110,115, 0,119,101,108,100,105,110,103, 0,116,111,116,115,112,114,105,110,103, 0, 42, 98,112,111,
+105,110,116, 0, 42, 98,115,112,114,105,110,103, 0,109,115,103, 95,108,111, 99,107, 0,109,115,103, 95,118, 97,108,117,101, 0,
+110,111,100,101,109, 97,115,115, 0,110, 97,109,101,100, 86, 71, 95, 77, 97,115,115, 91, 51, 50, 93, 0,103,114, 97,118, 0,109,
+101,100,105, 97,102,114,105, 99,116, 0,114,107,108,105,109,105,116, 0,112,104,121,115,105, 99,115, 95,115,112,101,101,100, 0,
+103,111, 97,108,115,112,114,105,110,103, 0,103,111, 97,108,102,114,105, 99,116, 0,109,105,110,103,111, 97,108, 0,109, 97,120,
+103,111, 97,108, 0,100,101,102,103,111, 97,108, 0,118,101,114,116,103,114,111,117,112, 0,110, 97,109,101,100, 86, 71, 95, 83,
+111,102,116,103,111, 97,108, 91, 51, 50, 93, 0,102,117,122,122,121,110,101,115,115, 0,105,110,115,112,114,105,110,103, 0,105,
+110,102,114,105, 99,116, 0,110, 97,109,101,100, 86, 71, 95, 83,112,114,105,110,103, 95, 75, 91, 51, 50, 93, 0,101,102,114, 97,
+ 0,105,110,116,101,114,118, 97,108, 0,108,111, 99, 97,108, 0,115,111,108,118,101,114,102,108, 97,103,115, 0, 42, 42,107,101,
+121,115, 0,116,111,116,112,111,105,110,116,107,101,121, 0,115,101, 99,111,110,100,115,112,114,105,110,103, 0, 99,111,108, 98,
+ 97,108,108, 0, 98, 97,108,108,100, 97,109,112, 0, 98, 97,108,108,115,116,105,102,102, 0,115, 98, 99, 95,109,111,100,101, 0,
+ 97,101,114,111,101,100,103,101, 0,109,105,110,108,111,111,112,115, 0,109, 97,120,108,111,111,112,115, 0, 99,104,111,107,101,
+ 0,115,111,108,118,101,114, 95, 73, 68, 0,112,108, 97,115,116,105, 99, 0,115,112,114,105,110,103,112,114,101,108,111, 97,100,
+ 0, 42,115, 99,114, 97,116, 99,104, 0,115,104,101, 97,114,115,116,105,102,102, 0,105,110,112,117,115,104, 0, 42,112,111,105,
+110,116, 99, 97, 99,104,101, 0, 42,101,102,102,101, 99,116,111,114, 95,119,101,105,103,104,116,115, 0,108, 99,111,109, 91, 51,
+ 93, 0,108,114,111,116, 91, 51, 93, 91, 51, 93, 0,108,115, 99, 97,108,101, 91, 51, 93, 91, 51, 93, 0,112, 97,100, 52, 91, 52,
+ 93, 0,118,101,108, 91, 51, 93, 0, 42,102,109,100, 0,115,104,111,119, 95, 97,100,118, 97,110, 99,101,100,111,112,116,105,111,
+110,115, 0,114,101,115,111,108,117,116,105,111,110,120,121,122, 0,112,114,101,118,105,101,119,114,101,115,120,121,122, 0,114,
+101, 97,108,115,105,122,101, 0,103,117,105, 68,105,115,112,108, 97,121, 77,111,100,101, 0,114,101,110,100,101,114, 68,105,115,
+112,108, 97,121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 86, 97,108,117,101, 0,118,105,115, 99,111,115,105,116,
+121, 77,111,100,101, 0,118,105,115, 99,111,115,105,116,121, 69,120,112,111,110,101,110,116, 0,103,114, 97,118, 91, 51, 93, 0,
+ 97,110,105,109, 83,116, 97,114,116, 0, 97,110,105,109, 69,110,100, 0, 98, 97,107,101, 83,116, 97,114,116, 0, 98, 97,107,101,
+ 69,110,100, 0,103,115,116, 97,114, 0,109, 97,120, 82,101,102,105,110,101, 0,105,110,105, 86,101,108,120, 0,105,110,105, 86,
+101,108,121, 0,105,110,105, 86,101,108,122, 0, 42,111,114,103, 77,101,115,104, 0, 42,109,101,115,104, 66, 66, 0,115,117,114,
+102,100, 97,116, 97, 80, 97,116,104, 91, 50, 52, 48, 93, 0, 98, 98, 83,116, 97,114,116, 91, 51, 93, 0, 98, 98, 83,105,122,101,
+ 91, 51, 93, 0,116,121,112,101, 70,108, 97,103,115, 0,100,111,109, 97,105,110, 78,111,118,101, 99,103,101,110, 0,118,111,108,
+117,109,101, 73,110,105,116, 84,121,112,101, 0,112, 97,114,116, 83,108,105,112, 86, 97,108,117,101, 0,103,101,110,101,114, 97,
+116,101, 84,114, 97, 99,101,114,115, 0,103,101,110,101,114, 97,116,101, 80, 97,114,116,105, 99,108,101,115, 0,115,117,114,102,
+ 97, 99,101, 83,109,111,111,116,104,105,110,103, 0,115,117,114,102, 97, 99,101, 83,117, 98,100,105,118,115, 0,112, 97,114,116,
+105, 99,108,101, 73,110,102, 83,105,122,101, 0,112, 97,114,116,105, 99,108,101, 73,110,102, 65,108,112,104, 97, 0,102, 97,114,
+ 70,105,101,108,100, 83,105,122,101, 0, 42,109,101,115,104, 86,101,108,111, 99,105,116,105,101,115, 0, 99,112,115, 84,105,109,
+101, 83,116, 97,114,116, 0, 99,112,115, 84,105,109,101, 69,110,100, 0, 99,112,115, 81,117, 97,108,105,116,121, 0, 97,116,116,
+114, 97, 99,116,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0, 97,116,116,114, 97, 99,116,102,111,114, 99,101, 82, 97,
+100,105,117,115, 0,118,101,108,111, 99,105,116,121,102,111,114, 99,101, 83,116,114,101,110,103,116,104, 0,118,101,108,111, 99,
+105,116,121,102,111,114, 99,101, 82, 97,100,105,117,115, 0,108, 97,115,116,103,111,111,100,102,114, 97,109,101, 0,109,105,115,
+116,121,112,101, 0,104,111,114,114, 0,104,111,114,103, 0,104,111,114, 98, 0,122,101,110,114, 0,122,101,110,103, 0,122,101,
+110, 98, 0,102, 97,115,116, 99,111,108, 0,101,120,112,111,115,117,114,101, 0,101,120,112, 0,114, 97,110,103,101, 0,108,105,
+110,102, 97, 99, 0,108,111,103,102, 97, 99, 0,103,114, 97,118,105,116,121, 0, 97, 99,116,105,118,105,116,121, 66,111,120, 82,
+ 97,100,105,117,115, 0,115,107,121,116,121,112,101, 0,111, 99, 99,108,117,115,105,111,110, 82,101,115, 0,112,104,121,115,105,
+ 99,115, 69,110,103,105,110,101, 0,116,105, 99,114, 97,116,101, 0,109, 97,120,108,111,103,105, 99,115,116,101,112, 0,112,104,
+121,115,117, 98,115,116,101,112, 0,109, 97,120,112,104,121,115,116,101,112, 0,109,105,115,105, 0,109,105,115,116,115,116, 97,
+ 0,109,105,115,116,100,105,115,116, 0,109,105,115,116,104,105, 0,115,116, 97,114,114, 0,115,116, 97,114,103, 0,115,116, 97,
+114, 98, 0,115,116, 97,114,107, 0,115,116, 97,114,115,105,122,101, 0,115,116, 97,114,109,105,110,100,105,115,116, 0,115,116,
+ 97,114,100,105,115,116, 0,115,116, 97,114, 99,111,108,110,111,105,115,101, 0,100,111,102,115,116, 97, 0,100,111,102,101,110,
+100, 0,100,111,102,109,105,110, 0,100,111,102,109, 97,120, 0, 97,111,100,105,115,116, 0, 97,111,100,105,115,116,102, 97, 99,
+ 0, 97,111,101,110,101,114,103,121, 0, 97,111, 98,105, 97,115, 0, 97,111,109,111,100,101, 0, 97,111,115, 97,109,112, 0, 97,
+111,109,105,120, 0, 97,111, 99,111,108,111,114, 0, 97,111, 95, 97,100, 97,112,116, 95,116,104,114,101,115,104, 0, 97,111, 95,
+ 97,100, 97,112,116, 95,115,112,101,101,100, 95,102, 97, 99, 0, 97,111, 95, 97,112,112,114,111,120, 95,101,114,114,111,114, 0,
+ 97,111, 95, 97,112,112,114,111,120, 95, 99,111,114,114,101, 99,116,105,111,110, 0, 97,111, 95,105,110,100,105,114,101, 99,116,
+ 95,101,110,101,114,103,121, 0, 97,111, 95,101,110,118, 95,101,110,101,114,103,121, 0, 97,111, 95,112, 97,100, 50, 0, 97,111,
+ 95,105,110,100,105,114,101, 99,116, 95, 98,111,117,110, 99,101,115, 0, 97,111, 95,112, 97,100, 0, 97,111, 95,115, 97,109,112,
+ 95,109,101,116,104,111,100, 0, 97,111, 95,103, 97,116,104,101,114, 95,109,101,116,104,111,100, 0, 97,111, 95, 97,112,112,114,
+111,120, 95,112, 97,115,115,101,115, 0, 42, 97,111,115,112,104,101,114,101, 0, 42, 97,111,116, 97, 98,108,101,115, 0,112, 97,
+100, 91, 51, 93, 0,115,101,108, 99,111,108, 0,115,120, 0,115,121, 0, 42,108,112, 70,111,114,109, 97,116, 0, 42,108,112, 80,
+ 97,114,109,115, 0, 99, 98, 70,111,114,109, 97,116, 0, 99, 98, 80, 97,114,109,115, 0,102, 99, 99, 84,121,112,101, 0,102, 99,
+ 99, 72, 97,110,100,108,101,114, 0,100,119, 75,101,121, 70,114, 97,109,101, 69,118,101,114,121, 0,100,119, 81,117, 97,108,105,
+116,121, 0,100,119, 66,121,116,101,115, 80,101,114, 83,101, 99,111,110,100, 0,100,119, 70,108, 97,103,115, 0,100,119, 73,110,
+116,101,114,108,101, 97,118,101, 69,118,101,114,121, 0, 97,118,105, 99,111,100,101, 99,110, 97,109,101, 91, 49, 50, 56, 93, 0,
+ 42, 99,100, 80, 97,114,109,115, 0, 42,112, 97,100, 0, 99,100, 83,105,122,101, 0,113,116, 99,111,100,101, 99,110, 97,109,101,
+ 91, 49, 50, 56, 93, 0, 99,111,100,101, 99, 84,121,112,101, 0, 99,111,100,101, 99, 83,112, 97,116,105, 97,108, 81,117, 97,108,
+105,116,121, 0, 99,111,100,101, 99, 0, 99,111,100,101, 99, 70,108, 97,103,115, 0, 99,111,108,111,114, 68,101,112,116,104, 0,
+ 99,111,100,101, 99, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,109,105,110, 83,112, 97,116,105, 97,108, 81,
+117, 97,108,105,116,121, 0,109,105,110, 84,101,109,112,111,114, 97,108, 81,117, 97,108,105,116,121, 0,107,101,121, 70,114, 97,
+109,101, 82, 97,116,101, 0, 98,105,116, 82, 97,116,101, 0, 97,117,100,105,111, 99,111,100,101, 99, 84,121,112,101, 0, 97,117,
+100,105,111, 83, 97,109,112,108,101, 82, 97,116,101, 0, 97,117,100,105,111, 66,105,116, 68,101,112,116,104, 0, 97,117,100,105,
+111, 67,104, 97,110,110,101,108,115, 0, 97,117,100,105,111, 67,111,100,101, 99, 70,108, 97,103,115, 0, 97,117,100,105,111, 66,
+105,116, 82, 97,116,101, 0, 97,117,100,105,111, 95, 99,111,100,101, 99, 0,118,105,100,101,111, 95, 98,105,116,114, 97,116,101,
+ 0, 97,117,100,105,111, 95, 98,105,116,114, 97,116,101, 0, 97,117,100,105,111, 95,109,105,120,114, 97,116,101, 0, 97,117,100,
+105,111, 95, 99,104, 97,110,110,101,108,115, 0, 97,117,100,105,111, 95,112, 97,100, 0, 97,117,100,105,111, 95,118,111,108,117,
109,101, 0,103,111,112, 95,115,105,122,101, 0,114, 99, 95,109,105,110, 95,114, 97,116,101, 0,114, 99, 95,109, 97,120, 95,114,
97,116,101, 0,114, 99, 95, 98,117,102,102,101,114, 95,115,105,122,101, 0,109,117,120, 95,112, 97, 99,107,101,116, 95,115,105,
122,101, 0,109,117,120, 95,114, 97,116,101, 0,109,105,120,114, 97,116,101, 0,109, 97,105,110, 0,115,112,101,101,100, 95,111,
@@ -9461,21 +9214,20 @@ char datatoc_startup_blend[]= {
101, 82, 0,101,100,103,101, 71, 0,101,100,103,101, 66, 0,102,117,108,108,115, 99,114,101,101,110, 0,120,112,108, 97,121, 0,
121,112,108, 97,121, 0,102,114,101,113,112,108, 97,121, 0, 97,116,116,114,105, 98, 0,102,114, 97,109,101, 95,115,116,101,112,
0,115,116,101,114,101,111,109,111,100,101, 0,100,105,109,101,110,115,105,111,110,115,112,114,101,115,101,116, 0,109, 97,120,
-105,109,115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115, 0,119,
-105,110,112,111,115, 0,112,108, 97,110,101,115, 0,105,109,116,121,112,101, 0,115,117, 98,105,109,116,121,112,101, 0,113,117,
- 97,108,105,116,121, 0,100,105,115,112,108, 97,121,109,111,100,101, 0,114,112, 97,100, 49, 0,114,112, 97,100, 50, 0,115, 99,
-101,109,111,100,101, 0,114, 97,121,116,114, 97, 99,101, 95,111,112,116,105,111,110,115, 0,114, 97,121,116,114, 97, 99,101, 95,
-115,116,114,117, 99,116,117,114,101, 0,114,101,110,100,101,114,101,114, 0,111, 99,114,101,115, 0,112, 97,100, 52, 0, 97,108,
-112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, 99, 0,101,100,103,101,105,110,116, 0,115, 97,102,101,
-116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, 0,108, 97,121,101,114,115, 0, 97, 99,116,108, 97,121,
- 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,115,112, 0,121, 97,115,112, 0,102,114,115, 95,115,101, 99,
- 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114, 95,109,103,116, 95,102,108, 97,103, 0,112,111,115,116,103,
- 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,115, 97,116, 0,100,105,116,104,101,114, 95,105,110,116,101,
-110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,107,101, 95,102,105,108,116,101,114, 0, 98, 97,107,101, 95,
-109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,107,101, 95,110,111,114,109, 97,108, 95,115,112, 97, 99,101,
- 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0, 98, 97,107,101, 95,109, 97,120,100,105,115,116, 0, 98, 97,
-107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,112, 97,100, 0, 98, 97, 99,107, 98,117,102, 91, 49, 54, 48,
- 93, 0,112,105, 99, 91, 49, 54, 48, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, 0,115,
+105,109,115,105,122,101, 0,120,115, 99,104, 0,121,115, 99,104, 0,120,112, 97,114,116,115, 0,121,112, 97,114,116,115, 0,112,
+108, 97,110,101,115, 0,105,109,116,121,112,101, 0,115,117, 98,105,109,116,121,112,101, 0,113,117, 97,108,105,116,121, 0,100,
+105,115,112,108, 97,121,109,111,100,101, 0,115, 99,101,109,111,100,101, 0,114, 97,121,116,114, 97, 99,101, 95,111,112,116,105,
+111,110,115, 0,114, 97,121,116,114, 97, 99,101, 95,115,116,114,117, 99,116,117,114,101, 0,114,101,110,100,101,114,101,114, 0,
+111, 99,114,101,115, 0,112, 97,100, 52, 0, 97,108,112,104, 97,109,111,100,101, 0,111,115, 97, 0,102,114,115, 95,115,101, 99,
+ 0,101,100,103,101,105,110,116, 0,115, 97,102,101,116,121, 0, 98,111,114,100,101,114, 0,100,105,115,112,114,101, 99,116, 0,
+108, 97,121,101,114,115, 0, 97, 99,116,108, 97,121, 0,109, 98,108,117,114, 95,115, 97,109,112,108,101,115, 0,120, 97,115,112,
+ 0,121, 97,115,112, 0,102,114,115, 95,115,101, 99, 95, 98, 97,115,101, 0,103, 97,117,115,115, 0, 99,111,108,111,114, 95,109,
+103,116, 95,102,108, 97,103, 0,112,111,115,116,103, 97,109,109, 97, 0,112,111,115,116,104,117,101, 0,112,111,115,116,115, 97,
+116, 0,100,105,116,104,101,114, 95,105,110,116,101,110,115,105,116,121, 0, 98, 97,107,101, 95,111,115, 97, 0, 98, 97,107,101,
+ 95,102,105,108,116,101,114, 0, 98, 97,107,101, 95,109,111,100,101, 0, 98, 97,107,101, 95,102,108, 97,103, 0, 98, 97,107,101,
+ 95,110,111,114,109, 97,108, 95,115,112, 97, 99,101, 0, 98, 97,107,101, 95,113,117, 97,100, 95,115,112,108,105,116, 0, 98, 97,
+107,101, 95,109, 97,120,100,105,115,116, 0, 98, 97,107,101, 95, 98,105, 97,115,100,105,115,116, 0, 98, 97,107,101, 95,112, 97,
+100, 0,112,105, 99, 91, 50, 52, 48, 93, 0,115,116, 97,109,112, 0,115,116, 97,109,112, 95,102,111,110,116, 95,105,100, 0,115,
116, 97,109,112, 95,117,100, 97,116, 97, 91, 49, 54, 48, 93, 0,102,103, 95,115,116, 97,109,112, 91, 52, 93, 0, 98,103, 95,115,
116, 97,109,112, 91, 52, 93, 0,115,101,113, 95,112,114,101,118, 95,116,121,112,101, 0,115,101,113, 95,114,101,110,100, 95,116,
121,112,101, 0,115,101,113, 95,102,108, 97,103, 0,112, 97,100, 53, 91, 53, 93, 0,115,105,109,112,108,105,102,121, 95,102,108,
@@ -9547,1394 +9299,1399 @@ char datatoc_startup_blend[]= {
113,117,105, 99,107, 95, 99, 97, 99,104,101, 95,115,116,101,112, 0, 42,119,111,114,108,100, 0, 42,115,101,116, 0, 98, 97,115,
101, 0, 42, 98, 97,115, 97, 99,116, 0, 42,111, 98,101,100,105,116, 0, 99,117,114,115,111,114, 91, 51, 93, 0,116,119, 99,101,
110,116, 91, 51, 93, 0,116,119,109,105,110, 91, 51, 93, 0,116,119,109, 97,120, 91, 51, 93, 0,108, 97,121, 97, 99,116, 0,108,
- 97,121, 95,117,112,100, 97,116,101,100, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 0, 99,117,115,116,111,
-109,100, 97,116, 97, 95,109, 97,115,107, 95,109,111,100, 97,108, 0, 42,101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,
-103,115, 0, 42,115,116, 97,116,115, 0, 97,117,100,105,111, 0,116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115,
- 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,
-101, 0, 42,115,111,117,110,100, 95,115, 99,114,117, 98, 95,104, 97,110,100,108,101, 0, 42,102,112,115, 95,105,110,102,111, 0,
- 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,118, 97,108,105,100, 0,100, 97,103,102,108, 97,103,115, 0,112, 97,100, 54,
- 0,112, 97,100, 53, 0, 97, 99,116,105,118,101, 95,107,101,121,105,110,103,115,101,116, 0,107,101,121,105,110,103,115,101,116,
-115, 0,103,109, 0,117,110,105,116, 0,112,104,121,115,105, 99,115, 95,115,101,116,116,105,110,103,115, 0, 98,108,101,110,100,
- 0,118,105,101,119, 0,119,105,110,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93,
- 0,118,105,101,119,105,110,118, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,
-115,105,110,118, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109,
- 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,116,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91,
- 52, 93, 0,122,102, 97, 99, 0, 99, 97,109,100,120, 0, 99, 97,109,100,121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,
-111,111,109, 0,116,119,100,114, 97,119,102,108, 97,103, 0,105,115, 95,112,101,114,115,112, 0,114,102,108, 97,103, 0,118,105,
-101,119,108,111, 99,107, 0,112,101,114,115,112, 0, 99,108,105,112, 91, 54, 93, 91, 52, 93, 0, 99,108,105,112, 95,108,111, 99,
- 97,108, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112, 98, 98, 0, 42,108,111, 99, 97,108,118,100, 0, 42,114,105, 0, 42,100,
-101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,116,104, 95,116,105,109,101,114, 0,108,118,105,101,119,113,117,
- 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,101,119, 0,103,114,105,100,118,105,101,119, 0,116,119, 97,110,
-103,108,101, 91, 51, 93, 0,112, 97,100,102, 0,114,101,103,105,111,110, 98, 97,115,101, 0,115,112, 97, 99,101,116,121,112,101,
- 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,107,104, 97,110,100,108,101,114, 91, 56, 93, 0,108, 97,121, 95,
-117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0, 98,103,112,105, 99, 98, 97,115,101, 0, 42, 98,103,112,105, 99,
- 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91, 51, 50, 93, 0,100,114, 97,119,116,121,112,101, 0,111, 98, 95,
- 99,101,110,116,114,101, 95, 99,117,114,115,111,114, 0,115, 99,101,110,101,108,111, 99,107, 0, 97,114,111,117,110,100, 0,103,
-114,105,100, 0,110,101, 97,114, 0,102, 97,114, 0,109,111,100,101,115,101,108,101, 99,116, 0,103,114,105,100,108,105,110,101,
-115, 0,103,114,105,100,115,117, 98,100,105,118, 0,103,114,105,100,102,108, 97,103, 0,116,119,116,121,112,101, 0,116,119,109,
-111,100,101, 0,116,119,102,108, 97,103, 0,112, 97,100, 50, 91, 50, 93, 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97,
-110,115,112, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,
-121,116,114, 97,110,115,112, 0,122, 98,117,102, 0,120,114, 97,121, 0,110,100,111,102,109,111,100,101, 0,110,100,111,102,102,
-105,108,116,101,114, 0, 42,112,114,111,112,101,114,116,105,101,115, 95,115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,
-111,114, 0,109, 97,115,107, 0,109,105,110, 91, 50, 93, 0,109, 97,120, 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,
-120,122,111,111,109, 0,115, 99,114,111,108,108, 0,115, 99,114,111,108,108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,
-101,101,112,122,111,111,109, 0,107,101,101,112,111,102,115, 0, 97,108,105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,
-111,108,100,119,105,110,120, 0,111,108,100,119,105,110,121, 0, 42,116, 97, 98, 95,111,102,102,115,101,116, 0,116, 97, 98, 95,
-110,117,109, 0,116, 97, 98, 95, 99,117,114, 0,114,112,116, 95,109, 97,115,107, 0,118, 50,100, 0, 42, 97,100,115, 0,103,104,
-111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110, 97,112, 0, 99,117,114,115,111,114, 86, 97,108, 0,109, 97,105,
-110, 98, 0,109, 97,105,110, 98,111, 0,109, 97,105,110, 98,117,115,101,114, 0,114,101, 95, 97,108,105,103,110, 0,112,114,101,
-118,105,101,119, 0,116,101,120,116,117,114,101, 95, 99,111,110,116,101,120,116, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,
-116, 97,105, 99,111,110, 0, 42,112,105,110,105,100, 0,114,101,110,100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,
-111,119,110, 0,122,101, 98,114, 97, 0,122,111,111,109, 0,116,105,116,108,101, 91, 51, 50, 93, 0,100,105,114, 91, 50, 52, 48,
- 93, 0,102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,
-101,100,105,116, 91, 56, 48, 93, 0,102,105,108,116,101,114, 95,103,108,111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,
-102,105,108,101, 0,115,101,108, 95,102,105,114,115,116, 0,115,101,108, 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,
-112,108, 97,121, 0,102, 95,102,112, 0,102,112, 95,115,116,114, 91, 56, 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,
-116, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,101,115, 0, 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,
-102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,111,112, 0, 42,115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,
-105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,114,101, 99,101,110,116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114,
- 0,115,121,115,116,101,109,110,114, 0,116,114,101,101, 0, 42,116,114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104,
- 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101, 97,114, 99,104, 95,116,115,101, 0,111,117,116,108,105,110,101,118,105,
-115, 0,115,116,111,114,101,102,108, 97,103, 0,115,101, 97,114, 99,104, 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, 0,
-115, 99,111,112,101,115, 0,115, 97,109,112,108,101, 95,108,105,110,101, 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, 50,
- 93, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0, 99,117,114,116,105,108,101, 0,105,109,116,121,112,101,110,114, 0,108,
-111, 99,107, 0,112,105,110, 0,100,116, 95,117,118, 0,115,116,105, 99,107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,
-104, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,101,119,108,105,110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,
-105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,110,101,110,114,115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,
-119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,109, 98,101,114, 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,
-110,101, 95,104,108,105,103,104,116, 0,111,118,101,114,119,114,105,116,101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,
-120, 95,112,101,114, 95,108,105,110,101, 0,116,120,116,115, 99,114,111,108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,
-119,114, 97,112, 0,100,111,112,108,117,103,105,110,115, 0,102,105,110,100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108,
- 97, 99,101,115,116,114, 91, 50, 53, 54, 93, 0,109, 97,114,103,105,110, 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99,
- 97, 99,104,101, 0, 42,112,121, 95,100,114, 97,119, 0, 42,112,121, 95,101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,
-111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114, 99, 97,108,108, 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,
-108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,101, 0,115, 99,114,105,112,116,110, 97,109,101, 91, 50, 53, 54, 93, 0,
-115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93, 0, 42,115, 99,114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115,
- 0, 42, 97,114,114, 97,121, 0, 99, 97, 99,104,101,115, 0, 99, 97, 99,104,101, 95,100,105,115,112,108, 97,121, 0,114,101,100,
-114, 97,119,115, 0, 42,105,100, 0, 97,115,112,101, 99,116, 0, 42, 99,117,114,102,111,110,116, 0,109,120, 0,109,121, 0, 42,
-101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,101, 0,116,101,120,102,114,111,109, 0,108,105,110,107,100,114,
- 97,103, 0,116,105,116,108,101, 91, 50, 52, 93, 0,109,101,110,117, 0,110,117,109,116,105,108,101,115,120, 0,110,117,109,116,
-105,108,101,115,121, 0,115,101,108,115,116, 97,116,101, 0,118,105,101,119,114,101, 99,116, 0, 98,111,111,107,109, 97,114,107,
-114,101, 99,116, 0,115, 99,114,111,108,108,112,111,115, 0,115, 99,114,111,108,108,104,101,105,103,104,116, 0,115, 99,114,111,
-108,108, 97,114,101, 97, 0,114,101,116,118, 97,108, 0, 97, 99,116,105,118,101, 95, 98,111,111,107,109, 97,114,107, 0,112,114,
-118, 95,119, 0,112,114,118, 95,104, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 41, 40, 41, 0, 40, 42,114,101,116,117,
-114,110,102,117,110, 99, 95,101,118,101,110,116, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95, 97,114,103,
-115, 41, 40, 41, 0, 42, 97,114,103, 49, 0, 42, 97,114,103, 50, 0, 42,109,101,110,117,112, 0, 42,112,117,112,109,101,110,117,
- 0, 42,105,109,103, 0,108,101,110, 95, 97,108,108,111, 99, 0, 99,117,114,115,111,114, 0,115, 99,114,111,108,108, 98, 97, 99,
-107, 0,104,105,115,116,111,114,121, 0,112,114,111,109,112,116, 91, 50, 53, 54, 93, 0,108, 97,110,103,117, 97,103,101, 91, 51,
- 50, 93, 0,115,101,108, 95,115,116, 97,114,116, 0,115,101,108, 95,101,110,100, 0,102,105,108,116,101,114, 91, 54, 52, 93, 0,
- 42, 97,114,101, 97, 0, 42,115,111,117,110,100, 0,115,110,100,110,114, 0,102,105,108,101,110, 97,109,101, 91, 50, 53, 54, 93,
- 0, 98,108,102, 95,105,100, 0,117,105,102,111,110,116, 95,105,100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,
-107,101,114,110,105,110,103, 0,105,116, 97,108,105, 99, 0, 98,111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120,
- 0,115,104, 97,100,121, 0,115,104, 97,100,111,119, 97,108,112,104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112,
- 97,110,101,108,116,105,116,108,101, 0,103,114,111,117,112,108, 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108,
- 0,119,105,100,103,101,116, 0,112, 97,110,101,108,122,111,111,109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,
-109,105,110,119,105,100,103,101,116, 99,104, 97,114,115, 0, 99,111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108,
- 97,116,101,115,112, 97, 99,101, 0, 98,111,120,115,112, 97, 99,101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,
-117,116,116,111,110,115,112, 97, 99,101,121, 0,112, 97,110,101,108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,
-114, 0,112, 97,100, 91, 49, 93, 0,111,117,116,108,105,110,101, 91, 52, 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,
-101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101,109, 91, 52, 93, 0,116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,
-101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0,115,104, 97,100,101,116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0,
- 97,108,112,104, 97, 95, 99,104,101, 99,107, 0,105,110,110,101,114, 95, 97,110,105,109, 91, 52, 93, 0,105,110,110,101,114, 95,
- 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 91, 52, 93, 0,105,110,110,101,114, 95,107,
-101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 91, 52, 93, 0,105,110,110,101,114, 95,
-100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, 0,119, 99,111,108, 95,114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,
-116,111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119, 99,111,108, 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,
-112,116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,101, 0,119, 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,
-110,117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,101,110,117, 0,119, 99,111,108, 95,112,117,108,108,100,111,119,
-110, 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107, 0,119, 99,111,108, 95,109,101,110,117, 95,105,116,101,109, 0,
-119, 99,111,108, 95, 98,111,120, 0,119, 99,111,108, 95,115, 99,114,111,108,108, 0,119, 99,111,108, 95,112,114,111,103,114,101,
-115,115, 0,119, 99,111,108, 95,108,105,115,116, 95,105,116,101,109, 0,119, 99,111,108, 95,115,116, 97,116,101, 0,105, 99,111,
-110,102,105,108,101, 91, 56, 48, 93, 0, 98, 97, 99,107, 91, 52, 93, 0,116,105,116,108,101, 91, 52, 93, 0,116,101,120,116, 95,
-104,105, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,
-104,101, 97,100,101,114, 95,116,101,120,116, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93,
- 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,
-110, 95,116,101,120,116, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116,
- 91, 52, 93, 0,108,105,115,116, 95,116,105,116,108,101, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,
-105,115,116, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,112, 97,110,101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,
-116,108,101, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,
-104,105, 91, 52, 93, 0,115,104, 97,100,101, 49, 91, 52, 93, 0,115,104, 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101,
- 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0,119,105,114,101, 91, 52, 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,
-109,112, 91, 52, 93, 0, 97, 99,116,105,118,101, 91, 52, 93, 0,103,114,111,117,112, 91, 52, 93, 0,103,114,111,117,112, 95, 97,
- 99,116,105,118,101, 91, 52, 93, 0,116,114, 97,110,115,102,111,114,109, 91, 52, 93, 0,118,101,114,116,101,120, 91, 52, 93, 0,
-118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 91, 52, 93, 0,101,100,103,101, 95,115,101,
-108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 95,115,101, 97,109, 91, 52, 93, 0,101,100,103,101, 95,115,104, 97,114,112, 91,
- 52, 93, 0,101,100,103,101, 95,102, 97, 99,101,115,101,108, 91, 52, 93, 0,101,100,103,101, 95, 99,114,101, 97,115,101, 91, 52,
- 93, 0,102, 97, 99,101, 91, 52, 93, 0,102, 97, 99,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,
-116, 91, 52, 93, 0,101,120,116,114, 97, 95,101,100,103,101, 95,108,101,110, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,
-101, 95, 97,110,103,108,101, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, 0,112, 97,
-100, 51, 91, 52, 93, 0,110,111,114,109, 97,108, 91, 52, 93, 0,118,101,114,116,101,120, 95,110,111,114,109, 97,108, 91, 52, 93,
- 0, 98,111,110,101, 95,115,111,108,105,100, 91, 52, 93, 0, 98,111,110,101, 95,112,111,115,101, 91, 52, 93, 0,115,116,114,105,
-112, 91, 52, 93, 0,115,116,114,105,112, 95,115,101,108,101, 99,116, 91, 52, 93, 0, 99,102,114, 97,109,101, 91, 52, 93, 0,110,
-117,114, 98, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,118,108,105,110,101, 91, 52, 93, 0, 97, 99,116, 95,115,
-112,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,
-115,101,108, 95,118,108,105,110,101, 91, 52, 93, 0,108, 97,115,116,115,101,108, 95,112,111,105,110,116, 91, 52, 93, 0,104, 97,
-110,100,108,101, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,
-108,101, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,
-101, 95,115,101,108, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93,
- 0,104, 97,110,100,108,101, 95,115,101,108, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,
-108,105,103,110, 91, 52, 93, 0,100,115, 95, 99,104, 97,110,110,101,108, 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,
-110,101,108, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,111,117,116,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101,
- 95,105,110,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,102,111, 91, 52, 93, 0, 99,111,110,115,111,108,
-101, 95,101,114,114,111,114, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95, 99,117,114,115,111,114, 91, 52, 93, 0,118,101,114,
-116,101,120, 95,115,105,122,101, 0,111,117,116,108,105,110,101, 95,119,105,100,116,104, 0,102, 97, 99,101,100,111,116, 95,115,
-105,122,101, 0, 98,112, 97,100, 0,115,121,110,116, 97,120,108, 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,
-121,110,116, 97,120, 98, 91, 52, 93, 0,115,121,110,116, 97,120,118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,
-109,111,118,105,101, 91, 52, 93, 0,105,109, 97,103,101, 91, 52, 93, 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111,
- 91, 52, 93, 0,101,102,102,101, 99,116, 91, 52, 93, 0,112,108,117,103,105,110, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,
-111,110, 91, 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,105,116,109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93,
- 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,
-115,101,108,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,105,122,101, 0,104,112, 97,
-100, 91, 55, 93, 0,112,114,101,118,105,101,119, 95, 98, 97, 99,107, 91, 52, 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,
-105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,102,105,108,101, 0,116,105,112,111, 0,116,105,110,102,111, 0,116,115,
-110,100, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115,101,113, 0,116,105,109, 97, 0,116,105,109, 97,115,101,108, 0,116,
-101,120,116, 0,116,111,111,112,115, 0,116,116,105,109,101, 0,116,110,111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,
-101,114,112,114,101,102, 0,116, 99,111,110,115,111,108,101, 0,116, 97,114,109, 91, 50, 48, 93, 0, 97, 99,116,105,118,101, 95,
-116,104,101,109,101, 95, 97,114,101, 97, 0,109,111,100,117,108,101, 91, 54, 52, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,
-112,102,108, 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,101,109,112,100,105,114, 91, 49, 54, 48, 93, 0,102,111,110,116,
-100,105,114, 91, 49, 54, 48, 93, 0,114,101,110,100,101,114,100,105,114, 91, 49, 54, 48, 93, 0,116,101,120,116,117,100,105,114,
- 91, 49, 54, 48, 93, 0,112,108,117,103,116,101,120,100,105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,115,101,113,100,105,114,
- 91, 49, 54, 48, 93, 0,112,121,116,104,111,110,100,105,114, 91, 49, 54, 48, 93, 0,115,111,117,110,100,100,105,114, 91, 49, 54,
- 48, 93, 0,105,109, 97,103,101, 95,101,100,105,116,111,114, 91, 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114,
- 91, 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 95,112,114,101,115,101,116, 0,118, 50,100, 95,109,105,110,
- 95,103,114,105,100,115,105,122,101, 0,116,105,109,101, 99,111,100,101, 95,115,116,121,108,101, 0,118,101,114,115,105,111,110,
-115, 0,100, 98,108, 95, 99,108,105, 99,107, 95,116,105,109,101, 0,103, 97,109,101,102,108, 97,103,115, 0,119,104,101,101,108,
-108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,108, 97,103, 0,108, 97,110,103,117, 97,103,101, 0,117,115,101,114,112,
-114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,105,120, 98,117,102,115,105,122,101, 0, 97,117,100,105,111,100,101,118,
-105, 99,101, 0, 97,117,100,105,111,114, 97,116,101, 0, 97,117,100,105,111,102,111,114,109, 97,116, 0, 97,117,100,105,111, 99,
-104, 97,110,110,101,108,115, 0,100,112,105, 0,101,110, 99,111,100,105,110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,
-101,110,117,116,104,114,101,115,104,111,108,100, 49, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,
-109,101,115, 0,117,105,102,111,110,116,115, 0,117,105,115,116,121,108,101,115, 0,107,101,121,109, 97,112,115, 0, 97,100,100,
-111,110,115, 0,107,101,121, 99,111,110,102,105,103,115,116,114, 91, 54, 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,
-110,100,111,109,101,109,111,114,121, 0,103,112, 95,109, 97,110,104, 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117,
- 99,108,105,100,101, 97,110,100,105,115,116, 0,103,112, 95,101,114, 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,
-115, 0,116, 98, 95,108,101,102,116,109,111,117,115,101, 0,116, 98, 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,
-104,116, 91, 51, 93, 0,116,119, 95,104,111,116,115,112,111,116, 0,116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,
-108,101,115,105,122,101, 0,116,119, 95,115,105,122,101, 0,116,101,120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,
-108,101, 99,116,114, 97,116,101, 0,119,109,100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,
-111,108,100, 0,109,101,109, 99, 97, 99,104,101,108,105,109,105,116, 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115,
- 0,102,114, 97,109,101,115,101,114,118,101,114,112,111,114,116, 0,112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111,
- 98, 99,101,110,116,101,114, 95,100,105, 97, 0,114,118,105,115,105,122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101,
- 99,101,110,116, 95,102,105,108,101,115, 0,115,109,111,111,116,104, 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,
-109,105,116, 0,110,100,111,102, 95,112, 97,110, 0,110,100,111,102, 95,114,111,116, 97,116,101, 0, 99,117,114,115,115,105,122,
-101, 0, 99,111,108,111,114, 95,112,105, 99,107,101,114, 95,116,121,112,101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104,
- 97,110,100,108,101,115, 95,110,101,119, 0,115, 99,114, 99, 97,115,116,102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105,
-116, 0,112, 97,100, 56, 0,118,101,114,115,101,109, 97,115,116,101,114, 91, 49, 54, 48, 93, 0,118,101,114,115,101,117,115,101,
-114, 91, 49, 54, 48, 93, 0,103,108, 97,108,112,104, 97, 99,108,105,112, 0,116,101,120,116, 95,114,101,110,100,101,114, 0,112,
- 97,100, 57, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,115, 99,117,108,112,116, 95,112, 97,105,110,116, 95,111,118,101,
-114,108, 97,121, 95, 99,111,108, 91, 51, 93, 0, 97,117,116,104,111,114, 91, 56, 48, 93, 0,118,101,114,116, 98, 97,115,101, 0,
-101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101, 0, 42,110,101,119,115, 99,101,110,101, 0,114,101,100,114,
- 97,119,115, 95,102,108, 97,103, 0,102,117,108,108, 0,116,101,109,112, 0,119,105,110,105,100, 0,100,111, 95,100,114, 97,119,
- 0,100,111, 95,114,101,102,114,101,115,104, 0,100,111, 95,100,114, 97,119, 95,103,101,115,116,117,114,101, 0,100,111, 95,100,
-114, 97,119, 95,112, 97,105,110,116, 99,117,114,115,111,114, 0,100,111, 95,100,114, 97,119, 95,100,114, 97,103, 0,115,119, 97,
-112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97, 99,116,105,118,101, 0, 42, 97,110,105,109,116,105,109,101,
-114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,114, 91, 56, 93, 0, 42,110,101,119,118, 0,118,101, 99, 0,
- 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,101,108,110, 97,109,101, 91, 54, 52, 93, 0,116, 97, 98,110,
- 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,102,115,120, 0,111,102,115,121, 0,115,
-105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,102,115, 0,114,117,110,116,105,109,101, 95,102,108, 97,103,
- 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,116,111,114,100,101,114, 0, 42,112, 97,110,101,108,116, 97,
- 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,116, 95,115, 99,114,111,108,108, 0,108,105,115,116, 95,115,
-105,122,101, 0,108,105,115,116, 95,108, 97,115,116, 95,108,101,110, 0,108,105,115,116, 95,103,114,105,112, 95,115,105,122,101,
- 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0, 42,118, 51, 0, 42,118, 52, 0, 42,102,117,108,108, 0, 98,
-117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,114,116,121,112,101, 0,115,112, 97, 99,101,100, 97,116, 97,
- 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,111,110,101,115, 0,119,105,110,114, 99,116, 0,100,114, 97,
-119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,110,116,121,112,101, 0, 97,108,105,103,110,109,101,110,116,
- 0,100,111, 95,100,114, 97,119, 95,111,118,101,114,108, 97,121, 0,117,105, 98,108,111, 99,107,115, 0,112, 97,110,101,108,115,
- 0, 42,104,101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,111,110,100, 97,116, 97, 0,115,117, 98,118,115,116,114, 91,
- 52, 93, 0,115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,115, 0,109,105,110,118,101,114,115,105,111,110, 0,109,105,
-110,115,117, 98,118,101,114,115,105,111,110, 0, 42, 99,117,114,115, 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101,
- 0,102,105,108,101,102,108, 97,103,115, 0,103,108,111, 98, 97,108,102, 0,114,101,118,105,115,105,111,110, 0,102,105,108,101,
-110, 97,109,101, 91, 50, 52, 48, 93, 0,110, 97,109,101, 91, 56, 48, 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114,
-105,103, 95,104,101,105,103,104,116, 0, 98,111,116,116,111,109, 0,114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115,
- 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97, 91, 51, 93, 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 49, 54,
- 48, 93, 0,100,111,110,101, 0,115,116, 97,114,116,115,116,105,108,108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,
-105,112,100, 97,116, 97, 0, 42, 99,114,111,112, 0, 42,116,114, 97,110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98,
- 97,108, 97,110, 99,101, 0, 42,105,110,115,116, 97,110, 99,101, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42,
- 99,117,114,114,101,110,116, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,
-102,115, 0,101,110,100,111,102,115, 0,109, 97, 99,104,105,110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,
-105,115,112, 0,115, 97,116, 0,109,117,108, 0,104, 97,110,100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,
-107, 0, 42,115,116,114,105,112, 0, 42,115, 99,101,110,101, 95, 99, 97,109,101,114, 97, 0,101,102,102,101, 99,116, 95,102, 97,
-100,101,114, 0,115,112,101,101,100, 95,102, 97,100,101,114, 0, 42,115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113,
- 51, 0,115,101,113, 98, 97,115,101, 0, 42,115, 99,101,110,101, 95,115,111,117,110,100, 0,108,101,118,101,108, 0,112, 97,110,
- 0,115, 99,101,110,101,110,114, 0,109,117,108,116,105, 99, 97,109, 95,115,111,117,114, 99,101, 0,115,116,114,111, 98,101, 0,
- 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,109, 95,115,116, 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,
-110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111,100,101, 0, 98,108,101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,
-111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,113, 0, 42,115,101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,
-116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97, 99,116, 95,105,109, 97,103,101,100,105,114, 91, 50, 53, 54, 93, 0,
- 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, 50, 53, 54, 93, 0,111,118,101,114, 95,111,102,115, 0,111,118,101,114, 95,
- 99,102,114, 97, 0,111,118,101,114, 95,102,108, 97,103, 0,111,118,101,114, 95, 98,111,114,100,101,114, 0,101,100,103,101, 87,
-105,100,116,104, 0,102,111,114,119, 97,114,100, 0,119,105,112,101,116,121,112,101, 0,102, 77,105,110,105, 0,102, 67,108, 97,
-109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,115,116, 0,100, 81,117, 97,108,105,116,121, 0, 98, 78,111, 67,111,109,112,
- 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,101,121, 73,110,105, 0, 83, 99, 97,108,101,120, 70,105,110, 0, 83,
- 99, 97,108,101,121, 70,105,110, 0,120, 73,110,105, 0,120, 70,105,110, 0,121, 73,110,105, 0,121, 70,105,110, 0,114,111,116,
- 73,110,105, 0,114,111,116, 70,105,110, 0,105,110,116,101,114,112,111,108, 97,116,105,111,110, 0,117,110,105,102,111,114,109,
- 95,115, 99, 97,108,101, 0, 42,102,114, 97,109,101, 77, 97,112, 0,103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,
-116, 86, 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,116,121,112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,
-116,111,116,112, 97,114,116, 0,110,111,114,109,102, 97, 99, 0,111, 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,
-120,102, 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,111,114, 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,
-109, 97,120,108,101,110, 0,100,101,102,118,101, 99, 91, 51, 93, 0,109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93,
- 0, 99,104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52, 93, 0,116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,
-115,116, 97,116,105, 99,115,116,101,112, 0,111,109, 97,116, 0,116,105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120,
- 0,102,108, 97,103, 50,110,101,103, 0,118,101,114,116,103,114,111,117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101,
- 91, 51, 50, 93, 0,118,103,114,111,117,112,110, 97,109,101, 95,118, 91, 51, 50, 93, 0, 42,107,101,121,115, 0,109,105,110,102,
- 97, 99, 0,110,114, 0,117,115,101,100, 0,117,115,101,100,101,108,101,109, 0, 42,112,111,105,110, 0,114,101,115,101,116,100,
-105,115,116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,101,121, 0,113,117, 97,108, 0,113,117, 97,108, 50, 0,116,
- 97,114,103,101,116, 78, 97,109,101, 91, 51, 50, 93, 0,116,111,103,103,108,101, 78, 97,109,101, 91, 51, 50, 93, 0,118, 97,108,
-117,101, 91, 51, 50, 93, 0,109, 97,120,118, 97,108,117,101, 91, 51, 50, 93, 0,100,101,108, 97,121, 0,100,117,114, 97,116,105,
-111,110, 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 51, 50, 93, 0,100, 97,109,112,116,105,109,101,114, 0,112,114,
-111,112,110, 97,109,101, 91, 51, 50, 93, 0,109, 97,116,110, 97,109,101, 91, 51, 50, 93, 0, 97,120,105,115,102,108, 97,103, 0,
-112,111,115,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0, 99,111,110,115,116,114, 97,105,110,116, 91, 51, 50, 93, 0, 42,
-102,114,111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,116, 91, 51, 50, 93, 0, 98,111,100,121, 91, 51, 50, 93, 0,
-111,116,121,112,101, 0,112,117,108,115,101, 0,102,114,101,113, 0,116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,107,
-115, 0,116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,102,
- 0, 98,117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91, 49,
- 50, 56, 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115, 0,116,111,116,115,108,105,110,107,115, 0, 42, 42,115,108,
-105,110,107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109, 97,115,107, 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,
-114,111,112, 91, 51, 50, 93, 0, 98,108,101,110,100,105,110, 0,112,114,105,111,114,105,116,121, 0,101,110,100, 95,114,101,115,
-101,116, 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,105,100,101,108,101,110,103,116,104, 0,109,105,110, 95,103,
- 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,114,101,102,101,114,101,110, 99,101, 95,100,105,115,116, 97,110, 99,101, 0,
-109, 97,120, 95,100,105,115,116, 97,110, 99,101, 0,114,111,108,108,111,102,102, 95,102, 97, 99,116,111,114, 0, 99,111,110,101,
- 95,105,110,110,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95, 97,110,103,108,101, 0, 99,111,
-110,101, 95,111,117,116,101,114, 95,103, 97,105,110, 0,112, 97,100, 51, 91, 50, 93, 0,112,105,116, 99,104, 0,115,111,117,110,
-100, 51, 68, 0,112, 97,100, 54, 91, 49, 93, 0, 42,109,101, 0,108,105,110, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,
-110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99, 97,108,102,108, 97,103, 0,100,121,110, 95,111,112,101,114,
- 97,116,105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93, 0,102,111,114, 99,101,114,111,116, 91, 51, 93, 0,108,105,
-110,101, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103,117,108, 97,114,118,101,108,111, 99,105,116,121, 91,
- 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101, 0,109,105,110, 0,109, 97,120, 0,114,111,116,100, 97,109,112, 0,109,105,
-110,108,111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93, 0,109,105,110,114,111,116, 91, 51, 93, 0,109, 97,120,114,
-111,116, 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, 51, 50, 93, 0, 98,117,116,115,116, 97, 0, 98,117,116,101,110,100, 0,
-100,105,115,116,114,105, 98,117,116,105,111,110, 0,105,110,116, 95, 97,114,103, 95, 49, 0,105,110,116, 95, 97,114,103, 95, 50,
- 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,108,111, 97,116, 95, 97,114,103, 95, 50, 0,116,111, 80,114,111,112, 78,
- 97,109,101, 91, 51, 50, 93, 0, 42,116,111, 79, 98,106,101, 99,116, 0, 98,111,100,121, 84,121,112,101, 0,102,105,108,101,110,
- 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,105,110, 97,109,101, 91, 54, 52, 93, 0,105,110,116, 95, 97,114,103, 0,
-102,108,111, 97,116, 95, 97,114,103, 0, 42,115,117, 98,116, 97,114,103,101,116, 0,103,111, 0, 42,110,101,119,112, 97, 99,107,
-101,100,102,105,108,101, 0, 97,116,116,101,110,117, 97,116,105,111,110, 0,100,105,115,116, 97,110, 99,101, 0, 42, 99, 97, 99,
-104,101, 0, 42,112,108, 97,121, 98, 97, 99,107, 95,104, 97,110,100,108,101, 0, 42,108, 97,109,112,114,101,110, 0,103,111, 98,
-106,101, 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93, 0, 42,112,114,111,112, 0, 99,104,105,108,100, 98, 97,115,
-101, 0,114,111,108,108, 0,104,101, 97,100, 91, 51, 93, 0,116, 97,105,108, 91, 51, 93, 0, 98,111,110,101, 95,109, 97,116, 91,
- 51, 93, 91, 51, 93, 0, 97,114,109, 95,104,101, 97,100, 91, 51, 93, 0, 97,114,109, 95,116, 97,105,108, 91, 51, 93, 0, 97,114,
-109, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,114,109, 95,114,111,108,108, 0,120,119,105,100,116,104, 0,122,119,105,100,
-116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,100, 95,104,101, 97,100, 0,114, 97,100, 95,116, 97,105,108,
- 0, 98,111,110,101, 98, 97,115,101, 0, 99,104, 97,105,110, 98, 97,115,101, 0, 42,101,100, 98,111, 0, 42, 97, 99,116, 95, 98,
-111,110,101, 0, 42, 97, 99,116, 95,101,100, 98,111,110,101, 0, 42,115,107,101,116, 99,104, 0,108, 97,121,101,114, 95,117,115,
-101,100, 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,100, 0,103,104,111,115,116,101,112, 0,103,104,111,115,116,
-115,105,122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,116,104,115,105,122,101, 0,103,104,111,115,116,115,102, 0,
-103,104,111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,116,104,101,102, 0,112, 97,116,104, 98, 99, 0,112, 97,116,
-104, 97, 99, 0, 42,112,111,105,110,116,115, 0,115,116, 97,114,116, 95,102,114, 97,109,101, 0,101,110,100, 95,102,114, 97,109,
-101, 0,103,104,111,115,116, 95,115,102, 0,103,104,111,115,116, 95,101,102, 0,103,104,111,115,116, 95, 98, 99, 0,103,104,111,
-115,116, 95, 97, 99, 0,103,104,111,115,116, 95,116,121,112,101, 0,103,104,111,115,116, 95,115,116,101,112, 0,103,104,111,115,
-116, 95,102,108, 97,103, 0,112, 97,116,104, 95,116,121,112,101, 0,112, 97,116,104, 95,115,116,101,112, 0,112, 97,116,104, 95,
-118,105,101,119,102,108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,101,102,108, 97,103, 0,112, 97,116,104, 95,115,102, 0,112,
- 97,116,104, 95,101,102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,116,104, 95, 97, 99, 0, 99,111,110,115,116,102,108, 97,103,
- 0,105,107,102,108, 97,103, 0,115,101,108,101, 99,116,102,108, 97,103, 0, 97,103,114,112, 95,105,110,100,101,120, 0, 42, 98,
-111,110,101, 0, 42, 99,104,105,108,100, 0,105,107,116,114,101,101, 0, 42, 99,117,115,116,111,109, 0, 42, 99,117,115,116,111,
-109, 95,116,120, 0,101,117,108, 91, 51, 93, 0, 99,104, 97,110, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,
-109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,104,101, 97,100, 91, 51, 93, 0,112,111,115,101, 95,116, 97,105,108,
- 91, 51, 93, 0,108,105,109,105,116,109,105,110, 91, 51, 93, 0,108,105,109,105,116,109, 97,120, 91, 51, 93, 0,115,116,105,102,
-102,110,101,115,115, 91, 51, 93, 0,105,107,115,116,114,101,116, 99,104, 0,105,107,114,111,116,119,101,105,103,104,116, 0,105,
-107,108,105,110,119,101,105,103,104,116, 0, 99,104, 97,110, 98, 97,115,101, 0, 42, 99,104, 97,110,104, 97,115,104, 0,112,114,
-111,120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100,101, 95,111,102,102,115,101,116, 91, 51, 93, 0, 99,121, 99,108,105,
- 99, 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,103,114,111,117,112,
- 0,105,107,115,111,108,118,101,114, 0, 42,105,107,100, 97,116, 97, 0, 42,105,107,112, 97,114, 97,109, 0,112,114,111,120,121,
- 95, 97, 99,116, 95, 98,111,110,101, 91, 51, 50, 93, 0,110,117,109,105,116,101,114, 0,110,117,109,115,116,101,112, 0,109,105,
-110,115,116,101,112, 0,109, 97,120,115,116,101,112, 0,115,111,108,118,101,114, 0,102,101,101,100, 98, 97, 99,107, 0,109, 97,
-120,118,101,108, 0,100, 97,109,112,109, 97,120, 0,100, 97,109,112,101,112,115, 0, 99,104, 97,110,110,101,108,115, 0, 99,117,
-115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,101,115, 0,103,114,111,117,112,115, 0, 97, 99,116,105,118,101, 95,
-109, 97,114,107,101,114, 0,105,100,114,111,111,116, 0, 42,115,111,117,114, 99,101, 0, 42,102,105,108,116,101,114, 95,103,114,
-112, 0,115,101, 97,114, 99,104,115,116,114, 91, 54, 52, 93, 0,102,105,108,116,101,114,102,108, 97,103, 0, 97,100,115, 0,116,
-105,109,101,115,108,105,100,101, 0, 42,103,114,112, 0,110, 97,109,101, 91, 51, 48, 93, 0,111,119,110,115,112, 97, 99,101, 0,
-116, 97,114,115,112, 97, 99,101, 0,101,110,102,111,114, 99,101, 0,104,101, 97,100,116, 97,105,108, 0,108,105,110, 95,101,114,
-114,111,114, 0,114,111,116, 95,101,114,114,111,114, 0, 42,116, 97,114, 0,109, 97,116,114,105,120, 91, 52, 93, 91, 52, 93, 0,
-115,112, 97, 99,101, 0,114,111,116, 79,114,100,101,114, 0,116, 97,114,110,117,109, 0,116, 97,114,103,101,116,115, 0,105,116,
-101,114, 97,116,105,111,110,115, 0,114,111,111,116, 98,111,110,101, 0,109, 97,120, 95,114,111,111,116, 98,111,110,101, 0, 42,
-112,111,108,101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,114,103,101,116, 91, 51, 50, 93, 0,112,111,108,101, 97,110,
-103,108,101, 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,103,114, 97, 98,116, 97,114,103,101,116, 91, 51, 93, 0,110,
-117,109,112,111,105,110,116,115, 0, 99,104, 97,105,110,108,101,110, 0,120,122, 83, 99, 97,108,101, 77,111,100,101, 0,114,101,
-115,101,114,118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50, 0,109,105,110,109, 97,120,102,108, 97,103, 0,115,116,117,
- 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,108, 97,103, 0,102,111,108,108,111,119,102,108, 97,103, 0,
-118,111,108,109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,108,101,110,103,116,104, 0, 98,117,108,103,101, 0,112,105,
-118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0, 97,120, 89, 0, 97,120, 90, 0,109,105,110, 76,105,109,105,
-116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,101,120,116,114, 97, 70,122, 0,105,110,118,109, 97,116, 91,
- 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112, 91, 51, 93, 0,101,120,112,111, 0,102,114,111,109, 95,109,
-105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93, 0,116,111, 95,109,105,110, 91, 51, 93, 0,116,111, 95,109,
- 97,120, 91, 51, 93, 0,114,111,116, 65,120,105,115, 0,122,109,105,110, 0,122,109, 97,120, 0,112, 97,100, 91, 57, 93, 0, 99,
-104, 97,110,110,101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116, 95, 97,120,105,115, 0,115,116,114,105,100,101, 95, 97,120,
-105,115, 0, 99,117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,116, 0, 97, 99,116,101,110,100, 0, 97, 99,116,111,102,102,
-115, 0,115,116,114,105,100,101,108,101,110, 0,115, 99, 97,108,101, 0, 98,108,101,110,100,111,117,116, 0,115,116,114,105,100,
-101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,111,102,102,115, 95, 98,111,110,101, 91, 51, 50, 93, 0,104, 97,115,105,110,
-112,117,116, 0,104, 97,115,111,117,116,112,117,116, 0,100, 97,116, 97,116,121,112,101, 0,115,111, 99,107,101,116,116,121,112,
-101, 0, 42,110,101,119, 95,115,111, 99,107, 0,110,115, 0,108,105,109,105,116, 0,115,116, 97, 99,107, 95,116,121,112,101, 0,
- 42,115,116, 97, 99,107, 95,112,116,114, 0,115,116, 97, 99,107, 95,105,110,100,101,120, 0,108,111, 99,120, 0,108,111, 99,121,
- 0,111,119,110, 95,105,110,100,101,120, 0, 42,103,114,111,117,112,115,111, 99,107, 0,116,111, 95,105,110,100,101,120, 0, 42,
-108,105,110,107, 0, 42,114,101, 99,116, 0,120,115,105,122,101, 0,121,115,105,122,101, 0, 42,110,101,119, 95,110,111,100,101,
- 0,108, 97,115,116,121, 0,111,117,116,112,117,116,115, 0, 42,115,116,111,114, 97,103,101, 0,109,105,110,105,119,105,100,116,
-104, 0,108, 97, 98,101,108, 91, 51, 50, 93, 0, 99,117,115,116,111,109, 49, 0, 99,117,115,116,111,109, 50, 0, 99,117,115,116,
-111,109, 51, 0, 99,117,115,116,111,109, 52, 0,110,101,101,100, 95,101,120,101, 99, 0,101,120,101, 99, 0, 42,116,104,114,101,
- 97,100,100, 97,116, 97, 0,116,111,116,114, 0, 98,117,116,114, 0,112,114,118,114, 0, 42, 98,108,111, 99,107, 0, 42,116,121,
-112,101,105,110,102,111, 0, 42,102,114,111,109,110,111,100,101, 0, 42,116,111,110,111,100,101, 0, 42,102,114,111,109,115,111,
- 99,107, 0, 42,116,111,115,111, 99,107, 0,110,111,100,101,115, 0,108,105,110,107,115, 0, 42,115,116, 97, 99,107, 0, 42,116,
-104,114,101, 97,100,115,116, 97, 99,107, 0,105,110,105,116, 0,115,116, 97, 99,107,115,105,122,101, 0, 99,117,114, 95,105,110,
-100,101,120, 0, 97,108,108,116,121,112,101,115, 0, 40, 42,112,114,111,103,114,101,115,115, 41, 40, 41, 0, 40, 42,115,116, 97,
-116,115, 95,100,114, 97,119, 41, 40, 41, 0, 40, 42,116,101,115,116, 95, 98,114,101, 97,107, 41, 40, 41, 0, 42,116, 98,104, 0,
- 42,112,114,104, 0, 42,115,100,104, 0, 99,121, 99,108,105, 99, 0,109,111,118,105,101, 0,115, 97,109,112,108,101,115, 0,109,
- 97,120,115,112,101,101,100, 0,109,105,110,115,112,101,101,100, 0, 99,117,114,118,101,100, 0,112,101,114, 99,101,110,116,120,
- 0,112,101,114, 99,101,110,116,121, 0, 98,111,107,101,104, 0,103, 97,109,109, 97, 0,105,109, 97,103,101, 95,105,110, 95,119,
-105,100,116,104, 0,105,109, 97,103,101, 95,105,110, 95,104,101,105,103,104,116, 0, 99,101,110,116,101,114, 95,120, 0, 99,101,
-110,116,101,114, 95,121, 0,115,112,105,110, 0,119,114, 97,112, 0,115,105,103,109, 97, 95, 99,111,108,111,114, 0,115,105,103,
-109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0,116, 49, 0,116, 50, 0,116, 51, 0,102,115,116,114,101,110,103,116,104, 0,
-102, 97,108,112,104, 97, 0,107,101,121, 91, 52, 93, 0, 97,108,103,111,114,105,116,104,109, 0, 99,104, 97,110,110,101,108, 0,
-120, 49, 0,120, 50, 0,121, 49, 0,121, 50, 0,102, 97, 99, 95,120, 49, 0,102, 97, 99, 95,120, 50, 0,102, 97, 99, 95,121, 49,
- 0,102, 97, 99, 95,121, 50, 0, 99,111,108,110, 97,109,101, 91, 51, 50, 93, 0, 98,107,116,121,112,101, 0,114,111,116, 97,116,
-105,111,110, 0,103, 97,109, 99,111, 0,110,111, 95,122, 98,117,102, 0,102,115,116,111,112, 0,109, 97,120, 98,108,117,114, 0,
- 98,116,104,114,101,115,104, 0, 42,100,105, 99,116, 0, 42,110,111,100,101, 0, 97,110,103,108,101, 95,111,102,115, 0, 99,111,
-108,109,111,100, 0,109,105,120, 0,116,104,114,101,115,104,111,108,100, 0,102, 97,100,101, 0,109, 0, 99, 0,106,105,116, 0,
-112,114,111,106, 0,102,105,116, 0,115,108,111,112,101, 91, 51, 93, 0,112,111,119,101,114, 91, 51, 93, 0,108,105,102,116, 95,
-108,103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95,105,110,118, 91, 51, 93, 0,108,105,109, 99,104, 97,110, 0,117,110,115,112,
-105,108,108, 0,108,105,109,115, 99, 97,108,101, 0,117,115,112,105,108,108,114, 0,117,115,112,105,108,108,103, 0,117,115,112,
-105,108,108, 98, 0,115,104,111,114,116,121, 0,109,105,110,116, 97, 98,108,101, 0,109, 97,120,116, 97, 98,108,101, 0,101,120,
-116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50, 93, 0, 42, 99,117,114,118,101, 0, 42,116, 97, 98,108,101,
- 0, 42,112,114,101,109,117,108,116, 97, 98,108,101, 0,112,114,101,115,101,116, 0, 99,104, 97,110,103,101,100, 95,116,105,109,
-101,115,116, 97,109,112, 0, 99,117,114,114, 0, 99,108,105,112,114, 0, 99,109, 91, 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93,
- 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91, 51, 93, 0,115, 97,109,112,108,101, 91, 51, 93, 0,120, 95,114,
-101,115,111,108,117,116,105,111,110, 0,100, 97,116, 97, 95,114, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,103, 91, 50, 53, 54,
- 93, 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,108,117,109, 97, 91, 50, 53, 54, 93, 0,115, 97,109,
-112,108,101, 95,102,117,108,108, 0,115, 97,109,112,108,101, 95,108,105,110,101,115, 0, 97, 99, 99,117,114, 97, 99,121, 0,119,
- 97,118,101,102,114,109, 95,109,111,100,101, 0,119, 97,118,101,102,114,109, 95, 97,108,112,104, 97, 0,119, 97,118,101,102,114,
-109, 95,121,102, 97, 99, 0,119, 97,118,101,102,114,109, 95,104,101,105,103,104,116, 0,118,101, 99,115, 99,111,112,101, 95, 97,
-108,112,104, 97, 0,118,101, 99,115, 99,111,112,101, 95,104,101,105,103,104,116, 0,109,105,110,109, 97,120, 91, 51, 93, 91, 50,
- 93, 0,104,105,115,116, 0, 42,119, 97,118,101,102,111,114,109, 95, 49, 0, 42,119, 97,118,101,102,111,114,109, 95, 50, 0, 42,
-119, 97,118,101,102,111,114,109, 95, 51, 0, 42,118,101, 99,115, 99,111,112,101, 0,119, 97,118,101,102,111,114,109, 95,116,111,
-116, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101, 0,109,116,101,120, 0, 42,105, 99,111,110, 95,105,109, 98,
-117,102, 0,105, 99,111,110, 95,102,105,108,101,112, 97,116,104, 91, 50, 52, 48, 93, 0,110,111,114,109, 97,108, 95,119,101,105,
-103,104,116, 0,111, 98, 95,109,111,100,101, 0,106,105,116,116,101,114, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101,
- 95,114, 97,100,105,117,115, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101, 95,102, 97, 99,116,111,114, 0,114, 97,116,
-101, 0,114,103, 98, 91, 51, 93, 0,115, 99,117,108,112,116, 95,112,108, 97,110,101, 0,112,108, 97,110,101, 95,111,102,102,115,
-101,116, 0,115, 99,117,108,112,116, 95,116,111,111,108, 0,118,101,114,116,101,120,112, 97,105,110,116, 95,116,111,111,108, 0,
-105,109, 97,103,101,112, 97,105,110,116, 95,116,111,111,108, 0,112, 97,100, 51, 91, 53, 93, 0, 97,117,116,111,115,109,111,111,
-116,104, 95,102, 97, 99,116,111,114, 0, 99,114,101, 97,115,101, 95,112,105,110, 99,104, 95,102, 97, 99,116,111,114, 0,112,108,
- 97,110,101, 95,116,114,105,109, 0,116,101,120,116,117,114,101, 95,115, 97,109,112,108,101, 95, 98,105, 97,115, 0,116,101,120,
-116,117,114,101, 95,111,118,101,114,108, 97,121, 95, 97,108,112,104, 97, 0,117,110,112,114,111,106,101, 99,116,101,100, 95,114,
- 97,100,105,117,115, 0, 97,100,100, 95, 99,111,108, 91, 51, 93, 0,115,117, 98, 95, 99,111,108, 91, 51, 93, 0, 97, 99,116,105,
-118,101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,110,101, 0, 97, 99,116,105,118,101, 95,109, 97,115,107, 0,
- 42,108, 97,121,101,114,115, 0,116,111,116,108, 97,121,101,114, 0,109, 97,120,108, 97,121,101,114, 0,116,111,116,115,105,122,
-101, 0, 42,112,111,111,108, 0, 42,101,120,116,101,114,110, 97,108, 0,114,111,116, 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0,
- 42,103,114,111,117,110,100, 0,119, 97,110,100,101,114, 91, 51, 93, 0,114,101,115,116, 95,108,101,110,103,116,104, 0,112, 97,
-114,116,105, 99,108,101, 95,105,110,100,101,120, 91, 50, 93, 0,100,101,108,101,116,101, 95,102,108, 97,103, 0,110,117,109, 0,
-112, 97,114,101,110,116, 0,112, 97, 91, 52, 93, 0,119, 91, 52, 93, 0,102,117,118, 91, 52, 93, 0,102,111,102,102,115,101,116,
- 0,114,116, 91, 50, 93, 0,112,114,101,118, 95,115,116, 97,116,101, 0, 42,104, 97,105,114, 0, 42, 98,111,105,100, 0,100,105,
-101,116,105,109,101, 0,110,117,109, 95,100,109, 99, 97, 99,104,101, 0,104, 97,105,114, 95,105,110,100,101,120, 0, 97,108,105,
-118,101, 0,115,112,114,105,110,103, 95,107, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 99,111,110,115,116, 97,110,116, 0,
-121,105,101,108,100, 95,114, 97,116,105,111, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 98, 97,108, 97,110, 99,101, 0,121,
-105,101,108,100, 95, 98, 97,108, 97,110, 99,101, 0,118,105,115, 99,111,115,105,116,121, 95,111,109,101,103, 97, 0,118,105,115,
- 99,111,115,105,116,121, 95, 98,101,116, 97, 0,115,116,105,102,102,110,101,115,115, 95,107, 0,115,116,105,102,102,110,101,115,
-115, 95,107,110,101, 97,114, 0,114,101,115,116, 95,100,101,110,115,105,116,121, 0, 98,117,111,121, 97,110, 99,121, 0,115,112,
-114,105,110,103, 95,102,114, 97,109,101,115, 0, 42, 98,111,105,100,115, 0, 42,102,108,117,105,100, 0,100,105,115,116,114, 0,
-112,104,121,115,116,121,112,101, 0, 97,118,101,109,111,100,101, 0,114,101, 97, 99,116,101,118,101,110,116, 0,100,114, 97,119,
- 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,115,105,122,101, 0, 99,104,105,108,100,116,121,112,101, 0,114,101,110,
- 95, 97,115, 0,115,117, 98,102,114, 97,109,101,115, 0,100,114, 97,119, 95, 99,111,108, 0,114,101,110, 95,115,116,101,112, 0,
-104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115, 95,115,116,101,112, 0, 97,100, 97,112,116, 95, 97,110,103,108,101, 0,
- 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102,114,111,109, 0,105,110,116,101,103,114, 97,116,111,114, 0, 98, 98, 95,
- 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112,108,105,116, 0, 98, 98, 95, 97,110,105,109, 0, 98, 98, 95,115,112,108,
-105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116,105,108,116, 0, 98, 98, 95,114, 97,110,100, 95,116,105,108,116, 0, 98,
- 98, 95,111,102,102,115,101,116, 91, 50, 93, 0, 99,111,108,111,114, 95,118,101, 99, 95,109, 97,120, 0,115,105,109,112,108,105,
-102,121, 95,114,101,102,115,105,122,101, 0,115,105,109,112,108,105,102,121, 95,114, 97,116,101, 0,115,105,109,112,108,105,102,
-121, 95,116,114, 97,110,115,105,116,105,111,110, 0,115,105,109,112,108,105,102,121, 95,118,105,101,119,112,111,114,116, 0,116,
-105,109,101,116,119,101, 97,107, 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114, 0,103,114,105,100, 95,114, 97,
-110,100, 0,103,114,105,100, 95,114,101,115, 0,101,102,102,101, 99,116,111,114, 95, 97,109,111,117,110,116, 0,112, 97,114,116,
-102, 97, 99, 0,116, 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,114,101, 97, 99,116,102, 97, 99, 0,111, 98, 95,
-118,101,108, 91, 51, 93, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,114,111,116,102, 97,
- 99, 0,114, 97,110,100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0, 97, 99, 99, 91, 51, 93, 0,100,
-114, 97,103,102, 97, 99, 0, 98,114,111,119,110,102, 97, 99, 0,114, 97,110,100,108,101,110,103,116,104, 0, 99,104,105,108,100,
- 95,110, 98,114, 0,114,101,110, 95, 99,104,105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,116,115, 0, 99,104,105,108,100,
-115,105,122,101, 0, 99,104,105,108,100,114, 97,110,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,100, 0, 99,104,105,108,
-100,102,108, 97,116, 0, 99,108,117,109,112,112,111,119, 0,107,105,110,107, 95,102,108, 97,116, 0,107,105,110,107, 95, 97,109,
-112, 95, 99,108,117,109,112, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,122,101, 0,114,111,117,103,104,
- 50, 0,114,111,117,103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,101,115, 0,114,111,117,103,104,
- 95,101,110,100, 0,114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,110,103,116,104, 0, 99,108,101,
-110,103,116,104, 95,116,104,114,101,115, 0,112, 97,114,116,105,110,103, 95,102, 97, 99, 0,112, 97,114,116,105,110,103, 95,109,
-105,110, 0,112, 97,114,116,105,110,103, 95,109, 97,120, 0, 98,114, 97,110, 99,104, 95,116,104,114,101,115, 0,100,114, 97,119,
- 95,108,105,110,101, 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104, 95,101,110,100, 0,116,114, 97,
-105,108, 95, 99,111,117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,100,117,112,108,105,119,101,105,103,104,116,
-115, 0, 42,101,102,102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98, 95,111, 98, 0, 42,112,100, 50,
- 0, 42,112, 97,114,116, 0, 42,112, 97,114,116,105, 99,108,101,115, 0, 42, 42,112, 97,116,104, 99, 97, 99,104,101, 0, 42, 42,
- 99,104,105,108,100, 99, 97, 99,104,101, 0,112, 97,116,104, 99, 97, 99,104,101, 98,117,102,115, 0, 99,104,105,108,100, 99, 97,
- 99,104,101, 98,117,102,115, 0, 42, 99,108,109,100, 0, 42,104, 97,105,114, 95,105,110, 95,100,109, 0, 42,104, 97,105,114, 95,
-111,117,116, 95,100,109, 0, 42,116, 97,114,103,101,116, 95,111, 98, 0, 42,108, 97,116,116,105, 99,101, 0,116,114,101,101, 95,
-102,114, 97,109,101, 0, 98,118,104,116,114,101,101, 95,102,114, 97,109,101, 0, 99,104,105,108,100, 95,115,101,101,100, 0,116,
-111,116,117,110,101,120,105,115,116, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97, 99,104,101,100, 0,116,111,116,
- 99,104,105,108,100, 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,111,116,107,101,121,101,100, 0,
- 98, 97,107,101,115,112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 51, 50, 93, 0,118,103,114,111,117,
-112, 91, 49, 50, 93, 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,100, 97,116, 97, 0, 42,101,102,
-102,101, 99,116,111,114,115, 0, 42,102,108,117,105,100, 95,115,112,114,105,110,103,115, 0,116,111,116, 95,102,108,117,105,100,
-115,112,114,105,110,103,115, 0, 97,108,108,111, 99, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 42,116,114,101,101,
- 0, 42,112,100,100, 0, 42,102,114, 97,110,100, 0, 67,100,105,115, 0, 67,118,105, 0,115,116,114,117, 99,116,117,114, 97,108,
- 0, 98,101,110,100,105,110,103, 0,109, 97,120, 95, 98,101,110,100, 0,109, 97,120, 95,115,116,114,117, 99,116, 0,109, 97,120,
- 95,115,104,101, 97,114, 0, 97,118,103, 95,115,112,114,105,110,103, 95,108,101,110, 0,116,105,109,101,115, 99, 97,108,101, 0,
-101,102,102, 95,102,111,114, 99,101, 95,115, 99, 97,108,101, 0,101,102,102, 95,119,105,110,100, 95,115, 99, 97,108,101, 0,115,
-105,109, 95,116,105,109,101, 95,111,108,100, 0,118,101,108,111, 99,105,116,121, 95,115,109,111,111,116,104, 0, 99,111,108,108,
-105,100,101,114, 95,102,114,105, 99,116,105,111,110, 0,115,116,101,112,115, 80,101,114, 70,114, 97,109,101, 0,112,114,101,114,
-111,108,108, 0,109, 97,120,115,112,114,105,110,103,108,101,110, 0,115,111,108,118,101,114, 95,116,121,112,101, 0,118,103,114,
-111,117,112, 95, 98,101,110,100, 0,118,103,114,111,117,112, 95,109, 97,115,115, 0,118,103,114,111,117,112, 95,115,116,114,117,
- 99,116, 0,115,104, 97,112,101,107,101,121, 95,114,101,115,116, 0,112,114,101,115,101,116,115, 0,114,101,115,101,116, 0, 42,
- 99,111,108,108,105,115,105,111,110, 95,108,105,115,116, 0,101,112,115,105,108,111,110, 0,115,101,108,102, 95,102,114,105, 99,
-116,105,111,110, 0,115,101,108,102,101,112,115,105,108,111,110, 0,114,101,112,101,108, 95,102,111,114, 99,101, 0,100,105,115,
-116, 97,110, 99,101, 95,114,101,112,101,108, 0,115,101,108,102, 95,108,111,111,112, 95, 99,111,117,110,116, 0,108,111,111,112,
- 95, 99,111,117,110,116, 0,112,114,101,115,115,117,114,101, 0,116,104,105, 99,107,110,101,115,115, 0,115,116,114,111,107,101,
-115, 0,102,114, 97,109,101,110,117,109, 0, 42, 97, 99,116,102,114, 97,109,101, 0,103,115,116,101,112, 0,105,110,102,111, 91,
- 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, 95,115,105,122,101, 0,115, 98,117,102,102,101,114, 95,115,102,108, 97,103, 0,
- 42,115, 98,117,102,102,101,114, 0,108,105,115,116, 0,112,114,105,110,116,108,101,118,101,108, 0,115,116,111,114,101,108,101,
-118,101,108, 0, 42,114,101,112,111,114,116,116,105,109,101,114, 0, 42,119,105,110,100,114, 97,119, 97, 98,108,101, 0, 42,119,
-105,110, 97, 99,116,105,118,101, 0,119,105,110,100,111,119,115, 0,105,110,105,116,105, 97,108,105,122,101,100, 0,102,105,108,
-101, 95,115, 97,118,101,100, 0,111,112, 95,117,110,100,111, 95,100,101,112,116,104, 0,111,112,101,114, 97,116,111,114,115, 0,
-113,117,101,117,101, 0,114,101,112,111,114,116,115, 0,106,111, 98,115, 0,112, 97,105,110,116, 99,117,114,115,111,114,115, 0,
-100,114, 97,103,115, 0,107,101,121, 99,111,110,102,105,103,115, 0, 42,100,101,102, 97,117,108,116, 99,111,110,102, 0,116,105,
-109,101,114,115, 0, 42, 97,117,116,111,115, 97,118,101,116,105,109,101,114, 0, 42,103,104,111,115,116,119,105,110, 0,103,114,
- 97, 98, 99,117,114,115,111,114, 0, 42,115, 99,114,101,101,110, 0, 42,110,101,119,115, 99,114,101,101,110, 0,115, 99,114,101,
-101,110,110, 97,109,101, 91, 51, 50, 93, 0,112,111,115,120, 0,112,111,115,121, 0,119,105,110,100,111,119,115,116, 97,116,101,
- 0,109,111,110,105,116,111,114, 0,108, 97,115,116, 99,117,114,115,111,114, 0,109,111,100, 97,108, 99,117,114,115,111,114, 0,
- 97,100,100,109,111,117,115,101,109,111,118,101, 0, 42,101,118,101,110,116,115,116, 97,116,101, 0, 42, 99,117,114,115,119,105,
-110, 0, 42,116,119,101, 97,107, 0,100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,119,102, 97,105,108, 0, 42,100,114,
- 97,119,100, 97,116, 97, 0,109,111,100, 97,108,104, 97,110,100,108,101,114,115, 0,115,117, 98,119,105,110,100,111,119,115, 0,
-103,101,115,116,117,114,101, 0,105,100,110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,112,118, 97,108,117,101, 0,115,104,105,
-102,116, 0, 99,116,114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,105,102,105,101,114, 0,109, 97,
-112,116,121,112,101, 0, 42,112,116,114, 0,105,116,101,109,115, 0,115,112, 97, 99,101,105,100, 0,114,101,103,105,111,110,105,
-100, 0,107,109,105, 95,105,100, 0, 40, 42,112,111,108,108, 41, 40, 41, 0, 42,109,111,100, 97,108, 95,105,116,101,109,115, 0,
- 98, 97,115,101,110, 97,109,101, 91, 54, 52, 93, 0, 97, 99,116,107,101,121,109, 97,112, 0, 42, 99,117,115,116,111,109,100, 97,
-116, 97, 0, 42,112,121, 95,105,110,115,116, 97,110, 99,101, 0, 42,114,101,112,111,114,116,115, 0,109, 97, 99,114,111, 0, 42,
-111,112,109, 0, 42,101,100, 97,116, 97, 0,105,110,102,108,117,101,110, 99,101, 0, 42, 99,111,101,102,102,105, 99,105,101,110,
-116,115, 0, 97,114,114, 97,121,115,105,122,101, 0,112,111,108,121, 95,111,114,100,101,114, 0, 97,109,112,108,105,116,117,100,
-101, 0,112,104, 97,115,101, 95,109,117,108,116,105,112,108,105,101,114, 0,112,104, 97,115,101, 95,111,102,102,115,101,116, 0,
-118, 97,108,117,101, 95,111,102,102,115,101,116, 0,109,105,100,118, 97,108, 0, 98,101,102,111,114,101, 95,109,111,100,101, 0,
- 97,102,116,101,114, 95,109,111,100,101, 0, 98,101,102,111,114,101, 95, 99,121, 99,108,101,115, 0, 97,102,116,101,114, 95, 99,
-121, 99,108,101,115, 0,114,101, 99,116, 0,112,104, 97,115,101, 0,109,111,100,105,102,105, 99, 97,116,105,111,110, 0,115,116,
-101,112, 95,115,105,122,101, 0, 42,114,110, 97, 95,112, 97,116,104, 0,112, 99,104, 97,110, 95,110, 97,109,101, 91, 51, 50, 93,
- 0,116,114, 97,110,115, 67,104, 97,110, 0,105,100,116,121,112,101, 0,116, 97,114,103,101,116,115, 91, 56, 93, 0,110,117,109,
- 95,116, 97,114,103,101,116,115, 0,118, 97,114,105, 97, 98,108,101,115, 0,101,120,112,114,101,115,115,105,111,110, 91, 50, 53,
- 54, 93, 0, 42,101,120,112,114, 95, 99,111,109,112, 0,118,101, 99, 91, 50, 93, 0, 42,102,112,116, 0, 97,114,114, 97,121, 95,
-105,110,100,101,120, 0, 99,111,108,111,114, 95,109,111,100,101, 0, 99,111,108,111,114, 91, 51, 93, 0,102,114,111,109, 91, 49,
- 50, 56, 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, 97,112,112,105,110,103,115, 0,115,116,114,105,112,115, 0, 42,114,101,109,
- 97,112, 0,102, 99,117,114,118,101,115, 0,115,116,114,105,112, 95,116,105,109,101, 0, 98,108,101,110,100,109,111,100,101, 0,
-101,120,116,101,110,100,109,111,100,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0,103,114,111,117,112,109,111,100,101, 0,107,
-101,121,105,110,103,102,108, 97,103, 0,112, 97,116,104,115, 0,116,121,112,101,105,110,102,111, 91, 54, 52, 93, 0, 97, 99,116,
-105,118,101, 95,112, 97,116,104, 0, 42,116,109,112, 97, 99,116, 0,110,108, 97, 95,116,114, 97, 99,107,115, 0, 42, 97, 99,116,
-115,116,114,105,112, 0,100,114,105,118,101,114,115, 0,111,118,101,114,114,105,100,101,115, 0, 97, 99,116, 95, 98,108,101,110,
-100,109,111,100,101, 0, 97, 99,116, 95,101,120,116,101,110,100,109,111,100,101, 0, 97, 99,116, 95,105,110,102,108,117,101,110,
- 99,101, 0,114,117,108,101, 0,111,112,116,105,111,110,115, 0,102,101, 97,114, 95,102, 97, 99,116,111,114, 0,115,105,103,110,
- 97,108, 95,105,100, 0,108,111,111,107, 95, 97,104,101, 97,100, 0,111,108,111, 99, 91, 51, 93, 0,113,117,101,117,101, 95,115,
-105,122,101, 0,119, 97,110,100,101,114, 0,102,108,101,101, 95,100,105,115,116, 97,110, 99,101, 0,104,101, 97,108,116,104, 0,
-115,116, 97,116,101, 95,105,100, 0,114,117,108,101,115, 0, 99,111,110,100,105,116,105,111,110,115, 0, 97, 99,116,105,111,110,
-115, 0,114,117,108,101,115,101,116, 95,116,121,112,101, 0,114,117,108,101, 95,102,117,122,122,105,110,101,115,115, 0,108, 97,
-115,116, 95,115,116, 97,116,101, 95,105,100, 0,108, 97,110,100,105,110,103, 95,115,109,111,111,116,104,110,101,115,115, 0, 98,
- 97,110,107,105,110,103, 0, 97,103,103,114,101,115,115,105,111,110, 0, 97,105,114, 95,109,105,110, 95,115,112,101,101,100, 0,
- 97,105,114, 95,109, 97,120, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95, 97, 99, 99, 0, 97,105,114, 95,109, 97,
-120, 95, 97,118,101, 0, 97,105,114, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,106,117,
-109,112, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120,
- 95, 97, 99, 99, 0,108, 97,110,100, 95,109, 97,120, 95, 97,118,101, 0,108, 97,110,100, 95,112,101,114,115,111,110, 97,108, 95,
-115,112, 97, 99,101, 0,108, 97,110,100, 95,115,116,105, 99,107, 95,102,111,114, 99,101, 0,115,116, 97,116,101,115, 0, 42,115,
-109,100, 0, 42,102,108,117,105,100, 95,103,114,111,117,112, 0, 42, 99,111,108,108, 95,103,114,111,117,112, 0, 42,119,116, 0,
- 42,116,101,120, 95,119,116, 0, 42,116,101,120, 95,115,104, 97,100,111,119, 0, 42,115,104, 97,100,111,119, 0,112, 48, 91, 51,
- 93, 0,112, 49, 91, 51, 93, 0,100,120, 0,111,109,101,103, 97, 0,116,101,109,112, 65,109, 98, 0, 98,101,116, 97, 0,114,101,
-115, 91, 51, 93, 0, 97,109,112,108,105,102,121, 0,109, 97,120,114,101,115, 0,118,105,101,119,115,101,116,116,105,110,103,115,
- 0,110,111,105,115,101, 0,100,105,115,115, 95,112,101,114, 99,101,110,116, 0,100,105,115,115, 95,115,112,101,101,100, 0,114,
-101,115, 95,119,116, 91, 51, 93, 0,100,120, 95,119,116, 0,118, 51,100,110,117,109, 0, 99, 97, 99,104,101, 95, 99,111,109,112,
- 0, 99, 97, 99,104,101, 95,104,105,103,104, 95, 99,111,109,112, 0, 42,112,111,105,110,116, 95, 99, 97, 99,104,101, 91, 50, 93,
- 0,112,116, 99, 97, 99,104,101,115, 91, 50, 93, 0, 98,111,114,100,101,114, 95, 99,111,108,108,105,115,105,111,110,115, 0,116,
-105,109,101, 95,115, 99, 97,108,101, 0,118,111,114,116,105, 99,105,116,121, 0,118,101,108,111, 99,105,116,121, 91, 50, 93, 0,
-118,101,108, 95,109,117,108,116,105, 0,118,103,114,112, 95,104,101, 97,116, 95,115, 99, 97,108,101, 91, 50, 93, 0,118,103,114,
-111,117,112, 95,102,108,111,119, 0,118,103,114,111,117,112, 95,100,101,110,115,105,116,121, 0,118,103,114,111,117,112, 95,104,
-101, 97,116, 0, 42,112,111,105,110,116,115, 95,111,108,100, 0, 42,118,101,108, 0,109, 97,116, 95,111,108,100, 91, 52, 93, 91,
- 52, 93, 0, 0, 84, 89, 80, 69,205, 1, 0, 0, 99,104, 97,114, 0,117, 99,104, 97,114, 0,115,104,111,114,116, 0,117,115,104,
-111,114,116, 0,105,110,116, 0,108,111,110,103, 0,117,108,111,110,103, 0,102,108,111, 97,116, 0,100,111,117, 98,108,101, 0,
-118,111,105,100, 0, 76,105,110,107, 0, 76,105,110,107, 68, 97,116, 97, 0, 76,105,115,116, 66, 97,115,101, 0,118,101, 99, 50,
-115, 0,118,101, 99, 50,102, 0,114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,101,114,116,121, 68, 97,116, 97,
- 0, 73, 68, 80,114,111,112,101,114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,105,108,101, 68, 97,116, 97, 0,
- 80,114,101,118,105,101,119, 73,109, 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79, 98,106,101, 99,116, 0, 73,112,
-111, 67,117,114,118,101, 0, 66, 80,111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0, 73,112,111, 0, 75,101,121, 66,
-108,111, 99,107, 0, 75,101,121, 0, 65,110,105,109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,110,101, 0, 84,101,120,116, 77,
- 97,114,107,101,114, 0, 84,101,120,116, 0, 80, 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,109,101,114, 97, 0, 73,109, 97,
-103,101, 85,115,101,114, 0, 83, 99,101,110,101, 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,120,116,117,114,101, 0, 97,110,
-105,109, 0, 82,101,110,100,101,114, 82,101,115,117,108,116, 0, 77, 84,101,120, 0, 84,101,120, 0, 80,108,117,103,105,110, 84,
-101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,110,100, 0, 69,110,118, 77, 97,112, 0, 73,109, 66,117,102,
- 0, 80,111,105,110,116, 68,101,110,115,105,116,121, 0, 67,117,114,118,101, 77, 97,112,112,105,110,103, 0, 86,111,120,101,108,
- 68, 97,116, 97, 0, 98, 78,111,100,101, 84,114,101,101, 0, 84,101,120, 77, 97,112,112,105,110,103, 0, 76, 97,109,112, 0, 86,
-111,108,117,109,101, 83,101,116,116,105,110,103,115, 0, 77, 97,116,101,114,105, 97,108, 0, 71,114,111,117,112, 0, 86, 70,111,
-110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116, 97, 69,108,101,109, 0, 66,111,117,110,100, 66,111,120, 0, 77,
-101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,114, 73,110,102,111, 0, 84,101,120,116, 66,111,120, 0, 69,100,
-105,116, 78,117,114, 98, 0, 71, 72, 97,115,104, 0, 67,117,114,118,101, 0, 80, 97,116,104, 0, 83,101,108, 66,111,120, 0, 69,
-100,105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,101, 0, 84, 70, 97, 99,101, 0,
- 77, 86,101,114,116, 0, 77, 69,100,103,101, 0, 77, 68,101,102,111,114,109, 86,101,114,116, 0, 77, 67,111,108, 0, 77, 83,116,
-105, 99,107,121, 0, 77, 83,101,108,101, 99,116, 0, 69,100,105,116, 77,101,115,104, 0, 67,117,115,116,111,109, 68, 97,116, 97,
- 0, 77,117,108,116,105,114,101,115, 0, 80, 97,114,116,105, 97,108, 86,105,115,105, 98,105,108,105,116,121, 0, 77, 68,101,102,
-111,114,109, 87,101,105,103,104,116, 0, 77, 84,101,120, 80,111,108,121, 0, 77, 76,111,111,112, 85, 86, 0, 77, 76,111,111,112,
- 67,111,108, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77, 73,110,116, 80,114,111,112,101,114,116,121, 0,
- 77, 83,116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103, 83,112, 97, 99,101, 70, 97, 99,101, 0, 77, 68,
-105,115,112,115, 0, 77,117,108,116,105,114,101,115, 67,111,108, 0, 77,117,108,116,105,114,101,115, 67,111,108, 70, 97, 99,101,
- 0, 77,117,108,116,105,114,101,115, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 69,100,103,101, 0, 77,117,108,116,105,
-114,101,115, 76,101,118,101,108, 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,112,112,105,110,103, 73,110,102,
-111, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100,105,102,105,101,114, 68, 97,116,
- 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117,114,118,101, 77,111,100,105,102,
-105,101,114, 68, 97,116, 97, 0, 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,115,107, 77,111,
-100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,105,114,
-114,111,114, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105,116, 77,111,100,105,102,105,101,
-114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66, 77,101,115,104, 77,111,100,
-105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,
-101, 68,111,109, 97,105,110, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 70,108,111,119, 83,101,116,116,105,110,103,
-115, 0, 83,109,111,107,101, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 68,105,115,112,108, 97, 99,101, 77,111,100,105,
-102,105,101,114, 68, 97,116, 97, 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,
-101, 99,105,109, 97,116,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111,116,104, 77,111,100,105,102,105,
-101,114, 68, 97,116, 97, 0, 67, 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,118,101, 77,111,100,105,
-102,105,101,114, 68, 97,116, 97, 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 72,111,
-111,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77,111,100,105,102,105,101,114, 68,
- 97,116, 97, 0, 67,108,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 0, 67,108,111,116,
-104, 83,105,109, 83,101,116,116,105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 80,
-111,105,110,116, 67, 97, 99,104,101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 66, 86, 72, 84,114,101,101, 0, 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 68,101,114,105,
-118,101,100, 77,101,115,104, 0, 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0, 66,111,111,108,101, 97,110, 77,
-111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99,101, 0, 77, 68,101,102, 67,101,
-108,108, 0, 77,101,115,104, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,
-108,101, 83,121,115,116,101,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,
-116,101,109, 0, 80, 97,114,116,105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97,
- 0, 69,120,112,108,111,100,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 77,111,100,
-105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,
-108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114, 97,112, 77,111,100,105,102,105,
-101,114, 68, 97,116, 97, 0, 83,105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
- 83,104, 97,112,101, 75,101,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,108,105,100,105,102,121, 77,111,100,
-105,102,105,101,114, 68, 97,116, 97, 0, 83, 99,114,101,119, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 87, 97,114,112,
- 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,116,116,105, 99,101, 0, 98, 68,
-101,102,111,114,109, 71,114,111,117,112, 0, 83, 99,117,108,112,116, 83,101,115,115,105,111,110, 0, 98, 65, 99,116,105,111,110,
- 0, 98, 80,111,115,101, 0, 98, 71, 80,100, 97,116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,101,116,116,105,110,103,115, 0,
- 98, 77,111,116,105,111,110, 80, 97,116,104, 0, 66,117,108,108,101,116, 83,111,102,116, 66,111,100,121, 0, 80, 97,114,116, 68,
-101,102,108,101, 99,116, 0, 83,111,102,116, 66,111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,117,112,108,105, 79, 98,106,101,
- 99,116, 0, 82, 78, 71, 0, 69,102,102,101, 99,116,111,114, 87,101,105,103,104,116,115, 0, 80, 84, 67, 97, 99,104,101, 69,120,
-116,114, 97, 0, 80, 84, 67, 97, 99,104,101, 77,101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,105,116, 0, 83, 66, 86,101,114,
-116,101,120, 0, 66,111,100,121, 80,111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103, 0, 83, 66, 83, 99,114, 97,116,
- 99,104, 0, 70,108,117,105,100, 86,101,114,116,101,120, 86,101,108,111, 99,105,116,121, 0, 87,111,114,108,100, 0, 66, 97,115,
-101, 0, 65,118,105, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 68, 97,116,
- 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 83,101,116,116,105,110,103,115, 0, 70, 70, 77,112,101,103, 67,
-111,100,101, 99, 68, 97,116, 97, 0, 65,117,100,105,111, 68, 97,116, 97, 0, 83, 99,101,110,101, 82,101,110,100,101,114, 76, 97,
-121,101,114, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,101,110,100,101,114, 80,114,111,102,105,108,101, 0, 71, 97,109,
-101, 68,111,109,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, 0, 71, 97,109,101, 68, 97,116, 97, 0, 84,105,109,101, 77,
- 97,114,107,101,114, 0, 80, 97,105,110,116, 0, 66,114,117,115,104, 0, 73,109, 97,103,101, 80, 97,105,110,116, 83,101,116,116,
-105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 66,114,117,115,104, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 69,
-100,105,116, 83,101,116,116,105,110,103,115, 0, 84,114, 97,110,115,102,111,114,109, 79,114,105,101,110,116, 97,116,105,111,110,
- 0, 83, 99,117,108,112,116, 0, 86, 80, 97,105,110,116, 0, 84,111,111,108, 83,101,116,116,105,110,103,115, 0, 98, 83,116, 97,
-116,115, 0, 85,110,105,116, 83,101,116,116,105,110,103,115, 0, 80,104,121,115,105, 99,115, 83,101,116,116,105,110,103,115, 0,
- 69,100,105,116,105,110,103, 0, 83, 99,101,110,101, 83,116, 97,116,115, 0, 68, 97,103, 70,111,114,101,115,116, 0, 66, 71,112,
-105, 99, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 82,101,110,100,101,114, 73,110,102,111, 0, 86,105,101,119, 68,
-101,112,116,104,115, 0, 83,109,111,111,116,104, 86,105,101,119, 83,116,111,114,101, 0,119,109, 84,105,109,101,114, 0, 86,105,
-101,119, 51, 68, 0, 83,112, 97, 99,101, 76,105,110,107, 0, 86,105,101,119, 50, 68, 0, 83,112, 97, 99,101, 73,110,102,111, 0,
- 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,112,101, 83,104,101,101,116, 0, 83,112, 97, 99,101, 66,117,116,115, 0, 83,112,
- 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,101,108,101, 99,116, 80, 97,114, 97,109,115, 0, 83,112, 97, 99,101, 70,105,108,
-101, 0, 70,105,108,101, 76,105,115,116, 0,119,109, 79,112,101,114, 97,116,111,114, 0, 70,105,108,101, 76, 97,121,111,117,116,
- 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,114,101,101, 83,116,111,114,101, 0, 84,114,101,101, 83,116,111,114,101, 69,108,
-101,109, 0, 83,112, 97, 99,101, 73,109, 97,103,101, 0, 83, 99,111,112,101,115, 0, 72,105,115,116,111,103,114, 97,109, 0, 83,
-112, 97, 99,101, 78,108, 97, 0, 83,112, 97, 99,101, 84,101,120,116, 0, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 83, 99,
-114,105,112,116, 0, 83,112, 97, 99,101, 84,105,109,101, 67, 97, 99,104,101, 0, 83,112, 97, 99,101, 84,105,109,101, 0, 83,112,
- 97, 99,101, 78,111,100,101, 0, 83,112, 97, 99,101, 76,111,103,105, 99, 0, 83,112, 97, 99,101, 73,109, 97, 83,101,108, 0, 67,
-111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101, 67,111,110,115,111,108,101, 0, 83,112, 97, 99,101, 85,115,101,
-114, 80,114,101,102, 0, 83,112, 97, 99,101, 83,111,117,110,100, 0, 83, 99,114, 65,114,101, 97, 0, 98, 83,111,117,110,100, 0,
-117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121,108,101, 0,117,105, 83,116,121,108,101, 0,117,105, 87,105,100,
-103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103,101,116, 83,116, 97,116,101, 67,111,108,111,114,115, 0, 84,104,
-101,109,101, 85, 73, 0, 84,104,101,109,101, 83,112, 97, 99,101, 0, 84,104,101,109,101, 87,105,114,101, 67,111,108,111,114, 0,
- 98, 84,104,101,109,101, 0, 98, 65,100,100,111,110, 0, 83,111,108,105,100, 76,105,103,104,116, 0, 85,115,101,114, 68,101,102,
- 0, 98, 83, 99,114,101,101,110, 0, 83, 99,114, 86,101,114,116, 0, 83, 99,114, 69,100,103,101, 0, 80, 97,110,101,108, 0, 80,
- 97,110,101,108, 84,121,112,101, 0,117,105, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 84,121,112,101, 0, 65, 82,101,103,
-105,111,110, 0, 65, 82,101,103,105,111,110, 84,121,112,101, 0, 70,105,108,101, 71,108,111, 98, 97,108, 0, 83,116,114,105,112,
- 69,108,101,109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83,116,114,105,112, 84,114, 97,110,115,102,111,114,109, 0, 83,116,
-114,105,112, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 83,116,114,105,112, 80,114,111,120,121, 0, 83,116,114,105,112,
- 0, 80,108,117,103,105,110, 83,101,113, 0, 83,101,113,117,101,110, 99,101, 0, 77,101,116, 97, 83,116, 97, 99,107, 0, 87,105,
-112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,114,115, 0, 84,114, 97,110,115,102,111,114,109, 86, 97,114,115, 0, 83,111,
-108,105,100, 67,111,108,111,114, 86, 97,114,115, 0, 83,112,101,101,100, 67,111,110,116,114,111,108, 86, 97,114,115, 0, 69,102,
-102,101, 99,116, 0, 66,117,105,108,100, 69,102,102, 0, 80, 97,114,116, 69,102,102, 0, 80, 97,114,116,105, 99,108,101, 0, 87,
- 97,118,101, 69,102,102, 0, 98, 80,114,111,112,101,114,116,121, 0, 98, 78,101, 97,114, 83,101,110,115,111,114, 0, 98, 77,111,
-117,115,101, 83,101,110,115,111,114, 0, 98, 84,111,117, 99,104, 83,101,110,115,111,114, 0, 98, 75,101,121, 98,111, 97,114,100,
- 83,101,110,115,111,114, 0, 98, 80,114,111,112,101,114,116,121, 83,101,110,115,111,114, 0, 98, 65, 99,116,117, 97,116,111,114,
- 83,101,110,115,111,114, 0, 98, 68,101,108, 97,121, 83,101,110,115,111,114, 0, 98, 67,111,108,108,105,115,105,111,110, 83,101,
-110,115,111,114, 0, 98, 82, 97,100, 97,114, 83,101,110,115,111,114, 0, 98, 82, 97,110,100,111,109, 83,101,110,115,111,114, 0,
- 98, 82, 97,121, 83,101,110,115,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 83,101,110,115,111,114, 0, 98, 77,101,115,115,
- 97,103,101, 83,101,110,115,111,114, 0, 98, 83,101,110,115,111,114, 0, 98, 67,111,110,116,114,111,108,108,101,114, 0, 98, 74,
-111,121,115,116,105, 99,107, 83,101,110,115,111,114, 0, 98, 69,120,112,114,101,115,115,105,111,110, 67,111,110,116, 0, 98, 80,
-121,116,104,111,110, 67,111,110,116, 0, 98, 65, 99,116,117, 97,116,111,114, 0, 98, 65,100,100, 79, 98,106,101, 99,116, 65, 99,
-116,117, 97,116,111,114, 0, 98, 65, 99,116,105,111,110, 65, 99,116,117, 97,116,111,114, 0, 83,111,117,110,100, 51, 68, 0, 98,
- 83,111,117,110,100, 65, 99,116,117, 97,116,111,114, 0, 98, 69,100,105,116, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,
-114, 0, 98, 83, 99,101,110,101, 65, 99,116,117, 97,116,111,114, 0, 98, 80,114,111,112,101,114,116,121, 65, 99,116,117, 97,116,
-111,114, 0, 98, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 73,112,111, 65, 99,116,117, 97,116,111,114, 0,
- 98, 67, 97,109,101,114, 97, 65, 99,116,117, 97,116,111,114, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 65, 99,116,117, 97,
-116,111,114, 0, 98, 71,114,111,117,112, 65, 99,116,117, 97,116,111,114, 0, 98, 82, 97,110,100,111,109, 65, 99,116,117, 97,116,
-111,114, 0, 98, 77,101,115,115, 97,103,101, 65, 99,116,117, 97,116,111,114, 0, 98, 71, 97,109,101, 65, 99,116,117, 97,116,111,
-114, 0, 98, 86,105,115,105, 98,105,108,105,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 84,119,111, 68, 70,105,108,116,101,
-114, 65, 99,116,117, 97,116,111,114, 0, 98, 80, 97,114,101,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83,116, 97,116,101,
- 65, 99,116,117, 97,116,111,114, 0, 98, 65,114,109, 97,116,117,114,101, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112,
- 79, 98,106,101, 99,116, 0, 66,111,110,101, 0, 98, 65,114,109, 97,116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,
-104, 86,101,114,116, 0, 98, 80,111,115,101, 67,104, 97,110,110,101,108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,
-115, 99, 0, 98, 65, 99,116,105,111,110, 71,114,111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,
-105,111,110, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,
-111,110,115,116,114, 97,105,110,116, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,
-104,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,
-110,116, 0, 98, 83,112,108,105,110,101, 73, 75, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,
-111,110,115,116,114, 97,105,110,116, 0, 98, 82,111,116, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0,
- 98, 76,111, 99, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,
-111,110,115,116,114, 97,105,110,116, 0, 98, 83, 97,109,101, 86,111,108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0,
- 98, 84,114, 97,110,115, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,
-116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114,
- 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 68, 97,109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,
-110,116, 0, 98, 70,111,108,108,111,119, 80, 97,116,104, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,
-104, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,105,103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,
-115,116,114, 97,105,110,116, 0, 98, 67,108, 97,109,112, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,
-100, 79,102, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,
-110,116, 0, 98, 80,105,118,111,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,
-115,116,114, 97,105,110,116, 0, 98, 82,111,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,
-101, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,
-114, 97,105,110,116, 0, 98, 83,104,114,105,110,107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,
-105,111,110, 77,111,100,105,102,105,101,114, 0, 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116,
- 97, 99,107, 0, 98, 78,111,100,101, 83,111, 99,107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 80,
-114,101,118,105,101,119, 0, 98, 78,111,100,101, 0,117,105, 66,108,111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0, 78,
-111,100,101, 73,109, 97,103,101, 65,110,105,109, 0, 78,111,100,101, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 68, 66,
-108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 66,105,108, 97,116,101,114, 97,108, 66,108,117,114, 68, 97,116, 97, 0, 78,111,
-100,101, 72,117,101, 83, 97,116, 0, 78,111,100,101, 73,109, 97,103,101, 70,105,108,101, 0, 78,111,100,101, 67,104,114,111,109,
- 97, 0, 78,111,100,101, 84,119,111, 88, 89,115, 0, 78,111,100,101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,
-101,111,109,101,116,114,121, 0, 78,111,100,101, 86,101,114,116,101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,
-115, 0, 78,111,100,101, 83, 99,114,105,112,116, 68,105, 99,116, 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,
-111,110,101,109, 97,112, 0, 78,111,100,101, 76,101,110,115, 68,105,115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108,
- 97,110, 99,101, 0, 78,111,100,101, 67,111,108,111,114,115,112,105,108,108, 0, 84,101,120, 78,111,100,101, 79,117,116,112,117,
-116, 0, 67,117,114,118,101, 77, 97,112, 80,111,105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,115,104, 67,108,
-111,110,101, 0, 67,117,115,116,111,109, 68, 97,116, 97, 76, 97,121,101,114, 0, 67,117,115,116,111,109, 68, 97,116, 97, 69,120,
-116,101,114,110, 97,108, 0, 72, 97,105,114, 75,101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 66,111,105,100, 80,
- 97,114,116,105, 99,108,101, 0, 66,111,105,100, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,112,114,105,110,103, 0,
- 67,104,105,108,100, 80, 97,114,116,105, 99,108,101, 0, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, 0, 80, 97,114,
-116,105, 99,108,101, 68,117,112,108,105, 87,101,105,103,104,116, 0, 80, 97,114,116,105, 99,108,101, 68, 97,116, 97, 0, 83, 80,
- 72, 70,108,117,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,110,103,115, 0,
- 66,111,105,100, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,121, 0, 75, 68,
- 84,114,101,101, 0, 80, 97,114,116,105, 99,108,101, 68,114, 97,119, 68, 97,116, 97, 0, 76,105,110,107, 78,111,100,101, 0, 98,
- 71, 80, 68,115,112,111,105,110,116, 0, 98, 71, 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114, 97,109,101, 0, 98,
- 71, 80, 68,108, 97,121,101,114, 0, 82,101,112,111,114,116, 76,105,115,116, 0,119,109, 87,105,110,100,111,119, 77, 97,110, 97,
-103,101,114, 0,119,109, 87,105,110,100,111,119, 0,119,109, 75,101,121, 67,111,110,102,105,103, 0,119,109, 69,118,101,110,116,
- 0,119,109, 83,117, 98, 87,105,110,100,111,119, 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121, 77, 97,112, 73,
-116,101,109, 0, 80,111,105,110,116,101,114, 82, 78, 65, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,
-111,114, 84,121,112,101, 0, 70, 77,111,100,105,102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0,
- 70, 77,111,100, 95, 70,117,110, 99,116,105,111,110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,
-111,112,101, 68, 97,116, 97, 0, 70, 77,111,100, 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,
-115, 0, 70, 77,111,100, 95, 80,121,116,104,111,110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,
-111,105,115,101, 0, 70, 77,111,100, 95, 83,116,101,112,112,101,100, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68,
-114,105,118,101,114, 86, 97,114, 0, 67,104, 97,110,110,101,108, 68,114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,
-117,114,118,101, 0, 65,110,105,109, 77, 97,112, 80, 97,105,114, 0, 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,
-116,114,105,112, 0, 78,108, 97, 84,114, 97, 99,107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0,
- 65,110,105,109, 79,118,101,114,114,105,100,101, 0, 73,100, 65,100,116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82,
-117,108,101, 0, 66,111,105,100, 82,117,108,101, 71,111, 97,108, 65,118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118,
-111,105,100, 67,111,108,108,105,115,105,111,110, 0, 66,111,105,100, 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101,
-114, 0, 66,111,105,100, 82,117,108,101, 65,118,101,114, 97,103,101, 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70,
-105,103,104,116, 0, 66,111,105,100, 83,116, 97,116,101, 0, 70, 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69,
- 78, 67, 69, 0, 84, 76, 69, 78, 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 0, 0, 16, 0, 24, 0,
- 16, 0, 4, 0, 8, 0, 16, 0, 16, 0, 32, 0, 96, 0, 72, 0, 72, 2, 0, 0, 40, 0,144, 0, 32, 5,112, 0, 36, 0, 56, 0,
-112, 0,128, 0,168, 0, 96, 0, 40, 0, 48, 0,176, 0, 16, 0,136, 0, 40, 0, 16, 6,240, 1, 0, 0, 0, 0, 0, 0, 24, 1,
-112, 1,120, 1, 24, 0, 8, 3,200, 0, 0, 0,104, 0, 64, 1, 40, 1, 8, 1,136, 0,216, 1, 88, 0, 32, 3,104, 0, 88, 1,
- 0, 0,128, 0,104, 0,208, 0, 80, 0, 8, 0, 16, 0, 32, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0,152, 1, 20, 0, 48, 0,
- 64, 0, 20, 0, 12, 0, 16, 0, 4, 0, 8, 0, 8, 0, 0, 0, 40, 0,128, 0, 48, 0, 8, 0, 16, 0, 8, 0, 8, 0, 4, 0,
- 4, 0, 0, 1, 32, 0, 16, 0, 16, 0, 64, 0, 24, 0, 12, 0, 64, 0, 80, 0,136, 0,104, 0,120, 0,128, 0, 96, 0,128, 0,
-160, 0, 96, 0, 88, 0,136, 0, 88, 0,112, 0, 16, 1, 56, 0,192, 0,184, 0,232, 0, 88, 0,120, 0,136, 0,224, 0,136, 0,
-248, 0, 80, 0,136, 0, 0, 0,152, 0, 48, 0, 16, 2,160, 0, 0, 0,120, 0, 0, 0, 0, 0, 96, 0, 8, 0, 8, 0, 48, 1,
-112, 0, 16, 2,104, 0,128, 0, 88, 0, 96, 0,200, 1,144, 0,136, 0, 80, 0,144, 0,112, 0,208, 0, 16, 0, 16, 1, 48, 0,
- 0, 0,152, 0,184, 0,104, 0, 48, 0, 24, 0,120, 0,152, 0,120, 1,224, 0,192, 0, 0, 0, 72, 0, 32, 0,176, 0, 0, 0,
- 16, 0, 0, 0, 0, 0, 0, 0, 12, 0,224, 1, 40, 0,184, 0,152, 0, 64, 0, 64, 0, 24, 0, 88, 0, 0, 4, 64, 0, 24, 0,
- 16, 0,104, 0, 96, 0, 24, 0,248, 2, 48, 0, 16, 0,168, 0, 88, 0, 96, 0, 56, 0,192, 1, 32, 0, 8, 0, 24, 0, 80, 2,
- 0, 0, 0, 0, 88, 0, 96, 3, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 56, 0,144, 0, 64, 0,240, 0,104, 0,248, 0,240, 0,
- 96, 2,104, 0, 0, 0,168, 0, 0, 0, 24, 1, 16, 0, 16, 0, 40, 33,128, 16, 24, 16,216, 0,160, 2,120, 2, 64, 0, 24, 0,
-216, 0, 48, 1, 72, 0,200, 2, 40, 0,136, 1,104, 0,216, 0,160, 0,136, 1, 24, 1, 32, 0,232, 0, 32, 0, 32, 0,112, 2,
-120, 1, 16, 0, 88, 30, 80, 0, 56, 0,112, 13,216, 0, 32, 0, 40, 0, 88, 1, 0, 0, 0, 0, 0, 0, 40, 1, 0, 0, 32, 1,
- 88, 0, 16, 0, 8, 0, 44, 0, 0, 1,240, 0,200, 1, 32, 1, 32, 0, 12, 0, 24, 0, 52, 0, 16, 0, 24, 0, 24, 0, 32, 0,
- 72, 1, 0, 0, 64, 0, 64, 0, 48, 0, 8, 0, 48, 0, 72, 0,104, 0, 40, 0, 8, 0, 72, 0, 44, 0, 40, 0,108, 0, 72, 0,
- 72, 0, 96, 0,104, 0, 60, 0,128, 0, 80, 0, 80, 0, 16, 0, 96, 0, 32, 0, 72, 0, 88, 0, 24, 0, 80, 0,112, 0, 84, 0,
- 32, 0, 96, 0, 56, 0, 56, 0,112, 0,140, 0, 4, 0, 24, 0, 16, 0, 8, 0, 88, 0, 40, 0, 40, 1,200, 0, 16, 0,248, 1,
- 4, 0, 40, 0,120, 0, 64, 1, 88, 0, 56, 0, 88, 0,128, 0, 80, 0,120, 0, 24, 0, 56, 0, 48, 0, 48, 0, 48, 0, 8, 0,
- 40, 0, 72, 0, 72, 0, 48, 0, 48, 0, 24, 0, 56, 0,104, 0, 16, 0,112, 0, 96, 0, 56, 0, 28, 0, 28, 0, 28, 0, 56, 0,
- 24, 0, 72, 0,168, 0, 40, 0,152, 0, 56, 0, 16, 0, 8, 1, 0, 0, 0, 0, 16, 0, 40, 0, 28, 0, 12, 0, 12, 0, 16, 1,
- 44, 0, 24, 0, 8, 0, 64, 0, 32, 0, 24, 0, 16, 0, 24, 0, 32, 0, 8, 0, 96, 0, 20, 0, 32, 0, 12, 0, 56, 0, 24, 0,
- 72, 0,240, 0, 24, 0, 56, 0, 56, 0, 20, 0, 16, 0, 64, 0, 40, 0, 32, 0,192, 0, 60, 0,192, 2,104, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16, 0, 32, 0, 40, 0,192, 0, 40, 0, 24, 1,224, 0,168, 0, 0, 0, 0, 0, 0, 0,120, 0, 0, 0,120, 0,
- 0, 0,104, 0, 24, 0, 24, 0, 16, 0, 24, 0, 8, 0, 16, 0, 24, 0, 20, 0, 20, 0, 56, 0, 24, 2, 40, 1, 16, 0,104, 0,
- 0, 1, 40, 0,200, 0,104, 0,112, 0,168, 0, 32, 0, 80, 0, 56, 0, 80, 0, 64, 0,104, 0, 72, 0, 64, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 83, 84, 82, 67,148, 1, 0, 0, 10, 0, 2, 0, 10, 0, 0, 0, 10, 0, 1, 0, 11, 0, 3, 0, 11, 0, 0, 0,
- 11, 0, 1, 0, 9, 0, 2, 0, 12, 0, 2, 0, 9, 0, 3, 0, 9, 0, 4, 0, 13, 0, 2, 0, 2, 0, 5, 0, 2, 0, 6, 0,
- 14, 0, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0, 15, 0, 4, 0, 4, 0, 7, 0, 4, 0, 8, 0, 4, 0, 9, 0, 4, 0, 10, 0,
- 16, 0, 4, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 17, 0, 4, 0, 9, 0, 11, 0, 12, 0, 12, 0,
- 4, 0, 13, 0, 4, 0, 14, 0, 18, 0, 10, 0, 18, 0, 0, 0, 18, 0, 1, 0, 0, 0, 15, 0, 0, 0, 16, 0, 2, 0, 17, 0,
- 0, 0, 18, 0, 4, 0, 19, 0, 17, 0, 20, 0, 4, 0, 21, 0, 4, 0, 22, 0, 19, 0, 9, 0, 9, 0, 0, 0, 9, 0, 1, 0,
- 19, 0, 23, 0, 20, 0, 24, 0, 0, 0, 25, 0, 2, 0, 26, 0, 2, 0, 17, 0, 4, 0, 27, 0, 18, 0, 28, 0, 20, 0, 8, 0,
- 19, 0, 29, 0, 19, 0, 30, 0, 21, 0, 31, 0, 0, 0, 32, 0, 0, 0, 33, 0, 4, 0, 34, 0, 4, 0, 35, 0, 20, 0, 36, 0,
- 22, 0, 5, 0, 4, 0, 37, 0, 4, 0, 38, 0, 2, 0, 39, 0, 2, 0, 40, 0, 4, 0, 41, 0, 23, 0, 6, 0, 24, 0, 42, 0,
- 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0, 45, 0, 25, 0, 21, 0, 25, 0, 0, 0, 25, 0, 1, 0,
- 26, 0, 46, 0, 27, 0, 47, 0, 16, 0, 48, 0, 16, 0, 49, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 50, 0, 2, 0, 51, 0,
- 2, 0, 52, 0, 2, 0, 53, 0, 2, 0, 17, 0, 2, 0, 54, 0, 7, 0, 9, 0, 7, 0, 10, 0, 4, 0, 55, 0, 7, 0, 56, 0,
- 7, 0, 57, 0, 7, 0, 58, 0, 23, 0, 59, 0, 28, 0, 7, 0, 19, 0, 29, 0, 12, 0, 60, 0, 16, 0, 61, 0, 2, 0, 43, 0,
- 2, 0, 62, 0, 2, 0, 63, 0, 2, 0, 35, 0, 29, 0, 16, 0, 29, 0, 0, 0, 29, 0, 1, 0, 7, 0, 64, 0, 7, 0, 58, 0,
- 2, 0, 15, 0, 2, 0, 44, 0, 2, 0, 65, 0, 2, 0, 17, 0, 4, 0, 66, 0, 4, 0, 67, 0, 9, 0, 2, 0, 7, 0, 68, 0,
- 0, 0, 18, 0, 0, 0, 69, 0, 7, 0, 70, 0, 7, 0, 71, 0, 30, 0, 13, 0, 19, 0, 29, 0, 31, 0, 72, 0, 29, 0, 73, 0,
- 0, 0, 74, 0, 4, 0, 75, 0, 7, 0, 58, 0, 12, 0, 76, 0, 28, 0, 77, 0, 19, 0, 78, 0, 2, 0, 15, 0, 2, 0, 79, 0,
- 2, 0, 80, 0, 2, 0, 17, 0, 32, 0, 6, 0, 32, 0, 0, 0, 32, 0, 1, 0, 0, 0, 81, 0, 0, 0, 82, 0, 4, 0, 21, 0,
- 4, 0, 83, 0, 33, 0, 10, 0, 33, 0, 0, 0, 33, 0, 1, 0, 4, 0, 84, 0, 4, 0, 85, 0, 4, 0, 86, 0, 4, 0, 87, 0,
- 4, 0, 12, 0, 4, 0, 88, 0, 0, 0, 89, 0, 0, 0, 90, 0, 34, 0, 15, 0, 19, 0, 29, 0, 0, 0, 91, 0, 4, 0, 88, 0,
- 4, 0, 92, 0, 12, 0, 93, 0, 32, 0, 94, 0, 32, 0, 95, 0, 4, 0, 96, 0, 4, 0, 97, 0, 12, 0, 98, 0, 0, 0, 99, 0,
- 4, 0,100, 0, 4, 0,101, 0, 9, 0,102, 0, 8, 0,103, 0, 35, 0, 3, 0, 4, 0,104, 0, 4, 0,105, 0, 9, 0, 2, 0,
- 36, 0, 16, 0, 19, 0, 29, 0, 31, 0, 72, 0, 0, 0, 15, 0, 0, 0,106, 0, 2, 0, 17, 0, 7, 0,107, 0, 7, 0,108, 0,
- 7, 0,109, 0, 7, 0,110, 0, 7, 0,111, 0, 7, 0,112, 0, 7, 0,113, 0, 7, 0,114, 0, 7, 0,115, 0, 28, 0, 77, 0,
- 24, 0,116, 0, 37, 0, 14, 0, 38, 0,117, 0, 4, 0,118, 0, 4, 0,119, 0, 4, 0,120, 0, 4, 0,121, 0, 0, 0,122, 0,
- 0, 0,123, 0, 0, 0,124, 0, 0, 0, 35, 0, 2, 0,125, 0, 2, 0,126, 0, 2, 0,127, 0, 2, 0, 17, 0, 4, 0, 67, 0,
- 39, 0, 32, 0, 19, 0, 29, 0, 0, 0, 32, 0, 12, 0,128, 0, 40, 0,129, 0, 41, 0,130, 0, 42, 0,131, 0, 42, 0,132, 0,
- 2, 0,133, 0, 2, 0,134, 0, 2, 0,124, 0, 2, 0, 17, 0, 2, 0,135, 0, 2, 0, 15, 0, 4, 0,136, 0, 2, 0,137, 0,
- 2, 0,138, 0, 2, 0,139, 0, 2, 0,140, 0, 2, 0,141, 0, 2, 0,142, 0, 4, 0,143, 0, 4, 0,144, 0, 35, 0,145, 0,
- 22, 0,146, 0, 7, 0,147, 0, 4, 0,148, 0, 2, 0,149, 0, 2, 0,150, 0, 2, 0,151, 0, 2, 0,152, 0, 7, 0,153, 0,
- 7, 0,154, 0, 43, 0, 65, 0, 2, 0,155, 0, 2, 0,156, 0, 2, 0,157, 0, 2, 0,158, 0, 24, 0,159, 0, 44, 0,160, 0,
- 0, 0,161, 0, 0, 0,162, 0, 0, 0,163, 0, 0, 0,164, 0, 0, 0,165, 0, 7, 0,166, 0, 7, 0,167, 0, 7, 0,168, 0,
- 2, 0,169, 0, 2, 0,170, 0, 2, 0,171, 0, 2, 0,172, 0, 2, 0,173, 0, 2, 0,174, 0, 0, 0,175, 0, 0, 0,176, 0,
- 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0,181, 0, 7, 0, 54, 0, 7, 0,182, 0, 7, 0,183, 0,
- 7, 0,184, 0, 7, 0,185, 0, 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0, 7, 0,189, 0, 7, 0,190, 0, 7, 0,191, 0,
- 7, 0,192, 0, 7, 0,193, 0, 7, 0,194, 0, 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, 0, 7, 0,198, 0, 7, 0,199, 0,
- 7, 0,200, 0, 7, 0,201, 0, 7, 0,202, 0, 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, 0, 7, 0,206, 0, 7, 0,207, 0,
- 7, 0,208, 0, 7, 0,209, 0, 7, 0,210, 0, 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, 0, 7, 0,214, 0, 7, 0,215, 0,
- 7, 0,216, 0, 7, 0,217, 0, 7, 0,218, 0, 45, 0, 15, 0, 0, 0,219, 0, 9, 0,220, 0, 0, 0,221, 0, 0, 0,222, 0,
- 4, 0,223, 0, 4, 0,224, 0, 9, 0,225, 0, 7, 0,226, 0, 7, 0,227, 0, 7, 0,228, 0, 4, 0,229, 0, 9, 0,230, 0,
- 9, 0,231, 0, 4, 0,232, 0, 4, 0, 35, 0, 46, 0, 6, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,233, 0,
- 7, 0, 64, 0, 4, 0, 61, 0, 47, 0, 5, 0, 2, 0, 17, 0, 2, 0, 34, 0, 2, 0, 61, 0, 2, 0,234, 0, 46, 0,228, 0,
- 48, 0, 17, 0, 24, 0,159, 0, 39, 0,235, 0, 49, 0,236, 0, 7, 0,237, 0, 7, 0,238, 0, 2, 0, 15, 0, 2, 0,239, 0,
- 7, 0,108, 0, 7, 0,109, 0, 7, 0,240, 0, 4, 0,241, 0, 2, 0,242, 0, 2, 0,243, 0, 4, 0,124, 0, 4, 0,136, 0,
- 2, 0,244, 0, 2, 0,245, 0, 50, 0, 25, 0, 2, 0, 17, 0, 2, 0,246, 0, 7, 0,247, 0, 7, 0,248, 0, 2, 0,135, 0,
- 2, 0,249, 0, 4, 0,250, 0, 4, 0,251, 0, 24, 0,159, 0, 4, 0,252, 0, 2, 0,253, 0, 2, 0,254, 0, 9, 0,255, 0,
- 7, 0, 0, 1, 7, 0, 1, 1, 2, 0, 2, 1, 2, 0, 3, 1, 2, 0, 4, 1, 2, 0, 5, 1, 7, 0, 6, 1, 7, 0, 7, 1,
- 7, 0, 8, 1, 7, 0, 9, 1, 47, 0, 10, 1, 51, 0, 11, 1, 52, 0, 13, 0, 4, 0, 12, 1, 4, 0, 13, 1, 2, 0, 14, 1,
- 2, 0, 17, 0, 2, 0, 15, 1, 2, 0, 16, 1, 24, 0,159, 0, 7, 0, 17, 1, 4, 0, 18, 1, 0, 0, 19, 1, 7, 0, 20, 1,
- 4, 0, 21, 1, 4, 0,124, 0, 44, 0, 63, 0, 19, 0, 29, 0, 31, 0, 72, 0, 7, 0, 22, 1, 7, 0, 23, 1, 7, 0, 24, 1,
- 7, 0, 25, 1, 7, 0, 26, 1, 7, 0, 27, 1, 7, 0, 28, 1, 7, 0, 29, 1, 7, 0, 30, 1, 7, 0, 67, 0, 7, 0, 31, 1,
- 7, 0, 32, 1, 7, 0, 33, 1, 7, 0, 34, 1, 7, 0, 35, 1, 7, 0, 36, 1, 7, 0, 37, 1, 7, 0, 38, 1, 7, 0, 39, 1,
- 7, 0, 40, 1, 7, 0, 41, 1, 7, 0, 42, 1, 2, 0, 43, 1, 2, 0, 44, 1, 2, 0, 45, 1, 2, 0, 46, 1, 2, 0, 47, 1,
- 2, 0, 48, 1, 2, 0, 49, 1, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,239, 0, 7, 0, 50, 1, 7, 0, 51, 1, 7, 0, 52, 1,
- 7, 0, 53, 1, 4, 0, 54, 1, 4, 0, 55, 1, 2, 0, 56, 1, 2, 0, 57, 1, 2, 0, 15, 1, 2, 0,122, 0, 4, 0, 21, 0,
- 4, 0,119, 0, 4, 0,120, 0, 4, 0,121, 0, 7, 0, 58, 1, 7, 0, 59, 1, 7, 0, 87, 0, 37, 0, 60, 1, 53, 0, 61, 1,
- 28, 0, 77, 0, 39, 0,235, 0, 45, 0, 62, 1, 47, 0, 10, 1, 48, 0, 63, 1, 22, 0,146, 0, 50, 0, 64, 1, 52, 0, 65, 1,
- 0, 0, 66, 1, 0, 0,176, 0, 54, 0, 8, 0, 7, 0, 67, 1, 7, 0, 68, 1, 7, 0,167, 0, 4, 0, 17, 0, 7, 0, 69, 1,
- 7, 0, 70, 1, 7, 0, 71, 1, 24, 0, 42, 0, 55, 0, 72, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 15, 0, 2, 0, 17, 0,
- 4, 0, 72, 1, 2, 0,170, 0, 2, 0, 73, 1, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0, 74, 1,
- 7, 0, 75, 1, 7, 0, 76, 1, 7, 0, 77, 1, 7, 0, 78, 1, 7, 0, 79, 1, 7, 0, 80, 1, 7, 0, 81, 1, 7, 0, 82, 1,
- 7, 0, 83, 1, 7, 0, 84, 1, 51, 0, 85, 1, 2, 0,246, 0, 2, 0, 67, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0, 86, 1,
- 7, 0, 87, 1, 7, 0, 88, 1, 7, 0, 89, 1, 7, 0, 90, 1, 2, 0, 91, 1, 2, 0, 92, 1, 2, 0, 93, 1, 2, 0, 94, 1,
- 0, 0, 95, 1, 0, 0, 96, 1, 2, 0, 97, 1, 2, 0, 98, 1, 2, 0, 99, 1, 2, 0,100, 1, 2, 0,101, 1, 7, 0,102, 1,
- 7, 0,103, 1, 7, 0,104, 1, 7, 0,105, 1, 2, 0,106, 1, 2, 0, 87, 0, 2, 0,107, 1, 2, 0,108, 1, 2, 0,109, 1,
- 2, 0,110, 1, 7, 0,111, 1, 7, 0,112, 1, 7, 0,113, 1, 7, 0,114, 1, 7, 0,115, 1, 7, 0,116, 1, 7, 0,117, 1,
- 7, 0,118, 1, 7, 0,119, 1, 7, 0,120, 1, 7, 0,121, 1, 7, 0,122, 1, 2, 0,123, 1, 0, 0,124, 1, 28, 0, 77, 0,
- 43, 0,125, 1, 2, 0,126, 1, 0, 0,127, 1, 22, 0,146, 0, 56, 0, 18, 0, 7, 0,128, 1, 7, 0,129, 1, 7, 0,130, 1,
- 7, 0,131, 1, 7, 0,132, 1, 7, 0,133, 1, 7, 0,134, 1, 7, 0,135, 1, 7, 0,136, 1, 7, 0,137, 1, 2, 0,138, 1,
- 2, 0,139, 1, 2, 0,140, 1, 2, 0,141, 1, 7, 0,142, 1, 7, 0,143, 1, 7, 0,144, 1, 7, 0,145, 1, 57, 0,125, 0,
- 19, 0, 29, 0, 31, 0, 72, 0, 2, 0,146, 1, 2, 0, 17, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,147, 1,
- 7, 0,148, 1, 7, 0,149, 1, 7, 0,150, 1, 7, 0,151, 1, 7, 0,152, 1, 7, 0,153, 1, 7, 0,154, 1, 7, 0,155, 1,
- 7, 0,156, 1, 7, 0,157, 1, 7, 0,158, 1, 7, 0,159, 1, 7, 0,160, 1, 7, 0,161, 1, 7, 0,162, 1, 7, 0,163, 1,
- 7, 0,164, 1, 7, 0,165, 1, 7, 0,166, 1, 56, 0,167, 1, 7, 0,168, 1, 7, 0,169, 1, 7, 0,170, 1, 7, 0,171, 1,
- 7, 0,172, 1, 7, 0,173, 1, 7, 0,174, 1, 2, 0,175, 1, 2, 0,176, 1, 2, 0,177, 1, 0, 0,178, 1, 0, 0,179, 1,
- 7, 0,180, 1, 7, 0,181, 1, 2, 0,182, 1, 2, 0,183, 1, 7, 0,184, 1, 7, 0,185, 1, 7, 0,186, 1, 7, 0,187, 1,
- 2, 0,188, 1, 2, 0,189, 1, 4, 0, 72, 1, 4, 0,190, 1, 2, 0,191, 1, 2, 0,192, 1, 2, 0,193, 1, 2, 0,194, 1,
- 7, 0,195, 1, 7, 0,196, 1, 7, 0,197, 1, 7, 0,198, 1, 7, 0,199, 1, 7, 0,200, 1, 7, 0,201, 1, 7, 0,202, 1,
- 7, 0,203, 1, 7, 0,204, 1, 0, 0,205, 1, 7, 0,206, 1, 7, 0,207, 1, 7, 0,208, 1, 4, 0,209, 1, 0, 0,210, 1,
- 0, 0,107, 1, 0, 0,211, 1, 0, 0, 66, 1, 2, 0,212, 1, 2, 0,213, 1, 2, 0,126, 1, 2, 0,214, 1, 2, 0,215, 1,
- 2, 0,216, 1, 7, 0,217, 1, 7, 0,218, 1, 7, 0,219, 1, 7, 0,220, 1, 7, 0,221, 1, 2, 0,155, 0, 2, 0,156, 0,
- 47, 0,222, 1, 47, 0,223, 1, 0, 0,224, 1, 0, 0,225, 1, 0, 0,226, 1, 0, 0,227, 1, 2, 0,228, 1, 2, 0,229, 1,
- 7, 0,230, 1, 7, 0,231, 1, 43, 0,125, 1, 53, 0, 61, 1, 28, 0, 77, 0, 58, 0,232, 1, 22, 0,146, 0, 7, 0,233, 1,
- 7, 0,234, 1, 7, 0,235, 1, 7, 0,236, 1, 7, 0,237, 1, 2, 0,238, 1, 2, 0, 67, 0, 7, 0,239, 1, 7, 0,240, 1,
- 7, 0,241, 1, 7, 0,242, 1, 7, 0,243, 1, 7, 0,244, 1, 7, 0,245, 1, 7, 0,246, 1, 7, 0,247, 1, 2, 0,248, 1,
- 2, 0,249, 1, 4, 0,250, 1, 2, 0,251, 1, 2, 0, 35, 0, 12, 0,252, 1, 59, 0, 4, 0, 19, 0, 29, 0, 0, 0,253, 1,
- 60, 0, 2, 0, 35, 0,145, 0, 61, 0, 26, 0, 61, 0, 0, 0, 61, 0, 1, 0, 62, 0,254, 1, 4, 0,255, 1, 4, 0, 0, 2,
- 4, 0, 1, 2, 4, 0, 2, 2, 4, 0, 3, 2, 4, 0, 4, 2, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 5, 2, 2, 0, 6, 2,
- 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 2, 7, 0, 8, 2, 7, 0, 9, 2, 7, 0, 10, 2, 7, 0, 11, 2, 7, 0, 12, 2,
- 7, 0, 13, 2, 7, 0, 14, 2, 7, 0, 21, 0, 7, 0, 15, 2, 7, 0, 16, 2, 63, 0, 20, 0, 19, 0, 29, 0, 31, 0, 72, 0,
- 62, 0,254, 1, 12, 0, 17, 2, 12, 0, 18, 2, 12, 0, 19, 2, 28, 0, 77, 0, 57, 0, 20, 2, 0, 0, 17, 0, 0, 0, 21, 2,
- 2, 0, 22, 2, 2, 0,169, 0, 2, 0, 35, 0, 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 7, 0, 23, 2, 7, 0, 24, 2,
- 7, 0, 25, 2, 61, 0, 26, 2, 27, 0, 11, 0, 7, 0, 27, 2, 7, 0, 28, 2, 7, 0, 29, 2, 7, 0,248, 0, 2, 0, 52, 0,
- 0, 0, 30, 2, 0, 0, 31, 2, 0, 0, 32, 2, 0, 0, 33, 2, 0, 0, 34, 2, 0, 0, 35, 2, 26, 0, 7, 0, 7, 0, 36, 2,
- 7, 0, 28, 2, 7, 0, 29, 2, 2, 0, 32, 2, 2, 0, 35, 2, 7, 0,248, 0, 7, 0, 35, 0, 64, 0, 21, 0, 64, 0, 0, 0,
- 64, 0, 1, 0, 2, 0, 15, 0, 2, 0, 37, 2, 2, 0, 35, 2, 2, 0, 17, 0, 2, 0, 38, 2, 2, 0, 39, 2, 2, 0, 40, 2,
- 2, 0, 41, 2, 2, 0, 42, 2, 2, 0, 43, 2, 2, 0, 44, 2, 2, 0, 45, 2, 7, 0, 46, 2, 7, 0, 47, 2, 26, 0, 46, 0,
- 27, 0, 47, 0, 2, 0, 48, 2, 2, 0, 49, 2, 4, 0, 50, 2, 65, 0, 5, 0, 2, 0, 51, 2, 2, 0, 37, 2, 0, 0, 17, 0,
- 0, 0, 35, 0, 2, 0, 67, 0, 66, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 52, 2, 7, 0, 53, 2, 67, 0, 4, 0,
- 12, 0, 54, 2, 68, 0, 55, 2, 4, 0, 56, 2, 0, 0, 90, 0, 69, 0, 68, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,254, 1,
- 12, 0, 57, 2, 12, 0, 18, 2, 67, 0, 58, 2, 24, 0, 59, 2, 24, 0, 60, 2, 24, 0, 61, 2, 28, 0, 77, 0, 70, 0, 62, 2,
- 30, 0, 63, 2, 57, 0, 20, 2, 12, 0, 64, 2, 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 2, 0,169, 0, 2, 0, 87, 0,
- 2, 0, 65, 2, 2, 0, 66, 2, 7, 0, 67, 2, 7, 0, 68, 2, 4, 0, 69, 2, 2, 0, 35, 0, 2, 0, 22, 2, 2, 0, 17, 0,
- 2, 0, 70, 2, 7, 0, 71, 2, 7, 0, 72, 2, 7, 0, 73, 2, 2, 0, 40, 2, 2, 0, 41, 2, 2, 0, 74, 2, 2, 0, 75, 2,
- 4, 0, 76, 2, 9, 0, 77, 2, 2, 0, 21, 0, 2, 0, 93, 0, 2, 0, 64, 0, 2, 0, 78, 2, 7, 0, 79, 2, 7, 0, 80, 2,
- 7, 0, 81, 2, 7, 0, 82, 2, 7, 0, 83, 2, 7, 0, 84, 2, 7, 0, 85, 2, 7, 0, 86, 2, 7, 0, 87, 2, 7, 0, 88, 2,
- 0, 0, 89, 2, 71, 0, 90, 2, 72, 0, 91, 2, 0, 0, 92, 2, 59, 0, 93, 2, 59, 0, 94, 2, 59, 0, 95, 2, 59, 0, 96, 2,
- 4, 0, 97, 2, 7, 0, 98, 2, 4, 0, 99, 2, 4, 0,100, 2, 66, 0,101, 2, 4, 0,102, 2, 4, 0,103, 2, 65, 0,104, 2,
- 65, 0,105, 2, 73, 0, 39, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,254, 1, 28, 0, 77, 0, 30, 0, 63, 2, 57, 0, 20, 2,
- 74, 0,106, 2, 75, 0,107, 2, 76, 0,108, 2, 77, 0,109, 2, 78, 0,110, 2, 79, 0,111, 2, 80, 0,112, 2, 81, 0,113, 2,
- 73, 0,114, 2, 82, 0,115, 2, 83, 0,116, 2, 84, 0,117, 2, 84, 0,118, 2, 84, 0,119, 2, 4, 0, 51, 0, 4, 0,120, 2,
- 4, 0,121, 2, 4, 0,122, 2, 4, 0,123, 2, 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 2, 0,169, 0, 2, 0, 65, 2,
- 2, 0,124, 2, 2, 0, 17, 0, 2, 0,125, 2, 2, 0,126, 2, 0, 0,127, 2, 0, 0,128, 2, 2, 0, 22, 2, 85, 0,129, 2,
- 86, 0,130, 2, 76, 0, 8, 0, 9, 0,131, 2, 7, 0,132, 2, 4, 0,133, 2, 0, 0, 17, 0, 0, 0,134, 2, 2, 0, 72, 1,
- 2, 0,135, 2, 2, 0,136, 2, 74, 0, 7, 0, 4, 0,137, 2, 4, 0,138, 2, 4, 0,139, 2, 4, 0,140, 2, 2, 0, 37, 2,
- 0, 0,141, 2, 0, 0, 17, 0, 78, 0, 5, 0, 4, 0,137, 2, 4, 0,138, 2, 0, 0,142, 2, 0, 0,143, 2, 2, 0, 17, 0,
- 87, 0, 2, 0, 4, 0,144, 2, 7, 0, 29, 2, 79, 0, 3, 0, 87, 0,145, 2, 4, 0,146, 2, 4, 0, 17, 0, 77, 0, 4, 0,
- 7, 0,147, 2, 2, 0,148, 2, 0, 0, 17, 0, 0, 0,143, 2, 80, 0, 4, 0, 0, 0,233, 0, 0, 0,177, 0, 0, 0,178, 0,
- 0, 0,179, 0, 88, 0, 6, 0, 39, 0,131, 2, 0, 0, 17, 0, 0, 0,134, 2, 2, 0, 72, 1, 2, 0,135, 2, 2, 0,136, 2,
- 89, 0, 1, 0, 7, 0,149, 2, 90, 0, 5, 0, 0, 0,233, 0, 0, 0,177, 0, 0, 0,178, 0, 0, 0,179, 0, 4, 0, 35, 0,
- 81, 0, 1, 0, 7, 0,150, 2, 82, 0, 2, 0, 4, 0,151, 2, 4, 0, 15, 0, 75, 0, 7, 0, 7, 0,132, 2, 39, 0,131, 2,
- 0, 0, 17, 0, 0, 0,134, 2, 2, 0, 72, 1, 2, 0,135, 2, 2, 0,136, 2, 91, 0, 1, 0, 7, 0,152, 2, 92, 0, 1, 0,
- 4, 0,153, 2, 93, 0, 1, 0, 0, 0,154, 2, 94, 0, 1, 0, 7, 0,132, 2, 95, 0, 3, 0, 4, 0,155, 2, 0, 0, 90, 0,
- 7, 0,156, 2, 96, 0, 4, 0, 7, 0,233, 0, 7, 0,177, 0, 7, 0,178, 0, 7, 0,179, 0, 97, 0, 1, 0, 96, 0,133, 2,
- 98, 0, 5, 0, 4, 0,157, 2, 4, 0,158, 2, 0, 0, 17, 0, 0, 0, 37, 2, 0, 0,159, 2, 99, 0, 2, 0, 4, 0,160, 2,
- 4, 0,158, 2,100, 0, 10, 0,100, 0, 0, 0,100, 0, 1, 0, 98, 0,161, 2, 97, 0,162, 2, 99, 0,163, 2, 4, 0, 51, 0,
- 4, 0,121, 2, 4, 0,120, 2, 4, 0, 35, 0, 77, 0,164, 2, 85, 0, 14, 0, 12, 0,165, 2, 77, 0,164, 2, 0, 0,166, 2,
- 0, 0,167, 2, 0, 0,168, 2, 0, 0,169, 2, 0, 0,170, 2, 0, 0,171, 2, 0, 0,172, 2, 0, 0, 17, 0, 84, 0,117, 2,
- 84, 0,119, 2, 2, 0,173, 2, 0, 0,174, 2, 86, 0, 8, 0, 4, 0,175, 2, 4, 0,176, 2, 74, 0,177, 2, 78, 0,178, 2,
- 4, 0,121, 2, 4, 0,120, 2, 4, 0, 51, 0, 4, 0, 35, 0,101, 0, 9, 0,101, 0, 0, 0,101, 0, 1, 0, 4, 0, 15, 0,
- 4, 0, 72, 1, 4, 0,179, 2, 4, 0, 35, 0, 0, 0, 18, 0, 38, 0,117, 0, 0, 0,180, 2,102, 0, 6, 0,101, 0,181, 2,
- 44, 0,182, 2, 24, 0,183, 2, 0, 0,184, 2, 4, 0,185, 2, 4, 0,186, 2,103, 0, 7, 0,101, 0,181, 2, 2, 0,187, 2,
- 2, 0,165, 2, 2, 0,188, 2, 2, 0, 88, 0, 9, 0,189, 2, 9, 0,190, 2,104, 0, 3, 0,101, 0,181, 2, 24, 0,159, 0,
- 0, 0, 18, 0,105, 0, 5, 0,101, 0,181, 2, 24, 0,159, 0, 0, 0, 18, 0, 2, 0,191, 2, 0, 0,192, 2,106, 0, 5, 0,
-101, 0,181, 2, 7, 0, 85, 0, 7, 0,193, 2, 4, 0,194, 2, 4, 0,195, 2,107, 0, 5, 0,101, 0,181, 2, 24, 0,196, 2,
- 0, 0, 69, 0, 4, 0, 72, 1, 4, 0, 17, 0,108, 0, 13, 0,101, 0,181, 2, 24, 0,197, 2, 24, 0,198, 2, 24, 0,199, 2,
- 24, 0,200, 2, 7, 0,201, 2, 7, 0,202, 2, 7, 0,193, 2, 7, 0,203, 2, 4, 0,204, 2, 4, 0,205, 2, 4, 0, 88, 0,
- 4, 0,206, 2,109, 0, 5, 0,101, 0,181, 2, 2, 0,207, 2, 2, 0, 17, 0, 7, 0,208, 2, 24, 0,209, 2,110, 0, 3, 0,
-101, 0,181, 2, 7, 0,210, 2, 4, 0, 88, 0,111, 0, 10, 0,101, 0,181, 2, 7, 0,211, 2, 4, 0,212, 2, 4, 0, 35, 0,
- 2, 0, 88, 0, 2, 0,213, 2, 2, 0,214, 2, 2, 0,215, 2, 7, 0,216, 2, 0, 0,217, 2,112, 0, 3, 0,101, 0,181, 2,
- 7, 0, 35, 0, 4, 0, 15, 0,113, 0, 6, 0,101, 0,181, 2,114, 0,218, 2,115, 0,219, 2,116, 0,220, 2, 7, 0,221, 2,
- 4, 0, 15, 0,117, 0, 11, 0,101, 0,181, 2, 44, 0,182, 2, 24, 0,183, 2, 0, 0,184, 2, 4, 0,185, 2, 4, 0,186, 2,
- 4, 0,222, 2, 7, 0,223, 2, 4, 0,224, 2, 0, 0,217, 2, 7, 0,225, 2,118, 0, 12, 0,101, 0,181, 2, 24, 0,226, 2,
- 39, 0,227, 2, 4, 0, 88, 0, 4, 0,228, 2, 7, 0,229, 2, 7, 0,230, 2, 7, 0,231, 2, 7, 0,232, 2, 0, 0,184, 2,
- 4, 0,185, 2, 4, 0, 35, 0,119, 0, 3, 0,101, 0,181, 2, 7, 0,233, 2, 4, 0,234, 2,120, 0, 5, 0,101, 0,181, 2,
- 7, 0,235, 2, 0, 0,217, 2, 2, 0, 17, 0, 2, 0,236, 2,121, 0, 8, 0,101, 0,181, 2, 24, 0,159, 0, 7, 0,235, 2,
- 7, 0,248, 0, 7, 0,104, 0, 0, 0,217, 2, 2, 0, 17, 0, 2, 0, 15, 0,122, 0, 21, 0,101, 0,181, 2, 24, 0,237, 2,
- 0, 0,217, 2, 44, 0,182, 2, 24, 0,183, 2, 2, 0, 17, 0, 2, 0, 35, 0, 7, 0,238, 2, 7, 0,239, 2, 7, 0,240, 2,
- 7, 0, 71, 2, 7, 0,241, 2, 7, 0,242, 2, 7, 0,243, 2, 7, 0,244, 2, 4, 0,186, 2, 4, 0,185, 2, 0, 0,184, 2,
- 7, 0,245, 2, 7, 0,246, 2, 7, 0, 87, 0,123, 0, 7, 0,101, 0,181, 2, 2, 0,247, 2, 2, 0,248, 2, 4, 0, 67, 0,
- 24, 0,159, 0, 7, 0,249, 2, 0, 0,217, 2,124, 0, 10, 0,101, 0,181, 2, 24, 0,159, 0, 0, 0,250, 2, 7, 0,251, 2,
- 7, 0,252, 2, 7, 0,244, 2, 4, 0,253, 2, 4, 0,254, 2, 7, 0,255, 2, 0, 0, 18, 0,125, 0, 1, 0,101, 0,181, 2,
-126, 0, 7, 0,101, 0,181, 2, 38, 0,117, 0,127, 0, 0, 3,128, 0, 1, 3,129, 0, 2, 3,130, 0, 3, 3, 12, 0, 4, 3,
-131, 0, 13, 0,101, 0,181, 2, 77, 0, 5, 3, 77, 0, 6, 3, 77, 0, 7, 3, 77, 0, 8, 3, 77, 0, 9, 3, 77, 0, 10, 3,
- 74, 0, 11, 3, 4, 0, 12, 3, 4, 0, 13, 3, 7, 0, 14, 3, 7, 0, 15, 3,132, 0, 16, 3,133, 0, 7, 0,101, 0,181, 2,
- 77, 0, 5, 3, 77, 0, 17, 3,134, 0, 18, 3,135, 0, 16, 3, 4, 0, 19, 3, 4, 0, 12, 3,136, 0, 4, 0,101, 0,181, 2,
- 24, 0,159, 0, 4, 0, 20, 3, 4, 0, 35, 0,137, 0, 2, 0, 4, 0, 21, 3, 7, 0, 29, 2,138, 0, 2, 0, 4, 0,120, 0,
- 4, 0, 22, 3,139, 0, 24, 0,101, 0,181, 2, 24, 0,159, 0, 0, 0,217, 2, 2, 0, 23, 3, 2, 0, 17, 0, 2, 0, 72, 1,
- 2, 0, 35, 0,137, 0, 24, 3, 4, 0, 25, 3, 7, 0, 26, 3, 4, 0, 51, 0, 4, 0, 27, 3,138, 0, 28, 3,137, 0, 29, 3,
- 4, 0, 30, 3, 4, 0, 31, 3, 4, 0, 32, 3, 4, 0, 22, 3, 7, 0, 33, 3, 7, 0, 34, 3, 7, 0, 35, 3, 7, 0, 36, 3,
- 7, 0, 37, 3, 9, 0, 38, 3,140, 0, 8, 0,101, 0,181, 2,141, 0, 39, 3,134, 0, 18, 3, 4, 0, 40, 3, 4, 0, 41, 3,
- 4, 0, 42, 3, 2, 0, 17, 0, 2, 0, 54, 0,142, 0, 8, 0,101, 0,181, 2, 24, 0, 42, 0, 2, 0,252, 0, 2, 0, 17, 0,
- 2, 0,207, 2, 2, 0, 54, 0, 7, 0, 43, 3, 7, 0, 44, 3,143, 0, 6, 0,101, 0,181, 2, 4, 0, 45, 3, 2, 0, 17, 0,
- 2, 0, 46, 3, 7, 0, 47, 3, 0, 0,161, 0,144, 0, 8, 0,101, 0,181, 2, 0, 0, 48, 3, 0, 0, 49, 3, 0, 0,171, 2,
- 0, 0, 50, 3, 0, 0, 51, 3, 0, 0, 88, 0, 0, 0,159, 2,145, 0, 3, 0,101, 0,181, 2,146, 0, 52, 3,130, 0, 3, 3,
-147, 0, 10, 0,101, 0,181, 2, 24, 0, 53, 3, 24, 0, 54, 3, 0, 0, 55, 3, 7, 0, 56, 3, 2, 0, 57, 3, 2, 0, 58, 3,
- 0, 0, 59, 3, 0, 0, 60, 3, 0, 0,192, 2,148, 0, 9, 0,101, 0,181, 2, 24, 0, 61, 3, 0, 0, 55, 3, 7, 0, 62, 3,
- 7, 0, 63, 3, 0, 0, 72, 1, 0, 0,207, 2, 0, 0, 64, 3, 0, 0, 35, 0,149, 0, 1, 0,101, 0,181, 2,150, 0, 11, 0,
-101, 0,181, 2, 0, 0,217, 2, 7, 0,120, 0, 7, 0, 65, 3, 7, 0, 66, 3, 7, 0, 67, 3, 7, 0, 68, 3, 4, 0, 17, 0,
- 2, 0, 69, 3, 2, 0, 70, 3, 4, 0, 35, 0,151, 0, 9, 0,101, 0,181, 2, 24, 0, 71, 3, 4, 0, 72, 3, 4, 0, 73, 3,
- 4, 0, 74, 3, 7, 0, 75, 3, 7, 0, 76, 3, 2, 0,207, 2, 2, 0, 17, 0,152, 0, 16, 0,101, 0,181, 2, 44, 0,182, 2,
- 24, 0,183, 2, 0, 0,184, 2, 4, 0,185, 2, 4, 0,186, 2, 4, 0,222, 2, 7, 0,223, 2, 24, 0, 77, 3, 24, 0, 78, 3,
- 51, 0, 85, 1, 0, 0,217, 2, 7, 0, 79, 3, 0, 0, 17, 0, 0, 0,246, 0, 0, 0,159, 2,153, 0, 3, 0,154, 0, 80, 3,
- 4, 0, 56, 2, 0, 0, 90, 0,154, 0, 29, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 38, 2, 2, 0, 39, 2, 2, 0, 81, 3,
- 2, 0, 17, 0, 2, 0, 82, 3, 2, 0, 83, 3, 2, 0, 84, 3, 2, 0, 67, 0, 0, 0, 85, 3, 0, 0, 86, 3, 0, 0, 87, 3,
- 0, 0,229, 1, 4, 0, 35, 0, 7, 0, 88, 3, 7, 0, 89, 3, 7, 0, 90, 3, 7, 0, 91, 3, 7, 0, 92, 3, 7, 0, 93, 3,
- 26, 0, 94, 3, 28, 0, 77, 0, 30, 0, 63, 2, 79, 0,111, 2, 0, 0, 69, 0, 7, 0, 95, 3, 7, 0, 96, 3,153, 0, 97, 3,
-155, 0, 3, 0,155, 0, 0, 0,155, 0, 1, 0, 0, 0, 18, 0, 62, 0, 3, 0, 7, 0, 98, 3, 4, 0, 17, 0, 4, 0, 35, 0,
- 24, 0,129, 0, 19, 0, 29, 0, 31, 0, 72, 0,156, 0, 99, 3, 2, 0, 15, 0, 2, 0,100, 3, 4, 0,101, 3, 4, 0,102, 3,
- 4, 0,103, 3, 0, 0,104, 3, 24, 0, 36, 0, 24, 0,105, 3, 24, 0,106, 3, 24, 0,107, 3, 24, 0,108, 3, 28, 0, 77, 0,
- 70, 0, 62, 2, 62, 0,254, 1,157, 0,109, 3,157, 0,110, 3,158, 0,111, 3, 9, 0, 2, 0,159, 0,112, 3,160, 0,113, 3,
-161, 0,114, 3, 12, 0,115, 3, 12, 0,116, 3, 12, 0, 18, 2, 12, 0,117, 3, 12, 0,118, 3, 4, 0, 72, 1, 4, 0,119, 3,
- 57, 0, 20, 2, 0, 0,120, 3, 4, 0, 22, 2, 4, 0,121, 3, 7, 0, 67, 1, 7, 0,122, 3, 7, 0,123, 3, 7, 0,167, 0,
- 7, 0,124, 3, 7, 0, 68, 1, 7, 0,125, 3, 7, 0, 8, 2, 7, 0,126, 3, 7, 0,127, 3, 7, 0,128, 3, 7, 0,129, 3,
- 7, 0,130, 3, 7, 0,131, 3, 7, 0,251, 2, 7, 0,132, 3, 7, 0,237, 0, 7, 0,133, 3, 4, 0,134, 3, 2, 0, 17, 0,
- 2, 0,135, 3, 2, 0,136, 3, 2, 0,137, 3, 2, 0,138, 3, 2, 0,139, 3, 2, 0,140, 3, 2, 0,141, 3, 2, 0,142, 3,
- 2, 0,143, 3, 2, 0,144, 3, 2, 0,145, 3, 4, 0,146, 3, 4, 0,147, 3, 4, 0,148, 3, 4, 0,149, 3, 7, 0,150, 3,
- 7, 0, 98, 2, 7, 0,151, 3, 7, 0,152, 3, 7, 0,153, 3, 7, 0,154, 3, 7, 0,155, 3, 7, 0,212, 0, 7, 0,156, 3,
- 7, 0,157, 3, 7, 0,158, 3, 7, 0,159, 3, 2, 0,160, 3, 0, 0,161, 3, 0, 0,106, 0, 0, 0,162, 3, 0, 0,163, 3,
- 7, 0,164, 3, 7, 0,165, 3, 12, 0,166, 3, 12, 0,167, 3, 12, 0,168, 3, 12, 0,169, 3, 7, 0,170, 3, 2, 0,151, 2,
- 2, 0,171, 3, 7, 0,133, 2, 4, 0,172, 3, 4, 0,173, 3,162, 0,174, 3, 2, 0,175, 3, 2, 0,244, 0, 7, 0,176, 3,
- 12, 0,177, 3, 12, 0,178, 3, 12, 0,179, 3, 12, 0,180, 3,163, 0, 64, 1,164, 0,181, 3, 58, 0,182, 3, 2, 0,183, 3,
- 2, 0,184, 3, 2, 0, 56, 2, 2, 0,185, 3, 7, 0,124, 2, 2, 0,186, 3, 2, 0,187, 3,146, 0,188, 3,134, 0,189, 3,
-134, 0,190, 3, 4, 0,191, 3, 4, 0,192, 3, 4, 0,193, 3, 4, 0, 67, 0, 12, 0,194, 3, 12, 0,195, 3, 12, 0,196, 3,
- 7, 0,197, 3, 0, 0,198, 3,165, 0, 14, 0,165, 0, 0, 0,165, 0, 1, 0, 24, 0, 36, 0, 7, 0,251, 2, 7, 0, 69, 1,
- 7, 0,252, 2, 7, 0,244, 2, 0, 0, 18, 0, 4, 0,253, 2, 4, 0,254, 2, 4, 0,199, 3, 2, 0, 15, 0, 2, 0,200, 3,
- 7, 0,255, 2,166, 0, 12, 0,166, 0, 0, 0,166, 0, 1, 0, 24, 0, 42, 0, 4, 0,201, 3, 4, 0,151, 2, 4, 0,202, 3,
- 4, 0, 15, 0, 4, 0,203, 3, 7, 0, 69, 1, 7, 0,204, 3, 7, 0,205, 3, 7, 0,149, 2,163, 0, 40, 0, 4, 0, 17, 0,
- 2, 0,206, 3, 2, 0,207, 3, 2, 0,244, 2, 2, 0,208, 3, 2, 0,209, 3, 2, 0,210, 3, 2, 0,211, 3, 2, 0,212, 3,
- 7, 0,213, 3, 7, 0,214, 3, 7, 0,215, 3, 7, 0,216, 3, 7, 0,217, 3, 7, 0,218, 3, 7, 0,219, 3, 7, 0,220, 3,
- 7, 0,221, 3, 7, 0,222, 3, 7, 0,223, 3, 7, 0,224, 3, 7, 0,225, 3, 7, 0,226, 3, 7, 0,227, 3, 7, 0,228, 3,
- 7, 0,229, 3, 7, 0,230, 3, 7, 0,231, 3, 7, 0,232, 3, 7, 0,233, 3, 7, 0,234, 3, 7, 0,235, 3, 7, 0,236, 3,
- 7, 0,237, 3, 7, 0,238, 3, 7, 0,239, 3, 44, 0,160, 0,167, 0,240, 3, 7, 0,241, 3, 4, 0,195, 2,168, 0, 5, 0,
- 58, 0,232, 1, 7, 0,242, 3, 7, 0,243, 3, 2, 0, 17, 0, 2, 0,244, 3,169, 0, 5, 0,169, 0, 0, 0,169, 0, 1, 0,
- 4, 0, 15, 0, 4, 0,245, 3, 9, 0, 2, 0,170, 0, 9, 0,170, 0, 0, 0,170, 0, 1, 0, 4, 0,246, 3, 4, 0,247, 3,
- 4, 0,248, 3, 4, 0, 17, 0, 9, 0,249, 3, 9, 0,250, 3, 12, 0,251, 3,130, 0, 21, 0,130, 0, 0, 0,130, 0, 1, 0,
- 4, 0, 17, 0, 4, 0,252, 3, 4, 0,253, 3, 4, 0,254, 3, 4, 0,255, 3, 4, 0, 0, 4, 4, 0, 1, 4, 4, 0,247, 3,
- 4, 0,151, 2, 2, 0, 2, 4, 2, 0, 54, 0, 0, 0, 3, 4, 0, 0, 4, 4, 0, 0, 5, 4, 0, 0, 6, 4, 0, 0, 7, 4,
- 12, 0, 8, 4,171, 0, 9, 4, 9, 0, 10, 4,172, 0, 1, 0, 7, 0, 36, 2,162, 0, 30, 0, 4, 0, 17, 0, 7, 0, 11, 4,
- 7, 0, 12, 4, 7, 0, 13, 4, 4, 0, 14, 4, 4, 0, 15, 4, 4, 0, 16, 4, 4, 0, 17, 4, 7, 0, 18, 4, 7, 0, 19, 4,
- 7, 0, 20, 4, 7, 0, 21, 4, 7, 0, 22, 4, 7, 0, 23, 4, 7, 0, 24, 4, 7, 0, 25, 4, 7, 0, 26, 4, 7, 0, 27, 4,
- 7, 0, 28, 4, 7, 0, 29, 4, 7, 0, 30, 4, 7, 0, 31, 4, 7, 0, 32, 4, 7, 0, 33, 4, 7, 0, 34, 4, 7, 0, 35, 4,
- 4, 0, 36, 4, 4, 0, 37, 4, 7, 0, 38, 4, 7, 0,156, 3,164, 0, 54, 0, 4, 0,247, 3, 4, 0, 39, 4,173, 0, 40, 4,
-174, 0, 41, 4, 0, 0, 35, 0, 0, 0, 42, 4, 2, 0, 43, 4, 7, 0, 44, 4, 0, 0, 45, 4, 7, 0, 46, 4, 7, 0, 47, 4,
- 7, 0, 48, 4, 7, 0, 49, 4, 7, 0, 50, 4, 7, 0, 51, 4, 7, 0, 52, 4, 7, 0, 53, 4, 7, 0, 54, 4, 2, 0, 55, 4,
- 0, 0, 56, 4, 2, 0, 57, 4, 7, 0, 58, 4, 7, 0, 59, 4, 0, 0, 60, 4, 4, 0,121, 0, 4, 0, 61, 4, 4, 0, 62, 4,
- 2, 0, 63, 4, 2, 0, 64, 4,172, 0, 65, 4, 4, 0, 66, 4, 4, 0, 79, 0, 7, 0, 67, 4, 7, 0, 68, 4, 7, 0, 69, 4,
- 7, 0, 70, 4, 2, 0, 71, 4, 2, 0, 72, 4, 2, 0, 73, 4, 2, 0, 74, 4, 2, 0, 75, 4, 2, 0, 76, 4, 2, 0, 77, 4,
- 2, 0, 78, 4,175, 0, 79, 4, 7, 0, 80, 4, 7, 0, 81, 4,130, 0, 82, 4, 12, 0, 4, 3,168, 0, 83, 4, 7, 0, 84, 4,
- 7, 0, 85, 4, 7, 0, 86, 4, 0, 0, 87, 4,176, 0, 1, 0, 7, 0, 88, 4,146, 0, 52, 0,145, 0, 89, 4, 2, 0, 15, 0,
- 2, 0, 90, 4, 2, 0, 91, 4, 2, 0, 92, 4, 7, 0, 93, 4, 2, 0, 94, 4, 2, 0, 95, 4, 7, 0, 96, 4, 2, 0, 97, 4,
- 2, 0, 98, 4, 7, 0, 99, 4, 7, 0,100, 4, 7, 0,101, 4, 7, 0,102, 4, 7, 0,103, 4, 4, 0,104, 4, 4, 0,105, 4,
- 7, 0,106, 4, 4, 0,107, 4, 7, 0,108, 4, 7, 0,109, 4, 7, 0,110, 4, 73, 0,111, 4, 73, 0,112, 4, 0, 0,113, 4,
- 7, 0,114, 4, 7, 0,115, 4, 28, 0, 77, 0, 2, 0,116, 4, 0, 0,117, 4, 0, 0,118, 4, 7, 0,119, 4, 4, 0,120, 4,
- 7, 0,121, 4, 7, 0,122, 4, 4, 0,123, 4, 4, 0, 17, 0, 7, 0,124, 4, 7, 0,125, 4, 7, 0,126, 4,176, 0,127, 4,
- 4, 0, 51, 0, 7, 0,128, 4, 7, 0,129, 4, 7, 0,130, 4, 7, 0,131, 4, 7, 0,132, 4, 7, 0,133, 4, 7, 0,134, 4,
- 4, 0,135, 4, 4, 0, 35, 0,177, 0, 76, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0,170, 0, 2, 0, 73, 1, 2, 0,107, 1,
- 2, 0,136, 4, 7, 0,137, 4, 7, 0,138, 4, 7, 0,139, 4, 7, 0,140, 4, 7, 0,141, 4, 7, 0,142, 4, 7, 0,153, 1,
- 7, 0,155, 1, 7, 0,154, 1, 7, 0, 67, 0, 4, 0,143, 4, 7, 0,144, 4, 7, 0,145, 4, 7, 0,146, 4, 7, 0,147, 4,
- 7, 0,148, 4, 7, 0,149, 4, 7, 0,150, 4, 2, 0,151, 4, 2, 0, 72, 1, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4,
- 2, 0,155, 4, 2, 0,156, 4, 2, 0,157, 4, 7, 0,158, 4, 7, 0,159, 4, 7, 0,160, 4, 7, 0,161, 4, 7, 0,162, 4,
- 7, 0,163, 4, 7, 0,164, 4, 7, 0,165, 4, 7, 0,166, 4, 7, 0,167, 4, 7, 0,168, 4, 7, 0,169, 4, 2, 0,170, 4,
- 2, 0,171, 4, 2, 0,172, 4, 2, 0,173, 4, 7, 0,174, 4, 7, 0,175, 4, 7, 0,176, 4, 7, 0,177, 4, 2, 0,178, 4,
- 2, 0,179, 4, 2, 0,180, 4, 2, 0,181, 4, 7, 0,182, 4, 7, 0,183, 4, 7, 0,184, 4, 7, 0,185, 4, 7, 0,186, 4,
- 7, 0,187, 4, 7, 0,188, 4, 2, 0,189, 4, 2, 0,190, 4, 2, 0,191, 4, 2, 0,192, 4, 2, 0,193, 4, 2, 0, 17, 0,
- 7, 0,194, 4, 7, 0,195, 4, 28, 0, 77, 0, 43, 0,125, 1, 2, 0,126, 1, 2, 0,196, 4, 22, 0,146, 0,178, 0, 8, 0,
-178, 0, 0, 0,178, 0, 1, 0, 4, 0,134, 3, 4, 0,197, 4, 4, 0, 17, 0, 2, 0,198, 4, 2, 0,199, 4, 24, 0,159, 0,
-179, 0, 13, 0, 9, 0,200, 4, 9, 0,201, 4, 4, 0,202, 4, 4, 0,203, 4, 4, 0,204, 4, 4, 0,205, 4, 4, 0,206, 4,
- 4, 0,207, 4, 4, 0,208, 4, 4, 0,209, 4, 4, 0,210, 4, 4, 0, 35, 0, 0, 0,211, 4,180, 0, 5, 0, 9, 0,212, 4,
- 9, 0,213, 4, 4, 0,214, 4, 4, 0, 67, 0, 0, 0,215, 4,181, 0, 17, 0, 4, 0,216, 4, 4, 0,217, 4, 4, 0,218, 4,
- 4, 0,219, 4, 4, 0,220, 4, 4, 0,221, 4, 4, 0,222, 4, 4, 0,223, 4, 4, 0,224, 4, 4, 0,225, 4, 4, 0,226, 4,
- 4, 0,227, 4, 2, 0,228, 4, 2, 0,229, 4, 4, 0,230, 4, 4, 0,231, 4, 4, 0, 87, 0,182, 0, 15, 0, 4, 0, 15, 0,
- 4, 0,218, 4, 4, 0,232, 4, 4, 0,233, 4, 4, 0,234, 4, 4, 0,235, 4, 7, 0,236, 4, 4, 0,237, 4, 4, 0, 88, 0,
- 4, 0,238, 4, 4, 0,239, 4, 4, 0,240, 4, 4, 0,241, 4, 4, 0,242, 4, 18, 0, 28, 0,183, 0, 7, 0, 4, 0,243, 4,
- 7, 0,244, 4, 7, 0,245, 4, 7, 0,246, 4, 4, 0,247, 4, 2, 0, 17, 0, 2, 0, 35, 0,184, 0, 11, 0,184, 0, 0, 0,
-184, 0, 1, 0, 0, 0, 18, 0, 57, 0,248, 4, 58, 0,249, 4, 4, 0,134, 3, 4, 0,250, 4, 4, 0,251, 4, 4, 0, 35, 0,
- 4, 0,252, 4, 4, 0,253, 4,185, 0,110, 0,179, 0,254, 4,180, 0,255, 4,181, 0, 0, 5,182, 0, 1, 5, 4, 0, 19, 3,
- 4, 0,121, 0, 4, 0, 61, 4, 7, 0, 2, 5, 4, 0, 3, 5, 4, 0, 4, 5, 4, 0, 5, 5, 4, 0, 6, 5, 2, 0, 17, 0,
- 2, 0, 7, 5, 7, 0, 8, 5, 7, 0, 9, 5, 7, 0, 10, 5, 7, 0, 11, 5, 7, 0, 12, 5, 2, 0, 13, 5, 2, 0, 14, 5,
- 2, 0, 15, 5, 2, 0, 16, 5, 2, 0,243, 0, 2, 0, 17, 5, 4, 0, 18, 5, 2, 0, 19, 5, 2, 0, 20, 5, 2, 0, 94, 1,
- 2, 0,104, 0, 2, 0, 21, 5, 2, 0, 22, 5, 2, 0, 23, 5, 2, 0, 24, 5, 2, 0, 25, 5, 2, 0, 26, 5, 2, 0, 27, 5,
- 2, 0, 28, 5, 2, 0, 29, 5, 2, 0, 95, 1, 2, 0, 30, 5, 2, 0, 31, 5, 2, 0, 32, 5, 2, 0, 33, 5, 4, 0, 34, 5,
- 4, 0, 72, 1, 4, 0, 35, 5, 2, 0, 36, 5, 2, 0, 37, 5, 2, 0, 38, 5, 2, 0, 39, 5, 2, 0, 40, 5, 2, 0, 41, 5,
- 2, 0, 42, 5, 2, 0, 43, 5, 16, 0, 44, 5, 16, 0, 45, 5, 15, 0, 46, 5, 12, 0, 47, 5, 2, 0, 48, 5, 2, 0, 49, 5,
- 7, 0, 50, 5, 7, 0, 51, 5, 7, 0, 52, 5, 7, 0, 53, 5, 4, 0, 54, 5, 7, 0, 55, 5, 7, 0, 56, 5, 7, 0, 57, 5,
- 7, 0, 58, 5, 2, 0, 59, 5, 2, 0, 60, 5, 2, 0, 61, 5, 2, 0, 62, 5, 2, 0, 63, 5, 2, 0, 64, 5, 7, 0, 65, 5,
- 7, 0, 66, 5, 7, 0, 67, 5, 0, 0, 68, 5, 0, 0, 69, 5, 4, 0, 70, 5, 2, 0, 71, 5, 2, 0,229, 1, 0, 0, 72, 5,
- 7, 0, 73, 5, 7, 0, 74, 5, 0, 0, 75, 5, 0, 0, 76, 5, 0, 0, 77, 5, 0, 0, 78, 5, 4, 0, 79, 5, 2, 0, 80, 5,
- 2, 0, 81, 5, 7, 0, 82, 5, 7, 0, 83, 5, 2, 0, 84, 5, 2, 0, 85, 5, 7, 0, 86, 5, 2, 0, 87, 5, 2, 0, 88, 5,
- 4, 0, 89, 5, 2, 0, 90, 5, 2, 0, 91, 5, 2, 0, 92, 5, 2, 0, 93, 5, 7, 0, 94, 5, 7, 0, 67, 0, 34, 0, 95, 5,
- 0, 0, 96, 5,186, 0, 9, 0,186, 0, 0, 0,186, 0, 1, 0, 0, 0, 18, 0, 2, 0, 97, 5, 2, 0, 98, 5, 2, 0, 99, 5,
- 2, 0, 87, 0, 7, 0,100, 5, 7, 0, 67, 0,187, 0, 7, 0, 2, 0,212, 2, 2, 0, 72, 1, 2, 0, 76, 3, 2, 0,101, 5,
- 7, 0,102, 5, 7, 0, 67, 0, 34, 0,103, 5,188, 0, 5, 0, 7, 0,104, 5, 0, 0, 15, 0, 0, 0, 87, 0, 0, 0, 67, 0,
- 0, 0,229, 1,189, 0, 28, 0, 7, 0,149, 4, 7, 0,150, 4, 2, 0, 72, 1, 2, 0, 17, 0, 2, 0,105, 5, 2, 0,196, 4,
- 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 2, 0,156, 4, 2, 0,157, 4,188, 0,106, 5, 2, 0, 13, 5,
- 2, 0, 14, 5, 2, 0, 15, 5, 2, 0, 16, 5, 2, 0,243, 0, 2, 0, 17, 5, 2, 0,107, 5, 2, 0,108, 5,187, 0,109, 5,
- 2, 0,110, 5, 2, 0, 19, 5, 2, 0, 22, 5, 2, 0, 23, 5, 7, 0,111, 5, 7, 0, 87, 0,190, 0, 6, 0,190, 0, 0, 0,
-190, 0, 1, 0, 4, 0,246, 3, 0, 0, 3, 4, 4, 0, 17, 0, 24, 0,112, 5,191, 0, 4, 0,192, 0,113, 5, 9, 0,114, 5,
- 0, 0,115, 5, 4, 0, 88, 0,193, 0, 8, 0,191, 0,116, 5, 2, 0, 17, 0, 2, 0, 35, 0, 2, 0,117, 5, 2, 0,118, 5,
- 2, 0,119, 5, 4, 0, 87, 0, 9, 0,120, 5,194, 0, 6, 0, 2, 0,104, 0, 2, 0,252, 3, 2, 0,121, 5, 2, 0,206, 2,
- 4, 0, 17, 0, 7, 0,223, 2,195, 0, 14, 0, 2, 0, 17, 0, 2, 0,122, 5, 2, 0,123, 5, 2, 0,124, 5,194, 0,125, 5,
- 9, 0,120, 5, 7, 0,126, 5, 7, 0, 54, 0, 4, 0,127, 5, 4, 0,128, 5, 4, 0,129, 5, 4, 0,130, 5, 38, 0,117, 0,
- 24, 0,159, 0,196, 0, 4, 0,196, 0, 0, 0,196, 0, 1, 0, 0, 0,131, 5, 7, 0,132, 5,197, 0, 14, 0,191, 0,116, 5,
- 4, 0, 88, 0, 4, 0,133, 5, 7, 0,134, 5, 7, 0,135, 5, 7, 0,136, 5, 4, 0,137, 5, 4, 0,138, 5, 7, 0,139, 5,
- 7, 0,140, 5, 4, 0,141, 5, 7, 0,142, 5, 7, 0,143, 5, 4, 0, 35, 0,198, 0, 7, 0,191, 0,116, 5, 2, 0, 17, 0,
- 2, 0, 35, 0, 4, 0, 34, 0, 4, 0,144, 5, 79, 0,145, 5, 9, 0,120, 5,199, 0, 82, 0,198, 0,146, 5,198, 0,147, 5,
-197, 0, 99, 3, 7, 0,148, 5, 2, 0,149, 5, 2, 0,150, 5, 7, 0,151, 5, 7, 0,152, 5, 2, 0,252, 3, 2, 0,153, 5,
- 7, 0,154, 5, 7, 0,155, 5, 7, 0,156, 5, 2, 0,157, 5, 2, 0,127, 5, 2, 0,158, 5, 2, 0,159, 5, 2, 0,160, 5,
- 2, 0,161, 5, 7, 0,162, 5, 7, 0,163, 5, 7, 0,164, 5, 2, 0,165, 5, 2, 0,166, 5, 2, 0,167, 5, 2, 0,168, 5,
- 2, 0,169, 5, 2, 0,170, 5, 2, 0,171, 5, 2, 0,172, 5,193, 0,173, 5,195, 0,174, 5, 7, 0,175, 5, 7, 0,176, 5,
- 7, 0,177, 5, 2, 0,178, 5, 2, 0,179, 5, 0, 0,180, 5, 0, 0,181, 5, 0, 0,182, 5, 0, 0,183, 5, 0, 0,184, 5,
- 0, 0,185, 5, 2, 0,186, 5, 7, 0,187, 5, 7, 0,188, 5, 7, 0,189, 5, 7, 0,190, 5, 7, 0,191, 5, 7, 0,192, 5,
- 7, 0,193, 5, 7, 0,194, 5, 7, 0,195, 5, 7, 0,196, 5, 2, 0,197, 5, 0, 0,198, 5, 0, 0,199, 5, 0, 0,200, 5,
- 0, 0,201, 5, 24, 0,202, 5, 0, 0,203, 5, 0, 0,204, 5, 0, 0,205, 5, 0, 0,206, 5, 0, 0,207, 5, 0, 0,208, 5,
- 0, 0,209, 5, 0, 0,210, 5, 0, 0,211, 5, 0, 0,212, 5, 2, 0,213, 5, 2, 0,214, 5, 2, 0,215, 5, 2, 0,216, 5,
- 0, 0,217, 5, 0, 0,196, 4, 4, 0,218, 5, 2, 0,219, 5, 2, 0, 87, 0, 4, 0,220, 5, 7, 0,221, 5, 7, 0,222, 5,
-200, 0, 8, 0, 4, 0,223, 5, 4, 0,224, 5, 4, 0,225, 5, 4, 0,226, 5, 4, 0,227, 5, 4, 0,228, 5, 4, 0, 51, 0,
- 4, 0,121, 2,201, 0, 4, 0, 7, 0,229, 5, 0, 0,230, 5, 0, 0,231, 5, 2, 0, 17, 0,202, 0, 4, 0, 7, 0,232, 5,
- 4, 0, 17, 0, 4, 0,233, 5, 4, 0, 54, 0, 38, 0, 44, 0, 19, 0, 29, 0, 31, 0, 72, 0, 24, 0,112, 5,177, 0,234, 5,
- 38, 0,235, 5, 12, 0,236, 5,178, 0,237, 5, 24, 0,238, 5, 7, 0,239, 5, 7, 0,240, 5, 7, 0,241, 5, 7, 0,242, 5,
- 4, 0,134, 3, 4, 0,243, 5, 4, 0,244, 5, 4, 0,245, 5, 4, 0,246, 5, 2, 0, 17, 0, 2, 0, 66, 1, 53, 0, 61, 1,
-203, 0,247, 5,199, 0,248, 5,204, 0,249, 5,185, 0,177, 0,183, 0,250, 5, 12, 0, 98, 0, 12, 0,251, 5, 9, 0,252, 5,
- 9, 0,253, 5, 9, 0,254, 5, 9, 0,255, 5,205, 0, 0, 6, 2, 0, 1, 6, 2, 0, 2, 6, 2, 0,244, 0, 2, 0, 3, 6,
- 4, 0, 4, 6, 4, 0, 5, 6, 12, 0, 6, 6,188, 0,106, 5,189, 0, 7, 6,201, 0, 8, 6,159, 0,112, 3,202, 0, 9, 6,
-206, 0, 11, 0,206, 0, 0, 0,206, 0, 1, 0, 39, 0,235, 0, 37, 0, 60, 1, 7, 0, 86, 2, 7, 0, 87, 2, 7, 0,104, 0,
- 7, 0, 10, 6, 2, 0, 11, 6, 2, 0, 17, 0, 7, 0, 67, 0,207, 0, 38, 0, 7, 0, 12, 6, 7, 0, 13, 6, 7, 0, 14, 6,
- 7, 0, 15, 6, 7, 0, 16, 6, 7, 0, 17, 6, 7, 0, 18, 6, 7, 0, 19, 6, 7, 0, 20, 6, 7, 0, 79, 1, 7, 0, 21, 6,
- 7, 0, 22, 6, 7, 0, 23, 6, 7, 0, 24, 6, 7, 0,166, 0, 2, 0, 25, 6, 2, 0, 26, 6, 0, 0, 27, 6, 0, 0,196, 4,
- 2, 0, 28, 6, 2, 0, 29, 6, 2, 0, 30, 6, 2, 0, 11, 6, 7, 0, 31, 6, 7, 0, 32, 6, 62, 0, 33, 6,159, 0,112, 3,
-207, 0, 34, 6,208, 0, 35, 6,209, 0, 36, 6,210, 0, 37, 6,211, 0, 38, 6, 7, 0, 39, 6, 2, 0, 40, 6, 2, 0, 41, 6,
- 7, 0, 42, 6, 7, 0, 43, 6, 7, 0, 44, 6,212, 0, 50, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6,
- 7, 0, 47, 6, 2, 0, 48, 6, 7, 0, 20, 6, 7, 0, 79, 1, 7, 0, 87, 0, 4, 0, 49, 6, 2, 0, 30, 6, 2, 0, 11, 6,
- 24, 0,112, 5, 24, 0, 50, 6, 12, 0, 51, 6,206, 0, 52, 6,212, 0, 34, 6, 0, 0, 53, 6, 4, 0,134, 3, 4, 0,243, 5,
- 2, 0, 54, 6, 2, 0, 55, 6, 2, 0, 56, 6, 2, 0, 57, 6, 2, 0, 17, 0, 2, 0, 21, 2, 7, 0,110, 0, 7, 0, 58, 6,
- 7, 0, 59, 6, 7, 0, 60, 6, 7, 0,166, 0, 7, 0,239, 5, 2, 0, 61, 6, 2, 0, 62, 6, 2, 0, 63, 6, 0, 0, 64, 6,
- 0, 0, 65, 6, 0, 0, 66, 6, 0, 0, 67, 6, 0, 0, 68, 6, 12, 0, 69, 6, 12, 0, 70, 6, 12, 0, 71, 6, 2, 0, 72, 6,
- 2, 0,134, 2, 2, 0, 73, 6, 0, 0, 74, 6, 0, 0, 75, 6, 9, 0, 76, 6,159, 0,112, 3,214, 0, 24, 0, 16, 0, 34, 0,
- 16, 0, 61, 0, 15, 0, 77, 6, 15, 0, 78, 6, 15, 0, 79, 6, 7, 0, 80, 6, 7, 0, 81, 6, 7, 0, 82, 6, 7, 0, 83, 6,
- 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 86, 6, 2, 0, 87, 6, 2, 0, 88, 6, 2, 0, 17, 0, 2, 0, 89, 6, 2, 0, 90, 6,
- 2, 0, 91, 6, 2, 0, 92, 6, 2, 0, 93, 6, 2, 0, 57, 6, 7, 0, 94, 6, 4, 0, 95, 6, 4, 0, 96, 6,213, 0, 6, 0,
-213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,215, 0, 8, 0,213, 0, 0, 0,
-213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6, 0, 0, 97, 6, 0, 0,176, 0,216, 0, 14, 0,
-213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,214, 0, 98, 6,217, 0, 99, 6,
- 12, 0,100, 6, 2, 0, 72, 1, 2, 0,101, 6, 4, 0, 17, 0, 7, 0,102, 6, 4, 0, 57, 6,218, 0, 21, 0,213, 0, 0, 0,
-213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,208, 0, 35, 6,214, 0, 98, 6, 2, 0,103, 6,
- 2, 0,104, 6, 2, 0,105, 6, 2, 0,106, 6, 2, 0, 89, 6, 2, 0,107, 6, 2, 0,108, 6, 0, 0, 17, 0, 0, 0, 35, 0,
- 9, 0, 62, 2, 4, 0,109, 6, 4, 0,110, 6, 19, 0,111, 6,219, 0, 18, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6,
- 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,214, 0, 98, 6, 7, 0, 86, 2, 7, 0, 87, 2, 2, 0,103, 6, 2, 0,112, 6,
- 2, 0,113, 6, 2, 0,114, 6, 4, 0, 17, 0, 7, 0,115, 6, 4, 0, 11, 6, 4, 0, 35, 0,159, 0,112, 3,220, 0, 16, 0,
- 0, 0,116, 6, 0, 0,117, 6, 0, 0,118, 6, 0, 0,119, 6, 0, 0,120, 6, 0, 0,121, 6, 4, 0,122, 6, 4, 0,123, 6,
- 4, 0,124, 6, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,125, 6, 2, 0,126, 6, 2, 0,172, 1, 2, 0,127, 6, 0, 0,128, 6,
-221, 0, 16, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 4, 0,129, 6,220, 0,130, 6,222, 0,131, 6,
- 12, 0,132, 6, 12, 0,133, 6,223, 0,134, 6,211, 0,135, 6,224, 0,136, 6, 2, 0,137, 6, 2, 0,138, 6, 2, 0,139, 6,
- 2, 0, 67, 0,225, 0, 15, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,
-214, 0, 98, 6, 12, 0,140, 6,226, 0,141, 6, 0, 0,142, 6,227, 0,143, 6, 2, 0, 17, 0, 2, 0,144, 6, 2, 0,145, 6,
- 2, 0,146, 6,228, 0, 25, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 4, 0, 17, 0, 39, 0,227, 2,
- 37, 0, 60, 1, 51, 0,147, 6,229, 0,148, 6,230, 0,149, 6,159, 0,112, 3, 7, 0,150, 6, 7, 0, 86, 2, 7, 0, 87, 2,
- 7, 0,115, 6, 7, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6, 2, 0,154, 6, 2, 0,155, 6, 2, 0,156, 6, 0, 0,157, 6,
- 0, 0,158, 6, 0, 0,159, 6, 0, 0, 57, 6,231, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6,
- 7, 0, 47, 6, 2, 0, 48, 6, 2, 0,101, 6, 2, 0, 17, 0, 4, 0, 35, 0,217, 0, 99, 6,214, 0, 98, 6,232, 0, 31, 0,
-213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6, 34, 0,160, 6, 4, 0,161, 6,
- 4, 0,162, 6, 2, 0, 88, 0, 2, 0,163, 6, 2, 0,164, 6, 0, 0,165, 6, 0, 0,166, 6, 4, 0,167, 6, 4, 0,168, 6,
- 4, 0,169, 6, 2, 0,170, 6, 2, 0,171, 6, 2, 0,172, 6, 2, 0,173, 6, 7, 0,174, 6, 15, 0,175, 6, 15, 0,176, 6,
- 4, 0,177, 6, 4, 0,178, 6, 0, 0,179, 6, 0, 0,180, 6, 2, 0,181, 6, 0, 0,192, 2, 9, 0,182, 6,233, 0, 10, 0,
- 19, 0, 29, 0, 9, 0,183, 6, 9, 0,184, 6, 9, 0,185, 6, 9, 0,186, 6, 9, 0,187, 6, 4, 0, 88, 0, 4, 0,188, 6,
- 0, 0,189, 6, 0, 0,190, 6,234, 0, 10, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6,
-233, 0,191, 6, 2, 0, 88, 0, 2, 0,163, 6, 4, 0, 87, 0, 9, 0,192, 6,235, 0, 3, 0,235, 0, 0, 0,235, 0, 1, 0,
- 7, 0,193, 6,236, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6,214, 0, 98, 6,
- 12, 0,194, 6, 4, 0,195, 6, 4, 0, 35, 0, 4, 0, 17, 0, 4, 0,196, 6,237, 0, 26, 0,213, 0, 0, 0,213, 0, 1, 0,
- 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,214, 0, 98, 6, 19, 0,197, 6, 19, 0, 78, 0, 2, 0, 17, 0,
- 2, 0,163, 6, 7, 0,198, 6, 9, 0,199, 6, 7, 0, 86, 2, 7, 0, 87, 2, 7, 0,115, 6, 7, 0, 44, 6, 7, 0,200, 6,
- 7, 0,201, 6, 53, 0, 61, 1, 53, 0,202, 6, 4, 0,203, 6, 2, 0,204, 6, 2, 0,244, 0, 12, 0,205, 6,159, 0,112, 3,
-238, 0, 10, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6, 2, 0, 17, 0,
- 2, 0,143, 3, 4, 0, 35, 0,159, 0,112, 3,239, 0, 42, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6,
- 7, 0, 47, 6, 2, 0, 48, 6,214, 0, 98, 6,222, 0,131, 6, 0, 0,206, 6, 0, 0,117, 6, 0, 0,118, 6, 2, 0, 15, 0,
- 2, 0,207, 6, 2, 0, 17, 0, 2, 0,125, 6, 9, 0,199, 6, 4, 0,122, 6, 4, 0,208, 6, 4, 0,209, 6, 4, 0,210, 6,
- 15, 0,211, 6, 15, 0,212, 6, 7, 0,213, 6, 7, 0,214, 6, 7, 0,215, 6, 7, 0,198, 6, 2, 0,216, 6, 2, 0,234, 0,
- 2, 0,172, 1, 2, 0,217, 6, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0,218, 6, 2, 0,219, 6, 9, 0,220, 6, 9, 0,221, 6,
- 9, 0,222, 6, 9, 0,223, 6, 9, 0,224, 6, 2, 0,225, 6, 0, 0,226, 6, 49, 0,227, 6,240, 0, 7, 0,240, 0, 0, 0,
-240, 0, 1, 0, 4, 0,228, 6, 4, 0, 21, 0, 0, 0, 81, 0, 4, 0,229, 6, 4, 0, 15, 0,241, 0, 14, 0,213, 0, 0, 0,
-213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6, 4, 0,164, 6, 4, 0, 35, 0, 12, 0,230, 6,
- 12, 0,231, 6, 0, 0,232, 6, 0, 0,233, 6, 4, 0,234, 6, 4, 0,235, 6,242, 0, 6, 0,213, 0, 0, 0,213, 0, 1, 0,
- 12, 0, 45, 6, 4, 0, 46, 6, 4, 0, 35, 0, 0, 0,236, 6,243, 0, 15, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6,
- 4, 0, 46, 6, 7, 0, 47, 6,244, 0,237, 6,214, 0, 98, 6,245, 0,238, 6, 2, 0, 72, 1, 2, 0,239, 6, 2, 0, 86, 2,
- 2, 0, 87, 2, 2, 0, 17, 0, 2, 0,155, 6, 4, 0, 67, 0,246, 0, 7, 0,246, 0, 0, 0,246, 0, 1, 0, 0, 0,240, 6,
- 2, 0,241, 6, 2, 0,242, 6, 2, 0,243, 6, 2, 0, 35, 0,247, 0, 12, 0, 2, 0,242, 6, 2, 0,244, 6, 2, 0,245, 6,
- 0, 0,192, 2, 2, 0,246, 6, 2, 0,247, 6, 2, 0,248, 6, 2, 0,249, 6, 2, 0,250, 6, 2, 0, 89, 6, 7, 0,251, 6,
- 7, 0,252, 6,248, 0, 18, 0,248, 0, 0, 0,248, 0, 1, 0, 0, 0, 3, 4,247, 0,253, 6,247, 0,254, 6,247, 0,255, 6,
-247, 0, 0, 7, 7, 0, 1, 7, 2, 0, 2, 7, 2, 0, 3, 7, 2, 0, 4, 7, 2, 0, 5, 7, 2, 0, 6, 7, 2, 0, 7, 7,
- 2, 0, 8, 7, 2, 0, 9, 7, 2, 0, 10, 7, 2, 0, 11, 7,249, 0, 10, 0, 0, 0, 12, 7, 0, 0, 13, 7, 0, 0, 14, 7,
- 0, 0, 15, 7, 0, 0, 16, 7, 0, 0, 17, 7, 2, 0, 18, 7, 2, 0, 19, 7, 2, 0, 20, 7, 2, 0, 21, 7,250, 0, 8, 0,
- 0, 0, 22, 7, 0, 0, 23, 7, 0, 0, 24, 7, 0, 0, 25, 7, 0, 0, 26, 7, 0, 0, 27, 7, 7, 0, 10, 6, 7, 0, 35, 0,
-251, 0, 18, 0,249, 0, 28, 7,249, 0, 29, 7,249, 0, 30, 7,249, 0, 31, 7,249, 0, 32, 7,249, 0, 33, 7,249, 0, 34, 7,
-249, 0, 35, 7,249, 0, 36, 7,249, 0, 37, 7,249, 0, 38, 7,249, 0, 39, 7,249, 0, 40, 7,249, 0, 41, 7,249, 0, 42, 7,
-249, 0, 43, 7,250, 0, 44, 7, 0, 0, 45, 7,252, 0, 97, 0, 0, 0, 46, 7, 0, 0, 47, 7, 0, 0, 16, 7, 0, 0, 48, 7,
- 0, 0, 49, 7, 0, 0, 50, 7, 0, 0, 51, 7, 0, 0, 52, 7, 0, 0, 53, 7, 0, 0, 54, 7, 0, 0, 55, 7, 0, 0, 56, 7,
- 0, 0, 57, 7, 0, 0, 58, 7, 0, 0, 59, 7, 0, 0, 60, 7, 0, 0, 61, 7, 0, 0, 62, 7, 0, 0, 63, 7, 0, 0, 64, 7,
- 0, 0, 65, 7, 0, 0, 66, 7, 0, 0, 67, 7, 0, 0, 68, 7, 0, 0, 69, 7, 0, 0, 70, 7, 0, 0, 71, 7, 0, 0, 72, 7,
- 0, 0, 73, 7, 0, 0, 74, 7, 0, 0, 75, 7, 0, 0, 76, 7, 0, 0, 77, 7, 0, 0, 78, 7, 0, 0, 79, 7, 0, 0, 80, 7,
- 0, 0, 81, 7, 0, 0, 82, 7, 0, 0, 83, 7, 0, 0, 84, 7, 0, 0, 85, 7, 0, 0, 86, 7, 0, 0, 87, 7, 0, 0, 88, 7,
- 0, 0, 89, 7, 0, 0, 90, 7, 0, 0, 91, 7, 0, 0, 92, 7, 0, 0, 93, 7, 0, 0, 94, 7, 0, 0, 95, 7, 0, 0, 96, 7,
- 0, 0, 97, 7, 0, 0, 98, 7, 0, 0, 99, 7, 0, 0,100, 7, 0, 0,101, 7, 0, 0,102, 7, 0, 0,103, 7, 0, 0,104, 7,
- 0, 0,105, 7, 0, 0,106, 7, 0, 0,107, 7, 0, 0,108, 7, 0, 0,109, 7, 0, 0,110, 7, 0, 0,111, 7, 0, 0,112, 7,
- 0, 0,113, 7, 0, 0,114, 7, 0, 0,115, 7, 0, 0,116, 7, 0, 0,117, 7, 0, 0,118, 7, 0, 0,119, 7, 0, 0,120, 7,
- 0, 0,121, 7, 0, 0,122, 7, 0, 0,123, 7, 0, 0,124, 7, 0, 0,125, 7, 0, 0,126, 7, 0, 0,127, 7, 0, 0,128, 7,
- 0, 0,129, 7, 0, 0,130, 7, 0, 0,131, 7, 0, 0,132, 7, 0, 0,133, 7, 0, 0,134, 7, 0, 0,135, 7, 0, 0,136, 7,
- 0, 0,137, 7, 0, 0,138, 7, 0, 0,139, 7, 0, 0,140, 7, 0, 0,141, 7,253, 0, 5, 0, 0, 0,142, 7, 0, 0, 70, 7,
- 0, 0, 72, 7, 2, 0, 17, 0, 2, 0, 35, 0,254, 0, 25, 0,254, 0, 0, 0,254, 0, 1, 0, 0, 0, 18, 0,251, 0,143, 7,
-252, 0,144, 7,252, 0,145, 7,252, 0,146, 7,252, 0,147, 7,252, 0,148, 7,252, 0,149, 7,252, 0,150, 7,252, 0,151, 7,
-252, 0,152, 7,252, 0,153, 7,252, 0,154, 7,252, 0,155, 7,252, 0,156, 7,252, 0,157, 7,252, 0,158, 7,252, 0,159, 7,
-252, 0,160, 7,252, 0,161, 7,253, 0,162, 7, 4, 0,163, 7, 4, 0, 35, 0,255, 0, 3, 0,255, 0, 0, 0,255, 0, 1, 0,
- 0, 0,164, 7, 0, 1, 5, 0, 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,133, 2, 7, 0,165, 7, 7, 0, 36, 2, 1, 1, 90, 0,
- 4, 0, 17, 0, 4, 0,166, 7, 4, 0,167, 7, 0, 0,168, 7, 0, 0,169, 7, 0, 0,170, 7, 0, 0,171, 7, 0, 0,172, 7,
- 0, 0,173, 7, 0, 0,174, 7, 0, 0,175, 7, 0, 0,176, 7, 0, 0,177, 7, 4, 0,178, 7, 2, 0,179, 7, 2, 0,180, 7,
- 2, 0,181, 7, 2, 0,182, 7, 4, 0,183, 7, 4, 0,184, 7, 4, 0,185, 7, 4, 0,186, 7, 2, 0,187, 7, 2, 0,188, 7,
- 4, 0,189, 7, 4, 0,190, 7, 4, 0,191, 7, 4, 0,192, 7, 4, 0,193, 7, 4, 0,230, 6, 4, 0,194, 7, 2, 0,195, 7,
- 2, 0,196, 7, 2, 0,197, 7, 2, 0,198, 7, 12, 0,199, 7, 12, 0,200, 7, 12, 0,201, 7, 12, 0,202, 7, 12, 0,203, 7,
- 0, 0,204, 7, 2, 0,205, 7, 2, 0,206, 7, 2, 0,207, 7, 2, 0,208, 7, 2, 0,209, 7, 2, 0,210, 7, 2, 0,211, 7,
- 2, 0,212, 7, 0, 1,213, 7, 2, 0,214, 7, 2, 0,215, 7, 2, 0,216, 7, 2, 0,217, 7, 2, 0,218, 7, 2, 0,219, 7,
- 2, 0,220, 7, 2, 0,221, 7, 4, 0,222, 7, 4, 0,223, 7, 2, 0,224, 7, 2, 0,225, 7, 2, 0,226, 7, 2, 0,227, 7,
- 2, 0,228, 7, 2, 0,229, 7, 2, 0,230, 7, 2, 0,231, 7, 2, 0,232, 7, 2, 0,233, 7, 2, 0,234, 7, 2, 0,235, 7,
- 2, 0,236, 7, 2, 0,237, 7, 2, 0,238, 7, 2, 0,239, 7, 2, 0,240, 7, 2, 0,196, 4, 0, 0,241, 7, 0, 0,242, 7,
- 7, 0,243, 7, 2, 0,178, 5, 2, 0,179, 5, 2, 0,244, 7, 2, 0,245, 7, 7, 0,222, 2, 47, 0,246, 7, 7, 0,247, 7,
- 4, 0,229, 1, 0, 0,248, 7, 2, 1, 24, 0, 19, 0, 29, 0, 12, 0,249, 7, 12, 0,250, 7, 12, 0,251, 7, 12, 0, 45, 6,
- 38, 0,117, 0, 38, 0,252, 7, 4, 0,253, 7, 4, 0, 87, 0, 2, 0,254, 7, 2, 0,255, 7, 2, 0, 0, 8, 2, 0, 1, 8,
- 2, 0, 2, 8, 2, 0, 3, 8, 2, 0, 4, 8, 2, 0, 5, 8, 2, 0, 6, 8, 2, 0, 7, 8, 2, 0, 8, 8, 2, 0, 35, 0,
-211, 0, 9, 8, 9, 0, 10, 8, 2, 0, 11, 8, 3, 1, 5, 0, 3, 1, 0, 0, 3, 1, 1, 0, 3, 1, 12, 8, 13, 0, 13, 8,
- 4, 0, 17, 0, 4, 1, 7, 0, 4, 1, 0, 0, 4, 1, 1, 0, 3, 1, 14, 8, 3, 1, 15, 8, 2, 0, 45, 5, 2, 0, 17, 0,
- 4, 0, 35, 0, 5, 1, 25, 0, 5, 1, 0, 0, 5, 1, 1, 0, 6, 1, 16, 8, 7, 1,136, 6, 0, 0, 17, 8, 0, 0, 18, 8,
- 0, 0, 19, 8, 2, 0, 20, 8, 2, 0, 21, 8, 2, 0, 22, 8, 2, 0, 23, 8, 2, 0, 24, 8, 2, 0, 35, 0, 2, 0, 17, 0,
- 2, 0, 25, 8, 2, 0, 26, 8, 2, 0, 27, 8, 4, 0, 28, 8, 5, 1, 29, 8, 9, 0, 30, 8, 4, 0, 31, 8, 4, 0, 32, 8,
- 4, 0, 33, 8, 4, 0, 34, 8, 0, 0, 35, 8,244, 0, 22, 0,244, 0, 0, 0,244, 0, 1, 0, 3, 1, 14, 8, 3, 1, 15, 8,
- 3, 1, 36, 8, 3, 1, 37, 8, 2, 1, 38, 8, 15, 0, 49, 0, 0, 0, 46, 6, 0, 0, 39, 8, 2, 0, 90, 6, 2, 0, 91, 6,
- 2, 0, 40, 8, 2, 0, 35, 0, 2, 0, 2, 8, 2, 0,229, 6, 2, 0, 17, 0, 8, 1, 16, 8, 12, 0, 41, 8, 12, 0, 45, 6,
- 12, 0, 42, 8, 12, 0, 43, 8, 9, 1, 24, 0, 9, 1, 0, 0, 9, 1, 1, 0,214, 0, 98, 6, 15, 0, 44, 8, 15, 0, 45, 8,
- 2, 0, 90, 6, 2, 0, 91, 6, 2, 0, 46, 8, 2, 0, 47, 8, 2, 0, 48, 8, 2, 0, 17, 0, 7, 0, 82, 2, 2, 0, 22, 8,
- 2, 0, 23, 8, 2, 0, 1, 8, 2, 0, 49, 8, 2, 0, 6, 8, 2, 0,196, 4, 10, 1, 16, 8, 12, 0, 50, 8, 12, 0, 51, 8,
- 12, 0, 42, 8, 0, 0, 52, 8, 9, 0, 53, 8, 11, 1, 14, 0, 0, 0, 54, 8, 2, 0, 55, 8, 2, 0, 56, 8, 2, 0, 57, 8,
- 2, 0, 58, 8, 2, 0, 31, 5, 2, 0, 26, 5, 2, 1, 59, 8, 38, 0, 60, 8, 4, 0, 61, 8, 4, 0, 62, 8, 4, 0, 63, 8,
- 4, 0, 35, 0, 0, 0, 64, 8, 12, 1, 3, 0, 0, 0, 65, 8, 4, 0, 66, 8, 4, 0, 67, 8, 13, 1, 4, 0, 4, 0,161, 6,
- 4, 0, 68, 8, 4, 0,167, 6, 4, 0, 69, 8, 14, 1, 2, 0, 4, 0, 70, 8, 4, 0, 71, 8, 15, 1, 5, 0, 7, 0, 72, 8,
- 7, 0, 73, 8, 7, 0, 74, 8, 4, 0, 17, 0, 4, 0, 35, 0, 16, 1, 6, 0, 0, 0, 75, 8, 0, 0,118, 6, 41, 0,130, 0,
- 2, 0,104, 0, 2, 0, 30, 5, 4, 0, 35, 0, 17, 1, 14, 0, 17, 1, 0, 0, 17, 1, 1, 0, 4, 0, 54, 0, 4, 0, 21, 0,
- 4, 0, 26, 0, 4, 0, 76, 8, 4, 0, 77, 8, 4, 0, 78, 8, 12, 1, 79, 8, 0, 0, 75, 8, 16, 1,106, 3, 13, 1, 80, 8,
- 14, 1, 81, 8, 15, 1, 82, 8, 18, 1, 12, 0, 0, 0,253, 1, 9, 0,220, 0, 0, 0,221, 0, 4, 0,224, 0, 4, 0,232, 0,
- 9, 0,225, 0, 7, 0,227, 0, 7, 0,228, 0, 9, 0, 83, 8, 9, 0, 84, 8, 9, 0,229, 0, 9, 0,231, 0, 19, 1, 48, 0,
- 19, 1, 0, 0, 19, 1, 1, 0, 9, 0, 85, 8, 9, 0, 24, 0, 0, 0, 25, 0, 4, 0, 17, 0, 4, 0, 15, 0, 4, 0, 21, 0,
- 4, 0, 85, 0, 4, 0, 86, 8, 4, 0, 87, 8, 4, 0, 77, 8, 4, 0, 78, 8, 4, 0, 88, 8, 4, 0,243, 0, 4, 0, 89, 8,
- 4, 0, 90, 8, 7, 0, 91, 8, 7, 0, 35, 0, 7, 0, 92, 8, 7, 0, 93, 8, 4, 0,121, 0, 4, 0, 94, 8, 17, 1, 95, 8,
- 28, 0, 77, 0, 38, 0,117, 0, 24, 0, 96, 8, 41, 0,130, 0, 7, 0, 97, 8, 7, 0, 98, 8, 18, 1, 62, 1, 19, 1, 99, 8,
- 19, 1,100, 8, 19, 1,101, 8, 12, 0,102, 8,245, 0,238, 6, 9, 0,103, 8, 7, 0, 13, 4, 7, 0,104, 8, 7, 0,105, 8,
- 4, 0,106, 8, 4, 0,107, 8, 7, 0,108, 8, 9, 0,109, 8, 4, 0,110, 8, 4, 0,111, 8, 4, 0,112, 8, 7, 0,113, 8,
- 20, 1, 4, 0, 20, 1, 0, 0, 20, 1, 1, 0, 12, 0,114, 8, 19, 1,115, 8,203, 0, 11, 0, 12, 0,116, 8, 12, 0,102, 8,
- 12, 0,117, 8, 19, 1,118, 8, 0, 0,119, 8, 0, 0,120, 8, 4, 0,121, 8, 4, 0,122, 8, 4, 0,123, 8, 4, 0, 35, 0,
- 16, 0,124, 8, 21, 1, 4, 0, 7, 0,125, 8, 7, 0, 76, 3, 2, 0,126, 8, 2, 0,127, 8, 22, 1, 6, 0, 7, 0,128, 8,
- 7, 0,129, 8, 7, 0,130, 8, 7, 0,131, 8, 4, 0,132, 8, 4, 0,133, 8, 23, 1, 13, 0, 7, 0,134, 8, 7, 0,135, 8,
- 7, 0,136, 8, 7, 0,137, 8, 7, 0,138, 8, 7, 0,139, 8, 7, 0,140, 8, 7, 0,141, 8, 7, 0,142, 8, 7, 0,143, 8,
- 4, 0,233, 2, 4, 0,144, 8, 4, 0,145, 8, 24, 1, 2, 0, 7, 0,104, 5, 7, 0, 35, 0, 25, 1, 5, 0, 7, 0,146, 8,
- 7, 0,147, 8, 4, 0, 88, 0, 4, 0,193, 2, 4, 0,148, 8, 26, 1, 6, 0, 26, 1, 0, 0, 26, 1, 1, 0, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,149, 8, 2, 0, 54, 0, 27, 1, 8, 0, 27, 1, 0, 0, 27, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0,
- 2, 0,149, 8, 2, 0, 54, 0, 7, 0, 21, 0, 7, 0,121, 0, 28, 1, 45, 0, 28, 1, 0, 0, 28, 1, 1, 0, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,149, 8, 2, 0,239, 0, 2, 0, 55, 4, 2, 0,150, 8, 7, 0,151, 8, 7, 0, 86, 0, 7, 0,246, 2,
- 4, 0,152, 8, 4, 0, 79, 0, 4, 0,195, 2, 7, 0,153, 8, 7, 0,154, 8, 7, 0,155, 8, 7, 0,156, 8, 7, 0,157, 8,
- 7, 0,158, 8, 7, 0,243, 2, 7, 0, 59, 1, 7, 0,159, 8, 7, 0,160, 8, 7, 0, 35, 0, 7, 0,161, 8, 7, 0,162, 8,
- 7, 0,163, 8, 2, 0,164, 8, 2, 0,165, 8, 2, 0,166, 8, 2, 0,167, 8, 2, 0,168, 8, 2, 0,169, 8, 2, 0,170, 8,
- 2, 0,171, 8, 2, 0, 21, 2, 2, 0,172, 8, 2, 0, 18, 2, 2, 0,173, 8, 0, 0,174, 8, 0, 0,175, 8, 7, 0,237, 0,
- 29, 1,176, 8, 58, 0,232, 1, 30, 1, 16, 0, 30, 1, 0, 0, 30, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,149, 8,
- 2, 0,239, 0, 7, 0,238, 2, 7, 0,239, 2, 7, 0,240, 2, 7, 0, 71, 2, 7, 0,241, 2, 7, 0,242, 2, 7, 0,177, 8,
- 7, 0,243, 2, 7, 0,245, 2, 7, 0,246, 2,227, 0, 5, 0, 2, 0, 15, 0, 2, 0,178, 8, 2, 0, 17, 0, 2, 0,179, 8,
- 19, 0,197, 6,226, 0, 3, 0, 4, 0, 66, 0, 4, 0,180, 8,227, 0, 2, 0, 31, 1, 7, 0, 31, 1, 0, 0, 31, 1, 1, 0,
- 0, 0, 18, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 20, 0, 9, 0,181, 8, 32, 1, 5, 0, 0, 0, 18, 0, 7, 0, 79, 1,
- 7, 0,182, 8, 4, 0,183, 8, 4, 0, 35, 0, 33, 1, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 87, 0, 2, 0, 67, 0,
- 34, 1, 4, 0, 0, 0, 18, 0, 57, 0,184, 8, 7, 0, 79, 1, 7, 0, 35, 0, 35, 1, 6, 0, 2, 0,185, 8, 2, 0,186, 8,
- 2, 0, 15, 0, 2, 0,187, 8, 0, 0,188, 8, 0, 0,189, 8, 36, 1, 5, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0,
- 0, 0,190, 8, 0, 0,191, 8, 37, 1, 3, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 38, 1, 4, 0, 2, 0,192, 8,
- 2, 0,193, 8, 2, 0, 17, 0, 2, 0, 35, 0, 39, 1, 6, 0, 0, 0, 18, 0, 0, 0,194, 8, 2, 0,195, 8, 2, 0,243, 2,
- 2, 0, 72, 1, 2, 0, 67, 0, 40, 1, 5, 0, 0, 0, 18, 0, 7, 0, 76, 3, 7, 0,146, 4, 2, 0, 17, 0, 2, 0,207, 2,
- 41, 1, 3, 0, 0, 0, 18, 0, 4, 0,195, 2, 4, 0,192, 8, 42, 1, 7, 0, 0, 0, 18, 0, 7, 0,146, 4, 0, 0,196, 8,
- 0, 0,197, 8, 2, 0, 72, 1, 2, 0, 87, 0, 4, 0,198, 8, 43, 1, 4, 0, 0, 0,199, 8, 0, 0,200, 8, 4, 0, 15, 0,
- 7, 0,211, 2, 44, 1, 3, 0, 24, 0,201, 8, 0, 0,202, 8, 0, 0,203, 8, 45, 1, 18, 0, 45, 1, 0, 0, 45, 1, 1, 0,
- 2, 0, 15, 0, 2, 0,204, 8, 2, 0, 17, 0, 2, 0,205, 8, 2, 0,206, 8, 2, 0,207, 8, 2, 0, 87, 0, 2, 0, 67, 0,
- 0, 0, 18, 0, 9, 0, 2, 0, 46, 1,208, 8, 24, 0, 42, 0, 2, 0,121, 5, 2, 0,104, 8, 2, 0,209, 8, 2, 0, 35, 0,
- 47, 1, 11, 0, 0, 0, 18, 0, 0, 0, 15, 0, 0, 0,210, 8, 2, 0, 17, 0, 2, 0,207, 2, 2, 0,211, 8, 4, 0,212, 8,
- 4, 0,213, 8, 4, 0,214, 8, 4, 0,215, 8, 4, 0,216, 8, 48, 1, 1, 0, 0, 0,217, 8, 49, 1, 4, 0, 34, 0,160, 6,
- 0, 0,164, 7, 4, 0, 72, 1, 4, 0, 17, 0, 46, 1, 18, 0, 46, 1, 0, 0, 46, 1, 1, 0, 46, 1,218, 8, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,219, 8, 2, 0,207, 8, 2, 0,204, 8, 2, 0,220, 8, 2, 0, 67, 0, 2, 0,229, 1, 0, 0, 18, 0,
- 9, 0, 2, 0, 50, 1,208, 8, 45, 1,221, 8, 2, 0, 13, 0, 2, 0,222, 8, 4, 0,223, 8, 51, 1, 3, 0, 4, 0,221, 2,
- 4, 0, 35, 0, 24, 0, 42, 0, 52, 1, 12, 0,157, 0,224, 8, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,151, 8, 7, 0, 86, 0,
- 0, 0, 18, 0, 0, 0,225, 8, 2, 0,226, 8, 2, 0,227, 8, 2, 0,228, 8, 2, 0,229, 8, 7, 0,230, 8, 53, 1, 8, 0,
- 7, 0,231, 8, 7, 0,232, 8, 7, 0,233, 8, 7, 0,234, 8, 7, 0,235, 8, 7, 0,236, 8, 7, 0,237, 8, 7, 0,238, 8,
- 54, 1, 13, 0, 2, 0, 17, 0, 2, 0,239, 6, 4, 0, 87, 0, 4, 0, 67, 0, 2, 0,239, 8, 7, 0, 13, 4, 7, 0,240, 8,
-245, 0,238, 6, 53, 1,241, 8, 2, 0, 15, 0, 2, 0, 39, 5, 2, 0, 4, 6, 2, 0,242, 8, 55, 1, 11, 0, 4, 0,221, 2,
- 2, 0, 15, 0, 2, 0, 17, 0, 24, 0, 42, 0, 73, 0,243, 8, 0, 0, 18, 0, 7, 0,244, 8, 7, 0,245, 8, 7, 0,151, 3,
- 2, 0,246, 8, 2, 0,247, 8, 56, 1, 5, 0, 2, 0, 15, 0, 2, 0, 87, 0, 4, 0, 35, 0, 38, 0,117, 0, 24, 0,112, 5,
- 57, 1, 5, 0, 4, 0, 35, 0, 4, 0, 15, 0, 0, 0, 18, 0, 0, 0,190, 8, 24, 0, 42, 0, 58, 1, 13, 0, 2, 0, 17, 0,
- 2, 0, 15, 0, 2, 0,204, 8, 2, 0,152, 3, 7, 0,248, 8, 7, 0,249, 8, 7, 0,196, 4, 7, 0,163, 3, 7, 0,122, 3,
- 7, 0,125, 3, 7, 0,250, 8, 7, 0,251, 8, 24, 0,252, 8, 59, 1, 10, 0, 2, 0, 17, 0, 2, 0, 15, 0, 7, 0,151, 8,
- 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,225, 8, 2, 0, 87, 0, 2, 0, 67, 0, 2, 0,229, 1, 2, 0, 39, 5, 60, 1, 8, 0,
- 24, 0, 42, 0, 7, 0,240, 2, 7, 0,253, 8, 7, 0,254, 8, 7, 0, 35, 0, 2, 0, 87, 0, 2, 0,207, 2, 7, 0, 67, 0,
- 61, 1, 12, 0, 2, 0, 15, 0, 2, 0, 72, 1, 2, 0, 17, 0, 2, 0,243, 2, 2, 0,221, 2, 2, 0,255, 8, 4, 0, 35, 0,
- 7, 0, 0, 9, 7, 0, 1, 9, 7, 0, 2, 9, 7, 0, 3, 9, 0, 0, 4, 9, 62, 1, 9, 0, 2, 0, 17, 0, 2, 0, 15, 0,
- 4, 0,151, 8, 4, 0, 86, 0, 0, 0, 18, 0, 2, 0,196, 4, 2, 0, 61, 0, 2, 0, 5, 9, 2, 0, 6, 9, 63, 1, 7, 0,
- 4, 0,195, 2, 4, 0, 7, 9, 4, 0, 8, 9, 4, 0, 9, 9, 7, 0, 10, 9, 7, 0, 11, 9, 0, 0,196, 8, 64, 1, 7, 0,
- 0, 0, 12, 9, 24, 0, 13, 9, 0, 0,202, 8, 2, 0, 14, 9, 2, 0, 87, 0, 4, 0, 67, 0, 0, 0,203, 8, 65, 1, 6, 0,
- 2, 0, 17, 0, 2, 0, 15, 0, 4, 0,151, 8, 4, 0, 86, 0, 0, 0, 15, 9, 0, 0, 16, 9, 66, 1, 1, 0, 4, 0, 17, 0,
- 67, 1, 6, 0, 0, 0, 90, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 17, 9, 7, 0, 18, 9, 34, 0,160, 6, 68, 1, 4, 0,
- 0, 0,159, 2, 2, 0, 17, 0, 4, 0, 15, 0, 24, 0, 42, 0, 69, 1, 2, 0, 4, 0, 15, 0, 4, 0, 79, 6, 70, 1, 6, 0,
- 0, 0,199, 8, 0, 0,200, 8, 4, 0, 15, 0, 7, 0, 29, 2, 24, 0, 53, 3, 24, 0, 19, 9, 50, 1, 10, 0, 50, 1, 0, 0,
- 50, 1, 1, 0, 50, 1,218, 8, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,204, 8, 2, 0, 20, 9, 0, 0, 18, 0, 9, 0, 2, 0,
- 24, 0, 42, 0,245, 0, 16, 0, 19, 0, 29, 0, 0, 0, 32, 0, 35, 0,145, 0, 9, 0,220, 0, 35, 0, 21, 9, 28, 0, 77, 0,
- 7, 0, 13, 4, 7, 0, 22, 9, 7, 0,240, 8, 7, 0,231, 8, 7, 0,232, 8, 7, 0, 23, 9, 4, 0, 88, 0, 4, 0, 35, 0,
- 9, 0, 24, 9, 9, 0, 25, 9, 71, 1, 6, 0, 71, 1, 0, 0, 71, 1, 1, 0, 24, 0, 42, 0, 9, 0, 26, 9, 2, 0,244, 0,
- 0, 0,192, 2, 58, 0, 4, 0, 19, 0, 29, 0, 12, 0, 27, 9, 4, 0,126, 0, 7, 0, 28, 9, 72, 1, 28, 0, 72, 1, 0, 0,
- 72, 1, 1, 0, 18, 0, 29, 9, 72, 1, 36, 0, 12, 0, 30, 9, 0, 0, 18, 0, 7, 0, 31, 9, 7, 0, 32, 9, 7, 0, 33, 9,
- 7, 0, 34, 9, 4, 0, 17, 0, 7, 0, 35, 9, 7, 0, 36, 9, 7, 0, 37, 9, 7, 0, 38, 9, 7, 0, 79, 1, 7, 0, 29, 2,
- 7, 0, 39, 9, 7, 0,193, 2, 7, 0, 40, 9, 7, 0, 41, 9, 7, 0, 42, 9, 7, 0, 43, 9, 7, 0, 44, 9, 7, 0,167, 0,
- 4, 0,126, 0, 2, 0,158, 5, 2, 0, 11, 7, 73, 1, 25, 0, 19, 0, 29, 0, 31, 0, 72, 0, 12, 0, 45, 9, 12, 0, 46, 9,
- 12, 0, 47, 9, 72, 1, 48, 9, 9, 0, 49, 9, 9, 0, 50, 9, 4, 0, 17, 0, 4, 0, 54, 6, 2, 0,247, 2, 2, 0,109, 6,
- 4, 0, 51, 9, 4, 0,126, 0, 4, 0, 52, 9, 2, 0, 53, 9, 2, 0, 54, 9, 2, 0, 55, 9, 2, 0, 56, 9, 4, 0, 57, 9,
- 4, 0, 58, 9, 4, 0, 59, 9, 4, 0, 60, 9, 4, 0, 61, 9, 4, 0, 62, 9, 74, 1, 2, 0, 7, 0,147, 2, 4, 0, 17, 0,
-161, 0, 5, 0, 74, 1, 63, 9, 4, 0,193, 2, 4, 0, 64, 9, 4, 0, 65, 9, 4, 0, 17, 0,160, 0, 16, 0, 4, 0, 66, 9,
- 4, 0, 67, 9, 4, 0, 68, 9, 4, 0, 69, 9, 2, 0, 70, 9, 2, 0, 71, 9, 2, 0, 72, 9, 2, 0,244, 0, 2, 0, 73, 9,
- 2, 0, 74, 9, 2, 0, 75, 9, 2, 0, 76, 9, 4, 0, 77, 9, 4, 0, 78, 9, 4, 0, 79, 9, 4, 0, 80, 9, 75, 1, 41, 0,
- 75, 1, 0, 0, 75, 1, 1, 0, 18, 0, 29, 9, 12, 0,177, 3, 0, 0, 18, 0, 2, 0, 17, 0, 2, 0, 81, 9, 2, 0, 82, 9,
- 2, 0, 83, 9, 2, 0,137, 3, 2, 0, 84, 9, 4, 0, 69, 2, 4, 0, 59, 9, 4, 0, 60, 9, 72, 1, 85, 9, 75, 1, 36, 0,
- 75, 1, 86, 9, 12, 0, 87, 9,161, 0,114, 3, 24, 0, 88, 9, 75, 1, 89, 9, 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 90, 9,
- 7, 0, 8, 2, 7, 0,127, 3, 7, 0,129, 3, 2, 0,160, 3, 2, 0, 35, 0, 7, 0, 91, 9, 7, 0, 92, 9, 7, 0,132, 3,
- 7, 0, 93, 9, 7, 0, 94, 9, 7, 0, 95, 9, 7, 0, 96, 9, 7, 0, 97, 9, 7, 0, 98, 9, 7, 0, 99, 9, 7, 0,100, 9,
- 7, 0, 62, 2,158, 0, 16, 0, 12, 0,101, 9, 68, 0,102, 9, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0,103, 9, 4, 0, 87, 0,
- 7, 0, 98, 2, 7, 0,104, 9, 7, 0,105, 9, 12, 0,106, 9, 4, 0,107, 9, 4, 0,108, 9, 9, 0,109, 9, 9, 0,110, 9,
-160, 0,113, 3, 0, 0,111, 9, 76, 1, 1, 0, 4, 0,108, 9, 77, 1, 12, 0, 4, 0,108, 9, 7, 0,216, 8, 2, 0,112, 9,
- 2, 0,113, 9, 7, 0,114, 9, 7, 0,115, 9, 2, 0,116, 9, 2, 0, 17, 0, 7, 0,117, 9, 7, 0,118, 9, 7, 0,119, 9,
- 7, 0,120, 9, 78, 1, 7, 0, 78, 1, 0, 0, 78, 1, 1, 0, 12, 0,121, 9, 4, 0, 17, 0, 4, 0,122, 9, 0, 0, 3, 4,
-253, 0,123, 9,157, 0, 9, 0, 19, 0, 29, 0, 12, 0,124, 9, 12, 0,101, 9, 12, 0,125, 9, 12, 0, 98, 0, 4, 0, 17, 0,
- 4, 0,126, 9, 4, 0,127, 9, 4, 0, 35, 0,217, 0, 6, 0, 19, 0,128, 9, 12, 0,101, 9, 58, 0,129, 9, 0, 0,130, 9,
- 4, 0,131, 9, 4, 0, 17, 0, 79, 1, 13, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6,
- 2, 0, 48, 6,214, 0, 98, 6,157, 0,109, 3,217, 0,132, 9, 0, 0, 72, 1, 0, 0,101, 6, 2, 0, 17, 0, 7, 0,133, 9,
- 80, 1, 8, 0, 80, 1, 0, 0, 80, 1, 1, 0, 78, 1,134, 9, 28, 0, 77, 0, 12, 0,115, 3, 4, 0, 17, 0, 0, 0, 18, 0,
- 4, 0,255, 7, 81, 1, 5, 0, 81, 1, 0, 0, 81, 1, 1, 0, 28, 0, 77, 0, 2, 0, 17, 0, 0, 0,135, 9, 82, 1, 14, 0,
- 82, 1, 0, 0, 82, 1, 1, 0, 9, 0, 2, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,136, 9, 0, 0,137, 9, 0, 0,135, 9,
- 7, 0,138, 9, 7, 0,139, 9, 4, 0, 35, 0, 28, 0, 77, 0, 7, 0,140, 9, 7, 0,141, 9, 83, 1, 9, 0, 83, 1, 0, 0,
- 83, 1, 1, 0, 24, 0,142, 9, 0, 0,250, 2, 7, 0,143, 9, 2, 0,144, 9, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,145, 9,
- 84, 1, 7, 0, 34, 0,160, 6, 18, 0, 29, 9, 4, 0, 17, 0, 4, 0,146, 9, 12, 0,147, 9, 24, 0,142, 9, 0, 0,250, 2,
- 85, 1, 15, 0, 24, 0,142, 9, 2, 0,148, 9, 2, 0, 17, 0, 2, 0,149, 9, 2, 0,150, 9, 0, 0,250, 2, 24, 0,151, 9,
- 0, 0,152, 9, 7, 0,153, 9, 7, 0, 29, 2, 7, 0,154, 9, 7, 0,155, 9, 2, 0, 15, 0, 2, 0, 72, 1, 7, 0, 79, 1,
- 86, 1, 6, 0, 24, 0,142, 9, 7, 0, 63, 9, 2, 0,156, 9, 2, 0,157, 9, 2, 0, 17, 0, 2, 0,158, 9, 87, 1, 6, 0,
- 24, 0,142, 9, 4, 0,159, 9, 4, 0,160, 9, 4, 0, 88, 0, 4, 0, 35, 0, 0, 0,250, 2, 88, 1, 4, 0, 24, 0,142, 9,
- 4, 0, 17, 0, 4, 0,159, 9, 0, 0,250, 2, 89, 1, 4, 0, 24, 0,142, 9, 4, 0, 17, 0, 4, 0,159, 9, 0, 0,250, 2,
- 90, 1, 4, 0, 24, 0,142, 9, 4, 0, 17, 0, 4, 0,159, 9, 0, 0,250, 2, 91, 1, 2, 0, 4, 0, 17, 0, 7, 0, 13, 4,
- 92, 1, 2, 0, 24, 0,142, 9, 0, 0,250, 2, 93, 1, 10, 0, 24, 0,142, 9, 4, 0,161, 9, 7, 0,120, 0, 4, 0, 17, 0,
- 2, 0,158, 6, 2, 0,162, 9, 2, 0, 87, 0, 2, 0, 67, 0, 7, 0,163, 9, 0, 0,250, 2, 94, 1, 10, 0, 24, 0,142, 9,
- 2, 0, 15, 0, 2, 0, 63, 4, 4, 0, 85, 0, 4, 0, 86, 0, 7, 0,253, 8, 7, 0,254, 8, 4, 0, 35, 0,157, 0,224, 8,
- 0, 0,250, 2, 95, 1, 4, 0, 24, 0,142, 9, 4, 0,138, 3, 4, 0,164, 9, 0, 0,250, 2, 96, 1, 4, 0, 24, 0,142, 9,
- 4, 0,138, 3, 4, 0, 35, 0, 0, 0,250, 2, 97, 1, 6, 0, 24, 0,142, 9, 7, 0,120, 0, 7, 0, 65, 3, 4, 0,165, 9,
- 2, 0,138, 3, 2, 0,139, 3, 98, 1, 6, 0, 24, 0,142, 9, 4, 0,166, 9, 4, 0,167, 9, 7, 0,168, 9, 7, 0,169, 9,
- 0, 0,250, 2, 99, 1, 16, 0, 24, 0,142, 9, 24, 0, 86, 9, 4, 0, 15, 0, 7, 0,170, 9, 7, 0,171, 9, 7, 0,172, 9,
- 7, 0,173, 9, 7, 0,174, 9, 7, 0,175, 9, 7, 0,176, 9, 7, 0,177, 9, 7, 0,178, 9, 2, 0, 17, 0, 2, 0, 35, 0,
- 2, 0, 87, 0, 2, 0, 67, 0,100, 1, 3, 0, 24, 0,142, 9, 4, 0, 17, 0, 4, 0, 21, 2,101, 1, 5, 0, 24, 0,142, 9,
- 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,179, 9, 0, 0,250, 2,102, 1, 10, 0, 24, 0,142, 9, 0, 0,250, 2, 2, 0,180, 9,
- 2, 0,181, 9, 0, 0,182, 9, 0, 0,183, 9, 7, 0,184, 9, 7, 0,185, 9, 7, 0,186, 9, 7, 0,187, 9,103, 1, 5, 0,
- 24, 0,142, 9, 0, 0,250, 2, 7, 0,201, 2, 2, 0,188, 9, 2, 0, 17, 0,104, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0,
- 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,189, 9, 7, 0,190, 9, 2, 0, 17, 0, 2, 0, 21, 2,105, 1, 8, 0, 7, 0, 7, 0,
- 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,189, 9, 7, 0,190, 9, 2, 0, 17, 0, 2, 0, 21, 2,106, 1, 8, 0,
- 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,189, 9, 7, 0,190, 9, 2, 0, 17, 0, 2, 0, 21, 2,
-107, 1, 7, 0, 24, 0,142, 9, 0, 0,250, 2, 7, 0, 79, 1, 7, 0, 88, 1, 2, 0, 17, 0, 2, 0, 72, 1, 4, 0, 35, 0,
-108, 1, 5, 0, 24, 0, 53, 3, 7, 0, 79, 1, 2, 0, 57, 3, 0, 0, 59, 3, 0, 0,191, 9,109, 1, 10, 0,109, 1, 0, 0,
-109, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,192, 9, 7, 0, 22, 1, 7, 0, 23, 1, 2, 0,121, 9, 2, 0,193, 9,
- 24, 0, 42, 0,110, 1, 22, 0,110, 1, 0, 0,110, 1, 1, 0, 2, 0, 17, 0, 2, 0, 72, 1, 2, 0,194, 9, 2, 0,195, 9,
- 28, 0, 77, 0,157, 0,224, 8, 24, 0,159, 0, 7, 0, 85, 0, 7, 0, 86, 0, 7, 0,196, 9, 7, 0,197, 9, 7, 0,198, 9,
- 7, 0,199, 9, 7, 0,236, 2, 7, 0,200, 9, 7, 0,226, 8, 7, 0,201, 9, 0, 0,202, 9, 0, 0,203, 9, 12, 0,118, 3,
-111, 1, 8, 0, 7, 0, 36, 2, 7, 0,253, 8, 7, 0,254, 8, 9, 0, 2, 0, 2, 0,204, 9, 2, 0,205, 9, 2, 0,206, 9,
- 2, 0,207, 9,112, 1, 19, 0,112, 1, 0, 0,112, 1, 1, 0,112, 1,208, 9, 0, 0, 18, 0,111, 1,209, 9, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,210, 9, 2, 0,211, 9,111, 1,212, 9, 2, 0,213, 9, 2, 0, 87, 0, 7, 0,214, 9, 7, 0,215, 9,
- 4, 0,216, 9,112, 1,217, 9, 4, 0,218, 9, 4, 0, 67, 0,113, 1,219, 9,114, 1, 4, 0, 0, 0,220, 9, 2, 0,221, 9,
- 2, 0,222, 9, 4, 0, 35, 0,115, 1, 34, 0,115, 1, 0, 0,115, 1, 1, 0,115, 1,223, 9, 0, 0, 18, 0, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0, 76, 8, 2, 0,104, 8, 2, 0,224, 9, 2, 0,163, 6, 2, 0,213, 9, 2, 0,178, 8, 12, 0,219, 8,
- 12, 0,225, 9, 19, 0,197, 6, 9, 0,226, 9, 7, 0,214, 9, 7, 0,215, 9, 7, 0, 71, 2, 7, 0,227, 9, 0, 0,228, 9,
- 2, 0,229, 9, 2, 0,230, 9, 7, 0,231, 9, 7, 0,232, 9, 2, 0,233, 9, 2, 0,234, 9, 9, 0,235, 9, 16, 0,236, 9,
- 16, 0,237, 9, 16, 0,238, 9,114, 1,146, 0,116, 1,239, 9,117, 1,240, 9,113, 1, 8, 0,113, 1, 0, 0,113, 1, 1, 0,
-115, 1,241, 9,115, 1,242, 9,112, 1,243, 9,112, 1,244, 9, 4, 0, 17, 0, 4, 0, 35, 0, 53, 0, 23, 0, 19, 0, 29, 0,
- 31, 0, 72, 0,159, 0,112, 3, 12, 0,245, 9, 12, 0,246, 9,111, 1,247, 9, 12, 0,248, 9, 4, 0, 15, 0, 4, 0,249, 9,
- 4, 0,250, 9, 4, 0,251, 9, 4, 0, 17, 0, 4, 0, 35, 0, 12, 0,252, 9, 12, 0,219, 8, 12, 0,225, 9, 4, 0, 68, 6,
- 9, 0,253, 9, 9, 0,254, 9, 4, 0,255, 9, 9, 0, 0, 10, 9, 0, 1, 10, 9, 0, 2, 10,118, 1, 6, 0, 4, 0,119, 0,
- 4, 0,121, 0, 4, 0,178, 8, 0, 0, 3, 10, 0, 0, 4, 10, 2, 0, 35, 0,119, 1, 16, 0, 2, 0, 22, 8, 2, 0, 23, 8,
- 2, 0, 5, 10, 2, 0, 6, 10, 2, 0, 7, 10, 2, 0, 65, 0, 2, 0,198, 6, 2, 0, 8, 10, 7, 0,235, 2, 7, 0, 9, 10,
- 7, 0, 10, 10, 2, 0, 94, 1, 0, 0, 11, 10, 0, 0, 12, 10, 4, 0, 13, 10, 4, 0, 14, 10,120, 1, 9, 0, 7, 0, 15, 10,
- 7, 0, 16, 10, 7, 0, 23, 9, 7, 0, 76, 3, 7, 0, 17, 10, 7, 0,115, 6, 2, 0, 74, 3, 0, 0, 18, 10, 0, 0, 35, 0,
-121, 1, 4, 0, 7, 0, 19, 10, 7, 0, 20, 10, 2, 0, 74, 3, 2, 0, 35, 0,122, 1, 3, 0, 7, 0, 21, 10, 7, 0, 91, 8,
- 7, 0, 13, 0,123, 1, 7, 0, 0, 0,253, 1, 2, 0, 28, 5, 2, 0, 29, 5, 2, 0, 30, 5, 2, 0,218, 4, 4, 0,121, 0,
- 4, 0, 61, 4,124, 1, 9, 0, 7, 0, 22, 10, 7, 0, 23, 10, 7, 0, 24, 10, 7, 0, 82, 2, 7, 0, 25, 10, 7, 0, 26, 10,
- 7, 0, 27, 10, 2, 0, 28, 10, 2, 0, 29, 10,125, 1, 8, 0, 2, 0, 30, 10, 2, 0, 31, 10, 2, 0, 32, 10, 2, 0, 33, 10,
- 7, 0, 34, 10, 7, 0, 35, 10, 7, 0, 36, 10, 7, 0, 37, 10,126, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,127, 1, 2, 0,
- 0, 0,161, 0, 0, 0, 38, 10,128, 1, 1, 0, 0, 0, 18, 0,129, 1, 10, 0, 0, 0, 39, 10, 0, 0, 40, 10, 0, 0,107, 6,
- 0, 0, 41, 10, 2, 0, 5, 10, 2, 0, 42, 10, 7, 0, 43, 10, 7, 0, 44, 10, 7, 0, 45, 10, 7, 0,200, 9,130, 1, 2, 0,
- 9, 0, 46, 10, 9, 0, 47, 10,131, 1, 11, 0, 0, 0, 30, 5, 0, 0, 15, 0, 0, 0, 74, 3, 0, 0, 76, 3, 0, 0, 48, 10,
- 0, 0,104, 0, 0, 0,159, 2, 7, 0, 49, 10, 7, 0, 50, 10, 7, 0, 51, 10, 7, 0, 52, 10,132, 1, 8, 0, 7, 0,185, 8,
- 7, 0,120, 0, 7, 0, 12, 10, 7, 0,152, 2, 7, 0, 53, 10, 7, 0,233, 0, 7, 0, 54, 10, 4, 0, 15, 0,133, 1, 4, 0,
- 2, 0, 55, 10, 2, 0, 56, 10, 2, 0, 57, 10, 2, 0, 35, 0,134, 1, 8, 0, 7, 0, 58, 10, 7, 0,201, 2, 7, 0, 59, 10,
- 7, 0, 72, 8, 7, 0, 73, 8, 7, 0, 74, 8, 7, 0, 60, 10, 7, 0, 61, 10,135, 1, 6, 0, 2, 0, 62, 10, 2, 0, 63, 10,
- 7, 0, 64, 10, 7, 0, 65, 10, 7, 0, 66, 10, 7, 0, 67, 10,136, 1, 1, 0, 0, 0, 18, 0,137, 1, 4, 0, 7, 0, 5, 0,
- 7, 0, 6, 0, 2, 0, 17, 0, 2, 0, 68, 10,138, 1, 10, 0, 2, 0,247, 3, 2, 0, 17, 0, 7, 0,146, 4, 7, 0, 69, 10,
- 7, 0, 70, 10, 7, 0, 71, 10, 7, 0, 72, 10,137, 1, 73, 10,137, 1, 74, 10,137, 1, 75, 10, 51, 0, 11, 0, 4, 0, 17, 0,
- 4, 0, 61, 0, 4, 0, 76, 10, 4, 0, 77, 10, 16, 0, 78, 10, 16, 0, 79, 10,138, 1, 80, 10, 7, 0, 81, 10, 7, 0, 82, 10,
- 7, 0, 83, 10, 7, 0, 84, 10,230, 0, 10, 0, 4, 0,121, 9, 4, 0, 85, 10, 7, 0, 86, 10, 7, 0, 87, 10, 7, 0, 88, 10,
- 7, 0, 89, 10, 7, 0, 8, 0, 7, 0, 10, 0, 4, 0, 72, 1, 4, 0,240, 2,229, 0, 18, 0, 4, 0,124, 0, 4, 0, 90, 10,
- 4, 0, 91, 10, 7, 0, 92, 10, 4, 0, 93, 10, 7, 0, 94, 10, 7, 0, 95, 10, 4, 0, 96, 10, 7, 0, 97, 10, 4, 0, 98, 10,
- 7, 0, 99, 10,230, 0,100, 10, 7, 0,101, 10, 7, 0,102, 10, 7, 0,103, 10, 7, 0,104, 10, 4, 0,105, 10, 4, 0, 35, 0,
-139, 1, 4, 0, 39, 0,227, 2, 7, 0,106, 10, 7, 0,161, 1, 7, 0, 35, 0,192, 0, 34, 0, 19, 0, 29, 0,139, 1,107, 10,
- 51, 0, 73, 10, 43, 0,108, 10, 49, 0,109, 10, 22, 0,146, 0, 0, 0,110, 10, 7, 0,111, 10, 2, 0, 10, 6, 2, 0,112, 10,
- 4, 0,104, 0, 4, 0, 17, 0, 7, 0,113, 10, 4, 0, 79, 2, 4, 0,114, 10, 7, 0,115, 10, 7, 0,116, 10, 7, 0,117, 10,
- 7, 0,161, 1, 4, 0,118, 10, 7, 0,119, 10, 0, 0,120, 10, 0, 0,121, 10, 0, 0,122, 10, 0, 0,123, 10, 7, 0,124, 10,
- 7, 0,125, 10, 7, 0,126, 10, 7, 0,240, 2, 7, 0,127, 10, 4, 0,128, 10, 7, 0,129, 10, 7, 0,130, 10, 7, 0,131, 10,
-140, 1, 10, 0, 4, 0, 15, 0, 4, 0,120, 0, 4, 0, 17, 0, 4, 0,200, 3, 4, 0,132, 10, 4, 0,133, 10, 4, 0,134, 10,
- 0, 0, 90, 0, 0, 0, 18, 0, 9, 0, 2, 0,141, 1, 1, 0, 0, 0, 64, 8, 84, 0, 7, 0,140, 1,135, 10, 4, 0,136, 10,
- 4, 0,137, 10, 4, 0,138, 10, 4, 0, 35, 0, 9, 0,139, 10,141, 1,140, 10,142, 1, 5, 0, 7, 0,147, 2, 7, 0,221, 2,
- 7, 0, 29, 2, 2, 0,128, 2, 2, 0, 35, 0,143, 1, 5, 0, 7, 0,147, 2, 7, 0, 88, 4, 7, 0,141, 10, 7, 0,142, 10,
- 7, 0,221, 2,144, 1, 5, 0, 24, 0,143, 10,145, 1, 20, 0, 7, 0,232, 5, 7, 0,144, 10, 7, 0, 54, 0,146, 1, 3, 0,
- 7, 0,145, 10, 4, 0,146, 10, 4, 0,147, 10,147, 1, 7, 0, 4, 0,148, 10, 4, 0,149, 10, 4, 0,150, 10, 7, 0,151, 10,
- 7, 0,152, 10, 7, 0,153, 10, 7, 0, 54, 0,148, 1, 8, 0,148, 1, 0, 0,148, 1, 1, 0, 24, 0, 42, 0, 4, 0,252, 0,
- 2, 0, 17, 0, 2, 0, 72, 1, 7, 0,221, 2, 7, 0,193, 8,149, 1, 6, 0,149, 1, 0, 0,149, 1, 1, 0, 24, 0, 42, 0,
- 2, 0,206, 2, 2, 0, 17, 0, 2, 0,154, 10,150, 1, 17, 0,143, 1,192, 3,143, 1,155, 10,142, 1,156, 10,143, 1,176, 8,
-144, 1,157, 10, 4, 0, 79, 0, 7, 0,221, 2, 7, 0,246, 2, 7, 0,158, 10, 4, 0,148, 10, 4, 0,159, 10, 7, 0,152, 10,
- 7, 0,153, 10, 7, 0,104, 0, 4, 0,160, 10, 2, 0, 17, 0, 2, 0,161, 10,151, 1, 15, 0, 7, 0,248, 0, 7, 0,162, 10,
- 7, 0,145, 10, 7, 0,163, 10, 7, 0,164, 10, 7, 0,165, 10, 7, 0,166, 10, 7, 0,167, 10, 7, 0,168, 10, 7, 0,169, 10,
- 7, 0,170, 10, 7, 0,171, 10, 7, 0,172, 10, 4, 0, 17, 0, 4, 0,173, 10,152, 1,121, 0, 19, 0, 29, 0, 31, 0, 72, 0,
-153, 1,174, 10,151, 1,175, 10,168, 0, 83, 4, 4, 0, 17, 0, 4, 0, 54, 0, 2, 0, 15, 0, 2, 0,180, 9, 2, 0,176, 10,
- 2, 0,107, 1, 2, 0,177, 10, 2, 0,160, 3, 2, 0,178, 10, 2, 0,179, 10, 2, 0,180, 10, 2, 0,181, 10, 2, 0,182, 10,
- 2, 0,183, 10, 2, 0,184, 10, 2, 0,185, 10, 2, 0,186, 10, 2, 0,129, 5, 2, 0,187, 10, 2, 0,188, 10, 2, 0,189, 10,
- 2, 0,190, 10, 2, 0,191, 10, 2, 0, 18, 2, 2, 0,169, 8, 2, 0,144, 8, 2, 0,192, 10, 2, 0,193, 10, 2, 0,210, 3,
- 2, 0,211, 3, 2, 0,194, 10, 2, 0,195, 10, 2, 0,196, 10, 2, 0,197, 10, 7, 0,198, 10, 7, 0,199, 10, 7, 0,200, 10,
- 7, 0,201, 10, 2, 0, 79, 5, 2, 0,202, 10, 7, 0,203, 10, 7, 0,204, 10, 7, 0,205, 10, 7, 0,151, 8, 7, 0, 86, 0,
- 7, 0,246, 2, 7, 0,157, 8, 7, 0,206, 10, 7, 0,207, 10, 7, 0,208, 10, 7, 0,209, 10, 4, 0,152, 8, 4, 0,150, 8,
- 4, 0,210, 10, 4, 0,211, 10, 7, 0,153, 8, 7, 0,154, 8, 7, 0,155, 8, 7, 0,212, 10, 7, 0,213, 10, 7, 0,214, 10,
- 7, 0,215, 10, 7, 0,216, 10, 7, 0,217, 10, 7, 0,218, 10, 7, 0,219, 10, 7, 0,220, 10, 7, 0,151, 3, 7, 0,104, 0,
- 7, 0,221, 10, 7, 0,222, 10, 7, 0,223, 10, 7, 0,224, 10, 7, 0,206, 0, 7, 0,225, 10, 4, 0,226, 10, 4, 0,227, 10,
- 7, 0,228, 10, 7, 0,229, 10, 7, 0,230, 10, 7, 0,231, 10, 7, 0,232, 10, 7, 0,205, 0, 7, 0,233, 10, 7, 0,237, 3,
- 7, 0,235, 3, 7, 0,236, 3, 7, 0,234, 10, 7, 0,235, 10, 7, 0,236, 10, 7, 0,237, 10, 7, 0,238, 10, 7, 0,239, 10,
- 7, 0,240, 10, 7, 0,241, 10, 7, 0,242, 10, 7, 0,243, 10, 7, 0,244, 10, 7, 0,245, 10, 7, 0,246, 10, 7, 0,247, 10,
- 7, 0,248, 10, 7, 0,249, 10, 7, 0,250, 10, 7, 0,251, 10, 4, 0,252, 10, 4, 0,253, 10, 43, 0,125, 1, 58, 0,182, 3,
- 12, 0,254, 10, 58, 0,255, 10, 24, 0, 0, 11, 24, 0, 1, 11, 28, 0, 77, 0,163, 0, 64, 1,163, 0, 2, 11,141, 0, 50, 0,
-141, 0, 0, 0,141, 0, 1, 0,152, 1, 3, 11,150, 1, 4, 11,147, 1, 86, 9,171, 0, 9, 4, 9, 0, 10, 4,154, 1, 5, 11,
-154, 1, 6, 11, 12, 0, 7, 11, 12, 0, 8, 11,126, 0, 9, 11,134, 0, 10, 11,134, 0, 11, 11, 24, 0, 12, 11, 24, 0, 13, 11,
- 24, 0, 36, 0, 12, 0,147, 9, 0, 0, 18, 0, 7, 0,237, 0, 7, 0, 19, 3, 7, 0, 14, 11, 7, 0, 15, 11, 4, 0,195, 2,
- 4, 0, 16, 11, 4, 0, 17, 0, 4, 0,152, 8, 4, 0, 17, 11, 4, 0, 18, 11, 4, 0, 19, 11, 4, 0, 20, 11, 2, 0,244, 0,
- 2, 0, 21, 11, 2, 0, 22, 11, 2, 0, 23, 11, 0, 0, 24, 11, 2, 0, 25, 11, 2, 0, 26, 11, 2, 0, 27, 11, 9, 0, 28, 11,
-130, 0, 82, 4, 12, 0, 4, 3, 12, 0, 29, 11,146, 1, 30, 11, 4, 0, 31, 11, 4, 0, 32, 11,155, 1, 33, 11,132, 0, 16, 3,
-156, 1, 34, 11, 7, 0, 35, 11,128, 0, 37, 0,157, 1, 24, 9, 7, 0, 52, 4, 7, 0, 36, 11, 7, 0, 37, 11, 7, 0,232, 5,
- 7, 0,161, 3, 7, 0,151, 3, 7, 0, 38, 11, 7, 0, 81, 2, 7, 0, 39, 11, 7, 0, 40, 11, 7, 0, 41, 11, 7, 0, 42, 11,
- 7, 0, 43, 11, 7, 0, 44, 11, 7, 0, 53, 4, 7, 0, 45, 11, 7, 0, 46, 11, 7, 0, 47, 11, 7, 0, 54, 4, 7, 0, 50, 4,
- 7, 0, 51, 4, 7, 0, 48, 11, 7, 0, 49, 11, 4, 0, 50, 11, 4, 0, 88, 0, 4, 0, 51, 11, 4, 0, 52, 11, 2, 0, 53, 11,
- 2, 0, 54, 11, 2, 0, 55, 11, 2, 0, 56, 11, 2, 0, 57, 11, 2, 0, 58, 11, 2, 0, 59, 11, 2, 0,196, 4,168, 0, 83, 4,
-129, 0, 11, 0,157, 1, 60, 11, 7, 0, 61, 11, 7, 0, 62, 11, 7, 0,233, 1, 7, 0, 63, 11, 7, 0, 64, 11, 7, 0, 65, 11,
- 4, 0, 88, 0, 2, 0, 66, 11, 2, 0, 67, 11, 58, 0,232, 1,158, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 2,
- 7, 0, 68, 11,159, 1, 6, 0,159, 1, 0, 0,159, 1, 1, 0,158, 1, 63, 9, 4, 0,250, 0, 2, 0, 69, 11, 2, 0, 17, 0,
-160, 1, 5, 0,160, 1, 0, 0,160, 1, 1, 0, 12, 0, 70, 11, 4, 0, 71, 11, 4, 0, 17, 0,161, 1, 9, 0,161, 1, 0, 0,
-161, 1, 1, 0, 12, 0,119, 0,160, 1, 72, 11, 4, 0, 17, 0, 2, 0, 69, 11, 2, 0, 73, 11, 7, 0, 89, 0, 0, 0, 74, 11,
-159, 0, 6, 0, 19, 0, 29, 0, 12, 0, 47, 5, 4, 0, 17, 0, 2, 0, 75, 11, 2, 0, 76, 11, 9, 0, 77, 11,162, 1, 6, 0,
- 12, 0, 78, 11, 4, 0, 79, 11, 4, 0, 80, 11, 4, 0, 17, 0, 4, 0, 35, 0,211, 0, 81, 11,163, 1, 17, 0, 19, 0, 29, 0,
-164, 1, 82, 11,164, 1, 83, 11, 12, 0, 84, 11, 4, 0, 85, 11, 2, 0, 86, 11, 2, 0, 87, 11, 12, 0, 88, 11, 12, 0, 89, 11,
-162, 1, 90, 11, 12, 0, 91, 11, 12, 0, 92, 11, 12, 0, 93, 11, 12, 0, 94, 11,165, 1, 95, 11, 12, 0, 96, 11,211, 0, 97, 11,
-164, 1, 32, 0,164, 1, 0, 0,164, 1, 1, 0, 9, 0, 98, 11, 4, 0, 0, 8, 2, 0, 99, 11, 2, 0, 35, 0, 2, 1,100, 11,
- 2, 1,101, 11, 0, 0,102, 11, 2, 0,103, 11, 2, 0,104, 11, 2, 0, 22, 8, 2, 0, 23, 8, 2, 0,105, 11, 2, 0,106, 11,
- 2, 0,200, 3, 2, 0,229, 6, 2, 0,107, 11, 2, 0,108, 11, 2, 0,109, 11, 2, 0, 67, 0,166, 1,110, 11,167, 1,111, 11,
-168, 1,112, 11, 4, 0,113, 11, 4, 0,114, 11, 9, 0,115, 11, 12, 0, 89, 11, 12, 0, 42, 8, 12, 0,116, 11, 12, 0,117, 11,
- 12, 0,118, 11,169, 1, 17, 0,169, 1, 0, 0,169, 1, 1, 0, 0, 0,119, 11, 18, 0, 28, 0, 2, 0,120, 11, 2, 0, 15, 0,
- 2, 0, 13, 0, 2, 0,121, 11, 2, 0,122, 11, 2, 0,123, 11, 2, 0,124, 11, 2, 0,125, 11, 2, 0, 17, 0, 2, 0,126, 11,
- 2, 0, 29, 0, 2, 0, 35, 0,170, 1,127, 11,171, 1, 10, 0,171, 1, 0, 0,171, 1, 1, 0, 12, 0,128, 11, 0, 0,119, 11,
- 2, 0,129, 11, 2, 0,130, 11, 2, 0, 17, 0, 2, 0,131, 11, 4, 0,132, 11, 9, 0,133, 11,165, 1, 7, 0,165, 1, 0, 0,
-165, 1, 1, 0, 0, 0,119, 11, 0, 0,134, 11, 12, 0,202, 7, 4, 0,135, 11, 4, 0, 17, 0,223, 0, 14, 0,223, 0, 0, 0,
-223, 0, 1, 0, 0, 0,119, 11, 18, 0, 28, 0,172, 1, 16, 8, 9, 0,136, 11, 9, 0,137, 11,170, 1,127, 11,162, 1,138, 11,
- 12, 0,139, 11,223, 0,140, 11, 7, 1,136, 6, 2, 0, 17, 0, 2, 0,196, 4,173, 1, 8, 0,173, 1, 0, 0,173, 1, 1, 0,
- 9, 0, 2, 0, 9, 0,141, 11, 0, 0, 3, 4, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,142, 11,174, 1, 5, 0, 7, 0,143, 11,
- 4, 0,144, 11, 4, 0,145, 11, 4, 0, 72, 1, 4, 0, 17, 0,175, 1, 6, 0, 7, 0,146, 11, 7, 0,147, 11, 7, 0,148, 11,
- 7, 0,149, 11, 4, 0, 15, 0, 4, 0, 17, 0,176, 1, 5, 0, 7, 0,253, 8, 7, 0,254, 8, 7, 0,221, 2, 2, 0, 32, 2,
- 2, 0, 33, 2,177, 1, 5, 0,176, 1, 2, 0, 4, 0, 51, 0, 7, 0,150, 11, 7, 0,253, 8, 7, 0,254, 8,178, 1, 4, 0,
- 2, 0,151, 11, 2, 0,152, 11, 2, 0,153, 11, 2, 0,154, 11,179, 1, 2, 0, 34, 0,191, 6, 18, 0, 29, 9,180, 1, 3, 0,
- 16, 0,155, 11, 4, 0, 17, 0, 4, 0, 35, 0,181, 1, 6, 0, 7, 0,104, 0, 7, 0,223, 2, 7, 0,156, 11, 7, 0, 35, 0,
- 2, 0,243, 0, 2, 0,157, 11,182, 1, 5, 0, 7, 0,158, 11, 7, 0,120, 0, 7, 0, 64, 9, 7, 0, 65, 9, 4, 0, 17, 0,
-183, 1, 6, 0, 19, 0,197, 6, 0, 0,159, 11, 0, 0,160, 11, 2, 0,161, 11, 2, 0, 17, 0, 4, 0,162, 11,184, 1, 7, 0,
-184, 1, 0, 0,184, 1, 1, 0, 0, 0, 3, 4,183, 1,163, 11, 2, 0,164, 11, 2, 0, 15, 0, 7, 0, 58, 0,185, 1, 7, 0,
- 12, 0,165, 11, 0, 0,166, 11, 9, 0,167, 11, 7, 0, 58, 0, 7, 0,142, 11, 4, 0, 15, 0, 4, 0, 17, 0,186, 1, 3, 0,
- 7, 0,168, 11, 4, 0, 17, 0, 4, 0, 35, 0,187, 1, 15, 0,187, 1, 0, 0,187, 1, 1, 0, 78, 1,134, 9,185, 1, 59, 0,
- 12, 0,118, 3, 27, 0, 47, 0,186, 1,169, 11, 4, 0, 51, 0, 7, 0, 58, 0, 2, 0, 17, 0, 2, 0, 15, 1, 4, 0,170, 11,
- 0, 0,159, 11, 4, 0,171, 11, 7, 0,172, 11,188, 1, 2, 0, 0, 0,173, 11, 0, 0,174, 11,189, 1, 4, 0,189, 1, 0, 0,
-189, 1, 1, 0,157, 0, 53, 3, 12, 0,175, 11,190, 1, 24, 0,190, 1, 0, 0,190, 1, 1, 0, 12, 0,176, 11,157, 0,224, 8,
-189, 1,177, 11, 12, 0,178, 11, 12, 0,118, 3, 0, 0, 3, 4, 7, 0,142, 11, 7, 0,179, 11, 7, 0, 85, 0, 7, 0, 86, 0,
- 7, 0,196, 9, 7, 0,197, 9, 7, 0,236, 2, 7, 0,200, 9, 7, 0,226, 8, 7, 0,201, 9, 2, 0,180, 11, 2, 0,181, 11,
- 2, 0, 87, 0, 2, 0, 15, 0, 4, 0, 17, 0, 4, 0, 67, 0,191, 1, 6, 0,191, 1, 0, 0,191, 1, 1, 0, 12, 0,176, 11,
- 4, 0, 17, 0, 4, 0,151, 2, 0, 0, 3, 4,192, 1, 11, 0,192, 1, 0, 0,192, 1, 1, 0, 19, 0,197, 6, 0, 0,182, 11,
- 4, 0,162, 11, 2, 0,183, 11, 2, 0, 35, 0, 0, 0,159, 11, 4, 0,170, 11, 2, 0, 17, 0, 2, 0,184, 11,193, 1, 8, 0,
-193, 1, 0, 0,193, 1, 1, 0, 12, 0,185, 11, 0, 0, 3, 4, 0, 0,186, 11, 2, 0, 17, 0, 2, 0,184, 11, 4, 0,187, 11,
-194, 1, 5, 0,194, 1, 0, 0,194, 1, 1, 0, 0, 0,159, 11, 4, 0,170, 11, 7, 0,211, 2, 31, 0, 12, 0,157, 0,109, 3,
-157, 0,188, 11,189, 1,177, 11, 12, 0,189, 11,190, 1,190, 11, 12, 0,191, 11, 12, 0,192, 11, 4, 0, 17, 0, 4, 0,244, 0,
- 2, 0,193, 11, 2, 0,194, 11, 7, 0,195, 11,195, 1, 2, 0, 19, 0, 29, 0, 31, 0, 72, 0,196, 1, 5, 0,196, 1, 0, 0,
-196, 1, 1, 0, 4, 0, 15, 0, 4, 0, 17, 0, 0, 0, 18, 0,197, 1, 6, 0,196, 1,196, 11, 24, 0, 42, 0, 4, 0,197, 11,
- 7, 0,198, 11, 4, 0,199, 11, 4, 0,121, 9,198, 1, 3, 0,196, 1,196, 11, 4, 0,197, 11, 7, 0,200, 11,199, 1, 8, 0,
-196, 1,196, 11, 24, 0, 42, 0, 7, 0, 67, 1, 7, 0,201, 11, 7, 0, 19, 3, 7, 0, 23, 9, 4, 0,197, 11, 4, 0,202, 11,
-200, 1, 5, 0,196, 1,196, 11, 7, 0,203, 11, 7, 0,104, 8, 7, 0,242, 2, 7, 0, 54, 0,201, 1, 3, 0,196, 1,196, 11,
- 7, 0, 23, 9, 7, 0,204, 11,145, 1, 4, 0, 7, 0,205, 11, 7, 0,222, 10, 2, 0,206, 11, 2, 0, 72, 1,202, 1, 14, 0,
-202, 1, 0, 0,202, 1, 1, 0, 12, 0,207, 11, 12, 0,208, 11, 12, 0,209, 11, 0, 0, 18, 0, 4, 0, 29, 0, 4, 0, 17, 0,
- 4, 0,210, 11, 7, 0,211, 11, 4, 0,199, 11, 4, 0,121, 9, 7, 0, 13, 4, 7, 0,244, 2,153, 1, 23, 0, 4, 0,197, 11,
- 4, 0,212, 11, 7, 0,213, 11, 7, 0,240, 2, 7, 0,214, 11, 7, 0,240, 8, 7, 0,205, 11, 7, 0,215, 11, 7, 0,223, 2,
- 7, 0, 92, 10, 7, 0,146, 4, 7, 0,216, 11, 7, 0,217, 11, 7, 0,218, 11, 7, 0,219, 11, 7, 0,220, 11, 7, 0,221, 11,
- 7, 0,222, 11, 7, 0,223, 11, 7, 0,224, 11, 7, 0,225, 11, 7, 0,226, 11, 12, 0,227, 11,114, 0, 40, 0,113, 0,228, 11,
-203, 1,175, 10, 58, 0,229, 11, 58, 0,255, 10, 58, 0,230, 11,204, 1,231, 11, 40, 0,160, 0, 40, 0,232, 11, 40, 0,233, 11,
- 7, 0,234, 11, 7, 0,235, 11, 7, 0,236, 11, 7, 0,237, 11, 7, 0,238, 11, 7, 0,255, 7, 7, 0,239, 11, 7, 0,161, 1,
- 7, 0,240, 11, 4, 0,241, 11, 4, 0,242, 11, 4, 0,243, 11, 4, 0, 88, 0, 4, 0, 35, 0, 4, 0,244, 11, 2, 0,245, 11,
- 2, 0,246, 11, 4, 0,247, 11, 7, 0,223, 2, 4, 0,248, 11, 7, 0,249, 11, 4, 0,250, 11, 4, 0,251, 11, 4, 0,252, 11,
-130, 0,253, 11, 12, 0,254, 11,168, 0, 83, 4, 4, 0,255, 11, 7, 0, 0, 12, 7, 0, 1, 12, 4, 0, 67, 0,115, 0, 12, 0,
-113, 0,228, 11,141, 0, 39, 3, 7, 0,128, 1, 7, 0,255, 7, 7, 0, 2, 12, 7, 0, 3, 12, 7, 0, 4, 12, 2, 0, 5, 12,
- 2, 0, 6, 12, 2, 0, 7, 12, 2, 0, 15, 0, 4, 0, 88, 0,116, 0, 13, 0,113, 0,228, 11,132, 0, 16, 3,134, 0, 18, 3,
- 7, 0, 63, 9, 7, 0, 8, 12, 7, 0, 9, 12, 7, 0, 69, 1, 7, 0, 10, 12, 4, 0,156, 9, 4, 0, 12, 3, 2, 0, 15, 0,
- 2, 0, 35, 0, 4, 0, 67, 0, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 97,121, 95,117,112,100, 97,116,101,100, 0, 99,117,115,116,111,109,100, 97,116, 97, 95,109, 97,115,107, 95,109,111,100, 97,108,
+ 0, 42,101,100, 0, 42,116,111,111,108,115,101,116,116,105,110,103,115, 0, 42,115,116, 97,116,115, 0, 97,117,100,105,111, 0,
+116,114, 97,110,115,102,111,114,109, 95,115,112, 97, 99,101,115, 0, 42,115,111,117,110,100, 95,115, 99,101,110,101, 0, 42,115,
+111,117,110,100, 95,115, 99,101,110,101, 95,104, 97,110,100,108,101, 0, 42,115,111,117,110,100, 95,115, 99,114,117, 98, 95,104,
+ 97,110,100,108,101, 0, 42,102,112,115, 95,105,110,102,111, 0, 42,116,104,101, 68, 97,103, 0,100, 97,103,105,115,118, 97,108,
+105,100, 0,100, 97,103,102,108, 97,103,115, 0,112, 97,100, 54, 0,112, 97,100, 53, 0, 97, 99,116,105,118,101, 95,107,101,121,
+105,110,103,115,101,116, 0,107,101,121,105,110,103,115,101,116,115, 0,103,109, 0,117,110,105,116, 0,112,104,121,115,105, 99,
+115, 95,115,101,116,116,105,110,103,115, 0, 98,108,101,110,100, 0,118,105,101,119, 0,119,105,110,109, 97,116, 91, 52, 93, 91,
+ 52, 93, 0,118,105,101,119,109, 97,116, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,105,110,118, 91, 52, 93, 91, 52, 93, 0,112,
+101,114,115,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,105,110,118, 91, 52, 93, 91, 52, 93, 0,118,105,101,119,109,
+ 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,112,101,114,115,109, 97,116,111, 98, 91, 52, 93, 91, 52, 93, 0,116,119,109, 97,116,
+ 91, 52, 93, 91, 52, 93, 0,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,122,102, 97, 99, 0, 99, 97,109,100,120, 0, 99, 97,
+109,100,121, 0,112,105,120,115,105,122,101, 0, 99, 97,109,122,111,111,109, 0,116,119,100,114, 97,119,102,108, 97,103, 0,105,
+115, 95,112,101,114,115,112, 0,114,102,108, 97,103, 0,118,105,101,119,108,111, 99,107, 0,112,101,114,115,112, 0, 99,108,105,
+112, 91, 54, 93, 91, 52, 93, 0, 99,108,105,112, 95,108,111, 99, 97,108, 91, 54, 93, 91, 52, 93, 0, 42, 99,108,105,112, 98, 98,
+ 0, 42,108,111, 99, 97,108,118,100, 0, 42,114,105, 0, 42,100,101,112,116,104,115, 0, 42,115,109,115, 0, 42,115,109,111,111,
+116,104, 95,116,105,109,101,114, 0,108,118,105,101,119,113,117, 97,116, 91, 52, 93, 0,108,112,101,114,115,112, 0,108,118,105,
+101,119, 0,103,114,105,100,118,105,101,119, 0,116,119, 97,110,103,108,101, 91, 51, 93, 0,112, 97,100,102, 0,114,101,103,105,
+111,110, 98, 97,115,101, 0,115,112, 97, 99,101,116,121,112,101, 0, 98,108,111, 99,107,115, 99, 97,108,101, 0, 98,108,111, 99,
+107,104, 97,110,100,108,101,114, 91, 56, 93, 0,108, 97,121, 95,117,115,101,100, 0, 42,111, 98, 95, 99,101,110,116,114,101, 0,
+ 98,103,112,105, 99, 98, 97,115,101, 0, 42, 98,103,112,105, 99, 0,111, 98, 95, 99,101,110,116,114,101, 95, 98,111,110,101, 91,
+ 51, 50, 93, 0,100,114, 97,119,116,121,112,101, 0,111, 98, 95, 99,101,110,116,114,101, 95, 99,117,114,115,111,114, 0,115, 99,
+101,110,101,108,111, 99,107, 0, 97,114,111,117,110,100, 0,103,114,105,100, 0,110,101, 97,114, 0,102, 97,114, 0,109,111,100,
+101,115,101,108,101, 99,116, 0,103,114,105,100,108,105,110,101,115, 0,103,114,105,100,115,117, 98,100,105,118, 0,103,114,105,
+100,102,108, 97,103, 0,116,119,116,121,112,101, 0,116,119,109,111,100,101, 0,116,119,102,108, 97,103, 0,112, 97,100, 50, 91,
+ 50, 93, 0, 97,102,116,101,114,100,114, 97,119, 95,116,114, 97,110,115,112, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114,
+ 97,121, 0, 97,102,116,101,114,100,114, 97,119, 95,120,114, 97,121,116,114, 97,110,115,112, 0,122, 98,117,102, 0,120,114, 97,
+121, 0,110,100,111,102,109,111,100,101, 0,110,100,111,102,102,105,108,116,101,114, 0, 42,112,114,111,112,101,114,116,105,101,
+115, 95,115,116,111,114, 97,103,101, 0,118,101,114,116, 0,104,111,114, 0,109, 97,115,107, 0,109,105,110, 91, 50, 93, 0,109,
+ 97,120, 91, 50, 93, 0,109,105,110,122,111,111,109, 0,109, 97,120,122,111,111,109, 0,115, 99,114,111,108,108, 0,115, 99,114,
+111,108,108, 95,117,105, 0,107,101,101,112,116,111,116, 0,107,101,101,112,122,111,111,109, 0,107,101,101,112,111,102,115, 0,
+ 97,108,105,103,110, 0,119,105,110,120, 0,119,105,110,121, 0,111,108,100,119,105,110,120, 0,111,108,100,119,105,110,121, 0,
+ 42,116, 97, 98, 95,111,102,102,115,101,116, 0,116, 97, 98, 95,110,117,109, 0,116, 97, 98, 95, 99,117,114, 0,114,112,116, 95,
+109, 97,115,107, 0,118, 50,100, 0, 42, 97,100,115, 0,103,104,111,115,116, 67,117,114,118,101,115, 0, 97,117,116,111,115,110,
+ 97,112, 0, 99,117,114,115,111,114, 86, 97,108, 0,109, 97,105,110, 98, 0,109, 97,105,110, 98,111, 0,109, 97,105,110, 98,117,
+115,101,114, 0,114,101, 95, 97,108,105,103,110, 0,112,114,101,118,105,101,119, 0,116,101,120,116,117,114,101, 95, 99,111,110,
+116,101,120,116, 0,112, 97,116,104,102,108, 97,103, 0,100, 97,116, 97,105, 99,111,110, 0, 42,112,105,110,105,100, 0,114,101,
+110,100,101,114, 95,115,105,122,101, 0, 99,104, 97,110,115,104,111,119,110, 0,122,101, 98,114, 97, 0,122,111,111,109, 0,116,
+105,116,108,101, 91, 51, 50, 93, 0,100,105,114, 91, 50, 52, 48, 93, 0,102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,
+101,102,105,108,101, 91, 56, 48, 93, 0,114,101,110, 97,109,101,101,100,105,116, 91, 56, 48, 93, 0,102,105,108,116,101,114, 95,
+103,108,111, 98, 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,102,105,108,101, 0,115,101,108, 95,102,105,114,115,116, 0,115,
+101,108, 95,108, 97,115,116, 0,115,111,114,116, 0,100,105,115,112,108, 97,121, 0,102, 95,102,112, 0,102,112, 95,115,116,114,
+ 91, 56, 93, 0,115, 99,114,111,108,108, 95,111,102,102,115,101,116, 0, 42,112, 97,114, 97,109,115, 0, 42,102,105,108,101,115,
+ 0, 42,102,111,108,100,101,114,115, 95,112,114,101,118, 0, 42,102,111,108,100,101,114,115, 95,110,101,120,116, 0, 42,111,112,
+ 0, 42,115,109,111,111,116,104,115, 99,114,111,108,108, 95,116,105,109,101,114, 0, 42,108, 97,121,111,117,116, 0,114,101, 99,
+101,110,116,110,114, 0, 98,111,111,107,109, 97,114,107,110,114, 0,115,121,115,116,101,109,110,114, 0,116,114,101,101, 0, 42,
+116,114,101,101,115,116,111,114,101, 0,115,101, 97,114, 99,104, 95,115,116,114,105,110,103, 91, 51, 50, 93, 0,115,101, 97,114,
+ 99,104, 95,116,115,101, 0,111,117,116,108,105,110,101,118,105,115, 0,115,116,111,114,101,102,108, 97,103, 0,115,101, 97,114,
+ 99,104, 95,102,108, 97,103,115, 0, 42, 99,117,109, 97,112, 0,115, 99,111,112,101,115, 0,115, 97,109,112,108,101, 95,108,105,
+110,101, 95,104,105,115,116, 0, 99,117,114,115,111,114, 91, 50, 93, 0, 99,101,110,116,120, 0, 99,101,110,116,121, 0, 99,117,
+114,116,105,108,101, 0,105,109,116,121,112,101,110,114, 0,108,111, 99,107, 0,112,105,110, 0,100,116, 95,117,118, 0,115,116,
+105, 99,107,121, 0,100,116, 95,117,118,115,116,114,101,116, 99,104, 0, 42,116,101,120,116, 0,116,111,112, 0,118,105,101,119,
+108,105,110,101,115, 0,109,101,110,117,110,114, 0,108,104,101,105,103,104,116, 0, 99,119,105,100,116,104, 0,108,105,110,101,
+110,114,115, 95,116,111,116, 0,108,101,102,116, 0,115,104,111,119,108,105,110,101,110,114,115, 0,116, 97, 98,110,117,109, 98,
+101,114, 0,115,104,111,119,115,121,110,116, 97,120, 0,108,105,110,101, 95,104,108,105,103,104,116, 0,111,118,101,114,119,114,
+105,116,101, 0,108,105,118,101, 95,101,100,105,116, 0,112,105,120, 95,112,101,114, 95,108,105,110,101, 0,116,120,116,115, 99,
+114,111,108,108, 0,116,120,116, 98, 97,114, 0,119,111,114,100,119,114, 97,112, 0,100,111,112,108,117,103,105,110,115, 0,102,
+105,110,100,115,116,114, 91, 50, 53, 54, 93, 0,114,101,112,108, 97, 99,101,115,116,114, 91, 50, 53, 54, 93, 0,109, 97,114,103,
+105,110, 95, 99,111,108,117,109,110, 0, 42,100,114, 97,119, 99, 97, 99,104,101, 0, 42,112,121, 95,100,114, 97,119, 0, 42,112,
+121, 95,101,118,101,110,116, 0, 42,112,121, 95, 98,117,116,116,111,110, 0, 42,112,121, 95, 98,114,111,119,115,101,114, 99, 97,
+108,108, 98, 97, 99,107, 0, 42,112,121, 95,103,108,111, 98, 97,108,100,105, 99,116, 0,108, 97,115,116,115,112, 97, 99,101, 0,
+115, 99,114,105,112,116,110, 97,109,101, 91, 50, 53, 54, 93, 0,115, 99,114,105,112,116, 97,114,103, 91, 50, 53, 54, 93, 0, 42,
+115, 99,114,105,112,116, 0, 42, 98,117,116, 95,114,101,102,115, 0, 42, 97,114,114, 97,121, 0, 99, 97, 99,104,101,115, 0, 99,
+ 97, 99,104,101, 95,100,105,115,112,108, 97,121, 0,114,101,100,114, 97,119,115, 0, 42,105,100, 0, 97,115,112,101, 99,116, 0,
+ 42, 99,117,114,102,111,110,116, 0,109,120, 0,109,121, 0, 42,101,100,105,116,116,114,101,101, 0,116,114,101,101,116,121,112,
+101, 0,116,101,120,102,114,111,109, 0,108,105,110,107,100,114, 97,103, 0,116,105,116,108,101, 91, 50, 52, 93, 0,109,101,110,
+117, 0,110,117,109,116,105,108,101,115,120, 0,110,117,109,116,105,108,101,115,121, 0,115,101,108,115,116, 97,116,101, 0,118,
+105,101,119,114,101, 99,116, 0, 98,111,111,107,109, 97,114,107,114,101, 99,116, 0,115, 99,114,111,108,108,112,111,115, 0,115,
+ 99,114,111,108,108,104,101,105,103,104,116, 0,115, 99,114,111,108,108, 97,114,101, 97, 0,114,101,116,118, 97,108, 0, 97, 99,
+116,105,118,101, 95, 98,111,111,107,109, 97,114,107, 0,112,114,118, 95,119, 0,112,114,118, 95,104, 0, 40, 42,114,101,116,117,
+114,110,102,117,110, 99, 41, 40, 41, 0, 40, 42,114,101,116,117,114,110,102,117,110, 99, 95,101,118,101,110,116, 41, 40, 41, 0,
+ 40, 42,114,101,116,117,114,110,102,117,110, 99, 95, 97,114,103,115, 41, 40, 41, 0, 42, 97,114,103, 49, 0, 42, 97,114,103, 50,
+ 0, 42,109,101,110,117,112, 0, 42,112,117,112,109,101,110,117, 0, 42,105,109,103, 0,108,101,110, 95, 97,108,108,111, 99, 0,
+ 99,117,114,115,111,114, 0,115, 99,114,111,108,108, 98, 97, 99,107, 0,104,105,115,116,111,114,121, 0,112,114,111,109,112,116,
+ 91, 50, 53, 54, 93, 0,108, 97,110,103,117, 97,103,101, 91, 51, 50, 93, 0,115,101,108, 95,115,116, 97,114,116, 0,115,101,108,
+ 95,101,110,100, 0,102,105,108,116,101,114, 91, 54, 52, 93, 0, 42, 97,114,101, 97, 0, 42,115,111,117,110,100, 0,115,110,100,
+110,114, 0,102,105,108,101,110, 97,109,101, 91, 50, 53, 54, 93, 0, 98,108,102, 95,105,100, 0,117,105,102,111,110,116, 95,105,
+100, 0,114, 95,116,111, 95,108, 0,112,111,105,110,116,115, 0,107,101,114,110,105,110,103, 0,105,116, 97,108,105, 99, 0, 98,
+111,108,100, 0,115,104, 97,100,111,119, 0,115,104, 97,100,120, 0,115,104, 97,100,121, 0,115,104, 97,100,111,119, 97,108,112,
+104, 97, 0,115,104, 97,100,111,119, 99,111,108,111,114, 0,112, 97,110,101,108,116,105,116,108,101, 0,103,114,111,117,112,108,
+ 97, 98,101,108, 0,119,105,100,103,101,116,108, 97, 98,101,108, 0,119,105,100,103,101,116, 0,112, 97,110,101,108,122,111,111,
+109, 0,109,105,110,108, 97, 98,101,108, 99,104, 97,114,115, 0,109,105,110,119,105,100,103,101,116, 99,104, 97,114,115, 0, 99,
+111,108,117,109,110,115,112, 97, 99,101, 0,116,101,109,112,108, 97,116,101,115,112, 97, 99,101, 0, 98,111,120,115,112, 97, 99,
+101, 0, 98,117,116,116,111,110,115,112, 97, 99,101,120, 0, 98,117,116,116,111,110,115,112, 97, 99,101,121, 0,112, 97,110,101,
+108,115,112, 97, 99,101, 0,112, 97,110,101,108,111,117,116,101,114, 0,112, 97,100, 91, 49, 93, 0,111,117,116,108,105,110,101,
+ 91, 52, 93, 0,105,110,110,101,114, 91, 52, 93, 0,105,110,110,101,114, 95,115,101,108, 91, 52, 93, 0,105,116,101,109, 91, 52,
+ 93, 0,116,101,120,116, 91, 52, 93, 0,116,101,120,116, 95,115,101,108, 91, 52, 93, 0,115,104, 97,100,101,100, 0,115,104, 97,
+100,101,116,111,112, 0,115,104, 97,100,101,100,111,119,110, 0, 97,108,112,104, 97, 95, 99,104,101, 99,107, 0,105,110,110,101,
+114, 95, 97,110,105,109, 91, 52, 93, 0,105,110,110,101,114, 95, 97,110,105,109, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,
+114, 95,107,101,121, 91, 52, 93, 0,105,110,110,101,114, 95,107,101,121, 95,115,101,108, 91, 52, 93, 0,105,110,110,101,114, 95,
+100,114,105,118,101,110, 91, 52, 93, 0,105,110,110,101,114, 95,100,114,105,118,101,110, 95,115,101,108, 91, 52, 93, 0,119, 99,
+111,108, 95,114,101,103,117,108, 97,114, 0,119, 99,111,108, 95,116,111,111,108, 0,119, 99,111,108, 95,116,101,120,116, 0,119,
+ 99,111,108, 95,114, 97,100,105,111, 0,119, 99,111,108, 95,111,112,116,105,111,110, 0,119, 99,111,108, 95,116,111,103,103,108,
+101, 0,119, 99,111,108, 95,110,117,109, 0,119, 99,111,108, 95,110,117,109,115,108,105,100,101,114, 0,119, 99,111,108, 95,109,
+101,110,117, 0,119, 99,111,108, 95,112,117,108,108,100,111,119,110, 0,119, 99,111,108, 95,109,101,110,117, 95, 98, 97, 99,107,
+ 0,119, 99,111,108, 95,109,101,110,117, 95,105,116,101,109, 0,119, 99,111,108, 95, 98,111,120, 0,119, 99,111,108, 95,115, 99,
+114,111,108,108, 0,119, 99,111,108, 95,112,114,111,103,114,101,115,115, 0,119, 99,111,108, 95,108,105,115,116, 95,105,116,101,
+109, 0,119, 99,111,108, 95,115,116, 97,116,101, 0,105, 99,111,110,102,105,108,101, 91, 56, 48, 93, 0, 98, 97, 99,107, 91, 52,
+ 93, 0,116,105,116,108,101, 91, 52, 93, 0,116,101,120,116, 95,104,105, 91, 52, 93, 0,104,101, 97,100,101,114, 91, 52, 93, 0,
+104,101, 97,100,101,114, 95,116,105,116,108,101, 91, 52, 93, 0,104,101, 97,100,101,114, 95,116,101,120,116, 91, 52, 93, 0,104,
+101, 97,100,101,114, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0, 98,117,116,116,111,110, 91, 52, 93, 0, 98,117,116,116,111,
+110, 95,116,105,116,108,101, 91, 52, 93, 0, 98,117,116,116,111,110, 95,116,101,120,116, 91, 52, 93, 0, 98,117,116,116,111,110,
+ 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,108,105,115,116, 91, 52, 93, 0,108,105,115,116, 95,116,105,116,108,101, 91, 52,
+ 93, 0,108,105,115,116, 95,116,101,120,116, 91, 52, 93, 0,108,105,115,116, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,112,
+ 97,110,101,108, 91, 52, 93, 0,112, 97,110,101,108, 95,116,105,116,108,101, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,
+116, 91, 52, 93, 0,112, 97,110,101,108, 95,116,101,120,116, 95,104,105, 91, 52, 93, 0,115,104, 97,100,101, 49, 91, 52, 93, 0,
+115,104, 97,100,101, 50, 91, 52, 93, 0,104,105,108,105,116,101, 91, 52, 93, 0,103,114,105,100, 91, 52, 93, 0,119,105,114,101,
+ 91, 52, 93, 0,115,101,108,101, 99,116, 91, 52, 93, 0,108, 97,109,112, 91, 52, 93, 0, 97, 99,116,105,118,101, 91, 52, 93, 0,
+103,114,111,117,112, 91, 52, 93, 0,103,114,111,117,112, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,116,114, 97,110,115,102,111,
+114,109, 91, 52, 93, 0,118,101,114,116,101,120, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93,
+ 0,101,100,103,101, 91, 52, 93, 0,101,100,103,101, 95,115,101,108,101, 99,116, 91, 52, 93, 0,101,100,103,101, 95,115,101, 97,
+109, 91, 52, 93, 0,101,100,103,101, 95,115,104, 97,114,112, 91, 52, 93, 0,101,100,103,101, 95,102, 97, 99,101,115,101,108, 91,
+ 52, 93, 0,101,100,103,101, 95, 99,114,101, 97,115,101, 91, 52, 93, 0,102, 97, 99,101, 91, 52, 93, 0,102, 97, 99,101, 95,115,
+101,108,101, 99,116, 91, 52, 93, 0,102, 97, 99,101, 95,100,111,116, 91, 52, 93, 0,101,120,116,114, 97, 95,101,100,103,101, 95,
+108,101,110, 91, 52, 93, 0,101,120,116,114, 97, 95,102, 97, 99,101, 95, 97,110,103,108,101, 91, 52, 93, 0,101,120,116,114, 97,
+ 95,102, 97, 99,101, 95, 97,114,101, 97, 91, 52, 93, 0,112, 97,100, 51, 91, 52, 93, 0,110,111,114,109, 97,108, 91, 52, 93, 0,
+118,101,114,116,101,120, 95,110,111,114,109, 97,108, 91, 52, 93, 0, 98,111,110,101, 95,115,111,108,105,100, 91, 52, 93, 0, 98,
+111,110,101, 95,112,111,115,101, 91, 52, 93, 0,115,116,114,105,112, 91, 52, 93, 0,115,116,114,105,112, 95,115,101,108,101, 99,
+116, 91, 52, 93, 0, 99,102,114, 97,109,101, 91, 52, 93, 0,110,117,114, 98, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114,
+ 98, 95,118,108,105,110,101, 91, 52, 93, 0, 97, 99,116, 95,115,112,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,
+108, 95,117,108,105,110,101, 91, 52, 93, 0,110,117,114, 98, 95,115,101,108, 95,118,108,105,110,101, 91, 52, 93, 0,108, 97,115,
+116,115,101,108, 95,112,111,105,110,116, 91, 52, 93, 0,104, 97,110,100,108,101, 95,102,114,101,101, 91, 52, 93, 0,104, 97,110,
+100,108,101, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,
+101, 95, 97,108,105,103,110, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,102,114,101,101, 91, 52, 93, 0,104, 97,
+110,100,108,101, 95,115,101,108, 95, 97,117,116,111, 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95,118,101, 99,116,
+ 91, 52, 93, 0,104, 97,110,100,108,101, 95,115,101,108, 95, 97,108,105,103,110, 91, 52, 93, 0,100,115, 95, 99,104, 97,110,110,
+101,108, 91, 52, 93, 0,100,115, 95,115,117, 98, 99,104, 97,110,110,101,108, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,111,
+117,116,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,105,110,112,117,116, 91, 52, 93, 0, 99,111,110,115,111,108,
+101, 95,105,110,102,111, 91, 52, 93, 0, 99,111,110,115,111,108,101, 95,101,114,114,111,114, 91, 52, 93, 0, 99,111,110,115,111,
+108,101, 95, 99,117,114,115,111,114, 91, 52, 93, 0,118,101,114,116,101,120, 95,115,105,122,101, 0,111,117,116,108,105,110,101,
+ 95,119,105,100,116,104, 0,102, 97, 99,101,100,111,116, 95,115,105,122,101, 0, 98,112, 97,100, 0,115,121,110,116, 97,120,108,
+ 91, 52, 93, 0,115,121,110,116, 97,120,110, 91, 52, 93, 0,115,121,110,116, 97,120, 98, 91, 52, 93, 0,115,121,110,116, 97,120,
+118, 91, 52, 93, 0,115,121,110,116, 97,120, 99, 91, 52, 93, 0,109,111,118,105,101, 91, 52, 93, 0,105,109, 97,103,101, 91, 52,
+ 93, 0,115, 99,101,110,101, 91, 52, 93, 0, 97,117,100,105,111, 91, 52, 93, 0,101,102,102,101, 99,116, 91, 52, 93, 0,112,108,
+117,103,105,110, 91, 52, 93, 0,116,114, 97,110,115,105,116,105,111,110, 91, 52, 93, 0,109,101,116, 97, 91, 52, 93, 0,101,100,
+105,116,109,101,115,104, 95, 97, 99,116,105,118,101, 91, 52, 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 91, 52,
+ 93, 0,104, 97,110,100,108,101, 95,118,101,114,116,101,120, 95,115,101,108,101, 99,116, 91, 52, 93, 0,104, 97,110,100,108,101,
+ 95,118,101,114,116,101,120, 95,115,105,122,101, 0,104,112, 97,100, 91, 55, 93, 0,112,114,101,118,105,101,119, 95, 98, 97, 99,
+107, 91, 52, 93, 0,115,111,108,105,100, 91, 52, 93, 0,116,117,105, 0,116, 98,117,116,115, 0,116,118, 51,100, 0,116,102,105,
+108,101, 0,116,105,112,111, 0,116,105,110,102,111, 0,116,115,110,100, 0,116, 97, 99,116, 0,116,110,108, 97, 0,116,115,101,
+113, 0,116,105,109, 97, 0,116,105,109, 97,115,101,108, 0,116,101,120,116, 0,116,111,111,112,115, 0,116,116,105,109,101, 0,
+116,110,111,100,101, 0,116,108,111,103,105, 99, 0,116,117,115,101,114,112,114,101,102, 0,116, 99,111,110,115,111,108,101, 0,
+116, 97,114,109, 91, 50, 48, 93, 0, 97, 99,116,105,118,101, 95,116,104,101,109,101, 95, 97,114,101, 97, 0,109,111,100,117,108,
+101, 91, 54, 52, 93, 0,115,112,101, 99, 91, 52, 93, 0,100,117,112,102,108, 97,103, 0,115, 97,118,101,116,105,109,101, 0,116,
+101,109,112,100,105,114, 91, 49, 54, 48, 93, 0,102,111,110,116,100,105,114, 91, 49, 54, 48, 93, 0,114,101,110,100,101,114,100,
+105,114, 91, 50, 52, 48, 93, 0,116,101,120,116,117,100,105,114, 91, 49, 54, 48, 93, 0,112,108,117,103,116,101,120,100,105,114,
+ 91, 49, 54, 48, 93, 0,112,108,117,103,115,101,113,100,105,114, 91, 49, 54, 48, 93, 0,112,121,116,104,111,110,100,105,114, 91,
+ 49, 54, 48, 93, 0,115,111,117,110,100,100,105,114, 91, 49, 54, 48, 93, 0,105,109, 97,103,101, 95,101,100,105,116,111,114, 91,
+ 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,114, 91, 50, 52, 48, 93, 0, 97,110,105,109, 95,112,108, 97,121,101,
+114, 95,112,114,101,115,101,116, 0,118, 50,100, 95,109,105,110, 95,103,114,105,100,115,105,122,101, 0,116,105,109,101, 99,111,
+100,101, 95,115,116,121,108,101, 0,118,101,114,115,105,111,110,115, 0,100, 98,108, 95, 99,108,105, 99,107, 95,116,105,109,101,
+ 0,103, 97,109,101,102,108, 97,103,115, 0,119,104,101,101,108,108,105,110,101,115, 99,114,111,108,108, 0,117,105,102,108, 97,
+103, 0,108, 97,110,103,117, 97,103,101, 0,117,115,101,114,112,114,101,102, 0,118,105,101,119,122,111,111,109, 0,109,105,120,
+ 98,117,102,115,105,122,101, 0, 97,117,100,105,111,100,101,118,105, 99,101, 0, 97,117,100,105,111,114, 97,116,101, 0, 97,117,
+100,105,111,102,111,114,109, 97,116, 0, 97,117,100,105,111, 99,104, 97,110,110,101,108,115, 0,100,112,105, 0,101,110, 99,111,
+100,105,110,103, 0,116,114, 97,110,115,111,112,116,115, 0,109,101,110,117,116,104,114,101,115,104,111,108,100, 49, 0,109,101,
+110,117,116,104,114,101,115,104,111,108,100, 50, 0,116,104,101,109,101,115, 0,117,105,102,111,110,116,115, 0,117,105,115,116,
+121,108,101,115, 0,107,101,121,109, 97,112,115, 0, 97,100,100,111,110,115, 0,107,101,121, 99,111,110,102,105,103,115,116,114,
+ 91, 54, 52, 93, 0,117,110,100,111,115,116,101,112,115, 0,117,110,100,111,109,101,109,111,114,121, 0,103,112, 95,109, 97,110,
+104, 97,116,116,101,110,100,105,115,116, 0,103,112, 95,101,117, 99,108,105,100,101, 97,110,100,105,115,116, 0,103,112, 95,101,
+114, 97,115,101,114, 0,103,112, 95,115,101,116,116,105,110,103,115, 0,116, 98, 95,108,101,102,116,109,111,117,115,101, 0,116,
+ 98, 95,114,105,103,104,116,109,111,117,115,101, 0,108,105,103,104,116, 91, 51, 93, 0,116,119, 95,104,111,116,115,112,111,116,
+ 0,116,119, 95,102,108, 97,103, 0,116,119, 95,104, 97,110,100,108,101,115,105,122,101, 0,116,119, 95,115,105,122,101, 0,116,
+101,120,116,105,109,101,111,117,116, 0,116,101,120, 99,111,108,108,101, 99,116,114, 97,116,101, 0,119,109,100,114, 97,119,109,
+101,116,104,111,100, 0,100,114, 97,103,116,104,114,101,115,104,111,108,100, 0,109,101,109, 99, 97, 99,104,101,108,105,109,105,
+116, 0,112,114,101,102,101,116, 99,104,102,114, 97,109,101,115, 0,102,114, 97,109,101,115,101,114,118,101,114,112,111,114,116,
+ 0,112, 97,100, 95,114,111,116, 95, 97,110,103,108,101, 0,111, 98, 99,101,110,116,101,114, 95,100,105, 97, 0,114,118,105,115,
+105,122,101, 0,114,118,105, 98,114,105,103,104,116, 0,114,101, 99,101,110,116, 95,102,105,108,101,115, 0,115,109,111,111,116,
+104, 95,118,105,101,119,116,120, 0,103,108,114,101,115,108,105,109,105,116, 0,110,100,111,102, 95,112, 97,110, 0,110,100,111,
+102, 95,114,111,116, 97,116,101, 0, 99,117,114,115,115,105,122,101, 0, 99,111,108,111,114, 95,112,105, 99,107,101,114, 95,116,
+121,112,101, 0,105,112,111, 95,110,101,119, 0,107,101,121,104, 97,110,100,108,101,115, 95,110,101,119, 0,115, 99,114, 99, 97,
+115,116,102,112,115, 0,115, 99,114, 99, 97,115,116,119, 97,105,116, 0,119,105,100,103,101,116, 95,117,110,105,116, 0, 97,110,
+105,115,111,116,114,111,112,105, 99, 95,102,105,108,116,101,114, 0,118,101,114,115,101,109, 97,115,116,101,114, 91, 49, 54, 48,
+ 93, 0,118,101,114,115,101,117,115,101,114, 91, 49, 54, 48, 93, 0,103,108, 97,108,112,104, 97, 99,108,105,112, 0,116,101,120,
+116, 95,114,101,110,100,101,114, 0,112, 97,100, 57, 0, 99,111, 98, 97, 95,119,101,105,103,104,116, 0,115, 99,117,108,112,116,
+ 95,112, 97,105,110,116, 95,111,118,101,114,108, 97,121, 95, 99,111,108, 91, 51, 93, 0, 97,117,116,104,111,114, 91, 56, 48, 93,
+ 0,118,101,114,116, 98, 97,115,101, 0,101,100,103,101, 98, 97,115,101, 0, 97,114,101, 97, 98, 97,115,101, 0, 42,110,101,119,
+115, 99,101,110,101, 0,114,101,100,114, 97,119,115, 95,102,108, 97,103, 0,102,117,108,108, 0,116,101,109,112, 0,119,105,110,
+105,100, 0,100,111, 95,100,114, 97,119, 0,100,111, 95,114,101,102,114,101,115,104, 0,100,111, 95,100,114, 97,119, 95,103,101,
+115,116,117,114,101, 0,100,111, 95,100,114, 97,119, 95,112, 97,105,110,116, 99,117,114,115,111,114, 0,100,111, 95,100,114, 97,
+119, 95,100,114, 97,103, 0,115,119, 97,112, 0,109, 97,105,110,119,105,110, 0,115,117, 98,119,105,110, 97, 99,116,105,118,101,
+ 0, 42, 97,110,105,109,116,105,109,101,114, 0, 42, 99,111,110,116,101,120,116, 0,104, 97,110,100,108,101,114, 91, 56, 93, 0,
+ 42,110,101,119,118, 0,118,101, 99, 0, 42,118, 49, 0, 42,118, 50, 0, 42,116,121,112,101, 0,112, 97,110,101,108,110, 97,109,
+101, 91, 54, 52, 93, 0,116, 97, 98,110, 97,109,101, 91, 54, 52, 93, 0,100,114, 97,119,110, 97,109,101, 91, 54, 52, 93, 0,111,
+102,115,120, 0,111,102,115,121, 0,115,105,122,101,120, 0,115,105,122,101,121, 0,108, 97, 98,101,108,111,102,115, 0,114,117,
+110,116,105,109,101, 95,102,108, 97,103, 0, 99,111,110,116,114,111,108, 0,115,110, 97,112, 0,115,111,114,116,111,114,100,101,
+114, 0, 42,112, 97,110,101,108,116, 97, 98, 0, 42, 97, 99,116,105,118,101,100, 97,116, 97, 0,108,105,115,116, 95,115, 99,114,
+111,108,108, 0,108,105,115,116, 95,115,105,122,101, 0,108,105,115,116, 95,108, 97,115,116, 95,108,101,110, 0,108,105,115,116,
+ 95,103,114,105,112, 95,115,105,122,101, 0,108,105,115,116, 95,115,101, 97,114, 99,104, 91, 54, 52, 93, 0, 42,118, 51, 0, 42,
+118, 52, 0, 42,102,117,108,108, 0, 98,117,116,115,112, 97, 99,101,116,121,112,101, 0,104,101, 97,100,101,114,116,121,112,101,
+ 0,115,112, 97, 99,101,100, 97,116, 97, 0,104, 97,110,100,108,101,114,115, 0, 97, 99,116,105,111,110,122,111,110,101,115, 0,
+119,105,110,114, 99,116, 0,100,114, 97,119,114, 99,116, 0,115,119,105,110,105,100, 0,114,101,103,105,111,110,116,121,112,101,
+ 0, 97,108,105,103,110,109,101,110,116, 0,100,111, 95,100,114, 97,119, 95,111,118,101,114,108, 97,121, 0,117,105, 98,108,111,
+ 99,107,115, 0,112, 97,110,101,108,115, 0, 42,104,101, 97,100,101,114,115,116,114, 0, 42,114,101,103,105,111,110,100, 97,116,
+ 97, 0,115,117, 98,118,115,116,114, 91, 52, 93, 0,115,117, 98,118,101,114,115,105,111,110, 0,112, 97,100,115, 0,109,105,110,
+118,101,114,115,105,111,110, 0,109,105,110,115,117, 98,118,101,114,115,105,111,110, 0,119,105,110,112,111,115, 0, 42, 99,117,
+114,115, 99,114,101,101,110, 0, 42, 99,117,114,115, 99,101,110,101, 0,102,105,108,101,102,108, 97,103,115, 0,103,108,111, 98,
+ 97,108,102, 0,114,101,118,105,115,105,111,110, 0,102,105,108,101,110, 97,109,101, 91, 50, 52, 48, 93, 0,110, 97,109,101, 91,
+ 56, 48, 93, 0,111,114,105,103, 95,119,105,100,116,104, 0,111,114,105,103, 95,104,101,105,103,104,116, 0, 98,111,116,116,111,
+109, 0,114,105,103,104,116, 0,120,111,102,115, 0,121,111,102,115, 0,108,105,102,116, 91, 51, 93, 0,103, 97,109,109, 97, 91,
+ 51, 93, 0,103, 97,105,110, 91, 51, 93, 0,100,105,114, 91, 49, 54, 48, 93, 0,100,111,110,101, 0,115,116, 97,114,116,115,116,
+105,108,108, 0,101,110,100,115,116,105,108,108, 0, 42,115,116,114,105,112,100, 97,116, 97, 0, 42, 99,114,111,112, 0, 42,116,
+114, 97,110,115,102,111,114,109, 0, 42, 99,111,108,111,114, 95, 98, 97,108, 97,110, 99,101, 0, 42,105,110,115,116, 97,110, 99,
+101, 95,112,114,105,118, 97,116,101, 95,100, 97,116, 97, 0, 42, 42, 99,117,114,114,101,110,116, 95,112,114,105,118, 97,116,101,
+ 95,100, 97,116, 97, 0, 42,116,109,112, 0,115,116, 97,114,116,111,102,115, 0,101,110,100,111,102,115, 0,109, 97, 99,104,105,
+110,101, 0,115,116, 97,114,116,100,105,115,112, 0,101,110,100,100,105,115,112, 0,115, 97,116, 0,109,117,108, 0,104, 97,110,
+100,115,105,122,101, 0, 97,110,105,109, 95,112,114,101,115,101,101,107, 0, 42,115,116,114,105,112, 0, 42,115, 99,101,110,101,
+ 95, 99, 97,109,101,114, 97, 0,101,102,102,101, 99,116, 95,102, 97,100,101,114, 0,115,112,101,101,100, 95,102, 97,100,101,114,
+ 0, 42,115,101,113, 49, 0, 42,115,101,113, 50, 0, 42,115,101,113, 51, 0,115,101,113, 98, 97,115,101, 0, 42,115, 99,101,110,
+101, 95,115,111,117,110,100, 0,108,101,118,101,108, 0,112, 97,110, 0,115, 99,101,110,101,110,114, 0,109,117,108,116,105, 99,
+ 97,109, 95,115,111,117,114, 99,101, 0,115,116,114,111, 98,101, 0, 42,101,102,102,101, 99,116,100, 97,116, 97, 0, 97,110,105,
+109, 95,115,116, 97,114,116,111,102,115, 0, 97,110,105,109, 95,101,110,100,111,102,115, 0, 98,108,101,110,100, 95,109,111,100,
+101, 0, 98,108,101,110,100, 95,111,112, 97, 99,105,116,121, 0, 42,111,108,100, 98, 97,115,101,112, 0, 42,112, 97,114,115,101,
+113, 0, 42,115,101,113, 98, 97,115,101,112, 0,109,101,116, 97,115,116, 97, 99,107, 0, 42, 97, 99,116, 95,115,101,113, 0, 97,
+ 99,116, 95,105,109, 97,103,101,100,105,114, 91, 50, 53, 54, 93, 0, 97, 99,116, 95,115,111,117,110,100,100,105,114, 91, 50, 53,
+ 54, 93, 0,111,118,101,114, 95,111,102,115, 0,111,118,101,114, 95, 99,102,114, 97, 0,111,118,101,114, 95,102,108, 97,103, 0,
+111,118,101,114, 95, 98,111,114,100,101,114, 0,101,100,103,101, 87,105,100,116,104, 0,102,111,114,119, 97,114,100, 0,119,105,
+112,101,116,121,112,101, 0,102, 77,105,110,105, 0,102, 67,108, 97,109,112, 0,102, 66,111,111,115,116, 0,100, 68,105,115,116,
+ 0,100, 81,117, 97,108,105,116,121, 0, 98, 78,111, 67,111,109,112, 0, 83, 99, 97,108,101,120, 73,110,105, 0, 83, 99, 97,108,
+101,121, 73,110,105, 0, 83, 99, 97,108,101,120, 70,105,110, 0, 83, 99, 97,108,101,121, 70,105,110, 0,120, 73,110,105, 0,120,
+ 70,105,110, 0,121, 73,110,105, 0,121, 70,105,110, 0,114,111,116, 73,110,105, 0,114,111,116, 70,105,110, 0,105,110,116,101,
+114,112,111,108, 97,116,105,111,110, 0,117,110,105,102,111,114,109, 95,115, 99, 97,108,101, 0,116,105,116,108,101,115,116,114,
+ 91, 54, 52, 93, 0,115,117, 98,116,105,116,108,101, 91, 49, 50, 56, 93, 0,102,103, 99,111,108, 91, 51, 93, 0, 98,103, 99,111,
+108, 91, 51, 93, 0, 42,102,114, 97,109,101, 77, 97,112, 0,103,108,111, 98, 97,108, 83,112,101,101,100, 0,108, 97,115,116, 86,
+ 97,108,105,100, 70,114, 97,109,101, 0, 98,117,116,116,121,112,101, 0,117,115,101,114,106,105,116, 0,115,116, 97, 0,116,111,
+116,112, 97,114,116, 0,110,111,114,109,102, 97, 99, 0,111, 98,102, 97, 99, 0,114, 97,110,100,102, 97, 99, 0,116,101,120,102,
+ 97, 99, 0,114, 97,110,100,108,105,102,101, 0,102,111,114, 99,101, 91, 51, 93, 0,118,101, 99,116,115,105,122,101, 0,109, 97,
+120,108,101,110, 0,100,101,102,118,101, 99, 91, 51, 93, 0,109,117,108,116, 91, 52, 93, 0,108,105,102,101, 91, 52, 93, 0, 99,
+104,105,108,100, 91, 52, 93, 0,109, 97,116, 91, 52, 93, 0,116,101,120,109, 97,112, 0, 99,117,114,109,117,108,116, 0,115,116,
+ 97,116,105, 99,115,116,101,112, 0,111,109, 97,116, 0,116,105,109,101,116,101,120, 0,115,112,101,101,100,116,101,120, 0,102,
+108, 97,103, 50,110,101,103, 0,118,101,114,116,103,114,111,117,112, 95,118, 0,118,103,114,111,117,112,110, 97,109,101, 91, 51,
+ 50, 93, 0,118,103,114,111,117,112,110, 97,109,101, 95,118, 91, 51, 50, 93, 0, 42,107,101,121,115, 0,109,105,110,102, 97, 99,
+ 0,110,114, 0,117,115,101,100, 0,117,115,101,100,101,108,101,109, 0, 42,112,111,105,110, 0,114,101,115,101,116,100,105,115,
+116, 0,108, 97,115,116,118, 97,108, 0, 42,109, 97, 0,107,101,121, 0,113,117, 97,108, 0,113,117, 97,108, 50, 0,116, 97,114,
+103,101,116, 78, 97,109,101, 91, 51, 50, 93, 0,116,111,103,103,108,101, 78, 97,109,101, 91, 51, 50, 93, 0,118, 97,108,117,101,
+ 91, 51, 50, 93, 0,109, 97,120,118, 97,108,117,101, 91, 51, 50, 93, 0,100,101,108, 97,121, 0,100,117,114, 97,116,105,111,110,
+ 0,109, 97,116,101,114,105, 97,108, 78, 97,109,101, 91, 51, 50, 93, 0,100, 97,109,112,116,105,109,101,114, 0,112,114,111,112,
+110, 97,109,101, 91, 51, 50, 93, 0,109, 97,116,110, 97,109,101, 91, 51, 50, 93, 0, 97,120,105,115,102,108, 97,103, 0,112,111,
+115,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0, 99,111,110,115,116,114, 97,105,110,116, 91, 51, 50, 93, 0, 42,102,114,
+111,109, 79, 98,106,101, 99,116, 0,115,117, 98,106,101, 99,116, 91, 51, 50, 93, 0, 98,111,100,121, 91, 51, 50, 93, 0,111,116,
+121,112,101, 0,112,117,108,115,101, 0,102,114,101,113, 0,116,111,116,108,105,110,107,115, 0, 42, 42,108,105,110,107,115, 0,
+116, 97,112, 0,106,111,121,105,110,100,101,120, 0, 97,120,105,115, 95,115,105,110,103,108,101, 0, 97,120,105,115,102, 0, 98,
+117,116,116,111,110, 0,104, 97,116, 0,104, 97,116,102, 0,112,114,101, 99,105,115,105,111,110, 0,115,116,114, 91, 49, 50, 56,
+ 93, 0, 42,109,121,110,101,119, 0,105,110,112,117,116,115, 0,116,111,116,115,108,105,110,107,115, 0, 42, 42,115,108,105,110,
+107,115, 0,118, 97,108,111, 0,115,116, 97,116,101, 95,109, 97,115,107, 0, 42, 97, 99,116, 0,102,114, 97,109,101, 80,114,111,
+112, 91, 51, 50, 93, 0, 98,108,101,110,100,105,110, 0,112,114,105,111,114,105,116,121, 0,101,110,100, 95,114,101,115,101,116,
+ 0,115,116,114,105,100,101, 97,120,105,115, 0,115,116,114,105,100,101,108,101,110,103,116,104, 0,108, 97,121,101,114, 95,119,
+101,105,103,104,116, 0,109,105,110, 95,103, 97,105,110, 0,109, 97,120, 95,103, 97,105,110, 0,114,101,102,101,114,101,110, 99,
+101, 95,100,105,115,116, 97,110, 99,101, 0,109, 97,120, 95,100,105,115,116, 97,110, 99,101, 0,114,111,108,108,111,102,102, 95,
+102, 97, 99,116,111,114, 0, 99,111,110,101, 95,105,110,110,101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,
+101,114, 95, 97,110,103,108,101, 0, 99,111,110,101, 95,111,117,116,101,114, 95,103, 97,105,110, 0,112, 97,100, 51, 91, 50, 93,
+ 0,112,105,116, 99,104, 0,115,111,117,110,100, 51, 68, 0,112, 97,100, 54, 91, 49, 93, 0, 42,109,101, 0,108,105,110, 86,101,
+108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103, 86,101,108,111, 99,105,116,121, 91, 51, 93, 0,108,111, 99, 97,108,102,108,
+ 97,103, 0,100,121,110, 95,111,112,101,114, 97,116,105,111,110, 0,102,111,114, 99,101,108,111, 99, 91, 51, 93, 0,102,111,114,
+ 99,101,114,111,116, 91, 51, 93, 0,108,105,110,101, 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 97,110,103,117,108,
+ 97,114,118,101,108,111, 99,105,116,121, 91, 51, 93, 0, 42,114,101,102,101,114,101,110, 99,101, 0,109,105,110, 0,109, 97,120,
+ 0,114,111,116,100, 97,109,112, 0,109,105,110,108,111, 99, 91, 51, 93, 0,109, 97,120,108,111, 99, 91, 51, 93, 0,109,105,110,
+114,111,116, 91, 51, 93, 0,109, 97,120,114,111,116, 91, 51, 93, 0,109, 97,116,112,114,111,112, 91, 51, 50, 93, 0, 98,117,116,
+115,116, 97, 0, 98,117,116,101,110,100, 0,100,105,115,116,114,105, 98,117,116,105,111,110, 0,105,110,116, 95, 97,114,103, 95,
+ 49, 0,105,110,116, 95, 97,114,103, 95, 50, 0,102,108,111, 97,116, 95, 97,114,103, 95, 49, 0,102,108,111, 97,116, 95, 97,114,
+103, 95, 50, 0,116,111, 80,114,111,112, 78, 97,109,101, 91, 51, 50, 93, 0, 42,116,111, 79, 98,106,101, 99,116, 0, 98,111,100,
+121, 84,121,112,101, 0,102,105,108,101,110, 97,109,101, 91, 54, 52, 93, 0,108,111, 97,100, 97,110,105,110, 97,109,101, 91, 54,
+ 52, 93, 0,105,110,116, 95, 97,114,103, 0,102,108,111, 97,116, 95, 97,114,103, 0, 42,115,117, 98,116, 97,114,103,101,116, 0,
+103,111, 0, 42,110,101,119,112, 97, 99,107,101,100,102,105,108,101, 0, 97,116,116,101,110,117, 97,116,105,111,110, 0,100,105,
+115,116, 97,110, 99,101, 0, 42, 99, 97, 99,104,101, 0, 42,112,108, 97,121, 98, 97, 99,107, 95,104, 97,110,100,108,101, 0, 42,
+108, 97,109,112,114,101,110, 0,103,111, 98,106,101, 99,116, 0,100,117,112,108,105, 95,111,102,115, 91, 51, 93, 0, 42,112,114,
+111,112, 0, 99,104,105,108,100, 98, 97,115,101, 0,114,111,108,108, 0,104,101, 97,100, 91, 51, 93, 0,116, 97,105,108, 91, 51,
+ 93, 0, 98,111,110,101, 95,109, 97,116, 91, 51, 93, 91, 51, 93, 0, 97,114,109, 95,104,101, 97,100, 91, 51, 93, 0, 97,114,109,
+ 95,116, 97,105,108, 91, 51, 93, 0, 97,114,109, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0, 97,114,109, 95,114,111,108,108, 0,
+120,119,105,100,116,104, 0,122,119,105,100,116,104, 0,101, 97,115,101, 49, 0,101, 97,115,101, 50, 0,114, 97,100, 95,104,101,
+ 97,100, 0,114, 97,100, 95,116, 97,105,108, 0, 98,111,110,101, 98, 97,115,101, 0, 99,104, 97,105,110, 98, 97,115,101, 0, 42,
+101,100, 98,111, 0, 42, 97, 99,116, 95, 98,111,110,101, 0, 42, 97, 99,116, 95,101,100, 98,111,110,101, 0, 42,115,107,101,116,
+ 99,104, 0,108, 97,121,101,114, 95,117,115,101,100, 0,108, 97,121,101,114, 95,112,114,111,116,101, 99,116,101,100, 0,103,104,
+111,115,116,101,112, 0,103,104,111,115,116,115,105,122,101, 0,103,104,111,115,116,116,121,112,101, 0,112, 97,116,104,115,105,
+122,101, 0,103,104,111,115,116,115,102, 0,103,104,111,115,116,101,102, 0,112, 97,116,104,115,102, 0,112, 97,116,104,101,102,
+ 0,112, 97,116,104, 98, 99, 0,112, 97,116,104, 97, 99, 0, 42,112,111,105,110,116,115, 0,115,116, 97,114,116, 95,102,114, 97,
+109,101, 0,101,110,100, 95,102,114, 97,109,101, 0,103,104,111,115,116, 95,115,102, 0,103,104,111,115,116, 95,101,102, 0,103,
+104,111,115,116, 95, 98, 99, 0,103,104,111,115,116, 95, 97, 99, 0,103,104,111,115,116, 95,116,121,112,101, 0,103,104,111,115,
+116, 95,115,116,101,112, 0,103,104,111,115,116, 95,102,108, 97,103, 0,112, 97,116,104, 95,116,121,112,101, 0,112, 97,116,104,
+ 95,115,116,101,112, 0,112, 97,116,104, 95,118,105,101,119,102,108, 97,103, 0,112, 97,116,104, 95, 98, 97,107,101,102,108, 97,
+103, 0,112, 97,116,104, 95,115,102, 0,112, 97,116,104, 95,101,102, 0,112, 97,116,104, 95, 98, 99, 0,112, 97,116,104, 95, 97,
+ 99, 0, 99,111,110,115,116,102,108, 97,103, 0,105,107,102,108, 97,103, 0,115,101,108,101, 99,116,102,108, 97,103, 0, 97,103,
+114,112, 95,105,110,100,101,120, 0, 42, 98,111,110,101, 0, 42, 99,104,105,108,100, 0,105,107,116,114,101,101, 0, 42, 99,117,
+115,116,111,109, 0, 42, 99,117,115,116,111,109, 95,116,120, 0,101,117,108, 91, 51, 93, 0, 99,104, 97,110, 95,109, 97,116, 91,
+ 52, 93, 91, 52, 93, 0,112,111,115,101, 95,109, 97,116, 91, 52, 93, 91, 52, 93, 0,112,111,115,101, 95,104,101, 97,100, 91, 51,
+ 93, 0,112,111,115,101, 95,116, 97,105,108, 91, 51, 93, 0,108,105,109,105,116,109,105,110, 91, 51, 93, 0,108,105,109,105,116,
+109, 97,120, 91, 51, 93, 0,115,116,105,102,102,110,101,115,115, 91, 51, 93, 0,105,107,115,116,114,101,116, 99,104, 0,105,107,
+114,111,116,119,101,105,103,104,116, 0,105,107,108,105,110,119,101,105,103,104,116, 0, 99,104, 97,110, 98, 97,115,101, 0, 42,
+ 99,104, 97,110,104, 97,115,104, 0,112,114,111,120,121, 95,108, 97,121,101,114, 0,115,116,114,105,100,101, 95,111,102,102,115,
+101,116, 91, 51, 93, 0, 99,121, 99,108,105, 99, 95,111,102,102,115,101,116, 91, 51, 93, 0, 97,103,114,111,117,112,115, 0, 97,
+ 99,116,105,118,101, 95,103,114,111,117,112, 0,105,107,115,111,108,118,101,114, 0, 42,105,107,100, 97,116, 97, 0, 42,105,107,
+112, 97,114, 97,109, 0,112,114,111,120,121, 95, 97, 99,116, 95, 98,111,110,101, 91, 51, 50, 93, 0,110,117,109,105,116,101,114,
+ 0,110,117,109,115,116,101,112, 0,109,105,110,115,116,101,112, 0,109, 97,120,115,116,101,112, 0,115,111,108,118,101,114, 0,
+102,101,101,100, 98, 97, 99,107, 0,109, 97,120,118,101,108, 0,100, 97,109,112,109, 97,120, 0,100, 97,109,112,101,112,115, 0,
+ 99,104, 97,110,110,101,108,115, 0, 99,117,115,116,111,109, 67,111,108, 0, 99,115, 0, 99,117,114,118,101,115, 0,103,114,111,
+117,112,115, 0, 97, 99,116,105,118,101, 95,109, 97,114,107,101,114, 0,105,100,114,111,111,116, 0, 42,115,111,117,114, 99,101,
+ 0, 42,102,105,108,116,101,114, 95,103,114,112, 0,115,101, 97,114, 99,104,115,116,114, 91, 54, 52, 93, 0,102,105,108,116,101,
+114,102,108, 97,103, 0, 97,100,115, 0,116,105,109,101,115,108,105,100,101, 0, 42,103,114,112, 0,110, 97,109,101, 91, 51, 48,
+ 93, 0,111,119,110,115,112, 97, 99,101, 0,116, 97,114,115,112, 97, 99,101, 0,101,110,102,111,114, 99,101, 0,104,101, 97,100,
+116, 97,105,108, 0,108,105,110, 95,101,114,114,111,114, 0,114,111,116, 95,101,114,114,111,114, 0, 42,116, 97,114, 0,109, 97,
+116,114,105,120, 91, 52, 93, 91, 52, 93, 0,115,112, 97, 99,101, 0,114,111,116, 79,114,100,101,114, 0,116, 97,114,110,117,109,
+ 0,116, 97,114,103,101,116,115, 0,105,116,101,114, 97,116,105,111,110,115, 0,114,111,111,116, 98,111,110,101, 0,109, 97,120,
+ 95,114,111,111,116, 98,111,110,101, 0, 42,112,111,108,101,116, 97,114, 0,112,111,108,101,115,117, 98,116, 97,114,103,101,116,
+ 91, 51, 50, 93, 0,112,111,108,101, 97,110,103,108,101, 0,111,114,105,101,110,116,119,101,105,103,104,116, 0,103,114, 97, 98,
+116, 97,114,103,101,116, 91, 51, 93, 0,110,117,109,112,111,105,110,116,115, 0, 99,104, 97,105,110,108,101,110, 0,120,122, 83,
+ 99, 97,108,101, 77,111,100,101, 0,114,101,115,101,114,118,101,100, 49, 0,114,101,115,101,114,118,101,100, 50, 0,109,105,110,
+109, 97,120,102,108, 97,103, 0,115,116,117, 99,107, 0, 99, 97, 99,104,101, 91, 51, 93, 0,108,111, 99,107,102,108, 97,103, 0,
+102,111,108,108,111,119,102,108, 97,103, 0,118,111,108,109,111,100,101, 0,112,108, 97,110,101, 0,111,114,103,108,101,110,103,
+116,104, 0, 98,117,108,103,101, 0,112,105,118, 88, 0,112,105,118, 89, 0,112,105,118, 90, 0, 97,120, 88, 0, 97,120, 89, 0,
+ 97,120, 90, 0,109,105,110, 76,105,109,105,116, 91, 54, 93, 0,109, 97,120, 76,105,109,105,116, 91, 54, 93, 0,101,120,116,114,
+ 97, 70,122, 0,105,110,118,109, 97,116, 91, 52, 93, 91, 52, 93, 0,102,114,111,109, 0,116,111, 0,109, 97,112, 91, 51, 93, 0,
+101,120,112,111, 0,102,114,111,109, 95,109,105,110, 91, 51, 93, 0,102,114,111,109, 95,109, 97,120, 91, 51, 93, 0,116,111, 95,
+109,105,110, 91, 51, 93, 0,116,111, 95,109, 97,120, 91, 51, 93, 0,114,111,116, 65,120,105,115, 0,122,109,105,110, 0,122,109,
+ 97,120, 0,112, 97,100, 91, 57, 93, 0, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,110,111, 95,114,111,116, 95, 97,120,105,
+115, 0,115,116,114,105,100,101, 95, 97,120,105,115, 0, 99,117,114,109,111,100, 0, 97, 99,116,115,116, 97,114,116, 0, 97, 99,
+116,101,110,100, 0, 97, 99,116,111,102,102,115, 0,115,116,114,105,100,101,108,101,110, 0,115, 99, 97,108,101, 0, 98,108,101,
+110,100,111,117,116, 0,115,116,114,105,100,101, 99,104, 97,110,110,101,108, 91, 51, 50, 93, 0,111,102,102,115, 95, 98,111,110,
+101, 91, 51, 50, 93, 0,104, 97,115,105,110,112,117,116, 0,104, 97,115,111,117,116,112,117,116, 0,100, 97,116, 97,116,121,112,
+101, 0,115,111, 99,107,101,116,116,121,112,101, 0, 42,110,101,119, 95,115,111, 99,107, 0,110,115, 0,108,105,109,105,116, 0,
+115,116, 97, 99,107, 95,116,121,112,101, 0, 42,115,116, 97, 99,107, 95,112,116,114, 0,115,116, 97, 99,107, 95,105,110,100,101,
+120, 0,108,111, 99,120, 0,108,111, 99,121, 0,111,119,110, 95,105,110,100,101,120, 0, 42,103,114,111,117,112,115,111, 99,107,
+ 0,116,111, 95,105,110,100,101,120, 0, 42,108,105,110,107, 0, 42,114,101, 99,116, 0,120,115,105,122,101, 0,121,115,105,122,
+101, 0, 42,110,101,119, 95,110,111,100,101, 0,108, 97,115,116,121, 0,111,117,116,112,117,116,115, 0, 42,115,116,111,114, 97,
+103,101, 0,109,105,110,105,119,105,100,116,104, 0,108, 97, 98,101,108, 91, 51, 50, 93, 0, 99,117,115,116,111,109, 49, 0, 99,
+117,115,116,111,109, 50, 0, 99,117,115,116,111,109, 51, 0, 99,117,115,116,111,109, 52, 0,110,101,101,100, 95,101,120,101, 99,
+ 0,101,120,101, 99, 0, 42,116,104,114,101, 97,100,100, 97,116, 97, 0,116,111,116,114, 0, 98,117,116,114, 0,112,114,118,114,
+ 0, 42, 98,108,111, 99,107, 0, 42,116,121,112,101,105,110,102,111, 0, 42,102,114,111,109,110,111,100,101, 0, 42,116,111,110,
+111,100,101, 0, 42,102,114,111,109,115,111, 99,107, 0, 42,116,111,115,111, 99,107, 0,110,111,100,101,115, 0,108,105,110,107,
+115, 0, 42,115,116, 97, 99,107, 0, 42,116,104,114,101, 97,100,115,116, 97, 99,107, 0,105,110,105,116, 0,115,116, 97, 99,107,
+115,105,122,101, 0, 99,117,114, 95,105,110,100,101,120, 0, 97,108,108,116,121,112,101,115, 0, 40, 42,112,114,111,103,114,101,
+115,115, 41, 40, 41, 0, 40, 42,115,116, 97,116,115, 95,100,114, 97,119, 41, 40, 41, 0, 40, 42,116,101,115,116, 95, 98,114,101,
+ 97,107, 41, 40, 41, 0, 42,116, 98,104, 0, 42,112,114,104, 0, 42,115,100,104, 0, 99,121, 99,108,105, 99, 0,109,111,118,105,
+101, 0,115, 97,109,112,108,101,115, 0,109, 97,120,115,112,101,101,100, 0,109,105,110,115,112,101,101,100, 0, 99,117,114,118,
+101,100, 0,112,101,114, 99,101,110,116,120, 0,112,101,114, 99,101,110,116,121, 0, 98,111,107,101,104, 0,103, 97,109,109, 97,
+ 0,105,109, 97,103,101, 95,105,110, 95,119,105,100,116,104, 0,105,109, 97,103,101, 95,105,110, 95,104,101,105,103,104,116, 0,
+ 99,101,110,116,101,114, 95,120, 0, 99,101,110,116,101,114, 95,121, 0,115,112,105,110, 0,119,114, 97,112, 0,115,105,103,109,
+ 97, 95, 99,111,108,111,114, 0,115,105,103,109, 97, 95,115,112, 97, 99,101, 0,104,117,101, 0,116, 49, 0,116, 50, 0,116, 51,
+ 0,102,115,116,114,101,110,103,116,104, 0,102, 97,108,112,104, 97, 0,107,101,121, 91, 52, 93, 0, 97,108,103,111,114,105,116,
+104,109, 0, 99,104, 97,110,110,101,108, 0,120, 49, 0,120, 50, 0,121, 49, 0,121, 50, 0,102, 97, 99, 95,120, 49, 0,102, 97,
+ 99, 95,120, 50, 0,102, 97, 99, 95,121, 49, 0,102, 97, 99, 95,121, 50, 0, 99,111,108,110, 97,109,101, 91, 51, 50, 93, 0, 98,
+107,116,121,112,101, 0,114,111,116, 97,116,105,111,110, 0,103, 97,109, 99,111, 0,110,111, 95,122, 98,117,102, 0,102,115,116,
+111,112, 0,109, 97,120, 98,108,117,114, 0, 98,116,104,114,101,115,104, 0, 42,100,105, 99,116, 0, 42,110,111,100,101, 0, 97,
+110,103,108,101, 95,111,102,115, 0, 99,111,108,109,111,100, 0,109,105,120, 0,116,104,114,101,115,104,111,108,100, 0,102, 97,
+100,101, 0,109, 0, 99, 0,106,105,116, 0,112,114,111,106, 0,102,105,116, 0,115,108,111,112,101, 91, 51, 93, 0,112,111,119,
+101,114, 91, 51, 93, 0,108,105,102,116, 95,108,103,103, 91, 51, 93, 0,103, 97,109,109, 97, 95,105,110,118, 91, 51, 93, 0,108,
+105,109, 99,104, 97,110, 0,117,110,115,112,105,108,108, 0,108,105,109,115, 99, 97,108,101, 0,117,115,112,105,108,108,114, 0,
+117,115,112,105,108,108,103, 0,117,115,112,105,108,108, 98, 0,115,104,111,114,116,121, 0,109,105,110,116, 97, 98,108,101, 0,
+109, 97,120,116, 97, 98,108,101, 0,101,120,116, 95,105,110, 91, 50, 93, 0,101,120,116, 95,111,117,116, 91, 50, 93, 0, 42, 99,
+117,114,118,101, 0, 42,116, 97, 98,108,101, 0, 42,112,114,101,109,117,108,116, 97, 98,108,101, 0,112,114,101,115,101,116, 0,
+ 99,104, 97,110,103,101,100, 95,116,105,109,101,115,116, 97,109,112, 0, 99,117,114,114, 0, 99,108,105,112,114, 0, 99,109, 91,
+ 52, 93, 0, 98,108, 97, 99,107, 91, 51, 93, 0,119,104,105,116,101, 91, 51, 93, 0, 98,119,109,117,108, 91, 51, 93, 0,115, 97,
+109,112,108,101, 91, 51, 93, 0,120, 95,114,101,115,111,108,117,116,105,111,110, 0,100, 97,116, 97, 95,114, 91, 50, 53, 54, 93,
+ 0,100, 97,116, 97, 95,103, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95, 98, 91, 50, 53, 54, 93, 0,100, 97,116, 97, 95,108,117,
+109, 97, 91, 50, 53, 54, 93, 0,115, 97,109,112,108,101, 95,102,117,108,108, 0,115, 97,109,112,108,101, 95,108,105,110,101,115,
+ 0, 97, 99, 99,117,114, 97, 99,121, 0,119, 97,118,101,102,114,109, 95,109,111,100,101, 0,119, 97,118,101,102,114,109, 95, 97,
+108,112,104, 97, 0,119, 97,118,101,102,114,109, 95,121,102, 97, 99, 0,119, 97,118,101,102,114,109, 95,104,101,105,103,104,116,
+ 0,118,101, 99,115, 99,111,112,101, 95, 97,108,112,104, 97, 0,118,101, 99,115, 99,111,112,101, 95,104,101,105,103,104,116, 0,
+109,105,110,109, 97,120, 91, 51, 93, 91, 50, 93, 0,104,105,115,116, 0, 42,119, 97,118,101,102,111,114,109, 95, 49, 0, 42,119,
+ 97,118,101,102,111,114,109, 95, 50, 0, 42,119, 97,118,101,102,111,114,109, 95, 51, 0, 42,118,101, 99,115, 99,111,112,101, 0,
+119, 97,118,101,102,111,114,109, 95,116,111,116, 0,111,102,102,115,101,116, 91, 50, 93, 0, 99,108,111,110,101, 0,109,116,101,
+120, 0, 42,105, 99,111,110, 95,105,109, 98,117,102, 0,105, 99,111,110, 95,102,105,108,101,112, 97,116,104, 91, 50, 52, 48, 93,
+ 0,110,111,114,109, 97,108, 95,119,101,105,103,104,116, 0,111, 98, 95,109,111,100,101, 0,106,105,116,116,101,114, 0,115,109,
+111,111,116,104, 95,115,116,114,111,107,101, 95,114, 97,100,105,117,115, 0,115,109,111,111,116,104, 95,115,116,114,111,107,101,
+ 95,102, 97, 99,116,111,114, 0,114, 97,116,101, 0,114,103, 98, 91, 51, 93, 0,115, 99,117,108,112,116, 95,112,108, 97,110,101,
+ 0,112,108, 97,110,101, 95,111,102,102,115,101,116, 0,115, 99,117,108,112,116, 95,116,111,111,108, 0,118,101,114,116,101,120,
+112, 97,105,110,116, 95,116,111,111,108, 0,105,109, 97,103,101,112, 97,105,110,116, 95,116,111,111,108, 0,112, 97,100, 51, 91,
+ 53, 93, 0, 97,117,116,111,115,109,111,111,116,104, 95,102, 97, 99,116,111,114, 0, 99,114,101, 97,115,101, 95,112,105,110, 99,
+104, 95,102, 97, 99,116,111,114, 0,112,108, 97,110,101, 95,116,114,105,109, 0,116,101,120,116,117,114,101, 95,115, 97,109,112,
+108,101, 95, 98,105, 97,115, 0,116,101,120,116,117,114,101, 95,111,118,101,114,108, 97,121, 95, 97,108,112,104, 97, 0,117,110,
+112,114,111,106,101, 99,116,101,100, 95,114, 97,100,105,117,115, 0, 97,100,100, 95, 99,111,108, 91, 51, 93, 0,115,117, 98, 95,
+ 99,111,108, 91, 51, 93, 0, 97, 99,116,105,118,101, 95,114,110,100, 0, 97, 99,116,105,118,101, 95, 99,108,111,110,101, 0, 97,
+ 99,116,105,118,101, 95,109, 97,115,107, 0, 42,108, 97,121,101,114,115, 0,116,111,116,108, 97,121,101,114, 0,109, 97,120,108,
+ 97,121,101,114, 0,116,111,116,115,105,122,101, 0, 42,112,111,111,108, 0, 42,101,120,116,101,114,110, 97,108, 0,114,111,116,
+ 91, 52, 93, 0, 97,118,101, 91, 51, 93, 0, 42,103,114,111,117,110,100, 0,119, 97,110,100,101,114, 91, 51, 93, 0,114,101,115,
+116, 95,108,101,110,103,116,104, 0,112, 97,114,116,105, 99,108,101, 95,105,110,100,101,120, 91, 50, 93, 0,100,101,108,101,116,
+101, 95,102,108, 97,103, 0,110,117,109, 0,112, 97,114,101,110,116, 0,112, 97, 91, 52, 93, 0,119, 91, 52, 93, 0,102,117,118,
+ 91, 52, 93, 0,102,111,102,102,115,101,116, 0,112,114,101,118, 95,115,116, 97,116,101, 0, 42,104, 97,105,114, 0, 42, 98,111,
+105,100, 0,100,105,101,116,105,109,101, 0,110,117,109, 95,100,109, 99, 97, 99,104,101, 0,104, 97,105,114, 95,105,110,100,101,
+120, 0, 97,108,105,118,101, 0,115,112,114,105,110,103, 95,107, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 99,111,110,115,
+116, 97,110,116, 0,121,105,101,108,100, 95,114, 97,116,105,111, 0,112,108, 97,115,116,105, 99,105,116,121, 95, 98, 97,108, 97,
+110, 99,101, 0,121,105,101,108,100, 95, 98, 97,108, 97,110, 99,101, 0,118,105,115, 99,111,115,105,116,121, 95,111,109,101,103,
+ 97, 0,118,105,115, 99,111,115,105,116,121, 95, 98,101,116, 97, 0,115,116,105,102,102,110,101,115,115, 95,107, 0,115,116,105,
+102,102,110,101,115,115, 95,107,110,101, 97,114, 0,114,101,115,116, 95,100,101,110,115,105,116,121, 0, 98,117,111,121, 97,110,
+ 99,121, 0,115,112,114,105,110,103, 95,102,114, 97,109,101,115, 0, 42, 98,111,105,100,115, 0, 42,102,108,117,105,100, 0,100,
+105,115,116,114, 0,112,104,121,115,116,121,112,101, 0, 97,118,101,109,111,100,101, 0,114,101, 97, 99,116,101,118,101,110,116,
+ 0,100,114, 97,119, 0,100,114, 97,119, 95, 97,115, 0,100,114, 97,119, 95,115,105,122,101, 0, 99,104,105,108,100,116,121,112,
+101, 0,114,101,110, 95, 97,115, 0,115,117, 98,102,114, 97,109,101,115, 0,100,114, 97,119, 95, 99,111,108, 0,114,101,110, 95,
+115,116,101,112, 0,104, 97,105,114, 95,115,116,101,112, 0,107,101,121,115, 95,115,116,101,112, 0, 97,100, 97,112,116, 95, 97,
+110,103,108,101, 0, 97,100, 97,112,116, 95,112,105,120, 0,114,111,116,102,114,111,109, 0,105,110,116,101,103,114, 97,116,111,
+114, 0, 98, 98, 95, 97,108,105,103,110, 0, 98, 98, 95,117,118, 95,115,112,108,105,116, 0, 98, 98, 95, 97,110,105,109, 0, 98,
+ 98, 95,115,112,108,105,116, 95,111,102,102,115,101,116, 0, 98, 98, 95,116,105,108,116, 0, 98, 98, 95,114, 97,110,100, 95,116,
+105,108,116, 0, 98, 98, 95,111,102,102,115,101,116, 91, 50, 93, 0, 98, 98, 95,115,105,122,101, 91, 50, 93, 0, 98, 98, 95,118,
+101,108, 95,104,101, 97,100, 0, 98, 98, 95,118,101,108, 95,116, 97,105,108, 0, 99,111,108,111,114, 95,118,101, 99, 95,109, 97,
+120, 0,115,105,109,112,108,105,102,121, 95,114,101,102,115,105,122,101, 0,115,105,109,112,108,105,102,121, 95,114, 97,116,101,
+ 0,115,105,109,112,108,105,102,121, 95,116,114, 97,110,115,105,116,105,111,110, 0,115,105,109,112,108,105,102,121, 95,118,105,
+101,119,112,111,114,116, 0,116,105,109,101,116,119,101, 97,107, 0,106,105,116,102, 97, 99, 0,101,102,102, 95,104, 97,105,114,
+ 0,103,114,105,100, 95,114, 97,110,100, 0,103,114,105,100, 95,114,101,115, 0,101,102,102,101, 99,116,111,114, 95, 97,109,111,
+117,110,116, 0,112, 97,114,116,102, 97, 99, 0,116, 97,110,102, 97, 99, 0,116, 97,110,112,104, 97,115,101, 0,114,101, 97, 99,
+116,102, 97, 99, 0,111, 98, 95,118,101,108, 91, 51, 93, 0, 97,118,101,102, 97, 99, 0,112,104, 97,115,101,102, 97, 99, 0,114,
+ 97,110,100,114,111,116,102, 97, 99, 0,114, 97,110,100,112,104, 97,115,101,102, 97, 99, 0,114, 97,110,100,115,105,122,101, 0,
+ 97, 99, 99, 91, 51, 93, 0,100,114, 97,103,102, 97, 99, 0, 98,114,111,119,110,102, 97, 99, 0,114, 97,110,100,108,101,110,103,
+116,104, 0, 99,104,105,108,100, 95,110, 98,114, 0,114,101,110, 95, 99,104,105,108,100, 95,110, 98,114, 0,112, 97,114,101,110,
+116,115, 0, 99,104,105,108,100,115,105,122,101, 0, 99,104,105,108,100,114, 97,110,100,115,105,122,101, 0, 99,104,105,108,100,
+114, 97,100, 0, 99,104,105,108,100,102,108, 97,116, 0, 99,108,117,109,112,112,111,119, 0,107,105,110,107, 95,102,108, 97,116,
+ 0,107,105,110,107, 95, 97,109,112, 95, 99,108,117,109,112, 0,114,111,117,103,104, 49, 0,114,111,117,103,104, 49, 95,115,105,
+122,101, 0,114,111,117,103,104, 50, 0,114,111,117,103,104, 50, 95,115,105,122,101, 0,114,111,117,103,104, 50, 95,116,104,114,
+101,115, 0,114,111,117,103,104, 95,101,110,100, 0,114,111,117,103,104, 95,101,110,100, 95,115,104, 97,112,101, 0, 99,108,101,
+110,103,116,104, 0, 99,108,101,110,103,116,104, 95,116,104,114,101,115, 0,112, 97,114,116,105,110,103, 95,102, 97, 99, 0,112,
+ 97,114,116,105,110,103, 95,109,105,110, 0,112, 97,114,116,105,110,103, 95,109, 97,120, 0, 98,114, 97,110, 99,104, 95,116,104,
+114,101,115, 0,100,114, 97,119, 95,108,105,110,101, 91, 50, 93, 0,112, 97,116,104, 95,115,116, 97,114,116, 0,112, 97,116,104,
+ 95,101,110,100, 0,116,114, 97,105,108, 95, 99,111,117,110,116, 0,107,101,121,101,100, 95,108,111,111,112,115, 0,100,117,112,
+108,105,119,101,105,103,104,116,115, 0, 42,101,102,102, 95,103,114,111,117,112, 0, 42,100,117,112, 95,111, 98, 0, 42, 98, 98,
+ 95,111, 98, 0, 42,112,100, 50, 0, 42,112, 97,114,116, 0, 42,112, 97,114,116,105, 99,108,101,115, 0, 42, 42,112, 97,116,104,
+ 99, 97, 99,104,101, 0, 42, 42, 99,104,105,108,100, 99, 97, 99,104,101, 0,112, 97,116,104, 99, 97, 99,104,101, 98,117,102,115,
+ 0, 99,104,105,108,100, 99, 97, 99,104,101, 98,117,102,115, 0, 42, 99,108,109,100, 0, 42,104, 97,105,114, 95,105,110, 95,100,
+109, 0, 42,104, 97,105,114, 95,111,117,116, 95,100,109, 0, 42,116, 97,114,103,101,116, 95,111, 98, 0, 42,108, 97,116,116,105,
+ 99,101, 0,116,114,101,101, 95,102,114, 97,109,101, 0, 98,118,104,116,114,101,101, 95,102,114, 97,109,101, 0, 99,104,105,108,
+100, 95,115,101,101,100, 0,116,111,116,117,110,101,120,105,115,116, 0,116,111,116, 99,104,105,108,100, 0,116,111,116, 99, 97,
+ 99,104,101,100, 0,116,111,116, 99,104,105,108,100, 99, 97, 99,104,101, 0,116, 97,114,103,101,116, 95,112,115,121,115, 0,116,
+111,116,107,101,121,101,100, 0, 98, 97,107,101,115,112, 97, 99,101, 0, 98, 98, 95,117,118,110, 97,109,101, 91, 51, 93, 91, 51,
+ 50, 93, 0,118,103,114,111,117,112, 91, 49, 50, 93, 0,118,103, 95,110,101,103, 0,114,116, 51, 0, 42,114,101,110,100,101,114,
+100, 97,116, 97, 0, 42,101,102,102,101, 99,116,111,114,115, 0, 42,102,108,117,105,100, 95,115,112,114,105,110,103,115, 0,116,
+111,116, 95,102,108,117,105,100,115,112,114,105,110,103,115, 0, 97,108,108,111, 99, 95,102,108,117,105,100,115,112,114,105,110,
+103,115, 0, 42,116,114,101,101, 0, 42,112,100,100, 0, 42,102,114, 97,110,100, 0, 67,100,105,115, 0, 67,118,105, 0,115,116,
+114,117, 99,116,117,114, 97,108, 0, 98,101,110,100,105,110,103, 0,109, 97,120, 95, 98,101,110,100, 0,109, 97,120, 95,115,116,
+114,117, 99,116, 0,109, 97,120, 95,115,104,101, 97,114, 0, 97,118,103, 95,115,112,114,105,110,103, 95,108,101,110, 0,116,105,
+109,101,115, 99, 97,108,101, 0,101,102,102, 95,102,111,114, 99,101, 95,115, 99, 97,108,101, 0,101,102,102, 95,119,105,110,100,
+ 95,115, 99, 97,108,101, 0,115,105,109, 95,116,105,109,101, 95,111,108,100, 0,118,101,108,111, 99,105,116,121, 95,115,109,111,
+111,116,104, 0, 99,111,108,108,105,100,101,114, 95,102,114,105, 99,116,105,111,110, 0,115,116,101,112,115, 80,101,114, 70,114,
+ 97,109,101, 0,112,114,101,114,111,108,108, 0,109, 97,120,115,112,114,105,110,103,108,101,110, 0,115,111,108,118,101,114, 95,
+116,121,112,101, 0,118,103,114,111,117,112, 95, 98,101,110,100, 0,118,103,114,111,117,112, 95,109, 97,115,115, 0,118,103,114,
+111,117,112, 95,115,116,114,117, 99,116, 0,115,104, 97,112,101,107,101,121, 95,114,101,115,116, 0,112,114,101,115,101,116,115,
+ 0,114,101,115,101,116, 0, 42, 99,111,108,108,105,115,105,111,110, 95,108,105,115,116, 0,101,112,115,105,108,111,110, 0,115,
+101,108,102, 95,102,114,105, 99,116,105,111,110, 0,115,101,108,102,101,112,115,105,108,111,110, 0,114,101,112,101,108, 95,102,
+111,114, 99,101, 0,100,105,115,116, 97,110, 99,101, 95,114,101,112,101,108, 0,115,101,108,102, 95,108,111,111,112, 95, 99,111,
+117,110,116, 0,108,111,111,112, 95, 99,111,117,110,116, 0,112,114,101,115,115,117,114,101, 0,116,104,105, 99,107,110,101,115,
+115, 0,115,116,114,111,107,101,115, 0,102,114, 97,109,101,110,117,109, 0, 42, 97, 99,116,102,114, 97,109,101, 0,103,115,116,
+101,112, 0,105,110,102,111, 91, 49, 50, 56, 93, 0,115, 98,117,102,102,101,114, 95,115,105,122,101, 0,115, 98,117,102,102,101,
+114, 95,115,102,108, 97,103, 0, 42,115, 98,117,102,102,101,114, 0,108,105,115,116, 0,112,114,105,110,116,108,101,118,101,108,
+ 0,115,116,111,114,101,108,101,118,101,108, 0, 42,114,101,112,111,114,116,116,105,109,101,114, 0, 42,119,105,110,100,114, 97,
+119, 97, 98,108,101, 0, 42,119,105,110, 97, 99,116,105,118,101, 0,119,105,110,100,111,119,115, 0,105,110,105,116,105, 97,108,
+105,122,101,100, 0,102,105,108,101, 95,115, 97,118,101,100, 0,111,112, 95,117,110,100,111, 95,100,101,112,116,104, 0,111,112,
+101,114, 97,116,111,114,115, 0,113,117,101,117,101, 0,114,101,112,111,114,116,115, 0,106,111, 98,115, 0,112, 97,105,110,116,
+ 99,117,114,115,111,114,115, 0,100,114, 97,103,115, 0,107,101,121, 99,111,110,102,105,103,115, 0, 42,100,101,102, 97,117,108,
+116, 99,111,110,102, 0,116,105,109,101,114,115, 0, 42, 97,117,116,111,115, 97,118,101,116,105,109,101,114, 0, 42,103,104,111,
+115,116,119,105,110, 0,103,114, 97, 98, 99,117,114,115,111,114, 0, 42,115, 99,114,101,101,110, 0, 42,110,101,119,115, 99,114,
+101,101,110, 0,115, 99,114,101,101,110,110, 97,109,101, 91, 51, 50, 93, 0,112,111,115,120, 0,112,111,115,121, 0,119,105,110,
+100,111,119,115,116, 97,116,101, 0,109,111,110,105,116,111,114, 0,108, 97,115,116, 99,117,114,115,111,114, 0,109,111,100, 97,
+108, 99,117,114,115,111,114, 0, 97,100,100,109,111,117,115,101,109,111,118,101, 0, 42,101,118,101,110,116,115,116, 97,116,101,
+ 0, 42, 99,117,114,115,119,105,110, 0, 42,116,119,101, 97,107, 0,100,114, 97,119,109,101,116,104,111,100, 0,100,114, 97,119,
+102, 97,105,108, 0, 42,100,114, 97,119,100, 97,116, 97, 0,109,111,100, 97,108,104, 97,110,100,108,101,114,115, 0,115,117, 98,
+119,105,110,100,111,119,115, 0,103,101,115,116,117,114,101, 0,105,100,110, 97,109,101, 91, 54, 52, 93, 0,112,114,111,112,118,
+ 97,108,117,101, 0,115,104,105,102,116, 0, 99,116,114,108, 0, 97,108,116, 0,111,115,107,101,121, 0,107,101,121,109,111,100,
+105,102,105,101,114, 0,109, 97,112,116,121,112,101, 0, 42,112,116,114, 0,105,116,101,109,115, 0,115,112, 97, 99,101,105,100,
+ 0,114,101,103,105,111,110,105,100, 0,107,109,105, 95,105,100, 0, 40, 42,112,111,108,108, 41, 40, 41, 0, 42,109,111,100, 97,
+108, 95,105,116,101,109,115, 0, 98, 97,115,101,110, 97,109,101, 91, 54, 52, 93, 0, 97, 99,116,107,101,121,109, 97,112, 0, 42,
+ 99,117,115,116,111,109,100, 97,116, 97, 0, 42,112,121, 95,105,110,115,116, 97,110, 99,101, 0, 42,114,101,112,111,114,116,115,
+ 0,109, 97, 99,114,111, 0, 42,111,112,109, 0, 42,101,100, 97,116, 97, 0,105,110,102,108,117,101,110, 99,101, 0, 42, 99,111,
+101,102,102,105, 99,105,101,110,116,115, 0, 97,114,114, 97,121,115,105,122,101, 0,112,111,108,121, 95,111,114,100,101,114, 0,
+ 97,109,112,108,105,116,117,100,101, 0,112,104, 97,115,101, 95,109,117,108,116,105,112,108,105,101,114, 0,112,104, 97,115,101,
+ 95,111,102,102,115,101,116, 0,118, 97,108,117,101, 95,111,102,102,115,101,116, 0,109,105,100,118, 97,108, 0, 98,101,102,111,
+114,101, 95,109,111,100,101, 0, 97,102,116,101,114, 95,109,111,100,101, 0, 98,101,102,111,114,101, 95, 99,121, 99,108,101,115,
+ 0, 97,102,116,101,114, 95, 99,121, 99,108,101,115, 0,114,101, 99,116, 0,112,104, 97,115,101, 0,109,111,100,105,102,105, 99,
+ 97,116,105,111,110, 0,115,116,101,112, 95,115,105,122,101, 0, 42,114,110, 97, 95,112, 97,116,104, 0,112, 99,104, 97,110, 95,
+110, 97,109,101, 91, 51, 50, 93, 0,116,114, 97,110,115, 67,104, 97,110, 0,105,100,116,121,112,101, 0,116, 97,114,103,101,116,
+115, 91, 56, 93, 0,110,117,109, 95,116, 97,114,103,101,116,115, 0,118, 97,114,105, 97, 98,108,101,115, 0,101,120,112,114,101,
+115,115,105,111,110, 91, 50, 53, 54, 93, 0, 42,101,120,112,114, 95, 99,111,109,112, 0,118,101, 99, 91, 50, 93, 0, 42,102,112,
+116, 0, 97,114,114, 97,121, 95,105,110,100,101,120, 0, 99,111,108,111,114, 95,109,111,100,101, 0, 99,111,108,111,114, 91, 51,
+ 93, 0,102,114,111,109, 91, 49, 50, 56, 93, 0,116,111, 91, 49, 50, 56, 93, 0,109, 97,112,112,105,110,103,115, 0,115,116,114,
+105,112,115, 0, 42,114,101,109, 97,112, 0,102, 99,117,114,118,101,115, 0,115,116,114,105,112, 95,116,105,109,101, 0, 98,108,
+101,110,100,109,111,100,101, 0,101,120,116,101,110,100,109,111,100,101, 0,103,114,111,117,112, 91, 54, 52, 93, 0,103,114,111,
+117,112,109,111,100,101, 0,107,101,121,105,110,103,102,108, 97,103, 0,112, 97,116,104,115, 0,116,121,112,101,105,110,102,111,
+ 91, 54, 52, 93, 0, 97, 99,116,105,118,101, 95,112, 97,116,104, 0, 42,116,109,112, 97, 99,116, 0,110,108, 97, 95,116,114, 97,
+ 99,107,115, 0, 42, 97, 99,116,115,116,114,105,112, 0,100,114,105,118,101,114,115, 0,111,118,101,114,114,105,100,101,115, 0,
+ 97, 99,116, 95, 98,108,101,110,100,109,111,100,101, 0, 97, 99,116, 95,101,120,116,101,110,100,109,111,100,101, 0, 97, 99,116,
+ 95,105,110,102,108,117,101,110, 99,101, 0,114,117,108,101, 0,111,112,116,105,111,110,115, 0,102,101, 97,114, 95,102, 97, 99,
+116,111,114, 0,115,105,103,110, 97,108, 95,105,100, 0,108,111,111,107, 95, 97,104,101, 97,100, 0,111,108,111, 99, 91, 51, 93,
+ 0,113,117,101,117,101, 95,115,105,122,101, 0,119, 97,110,100,101,114, 0,102,108,101,101, 95,100,105,115,116, 97,110, 99,101,
+ 0,104,101, 97,108,116,104, 0,115,116, 97,116,101, 95,105,100, 0,114,117,108,101,115, 0, 99,111,110,100,105,116,105,111,110,
+115, 0, 97, 99,116,105,111,110,115, 0,114,117,108,101,115,101,116, 95,116,121,112,101, 0,114,117,108,101, 95,102,117,122,122,
+105,110,101,115,115, 0,108, 97,115,116, 95,115,116, 97,116,101, 95,105,100, 0,108, 97,110,100,105,110,103, 95,115,109,111,111,
+116,104,110,101,115,115, 0, 98, 97,110,107,105,110,103, 0, 97,103,103,114,101,115,115,105,111,110, 0, 97,105,114, 95,109,105,
+110, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95,115,112,101,101,100, 0, 97,105,114, 95,109, 97,120, 95, 97, 99,
+ 99, 0, 97,105,114, 95,109, 97,120, 95, 97,118,101, 0, 97,105,114, 95,112,101,114,115,111,110, 97,108, 95,115,112, 97, 99,101,
+ 0,108, 97,110,100, 95,106,117,109,112, 95,115,112,101,101,100, 0,108, 97,110,100, 95,109, 97,120, 95,115,112,101,101,100, 0,
+108, 97,110,100, 95,109, 97,120, 95, 97, 99, 99, 0,108, 97,110,100, 95,109, 97,120, 95, 97,118,101, 0,108, 97,110,100, 95,112,
+101,114,115,111,110, 97,108, 95,115,112, 97, 99,101, 0,108, 97,110,100, 95,115,116,105, 99,107, 95,102,111,114, 99,101, 0,115,
+116, 97,116,101,115, 0, 42,115,109,100, 0, 42,102,108,117,105,100, 95,103,114,111,117,112, 0, 42, 99,111,108,108, 95,103,114,
+111,117,112, 0, 42,119,116, 0, 42,116,101,120, 95,119,116, 0, 42,116,101,120, 95,115,104, 97,100,111,119, 0, 42,115,104, 97,
+100,111,119, 0,112, 48, 91, 51, 93, 0,112, 49, 91, 51, 93, 0,100,120, 0,111,109,101,103, 97, 0,116,101,109,112, 65,109, 98,
+ 0, 98,101,116, 97, 0,114,101,115, 91, 51, 93, 0, 97,109,112,108,105,102,121, 0,109, 97,120,114,101,115, 0,118,105,101,119,
+115,101,116,116,105,110,103,115, 0,110,111,105,115,101, 0,100,105,115,115, 95,112,101,114, 99,101,110,116, 0,100,105,115,115,
+ 95,115,112,101,101,100, 0,114,101,115, 95,119,116, 91, 51, 93, 0,100,120, 95,119,116, 0,118, 51,100,110,117,109, 0, 99, 97,
+ 99,104,101, 95, 99,111,109,112, 0, 99, 97, 99,104,101, 95,104,105,103,104, 95, 99,111,109,112, 0, 42,112,111,105,110,116, 95,
+ 99, 97, 99,104,101, 91, 50, 93, 0,112,116, 99, 97, 99,104,101,115, 91, 50, 93, 0, 98,111,114,100,101,114, 95, 99,111,108,108,
+105,115,105,111,110,115, 0,116,105,109,101, 95,115, 99, 97,108,101, 0,118,111,114,116,105, 99,105,116,121, 0,118,101,108,111,
+ 99,105,116,121, 91, 50, 93, 0,118,101,108, 95,109,117,108,116,105, 0,118,103,114,112, 95,104,101, 97,116, 95,115, 99, 97,108,
+101, 91, 50, 93, 0,118,103,114,111,117,112, 95,102,108,111,119, 0,118,103,114,111,117,112, 95,100,101,110,115,105,116,121, 0,
+118,103,114,111,117,112, 95,104,101, 97,116, 0, 42,112,111,105,110,116,115, 95,111,108,100, 0, 42,118,101,108, 0,109, 97,116,
+ 95,111,108,100, 91, 52, 93, 91, 52, 93, 0, 0, 84, 89, 80, 69,206, 1, 0, 0, 99,104, 97,114, 0,117, 99,104, 97,114, 0,115,
+104,111,114,116, 0,117,115,104,111,114,116, 0,105,110,116, 0,108,111,110,103, 0,117,108,111,110,103, 0,102,108,111, 97,116,
+ 0,100,111,117, 98,108,101, 0,118,111,105,100, 0, 76,105,110,107, 0, 76,105,110,107, 68, 97,116, 97, 0, 76,105,115,116, 66,
+ 97,115,101, 0,118,101, 99, 50,115, 0,118,101, 99, 50,102, 0,114, 99,116,105, 0,114, 99,116,102, 0, 73, 68, 80,114,111,112,
+101,114,116,121, 68, 97,116, 97, 0, 73, 68, 80,114,111,112,101,114,116,121, 0, 73, 68, 0, 76,105, 98,114, 97,114,121, 0, 70,
+105,108,101, 68, 97,116, 97, 0, 80,114,101,118,105,101,119, 73,109, 97,103,101, 0, 73,112,111, 68,114,105,118,101,114, 0, 79,
+ 98,106,101, 99,116, 0, 73,112,111, 67,117,114,118,101, 0, 66, 80,111,105,110,116, 0, 66,101,122, 84,114,105,112,108,101, 0,
+ 73,112,111, 0, 75,101,121, 66,108,111, 99,107, 0, 75,101,121, 0, 65,110,105,109, 68, 97,116, 97, 0, 84,101,120,116, 76,105,
+110,101, 0, 84,101,120,116, 77, 97,114,107,101,114, 0, 84,101,120,116, 0, 80, 97, 99,107,101,100, 70,105,108,101, 0, 67, 97,
+109,101,114, 97, 0, 73,109, 97,103,101, 85,115,101,114, 0, 83, 99,101,110,101, 0, 73,109, 97,103,101, 0, 71, 80, 85, 84,101,
+120,116,117,114,101, 0, 97,110,105,109, 0, 82,101,110,100,101,114, 82,101,115,117,108,116, 0, 77, 84,101,120, 0, 84,101,120,
+ 0, 80,108,117,103,105,110, 84,101,120, 0, 67, 66, 68, 97,116, 97, 0, 67,111,108,111,114, 66, 97,110,100, 0, 69,110,118, 77,
+ 97,112, 0, 73,109, 66,117,102, 0, 80,111,105,110,116, 68,101,110,115,105,116,121, 0, 67,117,114,118,101, 77, 97,112,112,105,
+110,103, 0, 86,111,120,101,108, 68, 97,116, 97, 0, 98, 78,111,100,101, 84,114,101,101, 0, 84,101,120, 77, 97,112,112,105,110,
+103, 0, 76, 97,109,112, 0, 86,111,108,117,109,101, 83,101,116,116,105,110,103,115, 0, 77, 97,116,101,114,105, 97,108, 0, 71,
+114,111,117,112, 0, 86, 70,111,110,116, 0, 86, 70,111,110,116, 68, 97,116, 97, 0, 77,101,116, 97, 69,108,101,109, 0, 66,111,
+117,110,100, 66,111,120, 0, 77,101,116, 97, 66, 97,108,108, 0, 78,117,114, 98, 0, 67,104, 97,114, 73,110,102,111, 0, 84,101,
+120,116, 66,111,120, 0, 69,100,105,116, 78,117,114, 98, 0, 71, 72, 97,115,104, 0, 67,117,114,118,101, 0, 80, 97,116,104, 0,
+ 83,101,108, 66,111,120, 0, 69,100,105,116, 70,111,110,116, 0, 77,101,115,104, 0, 77, 70, 97, 99,101, 0, 77, 84, 70, 97, 99,
+101, 0, 84, 70, 97, 99,101, 0, 77, 86,101,114,116, 0, 77, 69,100,103,101, 0, 77, 68,101,102,111,114,109, 86,101,114,116, 0,
+ 77, 67,111,108, 0, 77, 83,116,105, 99,107,121, 0, 77, 83,101,108,101, 99,116, 0, 69,100,105,116, 77,101,115,104, 0, 67,117,
+115,116,111,109, 68, 97,116, 97, 0, 77,117,108,116,105,114,101,115, 0, 80, 97,114,116,105, 97,108, 86,105,115,105, 98,105,108,
+105,116,121, 0, 77, 68,101,102,111,114,109, 87,101,105,103,104,116, 0, 77, 84,101,120, 80,111,108,121, 0, 77, 76,111,111,112,
+ 85, 86, 0, 77, 76,111,111,112, 67,111,108, 0, 77, 70,108,111, 97,116, 80,114,111,112,101,114,116,121, 0, 77, 73,110,116, 80,
+114,111,112,101,114,116,121, 0, 77, 83,116,114,105,110,103, 80,114,111,112,101,114,116,121, 0, 79,114,105,103, 83,112, 97, 99,
+101, 70, 97, 99,101, 0, 77, 68,105,115,112,115, 0, 77,117,108,116,105,114,101,115, 67,111,108, 0, 77,117,108,116,105,114,101,
+115, 67,111,108, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 70, 97, 99,101, 0, 77,117,108,116,105,114,101,115, 69,100,
+103,101, 0, 77,117,108,116,105,114,101,115, 76,101,118,101,108, 0, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 97,
+112,112,105,110,103, 73,110,102,111, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,117, 98,115,117,114,102, 77,111,100,
+105,102,105,101,114, 68, 97,116, 97, 0, 76, 97,116,116,105, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,117,
+114,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,117,105,108,100, 77,111,100,105,102,105,101,114, 68, 97,116,
+ 97, 0, 77, 97,115,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,114, 97,121, 77,111,100,105,102,105,101,114,
+ 68, 97,116, 97, 0, 77,105,114,114,111,114, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,103,101, 83,112,108,105,
+116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 66,101,118,101,108, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
+ 66, 77,101,115,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,107,101, 77,111,100,105,102,105,101,114, 68,
+ 97,116, 97, 0, 83,109,111,107,101, 68,111,109, 97,105,110, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 70,108,111,
+119, 83,101,116,116,105,110,103,115, 0, 83,109,111,107,101, 67,111,108,108, 83,101,116,116,105,110,103,115, 0, 68,105,115,112,
+108, 97, 99,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 85, 86, 80,114,111,106,101, 99,116, 77,111,100,105,102,105,
+101,114, 68, 97,116, 97, 0, 68,101, 99,105,109, 97,116,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,109,111,111,
+116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67, 97,115,116, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0,
+ 87, 97,118,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 65,114,109, 97,116,117,114,101, 77,111,100,105,102,105,101,
+114, 68, 97,116, 97, 0, 72,111,111,107, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,102,116, 98,111,100,121, 77,
+111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,111,116,104, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 67,108,
+111,116,104, 0, 67,108,111,116,104, 83,105,109, 83,101,116,116,105,110,103,115, 0, 67,108,111,116,104, 67,111,108,108, 83,101,
+116,116,105,110,103,115, 0, 80,111,105,110,116, 67, 97, 99,104,101, 0, 67,111,108,108,105,115,105,111,110, 77,111,100,105,102,
+105,101,114, 68, 97,116, 97, 0, 66, 86, 72, 84,114,101,101, 0, 83,117,114,102, 97, 99,101, 77,111,100,105,102,105,101,114, 68,
+ 97,116, 97, 0, 68,101,114,105,118,101,100, 77,101,115,104, 0, 66, 86, 72, 84,114,101,101, 70,114,111,109, 77,101,115,104, 0,
+ 66,111,111,108,101, 97,110, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77, 68,101,102, 73,110,102,108,117,101,110, 99,
+101, 0, 77, 68,101,102, 67,101,108,108, 0, 77,101,115,104, 68,101,102,111,114,109, 77,111,100,105,102,105,101,114, 68, 97,116,
+ 97, 0, 80, 97,114,116,105, 99,108,101, 83,121,115,116,101,109, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 80, 97,114,
+116,105, 99,108,101, 83,121,115,116,101,109, 0, 80, 97,114,116,105, 99,108,101, 73,110,115,116, 97,110, 99,101, 77,111,100,105,
+102,105,101,114, 68, 97,116, 97, 0, 69,120,112,108,111,100,101, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 77,117,108,
+116,105,114,101,115, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 77,111,100,105,102,105,
+101,114, 68, 97,116, 97, 0, 70,108,117,105,100,115,105,109, 83,101,116,116,105,110,103,115, 0, 83,104,114,105,110,107,119,114,
+ 97,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,105,109,112,108,101, 68,101,102,111,114,109, 77,111,100,105,102,
+105,101,114, 68, 97,116, 97, 0, 83,104, 97,112,101, 75,101,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83,111,108,
+105,100,105,102,121, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 83, 99,114,101,119, 77,111,100,105,102,105,101,114, 68,
+ 97,116, 97, 0, 87, 97,114,112, 77,111,100,105,102,105,101,114, 68, 97,116, 97, 0, 69,100,105,116, 76, 97,116,116, 0, 76, 97,
+116,116,105, 99,101, 0, 98, 68,101,102,111,114,109, 71,114,111,117,112, 0, 83, 99,117,108,112,116, 83,101,115,115,105,111,110,
+ 0, 98, 65, 99,116,105,111,110, 0, 98, 80,111,115,101, 0, 98, 71, 80,100, 97,116, 97, 0, 98, 65,110,105,109, 86,105,122, 83,
+101,116,116,105,110,103,115, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 0, 66,117,108,108,101,116, 83,111,102,116, 66,111,
+100,121, 0, 80, 97,114,116, 68,101,102,108,101, 99,116, 0, 83,111,102,116, 66,111,100,121, 0, 79, 98, 72,111,111,107, 0, 68,
+117,112,108,105, 79, 98,106,101, 99,116, 0, 82, 78, 71, 0, 69,102,102,101, 99,116,111,114, 87,101,105,103,104,116,115, 0, 80,
+ 84, 67, 97, 99,104,101, 69,120,116,114, 97, 0, 80, 84, 67, 97, 99,104,101, 77,101,109, 0, 80, 84, 67, 97, 99,104,101, 69,100,
+105,116, 0, 83, 66, 86,101,114,116,101,120, 0, 66,111,100,121, 80,111,105,110,116, 0, 66,111,100,121, 83,112,114,105,110,103,
+ 0, 83, 66, 83, 99,114, 97,116, 99,104, 0, 70,108,117,105,100, 86,101,114,116,101,120, 86,101,108,111, 99,105,116,121, 0, 87,
+111,114,108,100, 0, 66, 97,115,101, 0, 65,118,105, 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101,
+ 67,111,100,101, 99, 68, 97,116, 97, 0, 81,117,105, 99,107,116,105,109,101, 67,111,100,101, 99, 83,101,116,116,105,110,103,115,
+ 0, 70, 70, 77,112,101,103, 67,111,100,101, 99, 68, 97,116, 97, 0, 65,117,100,105,111, 68, 97,116, 97, 0, 83, 99,101,110,101,
+ 82,101,110,100,101,114, 76, 97,121,101,114, 0, 82,101,110,100,101,114, 68, 97,116, 97, 0, 82,101,110,100,101,114, 80,114,111,
+102,105,108,101, 0, 71, 97,109,101, 68,111,109,101, 0, 71, 97,109,101, 70,114, 97,109,105,110,103, 0, 71, 97,109,101, 68, 97,
+116, 97, 0, 84,105,109,101, 77, 97,114,107,101,114, 0, 80, 97,105,110,116, 0, 66,114,117,115,104, 0, 73,109, 97,103,101, 80,
+ 97,105,110,116, 83,101,116,116,105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 66,114,117,115,104, 68, 97,116, 97, 0, 80,
+ 97,114,116,105, 99,108,101, 69,100,105,116, 83,101,116,116,105,110,103,115, 0, 84,114, 97,110,115,102,111,114,109, 79,114,105,
+101,110,116, 97,116,105,111,110, 0, 83, 99,117,108,112,116, 0, 86, 80, 97,105,110,116, 0, 84,111,111,108, 83,101,116,116,105,
+110,103,115, 0, 98, 83,116, 97,116,115, 0, 85,110,105,116, 83,101,116,116,105,110,103,115, 0, 80,104,121,115,105, 99,115, 83,
+101,116,116,105,110,103,115, 0, 69,100,105,116,105,110,103, 0, 83, 99,101,110,101, 83,116, 97,116,115, 0, 68, 97,103, 70,111,
+114,101,115,116, 0, 66, 71,112,105, 99, 0, 82,101,103,105,111,110, 86,105,101,119, 51, 68, 0, 82,101,110,100,101,114, 73,110,
+102,111, 0, 86,105,101,119, 68,101,112,116,104,115, 0, 83,109,111,111,116,104, 86,105,101,119, 83,116,111,114,101, 0,119,109,
+ 84,105,109,101,114, 0, 86,105,101,119, 51, 68, 0, 83,112, 97, 99,101, 76,105,110,107, 0, 86,105,101,119, 50, 68, 0, 83,112,
+ 97, 99,101, 73,110,102,111, 0, 83,112, 97, 99,101, 73,112,111, 0, 98, 68,111,112,101, 83,104,101,101,116, 0, 83,112, 97, 99,
+101, 66,117,116,115, 0, 83,112, 97, 99,101, 83,101,113, 0, 70,105,108,101, 83,101,108,101, 99,116, 80, 97,114, 97,109,115, 0,
+ 83,112, 97, 99,101, 70,105,108,101, 0, 70,105,108,101, 76,105,115,116, 0,119,109, 79,112,101,114, 97,116,111,114, 0, 70,105,
+108,101, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 79,111,112,115, 0, 84,114,101,101, 83,116,111,114,101, 0, 84,114,101,
+101, 83,116,111,114,101, 69,108,101,109, 0, 83,112, 97, 99,101, 73,109, 97,103,101, 0, 83, 99,111,112,101,115, 0, 72,105,115,
+116,111,103,114, 97,109, 0, 83,112, 97, 99,101, 78,108, 97, 0, 83,112, 97, 99,101, 84,101,120,116, 0, 83, 99,114,105,112,116,
+ 0, 83,112, 97, 99,101, 83, 99,114,105,112,116, 0, 83,112, 97, 99,101, 84,105,109,101, 67, 97, 99,104,101, 0, 83,112, 97, 99,
+101, 84,105,109,101, 0, 83,112, 97, 99,101, 78,111,100,101, 0, 83,112, 97, 99,101, 76,111,103,105, 99, 0, 83,112, 97, 99,101,
+ 73,109, 97, 83,101,108, 0, 67,111,110,115,111,108,101, 76,105,110,101, 0, 83,112, 97, 99,101, 67,111,110,115,111,108,101, 0,
+ 83,112, 97, 99,101, 85,115,101,114, 80,114,101,102, 0, 83,112, 97, 99,101, 83,111,117,110,100, 0, 83, 99,114, 65,114,101, 97,
+ 0, 98, 83,111,117,110,100, 0,117,105, 70,111,110,116, 0,117,105, 70,111,110,116, 83,116,121,108,101, 0,117,105, 83,116,121,
+108,101, 0,117,105, 87,105,100,103,101,116, 67,111,108,111,114,115, 0,117,105, 87,105,100,103,101,116, 83,116, 97,116,101, 67,
+111,108,111,114,115, 0, 84,104,101,109,101, 85, 73, 0, 84,104,101,109,101, 83,112, 97, 99,101, 0, 84,104,101,109,101, 87,105,
+114,101, 67,111,108,111,114, 0, 98, 84,104,101,109,101, 0, 98, 65,100,100,111,110, 0, 83,111,108,105,100, 76,105,103,104,116,
+ 0, 85,115,101,114, 68,101,102, 0, 98, 83, 99,114,101,101,110, 0, 83, 99,114, 86,101,114,116, 0, 83, 99,114, 69,100,103,101,
+ 0, 80, 97,110,101,108, 0, 80, 97,110,101,108, 84,121,112,101, 0,117,105, 76, 97,121,111,117,116, 0, 83,112, 97, 99,101, 84,
+121,112,101, 0, 65, 82,101,103,105,111,110, 0, 65, 82,101,103,105,111,110, 84,121,112,101, 0, 70,105,108,101, 71,108,111, 98,
+ 97,108, 0, 83,116,114,105,112, 69,108,101,109, 0, 83,116,114,105,112, 67,114,111,112, 0, 83,116,114,105,112, 84,114, 97,110,
+115,102,111,114,109, 0, 83,116,114,105,112, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 83,116,114,105,112, 80,114,111,
+120,121, 0, 83,116,114,105,112, 0, 80,108,117,103,105,110, 83,101,113, 0, 83,101,113,117,101,110, 99,101, 0, 77,101,116, 97,
+ 83,116, 97, 99,107, 0, 87,105,112,101, 86, 97,114,115, 0, 71,108,111,119, 86, 97,114,115, 0, 84,114, 97,110,115,102,111,114,
+109, 86, 97,114,115, 0, 83,111,108,105,100, 67,111,108,111,114, 86, 97,114,115, 0, 84,105,116,108,101, 67, 97,114,100, 86, 97,
+114,115, 0, 83,112,101,101,100, 67,111,110,116,114,111,108, 86, 97,114,115, 0, 69,102,102,101, 99,116, 0, 66,117,105,108,100,
+ 69,102,102, 0, 80, 97,114,116, 69,102,102, 0, 80, 97,114,116,105, 99,108,101, 0, 87, 97,118,101, 69,102,102, 0, 98, 80,114,
+111,112,101,114,116,121, 0, 98, 78,101, 97,114, 83,101,110,115,111,114, 0, 98, 77,111,117,115,101, 83,101,110,115,111,114, 0,
+ 98, 84,111,117, 99,104, 83,101,110,115,111,114, 0, 98, 75,101,121, 98,111, 97,114,100, 83,101,110,115,111,114, 0, 98, 80,114,
+111,112,101,114,116,121, 83,101,110,115,111,114, 0, 98, 65, 99,116,117, 97,116,111,114, 83,101,110,115,111,114, 0, 98, 68,101,
+108, 97,121, 83,101,110,115,111,114, 0, 98, 67,111,108,108,105,115,105,111,110, 83,101,110,115,111,114, 0, 98, 82, 97,100, 97,
+114, 83,101,110,115,111,114, 0, 98, 82, 97,110,100,111,109, 83,101,110,115,111,114, 0, 98, 82, 97,121, 83,101,110,115,111,114,
+ 0, 98, 65,114,109, 97,116,117,114,101, 83,101,110,115,111,114, 0, 98, 77,101,115,115, 97,103,101, 83,101,110,115,111,114, 0,
+ 98, 83,101,110,115,111,114, 0, 98, 67,111,110,116,114,111,108,108,101,114, 0, 98, 74,111,121,115,116,105, 99,107, 83,101,110,
+115,111,114, 0, 98, 69,120,112,114,101,115,115,105,111,110, 67,111,110,116, 0, 98, 80,121,116,104,111,110, 67,111,110,116, 0,
+ 98, 65, 99,116,117, 97,116,111,114, 0, 98, 65,100,100, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 65, 99,
+116,105,111,110, 65, 99,116,117, 97,116,111,114, 0, 83,111,117,110,100, 51, 68, 0, 98, 83,111,117,110,100, 65, 99,116,117, 97,
+116,111,114, 0, 98, 69,100,105,116, 79, 98,106,101, 99,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83, 99,101,110,101, 65, 99,
+116,117, 97,116,111,114, 0, 98, 80,114,111,112,101,114,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 79, 98,106,101, 99,116,
+ 65, 99,116,117, 97,116,111,114, 0, 98, 73,112,111, 65, 99,116,117, 97,116,111,114, 0, 98, 67, 97,109,101,114, 97, 65, 99,116,
+117, 97,116,111,114, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 71,114,111,117,112,
+ 65, 99,116,117, 97,116,111,114, 0, 98, 82, 97,110,100,111,109, 65, 99,116,117, 97,116,111,114, 0, 98, 77,101,115,115, 97,103,
+101, 65, 99,116,117, 97,116,111,114, 0, 98, 71, 97,109,101, 65, 99,116,117, 97,116,111,114, 0, 98, 86,105,115,105, 98,105,108,
+105,116,121, 65, 99,116,117, 97,116,111,114, 0, 98, 84,119,111, 68, 70,105,108,116,101,114, 65, 99,116,117, 97,116,111,114, 0,
+ 98, 80, 97,114,101,110,116, 65, 99,116,117, 97,116,111,114, 0, 98, 83,116, 97,116,101, 65, 99,116,117, 97,116,111,114, 0, 98,
+ 65,114,109, 97,116,117,114,101, 65, 99,116,117, 97,116,111,114, 0, 71,114,111,117,112, 79, 98,106,101, 99,116, 0, 66,111,110,
+101, 0, 98, 65,114,109, 97,116,117,114,101, 0, 98, 77,111,116,105,111,110, 80, 97,116,104, 86,101,114,116, 0, 98, 80,111,115,
+101, 67,104, 97,110,110,101,108, 0, 98, 73, 75, 80, 97,114, 97,109, 0, 98, 73,116, 97,115, 99, 0, 98, 65, 99,116,105,111,110,
+ 71,114,111,117,112, 0, 83,112, 97, 99,101, 65, 99,116,105,111,110, 0, 98, 65, 99,116,105,111,110, 67,104, 97,110,110,101,108,
+ 0, 98, 67,111,110,115,116,114, 97,105,110,116, 67,104, 97,110,110,101,108, 0, 98, 67,111,110,115,116,114, 97,105,110,116, 0,
+ 98, 67,111,110,115,116,114, 97,105,110,116, 84, 97,114,103,101,116, 0, 98, 80,121,116,104,111,110, 67,111,110,115,116,114, 97,
+105,110,116, 0, 98, 75,105,110,101,109, 97,116,105, 99, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,112,108,105,110,101,
+ 73, 75, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97, 99,107, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0,
+ 98, 82,111,116, 97,116,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 97,116,101, 76,105,107,
+101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,107,101, 67,111,110,115,116,114, 97,105,110,116, 0,
+ 98, 83, 97,109,101, 86,111,108,117,109,101, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 84,114, 97,110,115, 76,105,107,101,
+ 67,111,110,115,116,114, 97,105,110,116, 0, 98, 77,105,110, 77, 97,120, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,
+116,105,111,110, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99,107, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,
+105,110,116, 0, 98, 68, 97,109,112, 84,114, 97, 99,107, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 70,111,108,108,111,119,
+ 80, 97,116,104, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,116,114,101,116, 99,104, 84,111, 67,111,110,115,116,114, 97,
+105,110,116, 0, 98, 82,105,103,105,100, 66,111,100,121, 74,111,105,110,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,
+108, 97,109,112, 84,111, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 67,104,105,108,100, 79,102, 67,111,110,115,116,114, 97,
+105,110,116, 0, 98, 84,114, 97,110,115,102,111,114,109, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 80,105,118,111,116, 67,
+111,110,115,116,114, 97,105,110,116, 0, 98, 76,111, 99, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 82,
+111,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,105,122,101, 76,105,109,105,116, 67,111,110,115,
+116,114, 97,105,110,116, 0, 98, 68,105,115,116, 76,105,109,105,116, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 83,104,114,
+105,110,107,119,114, 97,112, 67,111,110,115,116,114, 97,105,110,116, 0, 98, 65, 99,116,105,111,110, 77,111,100,105,102,105,101,
+114, 0, 98, 65, 99,116,105,111,110, 83,116,114,105,112, 0, 98, 78,111,100,101, 83,116, 97, 99,107, 0, 98, 78,111,100,101, 83,
+111, 99,107,101,116, 0, 98, 78,111,100,101, 76,105,110,107, 0, 98, 78,111,100,101, 80,114,101,118,105,101,119, 0, 98, 78,111,
+100,101, 0,117,105, 66,108,111, 99,107, 0, 98, 78,111,100,101, 84,121,112,101, 0, 78,111,100,101, 73,109, 97,103,101, 65,110,
+105,109, 0, 78,111,100,101, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 68, 66,108,117,114, 68, 97,116, 97, 0, 78,111,
+100,101, 66,105,108, 97,116,101,114, 97,108, 66,108,117,114, 68, 97,116, 97, 0, 78,111,100,101, 72,117,101, 83, 97,116, 0, 78,
+111,100,101, 73,109, 97,103,101, 70,105,108,101, 0, 78,111,100,101, 67,104,114,111,109, 97, 0, 78,111,100,101, 84,119,111, 88,
+ 89,115, 0, 78,111,100,101, 84,119,111, 70,108,111, 97,116,115, 0, 78,111,100,101, 71,101,111,109,101,116,114,121, 0, 78,111,
+100,101, 86,101,114,116,101,120, 67,111,108, 0, 78,111,100,101, 68,101,102,111, 99,117,115, 0, 78,111,100,101, 83, 99,114,105,
+112,116, 68,105, 99,116, 0, 78,111,100,101, 71,108, 97,114,101, 0, 78,111,100,101, 84,111,110,101,109, 97,112, 0, 78,111,100,
+101, 76,101,110,115, 68,105,115,116, 0, 78,111,100,101, 67,111,108,111,114, 66, 97,108, 97,110, 99,101, 0, 78,111,100,101, 67,
+111,108,111,114,115,112,105,108,108, 0, 84,101,120, 78,111,100,101, 79,117,116,112,117,116, 0, 67,117,114,118,101, 77, 97,112,
+ 80,111,105,110,116, 0, 67,117,114,118,101, 77, 97,112, 0, 66,114,117,115,104, 67,108,111,110,101, 0, 67,117,115,116,111,109,
+ 68, 97,116, 97, 76, 97,121,101,114, 0, 67,117,115,116,111,109, 68, 97,116, 97, 69,120,116,101,114,110, 97,108, 0, 72, 97,105,
+114, 75,101,121, 0, 80, 97,114,116,105, 99,108,101, 75,101,121, 0, 66,111,105,100, 80, 97,114,116,105, 99,108,101, 0, 66,111,
+105,100, 68, 97,116, 97, 0, 80, 97,114,116,105, 99,108,101, 83,112,114,105,110,103, 0, 67,104,105,108,100, 80, 97,114,116,105,
+ 99,108,101, 0, 80, 97,114,116,105, 99,108,101, 84, 97,114,103,101,116, 0, 80, 97,114,116,105, 99,108,101, 68,117,112,108,105,
+ 87,101,105,103,104,116, 0, 80, 97,114,116,105, 99,108,101, 68, 97,116, 97, 0, 83, 80, 72, 70,108,117,105,100, 83,101,116,116,
+105,110,103,115, 0, 80, 97,114,116,105, 99,108,101, 83,101,116,116,105,110,103,115, 0, 66,111,105,100, 83,101,116,116,105,110,
+103,115, 0, 80, 97,114,116,105, 99,108,101, 67, 97, 99,104,101, 75,101,121, 0, 75, 68, 84,114,101,101, 0, 80, 97,114,116,105,
+ 99,108,101, 68,114, 97,119, 68, 97,116, 97, 0, 76,105,110,107, 78,111,100,101, 0, 98, 71, 80, 68,115,112,111,105,110,116, 0,
+ 98, 71, 80, 68,115,116,114,111,107,101, 0, 98, 71, 80, 68,102,114, 97,109,101, 0, 98, 71, 80, 68,108, 97,121,101,114, 0, 82,
+101,112,111,114,116, 76,105,115,116, 0,119,109, 87,105,110,100,111,119, 77, 97,110, 97,103,101,114, 0,119,109, 87,105,110,100,
+111,119, 0,119,109, 75,101,121, 67,111,110,102,105,103, 0,119,109, 69,118,101,110,116, 0,119,109, 83,117, 98, 87,105,110,100,
+111,119, 0,119,109, 71,101,115,116,117,114,101, 0,119,109, 75,101,121, 77, 97,112, 73,116,101,109, 0, 80,111,105,110,116,101,
+114, 82, 78, 65, 0,119,109, 75,101,121, 77, 97,112, 0,119,109, 79,112,101,114, 97,116,111,114, 84,121,112,101, 0, 70, 77,111,
+100,105,102,105,101,114, 0, 70, 77,111,100, 95, 71,101,110,101,114, 97,116,111,114, 0, 70, 77,111,100, 95, 70,117,110, 99,116,
+105,111,110, 71,101,110,101,114, 97,116,111,114, 0, 70, 67, 77, 95, 69,110,118,101,108,111,112,101, 68, 97,116, 97, 0, 70, 77,
+111,100, 95, 69,110,118,101,108,111,112,101, 0, 70, 77,111,100, 95, 67,121, 99,108,101,115, 0, 70, 77,111,100, 95, 80,121,116,
+104,111,110, 0, 70, 77,111,100, 95, 76,105,109,105,116,115, 0, 70, 77,111,100, 95, 78,111,105,115,101, 0, 70, 77,111,100, 95,
+ 83,116,101,112,112,101,100, 0, 68,114,105,118,101,114, 84, 97,114,103,101,116, 0, 68,114,105,118,101,114, 86, 97,114, 0, 67,
+104, 97,110,110,101,108, 68,114,105,118,101,114, 0, 70, 80,111,105,110,116, 0, 70, 67,117,114,118,101, 0, 65,110,105,109, 77,
+ 97,112, 80, 97,105,114, 0, 65,110,105,109, 77, 97,112,112,101,114, 0, 78,108, 97, 83,116,114,105,112, 0, 78,108, 97, 84,114,
+ 97, 99,107, 0, 75, 83, 95, 80, 97,116,104, 0, 75,101,121,105,110,103, 83,101,116, 0, 65,110,105,109, 79,118,101,114,114,105,
+100,101, 0, 73,100, 65,100,116, 84,101,109,112,108, 97,116,101, 0, 66,111,105,100, 82,117,108,101, 0, 66,111,105,100, 82,117,
+108,101, 71,111, 97,108, 65,118,111,105,100, 0, 66,111,105,100, 82,117,108,101, 65,118,111,105,100, 67,111,108,108,105,115,105,
+111,110, 0, 66,111,105,100, 82,117,108,101, 70,111,108,108,111,119, 76,101, 97,100,101,114, 0, 66,111,105,100, 82,117,108,101,
+ 65,118,101,114, 97,103,101, 83,112,101,101,100, 0, 66,111,105,100, 82,117,108,101, 70,105,103,104,116, 0, 66,111,105,100, 83,
+116, 97,116,101, 0, 70, 76, 85, 73, 68, 95, 51, 68, 0, 87, 84, 85, 82, 66, 85, 76, 69, 78, 67, 69, 0, 0, 0, 84, 76, 69, 78,
+ 1, 0, 1, 0, 2, 0, 2, 0, 4, 0, 4, 0, 4, 0, 4, 0, 8, 0, 0, 0, 8, 0, 12, 0, 8, 0, 4, 0, 8, 0, 16, 0,
+ 16, 0, 20, 0, 76, 0, 52, 0, 40, 2, 0, 0, 32, 0,140, 0, 44, 4, 92, 0, 36, 0, 56, 0, 84, 0,112, 0,124, 0, 56, 0,
+ 24, 0, 40, 0,120, 0, 12, 0,104, 0, 36, 0, 48, 5,156, 1, 0, 0, 0, 0, 0, 0, 16, 1, 48, 1, 84, 1, 24, 0, 8, 3,
+168, 0, 0, 0, 84, 0, 16, 1, 32, 1,164, 0,132, 0,108, 1, 88, 0,160, 2, 76, 0, 60, 1, 0, 0,108, 0,104, 0,148, 0,
+ 56, 0, 8, 0, 16, 0, 20, 0, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 24, 1, 20, 0, 44, 0, 60, 0, 20, 0, 12, 0, 12, 0,
+ 4, 0, 8, 0, 8, 0, 0, 0, 28, 0, 84, 0, 32, 0, 8, 0, 12, 0, 8, 0, 8, 0, 4, 0, 4, 0, 0, 1, 32, 0, 12, 0,
+ 16, 0, 64, 0, 24, 0, 12, 0, 40, 0, 64, 0,112, 0, 80, 0,100, 0,108, 0, 80, 0,108, 0,128, 0, 76, 0, 72, 0,120, 0,
+ 72, 0, 84, 0,204, 0, 48, 0,168, 0,160, 0,172, 0, 72, 0,104, 0,116, 0,196, 0,112, 0,224, 0, 64, 0, 92, 0, 0, 0,
+144, 0, 40, 0,244, 1,112, 0, 0, 0, 88, 0, 0, 0, 0, 0, 76, 0, 8, 0, 8, 0,244, 0, 88, 0,148, 1, 84, 0,108, 0,
+ 72, 0, 72, 0,180, 1,120, 0,116, 0, 64, 0,128, 0, 92, 0,172, 0, 12, 0,224, 0, 40, 0, 0, 0,100, 0,156, 0, 72, 0,
+ 48, 0, 20, 0,120, 0,144, 0, 88, 1,208, 0,180, 0, 0, 0, 68, 0, 20, 0, 96, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+ 12, 0,112, 1, 28, 0,176, 0,144, 0, 64, 0, 68, 0, 24, 0, 72, 0,152, 3, 56, 0, 20, 0, 16, 0,100, 0, 84, 0, 16, 0,
+204, 2, 36, 0, 16, 0,156, 0, 80, 0, 88, 0, 36, 0,152, 1, 32, 0, 8, 0, 24, 0, 56, 2, 0, 0, 0, 0, 72, 0, 68, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 40, 0,140, 0, 48, 0,208, 0, 88, 0,216, 0,216, 0, 96, 2, 60, 0, 0, 0,120, 0,
+ 0, 0,244, 0, 12, 0, 12, 0,248, 32,112, 16, 24, 16,192, 0,136, 2, 80, 2, 40, 0, 12, 0,188, 0,252, 0, 52, 0,140, 2,
+ 28, 0,104, 1, 88, 0,188, 0, 96, 0, 92, 1, 16, 1, 32, 0,224, 0, 32, 0, 32, 0,112, 2,120, 1, 16, 0, 80, 30, 72, 0,
+ 56, 0,144, 13,148, 0, 20, 0, 24, 0, 64, 1, 0, 0, 0, 0, 0, 0,248, 0, 0, 0, 24, 1, 88, 0, 16, 0, 8, 0, 44, 0,
+252, 0,212, 0,168, 1,216, 0, 16, 0, 12, 0, 24, 0, 52, 0, 16, 0,216, 0, 20, 0, 16, 0, 24, 0, 56, 1, 0, 0, 56, 0,
+ 52, 0, 48, 0, 8, 0, 44, 0, 72, 0,104, 0, 40, 0, 8, 0, 72, 0, 44, 0, 40, 0,108, 0, 72, 0, 68, 0, 76, 0, 80, 0,
+ 60, 0,128, 0, 76, 0, 60, 0, 12, 0,100, 0, 32, 0, 68, 0, 80, 0, 16, 0, 76, 0,108, 0, 84, 0, 28, 0, 96, 0, 56, 0,
+ 56, 0,108, 0,140, 0, 4, 0, 20, 0, 12, 0, 8, 0, 80, 0, 24, 0, 16, 1,144, 0, 16, 0,192, 1, 4, 0, 40, 0,104, 0,
+ 24, 1, 64, 0, 44, 0, 72, 0,116, 0, 60, 0,112, 0, 16, 0, 52, 0, 44, 0, 44, 0, 44, 0, 8, 0, 36, 0, 68, 0, 64, 0,
+ 44, 0, 44, 0, 20, 0, 52, 0, 96, 0, 12, 0,108, 0, 92, 0, 52, 0, 28, 0, 28, 0, 28, 0, 52, 0, 20, 0, 60, 0,140, 0,
+ 36, 0,124, 0, 32, 0, 12, 0,212, 0, 0, 0, 0, 0, 16, 0, 40, 0, 28, 0, 12, 0, 12, 0, 16, 1, 44, 0, 24, 0, 8, 0,
+ 64, 0, 32, 0, 24, 0, 8, 0, 24, 0, 32, 0, 8, 0, 96, 0, 20, 0, 32, 0, 12, 0, 44, 0, 20, 0, 68, 0,240, 0, 24, 0,
+ 56, 0, 52, 0, 20, 0, 16, 0, 64, 0, 28, 0, 20, 0,180, 0, 60, 0, 64, 2, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
+ 20, 0, 24, 0,172, 0, 28, 0,168, 0,148, 0,152, 0, 0, 0, 0, 0, 0, 0,104, 0, 0, 0, 96, 0, 0, 0,104, 0, 20, 0,
+ 24, 0, 16, 0, 20, 0, 8, 0, 8, 0, 24, 0, 20, 0, 20, 0, 48, 0,208, 1, 28, 1, 16, 0, 68, 0, 0, 1, 20, 0,160, 0,
+ 88, 0, 96, 0,152, 0, 20, 0, 56, 0, 48, 0, 68, 0, 56, 0, 92, 0, 64, 0, 56, 0, 96, 0, 0, 0, 0, 0, 83, 84, 82, 67,
+149, 1, 0, 0, 10, 0, 2, 0, 10, 0, 0, 0, 10, 0, 1, 0, 11, 0, 3, 0, 11, 0, 0, 0, 11, 0, 1, 0, 9, 0, 2, 0,
+ 12, 0, 2, 0, 9, 0, 3, 0, 9, 0, 4, 0, 13, 0, 2, 0, 2, 0, 5, 0, 2, 0, 6, 0, 14, 0, 2, 0, 7, 0, 5, 0,
+ 7, 0, 6, 0, 15, 0, 4, 0, 4, 0, 7, 0, 4, 0, 8, 0, 4, 0, 9, 0, 4, 0, 10, 0, 16, 0, 4, 0, 7, 0, 7, 0,
+ 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 17, 0, 4, 0, 9, 0, 11, 0, 12, 0, 12, 0, 4, 0, 13, 0, 4, 0, 14, 0,
+ 18, 0, 10, 0, 18, 0, 0, 0, 18, 0, 1, 0, 0, 0, 15, 0, 0, 0, 16, 0, 2, 0, 17, 0, 0, 0, 18, 0, 4, 0, 19, 0,
+ 17, 0, 20, 0, 4, 0, 21, 0, 4, 0, 22, 0, 19, 0, 9, 0, 9, 0, 0, 0, 9, 0, 1, 0, 19, 0, 23, 0, 20, 0, 24, 0,
+ 0, 0, 25, 0, 2, 0, 26, 0, 2, 0, 17, 0, 4, 0, 27, 0, 18, 0, 28, 0, 20, 0, 8, 0, 19, 0, 29, 0, 19, 0, 30, 0,
+ 21, 0, 31, 0, 0, 0, 32, 0, 0, 0, 33, 0, 4, 0, 34, 0, 4, 0, 35, 0, 20, 0, 36, 0, 22, 0, 5, 0, 4, 0, 37, 0,
+ 4, 0, 38, 0, 2, 0, 39, 0, 2, 0, 40, 0, 4, 0, 41, 0, 23, 0, 6, 0, 24, 0, 42, 0, 2, 0, 43, 0, 2, 0, 44, 0,
+ 2, 0, 15, 0, 2, 0, 17, 0, 0, 0, 45, 0, 25, 0, 21, 0, 25, 0, 0, 0, 25, 0, 1, 0, 26, 0, 46, 0, 27, 0, 47, 0,
+ 16, 0, 48, 0, 16, 0, 49, 0, 2, 0, 43, 0, 2, 0, 44, 0, 2, 0, 50, 0, 2, 0, 51, 0, 2, 0, 52, 0, 2, 0, 53, 0,
+ 2, 0, 17, 0, 2, 0, 54, 0, 7, 0, 9, 0, 7, 0, 10, 0, 4, 0, 55, 0, 7, 0, 56, 0, 7, 0, 57, 0, 7, 0, 58, 0,
+ 23, 0, 59, 0, 28, 0, 7, 0, 19, 0, 29, 0, 12, 0, 60, 0, 16, 0, 61, 0, 2, 0, 43, 0, 2, 0, 62, 0, 2, 0, 63, 0,
+ 2, 0, 35, 0, 29, 0, 16, 0, 29, 0, 0, 0, 29, 0, 1, 0, 7, 0, 64, 0, 7, 0, 58, 0, 2, 0, 15, 0, 2, 0, 44, 0,
+ 2, 0, 65, 0, 2, 0, 17, 0, 4, 0, 66, 0, 4, 0, 67, 0, 9, 0, 2, 0, 7, 0, 68, 0, 0, 0, 18, 0, 0, 0, 69, 0,
+ 7, 0, 70, 0, 7, 0, 71, 0, 30, 0, 13, 0, 19, 0, 29, 0, 31, 0, 72, 0, 29, 0, 73, 0, 0, 0, 74, 0, 4, 0, 75, 0,
+ 7, 0, 58, 0, 12, 0, 76, 0, 28, 0, 77, 0, 19, 0, 78, 0, 2, 0, 15, 0, 2, 0, 79, 0, 2, 0, 80, 0, 2, 0, 17, 0,
+ 32, 0, 6, 0, 32, 0, 0, 0, 32, 0, 1, 0, 0, 0, 81, 0, 0, 0, 82, 0, 4, 0, 21, 0, 4, 0, 83, 0, 33, 0, 10, 0,
+ 33, 0, 0, 0, 33, 0, 1, 0, 4, 0, 84, 0, 4, 0, 85, 0, 4, 0, 86, 0, 4, 0, 87, 0, 4, 0, 12, 0, 4, 0, 88, 0,
+ 0, 0, 89, 0, 0, 0, 90, 0, 34, 0, 15, 0, 19, 0, 29, 0, 0, 0, 91, 0, 4, 0, 88, 0, 4, 0, 92, 0, 12, 0, 93, 0,
+ 32, 0, 94, 0, 32, 0, 95, 0, 4, 0, 96, 0, 4, 0, 97, 0, 12, 0, 98, 0, 0, 0, 99, 0, 4, 0,100, 0, 4, 0,101, 0,
+ 9, 0,102, 0, 8, 0,103, 0, 35, 0, 3, 0, 4, 0,104, 0, 4, 0,105, 0, 9, 0, 2, 0, 36, 0, 16, 0, 19, 0, 29, 0,
+ 31, 0, 72, 0, 0, 0, 15, 0, 0, 0,106, 0, 2, 0, 17, 0, 7, 0,107, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0,110, 0,
+ 7, 0,111, 0, 7, 0,112, 0, 7, 0,113, 0, 7, 0,114, 0, 7, 0,115, 0, 28, 0, 77, 0, 24, 0,116, 0, 37, 0, 14, 0,
+ 38, 0,117, 0, 4, 0,118, 0, 4, 0,119, 0, 4, 0,120, 0, 4, 0,121, 0, 0, 0,122, 0, 0, 0,123, 0, 0, 0,124, 0,
+ 0, 0, 35, 0, 2, 0,125, 0, 2, 0,126, 0, 2, 0,127, 0, 2, 0, 17, 0, 4, 0, 67, 0, 39, 0, 33, 0, 19, 0, 29, 0,
+ 0, 0, 32, 0, 12, 0,128, 0, 40, 0,129, 0, 41, 0,130, 0, 42, 0,131, 0, 42, 0,132, 0, 2, 0,133, 0, 2, 0,134, 0,
+ 2, 0,124, 0, 2, 0, 17, 0, 2, 0,135, 0, 2, 0, 15, 0, 4, 0,136, 0, 2, 0,137, 0, 2, 0,138, 0, 2, 0,139, 0,
+ 2, 0,140, 0, 2, 0,141, 0, 2, 0,142, 0, 4, 0,143, 0, 4, 0,144, 0, 35, 0,145, 0, 22, 0,146, 0, 7, 0,147, 0,
+ 4, 0,148, 0, 2, 0,149, 0, 2, 0,150, 0, 2, 0,151, 0, 0, 0,152, 0, 0, 0,153, 0, 7, 0,154, 0, 7, 0,155, 0,
+ 43, 0, 65, 0, 2, 0,156, 0, 2, 0,157, 0, 2, 0,158, 0, 2, 0,159, 0, 24, 0,160, 0, 44, 0,161, 0, 0, 0,162, 0,
+ 0, 0,163, 0, 0, 0,164, 0, 0, 0,165, 0, 0, 0,166, 0, 7, 0,167, 0, 7, 0,168, 0, 7, 0,169, 0, 2, 0,170, 0,
+ 2, 0,171, 0, 2, 0,172, 0, 2, 0,173, 0, 2, 0,174, 0, 2, 0,175, 0, 0, 0,176, 0, 0, 0,177, 0, 7, 0,178, 0,
+ 7, 0,179, 0, 7, 0,180, 0, 7, 0,181, 0, 7, 0,182, 0, 7, 0, 54, 0, 7, 0,183, 0, 7, 0,184, 0, 7, 0,185, 0,
+ 7, 0,186, 0, 7, 0,187, 0, 7, 0,188, 0, 7, 0,189, 0, 7, 0,190, 0, 7, 0,191, 0, 7, 0,192, 0, 7, 0,193, 0,
+ 7, 0,194, 0, 7, 0,195, 0, 7, 0,196, 0, 7, 0,197, 0, 7, 0,198, 0, 7, 0,199, 0, 7, 0,200, 0, 7, 0,201, 0,
+ 7, 0,202, 0, 7, 0,203, 0, 7, 0,204, 0, 7, 0,205, 0, 7, 0,206, 0, 7, 0,207, 0, 7, 0,208, 0, 7, 0,209, 0,
+ 7, 0,210, 0, 7, 0,211, 0, 7, 0,212, 0, 7, 0,213, 0, 7, 0,214, 0, 7, 0,215, 0, 7, 0,216, 0, 7, 0,217, 0,
+ 7, 0,218, 0, 7, 0,219, 0, 45, 0, 15, 0, 0, 0,220, 0, 9, 0,221, 0, 0, 0,222, 0, 0, 0,223, 0, 4, 0,224, 0,
+ 4, 0,225, 0, 9, 0,226, 0, 7, 0,227, 0, 7, 0,228, 0, 7, 0,229, 0, 4, 0,230, 0, 9, 0,231, 0, 9, 0,232, 0,
+ 4, 0,233, 0, 4, 0, 35, 0, 46, 0, 6, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0,234, 0, 7, 0, 64, 0,
+ 4, 0, 61, 0, 47, 0, 5, 0, 2, 0, 17, 0, 2, 0, 34, 0, 2, 0, 61, 0, 2, 0,235, 0, 46, 0,229, 0, 48, 0, 17, 0,
+ 24, 0,160, 0, 39, 0,236, 0, 49, 0,237, 0, 7, 0,238, 0, 7, 0,239, 0, 2, 0, 15, 0, 2, 0,240, 0, 7, 0,108, 0,
+ 7, 0,109, 0, 7, 0,241, 0, 4, 0,242, 0, 2, 0,243, 0, 2, 0,244, 0, 4, 0,124, 0, 4, 0,136, 0, 2, 0,245, 0,
+ 2, 0,246, 0, 50, 0, 25, 0, 2, 0, 17, 0, 2, 0,247, 0, 7, 0,248, 0, 7, 0,249, 0, 2, 0,135, 0, 2, 0,250, 0,
+ 4, 0,251, 0, 4, 0,252, 0, 24, 0,160, 0, 4, 0,253, 0, 2, 0,254, 0, 2, 0,255, 0, 9, 0, 0, 1, 7, 0, 1, 1,
+ 7, 0, 2, 1, 2, 0, 3, 1, 2, 0, 4, 1, 2, 0, 5, 1, 2, 0, 6, 1, 7, 0, 7, 1, 7, 0, 8, 1, 7, 0, 9, 1,
+ 7, 0, 10, 1, 47, 0, 11, 1, 51, 0, 12, 1, 52, 0, 13, 0, 4, 0, 13, 1, 4, 0, 14, 1, 2, 0, 15, 1, 2, 0, 17, 0,
+ 2, 0, 16, 1, 2, 0, 17, 1, 24, 0,160, 0, 7, 0, 18, 1, 4, 0, 19, 1, 0, 0, 20, 1, 7, 0, 21, 1, 4, 0, 22, 1,
+ 4, 0,124, 0, 44, 0, 63, 0, 19, 0, 29, 0, 31, 0, 72, 0, 7, 0, 23, 1, 7, 0, 24, 1, 7, 0, 25, 1, 7, 0, 26, 1,
+ 7, 0, 27, 1, 7, 0, 28, 1, 7, 0, 29, 1, 7, 0, 30, 1, 7, 0, 31, 1, 7, 0, 67, 0, 7, 0, 32, 1, 7, 0, 33, 1,
+ 7, 0, 34, 1, 7, 0, 35, 1, 7, 0, 36, 1, 7, 0, 37, 1, 7, 0, 38, 1, 7, 0, 39, 1, 7, 0, 40, 1, 7, 0, 41, 1,
+ 7, 0, 42, 1, 7, 0, 43, 1, 2, 0, 44, 1, 2, 0, 45, 1, 2, 0, 46, 1, 2, 0, 47, 1, 2, 0, 48, 1, 2, 0, 49, 1,
+ 2, 0, 50, 1, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,240, 0, 7, 0, 51, 1, 7, 0, 52, 1, 7, 0, 53, 1, 7, 0, 54, 1,
+ 4, 0, 55, 1, 4, 0, 56, 1, 2, 0, 57, 1, 2, 0, 58, 1, 2, 0, 16, 1, 2, 0,122, 0, 4, 0, 21, 0, 4, 0,119, 0,
+ 4, 0,120, 0, 4, 0,121, 0, 7, 0, 59, 1, 7, 0, 60, 1, 7, 0, 87, 0, 37, 0, 61, 1, 53, 0, 62, 1, 28, 0, 77, 0,
+ 39, 0,236, 0, 45, 0, 63, 1, 47, 0, 11, 1, 48, 0, 64, 1, 22, 0,146, 0, 50, 0, 65, 1, 52, 0, 66, 1, 0, 0, 67, 1,
+ 0, 0,177, 0, 54, 0, 8, 0, 7, 0, 68, 1, 7, 0, 69, 1, 7, 0,168, 0, 4, 0, 17, 0, 7, 0, 70, 1, 7, 0, 71, 1,
+ 7, 0, 72, 1, 24, 0, 42, 0, 55, 0, 72, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 73, 1,
+ 2, 0,171, 0, 2, 0, 74, 1, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0,181, 0, 7, 0, 75, 1, 7, 0, 76, 1,
+ 7, 0, 77, 1, 7, 0, 78, 1, 7, 0, 79, 1, 7, 0, 80, 1, 7, 0, 81, 1, 7, 0, 82, 1, 7, 0, 83, 1, 7, 0, 84, 1,
+ 7, 0, 85, 1, 51, 0, 86, 1, 2, 0,247, 0, 2, 0, 67, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0, 87, 1, 7, 0, 88, 1,
+ 7, 0, 89, 1, 7, 0, 90, 1, 7, 0, 91, 1, 2, 0, 92, 1, 2, 0, 93, 1, 2, 0, 94, 1, 2, 0, 95, 1, 0, 0, 96, 1,
+ 0, 0, 97, 1, 2, 0, 98, 1, 2, 0, 99, 1, 2, 0,100, 1, 2, 0,101, 1, 2, 0,102, 1, 7, 0,103, 1, 7, 0,104, 1,
+ 7, 0,105, 1, 7, 0,106, 1, 2, 0,107, 1, 2, 0, 87, 0, 2, 0,108, 1, 2, 0,109, 1, 2, 0,110, 1, 2, 0,111, 1,
+ 7, 0,112, 1, 7, 0,113, 1, 7, 0,114, 1, 7, 0,115, 1, 7, 0,116, 1, 7, 0,117, 1, 7, 0,118, 1, 7, 0,119, 1,
+ 7, 0,120, 1, 7, 0,121, 1, 7, 0,122, 1, 7, 0,123, 1, 2, 0,124, 1, 0, 0,125, 1, 28, 0, 77, 0, 43, 0,126, 1,
+ 2, 0,127, 1, 0, 0,128, 1, 22, 0,146, 0, 56, 0, 18, 0, 7, 0,129, 1, 7, 0,130, 1, 7, 0,131, 1, 7, 0,132, 1,
+ 7, 0,133, 1, 7, 0,134, 1, 7, 0,135, 1, 7, 0,136, 1, 7, 0,137, 1, 7, 0,138, 1, 2, 0,139, 1, 2, 0,140, 1,
+ 2, 0,141, 1, 2, 0,142, 1, 7, 0,143, 1, 7, 0,144, 1, 7, 0,145, 1, 7, 0,146, 1, 57, 0,125, 0, 19, 0, 29, 0,
+ 31, 0, 72, 0, 2, 0,147, 1, 2, 0, 17, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0,148, 1, 7, 0,149, 1,
+ 7, 0,150, 1, 7, 0,151, 1, 7, 0,152, 1, 7, 0,153, 1, 7, 0,154, 1, 7, 0,155, 1, 7, 0,156, 1, 7, 0,157, 1,
+ 7, 0,158, 1, 7, 0,159, 1, 7, 0,160, 1, 7, 0,161, 1, 7, 0,162, 1, 7, 0,163, 1, 7, 0,164, 1, 7, 0,165, 1,
+ 7, 0,166, 1, 7, 0,167, 1, 56, 0,168, 1, 7, 0,169, 1, 7, 0,170, 1, 7, 0,171, 1, 7, 0,172, 1, 7, 0,173, 1,
+ 7, 0,174, 1, 7, 0,175, 1, 2, 0,176, 1, 2, 0,177, 1, 2, 0,178, 1, 0, 0,179, 1, 0, 0,180, 1, 7, 0,181, 1,
+ 7, 0,182, 1, 2, 0,183, 1, 2, 0,184, 1, 7, 0,185, 1, 7, 0,186, 1, 7, 0,187, 1, 7, 0,188, 1, 2, 0,189, 1,
+ 2, 0,190, 1, 4, 0, 73, 1, 4, 0,191, 1, 2, 0,192, 1, 2, 0,193, 1, 2, 0,194, 1, 2, 0,195, 1, 7, 0,196, 1,
+ 7, 0,197, 1, 7, 0,198, 1, 7, 0,199, 1, 7, 0,200, 1, 7, 0,201, 1, 7, 0,202, 1, 7, 0,203, 1, 7, 0,204, 1,
+ 7, 0,205, 1, 0, 0,206, 1, 7, 0,207, 1, 7, 0,208, 1, 7, 0,209, 1, 4, 0,210, 1, 0, 0,211, 1, 0, 0,108, 1,
+ 0, 0,212, 1, 0, 0, 67, 1, 2, 0,213, 1, 2, 0,214, 1, 2, 0,127, 1, 2, 0,215, 1, 2, 0,216, 1, 2, 0,217, 1,
+ 7, 0,218, 1, 7, 0,219, 1, 7, 0,220, 1, 7, 0,221, 1, 7, 0,222, 1, 2, 0,156, 0, 2, 0,157, 0, 47, 0,223, 1,
+ 47, 0,224, 1, 0, 0,225, 1, 0, 0,226, 1, 0, 0,227, 1, 0, 0,228, 1, 2, 0,229, 1, 2, 0,230, 1, 7, 0,231, 1,
+ 7, 0,232, 1, 43, 0,126, 1, 53, 0, 62, 1, 28, 0, 77, 0, 58, 0,233, 1, 22, 0,146, 0, 7, 0,234, 1, 7, 0,235, 1,
+ 7, 0,236, 1, 7, 0,237, 1, 7, 0,238, 1, 2, 0,239, 1, 2, 0, 67, 0, 7, 0,240, 1, 7, 0,241, 1, 7, 0,242, 1,
+ 7, 0,243, 1, 7, 0,244, 1, 7, 0,245, 1, 7, 0,246, 1, 7, 0,247, 1, 7, 0,248, 1, 2, 0,249, 1, 2, 0,250, 1,
+ 4, 0,251, 1, 2, 0,252, 1, 2, 0,253, 1, 12, 0,254, 1, 59, 0, 4, 0, 19, 0, 29, 0, 0, 0,255, 1, 60, 0, 2, 0,
+ 35, 0,145, 0, 61, 0, 26, 0, 61, 0, 0, 0, 61, 0, 1, 0, 62, 0, 0, 2, 4, 0, 1, 2, 4, 0, 2, 2, 4, 0, 3, 2,
+ 4, 0, 4, 2, 4, 0, 5, 2, 4, 0, 6, 2, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 7, 2, 2, 0, 8, 2, 7, 0, 5, 0,
+ 7, 0, 6, 0, 7, 0, 9, 2, 7, 0, 10, 2, 7, 0, 11, 2, 7, 0, 12, 2, 7, 0, 13, 2, 7, 0, 14, 2, 7, 0, 15, 2,
+ 7, 0, 16, 2, 7, 0, 21, 0, 7, 0, 17, 2, 7, 0, 18, 2, 63, 0, 20, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0, 0, 2,
+ 12, 0, 19, 2, 12, 0, 20, 2, 12, 0, 21, 2, 28, 0, 77, 0, 57, 0, 22, 2, 0, 0, 17, 0, 0, 0, 23, 2, 2, 0, 24, 2,
+ 2, 0,170, 0, 2, 0, 35, 0, 7, 0, 68, 1, 7, 0,168, 0, 7, 0, 69, 1, 7, 0, 25, 2, 7, 0, 26, 2, 7, 0, 27, 2,
+ 61, 0, 28, 2, 27, 0, 11, 0, 7, 0, 29, 2, 7, 0, 30, 2, 7, 0, 31, 2, 7, 0,249, 0, 2, 0, 52, 0, 0, 0, 32, 2,
+ 0, 0, 33, 2, 0, 0, 34, 2, 0, 0, 35, 2, 0, 0, 36, 2, 0, 0, 37, 2, 26, 0, 7, 0, 7, 0, 38, 2, 7, 0, 30, 2,
+ 7, 0, 31, 2, 2, 0, 34, 2, 2, 0, 37, 2, 7, 0,249, 0, 7, 0, 35, 0, 64, 0, 21, 0, 64, 0, 0, 0, 64, 0, 1, 0,
+ 2, 0, 15, 0, 2, 0, 39, 2, 2, 0, 37, 2, 2, 0, 17, 0, 2, 0, 40, 2, 2, 0, 41, 2, 2, 0, 42, 2, 2, 0, 43, 2,
+ 2, 0, 44, 2, 2, 0, 45, 2, 2, 0, 46, 2, 2, 0, 47, 2, 7, 0, 48, 2, 7, 0, 49, 2, 26, 0, 46, 0, 27, 0, 47, 0,
+ 2, 0, 50, 2, 2, 0, 51, 2, 4, 0, 52, 2, 65, 0, 5, 0, 2, 0, 53, 2, 2, 0, 39, 2, 0, 0, 17, 0, 0, 0, 35, 0,
+ 2, 0, 67, 0, 66, 0, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 54, 2, 7, 0, 55, 2, 67, 0, 4, 0, 12, 0, 56, 2,
+ 68, 0, 57, 2, 4, 0, 58, 2, 0, 0, 90, 0, 69, 0, 68, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0, 0, 2, 12, 0, 59, 2,
+ 12, 0, 20, 2, 67, 0, 60, 2, 24, 0, 61, 2, 24, 0, 62, 2, 24, 0, 63, 2, 28, 0, 77, 0, 70, 0, 64, 2, 30, 0, 65, 2,
+ 57, 0, 22, 2, 12, 0, 66, 2, 7, 0, 68, 1, 7, 0,168, 0, 7, 0, 69, 1, 2, 0,170, 0, 2, 0, 87, 0, 2, 0, 67, 2,
+ 2, 0, 68, 2, 7, 0, 69, 2, 7, 0, 70, 2, 4, 0, 71, 2, 2, 0, 35, 0, 2, 0, 24, 2, 2, 0, 17, 0, 2, 0, 72, 2,
+ 7, 0, 73, 2, 7, 0, 74, 2, 7, 0, 75, 2, 2, 0, 42, 2, 2, 0, 43, 2, 2, 0, 76, 2, 2, 0, 77, 2, 4, 0, 78, 2,
+ 9, 0, 79, 2, 2, 0, 21, 0, 2, 0, 93, 0, 2, 0, 64, 0, 2, 0, 80, 2, 7, 0, 81, 2, 7, 0, 82, 2, 7, 0, 83, 2,
+ 7, 0, 84, 2, 7, 0, 85, 2, 7, 0, 86, 2, 7, 0, 87, 2, 7, 0, 88, 2, 7, 0, 89, 2, 7, 0, 90, 2, 0, 0, 91, 2,
+ 71, 0, 92, 2, 72, 0, 93, 2, 0, 0, 94, 2, 59, 0, 95, 2, 59, 0, 96, 2, 59, 0, 97, 2, 59, 0, 98, 2, 4, 0, 99, 2,
+ 7, 0,100, 2, 4, 0,101, 2, 4, 0,102, 2, 66, 0,103, 2, 4, 0,104, 2, 4, 0,105, 2, 65, 0,106, 2, 65, 0,107, 2,
+ 73, 0, 39, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0, 0, 2, 28, 0, 77, 0, 30, 0, 65, 2, 57, 0, 22, 2, 74, 0,108, 2,
+ 75, 0,109, 2, 76, 0,110, 2, 77, 0,111, 2, 78, 0,112, 2, 79, 0,113, 2, 80, 0,114, 2, 81, 0,115, 2, 73, 0,116, 2,
+ 82, 0,117, 2, 83, 0,118, 2, 84, 0,119, 2, 84, 0,120, 2, 84, 0,121, 2, 4, 0, 51, 0, 4, 0,122, 2, 4, 0,123, 2,
+ 4, 0,124, 2, 4, 0,125, 2, 7, 0, 68, 1, 7, 0,168, 0, 7, 0, 69, 1, 2, 0,170, 0, 2, 0, 67, 2, 2, 0,126, 2,
+ 2, 0, 17, 0, 2, 0,127, 2, 2, 0,128, 2, 0, 0,129, 2, 0, 0,130, 2, 2, 0, 24, 2, 85, 0,131, 2, 86, 0,132, 2,
+ 76, 0, 8, 0, 9, 0,133, 2, 7, 0,134, 2, 4, 0,135, 2, 0, 0, 17, 0, 0, 0,136, 2, 2, 0, 73, 1, 2, 0,137, 2,
+ 2, 0,138, 2, 74, 0, 7, 0, 4, 0,139, 2, 4, 0,140, 2, 4, 0,141, 2, 4, 0,142, 2, 2, 0, 39, 2, 0, 0,143, 2,
+ 0, 0, 17, 0, 78, 0, 5, 0, 4, 0,139, 2, 4, 0,140, 2, 0, 0,144, 2, 0, 0,145, 2, 2, 0, 17, 0, 87, 0, 2, 0,
+ 4, 0,146, 2, 7, 0, 31, 2, 79, 0, 3, 0, 87, 0,147, 2, 4, 0,148, 2, 4, 0, 17, 0, 77, 0, 4, 0, 7, 0,149, 2,
+ 2, 0,150, 2, 0, 0, 17, 0, 0, 0,145, 2, 80, 0, 4, 0, 0, 0,234, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0,
+ 88, 0, 6, 0, 39, 0,133, 2, 0, 0, 17, 0, 0, 0,136, 2, 2, 0, 73, 1, 2, 0,137, 2, 2, 0,138, 2, 89, 0, 1, 0,
+ 7, 0,151, 2, 90, 0, 5, 0, 0, 0,234, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 4, 0, 35, 0, 81, 0, 1, 0,
+ 7, 0,152, 2, 82, 0, 2, 0, 4, 0,253, 1, 4, 0, 15, 0, 75, 0, 7, 0, 7, 0,134, 2, 39, 0,133, 2, 0, 0, 17, 0,
+ 0, 0,136, 2, 2, 0, 73, 1, 2, 0,137, 2, 2, 0,138, 2, 91, 0, 1, 0, 7, 0,153, 2, 92, 0, 1, 0, 4, 0,154, 2,
+ 93, 0, 1, 0, 0, 0,155, 2, 94, 0, 1, 0, 7, 0,134, 2, 95, 0, 3, 0, 4, 0,156, 2, 0, 0, 90, 0, 7, 0,157, 2,
+ 96, 0, 4, 0, 7, 0,234, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 97, 0, 1, 0, 96, 0,135, 2, 98, 0, 5, 0,
+ 4, 0,158, 2, 4, 0,159, 2, 0, 0, 17, 0, 0, 0, 39, 2, 0, 0,160, 2, 99, 0, 2, 0, 4, 0,161, 2, 4, 0,159, 2,
+100, 0, 10, 0,100, 0, 0, 0,100, 0, 1, 0, 98, 0,162, 2, 97, 0,163, 2, 99, 0,164, 2, 4, 0, 51, 0, 4, 0,123, 2,
+ 4, 0,122, 2, 4, 0, 35, 0, 77, 0,165, 2, 85, 0, 14, 0, 12, 0,166, 2, 77, 0,165, 2, 0, 0,167, 2, 0, 0,168, 2,
+ 0, 0,169, 2, 0, 0,170, 2, 0, 0,171, 2, 0, 0,172, 2, 0, 0,173, 2, 0, 0, 17, 0, 84, 0,119, 2, 84, 0,121, 2,
+ 2, 0,174, 2, 0, 0,175, 2, 86, 0, 8, 0, 4, 0,176, 2, 4, 0,177, 2, 74, 0,178, 2, 78, 0,179, 2, 4, 0,123, 2,
+ 4, 0,122, 2, 4, 0, 51, 0, 4, 0, 35, 0,101, 0, 9, 0,101, 0, 0, 0,101, 0, 1, 0, 4, 0, 15, 0, 4, 0, 73, 1,
+ 4, 0,180, 2, 4, 0, 35, 0, 0, 0, 18, 0, 38, 0,117, 0, 0, 0,181, 2,102, 0, 6, 0,101, 0,182, 2, 44, 0,183, 2,
+ 24, 0,184, 2, 0, 0,185, 2, 4, 0,186, 2, 4, 0,187, 2,103, 0, 7, 0,101, 0,182, 2, 2, 0,188, 2, 2, 0,166, 2,
+ 2, 0,189, 2, 2, 0, 88, 0, 9, 0,190, 2, 9, 0,191, 2,104, 0, 3, 0,101, 0,182, 2, 24, 0,160, 0, 0, 0, 18, 0,
+105, 0, 5, 0,101, 0,182, 2, 24, 0,160, 0, 0, 0, 18, 0, 2, 0,192, 2, 0, 0,193, 2,106, 0, 5, 0,101, 0,182, 2,
+ 7, 0, 85, 0, 7, 0,194, 2, 4, 0,195, 2, 4, 0,196, 2,107, 0, 5, 0,101, 0,182, 2, 24, 0,197, 2, 0, 0, 69, 0,
+ 4, 0, 73, 1, 4, 0, 17, 0,108, 0, 13, 0,101, 0,182, 2, 24, 0,198, 2, 24, 0,199, 2, 24, 0,200, 2, 24, 0,201, 2,
+ 7, 0,202, 2, 7, 0,203, 2, 7, 0,194, 2, 7, 0,204, 2, 4, 0,205, 2, 4, 0,206, 2, 4, 0, 88, 0, 4, 0,207, 2,
+109, 0, 5, 0,101, 0,182, 2, 2, 0,208, 2, 2, 0, 17, 0, 7, 0,209, 2, 24, 0,210, 2,110, 0, 3, 0,101, 0,182, 2,
+ 7, 0,211, 2, 4, 0, 88, 0,111, 0, 10, 0,101, 0,182, 2, 7, 0,212, 2, 4, 0,213, 2, 4, 0, 35, 0, 2, 0, 88, 0,
+ 2, 0,214, 2, 2, 0,215, 2, 2, 0,216, 2, 7, 0,217, 2, 0, 0,218, 2,112, 0, 3, 0,101, 0,182, 2, 7, 0, 35, 0,
+ 4, 0, 15, 0,113, 0, 6, 0,101, 0,182, 2,114, 0,219, 2,115, 0,220, 2,116, 0,221, 2, 7, 0,222, 2, 4, 0, 15, 0,
+117, 0, 11, 0,101, 0,182, 2, 44, 0,183, 2, 24, 0,184, 2, 0, 0,185, 2, 4, 0,186, 2, 4, 0,187, 2, 4, 0,223, 2,
+ 7, 0,224, 2, 4, 0,225, 2, 0, 0,218, 2, 7, 0,226, 2,118, 0, 12, 0,101, 0,182, 2, 24, 0,227, 2, 39, 0,228, 2,
+ 4, 0, 88, 0, 4, 0,229, 2, 7, 0,230, 2, 7, 0,231, 2, 7, 0,232, 2, 7, 0,233, 2, 0, 0,185, 2, 4, 0,186, 2,
+ 4, 0, 35, 0,119, 0, 3, 0,101, 0,182, 2, 7, 0,234, 2, 4, 0,235, 2,120, 0, 5, 0,101, 0,182, 2, 7, 0,236, 2,
+ 0, 0,218, 2, 2, 0, 17, 0, 2, 0,237, 2,121, 0, 8, 0,101, 0,182, 2, 24, 0,160, 0, 7, 0,236, 2, 7, 0,249, 0,
+ 7, 0,104, 0, 0, 0,218, 2, 2, 0, 17, 0, 2, 0, 15, 0,122, 0, 21, 0,101, 0,182, 2, 24, 0,238, 2, 0, 0,218, 2,
+ 44, 0,183, 2, 24, 0,184, 2, 2, 0, 17, 0, 2, 0, 35, 0, 7, 0,239, 2, 7, 0,240, 2, 7, 0,241, 2, 7, 0, 73, 2,
+ 7, 0,242, 2, 7, 0,243, 2, 7, 0,244, 2, 7, 0,245, 2, 4, 0,187, 2, 4, 0,186, 2, 0, 0,185, 2, 7, 0,246, 2,
+ 7, 0,247, 2, 7, 0, 87, 0,123, 0, 7, 0,101, 0,182, 2, 2, 0,248, 2, 2, 0,249, 2, 4, 0, 67, 0, 24, 0,160, 0,
+ 7, 0,250, 2, 0, 0,218, 2,124, 0, 10, 0,101, 0,182, 2, 24, 0,160, 0, 0, 0,251, 2, 7, 0,252, 2, 7, 0,253, 2,
+ 7, 0,245, 2, 4, 0,254, 2, 4, 0,255, 2, 7, 0, 0, 3, 0, 0, 18, 0,125, 0, 1, 0,101, 0,182, 2,126, 0, 7, 0,
+101, 0,182, 2, 38, 0,117, 0,127, 0, 1, 3,128, 0, 2, 3,129, 0, 3, 3,130, 0, 4, 3, 12, 0, 5, 3,131, 0, 13, 0,
+101, 0,182, 2, 77, 0, 6, 3, 77, 0, 7, 3, 77, 0, 8, 3, 77, 0, 9, 3, 77, 0, 10, 3, 77, 0, 11, 3, 74, 0, 12, 3,
+ 4, 0, 13, 3, 4, 0, 14, 3, 7, 0, 15, 3, 7, 0, 16, 3,132, 0, 17, 3,133, 0, 7, 0,101, 0,182, 2, 77, 0, 6, 3,
+ 77, 0, 18, 3,134, 0, 19, 3,135, 0, 17, 3, 4, 0, 20, 3, 4, 0, 13, 3,136, 0, 4, 0,101, 0,182, 2, 24, 0,160, 0,
+ 4, 0, 21, 3, 4, 0, 35, 0,137, 0, 2, 0, 4, 0, 22, 3, 7, 0, 31, 2,138, 0, 2, 0, 4, 0,120, 0, 4, 0, 23, 3,
+139, 0, 24, 0,101, 0,182, 2, 24, 0,160, 0, 0, 0,218, 2, 2, 0, 24, 3, 2, 0, 17, 0, 2, 0, 73, 1, 2, 0, 35, 0,
+137, 0, 25, 3, 4, 0, 26, 3, 7, 0, 27, 3, 4, 0, 51, 0, 4, 0, 28, 3,138, 0, 29, 3,137, 0, 30, 3, 4, 0, 31, 3,
+ 4, 0, 32, 3, 4, 0, 33, 3, 4, 0, 23, 3, 7, 0, 34, 3, 7, 0, 35, 3, 7, 0, 36, 3, 7, 0, 37, 3, 7, 0, 38, 3,
+ 9, 0, 39, 3,140, 0, 8, 0,101, 0,182, 2,141, 0, 40, 3,134, 0, 19, 3, 4, 0, 41, 3, 4, 0, 42, 3, 4, 0, 43, 3,
+ 2, 0, 17, 0, 2, 0, 54, 0,142, 0, 8, 0,101, 0,182, 2, 24, 0, 42, 0, 2, 0,253, 0, 2, 0, 17, 0, 2, 0,208, 2,
+ 2, 0, 54, 0, 7, 0, 44, 3, 7, 0, 45, 3,143, 0, 6, 0,101, 0,182, 2, 4, 0, 46, 3, 2, 0, 17, 0, 2, 0, 47, 3,
+ 7, 0, 48, 3, 0, 0,162, 0,144, 0, 8, 0,101, 0,182, 2, 0, 0, 49, 3, 0, 0, 50, 3, 0, 0,172, 2, 0, 0, 51, 3,
+ 0, 0, 52, 3, 0, 0, 88, 0, 0, 0,160, 2,145, 0, 3, 0,101, 0,182, 2,146, 0, 53, 3,130, 0, 4, 3,147, 0, 10, 0,
+101, 0,182, 2, 24, 0, 54, 3, 24, 0, 55, 3, 0, 0, 56, 3, 7, 0, 57, 3, 2, 0, 58, 3, 2, 0, 59, 3, 0, 0, 60, 3,
+ 0, 0, 61, 3, 0, 0,193, 2,148, 0, 9, 0,101, 0,182, 2, 24, 0, 62, 3, 0, 0, 56, 3, 7, 0, 63, 3, 7, 0, 64, 3,
+ 0, 0, 73, 1, 0, 0,208, 2, 0, 0, 65, 3, 0, 0, 35, 0,149, 0, 1, 0,101, 0,182, 2,150, 0, 11, 0,101, 0,182, 2,
+ 0, 0,218, 2, 7, 0,120, 0, 7, 0, 66, 3, 7, 0, 67, 3, 7, 0, 68, 3, 7, 0, 69, 3, 4, 0, 17, 0, 2, 0, 70, 3,
+ 2, 0, 71, 3, 4, 0, 35, 0,151, 0, 9, 0,101, 0,182, 2, 24, 0, 72, 3, 4, 0, 73, 3, 4, 0, 74, 3, 4, 0, 75, 3,
+ 7, 0, 76, 3, 7, 0, 77, 3, 2, 0,208, 2, 2, 0, 17, 0,152, 0, 16, 0,101, 0,182, 2, 44, 0,183, 2, 24, 0,184, 2,
+ 0, 0,185, 2, 4, 0,186, 2, 4, 0,187, 2, 4, 0,223, 2, 7, 0,224, 2, 24, 0, 78, 3, 24, 0, 79, 3, 51, 0, 86, 1,
+ 0, 0,218, 2, 7, 0, 80, 3, 0, 0, 17, 0, 0, 0,247, 0, 0, 0,160, 2,153, 0, 3, 0,154, 0, 81, 3, 4, 0, 58, 2,
+ 0, 0, 90, 0,154, 0, 29, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 40, 2, 2, 0, 41, 2, 2, 0, 82, 3, 2, 0, 17, 0,
+ 2, 0, 83, 3, 2, 0, 84, 3, 2, 0, 85, 3, 2, 0, 67, 0, 0, 0, 86, 3, 0, 0, 87, 3, 0, 0, 88, 3, 0, 0,230, 1,
+ 4, 0, 35, 0, 7, 0, 89, 3, 7, 0, 90, 3, 7, 0, 91, 3, 7, 0, 92, 3, 7, 0, 93, 3, 7, 0, 94, 3, 26, 0, 95, 3,
+ 28, 0, 77, 0, 30, 0, 65, 2, 79, 0,113, 2, 0, 0, 69, 0, 7, 0, 96, 3, 7, 0, 97, 3,153, 0, 98, 3,155, 0, 3, 0,
+155, 0, 0, 0,155, 0, 1, 0, 0, 0, 18, 0, 62, 0, 3, 0, 7, 0, 99, 3, 4, 0, 17, 0, 4, 0, 35, 0, 24, 0,129, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0,156, 0,100, 3, 2, 0, 15, 0, 2, 0,101, 3, 4, 0,102, 3, 4, 0,103, 3, 4, 0,104, 3,
+ 0, 0,105, 3, 24, 0, 36, 0, 24, 0,106, 3, 24, 0,107, 3, 24, 0,108, 3, 24, 0,109, 3, 28, 0, 77, 0, 70, 0, 64, 2,
+ 62, 0, 0, 2,157, 0,110, 3,157, 0,111, 3,158, 0,112, 3, 9, 0, 2, 0,159, 0,113, 3,160, 0,114, 3,161, 0,115, 3,
+ 12, 0,116, 3, 12, 0,117, 3, 12, 0, 20, 2, 12, 0,118, 3, 12, 0,119, 3, 4, 0, 73, 1, 4, 0,120, 3, 57, 0, 22, 2,
+ 0, 0,121, 3, 4, 0, 24, 2, 4, 0,122, 3, 7, 0, 68, 1, 7, 0,123, 3, 7, 0,124, 3, 7, 0,168, 0, 7, 0,125, 3,
+ 7, 0, 69, 1, 7, 0,126, 3, 7, 0, 10, 2, 7, 0,127, 3, 7, 0,128, 3, 7, 0,129, 3, 7, 0,130, 3, 7, 0,131, 3,
+ 7, 0,132, 3, 7, 0,252, 2, 7, 0,133, 3, 7, 0,238, 0, 7, 0,134, 3, 4, 0,135, 3, 2, 0, 17, 0, 2, 0,136, 3,
+ 2, 0,137, 3, 2, 0,138, 3, 2, 0,139, 3, 2, 0,140, 3, 2, 0,141, 3, 2, 0,142, 3, 2, 0,143, 3, 2, 0,144, 3,
+ 2, 0,145, 3, 2, 0,146, 3, 4, 0,147, 3, 4, 0,148, 3, 4, 0,149, 3, 4, 0,150, 3, 7, 0,151, 3, 7, 0,100, 2,
+ 7, 0,152, 3, 7, 0,153, 3, 7, 0,154, 3, 7, 0,155, 3, 7, 0,156, 3, 7, 0,213, 0, 7, 0,157, 3, 7, 0,158, 3,
+ 7, 0,159, 3, 7, 0,160, 3, 2, 0,161, 3, 0, 0,162, 3, 0, 0,106, 0, 0, 0,163, 3, 0, 0,164, 3, 7, 0,165, 3,
+ 7, 0,166, 3, 12, 0,167, 3, 12, 0,168, 3, 12, 0,169, 3, 12, 0,170, 3, 7, 0,171, 3, 2, 0,253, 1, 2, 0,172, 3,
+ 7, 0,135, 2, 4, 0,173, 3, 4, 0,174, 3,162, 0,175, 3, 2, 0,176, 3, 2, 0,245, 0, 7, 0,177, 3, 12, 0,178, 3,
+ 12, 0,179, 3, 12, 0,180, 3, 12, 0,181, 3,163, 0, 65, 1,164, 0,182, 3, 58, 0,183, 3, 2, 0,184, 3, 2, 0,185, 3,
+ 2, 0, 58, 2, 2, 0,186, 3, 7, 0,126, 2, 2, 0,187, 3, 2, 0,188, 3,146, 0,189, 3,134, 0,190, 3,134, 0,191, 3,
+ 4, 0,192, 3, 4, 0,193, 3, 4, 0,194, 3, 4, 0,195, 3, 12, 0,196, 3, 12, 0,197, 3, 12, 0,198, 3, 7, 0,199, 3,
+ 0, 0,200, 3,165, 0, 14, 0,165, 0, 0, 0,165, 0, 1, 0, 24, 0, 36, 0, 7, 0,252, 2, 7, 0, 70, 1, 7, 0,253, 2,
+ 7, 0,245, 2, 0, 0, 18, 0, 4, 0,254, 2, 4, 0,255, 2, 4, 0,201, 3, 2, 0, 15, 0, 2, 0,202, 3, 7, 0, 0, 3,
+166, 0, 12, 0,166, 0, 0, 0,166, 0, 1, 0, 24, 0, 42, 0, 4, 0,203, 3, 4, 0,253, 1, 4, 0,204, 3, 4, 0, 15, 0,
+ 4, 0,205, 3, 7, 0, 70, 1, 7, 0,206, 3, 7, 0,207, 3, 7, 0,151, 2,163, 0, 40, 0, 4, 0, 17, 0, 2, 0,208, 3,
+ 2, 0,209, 3, 2, 0,245, 2, 2, 0,210, 3, 2, 0,211, 3, 2, 0,212, 3, 2, 0,213, 3, 2, 0,214, 3, 7, 0,215, 3,
+ 7, 0,216, 3, 7, 0,217, 3, 7, 0,218, 3, 7, 0,219, 3, 7, 0,220, 3, 7, 0,221, 3, 7, 0,222, 3, 7, 0,223, 3,
+ 7, 0,224, 3, 7, 0,225, 3, 7, 0,226, 3, 7, 0,227, 3, 7, 0,228, 3, 7, 0,229, 3, 7, 0,230, 3, 7, 0,231, 3,
+ 7, 0,232, 3, 7, 0,233, 3, 7, 0,234, 3, 7, 0,235, 3, 7, 0,236, 3, 7, 0,237, 3, 7, 0,238, 3, 7, 0,239, 3,
+ 7, 0,240, 3, 7, 0,241, 3, 44, 0,161, 0,167, 0,242, 3, 7, 0,243, 3, 4, 0,196, 2,168, 0, 5, 0, 58, 0,233, 1,
+ 7, 0,244, 3, 7, 0,245, 3, 2, 0, 17, 0, 2, 0,246, 3,169, 0, 5, 0,169, 0, 0, 0,169, 0, 1, 0, 4, 0, 15, 0,
+ 4, 0,247, 3, 9, 0, 2, 0,170, 0, 9, 0,170, 0, 0, 0,170, 0, 1, 0, 4, 0,248, 3, 4, 0,249, 3, 4, 0,250, 3,
+ 4, 0, 17, 0, 9, 0,251, 3, 9, 0,252, 3, 12, 0,253, 3,130, 0, 21, 0,130, 0, 0, 0,130, 0, 1, 0, 4, 0, 17, 0,
+ 4, 0,254, 3, 4, 0,255, 3, 4, 0, 0, 4, 4, 0, 1, 4, 4, 0, 2, 4, 4, 0, 3, 4, 4, 0,249, 3, 4, 0,253, 1,
+ 2, 0, 4, 4, 2, 0, 54, 0, 0, 0, 5, 4, 0, 0, 6, 4, 0, 0, 7, 4, 0, 0, 8, 4, 0, 0, 9, 4, 12, 0, 10, 4,
+171, 0, 11, 4, 9, 0, 12, 4,172, 0, 1, 0, 7, 0, 38, 2,162, 0, 30, 0, 4, 0, 17, 0, 7, 0, 13, 4, 7, 0, 14, 4,
+ 7, 0, 15, 4, 4, 0, 16, 4, 4, 0, 17, 4, 4, 0, 18, 4, 4, 0, 19, 4, 7, 0, 20, 4, 7, 0, 21, 4, 7, 0, 22, 4,
+ 7, 0, 23, 4, 7, 0, 24, 4, 7, 0, 25, 4, 7, 0, 26, 4, 7, 0, 27, 4, 7, 0, 28, 4, 7, 0, 29, 4, 7, 0, 30, 4,
+ 7, 0, 31, 4, 7, 0, 32, 4, 7, 0, 33, 4, 7, 0, 34, 4, 7, 0, 35, 4, 7, 0, 36, 4, 7, 0, 37, 4, 4, 0, 38, 4,
+ 4, 0, 39, 4, 7, 0, 40, 4, 7, 0,157, 3,164, 0, 54, 0, 4, 0,249, 3, 4, 0, 41, 4,173, 0, 42, 4,174, 0, 43, 4,
+ 0, 0, 35, 0, 0, 0, 44, 4, 2, 0, 45, 4, 7, 0, 46, 4, 0, 0, 47, 4, 7, 0, 48, 4, 7, 0, 49, 4, 7, 0, 50, 4,
+ 7, 0, 51, 4, 7, 0, 52, 4, 7, 0, 53, 4, 7, 0, 54, 4, 7, 0, 55, 4, 7, 0, 56, 4, 2, 0, 57, 4, 0, 0, 58, 4,
+ 2, 0, 59, 4, 7, 0, 60, 4, 7, 0, 61, 4, 0, 0, 62, 4, 4, 0,121, 0, 4, 0, 63, 4, 4, 0, 64, 4, 2, 0, 65, 4,
+ 2, 0, 66, 4,172, 0, 67, 4, 4, 0, 68, 4, 4, 0, 79, 0, 7, 0, 69, 4, 7, 0, 70, 4, 7, 0, 71, 4, 7, 0, 72, 4,
+ 2, 0, 73, 4, 2, 0, 74, 4, 2, 0, 75, 4, 2, 0, 76, 4, 2, 0, 77, 4, 2, 0, 78, 4, 2, 0, 79, 4, 2, 0, 80, 4,
+175, 0, 81, 4, 7, 0, 82, 4, 7, 0, 83, 4,130, 0, 84, 4, 12, 0, 5, 3,168, 0, 85, 4, 7, 0, 86, 4, 7, 0, 87, 4,
+ 7, 0, 88, 4, 0, 0, 89, 4,176, 0, 1, 0, 7, 0, 90, 4,146, 0, 50, 0,145, 0, 91, 4, 2, 0, 15, 0, 2, 0, 92, 4,
+ 2, 0, 93, 4, 2, 0, 94, 4, 7, 0, 95, 4, 2, 0, 96, 4, 2, 0, 97, 4, 7, 0, 98, 4, 2, 0, 99, 4, 2, 0,100, 4,
+ 7, 0,101, 4, 7, 0,102, 4, 7, 0,103, 4, 4, 0,104, 4, 4, 0,105, 4, 7, 0,106, 4, 4, 0,107, 4, 7, 0,108, 4,
+ 7, 0,109, 4, 7, 0,110, 4, 73, 0,111, 4, 73, 0,112, 4, 0, 0,113, 4, 7, 0,114, 4, 7, 0,115, 4, 28, 0, 77, 0,
+ 2, 0,116, 4, 0, 0,117, 4, 0, 0,118, 4, 7, 0,119, 4, 4, 0,120, 4, 7, 0,121, 4, 7, 0,122, 4, 4, 0,123, 4,
+ 4, 0, 17, 0, 7, 0,124, 4, 7, 0,125, 4, 7, 0,126, 4,176, 0,127, 4, 4, 0, 51, 0, 7, 0,128, 4, 7, 0,129, 4,
+ 7, 0,130, 4, 7, 0,131, 4, 7, 0,132, 4, 7, 0,133, 4, 7, 0,134, 4, 4, 0,135, 4, 4, 0, 35, 0,177, 0, 76, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0, 2, 0,171, 0, 2, 0, 74, 1, 2, 0,108, 1, 2, 0,136, 4, 7, 0,137, 4, 7, 0,138, 4,
+ 7, 0,139, 4, 7, 0,140, 4, 7, 0,141, 4, 7, 0,142, 4, 7, 0,154, 1, 7, 0,156, 1, 7, 0,155, 1, 7, 0, 67, 0,
+ 4, 0,143, 4, 7, 0,144, 4, 7, 0,145, 4, 7, 0,146, 4, 7, 0,147, 4, 7, 0,148, 4, 7, 0,149, 4, 7, 0,150, 4,
+ 2, 0,151, 4, 2, 0, 73, 1, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 2, 0,156, 4, 2, 0,157, 4,
+ 7, 0,158, 4, 7, 0,159, 4, 7, 0,160, 4, 7, 0,161, 4, 7, 0,162, 4, 7, 0,163, 4, 7, 0,164, 4, 7, 0,165, 4,
+ 7, 0,166, 4, 7, 0,167, 4, 7, 0,168, 4, 7, 0,169, 4, 2, 0,170, 4, 2, 0,171, 4, 2, 0,172, 4, 2, 0,173, 4,
+ 7, 0,174, 4, 7, 0,175, 4, 7, 0,176, 4, 7, 0,177, 4, 2, 0,178, 4, 2, 0,179, 4, 2, 0,180, 4, 2, 0,181, 4,
+ 7, 0,182, 4, 7, 0,183, 4, 7, 0,184, 4, 7, 0,185, 4, 7, 0,186, 4, 7, 0,187, 4, 7, 0,188, 4, 2, 0,189, 4,
+ 2, 0,190, 4, 2, 0,191, 4, 2, 0,192, 4, 2, 0,193, 4, 2, 0, 17, 0, 7, 0,194, 4, 7, 0,195, 4, 28, 0, 77, 0,
+ 43, 0,126, 1, 2, 0,127, 1, 2, 0,196, 4, 22, 0,146, 0,178, 0, 8, 0,178, 0, 0, 0,178, 0, 1, 0, 4, 0,135, 3,
+ 4, 0,197, 4, 4, 0, 17, 0, 2, 0,198, 4, 2, 0,199, 4, 24, 0,160, 0,179, 0, 13, 0, 9, 0,200, 4, 9, 0,201, 4,
+ 4, 0,202, 4, 4, 0,203, 4, 4, 0,204, 4, 4, 0,205, 4, 4, 0,206, 4, 4, 0,207, 4, 4, 0,208, 4, 4, 0,209, 4,
+ 4, 0,210, 4, 4, 0, 35, 0, 0, 0,211, 4,180, 0, 5, 0, 9, 0,212, 4, 9, 0,213, 4, 4, 0,214, 4, 4, 0, 67, 0,
+ 0, 0,215, 4,181, 0, 17, 0, 4, 0,216, 4, 4, 0,217, 4, 4, 0,218, 4, 4, 0,219, 4, 4, 0,220, 4, 4, 0,221, 4,
+ 4, 0,222, 4, 4, 0,223, 4, 4, 0,224, 4, 4, 0,225, 4, 4, 0,226, 4, 4, 0,227, 4, 2, 0,228, 4, 2, 0,229, 4,
+ 4, 0,230, 4, 4, 0,231, 4, 4, 0, 87, 0,182, 0, 17, 0, 4, 0, 15, 0, 4, 0,218, 4, 4, 0,232, 4, 4, 0,233, 4,
+ 4, 0,234, 4, 4, 0,235, 4, 4, 0,236, 4, 4, 0,237, 4, 7, 0,238, 4, 4, 0,239, 4, 4, 0, 88, 0, 4, 0,240, 4,
+ 4, 0,241, 4, 4, 0,242, 4, 4, 0,243, 4, 4, 0,244, 4, 18, 0, 28, 0,183, 0, 7, 0, 4, 0,245, 4, 7, 0,246, 4,
+ 7, 0,247, 4, 7, 0,248, 4, 4, 0,249, 4, 2, 0, 17, 0, 2, 0, 35, 0,184, 0, 11, 0,184, 0, 0, 0,184, 0, 1, 0,
+ 0, 0, 18, 0, 57, 0,250, 4, 58, 0,251, 4, 4, 0,135, 3, 4, 0,252, 4, 4, 0,253, 4, 4, 0, 35, 0, 4, 0,254, 4,
+ 4, 0,255, 4,185, 0,105, 0,179, 0, 0, 5,180, 0, 1, 5,181, 0, 2, 5,182, 0, 3, 5, 4, 0, 20, 3, 4, 0,121, 0,
+ 4, 0, 63, 4, 7, 0, 4, 5, 4, 0, 5, 5, 4, 0, 6, 5, 4, 0, 7, 5, 4, 0, 8, 5, 2, 0, 17, 0, 2, 0, 9, 5,
+ 7, 0, 10, 5, 7, 0, 11, 5, 7, 0, 12, 5, 7, 0, 13, 5, 7, 0, 14, 5, 2, 0, 15, 5, 2, 0, 16, 5, 2, 0, 17, 5,
+ 2, 0, 18, 5, 2, 0,244, 0, 2, 0, 19, 5, 4, 0, 20, 5, 2, 0, 21, 5, 2, 0, 22, 5, 2, 0, 95, 1, 2, 0,104, 0,
+ 2, 0, 23, 5, 2, 0, 24, 5, 2, 0, 25, 5, 2, 0, 26, 5, 2, 0, 27, 5, 2, 0, 28, 5, 2, 0, 29, 5, 2, 0, 30, 5,
+ 2, 0, 31, 5, 2, 0, 32, 5, 4, 0, 33, 5, 4, 0, 73, 1, 4, 0, 34, 5, 2, 0, 35, 5, 2, 0, 36, 5, 2, 0, 37, 5,
+ 2, 0, 38, 5, 2, 0, 39, 5, 2, 0, 40, 5, 2, 0, 41, 5, 2, 0, 42, 5, 16, 0, 43, 5, 16, 0, 44, 5, 15, 0, 45, 5,
+ 12, 0, 46, 5, 2, 0, 47, 5, 2, 0, 48, 5, 7, 0, 49, 5, 7, 0, 50, 5, 7, 0, 51, 5, 7, 0, 52, 5, 4, 0, 53, 5,
+ 7, 0, 54, 5, 7, 0, 55, 5, 7, 0, 56, 5, 7, 0, 57, 5, 2, 0, 58, 5, 2, 0, 59, 5, 2, 0, 60, 5, 2, 0, 61, 5,
+ 2, 0, 62, 5, 2, 0, 63, 5, 7, 0, 64, 5, 7, 0, 65, 5, 7, 0, 66, 5, 0, 0, 67, 5, 4, 0, 68, 5, 2, 0, 69, 5,
+ 2, 0,230, 1, 0, 0, 70, 5, 7, 0, 71, 5, 7, 0, 72, 5, 0, 0, 73, 5, 0, 0, 74, 5, 0, 0, 75, 5, 0, 0, 76, 5,
+ 4, 0, 77, 5, 2, 0, 78, 5, 2, 0, 79, 5, 7, 0, 80, 5, 7, 0, 81, 5, 2, 0, 82, 5, 2, 0, 83, 5, 7, 0, 84, 5,
+ 2, 0, 85, 5, 2, 0, 86, 5, 4, 0, 87, 5, 2, 0, 88, 5, 2, 0, 89, 5, 2, 0, 90, 5, 2, 0, 91, 5, 7, 0, 92, 5,
+ 7, 0, 67, 0, 34, 0, 93, 5, 0, 0, 94, 5,186, 0, 9, 0,186, 0, 0, 0,186, 0, 1, 0, 0, 0, 18, 0, 2, 0, 95, 5,
+ 2, 0, 96, 5, 2, 0, 97, 5, 2, 0, 87, 0, 7, 0, 98, 5, 7, 0, 67, 0,187, 0, 7, 0, 2, 0,213, 2, 2, 0, 73, 1,
+ 2, 0, 77, 3, 2, 0, 99, 5, 7, 0,100, 5, 7, 0, 67, 0, 34, 0,101, 5,188, 0, 5, 0, 7, 0,102, 5, 0, 0, 15, 0,
+ 0, 0, 87, 0, 0, 0, 67, 0, 0, 0,230, 1,189, 0, 28, 0, 7, 0,149, 4, 7, 0,150, 4, 2, 0, 73, 1, 2, 0, 17, 0,
+ 2, 0,103, 5, 2, 0,196, 4, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 2, 0,156, 4, 2, 0,157, 4,
+188, 0,104, 5, 2, 0, 15, 5, 2, 0, 16, 5, 2, 0, 17, 5, 2, 0, 18, 5, 2, 0,244, 0, 2, 0, 19, 5, 2, 0,105, 5,
+ 2, 0,106, 5,187, 0,107, 5, 2, 0,108, 5, 2, 0, 21, 5, 2, 0, 67, 0, 2, 0,230, 1, 7, 0,109, 5, 7, 0, 87, 0,
+190, 0, 6, 0,190, 0, 0, 0,190, 0, 1, 0, 4, 0,248, 3, 0, 0, 5, 4, 4, 0, 17, 0, 24, 0,110, 5,191, 0, 4, 0,
+192, 0,111, 5, 9, 0,112, 5, 0, 0,113, 5, 4, 0, 88, 0,193, 0, 8, 0,191, 0,114, 5, 2, 0, 17, 0, 2, 0, 35, 0,
+ 2, 0,115, 5, 2, 0,116, 5, 2, 0,117, 5, 4, 0, 87, 0, 9, 0,118, 5,194, 0, 6, 0, 2, 0,104, 0, 2, 0,254, 3,
+ 2, 0,119, 5, 2, 0,207, 2, 4, 0, 17, 0, 7, 0,224, 2,195, 0, 14, 0, 2, 0, 17, 0, 2, 0,120, 5, 2, 0,121, 5,
+ 2, 0,122, 5,194, 0,123, 5, 9, 0,118, 5, 7, 0,124, 5, 7, 0, 54, 0, 4, 0,125, 5, 4, 0,126, 5, 4, 0,127, 5,
+ 4, 0,128, 5, 38, 0,117, 0, 24, 0,160, 0,196, 0, 4, 0,196, 0, 0, 0,196, 0, 1, 0, 0, 0,129, 5, 7, 0,130, 5,
+197, 0, 14, 0,191, 0,114, 5, 4, 0, 88, 0, 4, 0,131, 5, 7, 0,132, 5, 7, 0,133, 5, 7, 0,134, 5, 4, 0,135, 5,
+ 4, 0,136, 5, 7, 0,137, 5, 7, 0,138, 5, 4, 0,139, 5, 7, 0,140, 5, 7, 0,141, 5, 4, 0, 35, 0,198, 0, 7, 0,
+191, 0,114, 5, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0, 34, 0, 4, 0,142, 5, 79, 0,143, 5, 9, 0,118, 5,199, 0, 82, 0,
+198, 0,144, 5,198, 0,145, 5,197, 0,100, 3, 7, 0,146, 5, 2, 0,147, 5, 2, 0,148, 5, 7, 0,149, 5, 7, 0,150, 5,
+ 2, 0,254, 3, 2, 0,151, 5, 7, 0,152, 5, 7, 0,153, 5, 7, 0,154, 5, 2, 0,155, 5, 2, 0,125, 5, 2, 0,156, 5,
+ 2, 0,157, 5, 2, 0,158, 5, 2, 0,159, 5, 7, 0,160, 5, 7, 0,161, 5, 7, 0,162, 5, 2, 0,163, 5, 2, 0,164, 5,
+ 2, 0,165, 5, 2, 0,166, 5, 2, 0,167, 5, 2, 0,168, 5, 2, 0,169, 5, 2, 0,170, 5,193, 0,171, 5,195, 0,172, 5,
+ 7, 0,173, 5, 7, 0,174, 5, 7, 0,175, 5, 2, 0,176, 5, 2, 0,177, 5, 0, 0,178, 5, 0, 0,179, 5, 0, 0,180, 5,
+ 0, 0,181, 5, 0, 0,182, 5, 0, 0,183, 5, 2, 0,184, 5, 7, 0,185, 5, 7, 0,186, 5, 7, 0,187, 5, 7, 0,188, 5,
+ 7, 0,189, 5, 7, 0,190, 5, 7, 0,191, 5, 7, 0,192, 5, 7, 0,193, 5, 7, 0,194, 5, 2, 0,195, 5, 0, 0,196, 5,
+ 0, 0,197, 5, 0, 0,198, 5, 0, 0,199, 5, 24, 0,200, 5, 0, 0,201, 5, 0, 0,202, 5, 0, 0,203, 5, 0, 0,204, 5,
+ 0, 0,205, 5, 0, 0,206, 5, 0, 0,207, 5, 0, 0,208, 5, 0, 0,209, 5, 0, 0,210, 5, 2, 0,211, 5, 2, 0,212, 5,
+ 2, 0,213, 5, 2, 0,214, 5, 0, 0,215, 5, 0, 0,196, 4, 4, 0,216, 5, 2, 0,217, 5, 2, 0, 87, 0, 4, 0,218, 5,
+ 7, 0,219, 5, 7, 0,220, 5,200, 0, 8, 0, 4, 0,221, 5, 4, 0,222, 5, 4, 0,223, 5, 4, 0,224, 5, 4, 0,225, 5,
+ 4, 0,226, 5, 4, 0, 51, 0, 4, 0,123, 2,201, 0, 4, 0, 7, 0,227, 5, 0, 0,228, 5, 0, 0,229, 5, 2, 0, 17, 0,
+202, 0, 4, 0, 7, 0,230, 5, 4, 0, 17, 0, 4, 0,231, 5, 4, 0, 54, 0, 38, 0, 44, 0, 19, 0, 29, 0, 31, 0, 72, 0,
+ 24, 0,110, 5,177, 0,232, 5, 38, 0,233, 5, 12, 0,234, 5,178, 0,235, 5, 24, 0,236, 5, 7, 0,237, 5, 7, 0,238, 5,
+ 7, 0,239, 5, 7, 0,240, 5, 4, 0,135, 3, 4, 0,241, 5, 4, 0,242, 5, 4, 0,193, 3, 4, 0,243, 5, 2, 0, 17, 0,
+ 2, 0, 67, 1, 53, 0, 62, 1,203, 0,244, 5,199, 0,245, 5,204, 0,246, 5,185, 0,178, 0,183, 0,247, 5, 12, 0, 98, 0,
+ 12, 0,248, 5, 9, 0,249, 5, 9, 0,250, 5, 9, 0,251, 5, 9, 0,252, 5,205, 0,253, 5, 2, 0,254, 5, 2, 0,255, 5,
+ 2, 0,245, 0, 2, 0, 0, 6, 4, 0, 1, 6, 4, 0, 2, 6, 12, 0, 3, 6,188, 0,104, 5,189, 0, 4, 6,201, 0, 5, 6,
+159, 0,113, 3,202, 0, 6, 6,206, 0, 11, 0,206, 0, 0, 0,206, 0, 1, 0, 39, 0,236, 0, 37, 0, 61, 1, 7, 0, 88, 2,
+ 7, 0, 89, 2, 7, 0,104, 0, 7, 0, 7, 6, 2, 0, 8, 6, 2, 0, 17, 0, 7, 0, 67, 0,207, 0, 38, 0, 7, 0, 9, 6,
+ 7, 0, 10, 6, 7, 0, 11, 6, 7, 0, 12, 6, 7, 0, 13, 6, 7, 0, 14, 6, 7, 0, 15, 6, 7, 0, 16, 6, 7, 0, 17, 6,
+ 7, 0, 80, 1, 7, 0, 18, 6, 7, 0, 19, 6, 7, 0, 20, 6, 7, 0, 21, 6, 7, 0,167, 0, 2, 0, 22, 6, 2, 0, 23, 6,
+ 0, 0, 24, 6, 0, 0,196, 4, 2, 0, 25, 6, 2, 0, 26, 6, 2, 0, 27, 6, 2, 0, 8, 6, 7, 0, 28, 6, 7, 0, 29, 6,
+ 62, 0, 30, 6,159, 0,113, 3,207, 0, 31, 6,208, 0, 32, 6,209, 0, 33, 6,210, 0, 34, 6,211, 0, 35, 6, 7, 0, 36, 6,
+ 2, 0, 37, 6, 2, 0, 38, 6, 7, 0, 39, 6, 7, 0, 40, 6, 7, 0, 41, 6,212, 0, 50, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 7, 0, 17, 6, 7, 0, 80, 1, 7, 0, 87, 0, 4, 0, 46, 6,
+ 2, 0, 27, 6, 2, 0, 8, 6, 24, 0,110, 5, 24, 0, 47, 6, 12, 0, 48, 6,206, 0, 49, 6,212, 0, 31, 6, 0, 0, 50, 6,
+ 4, 0,135, 3, 4, 0,241, 5, 2, 0, 51, 6, 2, 0, 52, 6, 2, 0, 53, 6, 2, 0, 54, 6, 2, 0, 17, 0, 2, 0, 23, 2,
+ 7, 0,110, 0, 7, 0, 55, 6, 7, 0, 56, 6, 7, 0, 57, 6, 7, 0,167, 0, 7, 0,237, 5, 2, 0, 58, 6, 2, 0, 59, 6,
+ 2, 0, 60, 6, 0, 0, 61, 6, 0, 0, 62, 6, 0, 0, 63, 6, 0, 0, 64, 6, 0, 0, 65, 6, 12, 0, 66, 6, 12, 0, 67, 6,
+ 12, 0, 68, 6, 2, 0, 69, 6, 2, 0,136, 2, 2, 0, 70, 6, 0, 0, 71, 6, 0, 0, 72, 6, 9, 0, 73, 6,159, 0,113, 3,
+214, 0, 24, 0, 16, 0, 34, 0, 16, 0, 61, 0, 15, 0, 74, 6, 15, 0, 75, 6, 15, 0, 76, 6, 7, 0, 77, 6, 7, 0, 78, 6,
+ 7, 0, 79, 6, 7, 0, 80, 6, 2, 0, 81, 6, 2, 0, 82, 6, 2, 0, 83, 6, 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 17, 0,
+ 2, 0, 86, 6, 2, 0, 87, 6, 2, 0, 88, 6, 2, 0, 89, 6, 2, 0, 90, 6, 2, 0, 54, 6, 7, 0, 91, 6, 4, 0, 92, 6,
+ 4, 0, 93, 6,213, 0, 6, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,
+215, 0, 8, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 0, 0, 94, 6,
+ 0, 0,177, 0,216, 0, 14, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,
+214, 0, 95, 6,217, 0, 96, 6, 12, 0, 97, 6, 2, 0, 73, 1, 2, 0, 98, 6, 4, 0, 17, 0, 7, 0, 99, 6, 4, 0, 54, 6,
+218, 0, 21, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,208, 0, 32, 6,
+214, 0, 95, 6, 2, 0,100, 6, 2, 0,101, 6, 2, 0,102, 6, 2, 0,103, 6, 2, 0, 86, 6, 2, 0,104, 6, 2, 0,105, 6,
+ 0, 0, 17, 0, 0, 0, 35, 0, 9, 0, 64, 2, 4, 0,106, 6, 4, 0,107, 6, 19, 0,108, 6,219, 0, 18, 0,213, 0, 0, 0,
+213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 95, 6, 7, 0, 88, 2, 7, 0, 89, 2,
+ 2, 0,100, 6, 2, 0,109, 6, 2, 0,110, 6, 2, 0,111, 6, 4, 0, 17, 0, 7, 0,112, 6, 4, 0, 8, 6, 4, 0, 35, 0,
+159, 0,113, 3,220, 0, 16, 0, 0, 0,113, 6, 0, 0,114, 6, 0, 0,115, 6, 0, 0,116, 6, 0, 0,117, 6, 0, 0,118, 6,
+ 4, 0,119, 6, 4, 0,120, 6, 4, 0,121, 6, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,122, 6, 2, 0,123, 6, 2, 0,173, 1,
+ 2, 0,124, 6, 0, 0,125, 6,221, 0, 16, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 4, 0,126, 6,
+220, 0,127, 6,222, 0,128, 6, 12, 0,129, 6, 12, 0,130, 6,223, 0,131, 6,211, 0,132, 6,224, 0,133, 6, 2, 0,134, 6,
+ 2, 0,135, 6, 2, 0,136, 6, 2, 0, 67, 0,225, 0, 15, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6,
+ 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 95, 6, 12, 0,137, 6,226, 0,138, 6, 0, 0,139, 6,227, 0,140, 6, 2, 0, 17, 0,
+ 2, 0,141, 6, 2, 0,142, 6, 2, 0,143, 6,228, 0, 25, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6,
+ 4, 0, 17, 0, 39, 0,228, 2, 37, 0, 61, 1, 51, 0,144, 6,229, 0,145, 6,230, 0,146, 6,159, 0,113, 3, 7, 0,147, 6,
+ 7, 0, 88, 2, 7, 0, 89, 2, 7, 0,112, 6, 7, 0,148, 6, 7, 0,149, 6, 2, 0,150, 6, 2, 0,151, 6, 2, 0,152, 6,
+ 2, 0,153, 6, 0, 0,154, 6, 0, 0,155, 6, 0, 0,156, 6, 0, 0, 54, 6,231, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 2, 0, 98, 6, 2, 0, 17, 0, 4, 0, 35, 0,217, 0, 96, 6,
+214, 0, 95, 6,232, 0, 31, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,
+ 34, 0,157, 6, 4, 0,158, 6, 4, 0,159, 6, 2, 0, 88, 0, 2, 0,160, 6, 2, 0,161, 6, 0, 0,162, 6, 0, 0,163, 6,
+ 4, 0,164, 6, 4, 0,165, 6, 4, 0,166, 6, 2, 0,167, 6, 2, 0,168, 6, 2, 0,169, 6, 2, 0,170, 6, 7, 0,171, 6,
+ 15, 0,172, 6, 15, 0,173, 6, 4, 0,174, 6, 4, 0,175, 6, 0, 0,176, 6, 0, 0,177, 6, 2, 0,178, 6, 0, 0,193, 2,
+ 9, 0,179, 6,233, 0, 10, 0, 19, 0, 29, 0, 9, 0,180, 6, 9, 0,181, 6, 9, 0,182, 6, 9, 0,183, 6, 9, 0,184, 6,
+ 4, 0, 88, 0, 4, 0,185, 6, 0, 0,186, 6, 0, 0,187, 6,234, 0, 10, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6,
+ 4, 0, 43, 6, 7, 0, 44, 6,233, 0,188, 6, 2, 0, 88, 0, 2, 0,160, 6, 4, 0, 87, 0, 9, 0,189, 6,235, 0, 3, 0,
+235, 0, 0, 0,235, 0, 1, 0, 7, 0,190, 6,236, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6,
+ 7, 0, 44, 6,214, 0, 95, 6, 12, 0,191, 6, 4, 0,192, 6, 4, 0, 35, 0, 4, 0, 17, 0, 4, 0,193, 6,237, 0, 26, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 95, 6, 19, 0,194, 6,
+ 19, 0, 78, 0, 2, 0, 17, 0, 2, 0,160, 6, 7, 0,195, 6, 9, 0,196, 6, 7, 0, 88, 2, 7, 0, 89, 2, 7, 0,112, 6,
+ 7, 0, 41, 6, 7, 0,197, 6, 7, 0,198, 6, 53, 0, 62, 1, 53, 0,199, 6, 4, 0,200, 6, 2, 0,201, 6, 2, 0,245, 0,
+ 12, 0,202, 6,159, 0,113, 3,238, 0, 10, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6,
+ 2, 0, 45, 6, 2, 0, 17, 0, 2, 0,144, 3, 4, 0, 35, 0,159, 0,113, 3,239, 0, 42, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 95, 6,222, 0,128, 6, 0, 0,203, 6, 0, 0,114, 6,
+ 0, 0,115, 6, 2, 0, 15, 0, 2, 0,204, 6, 2, 0, 17, 0, 2, 0,122, 6, 9, 0,196, 6, 4, 0,119, 6, 4, 0,205, 6,
+ 4, 0,206, 6, 4, 0,207, 6, 15, 0,208, 6, 15, 0,209, 6, 7, 0,210, 6, 7, 0,211, 6, 7, 0,212, 6, 7, 0,195, 6,
+ 2, 0,213, 6, 2, 0,235, 0, 2, 0,173, 1, 2, 0,214, 6, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0,215, 6, 2, 0,216, 6,
+ 9, 0,217, 6, 9, 0,218, 6, 9, 0,219, 6, 9, 0,220, 6, 9, 0,221, 6, 2, 0,222, 6, 0, 0,223, 6, 49, 0,224, 6,
+240, 0, 7, 0,240, 0, 0, 0,240, 0, 1, 0, 4, 0,225, 6, 4, 0, 21, 0, 0, 0, 81, 0, 4, 0,226, 6, 4, 0, 15, 0,
+241, 0, 14, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 4, 0,161, 6,
+ 4, 0, 35, 0, 12, 0,227, 6, 12, 0,228, 6, 0, 0,229, 6, 0, 0,230, 6, 4, 0,231, 6, 4, 0,232, 6,242, 0, 6, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 4, 0, 35, 0, 0, 0,233, 6,243, 0, 15, 0,213, 0, 0, 0,
+213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6,244, 0,234, 6,214, 0, 95, 6,245, 0,235, 6, 2, 0, 73, 1,
+ 2, 0,236, 6, 2, 0, 88, 2, 2, 0, 89, 2, 2, 0, 17, 0, 2, 0,152, 6, 4, 0, 67, 0,246, 0, 7, 0,246, 0, 0, 0,
+246, 0, 1, 0, 0, 0,237, 6, 2, 0,238, 6, 2, 0,239, 6, 2, 0,240, 6, 2, 0, 35, 0,247, 0, 12, 0, 2, 0,239, 6,
+ 2, 0,241, 6, 2, 0,242, 6, 0, 0,193, 2, 2, 0,243, 6, 2, 0,244, 6, 2, 0,245, 6, 2, 0,246, 6, 2, 0,247, 6,
+ 2, 0, 86, 6, 7, 0,248, 6, 7, 0,249, 6,248, 0, 18, 0,248, 0, 0, 0,248, 0, 1, 0, 0, 0, 5, 4,247, 0,250, 6,
+247, 0,251, 6,247, 0,252, 6,247, 0,253, 6, 7, 0,254, 6, 2, 0,255, 6, 2, 0, 0, 7, 2, 0, 1, 7, 2, 0, 2, 7,
+ 2, 0, 3, 7, 2, 0, 4, 7, 2, 0, 5, 7, 2, 0, 6, 7, 2, 0, 7, 7, 2, 0, 8, 7,249, 0, 10, 0, 0, 0, 9, 7,
+ 0, 0, 10, 7, 0, 0, 11, 7, 0, 0, 12, 7, 0, 0, 13, 7, 0, 0, 14, 7, 2, 0, 15, 7, 2, 0, 16, 7, 2, 0, 17, 7,
+ 2, 0, 18, 7,250, 0, 8, 0, 0, 0, 19, 7, 0, 0, 20, 7, 0, 0, 21, 7, 0, 0, 22, 7, 0, 0, 23, 7, 0, 0, 24, 7,
+ 7, 0, 7, 6, 7, 0, 35, 0,251, 0, 18, 0,249, 0, 25, 7,249, 0, 26, 7,249, 0, 27, 7,249, 0, 28, 7,249, 0, 29, 7,
+249, 0, 30, 7,249, 0, 31, 7,249, 0, 32, 7,249, 0, 33, 7,249, 0, 34, 7,249, 0, 35, 7,249, 0, 36, 7,249, 0, 37, 7,
+249, 0, 38, 7,249, 0, 39, 7,249, 0, 40, 7,250, 0, 41, 7, 0, 0, 42, 7,252, 0, 97, 0, 0, 0, 43, 7, 0, 0, 44, 7,
+ 0, 0, 13, 7, 0, 0, 45, 7, 0, 0, 46, 7, 0, 0, 47, 7, 0, 0, 48, 7, 0, 0, 49, 7, 0, 0, 50, 7, 0, 0, 51, 7,
+ 0, 0, 52, 7, 0, 0, 53, 7, 0, 0, 54, 7, 0, 0, 55, 7, 0, 0, 56, 7, 0, 0, 57, 7, 0, 0, 58, 7, 0, 0, 59, 7,
+ 0, 0, 60, 7, 0, 0, 61, 7, 0, 0, 62, 7, 0, 0, 63, 7, 0, 0, 64, 7, 0, 0, 65, 7, 0, 0, 66, 7, 0, 0, 67, 7,
+ 0, 0, 68, 7, 0, 0, 69, 7, 0, 0, 70, 7, 0, 0, 71, 7, 0, 0, 72, 7, 0, 0, 73, 7, 0, 0, 74, 7, 0, 0, 75, 7,
+ 0, 0, 76, 7, 0, 0, 77, 7, 0, 0, 78, 7, 0, 0, 79, 7, 0, 0, 80, 7, 0, 0, 81, 7, 0, 0, 82, 7, 0, 0, 83, 7,
+ 0, 0, 84, 7, 0, 0, 85, 7, 0, 0, 86, 7, 0, 0, 87, 7, 0, 0, 88, 7, 0, 0, 89, 7, 0, 0, 90, 7, 0, 0, 91, 7,
+ 0, 0, 92, 7, 0, 0, 93, 7, 0, 0, 94, 7, 0, 0, 95, 7, 0, 0, 96, 7, 0, 0, 97, 7, 0, 0, 98, 7, 0, 0, 99, 7,
+ 0, 0,100, 7, 0, 0,101, 7, 0, 0,102, 7, 0, 0,103, 7, 0, 0,104, 7, 0, 0,105, 7, 0, 0,106, 7, 0, 0,107, 7,
+ 0, 0,108, 7, 0, 0,109, 7, 0, 0,110, 7, 0, 0,111, 7, 0, 0,112, 7, 0, 0,113, 7, 0, 0,114, 7, 0, 0,115, 7,
+ 0, 0,116, 7, 0, 0,117, 7, 0, 0,118, 7, 0, 0,119, 7, 0, 0,120, 7, 0, 0,121, 7, 0, 0,122, 7, 0, 0,123, 7,
+ 0, 0,124, 7, 0, 0,125, 7, 0, 0,126, 7, 0, 0,127, 7, 0, 0,128, 7, 0, 0,129, 7, 0, 0,130, 7, 0, 0,131, 7,
+ 0, 0,132, 7, 0, 0,133, 7, 0, 0,134, 7, 0, 0,135, 7, 0, 0,136, 7, 0, 0,137, 7, 0, 0,138, 7,253, 0, 5, 0,
+ 0, 0,139, 7, 0, 0, 67, 7, 0, 0, 69, 7, 2, 0, 17, 0, 2, 0, 35, 0,254, 0, 25, 0,254, 0, 0, 0,254, 0, 1, 0,
+ 0, 0, 18, 0,251, 0,140, 7,252, 0,141, 7,252, 0,142, 7,252, 0,143, 7,252, 0,144, 7,252, 0,145, 7,252, 0,146, 7,
+252, 0,147, 7,252, 0,148, 7,252, 0,149, 7,252, 0,150, 7,252, 0,151, 7,252, 0,152, 7,252, 0,153, 7,252, 0,154, 7,
+252, 0,155, 7,252, 0,156, 7,252, 0,157, 7,252, 0,158, 7,253, 0,159, 7, 4, 0,160, 7, 4, 0, 35, 0,255, 0, 3, 0,
+255, 0, 0, 0,255, 0, 1, 0, 0, 0,161, 7, 0, 1, 5, 0, 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,135, 2, 7, 0,162, 7,
+ 7, 0, 38, 2, 1, 1, 89, 0, 4, 0, 17, 0, 4, 0,163, 7, 4, 0,164, 7, 0, 0,165, 7, 0, 0,166, 7, 0, 0,167, 7,
+ 0, 0,168, 7, 0, 0,169, 7, 0, 0,170, 7, 0, 0,171, 7, 0, 0,172, 7, 0, 0,173, 7, 0, 0,174, 7, 4, 0,175, 7,
+ 2, 0,176, 7, 2, 0,177, 7, 2, 0,178, 7, 2, 0,179, 7, 4, 0,180, 7, 4, 0,181, 7, 4, 0,182, 7, 4, 0,183, 7,
+ 2, 0,184, 7, 2, 0,185, 7, 4, 0,186, 7, 4, 0,187, 7, 4, 0,188, 7, 4, 0,189, 7, 4, 0,190, 7, 4, 0,227, 6,
+ 4, 0,191, 7, 2, 0,192, 7, 2, 0,193, 7, 2, 0,194, 7, 2, 0,195, 7, 12, 0,196, 7, 12, 0,197, 7, 12, 0,198, 7,
+ 12, 0,199, 7, 12, 0,200, 7, 0, 0,201, 7, 2, 0,202, 7, 2, 0,203, 7, 2, 0,204, 7, 2, 0,205, 7, 2, 0,206, 7,
+ 2, 0,207, 7, 2, 0,208, 7, 2, 0,209, 7, 0, 1,210, 7, 2, 0,211, 7, 2, 0,212, 7, 2, 0,213, 7, 2, 0,214, 7,
+ 2, 0,215, 7, 2, 0,216, 7, 2, 0,217, 7, 2, 0,218, 7, 4, 0,219, 7, 4, 0,220, 7, 2, 0,221, 7, 2, 0,222, 7,
+ 2, 0,223, 7, 2, 0,224, 7, 2, 0,225, 7, 2, 0,226, 7, 2, 0,227, 7, 2, 0,228, 7, 2, 0,229, 7, 2, 0,230, 7,
+ 2, 0,231, 7, 2, 0,232, 7, 2, 0,233, 7, 2, 0,234, 7, 2, 0,235, 7, 2, 0,236, 7, 2, 0,237, 7, 2, 0,238, 7,
+ 0, 0,239, 7, 0, 0,240, 7, 7, 0,241, 7, 2, 0,176, 5, 2, 0,177, 5, 2, 0,242, 7, 2, 0,243, 7, 47, 0,244, 7,
+ 7, 0,245, 7, 4, 0,230, 1, 0, 0,246, 7, 2, 1, 24, 0, 19, 0, 29, 0, 12, 0,247, 7, 12, 0,248, 7, 12, 0,249, 7,
+ 12, 0, 42, 6, 38, 0,117, 0, 38, 0,250, 7, 4, 0,251, 7, 4, 0, 87, 0, 2, 0,252, 7, 2, 0,253, 7, 2, 0,254, 7,
+ 2, 0,255, 7, 2, 0, 0, 8, 2, 0, 1, 8, 2, 0, 2, 8, 2, 0, 3, 8, 2, 0, 4, 8, 2, 0, 5, 8, 2, 0, 6, 8,
+ 2, 0, 35, 0,211, 0, 7, 8, 9, 0, 8, 8, 2, 0, 9, 8, 3, 1, 5, 0, 3, 1, 0, 0, 3, 1, 1, 0, 3, 1, 10, 8,
+ 13, 0, 11, 8, 4, 0, 17, 0, 4, 1, 7, 0, 4, 1, 0, 0, 4, 1, 1, 0, 3, 1, 12, 8, 3, 1, 13, 8, 2, 0, 44, 5,
+ 2, 0, 17, 0, 4, 0, 35, 0, 5, 1, 25, 0, 5, 1, 0, 0, 5, 1, 1, 0, 6, 1, 14, 8, 7, 1,133, 6, 0, 0, 15, 8,
+ 0, 0, 16, 8, 0, 0, 17, 8, 2, 0, 18, 8, 2, 0, 19, 8, 2, 0, 20, 8, 2, 0, 21, 8, 2, 0, 22, 8, 2, 0, 35, 0,
+ 2, 0, 17, 0, 2, 0, 23, 8, 2, 0, 24, 8, 2, 0, 25, 8, 4, 0, 26, 8, 5, 1, 27, 8, 9, 0, 28, 8, 4, 0, 29, 8,
+ 4, 0, 30, 8, 4, 0, 31, 8, 4, 0, 32, 8, 0, 0, 33, 8,244, 0, 22, 0,244, 0, 0, 0,244, 0, 1, 0, 3, 1, 12, 8,
+ 3, 1, 13, 8, 3, 1, 34, 8, 3, 1, 35, 8, 2, 1, 36, 8, 15, 0, 49, 0, 0, 0, 43, 6, 0, 0, 37, 8, 2, 0, 87, 6,
+ 2, 0, 88, 6, 2, 0, 38, 8, 2, 0, 35, 0, 2, 0, 0, 8, 2, 0,226, 6, 2, 0, 17, 0, 8, 1, 14, 8, 12, 0, 39, 8,
+ 12, 0, 42, 6, 12, 0, 40, 8, 12, 0, 41, 8, 9, 1, 24, 0, 9, 1, 0, 0, 9, 1, 1, 0,214, 0, 95, 6, 15, 0, 42, 8,
+ 15, 0, 43, 8, 2, 0, 87, 6, 2, 0, 88, 6, 2, 0, 44, 8, 2, 0, 45, 8, 2, 0, 46, 8, 2, 0, 17, 0, 7, 0, 84, 2,
+ 2, 0, 20, 8, 2, 0, 21, 8, 2, 0,255, 7, 2, 0, 47, 8, 2, 0, 4, 8, 2, 0,196, 4, 10, 1, 14, 8, 12, 0, 48, 8,
+ 12, 0, 49, 8, 12, 0, 40, 8, 0, 0, 50, 8, 9, 0, 51, 8, 11, 1, 14, 0, 0, 0, 52, 8, 2, 0, 53, 8, 2, 0, 54, 8,
+ 2, 0, 55, 8, 2, 0, 56, 8, 2, 0, 32, 5, 2, 0, 57, 8, 2, 1, 58, 8, 38, 0, 59, 8, 4, 0, 60, 8, 4, 0, 61, 8,
+ 4, 0, 62, 8, 4, 0, 35, 0, 0, 0, 63, 8, 12, 1, 3, 0, 0, 0, 64, 8, 4, 0, 65, 8, 4, 0, 66, 8, 13, 1, 4, 0,
+ 4, 0,158, 6, 4, 0, 67, 8, 4, 0,164, 6, 4, 0, 68, 8, 14, 1, 2, 0, 4, 0, 69, 8, 4, 0, 70, 8, 15, 1, 5, 0,
+ 7, 0, 71, 8, 7, 0, 72, 8, 7, 0, 73, 8, 4, 0, 17, 0, 4, 0, 35, 0, 16, 1, 6, 0, 0, 0, 74, 8, 0, 0,115, 6,
+ 41, 0,130, 0, 2, 0,104, 0, 2, 0, 31, 5, 4, 0, 35, 0, 17, 1, 14, 0, 17, 1, 0, 0, 17, 1, 1, 0, 4, 0, 54, 0,
+ 4, 0, 21, 0, 4, 0, 26, 0, 4, 0, 75, 8, 4, 0, 76, 8, 4, 0, 77, 8, 12, 1, 78, 8, 0, 0, 74, 8, 16, 1,107, 3,
+ 13, 1, 79, 8, 14, 1, 80, 8, 15, 1, 81, 8, 18, 1, 12, 0, 0, 0,255, 1, 9, 0,221, 0, 0, 0,222, 0, 4, 0,225, 0,
+ 4, 0,233, 0, 9, 0,226, 0, 7, 0,228, 0, 7, 0,229, 0, 9, 0, 82, 8, 9, 0, 83, 8, 9, 0,230, 0, 9, 0,232, 0,
+ 19, 1, 48, 0, 19, 1, 0, 0, 19, 1, 1, 0, 9, 0, 84, 8, 9, 0, 24, 0, 0, 0, 25, 0, 4, 0, 17, 0, 4, 0, 15, 0,
+ 4, 0, 21, 0, 4, 0, 85, 0, 4, 0, 85, 8, 4, 0, 86, 8, 4, 0, 76, 8, 4, 0, 77, 8, 4, 0, 87, 8, 4, 0,244, 0,
+ 4, 0, 88, 8, 4, 0, 89, 8, 7, 0, 90, 8, 7, 0, 35, 0, 7, 0, 91, 8, 7, 0, 92, 8, 4, 0,121, 0, 4, 0, 93, 8,
+ 17, 1, 94, 8, 28, 0, 77, 0, 38, 0,117, 0, 24, 0, 95, 8, 41, 0,130, 0, 7, 0, 96, 8, 7, 0, 97, 8, 18, 1, 63, 1,
+ 19, 1, 98, 8, 19, 1, 99, 8, 19, 1,100, 8, 12, 0,101, 8,245, 0,235, 6, 9, 0,102, 8, 7, 0, 15, 4, 7, 0,103, 8,
+ 7, 0,104, 8, 4, 0,105, 8, 4, 0,106, 8, 7, 0,107, 8, 9, 0,108, 8, 4, 0,109, 8, 4, 0,110, 8, 4, 0,111, 8,
+ 7, 0,112, 8, 20, 1, 4, 0, 20, 1, 0, 0, 20, 1, 1, 0, 12, 0,113, 8, 19, 1,114, 8,203, 0, 11, 0, 12, 0,115, 8,
+ 12, 0,101, 8, 12, 0,116, 8, 19, 1,117, 8, 0, 0,118, 8, 0, 0,119, 8, 4, 0,120, 8, 4, 0,121, 8, 4, 0,122, 8,
+ 4, 0, 35, 0, 16, 0,123, 8, 21, 1, 4, 0, 7, 0,124, 8, 7, 0, 77, 3, 2, 0,125, 8, 2, 0,126, 8, 22, 1, 6, 0,
+ 7, 0,127, 8, 7, 0,128, 8, 7, 0,129, 8, 7, 0,130, 8, 4, 0,131, 8, 4, 0,132, 8, 23, 1, 13, 0, 7, 0,133, 8,
+ 7, 0,134, 8, 7, 0,135, 8, 7, 0,136, 8, 7, 0,137, 8, 7, 0,138, 8, 7, 0,139, 8, 7, 0,140, 8, 7, 0,141, 8,
+ 7, 0,142, 8, 4, 0,234, 2, 4, 0,143, 8, 4, 0,144, 8, 24, 1, 2, 0, 7, 0,102, 5, 7, 0, 35, 0, 25, 1, 4, 0,
+ 0, 0,145, 8, 0, 0,146, 8, 7, 0,147, 8, 7, 0,148, 8, 26, 1, 5, 0, 7, 0,149, 8, 7, 0,150, 8, 4, 0, 88, 0,
+ 4, 0,194, 2, 4, 0,151, 8, 27, 1, 6, 0, 27, 1, 0, 0, 27, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,152, 8,
+ 2, 0, 54, 0, 28, 1, 8, 0, 28, 1, 0, 0, 28, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,152, 8, 2, 0, 54, 0,
+ 7, 0, 21, 0, 7, 0,121, 0, 29, 1, 45, 0, 29, 1, 0, 0, 29, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,152, 8,
+ 2, 0,240, 0, 2, 0, 57, 4, 2, 0,153, 8, 7, 0,154, 8, 7, 0, 86, 0, 7, 0,247, 2, 4, 0,155, 8, 4, 0, 79, 0,
+ 4, 0,196, 2, 7, 0,156, 8, 7, 0,157, 8, 7, 0,158, 8, 7, 0,159, 8, 7, 0,160, 8, 7, 0,161, 8, 7, 0,244, 2,
+ 7, 0, 60, 1, 7, 0,162, 8, 7, 0,163, 8, 7, 0, 35, 0, 7, 0,164, 8, 7, 0,165, 8, 7, 0,166, 8, 2, 0,167, 8,
+ 2, 0,168, 8, 2, 0,169, 8, 2, 0,170, 8, 2, 0,171, 8, 2, 0,172, 8, 2, 0,173, 8, 2, 0,174, 8, 2, 0, 23, 2,
+ 2, 0,175, 8, 2, 0, 20, 2, 2, 0,176, 8, 0, 0,177, 8, 0, 0,178, 8, 7, 0,238, 0, 30, 1,179, 8, 58, 0,233, 1,
+ 31, 1, 16, 0, 31, 1, 0, 0, 31, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,152, 8, 2, 0,240, 0, 7, 0,239, 2,
+ 7, 0,240, 2, 7, 0,241, 2, 7, 0, 73, 2, 7, 0,242, 2, 7, 0,243, 2, 7, 0,180, 8, 7, 0,244, 2, 7, 0,246, 2,
+ 7, 0,247, 2,227, 0, 5, 0, 2, 0, 15, 0, 2, 0,181, 8, 2, 0, 17, 0, 2, 0,182, 8, 19, 0,194, 6,226, 0, 3, 0,
+ 4, 0, 66, 0, 4, 0,183, 8,227, 0, 2, 0, 32, 1, 7, 0, 32, 1, 0, 0, 32, 1, 1, 0, 0, 0, 18, 0, 2, 0, 15, 0,
+ 2, 0, 17, 0, 4, 0, 20, 0, 9, 0,184, 8, 33, 1, 5, 0, 0, 0, 18, 0, 7, 0, 80, 1, 7, 0,185, 8, 4, 0,186, 8,
+ 4, 0, 35, 0, 34, 1, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 87, 0, 2, 0, 67, 0, 35, 1, 4, 0, 0, 0, 18, 0,
+ 57, 0,187, 8, 7, 0, 80, 1, 7, 0, 35, 0, 36, 1, 6, 0, 2, 0,188, 8, 2, 0,189, 8, 2, 0, 15, 0, 2, 0,190, 8,
+ 0, 0,191, 8, 0, 0,192, 8, 37, 1, 5, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 0, 0,193, 8, 0, 0,194, 8,
+ 38, 1, 3, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 39, 1, 4, 0, 2, 0,195, 8, 2, 0,196, 8, 2, 0, 17, 0,
+ 2, 0, 35, 0, 40, 1, 6, 0, 0, 0, 18, 0, 0, 0,197, 8, 2, 0,198, 8, 2, 0,244, 2, 2, 0, 73, 1, 2, 0, 67, 0,
+ 41, 1, 5, 0, 0, 0, 18, 0, 7, 0, 77, 3, 7, 0,146, 4, 2, 0, 17, 0, 2, 0,208, 2, 42, 1, 3, 0, 0, 0, 18, 0,
+ 4, 0,196, 2, 4, 0,195, 8, 43, 1, 7, 0, 0, 0, 18, 0, 7, 0,146, 4, 0, 0,199, 8, 0, 0,200, 8, 2, 0, 73, 1,
+ 2, 0, 87, 0, 4, 0,201, 8, 44, 1, 4, 0, 0, 0,202, 8, 0, 0,203, 8, 4, 0, 15, 0, 7, 0,212, 2, 45, 1, 3, 0,
+ 24, 0,204, 8, 0, 0,205, 8, 0, 0,206, 8, 46, 1, 18, 0, 46, 1, 0, 0, 46, 1, 1, 0, 2, 0, 15, 0, 2, 0,207, 8,
+ 2, 0, 17, 0, 2, 0,208, 8, 2, 0,209, 8, 2, 0,210, 8, 2, 0, 87, 0, 2, 0, 67, 0, 0, 0, 18, 0, 9, 0, 2, 0,
+ 47, 1,211, 8, 24, 0, 42, 0, 2, 0,119, 5, 2, 0,103, 8, 2, 0,212, 8, 2, 0, 35, 0, 48, 1, 11, 0, 0, 0, 18, 0,
+ 0, 0, 15, 0, 0, 0,213, 8, 2, 0, 17, 0, 2, 0,208, 2, 2, 0,214, 8, 4, 0,215, 8, 4, 0,216, 8, 4, 0,217, 8,
+ 4, 0,218, 8, 4, 0,219, 8, 49, 1, 1, 0, 0, 0,220, 8, 50, 1, 4, 0, 34, 0,157, 6, 0, 0,161, 7, 4, 0, 73, 1,
+ 4, 0, 17, 0, 47, 1, 18, 0, 47, 1, 0, 0, 47, 1, 1, 0, 47, 1,221, 8, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,222, 8,
+ 2, 0,210, 8, 2, 0,207, 8, 2, 0,223, 8, 2, 0, 67, 0, 2, 0,230, 1, 0, 0, 18, 0, 9, 0, 2, 0, 51, 1,211, 8,
+ 46, 1,224, 8, 2, 0, 13, 0, 2, 0,225, 8, 4, 0,226, 8, 52, 1, 3, 0, 4, 0,222, 2, 4, 0, 35, 0, 24, 0, 42, 0,
+ 53, 1, 15, 0,157, 0,227, 8, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,154, 8, 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,228, 8,
+ 2, 0,229, 8, 2, 0,230, 8, 2, 0,126, 0, 2, 0,231, 8, 2, 0,232, 8, 2, 0, 35, 0, 7, 0,233, 8, 7, 0,234, 8,
+ 54, 1, 8, 0, 7, 0,235, 8, 7, 0,236, 8, 7, 0,237, 8, 7, 0,238, 8, 7, 0,239, 8, 7, 0,240, 8, 7, 0,241, 8,
+ 7, 0,242, 8, 55, 1, 13, 0, 2, 0, 17, 0, 2, 0,236, 6, 4, 0, 87, 0, 4, 0, 67, 0, 2, 0,243, 8, 7, 0, 15, 4,
+ 7, 0,244, 8,245, 0,235, 6, 54, 1,245, 8, 2, 0, 15, 0, 2, 0, 38, 5, 2, 0, 1, 6, 2, 0,246, 8, 56, 1, 11, 0,
+ 4, 0,222, 2, 2, 0, 15, 0, 2, 0, 17, 0, 24, 0, 42, 0, 73, 0,247, 8, 0, 0, 18, 0, 7, 0,248, 8, 7, 0,249, 8,
+ 7, 0,152, 3, 2, 0,250, 8, 2, 0,251, 8, 57, 1, 5, 0, 2, 0, 15, 0, 2, 0, 87, 0, 4, 0, 35, 0, 38, 0,117, 0,
+ 24, 0,110, 5, 58, 1, 5, 0, 4, 0, 35, 0, 4, 0, 15, 0, 0, 0, 18, 0, 0, 0,193, 8, 24, 0, 42, 0, 59, 1, 13, 0,
+ 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,207, 8, 2, 0,153, 3, 7, 0,252, 8, 7, 0,253, 8, 7, 0,196, 4, 7, 0,164, 3,
+ 7, 0,123, 3, 7, 0,126, 3, 7, 0,254, 8, 7, 0,255, 8, 24, 0, 0, 9, 60, 1, 10, 0, 2, 0, 17, 0, 2, 0, 15, 0,
+ 7, 0,154, 8, 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,228, 8, 2, 0, 87, 0, 2, 0, 67, 0, 2, 0,230, 1, 2, 0, 38, 5,
+ 61, 1, 8, 0, 24, 0, 42, 0, 7, 0,241, 2, 7, 0, 1, 9, 7, 0, 2, 9, 7, 0,153, 3, 2, 0, 87, 0, 2, 0,208, 2,
+ 7, 0, 67, 0, 62, 1, 12, 0, 2, 0, 15, 0, 2, 0, 73, 1, 2, 0, 17, 0, 2, 0,244, 2, 2, 0,222, 2, 2, 0, 3, 9,
+ 4, 0, 35, 0, 7, 0, 4, 9, 7, 0, 5, 9, 7, 0, 6, 9, 7, 0, 7, 9, 0, 0, 8, 9, 63, 1, 9, 0, 2, 0, 17, 0,
+ 2, 0, 15, 0, 4, 0,154, 8, 4, 0, 86, 0, 0, 0, 18, 0, 2, 0,196, 4, 2, 0, 61, 0, 2, 0, 9, 9, 2, 0, 10, 9,
+ 64, 1, 7, 0, 4, 0,196, 2, 4, 0, 11, 9, 4, 0, 12, 9, 4, 0, 13, 9, 7, 0, 14, 9, 7, 0, 15, 9, 0, 0,199, 8,
+ 65, 1, 7, 0, 0, 0, 16, 9, 24, 0, 17, 9, 0, 0,205, 8, 2, 0, 18, 9, 2, 0, 87, 0, 4, 0, 67, 0, 0, 0,206, 8,
+ 66, 1, 6, 0, 2, 0, 17, 0, 2, 0, 15, 0, 4, 0,154, 8, 4, 0, 86, 0, 0, 0, 19, 9, 0, 0, 20, 9, 67, 1, 1, 0,
+ 4, 0, 17, 0, 68, 1, 6, 0, 0, 0, 90, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 21, 9, 7, 0, 22, 9, 34, 0,157, 6,
+ 69, 1, 4, 0, 0, 0,160, 2, 2, 0, 17, 0, 4, 0, 15, 0, 24, 0, 42, 0, 70, 1, 2, 0, 4, 0, 15, 0, 4, 0, 76, 6,
+ 71, 1, 6, 0, 0, 0,202, 8, 0, 0,203, 8, 4, 0, 15, 0, 7, 0, 31, 2, 24, 0, 54, 3, 24, 0, 23, 9, 51, 1, 10, 0,
+ 51, 1, 0, 0, 51, 1, 1, 0, 51, 1,221, 8, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,207, 8, 2, 0, 24, 9, 0, 0, 18, 0,
+ 9, 0, 2, 0, 24, 0, 42, 0,245, 0, 16, 0, 19, 0, 29, 0, 0, 0, 32, 0, 35, 0,145, 0, 9, 0,221, 0, 35, 0, 25, 9,
+ 28, 0, 77, 0, 7, 0, 15, 4, 7, 0, 26, 9, 7, 0,244, 8, 7, 0,235, 8, 7, 0,236, 8, 7, 0, 27, 9, 4, 0, 88, 0,
+ 4, 0, 35, 0, 9, 0, 28, 9, 9, 0, 29, 9, 72, 1, 6, 0, 72, 1, 0, 0, 72, 1, 1, 0, 24, 0, 42, 0, 9, 0, 30, 9,
+ 2, 0,245, 0, 0, 0,193, 2, 58, 0, 4, 0, 19, 0, 29, 0, 12, 0, 31, 9, 4, 0,126, 0, 7, 0, 32, 9, 73, 1, 28, 0,
+ 73, 1, 0, 0, 73, 1, 1, 0, 18, 0, 33, 9, 73, 1, 36, 0, 12, 0, 34, 9, 0, 0, 18, 0, 7, 0, 35, 9, 7, 0, 36, 9,
+ 7, 0, 37, 9, 7, 0, 38, 9, 4, 0, 17, 0, 7, 0, 39, 9, 7, 0, 40, 9, 7, 0, 41, 9, 7, 0, 42, 9, 7, 0, 80, 1,
+ 7, 0, 31, 2, 7, 0, 43, 9, 7, 0,194, 2, 7, 0, 44, 9, 7, 0, 45, 9, 7, 0, 46, 9, 7, 0, 47, 9, 7, 0, 48, 9,
+ 7, 0,168, 0, 4, 0,126, 0, 2, 0,156, 5, 2, 0, 8, 7, 74, 1, 25, 0, 19, 0, 29, 0, 31, 0, 72, 0, 12, 0, 49, 9,
+ 12, 0, 50, 9, 12, 0, 51, 9, 73, 1, 52, 9, 9, 0, 53, 9, 9, 0, 54, 9, 4, 0, 17, 0, 4, 0, 51, 6, 2, 0,248, 2,
+ 2, 0,106, 6, 4, 0, 55, 9, 4, 0,126, 0, 4, 0, 56, 9, 2, 0, 57, 9, 2, 0, 58, 9, 2, 0, 59, 9, 2, 0, 60, 9,
+ 4, 0, 61, 9, 4, 0, 62, 9, 4, 0, 63, 9, 4, 0, 64, 9, 4, 0, 65, 9, 4, 0, 66, 9, 75, 1, 2, 0, 7, 0,149, 2,
+ 4, 0, 17, 0,161, 0, 5, 0, 75, 1, 67, 9, 4, 0,194, 2, 4, 0, 68, 9, 4, 0, 69, 9, 4, 0, 17, 0,160, 0, 16, 0,
+ 4, 0, 70, 9, 4, 0, 71, 9, 4, 0, 72, 9, 4, 0, 73, 9, 2, 0, 74, 9, 2, 0, 75, 9, 2, 0, 76, 9, 2, 0,245, 0,
+ 2, 0, 77, 9, 2, 0, 78, 9, 2, 0, 79, 9, 2, 0, 80, 9, 4, 0, 81, 9, 4, 0, 82, 9, 4, 0, 83, 9, 4, 0, 84, 9,
+ 76, 1, 41, 0, 76, 1, 0, 0, 76, 1, 1, 0, 18, 0, 33, 9, 12, 0,178, 3, 0, 0, 18, 0, 2, 0, 17, 0, 2, 0, 85, 9,
+ 2, 0, 86, 9, 2, 0, 87, 9, 2, 0,138, 3, 2, 0, 88, 9, 4, 0, 71, 2, 4, 0, 63, 9, 4, 0, 64, 9, 73, 1, 89, 9,
+ 76, 1, 36, 0, 76, 1, 90, 9, 12, 0, 91, 9,161, 0,115, 3, 24, 0, 92, 9, 76, 1, 93, 9, 7, 0, 68, 1, 7, 0,168, 0,
+ 7, 0, 94, 9, 7, 0, 10, 2, 7, 0,128, 3, 7, 0,130, 3, 2, 0,161, 3, 2, 0, 35, 0, 7, 0, 95, 9, 7, 0, 96, 9,
+ 7, 0,133, 3, 7, 0, 97, 9, 7, 0, 98, 9, 7, 0, 99, 9, 7, 0,100, 9, 7, 0,101, 9, 7, 0,102, 9, 7, 0,103, 9,
+ 7, 0,104, 9, 7, 0, 64, 2,158, 0, 16, 0, 12, 0,105, 9, 68, 0,106, 9, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0,107, 9,
+ 4, 0, 87, 0, 7, 0,100, 2, 7, 0,108, 9, 7, 0,109, 9, 12, 0,110, 9, 4, 0,111, 9, 4, 0,112, 9, 9, 0,113, 9,
+ 9, 0,114, 9,160, 0,114, 3, 0, 0,115, 9, 77, 1, 1, 0, 4, 0,112, 9, 78, 1, 12, 0, 4, 0,112, 9, 7, 0,219, 8,
+ 2, 0,116, 9, 2, 0,117, 9, 7, 0,118, 9, 7, 0,119, 9, 2, 0,120, 9, 2, 0, 17, 0, 7, 0,121, 9, 7, 0,122, 9,
+ 7, 0,123, 9, 7, 0,124, 9, 79, 1, 7, 0, 79, 1, 0, 0, 79, 1, 1, 0, 12, 0,125, 9, 4, 0, 17, 0, 4, 0,126, 9,
+ 0, 0, 5, 4,253, 0,127, 9,157, 0, 9, 0, 19, 0, 29, 0, 12, 0,128, 9, 12, 0,105, 9, 12, 0,129, 9, 12, 0, 98, 0,
+ 4, 0, 17, 0, 4, 0,130, 9, 4, 0,131, 9, 4, 0, 35, 0,217, 0, 6, 0, 19, 0,132, 9, 12, 0,105, 9, 58, 0,133, 9,
+ 0, 0,134, 9, 4, 0,135, 9, 4, 0, 17, 0, 80, 1, 13, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6,
+ 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 95, 6,157, 0,110, 3,217, 0,136, 9, 0, 0, 73, 1, 0, 0, 98, 6, 2, 0, 17, 0,
+ 7, 0,137, 9, 81, 1, 8, 0, 81, 1, 0, 0, 81, 1, 1, 0, 79, 1,138, 9, 28, 0, 77, 0, 12, 0,116, 3, 4, 0, 17, 0,
+ 0, 0, 18, 0, 4, 0,253, 7, 82, 1, 5, 0, 82, 1, 0, 0, 82, 1, 1, 0, 28, 0, 77, 0, 2, 0, 17, 0, 0, 0,139, 9,
+ 83, 1, 14, 0, 83, 1, 0, 0, 83, 1, 1, 0, 9, 0, 2, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,140, 9, 0, 0,141, 9,
+ 0, 0,139, 9, 7, 0,142, 9, 7, 0,143, 9, 4, 0, 35, 0, 28, 0, 77, 0, 7, 0,144, 9, 7, 0,145, 9, 84, 1, 9, 0,
+ 84, 1, 0, 0, 84, 1, 1, 0, 24, 0,146, 9, 0, 0,251, 2, 7, 0,147, 9, 2, 0,148, 9, 2, 0, 17, 0, 2, 0, 15, 0,
+ 2, 0,149, 9, 85, 1, 7, 0, 34, 0,157, 6, 18, 0, 33, 9, 4, 0, 17, 0, 4, 0,150, 9, 12, 0,151, 9, 24, 0,146, 9,
+ 0, 0,251, 2, 86, 1, 15, 0, 24, 0,146, 9, 2, 0,152, 9, 2, 0, 17, 0, 2, 0,153, 9, 2, 0,154, 9, 0, 0,251, 2,
+ 24, 0,155, 9, 0, 0,156, 9, 7, 0,157, 9, 7, 0, 31, 2, 7, 0,158, 9, 7, 0,159, 9, 2, 0, 15, 0, 2, 0, 73, 1,
+ 7, 0, 80, 1, 87, 1, 6, 0, 24, 0,146, 9, 7, 0, 67, 9, 2, 0,160, 9, 2, 0,161, 9, 2, 0, 17, 0, 2, 0,162, 9,
+ 88, 1, 6, 0, 24, 0,146, 9, 4, 0,163, 9, 4, 0,164, 9, 4, 0, 88, 0, 4, 0, 35, 0, 0, 0,251, 2, 89, 1, 4, 0,
+ 24, 0,146, 9, 4, 0, 17, 0, 4, 0,163, 9, 0, 0,251, 2, 90, 1, 4, 0, 24, 0,146, 9, 4, 0, 17, 0, 4, 0,163, 9,
+ 0, 0,251, 2, 91, 1, 4, 0, 24, 0,146, 9, 4, 0, 17, 0, 4, 0,163, 9, 0, 0,251, 2, 92, 1, 2, 0, 4, 0, 17, 0,
+ 7, 0, 15, 4, 93, 1, 2, 0, 24, 0,146, 9, 0, 0,251, 2, 94, 1, 10, 0, 24, 0,146, 9, 4, 0,165, 9, 7, 0,120, 0,
+ 4, 0, 17, 0, 2, 0,155, 6, 2, 0,166, 9, 2, 0, 87, 0, 2, 0, 67, 0, 7, 0,167, 9, 0, 0,251, 2, 95, 1, 10, 0,
+ 24, 0,146, 9, 2, 0, 15, 0, 2, 0, 65, 4, 4, 0, 85, 0, 4, 0, 86, 0, 7, 0, 1, 9, 7, 0, 2, 9, 4, 0, 35, 0,
+157, 0,227, 8, 0, 0,251, 2, 96, 1, 4, 0, 24, 0,146, 9, 4, 0,139, 3, 4, 0,168, 9, 0, 0,251, 2, 97, 1, 4, 0,
+ 24, 0,146, 9, 4, 0,139, 3, 4, 0, 35, 0, 0, 0,251, 2, 98, 1, 6, 0, 24, 0,146, 9, 7, 0,120, 0, 7, 0, 66, 3,
+ 4, 0,169, 9, 2, 0,139, 3, 2, 0,140, 3, 99, 1, 6, 0, 24, 0,146, 9, 4, 0,170, 9, 4, 0,171, 9, 7, 0,172, 9,
+ 7, 0,173, 9, 0, 0,251, 2,100, 1, 16, 0, 24, 0,146, 9, 24, 0, 90, 9, 4, 0, 15, 0, 7, 0,174, 9, 7, 0,175, 9,
+ 7, 0,176, 9, 7, 0,177, 9, 7, 0,178, 9, 7, 0,179, 9, 7, 0,180, 9, 7, 0,181, 9, 7, 0,182, 9, 2, 0, 17, 0,
+ 2, 0, 35, 0, 2, 0, 87, 0, 2, 0, 67, 0,101, 1, 3, 0, 24, 0,146, 9, 4, 0, 17, 0, 4, 0, 23, 2,102, 1, 5, 0,
+ 24, 0,146, 9, 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,183, 9, 0, 0,251, 2,103, 1, 10, 0, 24, 0,146, 9, 0, 0,251, 2,
+ 2, 0,184, 9, 2, 0,185, 9, 0, 0,186, 9, 0, 0,187, 9, 7, 0,188, 9, 7, 0,189, 9, 7, 0,190, 9, 7, 0,191, 9,
+104, 1, 5, 0, 24, 0,146, 9, 0, 0,251, 2, 7, 0,202, 2, 2, 0,192, 9, 2, 0, 17, 0,105, 1, 8, 0, 7, 0, 7, 0,
+ 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,193, 9, 7, 0,194, 9, 2, 0, 17, 0, 2, 0, 23, 2,106, 1, 8, 0,
+ 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,193, 9, 7, 0,194, 9, 2, 0, 17, 0, 2, 0, 23, 2,
+107, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,193, 9, 7, 0,194, 9, 2, 0, 17, 0,
+ 2, 0, 23, 2,108, 1, 7, 0, 24, 0,146, 9, 0, 0,251, 2, 7, 0, 80, 1, 7, 0, 89, 1, 2, 0, 17, 0, 2, 0, 73, 1,
+ 4, 0, 35, 0,109, 1, 5, 0, 24, 0, 54, 3, 7, 0, 80, 1, 2, 0, 58, 3, 0, 0, 60, 3, 0, 0,195, 9,110, 1, 10, 0,
+110, 1, 0, 0,110, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,196, 9, 7, 0, 23, 1, 7, 0, 24, 1, 2, 0,125, 9,
+ 2, 0,197, 9, 24, 0, 42, 0,111, 1, 22, 0,111, 1, 0, 0,111, 1, 1, 0, 2, 0, 17, 0, 2, 0, 73, 1, 2, 0,198, 9,
+ 2, 0,199, 9, 28, 0, 77, 0,157, 0,227, 8, 24, 0,160, 0, 7, 0, 85, 0, 7, 0, 86, 0, 7, 0,200, 9, 7, 0,201, 9,
+ 7, 0,202, 9, 7, 0,203, 9, 7, 0,237, 2, 7, 0,204, 9, 7, 0,229, 8, 7, 0,205, 9, 0, 0,206, 9, 0, 0,207, 9,
+ 12, 0,119, 3,112, 1, 8, 0, 7, 0, 38, 2, 7, 0, 1, 9, 7, 0, 2, 9, 9, 0, 2, 0, 2, 0,208, 9, 2, 0,209, 9,
+ 2, 0,210, 9, 2, 0,211, 9,113, 1, 19, 0,113, 1, 0, 0,113, 1, 1, 0,113, 1,212, 9, 0, 0, 18, 0,112, 1,213, 9,
+ 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,214, 9, 2, 0,215, 9,112, 1,216, 9, 2, 0,217, 9, 2, 0, 87, 0, 7, 0,218, 9,
+ 7, 0,219, 9, 4, 0,220, 9,113, 1,221, 9, 4, 0,222, 9, 4, 0, 67, 0,114, 1,223, 9,115, 1, 4, 0, 0, 0,224, 9,
+ 2, 0,225, 9, 2, 0,226, 9, 4, 0, 35, 0,116, 1, 34, 0,116, 1, 0, 0,116, 1, 1, 0,116, 1,227, 9, 0, 0, 18, 0,
+ 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 75, 8, 2, 0,103, 8, 2, 0,228, 9, 2, 0,160, 6, 2, 0,217, 9, 2, 0,181, 8,
+ 12, 0,222, 8, 12, 0,229, 9, 19, 0,194, 6, 9, 0,230, 9, 7, 0,218, 9, 7, 0,219, 9, 7, 0, 73, 2, 7, 0,231, 9,
+ 0, 0,232, 9, 2, 0,233, 9, 2, 0,234, 9, 7, 0,235, 9, 7, 0,236, 9, 2, 0,237, 9, 2, 0,238, 9, 9, 0,239, 9,
+ 16, 0,240, 9, 16, 0,241, 9, 16, 0,242, 9,115, 1,146, 0,117, 1,243, 9,118, 1,244, 9,114, 1, 8, 0,114, 1, 0, 0,
+114, 1, 1, 0,116, 1,245, 9,116, 1,246, 9,113, 1,247, 9,113, 1,248, 9, 4, 0, 17, 0, 4, 0, 35, 0, 53, 0, 23, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0,159, 0,113, 3, 12, 0,249, 9, 12, 0,250, 9,112, 1,251, 9, 12, 0,252, 9, 4, 0, 15, 0,
+ 4, 0,253, 9, 4, 0,254, 9, 4, 0,255, 9, 4, 0, 17, 0, 4, 0, 35, 0, 12, 0, 0, 10, 12, 0,222, 8, 12, 0,229, 9,
+ 4, 0, 65, 6, 9, 0, 1, 10, 9, 0, 2, 10, 4, 0, 3, 10, 9, 0, 4, 10, 9, 0, 5, 10, 9, 0, 6, 10,119, 1, 6, 0,
+ 4, 0,119, 0, 4, 0,121, 0, 4, 0,181, 8, 0, 0, 7, 10, 0, 0, 8, 10, 2, 0, 35, 0,120, 1, 16, 0, 2, 0, 20, 8,
+ 2, 0, 21, 8, 2, 0, 9, 10, 2, 0, 10, 10, 2, 0, 11, 10, 2, 0, 65, 0, 2, 0,195, 6, 2, 0, 12, 10, 7, 0,236, 2,
+ 7, 0, 13, 10, 7, 0, 14, 10, 2, 0, 95, 1, 0, 0, 15, 10, 0, 0, 16, 10, 4, 0, 17, 10, 4, 0, 18, 10,121, 1, 9, 0,
+ 7, 0, 19, 10, 7, 0, 20, 10, 7, 0, 27, 9, 7, 0, 77, 3, 7, 0, 21, 10, 7, 0,112, 6, 2, 0, 75, 3, 0, 0, 22, 10,
+ 0, 0, 35, 0,122, 1, 4, 0, 7, 0, 23, 10, 7, 0, 24, 10, 2, 0, 75, 3, 2, 0, 35, 0,123, 1, 3, 0, 7, 0, 25, 10,
+ 7, 0, 90, 8, 7, 0, 13, 0,124, 1, 7, 0, 0, 0,255, 1, 2, 0, 29, 5, 2, 0, 30, 5, 2, 0, 31, 5, 2, 0,218, 4,
+ 4, 0,121, 0, 4, 0, 63, 4,125, 1, 9, 0, 7, 0, 26, 10, 7, 0, 27, 10, 7, 0, 28, 10, 7, 0, 84, 2, 7, 0, 29, 10,
+ 7, 0, 30, 10, 7, 0, 31, 10, 2, 0, 32, 10, 2, 0, 33, 10,126, 1, 8, 0, 2, 0, 34, 10, 2, 0, 35, 10, 2, 0, 36, 10,
+ 2, 0, 37, 10, 7, 0, 38, 10, 7, 0, 39, 10, 7, 0, 40, 10, 7, 0, 41, 10,127, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,
+128, 1, 2, 0, 0, 0,162, 0, 0, 0, 42, 10,129, 1, 1, 0, 0, 0, 18, 0,130, 1, 10, 0, 0, 0, 43, 10, 0, 0, 44, 10,
+ 0, 0,104, 6, 0, 0, 45, 10, 2, 0, 9, 10, 2, 0, 46, 10, 7, 0, 47, 10, 7, 0, 48, 10, 7, 0, 49, 10, 7, 0,204, 9,
+131, 1, 2, 0, 9, 0, 50, 10, 9, 0, 51, 10,132, 1, 11, 0, 0, 0, 31, 5, 0, 0, 15, 0, 0, 0, 75, 3, 0, 0, 77, 3,
+ 0, 0, 52, 10, 0, 0,104, 0, 0, 0,160, 2, 7, 0, 53, 10, 7, 0, 54, 10, 7, 0, 55, 10, 7, 0, 56, 10,133, 1, 8, 0,
+ 7, 0,188, 8, 7, 0,120, 0, 7, 0, 16, 10, 7, 0,153, 2, 7, 0, 57, 10, 7, 0,234, 0, 7, 0, 58, 10, 4, 0, 15, 0,
+134, 1, 4, 0, 2, 0, 59, 10, 2, 0, 60, 10, 2, 0, 61, 10, 2, 0, 35, 0,135, 1, 8, 0, 7, 0, 62, 10, 7, 0,202, 2,
+ 7, 0, 63, 10, 7, 0, 71, 8, 7, 0, 72, 8, 7, 0, 73, 8, 7, 0, 64, 10, 7, 0, 65, 10,136, 1, 6, 0, 2, 0, 66, 10,
+ 2, 0, 67, 10, 7, 0, 68, 10, 7, 0, 69, 10, 7, 0, 70, 10, 7, 0, 71, 10,137, 1, 1, 0, 0, 0, 18, 0,138, 1, 4, 0,
+ 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 17, 0, 2, 0, 72, 10,139, 1, 10, 0, 2, 0,249, 3, 2, 0, 17, 0, 7, 0,146, 4,
+ 7, 0, 73, 10, 7, 0, 74, 10, 7, 0, 75, 10, 7, 0, 76, 10,138, 1, 77, 10,138, 1, 78, 10,138, 1, 79, 10, 51, 0, 11, 0,
+ 4, 0, 17, 0, 4, 0, 61, 0, 4, 0, 80, 10, 4, 0, 81, 10, 16, 0, 82, 10, 16, 0, 83, 10,139, 1, 84, 10, 7, 0, 85, 10,
+ 7, 0, 86, 10, 7, 0, 87, 10, 7, 0, 88, 10,230, 0, 10, 0, 4, 0,125, 9, 4, 0, 89, 10, 7, 0, 90, 10, 7, 0, 91, 10,
+ 7, 0, 92, 10, 7, 0, 93, 10, 7, 0, 8, 0, 7, 0, 10, 0, 4, 0, 73, 1, 4, 0,241, 2,229, 0, 18, 0, 4, 0,124, 0,
+ 4, 0, 94, 10, 4, 0, 95, 10, 7, 0, 96, 10, 4, 0, 97, 10, 7, 0, 98, 10, 7, 0, 99, 10, 4, 0,100, 10, 7, 0,101, 10,
+ 4, 0,102, 10, 7, 0,103, 10,230, 0,104, 10, 7, 0,105, 10, 7, 0,106, 10, 7, 0,107, 10, 7, 0,108, 10, 4, 0,109, 10,
+ 4, 0, 35, 0,140, 1, 4, 0, 39, 0,228, 2, 7, 0,110, 10, 7, 0,162, 1, 7, 0, 35, 0,192, 0, 34, 0, 19, 0, 29, 0,
+140, 1,111, 10, 51, 0, 77, 10, 43, 0,112, 10, 49, 0,113, 10, 22, 0,146, 0, 0, 0,114, 10, 7, 0,115, 10, 2, 0, 7, 6,
+ 2, 0,116, 10, 4, 0,104, 0, 4, 0, 17, 0, 7, 0,117, 10, 4, 0, 81, 2, 4, 0,118, 10, 7, 0,119, 10, 7, 0,120, 10,
+ 7, 0,121, 10, 7, 0,162, 1, 4, 0,122, 10, 7, 0,123, 10, 0, 0,124, 10, 0, 0,125, 10, 0, 0,126, 10, 0, 0,127, 10,
+ 7, 0,128, 10, 7, 0,129, 10, 7, 0,130, 10, 7, 0,241, 2, 7, 0,131, 10, 4, 0,132, 10, 7, 0,133, 10, 7, 0,134, 10,
+ 7, 0,135, 10,141, 1, 10, 0, 4, 0, 15, 0, 4, 0,120, 0, 4, 0, 17, 0, 4, 0,202, 3, 4, 0,136, 10, 4, 0,137, 10,
+ 4, 0,138, 10, 0, 0, 90, 0, 0, 0, 18, 0, 9, 0, 2, 0,142, 1, 1, 0, 0, 0, 63, 8, 84, 0, 7, 0,141, 1,139, 10,
+ 4, 0,140, 10, 4, 0,141, 10, 4, 0,142, 10, 4, 0, 35, 0, 9, 0,143, 10,142, 1,144, 10,143, 1, 5, 0, 7, 0,149, 2,
+ 7, 0,222, 2, 7, 0, 31, 2, 2, 0,130, 2, 2, 0, 35, 0,144, 1, 5, 0, 7, 0,149, 2, 7, 0, 90, 4, 7, 0,145, 10,
+ 7, 0,146, 10, 7, 0,222, 2,145, 1, 5, 0, 24, 0,147, 10,146, 1, 20, 0, 7, 0,230, 5, 7, 0,148, 10, 7, 0, 54, 0,
+147, 1, 3, 0, 7, 0,149, 10, 4, 0,150, 10, 4, 0,151, 10,148, 1, 7, 0, 4, 0,152, 10, 4, 0,153, 10, 4, 0,154, 10,
+ 7, 0,155, 10, 7, 0,156, 10, 7, 0,157, 10, 7, 0, 54, 0,149, 1, 8, 0,149, 1, 0, 0,149, 1, 1, 0, 24, 0, 42, 0,
+ 4, 0,253, 0, 2, 0, 17, 0, 2, 0, 73, 1, 7, 0,222, 2, 7, 0,196, 8,150, 1, 7, 0,150, 1, 0, 0,150, 1, 1, 0,
+ 24, 0, 42, 0, 2, 0,207, 2, 2, 0, 17, 0, 2, 0,253, 1, 2, 0, 54, 0,151, 1, 17, 0,144, 1,194, 3,144, 1,158, 10,
+143, 1,159, 10,144, 1,179, 8,145, 1,160, 10, 4, 0, 79, 0, 7, 0,222, 2, 7, 0,247, 2, 7, 0,161, 10, 4, 0,152, 10,
+ 4, 0,162, 10, 7, 0,156, 10, 7, 0,157, 10, 7, 0,104, 0, 4, 0,163, 10, 2, 0, 17, 0, 2, 0,164, 10,152, 1, 15, 0,
+ 7, 0,249, 0, 7, 0,165, 10, 7, 0,149, 10, 7, 0,166, 10, 7, 0,167, 10, 7, 0,168, 10, 7, 0,169, 10, 7, 0,170, 10,
+ 7, 0,171, 10, 7, 0,172, 10, 7, 0,173, 10, 7, 0,174, 10, 7, 0,175, 10, 4, 0, 17, 0, 4, 0,176, 10,153, 1,124, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0,154, 1,177, 10,152, 1,178, 10,168, 0, 85, 4, 4, 0, 17, 0, 4, 0, 54, 0, 2, 0, 15, 0,
+ 2, 0,184, 9, 2, 0,179, 10, 2, 0,108, 1, 2, 0,180, 10, 2, 0,161, 3, 2, 0,181, 10, 2, 0,182, 10, 2, 0,183, 10,
+ 2, 0,184, 10, 2, 0,185, 10, 2, 0,186, 10, 2, 0,187, 10, 2, 0,188, 10, 2, 0,189, 10, 2, 0,127, 5, 2, 0,190, 10,
+ 2, 0,191, 10, 2, 0,192, 10, 2, 0,193, 10, 2, 0,194, 10, 2, 0, 20, 2, 2, 0,172, 8, 2, 0,143, 8, 2, 0,195, 10,
+ 2, 0,196, 10, 2, 0,212, 3, 2, 0,213, 3, 2, 0,197, 10, 2, 0,198, 10, 2, 0,199, 10, 2, 0,200, 10, 7, 0,201, 10,
+ 7, 0,202, 10, 7, 0,203, 10, 7, 0,204, 10, 7, 0,205, 10, 7, 0,206, 10, 7, 0,207, 10, 2, 0, 77, 5, 2, 0,208, 10,
+ 7, 0,209, 10, 7, 0,210, 10, 7, 0,211, 10, 7, 0,154, 8, 7, 0, 86, 0, 7, 0,247, 2, 7, 0,160, 8, 7, 0,212, 10,
+ 7, 0,213, 10, 7, 0,214, 10, 7, 0,215, 10, 4, 0,155, 8, 4, 0,153, 8, 4, 0,216, 10, 4, 0,217, 10, 7, 0,156, 8,
+ 7, 0,157, 8, 7, 0,158, 8, 7, 0,218, 10, 7, 0,219, 10, 7, 0,220, 10, 7, 0,221, 10, 7, 0,222, 10, 7, 0,223, 10,
+ 7, 0,224, 10, 7, 0,225, 10, 7, 0,226, 10, 7, 0,152, 3, 7, 0,104, 0, 7, 0,227, 10, 7, 0,228, 10, 7, 0,229, 10,
+ 7, 0,230, 10, 7, 0,207, 0, 7, 0,231, 10, 4, 0,232, 10, 4, 0,233, 10, 7, 0,234, 10, 7, 0,235, 10, 7, 0,236, 10,
+ 7, 0,237, 10, 7, 0,238, 10, 7, 0,206, 0, 7, 0,239, 10, 7, 0,239, 3, 7, 0,237, 3, 7, 0,238, 3, 7, 0,240, 10,
+ 7, 0,241, 10, 7, 0,242, 10, 7, 0,243, 10, 7, 0,244, 10, 7, 0,245, 10, 7, 0,246, 10, 7, 0,247, 10, 7, 0,248, 10,
+ 7, 0,249, 10, 7, 0,250, 10, 7, 0,251, 10, 7, 0,252, 10, 7, 0,253, 10, 7, 0,254, 10, 7, 0,255, 10, 7, 0, 0, 11,
+ 7, 0, 1, 11, 4, 0, 2, 11, 4, 0, 3, 11, 43, 0,126, 1, 58, 0,183, 3, 12, 0, 4, 11, 58, 0, 5, 11, 24, 0, 6, 11,
+ 24, 0, 7, 11, 28, 0, 77, 0,163, 0, 65, 1,163, 0, 8, 11,141, 0, 50, 0,141, 0, 0, 0,141, 0, 1, 0,153, 1, 9, 11,
+151, 1, 10, 11,148, 1, 90, 9,171, 0, 11, 4, 9, 0, 12, 4,155, 1, 11, 11,155, 1, 12, 11, 12, 0, 13, 11, 12, 0, 14, 11,
+126, 0, 15, 11,134, 0, 16, 11,134, 0, 17, 11, 24, 0, 18, 11, 24, 0, 19, 11, 24, 0, 36, 0, 12, 0,151, 9, 0, 0, 18, 0,
+ 7, 0,238, 0, 7, 0, 20, 3, 7, 0, 20, 11, 7, 0, 21, 11, 4, 0,196, 2, 4, 0, 22, 11, 4, 0, 17, 0, 4, 0,155, 8,
+ 4, 0, 23, 11, 4, 0, 24, 11, 4, 0, 25, 11, 4, 0, 26, 11, 2, 0,245, 0, 2, 0, 27, 11, 2, 0, 28, 11, 2, 0, 29, 11,
+ 0, 0, 30, 11, 2, 0, 31, 11, 2, 0, 32, 11, 2, 0, 33, 11, 9, 0, 34, 11,130, 0, 84, 4, 12, 0, 5, 3, 12, 0, 35, 11,
+147, 1, 36, 11, 4, 0, 37, 11, 4, 0, 38, 11,156, 1, 39, 11,132, 0, 17, 3,157, 1, 40, 11, 7, 0, 41, 11,128, 0, 37, 0,
+158, 1, 28, 9, 7, 0, 54, 4, 7, 0, 42, 11, 7, 0, 43, 11, 7, 0,230, 5, 7, 0,162, 3, 7, 0,152, 3, 7, 0, 44, 11,
+ 7, 0, 83, 2, 7, 0, 45, 11, 7, 0, 46, 11, 7, 0, 47, 11, 7, 0, 48, 11, 7, 0, 49, 11, 7, 0, 50, 11, 7, 0, 55, 4,
+ 7, 0, 51, 11, 7, 0, 52, 11, 7, 0, 53, 11, 7, 0, 56, 4, 7, 0, 52, 4, 7, 0, 53, 4, 7, 0, 54, 11, 7, 0, 55, 11,
+ 4, 0, 56, 11, 4, 0, 88, 0, 4, 0, 57, 11, 4, 0, 58, 11, 2, 0, 59, 11, 2, 0, 60, 11, 2, 0, 61, 11, 2, 0, 62, 11,
+ 2, 0, 63, 11, 2, 0, 64, 11, 2, 0, 65, 11, 2, 0,196, 4,168, 0, 85, 4,129, 0, 11, 0,158, 1, 66, 11, 7, 0, 67, 11,
+ 7, 0, 68, 11, 7, 0,234, 1, 7, 0, 69, 11, 7, 0, 70, 11, 7, 0, 71, 11, 4, 0, 88, 0, 2, 0, 72, 11, 2, 0, 73, 11,
+ 58, 0,233, 1,159, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 9, 2, 7, 0, 74, 11,160, 1, 6, 0,160, 1, 0, 0,
+160, 1, 1, 0,159, 1, 67, 9, 4, 0,251, 0, 2, 0, 75, 11, 2, 0, 17, 0,161, 1, 5, 0,161, 1, 0, 0,161, 1, 1, 0,
+ 12, 0, 76, 11, 4, 0, 77, 11, 4, 0, 17, 0,162, 1, 9, 0,162, 1, 0, 0,162, 1, 1, 0, 12, 0,119, 0,161, 1, 78, 11,
+ 4, 0, 17, 0, 2, 0, 75, 11, 2, 0, 79, 11, 7, 0, 89, 0, 0, 0, 80, 11,159, 0, 6, 0, 19, 0, 29, 0, 12, 0, 46, 5,
+ 4, 0, 17, 0, 2, 0, 81, 11, 2, 0, 82, 11, 9, 0, 83, 11,163, 1, 6, 0, 12, 0, 84, 11, 4, 0, 85, 11, 4, 0, 86, 11,
+ 4, 0, 17, 0, 4, 0, 35, 0,211, 0, 87, 11,164, 1, 17, 0, 19, 0, 29, 0,165, 1, 88, 11,165, 1, 89, 11, 12, 0, 90, 11,
+ 4, 0, 91, 11, 2, 0, 92, 11, 2, 0, 93, 11, 12, 0, 94, 11, 12, 0, 95, 11,163, 1, 96, 11, 12, 0, 97, 11, 12, 0, 98, 11,
+ 12, 0, 99, 11, 12, 0,100, 11,166, 1,101, 11, 12, 0,102, 11,211, 0,103, 11,165, 1, 32, 0,165, 1, 0, 0,165, 1, 1, 0,
+ 9, 0,104, 11, 4, 0,254, 7, 2, 0,105, 11, 2, 0, 35, 0, 2, 1,106, 11, 2, 1,107, 11, 0, 0,108, 11, 2, 0,109, 11,
+ 2, 0,110, 11, 2, 0, 20, 8, 2, 0, 21, 8, 2, 0,111, 11, 2, 0,112, 11, 2, 0,202, 3, 2, 0,226, 6, 2, 0,113, 11,
+ 2, 0,114, 11, 2, 0,115, 11, 2, 0, 67, 0,167, 1,116, 11,168, 1,117, 11,169, 1,118, 11, 4, 0,119, 11, 4, 0,120, 11,
+ 9, 0,121, 11, 12, 0, 95, 11, 12, 0, 40, 8, 12, 0,122, 11, 12, 0,123, 11, 12, 0,124, 11,170, 1, 17, 0,170, 1, 0, 0,
+170, 1, 1, 0, 0, 0,125, 11, 18, 0, 28, 0, 2, 0,126, 11, 2, 0, 15, 0, 2, 0, 13, 0, 2, 0,127, 11, 2, 0,128, 11,
+ 2, 0,129, 11, 2, 0,130, 11, 2, 0,131, 11, 2, 0, 17, 0, 2, 0,132, 11, 2, 0, 29, 0, 2, 0, 35, 0,171, 1,133, 11,
+172, 1, 10, 0,172, 1, 0, 0,172, 1, 1, 0, 12, 0,134, 11, 0, 0,125, 11, 2, 0,135, 11, 2, 0,136, 11, 2, 0, 17, 0,
+ 2, 0,137, 11, 4, 0,138, 11, 9, 0,139, 11,166, 1, 7, 0,166, 1, 0, 0,166, 1, 1, 0, 0, 0,125, 11, 0, 0,140, 11,
+ 12, 0,199, 7, 4, 0,141, 11, 4, 0, 17, 0,223, 0, 14, 0,223, 0, 0, 0,223, 0, 1, 0, 0, 0,125, 11, 18, 0, 28, 0,
+173, 1, 14, 8, 9, 0,142, 11, 9, 0,143, 11,171, 1,133, 11,163, 1,144, 11, 12, 0,145, 11,223, 0,146, 11, 7, 1,133, 6,
+ 2, 0, 17, 0, 2, 0,196, 4,174, 1, 12, 0,174, 1, 0, 0,174, 1, 1, 0, 9, 0, 2, 0, 9, 0,147, 11, 0, 0, 5, 4,
+ 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,148, 11, 7, 0,121, 0, 7, 0, 63, 4, 7, 0,229, 8, 7, 0,205, 9,175, 1, 5, 0,
+ 7, 0,149, 11, 4, 0,150, 11, 4, 0,151, 11, 4, 0, 73, 1, 4, 0, 17, 0,176, 1, 6, 0, 7, 0,152, 11, 7, 0,153, 11,
+ 7, 0,154, 11, 7, 0,155, 11, 4, 0, 15, 0, 4, 0, 17, 0,177, 1, 5, 0, 7, 0, 1, 9, 7, 0, 2, 9, 7, 0,222, 2,
+ 2, 0, 34, 2, 2, 0, 35, 2,178, 1, 5, 0,177, 1, 2, 0, 4, 0, 51, 0, 7, 0,156, 11, 7, 0, 1, 9, 7, 0, 2, 9,
+179, 1, 4, 0, 2, 0,157, 11, 2, 0,158, 11, 2, 0,159, 11, 2, 0,160, 11,180, 1, 2, 0, 34, 0,188, 6, 18, 0, 33, 9,
+181, 1, 3, 0, 16, 0,161, 11, 4, 0, 17, 0, 4, 0, 35, 0,182, 1, 6, 0, 7, 0,104, 0, 7, 0,224, 2, 7, 0,162, 11,
+ 7, 0, 35, 0, 2, 0,244, 0, 2, 0,163, 11,183, 1, 5, 0, 7, 0,164, 11, 7, 0,120, 0, 7, 0, 68, 9, 7, 0, 69, 9,
+ 4, 0, 17, 0,184, 1, 6, 0, 19, 0,194, 6, 0, 0,165, 11, 0, 0,166, 11, 2, 0,167, 11, 2, 0, 17, 0, 4, 0,168, 11,
+185, 1, 7, 0,185, 1, 0, 0,185, 1, 1, 0, 0, 0, 5, 4,184, 1,169, 11, 2, 0,170, 11, 2, 0, 15, 0, 7, 0, 58, 0,
+186, 1, 7, 0, 12, 0,171, 11, 0, 0,172, 11, 9, 0,173, 11, 7, 0, 58, 0, 7, 0,148, 11, 4, 0, 15, 0, 4, 0, 17, 0,
+187, 1, 3, 0, 7, 0,174, 11, 4, 0, 17, 0, 4, 0, 35, 0,188, 1, 15, 0,188, 1, 0, 0,188, 1, 1, 0, 79, 1,138, 9,
+186, 1, 59, 0, 12, 0,119, 3, 27, 0, 47, 0,187, 1,175, 11, 4, 0, 51, 0, 7, 0, 58, 0, 2, 0, 17, 0, 2, 0, 16, 1,
+ 4, 0,176, 11, 0, 0,165, 11, 4, 0,177, 11, 7, 0,178, 11,189, 1, 2, 0, 0, 0,179, 11, 0, 0,180, 11,190, 1, 4, 0,
+190, 1, 0, 0,190, 1, 1, 0,157, 0, 54, 3, 12, 0,181, 11,191, 1, 24, 0,191, 1, 0, 0,191, 1, 1, 0, 12, 0,182, 11,
+157, 0,227, 8,190, 1,183, 11, 12, 0,184, 11, 12, 0,119, 3, 0, 0, 5, 4, 7, 0,148, 11, 7, 0,185, 11, 7, 0, 85, 0,
+ 7, 0, 86, 0, 7, 0,200, 9, 7, 0,201, 9, 7, 0,237, 2, 7, 0,204, 9, 7, 0,229, 8, 7, 0,205, 9, 2, 0,186, 11,
+ 2, 0,187, 11, 2, 0, 87, 0, 2, 0, 15, 0, 4, 0, 17, 0, 4, 0, 67, 0,192, 1, 6, 0,192, 1, 0, 0,192, 1, 1, 0,
+ 12, 0,182, 11, 4, 0, 17, 0, 4, 0,253, 1, 0, 0, 5, 4,193, 1, 11, 0,193, 1, 0, 0,193, 1, 1, 0, 19, 0,194, 6,
+ 0, 0,188, 11, 4, 0,168, 11, 2, 0,189, 11, 2, 0, 35, 0, 0, 0,165, 11, 4, 0,176, 11, 2, 0, 17, 0, 2, 0,190, 11,
+194, 1, 8, 0,194, 1, 0, 0,194, 1, 1, 0, 12, 0,191, 11, 0, 0, 5, 4, 0, 0,192, 11, 2, 0, 17, 0, 2, 0,190, 11,
+ 4, 0,193, 11,195, 1, 5, 0,195, 1, 0, 0,195, 1, 1, 0, 0, 0,165, 11, 4, 0,176, 11, 7, 0,212, 2, 31, 0, 12, 0,
+157, 0,110, 3,157, 0,194, 11,190, 1,183, 11, 12, 0,195, 11,191, 1,196, 11, 12, 0,197, 11, 12, 0,198, 11, 4, 0, 17, 0,
+ 4, 0,245, 0, 2, 0,199, 11, 2, 0,200, 11, 7, 0,201, 11,196, 1, 2, 0, 19, 0, 29, 0, 31, 0, 72, 0,197, 1, 5, 0,
+197, 1, 0, 0,197, 1, 1, 0, 4, 0, 15, 0, 4, 0, 17, 0, 0, 0, 18, 0,198, 1, 6, 0,197, 1,202, 11, 24, 0, 42, 0,
+ 4, 0,203, 11, 7, 0,204, 11, 4, 0,205, 11, 4, 0,125, 9,199, 1, 3, 0,197, 1,202, 11, 4, 0,203, 11, 7, 0,206, 11,
+200, 1, 8, 0,197, 1,202, 11, 24, 0, 42, 0, 7, 0, 68, 1, 7, 0,207, 11, 7, 0, 20, 3, 7, 0, 27, 9, 4, 0,203, 11,
+ 4, 0,208, 11,201, 1, 5, 0,197, 1,202, 11, 7, 0,209, 11, 7, 0,103, 8, 7, 0,243, 2, 7, 0, 54, 0,202, 1, 3, 0,
+197, 1,202, 11, 7, 0, 27, 9, 7, 0,210, 11,146, 1, 4, 0, 7, 0,211, 11, 7, 0,228, 10, 2, 0,212, 11, 2, 0, 73, 1,
+203, 1, 14, 0,203, 1, 0, 0,203, 1, 1, 0, 12, 0,213, 11, 12, 0,214, 11, 12, 0,215, 11, 0, 0, 18, 0, 4, 0, 29, 0,
+ 4, 0, 17, 0, 4, 0,216, 11, 7, 0,217, 11, 4, 0,205, 11, 4, 0,125, 9, 7, 0, 15, 4, 7, 0,245, 2,154, 1, 23, 0,
+ 4, 0,203, 11, 4, 0,218, 11, 7, 0,219, 11, 7, 0,241, 2, 7, 0,220, 11, 7, 0,244, 8, 7, 0,211, 11, 7, 0,221, 11,
+ 7, 0,224, 2, 7, 0, 96, 10, 7, 0,146, 4, 7, 0,222, 11, 7, 0,223, 11, 7, 0,224, 11, 7, 0,225, 11, 7, 0,226, 11,
+ 7, 0,227, 11, 7, 0,228, 11, 7, 0,229, 11, 7, 0,230, 11, 7, 0,231, 11, 7, 0,232, 11, 12, 0,233, 11,114, 0, 40, 0,
+113, 0,234, 11,204, 1,178, 10, 58, 0,235, 11, 58, 0, 5, 11, 58, 0,236, 11,205, 1,237, 11, 40, 0,161, 0, 40, 0,238, 11,
+ 40, 0,239, 11, 7, 0,240, 11, 7, 0,241, 11, 7, 0,242, 11, 7, 0,243, 11, 7, 0,244, 11, 7, 0,253, 7, 7, 0,245, 11,
+ 7, 0,162, 1, 7, 0,246, 11, 4, 0,247, 11, 4, 0,248, 11, 4, 0,249, 11, 4, 0, 88, 0, 4, 0, 35, 0, 4, 0,250, 11,
+ 2, 0,251, 11, 2, 0,252, 11, 4, 0,253, 11, 7, 0,224, 2, 4, 0,254, 11, 7, 0,255, 11, 4, 0, 0, 12, 4, 0, 1, 12,
+ 4, 0, 2, 12,130, 0, 3, 12, 12, 0, 4, 12,168, 0, 85, 4, 4, 0, 5, 12, 7, 0, 6, 12, 7, 0, 7, 12, 4, 0, 67, 0,
+115, 0, 12, 0,113, 0,234, 11,141, 0, 40, 3, 7, 0,129, 1, 7, 0,253, 7, 7, 0, 8, 12, 7, 0, 9, 12, 7, 0, 10, 12,
+ 2, 0, 11, 12, 2, 0, 12, 12, 2, 0, 13, 12, 2, 0, 15, 0, 4, 0, 88, 0,116, 0, 13, 0,113, 0,234, 11,132, 0, 17, 3,
+134, 0, 19, 3, 7, 0, 67, 9, 7, 0, 14, 12, 7, 0, 15, 12, 7, 0, 70, 1, 7, 0, 16, 12, 4, 0,160, 9, 4, 0, 13, 3,
+ 2, 0, 15, 0, 2, 0, 35, 0, 4, 0, 67, 0, 69, 78, 68, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0};
diff --git a/source/blender/editors/gpencil/CMakeLists.txt b/source/blender/editors/gpencil/CMakeLists.txt
index 352960d285a..b312f397939 100644
--- a/source/blender/editors/gpencil/CMakeLists.txt
+++ b/source/blender/editors/gpencil/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
@@ -42,6 +42,7 @@ set(SRC
gpencil_edit.c
gpencil_ops.c
gpencil_paint.c
+ gpencil_undo.c
gpencil_intern.h
)
diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c
index a275a5f908a..cfa9585868e 100644
--- a/source/blender/editors/gpencil/drawgpencil.c
+++ b/source/blender/editors/gpencil/drawgpencil.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -646,7 +644,7 @@ static void gp_draw_data (bGPdata *gpd, int offsx, int offsy, int winx, int winy
/* Check if may need to draw the active stroke cache, only if this layer is the active layer
* that is being edited. (Stroke buffer is currently stored in gp-data)
*/
- if ((G.f & G_GREASEPENCIL) && (gpl->flag & GP_LAYER_ACTIVE) &&
+ if (ED_gpencil_session_active() && (gpl->flag & GP_LAYER_ACTIVE) &&
(gpf->flag & GP_FRAME_PAINT))
{
/* Buffer stroke needs to be drawn with a different linestyle to help differentiate them from normal strokes. */
diff --git a/source/blender/editors/gpencil/editaction_gpencil.c b/source/blender/editors/gpencil/editaction_gpencil.c
index 34cddfbc463..937d24eed04 100644
--- a/source/blender/editors/gpencil/editaction_gpencil.c
+++ b/source/blender/editors/gpencil/editaction_gpencil.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -209,96 +207,9 @@ void borderselect_gplayer_frames (bGPDlayer *gpl, float min, float max, short se
}
}
-#if 0 // XXX disabled until grease pencil code stabilises again
-
-/* De-selects or inverts the selection of Layers for a grease-pencil block
- * mode: 0 = default behaviour (select all), 1 = test if (de)select all, 2 = invert all
- */
-void deselect_gpencil_layers (void *data, short mode)
-{
- ListBase act_data = {NULL, NULL};
- bActListElem *ale;
- int filter, sel=1;
-
- /* filter data */
- filter= ACTFILTER_VISIBLE;
- actdata_filter(&act_data, filter, data, ACTCONT_GPENCIL);
-
- /* See if we should be selecting or deselecting */
- if (mode == 1) {
- for (ale= act_data.first; ale; ale= ale->next) {
- if (sel == 0)
- break;
-
- if (ale->flag & GP_LAYER_SELECT)
- sel= 0;
- }
- }
- else
- sel= 0;
-
- /* Now set the flags */
- for (ale= act_data.first; ale; ale= ale->next) {
- bGPDlayer *gpl= (bGPDlayer *)ale->data;
-
- if (mode == 2)
- gpl->flag ^= GP_LAYER_SELECT;
- else if (sel)
- gpl->flag |= GP_LAYER_SELECT;
- else
- gpl->flag &= ~GP_LAYER_SELECT;
-
- gpl->flag &= ~GP_LAYER_ACTIVE;
- }
-
- /* Cleanup */
- BLI_freelistN(&act_data);
-}
-
-#endif // XXX disabled until Grease Pencil code stabilises again...
-
/* ***************************************** */
/* Frame Editing Tools */
-#if 0 // XXX disabled until grease pencil code stabilises again
-/* Delete selected grease-pencil layers */
-void delete_gpencil_layers (void)
-{
- ListBase act_data = {NULL, NULL};
- bActListElem *ale, *next;
- void *data;
- short datatype;
- int filter;
-
- /* determine what type of data we are operating on */
- data = get_action_context(&datatype);
- if (data == NULL) return;
- if (datatype != ACTCONT_GPENCIL) return;
-
- /* filter data */
- filter= (ACTFILTER_VISIBLE | ACTFILTER_FOREDIT | ACTFILTER_CHANNELS | ACTFILTER_SEL);
- actdata_filter(&act_data, filter, data, datatype);
-
- /* clean up grease-pencil layers */
- for (ale= act_data.first; ale; ale= next) {
- bGPdata *gpd= (bGPdata *)ale->owner;
- bGPDlayer *gpl= (bGPDlayer *)ale->data;
- next= ale->next;
-
- /* free layer and its data */
- if (SEL_GPL(gpl)) {
- free_gpencil_frames(gpl);
- BLI_freelinkN(&gpd->layers, gpl);
- }
-
- /* free temp memory */
- BLI_freelinkN(&act_data, ale);
- }
-
- BIF_undo_push("Delete GPencil Layers");
-}
-#endif // XXX disabled until Grease Pencil code stabilises again...
-
/* Delete selected frames */
void delete_gplayer_frames (bGPDlayer *gpl)
{
diff --git a/source/blender/editors/gpencil/gpencil_buttons.c b/source/blender/editors/gpencil/gpencil_buttons.c
index d95f64c31e1..192f5c10d07 100644
--- a/source/blender/editors/gpencil/gpencil_buttons.c
+++ b/source/blender/editors/gpencil/gpencil_buttons.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c
index 2860d467cef..1cd8b1f05db 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -513,8 +511,8 @@ static void gp_stroke_to_bezier (bContext *C, bGPDlayer *gpl, bGPDstroke *gps, C
copy_v3_v3(p3d_prev, p3d_cur);
copy_v3_v3(p3d_cur, p3d_next);
- if (i + 1 < tot) {
- gp_strokepoint_convertcoords(C, gps, pt+1, p3d_next, subrect);
+ if (i + 2 < tot) {
+ gp_strokepoint_convertcoords(C, gps, pt + 2, p3d_next, subrect);
}
}
diff --git a/source/blender/editors/gpencil/gpencil_intern.h b/source/blender/editors/gpencil/gpencil_intern.h
index 6ecdc2b054b..8000af54f53 100644
--- a/source/blender/editors/gpencil/gpencil_intern.h
+++ b/source/blender/editors/gpencil/gpencil_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -39,6 +37,7 @@
/* ***************************************************** */
/* Operator Defines */
+struct bGPdata;
struct wmOperatorType;
/* drawing ---------- */
@@ -50,6 +49,7 @@ typedef enum eGPencil_PaintModes {
GP_PAINTMODE_DRAW = 0,
GP_PAINTMODE_ERASER,
GP_PAINTMODE_DRAW_STRAIGHT,
+ GP_PAINTMODE_DRAW_POLY
} eGPencil_PaintModes;
/* buttons editing --- */
@@ -63,6 +63,11 @@ void GPENCIL_OT_active_frame_delete(struct wmOperatorType *ot);
void GPENCIL_OT_convert(struct wmOperatorType *ot);
+/* undo stack ---------- */
+
+void gpencil_undo_init(struct bGPdata *gpd);
+void gpencil_undo_push(struct bGPdata *gpd);
+void gpencil_undo_finish(void);
/******************************************************* */
/* FILTERED ACTION DATA - TYPES ---> XXX DEPRECEATED OLD ANIM SYSTEM CODE! */
diff --git a/source/blender/editors/gpencil/gpencil_ops.c b/source/blender/editors/gpencil/gpencil_ops.c
index f2efada8406..150e0ba90e4 100644
--- a/source/blender/editors/gpencil/gpencil_ops.c
+++ b/source/blender/editors/gpencil/gpencil_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -61,6 +59,9 @@ void ED_keymap_gpencil(wmKeyConfig *keyconf)
/* draw - straight lines */
kmi=WM_keymap_add_item(keymap, "GPENCIL_OT_draw", LEFTMOUSE, KM_PRESS, KM_CTRL, DKEY);
RNA_enum_set(kmi->ptr, "mode", GP_PAINTMODE_DRAW_STRAIGHT);
+ /* draw - poly lines */
+ kmi=WM_keymap_add_item(keymap, "GPENCIL_OT_draw", RIGHTMOUSE, KM_PRESS, KM_CTRL, DKEY);
+ RNA_enum_set(kmi->ptr, "mode", GP_PAINTMODE_DRAW_POLY);
/* erase */
kmi=WM_keymap_add_item(keymap, "GPENCIL_OT_draw", RIGHTMOUSE, KM_PRESS, 0, DKEY);
RNA_enum_set(kmi->ptr, "mode", GP_PAINTMODE_ERASER);
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index f4da734473d..a23f2064a9e 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -126,6 +124,7 @@ enum {
/* Runtime flags */
enum {
GP_PAINTFLAG_FIRSTRUN = (1<<0), /* operator just started */
+ GP_PAINTFLAG_STROKEADDED = (1<<1) /* stroke was already added during draw session */
};
/* ------ */
@@ -154,7 +153,7 @@ static int gpencil_draw_poll (bContext *C)
/* check if current context can support GPencil data */
if (gpencil_data_get_pointers(C, NULL) != NULL) {
/* check if Grease Pencil isn't already running */
- if ((G.f & G_GREASEPENCIL) == 0)
+ if (ED_gpencil_session_active() == 0)
return 1;
else
CTX_wm_operator_poll_msg_set(C, "Grease Pencil operator is already active");
@@ -377,6 +376,52 @@ static short gp_stroke_addpoint (tGPsdata *p, const int mval[2], float pressure)
else
return GP_STROKEADD_NORMAL;
}
+ else if (p->paintmode == GP_PAINTMODE_DRAW_POLY) {
+ /* get pointer to destination point */
+ pt= (tGPspoint *)(gpd->sbuffer);
+
+ /* store settings */
+ pt->x= mval[0];
+ pt->y= mval[1];
+ pt->pressure= pressure;
+
+ /* if there's stroke fir this poly line session add (or replace last) point
+ to stroke. This allows to draw lines more interactively (see new segment
+ during mouse slide, i.e.) */
+ if (p->flags & GP_PAINTFLAG_STROKEADDED) {
+ bGPDstroke *gps= p->gpf->strokes.last;
+ bGPDspoint *pts;
+
+ /* first time point is adding to temporary buffer -- need to allocate new point in stroke */
+ if (gpd->sbuffer_size == 0) {
+ gps->points = MEM_reallocN(gps->points, sizeof(bGPDspoint)*(gps->totpoints+1));
+ gps->totpoints++;
+ }
+
+ pts = &gps->points[gps->totpoints-1];
+
+ /* special case for poly lines: normally, depth is needed only when creating new stroke from buffer,
+ but poly lines are converting to stroke instantly, so initialize depth buffer before converting coordinates */
+ if (gpencil_project_check(p)) {
+ View3D *v3d= p->sa->spacedata.first;
+
+ view3d_region_operator_needs_opengl(p->win, p->ar);
+ ED_view3d_autodist_init(p->scene, p->ar, v3d, (p->gpd->flag & GP_DATA_DEPTH_STROKE) ? 1:0);
+ }
+
+ /* convert screen-coordinates to appropriate coordinates (and store them) */
+ gp_stroke_convertcoords(p, &pt->x, &pts->x, NULL);
+
+ /* copy pressure */
+ pts->pressure= pt->pressure;
+ }
+
+ /* increment counters */
+ if (gpd->sbuffer_size == 0)
+ gpd->sbuffer_size++;
+
+ return GP_STROKEADD_NORMAL;
+ }
/* return invalid state for now... */
return GP_STROKEADD_INVALID;
@@ -397,7 +442,7 @@ static void gp_stroke_smooth (tGPsdata *p)
int i=0, cmx=gpd->sbuffer_size;
/* only smooth if smoothing is enabled, and we're not doing a straight line */
- if (!(U.gp_settings & GP_PAINT_DOSMOOTH) || (p->paintmode == GP_PAINTMODE_DRAW_STRAIGHT))
+ if (!(U.gp_settings & GP_PAINT_DOSMOOTH) || ELEM(p->paintmode, GP_PAINTMODE_DRAW_STRAIGHT, GP_PAINTMODE_DRAW_POLY))
return;
/* don't try if less than 2 points in buffer */
@@ -529,17 +574,28 @@ static void gp_stroke_newfrombuffer (tGPsdata *p)
return;
}
+ /* special case for poly line -- for already added stroke during session
+ coordinates are getting added to stroke immediatelly to allow more
+ interactive behavior */
+ if (p->paintmode == GP_PAINTMODE_DRAW_POLY) {
+ if (p->flags & GP_PAINTFLAG_STROKEADDED)
+ return;
+ }
+
/* allocate memory for a new stroke */
gps= MEM_callocN(sizeof(bGPDstroke), "gp_stroke");
- /* allocate enough memory for a continuous array for storage points */
- pt= gps->points= MEM_callocN(sizeof(bGPDspoint)*totelem, "gp_stroke_points");
-
/* copy appropriate settings for stroke */
gps->totpoints= totelem;
gps->thickness= p->gpl->thickness;
gps->flag= gpd->sbuffer_sflag;
+ /* allocate enough memory for a continuous array for storage points */
+ gps->points= MEM_callocN(sizeof(bGPDspoint)*gps->totpoints, "gp_stroke_points");
+
+ /* set pointer to first non-initialized point */
+ pt= gps->points + (gps->totpoints - totelem);
+
/* copy points from the buffer to the stroke */
if (p->paintmode == GP_PAINTMODE_DRAW_STRAIGHT) {
/* straight lines only -> only endpoints */
@@ -567,6 +623,16 @@ static void gp_stroke_newfrombuffer (tGPsdata *p)
pt->pressure= ptc->pressure;
}
}
+ else if (p->paintmode == GP_PAINTMODE_DRAW_POLY) {
+ /* first point */
+ ptc= gpd->sbuffer;
+
+ /* convert screen-coordinates to appropriate coordinates (and store them) */
+ gp_stroke_convertcoords(p, &ptc->x, &pt->x, NULL);
+
+ /* copy pressure */
+ pt->pressure= ptc->pressure;
+ }
else {
float *depth_arr= NULL;
@@ -645,6 +711,8 @@ static void gp_stroke_newfrombuffer (tGPsdata *p)
MEM_freeN(depth_arr);
}
+ p->flags |= GP_PAINTFLAG_STROKEADDED;
+
/* add stroke to frame */
BLI_addtail(&p->gpf->strokes, gps);
}
@@ -893,10 +961,14 @@ static void gp_session_validatebuffer (tGPsdata *p)
bGPdata *gpd= p->gpd;
/* clear memory of buffer (or allocate it if starting a new session) */
- if (gpd->sbuffer)
+ if (gpd->sbuffer) {
+ //printf("\t\tGP - reset sbuffer\n");
memset(gpd->sbuffer, 0, sizeof(tGPspoint)*GP_STROKE_BUFFER_MAX);
- else
+ }
+ else {
+ //printf("\t\tGP - allocate sbuffer\n");
gpd->sbuffer= MEM_callocN(sizeof(tGPspoint)*GP_STROKE_BUFFER_MAX, "gp_session_strokebuffer");
+ }
/* reset indices */
gpd->sbuffer_size = 0;
@@ -905,24 +977,21 @@ static void gp_session_validatebuffer (tGPsdata *p)
gpd->sbuffer_sflag= 0;
}
-/* init new painting session */
-static tGPsdata *gp_session_initpaint (bContext *C)
+/* (re)init new painting data */
+static int gp_session_initdata (bContext *C, tGPsdata *p)
{
- tGPsdata *p = NULL;
bGPdata **gpd_ptr = NULL;
ScrArea *curarea= CTX_wm_area(C);
ARegion *ar= CTX_wm_region(C);
/* make sure the active view (at the starting time) is a 3d-view */
if (curarea == NULL) {
+ p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: No active view for painting \n");
- return NULL;
+ return 0;
}
- /* create new context data */
- p= MEM_callocN(sizeof(tGPsdata), "GPencil Drawing Data");
-
/* pass on current scene and window */
p->scene= CTX_data_scene(C);
p->win= CTX_wm_window(C);
@@ -944,7 +1013,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: 3D-View active region doesn't have any region data, so cannot be drawable \n");
- return p;
+ return 0;
}
#if 0 // XXX will this sort of antiquated stuff be restored?
@@ -953,7 +1022,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: In active view, Grease Pencil not shown \n");
- return p;
+ return 0;
}
#endif
}
@@ -974,7 +1043,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: In active view, Grease Pencil not shown \n");
- return;
+ return 0;
}
#endif
}
@@ -994,13 +1063,13 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: In active view (sequencer), active mode doesn't support Grease Pencil \n");
- return;
+ return 0;
}
if ((sseq->flag & SEQ_DRAW_GPENCIL)==0) {
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: In active view, Grease Pencil not shown \n");
- return;
+ return 0;
}
}
break;
@@ -1021,7 +1090,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: In active view, Grease Pencil not shown \n");
- return p;
+ return 0;
}
#endif
}
@@ -1033,7 +1102,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: Active view not appropriate for Grease Pencil drawing \n");
- return p;
+ return 0;
}
break;
}
@@ -1044,7 +1113,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: Current context doesn't allow for any Grease Pencil data \n");
- return p;
+ return 0;
}
else {
/* if no existing GPencil block exists, add one */
@@ -1053,8 +1122,11 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->gpd= *gpd_ptr;
}
- /* set edit flags - so that buffer will get drawn */
- G.f |= G_GREASEPENCIL;
+ if(ED_gpencil_session_active()==0) {
+ /* initialize undo stack,
+ also, existing undo stack would make buffer drawn */
+ gpencil_undo_init(p->gpd);
+ }
/* clear out buffer (stored in gp-data), in case something contaminated it */
gp_session_validatebuffer(p);
@@ -1064,6 +1136,19 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->im2d_settings.sizex= 1;
p->im2d_settings.sizey= 1;
#endif
+
+ return 1;
+}
+
+/* init new painting session */
+static tGPsdata *gp_session_initpaint (bContext *C)
+{
+ tGPsdata *p = NULL;
+
+ /* create new context data */
+ p= MEM_callocN(sizeof(tGPsdata), "GPencil Drawing Data");
+
+ gp_session_initdata(C, p);
/* return context data for running paint operator */
return p;
@@ -1080,6 +1165,7 @@ static void gp_session_cleanup (tGPsdata *p)
/* free stroke buffer */
if (gpd->sbuffer) {
+ //printf("\t\tGP - free sbuffer\n");
MEM_freeN(gpd->sbuffer);
gpd->sbuffer= NULL;
}
@@ -1249,7 +1335,8 @@ static void gp_paint_strokeend (tGPsdata *p)
static void gp_paint_cleanup (tGPsdata *p)
{
/* finish off a stroke */
- gp_paint_strokeend(p);
+ if(p->gpd)
+ gp_paint_strokeend(p);
/* "unlock" frame */
if (p->gpf)
@@ -1262,8 +1349,8 @@ static void gpencil_draw_exit (bContext *C, wmOperator *op)
{
tGPsdata *p= op->customdata;
- /* clear edit flags */
- G.f &= ~G_GREASEPENCIL;
+ /* clear undo stack */
+ gpencil_undo_finish();
/* restore cursor to indicate end of drawing */
WM_cursor_restore(CTX_wm_window(C));
@@ -1594,6 +1681,7 @@ static int gpencil_draw_invoke (bContext *C, wmOperator *op, wmEvent *event)
//printf("\tGP - hotkey invoked... waiting for click-drag\n");
}
+ WM_event_add_notifier(C, NC_SCREEN|ND_GPENCIL, NULL);
/* add a modal handler for this operator, so that we can then draw continuous strokes */
WM_event_add_modal_handler(C, op);
return OPERATOR_RUNNING_MODAL;
@@ -1611,12 +1699,70 @@ static int gpencil_area_exists(bContext *C, ScrArea *satest)
return 0;
}
+static tGPsdata *gpencil_stroke_begin(bContext *C, wmOperator *op)
+{
+ tGPsdata *p= op->customdata;
+
+ /* we must check that we're still within the area that we're set up to work from
+ * otherwise we could crash (see bug #20586)
+ */
+ if (CTX_wm_area(C) != p->sa) {
+ printf("\t\t\tGP - wrong area execution abort! \n");
+ p->status= GP_STATUS_ERROR;
+ }
+
+ //printf("\t\tGP - start stroke \n");
+
+ /* we may need to set up paint env again if we're resuming */
+ // XXX: watch it with the paintmode! in future, it'd be nice to allow changing paint-mode when in sketching-sessions
+ // XXX: with tablet events, we may event want to check for eraser here, for nicer tablet support
+
+ if (gp_session_initdata(C, p))
+ gp_paint_initstroke(p, p->paintmode);
+
+ p= op->customdata;
+
+ if(p->status != GP_STATUS_ERROR)
+ p->status= GP_STATUS_PAINTING;
+
+ return op->customdata;
+}
+
+static void gpencil_stroke_end(wmOperator *op)
+{
+ tGPsdata *p= op->customdata;
+
+ gp_paint_cleanup(p);
+
+ gpencil_undo_push(p->gpd);
+
+ gp_session_cleanup(p);
+
+ p->status= GP_STATUS_IDLING;
+
+ p->gpd= NULL;
+ p->gpl= NULL;
+ p->gpf= NULL;
+}
+
/* events handling during interactive drawing part of operator */
static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
{
tGPsdata *p= op->customdata;
int estate = OPERATOR_PASS_THROUGH; /* default exit state - not handled, so let others have a share of the pie */
+ // if (event->type == NDOF_MOTION)
+ // return OPERATOR_PASS_THROUGH;
+ // -------------------------------
+ // [mce] Not quite what I was looking
+ // for, but a good start! GP continues to
+ // draw on the screen while the 3D mouse
+ // moves the viewpoint. Problem is that
+ // the stroke is converted to 3D only after
+ // it is finished. This approach should work
+ // better in tools that immediately apply
+ // in 3D space.
+
//printf("\tGP - handle modal event...\n");
/* exit painting mode (and/or end current stroke) */
@@ -1631,17 +1777,24 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
if (ELEM(event->type, LEFTMOUSE, RIGHTMOUSE)) {
/* if painting, end stroke */
if (p->status == GP_STATUS_PAINTING) {
+ int sketch= 0;
/* basically, this should be mouse-button up = end stroke
* BUT what happens next depends on whether we 'painting sessions' is enabled
*/
- if (GPENCIL_SKETCH_SESSIONS_ON(p->scene)) {
+ sketch|= GPENCIL_SKETCH_SESSIONS_ON(p->scene);
+ /* polyline drawig is also 'sketching' -- all knots should be added during one session */
+ sketch|= p->paintmode == GP_PAINTMODE_DRAW_POLY;
+
+ if (sketch) {
/* end stroke only, and then wait to resume painting soon */
//printf("\t\tGP - end stroke only\n");
- gp_paint_cleanup(p);
- p->status= GP_STATUS_IDLING;
+ gpencil_stroke_end(op);
/* we've just entered idling state, so this event was processed (but no others yet) */
estate = OPERATOR_RUNNING_MODAL;
+
+ /* stroke could be smoothed, send notifier to refresh screen */
+ WM_event_add_notifier(C, NC_SCREEN|ND_GPENCIL|NA_EDITED, NULL);
}
else {
//printf("\t\tGP - end of stroke + op\n");
@@ -1649,35 +1802,19 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
estate = OPERATOR_FINISHED;
}
}
- else {
+ else if (event->val == KM_PRESS) {
/* not painting, so start stroke (this should be mouse-button down) */
- /* we must check that we're still within the area that we're set up to work from
- * otherwise we could crash (see bug #20586)
- */
- if (CTX_wm_area(C) != p->sa) {
- //printf("\t\t\tGP - wrong area execution abort! \n");
- p->status= GP_STATUS_ERROR;
+ p= gpencil_stroke_begin(C, op);
+
+ if (p->status == GP_STATUS_ERROR) {
estate = OPERATOR_CANCELLED;
}
- else {
- //printf("\t\tGP - start stroke \n");
- p->status= GP_STATUS_PAINTING;
-
- /* we may need to set up paint env again if we're resuming */
- // XXX: watch it with the paintmode! in future, it'd be nice to allow changing paint-mode when in sketching-sessions
- // XXX: with tablet events, we may event want to check for eraser here, for nicer tablet support
- gp_paint_initstroke(p, p->paintmode);
-
- if (p->status == GP_STATUS_ERROR) {
- estate = OPERATOR_CANCELLED;
- }
- }
+ } else {
+ p->status = GP_STATUS_IDLING;
}
}
-
-
/* handle mode-specific events */
if (p->status == GP_STATUS_PAINTING) {
/* handle painting mouse-movements? */
@@ -1689,7 +1826,7 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
/* finish painting operation if anything went wrong just now */
if (p->status == GP_STATUS_ERROR) {
- //printf("\t\t\t\tGP - add error done! \n");
+ printf("\t\t\t\tGP - add error done! \n");
estate = OPERATOR_CANCELLED;
}
else {
@@ -1706,23 +1843,6 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
estate = OPERATOR_RUNNING_MODAL;
}
}
- else if (p->status == GP_STATUS_IDLING) {
- /* standard undo/redo shouldn't be allowed to execute or else it causes crashes, so catch it here */
- // FIXME: this is a hardcoded hotkey that can't be changed
- // TODO: catch redo as well, but how?
- if (event->type == ZKEY) {
- /* oskey = cmd key on macs as they seem to use cmd-z for undo as well? */
- if ((event->ctrl) || (event->oskey)) {
- /* just delete last stroke, which will look like undo to the end user */
- //printf("caught attempted undo event... deleting last stroke \n");
- gpencil_frame_delete_laststroke(p->gpl, p->gpf);
-
- /* event handled, so force refresh */
- ED_region_tag_redraw(p->ar); /* just active area for now, since doing whole screen is too slow */
- estate = OPERATOR_RUNNING_MODAL;
- }
- }
- }
/* gpencil modal operator stores area, which can be removed while using it (like fullscreen) */
if(0==gpencil_area_exists(C, p->sa))
@@ -1758,6 +1878,7 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
static EnumPropertyItem prop_gpencil_drawmodes[] = {
{GP_PAINTMODE_DRAW, "DRAW", 0, "Draw Freehand", ""},
{GP_PAINTMODE_DRAW_STRAIGHT, "DRAW_STRAIGHT", 0, "Draw Straight Lines", ""},
+ {GP_PAINTMODE_DRAW_POLY, "DRAW_POLY", 0, "Dtaw Poly Line", ""},
{GP_PAINTMODE_ERASER, "ERASER", 0, "Eraser", ""},
{0, NULL, 0, NULL, NULL}
};
diff --git a/source/blender/editors/gpencil/gpencil_undo.c b/source/blender/editors/gpencil/gpencil_undo.c
new file mode 100644
index 00000000000..1154975e3cc
--- /dev/null
+++ b/source/blender/editors/gpencil/gpencil_undo.c
@@ -0,0 +1,168 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2011 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_gpencil_types.h"
+#include "DNA_listBase.h"
+#include "DNA_windowmanager_types.h"
+
+#include "BKE_context.h"
+#include "BKE_gpencil.h"
+
+#include "BLI_listbase.h"
+
+#include "ED_gpencil.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "gpencil_intern.h"
+
+#define MAXUNDONAME 64
+
+typedef struct bGPundonode {
+ struct bGPundonode *next, *prev;
+
+ char name[MAXUNDONAME];
+ struct bGPdata *gpd;
+} bGPundonode;
+
+static ListBase undo_nodes = {NULL, NULL};
+static bGPundonode *cur_node = NULL;
+
+int ED_gpencil_session_active(void)
+{
+ return undo_nodes.first != NULL;
+}
+
+int ED_undo_gpencil_step(bContext *C, int step, const char *name)
+{
+ bGPdata **gpd_ptr= NULL, *new_gpd= NULL;
+
+ gpd_ptr= gpencil_data_get_pointers(C, NULL);
+
+ if(step==1) { /* undo */
+ //printf("\t\tGP - undo step\n");
+ if(cur_node->prev) {
+ if(!name || strcmp(cur_node->name, name) == 0) {
+ cur_node= cur_node->prev;
+ new_gpd= cur_node->gpd;
+ }
+ }
+ }
+ else if (step==-1) {
+ //printf("\t\tGP - redo step\n");
+ if(cur_node->next) {
+ if(!name || strcmp(cur_node->name, name) == 0) {
+ cur_node= cur_node->next;
+ new_gpd= cur_node->gpd;
+ }
+ }
+ }
+
+ if(new_gpd) {
+ if(gpd_ptr) {
+ if(*gpd_ptr) {
+ bGPdata *gpd= *gpd_ptr;
+ bGPDlayer *gpl, *gpld;
+
+ free_gpencil_layers(&gpd->layers);
+
+ /* copy layers */
+ gpd->layers.first= gpd->layers.last= NULL;
+
+ for (gpl= new_gpd->layers.first; gpl; gpl= gpl->next) {
+ /* make a copy of source layer and its data */
+ gpld= gpencil_layer_duplicate(gpl);
+ BLI_addtail(&gpd->layers, gpld);
+ }
+ }
+ }
+ }
+
+ WM_event_add_notifier(C, NC_SCREEN|ND_GPENCIL|NA_EDITED, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+void gpencil_undo_init(bGPdata *gpd)
+{
+ gpencil_undo_push(gpd);
+}
+
+void gpencil_undo_push(bGPdata *gpd)
+{
+ bGPundonode *undo_node;
+
+ //printf("\t\tGP - undo push\n");
+
+ if(cur_node) {
+ /* remove all un-done nodes from stack */
+ undo_node= cur_node->next;
+
+ while(undo_node) {
+ bGPundonode *next_node= undo_node->next;
+
+ free_gpencil_data(undo_node->gpd);
+ MEM_freeN(undo_node->gpd);
+
+ BLI_freelinkN(&undo_nodes, undo_node);
+
+ undo_node= next_node;
+ }
+ }
+
+ /* create new undo node */
+ undo_node= MEM_callocN(sizeof(bGPundonode), "gpencil undo node");
+ undo_node->gpd= gpencil_data_duplicate(gpd);
+
+ cur_node= undo_node;
+
+ BLI_addtail(&undo_nodes, undo_node);
+}
+
+void gpencil_undo_finish(void)
+{
+ bGPundonode *undo_node= undo_nodes.first;
+
+ while(undo_node) {
+ free_gpencil_data(undo_node->gpd);
+ MEM_freeN(undo_node->gpd);
+
+ undo_node= undo_node->next;
+ }
+
+ BLI_freelistN(&undo_nodes);
+
+ cur_node= NULL;
+}
diff --git a/source/blender/editors/include/BIF_glutil.h b/source/blender/editors/include/BIF_glutil.h
index c9615204607..27bd31c20ff 100644
--- a/source/blender/editors/include/BIF_glutil.h
+++ b/source/blender/editors/include/BIF_glutil.h
@@ -52,6 +52,8 @@ void fdrawXORcirc(float xofs, float yofs, float rad);
/* glStipple defines */
extern unsigned char stipple_halftone[128];
extern unsigned char stipple_quarttone[128];
+extern unsigned char stipple_diag_stripes_pos[128];
+extern unsigned char stipple_diag_stripes_neg[128];
/**
* Draw a lined (non-looping) arc with the given
diff --git a/source/blender/editors/include/ED_anim_api.h b/source/blender/editors/include/ED_anim_api.h
index 5ecbaeb1c87..b730913a368 100644
--- a/source/blender/editors/include/ED_anim_api.h
+++ b/source/blender/editors/include/ED_anim_api.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -41,6 +39,7 @@ struct bContext;
struct wmKeyConfig;
struct ReportList;
struct ScrArea;
+struct SpaceLink;
struct ARegion;
struct View2D;
@@ -56,6 +55,9 @@ struct FModifier;
struct uiBlock;
struct uiLayout;
+struct PointerRNA;
+struct PropertyRNA;
+
/* ************************************************ */
/* ANIMATION CHANNEL FILTERING */
/* anim_filter.c */
@@ -72,9 +74,12 @@ typedef struct bAnimContext {
short mode; /* editor->mode */
short spacetype; /* sa->spacetype */
short regiontype; /* active region -> type (channels or main) */
- struct ScrArea *sa; /* editor */
+ struct ScrArea *sa; /* editor host */
+ struct SpaceLink *sl; /* editor data */
struct ARegion *ar; /* region within editor */
+ struct bDopeSheet *ads; /* dopesheet data for editor (or which is being used) */
+
struct Scene *scene; /* active scene */
struct Object *obact; /* active object */
ListBase *markers; /* active set of markers */
@@ -83,7 +88,6 @@ typedef struct bAnimContext {
} bAnimContext;
/* Main Data container types */
-// XXX was ACTCONT_*
typedef enum eAnimCont_Types {
ANIMCONT_NONE = 0, /* invalid or no data */
ANIMCONT_ACTION, /* action (bAction) */
@@ -92,7 +96,8 @@ typedef enum eAnimCont_Types {
ANIMCONT_DOPESHEET, /* dopesheet (bDopesheet) */
ANIMCONT_FCURVES, /* animation F-Curves (bDopesheet) */
ANIMCONT_DRIVERS, /* drivers (bDopesheet) */
- ANIMCONT_NLA /* nla (bDopesheet) */
+ ANIMCONT_NLA, /* nla (bDopesheet) */
+ ANIMCONT_CHANNEL /* animation channel (bAnimListElem) */
} eAnimCont_Types;
/* --------------- Channels -------------------- */
@@ -108,17 +113,12 @@ typedef struct bAnimListElem {
int flag; /* copy of elem's flags for quick access */
int index; /* for un-named data, the index of the data in it's collection */
- short elemFlag; /* flags for the list elem instance (not the data it represents) */
-
short datatype; /* type of motion data to expect */
void *key_data; /* motion data - mostly F-Curves, but can be other types too */
struct ID *id; /* ID block that channel is attached to */
struct AnimData *adt; /* source of the animation data attached to ID block (for convenience) */
-
- void *owner; /* group or channel which acts as this channel's owner */
- short ownertype; /* type of owner */
} bAnimListElem;
@@ -126,7 +126,6 @@ typedef struct bAnimListElem {
* NOTE: need to keep the order of these synchronised with the channels define code
* which is used for drawing and handling channel lists for
*/
-// XXX was ACTTYPE_*
typedef enum eAnim_ChannelType {
ANIMTYPE_NONE= 0,
ANIMTYPE_ANIMDATA,
@@ -141,9 +140,6 @@ typedef enum eAnim_ChannelType {
ANIMTYPE_FILLACTD,
ANIMTYPE_FILLDRIVERS,
- ANIMTYPE_FILLMATD,
- ANIMTYPE_FILLPARTD,
- ANIMTYPE_FILLTEXD,
ANIMTYPE_DSMAT,
ANIMTYPE_DSLAM,
@@ -158,6 +154,7 @@ typedef enum eAnim_ChannelType {
ANIMTYPE_DSMESH,
ANIMTYPE_DSTEX,
ANIMTYPE_DSLAT,
+ ANIMTYPE_DSSPK,
ANIMTYPE_SHAPEKEY,
@@ -187,28 +184,44 @@ typedef enum eAnim_KeyType {
/* ----------------- Filtering -------------------- */
-/* filtering flags - under what circumstances should a channel be added */
-// XXX was ACTFILTER_*
+/* filtering flags - under what circumstances should a channel be returned */
typedef enum eAnimFilter_Flags {
- ANIMFILTER_VISIBLE = (1<<0), /* should channels be visible (in terms of hierarchy only) */
- ANIMFILTER_SEL = (1<<1), /* should channels be selected */
- ANIMFILTER_UNSEL = (1<<2), /* should channels be NOT selected */
- ANIMFILTER_FOREDIT = (1<<3), /* does editable status matter */
- ANIMFILTER_CURVESONLY = (1<<4), /* don't include summary-channels, etc. */
- ANIMFILTER_CHANNELS = (1<<5), /* make list for interface drawing */
- ANIMFILTER_ACTGROUPED = (1<<6), /* belongs to the active actiongroup */
- ANIMFILTER_CURVEVISIBLE = (1<<7), /* F-Curve is visible for editing/viewing in Graph Editor */
- ANIMFILTER_ACTIVE = (1<<8), /* channel should be 'active' */
- ANIMFILTER_ANIMDATA = (1<<9), /* only return the underlying AnimData blocks (not the tracks, etc.) data comes from */
- ANIMFILTER_NLATRACKS = (1<<10), /* only include NLA-tracks */
- ANIMFILTER_SELEDIT = (1<<11), /* link editability with selected status */
- ANIMFILTER_NODUPLIS = (1<<12), /* duplicate entries for animation data attached to multi-user blocks must not occur */
+ /* data which channel represents is fits the dopesheet filters (i.e. scene visibility criteria) */
+ // XXX: it's hard to think of any examples where this *ISN'T* the case... perhaps becomes implicit?
+ ANIMFILTER_DATA_VISIBLE = (1<<0),
+ /* channel is visible within the channel-list hierarchy (i.e. F-Curves within Groups in ActEdit) */
+ ANIMFILTER_LIST_VISIBLE = (1<<1),
+ /* channel has specifically been tagged as visible in Graph Editor (* Graph Editor Only) */
+ ANIMFILTER_CURVE_VISIBLE = (1<<2),
+
+ /* include summary channels and "expanders" (for drawing/mouse-selection in channel list) */
+ ANIMFILTER_LIST_CHANNELS = (1<<3),
+
+ /* for its type, channel should be "active" one */
+ ANIMFILTER_ACTIVE = (1<<4),
+ /* channel is a child of the active group (* Actions speciality) */
+ ANIMFILTER_ACTGROUPED = (1<<5),
+
+ /* channel must be selected/not-selected, but both must not be set together */
+ ANIMFILTER_SEL = (1<<6),
+ ANIMFILTER_UNSEL = (1<<7),
- /* all filters - the power inside the bracket must be the last power for left-shifts + 1 */
- ANIMFILTER_ALLFILTERS = ((1<<12) - 1)
+ /* editability status - must be editable to be included */
+ ANIMFILTER_FOREDIT = (1<<8),
+ /* only selected animchannels should be considerable as editable - mainly for Graph Editor's option for keys on select curves only */
+ ANIMFILTER_SELEDIT = (1<<9),
+
+ /* flags used to enforce certain data types */
+ // NOTE: the ones for curves and NLA tracks were redundant and have been removed for now...
+ ANIMFILTER_ANIMDATA = (1<<10),
+
+ /* duplicate entries for animation data attached to multi-user blocks must not occur */
+ ANIMFILTER_NODUPLIS = (1<<11),
+
+ /* for checking if we should keep some collapsed channel around (internal use only!) */
+ ANIMFILTER_TMP_PEEK = (1<<30)
} eAnimFilter_Flags;
-
/* ---------- Flag Checking Macros ------------ */
// xxx check on all of these flags again...
@@ -218,13 +231,9 @@ typedef enum eAnimFilter_Flags {
#define EXPANDED_SCEC(sce) ((sce->flag & SCE_DS_COLLAPSED)==0)
/* 'Sub-Scene' channels (flags stored in Data block) */
#define FILTER_WOR_SCED(wo) ((wo->flag & WO_DS_EXPAND))
-#define FILTER_NTREE_SCED(ntree) ((ntree->flag & NTREE_DS_EXPAND))
/* 'Object' channels */
#define SEL_OBJC(base) ((base->flag & SELECT))
#define EXPANDED_OBJC(ob) ((ob->nlaflag & OB_ADS_COLLAPSED)==0)
- /* 'Sub-object' channels (flags stored in Object block) */
-#define FILTER_MAT_OBJC(ob) ((ob->nlaflag & OB_ADS_SHOWMATS))
-#define FILTER_PART_OBJC(ob) ((ob->nlaflag & OB_ADS_SHOWPARTS))
/* 'Sub-object' channels (flags stored in Data block) */
#define FILTER_SKE_OBJD(key) ((key->flag & KEY_DS_EXPAND))
#define FILTER_MAT_OBJD(ma) ((ma->flag & MA_DS_EXPAND))
@@ -236,28 +245,28 @@ typedef enum eAnimFilter_Flags {
#define FILTER_ARM_OBJD(arm) ((arm->flag & ARM_DS_EXPAND))
#define FILTER_MESH_OBJD(me) ((me->flag & ME_DS_EXPAND))
#define FILTER_LATTICE_OBJD(lt) ((lt->flag & LT_DS_EXPAND))
+#define FILTER_SPK_OBJD(spk) ((spk->flag & SPK_DS_EXPAND))
+ /* Variable use expanders */
+#define FILTER_NTREE_DATA(ntree) ((ntree->flag & NTREE_DS_EXPAND))
+#define FILTER_TEX_DATA(tex) ((tex->flag & TEX_DS_EXPAND))
/* 'Sub-object/Action' channels (flags stored in Action) */
#define SEL_ACTC(actc) ((actc->flag & ACT_SELECTED))
#define EXPANDED_ACTC(actc) ((actc->flag & ACT_COLLAPSED)==0)
/* 'Sub-AnimData' channels */
#define EXPANDED_DRVD(adt) ((adt->flag & ADT_DRIVERS_COLLAPSED)==0)
- /* Texture expanders */
-#define FILTER_TEX_MATC(ma) ((ma->flag & MA_DS_SHOW_TEXS))
-#define FILTER_TEX_LAMC(la) ((la->flag & LA_DS_SHOW_TEXS))
-#define FILTER_TEX_WORC(wa) ((wo->flag & WO_DS_SHOW_TEXS))
-#define FILTER_TEX_DATA(tex) ((tex->flag & TEX_DS_EXPAND))
+
/* Actions (also used for Dopesheet) */
/* Action Channel Group */
#define EDITABLE_AGRP(agrp) ((agrp->flag & AGRP_PROTECTED)==0)
#define EXPANDED_AGRP(ac, agrp) \
- ( ( ((ac)->spacetype == SPACE_IPO) && (agrp->flag & AGRP_EXPANDED_G) ) || \
- ( ((ac)->spacetype != SPACE_IPO) && (agrp->flag & AGRP_EXPANDED) ) )
+ ( ((!(ac) || ((ac)->spacetype != SPACE_IPO)) && (agrp->flag & AGRP_EXPANDED)) || \
+ (( (ac) && ((ac)->spacetype == SPACE_IPO)) && (agrp->flag & AGRP_EXPANDED_G)) )
#define SEL_AGRP(agrp) ((agrp->flag & AGRP_SELECTED) || (agrp->flag & AGRP_ACTIVE))
/* F-Curve Channels */
#define EDITABLE_FCU(fcu) ((fcu->flag & FCURVE_PROTECTED)==0)
-#define SEL_FCU(fcu) (fcu->flag & (FCURVE_ACTIVE|FCURVE_SELECTED))
+#define SEL_FCU(fcu) (fcu->flag & FCURVE_SELECTED)
/* ShapeKey mode only */
#define EDITABLE_SHAPEKEY(kb) ((kb->flag & KEYBLOCK_LOCKED)==0)
@@ -268,7 +277,7 @@ typedef enum eAnimFilter_Flags {
#define EXPANDED_GPD(gpd) (gpd->flag & GP_DATA_EXPAND)
/* Grease Pencil Layer settings */
#define EDITABLE_GPL(gpl) ((gpl->flag & GP_LAYER_LOCKED)==0)
-#define SEL_GPL(gpl) ((gpl->flag & GP_LAYER_ACTIVE) || (gpl->flag & GP_LAYER_SELECT))
+#define SEL_GPL(gpl) (gpl->flag & GP_LAYER_SELECT)
/* NLA only */
#define SEL_NLT(nlt) (nlt->flag & NLATRACK_SELECTED)
@@ -293,11 +302,12 @@ typedef enum eAnimFilter_Flags {
/* -------------- NLA Channel Defines -------------- */
/* NLA channel heights */
-#define NLACHANNEL_FIRST -16
-#define NLACHANNEL_HEIGHT 24
-#define NLACHANNEL_HEIGHT_HALF 12
-#define NLACHANNEL_SKIP 2
-#define NLACHANNEL_STEP (NLACHANNEL_HEIGHT + NLACHANNEL_SKIP)
+// XXX: NLACHANNEL_FIRST isn't used?
+#define NLACHANNEL_FIRST -16
+#define NLACHANNEL_HEIGHT(snla) ((snla && (snla->flag & SNLA_NOSTRIPCURVES)) ? 16 : 24)
+#define NLACHANNEL_HEIGHT_HALF(snla) ((snla && (snla->flag & SNLA_NOSTRIPCURVES)) ? 8 : 12)
+#define NLACHANNEL_SKIP 2
+#define NLACHANNEL_STEP(snla) (NLACHANNEL_HEIGHT(snla) + NLACHANNEL_SKIP)
/* channel widths */
#define NLACHANNEL_NAMEWIDTH 200
@@ -310,7 +320,7 @@ typedef enum eAnimFilter_Flags {
/* Obtain list of filtered Animation channels to operate on.
* Returns the number of channels in the list
*/
-int ANIM_animdata_filter(bAnimContext *ac, ListBase *anim_data, int filter_mode, void *data, short datatype);
+size_t ANIM_animdata_filter(bAnimContext *ac, ListBase *anim_data, int filter_mode, void *data, short datatype);
/* Obtain current anim-data context from Blender Context info.
* Returns whether the operation was successful.
@@ -366,6 +376,8 @@ typedef struct bAnimChannelType {
/* get name (for channel lists) */
void (*name)(bAnimListElem *ale, char *name);
+ /* get RNA property+pointer for editing the name */
+ short (*name_prop)(bAnimListElem *ale, struct PointerRNA *ptr, struct PropertyRNA **prop);
/* get icon (for channel lists) */
int (*icon)(bAnimListElem *ale);
@@ -392,7 +404,7 @@ void ANIM_channel_debug_print_info(bAnimListElem *ale, short indent_level);
/* Draw the given channel */
void ANIM_channel_draw(bAnimContext *ac, bAnimListElem *ale, float yminc, float ymaxc);
/* Draw the widgets for the given channel */
-void ANIM_channel_draw_widgets(bAnimContext *ac, bAnimListElem *ale, struct uiBlock *block, float yminc, float ymaxc);
+void ANIM_channel_draw_widgets(struct bContext *C, bAnimContext *ac, bAnimListElem *ale, struct uiBlock *block, float yminc, float ymaxc, size_t channel_index);
/* ------------------------ Editing API -------------------------- */
@@ -451,7 +463,9 @@ enum {
/* time indication in seconds or frames */
DRAWCFRA_UNIT_SECONDS = (1<<1),
/* show time-offset line */
- DRAWCFRA_SHOW_TIMEOFS = (1<<2)
+ DRAWCFRA_SHOW_TIMEOFS = (1<<2),
+ /* draw indicator extra wide (for timeline) */
+ DRAWCFRA_WIDE = (1<<3)
} eAnimEditDraw_CurrentFrame;
/* main call to draw current-frame indicator in an Animation Editor */
diff --git a/source/blender/editors/include/ED_curve.h b/source/blender/editors/include/ED_curve.h
index 6a92ee2e056..d78d2846572 100644
--- a/source/blender/editors/include/ED_curve.h
+++ b/source/blender/editors/include/ED_curve.h
@@ -71,6 +71,7 @@ int mouse_nurb (struct bContext *C, const int mval[2], int extend);
struct Nurb *add_nurbs_primitive(struct bContext *C, float mat[4][4], int type, int newob);
int isNurbsel (struct Nurb *nu);
+void ED_nurb_set_spline_type(struct Nurb *nu, int type);
int join_curve_exec (struct bContext *C, struct wmOperator *op);
diff --git a/source/blender/editors/include/ED_gpencil.h b/source/blender/editors/include/ED_gpencil.h
index e5715316a31..bfd16487ae5 100644
--- a/source/blender/editors/include/ED_gpencil.h
+++ b/source/blender/editors/include/ED_gpencil.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -108,4 +106,8 @@ void paste_gpdata(void);
void snap_gplayer_frames(struct bGPDlayer *gpl, short mode);
void mirror_gplayer_frames(struct bGPDlayer *gpl, short mode);
+/* ------------ Grease-Pencil Undo System ------------------ */
+int ED_gpencil_session_active(void);
+int ED_undo_gpencil_step(struct bContext *C, int step, const char *name);
+
#endif /* ED_GPENCIL_H */
diff --git a/source/blender/editors/include/ED_keyframes_draw.h b/source/blender/editors/include/ED_keyframes_draw.h
index 3c1bb814c82..91723a1a33f 100644
--- a/source/blender/editors/include/ED_keyframes_draw.h
+++ b/source/blender/editors/include/ED_keyframes_draw.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/include/ED_keyframes_edit.h b/source/blender/editors/include/ED_keyframes_edit.h
index e6fe7efbaba..5881e8c4bfe 100644
--- a/source/blender/editors/include/ED_keyframes_edit.h
+++ b/source/blender/editors/include/ED_keyframes_edit.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -35,6 +33,7 @@
struct bAnimContext;
struct bAnimListElem;
+struct bDopeSheet;
struct FCurve;
struct BezTriple;
struct Scene;
@@ -187,11 +186,11 @@ short ANIM_fcurve_keyframes_loop(KeyframeEditData *ked, struct FCurve *fcu, Keyf
/* function for working with any type (i.e. one of the known types) of animation channel
* - filterflag is bDopeSheet->flag (DOPESHEET_FILTERFLAG)
*/
-short ANIM_animchannel_keyframes_loop(KeyframeEditData *ked, struct bAnimListElem *ale, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag);
+short ANIM_animchannel_keyframes_loop(KeyframeEditData *ked, struct bDopeSheet *ads, struct bAnimListElem *ale, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb);
/* same as above, except bAnimListElem wrapper is not needed...
* - keytype is eAnim_KeyType
*/
-short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, void *data, int keytype, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag);
+short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, struct bDopeSheet *ads, void *data, int keytype, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb);
/* functions for making sure all keyframes are in good order */
void ANIM_editkeyframes_refresh(struct bAnimContext *ac);
diff --git a/source/blender/editors/include/ED_keyframing.h b/source/blender/editors/include/ED_keyframing.h
index 294b9b8475a..cda3c4f3e71 100644
--- a/source/blender/editors/include/ED_keyframing.h
+++ b/source/blender/editors/include/ED_keyframing.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -178,6 +176,9 @@ typedef enum eModifyKey_Returns {
MODIFYKEY_MISSING_TYPEINFO = -2,
} eModifyKey_Returns;
+/* poll the current KeyingSet, updating it's set of paths (if "builtin"/"relative") for context changes */
+short ANIM_validate_keyingset(struct bContext *C, ListBase *dsources, struct KeyingSet *ks);
+
/* use the specified KeyingSet to add/remove various Keyframes on the specified frame */
int ANIM_apply_keyingset(struct bContext *C, ListBase *dsources, struct bAction *act, struct KeyingSet *ks, short mode, float cfra);
@@ -225,6 +226,13 @@ typedef enum eCreateDriverFlags {
/* -------- */
+/* Low-level call to add a new driver F-Curve. This shouldn't be used directly for most tools,
+ * although there are special cases where this approach is preferable.
+ */
+struct FCurve *verify_driver_fcurve(struct ID *id, const char rna_path[], const int array_index, short add);
+
+/* -------- */
+
/* Returns whether there is a driver in the copy/paste buffer to paste */
short ANIM_driver_can_paste(void);
diff --git a/source/blender/editors/include/ED_markers.h b/source/blender/editors/include/ED_markers.h
index f804e052301..30a0d47eda2 100644
--- a/source/blender/editors/include/ED_markers.h
+++ b/source/blender/editors/include/ED_markers.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -34,6 +32,7 @@
#define ED_MARKERS_H
struct wmKeyConfig;
+struct wmKeyMap;
struct bContext;
struct bAnimContext;
struct Scene;
@@ -72,6 +71,9 @@ void ED_operatortypes_marker(void);
/* called in screen_ops.c:ED_keymap_screen() */
void ED_marker_keymap(struct wmKeyConfig *keyconf);
+/* called in animation editors - keymap defines */
+void ED_marker_keymap_animedit_conflictfree(struct wmKeyMap *keymap);
+
/* debugging only */
void debug_markers_print_list(struct ListBase *markers);
diff --git a/source/blender/editors/include/ED_node.h b/source/blender/editors/include/ED_node.h
index 829ad3217a9..1cbf45960d3 100644
--- a/source/blender/editors/include/ED_node.h
+++ b/source/blender/editors/include/ED_node.h
@@ -33,17 +33,22 @@
#ifndef ED_NODE_H
#define ED_NODE_H
+struct ID;
+struct Main;
struct Material;
struct Scene;
struct Tex;
struct bContext;
+struct bNodeTree;
struct bNode;
-struct ID;
+struct bNodeTree;
+struct ScrArea;
/* drawnode.c */
void ED_init_node_butfuncs(void);
/* node_draw.c */
+void ED_node_tree_update(struct SpaceNode *snode, struct Scene *scene);
void ED_node_changed_update(struct ID *id, struct bNode *node);
void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node);
@@ -51,7 +56,12 @@ void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct
void ED_node_shader_default(struct Material *ma);
void ED_node_composit_default(struct Scene *sce);
void ED_node_texture_default(struct Tex *tex);
+void ED_node_link_intersect_test(struct ScrArea *sa, int test);
+void ED_node_link_insert(struct ScrArea *sa);
+
+void ED_node_update_hierarchy(struct bContext *C, struct bNodeTree *ntree);
+void ED_node_set_active(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node);
/* node ops.c */
void ED_operatormacros_node(void);
diff --git a/source/blender/editors/include/ED_object.h b/source/blender/editors/include/ED_object.h
index 28d0a9520b2..c646ec55506 100644
--- a/source/blender/editors/include/ED_object.h
+++ b/source/blender/editors/include/ED_object.h
@@ -108,7 +108,7 @@ int ED_object_add_generic_get_opts(struct bContext *C, struct wmOperator *op, fl
struct Object *ED_object_add_type(struct bContext *C, int type, float *loc, float *rot, int enter_editmode, unsigned int layer);
void ED_object_single_users(struct Main *bmain, struct Scene *scene, int full);
-
+void ED_object_single_user(struct Scene *scene, struct Object *ob);
/* object motion paths */
void ED_objects_clear_paths(struct bContext *C);
diff --git a/source/blender/editors/include/ED_sequencer.h b/source/blender/editors/include/ED_sequencer.h
index cd22a5c6ca4..5be1403c97b 100644
--- a/source/blender/editors/include/ED_sequencer.h
+++ b/source/blender/editors/include/ED_sequencer.h
@@ -31,8 +31,4 @@
#define SEQ_ZOOM_FAC(szoom) ((szoom) > 0.0f)? (szoom) : ((szoom) == 0.0f)? (1.0f) : (-1.0f/(szoom))
-
-/* in space_sequencer.c, for rna update function */
-void ED_sequencer_update_view(bContext *C, int view);
-
#endif /* ED_SEQUENCER_H */
diff --git a/source/blender/editors/include/ED_transform.h b/source/blender/editors/include/ED_transform.h
index d4d7f971b74..00ae7dda2e3 100644
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@ -148,6 +148,7 @@ void BIF_selectOrientation(void);
#define P_ALIGN_SNAP (P_GEO_SNAP|(1 << 5))
#define P_CONSTRAINT (1 << 6)
#define P_OPTIONS (1 << 7)
+#define P_CORRECT_UV (1 << 8)
void Transform_Properties(struct wmOperatorType *ot, int flags);
diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h
index 0adf6633b05..f8682d3935b 100644
--- a/source/blender/editors/include/ED_view3d.h
+++ b/source/blender/editors/include/ED_view3d.h
@@ -265,6 +265,7 @@ struct ARegion *ED_view3d_context_region_unlock(struct bContext *C);
int ED_operator_rv3d_unlock_poll(struct bContext *C);
void ED_view3d_init_mats_rv3d(struct Object *ob, struct RegionView3D *rv3d);
+void ED_view3d_init_mats_rv3d_gl(struct Object *ob, struct RegionView3D *rv3d);
int ED_view3d_scene_layer_set(int lay, const int *values, int *active);
@@ -287,7 +288,7 @@ unsigned int ED_viewedit_datamask(struct bScreen *screen);
int ED_view3d_camera_lock_check(struct View3D *v3d, struct RegionView3D *rv3d);
/* copy the camera to the view before starting a view transformation */
void ED_view3d_camera_lock_init(struct View3D *v3d, struct RegionView3D *rv3d);
-/* copy the view to the camera */
-void ED_view3d_camera_lock_sync(struct View3D *v3d, struct RegionView3D *rv3d);
+/* copy the view to the camera, return TRUE if */
+int ED_view3d_camera_lock_sync(struct View3D *v3d, struct RegionView3D *rv3d);
#endif /* ED_VIEW3D_H */
diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h
index 25e20909f34..b4263935407 100644
--- a/source/blender/editors/include/UI_icons.h
+++ b/source/blender/editors/include/UI_icons.h
@@ -322,8 +322,8 @@ DEF_ICON(OUTLINER_OB_CAMERA)
DEF_ICON(OUTLINER_OB_ARMATURE)
DEF_ICON(OUTLINER_OB_FONT)
DEF_ICON(OUTLINER_OB_SURFACE)
+DEF_ICON(OUTLINER_OB_SPEAKER)
#ifndef DEF_ICON_BLANK_SKIP
- DEF_ICON(BLANK119)
DEF_ICON(BLANK120)
DEF_ICON(BLANK121)
DEF_ICON(BLANK122)
@@ -354,9 +354,9 @@ DEF_ICON(OUTLINER_DATA_CAMERA)
DEF_ICON(OUTLINER_DATA_ARMATURE)
DEF_ICON(OUTLINER_DATA_FONT)
DEF_ICON(OUTLINER_DATA_SURFACE)
+DEF_ICON(OUTLINER_DATA_SPEAKER)
DEF_ICON(OUTLINER_DATA_POSE)
#ifndef DEF_ICON_BLANK_SKIP
- DEF_ICON(BLANK129)
DEF_ICON(BLANK130)
DEF_ICON(BLANK131)
DEF_ICON(BLANK132)
@@ -632,21 +632,20 @@ DEF_ICON(MARKER_HLT)
DEF_ICON(MARKER)
DEF_ICON(SPACE2) // XXX
DEF_ICON(SPACE3) // XXX
-#ifndef DEF_ICON_BLANK_SKIP
- DEF_ICON(BLANK181)
-#endif
+DEF_ICON(KEYINGSET)
DEF_ICON(KEY_DEHLT)
DEF_ICON(KEY_HLT)
DEF_ICON(MUTE_IPO_OFF)
DEF_ICON(MUTE_IPO_ON)
-#ifndef DEF_ICON_BLANK_SKIP
- DEF_ICON(BLANK182)
- DEF_ICON(BLANK183)
- DEF_ICON(BLANK183b)
+DEF_ICON(VISIBLE_IPO_OFF)
+DEF_ICON(VISIBLE_IPO_ON)
+DEF_ICON(DRIVER)
+ /* ANIMATION */
+DEF_ICON(SOLO_OFF)
+DEF_ICON(SOLO_ON)
+#ifndef DEF_ICON_BLANK_SKIP
/* available */
- DEF_ICON(BLANK184)
- DEF_ICON(BLANK185)
DEF_ICON(BLANK186)
DEF_ICON(BLANK187)
DEF_ICON(BLANK188)
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index 1a26079800c..3fe012ea73e 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -164,6 +164,9 @@ typedef struct uiLayout uiLayout;
/* scale fixed button widths by this to account for DPI
* 8.4852 == sqrtf(72.0f)) */
#define UI_DPI_FAC (sqrtf((float)U.dpi) / 8.48528137423857f)
+#define UI_DPI_ICON_FAC (((float)U.dpi) / 72.0f)
+/* 16 to copy ICON_DEFAULT_HEIGHT */
+#define UI_DPI_ICON_SIZE ((float)16 * UI_DPI_ICON_FAC)
/* Button types, bits stored in 1 value... and a short even!
- bits 0-4: bitnr (0-31)
@@ -298,10 +301,12 @@ void uiPupMenuInvoke(struct bContext *C, const char *idname); /* popup registere
* but allow using all button types and creating an own layout. */
typedef uiBlock* (*uiBlockCreateFunc)(struct bContext *C, struct ARegion *ar, void *arg1);
+typedef void (*uiBlockCancelFunc)(void *arg1);
void uiPupBlock(struct bContext *C, uiBlockCreateFunc func, void *arg);
void uiPupBlockO(struct bContext *C, uiBlockCreateFunc func, void *arg, const char *opname, int opcontext);
-void uiPupBlockOperator(struct bContext *C, uiBlockCreateFunc func, struct wmOperator *op, int opcontext);
+void uiPupBlockEx(struct bContext *C, uiBlockCreateFunc func, uiBlockCancelFunc cancel_func, void *arg);
+/* void uiPupBlockOperator(struct bContext *C, uiBlockCreateFunc func, struct wmOperator *op, int opcontext); */ /* UNUSED */
void uiPupBlockClose(struct bContext *C, uiBlock *block);
@@ -405,6 +410,7 @@ uiBut *uiDefButBitS(uiBlock *block, int type, int bit, int retval, const char *s
uiBut *uiDefButC(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefButBitC(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefButR(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
+uiBut *uiDefButR_prop(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefButO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip);
uiBut *uiDefButTextO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip);
@@ -424,6 +430,7 @@ uiBut *uiDefIconButBitS(uiBlock *block, int type, int bit, int retval, int icon,
uiBut *uiDefIconButC(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconButR(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
+uiBut *uiDefIconButR_prop(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, int x1, int y1, short x2, short y2, const char *tip);
uiBut *uiDefIconTextBut(uiBlock *block,
@@ -442,6 +449,7 @@ uiBut *uiDefIconTextButBitS(uiBlock *block, int type, int bit, int retval, int i
uiBut *uiDefIconTextButC(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconTextButBitC(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconTextButR(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
+uiBut *uiDefIconTextButR_prop(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconTextButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip);
/* for passing inputs to ButO buttons */
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index 2311aafbb17..d383bc0ab78 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -183,10 +183,12 @@ enum {
TH_HANDLE_AUTO,
TH_HANDLE_VECT,
TH_HANDLE_ALIGN,
+ TH_HANDLE_AUTOCLAMP,
TH_HANDLE_SEL_FREE,
TH_HANDLE_SEL_AUTO,
TH_HANDLE_SEL_VECT,
TH_HANDLE_SEL_ALIGN,
+ TH_HANDLE_SEL_AUTOCLAMP,
TH_ACTIVE_SPLINE,
TH_LASTSEL_POINT,
@@ -204,6 +206,8 @@ enum {
TH_STRIP_SELECT,
TH_LAMP,
+
+ TH_SPEAKER,
TH_NODE,
TH_NODE_IN_OUT,
@@ -242,7 +246,9 @@ enum {
TH_DRAWEXTRA_EDGELEN,
TH_DRAWEXTRA_FACEAREA,
- TH_DRAWEXTRA_FACEANG
+ TH_DRAWEXTRA_FACEANG,
+
+ TH_NODE_CURVING
};
/* XXX WARNING: previous is saved in file, so do not change order! */
diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt
index 6dd7af70e33..cc4c1eaa21c 100644
--- a/source/blender/editors/interface/CMakeLists.txt
+++ b/source/blender/editors/interface/CMakeLists.txt
@@ -23,8 +23,8 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../gpu
../../imbuf
../../makesdna
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c
index a21122698d9..0dee7a3813a 100644
--- a/source/blender/editors/interface/interface.c
+++ b/source/blender/editors/interface/interface.c
@@ -74,6 +74,13 @@
#define MENU_ITEM_HEIGHT 20
#define MENU_SEP_HEIGHT 6
+#define PRECISION_FLOAT_MAX 6
+#define PRECISION_FLOAT_MAX_POW 1000000 /* pow(10, PRECISION_FLOAT_MAX) */
+
+/* avoid unneeded calls to ui_get_but_val */
+#define UI_BUT_VALUE_UNSET DBL_MAX
+#define UI_GET_BUT_VALUE_INIT(_but, _value) if(_value == DBL_MAX) { (_value)= ui_get_but_val(_but); }
+
/*
* a full doc with API notes can be found in bf-blender/trunk/blender/doc/guides/interface_API.txt
*
@@ -463,27 +470,39 @@ static int ui_but_float_precision(uiBut *but, double value)
* _but_, this is only for small values si 10.0001 will not get
* the same treatment */
if(value != 0.0 && (value= ABS(value)) < 0.1) {
- double prec_d= -(log10(value));
- double prec_d_floor = floor(prec_d + FLT_EPSILON);
- int test_prec= (int)prec_d_floor;
-
- /* this check is so 0.00016 from isnt rounded to 0.0001 */
- if(prec_d - prec_d_floor > FLT_EPSILON) { /* not ending with a .0~001 */
- /* check if a second decimal place is needed 0.00015 for eg. */
- if(double_round(value, test_prec + 1) - double_round(value, test_prec + 2) != 0.0) {
- test_prec += 2;
+ int value_i= (int)((value * PRECISION_FLOAT_MAX_POW) + 0.5);
+ if(value_i != 0) {
+ const int prec_span= 3; /* show: 0.01001, 5 would allow 0.0100001 for eg. */
+ int test_prec;
+ int prec_min= -1;
+ int dec_flag= 0;
+ int i= PRECISION_FLOAT_MAX;
+ while(i && value_i) {
+ if(value_i % 10) {
+ dec_flag |= 1<<i;
+ prec_min= i;
+ }
+ value_i /= 10;
+ i--;
}
- else {
- test_prec += 1;
+
+ /* even though its a small value, if the second last digit is not 0, use it */
+ test_prec = prec_min;
+
+ dec_flag= (dec_flag >> (prec_min + 1)) & ((1 << prec_span) - 1);
+
+ while(dec_flag) {
+ test_prec++;
+ dec_flag = dec_flag >> 1;
}
- }
- if(test_prec > prec && test_prec <= 7) {
- prec= test_prec;
+ if(test_prec > prec) {
+ prec= test_prec;
+ }
}
}
- CLAMP(prec, 1, 7);
+ CLAMP(prec, 1, PRECISION_FLOAT_MAX);
return prec;
}
@@ -691,6 +710,27 @@ int uiButActiveOnly(const bContext *C, uiBlock *block, uiBut *but)
return 1;
}
+/* use to check if we need to disable undo, but dont make any changes
+ * returns FALSE if undo needs to be disabled. */
+static int ui_but_is_rna_undo(uiBut *but)
+{
+ if(but->rnapoin.id.data) {
+ /* avoid undo push for buttons who's ID are screen or wm level
+ * we could disable undo for buttons with no ID too but may have
+ * unforseen conciquences, so best check for ID's we _know_ are not
+ * handled by undo - campbell */
+ ID *id= but->rnapoin.id.data;
+ if(ELEM(GS(id->name), ID_SCR, ID_WM)) {
+ return FALSE;
+ }
+ else {
+ return TRUE;
+ }
+ }
+
+ return TRUE;
+}
+
/* assigns automatic keybindings to menu items for fast access
* (underline key in menu) */
static void ui_menu_block_set_keyaccels(uiBlock *block)
@@ -952,17 +992,16 @@ void uiDrawBlock(const bContext *C, uiBlock *block)
/* ************* EVENTS ************* */
-static void ui_is_but_sel(uiBut *but)
+static void ui_is_but_sel(uiBut *but, double *value)
{
- double value; /* only initialized when needed, to avoid calling when not used */
short push=0, true=1;
if(ELEM3(but->type, TOGN, ICONTOGN, OPTIONN)) true= 0;
if( but->bit ) {
int lvalue;
- value= ui_get_but_val(but);
- lvalue= (int)value;
+ UI_GET_BUT_VALUE_INIT(but, *value)
+ lvalue= (int)*value;
if( BTST(lvalue, (but->bitnr)) ) push= true;
else push= !true;
}
@@ -982,24 +1021,24 @@ static void ui_is_but_sel(uiBut *but)
case BUT_TOGDUAL:
case ICONTOG:
case OPTION:
- value= ui_get_but_val(but);
- if(value != (double)but->hardmin) push= 1;
+ UI_GET_BUT_VALUE_INIT(but, *value)
+ if(*value != (double)but->hardmin) push= 1;
break;
case ICONTOGN:
case TOGN:
case OPTIONN:
- value= ui_get_but_val(but);
- if(value==0.0) push= 1;
+ UI_GET_BUT_VALUE_INIT(but, *value)
+ if(*value==0.0) push= 1;
break;
case ROW:
case LISTROW:
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, *value)
/* support for rna enum buts */
if(but->rnaprop && (RNA_property_flag(but->rnaprop) & PROP_ENUM_FLAG)) {
- if((int)value & (int)but->hardmax) push= 1;
+ if((int)*value & (int)but->hardmax) push= 1;
}
else {
- if(value == (double)but->hardmax) push= 1;
+ if(*value == (double)but->hardmax) push= 1;
}
break;
case COL:
@@ -1227,14 +1266,14 @@ int ui_is_but_float(uiBut *but)
int ui_is_but_unit(uiBut *but)
{
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
- int unit_type= uiButGetUnitType(but);
+ UnitSettings *unit= but->block->unit;
+ const int unit_type= uiButGetUnitType(but);
if(unit_type == PROP_UNIT_NONE)
return 0;
#if 1 // removed so angle buttons get correct snapping
- if (scene->unit.system_rotation == USER_UNIT_ROT_RADIANS && unit_type == PROP_UNIT_ROTATION)
+ if (unit->system_rotation == USER_UNIT_ROT_RADIANS && unit_type == PROP_UNIT_ROTATION)
return 0;
#endif
@@ -1242,7 +1281,7 @@ int ui_is_but_unit(uiBut *but)
if (unit_type == PROP_UNIT_TIME)
return 0;
- if (scene->unit.system == USER_UNIT_NONE) {
+ if (unit->system == USER_UNIT_NONE) {
if (unit_type != PROP_UNIT_ROTATION) {
return 0;
}
@@ -1275,19 +1314,19 @@ double ui_get_but_val(uiBut *but)
switch(RNA_property_type(prop)) {
case PROP_BOOLEAN:
- if(RNA_property_array_length(&but->rnapoin, prop))
+ if(RNA_property_array_check(prop))
value= RNA_property_boolean_get_index(&but->rnapoin, prop, but->rnaindex);
else
value= RNA_property_boolean_get(&but->rnapoin, prop);
break;
case PROP_INT:
- if(RNA_property_array_length(&but->rnapoin, prop))
+ if(RNA_property_array_check(prop))
value= RNA_property_int_get_index(&but->rnapoin, prop, but->rnaindex);
else
value= RNA_property_int_get(&but->rnapoin, prop);
break;
case PROP_FLOAT:
- if(RNA_property_array_length(&but->rnapoin, prop))
+ if(RNA_property_array_check(prop))
value= RNA_property_float_get_index(&but->rnapoin, prop, but->rnaindex);
else
value= RNA_property_float_get(&but->rnapoin, prop);
@@ -1370,6 +1409,10 @@ void ui_set_but_val(uiBut *but, double value)
break;
}
}
+
+ /* we can't be sure what RNA set functions actually do,
+ * so leave this unset */
+ value= UI_BUT_VALUE_UNSET;
}
else if(but->pointype==0);
else if(but->type==HSVSLI ) {
@@ -1410,19 +1453,19 @@ void ui_set_but_val(uiBut *but, double value)
/* then set value with possible edit override */
if(but->editval)
- *but->editval= value;
+ value= *but->editval= value;
else if(but->pointype==CHA)
- *((char *)but->poin)= (char)value;
+ value= *((char *)but->poin)= (char)value;
else if(but->pointype==SHO)
- *((short *)but->poin)= (short)value;
+ value= *((short *)but->poin)= (short)value;
else if(but->pointype==INT)
- *((int *)but->poin)= (int)value;
+ value= *((int *)but->poin)= (int)value;
else if(but->pointype==FLO)
- *((float *)but->poin)= (float)value;
+ value= *((float *)but->poin)= (float)value;
}
/* update select flag */
- ui_is_but_sel(but);
+ ui_is_but_sel(but, &value);
}
int ui_get_but_string_max_length(uiBut *but)
@@ -1437,19 +1480,20 @@ int ui_get_but_string_max_length(uiBut *but)
static double ui_get_but_scale_unit(uiBut *but, double value)
{
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
+ UnitSettings *unit= but->block->unit;
int unit_type= uiButGetUnitType(but);
if(unit_type == PROP_UNIT_LENGTH) {
- return value * (double)scene->unit.scale_length;
+ return value * (double)unit->scale_length;
}
else if(unit_type == PROP_UNIT_AREA) {
- return value * pow(scene->unit.scale_length, 2);
+ return value * pow(unit->scale_length, 2);
}
else if(unit_type == PROP_UNIT_VOLUME) {
- return value * pow(scene->unit.scale_length, 3);
+ return value * pow(unit->scale_length, 3);
}
else if(unit_type == PROP_UNIT_TIME) { /* WARNING - using evil_C :| */
+ Scene *scene= CTX_data_scene(but->block->evil_C);
return FRA2TIME(value);
}
else {
@@ -1461,14 +1505,14 @@ static double ui_get_but_scale_unit(uiBut *but, double value)
void ui_convert_to_unit_alt_name(uiBut *but, char *str, int maxlen)
{
if(ui_is_but_unit(but)) {
+ UnitSettings *unit= but->block->unit;
int unit_type= uiButGetUnitType(but);
char *orig_str;
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
orig_str= MEM_callocN(sizeof(char)*maxlen + 1, "textedit sub str");
memcpy(orig_str, str, maxlen);
- bUnit_ToUnitAltName(str, maxlen, orig_str, scene->unit.system, unit_type>>16);
+ bUnit_ToUnitAltName(str, maxlen, orig_str, unit->system, unit_type>>16);
MEM_freeN(orig_str);
}
@@ -1476,27 +1520,26 @@ void ui_convert_to_unit_alt_name(uiBut *but, char *str, int maxlen)
static void ui_get_but_string_unit(uiBut *but, char *str, int len_max, double value, int pad)
{
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
- int do_split= scene->unit.flag & USER_UNIT_OPT_SPLIT;
+ UnitSettings *unit= but->block->unit;
+ int do_split= unit->flag & USER_UNIT_OPT_SPLIT;
int unit_type= uiButGetUnitType(but);
int precision= but->a2;
- if(scene->unit.scale_length<0.0001f) scene->unit.scale_length= 1.0f; // XXX do_versions
+ if(unit->scale_length<0.0001f) unit->scale_length= 1.0f; // XXX do_versions
/* Sanity checks */
- if(precision>7) precision= 7;
- else if(precision==0) precision= 2;
+ if(precision > PRECISION_FLOAT_MAX) precision= PRECISION_FLOAT_MAX;
+ else if(precision==0) precision= 2;
- bUnit_AsString(str, len_max, ui_get_but_scale_unit(but, value), precision, scene->unit.system, unit_type>>16, do_split, pad);
+ bUnit_AsString(str, len_max, ui_get_but_scale_unit(but, value), precision, unit->system, unit_type>>16, do_split, pad);
}
static float ui_get_but_step_unit(uiBut *but, float step_default)
{
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
int unit_type= uiButGetUnitType(but)>>16;
float step;
- step = bUnit_ClosestScalar(ui_get_but_scale_unit(but, step_default), scene->unit.system, unit_type);
+ step = bUnit_ClosestScalar(ui_get_but_scale_unit(but, step_default), but->block->unit->system, unit_type);
if(step > 0.0f) { /* -1 is an error value */
return (float)((double)step/ui_get_but_scale_unit(but, 1.0))*100.0f;
@@ -1584,12 +1627,11 @@ static int ui_set_but_string_eval_num_unit(bContext *C, uiBut *but, const char *
{
char str_unit_convert[256];
const int unit_type= uiButGetUnitType(but);
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
BLI_strncpy(str_unit_convert, str, sizeof(str_unit_convert));
/* ugly, use the draw string to get the value, this could cause problems if it includes some text which resolves to a unit */
- bUnit_ReplaceString(str_unit_convert, sizeof(str_unit_convert), but->drawstr, ui_get_but_scale_unit(but, 1.0), scene->unit.system, unit_type>>16);
+ bUnit_ReplaceString(str_unit_convert, sizeof(str_unit_convert), but->drawstr, ui_get_but_scale_unit(but, 1.0), but->block->unit->system, unit_type>>16);
return (BPY_button_exec(C, str_unit_convert, value, TRUE) != -1);
}
@@ -1679,6 +1721,10 @@ int ui_set_but_string(bContext *C, uiBut *but, const char *str)
/* driver expression */
return 1;
}
+ else if(str[0]=='#') {
+ /* shortcut to create new driver expression (versus immediate Py-execution) */
+ return ui_but_anim_expression_create(but, str+1);
+ }
else {
/* number editing */
double value;
@@ -1718,7 +1764,7 @@ void ui_set_but_default(bContext *C, short all)
static double soft_range_round_up(double value, double max)
{
/* round up to .., 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, .. */
- double newmax= pow(10.0, ceil(log(value)/log(10.0)));
+ double newmax= pow(10.0, ceil(log(value)/M_LN10));
if(newmax*0.2 >= max && newmax*0.2 >= value)
return newmax*0.2;
@@ -1731,7 +1777,7 @@ static double soft_range_round_up(double value, double max)
static double soft_range_round_down(double value, double max)
{
/* round down to .., 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, .. */
- double newmax= pow(10.0, floor(log(value)/log(10.0)));
+ double newmax= pow(10.0, floor(log(value)/M_LN10));
if(newmax*5.0 <= max && newmax*5.0 <= value)
return newmax*5.0;
@@ -1743,50 +1789,70 @@ static double soft_range_round_down(double value, double max)
void ui_set_but_soft_range(uiBut *but, double value)
{
- PropertyType type;
- double softmin, softmax /*, step, precision*/;
-
+ /* ideally we would not limit this but practially, its more then
+ * enough worst case is very long vectors wont use a smart soft-range
+ * which isnt so bad. */
+
if(but->rnaprop) {
- type= RNA_property_type(but->rnaprop);
+ const PropertyType type= RNA_property_type(but->rnaprop);
+ double softmin, softmax /*, step, precision*/;
+ double value_min= value;
+ double value_max= value;
/* clamp button range to something reasonable in case
* we get -inf/inf from RNA properties */
if(type == PROP_INT) {
int imin, imax, istep;
+ const int array_len= RNA_property_array_length(&but->rnapoin, but->rnaprop);
RNA_property_int_ui_range(&but->rnapoin, but->rnaprop, &imin, &imax, &istep);
softmin= (imin == INT_MIN)? -1e4: imin;
softmax= (imin == INT_MAX)? 1e4: imax;
/*step= istep;*/ /*UNUSED*/
/*precision= 1;*/ /*UNUSED*/
+
+ if(array_len >= 2) {
+ int value_range[2];
+ RNA_property_int_get_array_range(&but->rnapoin, but->rnaprop, value_range);
+ value_min= (double)value_range[0];
+ value_max= (double)value_range[1];
+ }
}
else if(type == PROP_FLOAT) {
float fmin, fmax, fstep, fprecision;
+ const int array_len= RNA_property_array_length(&but->rnapoin, but->rnaprop);
RNA_property_float_ui_range(&but->rnapoin, but->rnaprop, &fmin, &fmax, &fstep, &fprecision);
softmin= (fmin == -FLT_MAX)? (float)-1e4: fmin;
softmax= (fmax == FLT_MAX)? (float)1e4: fmax;
/*step= fstep;*/ /*UNUSED*/
/*precision= fprecision;*/ /*UNUSED*/
+
+ if(array_len >= 2) {
+ float value_range[2];
+ RNA_property_float_get_array_range(&but->rnapoin, but->rnaprop, value_range);
+ value_min= (double)value_range[0];
+ value_max= (double)value_range[1];
+ }
}
else
return;
/* if the value goes out of the soft/max range, adapt the range */
- if(value+1e-10 < softmin) {
- if(value < 0.0)
- softmin= -soft_range_round_up(-value, -softmin);
+ if(value_min+1e-10 < softmin) {
+ if(value_min < 0.0)
+ softmin= -soft_range_round_up(-value_min, -softmin);
else
- softmin= soft_range_round_down(value, softmin);
+ softmin= soft_range_round_down(value_min, softmin);
if(softmin < (double)but->hardmin)
softmin= (double)but->hardmin;
}
- else if(value-1e-10 > softmax) {
- if(value < 0.0)
- softmax= -soft_range_round_down(-value, -softmax);
+ else if(value_max-1e-10 > softmax) {
+ if(value_max < 0.0)
+ softmax= -soft_range_round_down(-value_max, -softmax);
else
- softmax= soft_range_round_up(value, softmax);
+ softmax= soft_range_round_up(value_max, softmax);
if(softmax > (double)but->hardmax)
softmax= but->hardmax;
@@ -1916,7 +1982,10 @@ uiBlock *uiBeginBlock(const bContext *C, ARegion *region, const char *name, shor
block->active= 1;
block->dt= dt;
block->evil_C= (void*)C; // XXX
- if (scn) block->color_profile= (scn->r.color_mgt_flag & R_COLOR_MANAGEMENT);
+ if (scn) {
+ block->color_profile= (scn->r.color_mgt_flag & R_COLOR_MANAGEMENT);
+ block->unit= &scn->unit;
+ }
BLI_strncpy(block->name, name, sizeof(block->name));
if(region)
@@ -1959,17 +2028,19 @@ void uiBlockSetEmboss(uiBlock *block, char dt)
void ui_check_but(uiBut *but)
{
/* if something changed in the button */
- double value;
+ double value= UI_BUT_VALUE_UNSET;
// float okwidth; // UNUSED
// int transopts= ui_translate_buttons();
- ui_is_but_sel(but);
+ ui_is_but_sel(but, &value);
// if(but->type==TEX || but->type==IDPOIN) transopts= 0;
/* only update soft range while not editing */
- if(but->rnaprop && !(but->editval || but->editstr || but->editvec))
- ui_set_but_soft_range(but, ui_get_but_val(but));
+ if(but->rnaprop && !(but->editval || but->editstr || but->editvec)) {
+ UI_GET_BUT_VALUE_INIT(but, value)
+ ui_set_but_soft_range(but, value);
+ }
/* test for min and max, icon sliders, etc */
switch( but->type ) {
@@ -1978,17 +2049,20 @@ void ui_check_but(uiBut *but)
case SCROLL:
case NUMSLI:
case HSVSLI:
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
if(value < (double)but->hardmin) ui_set_but_val(but, but->hardmin);
else if(value > (double)but->hardmax) ui_set_but_val(but, but->hardmax);
break;
case NUMABS:
- value= fabs( ui_get_but_val(but) );
- if(value < (double)but->hardmin) ui_set_but_val(but, but->hardmin);
- else if(value > (double)but->hardmax) ui_set_but_val(but, but->hardmax);
+ {
+ double value_abs;
+ UI_GET_BUT_VALUE_INIT(but, value)
+ value_abs= fabs(value);
+ if(value_abs < (double)but->hardmin) ui_set_but_val(but, but->hardmin);
+ else if(value_abs > (double)but->hardmax) ui_set_but_val(but, but->hardmax);
break;
-
+ }
case ICONTOG:
case ICONTOGN:
if(!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
@@ -1999,14 +2073,14 @@ void ui_check_but(uiBut *but)
case ICONROW:
if(!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
but->iconadd= (int)value- (int)(but->hardmin);
}
break;
case ICONTEXTROW:
if(!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
but->iconadd= (int)value- (int)(but->hardmin);
}
break;
@@ -2023,7 +2097,7 @@ void ui_check_but(uiBut *but)
case ICONTEXTROW:
if(but->x2 - but->x1 > 24) {
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
ui_set_name_menu(but, (int)value);
}
break;
@@ -2033,7 +2107,7 @@ void ui_check_but(uiBut *but)
case HSVSLI:
case NUMABS:
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
if(ui_is_but_float(but)) {
if(value == (double) FLT_MAX) sprintf(but->drawstr, "%sinf", but->str);
@@ -2064,7 +2138,7 @@ void ui_check_but(uiBut *but)
case LABEL:
if(ui_is_but_float(but)) {
int prec;
- value= ui_get_but_val(but);
+ UI_GET_BUT_VALUE_INIT(but, value)
prec= ui_but_float_precision(but, value);
BLI_snprintf(but->drawstr, sizeof(but->drawstr), "%s%.*f", but->str, prec, value);
}
@@ -2090,8 +2164,10 @@ void ui_check_but(uiBut *but)
strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
if (but->flag & UI_SELECT) {
strcat(but->drawstr, "Press a key");
- } else {
- strcat(but->drawstr, WM_key_event_string((short) ui_get_but_val(but)));
+ }
+ else {
+ UI_GET_BUT_VALUE_INIT(but, value)
+ strcat(but->drawstr, WM_key_event_string((short)value));
}
break;
@@ -2441,138 +2517,139 @@ static uiBut *ui_def_but(uiBlock *block, int type, int retval, const char *str,
return but;
}
-static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
+/* ui_def_but_rna_propname and ui_def_but_rna
+ * both take the same args except for propname vs prop, this is done so we can
+ * avoid an extra lookup on 'prop' when its already available.
+ *
+ * When this kind of change won't disrupt branches, best look into making more
+ * of our UI functions take prop rather then propname.
+ */
+
+#define UI_DEF_BUT_RNA_DISABLE(but) \
+ but->flag |= UI_BUT_DISABLED; \
+ but->lock = 1; \
+ but->lockstr = ""
+
+
+static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
{
+ const PropertyType proptype= RNA_property_type(prop);
uiBut *but;
- PropertyRNA *prop;
- PropertyType proptype;
int freestr= 0, icon= 0;
- prop= RNA_struct_find_property(ptr, propname);
-
- if(prop) {
- proptype= RNA_property_type(prop);
-
- /* use rna values if parameters are not specified */
- if(!str) {
- if(type == MENU && proptype == PROP_ENUM) {
- EnumPropertyItem *item;
- DynStr *dynstr;
- int i, totitem, value, free;
-
- RNA_property_enum_items(block->evil_C, ptr, prop, &item, &totitem, &free);
- value= RNA_property_enum_get(ptr, prop);
-
- dynstr= BLI_dynstr_new();
- BLI_dynstr_appendf(dynstr, "%s%%t", RNA_property_ui_name(prop));
- for(i=0; i<totitem; i++) {
- if(!item[i].identifier[0]) {
- if(item[i].name)
- BLI_dynstr_appendf(dynstr, "|%s%%l", item[i].name);
- else
- BLI_dynstr_append(dynstr, "|%l");
- }
- else if(item[i].icon)
- BLI_dynstr_appendf(dynstr, "|%s %%i%d %%x%d", item[i].name, item[i].icon, item[i].value);
+ /* use rna values if parameters are not specified */
+ if(!str) {
+ if(type == MENU && proptype == PROP_ENUM) {
+ EnumPropertyItem *item;
+ DynStr *dynstr;
+ int i, totitem, value, free;
+
+ RNA_property_enum_items(block->evil_C, ptr, prop, &item, &totitem, &free);
+ value= RNA_property_enum_get(ptr, prop);
+
+ dynstr= BLI_dynstr_new();
+ BLI_dynstr_appendf(dynstr, "%s%%t", RNA_property_ui_name(prop));
+ for(i=0; i<totitem; i++) {
+ if(!item[i].identifier[0]) {
+ if(item[i].name)
+ BLI_dynstr_appendf(dynstr, "|%s%%l", item[i].name);
else
- BLI_dynstr_appendf(dynstr, "|%s %%x%d", item[i].name, item[i].value);
+ BLI_dynstr_append(dynstr, "|%l");
+ }
+ else if(item[i].icon)
+ BLI_dynstr_appendf(dynstr, "|%s %%i%d %%x%d", item[i].name, item[i].icon, item[i].value);
+ else
+ BLI_dynstr_appendf(dynstr, "|%s %%x%d", item[i].name, item[i].value);
- if(value == item[i].value) {
- icon= item[i].icon;
- if(!tip)
- tip= item[i].description;
- }
+ if(value == item[i].value) {
+ icon= item[i].icon;
+ if(!tip)
+ tip= item[i].description;
}
- str= BLI_dynstr_get_cstring(dynstr);
- BLI_dynstr_free(dynstr);
+ }
+ str= BLI_dynstr_get_cstring(dynstr);
+ BLI_dynstr_free(dynstr);
- if(free)
- MEM_freeN(item);
+ if(free)
+ MEM_freeN(item);
- freestr= 1;
- }
- else if(ELEM(type, ROW, LISTROW) && proptype == PROP_ENUM) {
- EnumPropertyItem *item;
- int i, totitem, free;
-
- RNA_property_enum_items(block->evil_C, ptr, prop, &item, &totitem, &free);
- for(i=0; i<totitem; i++) {
- if(item[i].identifier[0] && item[i].value == (int)max) {
- str= item[i].name;
- icon= item[i].icon;
- }
- }
+ freestr= 1;
+ }
+ else if(ELEM(type, ROW, LISTROW) && proptype == PROP_ENUM) {
+ EnumPropertyItem *item;
+ int i, totitem, free;
- if(!str)
- str= RNA_property_ui_name(prop);
- if(free)
- MEM_freeN(item);
+ RNA_property_enum_items(block->evil_C, ptr, prop, &item, &totitem, &free);
+ for(i=0; i<totitem; i++) {
+ if(item[i].identifier[0] && item[i].value == (int)max) {
+ str= item[i].name;
+ icon= item[i].icon;
+ }
}
- else {
+
+ if(!str)
str= RNA_property_ui_name(prop);
- icon= RNA_property_ui_icon(prop);
- }
+ if(free)
+ MEM_freeN(item);
}
-
- if(!tip && proptype != PROP_ENUM)
- tip= RNA_property_ui_description(prop);
+ else {
+ str= RNA_property_ui_name(prop);
+ icon= RNA_property_ui_icon(prop);
+ }
+ }
- if(min == max || a1 == -1 || a2 == -1) {
- if(proptype == PROP_INT) {
- int hardmin, hardmax, softmin, softmax, step;
+ if(!tip && proptype != PROP_ENUM)
+ tip= RNA_property_ui_description(prop);
- RNA_property_int_range(ptr, prop, &hardmin, &hardmax);
- RNA_property_int_ui_range(ptr, prop, &softmin, &softmax, &step);
+ if(min == max || a1 == -1 || a2 == -1) {
+ if(proptype == PROP_INT) {
+ int hardmin, hardmax, softmin, softmax, step;
- if(!ELEM(type, ROW, LISTROW) && min == max) {
- min= hardmin;
- max= hardmax;
- }
- if(a1 == -1)
- a1= step;
- if(a2 == -1)
- a2= 0;
+ RNA_property_int_range(ptr, prop, &hardmin, &hardmax);
+ RNA_property_int_ui_range(ptr, prop, &softmin, &softmax, &step);
+
+ if(!ELEM(type, ROW, LISTROW) && min == max) {
+ min= hardmin;
+ max= hardmax;
}
- else if(proptype == PROP_FLOAT) {
- float hardmin, hardmax, softmin, softmax, step, precision;
+ if(a1 == -1)
+ a1= step;
+ if(a2 == -1)
+ a2= 0;
+ }
+ else if(proptype == PROP_FLOAT) {
+ float hardmin, hardmax, softmin, softmax, step, precision;
- RNA_property_float_range(ptr, prop, &hardmin, &hardmax);
- RNA_property_float_ui_range(ptr, prop, &softmin, &softmax, &step, &precision);
+ RNA_property_float_range(ptr, prop, &hardmin, &hardmax);
+ RNA_property_float_ui_range(ptr, prop, &softmin, &softmax, &step, &precision);
- if(!ELEM(type, ROW, LISTROW) && min == max) {
- min= hardmin;
- max= hardmax;
- }
- if(a1 == -1)
- a1= step;
- if(a2 == -1)
- a2= precision;
- }
- else if(proptype == PROP_STRING) {
- min= 0;
- max= RNA_property_string_maxlength(prop);
- if(max == 0) /* interface code should ideally support unlimited length */
- max= UI_MAX_DRAW_STR;
+ if(!ELEM(type, ROW, LISTROW) && min == max) {
+ min= hardmin;
+ max= hardmax;
}
+ if(a1 == -1)
+ a1= step;
+ if(a2 == -1)
+ a2= precision;
+ }
+ else if(proptype == PROP_STRING) {
+ min= 0;
+ max= RNA_property_string_maxlength(prop);
+ if(max == 0) /* interface code should ideally support unlimited length */
+ max= UI_MAX_DRAW_STR;
}
- }
- else {
- RNA_warning("ui_def_but_rna: property not found: %s.%s\n", RNA_struct_identifier(ptr->type), propname);
- str= propname;
}
/* now create button */
but= ui_def_but(block, type, retval, str, x1, y1, x2, y2, NULL, min, max, a1, a2, tip);
- if(prop) {
- but->rnapoin= *ptr;
- but->rnaprop= prop;
+ but->rnapoin= *ptr;
+ but->rnaprop= prop;
- if(RNA_property_array_length(&but->rnapoin, but->rnaprop))
- but->rnaindex= index;
- else
- but->rnaindex= 0;
- }
+ if(RNA_property_array_length(&but->rnapoin, but->rnaprop))
+ but->rnaindex= index;
+ else
+ but->rnaindex= 0;
if(icon) {
but->icon= (BIFIconID)icon;
@@ -2580,15 +2657,18 @@ static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *s
but->flag|= UI_ICON_LEFT;
}
- if (!prop || !RNA_property_editable(&but->rnapoin, prop)) {
- but->flag |= UI_BUT_DISABLED;
- but->lock = 1;
- but->lockstr = "";
+ if (!RNA_property_editable(&but->rnapoin, prop)) {
+ UI_DEF_BUT_RNA_DISABLE(but);
+ }
+
+ if (but->flag & UI_BUT_UNDO && (ui_but_is_rna_undo(but) == FALSE)) {
+ but->flag &= ~UI_BUT_UNDO;
}
/* If this button uses units, calculate the step from this */
- if(ui_is_but_unit(but))
+ if((proptype == PROP_FLOAT) && ui_is_but_unit(but)) {
but->a1= ui_get_but_step_unit(but, but->a1);
+ }
if(freestr)
MEM_freeN((void *)str);
@@ -2596,6 +2676,23 @@ static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *s
return but;
}
+static uiBut *ui_def_but_rna_propname(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
+{
+ PropertyRNA *prop= RNA_struct_find_property(ptr, propname);
+ uiBut *but;
+
+ if(prop) {
+ but= ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
+ }
+ else {
+ but= ui_def_but(block, type, retval, propname, x1, y1, x2, y2, NULL, min, max, a1, a2, tip);
+
+ UI_DEF_BUT_RNA_DISABLE(but);
+ }
+
+ return but;
+}
+
static uiBut *ui_def_but_operator(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip)
{
uiBut *but;
@@ -2615,6 +2712,7 @@ static uiBut *ui_def_but_operator(uiBlock *block, int type, const char *opname,
but= ui_def_but(block, type, -1, str, x1, y1, x2, y2, NULL, 0, 0, 0, 0, tip);
but->optype= ot;
but->opcontext= opcontext;
+ but->flag &= ~UI_BUT_UNDO; /* no need for ui_but_is_undo(), we never need undo here */
if(!ot) {
but->flag |= UI_BUT_DISABLED;
@@ -2644,6 +2742,7 @@ static uiBut *ui_def_but_operator_text(uiBlock *block, int type, const char *opn
but= ui_def_but(block, type, -1, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
but->optype= ot;
but->opcontext= opcontext;
+ but->flag &= ~UI_BUT_UNDO; /* no need for ui_but_is_undo(), we never need undo here */
if(!ot) {
but->flag |= UI_BUT_DISABLED;
@@ -2763,6 +2862,16 @@ static void autocomplete_id(bContext *C, char *str, void *arg_v)
}
}
+static void ui_check_but_and_iconize(uiBut *but, int icon)
+{
+ if(icon) {
+ but->icon= (BIFIconID) icon;
+ but->flag|= UI_HAS_ICON;
+ }
+
+ ui_check_but(but);
+}
+
static uiBut *uiDefButBit(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
{
int bitIdx= findBitIndex(bit);
@@ -2807,31 +2916,29 @@ uiBut *uiDefButBitC(uiBlock *block, int type, int bit, int retval, const char *s
uiBut *uiDefButR(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but;
-
- but= ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
- if(but)
- ui_check_but(but);
-
+ but= ui_def_but_rna_propname(block, type, retval, str, x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
+ ui_check_but(but);
+ return but;
+}
+uiBut *uiDefButR_prop(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
+{
+ uiBut *but;
+ but= ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
+ ui_check_but(but);
return but;
}
uiBut *uiDefButO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip)
{
uiBut *but;
-
but= ui_def_but_operator(block, type, opname, opcontext, str, x1, y1, x2, y2, tip);
- if(but)
- ui_check_but(but);
-
+ ui_check_but(but);
return but;
}
uiBut *uiDefButTextO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but= ui_def_but_operator_text(block, type, opname, opcontext, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
-
- if(but)
- ui_check_but(but);
-
+ ui_check_but(but);
return but;
}
@@ -2839,12 +2946,7 @@ uiBut *uiDefButTextO(uiBlock *block, int type, const char *opname, int opcontext
uiBut *uiDefIconBut(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but= ui_def_but(block, type, retval, "", x1, y1, x2, y2, poin, min, max, a1, a2, tip);
-
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
-
- ui_check_but(but);
-
+ ui_check_but_and_iconize(but, icon);
return but;
}
static uiBut *uiDefIconButBit(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
@@ -2892,29 +2994,22 @@ uiBut *uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon,
uiBut *uiDefIconButR(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but;
-
- but= ui_def_but_rna(block, type, retval, "", x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
- if(but) {
- if(icon) {
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
- }
- ui_check_but(but);
- }
-
+ but= ui_def_but_rna_propname(block, type, retval, "", x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
+ ui_check_but_and_iconize(but, icon);
+ return but;
+}
+uiBut *uiDefIconButR_prop(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
+{
+ uiBut *but;
+ but= ui_def_but_rna(block, type, retval, "", x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
+ ui_check_but_and_iconize(but, icon);
return but;
}
uiBut *uiDefIconButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, int x1, int y1, short x2, short y2, const char *tip)
{
uiBut *but;
-
but= ui_def_but_operator(block, type, opname, opcontext, "", x1, y1, x2, y2, tip);
- if(but) {
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
- ui_check_but(but);
- }
-
+ ui_check_but_and_iconize(but, icon);
return but;
}
@@ -2922,14 +3017,8 @@ uiBut *uiDefIconButO(uiBlock *block, int type, const char *opname, int opcontext
uiBut *uiDefIconTextBut(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but= ui_def_but(block, type, retval, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
-
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
-
+ ui_check_but_and_iconize(but, icon);
but->flag|= UI_ICON_LEFT;
-
- ui_check_but(but);
-
return but;
}
static uiBut *uiDefIconTextButBit(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
@@ -2977,31 +3066,25 @@ uiBut *uiDefIconTextButBitC(uiBlock *block, int type, int bit, int retval, int i
uiBut *uiDefIconTextButR(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but;
-
- but= ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
- if(but) {
- if(icon) {
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
- }
- but->flag|= UI_ICON_LEFT;
- ui_check_but(but);
- }
-
+ but= ui_def_but_rna_propname(block, type, retval, str, x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
+ ui_check_but_and_iconize(but, icon);
+ but->flag|= UI_ICON_LEFT;
+ return but;
+}
+uiBut *uiDefIconTextButR_prop(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
+{
+ uiBut *but;
+ but= ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
+ ui_check_but_and_iconize(but, icon);
+ but->flag|= UI_ICON_LEFT;
return but;
}
uiBut *uiDefIconTextButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip)
{
uiBut *but;
-
but= ui_def_but_operator(block, type, opname, opcontext, str, x1, y1, x2, y2, tip);
- if(but) {
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
- but->flag|= UI_ICON_LEFT;
- ui_check_but(but);
- }
-
+ ui_check_but_and_iconize(but, icon);
+ but->flag|= UI_ICON_LEFT;
return but;
}
@@ -3163,11 +3246,17 @@ void uiButSetUnitType(uiBut *but, const int unit_type)
int uiButGetUnitType(uiBut *but)
{
- if(but->rnaprop) {
- return RNA_SUBTYPE_UNIT(RNA_property_subtype(but->rnaprop));
+ int ownUnit = (int)but->unit_type;
+
+ /* own unit define always takes precidence over RNA provided, allowing for overriding
+ * default value provided in RNA in a few special cases (i.e. Active Keyframe in Graph Edit)
+ */
+ // XXX: this doesn't allow clearing unit completely, though the same could be said for icons
+ if ((ownUnit != 0) || (but->rnaprop == NULL)) {
+ return ownUnit << 16;
}
else {
- return ((int)but->unit_type)<<16;
+ return RNA_SUBTYPE_UNIT(RNA_property_subtype(but->rnaprop));
}
}
diff --git a/source/blender/editors/interface/interface_anim.c b/source/blender/editors/interface/interface_anim.c
index 75e7ee701a2..1113f90a652 100644
--- a/source/blender/editors/interface/interface_anim.c
+++ b/source/blender/editors/interface/interface_anim.c
@@ -1,3 +1,27 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s):
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
/** \file blender/editors/interface/interface_anim.c
* \ingroup edinterface
*/
@@ -6,6 +30,7 @@
#include <stdlib.h>
#include <string.h>
+#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
@@ -13,15 +38,19 @@
#include "BLI_listbase.h"
#include "BLI_string.h"
+#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_animsys.h"
#include "BKE_fcurve.h"
-
+#include "BKE_global.h"
#include "ED_keyframing.h"
#include "UI_interface.h"
+#include "RNA_access.h"
+
#include "WM_api.h"
#include "WM_types.h"
@@ -84,7 +113,7 @@ int ui_but_anim_expression_set(uiBut *but, const char *str)
if(fcu && driven) {
driver= fcu->driver;
-
+
if(driver && driver->type == DRIVER_TYPE_PYTHON) {
BLI_strncpy(driver->expression, str, sizeof(driver->expression));
driver->flag |= DRIVER_FLAG_RECOMPILE;
@@ -96,6 +125,74 @@ int ui_but_anim_expression_set(uiBut *but, const char *str)
return 0;
}
+/* create new expression for button (i.e. a "scripted driver"), if it can be created... */
+int ui_but_anim_expression_create(uiBut *but, const char *str)
+{
+ bContext *C = but->block->evil_C;
+ ID *id;
+ FCurve *fcu;
+ char *path;
+ short ok=0;
+
+ /* button must have RNA-pointer to a numeric-capable property */
+ if (ELEM(NULL, but->rnapoin.data, but->rnaprop)) {
+ if (G.f & G_DEBUG)
+ printf("ERROR: create expression failed - button has no RNA info attached\n");
+ return 0;
+ }
+
+ /* make sure we have animdata for this */
+ // FIXME: until materials can be handled by depsgraph, don't allow drivers to be created for them
+ id = (ID *)but->rnapoin.id.data;
+ if ((id == NULL) || (GS(id->name)==ID_MA) || (GS(id->name)==ID_TE)) {
+ if (G.f & G_DEBUG)
+ printf("ERROR: create expression failed - invalid id-datablock for adding drivers (%p)\n", id);
+ return 0;
+ }
+
+ /* get path */
+ path = RNA_path_from_ID_to_property(&but->rnapoin, but->rnaprop);
+
+ /* create driver */
+ fcu = verify_driver_fcurve(id, path, but->rnaindex, 1);
+ if (fcu) {
+ ChannelDriver *driver= fcu->driver;
+
+ if (driver) {
+ /* set type of driver */
+ driver->type = DRIVER_TYPE_PYTHON;
+
+ /* set the expression */
+ // TODO: need some way of identifying variables used
+ BLI_strncpy(driver->expression, str, sizeof(driver->expression));
+
+ /* FIXME: for now, assume that
+ * - for expressions, users are likely to be using "frame" -> current frame" as a variable
+ * - driver_add_new_variable() adds a single-prop variable by default
+ */
+ {
+ DriverVar *dvar;
+ DriverTarget *dtar;
+
+ dvar = driver_add_new_variable(driver);
+ BLI_strncpy(dvar->name, "frame", sizeof(dvar->name));
+
+ dtar = &dvar->targets[0];
+ dtar->id = (ID *)CTX_data_scene(C); // XXX: should we check that C is valid first?
+ dtar->rna_path = BLI_sprintfN("frame_current");
+ }
+
+ /* updates */
+ driver->flag |= DRIVER_FLAG_RECOMPILE;
+ WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME, NULL);
+ }
+ }
+
+ MEM_freeN(path);
+
+ return ok;
+}
+
void ui_but_anim_autokey(bContext *C, uiBut *but, Scene *scene, float cfra)
{
ID *id;
diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c
index c7f11116834..2267f04aab4 100644
--- a/source/blender/editors/interface/interface_draw.c
+++ b/source/blender/editors/interface/interface_draw.c
@@ -140,25 +140,24 @@ void uiDrawBox(int mode, float minx, float miny, float maxx, float maxy, float r
glEnd();
}
-static void round_box_shade_col(float *col1, float *col2, float fac)
+static void round_box_shade_col(const float col1[3], float const col2[3], const float fac)
{
float col[3];
col[0]= (fac*col1[0] + (1.0f-fac)*col2[0]);
col[1]= (fac*col1[1] + (1.0f-fac)*col2[1]);
col[2]= (fac*col1[2] + (1.0f-fac)*col2[2]);
-
glColor3fv(col);
}
-
/* linear horizontal shade within button or in outline */
/* view2d scrollers use it */
void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, float rad, float shadetop, float shadedown)
{
float vec[7][2]= {{0.195, 0.02}, {0.383, 0.067}, {0.55, 0.169}, {0.707, 0.293},
{0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}};
- float div= maxy-miny;
+ const float div= maxy - miny;
+ const float idiv= 1.0f / div;
float coltop[3], coldown[3], color[4];
int a;
@@ -187,11 +186,11 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl
glVertex2f(maxx-rad, miny);
for(a=0; a<7; a++) {
- round_box_shade_col(coltop, coldown, vec[a][1]/div);
+ round_box_shade_col(coltop, coldown, vec[a][1]*idiv);
glVertex2f(maxx-rad+vec[a][0], miny+vec[a][1]);
}
- round_box_shade_col(coltop, coldown, rad/div);
+ round_box_shade_col(coltop, coldown, rad*idiv);
glVertex2f(maxx, miny+rad);
}
else {
@@ -202,11 +201,11 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl
/* corner right-top */
if(roundboxtype & 2) {
- round_box_shade_col(coltop, coldown, (div-rad)/div);
+ round_box_shade_col(coltop, coldown, (div-rad)*idiv);
glVertex2f(maxx, maxy-rad);
for(a=0; a<7; a++) {
- round_box_shade_col(coltop, coldown, (div-rad+vec[a][1])/div);
+ round_box_shade_col(coltop, coldown, (div-rad+vec[a][1])*idiv);
glVertex2f(maxx-vec[a][1], maxy-rad+vec[a][0]);
}
round_box_shade_col(coltop, coldown, 1.0);
@@ -224,11 +223,11 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl
glVertex2f(minx+rad, maxy);
for(a=0; a<7; a++) {
- round_box_shade_col(coltop, coldown, (div-vec[a][1])/div);
+ round_box_shade_col(coltop, coldown, (div-vec[a][1])*idiv);
glVertex2f(minx+rad-vec[a][0], maxy-vec[a][1]);
}
- round_box_shade_col(coltop, coldown, (div-rad)/div);
+ round_box_shade_col(coltop, coldown, (div-rad)*idiv);
glVertex2f(minx, maxy-rad);
}
else {
@@ -239,11 +238,11 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl
/* corner left-bottom */
if(roundboxtype & 8) {
- round_box_shade_col(coltop, coldown, rad/div);
+ round_box_shade_col(coltop, coldown, rad*idiv);
glVertex2f(minx, miny+rad);
for(a=0; a<7; a++) {
- round_box_shade_col(coltop, coldown, (rad-vec[a][1])/div);
+ round_box_shade_col(coltop, coldown, (rad-vec[a][1])*idiv);
glVertex2f(minx+vec[a][1], miny+rad-vec[a][0]);
}
@@ -265,7 +264,8 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float
{
float vec[7][2]= {{0.195, 0.02}, {0.383, 0.067}, {0.55, 0.169}, {0.707, 0.293},
{0.831, 0.45}, {0.924, 0.617}, {0.98, 0.805}};
- float div= maxx-minx;
+ const float div= maxx - minx;
+ const float idiv= 1.0f / div;
float colLeft[3], colRight[3], color[4];
int a;
@@ -293,11 +293,11 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float
glVertex2f(maxx-rad, miny);
for(a=0; a<7; a++) {
- round_box_shade_col(colLeft, colRight, vec[a][0]/div);
+ round_box_shade_col(colLeft, colRight, vec[a][0]*idiv);
glVertex2f(maxx-rad+vec[a][0], miny+vec[a][1]);
}
- round_box_shade_col(colLeft, colRight, rad/div);
+ round_box_shade_col(colLeft, colRight, rad*idiv);
glVertex2f(maxx, miny+rad);
}
else {
@@ -312,10 +312,10 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float
for(a=0; a<7; a++) {
- round_box_shade_col(colLeft, colRight, (div-rad-vec[a][0])/div);
+ round_box_shade_col(colLeft, colRight, (div-rad-vec[a][0])*idiv);
glVertex2f(maxx-vec[a][1], maxy-rad+vec[a][0]);
}
- round_box_shade_col(colLeft, colRight, (div-rad)/div);
+ round_box_shade_col(colLeft, colRight, (div-rad)*idiv);
glVertex2f(maxx-rad, maxy);
}
else {
@@ -325,11 +325,11 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float
/* corner left-top */
if(roundboxtype & 1) {
- round_box_shade_col(colLeft, colRight, (div-rad)/div);
+ round_box_shade_col(colLeft, colRight, (div-rad)*idiv);
glVertex2f(minx+rad, maxy);
for(a=0; a<7; a++) {
- round_box_shade_col(colLeft, colRight, (div-rad+vec[a][0])/div);
+ round_box_shade_col(colLeft, colRight, (div-rad+vec[a][0])*idiv);
glVertex2f(minx+rad-vec[a][0], maxy-vec[a][1]);
}
@@ -347,7 +347,7 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float
glVertex2f(minx, miny+rad);
for(a=0; a<7; a++) {
- round_box_shade_col(colLeft, colRight, (vec[a][0])/div);
+ round_box_shade_col(colLeft, colRight, (vec[a][0])*idiv);
glVertex2f(minx+vec[a][1], miny+rad-vec[a][0]);
}
@@ -530,14 +530,11 @@ static void ui_draw_but_CHARTAB(uiBut *but)
int charmax = G.charmax;
/* FO_BUILTIN_NAME font in use. There are TTF FO_BUILTIN_NAME and non-TTF FO_BUILTIN_NAME fonts */
- if(!strcmp(G.selfont->name, FO_BUILTIN_NAME))
- {
- if(G.ui_international == TRUE)
- {
+ if(!strcmp(G.selfont->name, FO_BUILTIN_NAME)) {
+ if(G.ui_international == TRUE) {
charmax = 0xff;
}
- else
- {
+ else {
charmax = 0xff;
}
}
@@ -562,16 +559,13 @@ static void ui_draw_but_CHARTAB(uiBut *but)
cs = G.charstart;
/* Set the font, in case it is not FO_BUILTIN_NAME font */
- if(G.selfont && strcmp(G.selfont->name, FO_BUILTIN_NAME))
- {
+ if(G.selfont && strcmp(G.selfont->name, FO_BUILTIN_NAME)) {
// Is the font file packed, if so then use the packed file
- if(G.selfont->packedfile)
- {
+ if(G.selfont->packedfile) {
pf = G.selfont->packedfile;
FTF_SetFont(pf->data, pf->size, 14.0);
}
- else
- {
+ else {
char tmpStr[256];
int err;
@@ -580,10 +574,8 @@ static void ui_draw_but_CHARTAB(uiBut *but)
err = FTF_SetFont((unsigned char *)tmpStr, 0, 14.0);
}
}
- else
- {
- if(G.ui_international == TRUE)
- {
+ else {
+ if(G.ui_international == TRUE) {
FTF_SetFont((unsigned char *) datatoc_bfont_ttf, datatoc_bfont_ttf_size, 14.0);
}
}
@@ -595,8 +587,7 @@ static void ui_draw_but_CHARTAB(uiBut *but)
glRectf((rect->xmin), (rect->ymin), (rect->xmax), (rect->ymax));
glColor3ub(0, 0, 0);
- for(y = 0; y < 6; y++)
- {
+ for(y = 0; y < 6; y++) {
// Do not draw more than the category allows
if(cs > charmax) break;
@@ -676,23 +667,19 @@ static void ui_draw_but_CHARTAB(uiBut *but)
glShadeModel(GL_FLAT);
/* Return Font Settings to original */
- if(U.fontsize && U.fontname[0])
- {
+ if(U.fontsize && U.fontname[0]) {
result = FTF_SetFont((unsigned char *)U.fontname, 0, U.fontsize);
}
- else if (U.fontsize)
- {
+ else if (U.fontsize) {
result = FTF_SetFont((unsigned char *) datatoc_bfont_ttf, datatoc_bfont_ttf_size, U.fontsize);
}
- if (result == 0)
- {
+ if (result == 0) {
result = FTF_SetFont((unsigned char *) datatoc_bfont_ttf, datatoc_bfont_ttf_size, 11);
}
/* resets the font size */
- if(G.ui_international == TRUE)
- {
+ if(G.ui_international == TRUE) {
// uiSetCurFont(but->block, UI_HELV);
}
}
@@ -783,7 +770,11 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol)
glColor4f(0.f, 0.f, 0.f, 0.3f);
uiSetRoundBox(15);
uiDrawBox(GL_POLYGON, rect.xmin-1, rect.ymin-1, rect.xmax+1, rect.ymax+1, 3.0f);
-
+
+ /* need scissor test, histogram can draw outside of boundary */
+ glGetIntegerv(GL_VIEWPORT, scissor);
+ glScissor(ar->winrct.xmin + (rect.xmin-1), ar->winrct.ymin+(rect.ymin-1), (rect.xmax+1)-(rect.xmin-1), (rect.ymax+1)-(rect.ymin-1));
+
glColor4f(1.f, 1.f, 1.f, 0.08f);
/* draw grid lines here */
for (i=1; i<4; i++) {
@@ -791,10 +782,6 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol)
fdrawline(rect.xmin+(i/4.f)*w, rect.ymin, rect.xmin+(i/4.f)*w, rect.ymax);
}
- /* need scissor test, histogram can draw outside of boundary */
- glGetIntegerv(GL_VIEWPORT, scissor);
- glScissor(ar->winrct.xmin + (rect.xmin-1), ar->winrct.ymin+(rect.ymin-1), (rect.xmax+1)-(rect.xmin-1), (rect.ymax+1)-(rect.ymin-1));
-
if (hist->mode == HISTO_MODE_LUMA)
histogram_draw_one(1.0, 1.0, 1.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_luma, res);
else {
@@ -1604,7 +1591,6 @@ void ui_dropshadow(rctf *rct, float radius, float aspect, int UNUSED(select))
#endif
{
a= i*aspect;
-
}
for(; i--; a-=aspect) {
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 99a31e039c8..7661fa5994b 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -800,8 +800,7 @@ static void ui_add_smart_controller(bContext *C, uiBut *from, uiBut *to)
if(!act_iter) return;
/* (3) add a new controller */
- if (WM_operator_name_call(C, "LOGIC_OT_controller_add", WM_OP_EXEC_DEFAULT, NULL) & OPERATOR_FINISHED)
- {
+ if (WM_operator_name_call(C, "LOGIC_OT_controller_add", WM_OP_EXEC_DEFAULT, NULL) & OPERATOR_FINISHED) {
cont = (bController *)ob->controllers.last;
/* (4) link the sensor->controller->actuator */
@@ -1236,7 +1235,7 @@ static short test_special_char(char ch)
case ':':
case ';':
case '\'':
- case '\"':
+ case '\"': // " - an extra closing one for Aligorith's text editor
case '<':
case '>':
case ',':
@@ -1290,7 +1289,7 @@ static void ui_textedit_set_cursor_pos(uiBut *but, uiHandleButtonData *data, sho
else if(ELEM(but->type, TEX, SEARCH_MENU)) {
startx += 5;
if (but->flag & UI_HAS_ICON)
- startx += 16;
+ startx += UI_DPI_ICON_SIZE;
}
/* mouse dragged outside the widget to the left */
@@ -1879,7 +1878,6 @@ static void ui_do_but_textedit(bContext *C, uiBlock *block, uiBut *but, uiHandle
if(but->autocomplete_func || data->searchbox) {
changed= ui_textedit_autocomplete(C, but, data);
update= 1; /* do live update for tab key */
- retval= WM_UI_HANDLER_BREAK;
}
/* the hotkey here is not well defined, was G.qual so we check all */
else if(event->shift || event->ctrl || event->alt || event->oskey) {
@@ -1895,7 +1893,15 @@ static void ui_do_but_textedit(bContext *C, uiBlock *block, uiBut *but, uiHandle
}
if(event->ascii && (retval == WM_UI_HANDLER_CONTINUE)) {
- changed= ui_textedit_type_ascii(but, data, event->ascii);
+ char ascii = event->ascii;
+
+ /* exception that's useful for number buttons, some keyboard
+ numpads have a comma instead of a period */
+ if(ELEM3(but->type, NUM, NUMABS, NUMSLI))
+ if(event->type == PADPERIOD && ascii == ',')
+ ascii = '.';
+
+ changed= ui_textedit_type_ascii(but, data, ascii);
retval= WM_UI_HANDLER_BREAK;
}
@@ -2303,13 +2309,13 @@ static float ui_numedit_apply_snapf(uiBut *but, float tempf, float softmin, floa
float fac= 1.0f;
if(ui_is_but_unit(but)) {
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
+ UnitSettings *unit= but->block->unit;
int unit_type= uiButGetUnitType(but)>>16;
- if(bUnit_IsValid(scene->unit.system, unit_type)) {
- fac= (float)bUnit_BaseScalar(scene->unit.system, unit_type);
+ if(bUnit_IsValid(unit->system, unit_type)) {
+ fac= (float)bUnit_BaseScalar(unit->system, unit_type);
if(ELEM3(unit_type, B_UNIT_LENGTH, B_UNIT_AREA, B_UNIT_VOLUME)) {
- fac /= scene->unit.scale_length;
+ fac /= unit->scale_length;
}
}
}
@@ -2317,8 +2323,8 @@ static float ui_numedit_apply_snapf(uiBut *but, float tempf, float softmin, floa
if(fac != 1.0f) {
/* snap in unit-space */
tempf /= fac;
- softmin /= fac;
- softmax /= fac;
+ /* softmin /= fac; */ /* UNUSED */
+ /* softmax /= fac; */ /* UNUSED */
softrange /= fac;
}
@@ -2849,7 +2855,7 @@ static int ui_do_but_SLI(bContext *C, uiBlock *block, uiBut *but, uiHandleButton
static int ui_do_but_SCROLL(bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, wmEvent *event)
{
- int mx, my, click= 0;
+ int mx, my /*, click= 0 */;
int retval= WM_UI_HANDLER_CONTINUE;
int horizontal= (but->x2 - but->x1 > but->y2 - but->y1);
@@ -2871,8 +2877,10 @@ static int ui_do_but_SCROLL(bContext *C, uiBlock *block, uiBut *but, uiHandleBut
button_activate_state(C, but, BUTTON_STATE_NUM_EDITING);
retval= WM_UI_HANDLER_BREAK;
}
- else if(ELEM(event->type, PADENTER, RETKEY) && event->val==KM_PRESS)
+ /* UNUSED - otherwise code is ok, add back if needed */
+ /* else if(ELEM(event->type, PADENTER, RETKEY) && event->val==KM_PRESS)
click= 1;
+ */
}
}
else if(data->state == BUTTON_STATE_NUM_EDITING) {
@@ -3461,13 +3469,13 @@ static int ui_numedit_but_CURVE(uiBut *but, uiHandleButtonData *data, int snap,
CurveMapping *cumap= (CurveMapping*)but->poin;
CurveMap *cuma= cumap->cm+cumap->cur;
CurveMapPoint *cmp= cuma->curve;
- float fx, fy, zoomx, zoomy, offsx, offsy;
+ float fx, fy, zoomx, zoomy /*, offsx, offsy */ /* UNUSED */;
int a, changed= 0;
zoomx= (but->x2-but->x1)/(cumap->curr.xmax-cumap->curr.xmin);
zoomy= (but->y2-but->y1)/(cumap->curr.ymax-cumap->curr.ymin);
- offsx= cumap->curr.xmin;
- offsy= cumap->curr.ymin;
+ /* offsx= cumap->curr.xmin; */
+ /* offsy= cumap->curr.ymin; */
if(snap) {
float d[2];
@@ -3670,6 +3678,9 @@ static int ui_do_but_CURVE(bContext *C, uiBlock *block, uiBut *but, uiHandleButt
return WM_UI_HANDLER_BREAK;
}
+ /* UNUSED but keep for now */
+ (void)changed;
+
return WM_UI_HANDLER_CONTINUE;
}
@@ -3684,12 +3695,12 @@ static int ui_numedit_but_HISTOGRAM(uiBut *but, uiHandleButtonData *data, int mx
Histogram *hist = (Histogram *)but->poin;
/* rcti rect; */
int changed= 1;
- float dx, dy, yfac=1.f;
+ float /* dx, */ dy, yfac=1.f; /* UNUSED */
/* rect.xmin= but->x1; rect.xmax= but->x2; */
/* rect.ymin= but->y1; rect.ymax= but->y2; */
- dx = mx - data->draglastx;
+ /* dx = mx - data->draglastx; */ /* UNUSED */
dy = my - data->draglasty;
@@ -3767,12 +3778,12 @@ static int ui_numedit_but_WAVEFORM(uiBut *but, uiHandleButtonData *data, int mx,
Scopes *scopes = (Scopes *)but->poin;
/* rcti rect; */
int changed= 1;
- float dx, dy, yfac=1.f;
+ float /* dx, */ dy /* , yfac=1.f */; /* UNUSED */
/* rect.xmin= but->x1; rect.xmax= but->x2; */
/* rect.ymin= but->y1; rect.ymax= but->y2; */
- dx = mx - data->draglastx;
+ /* dx = mx - data->draglastx; */ /* UNUSED */
dy = my - data->draglasty;
@@ -3781,7 +3792,7 @@ static int ui_numedit_but_WAVEFORM(uiBut *but, uiHandleButtonData *data, int mx,
scopes->wavefrm_height = (but->y2 - but->y1) + (data->dragstarty - my);
} else {
/* scale waveform values */
- yfac = scopes->wavefrm_yfac;
+ /* yfac = scopes->wavefrm_yfac; */ /* UNUSED */
scopes->wavefrm_yfac += dy/200.0f;
CLAMP(scopes->wavefrm_yfac, 0.5f, 2.f);
@@ -4060,7 +4071,6 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event))
/* complex code to change name of button */
if(WM_key_event_operator_string(C, but->optype->idname, but->opcontext, prop, buf, sizeof(buf))) {
- wmKeyMap *km= NULL;
char *butstr_orig;
// XXX but->str changed... should not, remove the hotkey from it
@@ -4073,10 +4083,6 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event))
but->str= but->strdata;
ui_check_but(but);
-
- /* set the keymap editable else the key wont save */
- WM_key_event_operator_id(C, but->optype->idname, but->opcontext, prop, 1, &km);
- WM_keymap_copy_to_user(km);
}
else {
/* shortcut was removed */
@@ -4088,6 +4094,7 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event))
static uiBlock *menu_change_shortcut(bContext *C, ARegion *ar, void *arg)
{
+ wmWindowManager *wm= CTX_wm_manager(C);
uiBlock *block;
uiBut *but = (uiBut *)arg;
wmKeyMap *km;
@@ -4100,7 +4107,7 @@ static uiBlock *menu_change_shortcut(bContext *C, ARegion *ar, void *arg)
kmi = WM_keymap_item_find_id(km, kmi_id);
- RNA_pointer_create(NULL, &RNA_KeyMapItem, kmi, &ptr);
+ RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi, &ptr);
block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
uiBlockSetHandleFunc(block, but_shortcut_name_func, but);
@@ -4119,6 +4126,7 @@ static uiBlock *menu_change_shortcut(bContext *C, ARegion *ar, void *arg)
static uiBlock *menu_add_shortcut(bContext *C, ARegion *ar, void *arg)
{
+ wmWindowManager *wm= CTX_wm_manager(C);
uiBlock *block;
uiBut *but = (uiBut *)arg;
wmKeyMap *km;
@@ -4127,19 +4135,25 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *ar, void *arg)
uiLayout *layout;
uiStyle *style= U.uistyles.first;
IDProperty *prop= (but->opptr)? but->opptr->data: NULL;
+ int kmi_id;
/* XXX this guess_opname can potentially return a different keymap than being found on adding later... */
km = WM_keymap_guess_opname(C, but->optype->idname);
kmi = WM_keymap_add_item(km, but->optype->idname, AKEY, KM_PRESS, 0, 0);
+ kmi_id = kmi->id;
- if (prop) {
+ /* copy properties, prop can be NULL for reset */
+ if(prop)
prop= IDP_CopyProperty(prop);
- }
-
- /* prop can be NULL */
WM_keymap_properties_reset(kmi, prop);
- RNA_pointer_create(NULL, &RNA_KeyMapItem, kmi, &ptr);
+ /* update and get pointers again */
+ WM_keyconfig_update(wm);
+
+ km = WM_keymap_guess_opname(C, but->optype->idname);
+ kmi = WM_keymap_item_find_id(km, kmi_id);
+
+ RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi, &ptr);
block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
uiBlockSetHandleFunc(block, but_shortcut_name_func, but);
@@ -4220,6 +4234,7 @@ static int ui_but_menu(bContext *C, uiBut *but)
/* Keyframes */
if(but->flag & UI_BUT_ANIMATED_KEY) {
+ /* replace/delete keyfraemes */
if(length) {
uiItemBooleanO(layout, "Replace Keyframes", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 1);
uiItemBooleanO(layout, "Replace Single Keyframe", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0);
@@ -4230,6 +4245,11 @@ static int ui_but_menu(bContext *C, uiBut *but)
uiItemBooleanO(layout, "Replace Keyframe", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0);
uiItemBooleanO(layout, "Delete Keyframe", ICON_NONE, "ANIM_OT_keyframe_delete_button", "all", 0);
}
+
+ /* keyframe settings */
+ uiItemS(layout);
+
+
}
else if(but->flag & UI_BUT_DRIVEN);
else if(is_anim) {
@@ -4272,6 +4292,7 @@ static int ui_but_menu(bContext *C, uiBut *but)
}
/* Keying Sets */
+ // TODO: check on modifyability of Keying Set when doing this
if(is_anim) {
uiItemS(layout);
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index 3bf2a9ddd02..c3a0f438fbe 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -742,6 +742,7 @@ static DrawInfo *icon_create_drawinfo(void)
return di;
}
+/* note!, returns unscaled by DPI, may need to multiply result by UI_DPI_ICON_FAC */
int UI_icon_get_width(int icon_id)
{
Icon *icon = NULL;
@@ -952,7 +953,7 @@ static void icon_draw_size(float x, float y, int icon_id, float aspect, float al
Icon *icon = NULL;
DrawInfo *di = NULL;
IconImage *iimg;
- float fdraw_size= UI_DPI_FAC*draw_size;
+ float fdraw_size= UI_DPI_ICON_FAC*draw_size;
int w, h;
icon = BKE_icon_get(icon_id);
@@ -1102,8 +1103,7 @@ int ui_id_icon_get(bContext *C, ID *id, int big)
int iconid= 0;
/* icon */
- switch(GS(id->name))
- {
+ switch(GS(id->name)) {
case ID_BR:
iconid= ui_id_brush_get_icon(C, id);
break;
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index 8475090b468..ebc8725ad5d 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -213,7 +213,7 @@ struct uiBut {
BIFIconID icon;
char lock;
- char dt;
+ char dt; /* drawtype: UI_EMBOSS, UI_EMBOSSN ... etc, copied from the block */
char changed; /* could be made into a single flag */
unsigned char unit_type; /* so buttons can support unit systems which are not RNA */
short modifier_key;
@@ -306,7 +306,8 @@ struct uiBlock {
void *drawextra_arg2;
int flag;
- char direction, dt;
+ char direction;
+ char dt; /* drawtype: UI_EMBOSS, UI_EMBOSSN ... etc, copied to buttons */
short auto_open;
double auto_open_last;
@@ -331,7 +332,9 @@ struct uiBlock {
void *evil_C; // XXX hack for dynamic operator enums
float _hsv[3]; // XXX, only access via ui_block_hsv_get()
- char color_profile; // color profile for correcting linear colors for display
+ char color_profile; // color profile for correcting linear colors for display
+ struct UnitSettings *unit; // unit system, used a lot for numeric buttons so include here rather then fetching through the scene every time.
+
};
typedef struct uiSafetyRct {
@@ -520,6 +523,7 @@ void ui_but_anim_add_keyingset(struct bContext *C);
void ui_but_anim_remove_keyingset(struct bContext *C);
int ui_but_anim_expression_get(uiBut *but, char *str, int maxlen);
int ui_but_anim_expression_set(uiBut *but, const char *str);
+int ui_but_anim_expression_create(uiBut *but, const char *str);
void ui_but_anim_autokey(struct bContext *C, uiBut *but, struct Scene *scene, float cfra);
#endif
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index 55c1488291b..803da55cea6 100644
--- a/source/blender/editors/interface/interface_layout.c
+++ b/source/blender/editors/interface/interface_layout.c
@@ -149,10 +149,10 @@ typedef struct uiLayoutItemBx {
uiBut *roundbox;
} uiLayoutItemBx;
-typedef struct uiLayoutItemSplt {
+typedef struct uiLayoutItemSplit {
uiLayout litem;
float percentage;
-} uiLayoutItemSplt;
+} uiLayoutItemSplit;
typedef struct uiLayoutItemRoot {
uiLayout litem;
@@ -367,7 +367,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
unit= UI_UNIT_X*0.75;
butw= unit;
buth= unit;
-
+
if(ptr->type == &RNA_Armature) {
bArmature *arm= (bArmature *)ptr->data;
layer_used= arm->layer_used;
@@ -379,7 +379,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
for(a=0; a<colbuts; a++) {
if(layer_used & (1<<(a+b*colbuts))) icon= ICON_LAYER_USED;
else icon= ICON_BLANK1;
-
+
but= uiDefAutoButR(block, ptr, prop, a+b*colbuts, "", icon, x + butw*a, y+buth, butw, buth);
if(subtype == PROP_LAYER_MEMBER)
uiButSetFunc(but, ui_layer_but_cb, but, SET_INT_IN_POINTER(a+b*colbuts));
@@ -387,7 +387,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
for(a=0; a<colbuts; a++) {
if(layer_used & (1<<(a+len/2+b*colbuts))) icon= ICON_LAYER_USED;
else icon= ICON_BLANK1;
-
+
but= uiDefAutoButR(block, ptr, prop, a+len/2+b*colbuts, "", icon, x + butw*a, y, butw, buth);
if(subtype == PROP_LAYER_MEMBER)
uiButSetFunc(but, ui_layer_but_cb, but, SET_INT_IN_POINTER(a+len/2+b*colbuts));
@@ -419,38 +419,49 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
}
}
else if(subtype == PROP_DIRECTION) {
- uiDefButR(block, BUT_NORMAL, 0, name, x, y, UI_UNIT_X*3, UI_UNIT_Y*3, ptr, RNA_property_identifier(prop), 0, 0, 0, -1, -1, NULL);
+ uiDefButR_prop(block, BUT_NORMAL, 0, name, x, y, UI_UNIT_X*3, UI_UNIT_Y*3, ptr, prop, 0, 0, 0, -1, -1, NULL);
}
else {
- if(ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) && !expand)
+ /* note, this block of code is a bit arbitrary and has just been made
+ * to work with common cases, but may need to be re-worked */
+
+ /* special case, boolean array in a menu, this could be used in a more generic way too */
+ if(ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) && !expand) {
uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, 0, 0, w, UI_UNIT_Y);
+ }
+ else {
+ int *boolarr= NULL;
- if(!ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) || expand) {
- /* layout for known array subtypes */
- char str[3];
+ /* even if 'expand' is fale, expanding anyway */
- for(a=0; a<len; a++) {
- str[0]= RNA_property_array_item_char(prop, a);
+ /* layout for known array subtypes */
+ char str[3]= {'\0'};
- if(str[0]) {
- if (icon_only) {
- str[0] = '\0';
- }
- else if(type == PROP_BOOLEAN) {
- str[1]= '\0';
- }
- else {
- str[1]= ':';
- str[2]= '\0';
- }
+ if(!icon_only) {
+ if(type != PROP_BOOLEAN) {
+ str[1]= ':';
}
+ }
+
+ /* show checkboxes for rna on a non-emboss block (menu for eg) */
+ if(type == PROP_BOOLEAN && ELEM(layout->root->block->dt, UI_EMBOSSN, UI_EMBOSSP)) {
+ boolarr= MEM_callocN(sizeof(int)*len, "ui_item_array");
+ RNA_property_boolean_get_array(ptr, prop, boolarr);
+ }
+ for(a=0; a<len; a++) {
+ if(!icon_only) str[0]= RNA_property_array_item_char(prop, a);
+ if(boolarr) icon= boolarr[a] ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
but= uiDefAutoButR(block, ptr, prop, a, str, icon, 0, 0, w, UI_UNIT_Y);
if(slider && but->type==NUM)
but->type= NUMSLI;
if(toggle && but->type==OPTION)
but->type= TOG;
}
+
+ if(boolarr) {
+ MEM_freeN(boolarr);
+ }
}
}
@@ -461,11 +472,9 @@ static void ui_item_enum_expand(uiLayout *layout, uiBlock *block, PointerRNA *pt
{
uiBut *but;
EnumPropertyItem *item;
- const char *identifier;
const char *name;
int a, totitem, itemw, icon, value, free;
- identifier= RNA_property_identifier(prop);
RNA_property_enum_items(block->evil_C, ptr, prop, &item, &totitem, &free);
uiBlockSetCurLayout(block, ui_item_local_sublayout(layout, layout, 1));
@@ -479,11 +488,11 @@ static void ui_item_enum_expand(uiLayout *layout, uiBlock *block, PointerRNA *pt
itemw= ui_text_icon_width(block->curlayout, name, icon, 0);
if(icon && name[0] && !icon_only)
- but= uiDefIconTextButR(block, ROW, 0, icon, name, 0, 0, itemw, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ but= uiDefIconTextButR_prop(block, ROW, 0, icon, name, 0, 0, itemw, h, ptr, prop, -1, 0, value, -1, -1, NULL);
else if(icon)
- but= uiDefIconButR(block, ROW, 0, icon, 0, 0, itemw, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ but= uiDefIconButR_prop(block, ROW, 0, icon, 0, 0, itemw, h, ptr, prop, -1, 0, value, -1, -1, NULL);
else
- but= uiDefButR(block, ROW, 0, name, 0, 0, itemw, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ but= uiDefButR_prop(block, ROW, 0, name, 0, 0, itemw, h, ptr, prop, -1, 0, value, -1, -1, NULL);
if(ui_layout_local_dir(layout) != UI_LAYOUT_HORIZONTAL)
but->flag |= UI_TEXT_LEFT;
@@ -534,10 +543,13 @@ static uiBut *ui_item_with_label(uiLayout *layout, uiBlock *block, const char *n
uiDefAutoButR(block, ptr, prop, index, "", icon, x, y, w-UI_UNIT_X, h);
/* BUTTONS_OT_file_browse calls uiFileBrowseContextProperty */
- but= uiDefIconButO(block, BUT, "BUTTONS_OT_file_browse", WM_OP_INVOKE_DEFAULT, ICON_FILESEL, x, y, UI_UNIT_X, h, NULL);
+ but= uiDefIconButO(block, BUT, subtype==PROP_DIRPATH ?
+ "BUTTONS_OT_directory_browse" :
+ "BUTTONS_OT_file_browse",
+ WM_OP_INVOKE_DEFAULT, ICON_FILESEL, x, y, UI_UNIT_X, h, NULL);
}
else if(flag & UI_ITEM_R_EVENT) {
- uiDefButR(block, KEYEVT, 0, name, x, y, w, h, ptr, RNA_property_identifier(prop), index, 0, 0, -1, -1, NULL);
+ uiDefButR_prop(block, KEYEVT, 0, name, x, y, w, h, ptr, prop, index, 0, 0, -1, -1, NULL);
}
else if(flag & UI_ITEM_R_FULL_EVENT) {
if(RNA_struct_is_a(ptr->type, &RNA_KeyMapItem)) {
@@ -545,7 +557,7 @@ static uiBut *ui_item_with_label(uiLayout *layout, uiBlock *block, const char *n
WM_keymap_item_to_string(ptr->data, buf, sizeof(buf));
- but= uiDefButR(block, HOTKEYEVT, 0, buf, x, y, w, h, ptr, RNA_property_identifier(prop), 0, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, HOTKEYEVT, 0, buf, x, y, w, h, ptr, prop, 0, 0, 0, -1, -1, NULL);
uiButSetFunc(but, ui_keymap_but_cb, but, NULL);
if (flag & UI_ITEM_R_IMMEDIATE)
uiButSetFlag(but, UI_BUT_IMMEDIATE);
@@ -950,13 +962,14 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
uiBut *but;
PropertyType type;
char namestr[UI_MAX_NAME_STR];
- int len, w, h, slider, toggle, expand, icon_only, no_bg;
+ int len, is_array, w, h, slider, toggle, expand, icon_only, no_bg;
uiBlockSetCurLayout(block, layout);
/* retrieve info */
type= RNA_property_type(prop);
- len= RNA_property_array_length(ptr, prop);
+ is_array= RNA_property_array_check(prop);
+ len= (is_array) ? RNA_property_array_length(ptr, prop) : 0;
/* set name and icon */
if(!name)
@@ -966,14 +979,16 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
if(ELEM4(type, PROP_INT, PROP_FLOAT, PROP_STRING, PROP_POINTER))
name= ui_item_name_add_colon(name, namestr);
- else if(type == PROP_BOOLEAN && len && index == RNA_NO_INDEX)
+ else if(type == PROP_BOOLEAN && is_array && index == RNA_NO_INDEX)
name= ui_item_name_add_colon(name, namestr);
else if(type == PROP_ENUM && index != RNA_ENUM_VALUE)
name= ui_item_name_add_colon(name, namestr);
if(layout->root->type == UI_LAYOUT_MENU) {
- if(type == PROP_BOOLEAN)
- icon= (RNA_property_boolean_get(ptr, prop))? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
+ if(type == PROP_BOOLEAN && ((is_array == FALSE) || (index != RNA_NO_INDEX))) {
+ if(is_array) icon= (RNA_property_boolean_get_index(ptr, prop, index)) ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
+ else icon= (RNA_property_boolean_get(ptr, prop)) ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
+ }
else if(type == PROP_ENUM && index == RNA_ENUM_VALUE) {
int enum_value= RNA_property_enum_get(ptr, prop);
if(RNA_property_flag(prop) & PROP_ENUM_FLAG) {
@@ -998,18 +1013,16 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
uiBlockSetEmboss(block, UI_EMBOSSN);
/* array property */
- if(index == RNA_NO_INDEX && len > 0)
+ if(index == RNA_NO_INDEX && is_array)
ui_item_array(layout, block, name, icon, ptr, prop, len, 0, 0, w, h, expand, slider, toggle, icon_only);
/* enum item */
else if(type == PROP_ENUM && index == RNA_ENUM_VALUE) {
- const char *identifier= RNA_property_identifier(prop);
-
if(icon && name[0] && !icon_only)
- uiDefIconTextButR(block, ROW, 0, icon, name, 0, 0, w, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ uiDefIconTextButR_prop(block, ROW, 0, icon, name, 0, 0, w, h, ptr, prop, -1, 0, value, -1, -1, NULL);
else if(icon)
- uiDefIconButR(block, ROW, 0, icon, 0, 0, w, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ uiDefIconButR_prop(block, ROW, 0, icon, 0, 0, w, h, ptr, prop, -1, 0, value, -1, -1, NULL);
else
- uiDefButR(block, ROW, 0, name, 0, 0, w, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ uiDefButR_prop(block, ROW, 0, name, 0, 0, w, h, ptr, prop, -1, 0, value, -1, -1, NULL);
}
/* expanded enum */
else if(type == PROP_ENUM && (expand || RNA_property_flag(prop) & PROP_ENUM_FLAG))
@@ -1348,7 +1361,7 @@ void uiItemPointerR(uiLayout *layout, struct PointerRNA *ptr, const char *propna
static void ui_item_menutype_func(bContext *C, uiLayout *layout, void *arg_mt)
{
MenuType *mt= (MenuType*)arg_mt;
- Menu menu = {0};
+ Menu menu = {NULL};
menu.type= mt;
menu.layout= layout;
@@ -1391,7 +1404,7 @@ static void ui_item_menu(uiLayout *layout, const char *name, int icon, uiMenuCre
if(layout->root->type == UI_LAYOUT_HEADER)
uiBlockSetEmboss(block, UI_EMBOSS);
- else if(layout->root->type == UI_LAYOUT_PANEL) {
+ else if(ELEM(layout->root->type, UI_LAYOUT_PANEL, UI_LAYOUT_TOOLBAR)) {
but->type= MENU;
but->flag |= UI_TEXT_LEFT;
}
@@ -1513,7 +1526,7 @@ static void menu_item_enum_opname_menu(bContext *UNUSED(C), uiLayout *layout, vo
{
MenuItemLevel *lvl= (MenuItemLevel*)(((uiBut*)arg)->func_argN);
- uiLayoutSetOperatorContext(layout, WM_OP_EXEC_REGION_WIN);
+ uiLayoutSetOperatorContext(layout, lvl->opcontext);
uiItemsEnumO(layout, lvl->opname, lvl->propname);
}
@@ -1612,7 +1625,7 @@ static void ui_litem_layout_row(uiLayout *litem)
int x, y, w, tot, totw, neww, itemw, minw, itemh, offset;
int fixedw, freew, fixedx, freex, flag= 0, lastw= 0;
- x= litem->x;
+ /* x= litem->x; */ /* UNUSED */
y= litem->y;
w= litem->w;
totw= 0;
@@ -2017,7 +2030,7 @@ static void ui_litem_estimate_split(uiLayout *litem)
static void ui_litem_layout_split(uiLayout *litem)
{
- uiLayoutItemSplt *split= (uiLayoutItemSplt*)litem;
+ uiLayoutItemSplit *split= (uiLayoutItemSplit*)litem;
uiItem *item;
float percentage;
const int tot= BLI_countlist(&litem->items);
@@ -2239,9 +2252,9 @@ uiLayout *uiLayoutOverlap(uiLayout *layout)
uiLayout *uiLayoutSplit(uiLayout *layout, float percentage, int align)
{
- uiLayoutItemSplt *split;
+ uiLayoutItemSplit *split;
- split= MEM_callocN(sizeof(uiLayoutItemSplt), "uiLayoutItemSplt");
+ split= MEM_callocN(sizeof(uiLayoutItemSplit), "uiLayoutItemSplit");
split->litem.item.type= ITEM_LAYOUT_SPLIT;
split->litem.root= layout->root;
split->litem.align= align;
@@ -2744,6 +2757,25 @@ void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,in
uiItemL(layout, "* Redo Unsupported *", ICON_NONE); // XXX, could give some nicer feedback or not show redo panel at all?
}
+ /* menu */
+ if(op->type->flag & OPTYPE_PRESET) {
+ /* XXX, no simple way to get WM_MT_operator_presets.bl_label from python! Label remains the same always! */
+ PointerRNA op_ptr;
+ uiLayout *row;
+
+ row= uiLayoutRow(layout, TRUE);
+ uiItemM(row, (bContext *)C, "WM_MT_operator_presets", NULL, ICON_NONE);
+
+ WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
+ RNA_string_set(&op_ptr, "operator", op->type->idname);
+ op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMIN, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
+
+ WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
+ RNA_string_set(&op_ptr, "operator", op->type->idname);
+ RNA_boolean_set(&op_ptr, "remove_active", 1);
+ op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMOUT, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
+ }
+
if(op->type->ui) {
op->layout= layout;
op->type->ui((bContext*)C, op);
@@ -2758,25 +2790,6 @@ void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,in
RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
- /* menu */
- if(op->type->flag & OPTYPE_PRESET) {
- /* XXX, no simple way to get WM_MT_operator_presets.bl_label from python! Label remains the same always! */
- PointerRNA op_ptr;
- uiLayout *row;
-
- row= uiLayoutRow(layout, TRUE);
- uiItemM(row, (bContext *)C, "WM_MT_operator_presets", NULL, ICON_NONE);
-
- WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
- RNA_string_set(&op_ptr, "operator", op->type->idname);
- op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMIN, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
-
- WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
- RNA_string_set(&op_ptr, "operator", op->type->idname);
- RNA_boolean_set(&op_ptr, "remove_active", 1);
- op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMOUT, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
- }
-
/* main draw call */
empty= uiDefAutoButsRNA(layout, &ptr, check_prop, label_align) == 0;
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c
index 9ed3cabb4cb..3b20533dcd4 100644
--- a/source/blender/editors/interface/interface_panel.c
+++ b/source/blender/editors/interface/interface_panel.c
@@ -575,8 +575,8 @@ void ui_draw_aligned_panel(uiStyle *style, uiBlock *block, rcti *rect)
ui_draw_tria_rect(&itemrect, 'h');
else
ui_draw_tria_rect(&itemrect, 'v');
-
-
+
+ (void)ofsx;
}
/************************** panel alignment *************************/
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index 623651083d2..a55ee01202c 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -424,7 +424,8 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
if (unit_type == PROP_UNIT_ROTATION) {
if (RNA_property_type(but->rnaprop) == PROP_FLOAT) {
- BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Radians: %f", RNA_property_float_get_index(&but->rnapoin, but->rnaprop, but->rnaindex));
+ float value= RNA_property_array_check(but->rnaprop) ? RNA_property_float_get_index(&but->rnapoin, but->rnaprop, but->rnaindex) : RNA_property_float_get(&but->rnapoin, but->rnaprop);
+ BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Radians: %f", value);
data->color[data->totline]= 0x888888;
data->totline++;
}
@@ -484,6 +485,17 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
}
}
}
+ else if (ELEM(but->type, MENU, PULLDOWN)) {
+ if ((U.flag & USER_TOOLTIPS_PYTHON) == 0) {
+ if(but->menu_create_func && WM_menutype_contains((MenuType *)but->poin)) {
+ MenuType *mt= (MenuType *)but->poin;
+ BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Python: %s", mt->idname);
+ data->color[data->totline]= 0x888888;
+ data->totline++;
+ }
+ }
+
+ }
assert(data->totline < MAX_TOOLTIP_LINES);
@@ -1177,7 +1189,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
uiBut *bt;
uiSafetyRct *saferct;
rctf butrct;
- float aspect;
+ /*float aspect;*/ /*UNUSED*/
int xsize, ysize, xof=0, yof=0, center;
short dir1= 0, dir2=0;
@@ -1212,7 +1224,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
}
}
- aspect= (float)(block->maxx - block->minx + 4);
+ /*aspect= (float)(block->maxx - block->minx + 4);*/ /*UNUSED*/
ui_block_to_window_fl(butregion, but->block, &block->minx, &block->miny);
ui_block_to_window_fl(butregion, but->block, &block->maxx, &block->maxy);
@@ -1221,7 +1233,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
xsize= block->maxx - block->minx+4; // 4 for shadow
ysize= block->maxy - block->miny+4;
- aspect/= (float)xsize;
+ /*aspect/= (float)xsize;*/ /*UNUSED*/
if(but) {
int left=0, right=0, top=0, down=0;
@@ -1923,31 +1935,31 @@ static void do_picker_new_mode_cb(bContext *UNUSED(C), void *bt1, void *UNUSED(a
#define PICKER_TOTAL_W (PICKER_W+PICKER_SPACE+PICKER_BAR)
-static void circle_picker(uiBlock *block, PointerRNA *ptr, const char *propname)
+static void circle_picker(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop)
{
uiBut *bt;
/* HS circle */
- bt= uiDefButR(block, HSVCIRCLE, 0, "", 0, 0, PICKER_H, PICKER_W, ptr, propname, 0, 0.0, 0.0, 0, 0, "Color");
+ bt= uiDefButR_prop(block, HSVCIRCLE, 0, "", 0, 0, PICKER_H, PICKER_W, ptr, prop, 0, 0.0, 0.0, 0, 0, "Color");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
/* value */
- bt= uiDefButR(block, HSVCUBE, 0, "", PICKER_W+PICKER_SPACE,0,PICKER_BAR,PICKER_H, ptr, propname, 0, 0.0, 0.0, UI_GRAD_V_ALT, 0, "Value");
+ bt= uiDefButR_prop(block, HSVCUBE, 0, "", PICKER_W+PICKER_SPACE,0,PICKER_BAR,PICKER_H, ptr, prop, 0, 0.0, 0.0, UI_GRAD_V_ALT, 0, "Value");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
}
-static void square_picker(uiBlock *block, PointerRNA *ptr, const char *propname, int type)
+static void square_picker(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int type)
{
uiBut *bt;
int bartype = type + 3;
/* HS square */
- bt= uiDefButR(block, HSVCUBE, 0, "", 0, PICKER_BAR+PICKER_SPACE, PICKER_TOTAL_W, PICKER_H, ptr, propname, 0, 0.0, 0.0, type, 0, "Color");
+ bt= uiDefButR_prop(block, HSVCUBE, 0, "", 0, PICKER_BAR+PICKER_SPACE, PICKER_TOTAL_W, PICKER_H, ptr, prop, 0, 0.0, 0.0, type, 0, "Color");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
/* value */
- bt= uiDefButR(block, HSVCUBE, 0, "", 0, 0, PICKER_TOTAL_W, PICKER_BAR, ptr, propname, 0, 0.0, 0.0, bartype, 0, "Value");
+ bt= uiDefButR_prop(block, HSVCUBE, 0, "", 0, 0, PICKER_TOTAL_W, PICKER_BAR, ptr, prop, 0, 0.0, 0.0, bartype, 0, "Value");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
}
@@ -1962,7 +1974,6 @@ static void uiBlockPicker(uiBlock *block, float *rgb, PointerRNA *ptr, PropertyR
static char hexcol[128];
float rgb_gamma[3];
float min, max, step, precision;
- const char *propname = RNA_property_identifier(prop);
float *hsv= ui_block_hsv_get(block);
ui_block_hsv_get(block);
@@ -1988,16 +1999,16 @@ static void uiBlockPicker(uiBlock *block, float *rgb, PointerRNA *ptr, PropertyR
switch (U.color_picker_type) {
case USER_CP_CIRCLE:
- circle_picker(block, ptr, propname);
+ circle_picker(block, ptr, prop);
break;
case USER_CP_SQUARE_SV:
- square_picker(block, ptr, propname, UI_GRAD_SV);
+ square_picker(block, ptr, prop, UI_GRAD_SV);
break;
case USER_CP_SQUARE_HS:
- square_picker(block, ptr, propname, UI_GRAD_HS);
+ square_picker(block, ptr, prop, UI_GRAD_HS);
break;
case USER_CP_SQUARE_HV:
- square_picker(block, ptr, propname, UI_GRAD_HV);
+ square_picker(block, ptr, prop, UI_GRAD_HV);
break;
}
@@ -2016,11 +2027,11 @@ static void uiBlockPicker(uiBlock *block, float *rgb, PointerRNA *ptr, PropertyR
/* RGB values */
uiBlockBeginAlign(block);
- bt= uiDefButR(block, NUMSLI, 0, "R ", 0, -60, butwidth, UI_UNIT_Y, ptr, propname, 0, 0.0, 0.0, 0, 3, "Red");
+ bt= uiDefButR_prop(block, NUMSLI, 0, "R ", 0, -60, butwidth, UI_UNIT_Y, ptr, prop, 0, 0.0, 0.0, 0, 3, "Red");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
- bt= uiDefButR(block, NUMSLI, 0, "G ", 0, -80, butwidth, UI_UNIT_Y, ptr, propname, 1, 0.0, 0.0, 0, 3, "Green");
+ bt= uiDefButR_prop(block, NUMSLI, 0, "G ", 0, -80, butwidth, UI_UNIT_Y, ptr, prop, 1, 0.0, 0.0, 0, 3, "Green");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
- bt= uiDefButR(block, NUMSLI, 0, "B ", 0, -100, butwidth, UI_UNIT_Y, ptr, propname, 2, 0.0, 0.0, 0, 3, "Blue");
+ bt= uiDefButR_prop(block, NUMSLI, 0, "B ", 0, -100, butwidth, UI_UNIT_Y, ptr, prop, 2, 0.0, 0.0, 0, 3, "Blue");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
// could use uiItemFullR(col, ptr, prop, -1, 0, UI_ITEM_R_EXPAND|UI_ITEM_R_SLIDER, "", ICON_NONE);
@@ -2037,7 +2048,7 @@ static void uiBlockPicker(uiBlock *block, float *rgb, PointerRNA *ptr, PropertyR
uiBlockEndAlign(block);
if(rgb[3] != FLT_MAX) {
- bt= uiDefButR(block, NUMSLI, 0, "A ", 0, -120, butwidth, UI_UNIT_Y, ptr, propname, 3, 0.0, 0.0, 0, 0, "Alpha");
+ bt= uiDefButR_prop(block, NUMSLI, 0, "A ", 0, -120, butwidth, UI_UNIT_Y, ptr, prop, 3, 0.0, 0.0, 0, 0, "Alpha");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
}
else {
@@ -2582,6 +2593,25 @@ void uiPupBlock(bContext *C, uiBlockCreateFunc func, void *arg)
uiPupBlockO(C, func, arg, NULL, 0);
}
+void uiPupBlockEx(bContext *C, uiBlockCreateFunc func, uiBlockCancelFunc cancel_func, void *arg)
+{
+ wmWindow *window= CTX_wm_window(C);
+ uiPopupBlockHandle *handle;
+
+ handle= ui_popup_block_create(C, NULL, NULL, func, NULL, arg);
+ handle->popup= 1;
+ handle->retvalue= 1;
+
+ handle->popup_arg= arg;
+ // handle->popup_func= operator_cb;
+ handle->cancel_func= cancel_func;
+ // handle->opcontext= opcontext;
+
+ UI_add_popup_handlers(C, &window->modalhandlers, handle);
+ WM_event_add_mousemove(C);
+}
+
+#if 0 /* UNUSED */
void uiPupBlockOperator(bContext *C, uiBlockCreateFunc func, wmOperator *op, int opcontext)
{
wmWindow *window= CTX_wm_window(C);
@@ -2599,6 +2629,7 @@ void uiPupBlockOperator(bContext *C, uiBlockCreateFunc func, wmOperator *op, int
UI_add_popup_handlers(C, &window->modalhandlers, handle);
WM_event_add_mousemove(C);
}
+#endif
void uiPupBlockClose(bContext *C, uiBlock *block)
{
diff --git a/source/blender/editors/interface/interface_style.c b/source/blender/editors/interface/interface_style.c
index 2e4106b3c04..8d4b4209120 100644
--- a/source/blender/editors/interface/interface_style.c
+++ b/source/blender/editors/interface/interface_style.c
@@ -83,7 +83,7 @@ static uiStyle *ui_style_new(ListBase *styles, const char *name)
BLI_addtail(styles, style);
BLI_strncpy(style->name, name, MAX_STYLE_NAME);
- style->panelzoom= 1.0;
+ style->panelzoom= 1.0; /* unused */
style->paneltitle.uifont_id= UIFONT_DEFAULT;
style->paneltitle.points= 12;
@@ -149,9 +149,9 @@ void uiStyleFontDrawExt(uiFontStyle *fs, rcti *rect, const char *str,
int xofs=0, yofs;
uiStyleFontSet(fs);
-
- height= BLF_height(fs->uifont_id, "2"); /* correct offset is on baseline, the j is below that */
- yofs= floor( 0.5f*(rect->ymax - rect->ymin - height));
+
+ height= BLF_ascender(fs->uifont_id);
+ yofs= ceil( 0.5f*(rect->ymax - rect->ymin - height));
if(fs->align==UI_STYLE_TEXT_CENTER) {
xofs= floor( 0.5f*(rect->xmax - rect->xmin - BLF_width(fs->uifont_id, str)));
@@ -206,9 +206,9 @@ void uiStyleFontDrawRotated(uiFontStyle *fs, rcti *rect, const char *str)
uiStyleFontSet(fs);
- height= BLF_height(fs->uifont_id, "2"); /* correct offset is on baseline, the j is below that */
+ height= BLF_ascender(fs->uifont_id);
/* becomes x-offset when rotated */
- xofs= floor( 0.5f*(rect->ymax - rect->ymin - height)) + 1;
+ xofs= ceil( 0.5f*(rect->ymax - rect->ymin - height));
/* ignore UI_STYLE, always aligned to top */
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index bbd1bd8773b..d2cee11c755 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -33,11 +33,14 @@
#include "MEM_guardedalloc.h"
+#include "DNA_anim_types.h"
+#include "DNA_key_types.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
+#include "BLI_ghash.h"
#include "BKE_animsys.h"
#include "BKE_colortools.h"
@@ -52,9 +55,11 @@
#include "BKE_displist.h"
#include "ED_screen.h"
+#include "ED_object.h"
#include "ED_render.h"
#include "RNA_access.h"
+#include "RNA_enum_types.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -234,7 +239,7 @@ static void template_id_cb(bContext *C, void *arg_litem, void *arg_event)
{
TemplateID *template= (TemplateID*)arg_litem;
PointerRNA idptr= RNA_property_pointer_get(&template->ptr, template->prop);
- ID *id= idptr.data, *newid;
+ ID *id= idptr.data;
int event= GET_INT_FROM_POINTER(arg_event);
switch(event) {
@@ -274,18 +279,19 @@ static void template_id_cb(bContext *C, void *arg_litem, void *arg_event)
break;
case UI_ID_ALONE:
if(id) {
+ const int do_scene_obj= (GS(id->name) == ID_OB) &&
+ (template->ptr.type == &RNA_SceneObjects);
+
/* make copy */
- if(id_copy(id, &newid, 0) && newid) {
- /* copy animation actions too */
- BKE_copy_animdata_id_action(id);
- /* us is 1 by convention, but RNA_property_pointer_set
- will also incremement it, so set it to zero */
- newid->us= 0;
-
- /* assign copy */
- RNA_id_pointer_create(newid, &idptr);
- RNA_property_pointer_set(&template->ptr, template->prop, idptr);
- RNA_property_update(C, &template->ptr, template->prop);
+ if(do_scene_obj) {
+ Scene *scene= CTX_data_scene(C);
+ ED_object_single_user(scene, (struct Object *)id);
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
+ }
+ else {
+ if(id) {
+ id_single_user(C, id, &template->ptr, template->prop);
+ }
}
}
break;
@@ -308,11 +314,13 @@ static const char *template_id_browse_tip(StructRNA *type)
case ID_MA: return "Browse Material to be linked";
case ID_TE: return "Browse Texture to be linked";
case ID_IM: return "Browse Image to be linked";
- case ID_LA: return "Browse Lattice Data to be linked";
+ case ID_LT: return "Browse Lattice Data to be linked";
+ case ID_LA: return "Browse Lamp Data to be linked";
case ID_CA: return "Browse Camera Data to be linked";
case ID_WO: return "Browse World Settings to be linked";
case ID_SCR: return "Choose Screen lay-out";
case ID_TXT: return "Browse Text to be linked";
+ case ID_SPK: return "Browse Speaker Data to be linked";
case ID_SO: return "Browse Sound to be linked";
case ID_AR: return "Browse Armature data to be linked";
case ID_AC: return "Browse Action to be linked";
@@ -403,10 +411,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
sprintf(str, "%d", id->us);
- if(id->us<10)
- but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy.");
- else
- but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X+10,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy.");
+ but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X + ((id->us < 10) ? 0:10), UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy.");
uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_ALONE));
if(!id_copy(id, NULL, 1 /* test only */) || (idfrom && idfrom->lib) || !editable)
@@ -850,7 +855,7 @@ uiLayout *uiTemplateModifier(uiLayout *layout, bContext *C, PointerRNA *ptr)
/* verify we have valid data */
if(!RNA_struct_is_a(ptr->type, &RNA_Modifier)) {
- RNA_warning("uiTemplateModifier: expected modifier on object.\n");
+ RNA_warning("uiTemplateModifier: Expected modifier on object.\n");
return NULL;
}
@@ -858,7 +863,7 @@ uiLayout *uiTemplateModifier(uiLayout *layout, bContext *C, PointerRNA *ptr)
md= ptr->data;
if(!ob || !(GS(ob->id.name) == ID_OB)) {
- RNA_warning("uiTemplateModifier: expected modifier on object.\n");
+ RNA_warning("uiTemplateModifier: Expected modifier on object.\n");
return NULL;
}
@@ -975,9 +980,6 @@ static uiLayout *draw_constraint(uiLayout *layout, Object *ob, bConstraint *con)
block= uiLayoutGetBlock(box);
/* Draw constraint header */
-
- /* rounded header */
- // rb_col= (con->flag & CONSTRAINT_ACTIVE)?50:20; // UNUSED
/* open/close */
uiBlockSetEmboss(block, UI_EMBOSSN);
@@ -1082,7 +1084,7 @@ uiLayout *uiTemplateConstraint(uiLayout *layout, PointerRNA *ptr)
/* verify we have valid data */
if(!RNA_struct_is_a(ptr->type, &RNA_Constraint)) {
- RNA_warning("uiTemplateConstraint: expected constraint on object.\n");
+ RNA_warning("uiTemplateConstraint: Expected constraint on object.\n");
return NULL;
}
@@ -1090,7 +1092,7 @@ uiLayout *uiTemplateConstraint(uiLayout *layout, PointerRNA *ptr)
con= ptr->data;
if(!ob || !(GS(ob->id.name) == ID_OB)) {
- RNA_warning("uiTemplateConstraint: expected constraint on object.\n");
+ RNA_warning("uiTemplateConstraint: Expected constraint on object.\n");
return NULL;
}
@@ -1136,7 +1138,7 @@ void uiTemplatePreview(uiLayout *layout, ID *id, int show_buttons, ID *parent, M
PointerRNA texture_ptr;
if(id && !ELEM4(GS(id->name), ID_MA, ID_TE, ID_WO, ID_LA)) {
- RNA_warning("uiTemplatePreview: expected ID of type material, texture, lamp or world.\n");
+ RNA_warning("uiTemplatePreview: Expected ID of type material, texture, lamp or world.\n");
return;
}
@@ -1586,21 +1588,22 @@ static uiBlock *curvemap_clipping_func(bContext *C, struct ARegion *ar, void *cu
CurveMapping *cumap = cumap_v;
uiBlock *block;
uiBut *bt;
+ float width= 8*UI_UNIT_X;
block= uiBeginBlock(C, ar, "curvemap_clipping_func", UI_EMBOSS);
/* use this for a fake extra empy space around the buttons */
- uiDefBut(block, LABEL, 0, "", -4, 16, 128, 106, NULL, 0, 0, 0, 0, "");
+ uiDefBut(block, LABEL, 0, "", -4, 16, width+8, 6*UI_UNIT_Y, NULL, 0, 0, 0, 0, "");
bt= uiDefButBitI(block, TOG, CUMA_DO_CLIP, 1, "Use Clipping",
- 0,100,120,18, &cumap->flag, 0.0, 0.0, 10, 0, "");
+ 0,5*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->flag, 0.0, 0.0, 10, 0, "");
uiButSetFunc(bt, curvemap_buttons_setclip, cumap, NULL);
uiBlockBeginAlign(block);
- uiDefButF(block, NUM, 0, "Min X ", 0,74,120,18, &cumap->clipr.xmin, -100.0, cumap->clipr.xmax, 10, 0, "");
- uiDefButF(block, NUM, 0, "Min Y ", 0,56,120,18, &cumap->clipr.ymin, -100.0, cumap->clipr.ymax, 10, 0, "");
- uiDefButF(block, NUM, 0, "Max X ", 0,38,120,18, &cumap->clipr.xmax, cumap->clipr.xmin, 100.0, 10, 0, "");
- uiDefButF(block, NUM, 0, "Max Y ", 0,20,120,18, &cumap->clipr.ymax, cumap->clipr.ymin, 100.0, 10, 0, "");
+ uiDefButF(block, NUM, 0, "Min X ", 0,4*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.xmin, -100.0, cumap->clipr.xmax, 10, 0, "");
+ uiDefButF(block, NUM, 0, "Min Y ", 0,3*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.ymin, -100.0, cumap->clipr.ymax, 10, 0, "");
+ uiDefButF(block, NUM, 0, "Max X ", 0,2*UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.xmax, cumap->clipr.xmin, 100.0, 10, 0, "");
+ uiDefButF(block, NUM, 0, "Max Y ", 0,UI_UNIT_Y,width,UI_UNIT_Y, &cumap->clipr.ymax, cumap->clipr.ymin, 100.0, 10, 0, "");
uiBlockSetDirection(block, UI_RIGHT);
@@ -1644,17 +1647,17 @@ static void curvemap_tools_dofunc(bContext *C, void *cumap_v, int event)
static uiBlock *curvemap_tools_func(bContext *C, struct ARegion *ar, void *cumap_v)
{
uiBlock *block;
- short yco= 0, menuwidth=120;
+ short yco= 0, menuwidth=10*UI_UNIT_X;
block= uiBeginBlock(C, ar, "curvemap_tools_func", UI_EMBOSS);
uiBlockSetButmFunc(block, curvemap_tools_dofunc, cumap_v);
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset View", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Vector Handle", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Auto Handle", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extend Horizontal", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 4, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extend Extrapolated", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 5, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset Curve", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 0, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset View", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 1, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Vector Handle", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 2, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Auto Handle", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 3, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extend Horizontal", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 4, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Extend Extrapolated", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 5, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset Curve", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
uiBlockSetDirection(block, UI_RIGHT);
uiTextBoundsBlock(block, 50);
@@ -1666,15 +1669,15 @@ static uiBlock *curvemap_tools_func(bContext *C, struct ARegion *ar, void *cumap
static uiBlock *curvemap_brush_tools_func(bContext *C, struct ARegion *ar, void *cumap_v)
{
uiBlock *block;
- short yco= 0, menuwidth=120;
+ short yco= 0, menuwidth=10*UI_UNIT_X;
block= uiBeginBlock(C, ar, "curvemap_tools_func", UI_EMBOSS);
uiBlockSetButmFunc(block, curvemap_tools_dofunc, cumap_v);
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset View", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 1, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Vector Handle", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 2, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Auto Handle", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 3, "");
- uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset Curve", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 0, 0, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset View", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 1, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Vector Handle", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 2, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Auto Handle", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 3, "");
+ uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Reset Curve", 0, yco-=UI_UNIT_Y, menuwidth, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
uiBlockSetDirection(block, UI_RIGHT);
uiTextBoundsBlock(block, 50);
@@ -1728,15 +1731,15 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_LEFT);
if(cumap->cm[0].curve) {
- bt= uiDefButI(block, ROW, 0, "X", 0, 0, dx, 16, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "X", 0, 0, dx, dx, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[1].curve) {
- bt= uiDefButI(block, ROW, 0, "Y", 0, 0, dx, 16, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "Y", 0, 0, dx, dx, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[2].curve) {
- bt= uiDefButI(block, ROW, 0, "Z", 0, 0, dx, 16, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "Z", 0, 0, dx, dx, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
}
@@ -1746,19 +1749,19 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_LEFT);
if(cumap->cm[3].curve) {
- bt= uiDefButI(block, ROW, 0, "C", 0, 0, dx, 16, &cumap->cur, 0.0, 3.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "C", 0, 0, dx, dx, &cumap->cur, 0.0, 3.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[0].curve) {
- bt= uiDefButI(block, ROW, 0, "R", 0, 0, dx, 16, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "R", 0, 0, dx, dx, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[1].curve) {
- bt= uiDefButI(block, ROW, 0, "G", 0, 0, dx, 16, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "G", 0, 0, dx, dx, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[2].curve) {
- bt= uiDefButI(block, ROW, 0, "B", 0, 0, dx, 16, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "B", 0, 0, dx, dx, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
}
@@ -1768,15 +1771,15 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
uiLayoutSetAlignment(sub, UI_LAYOUT_ALIGN_LEFT);
if(cumap->cm[0].curve) {
- bt= uiDefButI(block, ROW, 0, "H", 0, 0, dx, 16, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "H", 0, 0, dx, dx, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[1].curve) {
- bt= uiDefButI(block, ROW, 0, "S", 0, 0, dx, 16, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "S", 0, 0, dx, dx, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
if(cumap->cm[2].curve) {
- bt= uiDefButI(block, ROW, 0, "V", 0, 0, dx, 16, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
+ bt= uiDefButI(block, ROW, 0, "V", 0, 0, dx, dx, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
uiButSetFunc(bt, curvemap_buttons_redraw, NULL, NULL);
}
}
@@ -1791,24 +1794,24 @@ static void curvemap_buttons_layout(uiLayout *layout, PointerRNA *ptr, char labe
uiBlockSetEmboss(block, UI_EMBOSSN);
- bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMIN, 0, 0, dx, 14, NULL, 0.0, 0.0, 0.0, 0.0, "Zoom in");
+ bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMIN, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, "Zoom in");
uiButSetFunc(bt, curvemap_buttons_zoom_in, cumap, NULL);
- bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMOUT, 0, 0, dx, 14, NULL, 0.0, 0.0, 0.0, 0.0, "Zoom out");
+ bt= uiDefIconBut(block, BUT, 0, ICON_ZOOMOUT, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, "Zoom out");
uiButSetFunc(bt, curvemap_buttons_zoom_out, cumap, NULL);
if(brush)
- bt= uiDefIconBlockBut(block, curvemap_brush_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, 18, "Tools");
+ bt= uiDefIconBlockBut(block, curvemap_brush_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, dx, "Tools");
else
- bt= uiDefIconBlockBut(block, curvemap_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, 18, "Tools");
+ bt= uiDefIconBlockBut(block, curvemap_tools_func, cumap, 0, ICON_MODIFIER, 0, 0, dx, dx, "Tools");
uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
if(cumap->flag & CUMA_DO_CLIP) icon= ICON_CLIPUV_HLT; else icon= ICON_CLIPUV_DEHLT;
- bt= uiDefIconBlockBut(block, curvemap_clipping_func, cumap, 0, icon, 0, 0, dx, 18, "Clipping Options");
+ bt= uiDefIconBlockBut(block, curvemap_clipping_func, cumap, 0, icon, 0, 0, dx, dx, "Clipping Options");
uiButSetNFunc(bt, rna_update_cb, MEM_dupallocN(cb), NULL);
- bt= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0, dx, 18, NULL, 0.0, 0.0, 0.0, 0.0, "Delete points");
+ bt= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0, dx, dx, NULL, 0.0, 0.0, 0.0, 0.0, "Delete points");
uiButSetNFunc(bt, curvemap_buttons_delete, MEM_dupallocN(cb), cumap);
uiBlockSetEmboss(block, UI_EMBOSS);
@@ -1885,7 +1888,7 @@ void uiTemplateColorWheel(uiLayout *layout, PointerRNA *ptr, const char *propnam
col = uiLayoutColumn(layout, 0);
row= uiLayoutRow(col, 1);
- but= uiDefButR(block, HSVCIRCLE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, propname, -1, 0.0, 0.0, 0, 0, "");
+ but= uiDefButR_prop(block, HSVCIRCLE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, prop, -1, 0.0, 0.0, 0, 0, "");
if(lock) {
but->flag |= UI_BUT_COLOR_LOCK;
@@ -1904,7 +1907,7 @@ void uiTemplateColorWheel(uiLayout *layout, PointerRNA *ptr, const char *propnam
uiItemS(row);
if (value_slider)
- uiDefButR(block, HSVCUBE, 0, "", WHEEL_SIZE+6, 0, 14, WHEEL_SIZE, ptr, propname, -1, softmin, softmax, UI_GRAD_V_ALT, 0, "");
+ uiDefButR_prop(block, HSVCUBE, 0, "", WHEEL_SIZE+6, 0, 14, WHEEL_SIZE, ptr, prop, -1, softmin, softmax, UI_GRAD_V_ALT, 0, "");
}
/********************* Layer Buttons Template ************************/
@@ -2035,7 +2038,7 @@ static int list_item_icon_get(bContext *C, PointerRNA *itemptr, int rnaicon, int
return rnaicon;
}
-static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, PointerRNA *itemptr, int i, int rnaicon, PointerRNA *activeptr, const char *activepropname)
+static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, PointerRNA *itemptr, int i, int rnaicon, PointerRNA *activeptr, PropertyRNA *activeprop)
{
uiBlock *block= uiLayoutGetBlock(layout);
uiBut *but;
@@ -2049,7 +2052,7 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
/* list item behind label & other buttons */
sub= uiLayoutRow(overlap, 0);
- but= uiDefButR(block, LISTROW, 0, "", 0,0, UI_UNIT_X*10,UI_UNIT_Y, activeptr, activepropname, 0, 0, i, 0, 0, "");
+ but= uiDefButR_prop(block, LISTROW, 0, "", 0,0, UI_UNIT_X*10,UI_UNIT_Y, activeptr, activeprop, 0, 0, i, 0, 0, "");
uiButSetFlag(but, UI_BUT_NO_TOOLTIP);
sub= uiLayoutRow(overlap, 0);
@@ -2103,6 +2106,7 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
}
else if(itemptr->type == &RNA_ShapeKey) {
Object *ob= (Object*)activeptr->data;
+ Key *key= (Key*)itemptr->id.data;
split= uiLayoutSplit(sub, 0.75f, 0);
@@ -2110,7 +2114,7 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
uiBlockSetEmboss(block, UI_EMBOSSN);
row= uiLayoutRow(split, 1);
- if(i == 0) uiItemL(row, "", ICON_NONE);
+ if(i == 0 || (key->type != KEY_RELATIVE)) uiItemL(row, "", ICON_NONE);
else uiItemR(row, itemptr, "value", 0, "", ICON_NONE);
if(ob->mode == OB_MODE_EDIT && !((ob->shapeflag & OB_SHAPE_EDIT_MODE) && ob->type == OB_MESH))
@@ -2118,6 +2122,15 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
//uiItemR(row, itemptr, "mute", 0, "", ICON_MUTE_IPO_OFF);
uiBlockSetEmboss(block, UI_EMBOSS);
}
+ else if(itemptr->type == &RNA_KeyingSetPath) {
+ KS_Path *ksp = (KS_Path*)itemptr->data;
+
+ /* icon needs to be the type of ID which is currently active */
+ RNA_enum_icon_from_value(id_type_items, ksp->idtype, &icon);
+
+ /* nothing else special to do... */
+ uiItemL(sub, name, icon); /* fails, backdrop LISTROW... */
+ }
else
uiItemL(sub, name, icon); /* fails, backdrop LISTROW... */
@@ -2168,14 +2181,14 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
if(prop) {
type= RNA_property_type(prop);
if(type != PROP_COLLECTION) {
- RNA_warning("uiTemplateList: expected collection property.\n");
+ RNA_warning("uiTemplateList: Expected collection property.\n");
return;
}
}
activetype= RNA_property_type(activeprop);
if(activetype != PROP_INT) {
- RNA_warning("uiTemplateList: expected integer property.\n");
+ RNA_warning("uiTemplateList: Expected integer property.\n");
return;
}
@@ -2197,11 +2210,11 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
/* create list items */
RNA_PROP_BEGIN(ptr, itemptr, prop) {
/* create button */
- if(i == 9)
+ if(!(i % 9))
row= uiLayoutRow(col, 0);
icon= list_item_icon_get(C, &itemptr, rnaicon, 1);
- but= uiDefIconButR(block, LISTROW, 0, icon, 0,0,UI_UNIT_X*10,UI_UNIT_Y, activeptr, activepropname, 0, 0, i, 0, 0, "");
+ but= uiDefIconButR_prop(block, LISTROW, 0, icon, 0,0,UI_UNIT_X*10,UI_UNIT_Y, activeptr, activeprop, 0, 0, i, 0, 0, "");
uiButSetFlag(but, UI_BUT_NO_TOOLTIP);
@@ -2212,7 +2225,6 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
}
else if(listtype == 'c') {
/* compact layout */
- found= 0;
row= uiLayoutRow(layout, 1);
@@ -2242,7 +2254,7 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
/* next/prev button */
sprintf(str, "%d :", i);
- but= uiDefIconTextButR(block, NUM, 0, 0, str, 0,0,UI_UNIT_X*5,UI_UNIT_Y, activeptr, activepropname, 0, 0, 0, 0, 0, "");
+ but= uiDefIconTextButR_prop(block, NUM, 0, 0, str, 0,0,UI_UNIT_X*5,UI_UNIT_Y, activeptr, activeprop, 0, 0, 0, 0, 0, "");
if(i == 0)
uiButSetFlag(but, UI_BUT_DISABLED);
}
@@ -2281,7 +2293,7 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
/* create list items */
RNA_PROP_BEGIN(ptr, itemptr, prop) {
if(i >= pa->list_scroll && i<pa->list_scroll+items)
- list_item_row(C, col, ptr, &itemptr, i, rnaicon, activeptr, activepropname);
+ list_item_row(C, col, ptr, &itemptr, i, rnaicon, activeptr, activeprop);
i++;
}
@@ -2315,10 +2327,11 @@ static void operator_call_cb(bContext *C, void *UNUSED(arg1), void *arg2)
static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items)
{
- wmOperatorType *ot = WM_operatortype_first();
-
- for(; ot; ot= ot->next) {
-
+ GHashIterator *iter= WM_operatortype_iter();
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
if(BLI_strcasestr(ot->name, str)) {
if(WM_operator_poll((bContext*)C, ot)) {
char name[256];
@@ -2338,6 +2351,7 @@ static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char
}
}
}
+ BLI_ghashIterator_free(iter);
}
void uiTemplateOperatorSearch(uiLayout *layout)
@@ -2359,6 +2373,7 @@ void uiTemplateOperatorSearch(uiLayout *layout)
#define B_STOPCAST 2
#define B_STOPANIM 3
#define B_STOPCOMPO 4
+#define B_STOPSEQ 5
static void do_running_jobs(bContext *C, void *UNUSED(arg), int event)
{
@@ -2375,6 +2390,9 @@ static void do_running_jobs(bContext *C, void *UNUSED(arg), int event)
case B_STOPCOMPO:
WM_jobs_stop(CTX_wm_manager(C), CTX_wm_area(C), NULL);
break;
+ case B_STOPSEQ:
+ WM_jobs_stop(CTX_wm_manager(C), CTX_wm_area(C), NULL);
+ break;
}
}
@@ -2396,8 +2414,11 @@ void uiTemplateRunningJobs(uiLayout *layout, bContext *C)
if(WM_jobs_test(wm, sa))
owner = sa;
handle_event= B_STOPCOMPO;
- }
- else {
+ } else if (sa->spacetype==SPACE_SEQ) {
+ if(WM_jobs_test(wm, sa))
+ owner = sa;
+ handle_event = B_STOPSEQ;
+ } else {
Scene *scene;
/* another scene can be rendering too, for example via compositor */
for(scene= CTX_data_main(C)->scene.first; scene; scene= scene->id.next)
diff --git a/source/blender/editors/interface/interface_utils.c b/source/blender/editors/interface/interface_utils.c
index 1ec125c2f26..a3f56192cb5 100644
--- a/source/blender/editors/interface/interface_utils.c
+++ b/source/blender/editors/interface/interface_utils.c
@@ -51,56 +51,53 @@
uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int index, const char *name, int icon, int x1, int y1, int x2, int y2)
{
uiBut *but=NULL;
- const char *propname= RNA_property_identifier(prop);
- char prop_item[MAX_IDPROP_NAME+4]; /* size of the ID prop name + room for [""] */
- int arraylen= RNA_property_array_length(ptr, prop);
-
- /* support for custom props */
- if(RNA_property_is_idprop(prop)) {
- sprintf(prop_item, "[\"%s\"]", propname);
- propname= prop_item;
- }
switch(RNA_property_type(prop)) {
- case PROP_BOOLEAN: {
+ case PROP_BOOLEAN:
+ {
+ int arraylen= RNA_property_array_length(ptr, prop);
if(arraylen && index == -1)
return NULL;
if(icon && name && name[0] == '\0')
- but= uiDefIconButR(block, ICONTOG, 0, icon, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconButR_prop(block, ICONTOG, 0, icon, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else if(icon)
- but= uiDefIconTextButR(block, ICONTOG, 0, icon, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconTextButR_prop(block, ICONTOG, 0, icon, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else
- but= uiDefButR(block, OPTION, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, OPTION, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
break;
}
case PROP_INT:
case PROP_FLOAT:
+ {
+ int arraylen= RNA_property_array_length(ptr, prop);
+
if(arraylen && index == -1) {
if(ELEM(RNA_property_subtype(prop), PROP_COLOR, PROP_COLOR_GAMMA))
- but= uiDefButR(block, COL, 0, name, x1, y1, x2, y2, ptr, propname, 0, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, COL, 0, name, x1, y1, x2, y2, ptr, prop, 0, 0, 0, -1, -1, NULL);
}
else if(RNA_property_subtype(prop) == PROP_PERCENTAGE || RNA_property_subtype(prop) == PROP_FACTOR)
- but= uiDefButR(block, NUMSLI, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, NUMSLI, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else
- but= uiDefButR(block, NUM, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, NUM, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
break;
+ }
case PROP_ENUM:
if(icon && name && name[0] == '\0')
- but= uiDefIconButR(block, MENU, 0, icon, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconButR_prop(block, MENU, 0, icon, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else if(icon)
- but= uiDefIconTextButR(block, MENU, 0, icon, NULL, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconTextButR_prop(block, MENU, 0, icon, NULL, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else
- but= uiDefButR(block, MENU, 0, NULL, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, MENU, 0, NULL, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
break;
case PROP_STRING:
if(icon && name && name[0] == '\0')
- but= uiDefIconButR(block, TEX, 0, icon, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconButR_prop(block, TEX, 0, icon, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else if(icon)
- but= uiDefIconTextButR(block, TEX, 0, icon, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconTextButR_prop(block, TEX, 0, icon, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else
- but= uiDefButR(block, TEX, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, TEX, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
break;
case PROP_POINTER: {
PointerRNA pptr;
@@ -112,7 +109,7 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
if(icon == ICON_DOT)
icon= 0;
- but= uiDefIconTextButR(block, IDPOIN, 0, icon, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconTextButR_prop(block, IDPOIN, 0, icon, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
break;
}
case PROP_COLLECTION: {
@@ -146,7 +143,7 @@ int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, int (*check_prop)(Proper
if(label_align != '\0') {
PropertyType type = RNA_property_type(prop);
- int is_boolean = (type == PROP_BOOLEAN && !RNA_property_array_check(ptr, prop));
+ int is_boolean = (type == PROP_BOOLEAN && !RNA_property_array_check(prop));
name= RNA_property_ui_name(prop);
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 41bb12e4433..5da875356ea 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -180,7 +180,7 @@ void ui_draw_anti_tria(float x1, float y1, float x2, float y2, float x3, float y
glEnable(GL_BLEND);
glGetFloatv(GL_CURRENT_COLOR, color);
- color[3]= 0.125;
+ color[3] *= 0.125f;
glColor4fv(color);
/* for each AA step */
@@ -771,7 +771,6 @@ static void widget_draw_preview(BIFIconID icon, float UNUSED(alpha), rcti *rect)
/* icons have been standardized... and this call draws in untransformed coordinates */
-#define ICON_HEIGHT UI_DPI_FAC*16.0f
static void widget_draw_icon(uiBut *but, BIFIconID icon, float alpha, rcti *rect)
{
@@ -791,15 +790,15 @@ static void widget_draw_icon(uiBut *but, BIFIconID icon, float alpha, rcti *rect
if(aspect != but->aspect) {
/* prevent scaling up icon in pupmenu */
if (aspect < 1.0f) {
- height= ICON_HEIGHT;
+ height= UI_DPI_ICON_SIZE;
aspect = 1.0f;
}
else
- height= ICON_HEIGHT/aspect;
+ height= UI_DPI_ICON_SIZE/aspect;
}
else
- height= ICON_HEIGHT;
+ height= UI_DPI_ICON_SIZE;
/* calculate blend color */
if ELEM4(but->type, TOG, ROW, TOGN, LISTROW) {
@@ -866,7 +865,7 @@ static void ui_text_leftclip(uiFontStyle *fstyle, uiBut *but, rcti *rect)
int border= (but->flag & UI_BUT_ALIGN_RIGHT)? 8: 10;
int okwidth= rect->xmax-rect->xmin - border;
- if (but->flag & UI_HAS_ICON) okwidth -= 16;
+ if (but->flag & UI_HAS_ICON) okwidth -= UI_DPI_ICON_SIZE;
/* need to set this first */
uiStyleFontSet(fstyle);
@@ -1149,7 +1148,7 @@ static void widget_draw_text_icon(uiFontStyle *fstyle, uiWidgetColors *wcol, uiB
if (but->flag & UI_HAS_ICON) {
widget_draw_icon(but, but->icon+but->iconadd, 1.0f, rect);
- rect->xmin += UI_icon_get_width(but->icon+but->iconadd);
+ rect->xmin += (int)((float)UI_icon_get_width(but->icon+but->iconadd) * UI_DPI_ICON_FAC);
if(but->editstr || (but->flag & UI_TEXT_LEFT))
rect->xmin += 5;
@@ -2326,39 +2325,43 @@ static void widget_numslider(uiBut *but, uiWidgetColors *wcol, rcti *rect, int s
wtb.outline= 0;
widgetbase_draw(&wtb, wcol);
- /* slider part */
- VECCOPY(outline, wcol->outline);
- VECCOPY(wcol->outline, wcol->item);
- VECCOPY(wcol->inner, wcol->item);
+ /* draw left/right parts only when not in text editing */
+ if(!(state & UI_TEXTINPUT)) {
+
+ /* slider part */
+ VECCOPY(outline, wcol->outline);
+ VECCOPY(wcol->outline, wcol->item);
+ VECCOPY(wcol->inner, wcol->item);
- if(!(state & UI_SELECT))
- SWAP(short, wcol->shadetop, wcol->shadedown);
-
- rect1= *rect;
-
- value= ui_get_but_val(but);
- fac= ((float)value-but->softmin)*(rect1.xmax - rect1.xmin - offs)/(but->softmax - but->softmin);
-
- /* left part of slider, always rounded */
- rect1.xmax= rect1.xmin + ceil(offs+1.0f);
- round_box_edges(&wtb1, roundboxalign & ~6, &rect1, offs);
- wtb1.outline= 0;
- widgetbase_draw(&wtb1, wcol);
-
- /* right part of slider, interpolate roundness */
- rect1.xmax= rect1.xmin + fac + offs;
- rect1.xmin+= floor(offs-1.0f);
- if(rect1.xmax + offs > rect->xmax)
- offs*= (rect1.xmax + offs - rect->xmax)/offs;
- else
- offs= 0.0f;
- round_box_edges(&wtb1, roundboxalign & ~9, &rect1, offs);
-
- widgetbase_draw(&wtb1, wcol);
- VECCOPY(wcol->outline, outline);
-
- if(!(state & UI_SELECT))
- SWAP(short, wcol->shadetop, wcol->shadedown);
+ if(!(state & UI_SELECT))
+ SWAP(short, wcol->shadetop, wcol->shadedown);
+
+ rect1= *rect;
+
+ value= ui_get_but_val(but);
+ fac= ((float)value-but->softmin)*(rect1.xmax - rect1.xmin - offs)/(but->softmax - but->softmin);
+
+ /* left part of slider, always rounded */
+ rect1.xmax= rect1.xmin + ceil(offs+1.0f);
+ round_box_edges(&wtb1, roundboxalign & ~6, &rect1, offs);
+ wtb1.outline= 0;
+ widgetbase_draw(&wtb1, wcol);
+
+ /* right part of slider, interpolate roundness */
+ rect1.xmax= rect1.xmin + fac + offs;
+ rect1.xmin+= floor(offs-1.0f);
+ if(rect1.xmax + offs > rect->xmax)
+ offs*= (rect1.xmax + offs - rect->xmax)/offs;
+ else
+ offs= 0.0f;
+ round_box_edges(&wtb1, roundboxalign & ~9, &rect1, offs);
+
+ widgetbase_draw(&wtb1, wcol);
+ VECCOPY(wcol->outline, outline);
+
+ if(!(state & UI_SELECT))
+ SWAP(short, wcol->shadetop, wcol->shadedown);
+ }
/* outline */
wtb.outline= 1;
@@ -2597,6 +2600,7 @@ static void widget_box(uiBut *but, uiWidgetColors *wcol, rcti *rect, int UNUSED(
/* store the box bg as gl clearcolor, to retrieve later when drawing semi-transparent rects
* over the top to indicate disabled buttons */
+ /* XXX, this doesnt work right since the color applies to buttons outside the box too. */
glClearColor(wcol->inner[0]/255.0, wcol->inner[1]/255.0, wcol->inner[2]/255.0, 1.0);
VECCOPY(wcol->inner, old_col);
@@ -2872,7 +2876,7 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct
ThemeUI *tui= &btheme->tui;
uiFontStyle *fstyle= &style->widget;
uiWidgetType *wt= NULL;
-
+
/* handle menus separately */
if(but->dt==UI_EMBOSSP) {
switch (but->type) {
@@ -3128,7 +3132,7 @@ void ui_draw_menu_item(uiFontStyle *fstyle, rcti *rect, const char *name, int ic
/* text location offset */
rect->xmin+=5;
- if(iconid) rect->xmin+= ICON_HEIGHT;
+ if(iconid) rect->xmin+= UI_DPI_ICON_SIZE;
/* cut string in 2 parts? */
cpoin= strchr(name, '|');
@@ -3153,7 +3157,7 @@ void ui_draw_menu_item(uiFontStyle *fstyle, rcti *rect, const char *name, int ic
if(iconid) {
int xs= rect->xmin+4;
- int ys= 1 + (rect->ymin+rect->ymax- ICON_HEIGHT)/2;
+ int ys= 1 + (rect->ymin+rect->ymax- UI_DPI_ICON_SIZE)/2;
glEnable(GL_BLEND);
UI_icon_draw_aspect(xs, ys, iconid, 1.2f, 0.5f); /* XXX scale weak get from fstyle? */
glDisable(GL_BLEND);
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 6527e0140b8..692c8940a21 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -1,6 +1,3 @@
-/** \file blender/editors/interface/resources.c
- * \ingroup edinterface
- */
/*
* $Id$
*
@@ -33,6 +30,10 @@
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
+/** \file blender/editors/interface/resources.c
+ * \ingroup edinterface
+ */
+
#include <math.h>
#include <stdlib.h>
#include <string.h>
@@ -249,6 +250,8 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp= ts->wire; break;
case TH_LAMP:
cp= ts->lamp; break;
+ case TH_SPEAKER:
+ cp= ts->speaker; break;
case TH_SELECT:
cp= ts->select; break;
case TH_ACTIVE:
@@ -325,6 +328,8 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp= ts->handle_free; break;
case TH_HANDLE_AUTO:
cp= ts->handle_auto; break;
+ case TH_HANDLE_AUTOCLAMP:
+ cp= ts->handle_auto_clamped; break;
case TH_HANDLE_VECT:
cp= ts->handle_vect; break;
case TH_HANDLE_ALIGN:
@@ -333,11 +338,13 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp= ts->handle_sel_free; break;
case TH_HANDLE_SEL_AUTO:
cp= ts->handle_sel_auto; break;
+ case TH_HANDLE_SEL_AUTOCLAMP:
+ cp= ts->handle_sel_auto_clamped; break;
case TH_HANDLE_SEL_VECT:
cp= ts->handle_sel_vect; break;
case TH_HANDLE_SEL_ALIGN:
cp= ts->handle_sel_align; break;
-
+
case TH_SYNTAX_B:
cp= ts->syntaxb; break;
case TH_SYNTAX_V:
@@ -359,7 +366,9 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp= ts->syntaxv; break;
case TH_NODE_GROUP:
cp= ts->syntaxc; break;
-
+ case TH_NODE_CURVING:
+ cp= &ts->noodle_curving; break;
+
case TH_SEQ_MOVIE:
cp= ts->movie; break;
case TH_SEQ_IMAGE:
@@ -584,6 +593,7 @@ void ui_theme_init_default(void)
SETCOLF(btheme->tv3d.grid, 0.251, 0.251, 0.251, 1.0);
SETCOL(btheme->tv3d.wire, 0x0, 0x0, 0x0, 255);
SETCOL(btheme->tv3d.lamp, 0, 0, 0, 40);
+ SETCOL(btheme->tv3d.speaker, 0, 0, 0, 255);
SETCOL(btheme->tv3d.select, 241, 88, 0, 255);
SETCOL(btheme->tv3d.active, 255, 170, 64, 255);
SETCOL(btheme->tv3d.group, 8, 48, 8, 255);
@@ -663,7 +673,9 @@ void ui_theme_init_default(void)
SETCOL(btheme->tipo.handle_vertex, 0, 0, 0, 255);
SETCOL(btheme->tipo.handle_vertex_select, 255, 133, 0, 255);
- btheme->tipo.handle_vertex_size= 3;
+ SETCOL(btheme->tipo.handle_auto_clamped, 0x99, 0x40, 0x30, 255);
+ SETCOL(btheme->tipo.handle_sel_auto_clamped, 0xf0, 0xaf, 0x90, 255);
+ btheme->tipo.handle_vertex_size= 4;
SETCOL(btheme->tipo.ds_channel, 82, 96, 110, 255);
SETCOL(btheme->tipo.ds_subchannel, 124, 137, 150, 255);
@@ -786,6 +798,7 @@ void ui_theme_init_default(void)
SETCOL(btheme->tnode.syntaxb, 108, 105, 111, 255); /* operator */
SETCOL(btheme->tnode.syntaxv, 104, 106, 117, 255); /* generator */
SETCOL(btheme->tnode.syntaxc, 105, 117, 110, 255); /* group */
+ btheme->tnode.noodle_curving = 5;
/* space logic */
btheme->tlogic= btheme->tv3d;
@@ -1115,10 +1128,11 @@ void init_userdef_do_versions(void)
}
if(U.pad_rot_angle==0)
U.pad_rot_angle= 15;
-
- if(U.flag & USER_CUSTOM_RANGE)
- vDM_ColorBand_store(&U.coba_weight); /* signal for derivedmesh to use colorband */
-
+
+ /* signal for derivedmesh to use colorband */
+ /* run incase this was on and is now off in the user prefs [#28096] */
+ vDM_ColorBand_store((U.flag & USER_CUSTOM_RANGE) ? (&U.coba_weight):NULL);
+
if (bmain->versionfile <= 191) {
strcpy(U.plugtexdir, U.textudir);
strcpy(U.sounddir, "/");
@@ -1420,7 +1434,7 @@ void init_userdef_do_versions(void)
if (bmain->versionfile < 250 || (bmain->versionfile == 250 && bmain->subversionfile < 8)) {
wmKeyMap *km;
- for(km=U.keymaps.first; km; km=km->next) {
+ for(km=U.user_keymaps.first; km; km=km->next) {
if (strcmp(km->idname, "Armature_Sketch")==0)
strcpy(km->idname, "Armature Sketch");
else if (strcmp(km->idname, "View3D")==0)
@@ -1551,7 +1565,37 @@ void init_userdef_do_versions(void)
/* clear "AUTOKEY_FLAG_ONLYKEYINGSET" flag from userprefs, so that it doesn't linger around from old configs like a ghost */
U.autokey_flag &= ~AUTOKEY_FLAG_ONLYKEYINGSET;
}
+
+ if (bmain->versionfile < 258 || (bmain->versionfile == 258 && bmain->subversionfile < 2)) {
+ bTheme *btheme;
+ for(btheme= U.themes.first; btheme; btheme= btheme->next) {
+ btheme->tnode.noodle_curving = 5;
+ }
+ }
+
+ if (bmain->versionfile < 258 || (bmain->versionfile == 258 && bmain->subversionfile < 1)) {
+ bTheme *btheme;
+
+ /* if new keyframes handle default is stuff "auto", make it "auto-clamped" instead */
+ if (U.keyhandles_new == HD_AUTO)
+ U.keyhandles_new = HD_AUTO_ANIM;
+
+ /* theme color additions */
+ for (btheme= U.themes.first; btheme; btheme= btheme->next) {
+ /* auto-clamped handles -> based on auto */
+ SETCOL(btheme->tipo.handle_auto_clamped, 0x99, 0x40, 0x30, 255);
+ SETCOL(btheme->tipo.handle_sel_auto_clamped, 0xf0, 0xaf, 0x90, 255);
+ }
+ }
+ if (bmain->versionfile < 259 || (bmain->versionfile == 259 && bmain->subversionfile < 1)) {
+ bTheme *btheme;
+
+ for(btheme= U.themes.first; btheme; btheme= btheme->next) {
+ btheme->tv3d.speaker[3] = 255;
+ }
+ }
+
/* GL Texture Garbage Collection (variable abused above!) */
if (U.textimeout == 0) {
U.texcollectrate = 60;
@@ -1580,6 +1624,14 @@ void init_userdef_do_versions(void)
U.dragthreshold= 5;
if (U.widget_unit==0)
U.widget_unit= (U.dpi * 20 + 36)/72;
+ if (U.anisotropic_filter <= 0)
+ U.anisotropic_filter = 1;
+
+ if (U.ndof_sensitivity == 0.0f) {
+ U.ndof_sensitivity = 1.0f;
+ U.ndof_flag = NDOF_LOCK_HORIZON |
+ NDOF_SHOULD_PAN | NDOF_SHOULD_ZOOM | NDOF_SHOULD_ROTATE;
+ }
/* funny name, but it is GE stuff, moves userdef stuff to engine */
// XXX space_set_commmandline_options();
diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c
index eb522a1d2b8..43bf2f59e04 100644
--- a/source/blender/editors/interface/view2d.c
+++ b/source/blender/editors/interface/view2d.c
@@ -1542,7 +1542,7 @@ static void scroll_printstr(Scene *scene, float x, float y, float val, int power
}
/* draw it */
- BLF_draw_default(x, y, 0.0f, str, sizeof(str)-1);
+ BLF_draw_default_ascii(x, y, 0.0f, str, sizeof(str)-1);
}
/* Draw scrollbars in the given 2d-region */
diff --git a/source/blender/editors/mesh/CMakeLists.txt b/source/blender/editors/mesh/CMakeLists.txt
index bd8789b9eef..02a25a2a122 100644
--- a/source/blender/editors/mesh/CMakeLists.txt
+++ b/source/blender/editors/mesh/CMakeLists.txt
@@ -22,13 +22,13 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
)
diff --git a/source/blender/editors/mesh/SConscript b/source/blender/editors/mesh/SConscript
index 34936c025bc..b992ae5f04c 100644
--- a/source/blender/editors/mesh/SConscript
+++ b/source/blender/editors/mesh/SConscript
@@ -8,7 +8,7 @@ incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
incs += ' ../../gpu ../../blenloader'
incs += ' ../../makesrna ../../render/extern/include #/intern/elbeem/extern'
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/mesh/editmesh.c b/source/blender/editors/mesh/editmesh.c
index ec08bfccda3..e371c346f36 100644
--- a/source/blender/editors/mesh/editmesh.c
+++ b/source/blender/editors/mesh/editmesh.c
@@ -1099,7 +1099,7 @@ void load_editMesh(Scene *scene, Object *obedit)
int j;
for (ob=G.main->object.first; ob; ob=ob->id.next) {
- if (ob->parent==ob && ELEM(ob->partype, PARVERT1,PARVERT3)) {
+ if (ob->parent==obedit && ELEM(ob->partype, PARVERT1,PARVERT3)) {
/* duplicate code from below, make it function later...? */
if (!vertMap) {
@@ -1449,9 +1449,8 @@ static int mesh_separate_material(wmOperator *op, Main *bmain, Scene *scene, Bas
/* select the material */
EM_select_by_material(em, curr_mat);
/* and now separate */
- if(0==mesh_separate_selected(op, bmain, scene, editbase)) {
- BKE_mesh_end_editmesh(me, em);
- return 0;
+ if(em->totfacesel > 0) {
+ mesh_separate_selected(op, bmain, scene, editbase);
}
}
diff --git a/source/blender/editors/mesh/editmesh_lib.c b/source/blender/editors/mesh/editmesh_lib.c
index b7ed6ec14ca..0afa2d01702 100644
--- a/source/blender/editors/mesh/editmesh_lib.c
+++ b/source/blender/editors/mesh/editmesh_lib.c
@@ -1141,6 +1141,9 @@ short extrudeflag_face_indiv(EditMesh *em, short UNUSED(flag), float *UNUSED(nor
EM_select_flush(em);
+ /* step 5; update normals after extrude */
+ recalc_editnormals(em);
+
return 'n';
}
@@ -1206,6 +1209,9 @@ short extrudeflag_edges_indiv(EditMesh *em, short flag, float *nor)
if(eed->v1->f & eed->v2->f & flag) eed->f |= flag;
}
+ /* update normals after extrude */
+ recalc_editnormals(em);
+
if(is_zero_v3(nor)) return 'g'; // g is grab
return 'n'; // n is for normal constraint
}
@@ -1485,6 +1491,9 @@ static short extrudeflag_edge(Object *obedit, EditMesh *em, short UNUSED(flag),
EM_select_flush(em);
+ /* step 8; update normals after extrude */
+ recalc_editnormals(em);
+
if(is_zero_v3(nor)) return 'g'; // grab
return 'n'; // normal constraint
}
diff --git a/source/blender/editors/mesh/editmesh_loop.c b/source/blender/editors/mesh/editmesh_loop.c
index 32971ca77ed..acbe5ef2144 100644
--- a/source/blender/editors/mesh/editmesh_loop.c
+++ b/source/blender/editors/mesh/editmesh_loop.c
@@ -608,9 +608,12 @@ static float seg_intersect(EditEdge *e, CutCurve *c, int len, char mode, struct
return(perc);
}
-
+/* for multicut */
#define MAX_CUTS 256
+/* for amount of edges */
+#define MAX_CUT_EDGES 1024
+
static int knife_cut_exec(bContext *C, wmOperator *op)
{
Object *obedit= CTX_data_edit_object(C);
@@ -618,7 +621,7 @@ static int knife_cut_exec(bContext *C, wmOperator *op)
ARegion *ar= CTX_wm_region(C);
EditEdge *eed;
EditVert *eve;
- CutCurve curve[MAX_CUTS];
+ CutCurve curve[MAX_CUT_EDGES];
struct GHash *gh;
float isect=0.0;
float *scr, co[4];
@@ -642,7 +645,7 @@ static int knife_cut_exec(bContext *C, wmOperator *op)
RNA_float_get_array(&itemptr, "loc", (float *)&curve[len]);
len++;
- if(len>= MAX_CUTS) break;
+ if(len>= MAX_CUT_EDGES) break;
}
RNA_END;
diff --git a/source/blender/editors/mesh/editmesh_mods.c b/source/blender/editors/mesh/editmesh_mods.c
index b5da36756b5..eb6854d2548 100644
--- a/source/blender/editors/mesh/editmesh_mods.c
+++ b/source/blender/editors/mesh/editmesh_mods.c
@@ -867,7 +867,7 @@ static int similar_face_select_exec(bContext *C, wmOperator *op)
Mesh *me= obedit->data;
EditMesh *em= BKE_mesh_get_editmesh(me);
- int selcount = similar_face_select__internal(em, RNA_int_get(op->ptr, "type"), RNA_float_get(op->ptr, "threshold"));
+ int selcount = similar_face_select__internal(em, RNA_enum_get(op->ptr, "type"), RNA_float_get(op->ptr, "threshold"));
if (selcount) {
/* here was an edge-mode only select flush case, has to be generalized */
@@ -1697,7 +1697,7 @@ void EM_mesh_copy_face_layer(EditMesh *em, wmOperator *op, short type)
/* ctrl+c in mesh editmode */
-static void mesh_copy_menu(EditMesh *em, wmOperator *op)
+static void UNUSED_FUNCTION(mesh_copy_menu)(EditMesh *em, wmOperator *op)
{
EditSelection *ese;
int ret;
@@ -2339,7 +2339,7 @@ int mouse_mesh(bContext *C, const int mval[2], short extend)
if (efa && efa->mat_nr != vc.obedit->actcol-1) {
vc.obedit->actcol= efa->mat_nr+1;
vc.em->mat_nr= efa->mat_nr;
-// BIF_preview_changed(ID_MA);
+ WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL);
}
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, vc.obedit->data);
diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c
index 424d3dd5a38..9ff2923f733 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -3895,7 +3895,7 @@ void MESH_OT_edge_rotate(wmOperatorType *ot)
/* XXX old bevel not ported yet */
-static void bevel_menu(EditMesh *em)
+static void UNUSED_FUNCTION(bevel_menu)(EditMesh *em)
{
BME_Mesh *bm;
BME_TransData_Head *td;
@@ -3967,6 +3967,7 @@ short sharesFace(EditMesh *em, EditEdge* e1, EditEdge* e2)
return 0;
}
+#if 0
typedef struct SlideUv {
float origuv[2];
@@ -3980,7 +3981,6 @@ typedef struct SlideVert {
EditVert origvert;
} SlideVert;
-#if 0
int EdgeSlide(EditMesh *em, wmOperator *op, short immediate, float imperc)
{
return 0;
diff --git a/source/blender/editors/mesh/mesh_data.c b/source/blender/editors/mesh/mesh_data.c
index f3e26cfee36..c4a302d4d18 100644
--- a/source/blender/editors/mesh/mesh_data.c
+++ b/source/blender/editors/mesh/mesh_data.c
@@ -235,7 +235,7 @@ int ED_mesh_uv_texture_remove(bContext *C, Object *ob, Mesh *me)
return 1;
}
-int ED_mesh_color_add(bContext *C, Scene *scene, Object *ob, Mesh *me, const char *name, int active_set)
+int ED_mesh_color_add(bContext *C, Scene *UNUSED(scene), Object *UNUSED(ob), Mesh *me, const char *name, int active_set)
{
EditMesh *em;
MCol *mcol;
@@ -272,9 +272,6 @@ int ED_mesh_color_add(bContext *C, Scene *scene, Object *ob, Mesh *me, const cha
CustomData_set_layer_active(&me->fdata, CD_MCOL, layernum);
mesh_update_customdata_pointers(me);
-
- if(!mcol)
- shadeMeshMCol(scene, ob, me);
}
DAG_id_tag_update(&me->id, 0);
diff --git a/source/blender/editors/metaball/CMakeLists.txt b/source/blender/editors/metaball/CMakeLists.txt
index 690a8ec2fcb..76561b12183 100644
--- a/source/blender/editors/metaball/CMakeLists.txt
+++ b/source/blender/editors/metaball/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../render/extern/include
diff --git a/source/blender/editors/object/CMakeLists.txt b/source/blender/editors/object/CMakeLists.txt
index 3e9025be127..de74a0321c7 100644
--- a/source/blender/editors/object/CMakeLists.txt
+++ b/source/blender/editors/object/CMakeLists.txt
@@ -22,16 +22,16 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../gpu
../../ikplugin
../../imbuf
../../makesdna
../../makesrna
../../python
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
../../../../extern/recastnavigation/Recast/Include
)
diff --git a/source/blender/editors/object/SConscript b/source/blender/editors/object/SConscript
index 5460e3fa7fb..900c96044a5 100644
--- a/source/blender/editors/object/SConscript
+++ b/source/blender/editors/object/SConscript
@@ -11,7 +11,7 @@ incs += ' #extern/recastnavigation/Recast/Include'
defs = []
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index c5236a38970..fa529374bf7 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -35,15 +35,18 @@
#include "MEM_guardedalloc.h"
+#include "DNA_anim_types.h"
#include "DNA_curve_types.h"
#include "DNA_group_types.h"
#include "DNA_lamp_types.h"
+#include "DNA_key_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meta_types.h"
#include "DNA_object_fluidsim.h"
#include "DNA_object_force.h"
#include "DNA_scene_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_vfont_types.h"
#include "BLI_math.h"
@@ -63,15 +66,18 @@
#include "BKE_group.h"
#include "BKE_lattice.h"
#include "BKE_library.h"
+#include "BKE_key.h"
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_mball.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
+#include "BKE_nla.h"
#include "BKE_object.h"
#include "BKE_particle.h"
#include "BKE_report.h"
#include "BKE_sca.h"
+#include "BKE_speaker.h"
#include "BKE_texture.h"
#include "RNA_access.h"
@@ -182,7 +188,7 @@ void ED_object_add_generic_props(wmOperatorType *ot, int do_editmode)
}
RNA_def_float_vector_xyz(ot->srna, "location", 3, NULL, -FLT_MAX, FLT_MAX, "Location", "Location for the newly added object", -FLT_MAX, FLT_MAX);
- RNA_def_float_rotation(ot->srna, "rotation", 3, NULL, -FLT_MAX, FLT_MAX, "Rotation", "Rotation for the newly added object", -FLT_MAX, FLT_MAX);
+ RNA_def_float_rotation(ot->srna, "rotation", 3, NULL, -FLT_MAX, FLT_MAX, "Rotation", "Rotation for the newly added object", (float)-M_PI * 2.0f, (float)M_PI * 2.0f);
prop = RNA_def_boolean_layer_member(ot->srna, "layers", 20, NULL, "Layer", "");
RNA_def_property_flag(prop, PROP_HIDDEN);
@@ -270,8 +276,10 @@ int ED_object_add_generic_get_opts(bContext *C, wmOperator *op, float *loc, floa
RNA_boolean_set(op->ptr, "view_align", view_align);
}
- if (view_align)
+ if (view_align) {
ED_object_rotation_from_view(C, rot);
+ RNA_float_set_array(op->ptr, "rotation", rot);
+ }
else
RNA_float_get_array(op->ptr, "rotation", rot);
@@ -764,6 +772,61 @@ static int group_instance_add_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
+static int object_speaker_add_exec(bContext *C, wmOperator *op)
+{
+ Object *ob;
+ int enter_editmode;
+ unsigned int layer;
+ float loc[3], rot[3];
+ Scene *scene = CTX_data_scene(C);
+
+ object_add_generic_invoke_options(C, op);
+ if(!ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer))
+ return OPERATOR_CANCELLED;
+
+ ob= ED_object_add_type(C, OB_SPEAKER, loc, rot, FALSE, layer);
+
+ /* to make it easier to start using this immediately in NLA, a default sound clip is created
+ * ready to be moved around to retime the sound and/or make new sound clips
+ */
+ {
+ /* create new data for NLA hierarchy */
+ AnimData *adt = BKE_id_add_animdata(&ob->id);
+ NlaTrack *nlt = add_nlatrack(adt, NULL);
+ NlaStrip *strip = add_nla_soundstrip(CTX_data_scene(C), ob->data);
+ strip->start = CFRA;
+ strip->end += strip->start;
+
+ /* hook them up */
+ BKE_nlatrack_add_strip(nlt, strip);
+
+ /* auto-name the strip, and give the track an interesting name */
+ strcpy(nlt->name, "SoundTrack");
+ BKE_nlastrip_validate_name(adt, strip);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA|NA_EDITED, NULL);
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+void OBJECT_OT_speaker_add(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Add Speaker";
+ ot->description = "Add a speaker object to the scene";
+ ot->idname= "OBJECT_OT_speaker_add";
+
+ /* api callbacks */
+ ot->exec= object_speaker_add_exec;
+ ot->poll= ED_operator_objectmode;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ ED_object_add_generic_props(ot, TRUE);
+}
+
/* only used as menu */
void OBJECT_OT_group_instance_add(wmOperatorType *ot)
{
@@ -806,14 +869,14 @@ static int object_delete_exec(bContext *C, wmOperator *UNUSED(op))
{
Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
- int islamp= 0;
+ /* int islamp= 0; */ /* UNUSED */
if(CTX_data_edit_object(C))
return OPERATOR_CANCELLED;
CTX_DATA_BEGIN(C, Base*, base, selected_bases) {
- if(base->object->type==OB_LAMP) islamp= 1;
+ /* if(base->object->type==OB_LAMP) islamp= 1; */
/* deselect object -- it could be used in other scenes */
base->object->flag &= ~SELECT;
@@ -823,8 +886,6 @@ static int object_delete_exec(bContext *C, wmOperator *UNUSED(op))
}
CTX_DATA_END;
- if(islamp) reshadeall_displist(scene); /* only frees displist */
-
DAG_scene_sort(bmain, scene);
DAG_ids_flush_update(bmain, 0);
@@ -1439,28 +1500,6 @@ static Base *object_add_duplicate_internal(Main *bmain, Scene *scene, Base *base
}
/* duplicates using userflags */
-#if 0 // XXX old animation system
- if(dupflag & USER_DUP_IPO) {
- bConstraintChannel *chan;
- id= (ID *)obn->ipo;
-
- if(id) {
- ID_NEW_US( obn->ipo)
- else obn->ipo= copy_ipo(obn->ipo);
- id->us--;
- }
- /* Handle constraint ipos */
- for (chan=obn->constraintChannels.first; chan; chan=chan->next){
- id= (ID *)chan->ipo;
- if(id) {
- ID_NEW_US( chan->ipo)
- else chan->ipo= copy_ipo(chan->ipo);
- id->us--;
- }
- }
- }
-#endif // XXX old animation system
-
if(dupflag & USER_DUP_ACT) {
BKE_copy_animdata_id_action(&obn->id);
}
@@ -1602,12 +1641,26 @@ static Base *object_add_duplicate_internal(Main *bmain, Scene *scene, Base *base
id->us--;
}
break;
+ case OB_SPEAKER:
+ if(dupflag!=0) {
+ ID_NEW_US2(obn->data )
+ else {
+ obn->data= copy_speaker(obn->data);
+ didit= 1;
+ }
+ id->us--;
+ }
+ break;
+
}
/* check if obdata is copied */
if(didit) {
+ Key *key = ob_get_key(obn);
+
if(dupflag & USER_DUP_ACT) {
BKE_copy_animdata_id_action((ID *)obn->data);
+ if(key) BKE_copy_animdata_id_action((ID*)key);
}
if(dupflag & USER_DUP_MAT) {
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c
index 565c5810cff..07c006a7995 100644
--- a/source/blender/editors/object/object_bake.c
+++ b/source/blender/editors/object/object_bake.c
@@ -159,7 +159,7 @@ typedef struct {
static void multiresbake_get_normal(const MResolvePixelData *data, float norm[], const int face_num, const int vert_index)
{
unsigned int indices[]= {data->mface[face_num].v1, data->mface[face_num].v2,
- data->mface[face_num].v3, data->mface[face_num].v4};
+ data->mface[face_num].v3, data->mface[face_num].v4};
const int smoothnormal= (data->mface[face_num].flag & ME_SMOOTH);
if(!smoothnormal) { /* flat */
@@ -636,14 +636,14 @@ static void apply_heights_data(void *bake_data)
if(ibuf->rect_float) {
float *rrgbf= ibuf->rect_float + i*4;
- if(max-min > 1e-5) height= (heights[i]-min)/(max-min);
+ if(max-min > 1e-5f) height= (heights[i]-min)/(max-min);
else height= 0;
rrgbf[0]=rrgbf[1]=rrgbf[2]= height;
} else {
char *rrgb= (char*)ibuf->rect + i*4;
- if(max-min > 1e-5) height= (heights[i]-min)/(max-min);
+ if(max-min > 1e-5f) height= (heights[i]-min)/(max-min);
else height= 0;
rrgb[0]=rrgb[1]=rrgb[2]= FTOCHAR(height);
@@ -852,37 +852,18 @@ static void finish_images(MultiresBakeRender *bkr)
for(link= bkr->image.first; link; link= link->next) {
Image *ima= (Image*)link->data;
- int i;
ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
if(ibuf->x<=0 || ibuf->y<=0)
continue;
- /* Margin */
- if(bkr->bake_filter) {
- char *temprect;
+ RE_bake_ibuf_filter(ibuf, (char *)ibuf->userdata, bkr->bake_filter);
- /* extend the mask +2 pixels from the image,
- * this is so colors dont blend in from outside */
-
- for(i=0; i<bkr->bake_filter; i++)
- IMB_mask_filter_extend((char *)ibuf->userdata, ibuf->x, ibuf->y);
-
- temprect = MEM_dupallocN(ibuf->userdata);
-
- /* expand twice to clear this many pixels, so they blend back in */
- IMB_mask_filter_extend(temprect, ibuf->x, ibuf->y);
- IMB_mask_filter_extend(temprect, ibuf->x, ibuf->y);
-
- /* clear all pixels in the margin */
- IMB_mask_clear(ibuf, temprect, FILTER_MASK_MARGIN);
- MEM_freeN(temprect);
+ ibuf->userflags|= IB_BITMAPDIRTY;
- for(i= 0; i<bkr->bake_filter; i++)
- IMB_filter_extend(ibuf, (char *)ibuf->userdata);
- }
+ if(ibuf->rect_float)
+ ibuf->userflags|= IB_RECT_INVALID;
- ibuf->userflags|= IB_BITMAPDIRTY;
if(ibuf->mipmap[0]) {
ibuf->userflags|= IB_MIPMAP_INVALID;
imb_freemipmapImBuf(ibuf);
@@ -989,9 +970,10 @@ static DerivedMesh *multiresbake_create_loresdm(Scene *scene, Object *ob, int *l
MultiresModifierData *mmd= get_multires_modifier(scene, ob, 0);
Mesh *me= (Mesh*)ob->data;
- *lvl= mmd->lvl;
+ if(ob->mode==OB_MODE_SCULPT) *lvl= mmd->sculptlvl;
+ else *lvl= mmd->lvl;
- if(mmd->lvl==0) {
+ if(*lvl==0) {
DerivedMesh *tmp_dm= CDDM_from_mesh(me, ob);
dm= CDDM_copy(tmp_dm);
tmp_dm->release(tmp_dm);
@@ -999,7 +981,7 @@ static DerivedMesh *multiresbake_create_loresdm(Scene *scene, Object *ob, int *l
MultiresModifierData tmp_mmd= *mmd;
DerivedMesh *cddm= CDDM_from_mesh(me, ob);
- tmp_mmd.lvl= mmd->lvl;
+ tmp_mmd.lvl= *lvl;
dm= multires_dm_create_from_derived(&tmp_mmd, 1, cddm, ob, 0, 0);
cddm->release(cddm);
}
@@ -1028,7 +1010,8 @@ static DerivedMesh *multiresbake_create_hiresdm(Scene *scene, Object *ob, int *l
static void clear_images(MTFace *mtface, int totface)
{
int a;
- float vec[4]= {0.0f, 0.0f, 0.0f, 0.0f};
+ const float vec_alpha[4]= {0.0f, 0.0f, 0.0f, 0.0f};
+ const float vec_solid[4]= {0.0f, 0.0f, 0.0f, 1.0f};
for(a= 0; a<totface; a++)
mtface[a].tpage->id.flag&= ~LIB_DOIT;
@@ -1039,7 +1022,7 @@ static void clear_images(MTFace *mtface, int totface)
if((ima->id.flag&LIB_DOIT)==0) {
ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
- IMB_rectfill(ibuf, vec);
+ IMB_rectfill(ibuf, (ibuf->depth == 32) ? vec_alpha : vec_solid);
ima->id.flag|= LIB_DOIT;
}
}
@@ -1332,7 +1315,6 @@ static void finish_bake_internal(BakeRender *bkr)
/* freed when baking is done, but if its canceled we need to free here */
if (ibuf->userdata) {
- printf("freed\n");
MEM_freeN(ibuf->userdata);
ibuf->userdata= NULL;
}
diff --git a/source/blender/editors/object/object_constraint.c b/source/blender/editors/object/object_constraint.c
index 450bd70a568..2055c906b41 100644
--- a/source/blender/editors/object/object_constraint.c
+++ b/source/blender/editors/object/object_constraint.c
@@ -567,7 +567,8 @@ static bConstraint *edit_constraint_property_get(wmOperator *op, Object *ob, int
}
con = constraints_findByName(list, constraint_name);
- printf("constraint found = %p, %s\n", (void *)con, (con)?con->name:"<Not found>");
+ //if (G.f & G_DEBUG)
+ //printf("constraint found = %p, %s\n", (void *)con, (con)?con->name:"<Not found>");
if (con && (type != 0) && (con->type != type))
con = NULL;
@@ -1114,14 +1115,19 @@ static int object_constraint_copy_exec(bContext *C, wmOperator *UNUSED(op))
CTX_DATA_BEGIN(C, Object*, ob, selected_editable_objects)
{
/* if we're not handling the object we're copying from, copy all constraints over */
- if (obact != ob)
+ if (obact != ob) {
copy_constraints(&ob->constraints, &obact->constraints, TRUE);
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
}
CTX_DATA_END;
/* force depsgraph to get recalculated since new relationships added */
DAG_scene_sort(bmain, scene); /* sort order of objects */
-
+
+ /* notifiers for updates */
+ WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT|NA_ADDED, NULL);
+
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 527b97a6082..79cbfb6574b 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -721,7 +721,7 @@ static void spot_interactive(Object *ob, int mode)
}
#endif
-static void special_editmenu(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(special_editmenu)(Scene *scene, View3D *v3d)
{
// XXX static short numcuts= 2;
Object *ob= OBACT;
@@ -1049,109 +1049,6 @@ static void copymenu_logicbricks(Scene *scene, View3D *v3d, Object *ob)
}
}
-static void copymenu_modifiers(Main *bmain, Scene *scene, View3D *v3d, Object *ob)
-{
- Base *base;
- int i, event;
- char str[512];
- const char *errorstr= NULL;
-
- strcpy(str, "Copy Modifiers %t");
-
- sprintf(str+strlen(str), "|All%%x%d|%%l", NUM_MODIFIER_TYPES);
-
- for (i=eModifierType_None+1; i<NUM_MODIFIER_TYPES; i++) {
- ModifierTypeInfo *mti = modifierType_getInfo(i);
-
- if(ELEM3(i, eModifierType_Hook, eModifierType_Softbody, eModifierType_ParticleInstance)) continue;
-
- if(i == eModifierType_Collision)
- continue;
-
- if ( (mti->flags&eModifierTypeFlag_AcceptsCVs) ||
- (ob->type==OB_MESH && (mti->flags&eModifierTypeFlag_AcceptsMesh))) {
- sprintf(str+strlen(str), "|%s%%x%d", mti->name, i);
- }
- }
-
- event = pupmenu(str);
- if(event<=0) return;
-
- for (base= FIRSTBASE; base; base= base->next) {
- if(base->object != ob) {
- if(TESTBASELIB(v3d, base)) {
-
- base->object->recalc |= OB_RECALC_OB|OB_RECALC_DATA;
-
- if (base->object->type==ob->type) {
- /* copy all */
- if (event==NUM_MODIFIER_TYPES) {
- ModifierData *md;
- object_free_modifiers(base->object);
-
- for (md=ob->modifiers.first; md; md=md->next) {
- ModifierData *nmd = NULL;
-
- if(ELEM3(md->type, eModifierType_Hook, eModifierType_Softbody, eModifierType_ParticleInstance)) continue;
-
- if(md->type == eModifierType_Collision)
- continue;
-
- nmd = modifier_new(md->type);
- modifier_copyData(md, nmd);
- BLI_addtail(&base->object->modifiers, nmd);
- modifier_unique_name(&base->object->modifiers, nmd);
- }
-
- copy_object_particlesystems(base->object, ob);
- copy_object_softbody(base->object, ob);
- } else {
- /* copy specific types */
- ModifierData *md, *mdn;
-
- /* remove all with type 'event' */
- for (md=base->object->modifiers.first; md; md=mdn) {
- mdn= md->next;
- if(md->type==event) {
- BLI_remlink(&base->object->modifiers, md);
- modifier_free(md);
- }
- }
-
- /* copy all with type 'event' */
- for (md=ob->modifiers.first; md; md=md->next) {
- if (md->type==event) {
-
- mdn = modifier_new(event);
- BLI_addtail(&base->object->modifiers, mdn);
- modifier_unique_name(&base->object->modifiers, mdn);
-
- modifier_copyData(md, mdn);
- }
- }
-
- if(event == eModifierType_ParticleSystem) {
- object_free_particlesystems(base->object);
- copy_object_particlesystems(base->object, ob);
- }
- else if(event == eModifierType_Softbody) {
- object_free_softbody(base->object);
- copy_object_softbody(base->object, ob);
- }
- }
- }
- else
- errorstr= "Did not copy modifiers to other Object types";
- }
- }
- }
-
-// if(errorstr) notice(errorstr);
-
- DAG_scene_sort(bmain, scene);
-
-}
-
/* both pointers should exist */
static void copy_texture_space(Object *to, Object *ob)
{
@@ -1196,6 +1093,7 @@ static void copy_texture_space(Object *to, Object *ob)
}
+/* UNUSED, keep incase we want to copy functionality for use elsewhere */
static void copy_attr(Main *bmain, Scene *scene, View3D *v3d, short event)
{
Object *ob;
@@ -1221,7 +1119,8 @@ static void copy_attr(Main *bmain, Scene *scene, View3D *v3d, short event)
return;
}
else if(event==24) {
- copymenu_modifiers(bmain, scene, v3d, ob);
+ /* moved to object_link_modifiers */
+ /* copymenu_modifiers(bmain, scene, v3d, ob); */
return;
}
@@ -1444,7 +1343,7 @@ static void copy_attr(Main *bmain, Scene *scene, View3D *v3d, short event)
DAG_ids_flush_update(bmain, 0);
}
-static void copy_attr_menu(Main *bmain, Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(copy_attr_menu)(Main *bmain, Scene *scene, View3D *v3d)
{
Object *ob;
short event;
@@ -1512,6 +1411,8 @@ static int forcefield_toggle_exec(bContext *C, wmOperator *UNUSED(op))
else
ob->pd->forcefield = 0;
+ WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, NULL);
+
return OPERATOR_FINISHED;
}
@@ -1689,7 +1590,7 @@ void OBJECT_OT_shade_flat(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Shade Flat";
- ot->description= "Display faces 'smooth' (using vertext normals)";
+ ot->description= "Display faces 'flat'";
ot->idname= "OBJECT_OT_shade_flat";
/* api callbacks */
@@ -1704,7 +1605,7 @@ void OBJECT_OT_shade_smooth(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Shade Smooth";
- ot->description= "Display faces 'flat'";
+ ot->description= "Display faces 'smooth' (using vertex normals)";
ot->idname= "OBJECT_OT_shade_smooth";
/* api callbacks */
@@ -1717,7 +1618,7 @@ void OBJECT_OT_shade_smooth(wmOperatorType *ot)
/* ********************** */
-static void image_aspect(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(image_aspect)(Scene *scene, View3D *v3d)
{
/* all selected objects with an image map: scale in image aspect */
Base *base;
@@ -1792,7 +1693,7 @@ static int vergbaseco(const void *a1, const void *a2)
}
-static void auto_timeoffs(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(auto_timeoffs)(Scene *scene, View3D *v3d)
{
Base *base, **basesort, **bs;
float start, delta;
@@ -1833,7 +1734,7 @@ static void auto_timeoffs(Scene *scene, View3D *v3d)
}
-static void ofs_timeoffs(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(ofs_timeoffs)(Scene *scene, View3D *v3d)
{
float offset=0.0f;
@@ -1852,7 +1753,7 @@ static void ofs_timeoffs(Scene *scene, View3D *v3d)
}
-static void rand_timeoffs(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(rand_timeoffs)(Scene *scene, View3D *v3d)
{
Base *base;
float rand_ofs=0.0f;
@@ -2162,16 +2063,20 @@ static int game_property_copy_exec(bContext *C, wmOperator *op)
} CTX_DATA_END;
}
}
- else if (ELEM(type, COPY_PROPERTIES_REPLACE, COPY_PROPERTIES_MERGE)) {
+
+ else {
CTX_DATA_BEGIN(C, Object*, ob_iter, selected_editable_objects) {
if (ob != ob_iter) {
if (ob->data != ob_iter->data){
- if (type == 2) {/* merge */
+ if (type == COPY_PROPERTIES_REPLACE)
+ copy_properties( &ob_iter->prop, &ob->prop );
+
+ /* merge - the default when calling with no argument */
+ else {
for(prop = ob->prop.first; prop; prop= prop->next ) {
set_ob_property(ob_iter, prop);
}
- } else /* replace */
- copy_properties( &ob_iter->prop, &ob->prop );
+ }
}
}
}
diff --git a/source/blender/editors/object/object_hook.c b/source/blender/editors/object/object_hook.c
index 2d547da41f6..bb32869469a 100644
--- a/source/blender/editors/object/object_hook.c
+++ b/source/blender/editors/object/object_hook.c
@@ -56,6 +56,7 @@
#include "BKE_object.h"
#include "BKE_report.h"
#include "BKE_scene.h"
+#include "BKE_deform.h"
#include "RNA_define.h"
#include "RNA_access.h"
@@ -85,7 +86,7 @@ static int return_editmesh_indexar(EditMesh *em, int *tot, int **indexar, float
*indexar= index= MEM_mallocN(4*totvert, "hook indexar");
*tot= totvert;
nr= 0;
- cent[0]= cent[1]= cent[2]= 0.0;
+ zero_v3(cent);
for(eve= em->verts.first; eve; eve= eve->next) {
if(eve->f & SELECT) {
@@ -102,30 +103,29 @@ static int return_editmesh_indexar(EditMesh *em, int *tot, int **indexar, float
static int return_editmesh_vgroup(Object *obedit, EditMesh *em, char *name, float *cent)
{
- MDeformVert *dvert;
- EditVert *eve;
- int i, totvert=0;
-
- cent[0]= cent[1]= cent[2]= 0.0;
-
+ zero_v3(cent);
+
if(obedit->actdef) {
-
+ const int defgrp_index= obedit->actdef-1;
+ int totvert=0;
+
+ MDeformVert *dvert;
+ EditVert *eve;
+
/* find the vertices */
for(eve= em->verts.first; eve; eve= eve->next) {
dvert= CustomData_em_get(&em->vdata, eve->data, CD_MDEFORMVERT);
if(dvert) {
- for(i=0; i<dvert->totweight; i++){
- if(dvert->dw[i].def_nr == (obedit->actdef-1)) {
- totvert++;
- add_v3_v3(cent, eve->co);
- }
+ if(defvert_find_weight(dvert, defgrp_index) > 0.0f) {
+ add_v3_v3(cent, eve->co);
+ totvert++;
}
}
}
if(totvert) {
- bDeformGroup *defGroup = BLI_findlink(&obedit->defbase, obedit->actdef-1);
- strcpy(name, defGroup->name);
+ bDeformGroup *dg = BLI_findlink(&obedit->defbase, defgrp_index);
+ BLI_strncpy(name, dg->name, sizeof(dg->name));
mul_v3_fl(cent, 1.0f/(float)totvert);
return 1;
}
diff --git a/source/blender/editors/object/object_intern.h b/source/blender/editors/object/object_intern.h
index 2ff1b2d399c..3da0723ec18 100644
--- a/source/blender/editors/object/object_intern.h
+++ b/source/blender/editors/object/object_intern.h
@@ -116,6 +116,7 @@ void OBJECT_OT_armature_add(struct wmOperatorType *ot);
void OBJECT_OT_lamp_add(struct wmOperatorType *ot);
void OBJECT_OT_effector_add(struct wmOperatorType *ot);
void OBJECT_OT_camera_add(struct wmOperatorType *ot);
+void OBJECT_OT_speaker_add(struct wmOperatorType *ot);
void OBJECT_OT_group_instance_add(struct wmOperatorType *ot);
void OBJECT_OT_duplicates_make_real(struct wmOperatorType *ot);
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 5996037cd2d..8813b0027cd 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -399,6 +399,15 @@ int ED_object_modifier_convert(ReportList *UNUSED(reports), Main *bmain, Scene *
static int modifier_apply_shape(ReportList *reports, Scene *scene, Object *ob, ModifierData *md)
{
+ ModifierTypeInfo *mti= modifierType_getInfo(md->type);
+
+ md->scene= scene;
+
+ if (mti->isDisabled && mti->isDisabled(md, 0)) {
+ BKE_report(reports, RPT_ERROR, "Modifier is disabled, skipping apply");
+ return 0;
+ }
+
if (ob->type==OB_MESH) {
DerivedMesh *dm;
Mesh *me= ob->data;
@@ -442,7 +451,9 @@ static int modifier_apply_obdata(ReportList *reports, Scene *scene, Object *ob,
{
ModifierTypeInfo *mti= modifierType_getInfo(md->type);
- if (!(md->mode&eModifierMode_Realtime) || (mti->isDisabled && mti->isDisabled(md, 0))) {
+ md->scene= scene;
+
+ if (mti->isDisabled && mti->isDisabled(md, 0)) {
BKE_report(reports, RPT_ERROR, "Modifier is disabled, skipping apply");
return 0;
}
@@ -484,7 +495,7 @@ static int modifier_apply_obdata(ReportList *reports, Scene *scene, Object *ob,
CustomData_free_layer_active(&me->fdata, CD_MDISPS, me->totface);
}
}
- }
+ }
else if (ELEM(ob->type, OB_CURVE, OB_SURF)) {
Curve *cu;
int numVerts;
@@ -530,6 +541,8 @@ static int modifier_apply_obdata(ReportList *reports, Scene *scene, Object *ob,
int ED_object_modifier_apply(ReportList *reports, Scene *scene, Object *ob, ModifierData *md, int mode)
{
+ int prev_mode;
+
if (scene->obedit) {
BKE_report(reports, RPT_ERROR, "Modifiers cannot be applied in editmode");
return 0;
@@ -541,12 +554,20 @@ int ED_object_modifier_apply(ReportList *reports, Scene *scene, Object *ob, Modi
if (md!=ob->modifiers.first)
BKE_report(reports, RPT_INFO, "Applied modifier was not first, result may not be as expected.");
+ /* allow apply of a not-realtime modifier, by first re-enabling realtime. */
+ prev_mode= md->mode;
+ md->mode |= eModifierMode_Realtime;
+
if (mode == MODIFIER_APPLY_SHAPE) {
- if (!modifier_apply_shape(reports, scene, ob, md))
+ if (!modifier_apply_shape(reports, scene, ob, md)) {
+ md->mode= prev_mode;
return 0;
+ }
} else {
- if (!modifier_apply_obdata(reports, scene, ob, md))
+ if (!modifier_apply_obdata(reports, scene, ob, md)) {
+ md->mode= prev_mode;
return 0;
+ }
}
BLI_remlink(&ob->modifiers, md);
@@ -1045,7 +1066,12 @@ static int multires_reshape_exec(bContext *C, wmOperator *op)
if (!mmd)
return OPERATOR_CANCELLED;
-
+
+ if(mmd->lvl==0) {
+ BKE_report(op->reports, RPT_ERROR, "Reshape can work only with higher levels of subdivisions.");
+ return OPERATOR_CANCELLED;
+ }
+
CTX_DATA_BEGIN(C, Object*, selob, selected_editable_objects) {
if(selob->type == OB_MESH && selob != ob) {
secondob= selob;
@@ -1259,16 +1285,22 @@ static int meshdeform_bind_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
if(mmd->bindcagecos) {
- if(mmd->bindweights) MEM_freeN(mmd->bindweights);
- if(mmd->bindcagecos) MEM_freeN(mmd->bindcagecos);
+ MEM_freeN(mmd->bindcagecos);
if(mmd->dyngrid) MEM_freeN(mmd->dyngrid);
if(mmd->dyninfluences) MEM_freeN(mmd->dyninfluences);
+ if(mmd->bindinfluences) MEM_freeN(mmd->bindinfluences);
+ if(mmd->bindoffsets) MEM_freeN(mmd->bindoffsets);
if(mmd->dynverts) MEM_freeN(mmd->dynverts);
- mmd->bindweights= NULL;
+ if(mmd->bindweights) MEM_freeN(mmd->bindweights); /* deprecated */
+ if(mmd->bindcos) MEM_freeN(mmd->bindcos); /* deprecated */
+
mmd->bindcagecos= NULL;
mmd->dyngrid= NULL;
mmd->dyninfluences= NULL;
+ mmd->bindoffsets= NULL;
mmd->dynverts= NULL;
+ mmd->bindweights= NULL; /* deprecated */
+ mmd->bindcos= NULL; /* deprecated */
mmd->totvert= 0;
mmd->totcagevert= 0;
mmd->totinfluence= 0;
diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c
index b7989ba5dd8..29d536c1dab 100644
--- a/source/blender/editors/object/object_ops.c
+++ b/source/blender/editors/object/object_ops.c
@@ -117,6 +117,7 @@ void ED_operatortypes_object(void)
WM_operatortype_append(OBJECT_OT_armature_add);
WM_operatortype_append(OBJECT_OT_lamp_add);
WM_operatortype_append(OBJECT_OT_camera_add);
+ WM_operatortype_append(OBJECT_OT_speaker_add);
WM_operatortype_append(OBJECT_OT_add);
WM_operatortype_append(OBJECT_OT_add_named);
WM_operatortype_append(OBJECT_OT_effector_add);
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index f7158e4b4ec..e9418ca9f9f 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -45,6 +45,7 @@
#include "DNA_meta_types.h"
#include "DNA_particle_types.h"
#include "DNA_scene_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_world_types.h"
#include "DNA_object_types.h"
@@ -75,6 +76,7 @@
#include "BKE_report.h"
#include "BKE_sca.h"
#include "BKE_scene.h"
+#include "BKE_speaker.h"
#include "BKE_texture.h"
#include "WM_api.h"
@@ -446,6 +448,7 @@ static int parent_clear_exec(bContext *C, wmOperator *op)
DAG_scene_sort(bmain, scene);
DAG_ids_flush_update(bmain, 0);
WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
+ WM_event_add_notifier(C, NC_OBJECT|ND_PARENT, NULL);
return OPERATOR_FINISHED;
}
@@ -970,8 +973,8 @@ static int track_set_exec(bContext *C, wmOperator *op)
data->tar = obact;
ob->recalc |= OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME;
- /* Lamp and Camera track differently by default */
- if (ob->type == OB_LAMP || ob->type == OB_CAMERA)
+ /* Lamp, Camera and Speaker track differently by default */
+ if (ob->type == OB_LAMP || ob->type == OB_CAMERA || ob->type == OB_SPEAKER)
data->trackflag = TRACK_nZ;
}
}
@@ -989,8 +992,8 @@ static int track_set_exec(bContext *C, wmOperator *op)
data->tar = obact;
ob->recalc |= OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME;
- /* Lamp and Camera track differently by default */
- if (ob->type == OB_LAMP || ob->type == OB_CAMERA) {
+ /* Lamp, Camera and Speaker track differently by default */
+ if (ob->type == OB_LAMP || ob->type == OB_CAMERA || ob->type == OB_SPEAKER) {
data->reserved1 = TRACK_nZ;
data->reserved2 = UP_Y;
}
@@ -1010,8 +1013,8 @@ static int track_set_exec(bContext *C, wmOperator *op)
data->tar = obact;
ob->recalc |= OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME;
- /* Lamp and Camera track differently by default */
- if (ob->type == OB_LAMP || ob->type == OB_CAMERA) {
+ /* Lamp, Camera and Speaker track differently by default */
+ if (ob->type == OB_LAMP || ob->type == OB_CAMERA || ob->type == OB_SPEAKER) {
data->trackflag = TRACK_nZ;
data->lockflag = LOCK_Y;
}
@@ -1095,7 +1098,7 @@ static int move_to_layer_exec(bContext *C, wmOperator *op)
Scene *scene= CTX_data_scene(C);
View3D *v3d= CTX_wm_view3d(C);
unsigned int lay, local;
- int islamp= 0;
+ /* int islamp= 0; */ /* UNUSED */
lay= move_to_layer_init(C, op);
lay &= 0xFFFFFF;
@@ -1111,7 +1114,7 @@ static int move_to_layer_exec(bContext *C, wmOperator *op)
base->object->lay= lay;
base->object->flag &= ~SELECT;
base->flag &= ~SELECT;
- if(base->object->type==OB_LAMP) islamp= 1;
+ /* if(base->object->type==OB_LAMP) islamp= 1; */
}
CTX_DATA_END;
}
@@ -1123,12 +1126,10 @@ static int move_to_layer_exec(bContext *C, wmOperator *op)
local= base->lay & 0xFF000000;
base->lay= lay + local;
base->object->lay= lay;
- if(base->object->type==OB_LAMP) islamp= 1;
+ /* if(base->object->type==OB_LAMP) islamp= 1; */
}
CTX_DATA_END;
}
-
- if(islamp) reshadeall_displist(scene); /* only frees */
/* warning, active object may be hidden now */
@@ -1320,7 +1321,7 @@ void OBJECT_OT_make_links_scene(wmOperatorType *ot)
/* identifiers */
ot->name= "Link Objects to Scene";
- ot->description = "Make linked data local to each object";
+ ot->description = "Link selection to another scene";
ot->idname= "OBJECT_OT_make_links_scene";
/* api callbacks */
@@ -1403,6 +1404,20 @@ static void single_object_users(Scene *scene, View3D *v3d, int flag)
set_sca_new_poins();
}
+/* not an especially efficient function, only added so the single user
+ * button can be functional.*/
+void ED_object_single_user(Scene *scene, Object *ob)
+{
+ Base *base;
+
+ for(base= FIRSTBASE; base; base= base->next) {
+ if(base->object == ob) base->flag |= OB_DONE;
+ else base->flag &= ~OB_DONE;
+ }
+
+ single_object_users(scene, NULL, OB_DONE);
+}
+
static void new_id_matar(Material **matar, int totcol)
{
ID *id;
@@ -1482,6 +1497,9 @@ static void single_obdata_users(Main *bmain, Scene *scene, int flag)
ob->data= copy_armature(ob->data);
armature_rebuild_pose(ob, ob->data);
break;
+ case OB_SPEAKER:
+ ob->data= copy_speaker(ob->data);
+ break;
default:
if (G.f & G_DEBUG)
printf("ERROR single_obdata_users: can't copy %s\n", id->name);
@@ -1661,6 +1679,7 @@ void ED_object_single_users(Main *bmain, Scene *scene, int full)
if(full) {
single_obdata_users(bmain, scene, 0);
+ single_object_action_users(scene, 0);
single_mat_users_expand(bmain);
single_tex_users_expand(bmain);
}
diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c
index a3bd399a60c..cb1fc7541d0 100644
--- a/source/blender/editors/object/object_select.c
+++ b/source/blender/editors/object/object_select.c
@@ -37,6 +37,7 @@
#include "MEM_guardedalloc.h"
+#include "DNA_anim_types.h"
#include "DNA_group_types.h"
#include "DNA_material_types.h"
#include "DNA_modifier_types.h"
@@ -65,6 +66,7 @@
#include "ED_object.h"
#include "ED_screen.h"
+#include "ED_keyframing.h"
#include "UI_interface.h"
#include "UI_resources.h"
@@ -363,6 +365,7 @@ static EnumPropertyItem prop_select_grouped_types[] = {
{9, "PASS", 0, "Pass", "Render pass Index"},
{10, "COLOR", 0, "Color", "Object Color"},
{11, "PROPERTIES", 0, "Properties", "Game Properties"},
+ {12, "KEYINGSET", 0, "Keying Set", "Objects included in active Keying Set"},
{0, NULL, 0, NULL, NULL}
};
@@ -574,6 +577,42 @@ static short select_grouped_gameprops(bContext *C, Object *ob)
return changed;
}
+static short select_grouped_keyingset(bContext *C, Object *UNUSED(ob))
+{
+ KeyingSet *ks = ANIM_scene_get_active_keyingset(CTX_data_scene(C));
+ short changed = 0;
+
+ /* firstly, validate KeyingSet */
+ if ((ks == NULL) || (ANIM_validate_keyingset(C, NULL, ks) != 0))
+ return 0;
+
+ /* select each object that Keying Set refers to */
+ // TODO: perhaps to be more in line with the rest of these, we should only take objects
+ // if the passed in object is included in this too
+ CTX_DATA_BEGIN(C, Base*, base, selectable_bases)
+ {
+ /* only check for this object if it isn't selected already, to limit time wasted */
+ if ((base->flag & SELECT) == 0) {
+ KS_Path *ksp;
+
+ /* this is the slow way... we could end up with > 500 items here,
+ * with none matching, but end up doing this on 1000 objects...
+ */
+ for (ksp = ks->paths.first; ksp; ksp = ksp->next) {
+ /* if id matches, select then stop looping (match found) */
+ if (ksp->id == (ID *)base->object) {
+ ED_base_object_select(base, BA_SELECT);
+ changed = 1;
+ break;
+ }
+ }
+ }
+ }
+ CTX_DATA_END;
+
+ return changed;
+}
+
static int object_select_grouped_exec(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
@@ -608,6 +647,7 @@ static int object_select_grouped_exec(bContext *C, wmOperator *op)
else if(nr==9) changed |= select_grouped_index_object(C, ob);
else if(nr==10) changed |= select_grouped_color(C, ob);
else if(nr==11) changed |= select_grouped_gameprops(C, ob);
+ else if(nr==12) changed |= select_grouped_keyingset(C, ob);
if (changed) {
WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, CTX_data_scene(C));
diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c
index f7c6ff99bde..78f3537bea9 100644
--- a/source/blender/editors/object/object_transform.c
+++ b/source/blender/editors/object/object_transform.c
@@ -246,7 +246,7 @@ static int object_clear_transform_generic_exec(bContext *C, wmOperator *op,
}
/* tag for updates */
- ob->recalc |= OB_RECALC_OB;
+ DAG_id_tag_update(&ob->id, OB_RECALC_OB);
}
}
CTX_DATA_END;
@@ -341,7 +341,8 @@ static int object_origin_clear_exec(bContext *C, wmOperator *UNUSED(op))
negate_v3_v3(v3, v1);
mul_m3_v3(mat, v3);
}
- ob->recalc |= OB_RECALC_OB;
+
+ DAG_id_tag_update(&ob->id, OB_RECALC_OB);
}
CTX_DATA_END;
@@ -871,7 +872,7 @@ static int object_origin_set_exec(bContext *C, wmOperator *op)
(ob->dup_group==ob_other->dup_group && (ob->transflag|ob_other->transflag) & OB_DUPLIGROUP) )
) {
ob_other->flag |= OB_DONE;
- ob_other->recalc= OB_RECALC_OB|OB_RECALC_DATA;
+ DAG_id_tag_update(&ob_other->id, OB_RECALC_OB|OB_RECALC_DATA);
copy_v3_v3(centn, cent);
mul_mat3_m4_v3(ob_other->obmat, centn); /* ommit translation part */
@@ -890,11 +891,9 @@ static int object_origin_set_exec(bContext *C, wmOperator *op)
}
CTX_DATA_END;
- for (tob= bmain->object.first; tob; tob= tob->id.next) {
- if(tob->data && (((ID *)tob->data)->flag & LIB_DOIT)) {
- tob->recalc= OB_RECALC_OB|OB_RECALC_DATA;
- }
- }
+ for (tob= bmain->object.first; tob; tob= tob->id.next)
+ if(tob->data && (((ID *)tob->data)->flag & LIB_DOIT))
+ DAG_id_tag_update(&tob->id, OB_RECALC_OB|OB_RECALC_DATA);
if (tot_change) {
DAG_ids_flush_update(bmain, 0);
diff --git a/source/blender/editors/physics/CMakeLists.txt b/source/blender/editors/physics/CMakeLists.txt
index 1badccffe3b..f32b23cd3ee 100644
--- a/source/blender/editors/physics/CMakeLists.txt
+++ b/source/blender/editors/physics/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/physics/SConscript b/source/blender/editors/physics/SConscript
index 274819c918c..188416eb04c 100644
--- a/source/blender/editors/physics/SConscript
+++ b/source/blender/editors/physics/SConscript
@@ -10,7 +10,7 @@ incs += ' ../../makesrna ../../render/extern/include #/intern/elbeem/extern'
defs = ''
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c
index 6155929243b..4b0c1cb1222 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -827,6 +827,8 @@ static void PE_mirror_particle(Object *ob, DerivedMesh *dm, ParticleSystem *psys
if(key->flag & PEK_TAG)
mkey->flag |= PEK_TAG;
+
+ mkey->length = key->length;
}
if(point->flag & PEP_TAG)
@@ -3461,7 +3463,8 @@ static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr)
ARegion *ar= CTX_wm_region(C);
float vec[3], mousef[2];
int mval[2];
- int flip, mouse[2], dx, dy, removed= 0, added=0, selected= 0;
+ int flip, mouse[2], removed= 0, added=0, selected= 0, tot_steps= 1, step= 1;
+ float dx, dy, dmax;
int lock_root = pset->flag & PE_LOCK_FIRST;
if(!PE_start_edit(edit))
@@ -3496,152 +3499,163 @@ static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr)
view3d_operator_needs_opengl(C);
selected= (short)count_selected_keys(scene, edit);
- switch(pset->brushtype) {
- case PE_BRUSH_COMB:
- {
- float mval_f[2];
- data.mval= mval;
- data.rad= (float)brush->size;
-
- data.combfac= (brush->strength - 0.5f) * 2.0f;
- if(data.combfac < 0.0f)
- data.combfac= 1.0f - 9.0f * data.combfac;
- else
- data.combfac= 1.0f - data.combfac;
+ dmax = MAX2(fabs(dx), fabs(dy));
+ tot_steps = dmax/(0.2f * brush->size) + 1;
- invert_m4_m4(ob->imat, ob->obmat);
+ dx /= (float)tot_steps;
+ dy /= (float)tot_steps;
- mval_f[0]= dx;
- mval_f[1]= dy;
- ED_view3d_win_to_delta(ar, mval_f, vec);
- data.dvec= vec;
+ for(step = 1; step<=tot_steps; step++) {
+ mval[0] = bedit->lastmouse[0] + step*dx;
+ mval[1] = bedit->lastmouse[1] + step*dy;
- foreach_mouse_hit_key(&data, brush_comb, selected);
- break;
- }
- case PE_BRUSH_CUT:
- {
- if(edit->psys && edit->pathcache) {
+ switch(pset->brushtype) {
+ case PE_BRUSH_COMB:
+ {
+ float mval_f[2];
data.mval= mval;
data.rad= (float)brush->size;
- data.cutfac= brush->strength;
- if(selected)
- foreach_selected_point(&data, brush_cut);
+ data.combfac= (brush->strength - 0.5f) * 2.0f;
+ if(data.combfac < 0.0f)
+ data.combfac= 1.0f - 9.0f * data.combfac;
else
- foreach_point(&data, brush_cut);
+ data.combfac= 1.0f - data.combfac;
- removed= remove_tagged_particles(ob, edit->psys, pe_x_mirror(ob));
- if(pset->flag & PE_KEEP_LENGTHS)
- recalc_lengths(edit);
- }
- else
- removed= 0;
+ invert_m4_m4(ob->imat, ob->obmat);
- break;
- }
- case PE_BRUSH_LENGTH:
- {
- data.mval= mval;
-
- data.rad= (float)brush->size;
- data.growfac= brush->strength / 50.0f;
+ mval_f[0]= dx;
+ mval_f[1]= dy;
+ ED_view3d_win_to_delta(ar, mval_f, vec);
+ data.dvec= vec;
- if(brush->invert ^ flip)
- data.growfac= 1.0f - data.growfac;
- else
- data.growfac= 1.0f + data.growfac;
-
- foreach_mouse_hit_point(&data, brush_length, selected);
+ foreach_mouse_hit_key(&data, brush_comb, selected);
+ break;
+ }
+ case PE_BRUSH_CUT:
+ {
+ if(edit->psys && edit->pathcache) {
+ data.mval= mval;
+ data.rad= (float)brush->size;
+ data.cutfac= brush->strength;
+
+ if(selected)
+ foreach_selected_point(&data, brush_cut);
+ else
+ foreach_point(&data, brush_cut);
+
+ removed= remove_tagged_particles(ob, edit->psys, pe_x_mirror(ob));
+ if(pset->flag & PE_KEEP_LENGTHS)
+ recalc_lengths(edit);
+ }
+ else
+ removed= 0;
- if(pset->flag & PE_KEEP_LENGTHS)
- recalc_lengths(edit);
- break;
- }
- case PE_BRUSH_PUFF:
- {
- if(edit->psys) {
- data.dm= psmd->dm;
+ break;
+ }
+ case PE_BRUSH_LENGTH:
+ {
data.mval= mval;
+
data.rad= (float)brush->size;
- data.select= selected;
+ data.growfac= brush->strength / 50.0f;
- data.pufffac= (brush->strength - 0.5f) * 2.0f;
- if(data.pufffac < 0.0f)
- data.pufffac= 1.0f - 9.0f * data.pufffac;
+ if(brush->invert ^ flip)
+ data.growfac= 1.0f - data.growfac;
else
- data.pufffac= 1.0f - data.pufffac;
+ data.growfac= 1.0f + data.growfac;
- data.invert= (brush->invert ^ flip);
- invert_m4_m4(ob->imat, ob->obmat);
+ foreach_mouse_hit_point(&data, brush_length, selected);
- foreach_mouse_hit_point(&data, brush_puff, selected);
+ if(pset->flag & PE_KEEP_LENGTHS)
+ recalc_lengths(edit);
+ break;
}
- break;
- }
- case PE_BRUSH_ADD:
- {
- if(edit->psys && edit->psys->part->from==PART_FROM_FACE) {
- data.mval= mval;
+ case PE_BRUSH_PUFF:
+ {
+ if(edit->psys) {
+ data.dm= psmd->dm;
+ data.mval= mval;
+ data.rad= (float)brush->size;
+ data.select= selected;
+
+ data.pufffac= (brush->strength - 0.5f) * 2.0f;
+ if(data.pufffac < 0.0f)
+ data.pufffac= 1.0f - 9.0f * data.pufffac;
+ else
+ data.pufffac= 1.0f - data.pufffac;
+
+ data.invert= (brush->invert ^ flip);
+ invert_m4_m4(ob->imat, ob->obmat);
+
+ foreach_mouse_hit_point(&data, brush_puff, selected);
+ }
+ break;
+ }
+ case PE_BRUSH_ADD:
+ {
+ if(edit->psys && edit->psys->part->from==PART_FROM_FACE) {
+ data.mval= mval;
- added= brush_add(&data, brush->count);
+ added= brush_add(&data, brush->count);
- if(pset->flag & PE_KEEP_LENGTHS)
- recalc_lengths(edit);
+ if(pset->flag & PE_KEEP_LENGTHS)
+ recalc_lengths(edit);
+ }
+ else
+ added= 0;
+ break;
}
- else
- added= 0;
- break;
- }
- case PE_BRUSH_SMOOTH:
- {
- data.mval= mval;
- data.rad= (float)brush->size;
+ case PE_BRUSH_SMOOTH:
+ {
+ data.mval= mval;
+ data.rad= (float)brush->size;
- data.vec[0]= data.vec[1]= data.vec[2]= 0.0f;
- data.tot= 0;
+ data.vec[0]= data.vec[1]= data.vec[2]= 0.0f;
+ data.tot= 0;
- data.smoothfac= brush->strength;
+ data.smoothfac= brush->strength;
- invert_m4_m4(ob->imat, ob->obmat);
+ invert_m4_m4(ob->imat, ob->obmat);
- foreach_mouse_hit_key(&data, brush_smooth_get, selected);
+ foreach_mouse_hit_key(&data, brush_smooth_get, selected);
- if(data.tot) {
- mul_v3_fl(data.vec, 1.0f / (float)data.tot);
- foreach_mouse_hit_key(&data, brush_smooth_do, selected);
+ if(data.tot) {
+ mul_v3_fl(data.vec, 1.0f / (float)data.tot);
+ foreach_mouse_hit_key(&data, brush_smooth_do, selected);
+ }
+
+ break;
}
+ case PE_BRUSH_WEIGHT:
+ {
+ if(edit->psys) {
+ data.dm= psmd->dm;
+ data.mval= mval;
+ data.rad= (float)brush->size;
- break;
- }
- case PE_BRUSH_WEIGHT:
- {
- if(edit->psys) {
- data.dm= psmd->dm;
- data.mval= mval;
- data.rad= (float)brush->size;
+ data.weightfac = brush->strength; /* note that this will never be zero */
- data.weightfac = brush->strength; /* note that this will never be zero */
+ foreach_mouse_hit_key(&data, brush_weight, selected);
+ }
- foreach_mouse_hit_key(&data, brush_weight, selected);
+ break;
}
-
- break;
}
- }
- if((pset->flag & PE_KEEP_LENGTHS)==0)
- recalc_lengths(edit);
+ if((pset->flag & PE_KEEP_LENGTHS)==0)
+ recalc_lengths(edit);
- if(ELEM(pset->brushtype, PE_BRUSH_ADD, PE_BRUSH_CUT) && (added || removed)) {
- if(pset->brushtype == PE_BRUSH_ADD && pe_x_mirror(ob))
- PE_mirror_x(scene, ob, 1);
+ if(ELEM(pset->brushtype, PE_BRUSH_ADD, PE_BRUSH_CUT) && (added || removed)) {
+ if(pset->brushtype == PE_BRUSH_ADD && pe_x_mirror(ob))
+ PE_mirror_x(scene, ob, 1);
- update_world_cos(ob,edit);
- psys_free_path_cache(NULL, edit);
- DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ update_world_cos(ob,edit);
+ psys_free_path_cache(NULL, edit);
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
+ else
+ PE_update_object(scene, ob, 1);
}
- else
- PE_update_object(scene, ob, 1);
WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
@@ -3974,7 +3988,7 @@ static void PTCacheUndo_clear(PTCacheEdit *edit)
{
PTCacheUndo *undo;
- if(edit==0) return;
+ if(edit==NULL) return;
undo= edit->undo.first;
while(undo) {
diff --git a/source/blender/editors/physics/physics_fluid.c b/source/blender/editors/physics/physics_fluid.c
index 4aa9b942cf3..bd53de20871 100644
--- a/source/blender/editors/physics/physics_fluid.c
+++ b/source/blender/editors/physics/physics_fluid.c
@@ -41,12 +41,6 @@
#include <string.h>
#include <sys/stat.h>
-#ifdef WIN32 /* Windos */
-#ifndef snprintf
-#define snprintf _snprintf
-#endif
-#endif
-
#include "MEM_guardedalloc.h"
/* types */
@@ -56,6 +50,7 @@
#include "DNA_object_fluidsim.h"
#include "BLI_blenlib.h"
+#include "BLI_fileops.h"
#include "BLI_threads.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
@@ -125,7 +120,7 @@ static void get_fluid_gravity(float *gravity, Scene *scene, FluidsimSettings *fs
if (scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY) {
copy_v3_v3(gravity, scene->physics_settings.gravity);
} else {
- copy_v3_v3(gravity, &fss->gravx);
+ copy_v3_v3(gravity, fss->grav);
}
}
@@ -154,8 +149,8 @@ static int fluid_is_animated_mesh(FluidsimSettings *fss)
#if 0
/* helper function */
void fluidsimGetGeometryObjFilename(Object *ob, char *dst) { //, char *srcname) {
- //snprintf(dst,FILE_MAXFILE, "%s_cfgdata_%s.bobj.gz", srcname, ob->id.name);
- snprintf(dst,FILE_MAXFILE, "fluidcfgdata_%s.bobj.gz", ob->id.name);
+ //BLI_snprintf(dst,FILE_MAXFILE, "%s_cfgdata_%s.bobj.gz", srcname, ob->id.name);
+ BLI_snprintf(dst,FILE_MAXFILE, "fluidcfgdata_%s.bobj.gz", ob->id.name);
}
#endif
@@ -443,7 +438,7 @@ static void fluid_init_all_channels(bContext *C, Object *UNUSED(fsDomain), Fluid
Object *ob = fobj->object;
FluidsimModifierData *fluidmd = (FluidsimModifierData *)modifiers_findByType(ob, eModifierType_Fluidsim);
float active= (float)(fluidmd->fss->flag & OB_FLUIDSIM_ACTIVE);
- float rot_d[3], old_rot[3] = {0.f, 0.f, 0.f};
+ float rot_d[3] = {0.f, 0.f, 0.f}, old_rot[3] = {0.f, 0.f, 0.f};
if (ELEM(fluidmd->fss->type, OB_FLUIDSIM_DOMAIN, OB_FLUIDSIM_PARTICLE))
continue;
@@ -721,15 +716,17 @@ typedef struct FluidBakeJob {
static void fluidbake_free(void *customdata)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
MEM_freeN(fb);
}
/* called by fluidbake, only to check job 'stop' value */
-static int fluidbake_breakjob(void *UNUSED(customdata))
+static int fluidbake_breakjob(void *customdata)
{
- //FluidBakeJob *fb= (FluidBakeJob *)customdata;
- //return *(fb->stop);
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
+
+ if(fb->stop && *(fb->stop))
+ return 1;
/* this is not nice yet, need to make the jobs list template better
* for identifying/acting upon various different jobs */
@@ -740,7 +737,7 @@ static int fluidbake_breakjob(void *UNUSED(customdata))
/* called by fluidbake, wmJob sends notifier */
static void fluidbake_updatejob(void *customdata, float progress)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
*(fb->do_update)= 1;
*(fb->progress)= progress;
@@ -748,7 +745,7 @@ static void fluidbake_updatejob(void *customdata, float progress)
static void fluidbake_startjob(void *customdata, short *stop, short *do_update, float *progress)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
fb->stop= stop;
fb->do_update = do_update;
@@ -763,7 +760,7 @@ static void fluidbake_startjob(void *customdata, short *stop, short *do_update,
static void fluidbake_endjob(void *customdata)
{
- FluidBakeJob *fb= customdata;
+ FluidBakeJob *fb= (FluidBakeJob *)customdata;
if (fb->settings) {
MEM_freeN(fb->settings);
@@ -809,6 +806,44 @@ static void fluidbake_free_data(FluidAnimChannels *channels, ListBase *fobjects,
}
}
+/* copied from rna_fluidsim.c: fluidsim_find_lastframe() */
+static void fluidsim_delete_until_lastframe(FluidsimSettings *fss)
+{
+ char targetDir[FILE_MAXFILE+FILE_MAXDIR], targetFile[FILE_MAXFILE+FILE_MAXDIR];
+ char targetDirVel[FILE_MAXFILE+FILE_MAXDIR], targetFileVel[FILE_MAXFILE+FILE_MAXDIR];
+ char previewDir[FILE_MAXFILE+FILE_MAXDIR], previewFile[FILE_MAXFILE+FILE_MAXDIR];
+ int curFrame = 1, exists = 0;
+
+ BLI_snprintf(targetDir, sizeof(targetDir), "%sfluidsurface_final_####.bobj.gz", fss->surfdataPath);
+ BLI_snprintf(targetDirVel, sizeof(targetDir), "%sfluidsurface_final_####.bvel.gz", fss->surfdataPath);
+ BLI_snprintf(previewDir, sizeof(targetDir), "%sfluidsurface_preview_####.bobj.gz", fss->surfdataPath);
+
+ BLI_path_abs(targetDir, G.main->name);
+ BLI_path_abs(targetDirVel, G.main->name);
+ BLI_path_abs(previewDir, G.main->name);
+
+ do {
+ BLI_strncpy(targetFile, targetDir, sizeof(targetFile));
+ BLI_strncpy(targetFileVel, targetDirVel, sizeof(targetFileVel));
+ BLI_strncpy(previewFile, previewDir, sizeof(previewFile));
+
+ BLI_path_frame(targetFile, curFrame, 0);
+ BLI_path_frame(targetFileVel, curFrame, 0);
+ BLI_path_frame(previewFile, curFrame, 0);
+
+ curFrame++;
+
+ if((exists = BLI_exist(targetFile)))
+ {
+ BLI_delete(targetFile, 0, 0);
+ BLI_delete(targetFileVel, 0, 0);
+ BLI_delete(previewFile, 0, 0);
+ }
+ } while(exists);
+
+ return;
+}
+
static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
{
Scene *scene= CTX_data_scene(C);
@@ -847,7 +882,7 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
if(getenv(strEnvName)) {
int dlevel = atoi(getenv(strEnvName));
elbeemSetDebugLevel(dlevel);
- snprintf(debugStrBuffer,256,"fluidsimBake::msg: Debug messages activated due to envvar '%s'\n",strEnvName);
+ BLI_snprintf(debugStrBuffer,256,"fluidsimBake::msg: Debug messages activated due to envvar '%s'\n",strEnvName);
elbeemDebugOut(debugStrBuffer);
}
@@ -878,10 +913,13 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
// reset last valid frame
domainSettings->lastgoodframe = -1;
+
+ /* delete old baked files */
+ fluidsim_delete_until_lastframe(domainSettings);
/* rough check of settings... */
if(domainSettings->previewresxyz > domainSettings->resolutionxyz) {
- snprintf(debugStrBuffer,256,"fluidsimBake::warning - Preview (%d) >= Resolution (%d)... setting equal.\n", domainSettings->previewresxyz , domainSettings->resolutionxyz);
+ BLI_snprintf(debugStrBuffer,256,"fluidsimBake::warning - Preview (%d) >= Resolution (%d)... setting equal.\n", domainSettings->previewresxyz , domainSettings->resolutionxyz);
elbeemDebugOut(debugStrBuffer);
domainSettings->previewresxyz = domainSettings->resolutionxyz;
}
@@ -901,7 +939,7 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
} else {
gridlevels = domainSettings->maxRefine;
}
- snprintf(debugStrBuffer,256,"fluidsimBake::msg: Baking %s, refine: %d\n", fsDomain->id.name , gridlevels );
+ BLI_snprintf(debugStrBuffer,256,"fluidsimBake::msg: Baking %s, refine: %d\n", fsDomain->id.name , gridlevels );
elbeemDebugOut(debugStrBuffer);
@@ -953,7 +991,7 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
/* ******** init domain object's matrix ******** */
copy_m4_m4(domainMat, fsDomain->obmat);
if(!invert_m4_m4(invDomMat, domainMat)) {
- snprintf(debugStrBuffer,256,"fluidsimBake::error - Invalid obj matrix?\n");
+ BLI_snprintf(debugStrBuffer,256,"fluidsimBake::error - Invalid obj matrix?\n");
elbeemDebugOut(debugStrBuffer);
BKE_report(reports, RPT_ERROR, "Invalid object matrix.");
@@ -1018,6 +1056,13 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
else if (domainSettings->typeFlags&OB_FSBND_PARTSLIP) fsset->domainobsType = FLUIDSIM_OBSTACLE_PARTSLIP;
else if (domainSettings->typeFlags&OB_FSBND_FREESLIP) fsset->domainobsType = FLUIDSIM_OBSTACLE_FREESLIP;
fsset->domainobsPartslip = domainSettings->partSlipValue;
+
+ /* use domainobsType also for surface generation flag (bit: >=64) */
+ if(domainSettings->typeFlags & OB_FSSG_NOOBS)
+ fsset->mFsSurfGenSetting = FLUIDSIM_FSSG_NOOBS;
+ else
+ fsset->mFsSurfGenSetting = 0; // "normal" mode
+
fsset->generateVertexVectors = (domainSettings->domainNovecgen==0);
// init blender domain transform matrix
diff --git a/source/blender/editors/physics/physics_pointcache.c b/source/blender/editors/physics/physics_pointcache.c
index 797ead3cd90..34f4a1e472b 100644
--- a/source/blender/editors/physics/physics_pointcache.c
+++ b/source/blender/editors/physics/physics_pointcache.c
@@ -172,7 +172,6 @@ void PTCACHE_OT_free_bake_all(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Free All Physics Bakes";
- ot->name= "Free all physics bakes";
ot->idname= "PTCACHE_OT_free_bake_all";
/* api callbacks */
diff --git a/source/blender/editors/render/CMakeLists.txt b/source/blender/editors/render/CMakeLists.txt
index c3bb6f457a2..cf6c4290ee0 100644
--- a/source/blender/editors/render/CMakeLists.txt
+++ b/source/blender/editors/render/CMakeLists.txt
@@ -51,8 +51,12 @@ set(SRC
)
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../../quicktime)
- list(APPEND INC_SYS ${QUICKTIME_INC})
+ list(APPEND INC
+ ../../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
@@ -60,4 +64,8 @@ if(WITH_OPENMP)
add_definitions(-DPARALLEL=1)
endif()
+if(WITH_HEADLESS)
+ add_definitions(-DWITH_HEADLESS)
+endif()
+
blender_add_lib(bf_editor_render "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/render/SConscript b/source/blender/editors/render/SConscript
index 2b9737557cd..53418500ea6 100644
--- a/source/blender/editors/render/SConscript
+++ b/source/blender/editors/render/SConscript
@@ -9,7 +9,7 @@ incs += ' ../../gpu'
incs += ' ../../makesrna ../../render/extern/include #/intern/elbeem/extern'
incs += ' ../../blenloader'
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c
index 6191ec9c035..42a163d3da5 100644
--- a/source/blender/editors/render/render_internal.c
+++ b/source/blender/editors/render/render_internal.c
@@ -189,11 +189,6 @@ void image_buffer_rect_update(Scene *scene, RenderResult *rr, ImBuf *ibuf, volat
/* set callbacks, exported to sequence render too.
Only call in foreground (UI) renders. */
-static void render_error_reports(void *reports, const char *str)
-{
- BKE_report(reports, RPT_ERROR, str);
-}
-
/* executes blocking render */
static int screen_render_exec(bContext *C, wmOperator *op)
{
@@ -214,7 +209,6 @@ static int screen_render_exec(bContext *C, wmOperator *op)
G.afbreek= 0;
RE_test_break_cb(re, NULL, (int (*)(void *)) blender_test_break);
- RE_error_cb(re, op->reports, render_error_reports);
ima= BKE_image_verify_viewer(IMA_TYPE_R_RESULT, "Render Result");
BKE_image_signal(ima, NULL, IMA_SIGNAL_FREE);
@@ -226,11 +220,15 @@ static int screen_render_exec(bContext *C, wmOperator *op)
since sequence rendering can call that recursively... (peter) */
seq_stripelem_cache_cleanup();
+ RE_SetReports(re, op->reports);
+
if(is_animation)
- RE_BlenderAnim(re, mainp, scene, camera_override, lay, scene->r.sfra, scene->r.efra, scene->r.frame_step, op->reports);
+ RE_BlenderAnim(re, mainp, scene, camera_override, lay, scene->r.sfra, scene->r.efra, scene->r.frame_step);
else
RE_BlenderFrame(re, mainp, scene, NULL, camera_override, lay, scene->r.cfra, is_write_still);
+ RE_SetReports(re, NULL);
+
// no redraw needed, we leave state as we entered it
ED_update_for_newframe(mainp, scene, CTX_wm_screen(C), 1);
@@ -302,6 +300,9 @@ static void make_renderinfo_string(RenderStats *rs, Scene *scene, char *str)
BLI_timestr(rs->lastframetime, info_time_str);
spos+= sprintf(spos, "Time:%s ", info_time_str);
+ if(rs->curfsa)
+ spos+= sprintf(spos, "| Full Sample %d ", rs->curfsa);
+
if(rs->infostr && rs->infostr[0])
spos+= sprintf(spos, "| %s ", rs->infostr);
@@ -371,10 +372,14 @@ static void render_startjob(void *rjv, short *stop, short *do_update, float *pro
rj->do_update= do_update;
rj->progress= progress;
+ RE_SetReports(rj->re, rj->reports);
+
if(rj->anim)
- RE_BlenderAnim(rj->re, rj->main, rj->scene, rj->camera_override, rj->lay, rj->scene->r.sfra, rj->scene->r.efra, rj->scene->r.frame_step, rj->reports);
+ RE_BlenderAnim(rj->re, rj->main, rj->scene, rj->camera_override, rj->lay, rj->scene->r.sfra, rj->scene->r.efra, rj->scene->r.frame_step);
else
RE_BlenderFrame(rj->re, rj->main, rj->scene, rj->srl, rj->camera_override, rj->lay, rj->scene->r.cfra, rj->write_still);
+
+ RE_SetReports(rj->re, NULL);
}
static void render_endjob(void *rjv)
@@ -467,7 +472,7 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event)
if(WM_jobs_test(CTX_wm_manager(C), scene))
return OPERATOR_CANCELLED;
- if(!RE_is_rendering_allowed(scene, camera_override, op->reports, render_error_reports)) {
+ if(!RE_is_rendering_allowed(scene, camera_override, op->reports)) {
return OPERATOR_CANCELLED;
}
@@ -575,8 +580,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event)
rj->re= re;
G.afbreek= 0;
- RE_error_cb(re, op->reports, render_error_reports);
-
WM_jobs_start(CTX_wm_manager(C), steve);
WM_cursor_wait(0);
@@ -593,7 +596,6 @@ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
-
/* contextual render, using current scene, view3d? */
void RENDER_OT_render(wmOperatorType *ot)
{
diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c
index 98463ce955f..3256112426b 100644
--- a/source/blender/editors/render/render_opengl.c
+++ b/source/blender/editors/render/render_opengl.c
@@ -220,6 +220,11 @@ static void screen_opengl_render_apply(OGLRender *oglrender)
if(oglrender->write_still) {
char name[FILE_MAX];
int ok;
+
+ if(scene->r.planes == 8) {
+ IMB_color_to_bw(ibuf);
+ }
+
BKE_makepicstring(name, scene->r.pic, scene->r.cfra, scene->r.imtype, scene->r.scemode & R_EXTENSION, FALSE);
ok= BKE_write_ibuf(ibuf, name, scene->r.imtype, scene->r.subimtype, scene->r.quality); /* no need to stamp here */
if(ok) printf("OpenGL Render written to '%s'\n", name);
@@ -433,6 +438,24 @@ static int screen_opengl_render_anim_step(bContext *C, wmOperator *op)
ibuf= BKE_image_acquire_ibuf(oglrender->ima, &oglrender->iuser, &lock);
if(ibuf) {
+ /* color -> greyscale */
+ /* editing directly would alter the render view */
+ if(scene->r.planes == 8) {
+ ImBuf *ibuf_bw= IMB_dupImBuf(ibuf);
+ IMB_color_to_bw(ibuf_bw);
+ // IMB_freeImBuf(ibuf); /* owned by the image */
+ ibuf= ibuf_bw;
+ }
+ else {
+ /* this is lightweight & doesnt re-alloc the buffers, only do this
+ * to save the correct bit depth since the image is always RGBA */
+ ImBuf *ibuf_cpy= IMB_allocImBuf(ibuf->x, ibuf->y, scene->r.planes, 0);
+ ibuf_cpy->rect= ibuf->rect;
+ ibuf_cpy->rect_float= ibuf->rect_float;
+ ibuf_cpy->zbuf_float= ibuf->zbuf_float;
+ ibuf= ibuf_cpy;
+ }
+
if(BKE_imtype_is_movie(scene->r.imtype)) {
ok= oglrender->mh->append_movie(&scene->r, CFRA, (int*)ibuf->rect, oglrender->sizex, oglrender->sizey, oglrender->reports);
if(ok) {
@@ -453,6 +476,9 @@ static int screen_opengl_render_anim_step(bContext *C, wmOperator *op)
BKE_reportf(op->reports, RPT_INFO, "Saved file: %s", name);
}
}
+
+ /* imbuf knows which rects are not part of ibuf */
+ IMB_freeImBuf(ibuf);
}
BKE_image_release_ibuf(oglrender->ima, lock);
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 2404805c17b..b937f9a4104 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -64,6 +64,7 @@
#include "DNA_brush_types.h"
#include "DNA_screen_types.h"
+#include "BKE_brush.h"
#include "BKE_context.h"
#include "BKE_depsgraph.h"
#include "BKE_global.h"
@@ -171,6 +172,7 @@ static Main *pr_main= NULL;
void ED_preview_init_dbase(void)
{
+#ifndef WITH_HEADLESS
BlendFileData *bfd;
extern int datatoc_preview_blend_size;
extern char datatoc_preview_blend[];
@@ -184,6 +186,7 @@ void ED_preview_init_dbase(void)
MEM_freeN(bfd);
}
G.fileflags= fileflags;
+#endif
}
void ED_preview_free_dbase(void)
diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c
index fdd53d27b02..1b24d660411 100644
--- a/source/blender/editors/render/render_shading.c
+++ b/source/blender/editors/render/render_shading.c
@@ -85,6 +85,8 @@
#include "UI_interface.h"
+#include "RE_pipeline.h"
+
#include "render_intern.h" // own include
/********************** material slot operators *********************/
@@ -108,7 +110,7 @@ void OBJECT_OT_material_slot_add(wmOperatorType *ot)
/* identifiers */
ot->name= "Add Material Slot";
ot->idname= "OBJECT_OT_material_slot_add";
- ot->description="Add a new material slot or duplicate the selected one";
+ ot->description="Add a new material slot";
/* api callbacks */
ot->exec= material_slot_add_exec;
@@ -661,60 +663,21 @@ void TEXTURE_OT_slot_move(wmOperatorType *ot)
/********************** environment map operators *********************/
-static int save_envmap(wmOperator *op, Scene *scene, EnvMap *env, char *str, int imtype)
+static int save_envmap(wmOperator *op, Scene *scene, EnvMap *env, char *path, int imtype)
{
- ImBuf *ibuf=NULL;
- int dx;
- int retval;
- int relative= (RNA_struct_find_property(op->ptr, "relative_path") && RNA_boolean_get(op->ptr, "relative_path"));
-
- if(env->cube[1]==NULL) {
- BKE_report(op->reports, RPT_ERROR, "There is no generated environment map available to save");
- return OPERATOR_CANCELLED;
- }
-
- dx= env->cube[1]->x;
-
- if (env->type == ENV_CUBE) {
- ibuf = IMB_allocImBuf(3*dx, 2*dx, 24, IB_rectfloat);
-
- IMB_rectcpy(ibuf, env->cube[0], 0, 0, 0, 0, dx, dx);
- IMB_rectcpy(ibuf, env->cube[1], dx, 0, 0, 0, dx, dx);
- IMB_rectcpy(ibuf, env->cube[2], 2*dx, 0, 0, 0, dx, dx);
- IMB_rectcpy(ibuf, env->cube[3], 0, dx, 0, 0, dx, dx);
- IMB_rectcpy(ibuf, env->cube[4], dx, dx, 0, 0, dx, dx);
- IMB_rectcpy(ibuf, env->cube[5], 2*dx, dx, 0, 0, dx, dx);
- }
- else if (env->type == ENV_PLANE) {
- ibuf = IMB_allocImBuf(dx, dx, 24, IB_rectfloat);
- IMB_rectcpy(ibuf, env->cube[1], 0, 0, 0, 0, dx, dx);
+ float layout[12];
+ if ( RNA_struct_find_property(op->ptr, "layout") )
+ RNA_float_get_array(op->ptr, "layout",layout);
+ else
+ memcpy(layout, default_envmap_layout, sizeof(layout));
+
+ if (RE_WriteEnvmapResult(op->reports, scene, env, path, imtype, layout)) {
+ return OPERATOR_FINISHED;
}
else {
- BKE_report(op->reports, RPT_ERROR, "Invalid environment map type");
return OPERATOR_CANCELLED;
}
-
- if (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)
- ibuf->profile = IB_PROFILE_LINEAR_RGB;
-
- /* to save, we first get absolute path */
- BLI_path_abs(str, G.main->name);
-
- if (BKE_write_ibuf(ibuf, str, imtype, scene->r.subimtype, scene->r.quality)) {
- retval = OPERATOR_FINISHED;
- }
- else {
- BKE_reportf(op->reports, RPT_ERROR, "Error saving environment map to %s.", str);
- retval = OPERATOR_CANCELLED;
- }
- /* in case we were saving with relative paths, change back again */
- if(relative)
- BLI_path_rel(str, G.main->name);
-
- IMB_freeImBuf(ibuf);
- ibuf = NULL;
-
- return retval;
+
}
static int envmap_save_exec(bContext *C, wmOperator *op)
@@ -753,7 +716,6 @@ static int envmap_save_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event
return envmap_save_exec(C, op);
//RNA_enum_set(op->ptr, "file_type", scene->r.imtype);
-
RNA_string_set(op->ptr, "filepath", G.main->name);
WM_event_add_fileselect(C, op);
@@ -776,6 +738,7 @@ static int envmap_save_poll(bContext *C)
void TEXTURE_OT_envmap_save(wmOperatorType *ot)
{
+ PropertyRNA *prop;
/* identifiers */
ot->name= "Save Environment Map";
ot->idname= "TEXTURE_OT_envmap_save";
@@ -787,11 +750,13 @@ void TEXTURE_OT_envmap_save(wmOperatorType *ot)
ot->poll= envmap_save_poll;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER; /* no undo since this doesnt modify the env-map */
/* properties */
- //RNA_def_enum(ot->srna, "file_type", image_file_type_items, R_PNG, "File Type", "File type to save image as.");
- WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
+ prop= RNA_def_float_array(ot->srna, "layout", 12, default_envmap_layout, 0.0f, 0.0f, "File layout", "Flat array describing the X,Y position of each cube face in the output image, where 1 is the size of a face. Order is [+Z -Z +Y -X -Y +X]. Use -1 to skip a face.", 0.0f, 0.0f);
+ RNA_def_property_flag(prop, PROP_HIDDEN);
+
+ WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH);
}
static int envmap_clear_exec(bContext *C, wmOperator *UNUSED(op))
@@ -875,8 +840,6 @@ static int copy_material_exec(bContext *C, wmOperator *UNUSED(op))
copy_matcopybuf(ma);
- WM_event_add_notifier(C, NC_MATERIAL, ma);
-
return OPERATOR_FINISHED;
}
@@ -891,7 +854,7 @@ void MATERIAL_OT_copy(wmOperatorType *ot)
ot->exec= copy_material_exec;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER; /* no undo needed since no changes are made to the material */
}
static int paste_material_exec(bContext *C, wmOperator *UNUSED(op))
@@ -1015,8 +978,6 @@ static int copy_mtex_exec(bContext *C, wmOperator *UNUSED(op))
copy_mtex_copybuf(id);
- WM_event_add_notifier(C, NC_TEXTURE, NULL);
-
return OPERATOR_FINISHED;
}
@@ -1039,7 +1000,7 @@ void TEXTURE_OT_slot_copy(wmOperatorType *ot)
ot->poll= copy_mtex_poll;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER; /* no undo needed since no changes are made to the mtex */
}
static int paste_mtex_exec(bContext *C, wmOperator *UNUSED(op))
diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c
index 98f42fe97c1..85e1eb016d7 100644
--- a/source/blender/editors/render/render_update.c
+++ b/source/blender/editors/render/render_update.c
@@ -24,7 +24,7 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/editors/render/render_shading.c
+/** \file blender/editors/render/render_update.c
* \ingroup edrend
*/
@@ -58,6 +58,7 @@
#include "GPU_material.h"
+#include "ED_node.h"
#include "ED_render.h"
#include "render_intern.h" // own include
@@ -115,6 +116,8 @@ static void texture_changed(Main *bmain, Tex *tex)
Material *ma;
Lamp *la;
World *wo;
+ Scene *scene;
+ bNode *node;
/* icons */
BKE_icon_changed(BKE_icon_getid(&tex->id));
@@ -146,6 +149,16 @@ static void texture_changed(Main *bmain, Tex *tex)
BKE_icon_changed(BKE_icon_getid(&wo->id));
}
+
+ /* find compositing nodes */
+ for(scene=bmain->scene.first; scene; scene=scene->id.next) {
+ if(scene->use_nodes && scene->nodetree) {
+ for(node=scene->nodetree->nodes.first; node; node=node->next) {
+ if(node->id == &tex->id)
+ ED_node_changed_update(&scene->id, node);
+ }
+ }
+ }
}
static void lamp_changed(Main *bmain, Lamp *la)
diff --git a/source/blender/editors/screen/CMakeLists.txt b/source/blender/editors/screen/CMakeLists.txt
index 54341257692..4282110901b 100644
--- a/source/blender/editors/screen/CMakeLists.txt
+++ b/source/blender/editors/screen/CMakeLists.txt
@@ -23,8 +23,8 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
diff --git a/source/blender/editors/screen/SConscript b/source/blender/editors/screen/SConscript
index 61f3429521d..1381c820224 100644
--- a/source/blender/editors/screen/SConscript
+++ b/source/blender/editors/screen/SConscript
@@ -10,7 +10,7 @@ incs += ' #/intern/guardedalloc #/extern/glew/include'
defs = ''
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index 4d531e78ec0..bc97cd9d3ff 100644
--- a/source/blender/editors/screen/area.c
+++ b/source/blender/editors/screen/area.c
@@ -188,17 +188,12 @@ static void area_draw_azone(short x1, short y1, short x2, short y2)
}
-static void region_draw_azone(AZone *az)
+static void region_draw_azone_icon(AZone *az)
{
GLUquadricObj *qobj = NULL;
short midx = az->x1 + (az->x2 - az->x1)/2;
short midy = az->y1 + (az->y2 - az->y1)/2;
-
- if(az->ar==NULL) return;
-
- /* only display action zone icons when the region is hidden */
- if (!(az->ar->flag & RGN_FLAG_HIDDEN)) return;
-
+
qobj = gluNewQuadric();
glPushMatrix();
@@ -227,6 +222,79 @@ static void region_draw_azone(AZone *az)
sdrawline(midx-2, midy, midx+3, midy);
}
+static void region_draw_azone_tab(AZone *az)
+{
+ float col[3];
+
+ glEnable(GL_BLEND);
+ UI_GetThemeColor3fv(TH_HEADER, col);
+ glColor4f(col[0], col[1], col[2], 0.5f);
+
+ /* add code to draw region hidden as 'too small' */
+ switch(az->edge) {
+ case AE_TOP_TO_BOTTOMRIGHT:
+ uiSetRoundBox(3 + 16);
+
+ uiDrawBoxShade(GL_POLYGON, (float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f, -0.3f, 0.05f);
+ glColor4ub(0, 0, 0, 255);
+ uiRoundRect((float)az->x1, 0.3f+(float)az->y1, (float)az->x2, 0.3f+(float)az->y2, 4.0f);
+ break;
+ case AE_BOTTOM_TO_TOPLEFT:
+ uiSetRoundBox(12 + 16);
+
+ uiDrawBoxShade(GL_POLYGON, (float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f, -0.3f, 0.05f);
+ glColor4ub(0, 0, 0, 255);
+ uiRoundRect((float)az->x1, 0.3f+(float)az->y1, (float)az->x2, 0.3f+(float)az->y2, 4.0f);
+ break;
+ case AE_LEFT_TO_TOPRIGHT:
+ uiSetRoundBox(9 + 16);
+
+ uiDrawBoxShade(GL_POLYGON, (float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f, -0.3f, 0.05f);
+ glColor4ub(0, 0, 0, 255);
+ uiRoundRect((float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f);
+ break;
+ case AE_RIGHT_TO_TOPLEFT:
+ uiSetRoundBox(6 + 16);
+
+ uiDrawBoxShade(GL_POLYGON, (float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f, -0.3f, 0.05f);
+ glColor4ub(0, 0, 0, 255);
+ uiRoundRect((float)az->x1, (float)az->y1, (float)az->x2, (float)az->y2, 4.0f);
+ break;
+ }
+
+ glDisable(GL_BLEND);
+}
+
+static void region_draw_azone_tria(AZone *az)
+{
+ extern void ui_draw_anti_tria(float x1, float y1, float x2, float y2, float x3, float y3); /* xxx temp */
+
+ glEnable(GL_BLEND);
+ //UI_GetThemeColor3fv(TH_HEADER, col);
+ glColor4f(0.0f, 0.0f, 0.0f, 0.35f);
+
+ /* add code to draw region hidden as 'too small' */
+ switch(az->edge) {
+ case AE_TOP_TO_BOTTOMRIGHT:
+ ui_draw_anti_tria((float)az->x1, (float)az->y1, (float)az->x2, (float)az->y1, (float)(az->x1+az->x2)/2, (float)az->y2);
+ break;
+
+ case AE_BOTTOM_TO_TOPLEFT:
+ ui_draw_anti_tria((float)az->x1, (float)az->y2, (float)az->x2, (float)az->y2, (float)(az->x1+az->x2)/2, (float)az->y1);
+ break;
+
+ case AE_LEFT_TO_TOPRIGHT:
+ ui_draw_anti_tria((float)az->x2, (float)az->y1, (float)az->x2, (float)az->y2, (float)az->x1, (float)(az->y1+az->y2)/2);
+ break;
+
+ case AE_RIGHT_TO_TOPLEFT:
+ ui_draw_anti_tria((float)az->x1, (float)az->y1, (float)az->x1, (float)az->y2, (float)az->x2, (float)(az->y1+az->y2)/2);
+ break;
+
+ }
+
+ glDisable(GL_BLEND);
+}
/* only exported for WM */
void ED_area_overdraw(bContext *C)
@@ -248,7 +316,19 @@ void ED_area_overdraw(bContext *C)
if(az->type==AZONE_AREA) {
area_draw_azone(az->x1, az->y1, az->x2, az->y2);
} else if(az->type==AZONE_REGION) {
- region_draw_azone(az);
+
+ if(az->ar) {
+ /* only display tab or icons when the region is hidden */
+ if (az->ar->flag & (RGN_FLAG_HIDDEN|RGN_FLAG_TOO_SMALL)) {
+
+ if(G.rt==2)
+ region_draw_azone_tria(az);
+ else if(G.rt==1)
+ region_draw_azone_tab(az);
+ else
+ region_draw_azone_icon(az);
+ }
+ }
}
az->do_draw= 0;
@@ -579,6 +659,96 @@ static void region_azone_icon(ScrArea *sa, AZone *az, ARegion *ar)
}
}
+#define AZONEPAD_TABW 18
+#define AZONEPAD_TABH 7
+
+/* region already made zero sized, in shape of edge */
+static void region_azone_tab(ScrArea *sa, AZone *az, ARegion *ar)
+{
+ AZone *azt;
+ int tot= 0, add;
+
+ for(azt= sa->actionzones.first; azt; azt= azt->next) {
+ if(azt->edge == az->edge) tot++;
+ }
+
+ switch(az->edge) {
+ case AE_TOP_TO_BOTTOMRIGHT:
+ if(ar->winrct.ymax == sa->totrct.ymin) add= 1; else add= 0;
+ az->x1= ar->winrct.xmax - 2*AZONEPAD_TABW;
+ az->y1= ar->winrct.ymax - add;
+ az->x2= ar->winrct.xmax - AZONEPAD_TABW;
+ az->y2= ar->winrct.ymax - add + AZONEPAD_TABH;
+ break;
+ case AE_BOTTOM_TO_TOPLEFT:
+ az->x1= ar->winrct.xmin + AZONEPAD_TABW;
+ az->y1= ar->winrct.ymin - AZONEPAD_TABH;
+ az->x2= ar->winrct.xmin + 2*AZONEPAD_TABW;
+ az->y2= ar->winrct.ymin;
+ break;
+ case AE_LEFT_TO_TOPRIGHT:
+ az->x1= ar->winrct.xmin + 1 - AZONEPAD_TABH;
+ az->y1= ar->winrct.ymax - 2*AZONEPAD_TABW;
+ az->x2= ar->winrct.xmin + 1;
+ az->y2= ar->winrct.ymax - AZONEPAD_TABW;
+ break;
+ case AE_RIGHT_TO_TOPLEFT:
+ az->x1= ar->winrct.xmax - 1;
+ az->y1= ar->winrct.ymax - 2*AZONEPAD_TABW;
+ az->x2= ar->winrct.xmax - 1 + AZONEPAD_TABH;
+ az->y2= ar->winrct.ymax - AZONEPAD_TABW;
+ break;
+ }
+ /* rect needed for mouse pointer test */
+ BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2);
+}
+
+#define AZONEPAD_TRIAW 16
+#define AZONEPAD_TRIAH 9
+
+
+/* region already made zero sized, in shape of edge */
+static void region_azone_tria(ScrArea *sa, AZone *az, ARegion *ar)
+{
+ AZone *azt;
+ int tot= 0, add;
+
+ for(azt= sa->actionzones.first; azt; azt= azt->next) {
+ if(azt->edge == az->edge) tot++;
+ }
+
+ switch(az->edge) {
+ case AE_TOP_TO_BOTTOMRIGHT:
+ if(ar->winrct.ymax == sa->totrct.ymin) add= 1; else add= 0;
+ az->x1= ar->winrct.xmax - 2*AZONEPAD_TRIAW;
+ az->y1= ar->winrct.ymax - add;
+ az->x2= ar->winrct.xmax - AZONEPAD_TRIAW;
+ az->y2= ar->winrct.ymax - add + AZONEPAD_TRIAH;
+ break;
+ case AE_BOTTOM_TO_TOPLEFT:
+ az->x1= ar->winrct.xmin + AZONEPAD_TRIAW;
+ az->y1= ar->winrct.ymin - AZONEPAD_TRIAH;
+ az->x2= ar->winrct.xmin + 2*AZONEPAD_TRIAW;
+ az->y2= ar->winrct.ymin;
+ break;
+ case AE_LEFT_TO_TOPRIGHT:
+ az->x1= ar->winrct.xmin + 1 - AZONEPAD_TRIAH;
+ az->y1= ar->winrct.ymax - 2*AZONEPAD_TRIAW;
+ az->x2= ar->winrct.xmin + 1;
+ az->y2= ar->winrct.ymax - AZONEPAD_TRIAW;
+ break;
+ case AE_RIGHT_TO_TOPLEFT:
+ az->x1= ar->winrct.xmax - 1;
+ az->y1= ar->winrct.ymax - 2*AZONEPAD_TRIAW;
+ az->x2= ar->winrct.xmax - 1 + AZONEPAD_TRIAH;
+ az->y2= ar->winrct.ymax - AZONEPAD_TRIAW;
+ break;
+ }
+ /* rect needed for mouse pointer test */
+ BLI_init_rcti(&az->rect, az->x1, az->x2, az->y1, az->y2);
+}
+
+
static void region_azone_initialize(ScrArea *sa, ARegion *ar, AZEdge edge)
{
AZone *az;
@@ -589,8 +759,13 @@ static void region_azone_initialize(ScrArea *sa, ARegion *ar, AZEdge edge)
az->ar= ar;
az->edge= edge;
- if (ar->flag & RGN_FLAG_HIDDEN) {
- region_azone_icon(sa, az, ar);
+ if (ar->flag & (RGN_FLAG_HIDDEN|RGN_FLAG_TOO_SMALL)) {
+ if(G.rt==2)
+ region_azone_tria(sa, az, ar);
+ else if(G.rt==1)
+ region_azone_tab(sa, az, ar);
+ else
+ region_azone_icon(sa, az, ar);
} else {
region_azone_edge(az, ar);
}
@@ -790,15 +965,6 @@ static void region_rect_recursive(ScrArea *sa, ARegion *ar, rcti *remainder, int
ar->winx= ar->winrct.xmax - ar->winrct.xmin + 1;
ar->winy= ar->winrct.ymax - ar->winrct.ymin + 1;
- /* restore test exception */
- if(ar->alignment & RGN_SPLIT_PREV) {
- if(ar->prev) {
- remainder= remainder_prev;
- ar->prev->winx= ar->prev->winrct.xmax - ar->prev->winrct.xmin + 1;
- ar->prev->winy= ar->prev->winrct.ymax - ar->prev->winrct.ymin + 1;
- }
- }
-
/* set winrect for azones */
if(ar->flag & (RGN_FLAG_HIDDEN|RGN_FLAG_TOO_SMALL)) {
ar->winrct= *remainder;
@@ -814,12 +980,22 @@ static void region_rect_recursive(ScrArea *sa, ARegion *ar, rcti *remainder, int
else /* prevent winrct to be valid */
ar->winrct.xmax= ar->winrct.xmin;
}
+
+ /* restore prev-split exception */
+ if(ar->alignment & RGN_SPLIT_PREV) {
+ if(ar->prev) {
+ remainder= remainder_prev;
+ ar->prev->winx= ar->prev->winrct.xmax - ar->prev->winrct.xmin + 1;
+ ar->prev->winy= ar->prev->winrct.ymax - ar->prev->winrct.ymin + 1;
+ }
+ }
+
/* in end, add azones, where appropriate */
if(ar->regiontype == RGN_TYPE_HEADER && ar->winy + 6 > sa->winy) {
/* The logic for this is: when the header takes up the full area,
* disallow hiding it to view the main window.
*
- * Without this, uou can drag down the file selectors header and hide it
+ * Without this, you can drag down the file selectors header and hide it
* by accident very easily (highly annoying!), the value 6 is arbitrary
* but accounts for small common rounding problems when scaling the UI,
* must be minimum '4' */
@@ -833,7 +1009,7 @@ static void region_rect_recursive(ScrArea *sa, ARegion *ar, rcti *remainder, int
static void area_calc_totrct(ScrArea *sa, int sizex, int sizey)
{
- short rt= CLAMPIS(G.rt, 0, 16);
+ short rt= 0; // CLAMPIS(G.rt, 0, 16);
if(sa->v1->vec.x>0) sa->totrct.xmin= sa->v1->vec.x+1+rt;
else sa->totrct.xmin= sa->v1->vec.x;
@@ -1230,6 +1406,7 @@ int ED_area_header_switchbutton(const bContext *C, uiBlock *block, int yco)
"Displays current editor type. "
"Click for menu of available types");
uiButSetFunc(but, spacefunc, NULL, NULL);
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
return xco + UI_UNIT_X + 14;
}
@@ -1238,6 +1415,7 @@ int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco)
{
ScrArea *sa= CTX_wm_area(C);
int xco= 8;
+ uiBut *but;
if (!sa->full)
xco= ED_area_header_switchbutton(C, block, yco);
@@ -1245,20 +1423,22 @@ int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco)
uiBlockSetEmboss(block, UI_EMBOSSN);
if (sa->flag & HEADER_NO_PULLDOWN) {
- uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0,
+ but= uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0,
ICON_DISCLOSURE_TRI_RIGHT,
xco,yco,UI_UNIT_X,UI_UNIT_Y-2,
&(sa->flag), 0, 0, 0, 0,
"Show pulldown menus");
}
else {
- uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0,
+ but= uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0,
ICON_DISCLOSURE_TRI_DOWN,
xco,yco,UI_UNIT_X,UI_UNIT_Y-2,
&(sa->flag), 0, 0, 0, 0,
"Hide pulldown menus");
}
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
+
uiBlockSetEmboss(block, UI_EMBOSS);
return xco + UI_UNIT_X;
diff --git a/source/blender/editors/screen/glutil.c b/source/blender/editors/screen/glutil.c
index 2918c98c84a..f56ae17d366 100644
--- a/source/blender/editors/screen/glutil.c
+++ b/source/blender/editors/screen/glutil.c
@@ -92,6 +92,44 @@ GLubyte stipple_quarttone[128] = {
136,136,136,136,0,0,0,0,34,34,34,34,0,0,0,0};
+GLubyte stipple_diag_stripes_pos[128] = {
+ 0x00, 0xff, 0x00, 0xff, 0x01, 0xfe, 0x01, 0xfe,
+ 0x03, 0xfc, 0x03, 0xfc, 0x07, 0xf8, 0x07, 0xf8,
+ 0x0f, 0xf0, 0x0f, 0xf0, 0x1f, 0xe0, 0x1f, 0xe0,
+ 0x3f, 0xc0, 0x3f, 0xc0, 0x7f, 0x80, 0x7f, 0x80,
+ 0xff, 0x00, 0xff, 0x00, 0xfe, 0x01, 0xfe, 0x01,
+ 0xfc, 0x03, 0xfc, 0x03, 0xf8, 0x07, 0xf8, 0x07,
+ 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x1f, 0xe0, 0x1f,
+ 0xc0, 0x3f, 0xc0, 0x3f, 0x80, 0x7f, 0x80, 0x7f,
+ 0x00, 0xff, 0x00, 0xff, 0x01, 0xfe, 0x01, 0xfe,
+ 0x03, 0xfc, 0x03, 0xfc, 0x07, 0xf8, 0x07, 0xf8,
+ 0x0f, 0xf0, 0x0f, 0xf0, 0x1f, 0xe0, 0x1f, 0xe0,
+ 0x3f, 0xc0, 0x3f, 0xc0, 0x7f, 0x80, 0x7f, 0x80,
+ 0xff, 0x00, 0xff, 0x00, 0xfe, 0x01, 0xfe, 0x01,
+ 0xfc, 0x03, 0xfc, 0x03, 0xf8, 0x07, 0xf8, 0x07,
+ 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x1f, 0xe0, 0x1f,
+ 0xc0, 0x3f, 0xc0, 0x3f, 0x80, 0x7f, 0x80, 0x7f};
+
+
+GLubyte stipple_diag_stripes_neg[128] = {
+ 0xff, 0x00, 0xff, 0x00, 0xfe, 0x01, 0xfe, 0x01,
+ 0xfc, 0x03, 0xfc, 0x03, 0xf8, 0x07, 0xf8, 0x07,
+ 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x1f, 0xe0, 0x1f,
+ 0xc0, 0x3f, 0xc0, 0x3f, 0x80, 0x7f, 0x80, 0x7f,
+ 0x00, 0xff, 0x00, 0xff, 0x01, 0xfe, 0x01, 0xfe,
+ 0x03, 0xfc, 0x03, 0xfc, 0x07, 0xf8, 0x07, 0xf8,
+ 0x0f, 0xf0, 0x0f, 0xf0, 0x1f, 0xe0, 0x1f, 0xe0,
+ 0x3f, 0xc0, 0x3f, 0xc0, 0x7f, 0x80, 0x7f, 0x80,
+ 0xff, 0x00, 0xff, 0x00, 0xfe, 0x01, 0xfe, 0x01,
+ 0xfc, 0x03, 0xfc, 0x03, 0xf8, 0x07, 0xf8, 0x07,
+ 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x1f, 0xe0, 0x1f,
+ 0xc0, 0x3f, 0xc0, 0x3f, 0x80, 0x7f, 0x80, 0x7f,
+ 0x00, 0xff, 0x00, 0xff, 0x01, 0xfe, 0x01, 0xfe,
+ 0x03, 0xfc, 0x03, 0xfc, 0x07, 0xf8, 0x07, 0xf8,
+ 0x0f, 0xf0, 0x0f, 0xf0, 0x1f, 0xe0, 0x1f, 0xe0,
+ 0x3f, 0xc0, 0x3f, 0xc0, 0x7f, 0x80, 0x7f, 0x80};
+
+
void fdrawbezier(float vec[4][3])
{
float dist;
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 721ce823351..5e875e40f14 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -533,8 +533,7 @@ int screen_area_join(bContext *C, bScreen* scr, ScrArea *sa1, ScrArea *sa2)
dir = area_getorientation(sa1, sa2);
/*printf("dir is : %i \n", dir);*/
- if (dir < 0)
- {
+ if (dir < 0) {
if (sa1 ) sa1->flag &= ~AREA_FLAG_DRAWJOINFROM;
if (sa2 ) sa2->flag &= ~AREA_FLAG_DRAWJOINTO;
return 0;
@@ -910,7 +909,7 @@ static void drawscredge_area(ScrArea *sa, int sizex, int sizey, int center)
short y2= sa->v3->vec.y;
short a, rt;
- rt= CLAMPIS(G.rt, 0, 16);
+ rt= 0; // CLAMPIS(G.rt, 0, 16);
if(center==0) {
cpack(0x505050);
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index f016fb6822a..b199f54cde1 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -301,7 +301,7 @@ int ED_operator_object_active_editable(bContext *C)
int ED_operator_object_active_editable_mesh(bContext *C)
{
Object *ob = ED_object_active_context(C);
- return ((ob != NULL) && !(ob->id.lib) && !(ob->restrictflag & OB_RESTRICT_VIEW) && ob->type == OB_MESH);
+ return ((ob != NULL) && !(ob->id.lib) && !(ob->restrictflag & OB_RESTRICT_VIEW) && ob->type == OB_MESH && !(((ID *)ob->data)->lib));
}
int ED_operator_object_active_editable_font(bContext *C)
@@ -1544,8 +1544,7 @@ static int area_max_regionsize(ScrArea *sa, ARegion *scalear, AZEdge edge)
/* subtractwidth of regions on opposite side
* prevents dragging regions into other opposite regions */
- for (ar=sa->regionbase.first; ar; ar=ar->next)
- {
+ for (ar=sa->regionbase.first; ar; ar=ar->next) {
if (ar == scalear)
continue;
@@ -1703,7 +1702,7 @@ static int region_scale_modal(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
-int region_scale_cancel(bContext *UNUSED(C), wmOperator *op)
+static int region_scale_cancel(bContext *UNUSED(C), wmOperator *op)
{
MEM_freeN(op->customdata);
op->customdata = NULL;
@@ -1733,14 +1732,16 @@ static void SCREEN_OT_region_scale(wmOperatorType *ot)
/* function to be called outside UI context, or for redo */
static int frame_offset_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
+ Scene *scene= CTX_data_scene(C);
int delta;
delta = RNA_int_get(op->ptr, "delta");
- CTX_data_scene(C)->r.cfra += delta;
- CTX_data_scene(C)->r.subframe = 0.f;
+ scene->r.cfra += delta;
+ scene->r.subframe = 0.f;
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
WM_event_add_notifier(C, NC_SCENE|ND_FRAME, CTX_data_scene(C));
@@ -1765,6 +1766,7 @@ static void SCREEN_OT_frame_offset(wmOperatorType *ot)
/* function to be called outside UI context, or for redo */
static int frame_jump_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
wmTimer *animtimer= CTX_wm_screen(C)->animtimer;
@@ -1788,7 +1790,7 @@ static int frame_jump_exec(bContext *C, wmOperator *op)
else
CFRA= PSFRA;
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
WM_event_add_notifier(C, NC_SCENE|ND_FRAME, scene);
}
@@ -1817,6 +1819,7 @@ static void SCREEN_OT_frame_jump(wmOperatorType *ot)
/* function to be called outside UI context, or for redo */
static int keyframe_jump_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
Object *ob= CTX_data_active_object(C);
bDopeSheet ads= {NULL};
@@ -1871,7 +1874,7 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op)
/* free temp stuff */
BLI_dlrbTree_free(&keys);
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
WM_event_add_notifier(C, NC_SCENE|ND_FRAME, scene);
@@ -2021,12 +2024,12 @@ static void SCREEN_OT_screen_full_area(wmOperatorType *ot)
*/
typedef struct sAreaJoinData
- {
- ScrArea *sa1; /* first area to be considered */
- ScrArea *sa2; /* second area to be considered */
- ScrArea *scr; /* designed for removal */
-
- } sAreaJoinData;
+{
+ ScrArea *sa1; /* first area to be considered */
+ ScrArea *sa2; /* second area to be considered */
+ ScrArea *scr; /* designed for removal */
+
+} sAreaJoinData;
/* validate selection inside screen, set variables OK */
@@ -2461,13 +2464,7 @@ static void SCREEN_OT_repeat_history(wmOperatorType *ot)
static int redo_last_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *UNUSED(event))
{
- wmWindowManager *wm= CTX_wm_manager(C);
- wmOperator *lastop;
-
- /* only for operators that are registered and did an undo push */
- for(lastop= wm->operators.last; lastop; lastop= lastop->prev)
- if((lastop->type->flag & OPTYPE_REGISTER) && (lastop->type->flag & OPTYPE_UNDO))
- break;
+ wmOperator *lastop= WM_operator_last_redo(C);
if(lastop)
WM_operator_redo_popup(C, lastop);
@@ -2803,6 +2800,7 @@ static int screen_animation_step(bContext *C, wmOperator *UNUSED(op), wmEvent *e
bScreen *screen= CTX_wm_screen(C);
if(screen->animtimer && screen->animtimer==event->customdata) {
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
wmTimer *wt= screen->animtimer;
ScreenAnimData *sad= wt->customdata;
@@ -2879,7 +2877,7 @@ static int screen_animation_step(bContext *C, wmOperator *UNUSED(op), wmEvent *e
}
if (sad->flag & ANIMPLAY_FLAG_JUMPED)
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
/* since we follow drawflags, we can't send notifier but tag regions ourselves */
ED_update_for_newframe(CTX_data_main(C), scene, screen, 1);
@@ -3477,21 +3475,21 @@ void ED_keymap_screen(wmKeyConfig *keyconf)
keymap= WM_keymap_find(keyconf, "Frames", 0, 0);
/* frame offsets */
- RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", UPARROWKEY, KM_PRESS, 0, 0)->ptr, "delta", 10);
- RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", DOWNARROWKEY, KM_PRESS, 0, 0)->ptr, "delta", -10);
+ RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", UPARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "delta", 10);
+ RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", DOWNARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "delta", -10);
RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", LEFTARROWKEY, KM_PRESS, 0, 0)->ptr, "delta", -1);
RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", RIGHTARROWKEY, KM_PRESS, 0, 0)->ptr, "delta", 1);
RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", WHEELDOWNMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "delta", 1);
RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", WHEELUPMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "delta", -1);
- RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", UPARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "end", 1);
- RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", DOWNARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "end", 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", RIGHTARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "end", 1);
- RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", LEFTARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "end", 0);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", UPARROWKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "end", 1);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", DOWNARROWKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "end", 0);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", RIGHTARROWKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "end", 1);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", LEFTARROWKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "end", 0);
- WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", PAGEUPKEY, KM_PRESS, KM_CTRL, 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", PAGEDOWNKEY, KM_PRESS, KM_CTRL, 0)->ptr, "next", 0);
+ WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", UPARROWKEY, KM_PRESS, 0, 0);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", DOWNARROWKEY, KM_PRESS, 0, 0)->ptr, "next", 0);
WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", MEDIALAST, KM_PRESS, 0, 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", MEDIAFIRST, KM_PRESS, 0, 0)->ptr, "next", 0);
diff --git a/source/blender/editors/sculpt_paint/CMakeLists.txt b/source/blender/editors/sculpt_paint/CMakeLists.txt
index 6ecbc9c5eec..94e08a020f6 100644
--- a/source/blender/editors/sculpt_paint/CMakeLists.txt
+++ b/source/blender/editors/sculpt_paint/CMakeLists.txt
@@ -22,14 +22,14 @@
set(INC
../include
../../blenkernel
+ ../../blenlib
../../blenloader
- ../../imbuf
../../gpu
- ../../blenlib
+ ../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
)
diff --git a/source/blender/editors/sculpt_paint/SConscript b/source/blender/editors/sculpt_paint/SConscript
index 90b56ded2cd..b3927fcee68 100644
--- a/source/blender/editors/sculpt_paint/SConscript
+++ b/source/blender/editors/sculpt_paint/SConscript
@@ -10,7 +10,7 @@ incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
incs += ' ../../render/extern/include'
incs += ' ../../gpu ../../makesrna ../../blenloader'
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c
index cae5c14aa97..79a3251cdf1 100644
--- a/source/blender/editors/sculpt_paint/paint_image.c
+++ b/source/blender/editors/sculpt_paint/paint_image.c
@@ -60,6 +60,7 @@
#include "DNA_brush_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
+#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_texture_types.h"
@@ -512,7 +513,7 @@ static float VecZDepthOrtho(float pt[2], float v1[3], float v2[3], float v3[3],
return (v1[2]*w[0]) + (v2[2]*w[1]) + (v3[2]*w[2]);
}
-static float VecZDepthPersp(float pt[2], float v1[3], float v2[3], float v3[3], float w[3])
+static float VecZDepthPersp(float pt[2], float v1[4], float v2[4], float v3[4], float w[3])
{
float wtot_inv, wtot;
float w_tmp[3];
@@ -1174,25 +1175,6 @@ static void project_face_seams_init(const ProjPaintState *ps, const int face_ind
#endif // PROJ_DEBUG_NOSEAMBLEED
-/* TODO - move to math_geom.c */
-
-/* little sister we only need to know lambda */
-#ifndef PROJ_DEBUG_NOSEAMBLEED
-static float lambda_cp_line2(const float p[2], const float l1[2], const float l2[2])
-{
- float h[2], u[2];
-
- u[0] = l2[0] - l1[0];
- u[1] = l2[1] - l1[1];
-
- h[0] = p[0] - l1[0];
- h[1] = p[1] - l1[1];
-
- return(dot_v2v2(u, h)/dot_v2v2(u, u));
-}
-#endif // PROJ_DEBUG_NOSEAMBLEED
-
-
/* Converts a UV location to a 3D screenspace location
* Takes a 'uv' and 3 UV coords, and sets the values of pixelScreenCo
*
@@ -1212,7 +1194,7 @@ static void screen_px_from_ortho(
* the perspective W coord for each vert */
static void screen_px_from_persp(
float uv[2],
- float v1co[3], float v2co[3], float v3co[3], /* screenspace coords */
+ float v1co[4], float v2co[4], float v3co[4], /* screenspace coords */
float uv1co[2], float uv2co[2], float uv3co[2],
float pixelScreenCo[4],
float w[3])
@@ -2206,7 +2188,7 @@ static int IsectPoly2Df_twoside(const float pt[2], float uv[][2], const int tot)
/* One of the most important function for projectiopn painting, since it selects the pixels to be added into each bucket.
* initialize pixels from this face where it intersects with the bucket_index, optionally initialize pixels for removing seams */
-static void project_paint_face_init(const ProjPaintState *ps, const int thread_index, const int bucket_index, const int face_index, const int image_index, rctf *bucket_bounds, const ImBuf *ibuf)
+static void project_paint_face_init(const ProjPaintState *ps, const int thread_index, const int bucket_index, const int face_index, const int image_index, rctf *bucket_bounds, const ImBuf *ibuf, const short clamp_u, const short clamp_v)
{
/* Projection vars, to get the 3D locations into screen space */
MemArena *arena = ps->arena_mt[thread_index];
@@ -2323,14 +2305,24 @@ static void project_paint_face_init(const ProjPaintState *ps, const int thread_i
if (pixel_bounds_array(uv_clip, &bounds_px, ibuf->x, ibuf->y, uv_clip_tot)) {
-
+
+ if(clamp_u) {
+ CLAMP(bounds_px.xmin, 0, ibuf->x);
+ CLAMP(bounds_px.xmax, 0, ibuf->x);
+ }
+
+ if(clamp_v) {
+ CLAMP(bounds_px.ymin, 0, ibuf->y);
+ CLAMP(bounds_px.ymax, 0, ibuf->y);
+ }
+
/* clip face and */
has_isect = 0;
for (y = bounds_px.ymin; y < bounds_px.ymax; y++) {
//uv[1] = (((float)y) + 0.5f) / (float)ibuf->y;
uv[1] = (float)y / ibuf_yf; /* use pixel offset UV coords instead */
-
+
has_x_isect = 0;
for (x = bounds_px.xmin; x < bounds_px.xmax; x++) {
//uv[0] = (((float)x) + 0.5f) / ibuf->x;
@@ -2518,9 +2510,9 @@ static void project_paint_face_init(const ProjPaintState *ps, const int thread_i
*/
/* Since this is a seam we need to work out where on the line this pixel is */
- //fac = lambda_cp_line2(uv, uv_seam_quad[0], uv_seam_quad[1]);
+ //fac = line_point_factor_v2(uv, uv_seam_quad[0], uv_seam_quad[1]);
- fac = lambda_cp_line2(uv, seam_subsection[0], seam_subsection[1]);
+ fac = line_point_factor_v2(uv, seam_subsection[0], seam_subsection[1]);
if (fac < 0.0f) { VECCOPY(pixelScreenCo, edge_verts_inset_clip[0]); }
else if (fac > 1.0f) { VECCOPY(pixelScreenCo, edge_verts_inset_clip[1]); }
else { interp_v3_v3v3(pixelScreenCo, edge_verts_inset_clip[0], edge_verts_inset_clip[1], fac); }
@@ -2649,6 +2641,7 @@ static void project_bucket_init(const ProjPaintState *ps, const int thread_index
LinkNode *node;
int face_index, image_index=0;
ImBuf *ibuf = NULL;
+ Image *ima = NULL;
MTFace *tf;
Image *tpage_last = NULL;
@@ -2657,9 +2650,10 @@ static void project_bucket_init(const ProjPaintState *ps, const int thread_index
if (ps->image_tot==1) {
/* Simple loop, no context switching */
ibuf = ps->projImages[0].ibuf;
-
+ ima = ps->projImages[0].ima;
+
for (node = ps->bucketFaces[bucket_index]; node; node= node->next) {
- project_paint_face_init(ps, thread_index, bucket_index, GET_INT_FROM_POINTER(node->link), 0, bucket_bounds, ibuf);
+ project_paint_face_init(ps, thread_index, bucket_index, GET_INT_FROM_POINTER(node->link), 0, bucket_bounds, ibuf, ima->tpageflag & IMA_CLAMP_U, ima->tpageflag & IMA_CLAMP_V);
}
}
else {
@@ -2678,14 +2672,14 @@ static void project_bucket_init(const ProjPaintState *ps, const int thread_index
for (image_index=0; image_index < ps->image_tot; image_index++) {
if (ps->projImages[image_index].ima == tpage_last) {
ibuf = ps->projImages[image_index].ibuf;
+ ima = ps->projImages[image_index].ima;
break;
}
}
}
/* context switching done */
- project_paint_face_init(ps, thread_index, bucket_index, face_index, image_index, bucket_bounds, ibuf);
-
+ project_paint_face_init(ps, thread_index, bucket_index, face_index, image_index, bucket_bounds, ibuf, ima->tpageflag & IMA_CLAMP_U, ima->tpageflag & IMA_CLAMP_V);
}
}
@@ -4670,7 +4664,7 @@ static void paint_brush_init_tex(Brush *brush)
if(brush) {
MTex *mtex= &brush->mtex;
if(mtex->tex && mtex->tex->nodetree)
- ntreeBeginExecTree(mtex->tex->nodetree); /* has internal flag to detect it only does it once */
+ ntreeTexBeginExecTree(mtex->tex->nodetree, 1); /* has internal flag to detect it only does it once */
}
}
@@ -4812,7 +4806,7 @@ static void paint_brush_exit_tex(Brush *brush)
if(brush) {
MTex *mtex= &brush->mtex;
if(mtex->tex && mtex->tex->nodetree)
- ntreeEndExecTree(mtex->tex->nodetree);
+ ntreeTexEndExecTree(mtex->tex->nodetree->execdata, 1);
}
}
diff --git a/source/blender/editors/sculpt_paint/paint_stroke.c b/source/blender/editors/sculpt_paint/paint_stroke.c
index 7ddf5dff000..09873566d4a 100644
--- a/source/blender/editors/sculpt_paint/paint_stroke.c
+++ b/source/blender/editors/sculpt_paint/paint_stroke.c
@@ -832,6 +832,13 @@ int paint_stroke_modal(bContext *C, wmOperator *op, wmEvent *event)
float mouse[2];
int first= 0;
+ // let NDOF motion pass through to the 3D view so we can paint and rotate simultaneously!
+ // this isn't perfect... even when an extra MOUSEMOVE is spoofed, the stroke discards it
+ // since the 2D deltas are zero -- code in this file needs to be updated to use the
+ // post-NDOF_MOTION MOUSEMOVE
+ if (event->type == NDOF_MOTION)
+ return OPERATOR_PASS_THROUGH;
+
if(!stroke->stroke_started) {
stroke->last_mouse_position[0] = event->x;
stroke->last_mouse_position[1] = event->y;
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index cab8c522a89..ced3dd00a9c 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -48,6 +48,7 @@
#include "BLI_rand.h"
#include "DNA_meshdata_types.h"
+#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_brush_types.h"
@@ -2979,7 +2980,7 @@ static void sculpt_update_brush_delta(Sculpt *sd, Object *ob, Brush *brush)
SCULPT_TOOL_GRAB, SCULPT_TOOL_NUDGE,
SCULPT_TOOL_CLAY_TUBES, SCULPT_TOOL_SNAKE_HOOK,
SCULPT_TOOL_THUMB)) {
- float grab_location[3], imat[4][4], delta[3];
+ float grab_location[3], imat[4][4], delta[3], loc[3];
if(cache->first_time) {
copy_v3_v3(cache->orig_grab_location,
@@ -2989,10 +2990,8 @@ static void sculpt_update_brush_delta(Sculpt *sd, Object *ob, Brush *brush)
add_v3_v3(cache->true_location, cache->grab_delta);
/* compute 3d coordinate at same z from original location + mouse */
- initgrabz(cache->vc->rv3d,
- cache->orig_grab_location[0],
- cache->orig_grab_location[1],
- cache->orig_grab_location[2]);
+ mul_v3_m4v3(loc, ob->obmat, cache->orig_grab_location);
+ initgrabz(cache->vc->rv3d, loc[0], loc[1], loc[2]);
ED_view3d_win_to_delta(cache->vc->ar, cache->mouse, grab_location);
@@ -3088,9 +3087,6 @@ static void sculpt_update_cache_variants(bContext *C, Sculpt *sd, Object *ob, st
else {
cache->initial_radius= brush_unprojected_radius(brush);
}
-
- if (ELEM(brush->sculpt_tool, SCULPT_TOOL_GRAB, SCULPT_TOOL_SNAKE_HOOK))
- cache->initial_radius *= 2.0f;
}
if(brush_use_size_pressure(brush)) {
@@ -3278,7 +3274,7 @@ static void sculpt_brush_init_tex(Sculpt *sd, SculptSession *ss)
/* init mtex nodes */
if(mtex->tex && mtex->tex->nodetree)
- ntreeBeginExecTree(mtex->tex->nodetree); /* has internal flag to detect it only does it once */
+ ntreeTexBeginExecTree(mtex->tex->nodetree, 1); /* has internal flag to detect it only does it once */
/* TODO: Shouldn't really have to do this at the start of every
stroke, but sculpt would need some sort of notification when
@@ -3459,7 +3455,7 @@ static void sculpt_brush_exit_tex(Sculpt *sd)
MTex *mtex= &brush->mtex;
if(mtex->tex && mtex->tex->nodetree)
- ntreeEndExecTree(mtex->tex->nodetree);
+ ntreeTexEndExecTree(mtex->tex->nodetree->execdata, 1);
}
static void sculpt_stroke_done(bContext *C, struct PaintStroke *UNUSED(stroke))
@@ -3559,7 +3555,7 @@ static int sculpt_brush_stroke_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-static int sculpt_brush_stroke_cacel(bContext *C, wmOperator *op)
+static int sculpt_brush_stroke_cancel(bContext *C, wmOperator *op)
{
Object *ob= CTX_data_active_object(C);
SculptSession *ss = ob->sculpt;
@@ -3595,7 +3591,7 @@ static void SCULPT_OT_brush_stroke(wmOperatorType *ot)
ot->modal= paint_stroke_modal;
ot->exec= sculpt_brush_stroke_exec;
ot->poll= sculpt_poll;
- ot->cancel= sculpt_brush_stroke_cacel;
+ ot->cancel= sculpt_brush_stroke_cancel;
/* flags (sculpt does own undo? (ton) */
ot->flag= OPTYPE_BLOCKING;
diff --git a/source/blender/editors/sound/CMakeLists.txt b/source/blender/editors/sound/CMakeLists.txt
index 6a99971a5af..11da4165ec8 100644
--- a/source/blender/editors/sound/CMakeLists.txt
+++ b/source/blender/editors/sound/CMakeLists.txt
@@ -22,13 +22,12 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
)
set(INC_SYS
@@ -41,4 +40,19 @@ set(SRC
sound_intern.h
)
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
+if(WITH_CODEC_FFMPEG)
+ add_definitions(-DWITH_FFMPEG)
+endif()
+
+if(WITH_CODEC_SNDFILE)
+ add_definitions(-DWITH_SNDFILE)
+endif()
+
blender_add_lib(bf_editor_sound "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/sound/sound_ops.c b/source/blender/editors/sound/sound_ops.c
index 3716baad474..72dbbd9da9a 100644
--- a/source/blender/editors/sound/sound_ops.c
+++ b/source/blender/editors/sound/sound_ops.c
@@ -41,6 +41,7 @@
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
+#include "DNA_anim_types.h"
#include "DNA_packedFile_types.h"
#include "DNA_scene_types.h"
#include "DNA_space_types.h"
@@ -49,11 +50,14 @@
#include "DNA_userdef_types.h"
#include "BKE_context.h"
+#include "BKE_fcurve.h"
#include "BKE_global.h"
#include "BKE_main.h"
#include "BKE_report.h"
#include "BKE_packedFile.h"
+#include "BKE_scene.h"
#include "BKE_sound.h"
+#include "BKE_sequencer.h"
#include "RNA_access.h"
#include "RNA_define.h"
@@ -64,7 +68,9 @@
#include "WM_api.h"
#include "WM_types.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "ED_sound.h"
#include "ED_util.h"
@@ -73,14 +79,22 @@
/******************** open sound operator ********************/
+static int open_cancel(bContext *UNUSED(C), wmOperator *op)
+{
+ MEM_freeN(op->customdata);
+ op->customdata= NULL;
+ return OPERATOR_CANCELLED;
+}
+
static void open_init(bContext *C, wmOperator *op)
{
PropertyPointerRNA *pprop;
-
+
op->customdata= pprop= MEM_callocN(sizeof(PropertyPointerRNA), "OpenPropertyPointerRNA");
uiIDContextProperty(C, &pprop->ptr, &pprop->prop);
}
+#ifdef WITH_AUDASPACE
static int open_exec(bContext *C, wmOperator *op)
{
char path[FILE_MAX];
@@ -88,13 +102,14 @@ static int open_exec(bContext *C, wmOperator *op)
PropertyPointerRNA *pprop;
PointerRNA idptr;
AUD_SoundInfo info;
+ Main *bmain = CTX_data_main(C);
RNA_string_get(op->ptr, "filepath", path);
- sound = sound_new_file(CTX_data_main(C), path);
+ sound = sound_new_file(bmain, path);
if(!op->customdata)
open_init(C, op);
-
+
if (sound==NULL || sound->playback_handle == NULL) {
if(op->customdata) MEM_freeN(op->customdata);
BKE_report(op->reports, RPT_ERROR, "Unsupported audio format");
@@ -104,24 +119,29 @@ static int open_exec(bContext *C, wmOperator *op)
info = AUD_getInfo(sound->playback_handle);
if (info.specs.channels == AUD_CHANNELS_INVALID) {
- sound_delete(C, sound);
+ sound_delete(bmain, sound);
if(op->customdata) MEM_freeN(op->customdata);
BKE_report(op->reports, RPT_ERROR, "Unsupported audio format");
return OPERATOR_CANCELLED;
}
+ if(RNA_boolean_get(op->ptr, "mono")) {
+ sound->flags |= SOUND_FLAGS_MONO;
+ sound_load(bmain, sound);
+ }
+
if (RNA_boolean_get(op->ptr, "cache")) {
- sound_cache(sound, 0);
+ sound_cache(sound);
}
-
+
/* hook into UI */
pprop= op->customdata;
-
+
if(pprop->prop) {
/* when creating new ID blocks, use is already 1, but RNA
* pointer se also increases user, so this compensates it */
sound->id.us--;
-
+
RNA_id_pointer_create(&sound->id, &idptr);
RNA_property_pointer_set(&pprop->ptr, pprop->prop, idptr);
RNA_property_update(C, &pprop->ptr, pprop->prop);
@@ -131,16 +151,27 @@ static int open_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
+#else //WITH_AUDASPACE
+
+static int open_exec(bContext *UNUSED(C), wmOperator *op)
+{
+ BKE_report(op->reports, RPT_ERROR, "Compiled without sound support");
+
+ return OPERATOR_CANCELLED;
+}
+
+#endif
+
static int open_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
if(!RNA_property_is_set(op->ptr, "relative_path"))
RNA_boolean_set(op->ptr, "relative_path", U.flag & USER_RELPATHS);
-
+
if(RNA_property_is_set(op->ptr, "filepath"))
return open_exec(C, op);
-
+
open_init(C, op);
-
+
return WM_operator_filesel(C, op, event);
}
@@ -154,6 +185,28 @@ void SOUND_OT_open(wmOperatorType *ot)
/* api callbacks */
ot->exec= open_exec;
ot->invoke= open_invoke;
+ ot->cancel= open_cancel;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ /* properties */
+ WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH);
+ RNA_def_boolean(ot->srna, "cache", FALSE, "Cache", "Cache the sound in memory.");
+ RNA_def_boolean(ot->srna, "mono", FALSE, "Mono", "Mixdown the sound to mono.");
+}
+
+void SOUND_OT_open_mono(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Open Sound Mono";
+ ot->description= "Load a sound file as mono";
+ ot->idname= "SOUND_OT_open_mono";
+
+ /* api callbacks */
+ ot->exec= open_exec;
+ ot->invoke= open_invoke;
+ ot->cancel= open_cancel;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
@@ -161,6 +214,294 @@ void SOUND_OT_open(wmOperatorType *ot)
/* properties */
WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH);
RNA_def_boolean(ot->srna, "cache", FALSE, "Cache", "Cache the sound in memory.");
+ RNA_def_boolean(ot->srna, "mono", TRUE, "Mono", "Mixdown the sound to mono.");
+}
+
+/******************** mixdown operator ********************/
+
+static int mixdown_exec(bContext *C, wmOperator *op)
+{
+#ifdef WITH_AUDASPACE
+ char path[FILE_MAX];
+ char filename[FILE_MAX];
+ Scene *scene;
+ Main *bmain;
+
+ int bitrate, accuracy;
+ AUD_DeviceSpecs specs;
+ AUD_Container container;
+ AUD_Codec codec;
+ const char* result;
+
+ RNA_string_get(op->ptr, "filepath", path);
+ bitrate = RNA_int_get(op->ptr, "bitrate") * 1000;
+ accuracy = RNA_int_get(op->ptr, "accuracy");
+ specs.format = RNA_enum_get(op->ptr, "format");
+ container = RNA_enum_get(op->ptr, "container");
+ codec = RNA_enum_get(op->ptr, "codec");
+ scene = CTX_data_scene(C);
+ bmain = CTX_data_main(C);
+ specs.channels = scene->r.ffcodecdata.audio_channels;
+ specs.rate = scene->r.ffcodecdata.audio_mixrate;
+
+ BLI_strncpy(filename, path, sizeof(filename));
+ BLI_path_abs(filename, bmain->name);
+
+ result = AUD_mixdown(scene->sound_scene, SFRA * specs.rate / FPS, (EFRA - SFRA) * specs.rate / FPS,
+ accuracy, filename, specs, container, codec, bitrate);
+
+ if(result)
+ {
+ BKE_report(op->reports, RPT_ERROR, result);
+ return OPERATOR_CANCELLED;
+ }
+#else // WITH_AUDASPACE
+ (void)C;
+ (void)op;
+#endif // WITH_AUDASPACE
+ return OPERATOR_FINISHED;
+}
+
+static int mixdown_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ if(!RNA_property_is_set(op->ptr, "relative_path"))
+ RNA_boolean_set(op->ptr, "relative_path", U.flag & USER_RELPATHS);
+
+ if(RNA_property_is_set(op->ptr, "filepath"))
+ return mixdown_exec(C, op);
+
+ return WM_operator_filesel(C, op, event);
+}
+
+static int mixdown_draw_check_prop(PropertyRNA *prop)
+{
+ const char *prop_id= RNA_property_identifier(prop);
+ return !( strcmp(prop_id, "filepath") == 0 ||
+ strcmp(prop_id, "directory") == 0 ||
+ strcmp(prop_id, "filename") == 0
+ );
+}
+
+#ifdef WITH_AUDASPACE
+static void mixdown_draw(bContext *C, wmOperator *op)
+{
+ static EnumPropertyItem pcm_format_items[] = {
+ {AUD_FORMAT_U8, "U8", 0, "U8", "8 bit unsigned"},
+ {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"},
+#ifdef WITH_SNDFILE
+ {AUD_FORMAT_S24, "S24", 0, "S24", "24 bit signed"},
+#endif
+ {AUD_FORMAT_S32, "S32", 0, "S32", "32 bit signed"},
+ {AUD_FORMAT_FLOAT32, "F32", 0, "F32", "32 bit floating point"},
+ {AUD_FORMAT_FLOAT64, "F64", 0, "F64", "64 bit floating point"},
+ {0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem mp3_format_items[] = {
+ {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"},
+ {AUD_FORMAT_S32, "S32", 0, "S32", "32 bit signed"},
+ {0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem ac3_format_items[] = {
+ {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"},
+ {AUD_FORMAT_FLOAT32, "F32", 0, "F32", "32 bit floating point"},
+ {0, NULL, 0, NULL, NULL}};
+
+#ifdef WITH_SNDFILE
+ static EnumPropertyItem flac_format_items[] = {
+ {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"},
+ {AUD_FORMAT_S24, "S24", 0, "S24", "24 bit signed"},
+ {0, NULL, 0, NULL, NULL}};
+#endif
+
+ static EnumPropertyItem all_codec_items[] = {
+ {AUD_CODEC_AAC, "AAC", 0, "AAC", "Advanced Audio Coding"},
+ {AUD_CODEC_AC3, "AC3", 0, "AC3", "Dolby Digital ATRAC 3"},
+ {AUD_CODEC_FLAC, "FLAC", 0, "FLAC", "Free Lossless Audio Codec"},
+ {AUD_CODEC_MP2, "MP2", 0, "MP2", "MPEG-1 Audio Layer II"},
+ {AUD_CODEC_MP3, "MP3", 0, "MP3", "MPEG-2 Audio Layer III"},
+ {AUD_CODEC_PCM, "PCM", 0, "PCM", "Pulse Code Modulation (RAW)"},
+ {AUD_CODEC_VORBIS, "VORBIS", 0, "Vorbis", "Xiph.Org Vorbis Codec"},
+ {0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem ogg_codec_items[] = {
+ {AUD_CODEC_FLAC, "FLAC", 0, "FLAC", "Free Lossless Audio Codec"},
+ {AUD_CODEC_VORBIS, "VORBIS", 0, "Vorbis", "Xiph.Org Vorbis Codec"},
+ {0, NULL, 0, NULL, NULL}};
+
+ uiLayout *layout = op->layout;
+ wmWindowManager *wm= CTX_wm_manager(C);
+ PointerRNA ptr;
+ PropertyRNA *prop_format;
+ PropertyRNA *prop_codec;
+ PropertyRNA *prop_bitrate;
+
+ AUD_Container container = RNA_enum_get(op->ptr, "container");
+ AUD_Codec codec = RNA_enum_get(op->ptr, "codec");
+
+ prop_format = RNA_struct_find_property(op->ptr, "format");
+ prop_codec = RNA_struct_find_property(op->ptr, "codec");
+ prop_bitrate = RNA_struct_find_property(op->ptr, "bitrate");
+
+ RNA_def_property_clear_flag(prop_bitrate, PROP_HIDDEN);
+ RNA_def_property_flag(prop_codec, PROP_HIDDEN);
+ RNA_def_property_flag(prop_format, PROP_HIDDEN);
+
+ switch(container)
+ {
+ case AUD_CONTAINER_AC3:
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_format, ac3_format_items);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+ RNA_enum_set(op->ptr, "codec", AUD_CODEC_AC3);
+ break;
+ case AUD_CONTAINER_FLAC:
+ RNA_def_property_flag(prop_bitrate, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+ RNA_enum_set(op->ptr, "codec", AUD_CODEC_FLAC);
+#ifdef WITH_SNDFILE
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_format, flac_format_items);
+#else
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+#endif
+ break;
+ case AUD_CONTAINER_MATROSKA:
+ RNA_def_property_clear_flag(prop_codec, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+
+ switch(codec)
+ {
+ case AUD_CODEC_AAC:
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ break;
+ case AUD_CODEC_AC3:
+ RNA_def_property_enum_items(prop_format, ac3_format_items);
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ break;
+ case AUD_CODEC_FLAC:
+ RNA_def_property_flag(prop_bitrate, PROP_HIDDEN);
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ break;
+ case AUD_CODEC_MP2:
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ break;
+ case AUD_CODEC_MP3:
+ RNA_def_property_enum_items(prop_format, mp3_format_items);
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ break;
+ case AUD_CODEC_PCM:
+ RNA_def_property_flag(prop_bitrate, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_format, pcm_format_items);
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ break;
+ case AUD_CODEC_VORBIS:
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ break;
+ default:
+ break;
+ }
+
+ break;
+ case AUD_CONTAINER_MP2:
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ RNA_enum_set(op->ptr, "codec", AUD_CODEC_MP2);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+ break;
+ case AUD_CONTAINER_MP3:
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_format, mp3_format_items);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+ RNA_enum_set(op->ptr, "codec", AUD_CODEC_MP3);
+ break;
+ case AUD_CONTAINER_OGG:
+ RNA_def_property_clear_flag(prop_codec, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_codec, ogg_codec_items);
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ break;
+ case AUD_CONTAINER_WAV:
+ RNA_def_property_flag(prop_bitrate, PROP_HIDDEN);
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_format, pcm_format_items);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+ RNA_enum_set(op->ptr, "codec", AUD_CODEC_PCM);
+ break;
+ default:
+ break;
+ }
+
+ RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
+
+ /* main draw call */
+ uiDefAutoButsRNA(layout, &ptr, mixdown_draw_check_prop, '\0');
+}
+#endif // WITH_AUDASPACE
+
+void SOUND_OT_mixdown(wmOperatorType *ot)
+{
+#ifdef WITH_AUDASPACE
+ static EnumPropertyItem format_items[] = {
+ {AUD_FORMAT_U8, "U8", 0, "U8", "8 bit unsigned"},
+ {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"},
+ {AUD_FORMAT_S24, "S24", 0, "S24", "24 bit signed"},
+ {AUD_FORMAT_S32, "S32", 0, "S32", "32 bit signed"},
+ {AUD_FORMAT_FLOAT32, "F32", 0, "F32", "32 bit floating point"},
+ {AUD_FORMAT_FLOAT64, "F64", 0, "F64", "64 bit floating point"},
+ {0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem container_items[] = {
+#ifdef WITH_FFMPEG
+ {AUD_CONTAINER_AC3, "AC3", 0, "ac3", "Dolby Digital ATRAC 3"},
+#endif
+ {AUD_CONTAINER_FLAC, "FLAC", 0, "flac", "Free Lossless Audio Codec"},
+#ifdef WITH_FFMPEG
+ {AUD_CONTAINER_MATROSKA, "MATROSKA", 0, "mkv", "Matroska"},
+ {AUD_CONTAINER_MP2, "MP2", 0, "mp2", "MPEG-1 Audio Layer II"},
+ {AUD_CONTAINER_MP3, "MP3", 0, "mp3", "MPEG-2 Audio Layer III"},
+#endif
+ {AUD_CONTAINER_OGG, "OGG", 0, "ogg", "Xiph.Org Ogg Container"},
+ {AUD_CONTAINER_WAV, "WAV", 0, "wav", "Waveform Audio File Format"},
+ {0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem codec_items[] = {
+#ifdef WITH_FFMPEG
+ {AUD_CODEC_AAC, "AAC", 0, "AAC", "Advanced Audio Coding"},
+ {AUD_CODEC_AC3, "AC3", 0, "AC3", "Dolby Digital ATRAC 3"},
+#endif
+ {AUD_CODEC_FLAC, "FLAC", 0, "FLAC", "Free Lossless Audio Codec"},
+#ifdef WITH_FFMPEG
+ {AUD_CODEC_MP2, "MP2", 0, "MP2", "MPEG-1 Audio Layer II"},
+ {AUD_CODEC_MP3, "MP3", 0, "MP3", "MPEG-2 Audio Layer III"},
+#endif
+ {AUD_CODEC_PCM, "PCM", 0, "PCM", "Pulse Code Modulation (RAW)"},
+ {AUD_CODEC_VORBIS, "VORBIS", 0, "Vorbis", "Xiph.Org Vorbis Codec"},
+ {0, NULL, 0, NULL, NULL}};
+
+#endif // WITH_AUDASPACE
+
+ /* identifiers */
+ ot->name= "Mixdown";
+ ot->description= "Mixes the scene's audio to a sound file";
+ ot->idname= "SOUND_OT_mixdown";
+
+ /* api callbacks */
+ ot->exec= mixdown_exec;
+ ot->invoke= mixdown_invoke;
+
+#ifdef WITH_AUDASPACE
+ ot->ui= mixdown_draw;
+#endif
+ /* flags */
+ ot->flag= OPTYPE_REGISTER;
+
+ /* properties */
+ WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH);
+#ifdef WITH_AUDASPACE
+ RNA_def_int(ot->srna, "accuracy", 1024, 1, 16777216, "Accuracy", "Sample accuracy. Important for animation data. The lower the value, the more accurate.", 1, 16777216);
+ RNA_def_enum(ot->srna, "container", container_items, AUD_CONTAINER_FLAC, "Container", "File format");
+ RNA_def_enum(ot->srna, "codec", codec_items, AUD_CODEC_FLAC, "Codec", "Audio Codec");
+ RNA_def_enum(ot->srna, "format", format_items, AUD_FORMAT_S16, "Format", "Sample format");
+ RNA_def_int(ot->srna, "bitrate", 192, 32, 512, "Bitrate", "Bitrate in kbit/s", 32, 512);
+#endif // WITH_AUDASPACE
}
/* ******************************************************* */
@@ -281,9 +622,111 @@ static void SOUND_OT_unpack(wmOperatorType *ot)
/* ******************************************************* */
+static int update_animation_flags_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Sequence* seq;
+ Scene* scene = CTX_data_scene(C);
+ struct FCurve* fcu;
+ char driven;
+
+ SEQ_BEGIN(scene->ed, seq) {
+ fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "volume", 0, &driven);
+ if(fcu || driven)
+ seq->flag |= SEQ_AUDIO_VOLUME_ANIMATED;
+ else
+ seq->flag &= ~SEQ_AUDIO_VOLUME_ANIMATED;
+
+ fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "pitch", 0, &driven);
+ if(fcu || driven)
+ seq->flag |= SEQ_AUDIO_PITCH_ANIMATED;
+ else
+ seq->flag &= ~SEQ_AUDIO_PITCH_ANIMATED;
+
+ fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "pan", 0, &driven);
+ if(fcu || driven)
+ seq->flag |= SEQ_AUDIO_PAN_ANIMATED;
+ else
+ seq->flag &= ~SEQ_AUDIO_PAN_ANIMATED;
+ }
+ SEQ_END
+
+ fcu = id_data_find_fcurve(&scene->id, scene, &RNA_Scene, "audio_volume", 0, &driven);
+ if(fcu || driven)
+ scene->audio.flag |= AUDIO_VOLUME_ANIMATED;
+ else
+ scene->audio.flag &= ~AUDIO_VOLUME_ANIMATED;
+
+ return OPERATOR_FINISHED;
+}
+
+void SOUND_OT_update_animation_flags(wmOperatorType *ot)
+{
+ /*
+ This operator is needed to set a correct state of the sound animation
+ System. Unfortunately there's no really correct place to call the exec
+ function, that's why I made it an operator that's only visible in the
+ search menu. Apart from that the bake animation operator calls it too.
+ */
+
+ /* identifiers */
+ ot->name= "Update animation";
+ ot->description= "Update animation flags";
+ ot->idname= "SOUND_OT_update_animation_flags";
+
+ /* api callbacks */
+ ot->exec= update_animation_flags_exec;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER;
+}
+
+/* ******************************************************* */
+
+static int bake_animation_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Main* bmain = CTX_data_main(C);
+ Scene* scene = CTX_data_scene(C);
+ int oldfra = scene->r.cfra;
+ int cfra;
+
+ update_animation_flags_exec(C, NULL);
+
+ for(cfra = scene->r.sfra; cfra <= scene->r.efra; cfra++)
+ {
+ scene->r.cfra = cfra;
+ scene_update_for_newframe(bmain, scene, scene->lay);
+ }
+
+ scene->r.cfra = oldfra;
+ scene_update_for_newframe(bmain, scene, scene->lay);
+
+ return OPERATOR_FINISHED;
+}
+
+void SOUND_OT_bake_animation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Update animation cache";
+ ot->description= "Updates the audio animation cache so that it's up to date";
+ ot->idname= "SOUND_OT_bake_animation";
+
+ /* api callbacks */
+ ot->exec= bake_animation_exec;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER;
+}
+
+
+/* ******************************************************* */
+
void ED_operatortypes_sound(void)
{
WM_operatortype_append(SOUND_OT_open);
+ WM_operatortype_append(SOUND_OT_open_mono);
+ WM_operatortype_append(SOUND_OT_mixdown);
WM_operatortype_append(SOUND_OT_pack);
WM_operatortype_append(SOUND_OT_unpack);
+ WM_operatortype_append(SOUND_OT_update_animation_flags);
+ WM_operatortype_append(SOUND_OT_bake_animation);
}
diff --git a/source/blender/editors/space_action/CMakeLists.txt b/source/blender/editors/space_action/CMakeLists.txt
index 6789556aa2b..edebaa8273a 100644
--- a/source/blender/editors/space_action/CMakeLists.txt
+++ b/source/blender/editors/space_action/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_action/action_draw.c b/source/blender/editors/space_action/action_draw.c
index f0f34645ebf..f541423e69d 100644
--- a/source/blender/editors/space_action/action_draw.c
+++ b/source/blender/editors/space_action/action_draw.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -77,10 +75,11 @@ void draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
View2D *v2d= &ar->v2d;
float y= 0.0f;
- int items, height;
+ size_t items;
+ int height;
/* build list of channels to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
items= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* Update max-extent of channels here (taking into account scrollers):
@@ -121,6 +120,7 @@ void draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
}
{ /* second pass: widgets */
uiBlock *block= uiBeginBlock(C, ar, "dopesheet channel buttons", UI_EMBOSS);
+ size_t channel_index = 0;
y= (float)ACHANNEL_FIRST;
@@ -133,11 +133,12 @@ void draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax) )
{
/* draw all channels using standard channel-drawing API */
- ANIM_channel_draw_widgets(ac, ale, block, yminc, ymaxc);
+ ANIM_channel_draw_widgets(C, ac, ale, block, yminc, ymaxc, channel_index);
}
/* adjust y-position for next one */
y -= ACHANNEL_STEP;
+ channel_index++;
}
uiEndBlock(C, block);
@@ -166,7 +167,8 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
AnimData *adt= NULL;
float act_start, act_end, y;
- int height, items;
+ size_t items;
+ int height;
unsigned char col1[3], col2[3];
unsigned char col1a[3], col2a[3];
@@ -194,7 +196,7 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
}
/* build list of channels to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
items= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* Update max-extent of channels here (taking into account scrollers):
@@ -248,8 +250,6 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
break;
case ANIMTYPE_FILLACTD:
- case ANIMTYPE_FILLMATD:
- case ANIMTYPE_FILLPARTD:
case ANIMTYPE_DSSKEY:
case ANIMTYPE_DSWOR:
{
diff --git a/source/blender/editors/space_action/action_edit.c b/source/blender/editors/space_action/action_edit.c
index b30db6680e5..b5dfdcdc668 100644
--- a/source/blender/editors/space_action/action_edit.c
+++ b/source/blender/editors/space_action/action_edit.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -234,7 +232,8 @@ static void get_keyframe_extents (bAnimContext *ac, float *min, float *max, cons
int filter;
/* get data to filter, from Action or Dopesheet */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ // XXX: what is sel doing here?!
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* set large values to try to override */
@@ -414,7 +413,7 @@ static short copy_action_keys (bAnimContext *ac)
free_anim_copybuf();
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* copy keyframes */
@@ -434,7 +433,7 @@ static short paste_action_keys (bAnimContext *ac,
int filter, ok=0;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* paste keyframes */
@@ -561,7 +560,7 @@ static void insert_action_keys(bAnimContext *ac, short mode)
short flag = 0;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
if (mode == 2) filter |= ANIMFILTER_SEL;
else if (mode == 3) filter |= ANIMFILTER_ACTGROUPED;
@@ -575,7 +574,7 @@ static void insert_action_keys(bAnimContext *ac, short mode)
AnimData *adt= ANIM_nla_mapping_get(ac, ale);
FCurve *fcu= (FCurve *)ale->key_data;
float cfra;
-
+
/* adjust current frame for NLA-scaling */
if (adt)
cfra= BKE_nla_tweakedit_remap(adt, (float)CFRA, NLATIME_CONVERT_UNMAP);
@@ -649,9 +648,9 @@ static void duplicate_action_keys (bAnimContext *ac)
/* filter data */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and delete selected keys */
@@ -724,9 +723,9 @@ static void delete_action_keys (bAnimContext *ac)
/* filter data */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and delete selected keys */
@@ -797,7 +796,7 @@ static void clean_action_keys (bAnimContext *ac, float thresh)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and clean curves */
@@ -865,7 +864,7 @@ static void sample_action_keys (bAnimContext *ac)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and add keys between selected keyframes on every frame */
@@ -920,10 +919,17 @@ void ACTION_OT_sample (wmOperatorType *ot)
/* ******************** Set Extrapolation-Type Operator *********************** */
+/* defines for make/clear cyclic extrapolation tools */
+#define MAKE_CYCLIC_EXPO -1
+#define CLEAR_CYCLIC_EXPO -2
+
/* defines for set extrapolation-type for selected keyframes tool */
static EnumPropertyItem prop_actkeys_expo_types[] = {
{FCURVE_EXTRAPOLATE_CONSTANT, "CONSTANT", 0, "Constant Extrapolation", ""},
{FCURVE_EXTRAPOLATE_LINEAR, "LINEAR", 0, "Linear Extrapolation", ""},
+
+ {MAKE_CYCLIC_EXPO, "MAKE_CYCLIC", 0, "Make Cyclic (F-Modifier)", "Add Cycles F-Modifier if one doesn't exist already"},
+ {CLEAR_CYCLIC_EXPO, "CLEAR_CYCLIC", 0, "Clear Cyclic (F-Modifier)", "Remove Cycles F-Modifier if not needed anymore"},
{0, NULL, 0, NULL, NULL}
};
@@ -935,13 +941,40 @@ static void setexpo_action_keys(bAnimContext *ac, short mode)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting mode per F-Curve */
for (ale= anim_data.first; ale; ale= ale->next) {
FCurve *fcu= (FCurve *)ale->data;
- fcu->extend= mode;
+
+ if (mode >= 0) {
+ /* just set mode setting */
+ fcu->extend= mode;
+ }
+ else {
+ /* shortcuts for managing Cycles F-Modifiers to make it easier to toggle cyclic animation
+ * without having to go through FModifier UI in Graph Editor to do so
+ */
+ if (mode == MAKE_CYCLIC_EXPO) {
+ /* only add if one doesn't exist */
+ if (list_has_suitable_fmodifier(&fcu->modifiers, FMODIFIER_TYPE_CYCLES, -1) == 0) {
+ // TODO: add some more preset versions which set different extrapolation options?
+ add_fmodifier(&fcu->modifiers, FMODIFIER_TYPE_CYCLES);
+ }
+ }
+ else if (mode == CLEAR_CYCLIC_EXPO) {
+ /* remove all the modifiers fitting this description */
+ FModifier *fcm, *fcn=NULL;
+
+ for (fcm = fcu->modifiers.first; fcm; fcm = fcn) {
+ fcn = fcm->next;
+
+ if (fcm->type == FMODIFIER_TYPE_CYCLES)
+ remove_fmodifier(&fcu->modifiers, fcm);
+ }
+ }
+ }
}
/* cleanup */
@@ -1006,7 +1039,7 @@ static void setipo_action_keys(bAnimContext *ac, short mode)
KeyframeEditFunc set_cb= ANIM_editkeyframes_ipo(mode);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting BezTriple interpolation
@@ -1068,17 +1101,6 @@ void ACTION_OT_interpolation_type (wmOperatorType *ot)
/* ******************** Set Handle-Type Operator *********************** */
-static EnumPropertyItem actkeys_handle_type_items[] = {
- {HD_FREE, "FREE", 0, "Free", ""},
- {HD_VECT, "VECTOR", 0, "Vector", ""},
- {HD_ALIGN, "ALIGNED", 0, "Aligned", ""},
- {0, "", 0, "", ""},
- {HD_AUTO, "AUTO", 0, "Auto", "Handles that are automatically adjusted upon moving the keyframe"},
- {HD_AUTO_ANIM, "ANIM_CLAMPED", 0, "Auto Clamped", "Auto handles clamped to not overshoot"},
- {0, NULL, 0, NULL, NULL}};
-
-/* ------------------- */
-
/* this function is responsible for setting handle-type of selected keyframes */
static void sethandles_action_keys(bAnimContext *ac, short mode)
{
@@ -1090,7 +1112,7 @@ static void sethandles_action_keys(bAnimContext *ac, short mode)
KeyframeEditFunc sel_cb= ANIM_editkeyframes_ok(BEZT_OK_SELECTED);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting flags for handles
@@ -1101,12 +1123,6 @@ static void sethandles_action_keys(bAnimContext *ac, short mode)
/* any selected keyframes for editing? */
if (ANIM_fcurve_keyframes_loop(NULL, fcu, NULL, sel_cb, NULL)) {
- /* for auto/auto-clamped, toggle the auto-handles flag on the F-Curve */
- if (mode == HD_AUTO_ANIM)
- fcu->flag |= FCURVE_AUTO_HANDLES;
- else if (mode == HD_AUTO)
- fcu->flag &= ~FCURVE_AUTO_HANDLES;
-
/* change type of selected handles */
ANIM_fcurve_keyframes_loop(NULL, fcu, NULL, edit_cb, calchandles_fcurve);
}
@@ -1160,7 +1176,7 @@ void ACTION_OT_handle_type (wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* id-props */
- ot->prop= RNA_def_enum(ot->srna, "type", actkeys_handle_type_items, 0, "Type", "");
+ ot->prop= RNA_def_enum(ot->srna, "type", keyframe_handle_type_items, 0, "Type", "");
}
/* ******************** Set Keyframe-Type Operator *********************** */
@@ -1174,7 +1190,7 @@ static void setkeytype_action_keys(bAnimContext *ac, short mode)
KeyframeEditFunc set_cb= ANIM_editkeyframes_keytype(mode);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting BezTriple interpolation
@@ -1254,7 +1270,7 @@ static int actkeys_framejump_exec(bContext *C, wmOperator *UNUSED(op))
/* init edit data */
/* loop over action data, averaging values */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY */ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -1321,9 +1337,9 @@ static void snap_action_keys(bAnimContext *ac, short mode)
/* filter data */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get beztriple editing callbacks */
@@ -1440,9 +1456,9 @@ static void mirror_action_keys(bAnimContext *ac, short mode)
/* filter data */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* mirror keyframes */
diff --git a/source/blender/editors/space_action/action_intern.h b/source/blender/editors/space_action/action_intern.h
index 512b6e329dd..2a23f105737 100644
--- a/source/blender/editors/space_action/action_intern.h
+++ b/source/blender/editors/space_action/action_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/space_action/action_ops.c b/source/blender/editors/space_action/action_ops.c
index 6c3f80cda41..491d436741e 100644
--- a/source/blender/editors/space_action/action_ops.c
+++ b/source/blender/editors/space_action/action_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -40,6 +38,7 @@
#include "BLI_blenlib.h"
#include "ED_anim_api.h"
+#include "ED_markers.h"
#include "ED_transform.h"
#include "action_intern.h"
@@ -162,7 +161,7 @@ static void action_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
/* menu + set setting */
WM_keymap_add_item(keymap, "ACTION_OT_handle_type", VKEY, KM_PRESS, 0, 0);
- WM_keymap_add_item(keymap, "ACTION_OT_interpolation_type", TKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "ACTION_OT_interpolation_type", TKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "ACTION_OT_extrapolation_type", EKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "ACTION_OT_keyframe_type", RKEY, KM_PRESS, 0, 0);
@@ -193,6 +192,9 @@ static void action_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
/* transform system */
transform_keymap_for_space(keyconf, keymap, SPACE_ACTION);
+
+ /* special markers hotkeys for anim editors: see note in definition of this function */
+ ED_marker_keymap_animedit_conflictfree(keymap);
}
/* --------------- */
diff --git a/source/blender/editors/space_action/action_select.c b/source/blender/editors/space_action/action_select.c
index 4d0043913ab..aa29e54f436 100644
--- a/source/blender/editors/space_action/action_select.c
+++ b/source/blender/editors/space_action/action_select.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -95,9 +93,9 @@ static void deselect_action_keys (bAnimContext *ac, short test, short sel)
/* determine type-based settings */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
/* filter data */
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -198,7 +196,7 @@ static void borderselect_action (bAnimContext *ac, rcti rect, short mode, short
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- int filter, filterflag;
+ int filter;
KeyframeEditData ked;
KeyframeEditFunc ok_cb, select_cb;
@@ -211,17 +209,9 @@ static void borderselect_action (bAnimContext *ac, rcti rect, short mode, short
UI_view2d_region_to_view(v2d, rect.xmax, rect.ymax-2, &rectf.xmax, &rectf.ymax);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
- /* get filtering flag for dopesheet data (if applicable) */
- if (ac->datatype == ANIMCONT_DOPESHEET) {
- bDopeSheet *ads= (bDopeSheet *)ac->data;
- filterflag= ads->filterflag;
- }
- else
- filterflag= 0;
-
/* get beztriple editing/validation funcs */
select_cb= ANIM_editkeyframes_select(selectmode);
@@ -261,7 +251,7 @@ static void borderselect_action (bAnimContext *ac, rcti rect, short mode, short
if (ale->type == ANIMTYPE_GPLAYER)
borderselect_gplayer_frames(ale->data, rectf.xmin, rectf.xmax, selectmode);
else
- ANIM_animchannel_keyframes_loop(&ked, ale, ok_cb, select_cb, NULL, filterflag);
+ ANIM_animchannel_keyframes_loop(&ked, ac->ads, ale, ok_cb, select_cb, NULL);
}
/* set minimum extent to be the maximum of the next channel */
@@ -388,7 +378,7 @@ static void markers_selectkeys_between (bAnimContext *ac)
ked.f2= max;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY */ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* select keys in-between */
@@ -431,14 +421,14 @@ static void columnselect_action_keys (bAnimContext *ac, short mode)
switch (mode) {
case ACTKEYS_COLUMNSEL_KEYS: /* list of selected keys */
if (ac->datatype == ANIMCONT_GPENCIL) {
- filter= (ANIMFILTER_VISIBLE);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next)
gplayer_make_cfra_list(ale->data, &ked.list, 1);
}
else {
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next)
@@ -471,9 +461,9 @@ static void columnselect_action_keys (bAnimContext *ac, short mode)
* based on the keys found to be selected above
*/
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -563,7 +553,7 @@ static int actkeys_select_linked_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* loop through all of the keys and select additional keyframes based on these */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -617,7 +607,7 @@ static void select_moreless_action_keys (bAnimContext *ac, short mode)
build_cb= ANIM_editkeyframes_buildselmap(mode);
/* loop through all of the keys and select additional keyframes based on these */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -758,9 +748,9 @@ static void actkeys_select_leftright (bAnimContext *ac, short leftright, short s
/* filter data */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* select keys */
@@ -780,7 +770,7 @@ static void actkeys_select_leftright (bAnimContext *ac, short leftright, short s
/* Sync marker support */
if (select_mode==SELECT_ADD) {
- SpaceAction *saction= ac->sa->spacedata.first;
+ SpaceAction *saction= (SpaceAction *)ac->sl;
if ((saction) && (saction->flag & SACTION_MARKERS_MOVE)) {
ListBase *markers = ED_animcontext_get_markers(ac);
@@ -900,9 +890,6 @@ void ACTION_OT_select_leftright (wmOperatorType *ot)
/* option 1) select keyframe directly under mouse */
static void actkeys_mselect_single (bAnimContext *ac, bAnimListElem *ale, short select_mode, float selx)
{
- bDopeSheet *ads= (ac->datatype == ANIMCONT_DOPESHEET) ? ac->data : NULL;
- int ds_filter = ((ads) ? (ads->filterflag) : (0));
-
KeyframeEditData ked= {{NULL}};
KeyframeEditFunc select_cb, ok_cb;
@@ -915,7 +902,7 @@ static void actkeys_mselect_single (bAnimContext *ac, bAnimListElem *ale, short
if (ale->type == ANIMTYPE_GPLAYER)
select_gpencil_frame(ale->data, selx, select_mode);
else
- ANIM_animchannel_keyframes_loop(&ked, ale, ok_cb, select_cb, NULL, ds_filter);
+ ANIM_animchannel_keyframes_loop(&ked, ac->ads, ale, ok_cb, select_cb, NULL);
}
/* Option 2) Selects all the keyframes on either side of the current frame (depends on which side the mouse is on) */
@@ -941,9 +928,9 @@ static void actkeys_mselect_column(bAnimContext *ac, short select_mode, float se
* based on the keys found to be selected above
*/
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY */ | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -997,7 +984,7 @@ static void mouse_action_keys (bAnimContext *ac, const int mval[2], short select
UI_view2d_region_to_view(v2d, mval[0]+7, mval[1], &rectf.xmax, &rectf.ymax);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* try to get channel */
diff --git a/source/blender/editors/space_action/space_action.c b/source/blender/editors/space_action/space_action.c
index 7a824e6bf9d..4baaa469127 100644
--- a/source/blender/editors/space_action/space_action.c
+++ b/source/blender/editors/space_action/space_action.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -78,6 +76,8 @@ static SpaceLink *action_new(const bContext *C)
saction->autosnap = SACTSNAP_FRAME;
saction->mode= SACTCONT_DOPESHEET;
+ saction->ads.filterflag |= ADS_FILTER_SUMMARY;
+
/* header */
ar= MEM_callocN(sizeof(ARegion), "header for action");
@@ -405,6 +405,13 @@ static void action_listener(ScrArea *sa, wmNotifier *wmn)
break;
}
break;
+ case NC_NODE:
+ if (wmn->action == NA_SELECTED) {
+ /* selection changed, so force refresh to flush (needs flag set to do syncing) */
+ saction->flag |= SACTION_TEMP_NEEDCHANSYNC;
+ ED_area_tag_refresh(sa);
+ }
+ break;
case NC_SPACE:
switch (wmn->data) {
case ND_SPACE_DOPESHEET:
diff --git a/source/blender/editors/space_api/CMakeLists.txt b/source/blender/editors/space_api/CMakeLists.txt
index c2dc2582c82..4cbb290be76 100644
--- a/source/blender/editors/space_api/CMakeLists.txt
+++ b/source/blender/editors/space_api/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_buttons/CMakeLists.txt b/source/blender/editors/space_buttons/CMakeLists.txt
index 0a4f251e46f..631e2adea34 100644
--- a/source/blender/editors/space_buttons/CMakeLists.txt
+++ b/source/blender/editors/space_buttons/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_buttons/buttons_context.c b/source/blender/editors/space_buttons/buttons_context.c
index f91e830d52e..9d2ac3fd8e2 100644
--- a/source/blender/editors/space_buttons/buttons_context.c
+++ b/source/blender/editors/space_buttons/buttons_context.c
@@ -44,6 +44,7 @@
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "DNA_world_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_brush_types.h"
#include "BKE_context.h"
@@ -188,6 +189,7 @@ static int buttons_context_path_data(ButsContextPath *path, int type)
else if(RNA_struct_is_a(ptr->type, &RNA_Lattice) && (type == -1 || type == OB_LATTICE)) return 1;
else if(RNA_struct_is_a(ptr->type, &RNA_Camera) && (type == -1 || type == OB_CAMERA)) return 1;
else if(RNA_struct_is_a(ptr->type, &RNA_Lamp) && (type == -1 || type == OB_LAMP)) return 1;
+ else if(RNA_struct_is_a(ptr->type, &RNA_Speaker) && (type == -1 || type == OB_SPEAKER)) return 1;
/* try to get an object in the path, no pinning supported here */
else if(buttons_context_path_object(path)) {
ob= path->ptr[path->len-1].data;
@@ -218,7 +220,7 @@ static int buttons_context_path_modifier(ButsContextPath *path)
return 0;
}
-static int buttons_context_path_material(ButsContextPath *path)
+static int buttons_context_path_material(ButsContextPath *path, int for_texture)
{
Object *ob;
PointerRNA *ptr= &path->ptr[path->len-1];
@@ -236,6 +238,9 @@ static int buttons_context_path_material(ButsContextPath *path)
ma= give_current_material(ob, ob->actcol);
RNA_id_pointer_create(&ma->id, &path->ptr[path->len]);
path->len++;
+
+ if(for_texture && give_current_material_texture_node(ma))
+ return 1;
ma= give_node_material(ma);
if(ma) {
@@ -432,7 +437,7 @@ static int buttons_context_path_texture(ButsContextPath *path)
}
}
/* try material */
- if(buttons_context_path_material(path)) {
+ if(buttons_context_path_material(path, 1)) {
ma= path->ptr[path->len-1].data;
if(ma) {
@@ -524,7 +529,7 @@ static int buttons_context_path(const bContext *C, ButsContextPath *path, int ma
found= buttons_context_path_particle(path);
break;
case BCONTEXT_MATERIAL:
- found= buttons_context_path_material(path);
+ found= buttons_context_path_material(path, 0);
break;
case BCONTEXT_TEXTURE:
found= buttons_context_path_texture(path);
@@ -645,7 +650,7 @@ void buttons_context_compute(const bContext *C, SpaceButs *sbuts)
const char *buttons_context_dir[] = {
"world", "object", "mesh", "armature", "lattice", "curve",
- "meta_ball", "lamp", "camera", "material", "material_slot",
+ "meta_ball", "lamp", "speaker", "camera", "material", "material_slot",
"texture", "texture_slot", "bone", "edit_bone", "pose_bone", "particle_system", "particle_system_editable",
"cloth", "soft_body", "fluid", "smoke", "collision", "brush", NULL};
@@ -698,6 +703,10 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r
set_pointer_type(path, result, &RNA_Camera);
return 1;
}
+ else if(CTX_data_equals(member, "speaker")) {
+ set_pointer_type(path, result, &RNA_Speaker);
+ return 1;
+ }
else if(CTX_data_equals(member, "material")) {
set_pointer_type(path, result, &RNA_Material);
return 1;
@@ -901,6 +910,7 @@ void buttons_context_draw(const bContext *C, uiLayout *layout)
block= uiLayoutGetBlock(row);
uiBlockSetEmboss(block, UI_EMBOSSN);
but= uiDefIconButBitC(block, ICONTOG, SB_PIN_CONTEXT, 0, ICON_UNPINNED, 0, 0, UI_UNIT_X, UI_UNIT_Y, &sbuts->flag, 0, 0, 0, 0, "Follow context or keep fixed datablock displayed");
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
uiButSetFunc(but, pin_cb, NULL, NULL);
for(a=0; a<path->len; a++) {
diff --git a/source/blender/editors/space_buttons/buttons_header.c b/source/blender/editors/space_buttons/buttons_header.c
index 19c600be937..e631718b0cb 100644
--- a/source/blender/editors/space_buttons/buttons_header.c
+++ b/source/blender/editors/space_buttons/buttons_header.c
@@ -104,6 +104,7 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
{
SpaceButs *sbuts= CTX_wm_space_buts(C);
uiBlock *block;
+ uiBut *but;
int xco, yco= 2;
buttons_context_compute(C, sbuts);
@@ -118,33 +119,32 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
xco -= UI_UNIT_X;
// Default panels
+
uiBlockBeginAlign(block);
- if(sbuts->pathflag & (1<<BCONTEXT_RENDER))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_RENDER, 0, 0, "Render");
- if(sbuts->pathflag & (1<<BCONTEXT_SCENE))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE_DATA, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_SCENE, 0, 0, "Scene");
- if(sbuts->pathflag & (1<<BCONTEXT_WORLD))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_WORLD, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_WORLD, 0, 0, "World");
- if(sbuts->pathflag & (1<<BCONTEXT_OBJECT))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_OBJECT_DATA, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object");
- if(sbuts->pathflag & (1<<BCONTEXT_CONSTRAINT))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_CONSTRAINT, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_CONSTRAINT, 0, 0, "Object Constraints");
- if(sbuts->pathflag & (1<<BCONTEXT_MODIFIER))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MODIFIER, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifiers");
- if(sbuts->pathflag & (1<<BCONTEXT_DATA))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, sbuts->dataicon, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data");
- if(sbuts->pathflag & (1<<BCONTEXT_BONE))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_BONE_DATA, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone");
- if(sbuts->pathflag & (1<<BCONTEXT_BONE_CONSTRAINT))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_CONSTRAINT_BONE, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE_CONSTRAINT, 0, 0, "Bone Constraints");
- if(sbuts->pathflag & (1<<BCONTEXT_MATERIAL))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MATERIAL, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material");
- if(sbuts->pathflag & (1<<BCONTEXT_TEXTURE))
- uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_TEXTURE, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture");
- if(sbuts->pathflag & (1<<BCONTEXT_PARTICLE))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PARTICLES, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles");
- if(sbuts->pathflag & (1<<BCONTEXT_PHYSICS))
- uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PHYSICS, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics");
+
+#define BUTTON_HEADER_CTX(_ctx, _icon, _tip) \
+ if(sbuts->pathflag & (1<<_ctx)) { \
+ but= uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, _icon, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)_ctx, 0, 0, _tip); \
+ uiButClearFlag(but, UI_BUT_UNDO); \
+ } \
+
+
+ BUTTON_HEADER_CTX(BCONTEXT_RENDER, ICON_SCENE, "Render")
+ BUTTON_HEADER_CTX(BCONTEXT_SCENE, ICON_SCENE_DATA, "Scene");
+ BUTTON_HEADER_CTX(BCONTEXT_WORLD, ICON_WORLD, "World");
+ BUTTON_HEADER_CTX(BCONTEXT_OBJECT, ICON_OBJECT_DATA, "Object");
+ BUTTON_HEADER_CTX(BCONTEXT_CONSTRAINT, ICON_CONSTRAINT, "Object Constraints");
+ BUTTON_HEADER_CTX(BCONTEXT_MODIFIER, ICON_MODIFIER, "Object Modifiers");
+ BUTTON_HEADER_CTX(BCONTEXT_DATA, sbuts->dataicon, "Object Data");
+ BUTTON_HEADER_CTX(BCONTEXT_BONE, ICON_BONE_DATA, "Bone");
+ BUTTON_HEADER_CTX(BCONTEXT_BONE_CONSTRAINT, ICON_CONSTRAINT_BONE, "Bone Constraints");
+ BUTTON_HEADER_CTX(BCONTEXT_MATERIAL, ICON_MATERIAL, "Material");
+ BUTTON_HEADER_CTX(BCONTEXT_TEXTURE, ICON_TEXTURE, "Textures");
+ BUTTON_HEADER_CTX(BCONTEXT_PARTICLE, ICON_PARTICLES, "Particles");
+ BUTTON_HEADER_CTX(BCONTEXT_PHYSICS, ICON_PHYSICS, "Physics");
+
+#undef BUTTON_HEADER_CTX
+
xco+= BUT_UNIT_X;
uiBlockEndAlign(block);
diff --git a/source/blender/editors/space_buttons/buttons_intern.h b/source/blender/editors/space_buttons/buttons_intern.h
index 925223b43ea..d25bd7940ab 100644
--- a/source/blender/editors/space_buttons/buttons_intern.h
+++ b/source/blender/editors/space_buttons/buttons_intern.h
@@ -71,6 +71,7 @@ extern const char *buttons_context_dir[]; /* doc access */
/* buttons_ops.c */
void BUTTONS_OT_file_browse(struct wmOperatorType *ot);
+void BUTTONS_OT_directory_browse(struct wmOperatorType *ot);
void BUTTONS_OT_toolbox(struct wmOperatorType *ot);
#endif /* ED_BUTTONS_INTERN_H */
diff --git a/source/blender/editors/space_buttons/buttons_ops.c b/source/blender/editors/space_buttons/buttons_ops.c
index 9b914df1b3c..99e5c6d693e 100644
--- a/source/blender/editors/space_buttons/buttons_ops.c
+++ b/source/blender/editors/space_buttons/buttons_ops.c
@@ -104,11 +104,12 @@ static int file_browse_exec(bContext *C, wmOperator *op)
FileBrowseOp *fbo= op->customdata;
ID *id;
char *base, *str, path[FILE_MAX];
+ const char *path_prop= RNA_struct_find_property(op->ptr, "directory") ? "directory" : "filepath";
- if (RNA_property_is_set(op->ptr, "filepath")==0 || fbo==NULL)
+ if (RNA_property_is_set(op->ptr, path_prop)==0 || fbo==NULL)
return OPERATOR_CANCELLED;
- str= RNA_string_get_alloc(op->ptr, "filepath", NULL, 0);
+ str= RNA_string_get_alloc(op->ptr, path_prop, NULL, 0);
/* add slash for directories, important for some properties */
if(RNA_property_subtype(fbo->prop) == PROP_DIRPATH) {
@@ -191,12 +192,13 @@ static int file_browse_invoke(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_CANCELLED;
}
else {
+ const char *path_prop= RNA_struct_find_property(op->ptr, "directory") ? "directory" : "filepath";
fbo= MEM_callocN(sizeof(FileBrowseOp), "FileBrowseOp");
fbo->ptr= ptr;
fbo->prop= prop;
op->customdata= fbo;
- RNA_string_set(op->ptr, "filepath", str);
+ RNA_string_set(op->ptr, path_prop, str);
MEM_freeN(str);
if(RNA_struct_find_property(op->ptr, "relative_path")) {
@@ -227,3 +229,19 @@ void BUTTONS_OT_file_browse(wmOperatorType *ot)
WM_operator_properties_filesel(ot, 0, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
}
+/* second operator, only difference from BUTTONS_OT_file_browse is WM_FILESEL_DIRECTORY */
+void BUTTONS_OT_directory_browse(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Accept";
+ ot->description="Open a directory browser, Hold Shift to open the file, Alt to browse containing directory";
+ ot->idname= "BUTTONS_OT_directory_browse";
+
+ /* api callbacks */
+ ot->invoke= file_browse_invoke;
+ ot->exec= file_browse_exec;
+ ot->cancel= file_browse_cancel;
+
+ /* properties */
+ WM_operator_properties_filesel(ot, 0, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH);
+}
diff --git a/source/blender/editors/space_buttons/space_buttons.c b/source/blender/editors/space_buttons/space_buttons.c
index 16c4df59420..ef927fd69fc 100644
--- a/source/blender/editors/space_buttons/space_buttons.c
+++ b/source/blender/editors/space_buttons/space_buttons.c
@@ -187,6 +187,7 @@ static void buttons_operatortypes(void)
{
WM_operatortype_append(BUTTONS_OT_toolbox);
WM_operatortype_append(BUTTONS_OT_file_browse);
+ WM_operatortype_append(BUTTONS_OT_directory_browse);
}
static void buttons_keymap(struct wmKeyConfig *keyconf)
@@ -268,6 +269,7 @@ static void buttons_area_listener(ScrArea *sa, wmNotifier *wmn)
buttons_area_redraw(sa, BCONTEXT_DATA); /* autotexpace flag */
break;
case ND_POSE:
+ buttons_area_redraw(sa, BCONTEXT_DATA);
case ND_BONE_ACTIVE:
case ND_BONE_SELECT:
buttons_area_redraw(sa, BCONTEXT_BONE);
diff --git a/source/blender/editors/space_console/console_draw.c b/source/blender/editors/space_console/console_draw.c
index bf5df87610c..905fed4f30b 100644
--- a/source/blender/editors/space_console/console_draw.c
+++ b/source/blender/editors/space_console/console_draw.c
@@ -83,11 +83,13 @@ typedef struct ConsoleDrawContext {
int console_width;
int winx;
int ymin, ymax;
+#if 0 /* used by textview, may use later */
int *xy; // [2]
int *sel; // [2]
int *pos_pick; // bottom of view == 0, top of file == combine chars, end of line is lower then start.
int *mval; // [2]
int draw;
+#endif
} ConsoleDrawContext;
void console_scrollback_prompt_begin(struct SpaceConsole *sc, ConsoleLine *cl_dummy)
diff --git a/source/blender/editors/space_console/console_ops.c b/source/blender/editors/space_console/console_ops.c
index 97c2d9e3eb4..4707baa279b 100644
--- a/source/blender/editors/space_console/console_ops.c
+++ b/source/blender/editors/space_console/console_ops.c
@@ -84,7 +84,7 @@ static void console_scrollback_limit(SpaceConsole *sc)
{
int tot;
- if (U.scrollback < 32) U.scrollback= 128; // XXX - save in user defaults
+ if (U.scrollback < 32) U.scrollback= 256; // XXX - save in user defaults
for(tot= BLI_countlist(&sc->scrollback); tot > U.scrollback; tot--)
console_scrollback_free(sc, sc->scrollback.first);
@@ -675,7 +675,12 @@ static int scrollback_append_exec(bContext *C, wmOperator *op)
console_scrollback_limit(sc);
- console_textview_update_rect(sc, ar);
+ /* 'ar' can be null depending on the operator that runs
+ * rendering with invoke default for eg causes this */
+ if(ar) {
+ console_textview_update_rect(sc, ar);
+ }
+
ED_area_tag_redraw(CTX_wm_area(C));
return OPERATOR_FINISHED;
diff --git a/source/blender/editors/space_console/space_console.c b/source/blender/editors/space_console/space_console.c
index 890a6cf545a..c8fa049f5eb 100644
--- a/source/blender/editors/space_console/space_console.c
+++ b/source/blender/editors/space_console/space_console.c
@@ -165,8 +165,11 @@ static void id_drop_copy(wmDrag *drag, wmDropBox *drop)
{
char text[64];
ID *id= drag->poin;
+ char id_esc[(sizeof(id->name) - 2) * 2];
- snprintf(text, sizeof(text), "bpy.data.%s['%s']", BKE_idcode_to_name_plural(GS(id->name)), id->name+2);
+ BLI_strescape(id_esc, id->name+2, sizeof(id_esc));
+
+ BLI_snprintf(text, sizeof(text), "bpy.data.%s[\"%s\"]", BKE_idcode_to_name_plural(GS(id->name)), id_esc);
/* copy drag path to properties */
RNA_string_set(drop->ptr, "text", text);
@@ -183,7 +186,7 @@ static int path_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUSED(eve
static void path_drop_copy(wmDrag *drag, wmDropBox *drop)
{
char pathname[FILE_MAXDIR+FILE_MAXFILE+2];
- snprintf(pathname, sizeof(pathname), "\"%s\"", drag->path);
+ BLI_snprintf(pathname, sizeof(pathname), "\"%s\"", drag->path);
RNA_string_set(drop->ptr, "text", pathname);
}
diff --git a/source/blender/editors/space_file/CMakeLists.txt b/source/blender/editors/space_file/CMakeLists.txt
index afa746ea359..4aa6cdbcf2f 100644
--- a/source/blender/editors/space_file/CMakeLists.txt
+++ b/source/blender/editors/space_file/CMakeLists.txt
@@ -28,8 +28,8 @@ set(INC
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
)
diff --git a/source/blender/editors/space_file/SConscript b/source/blender/editors/space_file/SConscript
index 7c55b40e816..ad96840f7b9 100644
--- a/source/blender/editors/space_file/SConscript
+++ b/source/blender/editors/space_file/SConscript
@@ -19,7 +19,7 @@ if env['WITH_BF_OPENEXR']:
if env['WITH_BF_TIFF']:
defs.append('WITH_TIFF')
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/space_file/file_draw.c b/source/blender/editors/space_file/file_draw.c
index a6fee359197..9fecfda7764 100644
--- a/source/blender/editors/space_file/file_draw.c
+++ b/source/blender/editors/space_file/file_draw.c
@@ -185,16 +185,18 @@ void file_draw_buttons(const bContext *C, ARegion *ar)
uiButSetCompleteFunc(but, autocomplete_directory, NULL);
uiButSetFlag(but, UI_BUT_NO_UTF8);
- but = uiDefBut(block, TEX, B_FS_FILENAME, "",
- min_x, line2_y, line2_w-chan_offs, btn_h,
- params->file, 0.0, (float)FILE_MAXFILE-1, 0, 0,
- overwrite_alert ?"File name, overwrite existing." : "File name.");
- uiButSetCompleteFunc(but, autocomplete_file, NULL);
- uiButSetFlag(but, UI_BUT_NO_UTF8);
-
- /* check if this overrides a file and if the operator option is used */
- if(overwrite_alert) {
- uiButSetFlag(but, UI_BUT_REDALERT);
+ if((params->flag & FILE_DIRSEL_ONLY) == 0) {
+ but = uiDefBut(block, TEX, B_FS_FILENAME, "",
+ min_x, line2_y, line2_w-chan_offs, btn_h,
+ params->file, 0.0, (float)FILE_MAXFILE-1, 0, 0,
+ overwrite_alert ?"File name, overwrite existing." : "File name.");
+ uiButSetCompleteFunc(but, autocomplete_file, NULL);
+ uiButSetFlag(but, UI_BUT_NO_UTF8);
+
+ /* check if this overrides a file and if the operator option is used */
+ if(overwrite_alert) {
+ uiButSetFlag(but, UI_BUT_REDALERT);
+ }
}
/* clear func */
@@ -202,7 +204,7 @@ void file_draw_buttons(const bContext *C, ARegion *ar)
}
/* Filename number increment / decrement buttons. */
- if (fnumbuttons) {
+ if (fnumbuttons && (params->flag & FILE_DIRSEL_ONLY) == 0) {
uiBlockBeginAlign(block);
but = uiDefIconButO(block, BUT, "FILE_OT_filenum", 0, ICON_ZOOMOUT,
min_x + line2_w + separator - chan_offs, line2_y,
diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c
index a5d516a1417..1b0893e50e0 100644
--- a/source/blender/editors/space_file/file_ops.c
+++ b/source/blender/editors/space_file/file_ops.c
@@ -64,6 +64,7 @@
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
+#include <ctype.h>
/* for events */
#define NOTACTIVEFILE 0
@@ -205,9 +206,10 @@ static FileSelect file_select(bContext* C, const rcti* rect, FileSelType select,
SpaceFile *sfile= CTX_wm_space_file(C);
FileSelect retval = FILE_SELECT_NOTHING;
FileSelection sel= file_selection_get(C, rect, fill); /* get the selection */
+ const FileCheckType check_type= (sfile->params->flag & FILE_DIRSEL_ONLY) ? CHECK_DIRS : CHECK_ALL;
/* flag the files as selected in the filelist */
- filelist_select(sfile->files, &sel, select, SELECTED_FILE, CHECK_ALL);
+ filelist_select(sfile->files, &sel, select, SELECTED_FILE, check_type);
/* Don't act on multiple selected files */
if (sel.first != sel.last) select = 0;
@@ -216,7 +218,7 @@ static FileSelect file_select(bContext* C, const rcti* rect, FileSelType select,
if ( (sel.last >= 0) && ((select == FILE_SEL_ADD) || (select == FILE_SEL_TOGGLE)) )
{
/* Check last selection, if selected, act on the file or dir */
- if (filelist_is_selected(sfile->files, sel.last, CHECK_ALL)) {
+ if (filelist_is_selected(sfile->files, sel.last, check_type)) {
retval = file_select_do(C, sel.last);
}
}
@@ -378,8 +380,10 @@ static int file_select_all_exec(bContext *C, wmOperator *UNUSED(op))
/* select all only if previously no file was selected */
if (is_selected) {
filelist_select(sfile->files, &sel, FILE_SEL_REMOVE, SELECTED_FILE, CHECK_ALL);
- } else {
- filelist_select(sfile->files, &sel, FILE_SEL_ADD, SELECTED_FILE, CHECK_FILES);
+ }
+ else {
+ const FileCheckType check_type= (sfile->params->flag & FILE_DIRSEL_ONLY) ? CHECK_DIRS : CHECK_FILES;
+ filelist_select(sfile->files, &sel, FILE_SEL_ADD, SELECTED_FILE, check_type);
}
ED_area_tag_redraw(sa);
return OPERATOR_FINISHED;
@@ -617,25 +621,31 @@ void file_sfile_to_operator(wmOperator *op, SpaceFile *sfile, char *filepath)
}
/* some ops have multiple files to select */
+ /* this is called on operators check() so clear collections first since
+ * they may be already set. */
{
PointerRNA itemptr;
+ PropertyRNA *prop_files= RNA_struct_find_property(op->ptr, "files");
+ PropertyRNA *prop_dirs= RNA_struct_find_property(op->ptr, "dirs");
int i, numfiles = filelist_numfiles(sfile->files);
- if(RNA_struct_find_property(op->ptr, "files")) {
+ if(prop_files) {
+ RNA_property_collection_clear(op->ptr, prop_files);
for (i=0; i<numfiles; i++) {
if (filelist_is_selected(sfile->files, i, CHECK_FILES)) {
struct direntry *file= filelist_file(sfile->files, i);
- RNA_collection_add(op->ptr, "files", &itemptr);
+ RNA_property_collection_add(op->ptr, prop_files, &itemptr);
RNA_string_set(&itemptr, "name", file->relname);
}
}
}
-
- if(RNA_struct_find_property(op->ptr, "dirs")) {
+
+ if(prop_dirs) {
+ RNA_property_collection_clear(op->ptr, prop_dirs);
for (i=0; i<numfiles; i++) {
if (filelist_is_selected(sfile->files, i, CHECK_DIRS)) {
struct direntry *file= filelist_file(sfile->files, i);
- RNA_collection_add(op->ptr, "dirs", &itemptr);
+ RNA_property_collection_add(op->ptr, prop_dirs, &itemptr);
RNA_string_set(&itemptr, "name", file->relname);
}
}
@@ -647,25 +657,27 @@ void file_sfile_to_operator(wmOperator *op, SpaceFile *sfile, char *filepath)
void file_operator_to_sfile(SpaceFile *sfile, wmOperator *op)
{
- int change= FALSE;
- if(RNA_struct_find_property(op->ptr, "filename")) {
- RNA_string_get(op->ptr, "filename", sfile->params->file);
- change= TRUE;
- }
- if(RNA_struct_find_property(op->ptr, "directory")) {
- RNA_string_get(op->ptr, "directory", sfile->params->dir);
- change= TRUE;
- }
-
+ PropertyRNA *prop;
+
/* If neither of the above are set, split the filepath back */
- if(RNA_struct_find_property(op->ptr, "filepath")) {
- if(change==FALSE) {
- char filepath[FILE_MAX];
- RNA_string_get(op->ptr, "filepath", filepath);
- BLI_split_dirfile(filepath, sfile->params->dir, sfile->params->file);
+ if((prop= RNA_struct_find_property(op->ptr, "filepath"))) {
+ char filepath[FILE_MAX];
+ RNA_property_string_get(op->ptr, prop, filepath);
+ BLI_split_dirfile(filepath, sfile->params->dir, sfile->params->file);
+ }
+ else {
+ if((prop= RNA_struct_find_property(op->ptr, "filename"))) {
+ RNA_property_string_get(op->ptr, prop, sfile->params->file);
+ }
+ if((prop= RNA_struct_find_property(op->ptr, "directory"))) {
+ RNA_property_string_get(op->ptr, prop, sfile->params->dir);
}
}
+ /* we could check for relative_path property which is used when converting
+ * in the other direction but doesnt hurt to do this every time */
+ BLI_path_abs(sfile->params->dir, G.main->name);
+
/* XXX, files and dirs updates missing, not really so important though */
}
@@ -1076,8 +1088,18 @@ static void file_expand_directory(bContext *C)
}
#ifdef WIN32
- if (sfile->params->dir[0] == '\0')
+ if (sfile->params->dir[0] == '\0') {
get_default_root(sfile->params->dir);
+ }
+ /* change "C:" --> "C:\", [#28102] */
+ else if ( (isalpha(sfile->params->dir[0]) &&
+ (sfile->params->dir[1] == ':')) &&
+ (sfile->params->dir[2] == '\0')
+
+ ) {
+ sfile->params->dir[2]= '\\';
+ sfile->params->dir[3]= '\0';
+ }
#endif
}
}
@@ -1145,6 +1167,13 @@ int file_filename_exec(bContext *C, wmOperator *UNUSED(unused))
return OPERATOR_FINISHED;
}
+/* TODO, directory operator is non-functional while a library is loaded
+ * until this is properly supported just disable it. */
+static int file_directory_poll(bContext *C)
+{
+ return ED_operator_file_active(C) && filelist_lib(CTX_wm_space_file(C)->files) == NULL;
+}
+
void FILE_OT_directory(struct wmOperatorType *ot)
{
/* identifiers */
@@ -1155,7 +1184,7 @@ void FILE_OT_directory(struct wmOperatorType *ot)
/* api callbacks */
ot->invoke= file_directory_invoke;
ot->exec= file_directory_exec;
- ot->poll= ED_operator_file_active; /* <- important, handler is on window level */
+ ot->poll= file_directory_poll; /* <- important, handler is on window level */
}
void FILE_OT_refresh(struct wmOperatorType *ot)
@@ -1276,7 +1305,7 @@ void FILE_OT_filenum(struct wmOperatorType *ot)
ot->poll= ED_operator_file_active; /* <- important, handler is on window level */
/* props */
- RNA_def_int(ot->srna, "increment", 1, 0, 100, "Increment", "", 0,100);
+ RNA_def_int(ot->srna, "increment", 1, -100, 100, "Increment", "", -100,100);
}
static int file_rename_exec(bContext *C, wmOperator *UNUSED(op))
diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index 32b725e0b1f..7382188d62a 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -602,28 +602,6 @@ short filelist_changed(struct FileList* filelist)
return filelist->changed;
}
-static struct ImBuf * filelist_loadimage(struct FileList* filelist, int index)
-{
- ImBuf *imb = NULL;
- int fidx = 0;
-
- if ( (index < 0) || (index >= filelist->numfiltered) ) {
- return NULL;
- }
- fidx = filelist->fidx[index];
- imb = filelist->filelist[fidx].image;
- if (!imb)
- {
- if ( (filelist->filelist[fidx].flags & IMAGEFILE) || (filelist->filelist[fidx].flags & MOVIEFILE) ) {
- imb = IMB_thumb_read(filelist->filelist[fidx].path, THB_NORMAL);
- }
- if (imb) {
- filelist->filelist[fidx].image = imb;
- }
- }
- return imb;
-}
-
struct ImBuf * filelist_getimage(struct FileList* filelist, int index)
{
ImBuf* ibuf = NULL;
@@ -915,6 +893,8 @@ void filelist_select_file(struct FileList* filelist, int index, FileSelType sele
int check_ok = 0;
switch (check) {
case CHECK_DIRS:
+ check_ok = S_ISDIR(file->type);
+ break;
case CHECK_ALL:
check_ok = 1;
break;
@@ -1125,7 +1105,7 @@ void filelist_from_main(struct FileList *filelist)
if( filelist->dir[0]==0) {
/* make directories */
- filelist->numfiles= 23;
+ filelist->numfiles= 24;
filelist->filelist= (struct direntry *)malloc(filelist->numfiles * sizeof(struct direntry));
for(a=0; a<filelist->numfiles; a++) {
@@ -1155,6 +1135,7 @@ void filelist_from_main(struct FileList *filelist)
filelist->filelist[20].relname= BLI_strdup("Armature");
filelist->filelist[21].relname= BLI_strdup("Action");
filelist->filelist[22].relname= BLI_strdup("NodeTree");
+ filelist->filelist[23].relname= BLI_strdup("Speaker");
filelist_sort(filelist, FILE_SORT_ALPHA);
}
else {
diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c
index 45193a38ef5..6773dfb6b2d 100644
--- a/source/blender/editors/space_file/filesel.c
+++ b/source/blender/editors/space_file/filesel.c
@@ -121,6 +121,11 @@ short ED_fileselect_set_params(SpaceFile *sfile)
/* set the parameters from the operator, if it exists */
if (op) {
+ const short is_files= (RNA_struct_find_property(op->ptr, "files") != NULL);
+ const short is_filepath= (RNA_struct_find_property(op->ptr, "filepath") != NULL);
+ const short is_filename= (RNA_struct_find_property(op->ptr, "filename") != NULL);
+ const short is_directory= (RNA_struct_find_property(op->ptr, "directory") != NULL);
+
BLI_strncpy(params->title, op->type->name, sizeof(params->title));
if(RNA_struct_find_property(op->ptr, "filemode"))
@@ -128,7 +133,7 @@ short ED_fileselect_set_params(SpaceFile *sfile)
else
params->type = FILE_SPECIAL;
- if (RNA_struct_find_property(op->ptr, "filepath") && RNA_property_is_set(op->ptr, "filepath")) {
+ if (is_filepath && RNA_property_is_set(op->ptr, "filepath")) {
char name[FILE_MAX];
RNA_string_get(op->ptr, "filepath", name);
if (params->type == FILE_LOADLIB) {
@@ -140,12 +145,12 @@ short ED_fileselect_set_params(SpaceFile *sfile)
}
}
else {
- if (RNA_struct_find_property(op->ptr, "directory") && RNA_property_is_set(op->ptr, "directory")) {
+ if (is_directory && RNA_property_is_set(op->ptr, "directory")) {
RNA_string_get(op->ptr, "directory", params->dir);
sfile->params->file[0]= '\0';
}
- if (RNA_struct_find_property(op->ptr, "filename") && RNA_property_is_set(op->ptr, "filename")) {
+ if (is_filename && RNA_property_is_set(op->ptr, "filename")) {
RNA_string_get(op->ptr, "filename", params->file);
}
}
@@ -155,6 +160,13 @@ short ED_fileselect_set_params(SpaceFile *sfile)
BLI_path_abs(params->dir, G.main->name);
}
+ if(is_directory==TRUE && is_filename==FALSE && is_filepath==FALSE && is_files==FALSE) {
+ params->flag |= FILE_DIRSEL_ONLY;
+ }
+ else {
+ params->flag &= ~FILE_DIRSEL_ONLY;
+ }
+
params->filter = 0;
if(RNA_struct_find_property(op->ptr, "filter_blender"))
params->filter |= RNA_boolean_get(op->ptr, "filter_blender") ? BLENDERFILE : 0;
@@ -216,10 +228,12 @@ short ED_fileselect_set_params(SpaceFile *sfile)
params->display= FILE_SHORTDISPLAY;
}
- } else {
+ }
+ else {
/* default values, if no operator */
params->type = FILE_UNIX;
params->flag |= FILE_HIDE_DOT;
+ params->flag &= ~FILE_DIRSEL_ONLY;
params->display = FILE_SHORTDISPLAY;
params->filter = 0;
params->filter_glob[0] = '\0';
diff --git a/source/blender/editors/space_file/fsmenu.c b/source/blender/editors/space_file/fsmenu.c
index a6e84b0c41d..aa2ea124fe0 100644
--- a/source/blender/editors/space_file/fsmenu.c
+++ b/source/blender/editors/space_file/fsmenu.c
@@ -300,7 +300,7 @@ void fsmenu_read_system(struct FSMenu* fsmenu)
tmp= GetLogicalDrives();
- for (i=2; i < 26; i++) {
+ for (i=0; i < 26; i++) {
if ((tmp>>i) & 1) {
tmps[0]='A'+i;
tmps[1]=':';
diff --git a/source/blender/editors/space_graph/CMakeLists.txt b/source/blender/editors/space_graph/CMakeLists.txt
index f5548097db2..80205ad5564 100644
--- a/source/blender/editors/space_graph/CMakeLists.txt
+++ b/source/blender/editors/space_graph/CMakeLists.txt
@@ -22,13 +22,12 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
)
set(INC_SYS
@@ -47,4 +46,11 @@ set(SRC
graph_intern.h
)
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
blender_add_lib(bf_editor_space_graph "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_graph/graph_buttons.c b/source/blender/editors/space_graph/graph_buttons.c
index fb1144b4fa8..f3a70c496ef 100644
--- a/source/blender/editors/space_graph/graph_buttons.c
+++ b/source/blender/editors/space_graph/graph_buttons.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -53,6 +51,7 @@
#include "BKE_fcurve.h"
#include "BKE_main.h"
#include "BKE_screen.h"
+#include "BKE_unit.h"
#include "WM_api.h"
@@ -77,8 +76,7 @@
/* ******************* graph editor space & buttons ************** */
-#define B_NOP 1
-#define B_REDR 2
+#define B_REDR 1
/* -------------- */
@@ -244,6 +242,34 @@ static short get_active_fcurve_keyframe_edit(FCurve *fcu, BezTriple **bezt, BezT
return 0;
}
+/* update callback for active keyframe properties - base updates stuff */
+static void graphedit_activekey_update_cb(bContext *UNUSED(C), void *fcu_ptr, void *UNUSED(bezt_ptr))
+{
+ FCurve *fcu = (FCurve *)fcu_ptr;
+
+ /* make sure F-Curve and its handles are still valid after this editing */
+ sort_time_fcurve(fcu);
+ testhandles_fcurve(fcu);
+}
+
+/* update callback for active keyframe properties - handle-editing wrapper */
+static void graphedit_activekey_handles_cb(bContext *C, void *fcu_ptr, void *bezt_ptr)
+{
+ BezTriple *bezt = (BezTriple *)bezt_ptr;
+
+ /* since editing the handles, make sure they're set to types which are receptive to editing
+ * see transform_conversions.c :: createTransGraphEditData(), last step in second loop
+ */
+ if (ELEM(bezt->h1, HD_AUTO, HD_AUTO_ANIM) && ELEM(bezt->h2, HD_AUTO, HD_AUTO_ANIM)) {
+ /* by changing to aligned handles, these can now be moved... */
+ bezt->h1= HD_ALIGN;
+ bezt->h2= HD_ALIGN;
+ }
+
+ /* now call standard updates */
+ graphedit_activekey_update_cb(C, fcu_ptr, bezt_ptr);
+}
+
static void graph_panel_key_properties(const bContext *C, Panel *pa)
{
bAnimListElem *ale;
@@ -262,27 +288,66 @@ static void graph_panel_key_properties(const bContext *C, Panel *pa)
/* only show this info if there are keyframes to edit */
if (get_active_fcurve_keyframe_edit(fcu, &bezt, &prevbezt)) {
- PointerRNA bezt_ptr;
+ PointerRNA bezt_ptr, id_ptr, fcu_prop_ptr;
+ PropertyRNA *fcu_prop = NULL;
+ uiBut *but;
+ int unit = B_UNIT_NONE;
/* RNA pointer to keyframe, to allow editing */
RNA_pointer_create(ale->id, &RNA_Keyframe, bezt, &bezt_ptr);
+ /* get property that F-Curve affects, for some unit-conversion magic */
+ RNA_id_pointer_create(ale->id, &id_ptr);
+ if (RNA_path_resolve(&id_ptr, fcu->rna_path, &fcu_prop_ptr, &fcu_prop) && fcu_prop) {
+ /* determine the unit for this property */
+ unit = RNA_SUBTYPE_UNIT(RNA_property_subtype(fcu_prop));
+ }
+
/* interpolation */
col= uiLayoutColumn(layout, 0);
uiItemR(col, &bezt_ptr, "interpolation", 0, NULL, ICON_NONE);
- /* numerical coordinate editing */
+ /* numerical coordinate editing
+ * - we use the button-versions of the calls so that we can attach special update handlers
+ * and unit conversion magic that cannot be achieved using a purely RNA-approach
+ */
+ // XXX:
col= uiLayoutColumn(layout, 1);
/* keyframe itself */
- uiItemR(col, &bezt_ptr, "co", 0, "Key", ICON_NONE);
+ {
+ uiItemL(col, "Key:", ICON_NONE);
+
+ but = uiDefButR(block, NUM, B_REDR, "Frame", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "co", 0, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_update_cb, fcu, bezt);
+
+ but = uiDefButR(block, NUM, B_REDR, "Value", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "co", 1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_update_cb, fcu, bezt);
+ uiButSetUnitType(but, unit);
+ }
/* previous handle - only if previous was Bezier interpolation */
- if ((prevbezt) && (prevbezt->ipo == BEZT_IPO_BEZ))
- uiItemR(col, &bezt_ptr, "handle_left", 0, NULL, ICON_NONE);
+ if ((prevbezt) && (prevbezt->ipo == BEZT_IPO_BEZ)) {
+ uiItemL(col, "Left Handle:", ICON_NONE);
+
+ but = uiDefButR(block, NUM, B_REDR, "X", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "handle_left", 0, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_handles_cb, fcu, bezt);
+
+ but = uiDefButR(block, NUM, B_REDR, "Y", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "handle_left", 1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_handles_cb, fcu, bezt);
+ uiButSetUnitType(but, unit);
+ }
/* next handle - only if current is Bezier interpolation */
- if (bezt->ipo == BEZT_IPO_BEZ)
- uiItemR(col, &bezt_ptr, "handle_right", 0, NULL, ICON_NONE);
+ if (bezt->ipo == BEZT_IPO_BEZ) {
+ uiItemL(col, "Right Handle:", ICON_NONE);
+
+ but = uiDefButR(block, NUM, B_REDR, "X", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "handle_right", 0, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_handles_cb, fcu, bezt);
+
+ but = uiDefButR(block, NUM, B_REDR, "Y", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "handle_right", 1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_handles_cb, fcu, bezt);
+ uiButSetUnitType(but, unit);
+ }
}
else {
if ((fcu->bezt == NULL) && (fcu->modifiers.first)) {
@@ -472,7 +537,7 @@ static void graph_panel_driverVar__locDiff(uiLayout *layout, ID *id, DriverVar *
uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);
}
- uiItemR(col, &dtar_ptr, "use_local_space_transform", 0, NULL, ICON_NONE);
+ uiItemR(col, &dtar_ptr, "transform_space", 0, NULL, ICON_NONE);
col= uiLayoutColumn(layout, 1);
uiTemplateAnyID(col, &dtar2_ptr, "id", "id_type", "Ob/Bone 2:");
@@ -484,7 +549,7 @@ static void graph_panel_driverVar__locDiff(uiLayout *layout, ID *id, DriverVar *
uiItemPointerR(col, &dtar2_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);
}
- uiItemR(col, &dtar2_ptr, "use_local_space_transform", 0, NULL, ICON_NONE);
+ uiItemR(col, &dtar2_ptr, "transform_space", 0, NULL, ICON_NONE);
}
/* settings for 'transform channel' driver variable type */
@@ -493,7 +558,7 @@ static void graph_panel_driverVar__transChan(uiLayout *layout, ID *id, DriverVar
DriverTarget *dtar= &dvar->targets[0];
Object *ob = (Object *)dtar->id;
PointerRNA dtar_ptr;
- uiLayout *col, *row;
+ uiLayout *col, *subcol;
/* initialise RNA pointer to the target */
RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr);
@@ -509,9 +574,9 @@ static void graph_panel_driverVar__transChan(uiLayout *layout, ID *id, DriverVar
uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);
}
- row= uiLayoutRow(layout, 1);
- uiItemR(row, &dtar_ptr, "transform_type", 0, "", ICON_NONE);
- uiItemR(row, &dtar_ptr, "use_local_space_transform", 0, NULL, ICON_NONE);
+ subcol= uiLayoutColumn(layout, 1);
+ uiItemR(subcol, &dtar_ptr, "transform_type", 0, NULL, ICON_NONE);
+ uiItemR(subcol, &dtar_ptr, "transform_space", 0, "Space", ICON_NONE);
}
/* driver settings for active F-Curve (only for 'Drivers' mode) */
@@ -659,7 +724,6 @@ static void graph_panel_drivers(const bContext *C, Panel *pa)
static void do_graph_region_modifier_buttons(bContext *C, void *UNUSED(arg), int event)
{
switch (event) {
- case B_REDR:
case B_FMODIFIER_REDRAW: // XXX this should send depsgraph updates too
WM_event_add_notifier(C, NC_ANIMATION, NULL); // XXX need a notifier specially for F-Modifiers
break;
diff --git a/source/blender/editors/space_graph/graph_draw.c b/source/blender/editors/space_graph/graph_draw.c
index 382bb71a592..dc5e71f0406 100644
--- a/source/blender/editors/space_graph/graph_draw.c
+++ b/source/blender/editors/space_graph/graph_draw.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -356,10 +354,6 @@ static void draw_fcurve_handles (SpaceIpo *sipo, FCurve *fcu)
float *fp;
unsigned char col[4];
- /* if only selected keyframes have handles shown, skip the first round */
- if ((sel == 0) && (sipo->flag & SIPO_SELVHANDLESONLY))
- continue;
-
for (b= 0; b < fcu->totvert; b++, prevbezt=bezt, bezt++) {
/* if only selected keyframes can get their handles shown,
* check that keyframe is selected
@@ -372,7 +366,7 @@ static void draw_fcurve_handles (SpaceIpo *sipo, FCurve *fcu)
/* draw handle with appropriate set of colors if selection is ok */
if ((bezt->f2 & SELECT)==sel) {
fp= bezt->vec[0];
-
+
/* only draw first handle if previous segment had handles */
if ( (!prevbezt && (bezt->ipo==BEZT_IPO_BEZ)) || (prevbezt && (prevbezt->ipo==BEZT_IPO_BEZ)) )
{
@@ -382,14 +376,14 @@ static void draw_fcurve_handles (SpaceIpo *sipo, FCurve *fcu)
glVertex2fv(fp); glVertex2fv(fp+3);
}
-
+
/* only draw second handle if this segment is bezier */
if (bezt->ipo == BEZT_IPO_BEZ)
{
UI_GetThemeColor3ubv(basecol + bezt->h2, col);
col[3]= drawFCurveFade(fcu) * 255;
glColor4ubv((GLubyte *)col);
-
+
glVertex2fv(fp+3); glVertex2fv(fp+6);
}
}
@@ -402,7 +396,7 @@ static void draw_fcurve_handles (SpaceIpo *sipo, FCurve *fcu)
UI_GetThemeColor3ubv(basecol + bezt->h1, col);
col[3]= drawFCurveFade(fcu) * 255;
glColor4ubv((GLubyte *)col);
-
+
glVertex2fv(fp); glVertex2fv(fp+3);
}
@@ -684,6 +678,7 @@ static void draw_fcurve_curve_bezts (bAnimContext *ac, ID *id, FCurve *fcu, View
}
/* draw curve between first and last keyframe (if there are enough to do so) */
+ // TODO: optimise this to not have to calc stuff out of view too?
while (b--) {
if (prevbezt->ipo==BEZT_IPO_CONST) {
/* Constant-Interpolation: draw segment between previous keyframe and next, but holding same value */
@@ -706,12 +701,12 @@ static void draw_fcurve_curve_bezts (bAnimContext *ac, ID *id, FCurve *fcu, View
* - resol determines number of points to sample in between keyframes
*/
- /* resol not depending on horizontal resolution anymore, drivers for example... */
- // TODO: would be nice to make this depend on the scale of the graph too...
+ /* resol depends on distance between points (not just horizontal) OR is a fixed high res */
+ // TODO: view scale should factor into this someday too...
if (fcu->driver)
resol= 32;
else
- resol= (int)(3.0*sqrt(bezt->vec[1][0] - prevbezt->vec[1][0]));
+ resol= (int)(5.0f*len_v2v2(bezt->vec[1], prevbezt->vec[1]));
if (resol < 2) {
/* only draw one */
@@ -721,6 +716,7 @@ static void draw_fcurve_curve_bezts (bAnimContext *ac, ID *id, FCurve *fcu, View
}
else {
/* clamp resolution to max of 32 */
+ // NOTE: higher values will crash
if (resol > 32) resol= 32;
v1[0]= prevbezt->vec[1][0];
@@ -834,7 +830,7 @@ void graph_draw_curves (bAnimContext *ac, SpaceIpo *sipo, ARegion *ar, View2DGri
int filter;
/* build list of curves to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CURVESONLY|ANIMFILTER_CURVEVISIBLE);
+ filter= (ANIMFILTER_DATA_VISIBLE|ANIMFILTER_CURVE_VISIBLE);
filter |= ((sel) ? (ANIMFILTER_SEL) : (ANIMFILTER_UNSEL));
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -877,6 +873,11 @@ void graph_draw_curves (bAnimContext *ac, SpaceIpo *sipo, ARegion *ar, View2DGri
glColor4f(fcu->color[0], fcu->color[1], fcu->color[2], drawFCurveFade(fcu));
}
+ /* draw active F-Curve thicker than the rest to make it stand out */
+ if (fcu->flag & FCURVE_ACTIVE) {
+ glLineWidth(2.0);
+ }
+
/* anti-aliased lines for less jagged appearance */
if ((sipo->flag & SIPO_BEAUTYDRAW_OFF)==0) glEnable(GL_LINE_SMOOTH);
glEnable(GL_BLEND);
@@ -898,6 +899,7 @@ void graph_draw_curves (bAnimContext *ac, SpaceIpo *sipo, ARegion *ar, View2DGri
/* restore settings */
setlinestyle(0);
+ glLineWidth(1.0);
if ((sipo->flag & SIPO_BEAUTYDRAW_OFF)==0) glDisable(GL_LINE_SMOOTH);
glDisable(GL_BLEND);
@@ -964,10 +966,11 @@ void graph_draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
View2D *v2d= &ar->v2d;
float y= 0.0f, height;
- int items, i=0;
+ size_t items;
+ int i=0;
/* build list of channels to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
items= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* Update max-extent of channels here (taking into account scrollers):
@@ -1001,6 +1004,7 @@ void graph_draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
}
{ /* second pass: widgets */
uiBlock *block= uiBeginBlock(C, ar, "graph channel buttons", UI_EMBOSS);
+ size_t channel_index = 0;
y= (float)ACHANNEL_FIRST;
@@ -1017,11 +1021,12 @@ void graph_draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax) )
{
/* draw all channels using standard channel-drawing API */
- ANIM_channel_draw_widgets(ac, ale, block, yminc, ymaxc);
+ ANIM_channel_draw_widgets(C, ac, ale, block, yminc, ymaxc, channel_index);
}
/* adjust y-position for next one */
y -= ACHANNEL_STEP;
+ channel_index++;
}
uiEndBlock(C, block);
diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c
index 962cadba1f3..900aa6f6197 100644
--- a/source/blender/editors/space_graph/graph_edit.c
+++ b/source/blender/editors/space_graph/graph_edit.c
@@ -37,7 +37,9 @@
#include <string.h>
#include <float.h>
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "MEM_guardedalloc.h"
@@ -88,7 +90,7 @@ void get_graph_keyframe_extents (bAnimContext *ac, float *xmin, float *xmax, flo
int filter;
/* get data to filter, from Dopesheet */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* set large values to try to override */
@@ -279,7 +281,7 @@ void GRAPH_OT_view_selected (wmOperatorType *ot)
/* Bake each F-Curve into a set of samples, and store as a ghost curve */
static void create_ghost_curves (bAnimContext *ac, int start, int end)
{
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
int filter;
@@ -294,7 +296,7 @@ static void create_ghost_curves (bAnimContext *ac, int start, int end)
}
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and add keys between selected keyframes on every frame */
@@ -399,7 +401,7 @@ static int graphkeys_clear_ghostcurves_exec(bContext *C, wmOperator *UNUSED(op))
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- sipo= (SpaceIpo *)ac.sa->spacedata.first;
+ sipo= (SpaceIpo *)ac.sl;
/* if no ghost curves, don't do anything */
if (sipo->ghostCurves.first == NULL)
@@ -453,7 +455,7 @@ static void insert_graph_keys(bAnimContext *ac, short mode)
short flag = 0;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
if (mode == 2) filter |= ANIMFILTER_SEL;
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -648,7 +650,7 @@ static short copy_graph_keys (bAnimContext *ac)
free_anim_copybuf();
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* copy keyframes */
@@ -667,7 +669,7 @@ static short paste_graph_keys (bAnimContext *ac,
int filter, ok=0;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* paste keyframes */
@@ -773,7 +775,7 @@ static void duplicate_graph_keys (bAnimContext *ac)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and delete selected keys */
@@ -842,7 +844,7 @@ static void delete_graph_keys (bAnimContext *ac)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and delete selected keys */
@@ -909,7 +911,7 @@ static void clean_graph_keys (bAnimContext *ac, float thresh)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and clean curves */
@@ -976,7 +978,7 @@ static void bake_graph_curves (bAnimContext *ac, int start, int end)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and add keys between selected keyframes on every frame */
@@ -1079,6 +1081,7 @@ static float fcurve_samplingcb_sound (FCurve *UNUSED(fcu), void *data, float eva
/* ------------------- */
+#ifdef WITH_AUDASPACE
static int graphkeys_sound_bake_exec(bContext *C, wmOperator *op)
{
bAnimContext ac;
@@ -1123,7 +1126,7 @@ static int graphkeys_sound_bake_exec(bContext *C, wmOperator *op)
end = CFRA + sbi.length - 1;
/* filter anim channels */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* loop through all selected F-Curves, replacing its data with the sound samples */
@@ -1149,6 +1152,17 @@ static int graphkeys_sound_bake_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
+#else //WITH_AUDASPACE
+
+static int graphkeys_sound_bake_exec(bContext *UNUSED(C), wmOperator *op)
+{
+ BKE_report(op->reports, RPT_ERROR, "Compiled without sound support");
+
+ return OPERATOR_CANCELLED;
+}
+
+#endif //WITH_AUDASPACE
+
static int graphkeys_sound_bake_invoke (bContext *C, wmOperator *op, wmEvent *event)
{
bAnimContext ac;
@@ -1201,7 +1215,7 @@ static void sample_graph_keys (bAnimContext *ac)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE| ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and add keys between selected keyframes on every frame */
@@ -1255,10 +1269,17 @@ void GRAPH_OT_sample (wmOperatorType *ot)
/* ******************** Set Extrapolation-Type Operator *********************** */
+/* defines for make/clear cyclic extrapolation tools */
+#define MAKE_CYCLIC_EXPO -1
+#define CLEAR_CYCLIC_EXPO -2
+
/* defines for set extrapolation-type for selected keyframes tool */
static EnumPropertyItem prop_graphkeys_expo_types[] = {
{FCURVE_EXTRAPOLATE_CONSTANT, "CONSTANT", 0, "Constant Extrapolation", ""},
{FCURVE_EXTRAPOLATE_LINEAR, "LINEAR", 0, "Linear Extrapolation", ""},
+
+ {MAKE_CYCLIC_EXPO, "MAKE_CYCLIC", 0, "Make Cyclic (F-Modifier)", "Add Cycles F-Modifier if one doesn't exist already"},
+ {CLEAR_CYCLIC_EXPO, "CLEAR_CYCLIC", 0, "Clear Cyclic (F-Modifier)", "Remove Cycles F-Modifier if not needed anymore"},
{0, NULL, 0, NULL, NULL}
};
@@ -1270,13 +1291,40 @@ static void setexpo_graph_keys(bAnimContext *ac, short mode)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting mode per F-Curve */
for (ale= anim_data.first; ale; ale= ale->next) {
FCurve *fcu= (FCurve *)ale->data;
- fcu->extend= mode;
+
+ if (mode >= 0) {
+ /* just set mode setting */
+ fcu->extend= mode;
+ }
+ else {
+ /* shortcuts for managing Cycles F-Modifiers to make it easier to toggle cyclic animation
+ * without having to go through FModifier UI in Graph Editor to do so
+ */
+ if (mode == MAKE_CYCLIC_EXPO) {
+ /* only add if one doesn't exist */
+ if (list_has_suitable_fmodifier(&fcu->modifiers, FMODIFIER_TYPE_CYCLES, -1) == 0) {
+ // TODO: add some more preset versions which set different extrapolation options?
+ add_fmodifier(&fcu->modifiers, FMODIFIER_TYPE_CYCLES);
+ }
+ }
+ else if (mode == CLEAR_CYCLIC_EXPO) {
+ /* remove all the modifiers fitting this description */
+ FModifier *fcm, *fcn=NULL;
+
+ for (fcm = fcu->modifiers.first; fcm; fcm = fcn) {
+ fcn = fcm->next;
+
+ if (fcm->type == FMODIFIER_TYPE_CYCLES)
+ remove_fmodifier(&fcu->modifiers, fcm);
+ }
+ }
+ }
}
/* cleanup */
@@ -1339,7 +1387,7 @@ static void setipo_graph_keys(bAnimContext *ac, short mode)
KeyframeEditFunc set_cb= ANIM_editkeyframes_ipo(mode);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting BezTriple interpolation
@@ -1399,8 +1447,6 @@ void GRAPH_OT_interpolation_type (wmOperatorType *ot)
/* ******************** Set Handle-Type Operator *********************** */
-/* ------------------- */
-
/* this function is responsible for setting handle-type of selected keyframes */
static void sethandles_graph_keys(bAnimContext *ac, short mode)
{
@@ -1412,7 +1458,7 @@ static void sethandles_graph_keys(bAnimContext *ac, short mode)
KeyframeEditFunc sel_cb= ANIM_editkeyframes_ok(BEZT_OK_SELECTED);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting flags for handles
@@ -1423,12 +1469,6 @@ static void sethandles_graph_keys(bAnimContext *ac, short mode)
/* any selected keyframes for editing? */
if (ANIM_fcurve_keyframes_loop(NULL, fcu, NULL, sel_cb, NULL)) {
- /* for auto/auto-clamped, toggle the auto-handles flag on the F-Curve */
- if (mode == HD_AUTO_ANIM)
- fcu->flag |= FCURVE_AUTO_HANDLES;
- else if (mode == HD_AUTO)
- fcu->flag &= ~FCURVE_AUTO_HANDLES;
-
/* change type of selected handles */
ANIM_fcurve_keyframes_loop(NULL, fcu, NULL, edit_cb, calchandles_fcurve);
}
@@ -1465,15 +1505,6 @@ static int graphkeys_handletype_exec(bContext *C, wmOperator *op)
void GRAPH_OT_handle_type (wmOperatorType *ot)
{
- /* sync with editcurve_handle_type_items */
- static EnumPropertyItem graphkeys_handle_type_items[] = {
- {HD_AUTO, "AUTO", 0, "Automatic", "Handles that are automatically adjusted upon moving the keyframe. Whole curve"},
- {HD_VECT, "VECTOR", 0, "Vector", ""},
- {HD_ALIGN, "ALIGNED", 0, "Aligned", ""},
- {HD_FREE, "FREE_ALIGN", 0, "Free", ""},
- {HD_AUTO_ANIM, "ANIM_CLAMPED", 0, "Auto Clamped", "Auto handles clamped to not overshoot. Whole curve"},
- {0, NULL, 0, NULL, NULL}};
-
/* identifiers */
ot->name= "Set Keyframe Handle Type";
ot->idname= "GRAPH_OT_handle_type";
@@ -1488,7 +1519,7 @@ static int graphkeys_handletype_exec(bContext *C, wmOperator *op)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* id-props */
- ot->prop= RNA_def_enum(ot->srna, "type", graphkeys_handle_type_items, 0, "Type", "");
+ ot->prop= RNA_def_enum(ot->srna, "type", keyframe_handle_type_items, 0, "Type", "");
}
/* ************************************************************************** */
@@ -1534,7 +1565,7 @@ static int graphkeys_euler_filter_exec (bContext *C, wmOperator *op)
*/
/* step 1: extract only the rotation f-curves */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -1700,7 +1731,7 @@ static int graphkeys_framejump_exec(bContext *C, wmOperator *UNUSED(op))
memset(&ked, 0, sizeof(KeyframeEditData));
/* loop over action data, averaging values */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -1725,7 +1756,7 @@ static int graphkeys_framejump_exec(bContext *C, wmOperator *UNUSED(op))
/* set the new current frame and cursor values, based on the average time and value */
if (ked.i1) {
- SpaceIpo *sipo= ac.sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac.sl;
Scene *scene= ac.scene;
/* take the average values, rounding to the nearest int for the current frame */
@@ -1779,7 +1810,7 @@ static void snap_graph_keys(bAnimContext *ac, short mode)
KeyframeEditFunc edit_cb;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get beztriple editing callbacks */
@@ -1792,7 +1823,7 @@ static void snap_graph_keys(bAnimContext *ac, short mode)
ked.list.last= (ac->markers) ? ac->markers->last : NULL;
}
else if (mode == GRAPHKEYS_SNAP_VALUE) {
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
ked.f1= (sipo) ? sipo->cursorVal : 0.0f;
}
@@ -1906,12 +1937,12 @@ static void mirror_graph_keys(bAnimContext *ac, short mode)
return;
}
else if (mode == GRAPHKEYS_MIRROR_VALUE) {
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
ked.f1= (sipo) ? sipo->cursorVal : 0.0f;
}
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE| ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* mirror keyframes */
@@ -1995,7 +2026,7 @@ static int graphkeys_smooth_exec(bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE| ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* smooth keyframes */
@@ -2086,11 +2117,11 @@ static int graph_fmodifier_add_exec(bContext *C, wmOperator *op)
type= RNA_enum_get(op->ptr, "type");
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
if (RNA_boolean_get(op->ptr, "only_active"))
filter |= ANIMFILTER_ACTIVE; // FIXME: enforce in this case only a single channel to get handled?
else
- filter |= (ANIMFILTER_SEL|ANIMFILTER_CURVEVISIBLE);
+ filter |= (ANIMFILTER_SEL|ANIMFILTER_CURVE_VISIBLE);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* add f-modifier to each curve */
@@ -2209,7 +2240,7 @@ static int graph_fmodifier_paste_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* paste modifiers */
@@ -2248,7 +2279,7 @@ void GRAPH_OT_fmodifier_paste (wmOperatorType *ot)
/* api callbacks */
ot->exec= graph_fmodifier_paste_exec;
- ot->poll= graphop_editable_keyframes_poll;
+ ot->poll= graphop_active_fcurve_poll;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
diff --git a/source/blender/editors/space_graph/graph_ops.c b/source/blender/editors/space_graph/graph_ops.c
index 03cc8bb9e80..46918407447 100644
--- a/source/blender/editors/space_graph/graph_ops.c
+++ b/source/blender/editors/space_graph/graph_ops.c
@@ -41,11 +41,13 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_main.h"
#include "BKE_sound.h"
#include "UI_view2d.h"
#include "ED_anim_api.h"
+#include "ED_markers.h"
#include "ED_screen.h"
#include "ED_transform.h"
@@ -69,6 +71,7 @@
/* Set the new frame number */
static void graphview_cursor_apply(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
SpaceIpo *sipo= CTX_wm_space_graph(C);
@@ -77,7 +80,7 @@ static void graphview_cursor_apply(bContext *C, wmOperator *op)
*/
CFRA= RNA_int_get(op->ptr, "frame");
SUBFRA=0.f;
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
/* set the cursor value */
sipo->cursorVal= RNA_float_get(op->ptr, "value");
@@ -361,7 +364,7 @@ static void graphedit_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
WM_keymap_add_item(keymap, "GRAPH_OT_handle_type", VKEY, KM_PRESS, 0, 0);
- WM_keymap_add_item(keymap, "GRAPH_OT_interpolation_type", TKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "GRAPH_OT_interpolation_type", TKEY, KM_PRESS, 0, 0);
/* destructive */
WM_keymap_add_item(keymap, "GRAPH_OT_clean", OKEY, KM_PRESS, 0, 0);
@@ -399,6 +402,9 @@ static void graphedit_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
/* transform system */
transform_keymap_for_space(keyconf, keymap, SPACE_IPO);
+
+ /* special markers hotkeys for anim editors: see note in definition of this function */
+ ED_marker_keymap_animedit_conflictfree(keymap);
}
/* --------------- */
diff --git a/source/blender/editors/space_graph/graph_select.c b/source/blender/editors/space_graph/graph_select.c
index cb799b85d3a..b8c5d79df18 100644
--- a/source/blender/editors/space_graph/graph_select.c
+++ b/source/blender/editors/space_graph/graph_select.c
@@ -90,12 +90,12 @@ static void deselect_graph_keys (bAnimContext *ac, short test, short sel)
bAnimListElem *ale;
int filter;
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
KeyframeEditData ked= {{NULL}};
KeyframeEditFunc test_cb, sel_cb;
/* determine type-based settings */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
/* filter data */
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -201,7 +201,7 @@ static void borderselect_graphkeys (bAnimContext *ac, rcti rect, short mode, sho
bAnimListElem *ale;
int filter;
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
KeyframeEditData ked;
KeyframeEditFunc ok_cb, select_cb;
View2D *v2d= &ac->ar->v2d;
@@ -212,7 +212,7 @@ static void borderselect_graphkeys (bAnimContext *ac, rcti rect, short mode, sho
UI_view2d_region_to_view(v2d, rect.xmax, rect.ymax, &rectf.xmax, &rectf.ymax);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get beztriple editing/validation funcs */
@@ -402,7 +402,7 @@ static void markers_selectkeys_between (bAnimContext *ac)
ked.f2= max;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* select keys in-between */
@@ -442,7 +442,7 @@ static void columnselect_graph_keys (bAnimContext *ac, short mode)
/* build list of columns */
switch (mode) {
case GRAPHKEYS_COLUMNSEL_KEYS: /* list of selected keys */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next)
@@ -474,7 +474,7 @@ static void columnselect_graph_keys (bAnimContext *ac, short mode)
/* loop through all of the keys and select additional keyframes
* based on the keys found to be selected above
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -558,7 +558,7 @@ static int graphkeys_select_linked_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* loop through all of the keys and select additional keyframes based on these */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -613,7 +613,7 @@ static void select_moreless_graph_keys (bAnimContext *ac, short mode)
memset(&ked, 0, sizeof(KeyframeEditData));
/* loop through all of the keys and select additional keyframes based on these */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -753,7 +753,7 @@ static void graphkeys_select_leftright (bAnimContext *ac, short leftright, short
}
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* select keys */
@@ -958,14 +958,14 @@ static void get_nearest_fcurve_verts_list (bAnimContext *ac, const int mval[2],
bAnimListElem *ale;
int filter;
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
View2D *v2d= &ac->ar->v2d;
/* get curves to search through
* - if the option to only show keyframes that belong to selected F-Curves is enabled,
* include the 'only selected' flag...
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
if (sipo->flag & SIPO_SELCUVERTSONLY) // FIXME: this should really be check for by the filtering code...
filter |= ANIMFILTER_SEL;
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -1091,7 +1091,7 @@ static tNearestVertInfo *find_nearest_fcurve_vert (bAnimContext *ac, const int m
/* option 1) select keyframe directly under mouse */
static void mouse_graph_keys (bAnimContext *ac, const int mval[2], short select_mode, short curves_only)
{
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
tNearestVertInfo *nvi;
BezTriple *bezt= NULL;
@@ -1200,7 +1200,7 @@ static void mouse_graph_keys (bAnimContext *ac, const int mval[2], short select_
/* set active F-Curve (NOTE: sync the filter flags with findnearest_fcurve_vert) */
/* needs to be called with (sipo->flag & SIPO_SELCUVERTSONLY) otherwise the active flag won't be set [#26452] */
if (nvi->fcu->flag & FCURVE_SELECTED) {
- int filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ int filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_set_active_channel(ac, ac->data, ac->datatype, filter, nvi->fcu, ANIMTYPE_FCURVE);
}
@@ -1218,7 +1218,7 @@ static void graphkeys_mselect_column (bAnimContext *ac, const int mval[2], short
bAnimListElem *ale;
int filter;
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
KeyframeEditFunc select_cb, ok_cb;
KeyframeEditData ked;
tNearestVertInfo *nvi;
@@ -1264,7 +1264,7 @@ static void graphkeys_mselect_column (bAnimContext *ac, const int mval[2], short
/* loop through all of the keys and select additional keyframes
* based on the keys found to be selected above
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
diff --git a/source/blender/editors/space_graph/graph_utils.c b/source/blender/editors/space_graph/graph_utils.c
index e4509a29a91..3f2993fd793 100644
--- a/source/blender/editors/space_graph/graph_utils.c
+++ b/source/blender/editors/space_graph/graph_utils.c
@@ -65,12 +65,14 @@
/* Find 'active' F-Curve. It must be editable, since that's the purpose of these buttons (subject to change).
* We return the 'wrapper' since it contains valuable context info (about hierarchy), which will need to be freed
* when the caller is done with it.
+ *
+ * NOTE: curve-visible flag isn't included, otherwise selecting a curve via list to edit is too cumbersome
*/
bAnimListElem *get_active_fcurve_channel (bAnimContext *ac)
{
ListBase anim_data = {NULL, NULL};
- int filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_ACTIVE | ANIMFILTER_CURVESONLY);
- int items = ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
+ int filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_ACTIVE);
+ size_t items = ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* We take the first F-Curve only, since some other ones may have had 'active' flag set
* if they were from linked data.
@@ -99,7 +101,8 @@ int graphop_visible_keyframes_poll (bContext *C)
bAnimListElem *ale;
ListBase anim_data = {NULL, NULL};
ScrArea *sa= CTX_wm_area(C);
- int filter, items;
+ size_t items;
+ int filter;
short found = 0;
/* firstly, check if in Graph Editor */
@@ -114,7 +117,7 @@ int graphop_visible_keyframes_poll (bContext *C)
/* loop over the visible (selection doesn't matter) F-Curves, and see if they're suitable
* stopping on the first successful match
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE);
items = ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
if (items == 0)
return 0;
@@ -147,7 +150,8 @@ int graphop_editable_keyframes_poll (bContext *C)
bAnimListElem *ale;
ListBase anim_data = {NULL, NULL};
ScrArea *sa= CTX_wm_area(C);
- int filter, items;
+ size_t items;
+ int filter;
short found = 0;
/* firstly, check if in Graph Editor */
@@ -162,7 +166,7 @@ int graphop_editable_keyframes_poll (bContext *C)
/* loop over the editable F-Curves, and see if they're suitable
* stopping on the first successful match
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
items = ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
if (items == 0)
return 0;
@@ -213,7 +217,7 @@ int graphop_active_fcurve_poll (bContext *C)
/* free temp data... */
has_fcurve= ((ale->data) && (ale->type == ANIMTYPE_FCURVE));
- if(has_fcurve) {
+ if (has_fcurve) {
FCurve *fcu= (FCurve *)ale->data;
has_fcurve= (fcu->flag & FCURVE_VISIBLE)!=0;
}
@@ -230,7 +234,8 @@ int graphop_selected_fcurve_poll (bContext *C)
bAnimContext ac;
ListBase anim_data = {NULL, NULL};
ScrArea *sa= CTX_wm_area(C);
- int filter, items;
+ size_t items;
+ int filter;
/* firstly, check if in Graph Editor */
// TODO: also check for region?
@@ -241,8 +246,10 @@ int graphop_selected_fcurve_poll (bContext *C)
if (ANIM_animdata_get_context(C, &ac) == 0)
return 0;
- /* get the editable + selected F-Curves, and as long as we got some, we can return */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ /* get the editable + selected F-Curves, and as long as we got some, we can return
+ * NOTE: curve-visible flag isn't included, otherwise selecting a curve via list to edit is too cumbersome
+ */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT);
items = ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
if (items == 0)
return 0;
diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c
index 883b476f372..3cc83b12124 100644
--- a/source/blender/editors/space_graph/space_graph.c
+++ b/source/blender/editors/space_graph/space_graph.c
@@ -110,6 +110,10 @@ static SpaceLink *graph_new(const bContext *C)
sipo->ads= MEM_callocN(sizeof(bDopeSheet), "GraphEdit DopeSheet");
sipo->ads->source= (ID *)scene;
+ /* settings for making it easier by default to just see what you're interested in tweaking */
+ sipo->ads->filterflag |= ADS_FILTER_ONLYSEL;
+ sipo->flag |= SIPO_SELVHANDLESONLY;
+
/* header */
ar= MEM_callocN(sizeof(ARegion), "header for graphedit");
@@ -186,7 +190,7 @@ static void graph_init(struct wmWindowManager *UNUSED(wm), ScrArea *sa)
sipo->ads= MEM_callocN(sizeof(bDopeSheet), "GraphEdit DopeSheet");
sipo->ads->source= (ID *)(G.main->scene.first); // FIXME: this is a really nasty hack here for now...
}
-
+
ED_area_tag_refresh(sa);
}
@@ -464,6 +468,13 @@ static void graph_listener(ScrArea *sa, wmNotifier *wmn)
break;
}
break;
+ case NC_NODE:
+ if (wmn->action == NA_SELECTED) {
+ /* selection changed, so force refresh to flush (needs flag set to do syncing) */
+ sipo->flag |= SIPO_TEMP_NEEDCHANSYNC;
+ ED_area_tag_refresh(sa);
+ }
+ break;
case NC_SPACE:
if(wmn->data == ND_SPACE_GRAPH)
ED_area_tag_redraw(sa);
@@ -513,14 +524,15 @@ static void graph_refresh(const bContext *C, ScrArea *sa)
if (ANIM_animdata_get_context(C, &ac)) {
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
+ size_t items;
int filter;
- int items, i;
+ int i;
/* build list of F-Curves which will be visible as channels in channel-region
* - we don't include ANIMFILTER_CURVEVISIBLE filter, as that will result in a
* mismatch between channel-colors and the drawn curves
*/
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CURVESONLY|ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE|ANIMFILTER_NODUPLIS);
items= ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* loop over F-Curves, assigning colors */
diff --git a/source/blender/editors/space_image/CMakeLists.txt b/source/blender/editors/space_image/CMakeLists.txt
index 7c2d7ffb47b..0d4408faf49 100644
--- a/source/blender/editors/space_image/CMakeLists.txt
+++ b/source/blender/editors/space_image/CMakeLists.txt
@@ -23,13 +23,13 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
)
diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c
index adce540cee4..4011f038be8 100644
--- a/source/blender/editors/space_image/image_buttons.c
+++ b/source/blender/editors/space_image/image_buttons.c
@@ -113,7 +113,7 @@ static void image_info(Scene *scene, ImageUser *iuser, Image *ima, ImBuf *ibuf,
if(ima->source==IMA_SRC_MOVIE) {
ofs+= sprintf(str, "Movie");
if(ima->anim)
- ofs+= sprintf(str+ofs, "%d frs", IMB_anim_get_duration(ima->anim));
+ ofs+= sprintf(str+ofs, "%d frs", IMB_anim_get_duration(ima->anim, IMB_TC_RECORD_RUN));
}
else
ofs+= sprintf(str, "Image");
@@ -428,7 +428,7 @@ static void set_frames_cb(bContext *C, void *ima_v, void *iuser_v)
ImageUser *iuser= iuser_v;
if(ima->anim) {
- iuser->frames = IMB_anim_get_duration(ima->anim);
+ iuser->frames = IMB_anim_get_duration(ima->anim, IMB_TC_RECORD_RUN);
BKE_image_user_calc_frame(iuser, scene->r.cfra, 0);
}
}
@@ -662,7 +662,6 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
block= uiLayoutGetBlock(layout);
-
imaptr= RNA_property_pointer_get(ptr, prop);
ima= imaptr.data;
iuser= userptr->data;
@@ -719,21 +718,17 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
}
}
else {
- row= uiLayoutRow(layout, 0);
- uiItemR(row, &imaptr, "source", 0, NULL, ICON_NONE);
+ uiItemR(layout, &imaptr, "source", 0, NULL, ICON_NONE);
if(ima->source != IMA_SRC_GENERATED) {
row= uiLayoutRow(layout, 1);
- split = uiLayoutSplit(row, 0.0, 0);
if (ima->packedfile)
- uiItemO(split, "", ICON_PACKAGE, "image.unpack");
+ uiItemO(row, "", ICON_PACKAGE, "image.unpack");
else
- uiItemO(split, "", ICON_UGLYPACKAGE, "image.pack");
+ uiItemO(row, "", ICON_UGLYPACKAGE, "image.pack");
- split = uiLayoutSplit(row, 0.0, 0);
- row= uiLayoutRow(split, 1);
+ row= uiLayoutRow(row, 0);
uiLayoutSetEnabled(row, ima->packedfile==NULL);
-
uiItemR(row, &imaptr, "filepath", 0, "", ICON_NONE);
uiItemO(row, "", ICON_FILE_REFRESH, "image.reload");
}
@@ -771,11 +766,10 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
col= uiLayoutColumn(split, 0);
uiItemR(col, &imaptr, "use_fields", 0, NULL, ICON_NONE);
row= uiLayoutRow(col, 0);
- uiItemR(row, &imaptr, "field_order", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiLayoutSetActive(row, RNA_boolean_get(&imaptr, "use_fields"));
-
- col= uiLayoutColumn(split, 0);
- uiItemR(col, &imaptr, "use_premultiply", 0, NULL, ICON_NONE);
+ uiItemR(row, &imaptr, "field_order", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
+
+ uiItemR(split, &imaptr, "use_premultiply", 0, NULL, ICON_NONE);
}
}
@@ -787,10 +781,9 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
col= uiLayoutColumn(split, 0);
sprintf(str, "(%d) Frames", iuser->framenr);
- row= uiLayoutRow(col, 1);
uiItemR(col, userptr, "frame_duration", 0, str, ICON_NONE);
if(ima->anim) {
- block= uiLayoutGetBlock(row);
+ block= uiLayoutGetBlock(col);
but= uiDefBut(block, BUT, 0, "Match Movie Length", 0, 0, UI_UNIT_X*2, UI_UNIT_Y, NULL, 0, 0, 0, 0, "Set the number of frames to match the movie or sequence.");
uiButSetFunc(but, set_frames_cb, ima, iuser);
}
@@ -799,7 +792,9 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
uiItemR(col, userptr, "frame_offset", 0, NULL, ICON_NONE);
col= uiLayoutColumn(split, 0);
- uiItemR(col, userptr, "fields_per_frame", 0, "Fields", ICON_NONE);
+ row= uiLayoutRow(col, 0);
+ uiLayoutSetActive(row, RNA_boolean_get(&imaptr, "use_fields"));
+ uiItemR(row, userptr, "fields_per_frame", 0, "Fields", ICON_NONE);
uiItemR(col, userptr, "use_auto_refresh", 0, NULL, ICON_NONE);
uiItemR(col, userptr, "use_cyclic", 0, NULL, ICON_NONE);
}
@@ -809,9 +804,9 @@ void uiTemplateImage(uiLayout *layout, bContext *C, PointerRNA *ptr, const char
col= uiLayoutColumn(split, 1);
uiItemR(col, &imaptr, "generated_width", 0, "X", ICON_NONE);
uiItemR(col, &imaptr, "generated_height", 0, "Y", ICON_NONE);
+ uiItemR(col, &imaptr, "use_generated_float", 0, NULL, ICON_NONE);
- col= uiLayoutColumn(split, 0);
- uiItemR(col, &imaptr, "generated_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
+ uiItemR(split, &imaptr, "generated_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
}
}
diff --git a/source/blender/editors/space_image/image_intern.h b/source/blender/editors/space_image/image_intern.h
index e9e77ddf430..399157da85c 100644
--- a/source/blender/editors/space_image/image_intern.h
+++ b/source/blender/editors/space_image/image_intern.h
@@ -73,6 +73,7 @@ void IMAGE_OT_view_zoom(struct wmOperatorType *ot);
void IMAGE_OT_view_zoom_in(struct wmOperatorType *ot);
void IMAGE_OT_view_zoom_out(struct wmOperatorType *ot);
void IMAGE_OT_view_zoom_ratio(struct wmOperatorType *ot);
+void IMAGE_OT_view_ndof(struct wmOperatorType *ot);
void IMAGE_OT_new(struct wmOperatorType *ot);
void IMAGE_OT_open(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c
index 10b8cb238aa..68f9e4d033e 100644
--- a/source/blender/editors/space_image/image_ops.c
+++ b/source/blender/editors/space_image/image_ops.c
@@ -437,6 +437,63 @@ void IMAGE_OT_view_zoom(wmOperatorType *ot)
"Factor", "Zoom factor, values higher than 1.0 zoom in, lower values zoom out.", -FLT_MAX, FLT_MAX);
}
+/********************** NDOF operator *********************/
+
+/* Combined pan/zoom from a 3D mouse device.
+ * Z zooms, XY pans
+ * "view" (not "paper") control -- user moves the viewpoint, not the image being viewed
+ * that explains the negative signs in the code below
+ */
+
+static int view_ndof_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ if (event->type != NDOF_MOTION)
+ return OPERATOR_CANCELLED;
+ else {
+ SpaceImage *sima= CTX_wm_space_image(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ wmNDOFMotionData* ndof = (wmNDOFMotionData*) event->customdata;
+
+ float dt = ndof->dt;
+ /* tune these until it feels right */
+ const float zoom_sensitivity = 0.5f; // 50% per second (I think)
+ const float pan_sensitivity = 300.f; // screen pixels per second
+
+ float pan_x = pan_sensitivity * dt * ndof->tvec[0] / sima->zoom;
+ float pan_y = pan_sensitivity * dt * ndof->tvec[1] / sima->zoom;
+
+ /* "mouse zoom" factor = 1 + (dx + dy) / 300
+ * what about "ndof zoom" factor? should behave like this:
+ * at rest -> factor = 1
+ * move forward -> factor > 1
+ * move backward -> factor < 1
+ */
+ float zoom_factor = 1.f + zoom_sensitivity * dt * -ndof->tvec[2];
+
+ if (U.ndof_flag & NDOF_ZOOM_INVERT)
+ zoom_factor = -zoom_factor;
+
+ sima_zoom_set_factor(sima, ar, zoom_factor);
+ sima->xof += pan_x;
+ sima->yof += pan_y;
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+ }
+}
+
+void IMAGE_OT_view_ndof(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "NDOF Pan/Zoom";
+ ot->idname= "IMAGE_OT_view_ndof";
+
+ /* api callbacks */
+ ot->invoke= view_ndof_invoke;
+}
+
/********************** view all operator *********************/
/* Updates the fields of the View2D member of the SpaceImage struct.
@@ -500,7 +557,7 @@ static int view_selected_exec(bContext *C, wmOperator *UNUSED(op))
Scene *scene;
Object *obedit;
Image *ima;
- float size, min[2], max[2], d[2];
+ float size, min[2], max[2], d[2], aspx, aspy;
int width, height;
/* retrieve state */
@@ -511,6 +568,10 @@ static int view_selected_exec(bContext *C, wmOperator *UNUSED(op))
ima= ED_space_image(sima);
ED_space_image_size(sima, &width, &height);
+ ED_image_aspect(ima, &aspx, &aspy);
+
+ width= width*aspx;
+ height= height*aspy;
/* get bounds */
if(!ED_uvedit_minmax(scene, ima, obedit, min, max))
@@ -877,9 +938,100 @@ void IMAGE_OT_replace(wmOperatorType *ot)
/******************** save image as operator ********************/
+typedef struct {
+ /* matching scene->r settings */
+ short planes, imtype, subimtype, quality;
+ char filepath[FILE_MAX]; /* keep absolute */
+} SaveImageOptions;
+
+static void save_image_options_defaults(SaveImageOptions *simopts)
+{
+ simopts->planes= R_PLANES24;
+ simopts->imtype= R_PNG;
+ simopts->subimtype= 0;
+ simopts->quality= 90;
+ simopts->filepath[0]= '\0';
+}
+
+static int save_image_options_init(SaveImageOptions *simopts, SpaceImage *sima, Scene *scene, const short guess_path)
+{
+ void *lock;
+ ImBuf *ibuf= ED_space_image_acquire_buffer(sima, &lock);
+
+ if(ibuf) {
+ Image *ima= sima->image;
+
+ simopts->planes= ibuf->depth;
+
+ if(ELEM(ima->type, IMA_TYPE_R_RESULT, IMA_TYPE_COMPOSITE)) {
+ simopts->imtype= scene->r.imtype;
+ simopts->planes= scene->r.planes;
+ }
+ else if (ima->source == IMA_SRC_GENERATED) {
+ simopts->imtype= R_PNG;
+ }
+ else {
+ simopts->imtype= BKE_ftype_to_imtype(ibuf->ftype);
+ }
+ simopts->subimtype= scene->r.subimtype; /* XXX - this is lame, we need to make these available too! */
+ simopts->quality= ibuf->ftype & 0xff;
+
+ BLI_strncpy(simopts->filepath, ibuf->name, sizeof(simopts->filepath));
+
+ /* sanitize all settings */
+
+ /* unlikely but just incase */
+ if (ELEM3(simopts->planes, R_PLANESBW, R_PLANES24, R_PLANES32) == 0) {
+ simopts->planes= R_PLANES32;
+ }
+
+ /* some formats dont use quality so fallback to scenes quality */
+ if (simopts->quality == 0) {
+ simopts->quality= scene->r.quality;
+ }
+
+ /* check for empty path */
+ if(guess_path && simopts->filepath[0]==0) {
+ if ( (G.ima[0] == '/') && (G.ima[1] == '/') && (G.ima[2] == '\0') ) {
+ BLI_strncpy(simopts->filepath, "//untitled", FILE_MAX);
+ } else {
+ BLI_strncpy(simopts->filepath, G.ima, FILE_MAX);
+ }
+ BLI_path_abs(simopts->filepath, G.main->name);
+ }
+ }
+
+ ED_space_image_release_buffer(sima, lock);
+
+ return (ibuf != NULL);
+}
+
+static void save_image_options_from_op(SaveImageOptions *simopts, wmOperator *op)
+{
+ if (RNA_property_is_set(op->ptr, "color_mode")) simopts->planes= RNA_enum_get(op->ptr, "color_mode");
+ if (RNA_property_is_set(op->ptr, "file_format")) simopts->imtype= RNA_enum_get(op->ptr, "file_format");
+ // if (RNA_property_is_set(op->ptr, "subimtype")) simopts->subimtype= RNA_enum_get(op->ptr, "subimtype"); // XXX
+ if (RNA_property_is_set(op->ptr, "file_quality")) simopts->quality= RNA_int_get(op->ptr, "file_quality");
+
+ if (RNA_property_is_set(op->ptr, "filepath")) {
+ RNA_string_get(op->ptr, "filepath", simopts->filepath);
+ BLI_path_abs(simopts->filepath, G.main->name);
+ }
+}
+
+static void save_image_options_to_op(SaveImageOptions *simopts, wmOperator *op)
+{
+ RNA_enum_set(op->ptr, "color_mode", simopts->planes);
+ RNA_enum_set(op->ptr, "file_format", simopts->imtype);
+ // RNA_enum_set(op->ptr, "subimtype", simopts->subimtype);
+ RNA_int_set(op->ptr, "file_quality", simopts->quality);
+
+ RNA_string_set(op->ptr, "filepath", simopts->filepath);
+}
+
/* assumes name is FILE_MAX */
/* ima->name and ibuf->name should end up the same */
-static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOperator *op, char *path, int do_newpath)
+static void save_image_doit(bContext *C, SpaceImage *sima, wmOperator *op, SaveImageOptions *simopts, int do_newpath)
{
Image *ima= ED_space_image(sima);
void *lock;
@@ -891,18 +1043,17 @@ static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOpera
const short save_copy= (RNA_struct_find_property(op->ptr, "copy") && RNA_boolean_get(op->ptr, "copy"));
short ok= FALSE;
- BLI_path_abs(path, bmain->name);
/* old global to ensure a 2nd save goes to same dir */
- BLI_strncpy(G.ima, path, sizeof(G.ima));
+ BLI_strncpy(G.ima, simopts->filepath, sizeof(G.ima));
WM_cursor_wait(1);
if(ima->type == IMA_TYPE_R_RESULT) {
/* enforce user setting for RGB or RGBA, but skip BW */
- if(scene->r.planes==32) {
+ if(simopts->planes==R_PLANES32) {
ibuf->depth= 32;
}
- else if(scene->r.planes==24) {
+ else if(simopts->planes==R_PLANES24) {
ibuf->depth= 24;
}
}
@@ -913,15 +1064,12 @@ static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOpera
ibuf->depth= BKE_alphatest_ibuf(ibuf) ? 32 : 24;
}
}
-
- if(scene->r.scemode & R_EXTENSION) {
- BKE_add_image_extension(path, sima->imtypenr);
- }
- if(sima->imtypenr==R_MULTILAYER) {
+ if(simopts->imtype==R_MULTILAYER) {
+ Scene *scene= CTX_data_scene(C);
RenderResult *rr= BKE_image_acquire_renderresult(scene, ima);
if(rr) {
- RE_WriteRenderResult(rr, path, scene->r.quality);
+ RE_WriteRenderResult(op->reports, rr, simopts->filepath, simopts->quality);
ok= TRUE;
}
else {
@@ -929,23 +1077,23 @@ static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOpera
}
BKE_image_release_renderresult(scene, ima);
}
- else if (BKE_write_ibuf(ibuf, path, sima->imtypenr, scene->r.subimtype, scene->r.quality)) {
+ else if (BKE_write_ibuf(ibuf, simopts->filepath, simopts->imtype, simopts->subimtype, simopts->quality)) {
ok= TRUE;
}
if(ok) {
if(relative)
- BLI_path_rel(path, bmain->name); /* only after saving */
+ BLI_path_rel(simopts->filepath, bmain->name); /* only after saving */
if(ibuf->name[0]==0) {
- BLI_strncpy(ibuf->name, path, sizeof(ibuf->name));
- BLI_strncpy(ima->name, path, sizeof(ima->name));
+ BLI_strncpy(ibuf->name, simopts->filepath, sizeof(ibuf->name));
+ BLI_strncpy(ima->name, simopts->filepath, sizeof(ima->name));
}
if(!save_copy) {
if(do_newpath) {
- BLI_strncpy(ima->name, path, sizeof(ima->name));
- BLI_strncpy(ibuf->name, path, sizeof(ibuf->name));
+ BLI_strncpy(ima->name, simopts->filepath, sizeof(ima->name));
+ BLI_strncpy(ibuf->name, simopts->filepath, sizeof(ibuf->name));
}
ibuf->userflags &= ~IB_BITMAPDIRTY;
@@ -973,7 +1121,7 @@ static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOpera
}
}
else {
- BKE_reportf(op->reports, RPT_ERROR, "Couldn't write image: %s", path);
+ BKE_reportf(op->reports, RPT_ERROR, "Couldn't write image: %s", simopts->filepath);
}
@@ -988,17 +1136,14 @@ static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOpera
static int save_as_exec(bContext *C, wmOperator *op)
{
SpaceImage *sima= CTX_wm_space_image(C);
- Scene *scene= CTX_data_scene(C);
- Image *ima = ED_space_image(sima);
- char str[FILE_MAX];
-
- if(!ima)
- return OPERATOR_CANCELLED;
+ SaveImageOptions simopts;
- sima->imtypenr= RNA_enum_get(op->ptr, "file_type");
- RNA_string_get(op->ptr, "filepath", str);
+ /* just incase to initialize values,
+ * these should be set on invoke or by the caller. */
+ save_image_options_defaults(&simopts);
+ save_image_options_from_op(&simopts, op);
- save_image_doit(C, sima, scene, op, str, TRUE);
+ save_image_doit(C, sima, op, &simopts, TRUE);
return OPERATOR_FINISHED;
}
@@ -1008,7 +1153,7 @@ static int save_as_check(bContext *UNUSED(C), wmOperator *op)
{
char filepath[FILE_MAX];
RNA_string_get(op->ptr, "filepath", filepath);
- if(BKE_add_image_extension(filepath, RNA_enum_get(op->ptr, "file_type"))) {
+ if(BKE_add_image_extension(filepath, RNA_enum_get(op->ptr, "file_format"))) {
RNA_string_set(op->ptr, "filepath", filepath);
return TRUE;
}
@@ -1020,65 +1165,33 @@ static int save_as_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
SpaceImage *sima= CTX_wm_space_image(C);
Image *ima = ED_space_image(sima);
Scene *scene= CTX_data_scene(C);
- ImBuf *ibuf;
- char filename[FILE_MAX];
-
- void *lock;
+ SaveImageOptions simopts;
if(!RNA_property_is_set(op->ptr, "relative_path"))
RNA_boolean_set(op->ptr, "relative_path", U.flag & USER_RELPATHS);
if(RNA_property_is_set(op->ptr, "filepath"))
return save_as_exec(C, op);
-
- if(!ima)
- return OPERATOR_CANCELLED;
-
- /* always opens fileselect */
- ibuf= ED_space_image_acquire_buffer(sima, &lock);
-
- if(ibuf) {
- /* cant save multilayer sequence, ima->rr isn't valid for a specific frame */
- if(ima->rr && !(ima->source==IMA_SRC_SEQUENCE && ima->type==IMA_TYPE_MULTILAYER))
- sima->imtypenr= R_MULTILAYER;
- else if(ima->type==IMA_TYPE_R_RESULT)
- sima->imtypenr= scene->r.imtype;
- else if (ima->source == IMA_SRC_GENERATED)
- sima->imtypenr= R_PNG;
- else
- sima->imtypenr= BKE_ftype_to_imtype(ibuf->ftype);
-
- RNA_enum_set(op->ptr, "file_type", sima->imtypenr);
-
- if(ibuf->name[0]==0)
- if ( (G.ima[0] == '/') && (G.ima[1] == '/') && (G.ima[2] == '\0') ) {
- BLI_strncpy(filename, "//untitled", FILE_MAX);
- } else {
- BLI_strncpy(filename, G.ima, FILE_MAX);
- }
- else
- BLI_strncpy(filename, ibuf->name, FILE_MAX);
-
- /* enable save_copy by default for render results */
- if(ELEM(ima->type, IMA_TYPE_R_RESULT, IMA_TYPE_COMPOSITE) && !RNA_property_is_set(op->ptr, "copy")) {
- RNA_boolean_set(op->ptr, "copy", TRUE);
- }
- // XXX note: we can give default menu enums to operator for this
- image_filesel(C, op, filename);
+ if (save_image_options_init(&simopts, sima, scene, TRUE) == 0)
+ return OPERATOR_CANCELLED;
+ save_image_options_to_op(&simopts, op);
- ED_space_image_release_buffer(sima, lock);
-
- return OPERATOR_RUNNING_MODAL;
+ /* enable save_copy by default for render results */
+ if(ELEM(ima->type, IMA_TYPE_R_RESULT, IMA_TYPE_COMPOSITE) && !RNA_property_is_set(op->ptr, "copy")) {
+ RNA_boolean_set(op->ptr, "copy", TRUE);
}
- ED_space_image_release_buffer(sima, lock);
+ // XXX note: we can give default menu enums to operator for this
+ image_filesel(C, op, simopts.filepath);
- return OPERATOR_CANCELLED;
+ return OPERATOR_RUNNING_MODAL;
}
void IMAGE_OT_save_as(wmOperatorType *ot)
{
+ PropertyRNA *prop;
+
/* identifiers */
ot->name= "Save As Image";
ot->idname= "IMAGE_OT_save_as";
@@ -1093,7 +1206,13 @@ void IMAGE_OT_save_as(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* properties */
- RNA_def_enum(ot->srna, "file_type", image_file_type_items, R_PNG, "File Type", "File type to save image as.");
+
+ /* format options */
+ RNA_def_enum(ot->srna, "file_format", image_file_type_items, R_PNG, "File Type", "File type to save image as.");
+ RNA_def_enum(ot->srna, "color_mode", image_color_mode_items, R_PLANES24, "Channels", "Image channels to save");
+ prop= RNA_def_int(ot->srna, "file_quality", 90, 0, 100, "Quality", "", 0, 100);
+ RNA_def_property_subtype(prop, PROP_PERCENTAGE);
+
WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
RNA_def_boolean(ot->srna, "copy", 0, "Copy", "Create a new image file without modifying the current image in blender");
@@ -1103,45 +1222,19 @@ void IMAGE_OT_save_as(wmOperatorType *ot)
static int save_exec(bContext *C, wmOperator *op)
{
- Main *bmain= CTX_data_main(C);
SpaceImage *sima= CTX_wm_space_image(C);
- Image *ima = ED_space_image(sima);
- void *lock;
- ImBuf *ibuf= ED_space_image_acquire_buffer(sima, &lock);
Scene *scene= CTX_data_scene(C);
- RenderResult *rr;
- char name[FILE_MAX];
+ SaveImageOptions simopts;
- if(!ima || !ibuf) {
- ED_space_image_release_buffer(sima, lock);
+ if (save_image_options_init(&simopts, sima, scene, FALSE) == 0)
return OPERATOR_CANCELLED;
- }
-
- /* if exists, saves over without fileselect */
-
- BLI_strncpy(name, ima->name, FILE_MAX);
- if(name[0]==0)
- BLI_strncpy(name, G.ima, FILE_MAX);
- else
- BLI_path_abs(name, bmain->name);
-
- if(BLI_exists(name) && BLI_is_writable(name)) {
- rr= BKE_image_acquire_renderresult(scene, ima);
+ save_image_options_from_op(&simopts, op);
- if(rr)
- sima->imtypenr= R_MULTILAYER;
- else
- sima->imtypenr= BKE_ftype_to_imtype(ibuf->ftype);
-
- BKE_image_release_renderresult(scene, ima);
- ED_space_image_release_buffer(sima, lock);
-
- save_image_doit(C, sima, scene, op, name, FALSE);
+ if (BLI_exists(simopts.filepath) && BLI_is_writable(simopts.filepath)) {
+ save_image_doit(C, sima, op, &simopts, FALSE);
}
else {
- ED_space_image_release_buffer(sima, lock);
-
- BKE_report(op->reports, RPT_ERROR, "Can not save image.");
+ BKE_reportf(op->reports, RPT_ERROR, "Can not save image, path '%s' is not writable.", simopts.filepath);
return OPERATOR_CANCELLED;
}
@@ -1270,7 +1363,7 @@ void IMAGE_OT_reload(wmOperatorType *ot)
ot->exec= reload_exec;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER; /* no undo, image buffer is not handled by undo */
}
/********************** new image operator *********************/
@@ -1928,7 +2021,7 @@ void IMAGE_OT_sample_line(wmOperatorType *ot)
ot->cancel= WM_gesture_straightline_cancel;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= 0; /* no undo/register since this operates on the space */
WM_operator_properties_gesture_straightline(ot, CURSOR_EDIT);
}
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 2e9544f5d20..afab4ede229 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -469,6 +469,7 @@ static void image_operatortypes(void)
WM_operatortype_append(IMAGE_OT_view_zoom_in);
WM_operatortype_append(IMAGE_OT_view_zoom_out);
WM_operatortype_append(IMAGE_OT_view_zoom_ratio);
+ WM_operatortype_append(IMAGE_OT_view_ndof);
WM_operatortype_append(IMAGE_OT_new);
WM_operatortype_append(IMAGE_OT_open);
@@ -518,6 +519,9 @@ static void image_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "IMAGE_OT_view_pan", MIDDLEMOUSE, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "IMAGE_OT_view_pan", MOUSEPAN, 0, 0, 0);
+ WM_keymap_add_item(keymap, "IMAGE_OT_view_all", NDOF_BUTTON_FIT, KM_PRESS, 0, 0); // or view selected?
+ WM_keymap_add_item(keymap, "IMAGE_OT_view_ndof", NDOF_MOTION, 0, 0, 0);
+
WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_in", WHEELINMOUSE, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_out", WHEELOUTMOUSE, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_in", PADPLUSKEY, KM_PRESS, 0, 0);
diff --git a/source/blender/editors/space_info/CMakeLists.txt b/source/blender/editors/space_info/CMakeLists.txt
index c6ed1b7bac7..22347df93a3 100644
--- a/source/blender/editors/space_info/CMakeLists.txt
+++ b/source/blender/editors/space_info/CMakeLists.txt
@@ -23,8 +23,8 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
diff --git a/source/blender/editors/space_info/info_ops.c b/source/blender/editors/space_info/info_ops.c
index d58fb7b11f0..e09565d38e9 100644
--- a/source/blender/editors/space_info/info_ops.c
+++ b/source/blender/editors/space_info/info_ops.c
@@ -273,7 +273,7 @@ void FILE_OT_report_missing_files(wmOperatorType *ot)
ot->exec= report_missing_files_exec;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= 0; /* only reports so no need to undo/register */
}
/********************* find missing files operator *********************/
diff --git a/source/blender/editors/space_info/info_stats.c b/source/blender/editors/space_info/info_stats.c
index 42ee2112fe8..0abfd4b71a1 100644
--- a/source/blender/editors/space_info/info_stats.c
+++ b/source/blender/editors/space_info/info_stats.c
@@ -357,13 +357,14 @@ static void stats_update(Scene *scene)
}
if(!scene->stats)
- scene->stats= MEM_mallocN(sizeof(SceneStats), "SceneStats");
+ scene->stats= MEM_callocN(sizeof(SceneStats), "SceneStats");
*(scene->stats)= stats;
}
static void stats_string(Scene *scene)
{
+ extern char versionstr[]; /* from blender.c */
SceneStats *stats= scene->stats;
Object *ob= (scene->basact)? scene->basact->object: NULL;
uintptr_t mem_in_use, mmap_in_use;
@@ -379,6 +380,8 @@ static void stats_string(Scene *scene)
sprintf(s, " (%.2fM)", (double)((mmap_in_use)>>10)/1024.0);
s= stats->infostr;
+
+ s+= sprintf(s, "%s | ", versionstr);
if(scene->obedit) {
if(ob_get_keyblock(scene->obedit))
diff --git a/source/blender/editors/space_logic/CMakeLists.txt b/source/blender/editors/space_logic/CMakeLists.txt
index cd24cb5e5d0..44471902040 100644
--- a/source/blender/editors/space_logic/CMakeLists.txt
+++ b/source/blender/editors/space_logic/CMakeLists.txt
@@ -21,13 +21,13 @@
set(INC
../include
+ ../interface
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
- ../../editors/interface
../../../../intern/guardedalloc
)
diff --git a/source/blender/editors/space_logic/logic_ops.c b/source/blender/editors/space_logic/logic_ops.c
index 638bfe57608..60e9595b77a 100644
--- a/source/blender/editors/space_logic/logic_ops.c
+++ b/source/blender/editors/space_logic/logic_ops.c
@@ -322,7 +322,7 @@ static void LOGIC_OT_sensor_add(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* properties */
- prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, SENS_ALWAYS, "Type", "Type of sensor to add");
+ ot->prop= prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, SENS_ALWAYS, "Type", "Type of sensor to add");
RNA_def_enum_funcs(prop, rna_Sensor_type_itemf);
RNA_def_string(ot->srna, "name", "", 32, "Name", "Name of the Sensor to add");
RNA_def_string(ot->srna, "object", "", 32, "Object", "Name of the Object to add the Sensor to");
@@ -437,7 +437,7 @@ static void LOGIC_OT_controller_add(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* properties */
- RNA_def_enum(ot->srna, "type", controller_type_items, CONT_LOGIC_AND, "Type", "Type of controller to add");
+ ot->prop= RNA_def_enum(ot->srna, "type", controller_type_items, CONT_LOGIC_AND, "Type", "Type of controller to add");
RNA_def_string(ot->srna, "name", "", 32, "Name", "Name of the Controller to add");
RNA_def_string(ot->srna, "object", "", 32, "Object", "Name of the Object to add the Controller to");
}
@@ -539,7 +539,7 @@ static void LOGIC_OT_actuator_add(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* properties */
- prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, CONT_LOGIC_AND, "Type", "Type of actuator to add");
+ ot->prop= prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, CONT_LOGIC_AND, "Type", "Type of actuator to add");
RNA_def_enum_funcs(prop, rna_Actuator_type_itemf);
RNA_def_string(ot->srna, "name", "", 32, "Name", "Name of the Actuator to add");
RNA_def_string(ot->srna, "object", "", 32, "Object", "Name of the Object to add the Actuator to");
diff --git a/source/blender/editors/space_logic/logic_window.c b/source/blender/editors/space_logic/logic_window.c
index e09f9cff031..43a8747e942 100644
--- a/source/blender/editors/space_logic/logic_window.c
+++ b/source/blender/editors/space_logic/logic_window.c
@@ -3679,16 +3679,22 @@ static void draw_actuator_action(uiLayout *layout, PointerRNA *ptr)
{
Object *ob = (Object *)ptr->id.data;
PointerRNA settings_ptr;
- uiLayout *row;
+ uiLayout *row, *subrow, *col;
- if(ob->type != OB_ARMATURE){
- uiItemL(layout, "Actuator only available for armatures", ICON_NONE);
- return;
- }
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
row= uiLayoutRow(layout, 0);
uiItemR(row, ptr, "play_mode", 0, "", ICON_NONE);
+
+ subrow= uiLayoutRow(row, 1);
+ uiItemR(subrow, ptr, "use_force", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
+ uiItemR(subrow, ptr, "use_additive", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
+
+ col = uiLayoutColumn(subrow, 0);
+ uiLayoutSetActive(col, (RNA_boolean_get(ptr, "use_additive") || RNA_boolean_get(ptr, "use_force")));
+ uiItemR(col, ptr, "use_local", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
+
+ row= uiLayoutRow(layout, 0);
uiItemR(row, ptr, "action", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_continue_last_frame", 0, NULL, ICON_NONE);
@@ -3701,11 +3707,17 @@ static void draw_actuator_action(uiLayout *layout, PointerRNA *ptr)
uiItemR(row, ptr, "frame_end", 0, NULL, ICON_NONE);
}
+ uiItemR(row, ptr, "apply_to_children", 0, NULL, ICON_NONE);
+
row= uiLayoutRow(layout, 0);
uiItemR(row, ptr, "frame_blend_in", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "priority", 0, NULL, ICON_NONE);
row= uiLayoutRow(layout, 0);
+ uiItemR(row, ptr, "layer", 0, NULL, ICON_NONE);
+ uiItemR(row, ptr, "layer_weight", 0, NULL, ICON_NONE);
+
+ row= uiLayoutRow(layout, 0);
uiItemPointerR(layout, ptr, "frame_property", &settings_ptr, "properties", NULL, ICON_NONE);
#ifdef __NLA_ACTION_BY_MOTION_ACTUATOR
@@ -3788,6 +3800,8 @@ static void draw_actuator_camera(uiLayout *layout, PointerRNA *ptr)
row = uiLayoutRow(layout, 1);
uiItemR(row, ptr, "min", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "max", 0, NULL, ICON_NONE);
+
+ uiItemR(layout, ptr, "damping", 0, NULL, ICON_NONE);
}
static void draw_actuator_constraint(uiLayout *layout, PointerRNA *ptr, bContext *C)
@@ -3977,39 +3991,6 @@ static void draw_actuator_game(uiLayout *layout, PointerRNA *ptr)
uiItemR(layout, ptr, "filename", 0, NULL, ICON_NONE);
}
-static void draw_actuator_ipo(uiLayout *layout, PointerRNA *ptr)
-{
- Object *ob;
- PointerRNA settings_ptr;
- uiLayout *row, *subrow, *col;
-
- ob = (Object *)ptr->id.data;
- RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
-
- row= uiLayoutRow(layout, 0);
- uiItemR(row, ptr, "play_type", 0, "", ICON_NONE);
- subrow= uiLayoutRow(row, 1);
- uiItemR(subrow, ptr, "use_force", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
- uiItemR(subrow, ptr, "use_additive", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
-
- col = uiLayoutColumn(subrow, 0);
- uiLayoutSetActive(col, (RNA_boolean_get(ptr, "use_additive") || RNA_boolean_get(ptr, "use_force")));
- uiItemR(col, ptr, "use_local", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
-
- row= uiLayoutRow(layout, 0);
- if((RNA_enum_get(ptr, "play_type") == ACT_IPO_FROM_PROP))
- uiItemPointerR(row, ptr, "property", &settings_ptr, "properties", NULL, ICON_NONE);
-
- else {
- uiItemR(row, ptr, "frame_start", 0, NULL, ICON_NONE);
- uiItemR(row, ptr, "frame_end", 0, NULL, ICON_NONE);
- }
- uiItemR(row, ptr, "apply_to_children", 0, NULL, ICON_NONE);
-
- row= uiLayoutRow(layout, 0);
- uiItemPointerR(row, ptr, "frame_property", &settings_ptr, "properties", NULL, ICON_NONE);
-}
-
static void draw_actuator_message(uiLayout *layout, PointerRNA *ptr, bContext *C)
{
Object *ob;
@@ -4439,9 +4420,6 @@ static void draw_brick_actuator(uiLayout *layout, PointerRNA *ptr, bContext *C)
case ACT_GAME:
draw_actuator_game(box, ptr);
break;
- case ACT_IPO:
- draw_actuator_ipo(box, ptr);
- break;
case ACT_MESSAGE:
draw_actuator_message(box, ptr, C);
break;
diff --git a/source/blender/editors/space_nla/CMakeLists.txt b/source/blender/editors/space_nla/CMakeLists.txt
index 1bf04f4dc37..b05d157365d 100644
--- a/source/blender/editors/space_nla/CMakeLists.txt
+++ b/source/blender/editors/space_nla/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_nla/nla_buttons.c b/source/blender/editors/space_nla/nla_buttons.c
index 94232699c30..4392e49e5d7 100644
--- a/source/blender/editors/space_nla/nla_buttons.c
+++ b/source/blender/editors/space_nla/nla_buttons.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -103,7 +101,8 @@ static int nla_panel_context(const bContext *C, PointerRNA *adt_ptr, PointerRNA
/* extract list of active channel(s), of which we should only take the first one
* - we need the channels flag to get the active AnimData block when there are no NLA Tracks
*/
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_ACTIVE|ANIMFILTER_CHANNELS);
+ // XXX: double-check active!
+ filter= (ANIMFILTER_DATA_VISIBLE|ANIMFILTER_LIST_VISIBLE|ANIMFILTER_ACTIVE|ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -145,6 +144,7 @@ static int nla_panel_context(const bContext *C, PointerRNA *adt_ptr, PointerRNA
case ANIMTYPE_DSPART:
case ANIMTYPE_DSMBALL:
case ANIMTYPE_DSARM:
+ case ANIMTYPE_DSSPK:
{
/* for these channels, we only do AnimData */
if (ale->id && ale->adt) {
@@ -211,6 +211,24 @@ static int nla_strip_actclip_panel_poll(const bContext *C, PanelType *UNUSED(pt)
return (strip->type == NLASTRIP_TYPE_CLIP);
}
+static int nla_strip_eval_panel_poll(const bContext *C, PanelType *UNUSED(pt))
+{
+ PointerRNA ptr;
+ NlaStrip *strip;
+
+ if (!nla_panel_context(C, NULL, NULL, &ptr))
+ return 0;
+ if (ptr.data == NULL)
+ return 0;
+
+ strip= ptr.data;
+
+ if (strip->type == NLASTRIP_TYPE_SOUND)
+ return 0;
+
+ return 1;
+}
+
/* -------------- */
/* active AnimData */
@@ -276,6 +294,7 @@ static void nla_panel_properties(const bContext *C, Panel *pa)
uiLayout *layout= pa->layout;
uiLayout *column, *row, *subcol;
uiBlock *block;
+ short showEvalProps = 1;
if (!nla_panel_context(C, NULL, NULL, &strip_ptr))
return;
@@ -295,32 +314,41 @@ static void nla_panel_properties(const bContext *C, Panel *pa)
uiItemR(column, &strip_ptr, "frame_start", 0, NULL, ICON_NONE);
uiItemR(column, &strip_ptr, "frame_end", 0, NULL, ICON_NONE);
- /* extrapolation */
- row= uiLayoutRow(layout, 1);
- uiItemR(row, &strip_ptr, "extrapolation", 0, NULL, ICON_NONE);
+ /* Evaluation-Related Strip Properties ------------------ */
- /* blending */
- row= uiLayoutRow(layout, 1);
- uiItemR(row, &strip_ptr, "blend_type", 0, NULL, ICON_NONE);
-
- /* blend in/out + autoblending
- * - blend in/out can only be set when autoblending is off
- */
- column= uiLayoutColumn(layout, 1);
- uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "use_animated_influence")==0);
- uiItemR(column, &strip_ptr, "use_auto_blend", 0, NULL, ICON_NONE); // XXX as toggle?
-
- subcol= uiLayoutColumn(column, 1);
- uiLayoutSetActive(subcol, RNA_boolean_get(&strip_ptr, "use_auto_blend")==0);
- uiItemR(subcol, &strip_ptr, "blend_in", 0, NULL, ICON_NONE);
- uiItemR(subcol, &strip_ptr, "blend_out", 0, NULL, ICON_NONE);
+ /* sound properties strips don't have these settings */
+ if (RNA_enum_get(&strip_ptr, "type") == NLASTRIP_TYPE_SOUND)
+ showEvalProps = 0;
+
+ /* only show if allowed to... */
+ if (showEvalProps) {
+ /* extrapolation */
+ row= uiLayoutRow(layout, 1);
+ uiItemR(row, &strip_ptr, "extrapolation", 0, NULL, ICON_NONE);
- /* settings */
- column= uiLayoutColumn(layout, 1);
- uiLayoutSetActive(column, !(RNA_boolean_get(&strip_ptr, "use_animated_influence") || RNA_boolean_get(&strip_ptr, "use_animated_time")));
- uiItemL(column, "Playback Settings:", ICON_NONE);
- uiItemR(column, &strip_ptr, "mute", 0, NULL, ICON_NONE);
- uiItemR(column, &strip_ptr, "use_reverse", 0, NULL, ICON_NONE);
+ /* blending */
+ row= uiLayoutRow(layout, 1);
+ uiItemR(row, &strip_ptr, "blend_type", 0, NULL, ICON_NONE);
+
+ /* blend in/out + autoblending
+ * - blend in/out can only be set when autoblending is off
+ */
+ column= uiLayoutColumn(layout, 1);
+ uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "use_animated_influence")==0);
+ uiItemR(column, &strip_ptr, "use_auto_blend", 0, NULL, ICON_NONE); // XXX as toggle?
+
+ subcol= uiLayoutColumn(column, 1);
+ uiLayoutSetActive(subcol, RNA_boolean_get(&strip_ptr, "use_auto_blend")==0);
+ uiItemR(subcol, &strip_ptr, "blend_in", 0, NULL, ICON_NONE);
+ uiItemR(subcol, &strip_ptr, "blend_out", 0, NULL, ICON_NONE);
+
+ /* settings */
+ column= uiLayoutColumn(layout, 1);
+ uiLayoutSetActive(column, !(RNA_boolean_get(&strip_ptr, "use_animated_influence") || RNA_boolean_get(&strip_ptr, "use_animated_time")));
+ uiItemL(column, "Playback Settings:", ICON_NONE);
+ uiItemR(column, &strip_ptr, "mute", 0, NULL, ICON_NONE);
+ uiItemR(column, &strip_ptr, "use_reverse", 0, NULL, ICON_NONE);
+ }
}
@@ -474,14 +502,14 @@ void nla_buttons_register(ARegionType *art)
strcpy(pt->idname, "NLA_PT_evaluation");
strcpy(pt->label, "Evaluation");
pt->draw= nla_panel_evaluation;
- pt->poll= nla_strip_panel_poll;
+ pt->poll= nla_strip_eval_panel_poll;
BLI_addtail(&art->paneltypes, pt);
pt= MEM_callocN(sizeof(PanelType), "spacetype nla panel modifiers");
strcpy(pt->idname, "NLA_PT_modifiers");
strcpy(pt->label, "Modifiers");
pt->draw= nla_panel_modifiers;
- pt->poll= nla_strip_panel_poll;
+ pt->poll= nla_strip_eval_panel_poll;
BLI_addtail(&art->paneltypes, pt);
}
diff --git a/source/blender/editors/space_nla/nla_channels.c b/source/blender/editors/space_nla/nla_channels.c
index 38f680fff07..8775d256b80 100644
--- a/source/blender/editors/space_nla/nla_channels.c
+++ b/source/blender/editors/space_nla/nla_channels.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -81,13 +79,14 @@ static int mouse_nla_channels (bAnimContext *ac, float x, int channel_index, sho
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
int filter;
+
View2D *v2d= &ac->ar->v2d;
int notifierFlags = 0;
/* get the channel that was clicked on */
/* filter channels */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
- filter= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
+ ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get channel from index */
ale= BLI_findlink(&anim_data, channel_index);
@@ -179,6 +178,7 @@ static int mouse_nla_channels (bAnimContext *ac, float x, int channel_index, sho
case ANIMTYPE_DSMESH:
case ANIMTYPE_DSTEX:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
/* sanity checking... */
if (ale->adt) {
@@ -301,6 +301,7 @@ static int mouse_nla_channels (bAnimContext *ac, float x, int channel_index, sho
static int nlachannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
bAnimContext ac;
+ SpaceNla *snla;
ARegion *ar;
View2D *v2d;
int channel_index;
@@ -313,6 +314,7 @@ static int nlachannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *e
return OPERATOR_CANCELLED;
/* get useful pointers from animation context data */
+ snla= (SpaceNla *)ac.sl;
ar= ac.ar;
v2d= &ar->v2d;
@@ -328,7 +330,7 @@ static int nlachannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *e
* NLACHANNEL_HEIGHT_HALF.
*/
UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &x, &y);
- UI_view2d_listview_view_to_cell(v2d, NLACHANNEL_NAMEWIDTH, NLACHANNEL_STEP, 0, (float)NLACHANNEL_HEIGHT_HALF, x, y, NULL, &channel_index);
+ UI_view2d_listview_view_to_cell(v2d, NLACHANNEL_NAMEWIDTH, NLACHANNEL_STEP(snla), 0, (float)NLACHANNEL_HEIGHT_HALF(snla), x, y, NULL, &channel_index);
/* handle mouse-click in the relevant channel then */
notifierFlags= mouse_nla_channels(&ac, x, channel_index, selectmode);
@@ -379,12 +381,12 @@ static int nlaedit_add_tracks_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the AnimData blocks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_SEL);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* add tracks... */
for (ale= anim_data.first; ale; ale= ale->next) {
- if(ale->type == ANIMTYPE_NLATRACK) {
+ if (ale->type == ANIMTYPE_NLATRACK) {
NlaTrack *nlt= (NlaTrack *)ale->data;
AnimData *adt= ale->adt;
@@ -447,7 +449,7 @@ static int nlaedit_delete_tracks_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the AnimData blocks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_SEL);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* delete tracks */
diff --git a/source/blender/editors/space_nla/nla_draw.c b/source/blender/editors/space_nla/nla_draw.c
index e830a421a59..0c9c7877ddc 100644
--- a/source/blender/editors/space_nla/nla_draw.c
+++ b/source/blender/editors/space_nla/nla_draw.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -38,6 +36,7 @@
#include <float.h>
#include "DNA_anim_types.h"
+#include "DNA_node_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_windowmanager_types.h"
@@ -80,7 +79,6 @@
*/
static void nla_action_get_color (AnimData *adt, bAction *act, float color[4])
{
- // TODO: if tweaking some action, use the same color as for the tweaked track (quick hack done for now)
if (adt && (adt->flag & ADT_NLA_EDIT_ON)) {
// greenish color (same as tweaking strip) - hardcoded for now
color[0]= 0.30f;
@@ -104,6 +102,10 @@ static void nla_action_get_color (AnimData *adt, bAction *act, float color[4])
color[3]= 0.3f;
}
}
+
+ /* when an NLA track is tagged "solo", action doesn't contribute, so shouldn't be as prominent */
+ if (adt && (adt->flag & ADT_NLA_SOLO_TRACK))
+ color[3] *= 0.15f;
}
/* draw the keyframes in the specified Action */
@@ -124,9 +126,12 @@ static void nla_action_draw_keyframes (AnimData *adt, bAction *act, View2D *v2d,
/* draw a darkened region behind the strips
* - get and reset the background color, this time without the alpha to stand out better
+ * (amplified alpha is used instead)
*/
nla_action_get_color(adt, act, color);
- glColor3fv(color);
+ color[3] *= 2.5f;
+
+ glColor4fv(color);
/* - draw a rect from the first to the last frame (no extra overlaps for now)
* that is slightly stumpier than the track background (hardcoded 2-units here)
*/
@@ -191,7 +196,24 @@ static void nla_strip_get_color_inside (AnimData *adt, NlaStrip *strip, float co
color[1]= 0.15f;
color[2]= 0.26f;
}
- }
+ }
+ else if (strip->type == NLASTRIP_TYPE_SOUND) {
+ /* Sound Clip */
+ if (strip->flag & NLASTRIP_FLAG_SELECT) {
+ /* selected - use a bright teal color */
+ // FIXME: hardcoded temp-hack colors
+ color[0]= 0.12f;
+ color[1]= 0.48f;
+ color[2]= 0.48f;
+ }
+ else {
+ /* normal, unselected strip - use (hardly noticable) teal tinge */
+ // FIXME: hardcoded temp-hack colors
+ color[0]= 0.17f;
+ color[1]= 0.24f;
+ color[2]= 0.24f;
+ }
+ }
else {
/* Action Clip (default/normal type of strip) */
if ((strip->flag & NLASTRIP_FLAG_ACTIVE) && (adt && (adt->flag & ADT_NLA_EDIT_ON))) {
@@ -285,15 +307,18 @@ static void nla_draw_strip_curves (NlaStrip *strip, float yminc, float ymaxc)
}
/* main call for drawing a single NLA-strip */
-static void nla_draw_strip (SpaceNla *snla, AnimData *adt, NlaTrack *UNUSED(nlt), NlaStrip *strip, View2D *v2d, float yminc, float ymaxc)
+static void nla_draw_strip (SpaceNla *snla, AnimData *adt, NlaTrack *nlt, NlaStrip *strip, View2D *v2d, float yminc, float ymaxc)
{
+ short nonSolo = ((adt && (adt->flag & ADT_NLA_SOLO_TRACK)) && (nlt->flag & NLATRACK_SOLO)==0);
float color[3];
/* get color of strip */
nla_strip_get_color_inside(adt, strip, color);
- /* draw extrapolation info first (as backdrop) */
- if (strip->extendmode != NLASTRIP_EXTEND_NOTHING) {
+ /* draw extrapolation info first (as backdrop)
+ * - but this should only be drawn if track has some contribution
+ */
+ if ((strip->extendmode != NLASTRIP_EXTEND_NOTHING) && (nonSolo == 0)) {
/* enable transparency... */
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
@@ -346,10 +371,23 @@ static void nla_draw_strip (SpaceNla *snla, AnimData *adt, NlaTrack *UNUSED(nlt)
glDisable(GL_BLEND);
}
+
/* draw 'inside' of strip itself */
- glColor3fv(color);
- uiSetRoundBox(15); /* all corners rounded */
- uiDrawBoxShade(GL_POLYGON, strip->start, yminc, strip->end, ymaxc, 0.0, 0.5, 0.1);
+ if (nonSolo == 0) {
+ /* strip is in normal track */
+ glColor3fv(color);
+ uiSetRoundBox(15); /* all corners rounded */
+
+ uiDrawBoxShade(GL_POLYGON, strip->start, yminc, strip->end, ymaxc, 0.0, 0.5, 0.1);
+ }
+ else {
+ /* strip is in disabled track - make less visible */
+ glColor4f(color[0], color[1], color[2], 0.1f);
+
+ glEnable(GL_BLEND);
+ glRectf(strip->start, yminc, strip->end, ymaxc);
+ glDisable(GL_BLEND);
+ }
/* draw strip's control 'curves'
@@ -358,6 +396,7 @@ static void nla_draw_strip (SpaceNla *snla, AnimData *adt, NlaTrack *UNUSED(nlt)
if ((snla->flag & SNLA_NOSTRIPCURVES) == 0)
nla_draw_strip_curves(strip, yminc, ymaxc);
+
/* draw strip outline
* - color used here is to indicate active vs non-active
*/
@@ -419,23 +458,21 @@ static void nla_draw_strip (SpaceNla *snla, AnimData *adt, NlaTrack *UNUSED(nlt)
}
/* add the relevant text to the cache of text-strings to draw in pixelspace */
-static void nla_draw_strip_text (NlaTrack *UNUSED(nlt), NlaStrip *strip, int UNUSED(index), View2D *v2d, float yminc, float ymaxc)
+static void nla_draw_strip_text (AnimData *adt, NlaTrack *nlt, NlaStrip *strip, int index, View2D *v2d, float yminc, float ymaxc)
{
- char str[256], dir[3];
+ short notSolo = ((adt && (adt->flag & ADT_NLA_SOLO_TRACK)) && (nlt->flag & NLATRACK_SOLO)==0);
+ char str[256];
char col[4];
+ float xofs;
rctf rect;
- /* 'dir' - direction that strip is played in */
- if (strip->flag & NLASTRIP_FLAG_REVERSE)
- sprintf(dir, "<-");
- else
- sprintf(dir, "->");
-
/* just print the name and the range */
- if (strip->flag & NLASTRIP_FLAG_TEMP_META)
- sprintf(str, "Temp-Meta | %.2f %s %.2f", strip->start, dir, strip->end);
- else
- sprintf(str, "%s | %.2f %s %.2f", strip->name, strip->start, dir, strip->end);
+ if (strip->flag & NLASTRIP_FLAG_TEMP_META) {
+ BLI_snprintf(str, sizeof(str), "%d) Temp-Meta", index);
+ }
+ else {
+ BLI_strncpy(str, strip->name, sizeof(str));
+ }
/* set text color - if colors (see above) are light, draw black text, otherwise draw white */
if (strip->flag & (NLASTRIP_FLAG_ACTIVE|NLASTRIP_FLAG_SELECT|NLASTRIP_FLAG_TWEAKUSER)) {
@@ -444,22 +481,57 @@ static void nla_draw_strip_text (NlaTrack *UNUSED(nlt), NlaStrip *strip, int UNU
else {
col[0]= col[1]= col[2]= 255;
}
- col[3]= 1.0;
-
+
+ /* text opacity depends on whether if there's a solo'd track, this isn't it */
+ if (notSolo == 0)
+ col[3]= 255;
+ else
+ col[3]= 128;
+
+ /* determine the amount of padding required - cannot be constant otherwise looks weird in some cases */
+ if ((strip->end - strip->start) <= 5.0f)
+ xofs = 0.5f;
+ else
+ xofs = 1.0f;
+
/* set bounding-box for text
* - padding of 2 'units' on either side
*/
// TODO: make this centered?
- rect.xmin= strip->start + 0.5f;
+ rect.xmin= strip->start + xofs;
rect.ymin= yminc;
- rect.xmax= strip->end - 0.5f;
+ rect.xmax= strip->end - xofs;
rect.ymax= ymaxc;
- /* add this string to the cache of texts to draw*/
-
+ /* add this string to the cache of texts to draw */
UI_view2d_text_cache_rectf(v2d, &rect, str, col);
}
+/* add frame extents to cache of text-strings to draw in pixelspace
+ * for now, only used when transforming strips
+ */
+static void nla_draw_strip_frames_text(NlaTrack *UNUSED(nlt), NlaStrip *strip, View2D *v2d, float UNUSED(yminc), float ymaxc)
+{
+ const float ytol = 1.0f; /* small offset to vertical positioning of text, for legibility */
+ const char col[4] = {220, 220, 220, 255}; /* light grey */
+ char str[32] = "";
+
+
+ /* Always draw times above the strip, whereas sequencer drew below + above.
+ * However, we should be fine having everything on top, since these tend to be
+ * quite spaced out.
+ * - 1 dp is compromise between lack of precision (ints only, as per sequencer)
+ * while also preserving some accuracy, since we do use floats
+ */
+ /* start frame */
+ BLI_snprintf(str, sizeof(str), "%.1f", strip->start);
+ UI_view2d_text_cache_add(v2d, strip->start-1.0f, ymaxc+ytol, str, col);
+
+ /* end frame */
+ BLI_snprintf(str, sizeof(str), "%.1f", strip->end);
+ UI_view2d_text_cache_add(v2d, strip->end, ymaxc+ytol, str, col);
+}
+
/* ---------------------- */
void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
@@ -470,10 +542,11 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
View2D *v2d= &ar->v2d;
float y= 0.0f;
- int items, height;
+ size_t items;
+ int height;
/* build list of channels to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
items= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* Update max-extent of channels here (taking into account scrollers):
@@ -482,18 +555,18 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
* - offset of NLACHANNEL_HEIGHT*2 is added to the height of the channels, as first is for
* start of list offset, and the second is as a correction for the scrollers.
*/
- height= ((items*NLACHANNEL_STEP) + (NLACHANNEL_HEIGHT*2));
+ height= ((items*NLACHANNEL_STEP(snla)) + (NLACHANNEL_HEIGHT(snla)*2));
/* don't use totrect set, as the width stays the same
* (NOTE: this is ok here, the configuration is pretty straightforward)
*/
v2d->tot.ymin= (float)(-height);
/* loop through channels, and set up drawing depending on their type */
- y= (float)(-NLACHANNEL_HEIGHT);
+ y= (float)(-NLACHANNEL_HEIGHT(snla));
for (ale= anim_data.first; ale; ale= ale->next) {
- const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF);
- const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF);
+ const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF(snla));
+ const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF(snla));
/* check if visible */
if ( IN_RANGE(yminc, v2d->cur.ymin, v2d->cur.ymax) ||
@@ -515,7 +588,13 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
nla_draw_strip(snla, adt, nlt, strip, v2d, yminc, ymaxc);
/* add the text for this strip to the cache */
- nla_draw_strip_text(nlt, strip, index, v2d, yminc, ymaxc);
+ nla_draw_strip_text(adt, nlt, strip, index, v2d, yminc, ymaxc);
+
+ /* if transforming strips (only real reason for temp-metas currently),
+ * add to the cache the frame numbers of the strip's extents
+ */
+ if (strip->flag & NLASTRIP_FLAG_TEMP_META)
+ nla_draw_strip_frames_text(nlt, strip, v2d, yminc, ymaxc);
}
}
}
@@ -564,7 +643,7 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
}
/* adjust y-position for next one */
- y -= NLACHANNEL_STEP;
+ y -= NLACHANNEL_STEP(snla);
}
/* free tempolary channels */
@@ -578,20 +657,23 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
// TODO: depreceate this code...
static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, View2D *v2d, float y)
{
+ SpaceNla *snla = (SpaceNla *)ac->sl;
bAnimListElem *ale;
float x = 0.0f;
/* loop through channels, and set up drawing depending on their type */
for (ale= anim_data->first; ale; ale= ale->next) {
- const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF);
- const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF);
+ const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF(snla));
+ const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF(snla));
const float ydatac= (float)(y - 7);
/* check if visible */
if ( IN_RANGE(yminc, v2d->cur.ymin, v2d->cur.ymax) ||
IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax) )
{
- short indent= 0, offset= 0, sel= 0, group= 0;
+ AnimData *adt = ale->adt;
+
+ short indent= 0, offset= 0, sel= 0, group= 0, nonSolo= 0;
int expand= -1, protect = -1, special= -1, mute = -1;
char name[128];
short doDraw=0;
@@ -602,27 +684,11 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
{
NlaTrack *nlt= (NlaTrack *)ale->data;
- indent= 0;
-
- if (ale->id) {
- /* special exception for materials and particles */
- if (ELEM(GS(ale->id->name),ID_MA,ID_PA)) {
- offset= 21;
- indent= 1;
- }
- else
- offset= 14;
- }
- else
- offset= 0;
-
- /* FIXME: 'solo' as the 'special' button?
- * - need special icons for these
- */
+ /* 'solo' as the 'special' button? */
if (nlt->flag & NLATRACK_SOLO)
- special= ICON_LAYER_ACTIVE;
+ special= ICON_SOLO_ON;
else
- special= ICON_LAYER_USED;
+ special= ICON_SOLO_OFF;
/* if this track is active and we're tweaking it, don't draw these toggles */
// TODO: need a special macro for this...
@@ -638,6 +704,15 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
else
protect = ICON_LOCKED;
}
+
+ /* is track enabled for solo drawing? */
+ if ((adt) && (adt->flag & ADT_NLA_SOLO_TRACK)) {
+ if ((nlt->flag & NLATRACK_SOLO) == 0) {
+ /* tag for special non-solo handling; also hide the mute toggles */
+ nonSolo= 1;
+ mute = 0;
+ }
+ }
sel = SEL_NLT(nlt);
strcpy(name, nlt->name);
@@ -652,24 +727,12 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
group = 5;
- if (ale->id) {
- /* special exception for materials and particles */
- if (ELEM(GS(ale->id->name),ID_MA,ID_PA)) {
- offset= 21;
- indent= 1;
- }
- else
- offset= 14;
- }
- else
- offset= 0;
-
special = ICON_ACTION;
if (act)
- sprintf(name, "ActAction: <%s>", act->id.name+2);
+ BLI_snprintf(name, sizeof(name), "%s", act->id.name+2);
else
- sprintf(name, "<No Action>");
+ BLI_strncpy(name, "<No Action>", sizeof(name));
// draw manually still
doDraw= 1;
@@ -684,6 +747,45 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
/* if special types, draw manually for now... */
if (doDraw) {
+ if (ale->id) {
+ /* special exception for textures */
+ if (GS(ale->id->name) == ID_TE) {
+ offset= 14;
+ indent= 1;
+ }
+ /* special exception for nodetrees */
+ else if (GS(ale->id->name) == ID_NT) {
+ bNodeTree *ntree = (bNodeTree *)ale->id;
+
+ switch (ntree->type) {
+ case NTREE_SHADER:
+ {
+ /* same as for textures */
+ offset= 14;
+ indent= 1;
+ }
+ break;
+
+ case NTREE_TEXTURE:
+ {
+ /* even more */
+ offset= 21;
+ indent= 1;
+ }
+ break;
+
+ default:
+ /* normal will do */
+ offset= 14;
+ break;
+ }
+ }
+ else
+ offset= 14;
+ }
+ else
+ offset= 0;
+
/* now, start drawing based on this information */
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
@@ -691,18 +793,19 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
/* draw backing strip behind channel name */
if (group == 5) {
/* Action Line */
- AnimData *adt= ale->adt;
-
// TODO: if tweaking some action, use the same color as for the tweaked track (quick hack done for now)
if (adt && (adt->flag & ADT_NLA_EDIT_ON)) {
// greenish color (same as tweaking strip) - hardcoded for now
glColor3f(0.3f, 0.95f, 0.1f);
}
else {
+ /* if a track is being solo'd, action is ignored, so draw less boldly (alpha lower) */
+ float alpha = (adt && (adt->flag & ADT_NLA_SOLO_TRACK))? 0.3f : 1.0f;
+
if (ale->data)
- glColor3f(0.8f, 0.2f, 0.0f); // reddish color - hardcoded for now
+ glColor4f(0.8f, 0.2f, 0.0f, alpha); // reddish color - hardcoded for now
else
- glColor3f(0.6f, 0.5f, 0.5f); // greyish-red color - hardcoded for now
+ glColor4f(0.6f, 0.5f, 0.5f, alpha); // greyish-red color - hardcoded for now
}
offset += 7 * indent;
@@ -719,10 +822,8 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
group = 0;
}
else {
- /* for normal channels
- * - use 3 shades of color group/standard color for 3 indention level
- */
- UI_ThemeColorShade(TH_HEADER, ((indent==0)?20: (indent==1)?-20: -40));
+ /* NLA tracks - darker color if not solo track when we're showing solo */
+ UI_ThemeColorShade(TH_HEADER, ((nonSolo == 0)? 20 : -20));
indent += group;
offset += 7 * indent;
@@ -816,7 +917,7 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
}
/* adjust y-position for next one */
- y -= NLACHANNEL_STEP;
+ y -= NLACHANNEL_STEP(snla);
}
}
@@ -826,12 +927,14 @@ void draw_nla_channel_list (bContext *C, bAnimContext *ac, ARegion *ar)
bAnimListElem *ale;
int filter;
+ SpaceNla *snla = (SpaceNla *)ac->sl;
View2D *v2d= &ar->v2d;
float y= 0.0f;
- int items, height;
+ size_t items;
+ int height;
/* build list of channels to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
items= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* Update max-extent of channels here (taking into account scrollers):
@@ -840,7 +943,7 @@ void draw_nla_channel_list (bContext *C, bAnimContext *ac, ARegion *ar)
* - offset of NLACHANNEL_HEIGHT*2 is added to the height of the channels, as first is for
* start of list offset, and the second is as a correction for the scrollers.
*/
- height= ((items*NLACHANNEL_STEP) + (NLACHANNEL_HEIGHT*2));
+ height= ((items*NLACHANNEL_STEP(snla)) + (NLACHANNEL_HEIGHT(snla)*2));
/* don't use totrect set, as the width stays the same
* (NOTE: this is ok here, the configuration is pretty straightforward)
*/
@@ -850,14 +953,15 @@ void draw_nla_channel_list (bContext *C, bAnimContext *ac, ARegion *ar)
/* draw channels */
{ /* first pass: backdrops + oldstyle drawing */
- y= (float)(-NLACHANNEL_HEIGHT);
+ y= (float)(-NLACHANNEL_HEIGHT(snla));
draw_nla_channel_list_gl(ac, &anim_data, v2d, y);
}
{ /* second pass: UI widgets */
uiBlock *block= uiBeginBlock(C, ar, "NLA channel buttons", UI_EMBOSS);
+ size_t channel_index = 0;
- y= (float)(-NLACHANNEL_HEIGHT);
+ y= (float)(-NLACHANNEL_HEIGHT(snla));
/* set blending again, as may not be set in previous step */
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@@ -865,19 +969,20 @@ void draw_nla_channel_list (bContext *C, bAnimContext *ac, ARegion *ar)
/* loop through channels, and set up drawing depending on their type */
for (ale= anim_data.first; ale; ale= ale->next) {
- const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF);
- const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF);
+ const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF(snla));
+ const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF(snla));
/* check if visible */
if ( IN_RANGE(yminc, v2d->cur.ymin, v2d->cur.ymax) ||
IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax) )
{
/* draw all channels using standard channel-drawing API */
- ANIM_channel_draw_widgets(ac, ale, block, yminc, ymaxc);
+ ANIM_channel_draw_widgets(C, ac, ale, block, yminc, ymaxc, channel_index);
}
/* adjust y-position for next one */
- y -= NLACHANNEL_STEP;
+ y -= NLACHANNEL_STEP(snla);
+ channel_index++;
}
uiEndBlock(C, block);
diff --git a/source/blender/editors/space_nla/nla_edit.c b/source/blender/editors/space_nla/nla_edit.c
index 77c91b28a63..08026e8a1d2 100644
--- a/source/blender/editors/space_nla/nla_edit.c
+++ b/source/blender/editors/space_nla/nla_edit.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -36,6 +34,7 @@
#include <math.h>
#include "DNA_anim_types.h"
+#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "MEM_guardedalloc.h"
@@ -68,6 +67,7 @@
#include "UI_interface.h"
#include "UI_resources.h"
+#include "UI_view2d.h"
#include "nla_intern.h" // own include
#include "nla_private.h" // FIXME... maybe this shouldn't be included?
@@ -80,7 +80,7 @@ void ED_nla_postop_refresh (bAnimContext *ac)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA | ANIMFILTER_FOREDIT);
+ short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ANIMDATA | ANIMFILTER_FOREDIT);
/* get blocks to work on */
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -116,7 +116,7 @@ static int nlaedit_enable_tweakmode_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the AnimData blocks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ANIMDATA);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* if no blocks, popup error? */
@@ -185,7 +185,7 @@ static int nlaedit_disable_tweakmode_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the AnimData blocks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ANIMDATA);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* if no blocks, popup error? */
@@ -236,6 +236,136 @@ void NLA_OT_tweakmode_exit (wmOperatorType *ot)
}
/* *********************************************** */
+/* NLA Strips Range Stuff */
+
+/* *************************** Calculate Range ************************** */
+
+/* Get the min/max strip extents */
+static void get_nlastrip_extents (bAnimContext *ac, float *min, float *max, const short onlySel)
+{
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+
+ /* get data to filter */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
+ ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
+
+ /* set large values to try to override */
+ *min= 999999999.0f;
+ *max= -999999999.0f;
+
+ /* check if any channels to set range with */
+ if (anim_data.first) {
+ /* go through channels, finding max extents */
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ NlaTrack *nlt = (NlaTrack *)ale->data;
+ NlaStrip *strip;
+
+ for (strip = nlt->strips.first; strip; strip = strip->next) {
+ /* only consider selected strips? */
+ if ((onlySel == 0) || (strip->flag & NLASTRIP_FLAG_SELECT)) {
+ /* extend range if appropriate */
+ *min = MIN2(*min, strip->start);
+ *max = MAX2(*max, strip->end);
+ }
+ }
+ }
+
+ /* free memory */
+ BLI_freelistN(&anim_data);
+ }
+ else {
+ /* set default range */
+ if (ac->scene) {
+ *min= (float)ac->scene->r.sfra;
+ *max= (float)ac->scene->r.efra;
+ }
+ else {
+ *min= -5;
+ *max= 100;
+ }
+ }
+}
+
+/* ****************** View-All Operator ****************** */
+
+static int nlaedit_viewall(bContext *C, const short onlySel)
+{
+ bAnimContext ac;
+ View2D *v2d;
+ float extra;
+
+ /* get editor data */
+ if (ANIM_animdata_get_context(C, &ac) == 0)
+ return OPERATOR_CANCELLED;
+ v2d= &ac.ar->v2d;
+
+ /* set the horizontal range, with an extra offset so that the extreme keys will be in view */
+ get_nlastrip_extents(&ac, &v2d->cur.xmin, &v2d->cur.xmax, onlySel);
+
+ extra= 0.1f * (v2d->cur.xmax - v2d->cur.xmin);
+ v2d->cur.xmin -= extra;
+ v2d->cur.xmax += extra;
+
+ /* set vertical range */
+ v2d->cur.ymax= 0.0f;
+ v2d->cur.ymin= (float)-(v2d->mask.ymax - v2d->mask.ymin);
+
+ /* do View2D syncing */
+ UI_view2d_sync(CTX_wm_screen(C), CTX_wm_area(C), v2d, V2D_LOCK_COPY);
+
+ /* just redraw this view */
+ ED_area_tag_redraw(CTX_wm_area(C));
+
+ return OPERATOR_FINISHED;
+}
+
+/* ......... */
+
+static int nlaedit_viewall_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ /* whole range */
+ return nlaedit_viewall(C, FALSE);
+}
+
+static int nlaedit_viewsel_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ /* only selected */
+ return nlaedit_viewall(C, TRUE);
+}
+
+void NLA_OT_view_all (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "View All";
+ ot->idname= "NLA_OT_view_all";
+ ot->description= "Reset viewable area to show full strips range";
+
+ /* api callbacks */
+ ot->exec= nlaedit_viewall_exec;
+ ot->poll= ED_operator_nla_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+void NLA_OT_view_selected (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "View Selected";
+ ot->idname= "NLA_OT_view_selected";
+ ot->description= "Reset viewable area to show selected strips range";
+
+ /* api callbacks */
+ ot->exec= nlaedit_viewsel_exec;
+ ot->poll= ED_operator_nla_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* *********************************************** */
/* NLA Editing Operations (Constructive/Destructive) */
/* ******************** Add Action-Clip Operator ***************************** */
@@ -250,7 +380,8 @@ static int nlaedit_add_actionclip_exec (bContext *C, wmOperator *op)
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- int filter, items;
+ size_t items;
+ int filter;
bAction *act;
@@ -281,7 +412,7 @@ static int nlaedit_add_actionclip_exec (bContext *C, wmOperator *op)
/* get a list of the editable tracks being shown in the NLA
* - this is limited to active ones for now, but could be expanded to
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ACTIVE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ACTIVE | ANIMFILTER_FOREDIT);
items= ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
if (items == 0) {
@@ -379,7 +510,7 @@ static int nlaedit_add_transition_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each track, find pairs of strips to add transitions to */
@@ -402,14 +533,17 @@ static int nlaedit_add_transition_exec (bContext *C, wmOperator *op)
if ELEM(0, (s1->flag & NLASTRIP_FLAG_SELECT), (s2->flag & NLASTRIP_FLAG_SELECT))
continue;
/* check if there's space between the two */
- if (IS_EQ(s1->end, s2->start))
+ if (IS_EQF(s1->end, s2->start))
continue;
- /* make neither one is a transition
+ /* make sure neither one is a transition
* - although this is impossible to create with the standard tools,
* the user may have altered the settings
*/
if (ELEM(NLASTRIP_TYPE_TRANSITION, s1->type, s2->type))
continue;
+ /* also make sure neither one is a soundclip */
+ if (ELEM(NLASTRIP_TYPE_SOUND, s1->type, s2->type))
+ continue;
/* allocate new strip */
strip= MEM_callocN(sizeof(NlaStrip), "NlaStrip");
@@ -476,6 +610,91 @@ void NLA_OT_transition_add (wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
+/* ******************** Add Sound Clip Operator ***************************** */
+/* Add a new sound clip */
+
+static int nlaedit_add_sound_exec (bContext *C, wmOperator *UNUSED(op))
+{
+ bAnimContext ac;
+
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+
+ Scene *scene;
+ int cfra;
+
+ /* get editor data */
+ if (ANIM_animdata_get_context(C, &ac) == 0)
+ return OPERATOR_CANCELLED;
+
+ scene = ac.scene;
+ cfra = CFRA;
+
+ /* get a list of the editable tracks being shown in the NLA */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT);
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* for each track, add sound clips if it belongs to a speaker */
+ // TODO: what happens if there aren't any tracks... well that's a more general problem for later
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ Object *ob = (Object *)ale->id; /* may not be object until we actually check! */
+
+ AnimData *adt = ale->adt;
+ NlaTrack *nlt= (NlaTrack *)ale->data;
+ NlaStrip *strip;
+
+ /* does this belong to speaker - assumed to live on Object level only */
+ if ((GS(ale->id->name) != ID_OB) || (ob->type != OB_SPEAKER))
+ continue;
+
+ /* create a new strip, and offset it to start on the current frame */
+ strip= add_nla_soundstrip(ac.scene, ob->data);
+
+ strip->start += cfra;
+ strip->end += cfra;
+
+ /* firstly try adding strip to our current track, but if that fails, add to a new track */
+ if (BKE_nlatrack_add_strip(nlt, strip) == 0) {
+ /* trying to add to the current failed (no space),
+ * so add a new track to the stack, and add to that...
+ */
+ nlt= add_nlatrack(adt, NULL);
+ BKE_nlatrack_add_strip(nlt, strip);
+ }
+
+ /* auto-name it */
+ BKE_nlastrip_validate_name(adt, strip);
+ }
+
+ /* free temp data */
+ BLI_freelistN(&anim_data);
+
+ /* refresh auto strip properties */
+ ED_nla_postop_refresh(&ac);
+
+ /* set notifier that things have changed */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA|NA_EDITED, NULL);
+
+ /* done */
+ return OPERATOR_FINISHED;
+}
+
+void NLA_OT_soundclip_add (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Add Sound Clip";
+ ot->idname= "NLA_OT_soundclip_add";
+ ot->description= "Add a strip for controlling when speaker plays its sound clip";
+
+ /* api callbacks */
+ ot->exec= nlaedit_add_sound_exec;
+ ot->poll= nlaop_poll_tweakmode_off;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
/* ******************** Add Meta-Strip Operator ***************************** */
/* Add new meta-strips incorporating the selected strips */
@@ -493,7 +712,7 @@ static int nlaedit_add_meta_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each track, find pairs of strips to add transitions to */
@@ -554,7 +773,7 @@ static int nlaedit_remove_meta_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each track, find pairs of strips to add transitions to */
@@ -610,7 +829,7 @@ static int nlaedit_duplicate_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* duplicate strips in tracks starting from the last one so that we're
@@ -713,7 +932,7 @@ static int nlaedit_delete_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, delete all selected strips */
@@ -794,14 +1013,14 @@ static void nlaedit_split_strip_actclip (AnimData *adt, NlaTrack *nlt, NlaStrip
/* strip extents */
len= strip->end - strip->start;
- if (IS_EQ(len, 0.0f))
+ if (IS_EQF(len, 0.0f))
return;
else
splitframe= strip->start + (len / 2.0f);
/* action range */
len= strip->actend - strip->actstart;
- if (IS_EQ(len, 0.0f))
+ if (IS_EQF(len, 0.0f))
splitaframe= strip->actend;
else
splitaframe= strip->actstart + (len / 2.0f);
@@ -854,7 +1073,7 @@ static int nlaedit_split_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, split all selected strips into two strips */
@@ -930,7 +1149,7 @@ static int nlaedit_bake_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_ANIMDATA | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each AnimData block, bake strips to animdata... */
@@ -951,7 +1170,7 @@ static int nlaedit_bake_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_FINISHED;
}
-static void NLA_OT_bake (wmOperatorType *ot)
+void NLA_OT_bake (wmOperatorType *ot)
{
/* identifiers */
ot->name= "Bake Strips";
@@ -985,7 +1204,7 @@ static int nlaedit_toggle_mute_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* go over all selected strips */
@@ -1044,7 +1263,7 @@ static int nlaedit_swap_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* consider each track in turn */
@@ -1202,7 +1421,7 @@ static int nlaedit_move_up_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* since we're potentially moving strips from lower tracks to higher tracks, we should
@@ -1276,7 +1495,7 @@ static int nlaedit_move_down_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* loop through the tracks in normal order, since we're pushing strips down,
@@ -1351,7 +1570,7 @@ static int nlaedit_sync_actlen_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
if (active_only) filter |= ANIMFILTER_ACTIVE;
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
@@ -1446,7 +1665,7 @@ static int nlaedit_apply_scale_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* init the editing data */
@@ -1473,7 +1692,7 @@ static int nlaedit_apply_scale_exec (bContext *C, wmOperator *UNUSED(op))
/* setup iterator, and iterate over all the keyframes in the action, applying this scaling */
ked.data= strip;
- ANIM_animchanneldata_keyframes_loop(&ked, strip->act, ALE_ACT, NULL, bezt_apply_nlamapping, calchandles_fcurve, 0);
+ ANIM_animchanneldata_keyframes_loop(&ked, ac.ads, strip->act, ALE_ACT, NULL, bezt_apply_nlamapping, calchandles_fcurve);
/* clear scale of strip now that it has been applied,
* and recalculate the extents of the action now that it has been scaled
@@ -1526,7 +1745,7 @@ static int nlaedit_clear_scale_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, reset scale of all selected strips */
@@ -1602,7 +1821,7 @@ static int nlaedit_snap_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* get some necessary vars */
@@ -1639,10 +1858,10 @@ static int nlaedit_snap_exec (bContext *C, wmOperator *op)
strip->start= (float)CFRA;
break;
case NLAEDIT_SNAP_NEAREST_FRAME: /* to nearest frame */
- strip->start= (float)(floor(start+0.5));
+ strip->start= floorf(start+0.5f);
break;
case NLAEDIT_SNAP_NEAREST_SECOND: /* to nearest second */
- strip->start= ((float)floor(start/secf + 0.5f) * secf);
+ strip->start= floorf(start/secf + 0.5f) * secf;
break;
case NLAEDIT_SNAP_NEAREST_MARKER: /* to nearest marker */
strip->start= (float)ED_markers_find_nearest_marker_time(ac.markers, start);
@@ -1770,7 +1989,7 @@ static int nla_fmodifier_add_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, add the specified modifier to all selected strips */
@@ -1791,6 +2010,10 @@ static int nla_fmodifier_add_exec(bContext *C, wmOperator *op)
continue;
}
+ /* sound clips are not affected by FModifiers */
+ if (strip->type == NLASTRIP_TYPE_SOUND)
+ continue;
+
/* add F-Modifier of specified type to selected, and make it the active one */
fcm= add_fmodifier(&strip->modifiers, type);
@@ -1851,7 +2074,7 @@ static int nla_fmodifier_copy_exec(bContext *C, wmOperator *op)
free_fmodifiers_copybuf();
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, add the specified modifier to all selected strips */
@@ -1910,7 +2133,7 @@ static int nla_fmodifier_paste_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_SEL | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, add the specified modifier to all selected strips */
diff --git a/source/blender/editors/space_nla/nla_intern.h b/source/blender/editors/space_nla/nla_intern.h
index dba7fca8d0f..ec2e22e65fa 100644
--- a/source/blender/editors/space_nla/nla_intern.h
+++ b/source/blender/editors/space_nla/nla_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -94,8 +92,12 @@ void NLA_OT_tweakmode_exit(wmOperatorType *ot);
/* --- */
+void NLA_OT_view_all(wmOperatorType *ot);
+void NLA_OT_view_selected(wmOperatorType *ot);
+
void NLA_OT_actionclip_add(wmOperatorType *ot);
void NLA_OT_transition_add(wmOperatorType *ot);
+void NLA_OT_soundclip_add(wmOperatorType *ot);
void NLA_OT_meta_add(wmOperatorType *ot);
void NLA_OT_meta_remove(wmOperatorType *ot);
diff --git a/source/blender/editors/space_nla/nla_ops.c b/source/blender/editors/space_nla/nla_ops.c
index 85dcf14adac..821e302c13d 100644
--- a/source/blender/editors/space_nla/nla_ops.c
+++ b/source/blender/editors/space_nla/nla_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -45,6 +43,7 @@
#include "BKE_screen.h"
#include "ED_anim_api.h"
+#include "ED_markers.h"
#include "ED_screen.h"
#include "ED_transform.h"
@@ -129,12 +128,17 @@ void nla_operatortypes(void)
WM_operatortype_append(NLA_OT_select_all_toggle);
WM_operatortype_append(NLA_OT_select_leftright);
+ /* view */
+ WM_operatortype_append(NLA_OT_view_all);
+ WM_operatortype_append(NLA_OT_view_selected);
+
/* edit */
WM_operatortype_append(NLA_OT_tweakmode_enter);
WM_operatortype_append(NLA_OT_tweakmode_exit);
WM_operatortype_append(NLA_OT_actionclip_add);
WM_operatortype_append(NLA_OT_transition_add);
+ WM_operatortype_append(NLA_OT_soundclip_add);
WM_operatortype_append(NLA_OT_meta_add);
WM_operatortype_append(NLA_OT_meta_remove);
@@ -211,6 +215,11 @@ static void nla_keymap_main (wmKeyConfig *keyconf, wmKeyMap *keymap)
WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, 0, 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, KM_ALT, 0)->ptr, "axis_range", 1);
+ /* view*/
+ /* auto-set range */
+ //WM_keymap_add_item(keymap, "NLA_OT_previewrange_set", PKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
+ WM_keymap_add_item(keymap, "NLA_OT_view_all", HOMEKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "NLA_OT_view_selected", PADPERIOD, KM_PRESS, 0, 0);
/* editing */
/* tweakmode
@@ -223,6 +232,7 @@ static void nla_keymap_main (wmKeyConfig *keyconf, wmKeyMap *keymap)
/* add strips */
WM_keymap_add_item(keymap, "NLA_OT_actionclip_add", AKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "NLA_OT_transition_add", TKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "NLA_OT_soundclip_add", KKEY, KM_PRESS, KM_SHIFT, 0);
/* meta-strips */
WM_keymap_add_item(keymap, "NLA_OT_meta_add", GKEY, KM_PRESS, KM_SHIFT, 0);
@@ -262,6 +272,9 @@ static void nla_keymap_main (wmKeyConfig *keyconf, wmKeyMap *keymap)
/* transform system */
transform_keymap_for_space(keyconf, keymap, SPACE_NLA);
+
+ /* special markers hotkeys for anim editors: see note in definition of this function */
+ ED_marker_keymap_animedit_conflictfree(keymap);
}
/* --------------- */
diff --git a/source/blender/editors/space_nla/nla_select.c b/source/blender/editors/space_nla/nla_select.c
index 8ef63b9a83d..c33316620eb 100644
--- a/source/blender/editors/space_nla/nla_select.c
+++ b/source/blender/editors/space_nla/nla_select.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -114,7 +112,8 @@ static void deselect_nla_strips (bAnimContext *ac, short test, short sel)
short smode;
/* determine type-based settings */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS);
+ // FIXME: double check whether ANIMFILTER_LIST_VISIBLE is needed!
+ filter= (ANIMFILTER_DATA_VISIBLE);
/* filter data */
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -224,16 +223,17 @@ static void borderselect_nla_strips (bAnimContext *ac, rcti rect, short mode, sh
bAnimListElem *ale;
int filter;
+ SpaceNla *snla = (SpaceNla *)ac->sl;
View2D *v2d= &ac->ar->v2d;
rctf rectf;
- float ymin=(float)(-NLACHANNEL_HEIGHT), ymax=0;
+ float ymin=(float)(-NLACHANNEL_HEIGHT(snla)), ymax=0;
/* convert border-region to view coordinates */
UI_view2d_region_to_view(v2d, rect.xmin, rect.ymin+2, &rectf.xmin, &rectf.ymin);
UI_view2d_region_to_view(v2d, rect.xmax, rect.ymax-2, &rectf.xmax, &rectf.ymax);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* convert selection modes to selection modes */
@@ -241,7 +241,7 @@ static void borderselect_nla_strips (bAnimContext *ac, rcti rect, short mode, sh
/* loop over data, doing border select */
for (ale= anim_data.first; ale; ale= ale->next) {
- ymin= ymax - NLACHANNEL_STEP;
+ ymin= ymax - NLACHANNEL_STEP(snla);
/* perform vertical suitability check (if applicable) */
if ( (mode == NLA_BORDERSEL_FRAMERANGE) ||
@@ -395,7 +395,7 @@ static void nlaedit_select_leftright (bContext *C, bAnimContext *ac, short leftr
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* select strips on the side where most data occurs */
@@ -504,6 +504,7 @@ static void mouse_nla_strips (bContext *C, bAnimContext *ac, const int mval[2],
bAnimListElem *ale = NULL;
int filter;
+ SpaceNla *snla = (SpaceNla *)ac->sl;
View2D *v2d= &ac->ar->v2d;
Scene *scene= ac->scene;
NlaStrip *strip = NULL;
@@ -514,7 +515,7 @@ static void mouse_nla_strips (bContext *C, bAnimContext *ac, const int mval[2],
/* use View2D to determine the index of the channel (i.e a row in the list) where keyframe was */
UI_view2d_region_to_view(v2d, mval[0], mval[1], &x, &y);
- UI_view2d_listview_view_to_cell(v2d, 0, NLACHANNEL_STEP, 0, (float)NLACHANNEL_HEIGHT_HALF, x, y, NULL, &channel_index);
+ UI_view2d_listview_view_to_cell(v2d, 0, NLACHANNEL_STEP(snla), 0, (float)NLACHANNEL_HEIGHT_HALF(snla), x, y, NULL, &channel_index);
/* x-range to check is +/- 7 (in screen/region-space) on either side of mouse click
* (that is the size of keyframe icons, so user should be expecting similar tolerances)
@@ -523,7 +524,7 @@ static void mouse_nla_strips (bContext *C, bAnimContext *ac, const int mval[2],
UI_view2d_region_to_view(v2d, mval[0]+7, mval[1], &xmax, &dummy);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* try to get channel */
diff --git a/source/blender/editors/space_nla/space_nla.c b/source/blender/editors/space_nla/space_nla.c
index f2e0abe1e60..48859acff6a 100644
--- a/source/blender/editors/space_nla/space_nla.c
+++ b/source/blender/editors/space_nla/space_nla.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/space_node/CMakeLists.txt b/source/blender/editors/space_node/CMakeLists.txt
index 9172bc4e9eb..dcd6bcd3403 100644
--- a/source/blender/editors/space_node/CMakeLists.txt
+++ b/source/blender/editors/space_node/CMakeLists.txt
@@ -23,14 +23,14 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
../../nodes
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
../../../../intern/opennl/extern
)
diff --git a/source/blender/editors/space_node/SConscript b/source/blender/editors/space_node/SConscript
index 634d4b777d9..c4309dcfca3 100644
--- a/source/blender/editors/space_node/SConscript
+++ b/source/blender/editors/space_node/SConscript
@@ -15,7 +15,7 @@ if env['CC'] == 'gcc':
#cf.append('-Werror')
pass
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c
index 17cfc7d8f95..0d2ec7c646f 100644
--- a/source/blender/editors/space_node/drawnode.c
+++ b/source/blender/editors/space_node/drawnode.c
@@ -53,9 +53,10 @@
#include "BKE_image.h"
#include "BKE_library.h"
#include "BKE_main.h"
+#include "BKE_node.h"
-#include "CMP_node.h"
-#include "SHD_node.h"
+#include "NOD_composite.h"
+#include "NOD_shader.h"
#include "BIF_gl.h"
#include "BIF_glutil.h"
@@ -81,6 +82,141 @@
#include "node_intern.h"
+// XXX interface.h
+extern void ui_dropshadow(rctf *rct, float radius, float aspect, int select);
+
+/* ****************** SOCKET BUTTON DRAW FUNCTIONS ***************** */
+
+static void node_sync_cb(bContext *UNUSED(C), void *snode_v, void *node_v)
+{
+ SpaceNode *snode= snode_v;
+
+ if(snode->treetype==NTREE_SHADER) {
+ nodeShaderSynchronizeID(node_v, 1);
+ // allqueue(REDRAWBUTSSHADING, 0);
+ }
+}
+
+void node_socket_button_default(const bContext *C, uiBlock *block,
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *name, int x, int y, int width)
+{
+ PointerRNA ptr;
+ uiBut *bt;
+
+ RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
+
+ bt = uiDefButR(block, NUM, B_NODE_EXEC, name,
+ x, y+1, width, NODE_DY-2,
+ &ptr, "default_value", 0, 0, 0, -1, -1, NULL);
+ if (node)
+ uiButSetFunc(bt, node_sync_cb, CTX_wm_space_node(C), node);
+}
+
+typedef struct SocketComponentMenuArgs {
+ PointerRNA ptr;
+ int x, y, width;
+ uiButHandleFunc cb;
+ void *arg1, *arg2;
+} SocketComponentMenuArgs;
+/* NOTE: this is a block-menu, needs 0 events, otherwise the menu closes */
+static uiBlock *socket_component_menu(bContext *C, ARegion *ar, void *args_v)
+{
+ SocketComponentMenuArgs *args= (SocketComponentMenuArgs*)args_v;
+ uiBlock *block;
+ uiLayout *layout;
+
+ block= uiBeginBlock(C, ar, "socket menu", UI_EMBOSS);
+ uiBlockSetFlag(block, UI_BLOCK_KEEP_OPEN);
+
+ layout= uiLayoutColumn(uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, args->x, args->y+2, args->width, NODE_DY, U.uistyles.first), 0);
+
+ uiItemR(layout, &args->ptr, "default_value", UI_ITEM_R_EXPAND, "", ICON_NONE);
+
+ return block;
+}
+void node_socket_button_components(const bContext *C, uiBlock *block,
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *name, int x, int y, int width)
+{
+ PointerRNA ptr;
+ SocketComponentMenuArgs *args;
+
+ RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
+
+ args= MEM_callocN(sizeof(SocketComponentMenuArgs), "SocketComponentMenuArgs");
+
+ args->ptr = ptr;
+ args->x = x;
+ args->y = y;
+ args->width = width;
+ args->cb = node_sync_cb;
+ args->arg1 = CTX_wm_space_node(C);
+ args->arg2 = node;
+
+ uiDefBlockButN(block, socket_component_menu, args, name, x, y+1, width, NODE_DY-2, "");
+}
+
+void node_socket_button_color(const bContext *C, uiBlock *block,
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *name, int x, int y, int width)
+{
+ PointerRNA ptr;
+ uiBut *bt;
+ int labelw= width - 40;
+
+ RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
+
+ bt=uiDefButR(block, COL, B_NODE_EXEC, "",
+ x, y+2, (labelw>0 ? 40 : width), NODE_DY-2,
+ &ptr, "default_value", 0, 0, 0, -1, -1, NULL);
+ if (node)
+ uiButSetFunc(bt, node_sync_cb, CTX_wm_space_node(C), node);
+
+ if (name[0]!='\0' && labelw>0)
+ uiDefBut(block, LABEL, 0, name, x + 40, y+2, labelw, NODE_DY-2, NULL, 0, 0, 0, 0, "");
+}
+
+/* ****************** BASE DRAW FUNCTIONS FOR NEW OPERATOR NODES ***************** */
+
+void node_draw_socket_new(bNodeSocket *sock, float size)
+{
+ float x=sock->locx, y=sock->locy;
+
+ /* 16 values of sin function */
+ static float si[16] = {
+ 0.00000000f, 0.39435585f,0.72479278f,0.93775213f,
+ 0.99871650f,0.89780453f,0.65137248f,0.29936312f,
+ -0.10116832f,-0.48530196f,-0.79077573f,-0.96807711f,
+ -0.98846832f,-0.84864425f,-0.57126821f,-0.20129852f
+ };
+ /* 16 values of cos function */
+ static float co[16] ={
+ 1.00000000f,0.91895781f,0.68896691f,0.34730525f,
+ -0.05064916f,-0.44039415f,-0.75875812f,-0.95413925f,
+ -0.99486932f,-0.87434661f,-0.61210598f,-0.25065253f,
+ 0.15142777f,0.52896401f,0.82076344f,0.97952994f,
+ };
+ int a;
+
+ glColor3ub(180, 180, 180);
+
+ glBegin(GL_POLYGON);
+ for(a=0; a<16; a++)
+ glVertex2f(x+size*si[a], y+size*co[a]);
+ glEnd();
+
+ glColor4ub(0, 0, 0, 150);
+ glEnable(GL_BLEND);
+ glEnable( GL_LINE_SMOOTH );
+ glBegin(GL_LINE_LOOP);
+ for(a=0; a<16; a++)
+ glVertex2f(x+size*si[a], y+size*co[a]);
+ glEnd();
+ glDisable( GL_LINE_SMOOTH );
+ glDisable(GL_BLEND);
+}
+
/* ****************** BUTTON CALLBACKS FOR ALL TREES ***************** */
static void node_buts_value(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
@@ -192,11 +328,12 @@ static void node_buts_normal(uiLayout *layout, bContext *UNUSED(C), PointerRNA *
bNode *node= ptr->data;
rctf *butr= &node->butr;
bNodeSocket *sock= node->outputs.first; /* first socket stores normal */
+ float *nor= ((bNodeSocketValueVector*)sock->default_value)->value;
uiBut *bt;
bt= uiDefButF(block, BUT_NORMAL, B_NODE_EXEC, "",
(short)butr->xmin, (short)butr->xmin, butr->xmax-butr->xmin, butr->xmax-butr->xmin,
- sock->ns.vec, 0.0f, 1.0f, 0, 0, "");
+ nor, 0.0f, 1.0f, 0, 0, "");
uiButSetFunc(bt, node_normal_cb, ntree, node);
}
#if 0 // not used in 2.5x yet
@@ -287,6 +424,470 @@ static void node_buts_math(uiLayout *layout, bContext *UNUSED(C), PointerRNA *pt
uiItemR(layout, ptr, "operation", 0, "", ICON_NONE);
}
+static int node_resize_area_default(bNode *node, int x, int y)
+{
+ if (node->flag & NODE_HIDDEN) {
+ rctf totr= node->totr;
+ /* right part of node */
+ totr.xmin= node->totr.xmax-20.0f;
+ return BLI_in_rctf(&totr, x, y);
+ }
+ else {
+ /* rect we're interested in is just the bottom right corner */
+ rctf totr= node->totr;
+ /* bottom right corner */
+ totr.xmin= totr.xmax-10.0f;
+ totr.ymax= totr.ymin+10.0f;
+ return BLI_in_rctf(&totr, x, y);
+ }
+}
+
+/* ****************** BUTTON CALLBACKS FOR COMMON NODES ***************** */
+
+/* width of socket columns in group display */
+#define NODE_GROUP_FRAME 120
+
+/* based on settings in node, sets drawing rect info. each redraw! */
+/* note: this assumes only 1 group at a time is drawn (linked data) */
+/* in node->totr the entire boundbox for the group is stored */
+static void node_update_group(const bContext *C, bNodeTree *ntree, bNode *gnode)
+{
+ if (!(gnode->flag & NODE_GROUP_EDIT)) {
+ node_update_default(C, ntree, gnode);
+ }
+ else {
+ bNodeTree *ngroup= (bNodeTree *)gnode->id;
+ bNode *node;
+ bNodeSocket *sock, *gsock;
+ float locx, locy;
+ rctf *rect= &gnode->totr;
+ float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
+ int counter;
+ int dy;
+
+ /* get "global" coords */
+ nodeSpaceCoords(gnode, &locx, &locy);
+
+ /* center them, is a bit of abuse of locx and locy though */
+ node_update_nodetree(C, ngroup, locx, locy);
+
+ rect->xmin = rect->xmax = locx;
+ rect->ymin = rect->ymax = locy;
+
+ counter= 1;
+ for(node= ngroup->nodes.first; node; node= node->next) {
+ if(counter) {
+ *rect= node->totr;
+ counter= 0;
+ }
+ else
+ BLI_union_rctf(rect, &node->totr);
+ }
+
+ /* add some room for links to group sockets */
+ rect->xmin -= 4*NODE_DY;
+ rect->xmax += 4*NODE_DY;
+ rect->ymin-= NODE_DY;
+ rect->ymax+= NODE_DY;
+
+ /* input sockets */
+ dy = 0.5f*(rect->ymin+rect->ymax) + NODE_DY*(BLI_countlist(&gnode->inputs)-1);
+ gsock=ngroup->inputs.first;
+ sock=gnode->inputs.first;
+ while (gsock || sock) {
+ while (sock && !sock->groupsock) {
+ sock->locx = rect->xmin - node_group_frame;
+ sock->locy = dy;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ sock = sock->next;
+ }
+ while (gsock && (!sock || sock->groupsock!=gsock)) {
+ gsock->locx = rect->xmin;
+ gsock->locy = dy;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ gsock = gsock->next;
+ }
+ while (sock && gsock && sock->groupsock==gsock) {
+ gsock->locx = rect->xmin;
+ sock->locx = rect->xmin - node_group_frame;
+ sock->locy = gsock->locy = dy;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ sock = sock->next;
+ gsock = gsock->next;
+ }
+ }
+
+ /* output sockets */
+ dy = 0.5f*(rect->ymin+rect->ymax) + NODE_DY*(BLI_countlist(&gnode->outputs)-1);
+ gsock=ngroup->outputs.first;
+ sock=gnode->outputs.first;
+ while (gsock || sock) {
+ while (sock && !sock->groupsock) {
+ sock->locx = rect->xmax + node_group_frame;
+ sock->locy = dy - NODE_DYS;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ sock = sock->next;
+ }
+ while (gsock && (!sock || sock->groupsock!=gsock)) {
+ gsock->locx = rect->xmax;
+ gsock->locy = dy - NODE_DYS;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ gsock = gsock->next;
+ }
+ while (sock && gsock && sock->groupsock==gsock) {
+ gsock->locx = rect->xmax;
+ sock->locx = rect->xmax + node_group_frame;
+ sock->locy = gsock->locy = dy - NODE_DYS;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ sock = sock->next;
+ gsock = gsock->next;
+ }
+ }
+ }
+}
+
+static void update_group_input_cb(bContext *UNUSED(C), void *UNUSED(snode_v), void *ngroup_v)
+{
+ bNodeTree *ngroup= (bNodeTree*)ngroup_v;
+
+ ngroup->update |= NTREE_UPDATE_GROUP_IN;
+ ntreeUpdateTree(ngroup);
+}
+
+static void update_group_output_cb(bContext *UNUSED(C), void *UNUSED(snode_v), void *ngroup_v)
+{
+ bNodeTree *ngroup= (bNodeTree*)ngroup_v;
+
+ ngroup->update |= NTREE_UPDATE_GROUP_OUT;
+ ntreeUpdateTree(ngroup);
+}
+
+static void draw_group_socket_name(SpaceNode *snode, bNode *gnode, bNodeSocket *sock, int in_out, float xoffset, float yoffset)
+{
+ bNodeTree *ngroup= (bNodeTree*)gnode->id;
+ uiBut *bt;
+
+ if (sock->flag & SOCK_DYNAMIC) {
+ bt = uiDefBut(gnode->block, TEX, 0, "",
+ sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
+ sock->name, 0, 31, 0, 0, "");
+ if (in_out==SOCK_IN)
+ uiButSetFunc(bt, update_group_input_cb, snode, ngroup);
+ else
+ uiButSetFunc(bt, update_group_output_cb, snode, ngroup);
+ }
+ else {
+ uiDefBut(gnode->block, LABEL, 0, sock->name,
+ sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
+ NULL, 0, 31, 0, 0, "");
+ }
+}
+
+static void draw_group_socket(const bContext *C, SpaceNode *snode, bNodeTree *ntree, bNode *gnode, bNodeSocket *sock, bNodeSocket *gsock, int index, int in_out)
+{
+ bNodeTree *ngroup= (bNodeTree*)gnode->id;
+ bNodeSocketType *stype= ntreeGetSocketType(gsock ? gsock->type : sock->type);
+ uiBut *bt;
+ float offset;
+ int draw_value;
+ float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
+ float socket_size= NODE_SOCKSIZE*U.dpi/72;
+ float arrowbutw= 0.8f*UI_UNIT_X;
+ /* layout stuff for buttons on group left frame */
+ float colw= 0.6f*node_group_frame;
+ float col1= 6 - node_group_frame;
+ float col2= col1 + colw+6;
+ float col3= node_group_frame - arrowbutw - 6;
+ /* layout stuff for buttons on group right frame */
+ float cor1= 6;
+ float cor2= cor1 + arrowbutw + 6;
+ float cor3= cor2 + arrowbutw + 6;
+
+ /* node and group socket circles */
+ if (sock)
+ node_socket_circle_draw(ntree, sock, socket_size);
+ if (gsock)
+ node_socket_circle_draw(ngroup, gsock, socket_size);
+
+ /* socket name */
+ offset = (in_out==SOCK_IN ? col1 : cor3);
+ if (!gsock)
+ offset += (in_out==SOCK_IN ? node_group_frame : -node_group_frame);
+
+ /* draw both name and value button if:
+ * 1) input: not internal
+ * 2) output: (node type uses const outputs) and (group output is unlinked)
+ */
+ switch (in_out) {
+ case SOCK_IN:
+ draw_value = !(gsock && (gsock->flag & SOCK_INTERNAL));
+ break;
+ case SOCK_OUT:
+ if (gnode->typeinfo->flag & NODE_CONST_OUTPUT)
+ draw_value = !(gsock && gsock->link);
+ else
+ draw_value = 0;
+ break;
+ }
+ if (draw_value) {
+ /* both name and value buttons */
+ if (gsock) {
+ draw_group_socket_name(snode, gnode, gsock, in_out, offset, 0);
+ if (stype->buttonfunc)
+ stype->buttonfunc(C, gnode->block, ngroup, NULL, gsock, "", gsock->locx+offset, gsock->locy-NODE_DY, colw);
+ }
+ else {
+ draw_group_socket_name(snode, gnode, sock, in_out, offset, 0);
+ if (stype->buttonfunc)
+ stype->buttonfunc(C, gnode->block, ngroup, NULL, sock, "", sock->locx+offset, sock->locy-NODE_DY, colw);
+ }
+ }
+ else {
+ /* only name, no value button */
+ if (gsock)
+ draw_group_socket_name(snode, gnode, gsock, in_out, offset, -NODE_DYS);
+ else
+ draw_group_socket_name(snode, gnode, sock, in_out, offset, -NODE_DYS);
+ }
+
+ if (gsock && (gsock->flag & SOCK_DYNAMIC)) {
+ /* up/down buttons */
+ offset = (in_out==SOCK_IN ? col2 : cor2);
+ uiBlockSetDirection(gnode->block, UI_TOP);
+ uiBlockBeginAlign(gnode->block);
+ bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_up", 0, ICON_TRIA_UP,
+ gsock->locx+offset, gsock->locy, arrowbutw, arrowbutw, "");
+ if (!gsock->prev || !(gsock->prev->flag & SOCK_DYNAMIC))
+ uiButSetFlag(bt, UI_BUT_DISABLED);
+ RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
+ RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", in_out);
+ bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_down", 0, ICON_TRIA_DOWN,
+ gsock->locx+offset, gsock->locy-arrowbutw, arrowbutw, arrowbutw, "");
+ if (!gsock->next || !(gsock->next->flag & SOCK_DYNAMIC))
+ uiButSetFlag(bt, UI_BUT_DISABLED);
+ RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
+ RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", in_out);
+ uiBlockEndAlign(gnode->block);
+ uiBlockSetDirection(gnode->block, 0);
+
+ /* remove button */
+ offset = (in_out==SOCK_IN ? col3 : col1);
+ uiBlockSetEmboss(gnode->block, UI_EMBOSSN);
+ bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_remove", 0, ICON_X,
+ gsock->locx+offset, gsock->locy-0.5f*arrowbutw, arrowbutw, arrowbutw, "");
+ RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
+ RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", in_out);
+ uiBlockSetEmboss(gnode->block, UI_EMBOSS);
+ }
+}
+
+/* groups are, on creation, centered around 0,0 */
+static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *gnode)
+{
+ if (!(gnode->flag & NODE_GROUP_EDIT)) {
+ node_draw_default(C, ar, snode, ntree, gnode);
+ }
+ else {
+ bNodeTree *ngroup= (bNodeTree *)gnode->id;
+ bNodeSocket *sock, *gsock;
+ uiLayout *layout;
+ PointerRNA ptr;
+ rctf rect= gnode->totr;
+ float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
+ float group_header= 26*U.dpi/72;
+
+ int index;
+
+ /* backdrop header */
+ glEnable(GL_BLEND);
+ uiSetRoundBox(3);
+ UI_ThemeColorShadeAlpha(TH_NODE_GROUP, 0, -70);
+ uiDrawBox(GL_POLYGON, rect.xmin-node_group_frame, rect.ymax, rect.xmax+node_group_frame, rect.ymax+group_header, BASIS_RAD);
+
+ /* backdrop body */
+ UI_ThemeColorShadeAlpha(TH_BACK, -8, -70);
+ uiSetRoundBox(0);
+ uiDrawBox(GL_POLYGON, rect.xmin, rect.ymin, rect.xmax, rect.ymax, BASIS_RAD);
+
+ /* input column */
+ UI_ThemeColorShadeAlpha(TH_BACK, 10, -50);
+ uiSetRoundBox(8);
+ uiDrawBox(GL_POLYGON, rect.xmin-node_group_frame, rect.ymin, rect.xmin, rect.ymax, BASIS_RAD);
+
+ /* output column */
+ UI_ThemeColorShadeAlpha(TH_BACK, 10, -50);
+ uiSetRoundBox(4);
+ uiDrawBox(GL_POLYGON, rect.xmax, rect.ymin, rect.xmax+node_group_frame, rect.ymax, BASIS_RAD);
+
+ /* input column separator */
+ glColor4ub(200, 200, 200, 140);
+ glBegin(GL_LINES);
+ glVertex2f(rect.xmin, rect.ymin);
+ glVertex2f(rect.xmin, rect.ymax);
+ glEnd();
+
+ /* output column separator */
+ glColor4ub(200, 200, 200, 140);
+ glBegin(GL_LINES);
+ glVertex2f(rect.xmax, rect.ymin);
+ glVertex2f(rect.xmax, rect.ymax);
+ glEnd();
+
+ /* group node outline */
+ uiSetRoundBox(15);
+ glColor4ub(200, 200, 200, 140);
+ glEnable( GL_LINE_SMOOTH );
+ uiDrawBox(GL_LINE_LOOP, rect.xmin-node_group_frame, rect.ymin, rect.xmax+node_group_frame, rect.ymax+group_header, BASIS_RAD);
+ glDisable( GL_LINE_SMOOTH );
+ glDisable(GL_BLEND);
+
+ /* backdrop title */
+ UI_ThemeColor(TH_TEXT_HI);
+
+ layout = uiBlockLayout(gnode->block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, (short)(rect.xmin+15), (short)(rect.ymax+group_header),
+ MIN2((int)(rect.xmax - rect.xmin-18.0f), node_group_frame+20), group_header, U.uistyles.first);
+ RNA_pointer_create(&ntree->id, &RNA_Node, gnode, &ptr);
+ uiTemplateIDBrowse(layout, (bContext*)C, &ptr, "node_tree", NULL, NULL, NULL);
+ uiBlockLayoutResolve(gnode->block, NULL, NULL);
+
+ /* draw the internal tree nodes and links */
+ node_draw_nodetree(C, ar, snode, ngroup);
+
+ /* group sockets */
+ gsock=ngroup->inputs.first;
+ sock=gnode->inputs.first;
+ index = 0;
+ while (gsock || sock) {
+ while (sock && !sock->groupsock) {
+ draw_group_socket(C, snode, ntree, gnode, sock, NULL, index, SOCK_IN);
+ sock = sock->next;
+ }
+ while (gsock && (!sock || sock->groupsock!=gsock)) {
+ draw_group_socket(C, snode, ntree, gnode, NULL, gsock, index, SOCK_IN);
+ gsock = gsock->next;
+ ++index;
+ }
+ while (sock && gsock && sock->groupsock==gsock) {
+ draw_group_socket(C, snode, ntree, gnode, sock, gsock, index, SOCK_IN);
+ sock = sock->next;
+ gsock = gsock->next;
+ ++index;
+ }
+ }
+ gsock=ngroup->outputs.first;
+ sock=gnode->outputs.first;
+ index = 0;
+ while (gsock || sock) {
+ while (sock && !sock->groupsock) {
+ draw_group_socket(C, snode, ntree, gnode, sock, NULL, index, SOCK_OUT);
+ sock = sock->next;
+ }
+ while (gsock && (!sock || sock->groupsock!=gsock)) {
+ draw_group_socket(C, snode, ntree, gnode, NULL, gsock, index, SOCK_OUT);
+ gsock = gsock->next;
+ ++index;
+ }
+ while (sock && gsock && sock->groupsock==gsock) {
+ draw_group_socket(C, snode, ntree, gnode, sock, gsock, index, SOCK_OUT);
+ sock = sock->next;
+ gsock = gsock->next;
+ ++index;
+ }
+ }
+
+ uiEndBlock(C, gnode->block);
+ uiDrawBlock(C, gnode->block);
+ gnode->block= NULL;
+ }
+}
+
+static void node_common_buts_whileloop(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
+{
+ uiItemR(layout, ptr, "max_iterations", 0, NULL, 0);
+}
+
+static void node_update_frame(const bContext *UNUSED(C), bNodeTree *UNUSED(ntree), bNode *node)
+{
+ float locx, locy;
+
+ /* get "global" coords */
+ nodeSpaceCoords(node, &locx, &locy);
+
+ node->prvr.xmin= locx + NODE_DYS;
+ node->prvr.xmax= locx + node->width- NODE_DYS;
+
+ node->totr.xmin= locx;
+ node->totr.xmax= locx + node->width;
+ node->totr.ymax= locy;
+ node->totr.ymin= locy - node->height;
+}
+
+static void node_common_set_butfunc(bNodeType *ntype)
+{
+ switch(ntype->type) {
+ case NODE_GROUP:
+// ntype->uifunc= node_common_buts_group;
+ ntype->drawfunc= node_draw_group;
+ ntype->drawupdatefunc= node_update_group;
+ break;
+ case NODE_FORLOOP:
+// ntype->uifunc= node_common_buts_group;
+ ntype->drawfunc= node_draw_group;
+ ntype->drawupdatefunc= node_update_group;
+ break;
+ case NODE_WHILELOOP:
+ ntype->uifunc= node_common_buts_whileloop;
+ ntype->drawfunc= node_draw_group;
+ ntype->drawupdatefunc= node_update_group;
+ break;
+ case NODE_FRAME:
+ ntype->drawupdatefunc= node_update_frame;
+ break;
+ }
+}
+
/* ****************** BUTTON CALLBACKS FOR SHADER NODES ***************** */
static void node_browse_text_cb(bContext *C, void *ntree_v, void *node_v)
@@ -423,6 +1024,7 @@ static void node_shader_buts_dynamic(uiLayout *layout, bContext *C, PointerRNA *
/* only once called */
static void node_shader_set_butfunc(bNodeType *ntype)
{
+ ntype->uifuncbut = NULL;
switch(ntype->type) {
/* case NODE_GROUP: note, typeinfo for group is generated... see "XXX ugly hack" */
@@ -469,9 +1071,8 @@ static void node_shader_set_butfunc(bNodeType *ntype)
case NODE_DYNAMIC:
ntype->uifunc= node_shader_buts_dynamic;
break;
- default:
- ntype->uifunc= NULL;
}
+ if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
}
/* ****************** BUTTON CALLBACKS FOR COMPOSITE NODES ***************** */
@@ -1036,6 +1637,32 @@ static void node_composit_buts_colorbalance(uiLayout *layout, bContext *UNUSED(C
}
}
+static void node_composit_buts_colorbalance_but(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
+{
+ uiItemR(layout, ptr, "correction_method", 0, NULL, ICON_NONE);
+
+ if (RNA_enum_get(ptr, "correction_method")== 0) {
+
+ uiTemplateColorWheel(layout, ptr, "lift", 1, 1, 0, 1);
+ uiItemR(layout, ptr, "lift", 0, NULL, ICON_NONE);
+
+ uiTemplateColorWheel(layout, ptr, "gamma", 1, 1, 1, 1);
+ uiItemR(layout, ptr, "gamma", 0, NULL, ICON_NONE);
+
+ uiTemplateColorWheel(layout, ptr, "gain", 1, 1, 1, 1);
+ uiItemR(layout, ptr, "gain", 0, NULL, ICON_NONE);
+ } else {
+ uiTemplateColorWheel(layout, ptr, "offset", 1, 1, 0, 1);
+ uiItemR(layout, ptr, "offset", 0, NULL, ICON_NONE);
+
+ uiTemplateColorWheel(layout, ptr, "power", 1, 1, 0, 1);
+ uiItemR(layout, ptr, "power", 0, NULL, ICON_NONE);
+
+ uiTemplateColorWheel(layout, ptr, "slope", 1, 1, 0, 1);
+ uiItemR(layout, ptr, "slope", 0, NULL, ICON_NONE);
+ }
+}
+
static void node_composit_buts_huecorrect(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
{
@@ -1050,6 +1677,7 @@ static void node_composit_buts_ycc(uiLayout *layout, bContext *UNUSED(C), Pointe
/* only once called */
static void node_composit_set_butfunc(bNodeType *ntype)
{
+ ntype->uifuncbut = NULL;
switch(ntype->type) {
/* case NODE_GROUP: note, typeinfo for group is generated... see "XXX ugly hack" */
@@ -1184,6 +1812,7 @@ static void node_composit_set_butfunc(bNodeType *ntype)
break;
case CMP_NODE_COLORBALANCE:
ntype->uifunc=node_composit_buts_colorbalance;
+ ntype->uifuncbut=node_composit_buts_colorbalance_but;
break;
case CMP_NODE_HUECORRECT:
ntype->uifunc=node_composit_buts_huecorrect;
@@ -1195,9 +1824,9 @@ static void node_composit_set_butfunc(bNodeType *ntype)
case CMP_NODE_SEPYCCA:
ntype->uifunc=node_composit_buts_ycc;
break;
- default:
- ntype->uifunc= NULL;
}
+ if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
+
}
/* ****************** BUTTON CALLBACKS FOR TEXTURE NODES ***************** */
@@ -1308,6 +1937,7 @@ static void node_texture_buts_output(uiLayout *layout, bContext *UNUSED(C), Poin
/* only once called */
static void node_texture_set_butfunc(bNodeType *ntype)
{
+ ntype->uifuncbut = NULL;
if( ntype->type >= TEX_NODE_PROC && ntype->type < TEX_NODE_PROC_MAX ) {
ntype->uifunc = node_texture_buts_proc;
}
@@ -1348,34 +1978,68 @@ static void node_texture_set_butfunc(bNodeType *ntype)
case TEX_NODE_OUTPUT:
ntype->uifunc = node_texture_buts_output;
break;
-
- default:
- ntype->uifunc= NULL;
}
+ if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
}
/* ******* init draw callbacks for all tree types, only called in usiblender.c, once ************* */
void ED_init_node_butfuncs(void)
{
+ bNodeTreeType *treetype;
bNodeType *ntype;
-
- /* shader nodes */
- ntype= node_all_shaders.first;
- while(ntype) {
- node_shader_set_butfunc(ntype);
- ntype= ntype->next;
- }
- /* composit nodes */
- ntype= node_all_composit.first;
- while(ntype) {
- node_composit_set_butfunc(ntype);
- ntype= ntype->next;
+ bNodeSocketType *stype;
+ int i;
+
+ /* node type ui functions */
+ for (i=0; i < NUM_NTREE_TYPES; ++i) {
+ treetype = ntreeGetType(i);
+ if (treetype) {
+ for (ntype= treetype->node_types.first; ntype; ntype= ntype->next) {
+ /* default ui functions */
+ ntype->drawfunc = node_draw_default;
+ ntype->drawupdatefunc = node_update_default;
+ ntype->uifunc = NULL;
+ ntype->uifuncbut = NULL;
+ ntype->resize_area_func = node_resize_area_default;
+
+ node_common_set_butfunc(ntype);
+
+ switch (i) {
+ case NTREE_COMPOSIT:
+ node_composit_set_butfunc(ntype);
+ break;
+ case NTREE_SHADER:
+ node_shader_set_butfunc(ntype);
+ break;
+ case NTREE_TEXTURE:
+ node_texture_set_butfunc(ntype);
+ break;
+ }
+ }
+ }
}
- ntype = node_all_textures.first;
- while(ntype) {
- node_texture_set_butfunc(ntype);
- ntype= ntype->next;
+
+ /* socket type ui functions */
+ for (i=0; i < NUM_SOCKET_TYPES; ++i) {
+ stype = ntreeGetSocketType(i);
+ if (stype) {
+ switch(stype->type) {
+ case SOCK_FLOAT:
+ case SOCK_INT:
+ case SOCK_BOOLEAN:
+ stype->buttonfunc = node_socket_button_default;
+ break;
+ case SOCK_VECTOR:
+ stype->buttonfunc = node_socket_button_components;
+ break;
+ case SOCK_RGBA:
+ stype->buttonfunc = node_socket_button_color;
+ break;
+ default:
+ stype->buttonfunc = NULL;
+ }
+ }
}
}
@@ -1734,8 +2398,8 @@ int node_link_bezier_points(View2D *v2d, SpaceNode *snode, bNodeLink *link, floa
vec[3][0]= snode->mx;
vec[3][1]= snode->my;
}
-
- dist= 0.5f*ABS(vec[0][0] - vec[3][0]);
+
+ dist= UI_GetThemeValue(TH_NODE_CURVING)*0.10f*ABS(vec[0][0] - vec[3][0]);
/* check direction later, for top sockets */
vec[1][0]= vec[0][0]+dist;
@@ -1806,6 +2470,69 @@ void node_draw_link_bezier(View2D *v2d, SpaceNode *snode, bNodeLink *link, int t
}
}
+static void node_link_straight_points(View2D *UNUSED(v2d), SpaceNode *snode, bNodeLink *link, float coord_array[][2])
+{
+ if(link->fromsock) {
+ coord_array[0][0]= link->fromsock->locx;
+ coord_array[0][1]= link->fromsock->locy;
+ }
+ else {
+ if(snode==NULL) return;
+ coord_array[0][0]= snode->mx;
+ coord_array[0][1]= snode->my;
+ }
+ if(link->tosock) {
+ coord_array[1][0]= link->tosock->locx;
+ coord_array[1][1]= link->tosock->locy;
+ }
+ else {
+ if(snode==NULL) return;
+ coord_array[1][0]= snode->mx;
+ coord_array[1][1]= snode->my;
+ }
+}
+
+void node_draw_link_straight(View2D *v2d, SpaceNode *snode, bNodeLink *link, int th_col1, int do_shaded, int th_col2, int do_triple, int th_col3 )
+{
+ float coord_array[2][2];
+ float linew;
+ int i;
+
+ node_link_straight_points(v2d, snode, link, coord_array);
+
+ /* store current linewidth */
+ glGetFloatv(GL_LINE_WIDTH, &linew);
+
+ glEnable(GL_LINE_SMOOTH);
+
+ if(do_triple) {
+ UI_ThemeColorShadeAlpha(th_col3, -80, -120);
+ glLineWidth(4.0f);
+
+ glBegin(GL_LINES);
+ glVertex2fv(coord_array[0]);
+ glVertex2fv(coord_array[1]);
+ glEnd();
+ }
+
+ UI_ThemeColor(th_col1);
+ glLineWidth(1.5f);
+
+ glBegin(GL_LINE_STRIP);
+ for (i=0; i < LINK_RESOL; ++i) {
+ float t= (float)i/(float)(LINK_RESOL-1);
+ if(do_shaded)
+ UI_ThemeColorBlend(th_col1, th_col2, t);
+ glVertex2f((1.0f-t)*coord_array[0][0]+t*coord_array[1][0], (1.0f-t)*coord_array[0][1]+t*coord_array[1][1]);
+ }
+ glEnd();
+
+ glDisable(GL_LINE_SMOOTH);
+
+ /* restore previuos linewidth */
+ glLineWidth(linew);
+}
+
/* note; this is used for fake links in groups too */
void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link)
{
@@ -1834,11 +2561,18 @@ void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link)
}
else {
/* check cyclic */
- if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) {
- if(link->fromnode->flag & SELECT)
- th_col1= TH_EDGE_SELECT;
- if(link->tonode->flag & SELECT)
- th_col2= TH_EDGE_SELECT;
+ if((link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) && (link->flag & NODE_LINK_VALID)) {
+ /* special indicated link, on drop-node */
+ if(link->flag & NODE_LINKFLAG_HILITE) {
+ th_col1= th_col2= TH_ACTIVE;
+ }
+ else {
+ /* regular link */
+ if(link->fromnode->flag & SELECT)
+ th_col1= TH_EDGE_SELECT;
+ if(link->tonode->flag & SELECT)
+ th_col2= TH_EDGE_SELECT;
+ }
do_shaded= 1;
do_triple= 1;
}
@@ -1849,6 +2583,5 @@ void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link)
}
node_draw_link_bezier(v2d, snode, link, th_col1, do_shaded, th_col2, do_triple, th_col3);
+// node_draw_link_straight(v2d, snode, link, th_col1, do_shaded, th_col2, do_triple, th_col3);
}
-
-
diff --git a/source/blender/editors/space_node/node_buttons.c b/source/blender/editors/space_node/node_buttons.c
index 684961f2606..7b14e35e8fe 100644
--- a/source/blender/editors/space_node/node_buttons.c
+++ b/source/blender/editors/space_node/node_buttons.c
@@ -116,9 +116,11 @@ static void active_node_panel(const bContext *C, Panel *pa)
uiItemS(layout);
uiItemR(layout, &ptr, "name", 0, NULL, ICON_NODE);
uiItemS(layout);
-
+
/* draw this node's settings */
- if (node->typeinfo && node->typeinfo->uifunc)
+ if (node->typeinfo && node->typeinfo->uifuncbut)
+ node->typeinfo->uifuncbut(layout, (bContext *)C, &ptr);
+ else if (node->typeinfo && node->typeinfo->uifunc)
node->typeinfo->uifunc(layout, (bContext *)C, &ptr);
}
diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c
index 0c9f12966ef..6be8978cb5b 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -70,8 +70,8 @@
#include "RNA_access.h"
-#include "CMP_node.h"
-#include "SHD_node.h"
+#include "NOD_composite.h"
+#include "NOD_shader.h"
#include "node_intern.h"
@@ -81,6 +81,15 @@
// XXX interface.h
extern void ui_dropshadow(rctf *rct, float radius, float aspect, int select);
+/* XXX update functions for node editor are a mess, needs a clear concept */
+void ED_node_tree_update(SpaceNode *snode, Scene *scene)
+{
+ snode_set_context(snode, scene);
+
+ if(snode->nodetree && snode->nodetree->id.us==0)
+ snode->nodetree->id.us= 1;
+}
+
void ED_node_changed_update(ID *id, bNode *node)
{
bNodeTree *nodetree, *edittree;
@@ -123,24 +132,25 @@ static int has_nodetree(bNodeTree *ntree, bNodeTree *lookup)
return 0;
}
+typedef struct NodeUpdateCalldata {
+ bNodeTree *ntree;
+ bNode *node;
+} NodeUpdateCalldata;
+static void node_generic_update_cb(void *calldata, ID *owner_id, bNodeTree *ntree)
+{
+ NodeUpdateCalldata *cd= (NodeUpdateCalldata*)calldata;
+ /* check if nodetree uses the group stored in calldata */
+ if (has_nodetree(ntree, cd->ntree))
+ ED_node_changed_update(owner_id, cd->node);
+}
void ED_node_generic_update(Main *bmain, bNodeTree *ntree, bNode *node)
{
- Material *ma;
- Tex *tex;
- Scene *sce;
-
+ bNodeTreeType *tti= ntreeGetType(ntree->type);
+ NodeUpdateCalldata cd;
+ cd.ntree = ntree;
+ cd.node = node;
/* look through all datablocks, to support groups */
- for(ma=bmain->mat.first; ma; ma=ma->id.next)
- if(ma->nodetree && ma->use_nodes && has_nodetree(ma->nodetree, ntree))
- ED_node_changed_update(&ma->id, node);
-
- for(tex=bmain->tex.first; tex; tex=tex->id.next)
- if(tex->nodetree && tex->use_nodes && has_nodetree(tex->nodetree, ntree))
- ED_node_changed_update(&tex->id, node);
-
- for(sce=bmain->scene.first; sce; sce=sce->id.next)
- if(sce->nodetree && sce->use_nodes && has_nodetree(sce->nodetree, ntree))
- ED_node_changed_update(&sce->id, node);
+ tti->foreach_nodetree(bmain, &cd, node_generic_update_cb);
if(ntree->type == NTREE_TEXTURE)
ntreeTexCheckCyclics(ntree);
@@ -204,14 +214,19 @@ static void node_uiblocks_init(const bContext *C, bNodeTree *ntree)
}
/* based on settings in node, sets drawing rect info. each redraw! */
-static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
+static void node_update_basis(const bContext *C, bNodeTree *ntree, bNode *node)
{
uiLayout *layout;
PointerRNA ptr;
bNodeSocket *nsock;
- float dy= node->locy;
+ float locx, locy;
+ float dy= locy;
int buty;
+ /* get "global" coords */
+ nodeSpaceCoords(node, &locx, &locy);
+ dy= locy;
+
/* header */
dy-= NODE_DY;
@@ -222,14 +237,14 @@ static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
/* output sockets */
for(nsock= node->outputs.first; nsock; nsock= nsock->next) {
if(!(nsock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))) {
- nsock->locx= node->locx + node->width;
+ nsock->locx= locx + node->width;
nsock->locy= dy - NODE_DYS;
dy-= NODE_DY;
}
}
- node->prvr.xmin= node->locx + NODE_DYS;
- node->prvr.xmax= node->locx + node->width- NODE_DYS;
+ node->prvr.xmin= locx + NODE_DYS;
+ node->prvr.xmax= locx + node->width- NODE_DYS;
/* preview rect? */
if(node->flag & NODE_PREVIEW) {
@@ -286,21 +301,22 @@ static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
node->butr.ymax= 0;
RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr);
-
+
layout= uiBlockLayout(node->block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL,
- node->locx+NODE_DYS, dy, node->butr.xmax, 20, U.uistyles.first);
-
+ locx+NODE_DYS, dy, node->butr.xmax, NODE_DY, U.uistyles.first);
+
node->typeinfo->uifunc(layout, (bContext *)C, &ptr);
+
uiBlockEndAlign(node->block);
uiBlockLayoutResolve(node->block, NULL, &buty);
-
+
dy= buty - NODE_DYS/2;
}
/* input sockets */
for(nsock= node->inputs.first; nsock; nsock= nsock->next) {
if(!(nsock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))) {
- nsock->locx= node->locx;
+ nsock->locx= locx;
nsock->locy= dy - NODE_DYS;
dy-= NODE_DY;
}
@@ -310,19 +326,23 @@ static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
if(node->inputs.first || (node->flag & (NODE_OPTIONS|NODE_PREVIEW))==0 )
dy-= NODE_DYS/2;
- node->totr.xmin= node->locx;
- node->totr.xmax= node->locx + node->width;
- node->totr.ymax= node->locy;
- node->totr.ymin= MIN2(dy, node->locy-2*NODE_DY);
+ node->totr.xmin= locx;
+ node->totr.xmax= locx + node->width;
+ node->totr.ymax= locy;
+ node->totr.ymin= MIN2(dy, locy-2*NODE_DY);
}
/* based on settings in node, sets drawing rect info. each redraw! */
static void node_update_hidden(bNode *node)
{
bNodeSocket *nsock;
+ float locx, locy;
float rad, drad, hiddenrad= HIDDEN_RAD;
int totin=0, totout=0, tot;
+ /* get "global" coords */
+ nodeSpaceCoords(node, &locx, &locy);
+
/* calculate minimal radius */
for(nsock= node->inputs.first; nsock; nsock= nsock->next)
if(!(nsock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL)))
@@ -336,9 +356,9 @@ static void node_update_hidden(bNode *node)
hiddenrad += 5.0f*(float)(tot-4);
}
- node->totr.xmin= node->locx;
- node->totr.xmax= node->locx + 3*hiddenrad + node->miniwidth;
- node->totr.ymax= node->locy + (hiddenrad - 0.5f*NODE_DY);
+ node->totr.xmin= locx;
+ node->totr.xmax= locx + 3*hiddenrad + node->miniwidth;
+ node->totr.ymax= locy + (hiddenrad - 0.5f*NODE_DY);
node->totr.ymin= node->totr.ymax - 2*hiddenrad;
/* output sockets */
@@ -364,6 +384,14 @@ static void node_update_hidden(bNode *node)
}
}
+void node_update_default(const bContext *C, bNodeTree *ntree, bNode *node)
+{
+ if(node->flag & NODE_HIDDEN)
+ node_update_hidden(node);
+ else
+ node_update_basis(C, ntree, node);
+}
+
static int node_get_colorid(bNode *node)
{
if(node->typeinfo->nclass==NODE_CLASS_INPUT)
@@ -383,136 +411,42 @@ static int node_get_colorid(bNode *node)
return TH_NODE;
}
-/* based on settings in node, sets drawing rect info. each redraw! */
-/* note: this assumes only 1 group at a time is drawn (linked data) */
-/* in node->totr the entire boundbox for the group is stored */
-static void node_update_group(const bContext *C, bNodeTree *UNUSED(ntree), bNode *gnode)
-{
- bNodeTree *ngroup= (bNodeTree *)gnode->id;
- bNode *node;
- bNodeSocket *sock, *gsock;
- rctf *rect= &gnode->totr;
- int counter;
- int dy;
-
- rect->xmin = rect->xmax = gnode->locx;
- rect->ymin = rect->ymax = gnode->locy;
-
- /* center them, is a bit of abuse of locx and locy though */
- for(node= ngroup->nodes.first; node; node= node->next) {
- node->locx+= gnode->locx;
- node->locy+= gnode->locy;
-
- if(node->flag & NODE_HIDDEN)
- node_update_hidden(node);
- else
- node_update(C, ngroup, node);
- node->locx-= gnode->locx;
- node->locy-= gnode->locy;
- }
- counter= 1;
- for(node= ngroup->nodes.first; node; node= node->next) {
- if(counter) {
- *rect= node->totr;
- counter= 0;
- }
- else
- BLI_union_rctf(rect, &node->totr);
- }
-
- /* add some room for links to group sockets */
- rect->xmin -= 4*NODE_DY;
- rect->xmax += 4*NODE_DY;
- rect->ymin-= NODE_DY;
- rect->ymax+= NODE_DY;
-
- /* input sockets */
- dy = 0.5f*(rect->ymin+rect->ymax) + NODE_DY*(BLI_countlist(&gnode->inputs)-1);
- for(gsock=ngroup->inputs.first, sock=gnode->inputs.first; gsock; gsock=gsock->next, sock=sock->next) {
- gsock->locx = rect->xmin;
- sock->locx = rect->xmin - NODE_GROUP_FRAME;
- sock->locy = gsock->locy = dy;
-
- /* prevent long socket lists from growing out of the group box */
- if (dy-3*NODE_DYS < rect->ymin)
- rect->ymin = dy-3*NODE_DYS;
- if (dy+3*NODE_DYS > rect->ymax)
- rect->ymax = dy+3*NODE_DYS;
-
- dy -= 2*NODE_DY;
- }
-
- /* output sockets */
- dy = 0.5f*(rect->ymin+rect->ymax) + NODE_DY*(BLI_countlist(&gnode->outputs)-1);
- for(gsock=ngroup->outputs.first, sock=gnode->outputs.first; gsock; gsock=gsock->next, sock=sock->next) {
- gsock->locx = rect->xmax;
- sock->locx = rect->xmax + NODE_GROUP_FRAME;
- sock->locy = gsock->locy = dy - NODE_DYS;
-
- /* prevent long socket lists from growing out of the group box */
- if (dy-3*NODE_DYS < rect->ymin)
- rect->ymin = dy-3*NODE_DYS;
- if (dy+3*NODE_DYS > rect->ymax)
- rect->ymax = dy+3*NODE_DYS;
-
- dy -= 2*NODE_DY;
- }
-}
-
/* note: in cmp_util.c is similar code, for node_compo_pass_on() */
+/* note: in node_edit.c is similar code, for untangle node */
static void node_draw_mute_line(View2D *v2d, SpaceNode *snode, bNode *node)
{
- bNodeSocket *valsock= NULL, *colsock= NULL, *vecsock= NULL;
- bNodeSocket *sock;
+ static int types[]= { SOCK_FLOAT, SOCK_VECTOR, SOCK_RGBA };
bNodeLink link= {NULL};
- int a;
+ int i;
- /* connect the first value buffer in with first value out */
- /* connect the first RGBA buffer in with first RGBA out */
+ /* connect the first input of each type with first output of the same type */
- /* test the inputs */
- for(a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
- if(nodeCountSocketLinks(snode->edittree, sock)) {
- if(sock->type==SOCK_VALUE && valsock==NULL) valsock= sock;
- if(sock->type==SOCK_VECTOR && vecsock==NULL) vecsock= sock;
- if(sock->type==SOCK_RGBA && colsock==NULL) colsock= sock;
- }
- }
-
- /* outputs, draw lines */
glEnable(GL_BLEND);
glEnable( GL_LINE_SMOOTH );
- if(valsock || colsock || vecsock) {
- for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
- if(nodeCountSocketLinks(snode->edittree, sock)) {
- link.tosock= sock;
-
- if(sock->type==SOCK_VALUE && valsock) {
- link.fromsock= valsock;
- node_draw_link_bezier(v2d, snode, &link, TH_REDALERT, 0, TH_WIRE, 0, TH_WIRE);
- valsock= NULL;
- }
- if(sock->type==SOCK_VECTOR && vecsock) {
- link.fromsock= vecsock;
- node_draw_link_bezier(v2d, snode, &link, TH_REDALERT, 0, TH_WIRE, 0, TH_WIRE);
- vecsock= NULL;
- }
- if(sock->type==SOCK_RGBA && colsock) {
- link.fromsock= colsock;
- node_draw_link_bezier(v2d, snode, &link, TH_REDALERT, 0, TH_WIRE, 0, TH_WIRE);
- colsock= NULL;
- }
+ link.fromnode = link.tonode = node;
+ for (i=0; i < 3; ++i) {
+ /* find input socket */
+ for (link.fromsock=node->inputs.first; link.fromsock; link.fromsock=link.fromsock->next)
+ if (link.fromsock->type==types[i] && nodeCountSocketLinks(snode->edittree, link.fromsock))
+ break;
+ if (link.fromsock) {
+ for (link.tosock=node->outputs.first; link.tosock; link.tosock=link.tosock->next)
+ if (link.tosock->type==types[i] && nodeCountSocketLinks(snode->edittree, link.tosock))
+ break;
+
+ if (link.tosock) {
+ node_draw_link_bezier(v2d, snode, &link, TH_REDALERT, 0, TH_WIRE, 0, TH_WIRE);
}
}
}
+
glDisable(GL_BLEND);
glDisable( GL_LINE_SMOOTH );
}
-/* nice AA filled circle */
/* this might have some more generic use */
-static void circle_draw(float x, float y, float size, int col[3])
+static void node_circle_draw(float x, float y, float size, char *col)
{
/* 16 values of sin function */
static float si[16] = {
@@ -548,37 +482,10 @@ static void circle_draw(float x, float y, float size, int col[3])
glDisable(GL_BLEND);
}
-static void socket_circle_draw(bNodeSocket *sock, float size)
-{
- int col[3];
-
- if(sock->type==-1) {
- col[0]= 0; col[1]= 0; col[2]= 0;
- }
- else if(sock->type==SOCK_VALUE) {
- col[0]= 160; col[1]= 160; col[2]= 160;
- }
- else if(sock->type==SOCK_VECTOR) {
- col[0]= 100; col[1]= 100; col[2]= 200;
- }
- else if(sock->type==SOCK_RGBA) {
- col[0]= 200; col[1]= 200; col[2]= 40;
- }
- else {
- col[0]= 100; col[1]= 200; col[2]= 100;
- }
-
- circle_draw(sock->locx, sock->locy, size, col);
-}
-
-static void node_sync_cb(bContext *UNUSED(C), void *snode_v, void *node_v)
+void node_socket_circle_draw(bNodeTree *UNUSED(ntree), bNodeSocket *sock, float size)
{
- SpaceNode *snode= snode_v;
-
- if(snode->treetype==NTREE_SHADER) {
- nodeShaderSynchronizeID(node_v, 1);
- // allqueue(REDRAWBUTSSHADING, 0);
- }
+ bNodeSocketType *stype = ntreeGetSocketType(sock->type);
+ node_circle_draw(sock->locx, sock->locy, size, stype->ui_color);
}
/* ************** Socket callbacks *********** */
@@ -637,88 +544,13 @@ static void node_draw_preview(bNodePreview *preview, rctf *prv)
}
-typedef struct SocketVectorMenuArgs {
- PointerRNA ptr;
- int x, y, width;
- uiButHandleFunc cb;
- void *arg1, *arg2;
-} SocketVectorMenuArgs;
-
-/* NOTE: this is a block-menu, needs 0 events, otherwise the menu closes */
-static uiBlock *socket_vector_menu(bContext *C, ARegion *ar, void *args_v)
-{
- SocketVectorMenuArgs *args= (SocketVectorMenuArgs*)args_v;
- uiBlock *block;
- uiLayout *layout;
-
- block= uiBeginBlock(C, ar, "socket menu", UI_EMBOSS);
- uiBlockSetFlag(block, UI_BLOCK_KEEP_OPEN);
-
- layout= uiLayoutColumn(uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, args->x, args->y+2, args->width, 20, U.uistyles.first), 0);
-
- uiItemR(layout, &args->ptr, "default_value", UI_ITEM_R_EXPAND, "", ICON_NONE);
-
- return block;
-}
-
-static void node_draw_socket_button(bNodeTree *ntree, bNodeSocket *sock, const char *name,
- uiBlock *block, int x, int y, int width,
- uiButHandleFunc cb, void *arg1, void *arg2)
-{
- uiBut *bt= NULL;
- PointerRNA ptr;
- int labelw;
- SocketVectorMenuArgs *args;
-
- RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
-
- switch (sock->type) {
- case SOCK_VALUE:
- bt=uiDefButR(block, NUM, B_NODE_EXEC, name,
- x, y+1, width, 17,
- &ptr, "default_value", 0, sock->ns.min, sock->ns.max, -1, -1, NULL);
- if (cb)
- uiButSetFunc(bt, cb, arg1, arg2);
- break;
-
- case SOCK_VECTOR:
- args= MEM_callocN(sizeof(SocketVectorMenuArgs), "SocketVectorMenuArgs");
-
- args->ptr = ptr;
- args->x = x;
- args->y = y;
- args->width = width;
- args->cb = cb;
- args->arg1 = arg1;
- args->arg2 = arg2;
-
- uiDefBlockButN(block, socket_vector_menu, args, name,
- x, y+1, width, 17,
- "");
- break;
-
- case SOCK_RGBA:
- labelw= width - 40;
-
- bt=uiDefButR(block, COL, B_NODE_EXEC, "",
- x, y+2, (labelw>0 ? 40 : width), 15,
- &ptr, "default_value", 0, sock->ns.min, sock->ns.max, -1, -1, NULL);
- if (cb)
- uiButSetFunc(bt, cb, arg1, arg2);
-
- if (name[0]!='\0' && labelw>0)
- uiDefBut(block, LABEL, 0, name,
- x + 40, y+2, labelw, 15,
- NULL, 0, 0, 0, 0, "");
- break;
- }
-}
-
static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *node)
{
bNodeSocket *sock;
rctf *rct= &node->totr;
float iconofs;
+ /* float socket_size= NODE_SOCKSIZE*U.dpi/72; */ /* UNUSED */
+ float iconbutw= 0.8f*UI_UNIT_X;
int color_id= node_get_colorid(node);
char showname[128]; /* 128 used below */
View2D *v2d = &ar->v2d;
@@ -761,32 +593,33 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
icon_id= ICON_MATERIAL;
else
icon_id= ICON_MATERIAL_DATA;
- iconofs-=15.0f;
+ iconofs-=iconbutw;
uiDefIconBut(node->block, LABEL, B_REDR, icon_id, iconofs, rct->ymax-NODE_DY,
- UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
+ iconbutw, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
}
if(node->type == NODE_GROUP) {
- iconofs-=15.0f;
+ iconofs-=iconbutw;
uiDefIconBut(node->block, LABEL, B_REDR, ICON_NODETREE, iconofs, rct->ymax-NODE_DY,
- UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
+ iconbutw, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
}
if(node->typeinfo->flag & NODE_OPTIONS) {
- iconofs-=15.0f;
+ iconofs-=iconbutw;
uiDefIconBut(node->block, LABEL, B_REDR, ICON_BUTS, iconofs, rct->ymax-NODE_DY,
- UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
+ iconbutw, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
}
{ /* always hide/reveal unused sockets */
- int shade;
-
- iconofs-=15.0f;
// XXX re-enable
- /*if(node_has_hidden_sockets(node))
+ /* int shade;
+ if(node_has_hidden_sockets(node))
shade= -40;
- else*/
- shade= -90;
+ else
+ shade= -90; */
+
+ iconofs-=iconbutw;
+
uiDefIconBut(node->block, LABEL, B_REDR, ICON_PLUS, iconofs, rct->ymax-NODE_DY,
- UI_UNIT_X, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
+ iconbutw, UI_UNIT_Y, NULL, 0.0, 0.0, 1.0, 0.5, "");
}
/* title */
@@ -804,13 +637,8 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
else
UI_ThemeColor(TH_TEXT); */
- if (node->label[0]!='\0')
- BLI_strncpy(showname, node->label, sizeof(showname));
- else if (node->typeinfo->labelfunc)
- BLI_strncpy(showname, node->typeinfo->labelfunc(node), sizeof(showname));
- else
- BLI_strncpy(showname, node->typeinfo->name, sizeof(showname));
-
+ BLI_strncpy(showname, nodeLabel(node), sizeof(showname));
+
//if(node->flag & NODE_MUTED)
// sprintf(showname, "[%s]", showname);
@@ -850,37 +678,45 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
/* socket inputs, buttons */
for(sock= node->inputs.first; sock; sock= sock->next) {
- if(!(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))) {
- socket_circle_draw(sock, NODE_SOCKSIZE);
-
- if(node->block && sock->link==NULL) {
- node_draw_socket_button(ntree, sock, sock->name, node->block, sock->locx+NODE_DYS, sock->locy-NODE_DYS, node->width-NODE_DY, node_sync_cb, snode, node);
- }
- else {
- uiDefBut(node->block, LABEL, 0, sock->name, (short)(sock->locx+7), (short)(sock->locy-9.0f),
- (short)(node->width-NODE_DY), NODE_DY, NULL, 0, 0, 0, 0, "");
- }
+ bNodeSocketType *stype= ntreeGetSocketType(sock->type);
+
+ if(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))
+ continue;
+
+ node_socket_circle_draw(ntree, sock, NODE_SOCKSIZE);
+
+ if (sock->link) {
+ uiDefBut(node->block, LABEL, 0, sock->name, sock->locx+NODE_DYS, sock->locy-NODE_DYS, node->width-NODE_DY, NODE_DY,
+ NULL, 0, 0, 0, 0, "");
+ }
+ else {
+ if (stype->buttonfunc)
+ stype->buttonfunc(C, node->block, ntree, node, sock, sock->name, sock->locx+NODE_DYS, sock->locy-NODE_DYS, node->width-NODE_DY);
}
}
/* socket outputs */
for(sock= node->outputs.first; sock; sock= sock->next) {
- if(!(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))) {
- float slen;
- int ofs= 0;
-
- socket_circle_draw(sock, NODE_SOCKSIZE);
-
- UI_ThemeColor(TH_TEXT);
- slen= snode->aspect*UI_GetStringWidth(sock->name);
- while(slen > node->width) {
- ofs++;
- slen= snode->aspect*UI_GetStringWidth(sock->name+ofs);
- }
-
- uiDefBut(node->block, LABEL, 0, sock->name+ofs, (short)(sock->locx-15.0f-slen), (short)(sock->locy-9.0f),
- (short)(node->width-NODE_DY), NODE_DY, NULL, 0, 0, 0, 0, "");
+ PointerRNA sockptr;
+ float slen;
+ int ofs;
+
+ RNA_pointer_create((ID*)ntree, &RNA_NodeSocket, sock, &sockptr);
+
+ if(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))
+ continue;
+
+ node_socket_circle_draw(ntree, sock, NODE_SOCKSIZE);
+
+ ofs= 0;
+ UI_ThemeColor(TH_TEXT);
+ slen= snode->aspect*UI_GetStringWidth(sock->name);
+ while(slen > node->width) {
+ ofs++;
+ slen= snode->aspect*UI_GetStringWidth(sock->name+ofs);
}
+ uiDefBut(node->block, LABEL, 0, sock->name+ofs, (short)(sock->locx-15.0f-slen), (short)(sock->locy-9.0f),
+ (short)(node->width-NODE_DY), NODE_DY, NULL, 0, 0, 0, 0, "");
}
/* preview */
@@ -904,6 +740,7 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
rctf *rct= &node->totr;
float dx, centy= 0.5f*(rct->ymax+rct->ymin);
float hiddenrad= 0.5f*(rct->ymax-rct->ymin);
+ float socket_size= NODE_SOCKSIZE*U.dpi/72;
int color_id= node_get_colorid(node);
char showname[128]; /* 128 is used below */
@@ -950,12 +787,7 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
UI_ThemeColor(TH_TEXT);
if(node->miniwidth>0.0f) {
- if (node->label[0]!='\0')
- BLI_strncpy(showname, node->label, sizeof(showname));
- else if (node->typeinfo->labelfunc)
- BLI_strncpy(showname, node->typeinfo->labelfunc(node), sizeof(showname));
- else
- BLI_strncpy(showname, node->typeinfo->name, sizeof(showname));
+ BLI_strncpy(showname, nodeLabel(node), sizeof(showname));
//if(node->flag & NODE_MUTED)
// sprintf(showname, "[%s]", showname);
@@ -978,12 +810,12 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
/* sockets */
for(sock= node->inputs.first; sock; sock= sock->next) {
if(!(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL)))
- socket_circle_draw(sock, NODE_SOCKSIZE);
+ node_socket_circle_draw(snode->nodetree, sock, socket_size);
}
for(sock= node->outputs.first; sock; sock= sock->next) {
if(!(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL)))
- socket_circle_draw(sock, NODE_SOCKSIZE);
+ node_socket_circle_draw(snode->nodetree, sock, socket_size);
}
uiEndBlock(C, node->block);
@@ -991,7 +823,43 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
node->block= NULL;
}
-static void node_draw_nodetree(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree)
+void node_draw_default(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *node)
+{
+ if(node->flag & NODE_HIDDEN)
+ node_draw_hidden(C, ar, snode, node);
+ else
+ node_draw_basis(C, ar, snode, ntree, node);
+}
+
+static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
+{
+ if (node->typeinfo->drawupdatefunc)
+ node->typeinfo->drawupdatefunc(C, ntree, node);
+}
+
+void node_update_nodetree(const bContext *C, bNodeTree *ntree, float offsetx, float offsety)
+{
+ bNode *node;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ /* XXX little hack */
+ node->locx += offsetx;
+ node->locy += offsety;
+
+ node_update(C, ntree, node);
+
+ node->locx -= offsetx;
+ node->locy -= offsety;
+ }
+}
+
+static void node_draw(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *node)
+{
+ if (node->typeinfo->drawfunc)
+ node->typeinfo->drawfunc(C, ar, snode, ntree, node);
+}
+
+void node_draw_nodetree(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree)
{
bNode *node;
bNodeLink *link;
@@ -1007,195 +875,11 @@ static void node_draw_nodetree(const bContext *C, ARegion *ar, SpaceNode *snode,
glDisable(GL_LINE_SMOOTH);
glDisable(GL_BLEND);
- /* not selected first */
- for(a=0, node= ntree->nodes.first; node; node= node->next, a++) {
+ /* draw nodes, last nodes in front */
+ for(a=0, node= ntree->nodes.first; node; node=node->next, a++) {
node->nr= a; /* index of node in list, used for exec event code */
- if(!(node->flag & SELECT)) {
- if(node->flag & NODE_GROUP_EDIT);
- else if(node->flag & NODE_HIDDEN)
- node_draw_hidden(C, ar, snode, node);
- else
- node_draw_basis(C, ar, snode, ntree, node);
- }
+ node_draw(C, ar, snode, ntree, node);
}
-
- /* selected */
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->flag & SELECT) {
- if(node->flag & NODE_GROUP_EDIT);
- else if(node->flag & NODE_HIDDEN)
- node_draw_hidden(C, ar, snode, node);
- else
- node_draw_basis(C, ar, snode, ntree, node);
- }
- }
-}
-
-static void group_verify_cb(bContext *UNUSED(C), void *UNUSED(snode_v), void *ngroup_v)
-{
- bNodeTree *ngroup= (bNodeTree*)ngroup_v;
-
- nodeGroupVerify(ngroup);
-}
-
-/* groups are, on creation, centered around 0,0 */
-static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *gnode)
-{
- bNodeTree *ngroup= (bNodeTree *)gnode->id;
- bNodeSocket *sock;
- rctf rect= gnode->totr;
- int index;
- uiLayout *layout;
- PointerRNA ptr;
- uiBut *bt;
-
- /* backdrop header */
- glEnable(GL_BLEND);
- uiSetRoundBox(3);
- UI_ThemeColorShadeAlpha(TH_NODE_GROUP, 0, -70);
- uiDrawBox(GL_POLYGON, rect.xmin-NODE_GROUP_FRAME, rect.ymax, rect.xmax+NODE_GROUP_FRAME, rect.ymax+26, BASIS_RAD);
-
- /* backdrop body */
- UI_ThemeColorShadeAlpha(TH_BACK, -8, -70);
- uiSetRoundBox(0);
- uiDrawBox(GL_POLYGON, rect.xmin, rect.ymin, rect.xmax, rect.ymax, BASIS_RAD);
-
- /* input column */
- UI_ThemeColorShadeAlpha(TH_BACK, 10, -50);
- uiSetRoundBox(8);
- uiDrawBox(GL_POLYGON, rect.xmin-NODE_GROUP_FRAME, rect.ymin, rect.xmin, rect.ymax, BASIS_RAD);
-
- /* output column */
- UI_ThemeColorShadeAlpha(TH_BACK, 10, -50);
- uiSetRoundBox(4);
- uiDrawBox(GL_POLYGON, rect.xmax, rect.ymin, rect.xmax+NODE_GROUP_FRAME, rect.ymax, BASIS_RAD);
-
- /* input column separator */
- glColor4ub(200, 200, 200, 140);
- glBegin(GL_LINES);
- glVertex2f(rect.xmin, rect.ymin);
- glVertex2f(rect.xmin, rect.ymax);
- glEnd();
-
- /* output column separator */
- glColor4ub(200, 200, 200, 140);
- glBegin(GL_LINES);
- glVertex2f(rect.xmax, rect.ymin);
- glVertex2f(rect.xmax, rect.ymax);
- glEnd();
-
- /* group node outline */
- uiSetRoundBox(15);
- glColor4ub(200, 200, 200, 140);
- glEnable( GL_LINE_SMOOTH );
- uiDrawBox(GL_LINE_LOOP, rect.xmin-NODE_GROUP_FRAME, rect.ymin, rect.xmax+NODE_GROUP_FRAME, rect.ymax+26, BASIS_RAD);
- glDisable( GL_LINE_SMOOTH );
- glDisable(GL_BLEND);
-
- /* backdrop title */
- UI_ThemeColor(TH_TEXT_HI);
-
- layout = uiBlockLayout(gnode->block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, (short)(rect.xmin+15), (short)(rect.ymax+23),
- MIN2((int)(rect.xmax - rect.xmin-18.0f), 140), 20, U.uistyles.first);
- RNA_pointer_create(&ntree->id, &RNA_Node, gnode, &ptr);
- uiTemplateIDBrowse(layout, (bContext*)C, &ptr, "node_tree", NULL, NULL, NULL);
- uiBlockLayoutResolve(gnode->block, NULL, NULL);
-
- /* draw the internal tree nodes and links */
- node_draw_nodetree(C, ar, snode, ngroup);
-
- /* group sockets */
- for(sock=ngroup->inputs.first, index=0; sock; sock=sock->next, ++index) {
- socket_circle_draw(sock, NODE_SOCKSIZE);
- /* small hack to use socket_circle_draw function with offset */
- sock->locx -= NODE_GROUP_FRAME;
- socket_circle_draw(sock, NODE_SOCKSIZE);
- sock->locx += NODE_GROUP_FRAME;
-
- bt = uiDefBut(gnode->block, TEX, 0, "",
- sock->locx-114, sock->locy+1, 72, NODE_DY,
- sock->name, 0, 31, 0, 0, "");
- uiButSetFunc(bt, group_verify_cb, snode, ngroup);
-
- node_draw_socket_button(ngroup, sock, "", gnode->block,
- sock->locx-114, sock->locy-NODE_DY, 72,
- NULL, NULL, NULL);
-
- uiBlockSetDirection(gnode->block, UI_TOP);
- uiBlockBeginAlign(gnode->block);
- bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_up", 0, ICON_TRIA_UP,
- sock->locx-40, sock->locy, 16, 16, "");
- if (!sock->prev)
- uiButSetFlag(bt, UI_BUT_DISABLED);
- RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
- RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_IN);
- bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_down", 0, ICON_TRIA_DOWN,
- sock->locx-40, sock->locy-16, 16, 16, "");
- if (!sock->next)
- uiButSetFlag(bt, UI_BUT_DISABLED);
- RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
- RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_IN);
- uiBlockEndAlign(gnode->block);
- uiBlockSetDirection(gnode->block, 0);
-
- uiBlockSetEmboss(gnode->block, UI_EMBOSSN);
- bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_remove", 0, ICON_X,
- sock->locx-22, sock->locy-8, 16, 16, "");
- RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
- RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_IN);
- uiBlockSetEmboss(gnode->block, UI_EMBOSS);
- }
-
- for(sock=ngroup->outputs.first, index=0; sock; sock=sock->next, ++index) {
- socket_circle_draw(sock, NODE_SOCKSIZE);
- /* small hack to use socket_circle_draw function with offset */
- sock->locx += NODE_GROUP_FRAME;
- socket_circle_draw(sock, NODE_SOCKSIZE);
- sock->locx -= NODE_GROUP_FRAME;
-
- uiBlockSetEmboss(gnode->block, UI_EMBOSSN);
- bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_remove", 0, ICON_X,
- sock->locx+6, sock->locy-8, 16, 16, "");
- RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
- RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_OUT);
- uiBlockSetEmboss(gnode->block, UI_EMBOSS);
-
- uiBlockSetDirection(gnode->block, UI_TOP);
- uiBlockBeginAlign(gnode->block);
- bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_up", 0, ICON_TRIA_UP,
- sock->locx+24, sock->locy, 16, 16, "");
- if (!sock->prev)
- uiButSetFlag(bt, UI_BUT_DISABLED);
- RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
- RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_OUT);
- bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_down", 0, ICON_TRIA_DOWN,
- sock->locx+24, sock->locy-16, 16, 16, "");
- if (!sock->next)
- uiButSetFlag(bt, UI_BUT_DISABLED);
- RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
- RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_OUT);
- uiBlockEndAlign(gnode->block);
- uiBlockSetDirection(gnode->block, 0);
-
- if (sock->link) {
- bt = uiDefBut(gnode->block, TEX, 0, "",
- sock->locx+42, sock->locy-NODE_DYS+1, 72, NODE_DY,
- sock->name, 0, 31, 0, 0, "");
- uiButSetFunc(bt, group_verify_cb, snode, ngroup);
- }
- else {
- bt = uiDefBut(gnode->block, TEX, 0, "",
- sock->locx+42, sock->locy+1, 72, NODE_DY,
- sock->name, 0, 31, 0, 0, "");
- uiButSetFunc(bt, group_verify_cb, snode, ngroup);
-
- node_draw_socket_button(ngroup, sock, "", gnode->block, sock->locx+42, sock->locy-NODE_DY, 72, NULL, NULL, NULL);
- }
- }
-
- uiEndBlock(C, gnode->block);
- uiDrawBlock(C, gnode->block);
- gnode->block= NULL;
}
void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d)
@@ -1237,27 +921,19 @@ void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d)
if(node->flag & NODE_GROUP_EDIT)
node_uiblocks_init(C, (bNodeTree *)node->id);
}
-
- node_uiblocks_init(C, snode->nodetree);
+ node_uiblocks_init(C, snode->nodetree);
- /* for now, we set drawing coordinates on each redraw */
- for(node= snode->nodetree->nodes.first; node; node= node->next) {
- if(node->flag & NODE_GROUP_EDIT)
- node_update_group(C, snode->nodetree, node);
- else if(node->flag & NODE_HIDDEN)
- node_update_hidden(node);
- else
- node_update(C, snode->nodetree, node);
- }
-
+ node_update_nodetree(C, snode->nodetree, 0.0f, 0.0f);
node_draw_nodetree(C, ar, snode, snode->nodetree);
-
+
+ #if 0
/* active group */
for(node= snode->nodetree->nodes.first; node; node= node->next) {
if(node->flag & NODE_GROUP_EDIT)
node_draw_group(C, ar, snode, snode->nodetree, node);
}
+ #endif
}
/* temporary links */
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c
index 99f2ea99efc..b5633d50997 100644
--- a/source/blender/editors/space_node/node_edit.c
+++ b/source/blender/editors/space_node/node_edit.c
@@ -40,9 +40,11 @@
#include "MEM_guardedalloc.h"
+#include "DNA_ID.h"
#include "DNA_object_types.h"
#include "DNA_material_types.h"
#include "DNA_node_types.h"
+#include "DNA_particle_types.h"
#include "DNA_scene_types.h"
#include "BLI_math.h"
@@ -58,11 +60,17 @@
#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_material.h"
+#include "BKE_modifier.h"
#include "BKE_paint.h"
#include "BKE_screen.h"
#include "BKE_texture.h"
#include "BKE_report.h"
+
+#include "BLI_math.h"
+#include "BLI_blenlib.h"
+#include "BLI_storage_types.h"
+
#include "RE_pipeline.h"
#include "IMB_imbuf_types.h"
@@ -74,11 +82,13 @@
#include "RNA_access.h"
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "WM_api.h"
#include "WM_types.h"
#include "UI_interface.h"
+#include "UI_resources.h"
#include "UI_view2d.h"
#include "IMB_imbuf.h"
@@ -88,9 +98,9 @@
#include "node_intern.h"
static EnumPropertyItem socket_in_out_items[] = {
- { SOCK_IN, "IN", 0, "In", "" },
- { SOCK_OUT, "OUT", 0, "Out", "" },
- { 0, NULL, 0, NULL, NULL}
+ { SOCK_IN, "SOCK_IN", 0, "Input", "" },
+ { SOCK_OUT, "SOCK_OUT", 0, "Output", "" },
+ { 0, NULL, 0, NULL, NULL },
};
/* ***************** composite job manager ********************** */
@@ -227,7 +237,7 @@ static bNode *editnode_get_active(bNodeTree *ntree)
/* check for edited group */
for(node= ntree->nodes.first; node; node= node->next)
- if(node->flag & NODE_GROUP_EDIT)
+ if(nodeGroupEditGet(node))
break;
if(node)
return nodeGetActive((bNodeTree *)node->id);
@@ -258,7 +268,7 @@ bNode *node_tree_get_editgroup(bNodeTree *nodetree)
/* get the groupnode */
for(gnode= nodetree->nodes.first; gnode; gnode= gnode->next)
- if(gnode->flag & NODE_GROUP_EDIT)
+ if(nodeGroupEditGet(gnode))
break;
return gnode;
}
@@ -269,6 +279,7 @@ void ED_node_shader_default(Material *ma)
{
bNode *in, *out;
bNodeSocket *fromsock, *tosock;
+ bNodeTemplate ntemp;
/* but lets check it anyway */
if(ma->nodetree) {
@@ -277,12 +288,14 @@ void ED_node_shader_default(Material *ma)
return;
}
- ma->nodetree= ntreeAddTree("Shader Nodetree", NTREE_SHADER, FALSE);
+ ma->nodetree= ntreeAddTree("Shader Nodetree", NTREE_SHADER, 0);
- out= nodeAddNodeType(ma->nodetree, SH_NODE_OUTPUT, NULL, NULL);
+ ntemp.type = SH_NODE_OUTPUT;
+ out= nodeAddNode(ma->nodetree, &ntemp);
out->locx= 300.0f; out->locy= 300.0f;
- in= nodeAddNodeType(ma->nodetree, SH_NODE_MATERIAL, NULL, NULL);
+ ntemp.type = SH_NODE_MATERIAL;
+ in= nodeAddNode(ma->nodetree, &ntemp);
in->locx= 10.0f; in->locy= 300.0f;
nodeSetActive(ma->nodetree, in);
@@ -291,7 +304,7 @@ void ED_node_shader_default(Material *ma)
tosock= out->inputs.first;
nodeAddLink(ma->nodetree, in, fromsock, out, tosock);
- ntreeSolveOrder(ma->nodetree); /* needed for pointers */
+ ntreeUpdateTree(ma->nodetree);
}
/* assumes nothing being done in ntree yet, sets the default in/out node */
@@ -300,6 +313,7 @@ void ED_node_composit_default(Scene *sce)
{
bNode *in, *out;
bNodeSocket *fromsock, *tosock;
+ bNodeTemplate ntemp;
/* but lets check it anyway */
if(sce->nodetree) {
@@ -308,14 +322,16 @@ void ED_node_composit_default(Scene *sce)
return;
}
- sce->nodetree= ntreeAddTree("Compositing Nodetree", NTREE_COMPOSIT, FALSE);
+ sce->nodetree= ntreeAddTree("Compositing Nodetree", NTREE_COMPOSIT, 0);
- out= nodeAddNodeType(sce->nodetree, CMP_NODE_COMPOSITE, NULL, NULL);
+ ntemp.type = CMP_NODE_COMPOSITE;
+ out= nodeAddNode(sce->nodetree, &ntemp);
out->locx= 300.0f; out->locy= 400.0f;
out->id= &sce->id;
id_us_plus(out->id);
- in= nodeAddNodeType(sce->nodetree, CMP_NODE_R_LAYERS, NULL, NULL);
+ ntemp.type = CMP_NODE_R_LAYERS;
+ in= nodeAddNode(sce->nodetree, &ntemp);
in->locx= 10.0f; in->locy= 400.0f;
in->id= &sce->id;
id_us_plus(in->id);
@@ -326,7 +342,7 @@ void ED_node_composit_default(Scene *sce)
tosock= out->inputs.first;
nodeAddLink(sce->nodetree, in, fromsock, out, tosock);
- ntreeSolveOrder(sce->nodetree); /* needed for pointers */
+ ntreeUpdateTree(sce->nodetree);
// XXX ntreeCompositForceHidden(sce->nodetree);
}
@@ -337,6 +353,7 @@ void ED_node_texture_default(Tex *tx)
{
bNode *in, *out;
bNodeSocket *fromsock, *tosock;
+ bNodeTemplate ntemp;
/* but lets check it anyway */
if(tx->nodetree) {
@@ -345,12 +362,14 @@ void ED_node_texture_default(Tex *tx)
return;
}
- tx->nodetree= ntreeAddTree("Texture Nodetree", NTREE_TEXTURE, FALSE);
+ tx->nodetree= ntreeAddTree("Texture Nodetree", NTREE_TEXTURE, 0);
- out= nodeAddNodeType(tx->nodetree, TEX_NODE_OUTPUT, NULL, NULL);
+ ntemp.type = TEX_NODE_OUTPUT;
+ out= nodeAddNode(tx->nodetree, &ntemp);
out->locx= 300.0f; out->locy= 300.0f;
- in= nodeAddNodeType(tx->nodetree, TEX_NODE_CHECKER, NULL, NULL);
+ ntemp.type = TEX_NODE_CHECKER;
+ in= nodeAddNode(tx->nodetree, &ntemp);
in->locx= 10.0f; in->locy= 300.0f;
nodeSetActive(tx->nodetree, in);
@@ -358,43 +377,53 @@ void ED_node_texture_default(Tex *tx)
tosock= out->inputs.first;
nodeAddLink(tx->nodetree, in, fromsock, out, tosock);
- ntreeSolveOrder(tx->nodetree); /* needed for pointers */
+ ntreeUpdateTree(tx->nodetree);
}
/* id is supposed to contain a node tree */
void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *treetype)
{
- bNode *node= NULL;
- short idtype= GS(id->name);
-
- if(idtype == ID_MA) {
- *ntree= ((Material*)id)->nodetree;
- if(treetype) *treetype= NTREE_SHADER;
- }
- else if(idtype == ID_SCE) {
- *ntree= ((Scene*)id)->nodetree;
- if(treetype) *treetype= NTREE_COMPOSIT;
- }
- else if(idtype == ID_TE) {
- *ntree= ((Tex*)id)->nodetree;
- if(treetype) *treetype= NTREE_TEXTURE;
+ if (id) {
+ bNode *node= NULL;
+ short idtype= GS(id->name);
+
+ if(idtype == ID_NT) {
+ *ntree= (bNodeTree*)id;
+ if(treetype) *treetype= (*ntree)->type;
+ }
+ else if(idtype == ID_MA) {
+ *ntree= ((Material*)id)->nodetree;
+ if(treetype) *treetype= NTREE_SHADER;
+ }
+ else if(idtype == ID_SCE) {
+ *ntree= ((Scene*)id)->nodetree;
+ if(treetype) *treetype= NTREE_COMPOSIT;
+ }
+ else if(idtype == ID_TE) {
+ *ntree= ((Tex*)id)->nodetree;
+ if(treetype) *treetype= NTREE_TEXTURE;
+ }
+ else {
+ if(treetype) *treetype= 0;
+ return;
+ }
+
+ /* find editable group */
+ if(edittree) {
+ if(*ntree)
+ for(node= (*ntree)->nodes.first; node; node= node->next)
+ if(nodeGroupEditGet(node))
+ break;
+
+ if(node && node->id)
+ *edittree= (bNodeTree *)node->id;
+ else
+ *edittree= *ntree;
+ }
}
else {
+ *ntree= NULL;
if(treetype) *treetype= 0;
- return;
- }
-
- /* find editable group */
- if(edittree) {
- if(*ntree)
- for(node= (*ntree)->nodes.first; node; node= node->next)
- if(node->flag & NODE_GROUP_EDIT)
- break;
-
- if(node && node->id)
- *edittree= (bNodeTree *)node->id;
- else
- *edittree= *ntree;
}
}
@@ -403,8 +432,6 @@ void snode_set_context(SpaceNode *snode, Scene *scene)
{
Object *ob= OBACT;
- snode->nodetree= NULL;
- snode->edittree= NULL;
snode->id= snode->from= NULL;
if(snode->treetype==NTREE_SHADER) {
@@ -418,7 +445,6 @@ void snode_set_context(SpaceNode *snode, Scene *scene)
}
}
else if(snode->treetype==NTREE_COMPOSIT) {
- snode->from= NULL;
snode->id= &scene->id;
/* bit clumsy but reliable way to see if we draw first time */
@@ -461,9 +487,14 @@ void snode_set_context(SpaceNode *snode, Scene *scene)
}
}
}
+ else {
+ if (snode->nodetree && snode->nodetree->type == snode->treetype)
+ snode->id = &snode->nodetree->id;
+ else
+ snode->id = NULL;
+ }
- if(snode->id)
- node_tree_from_ID(snode->id, &snode->nodetree, &snode->edittree, NULL);
+ node_tree_from_ID(snode->id, &snode->nodetree, &snode->edittree, NULL);
}
static void snode_tag_changed(SpaceNode *snode, bNode *node)
@@ -479,79 +510,90 @@ static void snode_tag_changed(SpaceNode *snode, bNode *node)
NodeTagIDChanged(snode->nodetree, gnode->id);
}
-void node_set_active(SpaceNode *snode, bNode *node)
+static int has_nodetree(bNodeTree *ntree, bNodeTree *lookup)
+{
+ bNode *node;
+
+ if(ntree == lookup)
+ return 1;
+
+ for(node=ntree->nodes.first; node; node=node->next)
+ if(node->type == NODE_GROUP && node->id)
+ if(has_nodetree((bNodeTree*)node->id, lookup))
+ return 1;
+
+ return 0;
+}
+
+void ED_node_set_active(Main *bmain, bNodeTree *ntree, bNode *node)
{
- nodeSetActive(snode->edittree, node);
+ nodeSetActive(ntree, node);
if(node->type!=NODE_GROUP) {
int was_output= (node->flag & NODE_DO_OUTPUT);
/* tree specific activate calls */
- if(snode->treetype==NTREE_SHADER) {
+ if(ntree->type==NTREE_SHADER) {
/* when we select a material, active texture is cleared, for buttons */
if(node->id && GS(node->id->name)==ID_MA)
- nodeClearActiveID(snode->edittree, ID_TE);
+ nodeClearActiveID(ntree, ID_TE);
if(node->type==SH_NODE_OUTPUT) {
bNode *tnode;
- for(tnode= snode->edittree->nodes.first; tnode; tnode= tnode->next)
+ for(tnode= ntree->nodes.first; tnode; tnode= tnode->next)
if( tnode->type==SH_NODE_OUTPUT)
tnode->flag &= ~NODE_DO_OUTPUT;
node->flag |= NODE_DO_OUTPUT;
if(was_output==0)
- ED_node_changed_update(snode->id, node);
+ ED_node_generic_update(bmain, ntree, node);
}
- // XXX
-#if 0
- if(node->id)
- ; // XXX BIF_preview_changed(-1); /* temp hack to force texture preview to update */
-
- // allqueue(REDRAWBUTSSHADING, 1);
- // allqueue(REDRAWIPO, 0);
-#endif
+ WM_main_add_notifier(NC_MATERIAL|ND_NODES, node->id);
}
- else if(snode->treetype==NTREE_COMPOSIT) {
- Scene *scene= (Scene*)snode->id;
-
+ else if(ntree->type==NTREE_COMPOSIT) {
/* make active viewer, currently only 1 supported... */
if( ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
bNode *tnode;
- for(tnode= snode->edittree->nodes.first; tnode; tnode= tnode->next)
+ for(tnode= ntree->nodes.first; tnode; tnode= tnode->next)
if( ELEM(tnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER))
tnode->flag &= ~NODE_DO_OUTPUT;
node->flag |= NODE_DO_OUTPUT;
- if(was_output==0) {
- snode_tag_changed(snode, node);
-
- ED_node_changed_update(snode->id, node);
- }
+ if(was_output==0)
+ ED_node_generic_update(bmain, ntree, node);
/* addnode() doesnt link this yet... */
node->id= (ID *)BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
}
else if(node->type==CMP_NODE_R_LAYERS) {
- if(node->id==NULL || node->id==(ID *)scene) {
- scene->r.actlay= node->custom1;
+ Scene *scene;
+
+ for(scene=bmain->scene.first; scene; scene=scene->id.next) {
+ if(scene->nodetree && scene->use_nodes && has_nodetree(scene->nodetree, ntree)) {
+ if(node->id==NULL || node->id==(ID *)scene) {
+ scene->r.actlay= node->custom1;
+ }
+ }
}
}
else if(node->type==CMP_NODE_COMPOSITE) {
- bNode *tnode;
-
- for(tnode= snode->edittree->nodes.first; tnode; tnode= tnode->next)
- if( tnode->type==CMP_NODE_COMPOSITE)
- tnode->flag &= ~NODE_DO_OUTPUT;
-
- node->flag |= NODE_DO_OUTPUT;
- ED_node_changed_update(snode->id, node);
+ if (was_output==0) {
+ bNode *tnode;
+
+ for(tnode= ntree->nodes.first; tnode; tnode= tnode->next)
+ if( tnode->type==CMP_NODE_COMPOSITE)
+ tnode->flag &= ~NODE_DO_OUTPUT;
+
+ node->flag |= NODE_DO_OUTPUT;
+ ED_node_generic_update(bmain, ntree, node);
+ }
}
}
- else if(snode->treetype==NTREE_TEXTURE) {
+ else if(ntree->type==NTREE_TEXTURE) {
// XXX
#if 0
if(node->id)
@@ -563,17 +605,199 @@ void node_set_active(SpaceNode *snode, bNode *node)
}
}
-/* when links in groups change, inputs/outputs change, nodes added/deleted... */
-void node_tree_verify_groups(bNodeTree *nodetree)
+static int compare_nodes(bNode *a, bNode *b)
{
- bNode *gnode;
+ bNode *parent;
+
+ /* if one is an ancestor of the other */
+ /* XXX there might be a better sorting algorithm for stable topological sort, this is O(n^2) worst case */
+ for (parent = a->parent; parent; parent=parent->parent) {
+ if (parent==b)
+ return 1;
+ }
+ for (parent = b->parent; parent; parent=parent->parent) {
+ if (parent==a)
+ return 0;
+ }
+
+ /* if one of the nodes is in the background and the other not */
+ if ((a->flag & NODE_BACKGROUND) && !(b->typeinfo->flag & NODE_BACKGROUND))
+ return 0;
+ else if (!(a->flag & NODE_BACKGROUND) && (b->typeinfo->flag & NODE_BACKGROUND))
+ return 1;
- gnode= node_tree_get_editgroup(nodetree);
+ /* if one has a higher selection state (active > selected > nothing) */
+ if (!(b->flag & NODE_ACTIVE) && (a->flag & NODE_ACTIVE))
+ return 1;
+ else if (!(b->flag & NODE_SELECT) && ((a->flag & NODE_ACTIVE) || (a->flag & NODE_SELECT)))
+ return 1;
- /* does all materials */
- if(gnode)
- nodeGroupVerify((bNodeTree *)gnode->id);
+ return 0;
+}
+/* Sorts nodes by selection: unselected nodes first, then selected,
+ * then the active node at the very end. Relative order is kept intact!
+ */
+void node_sort(bNodeTree *ntree)
+{
+ /* merge sort is the algorithm of choice here */
+ bNode *first_a, *first_b, *node_a, *node_b, *tmp;
+ int totnodes= BLI_countlist(&ntree->nodes);
+ int k, a, b;
+ k = 1;
+ while (k < totnodes) {
+ first_a = first_b = ntree->nodes.first;
+
+ do {
+ /* setup first_b pointer */
+ for (b=0; b < k && first_b; ++b) {
+ first_b = first_b->next;
+ }
+ /* all batches merged? */
+ if (first_b==NULL)
+ break;
+
+ /* merge batches */
+ node_a = first_a;
+ node_b = first_b;
+ a = b = 0;
+ while (a < k && b < k && node_b) {
+ if (compare_nodes(node_a, node_b)==0) {
+ node_a = node_a->next;
+ ++a;
+ }
+ else {
+ tmp = node_b;
+ node_b = node_b->next;
+ ++b;
+ BLI_remlink(&ntree->nodes, tmp);
+ BLI_insertlinkbefore(&ntree->nodes, node_a, tmp);
+ }
+ }
+
+ /* setup first pointers for next batch */
+ first_b = node_b;
+ for (; b < k; ++b) {
+ /* all nodes sorted? */
+ if (first_b==NULL)
+ break;
+ first_b = first_b->next;
+ }
+ first_a = first_b;
+ } while (first_b);
+
+ k = k << 1;
+ }
+}
+
+static int inside_rctf(rctf *bounds, rctf *rect)
+{
+ return (bounds->xmin <= rect->xmin && bounds->xmax >= rect->xmax
+ && bounds->ymin <= rect->ymin && bounds->ymax >= rect->ymax);
+}
+
+static void node_frame_attach_nodes(bNodeTree *UNUSED(ntree), bNode *frame)
+{
+ bNode *node;
+
+ /* only check nodes on top of the frame for attaching */
+ for (node=frame->next; node; node=node->next) {
+ if (node->parent==frame) {
+ /* detach nodes that went outside the frame */
+ if (!inside_rctf(&frame->totr, &node->totr))
+ nodeDetachNode(node);
+ }
+ else if (node->flag & NODE_SELECT && node->parent==NULL) {
+ /* attach selected, still unparented nodes */
+ if (inside_rctf(&frame->totr, &node->totr))
+ nodeAttachNode(node, frame);
+ }
+ }
+}
+
+void ED_node_update_hierarchy(bContext *UNUSED(C), bNodeTree *ntree)
+{
+ bNode *node;
+
+ /* XXX This does not work due to layout functions relying on node->block,
+ * which only exists during actual drawing. Can we rely on valid totr rects?
+ */
+ /* make sure nodes have correct bounding boxes after transform */
+// node_update_nodetree(C, ntree, 0.0f, 0.0f);
+
+ /* all selected nodes are re-parented */
+ for (node=ntree->nodes.last; node; node=node->prev) {
+ if (node->flag & NODE_SELECT && node->parent)
+ nodeDetachNode(node);
+ }
+
+ /* update higher Z-level nodes first */
+ for (node=ntree->nodes.last; node; node=node->prev) {
+ /* XXX callback? */
+ if (node->type==NODE_FRAME)
+ node_frame_attach_nodes(ntree, node);
+ }
+}
+
+/* ***************** generic operator functions for nodes ***************** */
+
+static int edit_node_poll(bContext *C)
+{
+ return ED_operator_node_active(C);
+}
+
+static void edit_node_properties(wmOperatorType *ot)
+{
+ /* XXX could node be a context pointer? */
+ RNA_def_string(ot->srna, "node", "", 32, "Node", "");
+ RNA_def_int(ot->srna, "socket", 0, 0, MAX_SOCKET, "Socket", "", 0, MAX_SOCKET);
+ RNA_def_enum(ot->srna, "in_out", socket_in_out_items, SOCK_IN, "Socket Side", "");
+}
+
+static int edit_node_invoke_properties(bContext *C, wmOperator *op)
+{
+ if (!RNA_property_is_set(op->ptr, "node")) {
+ bNode *node= CTX_data_pointer_get_type(C, "node", &RNA_Node).data;
+ if (!node)
+ return 0;
+ else
+ RNA_string_set(op->ptr, "node", node->name);
+ }
+
+ if (!RNA_property_is_set(op->ptr, "in_out"))
+ RNA_enum_set(op->ptr, "in_out", SOCK_IN);
+
+ if (!RNA_property_is_set(op->ptr, "socket"))
+ RNA_int_set(op->ptr, "socket", 0);
+
+ return 1;
+}
+
+static void edit_node_properties_get(wmOperator *op, bNodeTree *ntree, bNode **rnode, bNodeSocket **rsock, int *rin_out)
+{
+ bNode *node;
+ bNodeSocket *sock;
+ char nodename[32];
+ int sockindex;
+ int in_out;
+
+ RNA_string_get(op->ptr, "node", nodename);
+ node = nodeFindNodebyName(ntree, nodename);
+
+ in_out = RNA_enum_get(op->ptr, "in_out");
+
+ sockindex = RNA_int_get(op->ptr, "socket");
+ switch (in_out) {
+ case SOCK_IN: sock = BLI_findlink(&node->inputs, sockindex); break;
+ case SOCK_OUT: sock = BLI_findlink(&node->outputs, sockindex); break;
+ }
+
+ if (rnode)
+ *rnode = node;
+ if (rsock)
+ *rsock = sock;
+ if (rin_out)
+ *rin_out = in_out;
}
/* ***************** Edit Group operator ************* */
@@ -583,8 +807,8 @@ void snode_make_group_editable(SpaceNode *snode, bNode *gnode)
bNode *node;
/* make sure nothing has group editing on */
- for(node= snode->nodetree->nodes.first; node; node= node->next)
- node->flag &= ~NODE_GROUP_EDIT;
+ for(node=snode->nodetree->nodes.first; node; node=node->next)
+ nodeGroupEditClear(node);
if(gnode==NULL) {
/* with NULL argument we do a toggle */
@@ -592,34 +816,30 @@ void snode_make_group_editable(SpaceNode *snode, bNode *gnode)
gnode= nodeGetActive(snode->nodetree);
}
- if(gnode && gnode->type==NODE_GROUP && gnode->id) {
- if(gnode->id->lib)
- ntreeMakeLocal((bNodeTree *)gnode->id);
-
- gnode->flag |= NODE_GROUP_EDIT;
- snode->edittree= (bNodeTree *)gnode->id;
+ if (gnode) {
+ snode->edittree = nodeGroupEditSet(gnode, 1);
/* deselect all other nodes, so we can also do grabbing of entire subtree */
for(node= snode->nodetree->nodes.first; node; node= node->next)
node->flag &= ~SELECT;
gnode->flag |= SELECT;
-
}
else
snode->edittree= snode->nodetree;
-
- ntreeSolveOrder(snode->nodetree);
}
static int node_group_edit_exec(bContext *C, wmOperator *UNUSED(op))
{
SpaceNode *snode = CTX_wm_space_node(C);
- bNode *gnode;
ED_preview_kill_jobs(C);
- gnode= nodeGetActive(snode->edittree);
- snode_make_group_editable(snode, gnode);
+ if (snode->nodetree==snode->edittree) {
+ bNode *gnode= nodeGetActive(snode->nodetree);
+ snode_make_group_editable(snode, gnode);
+ }
+ else
+ snode_make_group_editable(snode, NULL);
WM_event_add_notifier(C, NC_SCENE|ND_NODES, NULL);
@@ -632,7 +852,8 @@ static int node_group_edit_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(e
bNode *gnode;
gnode= nodeGetActive(snode->edittree);
- if(gnode && gnode->type==NODE_GROUP && gnode->id && gnode->id->lib) {
+ /* XXX callback? */
+ if(gnode && gnode->id && GS(gnode->id->name)==ID_NT && gnode->id->lib) {
uiPupMenuOkee(C, op->type->idname, "Make group local?");
return OPERATOR_CANCELLED;
}
@@ -663,7 +884,7 @@ static int node_group_socket_add_exec(bContext *C, wmOperator *op)
SpaceNode *snode = CTX_wm_space_node(C);
int in_out= -1;
char name[32]= "";
- int type= SOCK_VALUE;
+ int type= SOCK_FLOAT;
bNodeTree *ngroup= snode->edittree;
bNodeSocket *sock;
@@ -680,9 +901,10 @@ static int node_group_socket_add_exec(bContext *C, wmOperator *op)
else
return OPERATOR_CANCELLED;
- sock = nodeGroupAddSocket(ngroup, name, type, in_out);
+ /* using placeholder subtype first */
+ sock = node_group_add_socket(ngroup, name, type, in_out);
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(ngroup);
snode_notify(C, snode);
@@ -705,7 +927,7 @@ void NODE_OT_group_socket_add(wmOperatorType *ot)
RNA_def_enum(ot->srna, "in_out", socket_in_out_items, SOCK_IN, "Socket Type", "Input or Output");
RNA_def_string(ot->srna, "name", "", 32, "Name", "Group socket name");
- RNA_def_enum(ot->srna, "type", node_socket_type_items, SOCK_VALUE, "Type", "Type of the group socket");
+ RNA_def_enum(ot->srna, "type", node_socket_type_items, SOCK_FLOAT, "Type", "Type of the group socket");
}
/* ***************** Remove Group Socket operator ************* */
@@ -732,8 +954,8 @@ static int node_group_socket_remove_exec(bContext *C, wmOperator *op)
sock = (bNodeSocket*)BLI_findlink(in_out==SOCK_IN ? &ngroup->inputs : &ngroup->outputs, index);
if (sock) {
- nodeGroupRemoveSocket(ngroup, sock, in_out);
- node_tree_verify_groups(snode->nodetree);
+ node_group_remove_socket(ngroup, sock, in_out);
+ ntreeUpdateTree(ngroup);
snode_notify(C, snode);
}
@@ -790,6 +1012,8 @@ static int node_group_socket_move_up_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
BLI_remlink(&ngroup->inputs, sock);
BLI_insertlinkbefore(&ngroup->inputs, prev, sock);
+
+ ngroup->update |= NTREE_UPDATE_GROUP_IN;
}
else if (in_out==SOCK_OUT) {
sock = (bNodeSocket*)BLI_findlink(&ngroup->outputs, index);
@@ -799,8 +1023,10 @@ static int node_group_socket_move_up_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
BLI_remlink(&ngroup->outputs, sock);
BLI_insertlinkbefore(&ngroup->outputs, prev, sock);
+
+ ngroup->update |= NTREE_UPDATE_GROUP_OUT;
}
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(ngroup);
snode_notify(C, snode);
@@ -856,6 +1082,8 @@ static int node_group_socket_move_down_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
BLI_remlink(&ngroup->inputs, sock);
BLI_insertlinkafter(&ngroup->inputs, next, sock);
+
+ ngroup->update |= NTREE_UPDATE_GROUP_IN;
}
else if (in_out==SOCK_OUT) {
sock = (bNodeSocket*)BLI_findlink(&ngroup->outputs, index);
@@ -865,8 +1093,10 @@ static int node_group_socket_move_down_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
BLI_remlink(&ngroup->outputs, sock);
BLI_insertlinkafter(&ngroup->outputs, next, sock);
+
+ ngroup->update |= NTREE_UPDATE_GROUP_OUT;
}
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(ngroup);
snode_notify(C, snode);
@@ -913,7 +1143,7 @@ static int node_group_ungroup_exec(bContext *C, wmOperator *op)
BKE_report(op->reports, RPT_WARNING, "Not a group");
return OPERATOR_CANCELLED;
}
- else if(!nodeGroupUnGroup(snode->edittree, gnode)) {
+ else if(!node_group_ungroup(snode->edittree, gnode)) {
BKE_report(op->reports, RPT_WARNING, "Can't ungroup");
return OPERATOR_CANCELLED;
}
@@ -941,70 +1171,16 @@ void NODE_OT_group_ungroup(wmOperatorType *ot)
/* ************************** Node generic ************** */
-/* allows to walk the list in order of visibility */
-bNode *next_node(bNodeTree *ntree)
-{
- static bNode *current=NULL, *last= NULL;
-
- if(ntree) {
- /* set current to the first selected node */
- for(current= ntree->nodes.last; current; current= current->prev)
- if(current->flag & NODE_SELECT)
- break;
-
- /* set last to the first unselected node */
- for(last= ntree->nodes.last; last; last= last->prev)
- if((last->flag & NODE_SELECT)==0)
- break;
-
- if(current==NULL)
- current= last;
-
- return NULL;
- }
- /* no nodes, or we are ready */
- if(current==NULL)
- return NULL;
-
- /* now we walk the list backwards, but we always return current */
- if(current->flag & NODE_SELECT) {
- bNode *node= current;
-
- /* find previous selected */
- current= current->prev;
- while(current && (current->flag & NODE_SELECT)==0)
- current= current->prev;
-
- /* find first unselected */
- if(current==NULL)
- current= last;
-
- return node;
- }
- else {
- bNode *node= current;
-
- /* find previous unselected */
- current= current->prev;
- while(current && (current->flag & NODE_SELECT))
- current= current->prev;
-
- return node;
- }
-
- return NULL;
-}
-
/* is rct in visible part of node? */
static bNode *visible_node(SpaceNode *snode, rctf *rct)
{
- bNode *tnode;
+ bNode *node;
- for(next_node(snode->edittree); (tnode=next_node(NULL));) {
- if(BLI_isect_rctf(&tnode->totr, rct, NULL))
+ for(node=snode->edittree->nodes.last; node; node=node->prev) {
+ if(BLI_isect_rctf(&node->totr, rct, NULL))
break;
}
- return tnode;
+ return node;
}
/* **************************** */
@@ -1108,7 +1284,7 @@ void NODE_OT_backimage_move(wmOperatorType *ot)
ot->cancel= snode_bg_viewmove_cancel;
/* flags */
- ot->flag= OPTYPE_BLOCKING;
+ ot->flag= OPTYPE_BLOCKING|OPTYPE_GRAB_POINTER;
}
static int backimage_zoom(bContext *C, wmOperator *op)
@@ -1307,8 +1483,9 @@ void NODE_OT_backimage_sample(wmOperatorType *ot)
/* ********************** size widget operator ******************** */
typedef struct NodeSizeWidget {
- float mxstart;
- float oldwidth;
+ float mxstart, mystart;
+ float oldwidth, oldheight;
+ float oldminiwidth;
} NodeSizeWidget;
static int node_resize_modal(bContext *C, wmOperator *op, wmEvent *event)
@@ -1327,13 +1504,16 @@ static int node_resize_modal(bContext *C, wmOperator *op, wmEvent *event)
if (node) {
if(node->flag & NODE_HIDDEN) {
- node->miniwidth= nsw->oldwidth + mx - nsw->mxstart;
+ node->miniwidth= nsw->oldminiwidth + mx - nsw->mxstart;
CLAMP(node->miniwidth, 0.0f, 100.0f);
}
else {
node->width= nsw->oldwidth + mx - nsw->mxstart;
- CLAMP(node->width, node->typeinfo->minwidth, node->typeinfo->maxwidth);
+ CLAMP(node->width, UI_DPI_FAC*node->typeinfo->minwidth, UI_DPI_FAC*node->typeinfo->maxwidth);
}
+ /* height works the other way round ... */
+ node->height= nsw->oldheight - my + nsw->mystart;
+ CLAMP(node->height, node->typeinfo->minheight, node->typeinfo->maxheight);
}
ED_region_tag_redraw(ar);
@@ -1347,6 +1527,8 @@ static int node_resize_modal(bContext *C, wmOperator *op, wmEvent *event)
MEM_freeN(nsw);
op->customdata= NULL;
+ ED_node_update_hierarchy(C, snode->edittree);
+
return OPERATOR_FINISHED;
}
@@ -1360,28 +1542,21 @@ static int node_resize_invoke(bContext *C, wmOperator *op, wmEvent *event)
bNode *node= editnode_get_active(snode->edittree);
if(node) {
- rctf totr;
-
/* convert mouse coordinates to v2d space */
UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1],
&snode->mx, &snode->my);
- /* rect we're interested in is just the bottom right corner */
- totr= node->totr;
- totr.xmin= totr.xmax-10.0f;
- totr.ymax= totr.ymin+10.0f;
-
- if(BLI_in_rctf(&totr, snode->mx, snode->my)) {
+ if(node->typeinfo->resize_area_func(node, snode->mx, snode->my)) {
NodeSizeWidget *nsw= MEM_callocN(sizeof(NodeSizeWidget), "size widget op data");
op->customdata= nsw;
nsw->mxstart= snode->mx;
+ nsw->mystart= snode->my;
/* store old */
- if(node->flag & NODE_HIDDEN)
- nsw->oldwidth= node->miniwidth;
- else
- nsw->oldwidth= node->width;
+ nsw->oldwidth= node->width;
+ nsw->oldheight= node->height;
+ nsw->oldminiwidth= node->miniwidth;
/* add modal handler */
WM_event_add_modal_handler(C, op);
@@ -1580,7 +1755,7 @@ static void node_link_viewer(SpaceNode *snode, bNode *tonode)
link->fromnode= tonode;
link->fromsock= sock;
}
- ntreeSolveOrder(snode->edittree);
+ ntreeUpdateTree(snode->edittree);
snode_tag_changed(snode, node);
}
}
@@ -1625,7 +1800,7 @@ void NODE_OT_link_viewer(wmOperatorType *ot)
/* return 0, nothing done */
-static int node_mouse_groupheader(SpaceNode *snode)
+static int UNUSED_FUNCTION(node_mouse_groupheader)(SpaceNode *snode)
{
bNode *gnode;
float mx=0, my=0;
@@ -1887,6 +2062,7 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace)
ListBase *nodelist = MEM_callocN(sizeof(ListBase), "items_list");
bNodeListItem *nli;
bNode *node;
+ bNodeLink *link;
int i, numlinks=0;
for(node= snode->edittree->nodes.first; node; node= node->next) {
@@ -1923,7 +2099,15 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace)
/* then we can connect */
if (replace)
nodeRemSocketLinks(snode->edittree, sock_to);
- nodeAddLink(snode->edittree, node_fr, sock_fr, node_to, sock_to);
+
+ link = nodeAddLink(snode->edittree, node_fr, sock_fr, node_to, sock_to);
+ /* validate the new link */
+ ntreeUpdateTree(snode->edittree);
+ if (!(link->flag & NODE_LINK_VALID)) {
+ nodeRemLink(snode->edittree, link);
+ continue;
+ }
+
snode_tag_changed(snode, node_to);
++numlinks;
break;
@@ -1931,8 +2115,7 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace)
}
if (numlinks > 0) {
- node_tree_verify_groups(snode->nodetree);
- ntreeSolveOrder(snode->edittree);
+ ntreeUpdateTree(snode->edittree);
}
BLI_freelistN(nodelist);
@@ -1940,28 +2123,13 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace)
}
/* can be called from menus too, but they should do own undopush and redraws */
-bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy)
+bNode *node_add_node(SpaceNode *snode, Main *bmain, Scene *scene, bNodeTemplate *ntemp, float locx, float locy)
{
bNode *node= NULL, *gnode;
node_deselectall(snode);
- if(type>=NODE_DYNAMIC_MENU) {
- node= nodeAddNodeType(snode->edittree, type, NULL, NULL);
- }
- else if(type>=NODE_GROUP_MENU) {
- if(snode->edittree!=snode->nodetree) {
- // XXX error("Can not add a Group in a Group");
- return NULL;
- }
- else {
- bNodeTree *ngroup= BLI_findlink(&G.main->nodetree, type-NODE_GROUP_MENU);
- if(ngroup)
- node= nodeAddNodeType(snode->edittree, NODE_GROUP, ngroup, NULL);
- }
- }
- else
- node= nodeAddNodeType(snode->edittree, type, NULL, NULL);
+ node = nodeAddNode(snode->edittree, ntemp);
/* generics */
if(node) {
@@ -1975,8 +2143,8 @@ bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float
node->locy -= gnode->locy;
}
- node_tree_verify_groups(snode->nodetree);
- node_set_active(snode, node);
+ ntreeUpdateTree(snode->edittree);
+ ED_node_set_active(bmain, snode->edittree, node);
if(snode->nodetree->type==NTREE_COMPOSIT) {
if(ELEM4(node->type, CMP_NODE_R_LAYERS, CMP_NODE_COMPOSITE, CMP_NODE_DEFOCUS, CMP_NODE_OUTPUT_FILE))
@@ -2000,23 +2168,21 @@ bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float
/* ****************** Duplicate *********************** */
-static int node_duplicate_exec(bContext *C, wmOperator *UNUSED(op))
+static int node_duplicate_exec(bContext *C, wmOperator *op)
{
SpaceNode *snode= CTX_wm_space_node(C);
bNodeTree *ntree= snode->edittree;
- bNode *node, *newnode, *last;
+ bNode *node, *newnode, *lastnode;
+ bNodeLink *link, *newlink, *lastlink;
+ int keep_inputs = RNA_boolean_get(op->ptr, "keep_inputs");
ED_preview_kill_jobs(C);
- last = ntree->nodes.last;
+ lastnode = ntree->nodes.last;
for(node= ntree->nodes.first; node; node= node->next) {
if(node->flag & SELECT) {
newnode = nodeCopyNode(ntree, node);
- /* deselect old node, select the copy instead */
- node->flag &= ~(NODE_SELECT|NODE_ACTIVE);
- newnode->flag |= NODE_SELECT;
-
if(newnode->id) {
/* simple id user adjustment, node internal functions dont touch this
* but operators and readfile.c do. */
@@ -2027,13 +2193,59 @@ static int node_duplicate_exec(bContext *C, wmOperator *UNUSED(op))
}
/* make sure we don't copy new nodes again! */
- if (node==last)
+ if (node==lastnode)
+ break;
+ }
+
+ /* copy links between selected nodes
+ * NB: this depends on correct node->new_node and sock->new_sock pointers from above copy!
+ */
+ lastlink = ntree->links.last;
+ for (link=ntree->links.first; link; link=link->next) {
+ /* This creates new links between copied nodes.
+ * If keep_inputs is set, also copies input links from unselected (when fromnode==NULL)!
+ */
+ if (link->tonode && (link->tonode->flag & NODE_SELECT)
+ && (keep_inputs || (link->fromnode && (link->fromnode->flag & NODE_SELECT)))) {
+ newlink = MEM_callocN(sizeof(bNodeLink), "bNodeLink");
+ newlink->flag = link->flag;
+ newlink->tonode = link->tonode->new_node;
+ newlink->tosock = link->tosock->new_sock;
+ if (link->fromnode && (link->fromnode->flag & NODE_SELECT)) {
+ newlink->fromnode = link->fromnode->new_node;
+ newlink->fromsock = link->fromsock->new_sock;
+ }
+ else {
+ /* input node not copied, this keeps the original input linked */
+ newlink->fromnode = link->fromnode;
+ newlink->fromsock = link->fromsock;
+ }
+
+ BLI_addtail(&ntree->links, newlink);
+ }
+
+ /* make sure we don't copy new links again! */
+ if (link==lastlink)
+ break;
+ }
+
+ /* deselect old nodes, select the copies instead */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->flag & SELECT) {
+ /* has been set during copy above */
+ newnode = node->new_node;
+
+ node->flag &= ~(NODE_SELECT|NODE_ACTIVE);
+ newnode->flag |= NODE_SELECT;
+ }
+
+ /* make sure we don't copy new nodes again! */
+ if (node==lastnode)
break;
}
- ntreeSolveOrder(ntree);
+ ntreeUpdateTree(snode->edittree);
- node_tree_verify_groups(snode->nodetree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2053,6 +2265,8 @@ void NODE_OT_duplicate(wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ RNA_def_boolean(ot->srna, "keep_inputs", 0, "Keep Inputs", "Keep the input links to duplicated nodes");
}
/* *************************** add link op ******************** */
@@ -2071,9 +2285,9 @@ static void node_remove_extra_links(SpaceNode *snode, bNodeSocket *tsock, bNodeL
if(tlink) {
/* try to move the existing link to the next available socket */
if (tlink->tonode) {
- /* is there a free input socket with same type? */
+ /* is there a free input socket with the target type? */
for(sock= tlink->tonode->inputs.first; sock; sock= sock->next) {
- if(sock->type==tlink->fromsock->type)
+ if(sock->type==tlink->tosock->type)
if(nodeCountSocketLinks(snode->edittree, sock) < sock->limit)
break;
}
@@ -2120,17 +2334,25 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
if( link->tosock!= tsock && (!tnode || (tnode!=node && link->tonode!=tnode)) ) {
link->tonode= tnode;
link->tosock= tsock;
- if (link->prev==NULL && link->next==NULL)
+ if (link->prev==NULL && link->next==NULL) {
BLI_addtail(&snode->edittree->links, link);
- ntreeSolveOrder(snode->edittree); /* for interactive red line warning */
+ }
+
+ snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(snode->edittree);
}
}
}
else {
- BLI_remlink(&snode->edittree->links, link);
- link->prev = link->next = NULL;
- link->tonode= NULL;
- link->tosock= NULL;
+ if (link->tonode || link->tosock) {
+ BLI_remlink(&snode->edittree->links, link);
+ link->prev = link->next = NULL;
+ link->tonode= NULL;
+ link->tosock= NULL;
+
+ snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(snode->edittree);
+ }
}
}
else {
@@ -2140,18 +2362,25 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
if( link->fromsock!= tsock && (!tnode || (tnode!=node && link->fromnode!=tnode)) ) {
link->fromnode= tnode;
link->fromsock= tsock;
- if (link->prev==NULL && link->next==NULL)
+ if (link->prev==NULL && link->next==NULL) {
BLI_addtail(&snode->edittree->links, link);
- ntreeSolveOrder(snode->edittree); /* for interactive red line warning */
+ }
+
+ snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(snode->edittree);
}
}
}
}
else {
- BLI_remlink(&snode->edittree->links, link);
- link->prev = link->next = NULL;
- link->fromnode= NULL;
- link->fromsock= NULL;
+ if (link->tonode || link->tosock) {
+ BLI_remlink(&snode->edittree->links, link);
+ link->prev = link->next = NULL;
+ link->fromnode= NULL;
+ link->fromsock= NULL;
+ snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(snode->edittree);
+ }
}
}
/* hilight target sockets only */
@@ -2169,27 +2398,36 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
/* we might need to remove a link */
if(in_out==SOCK_OUT)
node_remove_extra_links(snode, link->tosock, link);
+
+ /* when linking to group outputs, update the socket type */
+ /* XXX this should all be part of a generic update system */
+ if (!link->tonode) {
+ link->tosock->type = link->fromsock->type;
+ }
}
else if (outside_group_rect(snode) && (link->tonode || link->fromnode)) {
/* automatically add new group socket */
if (link->tonode && link->tosock) {
- link->fromsock = nodeGroupExposeSocket(snode->edittree, link->tosock, SOCK_IN);
+ link->fromsock = node_group_expose_socket(snode->edittree, link->tosock, SOCK_IN);
link->fromnode = NULL;
- if (link->prev==NULL && link->next==NULL)
+ if (link->prev==NULL && link->next==NULL) {
BLI_addtail(&snode->edittree->links, link);
+ }
+ snode->edittree->update |= NTREE_UPDATE_GROUP_IN | NTREE_UPDATE_LINKS;
}
else if (link->fromnode && link->fromsock) {
- link->tosock = nodeGroupExposeSocket(snode->edittree, link->fromsock, SOCK_OUT);
+ link->tosock = node_group_expose_socket(snode->edittree, link->fromsock, SOCK_OUT);
link->tonode = NULL;
- if (link->prev==NULL && link->next==NULL)
+ if (link->prev==NULL && link->next==NULL) {
BLI_addtail(&snode->edittree->links, link);
+ }
+ snode->edittree->update |= NTREE_UPDATE_GROUP_OUT | NTREE_UPDATE_LINKS;
}
}
else
nodeRemLink(snode->edittree, link);
- ntreeSolveOrder(snode->edittree);
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2264,7 +2502,7 @@ static int node_link_invoke(bContext *C, wmOperator *op, wmEvent *event)
ED_preview_kill_jobs(C);
nldrag->in_out= node_link_init(snode, nldrag);
-
+
if(nldrag->in_out) {
op->customdata= nldrag;
@@ -2337,7 +2575,7 @@ static int node_make_link_exec(bContext *C, wmOperator *op)
snode_autoconnect(snode, 1, replace);
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2411,8 +2649,7 @@ static int cut_links_exec(bContext *C, wmOperator *op)
}
}
- ntreeSolveOrder(snode->edittree);
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2445,6 +2682,151 @@ void NODE_OT_links_cut(wmOperatorType *ot)
RNA_def_int(ot->srna, "cursor", BC_KNIFECURSOR, 0, INT_MAX, "Cursor", "", 0, INT_MAX);
}
+/* ********************* automatic node insert on dragging ******************* */
+
+/* assumes sockets in list */
+static bNodeSocket *socket_best_match(ListBase *sockets, int type)
+{
+ bNodeSocket *sock;
+
+ /* first, match type */
+ for(sock= sockets->first; sock; sock= sock->next)
+ if(!(sock->flag & SOCK_HIDDEN))
+ if(type == sock->type)
+ return sock;
+
+ /* then just use first unhidden socket */
+ for(sock= sockets->first; sock; sock= sock->next)
+ if(!(sock->flag & SOCK_HIDDEN))
+ return sock;
+
+ /* OK, let's unhide proper one */
+ for(sock= sockets->first; sock; sock= sock->next) {
+ if(type == sock->type) {
+ sock->flag &= ~SOCK_HIDDEN;
+ return sock;
+ }
+ }
+
+ /* just the first */
+ sock= sockets->first;
+ sock->flag &= ~SOCK_HIDDEN;
+
+ return sockets->first;
+}
+
+/* prevent duplicate testing code below */
+static SpaceNode *ed_node_link_conditions(ScrArea *sa, bNode **select)
+{
+ SpaceNode *snode= sa?sa->spacedata.first:NULL;
+ bNode *node;
+ bNodeLink *link;
+
+ /* no unlucky accidents */
+ if(sa==NULL || sa->spacetype!=SPACE_NODE) return NULL;
+
+ *select= NULL;
+
+ for(node= snode->edittree->nodes.first; node; node= node->next) {
+ if(node->flag & SELECT) {
+ if(*select)
+ break;
+ else
+ *select= node;
+ }
+ }
+ /* only one selected */
+ if(node || *select==NULL) return NULL;
+
+ /* correct node */
+ if((*select)->inputs.first==NULL || (*select)->outputs.first==NULL) return NULL;
+
+ /* test node for links */
+ for(link= snode->edittree->links.first; link; link=link->next) {
+ if(link->tonode == *select || link->fromnode == *select)
+ return NULL;
+ }
+
+ return snode;
+}
+
+/* assumes link with NODE_LINKFLAG_HILITE set */
+void ED_node_link_insert(ScrArea *sa)
+{
+ bNode *node, *select;
+ SpaceNode *snode= ed_node_link_conditions(sa, &select);
+ bNodeLink *link;
+ bNodeSocket *sockto;
+
+ if(snode==NULL) return;
+
+ /* get the link */
+ for(link= snode->edittree->links.first; link; link=link->next)
+ if(link->flag & NODE_LINKFLAG_HILITE)
+ break;
+
+ if(link) {
+ node= link->tonode;
+ sockto= link->tosock;
+
+ link->tonode= select;
+ link->tosock= socket_best_match(&select->inputs, link->fromsock->type);
+ link->flag &= ~NODE_LINKFLAG_HILITE;
+
+ nodeAddLink(snode->edittree, select, socket_best_match(&select->outputs, sockto->type), node, sockto);
+ ntreeUpdateTree(snode->edittree); /* needed for pointers */
+ snode_tag_changed(snode, select);
+ ED_node_changed_update(snode->id, select);
+ }
+}
+
+
+/* test == 0, clear all intersect flags */
+void ED_node_link_intersect_test(ScrArea *sa, int test)
+{
+ bNode *select;
+ SpaceNode *snode= ed_node_link_conditions(sa, &select);
+ bNodeLink *link, *selink=NULL;
+ float mcoords[6][2];
+
+ if(snode==NULL) return;
+
+ /* clear flags */
+ for(link= snode->edittree->links.first; link; link=link->next)
+ link->flag &= ~NODE_LINKFLAG_HILITE;
+
+ if(test==0) return;
+
+ /* okay, there's 1 node, without links, now intersect */
+ mcoords[0][0]= select->totr.xmin;
+ mcoords[0][1]= select->totr.ymin;
+ mcoords[1][0]= select->totr.xmax;
+ mcoords[1][1]= select->totr.ymin;
+ mcoords[2][0]= select->totr.xmax;
+ mcoords[2][1]= select->totr.ymax;
+ mcoords[3][0]= select->totr.xmin;
+ mcoords[3][1]= select->totr.ymax;
+ mcoords[4][0]= select->totr.xmin;
+ mcoords[4][1]= select->totr.ymin;
+ mcoords[5][0]= select->totr.xmax;
+ mcoords[5][1]= select->totr.ymax;
+
+ /* we only tag a single link for intersect now */
+ /* idea; use header dist when more? */
+ for(link= snode->edittree->links.first; link; link=link->next) {
+
+ if(cut_links_intersect(link, mcoords, 5)) { /* intersect code wants edges */
+ if(selink)
+ break;
+ selink= link;
+ }
+ }
+
+ if(link==NULL && selink)
+ selink->flag |= NODE_LINKFLAG_HILITE;
+}
+
+
/* ******************************** */
// XXX some code needing updating to operators...
@@ -2603,14 +2985,14 @@ static int node_group_make_exec(bContext *C, wmOperator *op)
ED_preview_kill_jobs(C);
- gnode= nodeMakeGroupFromSelected(snode->nodetree);
+ gnode= node_group_make_from_selected(snode->nodetree);
if(gnode==NULL) {
BKE_report(op->reports, RPT_WARNING, "Can not make Group");
return OPERATOR_CANCELLED;
}
else {
nodeSetActive(snode->nodetree, gnode);
- ntreeSolveOrder(snode->nodetree);
+ ntreeUpdateTree(snode->nodetree);
}
snode_notify(C, snode);
@@ -2756,7 +3138,7 @@ static int node_socket_toggle_exec(bContext *C, wmOperator *UNUSED(op))
}
}
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
snode_notify(C, snode);
@@ -2793,10 +3175,10 @@ static int node_mute_exec(bContext *C, wmOperator *UNUSED(op))
for(node= snode->edittree->nodes.first; node; node= node->next) {
if(node->flag & SELECT) {
- if(node->inputs.first && node->outputs.first) {
+ /* Be able to mute in-/output nodes as well. - DingTo
+ if(node->inputs.first && node->outputs.first) { */
node->flag ^= NODE_MUTED;
snode_tag_changed(snode, node);
- }
}
}
@@ -2840,7 +3222,7 @@ static int node_delete_exec(bContext *C, wmOperator *UNUSED(op))
}
}
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2863,6 +3245,155 @@ void NODE_OT_delete(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
+/* ****************** Delete with reconnect ******************* */
+static int is_connected_to_input_socket(bNode* node, bNodeLink* link) {
+ bNodeSocket *sock;
+ if (link->tonode == node) {
+ for(sock= node->inputs.first; sock; sock= sock->next) {
+ if (link->tosock == sock) {
+ return sock->type;
+ }
+ }
+ }
+ return -1;
+}
+
+static void node_delete_reconnect(bNodeTree* tree, bNode* node)
+{
+ bNodeLink *link, *next, *first = NULL;
+ bNodeSocket *valsocket= NULL, *colsocket= NULL, *vecsocket= NULL;
+ bNodeSocket *deliveringvalsocket= NULL, *deliveringcolsocket= NULL, *deliveringvecsocket= NULL;
+ bNode *deliveringvalnode= NULL, *deliveringcolnode= NULL, *deliveringvecnode= NULL;
+ bNodeSocket *sock;
+ int type;
+ int numberOfConnectedOutputSockets = 0;
+ int numberOfReconnections = 0;
+ int numberOfConnectedInputSockets = 0;
+
+ /*
+ test the inputs, not really correct when a node has multiple input sockets of the same type
+ the first link evaluated will be used to determine the possible connection.
+ */
+ for(link= tree->links.first; link; link=link->next) {
+ if (link->tonode == node) { numberOfConnectedInputSockets++; }
+ type = is_connected_to_input_socket(node, link);
+ switch (type) {
+ case SOCK_RGBA:
+ if (colsocket == NULL) {
+ colsocket = link->tosock;
+ deliveringcolnode = link->fromnode;
+ deliveringcolsocket = link->fromsock;
+ }
+ break;
+ case SOCK_VECTOR:
+ if (vecsocket == NULL) {
+ vecsocket = link->tosock;
+ deliveringvecnode = link->fromnode;
+ deliveringvecsocket = link->fromsock;
+ }
+ break;
+ case SOCK_FLOAT:
+ if (valsocket == NULL) {
+ valsocket = link->tosock;
+ deliveringvalnode = link->fromnode;
+ deliveringvalsocket = link->fromsock;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ // we now have the sockets+nodes that fill the inputsockets be aware for group nodes these can be NULL
+ // now make the links for all outputlinks of the node to be reconnected
+ for(link= tree->links.first; link; link=next) {
+ next= link->next;
+ if (link->fromnode == node) {
+ sock = link->fromsock;
+ numberOfConnectedOutputSockets ++;
+ if (!first) first = link;
+ switch(sock->type) {
+ case SOCK_FLOAT:
+ if (deliveringvalsocket) {
+ link->fromnode = deliveringvalnode;
+ link->fromsock = deliveringvalsocket;
+ numberOfReconnections++;
+ }
+ break;
+ case SOCK_VECTOR:
+ if (deliveringvecsocket) {
+ link->fromnode = deliveringvecnode;
+ link->fromsock = deliveringvecsocket;
+ numberOfReconnections++;
+ }
+ break;
+ case SOCK_RGBA:
+ if (deliveringcolsocket) {
+ link->fromnode = deliveringcolnode;
+ link->fromsock = deliveringcolsocket;
+ numberOfReconnections++;
+ }
+ break;
+ }
+ }
+ }
+
+ /* when no connections have been made, and if only one delivering input socket type and one output socket we will connect those two */
+ if (numberOfConnectedOutputSockets == 1 && numberOfReconnections == 0 && numberOfConnectedInputSockets == 1) {
+ if (deliveringcolsocket) {
+ first->fromnode = deliveringcolnode;
+ first->fromsock = deliveringcolsocket;
+ } else if (deliveringvecsocket) {
+ first->fromnode = deliveringvecnode;
+ first->fromsock = deliveringvecsocket;
+ } else if (deliveringvalsocket) {
+ first->fromnode = deliveringvalnode;
+ first->fromsock = deliveringvalsocket;
+ }
+ }
+
+ if(node->id)
+ node->id->us--;
+ nodeFreeNode(tree, node);
+}
+
+static int node_delete_reconnect_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceNode *snode= CTX_wm_space_node(C);
+ bNode *node, *next;
+
+ ED_preview_kill_jobs(C);
+
+ for(node= snode->edittree->nodes.first; node; node= next) {
+ next= node->next;
+ if(node->flag & SELECT) {
+ node_delete_reconnect(snode->edittree, node);
+ }
+ }
+
+ ntreeUpdateTree(snode->edittree);
+
+ snode_notify(C, snode);
+ snode_dag_update(C, snode);
+
+ return OPERATOR_FINISHED;
+}
+
+void NODE_OT_delete_reconnect(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Delete with reconnect";
+ ot->description = "Delete nodes; will reconnect nodes as if deletion was muted";
+ ot->idname= "NODE_OT_delete_reconnect";
+
+ /* api callbacks */
+ ot->exec= node_delete_reconnect_exec;
+ ot->poll= ED_operator_node_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
/* ****************** Show Cyclic Dependencies Operator ******************* */
static int node_show_cycles_exec(bContext *C, wmOperator *UNUSED(op))
@@ -2870,7 +3401,7 @@ static int node_show_cycles_exec(bContext *C, wmOperator *UNUSED(op))
SpaceNode *snode= CTX_wm_space_node(C);
/* this is just a wrapper around this call... */
- ntreeSolveOrder(snode->edittree);
+ ntreeUpdateTree(snode->nodetree);
snode_notify(C, snode);
return OPERATOR_FINISHED;
@@ -2895,11 +3426,14 @@ void NODE_OT_show_cyclic_dependencies(wmOperatorType *ot)
static int node_add_file_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
SpaceNode *snode= CTX_wm_space_node(C);
bNode *node;
Image *ima= NULL;
- int ntype=0;
+ bNodeTemplate ntemp;
+
+ ntemp.type = -1;
/* check input variables */
if (RNA_property_is_set(op->ptr, "filepath"))
@@ -2931,11 +3465,14 @@ static int node_add_file_exec(bContext *C, wmOperator *op)
node_deselectall(snode);
if (snode->nodetree->type==NTREE_COMPOSIT)
- ntype = CMP_NODE_IMAGE;
+ ntemp.type = CMP_NODE_IMAGE;
+ if (ntemp.type < 0)
+ return OPERATOR_CANCELLED;
+
ED_preview_kill_jobs(C);
- node = node_add_node(snode, scene, ntype, snode->mx, snode->my);
+ node = node_add_node(snode, bmain, scene, &ntemp, snode->mx, snode->my);
if (!node) {
BKE_report(op->reports, RPT_WARNING, "Could not add an image node.");
@@ -2984,3 +3521,67 @@ void NODE_OT_add_file(wmOperatorType *ot)
RNA_def_string(ot->srna, "name", "Image", 24, "Name", "Datablock name to assign.");
}
+/********************** New node tree operator *********************/
+
+static int new_node_tree_exec(bContext *C, wmOperator *op)
+{
+ SpaceNode *snode;
+ bNodeTree *ntree;
+ PointerRNA ptr, idptr;
+ PropertyRNA *prop;
+ int treetype;
+ char treename[MAX_ID_NAME-2] = "NodeTree";
+
+ /* retrieve state */
+ snode= CTX_wm_space_node(C);
+
+ if (RNA_property_is_set(op->ptr, "type"))
+ treetype = RNA_enum_get(op->ptr, "type");
+ else
+ treetype = snode->treetype;
+
+ if (RNA_property_is_set(op->ptr, "name"))
+ RNA_string_get(op->ptr, "name", treename);
+
+ ntree = ntreeAddTree(treename, treetype, 0);
+ if(!ntree)
+ return OPERATOR_CANCELLED;
+
+ /* hook into UI */
+ uiIDContextProperty(C, &ptr, &prop);
+
+ if(prop) {
+ RNA_id_pointer_create(&ntree->id, &idptr);
+ RNA_property_pointer_set(&ptr, prop, idptr);
+ /* RNA_property_pointer_set increases the user count,
+ * fixed here as the editor is the initial user.
+ */
+ --ntree->id.us;
+ RNA_property_update(C, &ptr, prop);
+ }
+ else if(snode) {
+ Scene *scene= CTX_data_scene(C);
+ snode->nodetree = ntree;
+
+ ED_node_tree_update(snode, scene);
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+void NODE_OT_new_node_tree(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "New node tree";
+ ot->idname= "NODE_OT_new_node_tree";
+
+ /* api callbacks */
+ ot->exec= new_node_tree_exec;
+ ot->poll= ED_operator_node_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ RNA_def_enum(ot->srna, "type", nodetree_type_items, NTREE_COMPOSIT, "Tree Type", "");
+ RNA_def_string(ot->srna, "name", "NodeTree", MAX_ID_NAME-2, "Name", "");
+}
diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c
index a982f4b1994..5c921d40344 100644
--- a/source/blender/editors/space_node/node_header.c
+++ b/source/blender/editors/space_node/node_header.c
@@ -45,25 +45,29 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_global.h"
#include "BKE_screen.h"
#include "BKE_node.h"
#include "BKE_main.h"
+#include "RNA_access.h"
+
#include "WM_api.h"
#include "WM_types.h"
-
#include "UI_interface.h"
-#include "UI_resources.h"
#include "UI_interface_icons.h"
+#include "UI_resources.h"
#include "UI_view2d.h"
#include "node_intern.h"
/* ************************ add menu *********************** */
-static void do_node_add(bContext *C, void *UNUSED(arg), int event)
+static void do_node_add(bContext *C, bNodeTemplate *ntemp)
{
+ Main *bmain= CTX_data_main(C);
+ Scene *scene= CTX_data_scene(C);
SpaceNode *snode= CTX_wm_space_node(C);
ScrArea *sa= CTX_wm_area(C);
ARegion *ar;
@@ -87,15 +91,13 @@ static void do_node_add(bContext *C, void *UNUSED(arg), int event)
else node->flag &= ~NODE_TEST;
}
- node= node_add_node(snode, CTX_data_scene(C), event, snode->mx, snode->my);
+ node= node_add_node(snode, bmain, scene, ntemp, snode->mx, snode->my);
/* select previous selection before autoconnect */
for(node= snode->edittree->nodes.first; node; node= node->next) {
if(node->flag & NODE_TEST) node->flag |= NODE_SELECT;
}
- snode_autoconnect(snode, 1, 0);
-
/* deselect after autoconnection */
for(node= snode->edittree->nodes.first; node; node= node->next) {
if(node->flag & NODE_TEST) node->flag &= ~NODE_SELECT;
@@ -105,69 +107,111 @@ static void do_node_add(bContext *C, void *UNUSED(arg), int event)
snode_dag_update(C, snode);
}
-static void node_auto_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass)
+static void do_node_add_static(bContext *C, void *UNUSED(arg), int event)
+{
+ bNodeTemplate ntemp;
+ ntemp.type = event;
+ do_node_add(C, &ntemp);
+}
+
+static void do_node_add_group(bContext *C, void *UNUSED(arg), int event)
+{
+ SpaceNode *snode= CTX_wm_space_node(C);
+ bNodeTemplate ntemp;
+
+ if (event>=0) {
+ ntemp.ngroup= BLI_findlink(&G.main->nodetree, event);
+ ntemp.type = ntemp.ngroup->nodetype;
+ }
+ else {
+ ntemp.type = -event;
+ switch (ntemp.type) {
+ case NODE_GROUP:
+ ntemp.ngroup = ntreeAddTree("Group", snode->treetype, ntemp.type);
+ break;
+ case NODE_FORLOOP:
+ ntemp.ngroup = ntreeAddTree("For Loop", snode->treetype, ntemp.type);
+ break;
+ case NODE_WHILELOOP:
+ ntemp.ngroup = ntreeAddTree("While Loop", snode->treetype, ntemp.type);
+ break;
+ default:
+ ntemp.ngroup = NULL;
+ }
+ }
+ if (!ntemp.ngroup)
+ return;
+
+ do_node_add(C, &ntemp);
+}
+
+#if 0 /* disabled */
+static void do_node_add_dynamic(bContext *C, void *UNUSED(arg), int event)
+{
+ bNodeTemplate ntemp;
+ ntemp.type = NODE_DYNAMIC;
+ do_node_add(C, &ntemp);
+}
+#endif
+
+static int node_tree_has_type(int treetype, int nodetype)
+{
+ bNodeTreeType *ttype= ntreeGetType(treetype);
+ bNodeType *ntype;
+ for (ntype=ttype->node_types.first; ntype; ntype=ntype->next) {
+ if (ntype->type==nodetype)
+ return 1;
+ }
+ return 0;
+}
+
+static void node_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass)
{
Main *bmain= CTX_data_main(C);
SpaceNode *snode= CTX_wm_space_node(C);
bNodeTree *ntree;
int nodeclass= GET_INT_FROM_POINTER(arg_nodeclass);
- int tot= 0, a;
+ int event;
ntree = snode->nodetree;
-
+
if(!ntree) {
uiItemS(layout);
return;
}
-
- /* mostly taken from toolbox.c, node_add_sublevel() */
- if(nodeclass==NODE_CLASS_GROUP) {
- bNodeTree *ngroup= bmain->nodetree.first;
- for(; ngroup; ngroup= ngroup->id.next)
- if(ngroup->type==ntree->type)
- tot++;
- }
- else {
- bNodeType *type = ntree->alltypes.first;
- while(type) {
- if(type->nclass == nodeclass)
- tot++;
- type= type->next;
- }
- }
- if(tot==0) {
+ if (nodeclass==NODE_CLASS_GROUP) {
+ bNodeTree *ngroup;
+
+ uiLayoutSetFunc(layout, do_node_add_group, NULL);
+
+ /* XXX hack: negative numbers used for empty group types */
+ if (node_tree_has_type(ntree->type, NODE_GROUP))
+ uiItemV(layout, "New Group", 0, -NODE_GROUP);
+ if (node_tree_has_type(ntree->type, NODE_FORLOOP))
+ uiItemV(layout, "New For Loop", 0, -NODE_FORLOOP);
+ if (node_tree_has_type(ntree->type, NODE_WHILELOOP))
+ uiItemV(layout, "New While Loop", 0, -NODE_WHILELOOP);
uiItemS(layout);
- return;
- }
-
- uiLayoutSetFunc(layout, do_node_add, NULL);
-
- if(nodeclass==NODE_CLASS_GROUP) {
- bNodeTree *ngroup= bmain->nodetree.first;
-
- for(tot=0, a=0; ngroup; ngroup= ngroup->id.next, tot++) {
- if(ngroup->type==ntree->type) {
- uiItemV(layout, ngroup->id.name+2, ICON_NONE, NODE_GROUP_MENU+tot);
- a++;
+
+ for(ngroup=bmain->nodetree.first, event=0; ngroup; ngroup= ngroup->id.next, ++event) {
+ /* only use group trees */
+ if (ngroup->type==ntree->type && ELEM3(ngroup->nodetype, NODE_GROUP, NODE_FORLOOP, NODE_WHILELOOP)) {
+ uiItemV(layout, ngroup->id.name+2, 0, event);
}
}
}
+ else if (nodeclass==NODE_DYNAMIC) {
+ /* disabled */
+ }
else {
- bNodeType *type;
- int script=0;
-
- for(a=0, type= ntree->alltypes.first; type; type=type->next) {
- if(type->nclass == nodeclass && type->name) {
- if(type->type == NODE_DYNAMIC) {
- uiItemV(layout, type->name, ICON_NONE, NODE_DYNAMIC_MENU+script);
- script++;
- }
- else
- uiItemV(layout, type->name, ICON_NONE, type->type);
-
- a++;
- }
+ bNodeType *ntype;
+
+ uiLayoutSetFunc(layout, do_node_add_static, NULL);
+
+ for (ntype=ntreeGetType(ntree->type)->node_types.first; ntype; ntype=ntype->next) {
+ if(ntype->nclass==nodeclass && ntype->name)
+ uiItemV(layout, ntype->name, 0, ntype->type);
}
}
}
@@ -181,34 +225,34 @@ static void node_menu_add(const bContext *C, Menu *menu)
uiLayoutSetActive(layout, 0);
if(snode->treetype==NTREE_SHADER) {
- uiItemMenuF(layout, "Input", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
- uiItemMenuF(layout, "Output", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
- uiItemMenuF(layout, "Color", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
- uiItemMenuF(layout, "Vector", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
- uiItemMenuF(layout, "Convertor", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
- uiItemMenuF(layout, "Group", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
- uiItemMenuF(layout, "Dynamic", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_DYNAMIC));
+ uiItemMenuF(layout, "Input", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
+ uiItemMenuF(layout, "Output", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
+ uiItemMenuF(layout, "Color", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
+ uiItemMenuF(layout, "Vector", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
+ uiItemMenuF(layout, "Convertor", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
+ uiItemMenuF(layout, "Group", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
+ uiItemMenuF(layout, "Dynamic", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_DYNAMIC));
}
else if(snode->treetype==NTREE_COMPOSIT) {
- uiItemMenuF(layout, "Input", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
- uiItemMenuF(layout, "Output", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
- uiItemMenuF(layout, "Color", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
- uiItemMenuF(layout, "Vector", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
- uiItemMenuF(layout, "Filter", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_FILTER));
- uiItemMenuF(layout, "Convertor", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
- uiItemMenuF(layout, "Matte", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_MATTE));
- uiItemMenuF(layout, "Distort", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
- uiItemMenuF(layout, "Group", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
+ uiItemMenuF(layout, "Input", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
+ uiItemMenuF(layout, "Output", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
+ uiItemMenuF(layout, "Color", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
+ uiItemMenuF(layout, "Vector", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
+ uiItemMenuF(layout, "Filter", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_FILTER));
+ uiItemMenuF(layout, "Convertor", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
+ uiItemMenuF(layout, "Matte", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_MATTE));
+ uiItemMenuF(layout, "Distort", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
+ uiItemMenuF(layout, "Group", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
}
else if(snode->treetype==NTREE_TEXTURE) {
- uiItemMenuF(layout, "Input", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
- uiItemMenuF(layout, "Output", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
- uiItemMenuF(layout, "Color", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
- uiItemMenuF(layout, "Patterns", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_PATTERN));
- uiItemMenuF(layout, "Textures", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE));
- uiItemMenuF(layout, "Convertor", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
- uiItemMenuF(layout, "Distort", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
- uiItemMenuF(layout, "Group", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
+ uiItemMenuF(layout, "Input", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
+ uiItemMenuF(layout, "Output", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
+ uiItemMenuF(layout, "Color", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
+ uiItemMenuF(layout, "Patterns", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_PATTERN));
+ uiItemMenuF(layout, "Textures", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE));
+ uiItemMenuF(layout, "Convertor", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
+ uiItemMenuF(layout, "Distort", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
+ uiItemMenuF(layout, "Group", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
}
}
diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h
index fcf1c182600..3751d8efae8 100644
--- a/source/blender/editors/space_node/node_intern.h
+++ b/source/blender/editors/space_node/node_intern.h
@@ -33,6 +33,8 @@
#ifndef ED_NODE_INTERN_H
#define ED_NODE_INTERN_H
+#include "UI_interface.h"
+
/* internal exports only */
struct ARegion;
@@ -40,9 +42,11 @@ struct ARegionType;
struct View2D;
struct bContext;
struct wmWindowManager;
+struct bNodeTemplate;
struct bNode;
struct bNodeSocket;
struct bNodeLink;
+struct Main;
/* temp data to pass on to modal */
typedef struct bNodeLinkDrag
@@ -63,6 +67,11 @@ void node_header_buttons(const bContext *C, ARegion *ar);
void node_menus_register(void);
/* node_draw.c */
+void node_socket_circle_draw(struct bNodeTree *ntree, struct bNodeSocket *sock, float size);
+void node_draw_default(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *node);
+void node_update_default(const struct bContext *C, struct bNodeTree *ntree, struct bNode *node);
+void node_update_nodetree(const struct bContext *C, struct bNodeTree *ntree, float offsetx, float offsety);
+void node_draw_nodetree(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree);
void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d);
/* node_buttons.c */
@@ -89,6 +98,7 @@ void NODE_OT_select_same_type_prev(wmOperatorType *ot);
void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link);
void node_draw_link_bezier(View2D *v2d, SpaceNode *snode, bNodeLink *link, int th_col1, int do_shaded, int th_col2, int do_triple, int th_col3 );
int node_link_bezier_points(View2D *v2d, SpaceNode *snode, bNodeLink *link, float coord_array[][2], int resol);
+void node_draw_link_straight(View2D *v2d, SpaceNode *snode, bNodeLink *link, int th_col1, int do_shaded, int th_col2, int do_triple, int th_col3 );
void draw_nodespace_back_pix(ARegion *ar, SpaceNode *snode, int color_manage);
void draw_nodespace_color_info(struct ARegion *ar, int color_manage, int channels, int x, int y, char *cp, float *fp);
@@ -96,11 +106,10 @@ void draw_nodespace_color_info(struct ARegion *ar, int color_manage, int channel
void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *treetype);
void snode_notify(bContext *C, SpaceNode *snode);
void snode_dag_update(bContext *C, SpaceNode *snode);
-bNode *next_node(bNodeTree *ntree);
-bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy);
+bNode *node_add_node(struct SpaceNode *snode, struct Main *bmain, struct Scene *scene, struct bNodeTemplate *ntemp, float locx, float locy);
void snode_set_context(SpaceNode *snode, Scene *scene);
void snode_make_group_editable(SpaceNode *snode, bNode *gnode);
-void node_set_active(SpaceNode *snode, bNode *node);
+void node_sort(struct bNodeTree *ntree);
void node_deselectall(SpaceNode *snode);
int node_select_same_type(SpaceNode *snode);
int node_select_same_type_np(SpaceNode *snode, int dir);
@@ -114,6 +123,7 @@ int node_render_changed_exec(bContext *, wmOperator *);
void NODE_OT_duplicate(struct wmOperatorType *ot);
void NODE_OT_delete(struct wmOperatorType *ot);
+void NODE_OT_delete_reconnect(struct wmOperatorType *ot);
void NODE_OT_resize(struct wmOperatorType *ot);
void NODE_OT_link(struct wmOperatorType *ot);
@@ -145,6 +155,8 @@ void NODE_OT_backimage_sample(wmOperatorType *ot);
void NODE_OT_add_file(struct wmOperatorType *ot);
+void NODE_OT_new_node_tree(struct wmOperatorType *ot);
+
extern const char *node_context_dir[];
// XXXXXX
@@ -152,8 +164,8 @@ extern const char *node_context_dir[];
// XXX from BSE_node.h
#define HIDDEN_RAD 15.0f
#define BASIS_RAD 8.0f
-#define NODE_DYS 10
-#define NODE_DY 20
+#define NODE_DYS (U.widget_unit/2)
+#define NODE_DY U.widget_unit
#define NODE_SOCKSIZE 5
// XXX button events (butspace)
diff --git a/source/blender/editors/space_node/node_ops.c b/source/blender/editors/space_node/node_ops.c
index 11e7949791d..153d703ddf6 100644
--- a/source/blender/editors/space_node/node_ops.c
+++ b/source/blender/editors/space_node/node_ops.c
@@ -70,12 +70,13 @@ void node_operatortypes(void)
WM_operatortype_append(NODE_OT_duplicate);
WM_operatortype_append(NODE_OT_delete);
+ WM_operatortype_append(NODE_OT_delete_reconnect);
WM_operatortype_append(NODE_OT_resize);
WM_operatortype_append(NODE_OT_link);
WM_operatortype_append(NODE_OT_link_make);
WM_operatortype_append(NODE_OT_links_cut);
-
+
WM_operatortype_append(NODE_OT_group_make);
WM_operatortype_append(NODE_OT_group_ungroup);
WM_operatortype_append(NODE_OT_group_edit);
@@ -95,21 +96,29 @@ void node_operatortypes(void)
WM_operatortype_append(NODE_OT_backimage_sample);
WM_operatortype_append(NODE_OT_add_file);
+
+ WM_operatortype_append(NODE_OT_new_node_tree);
}
void ED_operatormacros_node(void)
{
wmOperatorType *ot;
+ wmOperatorTypeMacro *mot;
ot= WM_operatortype_append_macro("NODE_OT_duplicate_move", "Duplicate", OPTYPE_UNDO|OPTYPE_REGISTER);
WM_operatortype_macro_define(ot, "NODE_OT_duplicate");
WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
+ /* modified operator call for duplicating with input links */
+ ot= WM_operatortype_append_macro("NODE_OT_duplicate_move_keep_inputs", "Duplicate", OPTYPE_UNDO|OPTYPE_REGISTER);
+ mot = WM_operatortype_macro_define(ot, "NODE_OT_duplicate");
+ RNA_boolean_set(mot->ptr, "keep_inputs", 1);
+ WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
+
ot= WM_operatortype_append_macro("NODE_OT_select_link_viewer", "Link Viewer", OPTYPE_UNDO);
WM_operatortype_macro_define(ot, "NODE_OT_select");
WM_operatortype_macro_define(ot, "NODE_OT_link_viewer");
-
-}
+ }
void node_keymap(struct wmKeyConfig *keyconf)
{
@@ -155,6 +164,8 @@ void node_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_menu(keymap, "NODE_MT_add", AKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "NODE_OT_duplicate_move", DKEY, KM_PRESS, KM_SHIFT, 0);
+ /* modified operator call for duplicating with input links */
+ WM_keymap_add_item(keymap, "NODE_OT_duplicate_move_keep_inputs", DKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
WM_keymap_add_item(keymap, "NODE_OT_hide_toggle", HKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "NODE_OT_mute_toggle", MKEY, KM_PRESS, 0, 0);
@@ -167,6 +178,7 @@ void node_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "NODE_OT_select_border", BKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "NODE_OT_delete", XKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "NODE_OT_delete", DELKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "NODE_OT_delete_reconnect", XKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "NODE_OT_select_all", AKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "NODE_OT_select_linked_to", LKEY, KM_PRESS, KM_SHIFT, 0);
@@ -183,6 +195,5 @@ void node_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "NODE_OT_read_fullsamplelayers", RKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "NODE_OT_render_changed", ZKEY, KM_PRESS, 0, 0);
-
transform_keymap_for_space(keyconf, keymap, SPACE_NODE);
}
diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c
index 1abcaccc939..3d8b1676ea5 100644
--- a/source/blender/editors/space_node/node_select.c
+++ b/source/blender/editors/space_node/node_select.c
@@ -37,10 +37,12 @@
#include "DNA_scene_types.h"
#include "BKE_context.h"
+#include "BKE_main.h"
#include "BLI_rect.h"
#include "BLI_utildefines.h"
+#include "ED_node.h"
#include "ED_screen.h"
#include "ED_types.h"
@@ -60,7 +62,7 @@ static bNode *node_under_mouse(bNodeTree *ntree, int mx, int my)
{
bNode *node;
- for(next_node(ntree); (node=next_node(NULL));) {
+ for(node=ntree->nodes.last; node; node=node->prev) {
/* node body (header and scale are in other operators) */
if (BLI_in_rctf(&node->totr, mx, my))
return node;
@@ -70,7 +72,7 @@ static bNode *node_under_mouse(bNodeTree *ntree, int mx, int my)
/* ****** Click Select ****** */
-static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2], short extend)
+static bNode *node_mouse_select(Main *bmain, SpaceNode *snode, ARegion *ar, const int mval[2], short extend)
{
bNode *node;
float mx, my;
@@ -91,8 +93,10 @@ static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2]
}
else
node->flag ^= SELECT;
-
- node_set_active(snode, node);
+
+ ED_node_set_active(bmain, snode->edittree, node);
+
+ node_sort(snode->edittree);
}
return node;
@@ -100,6 +104,7 @@ static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2]
static int node_select_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
SpaceNode *snode= CTX_wm_space_node(C);
ARegion *ar= CTX_wm_region(C);
int mval[2];
@@ -113,7 +118,7 @@ static int node_select_exec(bContext *C, wmOperator *op)
extend = RNA_boolean_get(op->ptr, "extend");
/* perform the select */
- node= node_mouse_select(snode, ar, mval, extend);
+ node= node_mouse_select(bmain, snode, ar, mval, extend);
/* send notifiers */
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
@@ -179,6 +184,8 @@ static int node_borderselect_exec(bContext *C, wmOperator *op)
}
}
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
@@ -249,6 +256,8 @@ static int node_select_all_exec(bContext *C, wmOperator *UNUSED(op))
node->flag |= NODE_SELECT;
}
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
}
@@ -289,6 +298,8 @@ static int node_select_linked_to_exec(bContext *C, wmOperator *UNUSED(op))
node->flag |= NODE_SELECT;
}
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
}
@@ -329,6 +340,8 @@ static int node_select_linked_from_exec(bContext *C, wmOperator *UNUSED(op))
node->flag |= NODE_SELECT;
}
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
}
@@ -355,6 +368,9 @@ static int node_select_same_type_exec(bContext *C, wmOperator *UNUSED(op))
SpaceNode *snode = CTX_wm_space_node(C);
node_select_same_type(snode);
+
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
}
@@ -381,7 +397,11 @@ static int node_select_same_type_next_exec(bContext *C, wmOperator *UNUSED(op))
SpaceNode *snode = CTX_wm_space_node(C);
node_select_same_type_np(snode, 0);
+
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
+
return OPERATOR_FINISHED;
}
@@ -405,6 +425,9 @@ static int node_select_same_type_prev_exec(bContext *C, wmOperator *UNUSED(op))
SpaceNode *snode = CTX_wm_space_node(C);
node_select_same_type_np(snode, 1);
+
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/space_node/node_state.c b/source/blender/editors/space_node/node_state.c
index 601ffbd313d..c4567bea648 100644
--- a/source/blender/editors/space_node/node_state.c
+++ b/source/blender/editors/space_node/node_state.c
@@ -69,30 +69,14 @@ void node_set_hidden_sockets(SpaceNode *snode, bNode *node, int set)
sock->flag &= ~SOCK_HIDDEN;
}
else {
- bNode *gnode= node_tree_get_editgroup(snode->nodetree);
-
- /* hiding inside group should not break links in other group users */
- if(gnode) {
- nodeGroupSocketUseFlags((bNodeTree *)gnode->id);
- for(sock= node->inputs.first; sock; sock= sock->next)
- if(!(sock->flag & SOCK_IN_USE))
- if(sock->link==NULL)
- sock->flag |= SOCK_HIDDEN;
- for(sock= node->outputs.first; sock; sock= sock->next)
- if(!(sock->flag & SOCK_IN_USE))
- if(nodeCountSocketLinks(snode->edittree, sock)==0)
- sock->flag |= SOCK_HIDDEN;
+ /* hide unused sockets */
+ for(sock= node->inputs.first; sock; sock= sock->next) {
+ if(sock->link==NULL)
+ sock->flag |= SOCK_HIDDEN;
}
- else {
- /* hide unused sockets */
- for(sock= node->inputs.first; sock; sock= sock->next) {
- if(sock->link==NULL)
- sock->flag |= SOCK_HIDDEN;
- }
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if(nodeCountSocketLinks(snode->edittree, sock)==0)
- sock->flag |= SOCK_HIDDEN;
- }
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ if(nodeCountSocketLinks(snode->edittree, sock)==0)
+ sock->flag |= SOCK_HIDDEN;
}
}
}
@@ -100,7 +84,7 @@ void node_set_hidden_sockets(SpaceNode *snode, bNode *node, int set)
static void node_hide_unhide_sockets(SpaceNode *snode, bNode *node)
{
node_set_hidden_sockets(snode, node, !node_has_hidden_sockets(node));
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
}
static int do_header_node(SpaceNode *snode, bNode *node, float mx, float my)
@@ -168,7 +152,7 @@ static int node_toggle_visibility(SpaceNode *snode, ARegion *ar, const int mval[
UI_view2d_region_to_view(&ar->v2d, mval[0], mval[1], &mx, &my);
- for(next_node(snode->edittree); (node=next_node(NULL));) {
+ for(node=snode->edittree->nodes.last; node; node=node->prev) {
if(node->flag & NODE_HIDDEN) {
if(do_header_hidden_node(node, mx, my)) {
ED_region_tag_redraw(ar);
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c
index 29316c5645a..0990afa4fe6 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -200,6 +200,9 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
ED_area_tag_refresh(sa);
else if(wmn->data==ND_SHADING_DRAW)
ED_area_tag_refresh(sa);
+ else if(wmn->action==NA_ADDED && snode->edittree)
+ nodeSetActiveID(snode->edittree, ID_MA, wmn->reference);
+
}
break;
case NC_TEXTURE:
@@ -225,6 +228,13 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
else if (wmn->action == NA_SELECTED)
ED_area_tag_redraw(sa);
break;
+ case NC_SCREEN:
+ switch(wmn->data) {
+ case ND_ANIMPLAY:
+ ED_area_tag_refresh(sa);
+ break;
+ }
+ break;
case NC_IMAGE:
if (wmn->action == NA_EDITED) {
@@ -429,14 +439,30 @@ static int node_context(const bContext *C, const char *member, bContextDataResul
else if(CTX_data_equals(member, "selected_nodes")) {
bNode *node;
- for(next_node(snode->edittree); (node=next_node(NULL));) {
- if(node->flag & NODE_SELECT) {
- CTX_data_list_add(result, &snode->edittree->id, &RNA_Node, node);
+ if(snode->edittree) {
+ for(node=snode->edittree->nodes.last; node; node=node->prev) {
+ if(node->flag & NODE_SELECT) {
+ CTX_data_list_add(result, &snode->edittree->id, &RNA_Node, node);
+ }
}
}
CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION);
return 1;
}
+ else if(CTX_data_equals(member, "active_node")) {
+ bNode *node;
+
+ if(snode->edittree) {
+ for(node=snode->edittree->nodes.last; node; node=node->prev) {
+ if(node->flag & NODE_ACTIVE) {
+ CTX_data_pointer_set(result, &snode->edittree->id, &RNA_Node, node);
+ break;
+ }
+ }
+ }
+ CTX_data_type_set(result, CTX_DATA_TYPE_POINTER);
+ return 1;
+ }
return 0;
}
diff --git a/source/blender/editors/space_outliner/CMakeLists.txt b/source/blender/editors/space_outliner/CMakeLists.txt
index c05350c256f..d969a80a678 100644
--- a/source/blender/editors/space_outliner/CMakeLists.txt
+++ b/source/blender/editors/space_outliner/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
@@ -37,8 +37,12 @@ set(INC_SYS
)
set(SRC
- outliner.c
+ outliner_draw.c
+ outliner_edit.c
outliner_ops.c
+ outliner_select.c
+ outliner_tools.c
+ outliner_tree.c
space_outliner.c
outliner_intern.h
diff --git a/source/blender/editors/space_outliner/outliner.c b/source/blender/editors/space_outliner/outliner.c
deleted file mode 100644
index 43e46d485ee..00000000000
--- a/source/blender/editors/space_outliner/outliner.c
+++ /dev/null
@@ -1,5787 +0,0 @@
-/*
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2004 Blender Foundation.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/editors/space_outliner/outliner.c
- * \ingroup spoutliner
- */
-
-
-#include <math.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stddef.h>
-
-#include "MEM_guardedalloc.h"
-
-#include "DNA_anim_types.h"
-#include "DNA_armature_types.h"
-#include "DNA_constraint_types.h"
-#include "DNA_camera_types.h"
-#include "DNA_group_types.h"
-#include "DNA_key_types.h"
-#include "DNA_lamp_types.h"
-#include "DNA_material_types.h"
-#include "DNA_mesh_types.h"
-#include "DNA_meta_types.h"
-#include "DNA_particle_types.h"
-#include "DNA_scene_types.h"
-#include "DNA_world_types.h"
-#include "DNA_sequence_types.h"
-#include "DNA_object_types.h"
-
-#include "BLI_blenlib.h"
-#include "BLI_utildefines.h"
-
-#if defined WIN32 && !defined _LIBC
-# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
-#else
-# ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-# endif
-# include <fnmatch.h>
-#endif
-
-
-#include "BKE_animsys.h"
-#include "BKE_context.h"
-#include "BKE_deform.h"
-#include "BKE_depsgraph.h"
-#include "BKE_fcurve.h"
-#include "BKE_global.h"
-#include "BKE_group.h"
-#include "BKE_library.h"
-#include "BKE_main.h"
-#include "BKE_modifier.h"
-#include "BKE_report.h"
-#include "BKE_scene.h"
-#include "BKE_sequencer.h"
-
-#include "ED_armature.h"
-#include "ED_object.h"
-#include "ED_screen.h"
-#include "ED_util.h"
-
-#include "WM_api.h"
-#include "WM_types.h"
-
-#include "BIF_gl.h"
-#include "BIF_glutil.h"
-
-#include "UI_interface.h"
-#include "UI_interface_icons.h"
-#include "UI_resources.h"
-#include "UI_view2d.h"
-
-#include "RNA_access.h"
-#include "RNA_define.h"
-
-#include "ED_keyframing.h"
-
-#include "outliner_intern.h"
-
-
-#define OL_Y_OFFSET 2
-
-#define OL_TOG_RESTRICT_VIEWX (UI_UNIT_X*3)
-#define OL_TOG_RESTRICT_SELECTX (UI_UNIT_X*2)
-#define OL_TOG_RESTRICT_RENDERX UI_UNIT_X
-
-#define OL_TOGW OL_TOG_RESTRICT_VIEWX
-
-#define OL_RNA_COLX (UI_UNIT_X*15)
-#define OL_RNA_COL_SIZEX (UI_UNIT_X*7.5)
-#define OL_RNA_COL_SPACEX (UI_UNIT_X*2.5)
-
-#define TS_CHUNK 128
-
-#define TREESTORE(a) ((a)?soops->treestore->data+(a)->store_index:NULL)
-
-/* ************* XXX **************** */
-
-static void error(const char *UNUSED(arg), ...) {}
-
-/* ********************************** */
-
-
-/* ******************** PROTOTYPES ***************** */
-static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty);
-static void outliner_do_object_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb,
- void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *));
-
-static int group_select_flag(Group *gr);
-
-/* ******************** PERSISTANT DATA ***************** */
-
-static void outliner_storage_cleanup(SpaceOops *soops)
-{
- TreeStore *ts= soops->treestore;
-
- if(ts) {
- TreeStoreElem *tselem;
- int a, unused= 0;
-
- /* each element used once, for ID blocks with more users to have each a treestore */
- for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) tselem->used= 0;
-
- /* cleanup only after reading file or undo step, and always for
- * RNA datablocks view in order to save memory */
- if(soops->storeflag & SO_TREESTORE_CLEANUP) {
-
- for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
- if(tselem->id==NULL) unused++;
- }
-
- if(unused) {
- if(ts->usedelem == unused) {
- MEM_freeN(ts->data);
- ts->data= NULL;
- ts->usedelem= ts->totelem= 0;
- }
- else {
- TreeStoreElem *tsnewar, *tsnew;
-
- tsnew=tsnewar= MEM_mallocN((ts->usedelem-unused)*sizeof(TreeStoreElem), "new tselem");
- for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
- if(tselem->id) {
- *tsnew= *tselem;
- tsnew++;
- }
- }
- MEM_freeN(ts->data);
- ts->data= tsnewar;
- ts->usedelem-= unused;
- ts->totelem= ts->usedelem;
- }
- }
- }
- }
-}
-
-static void check_persistant(SpaceOops *soops, TreeElement *te, ID *id, short type, short nr)
-{
- TreeStore *ts;
- TreeStoreElem *tselem;
- int a;
-
- /* case 1; no TreeStore */
- if(soops->treestore==NULL) {
- soops->treestore= MEM_callocN(sizeof(TreeStore), "treestore");
- }
- ts= soops->treestore;
-
- /* check if 'te' is in treestore */
- tselem= ts->data;
- for(a=0; a<ts->usedelem; a++, tselem++) {
- if(tselem->id==id && tselem->used==0) {
- if((type==0 && tselem->type==0) ||(tselem->type==type && tselem->nr==nr)) {
- te->store_index= a;
- tselem->used= 1;
- return;
- }
- }
- }
-
- /* add 1 element to treestore */
- if(ts->usedelem==ts->totelem) {
- TreeStoreElem *tsnew;
-
- tsnew= MEM_mallocN((ts->totelem+TS_CHUNK)*sizeof(TreeStoreElem), "treestore data");
- if(ts->data) {
- memcpy(tsnew, ts->data, ts->totelem*sizeof(TreeStoreElem));
- MEM_freeN(ts->data);
- }
- ts->data= tsnew;
- ts->totelem+= TS_CHUNK;
- }
-
- tselem= ts->data+ts->usedelem;
-
- tselem->type= type;
- if(type) tselem->nr= nr; // we're picky! :)
- else tselem->nr= 0;
- tselem->id= id;
- tselem->used = 0;
- tselem->flag= TSE_CLOSED;
- te->store_index= ts->usedelem;
-
- ts->usedelem++;
-}
-
-/* ******************** TREE MANAGEMENT ****************** */
-
-void outliner_free_tree(ListBase *lb)
-{
-
- while(lb->first) {
- TreeElement *te= lb->first;
-
- outliner_free_tree(&te->subtree);
- BLI_remlink(lb, te);
-
- if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
- MEM_freeN(te);
- }
-}
-
-static void outliner_height(SpaceOops *soops, ListBase *lb, int *h)
-{
- TreeElement *te= lb->first;
- while(te) {
- TreeStoreElem *tselem= TREESTORE(te);
- if((tselem->flag & TSE_CLOSED)==0)
- outliner_height(soops, &te->subtree, h);
- (*h) += UI_UNIT_Y;
- te= te->next;
- }
-}
-
-#if 0 // XXX this is currently disabled until te->xend is set correctly
-static void outliner_width(SpaceOops *soops, ListBase *lb, int *w)
-{
- TreeElement *te= lb->first;
- while(te) {
-// TreeStoreElem *tselem= TREESTORE(te);
-
- // XXX fixme... te->xend is not set yet
- if(tselem->flag & TSE_CLOSED) {
- if (te->xend > *w)
- *w = te->xend;
- }
- outliner_width(soops, &te->subtree, w);
- te= te->next;
- }
-}
-#endif
-
-static void outliner_rna_width(SpaceOops *soops, ListBase *lb, int *w, int startx)
-{
- TreeElement *te= lb->first;
- while(te) {
- TreeStoreElem *tselem= TREESTORE(te);
- // XXX fixme... (currently, we're using a fixed length of 100)!
- /*if(te->xend) {
- if(te->xend > *w)
- *w = te->xend;
- }*/
- if(startx+100 > *w)
- *w = startx+100;
-
- if((tselem->flag & TSE_CLOSED)==0)
- outliner_rna_width(soops, &te->subtree, w, startx+UI_UNIT_X);
- te= te->next;
- }
-}
-
-static TreeElement *outliner_find_tree_element(ListBase *lb, int store_index)
-{
- TreeElement *te= lb->first, *tes;
- while(te) {
- if(te->store_index==store_index) return te;
- tes= outliner_find_tree_element(&te->subtree, store_index);
- if(tes) return tes;
- te= te->next;
- }
- return NULL;
-}
-
-
-
-static ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode)
-{
- TreeStoreElem *tselem;
- te= te->parent;
-
- while(te) {
- tselem= TREESTORE(te);
- if(tselem->type==0 && te->idcode==idcode) return tselem->id;
- te= te->parent;
- }
- return NULL;
-}
-
-struct treesort {
- TreeElement *te;
- ID *id;
- const char *name;
- short idcode;
-};
-
-static int treesort_alpha(const void *v1, const void *v2)
-{
- const struct treesort *x1= v1, *x2= v2;
- int comp;
-
- /* first put objects last (hierarchy) */
- comp= (x1->idcode==ID_OB);
- if(x2->idcode==ID_OB) comp+=2;
-
- if(comp==1) return 1;
- else if(comp==2) return -1;
- else if(comp==3) {
- comp= strcmp(x1->name, x2->name);
-
- if( comp>0 ) return 1;
- else if( comp<0) return -1;
- return 0;
- }
- return 0;
-}
-
-/* this is nice option for later? doesnt look too useful... */
-#if 0
-static int treesort_obtype_alpha(const void *v1, const void *v2)
-{
- const struct treesort *x1= v1, *x2= v2;
-
- /* first put objects last (hierarchy) */
- if(x1->idcode==ID_OB && x2->idcode!=ID_OB) return 1;
- else if(x2->idcode==ID_OB && x1->idcode!=ID_OB) return -1;
- else {
- /* 2nd we check ob type */
- if(x1->idcode==ID_OB && x2->idcode==ID_OB) {
- if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return 1;
- else if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return -1;
- else return 0;
- }
- else {
- int comp= strcmp(x1->name, x2->name);
-
- if( comp>0 ) return 1;
- else if( comp<0) return -1;
- return 0;
- }
- }
-}
-#endif
-
-/* sort happens on each subtree individual */
-static void outliner_sort(SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- int totelem=0;
-
- te= lb->last;
- if(te==NULL) return;
- tselem= TREESTORE(te);
-
- /* sorting rules; only object lists or deformgroups */
- if( (tselem->type==TSE_DEFGROUP) || (tselem->type==0 && te->idcode==ID_OB)) {
-
- /* count first */
- for(te= lb->first; te; te= te->next) totelem++;
-
- if(totelem>1) {
- struct treesort *tear= MEM_mallocN(totelem*sizeof(struct treesort), "tree sort array");
- struct treesort *tp=tear;
- int skip= 0;
-
- for(te= lb->first; te; te= te->next, tp++) {
- tselem= TREESTORE(te);
- tp->te= te;
- tp->name= te->name;
- tp->idcode= te->idcode;
- if(tselem->type && tselem->type!=TSE_DEFGROUP) tp->idcode= 0; // dont sort this
- tp->id= tselem->id;
- }
- /* keep beginning of list */
- for(tp= tear, skip=0; skip<totelem; skip++, tp++)
- if(tp->idcode) break;
-
- if(skip<totelem)
- qsort(tear+skip, totelem-skip, sizeof(struct treesort), treesort_alpha);
-
- lb->first=lb->last= NULL;
- tp= tear;
- while(totelem--) {
- BLI_addtail(lb, tp->te);
- tp++;
- }
- MEM_freeN(tear);
- }
- }
-
- for(te= lb->first; te; te= te->next) {
- outliner_sort(soops, &te->subtree);
- }
-}
-
-/* Prototype, see functions below */
-static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv,
- TreeElement *parent, short type, short index);
-
-#define LOG2I(x) (int)(log(x)/log(2.0))
-
-static void outliner_add_passes(SpaceOops *soops, TreeElement *tenla, ID *id, SceneRenderLayer *srl)
-{
- TreeStoreElem *tselem = NULL;
- TreeElement *te = NULL;
-
- /* log stuff is to convert bitflags (powers of 2) to small integers,
- * in order to not overflow short tselem->nr */
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_COMBINED));
- te->name= "Combined";
- te->directdata= &srl->passflag;
-
- /* save cpu cycles, but we add the first to invoke an open/close triangle */
- tselem = TREESTORE(tenla);
- if(tselem->flag & TSE_CLOSED)
- return;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_Z));
- te->name= "Z";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_VECTOR));
- te->name= "Vector";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_NORMAL));
- te->name= "Normal";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_UV));
- te->name= "UV";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_MIST));
- te->name= "Mist";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXOB));
- te->name= "Index Object";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_RGBA));
- te->name= "Color";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_DIFFUSE));
- te->name= "Diffuse";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SPEC));
- te->name= "Specular";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SHADOW));
- te->name= "Shadow";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_AO));
- te->name= "AO";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFLECT));
- te->name= "Reflection";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFRACT));
- te->name= "Refraction";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDIRECT));
- te->name= "Indirect";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_ENVIRONMENT));
- te->name= "Environment";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_EMIT));
- te->name= "Emit";
- te->directdata= &srl->passflag;
-}
-
-#undef LOG2I
-
-/* special handling of hierarchical non-lib data */
-static void outliner_add_bone(SpaceOops *soops, ListBase *lb, ID *id, Bone *curBone,
- TreeElement *parent, int *a)
-{
- TreeElement *te= outliner_add_element(soops, lb, id, parent, TSE_BONE, *a);
-
- (*a)++;
- te->name= curBone->name;
- te->directdata= curBone;
-
- for(curBone= curBone->childbase.first; curBone; curBone=curBone->next) {
- outliner_add_bone(soops, &te->subtree, id, curBone, te, a);
- }
-}
-
-static void outliner_add_scene_contents(SpaceOops *soops, ListBase *lb, Scene *sce, TreeElement *te)
-{
- SceneRenderLayer *srl;
- TreeElement *tenla= outliner_add_element(soops, lb, sce, te, TSE_R_LAYER_BASE, 0);
- int a;
-
- tenla->name= "RenderLayers";
- for(a=0, srl= sce->r.layers.first; srl; srl= srl->next, a++) {
- TreeElement *tenlay= outliner_add_element(soops, &tenla->subtree, sce, te, TSE_R_LAYER, a);
- tenlay->name= srl->name;
- tenlay->directdata= &srl->passflag;
-
- if(srl->light_override)
- outliner_add_element(soops, &tenlay->subtree, srl->light_override, tenlay, TSE_LINKED_LAMP, 0);
- if(srl->mat_override)
- outliner_add_element(soops, &tenlay->subtree, srl->mat_override, tenlay, TSE_LINKED_MAT, 0);
-
- outliner_add_passes(soops, tenlay, &sce->id, srl);
- }
-
- outliner_add_element(soops, lb, sce->world, te, 0, 0);
-}
-
-static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv,
- TreeElement *parent, short type, short index)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- ID *id= idv;
- int a = 0;
-
- if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
- id= ((PointerRNA*)idv)->id.data;
- if(!id) id= ((PointerRNA*)idv)->data;
- }
-
- if(id==NULL) return NULL;
-
- te= MEM_callocN(sizeof(TreeElement), "tree elem");
- /* add to the visual tree */
- BLI_addtail(lb, te);
- /* add to the storage */
- check_persistant(soops, te, id, type, index);
- tselem= TREESTORE(te);
-
- te->parent= parent;
- te->index= index; // for data arays
- if(ELEM3(type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP));
- else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM));
- else if(type==TSE_ANIM_DATA);
- else {
- te->name= id->name+2; // default, can be overridden by Library or non-ID data
- te->idcode= GS(id->name);
- }
-
- if(type==0) {
-
- /* tuck pointer back in object, to construct hierarchy */
- if(GS(id->name)==ID_OB) id->newid= (ID *)te;
-
- /* expand specific data always */
- switch(GS(id->name)) {
- case ID_LI:
- te->name= ((Library *)id)->name;
- break;
- case ID_SCE:
- outliner_add_scene_contents(soops, &te->subtree, (Scene *)id, te);
- break;
- case ID_OB:
- {
- Object *ob= (Object *)id;
-
- outliner_add_element(soops, &te->subtree, ob->adt, te, TSE_ANIM_DATA, 0);
- outliner_add_element(soops, &te->subtree, ob->poselib, te, 0, 0); // XXX FIXME.. add a special type for this
-
- if(ob->proxy && ob->id.lib==NULL)
- outliner_add_element(soops, &te->subtree, ob->proxy, te, TSE_PROXY, 0);
-
- outliner_add_element(soops, &te->subtree, ob->data, te, 0, 0);
-
- if(ob->pose) {
- bArmature *arm= ob->data;
- bPoseChannel *pchan;
- TreeElement *ten;
- TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSE_BASE, 0);
-
- tenla->name= "Pose";
-
- if(arm->edbo==NULL && (ob->mode & OB_MODE_POSE)) { // channels undefined in editmode, but we want the 'tenla' pose icon itself
- int a= 0, const_index= 1000; /* ensure unique id for bone constraints */
-
- for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next, a++) {
- ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSE_CHANNEL, a);
- ten->name= pchan->name;
- ten->directdata= pchan;
- pchan->prev= (bPoseChannel *)ten;
-
- if(pchan->constraints.first) {
- //Object *target;
- bConstraint *con;
- TreeElement *ten1;
- TreeElement *tenla1= outliner_add_element(soops, &ten->subtree, ob, ten, TSE_CONSTRAINT_BASE, 0);
- //char *str;
-
- tenla1->name= "Constraints";
- for(con= pchan->constraints.first; con; con= con->next, const_index++) {
- ten1= outliner_add_element(soops, &tenla1->subtree, ob, tenla1, TSE_CONSTRAINT, const_index);
-#if 0 /* disabled as it needs to be reworked for recoded constraints system */
- target= get_constraint_target(con, &str);
- if(str && str[0]) ten1->name= str;
- else if(target) ten1->name= target->id.name+2;
- else ten1->name= con->name;
-#endif
- ten1->name= con->name;
- ten1->directdata= con;
- /* possible add all other types links? */
- }
- }
- }
- /* make hierarchy */
- ten= tenla->subtree.first;
- while(ten) {
- TreeElement *nten= ten->next, *par;
- tselem= TREESTORE(ten);
- if(tselem->type==TSE_POSE_CHANNEL) {
- pchan= (bPoseChannel *)ten->directdata;
- if(pchan->parent) {
- BLI_remlink(&tenla->subtree, ten);
- par= (TreeElement *)pchan->parent->prev;
- BLI_addtail(&par->subtree, ten);
- ten->parent= par;
- }
- }
- ten= nten;
- }
- /* restore prev pointers */
- pchan= ob->pose->chanbase.first;
- if(pchan) pchan->prev= NULL;
- for(; pchan; pchan= pchan->next) {
- if(pchan->next) pchan->next->prev= pchan;
- }
- }
-
- /* Pose Groups */
- if(ob->pose->agroups.first) {
- bActionGroup *agrp;
- TreeElement *ten;
- TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSEGRP_BASE, 0);
- int a= 0;
-
- tenla->name= "Bone Groups";
- for (agrp=ob->pose->agroups.first; agrp; agrp=agrp->next, a++) {
- ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSEGRP, a);
- ten->name= agrp->name;
- ten->directdata= agrp;
- }
- }
- }
-
- for(a=0; a<ob->totcol; a++)
- outliner_add_element(soops, &te->subtree, ob->mat[a], te, 0, a);
-
- if(ob->constraints.first) {
- //Object *target;
- bConstraint *con;
- TreeElement *ten;
- TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_CONSTRAINT_BASE, 0);
- int a= 0;
- //char *str;
-
- tenla->name= "Constraints";
- for(con= ob->constraints.first; con; con= con->next, a++) {
- ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_CONSTRAINT, a);
-#if 0 /* disabled due to constraints system targets recode... code here needs review */
- target= get_constraint_target(con, &str);
- if(str && str[0]) ten->name= str;
- else if(target) ten->name= target->id.name+2;
- else ten->name= con->name;
-#endif
- ten->name= con->name;
- ten->directdata= con;
- /* possible add all other types links? */
- }
- }
-
- if(ob->modifiers.first) {
- ModifierData *md;
- TreeElement *temod = outliner_add_element(soops, &te->subtree, ob, te, TSE_MODIFIER_BASE, 0);
- int index;
-
- temod->name = "Modifiers";
- for (index=0,md=ob->modifiers.first; md; index++,md=md->next) {
- TreeElement *te = outliner_add_element(soops, &temod->subtree, ob, temod, TSE_MODIFIER, index);
- te->name= md->name;
- te->directdata = md;
-
- if (md->type==eModifierType_Lattice) {
- outliner_add_element(soops, &te->subtree, ((LatticeModifierData*) md)->object, te, TSE_LINKED_OB, 0);
- } else if (md->type==eModifierType_Curve) {
- outliner_add_element(soops, &te->subtree, ((CurveModifierData*) md)->object, te, TSE_LINKED_OB, 0);
- } else if (md->type==eModifierType_Armature) {
- outliner_add_element(soops, &te->subtree, ((ArmatureModifierData*) md)->object, te, TSE_LINKED_OB, 0);
- } else if (md->type==eModifierType_Hook) {
- outliner_add_element(soops, &te->subtree, ((HookModifierData*) md)->object, te, TSE_LINKED_OB, 0);
- } else if (md->type==eModifierType_ParticleSystem) {
- TreeElement *ten;
- ParticleSystem *psys= ((ParticleSystemModifierData*) md)->psys;
-
- ten = outliner_add_element(soops, &te->subtree, ob, te, TSE_LINKED_PSYS, 0);
- ten->directdata = psys;
- ten->name = psys->part->id.name+2;
- }
- }
- }
- if(ob->defbase.first) {
- bDeformGroup *defgroup;
- TreeElement *ten;
- TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_DEFGROUP_BASE, 0);
- int a= 0;
-
- tenla->name= "Vertex Groups";
- for (defgroup=ob->defbase.first; defgroup; defgroup=defgroup->next, a++) {
- ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_DEFGROUP, a);
- ten->name= defgroup->name;
- ten->directdata= defgroup;
- }
- }
-
- if(ob->dup_group)
- outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0);
-
- }
- break;
- case ID_ME:
- {
- Mesh *me= (Mesh *)id;
-
- //outliner_add_element(soops, &te->subtree, me->adt, te, TSE_ANIM_DATA, 0);
-
- outliner_add_element(soops, &te->subtree, me->key, te, 0, 0);
- for(a=0; a<me->totcol; a++)
- outliner_add_element(soops, &te->subtree, me->mat[a], te, 0, a);
- /* could do tfaces with image links, but the images are not grouped nicely.
- would require going over all tfaces, sort images in use. etc... */
- }
- break;
- case ID_CU:
- {
- Curve *cu= (Curve *)id;
-
- outliner_add_element(soops, &te->subtree, cu->adt, te, TSE_ANIM_DATA, 0);
-
- for(a=0; a<cu->totcol; a++)
- outliner_add_element(soops, &te->subtree, cu->mat[a], te, 0, a);
- }
- break;
- case ID_MB:
- {
- MetaBall *mb= (MetaBall *)id;
- for(a=0; a<mb->totcol; a++)
- outliner_add_element(soops, &te->subtree, mb->mat[a], te, 0, a);
- }
- break;
- case ID_MA:
- {
- Material *ma= (Material *)id;
-
- outliner_add_element(soops, &te->subtree, ma->adt, te, TSE_ANIM_DATA, 0);
-
- for(a=0; a<MAX_MTEX; a++) {
- if(ma->mtex[a]) outliner_add_element(soops, &te->subtree, ma->mtex[a]->tex, te, 0, a);
- }
- }
- break;
- case ID_TE:
- {
- Tex *tex= (Tex *)id;
-
- outliner_add_element(soops, &te->subtree, tex->adt, te, TSE_ANIM_DATA, 0);
- outliner_add_element(soops, &te->subtree, tex->ima, te, 0, 0);
- }
- break;
- case ID_CA:
- {
- Camera *ca= (Camera *)id;
- outliner_add_element(soops, &te->subtree, ca->adt, te, TSE_ANIM_DATA, 0);
- }
- break;
- case ID_LA:
- {
- Lamp *la= (Lamp *)id;
-
- outliner_add_element(soops, &te->subtree, la->adt, te, TSE_ANIM_DATA, 0);
-
- for(a=0; a<MAX_MTEX; a++) {
- if(la->mtex[a]) outliner_add_element(soops, &te->subtree, la->mtex[a]->tex, te, 0, a);
- }
- }
- break;
- case ID_WO:
- {
- World *wrld= (World *)id;
-
- outliner_add_element(soops, &te->subtree, wrld->adt, te, TSE_ANIM_DATA, 0);
-
- for(a=0; a<MAX_MTEX; a++) {
- if(wrld->mtex[a]) outliner_add_element(soops, &te->subtree, wrld->mtex[a]->tex, te, 0, a);
- }
- }
- break;
- case ID_KE:
- {
- Key *key= (Key *)id;
-
- outliner_add_element(soops, &te->subtree, key->adt, te, TSE_ANIM_DATA, 0);
- }
- break;
- case ID_AC:
- {
- // XXX do we want to be exposing the F-Curves here?
- //bAction *act= (bAction *)id;
- }
- break;
- case ID_AR:
- {
- bArmature *arm= (bArmature *)id;
- int a= 0;
-
- if(arm->edbo) {
- EditBone *ebone;
- TreeElement *ten;
-
- for (ebone = arm->edbo->first; ebone; ebone=ebone->next, a++) {
- ten= outliner_add_element(soops, &te->subtree, id, te, TSE_EBONE, a);
- ten->directdata= ebone;
- ten->name= ebone->name;
- ebone->temp= ten;
- }
- /* make hierarchy */
- ten= te->subtree.first;
- while(ten) {
- TreeElement *nten= ten->next, *par;
- ebone= (EditBone *)ten->directdata;
- if(ebone->parent) {
- BLI_remlink(&te->subtree, ten);
- par= ebone->parent->temp;
- BLI_addtail(&par->subtree, ten);
- ten->parent= par;
- }
- ten= nten;
- }
- }
- else {
- /* do not extend Armature when we have posemode */
- tselem= TREESTORE(te->parent);
- if( GS(tselem->id->name)==ID_OB && ((Object *)tselem->id)->mode & OB_MODE_POSE);
- else {
- Bone *curBone;
- for (curBone=arm->bonebase.first; curBone; curBone=curBone->next){
- outliner_add_bone(soops, &te->subtree, id, curBone, te, &a);
- }
- }
- }
- }
- break;
- }
- }
- else if(type==TSE_ANIM_DATA) {
- AnimData *adt= (AnimData *)idv;
-
- /* this element's info */
- te->name= "Animation";
-
- /* Action */
- outliner_add_element(soops, &te->subtree, adt->action, te, 0, 0);
-
- /* Drivers */
- if (adt->drivers.first) {
- TreeElement *ted= outliner_add_element(soops, &te->subtree, adt, te, TSE_DRIVER_BASE, 0);
- ID *lastadded= NULL;
- FCurve *fcu;
-
- ted->name= "Drivers";
-
- for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
- if (fcu->driver && fcu->driver->variables.first) {
- ChannelDriver *driver= fcu->driver;
- DriverVar *dvar;
-
- for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
- /* loop over all targets used here */
- DRIVER_TARGETS_USED_LOOPER(dvar)
- {
- if (lastadded != dtar->id) {
- // XXX this lastadded check is rather lame, and also fails quite badly...
- outliner_add_element(soops, &ted->subtree, dtar->id, ted, TSE_LINKED_OB, 0);
- lastadded= dtar->id;
- }
- }
- DRIVER_TARGETS_LOOPER_END
- }
- }
- }
- }
-
- /* NLA Data */
- if (adt->nla_tracks.first) {
- TreeElement *tenla= outliner_add_element(soops, &te->subtree, adt, te, TSE_NLA, 0);
- NlaTrack *nlt;
- int a= 0;
-
- tenla->name= "NLA Tracks";
-
- for (nlt= adt->nla_tracks.first; nlt; nlt= nlt->next) {
- TreeElement *tenlt= outliner_add_element(soops, &tenla->subtree, nlt, tenla, TSE_NLA_TRACK, a);
- NlaStrip *strip;
- TreeElement *ten;
- int b= 0;
-
- tenlt->name= nlt->name;
-
- for (strip=nlt->strips.first; strip; strip=strip->next, b++) {
- ten= outliner_add_element(soops, &tenlt->subtree, strip->act, tenlt, TSE_NLA_ACTION, b);
- if(ten) ten->directdata= strip;
- }
- }
- }
- }
- else if(type==TSE_SEQUENCE) {
- Sequence *seq= (Sequence*) idv;
- Sequence *p;
-
- /*
- * The idcode is a little hack, but the outliner
- * only check te->idcode if te->type is equal to zero,
- * so this is "safe".
- */
- te->idcode= seq->type;
- te->directdata= seq;
-
- if(seq->type<7) {
- /*
- * This work like the sequence.
- * If the sequence have a name (not default name)
- * show it, in other case put the filename.
- */
- if(strcmp(seq->name, "SQ"))
- te->name= seq->name;
- else {
- if((seq->strip) && (seq->strip->stripdata))
- te->name= seq->strip->stripdata->name;
- else
- te->name= "SQ None";
- }
-
- if(seq->type==SEQ_META) {
- te->name= "Meta Strip";
- p= seq->seqbase.first;
- while(p) {
- outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
- p= p->next;
- }
- }
- else
- outliner_add_element(soops, &te->subtree, (void*)seq->strip, te, TSE_SEQ_STRIP, index);
- }
- else
- te->name= "Effect";
- }
- else if(type==TSE_SEQ_STRIP) {
- Strip *strip= (Strip *)idv;
-
- if(strip->dir)
- te->name= strip->dir;
- else
- te->name= "Strip None";
- te->directdata= strip;
- }
- else if(type==TSE_SEQUENCE_DUP) {
- Sequence *seq= (Sequence*)idv;
-
- te->idcode= seq->type;
- te->directdata= seq;
- te->name= seq->strip->stripdata->name;
- }
- else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
- PointerRNA pptr, propptr, *ptr= (PointerRNA*)idv;
- PropertyRNA *prop, *iterprop;
- PropertyType proptype;
- int a, tot;
-
- /* we do lazy build, for speed and to avoid infinite recusion */
-
- if(ptr->data == NULL) {
- te->name= "(empty)";
- }
- else if(type == TSE_RNA_STRUCT) {
- /* struct */
- te->name= RNA_struct_name_get_alloc(ptr, NULL, 0);
-
- if(te->name)
- te->flag |= TE_FREE_NAME;
- else
- te->name= (char*)RNA_struct_ui_name(ptr->type);
-
- iterprop= RNA_struct_iterator_property(ptr->type);
- tot= RNA_property_collection_length(ptr, iterprop);
-
- /* auto open these cases */
- if(!parent || (RNA_property_type(parent->directdata)) == PROP_POINTER)
- if(!tselem->used)
- tselem->flag &= ~TSE_CLOSED;
-
- if(!(tselem->flag & TSE_CLOSED)) {
- for(a=0; a<tot; a++)
- outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_PROPERTY, a);
- }
- else if(tot)
- te->flag |= TE_LAZY_CLOSED;
-
- te->rnaptr= *ptr;
- }
- else if(type == TSE_RNA_PROPERTY) {
- /* property */
- iterprop= RNA_struct_iterator_property(ptr->type);
- RNA_property_collection_lookup_int(ptr, iterprop, index, &propptr);
-
- prop= propptr.data;
- proptype= RNA_property_type(prop);
-
- te->name= (char*)RNA_property_ui_name(prop);
- te->directdata= prop;
- te->rnaptr= *ptr;
-
- if(proptype == PROP_POINTER) {
- pptr= RNA_property_pointer_get(ptr, prop);
-
- if(pptr.data) {
- if(!(tselem->flag & TSE_CLOSED))
- outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1);
- else
- te->flag |= TE_LAZY_CLOSED;
- }
- }
- else if(proptype == PROP_COLLECTION) {
- tot= RNA_property_collection_length(ptr, prop);
-
- if(!(tselem->flag & TSE_CLOSED)) {
- for(a=0; a<tot; a++) {
- RNA_property_collection_lookup_int(ptr, prop, a, &pptr);
- outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1);
- }
- }
- else if(tot)
- te->flag |= TE_LAZY_CLOSED;
- }
- else if(ELEM3(proptype, PROP_BOOLEAN, PROP_INT, PROP_FLOAT)) {
- tot= RNA_property_array_length(ptr, prop);
-
- if(!(tselem->flag & TSE_CLOSED)) {
- for(a=0; a<tot; a++)
- outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_ARRAY_ELEM, a);
- }
- else if(tot)
- te->flag |= TE_LAZY_CLOSED;
- }
- }
- else if(type == TSE_RNA_ARRAY_ELEM) {
- char c;
-
- prop= parent->directdata;
-
- te->directdata= prop;
- te->rnaptr= *ptr;
- te->index= index;
-
- c= RNA_property_array_item_char(prop, index);
-
- te->name= MEM_callocN(sizeof(char)*20, "OutlinerRNAArrayName");
- if(c) sprintf((char *)te->name, " %c", c);
- else sprintf((char *)te->name, " %d", index+1);
- te->flag |= TE_FREE_NAME;
- }
- }
- else if(type == TSE_KEYMAP) {
- wmKeyMap *km= (wmKeyMap *)idv;
- wmKeyMapItem *kmi;
- char opname[OP_MAX_TYPENAME];
-
- te->directdata= idv;
- te->name= km->idname;
-
- if(!(tselem->flag & TSE_CLOSED)) {
- a= 0;
-
- for (kmi= km->items.first; kmi; kmi= kmi->next, a++) {
- const char *key= WM_key_event_string(kmi->type);
-
- if(key[0]) {
- wmOperatorType *ot= NULL;
-
- if(kmi->propvalue);
- else ot= WM_operatortype_find(kmi->idname, 0);
-
- if(ot || kmi->propvalue) {
- TreeElement *ten= outliner_add_element(soops, &te->subtree, kmi, te, TSE_KEYMAP_ITEM, a);
-
- ten->directdata= kmi;
-
- if(kmi->propvalue) {
- ten->name= "Modal map, not yet";
- }
- else {
- WM_operator_py_idname(opname, ot->idname);
- ten->name= BLI_strdup(opname);
- ten->flag |= TE_FREE_NAME;
- }
- }
- }
- }
- }
- else
- te->flag |= TE_LAZY_CLOSED;
- }
-
- return te;
-}
-
-static void outliner_make_hierarchy(SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te, *ten, *tep;
- TreeStoreElem *tselem;
-
- /* build hierarchy */
- // XXX also, set extents here...
- te= lb->first;
- while(te) {
- ten= te->next;
- tselem= TREESTORE(te);
-
- if(tselem->type==0 && te->idcode==ID_OB) {
- Object *ob= (Object *)tselem->id;
- if(ob->parent && ob->parent->id.newid) {
- BLI_remlink(lb, te);
- tep= (TreeElement *)ob->parent->id.newid;
- BLI_addtail(&tep->subtree, te);
- // set correct parent pointers
- for(te=tep->subtree.first; te; te= te->next) te->parent= tep;
- }
- }
- te= ten;
- }
-}
-
-/* Helped function to put duplicate sequence in the same tree. */
-static int need_add_seq_dup(Sequence *seq)
-{
- Sequence *p;
-
- if((!seq->strip) || (!seq->strip->stripdata) || (!seq->strip->stripdata->name))
- return(1);
-
- /*
- * First check backward, if we found a duplicate
- * sequence before this, don't need it, just return.
- */
- p= seq->prev;
- while(p) {
- if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
- p= p->prev;
- continue;
- }
-
- if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
- return(2);
- p= p->prev;
- }
-
- p= seq->next;
- while(p) {
- if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
- p= p->next;
- continue;
- }
-
- if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
- return(0);
- p= p->next;
- }
- return(1);
-}
-
-static void add_seq_dup(SpaceOops *soops, Sequence *seq, TreeElement *te, short index)
-{
- TreeElement *ch;
- Sequence *p;
-
- p= seq;
- while(p) {
- if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
- p= p->next;
- continue;
- }
-
- if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
- ch= outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
- p= p->next;
- }
-}
-
-static int outliner_filter_has_name(TreeElement *te, const char *name, int flags)
-{
-#if 0
- int found= 0;
-
- /* determine if match */
- if (flags & SO_FIND_CASE_SENSITIVE) {
- if (flags & SO_FIND_COMPLETE)
- found= strcmp(te->name, name) == 0;
- else
- found= strstr(te->name, name) != NULL;
- }
- else {
- if (flags & SO_FIND_COMPLETE)
- found= BLI_strcasecmp(te->name, name) == 0;
- else
- found= BLI_strcasestr(te->name, name) != NULL;
- }
-#else
-
- int fn_flag= 0;
- int found= 0;
-
- if ((flags & SO_FIND_CASE_SENSITIVE) == 0)
- fn_flag |= FNM_CASEFOLD;
-
- if (flags & SO_FIND_COMPLETE) {
- found= fnmatch(name, te->name, fn_flag)==0;
- }
- else {
- char fn_name[sizeof(((struct SpaceOops *)NULL)->search_string) + 2];
- sprintf(fn_name, "*%s*", name);
- found= fnmatch(fn_name, te->name, fn_flag)==0;
- }
- return found;
-#endif
-}
-
-static int outliner_filter_tree(SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te, *ten;
- TreeStoreElem *tselem;
-
- /* although we don't have any search string, we return TRUE
- * since the entire tree is ok then...
- */
- if (soops->search_string[0]==0)
- return 1;
-
- for (te= lb->first; te; te= ten) {
- ten= te->next;
-
- if (0==outliner_filter_has_name(te, soops->search_string, soops->search_flags)) {
- /* item isn't something we're looking for, but...
- * - if the subtree is expanded, check if there are any matches that can be easily found
- * so that searching for "cu" in the default scene will still match the Cube
- * - otherwise, we can't see within the subtree and the item doesn't match,
- * so these can be safely ignored (i.e. the subtree can get freed)
- */
- tselem= TREESTORE(te);
-
- if ((tselem->flag & TSE_CLOSED) || outliner_filter_tree(soops, &te->subtree)==0) {
- outliner_free_tree(&te->subtree);
- BLI_remlink(lb, te);
-
- if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
- MEM_freeN(te);
- }
- }
- else {
- /* filter subtree too */
- outliner_filter_tree(soops, &te->subtree);
- }
- }
-
- /* if there are still items in the list, that means that there were still some matches */
- return (lb->first != NULL);
-}
-
-
-static void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops)
-{
- Base *base;
- Object *ob;
- TreeElement *te=NULL, *ten;
- TreeStoreElem *tselem;
- int show_opened= (soops->treestore==NULL); /* on first view, we open scenes */
-
- if(soops->tree.first && (soops->storeflag & SO_TREESTORE_REDRAW))
- return;
-
- outliner_free_tree(&soops->tree);
- outliner_storage_cleanup(soops);
-
- /* clear ob id.new flags */
- for(ob= mainvar->object.first; ob; ob= ob->id.next) ob->id.newid= NULL;
-
- /* options */
- if(soops->outlinevis == SO_LIBRARIES) {
- Library *lib;
-
- for(lib= mainvar->library.first; lib; lib= lib->id.next) {
- ten= outliner_add_element(soops, &soops->tree, lib, NULL, 0, 0);
- lib->id.newid= (ID *)ten;
- }
- /* make hierarchy */
- ten= soops->tree.first;
- while(ten) {
- TreeElement *nten= ten->next, *par;
- tselem= TREESTORE(ten);
- lib= (Library *)tselem->id;
- if(lib->parent) {
- BLI_remlink(&soops->tree, ten);
- par= (TreeElement *)lib->parent->id.newid;
- BLI_addtail(&par->subtree, ten);
- ten->parent= par;
- }
- ten= nten;
- }
- /* restore newid pointers */
- for(lib= mainvar->library.first; lib; lib= lib->id.next)
- lib->id.newid= NULL;
-
- }
- else if(soops->outlinevis == SO_ALL_SCENES) {
- Scene *sce;
- for(sce= mainvar->scene.first; sce; sce= sce->id.next) {
- te= outliner_add_element(soops, &soops->tree, sce, NULL, 0, 0);
- tselem= TREESTORE(te);
- if(sce==scene && show_opened)
- tselem->flag &= ~TSE_CLOSED;
-
- for(base= sce->base.first; base; base= base->next) {
- ten= outliner_add_element(soops, &te->subtree, base->object, te, 0, 0);
- ten->directdata= base;
- }
- outliner_make_hierarchy(soops, &te->subtree);
- /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
- for(base= sce->base.first; base; base= base->next) base->object->id.newid= NULL;
- }
- }
- else if(soops->outlinevis == SO_CUR_SCENE) {
-
- outliner_add_scene_contents(soops, &soops->tree, scene, NULL);
-
- for(base= scene->base.first; base; base= base->next) {
- ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
- ten->directdata= base;
- }
- outliner_make_hierarchy(soops, &soops->tree);
- }
- else if(soops->outlinevis == SO_VISIBLE) {
- for(base= scene->base.first; base; base= base->next) {
- if(base->lay & scene->lay)
- outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
- }
- outliner_make_hierarchy(soops, &soops->tree);
- }
- else if(soops->outlinevis == SO_GROUPS) {
- Group *group;
- GroupObject *go;
-
- for(group= mainvar->group.first; group; group= group->id.next) {
- if(group->gobject.first) {
- te= outliner_add_element(soops, &soops->tree, group, NULL, 0, 0);
-
- for(go= group->gobject.first; go; go= go->next) {
- ten= outliner_add_element(soops, &te->subtree, go->ob, te, 0, 0);
- ten->directdata= NULL; /* eh, why? */
- }
- outliner_make_hierarchy(soops, &te->subtree);
- /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
- for(go= group->gobject.first; go; go= go->next) go->ob->id.newid= NULL;
- }
- }
- }
- else if(soops->outlinevis == SO_SAME_TYPE) {
- Object *ob= OBACT;
- if(ob) {
- for(base= scene->base.first; base; base= base->next) {
- if(base->object->type==ob->type) {
- ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
- ten->directdata= base;
- }
- }
- outliner_make_hierarchy(soops, &soops->tree);
- }
- }
- else if(soops->outlinevis == SO_SELECTED) {
- for(base= scene->base.first; base; base= base->next) {
- if(base->lay & scene->lay) {
- if(base==BASACT || (base->flag & SELECT)) {
- ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
- ten->directdata= base;
- }
- }
- }
- outliner_make_hierarchy(soops, &soops->tree);
- }
- else if(soops->outlinevis==SO_SEQUENCE) {
- Sequence *seq;
- Editing *ed= seq_give_editing(scene, FALSE);
- int op;
-
- if(ed==NULL)
- return;
-
- seq= ed->seqbasep->first;
- if(!seq)
- return;
-
- while(seq) {
- op= need_add_seq_dup(seq);
- if(op==1)
- ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE, 0);
- else if(op==0) {
- ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE_DUP, 0);
- add_seq_dup(soops, seq, ten, 0);
- }
- seq= seq->next;
- }
- }
- else if(soops->outlinevis==SO_DATABLOCKS) {
- PointerRNA mainptr;
-
- RNA_main_pointer_create(mainvar, &mainptr);
-
- ten= outliner_add_element(soops, &soops->tree, (void*)&mainptr, NULL, TSE_RNA_STRUCT, -1);
-
- if(show_opened) {
- tselem= TREESTORE(ten);
- tselem->flag &= ~TSE_CLOSED;
- }
- }
- else if(soops->outlinevis==SO_USERDEF) {
- PointerRNA userdefptr;
-
- RNA_pointer_create(NULL, &RNA_UserPreferences, &U, &userdefptr);
-
- ten= outliner_add_element(soops, &soops->tree, (void*)&userdefptr, NULL, TSE_RNA_STRUCT, -1);
-
- if(show_opened) {
- tselem= TREESTORE(ten);
- tselem->flag &= ~TSE_CLOSED;
- }
- }
- else if(soops->outlinevis==SO_KEYMAP) {
- wmWindowManager *wm= mainvar->wm.first;
- wmKeyMap *km;
-
- for(km= wm->defaultconf->keymaps.first; km; km= km->next) {
- ten= outliner_add_element(soops, &soops->tree, (void*)km, NULL, TSE_KEYMAP, 0);
- }
- }
- else {
- ten= outliner_add_element(soops, &soops->tree, OBACT, NULL, 0, 0);
- if(ten) ten->directdata= BASACT;
- }
-
- outliner_sort(soops, &soops->tree);
- outliner_filter_tree(soops, &soops->tree);
-}
-
-/* **************** INTERACTIVE ************* */
-
-
-static int outliner_scroll_page_exec(bContext *C, wmOperator *op)
-{
- ARegion *ar= CTX_wm_region(C);
- int dy= ar->v2d.mask.ymax - ar->v2d.mask.ymin;
- int up= 0;
-
- if(RNA_boolean_get(op->ptr, "up"))
- up= 1;
-
- if(up == 0) dy= -dy;
- ar->v2d.cur.ymin+= dy;
- ar->v2d.cur.ymax+= dy;
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_scroll_page(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Scroll Page";
- ot->idname= "OUTLINER_OT_scroll_page";
- ot->description= "Scroll page up or down";
-
- /* callbacks */
- ot->exec= outliner_scroll_page_exec;
- ot->poll= ED_operator_outliner_active;
-
- /* properties */
- RNA_def_boolean(ot->srna, "up", 0, "Up", "Scroll up one page.");
-}
-
-
-static int outliner_count_levels(SpaceOops *soops, ListBase *lb, int curlevel)
-{
- TreeElement *te;
- int level=curlevel, lev;
-
- for(te= lb->first; te; te= te->next) {
-
- lev= outliner_count_levels(soops, &te->subtree, curlevel+1);
- if(lev>level) level= lev;
- }
- return level;
-}
-
-static int outliner_has_one_flag(SpaceOops *soops, ListBase *lb, short flag, short curlevel)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- int level;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->flag & flag) return curlevel;
-
- level= outliner_has_one_flag(soops, &te->subtree, flag, curlevel+1);
- if(level) return level;
- }
- return 0;
-}
-
-static void outliner_set_flag(SpaceOops *soops, ListBase *lb, short flag, short set)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(set==0) tselem->flag &= ~flag;
- else tselem->flag |= flag;
- outliner_set_flag(soops, &te->subtree, flag, set);
- }
-}
-
-/* --- */
-
-/* same check needed for both object operation and restrict column button func
- * return 0 when in edit mode (cannot restrict view or select)
- * otherwise return 1 */
-static int common_restrict_check(bContext *C, Object *ob)
-{
- /* Don't allow hide an object in edit mode,
- * check the bug #22153 and #21609, #23977
- */
- Object *obedit= CTX_data_edit_object(C);
- if (obedit && obedit == ob) {
- /* found object is hidden, reset */
- if (ob->restrictflag & OB_RESTRICT_VIEW)
- ob->restrictflag &= ~OB_RESTRICT_VIEW;
- /* found object is unselectable, reset */
- if (ob->restrictflag & OB_RESTRICT_SELECT)
- ob->restrictflag &= ~OB_RESTRICT_SELECT;
- return 0;
- }
-
- return 1;
-}
-
-static void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
- Object *ob = (Object *)tselem->id;
-
- /* add check for edit mode */
- if(!common_restrict_check(C, ob)) return;
-
- if(base || (base= object_in_scene(ob, scene))) {
- if((base->object->restrictflag ^= OB_RESTRICT_VIEW)) {
- ED_base_object_select(base, BA_DESELECT);
- }
- }
-}
-
-static int outliner_toggle_visibility_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
-
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
-
- WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_visibility_toggle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Toggle Visibility";
- ot->idname= "OUTLINER_OT_visibility_toggle";
- ot->description= "Toggle the visibility of selected items";
-
- /* callbacks */
- ot->exec= outliner_toggle_visibility_exec;
- ot->poll= ED_operator_outliner_active_no_editobject;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* --- */
-
-static void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
-
- if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
- if(base) {
- base->object->restrictflag^=OB_RESTRICT_SELECT;
- }
-}
-
-static int outliner_toggle_selectability_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
-
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
-
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_selectability_toggle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Toggle Selectability";
- ot->idname= "OUTLINER_OT_selectability_toggle";
- ot->description= "Toggle the selectability";
-
- /* callbacks */
- ot->exec= outliner_toggle_selectability_exec;
- ot->poll= ED_operator_outliner_active_no_editobject;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-static void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
-
- if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
- if(base) {
- base->object->restrictflag^=OB_RESTRICT_RENDER;
- }
-}
-
-static int outliner_toggle_renderability_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
-
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_renderability_toggle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Toggle Renderability";
- ot->idname= "OUTLINER_OT_renderability_toggle";
- ot->description= "Toggle the renderability of selected items";
-
- /* callbacks */
- ot->exec= outliner_toggle_renderability_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* --- */
-
-static int outliner_toggle_expanded_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- ARegion *ar= CTX_wm_region(C);
-
- if (outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1))
- outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 0);
- else
- outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 1);
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_expanded_toggle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Expand/Collapse All";
- ot->idname= "OUTLINER_OT_expanded_toggle";
- ot->description= "Expand/Collapse all items";
-
- /* callbacks */
- ot->exec= outliner_toggle_expanded_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* --- */
-
-static int outliner_toggle_selected_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- ARegion *ar= CTX_wm_region(C);
- Scene *scene= CTX_data_scene(C);
-
- if (outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1))
- outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
- else
- outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 1);
-
- soops->storeflag |= SO_TREESTORE_REDRAW;
-
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_selected_toggle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Toggle Selected";
- ot->idname= "OUTLINER_OT_selected_toggle";
- ot->description= "Toggle the Outliner selection of items";
-
- /* callbacks */
- ot->exec= outliner_toggle_selected_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* --- */
-
-/* helper function for Show/Hide one level operator */
-static void outliner_openclose_level(SpaceOops *soops, ListBase *lb, int curlevel, int level, int open)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
-
- if(open) {
- if(curlevel<=level) tselem->flag &= ~TSE_CLOSED;
- }
- else {
- if(curlevel>=level) tselem->flag |= TSE_CLOSED;
- }
-
- outliner_openclose_level(soops, &te->subtree, curlevel+1, level, open);
- }
-}
-
-static int outliner_one_level_exec(bContext *C, wmOperator *op)
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- ARegion *ar= CTX_wm_region(C);
- int add= RNA_boolean_get(op->ptr, "open");
- int level;
-
- level= outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1);
- if(add==1) {
- if(level) outliner_openclose_level(soops, &soops->tree, 1, level, 1);
- }
- else {
- if(level==0) level= outliner_count_levels(soops, &soops->tree, 0);
- if(level) outliner_openclose_level(soops, &soops->tree, 1, level-1, 0);
- }
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_show_one_level(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Show/Hide One Level";
- ot->idname= "OUTLINER_OT_show_one_level";
- ot->description= "Expand/collapse all entries by one level";
-
- /* callbacks */
- ot->exec= outliner_one_level_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-
- /* properties */
- RNA_def_boolean(ot->srna, "open", 1, "Open", "Expand all entries one level deep.");
-}
-
-/* This is not used anywhere at the moment */
-#if 0
-/* return 1 when levels were opened */
-static int outliner_open_back(SpaceOops *soops, TreeElement *te)
-{
- TreeStoreElem *tselem;
- int retval= 0;
-
- for (te= te->parent; te; te= te->parent) {
- tselem= TREESTORE(te);
- if (tselem->flag & TSE_CLOSED) {
- tselem->flag &= ~TSE_CLOSED;
- retval= 1;
- }
- }
- return retval;
-}
-
-static void outliner_open_reveal(SpaceOops *soops, ListBase *lb, TreeElement *teFind, int *found)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for (te= lb->first; te; te= te->next) {
- /* check if this tree-element was the one we're seeking */
- if (te == teFind) {
- *found= 1;
- return;
- }
-
- /* try to see if sub-tree contains it then */
- outliner_open_reveal(soops, &te->subtree, teFind, found);
- if (*found) {
- tselem= TREESTORE(te);
- if (tselem->flag & TSE_CLOSED)
- tselem->flag &= ~TSE_CLOSED;
- return;
- }
- }
-}
-#endif
-
-// XXX just use View2D ops for this?
-static void outliner_page_up_down(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int up)
-{
- int dy= ar->v2d.mask.ymax-ar->v2d.mask.ymin;
-
- if(up == -1) dy= -dy;
- ar->v2d.cur.ymin+= dy;
- ar->v2d.cur.ymax+= dy;
-
- soops->storeflag |= SO_TREESTORE_REDRAW;
-}
-
-/* **** do clicks on items ******* */
-
-static int tree_element_active_renderlayer(bContext *C, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- Scene *sce;
-
- /* paranoia check */
- if(te->idcode!=ID_SCE)
- return 0;
- sce= (Scene *)tselem->id;
-
- if(set) {
- sce->r.actlay= tselem->nr;
- WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, sce);
- }
- else {
- return sce->r.actlay==tselem->nr;
- }
- return 0;
-}
-
-static void tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- TreeStoreElem *tselem= TREESTORE(te);
- Scene *sce;
- Base *base;
- Object *ob= NULL;
-
- /* if id is not object, we search back */
- if(te->idcode==ID_OB) ob= (Object *)tselem->id;
- else {
- ob= (Object *)outliner_search_back(soops, te, ID_OB);
- if(ob==OBACT) return;
- }
- if(ob==NULL) return;
-
- sce= (Scene *)outliner_search_back(soops, te, ID_SCE);
- if(sce && scene != sce) {
- ED_screen_set_scene(C, sce);
- }
-
- /* find associated base in current scene */
- base= object_in_scene(ob, scene);
-
- if(base) {
- if(set==2) {
- /* swap select */
- if(base->flag & SELECT)
- ED_base_object_select(base, BA_DESELECT);
- else
- ED_base_object_select(base, BA_SELECT);
- }
- else {
- /* deleselect all */
- scene_deselect_all(scene);
- ED_base_object_select(base, BA_SELECT);
- }
- if(C) {
- ED_base_object_activate(C, base); /* adds notifier */
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- }
- }
-
- if(ob!=scene->obedit)
- ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
-}
-
-static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- TreeElement *tes;
- Object *ob;
-
- /* we search for the object parent */
- ob= (Object *)outliner_search_back(soops, te, ID_OB);
- // note: ob->matbits can be NULL when a local object points to a library mesh.
- if(ob==NULL || ob!=OBACT || ob->matbits==NULL) return 0; // just paranoia
-
- /* searching in ob mat array? */
- tes= te->parent;
- if(tes->idcode==ID_OB) {
- if(set) {
- ob->actcol= te->index+1;
- ob->matbits[te->index]= 1; // make ob material active too
- ob->colbits |= (1<<te->index);
- }
- else {
- if(ob->actcol == te->index+1)
- if(ob->matbits[te->index]) return 1;
- }
- }
- /* or we search for obdata material */
- else {
- if(set) {
- ob->actcol= te->index+1;
- ob->matbits[te->index]= 0; // make obdata material active too
- ob->colbits &= ~(1<<te->index);
- }
- else {
- if(ob->actcol == te->index+1)
- if(ob->matbits[te->index]==0) return 1;
- }
- }
- if(set) {
- WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL);
- }
- return 0;
-}
-
-static int tree_element_active_texture(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- TreeElement *tep;
- TreeStoreElem /* *tselem,*/ *tselemp;
- Object *ob=OBACT;
- SpaceButs *sbuts=NULL;
-
- if(ob==NULL) return 0; // no active object
-
- /*tselem= TREESTORE(te);*/ /*UNUSED*/
-
- /* find buttons area (note, this is undefined really still, needs recode in blender) */
- /* XXX removed finding sbuts */
-
- /* where is texture linked to? */
- tep= te->parent;
- tselemp= TREESTORE(tep);
-
- if(tep->idcode==ID_WO) {
- World *wrld= (World *)tselemp->id;
-
- if(set) {
- if(sbuts) {
- // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
- // XXX sbuts->texfrom= 1;
- }
-// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
- wrld->texact= te->index;
- }
- else if(tselemp->id == (ID *)(scene->world)) {
- if(wrld->texact==te->index) return 1;
- }
- }
- else if(tep->idcode==ID_LA) {
- Lamp *la= (Lamp *)tselemp->id;
- if(set) {
- if(sbuts) {
- // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
- // XXX sbuts->texfrom= 2;
- }
-// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
- la->texact= te->index;
- }
- else {
- if(tselemp->id == ob->data) {
- if(la->texact==te->index) return 1;
- }
- }
- }
- else if(tep->idcode==ID_MA) {
- Material *ma= (Material *)tselemp->id;
- if(set) {
- if(sbuts) {
- //sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
- // XXX sbuts->texfrom= 0;
- }
-// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
- ma->texact= (char)te->index;
-
- /* also set active material */
- ob->actcol= tep->index+1;
- }
- else if(tep->flag & TE_ACTIVE) { // this is active material
- if(ma->texact==te->index) return 1;
- }
- }
-
- if(set)
- WM_event_add_notifier(C, NC_TEXTURE, NULL);
-
- return 0;
-}
-
-
-static int tree_element_active_lamp(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- Object *ob;
-
- /* we search for the object parent */
- ob= (Object *)outliner_search_back(soops, te, ID_OB);
- if(ob==NULL || ob!=OBACT) return 0; // just paranoia
-
- if(set) {
-// XXX extern_set_butspace(F5KEY, 0);
- }
- else return 1;
-
- return 0;
-}
-
-static int tree_element_active_camera(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- Object *ob= (Object *)outliner_search_back(soops, te, ID_OB);
-
- if(set)
- return 0;
-
- return scene->camera == ob;
-}
-
-static int tree_element_active_world(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- TreeElement *tep;
- TreeStoreElem *tselem=NULL;
- Scene *sce=NULL;
-
- tep= te->parent;
- if(tep) {
- tselem= TREESTORE(tep);
- sce= (Scene *)tselem->id;
- }
-
- if(set) { // make new scene active
- if(sce && scene != sce) {
- ED_screen_set_scene(C, sce);
- }
- }
-
- if(tep==NULL || tselem->id == (ID *)scene) {
- if(set) {
-// XXX extern_set_butspace(F8KEY, 0);
- }
- else {
- return 1;
- }
- }
- return 0;
-}
-
-static int tree_element_active_defgroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- Object *ob;
-
- /* id in tselem is object */
- ob= (Object *)tselem->id;
- if(set) {
- ob->actdef= te->index+1;
- DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
- WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob);
- }
- else {
- if(ob==OBACT)
- if(ob->actdef== te->index+1) return 1;
- }
- return 0;
-}
-
-static int tree_element_active_posegroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- Object *ob= (Object *)tselem->id;
-
- if(set) {
- if (ob->pose) {
- ob->pose->active_group= te->index+1;
- WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
- }
- }
- else {
- if(ob==OBACT && ob->pose) {
- if (ob->pose->active_group== te->index+1) return 1;
- }
- }
- return 0;
-}
-
-static int tree_element_active_posechannel(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- Object *ob= (Object *)tselem->id;
- bArmature *arm= ob->data;
- bPoseChannel *pchan= te->directdata;
-
- if(set) {
- if(!(pchan->bone->flag & BONE_HIDDEN_P)) {
-
- if(set==2) ED_pose_deselectall(ob, 2); // 2 = clear active tag
- else ED_pose_deselectall(ob, 0); // 0 = deselect
-
- if(set==2 && (pchan->bone->flag & BONE_SELECTED)) {
- pchan->bone->flag &= ~BONE_SELECTED;
- } else {
- pchan->bone->flag |= BONE_SELECTED;
- arm->act_bone= pchan->bone;
- }
-
- WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, ob);
-
- }
- }
- else {
- if(ob==OBACT && ob->pose) {
- if (pchan->bone->flag & BONE_SELECTED) return 1;
- }
- }
- return 0;
-}
-
-static int tree_element_active_bone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- bArmature *arm= (bArmature *)tselem->id;
- Bone *bone= te->directdata;
-
- if(set) {
- if(!(bone->flag & BONE_HIDDEN_P)) {
- if(set==2) ED_pose_deselectall(OBACT, 2); // 2 is clear active tag
- else ED_pose_deselectall(OBACT, 0);
-
- if(set==2 && (bone->flag & BONE_SELECTED)) {
- bone->flag &= ~BONE_SELECTED;
- } else {
- bone->flag |= BONE_SELECTED;
- arm->act_bone= bone;
- }
-
- WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, OBACT);
- }
- }
- else {
- Object *ob= OBACT;
-
- if(ob && ob->data==arm) {
- if (bone->flag & BONE_SELECTED) return 1;
- }
- }
- return 0;
-}
-
-
-/* ebones only draw in editmode armature */
-static void tree_element_active_ebone__sel(bContext *C, Scene *scene, bArmature *arm, EditBone *ebone, short sel)
-{
- if(sel) {
- ebone->flag |= BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL;
- arm->act_edbone= ebone;
- // flush to parent?
- if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag |= BONE_TIPSEL;
- }
- else {
- ebone->flag &= ~(BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL);
- // flush to parent?
- if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag &= ~BONE_TIPSEL;
- }
-
- WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, scene->obedit);
-}
-static int tree_element_active_ebone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
- bArmature *arm= scene->obedit->data;
- EditBone *ebone= te->directdata;
-
- if(set==1) {
- if(!(ebone->flag & BONE_HIDDEN_A)) {
- ED_armature_deselect_all(scene->obedit, 0); // deselect
- tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
- return 1;
- }
- }
- else if (set==2) {
- if(!(ebone->flag & BONE_HIDDEN_A)) {
- if(!(ebone->flag & BONE_SELECTED)) {
- tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
- return 1;
- }
- else {
- /* entirely selected, so de-select */
- tree_element_active_ebone__sel(C, scene, arm, ebone, FALSE);
- return 0;
- }
- }
- }
- else if (ebone->flag & BONE_SELECTED) {
- return 1;
- }
- return 0;
-}
-
-static int tree_element_active_modifier(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
- if(set) {
- Object *ob= (Object *)tselem->id;
-
- WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob);
-
-// XXX extern_set_butspace(F9KEY, 0);
- }
-
- return 0;
-}
-
-static int tree_element_active_psys(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
- if(set) {
- Object *ob= (Object *)tselem->id;
-
- WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
-
-// XXX extern_set_butspace(F7KEY, 0);
- }
-
- return 0;
-}
-
-static int tree_element_active_constraint(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
- if(set) {
- Object *ob= (Object *)tselem->id;
-
- WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT, ob);
-// XXX extern_set_butspace(F7KEY, 0);
- }
-
- return 0;
-}
-
-static int tree_element_active_text(bContext *UNUSED(C), Scene *UNUSED(scene), SpaceOops *UNUSED(soops), TreeElement *UNUSED(te), int UNUSED(set))
-{
- // XXX removed
- return 0;
-}
-
-/* generic call for ID data check or make/check active in UI */
-static int tree_element_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
-
- switch(te->idcode) {
- case ID_MA:
- return tree_element_active_material(C, scene, soops, te, set);
- case ID_WO:
- return tree_element_active_world(C, scene, soops, te, set);
- case ID_LA:
- return tree_element_active_lamp(C, scene, soops, te, set);
- case ID_TE:
- return tree_element_active_texture(C, scene, soops, te, set);
- case ID_TXT:
- return tree_element_active_text(C, scene, soops, te, set);
- case ID_CA:
- return tree_element_active_camera(C, scene, soops, te, set);
- }
- return 0;
-}
-
-static int tree_element_active_pose(bContext *C, Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
- Object *ob= (Object *)tselem->id;
- Base *base= object_in_scene(ob, scene);
-
- if(set) {
- if(scene->obedit)
- ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
-
- if(ob->mode & OB_MODE_POSE)
- ED_armature_exit_posemode(C, base);
- else
- ED_armature_enter_posemode(C, base);
- }
- else {
- if(ob->mode & OB_MODE_POSE) return 1;
- }
- return 0;
-}
-
-static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
- Sequence *seq= (Sequence*) te->directdata;
-
- if(set) {
-// XXX select_single_seq(seq, 1);
- }
- else {
- if(seq->flag & SELECT)
- return(1);
- }
- return(0);
-}
-
-static int tree_element_active_sequence_dup(Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
- Sequence *seq, *p;
- Editing *ed= seq_give_editing(scene, FALSE);
-
- seq= (Sequence*)te->directdata;
- if(set==0) {
- if(seq->flag & SELECT)
- return(1);
- return(0);
- }
-
-// XXX select_single_seq(seq, 1);
- p= ed->seqbasep->first;
- while(p) {
- if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
- p= p->next;
- continue;
- }
-
-// if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
-// XXX select_single_seq(p, 0);
- p= p->next;
- }
- return(0);
-}
-
-static int tree_element_active_keymap_item(bContext *UNUSED(C), TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
- wmKeyMapItem *kmi= te->directdata;
-
- if(set==0) {
- if(kmi->flag & KMI_INACTIVE) return 0;
- return 1;
- }
- else {
- kmi->flag ^= KMI_INACTIVE;
- }
- return 0;
-}
-
-
-/* generic call for non-id data to make/check active in UI */
-/* Context can be NULL when set==0 */
-static int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- switch(tselem->type) {
- case TSE_DEFGROUP:
- return tree_element_active_defgroup(C, scene, te, tselem, set);
- case TSE_BONE:
- return tree_element_active_bone(C, scene, te, tselem, set);
- case TSE_EBONE:
- return tree_element_active_ebone(C, scene, te, tselem, set);
- case TSE_MODIFIER:
- return tree_element_active_modifier(C, te, tselem, set);
- case TSE_LINKED_OB:
- if(set) tree_element_set_active_object(C, scene, soops, te, set);
- else if(tselem->id==(ID *)OBACT) return 1;
- break;
- case TSE_LINKED_PSYS:
- return tree_element_active_psys(C, scene, te, tselem, set);
- case TSE_POSE_BASE:
- return tree_element_active_pose(C, scene, te, tselem, set);
- case TSE_POSE_CHANNEL:
- return tree_element_active_posechannel(C, scene, te, tselem, set);
- case TSE_CONSTRAINT:
- return tree_element_active_constraint(C, te, tselem, set);
- case TSE_R_LAYER:
- return tree_element_active_renderlayer(C, te, tselem, set);
- case TSE_POSEGRP:
- return tree_element_active_posegroup(C, scene, te, tselem, set);
- case TSE_SEQUENCE:
- return tree_element_active_sequence(te, tselem, set);
- case TSE_SEQUENCE_DUP:
- return tree_element_active_sequence_dup(scene, te, tselem, set);
- case TSE_KEYMAP_ITEM:
- return tree_element_active_keymap_item(C, te, tselem, set);
-
- }
- return 0;
-}
-
-static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, const float mval[2])
-{
-
- if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
- TreeStoreElem *tselem= TREESTORE(te);
- int openclose= 0;
-
- /* open close icon */
- if((te->flag & TE_ICONROW)==0) { // hidden icon, no open/close
- if( mval[0]>te->xs && mval[0]<te->xs+UI_UNIT_X)
- openclose= 1;
- }
-
- if(openclose) {
- /* all below close/open? */
- if(extend) {
- tselem->flag &= ~TSE_CLOSED;
- outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
- }
- else {
- if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
- else tselem->flag |= TSE_CLOSED;
-
- }
-
- return 1;
- }
- /* name and first icon */
- else if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
-
- /* always makes active object */
- if(tselem->type!=TSE_SEQUENCE && tselem->type!=TSE_SEQ_STRIP && tselem->type!=TSE_SEQUENCE_DUP)
- tree_element_set_active_object(C, scene, soops, te, 1 + (extend!=0 && tselem->type==0));
-
- if(tselem->type==0) { // the lib blocks
- /* editmode? */
- if(te->idcode==ID_SCE) {
- if(scene!=(Scene *)tselem->id) {
- ED_screen_set_scene(C, (Scene *)tselem->id);
- }
- }
- else if(te->idcode==ID_GR) {
- Group *gr= (Group *)tselem->id;
- GroupObject *gob;
-
- if(extend) {
- int sel= BA_SELECT;
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- if(gob->ob->flag & SELECT) {
- sel= BA_DESELECT;
- break;
- }
- }
-
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- ED_base_object_select(object_in_scene(gob->ob, scene), sel);
- }
- }
- else {
- scene_deselect_all(scene);
-
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- if((gob->ob->flag & SELECT) == 0)
- ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
- }
- }
-
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- }
- else if(ELEM5(te->idcode, ID_ME, ID_CU, ID_MB, ID_LT, ID_AR)) {
- WM_operator_name_call(C, "OBJECT_OT_editmode_toggle", WM_OP_INVOKE_REGION_WIN, NULL);
- } else { // rest of types
- tree_element_active(C, scene, soops, te, 1);
- }
-
- }
- else tree_element_type_active(C, scene, soops, te, tselem, 1+(extend!=0));
-
- return 1;
- }
- }
-
- for(te= te->subtree.first; te; te= te->next) {
- if(do_outliner_item_activate(C, scene, ar, soops, te, extend, mval)) return 1;
- }
- return 0;
-}
-
-/* event can enterkey, then it opens/closes */
-static int outliner_item_activate(bContext *C, wmOperator *op, wmEvent *event)
-{
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- TreeElement *te;
- float fmval[2];
- int extend= RNA_boolean_get(op->ptr, "extend");
-
- UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-
- if(!ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP) && !(soops->flag & SO_HIDE_RESTRICTCOLS) && fmval[0] > ar->v2d.cur.xmax - OL_TOG_RESTRICT_VIEWX)
- return OPERATOR_CANCELLED;
-
- for(te= soops->tree.first; te; te= te->next) {
- if(do_outliner_item_activate(C, scene, ar, soops, te, extend, fmval)) break;
- }
-
- if(te) {
- ED_undo_push(C, "Outliner click event");
- }
- else {
- short selecting= -1;
- int row;
-
- /* get row number - 100 here is just a dummy value since we don't need the column */
- UI_view2d_listview_view_to_cell(&ar->v2d, 1000, UI_UNIT_Y, 0.0f, OL_Y_OFFSET,
- fmval[0], fmval[1], NULL, &row);
-
- /* select relevant row */
- outliner_select(soops, &soops->tree, &row, &selecting);
-
- soops->storeflag |= SO_TREESTORE_REDRAW;
-
- ED_undo_push(C, "Outliner selection event");
- }
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_item_activate(wmOperatorType *ot)
-{
- ot->name= "Activate Item";
- ot->idname= "OUTLINER_OT_item_activate";
- ot->description= "Handle mouse clicks to activate/select items";
-
- ot->invoke= outliner_item_activate;
-
- ot->poll= ED_operator_outliner_active;
-
- RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection for activation.");
-}
-
-/* *********** */
-
-static int do_outliner_item_openclose(bContext *C, SpaceOops *soops, TreeElement *te, int all, const float mval[2])
-{
-
- if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
- TreeStoreElem *tselem= TREESTORE(te);
-
- /* all below close/open? */
- if(all) {
- tselem->flag &= ~TSE_CLOSED;
- outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
- }
- else {
- if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
- else tselem->flag |= TSE_CLOSED;
- }
-
- return 1;
- }
-
- for(te= te->subtree.first; te; te= te->next) {
- if(do_outliner_item_openclose(C, soops, te, all, mval))
- return 1;
- }
- return 0;
-
-}
-
-/* event can enterkey, then it opens/closes */
-static int outliner_item_openclose(bContext *C, wmOperator *op, wmEvent *event)
-{
- ARegion *ar= CTX_wm_region(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- TreeElement *te;
- float fmval[2];
- int all= RNA_boolean_get(op->ptr, "all");
-
- UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-
- for(te= soops->tree.first; te; te= te->next) {
- if(do_outliner_item_openclose(C, soops, te, all, fmval))
- break;
- }
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_item_openclose(wmOperatorType *ot)
-{
- ot->name= "Open/Close Item";
- ot->idname= "OUTLINER_OT_item_openclose";
- ot->description= "Toggle whether item under cursor is enabled or closed";
-
- ot->invoke= outliner_item_openclose;
-
- ot->poll= ED_operator_outliner_active;
-
- RNA_def_boolean(ot->srna, "all", 1, "All", "Close or open all items.");
-
-}
-
-
-/* ********************************************** */
-
-static int do_outliner_item_rename(bContext *C, ARegion *ar, SpaceOops *soops, TreeElement *te, const float mval[2])
-{
-
- if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
- TreeStoreElem *tselem= TREESTORE(te);
-
- /* name and first icon */
- if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
-
- /* can't rename rna datablocks entries */
- if(ELEM3(tselem->type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))
- ;
- else if(ELEM10(tselem->type, TSE_ANIM_DATA, TSE_NLA, TSE_DEFGROUP_BASE, TSE_CONSTRAINT_BASE, TSE_MODIFIER_BASE, TSE_SCRIPT_BASE, TSE_POSE_BASE, TSE_POSEGRP_BASE, TSE_R_LAYER_BASE, TSE_R_PASS))
- error("Cannot edit builtin name");
- else if(ELEM3(tselem->type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP))
- error("Cannot edit sequence name");
- else if(tselem->id->lib) {
- // XXX error_libdata();
- }
- else if(te->idcode == ID_LI && te->parent) {
- error("Cannot edit the path of an indirectly linked library");
- }
- else {
- tselem->flag |= TSE_TEXTBUT;
- ED_region_tag_redraw(ar);
- }
- }
- return 1;
- }
-
- for(te= te->subtree.first; te; te= te->next) {
- if(do_outliner_item_rename(C, ar, soops, te, mval)) return 1;
- }
- return 0;
-}
-
-static int outliner_item_rename(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
-{
- ARegion *ar= CTX_wm_region(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- TreeElement *te;
- float fmval[2];
-
- UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-
- for(te= soops->tree.first; te; te= te->next) {
- if(do_outliner_item_rename(C, ar, soops, te, fmval)) break;
- }
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_item_rename(wmOperatorType *ot)
-{
- ot->name= "Rename Item";
- ot->idname= "OUTLINER_OT_item_rename";
- ot->description= "Rename item under cursor";
-
- ot->invoke= outliner_item_rename;
-
- ot->poll= ED_operator_outliner_active;
-}
-
-static TreeElement *outliner_find_id(SpaceOops *soops, ListBase *lb, ID *id)
-{
- TreeElement *te, *tes;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->type==0) {
- if(tselem->id==id) return te;
- /* only deeper on scene or object */
- if( te->idcode==ID_OB || te->idcode==ID_SCE || (soops->outlinevis == SO_GROUPS && te->idcode==ID_GR)) {
- tes= outliner_find_id(soops, &te->subtree, id);
- if(tes) return tes;
- }
- }
- }
- return NULL;
-}
-
-static int outliner_show_active_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *so= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
- View2D *v2d= &ar->v2d;
-
- TreeElement *te;
- int xdelta, ytop;
-
- // TODO: make this get this info from context instead...
- if (OBACT == NULL)
- return OPERATOR_CANCELLED;
-
- te= outliner_find_id(so, &so->tree, (ID *)OBACT);
- if (te) {
- /* make te->ys center of view */
- ytop= (int)(te->ys + (v2d->mask.ymax - v2d->mask.ymin)/2);
- if (ytop>0) ytop= 0;
-
- v2d->cur.ymax= (float)ytop;
- v2d->cur.ymin= (float)(ytop-(v2d->mask.ymax - v2d->mask.ymin));
-
- /* make te->xs ==> te->xend center of view */
- xdelta = (int)(te->xs - v2d->cur.xmin);
- v2d->cur.xmin += xdelta;
- v2d->cur.xmax += xdelta;
-
- so->storeflag |= SO_TREESTORE_REDRAW;
- }
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_show_active(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Show Active";
- ot->idname= "OUTLINER_OT_show_active";
- ot->description= "Adjust the view so that the active Object is shown centered";
-
- /* callbacks */
- ot->exec= outliner_show_active_exec;
- ot->poll= ED_operator_outliner_active;
-}
-
-/* tse is not in the treestore, we use its contents to find a match */
-static TreeElement *outliner_find_tse(SpaceOops *soops, TreeStoreElem *tse)
-{
- TreeStore *ts= soops->treestore;
- TreeStoreElem *tselem;
- int a;
-
- if(tse->id==NULL) return NULL;
-
- /* check if 'tse' is in treestore */
- tselem= ts->data;
- for(a=0; a<ts->usedelem; a++, tselem++) {
- if((tse->type==0 && tselem->type==0) || (tselem->type==tse->type && tselem->nr==tse->nr)) {
- if(tselem->id==tse->id) {
- break;
- }
- }
- }
- if(tselem)
- return outliner_find_tree_element(&soops->tree, a);
-
- return NULL;
-}
-
-
-/* Called to find an item based on name.
- */
-#if 0
-
-/* recursive helper for function below */
-static void outliner_set_coordinates_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
-{
- TreeStoreElem *tselem= TREESTORE(te);
-
- /* store coord and continue, we need coordinates for elements outside view too */
- te->xs= (float)startx;
- te->ys= (float)(*starty);
- *starty-= UI_UNIT_Y;
-
- if((tselem->flag & TSE_CLOSED)==0) {
- TreeElement *ten;
- for(ten= te->subtree.first; ten; ten= ten->next) {
- outliner_set_coordinates_element(soops, ten, startx+UI_UNIT_X, starty);
- }
- }
-
-}
-
-/* to retrieve coordinates with redrawing the entire tree */
-static void outliner_set_coordinates(ARegion *ar, SpaceOops *soops)
-{
- TreeElement *te;
- int starty= (int)(ar->v2d.tot.ymax)-UI_UNIT_Y;
- int startx= 0;
-
- for(te= soops->tree.first; te; te= te->next) {
- outliner_set_coordinates_element(soops, te, startx, &starty);
- }
-}
-
-/* find next element that has this name */
-static TreeElement *outliner_find_named(SpaceOops *soops, ListBase *lb, char *name, int flags, TreeElement *prev, int *prevFound)
-{
- TreeElement *te, *tes;
-
- for (te= lb->first; te; te= te->next) {
- int found = outliner_filter_has_name(te, name, flags);
-
- if(found) {
- /* name is right, but is element the previous one? */
- if (prev) {
- if ((te != prev) && (*prevFound))
- return te;
- if (te == prev) {
- *prevFound = 1;
- }
- }
- else
- return te;
- }
-
- tes= outliner_find_named(soops, &te->subtree, name, flags, prev, prevFound);
- if(tes) return tes;
- }
-
- /* nothing valid found */
- return NULL;
-}
-
-static void outliner_find_panel(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int again, int flags)
-{
- TreeElement *te= NULL;
- TreeElement *last_find;
- TreeStoreElem *tselem;
- int ytop, xdelta, prevFound=0;
- char name[32];
-
- /* get last found tree-element based on stored search_tse */
- last_find= outliner_find_tse(soops, &soops->search_tse);
-
- /* determine which type of search to do */
- if (again && last_find) {
- /* no popup panel - previous + user wanted to search for next after previous */
- BLI_strncpy(name, soops->search_string, sizeof(name));
- flags= soops->search_flags;
-
- /* try to find matching element */
- te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
- if (te==NULL) {
- /* no more matches after previous, start from beginning again */
- prevFound= 1;
- te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
- }
- }
- else {
- /* pop up panel - no previous, or user didn't want search after previous */
- strcpy(name, "");
-// XXX if (sbutton(name, 0, sizeof(name)-1, "Find: ") && name[0]) {
-// te= outliner_find_named(soops, &soops->tree, name, flags, NULL, &prevFound);
-// }
-// else return; /* XXX RETURN! XXX */
- }
-
- /* do selection and reveal */
- if (te) {
- tselem= TREESTORE(te);
- if (tselem) {
- /* expand branches so that it will be visible, we need to get correct coordinates */
- if( outliner_open_back(soops, te))
- outliner_set_coordinates(ar, soops);
-
- /* deselect all visible, and select found element */
- outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
- tselem->flag |= TSE_SELECTED;
-
- /* make te->ys center of view */
- ytop= (int)(te->ys + (ar->v2d.mask.ymax-ar->v2d.mask.ymin)/2);
- if(ytop>0) ytop= 0;
- ar->v2d.cur.ymax= (float)ytop;
- ar->v2d.cur.ymin= (float)(ytop-(ar->v2d.mask.ymax-ar->v2d.mask.ymin));
-
- /* make te->xs ==> te->xend center of view */
- xdelta = (int)(te->xs - ar->v2d.cur.xmin);
- ar->v2d.cur.xmin += xdelta;
- ar->v2d.cur.xmax += xdelta;
-
- /* store selection */
- soops->search_tse= *tselem;
-
- BLI_strncpy(soops->search_string, name, 33);
- soops->search_flags= flags;
-
- /* redraw */
- soops->storeflag |= SO_TREESTORE_REDRAW;
- }
- }
- else {
- /* no tree-element found */
- error("Not found: %s", name);
- }
-}
-#endif
-
-/* helper function for tree_element_shwo_hierarchy() - recursively checks whether subtrees have any objects*/
-static int subtree_has_objects(SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->type==0 && te->idcode==ID_OB) return 1;
- if( subtree_has_objects(soops, &te->subtree)) return 1;
- }
- return 0;
-}
-
-/* recursive helper function for Show Hierarchy operator */
-static void tree_element_show_hierarchy(Scene *scene, SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- /* open all object elems, close others */
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
-
- if(tselem->type==0) {
- if(te->idcode==ID_SCE) {
- if(tselem->id!=(ID *)scene) tselem->flag |= TSE_CLOSED;
- else tselem->flag &= ~TSE_CLOSED;
- }
- else if(te->idcode==ID_OB) {
- if(subtree_has_objects(soops, &te->subtree)) tselem->flag &= ~TSE_CLOSED;
- else tselem->flag |= TSE_CLOSED;
- }
- }
- else tselem->flag |= TSE_CLOSED;
-
- if(tselem->flag & TSE_CLOSED); else tree_element_show_hierarchy(scene, soops, &te->subtree);
- }
-}
-
-/* show entire object level hierarchy */
-static int outliner_show_hierarchy_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- ARegion *ar= CTX_wm_region(C);
- Scene *scene= CTX_data_scene(C);
-
- /* recursively open/close levels */
- tree_element_show_hierarchy(scene, soops, &soops->tree);
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_show_hierarchy(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Show Hierarchy";
- ot->idname= "OUTLINER_OT_show_hierarchy";
- ot->description= "Open all object entries and close all others";
-
- /* callbacks */
- ot->exec= outliner_show_hierarchy_exec;
- ot->poll= ED_operator_outliner_active; // TODO: shouldn't be allowed in RNA views...
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-void outliner_select(SpaceOops *soops, ListBase *lb, int *index, short *selecting)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for (te= lb->first; te && *index >= 0; te=te->next, (*index)--) {
- tselem= TREESTORE(te);
-
- /* if we've encountered the right item, set its 'Outliner' selection status */
- if (*index == 0) {
- /* this should be the last one, so no need to do anything with index */
- if ((te->flag & TE_ICONROW)==0) {
- /* -1 value means toggle testing for now... */
- if (*selecting == -1) {
- if (tselem->flag & TSE_SELECTED)
- *selecting= 0;
- else
- *selecting= 1;
- }
-
- /* set selection */
- if (*selecting)
- tselem->flag |= TSE_SELECTED;
- else
- tselem->flag &= ~TSE_SELECTED;
- }
- }
- else if ((tselem->flag & TSE_CLOSED)==0) {
- /* Only try selecting sub-elements if we haven't hit the right element yet
- *
- * Hack warning:
- * Index must be reduced before supplying it to the sub-tree to try to do
- * selection, however, we need to increment it again for the next loop to
- * function correctly
- */
- (*index)--;
- outliner_select(soops, &te->subtree, index, selecting);
- (*index)++;
- }
- }
-}
-
-/* ************ SELECTION OPERATIONS ********* */
-
-static void set_operation_types(SpaceOops *soops, ListBase *lb,
- int *scenelevel,
- int *objectlevel,
- int *idlevel,
- int *datalevel)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->flag & TSE_SELECTED) {
- if(tselem->type) {
- if(*datalevel==0)
- *datalevel= tselem->type;
- else if(*datalevel!=tselem->type)
- *datalevel= -1;
- }
- else {
- int idcode= GS(tselem->id->name);
- switch(idcode) {
- case ID_SCE:
- *scenelevel= 1;
- break;
- case ID_OB:
- *objectlevel= 1;
- break;
-
- case ID_ME: case ID_CU: case ID_MB: case ID_LT:
- case ID_LA: case ID_AR: case ID_CA:
- case ID_MA: case ID_TE: case ID_IP: case ID_IM:
- case ID_SO: case ID_KE: case ID_WO: case ID_AC:
- case ID_NLA: case ID_TXT: case ID_GR:
- if(*idlevel==0) *idlevel= idcode;
- else if(*idlevel!=idcode) *idlevel= -1;
- break;
- }
- }
- }
- if((tselem->flag & TSE_CLOSED)==0) {
- set_operation_types(soops, &te->subtree,
- scenelevel, objectlevel, idlevel, datalevel);
- }
- }
-}
-
-static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
-{
- Material **matar=NULL;
- int a, totcol=0;
-
- if( GS(tsep->id->name)==ID_OB) {
- Object *ob= (Object *)tsep->id;
- totcol= ob->totcol;
- matar= ob->mat;
- }
- else if( GS(tsep->id->name)==ID_ME) {
- Mesh *me= (Mesh *)tsep->id;
- totcol= me->totcol;
- matar= me->mat;
- }
- else if( GS(tsep->id->name)==ID_CU) {
- Curve *cu= (Curve *)tsep->id;
- totcol= cu->totcol;
- matar= cu->mat;
- }
- else if( GS(tsep->id->name)==ID_MB) {
- MetaBall *mb= (MetaBall *)tsep->id;
- totcol= mb->totcol;
- matar= mb->mat;
- }
-
- for(a=0; a<totcol; a++) {
- if(a==te->index && matar[a]) {
- matar[a]->id.us--;
- matar[a]= NULL;
- }
- }
-}
-
-static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
-{
- MTex **mtex= NULL;
- int a;
-
- if( GS(tsep->id->name)==ID_MA) {
- Material *ma= (Material *)tsep->id;
- mtex= ma->mtex;
- }
- else if( GS(tsep->id->name)==ID_LA) {
- Lamp *la= (Lamp *)tsep->id;
- mtex= la->mtex;
- }
- else if( GS(tsep->id->name)==ID_WO) {
- World *wrld= (World *)tsep->id;
- mtex= wrld->mtex;
- }
- else return;
-
- for(a=0; a<MAX_MTEX; a++) {
- if(a==te->index && mtex[a]) {
- if(mtex[a]->tex) {
- mtex[a]->tex->id.us--;
- mtex[a]->tex= NULL;
- }
- }
- }
-}
-
-static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
-{
- Group *group= (Group *)tselem->id;
-
- if(tsep) {
- if( GS(tsep->id->name)==ID_OB) {
- Object *ob= (Object *)tsep->id;
- ob->dup_group= NULL;
- }
- }
- else {
- unlink_group(group);
- }
-}
-
-static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb,
- void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te=lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->flag & TSE_SELECTED) {
- if(tselem->type==0) {
- TreeStoreElem *tsep= TREESTORE(te->parent);
- operation_cb(C, scene, te, tsep, tselem);
- }
- }
- if((tselem->flag & TSE_CLOSED)==0) {
- outliner_do_libdata_operation(C, scene, soops, &te->subtree, operation_cb);
- }
- }
-}
-
-/* */
-
-static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
-
- if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
- if(base && ((base->object->restrictflag & OB_RESTRICT_VIEW)==0)) {
- base->flag |= SELECT;
- base->object->flag |= SELECT;
- }
-}
-
-static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
-
- if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
- if(base) {
- base->flag &= ~SELECT;
- base->object->flag &= ~SELECT;
- }
-}
-
-static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
-
- if(base==NULL)
- base= object_in_scene((Object *)tselem->id, scene);
- if(base) {
- // check also library later
- if(scene->obedit==base->object)
- ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
-
- ED_base_object_free_and_unlink(CTX_data_main(C), scene, base);
- te->directdata= NULL;
- tselem->id= NULL;
- }
-
-}
-
-static void id_local_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- if(tselem->id->lib && (tselem->id->flag & LIB_EXTERN)) {
- tselem->id->lib= NULL;
- tselem->id->flag= LIB_LOCAL;
- new_id(NULL, tselem->id, NULL);
- }
-}
-
-static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Group *group= (Group *)tselem->id;
- GroupObject *gob;
- Base *base;
-
- for(gob=group->gobject.first; gob; gob=gob->next) {
- base= object_in_scene(gob->ob, scene);
- if (base) {
- base->object->flag |= SELECT;
- base->flag |= SELECT;
- } else {
- /* link to scene */
- base= MEM_callocN( sizeof(Base), "add_base");
- BLI_addhead(&scene->base, base);
- base->lay= (1<<20)-1; /*v3d->lay;*/ /* would be nice to use the 3d layer but the include's not here */
- gob->ob->flag |= SELECT;
- base->flag = gob->ob->flag;
- base->object= gob->ob;
- id_lib_extern((ID *)gob->ob); /* incase these are from a linked group */
- }
- }
-}
-
-static void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soops, ListBase *lb,
- void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te=lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->flag & TSE_SELECTED) {
- if(tselem->type==0 && te->idcode==ID_OB) {
- // when objects selected in other scenes... dunno if that should be allowed
- Scene *scene_owner= (Scene *)outliner_search_back(soops, te, ID_SCE);
- if(scene_owner && scene_act != scene_owner) {
- ED_screen_set_scene(C, scene_owner);
- }
- /* important to use 'scene_owner' not scene_act else deleting objects can crash.
- * only use 'scene_act' when 'scene_owner' is NULL, which can happen when the
- * outliner isnt showing scenes: Visible Layer draw mode for eg. */
- operation_cb(C, scene_owner ? scene_owner : scene_act, te, NULL, tselem);
- }
- }
- if((tselem->flag & TSE_CLOSED)==0) {
- outliner_do_object_operation(C, scene_act, soops, &te->subtree, operation_cb);
- }
- }
-}
-
-/* ******************************************** */
-
-static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
-{
- bPoseChannel *pchan= (bPoseChannel *)te->directdata;
-
- if(event==1)
- pchan->bone->flag |= BONE_SELECTED;
- else if(event==2)
- pchan->bone->flag &= ~BONE_SELECTED;
- else if(event==3) {
- pchan->bone->flag |= BONE_HIDDEN_P;
- pchan->bone->flag &= ~BONE_SELECTED;
- }
- else if(event==4)
- pchan->bone->flag &= ~BONE_HIDDEN_P;
-}
-
-static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
-{
- Bone *bone= (Bone *)te->directdata;
-
- if(event==1)
- bone->flag |= BONE_SELECTED;
- else if(event==2)
- bone->flag &= ~BONE_SELECTED;
- else if(event==3) {
- bone->flag |= BONE_HIDDEN_P;
- bone->flag &= ~BONE_SELECTED;
- }
- else if(event==4)
- bone->flag &= ~BONE_HIDDEN_P;
-}
-
-static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
-{
- EditBone *ebone= (EditBone *)te->directdata;
-
- if(event==1)
- ebone->flag |= BONE_SELECTED;
- else if(event==2)
- ebone->flag &= ~BONE_SELECTED;
- else if(event==3) {
- ebone->flag |= BONE_HIDDEN_A;
- ebone->flag &= ~BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL;
- }
- else if(event==4)
- ebone->flag &= ~BONE_HIDDEN_A;
-}
-
-static void sequence_cb(int event, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tselem))
-{
-// Sequence *seq= (Sequence*) te->directdata;
- if(event==1) {
-// XXX select_single_seq(seq, 1);
- }
-}
-
-static void outliner_do_data_operation(SpaceOops *soops, int type, int event, ListBase *lb,
- void (*operation_cb)(int, TreeElement *, TreeStoreElem *))
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te=lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->flag & TSE_SELECTED) {
- if(tselem->type==type) {
- operation_cb(event, te, tselem);
- }
- }
- if((tselem->flag & TSE_CLOSED)==0) {
- outliner_do_data_operation(soops, type, event, &te->subtree, operation_cb);
- }
- }
-}
-
-static void outliner_del(bContext *C, Scene *scene, ARegion *UNUSED(ar), SpaceOops *soops)
-{
-
- if(soops->outlinevis==SO_SEQUENCE)
- ;// del_seq();
- else {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb);
- DAG_scene_sort(CTX_data_main(C), scene);
- ED_undo_push(C, "Delete Objects");
- WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
- }
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_object_op_types[] = {
- {1, "SELECT", 0, "Select", ""},
- {2, "DESELECT", 0, "Deselect", ""},
- {4, "DELETE", 0, "Delete", ""},
- {6, "TOGVIS", 0, "Toggle Visible", ""},
- {7, "TOGSEL", 0, "Toggle Selectable", ""},
- {8, "TOGREN", 0, "Toggle Renderable", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_object_operation_exec(bContext *C, wmOperator *op)
-{
- Main *bmain= CTX_data_main(C);
- Scene *scene= CTX_data_scene(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- int event;
- const char *str= NULL;
-
- /* check for invalid states */
- if (soops == NULL)
- return OPERATOR_CANCELLED;
-
- event= RNA_enum_get(op->ptr, "type");
-
- if(event==1) {
- Scene *sce= scene; // to be able to delete, scenes are set...
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_select_cb);
- if(scene != sce) {
- ED_screen_set_scene(C, sce);
- }
-
- str= "Select Objects";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- }
- else if(event==2) {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_deselect_cb);
- str= "Deselect Objects";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- }
- else if(event==4) {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb);
- DAG_scene_sort(bmain, scene);
- str= "Delete Objects";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
- }
- else if(event==5) { /* disabled, see above enum (ton) */
- outliner_do_object_operation(C, scene, soops, &soops->tree, id_local_cb);
- str= "Localized Objects";
- }
- else if(event==6) {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
- str= "Toggle Visibility";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
- }
- else if(event==7) {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
- str= "Toggle Selectability";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- }
- else if(event==8) {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
- str= "Toggle Renderability";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, scene);
- }
-
- ED_undo_push(C, str);
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_object_operation(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Outliner Object Operation";
- ot->idname= "OUTLINER_OT_object_operation";
- ot->description= "";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= outliner_object_operation_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= 0;
-
- ot->prop= RNA_def_enum(ot->srna, "type", prop_object_op_types, 0, "Object Operation", "");
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_group_op_types[] = {
- {1, "UNLINK", 0, "Unlink", ""},
- {2, "LOCAL", 0, "Make Local", ""},
- {3, "LINK", 0, "Link Group Objects to Scene", ""},
- {4, "TOGVIS", 0, "Toggle Visible", ""},
- {5, "TOGSEL", 0, "Toggle Selectable", ""},
- {6, "TOGREN", 0, "Toggle Renderable", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_group_operation_exec(bContext *C, wmOperator *op)
-{
- Scene *scene= CTX_data_scene(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- int event;
-
- /* check for invalid states */
- if (soops == NULL)
- return OPERATOR_CANCELLED;
-
- event= RNA_enum_get(op->ptr, "type");
-
- if(event==1) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_group_cb);
- ED_undo_push(C, "Unlink group");
- }
- else if(event==2) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
- ED_undo_push(C, "Localized Data");
- }
- else if(event==3) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_linkobs2scene_cb);
- ED_undo_push(C, "Link Group Objects to Scene");
- }
-
-
- WM_event_add_notifier(C, NC_GROUP, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_group_operation(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Outliner Group Operation";
- ot->idname= "OUTLINER_OT_group_operation";
- ot->description= "";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= outliner_group_operation_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= 0;
-
- ot->prop= RNA_def_enum(ot->srna, "type", prop_group_op_types, 0, "Group Operation", "");
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_id_op_types[] = {
- {1, "UNLINK", 0, "Unlink", ""},
- {2, "LOCAL", 0, "Make Local", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_id_operation_exec(bContext *C, wmOperator *op)
-{
- Scene *scene= CTX_data_scene(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
- int event;
-
- /* check for invalid states */
- if (soops == NULL)
- return OPERATOR_CANCELLED;
-
- set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
-
- event= RNA_enum_get(op->ptr, "type");
-
- if(event==1) {
- switch(idlevel) {
- case ID_MA:
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_material_cb);
- ED_undo_push(C, "Unlink material");
- break;
- case ID_TE:
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_texture_cb);
- ED_undo_push(C, "Unlink texture");
- break;
- default:
- BKE_report(op->reports, RPT_WARNING, "Not Yet");
- }
- }
- else if(event==2) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
- ED_undo_push(C, "Localized Data");
- }
-
- /* wrong notifier still... */
- WM_event_add_notifier(C, NC_OBJECT, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_id_operation(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Outliner ID data Operation";
- ot->idname= "OUTLINER_OT_id_operation";
- ot->description= "";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= outliner_id_operation_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= 0;
-
- ot->prop= RNA_def_enum(ot->srna, "type", prop_id_op_types, 0, "ID data Operation", "");
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_data_op_types[] = {
- {1, "SELECT", 0, "Select", ""},
- {2, "DESELECT", 0, "Deselect", ""},
- {3, "HIDE", 0, "Hide", ""},
- {4, "UNHIDE", 0, "Unhide", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_data_operation_exec(bContext *C, wmOperator *op)
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
- int event;
-
- /* check for invalid states */
- if (soops == NULL)
- return OPERATOR_CANCELLED;
-
- event= RNA_enum_get(op->ptr, "type");
- set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
-
- if(datalevel==TSE_POSE_CHANNEL) {
- if(event>0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
- ED_undo_push(C, "PoseChannel operation");
- }
- }
- else if(datalevel==TSE_BONE) {
- if(event>0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
- ED_undo_push(C, "Bone operation");
- }
- }
- else if(datalevel==TSE_EBONE) {
- if(event>0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
- ED_undo_push(C, "EditBone operation");
- }
- }
- else if(datalevel==TSE_SEQUENCE) {
- if(event>0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb);
- }
- }
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_data_operation(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Outliner Data Operation";
- ot->idname= "OUTLINER_OT_data_operation";
- ot->description= "";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= outliner_data_operation_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= 0;
-
- ot->prop= RNA_def_enum(ot->srna, "type", prop_data_op_types, 0, "Data Operation", "");
-}
-
-
-/* ******************** */
-
-
-static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, const float mval[2])
-{
-
- if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
- int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
- TreeStoreElem *tselem= TREESTORE(te);
-
- /* select object that's clicked on and popup context menu */
- if (!(tselem->flag & TSE_SELECTED)) {
-
- if ( outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1) )
- outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
-
- tselem->flag |= TSE_SELECTED;
- /* redraw, same as outliner_select function */
- soops->storeflag |= SO_TREESTORE_REDRAW;
- ED_region_tag_redraw(ar);
- }
-
- set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
-
- if(scenelevel) {
- //if(objectlevel || datalevel || idlevel) error("Mixed selection");
- //else pupmenu("Scene Operations%t|Delete");
- }
- else if(objectlevel) {
- WM_operator_name_call(C, "OUTLINER_OT_object_operation", WM_OP_INVOKE_REGION_WIN, NULL);
- }
- else if(idlevel) {
- if(idlevel==-1 || datalevel) error("Mixed selection");
- else {
- if (idlevel==ID_GR)
- WM_operator_name_call(C, "OUTLINER_OT_group_operation", WM_OP_INVOKE_REGION_WIN, NULL);
- else
- WM_operator_name_call(C, "OUTLINER_OT_id_operation", WM_OP_INVOKE_REGION_WIN, NULL);
- }
- }
- else if(datalevel) {
- if(datalevel==-1) error("Mixed selection");
- else {
- WM_operator_name_call(C, "OUTLINER_OT_data_operation", WM_OP_INVOKE_REGION_WIN, NULL);
- }
- }
-
- return 1;
- }
-
- for(te= te->subtree.first; te; te= te->next) {
- if(do_outliner_operation_event(C, scene, ar, soops, te, event, mval))
- return 1;
- }
- return 0;
-}
-
-
-static int outliner_operation(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
-{
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- TreeElement *te;
- float fmval[2];
-
- UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-
- for(te= soops->tree.first; te; te= te->next) {
- if(do_outliner_operation_event(C, scene, ar, soops, te, event, fmval)) break;
- }
-
- return OPERATOR_FINISHED;
-}
-
-/* Menu only! Calls other operators */
-void OUTLINER_OT_operation(wmOperatorType *ot)
-{
- ot->name= "Execute Operation";
- ot->idname= "OUTLINER_OT_operation";
- ot->description= "Context menu for item operations";
-
- ot->invoke= outliner_operation;
-
- ot->poll= ED_operator_outliner_active;
-}
-
-
-
-/* ***************** ANIMATO OPERATIONS ********************************** */
-/* KeyingSet and Driver Creation - Helper functions */
-
-/* specialised poll callback for these operators to work in Datablocks view only */
-static int ed_operator_outliner_datablocks_active(bContext *C)
-{
- ScrArea *sa= CTX_wm_area(C);
- if ((sa) && (sa->spacetype==SPACE_OUTLINER)) {
- SpaceOops *so= CTX_wm_space_outliner(C);
- return (so->outlinevis == SO_DATABLOCKS);
- }
- return 0;
-}
-
-
-/* Helper func to extract an RNA path from selected tree element
- * NOTE: the caller must zero-out all values of the pointers that it passes here first, as
- * this function does not do that yet
- */
-static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem,
- ID **id, char **path, int *array_index, short *flag, short *UNUSED(groupmode))
-{
- ListBase hierarchy = {NULL, NULL};
- LinkData *ld;
- TreeElement *tem, *temnext, *temsub;
- TreeStoreElem *tse, *tsenext;
- PointerRNA *ptr, *nextptr;
- PropertyRNA *prop;
- char *newpath=NULL;
-
- /* optimise tricks:
- * - Don't do anything if the selected item is a 'struct', but arrays are allowed
- */
- if (tselem->type == TSE_RNA_STRUCT)
- return;
-
- /* Overview of Algorithm:
- * 1. Go up the chain of parents until we find the 'root', taking note of the
- * levels encountered in reverse-order (i.e. items are added to the start of the list
- * for more convenient looping later)
- * 2. Walk down the chain, adding from the first ID encountered
- * (which will become the 'ID' for the KeyingSet Path), and build a
- * path as we step through the chain
- */
-
- /* step 1: flatten out hierarchy of parents into a flat chain */
- for (tem= te->parent; tem; tem= tem->parent) {
- ld= MEM_callocN(sizeof(LinkData), "LinkData for tree_element_to_path()");
- ld->data= tem;
- BLI_addhead(&hierarchy, ld);
- }
-
- /* step 2: step down hierarchy building the path (NOTE: addhead in previous loop was needed so that we can loop like this) */
- for (ld= hierarchy.first; ld; ld= ld->next) {
- /* get data */
- tem= (TreeElement *)ld->data;
- tse= TREESTORE(tem);
- ptr= &tem->rnaptr;
- prop= tem->directdata;
-
- /* check if we're looking for first ID, or appending to path */
- if (*id) {
- /* just 'append' property to path
- * - to prevent memory leaks, we must write to newpath not path, then free old path + swap them
- */
- if(tse->type == TSE_RNA_PROPERTY) {
- if(RNA_property_type(prop) == PROP_POINTER) {
- /* for pointer we just append property name */
- newpath= RNA_path_append(*path, ptr, prop, 0, NULL);
- }
- else if(RNA_property_type(prop) == PROP_COLLECTION) {
- char buf[128], *name;
-
- temnext= (TreeElement*)(ld->next->data);
- tsenext= TREESTORE(temnext);
-
- nextptr= &temnext->rnaptr;
- name= RNA_struct_name_get_alloc(nextptr, buf, sizeof(buf));
-
- if(name) {
- /* if possible, use name as a key in the path */
- newpath= RNA_path_append(*path, NULL, prop, 0, name);
-
- if(name != buf)
- MEM_freeN(name);
- }
- else {
- /* otherwise use index */
- int index= 0;
-
- for(temsub=tem->subtree.first; temsub; temsub=temsub->next, index++)
- if(temsub == temnext)
- break;
-
- newpath= RNA_path_append(*path, NULL, prop, index, NULL);
- }
-
- ld= ld->next;
- }
- }
-
- if(newpath) {
- if (*path) MEM_freeN(*path);
- *path= newpath;
- newpath= NULL;
- }
- }
- else {
- /* no ID, so check if entry is RNA-struct, and if that RNA-struct is an ID datablock to extract info from */
- if (tse->type == TSE_RNA_STRUCT) {
- /* ptr->data not ptr->id.data seems to be the one we want, since ptr->data is sometimes the owner of this ID? */
- if(RNA_struct_is_ID(ptr->type)) {
- *id= (ID *)ptr->data;
-
- /* clear path */
- if(*path) {
- MEM_freeN(*path);
- path= NULL;
- }
- }
- }
- }
- }
-
- /* step 3: if we've got an ID, add the current item to the path */
- if (*id) {
- /* add the active property to the path */
- ptr= &te->rnaptr;
- prop= te->directdata;
-
- /* array checks */
- if (tselem->type == TSE_RNA_ARRAY_ELEM) {
- /* item is part of an array, so must set the array_index */
- *array_index= te->index;
- }
- else if (RNA_property_array_length(ptr, prop)) {
- /* entire array was selected, so keyframe all */
- *flag |= KSP_FLAG_WHOLE_ARRAY;
- }
-
- /* path */
- newpath= RNA_path_append(*path, NULL, prop, 0, NULL);
- if (*path) MEM_freeN(*path);
- *path= newpath;
- }
-
- /* free temp data */
- BLI_freelistN(&hierarchy);
-}
-
-/* ***************** KEYINGSET OPERATIONS *************** */
-
-/* These operators are only available in databrowser mode for now, as
- * they depend on having RNA paths and/or hierarchies available.
- */
-enum {
- DRIVERS_EDITMODE_ADD = 0,
- DRIVERS_EDITMODE_REMOVE,
-} /*eDrivers_EditModes*/;
-
-/* Utilities ---------------------------------- */
-
-/* Recursively iterate over tree, finding and working on selected items */
-static void do_outliner_drivers_editop(SpaceOops *soops, ListBase *tree, ReportList *reports, short mode)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for (te= tree->first; te; te=te->next) {
- tselem= TREESTORE(te);
-
- /* if item is selected, perform operation */
- if (tselem->flag & TSE_SELECTED) {
- ID *id= NULL;
- char *path= NULL;
- int array_index= 0;
- short flag= 0;
- short groupmode= KSP_GROUP_KSNAME;
-
- /* check if RNA-property described by this selected element is an animateable prop */
- if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
- /* get id + path + index info from the selected element */
- tree_element_to_path(soops, te, tselem,
- &id, &path, &array_index, &flag, &groupmode);
- }
-
- /* only if ID and path were set, should we perform any actions */
- if (id && path) {
- short dflags = CREATEDRIVER_WITH_DEFAULT_DVAR;
- int arraylen = 1;
-
- /* array checks */
- if (flag & KSP_FLAG_WHOLE_ARRAY) {
- /* entire array was selected, so add drivers for all */
- arraylen= RNA_property_array_length(&te->rnaptr, te->directdata);
- }
- else
- arraylen= array_index;
-
- /* we should do at least one step */
- if (arraylen == array_index)
- arraylen++;
-
- /* for each array element we should affect, add driver */
- for (; array_index < arraylen; array_index++) {
- /* action depends on mode */
- switch (mode) {
- case DRIVERS_EDITMODE_ADD:
- {
- /* add a new driver with the information obtained (only if valid) */
- ANIM_add_driver(reports, id, path, array_index, dflags, DRIVER_TYPE_PYTHON);
- }
- break;
- case DRIVERS_EDITMODE_REMOVE:
- {
- /* remove driver matching the information obtained (only if valid) */
- ANIM_remove_driver(reports, id, path, array_index, dflags);
- }
- break;
- }
- }
-
- /* free path, since it had to be generated */
- MEM_freeN(path);
- }
-
-
- }
-
- /* go over sub-tree */
- if ((tselem->flag & TSE_CLOSED)==0)
- do_outliner_drivers_editop(soops, &te->subtree, reports, mode);
- }
-}
-
-/* Add Operator ---------------------------------- */
-
-static int outliner_drivers_addsel_exec(bContext *C, wmOperator *op)
-{
- SpaceOops *soutliner= CTX_wm_space_outliner(C);
-
- /* check for invalid states */
- if (soutliner == NULL)
- return OPERATOR_CANCELLED;
-
- /* recursively go into tree, adding selected items */
- do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_ADD);
-
- /* send notifiers */
- WM_event_add_notifier(C, NC_ANIMATION|ND_FCURVES_ORDER, NULL); // XXX
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_drivers_add_selected(wmOperatorType *ot)
-{
- /* api callbacks */
- ot->idname= "OUTLINER_OT_drivers_add_selected";
- ot->name= "Add Drivers for Selected";
- ot->description= "Add drivers to selected items";
-
- /* api callbacks */
- ot->exec= outliner_drivers_addsel_exec;
- ot->poll= ed_operator_outliner_datablocks_active;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-
-/* Remove Operator ---------------------------------- */
-
-static int outliner_drivers_deletesel_exec(bContext *C, wmOperator *op)
-{
- SpaceOops *soutliner= CTX_wm_space_outliner(C);
-
- /* check for invalid states */
- if (soutliner == NULL)
- return OPERATOR_CANCELLED;
-
- /* recursively go into tree, adding selected items */
- do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_REMOVE);
-
- /* send notifiers */
- WM_event_add_notifier(C, ND_KEYS, NULL); // XXX
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_drivers_delete_selected(wmOperatorType *ot)
-{
- /* identifiers */
- ot->idname= "OUTLINER_OT_drivers_delete_selected";
- ot->name= "Delete Drivers for Selected";
- ot->description= "Delete drivers assigned to selected items";
-
- /* api callbacks */
- ot->exec= outliner_drivers_deletesel_exec;
- ot->poll= ed_operator_outliner_datablocks_active;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* ***************** KEYINGSET OPERATIONS *************** */
-
-/* These operators are only available in databrowser mode for now, as
- * they depend on having RNA paths and/or hierarchies available.
- */
-enum {
- KEYINGSET_EDITMODE_ADD = 0,
- KEYINGSET_EDITMODE_REMOVE,
-} /*eKeyingSet_EditModes*/;
-
-/* Utilities ---------------------------------- */
-
-/* find the 'active' KeyingSet, and add if not found (if adding is allowed) */
-// TODO: should this be an API func?
-static KeyingSet *verify_active_keyingset(Scene *scene, short add)
-{
- KeyingSet *ks= NULL;
-
- /* sanity check */
- if (scene == NULL)
- return NULL;
-
- /* try to find one from scene */
- if (scene->active_keyingset > 0)
- ks= BLI_findlink(&scene->keyingsets, scene->active_keyingset-1);
-
- /* add if none found */
- // XXX the default settings have yet to evolve
- if ((add) && (ks==NULL)) {
- ks= BKE_keyingset_add(&scene->keyingsets, NULL, KEYINGSET_ABSOLUTE, 0);
- scene->active_keyingset= BLI_countlist(&scene->keyingsets);
- }
-
- return ks;
-}
-
-/* Recursively iterate over tree, finding and working on selected items */
-static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBase *tree, short mode)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for (te= tree->first; te; te=te->next) {
- tselem= TREESTORE(te);
-
- /* if item is selected, perform operation */
- if (tselem->flag & TSE_SELECTED) {
- ID *id= NULL;
- char *path= NULL;
- int array_index= 0;
- short flag= 0;
- short groupmode= KSP_GROUP_KSNAME;
-
- /* check if RNA-property described by this selected element is an animateable prop */
- if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
- /* get id + path + index info from the selected element */
- tree_element_to_path(soops, te, tselem,
- &id, &path, &array_index, &flag, &groupmode);
- }
-
- /* only if ID and path were set, should we perform any actions */
- if (id && path) {
- /* action depends on mode */
- switch (mode) {
- case KEYINGSET_EDITMODE_ADD:
- {
- /* add a new path with the information obtained (only if valid) */
- // TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name
- BKE_keyingset_add_path(ks, id, NULL, path, array_index, flag, groupmode);
- ks->active_path= BLI_countlist(&ks->paths);
- }
- break;
- case KEYINGSET_EDITMODE_REMOVE:
- {
- /* find the relevant path, then remove it from the KeyingSet */
- KS_Path *ksp= BKE_keyingset_find_path(ks, id, NULL, path, array_index, groupmode);
-
- if (ksp) {
- /* free path's data */
- BKE_keyingset_free_path(ks, ksp);
-
- ks->active_path= 0;
- }
- }
- break;
- }
-
- /* free path, since it had to be generated */
- MEM_freeN(path);
- }
- }
-
- /* go over sub-tree */
- if ((tselem->flag & TSE_CLOSED)==0)
- do_outliner_keyingset_editop(soops, ks, &te->subtree, mode);
- }
-}
-
-/* Add Operator ---------------------------------- */
-
-static int outliner_keyingset_additems_exec(bContext *C, wmOperator *op)
-{
- SpaceOops *soutliner= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- KeyingSet *ks= verify_active_keyingset(scene, 1);
-
- /* check for invalid states */
- if (ks == NULL) {
- BKE_report(op->reports, RPT_ERROR, "Operation requires an Active Keying Set");
- return OPERATOR_CANCELLED;
- }
- if (soutliner == NULL)
- return OPERATOR_CANCELLED;
-
- /* recursively go into tree, adding selected items */
- do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_ADD);
-
- /* send notifiers */
- WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_keyingset_add_selected(wmOperatorType *ot)
-{
- /* identifiers */
- ot->idname= "OUTLINER_OT_keyingset_add_selected";
- ot->name= "Keying Set Add Selected";
- ot->description= "Add selected items (blue-grey rows) to active Keying Set";
-
- /* api callbacks */
- ot->exec= outliner_keyingset_additems_exec;
- ot->poll= ed_operator_outliner_datablocks_active;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-
-/* Remove Operator ---------------------------------- */
-
-static int outliner_keyingset_removeitems_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soutliner= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- KeyingSet *ks= verify_active_keyingset(scene, 1);
-
- /* check for invalid states */
- if (soutliner == NULL)
- return OPERATOR_CANCELLED;
-
- /* recursively go into tree, adding selected items */
- do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_REMOVE);
-
- /* send notifiers */
- WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_keyingset_remove_selected(wmOperatorType *ot)
-{
- /* identifiers */
- ot->idname= "OUTLINER_OT_keyingset_remove_selected";
- ot->name= "Keying Set Remove Selected";
- ot->description = "Remove selected items (blue-grey rows) from active Keying Set";
-
- /* api callbacks */
- ot->exec= outliner_keyingset_removeitems_exec;
- ot->poll= ed_operator_outliner_datablocks_active;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* ***************** DRAW *************** */
-
-/* make function calls a bit compacter */
-struct DrawIconArg {
- uiBlock *block;
- ID *id;
- int xmax, x, y;
- float alpha;
-};
-
-static void tselem_draw_icon_uibut(struct DrawIconArg *arg, int icon)
-{
- /* restrict collumn clip... it has been coded by simply overdrawing, doesnt work for buttons */
- if(arg->x >= arg->xmax)
- UI_icon_draw(arg->x, arg->y, icon);
- else {
- /* XXX investigate: button placement of icons is way different than UI_icon_draw? */
- float ufac= UI_UNIT_X/20.0f;
- uiBut *but= uiDefIconBut(arg->block, LABEL, 0, icon, arg->x-3.0f*ufac, arg->y, UI_UNIT_X-4.0f*ufac, UI_UNIT_Y-4.0f*ufac, NULL, 0.0, 0.0, 1.0, arg->alpha, (arg->id && arg->id->lib) ? arg->id->lib->name : "");
-
- if(arg->id)
- uiButSetDragID(but, arg->id);
- }
-
-}
-
-static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeStoreElem *tselem, TreeElement *te, float alpha)
-{
- struct DrawIconArg arg;
-
- /* make function calls a bit compacter */
- arg.block= block;
- arg.id= tselem->id;
- arg.xmax= xmax;
- arg.x= x;
- arg.y= y;
- arg.alpha= alpha;
-
- if(tselem->type) {
- switch( tselem->type) {
- case TSE_ANIM_DATA:
- UI_icon_draw(x, y, ICON_ANIM_DATA); break; // xxx
- case TSE_NLA:
- UI_icon_draw(x, y, ICON_NLA); break;
- case TSE_NLA_TRACK:
- UI_icon_draw(x, y, ICON_NLA); break; // XXX
- case TSE_NLA_ACTION:
- UI_icon_draw(x, y, ICON_ACTION); break;
- case TSE_DEFGROUP_BASE:
- UI_icon_draw(x, y, ICON_GROUP_VERTEX); break;
- case TSE_BONE:
- case TSE_EBONE:
- UI_icon_draw(x, y, ICON_BONE_DATA); break;
- case TSE_CONSTRAINT_BASE:
- UI_icon_draw(x, y, ICON_CONSTRAINT); break;
- case TSE_MODIFIER_BASE:
- UI_icon_draw(x, y, ICON_MODIFIER); break;
- case TSE_LINKED_OB:
- UI_icon_draw(x, y, ICON_OBJECT_DATA); break;
- case TSE_LINKED_PSYS:
- UI_icon_draw(x, y, ICON_PARTICLES); break;
- case TSE_MODIFIER:
- {
- Object *ob= (Object *)tselem->id;
- ModifierData *md= BLI_findlink(&ob->modifiers, tselem->nr);
- switch(md->type) {
- case eModifierType_Subsurf:
- UI_icon_draw(x, y, ICON_MOD_SUBSURF); break;
- case eModifierType_Armature:
- UI_icon_draw(x, y, ICON_MOD_ARMATURE); break;
- case eModifierType_Lattice:
- UI_icon_draw(x, y, ICON_MOD_LATTICE); break;
- case eModifierType_Curve:
- UI_icon_draw(x, y, ICON_MOD_CURVE); break;
- case eModifierType_Build:
- UI_icon_draw(x, y, ICON_MOD_BUILD); break;
- case eModifierType_Mirror:
- UI_icon_draw(x, y, ICON_MOD_MIRROR); break;
- case eModifierType_Decimate:
- UI_icon_draw(x, y, ICON_MOD_DECIM); break;
- case eModifierType_Wave:
- UI_icon_draw(x, y, ICON_MOD_WAVE); break;
- case eModifierType_Hook:
- UI_icon_draw(x, y, ICON_HOOK); break;
- case eModifierType_Softbody:
- UI_icon_draw(x, y, ICON_MOD_SOFT); break;
- case eModifierType_Boolean:
- UI_icon_draw(x, y, ICON_MOD_BOOLEAN); break;
- case eModifierType_ParticleSystem:
- UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
- case eModifierType_ParticleInstance:
- UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
- case eModifierType_EdgeSplit:
- UI_icon_draw(x, y, ICON_MOD_EDGESPLIT); break;
- case eModifierType_Array:
- UI_icon_draw(x, y, ICON_MOD_ARRAY); break;
- case eModifierType_UVProject:
- UI_icon_draw(x, y, ICON_MOD_UVPROJECT); break;
- case eModifierType_Displace:
- UI_icon_draw(x, y, ICON_MOD_DISPLACE); break;
- case eModifierType_Shrinkwrap:
- UI_icon_draw(x, y, ICON_MOD_SHRINKWRAP); break;
- case eModifierType_Cast:
- UI_icon_draw(x, y, ICON_MOD_CAST); break;
- case eModifierType_MeshDeform:
- UI_icon_draw(x, y, ICON_MOD_MESHDEFORM); break;
- case eModifierType_Bevel:
- UI_icon_draw(x, y, ICON_MOD_BEVEL); break;
- case eModifierType_Smooth:
- UI_icon_draw(x, y, ICON_MOD_SMOOTH); break;
- case eModifierType_SimpleDeform:
- UI_icon_draw(x, y, ICON_MOD_SIMPLEDEFORM); break;
- case eModifierType_Mask:
- UI_icon_draw(x, y, ICON_MOD_MASK); break;
- case eModifierType_Cloth:
- UI_icon_draw(x, y, ICON_MOD_CLOTH); break;
- case eModifierType_Explode:
- UI_icon_draw(x, y, ICON_MOD_EXPLODE); break;
- case eModifierType_Collision:
- UI_icon_draw(x, y, ICON_MOD_PHYSICS); break;
- case eModifierType_Fluidsim:
- UI_icon_draw(x, y, ICON_MOD_FLUIDSIM); break;
- case eModifierType_Multires:
- UI_icon_draw(x, y, ICON_MOD_MULTIRES); break;
- case eModifierType_Smoke:
- UI_icon_draw(x, y, ICON_MOD_SMOKE); break;
- case eModifierType_Solidify:
- UI_icon_draw(x, y, ICON_MOD_SOLIDIFY); break;
- case eModifierType_Screw:
- UI_icon_draw(x, y, ICON_MOD_SCREW); break;
- default:
- UI_icon_draw(x, y, ICON_DOT); break;
- }
- break;
- }
- case TSE_SCRIPT_BASE:
- UI_icon_draw(x, y, ICON_TEXT); break;
- case TSE_POSE_BASE:
- UI_icon_draw(x, y, ICON_ARMATURE_DATA); break;
- case TSE_POSE_CHANNEL:
- UI_icon_draw(x, y, ICON_BONE_DATA); break;
- case TSE_PROXY:
- UI_icon_draw(x, y, ICON_GHOST); break;
- case TSE_R_LAYER_BASE:
- UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
- case TSE_R_LAYER:
- UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
- case TSE_LINKED_LAMP:
- UI_icon_draw(x, y, ICON_LAMP_DATA); break;
- case TSE_LINKED_MAT:
- UI_icon_draw(x, y, ICON_MATERIAL_DATA); break;
- case TSE_POSEGRP_BASE:
- UI_icon_draw(x, y, ICON_VERTEXSEL); break;
- case TSE_SEQUENCE:
- if(te->idcode==SEQ_MOVIE)
- UI_icon_draw(x, y, ICON_SEQUENCE);
- else if(te->idcode==SEQ_META)
- UI_icon_draw(x, y, ICON_DOT);
- else if(te->idcode==SEQ_SCENE)
- UI_icon_draw(x, y, ICON_SCENE);
- else if(te->idcode==SEQ_SOUND)
- UI_icon_draw(x, y, ICON_SOUND);
- else if(te->idcode==SEQ_IMAGE)
- UI_icon_draw(x, y, ICON_IMAGE_COL);
- else
- UI_icon_draw(x, y, ICON_PARTICLES);
- break;
- case TSE_SEQ_STRIP:
- UI_icon_draw(x, y, ICON_LIBRARY_DATA_DIRECT);
- break;
- case TSE_SEQUENCE_DUP:
- UI_icon_draw(x, y, ICON_OBJECT_DATA);
- break;
- case TSE_RNA_STRUCT:
- if(RNA_struct_is_ID(te->rnaptr.type)) {
- arg.id= (ID *)te->rnaptr.data;
- tselem_draw_icon_uibut(&arg, RNA_struct_ui_icon(te->rnaptr.type));
- }
- else
- UI_icon_draw(x, y, RNA_struct_ui_icon(te->rnaptr.type));
- break;
- default:
- UI_icon_draw(x, y, ICON_DOT); break;
- }
- }
- else if (GS(tselem->id->name) == ID_OB) {
- Object *ob= (Object *)tselem->id;
- switch (ob->type) {
- case OB_LAMP:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LAMP); break;
- case OB_MESH:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_MESH); break;
- case OB_CAMERA:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CAMERA); break;
- case OB_CURVE:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CURVE); break;
- case OB_MBALL:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_META); break;
- case OB_LATTICE:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LATTICE); break;
- case OB_ARMATURE:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_ARMATURE); break;
- case OB_FONT:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_FONT); break;
- case OB_SURF:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SURFACE); break;
- case OB_EMPTY:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_EMPTY); break;
-
- }
- }
- else {
- switch( GS(tselem->id->name)) {
- case ID_SCE:
- tselem_draw_icon_uibut(&arg, ICON_SCENE_DATA); break;
- case ID_ME:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_MESH); break;
- case ID_CU:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CURVE); break;
- case ID_MB:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_META); break;
- case ID_LT:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LATTICE); break;
- case ID_LA:
- {
- Lamp *la= (Lamp *)tselem->id;
-
- switch(la->type) {
- case LA_LOCAL:
- tselem_draw_icon_uibut(&arg, ICON_LAMP_POINT); break;
- case LA_SUN:
- tselem_draw_icon_uibut(&arg, ICON_LAMP_SUN); break;
- case LA_SPOT:
- tselem_draw_icon_uibut(&arg, ICON_LAMP_SPOT); break;
- case LA_HEMI:
- tselem_draw_icon_uibut(&arg, ICON_LAMP_HEMI); break;
- case LA_AREA:
- tselem_draw_icon_uibut(&arg, ICON_LAMP_AREA); break;
- default:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LAMP); break;
- }
- break;
- }
- case ID_MA:
- tselem_draw_icon_uibut(&arg, ICON_MATERIAL_DATA); break;
- case ID_TE:
- tselem_draw_icon_uibut(&arg, ICON_TEXTURE_DATA); break;
- case ID_IM:
- tselem_draw_icon_uibut(&arg, ICON_IMAGE_DATA); break;
- case ID_SO:
- tselem_draw_icon_uibut(&arg, ICON_SPEAKER); break;
- case ID_AR:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_ARMATURE); break;
- case ID_CA:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CAMERA); break;
- case ID_KE:
- tselem_draw_icon_uibut(&arg, ICON_SHAPEKEY_DATA); break;
- case ID_WO:
- tselem_draw_icon_uibut(&arg, ICON_WORLD_DATA); break;
- case ID_AC:
- tselem_draw_icon_uibut(&arg, ICON_ACTION); break;
- case ID_NLA:
- tselem_draw_icon_uibut(&arg, ICON_NLA); break;
- case ID_TXT:
- tselem_draw_icon_uibut(&arg, ICON_SCRIPT); break;
- case ID_GR:
- tselem_draw_icon_uibut(&arg, ICON_GROUP); break;
- case ID_LI:
- tselem_draw_icon_uibut(&arg, ICON_LIBRARY_DATA_DIRECT); break;
- }
- }
-}
-
-static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, SpaceOops *soops, ListBase *lb, int level, int xmax, int *offsx, int ys)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- int active;
-
- for(te= lb->first; te; te= te->next) {
-
- /* exit drawing early */
- if((*offsx) - UI_UNIT_X > xmax)
- break;
-
- tselem= TREESTORE(te);
-
- /* object hierarchy always, further constrained on level */
- if(level<1 || (tselem->type==0 && te->idcode==ID_OB)) {
-
- /* active blocks get white circle */
- if(tselem->type==0) {
- if(te->idcode==ID_OB) active= (OBACT==(Object *)tselem->id);
- else if(scene->obedit && scene->obedit->data==tselem->id) active= 1; // XXX use context?
- else active= tree_element_active(C, scene, soops, te, 0);
- }
- else active= tree_element_type_active(NULL, scene, soops, te, tselem, 0);
-
- if(active) {
- float ufac= UI_UNIT_X/20.0f;
-
- uiSetRoundBox(15);
- glColor4ub(255, 255, 255, 100);
- uiRoundBox( (float)*offsx-0.5f*ufac, (float)ys-1.0f*ufac, (float)*offsx+UI_UNIT_Y-3.0f*ufac, (float)ys+UI_UNIT_Y-3.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
- glEnable(GL_BLEND); /* roundbox disables */
- }
-
- tselem_draw_icon(block, xmax, (float)*offsx, (float)ys, tselem, te, 0.5f);
- te->xs= (float)*offsx;
- te->ys= (float)ys;
- te->xend= (short)*offsx+UI_UNIT_X;
- te->flag |= TE_ICONROW; // for click
-
- (*offsx) += UI_UNIT_X;
- }
-
- /* this tree element always has same amount of branches, so dont draw */
- if(tselem->type!=TSE_R_LAYER)
- outliner_draw_iconrow(C, block, scene, soops, &te->subtree, level+1, xmax, offsx, ys);
- }
-
-}
-
-/* closed tree element */
-static void outliner_set_coord_tree_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
-{
- TreeElement *ten;
-
- /* store coord and continue, we need coordinates for elements outside view too */
- te->xs= (float)startx;
- te->ys= (float)(*starty);
-
- for(ten= te->subtree.first; ten; ten= ten->next) {
- outliner_set_coord_tree_element(soops, ten, startx+UI_UNIT_X, starty);
- }
-}
-
-
-static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty)
-{
- TreeElement *ten;
- TreeStoreElem *tselem;
- float ufac= UI_UNIT_X/20.0f;
- int offsx= 0, active=0; // active=1 active obj, else active data
-
- tselem= TREESTORE(te);
-
- if(*starty+2*UI_UNIT_Y >= ar->v2d.cur.ymin && *starty<= ar->v2d.cur.ymax) {
- int xmax= ar->v2d.cur.xmax;
-
- /* icons can be ui buts, we dont want it to overlap with restrict */
- if((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
- xmax-= OL_TOGW+UI_UNIT_X;
-
- glEnable(GL_BLEND);
-
- /* colors for active/selected data */
- if(tselem->type==0) {
- if(te->idcode==ID_SCE) {
- if(tselem->id == (ID *)scene) {
- glColor4ub(255, 255, 255, 100);
- active= 2;
- }
- }
- else if(te->idcode==ID_GR) {
- Group *gr = (Group *)tselem->id;
-
- if(group_select_flag(gr)) {
- char col[4];
- UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
- col[3]= 100;
- glColor4ubv((GLubyte *)col);
-
- active= 2;
- }
- }
- else if(te->idcode==ID_OB) {
- Object *ob= (Object *)tselem->id;
-
- if(ob==OBACT || (ob->flag & SELECT)) {
- char col[4]= {0, 0, 0, 0};
-
- /* outliner active ob: always white text, circle color now similar to view3d */
-
- active= 2; /* means it draws a color circle */
- if(ob==OBACT) {
- if(ob->flag & SELECT) {
- UI_GetThemeColorType4ubv(TH_ACTIVE, SPACE_VIEW3D, col);
- col[3]= 100;
- }
-
- active= 1; /* means it draws white text */
- }
- else if(ob->flag & SELECT) {
- UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
- col[3]= 100;
- }
-
- glColor4ubv((GLubyte *)col);
- }
-
- }
- else if(scene->obedit && scene->obedit->data==tselem->id) {
- glColor4ub(255, 255, 255, 100);
- active= 2;
- }
- else {
- if(tree_element_active(C, scene, soops, te, 0)) {
- glColor4ub(220, 220, 255, 100);
- active= 2;
- }
- }
- }
- else {
- if( tree_element_type_active(NULL, scene, soops, te, tselem, 0) ) active= 2;
- glColor4ub(220, 220, 255, 100);
- }
-
- /* active circle */
- if(active) {
- uiSetRoundBox(15);
- uiRoundBox( (float)startx+UI_UNIT_Y-1.5f*ufac, (float)*starty+2.0f*ufac, (float)startx+2.0f*UI_UNIT_Y-4.0f*ufac, (float)*starty+UI_UNIT_Y-1.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
- glEnable(GL_BLEND); /* roundbox disables it */
-
- te->flag |= TE_ACTIVE; // for lookup in display hierarchies
- }
-
- /* open/close icon, only when sublevels, except for scene */
- if(te->subtree.first || (tselem->type==0 && te->idcode==ID_SCE) || (te->flag & TE_LAZY_CLOSED)) {
- int icon_x;
- if(tselem->type==0 && ELEM(te->idcode, ID_OB, ID_SCE))
- icon_x = startx;
- else
- icon_x = startx+5*ufac;
-
- // icons a bit higher
- if(tselem->flag & TSE_CLOSED)
- UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_RIGHT);
- else
- UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_DOWN);
- }
- offsx+= UI_UNIT_X;
-
- /* datatype icon */
-
- if(!(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))) {
- // icons a bit higher
- tselem_draw_icon(block, xmax, (float)startx+offsx, (float)*starty+2*ufac, tselem, te, 1.0f);
-
- offsx+= UI_UNIT_X;
- }
- else
- offsx+= 2*ufac;
-
- if(tselem->type==0 && tselem->id->lib) {
- glPixelTransferf(GL_ALPHA_SCALE, 0.5f);
- if(tselem->id->flag & LIB_INDIRECT)
- UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_INDIRECT);
- else
- UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_DIRECT);
- glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
- offsx+= UI_UNIT_X;
- }
- glDisable(GL_BLEND);
-
- /* name */
- if(active==1) UI_ThemeColor(TH_TEXT_HI);
- else if(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.75f);
- else UI_ThemeColor(TH_TEXT);
-
- UI_DrawString(startx+offsx, *starty+5*ufac, te->name);
-
- offsx+= (int)(UI_UNIT_X + UI_GetStringWidth(te->name));
-
- /* closed item, we draw the icons, not when it's a scene, or master-server list though */
- if(tselem->flag & TSE_CLOSED) {
- if(te->subtree.first) {
- if(tselem->type==0 && te->idcode==ID_SCE);
- else if(tselem->type!=TSE_R_LAYER) { /* this tree element always has same amount of branches, so dont draw */
- int tempx= startx+offsx;
-
- // divider
- UI_ThemeColorShade(TH_BACK, -40);
- glRecti(tempx -10, *starty+4, tempx -8, *starty+UI_UNIT_Y-4);
-
- glEnable(GL_BLEND);
- glPixelTransferf(GL_ALPHA_SCALE, 0.5);
-
- outliner_draw_iconrow(C, block, scene, soops, &te->subtree, 0, xmax, &tempx, *starty+2);
-
- glPixelTransferf(GL_ALPHA_SCALE, 1.0);
- glDisable(GL_BLEND);
- }
- }
- }
- }
- /* store coord and continue, we need coordinates for elements outside view too */
- te->xs= (float)startx;
- te->ys= (float)*starty;
- te->xend= startx+offsx;
-
- if((tselem->flag & TSE_CLOSED)==0) {
- *starty-= UI_UNIT_Y;
-
- for(ten= te->subtree.first; ten; ten= ten->next)
- outliner_draw_tree_element(C, block, scene, ar, soops, ten, startx+UI_UNIT_X, starty);
- }
- else {
- for(ten= te->subtree.first; ten; ten= ten->next)
- outliner_set_coord_tree_element(soops, te, startx, starty);
-
- *starty-= UI_UNIT_Y;
- }
-}
-
-static void outliner_draw_hierarchy(SpaceOops *soops, ListBase *lb, int startx, int *starty)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- int y1, y2;
-
- if(lb->first==NULL) return;
-
- y1=y2= *starty; /* for vertical lines between objects */
- for(te=lb->first; te; te= te->next) {
- y2= *starty;
- tselem= TREESTORE(te);
-
- /* horizontal line? */
- if(tselem->type==0 && (te->idcode==ID_OB || te->idcode==ID_SCE))
- glRecti(startx, *starty, startx+UI_UNIT_X, *starty-1);
-
- *starty-= UI_UNIT_Y;
-
- if((tselem->flag & TSE_CLOSED)==0)
- outliner_draw_hierarchy(soops, &te->subtree, startx+UI_UNIT_X, starty);
- }
-
- /* vertical line */
- te= lb->last;
- if(te->parent || lb->first!=lb->last) {
- tselem= TREESTORE(te);
- if(tselem->type==0 && te->idcode==ID_OB) {
-
- glRecti(startx, y1+UI_UNIT_Y, startx+1, y2);
- }
- }
-}
-
-static void outliner_draw_struct_marks(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
-
- /* selection status */
- if((tselem->flag & TSE_CLOSED)==0)
- if(tselem->type == TSE_RNA_STRUCT)
- glRecti(0, *starty+1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, *starty+UI_UNIT_Y-1);
-
- *starty-= UI_UNIT_Y;
- if((tselem->flag & TSE_CLOSED)==0) {
- outliner_draw_struct_marks(ar, soops, &te->subtree, starty);
- if(tselem->type == TSE_RNA_STRUCT)
- fdrawline(0, (float)*starty+UI_UNIT_Y, ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (float)*starty+UI_UNIT_Y);
- }
- }
-}
-
-static void outliner_draw_selection(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
-
- /* selection status */
- if(tselem->flag & TSE_SELECTED) {
- glRecti(0, *starty+1, (int)ar->v2d.cur.xmax, *starty+UI_UNIT_Y-1);
- }
- *starty-= UI_UNIT_Y;
- if((tselem->flag & TSE_CLOSED)==0) outliner_draw_selection(ar, soops, &te->subtree, starty);
- }
-}
-
-
-static void outliner_draw_tree(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops)
-{
- TreeElement *te;
- int starty, startx;
- float col[4];
-
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // only once
-
- if (ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
- /* struct marks */
- UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
- //UI_ThemeColorShade(TH_BACK, -20);
- starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
- outliner_draw_struct_marks(ar, soops, &soops->tree, &starty);
- }
-
- /* always draw selection fill before hierarchy */
- UI_GetThemeColor3fv(TH_BACK, col);
- glColor3f(col[0]+0.06f, col[1]+0.08f, col[2]+0.10f);
- starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
- outliner_draw_selection(ar, soops, &soops->tree, &starty);
-
- // grey hierarchy lines
- UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.2f);
- starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y/2-OL_Y_OFFSET;
- startx= 6;
- outliner_draw_hierarchy(soops, &soops->tree, startx, &starty);
-
- // items themselves
- starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
- startx= 0;
- for(te= soops->tree.first; te; te= te->next) {
- outliner_draw_tree_element(C, block, scene, ar, soops, te, startx, &starty);
- }
-}
-
-
-static void outliner_back(ARegion *ar)
-{
- int ystart;
-
- UI_ThemeColorShade(TH_BACK, 6);
- ystart= (int)ar->v2d.tot.ymax;
- ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
-
- while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
- glRecti(0, ystart, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, ystart+UI_UNIT_Y);
- ystart-= 2*UI_UNIT_Y;
- }
-}
-
-static void outliner_draw_restrictcols(ARegion *ar)
-{
- int ystart;
-
- /* background underneath */
- UI_ThemeColor(TH_BACK);
- glRecti((int)ar->v2d.cur.xmax-OL_TOGW, (int)ar->v2d.cur.ymin-V2D_SCROLL_HEIGHT-1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (int)ar->v2d.cur.ymax);
-
- UI_ThemeColorShade(TH_BACK, 6);
- ystart= (int)ar->v2d.tot.ymax;
- ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
-
- while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
- glRecti((int)ar->v2d.cur.xmax-OL_TOGW, ystart, (int)ar->v2d.cur.xmax, ystart+UI_UNIT_Y);
- ystart-= 2*UI_UNIT_Y;
- }
-
- UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
-
- /* view */
- fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
- ar->v2d.cur.ymax,
- ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
- ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
-
- /* render */
- fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
- ar->v2d.cur.ymax,
- ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
- ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
-
- /* render */
- fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
- ar->v2d.cur.ymax,
- ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
- ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
-}
-
-static void restrictbutton_view_cb(bContext *C, void *poin, void *poin2)
-{
- Scene *scene = (Scene *)poin;
- Object *ob = (Object *)poin2;
-
- if(!common_restrict_check(C, ob)) return;
-
- /* deselect objects that are invisible */
- if (ob->restrictflag & OB_RESTRICT_VIEW) {
- /* Ouch! There is no backwards pointer from Object to Base,
- * so have to do loop to find it. */
- ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
- }
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-
-}
-
-static void restrictbutton_sel_cb(bContext *C, void *poin, void *poin2)
-{
- Scene *scene = (Scene *)poin;
- Object *ob = (Object *)poin2;
-
- if(!common_restrict_check(C, ob)) return;
-
- /* if select restriction has just been turned on */
- if (ob->restrictflag & OB_RESTRICT_SELECT) {
- /* Ouch! There is no backwards pointer from Object to Base,
- * so have to do loop to find it. */
- ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
- }
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-
-}
-
-static void restrictbutton_rend_cb(bContext *C, void *poin, void *UNUSED(poin2))
-{
- WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, poin);
-}
-
-static void restrictbutton_r_lay_cb(bContext *C, void *poin, void *UNUSED(poin2))
-{
- WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, poin);
-}
-
-static void restrictbutton_modifier_cb(bContext *C, void *UNUSED(poin), void *poin2)
-{
- Object *ob = (Object *)poin2;
-
- DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
-
- WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
-}
-
-static void restrictbutton_bone_cb(bContext *C, void *UNUSED(poin), void *poin2)
-{
- Bone *bone= (Bone *)poin2;
- if(bone && (bone->flag & BONE_HIDDEN_P))
- bone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
-}
-
-static void restrictbutton_ebone_cb(bContext *C, void *UNUSED(poin), void *poin2)
-{
- EditBone *ebone= (EditBone *)poin2;
- if(ebone && (ebone->flag & BONE_HIDDEN_A))
- ebone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
-
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
-}
-
-static int group_restrict_flag(Group *gr, int flag)
-{
- GroupObject *gob;
-
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- if((gob->ob->restrictflag & flag) == 0)
- return 0;
- }
-
- return 1;
-}
-
-static int group_select_flag(Group *gr)
-{
- GroupObject *gob;
-
- for(gob= gr->gobject.first; gob; gob= gob->next)
- if((gob->ob->flag & SELECT))
- return 1;
-
- return 0;
-}
-
-static void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag)
-{
- Scene *scene = (Scene *)poin;
- GroupObject *gob;
- Group *gr = (Group *)poin2;
-
- if(group_restrict_flag(gr, flag)) {
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- gob->ob->restrictflag &= ~flag;
-
- if(flag==OB_RESTRICT_VIEW)
- if(gob->ob->flag & SELECT)
- ED_base_object_select(object_in_scene(gob->ob, scene), BA_DESELECT);
- }
- }
- else {
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- /* not in editmode */
- if(scene->obedit!=gob->ob) {
- gob->ob->restrictflag |= flag;
-
- if(flag==OB_RESTRICT_VIEW)
- if((gob->ob->flag & SELECT) == 0)
- ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
- }
- }
- }
-}
-
-static void restrictbutton_gr_restrict_view(bContext *C, void *poin, void *poin2)
-{
- restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_VIEW);
- WM_event_add_notifier(C, NC_GROUP, NULL);
-}
-static void restrictbutton_gr_restrict_select(bContext *C, void *poin, void *poin2)
-{
- restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_SELECT);
- WM_event_add_notifier(C, NC_GROUP, NULL);
-}
-static void restrictbutton_gr_restrict_render(bContext *C, void *poin, void *poin2)
-{
- restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_RENDER);
- WM_event_add_notifier(C, NC_GROUP, NULL);
-}
-
-
-static void namebutton_cb(bContext *C, void *tsep, char *oldname)
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- Object *obedit= CTX_data_edit_object(C);
- TreeStore *ts= soops->treestore;
- TreeStoreElem *tselem= tsep;
-
- if(ts && tselem) {
- TreeElement *te= outliner_find_tse(soops, tselem);
-
- if(tselem->type==0) {
- test_idbutton(tselem->id->name+2); // library.c, unique name and alpha sort
-
- switch(GS(tselem->id->name)) {
- case ID_MA:
- WM_event_add_notifier(C, NC_MATERIAL, NULL); break;
- case ID_TE:
- WM_event_add_notifier(C, NC_TEXTURE, NULL); break;
- case ID_IM:
- WM_event_add_notifier(C, NC_IMAGE, NULL); break;
- case ID_SCE:
- WM_event_add_notifier(C, NC_SCENE, NULL); break;
- default:
- WM_event_add_notifier(C, NC_ID|NA_RENAME, NULL); break;
- }
- /* Check the library target exists */
- if (te->idcode == ID_LI) {
- char expanded[FILE_MAXDIR + FILE_MAXFILE];
- BLI_strncpy(expanded, ((Library *)tselem->id)->name, FILE_MAXDIR + FILE_MAXFILE);
- BLI_path_abs(expanded, G.main->name);
- if (!BLI_exists(expanded)) {
- error("This path does not exist, correct this before saving");
- }
- }
- }
- else {
- switch(tselem->type) {
- case TSE_DEFGROUP:
- defgroup_unique_name(te->directdata, (Object *)tselem->id); // id = object
- break;
- case TSE_NLA_ACTION:
- test_idbutton(tselem->id->name+2);
- break;
- case TSE_EBONE:
- {
- bArmature *arm= (bArmature *)tselem->id;
- if(arm->edbo) {
- EditBone *ebone= te->directdata;
- char newname[sizeof(ebone->name)];
-
- /* restore bone name */
- BLI_strncpy(newname, ebone->name, sizeof(ebone->name));
- BLI_strncpy(ebone->name, oldname, sizeof(ebone->name));
- ED_armature_bone_rename(obedit->data, oldname, newname);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, OBACT);
- }
- }
- break;
-
- case TSE_BONE:
- {
- Bone *bone= te->directdata;
- Object *ob;
- char newname[sizeof(bone->name)];
-
- // always make current object active
- tree_element_set_active_object(C, scene, soops, te, 1);
- ob= OBACT;
-
- /* restore bone name */
- BLI_strncpy(newname, bone->name, sizeof(bone->name));
- BLI_strncpy(bone->name, oldname, sizeof(bone->name));
- ED_armature_bone_rename(ob->data, oldname, newname);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
- }
- break;
- case TSE_POSE_CHANNEL:
- {
- bPoseChannel *pchan= te->directdata;
- Object *ob;
- char newname[sizeof(pchan->name)];
-
- // always make current object active
- tree_element_set_active_object(C, scene, soops, te, 1);
- ob= OBACT;
-
- /* restore bone name */
- BLI_strncpy(newname, pchan->name, sizeof(pchan->name));
- BLI_strncpy(pchan->name, oldname, sizeof(pchan->name));
- ED_armature_bone_rename(ob->data, oldname, newname);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
- }
- break;
- case TSE_POSEGRP:
- {
- Object *ob= (Object *)tselem->id; // id = object
- bActionGroup *grp= te->directdata;
-
- BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name));
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
- }
- break;
- case TSE_R_LAYER:
- break;
- }
- }
- tselem->flag &= ~TSE_TEXTBUT;
- }
-}
-
-static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, ListBase *lb)
-{
- uiBut *bt;
- TreeElement *te;
- TreeStoreElem *tselem;
- Object *ob = NULL;
- Group *gr = NULL;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
- /* objects have toggle-able restriction flags */
- if(tselem->type==0 && te->idcode==ID_OB) {
- PointerRNA ptr;
-
- ob = (Object *)tselem->id;
- RNA_pointer_create((ID *)ob, &RNA_Object, ob, &ptr);
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
- bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_VIEW_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
- &ptr, "hide", -1, 0, 0, -1, -1, NULL);
- uiButSetFunc(bt, restrictbutton_view_cb, scene, ob);
-
- bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_SELECT_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
- &ptr, "hide_select", -1, 0, 0, -1, -1, NULL);
- uiButSetFunc(bt, restrictbutton_sel_cb, scene, ob);
-
- bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_RENDER_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
- &ptr, "hide_render", -1, 0, 0, -1, -1, NULL);
- uiButSetFunc(bt, restrictbutton_rend_cb, scene, ob);
-
- uiBlockSetEmboss(block, UI_EMBOSS);
-
- }
- if(tselem->type==0 && te->idcode==ID_GR){
- int restrict_bool;
- gr = (Group *)tselem->id;
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
-
- restrict_bool= group_restrict_flag(gr, OB_RESTRICT_VIEW);
- bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
- uiButSetFunc(bt, restrictbutton_gr_restrict_view, scene, gr);
-
- restrict_bool= group_restrict_flag(gr, OB_RESTRICT_SELECT);
- bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_SELECT_ON : ICON_RESTRICT_SELECT_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
- uiButSetFunc(bt, restrictbutton_gr_restrict_select, scene, gr);
-
- restrict_bool= group_restrict_flag(gr, OB_RESTRICT_RENDER);
- bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_RENDER_ON : ICON_RESTRICT_RENDER_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow renderability");
- uiButSetFunc(bt, restrictbutton_gr_restrict_render, scene, gr);
-
- uiBlockSetEmboss(block, UI_EMBOSS);
- }
- /* scene render layers and passes have toggle-able flags too! */
- else if(tselem->type==TSE_R_LAYER) {
- uiBlockSetEmboss(block, UI_EMBOSSN);
-
- bt= uiDefIconButBitI(block, ICONTOGN, SCE_LAY_DISABLE, 0, ICON_CHECKBOX_HLT-1,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, te->directdata, 0, 0, 0, 0, "Render this RenderLayer");
- uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
-
- uiBlockSetEmboss(block, UI_EMBOSS);
- }
- else if(tselem->type==TSE_R_PASS) {
- int *layflag= te->directdata;
- int passflag= 1<<tselem->nr;
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
-
-
- bt= uiDefIconButBitI(block, ICONTOG, passflag, 0, ICON_CHECKBOX_HLT-1,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Render this Pass");
- uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
-
- layflag++; /* is lay_xor */
- if(ELEM8(passflag, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_INDIRECT, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT))
- bt= uiDefIconButBitI(block, TOG, passflag, 0, (*layflag & passflag)?ICON_DOT:ICON_BLANK1,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined");
- uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
-
- uiBlockSetEmboss(block, UI_EMBOSS);
- }
- else if(tselem->type==TSE_MODIFIER) {
- ModifierData *md= (ModifierData *)te->directdata;
- ob = (Object *)tselem->id;
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
- bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Realtime, 0, ICON_RESTRICT_VIEW_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
- uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
-
- bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Render, 0, ICON_RESTRICT_RENDER_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow renderability");
- uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
- }
- else if(tselem->type==TSE_POSE_CHANNEL) {
- bPoseChannel *pchan= (bPoseChannel *)te->directdata;
- Bone *bone = pchan->bone;
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
- bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_P, 0, ICON_RESTRICT_VIEW_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
- uiButSetFunc(bt, restrictbutton_bone_cb, NULL, bone);
-
- bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
- uiButSetFunc(bt, restrictbutton_bone_cb, NULL, NULL);
- }
- else if(tselem->type==TSE_EBONE) {
- EditBone *ebone= (EditBone *)te->directdata;
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
- bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_A, 0, ICON_RESTRICT_VIEW_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
- uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, ebone);
-
- bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
- uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, NULL);
- }
- }
-
- if((tselem->flag & TSE_CLOSED)==0) outliner_draw_restrictbuts(block, scene, ar, soops, &te->subtree);
- }
-}
-
-static void outliner_draw_rnacols(ARegion *ar, int sizex)
-{
- View2D *v2d= &ar->v2d;
-
- float miny = v2d->cur.ymin-V2D_SCROLL_HEIGHT;
- if(miny<v2d->tot.ymin) miny = v2d->tot.ymin;
-
- UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
-
- /* draw column separator lines */
- fdrawline((float)sizex,
- v2d->cur.ymax,
- (float)sizex,
- miny);
-
- fdrawline((float)sizex+OL_RNA_COL_SIZEX,
- v2d->cur.ymax,
- (float)sizex+OL_RNA_COL_SIZEX,
- miny);
-}
-
-static void outliner_draw_rnabuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, int sizex, ListBase *lb)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- PointerRNA *ptr;
- PropertyRNA *prop;
-
- uiBlockSetEmboss(block, UI_EMBOSST);
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
- if(tselem->type == TSE_RNA_PROPERTY) {
- ptr= &te->rnaptr;
- prop= te->directdata;
-
- if(!(RNA_property_type(prop) == PROP_POINTER && (tselem->flag & TSE_CLOSED)==0))
- uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
- }
- else if(tselem->type == TSE_RNA_ARRAY_ELEM) {
- ptr= &te->rnaptr;
- prop= te->directdata;
-
- uiDefAutoButR(block, ptr, prop, te->index, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
- }
- }
-
- if((tselem->flag & TSE_CLOSED)==0) outliner_draw_rnabuts(block, scene, ar, soops, sizex, &te->subtree);
- }
-}
-
-static void operator_call_cb(struct bContext *UNUSED(C), void *arg_kmi, void *arg2)
-{
- wmOperatorType *ot= arg2;
- wmKeyMapItem *kmi= arg_kmi;
-
- if(ot)
- BLI_strncpy(kmi->idname, ot->idname, OP_MAX_TYPENAME);
-}
-
-static void operator_search_cb(const struct bContext *UNUSED(C), void *UNUSED(arg_kmi), const char *str, uiSearchItems *items)
-{
- wmOperatorType *ot = WM_operatortype_first();
-
- for(; ot; ot= ot->next) {
-
- if(BLI_strcasestr(ot->idname, str)) {
- char name[OP_MAX_TYPENAME];
-
- /* display name for menu */
- WM_operator_py_idname(name, ot->idname);
-
- if(0==uiSearchItemAdd(items, name, ot, 0))
- break;
- }
- }
-}
-
-/* operator Search browse menu, open */
-static uiBlock *operator_search_menu(bContext *C, ARegion *ar, void *arg_kmi)
-{
- static char search[OP_MAX_TYPENAME];
- wmEvent event;
- wmWindow *win= CTX_wm_window(C);
- wmKeyMapItem *kmi= arg_kmi;
- wmOperatorType *ot= WM_operatortype_find(kmi->idname, 0);
- uiBlock *block;
- uiBut *but;
-
- /* clear initial search string, then all items show */
- search[0]= 0;
-
- block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
- uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_REDRAW|UI_BLOCK_RET_1);
-
- /* fake button, it holds space for search items */
- uiDefBut(block, LABEL, 0, "", 10, 15, 150, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
-
- but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 0, 150, UI_UNIT_Y, 0, 0, "");
- uiButSetSearchFunc(but, operator_search_cb, arg_kmi, operator_call_cb, ot);
-
- uiBoundsBlock(block, 6);
- uiBlockSetDirection(block, UI_DOWN);
- uiEndBlock(C, block);
-
- event= *(win->eventstate); /* XXX huh huh? make api call */
- event.type= EVT_BUT_OPEN;
- event.val= KM_PRESS;
- event.customdata= but;
- event.customdatafree= FALSE;
- wm_event_add(win, &event);
-
- return block;
-}
-
-#define OL_KM_KEYBOARD 0
-#define OL_KM_MOUSE 1
-#define OL_KM_TWEAK 2
-#define OL_KM_SPECIALS 3
-
-static short keymap_menu_type(short type)
-{
- if(ISKEYBOARD(type)) return OL_KM_KEYBOARD;
- if(ISTWEAK(type)) return OL_KM_TWEAK;
- if(ISMOUSE(type)) return OL_KM_MOUSE;
-// return OL_KM_SPECIALS;
- return 0;
-}
-
-static const char *keymap_type_menu(void)
-{
- static const char string[]=
- "Event Type%t"
- "|Keyboard%x" STRINGIFY(OL_KM_KEYBOARD)
- "|Mouse%x" STRINGIFY(OL_KM_MOUSE)
- "|Tweak%x" STRINGIFY(OL_KM_TWEAK)
-// "|Specials%x" STRINGIFY(OL_KM_SPECIALS)
- ;
-
- return string;
-}
-
-static const char *keymap_mouse_menu(void)
-{
- static const char string[]=
- "Mouse Event%t"
- "|Left Mouse%x" STRINGIFY(LEFTMOUSE)
- "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
- "|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
- "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
- "|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
- "|Button4 Mouse%x" STRINGIFY(BUTTON4MOUSE)
- "|Button5 Mouse%x" STRINGIFY(BUTTON5MOUSE)
- "|Action Mouse%x" STRINGIFY(ACTIONMOUSE)
- "|Select Mouse%x" STRINGIFY(SELECTMOUSE)
- "|Mouse Move%x" STRINGIFY(MOUSEMOVE)
- "|Wheel Up%x" STRINGIFY(WHEELUPMOUSE)
- "|Wheel Down%x" STRINGIFY(WHEELDOWNMOUSE)
- "|Wheel In%x" STRINGIFY(WHEELINMOUSE)
- "|Wheel Out%x" STRINGIFY(WHEELOUTMOUSE)
- "|Mouse/Trackpad Pan%x" STRINGIFY(MOUSEPAN)
- "|Mouse/Trackpad Zoom%x" STRINGIFY(MOUSEZOOM)
- "|Mouse/Trackpad Rotate%x" STRINGIFY(MOUSEROTATE)
- ;
-
- return string;
-}
-
-static const char *keymap_tweak_menu(void)
-{
- static const char string[]=
- "Tweak Event%t"
- "|Left Mouse%x" STRINGIFY(EVT_TWEAK_L)
- "|Middle Mouse%x" STRINGIFY(EVT_TWEAK_M)
- "|Right Mouse%x" STRINGIFY(EVT_TWEAK_R)
- "|Action Mouse%x" STRINGIFY(EVT_TWEAK_A)
- "|Select Mouse%x" STRINGIFY(EVT_TWEAK_S)
- ;
-
- return string;
-}
-
-static const char *keymap_tweak_dir_menu(void)
-{
- static const char string[]=
- "Tweak Direction%t"
- "|Any%x" STRINGIFY(KM_ANY)
- "|North%x" STRINGIFY(EVT_GESTURE_N)
- "|North-East%x" STRINGIFY(EVT_GESTURE_NE)
- "|East%x" STRINGIFY(EVT_GESTURE_E)
- "|Sout-East%x" STRINGIFY(EVT_GESTURE_SE)
- "|South%x" STRINGIFY(EVT_GESTURE_S)
- "|South-West%x" STRINGIFY(EVT_GESTURE_SW)
- "|West%x" STRINGIFY(EVT_GESTURE_W)
- "|North-West%x" STRINGIFY(EVT_GESTURE_NW)
- ;
-
- return string;
-}
-
-
-static void keymap_type_cb(bContext *C, void *kmi_v, void *UNUSED(arg_v))
-{
- wmKeyMapItem *kmi= kmi_v;
- short maptype= keymap_menu_type(kmi->type);
-
- if(maptype!=kmi->maptype) {
- switch(kmi->maptype) {
- case OL_KM_KEYBOARD:
- kmi->type= AKEY;
- kmi->val= KM_PRESS;
- break;
- case OL_KM_MOUSE:
- kmi->type= LEFTMOUSE;
- kmi->val= KM_PRESS;
- break;
- case OL_KM_TWEAK:
- kmi->type= EVT_TWEAK_L;
- kmi->val= KM_ANY;
- break;
- case OL_KM_SPECIALS:
- kmi->type= AKEY;
- kmi->val= KM_PRESS;
- }
- ED_region_tag_redraw(CTX_wm_region(C));
- }
-}
-
-static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- uiBlockSetEmboss(block, UI_EMBOSST);
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
- uiBut *but;
- const char *str;
- int xstart= 240;
- int butw1= UI_UNIT_X; /* operator */
- int butw2= 90; /* event type, menus */
- int butw3= 43; /* modifiers */
-
- if(tselem->type == TSE_KEYMAP_ITEM) {
- wmKeyMapItem *kmi= te->directdata;
-
- /* modal map? */
- if(kmi->propvalue);
- else {
- uiDefBlockBut(block, operator_search_menu, kmi, "", xstart, (int)te->ys+1, butw1, UI_UNIT_Y-1, "Assign new Operator");
- }
- xstart+= butw1+10;
-
- /* map type button */
- kmi->maptype= keymap_menu_type(kmi->type);
-
- str= keymap_type_menu();
- but= uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->maptype, 0, 0, 0, 0, "Event type");
- uiButSetFunc(but, keymap_type_cb, kmi, NULL);
- xstart+= butw2+5;
-
- /* edit actual event */
- switch(kmi->maptype) {
- case OL_KM_KEYBOARD:
- uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, "Key code");
- xstart+= butw2+5;
- break;
- case OL_KM_MOUSE:
- str= keymap_mouse_menu();
- uiDefButS(block, MENU, 0, str, xstart,(int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Mouse button");
- xstart+= butw2+5;
- break;
- case OL_KM_TWEAK:
- str= keymap_tweak_menu();
- uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Tweak gesture");
- xstart+= butw2+5;
- str= keymap_tweak_dir_menu();
- uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->val, 0, 0, 0, 0, "Tweak gesture direction");
- xstart+= butw2+5;
- break;
- }
-
- /* modifiers */
- uiDefButS(block, OPTION, 0, "Shift", xstart, (int)te->ys+1, butw3+5, UI_UNIT_Y-1, &kmi->shift, 0, 0, 0, 0, "Modifier"); xstart+= butw3+5;
- uiDefButS(block, OPTION, 0, "Ctrl", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->ctrl, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
- uiDefButS(block, OPTION, 0, "Alt", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->alt, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
- uiDefButS(block, OPTION, 0, "OS", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
- xstart+= 5;
- uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->keymodifier, "Key Modifier code");
- xstart+= butw3+5;
-
- /* rna property */
- if(kmi->ptr && kmi->ptr->data) {
- uiDefBut(block, LABEL, 0, "(RNA property)", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, ""); xstart+= butw2;
- }
-
- (void)xstart;
- }
- }
-
- if((tselem->flag & TSE_CLOSED)==0) outliner_draw_keymapbuts(block, ar, soops, &te->subtree);
- }
-}
-
-
-static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
-{
- uiBut *bt;
- TreeElement *te;
- TreeStoreElem *tselem;
- int spx, dx, len;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
-
- if(tselem->flag & TSE_TEXTBUT) {
-
- /* If we add support to rename Sequence.
- * need change this.
- */
- if(tselem->type == TSE_POSE_BASE) continue; // prevent crash when trying to rename 'pose' entry of armature
-
- if(tselem->type==TSE_EBONE) len = sizeof(((EditBone*) 0)->name);
- else if (tselem->type==TSE_MODIFIER) len = sizeof(((ModifierData*) 0)->name);
- else if(tselem->id && GS(tselem->id->name)==ID_LI) len = sizeof(((Library*) 0)->name);
- else len= MAX_ID_NAME-2;
-
-
- dx= (int)UI_GetStringWidth(te->name);
- if(dx<100) dx= 100;
- spx=te->xs+2*UI_UNIT_X-4;
- if(spx+dx+10>ar->v2d.cur.xmax) dx = ar->v2d.cur.xmax-spx-10;
-
- bt= uiDefBut(block, TEX, OL_NAMEBUTTON, "", spx, (int)te->ys, dx+10, UI_UNIT_Y-1, (void *)te->name, 1.0, (float)len, 0, 0, "");
- uiButSetRenameFunc(bt, namebutton_cb, tselem);
-
- /* returns false if button got removed */
- if( 0 == uiButActiveOnly(C, block, bt) )
- tselem->flag &= ~TSE_TEXTBUT;
- }
- }
-
- if((tselem->flag & TSE_CLOSED)==0) outliner_buttons(C, block, ar, soops, &te->subtree);
- }
-}
-
-void draw_outliner(const bContext *C)
-{
- Main *mainvar= CTX_data_main(C);
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
- View2D *v2d= &ar->v2d;
- SpaceOops *soops= CTX_wm_space_outliner(C);
- uiBlock *block;
- int sizey= 0, sizex= 0, sizex_rna= 0;
-
- outliner_build_tree(mainvar, scene, soops); // always
-
- /* get extents of data */
- outliner_height(soops, &soops->tree, &sizey);
-
- if (ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP)) {
- /* RNA has two columns:
- * - column 1 is (max_width + OL_RNA_COL_SPACEX) or
- * (OL_RNA_COL_X), whichever is wider...
- * - column 2 is fixed at OL_RNA_COL_SIZEX
- *
- * (*) XXX max width for now is a fixed factor of UI_UNIT_X*(max_indention+100)
- */
-
- /* get actual width of column 1 */
- outliner_rna_width(soops, &soops->tree, &sizex_rna, 0);
- sizex_rna= MAX2(OL_RNA_COLX, sizex_rna+OL_RNA_COL_SPACEX);
-
- /* get width of data (for setting 'tot' rect, this is column 1 + column 2 + a bit extra) */
- if (soops->outlinevis == SO_KEYMAP)
- sizex= sizex_rna + OL_RNA_COL_SIZEX*3 + 50; // XXX this is only really a quick hack to make this wide enough...
- else
- sizex= sizex_rna + OL_RNA_COL_SIZEX + 50;
- }
- else {
- /* width must take into account restriction columns (if visible) so that entries will still be visible */
- //outliner_width(soops, &soops->tree, &sizex);
- outliner_rna_width(soops, &soops->tree, &sizex, 0); // XXX should use outliner_width instead when te->xend will be set correctly...
-
- /* constant offset for restriction columns */
- // XXX this isn't that great yet...
- if ((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
- sizex += OL_TOGW*3;
- }
-
- /* tweak to display last line (when list bigger than window) */
- sizey += V2D_SCROLL_HEIGHT;
-
- /* adds vertical offset */
- sizey += OL_Y_OFFSET;
-
- /* update size of tot-rect (extents of data/viewable area) */
- UI_view2d_totRect_set(v2d, sizex, sizey);
-
- /* force display to pixel coords */
- v2d->flag |= (V2D_PIXELOFS_X|V2D_PIXELOFS_Y);
- /* set matrix for 2d-view controls */
- UI_view2d_view_ortho(v2d);
-
- /* draw outliner stuff (background, hierachy lines and names) */
- outliner_back(ar);
- block= uiBeginBlock(C, ar, "outliner buttons", UI_EMBOSS);
- outliner_draw_tree((bContext *)C, block, scene, ar, soops);
-
- if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
- /* draw rna buttons */
- outliner_draw_rnacols(ar, sizex_rna);
- outliner_draw_rnabuts(block, scene, ar, soops, sizex_rna, &soops->tree);
- }
- else if(soops->outlinevis == SO_KEYMAP) {
- outliner_draw_keymapbuts(block, ar, soops, &soops->tree);
- }
- else if (!(soops->flag & SO_HIDE_RESTRICTCOLS)) {
- /* draw restriction columns */
- outliner_draw_restrictcols(ar);
- outliner_draw_restrictbuts(block, scene, ar, soops, &soops->tree);
- }
-
- /* draw edit buttons if nessecery */
- outliner_buttons(C, block, ar, soops, &soops->tree);
-
- uiEndBlock(C, block);
- uiDrawBlock(C, block);
-
- /* clear flag that allows quick redraws */
- soops->storeflag &= ~SO_TREESTORE_REDRAW;
-}
-
diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c
new file mode 100644
index 00000000000..95a315272b9
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@ -0,0 +1,1651 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_draw.c
+ * \ingroup spoutliner
+ */
+
+#include <string.h>
+#include <stdlib.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "BLI_ghash.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "outliner_intern.h"
+
+/* ****************************************************** */
+/* Tree Size Functions */
+
+static void outliner_height(SpaceOops *soops, ListBase *lb, int *h)
+{
+ TreeElement *te= lb->first;
+ while(te) {
+ TreeStoreElem *tselem= TREESTORE(te);
+ if((tselem->flag & TSE_CLOSED)==0)
+ outliner_height(soops, &te->subtree, h);
+ (*h) += UI_UNIT_Y;
+ te= te->next;
+ }
+}
+
+#if 0 // XXX this is currently disabled until te->xend is set correctly
+static void outliner_width(SpaceOops *soops, ListBase *lb, int *w)
+{
+ TreeElement *te= lb->first;
+ while(te) {
+// TreeStoreElem *tselem= TREESTORE(te);
+
+ // XXX fixme... te->xend is not set yet
+ if(tselem->flag & TSE_CLOSED) {
+ if (te->xend > *w)
+ *w = te->xend;
+ }
+ outliner_width(soops, &te->subtree, w);
+ te= te->next;
+ }
+}
+#endif
+
+static void outliner_rna_width(SpaceOops *soops, ListBase *lb, int *w, int startx)
+{
+ TreeElement *te= lb->first;
+ while(te) {
+ TreeStoreElem *tselem= TREESTORE(te);
+ // XXX fixme... (currently, we're using a fixed length of 100)!
+ /*if(te->xend) {
+ if(te->xend > *w)
+ *w = te->xend;
+ }*/
+ if(startx+100 > *w)
+ *w = startx+100;
+
+ if((tselem->flag & TSE_CLOSED)==0)
+ outliner_rna_width(soops, &te->subtree, w, startx+UI_UNIT_X);
+ te= te->next;
+ }
+}
+
+/* ****************************************************** */
+
+static void restrictbutton_view_cb(bContext *C, void *poin, void *poin2)
+{
+ Scene *scene = (Scene *)poin;
+ Object *ob = (Object *)poin2;
+
+ if(!common_restrict_check(C, ob)) return;
+
+ /* deselect objects that are invisible */
+ if (ob->restrictflag & OB_RESTRICT_VIEW) {
+ /* Ouch! There is no backwards pointer from Object to Base,
+ * so have to do loop to find it. */
+ ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
+ }
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+
+}
+
+static void restrictbutton_sel_cb(bContext *C, void *poin, void *poin2)
+{
+ Scene *scene = (Scene *)poin;
+ Object *ob = (Object *)poin2;
+
+ if(!common_restrict_check(C, ob)) return;
+
+ /* if select restriction has just been turned on */
+ if (ob->restrictflag & OB_RESTRICT_SELECT) {
+ /* Ouch! There is no backwards pointer from Object to Base,
+ * so have to do loop to find it. */
+ ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
+ }
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+
+}
+
+static void restrictbutton_rend_cb(bContext *C, void *poin, void *UNUSED(poin2))
+{
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, poin);
+}
+
+static void restrictbutton_r_lay_cb(bContext *C, void *poin, void *UNUSED(poin2))
+{
+ WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, poin);
+}
+
+static void restrictbutton_modifier_cb(bContext *C, void *UNUSED(poin), void *poin2)
+{
+ Object *ob = (Object *)poin2;
+
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
+}
+
+static void restrictbutton_bone_cb(bContext *C, void *UNUSED(poin), void *poin2)
+{
+ Bone *bone= (Bone *)poin2;
+ if(bone && (bone->flag & BONE_HIDDEN_P))
+ bone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+}
+
+static void restrictbutton_ebone_cb(bContext *C, void *UNUSED(poin), void *poin2)
+{
+ EditBone *ebone= (EditBone *)poin2;
+ if(ebone && (ebone->flag & BONE_HIDDEN_A))
+ ebone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+}
+
+static int group_restrict_flag(Group *gr, int flag)
+{
+ GroupObject *gob;
+
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ if((gob->ob->restrictflag & flag) == 0)
+ return 0;
+ }
+
+ return 1;
+}
+
+static int group_select_flag(Group *gr)
+{
+ GroupObject *gob;
+
+ for(gob= gr->gobject.first; gob; gob= gob->next)
+ if((gob->ob->flag & SELECT))
+ return 1;
+
+ return 0;
+}
+
+void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag)
+{
+ Scene *scene = (Scene *)poin;
+ GroupObject *gob;
+ Group *gr = (Group *)poin2;
+
+ if(group_restrict_flag(gr, flag)) {
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ gob->ob->restrictflag &= ~flag;
+
+ if(flag==OB_RESTRICT_VIEW)
+ if(gob->ob->flag & SELECT)
+ ED_base_object_select(object_in_scene(gob->ob, scene), BA_DESELECT);
+ }
+ }
+ else {
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ /* not in editmode */
+ if(scene->obedit!=gob->ob) {
+ gob->ob->restrictflag |= flag;
+
+ if(flag==OB_RESTRICT_VIEW)
+ if((gob->ob->flag & SELECT) == 0)
+ ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
+ }
+ }
+ }
+}
+
+static void restrictbutton_gr_restrict_view(bContext *C, void *poin, void *poin2)
+{
+ restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_VIEW);
+ WM_event_add_notifier(C, NC_GROUP, NULL);
+}
+static void restrictbutton_gr_restrict_select(bContext *C, void *poin, void *poin2)
+{
+ restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_SELECT);
+ WM_event_add_notifier(C, NC_GROUP, NULL);
+}
+static void restrictbutton_gr_restrict_render(bContext *C, void *poin, void *poin2)
+{
+ restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_RENDER);
+ WM_event_add_notifier(C, NC_GROUP, NULL);
+}
+
+
+static void namebutton_cb(bContext *C, void *tsep, char *oldname)
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ Object *obedit= CTX_data_edit_object(C);
+ TreeStore *ts= soops->treestore;
+ TreeStoreElem *tselem= tsep;
+
+ if(ts && tselem) {
+ TreeElement *te= outliner_find_tse(soops, tselem);
+
+ if(tselem->type==0) {
+ test_idbutton(tselem->id->name+2); // library.c, unique name and alpha sort
+
+ switch(GS(tselem->id->name)) {
+ case ID_MA:
+ WM_event_add_notifier(C, NC_MATERIAL, NULL); break;
+ case ID_TE:
+ WM_event_add_notifier(C, NC_TEXTURE, NULL); break;
+ case ID_IM:
+ WM_event_add_notifier(C, NC_IMAGE, NULL); break;
+ case ID_SCE:
+ WM_event_add_notifier(C, NC_SCENE, NULL); break;
+ default:
+ WM_event_add_notifier(C, NC_ID|NA_RENAME, NULL); break;
+ }
+ /* Check the library target exists */
+ if (te->idcode == ID_LI) {
+ char expanded[FILE_MAXDIR + FILE_MAXFILE];
+ BLI_strncpy(expanded, ((Library *)tselem->id)->name, FILE_MAXDIR + FILE_MAXFILE);
+ BLI_path_abs(expanded, G.main->name);
+ if (!BLI_exists(expanded)) {
+ BKE_report(CTX_wm_reports(C), RPT_ERROR, "This path does not exist, correct this before saving");
+ }
+ }
+ }
+ else {
+ switch(tselem->type) {
+ case TSE_DEFGROUP:
+ defgroup_unique_name(te->directdata, (Object *)tselem->id); // id = object
+ break;
+ case TSE_NLA_ACTION:
+ test_idbutton(tselem->id->name+2);
+ break;
+ case TSE_EBONE:
+ {
+ bArmature *arm= (bArmature *)tselem->id;
+ if(arm->edbo) {
+ EditBone *ebone= te->directdata;
+ char newname[sizeof(ebone->name)];
+
+ /* restore bone name */
+ BLI_strncpy(newname, ebone->name, sizeof(ebone->name));
+ BLI_strncpy(ebone->name, oldname, sizeof(ebone->name));
+ ED_armature_bone_rename(obedit->data, oldname, newname);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, OBACT);
+ }
+ }
+ break;
+
+ case TSE_BONE:
+ {
+ Bone *bone= te->directdata;
+ Object *ob;
+ char newname[sizeof(bone->name)];
+
+ // always make current object active
+ tree_element_active(C, scene, soops, te, 1); // was set_active_object()
+ ob= OBACT;
+
+ /* restore bone name */
+ BLI_strncpy(newname, bone->name, sizeof(bone->name));
+ BLI_strncpy(bone->name, oldname, sizeof(bone->name));
+ ED_armature_bone_rename(ob->data, oldname, newname);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+ }
+ break;
+ case TSE_POSE_CHANNEL:
+ {
+ bPoseChannel *pchan= te->directdata;
+ Object *ob;
+ char newname[sizeof(pchan->name)];
+
+ // always make current object active
+ tree_element_active(C, scene, soops, te, 1); // was set_active_object()
+ ob= OBACT;
+
+ /* restore bone name */
+ BLI_strncpy(newname, pchan->name, sizeof(pchan->name));
+ BLI_strncpy(pchan->name, oldname, sizeof(pchan->name));
+ ED_armature_bone_rename(ob->data, oldname, newname);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+ }
+ break;
+ case TSE_POSEGRP:
+ {
+ Object *ob= (Object *)tselem->id; // id = object
+ bActionGroup *grp= te->directdata;
+
+ BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name));
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+ }
+ break;
+ case TSE_R_LAYER:
+ break;
+ }
+ }
+ tselem->flag &= ~TSE_TEXTBUT;
+ }
+}
+
+static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, ListBase *lb)
+{
+ uiBut *bt;
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ Object *ob = NULL;
+ Group *gr = NULL;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+ /* objects have toggle-able restriction flags */
+ if(tselem->type==0 && te->idcode==ID_OB) {
+ PointerRNA ptr;
+
+ ob = (Object *)tselem->id;
+ RNA_pointer_create((ID *)ob, &RNA_Object, ob, &ptr);
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_VIEW_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
+ &ptr, "hide", -1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(bt, restrictbutton_view_cb, scene, ob);
+
+ bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_SELECT_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
+ &ptr, "hide_select", -1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(bt, restrictbutton_sel_cb, scene, ob);
+
+ bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_RENDER_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
+ &ptr, "hide_render", -1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(bt, restrictbutton_rend_cb, scene, ob);
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+
+ }
+ if(tselem->type==0 && te->idcode==ID_GR){
+ int restrict_bool;
+ gr = (Group *)tselem->id;
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+
+ restrict_bool= group_restrict_flag(gr, OB_RESTRICT_VIEW);
+ bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ uiButSetFunc(bt, restrictbutton_gr_restrict_view, scene, gr);
+
+ restrict_bool= group_restrict_flag(gr, OB_RESTRICT_SELECT);
+ bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_SELECT_ON : ICON_RESTRICT_SELECT_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+ uiButSetFunc(bt, restrictbutton_gr_restrict_select, scene, gr);
+
+ restrict_bool= group_restrict_flag(gr, OB_RESTRICT_RENDER);
+ bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_RENDER_ON : ICON_RESTRICT_RENDER_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow renderability");
+ uiButSetFunc(bt, restrictbutton_gr_restrict_render, scene, gr);
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+ }
+ /* scene render layers and passes have toggle-able flags too! */
+ else if(tselem->type==TSE_R_LAYER) {
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+
+ bt= uiDefIconButBitI(block, ICONTOGN, SCE_LAY_DISABLE, 0, ICON_CHECKBOX_HLT-1,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, te->directdata, 0, 0, 0, 0, "Render this RenderLayer");
+ uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+ }
+ else if(tselem->type==TSE_R_PASS) {
+ int *layflag= te->directdata;
+ int passflag= 1<<tselem->nr;
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+
+
+ bt= uiDefIconButBitI(block, ICONTOG, passflag, 0, ICON_CHECKBOX_HLT-1,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Render this Pass");
+ uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
+
+ layflag++; /* is lay_xor */
+ if(ELEM8(passflag, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_INDIRECT, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT))
+ bt= uiDefIconButBitI(block, TOG, passflag, 0, (*layflag & passflag)?ICON_DOT:ICON_BLANK1,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined");
+ uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+ }
+ else if(tselem->type==TSE_MODIFIER) {
+ ModifierData *md= (ModifierData *)te->directdata;
+ ob = (Object *)tselem->id;
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Realtime, 0, ICON_RESTRICT_VIEW_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
+
+ bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Render, 0, ICON_RESTRICT_RENDER_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow renderability");
+ uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
+ }
+ else if(tselem->type==TSE_POSE_CHANNEL) {
+ bPoseChannel *pchan= (bPoseChannel *)te->directdata;
+ Bone *bone = pchan->bone;
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_P, 0, ICON_RESTRICT_VIEW_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ uiButSetFunc(bt, restrictbutton_bone_cb, NULL, bone);
+
+ bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+ uiButSetFunc(bt, restrictbutton_bone_cb, NULL, NULL);
+ }
+ else if(tselem->type==TSE_EBONE) {
+ EditBone *ebone= (EditBone *)te->directdata;
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_A, 0, ICON_RESTRICT_VIEW_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, ebone);
+
+ bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+ uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, NULL);
+ }
+ }
+
+ if((tselem->flag & TSE_CLOSED)==0) outliner_draw_restrictbuts(block, scene, ar, soops, &te->subtree);
+ }
+}
+
+static void outliner_draw_rnacols(ARegion *ar, int sizex)
+{
+ View2D *v2d= &ar->v2d;
+
+ float miny = v2d->cur.ymin-V2D_SCROLL_HEIGHT;
+ if(miny<v2d->tot.ymin) miny = v2d->tot.ymin;
+
+ UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
+
+ /* draw column separator lines */
+ fdrawline((float)sizex,
+ v2d->cur.ymax,
+ (float)sizex,
+ miny);
+
+ fdrawline((float)sizex+OL_RNA_COL_SIZEX,
+ v2d->cur.ymax,
+ (float)sizex+OL_RNA_COL_SIZEX,
+ miny);
+}
+
+static void outliner_draw_rnabuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, int sizex, ListBase *lb)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ PointerRNA *ptr;
+ PropertyRNA *prop;
+
+ uiBlockSetEmboss(block, UI_EMBOSST);
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+ if(tselem->type == TSE_RNA_PROPERTY) {
+ ptr= &te->rnaptr;
+ prop= te->directdata;
+
+ if(!(RNA_property_type(prop) == PROP_POINTER && (tselem->flag & TSE_CLOSED)==0))
+ uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
+ }
+ else if(tselem->type == TSE_RNA_ARRAY_ELEM) {
+ ptr= &te->rnaptr;
+ prop= te->directdata;
+
+ uiDefAutoButR(block, ptr, prop, te->index, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
+ }
+ }
+
+ if((tselem->flag & TSE_CLOSED)==0) outliner_draw_rnabuts(block, scene, ar, soops, sizex, &te->subtree);
+ }
+}
+
+static void operator_call_cb(struct bContext *UNUSED(C), void *arg_kmi, void *arg2)
+{
+ wmOperatorType *ot= arg2;
+ wmKeyMapItem *kmi= arg_kmi;
+
+ if(ot)
+ BLI_strncpy(kmi->idname, ot->idname, OP_MAX_TYPENAME);
+}
+
+static void operator_search_cb(const struct bContext *UNUSED(C), void *UNUSED(arg_kmi), const char *str, uiSearchItems *items)
+{
+ GHashIterator *iter= WM_operatortype_iter();
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
+ if(BLI_strcasestr(ot->idname, str)) {
+ char name[OP_MAX_TYPENAME];
+
+ /* display name for menu */
+ WM_operator_py_idname(name, ot->idname);
+
+ if(0==uiSearchItemAdd(items, name, ot, 0))
+ break;
+ }
+ }
+ BLI_ghashIterator_free(iter);
+}
+
+/* operator Search browse menu, open */
+static uiBlock *operator_search_menu(bContext *C, ARegion *ar, void *arg_kmi)
+{
+ static char search[OP_MAX_TYPENAME];
+ wmEvent event;
+ wmWindow *win= CTX_wm_window(C);
+ wmKeyMapItem *kmi= arg_kmi;
+ wmOperatorType *ot= WM_operatortype_find(kmi->idname, 0);
+ uiBlock *block;
+ uiBut *but;
+
+ /* clear initial search string, then all items show */
+ search[0]= 0;
+
+ block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
+ uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_REDRAW|UI_BLOCK_RET_1);
+
+ /* fake button, it holds space for search items */
+ uiDefBut(block, LABEL, 0, "", 10, 15, 150, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
+
+ but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 0, 150, UI_UNIT_Y, 0, 0, "");
+ uiButSetSearchFunc(but, operator_search_cb, arg_kmi, operator_call_cb, ot);
+
+ uiBoundsBlock(block, 6);
+ uiBlockSetDirection(block, UI_DOWN);
+ uiEndBlock(C, block);
+
+ event= *(win->eventstate); /* XXX huh huh? make api call */
+ event.type= EVT_BUT_OPEN;
+ event.val= KM_PRESS;
+ event.customdata= but;
+ event.customdatafree= FALSE;
+ wm_event_add(win, &event);
+
+ return block;
+}
+
+#define OL_KM_KEYBOARD 0
+#define OL_KM_MOUSE 1
+#define OL_KM_TWEAK 2
+#define OL_KM_SPECIALS 3
+
+static short keymap_menu_type(short type)
+{
+ if(ISKEYBOARD(type)) return OL_KM_KEYBOARD;
+ if(ISTWEAK(type)) return OL_KM_TWEAK;
+ if(ISMOUSE(type)) return OL_KM_MOUSE;
+// return OL_KM_SPECIALS;
+ return 0;
+}
+
+static const char *keymap_type_menu(void)
+{
+ static const char string[]=
+ "Event Type%t"
+ "|Keyboard%x" STRINGIFY(OL_KM_KEYBOARD)
+ "|Mouse%x" STRINGIFY(OL_KM_MOUSE)
+ "|Tweak%x" STRINGIFY(OL_KM_TWEAK)
+// "|Specials%x" STRINGIFY(OL_KM_SPECIALS)
+ ;
+
+ return string;
+}
+
+static const char *keymap_mouse_menu(void)
+{
+ static const char string[]=
+ "Mouse Event%t"
+ "|Left Mouse%x" STRINGIFY(LEFTMOUSE)
+ "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
+ "|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
+ "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
+ "|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
+ "|Button4 Mouse%x" STRINGIFY(BUTTON4MOUSE)
+ "|Button5 Mouse%x" STRINGIFY(BUTTON5MOUSE)
+ "|Action Mouse%x" STRINGIFY(ACTIONMOUSE)
+ "|Select Mouse%x" STRINGIFY(SELECTMOUSE)
+ "|Mouse Move%x" STRINGIFY(MOUSEMOVE)
+ "|Wheel Up%x" STRINGIFY(WHEELUPMOUSE)
+ "|Wheel Down%x" STRINGIFY(WHEELDOWNMOUSE)
+ "|Wheel In%x" STRINGIFY(WHEELINMOUSE)
+ "|Wheel Out%x" STRINGIFY(WHEELOUTMOUSE)
+ "|Mouse/Trackpad Pan%x" STRINGIFY(MOUSEPAN)
+ "|Mouse/Trackpad Zoom%x" STRINGIFY(MOUSEZOOM)
+ "|Mouse/Trackpad Rotate%x" STRINGIFY(MOUSEROTATE)
+ ;
+
+ return string;
+}
+
+static const char *keymap_tweak_menu(void)
+{
+ static const char string[]=
+ "Tweak Event%t"
+ "|Left Mouse%x" STRINGIFY(EVT_TWEAK_L)
+ "|Middle Mouse%x" STRINGIFY(EVT_TWEAK_M)
+ "|Right Mouse%x" STRINGIFY(EVT_TWEAK_R)
+ "|Action Mouse%x" STRINGIFY(EVT_TWEAK_A)
+ "|Select Mouse%x" STRINGIFY(EVT_TWEAK_S)
+ ;
+
+ return string;
+}
+
+static const char *keymap_tweak_dir_menu(void)
+{
+ static const char string[]=
+ "Tweak Direction%t"
+ "|Any%x" STRINGIFY(KM_ANY)
+ "|North%x" STRINGIFY(EVT_GESTURE_N)
+ "|North-East%x" STRINGIFY(EVT_GESTURE_NE)
+ "|East%x" STRINGIFY(EVT_GESTURE_E)
+ "|Sout-East%x" STRINGIFY(EVT_GESTURE_SE)
+ "|South%x" STRINGIFY(EVT_GESTURE_S)
+ "|South-West%x" STRINGIFY(EVT_GESTURE_SW)
+ "|West%x" STRINGIFY(EVT_GESTURE_W)
+ "|North-West%x" STRINGIFY(EVT_GESTURE_NW)
+ ;
+
+ return string;
+}
+
+
+static void keymap_type_cb(bContext *C, void *kmi_v, void *UNUSED(arg_v))
+{
+ wmKeyMapItem *kmi= kmi_v;
+ short maptype= keymap_menu_type(kmi->type);
+
+ if(maptype!=kmi->maptype) {
+ switch(kmi->maptype) {
+ case OL_KM_KEYBOARD:
+ kmi->type= AKEY;
+ kmi->val= KM_PRESS;
+ break;
+ case OL_KM_MOUSE:
+ kmi->type= LEFTMOUSE;
+ kmi->val= KM_PRESS;
+ break;
+ case OL_KM_TWEAK:
+ kmi->type= EVT_TWEAK_L;
+ kmi->val= KM_ANY;
+ break;
+ case OL_KM_SPECIALS:
+ kmi->type= AKEY;
+ kmi->val= KM_PRESS;
+ }
+ ED_region_tag_redraw(CTX_wm_region(C));
+ }
+}
+
+static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ uiBlockSetEmboss(block, UI_EMBOSST);
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+ uiBut *but;
+ const char *str;
+ int xstart= 240;
+ int butw1= UI_UNIT_X; /* operator */
+ int butw2= 90; /* event type, menus */
+ int butw3= 43; /* modifiers */
+
+ if(tselem->type == TSE_KEYMAP_ITEM) {
+ wmKeyMapItem *kmi= te->directdata;
+
+ /* modal map? */
+ if(kmi->propvalue);
+ else {
+ uiDefBlockBut(block, operator_search_menu, kmi, "", xstart, (int)te->ys+1, butw1, UI_UNIT_Y-1, "Assign new Operator");
+ }
+ xstart+= butw1+10;
+
+ /* map type button */
+ kmi->maptype= keymap_menu_type(kmi->type);
+
+ str= keymap_type_menu();
+ but= uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->maptype, 0, 0, 0, 0, "Event type");
+ uiButSetFunc(but, keymap_type_cb, kmi, NULL);
+ xstart+= butw2+5;
+
+ /* edit actual event */
+ switch(kmi->maptype) {
+ case OL_KM_KEYBOARD:
+ uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, "Key code");
+ xstart+= butw2+5;
+ break;
+ case OL_KM_MOUSE:
+ str= keymap_mouse_menu();
+ uiDefButS(block, MENU, 0, str, xstart,(int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Mouse button");
+ xstart+= butw2+5;
+ break;
+ case OL_KM_TWEAK:
+ str= keymap_tweak_menu();
+ uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Tweak gesture");
+ xstart+= butw2+5;
+ str= keymap_tweak_dir_menu();
+ uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->val, 0, 0, 0, 0, "Tweak gesture direction");
+ xstart+= butw2+5;
+ break;
+ }
+
+ /* modifiers */
+ uiDefButS(block, OPTION, 0, "Shift", xstart, (int)te->ys+1, butw3+5, UI_UNIT_Y-1, &kmi->shift, 0, 0, 0, 0, "Modifier"); xstart+= butw3+5;
+ uiDefButS(block, OPTION, 0, "Ctrl", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->ctrl, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
+ uiDefButS(block, OPTION, 0, "Alt", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->alt, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
+ uiDefButS(block, OPTION, 0, "OS", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
+ xstart+= 5;
+ uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->keymodifier, "Key Modifier code");
+ xstart+= butw3+5;
+
+ /* rna property */
+ if(kmi->ptr && kmi->ptr->data) {
+ uiDefBut(block, LABEL, 0, "(RNA property)", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, ""); xstart+= butw2;
+ }
+
+ (void)xstart;
+ }
+ }
+
+ if((tselem->flag & TSE_CLOSED)==0) outliner_draw_keymapbuts(block, ar, soops, &te->subtree);
+ }
+}
+
+
+static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
+{
+ uiBut *bt;
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int spx, dx, len;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+
+ if(tselem->flag & TSE_TEXTBUT) {
+
+ /* If we add support to rename Sequence.
+ * need change this.
+ */
+ if(tselem->type == TSE_POSE_BASE) continue; // prevent crash when trying to rename 'pose' entry of armature
+
+ if(tselem->type==TSE_EBONE) len = sizeof(((EditBone*) 0)->name);
+ else if (tselem->type==TSE_MODIFIER) len = sizeof(((ModifierData*) 0)->name);
+ else if(tselem->id && GS(tselem->id->name)==ID_LI) len = sizeof(((Library*) 0)->name);
+ else len= MAX_ID_NAME-2;
+
+
+ dx= (int)UI_GetStringWidth(te->name);
+ if(dx<100) dx= 100;
+ spx=te->xs+2*UI_UNIT_X-4;
+ if(spx+dx+10>ar->v2d.cur.xmax) dx = ar->v2d.cur.xmax-spx-10;
+
+ bt= uiDefBut(block, TEX, OL_NAMEBUTTON, "", spx, (int)te->ys, dx+10, UI_UNIT_Y-1, (void *)te->name, 1.0, (float)len, 0, 0, "");
+ uiButSetRenameFunc(bt, namebutton_cb, tselem);
+
+ /* returns false if button got removed */
+ if( 0 == uiButActiveOnly(C, block, bt) )
+ tselem->flag &= ~TSE_TEXTBUT;
+ }
+ }
+
+ if((tselem->flag & TSE_CLOSED)==0) outliner_buttons(C, block, ar, soops, &te->subtree);
+ }
+}
+
+/* ****************************************************** */
+/* Normal Drawing... */
+
+/* make function calls a bit compacter */
+struct DrawIconArg {
+ uiBlock *block;
+ ID *id;
+ int xmax, x, y;
+ float alpha;
+};
+
+static void tselem_draw_icon_uibut(struct DrawIconArg *arg, int icon)
+{
+ /* restrict collumn clip... it has been coded by simply overdrawing, doesnt work for buttons */
+ if(arg->x >= arg->xmax)
+ UI_icon_draw(arg->x, arg->y, icon);
+ else {
+ /* XXX investigate: button placement of icons is way different than UI_icon_draw? */
+ float ufac= UI_UNIT_X/20.0f;
+ uiBut *but= uiDefIconBut(arg->block, LABEL, 0, icon, arg->x-3.0f*ufac, arg->y, UI_UNIT_X-4.0f*ufac, UI_UNIT_Y-4.0f*ufac, NULL, 0.0, 0.0, 1.0, arg->alpha, (arg->id && arg->id->lib) ? arg->id->lib->name : "");
+
+ if(arg->id)
+ uiButSetDragID(but, arg->id);
+ }
+
+}
+
+static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeStoreElem *tselem, TreeElement *te, float alpha)
+{
+ struct DrawIconArg arg;
+
+ /* make function calls a bit compacter */
+ arg.block= block;
+ arg.id= tselem->id;
+ arg.xmax= xmax;
+ arg.x= x;
+ arg.y= y;
+ arg.alpha= alpha;
+
+ if(tselem->type) {
+ switch( tselem->type) {
+ case TSE_ANIM_DATA:
+ UI_icon_draw(x, y, ICON_ANIM_DATA); break; // xxx
+ case TSE_NLA:
+ UI_icon_draw(x, y, ICON_NLA); break;
+ case TSE_NLA_TRACK:
+ UI_icon_draw(x, y, ICON_NLA); break; // XXX
+ case TSE_NLA_ACTION:
+ UI_icon_draw(x, y, ICON_ACTION); break;
+ case TSE_DRIVER_BASE:
+ UI_icon_draw(x, y, ICON_DRIVER); break;
+ case TSE_DEFGROUP_BASE:
+ UI_icon_draw(x, y, ICON_GROUP_VERTEX); break;
+ case TSE_BONE:
+ case TSE_EBONE:
+ UI_icon_draw(x, y, ICON_BONE_DATA); break;
+ case TSE_CONSTRAINT_BASE:
+ UI_icon_draw(x, y, ICON_CONSTRAINT); break;
+ case TSE_MODIFIER_BASE:
+ UI_icon_draw(x, y, ICON_MODIFIER); break;
+ case TSE_LINKED_OB:
+ UI_icon_draw(x, y, ICON_OBJECT_DATA); break;
+ case TSE_LINKED_PSYS:
+ UI_icon_draw(x, y, ICON_PARTICLES); break;
+ case TSE_MODIFIER:
+ {
+ Object *ob= (Object *)tselem->id;
+ ModifierData *md= BLI_findlink(&ob->modifiers, tselem->nr);
+ switch(md->type) {
+ case eModifierType_Subsurf:
+ UI_icon_draw(x, y, ICON_MOD_SUBSURF); break;
+ case eModifierType_Armature:
+ UI_icon_draw(x, y, ICON_MOD_ARMATURE); break;
+ case eModifierType_Lattice:
+ UI_icon_draw(x, y, ICON_MOD_LATTICE); break;
+ case eModifierType_Curve:
+ UI_icon_draw(x, y, ICON_MOD_CURVE); break;
+ case eModifierType_Build:
+ UI_icon_draw(x, y, ICON_MOD_BUILD); break;
+ case eModifierType_Mirror:
+ UI_icon_draw(x, y, ICON_MOD_MIRROR); break;
+ case eModifierType_Decimate:
+ UI_icon_draw(x, y, ICON_MOD_DECIM); break;
+ case eModifierType_Wave:
+ UI_icon_draw(x, y, ICON_MOD_WAVE); break;
+ case eModifierType_Hook:
+ UI_icon_draw(x, y, ICON_HOOK); break;
+ case eModifierType_Softbody:
+ UI_icon_draw(x, y, ICON_MOD_SOFT); break;
+ case eModifierType_Boolean:
+ UI_icon_draw(x, y, ICON_MOD_BOOLEAN); break;
+ case eModifierType_ParticleSystem:
+ UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
+ case eModifierType_ParticleInstance:
+ UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
+ case eModifierType_EdgeSplit:
+ UI_icon_draw(x, y, ICON_MOD_EDGESPLIT); break;
+ case eModifierType_Array:
+ UI_icon_draw(x, y, ICON_MOD_ARRAY); break;
+ case eModifierType_UVProject:
+ UI_icon_draw(x, y, ICON_MOD_UVPROJECT); break;
+ case eModifierType_Displace:
+ UI_icon_draw(x, y, ICON_MOD_DISPLACE); break;
+ case eModifierType_Shrinkwrap:
+ UI_icon_draw(x, y, ICON_MOD_SHRINKWRAP); break;
+ case eModifierType_Cast:
+ UI_icon_draw(x, y, ICON_MOD_CAST); break;
+ case eModifierType_MeshDeform:
+ UI_icon_draw(x, y, ICON_MOD_MESHDEFORM); break;
+ case eModifierType_Bevel:
+ UI_icon_draw(x, y, ICON_MOD_BEVEL); break;
+ case eModifierType_Smooth:
+ UI_icon_draw(x, y, ICON_MOD_SMOOTH); break;
+ case eModifierType_SimpleDeform:
+ UI_icon_draw(x, y, ICON_MOD_SIMPLEDEFORM); break;
+ case eModifierType_Mask:
+ UI_icon_draw(x, y, ICON_MOD_MASK); break;
+ case eModifierType_Cloth:
+ UI_icon_draw(x, y, ICON_MOD_CLOTH); break;
+ case eModifierType_Explode:
+ UI_icon_draw(x, y, ICON_MOD_EXPLODE); break;
+ case eModifierType_Collision:
+ UI_icon_draw(x, y, ICON_MOD_PHYSICS); break;
+ case eModifierType_Fluidsim:
+ UI_icon_draw(x, y, ICON_MOD_FLUIDSIM); break;
+ case eModifierType_Multires:
+ UI_icon_draw(x, y, ICON_MOD_MULTIRES); break;
+ case eModifierType_Smoke:
+ UI_icon_draw(x, y, ICON_MOD_SMOKE); break;
+ case eModifierType_Solidify:
+ UI_icon_draw(x, y, ICON_MOD_SOLIDIFY); break;
+ case eModifierType_Screw:
+ UI_icon_draw(x, y, ICON_MOD_SCREW); break;
+ default:
+ UI_icon_draw(x, y, ICON_DOT); break;
+ }
+ break;
+ }
+ case TSE_SCRIPT_BASE:
+ UI_icon_draw(x, y, ICON_TEXT); break;
+ case TSE_POSE_BASE:
+ UI_icon_draw(x, y, ICON_ARMATURE_DATA); break;
+ case TSE_POSE_CHANNEL:
+ UI_icon_draw(x, y, ICON_BONE_DATA); break;
+ case TSE_PROXY:
+ UI_icon_draw(x, y, ICON_GHOST); break;
+ case TSE_R_LAYER_BASE:
+ UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
+ case TSE_R_LAYER:
+ UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
+ case TSE_LINKED_LAMP:
+ UI_icon_draw(x, y, ICON_LAMP_DATA); break;
+ case TSE_LINKED_MAT:
+ UI_icon_draw(x, y, ICON_MATERIAL_DATA); break;
+ case TSE_POSEGRP_BASE:
+ UI_icon_draw(x, y, ICON_VERTEXSEL); break;
+ case TSE_SEQUENCE:
+ if(te->idcode==SEQ_MOVIE)
+ UI_icon_draw(x, y, ICON_SEQUENCE);
+ else if(te->idcode==SEQ_META)
+ UI_icon_draw(x, y, ICON_DOT);
+ else if(te->idcode==SEQ_SCENE)
+ UI_icon_draw(x, y, ICON_SCENE);
+ else if(te->idcode==SEQ_SOUND)
+ UI_icon_draw(x, y, ICON_SOUND);
+ else if(te->idcode==SEQ_IMAGE)
+ UI_icon_draw(x, y, ICON_IMAGE_COL);
+ else
+ UI_icon_draw(x, y, ICON_PARTICLES);
+ break;
+ case TSE_SEQ_STRIP:
+ UI_icon_draw(x, y, ICON_LIBRARY_DATA_DIRECT);
+ break;
+ case TSE_SEQUENCE_DUP:
+ UI_icon_draw(x, y, ICON_OBJECT_DATA);
+ break;
+ case TSE_RNA_STRUCT:
+ if(RNA_struct_is_ID(te->rnaptr.type)) {
+ arg.id= (ID *)te->rnaptr.data;
+ tselem_draw_icon_uibut(&arg, RNA_struct_ui_icon(te->rnaptr.type));
+ }
+ else
+ UI_icon_draw(x, y, RNA_struct_ui_icon(te->rnaptr.type));
+ break;
+ default:
+ UI_icon_draw(x, y, ICON_DOT); break;
+ }
+ }
+ else if (GS(tselem->id->name) == ID_OB) {
+ Object *ob= (Object *)tselem->id;
+ switch (ob->type) {
+ case OB_LAMP:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LAMP); break;
+ case OB_MESH:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_MESH); break;
+ case OB_CAMERA:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CAMERA); break;
+ case OB_CURVE:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CURVE); break;
+ case OB_MBALL:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_META); break;
+ case OB_LATTICE:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LATTICE); break;
+ case OB_ARMATURE:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_ARMATURE); break;
+ case OB_FONT:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_FONT); break;
+ case OB_SURF:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SURFACE); break;
+ case OB_SPEAKER:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SPEAKER); break;
+ case OB_EMPTY:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_EMPTY); break;
+
+ }
+ }
+ else {
+ switch( GS(tselem->id->name)) {
+ case ID_SCE:
+ tselem_draw_icon_uibut(&arg, ICON_SCENE_DATA); break;
+ case ID_ME:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_MESH); break;
+ case ID_CU:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CURVE); break;
+ case ID_MB:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_META); break;
+ case ID_LT:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LATTICE); break;
+ case ID_LA:
+ {
+ Lamp *la= (Lamp *)tselem->id;
+
+ switch(la->type) {
+ case LA_LOCAL:
+ tselem_draw_icon_uibut(&arg, ICON_LAMP_POINT); break;
+ case LA_SUN:
+ tselem_draw_icon_uibut(&arg, ICON_LAMP_SUN); break;
+ case LA_SPOT:
+ tselem_draw_icon_uibut(&arg, ICON_LAMP_SPOT); break;
+ case LA_HEMI:
+ tselem_draw_icon_uibut(&arg, ICON_LAMP_HEMI); break;
+ case LA_AREA:
+ tselem_draw_icon_uibut(&arg, ICON_LAMP_AREA); break;
+ default:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LAMP); break;
+ }
+ break;
+ }
+ case ID_MA:
+ tselem_draw_icon_uibut(&arg, ICON_MATERIAL_DATA); break;
+ case ID_TE:
+ tselem_draw_icon_uibut(&arg, ICON_TEXTURE_DATA); break;
+ case ID_IM:
+ tselem_draw_icon_uibut(&arg, ICON_IMAGE_DATA); break;
+ case ID_SPK:
+ case ID_SO:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_SPEAKER); break;
+ case ID_AR:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_ARMATURE); break;
+ case ID_CA:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CAMERA); break;
+ case ID_KE:
+ tselem_draw_icon_uibut(&arg, ICON_SHAPEKEY_DATA); break;
+ case ID_WO:
+ tselem_draw_icon_uibut(&arg, ICON_WORLD_DATA); break;
+ case ID_AC:
+ tselem_draw_icon_uibut(&arg, ICON_ACTION); break;
+ case ID_NLA:
+ tselem_draw_icon_uibut(&arg, ICON_NLA); break;
+ case ID_TXT:
+ tselem_draw_icon_uibut(&arg, ICON_SCRIPT); break;
+ case ID_GR:
+ tselem_draw_icon_uibut(&arg, ICON_GROUP); break;
+ case ID_LI:
+ tselem_draw_icon_uibut(&arg, ICON_LIBRARY_DATA_DIRECT); break;
+ }
+ }
+}
+
+static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, SpaceOops *soops, ListBase *lb, int level, int xmax, int *offsx, int ys)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int active;
+
+ for(te= lb->first; te; te= te->next) {
+
+ /* exit drawing early */
+ if((*offsx) - UI_UNIT_X > xmax)
+ break;
+
+ tselem= TREESTORE(te);
+
+ /* object hierarchy always, further constrained on level */
+ if(level<1 || (tselem->type==0 && te->idcode==ID_OB)) {
+
+ /* active blocks get white circle */
+ if(tselem->type==0) {
+ if(te->idcode==ID_OB) active= (OBACT==(Object *)tselem->id);
+ else if(scene->obedit && scene->obedit->data==tselem->id) active= 1; // XXX use context?
+ else active= tree_element_active(C, scene, soops, te, 0);
+ }
+ else active= tree_element_type_active(NULL, scene, soops, te, tselem, 0);
+
+ if(active) {
+ float ufac= UI_UNIT_X/20.0f;
+
+ uiSetRoundBox(15);
+ glColor4ub(255, 255, 255, 100);
+ uiRoundBox( (float)*offsx-0.5f*ufac, (float)ys-1.0f*ufac, (float)*offsx+UI_UNIT_Y-3.0f*ufac, (float)ys+UI_UNIT_Y-3.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
+ glEnable(GL_BLEND); /* roundbox disables */
+ }
+
+ tselem_draw_icon(block, xmax, (float)*offsx, (float)ys, tselem, te, 0.5f);
+ te->xs= (float)*offsx;
+ te->ys= (float)ys;
+ te->xend= (short)*offsx+UI_UNIT_X;
+ te->flag |= TE_ICONROW; // for click
+
+ (*offsx) += UI_UNIT_X;
+ }
+
+ /* this tree element always has same amount of branches, so dont draw */
+ if(tselem->type!=TSE_R_LAYER)
+ outliner_draw_iconrow(C, block, scene, soops, &te->subtree, level+1, xmax, offsx, ys);
+ }
+
+}
+
+/* closed tree element */
+static void outliner_set_coord_tree_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
+{
+ TreeElement *ten;
+
+ /* store coord and continue, we need coordinates for elements outside view too */
+ te->xs= (float)startx;
+ te->ys= (float)(*starty);
+
+ for(ten= te->subtree.first; ten; ten= ten->next) {
+ outliner_set_coord_tree_element(soops, ten, startx+UI_UNIT_X, starty);
+ }
+}
+
+
+static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty)
+{
+ TreeElement *ten;
+ TreeStoreElem *tselem;
+ float ufac= UI_UNIT_X/20.0f;
+ int offsx= 0, active=0; // active=1 active obj, else active data
+
+ tselem= TREESTORE(te);
+
+ if(*starty+2*UI_UNIT_Y >= ar->v2d.cur.ymin && *starty<= ar->v2d.cur.ymax) {
+ int xmax= ar->v2d.cur.xmax;
+
+ /* icons can be ui buts, we dont want it to overlap with restrict */
+ if((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
+ xmax-= OL_TOGW+UI_UNIT_X;
+
+ glEnable(GL_BLEND);
+
+ /* colors for active/selected data */
+ if(tselem->type==0) {
+ if(te->idcode==ID_SCE) {
+ if(tselem->id == (ID *)scene) {
+ glColor4ub(255, 255, 255, 100);
+ active= 2;
+ }
+ }
+ else if(te->idcode==ID_GR) {
+ Group *gr = (Group *)tselem->id;
+
+ if(group_select_flag(gr)) {
+ char col[4];
+ UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
+ col[3]= 100;
+ glColor4ubv((GLubyte *)col);
+
+ active= 2;
+ }
+ }
+ else if(te->idcode==ID_OB) {
+ Object *ob= (Object *)tselem->id;
+
+ if(ob==OBACT || (ob->flag & SELECT)) {
+ char col[4]= {0, 0, 0, 0};
+
+ /* outliner active ob: always white text, circle color now similar to view3d */
+
+ active= 2; /* means it draws a color circle */
+ if(ob==OBACT) {
+ if(ob->flag & SELECT) {
+ UI_GetThemeColorType4ubv(TH_ACTIVE, SPACE_VIEW3D, col);
+ col[3]= 100;
+ }
+
+ active= 1; /* means it draws white text */
+ }
+ else if(ob->flag & SELECT) {
+ UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
+ col[3]= 100;
+ }
+
+ glColor4ubv((GLubyte *)col);
+ }
+
+ }
+ else if(scene->obedit && scene->obedit->data==tselem->id) {
+ glColor4ub(255, 255, 255, 100);
+ active= 2;
+ }
+ else {
+ if(tree_element_active(C, scene, soops, te, 0)) {
+ glColor4ub(220, 220, 255, 100);
+ active= 2;
+ }
+ }
+ }
+ else {
+ if( tree_element_type_active(NULL, scene, soops, te, tselem, 0) ) active= 2;
+ glColor4ub(220, 220, 255, 100);
+ }
+
+ /* active circle */
+ if(active) {
+ uiSetRoundBox(15);
+ uiRoundBox( (float)startx+UI_UNIT_Y-1.5f*ufac, (float)*starty+2.0f*ufac, (float)startx+2.0f*UI_UNIT_Y-4.0f*ufac, (float)*starty+UI_UNIT_Y-1.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
+ glEnable(GL_BLEND); /* roundbox disables it */
+
+ te->flag |= TE_ACTIVE; // for lookup in display hierarchies
+ }
+
+ /* open/close icon, only when sublevels, except for scene */
+ if(te->subtree.first || (tselem->type==0 && te->idcode==ID_SCE) || (te->flag & TE_LAZY_CLOSED)) {
+ int icon_x;
+ if(tselem->type==0 && ELEM(te->idcode, ID_OB, ID_SCE))
+ icon_x = startx;
+ else
+ icon_x = startx+5*ufac;
+
+ // icons a bit higher
+ if(tselem->flag & TSE_CLOSED)
+ UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_RIGHT);
+ else
+ UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_DOWN);
+ }
+ offsx+= UI_UNIT_X;
+
+ /* datatype icon */
+
+ if(!(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))) {
+ // icons a bit higher
+ tselem_draw_icon(block, xmax, (float)startx+offsx - 0.5f*ufac, (float)*starty+2.0f*ufac, tselem, te, 1.0f);
+
+ offsx+= UI_UNIT_X;
+ }
+ else
+ offsx+= 2*ufac;
+
+ if(tselem->type==0 && tselem->id->lib) {
+ glPixelTransferf(GL_ALPHA_SCALE, 0.5f);
+ if(tselem->id->flag & LIB_INDIRECT)
+ UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_INDIRECT);
+ else
+ UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_DIRECT);
+ glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
+ offsx+= UI_UNIT_X;
+ }
+ glDisable(GL_BLEND);
+
+ /* name */
+ if(active==1) UI_ThemeColor(TH_TEXT_HI);
+ else if(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.75f);
+ else UI_ThemeColor(TH_TEXT);
+
+ UI_DrawString(startx+offsx, *starty+5*ufac, te->name);
+
+ offsx+= (int)(UI_UNIT_X + UI_GetStringWidth(te->name));
+
+ /* closed item, we draw the icons, not when it's a scene, or master-server list though */
+ if(tselem->flag & TSE_CLOSED) {
+ if(te->subtree.first) {
+ if(tselem->type==0 && te->idcode==ID_SCE);
+ else if(tselem->type!=TSE_R_LAYER) { /* this tree element always has same amount of branches, so dont draw */
+ int tempx= startx+offsx;
+
+ // divider
+ UI_ThemeColorShade(TH_BACK, -40);
+ glRecti(tempx -10, *starty+4, tempx -8, *starty+UI_UNIT_Y-4);
+
+ glEnable(GL_BLEND);
+ glPixelTransferf(GL_ALPHA_SCALE, 0.5);
+
+ outliner_draw_iconrow(C, block, scene, soops, &te->subtree, 0, xmax, &tempx, *starty+2);
+
+ glPixelTransferf(GL_ALPHA_SCALE, 1.0);
+ glDisable(GL_BLEND);
+ }
+ }
+ }
+ }
+ /* store coord and continue, we need coordinates for elements outside view too */
+ te->xs= (float)startx;
+ te->ys= (float)*starty;
+ te->xend= startx+offsx;
+
+ if((tselem->flag & TSE_CLOSED)==0) {
+ *starty-= UI_UNIT_Y;
+
+ for(ten= te->subtree.first; ten; ten= ten->next)
+ outliner_draw_tree_element(C, block, scene, ar, soops, ten, startx+UI_UNIT_X, starty);
+ }
+ else {
+ for(ten= te->subtree.first; ten; ten= ten->next)
+ outliner_set_coord_tree_element(soops, te, startx, starty);
+
+ *starty-= UI_UNIT_Y;
+ }
+}
+
+static void outliner_draw_hierarchy(SpaceOops *soops, ListBase *lb, int startx, int *starty)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int y1, y2;
+
+ if(lb->first==NULL) return;
+
+ y1=y2= *starty; /* for vertical lines between objects */
+ for(te=lb->first; te; te= te->next) {
+ y2= *starty;
+ tselem= TREESTORE(te);
+
+ /* horizontal line? */
+ if(tselem->type==0 && (te->idcode==ID_OB || te->idcode==ID_SCE))
+ glRecti(startx, *starty, startx+UI_UNIT_X, *starty-1);
+
+ *starty-= UI_UNIT_Y;
+
+ if((tselem->flag & TSE_CLOSED)==0)
+ outliner_draw_hierarchy(soops, &te->subtree, startx+UI_UNIT_X, starty);
+ }
+
+ /* vertical line */
+ te= lb->last;
+ if(te->parent || lb->first!=lb->last) {
+ tselem= TREESTORE(te);
+ if(tselem->type==0 && te->idcode==ID_OB) {
+
+ glRecti(startx, y1+UI_UNIT_Y, startx+1, y2);
+ }
+ }
+}
+
+static void outliner_draw_struct_marks(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+
+ /* selection status */
+ if((tselem->flag & TSE_CLOSED)==0)
+ if(tselem->type == TSE_RNA_STRUCT)
+ glRecti(0, *starty+1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, *starty+UI_UNIT_Y-1);
+
+ *starty-= UI_UNIT_Y;
+ if((tselem->flag & TSE_CLOSED)==0) {
+ outliner_draw_struct_marks(ar, soops, &te->subtree, starty);
+ if(tselem->type == TSE_RNA_STRUCT)
+ fdrawline(0, (float)*starty+UI_UNIT_Y, ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (float)*starty+UI_UNIT_Y);
+ }
+ }
+}
+
+static void outliner_draw_selection(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+
+ /* selection status */
+ if(tselem->flag & TSE_SELECTED) {
+ glRecti(0, *starty+1, (int)ar->v2d.cur.xmax, *starty+UI_UNIT_Y-1);
+ }
+ *starty-= UI_UNIT_Y;
+ if((tselem->flag & TSE_CLOSED)==0) outliner_draw_selection(ar, soops, &te->subtree, starty);
+ }
+}
+
+
+static void outliner_draw_tree(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops)
+{
+ TreeElement *te;
+ int starty, startx;
+ float col[4];
+
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // only once
+
+ if (ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
+ /* struct marks */
+ UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
+ //UI_ThemeColorShade(TH_BACK, -20);
+ starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
+ outliner_draw_struct_marks(ar, soops, &soops->tree, &starty);
+ }
+
+ /* always draw selection fill before hierarchy */
+ UI_GetThemeColor3fv(TH_BACK, col);
+ glColor3f(col[0]+0.06f, col[1]+0.08f, col[2]+0.10f);
+ starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
+ outliner_draw_selection(ar, soops, &soops->tree, &starty);
+
+ // grey hierarchy lines
+ UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.4f);
+ starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y/2-OL_Y_OFFSET;
+ startx= 6;
+ outliner_draw_hierarchy(soops, &soops->tree, startx, &starty);
+
+ // items themselves
+ starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
+ startx= 0;
+ for(te= soops->tree.first; te; te= te->next) {
+ outliner_draw_tree_element(C, block, scene, ar, soops, te, startx, &starty);
+ }
+}
+
+
+static void outliner_back(ARegion *ar)
+{
+ int ystart;
+
+ UI_ThemeColorShade(TH_BACK, 6);
+ ystart= (int)ar->v2d.tot.ymax;
+ ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
+
+ while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
+ glRecti(0, ystart, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, ystart+UI_UNIT_Y);
+ ystart-= 2*UI_UNIT_Y;
+ }
+}
+
+static void outliner_draw_restrictcols(ARegion *ar)
+{
+ int ystart;
+
+ /* background underneath */
+ UI_ThemeColor(TH_BACK);
+ glRecti((int)ar->v2d.cur.xmax-OL_TOGW, (int)ar->v2d.cur.ymin-V2D_SCROLL_HEIGHT-1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (int)ar->v2d.cur.ymax);
+
+ UI_ThemeColorShade(TH_BACK, 6);
+ ystart= (int)ar->v2d.tot.ymax;
+ ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
+
+ while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
+ glRecti((int)ar->v2d.cur.xmax-OL_TOGW, ystart, (int)ar->v2d.cur.xmax, ystart+UI_UNIT_Y);
+ ystart-= 2*UI_UNIT_Y;
+ }
+
+ UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
+
+ /* view */
+ fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
+ ar->v2d.cur.ymax,
+ ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
+ ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
+
+ /* render */
+ fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
+ ar->v2d.cur.ymax,
+ ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
+ ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
+
+ /* render */
+ fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
+ ar->v2d.cur.ymax,
+ ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
+ ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
+}
+
+/* ****************************************************** */
+/* Main Entrypoint - Draw contents of Outliner editor */
+
+void draw_outliner(const bContext *C)
+{
+ Main *mainvar= CTX_data_main(C);
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+ View2D *v2d= &ar->v2d;
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ uiBlock *block;
+ int sizey= 0, sizex= 0, sizex_rna= 0;
+
+ outliner_build_tree(mainvar, scene, soops); // always
+
+ /* get extents of data */
+ outliner_height(soops, &soops->tree, &sizey);
+
+ if (ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP)) {
+ /* RNA has two columns:
+ * - column 1 is (max_width + OL_RNA_COL_SPACEX) or
+ * (OL_RNA_COL_X), whichever is wider...
+ * - column 2 is fixed at OL_RNA_COL_SIZEX
+ *
+ * (*) XXX max width for now is a fixed factor of UI_UNIT_X*(max_indention+100)
+ */
+
+ /* get actual width of column 1 */
+ outliner_rna_width(soops, &soops->tree, &sizex_rna, 0);
+ sizex_rna= MAX2(OL_RNA_COLX, sizex_rna+OL_RNA_COL_SPACEX);
+
+ /* get width of data (for setting 'tot' rect, this is column 1 + column 2 + a bit extra) */
+ if (soops->outlinevis == SO_KEYMAP)
+ sizex= sizex_rna + OL_RNA_COL_SIZEX*3 + 50; // XXX this is only really a quick hack to make this wide enough...
+ else
+ sizex= sizex_rna + OL_RNA_COL_SIZEX + 50;
+ }
+ else {
+ /* width must take into account restriction columns (if visible) so that entries will still be visible */
+ //outliner_width(soops, &soops->tree, &sizex);
+ outliner_rna_width(soops, &soops->tree, &sizex, 0); // XXX should use outliner_width instead when te->xend will be set correctly...
+
+ /* constant offset for restriction columns */
+ // XXX this isn't that great yet...
+ if ((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
+ sizex += OL_TOGW*3;
+ }
+
+ /* tweak to display last line (when list bigger than window) */
+ sizey += V2D_SCROLL_HEIGHT;
+
+ /* adds vertical offset */
+ sizey += OL_Y_OFFSET;
+
+ /* update size of tot-rect (extents of data/viewable area) */
+ UI_view2d_totRect_set(v2d, sizex, sizey);
+
+ /* force display to pixel coords */
+ v2d->flag |= (V2D_PIXELOFS_X|V2D_PIXELOFS_Y);
+ /* set matrix for 2d-view controls */
+ UI_view2d_view_ortho(v2d);
+
+ /* draw outliner stuff (background, hierachy lines and names) */
+ outliner_back(ar);
+ block= uiBeginBlock(C, ar, "outliner buttons", UI_EMBOSS);
+ outliner_draw_tree((bContext *)C, block, scene, ar, soops);
+
+ if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
+ /* draw rna buttons */
+ outliner_draw_rnacols(ar, sizex_rna);
+ outliner_draw_rnabuts(block, scene, ar, soops, sizex_rna, &soops->tree);
+ }
+ else if(soops->outlinevis == SO_KEYMAP) {
+ outliner_draw_keymapbuts(block, ar, soops, &soops->tree);
+ }
+ else if (!(soops->flag & SO_HIDE_RESTRICTCOLS)) {
+ /* draw restriction columns */
+ outliner_draw_restrictcols(ar);
+ outliner_draw_restrictbuts(block, scene, ar, soops, &soops->tree);
+ }
+
+ /* draw edit buttons if nessecery */
+ outliner_buttons(C, block, ar, soops, &soops->tree);
+
+ uiEndBlock(C, block);
+ uiDrawBlock(C, block);
+
+ /* clear flag that allows quick redraws */
+ soops->storeflag &= ~SO_TREESTORE_REDRAW;
+}
diff --git a/source/blender/editors/space_outliner/outliner_edit.c b/source/blender/editors/space_outliner/outliner_edit.c
new file mode 100644
index 00000000000..2b451a48748
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_edit.c
@@ -0,0 +1,1426 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_edit.c
+ * \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+# ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+# endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "ED_keyframing.h"
+
+#include "outliner_intern.h"
+
+/* ************************************************************** */
+/* Unused Utilities */
+// XXX: where to place these?
+
+/* This is not used anywhere at the moment */
+#if 0
+/* return 1 when levels were opened */
+static int outliner_open_back(SpaceOops *soops, TreeElement *te)
+{
+ TreeStoreElem *tselem;
+ int retval= 0;
+
+ for (te= te->parent; te; te= te->parent) {
+ tselem= TREESTORE(te);
+ if (tselem->flag & TSE_CLOSED) {
+ tselem->flag &= ~TSE_CLOSED;
+ retval= 1;
+ }
+ }
+ return retval;
+}
+
+static void outliner_open_reveal(SpaceOops *soops, ListBase *lb, TreeElement *teFind, int *found)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for (te= lb->first; te; te= te->next) {
+ /* check if this tree-element was the one we're seeking */
+ if (te == teFind) {
+ *found= 1;
+ return;
+ }
+
+ /* try to see if sub-tree contains it then */
+ outliner_open_reveal(soops, &te->subtree, teFind, found);
+ if (*found) {
+ tselem= TREESTORE(te);
+ if (tselem->flag & TSE_CLOSED)
+ tselem->flag &= ~TSE_CLOSED;
+ return;
+ }
+ }
+}
+#endif
+
+/* ************************************************************** */
+/* Click Activated */
+
+/* Toggle Open/Closed ------------------------------------------- */
+
+static int do_outliner_item_openclose(bContext *C, SpaceOops *soops, TreeElement *te, int all, const float mval[2])
+{
+
+ if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+ TreeStoreElem *tselem= TREESTORE(te);
+
+ /* all below close/open? */
+ if(all) {
+ tselem->flag &= ~TSE_CLOSED;
+ outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
+ }
+ else {
+ if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
+ else tselem->flag |= TSE_CLOSED;
+ }
+
+ return 1;
+ }
+
+ for(te= te->subtree.first; te; te= te->next) {
+ if(do_outliner_item_openclose(C, soops, te, all, mval))
+ return 1;
+ }
+ return 0;
+
+}
+
+/* event can enterkey, then it opens/closes */
+static int outliner_item_openclose(bContext *C, wmOperator *op, wmEvent *event)
+{
+ ARegion *ar= CTX_wm_region(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ TreeElement *te;
+ float fmval[2];
+ int all= RNA_boolean_get(op->ptr, "all");
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+
+ for(te= soops->tree.first; te; te= te->next) {
+ if(do_outliner_item_openclose(C, soops, te, all, fmval))
+ break;
+ }
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_item_openclose(wmOperatorType *ot)
+{
+ ot->name= "Open/Close Item";
+ ot->idname= "OUTLINER_OT_item_openclose";
+ ot->description= "Toggle whether item under cursor is enabled or closed";
+
+ ot->invoke= outliner_item_openclose;
+
+ ot->poll= ED_operator_outliner_active;
+
+ RNA_def_boolean(ot->srna, "all", 1, "All", "Close or open all items.");
+}
+
+/* Rename --------------------------------------------------- */
+
+void do_item_rename(ARegion *ar, TreeElement *te, TreeStoreElem *tselem, ReportList *reports)
+{
+ /* can't rename rna datablocks entries */
+ if(ELEM3(tselem->type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))
+ ;
+ else if(ELEM10(tselem->type, TSE_ANIM_DATA, TSE_NLA, TSE_DEFGROUP_BASE, TSE_CONSTRAINT_BASE, TSE_MODIFIER_BASE, TSE_SCRIPT_BASE, TSE_POSE_BASE, TSE_POSEGRP_BASE, TSE_R_LAYER_BASE, TSE_R_PASS))
+ BKE_report(reports, RPT_WARNING, "Cannot edit builtin name");
+ else if(ELEM3(tselem->type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP))
+ BKE_report(reports, RPT_WARNING, "Cannot edit sequence name");
+ else if(tselem->id->lib) {
+ // XXX error_libdata();
+ }
+ else if(te->idcode == ID_LI && te->parent) {
+ BKE_report(reports, RPT_WARNING, "Cannot edit the path of an indirectly linked library");
+ }
+ else {
+ tselem->flag |= TSE_TEXTBUT;
+ ED_region_tag_redraw(ar);
+ }
+}
+
+void item_rename_cb(bContext *C, Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ ARegion *ar= CTX_wm_region(C);
+ ReportList *reports= CTX_wm_reports(C); // XXX
+ do_item_rename(ar, te, tselem, reports) ;
+}
+
+static int do_outliner_item_rename(bContext *C, ARegion *ar, SpaceOops *soops, TreeElement *te, const float mval[2])
+{
+ ReportList *reports= CTX_wm_reports(C); // XXX
+
+ if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+ TreeStoreElem *tselem= TREESTORE(te);
+
+ /* name and first icon */
+ if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
+
+ do_item_rename(ar, te, tselem, reports) ;
+ }
+ return 1;
+ }
+
+ for(te= te->subtree.first; te; te= te->next) {
+ if(do_outliner_item_rename(C, ar, soops, te, mval)) return 1;
+ }
+ return 0;
+}
+
+static int outliner_item_rename(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ ARegion *ar= CTX_wm_region(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ TreeElement *te;
+ float fmval[2];
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+
+ for(te= soops->tree.first; te; te= te->next) {
+ if(do_outliner_item_rename(C, ar, soops, te, fmval)) break;
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_item_rename(wmOperatorType *ot)
+{
+ ot->name= "Rename Item";
+ ot->idname= "OUTLINER_OT_item_rename";
+ ot->description= "Rename item under cursor";
+
+ ot->invoke= outliner_item_rename;
+
+ ot->poll= ED_operator_outliner_active;
+}
+
+/* ************************************************************** */
+/* Setting Toggling Operators */
+
+/* =============================================== */
+/* Toggling Utilities (Exported) */
+
+/* Apply Settings ------------------------------- */
+
+static int outliner_count_levels(SpaceOops *soops, ListBase *lb, int curlevel)
+{
+ TreeElement *te;
+ int level=curlevel, lev;
+
+ for(te= lb->first; te; te= te->next) {
+
+ lev= outliner_count_levels(soops, &te->subtree, curlevel+1);
+ if(lev>level) level= lev;
+ }
+ return level;
+}
+
+int outliner_has_one_flag(SpaceOops *soops, ListBase *lb, short flag, short curlevel)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int level;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->flag & flag) return curlevel;
+
+ level= outliner_has_one_flag(soops, &te->subtree, flag, curlevel+1);
+ if(level) return level;
+ }
+ return 0;
+}
+
+void outliner_set_flag(SpaceOops *soops, ListBase *lb, short flag, short set)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(set==0) tselem->flag &= ~flag;
+ else tselem->flag |= flag;
+ outliner_set_flag(soops, &te->subtree, flag, set);
+ }
+}
+
+/* Restriction Columns ------------------------------- */
+
+/* same check needed for both object operation and restrict column button func
+ * return 0 when in edit mode (cannot restrict view or select)
+ * otherwise return 1 */
+int common_restrict_check(bContext *C, Object *ob)
+{
+ /* Don't allow hide an object in edit mode,
+ * check the bug #22153 and #21609, #23977
+ */
+ Object *obedit= CTX_data_edit_object(C);
+ if (obedit && obedit == ob) {
+ /* found object is hidden, reset */
+ if (ob->restrictflag & OB_RESTRICT_VIEW)
+ ob->restrictflag &= ~OB_RESTRICT_VIEW;
+ /* found object is unselectable, reset */
+ if (ob->restrictflag & OB_RESTRICT_SELECT)
+ ob->restrictflag &= ~OB_RESTRICT_SELECT;
+ return 0;
+ }
+
+ return 1;
+}
+
+/* =============================================== */
+/* Restriction toggles */
+
+/* Toggle Visibility ---------------------------------------- */
+
+void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+ Object *ob = (Object *)tselem->id;
+
+ /* add check for edit mode */
+ if(!common_restrict_check(C, ob)) return;
+
+ if(base || (base= object_in_scene(ob, scene))) {
+ if((base->object->restrictflag ^= OB_RESTRICT_VIEW)) {
+ ED_base_object_select(base, BA_DESELECT);
+ }
+ }
+}
+
+void group_toggle_visibility_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Group *group= (Group *)tselem->id;
+ restrictbutton_gr_restrict_flag(scene, group, OB_RESTRICT_VIEW);
+}
+
+static int outliner_toggle_visibility_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
+
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_visibility_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Toggle Visibility";
+ ot->idname= "OUTLINER_OT_visibility_toggle";
+ ot->description= "Toggle the visibility of selected items";
+
+ /* callbacks */
+ ot->exec= outliner_toggle_visibility_exec;
+ ot->poll= ED_operator_outliner_active_no_editobject;
+
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* Toggle Selectability ---------------------------------------- */
+
+void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+
+ if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+ if(base) {
+ base->object->restrictflag^=OB_RESTRICT_SELECT;
+ }
+}
+
+void group_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Group *group= (Group *)tselem->id;
+ restrictbutton_gr_restrict_flag(scene, group, OB_RESTRICT_SELECT);
+}
+
+static int outliner_toggle_selectability_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
+
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_selectability_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Toggle Selectability";
+ ot->idname= "OUTLINER_OT_selectability_toggle";
+ ot->description= "Toggle the selectability";
+
+ /* callbacks */
+ ot->exec= outliner_toggle_selectability_exec;
+ ot->poll= ED_operator_outliner_active_no_editobject;
+
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* Toggle Renderability ---------------------------------------- */
+
+void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+
+ if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+ if(base) {
+ base->object->restrictflag^=OB_RESTRICT_RENDER;
+ }
+}
+
+void group_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Group *group= (Group *)tselem->id;
+ restrictbutton_gr_restrict_flag(scene, group, OB_RESTRICT_RENDER);
+}
+
+static int outliner_toggle_renderability_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_renderability_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Toggle Renderability";
+ ot->idname= "OUTLINER_OT_renderability_toggle";
+ ot->description= "Toggle the renderability of selected items";
+
+ /* callbacks */
+ ot->exec= outliner_toggle_renderability_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* =============================================== */
+/* Outliner setting toggles */
+
+/* Toggle Expanded (Outliner) ---------------------------------------- */
+
+static int outliner_toggle_expanded_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ if (outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1))
+ outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 0);
+ else
+ outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 1);
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_expanded_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Expand/Collapse All";
+ ot->idname= "OUTLINER_OT_expanded_toggle";
+ ot->description= "Expand/Collapse all items";
+
+ /* callbacks */
+ ot->exec= outliner_toggle_expanded_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ /* no undo or registry, UI option */
+}
+
+/* Toggle Selected (Outliner) ---------------------------------------- */
+
+static int outliner_toggle_selected_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ ARegion *ar= CTX_wm_region(C);
+ Scene *scene= CTX_data_scene(C);
+
+ if (outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1))
+ outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
+ else
+ outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 1);
+
+ soops->storeflag |= SO_TREESTORE_REDRAW;
+
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_selected_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Toggle Selected";
+ ot->idname= "OUTLINER_OT_selected_toggle";
+ ot->description= "Toggle the Outliner selection of items";
+
+ /* callbacks */
+ ot->exec= outliner_toggle_selected_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ /* no undo or registry, UI option */
+}
+
+/* ************************************************************** */
+/* Hotkey Only Operators */
+
+/* Show Active --------------------------------------------------- */
+
+static int outliner_show_active_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *so= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+ View2D *v2d= &ar->v2d;
+
+ TreeElement *te;
+ int xdelta, ytop;
+
+ // TODO: make this get this info from context instead...
+ if (OBACT == NULL)
+ return OPERATOR_CANCELLED;
+
+ te= outliner_find_id(so, &so->tree, (ID *)OBACT);
+ if (te) {
+ /* make te->ys center of view */
+ ytop= (int)(te->ys + (v2d->mask.ymax - v2d->mask.ymin)/2);
+ if (ytop>0) ytop= 0;
+
+ v2d->cur.ymax= (float)ytop;
+ v2d->cur.ymin= (float)(ytop-(v2d->mask.ymax - v2d->mask.ymin));
+
+ /* make te->xs ==> te->xend center of view */
+ xdelta = (int)(te->xs - v2d->cur.xmin);
+ v2d->cur.xmin += xdelta;
+ v2d->cur.xmax += xdelta;
+
+ so->storeflag |= SO_TREESTORE_REDRAW;
+ }
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_show_active(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Show Active";
+ ot->idname= "OUTLINER_OT_show_active";
+ ot->description= "Adjust the view so that the active Object is shown centered";
+
+ /* callbacks */
+ ot->exec= outliner_show_active_exec;
+ ot->poll= ED_operator_outliner_active;
+}
+
+/* View Panning --------------------------------------------------- */
+
+static int outliner_scroll_page_exec(bContext *C, wmOperator *op)
+{
+ ARegion *ar= CTX_wm_region(C);
+ int dy= ar->v2d.mask.ymax - ar->v2d.mask.ymin;
+ int up= 0;
+
+ if(RNA_boolean_get(op->ptr, "up"))
+ up= 1;
+
+ if(up == 0) dy= -dy;
+ ar->v2d.cur.ymin+= dy;
+ ar->v2d.cur.ymax+= dy;
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_scroll_page(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Scroll Page";
+ ot->idname= "OUTLINER_OT_scroll_page";
+ ot->description= "Scroll page up or down";
+
+ /* callbacks */
+ ot->exec= outliner_scroll_page_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ /* properties */
+ RNA_def_boolean(ot->srna, "up", 0, "Up", "Scroll up one page.");
+}
+
+/* Search ------------------------------------------------------- */
+// TODO: probably obsolete now with filtering?
+
+#if 0
+
+/* recursive helper for function below */
+static void outliner_set_coordinates_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
+{
+ TreeStoreElem *tselem= TREESTORE(te);
+
+ /* store coord and continue, we need coordinates for elements outside view too */
+ te->xs= (float)startx;
+ te->ys= (float)(*starty);
+ *starty-= UI_UNIT_Y;
+
+ if((tselem->flag & TSE_CLOSED)==0) {
+ TreeElement *ten;
+ for(ten= te->subtree.first; ten; ten= ten->next) {
+ outliner_set_coordinates_element(soops, ten, startx+UI_UNIT_X, starty);
+ }
+ }
+
+}
+
+/* to retrieve coordinates with redrawing the entire tree */
+static void outliner_set_coordinates(ARegion *ar, SpaceOops *soops)
+{
+ TreeElement *te;
+ int starty= (int)(ar->v2d.tot.ymax)-UI_UNIT_Y;
+ int startx= 0;
+
+ for(te= soops->tree.first; te; te= te->next) {
+ outliner_set_coordinates_element(soops, te, startx, &starty);
+ }
+}
+
+/* find next element that has this name */
+static TreeElement *outliner_find_named(SpaceOops *soops, ListBase *lb, char *name, int flags, TreeElement *prev, int *prevFound)
+{
+ TreeElement *te, *tes;
+
+ for (te= lb->first; te; te= te->next) {
+ int found = outliner_filter_has_name(te, name, flags);
+
+ if(found) {
+ /* name is right, but is element the previous one? */
+ if (prev) {
+ if ((te != prev) && (*prevFound))
+ return te;
+ if (te == prev) {
+ *prevFound = 1;
+ }
+ }
+ else
+ return te;
+ }
+
+ tes= outliner_find_named(soops, &te->subtree, name, flags, prev, prevFound);
+ if(tes) return tes;
+ }
+
+ /* nothing valid found */
+ return NULL;
+}
+
+static void outliner_find_panel(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int again, int flags)
+{
+ ReportList *reports = NULL; // CTX_wm_reports(C);
+ TreeElement *te= NULL;
+ TreeElement *last_find;
+ TreeStoreElem *tselem;
+ int ytop, xdelta, prevFound=0;
+ char name[32];
+
+ /* get last found tree-element based on stored search_tse */
+ last_find= outliner_find_tse(soops, &soops->search_tse);
+
+ /* determine which type of search to do */
+ if (again && last_find) {
+ /* no popup panel - previous + user wanted to search for next after previous */
+ BLI_strncpy(name, soops->search_string, sizeof(name));
+ flags= soops->search_flags;
+
+ /* try to find matching element */
+ te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
+ if (te==NULL) {
+ /* no more matches after previous, start from beginning again */
+ prevFound= 1;
+ te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
+ }
+ }
+ else {
+ /* pop up panel - no previous, or user didn't want search after previous */
+ strcpy(name, "");
+// XXX if (sbutton(name, 0, sizeof(name)-1, "Find: ") && name[0]) {
+// te= outliner_find_named(soops, &soops->tree, name, flags, NULL, &prevFound);
+// }
+// else return; /* XXX RETURN! XXX */
+ }
+
+ /* do selection and reveal */
+ if (te) {
+ tselem= TREESTORE(te);
+ if (tselem) {
+ /* expand branches so that it will be visible, we need to get correct coordinates */
+ if( outliner_open_back(soops, te))
+ outliner_set_coordinates(ar, soops);
+
+ /* deselect all visible, and select found element */
+ outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
+ tselem->flag |= TSE_SELECTED;
+
+ /* make te->ys center of view */
+ ytop= (int)(te->ys + (ar->v2d.mask.ymax-ar->v2d.mask.ymin)/2);
+ if(ytop>0) ytop= 0;
+ ar->v2d.cur.ymax= (float)ytop;
+ ar->v2d.cur.ymin= (float)(ytop-(ar->v2d.mask.ymax-ar->v2d.mask.ymin));
+
+ /* make te->xs ==> te->xend center of view */
+ xdelta = (int)(te->xs - ar->v2d.cur.xmin);
+ ar->v2d.cur.xmin += xdelta;
+ ar->v2d.cur.xmax += xdelta;
+
+ /* store selection */
+ soops->search_tse= *tselem;
+
+ BLI_strncpy(soops->search_string, name, 33);
+ soops->search_flags= flags;
+
+ /* redraw */
+ soops->storeflag |= SO_TREESTORE_REDRAW;
+ }
+ }
+ else {
+ /* no tree-element found */
+ BKE_report(reports, RPT_WARNING, "Not found: %s", name);
+ }
+}
+#endif
+
+/* Show One Level ----------------------------------------------- */
+
+/* helper function for Show/Hide one level operator */
+static void outliner_openclose_level(SpaceOops *soops, ListBase *lb, int curlevel, int level, int open)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+
+ if(open) {
+ if(curlevel<=level) tselem->flag &= ~TSE_CLOSED;
+ }
+ else {
+ if(curlevel>=level) tselem->flag |= TSE_CLOSED;
+ }
+
+ outliner_openclose_level(soops, &te->subtree, curlevel+1, level, open);
+ }
+}
+
+static int outliner_one_level_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ ARegion *ar= CTX_wm_region(C);
+ int add= RNA_boolean_get(op->ptr, "open");
+ int level;
+
+ level= outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1);
+ if(add==1) {
+ if(level) outliner_openclose_level(soops, &soops->tree, 1, level, 1);
+ }
+ else {
+ if(level==0) level= outliner_count_levels(soops, &soops->tree, 0);
+ if(level) outliner_openclose_level(soops, &soops->tree, 1, level-1, 0);
+ }
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_show_one_level(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Show/Hide One Level";
+ ot->idname= "OUTLINER_OT_show_one_level";
+ ot->description= "Expand/collapse all entries by one level";
+
+ /* callbacks */
+ ot->exec= outliner_one_level_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ /* no undo or registry, UI option */
+
+ /* properties */
+ RNA_def_boolean(ot->srna, "open", 1, "Open", "Expand all entries one level deep.");
+}
+
+/* Show Hierarchy ----------------------------------------------- */
+
+/* helper function for tree_element_shwo_hierarchy() - recursively checks whether subtrees have any objects*/
+static int subtree_has_objects(SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->type==0 && te->idcode==ID_OB) return 1;
+ if( subtree_has_objects(soops, &te->subtree)) return 1;
+ }
+ return 0;
+}
+
+/* recursive helper function for Show Hierarchy operator */
+static void tree_element_show_hierarchy(Scene *scene, SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ /* open all object elems, close others */
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+
+ if(tselem->type==0) {
+ if(te->idcode==ID_SCE) {
+ if(tselem->id!=(ID *)scene) tselem->flag |= TSE_CLOSED;
+ else tselem->flag &= ~TSE_CLOSED;
+ }
+ else if(te->idcode==ID_OB) {
+ if(subtree_has_objects(soops, &te->subtree)) tselem->flag &= ~TSE_CLOSED;
+ else tselem->flag |= TSE_CLOSED;
+ }
+ }
+ else tselem->flag |= TSE_CLOSED;
+
+ if(tselem->flag & TSE_CLOSED); else tree_element_show_hierarchy(scene, soops, &te->subtree);
+ }
+}
+
+/* show entire object level hierarchy */
+static int outliner_show_hierarchy_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ ARegion *ar= CTX_wm_region(C);
+ Scene *scene= CTX_data_scene(C);
+
+ /* recursively open/close levels */
+ tree_element_show_hierarchy(scene, soops, &soops->tree);
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_show_hierarchy(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Show Hierarchy";
+ ot->idname= "OUTLINER_OT_show_hierarchy";
+ ot->description= "Open all object entries and close all others";
+
+ /* callbacks */
+ ot->exec= outliner_show_hierarchy_exec;
+ ot->poll= ED_operator_outliner_active; // TODO: shouldn't be allowed in RNA views...
+
+ /* no undo or registry, UI option */
+}
+
+/* ************************************************************** */
+/* ANIMATO OPERATIONS */
+/* KeyingSet and Driver Creation - Helper functions */
+
+/* specialised poll callback for these operators to work in Datablocks view only */
+static int ed_operator_outliner_datablocks_active(bContext *C)
+{
+ ScrArea *sa= CTX_wm_area(C);
+ if ((sa) && (sa->spacetype==SPACE_OUTLINER)) {
+ SpaceOops *so= CTX_wm_space_outliner(C);
+ return (so->outlinevis == SO_DATABLOCKS);
+ }
+ return 0;
+}
+
+
+/* Helper func to extract an RNA path from selected tree element
+ * NOTE: the caller must zero-out all values of the pointers that it passes here first, as
+ * this function does not do that yet
+ */
+static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem,
+ ID **id, char **path, int *array_index, short *flag, short *UNUSED(groupmode))
+{
+ ListBase hierarchy = {NULL, NULL};
+ LinkData *ld;
+ TreeElement *tem, *temnext, *temsub;
+ TreeStoreElem *tse, *tsenext;
+ PointerRNA *ptr, *nextptr;
+ PropertyRNA *prop;
+ char *newpath=NULL;
+
+ /* optimise tricks:
+ * - Don't do anything if the selected item is a 'struct', but arrays are allowed
+ */
+ if (tselem->type == TSE_RNA_STRUCT)
+ return;
+
+ /* Overview of Algorithm:
+ * 1. Go up the chain of parents until we find the 'root', taking note of the
+ * levels encountered in reverse-order (i.e. items are added to the start of the list
+ * for more convenient looping later)
+ * 2. Walk down the chain, adding from the first ID encountered
+ * (which will become the 'ID' for the KeyingSet Path), and build a
+ * path as we step through the chain
+ */
+
+ /* step 1: flatten out hierarchy of parents into a flat chain */
+ for (tem= te->parent; tem; tem= tem->parent) {
+ ld= MEM_callocN(sizeof(LinkData), "LinkData for tree_element_to_path()");
+ ld->data= tem;
+ BLI_addhead(&hierarchy, ld);
+ }
+
+ /* step 2: step down hierarchy building the path (NOTE: addhead in previous loop was needed so that we can loop like this) */
+ for (ld= hierarchy.first; ld; ld= ld->next) {
+ /* get data */
+ tem= (TreeElement *)ld->data;
+ tse= TREESTORE(tem);
+ ptr= &tem->rnaptr;
+ prop= tem->directdata;
+
+ /* check if we're looking for first ID, or appending to path */
+ if (*id) {
+ /* just 'append' property to path
+ * - to prevent memory leaks, we must write to newpath not path, then free old path + swap them
+ */
+ if(tse->type == TSE_RNA_PROPERTY) {
+ if(RNA_property_type(prop) == PROP_POINTER) {
+ /* for pointer we just append property name */
+ newpath= RNA_path_append(*path, ptr, prop, 0, NULL);
+ }
+ else if(RNA_property_type(prop) == PROP_COLLECTION) {
+ char buf[128], *name;
+
+ temnext= (TreeElement*)(ld->next->data);
+ tsenext= TREESTORE(temnext);
+
+ nextptr= &temnext->rnaptr;
+ name= RNA_struct_name_get_alloc(nextptr, buf, sizeof(buf));
+
+ if(name) {
+ /* if possible, use name as a key in the path */
+ newpath= RNA_path_append(*path, NULL, prop, 0, name);
+
+ if(name != buf)
+ MEM_freeN(name);
+ }
+ else {
+ /* otherwise use index */
+ int index= 0;
+
+ for(temsub=tem->subtree.first; temsub; temsub=temsub->next, index++)
+ if(temsub == temnext)
+ break;
+
+ newpath= RNA_path_append(*path, NULL, prop, index, NULL);
+ }
+
+ ld= ld->next;
+ }
+ }
+
+ if(newpath) {
+ if (*path) MEM_freeN(*path);
+ *path= newpath;
+ newpath= NULL;
+ }
+ }
+ else {
+ /* no ID, so check if entry is RNA-struct, and if that RNA-struct is an ID datablock to extract info from */
+ if (tse->type == TSE_RNA_STRUCT) {
+ /* ptr->data not ptr->id.data seems to be the one we want, since ptr->data is sometimes the owner of this ID? */
+ if(RNA_struct_is_ID(ptr->type)) {
+ *id= (ID *)ptr->data;
+
+ /* clear path */
+ if(*path) {
+ MEM_freeN(*path);
+ path= NULL;
+ }
+ }
+ }
+ }
+ }
+
+ /* step 3: if we've got an ID, add the current item to the path */
+ if (*id) {
+ /* add the active property to the path */
+ ptr= &te->rnaptr;
+ prop= te->directdata;
+
+ /* array checks */
+ if (tselem->type == TSE_RNA_ARRAY_ELEM) {
+ /* item is part of an array, so must set the array_index */
+ *array_index= te->index;
+ }
+ else if (RNA_property_array_length(ptr, prop)) {
+ /* entire array was selected, so keyframe all */
+ *flag |= KSP_FLAG_WHOLE_ARRAY;
+ }
+
+ /* path */
+ newpath= RNA_path_append(*path, NULL, prop, 0, NULL);
+ if (*path) MEM_freeN(*path);
+ *path= newpath;
+ }
+
+ /* free temp data */
+ BLI_freelistN(&hierarchy);
+}
+
+/* =============================================== */
+/* Driver Operations */
+
+/* These operators are only available in databrowser mode for now, as
+ * they depend on having RNA paths and/or hierarchies available.
+ */
+enum {
+ DRIVERS_EDITMODE_ADD = 0,
+ DRIVERS_EDITMODE_REMOVE,
+} /*eDrivers_EditModes*/;
+
+/* Utilities ---------------------------------- */
+
+/* Recursively iterate over tree, finding and working on selected items */
+static void do_outliner_drivers_editop(SpaceOops *soops, ListBase *tree, ReportList *reports, short mode)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for (te= tree->first; te; te=te->next) {
+ tselem= TREESTORE(te);
+
+ /* if item is selected, perform operation */
+ if (tselem->flag & TSE_SELECTED) {
+ ID *id= NULL;
+ char *path= NULL;
+ int array_index= 0;
+ short flag= 0;
+ short groupmode= KSP_GROUP_KSNAME;
+
+ /* check if RNA-property described by this selected element is an animateable prop */
+ if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
+ /* get id + path + index info from the selected element */
+ tree_element_to_path(soops, te, tselem,
+ &id, &path, &array_index, &flag, &groupmode);
+ }
+
+ /* only if ID and path were set, should we perform any actions */
+ if (id && path) {
+ short dflags = CREATEDRIVER_WITH_DEFAULT_DVAR;
+ int arraylen = 1;
+
+ /* array checks */
+ if (flag & KSP_FLAG_WHOLE_ARRAY) {
+ /* entire array was selected, so add drivers for all */
+ arraylen= RNA_property_array_length(&te->rnaptr, te->directdata);
+ }
+ else
+ arraylen= array_index;
+
+ /* we should do at least one step */
+ if (arraylen == array_index)
+ arraylen++;
+
+ /* for each array element we should affect, add driver */
+ for (; array_index < arraylen; array_index++) {
+ /* action depends on mode */
+ switch (mode) {
+ case DRIVERS_EDITMODE_ADD:
+ {
+ /* add a new driver with the information obtained (only if valid) */
+ ANIM_add_driver(reports, id, path, array_index, dflags, DRIVER_TYPE_PYTHON);
+ }
+ break;
+ case DRIVERS_EDITMODE_REMOVE:
+ {
+ /* remove driver matching the information obtained (only if valid) */
+ ANIM_remove_driver(reports, id, path, array_index, dflags);
+ }
+ break;
+ }
+ }
+
+ /* free path, since it had to be generated */
+ MEM_freeN(path);
+ }
+
+
+ }
+
+ /* go over sub-tree */
+ if ((tselem->flag & TSE_CLOSED)==0)
+ do_outliner_drivers_editop(soops, &te->subtree, reports, mode);
+ }
+}
+
+/* Add Operator ---------------------------------- */
+
+static int outliner_drivers_addsel_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soutliner= CTX_wm_space_outliner(C);
+
+ /* check for invalid states */
+ if (soutliner == NULL)
+ return OPERATOR_CANCELLED;
+
+ /* recursively go into tree, adding selected items */
+ do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_ADD);
+
+ /* send notifiers */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_FCURVES_ORDER, NULL); // XXX
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_drivers_add_selected(wmOperatorType *ot)
+{
+ /* api callbacks */
+ ot->idname= "OUTLINER_OT_drivers_add_selected";
+ ot->name= "Add Drivers for Selected";
+ ot->description= "Add drivers to selected items";
+
+ /* api callbacks */
+ ot->exec= outliner_drivers_addsel_exec;
+ ot->poll= ed_operator_outliner_datablocks_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+
+/* Remove Operator ---------------------------------- */
+
+static int outliner_drivers_deletesel_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soutliner= CTX_wm_space_outliner(C);
+
+ /* check for invalid states */
+ if (soutliner == NULL)
+ return OPERATOR_CANCELLED;
+
+ /* recursively go into tree, adding selected items */
+ do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_REMOVE);
+
+ /* send notifiers */
+ WM_event_add_notifier(C, ND_KEYS, NULL); // XXX
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_drivers_delete_selected(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->idname= "OUTLINER_OT_drivers_delete_selected";
+ ot->name= "Delete Drivers for Selected";
+ ot->description= "Delete drivers assigned to selected items";
+
+ /* api callbacks */
+ ot->exec= outliner_drivers_deletesel_exec;
+ ot->poll= ed_operator_outliner_datablocks_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* =============================================== */
+/* Keying Set Operations */
+
+/* These operators are only available in databrowser mode for now, as
+ * they depend on having RNA paths and/or hierarchies available.
+ */
+enum {
+ KEYINGSET_EDITMODE_ADD = 0,
+ KEYINGSET_EDITMODE_REMOVE,
+} /*eKeyingSet_EditModes*/;
+
+/* Utilities ---------------------------------- */
+
+/* find the 'active' KeyingSet, and add if not found (if adding is allowed) */
+// TODO: should this be an API func?
+static KeyingSet *verify_active_keyingset(Scene *scene, short add)
+{
+ KeyingSet *ks= NULL;
+
+ /* sanity check */
+ if (scene == NULL)
+ return NULL;
+
+ /* try to find one from scene */
+ if (scene->active_keyingset > 0)
+ ks= BLI_findlink(&scene->keyingsets, scene->active_keyingset-1);
+
+ /* add if none found */
+ // XXX the default settings have yet to evolve
+ if ((add) && (ks==NULL)) {
+ ks= BKE_keyingset_add(&scene->keyingsets, NULL, KEYINGSET_ABSOLUTE, 0);
+ scene->active_keyingset= BLI_countlist(&scene->keyingsets);
+ }
+
+ return ks;
+}
+
+/* Recursively iterate over tree, finding and working on selected items */
+static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBase *tree, short mode)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for (te= tree->first; te; te=te->next) {
+ tselem= TREESTORE(te);
+
+ /* if item is selected, perform operation */
+ if (tselem->flag & TSE_SELECTED) {
+ ID *id= NULL;
+ char *path= NULL;
+ int array_index= 0;
+ short flag= 0;
+ short groupmode= KSP_GROUP_KSNAME;
+
+ /* check if RNA-property described by this selected element is an animateable prop */
+ if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
+ /* get id + path + index info from the selected element */
+ tree_element_to_path(soops, te, tselem,
+ &id, &path, &array_index, &flag, &groupmode);
+ }
+
+ /* only if ID and path were set, should we perform any actions */
+ if (id && path) {
+ /* action depends on mode */
+ switch (mode) {
+ case KEYINGSET_EDITMODE_ADD:
+ {
+ /* add a new path with the information obtained (only if valid) */
+ // TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name
+ BKE_keyingset_add_path(ks, id, NULL, path, array_index, flag, groupmode);
+ ks->active_path= BLI_countlist(&ks->paths);
+ }
+ break;
+ case KEYINGSET_EDITMODE_REMOVE:
+ {
+ /* find the relevant path, then remove it from the KeyingSet */
+ KS_Path *ksp= BKE_keyingset_find_path(ks, id, NULL, path, array_index, groupmode);
+
+ if (ksp) {
+ /* free path's data */
+ BKE_keyingset_free_path(ks, ksp);
+
+ ks->active_path= 0;
+ }
+ }
+ break;
+ }
+
+ /* free path, since it had to be generated */
+ MEM_freeN(path);
+ }
+ }
+
+ /* go over sub-tree */
+ if ((tselem->flag & TSE_CLOSED)==0)
+ do_outliner_keyingset_editop(soops, ks, &te->subtree, mode);
+ }
+}
+
+/* Add Operator ---------------------------------- */
+
+static int outliner_keyingset_additems_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soutliner= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ KeyingSet *ks= verify_active_keyingset(scene, 1);
+
+ /* check for invalid states */
+ if (ks == NULL) {
+ BKE_report(op->reports, RPT_ERROR, "Operation requires an Active Keying Set");
+ return OPERATOR_CANCELLED;
+ }
+ if (soutliner == NULL)
+ return OPERATOR_CANCELLED;
+
+ /* recursively go into tree, adding selected items */
+ do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_ADD);
+
+ /* send notifiers */
+ WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_keyingset_add_selected(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->idname= "OUTLINER_OT_keyingset_add_selected";
+ ot->name= "Keying Set Add Selected";
+ ot->description= "Add selected items (blue-grey rows) to active Keying Set";
+
+ /* api callbacks */
+ ot->exec= outliner_keyingset_additems_exec;
+ ot->poll= ed_operator_outliner_datablocks_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+
+/* Remove Operator ---------------------------------- */
+
+static int outliner_keyingset_removeitems_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soutliner= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ KeyingSet *ks= verify_active_keyingset(scene, 1);
+
+ /* check for invalid states */
+ if (soutliner == NULL)
+ return OPERATOR_CANCELLED;
+
+ /* recursively go into tree, adding selected items */
+ do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_REMOVE);
+
+ /* send notifiers */
+ WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_keyingset_remove_selected(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->idname= "OUTLINER_OT_keyingset_remove_selected";
+ ot->name= "Keying Set Remove Selected";
+ ot->description = "Remove selected items (blue-grey rows) from active Keying Set";
+
+ /* api callbacks */
+ ot->exec= outliner_keyingset_removeitems_exec;
+ ot->poll= ed_operator_outliner_datablocks_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
diff --git a/source/blender/editors/space_outliner/outliner_intern.h b/source/blender/editors/space_outliner/outliner_intern.h
index cbb26d79c4b..61507d1ffe5 100644
--- a/source/blender/editors/space_outliner/outliner_intern.h
+++ b/source/blender/editors/space_outliner/outliner_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -44,6 +42,8 @@ struct TreeStoreElem;
struct bContext;
struct Scene;
struct ARegion;
+struct ID;
+struct Object;
typedef struct TreeElement {
struct TreeElement *next, *prev, *parent;
@@ -107,27 +107,71 @@ typedef struct TreeElement {
/* button events */
#define OL_NAMEBUTTON 1
+/* get TreeStoreElem associated with a TreeElement
+ * < a: (TreeElement) tree element to find stored element for
+ */
+#define TREESTORE(a) ((a)?soops->treestore->data+(a)->store_index:NULL)
-/* outliner_ops.c */
-void outliner_operatortypes(void);
-void outliner_keymap(struct wmKeyConfig *keyconf);
+/* size constants */
+#define OL_Y_OFFSET 2
-/* outliner_header.c */
-void outliner_header_buttons(const struct bContext *C, struct ARegion *ar);
+#define OL_TOG_RESTRICT_VIEWX (UI_UNIT_X*3)
+#define OL_TOG_RESTRICT_SELECTX (UI_UNIT_X*2)
+#define OL_TOG_RESTRICT_RENDERX UI_UNIT_X
+
+#define OL_TOGW OL_TOG_RESTRICT_VIEWX
+
+#define OL_RNA_COLX (UI_UNIT_X*15)
+#define OL_RNA_COL_SIZEX (UI_UNIT_X*7.5f)
+#define OL_RNA_COL_SPACEX (UI_UNIT_X*2.5f)
+
+
+/* outliner_tree.c ----------------------------------------------- */
+
+void outliner_free_tree(ListBase *lb);
+void outliner_cleanup_tree(struct SpaceOops *soops);
+
+TreeElement *outliner_find_tse(struct SpaceOops *soops, TreeStoreElem *tse);
+TreeElement *outliner_find_id(struct SpaceOops *soops, ListBase *lb, struct ID *id);
+struct ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode);
+
+void outliner_build_tree(struct Main *mainvar, struct Scene *scene, struct SpaceOops *soops);
+
+/* outliner_draw.c ---------------------------------------------- */
-/* outliner.c */
-void outliner_free_tree(struct ListBase *lb);
-void outliner_select(struct SpaceOops *soops, struct ListBase *lb, int *index, short *selecting);
void draw_outliner(const struct bContext *C);
+void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag);
+
+/* outliner_select.c -------------------------------------------- */
+int tree_element_type_active(struct bContext *C, struct Scene *scene, struct SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set);
+int tree_element_active(struct bContext *C, struct Scene *scene, SpaceOops *soops, TreeElement *te, int set);
+
+/* outliner_edit.c ---------------------------------------------- */
+
+void outliner_do_object_operation(struct bContext *C, struct Scene *scene, struct SpaceOops *soops, struct ListBase *lb,
+ void (*operation_cb)(struct bContext *C, struct Scene *scene, struct TreeElement *, struct TreeStoreElem *, TreeStoreElem *));
+
+int common_restrict_check(struct bContext *C, struct Object *ob);
+
+int outliner_has_one_flag(struct SpaceOops *soops, ListBase *lb, short flag, short curlevel);
+void outliner_set_flag(struct SpaceOops *soops, ListBase *lb, short flag, short set);
+
+void object_toggle_visibility_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+void object_toggle_selectability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+void object_toggle_renderability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+
+
+void group_toggle_visibility_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+void group_toggle_selectability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+void group_toggle_renderability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+
+void item_rename_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+
+/* ...................................................... */
void OUTLINER_OT_item_activate(struct wmOperatorType *ot);
void OUTLINER_OT_item_openclose(struct wmOperatorType *ot);
void OUTLINER_OT_item_rename(struct wmOperatorType *ot);
-void OUTLINER_OT_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_object_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_group_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_id_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_data_operation(struct wmOperatorType *ot);
void OUTLINER_OT_show_one_level(struct wmOperatorType *ot);
void OUTLINER_OT_show_active(struct wmOperatorType *ot);
@@ -148,5 +192,23 @@ void OUTLINER_OT_keyingset_remove_selected(struct wmOperatorType *ot);
void OUTLINER_OT_drivers_add_selected(struct wmOperatorType *ot);
void OUTLINER_OT_drivers_delete_selected(struct wmOperatorType *ot);
-#endif /* ED_OUTLINER_INTERN_H */
+/* outliner_tools.c ---------------------------------------------- */
+void OUTLINER_OT_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_object_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_group_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_id_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_data_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_animdata_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_action_set(struct wmOperatorType *ot);
+
+/* ---------------------------------------------------------------- */
+
+/* outliner_ops.c */
+void outliner_operatortypes(void);
+void outliner_keymap(struct wmKeyConfig *keyconf);
+
+/* outliner_header.c */
+void outliner_header_buttons(const struct bContext *C, struct ARegion *ar);
+
+#endif /* ED_OUTLINER_INTERN_H */
diff --git a/source/blender/editors/space_outliner/outliner_ops.c b/source/blender/editors/space_outliner/outliner_ops.c
index 8bd30235931..0d3f2e85414 100644
--- a/source/blender/editors/space_outliner/outliner_ops.c
+++ b/source/blender/editors/space_outliner/outliner_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -57,6 +55,8 @@ void outliner_operatortypes(void)
WM_operatortype_append(OUTLINER_OT_group_operation);
WM_operatortype_append(OUTLINER_OT_id_operation);
WM_operatortype_append(OUTLINER_OT_data_operation);
+ WM_operatortype_append(OUTLINER_OT_animdata_operation);
+ WM_operatortype_append(OUTLINER_OT_action_set);
WM_operatortype_append(OUTLINER_OT_show_one_level);
WM_operatortype_append(OUTLINER_OT_show_active);
@@ -83,8 +83,8 @@ void outliner_keymap(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "OUTLINER_OT_item_rename", LEFTMOUSE, KM_DBL_CLICK, 0, 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_activate", LEFTMOUSE, KM_RELEASE, 0, 0)->ptr, "extend", 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_activate", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", 1);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_activate", LEFTMOUSE, KM_CLICK, 0, 0)->ptr, "extend", 0);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_activate", LEFTMOUSE, KM_CLICK, KM_SHIFT, 0)->ptr, "extend", 1);
RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_openclose", RETKEY, KM_PRESS, 0, 0)->ptr, "all", 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_openclose", RETKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "all", 1);
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c
new file mode 100644
index 00000000000..2c0a8c34747
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -0,0 +1,873 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_select.c
+ * \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+# ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+# endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "outliner_intern.h"
+
+/* ****************************************************** */
+/* Outliner Selection (grey-blue highlight for rows) */
+
+static int outliner_select(SpaceOops *soops, ListBase *lb, int *index, short *selecting)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int change= 0;
+
+ for (te= lb->first; te && *index >= 0; te=te->next, (*index)--) {
+ tselem= TREESTORE(te);
+
+ /* if we've encountered the right item, set its 'Outliner' selection status */
+ if (*index == 0) {
+ /* this should be the last one, so no need to do anything with index */
+ if ((te->flag & TE_ICONROW)==0) {
+ /* -1 value means toggle testing for now... */
+ if (*selecting == -1) {
+ if (tselem->flag & TSE_SELECTED)
+ *selecting= 0;
+ else
+ *selecting= 1;
+ }
+
+ /* set selection */
+ if (*selecting)
+ tselem->flag |= TSE_SELECTED;
+ else
+ tselem->flag &= ~TSE_SELECTED;
+
+ change |= 1;
+ }
+ }
+ else if ((tselem->flag & TSE_CLOSED)==0) {
+ /* Only try selecting sub-elements if we haven't hit the right element yet
+ *
+ * Hack warning:
+ * Index must be reduced before supplying it to the sub-tree to try to do
+ * selection, however, we need to increment it again for the next loop to
+ * function correctly
+ */
+ (*index)--;
+ change |= outliner_select(soops, &te->subtree, index, selecting);
+ (*index)++;
+ }
+ }
+
+ return change;
+}
+
+/* ****************************************************** */
+/* Outliner Element Selection/Activation on Click */
+
+static int tree_element_active_renderlayer(bContext *C, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ Scene *sce;
+
+ /* paranoia check */
+ if(te->idcode!=ID_SCE)
+ return 0;
+ sce= (Scene *)tselem->id;
+
+ if(set) {
+ sce->r.actlay= tselem->nr;
+ WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, sce);
+ }
+ else {
+ return sce->r.actlay==tselem->nr;
+ }
+ return 0;
+}
+
+static int tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ TreeStoreElem *tselem= TREESTORE(te);
+ Scene *sce;
+ Base *base;
+ Object *ob= NULL;
+
+ /* if id is not object, we search back */
+ if(te->idcode==ID_OB) ob= (Object *)tselem->id;
+ else {
+ ob= (Object *)outliner_search_back(soops, te, ID_OB);
+ if(ob==OBACT) return 0;
+ }
+ if(ob==NULL) return 0;
+
+ sce= (Scene *)outliner_search_back(soops, te, ID_SCE);
+ if(sce && scene != sce) {
+ ED_screen_set_scene(C, sce);
+ }
+
+ /* find associated base in current scene */
+ base= object_in_scene(ob, scene);
+
+ if(base) {
+ if(set==2) {
+ /* swap select */
+ if(base->flag & SELECT)
+ ED_base_object_select(base, BA_DESELECT);
+ else
+ ED_base_object_select(base, BA_SELECT);
+ }
+ else {
+ /* deleselect all */
+ scene_deselect_all(scene);
+ ED_base_object_select(base, BA_SELECT);
+ }
+ if(C) {
+ ED_base_object_activate(C, base); /* adds notifier */
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ }
+ }
+
+ if(ob!=scene->obedit)
+ ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
+
+ return 1;
+}
+
+static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ TreeElement *tes;
+ Object *ob;
+
+ /* we search for the object parent */
+ ob= (Object *)outliner_search_back(soops, te, ID_OB);
+ // note: ob->matbits can be NULL when a local object points to a library mesh.
+ if(ob==NULL || ob!=OBACT || ob->matbits==NULL) return 0; // just paranoia
+
+ /* searching in ob mat array? */
+ tes= te->parent;
+ if(tes->idcode==ID_OB) {
+ if(set) {
+ ob->actcol= te->index+1;
+ ob->matbits[te->index]= 1; // make ob material active too
+ ob->colbits |= (1<<te->index);
+ }
+ else {
+ if(ob->actcol == te->index+1)
+ if(ob->matbits[te->index]) return 1;
+ }
+ }
+ /* or we search for obdata material */
+ else {
+ if(set) {
+ ob->actcol= te->index+1;
+ ob->matbits[te->index]= 0; // make obdata material active too
+ ob->colbits &= ~(1<<te->index);
+ }
+ else {
+ if(ob->actcol == te->index+1)
+ if(ob->matbits[te->index]==0) return 1;
+ }
+ }
+ if(set) {
+ WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL);
+ }
+ return 0;
+}
+
+static int tree_element_active_texture(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ TreeElement *tep;
+ TreeStoreElem /* *tselem,*/ *tselemp;
+ Object *ob=OBACT;
+ SpaceButs *sbuts=NULL;
+
+ if(ob==NULL) return 0; // no active object
+
+ /*tselem= TREESTORE(te);*/ /*UNUSED*/
+
+ /* find buttons area (note, this is undefined really still, needs recode in blender) */
+ /* XXX removed finding sbuts */
+
+ /* where is texture linked to? */
+ tep= te->parent;
+ tselemp= TREESTORE(tep);
+
+ if(tep->idcode==ID_WO) {
+ World *wrld= (World *)tselemp->id;
+
+ if(set) {
+ if(sbuts) {
+ // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
+ // XXX sbuts->texfrom= 1;
+ }
+// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
+ wrld->texact= te->index;
+ }
+ else if(tselemp->id == (ID *)(scene->world)) {
+ if(wrld->texact==te->index) return 1;
+ }
+ }
+ else if(tep->idcode==ID_LA) {
+ Lamp *la= (Lamp *)tselemp->id;
+ if(set) {
+ if(sbuts) {
+ // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
+ // XXX sbuts->texfrom= 2;
+ }
+// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
+ la->texact= te->index;
+ }
+ else {
+ if(tselemp->id == ob->data) {
+ if(la->texact==te->index) return 1;
+ }
+ }
+ }
+ else if(tep->idcode==ID_MA) {
+ Material *ma= (Material *)tselemp->id;
+ if(set) {
+ if(sbuts) {
+ //sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
+ // XXX sbuts->texfrom= 0;
+ }
+// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
+ ma->texact= (char)te->index;
+
+ /* also set active material */
+ ob->actcol= tep->index+1;
+ }
+ else if(tep->flag & TE_ACTIVE) { // this is active material
+ if(ma->texact==te->index) return 1;
+ }
+ }
+
+ if(set)
+ WM_event_add_notifier(C, NC_TEXTURE, NULL);
+
+ return 0;
+}
+
+
+static int tree_element_active_lamp(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ Object *ob;
+
+ /* we search for the object parent */
+ ob= (Object *)outliner_search_back(soops, te, ID_OB);
+ if(ob==NULL || ob!=OBACT) return 0; // just paranoia
+
+ if(set) {
+// XXX extern_set_butspace(F5KEY, 0);
+ }
+ else return 1;
+
+ return 0;
+}
+
+static int tree_element_active_camera(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ Object *ob= (Object *)outliner_search_back(soops, te, ID_OB);
+
+ if(set)
+ return 0;
+
+ return scene->camera == ob;
+}
+
+static int tree_element_active_world(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ TreeElement *tep;
+ TreeStoreElem *tselem=NULL;
+ Scene *sce=NULL;
+
+ tep= te->parent;
+ if(tep) {
+ tselem= TREESTORE(tep);
+ sce= (Scene *)tselem->id;
+ }
+
+ if(set) { // make new scene active
+ if(sce && scene != sce) {
+ ED_screen_set_scene(C, sce);
+ }
+ }
+
+ if(tep==NULL || tselem->id == (ID *)scene) {
+ if(set) {
+// XXX extern_set_butspace(F8KEY, 0);
+ }
+ else {
+ return 1;
+ }
+ }
+ return 0;
+}
+
+static int tree_element_active_defgroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ Object *ob;
+
+ /* id in tselem is object */
+ ob= (Object *)tselem->id;
+ if(set) {
+ ob->actdef= te->index+1;
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob);
+ }
+ else {
+ if(ob==OBACT)
+ if(ob->actdef== te->index+1) return 1;
+ }
+ return 0;
+}
+
+static int tree_element_active_posegroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ Object *ob= (Object *)tselem->id;
+
+ if(set) {
+ if (ob->pose) {
+ ob->pose->active_group= te->index+1;
+ WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
+ }
+ }
+ else {
+ if(ob==OBACT && ob->pose) {
+ if (ob->pose->active_group== te->index+1) return 1;
+ }
+ }
+ return 0;
+}
+
+static int tree_element_active_posechannel(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ Object *ob= (Object *)tselem->id;
+ bArmature *arm= ob->data;
+ bPoseChannel *pchan= te->directdata;
+
+ if(set) {
+ if(!(pchan->bone->flag & BONE_HIDDEN_P)) {
+
+ if(set==2) ED_pose_deselectall(ob, 2); // 2 = clear active tag
+ else ED_pose_deselectall(ob, 0); // 0 = deselect
+
+ if(set==2 && (pchan->bone->flag & BONE_SELECTED)) {
+ pchan->bone->flag &= ~BONE_SELECTED;
+ } else {
+ pchan->bone->flag |= BONE_SELECTED;
+ arm->act_bone= pchan->bone;
+ }
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, ob);
+
+ }
+ }
+ else {
+ if(ob==OBACT && ob->pose) {
+ if (pchan->bone->flag & BONE_SELECTED) return 1;
+ }
+ }
+ return 0;
+}
+
+static int tree_element_active_bone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ bArmature *arm= (bArmature *)tselem->id;
+ Bone *bone= te->directdata;
+
+ if(set) {
+ if(!(bone->flag & BONE_HIDDEN_P)) {
+ if(set==2) ED_pose_deselectall(OBACT, 2); // 2 is clear active tag
+ else ED_pose_deselectall(OBACT, 0);
+
+ if(set==2 && (bone->flag & BONE_SELECTED)) {
+ bone->flag &= ~BONE_SELECTED;
+ } else {
+ bone->flag |= BONE_SELECTED;
+ arm->act_bone= bone;
+ }
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, OBACT);
+ }
+ }
+ else {
+ Object *ob= OBACT;
+
+ if(ob && ob->data==arm) {
+ if (bone->flag & BONE_SELECTED) return 1;
+ }
+ }
+ return 0;
+}
+
+
+/* ebones only draw in editmode armature */
+static void tree_element_active_ebone__sel(bContext *C, Scene *scene, bArmature *arm, EditBone *ebone, short sel)
+{
+ if(sel) {
+ ebone->flag |= BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL;
+ arm->act_edbone= ebone;
+ // flush to parent?
+ if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag |= BONE_TIPSEL;
+ }
+ else {
+ ebone->flag &= ~(BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL);
+ // flush to parent?
+ if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag &= ~BONE_TIPSEL;
+ }
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, scene->obedit);
+}
+static int tree_element_active_ebone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+ bArmature *arm= scene->obedit->data;
+ EditBone *ebone= te->directdata;
+
+ if(set==1) {
+ if(!(ebone->flag & BONE_HIDDEN_A)) {
+ ED_armature_deselect_all(scene->obedit, 0); // deselect
+ tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
+ return 1;
+ }
+ }
+ else if (set==2) {
+ if(!(ebone->flag & BONE_HIDDEN_A)) {
+ if(!(ebone->flag & BONE_SELECTED)) {
+ tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
+ return 1;
+ }
+ else {
+ /* entirely selected, so de-select */
+ tree_element_active_ebone__sel(C, scene, arm, ebone, FALSE);
+ return 0;
+ }
+ }
+ }
+ else if (ebone->flag & BONE_SELECTED) {
+ return 1;
+ }
+ return 0;
+}
+
+static int tree_element_active_modifier(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+ if(set) {
+ Object *ob= (Object *)tselem->id;
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob);
+
+// XXX extern_set_butspace(F9KEY, 0);
+ }
+
+ return 0;
+}
+
+static int tree_element_active_psys(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+ if(set) {
+ Object *ob= (Object *)tselem->id;
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
+
+// XXX extern_set_butspace(F7KEY, 0);
+ }
+
+ return 0;
+}
+
+static int tree_element_active_constraint(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+ if(set) {
+ Object *ob= (Object *)tselem->id;
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT, ob);
+// XXX extern_set_butspace(F7KEY, 0);
+ }
+
+ return 0;
+}
+
+static int tree_element_active_text(bContext *UNUSED(C), Scene *UNUSED(scene), SpaceOops *UNUSED(soops), TreeElement *UNUSED(te), int UNUSED(set))
+{
+ // XXX removed
+ return 0;
+}
+
+static int tree_element_active_pose(bContext *C, Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+ Object *ob= (Object *)tselem->id;
+ Base *base= object_in_scene(ob, scene);
+
+ if(set) {
+ if(scene->obedit)
+ ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
+
+ if(ob->mode & OB_MODE_POSE)
+ ED_armature_exit_posemode(C, base);
+ else
+ ED_armature_enter_posemode(C, base);
+ }
+ else {
+ if(ob->mode & OB_MODE_POSE) return 1;
+ }
+ return 0;
+}
+
+static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+ Sequence *seq= (Sequence*) te->directdata;
+
+ if(set) {
+// XXX select_single_seq(seq, 1);
+ }
+ else {
+ if(seq->flag & SELECT)
+ return(1);
+ }
+ return(0);
+}
+
+static int tree_element_active_sequence_dup(Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+ Sequence *seq, *p;
+ Editing *ed= seq_give_editing(scene, FALSE);
+
+ seq= (Sequence*)te->directdata;
+ if(set==0) {
+ if(seq->flag & SELECT)
+ return(1);
+ return(0);
+ }
+
+// XXX select_single_seq(seq, 1);
+ p= ed->seqbasep->first;
+ while(p) {
+ if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+ p= p->next;
+ continue;
+ }
+
+// if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+// XXX select_single_seq(p, 0);
+ p= p->next;
+ }
+ return(0);
+}
+
+static int tree_element_active_keymap_item(bContext *UNUSED(C), TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+ wmKeyMapItem *kmi= te->directdata;
+
+ if(set==0) {
+ if(kmi->flag & KMI_INACTIVE) return 0;
+ return 1;
+ }
+ else {
+ kmi->flag ^= KMI_INACTIVE;
+ }
+ return 0;
+}
+
+/* ---------------------------------------------- */
+
+/* generic call for ID data check or make/check active in UI */
+int tree_element_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+
+ switch(te->idcode) {
+ /* Note: no ID_OB: objects are handled specially to allow multiple
+ selection. See do_outliner_item_activate. */
+ case ID_MA:
+ return tree_element_active_material(C, scene, soops, te, set);
+ case ID_WO:
+ return tree_element_active_world(C, scene, soops, te, set);
+ case ID_LA:
+ return tree_element_active_lamp(C, scene, soops, te, set);
+ case ID_TE:
+ return tree_element_active_texture(C, scene, soops, te, set);
+ case ID_TXT:
+ return tree_element_active_text(C, scene, soops, te, set);
+ case ID_CA:
+ return tree_element_active_camera(C, scene, soops, te, set);
+ }
+ return 0;
+}
+
+/* generic call for non-id data to make/check active in UI */
+/* Context can be NULL when set==0 */
+int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ switch(tselem->type) {
+ case TSE_DEFGROUP:
+ return tree_element_active_defgroup(C, scene, te, tselem, set);
+ case TSE_BONE:
+ return tree_element_active_bone(C, scene, te, tselem, set);
+ case TSE_EBONE:
+ return tree_element_active_ebone(C, scene, te, tselem, set);
+ case TSE_MODIFIER:
+ return tree_element_active_modifier(C, te, tselem, set);
+ case TSE_LINKED_OB:
+ if(set) tree_element_set_active_object(C, scene, soops, te, set);
+ else if(tselem->id==(ID *)OBACT) return 1;
+ break;
+ case TSE_LINKED_PSYS:
+ return tree_element_active_psys(C, scene, te, tselem, set);
+ case TSE_POSE_BASE:
+ return tree_element_active_pose(C, scene, te, tselem, set);
+ case TSE_POSE_CHANNEL:
+ return tree_element_active_posechannel(C, scene, te, tselem, set);
+ case TSE_CONSTRAINT:
+ return tree_element_active_constraint(C, te, tselem, set);
+ case TSE_R_LAYER:
+ return tree_element_active_renderlayer(C, te, tselem, set);
+ case TSE_POSEGRP:
+ return tree_element_active_posegroup(C, scene, te, tselem, set);
+ case TSE_SEQUENCE:
+ return tree_element_active_sequence(te, tselem, set);
+ case TSE_SEQUENCE_DUP:
+ return tree_element_active_sequence_dup(scene, te, tselem, set);
+ case TSE_KEYMAP_ITEM:
+ return tree_element_active_keymap_item(C, te, tselem, set);
+
+ }
+ return 0;
+}
+
+/* ================================================ */
+
+static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, const float mval[2])
+{
+
+ if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+ TreeStoreElem *tselem= TREESTORE(te);
+ int openclose= 0;
+
+ /* open close icon */
+ if((te->flag & TE_ICONROW)==0) { // hidden icon, no open/close
+ if( mval[0]>te->xs && mval[0]<te->xs+UI_UNIT_X)
+ openclose= 1;
+ }
+
+ if(openclose) {
+ /* all below close/open? */
+ if(extend) {
+ tselem->flag &= ~TSE_CLOSED;
+ outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
+ }
+ else {
+ if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
+ else tselem->flag |= TSE_CLOSED;
+
+ }
+
+ return 1;
+ }
+ /* name and first icon */
+ else if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
+
+ /* always makes active object */
+ if(tselem->type!=TSE_SEQUENCE && tselem->type!=TSE_SEQ_STRIP && tselem->type!=TSE_SEQUENCE_DUP)
+ tree_element_set_active_object(C, scene, soops, te, 1 + (extend!=0 && tselem->type==0));
+
+ if(tselem->type==0) { // the lib blocks
+ /* editmode? */
+ if(te->idcode==ID_SCE) {
+ if(scene!=(Scene *)tselem->id) {
+ ED_screen_set_scene(C, (Scene *)tselem->id);
+ }
+ }
+ else if(te->idcode==ID_GR) {
+ Group *gr= (Group *)tselem->id;
+ GroupObject *gob;
+
+ if(extend) {
+ int sel= BA_SELECT;
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ if(gob->ob->flag & SELECT) {
+ sel= BA_DESELECT;
+ break;
+ }
+ }
+
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ ED_base_object_select(object_in_scene(gob->ob, scene), sel);
+ }
+ }
+ else {
+ scene_deselect_all(scene);
+
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ if((gob->ob->flag & SELECT) == 0)
+ ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
+ }
+ }
+
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ }
+ else if(ELEM5(te->idcode, ID_ME, ID_CU, ID_MB, ID_LT, ID_AR)) {
+ WM_operator_name_call(C, "OBJECT_OT_editmode_toggle", WM_OP_INVOKE_REGION_WIN, NULL);
+ } else { // rest of types
+ tree_element_active(C, scene, soops, te, 1);
+ }
+
+ }
+ else tree_element_type_active(C, scene, soops, te, tselem, 1+(extend!=0));
+
+ return 1;
+ }
+ }
+
+ for(te= te->subtree.first; te; te= te->next) {
+ if(do_outliner_item_activate(C, scene, ar, soops, te, extend, mval)) return 1;
+ }
+ return 0;
+}
+
+/* event can enterkey, then it opens/closes */
+static int outliner_item_activate(bContext *C, wmOperator *op, wmEvent *event)
+{
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ TreeElement *te;
+ float fmval[2];
+ int extend= RNA_boolean_get(op->ptr, "extend");
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+
+ if(!ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP) && !(soops->flag & SO_HIDE_RESTRICTCOLS) && fmval[0] > ar->v2d.cur.xmax - OL_TOG_RESTRICT_VIEWX)
+ return OPERATOR_CANCELLED;
+
+ for(te= soops->tree.first; te; te= te->next) {
+ if(do_outliner_item_activate(C, scene, ar, soops, te, extend, fmval)) break;
+ }
+
+ if(te) {
+ ED_undo_push(C, "Outliner click event");
+ }
+ else {
+ short selecting= -1;
+ int row;
+
+ /* get row number - 100 here is just a dummy value since we don't need the column */
+ UI_view2d_listview_view_to_cell(&ar->v2d, 1000, UI_UNIT_Y, 0.0f, OL_Y_OFFSET,
+ fmval[0], fmval[1], NULL, &row);
+
+ /* select relevant row */
+ if(outliner_select(soops, &soops->tree, &row, &selecting)) {
+
+ soops->storeflag |= SO_TREESTORE_REDRAW;
+
+ /* no need for undo push here, only changing outliner data which is
+ * scene level - campbell */
+ /* ED_undo_push(C, "Outliner selection event"); */
+ }
+ }
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_item_activate(wmOperatorType *ot)
+{
+ ot->name= "Activate Item";
+ ot->idname= "OUTLINER_OT_item_activate";
+ ot->description= "Handle mouse clicks to activate/select items";
+
+ ot->invoke= outliner_item_activate;
+
+ ot->poll= ED_operator_outliner_active;
+
+ RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection for activation.");
+}
+
+/* ****************************************************** */
diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c
new file mode 100644
index 00000000000..b3170f9cd1e
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_tools.c
@@ -0,0 +1,1227 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_tools.c
+ * \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+# ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+# endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "outliner_intern.h"
+
+/* ****************************************************** */
+
+/* ************ SELECTION OPERATIONS ********* */
+
+static void set_operation_types(SpaceOops *soops, ListBase *lb,
+ int *scenelevel,
+ int *objectlevel,
+ int *idlevel,
+ int *datalevel)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->flag & TSE_SELECTED) {
+ if(tselem->type) {
+ if(*datalevel==0)
+ *datalevel= tselem->type;
+ else if(*datalevel!=tselem->type)
+ *datalevel= -1;
+ }
+ else {
+ int idcode= GS(tselem->id->name);
+ switch(idcode) {
+ case ID_SCE:
+ *scenelevel= 1;
+ break;
+ case ID_OB:
+ *objectlevel= 1;
+ break;
+
+ case ID_ME: case ID_CU: case ID_MB: case ID_LT:
+ case ID_LA: case ID_AR: case ID_CA: case ID_SPK:
+ case ID_MA: case ID_TE: case ID_IP: case ID_IM:
+ case ID_SO: case ID_KE: case ID_WO: case ID_AC:
+ case ID_NLA: case ID_TXT: case ID_GR:
+ if(*idlevel==0) *idlevel= idcode;
+ else if(*idlevel!=idcode) *idlevel= -1;
+ break;
+ }
+ }
+ }
+ if((tselem->flag & TSE_CLOSED)==0) {
+ set_operation_types(soops, &te->subtree,
+ scenelevel, objectlevel, idlevel, datalevel);
+ }
+ }
+}
+
+static void unlink_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+{
+ /* just set action to NULL */
+ BKE_animdata_set_action(CTX_wm_reports(C), tsep->id, NULL);
+}
+
+static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+{
+ Material **matar=NULL;
+ int a, totcol=0;
+
+ if( GS(tsep->id->name)==ID_OB) {
+ Object *ob= (Object *)tsep->id;
+ totcol= ob->totcol;
+ matar= ob->mat;
+ }
+ else if( GS(tsep->id->name)==ID_ME) {
+ Mesh *me= (Mesh *)tsep->id;
+ totcol= me->totcol;
+ matar= me->mat;
+ }
+ else if( GS(tsep->id->name)==ID_CU) {
+ Curve *cu= (Curve *)tsep->id;
+ totcol= cu->totcol;
+ matar= cu->mat;
+ }
+ else if( GS(tsep->id->name)==ID_MB) {
+ MetaBall *mb= (MetaBall *)tsep->id;
+ totcol= mb->totcol;
+ matar= mb->mat;
+ }
+
+ for(a=0; a<totcol; a++) {
+ if(a==te->index && matar[a]) {
+ matar[a]->id.us--;
+ matar[a]= NULL;
+ }
+ }
+}
+
+static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+{
+ MTex **mtex= NULL;
+ int a;
+
+ if( GS(tsep->id->name)==ID_MA) {
+ Material *ma= (Material *)tsep->id;
+ mtex= ma->mtex;
+ }
+ else if( GS(tsep->id->name)==ID_LA) {
+ Lamp *la= (Lamp *)tsep->id;
+ mtex= la->mtex;
+ }
+ else if( GS(tsep->id->name)==ID_WO) {
+ World *wrld= (World *)tsep->id;
+ mtex= wrld->mtex;
+ }
+ else return;
+
+ for(a=0; a<MAX_MTEX; a++) {
+ if(a==te->index && mtex[a]) {
+ if(mtex[a]->tex) {
+ mtex[a]->tex->id.us--;
+ mtex[a]->tex= NULL;
+ }
+ }
+ }
+}
+
+static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
+{
+ Group *group= (Group *)tselem->id;
+
+ if(tsep) {
+ if( GS(tsep->id->name)==ID_OB) {
+ Object *ob= (Object *)tsep->id;
+ ob->dup_group= NULL;
+ }
+ }
+ else {
+ unlink_group(group);
+ }
+}
+
+static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb,
+ void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te=lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->flag & TSE_SELECTED) {
+ if(tselem->type==0) {
+ TreeStoreElem *tsep= TREESTORE(te->parent);
+ operation_cb(C, scene, te, tsep, tselem);
+ }
+ }
+ if((tselem->flag & TSE_CLOSED)==0) {
+ outliner_do_libdata_operation(C, scene, soops, &te->subtree, operation_cb);
+ }
+ }
+}
+
+/* */
+
+static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+
+ if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+ if(base && ((base->object->restrictflag & OB_RESTRICT_VIEW)==0)) {
+ base->flag |= SELECT;
+ base->object->flag |= SELECT;
+ }
+}
+
+static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+
+ if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+ if(base) {
+ base->flag &= ~SELECT;
+ base->object->flag &= ~SELECT;
+ }
+}
+
+static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+
+ if(base==NULL)
+ base= object_in_scene((Object *)tselem->id, scene);
+ if(base) {
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+
+ // check also library later
+ if(scene->obedit==base->object)
+ ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
+
+ ED_base_object_free_and_unlink(CTX_data_main(C), scene, base);
+ te->directdata= NULL;
+ tselem->id= NULL;
+
+ /* XXX: tree management normally happens from draw_outliner(), but when
+ you're clicking to fast on Delete object from context menu in
+ outliner several mouse events can be handled in one cycle without
+ handling notifiers/redraw which leads to deleting the same object twice.
+ cleanup tree here to prevent such cases. */
+ outliner_cleanup_tree(soops);
+ }
+
+}
+
+static void id_local_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ if (tselem->id->lib && (tselem->id->flag & LIB_EXTERN)) {
+ tselem->id->lib= NULL;
+ tselem->id->flag= LIB_LOCAL;
+ new_id(NULL, tselem->id, NULL);
+ }
+}
+
+static void id_fake_user_set_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ ID *id = tselem->id;
+
+ if ((id) && ((id->flag & LIB_FAKEUSER) == 0)) {
+ id->flag |= LIB_FAKEUSER;
+ id_us_plus(id);
+ }
+}
+
+static void id_fake_user_clear_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ ID *id = tselem->id;
+
+ if ((id) && (id->flag & LIB_FAKEUSER)) {
+ id->flag &= ~LIB_FAKEUSER;
+ id_us_min(id);
+ }
+}
+
+static void singleuser_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
+{
+ ID *id = tselem->id;
+
+ if (id) {
+ IdAdtTemplate *iat = (IdAdtTemplate *)tsep->id;
+ PointerRNA ptr = {{0}};
+ PropertyRNA *prop;
+
+ RNA_pointer_create(&iat->id, &RNA_AnimData, iat->adt, &ptr);
+ prop = RNA_struct_find_property(&ptr, "action");
+
+ id_single_user(C, id, &ptr, prop);
+ }
+}
+
+static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Group *group= (Group *)tselem->id;
+ GroupObject *gob;
+ Base *base;
+
+ for(gob=group->gobject.first; gob; gob=gob->next) {
+ base= object_in_scene(gob->ob, scene);
+ if (base) {
+ base->object->flag |= SELECT;
+ base->flag |= SELECT;
+ } else {
+ /* link to scene */
+ base= MEM_callocN( sizeof(Base), "add_base");
+ BLI_addhead(&scene->base, base);
+ base->lay= (1<<20)-1; /*v3d->lay;*/ /* would be nice to use the 3d layer but the include's not here */
+ gob->ob->flag |= SELECT;
+ base->flag = gob->ob->flag;
+ base->object= gob->ob;
+ id_lib_extern((ID *)gob->ob); /* incase these are from a linked group */
+ }
+ }
+}
+
+void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soops, ListBase *lb,
+ void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te=lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->flag & TSE_SELECTED) {
+ if(tselem->type==0 && te->idcode==ID_OB) {
+ // when objects selected in other scenes... dunno if that should be allowed
+ Scene *scene_owner= (Scene *)outliner_search_back(soops, te, ID_SCE);
+ if(scene_owner && scene_act != scene_owner) {
+ ED_screen_set_scene(C, scene_owner);
+ }
+ /* important to use 'scene_owner' not scene_act else deleting objects can crash.
+ * only use 'scene_act' when 'scene_owner' is NULL, which can happen when the
+ * outliner isnt showing scenes: Visible Layer draw mode for eg. */
+ operation_cb(C, scene_owner ? scene_owner : scene_act, te, NULL, tselem);
+ }
+ }
+ if((tselem->flag & TSE_CLOSED)==0) {
+ outliner_do_object_operation(C, scene_act, soops, &te->subtree, operation_cb);
+ }
+ }
+}
+
+/* ******************************************** */
+
+static void unlinkact_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+{
+ /* just set action to NULL */
+ BKE_animdata_set_action(NULL, tselem->id, NULL);
+}
+
+static void cleardrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+{
+ IdAdtTemplate *iat = (IdAdtTemplate *)tselem->id;
+
+ /* just free drivers - stored as a list of F-Curves */
+ free_fcurves(&iat->adt->drivers);
+}
+
+static void refreshdrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+{
+ IdAdtTemplate *iat = (IdAdtTemplate *)tselem->id;
+ FCurve *fcu;
+
+ /* loop over drivers, performing refresh (i.e. check graph_buttons.c and rna_fcurve.c for details) */
+ for (fcu = iat->adt->drivers.first; fcu; fcu= fcu->next) {
+ fcu->flag &= ~FCURVE_DISABLED;
+
+ if (fcu->driver)
+ fcu->driver->flag &= ~DRIVER_FLAG_INVALID;
+ }
+}
+
+/* --------------------------------- */
+
+static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+{
+ bPoseChannel *pchan= (bPoseChannel *)te->directdata;
+
+ if(event==1)
+ pchan->bone->flag |= BONE_SELECTED;
+ else if(event==2)
+ pchan->bone->flag &= ~BONE_SELECTED;
+ else if(event==3) {
+ pchan->bone->flag |= BONE_HIDDEN_P;
+ pchan->bone->flag &= ~BONE_SELECTED;
+ }
+ else if(event==4)
+ pchan->bone->flag &= ~BONE_HIDDEN_P;
+}
+
+static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+{
+ Bone *bone= (Bone *)te->directdata;
+
+ if(event==1)
+ bone->flag |= BONE_SELECTED;
+ else if(event==2)
+ bone->flag &= ~BONE_SELECTED;
+ else if(event==3) {
+ bone->flag |= BONE_HIDDEN_P;
+ bone->flag &= ~BONE_SELECTED;
+ }
+ else if(event==4)
+ bone->flag &= ~BONE_HIDDEN_P;
+}
+
+static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+{
+ EditBone *ebone= (EditBone *)te->directdata;
+
+ if(event==1)
+ ebone->flag |= BONE_SELECTED;
+ else if(event==2)
+ ebone->flag &= ~BONE_SELECTED;
+ else if(event==3) {
+ ebone->flag |= BONE_HIDDEN_A;
+ ebone->flag &= ~BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL;
+ }
+ else if(event==4)
+ ebone->flag &= ~BONE_HIDDEN_A;
+}
+
+static void sequence_cb(int event, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tselem))
+{
+// Sequence *seq= (Sequence*) te->directdata;
+ if(event==1) {
+// XXX select_single_seq(seq, 1);
+ }
+}
+
+static void outliner_do_data_operation(SpaceOops *soops, int type, int event, ListBase *lb,
+ void (*operation_cb)(int, TreeElement *, TreeStoreElem *))
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te=lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->flag & TSE_SELECTED) {
+ if(tselem->type==type) {
+ operation_cb(event, te, tselem);
+ }
+ }
+ if((tselem->flag & TSE_CLOSED)==0) {
+ outliner_do_data_operation(soops, type, event, &te->subtree, operation_cb);
+ }
+ }
+}
+
+/* **************************************** */
+
+static EnumPropertyItem prop_object_op_types[] = {
+ {1, "SELECT", 0, "Select", ""},
+ {2, "DESELECT", 0, "Deselect", ""},
+ {4, "DELETE", 0, "Delete", ""},
+ {6, "TOGVIS", 0, "Toggle Visible", ""},
+ {7, "TOGSEL", 0, "Toggle Selectable", ""},
+ {8, "TOGREN", 0, "Toggle Renderable", ""},
+ {9, "RENAME", 0, "Rename", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_object_operation_exec(bContext *C, wmOperator *op)
+{
+ Main *bmain= CTX_data_main(C);
+ Scene *scene= CTX_data_scene(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int event;
+ const char *str= NULL;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+
+ event= RNA_enum_get(op->ptr, "type");
+
+ if(event==1) {
+ Scene *sce= scene; // to be able to delete, scenes are set...
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_select_cb);
+ if(scene != sce) {
+ ED_screen_set_scene(C, sce);
+ }
+
+ str= "Select Objects";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ }
+ else if(event==2) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_deselect_cb);
+ str= "Deselect Objects";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ }
+ else if(event==4) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb);
+ DAG_scene_sort(bmain, scene);
+ str= "Delete Objects";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
+ }
+ else if(event==5) { /* disabled, see above enum (ton) */
+ outliner_do_object_operation(C, scene, soops, &soops->tree, id_local_cb);
+ str= "Localized Objects";
+ }
+ else if(event==6) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
+ str= "Toggle Visibility";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
+ }
+ else if(event==7) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
+ str= "Toggle Selectability";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ }
+ else if(event==8) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
+ str= "Toggle Renderability";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, scene);
+ }
+ else if(event==9) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, item_rename_cb);
+ str= "Rename Object";
+ }
+
+ ED_undo_push(C, str);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_object_operation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Outliner Object Operation";
+ ot->idname= "OUTLINER_OT_object_operation";
+ ot->description= "";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= outliner_object_operation_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= 0;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", prop_object_op_types, 0, "Object Operation", "");
+}
+
+/* **************************************** */
+
+static EnumPropertyItem prop_group_op_types[] = {
+ {1, "UNLINK", 0, "Unlink", ""},
+ {2, "LOCAL", 0, "Make Local", ""},
+ {3, "LINK", 0, "Link Group Objects to Scene", ""},
+ {4, "TOGVIS", 0, "Toggle Visible", ""},
+ {5, "TOGSEL", 0, "Toggle Selectable", ""},
+ {6, "TOGREN", 0, "Toggle Renderable", ""},
+ {7, "RENAME", 0, "Rename", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_group_operation_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int event;
+ const char *str= NULL;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+
+ event= RNA_enum_get(op->ptr, "type");
+
+ if(event==1) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_group_cb);
+ str= "Unlink group";
+ }
+ else if(event==2) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
+ str= "Localized Data";
+ }
+ else if(event==3) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_linkobs2scene_cb);
+ str= "Link Group Objects to Scene";
+ }
+ else if(event==4) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_visibility_cb);
+ str= "Toggle Visibility";
+ }
+ else if(event==5) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_selectability_cb);
+ str= "Toggle Selectability";
+ }
+ else if(event==6) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_renderability_cb);
+ str= "Toggle Renderability";
+ }
+ else if(event==7) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, item_rename_cb);
+ str= "Rename";
+ }
+
+
+ ED_undo_push(C, str);
+ WM_event_add_notifier(C, NC_GROUP, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_group_operation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Outliner Group Operation";
+ ot->idname= "OUTLINER_OT_group_operation";
+ ot->description= "";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= outliner_group_operation_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= 0;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", prop_group_op_types, 0, "Group Operation", "");
+}
+
+/* **************************************** */
+
+typedef enum eOutlinerIdOpTypes {
+ OUTLINER_IDOP_INVALID = 0,
+
+ OUTLINER_IDOP_UNLINK,
+ OUTLINER_IDOP_LOCAL,
+ OUTLINER_IDOP_SINGLE,
+
+ OUTLINER_IDOP_FAKE_ADD,
+ OUTLINER_IDOP_FAKE_CLEAR,
+ OUTLINER_IDOP_RENAME
+} eOutlinerIdOpTypes;
+
+// TODO: implement support for changing the ID-block used
+static EnumPropertyItem prop_id_op_types[] = {
+ {OUTLINER_IDOP_UNLINK, "UNLINK", 0, "Unlink", ""},
+ {OUTLINER_IDOP_LOCAL, "LOCAL", 0, "Make Local", ""},
+ {OUTLINER_IDOP_SINGLE, "SINGLE", 0, "Make Single User", ""},
+ {OUTLINER_IDOP_FAKE_ADD, "ADD_FAKE", 0, "Add Fake User", "Ensure datablock gets saved even if it isn't in use (e.g. for motion and material libraries)"},
+ {OUTLINER_IDOP_FAKE_CLEAR, "CLEAR_FAKE", 0, "Clear Fake User", ""},
+ {OUTLINER_IDOP_RENAME, "RENAME", 0, "Rename", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_id_operation_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+ eOutlinerIdOpTypes event;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+
+ set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+
+ event= RNA_enum_get(op->ptr, "type");
+
+ switch (event) {
+ case OUTLINER_IDOP_UNLINK:
+ {
+ /* unlink datablock from its parent */
+ switch (idlevel) {
+ case ID_AC:
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_action_cb);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+ ED_undo_push(C, "Unlink action");
+ break;
+ case ID_MA:
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_material_cb);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_OB_SHADING, NULL);
+ ED_undo_push(C, "Unlink material");
+ break;
+ case ID_TE:
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_texture_cb);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_OB_SHADING, NULL);
+ ED_undo_push(C, "Unlink texture");
+ break;
+ default:
+ BKE_report(op->reports, RPT_WARNING, "Not Yet");
+ break;
+ }
+ }
+ break;
+
+ case OUTLINER_IDOP_LOCAL:
+ {
+ /* make local */
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
+ ED_undo_push(C, "Localized Data");
+ }
+ break;
+
+ case OUTLINER_IDOP_SINGLE:
+ {
+ /* make single user */
+ switch (idlevel) {
+ case ID_AC:
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, singleuser_action_cb);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+ ED_undo_push(C, "Single-User Action");
+ break;
+
+ default:
+ BKE_report(op->reports, RPT_WARNING, "Not Yet");
+ break;
+ }
+ }
+ break;
+
+ case OUTLINER_IDOP_FAKE_ADD:
+ {
+ /* set fake user */
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_fake_user_set_cb);
+
+ WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+ ED_undo_push(C, "Add Fake User");
+ }
+ break;
+
+ case OUTLINER_IDOP_FAKE_CLEAR:
+ {
+ /* clear fake user */
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_fake_user_clear_cb);
+
+ WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+ ED_undo_push(C, "Clear Fake User");
+ }
+ break;
+ case OUTLINER_IDOP_RENAME:
+ /* rename */
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, item_rename_cb);
+
+ WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+ ED_undo_push(C, "Rename");
+
+ break;
+
+ default:
+ // invalid - unhandled
+ break;
+ }
+
+ /* wrong notifier still... */
+ WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+
+ // XXX: this is just so that outliner is always up to date
+ WM_event_add_notifier(C, NC_SPACE|ND_SPACE_OUTLINER, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_id_operation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Outliner ID data Operation";
+ ot->idname= "OUTLINER_OT_id_operation";
+ ot->description= "";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= outliner_id_operation_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= 0;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", prop_id_op_types, 0, "ID data Operation", "");
+}
+
+/* **************************************** */
+
+static void outliner_do_id_set_operation(SpaceOops *soops, int type, ListBase *lb, ID *newid,
+ void (*operation_cb)(TreeElement *, TreeStoreElem *, TreeStoreElem *, ID *))
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for (te=lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if (tselem->flag & TSE_SELECTED) {
+ if(tselem->type==type) {
+ TreeStoreElem *tsep = TREESTORE(te->parent);
+ operation_cb(te, tselem, tsep, newid);
+ }
+ }
+ if ((tselem->flag & TSE_CLOSED)==0) {
+ outliner_do_id_set_operation(soops, type, &te->subtree, newid, operation_cb);
+ }
+ }
+}
+
+/* ------------------------------------------ */
+
+static void actionset_id_cb(TreeElement *UNUSED(te), TreeStoreElem *tselem, TreeStoreElem *tsep, ID *actId)
+{
+ bAction *act = (bAction *)actId;
+
+ if (tselem->type == TSE_ANIM_DATA) {
+ /* "animation" entries - action is child of this */
+ BKE_animdata_set_action(NULL, tselem->id, act);
+ }
+ /* TODO: if any other "expander" channels which own actions need to support this menu,
+ * add: tselem->type = ...
+ */
+ else if (tsep && (tsep->type == TSE_ANIM_DATA)) {
+ /* "animation" entries case again */
+ BKE_animdata_set_action(NULL, tsep->id, act);
+ }
+ // TODO: other cases not supported yet
+}
+
+static int outliner_action_set_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+
+ bAction *act;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+ set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+
+ /* get action to use */
+ act= BLI_findlink(&CTX_data_main(C)->action, RNA_enum_get(op->ptr, "action"));
+
+ if (act == NULL) {
+ BKE_report(op->reports, RPT_ERROR, "No valid Action to add.");
+ return OPERATOR_CANCELLED;
+ }
+ else if (act->idroot == 0) {
+ /* hopefully in this case (i.e. library of userless actions), the user knows what they're doing... */
+ BKE_reportf(op->reports, RPT_WARNING,
+ "Action '%s' does not specify what datablocks it can be used on. Try setting the 'ID Root Type' setting from the Datablocks Editor for this Action to avoid future problems",
+ act->id.name+2);
+ }
+
+ /* perform action if valid channel */
+ if (datalevel == TSE_ANIM_DATA)
+ outliner_do_id_set_operation(soops, datalevel, &soops->tree, (ID*)act, actionset_id_cb);
+ else if (idlevel == ID_AC)
+ outliner_do_id_set_operation(soops, idlevel, &soops->tree, (ID*)act, actionset_id_cb);
+ else
+ return OPERATOR_CANCELLED;
+
+ /* set notifier that things have changed */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+ ED_undo_push(C, "Set action");
+
+ /* done */
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_action_set(wmOperatorType *ot)
+{
+ PropertyRNA *prop;
+
+ /* identifiers */
+ ot->name= "Outliner Set Action";
+ ot->idname= "OUTLINER_OT_action_set";
+ ot->description= "Change the active action used";
+
+ /* api callbacks */
+ ot->invoke= WM_enum_search_invoke;
+ ot->exec= outliner_action_set_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ /* flags */
+ ot->flag= 0;
+
+ /* props */
+ // TODO: this would be nicer as an ID-pointer...
+ prop= RNA_def_enum(ot->srna, "action", DummyRNA_NULL_items, 0, "Action", "");
+ RNA_def_enum_funcs(prop, RNA_action_itemf);
+ ot->prop= prop;
+}
+
+/* **************************************** */
+
+typedef enum eOutliner_AnimDataOps {
+ OUTLINER_ANIMOP_INVALID = 0,
+
+ OUTLINER_ANIMOP_SET_ACT,
+ OUTLINER_ANIMOP_CLEAR_ACT,
+
+ OUTLINER_ANIMOP_REFRESH_DRV,
+ OUTLINER_ANIMOP_CLEAR_DRV
+
+ //OUTLINER_ANIMOP_COPY_DRIVERS,
+ //OUTLINER_ANIMOP_PASTE_DRIVERS
+} eOutliner_AnimDataOps;
+
+static EnumPropertyItem prop_animdata_op_types[] = {
+ {OUTLINER_ANIMOP_SET_ACT, "SET_ACT", 0, "Set Action", ""},
+ {OUTLINER_ANIMOP_CLEAR_ACT, "CLEAR_ACT", 0, "Unlink Action", ""},
+ {OUTLINER_ANIMOP_REFRESH_DRV, "REFRESH_DRIVERS", 0, "Refresh Drivers", ""},
+ //{OUTLINER_ANIMOP_COPY_DRIVERS, "COPY_DRIVERS", 0, "Copy Drivers", ""},
+ //{OUTLINER_ANIMOP_PASTE_DRIVERS, "PASTE_DRIVERS", 0, "Paste Drivers", ""},
+ {OUTLINER_ANIMOP_CLEAR_DRV, "CLEAR_DRIVERS", 0, "Clear Drivers", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_animdata_operation_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+ eOutliner_AnimDataOps event;
+ short updateDeps = 0;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+
+ event= RNA_enum_get(op->ptr, "type");
+ set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+
+ if (datalevel != TSE_ANIM_DATA)
+ return OPERATOR_CANCELLED;
+
+ /* perform the core operation */
+ switch (event) {
+ case OUTLINER_ANIMOP_SET_ACT:
+ /* delegate once again... */
+ WM_operator_name_call(C, "OUTLINER_OT_action_set", WM_OP_INVOKE_REGION_WIN, NULL);
+ break;
+
+ case OUTLINER_ANIMOP_CLEAR_ACT:
+ /* clear active action - using standard rules */
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, unlinkact_animdata_cb);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+ ED_undo_push(C, "Unlink action");
+ break;
+
+ case OUTLINER_ANIMOP_REFRESH_DRV:
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, refreshdrivers_animdata_cb);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN, NULL);
+ //ED_undo_push(C, "Refresh Drivers"); /* no undo needed - shouldn't have any impact? */
+ updateDeps = 1;
+ break;
+
+ case OUTLINER_ANIMOP_CLEAR_DRV:
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, cleardrivers_animdata_cb);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN, NULL);
+ ED_undo_push(C, "Clear Drivers");
+ updateDeps = 1;
+ break;
+
+ default: // invalid
+ break;
+ }
+
+ /* update dependencies */
+ if (updateDeps) {
+ Main *bmain = CTX_data_main(C);
+ Scene *scene = CTX_data_scene(C);
+
+ /* rebuild depsgraph for the new deps */
+ DAG_scene_sort(bmain, scene);
+
+ /* force an update of depsgraph */
+ DAG_ids_flush_update(bmain, 0);
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_animdata_operation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Outliner Animation Data Operation";
+ ot->idname= "OUTLINER_OT_animdata_operation";
+ ot->description= "";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= outliner_animdata_operation_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= 0;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", prop_animdata_op_types, 0, "Animation Operation", "");
+}
+
+/* **************************************** */
+
+static EnumPropertyItem prop_data_op_types[] = {
+ {1, "SELECT", 0, "Select", ""},
+ {2, "DESELECT", 0, "Deselect", ""},
+ {3, "HIDE", 0, "Hide", ""},
+ {4, "UNHIDE", 0, "Unhide", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_data_operation_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+ int event;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+
+ event= RNA_enum_get(op->ptr, "type");
+ set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+
+ if(datalevel==TSE_POSE_CHANNEL) {
+ if(event>0) {
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+ ED_undo_push(C, "PoseChannel operation");
+ }
+ }
+ else if(datalevel==TSE_BONE) {
+ if(event>0) {
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+ ED_undo_push(C, "Bone operation");
+ }
+ }
+ else if(datalevel==TSE_EBONE) {
+ if(event>0) {
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+ ED_undo_push(C, "EditBone operation");
+ }
+ }
+ else if(datalevel==TSE_SEQUENCE) {
+ if(event>0) {
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb);
+ }
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_data_operation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Outliner Data Operation";
+ ot->idname= "OUTLINER_OT_data_operation";
+ ot->description= "";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= outliner_data_operation_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= 0;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", prop_data_op_types, 0, "Data Operation", "");
+}
+
+
+/* ******************** */
+
+
+static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, const float mval[2])
+{
+ ReportList *reports = CTX_wm_reports(C); // XXX...
+
+ if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+ int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+ TreeStoreElem *tselem= TREESTORE(te);
+
+ /* select object that's clicked on and popup context menu */
+ if (!(tselem->flag & TSE_SELECTED)) {
+
+ if ( outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1) )
+ outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
+
+ tselem->flag |= TSE_SELECTED;
+ /* redraw, same as outliner_select function */
+ soops->storeflag |= SO_TREESTORE_REDRAW;
+ ED_region_tag_redraw(ar);
+ }
+
+ set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+
+ if(scenelevel) {
+ //if(objectlevel || datalevel || idlevel) error("Mixed selection");
+ //else pupmenu("Scene Operations%t|Delete");
+ }
+ else if(objectlevel) {
+ WM_operator_name_call(C, "OUTLINER_OT_object_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+ }
+ else if(idlevel) {
+ if(idlevel==-1 || datalevel) BKE_report(reports, RPT_WARNING, "Mixed selection");
+ else {
+ if (idlevel==ID_GR)
+ WM_operator_name_call(C, "OUTLINER_OT_group_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+ else
+ WM_operator_name_call(C, "OUTLINER_OT_id_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+ }
+ }
+ else if(datalevel) {
+ if(datalevel==-1) BKE_report(reports, RPT_WARNING, "Mixed selection");
+ else {
+ if (datalevel == TSE_ANIM_DATA)
+ WM_operator_name_call(C, "OUTLINER_OT_animdata_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+ else if (datalevel == TSE_DRIVER_BASE)
+ /* do nothing... no special ops needed yet */;
+ else
+ WM_operator_name_call(C, "OUTLINER_OT_data_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+ }
+ }
+
+ return 1;
+ }
+
+ for(te= te->subtree.first; te; te= te->next) {
+ if(do_outliner_operation_event(C, scene, ar, soops, te, event, mval))
+ return 1;
+ }
+ return 0;
+}
+
+
+static int outliner_operation(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ TreeElement *te;
+ float fmval[2];
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+
+ for(te= soops->tree.first; te; te= te->next) {
+ if(do_outliner_operation_event(C, scene, ar, soops, te, event, fmval)) break;
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+/* Menu only! Calls other operators */
+void OUTLINER_OT_operation(wmOperatorType *ot)
+{
+ ot->name= "Execute Operation";
+ ot->idname= "OUTLINER_OT_operation";
+ ot->description= "Context menu for item operations";
+
+ ot->invoke= outliner_operation;
+
+ ot->poll= ED_operator_outliner_active;
+}
+
+/* ****************************************************** */
diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c
new file mode 100644
index 00000000000..8904dcc360f
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_tree.c
@@ -0,0 +1,1577 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_tree.c
+ * \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_speaker_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+# ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+# endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "outliner_intern.h"
+
+/* ********************************************************* */
+/* Defines */
+
+#define TS_CHUNK 128
+
+/* ********************************************************* */
+/* Persistant Data */
+
+static void outliner_storage_cleanup(SpaceOops *soops)
+{
+ TreeStore *ts= soops->treestore;
+
+ if(ts) {
+ TreeStoreElem *tselem;
+ int a, unused= 0;
+
+ /* each element used once, for ID blocks with more users to have each a treestore */
+ for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) tselem->used= 0;
+
+ /* cleanup only after reading file or undo step, and always for
+ * RNA datablocks view in order to save memory */
+ if(soops->storeflag & SO_TREESTORE_CLEANUP) {
+
+ for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
+ if(tselem->id==NULL) unused++;
+ }
+
+ if(unused) {
+ if(ts->usedelem == unused) {
+ MEM_freeN(ts->data);
+ ts->data= NULL;
+ ts->usedelem= ts->totelem= 0;
+ }
+ else {
+ TreeStoreElem *tsnewar, *tsnew;
+
+ tsnew=tsnewar= MEM_mallocN((ts->usedelem-unused)*sizeof(TreeStoreElem), "new tselem");
+ for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
+ if(tselem->id) {
+ *tsnew= *tselem;
+ tsnew++;
+ }
+ }
+ MEM_freeN(ts->data);
+ ts->data= tsnewar;
+ ts->usedelem-= unused;
+ ts->totelem= ts->usedelem;
+ }
+ }
+ }
+ }
+}
+
+static void check_persistant(SpaceOops *soops, TreeElement *te, ID *id, short type, short nr)
+{
+ TreeStore *ts;
+ TreeStoreElem *tselem;
+ int a;
+
+ /* case 1; no TreeStore */
+ if(soops->treestore==NULL) {
+ soops->treestore= MEM_callocN(sizeof(TreeStore), "treestore");
+ }
+ ts= soops->treestore;
+
+ /* check if 'te' is in treestore */
+ tselem= ts->data;
+ for(a=0; a<ts->usedelem; a++, tselem++) {
+ if(tselem->id==id && tselem->used==0) {
+ if((type==0 && tselem->type==0) ||(tselem->type==type && tselem->nr==nr)) {
+ te->store_index= a;
+ tselem->used= 1;
+ return;
+ }
+ }
+ }
+
+ /* add 1 element to treestore */
+ if(ts->usedelem==ts->totelem) {
+ TreeStoreElem *tsnew;
+
+ tsnew= MEM_mallocN((ts->totelem+TS_CHUNK)*sizeof(TreeStoreElem), "treestore data");
+ if(ts->data) {
+ memcpy(tsnew, ts->data, ts->totelem*sizeof(TreeStoreElem));
+ MEM_freeN(ts->data);
+ }
+ ts->data= tsnew;
+ ts->totelem+= TS_CHUNK;
+ }
+
+ tselem= ts->data+ts->usedelem;
+
+ tselem->type= type;
+ if(type) tselem->nr= nr; // we're picky! :)
+ else tselem->nr= 0;
+ tselem->id= id;
+ tselem->used = 0;
+ tselem->flag= TSE_CLOSED;
+ te->store_index= ts->usedelem;
+
+ ts->usedelem++;
+}
+
+/* ********************************************************* */
+/* Tree Management */
+
+void outliner_free_tree(ListBase *lb)
+{
+ while(lb->first) {
+ TreeElement *te= lb->first;
+
+ outliner_free_tree(&te->subtree);
+ BLI_remlink(lb, te);
+
+ if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
+ MEM_freeN(te);
+ }
+}
+
+void outliner_cleanup_tree(SpaceOops *soops)
+{
+ outliner_free_tree(&soops->tree);
+ outliner_storage_cleanup(soops);
+}
+
+/* Find ith item from the treestore */
+static TreeElement *outliner_find_tree_element(ListBase *lb, int store_index)
+{
+ TreeElement *te= lb->first, *tes;
+ while(te) {
+ if(te->store_index==store_index) return te;
+ tes= outliner_find_tree_element(&te->subtree, store_index);
+ if(tes) return tes;
+ te= te->next;
+ }
+ return NULL;
+}
+
+/* tse is not in the treestore, we use its contents to find a match */
+TreeElement *outliner_find_tse(SpaceOops *soops, TreeStoreElem *tse)
+{
+ TreeStore *ts= soops->treestore;
+ TreeStoreElem *tselem;
+ int a;
+
+ if(tse->id==NULL) return NULL;
+
+ /* check if 'tse' is in treestore */
+ tselem= ts->data;
+ for(a=0; a<ts->usedelem; a++, tselem++) {
+ if((tse->type==0 && tselem->type==0) || (tselem->type==tse->type && tselem->nr==tse->nr)) {
+ if(tselem->id==tse->id) {
+ break;
+ }
+ }
+ }
+ if(tselem)
+ return outliner_find_tree_element(&soops->tree, a);
+
+ return NULL;
+}
+
+/* Find treestore that refers to given ID */
+TreeElement *outliner_find_id(SpaceOops *soops, ListBase *lb, ID *id)
+{
+ TreeElement *te, *tes;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->type==0) {
+ if(tselem->id==id) return te;
+ /* only deeper on scene or object */
+ if( te->idcode==ID_OB || te->idcode==ID_SCE || (soops->outlinevis == SO_GROUPS && te->idcode==ID_GR)) {
+ tes= outliner_find_id(soops, &te->subtree, id);
+ if(tes) return tes;
+ }
+ }
+ }
+ return NULL;
+}
+
+
+ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode)
+{
+ TreeStoreElem *tselem;
+ te= te->parent;
+
+ while(te) {
+ tselem= TREESTORE(te);
+ if(tselem->type==0 && te->idcode==idcode) return tselem->id;
+ te= te->parent;
+ }
+ return NULL;
+}
+
+
+/* ********************************************************* */
+
+/* Prototype, see functions below */
+static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv,
+ TreeElement *parent, short type, short index);
+
+/* -------------------------------------------------------- */
+
+/* special handling of hierarchical non-lib data */
+static void outliner_add_bone(SpaceOops *soops, ListBase *lb, ID *id, Bone *curBone,
+ TreeElement *parent, int *a)
+{
+ TreeElement *te= outliner_add_element(soops, lb, id, parent, TSE_BONE, *a);
+
+ (*a)++;
+ te->name= curBone->name;
+ te->directdata= curBone;
+
+ for(curBone= curBone->childbase.first; curBone; curBone=curBone->next) {
+ outliner_add_bone(soops, &te->subtree, id, curBone, te, a);
+ }
+}
+
+/* -------------------------------------------------------- */
+
+#define LOG2I(x) (int)(log(x)/M_LN2)
+
+static void outliner_add_passes(SpaceOops *soops, TreeElement *tenla, ID *id, SceneRenderLayer *srl)
+{
+ TreeStoreElem *tselem = NULL;
+ TreeElement *te = NULL;
+
+ /* log stuff is to convert bitflags (powers of 2) to small integers,
+ * in order to not overflow short tselem->nr */
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_COMBINED));
+ te->name= "Combined";
+ te->directdata= &srl->passflag;
+
+ /* save cpu cycles, but we add the first to invoke an open/close triangle */
+ tselem = TREESTORE(tenla);
+ if(tselem->flag & TSE_CLOSED)
+ return;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_Z));
+ te->name= "Z";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_VECTOR));
+ te->name= "Vector";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_NORMAL));
+ te->name= "Normal";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_UV));
+ te->name= "UV";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_MIST));
+ te->name= "Mist";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXOB));
+ te->name= "Index Object";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXMA));
+ te->name= "Index Material";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_RGBA));
+ te->name= "Color";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_DIFFUSE));
+ te->name= "Diffuse";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SPEC));
+ te->name= "Specular";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SHADOW));
+ te->name= "Shadow";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_AO));
+ te->name= "AO";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFLECT));
+ te->name= "Reflection";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFRACT));
+ te->name= "Refraction";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDIRECT));
+ te->name= "Indirect";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_ENVIRONMENT));
+ te->name= "Environment";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_EMIT));
+ te->name= "Emit";
+ te->directdata= &srl->passflag;
+}
+
+#undef LOG2I
+
+static void outliner_add_scene_contents(SpaceOops *soops, ListBase *lb, Scene *sce, TreeElement *te)
+{
+ SceneRenderLayer *srl;
+ TreeElement *tenla= outliner_add_element(soops, lb, sce, te, TSE_R_LAYER_BASE, 0);
+ int a;
+
+ tenla->name= "RenderLayers";
+ for(a=0, srl= sce->r.layers.first; srl; srl= srl->next, a++) {
+ TreeElement *tenlay= outliner_add_element(soops, &tenla->subtree, sce, te, TSE_R_LAYER, a);
+ tenlay->name= srl->name;
+ tenlay->directdata= &srl->passflag;
+
+ if(srl->light_override)
+ outliner_add_element(soops, &tenlay->subtree, srl->light_override, tenlay, TSE_LINKED_LAMP, 0);
+ if(srl->mat_override)
+ outliner_add_element(soops, &tenlay->subtree, srl->mat_override, tenlay, TSE_LINKED_MAT, 0);
+
+ outliner_add_passes(soops, tenlay, &sce->id, srl);
+ }
+
+ // TODO: move this to the front?
+ if (sce->adt)
+ outliner_add_element(soops, lb, sce, te, TSE_ANIM_DATA, 0);
+
+ outliner_add_element(soops, lb, sce->world, te, 0, 0);
+}
+
+// can be inlined if necessary
+static void outliner_add_object_contents(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, Object *ob)
+{
+ int a = 0;
+
+ if (ob->adt)
+ outliner_add_element(soops, &te->subtree, ob, te, TSE_ANIM_DATA, 0);
+
+ outliner_add_element(soops, &te->subtree, ob->poselib, te, 0, 0); // XXX FIXME.. add a special type for this
+
+ if (ob->proxy && ob->id.lib==NULL)
+ outliner_add_element(soops, &te->subtree, ob->proxy, te, TSE_PROXY, 0);
+
+ outliner_add_element(soops, &te->subtree, ob->data, te, 0, 0);
+
+ if (ob->pose) {
+ bArmature *arm= ob->data;
+ bPoseChannel *pchan;
+ TreeElement *ten;
+ TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSE_BASE, 0);
+
+ tenla->name= "Pose";
+
+ /* channels undefined in editmode, but we want the 'tenla' pose icon itself */
+ if ((arm->edbo == NULL) && (ob->mode & OB_MODE_POSE)) {
+ int a= 0, const_index= 1000; /* ensure unique id for bone constraints */
+
+ for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next, a++) {
+ ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSE_CHANNEL, a);
+ ten->name= pchan->name;
+ ten->directdata= pchan;
+ pchan->prev= (bPoseChannel *)ten;
+
+ if(pchan->constraints.first) {
+ //Object *target;
+ bConstraint *con;
+ TreeElement *ten1;
+ TreeElement *tenla1= outliner_add_element(soops, &ten->subtree, ob, ten, TSE_CONSTRAINT_BASE, 0);
+ //char *str;
+
+ tenla1->name= "Constraints";
+ for(con= pchan->constraints.first; con; con= con->next, const_index++) {
+ ten1= outliner_add_element(soops, &tenla1->subtree, ob, tenla1, TSE_CONSTRAINT, const_index);
+#if 0 /* disabled as it needs to be reworked for recoded constraints system */
+ target= get_constraint_target(con, &str);
+ if(str && str[0]) ten1->name= str;
+ else if(target) ten1->name= target->id.name+2;
+ else ten1->name= con->name;
+#endif
+ ten1->name= con->name;
+ ten1->directdata= con;
+ /* possible add all other types links? */
+ }
+ }
+ }
+ /* make hierarchy */
+ ten= tenla->subtree.first;
+ while(ten) {
+ TreeElement *nten= ten->next, *par;
+ tselem= TREESTORE(ten);
+ if(tselem->type==TSE_POSE_CHANNEL) {
+ pchan= (bPoseChannel *)ten->directdata;
+ if(pchan->parent) {
+ BLI_remlink(&tenla->subtree, ten);
+ par= (TreeElement *)pchan->parent->prev;
+ BLI_addtail(&par->subtree, ten);
+ ten->parent= par;
+ }
+ }
+ ten= nten;
+ }
+ /* restore prev pointers */
+ pchan= ob->pose->chanbase.first;
+ if(pchan) pchan->prev= NULL;
+ for(; pchan; pchan= pchan->next) {
+ if(pchan->next) pchan->next->prev= pchan;
+ }
+ }
+
+ /* Pose Groups */
+ if(ob->pose->agroups.first) {
+ bActionGroup *agrp;
+ TreeElement *ten;
+ TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSEGRP_BASE, 0);
+ int a= 0;
+
+ tenla->name= "Bone Groups";
+ for (agrp=ob->pose->agroups.first; agrp; agrp=agrp->next, a++) {
+ ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSEGRP, a);
+ ten->name= agrp->name;
+ ten->directdata= agrp;
+ }
+ }
+ }
+
+ for(a=0; a<ob->totcol; a++)
+ outliner_add_element(soops, &te->subtree, ob->mat[a], te, 0, a);
+
+ if(ob->constraints.first) {
+ //Object *target;
+ bConstraint *con;
+ TreeElement *ten;
+ TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_CONSTRAINT_BASE, 0);
+ //char *str;
+
+ tenla->name= "Constraints";
+ for (con=ob->constraints.first, a=0; con; con= con->next, a++) {
+ ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_CONSTRAINT, a);
+#if 0 /* disabled due to constraints system targets recode... code here needs review */
+ target= get_constraint_target(con, &str);
+ if(str && str[0]) ten->name= str;
+ else if(target) ten->name= target->id.name+2;
+ else ten->name= con->name;
+#endif
+ ten->name= con->name;
+ ten->directdata= con;
+ /* possible add all other types links? */
+ }
+ }
+
+ if (ob->modifiers.first) {
+ ModifierData *md;
+ TreeElement *temod = outliner_add_element(soops, &te->subtree, ob, te, TSE_MODIFIER_BASE, 0);
+ int index;
+
+ temod->name = "Modifiers";
+ for (index=0,md=ob->modifiers.first; md; index++,md=md->next) {
+ TreeElement *te = outliner_add_element(soops, &temod->subtree, ob, temod, TSE_MODIFIER, index);
+ te->name= md->name;
+ te->directdata = md;
+
+ if (md->type==eModifierType_Lattice) {
+ outliner_add_element(soops, &te->subtree, ((LatticeModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+ }
+ else if (md->type==eModifierType_Curve) {
+ outliner_add_element(soops, &te->subtree, ((CurveModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+ }
+ else if (md->type==eModifierType_Armature) {
+ outliner_add_element(soops, &te->subtree, ((ArmatureModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+ }
+ else if (md->type==eModifierType_Hook) {
+ outliner_add_element(soops, &te->subtree, ((HookModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+ }
+ else if (md->type==eModifierType_ParticleSystem) {
+ TreeElement *ten;
+ ParticleSystem *psys= ((ParticleSystemModifierData*) md)->psys;
+
+ ten = outliner_add_element(soops, &te->subtree, ob, te, TSE_LINKED_PSYS, 0);
+ ten->directdata = psys;
+ ten->name = psys->part->id.name+2;
+ }
+ }
+ }
+
+ /* vertex groups */
+ if (ob->defbase.first) {
+ bDeformGroup *defgroup;
+ TreeElement *ten;
+ TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_DEFGROUP_BASE, 0);
+
+ tenla->name= "Vertex Groups";
+ for (defgroup=ob->defbase.first, a=0; defgroup; defgroup=defgroup->next, a++) {
+ ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_DEFGROUP, a);
+ ten->name= defgroup->name;
+ ten->directdata= defgroup;
+ }
+ }
+
+ /* duplicated group */
+ if (ob->dup_group)
+ outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0);
+}
+
+// can be inlined if necessary
+static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, ID *id)
+{
+ /* tuck pointer back in object, to construct hierarchy */
+ if (GS(id->name)==ID_OB) id->newid= (ID *)te;
+
+ /* expand specific data always */
+ switch (GS(id->name)) {
+ case ID_LI:
+ {
+ te->name= ((Library *)id)->name;
+ }
+ break;
+ case ID_SCE:
+ {
+ outliner_add_scene_contents(soops, &te->subtree, (Scene *)id, te);
+ }
+ break;
+ case ID_OB:
+ {
+ outliner_add_object_contents(soops, te, tselem, (Object *)id);
+ }
+ break;
+ case ID_ME:
+ {
+ Mesh *me= (Mesh *)id;
+ int a;
+
+ if (me->adt)
+ outliner_add_element(soops, &te->subtree, me, te, TSE_ANIM_DATA, 0);
+
+ outliner_add_element(soops, &te->subtree, me->key, te, 0, 0);
+ for(a=0; a<me->totcol; a++)
+ outliner_add_element(soops, &te->subtree, me->mat[a], te, 0, a);
+ /* could do tfaces with image links, but the images are not grouped nicely.
+ would require going over all tfaces, sort images in use. etc... */
+ }
+ break;
+ case ID_CU:
+ {
+ Curve *cu= (Curve *)id;
+ int a;
+
+ if (cu->adt)
+ outliner_add_element(soops, &te->subtree, cu, te, TSE_ANIM_DATA, 0);
+
+ for(a=0; a<cu->totcol; a++)
+ outliner_add_element(soops, &te->subtree, cu->mat[a], te, 0, a);
+ }
+ break;
+ case ID_MB:
+ {
+ MetaBall *mb= (MetaBall *)id;
+ int a;
+
+ if (mb->adt)
+ outliner_add_element(soops, &te->subtree, mb, te, TSE_ANIM_DATA, 0);
+
+ for(a=0; a<mb->totcol; a++)
+ outliner_add_element(soops, &te->subtree, mb->mat[a], te, 0, a);
+ }
+ break;
+ case ID_MA:
+ {
+ Material *ma= (Material *)id;
+ int a;
+
+ if (ma->adt)
+ outliner_add_element(soops, &te->subtree, ma, te, TSE_ANIM_DATA, 0);
+
+ for(a=0; a<MAX_MTEX; a++) {
+ if(ma->mtex[a]) outliner_add_element(soops, &te->subtree, ma->mtex[a]->tex, te, 0, a);
+ }
+ }
+ break;
+ case ID_TE:
+ {
+ Tex *tex= (Tex *)id;
+
+ if (tex->adt)
+ outliner_add_element(soops, &te->subtree, tex, te, TSE_ANIM_DATA, 0);
+
+ outliner_add_element(soops, &te->subtree, tex->ima, te, 0, 0);
+ }
+ break;
+ case ID_CA:
+ {
+ Camera *ca= (Camera *)id;
+
+ if (ca->adt)
+ outliner_add_element(soops, &te->subtree, ca, te, TSE_ANIM_DATA, 0);
+ }
+ break;
+ case ID_LA:
+ {
+ Lamp *la= (Lamp *)id;
+ int a;
+
+ if (la->adt)
+ outliner_add_element(soops, &te->subtree, la, te, TSE_ANIM_DATA, 0);
+
+ for(a=0; a<MAX_MTEX; a++) {
+ if(la->mtex[a]) outliner_add_element(soops, &te->subtree, la->mtex[a]->tex, te, 0, a);
+ }
+ }
+ break;
+ case ID_SPK:
+ {
+ Speaker *spk= (Speaker *)id;
+
+ if(spk->adt)
+ outliner_add_element(soops, &te->subtree, spk, te, TSE_ANIM_DATA, 0);
+ }
+ break;
+ case ID_WO:
+ {
+ World *wrld= (World *)id;
+ int a;
+
+ if (wrld->adt)
+ outliner_add_element(soops, &te->subtree, wrld, te, TSE_ANIM_DATA, 0);
+
+ for(a=0; a<MAX_MTEX; a++) {
+ if(wrld->mtex[a]) outliner_add_element(soops, &te->subtree, wrld->mtex[a]->tex, te, 0, a);
+ }
+ }
+ break;
+ case ID_KE:
+ {
+ Key *key= (Key *)id;
+
+ if (key->adt)
+ outliner_add_element(soops, &te->subtree, key, te, TSE_ANIM_DATA, 0);
+ }
+ break;
+ case ID_AC:
+ {
+ // XXX do we want to be exposing the F-Curves here?
+ //bAction *act= (bAction *)id;
+ }
+ break;
+ case ID_AR:
+ {
+ bArmature *arm= (bArmature *)id;
+ int a= 0;
+
+ if (arm->adt)
+ outliner_add_element(soops, &te->subtree, arm, te, TSE_ANIM_DATA, 0);
+
+ if(arm->edbo) {
+ EditBone *ebone;
+ TreeElement *ten;
+
+ for (ebone = arm->edbo->first; ebone; ebone=ebone->next, a++) {
+ ten= outliner_add_element(soops, &te->subtree, id, te, TSE_EBONE, a);
+ ten->directdata= ebone;
+ ten->name= ebone->name;
+ ebone->temp= ten;
+ }
+ /* make hierarchy */
+ ten= te->subtree.first;
+ while(ten) {
+ TreeElement *nten= ten->next, *par;
+ ebone= (EditBone *)ten->directdata;
+ if(ebone->parent) {
+ BLI_remlink(&te->subtree, ten);
+ par= ebone->parent->temp;
+ BLI_addtail(&par->subtree, ten);
+ ten->parent= par;
+ }
+ ten= nten;
+ }
+ }
+ else {
+ /* do not extend Armature when we have posemode */
+ tselem= TREESTORE(te->parent);
+ if( GS(tselem->id->name)==ID_OB && ((Object *)tselem->id)->mode & OB_MODE_POSE);
+ else {
+ Bone *curBone;
+ for (curBone=arm->bonebase.first; curBone; curBone=curBone->next){
+ outliner_add_bone(soops, &te->subtree, id, curBone, te, &a);
+ }
+ }
+ }
+ }
+ break;
+ }
+}
+
+// TODO: this function needs to be split up! It's getting a bit too large...
+static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv,
+ TreeElement *parent, short type, short index)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ ID *id= idv;
+ int a = 0;
+
+ if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
+ id= ((PointerRNA*)idv)->id.data;
+ if(!id) id= ((PointerRNA*)idv)->data;
+ }
+
+ if(id==NULL) return NULL;
+
+ te= MEM_callocN(sizeof(TreeElement), "tree elem");
+ /* add to the visual tree */
+ BLI_addtail(lb, te);
+ /* add to the storage */
+ check_persistant(soops, te, id, type, index);
+ tselem= TREESTORE(te);
+
+ te->parent= parent;
+ te->index= index; // for data arays
+ if(ELEM3(type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP));
+ else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM));
+ else if(type==TSE_ANIM_DATA);
+ else {
+ te->name= id->name+2; // default, can be overridden by Library or non-ID data
+ te->idcode= GS(id->name);
+ }
+
+ if(type==0) {
+ /* ID datablock */
+ outliner_add_id_contents(soops, te, tselem, id);
+ }
+ else if(type==TSE_ANIM_DATA) {
+ IdAdtTemplate *iat = (IdAdtTemplate *)idv;
+ AnimData *adt= (AnimData *)iat->adt;
+
+ /* this element's info */
+ te->name= "Animation";
+ te->directdata= adt;
+
+ /* Action */
+ outliner_add_element(soops, &te->subtree, adt->action, te, 0, 0);
+
+ /* Drivers */
+ if (adt->drivers.first) {
+ TreeElement *ted= outliner_add_element(soops, &te->subtree, adt, te, TSE_DRIVER_BASE, 0);
+ ID *lastadded= NULL;
+ FCurve *fcu;
+
+ ted->name= "Drivers";
+
+ for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
+ if (fcu->driver && fcu->driver->variables.first) {
+ ChannelDriver *driver= fcu->driver;
+ DriverVar *dvar;
+
+ for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
+ /* loop over all targets used here */
+ DRIVER_TARGETS_USED_LOOPER(dvar)
+ {
+ if (lastadded != dtar->id) {
+ // XXX this lastadded check is rather lame, and also fails quite badly...
+ outliner_add_element(soops, &ted->subtree, dtar->id, ted, TSE_LINKED_OB, 0);
+ lastadded= dtar->id;
+ }
+ }
+ DRIVER_TARGETS_LOOPER_END
+ }
+ }
+ }
+ }
+
+ /* NLA Data */
+ if (adt->nla_tracks.first) {
+ TreeElement *tenla= outliner_add_element(soops, &te->subtree, adt, te, TSE_NLA, 0);
+ NlaTrack *nlt;
+ int a= 0;
+
+ tenla->name= "NLA Tracks";
+
+ for (nlt= adt->nla_tracks.first; nlt; nlt= nlt->next) {
+ TreeElement *tenlt= outliner_add_element(soops, &tenla->subtree, nlt, tenla, TSE_NLA_TRACK, a);
+ NlaStrip *strip;
+ TreeElement *ten;
+ int b= 0;
+
+ tenlt->name= nlt->name;
+
+ for (strip=nlt->strips.first; strip; strip=strip->next, b++) {
+ ten= outliner_add_element(soops, &tenlt->subtree, strip->act, tenlt, TSE_NLA_ACTION, b);
+ if(ten) ten->directdata= strip;
+ }
+ }
+ }
+ }
+ else if(type==TSE_SEQUENCE) {
+ Sequence *seq= (Sequence*) idv;
+ Sequence *p;
+
+ /*
+ * The idcode is a little hack, but the outliner
+ * only check te->idcode if te->type is equal to zero,
+ * so this is "safe".
+ */
+ te->idcode= seq->type;
+ te->directdata= seq;
+
+ if(seq->type<7) {
+ /*
+ * This work like the sequence.
+ * If the sequence have a name (not default name)
+ * show it, in other case put the filename.
+ */
+ if(strcmp(seq->name, "SQ"))
+ te->name= seq->name;
+ else {
+ if((seq->strip) && (seq->strip->stripdata))
+ te->name= seq->strip->stripdata->name;
+ else
+ te->name= "SQ None";
+ }
+
+ if(seq->type==SEQ_META) {
+ te->name= "Meta Strip";
+ p= seq->seqbase.first;
+ while(p) {
+ outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
+ p= p->next;
+ }
+ }
+ else
+ outliner_add_element(soops, &te->subtree, (void*)seq->strip, te, TSE_SEQ_STRIP, index);
+ }
+ else
+ te->name= "Effect";
+ }
+ else if(type==TSE_SEQ_STRIP) {
+ Strip *strip= (Strip *)idv;
+
+ if(strip->dir)
+ te->name= strip->dir;
+ else
+ te->name= "Strip None";
+ te->directdata= strip;
+ }
+ else if(type==TSE_SEQUENCE_DUP) {
+ Sequence *seq= (Sequence*)idv;
+
+ te->idcode= seq->type;
+ te->directdata= seq;
+ te->name= seq->strip->stripdata->name;
+ }
+ else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
+ PointerRNA pptr, propptr, *ptr= (PointerRNA*)idv;
+ PropertyRNA *prop, *iterprop;
+ PropertyType proptype;
+ int a, tot;
+
+ /* we do lazy build, for speed and to avoid infinite recusion */
+
+ if(ptr->data == NULL) {
+ te->name= "(empty)";
+ }
+ else if(type == TSE_RNA_STRUCT) {
+ /* struct */
+ te->name= RNA_struct_name_get_alloc(ptr, NULL, 0);
+
+ if(te->name)
+ te->flag |= TE_FREE_NAME;
+ else
+ te->name= (char*)RNA_struct_ui_name(ptr->type);
+
+ iterprop= RNA_struct_iterator_property(ptr->type);
+ tot= RNA_property_collection_length(ptr, iterprop);
+
+ /* auto open these cases */
+ if(!parent || (RNA_property_type(parent->directdata)) == PROP_POINTER)
+ if(!tselem->used)
+ tselem->flag &= ~TSE_CLOSED;
+
+ if(!(tselem->flag & TSE_CLOSED)) {
+ for(a=0; a<tot; a++)
+ outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_PROPERTY, a);
+ }
+ else if(tot)
+ te->flag |= TE_LAZY_CLOSED;
+
+ te->rnaptr= *ptr;
+ }
+ else if(type == TSE_RNA_PROPERTY) {
+ /* property */
+ iterprop= RNA_struct_iterator_property(ptr->type);
+ RNA_property_collection_lookup_int(ptr, iterprop, index, &propptr);
+
+ prop= propptr.data;
+ proptype= RNA_property_type(prop);
+
+ te->name= (char*)RNA_property_ui_name(prop);
+ te->directdata= prop;
+ te->rnaptr= *ptr;
+
+ if(proptype == PROP_POINTER) {
+ pptr= RNA_property_pointer_get(ptr, prop);
+
+ if(pptr.data) {
+ if(!(tselem->flag & TSE_CLOSED))
+ outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1);
+ else
+ te->flag |= TE_LAZY_CLOSED;
+ }
+ }
+ else if(proptype == PROP_COLLECTION) {
+ tot= RNA_property_collection_length(ptr, prop);
+
+ if(!(tselem->flag & TSE_CLOSED)) {
+ for(a=0; a<tot; a++) {
+ RNA_property_collection_lookup_int(ptr, prop, a, &pptr);
+ outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, a);
+ }
+ }
+ else if(tot)
+ te->flag |= TE_LAZY_CLOSED;
+ }
+ else if(ELEM3(proptype, PROP_BOOLEAN, PROP_INT, PROP_FLOAT)) {
+ tot= RNA_property_array_length(ptr, prop);
+
+ if(!(tselem->flag & TSE_CLOSED)) {
+ for(a=0; a<tot; a++)
+ outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_ARRAY_ELEM, a);
+ }
+ else if(tot)
+ te->flag |= TE_LAZY_CLOSED;
+ }
+ }
+ else if(type == TSE_RNA_ARRAY_ELEM) {
+ char c;
+
+ prop= parent->directdata;
+
+ te->directdata= prop;
+ te->rnaptr= *ptr;
+ te->index= index;
+
+ c= RNA_property_array_item_char(prop, index);
+
+ te->name= MEM_callocN(sizeof(char)*20, "OutlinerRNAArrayName");
+ if(c) sprintf((char *)te->name, " %c", c);
+ else sprintf((char *)te->name, " %d", index+1);
+ te->flag |= TE_FREE_NAME;
+ }
+ }
+ else if(type == TSE_KEYMAP) {
+ wmKeyMap *km= (wmKeyMap *)idv;
+ wmKeyMapItem *kmi;
+ char opname[OP_MAX_TYPENAME];
+
+ te->directdata= idv;
+ te->name= km->idname;
+
+ if(!(tselem->flag & TSE_CLOSED)) {
+ a= 0;
+
+ for (kmi= km->items.first; kmi; kmi= kmi->next, a++) {
+ const char *key= WM_key_event_string(kmi->type);
+
+ if(key[0]) {
+ wmOperatorType *ot= NULL;
+
+ if(kmi->propvalue);
+ else ot= WM_operatortype_find(kmi->idname, 0);
+
+ if(ot || kmi->propvalue) {
+ TreeElement *ten= outliner_add_element(soops, &te->subtree, kmi, te, TSE_KEYMAP_ITEM, a);
+
+ ten->directdata= kmi;
+
+ if(kmi->propvalue) {
+ ten->name= "Modal map, not yet";
+ }
+ else {
+ WM_operator_py_idname(opname, ot->idname);
+ ten->name= BLI_strdup(opname);
+ ten->flag |= TE_FREE_NAME;
+ }
+ }
+ }
+ }
+ }
+ else
+ te->flag |= TE_LAZY_CLOSED;
+ }
+
+ return te;
+}
+
+/* ======================================================= */
+/* Sequencer mode tree building */
+
+/* Helped function to put duplicate sequence in the same tree. */
+static int need_add_seq_dup(Sequence *seq)
+{
+ Sequence *p;
+
+ if((!seq->strip) || (!seq->strip->stripdata) || (!seq->strip->stripdata->name))
+ return(1);
+
+ /*
+ * First check backward, if we found a duplicate
+ * sequence before this, don't need it, just return.
+ */
+ p= seq->prev;
+ while(p) {
+ if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+ p= p->prev;
+ continue;
+ }
+
+ if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+ return(2);
+ p= p->prev;
+ }
+
+ p= seq->next;
+ while(p) {
+ if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+ p= p->next;
+ continue;
+ }
+
+ if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+ return(0);
+ p= p->next;
+ }
+ return(1);
+}
+
+static void outliner_add_seq_dup(SpaceOops *soops, Sequence *seq, TreeElement *te, short index)
+{
+ TreeElement *ch;
+ Sequence *p;
+
+ p= seq;
+ while(p) {
+ if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+ p= p->next;
+ continue;
+ }
+
+ if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+ ch= outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
+ p= p->next;
+ }
+}
+
+/* ======================================================= */
+/* Generic Tree Building helpers - order these are called is top to bottom */
+
+/* Hierarchy --------------------------------------------- */
+
+/* make sure elements are correctly nested */
+static void outliner_make_hierarchy(SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te, *ten, *tep;
+ TreeStoreElem *tselem;
+
+ /* build hierarchy */
+ // XXX also, set extents here...
+ te= lb->first;
+ while(te) {
+ ten= te->next;
+ tselem= TREESTORE(te);
+
+ if(tselem->type==0 && te->idcode==ID_OB) {
+ Object *ob= (Object *)tselem->id;
+ if(ob->parent && ob->parent->id.newid) {
+ BLI_remlink(lb, te);
+ tep= (TreeElement *)ob->parent->id.newid;
+ BLI_addtail(&tep->subtree, te);
+ // set correct parent pointers
+ for(te=tep->subtree.first; te; te= te->next) te->parent= tep;
+ }
+ }
+ te= ten;
+ }
+}
+
+/* Sorting ------------------------------------------------------ */
+
+typedef struct tTreeSort {
+ TreeElement *te;
+ ID *id;
+ const char *name;
+ short idcode;
+} tTreeSort;
+
+/* alphabetical comparator */
+static int treesort_alpha(const void *v1, const void *v2)
+{
+ const tTreeSort *x1= v1, *x2= v2;
+ int comp;
+
+ /* first put objects last (hierarchy) */
+ comp= (x1->idcode==ID_OB);
+ if(x2->idcode==ID_OB) comp+=2;
+
+ if(comp==1) return 1;
+ else if(comp==2) return -1;
+ else if(comp==3) {
+ comp= strcmp(x1->name, x2->name);
+
+ if( comp>0 ) return 1;
+ else if( comp<0) return -1;
+ return 0;
+ }
+ return 0;
+}
+
+/* this is nice option for later? doesnt look too useful... */
+#if 0
+static int treesort_obtype_alpha(const void *v1, const void *v2)
+{
+ const tTreeSort *x1= v1, *x2= v2;
+
+ /* first put objects last (hierarchy) */
+ if(x1->idcode==ID_OB && x2->idcode!=ID_OB) return 1;
+ else if(x2->idcode==ID_OB && x1->idcode!=ID_OB) return -1;
+ else {
+ /* 2nd we check ob type */
+ if(x1->idcode==ID_OB && x2->idcode==ID_OB) {
+ if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return 1;
+ else if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return -1;
+ else return 0;
+ }
+ else {
+ int comp= strcmp(x1->name, x2->name);
+
+ if( comp>0 ) return 1;
+ else if( comp<0) return -1;
+ return 0;
+ }
+ }
+}
+#endif
+
+/* sort happens on each subtree individual */
+static void outliner_sort(SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int totelem=0;
+
+ te= lb->last;
+ if(te==NULL) return;
+ tselem= TREESTORE(te);
+
+ /* sorting rules; only object lists or deformgroups */
+ if( (tselem->type==TSE_DEFGROUP) || (tselem->type==0 && te->idcode==ID_OB)) {
+
+ /* count first */
+ for(te= lb->first; te; te= te->next) totelem++;
+
+ if(totelem>1) {
+ tTreeSort *tear= MEM_mallocN(totelem*sizeof(tTreeSort), "tree sort array");
+ tTreeSort *tp=tear;
+ int skip= 0;
+
+ for(te= lb->first; te; te= te->next, tp++) {
+ tselem= TREESTORE(te);
+ tp->te= te;
+ tp->name= te->name;
+ tp->idcode= te->idcode;
+ if(tselem->type && tselem->type!=TSE_DEFGROUP) tp->idcode= 0; // dont sort this
+ tp->id= tselem->id;
+ }
+ /* keep beginning of list */
+ for(tp= tear, skip=0; skip<totelem; skip++, tp++)
+ if(tp->idcode) break;
+
+ if(skip<totelem)
+ qsort(tear+skip, totelem-skip, sizeof(tTreeSort), treesort_alpha);
+
+ lb->first=lb->last= NULL;
+ tp= tear;
+ while(totelem--) {
+ BLI_addtail(lb, tp->te);
+ tp++;
+ }
+ MEM_freeN(tear);
+ }
+ }
+
+ for(te= lb->first; te; te= te->next) {
+ outliner_sort(soops, &te->subtree);
+ }
+}
+
+/* Filtering ----------------------------------------------- */
+
+static int outliner_filter_has_name(TreeElement *te, const char *name, int flags)
+{
+#if 0
+ int found= 0;
+
+ /* determine if match */
+ if (flags & SO_FIND_CASE_SENSITIVE) {
+ if (flags & SO_FIND_COMPLETE)
+ found= strcmp(te->name, name) == 0;
+ else
+ found= strstr(te->name, name) != NULL;
+ }
+ else {
+ if (flags & SO_FIND_COMPLETE)
+ found= BLI_strcasecmp(te->name, name) == 0;
+ else
+ found= BLI_strcasestr(te->name, name) != NULL;
+ }
+#else
+
+ int fn_flag= 0;
+ int found= 0;
+
+ if ((flags & SO_FIND_CASE_SENSITIVE) == 0)
+ fn_flag |= FNM_CASEFOLD;
+
+ if (flags & SO_FIND_COMPLETE) {
+ found= fnmatch(name, te->name, fn_flag)==0;
+ }
+ else {
+ char fn_name[sizeof(((struct SpaceOops *)NULL)->search_string) + 2];
+ sprintf(fn_name, "*%s*", name);
+ found= fnmatch(fn_name, te->name, fn_flag)==0;
+ }
+ return found;
+#endif
+}
+
+static int outliner_filter_tree(SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te, *ten;
+ TreeStoreElem *tselem;
+
+ /* although we don't have any search string, we return TRUE
+ * since the entire tree is ok then...
+ */
+ if (soops->search_string[0]==0)
+ return 1;
+
+ for (te= lb->first; te; te= ten) {
+ ten= te->next;
+
+ if (0==outliner_filter_has_name(te, soops->search_string, soops->search_flags)) {
+ /* item isn't something we're looking for, but...
+ * - if the subtree is expanded, check if there are any matches that can be easily found
+ * so that searching for "cu" in the default scene will still match the Cube
+ * - otherwise, we can't see within the subtree and the item doesn't match,
+ * so these can be safely ignored (i.e. the subtree can get freed)
+ */
+ tselem= TREESTORE(te);
+
+ if ((tselem->flag & TSE_CLOSED) || outliner_filter_tree(soops, &te->subtree)==0) {
+ outliner_free_tree(&te->subtree);
+ BLI_remlink(lb, te);
+
+ if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
+ MEM_freeN(te);
+ }
+ }
+ else {
+ /* filter subtree too */
+ outliner_filter_tree(soops, &te->subtree);
+ }
+ }
+
+ /* if there are still items in the list, that means that there were still some matches */
+ return (lb->first != NULL);
+}
+
+/* ======================================================= */
+/* Main Tree Building API */
+
+/* Main entry point for building the tree data-structure that the outliner represents */
+// TODO: split each mode into its own function?
+void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops)
+{
+ Base *base;
+ Object *ob;
+ TreeElement *te=NULL, *ten;
+ TreeStoreElem *tselem;
+ int show_opened= (soops->treestore==NULL); /* on first view, we open scenes */
+
+ if(soops->tree.first && (soops->storeflag & SO_TREESTORE_REDRAW))
+ return;
+
+ outliner_free_tree(&soops->tree);
+ outliner_storage_cleanup(soops);
+
+ /* clear ob id.new flags */
+ for(ob= mainvar->object.first; ob; ob= ob->id.next) ob->id.newid= NULL;
+
+ /* options */
+ if(soops->outlinevis == SO_LIBRARIES) {
+ Library *lib;
+
+ for(lib= mainvar->library.first; lib; lib= lib->id.next) {
+ ten= outliner_add_element(soops, &soops->tree, lib, NULL, 0, 0);
+ lib->id.newid= (ID *)ten;
+ }
+ /* make hierarchy */
+ ten= soops->tree.first;
+ while(ten) {
+ TreeElement *nten= ten->next, *par;
+ tselem= TREESTORE(ten);
+ lib= (Library *)tselem->id;
+ if(lib->parent) {
+ BLI_remlink(&soops->tree, ten);
+ par= (TreeElement *)lib->parent->id.newid;
+ BLI_addtail(&par->subtree, ten);
+ ten->parent= par;
+ }
+ ten= nten;
+ }
+ /* restore newid pointers */
+ for(lib= mainvar->library.first; lib; lib= lib->id.next)
+ lib->id.newid= NULL;
+
+ }
+ else if(soops->outlinevis == SO_ALL_SCENES) {
+ Scene *sce;
+ for(sce= mainvar->scene.first; sce; sce= sce->id.next) {
+ te= outliner_add_element(soops, &soops->tree, sce, NULL, 0, 0);
+ tselem= TREESTORE(te);
+ if(sce==scene && show_opened)
+ tselem->flag &= ~TSE_CLOSED;
+
+ for(base= sce->base.first; base; base= base->next) {
+ ten= outliner_add_element(soops, &te->subtree, base->object, te, 0, 0);
+ ten->directdata= base;
+ }
+ outliner_make_hierarchy(soops, &te->subtree);
+ /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
+ for(base= sce->base.first; base; base= base->next) base->object->id.newid= NULL;
+ }
+ }
+ else if(soops->outlinevis == SO_CUR_SCENE) {
+
+ outliner_add_scene_contents(soops, &soops->tree, scene, NULL);
+
+ for(base= scene->base.first; base; base= base->next) {
+ ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+ ten->directdata= base;
+ }
+ outliner_make_hierarchy(soops, &soops->tree);
+ }
+ else if(soops->outlinevis == SO_VISIBLE) {
+ for(base= scene->base.first; base; base= base->next) {
+ if(base->lay & scene->lay)
+ outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+ }
+ outliner_make_hierarchy(soops, &soops->tree);
+ }
+ else if(soops->outlinevis == SO_GROUPS) {
+ Group *group;
+ GroupObject *go;
+
+ for(group= mainvar->group.first; group; group= group->id.next) {
+ if(group->gobject.first) {
+ te= outliner_add_element(soops, &soops->tree, group, NULL, 0, 0);
+
+ for(go= group->gobject.first; go; go= go->next) {
+ ten= outliner_add_element(soops, &te->subtree, go->ob, te, 0, 0);
+ ten->directdata= NULL; /* eh, why? */
+ }
+ outliner_make_hierarchy(soops, &te->subtree);
+ /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
+ for(go= group->gobject.first; go; go= go->next) go->ob->id.newid= NULL;
+ }
+ }
+ }
+ else if(soops->outlinevis == SO_SAME_TYPE) {
+ Object *ob= OBACT;
+ if(ob) {
+ for(base= scene->base.first; base; base= base->next) {
+ if(base->object->type==ob->type) {
+ ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+ ten->directdata= base;
+ }
+ }
+ outliner_make_hierarchy(soops, &soops->tree);
+ }
+ }
+ else if(soops->outlinevis == SO_SELECTED) {
+ for(base= scene->base.first; base; base= base->next) {
+ if(base->lay & scene->lay) {
+ if(base==BASACT || (base->flag & SELECT)) {
+ ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+ ten->directdata= base;
+ }
+ }
+ }
+ outliner_make_hierarchy(soops, &soops->tree);
+ }
+ else if(soops->outlinevis==SO_SEQUENCE) {
+ Sequence *seq;
+ Editing *ed= seq_give_editing(scene, FALSE);
+ int op;
+
+ if(ed==NULL)
+ return;
+
+ seq= ed->seqbasep->first;
+ if(!seq)
+ return;
+
+ while(seq) {
+ op= need_add_seq_dup(seq);
+ if(op==1)
+ ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE, 0);
+ else if(op==0) {
+ ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE_DUP, 0);
+ outliner_add_seq_dup(soops, seq, ten, 0);
+ }
+ seq= seq->next;
+ }
+ }
+ else if(soops->outlinevis==SO_DATABLOCKS) {
+ PointerRNA mainptr;
+
+ RNA_main_pointer_create(mainvar, &mainptr);
+
+ ten= outliner_add_element(soops, &soops->tree, (void*)&mainptr, NULL, TSE_RNA_STRUCT, -1);
+
+ if(show_opened) {
+ tselem= TREESTORE(ten);
+ tselem->flag &= ~TSE_CLOSED;
+ }
+ }
+ else if(soops->outlinevis==SO_USERDEF) {
+ PointerRNA userdefptr;
+
+ RNA_pointer_create(NULL, &RNA_UserPreferences, &U, &userdefptr);
+
+ ten= outliner_add_element(soops, &soops->tree, (void*)&userdefptr, NULL, TSE_RNA_STRUCT, -1);
+
+ if(show_opened) {
+ tselem= TREESTORE(ten);
+ tselem->flag &= ~TSE_CLOSED;
+ }
+ }
+ else if(soops->outlinevis==SO_KEYMAP) {
+ wmWindowManager *wm= mainvar->wm.first;
+ wmKeyMap *km;
+
+ for(km= wm->defaultconf->keymaps.first; km; km= km->next) {
+ ten= outliner_add_element(soops, &soops->tree, (void*)km, NULL, TSE_KEYMAP, 0);
+ }
+ }
+ else {
+ ten= outliner_add_element(soops, &soops->tree, OBACT, NULL, 0, 0);
+ if(ten) ten->directdata= BASACT;
+ }
+
+ outliner_sort(soops, &soops->tree);
+ outliner_filter_tree(soops, &soops->tree);
+}
+
+
diff --git a/source/blender/editors/space_outliner/space_outliner.c b/source/blender/editors/space_outliner/space_outliner.c
index 13b186b174b..49d8b6b5da4 100644
--- a/source/blender/editors/space_outliner/space_outliner.c
+++ b/source/blender/editors/space_outliner/space_outliner.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -179,6 +177,13 @@ static void outliner_main_area_listener(ARegion *ar, wmNotifier *wmn)
break;
}
break;
+ case NC_ANIMATION:
+ switch(wmn->data) {
+ case ND_NLA_ACTCHANGE:
+ ED_region_tag_redraw(ar);
+ break;
+ }
+ break;
}
}
diff --git a/source/blender/editors/space_script/CMakeLists.txt b/source/blender/editors/space_script/CMakeLists.txt
index 1aed177eed1..9d3bd4a67aa 100644
--- a/source/blender/editors/space_script/CMakeLists.txt
+++ b/source/blender/editors/space_script/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
@@ -44,8 +44,12 @@ set(SRC
)
if(WITH_PYTHON)
- list(APPEND INC ../../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
endif()
diff --git a/source/blender/editors/space_sequencer/CMakeLists.txt b/source/blender/editors/space_sequencer/CMakeLists.txt
index d5f36719471..9ce5f8e5279 100644
--- a/source/blender/editors/space_sequencer/CMakeLists.txt
+++ b/source/blender/editors/space_sequencer/CMakeLists.txt
@@ -22,14 +22,13 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
)
set(INC_SYS
@@ -49,4 +48,11 @@ set(SRC
sequencer_intern.h
)
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
blender_add_lib(bf_editor_space_sequencer "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/editors/space_sequencer/SConscript b/source/blender/editors/space_sequencer/SConscript
index 65bbf900556..3430c10b766 100644
--- a/source/blender/editors/space_sequencer/SConscript
+++ b/source/blender/editors/space_sequencer/SConscript
@@ -8,4 +8,7 @@ incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
incs += ' ../../makesrna ../../blenloader'
incs += ' #/intern/audaspace/intern'
+if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
+ incs += ' ' + env['BF_PTHREADS_INC']
+
env.BlenderLib ( 'bf_editors_space_sequencer', sources, Split(incs), [], libtype=['core'], priority=[100] )
diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c
index 6d50913dfd4..2fe16b3a85d 100644
--- a/source/blender/editors/space_sequencer/sequencer_add.c
+++ b/source/blender/editors/space_sequencer/sequencer_add.c
@@ -70,7 +70,10 @@
#include "UI_view2d.h"
#include "BKE_sound.h"
-#include "AUD_C-API.h"
+
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
/* own include */
#include "sequencer_intern.h"
@@ -80,8 +83,8 @@
/* avoid passing multiple args and be more verbose */
#define SEQPROP_STARTFRAME (1<<0)
#define SEQPROP_ENDFRAME (1<<1)
-#define SEQPROP_FILES (1<<2)
-#define SEQPROP_NOPATHS (1<<3)
+#define SEQPROP_NOPATHS (1<<2)
+#define SEQPROP_NOCHAN (1<<3)
#define SELECT 1
@@ -97,8 +100,7 @@ static void sequencer_generic_props__internal(wmOperatorType *ot, int flag)
RNA_def_boolean(ot->srna, "replace_sel", 1, "Replace Selection", "replace the current selection");
- if(flag & SEQPROP_FILES)
- RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
+ RNA_def_boolean(ot->srna, "overlap", 0, "Allow Overlap", "Don't correct overlap on new sequence strips");
}
static void sequencer_generic_invoke_path__internal(bContext *C, wmOperator *op, const char *identifier)
@@ -122,8 +124,12 @@ static void sequencer_generic_invoke_xy__internal(bContext *C, wmOperator *op, w
float mval_v2d[2];
UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &mval_v2d[0], &mval_v2d[1]);
-
- RNA_int_set(op->ptr, "channel", (int)mval_v2d[1]+0.5f);
+
+ /* effect strips dont need a channel initialized from the mouse */
+ if(!(flag & SEQPROP_NOCHAN)) {
+ RNA_int_set(op->ptr, "channel", (int)mval_v2d[1]+0.5f);
+ }
+
RNA_int_set(op->ptr, "frame_start", (int)mval_v2d[0]);
if ((flag & SEQPROP_ENDFRAME) && RNA_property_is_set(op->ptr, "frame_end")==0)
@@ -242,7 +248,11 @@ static int sequencer_add_scene_strip_exec(bContext *C, wmOperator *op)
seq_active_set(scene, seq);
seq->flag |= SELECT;
}
-
+
+ if(RNA_boolean_get(op->ptr, "overlap") == FALSE) {
+ if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ }
+
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
return OPERATOR_FINISHED;
@@ -297,6 +307,7 @@ static int sequencer_add_generic_strip_exec(bContext *C, wmOperator *op, SeqLoad
SeqLoadInfo seq_load;
Sequence *seq;
int tot_files;
+ const short overlap= RNA_boolean_get(op->ptr, "overlap");
seq_load_operator_info(&seq_load, op);
@@ -317,12 +328,20 @@ static int sequencer_add_generic_strip_exec(bContext *C, wmOperator *op, SeqLoad
BLI_join_dirfile(seq_load.path, sizeof(seq_load.path), dir_only, file_only);
seq= seq_load_func(C, ed->seqbasep, &seq_load);
+
+ if(overlap == FALSE) {
+ if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ }
}
RNA_END;
}
else {
/* single file */
seq= seq_load_func(C, ed->seqbasep, &seq_load);
+
+ if(overlap == FALSE) {
+ if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ }
}
if (seq_load.tot_success==0) {
@@ -331,7 +350,7 @@ static int sequencer_add_generic_strip_exec(bContext *C, wmOperator *op, SeqLoad
}
sort_seq(scene);
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
@@ -388,8 +407,8 @@ void SEQUENCER_OT_movie_strip_add(struct wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
- WM_operator_properties_filesel(ot, FOLDERFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
- sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_FILES);
+ WM_operator_properties_filesel(ot, FOLDERFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH|WM_FILESEL_FILES);
+ sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME);
RNA_def_boolean(ot->srna, "sound", TRUE, "Sound", "Load sound with the movie");
}
@@ -443,8 +462,8 @@ void SEQUENCER_OT_sound_strip_add(struct wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
- WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
- sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_FILES);
+ WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH|WM_FILESEL_FILES);
+ sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME);
RNA_def_boolean(ot->srna, "cache", FALSE, "Cache", "Cache the sound in memory.");
}
@@ -498,7 +517,11 @@ static int sequencer_add_image_strip_exec(bContext *C, wmOperator *op)
/* last active name */
strncpy(ed->act_imagedir, strip->dir, FILE_MAXDIR-1);
-
+
+ if(RNA_boolean_get(op->ptr, "overlap") == FALSE) {
+ if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ }
+
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
return OPERATOR_FINISHED;
@@ -546,8 +569,8 @@ void SEQUENCER_OT_image_strip_add(struct wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
- WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH);
- sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_ENDFRAME|SEQPROP_FILES);
+ WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH|WM_FILESEL_FILES);
+ sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_ENDFRAME);
}
@@ -636,17 +659,21 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op)
seq->blend_mode= SEQ_CROSS;
}
- // XXX, this conflicts with giving a channel with invoke, perhaps we should have an active channel
- // but for now this is much more usable
- if(seq->seq1 || seq->seq2 || seq->seq3) {
- int chan= MAX3( seq->seq1 ? seq->seq1->machine : 0,
- seq->seq2 ? seq->seq2->machine : 0,
- seq->seq3 ? seq->seq3->machine : 0);
- if(chan < MAXSEQ)
- seq->machine= chan;
+ /* an unset channel is a special case where we automatically go above
+ * the other strips. */
+ if(!RNA_property_is_set(op->ptr, "channel")) {
+ if(seq->seq1) {
+ int chan= MAX3( seq->seq1 ? seq->seq1->machine : 0,
+ seq->seq2 ? seq->seq2->machine : 0,
+ seq->seq3 ? seq->seq3->machine : 0);
+ if(chan < MAXSEQ)
+ seq->machine= chan;
+ }
}
- if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ if(RNA_boolean_get(op->ptr, "overlap") == FALSE) {
+ if(seq_test_overlap(ed->seqbasep, seq)) shuffle_seq(ed->seqbasep, seq, scene);
+ }
update_changed_seq_and_deps(scene, seq, 1, 1); /* runs calc_sequence */
@@ -670,14 +697,30 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op)
/* add color */
static int sequencer_add_effect_strip_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
+ short is_type_set= RNA_property_is_set(op->ptr, "type");
+ int type= -1;
+ int prop_flag= SEQPROP_ENDFRAME;
+
if(!ED_operator_sequencer_active(C)) {
BKE_report(op->reports, RPT_ERROR, "Sequencer area not active");
return OPERATOR_CANCELLED;
}
- sequencer_generic_invoke_xy__internal(C, op, event, SEQPROP_ENDFRAME);
+ if(is_type_set) {
+ type= RNA_enum_get(op->ptr, "type");
+
+ /* when invoking an effect strip which uses inputs,
+ * skip initialzing the channel from the mouse.
+ * Instead leave the property unset so exec() initializes it to be
+ * above the strips its applied to. */
+ if(get_sequence_effect_num_inputs(type) != 0) {
+ prop_flag |= SEQPROP_NOCHAN;
+ }
+ }
+
+ sequencer_generic_invoke_xy__internal(C, op, event, prop_flag);
- if (RNA_property_is_set(op->ptr, "type") && RNA_enum_get(op->ptr, "type")==SEQ_PLUGIN) {
+ if (is_type_set && type==SEQ_PLUGIN) {
if(!RNA_property_is_set(op->ptr, "relative_path"))
RNA_boolean_set(op->ptr, "relative_path", U.flag & USER_RELPATHS);
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c
index 119c5da309e..299fe9df460 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -172,30 +172,63 @@ static void drawseqwave(Scene *scene, Sequence *seq, float x1, float y1, float x
x2 the end x value, same for y1 and y2
stepsize is width of a pixel.
*/
- if(seq->sound->cache)
+ if(seq->flag & SEQ_AUDIO_DRAW_WAVEFORM)
{
- int i;
+ int i, j, pos;
int length = floor((x2-x1)/stepsize)+1;
float ymid = (y1+y2)/2;
float yscale = (y2-y1)/2;
- float* samples = MEM_mallocN(length * sizeof(float) * 2, "seqwave_samples");
- if(!samples)
- return;
- if(sound_read_sound_buffer(seq->sound, samples, length,
- (seq->startofs + seq->anim_startofs)/FPS,
- (seq->startofs + seq->anim_startofs + seq->enddisp - seq->startdisp)/FPS) != length)
+ float samplestep;
+ float startsample, endsample;
+ float value;
+
+ SoundWaveform* waveform;
+
+ if(!seq->sound->waveform)
+ sound_read_waveform(seq->sound);
+
+ waveform = seq->sound->waveform;
+
+ startsample = floor((seq->startofs + seq->anim_startofs)/FPS * SOUND_WAVE_SAMPLES_PER_SECOND);
+ endsample = ceil((seq->startofs + seq->anim_startofs + seq->enddisp - seq->startdisp)/FPS * SOUND_WAVE_SAMPLES_PER_SECOND);
+ samplestep = (endsample-startsample) * stepsize / (x2-x1);
+
+ if(length > floor((waveform->length - startsample) / samplestep))
+ length = floor((waveform->length - startsample) / samplestep);
+
+ glBegin(GL_LINE_STRIP);
+ for(i = 0; i < length; i++)
{
- MEM_freeN(samples);
- return;
+ pos = startsample + i * samplestep;
+
+ value = waveform->data[pos * 3];
+
+ for(j = pos+1; (j < waveform->length) && (j < pos + samplestep); j++)
+ {
+ if(value > waveform->data[j * 3])
+ value = waveform->data[j * 3];
+ }
+
+ glVertex2f(x1+i*stepsize, ymid + value * yscale);
}
- glBegin(GL_LINES);
+ glEnd();
+
+ glBegin(GL_LINE_STRIP);
for(i = 0; i < length; i++)
{
- glVertex2f(x1+i*stepsize, ymid + samples[i * 2] * yscale);
- glVertex2f(x1+i*stepsize, ymid + samples[i * 2 + 1] * yscale);
+ pos = startsample + i * samplestep;
+
+ value = waveform->data[pos * 3 + 1];
+
+ for(j = pos+1; (j < waveform->length) && (j < pos + samplestep); j++)
+ {
+ if(value < waveform->data[j * 3 + 1])
+ value = waveform->data[j * 3 + 1];
+ }
+
+ glVertex2f(x1+i*stepsize, ymid + value * yscale);
}
glEnd();
- MEM_freeN(samples);
}
}
@@ -639,14 +672,35 @@ static void draw_seq_strip(Scene *scene, ARegion *ar, Sequence *seq, int outline
/* draw sound wave */
if(seq->type == SEQ_SOUND) drawseqwave(scene, seq, x1, y1, x2, y2, (ar->v2d.cur.xmax - ar->v2d.cur.xmin)/ar->winx);
+ /* draw lock */
+ if(seq->flag & SEQ_LOCK) {
+ glEnable(GL_POLYGON_STIPPLE);
+ glEnable(GL_BLEND);
+
+ /* light stripes */
+ glColor4ub(255, 255, 255, 32);
+ glPolygonStipple(stipple_diag_stripes_pos);
+ glRectf(x1, y1, x2, y2);
+
+ /* dark stripes */
+ glColor4ub(0, 0, 0, 32);
+ glPolygonStipple(stipple_diag_stripes_neg);
+ glRectf(x1, y1, x2, y2);
+
+ glDisable(GL_POLYGON_STIPPLE);
+ glDisable(GL_BLEND);
+ }
+
get_seq_color3ubv(scene, seq, col);
if (G.moving && (seq->flag & SELECT)) {
if(seq->flag & SEQ_OVERLAP) {
col[0]= 255; col[1]= col[2]= 40;
- } else UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, 120);
+ }
+ else
+ UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, 120+outline_tint);
}
-
- UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, outline_tint);
+ else
+ UI_GetColorPtrBlendShade3ubv(col, col, col, 0.0, outline_tint);
glColor3ubv((GLubyte *)col);
@@ -679,9 +733,9 @@ static void draw_seq_strip(Scene *scene, ARegion *ar, Sequence *seq, int outline
}
}
-static Sequence *special_seq_update= 0;
+static Sequence *special_seq_update= NULL;
-static void set_special_seq_update(int val)
+static void UNUSED_FUNCTION(set_special_seq_update)(int val)
{
// int x;
@@ -689,14 +743,14 @@ static void set_special_seq_update(int val)
if(val) {
// XXX special_seq_update= find_nearest_seq(&x);
}
- else special_seq_update= 0;
+ else special_seq_update= NULL;
}
void draw_image_seq(const bContext* C, Scene *scene, ARegion *ar, SpaceSeq *sseq, int cfra, int frame_ofs)
{
struct Main *bmain= CTX_data_main(C);
- struct ImBuf *ibuf = 0;
- struct ImBuf *scope = 0;
+ struct ImBuf *ibuf= NULL;
+ struct ImBuf *scope= NULL;
struct View2D *v2d = &ar->v2d;
int rectx, recty;
float viewrectx, viewrecty;
@@ -969,7 +1023,7 @@ static void draw_seq_strips(const bContext *C, Editing *ed, ARegion *ar)
/* loop through strips, checking for those that are visible */
for (seq= ed->seqbasep->first; seq; seq= seq->next) {
/* boundbox and selection tests for NOT drawing the strip... */
- if ((seq->flag & SELECT) == sel) continue;
+ if ((seq->flag & SELECT) != sel) continue;
else if (seq == last_seq) continue;
else if (MIN2(seq->startdisp, seq->start) > v2d->cur.xmax) continue;
else if (MAX2(seq->enddisp, seq->start+seq->len) < v2d->cur.xmin) continue;
@@ -1021,8 +1075,8 @@ void draw_timeline_seq(const bContext *C, ARegion *ar)
SpaceSeq *sseq= CTX_wm_space_seq(C);
View2D *v2d= &ar->v2d;
View2DScrollers *scrollers;
+ short unit=0, flag=0;
float col[3];
- int flag=0;
/* clear and setup matrix */
UI_GetThemeColor3fv(TH_BACK, col);
@@ -1044,9 +1098,10 @@ void draw_timeline_seq(const bContext *C, ARegion *ar)
/* draw backdrop */
draw_seq_backdrop(v2d);
- /* regular grid-pattern over the rest of the view (i.e. frame grid lines) */
+ /* regular grid-pattern over the rest of the view (i.e. 25-frame grid lines) */
+ // NOTE: the gridlines are currently spaced every 25 frames, which is only fine for 25 fps, but maybe not for 30...
UI_view2d_constant_grid_draw(v2d);
-
+
seq_draw_sfra_efra(scene, v2d);
/* sequence strips (if there is data available to be drawn) */
@@ -1089,7 +1144,8 @@ void draw_timeline_seq(const bContext *C, ARegion *ar)
UI_view2d_view_restore(C);
/* scrollers */
- scrollers= UI_view2d_scrollers_calc(C, v2d, V2D_UNIT_SECONDSSEQ, V2D_GRID_CLAMP, V2D_UNIT_VALUES, V2D_GRID_CLAMP);
+ unit= (sseq->flag & SEQ_DRAWFRAMES)? V2D_UNIT_FRAMES : V2D_UNIT_SECONDSSEQ;
+ scrollers= UI_view2d_scrollers_calc(C, v2d, unit, V2D_GRID_CLAMP, V2D_UNIT_VALUES, V2D_GRID_CLAMP);
UI_view2d_scrollers_draw(C, v2d, scrollers);
UI_view2d_scrollers_free(scrollers);
}
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index 6900271deea..e7673651546 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -47,6 +47,7 @@
#include "BLI_math.h"
#include "BLI_storage_types.h"
#include "BLI_utildefines.h"
+#include "BLI_threads.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
@@ -75,10 +76,6 @@
/* own include */
#include "sequencer_intern.h"
-static void error(const char *UNUSED(dummy)) {}
-static void waitcursor(int UNUSED(val)) {}
-static void activate_fileselect(int UNUSED(d1), const char *UNUSED(d2), const char *UNUSED(d3), void *UNUSED(d4)) {}
-static int pupmenu(const char *UNUSED(dummy)) {return 0;}
static int okee(const char *UNUSED(dummy)) {return 0;}
@@ -124,10 +121,116 @@ typedef struct TransSeq {
int startstill, endstill;
int startdisp, enddisp;
int startofs, endofs;
- int final_left, final_right;
+ int anim_startofs, anim_endofs;
+ /* int final_left, final_right; */ /* UNUSED */
int len;
} TransSeq;
+/* ********************************************************************** */
+
+/* ***************** proxy job manager ********************** */
+
+typedef struct ProxyBuildJob {
+ Scene *scene;
+ struct Main * main;
+ ListBase queue;
+ ThreadMutex queue_lock;
+} ProxyJob;
+
+static void proxy_freejob(void *pjv)
+{
+ ProxyJob *pj= pjv;
+ Sequence * seq;
+
+ for (seq = pj->queue.first; seq; seq = seq->next) {
+ BLI_remlink(&pj->queue, seq);
+ seq_free_sequence_recurse(pj->scene, seq);
+ }
+
+ BLI_mutex_end(&pj->queue_lock);
+
+ MEM_freeN(pj);
+}
+
+/* only this runs inside thread */
+static void proxy_startjob(void *pjv, short *stop, short *do_update, float *progress)
+{
+ ProxyJob *pj = pjv;
+
+ while (!*stop) {
+ Sequence * seq;
+
+ BLI_mutex_lock(&pj->queue_lock);
+
+ if (!pj->queue.first) {
+ BLI_mutex_unlock(&pj->queue_lock);
+ break;
+ }
+
+ seq = pj->queue.first;
+
+ BLI_remlink(&pj->queue, seq);
+ BLI_mutex_unlock(&pj->queue_lock);
+
+ seq_proxy_rebuild(pj->main, pj->scene, seq,
+ stop, do_update, progress);
+ seq_free_sequence_recurse(pj->scene, seq);
+ }
+
+ if (*stop) {
+ fprintf(stderr,
+ "Canceling proxy rebuild on users request...\n");
+ }
+}
+
+static void proxy_endjob(void *UNUSED(customdata))
+{
+
+}
+
+void seq_proxy_build_job(const bContext *C, Sequence * seq)
+{
+ wmJob * steve;
+ ProxyJob *pj;
+ Scene *scene= CTX_data_scene(C);
+ ScrArea * sa= CTX_wm_area(C);
+
+ seq = seq_dupli_recursive(scene, scene, seq, 0);
+
+ steve = WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C),
+ sa, "Building Proxies", WM_JOB_PROGRESS);
+
+ pj = WM_jobs_get_customdata(steve);
+
+ if (!pj) {
+ pj = MEM_callocN(sizeof(ProxyJob), "proxy rebuild job");
+
+ pj->scene= scene;
+ pj->main = CTX_data_main(C);
+
+ BLI_mutex_init(&pj->queue_lock);
+
+ WM_jobs_customdata(steve, pj, proxy_freejob);
+ WM_jobs_timer(steve, 0.1, NC_SCENE|ND_SEQUENCER,
+ NC_SCENE|ND_SEQUENCER);
+ WM_jobs_callbacks(steve, proxy_startjob, NULL, NULL,
+ proxy_endjob);
+ }
+
+ BLI_mutex_lock(&pj->queue_lock);
+ BLI_addtail(&pj->queue, seq);
+ BLI_mutex_unlock(&pj->queue_lock);
+
+ if (!WM_jobs_is_running(steve)) {
+ G.afbreek = 0;
+ WM_jobs_start(CTX_wm_manager(C), steve);
+ }
+
+ ED_area_tag_redraw(CTX_wm_area(C));
+}
+
+/* ********************************************************************** */
+
void seq_rectf(Sequence *seq, rctf *rectf)
{
if(seq->startstill) rectf->xmin= seq->start;
@@ -138,7 +241,7 @@ void seq_rectf(Sequence *seq, rctf *rectf)
rectf->ymax= seq->machine+SEQ_STRIP_OFSTOP;
}
-static void change_plugin_seq(Scene *scene, char *str) /* called from fileselect */
+static void UNUSED_FUNCTION(change_plugin_seq)(Scene *scene, char *str) /* called from fileselect */
{
Editing *ed= seq_give_editing(scene, FALSE);
struct SeqEffectHandle sh;
@@ -391,205 +494,6 @@ void recurs_sel_seq(Sequence *seqm)
}
}
-int event_to_efftype(int event)
-{
- if(event==2) return SEQ_CROSS;
- if(event==3) return SEQ_GAMCROSS;
- if(event==4) return SEQ_ADD;
- if(event==5) return SEQ_SUB;
- if(event==6) return SEQ_MUL;
- if(event==7) return SEQ_ALPHAOVER;
- if(event==8) return SEQ_ALPHAUNDER;
- if(event==9) return SEQ_OVERDROP;
- if(event==10) return SEQ_PLUGIN;
- if(event==13) return SEQ_WIPE;
- if(event==14) return SEQ_GLOW;
- if(event==15) return SEQ_TRANSFORM;
- if(event==16) return SEQ_COLOR;
- if(event==17) return SEQ_SPEED;
- if(event==18) return SEQ_ADJUSTMENT;
- return 0;
-}
-
-#if 0
-static void reload_sound_strip(Scene *scene, char *name)
-{
- Editing *ed;
- Sequence *seq, *seqact;
- SpaceFile *sfile;
- Sequence *last_seq= seq_active_get(scene);
-
- ed= scene->ed;
-
- if(last_seq==0 || last_seq->type!=SEQ_SOUND) return;
- seqact= last_seq; /* last_seq changes in alloc_sequence */
-
- /* search sfile */
-// sfile= scrarea_find_space_of_type(curarea, SPACE_FILE);
- if(sfile==0) return;
-
- waitcursor(1);
-
- seq = sfile_to_snd_sequence(sfile, seqact->start, seqact->machine);
- printf("seq->type: %i\n", seq->type);
- if(seq && seq!=seqact) {
- /* i'm not sure about this one, seems to work without it -- sgefant */
- seq_free_strip(seqact->strip);
-
- seqact->strip= seq->strip;
-
- seqact->len= seq->len;
- calc_sequence(scene, seqact);
-
- seq->strip= 0;
- seq_free_sequence(scene, seq);
- BLI_remlink(ed->seqbasep, seq);
-
- seq= ed->seqbasep->first;
-
- }
-
- waitcursor(0);
-
-}
-#endif
-
-static void reload_image_strip(Scene *scene, char *UNUSED(name))
-{
- Editing *ed= seq_give_editing(scene, FALSE);
- Sequence *seq=NULL, *seqact;
- SpaceFile *sfile=NULL;
- Sequence *last_seq= seq_active_get(scene);
-
-
-
- if(last_seq==NULL || last_seq->type!=SEQ_IMAGE) return;
- seqact= last_seq; /* last_seq changes in alloc_sequence */
-
- /* search sfile */
-// sfile= scrarea_find_space_of_type(curarea, SPACE_FILE);
- if(sfile == NULL) return;
-
- waitcursor(1);
-
-// seq= sfile_to_sequence(scene, sfile, seqact->start, seqact->machine, 1); // XXX ADD BACK
- if(seq && seq!=seqact) {
- seq_free_strip(seqact->strip);
-
- seqact->strip= seq->strip;
-
- seqact->len= seq->len;
- calc_sequence(scene, seqact);
-
- seq->strip= NULL;
- seq_free_sequence(scene, seq);
- BLI_remlink(ed->seqbasep, seq);
-
- update_changed_seq_and_deps(scene, seqact, 1, 1);
- }
- waitcursor(0);
-
-}
-
-
-static void change_sequence(Scene *scene)
-{
- Editing *ed= seq_give_editing(scene, FALSE);
- Sequence *last_seq= seq_active_get(scene);
- Scene *sce;
- short event;
-
- if(last_seq == NULL) return;
-
- if(last_seq->type & SEQ_EFFECT) {
- event = pupmenu("Change Effect%t"
- "|Switch A <-> B %x1"
- "|Switch B <-> C %x10"
- "|Plugin%x11"
- "|Recalculate%x12"
- "|Cross%x2"
- "|Gamma Cross%x3"
- "|Add%x4"
- "|Sub%x5"
- "|Mul%x6"
- "|Alpha Over%x7"
- "|Alpha Under%x8"
- "|Alpha Over Drop%x9"
- "|Wipe%x13"
- "|Glow%x14"
- "|Transform%x15"
- "|Color Generator%x16"
- "|Speed Control%x17"
- "|Adjustment Layer%x18");
- if(event > 0) {
- if(event==1) {
- SWAP(Sequence *,last_seq->seq1,last_seq->seq2);
- }
- else if(event==10) {
- SWAP(Sequence *,last_seq->seq2,last_seq->seq3);
- }
- else if(event==11) {
- activate_fileselect(
- FILE_SPECIAL, "Select Plugin",
- U.plugseqdir, change_plugin_seq);
- }
- else if(event==12);
- /* recalculate: only new_stripdata */
- else {
- /* free previous effect and init new effect */
- struct SeqEffectHandle sh;
-
- if (get_sequence_effect_num_inputs(
- last_seq->type)
- < get_sequence_effect_num_inputs(
- event_to_efftype(event))) {
- error("New effect needs more "
- "input strips!");
- } else {
- sh = get_sequence_effect(last_seq);
- sh.free(last_seq);
-
- last_seq->type
- = event_to_efftype(event);
-
- sh = get_sequence_effect(last_seq);
- sh.init(last_seq);
- }
- }
-
- update_changed_seq_and_deps(scene, last_seq, 0, 1);
- }
- }
- else if(last_seq->type == SEQ_IMAGE) {
- if(okee("Change images")) {
- activate_fileselect(FILE_SPECIAL,
- "Select Images",
- ed->act_imagedir,
- reload_image_strip);
- }
- }
- else if(last_seq->type == SEQ_MOVIE) {
- ;
- }
- else if(last_seq->type == SEQ_SCENE) {
- event= pupmenu("Change Scene%t|Update Start and End");
-
- if(event==1) {
- sce= last_seq->scene;
-
- last_seq->len= sce->r.efra - sce->r.sfra + 1;
- last_seq->sfra= sce->r.sfra;
-
- /* bad code to change seq->len? update_changed_seq_and_deps() expects the strip->len to be OK */
- new_tstripdata(last_seq);
-
- update_changed_seq_and_deps(scene, last_seq, 1, 1);
-
- }
- }
-
-}
-
int seq_effect_find_selected(Scene *scene, Sequence *activeseq, int type, Sequence **selseq1, Sequence **selseq2, Sequence **selseq3, const char **error_str)
{
Editing *ed = seq_give_editing(scene, FALSE);
@@ -729,8 +633,10 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe)
ts.endstill= seq->endstill;
ts.startdisp= seq->startdisp;
ts.enddisp= seq->enddisp;
- ts.startofs= seq->anim_startofs;
- ts.endofs= seq->anim_endofs;
+ ts.startofs= seq->startofs;
+ ts.endofs= seq->endofs;
+ ts.anim_startofs= seq->anim_startofs;
+ ts.anim_endofs= seq->anim_endofs;
ts.len= seq->len;
/* First Strip! */
@@ -780,7 +686,7 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe)
if ((seqn->startstill) && (cutframe == seqn->start + 1)) {
seqn->start = ts.start;
seqn->startstill= ts.start- cutframe;
- seqn->anim_endofs = ts.endofs;
+ seqn->anim_endofs = ts.anim_endofs;
seqn->endstill = ts.endstill;
}
@@ -789,8 +695,9 @@ static Sequence *cut_seq_hard(Scene *scene, Sequence * seq, int cutframe)
seqn->start = cutframe;
seqn->startstill = 0;
seqn->startofs = 0;
+ seqn->endofs = ts.endofs;
seqn->anim_startofs += cutframe - ts.start;
- seqn->anim_endofs = ts.endofs;
+ seqn->anim_endofs = ts.anim_endofs;
seqn->endstill = ts.endstill;
}
@@ -825,6 +732,8 @@ static Sequence *cut_seq_soft(Scene *scene, Sequence * seq, int cutframe)
ts.enddisp= seq->enddisp;
ts.startofs= seq->startofs;
ts.endofs= seq->endofs;
+ ts.anim_startofs= seq->anim_startofs;
+ ts.anim_endofs= seq->anim_endofs;
ts.len= seq->len;
/* First Strip! */
@@ -955,7 +864,7 @@ static int insert_gap(Scene *scene, int gap, int cfra)
return done;
}
-static void touch_seq_files(Scene *scene)
+static void UNUSED_FUNCTION(touch_seq_files)(Scene *scene)
{
Sequence *seq;
Editing *ed= seq_give_editing(scene, FALSE);
@@ -967,7 +876,7 @@ static void touch_seq_files(Scene *scene)
if(okee("Touch and print selected movies")==0) return;
- waitcursor(1);
+ WM_cursor_wait(1);
SEQP_BEGIN(ed, seq) {
if(seq->flag & SELECT) {
@@ -982,7 +891,7 @@ static void touch_seq_files(Scene *scene)
}
SEQ_END
- waitcursor(0);
+ WM_cursor_wait(0);
}
/*
@@ -1010,7 +919,7 @@ static void set_filter_seq(Scene *scene)
}
*/
-static void seq_remap_paths(Scene *scene)
+static void UNUSED_FUNCTION(seq_remap_paths)(Scene *scene)
{
Sequence *seq, *last_seq = seq_active_get(scene);
Editing *ed= seq_give_editing(scene, FALSE);
@@ -1051,7 +960,7 @@ static void seq_remap_paths(Scene *scene)
}
-static void no_gaps(Scene *scene)
+static void UNUSED_FUNCTION(no_gaps)(Scene *scene)
{
Editing *ed= seq_give_editing(scene, FALSE);
int cfra, first= 0, done;
@@ -1097,6 +1006,19 @@ int sequencer_edit_poll(bContext *C)
return (seq_give_editing(CTX_data_scene(C), FALSE) != NULL);
}
+int sequencer_strip_poll(bContext *C)
+{
+ Editing *ed;
+ return (((ed= seq_give_editing(CTX_data_scene(C), FALSE)) != NULL) && (ed->act_seq != NULL));
+}
+
+int sequencer_strip_has_path_poll(bContext *C)
+{
+ Editing *ed;
+ Sequence *seq;
+ return (((ed= seq_give_editing(CTX_data_scene(C), FALSE)) != NULL) && ((seq= ed->act_seq) != NULL) && (SEQ_HAS_PATH(seq)));
+}
+
int sequencer_view_poll(bContext *C)
{
SpaceSeq *sseq= CTX_wm_space_seq(C);
@@ -1219,7 +1141,7 @@ static int sequencer_mute_exec(bContext *C, wmOperator *op)
}
}
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
return OPERATOR_FINISHED;
@@ -1266,7 +1188,7 @@ static int sequencer_unmute_exec(bContext *C, wmOperator *op)
}
}
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
return OPERATOR_FINISHED;
@@ -1386,7 +1308,7 @@ void SEQUENCER_OT_reload(struct wmOperatorType *ot)
ot->poll= sequencer_edit_poll;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER; /* no undo, the data changed is stored outside 'main' */
}
/* reload operator */
@@ -1412,9 +1334,6 @@ void SEQUENCER_OT_refresh_all(struct wmOperatorType *ot)
/* api callbacks */
ot->exec= sequencer_refresh_all_exec;
ot->poll= sequencer_edit_poll;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
static int sequencer_reassign_inputs_exec(bContext *C, wmOperator *op)
@@ -1749,6 +1668,58 @@ void SEQUENCER_OT_delete(wmOperatorType *ot)
}
+/* offset clear operator */
+static int sequencer_offset_clear_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene= CTX_data_scene(C);
+ Editing *ed= seq_give_editing(scene, FALSE);
+ Sequence *seq;
+
+ /* for effects, try to find a replacement input */
+ for(seq=ed->seqbasep->first; seq; seq=seq->next) {
+ if((seq->type & SEQ_EFFECT)==0 && (seq->flag & SELECT)) {
+ seq->startofs= seq->endofs= seq->startstill= seq->endstill= 0;
+ }
+ }
+
+ /* updates lengths etc */
+ seq= ed->seqbasep->first;
+ while(seq) {
+ calc_sequence(scene, seq);
+ seq= seq->next;
+ }
+
+ for(seq=ed->seqbasep->first; seq; seq=seq->next) {
+ if((seq->type & SEQ_EFFECT)==0 && (seq->flag & SELECT)) {
+ if(seq_test_overlap(ed->seqbasep, seq)) {
+ shuffle_seq(ed->seqbasep, seq, scene);
+ }
+ }
+ }
+
+ WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void SEQUENCER_OT_offset_clear(wmOperatorType *ot)
+{
+
+ /* identifiers */
+ ot->name= "Clear Strip Offset";
+ ot->idname= "SEQUENCER_OT_offset_clear";
+ ot->description="Clear strip offsets from the start and end frames";
+
+ /* api callbacks */
+ ot->exec= sequencer_offset_clear_exec;
+ ot->poll= sequencer_edit_poll;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+
/* separate_images operator */
static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
{
@@ -1778,19 +1749,21 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
/* new seq */
se = give_stripelem(seq, cfra);
- seq_new= alloc_sequence(ed->seqbasep, start_ofs, seq->machine);
+ seq_new= seq_dupli_recursive(scene, scene, seq, SEQ_DUPE_UNIQUE_NAME);
+ BLI_addtail(ed->seqbasep, seq_new);
+
+ seq_new->start= start_ofs;
seq_new->type= SEQ_IMAGE;
seq_new->len = 1;
seq_new->endstill = step-1;
/* new strip */
- seq_new->strip= strip_new= MEM_callocN(sizeof(Strip)*1, "strip");
+ strip_new= seq_new->strip;
strip_new->len= 1;
strip_new->us= 1;
- strncpy(strip_new->dir, seq->strip->dir, FILE_MAXDIR-1);
/* new stripdata */
- strip_new->stripdata= se_new= MEM_callocN(sizeof(StripElem)*1, "stripelem");
+ se_new= strip_new->stripdata;
BLI_strncpy(se_new->name, se->name, sizeof(se_new->name));
calc_sequence(scene, seq_new);
@@ -1802,8 +1775,6 @@ static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
}
/* XXX, COPY FCURVES */
- strncpy(seq_new->name+2, seq->name+2, sizeof(seq->name)-2);
- seqbase_unique_name_recursive(&scene->ed->seqbase, seq_new);
cfra++;
start_ofs += step;
@@ -1833,7 +1804,6 @@ void SEQUENCER_OT_images_separate(wmOperatorType *ot)
ot->description="On image sequences strips, it return a strip for each image";
/* api callbacks */
- ot->invoke= WM_operator_props_popup;
ot->exec= sequencer_separate_images_exec;
ot->poll= sequencer_edit_poll;
@@ -1892,7 +1862,7 @@ static int sequencer_meta_toggle_exec(bContext *C, wmOperator *UNUSED(op))
}
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
return OPERATOR_FINISHED;
@@ -1956,7 +1926,7 @@ static int sequencer_meta_make_exec(bContext *C, wmOperator *op)
if( seq_test_overlap(ed->seqbasep, seqm) ) shuffle_seq(ed->seqbasep, seqm, scene);
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
seqbase_unique_name_recursive(&scene->ed->seqbase, seqm);
@@ -2029,7 +1999,7 @@ static int sequencer_meta_separate_exec(bContext *C, wmOperator *UNUSED(op))
}
sort_seq(scene);
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
@@ -2204,7 +2174,7 @@ static int sequencer_view_toggle_exec(bContext *C, wmOperator *UNUSED(op))
sseq->view++;
if (sseq->view > SEQ_VIEW_SEQUENCE_PREVIEW) sseq->view = SEQ_VIEW_SEQUENCE;
- ED_sequencer_update_view(C, sseq->view);
+ ED_area_tag_refresh(CTX_wm_area(C));
return OPERATOR_FINISHED;
}
@@ -2658,7 +2628,7 @@ void SEQUENCER_OT_copy(wmOperatorType *ot)
ot->poll= sequencer_edit_poll;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER;
/* properties */
}
@@ -2825,3 +2795,261 @@ void SEQUENCER_OT_view_ghost_border(wmOperatorType *ot)
/* rna */
WM_operator_properties_gesture_border(ot, FALSE);
}
+
+/* rebuild_proxy operator */
+static int sequencer_rebuild_proxy_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene = CTX_data_scene(C);
+ Editing *ed = seq_give_editing(scene, FALSE);
+ Sequence * seq;
+
+ SEQP_BEGIN(ed, seq) {
+ if ((seq->flag & SELECT)) {
+ seq_proxy_build_job(C, seq);
+ }
+ }
+ SEQ_END
+
+ return OPERATOR_FINISHED;
+}
+
+void SEQUENCER_OT_rebuild_proxy(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Rebuild Proxy and Timecode Indices";
+ ot->idname= "SEQUENCER_OT_rebuild_proxy";
+ ot->description="Rebuild all selected proxies and timecode indeces using the job system";
+
+ /* api callbacks */
+ ot->exec= sequencer_rebuild_proxy_exec;
+ ot->poll= ED_operator_sequencer_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER;
+}
+
+/* change ops */
+
+static EnumPropertyItem prop_change_effect_input_types[] = {
+ {0, "A_B", 0, "A -> B", ""},
+ {1, "B_C", 0, "B -> C", ""},
+ {2, "A_C", 0, "A -> C", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int sequencer_change_effect_input_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ Editing *ed= seq_give_editing(scene, FALSE);
+ Sequence *seq= seq_active_get(scene);
+
+ Sequence **seq_1, **seq_2;
+
+ switch(RNA_enum_get(op->ptr, "swap")) {
+ case 0:
+ seq_1= &seq->seq1;
+ seq_2= &seq->seq2;
+ break;
+ case 1:
+ seq_1= &seq->seq2;
+ seq_2= &seq->seq3;
+ break;
+ default: /* 2 */
+ seq_1= &seq->seq1;
+ seq_2= &seq->seq3;
+ break;
+ }
+
+ if(*seq_1 == NULL || *seq_2 == NULL) {
+ BKE_report(op->reports, RPT_ERROR, "One of the effect inputs is unset, can't swap");
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ SWAP(Sequence *, *seq_1, *seq_2);
+ }
+
+ update_changed_seq_and_deps(scene, seq, 0, 1);
+
+ /* important else we dont get the imbuf cache flushed */
+ free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
+
+ WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+void SEQUENCER_OT_change_effect_input(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Change Effect Input";
+ ot->idname= "SEQUENCER_OT_change_effect_input";
+ ot->description="";
+
+ /* api callbacks */
+ ot->exec= sequencer_change_effect_input_exec;
+ ot->poll= sequencer_effect_poll;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ ot->prop= RNA_def_enum(ot->srna, "swap", prop_change_effect_input_types, 0, "Swap", "The effect inputs to swap");
+}
+
+static int sequencer_change_effect_type_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ Editing *ed= seq_give_editing(scene, FALSE);
+ Sequence *seq= seq_active_get(scene);
+ const int new_type= RNA_enum_get(op->ptr, "type");
+
+ /* free previous effect and init new effect */
+ struct SeqEffectHandle sh;
+
+ if ((seq->type & SEQ_EFFECT) == 0) {
+ return OPERATOR_CANCELLED;
+ }
+
+ /* can someone explain the logic behind only allowing to increse this,
+ * copied from 2.4x - campbell */
+ if (get_sequence_effect_num_inputs(seq->type) <
+ get_sequence_effect_num_inputs(new_type)
+ ) {
+ BKE_report(op->reports, RPT_ERROR, "New effect needs more input strips");
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ sh = get_sequence_effect(seq);
+ sh.free(seq);
+
+ seq->type= new_type;
+
+ sh = get_sequence_effect(seq);
+ sh.init(seq);
+ }
+
+ /* update */
+ update_changed_seq_and_deps(scene, seq, 0, 1);
+
+ /* important else we dont get the imbuf cache flushed */
+ free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
+
+ WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+void SEQUENCER_OT_change_effect_type(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Change Effect Type";
+ ot->idname= "SEQUENCER_OT_change_effect_type";
+ ot->description="";
+
+ /* api callbacks */
+ ot->exec= sequencer_change_effect_type_exec;
+ ot->poll= sequencer_effect_poll;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", sequencer_prop_effect_types, SEQ_CROSS, "Type", "Sequencer effect type");
+}
+
+static int sequencer_change_path_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ Editing *ed= seq_give_editing(scene, FALSE);
+ Sequence *seq= seq_active_get(scene);
+
+ if(seq->type == SEQ_IMAGE) {
+ char directory[FILE_MAX];
+ const int len= RNA_property_collection_length(op->ptr, RNA_struct_find_property(op->ptr, "files"));
+ StripElem *se;
+
+ if(len==0)
+ return OPERATOR_CANCELLED;
+
+ RNA_string_get(op->ptr, "directory", directory);
+ BLI_strncpy(seq->strip->dir, directory, sizeof(seq->strip->dir));
+
+ if(seq->strip->stripdata) {
+ MEM_freeN(seq->strip->stripdata);
+ }
+ seq->strip->stripdata= se= MEM_callocN(len*sizeof(StripElem), "stripelem");
+
+ RNA_BEGIN(op->ptr, itemptr, "files") {
+ char *filename= RNA_string_get_alloc(&itemptr, "name", NULL, 0);
+ BLI_strncpy(se->name, filename, sizeof(se->name));
+ MEM_freeN(filename);
+ se++;
+ }
+ RNA_END;
+
+ /* reset these else we wont see all the images */
+ seq->anim_startofs= seq->anim_endofs= 0;
+
+ /* correct start/end frames so we dont move
+ * important not to set seq->len= len; allow the function to handle it */
+ reload_sequence_new_file(scene, seq, TRUE);
+
+ calc_sequence(scene, seq);
+
+ /* important else we dont get the imbuf cache flushed */
+ free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
+ }
+ else {
+ /* lame, set rna filepath */
+ PointerRNA seq_ptr;
+ PropertyRNA *prop;
+ char filepath[FILE_MAX];
+
+ RNA_pointer_create(&scene->id, &RNA_Sequence, seq, &seq_ptr);
+
+ RNA_string_get(op->ptr, "filepath", filepath);
+ prop= RNA_struct_find_property(&seq_ptr, "filepath");
+ RNA_property_string_set(&seq_ptr, prop, filepath);
+ RNA_property_update(C, &seq_ptr, prop);
+ }
+
+ WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+static int sequencer_change_path_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
+{
+ Scene *scene= CTX_data_scene(C);
+ Sequence *seq= seq_active_get(scene);
+
+ RNA_string_set(op->ptr, "directory", seq->strip->dir);
+
+ /* set default display depending on seq type */
+ if(seq->type == SEQ_IMAGE) {
+ RNA_boolean_set(op->ptr, "filter_movie", 0);
+ }
+ else {
+ RNA_boolean_set(op->ptr, "filter_image", 0);
+ }
+
+ WM_event_add_fileselect(C, op);
+
+ return OPERATOR_RUNNING_MODAL;
+}
+
+void SEQUENCER_OT_change_path(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Change Data/Files";
+ ot->idname= "SEQUENCER_OT_change_path";
+ ot->description="";
+
+ /* api callbacks */
+ ot->exec= sequencer_change_path_exec;
+ ot->invoke= sequencer_change_path_invoke;
+ ot->poll= sequencer_strip_has_path_poll;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH|WM_FILESEL_FILEPATH|WM_FILESEL_FILES);
+}
diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h
index 209b39662aa..89e9a22c9a1 100644
--- a/source/blender/editors/space_sequencer/sequencer_intern.h
+++ b/source/blender/editors/space_sequencer/sequencer_intern.h
@@ -70,6 +70,8 @@ int seq_effect_find_selected(struct Scene *scene, struct Sequence *activeseq, in
/* operator helpers */
int sequencer_edit_poll(struct bContext *C);
+int sequencer_strip_poll(struct bContext *C);
+int sequencer_strip_has_path_poll(struct bContext *C);
int sequencer_view_poll(struct bContext *C);
/* externs */
@@ -91,6 +93,7 @@ void SEQUENCER_OT_reassign_inputs(struct wmOperatorType *ot);
void SEQUENCER_OT_swap_inputs(struct wmOperatorType *ot);
void SEQUENCER_OT_duplicate(struct wmOperatorType *ot);
void SEQUENCER_OT_delete(struct wmOperatorType *ot);
+void SEQUENCER_OT_offset_clear(struct wmOperatorType *ot);
void SEQUENCER_OT_images_separate(struct wmOperatorType *ot);
void SEQUENCER_OT_meta_toggle(struct wmOperatorType *ot);
void SEQUENCER_OT_meta_make(struct wmOperatorType *ot);
@@ -108,9 +111,15 @@ void SEQUENCER_OT_view_selected(struct wmOperatorType *ot);
void SEQUENCER_OT_view_zoom_ratio(struct wmOperatorType *ot);
void SEQUENCER_OT_view_ghost_border(struct wmOperatorType *ot);
+void SEQUENCER_OT_change_effect_input(struct wmOperatorType *ot);
+void SEQUENCER_OT_change_effect_type(struct wmOperatorType *ot);
+void SEQUENCER_OT_change_path(struct wmOperatorType *ot);
+
void SEQUENCER_OT_copy(struct wmOperatorType *ot);
void SEQUENCER_OT_paste(struct wmOperatorType *ot);
+void SEQUENCER_OT_rebuild_proxy(struct wmOperatorType *ot);
+
/* preview specific operators */
void SEQUENCER_OT_view_all_preview(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_sequencer/sequencer_ops.c b/source/blender/editors/space_sequencer/sequencer_ops.c
index f5c26cb17d3..5c13b57cca8 100644
--- a/source/blender/editors/space_sequencer/sequencer_ops.c
+++ b/source/blender/editors/space_sequencer/sequencer_ops.c
@@ -68,6 +68,7 @@ void sequencer_operatortypes(void)
WM_operatortype_append(SEQUENCER_OT_swap_inputs);
WM_operatortype_append(SEQUENCER_OT_duplicate);
WM_operatortype_append(SEQUENCER_OT_delete);
+ WM_operatortype_append(SEQUENCER_OT_offset_clear);
WM_operatortype_append(SEQUENCER_OT_images_separate);
WM_operatortype_append(SEQUENCER_OT_meta_toggle);
WM_operatortype_append(SEQUENCER_OT_meta_make);
@@ -86,6 +87,11 @@ void sequencer_operatortypes(void)
WM_operatortype_append(SEQUENCER_OT_view_zoom_ratio);
WM_operatortype_append(SEQUENCER_OT_view_ghost_border);
+ WM_operatortype_append(SEQUENCER_OT_rebuild_proxy);
+ WM_operatortype_append(SEQUENCER_OT_change_effect_input);
+ WM_operatortype_append(SEQUENCER_OT_change_effect_type);
+ WM_operatortype_append(SEQUENCER_OT_change_path);
+
/* sequencer_select.c */
WM_operatortype_append(SEQUENCER_OT_select_all_toggle);
WM_operatortype_append(SEQUENCER_OT_select_inverse);
@@ -145,6 +151,8 @@ void sequencer_keymap(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "SEQUENCER_OT_reassign_inputs", RKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "SEQUENCER_OT_reload", RKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "SEQUENCER_OT_offset_clear", OKEY, KM_PRESS, KM_ALT, 0);
+
WM_keymap_add_item(keymap, "SEQUENCER_OT_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "SEQUENCER_OT_delete", XKEY, KM_PRESS, 0, 0);
@@ -240,6 +248,8 @@ void sequencer_keymap(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "SEQUENCER_OT_select_border", BKEY, KM_PRESS, 0, 0);
WM_keymap_add_menu(keymap, "SEQUENCER_MT_add", AKEY, KM_PRESS, KM_SHIFT, 0);
+
+ WM_keymap_add_menu(keymap, "SEQUENCER_MT_change", CKEY, KM_PRESS, 0, 0);
kmi= WM_keymap_add_item(keymap, "WM_OT_context_set_int", OKEY, KM_PRESS, 0, 0);
RNA_string_set(kmi->ptr, "data_path", "scene.sequence_editor.overlay_frame");
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c
index 8d5f372f55e..86b28f5e89e 100644
--- a/source/blender/editors/space_sequencer/sequencer_select.c
+++ b/source/blender/editors/space_sequencer/sequencer_select.c
@@ -159,7 +159,7 @@ void select_surround_from_last(Scene *scene)
#endif
-static void select_single_seq(Scene *scene, Sequence *seq, int deselect_all) /* BRING BACK */
+static void UNUSED_FUNCTION(select_single_seq)(Scene *scene, Sequence *seq, int deselect_all) /* BRING BACK */
{
Editing *ed= seq_give_editing(scene, FALSE);
@@ -846,7 +846,7 @@ static int sequencer_borderselect_exec(bContext *C, wmOperator *op)
for(seq= ed->seqbasep->first; seq; seq= seq->next) {
seq_rectf(seq, &rq);
- if(BLI_isect_rctf(&rq, &rectf, 0)) {
+ if(BLI_isect_rctf(&rq, &rectf, NULL)) {
if(selecting) seq->flag |= SELECT;
else seq->flag &= ~SEQ_ALLSEL;
recurs_sel_seq(seq);
diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c
index d1df9699fa3..5a0369ef80b 100644
--- a/source/blender/editors/space_sequencer/space_sequencer.c
+++ b/source/blender/editors/space_sequencer/space_sequencer.c
@@ -98,61 +98,6 @@ static ARegion *sequencer_find_region(ScrArea *sa, short type)
return ar;
}
-void ED_sequencer_update_view(bContext *C, int view)
-{
- ScrArea *sa= CTX_wm_area(C);
-
- ARegion *ar_main= sequencer_find_region(sa, RGN_TYPE_WINDOW);
- ARegion *ar_preview= sequencer_find_region(sa, RGN_TYPE_PREVIEW);
-
- switch (view) {
- case SEQ_VIEW_SEQUENCE:
- if (ar_main && (ar_main->flag & RGN_FLAG_HIDDEN)) {
- ar_main->flag &= ~RGN_FLAG_HIDDEN;
- ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
- }
- if (ar_preview && !(ar_preview->flag & RGN_FLAG_HIDDEN)) {
- ar_preview->flag |= RGN_FLAG_HIDDEN;
- ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
- WM_event_remove_handlers(C, &ar_preview->handlers);
- }
- if (ar_main) ar_main->alignment= RGN_ALIGN_NONE;
- if (ar_preview) ar_preview->alignment= RGN_ALIGN_NONE;
- break;
- case SEQ_VIEW_PREVIEW:
- if (ar_main && !(ar_main->flag & RGN_FLAG_HIDDEN)) {
- ar_main->flag |= RGN_FLAG_HIDDEN;
- ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
- WM_event_remove_handlers(C, &ar_main->handlers);
- }
- if (ar_preview && (ar_preview->flag & RGN_FLAG_HIDDEN)) {
- ar_preview->flag &= ~RGN_FLAG_HIDDEN;
- ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
- ar_preview->v2d.cur = ar_preview->v2d.tot;
- }
- if (ar_main) ar_main->alignment= RGN_ALIGN_NONE;
- if (ar_preview) ar_preview->alignment= RGN_ALIGN_NONE;
- break;
- case SEQ_VIEW_SEQUENCE_PREVIEW:
- if (ar_main && (ar_main->flag & RGN_FLAG_HIDDEN)) {
- ar_main->flag &= ~RGN_FLAG_HIDDEN;
- ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
- }
- if (ar_preview && (ar_preview->flag & RGN_FLAG_HIDDEN)) {
- ar_preview->flag &= ~RGN_FLAG_HIDDEN;
- ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
- ar_preview->v2d.cur = ar_preview->v2d.tot;
- }
- if (ar_main) ar_main->alignment= RGN_ALIGN_NONE;
- if (ar_preview) ar_preview->alignment= RGN_ALIGN_TOP;
- break;
- }
-
- ED_area_initialize(CTX_wm_manager(C), CTX_wm_window(C), sa);
- ED_area_tag_redraw(sa);
-}
-
-
/* ******************** default callbacks for sequencer space ***************** */
static SpaceLink *sequencer_new(const bContext *C)
@@ -223,7 +168,7 @@ static SpaceLink *sequencer_new(const bContext *C)
ar->v2d.cur= ar->v2d.tot;
ar->v2d.min[0]= 10.0f;
- ar->v2d.min[1]= 4.0f;
+ ar->v2d.min[1]= 0.5f;
ar->v2d.max[0]= MAXFRAMEF;
ar->v2d.max[1]= MAXSEQ;
@@ -256,6 +201,88 @@ static void sequencer_init(struct wmWindowManager *UNUSED(wm), ScrArea *UNUSED(s
}
+static void sequencer_refresh(const bContext *C, ScrArea *sa)
+{
+ wmWindowManager *wm= CTX_wm_manager(C);
+ wmWindow *window= CTX_wm_window(C);
+ SpaceSeq *sseq= (SpaceSeq *)sa->spacedata.first;
+ ARegion *ar_main= sequencer_find_region(sa, RGN_TYPE_WINDOW);
+ ARegion *ar_preview= sequencer_find_region(sa, RGN_TYPE_PREVIEW);
+ int view_changed= 0;
+
+ switch (sseq->view) {
+ case SEQ_VIEW_SEQUENCE:
+ if (ar_main && (ar_main->flag & RGN_FLAG_HIDDEN)) {
+ ar_main->flag &= ~RGN_FLAG_HIDDEN;
+ ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
+ view_changed= 1;
+ }
+ if (ar_preview && !(ar_preview->flag & RGN_FLAG_HIDDEN)) {
+ ar_preview->flag |= RGN_FLAG_HIDDEN;
+ ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
+ WM_event_remove_handlers((bContext*)C, &ar_preview->handlers);
+ view_changed= 1;
+ }
+ if (ar_main && ar_main->alignment != RGN_ALIGN_TOP) {
+ ar_main->alignment= RGN_ALIGN_NONE;
+ view_changed= 1;
+ }
+ if (ar_preview && ar_preview->alignment != RGN_ALIGN_TOP) {
+ ar_preview->alignment= RGN_ALIGN_NONE;
+ view_changed= 1;
+ }
+ break;
+ case SEQ_VIEW_PREVIEW:
+ if (ar_main && !(ar_main->flag & RGN_FLAG_HIDDEN)) {
+ ar_main->flag |= RGN_FLAG_HIDDEN;
+ ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
+ WM_event_remove_handlers((bContext*)C, &ar_main->handlers);
+ view_changed= 1;
+ }
+ if (ar_preview && (ar_preview->flag & RGN_FLAG_HIDDEN)) {
+ ar_preview->flag &= ~RGN_FLAG_HIDDEN;
+ ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
+ ar_preview->v2d.cur = ar_preview->v2d.tot;
+ view_changed= 1;
+ }
+ if (ar_main && ar_main->alignment != RGN_ALIGN_TOP) {
+ ar_main->alignment= RGN_ALIGN_NONE;
+ view_changed= 1;
+ }
+ if (ar_preview && ar_preview->alignment != RGN_ALIGN_TOP) {
+ ar_preview->alignment= RGN_ALIGN_NONE;
+ view_changed= 1;
+ }
+ break;
+ case SEQ_VIEW_SEQUENCE_PREVIEW:
+ if (ar_main && (ar_main->flag & RGN_FLAG_HIDDEN)) {
+ ar_main->flag &= ~RGN_FLAG_HIDDEN;
+ ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
+ view_changed= 1;
+ }
+ if (ar_preview && (ar_preview->flag & RGN_FLAG_HIDDEN)) {
+ ar_preview->flag &= ~RGN_FLAG_HIDDEN;
+ ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
+ ar_preview->v2d.cur = ar_preview->v2d.tot;
+ view_changed= 1;
+ }
+ if (ar_main && ar_main->alignment != RGN_ALIGN_TOP) {
+ ar_main->alignment= RGN_ALIGN_NONE;
+ view_changed= 1;
+ }
+ if (ar_preview && ar_preview->alignment != RGN_ALIGN_TOP) {
+ ar_preview->alignment= RGN_ALIGN_TOP;
+ view_changed= 1;
+ }
+ break;
+ }
+
+ if(view_changed) {
+ ED_area_initialize(wm, window, sa);
+ ED_area_tag_redraw(sa);
+ }
+}
+
static SpaceLink *sequencer_duplicate(SpaceLink *sl)
{
SpaceSeq *sseqn= MEM_dupallocN(sl);
@@ -516,6 +543,7 @@ void ED_spacetype_sequencer(void)
st->operatortypes= sequencer_operatortypes;
st->keymap= sequencer_keymap;
st->dropboxes= sequencer_dropboxes;
+ st->refresh= sequencer_refresh;
/* regions: main window */
art= MEM_callocN(sizeof(ARegionType), "spacetype sequencer region");
diff --git a/source/blender/editors/space_sound/CMakeLists.txt b/source/blender/editors/space_sound/CMakeLists.txt
index 367d07c0c0b..870065966cc 100644
--- a/source/blender/editors/space_sound/CMakeLists.txt
+++ b/source/blender/editors/space_sound/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_text/CMakeLists.txt b/source/blender/editors/space_text/CMakeLists.txt
index 0c174225a58..acf00d205a6 100644
--- a/source/blender/editors/space_text/CMakeLists.txt
+++ b/source/blender/editors/space_text/CMakeLists.txt
@@ -23,8 +23,8 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
@@ -46,8 +46,12 @@ set(SRC
)
if(WITH_PYTHON)
- list(APPEND INC ../../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
endif()
diff --git a/source/blender/editors/space_text/space_text.c b/source/blender/editors/space_text/space_text.c
index 550f2c937fd..47f051e1ec4 100644
--- a/source/blender/editors/space_text/space_text.c
+++ b/source/blender/editors/space_text/space_text.c
@@ -154,6 +154,11 @@ static void text_listener(ScrArea *sa, wmNotifier *wmn)
case NA_REMOVED:
ED_area_tag_redraw(sa);
break;
+ case NA_SELECTED:
+ if(st->text && st->text == wmn->reference)
+ text_scroll_to_cursor(st, sa);
+
+ break;
}
break;
@@ -274,7 +279,7 @@ static void text_keymap(struct wmKeyConfig *keyconf)
RNA_string_set(kmi->ptr, "data_path", "space_data.font_size");
RNA_boolean_set(kmi->ptr, "reverse", 1);
- WM_keymap_add_item(keymap, "TEXT_OT_new", NKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "TEXT_OT_new", NKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "TEXT_OT_open", OKEY, KM_PRESS, KM_ALT, 0);
WM_keymap_add_item(keymap, "TEXT_OT_reload", RKEY, KM_PRESS, KM_ALT, 0);
WM_keymap_add_item(keymap, "TEXT_OT_save", SKEY, KM_PRESS, KM_ALT, 0);
diff --git a/source/blender/editors/space_text/text_draw.c b/source/blender/editors/space_text/text_draw.c
index 625e5561389..066404f23ba 100644
--- a/source/blender/editors/space_text/text_draw.c
+++ b/source/blender/editors/space_text/text_draw.c
@@ -907,9 +907,12 @@ static void text_update_drawcache(SpaceText *st, ARegion *ar)
void text_drawcache_tag_update(SpaceText *st, int full)
{
- DrawCache *drawcache= (DrawCache *)st->drawcache;
-
- if(drawcache) {
+ /* this happens if text editor ops are caled from python */
+ if (st == NULL)
+ return;
+
+ if(st->drawcache) {
+ DrawCache *drawcache= (DrawCache *)st->drawcache;
Text *txt= st->text;
if(drawcache->update_flag) {
@@ -1818,12 +1821,10 @@ void text_update_character_width(SpaceText *st)
/* Moves the view to the cursor location,
also used to make sure the view isnt outside the file */
-void text_update_cursor_moved(bContext *C)
+void text_scroll_to_cursor(SpaceText *st, ScrArea *sa)
{
- ScrArea *sa= CTX_wm_area(C);
- SpaceText *st= CTX_wm_space_text(C);
Text *text;
- ARegion *ar;
+ ARegion *ar= NULL;
int i, x, winx= 0;
if(ELEM3(NULL, st, st->text, st->text->curl)) return;
@@ -1831,8 +1832,10 @@ void text_update_cursor_moved(bContext *C)
text= st->text;
for(ar=sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_WINDOW)
+ if(ar->regiontype==RGN_TYPE_WINDOW) {
winx= ar->winx;
+ break;
+ }
winx -= TXT_SCROLL_WIDTH;
@@ -1841,7 +1844,7 @@ void text_update_cursor_moved(bContext *C)
i= txt_get_span(text->lines.first, text->sell);
if(st->wordwrap) {
int offl, offc;
- wrap_offset(st, CTX_wm_region(C), text->sell, text->selc, &offl, &offc);
+ wrap_offset(st, ar, text->sell, text->selc, &offl, &offc);
i+= offl;
}
@@ -1862,3 +1865,10 @@ void text_update_cursor_moved(bContext *C)
if(st->left <0) st->left= 0;
}
+void text_update_cursor_moved(bContext *C)
+{
+ ScrArea *sa= CTX_wm_area(C);
+ SpaceText *st= CTX_wm_space_text(C);
+
+ text_scroll_to_cursor(st, sa);
+}
diff --git a/source/blender/editors/space_text/text_intern.h b/source/blender/editors/space_text/text_intern.h
index cb55f41acb5..b34c7815f35 100644
--- a/source/blender/editors/space_text/text_intern.h
+++ b/source/blender/editors/space_text/text_intern.h
@@ -55,6 +55,7 @@ int text_font_width(struct SpaceText *st, const char *str);
void text_update_line_edited(struct TextLine *line);
void text_update_edited(struct Text *text);
void text_update_character_width(struct SpaceText *st);
+void text_scroll_to_cursor(struct SpaceText *st, struct ScrArea *sa);
void text_update_cursor_moved(struct bContext *C);
/* TXT_OFFSET used to be 35 when the scrollbar was on the left... */
diff --git a/source/blender/editors/space_text/text_ops.c b/source/blender/editors/space_text/text_ops.c
index 2bd6bd624df..617bbf62e92 100644
--- a/source/blender/editors/space_text/text_ops.c
+++ b/source/blender/editors/space_text/text_ops.c
@@ -36,6 +36,7 @@
#include <string.h>
#include <ctype.h> /* ispunct */
#include <sys/stat.h>
+#include <errno.h>
#include "MEM_guardedalloc.h"
@@ -191,11 +192,12 @@ static int new_exec(bContext *C, wmOperator *UNUSED(op))
void TEXT_OT_new(wmOperatorType *ot)
{
/* identifiers */
- ot->name= "New";
+ ot->name= "Create Text Block";
ot->idname= "TEXT_OT_new";
ot->description= "Create a new text data block";
/* api callbacks */
+ ot->invoke= WM_operator_confirm;
ot->exec= new_exec;
ot->poll= text_new_poll;
@@ -449,15 +451,14 @@ static void txt_write_file(Text *text, ReportList *reports)
FILE *fp;
TextLine *tmp;
struct stat st;
- int res;
- char file[FILE_MAXDIR+FILE_MAXFILE];
+ char filepath[FILE_MAXDIR+FILE_MAXFILE];
- BLI_strncpy(file, text->name, FILE_MAXDIR+FILE_MAXFILE);
- BLI_path_abs(file, G.main->name);
+ BLI_strncpy(filepath, text->name, FILE_MAXDIR+FILE_MAXFILE);
+ BLI_path_abs(filepath, G.main->name);
- fp= fopen(file, "w");
+ fp= fopen(filepath, "w");
if(fp==NULL) {
- BKE_report(reports, RPT_ERROR, "Unable to save file.");
+ BKE_reportf(reports, RPT_ERROR, "Unable to save \"%s\": %s.", filepath, errno ? strerror(errno) : "Unknown error writing file");
return;
}
@@ -471,8 +472,13 @@ static void txt_write_file(Text *text, ReportList *reports)
fclose (fp);
- res= stat(file, &st);
- text->mtime= st.st_mtime;
+ if(stat(filepath, &st) == 0) {
+ text->mtime= st.st_mtime;
+ }
+ else {
+ text->mtime= 0;
+ BKE_reportf(reports, RPT_WARNING, "Unable to stat \"%s\": %s.", filepath, errno ? strerror(errno) : "Unknown error starrng file");
+ }
if(text->flags & TXT_ISDIRTY)
text->flags ^= TXT_ISDIRTY;
diff --git a/source/blender/editors/space_text/text_python.c b/source/blender/editors/space_text/text_python.c
index 6e6f131655b..51b4b838171 100644
--- a/source/blender/editors/space_text/text_python.c
+++ b/source/blender/editors/space_text/text_python.c
@@ -43,6 +43,7 @@
#include "BKE_text.h"
#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
#include "WM_types.h"
@@ -192,7 +193,7 @@ static void confirm_suggestion(Text *text, int skipleft)
// XXX
static int doc_scroll= 0;
-static short do_texttools(SpaceText *st, char ascii, unsigned short evnt, short val)
+static short UNUSED_FUNCTION(do_texttools)(SpaceText *st, char ascii, unsigned short evnt, short val)
{
ARegion *ar= NULL; // XXX
int qual= 0; // XXX
@@ -375,7 +376,7 @@ static short do_texttools(SpaceText *st, char ascii, unsigned short evnt, short
; // XXX redraw_alltext();
#endif
-static short do_textmarkers(SpaceText *st, char ascii, unsigned short evnt, short val)
+static short UNUSED_FUNCTION(do_textmarkers)(SpaceText *st, char ascii, unsigned short evnt, short val)
{
Text *text;
TextMarker *marker, *mrk, *nxt;
diff --git a/source/blender/editors/space_time/CMakeLists.txt b/source/blender/editors/space_time/CMakeLists.txt
index 79081c7cfd4..758d1e629f9 100644
--- a/source/blender/editors/space_time/CMakeLists.txt
+++ b/source/blender/editors/space_time/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c
index e55fbe11e52..6ea7a94b288 100644
--- a/source/blender/editors/space_time/space_time.c
+++ b/source/blender/editors/space_time/space_time.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -71,16 +69,20 @@
static void time_draw_sfra_efra(Scene *scene, View2D *v2d)
{
/* draw darkened area outside of active timeline
- * frame range used is preview range or scene range */
- UI_ThemeColorShade(TH_BACK, -25);
-
- if (PSFRA < PEFRA) {
- glRectf(v2d->cur.xmin, v2d->cur.ymin, (float)PSFRA, v2d->cur.ymax);
- glRectf((float)PEFRA, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
- }
- else {
- glRectf(v2d->cur.xmin, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
- }
+ * frame range used is preview range or scene range
+ */
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glEnable(GL_BLEND);
+ glColor4f(0.0f, 0.0f, 0.0f, 0.4f);
+
+ if (PSFRA < PEFRA) {
+ glRectf(v2d->cur.xmin, v2d->cur.ymin, (float)PSFRA, v2d->cur.ymax);
+ glRectf((float)PEFRA, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
+ }
+ else {
+ glRectf(v2d->cur.xmin, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
+ }
+ glDisable(GL_BLEND);
UI_ThemeColorShade(TH_BACK, -60);
/* thin lines where the actual frames are */
@@ -277,7 +279,6 @@ static void time_draw_idblock_keyframes(View2D *v2d, ID *id, short onlysel)
BLI_dlrbTree_init(&keys);
/* init dopesheet settings */
- // FIXME: the ob_to_keylist function currently doesn't take this into account...
if (onlysel)
ads.filterflag |= ADS_FILTER_ONLYSEL;
@@ -304,8 +305,8 @@ static void time_draw_idblock_keyframes(View2D *v2d, ID *id, short onlysel)
(ak) && (ak->cfra <= v2d->cur.xmax);
ak=ak->next )
{
- glVertex2f(ak->cfra, v2d->cur.ymin);
- glVertex2f(ak->cfra, v2d->cur.ymax);
+ glVertex2f(ak->cfra, v2d->tot.ymin);
+ glVertex2f(ak->cfra, v2d->tot.ymax);
}
glEnd(); // GL_LINES
@@ -458,9 +459,6 @@ static void time_main_area_draw(const bContext *C, ARegion *ar)
glClear(GL_COLOR_BUFFER_BIT);
UI_view2d_view_ortho(v2d);
-
- /* start and end frame */
- time_draw_sfra_efra(scene, v2d);
/* grid */
unit= (stime->flag & TIME_DRAWFRAMES)? V2D_UNIT_FRAMES: V2D_UNIT_SECONDS;
@@ -468,14 +466,19 @@ static void time_main_area_draw(const bContext *C, ARegion *ar)
UI_view2d_grid_draw(v2d, grid, (V2D_VERTICAL_LINES|V2D_VERTICAL_AXIS));
UI_view2d_grid_free(grid);
+ /* start and end frame */
+ time_draw_sfra_efra(scene, v2d);
+
/* current frame */
+ flag = DRAWCFRA_WIDE; /* this is only really needed on frames where there's a keyframe, but this will do... */
if ((stime->flag & TIME_DRAWFRAMES)==0) flag |= DRAWCFRA_UNIT_SECONDS;
if (stime->flag & TIME_CFRA_NUM) flag |= DRAWCFRA_SHOW_NUMBOX;
ANIM_draw_cfra(C, v2d, flag);
+ UI_view2d_view_ortho(v2d);
+
/* keyframes */
- if(!G.rendering) /* ANIM_nla_mapping_apply_fcurve() modifies curve data while rendering, possible race condition */
- time_draw_keyframes(C, stime, ar);
+ time_draw_keyframes(C, stime, ar);
/* markers */
UI_view2d_view_orthoSpecial(ar, v2d, 1);
diff --git a/source/blender/editors/space_time/time_intern.h b/source/blender/editors/space_time/time_intern.h
index 03ba617de14..094b0bc9e86 100644
--- a/source/blender/editors/space_time/time_intern.h
+++ b/source/blender/editors/space_time/time_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/space_time/time_ops.c b/source/blender/editors/space_time/time_ops.c
index e9559426b81..78d903a2997 100644
--- a/source/blender/editors/space_time/time_ops.c
+++ b/source/blender/editors/space_time/time_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/space_userpref/CMakeLists.txt b/source/blender/editors/space_userpref/CMakeLists.txt
index 656a5d2f0ef..43ac90dce94 100644
--- a/source/blender/editors/space_userpref/CMakeLists.txt
+++ b/source/blender/editors/space_userpref/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_view3d/CMakeLists.txt b/source/blender/editors/space_view3d/CMakeLists.txt
index 0a12a28af8d..c6e936606c8 100644
--- a/source/blender/editors/space_view3d/CMakeLists.txt
+++ b/source/blender/editors/space_view3d/CMakeLists.txt
@@ -23,14 +23,14 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../gpu
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
../../../../intern/smoke/extern
)
@@ -61,7 +61,9 @@ set(SRC
)
if(WITH_GAMEENGINE)
- list(APPEND INC ../../../../source/gameengine/BlenderRoutines)
+ list(APPEND INC
+ ../../../gameengine/BlenderRoutines
+ )
add_definitions(-DWITH_GAMEENGINE)
endif()
diff --git a/source/blender/editors/space_view3d/drawanimviz.c b/source/blender/editors/space_view3d/drawanimviz.c
index ee78fd92b79..4a51cb3be09 100644
--- a/source/blender/editors/space_view3d/drawanimviz.c
+++ b/source/blender/editors/space_view3d/drawanimviz.c
@@ -117,7 +117,11 @@ void draw_motion_path_instance(Scene *scene,
len = mpath->length;
mpv_start= mpath->points;
}
-
+
+ if(len <= 0) {
+ return;
+ }
+
/* draw curve-line of path */
glShadeModel(GL_SMOOTH);
@@ -389,7 +393,7 @@ static void draw_ghost_poses_range(Scene *scene, View3D *v3d, ARegion *ar, Base
colfac = (end - (float)CFRA) / range;
UI_ThemeColorShadeAlpha(TH_WIRE, 0, -128-(int)(120.0*sqrt(colfac)));
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
draw_pose_bones(scene, v3d, ar, base, OB_WIRE);
}
@@ -468,7 +472,7 @@ static void draw_ghost_poses_keys(Scene *scene, View3D *v3d, ARegion *ar, Base *
CFRA= (int)ak->cfra;
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
draw_pose_bones(scene, v3d, ar, base, OB_WIRE);
}
@@ -538,7 +542,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
CFRA= (int)BKE_nla_tweakedit_remap(adt, actframe+ctime, NLATIME_CONVERT_MAP);
if (CFRA != cfrao) {
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
draw_pose_bones(scene, v3d, ar, base, OB_WIRE);
}
@@ -553,7 +557,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
CFRA= (int)BKE_nla_tweakedit_remap(adt, actframe-ctime, NLATIME_CONVERT_MAP);
if (CFRA != cfrao) {
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
draw_pose_bones(scene, v3d, ar, base, OB_WIRE);
}
diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c
index 7c66cec5730..ecf5df4af7c 100644
--- a/source/blender/editors/space_view3d/drawarmature.c
+++ b/source/blender/editors/space_view3d/drawarmature.c
@@ -197,12 +197,10 @@ static short set_pchan_glColor (short colCode, int boneflag, int constflag)
case PCHAN_COLOR_CONSTS:
{
if ( (bcolor == NULL) || (bcolor->flag & TH_WIRECOLOR_CONSTCOLS) ) {
- if (constflag & PCHAN_HAS_STRIDE) glColor4ub(0, 0, 200, 80);
- else if (constflag & PCHAN_HAS_TARGET) glColor4ub(255, 150, 0, 80);
+ if (constflag & PCHAN_HAS_TARGET) glColor4ub(255, 150, 0, 80);
else if (constflag & PCHAN_HAS_IK) glColor4ub(255, 255, 0, 80);
else if (constflag & PCHAN_HAS_SPLINEIK) glColor4ub(200, 255, 0, 80);
else if (constflag & PCHAN_HAS_CONST) glColor4ub(0, 255, 120, 80);
- else if (constflag) UI_ThemeColor4(TH_BONE_POSE); // PCHAN_HAS_ACTION
return 1;
}
@@ -269,8 +267,7 @@ static short set_pchan_glColor (short colCode, int boneflag, int constflag)
{
/* inner part in background color or constraint */
if ( (constflag) && ((bcolor==NULL) || (bcolor->flag & TH_WIRECOLOR_CONSTCOLS)) ) {
- if (constflag & PCHAN_HAS_STRIDE) glColor3ub(0, 0, 200);
- else if (constflag & PCHAN_HAS_TARGET) glColor3ub(255, 150, 0);
+ if (constflag & PCHAN_HAS_TARGET) glColor3ub(255, 150, 0);
else if (constflag & PCHAN_HAS_IK) glColor3ub(255, 255, 0);
else if (constflag & PCHAN_HAS_SPLINEIK) glColor3ub(200, 255, 0);
else if (constflag & PCHAN_HAS_CONST) glColor3ub(0, 255, 120);
@@ -318,11 +315,9 @@ static float cube[8][3] = {
static void drawsolidcube_size(float xsize, float ysize, float zsize)
{
static GLuint displist=0;
- float n[3];
+ float n[3]= {0.0f};
glScalef(xsize, ysize, zsize);
-
- n[0]=0; n[1]=0; n[2]=0;
if(displist==0) {
displist= glGenLists(1);
@@ -348,7 +343,6 @@ static void drawsolidcube_size(float xsize, float ysize, float zsize)
n[2]= 1.0;
glNormal3fv(n);
glVertex3fv(cube[1]); glVertex3fv(cube[5]); glVertex3fv(cube[6]); glVertex3fv(cube[2]);
- n[2]=0;
n[2]= -1.0;
glNormal3fv(n);
glVertex3fv(cube[7]); glVertex3fv(cube[4]); glVertex3fv(cube[0]); glVertex3fv(cube[3]);
@@ -1217,6 +1211,87 @@ static void draw_b_bone(int dt, int armflag, int boneflag, int constflag, unsign
}
}
+static void draw_wire_bone_segments(bPoseChannel *pchan, Mat4 *bbones, float length, int segments)
+{
+ if ((segments > 1) && (pchan)) {
+ float dlen= length/(float)segments;
+ Mat4 *bbone = bbones;
+ int a;
+
+ for (a=0; a<segments; a++, bbone++) {
+ glPushMatrix();
+ glMultMatrixf(bbone->mat);
+
+ glBegin(GL_LINES);
+ glVertex3f(0.0f, 0.0f, 0.0f);
+ glVertex3f(0.0f, dlen, 0.0f);
+ glEnd(); // GL_LINES
+
+ glPopMatrix();
+ }
+ }
+ else {
+ glPushMatrix();
+
+ glBegin(GL_LINES);
+ glVertex3f(0.0f, 0.0f, 0.0f);
+ glVertex3f(0.0f, length, 0.0f);
+ glEnd();
+
+ glPopMatrix();
+ }
+}
+
+static void draw_wire_bone(int dt, int armflag, int boneflag, int constflag, unsigned int id, bPoseChannel *pchan, EditBone *ebone)
+{
+ Mat4 *bbones = NULL;
+ int segments = 0;
+ float length;
+
+ if (pchan) {
+ segments= pchan->bone->segments;
+ length= pchan->bone->length;
+
+ if (segments > 1)
+ bbones = b_bone_spline_setup(pchan, 0);
+ }
+ else
+ length= ebone->length;
+
+ /* draw points only if... */
+ if (armflag & ARM_EDITMODE) {
+ /* move to unitspace */
+ glPushMatrix();
+ glScalef(length, length, length);
+ draw_bone_points(dt, armflag, boneflag, id);
+ glPopMatrix();
+ length *= 0.95f; // make vertices visible
+ }
+
+ /* this chunk not in object mode */
+ if (armflag & (ARM_EDITMODE|ARM_POSEMODE)) {
+ if (id != -1)
+ glLoadName((GLuint) id|BONESEL_BONE);
+
+ draw_wire_bone_segments(pchan, bbones, length, segments);
+
+ /* further we send no names */
+ if (id != -1)
+ glLoadName(id & 0xFFFF); /* object tag, for bordersel optim */
+ }
+
+ /* colors for modes */
+ if (armflag & ARM_POSEMODE) {
+ set_pchan_glColor(PCHAN_COLOR_NORMAL, boneflag, constflag);
+ }
+ else if (armflag & ARM_EDITMODE) {
+ set_ebone_glColor(boneflag);
+ }
+
+ /* draw normal */
+ draw_wire_bone_segments(pchan, bbones, length, segments);
+}
+
static void draw_bone(int dt, int armflag, int boneflag, int constflag, unsigned int id, float length)
{
@@ -1577,7 +1652,7 @@ static void bone_matrix_translate_y(float mat[][4], float y)
}
/* assumes object is Armature with pose */
-static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, short ghost)
+static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, const short is_ghost, const short is_outline)
{
RegionView3D *rv3d= ar->regiondata;
Object *ob= base->object;
@@ -1656,7 +1731,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
int use_custom = (pchan->custom) && !(arm->flag & ARM_NO_CUSTOM);
glPushMatrix();
- if(use_custom && pchan->custom_tx) {
+ if (use_custom && pchan->custom_tx) {
glMultMatrixf(pchan->custom_tx->pose_mat);
}
else {
@@ -1684,6 +1759,8 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
}
else if (arm->drawtype==ARM_LINE)
; /* nothing in solid */
+ else if (arm->drawtype==ARM_WIRE)
+ ; /* nothing in solid */
else if (arm->drawtype==ARM_ENVELOPE)
draw_sphere_bone(OB_SOLID, arm->flag, flag, 0, index, pchan, NULL);
else if (arm->drawtype==ARM_B_BONE)
@@ -1702,7 +1779,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
/* very very confusing... but in object mode, solid draw, we cannot do glLoadName yet,
* stick bones and/or wire custom-shapes are drawn in next loop
*/
- if ((arm->drawtype != ARM_LINE) && (draw_wire == 0)) {
+ if (ELEM(arm->drawtype,ARM_LINE,ARM_WIRE)==0 && (draw_wire == 0)) {
/* object tag, for bordersel optim */
glLoadName(index & 0xFFFF);
index= -1;
@@ -1737,7 +1814,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
}
/* prepare colors */
- if(ghost) {
+ if(is_ghost) {
/* 13 October 2009, Disabled this to make ghosting show the right colors (Aligorith) */
}
else if (arm->flag & ARM_POSEMODE)
@@ -1773,8 +1850,8 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
if (index != -1)
index+= 0x10000; // pose bones count in higher 2 bytes only
}
- /* stick bones have not been drawn yet so dont clear object selection in this case */
- if ((arm->drawtype != ARM_LINE) && draw_wire) {
+ /* stick or wire bones have not been drawn yet so dont clear object selection in this case */
+ if (ELEM(arm->drawtype, ARM_LINE, ARM_WIRE)==0 && draw_wire) {
/* object tag, for bordersel optim */
glLoadName(index & 0xFFFF);
index= -1;
@@ -1784,7 +1861,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
/* wire draw over solid only in posemode */
if ((dt <= OB_WIRE) || (arm->flag & ARM_POSEMODE) || (arm->drawtype==ARM_LINE)) {
/* draw line check first. we do selection indices */
- if (arm->drawtype==ARM_LINE) {
+ if ELEM(arm->drawtype, ARM_LINE, ARM_WIRE) {
if (arm->flag & ARM_POSEMODE)
index= base->selcol;
}
@@ -1863,11 +1940,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
/* extra draw service for pose mode */
constflag= pchan->constflag;
- if (pchan->flag & (POSE_ROT|POSE_LOC|POSE_SIZE))
- constflag |= PCHAN_HAS_ACTION;
- if (pchan->flag & POSE_STRIDE)
- constflag |= PCHAN_HAS_STRIDE;
-
+
/* set color-set to use */
set_pchan_colorset(ob, pchan);
@@ -1879,6 +1952,8 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
}
else if (arm->drawtype==ARM_LINE)
draw_line_bone(arm->flag, flag, constflag, index, pchan, NULL);
+ else if (arm->drawtype==ARM_WIRE)
+ draw_wire_bone(dt, arm->flag, flag, constflag, index, pchan, NULL);
else if (arm->drawtype==ARM_B_BONE)
draw_b_bone(OB_WIRE, arm->flag, flag, constflag, index, pchan, NULL);
else
@@ -1905,7 +1980,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
draw_pose_dofs(ob);
/* finally names and axes */
- if (arm->flag & (ARM_DRAWNAMES|ARM_DRAWAXES)) {
+ if (arm->flag & (ARM_DRAWNAMES|ARM_DRAWAXES) && is_outline == 0) {
/* patch for several 3d cards (IBM mostly) that crash on glSelect with text drawing */
if ((G.f & G_PICKSEL) == 0) {
float vec[3];
@@ -2013,7 +2088,7 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
}
/* if solid we draw it first */
- if ((dt > OB_WIRE) && (arm->drawtype!=ARM_LINE)) {
+ if ((dt > OB_WIRE) && (arm->drawtype != ARM_LINE)) {
for (eBone=arm->edbo->first, index=0; eBone; eBone=eBone->next, index++) {
if (eBone->layer & arm->layer) {
if ((eBone->flag & BONE_HIDDEN_A)==0) {
@@ -2034,6 +2109,8 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
draw_sphere_bone(OB_SOLID, arm->flag, flag, 0, index, NULL, eBone);
else if(arm->drawtype==ARM_B_BONE)
draw_b_bone(OB_SOLID, arm->flag, flag, 0, index, NULL, eBone);
+ else if (arm->drawtype==ARM_WIRE)
+ draw_wire_bone(OB_SOLID, arm->flag, flag, 0, index, NULL, eBone);
else {
draw_bone(OB_SOLID, arm->flag, flag, 0, index, eBone->length);
}
@@ -2047,7 +2124,7 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
/* if wire over solid, set offset */
index= -1;
glLoadName(-1);
- if (arm->drawtype==ARM_LINE) {
+ if ELEM(arm->drawtype, ARM_LINE, ARM_WIRE) {
if(G.f & G_PICKSEL)
index= 0;
}
@@ -2081,6 +2158,8 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
if (arm->drawtype == ARM_LINE)
draw_line_bone(arm->flag, flag, 0, index, NULL, eBone);
+ else if (arm->drawtype==ARM_WIRE)
+ draw_wire_bone(OB_WIRE, arm->flag, flag, 0, index, NULL, eBone);
else if (arm->drawtype == ARM_B_BONE)
draw_b_bone(OB_WIRE, arm->flag, flag, 0, index, NULL, eBone);
else
@@ -2109,7 +2188,7 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
/* restore */
if(index!=-1) glLoadName(-1);
- if (arm->drawtype==ARM_LINE);
+ if ELEM(arm->drawtype,ARM_LINE,ARM_WIRE);
else if (dt>OB_WIRE) bglPolygonOffset(rv3d->dist, 0.0f);
/* finally names and axes */
@@ -2257,9 +2336,9 @@ static void draw_ghost_poses_range(Scene *scene, View3D *v3d, ARegion *ar, Base
colfac = (end - (float)CFRA) / range;
UI_ThemeColorShadeAlpha(TH_WIRE, 0, -128-(int)(120.0*sqrt(colfac)));
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
}
glDisable(GL_BLEND);
if (v3d->zbuf) glEnable(GL_DEPTH_TEST);
@@ -2336,9 +2415,9 @@ static void draw_ghost_poses_keys(Scene *scene, View3D *v3d, ARegion *ar, Base *
CFRA= (int)ak->cfra;
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
}
glDisable(GL_BLEND);
if (v3d->zbuf) glEnable(GL_DEPTH_TEST);
@@ -2406,9 +2485,9 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
CFRA= (int)BKE_nla_tweakedit_remap(adt, actframe+ctime, NLATIME_CONVERT_MAP);
if (CFRA != cfrao) {
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
}
}
@@ -2421,9 +2500,9 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
CFRA= (int)BKE_nla_tweakedit_remap(adt, actframe-ctime, NLATIME_CONVERT_MAP);
if (CFRA != cfrao) {
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
- draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE);
+ draw_pose_bones(scene, v3d, ar, base, OB_WIRE, TRUE, FALSE);
}
}
}
@@ -2444,7 +2523,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
/* ********************************** Armature Drawing - Main ************************* */
/* called from drawobject.c, return 1 if nothing was drawn */
-int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, int flag)
+int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, int flag, const short is_outline)
{
Object *ob= base->object;
bArmature *arm= ob->data;
@@ -2510,7 +2589,7 @@ int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, in
}
}
}
- draw_pose_bones(scene, v3d, ar, base, dt, FALSE);
+ draw_pose_bones(scene, v3d, ar, base, dt, FALSE, is_outline);
arm->flag &= ~ARM_POSEMODE;
if(ob->mode & OB_MODE_POSE)
diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c
index f070bae4e54..6e02ecbd5a8 100644
--- a/source/blender/editors/space_view3d/drawmesh.c
+++ b/source/blender/editors/space_view3d/drawmesh.c
@@ -29,7 +29,6 @@
* \ingroup spview3d
*/
-
#include <string.h>
#include <math.h>
@@ -70,24 +69,21 @@
#include "view3d_intern.h" // own include
-/***/
+/**************************** Face Select Mode *******************************/
- /* Flags for marked edges */
+/* Flags for marked edges */
enum {
eEdge_Visible = (1<<0),
eEdge_Select = (1<<1),
};
- /* Creates a hash of edges to flags indicating
- * adjacent tface select/active/etc flags.
- */
+/* Creates a hash of edges to flags indicating selected/visible */
static void get_marked_edge_info__orFlags(EdgeHash *eh, int v0, int v1, int flags)
{
int *flags_p;
- if (!BLI_edgehash_haskey(eh, v0, v1)) {
+ if(!BLI_edgehash_haskey(eh, v0, v1))
BLI_edgehash_insert(eh, v0, v1, NULL);
- }
flags_p = (int*) BLI_edgehash_lookup_p(eh, v0, v1);
*flags_p |= flags;
@@ -96,26 +92,25 @@ static void get_marked_edge_info__orFlags(EdgeHash *eh, int v0, int v1, int flag
static EdgeHash *get_tface_mesh_marked_edge_info(Mesh *me)
{
EdgeHash *eh = BLI_edgehash_new();
- int i;
MFace *mf;
+ int i;
- for (i=0; i<me->totface; i++) {
+ for(i=0; i<me->totface; i++) {
mf = &me->mface[i];
- if (mf->v3) {
- if (!(mf->flag&ME_HIDE)) {
- unsigned int flags = eEdge_Visible;
- if (mf->flag&ME_FACE_SEL) flags |= eEdge_Select;
-
- get_marked_edge_info__orFlags(eh, mf->v1, mf->v2, flags);
- get_marked_edge_info__orFlags(eh, mf->v2, mf->v3, flags);
- if (mf->v4) {
- get_marked_edge_info__orFlags(eh, mf->v3, mf->v4, flags);
- get_marked_edge_info__orFlags(eh, mf->v4, mf->v1, flags);
- } else {
- get_marked_edge_info__orFlags(eh, mf->v3, mf->v1, flags);
- }
+ if(!(mf->flag & ME_HIDE)) {
+ unsigned int flags = eEdge_Visible;
+ if(mf->flag & ME_FACE_SEL) flags |= eEdge_Select;
+
+ get_marked_edge_info__orFlags(eh, mf->v1, mf->v2, flags);
+ get_marked_edge_info__orFlags(eh, mf->v2, mf->v3, flags);
+
+ if(mf->v4) {
+ get_marked_edge_info__orFlags(eh, mf->v3, mf->v4, flags);
+ get_marked_edge_info__orFlags(eh, mf->v4, mf->v1, flags);
}
+ else
+ get_marked_edge_info__orFlags(eh, mf->v3, mf->v1, flags);
}
}
@@ -123,45 +118,24 @@ static EdgeHash *get_tface_mesh_marked_edge_info(Mesh *me)
}
-static int draw_tfaces3D__setHiddenOpts(void *userData, int index)
+static int draw_mesh_face_select__setHiddenOpts(void *userData, int index)
{
struct { Mesh *me; EdgeHash *eh; } *data = userData;
Mesh *me= data->me;
MEdge *med = &me->medge[index];
uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2);
- if((me->drawflag & ME_DRAWSEAMS) && (med->flag&ME_SEAM)) {
- return 0;
- } else if(me->drawflag & ME_DRAWEDGES){
- if (me->drawflag & ME_HIDDENEDGES) {
+ if(me->drawflag & ME_DRAWEDGES) {
+ if(me->drawflag & ME_HIDDENEDGES)
return 1;
- } else {
- return (flags & eEdge_Visible);
- }
- } else {
- return (flags & eEdge_Select);
- }
-}
-
-static int draw_tfaces3D__setSeamOpts(void *userData, int index)
-{
- struct { Mesh *me; EdgeHash *eh; } *data = userData;
- Mesh *me= data->me;
- MEdge *med = &data->me->medge[index];
- uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2);
-
- if (med->flag & ME_SEAM) {
- if (me->drawflag & ME_HIDDENEDGES) {
- return 1;
- } else {
+ else
return (flags & eEdge_Visible);
- }
- } else {
- return 0;
}
+ else
+ return (flags & eEdge_Select);
}
-static int draw_tfaces3D__setSelectOpts(void *userData, int index)
+static int draw_mesh_face_select__setSelectOpts(void *userData, int index)
{
struct { Mesh *me; EdgeHash *eh; } *data = userData;
MEdge *med = &data->me->medge[index];
@@ -170,45 +144,19 @@ static int draw_tfaces3D__setSelectOpts(void *userData, int index)
return flags & eEdge_Select;
}
-#if 0
-static int draw_tfaces3D__setActiveOpts(void *userData, int index)
-{
- struct { Mesh *me; EdgeHash *eh; } *data = userData;
- MEdge *med = &data->me->medge[index];
- uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2);
-
- if (flags & eEdge_Select) {
- return 1;
- } else {
- return 0;
- }
-}
-
-static int draw_tfaces3D__drawFaceOpts(void *userData, int index)
-{
- Mesh *me = (Mesh*)userData;
-
- MFace *mface = &me->mface[index];
- if (!(mface->flag&ME_HIDE) && (mface->flag&ME_FACE_SEL))
- return 2; /* Don't set color */
- else
- return 0;
-}
-#endif
-
/* draws unselected */
-static int draw_tfaces3D__drawFaceOptsInv(void *userData, int index)
+static int draw_mesh_face_select__drawFaceOptsInv(void *userData, int index)
{
Mesh *me = (Mesh*)userData;
MFace *mface = &me->mface[index];
- if (!(mface->flag&ME_HIDE) && !(mface->flag&ME_FACE_SEL))
+ if(!(mface->flag&ME_HIDE) && !(mface->flag&ME_FACE_SEL))
return 2; /* Don't set color */
else
return 0;
}
-static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short draw_seams)
+static void draw_mesh_face_select(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm)
{
struct { Mesh *me; EdgeHash *eh; } data;
@@ -222,30 +170,16 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short d
/* Draw (Hidden) Edges */
setlinestyle(1);
UI_ThemeColor(TH_EDGE_FACESEL);
- dm->drawMappedEdges(dm, draw_tfaces3D__setHiddenOpts, &data);
+ dm->drawMappedEdges(dm, draw_mesh_face_select__setHiddenOpts, &data);
setlinestyle(0);
- /* Draw Seams */
- if(draw_seams && me->drawflag & ME_DRAWSEAMS) {
- UI_ThemeColor(TH_EDGE_SEAM);
- glLineWidth(2);
- dm->drawMappedEdges(dm, draw_tfaces3D__setSeamOpts, &data);
- glLineWidth(1);
- }
-
/* Draw Selected Faces */
if(me->drawflag & ME_DRAWFACES) {
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-#if 0
- UI_ThemeColor4(TH_FACE_SELECT);
-
- dm->drawMappedFacesTex(dm, draw_tfaces3D__drawFaceOpts, (void*)me);
-#else
/* dull unselected faces so as not to get in the way of seeing color */
glColor4ub(96, 96, 96, 64);
- dm->drawMappedFacesTex(dm, draw_tfaces3D__drawFaceOptsInv, (void*)me);
-#endif
+ dm->drawMappedFacesTex(dm, draw_mesh_face_select__drawFaceOptsInv, (void*)me);
glDisable(GL_BLEND);
}
@@ -255,7 +189,7 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short d
/* Draw Stippled Outline for selected faces */
glColor3ub(255, 255, 255);
setlinestyle(1);
- dm->drawMappedEdges(dm, draw_tfaces3D__setSelectOpts, &data);
+ dm->drawMappedEdges(dm, draw_mesh_face_select__setSelectOpts, &data);
setlinestyle(0);
bglPolygonOffset(rv3d->dist, 0.0); // resets correctly now, even after calling accumulated offsets
@@ -263,6 +197,8 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short d
BLI_edgehash_free(data.eh, NULL);
}
+/***************************** Texture Drawing ******************************/
+
static Material *give_current_material_or_def(Object *ob, int matnr)
{
extern Material defmaterial; // render module abuse...
@@ -668,18 +604,21 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o
if(ob->mode & OB_MODE_EDIT) {
dm->drawMappedFacesTex(dm, draw_em_tf_mapped__set_draw, me->edit_mesh);
- } else if(faceselect) {
+ }
+ else if(faceselect) {
if(ob->mode & OB_MODE_WEIGHT_PAINT)
- dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me, 1, GPU_enable_material);
+ dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me, 1, GPU_enable_material, NULL);
else
dm->drawMappedFacesTex(dm, me->mface ? draw_tface_mapped__set_draw : NULL, me);
}
else {
- if( GPU_buffer_legacy(dm) )
+ if(GPU_buffer_legacy(dm)) {
dm->drawFacesTex(dm, draw_tface__set_draw_legacy);
+ }
else {
- if( !CustomData_has_layer(&dm->faceData,CD_TEXTURE_MCOL) )
+ if(!CustomData_has_layer(&dm->faceData,CD_TEXTURE_MCOL))
add_tface_color_layer(dm);
+
dm->drawFacesTex(dm, draw_tface__set_draw);
}
}
@@ -692,7 +631,7 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o
/* draw edges and selected faces over textured mesh */
if(!(ob == scene->obedit) && faceselect)
- draw_tfaces3D(rv3d, me, dm, ob->mode & OB_MODE_WEIGHT_PAINT);
+ draw_mesh_face_select(rv3d, me, dm);
/* reset from negative scale correction */
glFrontFace(GL_CCW);
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 391eecbbbae..d573198aa10 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -45,6 +45,7 @@
#include "DNA_meta_types.h"
#include "DNA_scene_types.h"
#include "DNA_smoke_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_world_types.h"
#include "DNA_armature_types.h"
@@ -215,7 +216,7 @@ int draw_glsl_material(Scene *scene, Object *ob, View3D *v3d, int dt)
if(ob==OBACT && (ob && ob->mode & OB_MODE_WEIGHT_PAINT))
return 0;
- return (scene->gm.matmode == GAME_MAT_GLSL) && (dt >= OB_SHADED);
+ return (scene->gm.matmode == GAME_MAT_GLSL) && (dt > OB_SOLID);
}
static int check_material_alpha(Base *base, Mesh *me, int glsl)
@@ -1335,6 +1336,11 @@ static void draw_focus_cross(float dist, float size)
glEnd();
}
+#ifdef VIEW3D_CAMERA_BORDER_HACK
+float view3d_camera_border_hack_col[4];
+short view3d_camera_border_hack_test= FALSE;
+#endif
+
/* flag similar to draw_object() */
static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob, int flag)
{
@@ -1348,7 +1354,15 @@ static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob
const float scax= 1.0f / len_v3(ob->obmat[0]);
const float scay= 1.0f / len_v3(ob->obmat[1]);
const float scaz= 1.0f / len_v3(ob->obmat[2]);
-
+
+#ifdef VIEW3D_CAMERA_BORDER_HACK
+ if(is_view && !(G.f & G_PICKSEL)) {
+ glGetFloatv(GL_CURRENT_COLOR, view3d_camera_border_hack_col);
+ view3d_camera_border_hack_test= TRUE;
+ return;
+ }
+#endif
+
cam= ob->data;
aspx= (float) scene->r.xsch*scene->r.xasp;
aspy= (float) scene->r.ysch*scene->r.yasp;
@@ -1478,6 +1492,47 @@ static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob
}
}
+/* flag similar to draw_object() */
+static void drawspeaker(Scene *UNUSED(scene), View3D *UNUSED(v3d), RegionView3D *UNUSED(rv3d), Object *UNUSED(ob), int UNUSED(flag))
+{
+ //Speaker *spk = ob->data;
+
+ float vec[3];
+ int i, j;
+
+ glEnable(GL_BLEND);
+
+ for(j = 0; j < 3; j++) {
+ vec[2] = 0.25f * j -0.125f;
+
+ glBegin(GL_LINE_LOOP);
+ for(i = 0; i < 16; i++) {
+ vec[0] = cosf(M_PI * i / 8.0f) * (j == 0 ? 0.5f : 0.25f);
+ vec[1] = sinf(M_PI * i / 8.0f) * (j == 0 ? 0.5f : 0.25f);
+ glVertex3fv(vec);
+ }
+ glEnd();
+ }
+
+ for(j = 0; j < 4; j++) {
+ vec[0] = (((j + 1) % 2) * (j - 1)) * 0.5f;
+ vec[1] = ((j % 2) * (j - 2)) * 0.5f;
+ glBegin(GL_LINE_STRIP);
+ for(i = 0; i < 3; i++) {
+ if(i == 1) {
+ vec[0] *= 0.5f;
+ vec[1] *= 0.5f;
+ }
+
+ vec[2] = 0.25f * i -0.125f;
+ glVertex3fv(vec);
+ }
+ glEnd();
+ }
+
+ glDisable(GL_BLEND);
+}
+
static void lattice_draw_verts(Lattice *lt, DispList *dl, short sel)
{
BPoint *bp = lt->def;
@@ -2017,6 +2072,28 @@ static int draw_dm_faces_sel__setDrawOptions(void *userData, int index, int *UNU
return 0;
}
+static int draw_dm_faces_sel__compareDrawOptions(void *userData, int index, int next_index)
+{
+ struct { unsigned char *cols[3]; EditFace *efa_act; } * data = userData;
+ EditFace *efa = EM_get_face_for_index(index);
+ EditFace *next_efa = EM_get_face_for_index(next_index);
+ unsigned char *col, *next_col;
+
+ if(efa == next_efa)
+ return 1;
+
+ if(efa == data->efa_act || next_efa == data->efa_act)
+ return 0;
+
+ col = data->cols[(efa->f&SELECT)?1:0];
+ next_col = data->cols[(next_efa->f&SELECT)?1:0];
+
+ if(col[3]==0 || next_col[3]==0)
+ return 0;
+
+ return col == next_col;
+}
+
/* also draws the active face */
static void draw_dm_faces_sel(DerivedMesh *dm, unsigned char *baseCol, unsigned char *selCol, unsigned char *actCol, EditFace *efa_act)
{
@@ -2026,7 +2103,7 @@ static void draw_dm_faces_sel(DerivedMesh *dm, unsigned char *baseCol, unsigned
data.cols[2] = actCol;
data.efa_act = efa_act;
- dm->drawMappedFaces(dm, draw_dm_faces_sel__setDrawOptions, &data, 0, GPU_enable_material);
+ dm->drawMappedFaces(dm, draw_dm_faces_sel__setDrawOptions, &data, 0, GPU_enable_material, draw_dm_faces_sel__compareDrawOptions);
}
static int draw_dm_creases__setDrawOptions(void *UNUSED(userData), int index)
@@ -2354,7 +2431,20 @@ static void draw_em_measure_stats(View3D *v3d, RegionView3D *rv3d, Object *ob, E
}
}
}
-
+
+ /* useful for debugging index vs shape key index */
+#if 0
+ {
+ EditVert *eve;
+ int j;
+ UI_GetThemeColor3ubv(TH_DRAWEXTRA_FACEANG, col);
+ for(eve= em->verts.first, j= 0; eve; eve= eve->next, j++) {
+ sprintf(val, "%d:%d", j, eve->keyindex);
+ view3d_cached_text_draw_add(eve->co, val, 0, V3D_CACHE_TEXT_ASCII, col);
+ }
+ }
+#endif
+
if(v3d->zbuf) {
glEnable(GL_DEPTH_TEST);
bglPolygonOffset(rv3d->dist, 0.0f);
@@ -2423,7 +2513,7 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object
glEnable(GL_LIGHTING);
glFrontFace((ob->transflag&OB_NEG_SCALE)?GL_CW:GL_CCW);
- finalDM->drawMappedFaces(finalDM, draw_em_fancy__setFaceOpts, NULL, 0, GPU_enable_material);
+ finalDM->drawMappedFaces(finalDM, draw_em_fancy__setFaceOpts, NULL, 0, GPU_enable_material, NULL);
glFrontFace(GL_CCW);
glDisable(GL_LIGHTING);
@@ -2584,7 +2674,6 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
const short is_paint_sel= (ob==OBACT && paint_facesel_test(ob));
int draw_wire = 0;
int /* totvert,*/ totedge, totface;
- DispList *dl;
DerivedMesh *dm= mesh_get_derived_final(scene, ob, scene->customdata_mask);
if(!dm)
@@ -2653,7 +2742,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
/* weight paint in solid mode, special case. focus on making the weights clear
* rather than the shading, this is also forced in wire view */
GPU_enable_material(0, NULL);
- dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me->mface, 1, GPU_enable_material);
+ dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me->mface, 1, GPU_enable_material, NULL);
bglPolygonOffset(rv3d->dist, 1.0);
glDepthMask(0); // disable write in zbuffer, selected edge wires show better
@@ -2718,10 +2807,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
}
}
else if(dt==OB_SHADED) {
- int do_draw= 1; /* to resolve all G.f settings below... */
-
if(ob==OBACT) {
- do_draw= 0;
if(ob && ob->mode & OB_MODE_WEIGHT_PAINT) {
/* enforce default material settings */
GPU_enable_material(0, NULL);
@@ -2736,7 +2822,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
glEnable(GL_LIGHTING);
glEnable(GL_COLOR_MATERIAL);
- dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me->mface, 1, GPU_enable_material);
+ dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me->mface, 1, GPU_enable_material, NULL);
glDisable(GL_COLOR_MATERIAL);
glDisable(GL_LIGHTING);
@@ -2744,44 +2830,12 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
}
else if(ob->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_TEXTURE_PAINT)) {
if(me->mcol)
- dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, NULL, 1, GPU_enable_material);
+ dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, NULL, 1, GPU_enable_material, NULL);
else {
glColor3f(1.0f, 1.0f, 1.0f);
- dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, NULL, 0, GPU_enable_material);
+ dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, NULL, 0, GPU_enable_material, NULL);
}
}
- else do_draw= 1;
- }
- if(do_draw) {
- dl = ob->disp.first;
- if (!dl || !dl->col1) {
- /* release and reload derivedmesh because it might be freed in
- shadeDispList due to a different datamask */
- dm->release(dm);
- shadeDispList(scene, base);
- dl = find_displist(&ob->disp, DL_VERTCOL);
- dm= mesh_get_derived_final(scene, ob, scene->customdata_mask);
- }
-
- if ((v3d->flag&V3D_SELECT_OUTLINE) && ((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) && (base->flag&SELECT) && !draw_wire) {
- draw_mesh_object_outline(v3d, ob, dm);
- }
-
- /* False for dupliframe objects */
- if (dl) {
- unsigned int *obCol1 = dl->col1;
- unsigned int *obCol2 = dl->col2;
-
- dm->drawFacesColored(dm, me->flag&ME_TWOSIDED, (unsigned char*) obCol1, (unsigned char*) obCol2);
- }
-
- if(base->flag & SELECT) {
- UI_ThemeColor((ob==OBACT)?TH_ACTIVE:TH_SELECT);
- } else {
- UI_ThemeColor(TH_WIRE);
- }
- if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0)
- dm->drawLooseEdges(dm);
}
}
@@ -2854,7 +2908,18 @@ static int draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
Object *obedit= scene->obedit;
Mesh *me= ob->data;
EditMesh *em= me->edit_mesh;
- int do_alpha_pass= 0, drawlinked= 0, retval= 0, glsl, check_alpha;
+ int do_alpha_pass= 0, drawlinked= 0, retval= 0, glsl, check_alpha, i;
+
+ /* If we are drawing shadows and any of the materials don't cast a shadow,
+ * then don't draw the object */
+ if (v3d->flag2 & V3D_RENDER_SHADOW) {
+ for(i=0; i<ob->totcol; ++i) {
+ Material *ma= give_current_material(ob, i);
+ if (ma && !(ma->mode & MA_SHADBUF)) {
+ return 1;
+ }
+ }
+ }
if(obedit && ob!=obedit && ob->data==obedit->data) {
if(ob_get_key(ob) || ob_get_key(obedit));
@@ -3139,57 +3204,6 @@ static void drawDispListsolid(ListBase *lb, Object *ob, int glsl)
glFrontFace(GL_CCW);
}
-static void drawDispListshaded(ListBase *lb, Object *ob)
-{
- DispList *dl, *dlob;
- unsigned int *cdata;
-
- if(lb==NULL) return;
-
- glShadeModel(GL_SMOOTH);
- glEnableClientState(GL_VERTEX_ARRAY);
- glEnableClientState(GL_COLOR_ARRAY);
-
- dl= lb->first;
- dlob= ob->disp.first;
- while(dl && dlob) {
-
- cdata= dlob->col1;
- if(cdata==NULL) break;
-
- switch(dl->type) {
- case DL_SURF:
- if(dl->index) {
- glVertexPointer(3, GL_FLOAT, 0, dl->verts);
- glColorPointer(4, GL_UNSIGNED_BYTE, 0, cdata);
- glDrawElements(GL_QUADS, 4*dl->totindex, GL_UNSIGNED_INT, dl->index);
- }
- break;
-
- case DL_INDEX3:
-
- glVertexPointer(3, GL_FLOAT, 0, dl->verts);
- glColorPointer(4, GL_UNSIGNED_BYTE, 0, cdata);
- glDrawElements(GL_TRIANGLES, 3*dl->parts, GL_UNSIGNED_INT, dl->index);
- break;
-
- case DL_INDEX4:
-
- glVertexPointer(3, GL_FLOAT, 0, dl->verts);
- glColorPointer(4, GL_UNSIGNED_BYTE, 0, cdata);
- glDrawElements(GL_QUADS, 4*dl->parts, GL_UNSIGNED_INT, dl->index);
- break;
- }
-
- dl= dl->next;
- dlob= dlob->next;
- }
-
- glShadeModel(GL_FLAT);
- glDisableClientState(GL_VERTEX_ARRAY);
- glDisableClientState(GL_COLOR_ARRAY);
-}
-
static void drawCurveDMWired(Object *ob)
{
DerivedMesh *dm = ob->derivedFinal;
@@ -3270,10 +3284,6 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas
drawDispListsolid(lb, ob, 1);
GPU_end_object_materials();
}
- else if(dt == OB_SHADED) {
- if(ob->disp.first==NULL) shadeDispList(scene, base);
- drawDispListshaded(lb, ob);
- }
else {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 0, NULL);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0);
@@ -3312,10 +3322,6 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas
drawDispListsolid(lb, ob, 1);
GPU_end_object_materials();
}
- else if(dt==OB_SHADED) {
- if(ob->disp.first==NULL) shadeDispList(scene, base);
- drawDispListshaded(lb, ob);
- }
else {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 0, NULL);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0);
@@ -3341,11 +3347,6 @@ static int drawDispList(Scene *scene, View3D *v3d, RegionView3D *rv3d, Base *bas
drawDispListsolid(lb, ob, 1);
GPU_end_object_materials();
}
- else if(dt == OB_SHADED) {
- dl= lb->first;
- if(dl && dl->col1==NULL) shadeDispList(scene, base);
- drawDispListshaded(lb, ob);
- }
else {
GPU_begin_object_materials(v3d, rv3d, scene, ob, 0, NULL);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0);
@@ -3713,8 +3714,6 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv
bb.align = part->bb_align;
bb.anim = part->bb_anim;
bb.lock = part->draw & PART_DRAW_BB_LOCK;
- bb.offset[0] = part->bb_offset[0];
- bb.offset[1] = part->bb_offset[1];
break;
case PART_DRAW_PATH:
break;
@@ -3884,7 +3883,20 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv
/* create actiual particle data */
if(draw_as == PART_DRAW_BB) {
- bb.size = pa_size;
+ bb.offset[0] = part->bb_offset[0];
+ bb.offset[1] = part->bb_offset[1];
+ bb.size[0] = part->bb_size[0] * pa_size;
+ if (part->bb_align==PART_BB_VEL) {
+ float pa_vel = len_v3(state.vel);
+ float head = part->bb_vel_head*pa_vel;
+ float tail = part->bb_vel_tail*pa_vel;
+ bb.size[1] = part->bb_size[1]*pa_size + head + tail;
+ /* use offset to adjust the particle center. this is relative to size, so need to divide! */
+ if (bb.size[1] > 0.0f)
+ bb.offset[1] += (head-tail) / bb.size[1];
+ }
+ else
+ bb.size[1] = part->bb_size[1] * pa_size;
bb.tilt = part->bb_tilt * (1.0f - part->bb_rand_tilt * r_tilt);
bb.time = ct;
}
@@ -3904,7 +3916,20 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv
/* create actiual particle data */
if(draw_as == PART_DRAW_BB) {
- bb.size = pa_size;
+ bb.offset[0] = part->bb_offset[0];
+ bb.offset[1] = part->bb_offset[1];
+ bb.size[0] = part->bb_size[0] * pa_size;
+ if (part->bb_align==PART_BB_VEL) {
+ float pa_vel = len_v3(state.vel);
+ float head = part->bb_vel_head*pa_vel;
+ float tail = part->bb_vel_tail*pa_vel;
+ bb.size[1] = part->bb_size[1]*pa_size + head + tail;
+ /* use offset to adjust the particle center. this is relative to size, so need to divide! */
+ if (bb.size[1] > 0.0f)
+ bb.offset[1] += (head-tail) / bb.size[1];
+ }
+ else
+ bb.size[1] = part->bb_size[1] * pa_size;
bb.tilt = part->bb_tilt * (1.0f - part->bb_rand_tilt * r_tilt);
bb.time = pa_time;
}
@@ -5540,8 +5565,8 @@ static void drawObjectSelect(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
}
}
else if(ob->type==OB_ARMATURE) {
- if(!(ob->mode & OB_MODE_POSE))
- draw_armature(scene, v3d, ar, base, OB_WIRE, 0);
+ if(!(ob->mode & OB_MODE_POSE && base == scene->basact))
+ draw_armature(scene, v3d, ar, base, OB_WIRE, FALSE, TRUE);
}
glLineWidth(1.0);
@@ -5797,7 +5822,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
/* if( ((int)ob->ctime) != F_(scene->r.cfra)) where_is_object(scene, ob); */
/* draw motion paths (in view space) */
- if (ob->mpath) {
+ if (ob->mpath && (v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
bAnimVizSettings *avs= &ob->avs;
/* setup drawing environment for paths */
@@ -5812,7 +5837,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
/* multiply view with object matrix.
* local viewmat and persmat, to calculate projections */
- ED_view3d_init_mats_rv3d(ob, rv3d);
+ ED_view3d_init_mats_rv3d_gl(ob, rv3d);
/* which wire color */
if((flag & DRAW_CONSTCOLOR) == 0) {
@@ -5822,6 +5847,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
else {
if(ob->type==OB_LAMP) UI_ThemeColor(TH_LAMP);
+ else if(ob->type==OB_SPEAKER) UI_ThemeColor(TH_SPEAKER);
else UI_ThemeColor(TH_WIRE);
if((scene->basact)==base) {
@@ -6069,6 +6095,10 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0 || (rv3d->persp==RV3D_CAMOB && v3d->camera==ob)) /* special exception for active camera */
drawcamera(scene, v3d, rv3d, ob, flag);
break;
+ case OB_SPEAKER:
+ if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0)
+ drawspeaker(scene, v3d, rv3d, ob, flag);
+ break;
case OB_LATTICE:
if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
drawlattice(scene, v3d, ob);
@@ -6077,7 +6107,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
case OB_ARMATURE:
if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
if(dt>OB_WIRE) GPU_enable_material(0, NULL); // we use default material
- empty_object= draw_armature(scene, v3d, ar, base, dt, flag);
+ empty_object= draw_armature(scene, v3d, ar, base, dt, flag, FALSE);
if(dt>OB_WIRE) GPU_disable_material();
}
break;
@@ -6163,8 +6193,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
}
/* draw code for smoke */
- if((md = modifiers_findByType(ob, eModifierType_Smoke)))
- {
+ if((md = modifiers_findByType(ob, eModifierType_Smoke))) {
SmokeModifierData *smd = (SmokeModifierData *)md;
// draw collision objects
@@ -6311,7 +6340,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
}
}
- if(dt<OB_SHADED && (v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
+ if(dt<=OB_SOLID && (v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
if((ob->gameflag & OB_DYNAMIC) ||
((ob->gameflag & OB_BOUNDS) && (ob->boundtype == OB_BOUND_SPHERE))) {
float imat[4][4], vec[3]= {0.0f, 0.0f, 0.0f};
@@ -6499,7 +6528,7 @@ static void bbs_mesh_solid_EM(Scene *scene, View3D *v3d, Object *ob, DerivedMesh
cpack(0);
if (facecol) {
- dm->drawMappedFaces(dm, bbs_mesh_solid__setSolidDrawOptions, (void*)(intptr_t) 1, 0, GPU_enable_material);
+ dm->drawMappedFaces(dm, bbs_mesh_solid__setSolidDrawOptions, (void*)(intptr_t) 1, 0, GPU_enable_material, NULL);
if(check_ob_drawface_dot(scene, v3d, ob->dt)) {
glPointSize(UI_GetThemeValuef(TH_FACEDOT_SIZE));
@@ -6510,7 +6539,7 @@ static void bbs_mesh_solid_EM(Scene *scene, View3D *v3d, Object *ob, DerivedMesh
}
} else {
- dm->drawMappedFaces(dm, bbs_mesh_solid__setSolidDrawOptions, (void*) 0, 0, GPU_enable_material);
+ dm->drawMappedFaces(dm, bbs_mesh_solid__setSolidDrawOptions, (void*) 0, 0, GPU_enable_material, NULL);
}
}
@@ -6539,8 +6568,8 @@ static void bbs_mesh_solid(Scene *scene, Object *ob)
glColor3ub(0, 0, 0);
- if((me->editflag & ME_EDIT_PAINT_MASK)) dm->drawMappedFaces(dm, bbs_mesh_solid_hide__setDrawOpts, me, 0, GPU_enable_material);
- else dm->drawMappedFaces(dm, bbs_mesh_solid__setDrawOpts, me, 0, GPU_enable_material);
+ if((me->editflag & ME_EDIT_PAINT_MASK)) dm->drawMappedFaces(dm, bbs_mesh_solid_hide__setDrawOpts, me, 0, GPU_enable_material, NULL);
+ else dm->drawMappedFaces(dm, bbs_mesh_solid__setDrawOpts, me, 0, GPU_enable_material, NULL);
dm->release(dm);
}
@@ -6556,7 +6585,6 @@ void draw_object_backbufsel(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec
switch( ob->type) {
case OB_MESH:
- {
if(ob->mode & OB_MODE_EDIT) {
Mesh *me= ob->data;
EditMesh *em= me->edit_mesh;
@@ -6590,8 +6618,9 @@ void draw_object_backbufsel(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec
EM_free_index_arrays();
}
- else bbs_mesh_solid(scene, ob);
- }
+ else {
+ bbs_mesh_solid(scene, ob);
+ }
break;
case OB_CURVE:
case OB_SURF:
@@ -6647,7 +6676,7 @@ static void draw_object_mesh_instance(Scene *scene, View3D *v3d, RegionView3D *r
GPU_end_object_materials();
}
else if(edm)
- edm->drawMappedFaces(edm, NULL, NULL, 0, GPU_enable_material);
+ edm->drawMappedFaces(edm, NULL, NULL, 0, GPU_enable_material, NULL);
glDisable(GL_LIGHTING);
}
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index fb67e38cbf7..6833dec2e43 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -208,13 +208,18 @@ void ED_view3d_init_mats_rv3d(struct Object *ob, struct RegionView3D *rv3d)
mul_m4_m4m4(rv3d->viewmatob, ob->obmat, rv3d->viewmat);
mul_m4_m4m4(rv3d->persmatob, ob->obmat, rv3d->persmat);
+ /* initializes object space clipping, speeds up clip tests */
+ ED_view3d_local_clipping(rv3d, ob->obmat);
+}
+
+void ED_view3d_init_mats_rv3d_gl(struct Object *ob, struct RegionView3D *rv3d)
+{
+ ED_view3d_init_mats_rv3d(ob, rv3d);
+
/* we have to multiply instead of loading viewmatob to make
it work with duplis using displists, otherwise it will
override the dupli-matrix */
glMultMatrixf(ob->obmat);
-
- /* initializes object space clipping, speeds up clip tests */
- ED_view3d_local_clipping(rv3d, ob->obmat);
}
/* ******************** default callbacks for view3d space ***************** */
diff --git a/source/blender/editors/space_view3d/view3d_buttons.c b/source/blender/editors/space_view3d/view3d_buttons.c
index 549a547b846..6e03866153f 100644
--- a/source/blender/editors/space_view3d/view3d_buttons.c
+++ b/source/blender/editors/space_view3d/view3d_buttons.c
@@ -966,13 +966,13 @@ static void v3d_editarmature_buts(uiLayout *layout, Object *ob)
ebone= arm->act_edbone;
- if (!ebone || (ebone->layer & arm->layer)==0)
+ if (!ebone || (ebone->layer & arm->layer)==0) {
+ uiItemL(layout, "Nothing selected", ICON_NONE);
return;
-
+ }
// row= uiLayoutRow(layout, 0);
RNA_pointer_create(&arm->id, &RNA_EditBone, ebone, &eboneptr);
-
col= uiLayoutColumn(layout, 0);
uiItemR(col, &eboneptr, "head", 0, "Head", ICON_NONE);
if (ebone->parent && ebone->flag & BONE_CONNECTED ) {
@@ -1256,7 +1256,7 @@ static void view3d_panel_object(const bContext *C, Panel *pa)
if(ob==obedit) {
if(ob->type==OB_ARMATURE) v3d_editarmature_buts(col, ob);
- if(ob->type==OB_MBALL) v3d_editmetaball_buts(col, ob);
+ else if(ob->type==OB_MBALL) v3d_editmetaball_buts(col, ob);
else v3d_editvertex_buts(col, v3d, ob, lim);
}
else if(ob->mode & OB_MODE_POSE) {
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index 573951da4ca..98768e369cb 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -627,7 +627,7 @@ static void draw_view_axis(RegionView3D *rv3d)
glEnd();
if (fabsf(dx) > toll || fabsf(dy) > toll) {
- BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "x", 1);
+ BLF_draw_default_ascii(start + dx + 2, start + dy + ydisp + 2, 0.0f, "x", 1);
}
/* BLF_draw_default disables blending */
@@ -647,7 +647,7 @@ static void draw_view_axis(RegionView3D *rv3d)
glEnd();
if (fabsf(dx) > toll || fabsf(dy) > toll) {
- BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "y", 1);
+ BLF_draw_default_ascii(start + dx + 2, start + dy + ydisp + 2, 0.0f, "y", 1);
}
glEnable(GL_BLEND);
@@ -666,7 +666,7 @@ static void draw_view_axis(RegionView3D *rv3d)
glEnd();
if (fabsf(dx) > toll || fabsf(dy) > toll) {
- BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "z", 1);
+ BLF_draw_default_ascii(start + dx + 2, start + dy + ydisp + 2, 0.0f, "z", 1);
}
/* restore line-width */
@@ -675,6 +675,104 @@ static void draw_view_axis(RegionView3D *rv3d)
glDisable(GL_BLEND);
}
+/* draw center and axis of rotation for ongoing 3D mouse navigation */
+static void draw_rotation_guide(RegionView3D *rv3d)
+{
+ float o[3]; // center of rotation
+ float end[3]; // endpoints for drawing
+
+ float color[4] = {0.f ,0.4235f, 1.f, 1.f}; // bright blue so it matches device LEDs
+
+ negate_v3_v3(o, rv3d->ofs);
+
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glShadeModel(GL_SMOOTH);
+ glPointSize(5);
+ glEnable(GL_POINT_SMOOTH);
+ glDepthMask(0); // don't overwrite zbuf
+
+ if (rv3d->rot_angle != 0.f) {
+ // -- draw rotation axis --
+ float scaled_axis[3];
+ const float scale = rv3d->dist;
+ mul_v3_v3fl(scaled_axis, rv3d->rot_axis, scale);
+
+ glBegin(GL_LINE_STRIP);
+ color[3] = 0.f; // more transparent toward the ends
+ glColor4fv(color);
+ add_v3_v3v3(end, o, scaled_axis);
+ glVertex3fv(end);
+
+ // color[3] = 0.2f + fabsf(rv3d->rot_angle); // modulate opacity with angle
+ // ^^ neat idea, but angle is frame-rate dependent, so it's usually close to 0.2
+
+ color[3] = 0.5f; // more opaque toward the center
+ glColor4fv(color);
+ glVertex3fv(o);
+
+ color[3] = 0.f;
+ glColor4fv(color);
+ sub_v3_v3v3(end, o, scaled_axis);
+ glVertex3fv(end);
+ glEnd();
+
+ // -- draw ring around rotation center --
+ {
+ #define ROT_AXIS_DETAIL 13
+ const float s = 0.05f * scale;
+ const float step = 2.f * (float)(M_PI / ROT_AXIS_DETAIL);
+ float angle;
+ int i;
+
+ float q[4]; // rotate ring so it's perpendicular to axis
+ const int upright = fabsf(rv3d->rot_axis[2]) >= 0.95f;
+ if (!upright)
+ {
+ const float up[3] = {0.f, 0.f, 1.f};
+ float vis_angle, vis_axis[3];
+
+ cross_v3_v3v3(vis_axis, up, rv3d->rot_axis);
+ vis_angle = acosf(dot_v3v3(up, rv3d->rot_axis));
+ axis_angle_to_quat(q, vis_axis, vis_angle);
+ }
+
+ color[3] = 0.25f; // somewhat faint
+ glColor4fv(color);
+ glBegin(GL_LINE_LOOP);
+ for (i = 0, angle = 0.f; i < ROT_AXIS_DETAIL; ++i, angle += step)
+ {
+ float p[3] = { s * cosf(angle), s * sinf(angle), 0.f };
+
+ if (!upright)
+ mul_qt_v3(q, p);
+
+ add_v3_v3(p, o);
+ glVertex3fv(p);
+ }
+ glEnd();
+ }
+
+ color[3] = 1.f; // solid dot
+ }
+ else
+ color[3] = 0.5f; // see-through dot
+
+ // -- draw rotation center --
+ glColor4fv(color);
+ glBegin(GL_POINTS);
+ glVertex3fv(o);
+ glEnd();
+
+ // find screen coordinates for rotation center, then draw pretty icon
+ // mul_m4_v3(rv3d->persinv, rot_center);
+ // UI_icon_draw(rot_center[0], rot_center[1], ICON_NDOF_TURN);
+ // ^^ just playing around, does not work
+
+ glDisable(GL_BLEND);
+ glDisable(GL_POINT_SMOOTH);
+ glDepthMask(1);
+}
static void draw_view_icon(RegionView3D *rv3d)
{
@@ -757,7 +855,7 @@ static void draw_viewport_name(ARegion *ar, View3D *v3d)
if (name) {
UI_ThemeColor(TH_TEXT_HI);
- BLF_draw_default(22, ar->winy-17, 0.0f, name, sizeof(tmpstr));
+ BLF_draw_default_ascii(22, ar->winy-17, 0.0f, name, sizeof(tmpstr));
}
}
@@ -943,7 +1041,7 @@ static void drawviewborder_triangle(float x1, float x2, float y1, float y2, cons
glBegin(GL_LINES);
if(w > h) {
if(golden) {
- ofs = w * (1.0f-(1.0f/1.61803399));
+ ofs = w * (1.0f-(1.0f/1.61803399f));
}
else {
ofs = h * (h / w);
@@ -961,7 +1059,7 @@ static void drawviewborder_triangle(float x1, float x2, float y1, float y2, cons
}
else {
if(golden) {
- ofs = h * (1.0f-(1.0f/1.61803399));
+ ofs = h * (1.0f-(1.0f/1.61803399f));
}
else {
ofs = w * (w / h);
@@ -1007,6 +1105,8 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
/* note: quite un-scientific but without this bit extra
* 0.0001 on the lower left the 2D border sometimes
* obscures the 3D camera border */
+ /* note: with VIEW3D_CAMERA_BORDER_HACK defined this error isn't noticable
+ * but keep it here incase we need to remove the workaround */
x1i= (int)(x1 - 1.0001f);
y1i= (int)(y1 - 1.0001f);
x2i= (int)(x2 + (1.0f-0.0001f));
@@ -1039,7 +1139,15 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
setlinestyle(0);
UI_ThemeColor(TH_BACK);
glRectf(x1i, y1i, x2i, y2i);
-
+
+#ifdef VIEW3D_CAMERA_BORDER_HACK
+ if(view3d_camera_border_hack_test == TRUE) {
+ glColor4fv(view3d_camera_border_hack_col);
+ glRectf(x1i+1, y1i+1, x2i-1, y2i-1);
+ view3d_camera_border_hack_test= FALSE;
+ }
+#endif
+
setlinestyle(3);
UI_ThemeColor(TH_WIRE);
glRectf(x1i, y1i, x2i, y2i);
@@ -1093,7 +1201,7 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
if (ca->dtx & CAM_DTX_GOLDEN) {
UI_ThemeColorBlendShade(TH_WIRE, TH_BACK, 0.25, 0);
- drawviewborder_grid3(x1, x2, y1, y2, 1.0f-(1.0f/1.61803399));
+ drawviewborder_grid3(x1, x2, y1, y2, 1.0f-(1.0f/1.61803399f));
}
if (ca->dtx & CAM_DTX_GOLDEN_TRI_A) {
@@ -2045,7 +2153,7 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d)
v3d->drawtype = OB_SOLID;
v3d->lay &= GPU_lamp_shadow_layer(shadow->lamp);
v3d->flag2 &= ~V3D_SOLID_TEX;
- v3d->flag2 |= V3D_RENDER_OVERRIDE;
+ v3d->flag2 |= V3D_RENDER_OVERRIDE | V3D_RENDER_SHADOW;
GPU_lamp_shadow_buffer_bind(shadow->lamp, viewmat, &winsize, winmat);
@@ -2074,10 +2182,6 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d)
CustomDataMask ED_view3d_datamask(Scene *scene, View3D *v3d)
{
CustomDataMask mask= 0;
- if(v3d->drawtype == OB_SHADED) {
- /* this includes normals for mesh_create_shadedColors */
- mask |= CD_MASK_MTFACE | CD_MASK_MCOL | CD_MASK_NORMAL | CD_MASK_ORCO;
- }
if((v3d->drawtype == OB_TEXTURE) || ((v3d->drawtype == OB_SOLID) && (v3d->flag2 & V3D_SOLID_TEX))) {
mask |= CD_MASK_MTFACE | CD_MASK_MCOL;
@@ -2168,6 +2272,7 @@ static void view3d_main_area_setup_view(Scene *scene, View3D *v3d, ARegion *ar,
void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx, int winy, float viewmat[][4], float winmat[][4])
{
+ RegionView3D *rv3d= ar->regiondata;
Base *base;
float backcol[3];
int bwinx, bwiny;
@@ -2216,6 +2321,9 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx,
/* setup view matrices */
view3d_main_area_setup_view(scene, v3d, ar, viewmat, winmat);
+ if(rv3d->rflag & RV3D_CLIPPING)
+ view3d_draw_clipping(rv3d);
+
/* set zbuffer */
if(v3d->drawtype > OB_WIRE) {
v3d->zbuf= TRUE;
@@ -2224,6 +2332,9 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx,
else
v3d->zbuf= FALSE;
+ if(rv3d->rflag & RV3D_CLIPPING)
+ view3d_set_clipping(rv3d);
+
/* draw set first */
if(scene->set) {
Scene *sce_iter;
@@ -2259,6 +2370,9 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx,
if(v3d->afterdraw_xray.first) view3d_draw_xray(scene, ar, v3d, 1); // clears zbuffer if it is used!
if(v3d->afterdraw_xraytransp.first) view3d_draw_xraytransp(scene, ar, v3d, 1);
+ if(rv3d->rflag & RV3D_CLIPPING)
+ view3d_clr_clipping();
+
/* cleanup */
if(v3d->zbuf) {
v3d->zbuf= FALSE;
@@ -2426,7 +2540,7 @@ static void draw_viewport_fps(Scene *scene, ARegion *ar)
BLI_snprintf(printable, sizeof(printable), "fps: %i", (int)(fps+0.5f));
}
- BLF_draw_default(22, ar->winy-17, 0.0f, printable, sizeof(printable)-1);
+ BLF_draw_default_ascii(22, ar->winy-17, 0.0f, printable, sizeof(printable)-1);
}
/* warning: this function has duplicate drawing in ED_view3d_draw_offscreen() */
@@ -2610,6 +2724,10 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
BDR_drawSketch(C);
}
+ if ((U.ndof_flag & NDOF_SHOW_GUIDE) && (rv3d->viewlock != RV3D_LOCKED) && (rv3d->persp != RV3D_CAMOB))
+ // TODO: draw something else (but not this) during fly mode
+ draw_rotation_guide(rv3d);
+
ED_region_pixelspace(ar);
// retopo_paint_view_update(v3d);
@@ -2648,7 +2766,7 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
BLI_snprintf(tstr, sizeof(tstr), "%s x %.4g", grid_unit, v3d->grid);
}
- BLF_draw_default(22, ar->winy-(USER_SHOW_VIEWPORTNAME?40:20), 0.0f, tstr[0]?tstr : grid_unit, sizeof(tstr)); /* XXX, use real length */
+ BLF_draw_default_ascii(22, ar->winy-(USER_SHOW_VIEWPORTNAME?40:20), 0.0f, tstr[0]?tstr : grid_unit, sizeof(tstr)); /* XXX, use real length */
}
ob= OBACT;
@@ -2659,3 +2777,4 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
v3d->flag |= V3D_INVALID_BACKBUF;
}
+
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index 9ff73767b4c..19e8d42db2d 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -97,7 +97,8 @@ void ED_view3d_camera_lock_init(View3D *v3d, RegionView3D *rv3d)
}
}
-void ED_view3d_camera_lock_sync(View3D *v3d, RegionView3D *rv3d)
+/* return TRUE if the camera is moved */
+int ED_view3d_camera_lock_sync(View3D *v3d, RegionView3D *rv3d)
{
if(ED_view3d_camera_lock_check(v3d, rv3d)) {
Object *root_parent;
@@ -129,10 +130,14 @@ void ED_view3d_camera_lock_sync(View3D *v3d, RegionView3D *rv3d)
}
else {
ED_view3d_to_object(v3d->camera, rv3d->ofs, rv3d->viewquat, rv3d->dist);
- root_parent= v3d->camera;
DAG_id_tag_update(&v3d->camera->id, OB_RECALC_OB);
WM_main_add_notifier(NC_OBJECT|ND_TRANSFORM, v3d->camera);
}
+
+ return TRUE;
+ }
+ else {
+ return FALSE;
}
}
@@ -373,12 +378,12 @@ static void calctrackballvec(rcti *rect, int mx, int my, float *vec)
y/= (float)((rect->ymax - rect->ymin)/2);
d = sqrt(x*x + y*y);
- if (d < radius * (float)M_SQRT1_2) /* Inside sphere */
- z = sqrt(radius*radius - d*d);
- else
- { /* On hyperbola */
- t = radius / (float)M_SQRT2;
- z = t*t / d;
+ if (d < radius * (float)M_SQRT1_2) { /* Inside sphere */
+ z= sqrt(radius*radius - d*d);
+ }
+ else { /* On hyperbola */
+ t= radius / (float)M_SQRT2;
+ z= t*t / d;
}
vec[0]= x;
@@ -929,6 +934,253 @@ void VIEW3D_OT_rotate(wmOperatorType *ot)
ot->flag= OPTYPE_BLOCKING|OPTYPE_GRAB_POINTER;
}
+// NDOF utility functions
+// (should these functions live in this file?)
+float ndof_to_axis_angle(struct wmNDOFMotionData* ndof, float axis[3])
+{
+ return ndof->dt * normalize_v3_v3(axis, ndof->rvec);
+}
+
+void ndof_to_quat(struct wmNDOFMotionData* ndof, float q[4])
+{
+ float axis[3];
+ float angle;
+
+ angle= ndof_to_axis_angle(ndof, axis);
+ axis_angle_to_quat(q, axis, angle);
+}
+
+/* -- "orbit" navigation (trackball/turntable)
+ * -- zooming
+ * -- panning in rotationally-locked views
+ */
+static int ndof_orbit_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ if (event->type != NDOF_MOTION) {
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ View3D *v3d= CTX_wm_view3d(C);
+ RegionView3D* rv3d = CTX_wm_region_view3d(C);
+ wmNDOFMotionData* ndof = (wmNDOFMotionData*) event->customdata;
+
+ ED_view3d_camera_lock_init(v3d, rv3d);
+
+ rv3d->rot_angle = 0.f; // off by default, until changed later this function
+
+ if (ndof->progress != P_FINISHING) {
+ const float dt = ndof->dt;
+
+ // tune these until everything feels right
+ const float rot_sensitivity = 1.f;
+ const float zoom_sensitivity = 1.f;
+ const float pan_sensitivity = 1.f;
+
+ // rather have bool, but...
+ int has_rotation = rv3d->viewlock != RV3D_LOCKED && !is_zero_v3(ndof->rvec);
+
+ float view_inv[4];
+ invert_qt_qt(view_inv, rv3d->viewquat);
+
+ //#define DEBUG_NDOF_MOTION
+ #ifdef DEBUG_NDOF_MOTION
+ printf("ndof: T=(%.2f,%.2f,%.2f) R=(%.2f,%.2f,%.2f) dt=%.3f delivered to 3D view\n",
+ ndof->tx, ndof->ty, ndof->tz, ndof->rx, ndof->ry, ndof->rz, ndof->dt);
+ #endif
+
+ if (ndof->tvec[2]) {
+ // Zoom!
+ // velocity should be proportional to the linear velocity attained by rotational motion of same strength
+ // [got that?]
+ // proportional to arclength = radius * angle
+
+ float zoom_distance = zoom_sensitivity * rv3d->dist * dt * ndof->tvec[2];
+
+ if (U.ndof_flag & NDOF_ZOOM_INVERT)
+ zoom_distance = -zoom_distance;
+
+ rv3d->dist += zoom_distance;
+ }
+
+ if (rv3d->viewlock == RV3D_LOCKED) {
+ /* rotation not allowed -- explore panning options instead */
+ float pan_vec[3] = {ndof->tvec[0], ndof->tvec[1], 0.0f};
+ mul_v3_fl(pan_vec, pan_sensitivity * rv3d->dist * dt);
+
+ /* transform motion from view to world coordinates */
+ invert_qt_qt(view_inv, rv3d->viewquat);
+ mul_qt_v3(view_inv, pan_vec);
+
+ /* move center of view opposite of hand motion (this is camera mode, not object mode) */
+ sub_v3_v3(rv3d->ofs, pan_vec);
+ }
+
+ if (has_rotation) {
+
+ const int invert = U.ndof_flag & NDOF_ORBIT_INVERT_AXES;
+
+ rv3d->view = RV3D_VIEW_USER;
+
+ if (U.flag & USER_TRACKBALL) {
+ float rot[4];
+ float axis[3];
+ float angle = rot_sensitivity * ndof_to_axis_angle(ndof, axis);
+
+ if (invert)
+ angle = -angle;
+
+ // transform rotation axis from view to world coordinates
+ mul_qt_v3(view_inv, axis);
+
+ // update the onscreen doo-dad
+ rv3d->rot_angle = angle;
+ copy_v3_v3(rv3d->rot_axis, axis);
+
+ axis_angle_to_quat(rot, axis, angle);
+
+ // apply rotation
+ mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rot);
+ } else {
+ /* turntable view code by John Aughey, adapted for 3D mouse by [mce] */
+ float angle, rot[4];
+ float xvec[3] = {1,0,0};
+
+ /* Determine the direction of the x vector (for rotating up and down) */
+ mul_qt_v3(view_inv, xvec);
+
+ /* Perform the up/down rotation */
+ angle = rot_sensitivity * dt * ndof->rvec[0];
+ if (invert)
+ angle = -angle;
+ rot[0] = cos(angle);
+ mul_v3_v3fl(rot+1, xvec, sin(angle));
+ mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rot);
+
+ /* Perform the orbital rotation */
+ angle = rot_sensitivity * dt * ndof->rvec[1];
+ if (invert)
+ angle = -angle;
+
+ // update the onscreen doo-dad
+ rv3d->rot_angle = angle;
+ rv3d->rot_axis[0] = 0;
+ rv3d->rot_axis[1] = 0;
+ rv3d->rot_axis[2] = 1;
+
+ rot[0] = cos(angle);
+ rot[1] = rot[2] = 0.0;
+ rot[3] = sin(angle);
+ mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rot);
+ }
+ }
+ }
+
+ ED_view3d_camera_lock_sync(v3d, rv3d);
+
+ ED_region_tag_redraw(CTX_wm_region(C));
+
+ return OPERATOR_FINISHED;
+ }
+}
+
+void VIEW3D_OT_ndof_orbit(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "NDOF Orbit View";
+ ot->description = "Explore every angle of an object using the 3D mouse.";
+ ot->idname = "VIEW3D_OT_ndof_orbit";
+
+ /* api callbacks */
+ ot->invoke = ndof_orbit_invoke;
+ ot->poll = ED_operator_view3d_active;
+
+ /* flags */
+ ot->flag = 0;
+}
+
+/* -- "pan" navigation
+ * -- zoom or dolly?
+ */
+static int ndof_pan_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ if (event->type != NDOF_MOTION) {
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ View3D *v3d= CTX_wm_view3d(C);
+ RegionView3D* rv3d = CTX_wm_region_view3d(C);
+ wmNDOFMotionData* ndof = (wmNDOFMotionData*) event->customdata;
+
+ ED_view3d_camera_lock_init(v3d, rv3d);
+
+ rv3d->rot_angle = 0.f; // we're panning here! so erase any leftover rotation from other operators
+
+ if (ndof->progress != P_FINISHING) {
+ const float dt = ndof->dt;
+ float view_inv[4];
+#if 0 // ------------------------------------------- zoom with Z
+ // tune these until everything feels right
+ const float zoom_sensitivity = 1.f;
+ const float pan_sensitivity = 1.f;
+
+ float pan_vec[3] = {
+ ndof->tx, ndof->ty, 0
+ };
+
+ // "zoom in" or "translate"? depends on zoom mode in user settings?
+ if (ndof->tz) {
+ float zoom_distance = zoom_sensitivity * rv3d->dist * dt * ndof->tz;
+ rv3d->dist += zoom_distance;
+ }
+
+ mul_v3_fl(pan_vec, pan_sensitivity * rv3d->dist * dt);
+#else // ------------------------------------------------------- dolly with Z
+ float speed = 10.f; // blender units per second
+ // ^^ this is ok for default cube scene, but should scale with.. something
+
+ // tune these until everything feels right
+ const float forward_sensitivity = 1.f;
+ const float vertical_sensitivity = 0.4f;
+ const float lateral_sensitivity = 0.6f;
+
+ float pan_vec[3] = {lateral_sensitivity * ndof->tvec[0],
+ vertical_sensitivity * ndof->tvec[1],
+ forward_sensitivity * ndof->tvec[2]
+ };
+
+ mul_v3_fl(pan_vec, speed * dt);
+#endif
+ /* transform motion from view to world coordinates */
+ invert_qt_qt(view_inv, rv3d->viewquat);
+ mul_qt_v3(view_inv, pan_vec);
+
+ /* move center of view opposite of hand motion (this is camera mode, not object mode) */
+ sub_v3_v3(rv3d->ofs, pan_vec);
+ }
+
+ ED_view3d_camera_lock_sync(v3d, rv3d);
+
+ ED_region_tag_redraw(CTX_wm_region(C));
+
+ return OPERATOR_FINISHED;
+ }
+}
+
+void VIEW3D_OT_ndof_pan(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "NDOF Pan View";
+ ot->description = "Position your viewpoint with the 3D mouse.";
+ ot->idname = "VIEW3D_OT_ndof_pan";
+
+ /* api callbacks */
+ ot->invoke = ndof_pan_invoke;
+ ot->poll = ED_operator_view3d_active;
+
+ /* flags */
+ ot->flag = 0;
+}
+
/* ************************ viewmove ******************************** */
@@ -1387,8 +1639,7 @@ static int viewzoom_invoke(bContext *C, wmOperator *op, wmEvent *event)
vod= op->customdata;
/* if one or the other zoom position aren't set, set from event */
- if (!RNA_property_is_set(op->ptr, "mx") || !RNA_property_is_set(op->ptr, "my"))
- {
+ if (!RNA_property_is_set(op->ptr, "mx") || !RNA_property_is_set(op->ptr, "my")) {
RNA_int_set(op->ptr, "mx", event->x);
RNA_int_set(op->ptr, "my", event->y);
}
@@ -1464,7 +1715,7 @@ void VIEW3D_OT_zoom(wmOperatorType *ot)
static void view_dolly_mouseloc(ARegion *ar, float orig_ofs[3], float dvec[3], float dfac)
{
RegionView3D *rv3d= ar->regiondata;
- madd_v3_v3v3fl(rv3d->ofs, orig_ofs, dvec, -(1.0 - dfac));
+ madd_v3_v3v3fl(rv3d->ofs, orig_ofs, dvec, -(1.0f - dfac));
}
static void viewdolly_apply(ViewOpsData *vod, int x, int y, const short zoom_invert)
@@ -1485,7 +1736,7 @@ static void viewdolly_apply(ViewOpsData *vod, int x, int y, const short zoom_inv
if (zoom_invert)
SWAP(float, len1, len2);
- zfac = 1.0 + ((len2 - len1) * 0.01 * vod->rv3d->dist);
+ zfac = 1.0f + ((len2 - len1) * 0.01f * vod->rv3d->dist);
}
if(zfac != 1.0f)
@@ -1601,8 +1852,7 @@ static int viewdolly_invoke(bContext *C, wmOperator *op, wmEvent *event)
vod= op->customdata;
/* if one or the other zoom position aren't set, set from event */
- if (!RNA_property_is_set(op->ptr, "mx") || !RNA_property_is_set(op->ptr, "my"))
- {
+ if (!RNA_property_is_set(op->ptr, "mx") || !RNA_property_is_set(op->ptr, "my")) {
RNA_int_set(op->ptr, "mx", event->x);
RNA_int_set(op->ptr, "my", event->y);
}
@@ -3196,398 +3446,6 @@ int ED_view3d_autodist_depth_seg(struct ARegion *ar, const int mval_sta[2], cons
return (*depth==FLT_MAX) ? 0:1;
}
-/* ********************* NDOF ************************ */
-/* note: this code is confusing and unclear... (ton) */
-/* **************************************************** */
-
-// ndof scaling will be moved to user setting.
-// In the mean time this is just a place holder.
-
-// Note: scaling in the plugin and ghostwinlay.c
-// should be removed. With driver default setting,
-// each axis returns approx. +-200 max deflection.
-
-// The values I selected are based on the older
-// polling i/f. With event i/f, the sensistivity
-// can be increased for improved response from
-// small deflections of the device input.
-
-
-// lukep notes : i disagree on the range.
-// the normal 3Dconnection driver give +/-400
-// on defaut range in other applications
-// and up to +/- 1000 if set to maximum
-// because i remove the scaling by delta,
-// which was a bad idea as it depend of the system
-// speed and os, i changed the scaling values, but
-// those are still not ok
-
-#if 0
-static float ndof_axis_scale[6] = {
- +0.01, // Tx
- +0.01, // Tz
- +0.01, // Ty
- +0.0015, // Rx
- +0.0015, // Rz
- +0.0015 // Ry
-};
-
-static void filterNDOFvalues(float *sbval)
-{
- int i=0;
- float max = 0.0;
-
- for (i =0; i<6;i++)
- if (fabs(sbval[i]) > max)
- max = fabs(sbval[i]);
- for (i =0; i<6;i++)
- if (fabs(sbval[i]) != max )
- sbval[i]=0.0;
-}
-
-// statics for controlling rv3d->dist corrections.
-// viewmoveNDOF zeros and adjusts rv3d->ofs.
-// viewmove restores based on dz_flag state.
-
-int dz_flag = 0;
-float m_dist;
-
-void viewmoveNDOFfly(ARegion *ar, View3D *v3d, int UNUSED(mode))
-{
- RegionView3D *rv3d= ar->regiondata;
- int i;
- float phi;
- float dval[7];
- // static fval[6] for low pass filter; device input vector is dval[6]
- static float fval[6];
- float tvec[3],rvec[3];
- float q1[4];
- float mat[3][3];
- float upvec[3];
-
-
- /*----------------------------------------------------
- * sometimes this routine is called from headerbuttons
- * viewmove needs to refresh the screen
- */
-// XXX areawinset(ar->win);
-
-
- // fetch the current state of the ndof device
-// XXX getndof(dval);
-
- if (v3d->ndoffilter)
- filterNDOFvalues(fval);
-
- // Scale input values
-
-// if(dval[6] == 0) return; // guard against divide by zero
-
- for(i=0;i<6;i++) {
-
- // user scaling
- dval[i] = dval[i] * ndof_axis_scale[i];
- }
-
-
- // low pass filter with zero crossing reset
-
- for(i=0;i<6;i++) {
- if((dval[i] * fval[i]) >= 0)
- dval[i] = (fval[i] * 15 + dval[i]) / 16;
- else
- fval[i] = 0;
- }
-
-
- // force perspective mode. This is a hack and is
- // incomplete. It doesn't actually effect the view
- // until the first draw and doesn't update the menu
- // to reflect persp mode.
-
- rv3d->persp = RV3D_PERSP;
-
-
- // Correct the distance jump if rv3d->dist != 0
-
- // This is due to a side effect of the original
- // mouse view rotation code. The rotation point is
- // set a distance in front of the viewport to
- // make rotating with the mouse look better.
- // The distance effect is written at a low level
- // in the view management instead of the mouse
- // view function. This means that all other view
- // movement devices must subtract this from their
- // view transformations.
-
- if(rv3d->dist != 0.0) {
- dz_flag = 1;
- m_dist = rv3d->dist;
- upvec[0] = upvec[1] = 0;
- upvec[2] = rv3d->dist;
- copy_m3_m4(mat, rv3d->viewinv);
- mul_m3_v3(mat, upvec);
- sub_v3_v3(rv3d->ofs, upvec);
- rv3d->dist = 0.0;
- }
-
-
- // Apply rotation
- // Rotations feel relatively faster than translations only in fly mode, so
- // we have no choice but to fix that here (not in the plugins)
- rvec[0] = -0.5 * dval[3];
- rvec[1] = -0.5 * dval[4];
- rvec[2] = -0.5 * dval[5];
-
- // rotate device x and y by view z
-
- copy_m3_m4(mat, rv3d->viewinv);
- mat[2][2] = 0.0f;
- mul_m3_v3(mat, rvec);
-
- // rotate the view
-
- phi = normalize_v3(rvec);
- if(phi != 0) {
- axis_angle_to_quat(q1,rvec,phi);
- mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, q1);
- }
-
-
- // Apply translation
-
- tvec[0] = dval[0];
- tvec[1] = dval[1];
- tvec[2] = -dval[2];
-
- // the next three lines rotate the x and y translation coordinates
- // by the current z axis angle
-
- copy_m3_m4(mat, rv3d->viewinv);
- mat[2][2] = 0.0f;
- mul_m3_v3(mat, tvec);
-
- // translate the view
-
- sub_v3_v3(rv3d->ofs, tvec);
-
-
- /*----------------------------------------------------
- * refresh the screen XXX
- */
-
- // update render preview window
-
-// XXX BIF_view3d_previewrender_signal(ar, PR_DBASE|PR_DISPRECT);
-}
-
-void viewmoveNDOF(Scene *scene, ARegion *ar, View3D *v3d, int UNUSED(mode))
-{
- RegionView3D *rv3d= ar->regiondata;
- float fval[7];
- float dvec[3];
- float sbadjust = 1.0f;
- float len;
- short use_sel = 0;
- Object *ob = OBACT;
- float m[3][3];
- float m_inv[3][3];
- float xvec[3] = {1,0,0};
- float yvec[3] = {0,-1,0};
- float zvec[3] = {0,0,1};
- float phi;
- float q1[4];
- float obofs[3];
- float reverse;
- //float diff[4];
- float d, curareaX, curareaY;
- float mat[3][3];
- float upvec[3];
-
- /* Sensitivity will control how fast the view rotates. The value was
- * obtained experimentally by tweaking until the author didn't get dizzy watching.
- * Perhaps this should be a configurable user parameter.
- */
- float psens = 0.005f * (float) U.ndof_pan; /* pan sensitivity */
- float rsens = 0.005f * (float) U.ndof_rotate; /* rotate sensitivity */
- float zsens = 0.3f; /* zoom sensitivity */
-
- const float minZoom = -30.0f;
- const float maxZoom = 300.0f;
-
- //reset view type
- rv3d->view = 0;
-//printf("passing here \n");
-//
- if (scene->obedit==NULL && ob && !(ob->mode & OB_MODE_POSE)) {
- use_sel = 1;
- }
-
- if((dz_flag)||rv3d->dist==0) {
- dz_flag = 0;
- rv3d->dist = m_dist;
- upvec[0] = upvec[1] = 0;
- upvec[2] = rv3d->dist;
- copy_m3_m4(mat, rv3d->viewinv);
- mul_m3_v3(mat, upvec);
- add_v3_v3(rv3d->ofs, upvec);
- }
-
- /*----------------------------------------------------
- * sometimes this routine is called from headerbuttons
- * viewmove needs to refresh the screen
- */
-// XXX areawinset(curarea->win);
-
- /*----------------------------------------------------
- * record how much time has passed. clamp at 10 Hz
- * pretend the previous frame occurred at the clamped time
- */
-// now = PIL_check_seconds_timer();
- // frametime = (now - prevTime);
- // if (frametime > 0.1f){ /* if more than 1/10s */
- // frametime = 1.0f/60.0; /* clamp at 1/60s so no jumps when starting to move */
-// }
-// prevTime = now;
- // sbadjust *= 60 * frametime; /* normalize ndof device adjustments to 100Hz for framerate independence */
-
- /* fetch the current state of the ndof device & enforce dominant mode if selected */
-// XXX getndof(fval);
- if (v3d->ndoffilter)
- filterNDOFvalues(fval);
-
-
- // put scaling back here, was previously in ghostwinlay
- fval[0] = fval[0] * (1.0f/600.0f);
- fval[1] = fval[1] * (1.0f/600.0f);
- fval[2] = fval[2] * (1.0f/1100.0f);
- fval[3] = fval[3] * 0.00005f;
- fval[4] =-fval[4] * 0.00005f;
- fval[5] = fval[5] * 0.00005f;
- fval[6] = fval[6] / 1000000.0f;
-
- // scale more if not in perspective mode
- if (rv3d->persp == RV3D_ORTHO) {
- fval[0] = fval[0] * 0.05f;
- fval[1] = fval[1] * 0.05f;
- fval[2] = fval[2] * 0.05f;
- fval[3] = fval[3] * 0.9f;
- fval[4] = fval[4] * 0.9f;
- fval[5] = fval[5] * 0.9f;
- zsens *= 8;
- }
-
- /* set object offset */
- if (ob) {
- obofs[0] = -ob->obmat[3][0];
- obofs[1] = -ob->obmat[3][1];
- obofs[2] = -ob->obmat[3][2];
- }
- else {
- copy_v3_v3(obofs, rv3d->ofs);
- }
-
- /* calc an adjustment based on distance from camera
- disabled per patch 14402 */
- d = 1.0f;
-
-/* if (ob) {
- sub_v3_v3v3(diff, obofs, rv3d->ofs);
- d = len_v3(diff);
- }
-*/
-
- reverse = (rv3d->persmat[2][1] < 0.0f) ? -1.0f : 1.0f;
-
- /*----------------------------------------------------
- * ndof device pan
- */
- psens *= 1.0f + d;
- curareaX = sbadjust * psens * fval[0];
- curareaY = sbadjust * psens * fval[1];
- dvec[0] = curareaX * rv3d->persinv[0][0] + curareaY * rv3d->persinv[1][0];
- dvec[1] = curareaX * rv3d->persinv[0][1] + curareaY * rv3d->persinv[1][1];
- dvec[2] = curareaX * rv3d->persinv[0][2] + curareaY * rv3d->persinv[1][2];
- add_v3_v3(rv3d->ofs, dvec);
-
- /*----------------------------------------------------
- * ndof device dolly
- */
- len = zsens * sbadjust * fval[2];
-
- if (rv3d->persp==RV3D_CAMOB) {
- if(rv3d->persp==RV3D_CAMOB) { /* This is stupid, please fix - TODO */
- rv3d->camzoom+= 10.0f * -len;
- }
- if (rv3d->camzoom < minZoom) rv3d->camzoom = minZoom;
- else if (rv3d->camzoom > maxZoom) rv3d->camzoom = maxZoom;
- }
- else if ((rv3d->dist> 0.001*v3d->grid) && (rv3d->dist<10.0*v3d->far)) {
- rv3d->dist*=(1.0 + len);
- }
-
-
- /*----------------------------------------------------
- * ndof device turntable
- * derived from the turntable code in viewmove
- */
-
- /* Get the 3x3 matrix and its inverse from the quaternion */
- quat_to_mat3( m,rv3d->viewquat);
- invert_m3_m3(m_inv,m);
-
- /* Determine the direction of the x vector (for rotating up and down) */
- /* This can likely be compuated directly from the quaternion. */
- mul_m3_v3(m_inv,xvec);
- mul_m3_v3(m_inv,yvec);
- mul_m3_v3(m_inv,zvec);
-
- /* Perform the up/down rotation */
- phi = sbadjust * rsens * /*0.5f * */ fval[3]; /* spin vertically half as fast as horizontally */
- q1[0] = cos(phi);
- mul_v3_v3fl(q1+1, xvec, sin(phi));
- mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, q1);
-
- if (use_sel) {
- conjugate_qt(q1); /* conj == inv for unit quat */
- sub_v3_v3(rv3d->ofs, obofs);
- mul_qt_v3(q1, rv3d->ofs);
- add_v3_v3(rv3d->ofs, obofs);
- }
-
- /* Perform the orbital rotation */
- /* Perform the orbital rotation
- If the seen Up axis is parallel to the zoom axis, rotation should be
- achieved with a pure Roll motion (no Spin) on the device. When you start
- to tilt, moving from Top to Side view, Spinning will increasingly become
- more relevant while the Roll component will decrease. When a full
- Side view is reached, rotations around the world's Up axis are achieved
- with a pure Spin-only motion. In other words the control of the spinning
- around the world's Up axis should move from the device's Spin axis to the
- device's Roll axis depending on the orientation of the world's Up axis
- relative to the screen. */
- //phi = sbadjust * rsens * reverse * fval[4]; /* spin the knob, y axis */
- phi = sbadjust * rsens * (yvec[2] * fval[4] + zvec[2] * fval[5]);
- q1[0] = cos(phi);
- q1[1] = q1[2] = 0.0;
- q1[3] = sin(phi);
- mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, q1);
-
- if (use_sel) {
- conjugate_qt(q1);
- sub_v3_v3(rv3d->ofs, obofs);
- mul_qt_v3(q1, rv3d->ofs);
- add_v3_v3(rv3d->ofs, obofs);
- }
-
- /*----------------------------------------------------
- * refresh the screen
- */
-// XXX scrarea_do_windraw(curarea);
-}
-#endif // if 0, unused NDof code
-
-
/* Gets the view trasnformation from a camera
* currently dosnt take camzoom into account
*
@@ -3617,7 +3475,7 @@ void ED_view3d_from_m4(float mat[][4], float ofs[3], float quat[4], float *dist)
copy_m3_m4(nmat, mat);
normalize_m3(nmat);
- mul_m3_v3(nmat, vec);;
+ mul_m3_v3(nmat, vec);
sub_v3_v3(ofs, vec);
}
}
diff --git a/source/blender/editors/space_view3d/view3d_fly.c b/source/blender/editors/space_view3d/view3d_fly.c
index ed1ed5b3881..30d1a508888 100644
--- a/source/blender/editors/space_view3d/view3d_fly.c
+++ b/source/blender/editors/space_view3d/view3d_fly.c
@@ -29,6 +29,9 @@
/* defines VIEW3D_OT_fly modal operator */
+//#define NDOF_FLY_DEBUG
+//#define NDOF_FLY_DRAW_TOOMUCH // is this needed for ndof? - commented so redraw doesnt thrash - campbell
+
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
#include "DNA_object_types.h"
@@ -106,7 +109,7 @@ void fly_modal_keymap(wmKeyConfig *keyconf)
wmKeyMap *keymap= WM_modalkeymap_get(keyconf, "View3D Fly Modal");
/* this function is called for each spacetype, only needs to add map once */
- if(keymap) return;
+ if (keymap) return;
keymap= WM_modalkeymap_add(keyconf, "View3D Fly Modal", modal_items);
@@ -143,7 +146,6 @@ void fly_modal_keymap(wmKeyConfig *keyconf)
/* assign map to operators */
WM_modalkeymap_assign(keymap, "VIEW3D_OT_fly");
-
}
typedef struct FlyInfo {
@@ -158,7 +160,9 @@ typedef struct FlyInfo {
short state;
short use_precision;
short redraw;
- int mval[2];
+
+ int mval[2]; /* latest 2D mouse values */
+ wmNDOFMotionData* ndof; /* latest 3D mouse values */
/* fly state state */
float speed; /* the speed the view is moving per redraw */
@@ -257,17 +261,21 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
fly->ar = CTX_wm_region(C);
fly->scene= CTX_data_scene(C);
- if(fly->rv3d->persp==RV3D_CAMOB && fly->v3d->camera->id.lib) {
+#ifdef NDOF_FLY_DEBUG
+ puts("\n-- fly begin --");
+#endif
+
+ if (fly->rv3d->persp==RV3D_CAMOB && fly->v3d->camera->id.lib) {
BKE_report(op->reports, RPT_ERROR, "Cannot fly a camera from an external library");
return FALSE;
}
- if(fly->v3d->ob_centre) {
+ if (fly->v3d->ob_centre) {
BKE_report(op->reports, RPT_ERROR, "Cannot fly when the view is locked to an object");
return FALSE;
}
- if(fly->rv3d->persp==RV3D_CAMOB && fly->v3d->camera->constraints.first) {
+ if (fly->rv3d->persp==RV3D_CAMOB && fly->v3d->camera->constraints.first) {
BKE_report(op->reports, RPT_ERROR, "Cannot fly an object with constraints");
return FALSE;
}
@@ -283,11 +291,15 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
fly->grid= 1.0f;
fly->use_precision= 0;
+#ifdef NDOF_FLY_DRAW_TOOMUCH
+ fly->redraw= 1;
+#endif
fly->dvec_prev[0]= fly->dvec_prev[1]= fly->dvec_prev[2]= 0.0f;
fly->timer= WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER, 0.01f);
VECCOPY2D(fly->mval, event->mval)
+ fly->ndof = NULL;
fly->time_lastdraw= fly->time_lastwheel= PIL_check_seconds_timer();
@@ -307,7 +319,7 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
fly->dist_backup= fly->rv3d->dist;
if (fly->rv3d->persp==RV3D_CAMOB) {
Object *ob_back;
- if((U.uiflag & USER_CAM_LOCK_NO_PARENT)==0 && (fly->root_parent=fly->v3d->camera->parent)) {
+ if ((U.uiflag & USER_CAM_LOCK_NO_PARENT)==0 && (fly->root_parent=fly->v3d->camera->parent)) {
while(fly->root_parent->parent)
fly->root_parent= fly->root_parent->parent;
ob_back= fly->root_parent;
@@ -325,12 +337,22 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
negate_v3_v3(fly->rv3d->ofs, fly->v3d->camera->obmat[3]);
fly->rv3d->dist=0.0;
- } else {
+ }
+ else {
/* perspective or ortho */
if (fly->rv3d->persp==RV3D_ORTHO)
fly->rv3d->persp= RV3D_PERSP; /*if ortho projection, make perspective */
+
copy_qt_qt(fly->rot_backup, fly->rv3d->viewquat);
copy_v3_v3(fly->ofs_backup, fly->rv3d->ofs);
+
+ /* the dist defines a vector that is infront of the offset
+ to rotate the view about.
+ this is no good for fly mode because we
+ want to rotate about the viewers center.
+ but to correct the dist removal we must
+ alter offset so the view doesn't jump. */
+
fly->rv3d->dist= 0.0f;
upvec[2]= fly->dist_backup; /*x and y are 0*/
@@ -338,7 +360,6 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
sub_v3_v3(fly->rv3d->ofs, upvec);
/*Done with correcting for the dist*/
}
-
/* center the mouse, probably the UI mafia are against this but without its quite annoying */
WM_cursor_warp(CTX_wm_window(C), fly->ar->winrct.xmin + fly->ar->winx/2, fly->ar->winrct.ymin + fly->ar->winy/2);
@@ -353,9 +374,13 @@ static int flyEnd(bContext *C, FlyInfo *fly)
float upvec[3];
- if(fly->state == FLY_RUNNING)
+ if (fly->state == FLY_RUNNING)
return OPERATOR_RUNNING_MODAL;
+#ifdef NDOF_FLY_DEBUG
+ puts("\n-- fly end --");
+#endif
+
WM_event_remove_timer(CTX_wm_manager(C), CTX_wm_window(C), fly->timer);
ED_region_draw_cb_exit(fly->ar->type, fly->draw_handle_pixel);
@@ -366,14 +391,14 @@ static int flyEnd(bContext *C, FlyInfo *fly)
/* Revert to original view? */
if (fly->persp_backup==RV3D_CAMOB) { /* a camera view */
Object *ob_back;
- if(fly->root_parent)ob_back= fly->root_parent;
- else ob_back= fly->v3d->camera;
+ ob_back= (fly->root_parent) ? fly->root_parent : fly->v3d->camera;
/* store the original camera loc and rot */
object_tfm_restore(ob_back, fly->obtfm);
DAG_id_tag_update(&ob_back->id, OB_RECALC_OB);
- } else {
+ }
+ else {
/* Non Camera we need to reset the view back to the original location bacause the user canceled*/
copy_qt_qt(rv3d->viewquat, fly->rot_backup);
copy_v3_v3(rv3d->ofs, fly->ofs_backup);
@@ -398,10 +423,13 @@ static int flyEnd(bContext *C, FlyInfo *fly)
rv3d->rflag &= ~RV3D_NAVIGATING;
//XXX2.5 BIF_view3d_previewrender_signal(fly->sa, PR_DBASE|PR_DISPRECT); /* not working at the moment not sure why */
- if(fly->obtfm)
+ if (fly->obtfm)
MEM_freeN(fly->obtfm);
- if(fly->state == FLY_CONFIRM) {
+ if (fly->ndof)
+ MEM_freeN(fly->ndof);
+
+ if (fly->state == FLY_CONFIRM) {
MEM_freeN(fly);
return OPERATOR_FINISHED;
}
@@ -417,7 +445,52 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
}
else if (event->type == MOUSEMOVE) {
VECCOPY2D(fly->mval, event->mval);
- } /* handle modal keymap first */
+ }
+ else if (event->type == NDOF_MOTION) {
+ // do these automagically get delivered? yes.
+ // puts("ndof motion detected in fly mode!");
+ // static const char* tag_name = "3D mouse position";
+
+ wmNDOFMotionData* incoming_ndof = (wmNDOFMotionData*) event->customdata;
+ switch (incoming_ndof->progress) {
+ case P_STARTING:
+ // start keeping track of 3D mouse position
+#ifdef NDOF_FLY_DEBUG
+ puts("start keeping track of 3D mouse position");
+#endif
+ // fall through...
+ case P_IN_PROGRESS:
+ // update 3D mouse position
+#ifdef NDOF_FLY_DEBUG
+ putchar('.'); fflush(stdout);
+#endif
+ if (fly->ndof == NULL) {
+ // fly->ndof = MEM_mallocN(sizeof(wmNDOFMotionData), tag_name);
+ fly->ndof = MEM_dupallocN(incoming_ndof);
+ // fly->ndof = malloc(sizeof(wmNDOFMotionData));
+ }
+ else {
+ memcpy(fly->ndof, incoming_ndof, sizeof(wmNDOFMotionData));
+ }
+ break;
+ case P_FINISHING:
+ // stop keeping track of 3D mouse position
+#ifdef NDOF_FLY_DEBUG
+ puts("stop keeping track of 3D mouse position");
+#endif
+ if (fly->ndof) {
+ MEM_freeN(fly->ndof);
+ // free(fly->ndof);
+ fly->ndof = NULL;
+ }
+ /* update the time else the view will jump when 2D mouse/timer resume */
+ fly->time_lastdraw= PIL_check_seconds_timer();
+ break;
+ default:
+ ; // should always be one of the above 3
+ }
+ }
+ /* handle modal keymap first */
else if (event->type == EVT_MODAL_MAP) {
switch (event->val) {
case FLY_MODAL_CANCEL:
@@ -439,7 +512,9 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
/*Mouse wheel delays range from 0.5==slow to 0.01==fast*/
time_wheel = 1.0f + (10.0f - (20.0f * MIN2(time_wheel, 0.5f))); /* 0-0.5 -> 0-5.0 */
- if (fly->speed<0.0f) fly->speed= 0.0f;
+ if (fly->speed < 0.0f) {
+ fly->speed= 0.0f;
+ }
else {
if (event->shift)
fly->speed += fly->grid*time_wheel * 0.1f;
@@ -458,7 +533,9 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
fly->time_lastwheel = time_currwheel;
time_wheel = 1.0f + (10.0f - (20.0f * MIN2(time_wheel, 0.5f))); /* 0-0.5 -> 0-5.0 */
- if (fly->speed>0) fly->speed=0;
+ if (fly->speed > 0.0f) {
+ fly->speed=0;
+ }
else {
if (event->shift)
fly->speed-= fly->grid*time_wheel * 0.1f;
@@ -528,14 +605,81 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
case FLY_MODAL_PRECISION_DISABLE:
fly->use_precision= FALSE;
break;
+ }
+ }
+}
+
+static void move_camera(bContext* C, RegionView3D* rv3d, FlyInfo* fly, int orientationChanged, int positionChanged)
+{
+ /* we are in camera view so apply the view ofs and quat to the view matrix and set the camera to the view */
+
+ View3D* v3d = fly->v3d;
+ Scene *scene= fly->scene;
+ ID *id_key;
+
+ /* transform the parent or the camera? */
+ if (fly->root_parent) {
+ Object *ob_update;
+
+ float view_mat[4][4];
+ float prev_view_mat[4][4];
+ float prev_view_imat[4][4];
+ float diff_mat[4][4];
+ float parent_mat[4][4];
+
+ ED_view3d_to_m4(prev_view_mat, fly->rv3d->ofs, fly->rv3d->viewquat, fly->rv3d->dist);
+ invert_m4_m4(prev_view_imat, prev_view_mat);
+ ED_view3d_to_m4(view_mat, rv3d->ofs, rv3d->viewquat, rv3d->dist);
+ mul_m4_m4m4(diff_mat, prev_view_imat, view_mat);
+ mul_m4_m4m4(parent_mat, fly->root_parent->obmat, diff_mat);
+ object_apply_mat4(fly->root_parent, parent_mat, TRUE, FALSE);
+
+ // where_is_object(scene, fly->root_parent);
+
+ ob_update= v3d->camera->parent;
+ while(ob_update) {
+ DAG_id_tag_update(&ob_update->id, OB_RECALC_OB);
+ ob_update= ob_update->parent;
}
+
+ id_key= &fly->root_parent->id;
+ }
+ else {
+ float view_mat[4][4];
+ ED_view3d_to_m4(view_mat, rv3d->ofs, rv3d->viewquat, rv3d->dist);
+ object_apply_mat4(v3d->camera, view_mat, TRUE, FALSE);
+ id_key= &v3d->camera->id;
+ }
+
+ /* record the motion */
+ if (autokeyframe_cfra_can_key(scene, id_key)) {
+ ListBase dsources = {NULL, NULL};
+
+ /* add datasource override for the camera object */
+ ANIM_relative_keyingset_add_source(&dsources, id_key, NULL, NULL);
+
+ /* insert keyframes
+ * 1) on the first frame
+ * 2) on each subsequent frame
+ * TODO: need to check in future that frame changed before doing this
+ */
+ if (orientationChanged) {
+ KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, "Rotation");
+ ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, (float)CFRA);
+ }
+ if (positionChanged) {
+ KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, "Location");
+ ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, (float)CFRA);
+ }
+
+ /* free temp data */
+ BLI_freelistN(&dsources);
}
}
static int flyApply(bContext *C, FlyInfo *fly)
{
-
#define FLY_ROTATE_FAC 2.5f /* more is faster */
#define FLY_ZUP_CORRECT_FAC 0.1f /* amount to correct per step */
#define FLY_ZUP_CORRECT_ACCEL 0.05f /* increase upright momentum each step */
@@ -545,11 +689,7 @@ static int flyApply(bContext *C, FlyInfo *fly)
a fly loop where the user can move move the view as if they are flying
*/
RegionView3D *rv3d= fly->rv3d;
- View3D *v3d = fly->v3d;
ARegion *ar = fly->ar;
- Scene *scene= fly->scene;
-
- float prev_view_mat[4][4];
float mat[3][3], /* 3x3 copy of the view matrix so we can move allong the view axis */
dvec[3]={0,0,0}, /* this is the direction thast added to the view offset per redraw */
@@ -567,15 +707,11 @@ static int flyApply(bContext *C, FlyInfo *fly)
unsigned char
apply_rotation= 1; /* if the user presses shift they can look about without movinf the direction there looking*/
- if(fly->root_parent)
- ED_view3d_to_m4(prev_view_mat, fly->rv3d->ofs, fly->rv3d->viewquat, fly->rv3d->dist);
+#ifdef NDOF_FLY_DEBUG
+ static unsigned int iteration = 1;
+ printf("fly timer %d\n", iteration++);
+#endif
- /* the dist defines a vector that is infront of the offset
- to rotate the view about.
- this is no good for fly mode because we
- want to rotate about the viewers center.
- but to correct the dist removal we must
- alter offset so the view doesn't jump. */
xmargin= ar->winx/20.0f;
ymargin= ar->winy/20.0f;
@@ -605,23 +741,25 @@ static int flyApply(bContext *C, FlyInfo *fly)
*
* the mouse moves isnt linear */
- if(moffset[0]) {
+ if (moffset[0]) {
moffset[0] /= ar->winx - (xmargin*2);
moffset[0] *= fabsf(moffset[0]);
}
- if(moffset[1]) {
+ if (moffset[1]) {
moffset[1] /= ar->winy - (ymargin*2);
moffset[1] *= fabsf(moffset[1]);
}
/* Should we redraw? */
- if(fly->speed != 0.0f || moffset[0] || moffset[1] || fly->zlock || fly->xlock || dvec[0] || dvec[1] || dvec[2] ) {
+ if (fly->speed != 0.0f || moffset[0] || moffset[1] || fly->zlock || fly->xlock || dvec[0] || dvec[1] || dvec[2] ) {
float dvec_tmp[3];
double time_current; /*time how fast it takes for us to redraw, this is so simple scenes dont fly too fast */
float time_redraw;
float time_redraw_clamped;
-
+#ifdef NDOF_FLY_DRAW_TOOMUCH
+ fly->redraw= 1;
+#endif
time_current= PIL_check_seconds_timer();
time_redraw= (float)(time_current - fly->time_lastdraw);
time_redraw_clamped= MIN2(0.05f, time_redraw); /* clamt the redraw time to avoid jitter in roll correction */
@@ -648,8 +786,8 @@ static int flyApply(bContext *C, FlyInfo *fly)
mul_m3_v3(mat, dvec_tmp);
mul_v3_fl(dvec_tmp, time_redraw * 200.0f * fly->grid);
-
- } else {
+ }
+ else {
float roll; /* similar to the angle between the camera's up and the Z-up, but its very rough so just roll*/
/* rotate about the X axis- look up/down */
@@ -670,27 +808,28 @@ static int flyApply(bContext *C, FlyInfo *fly)
if (moffset[0]) {
/* if we're upside down invert the moffset */
- upvec[0]=0;
- upvec[1]=1;
- upvec[2]=0;
+ upvec[0]= 0.0f;
+ upvec[1]= 1.0f;
+ upvec[2]= 0.0f;
mul_m3_v3(mat, upvec);
- if(upvec[2] < 0.0f)
+ if (upvec[2] < 0.0f)
moffset[0]= -moffset[0];
/* make the lock vectors */
if (fly->zlock) {
- upvec[0]=0;
- upvec[1]=0;
- upvec[2]=1;
- } else {
- upvec[0]=0;
- upvec[1]=1;
- upvec[2]=0;
+ upvec[0]= 0.0f;
+ upvec[1]= 0.0f;
+ upvec[2]= 1.0f;
+ }
+ else {
+ upvec[0]= 0.0f;
+ upvec[1]= 1.0f;
+ upvec[2]= 0.0f;
mul_m3_v3(mat, upvec);
}
- axis_angle_to_quat( tmp_quat, upvec, (float)moffset[0] * time_redraw * FLY_ROTATE_FAC); /* Rotate about the relative up vec */
+ axis_angle_to_quat(tmp_quat, upvec, (float)moffset[0] * time_redraw * FLY_ROTATE_FAC); /* Rotate about the relative up vec */
mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, tmp_quat);
if (fly->xlock) fly->xlock = 2;/*check for rotation*/
@@ -698,25 +837,26 @@ static int flyApply(bContext *C, FlyInfo *fly)
}
if (fly->zlock==2) {
- upvec[0]=1;
- upvec[1]=0;
- upvec[2]=0;
+ upvec[0]= 1.0f;
+ upvec[1]= 0.0f;
+ upvec[2]= 0.0f;
mul_m3_v3(mat, upvec);
/*make sure we have some z rolling*/
if (fabsf(upvec[2]) > 0.00001f) {
- roll= upvec[2]*5;
- upvec[0]=0; /*rotate the view about this axis*/
- upvec[1]=0;
- upvec[2]=1;
+ roll= upvec[2] * 5.0f;
+ upvec[0]= 0.0f; /*rotate the view about this axis*/
+ upvec[1]= 0.0f;
+ upvec[2]= 1.0f;
mul_m3_v3(mat, upvec);
axis_angle_to_quat( tmp_quat, upvec, roll*time_redraw_clamped*fly->zlock_momentum * FLY_ZUP_CORRECT_FAC); /* Rotate about the relative up vec */
mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, tmp_quat);
fly->zlock_momentum += FLY_ZUP_CORRECT_ACCEL;
- } else {
- fly->zlock=1; /* dont check until the view rotates again */
+ }
+ else {
+ fly->zlock= 1; /* dont check until the view rotates again */
fly->zlock_momentum= 0.0f;
}
}
@@ -727,8 +867,8 @@ static int flyApply(bContext *C, FlyInfo *fly)
upvec[2]=1;
mul_m3_v3(mat, upvec);
/*make sure we have some z rolling*/
- if (fabs(upvec[2]) > 0.00001) {
- roll= upvec[2] * -5;
+ if (fabsf(upvec[2]) > 0.00001f) {
+ roll= upvec[2] * -5.0f;
upvec[0]= 1.0f; /*rotate the view about this axis*/
upvec[1]= 0.0f;
@@ -740,7 +880,8 @@ static int flyApply(bContext *C, FlyInfo *fly)
mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, tmp_quat);
fly->xlock_momentum += 0.05f;
- } else {
+ }
+ else {
fly->xlock=1; /* see above */
fly->xlock_momentum= 0.0f;
}
@@ -784,96 +925,164 @@ static int flyApply(bContext *C, FlyInfo *fly)
ED_area_headerprint(fly->ar, "FlyKeys Speed:(+/- | Wheel), Upright Axis:X off/Z off, Slow:Shift, Direction:WASDRF, Ok:LMB, Pan:MMB, Cancel:RMB");
#endif
- /* we are in camera view so apply the view ofs and quat to the view matrix and set the camera to the view */
- if (rv3d->persp==RV3D_CAMOB) {
- ID *id_key;
- /* transform the parent or the camera? */
- if(fly->root_parent) {
- Object *ob_update;
-
- float view_mat[4][4];
- float prev_view_imat[4][4];
- float diff_mat[4][4];
- float parent_mat[4][4];
-
- invert_m4_m4(prev_view_imat, prev_view_mat);
- ED_view3d_to_m4(view_mat, rv3d->ofs, rv3d->viewquat, rv3d->dist);
- mul_m4_m4m4(diff_mat, prev_view_imat, view_mat);
- mul_m4_m4m4(parent_mat, fly->root_parent->obmat, diff_mat);
- object_apply_mat4(fly->root_parent, parent_mat, TRUE, FALSE);
-
- // where_is_object(scene, fly->root_parent);
-
- ob_update= v3d->camera->parent;
- while(ob_update) {
- DAG_id_tag_update(&ob_update->id, OB_RECALC_OB);
- ob_update= ob_update->parent;
- }
+ if (rv3d->persp==RV3D_CAMOB)
+ move_camera(C, rv3d, fly, (fly->xlock || fly->zlock || moffset[0] || moffset[1]), fly->speed);
- copy_m4_m4(prev_view_mat, view_mat);
+ }
+ else {
+ /* we're not redrawing but we need to update the time else the view will jump */
+ fly->time_lastdraw= PIL_check_seconds_timer();
+ }
+ /* end drawing */
+ copy_v3_v3(fly->dvec_prev, dvec);
+ }
- id_key= &fly->root_parent->id;
+ return OPERATOR_FINISHED;
+}
- }
- else {
- float view_mat[4][4];
- ED_view3d_to_m4(view_mat, rv3d->ofs, rv3d->viewquat, rv3d->dist);
- object_apply_mat4(v3d->camera, view_mat, TRUE, FALSE);
- id_key= &v3d->camera->id;
- }
+static int flyApply_ndof(bContext *C, FlyInfo *fly)
+{
+ /* shorthand for oft-used variables */
+ wmNDOFMotionData* ndof = fly->ndof;
+ const float dt = ndof->dt;
+ RegionView3D* rv3d = fly->rv3d;
+ const int flag = U.ndof_flag;
- /* record the motion */
- if (autokeyframe_cfra_can_key(scene, id_key)) {
- ListBase dsources = {NULL, NULL};
-
- /* add datasource override for the camera object */
- ANIM_relative_keyingset_add_source(&dsources, id_key, NULL, NULL);
-
- /* insert keyframes
- * 1) on the first frame
- * 2) on each subsequent frame
- * TODO: need to check in future that frame changed before doing this
- */
- if (fly->xlock || fly->zlock || moffset[0] || moffset[1]) {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, "Rotation");
- ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, (float)CFRA);
- }
- if (fly->speed) {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, "Location");
- ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, (float)CFRA);
- }
-
- /* free temp data */
- BLI_freelistN(&dsources);
- }
+/* int shouldRotate = (flag & NDOF_SHOULD_ROTATE) && (fly->pan_view == FALSE),
+ shouldTranslate = (flag & (NDOF_SHOULD_PAN | NDOF_SHOULD_ZOOM)); */
+
+ int shouldRotate = (fly->pan_view == FALSE),
+ shouldTranslate = TRUE;
+
+ float view_inv[4];
+ invert_qt_qt(view_inv, rv3d->viewquat);
+
+ rv3d->rot_angle = 0.f; // disable onscreen rotation doo-dad
+
+ if (shouldTranslate) {
+ const float forward_sensitivity = 1.f;
+ const float vertical_sensitivity = 0.4f;
+ const float lateral_sensitivity = 0.6f;
+
+ float speed = 10.f; /* blender units per second */
+ /* ^^ this is ok for default cube scene, but should scale with.. something */
+
+ float trans[3] = {
+ lateral_sensitivity * ndof->tvec[0],
+ vertical_sensitivity * ndof->tvec[1],
+ forward_sensitivity * ndof->tvec[2]
+ };
+
+ if (fly->use_precision)
+ speed *= 0.2f;
+
+ mul_v3_fl(trans, speed * dt);
+
+ // transform motion from view to world coordinates
+ mul_qt_v3(view_inv, trans);
+
+ if (flag & NDOF_FLY_HELICOPTER) {
+ /* replace world z component with device y (yes it makes sense) */
+ trans[2] = speed * dt * vertical_sensitivity * ndof->tvec[1];
+ }
+
+ if (rv3d->persp==RV3D_CAMOB) {
+ // respect camera position locks
+ Object *lock_ob= fly->root_parent ? fly->root_parent : fly->v3d->camera;
+ if (lock_ob->protectflag & OB_LOCK_LOCX) trans[0] = 0.f;
+ if (lock_ob->protectflag & OB_LOCK_LOCY) trans[1] = 0.f;
+ if (lock_ob->protectflag & OB_LOCK_LOCZ) trans[2] = 0.f;
+ }
+
+ if (!is_zero_v3(trans)) {
+ // move center of view opposite of hand motion (this is camera mode, not object mode)
+ sub_v3_v3(rv3d->ofs, trans);
+ shouldTranslate = TRUE;
+ }
+ else {
+ shouldTranslate = FALSE;
+ }
+ }
+
+ if (shouldRotate) {
+ const float turn_sensitivity = 1.f;
+
+ float rotation[4];
+ float axis[3];
+ float angle = turn_sensitivity * ndof_to_axis_angle(ndof, axis);
+
+ if (fabsf(angle) > 0.0001f) {
+ shouldRotate = TRUE;
+
+ if (fly->use_precision)
+ angle *= 0.2f;
+
+ /* transform rotation axis from view to world coordinates */
+ mul_qt_v3(view_inv, axis);
+
+ // apply rotation to view
+ axis_angle_to_quat(rotation, axis, angle);
+ mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rotation);
+
+ if (flag & NDOF_LOCK_HORIZON) {
+ /* force an upright viewpoint
+ * TODO: make this less... sudden */
+ float view_horizon[3] = {1.f, 0.f, 0.f}; /* view +x */
+ float view_direction[3] = {0.f, 0.f, -1.f}; /* view -z (into screen) */
+
+ /* find new inverse since viewquat has changed */
+ invert_qt_qt(view_inv, rv3d->viewquat);
+ /* could apply reverse rotation to existing view_inv to save a few cycles */
+
+ /* transform view vectors to world coordinates */
+ mul_qt_v3(view_inv, view_horizon);
+ mul_qt_v3(view_inv, view_direction);
+
+ /* find difference between view & world horizons
+ * true horizon lives in world xy plane, so look only at difference in z */
+ angle = -asinf(view_horizon[2]);
+
+#ifdef NDOF_FLY_DEBUG
+ printf("lock horizon: adjusting %.1f degrees\n\n", RAD2DEG(angle));
+#endif
+
+ /* rotate view so view horizon = world horizon */
+ axis_angle_to_quat(rotation, view_direction, angle);
+ mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rotation);
}
- } else
- /*were not redrawing but we need to update the time else the view will jump */
- fly->time_lastdraw= PIL_check_seconds_timer();
- /* end drawing */
- copy_v3_v3(fly->dvec_prev, dvec);
+
+ rv3d->view = RV3D_VIEW_USER;
+ }
+ else {
+ shouldRotate = FALSE;
+ }
}
-/* moved to flyEnd() */
+ if (shouldTranslate || shouldRotate) {
+ fly->redraw = TRUE;
+
+ if (rv3d->persp==RV3D_CAMOB) {
+ move_camera(C, rv3d, fly, shouldRotate, shouldTranslate);
+ }
+ }
return OPERATOR_FINISHED;
}
-
static int fly_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
RegionView3D *rv3d= CTX_wm_region_view3d(C);
FlyInfo *fly;
- if(rv3d->viewlock)
+ if (rv3d->viewlock)
return OPERATOR_CANCELLED;
fly= MEM_callocN(sizeof(FlyInfo), "FlyOperation");
op->customdata= fly;
- if(initFlyInfo(C, fly, op, event)==FALSE) {
+ if (initFlyInfo(C, fly, op, event)==FALSE) {
MEM_freeN(op->customdata);
return OPERATOR_CANCELLED;
}
@@ -908,21 +1117,28 @@ static int fly_modal(bContext *C, wmOperator *op, wmEvent *event)
flyEvent(fly, event);
- if(event->type==TIMER && event->customdata == fly->timer)
+ if (fly->ndof) { /* 3D mouse overrules [2D mouse + timer] */
+ if (event->type==NDOF_MOTION) {
+ flyApply_ndof(C, fly);
+ }
+ }
+ else if (event->type==TIMER && event->customdata == fly->timer) {
flyApply(C, fly);
+ }
do_draw |= fly->redraw;
exit_code = flyEnd(C, fly);
- if(exit_code!=OPERATOR_RUNNING_MODAL)
+ if (exit_code!=OPERATOR_RUNNING_MODAL)
do_draw= TRUE;
- if(do_draw) {
- if(rv3d->persp==RV3D_CAMOB) {
+ if (do_draw) {
+ if (rv3d->persp==RV3D_CAMOB) {
WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, fly_object);
}
+ // puts("redraw!"); // too frequent, commented with NDOF_FLY_DRAW_TOOMUCH for now
ED_region_tag_redraw(CTX_wm_region(C));
}
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c
index 75c8d5cae73..78dcf6c9a5c 100644
--- a/source/blender/editors/space_view3d/view3d_header.c
+++ b/source/blender/editors/space_view3d/view3d_header.c
@@ -280,31 +280,33 @@ static char *view3d_modeselect_pup(Scene *scene)
str += sprintf(str, formatstr, "Object Mode", OB_MODE_OBJECT, ICON_OBJECT_DATA);
- if(ob==NULL) return string;
+ if(ob==NULL || ob->data==NULL) return string;
+ if(ob->id.lib) return string;
- /* if active object is editable */
- if ( ((ob->type == OB_MESH)
- || (ob->type == OB_CURVE) || (ob->type == OB_SURF) || (ob->type == OB_FONT)
- || (ob->type == OB_MBALL) || (ob->type == OB_LATTICE))) {
-
- str += sprintf(str, formatstr, "Edit Mode", OB_MODE_EDIT, ICON_EDITMODE_HLT);
- }
- else if (ob->type == OB_ARMATURE) {
- if (ob->mode & OB_MODE_POSE)
- str += sprintf(str, formatstr, "Edit Mode", OB_MODE_EDIT|OB_MODE_POSE, ICON_EDITMODE_HLT);
- else
+ if(!((ID *)ob->data)->lib) {
+ /* if active object is editable */
+ if ( ((ob->type == OB_MESH)
+ || (ob->type == OB_CURVE) || (ob->type == OB_SURF) || (ob->type == OB_FONT)
+ || (ob->type == OB_MBALL) || (ob->type == OB_LATTICE))) {
+
str += sprintf(str, formatstr, "Edit Mode", OB_MODE_EDIT, ICON_EDITMODE_HLT);
- }
+ }
+ else if (ob->type == OB_ARMATURE) {
+ if (ob->mode & OB_MODE_POSE)
+ str += sprintf(str, formatstr, "Edit Mode", OB_MODE_EDIT|OB_MODE_POSE, ICON_EDITMODE_HLT);
+ else
+ str += sprintf(str, formatstr, "Edit Mode", OB_MODE_EDIT, ICON_EDITMODE_HLT);
+ }
- if (ob->type == OB_MESH) {
+ if (ob->type == OB_MESH) {
- str += sprintf(str, formatstr, "Sculpt Mode", OB_MODE_SCULPT, ICON_SCULPTMODE_HLT);
- str += sprintf(str, formatstr, "Vertex Paint", OB_MODE_VERTEX_PAINT, ICON_VPAINT_HLT);
- str += sprintf(str, formatstr, "Texture Paint", OB_MODE_TEXTURE_PAINT, ICON_TPAINT_HLT);
- str += sprintf(str, formatstr, "Weight Paint", OB_MODE_WEIGHT_PAINT, ICON_WPAINT_HLT);
+ str += sprintf(str, formatstr, "Sculpt Mode", OB_MODE_SCULPT, ICON_SCULPTMODE_HLT);
+ str += sprintf(str, formatstr, "Vertex Paint", OB_MODE_VERTEX_PAINT, ICON_VPAINT_HLT);
+ str += sprintf(str, formatstr, "Texture Paint", OB_MODE_TEXTURE_PAINT, ICON_TPAINT_HLT);
+ str += sprintf(str, formatstr, "Weight Paint", OB_MODE_WEIGHT_PAINT, ICON_WPAINT_HLT);
+ }
}
-
-
+
/* if active object is an armature */
if (ob->type==OB_ARMATURE) {
str += sprintf(str, formatstr, "Pose Mode", OB_MODE_POSE, ICON_POSE_HLT);
@@ -464,6 +466,7 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
Object *ob= OBACT;
Object *obedit = CTX_data_edit_object(C);
uiBlock *block;
+ uiBut *but;
uiLayout *row;
const float dpi_fac= UI_DPI_FAC;
@@ -505,26 +508,18 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
uiItemR(row, &v3dptr, "pivot_point", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
uiItemR(row, &v3dptr, "use_pivot_point_align", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
- /* NDOF */
- /* Not implemented yet
- if (G.ndofdevice ==0 ) {
- uiDefIconTextButC(block, ICONTEXTROW,B_NDOF, ICON_NDOF_TURN, ndof_pup(), 0,0,UI_UNIT_X+10,UI_UNIT_Y, &(v3d->ndofmode), 0, 3.0, 0, 0, "Ndof mode");
-
- uiDefIconButC(block, TOG, B_NDOF, ICON_NDOF_DOM,
- 0,0,UI_UNIT_X,UI_UNIT_Y,
- &v3d->ndoffilter, 0, 1, 0, 0, "dominant axis");
- }
- */
-
/* Transform widget / manipulators */
row= uiLayoutRow(layout, 1);
uiItemR(row, &v3dptr, "show_manipulator", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
block= uiLayoutGetBlock(row);
if(v3d->twflag & V3D_USE_MANIPULATOR) {
- uiDefIconButBitC(block, TOG, V3D_MANIP_TRANSLATE, B_MAN_TRANS, ICON_MAN_TRANS, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, "Translate manipulator mode");
- uiDefIconButBitC(block, TOG, V3D_MANIP_ROTATE, B_MAN_ROT, ICON_MAN_ROT, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, "Rotate manipulator mode");
- uiDefIconButBitC(block, TOG, V3D_MANIP_SCALE, B_MAN_SCALE, ICON_MAN_SCALE, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, "Scale manipulator mode");
+ but= uiDefIconButBitC(block, TOG, V3D_MANIP_TRANSLATE, B_MAN_TRANS, ICON_MAN_TRANS, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, "Translate manipulator mode");
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
+ but= uiDefIconButBitC(block, TOG, V3D_MANIP_ROTATE, B_MAN_ROT, ICON_MAN_ROT, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, "Rotate manipulator mode");
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
+ but= uiDefIconButBitC(block, TOG, V3D_MANIP_SCALE, B_MAN_SCALE, ICON_MAN_SCALE, 0,0,UI_UNIT_X,UI_UNIT_Y, &v3d->twtype, 1.0, 0.0, 0, 0, "Scale manipulator mode");
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
}
if (v3d->twmode > (BIF_countTransformOrientation(C) - 1) + V3D_MANIP_CUSTOM) {
@@ -532,7 +527,8 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
}
str_menu = BIF_menustringTransformOrientation(C, "Orientation");
- uiDefButC(block, MENU, B_MAN_MODE, str_menu,0,0,70 * dpi_fac, UI_UNIT_Y, &v3d->twmode, 0, 0, 0, 0, "Transform Orientation");
+ but= uiDefButC(block, MENU, B_MAN_MODE, str_menu,0,0,70 * dpi_fac, UI_UNIT_Y, &v3d->twmode, 0, 0, 0, 0, "Transform Orientation");
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
MEM_freeN((void *)str_menu);
}
diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h
index cd6bff1ebba..ab3ce37ff15 100644
--- a/source/blender/editors/space_view3d/view3d_intern.h
+++ b/source/blender/editors/space_view3d/view3d_intern.h
@@ -51,6 +51,7 @@ struct ARegionType;
struct bPoseChannel;
struct bAnimVizSettings;
struct bMotionPath;
+struct wmNDOFMotionData;
#define BL_NEAR_CLIP 0.001
@@ -72,6 +73,8 @@ void VIEW3D_OT_dolly(struct wmOperatorType *ot);
void VIEW3D_OT_zoom_camera_1_to_1(struct wmOperatorType *ot);
void VIEW3D_OT_move(struct wmOperatorType *ot);
void VIEW3D_OT_rotate(struct wmOperatorType *ot);
+void VIEW3D_OT_ndof_orbit(struct wmOperatorType *ot);
+void VIEW3D_OT_ndof_pan(struct wmOperatorType *ot);
void VIEW3D_OT_view_all(struct wmOperatorType *ot);
void VIEW3D_OT_viewnumpad(struct wmOperatorType *ot);
void VIEW3D_OT_view_selected(struct wmOperatorType *ot);
@@ -91,6 +94,8 @@ void VIEW3D_OT_zoom_border(struct wmOperatorType *ot);
void VIEW3D_OT_drawtype(struct wmOperatorType *ot);
void view3d_boxview_copy(ScrArea *sa, ARegion *ar);
+void ndof_to_quat(struct wmNDOFMotionData* ndof, float q[4]);
+float ndof_to_axis_angle(struct wmNDOFMotionData* ndof, float axis[3]);
/* view3d_fly.c */
void view3d_keymap(struct wmKeyConfig *keyconf);
@@ -120,7 +125,7 @@ void view3d_cached_text_draw_end(View3D *v3d, ARegion *ar, int depth_write, floa
#define V3D_CACHE_TEXT_ASCII (1<<2)
/* drawarmature.c */
-int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, int flag);
+int draw_armature(Scene *scene, View3D *v3d, ARegion *ar, Base *base, int dt, int flag, const short is_outline);
/* drawmesh.c */
void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, struct Object *ob, struct DerivedMesh *dm, int faceselect);
@@ -194,6 +199,16 @@ extern const char *view3d_context_dir[]; /* doc access */
/* draw_volume.c */
void draw_volume(struct ARegion *ar, struct GPUTexture *tex, float *min, float *max, int res[3], float dx, struct GPUTexture *tex_shadow);
+/* workaround for trivial but noticable camera bug caused by imprecision
+ * between view border calculation in 2D/3D space, workaround for bug [#28037].
+ * without this deifne we get the old behavior which is to try and align them
+ * both which _mostly_ works fine, but when the camera moves beyond ~1000 in
+ * any direction it starts to fail */
+#define VIEW3D_CAMERA_BORDER_HACK
+#ifdef VIEW3D_CAMERA_BORDER_HACK
+extern float view3d_camera_border_hack_col[4];
+extern short view3d_camera_border_hack_test;
+#endif
#endif /* ED_VIEW3D_INTERN_H */
diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c
index 05ef79a9f29..8416b37fd5e 100644
--- a/source/blender/editors/space_view3d/view3d_ops.c
+++ b/source/blender/editors/space_view3d/view3d_ops.c
@@ -64,6 +64,8 @@ void view3d_operatortypes(void)
WM_operatortype_append(VIEW3D_OT_zoom);
WM_operatortype_append(VIEW3D_OT_zoom_camera_1_to_1);
WM_operatortype_append(VIEW3D_OT_dolly);
+ WM_operatortype_append(VIEW3D_OT_ndof_orbit);
+ WM_operatortype_append(VIEW3D_OT_ndof_pan);
WM_operatortype_append(VIEW3D_OT_view_all);
WM_operatortype_append(VIEW3D_OT_viewnumpad);
WM_operatortype_append(VIEW3D_OT_view_orbit);
@@ -161,6 +163,17 @@ void view3d_keymap(wmKeyConfig *keyconf)
RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_all", HOMEKEY, KM_PRESS, 0, 0)->ptr, "center", 0); /* only without camera view */
RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_all", CKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "center", 1);
+ /* 3D mouse */
+ WM_keymap_add_item(keymap, "VIEW3D_OT_ndof_orbit", NDOF_MOTION, 0, 0, 0);
+ WM_keymap_add_item(keymap, "VIEW3D_OT_ndof_pan", NDOF_MOTION, 0, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "VIEW3D_OT_view_selected", NDOF_BUTTON_FIT, KM_PRESS, 0, 0);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_FRONT, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_FRONT);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_BACK, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_BACK);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_LEFT, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_LEFT);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_RIGHT, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_RIGHT);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_TOP, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_TOP);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_BOTTOM, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_BOTTOM);
+
/* numpad view hotkeys*/
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD0, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_CAMERA);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD1, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_FRONT);
@@ -210,6 +223,17 @@ void view3d_keymap(wmKeyConfig *keyconf)
RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_BOTTOM);
RNA_boolean_set(kmi->ptr, "align_active", TRUE);
+ /* 3D mouse align */
+ kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_FRONT, KM_PRESS, KM_SHIFT, 0);
+ RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_FRONT);
+ RNA_boolean_set(kmi->ptr, "align_active", TRUE);
+ kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_RIGHT, KM_PRESS, KM_SHIFT, 0);
+ RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_RIGHT);
+ RNA_boolean_set(kmi->ptr, "align_active", TRUE);
+ kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_TOP, KM_PRESS, KM_SHIFT, 0);
+ RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_TOP);
+ RNA_boolean_set(kmi->ptr, "align_active", TRUE);
+
WM_keymap_add_item(keymap, "VIEW3D_OT_localview", PADSLASHKEY, KM_PRESS, 0, 0);
/* layers, shift + alt are properties set in invoke() */
@@ -239,9 +263,13 @@ void view3d_keymap(wmKeyConfig *keyconf)
/* selection*/
WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", TRUE);
- RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL, 0)->ptr, "center", TRUE);
- RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "enumerate", TRUE);
+ kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "extend", TRUE);
+ kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
+ RNA_boolean_set(kmi->ptr, "center", TRUE);
+ RNA_boolean_set(kmi->ptr, "object", TRUE); /* use Ctrl+Select for 2 purposes */
+ kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0);
+ RNA_boolean_set(kmi->ptr, "enumerate", TRUE);
/* selection key-combinations */
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index 6391db7ae5e..65914ead899 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -485,11 +485,8 @@ static void do_lasso_select_mesh(ViewContext *vc, int mcords[][2], short moves,
if (extend == 0 && select)
EM_deselect_all(vc->em);
- /* workaround: init mats first, EM_mask_init_backbuf_border can change
- view matrix to pixel space, breaking edge select with backbuf. fixes bug [#20936] */
-
- /* [#21018] breaks zbuf select. run below. only if bbsel fails */
- /* ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d) */
+ /* for non zbuf projections, dont change the GL state */
+ ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d);
glLoadMatrixf(vc->rv3d->viewmat);
bbsel= EM_mask_init_backbuf_border(vc, mcords, moves, rect.xmin, rect.ymin, rect.xmax, rect.ymax);
@@ -497,15 +494,13 @@ static void do_lasso_select_mesh(ViewContext *vc, int mcords[][2], short moves,
if(ts->selectmode & SCE_SELECT_VERTEX) {
if (bbsel) {
EM_backbuf_checkAndSelectVerts(vc->em, select);
- } else {
- ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d); /* for foreach's screen/vert projection */
+ }
+ else {
mesh_foreachScreenVert(vc, do_lasso_select_mesh__doSelectVert, &data, 1);
}
}
if(ts->selectmode & SCE_SELECT_EDGE) {
- /* Does both bbsel and non-bbsel versions (need screen cos for both) */
- ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d); /* for foreach's screen/vert projection */
-
+ /* Does both bbsel and non-bbsel versions (need screen cos for both) */
data.pass = 0;
mesh_foreachScreenEdge(vc, do_lasso_select_mesh__doSelectEdge, &data, 0);
@@ -518,8 +513,8 @@ static void do_lasso_select_mesh(ViewContext *vc, int mcords[][2], short moves,
if(ts->selectmode & SCE_SELECT_FACE) {
if (bbsel) {
EM_backbuf_checkAndSelectFaces(vc->em, select);
- } else {
- ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d); /* for foreach's screen/vert projection */
+ }
+ else {
mesh_foreachScreenFace(vc, do_lasso_select_mesh__doSelectFace, &data);
}
}
@@ -894,14 +889,14 @@ static unsigned int samplerect(unsigned int *buf, int size, unsigned int dontdo)
{
Base *base;
unsigned int *bufmin,*bufmax;
- int a,b,rc,tel,aantal,dirvec[4][2],maxob;
+ int a,b,rc,tel,len,dirvec[4][2],maxob;
unsigned int retval=0;
base= LASTBASE;
if(base==0) return 0;
maxob= base->selcol;
- aantal= (size-1)/2;
+ len= (size-1)/2;
rc= 0;
dirvec[0][0]= 1;
@@ -915,7 +910,7 @@ static unsigned int samplerect(unsigned int *buf, int size, unsigned int dontdo)
bufmin= buf;
bufmax= buf+ size*size;
- buf+= aantal*size+ aantal;
+ buf+= len*size+ len;
for(tel=1;tel<=size;tel++) {
@@ -1236,8 +1231,8 @@ static int mouse_select(bContext *C, const int mval[2], short extend, short obce
if(BASACT && BASACT->next) startbase= BASACT->next;
/* This block uses the control key to make the object selected by its center point rather than its contents */
- /* XXX later on, in editmode do not activate */
- if(vc.obedit==NULL && obcenter) {
+ /* in editmode do not activate */
+ if(obcenter) {
/* note; shift+alt goes to group-flush-selecting */
if(enumerate) {
@@ -1340,9 +1335,9 @@ static int mouse_select(bContext *C, const int mval[2], short extend, short obce
if(oldbasact != basact) {
ED_base_object_activate(C, basact); /* adds notifier */
}
-
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
}
+
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
}
return retval;
@@ -1491,12 +1486,8 @@ static int do_mesh_box_select(ViewContext *vc, rcti *rect, int select, int exten
if (extend == 0 && select)
EM_deselect_all(vc->em);
- /* workaround: init mats first, EM_mask_init_backbuf_border can change
- view matrix to pixel space, breaking edge select with backbuf. fixes bug #20936 */
- /*ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d);*/ /* for foreach's screen/vert projection */
-
- /* [#21018] breaks zbuf select. run below. only if bbsel fails */
- /* ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d) */
+ /* for non zbuf projections, dont change the GL state */
+ ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d);
glLoadMatrixf(vc->rv3d->viewmat);
bbsel= EM_init_backbuf_border(vc, rect->xmin, rect->ymin, rect->xmax, rect->ymax);
@@ -1505,7 +1496,6 @@ static int do_mesh_box_select(ViewContext *vc, rcti *rect, int select, int exten
if (bbsel) {
EM_backbuf_checkAndSelectVerts(vc->em, select);
} else {
- ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d);
mesh_foreachScreenVert(vc, do_mesh_box_select__doSelectVert, &data, 1);
}
}
@@ -1525,7 +1515,6 @@ static int do_mesh_box_select(ViewContext *vc, rcti *rect, int select, int exten
if(bbsel) {
EM_backbuf_checkAndSelectFaces(vc->em, select);
} else {
- ED_view3d_init_mats_rv3d(vc->obedit, vc->rv3d);
mesh_foreachScreenFace(vc, do_mesh_box_select__doSelectFace, &data);
}
}
@@ -1776,9 +1765,15 @@ static int view3d_borderselect_exec(bContext *C, wmOperator *op)
case OB_CURVE:
case OB_SURF:
ret= do_nurbs_box_select(&vc, &rect, select, extend);
+ if(ret & OPERATOR_FINISHED) {
+ WM_event_add_notifier(C, NC_GEOM|ND_SELECT, vc.obedit->data);
+ }
break;
case OB_MBALL:
ret= do_meta_box_select(&vc, &rect, select, extend);
+ if(ret & OPERATOR_FINISHED) {
+ WM_event_add_notifier(C, NC_GEOM|ND_SELECT, vc.obedit->data);
+ }
break;
case OB_ARMATURE:
ret= do_armature_box_select(&vc, &rect, select, extend);
@@ -1849,11 +1844,22 @@ static int view3d_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
short extend= RNA_boolean_get(op->ptr, "extend");
short center= RNA_boolean_get(op->ptr, "center");
short enumerate= RNA_boolean_get(op->ptr, "enumerate");
+ short object= RNA_boolean_get(op->ptr, "object");
int retval = 0;
view3d_operator_needs_opengl(C);
-
- if(obedit) {
+
+ if(object) {
+ obedit= NULL;
+ obact= NULL;
+
+ /* ack, this is incorrect but to do this correctly we would need an
+ * alternative editmode/objectmode keymap, this copies the functionality
+ * from 2.4x where Ctrl+Select in editmode does object select only */
+ center= FALSE;
+ }
+
+ if(obedit && object==FALSE) {
if(obedit->type==OB_MESH)
retval = mouse_mesh(C, event->mval, extend);
else if(obedit->type==OB_ARMATURE)
@@ -1900,8 +1906,9 @@ void VIEW3D_OT_select(wmOperatorType *ot)
/* properties */
RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Extend selection instead of deselecting everything first.");
- RNA_def_boolean(ot->srna, "center", 0, "Center", "Use the object center when selecting (object mode only).");
+ RNA_def_boolean(ot->srna, "center", 0, "Center", "Use the object center when selecting, in editmode used to extend object selection.");
RNA_def_boolean(ot->srna, "enumerate", 0, "Enumerate", "List objects under the mouse (object mode only).");
+ RNA_def_boolean(ot->srna, "object", 0, "Object", "Use object selection (editmode only).");
}
diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c
index 2e96800bf3b..a2aed67821d 100644
--- a/source/blender/editors/space_view3d/view3d_toolbar.c
+++ b/source/blender/editors/space_view3d/view3d_toolbar.c
@@ -46,6 +46,7 @@
#include "BLI_editVert.h"
#include "BLI_rand.h"
#include "BLI_utildefines.h"
+#include "BLI_ghash.h"
#include "BKE_context.h"
#include "BKE_idprop.h"
@@ -140,10 +141,11 @@ static void operator_call_cb(struct bContext *C, void *arg_listbase, void *arg2)
static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items)
{
- wmOperatorType *ot = WM_operatortype_first();
-
- for(; ot; ot= ot->next) {
-
+ GHashIterator *iter= WM_operatortype_iter();
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
if(BLI_strcasestr(ot->name, str)) {
if(WM_operator_poll((bContext*)C, ot)) {
@@ -152,6 +154,7 @@ static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), cons
}
}
}
+ BLI_ghashIterator_free(iter);
}
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c
index 0c4ab161e71..44ae6837aa2 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -468,8 +468,9 @@ void VIEW3D_OT_object_as_camera(wmOperatorType *ot)
void ED_view3d_calc_clipping(BoundBox *bb, float planes[4][4], bglMats *mats, rcti *rect)
{
+ float modelview[4][4];
double xs, ys, p[3];
- short val;
+ int val, flip_sign, a;
/* near zero floating point values can give issues with gluUnProject
in side view on some implementations */
@@ -493,11 +494,21 @@ void ED_view3d_calc_clipping(BoundBox *bb, float planes[4][4], bglMats *mats, rc
VECCOPY(bb->vec[4+val], p);
}
+ /* verify if we have negative scale. doing the transform before cross
+ product flips the sign of the vector compared to doing cross product
+ before transform then, so we correct for that. */
+ for(a=0; a<16; a++)
+ ((float*)modelview)[a] = mats->modelview[a];
+ flip_sign = is_negative_m4(modelview);
+
/* then plane equations */
for(val=0; val<4; val++) {
normal_tri_v3(planes[val], bb->vec[val], bb->vec[val==3?0:val+1], bb->vec[val+4]);
+ if(flip_sign)
+ negate_v3(planes[val]);
+
planes[val][3]= - planes[val][0]*bb->vec[val][0]
- planes[val][1]*bb->vec[val][1]
- planes[val][2]*bb->vec[val][2];
@@ -614,8 +625,8 @@ void ED_view3d_win_to_3d(ARegion *ar, const float depth_pt[3], const float mval[
}
}
else {
- const float dx= (2.0f * mval[0] / (float)ar->winx) - 1.0f;
- const float dy= (2.0f * mval[1] / (float)ar->winy) - 1.0f;
+ const float dx= (2.0f * mval[0] / (float)ar->winx) - 1.0f;
+ const float dy= (2.0f * mval[1] / (float)ar->winy) - 1.0f;
line_sta[0]= (rv3d->persinv[0][0] * dx) + (rv3d->persinv[1][0] * dy) + rv3d->viewinv[3][0];
line_sta[1]= (rv3d->persinv[0][1] * dx) + (rv3d->persinv[1][1] * dy) + rv3d->viewinv[3][1];
line_sta[2]= (rv3d->persinv[0][2] * dx) + (rv3d->persinv[1][2] * dy) + rv3d->viewinv[3][2];
@@ -829,8 +840,7 @@ void project_int_noclip(ARegion *ar, const float vec[3], int adr[2])
adr[0] = (int)floor(fx);
adr[1] = (int)floor(fy);
}
- else
- {
+ else {
adr[0] = ar->winx / 2;
adr[1] = ar->winy / 2;
}
@@ -893,8 +903,7 @@ void project_float_noclip(ARegion *ar, const float vec[3], float adr[2])
adr[0] = (float)(ar->winx/2.0f)+(ar->winx/2.0f)*vec4[0]/vec4[3];
adr[1] = (float)(ar->winy/2.0f)+(ar->winy/2.0f)*vec4[1]/vec4[3];
}
- else
- {
+ else {
adr[0] = ar->winx / 2.0f;
adr[1] = ar->winy / 2.0f;
}
@@ -1179,7 +1188,7 @@ int ED_view3d_lock(RegionView3D *rv3d)
return TRUE;
}
-/* dont set windows active in in here, is used by renderwin too */
+/* dont set windows active in here, is used by renderwin too */
void setviewmatrixview3d(Scene *scene, View3D *v3d, RegionView3D *rv3d)
{
if(rv3d->persp==RV3D_CAMOB) { /* obs/camera */
@@ -1560,7 +1569,7 @@ static void restore_localviewdata(ScrArea *sa, int free)
}
}
-static void endlocalview(Scene *scene, ScrArea *sa)
+static void endlocalview(Main *bmain, Scene *scene, ScrArea *sa)
{
View3D *v3d= sa->spacedata.first;
struct Base *base;
@@ -1586,6 +1595,8 @@ static void endlocalview(Scene *scene, ScrArea *sa)
base->object->lay= base->lay;
}
}
+
+ DAG_on_visible_update(bmain, FALSE);
}
}
@@ -1594,7 +1605,7 @@ static int localview_exec(bContext *C, wmOperator *UNUSED(unused))
View3D *v3d= CTX_wm_view3d(C);
if(v3d->localvd)
- endlocalview(CTX_data_scene(C), CTX_wm_area(C));
+ endlocalview(CTX_data_main(C), CTX_data_scene(C), CTX_wm_area(C));
else
initlocalview(CTX_data_main(C), CTX_data_scene(C), CTX_wm_area(C));
diff --git a/source/blender/editors/transform/CMakeLists.txt b/source/blender/editors/transform/CMakeLists.txt
index 8eb8d538396..e44cc1f5df3 100644
--- a/source/blender/editors/transform/CMakeLists.txt
+++ b/source/blender/editors/transform/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
@@ -41,7 +41,6 @@ set(SRC
transform_generics.c
transform_input.c
transform_manipulator.c
- transform_ndofinput.c
transform_ops.c
transform_orientations.c
transform_snap.c
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 181fb0f0aac..1796bd4e928 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -969,7 +969,7 @@ int transformEvent(TransInfo *t, wmEvent *event)
break;
case OKEY:
if (t->flag & T_PROP_EDIT && event->shift) {
- t->prop_mode = (t->prop_mode + 1) % 6;
+ t->prop_mode = (t->prop_mode + 1) % PROP_MODE_MAX;
calculatePropRatio(t);
t->redraw |= TREDRAW_HARD;
}
@@ -1006,9 +1006,6 @@ int transformEvent(TransInfo *t, wmEvent *event)
else view_editmove(event->type);
t->redraw= 1;
break;
-// case NDOFMOTION:
-// viewmoveNDOF(1);
- // break;
default:
handled = 0;
break;
@@ -1017,43 +1014,6 @@ int transformEvent(TransInfo *t, wmEvent *event)
// Numerical input events
t->redraw |= handleNumInput(&(t->num), event);
- // NDof input events
- switch(handleNDofInput(&(t->ndof), event))
- {
- case NDOF_CONFIRM:
- if ((t->options & CTX_NDOF) == 0)
- {
- /* Confirm on normal transform only */
- t->state = TRANS_CONFIRM;
- }
- break;
- case NDOF_CANCEL:
- if (t->options & CTX_NDOF)
- {
- /* Cancel on pure NDOF transform */
- t->state = TRANS_CANCEL;
- }
- else
- {
- /* Otherwise, just redraw, NDof input was cancelled */
- t->redraw |= TREDRAW_HARD;
- }
- break;
- case NDOF_NOMOVE:
- if (t->options & CTX_NDOF)
- {
- /* Confirm on pure NDOF transform */
- t->state = TRANS_CONFIRM;
- }
- break;
- case NDOF_REFRESH:
- t->redraw |= TREDRAW_HARD;
- break;
- default:
- handled = 0;
- break;
- }
-
// Snapping events
t->redraw |= handleSnapping(t, event);
@@ -1396,16 +1356,15 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
ToolSettings *ts = CTX_data_tool_settings(C);
int constraint_axis[3] = {0, 0, 0};
int proportional = 0;
+ PropertyRNA *prop;
- if (RNA_struct_find_property(op->ptr, "value"))
- {
- if (t->flag & T_AUTOVALUES)
- {
- RNA_float_set_array(op->ptr, "value", t->auto_values);
+ if ((prop= RNA_struct_find_property(op->ptr, "value"))) {
+ float *values= (t->flag & T_AUTOVALUES) ? t->auto_values : t->values;
+ if (RNA_property_array_check(prop)) {
+ RNA_property_float_set_array(op->ptr, prop, values);
}
- else
- {
- RNA_float_set_array(op->ptr, "value", t->values);
+ else {
+ RNA_property_float_set(op->ptr, prop, values[0]);
}
}
@@ -1719,7 +1678,14 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int
if (RNA_property_is_set(op->ptr, "value"))
{
float values[4]= {0}; /* incase value isn't length 4, avoid uninitialized memory */
- RNA_float_get_array(op->ptr, "value", values);
+ PropertyRNA *prop= RNA_struct_find_property(op->ptr, "value");
+
+ if(RNA_property_array_check(prop)) {
+ RNA_float_get_array(op->ptr, "value", values);
+ } else {
+ values[0]= RNA_float_get(op->ptr, "value");
+ }
+
QUATCOPY(t->values, values);
QUATCOPY(t->auto_values, values);
t->flag |= T_AUTOVALUES;
@@ -1982,12 +1948,15 @@ static void protectedQuaternionBits(short protectflag, float *quat, float *oldqu
/* ******************* TRANSFORM LIMITS ********************** */
-static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
+static void constraintTransLim(TransInfo *t, TransData *td)
{
if (td->con) {
- bConstraintTypeInfo *cti= get_constraint_typeinfo(CONSTRAINT_TYPE_LOCLIMIT);
+ bConstraintTypeInfo *ctiLoc= get_constraint_typeinfo(CONSTRAINT_TYPE_LOCLIMIT);
+ bConstraintTypeInfo *ctiDist= get_constraint_typeinfo(CONSTRAINT_TYPE_DISTLIMIT);
+
bConstraintOb cob= {NULL};
bConstraint *con;
+ float ctime = (float)(t->scene->r.cfra);
/* Make a temporary bConstraintOb for using these limit constraints
* - they only care that cob->matrix is correctly set ;-)
@@ -1998,6 +1967,8 @@ static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
/* Evaluate valid constraints */
for (con= td->con; con; con= con->next) {
+ bConstraintTypeInfo *cti = NULL;
+ ListBase targets = {NULL, NULL};
float tmat[4][4];
/* only consider constraint if enabled */
@@ -2010,7 +1981,17 @@ static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
if ((data->flag2 & LIMIT_TRANSFORM)==0)
continue;
+ cti = ctiLoc;
+ }
+ else if (con->type == CONSTRAINT_TYPE_DISTLIMIT) {
+ bDistLimitConstraint *data= con->data;
+ if ((data->flag & LIMITDIST_TRANSFORM)==0)
+ continue;
+ cti = ctiDist;
+ }
+
+ if (cti) {
/* do space conversions */
if (con->ownspace == CONSTRAINT_SPACE_WORLD) {
/* just multiply by td->mtx (this should be ok) */
@@ -2022,8 +2003,11 @@ static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
continue;
}
+ /* get constraint targets if needed */
+ get_constraint_targets_for_solving(con, &cob, &targets, ctime);
+
/* do constraint */
- cti->evaluate_constraint(con, &cob, NULL);
+ cti->evaluate_constraint(con, &cob, &targets);
/* convert spaces again */
if (con->ownspace == CONSTRAINT_SPACE_WORLD) {
@@ -2031,6 +2015,9 @@ static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
copy_m4_m4(tmat, cob.matrix);
mul_m4_m3m4(cob.matrix, td->smtx, tmat);
}
+
+ /* free targets list */
+ BLI_freelistN(&targets);
}
}
@@ -2886,10 +2873,6 @@ void initRotation(TransInfo *t)
setInputPostFct(&t->mouse, postInputRotation);
initMouseInputMode(t, &t->mouse, INPUT_ANGLE);
- t->ndof.axis = 16;
- /* Scale down and flip input for rotation */
- t->ndof.factor[0] = -0.2f;
-
t->idx_max = 0;
t->num.idx_max = 0;
t->snap[0] = 0.0f;
@@ -3161,8 +3144,6 @@ int Rotation(TransInfo *t, const int UNUSED(mval[2]))
final = t->values[0];
- applyNDofInput(&t->ndof, &final);
-
snapGrid(t, &final);
if ((t->con.mode & CON_APPLY) && t->con.applyRot) {
@@ -3216,11 +3197,6 @@ void initTrackball(TransInfo *t)
initMouseInputMode(t, &t->mouse, INPUT_TRACKBALL);
- t->ndof.axis = 40;
- /* Scale down input for rotation */
- t->ndof.factor[0] = 0.2f;
- t->ndof.factor[1] = 0.2f;
-
t->idx_max = 1;
t->num.idx_max = 1;
t->snap[0] = 0.0f;
@@ -3276,8 +3252,6 @@ int Trackball(TransInfo *t, const int UNUSED(mval[2]))
phi[0] = t->values[0];
phi[1] = t->values[1];
- applyNDofInput(&t->ndof, phi);
-
snapGrid(t, phi);
if (hasNumInput(&t->num)) {
@@ -3331,8 +3305,6 @@ void initTranslation(TransInfo *t)
t->num.flag = 0;
t->num.idx_max = t->idx_max;
- t->ndof.axis = (t->flag & T_2D_EDIT)? 1|2: 1|2|4;
-
if(t->spacetype == SPACE_VIEW3D) {
RegionView3D *rv3d = t->ar->regiondata;
@@ -3507,7 +3479,6 @@ int Translation(TransInfo *t, const int UNUSED(mval[2]))
headerTranslation(t, pvec, str);
}
else {
- applyNDofInput(&t->ndof, t->values);
snapGrid(t, t->values);
applyNumInput(&t->num, t->values);
if (hasNumInput(&t->num)) {
@@ -3616,10 +3587,6 @@ void initTilt(TransInfo *t)
initMouseInputMode(t, &t->mouse, INPUT_ANGLE);
- t->ndof.axis = 16;
- /* Scale down and flip input for rotation */
- t->ndof.factor[0] = -0.2f;
-
t->idx_max = 0;
t->num.idx_max = 0;
t->snap[0] = 0.0f;
@@ -3643,8 +3610,6 @@ int Tilt(TransInfo *t, const int UNUSED(mval[2]))
final = t->values[0];
- applyNDofInput(&t->ndof, &final);
-
snapGrid(t, &final);
if (hasNumInput(&t->num)) {
@@ -3759,10 +3724,6 @@ void initPushPull(TransInfo *t)
initMouseInputMode(t, &t->mouse, INPUT_VERTICAL_ABSOLUTE);
- t->ndof.axis = 4;
- /* Flip direction */
- t->ndof.factor[0] = -1.0f;
-
t->idx_max = 0;
t->num.idx_max = 0;
t->snap[0] = 0.0f;
@@ -3783,8 +3744,6 @@ int PushPull(TransInfo *t, const int UNUSED(mval[2]))
distance = t->values[0];
- applyNDofInput(&t->ndof, &distance);
-
snapGrid(t, &distance);
applyNumInput(&t->num, &distance);
@@ -4306,7 +4265,7 @@ static int createSlideVerts(TransInfo *t)
/* UV correction vars */
GHash **uvarray= NULL;
SlideData *sld = MEM_callocN(sizeof(*sld), "sld");
- int uvlay_tot= CustomData_number_of_layers(&em->fdata, CD_MTFACE);
+ const int uvlay_tot= (t->settings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) ? CustomData_number_of_layers(&em->fdata, CD_MTFACE) : 0;
int uvlay_idx;
TransDataSlideUv *slideuvs=NULL, *suv=NULL, *suv_last=NULL;
RegionView3D *v3d = t->ar ? t->ar->regiondata : NULL; /* background mode support */
@@ -4659,7 +4618,7 @@ static int createSlideVerts(TransInfo *t)
#define EDGE_SLIDE_MIN 30
if (len_squared_v2v2(start, end) < (EDGE_SLIDE_MIN * EDGE_SLIDE_MIN)) {
if(ABS(start[0]-end[0]) + ABS(start[1]-end[1]) < 4.0f) {
- /* even more exceptional case, points are ontop of eachother */
+ /* even more exceptional case, points are ontop of each other */
end[0]= start[0];
end[1]= start[1] + EDGE_SLIDE_MIN;
}
@@ -4678,7 +4637,7 @@ static int createSlideVerts(TransInfo *t)
sld->end[0] = (int) end[0];
sld->end[1] = (int) end[1];
- if (uvlay_tot) { // XXX && (scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT)) {
+ if (uvlay_tot) {
int maxnum = 0;
uvarray = MEM_callocN( uvlay_tot * sizeof(GHash *), "SlideUVs Array");
@@ -4717,7 +4676,7 @@ static int createSlideVerts(TransInfo *t)
uv_new = tf->uv[k];
if (ev->tmp.l) {
- if (fabs(suv->origuv[0]-uv_new[0]) > 0.0001f || fabs(suv->origuv[1]-uv_new[1]) > 0.0001f) {
+ if (fabsf(suv->origuv[0]-uv_new[0]) > 0.0001f || fabs(suv->origuv[1]-uv_new[1]) > 0.0001f) {
ev->tmp.l = -1; /* Tag as invalid */
BLI_linklist_free(suv->fuv_list,NULL);
suv->fuv_list = NULL;
@@ -4868,8 +4827,6 @@ void initEdgeSlide(TransInfo *t)
int doEdgeSlide(TransInfo *t, float perc)
{
- Mesh *me= t->obedit->data;
- EditMesh *em = me->edit_mesh;
SlideData *sld = t->customData;
EditVert *ev, *nearest = sld->nearest;
EditVert *centerVert, *upVert, *downVert;
@@ -4880,7 +4837,7 @@ int doEdgeSlide(TransInfo *t, float perc)
int prop=1, flip=0;
/* UV correction vars */
GHash **uvarray= sld->uvhash;
- int uvlay_tot= CustomData_number_of_layers(&em->fdata, CD_MTFACE);
+ const int uvlay_tot= sld->uvlay_tot;
int uvlay_idx;
TransDataSlideUv *suv;
float uv_tmp[2];
@@ -4906,7 +4863,7 @@ int doEdgeSlide(TransInfo *t, float perc)
tempev = editedge_getOtherVert((perc>=0)?tempsv->up:tempsv->down, ev);
interp_v3_v3v3(ev->co, tempsv->origvert.co, tempev->co, fabs(perc));
- if (uvlay_tot) { // XXX scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) {
+ if (uvlay_tot) {
for (uvlay_idx=0; uvlay_idx<uvlay_tot; uvlay_idx++) {
suv = BLI_ghash_lookup( uvarray[uvlay_idx], ev );
if (suv && suv->fuv_list && suv->uv_up && suv->uv_down) {
@@ -4936,7 +4893,7 @@ int doEdgeSlide(TransInfo *t, float perc)
if(newlen < 0.0f) {newlen = 0.0;}
if(flip == 0) {
interp_v3_v3v3(ev->co, editedge_getOtherVert(tempsv->down,ev)->co, editedge_getOtherVert(tempsv->up,ev)->co, fabs(newlen));
- if (uvlay_tot) { // XXX scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) {
+ if (uvlay_tot) {
/* dont do anything if no UVs */
for (uvlay_idx=0; uvlay_idx<uvlay_tot; uvlay_idx++) {
suv = BLI_ghash_lookup( uvarray[uvlay_idx], ev );
@@ -4953,7 +4910,7 @@ int doEdgeSlide(TransInfo *t, float perc)
} else{
interp_v3_v3v3(ev->co, editedge_getOtherVert(tempsv->up,ev)->co, editedge_getOtherVert(tempsv->down,ev)->co, fabs(newlen));
- if (uvlay_tot) { // XXX scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) {
+ if (uvlay_tot) {
/* dont do anything if no UVs */
for (uvlay_idx=0; uvlay_idx<uvlay_tot; uvlay_idx++) {
suv = BLI_ghash_lookup( uvarray[uvlay_idx], ev );
@@ -5309,8 +5266,6 @@ void initSeqSlide(TransInfo *t)
t->num.flag = 0;
t->num.idx_max = t->idx_max;
- t->ndof.axis = 1|2;
-
t->snap[0] = 0.0f;
t->snap[1] = floor(t->scene->r.frs_sec / t->scene->r.frs_sec_base);
t->snap[2] = 10.0f;
@@ -5365,7 +5320,6 @@ int SeqSlide(TransInfo *t, const int UNUSED(mval[2]))
VECCOPY(t->values, tvec);
}
else {
- applyNDofInput(&t->ndof, t->values);
snapGrid(t, t->values);
applyNumInput(&t->num, t->values);
}
@@ -5530,7 +5484,7 @@ static void doAnimEdit_SnapFrame(TransInfo *t, TransData *td, TransData2D *td2d,
void initTimeTranslate(TransInfo *t)
{
/* this tool is only really available in the Action Editor... */
- if (t->spacetype != SPACE_ACTION) {
+ if (!ELEM(t->spacetype, SPACE_ACTION, SPACE_SEQ)) {
t->state = TRANS_CANCEL;
}
@@ -5783,8 +5737,8 @@ int TimeSlide(TransInfo *t, const int mval[2])
char str[200];
/* calculate mouse co-ordinates */
- UI_view2d_region_to_view(v2d, mval[0], mval[0], &cval[0], &cval[1]);
- UI_view2d_region_to_view(v2d, t->imval[0], t->imval[0], &sval[0], &sval[1]);
+ UI_view2d_region_to_view(v2d, mval[0], mval[1], &cval[0], &cval[1]);
+ UI_view2d_region_to_view(v2d, t->imval[0], t->imval[1], &sval[0], &sval[1]);
/* t->values[0] stores cval[0], which is the current mouse-pointer location (in frames) */
// XXX Need to be able to repeat this
@@ -5925,54 +5879,3 @@ void BIF_TransformSetUndo(char *UNUSED(str))
// TRANSFORM_FIX_ME
//Trans.undostr= str;
}
-
-
-#if 0 // TRANSFORM_FIX_ME
-static void NDofTransform(void)
-{
- float fval[7];
- float maxval = 50.0f; // also serves as threshold
- int axis = -1;
- int mode = 0;
- int i;
-
- getndof(fval);
-
- for(i = 0; i < 6; i++)
- {
- float val = fabs(fval[i]);
- if (val > maxval)
- {
- axis = i;
- maxval = val;
- }
- }
-
- switch(axis)
- {
- case -1:
- /* No proper axis found */
- break;
- case 0:
- case 1:
- case 2:
- mode = TFM_TRANSLATION;
- break;
- case 4:
- mode = TFM_ROTATION;
- break;
- case 3:
- case 5:
- mode = TFM_TRACKBALL;
- break;
- default:
- printf("ndof: what we are doing here ?");
- }
-
- if (mode != 0)
- {
- initTransform(mode, CTX_NDOF);
- Transform();
- }
-}
-#endif
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index 0e0d452a9e6..485344875d4 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -67,14 +67,6 @@ struct wmTimer;
struct ARegion;
struct ReportList;
-typedef struct NDofInput {
- int flag;
- int axis;
- float fval[7];
- float factor[3];
-} NDofInput;
-
-
/*
The ctrl value has different meaning:
0 : No value has been typed
@@ -95,7 +87,8 @@ typedef struct TransSnap {
short modePoint;
short modeSelect;
short align;
- short project;
+ char project;
+ char snap_self;
short peel;
short status;
float snapPoint[3]; /* snapping from this point */
@@ -272,7 +265,6 @@ typedef struct TransInfo {
TransCon con; /* transformed constraint */
TransSnap tsnap;
NumInput num; /* numerical input */
- NDofInput ndof; /* ndof input */
MouseInput mouse; /* mouse input */
char redraw; /* redraw flag */
float prop_size; /* proportional circle radius */
@@ -339,9 +331,6 @@ typedef struct TransInfo {
/* ******************** Macros & Prototypes *********************** */
-/* NDOFINPUT FLAGS */
-#define NDOF_INIT 1
-
/* transinfo->state */
#define TRANS_STARTING 0
#define TRANS_RUNNING 1
@@ -682,20 +671,6 @@ void calculatePropRatio(TransInfo *t);
void getViewVector(TransInfo *t, float coord[3], float vec[3]);
-/*********************** NDofInput ********************************/
-
-void initNDofInput(NDofInput *n);
-int hasNDofInput(NDofInput *n);
-void applyNDofInput(NDofInput *n, float *vec);
-int handleNDofInput(NDofInput *n, struct wmEvent *event);
-
-/* handleNDofInput return values */
-#define NDOF_REFRESH 1
-#define NDOF_NOMOVE 2
-#define NDOF_CONFIRM 3
-#define NDOF_CANCEL 4
-
-
/*********************** Transform Orientations ******************************/
void initTransformOrientation(struct bContext *C, TransInfo *t);
diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c
index 0ca0812f050..be5f539431f 100644
--- a/source/blender/editors/transform/transform_constraints.c
+++ b/source/blender/editors/transform/transform_constraints.c
@@ -105,8 +105,8 @@ void constraintNumInput(TransInfo *t, float vec[3])
if (getConstraintSpaceDimension(t) == 2) {
int axis = mode & (CON_AXIS0|CON_AXIS1|CON_AXIS2);
if (axis == (CON_AXIS0|CON_AXIS1)) {
- vec[0] = vec[0];
- vec[1] = vec[1];
+ /* vec[0] = vec[0]; */ /* same */
+ /* vec[1] = vec[1]; */ /* same */
vec[2] = nval;
}
else if (axis == (CON_AXIS1|CON_AXIS2)) {
@@ -115,14 +115,14 @@ void constraintNumInput(TransInfo *t, float vec[3])
vec[0] = nval;
}
else if (axis == (CON_AXIS0|CON_AXIS2)) {
- vec[0] = vec[0];
+ /* vec[0] = vec[0]; */ /* same */
vec[2] = vec[1];
vec[1] = nval;
}
}
else if (getConstraintSpaceDimension(t) == 1) {
if (mode & CON_AXIS0) {
- vec[0] = vec[0];
+ /* vec[0] = vec[0]; */ /* same */
vec[1] = nval;
vec[2] = nval;
}
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 68aa27a7b62..cae64899aeb 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -87,6 +87,7 @@
#include "ED_object.h"
#include "ED_markers.h"
#include "ED_mesh.h"
+#include "ED_node.h"
#include "ED_types.h"
#include "ED_uvedit.h"
#include "ED_curve.h" /* for ED_curve_editnurbs */
@@ -690,7 +691,7 @@ int count_set_pose_transflags(int *out_mode, short around, Object *ob)
for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
bone = pchan->bone;
if (PBONE_VISIBLE(arm, bone)) {
- if ((bone->flag & BONE_SELECTED) && !(ob->proxy && pchan->bone->layer & arm->layer_protected))
+ if ((bone->flag & BONE_SELECTED))
bone->flag |= BONE_TRANSFORM;
else
bone->flag &= ~BONE_TRANSFORM;
@@ -2182,6 +2183,12 @@ void flushTransNodes(TransInfo *t)
td->loc2d[0]= td->loc[0];
td->loc2d[1]= td->loc[1];
}
+
+ /* handle intersection with noodles */
+ if(t->total==1) {
+ ED_node_link_intersect_test(t->sa, 1);
+ }
+
}
/* *** SEQUENCE EDITOR *** */
@@ -2479,6 +2486,7 @@ static short FrameOnMouseSide(char side, float frame, float cframe)
static void createTransNlaData(bContext *C, TransInfo *t)
{
Scene *scene= t->scene;
+ SpaceNla *snla = NULL;
TransData *td = NULL;
TransDataNla *tdn = NULL;
@@ -2492,9 +2500,10 @@ static void createTransNlaData(bContext *C, TransInfo *t)
/* determine what type of data we are operating on */
if (ANIM_animdata_get_context(C, &ac) == 0)
return;
+ snla = (SpaceNla *)ac.sl;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* which side of the current frame should be allowed */
@@ -2577,7 +2586,7 @@ static void createTransNlaData(bContext *C, TransInfo *t)
tdn->strip= strip;
tdn->trackIndex= BLI_findindex(&adt->nla_tracks, nlt);
- yval= (float)(tdn->trackIndex * NLACHANNEL_STEP);
+ yval= (float)(tdn->trackIndex * NLACHANNEL_STEP(snla));
tdn->h1[0]= strip->start;
tdn->h1[1]= yval;
@@ -2681,7 +2690,7 @@ static void createTransNlaData(bContext *C, TransInfo *t)
static void posttrans_gpd_clean (bGPdata *gpd)
{
bGPDlayer *gpl;
-
+
for (gpl= gpd->layers.first; gpl; gpl= gpl->next) {
ListBase sel_buffer = {NULL, NULL};
bGPDframe *gpf, *gpfn;
@@ -2834,7 +2843,7 @@ static void posttrans_action_clean (bAnimContext *ac, bAction *act)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
ANIM_animdata_filter(ac, &anim_data, filter, act, ANIMCONT_ACTION);
/* loop through relevant data, removing keyframes as appropriate
@@ -2842,7 +2851,7 @@ static void posttrans_action_clean (bAnimContext *ac, bAction *act)
*/
for (ale= anim_data.first; ale; ale= ale->next) {
AnimData *adt= ANIM_nla_mapping_get(ac, ale);
-
+
if (adt) {
ANIM_nla_mapping_apply_fcurve(adt, ale->key_data, 0, 1);
posttrans_fcurve_clean(ale->key_data);
@@ -3036,9 +3045,9 @@ static void createTransActionData(bContext *C, TransInfo *t)
/* filter data */
if (ac.datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* which side of the current frame should be allowed */
@@ -3131,12 +3140,18 @@ static void createTransActionData(bContext *C, TransInfo *t)
float min=999999999.0f, max=-999999999.0f;
int i;
- td= (t->data + 1);
- for (i=1; i < count; i+=3, td+=3) {
+ td= t->data;
+ for (i=0; i < count; i++, td++) {
if (min > *(td->val)) min= *(td->val);
if (max < *(td->val)) max= *(td->val);
}
+ if (min == max) {
+ /* just use the current frame ranges */
+ min = (float)PSFRA;
+ max = (float)PEFRA;
+ }
+
/* minx/maxx values used by TimeSlide are stored as a
* calloced 2-float array in t->customData. This gets freed
* in postTrans (T_FREE_CUSTOMDATA).
@@ -3257,7 +3272,7 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
return;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_CURVEVISIBLE);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* which side of the current frame should be allowed */
@@ -3437,7 +3452,7 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
* then check if we're using auto-handles.
* - If so, change them auto-handles to aligned handles so that handles get affected too
*/
- if ((bezt->h1 == HD_AUTO) && (bezt->h2 == HD_AUTO) && ELEM(t->mode, TFM_ROTATION, TFM_RESIZE)) {
+ if (ELEM(bezt->h1, HD_AUTO, HD_AUTO_ANIM) && ELEM(bezt->h2, HD_AUTO, HD_AUTO_ANIM) && ELEM(t->mode, TFM_ROTATION, TFM_RESIZE)) {
if (hdata && (sel1) && (sel3)) {
bezt->h1= HD_ALIGN;
bezt->h2= HD_ALIGN;
@@ -3725,27 +3740,8 @@ void flushTransGraphData(TransInfo *t)
* seq->depth must be set before running this function so we know if the strips
* are root level or not
*/
-#define XXX_DURIAN_ANIM_TX_HACK
static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count, int *flag)
{
-
-#ifdef XXX_DURIAN_ANIM_TX_HACK
- /* hack */
- if((seq->flag & SELECT)==0 && seq->type & SEQ_EFFECT) {
- Sequence *seq_t[3];
- int i;
-
- seq_t[0]= seq->seq1;
- seq_t[1]= seq->seq2;
- seq_t[2]= seq->seq3;
-
- for(i=0; i<3; i++) {
- if (seq_t[i] && ((seq_t[i])->flag & SELECT) && !(seq_t[i]->flag & SEQ_LOCK) && !(seq_t[i]->flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL)))
- seq->flag |= SELECT;
- }
- }
-#endif
-
/* for extend we need to do some tricks */
if (t->mode == TFM_TIME_EXTEND) {
@@ -4105,6 +4101,7 @@ static void freeSeqData(TransInfo *t)
static void createTransSeqData(bContext *C, TransInfo *t)
{
+#define XXX_DURIAN_ANIM_TX_HACK
View2D *v2d= UI_view2d_fromcontext(C);
Scene *scene= t->scene;
@@ -4135,6 +4132,24 @@ static void createTransSeqData(bContext *C, TransInfo *t)
t->frame_side = 'B';
}
+#ifdef XXX_DURIAN_ANIM_TX_HACK
+ {
+ Sequence *seq;
+ for(seq= ed->seqbasep->first; seq; seq= seq->next) {
+ /* hack */
+ if((seq->flag & SELECT)==0 && seq->type & SEQ_EFFECT) {
+ Sequence *seq_user;
+ int i;
+ for(i=0; i<3; i++) {
+ seq_user= *((&seq->seq1) + i);
+ if (seq_user && (seq_user->flag & SELECT) && !(seq_user->flag & SEQ_LOCK) && !(seq_user->flag & (SEQ_LEFTSEL|SEQ_RIGHTSEL))) {
+ seq->flag |= SELECT;
+ }
+ }
+ }
+ }
+ }
+#endif
count = SeqTransCount(t, ed->seqbasep, 0);
@@ -4154,6 +4169,8 @@ static void createTransSeqData(bContext *C, TransInfo *t)
/* loop 2: build transdata array */
SeqToTransData_Recursive(t, ed->seqbasep, td, td2d, tdsq);
+
+#undef XXX_DURIAN_ANIM_TX_HACK
}
@@ -4754,7 +4771,14 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
}
else if (t->spacetype == SPACE_NODE) {
- /* pass */
+ SpaceNode *snode= (SpaceNode *)t->sa->spacedata.first;
+ ED_node_update_hierarchy(C, snode->edittree);
+
+ if(cancelled == 0)
+ ED_node_link_insert(t->sa);
+
+ /* clear link line */
+ ED_node_link_intersect_test(t->sa, 0);
}
else if (t->spacetype == SPACE_ACTION) {
SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
@@ -4769,7 +4793,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
if (ELEM(ac.datatype, ANIMCONT_DOPESHEET, ANIMCONT_SHAPEKEY)) {
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
/* get channels to work on */
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
@@ -4836,7 +4860,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
// XXX: BAD! this get gpencil datablocks directly from main db...
// but that's how this currently works :/
for (gpd = G.main->gpencil.first; gpd; gpd = gpd->id.next) {
- if (ID_REAL_USERS(gpd) > 1)
+ if (ID_REAL_USERS(gpd))
posttrans_gpd_clean(gpd);
}
}
@@ -4864,7 +4888,8 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
}
/* make sure all F-Curves are set correctly */
- ANIM_editkeyframes_refresh(&ac);
+ if (ac.datatype != ANIMCONT_GPENCIL)
+ ANIM_editkeyframes_refresh(&ac);
/* clear flag that was set for time-slide drawing */
saction->flag &= ~SACTION_MOVING;
@@ -4881,7 +4906,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_CURVEVISIBLE);
+ short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
/* get channels to work on */
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
@@ -4931,7 +4956,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NLATRACKS);
+ short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT);
/* get channels to work on */
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
@@ -4977,6 +5002,10 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
where_is_pose(t->scene, pose_ob);
}
+ /* set BONE_TRANSFORM flags for autokey, manipulator draw might have changed them */
+ if (!cancelled && (t->mode != TFM_DUMMY))
+ count_set_pose_transflags(&t->mode, t->around, ob);
+
/* if target-less IK grabbing, we calculate the pchan transforms and clear flag */
if (!cancelled && t->mode==TFM_TRANSLATION)
targetless_ik= apply_targetless_ik(ob);
@@ -5077,10 +5106,6 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
#if 0 // TRANSFORM_FIX_ME
if(resetslowpar)
reset_slowparents();
-
- /* note; should actually only be done for all objects when a lamp is moved... (ton) */
- if(t->spacetype==SPACE_VIEW3D && G.vd->drawtype == OB_SHADED)
- reshadeall_displist();
#endif
}
@@ -5171,6 +5196,11 @@ static void NodeToTransData(TransData *td, TransData2D *td2d, bNode *node)
td2d->loc2d = &node->locx; /* current location */
td->flag = 0;
+ /* exclude nodes whose parent is also transformed */
+ if (node->parent && (node->parent->flag & NODE_TRANSFORM)) {
+ td->flag |= TD_SKIP;
+ }
+
td->loc = td2d->loc;
VECCOPY(td->center, td->loc);
VECCOPY(td->iloc, td->loc);
@@ -5191,6 +5221,16 @@ static void createTransNodeData(bContext *C, TransInfo *t)
{
TransData *td;
TransData2D *td2d;
+ SpaceNode *snode= t->sa->spacedata.first;
+ bNode *node;
+
+ /* set transform flags on nodes */
+ for (node=snode->edittree->nodes.first; node; node=node->next) {
+ if ((node->flag & NODE_SELECT) || (node->parent && (node->parent->flag & NODE_TRANSFORM)))
+ node->flag |= NODE_TRANSFORM;
+ else
+ node->flag &= ~NODE_TRANSFORM;
+ }
t->total= CTX_DATA_COUNT(C, selected_nodes);
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index 8699eb1cc2d..ec76bb3ac35 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -323,525 +323,547 @@ static int fcu_test_selected(FCurve *fcu)
return 0;
}
-/* called for updating while transform acts, once per redraw */
-void recalcData(TransInfo *t)
+/* helper for recalcData() - for Action Editor transforms */
+static void recalcData_actedit(TransInfo *t)
{
- Base *base = t->scene->basact;
-
- if (t->spacetype==SPACE_NODE) {
- flushTransNodes(t);
- }
- else if (t->spacetype==SPACE_SEQ) {
- flushTransSeq(t);
+ Scene *scene= t->scene;
+ SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
+
+ bAnimContext ac= {NULL};
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+
+ /* initialise relevant anim-context 'context' data from TransInfo data */
+ /* NOTE: sync this with the code in ANIM_animdata_get_context() */
+ ac.scene= t->scene;
+ ac.obact= OBACT;
+ ac.sa= t->sa;
+ ac.ar= t->ar;
+ ac.sl= (t->sa)? t->sa->spacedata.first : NULL;
+ ac.spacetype= (t->sa)? t->sa->spacetype : 0;
+ ac.regiontype= (t->ar)? t->ar->regiontype : 0;
+
+ ANIM_animdata_context_getdata(&ac);
+
+ /* perform flush */
+ if (ac.datatype == ANIMCONT_GPENCIL) {
+ /* flush transform values back to actual coordinates */
+ flushTransGPactionData(t);
}
- else if (t->spacetype == SPACE_ACTION) {
- Scene *scene= t->scene;
- SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
-
- bAnimContext ac= {NULL};
- ListBase anim_data = {NULL, NULL};
- bAnimListElem *ale;
- int filter;
-
- /* initialise relevant anim-context 'context' data from TransInfo data */
- /* NOTE: sync this with the code in ANIM_animdata_get_context() */
- ac.scene= t->scene;
- ac.obact= OBACT;
- ac.sa= t->sa;
- ac.ar= t->ar;
- ac.spacetype= (t->sa)? t->sa->spacetype : 0;
- ac.regiontype= (t->ar)? t->ar->regiontype : 0;
-
- ANIM_animdata_context_getdata(&ac);
+ else {
+ /* get animdata blocks visible in editor, assuming that these will be the ones where things changed */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ANIMDATA);
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
- /* perform flush */
- if (ac.datatype == ANIMCONT_GPENCIL) {
- /* flush transform values back to actual coordinates */
- flushTransGPactionData(t);
- }
- else {
- /* get animdata blocks visible in editor, assuming that these will be the ones where things changed */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA);
- ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
-
- /* just tag these animdata-blocks to recalc, assuming that some data there changed
- * BUT only do this if realtime updates are enabled
- */
- if ((saction->flag & SACTION_NOREALTIMEUPDATES) == 0) {
- for (ale= anim_data.first; ale; ale= ale->next) {
- /* set refresh tags for objects using this animation */
- ANIM_list_elem_update(t->scene, ale);
- }
+ /* just tag these animdata-blocks to recalc, assuming that some data there changed
+ * BUT only do this if realtime updates are enabled
+ */
+ if ((saction->flag & SACTION_NOREALTIMEUPDATES) == 0) {
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ /* set refresh tags for objects using this animation */
+ ANIM_list_elem_update(t->scene, ale);
}
-
- /* now free temp channels */
- BLI_freelistN(&anim_data);
}
- }
- else if (t->spacetype == SPACE_IPO) {
- Scene *scene;
- SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
- ListBase anim_data = {NULL, NULL};
- bAnimContext ac;
- int filter;
+ /* now free temp channels */
+ BLI_freelistN(&anim_data);
+ }
+}
+
+/* helper for recalcData() - for Graph Editor transforms */
+static void recalcData_graphedit(TransInfo *t)
+{
+ SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
+ Scene *scene;
+
+ ListBase anim_data = {NULL, NULL};
+ bAnimContext ac= {NULL};
+ int filter;
+
+ bAnimListElem *ale;
+ int dosort = 0;
+
+
+ /* initialise relevant anim-context 'context' data from TransInfo data */
+ /* NOTE: sync this with the code in ANIM_animdata_get_context() */
+ scene= ac.scene= t->scene;
+ ac.obact= OBACT;
+ ac.sa= t->sa;
+ ac.ar= t->ar;
+ ac.sl= (t->sa)? t->sa->spacedata.first : NULL;
+ ac.spacetype= (t->sa)? t->sa->spacetype : 0;
+ ac.regiontype= (t->ar)? t->ar->regiontype : 0;
+
+ ANIM_animdata_context_getdata(&ac);
+
+ /* do the flush first */
+ flushTransGraphData(t);
+
+ /* get curves to check if a re-sort is needed */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* now test if there is a need to re-sort */
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ FCurve *fcu= (FCurve *)ale->key_data;
- bAnimListElem *ale;
- int dosort = 0;
+ /* ignore unselected fcurves */
+ if (!fcu_test_selected(fcu))
+ continue;
+ // fixme: only do this for selected verts...
+ ANIM_unit_mapping_apply_fcurve(ac.scene, ale->id, ale->key_data, ANIM_UNITCONV_ONLYSEL|ANIM_UNITCONV_SELVERTS|ANIM_UNITCONV_RESTORE);
- /* initialise relevant anim-context 'context' data from TransInfo data */
- /* NOTE: sync this with the code in ANIM_animdata_get_context() */
- memset(&ac, 0, sizeof(bAnimContext));
- scene= ac.scene= t->scene;
- ac.obact= OBACT;
- ac.sa= t->sa;
- ac.ar= t->ar;
- ac.spacetype= (t->sa)? t->sa->spacetype : 0;
- ac.regiontype= (t->ar)? t->ar->regiontype : 0;
+ /* watch it: if the time is wrong: do not correct handles yet */
+ if (test_time_fcurve(fcu))
+ dosort++;
+ else
+ calchandles_fcurve(fcu);
- ANIM_animdata_context_getdata(&ac);
+ /* set refresh tags for objects using this animation,
+ * BUT only if realtime updates are enabled
+ */
+ if ((sipo->flag & SIPO_NOREALTIMEUPDATES) == 0)
+ ANIM_list_elem_update(t->scene, ale);
+ }
+
+ /* do resort and other updates? */
+ if (dosort) remake_graph_transdata(t, &anim_data);
+
+ /* now free temp channels */
+ BLI_freelistN(&anim_data);
+}
+
+/* helper for recalcData() - for NLA Editor transforms */
+static void recalcData_nla(TransInfo *t)
+{
+ TransDataNla *tdn= (TransDataNla *)t->customData;
+ SpaceNla *snla= (SpaceNla *)t->sa->spacedata.first;
+ Scene *scene= t->scene;
+ double secf= FPS;
+ int i;
+
+ /* for each strip we've got, perform some additional validation of the values that got set before
+ * using RNA to set the value (which does some special operations when setting these values to make
+ * sure that everything works ok)
+ */
+ for (i = 0; i < t->total; i++, tdn++) {
+ NlaStrip *strip= tdn->strip;
+ PointerRNA strip_ptr;
+ short pExceeded, nExceeded, iter;
+ int delta_y1, delta_y2;
- /* do the flush first */
- flushTransGraphData(t);
+ /* if this tdn has no handles, that means it is just a dummy that should be skipped */
+ if (tdn->handle == 0)
+ continue;
- /* get curves to check if a re-sort is needed */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_CURVEVISIBLE);
- ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+ /* set refresh tags for objects using this animation,
+ * BUT only if realtime updates are enabled
+ */
+ if ((snla->flag & SNLA_NOREALTIMEUPDATES) == 0)
+ ANIM_id_update(t->scene, tdn->id);
- /* now test if there is a need to re-sort */
- for (ale= anim_data.first; ale; ale= ale->next) {
- FCurve *fcu= (FCurve *)ale->key_data;
+ /* if cancelling transform, just write the values without validating, then move on */
+ if (t->state == TRANS_CANCEL) {
+ /* clear the values by directly overwriting the originals, but also need to restore
+ * endpoints of neighboring transition-strips
+ */
- /* ignore unselected fcurves */
- if (!fcu_test_selected(fcu))
- continue;
+ /* start */
+ strip->start= tdn->h1[0];
- // fixme: only do this for selected verts...
- ANIM_unit_mapping_apply_fcurve(ac.scene, ale->id, ale->key_data, ANIM_UNITCONV_ONLYSEL|ANIM_UNITCONV_SELVERTS|ANIM_UNITCONV_RESTORE);
+ if ((strip->prev) && (strip->prev->type == NLASTRIP_TYPE_TRANSITION))
+ strip->prev->end= tdn->h1[0];
+ /* end */
+ strip->end= tdn->h2[0];
- /* watch it: if the time is wrong: do not correct handles yet */
- if (test_time_fcurve(fcu))
- dosort++;
- else
- calchandles_fcurve(fcu);
+ if ((strip->next) && (strip->next->type == NLASTRIP_TYPE_TRANSITION))
+ strip->next->start= tdn->h2[0];
- /* set refresh tags for objects using this animation,
- * BUT only if realtime updates are enabled
- */
- if ((sipo->flag & SIPO_NOREALTIMEUPDATES) == 0)
- ANIM_list_elem_update(t->scene, ale);
+ /* flush transforms to child strips (since this should be a meta) */
+ BKE_nlameta_flush_transforms(strip);
+
+ /* restore to original track (if needed) */
+ if (tdn->oldTrack != tdn->nlt) {
+ /* just append to end of list for now, since strips get sorted in special_aftertrans_update() */
+ BLI_remlink(&tdn->nlt->strips, strip);
+ BLI_addtail(&tdn->oldTrack->strips, strip);
+ }
+
+ continue;
}
- /* do resort and other updates? */
- if (dosort) remake_graph_transdata(t, &anim_data);
-
- /* now free temp channels */
- BLI_freelistN(&anim_data);
- }
- else if (t->spacetype == SPACE_NLA) {
- TransDataNla *tdn= (TransDataNla *)t->customData;
- SpaceNla *snla= (SpaceNla *)t->sa->spacedata.first;
- Scene *scene= t->scene;
- double secf= FPS;
- int i;
-
- /* for each strip we've got, perform some additional validation of the values that got set before
- * using RNA to set the value (which does some special operations when setting these values to make
- * sure that everything works ok)
+ /* firstly, check if the proposed transform locations would overlap with any neighbouring strips
+ * (barring transitions) which are absolute barriers since they are not being moved
+ *
+ * this is done as a iterative procedure (done 5 times max for now)
*/
- for (i = 0; i < t->total; i++, tdn++) {
- NlaStrip *strip= tdn->strip;
- PointerRNA strip_ptr;
- short pExceeded, nExceeded, iter;
- int delta_y1, delta_y2;
-
- /* if this tdn has no handles, that means it is just a dummy that should be skipped */
- if (tdn->handle == 0)
- continue;
-
- /* set refresh tags for objects using this animation,
- * BUT only if realtime updates are enabled
- */
- if ((snla->flag & SNLA_NOREALTIMEUPDATES) == 0)
- ANIM_id_update(t->scene, tdn->id);
+ for (iter=0; iter < 5; iter++) {
+ pExceeded= ((strip->prev) && (strip->prev->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h1[0] < strip->prev->end));
+ nExceeded= ((strip->next) && (strip->next->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h2[0] > strip->next->start));
- /* if cancelling transform, just write the values without validating, then move on */
- if (t->state == TRANS_CANCEL) {
- /* clear the values by directly overwriting the originals, but also need to restore
- * endpoints of neighboring transition-strips
+ if ((pExceeded && nExceeded) || (iter == 4) ) {
+ /* both endpoints exceeded (or iteration ping-pong'd meaning that we need a compromise)
+ * - simply crop strip to fit within the bounds of the strips bounding it
+ * - if there were no neighbours, clear the transforms (make it default to the strip's current values)
*/
-
- /* start */
- strip->start= tdn->h1[0];
-
- if ((strip->prev) && (strip->prev->type == NLASTRIP_TYPE_TRANSITION))
- strip->prev->end= tdn->h1[0];
-
- /* end */
- strip->end= tdn->h2[0];
-
- if ((strip->next) && (strip->next->type == NLASTRIP_TYPE_TRANSITION))
- strip->next->start= tdn->h2[0];
-
- /* flush transforms to child strips (since this should be a meta) */
- BKE_nlameta_flush_transforms(strip);
-
- /* restore to original track (if needed) */
- if (tdn->oldTrack != tdn->nlt) {
- /* just append to end of list for now, since strips get sorted in special_aftertrans_update() */
- BLI_remlink(&tdn->nlt->strips, strip);
- BLI_addtail(&tdn->oldTrack->strips, strip);
+ if (strip->prev && strip->next) {
+ tdn->h1[0]= strip->prev->end;
+ tdn->h2[0]= strip->next->start;
+ }
+ else {
+ tdn->h1[0]= strip->start;
+ tdn->h2[0]= strip->end;
}
-
- continue;
}
-
- /* firstly, check if the proposed transform locations would overlap with any neighbouring strips
- * (barring transitions) which are absolute barriers since they are not being moved
- *
- * this is done as a iterative procedure (done 5 times max for now)
- */
- for (iter=0; iter < 5; iter++) {
- pExceeded= ((strip->prev) && (strip->prev->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h1[0] < strip->prev->end));
- nExceeded= ((strip->next) && (strip->next->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h2[0] > strip->next->start));
+ else if (nExceeded) {
+ /* move backwards */
+ float offset= tdn->h2[0] - strip->next->start;
- if ((pExceeded && nExceeded) || (iter == 4) ) {
- /* both endpoints exceeded (or iteration ping-pong'd meaning that we need a compromise)
- * - simply crop strip to fit within the bounds of the strips bounding it
- * - if there were no neighbours, clear the transforms (make it default to the strip's current values)
- */
- if (strip->prev && strip->next) {
- tdn->h1[0]= strip->prev->end;
- tdn->h2[0]= strip->next->start;
- }
- else {
- tdn->h1[0]= strip->start;
- tdn->h2[0]= strip->end;
- }
- }
- else if (nExceeded) {
- /* move backwards */
- float offset= tdn->h2[0] - strip->next->start;
-
- tdn->h1[0] -= offset;
- tdn->h2[0] -= offset;
- }
- else if (pExceeded) {
- /* more forwards */
- float offset= strip->prev->end - tdn->h1[0];
-
- tdn->h1[0] += offset;
- tdn->h2[0] += offset;
- }
- else /* all is fine and well */
- break;
+ tdn->h1[0] -= offset;
+ tdn->h2[0] -= offset;
}
-
- /* handle auto-snapping */
- switch (snla->autosnap) {
- case SACTSNAP_FRAME: /* snap to nearest frame/time */
- if (snla->flag & SNLA_DRAWTIME) {
- tdn->h1[0]= (float)( floor((tdn->h1[0]/secf) + 0.5f) * secf );
- tdn->h2[0]= (float)( floor((tdn->h2[0]/secf) + 0.5f) * secf );
- }
- else {
- tdn->h1[0]= (float)( floor(tdn->h1[0]+0.5f) );
- tdn->h2[0]= (float)( floor(tdn->h2[0]+0.5f) );
- }
- break;
+ else if (pExceeded) {
+ /* more forwards */
+ float offset= strip->prev->end - tdn->h1[0];
- case SACTSNAP_MARKER: /* snap to nearest marker */
- tdn->h1[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h1[0]);
- tdn->h2[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h2[0]);
- break;
+ tdn->h1[0] += offset;
+ tdn->h2[0] += offset;
}
+ else /* all is fine and well */
+ break;
+ }
+
+ /* handle auto-snapping */
+ switch (snla->autosnap) {
+ case SACTSNAP_FRAME: /* snap to nearest frame/time */
+ if (snla->flag & SNLA_DRAWTIME) {
+ tdn->h1[0]= (float)( floor((tdn->h1[0]/secf) + 0.5f) * secf );
+ tdn->h2[0]= (float)( floor((tdn->h2[0]/secf) + 0.5f) * secf );
+ }
+ else {
+ tdn->h1[0]= (float)( floor(tdn->h1[0]+0.5f) );
+ tdn->h2[0]= (float)( floor(tdn->h2[0]+0.5f) );
+ }
+ break;
- /* use RNA to write the values... */
- // TODO: do we need to write in 2 passes to make sure that no truncation goes on?
- RNA_pointer_create(NULL, &RNA_NlaStrip, strip, &strip_ptr);
-
- RNA_float_set(&strip_ptr, "frame_start", tdn->h1[0]);
- RNA_float_set(&strip_ptr, "frame_end", tdn->h2[0]);
-
- /* flush transforms to child strips (since this should be a meta) */
- BKE_nlameta_flush_transforms(strip);
-
+ case SACTSNAP_MARKER: /* snap to nearest marker */
+ tdn->h1[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h1[0]);
+ tdn->h2[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h2[0]);
+ break;
+ }
+
+ /* use RNA to write the values... */
+ // TODO: do we need to write in 2 passes to make sure that no truncation goes on?
+ RNA_pointer_create(NULL, &RNA_NlaStrip, strip, &strip_ptr);
+
+ RNA_float_set(&strip_ptr, "frame_start", tdn->h1[0]);
+ RNA_float_set(&strip_ptr, "frame_end", tdn->h2[0]);
+
+ /* flush transforms to child strips (since this should be a meta) */
+ BKE_nlameta_flush_transforms(strip);
+
+
+ /* now, check if we need to try and move track
+ * - we need to calculate both, as only one may have been altered by transform if only 1 handle moved
+ */
+ delta_y1= ((int)tdn->h1[1] / NLACHANNEL_STEP(snla) - tdn->trackIndex);
+ delta_y2= ((int)tdn->h2[1] / NLACHANNEL_STEP(snla) - tdn->trackIndex);
+
+ if (delta_y1 || delta_y2) {
+ NlaTrack *track;
+ int delta = (delta_y2) ? delta_y2 : delta_y1;
+ int n;
- /* now, check if we need to try and move track
- * - we need to calculate both, as only one may have been altered by transform if only 1 handle moved
+ /* move in the requested direction, checking at each layer if there's space for strip to pass through,
+ * stopping on the last track available or that we're able to fit in
*/
- delta_y1= ((int)tdn->h1[1] / NLACHANNEL_STEP - tdn->trackIndex);
- delta_y2= ((int)tdn->h2[1] / NLACHANNEL_STEP - tdn->trackIndex);
-
- if (delta_y1 || delta_y2) {
- NlaTrack *track;
- int delta = (delta_y2) ? delta_y2 : delta_y1;
- int n;
-
- /* move in the requested direction, checking at each layer if there's space for strip to pass through,
- * stopping on the last track available or that we're able to fit in
- */
- if (delta > 0) {
- for (track=tdn->nlt->next, n=0; (track) && (n < delta); track=track->next, n++) {
- /* check if space in this track for the strip */
- if (BKE_nlatrack_has_space(track, strip->start, strip->end)) {
- /* move strip to this track */
- BLI_remlink(&tdn->nlt->strips, strip);
- BKE_nlatrack_add_strip(track, strip);
-
- tdn->nlt= track;
- tdn->trackIndex++;
- }
- else /* can't move any further */
- break;
+ if (delta > 0) {
+ for (track=tdn->nlt->next, n=0; (track) && (n < delta); track=track->next, n++) {
+ /* check if space in this track for the strip */
+ if (BKE_nlatrack_has_space(track, strip->start, strip->end)) {
+ /* move strip to this track */
+ BLI_remlink(&tdn->nlt->strips, strip);
+ BKE_nlatrack_add_strip(track, strip);
+
+ tdn->nlt= track;
+ tdn->trackIndex++;
}
+ else /* can't move any further */
+ break;
}
- else {
- /* make delta 'positive' before using it, since we now know to go backwards */
- delta= -delta;
-
- for (track=tdn->nlt->prev, n=0; (track) && (n < delta); track=track->prev, n++) {
- /* check if space in this track for the strip */
- if (BKE_nlatrack_has_space(track, strip->start, strip->end)) {
- /* move strip to this track */
- BLI_remlink(&tdn->nlt->strips, strip);
- BKE_nlatrack_add_strip(track, strip);
-
- tdn->nlt= track;
- tdn->trackIndex--;
- }
- else /* can't move any further */
- break;
+ }
+ else {
+ /* make delta 'positive' before using it, since we now know to go backwards */
+ delta= -delta;
+
+ for (track=tdn->nlt->prev, n=0; (track) && (n < delta); track=track->prev, n++) {
+ /* check if space in this track for the strip */
+ if (BKE_nlatrack_has_space(track, strip->start, strip->end)) {
+ /* move strip to this track */
+ BLI_remlink(&tdn->nlt->strips, strip);
+ BKE_nlatrack_add_strip(track, strip);
+
+ tdn->nlt= track;
+ tdn->trackIndex--;
}
+ else /* can't move any further */
+ break;
}
}
}
}
- else if (t->spacetype == SPACE_IMAGE) {
- if (t->obedit && t->obedit->type == OB_MESH) {
- SpaceImage *sima= t->sa->spacedata.first;
+}
+
+/* helper for recalcData() - for 3d-view transforms */
+static void recalcData_view3d(TransInfo *t)
+{
+ Base *base = t->scene->basact;
+
+ if (t->obedit) {
+ if ELEM(t->obedit->type, OB_CURVE, OB_SURF) {
+ Curve *cu= t->obedit->data;
+ ListBase *nurbs= ED_curve_editnurbs(cu);
+ Nurb *nu= nurbs->first;
- flushTransUVs(t);
- if(sima->flag & SI_LIVE_UNWRAP)
- ED_uvedit_live_unwrap_re_solve();
+ if(t->state != TRANS_CANCEL) {
+ clipMirrorModifier(t, t->obedit);
+ applyProject(t);
+ }
- DAG_id_tag_update(t->obedit->data, 0);
- }
- }
- else if (t->spacetype == SPACE_VIEW3D) {
-
- if (t->obedit) {
- if ELEM(t->obedit->type, OB_CURVE, OB_SURF) {
- Curve *cu= t->obedit->data;
- ListBase *nurbs= ED_curve_editnurbs(cu);
- Nurb *nu= nurbs->first;
-
- if(t->state != TRANS_CANCEL) {
- clipMirrorModifier(t, t->obedit);
- applyProject(t);
+ DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+
+ if (t->state == TRANS_CANCEL) {
+ while(nu) {
+ calchandlesNurb(nu); /* Cant do testhandlesNurb here, it messes up the h1 and h2 flags */
+ nu= nu->next;
}
-
- DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
-
- if (t->state == TRANS_CANCEL) {
- while(nu) {
- calchandlesNurb(nu); /* Cant do testhandlesNurb here, it messes up the h1 and h2 flags */
- nu= nu->next;
- }
- } else {
- /* Normal updating */
- while(nu) {
- test2DNurb(nu);
- calchandlesNurb(nu);
- nu= nu->next;
- }
+ }
+ else {
+ /* Normal updating */
+ while(nu) {
+ test2DNurb(nu);
+ calchandlesNurb(nu);
+ nu= nu->next;
}
}
- else if(t->obedit->type==OB_LATTICE) {
- Lattice *la= t->obedit->data;
-
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
-
- DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
-
- if(la->editlatt->latt->flag & LT_OUTSIDE) outside_lattice(la->editlatt->latt);
+ }
+ else if(t->obedit->type==OB_LATTICE) {
+ Lattice *la= t->obedit->data;
+
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
}
- else if (t->obedit->type == OB_MESH) {
- EditMesh *em = ((Mesh*)t->obedit->data)->edit_mesh;
- /* mirror modifier clipping? */
- if(t->state != TRANS_CANCEL) {
- clipMirrorModifier(t, t->obedit);
- applyProject(t);
- }
- if((t->options & CTX_NO_MIRROR) == 0 && (t->flag & T_MIRROR))
- editmesh_apply_to_mirror(t);
-
- DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+
+ DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+
+ if(la->editlatt->latt->flag & LT_OUTSIDE) outside_lattice(la->editlatt->latt);
+ }
+ else if (t->obedit->type == OB_MESH) {
+ EditMesh *em = ((Mesh*)t->obedit->data)->edit_mesh;
+ /* mirror modifier clipping? */
+ if(t->state != TRANS_CANCEL) {
+ /* apply clipping after so we never project past the clip plane [#25423] */
+ applyProject(t);
+ clipMirrorModifier(t, t->obedit);
+ }
+ if((t->options & CTX_NO_MIRROR) == 0 && (t->flag & T_MIRROR))
+ editmesh_apply_to_mirror(t);
- recalc_editnormals(em);
+ DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+
+ recalc_editnormals(em);
+ }
+ else if(t->obedit->type==OB_ARMATURE) { /* no recalc flag, does pose */
+ bArmature *arm= t->obedit->data;
+ ListBase *edbo = arm->edbo;
+ EditBone *ebo;
+ TransData *td = t->data;
+ int i;
+
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
}
- else if(t->obedit->type==OB_ARMATURE) { /* no recalc flag, does pose */
- bArmature *arm= t->obedit->data;
- ListBase *edbo = arm->edbo;
- EditBone *ebo;
- TransData *td = t->data;
- int i;
+
+ /* Ensure all bones are correctly adjusted */
+ for (ebo = edbo->first; ebo; ebo = ebo->next){
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
-
- /* Ensure all bones are correctly adjusted */
- for (ebo = edbo->first; ebo; ebo = ebo->next){
-
- if ((ebo->flag & BONE_CONNECTED) && ebo->parent){
- /* If this bone has a parent tip that has been moved */
- if (ebo->parent->flag & BONE_TIPSEL){
- VECCOPY (ebo->head, ebo->parent->tail);
- if(t->mode==TFM_BONE_ENVELOPE) ebo->rad_head= ebo->parent->rad_tail;
- }
- /* If this bone has a parent tip that has NOT been moved */
- else{
- VECCOPY (ebo->parent->tail, ebo->head);
- if(t->mode==TFM_BONE_ENVELOPE) ebo->parent->rad_tail= ebo->rad_head;
- }
+ if ((ebo->flag & BONE_CONNECTED) && ebo->parent){
+ /* If this bone has a parent tip that has been moved */
+ if (ebo->parent->flag & BONE_TIPSEL){
+ VECCOPY (ebo->head, ebo->parent->tail);
+ if(t->mode==TFM_BONE_ENVELOPE) ebo->rad_head= ebo->parent->rad_tail;
}
-
- /* on extrude bones, oldlength==0.0f, so we scale radius of points */
- ebo->length= len_v3v3(ebo->head, ebo->tail);
- if(ebo->oldlength==0.0f) {
- ebo->rad_head= 0.25f*ebo->length;
- ebo->rad_tail= 0.10f*ebo->length;
- ebo->dist= 0.25f*ebo->length;
- if(ebo->parent) {
- if(ebo->rad_head > ebo->parent->rad_tail)
- ebo->rad_head= ebo->parent->rad_tail;
- }
- }
- else if(t->mode!=TFM_BONE_ENVELOPE) {
- /* if bones change length, lets do that for the deform distance as well */
- ebo->dist*= ebo->length/ebo->oldlength;
- ebo->rad_head*= ebo->length/ebo->oldlength;
- ebo->rad_tail*= ebo->length/ebo->oldlength;
- ebo->oldlength= ebo->length;
+ /* If this bone has a parent tip that has NOT been moved */
+ else{
+ VECCOPY (ebo->parent->tail, ebo->head);
+ if(t->mode==TFM_BONE_ENVELOPE) ebo->parent->rad_tail= ebo->rad_head;
}
}
-
- if (t->mode != TFM_BONE_ROLL)
+ /* on extrude bones, oldlength==0.0f, so we scale radius of points */
+ ebo->length= len_v3v3(ebo->head, ebo->tail);
+ if(ebo->oldlength==0.0f) {
+ ebo->rad_head= 0.25f*ebo->length;
+ ebo->rad_tail= 0.10f*ebo->length;
+ ebo->dist= 0.25f*ebo->length;
+ if(ebo->parent) {
+ if(ebo->rad_head > ebo->parent->rad_tail)
+ ebo->rad_head= ebo->parent->rad_tail;
+ }
+ }
+ else if(t->mode!=TFM_BONE_ENVELOPE) {
+ /* if bones change length, lets do that for the deform distance as well */
+ ebo->dist*= ebo->length/ebo->oldlength;
+ ebo->rad_head*= ebo->length/ebo->oldlength;
+ ebo->rad_tail*= ebo->length/ebo->oldlength;
+ ebo->oldlength= ebo->length;
+ }
+ }
+
+
+ if (t->mode != TFM_BONE_ROLL)
+ {
+ /* fix roll */
+ for(i = 0; i < t->total; i++, td++)
{
- /* fix roll */
- for(i = 0; i < t->total; i++, td++)
+ if (td->extra)
{
- if (td->extra)
+ float vec[3], up_axis[3];
+ float qrot[4];
+
+ ebo = td->extra;
+ VECCOPY(up_axis, td->axismtx[2]);
+
+ if (t->mode != TFM_ROTATION)
{
- float vec[3], up_axis[3];
- float qrot[4];
-
- ebo = td->extra;
- VECCOPY(up_axis, td->axismtx[2]);
-
- if (t->mode != TFM_ROTATION)
- {
- sub_v3_v3v3(vec, ebo->tail, ebo->head);
- normalize_v3(vec);
- rotation_between_vecs_to_quat(qrot, td->axismtx[1], vec);
- mul_qt_v3(qrot, up_axis);
- }
- else
- {
- mul_m3_v3(t->mat, up_axis);
- }
-
- ebo->roll = ED_rollBoneToVector(ebo, up_axis, FALSE);
+ sub_v3_v3v3(vec, ebo->tail, ebo->head);
+ normalize_v3(vec);
+ rotation_between_vecs_to_quat(qrot, td->axismtx[1], vec);
+ mul_qt_v3(qrot, up_axis);
+ }
+ else
+ {
+ mul_m3_v3(t->mat, up_axis);
}
+
+ ebo->roll = ED_rollBoneToVector(ebo, up_axis, FALSE);
}
}
-
- if(arm->flag & ARM_MIRROR_EDIT)
- transform_armature_mirror_update(t->obedit);
-
}
- else
- {
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
- DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+
+ if(arm->flag & ARM_MIRROR_EDIT)
+ transform_armature_mirror_update(t->obedit);
+
+ }
+ else
+ {
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
}
+ DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+ }
+ }
+ else if( (t->flag & T_POSE) && t->poseobj) {
+ Object *ob= t->poseobj;
+ bArmature *arm= ob->data;
+
+ /* if animtimer is running, and the object already has animation data,
+ * check if the auto-record feature means that we should record 'samples'
+ * (i.e. uneditable animation values)
+ *
+ * context is needed for keying set poll() functions.
+ */
+ // TODO: autokeyframe calls need some setting to specify to add samples (FPoints) instead of keyframes?
+ if ((t->animtimer) && (t->context) && IS_AUTOKEY_ON(t->scene)) {
+ int targetless_ik= (t->flag & T_AUTOIK); // XXX this currently doesn't work, since flags aren't set yet!
+
+ animrecord_check_state(t->scene, &ob->id, t->animtimer);
+ autokeyframe_pose_cb_func(t->context, t->scene, (View3D *)t->view, ob, t->mode, targetless_ik);
+ }
+
+ /* old optimize trick... this enforces to bypass the depgraph */
+ if (!(arm->flag & ARM_DELAYDEFORM)) {
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA); /* sets recalc flags */
+ }
+ else
+ where_is_pose(t->scene, ob);
+ }
+ else if(base && (base->object->mode & OB_MODE_PARTICLE_EDIT) && PE_get_current(t->scene, base->object)) {
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
+ }
+ flushTransParticles(t);
+ }
+ else {
+ int i;
+
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
}
- else if( (t->flag & T_POSE) && t->poseobj) {
- Object *ob= t->poseobj;
- bArmature *arm= ob->data;
+
+ for (i = 0; i < t->total; i++) {
+ TransData *td = t->data + i;
+ Object *ob = td->ob;
+
+ if (td->flag & TD_NOACTION)
+ break;
+
+ if (td->flag & TD_SKIP)
+ continue;
/* if animtimer is running, and the object already has animation data,
* check if the auto-record feature means that we should record 'samples'
* (i.e. uneditable animation values)
- *
- * context is needed for keying set poll() functions.
*/
// TODO: autokeyframe calls need some setting to specify to add samples (FPoints) instead of keyframes?
- if ((t->animtimer) && (t->context) && IS_AUTOKEY_ON(t->scene)) {
- int targetless_ik= (t->flag & T_AUTOIK); // XXX this currently doesn't work, since flags aren't set yet!
-
+ if ((t->animtimer) && IS_AUTOKEY_ON(t->scene)) {
animrecord_check_state(t->scene, &ob->id, t->animtimer);
- autokeyframe_pose_cb_func(t->context, t->scene, (View3D *)t->view, ob, t->mode, targetless_ik);
+ autokeyframe_ob_cb_func(t->context, t->scene, (View3D *)t->view, ob, t->mode);
}
- /* old optimize trick... this enforces to bypass the depgraph */
- if (!(arm->flag & ARM_DELAYDEFORM)) {
- DAG_id_tag_update(&ob->id, OB_RECALC_DATA); /* sets recalc flags */
- }
- else
- where_is_pose(t->scene, ob);
- }
- else if(base && (base->object->mode & OB_MODE_PARTICLE_EDIT) && PE_get_current(t->scene, base->object)) {
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
- flushTransParticles(t);
+ /* sets recalc flags fully, instead of flushing existing ones
+ * otherwise proxies don't function correctly
+ */
+ DAG_id_tag_update(&ob->id, OB_RECALC_OB);
}
- else {
- int i;
-
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
+ }
+}
- for (i = 0; i < t->total; i++) {
- TransData *td = t->data + i;
- Object *ob = td->ob;
-
- if (td->flag & TD_NOACTION)
- break;
-
- if (td->flag & TD_SKIP)
- continue;
-
- /* if animtimer is running, and the object already has animation data,
- * check if the auto-record feature means that we should record 'samples'
- * (i.e. uneditable animation values)
- */
- // TODO: autokeyframe calls need some setting to specify to add samples (FPoints) instead of keyframes?
- if ((t->animtimer) && IS_AUTOKEY_ON(t->scene)) {
- animrecord_check_state(t->scene, &ob->id, t->animtimer);
- autokeyframe_ob_cb_func(t->context, t->scene, (View3D *)t->view, ob, t->mode);
- }
-
- /* sets recalc flags fully, instead of flushing existing ones
- * otherwise proxies don't function correctly
- */
- DAG_id_tag_update(&ob->id, OB_RECALC_OB);
- }
+/* called for updating while transform acts, once per redraw */
+void recalcData(TransInfo *t)
+{
+ if (t->spacetype==SPACE_NODE) {
+ flushTransNodes(t);
+ }
+ else if (t->spacetype==SPACE_SEQ) {
+ flushTransSeq(t);
+ }
+ else if (t->spacetype == SPACE_ACTION) {
+ recalcData_actedit(t);
+ }
+ else if (t->spacetype == SPACE_IPO) {
+ recalcData_graphedit(t);
+ }
+ else if (t->spacetype == SPACE_NLA) {
+ recalcData_nla(t);
+ }
+ else if (t->spacetype == SPACE_IMAGE) {
+ if (t->obedit && t->obedit->type == OB_MESH) {
+ SpaceImage *sima= t->sa->spacedata.first;
+
+ flushTransUVs(t);
+ if(sima->flag & SI_LIVE_UNWRAP)
+ ED_uvedit_live_unwrap_re_solve();
+
+ DAG_id_tag_update(t->obedit->data, 0);
}
-
- if(((View3D*)t->view)->drawtype == OB_SHADED)
- reshadeall_displist(t->scene);
+ }
+ else if (t->spacetype == SPACE_VIEW3D) {
+ recalcData_view3d(t);
}
}
@@ -889,6 +911,7 @@ void resetTransRestrictions(TransInfo *t)
t->flag &= ~T_ALL_RESTRICTIONS;
}
+/* the *op can be NULL */
int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
{
Scene *sce = CTX_data_scene(C);
@@ -1015,6 +1038,22 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
t->options |= CTX_NO_PET;
}
}
+
+ /* initialize UV transform from */
+ if (op && RNA_struct_find_property(op->ptr, "correct_uv")) {
+ if(RNA_property_is_set(op->ptr, "correct_uv")) {
+ if(RNA_boolean_get(op->ptr, "correct_uv")) {
+ t->settings->uvcalc_flag |= UVCALC_TRANSFORM_CORRECT;
+ }
+ else {
+ t->settings->uvcalc_flag &= ~UVCALC_TRANSFORM_CORRECT;
+ }
+ }
+ else {
+ RNA_boolean_set(op->ptr, "correct_uv", t->settings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT);
+ }
+ }
+
}
else if(t->spacetype==SPACE_IMAGE)
{
@@ -1072,7 +1111,7 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
}
}
// Need stuff to take it from edit mesh or whatnot here
- else
+ else if (t->spacetype == SPACE_VIEW3D)
{
if (t->obedit && t->obedit->type == OB_MESH && (((Mesh *)t->obedit->data)->editflag & ME_EDIT_MIRROR_X))
{
@@ -1150,7 +1189,6 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
setTransformViewMatrices(t);
initNumInput(&t->num);
- initNDofInput(&t->ndof);
return 1;
}
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index 65cd285cf48..d62227a122d 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -278,6 +278,7 @@ int calc_manipulator_stats(const bContext *C)
ARegion *ar= CTX_wm_region(C);
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
+ ToolSettings *ts = CTX_data_tool_settings(C);
View3D *v3d= sa->spacedata.first;
RegionView3D *rv3d= ar->regiondata;
Base *base;
@@ -309,11 +310,63 @@ int calc_manipulator_stats(const bContext *C)
calc_tw_center(scene, vec);
totsel= 1;
} else {
- /* do vertices for center, and if still no normal found, use vertex normals */
- for(eve= em->verts.first; eve; eve= eve->next) {
- if(eve->f & SELECT) {
- totsel++;
- calc_tw_center(scene, eve->co);
+ /* do vertices/edges/faces for center depending on selection
+ mode. note we can't use just vertex selection flag because
+ it is not flush down on changes */
+ if(ts->selectmode & SCE_SELECT_VERTEX) {
+ for(eve= em->verts.first; eve; eve= eve->next) {
+ if(eve->f & SELECT) {
+ totsel++;
+ calc_tw_center(scene, eve->co);
+ }
+ }
+ }
+ else if(ts->selectmode & SCE_SELECT_EDGE) {
+ EditEdge *eed;
+
+ for(eve= em->verts.first; eve; eve= eve->next) eve->f1= 0;
+ for(eed= em->edges.first; eed; eed= eed->next) {
+ if(eed->h==0 && (eed->f & SELECT)) {
+ if(!eed->v1->f1) {
+ eed->v1->f1= 1;
+ totsel++;
+ calc_tw_center(scene, eed->v1->co);
+ }
+ if(!eed->v2->f1) {
+ eed->v2->f1= 1;
+ totsel++;
+ calc_tw_center(scene, eed->v2->co);
+ }
+ }
+ }
+ }
+ else {
+ EditFace *efa;
+
+ for(eve= em->verts.first; eve; eve= eve->next) eve->f1= 0;
+ for(efa= em->faces.first; efa; efa= efa->next) {
+ if(efa->h==0 && (efa->f & SELECT)) {
+ if(!efa->v1->f1) {
+ efa->v1->f1= 1;
+ totsel++;
+ calc_tw_center(scene, efa->v1->co);
+ }
+ if(!efa->v2->f1) {
+ efa->v2->f1= 1;
+ totsel++;
+ calc_tw_center(scene, efa->v2->co);
+ }
+ if(!efa->v3->f1) {
+ efa->v3->f1= 1;
+ totsel++;
+ calc_tw_center(scene, efa->v3->co);
+ }
+ if(efa->v4 && !efa->v4->f1) {
+ efa->v4->f1= 1;
+ totsel++;
+ calc_tw_center(scene, efa->v4->co);
+ }
+ }
}
}
}
diff --git a/source/blender/editors/transform/transform_ndofinput.c b/source/blender/editors/transform/transform_ndofinput.c
deleted file mode 100644
index c5946163770..00000000000
--- a/source/blender/editors/transform/transform_ndofinput.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): Martin Poirier
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/editors/transform/transform_ndofinput.c
- * \ingroup edtransform
- */
-
-
- #include <math.h> /* fabs */
-#include <stdio.h> /* for sprintf */
-
-#include "BLI_utildefines.h"
-
-#include "BKE_global.h" /* for G */
- /* ABS */
-
-#include "WM_types.h"
-
-#include "transform.h"
-
-#if 0
-static int updateNDofMotion(NDofInput *n); // return 0 when motion is null
-#endif
-static void resetNDofInput(NDofInput *n);
-
-void initNDofInput(NDofInput *n)
-{
- int i;
-
- n->flag = 0;
- n->axis = 0;
-
- resetNDofInput(n);
-
- for(i = 0; i < 3; i++)
- {
- n->factor[i] = 1.0f;
- }
-}
-
-static void resetNDofInput(NDofInput *n)
-{
- int i;
- for(i = 0; i < 6; i++)
- {
- n->fval[i] = 0.0f;
- }
-}
-
-
-int handleNDofInput(NDofInput *UNUSED(n), wmEvent *UNUSED(event))
-{
- int retval = 0;
- // TRANSFORM_FIX_ME
-#if 0
- switch(event)
- {
- case NDOFMOTION:
- if (updateNDofMotion(n) == 0)
- {
- retval = NDOF_NOMOVE;
- }
- else
- {
- retval = NDOF_REFRESH;
- }
- break;
- case NDOFBUTTON:
- if (val == 1)
- {
- retval = NDOF_CONFIRM;
- }
- else if (val == 2)
- {
- retval = NDOF_CANCEL;
- resetNDofInput(n);
- n->flag &= ~NDOF_INIT;
- }
- break;
- }
-#endif
- return retval;
-}
-
-int hasNDofInput(NDofInput *n)
-{
- return (n->flag & NDOF_INIT) == NDOF_INIT;
-}
-
-void applyNDofInput(NDofInput *n, float *vec)
-{
- if (hasNDofInput(n))
- {
- int i, j;
-
- for (i = 0, j = 0; i < 6; i++)
- {
- if (n->axis & (1 << i))
- {
- vec[j] = n->fval[i] * n->factor[j];
- j++;
- }
- }
- }
-}
-
-// TRANSFORM_FIX_ME
-#if 0
-
-static int updateNDofMotion(NDofInput *n)
-{
- float fval[7];
- int i;
- int retval = 0;
-
- getndof(fval);
-
- if (G.vd->ndoffilter)
- filterNDOFvalues(fval);
-
- for(i = 0; i < 6; i++)
- {
- if (!retval && fval[i] != 0.0f)
- {
- retval = 1;
- }
-
- n->fval[i] += fval[i] / 1024.0f;
- }
-
- n->flag |= NDOF_INIT;
-
- return retval;
-}
-#endif
-
-
-
-
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 7bdf6c909d9..e35b8adc570 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -360,6 +360,15 @@ static int transform_modal(bContext *C, wmOperator *op, wmEvent *event)
TransInfo *t = op->customdata;
+#if 0
+ // stable 2D mouse coords map to different 3D coords while the 3D mouse is active
+ // in other words, 2D deltas are no longer good enough!
+ // disable until individual 'transformers' behave better
+
+ if (event->type == NDOF_MOTION)
+ return OPERATOR_PASS_THROUGH;
+#endif
+
/* XXX insert keys are called here, and require context */
t->context= C;
exit_code = transformEvent(t, event);
@@ -496,6 +505,11 @@ void Transform_Properties(struct wmOperatorType *ot, int flags)
RNA_def_boolean(ot->srna, "texture_space", 0, "Edit Object data texture space", "");
}
+ if (flags & P_CORRECT_UV)
+ {
+ RNA_def_boolean(ot->srna, "correct_uv", 0, "Correct UV coords when transforming", "");
+ }
+
// Add confirm method all the time. At the end because it's not really that important and should be hidden only in log, not in keymap edit
/*prop =*/ RNA_def_boolean(ot->srna, "release_confirm", 0, "Confirm on Release", "Always confirm operation when releasing button");
//RNA_def_property_flag(prop, PROP_HIDDEN);
@@ -743,7 +757,7 @@ void TRANSFORM_OT_edge_slide(struct wmOperatorType *ot)
RNA_def_float_factor(ot->srna, "value", 0, -1.0f, 1.0f, "Factor", "", -1.0f, 1.0f);
- Transform_Properties(ot, P_MIRROR|P_SNAP);
+ Transform_Properties(ot, P_MIRROR|P_SNAP|P_CORRECT_UV);
}
void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot)
@@ -897,7 +911,7 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", SKEY, KM_PRESS, 0, 0);
RNA_enum_set(km->ptr, "mode", TFM_TIME_SCALE);
- km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", TKEY, KM_PRESS, 0, 0);
+ km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", TKEY, KM_PRESS, KM_SHIFT, 0);
RNA_enum_set(km->ptr, "mode", TFM_TIME_SLIDE);
break;
case SPACE_IPO:
@@ -954,6 +968,8 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
WM_keymap_add_item(keymap, OP_RESIZE, SKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, OP_SHEAR, SKEY, KM_PRESS, KM_ALT|KM_CTRL|KM_SHIFT, 0);
+
WM_keymap_add_item(keymap, "TRANSFORM_OT_mirror", MKEY, KM_PRESS, KM_CTRL, 0);
km = WM_keymap_add_item(keymap, "WM_OT_context_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
diff --git a/source/blender/editors/transform/transform_snap.c b/source/blender/editors/transform/transform_snap.c
index e3e5e012920..ca89670dedb 100644
--- a/source/blender/editors/transform/transform_snap.c
+++ b/source/blender/editors/transform/transform_snap.c
@@ -385,14 +385,14 @@ static void initSnappingMode(TransInfo *t)
if (t->tsnap.applySnap != NULL && // A snapping function actually exist
(obedit != NULL && ELEM4(obedit->type, OB_MESH, OB_ARMATURE, OB_CURVE, OB_LATTICE)) ) // Temporary limited to edit mode meshes, armature, curves
{
- /* editmode meshes now supported */
- if ((obedit->type != OB_MESH) && ((t->flag & T_PROP_EDIT) || t->tsnap.project)) /* also exclude edit for project, for now */
+ /* Exclude editmesh if using proportional edit */
+ if ((obedit->type == OB_MESH) && (t->flag & T_PROP_EDIT))
{
t->tsnap.modeSelect = SNAP_NOT_OBEDIT;
}
else
{
- t->tsnap.modeSelect = SNAP_ALL;
+ t->tsnap.modeSelect = t->tsnap.snap_self ? SNAP_ALL : SNAP_NOT_OBEDIT;
}
}
/* Particles edit mode*/
@@ -457,18 +457,27 @@ void initSnapping(TransInfo *t, wmOperator *op)
{
t->tsnap.project = RNA_boolean_get(op->ptr, "use_snap_project");
}
+
+ if (RNA_struct_find_property(op->ptr, "use_snap_self"))
+ {
+ t->tsnap.snap_self = RNA_boolean_get(op->ptr, "use_snap_self");
+ }
}
}
/* use scene defaults only when transform is modal */
else if (t->flag & T_MODAL)
{
- if (ts->snap_flag & SCE_SNAP) {
- t->modifiers |= MOD_SNAP;
- }
+ if(ELEM(t->spacetype, SPACE_VIEW3D, SPACE_IMAGE))
+ {
+ if (ts->snap_flag & SCE_SNAP) {
+ t->modifiers |= MOD_SNAP;
+ }
- t->tsnap.align = ((t->settings->snap_flag & SCE_SNAP_ROTATE) == SCE_SNAP_ROTATE);
- t->tsnap.project = ((t->settings->snap_flag & SCE_SNAP_PROJECT) == SCE_SNAP_PROJECT);
- t->tsnap.peel = ((t->settings->snap_flag & SCE_SNAP_PROJECT) == SCE_SNAP_PROJECT);
+ t->tsnap.align = ((t->settings->snap_flag & SCE_SNAP_ROTATE) == SCE_SNAP_ROTATE);
+ t->tsnap.project = ((t->settings->snap_flag & SCE_SNAP_PROJECT) == SCE_SNAP_PROJECT);
+ t->tsnap.snap_self = !((t->settings->snap_flag & SCE_SNAP_NO_SELF) == SCE_SNAP_NO_SELF);
+ t->tsnap.peel = ((t->settings->snap_flag & SCE_SNAP_PROJECT) == SCE_SNAP_PROJECT);
+ }
}
t->tsnap.target = snap_target;
@@ -1938,6 +1947,11 @@ static void applyGrid(TransInfo *t, float *val, int max_index, float fac[3], Gea
int i;
float asp[3] = {1.0f, 1.0f, 1.0f}; // TODO: Remove hard coded limit here (3)
+ if(max_index > 2) {
+ printf("applyGrid: invalid index %d, clamping\n", max_index);
+ max_index= 2;
+ }
+
// Early bailing out if no need to snap
if (fac[action] == 0.0f)
return;
diff --git a/source/blender/editors/util/CMakeLists.txt b/source/blender/editors/util/CMakeLists.txt
index 69ede67288a..da6e1990622 100644
--- a/source/blender/editors/util/CMakeLists.txt
+++ b/source/blender/editors/util/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../../../extern/recastnavigation/Recast/Include
../../makesdna
../../makesrna
diff --git a/source/blender/editors/util/ed_util.c b/source/blender/editors/util/ed_util.c
index 705fb83264c..3dd7514429e 100644
--- a/source/blender/editors/util/ed_util.c
+++ b/source/blender/editors/util/ed_util.c
@@ -106,10 +106,6 @@ void ED_editors_exit(bContext *C)
if(sce->obedit) {
Object *ob= sce->obedit;
- /* global in meshtools... */
- mesh_octree_table(NULL, NULL, NULL, 'e');
- mesh_mirrtopo_table(NULL, 'e');
-
if(ob) {
if(ob->type==OB_MESH) {
Mesh *me= ob->data;
@@ -122,26 +118,13 @@ void ED_editors_exit(bContext *C)
else if(ob->type==OB_ARMATURE) {
ED_armature_edit_free(ob);
}
- else if(ob->type==OB_FONT) {
- // free_editText();
- }
- // else if(ob->type==OB_MBALL)
- // BLI_freelistN(&editelems);
- // free_editLatt();
- // free_posebuf(); // XXX this is still a global...
- }
- }
- else if(sce->basact && sce->basact->object) {
- Object *ob= sce->basact->object;
-
- /* if weight-painting is on, free mesh octree data */
- if(ob->mode & OB_MODE_WEIGHT_PAINT) {
- mesh_octree_table(NULL, NULL, NULL, 'e');
- mesh_mirrtopo_table(NULL, 'e');
}
}
}
-
+
+ /* global in meshtools... */
+ mesh_octree_table(NULL, NULL, NULL, 'e');
+ mesh_mirrtopo_table(NULL, 'e');
}
diff --git a/source/blender/editors/util/undo.c b/source/blender/editors/util/undo.c
index 24a868891de..c1aca61f795 100644
--- a/source/blender/editors/util/undo.c
+++ b/source/blender/editors/util/undo.c
@@ -54,6 +54,7 @@
#include "ED_armature.h"
#include "ED_particle.h"
#include "ED_curve.h"
+#include "ED_gpencil.h"
#include "ED_mball.h"
#include "ED_mesh.h"
#include "ED_object.h"
@@ -126,6 +127,11 @@ static int ed_undo_step(bContext *C, int step, const char *undoname)
Object *obact= CTX_data_active_object(C);
ScrArea *sa= CTX_wm_area(C);
+ /* grease pencil can be can be used in plenty of spaces, so check it first */
+ if(ED_gpencil_session_active()) {
+ return ED_undo_gpencil_step(C, step, undoname);
+ }
+
if(sa && sa->spacetype==SPACE_IMAGE) {
SpaceImage *sima= (SpaceImage *)sa->spacedata.first;
@@ -156,11 +162,11 @@ static int ed_undo_step(bContext *C, int step, const char *undoname)
int do_glob_undo= 0;
if(obact && obact->mode & OB_MODE_TEXTURE_PAINT) {
- if(!ED_undo_paint_step(C, UNDO_PAINT_IMAGE, step, undoname) && undoname)
+ if(!ED_undo_paint_step(C, UNDO_PAINT_IMAGE, step, undoname))
do_glob_undo= 1;
}
else if(obact && obact->mode & OB_MODE_SCULPT) {
- if(!ED_undo_paint_step(C, UNDO_PAINT_MESH, step, undoname) && undoname)
+ if(!ED_undo_paint_step(C, UNDO_PAINT_MESH, step, undoname))
do_glob_undo= 1;
}
else if(obact && obact->mode & OB_MODE_PARTICLE_EDIT) {
@@ -358,19 +364,25 @@ int ED_undo_operator_repeat(bContext *C, struct wmOperator *op)
ret= 1;
}
}
+ else {
+ if (G.f & G_DEBUG) {
+ printf("redo_cb: WM_operator_repeat_check returned false %s\n", op->type->name);
+ }
+ }
/* set region back */
CTX_wm_region_set(C, ar);
}
else {
if (G.f & G_DEBUG) {
- printf("redo_cb: WM_operator_repeat_check returned false %s\n", op->type->name);
+ printf("redo_cb: ED_undo_operator_repeat called with NULL 'op'\n");
}
}
return ret;
}
+
void ED_undo_operator_repeat_cb(bContext *C, void *arg_op, void *UNUSED(arg_unused))
{
ED_undo_operator_repeat(C, (wmOperator *)arg_op);
diff --git a/source/blender/editors/uvedit/CMakeLists.txt b/source/blender/editors/uvedit/CMakeLists.txt
index 11e1703d84c..552e1b60154 100644
--- a/source/blender/editors/uvedit/CMakeLists.txt
+++ b/source/blender/editors/uvedit/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/uvedit/uvedit_draw.c b/source/blender/editors/uvedit/uvedit_draw.c
index 8d73da0063c..453bea0969b 100644
--- a/source/blender/editors/uvedit/uvedit_draw.c
+++ b/source/blender/editors/uvedit/uvedit_draw.c
@@ -474,7 +474,7 @@ static void draw_uvs(SpaceImage *sima, Scene *scene, Object *obedit)
if(sima->flag & SI_DRAW_STRETCH) {
draw_uvs_stretch(sima, scene, em, activetf);
}
- else if(me->drawflag & ME_DRAWFACES) {
+ else if(!(sima->flag & SI_NO_DRAWFACES)) {
/* draw transparent faces */
UI_GetThemeColor4ubv(TH_FACE, col1);
UI_GetThemeColor4ubv(TH_FACE_SELECT, col2);
diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c
index c09f8cff02d..05159414975 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -833,7 +833,7 @@ static int select_edgeloop(Scene *scene, Image *ima, EditMesh *em, NearestHit *h
if(extend) {
tf= CustomData_em_get(&em->fdata, hit->efa->data, CD_MTFACE);
- if(uvedit_uv_selected(scene, hit->efa, tf, hit->edge) && uvedit_uv_selected(scene, hit->efa, tf, hit->edge))
+ if(uvedit_uv_selected(scene, hit->efa, tf, hit->edge))
select= 0;
else
select= 1;
@@ -1057,6 +1057,134 @@ static void weld_align_uv(bContext *C, int tool)
}
}
+ if(tool == 's' || tool == 't' || tool == 'u') {
+ /* pass 1&2 variables */
+ int i, j;
+ int starttmpl= -1, connectedtostarttmpl= -1, startcorner;
+ int endtmpl= -1, connectedtoendtmpl= -1, endcorner;
+ MTFace *startface, *endface;
+ int itmpl, jtmpl;
+ EditVert *eve;
+ int pass; /* first 2 passes find endpoints, 3rd pass moves middle points, 4th pass is fail-on-face-selected */
+ EditFace *startefa, *endefa;
+
+ /* pass 3 variables */
+ float startx, starty, firstm, firstb, midx, midy;
+ float endx, endy, secondm, secondb, midmovedx, midmovedy;
+ float IsVertical_check= -1;
+ float IsHorizontal_check= -1;
+
+ for(i= 0, eve= em->verts.first; eve; eve= eve->next, i++) /* give each point a unique name */
+ eve->tmp.l= i;
+ for(pass= 1; pass <= 3; pass++) { /* do this for each endpoint */
+ if(pass == 3){ /* calculate */
+ startx= startface->uv[startcorner][0];
+ starty= startface->uv[startcorner][1];
+ endx= endface->uv[endcorner][0];
+ endy= endface->uv[endcorner][1];
+ firstm= (endy-starty)/(endx-startx);
+ firstb= starty-(firstm*startx);
+ secondm= -1.0f/firstm;
+ if(startx == endx) IsVertical_check= startx;
+ if(starty == endy) IsHorizontal_check= starty;
+ }
+ for(efa= em->faces.first; efa; efa= efa->next) { /* for each face */
+ tf= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE); /* get face */
+ if(uvedit_face_visible(scene, ima, efa, tf)) { /* if you can see it */
+ if(uvedit_face_selected(scene, efa, tf)) { /* if the face is selected, get out now! */
+ pass= 4;
+ break;
+ }
+ for(i= 0; (i < 3 || (i == 3 && efa->v4)); i++) { /* for each point of the face */
+ itmpl= (*(&efa->v1 + i))->tmp.l; /* get unique name for points */
+ if(pass == 3) { /* move */
+ if(uvedit_uv_selected(scene, efa, tf, i)) {
+ if(!(itmpl == starttmpl || itmpl == endtmpl)) {
+ if(IsVertical_check != -1) tf->uv[i][0]= IsVertical_check;
+ if(IsHorizontal_check != -1) tf->uv[i][1]= IsHorizontal_check;
+ if((IsVertical_check == -1) && (IsHorizontal_check == -1)) {
+ midx= tf->uv[i][0];
+ midy= tf->uv[i][1];
+ if(tool == 's') {
+ secondb= midy-(secondm*midx);
+ midmovedx= (secondb-firstb)/(firstm-secondm);
+ midmovedy= (secondm*midmovedx)+secondb;
+ tf->uv[i][0]= midmovedx;
+ tf->uv[i][1]= midmovedy;
+ }
+ else if(tool == 't') {
+ tf->uv[i][0]= (midy-firstb)/firstm; /* midmovedx */
+ }
+ else if(tool == 'u') {
+ tf->uv[i][1]= (firstm*midx)+firstb; /* midmovedy */
+ }
+ }
+ }
+ }
+ }
+ else {
+ for(j= 0; (j < 3 || (j == 3 && efa->v4)); j++) { /* also for each point on the face */
+ jtmpl= (*(&efa->v1 + j))->tmp.l;
+ if(i != j && (!efa->v4 || ABS(i-j) != 2)) { /* if the points are connected */
+ /* quad (0,1,2,3) 0,1 0,3 1,0 1,2 2,1 2,3 3,0 3,2
+ * triangle (0,1,2) 0,1 0,2 1,0 1,2 2,0 2,1 */
+ if(uvedit_uv_selected(scene, efa, tf, i) && uvedit_uv_selected(scene, efa, tf, j)) {
+ /* if the edge is selected */
+ if(pass == 1) { /* if finding first endpoint */
+ if(starttmpl == -1) { /* if the first endpoint isn't found yet */
+ starttmpl= itmpl; /* set unique name for endpoint */
+ connectedtostarttmpl= jtmpl;
+ /* get point that endpoint is connected to */
+ startface= tf; /* get face it's on */
+ startcorner= i; /* what corner of the face? */
+ startefa= efa;
+ efa= em->faces.first;
+ tf= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
+ i= -1;
+ break;
+ }
+ if(starttmpl == itmpl && jtmpl != connectedtostarttmpl) {
+ starttmpl= -1; /* not an endpoint */
+ efa= startefa;
+ tf= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
+ i= startcorner;
+ break;
+ }
+ }
+ else if(pass == 2) { /* if finding second endpoint */
+ if(endtmpl == -1 && itmpl != starttmpl) {
+ endtmpl= itmpl;
+ connectedtoendtmpl= jtmpl;
+ endface= tf;
+ endcorner= i;
+ endefa= efa;
+ efa= em->faces.first;
+ tf= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
+ i= -1;
+ break;
+ }
+ if(endtmpl == itmpl && jtmpl != connectedtoendtmpl) {
+ endtmpl= -1;
+ efa= endefa;
+ tf= CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
+ i= endcorner;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ if(pass == 2 && (starttmpl == -1 || endtmpl == -1)) {
+ /* if endpoints aren't found */
+ pass=4;
+ }
+ }
+ }
+
uvedit_live_unwrap_update(sima, scene, obedit);
DAG_id_tag_update(obedit->data, 0);
WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data);
@@ -1074,6 +1202,9 @@ static int align_exec(bContext *C, wmOperator *op)
static void UV_OT_align(wmOperatorType *ot)
{
static EnumPropertyItem axis_items[] = {
+ {'s', "ALIGN_S", 0, "Straighten", "Align UVs along the line defined by the endpoints"},
+ {'t', "ALIGN_T", 0, "Straighten X", "Align UVs along the line defined by the endpoints along the X axis"},
+ {'u', "ALIGN_U", 0, "Straighten Y", "Align UVs along the line defined by the endpoints along the Y axis"},
{'a', "ALIGN_AUTO", 0, "Align Auto", "Automatically choose the axis on which there is most alignment already"},
{'x', "ALIGN_X", 0, "Align X", "Align UVs on X axis"},
{'y', "ALIGN_Y", 0, "Align Y", "Align UVs on Y axis"},
diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
index 1b8acb013ea..e8a7896abd5 100644
--- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c
+++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
@@ -134,6 +134,41 @@ static int ED_uvedit_ensure_uvs(bContext *C, Scene *scene, Object *obedit)
/****************** Parametrizer Conversion ***************/
+static int uvedit_have_selection(Scene *scene, EditMesh *em, short implicit)
+{
+ EditFace *efa;
+ MTFace *tf;
+
+ /* verify if we have any selected uv's before unwrapping,
+ so we can cancel the operator early */
+ for(efa= em->faces.first; efa; efa= efa->next) {
+ if(scene->toolsettings->uv_flag & UV_SYNC_SELECTION) {
+ if(efa->h)
+ continue;
+ }
+ else if((efa->h) || ((efa->f & SELECT)==0))
+ continue;
+
+ tf= (MTFace *)CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
+
+ if(!tf)
+ return 1; /* default selected if doesn't exists */
+
+ if(implicit &&
+ !( uvedit_uv_selected(scene, efa, tf, 0) ||
+ uvedit_uv_selected(scene, efa, tf, 1) ||
+ uvedit_uv_selected(scene, efa, tf, 2) ||
+ (efa->v4 && uvedit_uv_selected(scene, efa, tf, 3)) )
+ ) {
+ continue;
+ }
+
+ return 1;
+ }
+
+ return 0;
+}
+
static ParamHandle *construct_param_handle(Scene *scene, EditMesh *em, short implicit, short fill, short sel, short correct_aspect)
{
ParamHandle *handle;
@@ -170,16 +205,8 @@ static ParamHandle *construct_param_handle(Scene *scene, EditMesh *em, short imp
float *uv[4];
int nverts;
- if(scene->toolsettings->uv_flag & UV_SYNC_SELECTION) {
- if(efa->h) {
- continue;
- }
- }
- else {
- if((efa->h) || (sel && (efa->f & SELECT)==0)) {
- continue;
- }
- }
+ if((efa->h) || (sel && (efa->f & SELECT)==0))
+ continue;
tf= (MTFace *)CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
@@ -256,13 +283,19 @@ typedef struct MinStretch {
wmTimer *timer;
} MinStretch;
-static void minimize_stretch_init(bContext *C, wmOperator *op)
+static int minimize_stretch_init(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
MinStretch *ms;
int fill_holes= RNA_boolean_get(op->ptr, "fill_holes");
+ short implicit= 1;
+
+ if(!uvedit_have_selection(scene, em, implicit)) {
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return 0;
+ }
ms= MEM_callocN(sizeof(MinStretch), "MinStretch");
ms->scene= scene;
@@ -270,7 +303,8 @@ static void minimize_stretch_init(bContext *C, wmOperator *op)
ms->em= em;
ms->blend= RNA_float_get(op->ptr, "blend");
ms->iterations= RNA_int_get(op->ptr, "iterations");
- ms->handle= construct_param_handle(scene, em, 1, fill_holes, 1, 1);
+ ms->i= 0;
+ ms->handle= construct_param_handle(scene, em, implicit, fill_holes, 1, 1);
ms->lasttime= PIL_check_seconds_timer();
param_stretch_begin(ms->handle);
@@ -278,6 +312,8 @@ static void minimize_stretch_init(bContext *C, wmOperator *op)
param_stretch_blend(ms->handle, ms->blend);
op->customdata= ms;
+
+ return 1;
}
static void minimize_stretch_iteration(bContext *C, wmOperator *op, int interactive)
@@ -288,6 +324,9 @@ static void minimize_stretch_iteration(bContext *C, wmOperator *op, int interact
param_stretch_blend(ms->handle, ms->blend);
param_stretch_iter(ms->handle);
+ ms->i++;
+ RNA_int_set(op->ptr, "iterations", ms->i);
+
if(interactive && (PIL_check_seconds_timer() - ms->lasttime > 0.5)) {
char str[100];
@@ -334,7 +373,8 @@ static int minimize_stretch_exec(bContext *C, wmOperator *op)
{
int i, iterations;
- minimize_stretch_init(C, op);
+ if(!minimize_stretch_init(C, op))
+ return OPERATOR_CANCELLED;
iterations= RNA_int_get(op->ptr, "iterations");
for(i=0; i<iterations; i++)
@@ -348,7 +388,9 @@ static int minimize_stretch_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(
{
MinStretch *ms;
- minimize_stretch_init(C, op);
+ if(!minimize_stretch_init(C, op))
+ return OPERATOR_CANCELLED;
+
minimize_stretch_iteration(C, op, 1);
ms= op->customdata;
@@ -445,6 +487,12 @@ static int pack_islands_exec(bContext *C, wmOperator *op)
Object *obedit= CTX_data_edit_object(C);
EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
ParamHandle *handle;
+ short implicit= 1;
+
+ if(!uvedit_have_selection(scene, em, implicit)) {
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return OPERATOR_CANCELLED;
+ }
if(RNA_property_is_set(op->ptr, "margin")) {
scene->toolsettings->uvcalc_margin= RNA_float_get(op->ptr, "margin");
@@ -453,7 +501,7 @@ static int pack_islands_exec(bContext *C, wmOperator *op)
RNA_float_set(op->ptr, "margin", scene->toolsettings->uvcalc_margin);
}
- handle = construct_param_handle(scene, em, 1, 0, 1, 1);
+ handle = construct_param_handle(scene, em, implicit, 0, 1, 1);
param_pack(handle, scene->toolsettings->uvcalc_margin);
param_flush(handle);
param_delete(handle);
@@ -488,8 +536,14 @@ static int average_islands_scale_exec(bContext *C, wmOperator *UNUSED(op))
Object *obedit= CTX_data_edit_object(C);
EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
ParamHandle *handle;
+ short implicit= 1;
+
+ if(!uvedit_have_selection(scene, em, implicit)) {
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return OPERATOR_CANCELLED;
+ }
- handle= construct_param_handle(scene, em, 1, 0, 1, 1);
+ handle= construct_param_handle(scene, em, implicit, 0, 1, 1);
param_average(handle);
param_flush(handle);
param_delete(handle);
@@ -528,7 +582,7 @@ void ED_uvedit_live_unwrap_begin(Scene *scene, Object *obedit)
return;
}
- liveHandle = construct_param_handle(scene, em, 0, fillholes, 1, 1);
+ liveHandle = construct_param_handle(scene, em, 0, fillholes, 0, 1);
param_lscm_begin(liveHandle, PARAM_TRUE, abf);
BKE_mesh_end_editmesh(obedit->data, em);
@@ -834,11 +888,13 @@ static void uv_map_clip_correct(EditMesh *em, wmOperator *op)
void ED_unwrap_lscm(Scene *scene, Object *obedit, const short sel)
{
EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
+ ParamHandle *handle;
const short fill_holes= scene->toolsettings->uvcalc_flag & UVCALC_FILLHOLES;
const short correct_aspect= !(scene->toolsettings->uvcalc_flag & UVCALC_NO_ASPECT_CORRECT);
+ short implicit= 0;
- ParamHandle *handle= construct_param_handle(scene, em, 0, fill_holes, sel, correct_aspect);
+ handle= construct_param_handle(scene, em, implicit, fill_holes, sel, correct_aspect);
param_lscm_begin(handle, PARAM_FALSE, scene->toolsettings->unwrapper == 0);
param_lscm_solve(handle);
@@ -857,9 +913,18 @@ static int unwrap_exec(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
+ EditMesh *em= BKE_mesh_get_editmesh((Mesh*)obedit->data);
int method = RNA_enum_get(op->ptr, "method");
int fill_holes = RNA_boolean_get(op->ptr, "fill_holes");
int correct_aspect = RNA_boolean_get(op->ptr, "correct_aspect");
+ short implicit= 0;
+
+ if(!uvedit_have_selection(scene, em, implicit)) {
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return 0;
+ }
+
+ BKE_mesh_end_editmesh(obedit->data, em);
/* add uvs if they don't exist yet */
if(!ED_uvedit_ensure_uvs(C, scene, obedit)) {
diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt
index ce3150476f9..8f575dfb50b 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -26,8 +26,8 @@
set(INC
.
- ../blenlib
../blenkernel
+ ../blenlib
../blenloader
../imbuf
../makesdna
@@ -56,6 +56,10 @@ set(SRC
intern/gpu_codegen.h
)
+if(WITH_MOD_SMOKE)
+ add_definitions(-DWITH_SMOKE)
+endif()
+
add_definitions(-DGLEW_STATIC)
blender_add_lib(bf_gpu "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/gpu/GPU_buffers.h b/source/blender/gpu/GPU_buffers.h
index 7ce166d92bd..6cee9e95cf6 100644
--- a/source/blender/gpu/GPU_buffers.h
+++ b/source/blender/gpu/GPU_buffers.h
@@ -37,8 +37,6 @@
#ifndef __GPU_BUFFERS_H__
#define __GPU_BUFFERS_H__
-#define MAX_FREE_GPU_BUFFERS 8
-
#ifdef _DEBUG
/*#define DEBUG_VBO(X) printf(X)*/
#define DEBUG_VBO(X)
@@ -46,112 +44,92 @@
#define DEBUG_VBO(X)
#endif
-#ifdef _DEBUG
-#define ERROR_VBO(X) printf(X)
-#else
-#define ERROR_VBO(X)
-#endif
-
struct DerivedMesh;
struct DMGridData;
struct GHash;
struct DMGridData;
+struct GPUVertPointLink;
-/* V - vertex, N - normal, T - uv, C - color
- F - float, UB - unsigned byte */
-#define GPU_BUFFER_INTER_V3F 1
-#define GPU_BUFFER_INTER_N3F 2
-#define GPU_BUFFER_INTER_T2F 3
-#define GPU_BUFFER_INTER_C3UB 4
-#define GPU_BUFFER_INTER_C4UB 5
-#define GPU_BUFFER_INTER_END -1
-
-typedef struct GPUBuffer
-{
+typedef struct GPUBuffer {
int size; /* in bytes */
void *pointer; /* used with vertex arrays */
unsigned int id; /* used with vertex buffer objects */
} GPUBuffer;
-/* stores deleted buffers so that new buffers wouldn't have to
-be recreated that often. */
-typedef struct GPUBufferPool
-{
- int size; /* number of allocated buffers stored */
- int maxsize; /* size of the array */
- GPUBuffer **buffers;
-} GPUBufferPool;
-
-typedef struct GPUBufferMaterial
-{
- int start; /* at which vertex in the buffer the material starts */
- int end; /* at which vertex it ends */
- char mat_nr;
-} GPUBufferMaterial;
+typedef struct GPUBufferMaterial {
+ /* range of points used for this material */
+ int start;
+ int totpoint;
-typedef struct IndexLink {
- int element;
- struct IndexLink *next;
-} IndexLink;
+ /* original material index */
+ short mat_nr;
+} GPUBufferMaterial;
-typedef struct GPUDrawObject
-{
- GPUBuffer *vertices;
+/* meshes are split up by material since changing materials requires
+ GL state changes that can't occur in the middle of drawing an
+ array.
+
+ some simplifying assumptions are made:
+ * all quads are treated as two triangles.
+ * no vertex sharing is used; each triangle gets its own copy of the
+ vertices it uses (this makes it easy to deal with a vertex used
+ by faces with different properties, such as smooth/solid shading,
+ different MCols, etc.)
+
+ to avoid confusion between the original MVert vertices and the
+ arrays of OpenGL vertices, the latter are referred to here and in
+ the source as `points'. similarly, the OpenGL triangles generated
+ for MFaces are referred to as triangles rather than faces.
+ */
+typedef struct GPUDrawObject {
+ GPUBuffer *points;
GPUBuffer *normals;
GPUBuffer *uv;
GPUBuffer *colors;
GPUBuffer *edges;
GPUBuffer *uvedges;
- int *faceRemap; /* at what index was the face originally in DerivedMesh */
- IndexLink *indices; /* given an index, find all elements using it */
- IndexLink *indexMem; /* for faster memory allocation/freeing */
- int indexMemUsage; /* how many are already allocated */
+ /* for each triangle, the original MFace index */
+ int *triangle_to_mface;
+
+ /* for each original vertex, the list of related points */
+ struct GPUVertPointLink *vert_points;
+ /* storage for the vert_points lists */
+ struct GPUVertPointLink *vert_points_mem;
+ int vert_points_usage;
+
int colType;
GPUBufferMaterial *materials;
-
- int nmaterials;
- int nelements; /* (number of faces) * 3 */
- int nlooseverts;
- int nedges;
- int nindices;
- int legacy; /* if there was a failure allocating some buffer, use old rendering code */
-
+ int totmaterial;
+
+ int tot_triangle_point;
+ int tot_loose_point;
+
+ /* caches of the original DerivedMesh values */
+ int totvert;
+ int totedge;
+
+ /* if there was a failure allocating some buffer, use old
+ rendering code */
+ int legacy;
} GPUDrawObject;
/* used for GLSL materials */
-typedef struct GPUAttrib
-{
+typedef struct GPUAttrib {
int index;
int size;
int type;
} GPUAttrib;
-GPUBufferPool *GPU_buffer_pool_new(void);
-void GPU_buffer_pool_free( GPUBufferPool *pool );
-void GPU_buffer_pool_free_unused( GPUBufferPool *pool );
+void GPU_global_buffer_pool_free(void);
-GPUBuffer *GPU_buffer_alloc( int size, GPUBufferPool *pool );
-void GPU_buffer_free( GPUBuffer *buffer, GPUBufferPool *pool );
+GPUBuffer *GPU_buffer_alloc(int size);
+void GPU_buffer_free(GPUBuffer *buffer);
GPUDrawObject *GPU_drawobject_new( struct DerivedMesh *dm );
void GPU_drawobject_free( struct DerivedMesh *dm );
-/* Buffers for non-DerivedMesh drawing */
-void *GPU_build_mesh_buffers(struct GHash *map, struct MVert *mvert,
- struct MFace *mface, int *face_indices,
- int totface, int *vert_indices, int uniq_verts,
- int totvert);
-void GPU_update_mesh_buffers(void *buffers, struct MVert *mvert,
- int *vert_indices, int totvert);
-void *GPU_build_grid_buffers(struct DMGridData **grids,
- int *grid_indices, int totgrid, int gridsize);
-void GPU_update_grid_buffers(void *buffers_v, struct DMGridData **grids,
- int *grid_indices, int totgrid, int gridsize, int smooth);
-void GPU_draw_buffers(void *buffers);
-void GPU_free_buffers(void *buffers);
-
/* called before drawing */
void GPU_vertex_setup( struct DerivedMesh *dm );
void GPU_normal_setup( struct DerivedMesh *dm );
@@ -175,6 +153,7 @@ void GPU_color4_upload( struct DerivedMesh *dm, unsigned char *data );
/* switch color rendering on=1/off=0 */
void GPU_color_switch( int mode );
+/* used for drawing edges */
void GPU_buffer_draw_elements( GPUBuffer *elements, unsigned int mode, int start, int count );
/* called after drawing */
@@ -183,4 +162,18 @@ void GPU_buffer_unbind(void);
/* used to check whether to use the old (without buffers) code */
int GPU_buffer_legacy( struct DerivedMesh *dm );
+/* Buffers for non-DerivedMesh drawing */
+void *GPU_build_mesh_buffers(struct GHash *map, struct MVert *mvert,
+ struct MFace *mface, int *face_indices,
+ int totface, int *vert_indices, int uniq_verts,
+ int totvert);
+void GPU_update_mesh_buffers(void *buffers, struct MVert *mvert,
+ int *vert_indices, int totvert);
+void *GPU_build_grid_buffers(struct DMGridData **grids,
+ int *grid_indices, int totgrid, int gridsize);
+void GPU_update_grid_buffers(void *buffers_v, struct DMGridData **grids,
+ int *grid_indices, int totgrid, int gridsize, int smooth);
+void GPU_draw_buffers(void *buffers);
+void GPU_free_buffers(void *buffers);
+
#endif
diff --git a/source/blender/gpu/GPU_draw.h b/source/blender/gpu/GPU_draw.h
index 18a6f1ba73d..d75b8db2c4e 100644
--- a/source/blender/gpu/GPU_draw.h
+++ b/source/blender/gpu/GPU_draw.h
@@ -112,6 +112,11 @@ void GPU_set_mipmap(int mipmap);
void GPU_set_linear_mipmap(int linear);
void GPU_paint_set_mipmap(int mipmap);
+/* Anisotropic filtering settings
+ * - these will free textures on changes */
+void GPU_set_anisotropic(float value);
+float GPU_get_anisotropic(void);
+
/* Image updates and free
* - these deal with images bound as opengl textures */
diff --git a/source/blender/gpu/GPU_extensions.h b/source/blender/gpu/GPU_extensions.h
index 8bf923a5679..d0c7f9d494f 100644
--- a/source/blender/gpu/GPU_extensions.h
+++ b/source/blender/gpu/GPU_extensions.h
@@ -178,6 +178,7 @@ typedef struct GPUVertexAttribs {
struct {
int type;
int glindex;
+ int gltexco;
char name[32];
} layer[GPU_MAX_ATTRIB];
diff --git a/source/blender/gpu/SConscript b/source/blender/gpu/SConscript
index 515c7166c2a..adb52d577a1 100644
--- a/source/blender/gpu/SConscript
+++ b/source/blender/gpu/SConscript
@@ -5,7 +5,7 @@ sources = env.Glob('intern/*.c')
defs = [ 'GLEW_STATIC' ]
-incs = '../blenlib ../blenkernel ../makesdna ../include ../blenloader'
+incs = '../blenlib ../blenkernel ../makesdna ../makesrna ../include ../blenloader'
incs += ' #/extern/glew/include #intern/guardedalloc #intern/smoke/extern ../imbuf .'
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
@@ -13,4 +13,6 @@ if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
incs += ' ' + env['BF_OPENGL_INC']
+defs.append('WITH_SMOKE') # TODO, make optional
+
env.BlenderLib ( 'bf_gpu', sources, Split(incs), defines = defs, libtype=['core','player'], priority=[160,110] )
diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index 0d843dedbaa..4d4561e66db 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -56,11 +56,13 @@
#include "GPU_buffers.h"
-#define GPU_BUFFER_VERTEX_STATE 1
-#define GPU_BUFFER_NORMAL_STATE 2
-#define GPU_BUFFER_TEXCOORD_STATE 4
-#define GPU_BUFFER_COLOR_STATE 8
-#define GPU_BUFFER_ELEMENT_STATE 16
+typedef enum {
+ GPU_BUFFER_VERTEX_STATE = 1,
+ GPU_BUFFER_NORMAL_STATE = 2,
+ GPU_BUFFER_TEXCOORD_STATE = 4,
+ GPU_BUFFER_COLOR_STATE = 8,
+ GPU_BUFFER_ELEMENT_STATE = 16,
+} GPUBufferState;
#define MAX_GPU_ATTRIB_DATA 32
@@ -69,342 +71,1207 @@
/* -1 - undefined, 0 - vertex arrays, 1 - VBOs */
static int useVBOs = -1;
-static GPUBufferPool *globalPool = 0;
-static int GLStates = 0;
+static GPUBufferState GLStates = 0;
static GPUAttrib attribData[MAX_GPU_ATTRIB_DATA] = { { -1, 0, 0 } };
-GPUBufferPool *GPU_buffer_pool_new(void)
+/* stores recently-deleted buffers so that new buffers won't have to
+ be recreated as often
+
+ only one instance of this pool is created, stored in
+ gpu_buffer_pool
+
+ note that the number of buffers in the pool is usually limited to
+ MAX_FREE_GPU_BUFFERS, but this limit may be exceeded temporarily
+ when a GPUBuffer is released outside the main thread; due to OpenGL
+ restrictions it cannot be immediately released
+ */
+typedef struct GPUBufferPool {
+ /* number of allocated buffers stored */
+ int totbuf;
+ /* actual allocated length of the array */
+ int maxsize;
+ GPUBuffer **buffers;
+} GPUBufferPool;
+#define MAX_FREE_GPU_BUFFERS 8
+
+/* create a new GPUBufferPool */
+static GPUBufferPool *gpu_buffer_pool_new(void)
{
GPUBufferPool *pool;
- DEBUG_VBO("GPU_buffer_pool_new\n");
+ /* enable VBOs if supported */
+ if(useVBOs == -1)
+ useVBOs = (GLEW_ARB_vertex_buffer_object ? 1 : 0);
- if( useVBOs < 0 ) {
- if( GL_ARB_vertex_buffer_object ) {
- DEBUG_VBO( "Vertex Buffer Objects supported.\n" );
- useVBOs = 1;
- }
- else {
- DEBUG_VBO( "Vertex Buffer Objects NOT supported.\n" );
- useVBOs = 0;
- }
- }
+ pool = MEM_callocN(sizeof(GPUBufferPool), "GPUBuffer");
- pool = MEM_callocN(sizeof(GPUBufferPool), "GPU_buffer_pool_new");
pool->maxsize = MAX_FREE_GPU_BUFFERS;
- pool->buffers = MEM_callocN(sizeof(GPUBuffer*)*pool->maxsize, "GPU_buffer_pool_new buffers");
+ pool->buffers = MEM_callocN(sizeof(GPUBuffer*)*pool->maxsize,
+ "GPUBuffer.buffers");
return pool;
}
-static void GPU_buffer_pool_remove( int index, GPUBufferPool *pool )
+/* remove a GPUBuffer from the pool (does not free the GPUBuffer) */
+static void gpu_buffer_pool_remove_index(GPUBufferPool *pool, int index)
{
int i;
- if( index >= pool->size || index < 0 ) {
- ERROR_VBO("Wrong index, out of bounds in call to GPU_buffer_pool_remove");
+ if(!pool || index < 0 || index >= pool->totbuf)
return;
- }
- DEBUG_VBO("GPU_buffer_pool_remove\n");
- for( i = index; i < pool->size-1; i++ ) {
+ /* shift entries down, overwriting the buffer at `index' */
+ for(i = index; i < pool->totbuf - 1; i++)
pool->buffers[i] = pool->buffers[i+1];
- }
- if( pool->size > 0 )
- pool->buffers[pool->size-1] = 0;
- pool->size--;
+ /* clear the last entry */
+ if(pool->totbuf > 0)
+ pool->buffers[pool->totbuf - 1] = NULL;
+
+ pool->totbuf--;
}
-static void GPU_buffer_pool_delete_last( GPUBufferPool *pool )
+/* delete the last entry in the pool */
+static void gpu_buffer_pool_delete_last(GPUBufferPool *pool)
{
- int last;
+ GPUBuffer *last;
- DEBUG_VBO("GPU_buffer_pool_delete_last\n");
+ if(pool->totbuf <= 0)
+ return;
- if( pool->size <= 0 )
+ /* get the last entry */
+ if(!(last = pool->buffers[pool->totbuf - 1]))
return;
- last = pool->size-1;
+ /* delete the buffer's data */
+ if(useVBOs)
+ glDeleteBuffersARB(1, &last->id);
+ else
+ MEM_freeN(last->pointer);
- if( pool->buffers[last] != 0 ) {
- if( useVBOs ) {
- glDeleteBuffersARB(1,&pool->buffers[last]->id);
- MEM_freeN( pool->buffers[last] );
- }
- else {
- MEM_freeN( pool->buffers[last]->pointer );
- MEM_freeN( pool->buffers[last] );
- }
- pool->buffers[last] = 0;
- } else {
- DEBUG_VBO("Why are we accessing a null buffer?\n");
- }
- pool->size--;
+ /* delete the buffer and remove from pool */
+ MEM_freeN(last);
+ pool->totbuf--;
+ pool->buffers[pool->totbuf] = NULL;
}
-void GPU_buffer_pool_free(GPUBufferPool *pool)
+/* free a GPUBufferPool; also frees the data in the pool's
+ GPUBuffers */
+static void gpu_buffer_pool_free(GPUBufferPool *pool)
{
- DEBUG_VBO("GPU_buffer_pool_free\n");
-
- if( pool == 0 )
- pool = globalPool;
- if( pool == 0 )
+ if(!pool)
return;
- while( pool->size )
- GPU_buffer_pool_delete_last(pool);
+ while(pool->totbuf)
+ gpu_buffer_pool_delete_last(pool);
MEM_freeN(pool->buffers);
MEM_freeN(pool);
- /* if we are releasing the global pool, stop keeping a reference to it */
- if (pool == globalPool)
- globalPool = NULL;
}
-void GPU_buffer_pool_free_unused(GPUBufferPool *pool)
+static GPUBufferPool *gpu_buffer_pool = NULL;
+static GPUBufferPool *gpu_get_global_buffer_pool(void)
{
- DEBUG_VBO("GPU_buffer_pool_free_unused\n");
+ /* initialize the pool */
+ if(!gpu_buffer_pool)
+ gpu_buffer_pool = gpu_buffer_pool_new();
- if( pool == 0 )
- pool = globalPool;
- if( pool == 0 )
- return;
-
- while( pool->size > MAX_FREE_GPU_BUFFERS )
- GPU_buffer_pool_delete_last(pool);
+ return gpu_buffer_pool;
}
-GPUBuffer *GPU_buffer_alloc( int size, GPUBufferPool *pool )
+void GPU_global_buffer_pool_free(void)
{
- char buffer[60];
- int i;
- int cursize;
- GPUBuffer *allocated;
- int bestfit = -1;
+ gpu_buffer_pool_free(gpu_buffer_pool);
+ gpu_buffer_pool = NULL;
+}
+
+/* get a GPUBuffer of at least `size' bytes; uses one from the buffer
+ pool if possible, otherwise creates a new one */
+GPUBuffer *GPU_buffer_alloc(int size)
+{
+ GPUBufferPool *pool;
+ GPUBuffer *buf;
+ int i, bufsize, bestfit = -1;
- DEBUG_VBO("GPU_buffer_alloc\n");
+ pool = gpu_get_global_buffer_pool();
- if( pool == 0 ) {
- if( globalPool == 0 )
- globalPool = GPU_buffer_pool_new();
- pool = globalPool;
- }
+ /* not sure if this buffer pool code has been profiled much,
+ seems to me that the graphics driver and system memory
+ management might do this stuff anyway. --nicholas
+ */
+
+ /* check the global buffer pool for a recently-deleted buffer
+ that is at least as big as the request, but not more than
+ twice as big */
+ for(i = 0; i < pool->totbuf; i++) {
+ bufsize = pool->buffers[i]->size;
- for( i = 0; i < pool->size; i++ ) {
- cursize = pool->buffers[i]->size;
- if( cursize == size ) {
- allocated = pool->buffers[i];
- GPU_buffer_pool_remove(i,pool);
- DEBUG_VBO("free buffer of exact size found\n");
- return allocated;
+ /* check for an exact size match */
+ if(bufsize == size) {
+ bestfit = i;
+ break;
}
- /* smaller buffers won't fit data and buffers at least twice as big are a waste of memory */
- else if( cursize > size && size > cursize/2 ) {
- /* is it closer to the required size than the last appropriate buffer found. try to save memory */
- if( bestfit == -1 || pool->buffers[bestfit]->size > cursize ) {
+ /* smaller buffers won't fit data and buffers at least
+ twice as big are a waste of memory */
+ else if(bufsize > size && size > (bufsize / 2)) {
+ /* is it closer to the required size than the
+ last appropriate buffer found. try to save
+ memory */
+ if(bestfit == -1 || pool->buffers[bestfit]->size > bufsize) {
bestfit = i;
}
}
}
- if( bestfit == -1 ) {
- DEBUG_VBO("allocating a new buffer\n");
-
- allocated = MEM_mallocN(sizeof(GPUBuffer), "GPU_buffer_alloc");
- allocated->size = size;
- if( useVBOs == 1 ) {
- glGenBuffersARB( 1, &allocated->id );
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, allocated->id );
- glBufferDataARB( GL_ARRAY_BUFFER_ARB, size, 0, GL_STATIC_DRAW_ARB );
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, 0 );
- }
- else {
- allocated->pointer = MEM_mallocN(size, "GPU_buffer_alloc_vertexarray");
- while( allocated->pointer == 0 && pool->size > 0 ) {
- GPU_buffer_pool_delete_last(pool);
- allocated->pointer = MEM_mallocN(size, "GPU_buffer_alloc_vertexarray");
- }
- if( allocated->pointer == 0 && pool->size == 0 ) {
- return 0;
- }
- }
+
+ /* if an acceptable buffer was found in the pool, remove it
+ from the pool and return it */
+ if(bestfit != -1) {
+ buf = pool->buffers[bestfit];
+ gpu_buffer_pool_remove_index(pool, bestfit);
+ return buf;
}
- else {
- sprintf(buffer,"free buffer found. Wasted %d bytes\n", pool->buffers[bestfit]->size-size);
- DEBUG_VBO(buffer);
- allocated = pool->buffers[bestfit];
- GPU_buffer_pool_remove(bestfit,pool);
+ /* no acceptable buffer found in the pool, create a new one */
+ buf = MEM_callocN(sizeof(GPUBuffer), "GPUBuffer");
+ buf->size = size;
+
+ if(useVBOs == 1) {
+ /* create a new VBO and initialize it to the requested
+ size */
+ glGenBuffersARB(1, &buf->id);
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, buf->id);
+ glBufferDataARB(GL_ARRAY_BUFFER_ARB, size, 0, GL_STATIC_DRAW_ARB);
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+ }
+ else {
+ buf->pointer = MEM_mallocN(size, "GPUBuffer.pointer");
+
+ /* purpose of this seems to be dealing with
+ out-of-memory errors? looks a bit iffy to me
+ though, at least on Linux I expect malloc() would
+ just overcommit. --nicholas */
+ while(!buf->pointer && pool->totbuf > 0) {
+ gpu_buffer_pool_delete_last(pool);
+ buf->pointer = MEM_mallocN(size, "GPUBuffer.pointer");
+ }
+ if(!buf->pointer)
+ return NULL;
}
- return allocated;
+
+ return buf;
}
-void GPU_buffer_free( GPUBuffer *buffer, GPUBufferPool *pool )
+/* release a GPUBuffer; does not free the actual buffer or its data,
+ but rather moves it to the pool of recently-free'd buffers for
+ possible re-use*/
+void GPU_buffer_free(GPUBuffer *buffer)
{
+ GPUBufferPool *pool;
int i;
- DEBUG_VBO("GPU_buffer_free\n");
-
- if( buffer == 0 )
+ if(!buffer)
return;
- if( pool == 0 )
- pool = globalPool;
- if( pool == 0 )
- pool = globalPool = GPU_buffer_pool_new();
+
+ pool = gpu_get_global_buffer_pool();
/* free the last used buffer in the queue if no more space, but only
if we are in the main thread. for e.g. rendering or baking it can
happen that we are in other thread and can't call OpenGL, in that
case cleanup will be done GPU_buffer_pool_free_unused */
- if( BLI_thread_is_main() ) {
- while( pool->size >= MAX_FREE_GPU_BUFFERS )
- GPU_buffer_pool_delete_last( pool );
+ if(BLI_thread_is_main()) {
+ /* in main thread, safe to decrease size of pool back
+ down to MAX_FREE_GPU_BUFFERS */
+ while(pool->totbuf >= MAX_FREE_GPU_BUFFERS)
+ gpu_buffer_pool_delete_last(pool);
}
else {
- if( pool->maxsize == pool->size ) {
+ /* outside of main thread, can't safely delete the
+ buffer, so increase pool size */
+ if(pool->maxsize == pool->totbuf) {
pool->maxsize += MAX_FREE_GPU_BUFFERS;
- pool->buffers = MEM_reallocN(pool->buffers, sizeof(GPUBuffer*)*pool->maxsize);
+ pool->buffers = MEM_reallocN(pool->buffers,
+ sizeof(GPUBuffer*) * pool->maxsize);
}
}
- for( i =pool->size; i > 0; i-- ) {
+ /* shift pool entries up by one */
+ for(i = pool->totbuf; i > 0; i--)
pool->buffers[i] = pool->buffers[i-1];
- }
+
+ /* insert the buffer into the beginning of the pool */
pool->buffers[0] = buffer;
- pool->size++;
+ pool->totbuf++;
}
+typedef struct GPUVertPointLink {
+ struct GPUVertPointLink *next;
+ /* -1 means uninitialized */
+ int point_index;
+} GPUVertPointLink;
+
+/* add a new point to the list of points related to a particular
+ vertex */
+static void gpu_drawobject_add_vert_point(GPUDrawObject *gdo, int vert_index, int point_index)
+{
+ GPUVertPointLink *lnk;
+
+ lnk = &gdo->vert_points[vert_index];
+
+ /* if first link is in use, add a new link at the end */
+ if(lnk->point_index != -1) {
+ /* get last link */
+ for(; lnk->next; lnk = lnk->next);
+
+ /* add a new link from the pool */
+ lnk = lnk->next = &gdo->vert_points_mem[gdo->vert_points_usage];
+ gdo->vert_points_usage++;
+ }
+
+ lnk->point_index = point_index;
+}
+
+/* update the vert_points and triangle_to_mface fields with a new
+ triangle */
+static void gpu_drawobject_add_triangle(GPUDrawObject *gdo,
+ int base_point_index,
+ int face_index,
+ int v1, int v2, int v3)
+{
+ int i, v[3] = {v1, v2, v3};
+ for(i = 0; i < 3; i++)
+ gpu_drawobject_add_vert_point(gdo, v[i], base_point_index + i);
+ gdo->triangle_to_mface[base_point_index / 3] = face_index;
+}
+
+/* for each vertex, build a list of points related to it; these lists
+ are stored in an array sized to the number of vertices */
+static void gpu_drawobject_init_vert_points(GPUDrawObject *gdo, MFace *f, int totface)
+{
+ GPUBufferMaterial *mat;
+ int i, mat_orig_to_new[MAX_MATERIALS];
+
+ /* allocate the array and space for links */
+ gdo->vert_points = MEM_callocN(sizeof(GPUVertPointLink) * gdo->totvert,
+ "GPUDrawObject.vert_points");
+ gdo->vert_points_mem = MEM_callocN(sizeof(GPUVertPointLink) * gdo->tot_triangle_point,
+ "GPUDrawObject.vert_points_mem");
+ gdo->vert_points_usage = 0;
+
+ /* build a map from the original material indices to the new
+ GPUBufferMaterial indices */
+ for(i = 0; i < gdo->totmaterial; i++)
+ mat_orig_to_new[gdo->materials[i].mat_nr] = i;
+
+ /* -1 indicates the link is not yet used */
+ for(i = 0; i < gdo->totvert; i++)
+ gdo->vert_points[i].point_index = -1;
+
+ for(i = 0; i < totface; i++, f++) {
+ mat = &gdo->materials[mat_orig_to_new[f->mat_nr]];
+
+ /* add triangle */
+ gpu_drawobject_add_triangle(gdo, mat->start + mat->totpoint,
+ i, f->v1, f->v2, f->v3);
+ mat->totpoint += 3;
+
+ /* add second triangle for quads */
+ if(f->v4) {
+ gpu_drawobject_add_triangle(gdo, mat->start + mat->totpoint,
+ i, f->v3, f->v4, f->v1);
+ mat->totpoint += 3;
+ }
+ }
+
+ /* map any unused vertices to loose points */
+ for(i = 0; i < gdo->totvert; i++) {
+ if(gdo->vert_points[i].point_index == -1) {
+ gdo->vert_points[i].point_index = gdo->tot_triangle_point + gdo->tot_loose_point;
+ gdo->tot_loose_point++;
+ }
+ }
+}
+
+/* see GPUDrawObject's structure definition for a description of the
+ data being initialized here */
GPUDrawObject *GPU_drawobject_new( DerivedMesh *dm )
{
- GPUDrawObject *object;
+ GPUDrawObject *gdo;
MFace *mface;
- int numverts[MAX_MATERIALS];
- int redir[MAX_MATERIALS];
- int *index;
- int i;
- int curmat, curverts, numfaces;
+ int points_per_mat[MAX_MATERIALS];
+ int i, curmat, curpoint, totface;
+
+ mface = dm->getFaceArray(dm);
+ totface= dm->getNumFaces(dm);
- DEBUG_VBO("GPU_drawobject_new\n");
+ /* get the number of points used by each material, treating
+ each quad as two triangles */
+ memset(points_per_mat, 0, sizeof(int)*MAX_MATERIALS);
+ for(i = 0; i < totface; i++)
+ points_per_mat[mface[i].mat_nr] += mface[i].v4 ? 6 : 3;
- object = MEM_callocN(sizeof(GPUDrawObject),"GPU_drawobject_new_object");
- object->nindices = dm->getNumVerts(dm);
- object->indices = MEM_mallocN(sizeof(IndexLink)*object->nindices, "GPU_drawobject_new_indices");
- object->nedges = dm->getNumEdges(dm);
+ /* create the GPUDrawObject */
+ gdo = MEM_callocN(sizeof(GPUDrawObject),"GPUDrawObject");
+ gdo->totvert = dm->getNumVerts(dm);
+ gdo->totedge = dm->getNumEdges(dm);
- for( i = 0; i < object->nindices; i++ ) {
- object->indices[i].element = -1;
- object->indices[i].next = 0;
+ /* count the number of materials used by this DerivedMesh */
+ for(i = 0; i < MAX_MATERIALS; i++) {
+ if(points_per_mat[i] > 0)
+ gdo->totmaterial++;
}
- /*object->legacy = 1;*/
- memset(numverts,0,sizeof(int)*MAX_MATERIALS);
- mface = dm->getFaceArray(dm);
+ /* allocate an array of materials used by this DerivedMesh */
+ gdo->materials = MEM_mallocN(sizeof(GPUBufferMaterial) * gdo->totmaterial,
+ "GPUDrawObject.materials");
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- if( mface[i].v4 )
- numverts[mface[i].mat_nr] += 6; /* split every quad into two triangles */
- else
- numverts[mface[i].mat_nr] += 3;
+ /* initialize the materials array */
+ for(i = 0, curmat = 0, curpoint = 0; i < MAX_MATERIALS; i++) {
+ if(points_per_mat[i] > 0) {
+ gdo->materials[curmat].start = curpoint;
+ gdo->materials[curmat].totpoint = 0;
+ gdo->materials[curmat].mat_nr = i;
+
+ curpoint += points_per_mat[i];
+ curmat++;
+ }
}
- for( i = 0; i < MAX_MATERIALS; i++ ) {
- if( numverts[i] > 0 ) {
- object->nmaterials++;
- object->nelements += numverts[i];
+ /* store total number of points used for triangles */
+ gdo->tot_triangle_point = curpoint;
+
+ gdo->triangle_to_mface = MEM_mallocN(sizeof(int) * (gdo->tot_triangle_point / 3),
+ "GPUDrawObject.triangle_to_mface");
+
+ gpu_drawobject_init_vert_points(gdo, mface, totface);
+
+ return gdo;
+}
+
+void GPU_drawobject_free(DerivedMesh *dm)
+{
+ GPUDrawObject *gdo;
+
+ if(!dm || !(gdo = dm->drawObject))
+ return;
+
+ MEM_freeN(gdo->materials);
+ MEM_freeN(gdo->triangle_to_mface);
+ MEM_freeN(gdo->vert_points);
+ MEM_freeN(gdo->vert_points_mem);
+ GPU_buffer_free(gdo->points);
+ GPU_buffer_free(gdo->normals);
+ GPU_buffer_free(gdo->uv);
+ GPU_buffer_free(gdo->colors);
+ GPU_buffer_free(gdo->edges);
+ GPU_buffer_free(gdo->uvedges);
+
+ MEM_freeN(gdo);
+ dm->drawObject = NULL;
+}
+
+typedef void (*GPUBufferCopyFunc)(DerivedMesh *dm, float *varray, int *index,
+ int *mat_orig_to_new, void *user_data);
+
+static GPUBuffer *gpu_buffer_setup(DerivedMesh *dm, GPUDrawObject *object,
+ int vector_size, int size, GLenum target,
+ void *user, GPUBufferCopyFunc copy_f)
+{
+ GPUBufferPool *pool;
+ GPUBuffer *buffer;
+ float *varray;
+ int mat_orig_to_new[MAX_MATERIALS];
+ int *cur_index_per_mat;
+ int i;
+ int success;
+ GLboolean uploaded;
+
+ pool = gpu_get_global_buffer_pool();
+
+ /* alloc a GPUBuffer; fall back to legacy mode on failure */
+ if(!(buffer = GPU_buffer_alloc(size)))
+ dm->drawObject->legacy = 1;
+
+ /* nothing to do for legacy mode */
+ if(dm->drawObject->legacy)
+ return 0;
+
+ cur_index_per_mat = MEM_mallocN(sizeof(int)*object->totmaterial,
+ "GPU_buffer_setup.cur_index_per_mat");
+ for(i = 0; i < object->totmaterial; i++) {
+ /* for each material, the current index to copy data to */
+ cur_index_per_mat[i] = object->materials[i].start * vector_size;
+
+ /* map from original material index to new
+ GPUBufferMaterial index */
+ mat_orig_to_new[object->materials[i].mat_nr] = i;
+ }
+
+ if(useVBOs) {
+ success = 0;
+
+ while(!success) {
+ /* bind the buffer and discard previous data,
+ avoids stalling gpu */
+ glBindBufferARB(target, buffer->id);
+ glBufferDataARB(target, buffer->size, 0, GL_STATIC_DRAW_ARB);
+
+ /* attempt to map the buffer */
+ if(!(varray = glMapBufferARB(target, GL_WRITE_ONLY_ARB))) {
+ /* failed to map the buffer; delete it */
+ GPU_buffer_free(buffer);
+ gpu_buffer_pool_delete_last(pool);
+ buffer= NULL;
+
+ /* try freeing an entry from the pool
+ and reallocating the buffer */
+ if(pool->totbuf > 0) {
+ gpu_buffer_pool_delete_last(pool);
+ buffer = GPU_buffer_alloc(size);
+ }
+
+ /* allocation still failed; fall back
+ to legacy mode */
+ if(!buffer) {
+ dm->drawObject->legacy = 1;
+ success = 1;
+ }
+ }
+ else {
+ success = 1;
+ }
+ }
+
+ /* check legacy fallback didn't happen */
+ if(dm->drawObject->legacy == 0) {
+ uploaded = GL_FALSE;
+ /* attempt to upload the data to the VBO */
+ while(uploaded == GL_FALSE) {
+ (*copy_f)(dm, varray, cur_index_per_mat, mat_orig_to_new, user);
+ /* glUnmapBuffer returns GL_FALSE if
+ the data store is corrupted; retry
+ in that case */
+ uploaded = glUnmapBufferARB(target);
+ }
}
+ glBindBufferARB(target, 0);
}
- object->materials = MEM_mallocN(sizeof(GPUBufferMaterial)*object->nmaterials,"GPU_drawobject_new_materials");
- index = MEM_mallocN(sizeof(int)*object->nmaterials,"GPU_drawobject_new_index");
-
- curmat = curverts = 0;
- for( i = 0; i < MAX_MATERIALS; i++ ) {
- if( numverts[i] > 0 ) {
- object->materials[curmat].mat_nr = i;
- object->materials[curmat].start = curverts;
- index[curmat] = curverts/3;
- object->materials[curmat].end = curverts+numverts[i];
- curverts += numverts[i];
- curmat++;
+ else {
+ /* VBO not supported, use vertex array fallback */
+ if(buffer->pointer) {
+ varray = buffer->pointer;
+ (*copy_f)(dm, varray, cur_index_per_mat, mat_orig_to_new, user);
+ }
+ else {
+ dm->drawObject->legacy = 1;
}
}
- object->faceRemap = MEM_mallocN(sizeof(int)*object->nelements/3,"GPU_drawobject_new_faceRemap");
- for( i = 0; i < object->nmaterials; i++ ) {
- redir[object->materials[i].mat_nr] = i; /* material number -> material index */
+
+ MEM_freeN(cur_index_per_mat);
+
+ return buffer;
+}
+
+static void GPU_buffer_copy_vertex(DerivedMesh *dm, float *varray, int *index, int *mat_orig_to_new, void *UNUSED(user))
+{
+ MVert *mvert;
+ MFace *f;
+ int i, j, start, totface;
+
+ mvert = dm->getVertArray(dm);
+ f = dm->getFaceArray(dm);
+
+ totface= dm->getNumFaces(dm);
+ for(i = 0; i < totface; i++, f++) {
+ start = index[mat_orig_to_new[f->mat_nr]];
+
+ /* v1 v2 v3 */
+ copy_v3_v3(&varray[start], mvert[f->v1].co);
+ copy_v3_v3(&varray[start+3], mvert[f->v2].co);
+ copy_v3_v3(&varray[start+6], mvert[f->v3].co);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+
+ if(f->v4) {
+ /* v3 v4 v1 */
+ copy_v3_v3(&varray[start+9], mvert[f->v3].co);
+ copy_v3_v3(&varray[start+12], mvert[f->v4].co);
+ copy_v3_v3(&varray[start+15], mvert[f->v1].co);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+ }
}
- object->indexMem = MEM_callocN(sizeof(IndexLink)*object->nelements,"GPU_drawobject_new_indexMem");
- object->indexMemUsage = 0;
-
-#define ADDLINK( INDEX, ACTUAL ) \
- if( object->indices[INDEX].element == -1 ) { \
- object->indices[INDEX].element = ACTUAL; \
- } else { \
- IndexLink *lnk = &object->indices[INDEX]; \
- while( lnk->next != 0 ) lnk = lnk->next; \
- lnk->next = &object->indexMem[object->indexMemUsage]; \
- lnk->next->element = ACTUAL; \
- object->indexMemUsage++; \
+ /* copy loose points */
+ j = dm->drawObject->tot_triangle_point*3;
+ for(i = 0; i < dm->drawObject->totvert; i++) {
+ if(dm->drawObject->vert_points[i].point_index >= dm->drawObject->tot_triangle_point) {
+ copy_v3_v3(&varray[j],mvert[i].co);
+ j+=3;
}
+ }
+}
- for( i=0; i < numfaces; i++ ) {
- int curInd = index[redir[mface[i].mat_nr]];
- object->faceRemap[curInd] = i;
- ADDLINK( mface[i].v1, curInd*3 );
- ADDLINK( mface[i].v2, curInd*3+1 );
- ADDLINK( mface[i].v3, curInd*3+2 );
- if( mface[i].v4 ) {
- object->faceRemap[curInd+1] = i;
- ADDLINK( mface[i].v3, curInd*3+3 );
- ADDLINK( mface[i].v4, curInd*3+4 );
- ADDLINK( mface[i].v1, curInd*3+5 );
-
- index[redir[mface[i].mat_nr]]+=2;
+static void GPU_buffer_copy_normal(DerivedMesh *dm, float *varray, int *index, int *mat_orig_to_new, void *UNUSED(user))
+{
+ int i, totface;
+ int start;
+ float f_no[3];
+
+ float *nors= dm->getFaceDataArray(dm, CD_NORMAL);
+ MVert *mvert = dm->getVertArray(dm);
+ MFace *f = dm->getFaceArray(dm);
+
+ totface= dm->getNumFaces(dm);
+ for(i = 0; i < totface; i++, f++) {
+ const int smoothnormal = (f->flag & ME_SMOOTH);
+
+ start = index[mat_orig_to_new[f->mat_nr]];
+ index[mat_orig_to_new[f->mat_nr]] += f->v4 ? 18 : 9;
+
+ if(smoothnormal) {
+ /* copy vertex normal */
+ normal_short_to_float_v3(&varray[start], mvert[f->v1].no);
+ normal_short_to_float_v3(&varray[start+3], mvert[f->v2].no);
+ normal_short_to_float_v3(&varray[start+6], mvert[f->v3].no);
+
+ if(f->v4) {
+ normal_short_to_float_v3(&varray[start+9], mvert[f->v3].no);
+ normal_short_to_float_v3(&varray[start+12], mvert[f->v4].no);
+ normal_short_to_float_v3(&varray[start+15], mvert[f->v1].no);
+ }
+ }
+ else if(nors) {
+ /* copy cached face normal */
+ copy_v3_v3(&varray[start], &nors[i*3]);
+ copy_v3_v3(&varray[start+3], &nors[i*3]);
+ copy_v3_v3(&varray[start+6], &nors[i*3]);
+
+ if(f->v4) {
+ copy_v3_v3(&varray[start+9], &nors[i*3]);
+ copy_v3_v3(&varray[start+12], &nors[i*3]);
+ copy_v3_v3(&varray[start+15], &nors[i*3]);
+ }
}
else {
- index[redir[mface[i].mat_nr]]++;
+ /* calculate face normal */
+ if(f->v4)
+ normal_quad_v3(f_no, mvert[f->v1].co, mvert[f->v2].co, mvert[f->v3].co, mvert[f->v4].co);
+ else
+ normal_tri_v3(f_no, mvert[f->v1].co, mvert[f->v2].co, mvert[f->v3].co);
+
+ copy_v3_v3(&varray[start], f_no);
+ copy_v3_v3(&varray[start+3], f_no);
+ copy_v3_v3(&varray[start+6], f_no);
+
+ if(f->v4) {
+ copy_v3_v3(&varray[start+9], f_no);
+ copy_v3_v3(&varray[start+12], f_no);
+ copy_v3_v3(&varray[start+15], f_no);
+ }
+ }
+ }
+}
+
+static void GPU_buffer_copy_uv(DerivedMesh *dm, float *varray, int *index, int *mat_orig_to_new, void *UNUSED(user))
+{
+ int start;
+ int i, totface;
+
+ MTFace *mtface;
+ MFace *f;
+
+ if(!(mtface = DM_get_face_data_layer(dm, CD_MTFACE)))
+ return;
+ f = dm->getFaceArray(dm);
+
+ totface = dm->getNumFaces(dm);
+ for(i = 0; i < totface; i++, f++) {
+ start = index[mat_orig_to_new[f->mat_nr]];
+
+ /* v1 v2 v3 */
+ copy_v2_v2(&varray[start],mtface[i].uv[0]);
+ copy_v2_v2(&varray[start+2],mtface[i].uv[1]);
+ copy_v2_v2(&varray[start+4],mtface[i].uv[2]);
+ index[mat_orig_to_new[f->mat_nr]] += 6;
+
+ if(f->v4) {
+ /* v3 v4 v1 */
+ copy_v2_v2(&varray[start+6],mtface[i].uv[2]);
+ copy_v2_v2(&varray[start+8],mtface[i].uv[3]);
+ copy_v2_v2(&varray[start+10],mtface[i].uv[0]);
+ index[mat_orig_to_new[f->mat_nr]] += 6;
+ }
+ }
+}
+
+
+static void GPU_buffer_copy_color3(DerivedMesh *dm, float *varray_, int *index, int *mat_orig_to_new, void *user)
+{
+ int i, totface;
+ unsigned char *varray = (unsigned char *)varray_;
+ unsigned char *mcol = (unsigned char *)user;
+ MFace *f = dm->getFaceArray(dm);
+
+ totface= dm->getNumFaces(dm);
+ for(i=0; i < totface; i++, f++) {
+ int start = index[mat_orig_to_new[f->mat_nr]];
+
+ /* v1 v2 v3 */
+ VECCOPY(&varray[start], &mcol[i*12]);
+ VECCOPY(&varray[start+3], &mcol[i*12+3]);
+ VECCOPY(&varray[start+6], &mcol[i*12+6]);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+
+ if(f->v4) {
+ /* v3 v4 v1 */
+ VECCOPY(&varray[start+9], &mcol[i*12+6]);
+ VECCOPY(&varray[start+12], &mcol[i*12+9]);
+ VECCOPY(&varray[start+15], &mcol[i*12]);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+ }
+ }
+}
+
+static void copy_mcol_uc3(unsigned char *v, unsigned char *col)
+{
+ v[0] = col[3];
+ v[1] = col[2];
+ v[2] = col[1];
+}
+
+/* treat varray_ as an array of MCol, four MCol's per face */
+static void GPU_buffer_copy_mcol(DerivedMesh *dm, float *varray_, int *index, int *mat_orig_to_new, void *user)
+{
+ int i, totface;
+ unsigned char *varray = (unsigned char *)varray_;
+ unsigned char *mcol = (unsigned char *)user;
+ MFace *f = dm->getFaceArray(dm);
+
+ totface= dm->getNumFaces(dm);
+ for(i=0; i < totface; i++, f++) {
+ int start = index[mat_orig_to_new[f->mat_nr]];
+
+ /* v1 v2 v3 */
+ copy_mcol_uc3(&varray[start], &mcol[i*16]);
+ copy_mcol_uc3(&varray[start+3], &mcol[i*16+4]);
+ copy_mcol_uc3(&varray[start+6], &mcol[i*16+8]);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+
+ if(f->v4) {
+ /* v3 v4 v1 */
+ copy_mcol_uc3(&varray[start+9], &mcol[i*16+8]);
+ copy_mcol_uc3(&varray[start+12], &mcol[i*16+12]);
+ copy_mcol_uc3(&varray[start+15], &mcol[i*16]);
+ index[mat_orig_to_new[f->mat_nr]] += 9;
+ }
+ }
+}
+
+static void GPU_buffer_copy_edge(DerivedMesh *dm, float *varray_, int *UNUSED(index), int *UNUSED(mat_orig_to_new), void *UNUSED(user))
+{
+ MEdge *medge;
+ unsigned int *varray = (unsigned int *)varray_;
+ int i, totedge;
+
+ medge = dm->getEdgeArray(dm);
+ totedge = dm->getNumEdges(dm);
+
+ for(i = 0; i < totedge; i++, medge++) {
+ varray[i*2] = dm->drawObject->vert_points[medge->v1].point_index;
+ varray[i*2+1] = dm->drawObject->vert_points[medge->v2].point_index;
+ }
+}
+
+static void GPU_buffer_copy_uvedge(DerivedMesh *dm, float *varray, int *UNUSED(index), int *UNUSED(mat_orig_to_new), void *UNUSED(user))
+{
+ MTFace *tf = DM_get_face_data_layer(dm, CD_MTFACE);
+ int i, j=0;
+
+ if(!tf)
+ return;
+
+ for(i = 0; i < dm->numFaceData; i++, tf++) {
+ MFace mf;
+ dm->getFace(dm,i,&mf);
+
+ copy_v2_v2(&varray[j],tf->uv[0]);
+ copy_v2_v2(&varray[j+2],tf->uv[1]);
+
+ copy_v2_v2(&varray[j+4],tf->uv[1]);
+ copy_v2_v2(&varray[j+6],tf->uv[2]);
+
+ if(!mf.v4) {
+ copy_v2_v2(&varray[j+8],tf->uv[2]);
+ copy_v2_v2(&varray[j+10],tf->uv[0]);
+ j+=12;
+ } else {
+ copy_v2_v2(&varray[j+8],tf->uv[2]);
+ copy_v2_v2(&varray[j+10],tf->uv[3]);
+
+ copy_v2_v2(&varray[j+12],tf->uv[3]);
+ copy_v2_v2(&varray[j+14],tf->uv[0]);
+ j+=16;
}
}
+}
- for( i = 0; i < object->nindices; i++ ) {
- if( object->indices[i].element == -1 ) {
- object->indices[i].element = object->nelements + object->nlooseverts;
- object->nlooseverts++;
+/* get the DerivedMesh's MCols; choose (in decreasing order of
+ preference) from CD_ID_MCOL, CD_WEIGHT_MCOL, or CD_MCOL */
+static MCol *gpu_buffer_color_type(DerivedMesh *dm)
+{
+ MCol *c;
+ int type;
+
+ type = CD_ID_MCOL;
+ c = DM_get_face_data_layer(dm, type);
+ if(!c) {
+ type = CD_WEIGHT_MCOL;
+ c = DM_get_face_data_layer(dm, type);
+ if(!c) {
+ type = CD_MCOL;
+ c = DM_get_face_data_layer(dm, type);
}
}
-#undef ADDLINK
- MEM_freeN(index);
- return object;
+ dm->drawObject->colType = type;
+ return c;
}
-void GPU_drawobject_free( DerivedMesh *dm )
+typedef enum {
+ GPU_BUFFER_VERTEX = 0,
+ GPU_BUFFER_NORMAL,
+ GPU_BUFFER_COLOR,
+ GPU_BUFFER_UV,
+ GPU_BUFFER_EDGE,
+ GPU_BUFFER_UVEDGE,
+} GPUBufferType;
+
+typedef struct {
+ GPUBufferCopyFunc copy;
+ GLenum gl_buffer_type;
+ int vector_size;
+} GPUBufferTypeSettings;
+
+const GPUBufferTypeSettings gpu_buffer_type_settings[] = {
+ {GPU_buffer_copy_vertex, GL_ARRAY_BUFFER_ARB, 3},
+ {GPU_buffer_copy_normal, GL_ARRAY_BUFFER_ARB, 3},
+ {GPU_buffer_copy_mcol, GL_ARRAY_BUFFER_ARB, 3},
+ {GPU_buffer_copy_uv, GL_ARRAY_BUFFER_ARB, 2},
+ {GPU_buffer_copy_edge, GL_ELEMENT_ARRAY_BUFFER_ARB, 2},
+ {GPU_buffer_copy_uvedge, GL_ELEMENT_ARRAY_BUFFER_ARB, 4}
+};
+
+/* get the GPUDrawObject buffer associated with a type */
+static GPUBuffer **gpu_drawobject_buffer_from_type(GPUDrawObject *gdo, GPUBufferType type)
+{
+ switch(type) {
+ case GPU_BUFFER_VERTEX:
+ return &gdo->points;
+ case GPU_BUFFER_NORMAL:
+ return &gdo->normals;
+ case GPU_BUFFER_COLOR:
+ return &gdo->colors;
+ case GPU_BUFFER_UV:
+ return &gdo->uv;
+ case GPU_BUFFER_EDGE:
+ return &gdo->edges;
+ case GPU_BUFFER_UVEDGE:
+ return &gdo->uvedges;
+ default:
+ return NULL;
+ }
+}
+
+/* get the amount of space to allocate for a buffer of a particular type */
+static int gpu_buffer_size_from_type(DerivedMesh *dm, GPUBufferType type)
+{
+ switch(type) {
+ case GPU_BUFFER_VERTEX:
+ return sizeof(float)*3 * (dm->drawObject->tot_triangle_point + dm->drawObject->tot_loose_point);
+ case GPU_BUFFER_NORMAL:
+ return sizeof(float)*3*dm->drawObject->tot_triangle_point;
+ case GPU_BUFFER_COLOR:
+ return sizeof(char)*3*dm->drawObject->tot_triangle_point;
+ case GPU_BUFFER_UV:
+ return sizeof(float)*2*dm->drawObject->tot_triangle_point;
+ case GPU_BUFFER_EDGE:
+ return sizeof(int)*2*dm->drawObject->totedge;
+ case GPU_BUFFER_UVEDGE:
+ /* each face gets 3 points, 3 edges per triangle, and
+ each edge has its own, non-shared coords, so each
+ tri corner needs minimum of 4 floats, quads used
+ less so here we can over allocate and assume all
+ tris. */
+ return sizeof(float) * dm->drawObject->tot_triangle_point;
+ default:
+ return -1;
+ }
+}
+
+/* call gpu_buffer_setup with settings for a particular type of buffer */
+static GPUBuffer *gpu_buffer_setup_type(DerivedMesh *dm, GPUBufferType type)
+{
+ const GPUBufferTypeSettings *ts;
+ void *user_data = NULL;
+ GPUBuffer *buf;
+
+ ts = &gpu_buffer_type_settings[type];
+
+ /* special handling for MCol and UV buffers */
+ if(type == GPU_BUFFER_COLOR) {
+ if(!(user_data = gpu_buffer_color_type(dm)))
+ return NULL;
+ }
+ else if(type == GPU_BUFFER_UV) {
+ if(!DM_get_face_data_layer(dm, CD_MTFACE))
+ return NULL;
+ }
+
+ buf = gpu_buffer_setup(dm, dm->drawObject, ts->vector_size,
+ gpu_buffer_size_from_type(dm, type),
+ ts->gl_buffer_type, user_data, ts->copy);
+
+ return buf;
+}
+
+/* get the buffer of `type', initializing the GPUDrawObject and
+ buffer if needed */
+static GPUBuffer *gpu_buffer_setup_common(DerivedMesh *dm, GPUBufferType type)
{
- GPUDrawObject *object;
+ GPUBuffer **buf;
+
+ if(!dm->drawObject)
+ dm->drawObject = GPU_drawobject_new(dm);
+
+ buf = gpu_drawobject_buffer_from_type(dm->drawObject, type);
+ if(!(*buf))
+ *buf = gpu_buffer_setup_type(dm, type);
- DEBUG_VBO("GPU_drawobject_free\n");
+ return *buf;
+}
- if( dm == 0 )
+void GPU_vertex_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_VERTEX))
return;
- object = dm->drawObject;
- if( object == 0 )
+
+ glEnableClientState(GL_VERTEX_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->points->id);
+ glVertexPointer(3, GL_FLOAT, 0, 0);
+ }
+ else {
+ glVertexPointer(3, GL_FLOAT, 0, dm->drawObject->points->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_VERTEX_STATE;
+}
+
+void GPU_normal_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_NORMAL))
+ return;
+
+ glEnableClientState(GL_NORMAL_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->normals->id);
+ glNormalPointer(GL_FLOAT, 0, 0);
+ }
+ else {
+ glNormalPointer(GL_FLOAT, 0, dm->drawObject->normals->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_NORMAL_STATE;
+}
+
+void GPU_uv_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_UV))
+ return;
+
+ glEnableClientState(GL_TEXTURE_COORD_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->uv->id);
+ glTexCoordPointer(2, GL_FLOAT, 0, 0);
+ }
+ else {
+ glTexCoordPointer(2, GL_FLOAT, 0, dm->drawObject->uv->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_TEXCOORD_STATE;
+}
+
+void GPU_color_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_COLOR))
+ return;
+
+ glEnableClientState(GL_COLOR_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->colors->id);
+ glColorPointer(3, GL_UNSIGNED_BYTE, 0, 0);
+ }
+ else {
+ glColorPointer(3, GL_UNSIGNED_BYTE, 0, dm->drawObject->colors->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_COLOR_STATE;
+}
+
+void GPU_edge_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_EDGE))
+ return;
+
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_VERTEX))
+ return;
+
+ glEnableClientState(GL_VERTEX_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->points->id);
+ glVertexPointer(3, GL_FLOAT, 0, 0);
+ }
+ else {
+ glVertexPointer(3, GL_FLOAT, 0, dm->drawObject->points->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_VERTEX_STATE;
+
+ if(useVBOs)
+ glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, dm->drawObject->edges->id);
+
+ GLStates |= GPU_BUFFER_ELEMENT_STATE;
+}
+
+void GPU_uvedge_setup(DerivedMesh *dm)
+{
+ if(!gpu_buffer_setup_common(dm, GPU_BUFFER_UVEDGE))
return;
- MEM_freeN(object->materials);
- MEM_freeN(object->faceRemap);
- MEM_freeN(object->indices);
- MEM_freeN(object->indexMem);
- GPU_buffer_free( object->vertices, globalPool );
- GPU_buffer_free( object->normals, globalPool );
- GPU_buffer_free( object->uv, globalPool );
- GPU_buffer_free( object->colors, globalPool );
- GPU_buffer_free( object->edges, globalPool );
- GPU_buffer_free( object->uvedges, globalPool );
-
- MEM_freeN(object);
- dm->drawObject = 0;
+ glEnableClientState(GL_VERTEX_ARRAY);
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, dm->drawObject->uvedges->id);
+ glVertexPointer(2, GL_FLOAT, 0, 0);
+ }
+ else {
+ glVertexPointer(2, GL_FLOAT, 0, dm->drawObject->uvedges->pointer);
+ }
+
+ GLStates |= GPU_BUFFER_VERTEX_STATE;
+}
+
+static int GPU_typesize(int type) {
+ switch(type) {
+ case GL_FLOAT:
+ return sizeof(float);
+ case GL_INT:
+ return sizeof(int);
+ case GL_UNSIGNED_INT:
+ return sizeof(unsigned int);
+ case GL_BYTE:
+ return sizeof(char);
+ case GL_UNSIGNED_BYTE:
+ return sizeof(unsigned char);
+ default:
+ return 0;
+ }
+}
+
+int GPU_attrib_element_size(GPUAttrib data[], int numdata) {
+ int i, elementsize = 0;
+
+ for(i = 0; i < numdata; i++) {
+ int typesize = GPU_typesize(data[i].type);
+ if(typesize != 0)
+ elementsize += typesize*data[i].size;
+ }
+ return elementsize;
+}
+
+void GPU_interleaved_attrib_setup(GPUBuffer *buffer, GPUAttrib data[], int numdata) {
+ int i;
+ int elementsize;
+ intptr_t offset = 0;
+
+ for(i = 0; i < MAX_GPU_ATTRIB_DATA; i++) {
+ if(attribData[i].index != -1) {
+ glDisableVertexAttribArrayARB(attribData[i].index);
+ }
+ else
+ break;
+ }
+ elementsize = GPU_attrib_element_size(data, numdata);
+
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, buffer->id);
+ for(i = 0; i < numdata; i++) {
+ glEnableVertexAttribArrayARB(data[i].index);
+ glVertexAttribPointerARB(data[i].index, data[i].size, data[i].type,
+ GL_FALSE, elementsize, (void *)offset);
+ offset += data[i].size*GPU_typesize(data[i].type);
+
+ attribData[i].index = data[i].index;
+ attribData[i].size = data[i].size;
+ attribData[i].type = data[i].type;
+ }
+ attribData[numdata].index = -1;
+ }
+ else {
+ for(i = 0; i < numdata; i++) {
+ glEnableVertexAttribArrayARB(data[i].index);
+ glVertexAttribPointerARB(data[i].index, data[i].size, data[i].type,
+ GL_FALSE, elementsize, (char *)buffer->pointer + offset);
+ offset += data[i].size*GPU_typesize(data[i].type);
+ }
+ }
}
+
+void GPU_buffer_unbind(void)
+{
+ int i;
+
+ if(GLStates & GPU_BUFFER_VERTEX_STATE)
+ glDisableClientState(GL_VERTEX_ARRAY);
+ if(GLStates & GPU_BUFFER_NORMAL_STATE)
+ glDisableClientState(GL_NORMAL_ARRAY);
+ if(GLStates & GPU_BUFFER_TEXCOORD_STATE)
+ glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+ if(GLStates & GPU_BUFFER_COLOR_STATE)
+ glDisableClientState(GL_COLOR_ARRAY);
+ if(GLStates & GPU_BUFFER_ELEMENT_STATE) {
+ if(useVBOs) {
+ glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 0);
+ }
+ }
+ GLStates &= !(GPU_BUFFER_VERTEX_STATE | GPU_BUFFER_NORMAL_STATE |
+ GPU_BUFFER_TEXCOORD_STATE | GPU_BUFFER_COLOR_STATE |
+ GPU_BUFFER_ELEMENT_STATE);
+
+ for(i = 0; i < MAX_GPU_ATTRIB_DATA; i++) {
+ if(attribData[i].index != -1) {
+ glDisableVertexAttribArrayARB(attribData[i].index);
+ }
+ else
+ break;
+ }
+
+ if(useVBOs)
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+}
+
+/* confusion: code in cdderivedmesh calls both GPU_color_setup and
+ GPU_color3_upload; both of these set the `colors' buffer, so seems
+ like it will just needlessly overwrite? --nicholas */
+void GPU_color3_upload(DerivedMesh *dm, unsigned char *data)
+{
+ if(dm->drawObject == 0)
+ dm->drawObject = GPU_drawobject_new(dm);
+ GPU_buffer_free(dm->drawObject->colors);
+
+ dm->drawObject->colors = gpu_buffer_setup(dm, dm->drawObject, 3,
+ sizeof(char)*3*dm->drawObject->tot_triangle_point,
+ GL_ARRAY_BUFFER_ARB, data, GPU_buffer_copy_color3);
+}
+
+/* this is used only in cdDM_drawFacesColored, which I think is no
+ longer used, so can probably remove this --nicholas */
+void GPU_color4_upload(DerivedMesh *UNUSED(dm), unsigned char *UNUSED(data))
+{
+ /*if(dm->drawObject == 0)
+ dm->drawObject = GPU_drawobject_new(dm);
+ GPU_buffer_free(dm->drawObject->colors);
+ dm->drawObject->colors = gpu_buffer_setup(dm, dm->drawObject, 3,
+ sizeof(char)*3*dm->drawObject->tot_triangle_point,
+ GL_ARRAY_BUFFER_ARB, data, GPU_buffer_copy_color4);*/
+}
+
+void GPU_color_switch(int mode)
+{
+ if(mode) {
+ if(!(GLStates & GPU_BUFFER_COLOR_STATE))
+ glEnableClientState(GL_COLOR_ARRAY);
+ GLStates |= GPU_BUFFER_COLOR_STATE;
+ }
+ else {
+ if(GLStates & GPU_BUFFER_COLOR_STATE)
+ glDisableClientState(GL_COLOR_ARRAY);
+ GLStates &= (!GPU_BUFFER_COLOR_STATE);
+ }
+}
+
+/* return 1 if drawing should be done using old immediate-mode
+ code, 0 otherwise */
+int GPU_buffer_legacy(DerivedMesh *dm)
+{
+ int test= (U.gameflags & USER_DISABLE_VBO);
+ if(test)
+ return 1;
+
+ if(dm->drawObject == 0)
+ dm->drawObject = GPU_drawobject_new(dm);
+ return dm->drawObject->legacy;
+}
+
+void *GPU_buffer_lock(GPUBuffer *buffer)
+{
+ float *varray;
+
+ if(!buffer)
+ return 0;
+
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, buffer->id);
+ varray = glMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
+ return varray;
+ }
+ else {
+ return buffer->pointer;
+ }
+}
+
+void *GPU_buffer_lock_stream(GPUBuffer *buffer)
+{
+ float *varray;
+
+ if(!buffer)
+ return 0;
+
+ if(useVBOs) {
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, buffer->id);
+ /* discard previous data, avoid stalling gpu */
+ glBufferDataARB(GL_ARRAY_BUFFER_ARB, buffer->size, 0, GL_STREAM_DRAW_ARB);
+ varray = glMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB);
+ return varray;
+ }
+ else {
+ return buffer->pointer;
+ }
+}
+
+void GPU_buffer_unlock(GPUBuffer *buffer)
+{
+ if(useVBOs) {
+ if(buffer) {
+ /* note: this operation can fail, could return
+ an error code from this function? */
+ glUnmapBufferARB(GL_ARRAY_BUFFER_ARB);
+ }
+ glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
+ }
+}
+
+/* used for drawing edges */
+void GPU_buffer_draw_elements(GPUBuffer *elements, unsigned int mode, int start, int count)
+{
+ glDrawElements(mode, count, GL_UNSIGNED_INT,
+ (useVBOs ?
+ (void*)(start * sizeof(unsigned int)) :
+ ((int*)elements->pointer) + start));
+}
+
+
+/* XXX: the rest of the code in this file is used for optimized PBVH
+ drawing and doesn't interact at all with the buffer code above */
+
/* Convenience struct for building the VBO. */
typedef struct {
float co[3];
@@ -484,7 +1351,7 @@ void *GPU_build_mesh_buffers(GHash *map, MVert *mvert, MFace *mface,
for(i = 0, tottri = 0; i < totface; ++i)
tottri += mface[face_indices[i]].v4 ? 2 : 1;
- if(GL_ARB_vertex_buffer_object && !(U.gameflags & USER_DISABLE_VBO))
+ if(GLEW_ARB_vertex_buffer_object && !(U.gameflags & USER_DISABLE_VBO))
glGenBuffersARB(1, &buffers->index_buf);
if(buffers->index_buf) {
@@ -615,7 +1482,7 @@ void *GPU_build_grid_buffers(DMGridData **UNUSED(grids), int *UNUSED(grid_indice
totquad= (gridsize-1)*(gridsize-1)*totgrid;
/* Generate index buffer object */
- if(GL_ARB_vertex_buffer_object && !(U.gameflags & USER_DISABLE_VBO))
+ if(GLEW_ARB_vertex_buffer_object && !(U.gameflags & USER_DISABLE_VBO))
glGenBuffersARB(1, &buffers->index_buf);
if(buffers->index_buf) {
@@ -781,887 +1648,3 @@ void GPU_free_buffers(void *buffers_v)
}
}
-static GPUBuffer *GPU_buffer_setup( DerivedMesh *dm, GPUDrawObject *object, int vector_size, int size, GLenum target, void *user, void (*copy_f)(DerivedMesh *, float *, int *, int *, void *) )
-{
- GPUBuffer *buffer;
- float *varray;
- int redir[MAX_MATERIALS];
- int *index;
- int i;
- int success;
- GLboolean uploaded;
-
- DEBUG_VBO("GPU_buffer_setup\n");
-
- if( globalPool == 0 )
- globalPool = GPU_buffer_pool_new();
-
- buffer = GPU_buffer_alloc(size,globalPool);
- if( buffer == 0 ) {
- dm->drawObject->legacy = 1;
- }
- if( dm->drawObject->legacy ) {
- return 0;
- }
-
- index = MEM_mallocN(sizeof(int)*object->nmaterials,"GPU_buffer_setup");
- for( i = 0; i < object->nmaterials; i++ ) {
- index[i] = object->materials[i].start*vector_size;
- redir[object->materials[i].mat_nr] = i;
- }
-
- if( useVBOs ) {
- success = 0;
- while( success == 0 ) {
- glBindBufferARB( target, buffer->id );
- glBufferDataARB( target, buffer->size, 0, GL_STATIC_DRAW_ARB ); /* discard previous data, avoid stalling gpu */
- varray = glMapBufferARB( target, GL_WRITE_ONLY_ARB );
- if( varray == 0 ) {
- DEBUG_VBO( "Failed to map buffer to client address space\n" );
- GPU_buffer_free( buffer, globalPool );
- GPU_buffer_pool_delete_last( globalPool );
- buffer= NULL;
- if( globalPool->size > 0 ) {
- GPU_buffer_pool_delete_last( globalPool );
- buffer = GPU_buffer_alloc( size, globalPool );
- if( buffer == 0 ) {
- dm->drawObject->legacy = 1;
- success = 1;
- }
- }
- else {
- dm->drawObject->legacy = 1;
- success = 1;
- }
- }
- else {
- success = 1;
- }
- }
-
- if( dm->drawObject->legacy == 0 ) {
- uploaded = GL_FALSE;
- while( !uploaded ) {
- (*copy_f)( dm, varray, index, redir, user );
- uploaded = glUnmapBufferARB( target ); /* returns false if data got corruped during transfer */
- }
- }
- glBindBufferARB(target, 0);
- }
- else {
- if( buffer->pointer != 0 ) {
- varray = buffer->pointer;
- (*copy_f)( dm, varray, index, redir, user );
- }
- else {
- dm->drawObject->legacy = 1;
- }
- }
-
- MEM_freeN(index);
-
- return buffer;
-}
-
-static void GPU_buffer_copy_vertex(DerivedMesh *dm, float *varray, int *index, int *redir, void *UNUSED(user))
-{
- int start;
- int i, j, numfaces;
-
- MVert *mvert;
- MFace *mface;
-
- DEBUG_VBO("GPU_buffer_copy_vertex\n");
-
- mvert = dm->getVertArray(dm);
- mface = dm->getFaceArray(dm);
-
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- start = index[redir[mface[i].mat_nr]];
- if( mface[i].v4 )
- index[redir[mface[i].mat_nr]] += 18;
- else
- index[redir[mface[i].mat_nr]] += 9;
-
- /* v1 v2 v3 */
- VECCOPY(&varray[start],mvert[mface[i].v1].co);
- VECCOPY(&varray[start+3],mvert[mface[i].v2].co);
- VECCOPY(&varray[start+6],mvert[mface[i].v3].co);
-
- if( mface[i].v4 ) {
- /* v3 v4 v1 */
- VECCOPY(&varray[start+9],mvert[mface[i].v3].co);
- VECCOPY(&varray[start+12],mvert[mface[i].v4].co);
- VECCOPY(&varray[start+15],mvert[mface[i].v1].co);
- }
- }
- j = dm->drawObject->nelements*3;
- for( i = 0; i < dm->drawObject->nindices; i++ ) {
- if( dm->drawObject->indices[i].element >= dm->drawObject->nelements ) {
- VECCOPY(&varray[j],mvert[i].co);
- j+=3;
- }
- }
-}
-
-static GPUBuffer *GPU_buffer_vertex( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_buffer_vertex\n");
-
- return GPU_buffer_setup( dm, dm->drawObject, 3, sizeof(float)*3*(dm->drawObject->nelements+dm->drawObject->nlooseverts), GL_ARRAY_BUFFER_ARB, 0, GPU_buffer_copy_vertex);
-}
-
-static void GPU_buffer_copy_normal(DerivedMesh *dm, float *varray, int *index, int *redir, void *UNUSED(user))
-{
- int i, numfaces;
- int start;
- float norm[3];
-
- float *nors= dm->getFaceDataArray(dm, CD_NORMAL);
- MVert *mvert = dm->getVertArray(dm);
- MFace *mface = dm->getFaceArray(dm);
-
- DEBUG_VBO("GPU_buffer_copy_normal\n");
-
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- const int smoothnormal = (mface[i].flag & ME_SMOOTH);
-
- start = index[redir[mface[i].mat_nr]];
- if( mface[i].v4 )
- index[redir[mface[i].mat_nr]] += 18;
- else
- index[redir[mface[i].mat_nr]] += 9;
-
- /* v1 v2 v3 */
- if(smoothnormal) {
- VECCOPY(&varray[start],mvert[mface[i].v1].no);
- VECCOPY(&varray[start+3],mvert[mface[i].v2].no);
- VECCOPY(&varray[start+6],mvert[mface[i].v3].no);
- }
- else {
- if( nors ) {
- VECCOPY(&varray[start],&nors[i*3]);
- VECCOPY(&varray[start+3],&nors[i*3]);
- VECCOPY(&varray[start+6],&nors[i*3]);
- }
- if( mface[i].v4 )
- normal_quad_v3( norm,mvert[mface[i].v1].co, mvert[mface[i].v2].co, mvert[mface[i].v3].co, mvert[mface[i].v4].co);
- else
- normal_tri_v3( norm,mvert[mface[i].v1].co, mvert[mface[i].v2].co, mvert[mface[i].v3].co);
- VECCOPY(&varray[start],norm);
- VECCOPY(&varray[start+3],norm);
- VECCOPY(&varray[start+6],norm);
- }
-
- if( mface[i].v4 ) {
- /* v3 v4 v1 */
- if(smoothnormal) {
- VECCOPY(&varray[start+9],mvert[mface[i].v3].no);
- VECCOPY(&varray[start+12],mvert[mface[i].v4].no);
- VECCOPY(&varray[start+15],mvert[mface[i].v1].no);
- }
- else {
- VECCOPY(&varray[start+9],norm);
- VECCOPY(&varray[start+12],norm);
- VECCOPY(&varray[start+15],norm);
- }
- }
- }
-}
-
-static GPUBuffer *GPU_buffer_normal( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_buffer_normal\n");
-
- return GPU_buffer_setup( dm, dm->drawObject, 3, sizeof(float)*3*dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, 0, GPU_buffer_copy_normal);
-}
-
-static void GPU_buffer_copy_uv(DerivedMesh *dm, float *varray, int *index, int *redir, void *UNUSED(user))
-{
- int start;
- int i, numfaces;
-
- MTFace *mtface;
- MFace *mface;
-
- DEBUG_VBO("GPU_buffer_copy_uv\n");
-
- mface = dm->getFaceArray(dm);
- mtface = DM_get_face_data_layer(dm, CD_MTFACE);
-
- if( mtface == 0 ) {
- DEBUG_VBO("Texture coordinates do not exist for this mesh");
- return;
- }
-
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- start = index[redir[mface[i].mat_nr]];
- if( mface[i].v4 )
- index[redir[mface[i].mat_nr]] += 12;
- else
- index[redir[mface[i].mat_nr]] += 6;
-
- /* v1 v2 v3 */
- VECCOPY2D(&varray[start],mtface[i].uv[0]);
- VECCOPY2D(&varray[start+2],mtface[i].uv[1]);
- VECCOPY2D(&varray[start+4],mtface[i].uv[2]);
-
- if( mface[i].v4 ) {
- /* v3 v4 v1 */
- VECCOPY2D(&varray[start+6],mtface[i].uv[2]);
- VECCOPY2D(&varray[start+8],mtface[i].uv[3]);
- VECCOPY2D(&varray[start+10],mtface[i].uv[0]);
- }
- }
-}
-
-static GPUBuffer *GPU_buffer_uv( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_buffer_uv\n");
- if( DM_get_face_data_layer(dm, CD_MTFACE) != 0 )
- return GPU_buffer_setup( dm, dm->drawObject, 2, sizeof(float)*2*dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, 0, GPU_buffer_copy_uv);
- else
- return 0;
-}
-
-static void GPU_buffer_copy_color3( DerivedMesh *dm, float *varray_, int *index, int *redir, void *user )
-{
- int i, numfaces;
- unsigned char *varray = (unsigned char *)varray_;
- unsigned char *mcol = (unsigned char *)user;
- MFace *mface = dm->getFaceArray(dm);
-
- DEBUG_VBO("GPU_buffer_copy_color3\n");
-
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- int start = index[redir[mface[i].mat_nr]];
- if( mface[i].v4 )
- index[redir[mface[i].mat_nr]] += 18;
- else
- index[redir[mface[i].mat_nr]] += 9;
-
- /* v1 v2 v3 */
- VECCOPY(&varray[start],&mcol[i*12]);
- VECCOPY(&varray[start+3],&mcol[i*12+3]);
- VECCOPY(&varray[start+6],&mcol[i*12+6]);
- if( mface[i].v4 ) {
- /* v3 v4 v1 */
- VECCOPY(&varray[start+9],&mcol[i*12+6]);
- VECCOPY(&varray[start+12],&mcol[i*12+9]);
- VECCOPY(&varray[start+15],&mcol[i*12]);
- }
- }
-}
-
-static void GPU_buffer_copy_color4( DerivedMesh *dm, float *varray_, int *index, int *redir, void *user )
-{
- int i, numfaces;
- unsigned char *varray = (unsigned char *)varray_;
- unsigned char *mcol = (unsigned char *)user;
- MFace *mface = dm->getFaceArray(dm);
-
- DEBUG_VBO("GPU_buffer_copy_color4\n");
-
- numfaces= dm->getNumFaces(dm);
- for( i=0; i < numfaces; i++ ) {
- int start = index[redir[mface[i].mat_nr]];
- if( mface[i].v4 )
- index[redir[mface[i].mat_nr]] += 18;
- else
- index[redir[mface[i].mat_nr]] += 9;
-
- /* v1 v2 v3 */
- VECCOPY(&varray[start],&mcol[i*16]);
- VECCOPY(&varray[start+3],&mcol[i*16+4]);
- VECCOPY(&varray[start+6],&mcol[i*16+8]);
- if( mface[i].v4 ) {
- /* v3 v4 v1 */
- VECCOPY(&varray[start+9],&mcol[i*16+8]);
- VECCOPY(&varray[start+12],&mcol[i*16+12]);
- VECCOPY(&varray[start+15],&mcol[i*16]);
- }
- }
-}
-
-static GPUBuffer *GPU_buffer_color( DerivedMesh *dm )
-{
- unsigned char *colors;
- int i, numfaces;
- MCol *mcol;
- GPUBuffer *result;
- DEBUG_VBO("GPU_buffer_color\n");
-
- mcol = DM_get_face_data_layer(dm, CD_ID_MCOL);
- dm->drawObject->colType = CD_ID_MCOL;
- if(!mcol) {
- mcol = DM_get_face_data_layer(dm, CD_WEIGHT_MCOL);
- dm->drawObject->colType = CD_WEIGHT_MCOL;
- }
- if(!mcol) {
- mcol = DM_get_face_data_layer(dm, CD_MCOL);
- dm->drawObject->colType = CD_MCOL;
- }
-
- numfaces= dm->getNumFaces(dm);
- colors = MEM_mallocN(numfaces*12*sizeof(unsigned char), "GPU_buffer_color");
- for( i=0; i < numfaces*4; i++ ) {
- colors[i*3] = mcol[i].b;
- colors[i*3+1] = mcol[i].g;
- colors[i*3+2] = mcol[i].r;
- }
-
- result = GPU_buffer_setup( dm, dm->drawObject, 3, sizeof(char)*3*dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, colors, GPU_buffer_copy_color3 );
-
- MEM_freeN(colors);
- return result;
-}
-
-static void GPU_buffer_copy_edge(DerivedMesh *dm, float *varray, int *UNUSED(index), int *UNUSED(redir), void *UNUSED(user))
-{
- int i;
-
- MEdge *medge;
- unsigned int *varray_ = (unsigned int *)varray;
- int numedges;
-
- DEBUG_VBO("GPU_buffer_copy_edge\n");
-
- medge = dm->getEdgeArray(dm);
-
- numedges= dm->getNumEdges(dm);
- for(i = 0; i < numedges; i++) {
- varray_[i*2] = (unsigned int)dm->drawObject->indices[medge[i].v1].element;
- varray_[i*2+1] = (unsigned int)dm->drawObject->indices[medge[i].v2].element;
- }
-}
-
-static GPUBuffer *GPU_buffer_edge( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_buffer_edge\n");
-
- return GPU_buffer_setup( dm, dm->drawObject, 2, sizeof(int)*2*dm->drawObject->nedges, GL_ELEMENT_ARRAY_BUFFER_ARB, 0, GPU_buffer_copy_edge);
-}
-
-static void GPU_buffer_copy_uvedge(DerivedMesh *dm, float *varray, int *UNUSED(index), int *UNUSED(redir), void *UNUSED(user))
-{
- MTFace *tf = DM_get_face_data_layer(dm, CD_MTFACE);
- int i, j=0;
-
- DEBUG_VBO("GPU_buffer_copy_uvedge\n");
-
- if(tf) {
- for(i = 0; i < dm->numFaceData; i++, tf++) {
- MFace mf;
- dm->getFace(dm,i,&mf);
-
- VECCOPY2D(&varray[j],tf->uv[0]);
- VECCOPY2D(&varray[j+2],tf->uv[1]);
-
- VECCOPY2D(&varray[j+4],tf->uv[1]);
- VECCOPY2D(&varray[j+6],tf->uv[2]);
-
- if(!mf.v4) {
- VECCOPY2D(&varray[j+8],tf->uv[2]);
- VECCOPY2D(&varray[j+10],tf->uv[0]);
- j+=12;
- } else {
- VECCOPY2D(&varray[j+8],tf->uv[2]);
- VECCOPY2D(&varray[j+10],tf->uv[3]);
-
- VECCOPY2D(&varray[j+12],tf->uv[3]);
- VECCOPY2D(&varray[j+14],tf->uv[0]);
- j+=16;
- }
- }
- }
- else {
- DEBUG_VBO("Could not get MTFACE data layer");
- }
-}
-
-static GPUBuffer *GPU_buffer_uvedge( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_buffer_uvedge\n");
- /* logic here:
- * ...each face gets 3 'nelements'
- * ...3 edges per triangle
- * ...each edge has its own, non-shared coords.
- * so each tri corner needs minimum of 4 floats, quads used less so here we can over allocate and assume all tris.
- * */
- return GPU_buffer_setup( dm, dm->drawObject, 4, 4 * sizeof(float) * dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, 0, GPU_buffer_copy_uvedge);
-}
-
-
-void GPU_vertex_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_vertex_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->vertices == 0 )
- dm->drawObject->vertices = GPU_buffer_vertex( dm );
- if( dm->drawObject->vertices == 0 ) {
- DEBUG_VBO( "Failed to setup vertices\n" );
- return;
- }
-
- glEnableClientState( GL_VERTEX_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->vertices->id );
- glVertexPointer( 3, GL_FLOAT, 0, 0 );
- }
- else {
- glVertexPointer( 3, GL_FLOAT, 0, dm->drawObject->vertices->pointer );
- }
-
- GLStates |= GPU_BUFFER_VERTEX_STATE;
-}
-
-void GPU_normal_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_normal_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->normals == 0 )
- dm->drawObject->normals = GPU_buffer_normal( dm );
- if( dm->drawObject->normals == 0 ) {
- DEBUG_VBO( "Failed to setup normals\n" );
- return;
- }
- glEnableClientState( GL_NORMAL_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->normals->id );
- glNormalPointer( GL_FLOAT, 0, 0 );
- }
- else {
- glNormalPointer( GL_FLOAT, 0, dm->drawObject->normals->pointer );
- }
-
- GLStates |= GPU_BUFFER_NORMAL_STATE;
-}
-
-void GPU_uv_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_uv_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->uv == 0 )
- dm->drawObject->uv = GPU_buffer_uv( dm );
-
- if( dm->drawObject->uv != 0 ) {
- glEnableClientState( GL_TEXTURE_COORD_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->uv->id );
- glTexCoordPointer( 2, GL_FLOAT, 0, 0 );
- }
- else {
- glTexCoordPointer( 2, GL_FLOAT, 0, dm->drawObject->uv->pointer );
- }
-
- GLStates |= GPU_BUFFER_TEXCOORD_STATE;
- }
-}
-
-void GPU_color_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_color_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->colors == 0 )
- dm->drawObject->colors = GPU_buffer_color( dm );
- if( dm->drawObject->colors == 0 ) {
- DEBUG_VBO( "Failed to setup colors\n" );
- return;
- }
- glEnableClientState( GL_COLOR_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->colors->id );
- glColorPointer( 3, GL_UNSIGNED_BYTE, 0, 0 );
- }
- else {
- glColorPointer( 3, GL_UNSIGNED_BYTE, 0, dm->drawObject->colors->pointer );
- }
-
- GLStates |= GPU_BUFFER_COLOR_STATE;
-}
-
-void GPU_edge_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_edge_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->edges == 0 )
- dm->drawObject->edges = GPU_buffer_edge( dm );
- if( dm->drawObject->edges == 0 ) {
- DEBUG_VBO( "Failed to setup edges\n" );
- return;
- }
- if( dm->drawObject->vertices == 0 )
- dm->drawObject->vertices = GPU_buffer_vertex( dm );
- if( dm->drawObject->vertices == 0 ) {
- DEBUG_VBO( "Failed to setup vertices\n" );
- return;
- }
-
- glEnableClientState( GL_VERTEX_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->vertices->id );
- glVertexPointer( 3, GL_FLOAT, 0, 0 );
- }
- else {
- glVertexPointer( 3, GL_FLOAT, 0, dm->drawObject->vertices->pointer );
- }
-
- GLStates |= GPU_BUFFER_VERTEX_STATE;
-
- if( useVBOs ) {
- glBindBufferARB( GL_ELEMENT_ARRAY_BUFFER_ARB, dm->drawObject->edges->id );
- }
-
- GLStates |= GPU_BUFFER_ELEMENT_STATE;
-}
-
-void GPU_uvedge_setup( DerivedMesh *dm )
-{
- DEBUG_VBO("GPU_uvedge_setup\n");
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new( dm );
- if( dm->drawObject->uvedges == 0 )
- dm->drawObject->uvedges = GPU_buffer_uvedge( dm );
- if( dm->drawObject->uvedges == 0 ) {
- DEBUG_VBO( "Failed to setup UV edges\n" );
- return;
- }
-
- glEnableClientState( GL_VERTEX_ARRAY );
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, dm->drawObject->uvedges->id );
- glVertexPointer( 2, GL_FLOAT, 0, 0 );
- }
- else {
- glVertexPointer( 2, GL_FLOAT, 0, dm->drawObject->uvedges->pointer );
- }
-
- GLStates |= GPU_BUFFER_VERTEX_STATE;
-}
-
-void GPU_interleaved_setup( GPUBuffer *buffer, int data[] ) {
- int i;
- int elementsize = 0;
- intptr_t offset = 0;
-
- DEBUG_VBO("GPU_interleaved_setup\n");
-
- for( i = 0; data[i] != GPU_BUFFER_INTER_END; i++ ) {
- switch( data[i] ) {
- case GPU_BUFFER_INTER_V3F:
- elementsize += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_N3F:
- elementsize += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_T2F:
- elementsize += 2*sizeof(float);
- break;
- case GPU_BUFFER_INTER_C3UB:
- elementsize += 3*sizeof(unsigned char);
- break;
- case GPU_BUFFER_INTER_C4UB:
- elementsize += 4*sizeof(unsigned char);
- break;
- default:
- DEBUG_VBO( "Unknown element in data type array in GPU_interleaved_setup\n" );
- }
- }
-
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, buffer->id );
- for( i = 0; data[i] != GPU_BUFFER_INTER_END; i++ ) {
- switch( data[i] ) {
- case GPU_BUFFER_INTER_V3F:
- glEnableClientState( GL_VERTEX_ARRAY );
- glVertexPointer( 3, GL_FLOAT, elementsize, (void *)offset );
- GLStates |= GPU_BUFFER_VERTEX_STATE;
- offset += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_N3F:
- glEnableClientState( GL_NORMAL_ARRAY );
- glNormalPointer( GL_FLOAT, elementsize, (void *)offset );
- GLStates |= GPU_BUFFER_NORMAL_STATE;
- offset += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_T2F:
- glEnableClientState( GL_TEXTURE_COORD_ARRAY );
- glTexCoordPointer( 2, GL_FLOAT, elementsize, (void *)offset );
- GLStates |= GPU_BUFFER_TEXCOORD_STATE;
- offset += 2*sizeof(float);
- break;
- case GPU_BUFFER_INTER_C3UB:
- glEnableClientState( GL_COLOR_ARRAY );
- glColorPointer( 3, GL_UNSIGNED_BYTE, elementsize, (void *)offset );
- GLStates |= GPU_BUFFER_COLOR_STATE;
- offset += 3*sizeof(unsigned char);
- break;
- case GPU_BUFFER_INTER_C4UB:
- glEnableClientState( GL_COLOR_ARRAY );
- glColorPointer( 4, GL_UNSIGNED_BYTE, elementsize, (void *)offset );
- GLStates |= GPU_BUFFER_COLOR_STATE;
- offset += 4*sizeof(unsigned char);
- break;
- }
- }
- }
- else {
- for( i = 0; data[i] != GPU_BUFFER_INTER_END; i++ ) {
- switch( data[i] ) {
- case GPU_BUFFER_INTER_V3F:
- glEnableClientState( GL_VERTEX_ARRAY );
- glVertexPointer( 3, GL_FLOAT, elementsize, offset+(char *)buffer->pointer );
- GLStates |= GPU_BUFFER_VERTEX_STATE;
- offset += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_N3F:
- glEnableClientState( GL_NORMAL_ARRAY );
- glNormalPointer( GL_FLOAT, elementsize, offset+(char *)buffer->pointer );
- GLStates |= GPU_BUFFER_NORMAL_STATE;
- offset += 3*sizeof(float);
- break;
- case GPU_BUFFER_INTER_T2F:
- glEnableClientState( GL_TEXTURE_COORD_ARRAY );
- glTexCoordPointer( 2, GL_FLOAT, elementsize, offset+(char *)buffer->pointer );
- GLStates |= GPU_BUFFER_TEXCOORD_STATE;
- offset += 2*sizeof(float);
- break;
- case GPU_BUFFER_INTER_C3UB:
- glEnableClientState( GL_COLOR_ARRAY );
- glColorPointer( 3, GL_UNSIGNED_BYTE, elementsize, offset+(char *)buffer->pointer );
- GLStates |= GPU_BUFFER_COLOR_STATE;
- offset += 3*sizeof(unsigned char);
- break;
- case GPU_BUFFER_INTER_C4UB:
- glEnableClientState( GL_COLOR_ARRAY );
- glColorPointer( 4, GL_UNSIGNED_BYTE, elementsize, offset+(char *)buffer->pointer );
- GLStates |= GPU_BUFFER_COLOR_STATE;
- offset += 4*sizeof(unsigned char);
- break;
- }
- }
- }
-}
-
-static int GPU_typesize( int type ) {
- switch( type ) {
- case GL_FLOAT:
- return sizeof(float);
- case GL_INT:
- return sizeof(int);
- case GL_UNSIGNED_INT:
- return sizeof(unsigned int);
- case GL_BYTE:
- return sizeof(char);
- case GL_UNSIGNED_BYTE:
- return sizeof(unsigned char);
- default:
- return 0;
- }
-}
-
-int GPU_attrib_element_size( GPUAttrib data[], int numdata ) {
- int i, elementsize = 0;
-
- for( i = 0; i < numdata; i++ ) {
- int typesize = GPU_typesize(data[i].type);
- if( typesize == 0 )
- DEBUG_VBO( "Unknown element in data type array in GPU_attrib_element_size\n" );
- else {
- elementsize += typesize*data[i].size;
- }
- }
- return elementsize;
-}
-
-void GPU_interleaved_attrib_setup( GPUBuffer *buffer, GPUAttrib data[], int numdata ) {
- int i;
- int elementsize;
- intptr_t offset = 0;
-
- DEBUG_VBO("GPU_interleaved_attrib_setup\n");
-
- for( i = 0; i < MAX_GPU_ATTRIB_DATA; i++ ) {
- if( attribData[i].index != -1 ) {
- glDisableVertexAttribArrayARB( attribData[i].index );
- }
- else
- break;
- }
- elementsize = GPU_attrib_element_size( data, numdata );
-
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, buffer->id );
- for( i = 0; i < numdata; i++ ) {
- glEnableVertexAttribArrayARB( data[i].index );
- glVertexAttribPointerARB( data[i].index, data[i].size, data[i].type, GL_FALSE, elementsize, (void *)offset );
- offset += data[i].size*GPU_typesize(data[i].type);
-
- attribData[i].index = data[i].index;
- attribData[i].size = data[i].size;
- attribData[i].type = data[i].type;
- }
- attribData[numdata].index = -1;
- }
- else {
- for( i = 0; i < numdata; i++ ) {
- glEnableVertexAttribArrayARB( data[i].index );
- glVertexAttribPointerARB( data[i].index, data[i].size, data[i].type, GL_FALSE, elementsize, (char *)buffer->pointer + offset );
- offset += data[i].size*GPU_typesize(data[i].type);
- }
- }
-}
-
-
-void GPU_buffer_unbind(void)
-{
- int i;
- DEBUG_VBO("GPU_buffer_unbind\n");
-
- if( GLStates & GPU_BUFFER_VERTEX_STATE )
- glDisableClientState( GL_VERTEX_ARRAY );
- if( GLStates & GPU_BUFFER_NORMAL_STATE )
- glDisableClientState( GL_NORMAL_ARRAY );
- if( GLStates & GPU_BUFFER_TEXCOORD_STATE )
- glDisableClientState( GL_TEXTURE_COORD_ARRAY );
- if( GLStates & GPU_BUFFER_COLOR_STATE )
- glDisableClientState( GL_COLOR_ARRAY );
- if( GLStates & GPU_BUFFER_ELEMENT_STATE ) {
- if( useVBOs ) {
- glBindBufferARB( GL_ELEMENT_ARRAY_BUFFER_ARB, 0 );
- }
- }
- GLStates &= !(GPU_BUFFER_VERTEX_STATE | GPU_BUFFER_NORMAL_STATE | GPU_BUFFER_TEXCOORD_STATE | GPU_BUFFER_COLOR_STATE | GPU_BUFFER_ELEMENT_STATE);
-
- for( i = 0; i < MAX_GPU_ATTRIB_DATA; i++ ) {
- if( attribData[i].index != -1 ) {
- glDisableVertexAttribArrayARB( attribData[i].index );
- }
- else
- break;
- }
- if( GLStates != 0 ) {
- DEBUG_VBO( "Some weird OpenGL state is still set. Why?" );
- }
- if( useVBOs )
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, 0 );
-}
-
-void GPU_color3_upload( DerivedMesh *dm, unsigned char *data )
-{
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new(dm);
- GPU_buffer_free(dm->drawObject->colors,globalPool);
- dm->drawObject->colors = GPU_buffer_setup( dm, dm->drawObject, 3, sizeof(char)*3*dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, data, GPU_buffer_copy_color3 );
-}
-void GPU_color4_upload( DerivedMesh *dm, unsigned char *data )
-{
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new(dm);
- GPU_buffer_free(dm->drawObject->colors,globalPool);
- dm->drawObject->colors = GPU_buffer_setup( dm, dm->drawObject, 3, sizeof(char)*3*dm->drawObject->nelements, GL_ARRAY_BUFFER_ARB, data, GPU_buffer_copy_color4 );
-}
-
-void GPU_color_switch( int mode )
-{
- if( mode ) {
- if( !(GLStates & GPU_BUFFER_COLOR_STATE) )
- glEnableClientState( GL_COLOR_ARRAY );
- GLStates |= GPU_BUFFER_COLOR_STATE;
- }
- else {
- if( GLStates & GPU_BUFFER_COLOR_STATE )
- glDisableClientState( GL_COLOR_ARRAY );
- GLStates &= (!GPU_BUFFER_COLOR_STATE);
- }
-}
-
-int GPU_buffer_legacy( DerivedMesh *dm )
-{
- int test= (U.gameflags & USER_DISABLE_VBO);
- if( test )
- return 1;
-
- if( dm->drawObject == 0 )
- dm->drawObject = GPU_drawobject_new(dm);
- return dm->drawObject->legacy;
-}
-
-void *GPU_buffer_lock( GPUBuffer *buffer )
-{
- float *varray;
-
- DEBUG_VBO("GPU_buffer_lock\n");
- if( buffer == 0 ) {
- DEBUG_VBO( "Failed to lock NULL buffer\n" );
- return 0;
- }
-
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, buffer->id );
- varray = glMapBufferARB( GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB );
- if( varray == 0 ) {
- DEBUG_VBO( "Failed to map buffer to client address space\n" );
- }
- return varray;
- }
- else {
- return buffer->pointer;
- }
-}
-
-void *GPU_buffer_lock_stream( GPUBuffer *buffer )
-{
- float *varray;
-
- DEBUG_VBO("GPU_buffer_lock_stream\n");
- if( buffer == 0 ) {
- DEBUG_VBO( "Failed to lock NULL buffer\n" );
- return 0;
- }
-
- if( useVBOs ) {
- glBindBufferARB( GL_ARRAY_BUFFER_ARB, buffer->id );
- glBufferDataARB( GL_ARRAY_BUFFER_ARB, buffer->size, 0, GL_STREAM_DRAW_ARB ); /* discard previous data, avoid stalling gpu */
- varray = glMapBufferARB( GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB );
- if( varray == 0 ) {
- DEBUG_VBO( "Failed to map buffer to client address space\n" );
- }
- return varray;
- }
- else {
- return buffer->pointer;
- }
-}
-
-void GPU_buffer_unlock( GPUBuffer *buffer )
-{
- DEBUG_VBO( "GPU_buffer_unlock\n" );
- if( useVBOs ) {
- if( buffer != 0 ) {
- if( glUnmapBufferARB( GL_ARRAY_BUFFER_ARB ) == 0 ) {
- DEBUG_VBO( "Failed to copy new data\n" );
- }
- }
- glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
- }
-}
-
-void GPU_buffer_draw_elements( GPUBuffer *elements, unsigned int mode, int start, int count )
-{
- if( useVBOs ) {
- glDrawElements( mode, count, GL_UNSIGNED_INT, (void *)(start*sizeof(unsigned int)) );
- }
- else {
- glDrawElements( mode, count, GL_UNSIGNED_INT, ((int *)elements->pointer)+start );
- }
-}
diff --git a/source/blender/gpu/intern/gpu_codegen.c b/source/blender/gpu/intern/gpu_codegen.c
index 470b99de00b..360f3dbf63f 100644
--- a/source/blender/gpu/intern/gpu_codegen.c
+++ b/source/blender/gpu/intern/gpu_codegen.c
@@ -59,15 +59,6 @@
#include <string.h>
#include <stdarg.h>
-#ifdef _WIN32
-#ifndef vsnprintf
-#define vsnprintf _vsnprintf
-#endif
-#ifndef snprintf
-#define snprintf _snprintf
-#endif
-#endif
-
extern char datatoc_gpu_shader_material_glsl[];
extern char datatoc_gpu_shader_vertex_glsl[];
@@ -82,7 +73,7 @@ typedef enum GPUDataSource {
} GPUDataSource;
static const char* GPU_DATATYPE_STR[17] = {"", "float", "vec2", "vec3", "vec4",
- 0, 0, 0, 0, "mat3", 0, 0, 0, 0, 0, 0, "mat4"};
+ NULL, NULL, NULL, NULL, "mat3", NULL, NULL, NULL, NULL, NULL, NULL, "mat4"};
struct GPUNode {
struct GPUNode *next, *prev;
@@ -168,24 +159,6 @@ struct GPUPass {
struct GPUShader *shader;
};
-/* Strings utility */
-
-static void BLI_dynstr_printf(DynStr *dynstr, const char *format, ...)
-{
- va_list args;
- int retval;
- char str[2048];
-
- va_start(args, format);
- retval = vsnprintf(str, sizeof(str), format, args);
- va_end(args);
-
- if (retval >= sizeof(str))
- fprintf(stderr, "BLI_dynstr_printf: limit exceeded\n");
- else
- BLI_dynstr_append(dynstr, str);
-}
-
/* GLSL code parsing for finding function definitions.
* These are stored in a hash for lookup when creating a material. */
@@ -291,7 +264,7 @@ static void gpu_parse_functions_string(GHash *hash, char *code)
}
}
- if(strlen(function->name) == 0 || function->totparam == 0) {
+ if(function->name[0] == '\0' || function->totparam == 0) {
fprintf(stderr, "GPU functions parse error.\n");
MEM_freeN(function);
break;
@@ -318,7 +291,7 @@ static char *gpu_generate_function_prototyps(GHash *hash)
name = BLI_ghashIterator_getValue(ghi);
function = BLI_ghashIterator_getValue(ghi);
- BLI_dynstr_printf(ds, "void %s(", name);
+ BLI_dynstr_appendf(ds, "void %s(", name);
for(a=0; a<function->totparam; a++) {
if(function->paramqual[a] == FUNCTION_QUAL_OUT)
BLI_dynstr_append(ds, "out ");
@@ -334,7 +307,7 @@ static char *gpu_generate_function_prototyps(GHash *hash)
else
BLI_dynstr_append(ds, GPU_DATATYPE_STR[function->paramtype[a]]);
- //BLI_dynstr_printf(ds, " param%d", a);
+ //BLI_dynstr_appendf(ds, " param%d", a);
if(a != function->totparam-1)
BLI_dynstr_append(ds, ", ");
@@ -390,42 +363,42 @@ static void codegen_convert_datatype(DynStr *ds, int from, int to, const char *t
{
char name[1024];
- snprintf(name, sizeof(name), "%s%d", tmp, id);
+ BLI_snprintf(name, sizeof(name), "%s%d", tmp, id);
if (from == to) {
BLI_dynstr_append(ds, name);
}
else if (to == GPU_FLOAT) {
if (from == GPU_VEC4)
- BLI_dynstr_printf(ds, "dot(%s.rgb, vec3(0.35, 0.45, 0.2))", name);
+ BLI_dynstr_appendf(ds, "dot(%s.rgb, vec3(0.35, 0.45, 0.2))", name);
else if (from == GPU_VEC3)
- BLI_dynstr_printf(ds, "dot(%s, vec3(0.33))", name);
+ BLI_dynstr_appendf(ds, "dot(%s, vec3(0.33))", name);
else if (from == GPU_VEC2)
- BLI_dynstr_printf(ds, "%s.r", name);
+ BLI_dynstr_appendf(ds, "%s.r", name);
}
else if (to == GPU_VEC2) {
if (from == GPU_VEC4)
- BLI_dynstr_printf(ds, "vec2(dot(%s.rgb, vec3(0.35, 0.45, 0.2)), %s.a)", name, name);
+ BLI_dynstr_appendf(ds, "vec2(dot(%s.rgb, vec3(0.35, 0.45, 0.2)), %s.a)", name, name);
else if (from == GPU_VEC3)
- BLI_dynstr_printf(ds, "vec2(dot(%s.rgb, vec3(0.33)), 1.0)", name);
+ BLI_dynstr_appendf(ds, "vec2(dot(%s.rgb, vec3(0.33)), 1.0)", name);
else if (from == GPU_FLOAT)
- BLI_dynstr_printf(ds, "vec2(%s, 1.0)", name);
+ BLI_dynstr_appendf(ds, "vec2(%s, 1.0)", name);
}
else if (to == GPU_VEC3) {
if (from == GPU_VEC4)
- BLI_dynstr_printf(ds, "%s.rgb", name);
+ BLI_dynstr_appendf(ds, "%s.rgb", name);
else if (from == GPU_VEC2)
- BLI_dynstr_printf(ds, "vec3(%s.r, %s.r, %s.r)", name, name, name);
+ BLI_dynstr_appendf(ds, "vec3(%s.r, %s.r, %s.r)", name, name, name);
else if (from == GPU_FLOAT)
- BLI_dynstr_printf(ds, "vec3(%s, %s, %s)", name, name, name);
+ BLI_dynstr_appendf(ds, "vec3(%s, %s, %s)", name, name, name);
}
else {
if (from == GPU_VEC3)
- BLI_dynstr_printf(ds, "vec4(%s, 1.0)", name);
+ BLI_dynstr_appendf(ds, "vec4(%s, 1.0)", name);
else if (from == GPU_VEC2)
- BLI_dynstr_printf(ds, "vec4(%s.r, %s.r, %s.r, %s.g)", name, name, name, name);
+ BLI_dynstr_appendf(ds, "vec4(%s.r, %s.r, %s.r, %s.g)", name, name, name, name);
else if (from == GPU_FLOAT)
- BLI_dynstr_printf(ds, "vec4(%s, %s, %s, 1.0)", name, name, name);
+ BLI_dynstr_appendf(ds, "vec4(%s, %s, %s, 1.0)", name, name, name);
}
}
@@ -433,10 +406,10 @@ static void codegen_print_datatype(DynStr *ds, int type, float *data)
{
int i;
- BLI_dynstr_printf(ds, "%s(", GPU_DATATYPE_STR[type]);
+ BLI_dynstr_appendf(ds, "%s(", GPU_DATATYPE_STR[type]);
for(i=0; i<type; i++) {
- BLI_dynstr_printf(ds, "%f", data[i]);
+ BLI_dynstr_appendf(ds, "%f", data[i]);
if(i == type-1)
BLI_dynstr_append(ds, ")");
else
@@ -451,7 +424,7 @@ static int codegen_input_has_texture(GPUInput *input)
else if(input->ima)
return 1;
else
- return input->tex != 0;
+ return input->tex != NULL;
}
const char *GPU_builtin_name(GPUBuiltin builtin)
@@ -568,7 +541,7 @@ static void codegen_print_uniforms_functions(DynStr *ds, ListBase *nodes)
if ((input->source == GPU_SOURCE_TEX) || (input->source == GPU_SOURCE_TEX_PIXEL)) {
/* create exactly one sampler for each texture */
if (codegen_input_has_texture(input) && input->bindtex)
- BLI_dynstr_printf(ds, "uniform %s samp%d;\n",
+ BLI_dynstr_appendf(ds, "uniform %s samp%d;\n",
(input->textype == GPU_TEX1D)? "sampler1D":
(input->textype == GPU_TEX2D)? "sampler2D": "sampler2DShadow",
input->texid);
@@ -580,11 +553,11 @@ static void codegen_print_uniforms_functions(DynStr *ds, ListBase *nodes)
name = GPU_builtin_name(input->builtin);
if(gpu_str_prefix(name, "unf")) {
- BLI_dynstr_printf(ds, "uniform %s %s;\n",
+ BLI_dynstr_appendf(ds, "uniform %s %s;\n",
GPU_DATATYPE_STR[input->type], name);
}
else {
- BLI_dynstr_printf(ds, "varying %s %s;\n",
+ BLI_dynstr_appendf(ds, "varying %s %s;\n",
GPU_DATATYPE_STR[input->type], name);
}
}
@@ -592,19 +565,19 @@ static void codegen_print_uniforms_functions(DynStr *ds, ListBase *nodes)
else if (input->source == GPU_SOURCE_VEC_UNIFORM) {
if(input->dynamicvec) {
/* only create uniforms for dynamic vectors */
- BLI_dynstr_printf(ds, "uniform %s unf%d;\n",
+ BLI_dynstr_appendf(ds, "uniform %s unf%d;\n",
GPU_DATATYPE_STR[input->type], input->id);
}
else {
/* for others use const so the compiler can do folding */
- BLI_dynstr_printf(ds, "const %s cons%d = ",
+ BLI_dynstr_appendf(ds, "const %s cons%d = ",
GPU_DATATYPE_STR[input->type], input->id);
codegen_print_datatype(ds, input->type, input->vec);
BLI_dynstr_append(ds, ";\n");
}
}
else if (input->source == GPU_SOURCE_ATTRIB && input->attribfirst) {
- BLI_dynstr_printf(ds, "varying %s var%d;\n",
+ BLI_dynstr_appendf(ds, "varying %s var%d;\n",
GPU_DATATYPE_STR[input->type], input->attribid);
}
}
@@ -624,8 +597,8 @@ static void codegen_declare_tmps(DynStr *ds, ListBase *nodes)
for (input=node->inputs.first; input; input=input->next) {
if (input->source == GPU_SOURCE_TEX_PIXEL) {
if (codegen_input_has_texture(input) && input->definetex) {
- BLI_dynstr_printf(ds, "\tvec4 tex%d = texture2D(", input->texid);
- BLI_dynstr_printf(ds, "samp%d, gl_TexCoord[%d].st);\n",
+ BLI_dynstr_appendf(ds, "\tvec4 tex%d = texture2D(", input->texid);
+ BLI_dynstr_appendf(ds, "samp%d, gl_TexCoord[%d].st);\n",
input->texid, input->texid);
}
}
@@ -633,7 +606,7 @@ static void codegen_declare_tmps(DynStr *ds, ListBase *nodes)
/* declare temporary variables for node output storage */
for (output=node->outputs.first; output; output=output->next)
- BLI_dynstr_printf(ds, "\t%s tmp%d;\n",
+ BLI_dynstr_appendf(ds, "\t%s tmp%d;\n",
GPU_DATATYPE_STR[output->type], output->id);
}
@@ -647,13 +620,13 @@ static void codegen_call_functions(DynStr *ds, ListBase *nodes, GPUOutput *final
GPUOutput *output;
for (node=nodes->first; node; node=node->next) {
- BLI_dynstr_printf(ds, "\t%s(", node->name);
+ BLI_dynstr_appendf(ds, "\t%s(", node->name);
for (input=node->inputs.first; input; input=input->next) {
if (input->source == GPU_SOURCE_TEX) {
- BLI_dynstr_printf(ds, "samp%d", input->texid);
+ BLI_dynstr_appendf(ds, "samp%d", input->texid);
if (input->link)
- BLI_dynstr_printf(ds, ", gl_TexCoord[%d].st", input->texid);
+ BLI_dynstr_appendf(ds, ", gl_TexCoord[%d].st", input->texid);
}
else if (input->source == GPU_SOURCE_TEX_PIXEL) {
if (input->link && input->link->output)
@@ -664,21 +637,21 @@ static void codegen_call_functions(DynStr *ds, ListBase *nodes, GPUOutput *final
"tex", input->texid);
}
else if(input->source == GPU_SOURCE_BUILTIN)
- BLI_dynstr_printf(ds, "%s", GPU_builtin_name(input->builtin));
+ BLI_dynstr_appendf(ds, "%s", GPU_builtin_name(input->builtin));
else if(input->source == GPU_SOURCE_VEC_UNIFORM) {
if(input->dynamicvec)
- BLI_dynstr_printf(ds, "unf%d", input->id);
+ BLI_dynstr_appendf(ds, "unf%d", input->id);
else
- BLI_dynstr_printf(ds, "cons%d", input->id);
+ BLI_dynstr_appendf(ds, "cons%d", input->id);
}
else if (input->source == GPU_SOURCE_ATTRIB)
- BLI_dynstr_printf(ds, "var%d", input->attribid);
+ BLI_dynstr_appendf(ds, "var%d", input->attribid);
BLI_dynstr_append(ds, ", ");
}
for (output=node->outputs.first; output; output=output->next) {
- BLI_dynstr_printf(ds, "tmp%d", output->id);
+ BLI_dynstr_appendf(ds, "tmp%d", output->id);
if (output->next)
BLI_dynstr_append(ds, ", ");
}
@@ -702,7 +675,7 @@ static char *code_generate_fragment(ListBase *nodes, GPUOutput *output, const ch
codegen_print_uniforms_functions(ds, nodes);
//if(G.f & G_DEBUG)
- // BLI_dynstr_printf(ds, "/* %s */\n", name);
+ // BLI_dynstr_appendf(ds, "/* %s */\n", name);
BLI_dynstr_append(ds, "void main(void)\n");
BLI_dynstr_append(ds, "{\n");
@@ -731,9 +704,9 @@ static char *code_generate_vertex(ListBase *nodes)
for (node=nodes->first; node; node=node->next) {
for (input=node->inputs.first; input; input=input->next) {
if (input->source == GPU_SOURCE_ATTRIB && input->attribfirst) {
- BLI_dynstr_printf(ds, "attribute %s att%d;\n",
+ BLI_dynstr_appendf(ds, "attribute %s att%d;\n",
GPU_DATATYPE_STR[input->type], input->attribid);
- BLI_dynstr_printf(ds, "varying %s var%d;\n",
+ BLI_dynstr_appendf(ds, "varying %s var%d;\n",
GPU_DATATYPE_STR[input->type], input->attribid);
}
}
@@ -747,11 +720,11 @@ static char *code_generate_vertex(ListBase *nodes)
if (input->source == GPU_SOURCE_ATTRIB && input->attribfirst) {
if(input->attribtype == CD_TANGENT) /* silly exception */
{
- BLI_dynstr_printf(ds, "\tvar%d.xyz = normalize((gl_ModelViewMatrix * vec4(att%d.xyz, 0)).xyz);\n", input->attribid, input->attribid);
- BLI_dynstr_printf(ds, "\tvar%d.w = att%d.w;\n", input->attribid, input->attribid);
+ BLI_dynstr_appendf(ds, "\tvar%d.xyz = normalize((gl_ModelViewMatrix * vec4(att%d.xyz, 0)).xyz);\n", input->attribid, input->attribid);
+ BLI_dynstr_appendf(ds, "\tvar%d.w = att%d.w;\n", input->attribid, input->attribid);
}
else
- BLI_dynstr_printf(ds, "\tvar%d = att%d;\n", input->attribid, input->attribid);
+ BLI_dynstr_appendf(ds, "\tvar%d = att%d;\n", input->attribid, input->attribid);
}
BLI_dynstr_append(ds, "}\n\n");
@@ -799,9 +772,9 @@ static void GPU_nodes_extract_dynamic_inputs(GPUPass *pass, ListBase *nodes)
continue;
if (input->ima || input->tex)
- snprintf(input->shadername, sizeof(input->shadername), "samp%d", input->texid);
+ BLI_snprintf(input->shadername, sizeof(input->shadername), "samp%d", input->texid);
else
- snprintf(input->shadername, sizeof(input->shadername), "unf%d", input->id);
+ BLI_snprintf(input->shadername, sizeof(input->shadername), "unf%d", input->id);
/* pass non-dynamic uniforms to opengl */
extract = 0;
@@ -880,7 +853,7 @@ void GPU_pass_unbind(GPUPass *pass)
GPU_texture_unbind(input->tex);
if (input->ima)
- input->tex = 0;
+ input->tex = NULL;
}
GPU_shader_unbind(shader);
diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c
index 7dfbc52819e..7af5ef6ea14 100644
--- a/source/blender/gpu/intern/gpu_draw.c
+++ b/source/blender/gpu/intern/gpu_draw.c
@@ -246,8 +246,9 @@ static struct GPUTextureState {
int domipmap, linearmipmap;
int alphamode;
+ float anisotropic;
MTFace *lasttface;
-} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, -1, NULL};
+} GTS = {0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, 1, 0, -1, 1.f, NULL};
/* Mipmap settings */
@@ -292,6 +293,26 @@ static GLenum gpu_get_mipmap_filter(int mag)
}
}
+/* Anisotropic filtering settings */
+void GPU_set_anisotropic(float value)
+{
+ if (GTS.anisotropic != value)
+ {
+ GPU_free_images();
+
+ /* Clamp value to the maximum value the graphics card supports */
+ if (value > GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT)
+ value = GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT;
+
+ GTS.anisotropic = value;
+ }
+}
+
+float GPU_get_anisotropic(void)
+{
+ return GTS.anisotropic;
+}
+
/* Set OpenGL state for an MTFace */
static void gpu_make_repbind(Image *ima)
@@ -559,6 +580,8 @@ int GPU_verify_image(Image *ima, ImageUser *iuser, int tftile, int compare, int
ima->tpageflag |= IMA_MIPMAP_COMPLETE;
}
+ if (GLEW_EXT_texture_filter_anisotropic)
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, GPU_get_anisotropic());
/* set to modulate with vertex color */
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
@@ -799,12 +822,18 @@ void GPU_free_smoke(SmokeModifierData *smd)
void GPU_create_smoke(SmokeModifierData *smd, int highres)
{
+#ifdef WITH_SMOKE
if(smd->type & MOD_SMOKE_TYPE_DOMAIN && !smd->domain->tex && !highres)
smd->domain->tex = GPU_texture_create_3D(smd->domain->res[0], smd->domain->res[1], smd->domain->res[2], smoke_get_density(smd->domain->fluid));
else if(smd->type & MOD_SMOKE_TYPE_DOMAIN && !smd->domain->tex && highres)
smd->domain->tex = GPU_texture_create_3D(smd->domain->res_wt[0], smd->domain->res_wt[1], smd->domain->res_wt[2], smoke_turbulence_get_density(smd->domain->wt));
smd->domain->tex_shadow = GPU_texture_create_3D(smd->domain->res[0], smd->domain->res[1], smd->domain->res[2], smd->domain->shadow);
+#else // WITH_SMOKE
+ (void)highres;
+ smd->domain->tex= NULL;
+ smd->domain->tex_shadow= NULL;
+#endif // WITH_SMOKE
}
static ListBase image_free_queue = {NULL, NULL};
diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c
index f6352a96878..c9f1b093b7a 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -484,7 +484,7 @@ GPUTexture *GPU_texture_create_3D(int w, int h, int depth, float *fpixels)
//if (fpixels)
// pixels = GPU_texture_convert_pixels(w*h*depth, fpixels);
- glTexImage3D(tex->target, 0, internalformat, tex->w, tex->h, tex->depth, 0, format, type, 0);
+ glTexImage3D(tex->target, 0, internalformat, tex->w, tex->h, tex->depth, 0, format, type, NULL);
GPU_print_error("3D glTexImage3D");
diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c
index e936f35574d..15b96b6d808 100644
--- a/source/blender/gpu/intern/gpu_material.c
+++ b/source/blender/gpu/intern/gpu_material.c
@@ -358,7 +358,7 @@ void GPU_material_enable_alpha(GPUMaterial *material)
material->alpha= 1;
}
-GPUBlendMode GPU_material_blend_mode(GPUMaterial *material, float obcol[3])
+GPUBlendMode GPU_material_blend_mode(GPUMaterial *material, float obcol[4])
{
if(material->alpha || (material->obcolalpha && obcol[3] < 1.0f))
return GPU_BLEND_ALPHA;
@@ -671,7 +671,7 @@ static void shade_one_light(GPUShadeInput *shi, GPUShadeResult *shr, GPULamp *la
i = is;
GPU_link(mat, "shade_visifac", i, visifac, shi->refl, &i);
- vn = shi->vn;
+
/*if(ma->mode & MA_TANGENT_VN)
GPU_link(mat, "shade_tangent_v_spec", GPU_attribute(CD_TANGENT, ""), &vn);*/
@@ -906,6 +906,7 @@ static void do_material_tex(GPUShadeInput *shi)
int init_done = 0, iBumpSpacePrev;
GPUNodeLink *vNorg, *vNacc, *fPrevMagnitude;
int iFirstTimeNMap=1;
+ int found_deriv_map = 0;
GPU_link(mat, "set_value", GPU_uniform(&one), &stencil);
@@ -942,8 +943,10 @@ static void do_material_tex(GPUShadeInput *shi)
texco= texco_object;
else if(mtex->texco==TEXCO_GLOB)
texco= texco_global;
- else if(mtex->texco==TEXCO_REFL)
+ else if(mtex->texco==TEXCO_REFL) {
+ GPU_link(mat, "texco_refl", shi->vn, shi->view, &shi->ref);
texco= shi->ref;
+ }
else if(mtex->texco==TEXCO_UV) {
if(1) { //!(texco_uv && strcmp(mtex->uvname, lastuvname) == 0)) {
GPU_link(mat, "texco_uv", GPU_attribute(CD_MTFACE, mtex->uvname), &texco_uv);
@@ -1041,6 +1044,8 @@ static void do_material_tex(GPUShadeInput *shi)
if(!(mat->scene->gm.flag & GAME_GLSL_NO_EXTRA_TEX) && (mtex->mapto & MAP_NORM)) {
if(tex->type==TEX_IMAGE) {
+ found_deriv_map = tex->imaflag & TEX_DERIVATIVEMAP;
+
if(tex->imaflag & TEX_NORMALMAP) {
/* normalmap image */
GPU_link(mat, "mtex_normal", texco, GPU_image(tex->ima, &tex->iuser), &tnor );
@@ -1080,9 +1085,10 @@ static void do_material_tex(GPUShadeInput *shi)
GPU_link(mat, "mtex_blend_normal", tnorfac, shi->vn, newnor, &shi->vn);
}
- } else if( mtex->texflag & (MTEX_3TAP_BUMP|MTEX_5TAP_BUMP)) {
+ } else if( (mtex->texflag & (MTEX_3TAP_BUMP|MTEX_5TAP_BUMP)) || found_deriv_map) {
/* ntap bumpmap image */
int iBumpSpace;
+ float ima_x, ima_y;
float hScale = 0.1f; // compatibility adjustment factor for all bumpspace types
float hScaleTex = 13.0f; // factor for scaling texspace bumps
@@ -1140,9 +1146,24 @@ static void do_material_tex(GPUShadeInput *shi)
iBumpSpacePrev = iBumpSpace;
}
+
+ // resolve texture resolution
+ if( (mtex->texflag & MTEX_BUMP_TEXTURESPACE) || found_deriv_map ) {
+ ImBuf *ibuf= BKE_image_get_ibuf(tex->ima, &tex->iuser);
+ ima_x= 512.0f; ima_y= 512.f; // prevent calling textureSize, glsl 1.3 only
+ if(ibuf) {
+ ima_x= ibuf->x;
+ ima_y= ibuf->y;
+ }
+ }
- if( mtex->texflag & MTEX_3TAP_BUMP )
+ if(found_deriv_map) {
+ GPU_link( mat, "mtex_bump_deriv",
+ texco, GPU_image(tex->ima, &tex->iuser), GPU_uniform(&ima_x), GPU_uniform(&ima_y), tnorfac,
+ &dBs, &dBt );
+ }
+ else if( mtex->texflag & MTEX_3TAP_BUMP )
GPU_link( mat, "mtex_bump_tap3",
texco, GPU_image(tex->ima, &tex->iuser), tnorfac,
&dBs, &dBt );
@@ -1153,12 +1174,6 @@ static void do_material_tex(GPUShadeInput *shi)
if( mtex->texflag & MTEX_BUMP_TEXTURESPACE ) {
- float ima_x= 512.0f, ima_y= 512.f; // prevent calling textureSize, glsl 1.3 only
- ImBuf *ibuf= BKE_image_get_ibuf(tex->ima, &tex->iuser);
- if(ibuf) {
- ima_x= ibuf->x;
- ima_y= ibuf->y;
- }
GPU_link( mat, "mtex_bump_apply_texspace",
fDet, dBs, dBt, vR1, vR2,
@@ -1173,7 +1188,6 @@ static void do_material_tex(GPUShadeInput *shi)
}
GPU_link(mat, "vec_math_negate", shi->vn, &orn);
- GPU_link(mat, "texco_refl", shi->vn, shi->view, &shi->ref);
}
if((mtex->mapto & MAP_VARS)) {
@@ -1370,9 +1384,6 @@ void GPU_shaderesult_set(GPUShadeInput *shi, GPUShadeResult *shr)
mat->obcolalpha = 1;
GPU_link(mat, "shade_alpha_obcolor", shr->combined, GPU_builtin(GPU_OBCOLOR), &shr->combined);
}
-
- if(gpu_do_color_management(mat))
- GPU_link(mat, "linearrgb_to_srgb", shr->combined, &shr->combined);
}
static GPUNodeLink *GPU_blender_material(GPUMaterial *mat, Material *ma)
@@ -1407,6 +1418,10 @@ GPUMaterial *GPU_material_from_blender(Scene *scene, Material *ma)
GPU_material_output_link(mat, outlink);
}
+ if(gpu_do_color_management(mat))
+ if(mat->outlink)
+ GPU_link(mat, "linearrgb_to_srgb", mat->outlink, &mat->outlink);
+
/*if(!GPU_material_construct_end(mat)) {
GPU_material_free(mat);
mat= NULL;
diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl b/source/blender/gpu/intern/gpu_shader_material.glsl
index a06b355bc9e..06520755651 100644
--- a/source/blender/gpu/intern/gpu_shader_material.glsl
+++ b/source/blender/gpu/intern/gpu_shader_material.glsl
@@ -3002,6 +3002,22 @@ void mtex_bump_tap5( vec3 texco, sampler2D ima, float hScale,
dBt = hScale * (Hu - Hd);
}
+void mtex_bump_deriv( vec3 texco, sampler2D ima, float ima_x, float ima_y, float hScale,
+ out float dBs, out float dBt )
+{
+ float s = 1.0; // negate this if flipped texture coordinate
+ vec2 TexDx = dFdx(texco.xy);
+ vec2 TexDy = dFdy(texco.xy);
+
+ // this variant using a derivative map is described here
+ // http://mmikkelsen3d.blogspot.com/2011/07/derivative-maps.html
+ vec2 dim = vec2(ima_x, ima_y);
+ vec2 dBduv = hScale*dim*(2.0*texture2D(ima, texco.xy).xy-1.0);
+
+ dBs = dBduv.x*TexDx.x + s*dBduv.y*TexDx.y;
+ dBt = dBduv.x*TexDy.x + s*dBduv.y*TexDy.y;
+}
+
void mtex_bump_apply( float fDet, float dBs, float dBt, vec3 vR1, vec3 vR2, vec3 vNacc_in,
out vec3 vNacc_out, out vec3 perturbed_norm )
{
diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl.c b/source/blender/gpu/intern/gpu_shader_material.glsl.c
index b60f7f1555e..87a8ed65532 100644
--- a/source/blender/gpu/intern/gpu_shader_material.glsl.c
+++ b/source/blender/gpu/intern/gpu_shader_material.glsl.c
@@ -1,843 +1,861 @@
/* DataToC output of file <gpu_shader_material_glsl> */
-int datatoc_gpu_shader_material_glsl_size= 39207;
+int datatoc_gpu_shader_material_glsl_size= 39789;
char datatoc_gpu_shader_material_glsl[]= {
- 10,102,108,111, 97,116, 32,
-101,120,112, 95, 98,108,101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,112,
-111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114,103,
- 98, 95,116,111, 95,104,115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,
-111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32,115, 44, 32,118,
- 44, 32, 99,100,101,108,116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32,109, 97,120, 40,
-114,103, 98, 91, 48, 93, 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,
-109,105,110, 32, 61, 32,109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, 44, 32,114,103,
- 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, 10, 10, 9,118,
- 32, 61, 32, 99,109, 97,120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, 32, 61, 32, 99,
-100,101,108,116, 97, 47, 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,
- 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9,
- 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40,118,101, 99, 51,
- 40, 99,109, 97,120, 44, 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, 41, 47, 99,100,
-101,108,116, 97, 59, 10, 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 99, 91,
- 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, 61, 99,109, 97,
-120, 41, 32,104, 32, 61, 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, 9,101,108,115,
-101, 32,104, 32, 61, 32, 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9,104, 32, 47, 61,
- 32, 54, 46, 48, 59, 10, 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, 49, 46, 48, 59,
- 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, 32,114,103, 98,
- 46,119, 41, 59, 10,125, 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, 32,104,115,118,
- 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,105, 44, 32,102,
- 44, 32,112, 44, 32,113, 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, 98, 59, 10, 10,
- 9,104, 32, 61, 32,104,115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, 32, 61, 32,104,
-115,118, 91, 50, 93, 59, 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, 61, 32,118,101,
- 99, 51, 40,118, 44, 32,118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,104, 61, 61,
- 49, 46, 48, 41, 10, 9, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, 46, 48, 59, 10,
- 9, 9,105, 32, 61, 32,102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, 10, 9, 9,114,
-103, 98, 32, 61, 32,118,101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, 40, 49, 46, 48,
- 45,115, 41, 59, 10, 9, 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9,116, 32, 61, 32,
-118, 42, 40, 49, 46, 48, 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40,105, 32,
- 61, 61, 32, 48, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, 10, 9, 9,101,
-108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,113, 44, 32,
-118, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32,114,103, 98, 32,
- 61, 32,118,101, 99, 51, 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61,
- 32, 51, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,
-101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, 44, 32,112, 44,
- 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, 32,113, 41, 59,
- 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, 46,119, 41, 59,
- 10,125, 10, 10,102,108,111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,111, 97,
-116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101,116,117,114,110,
- 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57, 50, 41,
- 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, 48, 53, 53, 41,
- 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,108,105,110,
-101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32,
- 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63,
- 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32,
- 49, 46, 48, 53, 53, 32, 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 59,
- 10,125, 10, 10,118,111,105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118,101, 99, 52, 32,
- 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,
-108, 95,116,111, 46,114, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,
-114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101,
- 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,115,
-114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,
-111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,108,105,
-110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,
-117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,108,105,
-110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,
-108, 95,116,111, 46,103, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,
-114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111,
- 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,
-111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49,
- 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32,
- 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,
-111,105,100, 32,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44,
- 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 97,
-116,116,118, 99,111,108, 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, 46, 48, 44,
- 32, 97,116,116,118, 99,111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,
-117,118, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99,
- 51, 32,117,118, 41, 10,123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,
-101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,103,101,111,
-109, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,
-118,109, 97,116, 44, 32,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,
-118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 44, 32,111,
-117,116, 32,118,101, 99, 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,
-116, 32,118,101, 99, 51, 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101,
- 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32,102,114,111,110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10, 9,118,
-105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9,103,108,111, 98, 97,108, 32,
- 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46,
-120,121,122, 59, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, 95, 97,116,116,114,105, 98,
-117,116,101, 40, 97,116,116,117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,
-108,105,122,101, 40,110,111,114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,
-109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,
-101, 40, 97,116,116,118, 99,111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, 98, 97, 99,107, 32, 61, 32, 49,
- 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,109, 97,
-116, 52, 32,109, 97,116, 44, 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, 51, 32,109, 97,120,118,101, 99,
- 44, 32,102,108,111, 97,116, 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, 97,120, 44, 32,111,117,116, 32,
-118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 40,109, 97,116, 32, 42, 32,
-118,101, 99, 52, 40,118,101, 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, 40,100,111,109,105,110, 32, 61,
- 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117,116,118,101, 99, 44, 32,109,105,
-110,118,101, 99, 41, 59, 10, 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101,
- 99, 32, 61, 32,109,105,110, 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100,
- 32, 99, 97,109,101,114, 97, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,105,101,
-119, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116,
- 32,111,117,116,100,105,115,116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, 97, 98,115, 40, 99,111, 46,122,
- 41, 59, 10, 9,111,117,116,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, 59, 10, 9,111,117,116,118,105,
-101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104,
- 95, 97,100,100, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116,
- 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32,
- 43, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98,116,114, 97, 99,116, 40,102,108,
-111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,
-111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 45, 32,118, 97,108, 50, 59,
- 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102,108,111, 97,116, 32,118, 97,108,
- 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41,
- 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,
-100, 32,109, 97,116,104, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,
-118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118,
- 97,108, 50, 32, 61, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,
-101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,
-100, 32,109, 97,116,104, 95,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116,
- 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, 40,118, 97,108, 41, 59, 10,125,
- 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,
-116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,115, 40,
-118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101,110,116, 40,102,108,111, 97,116,
- 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,
-108, 32, 61, 32,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,115,105,110, 40,
-102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,
-105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9,
- 9,111,117,116,118, 97,108, 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,
-118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97, 99,111,115, 40,102,108,111,
- 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32,
- 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,
-116,118, 97,108, 32, 61, 32, 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108,
- 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97,110, 40,102,108,111, 97,116, 32,
-118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108,
- 32, 61, 32, 97,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,112,111,119, 40,102,
+ 10,102,108,111, 97,116, 32,101,120,112, 95, 98,108,
+101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,112,111,119, 40, 50, 46, 55,
+ 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98, 95,116,111, 95,104,
+115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10,
+ 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32,115, 44, 32,118, 44, 32, 99,100,101,108,
+116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32,109, 97,120, 40,114,103, 98, 91, 48, 93,
+ 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,109,105,110, 32, 61, 32,
+109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41,
+ 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, 10, 10, 9,118, 32, 61, 32, 99,109, 97,
+120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, 32, 61, 32, 99,100,101,108,116, 97, 47,
+ 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,104, 32, 61, 32, 48,
+ 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,104, 32, 61, 32, 48,
+ 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40,118,101, 99, 51, 40, 99,109, 97,120, 44,
+ 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, 41, 47, 99,100,101,108,116, 97, 59, 10,
+ 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 99, 91, 50, 93, 32, 45, 32, 99,
+ 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61,
+ 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, 9,101,108,115,101, 32,104, 32, 61, 32,
+ 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9,104, 32, 47, 61, 32, 54, 46, 48, 59, 10,
+ 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 10, 9,
+111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, 32,114,103, 98, 46,119, 41, 59, 10,125,
+ 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, 32,104,115,118, 44, 32,111,117,116, 32,
+118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,105, 44, 32,102, 44, 32,112, 44, 32,113,
+ 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, 98, 59, 10, 10, 9,104, 32, 61, 32,104,
+115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, 32, 61, 32,104,115,118, 91, 50, 93, 59,
+ 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,
+118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,104, 61, 61, 49, 46, 48, 41, 10, 9,
+ 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, 46, 48, 59, 10, 9, 9,105, 32, 61, 32,
+102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, 10, 9, 9,114,103, 98, 32, 61, 32,118,
+101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, 40, 49, 46, 48, 45,115, 41, 59, 10, 9,
+ 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9,116, 32, 61, 32,118, 42, 40, 49, 46, 48,
+ 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40,105, 32, 61, 61, 32, 48, 46, 48,
+ 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102,
+ 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,113, 44, 32,118, 44, 32,112, 41, 59,
+ 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51,
+ 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 51, 46, 48, 41, 32,
+114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,
+105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, 44, 32,112, 44, 32,118, 41, 59, 10, 9,
+ 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, 32,113, 41, 59, 10, 9,125, 10, 10, 9,
+111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, 46,119, 41, 59, 10,125, 10, 10,102,108,
+111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123,
+ 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32,
+ 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57, 50, 41, 59, 10, 9,101,108,115,
+101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, 48, 53, 53, 41, 42, 40, 49, 46, 48, 47,
+ 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,108,105,110,101, 97,114,114,103, 98,
+ 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 48,
+ 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32,
+ 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32, 49, 46, 48, 53, 53, 32,
+ 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 59, 10,125, 10, 10,118,111,
+105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,
+111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114,
+ 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41,
+ 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,
+ 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,115,114,103, 98, 95,116,111,
+ 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,
+ 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,108,105,110,101, 97,114,114,103,
+ 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99,
+ 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,108,105,110,101, 97,114,114,103,
+ 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103,
+ 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41,
+ 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,
+ 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,
+109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49, 53, 57, 50, 54, 53, 51,
+ 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 83, 72, 65, 68, 69, 82,
+ 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,118, 99,
+111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,
+101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 97,116,116,118, 99,111,108,
+ 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,
+111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,117,118, 95, 97,116,116,
+114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,
+123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46,
+ 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,103,101,111,109, 40,118,101, 99, 51,
+ 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,
+118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,118,101, 99, 52, 32, 97,
+116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 44, 32,111,117,116, 32,118,101, 99,
+ 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51,
+ 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,
+109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,
+111,110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,
+110,111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,
+119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,
+111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,
+116,117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,
+111,114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115,
+ 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,118,
+ 99,111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, 98, 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10,
+ 10,118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116,
+ 44, 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, 51, 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,
+116, 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, 97,120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,
+117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,
+101, 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, 40,100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41,
+ 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117,116,118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59,
+ 10, 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,
+110, 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114,
+ 97, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,105,101,119, 44, 32,111,117,116,
+ 32,102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,105,
+115,116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, 97, 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,
+116,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, 59, 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,
+111,114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,
108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116,
- 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,
-117,116,118, 97,108, 32, 61, 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9,
- 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,111,103, 40,
-102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,
-116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, 48, 32, 32, 38, 38, 32,118,
- 97,108, 50, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, 50, 40,118, 97,108, 49, 41, 32,
- 47, 32,108,111,103, 50, 40,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 61, 32, 48, 46,
- 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,
-102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10,
- 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,
-105,100, 32,109, 97,116,104, 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,
-108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32,
- 61, 32,109,105,110, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,
-114,111,117,110,100, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,
-108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, 43, 32, 48, 46, 53, 41, 59, 10,
-125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108,
- 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41,
- 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49,
- 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,
-100, 32,109, 97,116,104, 95,103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,
-102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10,
- 9,105,102, 40,118, 97,108, 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59,
- 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,
-113,117,101,101,122,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32,119,105,100,116,104, 44, 32,102,
-108,111, 97,116, 32, 99,101,110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123,
- 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50,
- 56, 49, 56, 51, 44, 32, 45, 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100,116,104, 41, 41, 41, 59, 10,125,
- 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99,
+ 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50,
+ 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98,116,114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,
+108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,
+ 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,
+105,100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111,
+ 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,
+116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104,
+ 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,
+111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61,
+ 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,
+116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104,
+ 95,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,
+108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100,
+ 32,109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,
+116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,
+125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101,110,116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,
+111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,
+110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,
+118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,
+108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,
+108, 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,
+ 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97, 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108,
+ 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60,
+ 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61,
+ 32, 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48,
+ 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,
+117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,
+110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,112,111,119, 40,102,108,111, 97,116, 32,118,
+ 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,
+108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32,
+ 61, 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,
+108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,
+118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,
+ 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32,
+ 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, 50, 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50,
+ 40,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,
+118,111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,
+118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,
+108, 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,
+104, 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,
+116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,
+118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,
+102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,
+111,117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, 43, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,
+100, 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111,
+ 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102,
+ 40,118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,
+108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104,
+ 95,103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,
+118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,
+108, 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101,
+ 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,113,117,101,101,122,101,
+ 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32,119,105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,
+101,110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,
+ 97,108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32,
+ 45, 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100,116,104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100,
+ 32,118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,
+111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,
+108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32,
+ 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49,
+ 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,
+100, 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44,
+ 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,
+ 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108,
+ 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91,
+ 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,
+105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103,101, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99,
51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116,
32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,
-117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,
-116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,
-125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101,
- 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,
-116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 45, 32,118, 50, 59, 10, 9,
-111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,
-117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59,
- 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103,101, 40,118,101, 99, 51, 32,118,
- 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116,
- 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,
-118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, 9,111,
-117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,
-105,100, 32,118,101, 99, 95,109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50,
- 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,
-118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10,
- 9,111,117,116,118, 97,108, 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,
-101, 99, 95,109, 97,116,104, 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,
-111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,
-108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, 32,118, 50, 41, 59, 10, 9,111,
-117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,
-118,101, 99, 95,109, 97,116,104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,
-101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10,
- 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,
-111,114,109, 97,108,105,122,101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,101,
-103, 97,116,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 41, 10,123, 10, 9,111,
-117,116,118, 32, 61, 32, 45,118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,100,105,
-114, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114, 44, 32,111,117,
-116, 32,102,108,111, 97,116, 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111,114, 32, 61, 32,100,105,114, 59,
- 10, 9,111,117,116,100,111,116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, 41, 59, 10,125, 10, 10,118,111,
-105,100, 32, 99,117,114,118,101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 51, 32,118,101,
- 99, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 51, 32,
-111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40,
- 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,120, 59, 10,
- 9,111,117,116,118,101, 99, 46,121, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,
- 40,118,101, 99, 46,121, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, 46,122, 32,
- 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,122, 32, 43, 32, 49,
- 46, 48, 41, 42, 48, 46, 53, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,
-111,117,116,118,101, 99, 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40,118,101, 99, 42, 40, 49, 46,
- 48, 45,102, 97, 99, 41, 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,114,103, 98, 40,102,108,111,
- 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,
-101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108,
- 46,114, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101,
- 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46,114, 41, 46, 97, 41, 46,114, 59, 10, 9,111,117,116, 99,111,
-108, 46,103, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,
-101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46,103, 41, 46, 97, 41, 46,103, 59, 10, 9,111,117,116, 99,
-111,108, 46, 98, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,
-114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46, 98, 41, 46, 97, 41, 46, 98, 59, 10, 10, 9,105,102,
- 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, 40,111,117,116, 99,111,108,
- 42,102, 97, 99, 41, 32, 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10, 9,111,117,116, 99,111,
-108, 46, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 40,102,
-108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,
-117,116,118, 97,108, 32, 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 40,118,101, 99,
- 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,
-108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 40,118,101, 99, 52, 32, 99,
-111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61,
- 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122,101,114,111, 40,111,117,116,
- 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,
-125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, 32,102,108,111, 97,116, 32,
-111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100,
- 32,115,101,116, 95,114,103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 97,108, 41, 10,123,
- 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,
-116, 95,114,103, 98, 97, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,
-111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,
- 98,108,101,110,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52,
- 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61,
- 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61,
- 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97,
- 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100,100, 40,102,108,111, 97,116,
- 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,
-118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44,
- 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32,
- 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,
-111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102,108,111, 97,116, 32,102, 97,
- 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99,
- 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46,
- 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108,
- 49, 32, 42, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49,
- 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,102, 97, 99,
- 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52,
- 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48,
- 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59,
- 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 52, 40,102, 97,
- 99,109, 41, 32, 43, 32,102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,
-101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,
-108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, 40,102,108,111, 97,116, 32,
-102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,
-101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32,
- 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102,
- 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108,
- 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50,
- 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32,
- 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,
-111,108, 50, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,
-117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 42, 61, 32,102, 97, 99,
-109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,
-111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46,
- 48, 32, 45, 32, 99,111,108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10,
- 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 42,
- 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,101,108,115,101, 10, 9,
- 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97,
- 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,
- 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,
+117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32,
+ 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99,
+ 95,109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,
+118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123,
+ 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,
+108, 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,
+104, 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101,
+ 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,
+111,117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, 32,118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32,
+ 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,
+116,104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,
+116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,
+108, 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,
+122,101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,
+101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32,
+ 45,118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99,
+ 51, 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,
+116, 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111,114, 32, 61, 32,100,105,114, 59, 10, 9,111,117,116,100,
+111,116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,
+118,101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,
+112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99,
+ 41, 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109,
+ 97,112, 44, 32, 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,120, 59, 10, 9,111,117,116,118,101,
+ 99, 46,121, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,121,
+ 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, 46,122, 32, 61, 32,116,101,120,116,
+117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,122, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46,
+ 53, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99,
+ 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40,118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41,
+ 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99,
+ 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,
+111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,
+101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,
+118,101,109, 97,112, 44, 32, 99,111,108, 46,114, 41, 46, 97, 41, 46,114, 59, 10, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,
+116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,
+114,118,101,109, 97,112, 44, 32, 99,111,108, 46,103, 41, 46, 97, 41, 46,103, 59, 10, 9,111,117,116, 99,111,108, 46, 98, 32, 61,
+ 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,
+117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46, 98, 41, 46, 97, 41, 46, 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32,
+ 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, 40,111,117,116, 99,111,108, 42,102, 97, 99, 41, 32,
+ 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32,
+ 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,118,
+ 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32,
+ 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 40,118,101, 99, 51, 32, 99,111,108, 44,
+ 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,
+108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,
+116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,
+125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122,101,114,111, 40,111,117,116, 32,102,108,111, 97,116,
+ 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,
+100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,
+ 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,
+103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,
+ 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97,
+ 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108,
+ 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,108,101,110,100, 40,
+102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44,
+ 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112,
+ 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,
+111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108,
+ 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,
+118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,
+117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32,
+ 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 43,
+ 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59,
+ 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99,
+ 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,
+111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48,
+ 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, 99,111,
+108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10,
+ 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52,
+ 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,
+108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41,
+ 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116,
+ 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 52, 40,102, 97, 99,109, 41, 32, 43, 32,
+102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, 49, 46,
+ 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,
+125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,
101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,
116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49,
- 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 45, 32,
- 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,
-125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32,
- 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108,
- 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59,
- 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,
-111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,
-117,116, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99, 42,111,117,
-116, 99,111,108, 46,114, 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48,
- 41, 32,111,117,116, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99,
- 42,111,117,116, 99,111,108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32,
- 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,
-102, 97, 99, 42,111,117,116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120,
- 95,100,105,102,102, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52,
+ 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,
+111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48,
+ 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,
+ 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32,
+ 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,114, 41,
+ 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,
+103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46,
+ 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61,
+ 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,
+108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,
+116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, 99,109,
+ 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,
+108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48,
+ 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10,
+ 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,
+108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,
+123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,
+111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 44, 32,
+102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,
+100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,
+118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,
+ 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,
+116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,
+111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,
+114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,114,
+ 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,
+111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,
+108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,
+117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99, 42,111,117,
+116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,102,102, 40,
+102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44,
+ 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112,
+ 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,
+111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,
+116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100, 97,114,
+107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108,
+ 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,
+109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61,
+ 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,
+117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,
+103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,
+111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,
+108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98,
+ 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10,
+ 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,
+100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52,
32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61,
32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61,
- 32,109,105,120, 40, 99,111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 41, 44, 32,102, 97, 99,
- 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,
-105,120, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101,
- 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99,
- 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108,
- 46,114,103, 98, 32, 61, 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97,
- 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,
-109,105,120, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,
-118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,
- 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,
-111,108, 46,114,103, 98, 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,
-102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,
-100, 32,109,105,120, 95,100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49,
+ 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9,
+ 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,
+ 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46,
+ 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,114, 47,116,109,112,
+ 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,
+115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116,
+ 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46,
+ 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41,
+ 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,
+109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116,
+ 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32,
+ 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123,
+ 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59,
+ 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,
+ 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 47,116,
+109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,
+101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,
+105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49,
44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10,
- 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,
-116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46,
- 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108,
- 50, 46,114, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,
-114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108,
- 46,114, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48,
- 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,
-105,102, 40,111,117,116, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,
-112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60,
- 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101,
- 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10,
- 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116,
- 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 33, 61, 32,
- 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,
-111,108, 50, 46, 98, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,
-108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,
-111,108, 46, 98, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49,
- 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10, 9,125,
- 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99,
- 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,
-111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48,
- 41, 59, 10, 9,102,108,111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59,
- 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43,
- 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,
-117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40,
- 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48,
- 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,
-109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,
-101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109,
- 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9,
- 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61,
- 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47,116,109,112, 41, 41, 32, 60,
- 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102,
- 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,
-108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97,
- 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41,
- 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112,
- 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 47,116,109,112, 41, 41,
- 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,
-105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10,
- 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, 10, 10,118,111,105,100, 32,
-109,105,120, 95,104,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101,
- 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99,
- 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,
-102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108,
- 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,
-111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33,
- 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,
-118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,
-103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,
-117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,
-111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, 40,102,108,111, 97,116, 32,
-102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,
-101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32,
- 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102,
- 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44,
- 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59,
- 10, 10, 9,105,102, 40,104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,
-115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,102, 97, 99,109, 42,
-104,115,118, 46,121, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98,
- 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,118, 97,
-108, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108,
+ 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,
+111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116,
+ 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,
+111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,
+114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32,
+ 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,
+111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49,
+ 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,
+116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99,
+ 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,
+108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32,
+ 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10,
+ 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62,
+ 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,
+111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102,
+ 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,
+ 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46,
+ 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48,
+ 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112,
+ 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10,
+ 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,104,117,
+101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108,
50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,
109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61,
- 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,
-103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,
-118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32,102, 97, 99,109, 42,104,115,
-118, 46,122, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,
-118, 44, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99,111,108,111,114, 40,102,108,
-111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,
-117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102,
- 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48,
- 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,
-104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50,
- 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9,
- 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,
-120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, 50, 46,121, 59, 10, 9, 9,
-104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108,
- 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,
-111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,111,
-102,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,
-108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108,
- 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32,
- 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32,118,101, 99, 52, 40, 49, 46,
- 48, 41, 59, 10, 9,118,101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, 32, 45, 32, 99,111,108, 50,
- 41, 42, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,102, 97, 99,109, 42, 99,
-111,108, 49, 32, 43, 32,102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99,111,108, 50, 42, 99,111,108,
- 49, 32, 43, 32, 99,111,108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,110,101, 97,
-114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108,
- 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,
-109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,
-108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,
-114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 32, 45, 32, 48,
- 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43,
- 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40,
- 99,111,108, 50, 46,103, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103,
- 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,
-115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48,
- 42, 40, 99,111,108, 50, 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 62, 32,
- 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50,
- 46, 48, 42, 40, 99,111,108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,
-111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41,
- 32, 45, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, 40,102,108,111, 97,116, 32,
-102, 97, 99, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32,111,117,116, 32,118,101, 99,
- 52, 32,111,117,116, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108,112,104, 97, 41, 10,123, 10,
- 9,111,117,116, 99,111,108, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,111,108,111,114,109, 97,112, 44, 32,102, 97,
- 99, 41, 59, 10, 9,111,117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,
-100, 32,114,103, 98,116,111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,
-111,117,116,118, 97,108, 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46,
- 51, 53, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 50, 59,
- 32, 47, 42, 32,107,101,101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, 32,115,121,110, 99, 32,119,
-105,116,104, 32,116,101,120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10,125, 10, 10,118,111,105,100,
- 32,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116,
- 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120,121,122, 32, 61, 32,109,105,
-120, 40, 99,111,108, 46,120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, 32, 49, 46, 48, 41, 32, 45,
- 32, 99,111,108, 46,120,121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, 32, 61, 32, 99,111,108, 46,
-119, 59, 10,125, 10, 10,118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32,104,117,101, 44, 32,102,108,
-111, 97,116, 32,115, 97,116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44,
- 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,118,
-101, 99, 52, 32,104,115,118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 44, 32,104,115,118, 41, 59,
- 10, 10, 9,104,115,118, 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,105,102, 40,104,115,
-118, 91, 48, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,
-115,118, 91, 48, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, 9,104,115,118, 91, 49, 93,
- 32, 42, 61, 32,115, 97,116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61,
- 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 49, 93,
- 61, 32, 48, 46, 48, 59, 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, 9,105,102, 40,104,115,118,
- 91, 50, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,
-118, 91, 50, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9,104,115,118, 95,116,111, 95,
-114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120,
- 40, 99,111,108, 44, 32,111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,112, 97,
-114, 97,116,101, 95,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114, 44, 32,
-111,117,116, 32,102,108,111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, 10,123, 10, 9,114, 32, 61,
- 32, 99,111,108, 46,114, 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, 99,111,108, 46, 98, 59, 10,
-125, 10, 10,118,111,105,100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, 32,114, 44, 32,102,108,111,
- 97,116, 32,103, 44, 32,102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 41, 10,123, 10, 9,
- 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,
-100, 32,111,117,116,112,117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102,108,111, 97,116, 32, 97,108,
-112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32,
- 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 47, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,
-118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32,
- 61, 32,118,101, 99, 46,121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100,
- 95,108,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41,
- 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 59, 10,125, 10,
- 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40,118,101, 99, 51, 32,118,101,
- 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61,
- 32,109, 97,120, 40, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10, 9,111,117,116,
-118, 97,108, 32, 42, 61, 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,119,
-111,111,100, 95,115,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,
-101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109,
- 97,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, 46,120, 42,118,101, 99, 46,
-120, 32, 43, 32,118,101, 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118,101, 99, 46,122, 41, 42, 50,
- 48, 46, 48, 59, 10, 9,102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, 53, 42,115,105,110, 40, 97,
- 41, 59, 10, 10, 9,118, 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40,119,
-105, 44, 32,119,105, 44, 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40,
- 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,
-105,109, 97,103,101, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,
-117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,
-111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,
-117,114,101, 50, 68, 40,105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49,
- 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 9,110,111,114,109, 97,
-108, 46,120, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,110,111,114,109,
- 97,108, 46,121, 32, 61, 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, 41, 59, 10, 9,110,111,114,
-109, 97,108, 46,122, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,
- 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118,101, 99, 51, 32, 97,116,116,
-111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111,114, 99,111, 32, 61, 32, 97,
-116,116,111,114, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40,118,101, 99, 50, 32, 97,116,
-116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100,105,115, 97, 98,108,101,100,
- 32,102,111,114, 32,110,111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32,119,105,116,104, 32,108,101,
- 97,118,105,110,103, 32,111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 10, 9, 32, 32, 32,117,118,
- 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46,
- 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 44, 32, 48,
- 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,
-109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 99,
-111,114,114,101,115,112,111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119,104,105, 99,104, 32,105,115,
- 32,110,101,103, 97,116,101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111,117,116, 32, 98,108,101,110,
-100,101,114, 32,110,111,114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,
-108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,
-101,120, 99,111, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,111,117,116, 32,118,
-101, 99, 51, 32,111,117,116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110,103,101,110,116, 32, 61, 32,
-110,111,114,109, 97,108,105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,
-116,101,120, 99,111, 95,103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101,
- 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, 10, 9,103,108,111, 98, 97,
-108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 46,120,
-121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40,109, 97,116, 52, 32,118,105,
-101,119,105,110,118,109, 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111,
- 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 40,
-111, 98,105,110,118,109, 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46,
- 48, 41, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114,101,102,108, 40,118,101, 99,
- 51, 32,118,110, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, 41, 10,123,
- 10, 9,114,101,102, 32, 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, 44, 32,118,105,101,119, 41,
- 42,118,110, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,
-109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 98,
-108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32,
- 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,
-108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,
-111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44,
- 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,
-102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,
-109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120,
- 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,
-114,103, 98, 95,109,117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101,
- 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32,
- 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,
-111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, 40,118,101, 99, 51, 32,111,
-117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,
-102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,
-108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109,
- 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 49, 46, 48, 41,
- 32, 45, 32, 40,118,101, 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41,
- 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,111,117,116, 99,111,108, 41,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97,121, 40,118,101, 99, 51, 32,
-111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44,
- 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,
-102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,
-109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46,
- 53, 41, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40,102, 97, 99,109, 32, 43, 32,
- 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,
-108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46,
- 48, 32, 45, 32,116,101,120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59,
- 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,103, 32,
- 61, 32,111,117,116, 99,111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,
-111,108, 46,103, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,
-102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,103, 41,
- 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,
- 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 42, 40,102,
- 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, 10, 9,101,108,115,101, 10,
- 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97,
- 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,
-111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,117, 98, 40,118,101, 99, 51,
- 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10,
- 9,105,110, 99,111,108, 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116,
- 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, 40,118,101, 99, 51, 32,111,
-117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,
-102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,
-110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99,
-111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111,
- 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,
-116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32,
- 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,
-105,110, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99,116, 42,111,
-117,116, 99,111,108, 46,114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,103, 32, 33,
- 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43,
- 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40,116,101,120,
- 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116,
- 99,111,108, 46, 98, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, 99,111,108, 46, 98, 59, 10,
-125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, 51, 32,111,117,116, 99,111,
+ 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,
+101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,
+ 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41,
+ 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,
+104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118,
+ 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44,
+ 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59,
+ 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,
+101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,
+116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49,
+ 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,
+111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59,
+ 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,105,102, 40,
+104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108,
+ 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,121, 32,
+ 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,
+111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,118, 97,108, 40,102,108,111, 97,
+116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116,
+ 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99,
+ 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45,
+ 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,
+104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50,
+ 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,122, 32, 43, 32,
+102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116,
+ 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99,111,108,111,114, 40,102,108,111, 97,116, 32,102, 97,
+ 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99,
+ 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46,
+ 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,
+ 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,
+115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50,
+ 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,
+111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,
+118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111,
+ 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120,
+ 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61,
+ 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,111,102,116, 40,102,108,111,
+ 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,
+116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97,
+ 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32,
+ 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,118,
+101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, 32, 45, 32, 99,111,108, 50, 41, 42, 40,111,110,101,
+ 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,102, 97, 99,109, 42, 99,111,108, 49, 32, 43, 32,
+102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99,111,108, 50, 42, 99,111,108, 49, 32, 43, 32, 99,111,
+108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,110,101, 97,114, 40,102,108,111, 97,
+116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116,
+ 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99,
+ 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,
+105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108,
+ 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10,
+ 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40,
+ 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,103,
+ 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99,
+ 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,
+117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50,
+ 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, 10, 9,
+ 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,
+108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32,
+ 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, 46, 48,
+ 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,115,
+ 97,109,112,108,101,114, 49, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,
+111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108,112,104, 97, 41, 10,123, 10, 9,111,117,116, 99,111,
+108, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,111,108,111,114,109, 97,112, 44, 32,102, 97, 99, 41, 59, 10, 9,111,
+117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98,116,
+111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,
+ 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 53, 32, 43, 32, 99,
+111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 50, 59, 32, 47, 42, 32,107,101,
+101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, 32,115,121,110, 99, 32,119,105,116,104, 32,116,101,
+120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10,125, 10, 10,118,111,105,100, 32,105,110,118,101,114,
+116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,
+111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120,121,122, 32, 61, 32,109,105,120, 40, 99,111,108, 46,
+120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, 32, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 46,120,
+121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, 32, 61, 32, 99,111,108, 46,119, 59, 10,125, 10, 10,
+118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32,104,117,101, 44, 32,102,108,111, 97,116, 32,115, 97,
+116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32,
+ 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32,104,115,
+118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,104,115,118,
+ 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,105,102, 40,104,115,118, 91, 48, 93, 62, 49,
+ 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 48, 93, 60,
+ 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, 9,104,115,118, 91, 49, 93, 32, 42, 61, 32,115, 97,
+116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 49, 46, 48, 59, 32,
+101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 48, 46, 48, 59,
+ 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, 9,105,102, 40,104,115,118, 91, 50, 93, 62, 49, 46,
+ 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 50, 93, 60, 48,
+ 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,
+118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 44, 32,
+111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,112, 97,114, 97,116,101, 95,114,
+103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114, 44, 32,111,117,116, 32,102,108,
+111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, 10,123, 10, 9,114, 32, 61, 32, 99,111,108, 46,114,
+ 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,
+100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, 32,114, 44, 32,102,108,111, 97,116, 32,103, 44, 32,
+102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 41, 10,123, 10, 9, 99,111,108, 32, 61, 32,
+118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,111,117,116,112,
+117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,
+117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52,
+ 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,
+100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,
+117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 46,
+121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,108,105,110, 40,118,
+101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,
+116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,
+116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116,
+ 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, 40,
+ 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 42, 61,
+ 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,119,111,111,100, 95,115,105,
+110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116,
+ 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10,
+ 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, 46,120, 42,118,101, 99, 46,120, 32, 43, 32,118,101,
+ 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118,101, 99, 46,122, 41, 42, 50, 48, 46, 48, 59, 10, 9,
+102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, 53, 42,115,105,110, 40, 97, 41, 59, 10, 10, 9,118,
+ 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40,119,105, 44, 32,119,105, 44,
+ 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48,
+ 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,105,109, 97,103,101, 40,
+118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111,
+ 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101,
+ 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,
+105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 41, 42, 48,
+ 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 9,110,111,114,109, 97,108, 46,120, 32, 61, 32,
+ 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,110,111,114,109, 97,108, 46,121, 32, 61,
+ 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, 41, 59, 10, 9,110,111,114,109, 97,108, 46,122, 32,
+ 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, 53, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47,
+ 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,
+111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111,
+ 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,
+117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100,105,115, 97, 98,108,101,100, 32,102,111,114, 32,110,
+111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32,119,105,116,104, 32,108,101, 97,118,105,110,103, 32,
+111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 10, 9, 32, 32, 32,117,118, 32, 61, 32,118,101, 99,
+ 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46,
+ 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 44, 32, 48, 46, 48, 41, 59, 10,125,
+ 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,
+117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 99,111,114,114,101,115,112,
+111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119,104,105, 99,104, 32,105,115, 32,110,101,103, 97,116,
+101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111,117,116, 32, 98,108,101,110,100,101,114, 32,110,111,
+114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,
+114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,116,
+ 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,
+116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110,103,101,110,116, 32, 61, 32,110,111,114,109, 97,108,
+105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,
+103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44,
+ 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,
+105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10,125, 10,
+ 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109,
+ 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,
+118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 40,111, 98,105,110,118,109,
+ 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 41, 46,120,
+121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114,101,102,108, 40,118,101, 99, 51, 32,118,110, 44, 32,
+118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, 41, 10,123, 10, 9,114,101,102, 32,
+ 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, 44, 32,118,105,101,119, 41, 42,118,110, 59, 10,125,
+ 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,
+117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 98,108,101,110,100,101,114,
+ 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,111,117,
+116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10,
+ 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108,
+ 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116,
+ 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,
+102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46,
+ 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,
+102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,109,117,
+108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,
+116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,
+111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,
+103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,
+102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44,
+ 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,
+102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102,
+ 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48,
+ 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101,
+ 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,116,101,120,
+ 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97,121, 40,118,101, 99, 51, 32,111,117,116, 99,111,108,
+ 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116,
+ 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,
+102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46,
+ 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,
+110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97,
+ 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32,
+ 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,
+120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,
+111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,
+111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 41, 59,
+ 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43,
+ 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,103, 41, 41, 42, 40, 49, 46, 48,
+ 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46,
+ 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 42, 40,102, 97, 99,109, 32, 43, 32,
+ 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,
+108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46,
+ 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59,
+ 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,117, 98, 40,118,101, 99, 51, 32,111,117,116, 99,111,
108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,
-116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116,
- 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49,
- 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43,
- 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,
-111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,
+116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108,
+ 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125,
+ 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44,
+ 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,
+102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61,
+ 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101,
+ 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,
+103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109,
+ 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97,
+ 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,
+114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,
+114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41,
+ 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99,116, 42,
+111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46, 98, 32,
+ 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32,
+ 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,
+100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99,
+ 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103,
+ 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59,
+ 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,
+116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42,
+ 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,
+101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,
+120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,
+116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108,
+ 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97,
+ 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,
+111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,
+115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97,
+ 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,103, 41,
+ 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,
+117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,
+105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108,
+ 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,
+105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,
101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97,
99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,
109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32,
49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59,
- 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,
+ 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,
111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,
-108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116,
+108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116,
99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108,
46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,
-108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98,
+108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98,
32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59,
- 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118,101, 99, 51, 32,111,117,116,
- 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,
-111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111,
- 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102,
- 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120,
- 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108,
- 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,
-114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108,
- 32, 62, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101,
- 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116,
- 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,
-110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116,
- 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104,117,101, 40,118,101, 99, 51,
- 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10,
- 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,
-118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32,
- 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, 99, 51, 32,111,117,116, 99,
-111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111,
- 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52,
- 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,
-111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44,
- 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,
-118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,
-101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97,
- 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59,
- 10, 10, 9,109,105,120, 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,
-108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41,
- 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,
-109,116,101,120, 95,114,103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51,
- 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44,
- 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,
-109,105,120, 95, 99,111,108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108,
+ 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104,117,101, 40,118,101, 99, 51, 32,111,117,116, 99,111,
+108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,
+116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32,
+ 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,
+117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,
+ 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101,
+ 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,
+103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10,
+ 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108,
44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59,
10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,
-116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44,
- 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,109, 41, 10,123, 10, 9,
-102, 97, 99,116, 32, 42, 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102,
- 97, 99,116, 59, 10, 10, 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,
-116,109,112, 32, 61, 32,102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, 59, 10, 9, 9,102, 97, 99,
-109, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 98,
-108,101,110,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44,
- 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111,
- 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118,
- 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,
-110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40,102,108,111, 97,116, 32,111,
-117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44,
- 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10,
- 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97,
- 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,
-102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,
-111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,
- 99,114,101,101,110, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,
-118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,
-102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 49, 46, 48, 32,
- 45, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40,
- 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,
-101, 95,115,117, 98, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,
-118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,
-102, 97, 99,116, 32, 61, 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,
-111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,
- 97,100,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,
-102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,
-116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,
-108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97,
- 99,116, 32, 61, 32,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32,
- 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,118,
- 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111,
- 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,
-110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101,
- 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,102, 40,116,101,
-120, 99,111,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,
-111,108, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9,
- 9,105,110, 99,111,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101,
- 95,100,105,102,102, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,
-118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,
-105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,
-101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,
-108,117,101, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120,
- 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116,
- 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,
-101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59,
- 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40,
- 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,
-105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,
-117,101, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120,
- 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116,
- 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,
-101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59,
- 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40,
- 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,
-105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,
-117,101, 95, 99,108, 97,109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116,
- 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32,109, 97,120, 40,102,
- 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,
-109,112, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,
-123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,
-104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,111,117,116,104, 97,114,
- 32, 61, 32,104, 97,114, 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,109,
-117,108,116,105,112,108,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111,
- 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, 48, 59, 10, 10, 9,105,102,
- 40,104, 97,114, 32, 60, 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,
-105,102, 40,104, 97,114, 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 53, 49, 49, 46, 48, 59, 10,
- 9,101,108,115,101, 32,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120,
- 95, 97,108,112,104, 97, 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,
-118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44,
- 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123,
- 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59,
- 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, 99, 52, 32,114,103, 98, 44,
- 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,105,110,116,101,110,115,105,
-116,121, 32, 61, 32,100,111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, 32, 48, 46, 50, 41, 44, 32,
-114,103, 98, 46,114,103, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,105,110,118,
-101,114,116, 40,102,108,111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,
-118, 97,108,117,101, 41, 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, 45, 32,105,110,118, 97,108,
-117,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101,114,116, 40,118,101, 99, 52,
- 32,105,110,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,
-103, 98, 32, 61, 32,118,101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114,103, 98, 46,114,103, 98, 44,
- 32,105,110,114,103, 98, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,116,
-101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97,116, 32,105,110,116,101,110,
-115,105,116,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,
-102,108,111, 97,116, 32,111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,
-116, 32, 61, 32,105,110,116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115,105,116,121, 32, 61, 32,105,
-110,116,101,110,115,105,116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,
-115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,
-116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, 52, 32,114,103, 98, 44, 32,
-111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,
-117,116,114,103, 98, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, 98, 46, 97, 59, 10, 9,111,
-117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, 46, 97, 42,115,116,101,110,
- 99,105,108, 41, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102,115, 40,118,101, 99, 51, 32,
-116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120,
- 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, 32,111,102,115, 59, 10,125,
- 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40,118,101, 99, 51, 32,116,101,
-120, 99,111, 44, 32,118,101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,
-111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, 99,111, 59, 10,125, 10, 10,
-118,111,105,100, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,
-117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51,
- 40,118,101, 99, 46,120,121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 44, 32,118,101,
- 99, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,116,101,
-120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,
-108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,
-116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118, 97,108,117,101,
- 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, 97,108, 40,118,101, 99, 51,
- 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,
-110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32,111,102, 32,116,104,101, 32,
-114,101,100, 32, 99,104, 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, 47, 32,116,104,101, 32,110,
-111,114,109, 97,108, 32,109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32,116,104,101, 32,111,117,116,
-115,105,100,101, 32,119,111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32,116,111, 32, 98,101, 32,100,
-111,110,101, 32, 98,101, 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, 47, 32,116,104,101, 32,110,
-111,114,109, 97,108, 32,117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, 10, 9, 47, 47, 32, 83,104,
-111,117,108,100, 32,116,104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105,115, 32,110,101,103, 97,116,
-101, 32,109,117,115,116, 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, 99, 52, 32, 99,111,108,111,
-114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,110,
-111,114,109, 97,108, 32, 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46,114, 44, 32, 99,111,108,111,
-114, 46,103, 44, 32, 99,111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, 44, 32, 48, 46, 53, 44, 32,
- 48, 46, 53, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,110,111,114,109, 97,108,115,
- 95,105,110,105,116, 40, 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78,111,114,103, 44, 32,
-111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77,
- 97,103,110,105,116,117,100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, 10, 9,118, 78, 97, 99, 99,
- 32, 61, 32,118, 78, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10,
- 10, 47, 42, 42, 32,104,101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116,114, 97, 99,116, 32,116,104,
-101, 32,117,112,112,101,114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102,114,111,109, 32, 97, 32, 52,
-120, 52, 32,109, 97,116,114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, 40,109, 97,116, 52, 32,109,
- 52, 41, 10,123, 10, 9,109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, 52, 91, 48, 93, 46,120,121,
-122, 59, 10, 9,109, 51, 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 50, 93, 32, 61, 32,
-109, 52, 91, 50, 93, 46,120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, 10,118,111,105,100, 32,109,
-116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,
-102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,
-109, 97,116, 52, 32,109, 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, 44, 32,109, 97,116, 52, 32,
-109, 79, 98,106, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,
-111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99,
- 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,
-103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44,
- 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99,
- 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,109, 97,116, 51,
- 32,111, 98,106, 50,118,105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, 32, 42, 32,109, 79, 98,106,
- 41, 59, 10, 9,109, 97,116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 79, 98,106,
- 73,110,118, 32, 42, 32,109, 86,105,101,119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83,
- 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10,
- 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,121, 40,
- 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110,111,114,109, 97,108,105,122,
-101, 40, 32,115,117,114,102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, 59, 10, 10, 9,118, 82, 49,
- 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,
- 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,
-111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, 42, 32,112,114,101,116,114,
- 97,110,115,102,111,114,109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,
-121, 41, 32,117,115,105,110,103, 32,116,104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110,115,112,111,115,101,100, 32,
- 42, 47, 10, 9,118, 82, 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 82, 50, 32, 61,
- 32,118, 82, 50, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, 32, 42, 32,118,105,101,119,
- 50,111, 98,106, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,
-102, 68,101,116, 41, 32, 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61,
- 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77,
- 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,
-116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,
-112, 95,105,110,105,116, 95,116,101,120,116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,
-111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,
-108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97,
- 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118,
- 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,
-116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,
-118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,
-101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10,
- 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41,
- 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,
-108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108,
- 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118,
- 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111,114,109, 97,108,105,122,101,
- 40, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, 10, 9,102, 68,101,116, 32,
- 61, 32,115,105,103,110, 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, 32, 41, 59, 10, 9, 10, 9,
-102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118,
- 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,
-101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,
-103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,
-100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99,101, 40, 32,118,101, 99, 51,
- 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9,
- 9, 9, 9, 32, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,
-101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,102,108,111, 97,
-116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,
- 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82,
- 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32,
- 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,
-112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,
-102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47,
- 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120,
- 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109,
- 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,
-109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118,
- 82, 49, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,
-102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,
-102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59,
- 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,
-101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, 40, 32,118,101, 99, 51, 32,
-116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,
-108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,
-111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99,
- 50, 32, 83, 84,108,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108,114, 32, 61, 32,
-116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9,118,101, 99,
- 50, 32, 83, 84,117,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,
-121, 41, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, 59, 10, 9,114,103, 98,116,
-111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, 44, 32, 72,108,108, 32, 41,
- 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,114, 41,
- 44, 32, 72,108,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97,
- 44, 32, 83, 84,117,108, 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32,
- 42, 32, 40, 72,108,114, 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40,
- 72,117,108, 32, 45, 32, 72,108,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,
-112, 53, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,
-108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32,
- 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121,
- 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59,
- 10, 10, 9,118,101, 99, 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,
-108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101,
- 99, 50, 32, 83, 84,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32,
- 59, 10, 9,118,101, 99, 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,
-101,120, 68,121, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46,
- 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72,108, 44, 72,114, 44, 72,100,
- 44, 72,117, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,
- 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109,
- 97, 44, 32, 83, 84,108, 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101,
- 50, 68, 40,105,109, 97, 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,
-120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,
-119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72,117, 32, 41, 59, 10, 9, 10,
- 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, 59, 10, 9,100, 66,116, 32,
- 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,
+116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,
+120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,
+116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120,
+ 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48,
+ 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,
+111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,
+103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,
+108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,
+101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95, 99,111,
+108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41,
+ 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,
+108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,
+108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116,
+ 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,109, 41, 10,123, 10, 9,102, 97, 99,116, 32, 42,
+ 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10,
+ 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32,
+102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, 59, 10, 9, 9,102, 97, 99,109, 32, 61, 32,116,109,
+112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 98,108,101,110,100, 40,102,
+108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116,
+ 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,
+111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118,
+ 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61,
+ 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44,
+ 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116,
+ 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116,
+ 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97,
+ 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10,
+ 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,
+116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115, 99,114,101,101,110, 40,
+102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,
+116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,
+ 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,
+118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61,
+ 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,
+109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,
+111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,117, 98, 40,
+102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,
+116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,
+ 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,
+118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61,
+ 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,
+117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 97,100,100, 40,102,108,
+111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,
+102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,
+108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,
+114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32,102,
+ 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,
+111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,118, 40,102,108,111, 97,116,
+ 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,
+116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,
+123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,
+102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 32, 33,
+ 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102,
+ 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108,
+ 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,102,102, 40,
+102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,
+116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,
+ 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,
+118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32,
+ 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32,
+ 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100, 97,
+114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,
+108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116,
+ 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,
+117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111,
+ 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,
+111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32,
+ 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,108,105,103,
+104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,
+108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116,
+ 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,
+117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111,
+ 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,
+111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32,
+ 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,
+109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116,
+ 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46,
+ 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 40,102,108,111,
+ 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,
+102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,
+117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,111,117,116,104, 97,114, 32, 61, 32,104, 97,114,
+ 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,109,117,108,116,105,112,108,
+121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,
+104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, 48, 59, 10, 10, 9,105,102, 40,104, 97,114, 32, 60,
+ 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,104, 97,114,
+ 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 53, 49, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,
+111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97,
+ 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,
+112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,
+116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116,
+ 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,
+111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10,118,111,
+105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,
+108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,105,110,116,101,110,115,105,116,121, 32, 61, 32,100,
+111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, 32, 48, 46, 50, 41, 44, 32,114,103, 98, 46,114,103,
+ 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,105,110,118,101,114,116, 40,102,108,
+111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,117,101, 41,
+ 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, 45, 32,105,110,118, 97,108,117,101, 59, 10,125, 10,
+ 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101,114,116, 40,118,101, 99, 52, 32,105,110,114,103, 98,
+ 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,
+101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114,103, 98, 46,114,103, 98, 44, 32,105,110,114,103, 98,
+ 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,116,101,110, 99,105,108, 40,
+102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 44, 32,
+111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,
+111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,105,110,
+116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115,105,116,121, 32, 61, 32,105,110,116,101,110,115,105,
+116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,
+108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,116,101,110, 99,105,108,
+ 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,
+111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41,
+ 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, 98, 46, 97, 59, 10, 9,111,117,116,114,103, 98, 32,
+ 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, 46, 97, 42,115,116,101,110, 99,105,108, 41, 59, 10,
+ 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102,115, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44,
+ 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10,
+ 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, 32,111,102,115, 59, 10,125, 10, 10,118,111,105,100,
+ 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,
+101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,
+111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,109,
+116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99,
+ 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40,118,101, 99, 46,120,
+121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 44, 32,118,101, 99, 46,122, 41, 59, 10,
+125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115,
+ 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,
+117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,
+101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48,
+ 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,116,101,120, 99,111,
+ 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108,
+ 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32,111,102, 32,116,104,101, 32,114,101,100, 32, 99,104,
+ 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,
+109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32,116,104,101, 32,111,117,116,115,105,100,101, 32,119,
+111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32,116,111, 32, 98,101, 32,100,111,110,101, 32, 98,101,
+ 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,
+117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, 10, 9, 47, 47, 32, 83,104,111,117,108,100, 32,116,
+104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105,115, 32,110,101,103, 97,116,101, 32,109,117,115,116,
+ 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, 99, 52, 32, 99,111,108,111,114, 32, 61, 32,116,101,
+120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,110,111,114,109, 97,108, 32,
+ 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46,114, 44, 32, 99,111,108,111,114, 46,103, 44, 32, 99,
+111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, 44, 32, 48, 46, 53, 44, 32, 48, 46, 53, 41, 41, 59,
+ 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,110,111,114,109, 97,108,115, 95,105,110,105,116, 40,
+ 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78,111,114,103, 44, 32,111,117,116, 32,118,101,
+ 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,
+100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, 10, 9,118, 78, 97, 99, 99, 32, 61, 32,118, 78, 59,
+ 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 42, 32,104,
+101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116,114, 97, 99,116, 32,116,104,101, 32,117,112,112,101,
+114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102,114,111,109, 32, 97, 32, 52,120, 52, 32,109, 97,116,
+114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, 40,109, 97,116, 52, 32,109, 52, 41, 10,123, 10, 9,
+109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, 52, 91, 48, 93, 46,120,121,122, 59, 10, 9,109, 51,
+ 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 50, 93, 32, 61, 32,109, 52, 91, 50, 93, 46,
+120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,
+109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44,
+ 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,109, 97,116, 52, 32,109,
+ 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 44, 32,
+109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,
+114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10,
+ 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,
+101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9,
+ 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44,
+ 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,109, 97,116, 51, 32,111, 98,106, 50,118,
+105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, 32, 42, 32,109, 79, 98,106, 41, 59, 10, 9,109, 97,
+116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 79, 98,106, 73,110,118, 32, 42, 32,
+109, 86,105,101,119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,
+119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,
+118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,
+112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,115,117,114,
+102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,
+115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40,
+ 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118,
+ 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, 42, 32,112,114,101,116,114, 97,110,115,102,111,114,
+109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,
+110,103, 32,116,104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110,115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82,
+ 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42,
+ 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10,
+ 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32,
+ 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99,
+ 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,
+100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77,
+ 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116,
+ 95,116,101,120,116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101,
+ 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102,
+ 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44,
+ 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,
+117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9,
+ 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,
+ 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,
+105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,
+118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99,
+ 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,
+105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10,
+ 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84,
+ 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,
+115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110,
+ 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,
+102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,
+117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,
+114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,
+101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120,
+ 95, 98,117,109,112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,
+112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,
+102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78,
+ 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,
+118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,
+117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116,
+ 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,
+118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59,
+ 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32,
+ 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109,
+ 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,
+108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78,
+ 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32,
+ 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10,
+ 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59,
+ 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,
+116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,
+118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,
+118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44,
+ 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,
+115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108,
+ 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,
+120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108,
+ 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9,
+ 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,
+101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,
+116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32,
+ 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108,
+ 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114,
+ 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32,
+ 72,108,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101,
+ 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104,
+ 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116,
+ 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,
+118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101,
+ 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99,
+ 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,
+120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114,
+ 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99,
+ 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59,
+ 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,
+120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72,108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,
+114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99,
+ 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,
+ 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97,
+ 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50,
+ 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,
+116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72,117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61,
+ 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,
+108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,
+112, 95,100,101,114,105,118, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,
+109, 97, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,102,108,
+111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41,
+ 32, 10,123, 10, 9,102,108,111, 97,116, 32,115, 32, 61, 32, 49, 46, 48, 59, 9, 9, 47, 47, 32,110,101,103, 97,116,101, 32,116,
+104,105,115, 32,105,102, 32,102,108,105,112,112,101,100, 32,116,101,120,116,117,114,101, 32, 99,111,111,114,100,105,110, 97,116,
+101, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10,
+ 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9, 10,
+ 9, 47, 47, 32,116,104,105,115, 32,118, 97,114,105, 97,110,116, 32,117,115,105,110,103, 32, 97, 32,100,101,114,105,118, 97,116,
+105,118,101, 32,109, 97,112, 32,105,115, 32,100,101,115, 99,114,105, 98,101,100, 32,104,101,114,101, 10, 9, 47, 47, 32,104,116,
+116,112, 58, 47, 47,109,109,105,107,107,101,108,115,101,110, 51,100, 46, 98,108,111,103,115,112,111,116, 46, 99,111,109, 47, 50,
+ 48, 49, 49, 47, 48, 55, 47,100,101,114,105,118, 97,116,105,118,101, 45,109, 97,112,115, 46,104,116,109,108, 10, 9,118,101, 99,
+ 50, 32,100,105,109, 32, 61, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 44, 32,105,109, 97, 95,121, 41, 59, 10, 9,118,101, 99,
+ 50, 32,100, 66,100,117,118, 32, 61, 32,104, 83, 99, 97,108,101, 42,100,105,109, 42, 40, 50, 46, 48, 42,116,101,120,116,117,114,
+101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 46,120,121, 45, 49, 46, 48, 41, 59, 10, 9, 10, 9,100,
+ 66,115, 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,120, 46,120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121,
+ 42, 84,101,120, 68,120, 46,121, 59, 10, 9,100, 66,116, 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,121, 46,120,
+ 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,121, 46,121, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,
101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116,
32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,
118, 82, 50, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,
diff --git a/source/blender/ikplugin/CMakeLists.txt b/source/blender/ikplugin/CMakeLists.txt
index da5c2f69635..dc637aedd6d 100644
--- a/source/blender/ikplugin/CMakeLists.txt
+++ b/source/blender/ikplugin/CMakeLists.txt
@@ -25,10 +25,10 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
+ .
+ ../blenkernel
../blenlib
../makesdna
- ../blenkernel
- ../ikplugin
../../../intern/guardedalloc
../../../intern/iksolver/extern
)
diff --git a/source/blender/imbuf/CMakeLists.txt b/source/blender/imbuf/CMakeLists.txt
index 16bc7854617..1547d2ee9ce 100644
--- a/source/blender/imbuf/CMakeLists.txt
+++ b/source/blender/imbuf/CMakeLists.txt
@@ -32,13 +32,12 @@ endif()
set(INC
.
../avi
- ../blenlib
../blenkernel
+ ../blenlib
../blenloader
../makesdna
- ../../../intern/memutil
../../../intern/guardedalloc
- ../../../intern/ffmpeg
+ ../../../intern/memutil
)
set(INC_SYS
@@ -56,6 +55,8 @@ set(SRC
intern/filetype.c
intern/filter.c
intern/imageprocess.c
+ intern/indexer.c
+ intern/indexer_dv.c
intern/iris.c
intern/jp2.c
intern/jpeg.c
@@ -82,6 +83,7 @@ set(SRC
intern/IMB_anim.h
intern/IMB_filetype.h
intern/IMB_filter.h
+ intern/IMB_indexer.h
intern/IMB_metadata.h
intern/cineon/cin_debug_stuff.h
intern/cineon/cineonfile.h
@@ -114,28 +116,43 @@ if(WITH_IMAGE_OPENEXR)
endif()
if(WITH_IMAGE_TIFF)
- list(APPEND INC_SYS ${TIFF_INCLUDE_DIR})
+ list(APPEND INC_SYS
+ ${TIFF_INCLUDE_DIR}
+ )
add_definitions(-DWITH_TIFF)
endif()
if(WITH_IMAGE_OPENJPEG)
- list(APPEND INC_SYS ${OPENJPEG_INC})
+ list(APPEND INC_SYS
+ ${OPENJPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_OPENJPEG)
endif()
if(WITH_IMAGE_REDCODE)
- list(APPEND INC_SYS ${REDCODE_INC})
+ list(APPEND INC_SYS
+ ${REDCODE_INC}
+ )
add_definitions(-DWITH_REDCODE)
endif()
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../quicktime)
- list(APPEND INC_SYS ${QUICKTIME_INC})
+ list(APPEND INC
+ ../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
if(WITH_CODEC_FFMPEG)
- list(APPEND INC_SYS ${FFMPEG_INC})
+ list(APPEND INC
+ ../../../intern/ffmpeg
+ )
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
diff --git a/source/blender/imbuf/IMB_imbuf.h b/source/blender/imbuf/IMB_imbuf.h
index 5d61452e149..2c926f2d94b 100644
--- a/source/blender/imbuf/IMB_imbuf.h
+++ b/source/blender/imbuf/IMB_imbuf.h
@@ -133,6 +133,7 @@ struct ImBuf *IMB_allocImBuf(unsigned int x, unsigned int y,
*/
void IMB_refImBuf(struct ImBuf *ibuf);
+struct ImBuf * IMB_makeSingleUser(struct ImBuf *ibuf);
/**
*
@@ -193,17 +194,70 @@ void IMB_rectblend(struct ImBuf *dbuf, struct ImBuf *sbuf, int destx,
int desty, int srcx, int srcy, int width, int height, IMB_BlendMode mode);
/**
+ *
+ * @attention Defined in indexer.c
+ */
+
+typedef enum IMB_Timecode_Type {
+ IMB_TC_NONE = 0, /* don't use timecode files at all */
+ IMB_TC_RECORD_RUN = 1, /* use images in the order as they are recorded
+ (currently, this is the only one implemented
+ and is a sane default)
+ */
+ IMB_TC_FREE_RUN = 2, /* use global timestamp written by recording
+ device (prosumer camcorders e.g. can do
+ that) */
+ IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN = 4,
+ /* interpolate a global timestamp using the
+ record date and time written by recording
+ device (*every* consumer camcorder can do
+ that :) )*/
+ IMB_TC_MAX_SLOT = 3
+} IMB_Timecode_Type;
+
+typedef enum IMB_Proxy_Size {
+ IMB_PROXY_NONE = 0,
+ IMB_PROXY_25 = 1,
+ IMB_PROXY_50 = 2,
+ IMB_PROXY_75 = 4,
+ IMB_PROXY_100 = 8,
+ IMB_PROXY_MAX_SLOT = 4
+} IMB_Proxy_Size;
+
+/* defaults to BL_proxy within the directory of the animation */
+void IMB_anim_set_index_dir(struct anim * anim, const char * dir);
+
+int IMB_anim_index_get_frame_index(struct anim * anim, IMB_Timecode_Type tc,
+ int position);
+
+/* will rebuild all used indices and proxies at once */
+void IMB_anim_index_rebuild(struct anim * anim,
+ IMB_Timecode_Type build_tcs,
+ IMB_Proxy_Size build_preview_sizes,
+ int build_quality,
+ short *stop, short *do_update, float *progress);
+
+/**
* Return the length (in frames) of the given @a anim.
*/
-int IMB_anim_get_duration(struct anim *anim);
+int IMB_anim_get_duration(struct anim *anim, IMB_Timecode_Type tc);
+
+
+/**
+ * Return the fps contained in movie files (function rval is FALSE,
+ * and frs_sec and frs_sec_base untouched if none available!)
+ */
+int IMB_anim_get_fps(struct anim * anim,
+ short * frs_sec, float * frs_sec_base);
/**
*
* @attention Defined in anim.c
*/
-struct anim *IMB_open_anim(const char *name, int ib_flags);
+struct anim *IMB_open_anim(const char *name, int ib_flags, int streamindex);
void IMB_close_anim(struct anim *anim);
+
/**
*
* @attention Defined in anim.c
@@ -218,7 +272,10 @@ int IMB_anim_get_preseek(struct anim *anim);
* @attention Defined in anim.c
*/
-struct ImBuf *IMB_anim_absolute(struct anim *anim, int position);
+struct ImBuf *IMB_anim_absolute(
+ struct anim *anim, int position,
+ IMB_Timecode_Type tc /* = 1 = IMB_TC_RECORD_RUN */,
+ IMB_Proxy_Size preview_size /* = 0 = IMB_PROXY_NONE */);
/**
*
@@ -231,12 +288,6 @@ struct ImBuf *IMB_anim_previewframe(struct anim *anim);
*
* @attention Defined in anim.c
*/
-void IMB_free_anim_ibuf(struct anim *anim);
-
-/**
- *
- * @attention Defined in anim.c
- */
void IMB_free_anim(struct anim *anim);
/**
@@ -252,7 +303,7 @@ void IMB_filter(struct ImBuf *ibuf);
void IMB_filterN(struct ImBuf *out, struct ImBuf *in);
void IMB_mask_filter_extend(char *mask, int width, int height);
void IMB_mask_clear(struct ImBuf *ibuf, char *mask, int val);
-void IMB_filter_extend(struct ImBuf *ibuf, char *mask);
+void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter);
void IMB_makemipmap(struct ImBuf *ibuf, int use_filter);
void IMB_remakemipmap(struct ImBuf *ibuf, int use_filter);
struct ImBuf *IMB_getmipmap(struct ImBuf *ibuf, int level);
@@ -338,6 +389,7 @@ void IMB_float_from_rect_simple(struct ImBuf *ibuf); /* no profile conversion */
/* note, check that the conversion exists, only some are supported */
void IMB_convert_profile(struct ImBuf *ibuf, int profile);
float *IMB_float_profile_ensure(struct ImBuf *ibuf, int profile, int *alloc);
+void IMB_color_to_bw(struct ImBuf *ibuf);
/**
* Change the ordering of the color bytes pointed to by rect from
@@ -442,11 +494,12 @@ void IMB_freezbuffloatImBuf(struct ImBuf *ibuf);
*
* @attention Defined in rectop.c
*/
-void IMB_rectfill(struct ImBuf *drect, float col[4]);
+void IMB_rectfill(struct ImBuf *drect, const float col[4]);
void IMB_rectfill_area(struct ImBuf *ibuf, float *col, int x1, int y1, int x2, int y2);
+void IMB_rectfill_alpha(struct ImBuf *ibuf, const float value);
/* this should not be here, really, we needed it for operating on render data, IMB_rectfill_area calls it */
-void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, float *col, int x1, int y1, int x2, int y2);
+void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, const float col[4], int x1, int y1, int x2, int y2);
/* defined in metadata.c */
int IMB_metadata_change_field(struct ImBuf *img, const char *key, const char *field);
diff --git a/source/blender/imbuf/intern/IMB_anim.h b/source/blender/imbuf/intern/IMB_anim.h
index fba0772dd93..8436846bf2e 100644
--- a/source/blender/imbuf/intern/IMB_anim.h
+++ b/source/blender/imbuf/intern/IMB_anim.h
@@ -127,19 +127,22 @@
#define MAXNUMSTREAMS 50
struct _AviMovie;
+struct anim_index;
struct anim {
int ib_flags;
int curtype;
int curposition; /* index 0 = 1e, 1 = 2e, enz. */
int duration;
+ short frs_sec;
+ float frs_sec_base;
int x, y;
/* voor op nummer */
char name[256];
/* voor sequence */
char first[256];
-
+
/* movie */
void *movie;
void *track;
@@ -148,9 +151,7 @@ struct anim {
size_t framesize;
int interlacing;
int preseek;
-
- /* data */
- struct ImBuf * ibuf1, * ibuf2;
+ int streamindex;
/* avi */
struct _AviMovie *avi;
@@ -179,11 +180,26 @@ struct anim {
AVFrame *pFrameDeinterlaced;
struct SwsContext *img_convert_ctx;
int videoStream;
+
+ struct ImBuf * last_frame;
+ int64_t last_pts;
+ int64_t next_pts;
+ int64_t next_undecoded_pts;
+ AVPacket next_packet;
#endif
#ifdef WITH_REDCODE
struct redcode_handle * redcodeCtx;
#endif
+
+ char index_dir[256];
+
+ int proxies_tried;
+ int indices_tried;
+
+ struct anim * proxy_anim[IMB_PROXY_MAX_SLOT];
+ struct anim_index * curr_idx[IMB_TC_MAX_SLOT];
+
};
#endif
diff --git a/source/blender/imbuf/intern/IMB_indexer.h b/source/blender/imbuf/intern/IMB_indexer.h
new file mode 100644
index 00000000000..f55420fd106
--- /dev/null
+++ b/source/blender/imbuf/intern/IMB_indexer.h
@@ -0,0 +1,133 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ *
+ * Contributor(s): Peter Schlaile
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+
+#ifndef IMB_INDEXER_H
+#define IMB_INDEXER_H
+
+#ifdef WIN32
+#include <io.h>
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
+#include "BKE_utildefines.h"
+#include "IMB_anim.h"
+
+/*
+ seperate animation index files to solve the following problems:
+
+ a) different timecodes within one file (like DTS/PTS, Timecode-Track,
+ "implicit" timecodes within DV-files and HDV-files etc.)
+ b) seeking difficulties within ffmpeg for files with timestamp holes
+ c) broken files that miss several frames / have varying framerates
+ d) use proxies accordingly
+
+ ... we need index files, that provide us with
+
+ the binary(!) position, where we have to seek into the file *and*
+ the continuous frame number (ignoring the holes) starting from the
+ beginning of the file, so that we know, which proxy frame to serve.
+
+ This index has to be only built once for a file and is written into
+ the BL_proxy directory structure for later reuse in different blender files.
+
+*/
+
+typedef struct anim_index_entry {
+ int frameno;
+ unsigned long long seek_pos;
+ unsigned long long seek_pos_dts;
+ unsigned long long pts;
+} anim_index_entry;
+
+struct anim_index {
+ char name[256];
+
+ int num_entries;
+ struct anim_index_entry * entries;
+};
+
+struct anim_index_builder;
+
+typedef struct anim_index_builder {
+ FILE * fp;
+ char name[FILE_MAXDIR + FILE_MAXFILE];
+ char temp_name[FILE_MAXDIR + FILE_MAXFILE];
+
+ void * private_data;
+
+ void (*delete_priv_data)(struct anim_index_builder * idx);
+ void (*proc_frame)(struct anim_index_builder * idx,
+ unsigned char * buffer,
+ int data_size,
+ struct anim_index_entry * entry);
+} anim_index_builder;
+
+anim_index_builder * IMB_index_builder_create(const char * name);
+void IMB_index_builder_add_entry(anim_index_builder * fp,
+ int frameno, unsigned long long seek_pos,
+ unsigned long long seek_pos_dts,
+ unsigned long long pts);
+
+void IMB_index_builder_proc_frame(anim_index_builder * fp,
+ unsigned char * buffer,
+ int data_size,
+ int frameno, unsigned long long seek_pos,
+ unsigned long long seek_pos_dts,
+ unsigned long long pts);
+
+void IMB_index_builder_finish(anim_index_builder * fp, int rollback);
+
+struct anim_index * IMB_indexer_open(const char * name);
+unsigned long long IMB_indexer_get_seek_pos(
+ struct anim_index * idx, int frameno_index);
+unsigned long long IMB_indexer_get_seek_pos_dts(
+ struct anim_index * idx, int frameno_index);
+
+int IMB_indexer_get_frame_index(struct anim_index * idx, int frameno);
+unsigned long long IMB_indexer_get_pts(struct anim_index * idx,
+ int frame_index);
+int IMB_indexer_get_duration(struct anim_index * idx);
+
+int IMB_indexer_can_scan(struct anim_index * idx,
+ int old_frame_index, int new_frame_index);
+
+void IMB_indexer_close(struct anim_index * idx);
+
+void IMB_free_indices(struct anim * anim);
+
+int IMB_anim_index_get_frame_index(
+ struct anim * anim, IMB_Timecode_Type tc, int position);
+
+struct anim * IMB_anim_open_proxy(
+ struct anim * anim, IMB_Proxy_Size preview_size);
+struct anim_index * IMB_anim_open_index(
+ struct anim * anim, IMB_Timecode_Type tc);
+
+int IMB_proxy_size_to_array_index(IMB_Proxy_Size pr_size);
+int IMB_timecode_to_array_index(IMB_Timecode_Type tc);
+
+#endif
diff --git a/source/blender/imbuf/intern/allocimbuf.c b/source/blender/imbuf/intern/allocimbuf.c
index 59772771f3b..6ce6c9409d1 100644
--- a/source/blender/imbuf/intern/allocimbuf.c
+++ b/source/blender/imbuf/intern/allocimbuf.c
@@ -177,6 +177,19 @@ void IMB_refImBuf(ImBuf *ibuf)
ibuf->refcounter++;
}
+ImBuf * IMB_makeSingleUser(ImBuf *ibuf)
+{
+ ImBuf * rval;
+
+ if (!ibuf || ibuf->refcounter == 0) { return ibuf; }
+
+ rval = IMB_dupImBuf(ibuf);
+
+ IMB_freeImBuf(ibuf);
+
+ return rval;
+}
+
short addzbufImBuf(ImBuf *ibuf)
{
int size;
diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c
index 919b0eb0c29..c4fe1523e90 100644
--- a/source/blender/imbuf/intern/anim_movie.c
+++ b/source/blender/imbuf/intern/anim_movie.c
@@ -57,6 +57,7 @@
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
+#include <math.h>
#ifndef _WIN32
#include <dirent.h>
#else
@@ -66,6 +67,7 @@
#include "BLI_blenlib.h" /* BLI_remlink BLI_filesize BLI_addtail
BLI_countlist BLI_stringdec */
#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
#include "MEM_guardedalloc.h"
@@ -90,6 +92,7 @@
#include "IMB_allocimbuf.h"
#include "IMB_anim.h"
+#include "IMB_indexer.h"
#ifdef WITH_FFMPEG
#include <libavformat/avformat.h>
@@ -304,15 +307,6 @@ static void free_anim_avi (struct anim *anim) {
anim->duration = 0;
}
-void IMB_free_anim_ibuf(struct anim * anim) {
- if (anim == NULL) return;
-
- if (anim->ibuf1) IMB_freeImBuf(anim->ibuf1);
- if (anim->ibuf2) IMB_freeImBuf(anim->ibuf2);
-
- anim->ibuf1 = anim->ibuf2 = NULL;
-}
-
#ifdef WITH_FFMPEG
static void free_anim_ffmpeg(struct anim * anim);
#endif
@@ -326,7 +320,6 @@ void IMB_free_anim(struct anim * anim) {
return;
}
- IMB_free_anim_ibuf(anim);
free_anim_movie(anim);
free_anim_avi(anim);
@@ -339,6 +332,7 @@ void IMB_free_anim(struct anim * anim) {
#ifdef WITH_REDCODE
free_anim_redcode(anim);
#endif
+ IMB_free_indices(anim);
MEM_freeN(anim);
}
@@ -350,13 +344,14 @@ void IMB_close_anim(struct anim * anim) {
}
-struct anim * IMB_open_anim( const char * name, int ib_flags) {
+struct anim * IMB_open_anim( const char * name, int ib_flags, int streamindex) {
struct anim * anim;
anim = (struct anim*)MEM_callocN(sizeof(struct anim), "anim struct");
if (anim != NULL) {
- strcpy(anim->name, name); /* fixme: possible buffer overflow here? */
+ BLI_strncpy(anim->name, name, sizeof(anim->name));
anim->ib_flags = ib_flags;
+ anim->streamindex = streamindex;
}
return(anim);
}
@@ -368,10 +363,13 @@ static int startavi (struct anim *anim) {
#if defined(_WIN32) && !defined(FREE_WINDOWS)
HRESULT hr;
int i, firstvideo = -1;
+ int streamcount;
BYTE abFormat[1024];
LONG l;
LPBITMAPINFOHEADER lpbi;
AVISTREAMINFO avis;
+
+ streamcount = anim->streamindex;
#endif
anim->avi = MEM_callocN (sizeof(AviMovie),"animavi");
@@ -396,6 +394,10 @@ static int startavi (struct anim *anim) {
AVIStreamInfo(anim->pavi[i], &avis, sizeof(avis));
if ((avis.fccType == streamtypeVIDEO) && (firstvideo == -1)) {
+ if (streamcount > 0) {
+ streamcount--;
+ continue;
+ }
anim->pgf = AVIStreamGetFrameOpen(anim->pavi[i], NULL);
if (anim->pgf) {
firstvideo = i;
@@ -496,14 +498,14 @@ static ImBuf * avi_fetchibuf (struct anim *anim, int position) {
for (y=0; y < anim->y; y++) {
memcpy (&(ibuf->rect)[((anim->y-y)-1)*anim->x], &tmp[y*anim->x],
- anim->x * 4);
+ anim->x * 4);
}
MEM_freeN (tmp);
}
-
+
ibuf->profile = IB_PROFILE_SRGB;
-
+
return ibuf;
}
@@ -517,6 +519,9 @@ static int startffmpeg(struct anim * anim) {
AVCodec *pCodec;
AVFormatContext *pFormatCtx;
AVCodecContext *pCodecCtx;
+ int frs_num;
+ double frs_den;
+ int streamcount;
#ifdef FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT
/* The following for color space determination */
@@ -527,6 +532,8 @@ static int startffmpeg(struct anim * anim) {
if (anim == 0) return(-1);
+ streamcount = anim->streamindex;
+
do_init_ffmpeg();
if(av_open_input_file(&pFormatCtx, anim->name, NULL, 0, NULL)!=0) {
@@ -541,12 +548,17 @@ static int startffmpeg(struct anim * anim) {
av_dump_format(pFormatCtx, 0, anim->name, 0);
- /* Find the first video stream */
- videoStream=-1;
- for(i=0; i<pFormatCtx->nb_streams; i++)
- if(pFormatCtx->streams[i]->codec->codec_type
+ /* Find the video stream */
+ videoStream = -1;
+
+ for(i = 0; i < pFormatCtx->nb_streams; i++)
+ if (pFormatCtx->streams[i]->codec->codec_type
== AVMEDIA_TYPE_VIDEO) {
- videoStream=i;
+ if (streamcount > 0) {
+ streamcount--;
+ continue;
+ }
+ videoStream = i;
break;
}
@@ -557,16 +569,16 @@ static int startffmpeg(struct anim * anim) {
pCodecCtx = pFormatCtx->streams[videoStream]->codec;
- /* Find the decoder for the video stream */
- pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
- if(pCodec==NULL) {
+ /* Find the decoder for the video stream */
+ pCodec = avcodec_find_decoder(pCodecCtx->codec_id);
+ if(pCodec == NULL) {
av_close_input_file(pFormatCtx);
return -1;
}
pCodecCtx->workaround_bugs = 1;
- if(avcodec_open(pCodecCtx, pCodec)<0) {
+ if(avcodec_open(pCodecCtx, pCodec) < 0) {
av_close_input_file(pFormatCtx);
return -1;
}
@@ -575,6 +587,19 @@ static int startffmpeg(struct anim * anim) {
* av_q2d(pFormatCtx->streams[videoStream]->r_frame_rate)
/ AV_TIME_BASE);
+ frs_num = pFormatCtx->streams[videoStream]->r_frame_rate.num;
+ frs_den = pFormatCtx->streams[videoStream]->r_frame_rate.den;
+
+ frs_den *= AV_TIME_BASE;
+
+ while (frs_num % 10 == 0 && frs_den >= 2.0 && frs_num > 10) {
+ frs_num /= 10;
+ frs_den /= 10;
+ }
+
+ anim->frs_sec = frs_num;
+ anim->frs_sec_base = frs_den;
+
anim->params = 0;
anim->x = pCodecCtx->width;
@@ -584,6 +609,11 @@ static int startffmpeg(struct anim * anim) {
anim->framesize = anim->x * anim->y * 4;
anim->curposition = -1;
+ anim->last_frame = 0;
+ anim->last_pts = -1;
+ anim->next_pts = -1;
+ anim->next_undecoded_pts = -1;
+ anim->next_packet.stream_index = -1;
anim->pFormatCtx = pFormatCtx;
anim->pCodecCtx = pCodecCtx;
@@ -666,10 +696,19 @@ static int startffmpeg(struct anim * anim) {
return (0);
}
-static void ffmpeg_postprocess(struct anim * anim, ImBuf * ibuf,
- int * filter_y)
+/* postprocess the image in anim->pFrame and do color conversion
+ and deinterlacing stuff.
+
+ Output is anim->last_frame
+*/
+
+static void ffmpeg_postprocess(struct anim * anim)
{
AVFrame * input = anim->pFrame;
+ ImBuf * ibuf = anim->last_frame;
+ int filter_y = 0;
+
+ ibuf->profile = IB_PROFILE_SRGB;
/* This means the data wasnt read properly,
this check stops crashing */
@@ -690,12 +729,16 @@ static void ffmpeg_postprocess(struct anim * anim, ImBuf * ibuf,
anim->pCodecCtx->width,
anim->pCodecCtx->height)
< 0) {
- *filter_y = 1;
+ filter_y = TRUE;
} else {
input = anim->pFrameDeinterlaced;
}
}
+ avpicture_fill((AVPicture*) anim->pFrameRGB,
+ (unsigned char*) ibuf->rect,
+ PIX_FMT_RGBA, anim->x, anim->y);
+
if (ENDIAN_ORDER == B_ENDIAN) {
int * dstStride = anim->pFrameRGB->linesize;
uint8_t** dst = anim->pFrameRGB->data;
@@ -774,150 +817,359 @@ static void ffmpeg_postprocess(struct anim * anim, ImBuf * ibuf,
}
}
}
+
+ if (filter_y) {
+ IMB_filtery(ibuf);
+ }
}
-static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position) {
- ImBuf * ibuf;
- int frameFinished;
- AVPacket packet;
+/* decode one video frame and load the next packet into anim->packet,
+ so that we can obtain next_pts and next undecoded pts */
+
+static int ffmpeg_decode_video_frame(struct anim * anim)
+{
+ int frameFinished = 0;
+ int rval = 0;
+
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG, " DECODE VIDEO FRAME\n");
+
+ anim->next_undecoded_pts = -1;
+
+ if (anim->next_packet.stream_index == anim->videoStream) {
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ " DECODE: cached next packet\n");
+
+ avcodec_decode_video2(anim->pCodecCtx,
+ anim->pFrame, &frameFinished,
+ &anim->next_packet);
+
+ if (frameFinished) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ " FRAME DONE: "
+ "next_pts=%lld pkt_pts=%lld\n",
+ (anim->pFrame->pts == AV_NOPTS_VALUE) ?
+ -1 : anim->pFrame->pts,
+ (anim->pFrame->pkt_pts == AV_NOPTS_VALUE) ?
+ -1 : anim->pFrame->pkt_pts);
+ anim->next_pts =
+ av_get_pts_from_frame(anim->pFormatCtx,
+ anim->pFrame);
+ }
+
+ av_free_packet(&anim->next_packet);
+ anim->next_packet.stream_index = -1;
+ }
+
+ while((rval = av_read_frame(anim->pFormatCtx, &anim->next_packet)) >= 0) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ "%sREAD: strID=%d (VID: %d) dts=%lld pts=%lld "
+ "%s\n",
+ (anim->next_packet.stream_index == anim->videoStream)
+ ? "->" : " ",
+ anim->next_packet.stream_index,
+ anim->videoStream,
+ (anim->next_packet.dts == AV_NOPTS_VALUE) ? -1:
+ anim->next_packet.dts,
+ (anim->next_packet.pts == AV_NOPTS_VALUE) ? -1:
+ anim->next_packet.pts,
+ (anim->next_packet.flags & AV_PKT_FLAG_KEY) ?
+ " KEY" : "");
+ if (anim->next_packet.stream_index == anim->videoStream) {
+ if (frameFinished) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ " FRAME finished, we leave\n");
+ anim->next_undecoded_pts
+ = anim->next_packet.dts;
+ break;
+ }
+
+ avcodec_decode_video2(
+ anim->pCodecCtx,
+ anim->pFrame, &frameFinished,
+ &anim->next_packet);
+
+ if (frameFinished) {
+ anim->next_pts = av_get_pts_from_frame(
+ anim->pFormatCtx, anim->pFrame);
+
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ " FRAME DONE: next_pts=%lld "
+ "pkt_pts=%lld, guessed_pts=%lld\n",
+ (anim->pFrame->pts == AV_NOPTS_VALUE) ?
+ -1 : anim->pFrame->pts,
+ (anim->pFrame->pkt_pts
+ == AV_NOPTS_VALUE) ?
+ -1 : anim->pFrame->pkt_pts,
+ anim->next_pts);
+ }
+ }
+ av_free_packet(&anim->next_packet);
+ anim->next_packet.stream_index = -1;
+ }
+
+ if (rval < 0) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_ERROR, " DECODE READ FAILED: av_read_frame() "
+ "returned error: %d\n", rval);
+ }
+ return (rval >= 0);
+}
+
+static void ffmpeg_decode_video_frame_scan(
+ struct anim * anim, int64_t pts_to_search)
+{
+ /* there seem to exist *very* silly GOP lengths out in the wild... */
+ int count = 1000;
+
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ "SCAN start: considering pts=%lld in search of %lld\n",
+ anim->next_pts, pts_to_search);
+
+ while (count > 0 && anim->next_pts < pts_to_search) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ " WHILE: pts=%lld in search of %lld\n",
+ anim->next_pts, pts_to_search);
+ if (!ffmpeg_decode_video_frame(anim)) {
+ break;
+ }
+ count--;
+ }
+ if (count == 0) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_ERROR,
+ "SCAN failed: completely lost in stream, "
+ "bailing out at PTS=%lld, searching for PTS=%lld\n",
+ anim->next_pts, pts_to_search);
+ }
+ if (anim->next_pts == pts_to_search) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG, "SCAN HAPPY: we found our PTS!\n");
+ } else {
+ av_log(anim->pFormatCtx,
+ AV_LOG_ERROR, "SCAN UNHAPPY: PTS not matched!\n");
+ }
+}
+
+static int match_format(const char *name, AVFormatContext * pFormatCtx)
+{
+ const char *p;
+ int len, namelen;
+
+ const char *names = pFormatCtx->iformat->name;
+
+ if (!name || !names)
+ return 0;
+
+ namelen = strlen(name);
+ while ((p = strchr(names, ','))) {
+ len = MAX2(p - names, namelen);
+ if (!BLI_strncasecmp(name, names, len))
+ return 1;
+ names = p+1;
+ }
+ return !BLI_strcasecmp(name, names);
+}
+
+static int ffmpeg_seek_by_byte(AVFormatContext *pFormatCtx)
+{
+ static const char * byte_seek_list [] = { "dv", "mpegts", 0 };
+ const char ** p;
+
+ if (pFormatCtx->iformat->flags & AVFMT_TS_DISCONT) {
+ return TRUE;
+ }
+
+ p = byte_seek_list;
+
+ while (*p) {
+ if (match_format(*p++, pFormatCtx)) {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position,
+ IMB_Timecode_Type tc) {
int64_t pts_to_search = 0;
- int pos_found = 1;
- int filter_y = 0;
- int seek_by_bytes= 0;
- int preseek_count = 0;
+ double frame_rate;
+ double pts_time_base;
+ long long st_time;
+ struct anim_index * tc_index = 0;
+ AVStream * v_st;
+ int new_frame_index;
+ int old_frame_index;
if (anim == 0) return (0);
- ibuf = IMB_allocImBuf(anim->x, anim->y, 32, IB_rect);
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG, "FETCH: pos=%d\n", position);
- avpicture_fill((AVPicture*) anim->pFrameRGB,
- (unsigned char*) ibuf->rect,
- PIX_FMT_RGBA, anim->x, anim->y);
-
- if (position != anim->curposition + 1) {
- if (position > anim->curposition + 1
- && anim->preseek
- && position - (anim->curposition + 1) < anim->preseek) {
- while(av_read_frame(anim->pFormatCtx, &packet)>=0) {
- if (packet.stream_index == anim->videoStream) {
- avcodec_decode_video2(
- anim->pCodecCtx,
- anim->pFrame, &frameFinished,
- &packet);
-
- if (frameFinished) {
- anim->curposition++;
- }
- }
- av_free_packet(&packet);
- if (position == anim->curposition+1) {
- break;
- }
- }
+ if (tc != IMB_TC_NONE) {
+ tc_index = IMB_anim_open_index(anim, tc);
+ }
+
+ v_st = anim->pFormatCtx->streams[anim->videoStream];
+
+ frame_rate = av_q2d(v_st->r_frame_rate);
+
+ st_time = anim->pFormatCtx->start_time;
+ pts_time_base = av_q2d(v_st->time_base);
+
+ if (tc_index) {
+ new_frame_index = IMB_indexer_get_frame_index(
+ tc_index, position);
+ old_frame_index = IMB_indexer_get_frame_index(
+ tc_index, anim->curposition);
+ pts_to_search = IMB_indexer_get_pts(
+ tc_index, new_frame_index);
+ } else {
+ pts_to_search = (long long)
+ floor(((double) position) / pts_time_base / frame_rate + 0.5);
+
+ if (st_time != AV_NOPTS_VALUE) {
+ pts_to_search += st_time / pts_time_base
+ / AV_TIME_BASE;
}
}
-/* disable seek_by_bytes for now, since bitrates are guessed wrong!
- also: MPEG2TS-seeking was fixed in later versions of ffmpeg, so problem
- is somewhat fixed by now (until we add correct timecode management code...)
-*/
-#if 0
- seek_by_bytes = !!(anim->pFormatCtx->iformat->flags & AVFMT_TS_DISCONT);
-#else
- seek_by_bytes = FALSE;
-#endif
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "FETCH: looking for PTS=%lld "
+ "(pts_timebase=%g, frame_rate=%g, st_time=%lld)\n",
+ pts_to_search, pts_time_base, frame_rate, st_time);
+
+ if (anim->last_frame &&
+ anim->last_pts <= pts_to_search && anim->next_pts > pts_to_search){
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "FETCH: frame repeat: last: %lld next: %lld\n",
+ anim->last_pts, anim->next_pts);
+ IMB_refImBuf(anim->last_frame);
+ anim->curposition = position;
+ return anim->last_frame;
+ }
+
+ IMB_freeImBuf(anim->last_frame);
+
+ if (anim->next_pts <= pts_to_search &&
+ anim->next_undecoded_pts > pts_to_search) {
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "FETCH: no seek necessary: "
+ "next: %lld next undecoded: %lld\n",
+ anim->next_pts, anim->next_undecoded_pts);
+
+ /* we are already done :) */
+
+ } else if (position > anim->curposition + 1
+ && anim->preseek
+ && !tc_index
+ && position - (anim->curposition + 1) < anim->preseek) {
+
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "FETCH: within preseek interval (no index)\n");
+
+ ffmpeg_decode_video_frame_scan(anim, pts_to_search);
+ } else if (tc_index &&
+ IMB_indexer_can_scan(tc_index, old_frame_index,
+ new_frame_index)) {
+
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "FETCH: within preseek interval "
+ "(index tells us)\n");
- if (position != anim->curposition + 1) {
- double frame_rate =
- av_q2d(anim->pFormatCtx->streams[anim->videoStream]
- ->r_frame_rate);
- double pts_time_base = av_q2d(anim->pFormatCtx->streams[anim->videoStream]->time_base);
+ ffmpeg_decode_video_frame_scan(anim, pts_to_search);
+ } else if (position != anim->curposition + 1) {
long long pos;
- long long st_time = anim->pFormatCtx->start_time;
int ret;
- if (seek_by_bytes) {
- pos = position - anim->preseek;
- if (pos < 0) {
- pos = 0;
- }
- preseek_count = position - pos;
+ if (tc_index) {
+ unsigned long long dts;
+
+ pos = IMB_indexer_get_seek_pos(
+ tc_index, new_frame_index);
+ dts = IMB_indexer_get_seek_pos_dts(
+ tc_index, new_frame_index);
+
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "TC INDEX seek pos = %lld\n", pos);
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "TC INDEX seek dts = %lld\n", dts);
- pos *= anim->pFormatCtx->bit_rate / frame_rate;
- pos /= 8;
+ if (ffmpeg_seek_by_byte(anim->pFormatCtx)) {
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "... using BYTE pos\n");
+
+ ret = av_seek_frame(anim->pFormatCtx,
+ -1,
+ pos, AVSEEK_FLAG_BYTE);
+ av_update_cur_dts(anim->pFormatCtx, v_st, dts);
+ } else {
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "... using DTS pos\n");
+ ret = av_seek_frame(anim->pFormatCtx,
+ anim->videoStream,
+ dts, AVSEEK_FLAG_BACKWARD);
+ }
} else {
pos = (long long) (position - anim->preseek)
* AV_TIME_BASE / frame_rate;
if (pos < 0) {
pos = 0;
}
-
+
if (st_time != AV_NOPTS_VALUE) {
pos += st_time;
}
- }
- ret = av_seek_frame(anim->pFormatCtx, -1,
- pos,
- AVSEEK_FLAG_BACKWARD | (
- seek_by_bytes
- ? AVSEEK_FLAG_ANY
- | AVSEEK_FLAG_BYTE : 0));
- if (ret < 0) {
- fprintf(stderr, "error while seeking: %d\n", ret);
+ ret = av_seek_frame(anim->pFormatCtx, -1,
+ pos, AVSEEK_FLAG_BACKWARD);
}
- pts_to_search = (long long)
- (((double) position) / pts_time_base / frame_rate);
- if (st_time != AV_NOPTS_VALUE) {
- pts_to_search += st_time / pts_time_base/ AV_TIME_BASE;
+ if (ret < 0) {
+ av_log(anim->pFormatCtx, AV_LOG_ERROR,
+ "FETCH: "
+ "error while seeking to DTS = %lld "
+ "(frameno = %d, PTS = %lld): errcode = %d\n",
+ pos, position, pts_to_search, ret);
}
- pos_found = 0;
avcodec_flush_buffers(anim->pCodecCtx);
- }
- while(av_read_frame(anim->pFormatCtx, &packet)>=0) {
- if(packet.stream_index == anim->videoStream) {
- avcodec_decode_video2(anim->pCodecCtx,
- anim->pFrame, &frameFinished,
- &packet);
+ anim->next_pts = -1;
- if (seek_by_bytes && preseek_count > 0) {
- preseek_count--;
- }
+ if (anim->next_packet.stream_index == anim->videoStream) {
+ av_free_packet(&anim->next_packet);
+ anim->next_packet.stream_index = -1;
+ }
- if (frameFinished && !pos_found) {
- if (seek_by_bytes) {
- if (!preseek_count) {
- pos_found = 1;
- anim->curposition = position;
- }
- } else {
- if (packet.dts >= pts_to_search) {
- pos_found = 1;
- anim->curposition = position;
- }
- }
- }
+ /* memset(anim->pFrame,...) ?? */
- if(frameFinished && pos_found == 1) {
- ffmpeg_postprocess(anim, ibuf, &filter_y);
- av_free_packet(&packet);
- break;
- }
+ if (ret >= 0) {
+ ffmpeg_decode_video_frame_scan(anim, pts_to_search);
}
-
- av_free_packet(&packet);
+ } else if (position == 0 && anim->curposition == -1) {
+ /* first frame without seeking special case... */
+ ffmpeg_decode_video_frame(anim);
}
- if (filter_y && ibuf) {
- IMB_filtery(ibuf);
- }
+ anim->last_frame = IMB_allocImBuf(anim->x, anim->y, 32, IB_rect);
- ibuf->profile = IB_PROFILE_SRGB;
+ ffmpeg_postprocess(anim);
- return(ibuf);
+ anim->last_pts = anim->next_pts;
+
+ ffmpeg_decode_video_frame(anim);
+
+ anim->curposition = position;
+
+ IMB_refImBuf(anim->last_frame);
+
+ return anim->last_frame;
}
static void free_anim_ffmpeg(struct anim * anim) {
@@ -934,6 +1186,10 @@ static void free_anim_ffmpeg(struct anim * anim) {
}
av_free(anim->pFrameDeinterlaced);
sws_freeContext(anim->img_convert_ctx);
+ IMB_freeImBuf(anim->last_frame);
+ if (anim->next_packet.stream_index != -1) {
+ av_free_packet(&anim->next_packet);
+ }
}
anim->duration = 0;
}
@@ -1063,16 +1319,19 @@ struct ImBuf * IMB_anim_previewframe(struct anim * anim) {
struct ImBuf * ibuf = NULL;
int position = 0;
- ibuf = IMB_anim_absolute(anim, 0);
+ ibuf = IMB_anim_absolute(anim, 0, IMB_TC_NONE, IMB_PROXY_NONE);
if (ibuf) {
IMB_freeImBuf(ibuf);
position = anim->duration / 2;
- ibuf = IMB_anim_absolute(anim, position);
+ ibuf = IMB_anim_absolute(anim, position, IMB_TC_NONE,
+ IMB_PROXY_NONE);
}
return ibuf;
}
-struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) {
+struct ImBuf * IMB_anim_absolute(struct anim * anim, int position,
+ IMB_Timecode_Type tc,
+ IMB_Proxy_Size preview_size) {
struct ImBuf * ibuf = NULL;
char head[256], tail[256];
unsigned short digits;
@@ -1095,6 +1354,18 @@ struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) {
if (position < 0) return(NULL);
if (position >= anim->duration) return(NULL);
+ if (preview_size != IMB_PROXY_NONE) {
+ struct anim * proxy = IMB_anim_open_proxy(anim, preview_size);
+
+ if (proxy) {
+ position = IMB_anim_index_get_frame_index(
+ anim, tc, position);
+ return IMB_anim_absolute(
+ proxy, position,
+ IMB_TC_NONE, IMB_PROXY_NONE);
+ }
+ }
+
switch(anim->curtype) {
case ANIM_SEQUENCE:
pic = an_stringdec(anim->first, head, tail, &digits);
@@ -1127,7 +1398,7 @@ struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) {
#endif
#ifdef WITH_FFMPEG
case ANIM_FFMPEG:
- ibuf = ffmpeg_fetchibuf(anim, position);
+ ibuf = ffmpeg_fetchibuf(anim, position, tc);
if (ibuf)
anim->curposition = position;
filter_y = 0; /* done internally */
@@ -1151,8 +1422,29 @@ struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) {
/***/
-int IMB_anim_get_duration(struct anim *anim) {
- return anim->duration;
+int IMB_anim_get_duration(struct anim *anim, IMB_Timecode_Type tc) {
+ struct anim_index * idx;
+ if (tc == IMB_TC_NONE) {
+ return anim->duration;
+ }
+
+ idx = IMB_anim_open_index(anim, tc);
+ if (!idx) {
+ return anim->duration;
+ }
+
+ return IMB_indexer_get_duration(idx);
+}
+
+int IMB_anim_get_fps(struct anim * anim,
+ short * frs_sec, float * frs_sec_base)
+{
+ if (anim->frs_sec) {
+ *frs_sec = anim->frs_sec;
+ *frs_sec_base = anim->frs_sec_base;
+ return TRUE;
+ }
+ return FALSE;
}
void IMB_anim_set_preseek(struct anim * anim, int preseek)
diff --git a/source/blender/imbuf/intern/cineon/CMakeLists.txt b/source/blender/imbuf/intern/cineon/CMakeLists.txt
index 079f34af773..4f7f20beecf 100644
--- a/source/blender/imbuf/intern/cineon/CMakeLists.txt
+++ b/source/blender/imbuf/intern/cineon/CMakeLists.txt
@@ -29,8 +29,8 @@ set(INC
..
../..
../../../blenkernel
- ../../../blenloader
../../../blenlib
+ ../../../blenloader
../../../makesdna
../../../../../intern/guardedalloc
)
diff --git a/source/blender/imbuf/intern/cineon/cineonlib.c b/source/blender/imbuf/intern/cineon/cineonlib.c
index 922cfcf9629..b4da39ac41e 100644
--- a/source/blender/imbuf/intern/cineon/cineonlib.c
+++ b/source/blender/imbuf/intern/cineon/cineonlib.c
@@ -36,6 +36,9 @@
#include <netinet/in.h> /* htonl() */
#endif
#include <string.h> /* memset */
+
+#include "BLI_utildefines.h"
+
#include "cin_debug_stuff.h"
#include "logmemfile.h"
@@ -288,7 +291,7 @@ initCineonGenericHeader(CineonFile* cineon, CineonGenericHeader* header, const c
}
static void
-dumpCineonGenericHeader(CineonGenericHeader* header) {
+UNUSED_FUNCTION(dumpCineonGenericHeader)(CineonGenericHeader* header) {
dumpCineonFileInfo(&header->fileInfo);
dumpCineonImageInfo(&header->imageInfo);
dumpCineonFormatInfo(&header->formatInfo);
diff --git a/source/blender/imbuf/intern/cineon/logImageCore.h b/source/blender/imbuf/intern/cineon/logImageCore.h
index f05c19c4f47..cbc7cb9d64a 100644
--- a/source/blender/imbuf/intern/cineon/logImageCore.h
+++ b/source/blender/imbuf/intern/cineon/logImageCore.h
@@ -38,8 +38,12 @@ extern "C" {
#endif
#include "BLO_sys_types.h" // for intptr_t support
+
+#ifdef _MSC_VER
#undef ntohl
#undef htonl
+#endif
+
typedef int (GetRowFn)(LogImageFile* logImage, unsigned short* row, int lineNum);
typedef int (SetRowFn)(LogImageFile* logImage, const unsigned short* row, int lineNum);
typedef void (CloseFn)(LogImageFile* logImage);
diff --git a/source/blender/imbuf/intern/dds/CMakeLists.txt b/source/blender/imbuf/intern/dds/CMakeLists.txt
index fd2b94547b4..53822b830f7 100644
--- a/source/blender/imbuf/intern/dds/CMakeLists.txt
+++ b/source/blender/imbuf/intern/dds/CMakeLists.txt
@@ -28,9 +28,8 @@ set(INC
.
..
../..
- intern/include
- ../../../blenlib
../../../blenkernel
+ ../../../blenlib
../../../makesdna
../../../../../intern/guardedalloc
)
diff --git a/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp b/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
index 971658ff482..44e029bd7ce 100644
--- a/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
+++ b/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
@@ -1426,12 +1426,12 @@ void DirectDrawSurface::printInfo() const
if (header.flags & DDSD_LINEARSIZE) printf("\tDDSD_LINEARSIZE\n");
if (header.flags & DDSD_MIPMAPCOUNT) printf("\tDDSD_MIPMAPCOUNT\n");
- printf("Height: %d\n", header.height);
- printf("Width: %d\n", header.width);
- printf("Depth: %d\n", header.depth);
- if (header.flags & DDSD_PITCH) printf("Pitch: %d\n", header.pitch);
- else if (header.flags & DDSD_LINEARSIZE) printf("Linear size: %d\n", header.pitch);
- printf("Mipmap count: %d\n", header.mipmapcount);
+ printf("Height: %u\n", header.height);
+ printf("Width: %u\n", header.width);
+ printf("Depth: %u\n", header.depth);
+ if (header.flags & DDSD_PITCH) printf("Pitch: %u\n", header.pitch);
+ else if (header.flags & DDSD_LINEARSIZE) printf("Linear size: %u\n", header.pitch);
+ printf("Mipmap count: %u\n", header.mipmapcount);
printf("Pixel Format:\n");
printf("\tFlags: 0x%.8X\n", header.pf.flags);
@@ -1468,7 +1468,7 @@ void DirectDrawSurface::printInfo() const
}
else
{
- printf("\tBit count: %d\n", header.pf.bitcount);
+ printf("\tBit count: %u\n", header.pf.bitcount);
}
printf("\tRed mask: 0x%.8X\n", header.pf.rmask);
@@ -1522,7 +1522,7 @@ void DirectDrawSurface::printInfo() const
if (header.reserved[7] == FOURCC_UVER)
{
- printf("User Version: %d\n", header.reserved[8]);
+ printf("User Version: %u\n", header.reserved[8]);
}
}
diff --git a/source/blender/imbuf/intern/divers.c b/source/blender/imbuf/intern/divers.c
index 90ee2692cf0..7fc7669601d 100644
--- a/source/blender/imbuf/intern/divers.c
+++ b/source/blender/imbuf/intern/divers.c
@@ -490,3 +490,23 @@ float *IMB_float_profile_ensure(struct ImBuf *ibuf, int profile, int *alloc)
return fbuf;
}
}
+
+
+/* no profile conversion */
+void IMB_color_to_bw(struct ImBuf *ibuf)
+{
+ float *rctf= ibuf->rect_float;
+ unsigned char *rct= (unsigned char *)ibuf->rect;
+ int i;
+ if(rctf) {
+ for (i = ibuf->x * ibuf->y; i > 0; i--, rctf+=4) {
+ rctf[0]= rctf[1]= rctf[2]= rgb_to_grayscale(rctf);
+ }
+ }
+
+ if(rct) {
+ for (i = ibuf->x * ibuf->y; i > 0; i--, rct+=4) {
+ rct[0]= rct[1]= rct[2]= rgb_to_grayscale_byte(rct);
+ }
+ }
+}
diff --git a/source/blender/imbuf/intern/filter.c b/source/blender/imbuf/intern/filter.c
index d12360e5a7e..2677913caed 100644
--- a/source/blender/imbuf/intern/filter.c
+++ b/source/blender/imbuf/intern/filter.c
@@ -1,5 +1,7 @@
/*
*
+ * $Id$
+ *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -21,7 +23,7 @@
*
* The Original Code is: all of this file.
*
- * Contributor(s): none yet.
+ * Contributor(s): Morten Mikkelsen.
*
* ***** END GPL LICENSE BLOCK *****
* filter.c
@@ -326,121 +328,136 @@ void IMB_mask_clear(ImBuf *ibuf, char *mask, int val)
}
}
-#define EXTEND_PIXEL(color, w) if((color)[3]) {r+= w*(color)[0]; g+= w*(color)[1]; b+= w*(color)[2]; a+= w*(color)[3]; tot+=w;}
+static int filter_make_index(const int x, const int y, const int w, const int h)
+{
+ if(x<0 || x>=w || y<0 || y>=h) return -1; /* return bad index */
+ else return y*w+x;
+}
+
+static int check_pixel_assigned(const void *buffer, const char *mask, const int index, const int depth, const int is_float)
+{
+ int res = 0;
+
+ if(index>=0) {
+ const int alpha_index = depth*index+(depth-1);
+
+ if(mask!=NULL) {
+ res = mask[index]!=0 ? 1 : 0;
+ }
+ else if( (is_float && ((const float *) buffer)[alpha_index]!=0.0f) ||
+ (!is_float && ((const unsigned char *) buffer)[alpha_index]!=0) ) {
+ res=1;
+ }
+ }
+
+ return res;
+}
/* if alpha is zero, it checks surrounding pixels and averages color. sets new alphas to 1.0
*
* When a mask is given, only effect pixels with a mask value of 1, defined as BAKE_MASK_MARGIN in rendercore.c
* */
-void IMB_filter_extend(struct ImBuf *ibuf, char *mask)
+void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter)
{
- register char *row1, *row2, *row3;
- register char *cp;
- int rowlen, x, y;
-
- rowlen= ibuf->x;
-
-
- if (ibuf->rect_float) {
- float *temprect;
- float *row1f, *row2f, *row3f;
- float *fp;
- temprect= MEM_dupallocN(ibuf->rect_float);
-
- for(y=1; y<=ibuf->y; y++) {
- /* setup rows */
- row1f= (float *)(temprect + (y-2)*rowlen*4);
- row2f= row1f + 4*rowlen;
- row3f= row2f + 4*rowlen;
- if(y==1)
- row1f= row2f;
- else if(y==ibuf->y)
- row3f= row2f;
-
- fp= (float *)(ibuf->rect_float + (y-1)*rowlen*4);
-
- for(x=0; x<rowlen; x++) {
- if((mask==NULL && fp[3]==0.0f) || (mask && mask[((y-1)*rowlen)+x]==1)) {
- int tot= 0;
- float r=0.0f, g=0.0f, b=0.0f, a=0.0f;
-
- EXTEND_PIXEL(row1f, 1);
- EXTEND_PIXEL(row2f, 2);
- EXTEND_PIXEL(row3f, 1);
- EXTEND_PIXEL(row1f+4, 2);
- EXTEND_PIXEL(row3f+4, 2);
- if(x!=rowlen-1) {
- EXTEND_PIXEL(row1f+8, 1);
- EXTEND_PIXEL(row2f+8, 2);
- EXTEND_PIXEL(row3f+8, 1);
- }
- if(tot) {
- fp[0]= r/tot;
- fp[1]= g/tot;
- fp[2]= b/tot;
- fp[3]= a/tot;
+ const int width= ibuf->x;
+ const int height= ibuf->y;
+ const int depth= 4; /* always 4 channels */
+ const int chsize= ibuf->rect_float ? sizeof(float) : sizeof(unsigned char);
+ const int bsize= width*height*depth*chsize;
+ const int is_float= ibuf->rect_float!=NULL;
+ void *dstbuf= (void *) MEM_dupallocN(ibuf->rect_float ? (void *) ibuf->rect_float : (void *) ibuf->rect);
+ char *dstmask= mask==NULL ? NULL : (char *) MEM_dupallocN(mask);
+ void *srcbuf= ibuf->rect_float ? (void *) ibuf->rect_float : (void *) ibuf->rect;
+ char *srcmask= mask;
+ int cannot_early_out= 1, r, n, k, i, j, c;
+ float weight[25];
+
+ /* build a weights buffer */
+ n= 1;
+ /*k= 0;
+ for(i = -n; i <= n; i++)
+ for(j = -n; j <= n; j++)
+ weight[k++] = sqrt((float) i * i + j * j);
+ */
+ weight[0]=1; weight[1]=2; weight[2]=1;
+ weight[3]=2; weight[4]=0; weight[5]=2;
+ weight[6]=1; weight[7]=2; weight[8]=1;
+
+ /* run passes */
+ for(r = 0; cannot_early_out == 1 && r < filter; r++) {
+ int x, y;
+ cannot_early_out = 0;
+
+ for(y= 0; y<height; y++) {
+ for(x= 0; x<width; x++) {
+ const int index= filter_make_index(x, y, width, height);
+
+ /* only update unassigned pixels */
+ if(!check_pixel_assigned(srcbuf, srcmask, index, depth, is_float)) {
+ float tmp[4];
+ float wsum=0;
+ float acc[4]={0,0,0,0};
+ k = 0;
+
+ if (check_pixel_assigned(srcbuf, srcmask, filter_make_index(x-1, y, width, height), depth, is_float) ||
+ check_pixel_assigned(srcbuf, srcmask, filter_make_index(x+1, y, width, height), depth, is_float) ||
+ check_pixel_assigned(srcbuf, srcmask, filter_make_index(x, y-1, width, height), depth, is_float) ||
+ check_pixel_assigned(srcbuf, srcmask, filter_make_index(x, y+1, width, height), depth, is_float)) {
+ for(i= -n; i<=n; i++) {
+ for(j=-n; j<=n; j++) {
+ if(i != 0 || j != 0) {
+ const int tmpindex= filter_make_index(x+i, y+j, width, height);
+
+ if(check_pixel_assigned(srcbuf, srcmask, tmpindex, depth, is_float)) {
+ if(is_float) {
+ for(c=0; c<depth; c++)
+ tmp[c] = ((const float *) srcbuf)[depth*tmpindex+c];
+ }
+ else {
+ for(c=0; c<depth; c++)
+ tmp[c] = (float) ((const unsigned char *) srcbuf)[depth*tmpindex+c];
+ }
+
+ wsum+= weight[k];
+
+ for(c=0; c<depth; c++)
+ acc[c]+= weight[k] * tmp[c];
+ }
+ }
+ k++;
+ }
+ }
+
+ if(wsum!=0) {
+ for(c=0; c<depth; c++)
+ acc[c]/= wsum;
+
+ if(is_float) {
+ for(c=0; c<depth; c++)
+ ((float *) dstbuf)[depth*index+c] = acc[c];
+ }
+ else {
+ for(c=0; c<depth; c++) {
+ ((unsigned char *) dstbuf)[depth*index+c]= acc[c] > 255 ? 255 : (acc[c] < 0 ? 0 : ((unsigned char) (acc[c]+0.5f)));
+ }
+ }
+
+ if(dstmask!=NULL) dstmask[index]=FILTER_MASK_MARGIN; /* assigned */
+ cannot_early_out = 1;
+ }
}
}
- fp+=4;
-
- if(x!=0) {
- row1f+=4; row2f+=4; row3f+=4;
- }
}
}
- MEM_freeN(temprect);
- }
- else if(ibuf->rect) {
- int *temprect;
-
- /* make a copy, to prevent flooding */
- temprect= MEM_dupallocN(ibuf->rect);
-
- for(y=1; y<=ibuf->y; y++) {
- /* setup rows */
- row1= (char *)(temprect + (y-2)*rowlen);
- row2= row1 + 4*rowlen;
- row3= row2 + 4*rowlen;
- if(y==1)
- row1= row2;
- else if(y==ibuf->y)
- row3= row2;
-
- cp= (char *)(ibuf->rect + (y-1)*rowlen);
-
- for(x=0; x<rowlen; x++) {
- /*if(cp[3]==0) {*/
- if((mask==NULL && cp[3]==0) || (mask && mask[((y-1)*rowlen)+x]==1)) {
- int tot= 0, r=0, g=0, b=0, a=0;
-
- EXTEND_PIXEL(row1, 1);
- EXTEND_PIXEL(row2, 2);
- EXTEND_PIXEL(row3, 1);
- EXTEND_PIXEL(row1+4, 2);
- EXTEND_PIXEL(row3+4, 2);
- if(x!=rowlen-1) {
- EXTEND_PIXEL(row1+8, 1);
- EXTEND_PIXEL(row2+8, 2);
- EXTEND_PIXEL(row3+8, 1);
- }
- if(tot) {
- cp[0]= r/tot;
- cp[1]= g/tot;
- cp[2]= b/tot;
- cp[3]= a/tot;
- }
- }
- cp+=4;
-
- if(x!=0) {
- row1+=4; row2+=4; row3+=4;
- }
- }
- }
-
- MEM_freeN(temprect);
+ /* keep the original buffer up to date. */
+ memcpy(srcbuf, dstbuf, bsize);
+ if(dstmask!=NULL) memcpy(srcmask, dstmask, width*height);
}
+
+ /* free memory */
+ MEM_freeN(dstbuf);
+ if(dstmask!=NULL) MEM_freeN(dstmask);
}
/* threadsafe version, only recreates existing maps */
diff --git a/source/blender/imbuf/intern/indexer.c b/source/blender/imbuf/intern/indexer.c
new file mode 100644
index 00000000000..3528318ba81
--- /dev/null
+++ b/source/blender/imbuf/intern/indexer.c
@@ -0,0 +1,1142 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Peter Schlaile <peter [at] schlaile [dot] de> 2011
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+*/
+
+#include "IMB_indexer.h"
+#include "IMB_anim.h"
+#include "AVI_avi.h"
+#include "imbuf.h"
+#include "MEM_guardedalloc.h"
+#include "BLI_utildefines.h"
+#include "BLI_blenlib.h"
+#include "BLI_math_base.h"
+#include "BLI_string.h"
+#include "MEM_guardedalloc.h"
+#include "DNA_userdef_types.h"
+#include "BKE_global.h"
+#include <stdlib.h>
+
+#ifdef WITH_FFMPEG
+
+#include "ffmpeg_compat.h"
+
+#endif //WITH_FFMPEG
+
+
+static char magic[] = "BlenMIdx";
+static char temp_ext [] = "_part";
+
+static int proxy_sizes[] = { IMB_PROXY_25, IMB_PROXY_50, IMB_PROXY_75,
+ IMB_PROXY_100 };
+static float proxy_fac[] = { 0.25, 0.50, 0.75, 1.00 };
+
+#ifdef WITH_FFMPEG
+static int tc_types[] = { IMB_TC_RECORD_RUN, IMB_TC_FREE_RUN,
+ IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN };
+#endif
+
+#define INDEX_FILE_VERSION 1
+
+/* ----------------------------------------------------------------------
+ - special indexers
+ ----------------------------------------------------------------------
+ */
+
+extern void IMB_indexer_dv_new(anim_index_builder * idx);
+
+
+/* ----------------------------------------------------------------------
+ - time code index functions
+ ---------------------------------------------------------------------- */
+
+anim_index_builder * IMB_index_builder_create(const char * name)
+{
+
+ anim_index_builder * rv
+ = MEM_callocN( sizeof(struct anim_index_builder),
+ "index builder");
+
+ fprintf(stderr, "Starting work on index: %s\n", name);
+
+ BLI_strncpy(rv->name, name, sizeof(rv->name));
+ BLI_strncpy(rv->temp_name, name, sizeof(rv->temp_name));
+
+ strcat(rv->temp_name, temp_ext);
+
+ BLI_make_existing_file(rv->temp_name);
+
+ rv->fp = fopen(rv->temp_name, "w");
+
+ if (!rv->fp) {
+ fprintf(stderr, "Couldn't open index target: %s! "
+ "Index build broken!\n", rv->temp_name);
+ MEM_freeN(rv);
+ return NULL;
+ }
+
+ fprintf(rv->fp, "%s%c%.3d", magic, (ENDIAN_ORDER==B_ENDIAN)?'V':'v',
+ INDEX_FILE_VERSION);
+
+ return rv;
+}
+
+void IMB_index_builder_add_entry(anim_index_builder * fp,
+ int frameno,unsigned long long seek_pos,
+ unsigned long long seek_pos_dts,
+ unsigned long long pts)
+{
+ fwrite(&frameno, sizeof(int), 1, fp->fp);
+ fwrite(&seek_pos, sizeof(unsigned long long), 1, fp->fp);
+ fwrite(&seek_pos_dts, sizeof(unsigned long long), 1, fp->fp);
+ fwrite(&pts, sizeof(unsigned long long), 1, fp->fp);
+}
+
+void IMB_index_builder_proc_frame(anim_index_builder * fp,
+ unsigned char * buffer,
+ int data_size,
+ int frameno, unsigned long long seek_pos,
+ unsigned long long seek_pos_dts,
+ unsigned long long pts)
+{
+ if (fp->proc_frame) {
+ anim_index_entry e;
+ e.frameno = frameno;
+ e.seek_pos = seek_pos;
+ e.seek_pos_dts = seek_pos_dts;
+ e.pts = pts;
+
+ fp->proc_frame(fp, buffer, data_size, &e);
+ } else {
+ IMB_index_builder_add_entry(fp, frameno, seek_pos,
+ seek_pos_dts, pts);
+ }
+}
+
+void IMB_index_builder_finish(anim_index_builder * fp, int rollback)
+{
+ if (fp->delete_priv_data) {
+ fp->delete_priv_data(fp);
+ }
+
+ fclose(fp->fp);
+
+ if (rollback) {
+ unlink(fp->temp_name);
+ } else {
+ rename(fp->temp_name, fp->name);
+ }
+
+ MEM_freeN(fp);
+}
+
+struct anim_index * IMB_indexer_open(const char * name)
+{
+ char header[13];
+ struct anim_index * idx;
+ FILE * fp = fopen(name, "rb");
+ int i;
+
+ if (!fp) {
+ return 0;
+ }
+
+ if (fread(header, 12, 1, fp) != 1) {
+ fclose(fp);
+ return 0;
+ }
+
+ header[12] = 0;
+
+ if (memcmp(header, magic, 8) != 0) {
+ fclose(fp);
+ return 0;
+ }
+
+ if (atoi(header+9) != INDEX_FILE_VERSION) {
+ fclose(fp);
+ return 0;
+ }
+
+ idx = MEM_callocN( sizeof(struct anim_index), "anim_index");
+
+ BLI_strncpy(idx->name, name, sizeof(idx->name));
+
+ fseek(fp, 0, SEEK_END);
+
+ idx->num_entries = (ftell(fp) - 12)
+ / (sizeof(int) // framepos
+ + sizeof(unsigned long long) // seek_pos
+ + sizeof(unsigned long long) // seek_pos_dts
+ + sizeof(unsigned long long) // pts
+ );
+
+ fseek(fp, 12, SEEK_SET);
+
+ idx->entries = MEM_callocN( sizeof(struct anim_index_entry)
+ * idx->num_entries, "anim_index_entries");
+
+ for (i = 0; i < idx->num_entries; i++) {
+ fread(&idx->entries[i].frameno,
+ sizeof(int), 1, fp);
+ fread(&idx->entries[i].seek_pos,
+ sizeof(unsigned long long), 1, fp);
+ fread(&idx->entries[i].seek_pos_dts,
+ sizeof(unsigned long long), 1, fp);
+ fread(&idx->entries[i].pts,
+ sizeof(unsigned long long), 1, fp);
+ }
+
+ if (((ENDIAN_ORDER == B_ENDIAN) != (header[8] == 'V'))) {
+ for (i = 0; i < idx->num_entries; i++) {
+ SWITCH_INT(idx->entries[i].frameno);
+ SWITCH_INT64(idx->entries[i].seek_pos);
+ SWITCH_INT64(idx->entries[i].seek_pos_dts);
+ SWITCH_INT64(idx->entries[i].pts);
+ }
+ }
+
+ fclose(fp);
+
+ return idx;
+}
+
+unsigned long long IMB_indexer_get_seek_pos(
+ struct anim_index * idx, int frame_index)
+{
+ if (frame_index < 0) {
+ frame_index = 0;
+ }
+ if (frame_index >= idx->num_entries) {
+ frame_index = idx->num_entries - 1;
+ }
+ return idx->entries[frame_index].seek_pos;
+}
+
+unsigned long long IMB_indexer_get_seek_pos_dts(
+ struct anim_index * idx, int frame_index)
+{
+ if (frame_index < 0) {
+ frame_index = 0;
+ }
+ if (frame_index >= idx->num_entries) {
+ frame_index = idx->num_entries - 1;
+ }
+ return idx->entries[frame_index].seek_pos_dts;
+}
+
+int IMB_indexer_get_frame_index(struct anim_index * idx, int frameno)
+{
+ int len = idx->num_entries;
+ int half;
+ int middle;
+ int first = 0;
+
+ /* bsearch (lower bound) the right index */
+
+ while (len > 0) {
+ half = len >> 1;
+ middle = first;
+
+ middle += half;
+
+ if (idx->entries[middle].frameno < frameno) {
+ first = middle;
+ ++first;
+ len = len - half - 1;
+ } else {
+ len = half;
+ }
+ }
+
+ if (first == idx->num_entries) {
+ return idx->num_entries - 1;
+ } else {
+ return first;
+ }
+}
+
+unsigned long long IMB_indexer_get_pts(struct anim_index * idx,
+ int frame_index)
+{
+ if (frame_index < 0) {
+ frame_index = 0;
+ }
+ if (frame_index >= idx->num_entries) {
+ frame_index = idx->num_entries - 1;
+ }
+ return idx->entries[frame_index].pts;
+}
+
+int IMB_indexer_get_duration(struct anim_index * idx)
+{
+ if (idx->num_entries == 0) {
+ return 0;
+ }
+ return idx->entries[idx->num_entries-1].frameno + 1;
+}
+
+int IMB_indexer_can_scan(struct anim_index * idx,
+ int old_frame_index, int new_frame_index)
+{
+ /* makes only sense, if it is the same I-Frame and we are not
+ trying to run backwards in time... */
+ return (IMB_indexer_get_seek_pos(idx, old_frame_index)
+ == IMB_indexer_get_seek_pos(idx, new_frame_index) &&
+ old_frame_index < new_frame_index);
+}
+
+void IMB_indexer_close(struct anim_index * idx)
+{
+ MEM_freeN(idx->entries);
+ MEM_freeN(idx);
+}
+
+int IMB_proxy_size_to_array_index(IMB_Proxy_Size pr_size)
+{
+ switch (pr_size) {
+ case IMB_PROXY_NONE: /* if we got here, something is broken anyways,
+ so sane defaults... */
+ return 0;
+ case IMB_PROXY_25:
+ return 0;
+ case IMB_PROXY_50:
+ return 1;
+ case IMB_PROXY_75:
+ return 2;
+ case IMB_PROXY_100:
+ return 3;
+ default:
+ return 0;
+ };
+ return 0;
+}
+
+int IMB_timecode_to_array_index(IMB_Timecode_Type tc)
+{
+ switch (tc) {
+ case IMB_TC_NONE: /* if we got here, something is broken anyways,
+ so sane defaults... */
+ return 0;
+ case IMB_TC_RECORD_RUN:
+ return 0;
+ case IMB_TC_FREE_RUN:
+ return 1;
+ case IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN:
+ return 2;
+ default:
+ return 0;
+ };
+ return 0;
+}
+
+
+/* ----------------------------------------------------------------------
+ - rebuild helper functions
+ ---------------------------------------------------------------------- */
+
+static void get_index_dir(struct anim * anim, char * index_dir)
+{
+ if (!anim->index_dir[0]) {
+ char fname[FILE_MAXFILE];
+ BLI_strncpy(index_dir, anim->name, FILE_MAXDIR);
+ BLI_splitdirstring(index_dir, fname);
+ BLI_join_dirfile(index_dir, FILE_MAXDIR, index_dir, "BL_proxy");
+ BLI_join_dirfile(index_dir, FILE_MAXDIR, index_dir, fname);
+ } else {
+ BLI_strncpy(index_dir, anim->index_dir, FILE_MAXDIR);
+ }
+}
+
+static void get_proxy_filename(struct anim * anim, IMB_Proxy_Size preview_size,
+ char * fname, int temp)
+{
+ char index_dir[FILE_MAXDIR];
+ int i = IMB_proxy_size_to_array_index(preview_size);
+
+ char proxy_name[256];
+ char proxy_temp_name[256];
+ char stream_suffix[20];
+
+ stream_suffix[0] = 0;
+
+ if (anim->streamindex > 0) {
+ BLI_snprintf(stream_suffix, 20, "_st%d", anim->streamindex);
+ }
+
+ BLI_snprintf(proxy_name, 256, "proxy_%d%s.avi",
+ (int) (proxy_fac[i] * 100), stream_suffix);
+ BLI_snprintf(proxy_temp_name, 256, "proxy_%d%s_part.avi",
+ (int) (proxy_fac[i] * 100), stream_suffix);
+
+ get_index_dir(anim, index_dir);
+
+ BLI_join_dirfile(fname, FILE_MAXFILE + FILE_MAXDIR, index_dir,
+ temp ? proxy_temp_name : proxy_name);
+}
+
+static void get_tc_filename(struct anim * anim, IMB_Timecode_Type tc,
+ char * fname)
+{
+ char index_dir[FILE_MAXDIR];
+ int i = IMB_timecode_to_array_index(tc);
+ const char * index_names[] = {
+ "record_run%s.blen_tc", "free_run%s.blen_tc",
+ "interp_free_run%s.blen_tc" };
+
+ char stream_suffix[20];
+ char index_name[256];
+
+ stream_suffix[0] = 0;
+
+ if (anim->streamindex > 0) {
+ BLI_snprintf(stream_suffix, 20, "_st%d", anim->streamindex);
+ }
+
+ BLI_snprintf(index_name, 256, index_names[i], stream_suffix);
+
+ get_index_dir(anim, index_dir);
+
+ BLI_join_dirfile(fname, FILE_MAXFILE + FILE_MAXDIR,
+ index_dir, index_name);
+}
+
+/* ----------------------------------------------------------------------
+ - ffmpeg rebuilder
+ ---------------------------------------------------------------------- */
+
+#ifdef WITH_FFMPEG
+
+struct proxy_output_ctx {
+ AVFormatContext* of;
+ AVStream* st;
+ AVCodecContext* c;
+ AVCodec* codec;
+ struct SwsContext * sws_ctx;
+ AVFrame* frame;
+ uint8_t* video_buffer;
+ int video_buffersize;
+ int cfra;
+ int proxy_size;
+ int orig_height;
+ struct anim * anim;
+};
+
+// work around stupid swscaler 16 bytes alignment bug...
+
+static int round_up(int x, int mod)
+{
+ return x + ((mod - (x % mod)) % mod);
+}
+
+static struct proxy_output_ctx * alloc_proxy_output_ffmpeg(
+ struct anim * anim,
+ AVStream * st, int proxy_size, int width, int height,
+ int quality)
+{
+ struct proxy_output_ctx * rv = MEM_callocN(
+ sizeof(struct proxy_output_ctx), "alloc_proxy_output");
+
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+
+ // JPEG requires this
+ width = round_up(width, 8);
+ height = round_up(height, 8);
+
+ rv->proxy_size = proxy_size;
+ rv->anim = anim;
+
+ get_proxy_filename(rv->anim, rv->proxy_size, fname, TRUE);
+ BLI_make_existing_file(fname);
+
+ rv->of = avformat_alloc_context();
+ rv->of->oformat = av_guess_format("avi", NULL, NULL);
+
+ BLI_snprintf(rv->of->filename, sizeof(rv->of->filename), "%s", fname);
+
+ fprintf(stderr, "Starting work on proxy: %s\n", rv->of->filename);
+
+ rv->st = av_new_stream(rv->of, 0);
+ rv->c = rv->st->codec;
+ rv->c->codec_type = AVMEDIA_TYPE_VIDEO;
+ rv->c->codec_id = CODEC_ID_MJPEG;
+ rv->c->width = width;
+ rv->c->height = height;
+
+ rv->of->oformat->video_codec = rv->c->codec_id;
+ rv->codec = avcodec_find_encoder(rv->c->codec_id);
+
+ if (!rv->codec) {
+ fprintf(stderr, "No ffmpeg MJPEG encoder available? "
+ "Proxy not built!\n");
+ av_free(rv->of);
+ return NULL;
+ }
+
+ if (rv->codec->pix_fmts) {
+ rv->c->pix_fmt = rv->codec->pix_fmts[0];
+ } else {
+ rv->c->pix_fmt = PIX_FMT_YUVJ420P;
+ }
+
+ rv->c->sample_aspect_ratio
+ = rv->st->sample_aspect_ratio
+ = st->codec->sample_aspect_ratio;
+
+ rv->c->time_base.den = 25;
+ rv->c->time_base.num = 1;
+ rv->st->time_base = rv->c->time_base;
+
+ if (rv->of->flags & AVFMT_GLOBALHEADER) {
+ rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER;
+ }
+
+ if (av_set_parameters(rv->of, NULL) < 0) {
+ fprintf(stderr, "Couldn't set output parameters? "
+ "Proxy not built!\n");
+ av_free(rv->of);
+ return 0;
+ }
+
+ if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) {
+ fprintf(stderr, "Couldn't open outputfile! "
+ "Proxy not built!\n");
+ av_free(rv->of);
+ return 0;
+ }
+
+ avcodec_open(rv->c, rv->codec);
+
+ rv->video_buffersize = 2000000;
+ rv->video_buffer = (uint8_t*)MEM_mallocN(
+ rv->video_buffersize, "FFMPEG video buffer");
+
+ rv->orig_height = st->codec->height;
+
+ if (st->codec->width != width || st->codec->height != height
+ || st->codec->pix_fmt != rv->c->pix_fmt) {
+ rv->frame = avcodec_alloc_frame();
+ avpicture_fill((AVPicture*) rv->frame,
+ MEM_mallocN(avpicture_get_size(
+ rv->c->pix_fmt,
+ round_up(width, 16), height),
+ "alloc proxy output frame"),
+ rv->c->pix_fmt, round_up(width, 16), height);
+
+ rv->sws_ctx = sws_getContext(
+ st->codec->width,
+ st->codec->height,
+ st->codec->pix_fmt,
+ width, height,
+ rv->c->pix_fmt,
+ SWS_FAST_BILINEAR | SWS_PRINT_INFO,
+ NULL, NULL, NULL);
+ }
+
+ av_write_header(rv->of);
+
+ return rv;
+}
+
+static int add_to_proxy_output_ffmpeg(
+ struct proxy_output_ctx * ctx, AVFrame * frame)
+{
+ int outsize = 0;
+
+ if (!ctx) {
+ return 0;
+ }
+
+ if (ctx->sws_ctx && frame &&
+ (frame->data[0] || frame->data[1] ||
+ frame->data[2] || frame->data[3])) {
+ sws_scale(ctx->sws_ctx, (const uint8_t * const*) frame->data,
+ frame->linesize, 0, ctx->orig_height,
+ ctx->frame->data, ctx->frame->linesize);
+ }
+
+ frame = ctx->sws_ctx ? (frame ? ctx->frame : 0) : frame;
+
+ if (frame) {
+ frame->pts = ctx->cfra++;
+ }
+
+ outsize = avcodec_encode_video(
+ ctx->c, ctx->video_buffer, ctx->video_buffersize,
+ frame);
+
+ if (outsize < 0) {
+ fprintf(stderr, "Error encoding proxy frame %d for '%s'\n",
+ ctx->cfra - 1, ctx->of->filename);
+ return 0;
+ }
+
+ if (outsize != 0) {
+ AVPacket packet;
+ av_init_packet(&packet);
+
+ if (ctx->c->coded_frame->pts != AV_NOPTS_VALUE) {
+ packet.pts = av_rescale_q(ctx->c->coded_frame->pts,
+ ctx->c->time_base,
+ ctx->st->time_base);
+ }
+ if (ctx->c->coded_frame->key_frame)
+ packet.flags |= AV_PKT_FLAG_KEY;
+
+ packet.stream_index = ctx->st->index;
+ packet.data = ctx->video_buffer;
+ packet.size = outsize;
+
+ if (av_interleaved_write_frame(ctx->of, &packet) != 0) {
+ fprintf(stderr, "Error writing proxy frame %d "
+ "into '%s'\n", ctx->cfra - 1,
+ ctx->of->filename);
+ return 0;
+ }
+
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+static void free_proxy_output_ffmpeg(struct proxy_output_ctx * ctx,
+ int rollback)
+{
+ int i;
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+ char fname_tmp[FILE_MAXDIR+FILE_MAXFILE];
+
+ if (!ctx) {
+ return;
+ }
+
+ if (!rollback) {
+ while (add_to_proxy_output_ffmpeg(ctx, NULL)) ;
+ }
+
+ avcodec_flush_buffers(ctx->c);
+
+ av_write_trailer(ctx->of);
+
+ avcodec_close(ctx->c);
+
+ for (i = 0; i < ctx->of->nb_streams; i++) {
+ if (&ctx->of->streams[i]) {
+ av_freep(&ctx->of->streams[i]);
+ }
+ }
+
+ if (ctx->of->oformat) {
+ if (!(ctx->of->oformat->flags & AVFMT_NOFILE)) {
+ avio_close(ctx->of->pb);
+ }
+ }
+ av_free(ctx->of);
+
+ MEM_freeN(ctx->video_buffer);
+
+ if (ctx->sws_ctx) {
+ sws_freeContext(ctx->sws_ctx);
+
+ MEM_freeN(ctx->frame->data[0]);
+ av_free(ctx->frame);
+ }
+
+ get_proxy_filename(ctx->anim, ctx->proxy_size,
+ fname_tmp, TRUE);
+
+ if (rollback) {
+ unlink(fname_tmp);
+ } else {
+ get_proxy_filename(ctx->anim, ctx->proxy_size,
+ fname, FALSE);
+ rename(fname_tmp, fname);
+ }
+
+ MEM_freeN(ctx);
+}
+
+
+static int index_rebuild_ffmpeg(struct anim * anim,
+ IMB_Timecode_Type tcs_in_use,
+ IMB_Proxy_Size proxy_sizes_in_use,
+ int quality,
+ short *stop, short *do_update,
+ float *progress)
+{
+ int i, videoStream;
+ unsigned long long seek_pos = 0;
+ unsigned long long last_seek_pos = 0;
+ unsigned long long seek_pos_dts = 0;
+ unsigned long long seek_pos_pts = 0;
+ unsigned long long last_seek_pos_dts = 0;
+ unsigned long long start_pts = 0;
+ double frame_rate;
+ double pts_time_base;
+ int frameno = 0;
+ int start_pts_set = FALSE;
+
+ AVFormatContext *iFormatCtx;
+ AVCodecContext *iCodecCtx;
+ AVCodec *iCodec;
+ AVStream *iStream;
+ AVFrame* in_frame = 0;
+ AVPacket next_packet;
+ int streamcount;
+
+ struct proxy_output_ctx * proxy_ctx[IMB_PROXY_MAX_SLOT];
+ anim_index_builder * indexer [IMB_TC_MAX_SLOT];
+
+ int num_proxy_sizes = IMB_PROXY_MAX_SLOT;
+ int num_indexers = IMB_TC_MAX_SLOT;
+ uint64_t stream_size;
+
+ memset(proxy_ctx, 0, sizeof(proxy_ctx));
+ memset(indexer, 0, sizeof(indexer));
+
+ if(av_open_input_file(&iFormatCtx, anim->name, NULL, 0, NULL) != 0) {
+ return 0;
+ }
+
+ if (av_find_stream_info(iFormatCtx) < 0) {
+ av_close_input_file(iFormatCtx);
+ return 0;
+ }
+
+ streamcount = anim->streamindex;
+
+ /* Find the video stream */
+ videoStream = -1;
+ for (i = 0; i < iFormatCtx->nb_streams; i++)
+ if(iFormatCtx->streams[i]->codec->codec_type
+ == AVMEDIA_TYPE_VIDEO) {
+ if (streamcount > 0) {
+ streamcount--;
+ continue;
+ }
+ videoStream = i;
+ break;
+ }
+
+ if (videoStream == -1) {
+ av_close_input_file(iFormatCtx);
+ return 0;
+ }
+
+ iStream = iFormatCtx->streams[videoStream];
+ iCodecCtx = iStream->codec;
+
+ iCodec = avcodec_find_decoder(iCodecCtx->codec_id);
+
+ if (iCodec == NULL) {
+ av_close_input_file(iFormatCtx);
+ return 0;
+ }
+
+ iCodecCtx->workaround_bugs = 1;
+
+ if (avcodec_open(iCodecCtx, iCodec) < 0) {
+ av_close_input_file(iFormatCtx);
+ return 0;
+ }
+
+ in_frame = avcodec_alloc_frame();
+
+ stream_size = avio_size(iFormatCtx->pb);
+
+ for (i = 0; i < num_proxy_sizes; i++) {
+ if (proxy_sizes_in_use & proxy_sizes[i]) {
+ proxy_ctx[i] = alloc_proxy_output_ffmpeg(
+ anim, iStream, proxy_sizes[i],
+ iCodecCtx->width * proxy_fac[i],
+ iCodecCtx->height * proxy_fac[i],
+ quality);
+ if (!proxy_ctx[i]) {
+ proxy_sizes_in_use &= ~proxy_sizes[i];
+ }
+ }
+ }
+
+ for (i = 0; i < num_indexers; i++) {
+ if (tcs_in_use & tc_types[i]) {
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+
+ get_tc_filename(anim, tc_types[i], fname);
+
+ indexer[i] = IMB_index_builder_create(fname);
+ if (!indexer[i]) {
+ tcs_in_use &= ~tc_types[i];
+ }
+ }
+ }
+
+ frame_rate = av_q2d(iStream->r_frame_rate);
+ pts_time_base = av_q2d(iStream->time_base);
+
+ while(av_read_frame(iFormatCtx, &next_packet) >= 0) {
+ int frame_finished = 0;
+ float next_progress = ((int)floor(((double) next_packet.pos) * 100 /
+ ((double) stream_size)+0.5)) / 100;
+
+ if (*progress != next_progress) {
+ *progress = next_progress;
+ *do_update = 1;
+ }
+
+ if (*stop) {
+ av_free_packet(&next_packet);
+ break;
+ }
+
+ if (next_packet.stream_index == videoStream) {
+ if (next_packet.flags & AV_PKT_FLAG_KEY) {
+ last_seek_pos = seek_pos;
+ last_seek_pos_dts = seek_pos_dts;
+ seek_pos = next_packet.pos;
+ seek_pos_dts = next_packet.dts;
+ seek_pos_pts = next_packet.pts;
+ }
+
+ avcodec_decode_video2(
+ iCodecCtx, in_frame, &frame_finished,
+ &next_packet);
+ }
+
+ if (frame_finished) {
+ unsigned long long s_pos = seek_pos;
+ unsigned long long s_dts = seek_pos_dts;
+ unsigned long long pts
+ = av_get_pts_from_frame(iFormatCtx, in_frame);
+
+ for (i = 0; i < num_proxy_sizes; i++) {
+ add_to_proxy_output_ffmpeg(
+ proxy_ctx[i], in_frame);
+ }
+
+ if (!start_pts_set) {
+ start_pts = pts;
+ start_pts_set = TRUE;
+ }
+
+ frameno = (pts - start_pts)
+ * pts_time_base * frame_rate;
+
+ /* decoding starts *always* on I-Frames,
+ so: P-Frames won't work, even if all the
+ information is in place, when we seek
+ to the I-Frame presented *after* the P-Frame,
+ but located before the P-Frame within
+ the stream */
+
+ if (pts < seek_pos_pts) {
+ s_pos = last_seek_pos;
+ s_dts = last_seek_pos_dts;
+ }
+
+ for (i = 0; i < num_indexers; i++) {
+ if (tcs_in_use & tc_types[i]) {
+ IMB_index_builder_proc_frame(
+ indexer[i],
+ next_packet.data,
+ next_packet.size,
+ frameno, s_pos, s_dts, pts);
+ }
+ }
+ }
+ av_free_packet(&next_packet);
+ }
+
+ for (i = 0; i < num_indexers; i++) {
+ if (tcs_in_use & tc_types[i]) {
+ IMB_index_builder_finish(indexer[i], *stop);
+ }
+ }
+
+ for (i = 0; i < num_proxy_sizes; i++) {
+ if (proxy_sizes_in_use & proxy_sizes[i]) {
+ free_proxy_output_ffmpeg(proxy_ctx[i], *stop);
+ }
+ }
+
+ av_free(in_frame);
+
+ return 1;
+}
+
+#endif
+
+/* ----------------------------------------------------------------------
+ - internal AVI (fallback) rebuilder
+ ---------------------------------------------------------------------- */
+
+static AviMovie * alloc_proxy_output_avi(
+ struct anim * anim, char * filename, int width, int height,
+ int quality)
+{
+ int x, y;
+ AviFormat format;
+ double framerate;
+ AviMovie * avi;
+ short frs_sec = 25; /* it doesn't really matter for proxies,
+ but sane defaults help anyways...*/
+ float frs_sec_base = 1.0;
+
+ IMB_anim_get_fps(anim, &frs_sec, &frs_sec_base);
+
+ x = width;
+ y = height;
+
+ framerate= (double) frs_sec / (double) frs_sec_base;
+
+ avi = MEM_mallocN (sizeof(AviMovie), "avimovie");
+
+ format = AVI_FORMAT_MJPEG;
+
+ if (AVI_open_compress (filename, avi, 1, format) != AVI_ERROR_NONE) {
+ MEM_freeN(avi);
+ return 0;
+ }
+
+ AVI_set_compress_option (avi, AVI_OPTION_TYPE_MAIN, 0, AVI_OPTION_WIDTH, &x);
+ AVI_set_compress_option (avi, AVI_OPTION_TYPE_MAIN, 0, AVI_OPTION_HEIGHT, &y);
+ AVI_set_compress_option (avi, AVI_OPTION_TYPE_MAIN, 0, AVI_OPTION_QUALITY, &quality);
+ AVI_set_compress_option (avi, AVI_OPTION_TYPE_MAIN, 0, AVI_OPTION_FRAMERATE, &framerate);
+
+ avi->interlace= 0;
+ avi->odd_fields= 0;
+
+ return avi;
+}
+
+static void index_rebuild_fallback(struct anim * anim,
+ IMB_Timecode_Type UNUSED(tcs_in_use),
+ IMB_Proxy_Size proxy_sizes_in_use,
+ int quality,
+ short *stop, short *do_update,
+ float *progress)
+{
+ int cnt = IMB_anim_get_duration(anim, IMB_TC_NONE);
+ int i, pos;
+ AviMovie * proxy_ctx[IMB_PROXY_MAX_SLOT];
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+ char fname_tmp[FILE_MAXDIR+FILE_MAXFILE];
+
+ memset(proxy_ctx, 0, sizeof(proxy_ctx));
+
+ /* since timecode indices only work with ffmpeg right now,
+ don't know a sensible fallback here...
+
+ so no proxies, no game to play...
+ */
+ if (proxy_sizes_in_use == IMB_PROXY_NONE) {
+ return;
+ }
+
+ for (i = 0; i < IMB_PROXY_MAX_SLOT; i++) {
+ if (proxy_sizes_in_use & proxy_sizes[i]) {
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+
+ get_proxy_filename(anim, proxy_sizes[i], fname, TRUE);
+ BLI_make_existing_file(fname);
+
+ proxy_ctx[i] = alloc_proxy_output_avi(
+ anim, fname,
+ anim->x * proxy_fac[i],
+ anim->y * proxy_fac[i],
+ quality);
+ }
+ }
+
+ for (pos = 0; pos < cnt; pos++) {
+ struct ImBuf * ibuf = IMB_anim_absolute(
+ anim, pos, IMB_TC_NONE, IMB_PROXY_NONE);
+ int next_progress = (int) ((double) pos / (double) cnt);
+
+ if (*progress != next_progress) {
+ *progress = next_progress;
+ *do_update = 1;
+ }
+
+ if (*stop) {
+ break;
+ }
+
+ IMB_flipy(ibuf);
+
+ for (i = 0; i < IMB_PROXY_MAX_SLOT; i++) {
+ if (proxy_sizes_in_use & proxy_sizes[i]) {
+ int x = anim->x * proxy_fac[i];
+ int y = anim->y * proxy_fac[i];
+
+ struct ImBuf * s_ibuf = IMB_scalefastImBuf(
+ ibuf, x, y);
+
+ IMB_convert_rgba_to_abgr(s_ibuf);
+
+ AVI_write_frame (proxy_ctx[i], pos,
+ AVI_FORMAT_RGB32,
+ s_ibuf->rect, x * y * 4);
+
+ /* note that libavi free's the buffer... */
+ s_ibuf->rect = 0;
+
+ IMB_freeImBuf(s_ibuf);
+ }
+ }
+ }
+
+ for (i = 0; i < IMB_PROXY_MAX_SLOT; i++) {
+ if (proxy_sizes_in_use & proxy_sizes[i]) {
+ AVI_close_compress (proxy_ctx[i]);
+ MEM_freeN (proxy_ctx[i]);
+
+ get_proxy_filename(anim, proxy_sizes[i],
+ fname_tmp, TRUE);
+ get_proxy_filename(anim, proxy_sizes[i],
+ fname, FALSE);
+
+ if (*stop) {
+ unlink(fname_tmp);
+ } else {
+ rename(fname_tmp, fname);
+ }
+ }
+ }
+}
+
+/* ----------------------------------------------------------------------
+ - public API
+ ---------------------------------------------------------------------- */
+
+void IMB_anim_index_rebuild(struct anim * anim, IMB_Timecode_Type tcs_in_use,
+ IMB_Proxy_Size proxy_sizes_in_use,
+ int quality,
+ short *stop, short *do_update, float *progress)
+{
+ switch (anim->curtype) {
+#ifdef WITH_FFMPEG
+ case ANIM_FFMPEG:
+ index_rebuild_ffmpeg(anim, tcs_in_use, proxy_sizes_in_use,
+ quality, stop, do_update, progress);
+ break;
+#endif
+ default:
+ index_rebuild_fallback(anim, tcs_in_use, proxy_sizes_in_use,
+ quality, stop, do_update, progress);
+ break;
+ }
+}
+
+void IMB_free_indices(struct anim * anim)
+{
+ int i;
+
+ for (i = 0; i < IMB_PROXY_MAX_SLOT; i++) {
+ if (anim->proxy_anim[i]) {
+ IMB_close_anim(anim->proxy_anim[i]);
+ anim->proxy_anim[i] = 0;
+ }
+ }
+
+ for (i = 0; i < IMB_TC_MAX_SLOT; i++) {
+ if (anim->curr_idx[i]) {
+ IMB_indexer_close(anim->curr_idx[i]);
+ anim->curr_idx[i] = 0;
+ }
+ }
+
+
+ anim->proxies_tried = 0;
+ anim->indices_tried = 0;
+}
+
+void IMB_anim_set_index_dir(struct anim * anim, const char * dir)
+{
+ if (strcmp(anim->index_dir, dir) == 0) {
+ return;
+ }
+ BLI_strncpy(anim->index_dir, dir, sizeof(anim->index_dir));
+
+ IMB_free_indices(anim);
+}
+
+struct anim * IMB_anim_open_proxy(
+ struct anim * anim, IMB_Proxy_Size preview_size)
+{
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+ int i = IMB_proxy_size_to_array_index(preview_size);
+
+ if (anim->proxy_anim[i]) {
+ return anim->proxy_anim[i];
+ }
+
+ if (anim->proxies_tried & preview_size) {
+ return NULL;
+ }
+
+ get_proxy_filename(anim, preview_size, fname, FALSE);
+
+ anim->proxy_anim[i] = IMB_open_anim(fname, 0, 0);
+
+ anim->proxies_tried |= preview_size;
+
+ return anim->proxy_anim[i];
+}
+
+struct anim_index * IMB_anim_open_index(
+ struct anim * anim, IMB_Timecode_Type tc)
+{
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+ int i = IMB_timecode_to_array_index(tc);
+
+ if (anim->curr_idx[i]) {
+ return anim->curr_idx[i];
+ }
+
+ if (anim->indices_tried & tc) {
+ return 0;
+ }
+
+ get_tc_filename(anim, tc, fname);
+
+ anim->curr_idx[i] = IMB_indexer_open(fname);
+
+ anim->indices_tried |= tc;
+
+ return anim->curr_idx[i];
+}
+
+int IMB_anim_index_get_frame_index(struct anim * anim, IMB_Timecode_Type tc,
+ int position)
+{
+ struct anim_index * idx = IMB_anim_open_index(anim, tc);
+
+ if (!idx) {
+ return position;
+ }
+
+ return IMB_indexer_get_frame_index(idx, position);
+}
+
diff --git a/source/blender/imbuf/intern/indexer_dv.c b/source/blender/imbuf/intern/indexer_dv.c
new file mode 100644
index 00000000000..d1202136d56
--- /dev/null
+++ b/source/blender/imbuf/intern/indexer_dv.c
@@ -0,0 +1,392 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Peter Schlaile <peter [at] schlaile [dot] de> 2011
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+*/
+
+#include "IMB_indexer.h"
+#include "MEM_guardedalloc.h"
+#include "BLI_utildefines.h"
+#include <time.h>
+
+typedef struct indexer_dv_bitstream {
+ unsigned char* buffer;
+ int bit_pos;
+} indexer_dv_bitstream;
+
+static indexer_dv_bitstream bitstream_new(unsigned char* buffer_)
+{
+ indexer_dv_bitstream rv;
+
+ rv.buffer = buffer_;
+ rv.bit_pos = 0;
+
+ return rv;
+}
+
+static unsigned long bitstream_get_bits(indexer_dv_bitstream * This, int num)
+{
+ int byte_pos = This->bit_pos >> 3;
+ unsigned long i =
+ This->buffer[byte_pos] | (This->buffer[byte_pos + 1] << 8) |
+ (This->buffer[byte_pos + 2] << 16) |
+ (This->buffer[byte_pos + 3] << 24);
+ int rval = (i >> (This->bit_pos & 0x7)) & ((1 << num) - 1);
+ This->bit_pos += num;
+ return rval;
+}
+
+static int parse_num(indexer_dv_bitstream * b, int numbits) {
+ return bitstream_get_bits(b, numbits);
+}
+
+static int parse_bcd(indexer_dv_bitstream * b, int n)
+{
+ char s[256];
+ char * p = s + (n+3)/4;
+
+ *p-- = 0;
+
+ while (n > 4) {
+ char a;
+ int v = bitstream_get_bits(b, 4);
+
+ n -= 4;
+ a = '0' + v;
+
+ if (a > '9') {
+ bitstream_get_bits(b, n);
+ return -1;
+ }
+
+ *p-- = a;
+ }
+ if (n) {
+ char a;
+ int v = bitstream_get_bits(b, n);
+ a = '0' + v;
+ if (a > '9') {
+ return -1;
+ }
+ *p-- = a;
+ }
+
+ return atol(s);
+}
+
+typedef struct indexer_dv_context
+{
+ int rec_curr_frame;
+ int rec_curr_second;
+ int rec_curr_minute;
+ int rec_curr_hour;
+
+ int rec_curr_day;
+ int rec_curr_month;
+ int rec_curr_year;
+
+ char got_record_date;
+ char got_record_time;
+
+ time_t ref_time_read;
+ time_t ref_time_read_new;
+ int curr_frame;
+
+ time_t gap_start;
+ int gap_frame;
+
+ int frameno_offset;
+
+ anim_index_entry backbuffer[31];
+ int fsize;
+
+ anim_index_builder * idx;
+} indexer_dv_context;
+
+static void parse_packet(indexer_dv_context * This, unsigned char * p)
+{
+ indexer_dv_bitstream b;
+ int type = p[0];
+
+ b = bitstream_new(p + 1);
+
+ switch (type) {
+ case 0x62: // Record date
+ parse_num(&b, 8);
+ This->rec_curr_day = parse_bcd(&b, 6);
+ parse_num(&b, 2);
+ This->rec_curr_month = parse_bcd(&b, 5);
+ parse_num(&b, 3);
+ This->rec_curr_year = parse_bcd(&b, 8);
+ if (This->rec_curr_year < 25) {
+ This->rec_curr_year += 2000;
+ } else {
+ This->rec_curr_year += 1900;
+ }
+ This->got_record_date = 1;
+ break;
+ case 0x63: // Record time
+ This->rec_curr_frame = parse_bcd(&b, 6);
+ parse_num(&b, 2);
+ This->rec_curr_second = parse_bcd(&b, 7);
+ parse_num(&b, 1);
+ This->rec_curr_minute = parse_bcd(&b, 7);
+ parse_num(&b, 1);
+ This->rec_curr_hour = parse_bcd(&b, 6);
+ This->got_record_time = 1;
+ break;
+ }
+}
+
+static void parse_header_block(indexer_dv_context * This, unsigned char* target)
+{
+ int i;
+ for (i = 3; i < 80; i += 5) {
+ if (target[i] != 0xff) {
+ parse_packet(This, target + i);
+ }
+ }
+}
+
+static void parse_subcode_blocks(
+ indexer_dv_context * This, unsigned char* target)
+{
+ int i,j;
+
+ for (j = 0; j < 2; j++) {
+ for (i = 3; i < 80; i += 5) {
+ if (target[i] != 0xff) {
+ parse_packet(This, target + i);
+ }
+ }
+ }
+}
+
+static void parse_vaux_blocks(
+ indexer_dv_context * This, unsigned char* target)
+{
+ int i,j;
+
+ for (j = 0; j < 3; j++) {
+ for (i = 3; i < 80; i += 5) {
+ if (target[i] != 0xff) {
+ parse_packet(This, target + i);
+ }
+ }
+ target += 80;
+ }
+}
+
+static void parse_audio_headers(
+ indexer_dv_context * This, unsigned char* target)
+{
+ int i;
+
+ for(i = 0; i < 9; i++) {
+ if (target[3] != 0xff) {
+ parse_packet(This, target + 3);
+ }
+ target += 16 * 80;
+ }
+}
+
+static void parse_frame(indexer_dv_context * This,
+ unsigned char * framebuffer, int isPAL)
+{
+ int numDIFseq = isPAL ? 12 : 10;
+ unsigned char* target = framebuffer;
+ int ds;
+
+ for (ds = 0; ds < numDIFseq; ds++) {
+ parse_header_block(This, target);
+ target += 1 * 80;
+ parse_subcode_blocks(This, target);
+ target += 2 * 80;
+ parse_vaux_blocks(This, target);
+ target += 3 * 80;
+ parse_audio_headers(This, target);
+ target += 144 * 80;
+ }
+}
+
+static void inc_frame(int * frame, time_t * t, int isPAL)
+{
+ if ((isPAL && *frame >= 25) || (!isPAL && *frame >= 30)) {
+ fprintf(stderr, "Ouchie: inc_frame: invalid_frameno: %d\n",
+ *frame);
+ }
+ (*frame)++;
+ if (isPAL && *frame >= 25) {
+ (*t)++;
+ *frame = 0;
+ } else if (!isPAL && *frame >= 30) {
+ (*t)++;
+ *frame = 0;
+ }
+}
+
+static void write_index(indexer_dv_context * This, anim_index_entry * entry)
+{
+ IMB_index_builder_add_entry(
+ This->idx, entry->frameno + This->frameno_offset,
+ entry->seek_pos, entry->seek_pos_dts, entry->pts);
+}
+
+static void fill_gap(indexer_dv_context * This, int isPAL)
+{
+ int i;
+
+ for (i = 0; i < This->fsize; i++) {
+ if (This->gap_start == This->ref_time_read &&
+ This->gap_frame == This->curr_frame) {
+ fprintf(stderr,
+ "indexer_dv::fill_gap: "
+ "can't seek backwards !\n");
+ break;
+ }
+ inc_frame(&This->gap_frame, &This->gap_start, isPAL);
+ }
+
+ while (This->gap_start != This->ref_time_read ||
+ This->gap_frame != This->curr_frame) {
+ inc_frame(&This->gap_frame, &This->gap_start, isPAL);
+ This->frameno_offset++;
+ }
+
+ for (i = 0; i < This->fsize; i++) {
+ write_index(This, This->backbuffer + i);
+ }
+ This->fsize = 0;
+}
+
+static void proc_frame(indexer_dv_context * This,
+ unsigned char* UNUSED(framebuffer), int isPAL)
+{
+ struct tm recDate;
+ time_t t;
+
+ if (!This->got_record_date || !This->got_record_time) {
+ return;
+ }
+
+ recDate.tm_sec = This->rec_curr_second;
+ recDate.tm_min = This->rec_curr_minute;
+ recDate.tm_hour = This->rec_curr_hour;
+ recDate.tm_mday = This->rec_curr_day;
+ recDate.tm_mon = This->rec_curr_month - 1;
+ recDate.tm_year = This->rec_curr_year - 1900;
+ recDate.tm_wday = -1;
+ recDate.tm_yday = -1;
+ recDate.tm_isdst = -1;
+
+ t = mktime(&recDate);
+ if (t == -1) {
+ return;
+ }
+
+ This->ref_time_read_new = t;
+
+ if (This->ref_time_read < 0) {
+ This->ref_time_read = This->ref_time_read_new;
+ This->curr_frame = 0;
+ } else {
+ if (This->ref_time_read_new - This->ref_time_read == 1) {
+ This->curr_frame = 0;
+ This->ref_time_read = This->ref_time_read_new;
+ if (This->gap_frame >= 0) {
+ fill_gap(This, isPAL);
+ This->gap_frame = -1;
+ }
+ } else if (This->ref_time_read_new == This->ref_time_read) {
+ // do nothing
+ } else {
+ This->gap_start = This->ref_time_read;
+ This->gap_frame = This->curr_frame;
+ This->ref_time_read = This->ref_time_read_new;
+ This->curr_frame = -1;
+ }
+ }
+}
+
+static void indexer_dv_proc_frame(anim_index_builder * idx,
+ unsigned char * buffer,
+ int UNUSED(data_size),
+ struct anim_index_entry * entry)
+{
+ int isPAL;
+
+ indexer_dv_context * This = (indexer_dv_context *) idx->private_data;
+
+ isPAL = (buffer[3] & 0x80);
+
+ This->got_record_date = FALSE;
+ This->got_record_time = FALSE;
+
+ parse_frame(This, buffer, isPAL);
+ proc_frame(This, buffer, isPAL);
+
+ if (This->curr_frame >= 0) {
+ write_index(This, entry);
+ inc_frame(&This->curr_frame, &This->ref_time_read, isPAL);
+ } else {
+ This->backbuffer[This->fsize++] = *entry;
+ if (This->fsize >= 31) {
+ int i;
+
+ fprintf(stderr, "indexer_dv::indexer_dv_proc_frame: "
+ "backbuffer overrun, emergency flush");
+
+ for (i = 0; i < This->fsize; i++) {
+ write_index(This, This->backbuffer+i);
+ }
+ This->fsize = 0;
+ }
+ }
+}
+
+static void indexer_dv_delete(anim_index_builder * idx)
+{
+ int i = 0;
+ indexer_dv_context * This = (indexer_dv_context *) idx->private_data;
+
+ for (i = 0; i < This->fsize; i++) {
+ write_index(This, This->backbuffer+i);
+ }
+
+ MEM_freeN(This);
+}
+
+void IMB_indexer_dv_new(anim_index_builder * idx)
+{
+ indexer_dv_context * rv = MEM_callocN(
+ sizeof(indexer_dv_context), "index_dv builder context");
+
+ rv->ref_time_read = -1;
+ rv->curr_frame = -1;
+ rv->gap_frame = -1;
+ rv->idx = idx;
+
+ idx->private_data = rv;
+ idx->proc_frame = indexer_dv_proc_frame;
+ idx->delete_priv_data = indexer_dv_delete;
+}
diff --git a/source/blender/imbuf/intern/openexr/CMakeLists.txt b/source/blender/imbuf/intern/openexr/CMakeLists.txt
index c1140bc59a9..3be5219ae44 100644
--- a/source/blender/imbuf/intern/openexr/CMakeLists.txt
+++ b/source/blender/imbuf/intern/openexr/CMakeLists.txt
@@ -30,9 +30,8 @@ set(INC
../..
../../../blenkernel
../../../blenlib
- intern/include
- ../../../../../intern/guardedalloc
../../../makesdna
+ ../../../../../intern/guardedalloc
)
set(INC_SYS
@@ -44,7 +43,9 @@ set(SRC
)
if(WITH_IMAGE_OPENEXR)
- list(APPEND INC_SYS ${OPENEXR_INC})
+ list(APPEND INC_SYS
+ ${OPENEXR_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_OPENEXR)
endif()
diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp
index 9fd6cd1c3fa..88f6508d356 100644
--- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
@@ -76,18 +76,18 @@ _CRTIMP void __cdecl _invalid_parameter_noinfo(void)
#include <IlmImf/ImfStringAttribute.h>
#include <Imath/ImathBox.h>
#else
-#include <OpenEXR/half.h>
-#include <OpenEXR/ImfVersion.h>
-#include <OpenEXR/ImathBox.h>
-#include <OpenEXR/ImfArray.h>
-#include <OpenEXR/ImfIO.h>
-#include <OpenEXR/ImfChannelList.h>
-#include <OpenEXR/ImfPixelType.h>
-#include <OpenEXR/ImfInputFile.h>
-#include <OpenEXR/ImfOutputFile.h>
-#include <OpenEXR/ImfCompression.h>
-#include <OpenEXR/ImfCompressionAttribute.h>
-#include <OpenEXR/ImfStringAttribute.h>
+#include <half.h>
+#include <ImfVersion.h>
+#include <ImathBox.h>
+#include <ImfArray.h>
+#include <ImfIO.h>
+#include <ImfChannelList.h>
+#include <ImfPixelType.h>
+#include <ImfInputFile.h>
+#include <ImfOutputFile.h>
+#include <ImfCompression.h>
+#include <ImfCompressionAttribute.h>
+#include <ImfStringAttribute.h>
#endif
using namespace Imf;
@@ -487,7 +487,7 @@ void IMB_exr_add_channel(void *handle, const char *layname, const char *passname
}
/* only used for writing temp. render results (not image files) */
-void IMB_exr_begin_write(void *handle, const char *filename, int width, int height, int compress)
+int IMB_exr_begin_write(void *handle, const char *filename, int width, int height, int compress)
{
ExrHandle *data= (ExrHandle *)handle;
Header header (width, height);
@@ -504,8 +504,17 @@ void IMB_exr_begin_write(void *handle, const char *filename, int width, int heig
/* header.lineOrder() = DECREASING_Y; this crashes in windows for file read! */
header.insert ("BlenderMultiChannel", StringAttribute ("Blender V2.55.1 and newer"));
-
- data->ofile = new OutputFile(filename, header);
+
+ /* avoid crash/abort when we dont have permission to write here */
+ try {
+ data->ofile = new OutputFile(filename, header);
+ }
+ catch (const std::exception &exc) {
+ std::cerr << "IMB_exr_begin_write: ERROR: " << exc.what() << std::endl;
+ data->ofile = NULL;
+ }
+
+ return (data->ofile != NULL);
}
void IMB_exrtile_begin_write(void *handle, const char *filename, int mipmap, int width, int height, int tilex, int tiley)
diff --git a/source/blender/imbuf/intern/openexr/openexr_multi.h b/source/blender/imbuf/intern/openexr/openexr_multi.h
index 3d95bb7c306..58c5e0f2a3e 100644
--- a/source/blender/imbuf/intern/openexr/openexr_multi.h
+++ b/source/blender/imbuf/intern/openexr/openexr_multi.h
@@ -50,7 +50,7 @@ void * IMB_exr_get_handle (void);
void IMB_exr_add_channel (void *handle, const char *layname, const char *passname, int xstride, int ystride, float *rect);
int IMB_exr_begin_read (void *handle, const char *filename, int *width, int *height);
-void IMB_exr_begin_write (void *handle, const char *filename, int width, int height, int compress);
+int IMB_exr_begin_write (void *handle, const char *filename, int width, int height, int compress);
void IMB_exrtile_begin_write (void *handle, const char *filename, int mipmap, int width, int height, int tilex, int tiley);
void IMB_exr_set_channel (void *handle, const char *layname, const char *passname, int xstride, int ystride, float *rect);
@@ -75,7 +75,7 @@ void * IMB_exr_get_handle (void) {return NULL;}
void IMB_exr_add_channel (void *handle, const char *layname, const char *channame, int xstride, int ystride, float *rect) { (void)handle; (void)layname; (void)channame; (void)xstride; (void)ystride; (void)rect; }
int IMB_exr_begin_read (void *handle, const char *filename, int *width, int *height) { (void)handle; (void)filename; (void)width; (void)height; return 0;}
-void IMB_exr_begin_write (void *handle, const char *filename, int width, int height, int compress) { (void)handle; (void)filename; (void)width; (void)height; (void)compress; }
+int IMB_exr_begin_write (void *handle, const char *filename, int width, int height, int compress) { (void)handle; (void)filename; (void)width; (void)height; (void)compress; return 0;}
void IMB_exrtile_begin_write (void *handle, const char *filename, int mipmap, int width, int height, int tilex, int tiley) { (void)handle; (void)filename; (void)mipmap; (void)width; (void)height; (void)tilex; (void)tiley; }
void IMB_exr_set_channel (void *handle, char *layname, const char *channame, int xstride, int ystride, float *rect) { (void)handle; (void)layname; (void)channame; (void)xstride; (void)ystride; (void)rect; }
diff --git a/source/blender/imbuf/intern/rectop.c b/source/blender/imbuf/intern/rectop.c
index 44af7ffdb3f..db2ae3a5114 100644
--- a/source/blender/imbuf/intern/rectop.c
+++ b/source/blender/imbuf/intern/rectop.c
@@ -450,7 +450,7 @@ void IMB_rectblend(struct ImBuf *dbuf, struct ImBuf *sbuf, int destx,
/* fill */
-void IMB_rectfill(struct ImBuf *drect, float col[4])
+void IMB_rectfill(struct ImBuf *drect, const float col[4])
{
int num;
@@ -482,7 +482,7 @@ void IMB_rectfill(struct ImBuf *drect, float col[4])
}
-void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, float *col, int x1, int y1, int x2, int y2)
+void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, const float col[4], int x1, int y1, int x2, int y2)
{
int i, j;
float a; /* alpha */
@@ -509,6 +509,8 @@ void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height,
unsigned char *pixel;
unsigned char chr=0, chg=0, chb=0;
float fr=0, fg=0, fb=0;
+
+ const int alphaint= FTOCHAR(a);
if (a == 1.0f) {
chr = FTOCHAR(col[0]);
@@ -527,10 +529,13 @@ void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height,
pixel[0] = chr;
pixel[1] = chg;
pixel[2] = chb;
+ pixel[3] = 255;
} else {
+ int alphatest;
pixel[0] = (char)((fr + ((float)pixel[0]*aich))*255.0f);
pixel[1] = (char)((fg + ((float)pixel[1]*aich))*255.0f);
pixel[2] = (char)((fb + ((float)pixel[2]*aich))*255.0f);
+ pixel[3] = (char)((alphatest= ((int)pixel[3] + alphaint)) < 255 ? alphatest : 255);
}
}
}
@@ -546,10 +551,13 @@ void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height,
pixel[0] = col[0];
pixel[1] = col[1];
pixel[2] = col[2];
+ pixel[3] = 1.0f;
} else {
+ float alphatest;
pixel[0] = (col[0]*a) + (pixel[0]*ai);
pixel[1] = (col[1]*a) + (pixel[1]*ai);
pixel[2] = (col[2]*a) + (pixel[2]*ai);
+ pixel[3] = (alphatest= (pixel[3] + a)) < 1.0f ? alphatest : 1.0f;
}
}
}
@@ -561,3 +569,18 @@ void IMB_rectfill_area(struct ImBuf *ibuf, float *col, int x1, int y1, int x2, i
if (!ibuf) return;
buf_rectfill_area((unsigned char *) ibuf->rect, ibuf->rect_float, ibuf->x, ibuf->y, col, x1, y1, x2, y2);
}
+
+
+void IMB_rectfill_alpha(ImBuf *ibuf, const float value)
+{
+ int i;
+ if (ibuf->rect_float) {
+ float *fbuf= ibuf->rect_float + 3;
+ for (i = ibuf->x * ibuf->y; i > 0; i--, fbuf+= 4) { *fbuf = value; }
+ }
+ else {
+ const unsigned char cvalue= value * 255;
+ unsigned char *cbuf= ((unsigned char *)ibuf->rect) + 3;
+ for (i = ibuf->x * ibuf->y; i > 0; i--, cbuf+= 4) { *cbuf = cvalue; }
+ }
+}
diff --git a/source/blender/imbuf/intern/thumbs.c b/source/blender/imbuf/intern/thumbs.c
index 1d91f34f4fa..2ab7e55d1f8 100644
--- a/source/blender/imbuf/intern/thumbs.c
+++ b/source/blender/imbuf/intern/thumbs.c
@@ -317,9 +317,9 @@ ImBuf* IMB_thumb_create(const char* path, ThumbSize size, ThumbSource source, Im
}
} else if (THB_SOURCE_MOVIE == source) {
struct anim * anim = NULL;
- anim = IMB_open_anim(path, IB_rect | IB_metadata);
+ anim = IMB_open_anim(path, IB_rect | IB_metadata, 0);
if (anim != NULL) {
- img = IMB_anim_absolute(anim, 0);
+ img = IMB_anim_absolute(anim, 0, IMB_TC_NONE, IMB_PROXY_NONE);
if (img == NULL) {
printf("not an anim; %s\n", path);
} else {
diff --git a/source/blender/imbuf/intern/tiff.c b/source/blender/imbuf/intern/tiff.c
index 36130aa0dbf..7beb853fe62 100644
--- a/source/blender/imbuf/intern/tiff.c
+++ b/source/blender/imbuf/intern/tiff.c
@@ -646,7 +646,7 @@ void imb_loadtiletiff(ImBuf *ibuf, unsigned char *mem, size_t size, int tx, int
}
}
else
- printf("imb_loadtiff: mipmap level %d has unexpected size %dx%d instead of %dx%d\n", ibuf->miplevel, width, height, ibuf->x, ibuf->y);
+ printf("imb_loadtiff: mipmap level %d has unexpected size %ux%u instead of %dx%d\n", ibuf->miplevel, width, height, ibuf->x, ibuf->y);
}
else
printf("imb_loadtiff: could not find mipmap level %d\n", ibuf->miplevel);
diff --git a/source/blender/imbuf/intern/util.c b/source/blender/imbuf/intern/util.c
index 6e5e87d7e5c..85d31f18a03 100644
--- a/source/blender/imbuf/intern/util.c
+++ b/source/blender/imbuf/intern/util.c
@@ -113,6 +113,7 @@ const char *imb_ext_movie[] = {
".m4v",
".m2v",
".m2t",
+ ".m2ts",
".mts",
".mv",
".avs",
@@ -142,6 +143,9 @@ const char *imb_ext_audio[] = {
".flac",
".wma",
".eac3",
+ ".aif",
+ ".aiff",
+ ".m4a",
NULL};
static int IMB_ispic_name(const char *name)
@@ -217,7 +221,7 @@ void silence_log_ffmpeg(int quiet)
}
else
{
- av_log_set_level(AV_LOG_INFO);
+ av_log_set_level(AV_LOG_DEBUG);
}
}
@@ -230,9 +234,10 @@ void do_init_ffmpeg(void)
av_register_all();
avdevice_register_all();
- if ((G.f & G_DEBUG) == 0)
- {
+ if ((G.f & G_DEBUG) == 0) {
silence_log_ffmpeg(1);
+ } else {
+ silence_log_ffmpeg(0);
}
}
}
diff --git a/source/blender/imbuf/intern/writeimage.c b/source/blender/imbuf/intern/writeimage.c
index cd660e11f26..b933e6d93ee 100644
--- a/source/blender/imbuf/intern/writeimage.c
+++ b/source/blender/imbuf/intern/writeimage.c
@@ -55,7 +55,6 @@ short IMB_saveiff(struct ImBuf *ibuf, const char *name, int flags)
if(ibuf->rect==NULL && ibuf->rect_float)
IMB_rect_from_float(ibuf);
}
- /* TODO. have const char for image write funcs */
return type->save(ibuf, name, flags);
}
}
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index 4cf9f47041b..8fd9f49cd0a 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -178,6 +178,7 @@ typedef struct PreviewImage {
#define ID_SCRN MAKE_ID2('S', 'N') /* (depreciated?) */
#define ID_VF MAKE_ID2('V', 'F') /* VectorFont */
#define ID_TXT MAKE_ID2('T', 'X') /* Text */
+#define ID_SPK MAKE_ID2('S', 'K') /* Speaker */
#define ID_SO MAKE_ID2('S', 'O') /* Sound */
#define ID_GR MAKE_ID2('G', 'R') /* Group */
#define ID_ID MAKE_ID2('I', 'D') /* (internal use only) */
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h
index 0716d1ddbf2..a820e59779f 100644
--- a/source/blender/makesdna/DNA_action_types.h
+++ b/source/blender/makesdna/DNA_action_types.h
@@ -1,6 +1,4 @@
-/*
- * $Id$
- *
+/*
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -519,6 +517,9 @@ typedef struct bDopeSheet {
int filterflag; /* flags to use for filtering data */
int flag; /* standard flags */
+
+ int renameIndex; /* index+1 of channel to rename - only gets set by renaming operator */
+ int pad;
} bDopeSheet;
@@ -552,6 +553,7 @@ typedef enum eDopeSheet_FilterFlag {
ADS_FILTER_NOARM = (1<<18),
ADS_FILTER_NONTREE = (1<<19),
ADS_FILTER_NOTEX = (1<<20),
+ ADS_FILTER_NOSPK = (1<<21),
/* NLA-specific filters */
ADS_FILTER_NLA_NOACT = (1<<25), /* if the AnimData block has no NLA data, don't include to just show Action-line */
@@ -561,12 +563,13 @@ typedef enum eDopeSheet_FilterFlag {
ADS_FILTER_BY_FCU_NAME = (1<<27), /* for F-Curves, filter by the displayed name (i.e. to isolate all Location curves only) */
/* combination filters (some only used at runtime) */
- ADS_FILTER_NOOBDATA = (ADS_FILTER_NOCAM|ADS_FILTER_NOMAT|ADS_FILTER_NOLAM|ADS_FILTER_NOCUR|ADS_FILTER_NOPART|ADS_FILTER_NOARM)
+ ADS_FILTER_NOOBDATA = (ADS_FILTER_NOCAM|ADS_FILTER_NOMAT|ADS_FILTER_NOLAM|ADS_FILTER_NOCUR|ADS_FILTER_NOPART|ADS_FILTER_NOARM|ADS_FILTER_NOSPK)
} eDopeSheet_FilterFlag;
/* DopeSheet general flags */
typedef enum eDopeSheet_Flag {
- ADS_FLAG_SUMMARY_COLLAPSED = (1<<0) /* when summary is shown, it is collapsed, so all other channels get hidden */
+ ADS_FLAG_SUMMARY_COLLAPSED = (1<<0), /* when summary is shown, it is collapsed, so all other channels get hidden */
+ ADS_FLAG_SHOW_DBFILTERS = (1<<1) /* show filters for datablocks */
} eDopeSheet_Flag;
diff --git a/source/blender/makesdna/DNA_actuator_types.h b/source/blender/makesdna/DNA_actuator_types.h
index 7aa8e59effb..239903208ec 100644
--- a/source/blender/makesdna/DNA_actuator_types.h
+++ b/source/blender/makesdna/DNA_actuator_types.h
@@ -56,9 +56,12 @@ typedef struct bActionActuator {
char frameProp[32]; /* Set this property to the actions current frame */
short blendin; /* Number of frames of blending */
short priority; /* Execution priority */
+ short layer; /* Animation layer */
short end_reset; /* Ending the actuator (negative pulse) wont reset the the action to its starting frame */
short strideaxis; /* Displacement axis */
+ short pad;
float stridelength; /* Displacement incurred by cycle */ // not in use
+ float layer_weight; /* How much of the previous layer to use for blending. (<0 = disable, 0 = add mode) */
} bActionActuator;
typedef struct Sound3D
@@ -120,6 +123,7 @@ typedef struct bObjectActuator {
struct Object *reference;
} bObjectActuator;
+/* deprecated, handled by bActionActuator now */
typedef struct bIpoActuator {
short flag, type;
float sta, end;
@@ -133,7 +137,7 @@ typedef struct bIpoActuator {
typedef struct bCameraActuator {
struct Object *ob;
float height, min, max;
- float pad;
+ float damping;
short pad1, axis;
float pad2;
} bCameraActuator ;
diff --git a/source/blender/makesdna/DNA_anim_types.h b/source/blender/makesdna/DNA_anim_types.h
index 4b649031f97..e1dfd652900 100644
--- a/source/blender/makesdna/DNA_anim_types.h
+++ b/source/blender/makesdna/DNA_anim_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -62,6 +60,11 @@ typedef struct FModifier {
short flag; /* settings for the modifier */
float influence; /* the amount that the modifier should influence the value */
+
+ float sfra; /* start frame of restricted frame-range */
+ float efra; /* end frame of restricted frame-range */
+ float blendin; /* number of frames from sfra before modifier takes full influence */
+ float blendout; /* number of frames from efra before modifier fades out */
} FModifier;
/* Types of F-Curve modifier
@@ -86,13 +89,17 @@ typedef enum eFModifier_Types {
/* F-Curve Modifier Settings */
typedef enum eFModifier_Flags {
/* modifier is not able to be evaluated for some reason, and should be skipped (internal) */
- FMODIFIER_FLAG_DISABLED = (1<<0),
+ FMODIFIER_FLAG_DISABLED = (1<<0),
/* modifier's data is expanded (in UI) */
- FMODIFIER_FLAG_EXPANDED = (1<<1),
+ FMODIFIER_FLAG_EXPANDED = (1<<1),
/* modifier is active one (in UI) for editing purposes */
- FMODIFIER_FLAG_ACTIVE = (1<<2),
+ FMODIFIER_FLAG_ACTIVE = (1<<2),
/* user wants modifier to be skipped */
- FMODIFIER_FLAG_MUTED = (1<<3)
+ FMODIFIER_FLAG_MUTED = (1<<3),
+ /* restrict range that F-Modifier can be considered over */
+ FMODIFIER_FLAG_RANGERESTRICT = (1<<4),
+ /* use influence control */
+ FMODIFIER_FLAG_USEINFLUENCE = (1<<5)
} eFModifier_Flags;
/* --- */
@@ -280,8 +287,12 @@ typedef enum eDriverTarget_Flag {
DTAR_FLAG_STRUCT_REF = (1<<0),
/* idtype can only be 'Object' */
DTAR_FLAG_ID_OB_ONLY = (1<<1),
- /* toggles localspace (where transforms are manually obtained) */
+
+ /* "localspace" flags */
+ /* base flag - basically "pre parent+constraints" */
DTAR_FLAG_LOCALSPACE = (1<<2),
+ /* include constraints transformed to space including parents */
+ DTAR_FLAG_LOCAL_CONSTS = (1<<3),
} eDriverTarget_Flag;
/* Transform Channels for Driver Targets */
@@ -460,7 +471,9 @@ typedef enum eFCurve_Flags {
FCURVE_PROTECTED = (1<<3),
/* fcurve will not be evaluated for the next round */
FCURVE_MUTED = (1<<4),
+
/* fcurve uses 'auto-handles', which stay horizontal... */
+ // DEPRECATED
FCURVE_AUTO_HANDLES = (1<<5),
/* skip evaluation, as RNA-path cannot be resolved (similar to muting, but cannot be set by user) */
@@ -570,6 +583,8 @@ typedef struct NlaStrip {
short type; /* type of NLA strip */
+ void *speaker_handle; /* handle for speaker objects */
+
int flag; /* settings */
int pad2;
} NlaStrip;
@@ -636,7 +651,10 @@ typedef enum eNlaStrip_Type {
/* 'transition' - blends between the adjacent strips */
NLASTRIP_TYPE_TRANSITION,
/* 'meta' - a strip which acts as a container for a few others */
- NLASTRIP_TYPE_META
+ NLASTRIP_TYPE_META,
+
+ /* 'emit sound' - a strip which is used for timing when speaker emits sounds */
+ NLASTRIP_TYPE_SOUND
} eNlaStrip_Type;
/* NLA Tracks ------------------------------------- */
diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h
index 3547101612f..442fc3ddcce 100644
--- a/source/blender/makesdna/DNA_armature_types.h
+++ b/source/blender/makesdna/DNA_armature_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -96,7 +94,9 @@ typedef struct bArmature {
void *sketch; /* sketch struct for etch-a-ton */
int flag;
- int drawtype;
+ int drawtype;
+ int gevertdeformer; /* how vertex deformation is handled in the ge */
+ int pad;
short deformflag;
short pathflag;
@@ -136,9 +136,16 @@ typedef enum eArmature_Drawtype {
ARM_OCTA = 0,
ARM_LINE,
ARM_B_BONE,
- ARM_ENVELOPE
+ ARM_ENVELOPE,
+ ARM_WIRE
} eArmature_Drawtype;
+/* armature->gevertdeformer */
+typedef enum eArmature_VertDeformer {
+ ARM_VDEF_BLENDER,
+ ARM_VDEF_BGE_CPU
+} eArmature_VertDeformer;
+
/* armature->deformflag */
typedef enum eArmature_DeformFlag {
ARM_DEF_VGROUP = (1<<0),
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h
index 1d752fce4ef..1be2c811a1b 100644
--- a/source/blender/makesdna/DNA_constraint_types.h
+++ b/source/blender/makesdna/DNA_constraint_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -677,7 +675,10 @@ typedef enum eRotLimit_Flags {
/* distance limit constraint */
/* bDistLimitConstraint->flag */
typedef enum eDistLimit_Flag {
- LIMITDIST_USESOFT = (1<<0)
+ /* "soft" cushion effect when reaching the limit sphere */ // NOT IMPLEMENTED!
+ LIMITDIST_USESOFT = (1<<0),
+ /* as for all Limit constraints - allow to be used during transform? */
+ LIMITDIST_TRANSFORM = (1<<1)
} eDistLimit_Flag;
/* bDistLimitConstraint->mode */
diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h
index b51612037fc..a38b33e6640 100644
--- a/source/blender/makesdna/DNA_curve_types.h
+++ b/source/blender/makesdna/DNA_curve_types.h
@@ -314,7 +314,7 @@ typedef enum eBezTriple_Handle {
HD_AUTO,
HD_VECT,
HD_ALIGN,
- HD_AUTO_ANIM /* not real handle type, but is just used as dummy item for anim code */
+ HD_AUTO_ANIM /* auto-clamped handles for animation */
} eBezTriple_Handle;
/* interpolation modes (used only for BezTriple->ipo) */
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h
index 6eb5f64ffc3..b259d592864 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/makesdna/DNA_image_types.h b/source/blender/makesdna/DNA_image_types.h
index 99ed2319415..dd033339ca4 100644
--- a/source/blender/makesdna/DNA_image_types.h
+++ b/source/blender/makesdna/DNA_image_types.h
@@ -102,7 +102,8 @@ typedef struct Image {
short animspeed;
/* for generated images */
- short gen_x, gen_y, gen_type;
+ short gen_x, gen_y;
+ char gen_type, gen_flag;
/* display aspect - for UV editing images resized for faster openGL display */
float aspx, aspy;
@@ -136,5 +137,8 @@ typedef struct Image {
#define IMA_MAX_RENDER_TEXT 512
#define IMA_MAX_RENDER_SLOT 8
+/* gen_flag */
+#define IMA_GEN_FLOAT 1
+
#endif
diff --git a/source/blender/makesdna/DNA_ipo_types.h b/source/blender/makesdna/DNA_ipo_types.h
index 5dba9154a3a..43a4b99bc33 100644
--- a/source/blender/makesdna/DNA_ipo_types.h
+++ b/source/blender/makesdna/DNA_ipo_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h
index 1489593f7f6..060b1bf42d1 100644
--- a/source/blender/makesdna/DNA_material_types.h
+++ b/source/blender/makesdna/DNA_material_types.h
@@ -161,7 +161,7 @@ typedef struct Material {
int mapto_textured; /* render-time cache to optimise texture lookups */
short shadowonly_flag; /* "shadowsonly" type */
- short pad;
+ short index; /* custom index for render passes */
ListBase gpumaterial; /* runtime */
} Material;
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index ac5e411e18b..d41d23f1ee6 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -625,6 +625,7 @@ typedef struct MultiresModifierData {
typedef enum {
eMultiresModifierFlag_ControlEdges = (1<<0),
+ eMultiresModifierFlag_PlainUv = (1<<1),
} MultiresModifierFlag;
typedef struct FluidsimModifierData {
@@ -712,16 +713,16 @@ typedef struct ShapeKeyModifierData {
typedef struct SolidifyModifierData {
ModifierData modifier;
- char defgrp_name[32]; /* name of vertex group to use */
+ char defgrp_name[32]; /* name of vertex group to use */
float offset; /* new surface offset level*/
float offset_fac; /* midpoint of the offset */
+ float offset_fac_vg; /* factor for the minimum weight to use when vgroups are used, avoids 0.0 weights giving duplicate geometry */
float crease_inner;
float crease_outer;
float crease_rim;
int flag;
short mat_ofs;
short mat_ofs_rim;
- int pad;
} SolidifyModifierData;
#define MOD_SOLIDIFY_RIM (1<<0)
diff --git a/source/blender/makesdna/DNA_nla_types.h b/source/blender/makesdna/DNA_nla_types.h
index c64dda2afd0..b92cf5c67e4 100644
--- a/source/blender/makesdna/DNA_nla_types.h
+++ b/source/blender/makesdna/DNA_nla_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 03387c3a63a..3a51a6a56a4 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -38,26 +38,29 @@
#include "DNA_vec_types.h"
#include "DNA_listBase.h"
+struct ID;
struct ListBase;
struct SpaceNode;
struct bNodeLink;
struct bNodeType;
-struct bNodeGroup;
+struct bNodeTreeExec;
struct AnimData;
struct bGPdata;
struct uiBlock;
#define NODE_MAXSTR 32
-
typedef struct bNodeStack {
float vec[4];
- float min, max; /* min/max for values (UI writes it, execute might use it) */
+ float min, max;
void *data;
short hasinput; /* when input has link, tagged before executing */
short hasoutput; /* when output is linked, tagged before executing */
short datatype; /* type of data pointer */
short sockettype; /* type of socket stack comes from, to remap linking different sockets */
+ short is_copy; /* data is a copy of external data (no freeing) */
+ short external; /* data is used by external nodes (no freeing) */
+ short pad[2];
} bNodeStack;
/* ns->datatype, shadetree only */
@@ -68,50 +71,58 @@ typedef struct bNodeSocket {
struct bNodeSocket *next, *prev, *new_sock;
char name[32];
- bNodeStack ns; /* custom data for inputs, only UI writes in this */
+
+ void *storage; /* custom storage */
short type, flag;
short limit; /* max. number of links */
-
- /* stack data info (only during execution!) */
- short stack_type; /* type of stack reference */
- /* XXX only one of stack_ptr or stack_index is used (depending on stack_type).
- * could store the index in the pointer with SET_INT_IN_POINTER (a bit ugly).
- * (union won't work here, not supported by DNA)
- */
- struct bNodeStack *stack_ptr; /* constant input value */
- short stack_index; /* local stack index or external input number */
short pad1;
float locx, locy;
- /* internal data to retrieve relations and groups */
+ void *default_value; /* default input value used for unlinked sockets */
+
+ /* execution data */
+ short stack_index; /* local stack index */
+ short pad2;
+ int pad3;
+ void *cache; /* cached data from execution */
+ /* internal data to retrieve relations and groups */
int own_index; /* group socket identifiers, to find matching pairs after reading files */
- struct bNodeSocket *groupsock;
int to_index; /* XXX deprecated, only used for restoring old group node links */
- int pad2;
+ struct bNodeSocket *groupsock;
- struct bNodeLink *link; /* a link pointer, set in nodeSolveOrder() */
+ struct bNodeLink *link; /* a link pointer, set in ntreeUpdateTree */
+
+ /* DEPRECATED only needed for do_versions */
+ bNodeStack ns; /* custom data for inputs, only UI writes in this */
} bNodeSocket;
/* sock->type */
-#define SOCK_VALUE 0
-#define SOCK_VECTOR 1
-#define SOCK_RGBA 2
+#define SOCK_FLOAT 0
+#define SOCK_VECTOR 1
+#define SOCK_RGBA 2
+#define SOCK_INT 3
+#define SOCK_BOOLEAN 4
+#define SOCK_MESH 5
+#define NUM_SOCKET_TYPES 6 /* must be last! */
+
+/* socket side (input/output) */
+#define SOCK_IN 1
+#define SOCK_OUT 2
/* sock->flag, first bit is select */
- /* hidden is user defined, to hide unused */
+ /* hidden is user defined, to hide unused */
#define SOCK_HIDDEN 2
- /* only used now for groups... */
-#define SOCK_IN_USE 4
- /* unavailable is for dynamic sockets */
+ /* only used now for groups... */
+#define SOCK_IN_USE 4 /* XXX deprecated */
+ /* unavailable is for dynamic sockets */
#define SOCK_UNAVAIL 8
-
-/* sock->stack_type */
-#define SOCK_STACK_LOCAL 1 /* part of the local tree stack */
-#define SOCK_STACK_EXTERN 2 /* use input stack pointer */
-#define SOCK_STACK_CONST 3 /* use pointer to constant input value */
+ /* dynamic socket (can be modified by user) */
+#define SOCK_DYNAMIC 16
+ /* group socket should not be exposed */
+#define SOCK_INTERNAL 32
typedef struct bNodePreview {
unsigned char *rect;
@@ -119,7 +130,6 @@ typedef struct bNodePreview {
int pad;
} bNodePreview;
-
/* limit data in bNode to what we want to see saved? */
typedef struct bNode {
struct bNode *next, *prev, *new_node;
@@ -132,11 +142,14 @@ typedef struct bNode {
short nr; /* number of this node in list, used for UI exec events */
ListBase inputs, outputs;
+ struct bNode *parent; /* parent node */
struct ID *id; /* optional link to libdata */
void *storage; /* custom data, must be struct, for storage in file */
float locx, locy; /* root offset for drawing */
- float width, miniwidth;
+ float width, height; /* node custom width and height */
+ float miniwidth; /* node width if hidden */
+ int pad;
char label[32]; /* custom user-defined label */
short custom1, custom2; /* to be abused for buttons */
float custom3, custom4;
@@ -151,7 +164,6 @@ typedef struct bNode {
struct uiBlock *block; /* runtime during drawing */
struct bNodeType *typeinfo; /* lookup of callbacks and defaults */
-
} bNode;
/* node->flag */
@@ -163,11 +175,17 @@ typedef struct bNode {
#define NODE_ACTIVE_ID 32
#define NODE_DO_OUTPUT 64
#define NODE_GROUP_EDIT 128
- /* free test flag, undefined */
+ /* free test flag, undefined */
#define NODE_TEST 256
- /* composite: don't do node but pass on buffer(s) */
+ /* composite: don't do node but pass on buffer(s) */
#define NODE_MUTED 512
-#define NODE_CUSTOM_NAME 1024 /* deprecated! */
+#define NODE_CUSTOM_NAME 1024 /* deprecated! */
+ /* group node types: use const outputs by default */
+#define NODE_CONST_OUTPUT (1<<11)
+ /* node is always behind others */
+#define NODE_BACKGROUND (1<<12)
+ /* automatic flag for nodes included in transforms */
+#define NODE_TRANSFORM (1<<13)
typedef struct bNodeLink {
struct bNodeLink *next, *prev;
@@ -175,10 +193,14 @@ typedef struct bNodeLink {
bNode *fromnode, *tonode;
bNodeSocket *fromsock, *tosock;
- int flag, pad;
-
+ int flag;
+ int pad;
} bNodeLink;
+/* link->flag */
+#define NODE_LINK_VALID 1 /* link has been successfully validated */
+#define NODE_LINKFLAG_HILITE 2
+
/* the basis for a Node tree, all links and nodes reside internal here */
/* only re-usable node trees are in the library though, materials and textures allocate own tree struct */
typedef struct bNodeTree {
@@ -189,19 +211,24 @@ typedef struct bNodeTree {
ListBase nodes, links;
- bNodeStack *stack; /* stack is only while executing, no read/write in file */
- struct ListBase *threadstack; /* same as above */
-
int type, init; /* set init on fileread */
- int stacksize; /* amount of elements in stack */
int cur_index; /* sockets in groups have unique identifiers, adding new sockets always
will increase this counter */
- int flag, pad;
+ int flag;
+ int update; /* update flags */
+
+ int nodetype; /* specific node type this tree is used for */
- ListBase alltypes; /* type definitions */
ListBase inputs, outputs; /* external sockets for group nodes */
-
- int pad2[2];
+
+ /* execution data */
+ /* XXX It would be preferable to completely move this data out of the underlying node tree,
+ * so node tree execution could finally run independent of the tree itself. This would allow node trees
+ * to be merely linked by other data (materials, textures, etc.), as ID data is supposed to.
+ * Execution data is generated from the tree once at execution start and can then be used
+ * as long as necessary, even while the tree is being modified.
+ */
+ struct bNodeTreeExec *execdata;
/* callbacks */
void (*progress)(void *, float progress);
@@ -212,20 +239,59 @@ typedef struct bNodeTree {
} bNodeTree;
/* ntree->type, index */
-#define NTREE_SHADER 0
-#define NTREE_COMPOSIT 1
-#define NTREE_TEXTURE 2
+#define NTREE_SHADER 0
+#define NTREE_COMPOSIT 1
+#define NTREE_TEXTURE 2
+#define NUM_NTREE_TYPES 3
/* ntree->init, flag */
-#define NTREE_TYPE_INIT 1
-#define NTREE_EXEC_INIT 2
+#define NTREE_TYPE_INIT 1
/* ntree->flag */
#define NTREE_DS_EXPAND 1 /* for animation editors */
-/* XXX not nice, but needed as a temporary flag
+/* XXX not nice, but needed as a temporary flags
* for group updates after library linking.
*/
-#define NTREE_DO_VERSIONS 1024
+#define NTREE_DO_VERSIONS_GROUP_EXPOSE 1024
+
+/* ntree->update */
+#define NTREE_UPDATE 0xFFFF /* generic update flag (includes all others) */
+#define NTREE_UPDATE_LINKS 1 /* links have been added or removed */
+#define NTREE_UPDATE_NODES 2 /* nodes or sockets have been added or removed */
+#define NTREE_UPDATE_GROUP_IN 16 /* group inputs have changed */
+#define NTREE_UPDATE_GROUP_OUT 32 /* group outputs have changed */
+#define NTREE_UPDATE_GROUP 48 /* group has changed (generic flag including all other group flags) */
+
+
+/* socket value structs for input buttons */
+
+typedef struct bNodeSocketValueInt {
+ int subtype; /* RNA subtype */
+ int value;
+ int min, max;
+} bNodeSocketValueInt;
+
+typedef struct bNodeSocketValueFloat {
+ int subtype; /* RNA subtype */
+ float value;
+ float min, max;
+} bNodeSocketValueFloat;
+
+typedef struct bNodeSocketValueBoolean {
+ char value;
+ char pad[3];
+} bNodeSocketValueBoolean;
+
+typedef struct bNodeSocketValueVector {
+ int subtype; /* RNA subtype */
+ float value[3];
+ float min, max;
+} bNodeSocketValueVector;
+
+typedef struct bNodeSocketValueRGBA {
+ float value[4];
+} bNodeSocketValueRGBA;
+
/* data structs, for node->storage */
@@ -350,7 +416,6 @@ typedef struct TexNodeOutput {
char name[32];
} TexNodeOutput;
-
/* comp channel matte */
#define CMP_NODE_CHANNEL_MATTE_CS_RGB 1
#define CMP_NODE_CHANNEL_MATTE_CS_HSV 2
diff --git a/source/blender/makesdna/DNA_object_fluidsim.h b/source/blender/makesdna/DNA_object_fluidsim.h
index 6f4c16cb7f3..578bf8dd415 100644
--- a/source/blender/makesdna/DNA_object_fluidsim.h
+++ b/source/blender/makesdna/DNA_object_fluidsim.h
@@ -69,7 +69,7 @@ typedef struct FluidsimSettings {
short viscosityMode;
short viscosityExponent;
/* gravity strength */
- float gravx,gravy,gravz;
+ float grav[3];
/* anim start end time (in seconds) */
float animStart, animEnd;
/* bake start end time (in blender frames) */
@@ -161,6 +161,9 @@ typedef struct FluidsimSettings {
#define OB_FSBND_FREESLIP (1<<(OB_TYPEFLAG_START+4))
#define OB_FSINFLOW_LOCALCOORD (1<<(OB_TYPEFLAG_START+5))
+/* surface generation flag (part of enabling chapter 6 of "Free Surface Flows with Moving and Deforming Objects for LBM") */
+#define OB_FSSG_NOOBS (1<<(OB_TYPEFLAG_START+6))
+
// guiDisplayMode particle flags
#define OB_FSDOM_GEOM 1
#define OB_FSDOM_PREVIEW 2
diff --git a/source/blender/makesdna/DNA_object_force.h b/source/blender/makesdna/DNA_object_force.h
index 37568a22f54..fc8ce1b5820 100644
--- a/source/blender/makesdna/DNA_object_force.h
+++ b/source/blender/makesdna/DNA_object_force.h
@@ -420,7 +420,7 @@ typedef struct SoftBody {
#define OB_SB_SELF 512
#define OB_SB_FACECOLL 1024
#define OB_SB_EDGECOLL 2048
-#define OB_SB_COLLFINAL 4096
+#define OB_SB_COLLFINAL 4096 /* deprecated */
#define OB_SB_BIG_UI 8192
#define OB_SB_AERO_ANGLE 16384
diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h
index f75dab9440c..8750ee9e906 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -252,12 +252,11 @@ typedef struct Object {
struct FluidsimSettings *fluidsimSettings; /* if fluidsim enabled, store additional settings */
struct DerivedMesh *derivedDeform, *derivedFinal;
- int lastDataMask; /* the custom data layer mask that was last used to calculate derivedDeform and derivedFinal */
+ unsigned int lastDataMask; /* the custom data layer mask that was last used to calculate derivedDeform and derivedFinal */
+ unsigned int customdata_mask; /* (extra) custom data layer mask to use for creating derivedmesh, set by depsgraph */
unsigned int state; /* bit masks of game controllers that are active */
unsigned int init_state; /* bit masks of initial state as recorded by the users */
- int pad2;
-
ListBase gpulamp; /* runtime, for lamps only */
ListBase pc_ids;
ListBase *duplilist; /* for temporary dupli list storage, only for use by RNA API */
@@ -293,10 +292,6 @@ typedef struct DupliObject {
float orco[3], uv[2];
} DupliObject;
-/* this work object is defined in object.c */
-extern Object workob;
-
-
/* **************** OBJECT ********************* */
/* used many places... should be specialized */
@@ -313,6 +308,8 @@ extern Object workob;
#define OB_LAMP 10
#define OB_CAMERA 11
+#define OB_SPEAKER 12
+
// #define OB_WAVE 21
#define OB_LATTICE 22
diff --git a/source/blender/makesdna/DNA_particle_types.h b/source/blender/makesdna/DNA_particle_types.h
index 09053848b28..69ee530c0b6 100644
--- a/source/blender/makesdna/DNA_particle_types.h
+++ b/source/blender/makesdna/DNA_particle_types.h
@@ -89,7 +89,8 @@ typedef struct ParticleDupliWeight {
struct ParticleDupliWeight *next, *prev;
struct Object *ob;
short count;
- short flag, rt[2];
+ short flag;
+ short index, rt; /* only updated on file save and used on file load */
} ParticleDupliWeight;
typedef struct ParticleData {
@@ -168,7 +169,7 @@ typedef struct ParticleSettings {
/* billboards */
short bb_align, bb_uv_split, bb_anim, bb_split_offset;
- float bb_tilt, bb_rand_tilt, bb_offset[2];
+ float bb_tilt, bb_rand_tilt, bb_offset[2], bb_size[2], bb_vel_head, bb_vel_tail;
/* draw color */
float color_vec_max;
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index ccc306e777b..be44b87d48e 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -126,6 +126,8 @@ typedef struct FFMpegCodecData {
int video_bitrate;
int audio_bitrate;
int audio_mixrate;
+ int audio_channels;
+ int audio_pad;
float audio_volume;
int gop_size;
int flags;
@@ -147,6 +149,8 @@ typedef struct AudioData {
int distance_model;
short flag;
short pad;
+ float volume;
+ float pad2;
} AudioData;
typedef struct SceneRenderLayer {
@@ -201,6 +205,7 @@ typedef struct SceneRenderLayer {
#define SCE_PASS_RAYHITS (1<<15)
#define SCE_PASS_EMIT (1<<16)
#define SCE_PASS_ENVIRONMENT (1<<17)
+#define SCE_PASS_INDEXMA (1<<18)
/* note, srl->passflag is treestore element 'nr' in outliner, short still... */
@@ -253,19 +258,12 @@ typedef struct RenderData {
*/
short yparts;
- short winpos, planes, imtype, subimtype;
-
- /** Mode bits: */
- /* 0: Enable backbuffering for images */
- short bufflag;
- short quality;
+ short planes, imtype, subimtype, quality;
/**
* Render to image editor, fullscreen or to new window.
*/
short displaymode;
-
- short rpad1, rpad2;
/**
* Flags for render settings. Use bit-masking to access the settings.
@@ -322,11 +320,7 @@ typedef struct RenderData {
/**
* Adjustment factors for the aspect ratio in the x direction, was a short in 2.45
*/
- float xasp;
- /**
- * Adjustment factors for the aspect ratio in the x direction, was a short in 2.45
- */
- float yasp;
+ float xasp, yasp;
float frs_sec_base;
@@ -349,8 +343,8 @@ typedef struct RenderData {
short bake_normal_space, bake_quad_split;
float bake_maxdist, bake_biasdist, bake_pad;
- /* paths to backbufffer, output */
- char backbuf[160], pic[160];
+ /* path to render output */
+ char pic[240];
/* stamps flags. */
int stamp;
@@ -457,7 +451,8 @@ typedef struct GameData {
/*
* Radius of the activity bubble, in Manhattan length. Objects
* outside the box are activity-culled. */
- float activityBoxRadius; //it's not being used ANYWHERE !!!!!!!!!!!!!!
+ float activityBoxRadius;
+
/*
* bit 3: (gameengine): Activity culling is enabled.
* bit 5: (gameengine) : enable Bullet DBVT tree for view frustrum culling
@@ -477,7 +472,8 @@ typedef struct GameData {
/* stereo/dome mode */
struct GameDome dome;
- short stereoflag, stereomode, xsch, ysch; //xsch and ysch used for backwards compat.
+ short stereoflag, stereomode;
+ short pad2, pad3;
float eyeseparation, pad1;
RecastData recastData;
} GameData;
@@ -509,6 +505,7 @@ typedef struct GameData {
#define OBSTSIMULATION_TOI_cells 2
/* GameData.flag */
+#define GAME_RESTRICT_ANIM_UPDATES (1 << 0)
#define GAME_ENABLE_ALL_FRAMES (1 << 1)
#define GAME_SHOW_DEBUG_PROPS (1 << 2)
#define GAME_SHOW_FRAMERATE (1 << 3)
@@ -525,6 +522,7 @@ typedef struct GameData {
#define GAME_SHOW_MOUSE (1 << 14)
#define GAME_SHOW_OBSTACLE_SIMULATION (1 << 15)
#define GAME_GLSL_NO_COLOR_MANAGEMENT (1 << 15)
+/* Note: GameData.flag is a short (max 16 flags). To add more flags, GameData.flag needs to be an int */
/* GameData.matmode */
#define GAME_MAT_TEXFACE 0
@@ -837,6 +835,7 @@ typedef struct Scene {
void *sound_scene;
void *sound_scene_handle;
void *sound_scrub_handle;
+ void *speaker_handles;
void *fps_info; /* (runtime) info/cache used for presenting playback framerate info to the user */
@@ -1109,6 +1108,7 @@ typedef struct Scene {
#define SCE_SNAP_ROTATE 2
#define SCE_SNAP_PEEL_OBJECT 4
#define SCE_SNAP_PROJECT 8
+#define SCE_SNAP_NO_SELF 16
/* toolsettings->snap_target */
#define SCE_SNAP_TARGET_CLOSEST 0
#define SCE_SNAP_TARGET_CENTER 1
@@ -1141,7 +1141,8 @@ typedef struct Scene {
#define PROP_SHARP 3
#define PROP_LIN 4
#define PROP_CONST 5
-#define PROP_RANDOM 6
+#define PROP_RANDOM 6
+#define PROP_MODE_MAX 7
/* toolsettings->proportional */
#define PROP_EDIT_OFF 0
@@ -1162,9 +1163,10 @@ typedef struct Scene {
#define F_DUPLI 3
/* audio->flag */
-#define AUDIO_MUTE 1
-#define AUDIO_SYNC 2
-#define AUDIO_SCRUB 4
+#define AUDIO_MUTE (1<<0)
+#define AUDIO_SYNC (1<<1)
+#define AUDIO_SCRUB (1<<2)
+#define AUDIO_VOLUME_ANIMATED (1<<3)
#define FFMPEG_MULTIPLEX_AUDIO 1 /* deprecated, you can choose none as audiocodec now */
#define FFMPEG_AUTOSPLIT_OUTPUT 2
diff --git a/source/blender/makesdna/DNA_sdna_types.h b/source/blender/makesdna/DNA_sdna_types.h
index e5f924b5fa6..829d1eee03b 100644
--- a/source/blender/makesdna/DNA_sdna_types.h
+++ b/source/blender/makesdna/DNA_sdna_types.h
@@ -54,7 +54,10 @@ typedef struct SDNA {
(sp[2], sp[3]), (sp[4], sp[5]), .. are the member
type and name numbers respectively */
-
+
+ struct GHash *structs_map; /* ghash for faster lookups,
+ requires WITH_DNA_GHASH to be used for now */
+
/* wrong place for this really, its a simple
* cache for findstruct_nr.
*/
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index 3e7654bcf47..588e8458de1 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -71,12 +71,19 @@ typedef struct StripColorBalance {
} StripColorBalance;
typedef struct StripProxy {
- char dir[160];
- char file[80];
- struct anim *anim;
- short size;
- short quality;
- int pad;
+ char dir[160]; // custom directory for index and proxy files
+ // (defaults to BL_proxy)
+
+ char file[80]; // custom file
+ struct anim *anim; // custom proxy anim file
+
+ short tc; // time code in use
+
+ short quality; // proxy build quality
+ short build_size_flags;// size flags (see below) of all proxies
+ // to build
+ short build_tc_flags; // time code flags (see below) of all tc indices
+ // to build
} StripProxy;
typedef struct Strip {
@@ -128,11 +135,12 @@ typedef struct Sequence {
int startstill, endstill;
int machine, depth; /*machine - the strip channel, depth - the depth in the sequence when dealing with metastrips */
int startdisp, enddisp; /*starting and ending points in the sequence*/
- float sat, pad;
+ float sat;
float mul, handsize;
/* is sfra needed anymore? - it looks like its only used in one place */
int sfra; /* starting frame according to the timeline of the scene. */
int anim_preseek;
+ int streamindex; /* streamindex for movie or sound files with several streams */
Strip *strip;
@@ -155,7 +163,7 @@ typedef struct Sequence {
void *scene_sound;
float volume;
- float level, pan; /* level in dB (0=full), pan -1..1 */
+ float pitch, pan; /* pitch (-0.1..10), pan -2..2 */
int scenenr; /* for scene selection */
int multicam_source; /* for multicam source selection */
float strobe;
@@ -209,14 +217,9 @@ typedef struct GlowVars {
typedef struct TransformVars {
float ScalexIni;
float ScaleyIni;
- float ScalexFin; /* deprecated - old transform strip */
- float ScaleyFin; /* deprecated - old transform strip */
float xIni;
- float xFin; /* deprecated - old transform strip */
float yIni;
- float yFin; /* deprecated - old transform strip */
float rotIni;
- float rotFin; /* deprecated - old transform strip */
int percent;
int interpolation;
int uniform_scale; /* preserve aspect/ratio when scaling */
@@ -276,6 +279,12 @@ typedef struct SpeedControlVars {
#define SEQ_USE_PROXY_CUSTOM_FILE (1<<21)
#define SEQ_USE_EFFECT_DEFAULT_FADE (1<<22)
+// flags for whether those properties are animated or not
+#define SEQ_AUDIO_VOLUME_ANIMATED (1<<24)
+#define SEQ_AUDIO_PITCH_ANIMATED (1<<25)
+#define SEQ_AUDIO_PAN_ANIMATED (1<<26)
+#define SEQ_AUDIO_DRAW_WAVEFORM (1<<27)
+
#define SEQ_INVALID_EFFECT (1<<31)
/* convenience define for all selection flags */
@@ -288,6 +297,19 @@ typedef struct SpeedControlVars {
#define SEQ_COLOR_BALANCE_INVERSE_GAMMA 2
#define SEQ_COLOR_BALANCE_INVERSE_LIFT 4
+/* !!! has to be same as IMB_imbuf.h IMB_PROXY_... and IMB_TC_... */
+
+#define SEQ_PROXY_IMAGE_SIZE_25 1
+#define SEQ_PROXY_IMAGE_SIZE_50 2
+#define SEQ_PROXY_IMAGE_SIZE_75 4
+#define SEQ_PROXY_IMAGE_SIZE_100 8
+
+#define SEQ_PROXY_TC_NONE 0
+#define SEQ_PROXY_TC_RECORD_RUN 1
+#define SEQ_PROXY_TC_FREE_RUN 2
+#define SEQ_PROXY_TC_INTERP_REC_DATE_FREE_RUN 4
+#define SEQ_PROXY_TC_ALL 7
+
/* seq->type WATCH IT: SEQ_EFFECT BIT is used to determine if this is an effect strip!!! */
#define SEQ_IMAGE 0
#define SEQ_META 1
diff --git a/source/blender/makesdna/DNA_sound_types.h b/source/blender/makesdna/DNA_sound_types.h
index 3e5f82a8052..4f727b3586b 100644
--- a/source/blender/makesdna/DNA_sound_types.h
+++ b/source/blender/makesdna/DNA_sound_types.h
@@ -85,6 +85,11 @@ typedef struct bSound {
void *cache;
/**
+ * Waveform display data.
+ */
+ void *waveform;
+
+ /**
* The audaspace handle that should actually be played back.
* Should be cache if cache != NULL; otherwise it's handle
*/
@@ -106,7 +111,9 @@ typedef enum eSound_Type {
#define SND_DRAWFRAMES 1
#define SND_CFRA_NUM 2
-#define SOUND_FLAGS_3D (1 << 3)
+#define SOUND_FLAGS_3D (1 << 3) /* deprecated! used for sound actuator loading */
+#define SOUND_FLAGS_CACHING (1 << 4)
+#define SOUND_FLAGS_MONO (1 << 5)
/* to DNA_sound_types.h*/
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index e120cd14775..66b10bcbf21 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -267,7 +267,7 @@ typedef struct SpaceImage {
float centx, centy; /* storage for offset while render drawing */
short curtile; /* the currently active tile of the image when tile is enabled, is kept in sync with the active faces tile */
- short imtypenr;
+ short pad;
short lock;
short pin;
char dt_uv; /* UV draw type */
@@ -696,18 +696,19 @@ enum FileSortTypeE {
#define FILE_OPENFILE 0
#define FILE_SAVE 1
-/* sfile->flag and simasel->flag */
-#define FILE_SHOWSHORT 1
-#define FILE_RELPATH 2 /* was FILE_STRINGCODE */
-#define FILE_LINK 4
-#define FILE_HIDE_DOT 8
-#define FILE_AUTOSELECT 16
-#define FILE_ACTIVELAY 32
-#define FILE_ATCURSOR 64
-#define FILE_SYNCPOSE 128
-#define FILE_FILTER 256
-#define FILE_BOOKMARKS 512
-#define FILE_GROUP_INSTANCE 1024
+/* sfile->params->flag and simasel->flag */
+#define FILE_SHOWSHORT (1<<0)
+#define FILE_RELPATH (1<<1) /* was FILE_STRINGCODE */
+#define FILE_LINK (1<<2)
+#define FILE_HIDE_DOT (1<<3)
+#define FILE_AUTOSELECT (1<<4)
+#define FILE_ACTIVELAY (1<<5)
+/* #define FILE_ATCURSOR (1<<6) */ /* deprecated */
+#define FILE_DIRSEL_ONLY (1<<7)
+#define FILE_FILTER (1<<8)
+#define FILE_BOOKMARKS (1<<9)
+#define FILE_GROUP_INSTANCE (1<<10)
+
/* files in filesel list: file types */
#define BLENDERFILE (1<<2)
@@ -753,7 +754,7 @@ enum FileSortTypeE {
#define SI_EDITTILE (1<<1)
#define SI_CLIP_UV (1<<2)
#define SI_DRAWTOOL (1<<3)
-#define SI_DEPRECATED1 (1<<4) /* stick UVs to others in the same location */
+#define SI_NO_DRAWFACES (1<<4)
#define SI_DRAWSHADOW (1<<5)
#define SI_SELACTFACE (1<<6) /* deprecated */
#define SI_DEPRECATED2 (1<<7)
@@ -929,6 +930,7 @@ enum {
#define SEQ_PROXY_RENDER_SIZE_25 25
#define SEQ_PROXY_RENDER_SIZE_50 50
#define SEQ_PROXY_RENDER_SIZE_75 75
+#define SEQ_PROXY_RENDER_SIZE_100 99
#define SEQ_PROXY_RENDER_SIZE_FULL 100
diff --git a/source/blender/makesdna/DNA_speaker_types.h b/source/blender/makesdna/DNA_speaker_types.h
new file mode 100644
index 00000000000..fecc65885c5
--- /dev/null
+++ b/source/blender/makesdna/DNA_speaker_types.h
@@ -0,0 +1,69 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Jörg Müller.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+#ifndef DNA_SPEAKER_TYPES_H
+#define DNA_SPEAKER_TYPES_H
+
+/** \file DNA_speaker_types.h
+ * \ingroup DNA
+ */
+
+#include "DNA_ID.h"
+
+struct AnimData;
+struct bSound;
+
+typedef struct Speaker {
+ ID id;
+ struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */
+
+ struct bSound *sound;
+
+ // not animatable properties
+ float volume_max;
+ float volume_min;
+ float distance_max;
+ float distance_reference;
+ float attenuation;
+ float cone_angle_outer;
+ float cone_angle_inner;
+ float cone_volume_outer;
+
+ // animatable properties
+ float volume;
+ float pitch;
+
+ // flag
+ short flag;
+ short pad1[3];
+} Speaker;
+
+/* **************** SPEAKER ********************* */
+
+/* flag */
+#define SPK_DS_EXPAND (1<<0)
+#define SPK_MUTED (1<<1)
+#define SPK_RELATIVE (1<<2)
+
+#endif /* DNA_SPEAKER_TYPES_H */
+
diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h
index e81a9979c12..6e850a07d94 100644
--- a/source/blender/makesdna/DNA_texture_types.h
+++ b/source/blender/makesdna/DNA_texture_types.h
@@ -342,6 +342,7 @@ typedef struct TexMapping {
#define TEX_NORMALMAP 2048
#define TEX_GAUSS_MIP 4096
#define TEX_FILTER_MIN 8192
+#define TEX_DERIVATIVEMAP 16384
/* texfilter */
// TXF_BOX -> blender's old texture filtering method
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 50e66f91028..43dc532d4f6 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -197,7 +197,7 @@ typedef struct ThemeSpace {
char grid[4];
char wire[4], select[4];
- char lamp[4];
+ char lamp[4], speaker[4], pad2[4];
char active[4], group[4], group_active[4], transform[4];
char vertex[4], vertex_select[4];
char edge[4], edge_select[4];
@@ -210,17 +210,20 @@ typedef struct ThemeSpace {
char bone_solid[4], bone_pose[4];
char strip[4], strip_select[4];
char cframe[4];
+
char nurb_uline[4], nurb_vline[4];
char act_spline[4], nurb_sel_uline[4], nurb_sel_vline[4], lastsel_point[4];
- char handle_free[4], handle_auto[4], handle_vect[4], handle_align[4];
- char handle_sel_free[4], handle_sel_auto[4], handle_sel_vect[4], handle_sel_align[4];
+
+ char handle_free[4], handle_auto[4], handle_vect[4], handle_align[4], handle_auto_clamped[4];
+ char handle_sel_free[4], handle_sel_auto[4], handle_sel_vect[4], handle_sel_align[4], handle_sel_auto_clamped[4];
+
char ds_channel[4], ds_subchannel[4]; // dopesheet
char console_output[4], console_input[4], console_info[4], console_error[4];
char console_cursor[4];
char vertex_size, outline_width, facedot_size;
- char bpad;
+ char noodle_curving;
char syntaxl[4], syntaxn[4], syntaxb[4]; // syntax for textwindow and nodes
char syntaxv[4], syntaxc[4];
@@ -305,7 +308,7 @@ typedef struct UserDef {
int savetime;
char tempdir[160]; // FILE_MAXDIR length
char fontdir[160];
- char renderdir[160];
+ char renderdir[240]; // FILE_MAX length
char textudir[160];
char plugtexdir[160];
char plugseqdir[160];
@@ -341,7 +344,8 @@ typedef struct UserDef {
struct ListBase themes;
struct ListBase uifonts;
struct ListBase uistyles;
- struct ListBase keymaps;
+ struct ListBase keymaps; /* deprecated in favor of user_keymaps */
+ struct ListBase user_keymaps;
struct ListBase addons;
char keyconfigstr[64];
@@ -365,7 +369,6 @@ typedef struct UserDef {
short recent_files; /* maximum number of recently used files to remember */
short smooth_viewtx; /* miliseconds to spend spinning the view */
short glreslimit;
- short ndof_pan, ndof_rotate;
short curssize;
short color_picker_type;
short ipo_new; /* interpolation mode for newly added F-Curves */
@@ -375,7 +378,11 @@ typedef struct UserDef {
short scrcastwait; /* milliseconds between screencast snapshots */
short widget_unit; /* defaults to 20 for 72 DPI setting */
- short pad[3];
+ short anisotropic_filter;
+ /*short pad[3]; */
+
+ float ndof_sensitivity; /* overall sensitivity of 3D mouse */
+ int ndof_flag; /* flags for 3D mouse */
char versemaster[160];
char verseuser[160];
@@ -384,8 +391,7 @@ typedef struct UserDef {
short autokey_mode; /* autokeying mode */
short autokey_flag; /* flags for autokeying */
- short text_render, pad9; /*options for text rendering*/
- float pad10;
+ short text_render, pad9[3]; /*options for text rendering*/
struct ColorBand coba_weight; /* from texture.h */
@@ -578,6 +584,31 @@ extern UserDef U; /* from blenkernel blender.c */
#define TH_OLDSKOOL 3
#define TH_SHADED 4
+/* ndof_flag (3D mouse options) */
+#define NDOF_SHOW_GUIDE (1 << 0)
+#define NDOF_FLY_HELICOPTER (1 << 1)
+#define NDOF_LOCK_HORIZON (1 << 2)
+/* the following might not need to be saved between sessions,
+ but they do need to live somewhere accessible... */
+#define NDOF_SHOULD_PAN (1 << 3)
+#define NDOF_SHOULD_ZOOM (1 << 4)
+#define NDOF_SHOULD_ROTATE (1 << 5)
+/* orbit navigation modes
+ only two options, so it's sort of a hyrbrid bool/enum
+ if ((U.ndof_flag & NDOF_ORBIT_MODE) == NDOF_OM_OBJECT)... */
+/*
+#define NDOF_ORBIT_MODE (1 << 6)
+#define NDOF_OM_TARGETCAMERA 0
+#define NDOF_OM_OBJECT NDOF_ORBIT_MODE
+*/
+/* actually... users probably don't care about what the mode
+ is called, just that it feels right */
+#define NDOF_ORBIT_INVERT_AXES (1 << 6)
+/* zoom is up/down if this flag is set (otherwise forward/backward) */
+#define NDOF_ZOOM_UPDOWN (1 << 7)
+#define NDOF_ZOOM_INVERT (1 << 8)
+
+
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 7379493003d..3c8d20a6f16 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -130,7 +130,11 @@ typedef struct RegionView3D {
float twangle[3];
- float padf;
+ /* active rotation from NDOF or elsewhere */
+ float rot_angle;
+ float rot_axis[3];
+
+ char pad2[4];
} RegionView3D;
@@ -190,11 +194,10 @@ typedef struct View3D {
/* drawflags, denoting state */
short zbuf, transp, xray;
- char ndofmode; /* mode of transform for 6DOF devices -1 not found, 0 normal, 1 fly, 2 ob transform */
- char ndoffilter; /* filter for 6DOF devices 0 normal, 1 dominant */
-
+ char pad3[2];
+
void *properties_storage; /* Nkey panel stores stuff here (runtime only!) */
-
+
/* XXX depricated? */
struct bGPdata *gpd; /* Grease-Pencil Data (annotation layers) */
@@ -244,6 +247,7 @@ typedef struct View3D {
#define V3D_SOLID_TEX 8
#define V3D_DISPGP 16
#define V3D_LOCK_CAMERA 32
+#define V3D_RENDER_SHADOW 64 /* This is a runtime only flag that's used to tell draw_mesh_object() that we're doing a shadow pass instead of a regular draw */
/* View3D->around */
#define V3D_CENTER 0
diff --git a/source/blender/makesdna/DNA_windowmanager_types.h b/source/blender/makesdna/DNA_windowmanager_types.h
index 31e59f18626..47ebf111eba 100644
--- a/source/blender/makesdna/DNA_windowmanager_types.h
+++ b/source/blender/makesdna/DNA_windowmanager_types.h
@@ -144,7 +144,9 @@ typedef struct wmWindowManager {
ListBase drags; /* active dragged items */
ListBase keyconfigs; /* known key configurations */
- struct wmKeyConfig *defaultconf; /* default configuration, not saved */
+ struct wmKeyConfig *defaultconf; /* default configuration */
+ struct wmKeyConfig *addonconf; /* addon configuration */
+ struct wmKeyConfig *userconf; /* user configuration */
ListBase timers; /* active timers */
struct wmTimer *autosavetimer; /* timer for auto save */
@@ -239,15 +241,26 @@ typedef struct wmKeyMapItem {
struct PointerRNA *ptr; /* rna pointer to access properties */
} wmKeyMapItem;
+/* used instead of wmKeyMapItem for diff keymaps */
+typedef struct wmKeyMapDiffItem {
+ struct wmKeyMapDiffItem *next, *prev;
+
+ wmKeyMapItem *remove_item;
+ wmKeyMapItem *add_item;
+} wmKeyMapDiffItem;
+
/* wmKeyMapItem.flag */
-#define KMI_INACTIVE 1
-#define KMI_EXPANDED 2
+#define KMI_INACTIVE 1
+#define KMI_EXPANDED 2
+#define KMI_USER_MODIFIED 4
+#define KMI_UPDATE 8
/* stored in WM, the actively used keymaps */
typedef struct wmKeyMap {
struct wmKeyMap *next, *prev;
ListBase items;
+ ListBase diff_items;
char idname[64]; /* global editor keymaps, or for more per space/region */
short spaceid; /* same IDs as in DNA_space_types.h */
@@ -263,9 +276,12 @@ typedef struct wmKeyMap {
/* wmKeyMap.flag */
#define KEYMAP_MODAL 1 /* modal map, not using operatornames */
-#define KEYMAP_USER 2 /* user created keymap */
+#define KEYMAP_USER 2 /* user keymap */
#define KEYMAP_EXPANDED 4
#define KEYMAP_CHILDREN_EXPANDED 8
+#define KEYMAP_DIFF 16 /* diff keymap for user preferences */
+#define KEYMAP_USER_MODIFIED 32 /* keymap has user modifications */
+#define KEYMAP_UPDATE 64
typedef struct wmKeyConfig {
struct wmKeyConfig *next, *prev;
@@ -304,14 +320,20 @@ typedef struct wmOperator {
} wmOperator;
-/* operator type exec(), invoke() modal(), return values */
-#define OPERATOR_RUNNING_MODAL 1
-#define OPERATOR_CANCELLED 2
-#define OPERATOR_FINISHED 4
+
+/* operator type return flags: exec(), invoke() modal(), return values */
+#define OPERATOR_RUNNING_MODAL (1<<0)
+#define OPERATOR_CANCELLED (1<<1)
+#define OPERATOR_FINISHED (1<<2)
/* add this flag if the event should pass through */
-#define OPERATOR_PASS_THROUGH 8
+#define OPERATOR_PASS_THROUGH (1<<3)
/* in case operator got executed outside WM code... like via fileselect */
-#define OPERATOR_HANDLED 16
+#define OPERATOR_HANDLED (1<<4)
+
+#define OPERATOR_FLAGS_ALL ((1<<5)-1)
+
+/* sanity checks for debug mode only */
+#define OPERATOR_RETVAL_CHECK(ret) BLI_assert(ret != 0 && (ret & OPERATOR_FLAGS_ALL) == ret)
/* wmOperator flag */
#define OP_GRAB_POINTER 1
diff --git a/source/blender/makesdna/intern/CMakeLists.txt b/source/blender/makesdna/intern/CMakeLists.txt
index 429db63b526..5edebfe3903 100644
--- a/source/blender/makesdna/intern/CMakeLists.txt
+++ b/source/blender/makesdna/intern/CMakeLists.txt
@@ -27,12 +27,17 @@
# message(STATUS "Configuring makesdna")
+# add_definitions(-DWITH_DNA_GHASH)
+
blender_include_dirs(
../../../../intern/guardedalloc
../../blenloader
+ ../../blenlib
..
)
+
+# -----------------------------------------------------------------------------
# Build makesdna executable
set(SRC
makesdna.c
@@ -56,6 +61,8 @@ add_custom_command(
DEPENDS makesdna
)
+
+# -----------------------------------------------------------------------------
# Build bf_dna library
set(INC
@@ -72,3 +79,22 @@ set(SRC
)
blender_add_lib(bf_dna "${SRC}" "${INC}" "${INC_SYS}")
+
+
+# -----------------------------------------------------------------------------
+# Build bf_dna_blenlib library
+set(INC
+
+)
+
+set(INC_SYS
+
+)
+
+set(SRC
+ ../../blenlib/intern/BLI_mempool.c
+ ../../blenlib/intern/listbase.c
+ ../../blenlib/intern/BLI_ghash.c
+)
+
+blender_add_lib(bf_dna_blenlib "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/makesdna/intern/SConscript b/source/blender/makesdna/intern/SConscript
index e51ee53e078..8185676cbfc 100644
--- a/source/blender/makesdna/intern/SConscript
+++ b/source/blender/makesdna/intern/SConscript
@@ -67,5 +67,6 @@ else:
else:
dna.Command ('dna.c', '', root_build_dir+os.sep+"makesdna.exe $TARGET")
+# TODO, get WITH_DNA_GHASH working, see CMake's 'WITH_DNA_GHASH'
obj = ['intern/dna.c', 'intern/dna_genfile.c']
Return ('obj')
diff --git a/source/blender/makesdna/intern/dna_genfile.c b/source/blender/makesdna/intern/dna_genfile.c
index 4e9b023b326..ebcfce84e37 100644
--- a/source/blender/makesdna/intern/dna_genfile.c
+++ b/source/blender/makesdna/intern/dna_genfile.c
@@ -42,6 +42,10 @@
#include "MEM_guardedalloc.h" // for MEM_freeN MEM_mallocN MEM_callocN
+#ifdef WITH_DNA_GHASH
+# include "BLI_ghash.h"
+#endif
+
#include "DNA_genfile.h"
#include "DNA_sdna_types.h" // for SDNA ;-)
@@ -197,7 +201,11 @@ void DNA_sdna_free(SDNA *sdna)
MEM_freeN((void *)sdna->names);
MEM_freeN(sdna->types);
MEM_freeN(sdna->structs);
-
+
+#ifdef WITH_DNA_GHASH
+ BLI_ghash_free(sdna->structs_map, NULL, NULL);
+#endif
+
MEM_freeN(sdna);
}
@@ -275,24 +283,30 @@ static short *findstruct_name(SDNA *sdna, const char *str)
int DNA_struct_find_nr(SDNA *sdna, const char *str)
{
short *sp= NULL;
- int a;
if(sdna->lastfind<sdna->nr_structs) {
sp= sdna->structs[sdna->lastfind];
if(strcmp( sdna->types[ sp[0] ], str )==0) return sdna->lastfind;
}
- for(a=0; a<sdna->nr_structs; a++) {
+#ifdef WITH_DNA_GHASH
+ return (intptr_t)BLI_ghash_lookup(sdna->structs_map, str) - 1;
+#else
+ {
+ int a;
- sp= sdna->structs[a];
-
- if(strcmp( sdna->types[ sp[0] ], str )==0) {
- sdna->lastfind= a;
- return a;
+ for(a=0; a<sdna->nr_structs; a++) {
+
+ sp= sdna->structs[a];
+
+ if(strcmp( sdna->types[ sp[0] ], str )==0) {
+ sdna->lastfind= a;
+ return a;
+ }
}
}
-
return -1;
+#endif
}
/* ************************* END DIV ********************** */
@@ -481,6 +495,16 @@ static void init_structDNA(SDNA *sdna, int do_endian_swap)
sp[10]= 9;
}
}
+
+#ifdef WITH_DNA_GHASH
+ /* create a ghash lookup to speed up */
+ sdna->structs_map= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "init_structDNA gh");
+
+ for(nr = 0; nr < sdna->nr_structs; nr++) {
+ sp= sdna->structs[nr];
+ BLI_ghash_insert(sdna->structs_map, (void *)sdna->types[sp[0]], (void *)(nr + 1));
+ }
+#endif
}
}
diff --git a/source/blender/makesdna/intern/makesdna.c b/source/blender/makesdna/intern/makesdna.c
index 8b841b67e54..694b403c7c5 100644
--- a/source/blender/makesdna/intern/makesdna.c
+++ b/source/blender/makesdna/intern/makesdna.c
@@ -132,23 +132,24 @@ const char *includefiles[] = {
"DNA_anim_types.h",
"DNA_boid_types.h",
"DNA_smoke_types.h",
+ "DNA_speaker_types.h",
// empty string to indicate end of includefiles
""
};
-int maxdata= 500000, maxnr= 50000;
-int nr_names=0;
-int nr_types=0;
-int nr_structs=0;
-char **names, *namedata; /* at address names[a] is string a */
-char **types, *typedata; /* at address types[a] is string a */
-short *typelens; /* at typelens[a] is de length of type a */
-short *alphalens; /* contains sizes as they are calculated on the DEC Alpha (64 bits) */
-short **structs, *structdata; /* at sp= structs[a] is the first address of a struct definition
- sp[0] is type number
- sp[1] is amount of elements
- sp[2] sp[3] is typenr, namenr (etc) */
+static int maxdata= 500000, maxnr= 50000;
+static int nr_names=0;
+static int nr_types=0;
+static int nr_structs=0;
+static char **names, *namedata; /* at address names[a] is string a */
+static char **types, *typedata; /* at address types[a] is string a */
+static short *typelens; /* at typelens[a] is de length of type a */
+static short *alphalens; /* contains sizes as they are calculated on the DEC Alpha (64 bits), infact any 64bit system */
+static short **structs, *structdata;/* at sp= structs[a] is the first address of a struct definition
+ sp[0] is type number
+ sp[1] is amount of elements
+ sp[2] sp[3] is typenr, namenr (etc) */
/**
* Variable to control debug output of makesdna.
* debugSDNA:
@@ -157,8 +158,8 @@ short **structs, *structdata; /* at sp= structs[a] is the first address of a str
* - 2 = full trace, tell which names and types were found
* - 4 = full trace, plus all gritty details
*/
-int debugSDNA = 0;
-int additional_slen_offset;
+static int debugSDNA = 0;
+static int additional_slen_offset;
/* ************************************************************************** */
/* Functions */
@@ -670,6 +671,8 @@ int arraysize(char *astr, int len)
}
else if( str[a]==']' && cp) {
str[a]= 0;
+ /* if 'cp' is a preprocessor definition, it will evaluate to 0,
+ * the caller needs to check for this case and throw an error */
mul*= atoi(cp);
}
}
@@ -713,7 +716,12 @@ static int calculate_structlens(int firststruct)
/* has the name an extra length? (array) */
mul= 1;
if( cp[namelen-1]==']') mul= arraysize(cp, namelen);
-
+
+ if (mul == 0) {
+ printf("Zero array size found or could not parse %s: '%.*s'\n", types[structtype], namelen + 1, cp);
+ dna_error = 1;
+ }
+
/* 4-8 aligned/ */
if(sizeof(void *) == 4) {
if (len % 4) {
@@ -743,7 +751,12 @@ static int calculate_structlens(int firststruct)
/* has the name an extra length? (array) */
mul= 1;
if( cp[namelen-1]==']') mul= arraysize(cp, namelen);
-
+
+ if (mul == 0) {
+ printf("Zero array size found or could not parse %s: '%.*s'\n", types[structtype], namelen + 1, cp);
+ dna_error = 1;
+ }
+
/* struct alignment */
if(type >= firststruct) {
if(sizeof(void *)==8 && (len % 8) ) {
@@ -877,7 +890,7 @@ void printStructLenghts(void)
}
-int make_structDNA(char *baseDirectory, FILE *file)
+static int make_structDNA(char *baseDirectory, FILE *file)
{
int len, i;
short *sp;
@@ -1184,4 +1197,5 @@ int main(int argc, char ** argv)
#include "DNA_anim_types.h"
#include "DNA_boid_types.h"
#include "DNA_smoke_types.h"
+#include "DNA_speaker_types.h"
/* end of list */
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h
index ca19a86e42c..477ee2fe43e 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -327,10 +327,13 @@ extern StructRNA RNA_NearSensor;
extern StructRNA RNA_NlaStrip;
extern StructRNA RNA_NlaTrack;
extern StructRNA RNA_Node;
+extern StructRNA RNA_NodeForLoop;
extern StructRNA RNA_NodeGroup;
extern StructRNA RNA_NodeLink;
extern StructRNA RNA_NodeSocket;
+extern StructRNA RNA_NodeSocketPanel;
extern StructRNA RNA_NodeTree;
+extern StructRNA RNA_NodeWhileLoop;
extern StructRNA RNA_NoiseTexture;
extern StructRNA RNA_NorController;
extern StructRNA RNA_Object;
@@ -376,7 +379,6 @@ extern StructRNA RNA_PropertyGroupItem;
extern StructRNA RNA_PropertySensor;
extern StructRNA RNA_PythonConstraint;
extern StructRNA RNA_PythonController;
-extern StructRNA RNA_RGBANodeSocket;
extern StructRNA RNA_RadarSensor;
extern StructRNA RNA_RandomSensor;
extern StructRNA RNA_RaySensor;
@@ -392,6 +394,7 @@ extern StructRNA RNA_Scene;
extern StructRNA RNA_SceneGameData;
extern StructRNA RNA_SceneRenderLayer;
extern StructRNA RNA_SceneSequence;
+extern StructRNA RNA_SceneObjects;
extern StructRNA RNA_Scopes;
extern StructRNA RNA_Screen;
extern StructRNA RNA_ScrewModifier;
@@ -463,6 +466,7 @@ extern StructRNA RNA_SpaceTimeline;
extern StructRNA RNA_SpaceUVEditor;
extern StructRNA RNA_SpaceUserPreferences;
extern StructRNA RNA_SpaceView3D;
+extern StructRNA RNA_Speaker;
extern StructRNA RNA_SpeedControlSequence;
extern StructRNA RNA_Spline;
extern StructRNA RNA_SplineIKConstraint;
@@ -551,9 +555,7 @@ extern StructRNA RNA_UserPreferencesFilePaths;
extern StructRNA RNA_UserPreferencesSystem;
extern StructRNA RNA_UserPreferencesView;
extern StructRNA RNA_UserSolidLight;
-extern StructRNA RNA_ValueNodeSocket;
extern StructRNA RNA_VectorFont;
-extern StructRNA RNA_VectorNodeSocket;
extern StructRNA RNA_VertexGroup;
extern StructRNA RNA_VertexGroupElement;
extern StructRNA RNA_VertexPaint;
@@ -597,6 +599,8 @@ extern const PointerRNA PointerRNA_NULL;
/* Structs */
+StructRNA *RNA_struct_find(const char *identifier);
+
const char *RNA_struct_identifier(StructRNA *type);
const char *RNA_struct_ui_name(StructRNA *type);
const char *RNA_struct_ui_description(StructRNA *type);
@@ -653,7 +657,7 @@ int RNA_property_flag(PropertyRNA *prop);
void *RNA_property_py_data_get(PropertyRNA *prop);
int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop);
-int RNA_property_array_check(PointerRNA *ptr, PropertyRNA *prop);
+int RNA_property_array_check(PropertyRNA *prop);
int RNA_property_multi_array_length(PointerRNA *ptr, PropertyRNA *prop, int dimension);
int RNA_property_array_dimension(PointerRNA *ptr, PropertyRNA *prop, int length[]);
char RNA_property_array_item_char(PropertyRNA *prop, int index);
@@ -701,6 +705,10 @@ void RNA_property_update(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_update_main(struct Main *bmain, struct Scene *scene, PointerRNA *ptr, PropertyRNA *prop);
int RNA_property_update_check(struct PropertyRNA *prop);
+void RNA_property_update_cache_add(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_update_cache_flush(struct Main *bmain, struct Scene *scene);
+void RNA_property_update_cache_free(void);
+
/* Property Data */
int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop);
@@ -716,6 +724,7 @@ int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i
int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop);
void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value);
void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values);
+void RNA_property_int_get_array_range(PointerRNA *ptr, PropertyRNA *prop, int values[2]);
int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index);
void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *values);
void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, int value);
@@ -726,6 +735,7 @@ int RNA_property_int_get_default_index(PointerRNA *ptr, PropertyRNA *prop, int i
float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop);
void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value);
void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *values);
+void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2]);
float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index);
void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const float *values);
void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, float value);
diff --git a/source/blender/makesrna/RNA_enum_types.h b/source/blender/makesrna/RNA_enum_types.h
index fc415dc8082..2300b72910d 100644
--- a/source/blender/makesrna/RNA_enum_types.h
+++ b/source/blender/makesrna/RNA_enum_types.h
@@ -54,10 +54,12 @@ extern EnumPropertyItem constraint_type_items[];
extern EnumPropertyItem boidrule_type_items[];
extern EnumPropertyItem image_type_items[];
+extern EnumPropertyItem image_color_mode_items[];
extern EnumPropertyItem beztriple_keyframe_type_items[];
extern EnumPropertyItem beztriple_handle_type_items[];
extern EnumPropertyItem beztriple_interpolation_mode_items[];
+extern EnumPropertyItem keyframe_handle_type_items[];
extern EnumPropertyItem keyingset_path_grouping_items[];
@@ -97,11 +99,15 @@ extern EnumPropertyItem wm_report_items[];
extern EnumPropertyItem transform_mode_types[];
+extern EnumPropertyItem posebone_rotmode_items[];
+
extern EnumPropertyItem property_type_items[];
+extern EnumPropertyItem property_subtype_items[];
extern EnumPropertyItem property_unit_items[];
extern EnumPropertyItem viewport_shade_items[];
+extern EnumPropertyItem nodetree_type_items[];
extern EnumPropertyItem node_socket_type_items[];
extern EnumPropertyItem node_math_items[];
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h
index ec213d6a496..4a18518dde9 100644
--- a/source/blender/makesrna/RNA_types.h
+++ b/source/blender/makesrna/RNA_types.h
@@ -99,7 +99,10 @@ typedef enum PropertyUnit {
#define RNA_ENUM_BITFLAG_SIZE 32
-/* also update enums in bpy_props.c when adding items here */
+/* also update enums in bpy_props.c when adding items here
+ * watch it: these values are written to files as part of
+ * node socket button subtypes!
+ */
typedef enum PropertySubType {
PROP_NONE = 0,
@@ -281,7 +284,7 @@ typedef struct ParameterList {
typedef struct ParameterIterator {
struct ParameterList *parms;
- PointerRNA funcptr;
+ /* PointerRNA funcptr; */ /*UNUSED*/
void *data;
int size, offset;
diff --git a/source/blender/makesrna/SConscript b/source/blender/makesrna/SConscript
index b706db5e64c..10b20fc795a 100644
--- a/source/blender/makesrna/SConscript
+++ b/source/blender/makesrna/SConscript
@@ -9,6 +9,7 @@ objs += o
incs = '#/intern/guardedalloc #/intern/memutil #/intern/audaspace/intern ../blenkernel ../blenlib ../makesdna intern .'
incs += ' ../windowmanager ../editors/include ../gpu ../imbuf ../ikplugin ../blenfont ../blenloader'
incs += ' ../render/extern/include'
+incs += ' ../nodes'
incs += ' #/extern/glew/include'
defs = []
@@ -54,7 +55,7 @@ if env['WITH_BF_PYTHON']:
if env['WITH_BF_COLLADA']:
defs.append('WITH_COLLADA')
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt
index 4e4ff396e71..c2b46a3b69a 100644
--- a/source/blender/makesrna/intern/CMakeLists.txt
+++ b/source/blender/makesrna/intern/CMakeLists.txt
@@ -78,6 +78,7 @@ set(DEFSRC
rna_smoke.c
rna_sound.c
rna_space.c
+ rna_speaker.c
rna_test.c
rna_text.c
rna_texture.c
@@ -100,6 +101,7 @@ set(APISRC
rna_main_api.c
rna_material_api.c
rna_mesh_api.c
+ rna_texture_api.c
rna_object_api.c
rna_pose_api.c
rna_scene_api.c
@@ -171,13 +173,25 @@ if(WITH_IMAGE_HDR)
add_definitions(-DWITH_HDR)
endif()
+if(WITH_IMAGE_FRAMESERVER)
+ add_definitions(-DWITH_FRAMESERVER)
+endif()
+
+if(WITH_AUDASPACE)
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../../quicktime)
+ list(APPEND INC
+ ../../quicktime
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
if(WITH_CODEC_FFMPEG)
- list(APPEND INC_SYS ${FFMPEG_INC})
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
@@ -186,7 +200,7 @@ if(NOT WITH_MOD_FLUID)
endif()
if(WITH_FFTW3)
- add_definitions(-DFFTW3=1)
+ add_definitions(-DWITH_FFTW3)
endif()
if(WITH_SDL)
@@ -231,6 +245,7 @@ blender_include_dirs_sys(
add_executable(makesrna ${SRC} ${SRC_RNA_INC} ${SRC_DNA_INC})
target_link_libraries(makesrna bf_dna)
+target_link_libraries(makesrna bf_dna_blenlib)
# Output rna_*_gen.c
# note (linux only): with crashes try add this after COMMAND: valgrind --leak-check=full --track-origins=yes
diff --git a/source/blender/makesrna/intern/SConscript b/source/blender/makesrna/intern/SConscript
index 421c3a60691..5c2580e4b90 100644
--- a/source/blender/makesrna/intern/SConscript
+++ b/source/blender/makesrna/intern/SConscript
@@ -54,6 +54,8 @@ if env['WITH_BF_CINEON']:
if env['WITH_BF_HDR']:
defs.append('WITH_HDR')
+defs.append('WITH_FRAMESERVER') # TODO, make optional
+
if env['WITH_BF_FFMPEG']:
defs.append('WITH_FFMPEG')
incs += ' ' + env['BF_FFMPEG_INC']
@@ -69,7 +71,7 @@ if env['WITH_BF_GAMEENGINE']:
defs.append('WITH_GAMEENGINE')
if env['WITH_BF_FFTW3']:
- defs.append('FFTW3=1')
+ defs.append('WITH_FFTW3')
if env['WITH_BF_SDL']:
defs.append('WITH_SDL')
@@ -89,7 +91,7 @@ if env['WITH_BF_PYTHON']:
if env['WITH_BF_COLLADA']:
defs.append('WITH_COLLADA')
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
@@ -138,7 +140,7 @@ targetpath = root_build_dir+'/makesrna'
if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
targetpath = '#' + targetpath
-if env['OURPLATFORM'] == 'linux2' and root_build_dir[0]==os.sep:
+if env['OURPLATFORM'] == 'linux' and root_build_dir[0]==os.sep:
makesrna = makesrna_tool.Program (target = targetpath, source = source_files, LIBS=['bf_intern_guardedalloc', 'bf_dna', 'bf_blenlib'])
else:
makesrna = makesrna_tool.Program (target = targetpath, source = source_files, LIBS=['bf_intern_guardedalloc', 'bf_dna', 'bf_blenlib'])
diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c
index f3f539feb99..bc30210bfbb 100644
--- a/source/blender/makesrna/intern/makesrna.c
+++ b/source/blender/makesrna/intern/makesrna.c
@@ -66,7 +66,7 @@ static int file_older(const char *file1, const char *file2)
return (st1.st_mtime < st2.st_mtime);
}
-const char *makesrna_path= NULL;
+static const char *makesrna_path= NULL;
static int replace_if_different(char *tmpfile, const char *dep_files[])
{
@@ -569,7 +569,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
if(prop->flag & PROP_DYNAMIC)
fprintf(f, "void %s(PointerRNA *ptr, %s values[])\n", func, rna_type_type(prop));
else
- fprintf(f, "void %s(PointerRNA *ptr, %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength);
+ fprintf(f, "void %s(PointerRNA *ptr, %s values[%u])\n", func, rna_type_type(prop), prop->totarraylength);
fprintf(f, "{\n");
if(manualfunc) {
@@ -587,7 +587,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
}
else {
fprintf(f, " int i;\n\n");
- fprintf(f, " for(i=0; i<%d; i++) {\n", prop->totarraylength);
+ fprintf(f, " for(i=0; i<%u; i++) {\n", prop->totarraylength);
}
if(dp->dnaarraylength == 1) {
@@ -644,6 +644,25 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
return func;
}
+/* defined min/max variables to be used by rna_clamp_value() */
+static void rna_clamp_value_range(FILE *f, PropertyRNA *prop)
+{
+ if(prop->type == PROP_FLOAT) {
+ FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
+ if(fprop->range) {
+ fprintf(f, " float prop_clamp_min, prop_clamp_max;\n");
+ fprintf(f, " %s(ptr, &prop_clamp_min, &prop_clamp_max);\n", rna_function_string(fprop->range));
+ }
+ }
+ else if(prop->type == PROP_INT) {
+ IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
+ if(iprop->range) {
+ fprintf(f, " int prop_clamp_min, prop_clamp_max;\n");
+ fprintf(f, " %s(ptr, &prop_clamp_min, &prop_clamp_max);\n", rna_function_string(iprop->range));
+ }
+ }
+}
+
static void rna_clamp_value(FILE *f, PropertyRNA *prop, int array)
{
if(prop->type == PROP_INT) {
@@ -652,8 +671,13 @@ static void rna_clamp_value(FILE *f, PropertyRNA *prop, int array)
if(iprop->hardmin != INT_MIN || iprop->hardmax != INT_MAX) {
if(array) fprintf(f, "CLAMPIS(values[i], ");
else fprintf(f, "CLAMPIS(value, ");
- rna_int_print(f, iprop->hardmin); fprintf(f, ", ");
- rna_int_print(f, iprop->hardmax); fprintf(f, ");\n");
+ if(iprop->range) {
+ fprintf(f, "prop_clamp_min, prop_clamp_max);");
+ }
+ else {
+ rna_int_print(f, iprop->hardmin); fprintf(f, ", ");
+ rna_int_print(f, iprop->hardmax); fprintf(f, ");\n");
+ }
return;
}
}
@@ -663,8 +687,13 @@ static void rna_clamp_value(FILE *f, PropertyRNA *prop, int array)
if(fprop->hardmin != -FLT_MAX || fprop->hardmax != FLT_MAX) {
if(array) fprintf(f, "CLAMPIS(values[i], ");
else fprintf(f, "CLAMPIS(value, ");
- rna_float_print(f, fprop->hardmin); fprintf(f, ", ");
- rna_float_print(f, fprop->hardmax); fprintf(f, ");\n");
+ if(fprop->range) {
+ fprintf(f, "prop_clamp_min, prop_clamp_max);");
+ }
+ else {
+ rna_float_print(f, fprop->hardmin); fprintf(f, ", ");
+ rna_float_print(f, fprop->hardmax); fprintf(f, ");\n");
+ }
return;
}
}
@@ -754,7 +783,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
if(prop->flag & PROP_DYNAMIC)
fprintf(f, "void %s(PointerRNA *ptr, const %s values[])\n", func, rna_type_type(prop));
else
- fprintf(f, "void %s(PointerRNA *ptr, const %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength);
+ fprintf(f, "void %s(PointerRNA *ptr, const %s values[%u])\n", func, rna_type_type(prop), prop->totarraylength);
fprintf(f, "{\n");
if(manualfunc) {
@@ -767,12 +796,14 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
char *lenfunc= rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "set_length");
fprintf(f, " int i, arraylen[RNA_MAX_ARRAY_DIMENSION];\n");
fprintf(f, " int len= %s(ptr, arraylen);\n\n", lenfunc);
+ rna_clamp_value_range(f, prop);
fprintf(f, " for(i=0; i<len; i++) {\n");
MEM_freeN(lenfunc);
}
else {
fprintf(f, " int i;\n\n");
- fprintf(f, " for(i=0; i<%d; i++) {\n", prop->totarraylength);
+ rna_clamp_value_range(f, prop);
+ fprintf(f, " for(i=0; i<%u; i++) {\n", prop->totarraylength);
}
if(dp->dnaarraylength == 1) {
@@ -833,6 +864,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
fprintf(f, " data->%s |= value;\n", dp->dnaname);
}
else {
+ rna_clamp_value_range(f, prop);
fprintf(f, " data->%s= %s", dp->dnaname, (dp->booleannegative)? "!": "");
rna_clamp_value(f, prop, 0);
}
@@ -1292,7 +1324,7 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
//fprintf(f, "void %sset(PointerRNA *ptr, int value);\n", func);
}
else if(prop->arraydimension && prop->totarraylength) {
- fprintf(f, "void %sget(PointerRNA *ptr, int values[%d]);\n", func, prop->totarraylength);
+ fprintf(f, "void %sget(PointerRNA *ptr, int values[%u]);\n", func, prop->totarraylength);
//fprintf(f, "void %sset(PointerRNA *ptr, const int values[%d]);\n", func, prop->arraylength);
}
else {
@@ -1307,7 +1339,7 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
//fprintf(f, "void %sset(PointerRNA *ptr, float value);\n", func);
}
else if(prop->arraydimension && prop->totarraylength) {
- fprintf(f, "void %sget(PointerRNA *ptr, float values[%d]);\n", func, prop->totarraylength);
+ fprintf(f, "void %sget(PointerRNA *ptr, float values[%u]);\n", func, prop->totarraylength);
//fprintf(f, "void %sset(PointerRNA *ptr, const float values[%d]);\n", func, prop->arraylength);
}
else {
@@ -1388,21 +1420,21 @@ static void rna_def_property_funcs_header_cpp(FILE *f, StructRNA *srna, Property
if(!prop->arraydimension)
fprintf(f, "\tinline bool %s(void);", rna_safe_id(prop->identifier));
else
- fprintf(f, "\tinline Array<int, %d> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tinline Array<int, %u> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_INT: {
if(!prop->arraydimension)
fprintf(f, "\tinline int %s(void);", rna_safe_id(prop->identifier));
else
- fprintf(f, "\tinline Array<int, %d> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tinline Array<int, %u> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_FLOAT: {
if(!prop->arraydimension)
fprintf(f, "\tinline float %s(void);", rna_safe_id(prop->identifier));
else
- fprintf(f, "\tinline Array<float, %d> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tinline Array<float, %u> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_ENUM: {
@@ -1463,21 +1495,21 @@ static void rna_def_property_funcs_impl_cpp(FILE *f, StructRNA *srna, PropertyDe
if(!prop->arraydimension)
fprintf(f, "\tBOOLEAN_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier));
else
- fprintf(f, "\tBOOLEAN_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tBOOLEAN_ARRAY_PROPERTY(%s, %u, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_INT: {
if(!prop->arraydimension)
fprintf(f, "\tINT_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier));
else
- fprintf(f, "\tINT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tINT_ARRAY_PROPERTY(%s, %u, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_FLOAT: {
if(!prop->arraydimension)
fprintf(f, "\tFLOAT_PROPERTY(%s, %s)", srna->identifier, rna_safe_id(prop->identifier));
else
- fprintf(f, "\tFLOAT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tFLOAT_ARRAY_PROPERTY(%s, %u, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_ENUM: {
@@ -1996,7 +2028,7 @@ static void rna_generate_static_parameter_prototypes(BlenderRNA *brna, StructRNA
fprintf(f, "int %s%s_len, ", pout ? "*" : "", dparm->prop->identifier);
if(!(flag & PROP_DYNAMIC) && dparm->prop->arraydimension)
- fprintf(f, "%s%s %s[%d]", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop), dparm->prop->identifier, dparm->prop->totarraylength);
+ fprintf(f, "%s%s %s[%u]", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop), dparm->prop->identifier, dparm->prop->totarraylength);
else
fprintf(f, "%s%s %s%s", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop), ptrstr, dparm->prop->identifier);
@@ -2097,7 +2129,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
unsigned int i;
if(prop->arraydimension && prop->totarraylength) {
- fprintf(f, "static int rna_%s%s_%s_default[%d] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
+ fprintf(f, "static int rna_%s%s_%s_default[%u] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
for(i=0; i<prop->totarraylength; i++) {
if(bprop->defaultarray)
@@ -2117,7 +2149,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
unsigned int i;
if(prop->arraydimension && prop->totarraylength) {
- fprintf(f, "static int rna_%s%s_%s_default[%d] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
+ fprintf(f, "static int rna_%s%s_%s_default[%u] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
for(i=0; i<prop->totarraylength; i++) {
if(iprop->defaultarray)
@@ -2137,7 +2169,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
unsigned int i;
if(prop->arraydimension && prop->totarraylength) {
- fprintf(f, "static float rna_%s%s_%s_default[%d] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
+ fprintf(f, "static float rna_%s%s_%s_default[%u] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
for(i=0; i<prop->totarraylength; i++) {
if(fprop->defaultarray)
@@ -2168,7 +2200,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
rna_print_c_string(f, prop->name); fprintf(f, ",\n\t");
rna_print_c_string(f, prop->description); fprintf(f, ",\n\t");
fprintf(f, "%d,\n", prop->icon);
- fprintf(f, "\t%s, %s|%s, %s, %d, {%d, %d, %d}, %d,\n", RNA_property_typename(prop->type), rna_property_subtypename(prop->subtype), rna_property_subtype_unit(prop->subtype), rna_function_string(prop->getlength), prop->arraydimension, prop->arraylength[0], prop->arraylength[1], prop->arraylength[2], prop->totarraylength);
+ fprintf(f, "\t%s, %s|%s, %s, %u, {%u, %u, %u}, %u,\n", RNA_property_typename(prop->type), rna_property_subtypename(prop->subtype), rna_property_subtype_unit(prop->subtype), rna_function_string(prop->getlength), prop->arraydimension, prop->arraylength[0], prop->arraylength[1], prop->arraylength[2], prop->totarraylength);
fprintf(f, "\t%s%s, %d, %s, %s,\n", (prop->flag & PROP_CONTEXT_UPDATE)? "(UpdateFunc)": "", rna_function_string(prop->update), prop->noteflag, rna_function_string(prop->editable), rna_function_string(prop->itemeditable));
if(prop->flag & PROP_RAW_ACCESS) rna_set_raw_offset(f, srna, prop);
@@ -2385,7 +2417,7 @@ typedef struct RNAProcessItem {
static RNAProcessItem PROCESS_ITEMS[]= {
{"rna_rna.c", NULL, RNA_def_rna},
{"rna_ID.c", NULL, RNA_def_ID},
- {"rna_texture.c", NULL, RNA_def_texture},
+ {"rna_texture.c", "rna_texture_api.c", RNA_def_texture},
{"rna_action.c", "rna_action_api.c", RNA_def_action},
{"rna_animation.c", "rna_animation_api.c", RNA_def_animation},
{"rna_animviz.c", NULL, RNA_def_animviz},
@@ -2429,6 +2461,7 @@ static RNAProcessItem PROCESS_ITEMS[]= {
{"rna_sequencer.c", "rna_sequencer_api.c", RNA_def_sequencer},
{"rna_smoke.c", NULL, RNA_def_smoke},
{"rna_space.c", NULL, RNA_def_space},
+ {"rna_speaker.c", NULL, RNA_def_speaker},
{"rna_test.c", NULL, RNA_def_test},
{"rna_text.c", NULL, RNA_def_text},
{"rna_timeline.c", NULL, RNA_def_timeline_marker},
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index 174cf95e755..82217cdc3e4 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -35,6 +35,7 @@
#include "DNA_ID.h"
#include "DNA_vfont_types.h"
+#include "DNA_material_types.h"
#include "DNA_object_types.h"
#include "WM_types.h"
@@ -66,6 +67,7 @@ EnumPropertyItem id_type_items[] = {
{ID_PA, "PARTICLE", ICON_PARTICLE_DATA, "Particle", ""},
{ID_SCE, "SCENE", ICON_SCENE_DATA, "Scene", ""},
{ID_SCR, "SCREEN", ICON_SPLITSCREEN, "Screen", ""},
+ {ID_SPK, "SPEAKER", ICON_SPEAKER, "Speaker", ""},
{ID_SO, "SOUND", ICON_PLAY_AUDIO, "Sound", ""},
{ID_TXT, "TEXT", ICON_TEXT, "Text", ""},
{ID_TE, "TEXTURE", ICON_TEXTURE_DATA, "Texture", ""},
@@ -136,6 +138,7 @@ short RNA_type_to_ID_code(StructRNA *type)
if(RNA_struct_is_a(type, &RNA_ParticleSettings)) return ID_PA;
if(RNA_struct_is_a(type, &RNA_Scene)) return ID_SCE;
if(RNA_struct_is_a(type, &RNA_Screen)) return ID_SCR;
+ if(RNA_struct_is_a(type, &RNA_Speaker)) return ID_SPK;
if(RNA_struct_is_a(type, &RNA_Sound)) return ID_SO;
if(RNA_struct_is_a(type, &RNA_Text)) return ID_TXT;
if(RNA_struct_is_a(type, &RNA_Texture)) return ID_TE;
@@ -169,6 +172,7 @@ StructRNA *ID_code_to_RNA_type(short idcode)
case ID_PA: return &RNA_ParticleSettings;
case ID_SCE: return &RNA_Scene;
case ID_SCR: return &RNA_Screen;
+ case ID_SPK: return &RNA_Speaker;
case ID_SO: return &RNA_Sound;
case ID_TXT: return &RNA_Text;
case ID_TE: return &RNA_Texture;
@@ -410,15 +414,16 @@ static void rna_def_ID_materials(BlenderRNA *brna)
RNA_def_struct_ui_text(srna, "ID Materials", "Collection of materials");
func= RNA_def_function(srna, "append", "material_append_id");
- RNA_def_function_ui_description(func, "Add a new material to Mesh.");
+ RNA_def_function_ui_description(func, "Add a new material to the data block.");
parm= RNA_def_pointer(func, "material", "Material", "", "Material to add.");
RNA_def_property_flag(parm, PROP_REQUIRED);
func= RNA_def_function(srna, "pop", "material_pop_id");
- RNA_def_function_ui_description(func, "Add a new material to Mesh.");
- parm= RNA_def_int(func, "index", 0, 0, INT_MAX, "", "Frame number to set.", 0, INT_MAX);
+ RNA_def_function_ui_description(func, "Remove a material from the data block.");
+ parm= RNA_def_int(func, "index", 0, 0, MAXMAT, "", "Index of material to remove.", 0, MAXMAT);
RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_pointer(func, "material", "Material", "", "Material to add.");
+ RNA_def_boolean(func, "update_data", 0, "", "Update data by re-adjusting the material slots assigned.");
+ parm= RNA_def_pointer(func, "material", "Material", "", "Material to remove.");
RNA_def_function_return(func, parm);
}
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c
index ab11f88e0f6..e7d0c5cdec2 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -85,7 +85,9 @@ void RNA_init(void)
void RNA_exit(void)
{
StructRNA *srna;
-
+
+ RNA_property_update_cache_free();
+
for(srna=BLENDER_RNA.structs.first; srna; srna=srna->cont.next) {
if(srna->cont.prophash) {
BLI_ghash_free(srna->cont.prophash, NULL, NULL);
@@ -288,7 +290,7 @@ static int rna_ensure_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
}
}
-static int rna_ensure_property_array_check(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
+static int rna_ensure_property_array_check(PropertyRNA *prop)
{
if(prop->magic == RNA_MAGIC) {
return (prop->getlength || prop->totarraylength) ? 1:0;
@@ -473,6 +475,17 @@ static const char *rna_ensure_property_name(PropertyRNA *prop)
/* Structs */
+StructRNA *RNA_struct_find(const char *identifier)
+{
+ StructRNA *type;
+ if (identifier) {
+ for (type = BLENDER_RNA.structs.first; type; type = type->cont.next)
+ if (strcmp(type->identifier, identifier)==0)
+ return type;
+ }
+ return NULL;
+}
+
const char *RNA_struct_identifier(StructRNA *type)
{
return type->identifier;
@@ -765,9 +778,9 @@ int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
return rna_ensure_property_array_length(ptr, prop);
}
-int RNA_property_array_check(PointerRNA *ptr, PropertyRNA *prop)
+int RNA_property_array_check(PropertyRNA *prop)
{
- return rna_ensure_property_array_check(ptr, prop);
+ return rna_ensure_property_array_check(prop);
}
/* used by BPY to make an array from the python object */
@@ -1364,13 +1377,13 @@ static void rna_property_update(bContext *C, Main *bmain, Scene *scene, PointerR
if(prop->noteflag)
WM_main_add_notifier(prop->noteflag, ptr->id.data);
}
- else {
+
+ if(!is_rna || (prop->flag & PROP_IDPROPERTY)) {
/* WARNING! This is so property drivers update the display!
* not especially nice */
DAG_id_tag_update(ptr->id.data, OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME);
WM_main_add_notifier(NC_WINDOW, NULL);
}
-
}
/* must keep in sync with 'rna_property_update'
@@ -1391,6 +1404,112 @@ void RNA_property_update_main(Main *bmain, Scene *scene, PointerRNA *ptr, Proper
rna_property_update(NULL, bmain, scene, ptr, prop);
}
+
+/* RNA Updates Cache ------------------------ */
+/* Overview of RNA Update cache system:
+ *
+ * RNA Update calls need to be cached in order to maintain reasonable performance
+ * of the animation system (i.e. maintaining a somewhat interactive framerate)
+ * while still allowing updates to be called (necessary in particular for modifier
+ * property updates to actually work).
+ *
+ * The cache is structured with a dual-layer structure
+ * - L1 = PointerRNA used as key; id.data is used (it should always be defined,
+ * and most updates end up using just that anyways)
+ * - L2 = Update functions to be called on those PointerRNA's
+ */
+
+/* cache element */
+typedef struct tRnaUpdateCacheElem {
+ struct tRnaUpdateCacheElem *next, *prev;
+
+ PointerRNA ptr; /* L1 key - id as primary, data secondary/ignored? */
+ ListBase L2Funcs; /* L2 functions (LinkData<RnaUpdateFuncRef>) */
+} tRnaUpdateCacheElem;
+
+/* cache global (tRnaUpdateCacheElem's) - only accessible using these API calls */
+static ListBase rna_updates_cache = {NULL, NULL};
+
+/* ........................... */
+
+void RNA_property_update_cache_add(PointerRNA *ptr, PropertyRNA *prop)
+{
+ tRnaUpdateCacheElem *uce = NULL;
+ UpdateFunc fn = NULL;
+ LinkData *ld;
+ short is_rna = (prop->magic == RNA_MAGIC);
+
+ /* sanity check */
+ if (ELEM(NULL, ptr, prop))
+ return;
+
+ prop= rna_ensure_property(prop);
+
+ /* we can only handle update calls with no context args for now (makes animsys updates easier) */
+ if ((is_rna == 0) || (prop->update == NULL) || (prop->flag & PROP_CONTEXT_UPDATE))
+ return;
+ fn = prop->update;
+
+ /* find cache element for which key matches... */
+ for (uce = rna_updates_cache.first; uce; uce = uce->next) {
+ /* just match by id only for now, since most update calls that we'll encounter only really care about this */
+ // TODO: later, the cache might need to have some nesting on L1 to cope better with these problems + some tagging to indicate we need this
+ if (uce->ptr.id.data == ptr->id.data)
+ break;
+ }
+ if (uce == NULL) {
+ /* create new instance */
+ uce = MEM_callocN(sizeof(tRnaUpdateCacheElem), "tRnaUpdateCacheElem");
+ BLI_addtail(&rna_updates_cache, uce);
+
+ /* copy pointer */
+ RNA_pointer_create(ptr->id.data, ptr->type, ptr->data, &uce->ptr);
+ }
+
+ /* check on the update func */
+ for (ld = uce->L2Funcs.first; ld; ld = ld->next) {
+ /* stop on match - function already cached */
+ if (fn == ld->data)
+ return;
+ }
+ /* else... if still here, we need to add it */
+ BLI_addtail(&uce->L2Funcs, BLI_genericNodeN(fn));
+}
+
+void RNA_property_update_cache_flush(Main *bmain, Scene *scene)
+{
+ tRnaUpdateCacheElem *uce;
+
+ // TODO: should we check that bmain and scene are valid? The above stuff doesn't!
+
+ /* execute the cached updates */
+ for (uce = rna_updates_cache.first; uce; uce = uce->next) {
+ LinkData *ld;
+
+ for (ld = uce->L2Funcs.first; ld; ld = ld->next) {
+ UpdateFunc fn = (UpdateFunc)ld->data;
+ fn(bmain, scene, &uce->ptr);
+ }
+ }
+}
+
+void RNA_property_update_cache_free(void)
+{
+ tRnaUpdateCacheElem *uce, *ucn;
+
+ for (uce = rna_updates_cache.first; uce; uce = ucn) {
+ ucn = uce->next;
+
+ /* free L2 cache */
+ BLI_freelistN(&uce->L2Funcs);
+
+ /* remove self */
+ BLI_freelinkN(&rna_updates_cache, uce);
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
/* Property Data */
int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
@@ -1399,6 +1518,7 @@ int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) == 0);
if((idprop=rna_idproperty_check(&prop, ptr)))
return IDP_Int(idprop);
@@ -1414,6 +1534,7 @@ void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) == 0);
/* just incase other values are passed */
if(value) value= 1;
@@ -1440,6 +1561,7 @@ void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *val
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0)
@@ -1463,6 +1585,7 @@ int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_boolean_get_array(ptr, prop, tmp);
@@ -1486,6 +1609,7 @@ void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const in
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0)
@@ -1519,6 +1643,7 @@ void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int inde
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_boolean_get_array(ptr, prop, tmp);
@@ -1541,6 +1666,7 @@ int RNA_property_boolean_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) == 0);
return bprop->defaultvalue;
}
@@ -1550,6 +1676,7 @@ void RNA_property_boolean_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(prop->arraydimension == 0)
values[0]= bprop->defaultvalue;
@@ -1565,6 +1692,7 @@ int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_boolean_get_default_array(ptr, prop, tmp);
@@ -1588,6 +1716,7 @@ int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) == 0);
if((idprop=rna_idproperty_check(&prop, ptr)))
return IDP_Int(idprop);
@@ -1603,6 +1732,9 @@ void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) == 0);
+ /* useful to check on bad values but set function should clamp */
+ /* BLI_assert(RNA_property_int_clamp(ptr, prop, &value) == 0); */
if((idprop=rna_idproperty_check(&prop, ptr)))
IDP_Int(idprop)= value;
@@ -1626,6 +1758,7 @@ void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0)
@@ -1643,12 +1776,50 @@ void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
memset(values, 0, sizeof(int)*prop->totarraylength);
}
+void RNA_property_int_get_array_range(PointerRNA *ptr, PropertyRNA *prop, int values[2])
+{
+ const int array_len= RNA_property_array_length(ptr, prop);
+
+ if(array_len <= 0) {
+ values[0]= 0;
+ values[1]= 0;
+ }
+ else if (array_len == 1) {
+ RNA_property_int_get_array(ptr, prop, values);
+ values[1]= values[0];
+ }
+ else {
+ int arr_stack[32];
+ int *arr;
+ int i;
+
+ if(array_len > 32) {
+ arr= MEM_mallocN(sizeof(int) * array_len, "RNA_property_int_get_array_range");
+ }
+ else {
+ arr= arr_stack;
+ }
+
+ RNA_property_int_get_array(ptr, prop, arr);
+ values[0]= values[1]= arr[0];
+ for(i= 1; i < array_len; i++) {
+ values[0]= MIN2(values[0], arr[i]);
+ values[1]= MAX2(values[1], arr[i]);
+ }
+
+ if(arr != arr_stack) {
+ MEM_freeN(arr);
+ }
+ }
+}
+
int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
{
int tmp[RNA_MAX_ARRAY_LENGTH];
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_int_get_array(ptr, prop, tmp);
@@ -1672,6 +1843,7 @@ void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *v
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0)
@@ -1705,6 +1877,7 @@ void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, i
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_int_get_array(ptr, prop, tmp);
@@ -1733,6 +1906,7 @@ void RNA_property_int_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA *pr
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(prop->arraydimension == 0)
values[0]= iprop->defaultvalue;
@@ -1769,6 +1943,7 @@ float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) == 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(idprop->type == IDP_FLOAT)
@@ -1788,6 +1963,9 @@ void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) == 0);
+ /* useful to check on bad values but set function should clamp */
+ /* BLI_assert(RNA_property_float_clamp(ptr, prop, &value) == 0); */
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(idprop->type == IDP_FLOAT)
@@ -1817,6 +1995,7 @@ void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *val
int i;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0)
@@ -1839,12 +2018,50 @@ void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *val
memset(values, 0, sizeof(float)*prop->totarraylength);
}
+void RNA_property_float_get_array_range(PointerRNA *ptr, PropertyRNA *prop, float values[2])
+{
+ const int array_len= RNA_property_array_length(ptr, prop);
+
+ if(array_len <= 0) {
+ values[0]= 0.0f;
+ values[1]= 0.0f;
+ }
+ else if (array_len == 1) {
+ RNA_property_float_get_array(ptr, prop, values);
+ values[1]= values[0];
+ }
+ else {
+ float arr_stack[32];
+ float *arr;
+ int i;
+
+ if(array_len > 32) {
+ arr= MEM_mallocN(sizeof(float) * array_len, "RNA_property_float_get_array_range");
+ }
+ else {
+ arr= arr_stack;
+ }
+
+ RNA_property_float_get_array(ptr, prop, arr);
+ values[0]= values[1]= arr[0];
+ for(i= 1; i < array_len; i++) {
+ values[0]= MIN2(values[0], arr[i]);
+ values[1]= MAX2(values[1], arr[i]);
+ }
+
+ if(arr != arr_stack) {
+ MEM_freeN(arr);
+ }
+ }
+}
+
float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
{
float tmp[RNA_MAX_ARRAY_LENGTH];
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_float_get_array(ptr, prop, tmp);
@@ -1870,6 +2087,7 @@ void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const floa
int i;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0) {
@@ -1913,6 +2131,7 @@ void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index,
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_float_get_array(ptr, prop, tmp);
@@ -1935,6 +2154,7 @@ float RNA_property_float_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) == 0);
return fprop->defaultvalue;
}
@@ -1944,6 +2164,7 @@ void RNA_property_float_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA *
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(prop->arraydimension == 0)
values[0]= fprop->defaultvalue;
@@ -1959,6 +2180,7 @@ float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_float_get_default_array(ptr, prop, tmp);
@@ -2003,10 +2225,19 @@ char *RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fi
if(length+1 < fixedlen)
buf= fixedbuf;
else
- buf= MEM_callocN(sizeof(char)*(length+1), "RNA_string_get_alloc");
+ buf= MEM_mallocN(sizeof(char)*(length+1), "RNA_string_get_alloc");
+
+#ifndef NDEBUG
+ /* safety check to ensure the string is actually set */
+ buf[length]= 255;
+#endif
RNA_property_string_get(ptr, prop, buf);
+#ifndef NDEBUG
+ BLI_assert(buf[length] == '\0');
+#endif
+
return buf;
}
@@ -2761,7 +2992,7 @@ static int rna_raw_access(ReportList *reports, PointerRNA *ptr, PropertyRNA *pro
}
/* editable check */
- if(RNA_property_editable(&itemptr, iprop)) {
+ if(!set || RNA_property_editable(&itemptr, iprop)) {
if(a+itemlen > in.len) {
BKE_reportf(reports, RPT_ERROR, "Array length mismatch (got %d, expected more).", in.len);
err= 1;
@@ -3114,7 +3345,7 @@ static char *rna_path_token(const char **path, char *fixedbuf, int fixedlen, int
/* 2 kinds of lookups now, quoted or unquoted */
quote= *p;
- if(quote != '"')
+ if(quote != '"') /* " - this comment is hack for Aligorith's text editor's sanity */
quote= 0;
if(quote==0) {
@@ -3929,10 +4160,13 @@ void RNA_string_get(PointerRNA *ptr, const char *name, char *value)
{
PropertyRNA *prop= RNA_struct_find_property(ptr, name);
- if(prop)
+ if(prop) {
RNA_property_string_get(ptr, prop, value);
- else
+ }
+ else {
printf("RNA_string_get: %s.%s not found.\n", ptr->type->identifier, name);
+ value[0]= '\0';
+ }
}
char *RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen)
@@ -4165,11 +4399,18 @@ char *RNA_property_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
break;
case PROP_STRING:
{
- /* string arrays dont exist */
+ char *buf_esc;
char *buf;
- buf = RNA_property_string_get_alloc(ptr, prop, NULL, -1);
- BLI_dynstr_appendf(dynstr, "\"%s\"", buf);
+ int length;
+
+ length= RNA_property_string_length(ptr, prop);
+ buf= MEM_mallocN(sizeof(char)*(length+1), "RNA_property_as_string");
+ buf_esc= MEM_mallocN(sizeof(char)*(length*2+1), "RNA_property_as_string esc");
+ RNA_property_string_get(ptr, prop, buf);
+ BLI_strescape(buf_esc, buf, length*2+1);
MEM_freeN(buf);
+ BLI_dynstr_appendf(dynstr, "\"%s\"", buf_esc);
+ MEM_freeN(buf_esc);
break;
}
case PROP_ENUM:
@@ -4329,15 +4570,15 @@ ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *UNUSE
if(!(parm->flag & PROP_REQUIRED) && !(parm->flag & PROP_DYNAMIC)) {
switch(parm->type) {
case PROP_BOOLEAN:
- if(parm->arraydimension) memcpy(data, &((BooleanPropertyRNA*)parm)->defaultarray, size);
+ if(parm->arraydimension) memcpy(data, ((BooleanPropertyRNA*)parm)->defaultarray, size);
else memcpy(data, &((BooleanPropertyRNA*)parm)->defaultvalue, size);
break;
case PROP_INT:
- if(parm->arraydimension) memcpy(data, &((IntPropertyRNA*)parm)->defaultarray, size);
+ if(parm->arraydimension) memcpy(data, ((IntPropertyRNA*)parm)->defaultarray, size);
else memcpy(data, &((IntPropertyRNA*)parm)->defaultvalue, size);
break;
case PROP_FLOAT:
- if(parm->arraydimension) memcpy(data, &((FloatPropertyRNA*)parm)->defaultarray, size);
+ if(parm->arraydimension) memcpy(data, ((FloatPropertyRNA*)parm)->defaultarray, size);
else memcpy(data, &((FloatPropertyRNA*)parm)->defaultvalue, size);
break;
case PROP_ENUM:
@@ -4403,7 +4644,8 @@ int RNA_parameter_list_ret_count(ParameterList *parms)
void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter)
{
- RNA_pointer_create(NULL, &RNA_Function, parms->func, &iter->funcptr);
+ /* may be useful but unused now */
+ /* RNA_pointer_create(NULL, &RNA_Function, parms->func, &iter->funcptr); */ /*UNUSED*/
iter->parms= parms;
iter->parm= parms->func->cont.properties.first;
diff --git a/source/blender/makesrna/intern/rna_action.c b/source/blender/makesrna/intern/rna_action.c
index 7fdb96fda6e..815a9c92968 100644
--- a/source/blender/makesrna/intern/rna_action.c
+++ b/source/blender/makesrna/intern/rna_action.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -191,8 +189,9 @@ static void rna_Action_active_pose_marker_index_range(PointerRNA *ptr, int *min,
static void rna_Action_frame_range_get(PointerRNA *ptr,float *values)
-{
- calc_action_range(ptr->id.data, values, values+1, 1);
+{ /* don't include modifiers because they too easily can have very large
+ * ranges: MINAFRAMEF to MAXFRAMEF. */
+ calc_action_range(ptr->id.data, values, values+1, FALSE);
}
@@ -257,10 +256,18 @@ static void rna_def_dopesheet(BlenderRNA *brna)
RNA_def_struct_ui_text(srna, "DopeSheet", "Settings for filtering the channels shown in Animation Editors");
/* Source of DopeSheet data */
+ // XXX: make this obsolete?
prop= RNA_def_property(srna, "source", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "ID");
RNA_def_property_ui_text(prop, "Source", "ID-Block representing source data, currently ID_SCE (for Dopesheet), and ID_SC (for Grease Pencil)");
+ /* Show datablock filters */
+ prop= RNA_def_property(srna, "show_datablock_filters", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ADS_FLAG_SHOW_DBFILTERS);
+ RNA_def_property_ui_text(prop, "Show Datablock Filters", "Show options for whether channels related to certain types of data are included");
+ RNA_def_property_ui_icon(prop, ICON_DISCLOSURE_TRI_RIGHT, -1);
+ RNA_def_property_update(prop, NC_ANIMATION|ND_ANIMCHAN, NULL);
+
/* General Filtering Settings */
prop= RNA_def_property(srna, "show_only_selected", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "filterflag", ADS_FILTER_ONLYSEL);
@@ -409,6 +416,12 @@ static void rna_def_dopesheet(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Display Node", "Include visualization of Node related Animation data");
RNA_def_property_ui_icon(prop, ICON_NODETREE, 0);
RNA_def_property_update(prop, NC_ANIMATION|ND_ANIMCHAN|NA_EDITED, NULL);
+
+ prop= RNA_def_property(srna, "show_speakers", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "filterflag", ADS_FILTER_NOSPK);
+ RNA_def_property_ui_text(prop, "Display Speaker", "Include visualization of Speaker related Animation data");
+ RNA_def_property_ui_icon(prop, ICON_SPEAKER, 0);
+ RNA_def_property_update(prop, NC_ANIMATION|ND_ANIMCHAN|NA_EDITED, NULL);
}
static void rna_def_action_group(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_actuator.c b/source/blender/makesrna/intern/rna_actuator.c
index 18e73ebe8b3..3214d31a53c 100644
--- a/source/blender/makesrna/intern/rna_actuator.c
+++ b/source/blender/makesrna/intern/rna_actuator.c
@@ -49,7 +49,6 @@ EnumPropertyItem actuator_type_items[] ={
{ACT_CAMERA, "CAMERA", 0, "Camera", ""},
{ACT_CONSTRAINT, "CONSTRAINT", 0, "Constraint", ""},
{ACT_EDIT_OBJECT, "EDIT_OBJECT", 0, "Edit Object", ""},
- {ACT_IPO, "FCURVE", 0, "F-Curve", ""},
{ACT_2DFILTER, "FILTER_2D", 0, "Filter 2D", ""},
{ACT_GAME, "GAME", 0, "Game", ""},
{ACT_MESSAGE, "MESSAGE", 0, "Message", ""},
@@ -58,7 +57,6 @@ EnumPropertyItem actuator_type_items[] ={
{ACT_PROPERTY, "PROPERTY", 0, "Property", ""},
{ACT_RANDOM, "RANDOM", 0, "Random", ""},
{ACT_SCENE, "SCENE", 0, "Scene", ""},
- {ACT_SHAPEACTION, "SHAPE_ACTION", 0, "Shape Action", ""},
{ACT_SOUND, "SOUND", 0, "Sound", ""},
{ACT_STATE, "STATE", 0, "State", ""},
{ACT_VISIBILITY, "VISIBILITY", 0, "Visibility", ""},
@@ -78,8 +76,6 @@ static StructRNA* rna_Actuator_refine(struct PointerRNA *ptr)
return &RNA_ActionActuator;
case ACT_OBJECT:
return &RNA_ObjectActuator;
- case ACT_IPO:
- return &RNA_FCurveActuator;
case ACT_CAMERA:
return &RNA_CameraActuator;
case ACT_SOUND:
@@ -104,8 +100,6 @@ static StructRNA* rna_Actuator_refine(struct PointerRNA *ptr)
return &RNA_Filter2DActuator;
case ACT_PARENT:
return &RNA_ParentActuator;
- case ACT_SHAPEACTION:
- return &RNA_ShapeActionActuator;
case ACT_STATE:
return &RNA_StateActuator;
case ACT_ARMATURE:
@@ -332,31 +326,30 @@ static void rna_Actuator_constraint_detect_material_set(struct PointerRNA *ptr,
}
}
-static void rna_FcurveActuator_add_set(struct PointerRNA *ptr, int value)
+static void rna_ActionActuator_add_set(struct PointerRNA *ptr, int value)
{
bActuator *act = (bActuator *)ptr->data;
- bIpoActuator *ia = act->data;
+ bActionActuator *aa = act->data;
if(value == 1){
- ia->flag &= ~ACT_IPOFORCE;
- ia->flag |= ACT_IPOADD;
+ aa->flag &= ~ACT_IPOFORCE;
+ aa->flag |= ACT_IPOADD;
}else
- ia->flag &= ~ACT_IPOADD;
+ aa->flag &= ~ACT_IPOADD;
}
-static void rna_FcurveActuator_force_set(struct PointerRNA *ptr, int value)
+static void rna_ActionActuator_force_set(struct PointerRNA *ptr, int value)
{
bActuator *act = (bActuator *)ptr->data;
- bIpoActuator *ia = act->data;
+ bActionActuator *aa = act->data;
if(value == 1){
- ia->flag &= ~ACT_IPOADD;
- ia->flag |= ACT_IPOFORCE;
+ aa->flag &= ~ACT_IPOADD;
+ aa->flag |= ACT_IPOFORCE;
}else
- ia->flag &= ~ACT_IPOFORCE;
+ aa->flag &= ~ACT_IPOFORCE;
}
-
static void rna_ObjectActuator_type_set(struct PointerRNA *ptr, int value)
{
bActuator *act= (bActuator *)ptr->data;
@@ -429,15 +422,14 @@ EnumPropertyItem *rna_Actuator_type_itemf(bContext *C, PointerRNA *ptr, Property
if (ob != NULL) {
if (ob->type==OB_ARMATURE) {
- RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_ACTION);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_ARMATURE);
}
}
-
+
+ RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_ACTION);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_CAMERA);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_CONSTRAINT);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_EDIT_OBJECT);
- RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_IPO);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_2DFILTER);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_GAME);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_MESSAGE);
@@ -448,12 +440,6 @@ EnumPropertyItem *rna_Actuator_type_itemf(bContext *C, PointerRNA *ptr, Property
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SCENE);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_STEERING);
- if (ob != NULL) {
- if (ob->type==OB_MESH){
- RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SHAPEACTION);
- }
- }
-
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SOUND);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_STATE);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_VISIBILITY);
@@ -632,11 +618,44 @@ static void rna_def_action_actuator(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Priority", "Execution priority - lower numbers will override actions with higher numbers. With 2 or more actions at once, the overriding channels must be lower in the stack");
RNA_def_property_update(prop, NC_LOGIC, NULL);
+ prop= RNA_def_property(srna, "layer", PROP_INT, PROP_NONE);
+ RNA_def_property_range(prop, 0, 7); /* This should match BL_ActionManager::MAX_ACTION_LAYERS - 1 */
+ RNA_def_property_ui_text(prop, "Layer", "The animation layer to play the action on");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
+ prop= RNA_def_property(srna, "layer_weight", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_range(prop, 0.0, 1.0);
+ RNA_def_property_ui_text(prop, "Layer Weight", "How much of the previous layer to blend into this one (0 = add mode)");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
prop= RNA_def_property(srna, "frame_property", PROP_STRING, PROP_NONE);
RNA_def_property_string_sdna(prop, NULL, "frameProp");
RNA_def_property_ui_text(prop, "Frame Property", "Assign the action's current frame number to this property");
RNA_def_property_update(prop, NC_LOGIC, NULL);
+ /* booleans */
+ prop= RNA_def_property(srna, "use_additive", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOADD);
+ RNA_def_property_boolean_funcs(prop, NULL, "rna_ActionActuator_add_set");
+ RNA_def_property_ui_text(prop, "Add", "Action is added to the current loc/rot/scale in global or local coordinate according to Local flag");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
+ prop= RNA_def_property(srna, "use_force", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOFORCE);
+ RNA_def_property_boolean_funcs(prop, NULL, "rna_ActionActuator_force_set");
+ RNA_def_property_ui_text(prop, "Force", "Apply Action as a global or local force depending on the local option (dynamic objects only)");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
+ prop= RNA_def_property(srna, "use_local", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOLOCAL);
+ RNA_def_property_ui_text(prop, "L", "Let the Action act in local coordinates, used in Force and Add mode");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
+ prop= RNA_def_property(srna, "apply_to_children", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOCHILD);
+ RNA_def_property_ui_text(prop, "Child", "Update Action on all children Objects as well");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
#ifdef __NLA_ACTION_BY_MOTION_ACTUATOR
prop= RNA_def_property(srna, "stride_length", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "stridelength");
@@ -831,76 +850,6 @@ static void rna_def_object_actuator(BlenderRNA *brna)
RNA_def_property_update(prop, NC_LOGIC, NULL);
}
-static void rna_def_fcurve_actuator(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
-
- static EnumPropertyItem prop_type_items[] ={
- {ACT_IPO_PLAY, "PLAY", 0, "Play", ""},
- {ACT_IPO_PINGPONG, "PINGPONG", 0, "Ping Pong", ""},
- {ACT_IPO_FLIPPER, "FLIPPER", 0, "Flipper", ""},
- {ACT_IPO_LOOP_STOP, "STOP", 0, "Loop Stop", ""},
- {ACT_IPO_LOOP_END, "END", 0, "Loop End", ""},
-// {ACT_IPO_KEY2KEY, "IPOCHILD", 0, "Key to Key", ""},
- {ACT_IPO_FROM_PROP, "PROP", 0, "Property", ""},
- {0, NULL, 0, NULL, NULL}};
-
- srna= RNA_def_struct(brna, "FCurveActuator", "Actuator");
- RNA_def_struct_ui_text(srna, "F-Curve Actuator", "Actuator to animate the object");
- RNA_def_struct_sdna_from(srna, "bIpoActuator", "data");
-
- prop= RNA_def_property(srna, "play_type", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "type");
- RNA_def_property_enum_items(prop, prop_type_items);
- RNA_def_property_ui_text(prop, "F-Curve Type", "Specify the way you want to play the animation");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "frame_start", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "sta");
- RNA_def_property_ui_range(prop, 1.0, MAXFRAME, 100, 2);
- RNA_def_property_ui_text(prop, "Start Frame", "");
- RNA_def_property_update(prop, NC_SCENE, NULL);
-
- prop= RNA_def_property(srna, "frame_end", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "end");
- RNA_def_property_ui_range(prop, 1.0, MAXFRAME, 100, 2);
- RNA_def_property_ui_text(prop, "End Frame", "");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
- RNA_def_property_string_sdna(prop, NULL, "name");
- RNA_def_property_ui_text(prop, "Property", "Use this property to define the F-Curve position");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "frame_property", PROP_STRING, PROP_NONE);
- RNA_def_property_string_sdna(prop, NULL, "frameProp");
- RNA_def_property_ui_text(prop, "Frame Property", "Assign the action's current frame number to this property");
-
- /* booleans */
- prop= RNA_def_property(srna, "use_additive", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOADD);
- RNA_def_property_boolean_funcs(prop, NULL, "rna_FcurveActuator_add_set");
- RNA_def_property_ui_text(prop, "Add", "F-Curve is added to the current loc/rot/scale in global or local coordinate according to Local flag");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "use_force", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOFORCE);
- RNA_def_property_boolean_funcs(prop, NULL, "rna_FcurveActuator_force_set");
- RNA_def_property_ui_text(prop, "Force", "Apply F-Curve as a global or local force depending on the local option (dynamic objects only)");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "use_local", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOLOCAL);
- RNA_def_property_ui_text(prop, "L", "Let the F-Curve act in local coordinates, used in Force and Add mode");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "apply_to_children", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOCHILD);
- RNA_def_property_ui_text(prop, "Child", "Update F-Curve on all children Objects as well");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-}
-
static void rna_def_camera_actuator(BlenderRNA *brna)
{
StructRNA *srna;
@@ -938,6 +887,13 @@ static void rna_def_camera_actuator(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Max", "");
RNA_def_property_update(prop, NC_LOGIC, NULL);
+ prop= RNA_def_property(srna, "damping", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "damping");
+ RNA_def_property_range(prop, 0, 10.0);
+ RNA_def_property_ui_range(prop, 0, 5.0, 1, 2);
+ RNA_def_property_ui_text(prop, "Damping", "Specify the strength of the constraint that drive the camera behind the target");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
/* x/y */
prop= RNA_def_property(srna, "axis", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "axis");
@@ -2068,7 +2024,6 @@ void RNA_def_actuator(BlenderRNA *brna)
rna_def_action_actuator(brna);
rna_def_object_actuator(brna);
- rna_def_fcurve_actuator(brna);
rna_def_camera_actuator(brna);
rna_def_sound_actuator(brna);
rna_def_property_actuator(brna);
diff --git a/source/blender/makesrna/intern/rna_animation.c b/source/blender/makesrna/intern/rna_animation.c
index 7f817aa5b4b..0395a54be8e 100644
--- a/source/blender/makesrna/intern/rna_animation.c
+++ b/source/blender/makesrna/intern/rna_animation.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -74,36 +72,7 @@ static int rna_AnimData_action_editable(PointerRNA *ptr)
static void rna_AnimData_action_set(PointerRNA *ptr, PointerRNA value)
{
ID *ownerId = (ID *)ptr->id.data;
- AnimData *adt = (AnimData *)ptr->data;
-
- /* assume that AnimData's action can in fact be edited... */
- if ((value.data) && (ownerId)) {
- bAction *act = (bAction *)value.data;
-
- /* action must have same type as owner */
- if (ownerId) {
- if (ELEM(act->idroot, 0, GS(ownerId->name))) {
- /* can set */
- adt->action = act;
- }
- else {
- /* cannot set */
- printf("ERROR: Couldn't set Action '%s' onto ID '%s', as it doesn't have suitably rooted paths for this purpose\n",
- act->id.name+2, ownerId->name);
- }
- }
- else {
- /* cannot tell if we can set, so let's just be generous... */
- printf("Warning: Set Action '%s' onto AnimData block with an unknown ID-owner. May have attached invalid data\n",
- act->id.name+2);
-
- adt->action = act;
- }
- }
- else {
- /* just clearing the action... */
- adt->action = NULL;
- }
+ BKE_animdata_set_action(NULL, ownerId, value.data);
}
/* ****************************** */
@@ -695,7 +664,7 @@ static void rna_def_keyingset(BlenderRNA *brna)
/* Name */
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
RNA_def_property_ui_text(prop, "Name", "");
- RNA_def_struct_ui_icon(srna, ICON_KEY_HLT); // TODO: we need a dedicated icon
+ RNA_def_struct_ui_icon(srna, ICON_KEYINGSET);
RNA_def_struct_name_property(srna, prop);
RNA_def_property_update(prop, NC_SCENE|ND_KEYINGSET|NA_RENAME, NULL);
diff --git a/source/blender/makesrna/intern/rna_animation_api.c b/source/blender/makesrna/intern/rna_animation_api.c
index 4f1a94d62c5..714a74ec424 100644
--- a/source/blender/makesrna/intern/rna_animation_api.c
+++ b/source/blender/makesrna/intern/rna_animation_api.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -41,16 +39,43 @@
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
+
#ifdef RNA_RUNTIME
-#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_report.h"
+
+#include "ED_keyframing.h"
+
+static void rna_KeyingSet_context_refresh(KeyingSet *ks, bContext *C, ReportList *reports)
+{
+ // TODO: enable access to providing a list of overrides (dsources)?
+ int success = ANIM_validate_keyingset(C, NULL, ks);
+
+ if (success != 0) {
+ switch (success) {
+ case MODIFYKEY_INVALID_CONTEXT:
+ BKE_report(reports, RPT_ERROR, "Invalid context for Keying Set");
+ break;
+
+ case MODIFYKEY_MISSING_TYPEINFO:
+ BKE_report(reports, RPT_ERROR, "Incomplete built-in Keying Set. Appears to be missing type info");
+ break;
+ }
+ }
+}
#else
void RNA_api_keyingset(StructRNA *srna)
{
-// FunctionRNA *func;
-// PropertyRNA *parm;
+ FunctionRNA *func;
+ //PropertyRNA *parm;
+
+ /* validate relative Keying Set (used to ensure paths are ok for context) */
+ func= RNA_def_function(srna, "refresh", "rna_KeyingSet_context_refresh");
+ RNA_def_function_ui_description(func, "Refresh Keying Set to ensure that it is valid for the current context. Call before each use of one");
+ RNA_def_function_flag(func, FUNC_USE_CONTEXT|FUNC_USE_REPORTS);
}
#endif
diff --git a/source/blender/makesrna/intern/rna_animviz.c b/source/blender/makesrna/intern/rna_animviz.c
index 5e8c5692abe..e65b137e846 100644
--- a/source/blender/makesrna/intern/rna_animviz.c
+++ b/source/blender/makesrna/intern/rna_animviz.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/makesrna/intern/rna_armature.c b/source/blender/makesrna/intern/rna_armature.c
index 2060f75f9de..e2399b5b57c 100644
--- a/source/blender/makesrna/intern/rna_armature.c
+++ b/source/blender/makesrna/intern/rna_armature.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -509,6 +507,7 @@ static void rna_def_bone_common(StructRNA *srna, int editbone)
prop= RNA_def_property(srna, "head_radius", PROP_FLOAT, PROP_UNSIGNED);
if(editbone) RNA_def_property_update(prop, 0, "rna_Armature_editbone_transform_update");
+ else RNA_def_property_update(prop, 0, "rna_Armature_update_data");
RNA_def_property_float_sdna(prop, NULL, "rad_head");
//RNA_def_property_range(prop, 0, 1000); // XXX range is 0 to lim, where lim= 10000.0f*MAX2(1.0, view3d->grid);
RNA_def_property_ui_range(prop, 0.01, 100, 0.1, 3);
@@ -516,6 +515,7 @@ static void rna_def_bone_common(StructRNA *srna, int editbone)
prop= RNA_def_property(srna, "tail_radius", PROP_FLOAT, PROP_UNSIGNED);
if(editbone) RNA_def_property_update(prop, 0, "rna_Armature_editbone_transform_update");
+ else RNA_def_property_update(prop, 0, "rna_Armature_update_data");
RNA_def_property_float_sdna(prop, NULL, "rad_tail");
//RNA_def_property_range(prop, 0, 1000); // XXX range is 0 to lim, where lim= 10000.0f*MAX2(1.0, view3d->grid);
RNA_def_property_ui_range(prop, 0.01, 100, 0.1, 3);
@@ -814,6 +814,11 @@ static void rna_def_armature(BlenderRNA *brna)
{ARM_LINE, "STICK", 0, "Stick", "Display bones as simple 2D lines with dots"},
{ARM_B_BONE, "BBONE", 0, "B-Bone", "Display bones as boxes, showing subdivision and B-Splines"},
{ARM_ENVELOPE, "ENVELOPE", 0, "Envelope", "Display bones as extruded spheres, showing deformation influence volume"},
+ {ARM_WIRE, "WIRE", 0, "Wire", "Display bones as thin wires, showing subdivision and B-Splines"},
+ {0, NULL, 0, NULL, NULL}};
+ static EnumPropertyItem prop_vdeformer[] = {
+ {ARM_VDEF_BLENDER, "BLENDER", 0, "Blender", "Uses Blender's armature vertex deformation"},
+ {ARM_VDEF_BGE_CPU, "BGE_CPU", 0, "BGE", "Uses vertex deformation code optimized for the BGE"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem prop_ghost_type_items[] = {
{ARM_GHOST_CUR, "CURRENT_FRAME", 0, "Around Frame", "Display Ghosts of poses within a fixed number of frames around the current frame"},
@@ -861,6 +866,13 @@ static void rna_def_armature(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Draw Type", "");
RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
RNA_def_property_flag(prop, PROP_LIB_EXCEPTION);
+
+ prop= RNA_def_property(srna, "vert_deformer", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "gevertdeformer");
+ RNA_def_property_enum_items(prop, prop_vdeformer);
+ RNA_def_property_ui_text(prop, "Vertex Deformer", "");
+ RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
+ RNA_def_property_flag(prop, PROP_LIB_EXCEPTION);
// XXX depreceated ....... old animviz for armatures only
prop= RNA_def_property(srna, "ghost_type", PROP_ENUM, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_camera.c b/source/blender/makesrna/intern/rna_camera.c
index 1705e2e5376..37912f810fc 100644
--- a/source/blender/makesrna/intern/rna_camera.c
+++ b/source/blender/makesrna/intern/rna_camera.c
@@ -133,7 +133,7 @@ void RNA_def_camera(BlenderRNA *brna)
prop= RNA_def_property(srna, "ortho_scale", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "ortho_scale");
- RNA_def_property_range(prop, 0.01f, 1000.0f);
+ RNA_def_property_range(prop, 0.01f, 4000.0f);
RNA_def_property_ui_text(prop, "Orthographic Scale", "Orthographic Camera scale (similar to zoom)");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
diff --git a/source/blender/makesrna/intern/rna_cloth.c b/source/blender/makesrna/intern/rna_cloth.c
index 1ce4108bab2..1b2396a4215 100644
--- a/source/blender/makesrna/intern/rna_cloth.c
+++ b/source/blender/makesrna/intern/rna_cloth.c
@@ -294,6 +294,7 @@ static void rna_def_cloth_sim_settings(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flags", CLOTH_SIMSETTINGS_FLAG_GOAL);
RNA_def_property_ui_text(prop, "Pin Cloth", "Enable pinning of cloth vertices to other objects/positions");
RNA_def_property_update(prop, 0, "rna_cloth_pinning_changed");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
prop= RNA_def_property(srna, "pin_stiffness", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "goalspring");
@@ -313,6 +314,7 @@ static void rna_def_cloth_sim_settings(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flags", CLOTH_SIMSETTINGS_FLAG_SCALING);
RNA_def_property_ui_text(prop, "Stiffness Scaling", "If enabled, stiffness can be scaled along a weight painted vertex group");
RNA_def_property_update(prop, 0, "rna_cloth_update");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
prop= RNA_def_property(srna, "spring_damping", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "Cdis");
diff --git a/source/blender/makesrna/intern/rna_constraint.c b/source/blender/makesrna/intern/rna_constraint.c
index a75ff601d08..22d9a19f933 100644
--- a/source/blender/makesrna/intern/rna_constraint.c
+++ b/source/blender/makesrna/intern/rna_constraint.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -85,7 +83,7 @@ static EnumPropertyItem target_space_pchan_items[] = {
static EnumPropertyItem owner_space_pchan_items[] = {
{0, "WORLD", 0, "World Space", "The constraint is applied relative to the world coordinate system"},
{2, "POSE", 0, "Pose Space", "The constraint is applied in Pose Space, the object transformation is ignored"},
- {3, "LOCAL_WITH_PARENT", 0, "The constraint is applied relative to the local coordinate system of the object, with the parent transformation added"},
+ {3, "LOCAL_WITH_PARENT", 0, "Local With Parent", "The constraint is applied relative to the local coordinate system of the object, with the parent transformation added"},
{1, "LOCAL", 0, "Local Space", "The constraint is applied relative to the local coordinate sytem of the object"},
{0, NULL, 0, NULL, NULL}};
@@ -357,6 +355,7 @@ static void rna_def_constrainttarget(BlenderRNA *brna)
static void rna_def_constraint_childof(BlenderRNA *brna)
{
+ static int rna_matrix_dimsize_4x4[]= {4, 4};
StructRNA *srna;
PropertyRNA *prop;
@@ -419,6 +418,13 @@ static void rna_def_constraint_childof(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flag", CHILDOF_SIZEZ);
RNA_def_property_ui_text(prop, "Scale Z", "Use Z Scale of Parent");
RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
+
+ prop= RNA_def_property(srna, "inverse_matrix", PROP_FLOAT, PROP_MATRIX);
+ RNA_def_property_float_sdna(prop, NULL, "invmat");
+ RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_ui_text(prop, "Inverse Matrix", "Transformation matrix to apply before");
+
}
static void rna_def_constraint_python(BlenderRNA *brna)
@@ -1026,6 +1032,12 @@ static void rna_def_constraint_locked_track(BlenderRNA *brna)
srna= RNA_def_struct(brna, "LockedTrackConstraint", "Constraint");
RNA_def_struct_ui_text(srna, "Locked Track Constraint", "Points toward the target along the track axis, while locking the other axis");
+
+ prop= RNA_def_property(srna, "head_tail", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, "bConstraint", "headtail");
+ RNA_def_property_ui_text(prop, "Head/Tail", "Target along length of bone: Head=0, Tail=1");
+ RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
+
RNA_def_struct_sdna_from(srna, "bLockTrackConstraint", "data");
prop= RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
@@ -1370,7 +1382,7 @@ static void rna_def_constraint_clamp_to(BlenderRNA *brna)
RNA_def_struct_sdna_from(srna, "bClampToConstraint", "data");
prop= RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
- RNA_def_property_pointer_sdna(prop, NULL, "tar"); // TODO: curve only for set function!
+ RNA_def_property_pointer_sdna(prop, NULL, "tar");
RNA_def_property_pointer_funcs(prop, NULL, NULL, NULL, "rna_Curve_object_poll");
RNA_def_property_ui_text(prop, "Target", "Target Object");
RNA_def_property_flag(prop, PROP_EDITABLE);
@@ -1763,6 +1775,12 @@ static void rna_def_constraint_distance_limit(BlenderRNA *brna)
srna= RNA_def_struct(brna, "LimitDistanceConstraint", "Constraint");
RNA_def_struct_ui_text(srna, "Limit Distance Constraint", "Limits the distance from target object");
+
+ prop= RNA_def_property(srna, "head_tail", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, "bConstraint", "headtail");
+ RNA_def_property_ui_text(prop, "Head/Tail", "Target along length of bone: Head=0, Tail=1");
+ RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
+
RNA_def_struct_sdna_from(srna, "bDistLimitConstraint", "data");
prop= RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
@@ -1787,6 +1805,11 @@ static void rna_def_constraint_distance_limit(BlenderRNA *brna)
RNA_def_property_enum_items(prop, constraint_distance_items);
RNA_def_property_ui_text(prop, "Limit Mode", "Distances in relation to sphere of influence to allow");
RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
+
+ prop= RNA_def_property(srna, "use_transform_limit", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", LIMITDIST_TRANSFORM);
+ RNA_def_property_ui_text(prop, "For Transform", "Transforms are affected by this constraint as well");
+ RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
}
static void rna_def_constraint_shrinkwrap(BlenderRNA *brna)
@@ -1855,6 +1878,12 @@ static void rna_def_constraint_damped_track(BlenderRNA *brna)
srna= RNA_def_struct(brna, "DampedTrackConstraint", "Constraint");
RNA_def_struct_ui_text(srna, "Damped Track Constraint", "Points toward target by taking the shortest rotation path");
+
+ prop= RNA_def_property(srna, "head_tail", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, "bConstraint", "headtail");
+ RNA_def_property_ui_text(prop, "Head/Tail", "Target along length of bone: Head=0, Tail=1");
+ RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
+
RNA_def_struct_sdna_from(srna, "bDampTrackConstraint", "data");
prop= RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_controller.c b/source/blender/makesrna/intern/rna_controller.c
index 92c762098c7..db5409bf7ef 100644
--- a/source/blender/makesrna/intern/rna_controller.c
+++ b/source/blender/makesrna/intern/rna_controller.c
@@ -87,6 +87,20 @@ static void rna_Controller_type_set(struct PointerRNA *ptr, int value)
}
}
+static void rna_Controller_mode_set(struct PointerRNA *ptr, int value)
+{
+ bController *cont= (bController *)ptr->data;
+ bPythonCont *pycon= (bPythonCont *)cont->data;
+
+ // if mode changed and previous mode were Script
+ if (value != pycon->mode && pycon->mode == CONT_PY_SCRIPT)
+ {
+ // clear script to avoid it to get linked with the controller
+ pycon->text = NULL;
+ }
+ pycon->mode = value;
+}
+
static int rna_Controller_state_number_get(struct PointerRNA *ptr)
{
bController *cont= (bController *)ptr->data;
@@ -222,6 +236,7 @@ void RNA_def_controller(BlenderRNA *brna)
prop= RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, python_controller_modes);
+ RNA_def_property_enum_funcs(prop, NULL, "rna_Controller_mode_set", NULL);
RNA_def_property_ui_text(prop, "Execution Method", "Python script type (textblock or module - faster)");
RNA_def_property_update(prop, NC_LOGIC, NULL);
diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c
index df9071d7825..3cf6feb005c 100644
--- a/source/blender/makesrna/intern/rna_curve.c
+++ b/source/blender/makesrna/intern/rna_curve.c
@@ -47,9 +47,17 @@
EnumPropertyItem beztriple_handle_type_items[] = {
{HD_FREE, "FREE", 0, "Free", ""},
+ {HD_VECT, "VECTOR", 0, "Vector", ""},
+ {HD_ALIGN, "ALIGNED", 0, "Aligned", ""},
{HD_AUTO, "AUTO", 0, "Auto", ""},
+ {0, NULL, 0, NULL, NULL}};
+
+EnumPropertyItem keyframe_handle_type_items[] = {
+ {HD_FREE, "FREE", 0, "Free", ""},
{HD_VECT, "VECTOR", 0, "Vector", ""},
{HD_ALIGN, "ALIGNED", 0, "Aligned", ""},
+ {HD_AUTO, "AUTO", 0, "Automatic", ""},
+ {HD_AUTO_ANIM, "AUTO_CLAMPED", 0, "Auto Clamped", "Auto handles clamped to not overshoot"},
{0, NULL, 0, NULL, NULL}};
EnumPropertyItem beztriple_interpolation_mode_items[] = {
@@ -233,6 +241,7 @@ static void rna_Curve_material_index_range(PointerRNA *ptr, int *min, int *max)
Curve *cu= (Curve*)ptr->id.data;
*min= 0;
*max= cu->totcol-1;
+ *max= MAX2(0, *max);
}
static void rna_Curve_active_textbox_index_range(PointerRNA *ptr, int *min, int *max)
@@ -240,6 +249,7 @@ static void rna_Curve_active_textbox_index_range(PointerRNA *ptr, int *min, int
Curve *cu= (Curve*)ptr->id.data;
*min= 0;
*max= cu->totbox-1;
+ *max= MAX2(0, *max);
}
@@ -279,8 +289,7 @@ static int rna_Nurb_length(PointerRNA *ptr)
static void rna_Nurb_type_set(PointerRNA *ptr, int value)
{
Nurb *nu= (Nurb*)ptr->data;
- nu->type = value;
- // XXX - TODO change datatypes
+ ED_nurb_set_spline_type(nu, value);
}
static void rna_BPoint_array_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
@@ -650,7 +659,7 @@ static char *rna_TextBox_path(PointerRNA *ptr)
int index= (int)(tb - cu->tb);
if (index >= 0 && index < cu->totbox)
- return BLI_sprintfN("textboxes[%d]", index);
+ return BLI_sprintfN("text_boxes[%d]", index);
else
return BLI_strdup("");
}
@@ -979,19 +988,19 @@ static void rna_def_font(BlenderRNA *brna, StructRNA *srna)
prop= RNA_def_property(srna, "font_bold", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "vfontb");
- RNA_def_property_ui_text(prop, "Font", "");
+ RNA_def_property_ui_text(prop, "Font Bold", "");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
prop= RNA_def_property(srna, "font_italic", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "vfonti");
- RNA_def_property_ui_text(prop, "Font", "");
+ RNA_def_property_ui_text(prop, "Font Italic", "");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
prop= RNA_def_property(srna, "font_bold_italic", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "vfontbi");
- RNA_def_property_ui_text(prop, "Font", "");
+ RNA_def_property_ui_text(prop, "Font Bold Italic", "");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
@@ -1003,7 +1012,7 @@ static void rna_def_font(BlenderRNA *brna, StructRNA *srna)
/* flags */
prop= RNA_def_property(srna, "use_fast_edit", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", CU_FAST);
- RNA_def_property_ui_text(prop, "Fast", "Don't fill polygons while editing");
+ RNA_def_property_ui_text(prop, "Fast Editing", "Don't fill polygons while editing");
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
}
@@ -1446,7 +1455,6 @@ static void rna_def_curve_nurb(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Radius Interpolation", "The type of radius interpolation for Bezier curves");
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
- // XXX - switching type probably needs comprehensive recalc of data like in 2.4x
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, curve_type_items);
RNA_def_property_enum_funcs(prop, NULL, "rna_Nurb_type_set", NULL);
diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c
index 8e9c7e287d6..758ddc9ac6a 100644
--- a/source/blender/makesrna/intern/rna_define.c
+++ b/source/blender/makesrna/intern/rna_define.c
@@ -1049,7 +1049,7 @@ void RNA_def_property_array(PropertyRNA *prop, int length)
}
if(prop->arraydimension > 1) {
- fprintf(stderr, "RNA_def_property_array: \"%s.%s\", array dimensions has been set to %d but would be overwritten as 1.\n", srna->identifier, prop->identifier, prop->arraydimension);
+ fprintf(stderr, "RNA_def_property_array: \"%s.%s\", array dimensions has been set to %u but would be overwritten as 1.\n", srna->identifier, prop->identifier, prop->arraydimension);
DefRNA.error= 1;
return;
}
diff --git a/source/blender/makesrna/intern/rna_fcurve.c b/source/blender/makesrna/intern/rna_fcurve.c
index a46f84a22d2..e922a007249 100644
--- a/source/blender/makesrna/intern/rna_fcurve.c
+++ b/source/blender/makesrna/intern/rna_fcurve.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -139,6 +137,7 @@ static void rna_DriverTarget_update_data(Main *bmain, Scene *scene, PointerRNA *
/* find the driver this belongs to and update it */
for (fcu=adt->drivers.first; fcu; fcu=fcu->next) {
driver= fcu->driver;
+ fcu->flag &= ~FCURVE_DISABLED;
if (driver) {
// FIXME: need to be able to search targets for required one...
@@ -454,6 +453,30 @@ static void rna_FModifier_active_set(PointerRNA *ptr, int UNUSED(value))
fm->flag |= FMODIFIER_FLAG_ACTIVE;
}
+static void rna_FModifier_start_frame_range(PointerRNA *ptr, float *min, float *max)
+{
+ FModifier *fcm= (FModifier*)ptr->data;
+
+ *min= MINAFRAMEF;
+ *max= (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT)? fcm->efra : MAXFRAMEF;
+}
+
+static void rna_FModifier_end_frame_range(PointerRNA *ptr, float *min, float *max)
+{
+ FModifier *fcm= (FModifier*)ptr->data;
+
+ *min= (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT)? fcm->sfra : MINAFRAMEF;
+ *max= MAXFRAMEF;
+}
+
+static void rna_FModifier_blending_range(PointerRNA *ptr, float *min, float *max)
+{
+ FModifier *fcm= (FModifier*)ptr->data;
+
+ *min= 0.0f;
+ *max= fcm->efra - fcm->sfra;
+}
+
static void rna_FModifier_active_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
FModifier *fm, *fmo= (FModifier*)ptr->data;
@@ -571,15 +594,15 @@ static void rna_FKeyframe_points_add(FCurve *fcu, int tot)
else {
fcu->bezt= MEM_callocN(sizeof(BezTriple) * tot, "rna_FKeyframe_points_add");
}
-
+
bezt= fcu->bezt + fcu->totvert;
fcu->totvert += tot;
-
+
while(tot--) {
/* defaults, no userprefs gives pradictable results for API */
bezt->f1= bezt->f2= bezt->f3= SELECT;
bezt->ipo= BEZT_IPO_BEZ;
- bezt->h1= bezt->h2= HD_AUTO;
+ bezt->h1= bezt->h2= HD_AUTO_ANIM;
bezt++;
}
}
@@ -1015,6 +1038,51 @@ static void rna_def_fmodifier(BlenderRNA *brna)
RNA_def_property_boolean_funcs(prop, NULL, "rna_FModifier_active_set");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, "rna_FModifier_active_update");
RNA_def_property_ui_icon(prop, ICON_RADIOBUT_OFF, 1);
+
+ /* restricted range */
+ prop= RNA_def_property(srna, "use_restricted_range", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", FMODIFIER_FLAG_RANGERESTRICT);
+ RNA_def_property_ui_text(prop, "Restrict Frame Range", "F-Curve Modifier is only applied for the specified frame range to help mask off effects in order to chain them");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+ RNA_def_property_ui_icon(prop, ICON_TRIA_RIGHT, 1); // XXX: depends on UI implementation
+
+ prop= RNA_def_property(srna, "frame_start", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "sfra");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_FModifier_start_frame_range");
+ RNA_def_property_ui_text(prop, "Start Frame", "Frame that modifier's influence starts (if Restrict Frame Range is in use)");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+
+ prop= RNA_def_property(srna, "frame_end", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "efra");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_FModifier_end_frame_range");
+ RNA_def_property_ui_text(prop, "End Frame", "Frame that modifier's influence ends (if Restrict Frame Range is in use)");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+
+ prop= RNA_def_property(srna, "blend_in", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "blendin");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_FModifier_blending_range");
+ RNA_def_property_ui_text(prop, "Blend In", "Number of frames from start frame for influence to take effect");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+
+ prop= RNA_def_property(srna, "blend_out", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "blendout");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_FModifier_blending_range");
+ RNA_def_property_ui_text(prop, "Blend Out", "Number of frames from start frame for influence to fade out");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+
+ /* influence */
+ prop= RNA_def_property(srna, "use_influence", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", FMODIFIER_FLAG_USEINFLUENCE);
+ RNA_def_property_ui_text(prop, "Use Influence", "F-Curve Modifier's effects will be tempered by a default factor");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+ RNA_def_property_ui_icon(prop, ICON_TRIA_RIGHT, 1); // XXX: depends on UI implementation
+
+ prop= RNA_def_property(srna, "influence", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "influence");
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_float_default(prop, 1.0f);
+ RNA_def_property_ui_text(prop, "Influence", "Amount of influence F-Curve Modifier will have when not fading in/out");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
}
/* *********************** */
@@ -1035,6 +1103,12 @@ static void rna_def_drivertarget(BlenderRNA *brna)
{DTAR_TRANSCHAN_SCALEY, "SCALE_Y", 0, "Y Scale", ""},
{DTAR_TRANSCHAN_SCALEZ, "SCALE_Z", 0, "Z Scale", ""},
{0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem prop_local_space_items[] = {
+ {0, "WORLD_SPACE", 0, "World Space", "Transforms include effects of parenting/restpose and constraints"},
+ {DTAR_FLAG_LOCALSPACE, "TRANSFORM_SPACE", 0, "Transform Space", "Transforms don't include parenting/restpose or constraints"},
+ {DTAR_FLAG_LOCALSPACE|DTAR_FLAG_LOCAL_CONSTS, "LOCAL_SPACE", 0, "Local Space", "Transforms include effects of constraints but not parenting/restpose"},
+ {0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "DriverTarget", NULL);
RNA_def_struct_ui_text(srna, "Driver Target", "Source of input values for driver variables");
@@ -1075,9 +1149,10 @@ static void rna_def_drivertarget(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Type", "Driver variable type");
RNA_def_property_update(prop, 0, "rna_DriverTarget_update_data");
- prop= RNA_def_property(srna, "use_local_space_transform", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", DTAR_FLAG_LOCALSPACE);
- RNA_def_property_ui_text(prop, "Local Space", "Use transforms in Local Space (as opposed to the worldspace default)");
+ prop= RNA_def_property(srna, "transform_space", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_bitflag_sdna(prop, NULL, "flag");
+ RNA_def_property_enum_items(prop, prop_local_space_items);
+ RNA_def_property_ui_text(prop, "Transform Space", "Space in which transforms are used");
RNA_def_property_update(prop, 0, "rna_DriverTarget_update_data");
}
@@ -1167,6 +1242,7 @@ static void rna_def_channeldriver(BlenderRNA *brna)
srna= RNA_def_struct(brna, "Driver", NULL);
RNA_def_struct_sdna(srna, "ChannelDriver");
RNA_def_struct_ui_text(srna, "Driver", "Driver for the value of a setting based on an external value");
+ RNA_def_struct_ui_icon(srna, ICON_DRIVER);
/* Enums */
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
@@ -1242,12 +1318,12 @@ static void rna_def_fkeyframe(BlenderRNA *brna)
/* Boolean values */
prop= RNA_def_property(srna, "select_left_handle", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "f1", 0);
- RNA_def_property_ui_text(prop, "Handle 1 selected", "Handle 1 selection status");
+ RNA_def_property_ui_text(prop, "Handle 1 selected", "Left handle selection status");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME|NA_SELECTED, NULL);
prop= RNA_def_property(srna, "select_right_handle", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "f3", 0);
- RNA_def_property_ui_text(prop, "Handle 2 selected", "Handle 2 selection status");
+ RNA_def_property_ui_text(prop, "Handle 2 selected", "Right handle selection status");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME|NA_SELECTED, NULL);
prop= RNA_def_property(srna, "select_control_point", PROP_BOOLEAN, PROP_NONE);
@@ -1258,14 +1334,14 @@ static void rna_def_fkeyframe(BlenderRNA *brna)
/* Enums */
prop= RNA_def_property(srna, "handle_left_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "h1");
- RNA_def_property_enum_items(prop, beztriple_handle_type_items);
- RNA_def_property_ui_text(prop, "Handle 1 Type", "Handle types");
+ RNA_def_property_enum_items(prop, keyframe_handle_type_items);
+ RNA_def_property_ui_text(prop, "Left Handle Type", "Handle types");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
prop= RNA_def_property(srna, "handle_right_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "h2");
- RNA_def_property_enum_items(prop, beztriple_handle_type_items);
- RNA_def_property_ui_text(prop, "Handle 2 Type", "Handle types");
+ RNA_def_property_enum_items(prop, keyframe_handle_type_items);
+ RNA_def_property_ui_text(prop, "Right Handle Type", "Handle types");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
prop= RNA_def_property(srna, "interpolation", PROP_ENUM, PROP_NONE);
@@ -1277,14 +1353,14 @@ static void rna_def_fkeyframe(BlenderRNA *brna)
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "hide");
RNA_def_property_enum_items(prop, beztriple_keyframe_type_items);
- RNA_def_property_ui_text(prop, "Type", "The type of keyframe");
+ RNA_def_property_ui_text(prop, "Type", "The type of keyframe (for visual purposes only");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
/* Vector values */
prop= RNA_def_property(srna, "handle_left", PROP_FLOAT, PROP_COORDS); /* keyframes are dimensionless */
RNA_def_property_array(prop, 2);
RNA_def_property_float_funcs(prop, "rna_FKeyframe_handle1_get", "rna_FKeyframe_handle1_set", NULL);
- RNA_def_property_ui_text(prop, "Handle 1", "Coordinates of the first handle");
+ RNA_def_property_ui_text(prop, "Left Handle", "Coordinates of the left handle (before the control point)");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_COORDS); /* keyframes are dimensionless */
@@ -1296,7 +1372,7 @@ static void rna_def_fkeyframe(BlenderRNA *brna)
prop= RNA_def_property(srna, "handle_right", PROP_FLOAT, PROP_COORDS); /* keyframes are dimensionless */
RNA_def_property_array(prop, 2);
RNA_def_property_float_funcs(prop, "rna_FKeyframe_handle2_get", "rna_FKeyframe_handle2_set", NULL);
- RNA_def_property_ui_text(prop, "Handle 2", "Coordinates of the second handle");
+ RNA_def_property_ui_text(prop, "Right Handle", "Coordinates of the right handle (after the control point)");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
}
@@ -1463,11 +1539,6 @@ static void rna_def_fcurve(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Muted", "F-Curve is not evaluated");
RNA_def_property_update(prop, NC_ANIMATION|ND_ANIMCHAN|NA_EDITED, NULL);
- prop= RNA_def_property(srna, "use_auto_handle_clamp", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", FCURVE_AUTO_HANDLES);
- RNA_def_property_ui_text(prop, "Auto Clamped Handles", "All auto-handles for F-Curve are clamped");
- RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
-
prop= RNA_def_property(srna, "hide", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", FCURVE_VISIBLE);
RNA_def_property_ui_text(prop, "Hide", "F-Curve and its keyframes are hidden in the Graph Editor graphs");
diff --git a/source/blender/makesrna/intern/rna_fluidsim.c b/source/blender/makesrna/intern/rna_fluidsim.c
index 7c93ae4168b..ccb24d7dd9b 100644
--- a/source/blender/makesrna/intern/rna_fluidsim.c
+++ b/source/blender/makesrna/intern/rna_fluidsim.c
@@ -184,7 +184,11 @@ static void rna_DomainFluidSettings_memory_estimate_get(PointerRNA *ptr, char *v
static int rna_DomainFluidSettings_memory_estimate_length(PointerRNA *ptr)
{
- return 32;
+#ifdef DISABLE_ELBEEM
+ return 0;
+#else
+ return 31;
+#endif
}
static char *rna_FluidSettings_path(PointerRNA *ptr)
@@ -312,7 +316,7 @@ static void rna_def_fluidsim_domain(BlenderRNA *brna)
/* advanced settings */
prop= RNA_def_property(srna, "gravity", PROP_FLOAT, PROP_ACCELERATION);
- RNA_def_property_float_sdna(prop, NULL, "gravx");
+ RNA_def_property_float_sdna(prop, NULL, "grav");
RNA_def_property_array(prop, 3);
RNA_def_property_range(prop, -1000.1, 1000.1);
RNA_def_property_ui_text(prop, "Gravity", "Gravity in X, Y and Z direction");
@@ -384,6 +388,12 @@ static void rna_def_fluidsim_domain(BlenderRNA *brna)
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_ui_text(prop, "Generate Speed Vectors", "Generate speed vectors for vector blur");
+ /* no collision object surface */
+ prop= RNA_def_property(srna, "surface_noobs", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "typeFlags", OB_FSSG_NOOBS);
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_ui_text(prop, "Hide fluid surface", "");
+
/* particles */
prop= RNA_def_property(srna, "tracer_particles", PROP_INT, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_gpencil.c b/source/blender/makesrna/intern/rna_gpencil.c
index 423b4e4f76b..9811d7bd797 100644
--- a/source/blender/makesrna/intern/rna_gpencil.c
+++ b/source/blender/makesrna/intern/rna_gpencil.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/makesrna/intern/rna_group.c b/source/blender/makesrna/intern/rna_group.c
index a5097cc8b41..5d71d204a72 100644
--- a/source/blender/makesrna/intern/rna_group.c
+++ b/source/blender/makesrna/intern/rna_group.c
@@ -95,7 +95,7 @@ static void rna_def_group_objects(BlenderRNA *brna, PropertyRNA *cprop)
RNA_def_function_ui_description(func, "Add this object to a group");
/* object to add */
parm= RNA_def_pointer(func, "object", "Object", "", "Object to add.");
- RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL);
/* remove object */
func= RNA_def_function(srna, "unlink", "rna_Group_objects_unlink");
diff --git a/source/blender/makesrna/intern/rna_image.c b/source/blender/makesrna/intern/rna_image.c
index a52849b3366..eac4932ac43 100644
--- a/source/blender/makesrna/intern/rna_image.c
+++ b/source/blender/makesrna/intern/rna_image.c
@@ -502,6 +502,11 @@ static void rna_def_image(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Generated Height", "Generated image height");
RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, "rna_Image_generated_update");
+ prop= RNA_def_property(srna, "use_generated_float", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "gen_flag", IMA_GEN_FLOAT);
+ RNA_def_property_ui_text(prop, "Float Buffer", "Generate floating point buffer");
+ RNA_def_property_update(prop, NC_IMAGE|ND_DISPLAY, "rna_Image_generated_update");
+
/* realtime properties */
prop= RNA_def_property(srna, "mapping", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_bitflag_sdna(prop, NULL, "flag");
diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h
index 9175806e2bb..78b8c67d92c 100644
--- a/source/blender/makesrna/intern/rna_internal.h
+++ b/source/blender/makesrna/intern/rna_internal.h
@@ -168,6 +168,7 @@ void RNA_def_sensor(struct BlenderRNA *brna);
void RNA_def_sequencer(struct BlenderRNA *brna);
void RNA_def_smoke(struct BlenderRNA *brna);
void RNA_def_space(struct BlenderRNA *brna);
+void RNA_def_speaker(struct BlenderRNA *brna);
void RNA_def_test(struct BlenderRNA *brna);
void RNA_def_text(struct BlenderRNA *brna);
void RNA_def_texture(struct BlenderRNA *brna);
@@ -238,9 +239,12 @@ void RNA_api_image(struct StructRNA *srna);
void RNA_api_operator(struct StructRNA *srna);
void RNA_api_macro(struct StructRNA *srna);
void RNA_api_keyconfig(struct StructRNA *srna);
+void RNA_api_keyconfigs(struct StructRNA *srna);
void RNA_api_keyingset(struct StructRNA *srna);
void RNA_api_keymap(struct StructRNA *srna);
+void RNA_api_keymaps(struct StructRNA *srna);
void RNA_api_keymapitem(struct StructRNA *srna);
+void RNA_api_keymapitems(struct StructRNA *srna);
void RNA_api_area(struct StructRNA *srna);
void RNA_api_main(struct StructRNA *srna);
void RNA_api_material(StructRNA *srna);
@@ -257,6 +261,8 @@ void RNA_api_wm(struct StructRNA *srna);
void RNA_api_sensor(struct StructRNA *srna);
void RNA_api_controller(struct StructRNA *srna);
void RNA_api_actuator(struct StructRNA *srna);
+void RNA_api_texture(struct StructRNA *srna);
+void RNA_api_environment_map(struct StructRNA *srna);
/* main collection functions */
void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop);
@@ -279,6 +285,7 @@ void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop);
+void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop);
diff --git a/source/blender/makesrna/intern/rna_internal_types.h b/source/blender/makesrna/intern/rna_internal_types.h
index 6ff7bc20b05..249833ae94b 100644
--- a/source/blender/makesrna/intern/rna_internal_types.h
+++ b/source/blender/makesrna/intern/rna_internal_types.h
@@ -179,7 +179,8 @@ struct PropertyRNA {
* since python will convert int/bool/pointer's */
struct StructRNA *srna; /* attributes attached directly to this collection */
- /* python handle to hold all callbacks in a tuple */
+ /* python handle to hold all callbacks
+ * (in a pointer array at the moment, may later be a tuple) */
void *py_data;
};
diff --git a/source/blender/makesrna/intern/rna_main.c b/source/blender/makesrna/intern/rna_main.c
index bb13a3b1bf1..021aa9660ed 100644
--- a/source/blender/makesrna/intern/rna_main.c
+++ b/source/blender/makesrna/intern/rna_main.c
@@ -187,6 +187,12 @@ static void rna_Main_text_begin(CollectionPropertyIterator *iter, PointerRNA *pt
rna_iterator_listbase_begin(iter, &bmain->text, NULL);
}
+static void rna_Main_speaker_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
+{
+ Main *bmain= (Main*)ptr->data;
+ rna_iterator_listbase_begin(iter, &bmain->speaker, NULL);
+}
+
static void rna_Main_sound_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
Main *bmain= (Main*)ptr->data;
@@ -297,6 +303,7 @@ void RNA_def_main(BlenderRNA *brna)
{"shape_keys", "Key", "rna_Main_key_begin", "Shape Keys", "Shape Key datablocks.", NULL},
{"scripts", "ID", "rna_Main_script_begin", "Scripts", "Script datablocks (DEPRECATED).", NULL},
{"texts", "Text", "rna_Main_text_begin", "Texts", "Text datablocks.", RNA_def_main_texts},
+ {"speakers", "Speaker", "rna_Main_speaker_begin", "Speakers", "Speaker datablocks.", RNA_def_main_speakers},
{"sounds", "Sound", "rna_Main_sound_begin", "Sounds", "Sound datablocks.", RNA_def_main_sounds},
{"armatures", "Armature", "rna_Main_armature_begin", "Armatures", "Armature datablocks.", RNA_def_main_armatures},
{"actions", "Action", "rna_Main_action_begin", "Actions", "Action datablocks.", RNA_def_main_actions},
diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c
index 8ac620c2fcf..1ba6905ea37 100644
--- a/source/blender/makesrna/intern/rna_main_api.c
+++ b/source/blender/makesrna/intern/rna_main_api.c
@@ -38,6 +38,7 @@
#include "RNA_define.h"
#include "RNA_access.h"
#include "RNA_enum_types.h"
+#include "rna_internal.h"
#include "BKE_utildefines.h"
@@ -63,6 +64,7 @@
#include "BKE_particle.h"
#include "BKE_font.h"
#include "BKE_node.h"
+#include "BKE_speaker.h"
#include "DNA_armature_types.h"
#include "DNA_camera_types.h"
@@ -71,6 +73,7 @@
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_object_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_text_types.h"
#include "DNA_texture_types.h"
#include "DNA_group_types.h"
@@ -147,6 +150,9 @@ Object *rna_Main_objects_new(Main *UNUSED(bmain), ReportList *reports, const cha
case ID_LA:
type= OB_LAMP;
break;
+ case ID_SPK:
+ type= OB_SPEAKER;
+ break;
case ID_CA:
type= OB_CAMERA;
break;
@@ -208,9 +214,7 @@ void rna_Main_materials_remove(Main *bmain, ReportList *reports, struct Material
struct bNodeTree *rna_Main_nodetree_new(Main *UNUSED(bmain), const char *name, int type)
{
- bNodeTree *tree = ntreeAddTree(name, type, TRUE);
-
-// ntreeMakeGroupSockets(tree);
+ bNodeTree *tree = ntreeAddTree(name, type, NODE_GROUP);
id_us_min(&tree->id);
return tree;
@@ -406,6 +410,22 @@ void rna_Main_groups_remove(Main *bmain, Group *group)
/* XXX python now has invalid pointer? */
}
+Speaker *rna_Main_speakers_new(Main *UNUSED(bmain), const char *name)
+{
+ Speaker *speaker= add_speaker(name);
+ id_us_min(&speaker->id);
+ return speaker;
+}
+void rna_Main_speakers_remove(Main *bmain, ReportList *reports, Speaker *speaker)
+{
+ if(ID_REAL_USERS(speaker) <= 0)
+ free_libblock(&bmain->speaker, speaker);
+ else
+ BKE_reportf(reports, RPT_ERROR, "Speaker \"%s\" must have zero users to be removed, found %d.", speaker->id.name+2, ID_REAL_USERS(speaker));
+
+ /* XXX python now has invalid pointer? */
+}
+
Text *rna_Main_texts_new(Main *UNUSED(bmain), const char *name)
{
return add_empty_text(name);
@@ -502,6 +522,7 @@ void rna_Main_groups_tag(Main *bmain, int value) { tag_main_lb(&bmain->group, va
void rna_Main_shape_keys_tag(Main *bmain, int value) { tag_main_lb(&bmain->key, value); }
void rna_Main_scripts_tag(Main *bmain, int value) { tag_main_lb(&bmain->script, value); }
void rna_Main_texts_tag(Main *bmain, int value) { tag_main_lb(&bmain->text, value); }
+void rna_Main_speakers_tag(Main *bmain, int value) { tag_main_lb(&bmain->speaker, value); }
void rna_Main_sounds_tag(Main *bmain, int value) { tag_main_lb(&bmain->sound, value); }
void rna_Main_armatures_tag(Main *bmain, int value) { tag_main_lb(&bmain->armature, value); }
void rna_Main_actions_tag(Main *bmain, int value) { tag_main_lb(&bmain->action, value); }
@@ -1076,6 +1097,37 @@ void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop)
parm= RNA_def_boolean(func, "value", 0, "Value", "");
RNA_def_property_flag(parm, PROP_REQUIRED);
}
+
+void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop)
+{
+ StructRNA *srna;
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ RNA_def_property_srna(cprop, "BlendDataSpeakers");
+ srna= RNA_def_struct(brna, "BlendDataSpeakers", NULL);
+ RNA_def_struct_sdna(srna, "Main");
+ RNA_def_struct_ui_text(srna, "Main Speakers", "Collection of speakers");
+
+ func= RNA_def_function(srna, "new", "rna_Main_speakers_new");
+ RNA_def_function_ui_description(func, "Add a new speaker to the main database");
+ parm= RNA_def_string(func, "name", "Speaker", 0, "", "New name for the datablock.");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ /* return type */
+ parm= RNA_def_pointer(func, "speaker", "Speaker", "", "New speaker datablock.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "remove", "rna_Main_speakers_remove");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS);
+ RNA_def_function_ui_description(func, "Remove a speaker from the current blendfile.");
+ parm= RNA_def_pointer(func, "speaker", "Speaker", "", "Speaker to remove.");
+ RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL);
+
+ func= RNA_def_function(srna, "tag", "rna_Main_speakers_tag");
+ parm= RNA_def_boolean(func, "value", 0, "Value", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+}
+
void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
{
StructRNA *srna;
diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c
index b86a91967a6..f407aba82fb 100644
--- a/source/blender/makesrna/intern/rna_material.c
+++ b/source/blender/makesrna/intern/rna_material.c
@@ -1675,7 +1675,12 @@ void RNA_def_material(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Light Group", "Limit lighting to lamps in this Group");
RNA_def_property_update(prop, 0, "rna_Material_update");
-
+
+ prop= RNA_def_property(srna, "pass_index", PROP_INT, PROP_UNSIGNED);
+ RNA_def_property_int_sdna(prop, NULL, "index");
+ RNA_def_property_ui_text(prop, "Pass Index", "Index # for the IndexMA render pass");
+ RNA_def_property_update(prop, NC_OBJECT, NULL);
+
/* flags */
prop= RNA_def_property(srna, "use_light_group_exclusive", PROP_BOOLEAN, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c
index 2d3c3fe7a3a..80c98e8c428 100644
--- a/source/blender/makesrna/intern/rna_mesh.c
+++ b/source/blender/makesrna/intern/rna_mesh.c
@@ -40,6 +40,9 @@
#include "WM_types.h"
+#include "BLI_math_base.h"
+#include "BLI_math_rotation.h"
+
#ifdef RNA_RUNTIME
#include "DNA_scene_types.h"
@@ -302,6 +305,7 @@ static void rna_MeshFace_material_index_range(PointerRNA *ptr, int *min, int *ma
Mesh *me= (Mesh*)ptr->id.data;
*min= 0;
*max= me->totcol-1;
+ *max= MAX2(0, *max);
}
static CustomData *rna_mesh_fdata(Mesh *me)
@@ -912,6 +916,20 @@ static void rna_TextureFace_image_set(PointerRNA *ptr, PointerRNA value)
tf->tpage= (struct Image*)id;
}
+static void rna_Mesh_auto_smooth_angle_set(PointerRNA *ptr, float value)
+{
+ Mesh *me= (Mesh*)ptr->id.data;
+ value= RAD2DEGF(value);
+ CLAMP(value, 1.0f, 80.0f);
+ me->smoothresh= (int)value;
+}
+
+static float rna_Mesh_auto_smooth_angle_get(PointerRNA *ptr)
+{
+ Mesh *me= (Mesh*)ptr->id.data;
+ return DEG2RADF((float)me->smoothresh);
+}
+
static int rna_MeshFace_verts_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION])
{
MFace *face= (MFace*)ptr->data;
@@ -1913,9 +1931,15 @@ static void rna_def_mesh(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flag", ME_AUTOSMOOTH);
RNA_def_property_ui_text(prop, "Auto Smooth", "Treats all set-smoothed faces with angles less than the specified angle as 'smooth' during render");
+#if 1 /* expose as radians */
+ prop= RNA_def_property(srna, "auto_smooth_angle", PROP_FLOAT, PROP_ANGLE);
+ RNA_def_property_float_funcs(prop, "rna_Mesh_auto_smooth_angle_get", "rna_Mesh_auto_smooth_angle_set", NULL);
+ RNA_def_property_ui_range(prop, DEG2RAD(1.0), DEG2RAD(80), 1.0, 1);
+#else
prop= RNA_def_property(srna, "auto_smooth_angle", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "smoothresh");
RNA_def_property_range(prop, 1, 80);
+#endif
RNA_def_property_ui_text(prop, "Auto Smooth Angle", "Defines maximum angle between face normals that 'Auto Smooth' will operate on");
prop= RNA_def_property(srna, "show_double_sided", PROP_BOOLEAN, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index 749ece4d635..ab89ec43740 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -32,6 +32,7 @@
#include <stdlib.h>
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "rna_internal.h"
@@ -407,7 +408,8 @@ static void rna_MultiresModifier_level_range(PointerRNA *ptr, int *min, int *max
MultiresModifierData *mmd = (MultiresModifierData*)ptr->data;
*min = 0;
- *max = mmd->totlvl;
+ *max = mmd->totlvl; /* intentionally _not_ -1 */
+ *max= MAX2(0, *max);
}
static int rna_MultiresModifier_external_get(PointerRNA *ptr)
@@ -581,6 +583,34 @@ static void rna_UVProjectModifier_num_projectors_set(PointerRNA *ptr, int value)
md->projectors[a]= NULL;
}
+static float rna_EdgeSplitModifier_split_angle_get(PointerRNA *ptr)
+{
+ EdgeSplitModifierData *md= (EdgeSplitModifierData*)ptr->data;
+ return DEG2RADF(md->split_angle);
+}
+
+static void rna_EdgeSplitModifier_split_angle_set(PointerRNA *ptr, float value)
+{
+ EdgeSplitModifierData *md= (EdgeSplitModifierData*)ptr->data;
+ value= RAD2DEGF(value);
+ CLAMP(value, 0.0f, 180.0f);
+ md->split_angle= (int)value;
+}
+
+static float rna_BevelModifier_angle_limit_get(PointerRNA *ptr)
+{
+ BevelModifierData *md= (BevelModifierData*)ptr->data;
+ return DEG2RADF(md->bevel_angle);
+}
+
+static void rna_BevelModifier_angle_limit_set(PointerRNA *ptr, float value)
+{
+ BevelModifierData *md= (BevelModifierData*)ptr->data;
+ value= RAD2DEGF(value);
+ CLAMP(value, 0.0f, 180.0f);
+ md->bevel_angle= (int)value;
+}
+
#else
static void rna_def_property_subdivision_common(StructRNA *srna, const char type[])
@@ -779,6 +809,11 @@ static void rna_def_modifier_multires(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flags", eMultiresModifierFlag_ControlEdges);
RNA_def_property_ui_text(prop, "Optimal Display", "Skip drawing/rendering of interior subdivided edges");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
+ prop= RNA_def_property(srna, "use_subsurf_uv", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "flags", eMultiresModifierFlag_PlainUv);
+ RNA_def_property_ui_text(prop, "Subdivide UVs", "Use subsurf to subdivide UVs");
+ RNA_def_property_update(prop, 0, "rna_Modifier_update");
}
static void rna_def_modifier_lattice(BlenderRNA *brna)
@@ -1368,10 +1403,16 @@ static void rna_def_modifier_edgesplit(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "EdgeSplitModifierData");
RNA_def_struct_ui_icon(srna, ICON_MOD_EDGESPLIT);
- // XXX, convert to radians.
+#if 1 /* expose as radians */
+ prop= RNA_def_property(srna, "split_angle", PROP_FLOAT, PROP_ANGLE);
+ RNA_def_property_float_funcs(prop, "rna_EdgeSplitModifier_split_angle_get", "rna_EdgeSplitModifier_split_angle_set", NULL);
+ RNA_def_property_range(prop, 0, DEG2RAD(180));
+ RNA_def_property_ui_range(prop, 0, DEG2RAD(180), 100, 2);
+#else
prop= RNA_def_property(srna, "split_angle", PROP_FLOAT, PROP_NONE);
RNA_def_property_range(prop, 0, 180);
RNA_def_property_ui_range(prop, 0, 180, 100, 2);
+#endif
RNA_def_property_ui_text(prop, "Split Angle", "Angle above which to split edges");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
@@ -1968,10 +2009,17 @@ static void rna_def_modifier_bevel(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Edge Weight Method", "What edge weight to use for weighting a vertex");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
+#if 1 /* expose as radians */
+ prop= RNA_def_property(srna, "angle_limit", PROP_FLOAT, PROP_ANGLE);
+ RNA_def_property_float_funcs(prop, "rna_BevelModifier_angle_limit_get", "rna_BevelModifier_angle_limit_set", NULL);
+ RNA_def_property_range(prop, 0, DEG2RAD(180));
+ RNA_def_property_ui_range(prop, 0, DEG2RAD(180), 100, 2);
+#else
prop= RNA_def_property(srna, "angle_limit", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "bevel_angle");
RNA_def_property_range(prop, 0, 180);
RNA_def_property_ui_range(prop, 0, 180, 100, 2);
+#endif
RNA_def_property_ui_text(prop, "Angle", "Angle above which to bevel edges");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
}
@@ -2221,6 +2269,13 @@ static void rna_def_modifier_solidify(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Thickness", "Thickness of the shell");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
+ prop= RNA_def_property(srna, "thickness_vertex_group", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "offset_fac_vg");
+ RNA_def_property_range(prop, 0.0, 1.0);
+ RNA_def_property_ui_range(prop, 0, 1, 0.1, 3);
+ RNA_def_property_ui_text(prop, "Vertex Group Factor", "Thickness factor to use for zero vertex group influence");
+ RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
prop= RNA_def_property(srna, "offset", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_float_sdna(prop, NULL, "offset_fac");
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
@@ -2314,7 +2369,7 @@ static void rna_def_modifier_screw(BlenderRNA *brna)
prop= RNA_def_property(srna, "steps", PROP_INT, PROP_UNSIGNED);
RNA_def_property_range(prop, 2, 10000);
- RNA_def_property_ui_range(prop, 2, 512, 1, 0);
+ RNA_def_property_ui_range(prop, 3, 512, 1, 0);
RNA_def_property_ui_text(prop, "Steps", "Number of steps in the revolution");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
diff --git a/source/blender/makesrna/intern/rna_nla.c b/source/blender/makesrna/intern/rna_nla.c
index 71bff06a864..ef4adde6fb4 100644
--- a/source/blender/makesrna/intern/rna_nla.c
+++ b/source/blender/makesrna/intern/rna_nla.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -222,6 +220,29 @@ static void rna_NlaStrip_blend_out_set(PointerRNA *ptr, float value)
data->blendout= value;
}
+static int rna_NlaStrip_action_editable(PointerRNA *ptr)
+{
+ NlaStrip *strip = (NlaStrip *)ptr->data;
+
+ /* strip actions shouldn't be editable if NLA tweakmode is on */
+ if (ptr->id.data) {
+ AnimData *adt = BKE_animdata_from_id(ptr->id.data);
+
+ if (adt) {
+ /* active action is only editable when it is not a tweaking strip */
+ if ((adt->flag & ADT_NLA_EDIT_ON) || (adt->actstrip) || (adt->tmpact))
+ return 0;
+ }
+ }
+
+ /* check for clues that strip probably shouldn't be used... */
+ if (strip->flag & NLASTRIP_FLAG_TWEAKUSER)
+ return 0;
+
+ /* should be ok, though we may still miss some cases */
+ return 1;
+}
+
static void rna_NlaStrip_action_start_frame_set(PointerRNA *ptr, float value)
{
NlaStrip *data= (NlaStrip*)ptr->data;
@@ -357,6 +378,7 @@ static void rna_def_nlastrip(BlenderRNA *brna)
{NLASTRIP_TYPE_CLIP, "CLIP", 0, "Action Clip", "NLA Strip references some Action"},
{NLASTRIP_TYPE_TRANSITION, "TRANSITION", 0, "Transition", "NLA Strip 'transitions' between adjacent strips"},
{NLASTRIP_TYPE_META, "META", 0, "Meta", "NLA Strip acts as a container for adjacent strips"},
+ {NLASTRIP_TYPE_SOUND, "SOUND", 0, "Sound Clip", "NLA Strip representing a sound event for speakers"},
{0, NULL, 0, NULL, NULL}};
/* struct definition */
@@ -428,6 +450,7 @@ static void rna_def_nlastrip(BlenderRNA *brna)
RNA_def_property_pointer_sdna(prop, NULL, "act");
RNA_def_property_pointer_funcs(prop, NULL, NULL, NULL, "rna_Action_id_poll");
RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_editable_func(prop, "rna_NlaStrip_action_editable");
RNA_def_property_ui_text(prop, "Action", "Action referenced by this strip");
RNA_def_property_update(prop, NC_ANIMATION|ND_NLA, NULL); /* this will do? */
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
index d0b60c7f153..49a0458977a 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -30,13 +30,17 @@
#include <stdlib.h>
#include <string.h>
+#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "rna_internal.h"
+#include "rna_internal_types.h"
#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
#include "DNA_node_types.h"
+#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_texture_types.h"
@@ -53,9 +57,16 @@
#include "MEM_guardedalloc.h"
+EnumPropertyItem nodetree_type_items[] = {
+ {NTREE_SHADER, "MATERIAL", ICON_MATERIAL, "Material", "Material nodes" },
+ {NTREE_TEXTURE, "TEXTURE", ICON_TEXTURE, "Texture", "Texture nodes" },
+ {NTREE_COMPOSIT, "COMPOSITING", ICON_RENDERLAYERS, "Compositing", "Compositing nodes" },
+ {0, NULL, 0, NULL, NULL}
+};
+
EnumPropertyItem node_socket_type_items[] = {
- {SOCK_VALUE, "VALUE", 0, "Value", ""},
+ {SOCK_FLOAT, "VALUE", 0, "Value", ""},
{SOCK_VECTOR, "VECTOR", 0, "Vector", ""},
{SOCK_RGBA, "RGBA", 0, "RGBA", ""},
{0, NULL, 0, NULL, NULL}};
@@ -99,6 +110,41 @@ EnumPropertyItem node_filter_items[] = {
{6, "SHADOW", 0, "Shadow", ""},
{0, NULL, 0, NULL, NULL}};
+
+/* Add any new socket value subtype here.
+ * When adding a new subtype here, make sure you also add it
+ * to the subtype definitions in DNA_node_types.h.
+ * This macro is used by the RNA and the internal converter functions
+ * to define all socket subtypes. The SUBTYPE macro must be defined
+ * before using this macro, and undefined afterwards.
+ */
+#define NODE_DEFINE_SUBTYPES_INT \
+SUBTYPE(INT, Int, NONE, None) \
+SUBTYPE(INT, Int, UNSIGNED, Unsigned)
+
+#define NODE_DEFINE_SUBTYPES_FLOAT \
+SUBTYPE(FLOAT, Float, NONE, None) \
+SUBTYPE(FLOAT, Float, UNSIGNED, Unsigned) \
+SUBTYPE(FLOAT, Float, PERCENTAGE, Percentage) \
+SUBTYPE(FLOAT, Float, FACTOR, Factor) \
+SUBTYPE(FLOAT, Float, ANGLE, Angle) \
+SUBTYPE(FLOAT, Float, TIME, Time) \
+SUBTYPE(FLOAT, Float, DISTANCE, Distance)
+
+#define NODE_DEFINE_SUBTYPES_VECTOR \
+SUBTYPE(VECTOR, Vector, NONE, None) \
+SUBTYPE(VECTOR, Vector, TRANSLATION, Translation) \
+SUBTYPE(VECTOR, Vector, DIRECTION, Direction) \
+SUBTYPE(VECTOR, Vector, VELOCITY, Velocity) \
+SUBTYPE(VECTOR, Vector, ACCELERATION, Acceleration) \
+SUBTYPE(VECTOR, Vector, EULER, Euler) \
+SUBTYPE(VECTOR, Vector, XYZ, XYZ)
+
+#define NODE_DEFINE_SUBTYPES \
+NODE_DEFINE_SUBTYPES_INT \
+NODE_DEFINE_SUBTYPES_FLOAT \
+NODE_DEFINE_SUBTYPES_VECTOR
+
#ifdef RNA_RUNTIME
#include "BLI_linklist.h"
@@ -121,32 +167,18 @@ static StructRNA *rna_Node_refine(struct PointerRNA *ptr)
#include "rna_nodetree_types.h"
- #undef DefNode
-
case NODE_GROUP:
return &RNA_NodeGroup;
+ case NODE_FORLOOP:
+ return &RNA_NodeForLoop;
+ case NODE_WHILELOOP:
+ return &RNA_NodeWhileLoop;
default:
return &RNA_Node;
}
}
-static StructRNA *rna_NodeSocketType_refine(struct PointerRNA *ptr)
-{
- bNodeSocket *ns= (bNodeSocket*)ptr->data;
-
- switch(ns->type) {
- case SOCK_VALUE:
- return &RNA_ValueNodeSocket;
- case SOCK_VECTOR:
- return &RNA_VectorNodeSocket;
- case SOCK_RGBA:
- return &RNA_RGBANodeSocket;
- default:
- return &RNA_UnknownType;
- }
-}
-
static StructRNA *rna_NodeTree_refine(struct PointerRNA *ptr)
{
bNodeTree *ntree= (bNodeTree*)ptr->data;
@@ -170,6 +202,46 @@ static char *rna_Node_path(PointerRNA *ptr)
return BLI_sprintfN("nodes[\"%s\"]", node->name);
}
+static StructRNA *rna_NodeSocket_refine(PointerRNA *ptr)
+{
+ bNodeSocket *sock= (bNodeSocket*)ptr->data;
+
+ if (sock->default_value) {
+ /* This returns the refined socket type with the full definition
+ * of the default input value with type and subtype.
+ */
+
+ #define SUBTYPE(socktype, stypename, id, idname) \
+ { \
+ bNodeSocketValue##stypename *value= (bNodeSocketValue##stypename*)sock->default_value; \
+ if (value->subtype==PROP_##id) \
+ return &RNA_NodeSocket##stypename##idname; \
+ }
+
+ switch (sock->type) {
+ case SOCK_FLOAT:
+ NODE_DEFINE_SUBTYPES_FLOAT
+ break;
+ case SOCK_INT:
+ NODE_DEFINE_SUBTYPES_INT
+ break;
+ case SOCK_BOOLEAN:
+ return &RNA_NodeSocketBoolean;
+ break;
+ case SOCK_VECTOR:
+ NODE_DEFINE_SUBTYPES_VECTOR
+ break;
+ case SOCK_RGBA:
+ return &RNA_NodeSocketRGBA;
+ break;
+ }
+
+ #undef SUBTYPE
+ }
+
+ return &RNA_NodeSocket;
+}
+
static char *rna_NodeSocket_path(PointerRNA *ptr)
{
bNodeTree *ntree= (bNodeTree*)ptr->id.data;
@@ -275,7 +347,7 @@ static void rna_NodeGroup_update(Main *bmain, Scene *scene, PointerRNA *ptr)
bNodeTree *ntree= (bNodeTree*)ptr->id.data;
bNode *node= (bNode*)ptr->data;
- nodeGroupVerify((bNodeTree *)node->id);
+ ntreeUpdateTree((bNodeTree *)node->id);
node_update(bmain, scene, ntree, node);
}
@@ -313,18 +385,42 @@ static void rna_NodeGroupSocket_update(Main *bmain, Scene *scene, PointerRNA *pt
bNodeSocket *sock= (bNodeSocket*)ptr->data;
bNode *node;
- nodeGroupVerify(ntree);
+ ntreeUpdateTree(ntree);
if (nodeFindNode(ntree, sock, &node, NULL, NULL))
node_update(bmain, scene, ntree, node);
}
-static void rna_NodeSocket_defvalue_range(PointerRNA *ptr, float *min, float *max)
+static void rna_NodeLink_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ bNodeTree *ntree= (bNodeTree*)ptr->id.data;
+
+ ntree->update |= NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(ntree);
+}
+
+static void rna_NodeSocketInt_range(PointerRNA *ptr, int *min, int *max)
{
bNodeSocket *sock= (bNodeSocket*)ptr->data;
+ bNodeSocketValueInt *val= (bNodeSocketValueInt*)sock->default_value;
+ *min = val->min;
+ *max = val->max;
+}
- *min = sock->ns.min;
- *max = sock->ns.max;
+static void rna_NodeSocketFloat_range(PointerRNA *ptr, float *min, float *max)
+{
+ bNodeSocket *sock= (bNodeSocket*)ptr->data;
+ bNodeSocketValueFloat *val= (bNodeSocketValueFloat*)sock->default_value;
+ *min = val->min;
+ *max = val->max;
+}
+
+static void rna_NodeSocketVector_range(PointerRNA *ptr, float *min, float *max)
+{
+ bNodeSocket *sock= (bNodeSocket*)ptr->data;
+ bNodeSocketValueVector *val= (bNodeSocketValueVector*)sock->default_value;
+ *min = val->min;
+ *max = val->max;
}
static void rna_Node_mapping_update(Main *bmain, Scene *scene, PointerRNA *ptr)
@@ -454,18 +550,22 @@ static EnumPropertyItem *rna_Node_channel_itemf(bContext *UNUSED(C), PointerRNA
static bNode *rna_NodeTree_node_new(bNodeTree *ntree, bContext *UNUSED(C), ReportList *reports, int type, bNodeTree *group)
{
bNode *node;
+ bNodeTemplate ntemp;
if (type == NODE_GROUP && group == NULL) {
BKE_reportf(reports, RPT_ERROR, "node type \'GROUP\' missing group argument");
return NULL;
}
- node = nodeAddNodeType(ntree, type, group, NULL);
-
+
+ ntemp.type = type;
+ ntemp.ngroup = group;
+ node = nodeAddNode(ntree, &ntemp);
+
if (node == NULL) {
BKE_reportf(reports, RPT_ERROR, "Unable to create node");
}
else {
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntreeUpdateTree(ntree); /* update group node socket links*/
NodeTagChanged(ntree, node);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
@@ -495,7 +595,7 @@ static bNode *rna_NodeTree_node_composite_new(bNodeTree *ntree, bContext *C, Rep
}
ntreeCompositForceHidden(ntree, CTX_data_scene(C));
- ntreeSolveOrder(ntree);
+ ntreeUpdateTree(ntree);
}
return node;
@@ -523,7 +623,7 @@ static void rna_NodeTree_node_remove(bNodeTree *ntree, ReportList *reports, bNod
id_us_min(node->id);
nodeFreeNode(ntree, node);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntreeUpdateTree(ntree); /* update group node socket links*/
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
}
@@ -551,9 +651,7 @@ static bNodeLink *rna_NodeTree_link_new(bNodeTree *ntree, ReportList *reports, b
if(ret) {
NodeTagChanged(ntree, tonode);
- nodeGroupVerify(ntree); /* update group node socket links*/
-
- ntreeSolveOrder(ntree);
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
}
@@ -567,8 +665,7 @@ static void rna_NodeTree_link_remove(bNodeTree *ntree, ReportList *reports, bNod
}
else {
nodeRemLink(ntree, link);
- ntreeSolveOrder(ntree);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
}
@@ -577,9 +674,10 @@ static void rna_NodeTree_link_remove(bNodeTree *ntree, ReportList *reports, bNod
static bNodeSocket *rna_NodeTree_input_new(bNodeTree *ntree, ReportList *UNUSED(reports), const char *name, int type)
{
/* XXX should check if tree is a group here! no good way to do this currently. */
- bNodeSocket *gsock= nodeGroupAddSocket(ntree, name, type, SOCK_IN);
+ bNodeSocket *gsock= node_group_add_socket(ntree, name, type, SOCK_IN);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntree->update |= NTREE_UPDATE_GROUP_IN;
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
return gsock;
}
@@ -587,9 +685,10 @@ static bNodeSocket *rna_NodeTree_input_new(bNodeTree *ntree, ReportList *UNUSED(
static bNodeSocket *rna_NodeTree_output_new(bNodeTree *ntree, ReportList *UNUSED(reports), const char *name, int type)
{
/* XXX should check if tree is a group here! no good way to do this currently. */
- bNodeSocket *gsock= nodeGroupAddSocket(ntree, name, type, SOCK_OUT);
+ bNodeSocket *gsock= node_group_add_socket(ntree, name, type, SOCK_OUT);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntree->update |= NTREE_UPDATE_GROUP_OUT;
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
return gsock;
}
@@ -606,11 +705,12 @@ static bNodeSocket *rna_NodeTree_input_expose(bNodeTree *ntree, ReportList *repo
BKE_reportf(reports, RPT_ERROR, "Socket is not an input");
else {
/* XXX should check if tree is a group here! no good way to do this currently. */
- gsock = nodeGroupAddSocket(ntree, sock->name, sock->type, SOCK_IN);
+ gsock = node_group_add_socket(ntree, sock->name, sock->type, SOCK_IN);
if (add_link)
nodeAddLink(ntree, NULL, gsock, node, sock);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntree->update |= NTREE_UPDATE_GROUP_IN;
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
return gsock;
}
@@ -629,11 +729,12 @@ static bNodeSocket *rna_NodeTree_output_expose(bNodeTree *ntree, ReportList *rep
BKE_reportf(reports, RPT_ERROR, "Socket is not an output");
else {
/* XXX should check if tree is a group here! no good way to do this currently. */
- gsock = nodeGroupAddSocket(ntree, sock->name, sock->type, SOCK_OUT);
+ gsock = node_group_add_socket(ntree, sock->name, sock->type, SOCK_OUT);
if (add_link)
nodeAddLink(ntree, node, sock, NULL, gsock);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntree->update |= NTREE_UPDATE_GROUP_OUT;
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
return gsock;
}
@@ -668,14 +769,16 @@ static EnumPropertyItem node_ycc_items[] = {
{ 2, "JFIF", 0, "Jpeg", ""},
{0, NULL, 0, NULL, NULL}};
-#define MaxNodes 1000
+#define MaxNodes 50000
enum
{
Category_GroupNode,
+ Category_LoopNode,
+ Category_LayoutNode,
Category_ShaderNode,
Category_CompositorNode,
- Category_TextureNode
+ Category_TextureNode,
};
typedef struct NodeInfo
@@ -715,9 +818,10 @@ static void init(void)
#include "rna_nodetree_types.h"
- #undef DefNode
-
reg_node(NODE_GROUP, Category_GroupNode, "GROUP", "NodeGroup", "Node", "Group", "");
+ reg_node(NODE_FORLOOP, Category_LoopNode, "FORLOOP", "NodeForLoop", "Node", "ForLoop", "");
+ reg_node(NODE_WHILELOOP, Category_LoopNode, "WHILELOOP", "NodeWhileLoop", "Node", "WhileLoop", "");
+ reg_node(NODE_FRAME, Category_LayoutNode, "FRAME", "NodeFrame", "Node", "Frame", "");
}
static StructRNA* def_node(BlenderRNA *brna, int node_id)
@@ -732,7 +836,7 @@ static StructRNA* def_node(BlenderRNA *brna, int node_id)
return srna;
}
-void alloc_node_type_items(EnumPropertyItem *items, int category)
+static void alloc_node_type_items(EnumPropertyItem *items, int category)
{
int i;
int count = 3;
@@ -793,6 +897,41 @@ static void def_group(StructRNA *srna)
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeGroup_update");
}
+static void def_forloop(StructRNA *srna)
+{
+ PropertyRNA *prop;
+
+ prop = RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "id");
+ RNA_def_property_struct_type(prop, "NodeTree");
+ RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Node Tree", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeGroup_update");
+}
+
+static void def_whileloop(StructRNA *srna)
+{
+ PropertyRNA *prop;
+
+ prop = RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "id");
+ RNA_def_property_struct_type(prop, "NodeTree");
+ RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Node Tree", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeGroup_update");
+
+ prop = RNA_def_property(srna, "max_iterations", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "custom1");
+ RNA_def_property_range(prop, 0.0f, 10000000.0f);
+ RNA_def_property_ui_text(prop, "Max. Iterations", "Limit for number of iterations");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeGroup_update");
+}
+
+static void def_frame(StructRNA *srna)
+{
+// PropertyRNA *prop;
+
+}
static void def_math(StructRNA *srna)
{
@@ -2221,6 +2360,7 @@ static void def_cmp_colorbalance(StructRNA *srna)
RNA_def_property_float_sdna(prop, NULL, "gamma");
RNA_def_property_array(prop, 3);
RNA_def_property_float_array_default(prop, default_1);
+ RNA_def_property_range(prop, 0.f, FLT_MAX);
RNA_def_property_ui_range(prop, 0, 2, 0.1, 3);
RNA_def_property_ui_text(prop, "Power", "Correction for Midtones");
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
@@ -2229,6 +2369,7 @@ static void def_cmp_colorbalance(StructRNA *srna)
RNA_def_property_float_sdna(prop, NULL, "gain");
RNA_def_property_array(prop, 3);
RNA_def_property_float_array_default(prop, default_1);
+ RNA_def_property_range(prop, 0.f, FLT_MAX);
RNA_def_property_ui_range(prop, 0, 2, 0.1, 3);
RNA_def_property_ui_text(prop, "Slope", "Correction for Highlights");
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
@@ -2508,94 +2649,112 @@ static void rna_def_node_socket(BlenderRNA *brna)
srna = RNA_def_struct(brna, "NodeSocket", NULL);
RNA_def_struct_ui_text(srna, "Node Socket", "Input or output socket of a node");
- RNA_def_struct_refine_func(srna, "rna_NodeSocketType_refine");
RNA_def_struct_sdna(srna, "bNodeSocket");
+ RNA_def_struct_refine_func(srna, "rna_NodeSocket_refine");
RNA_def_struct_ui_icon(srna, ICON_PLUG);
RNA_def_struct_path_func(srna, "rna_NodeSocket_path");
+ prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "type");
+ RNA_def_property_enum_items(prop, node_socket_type_items);
+ RNA_def_property_enum_default(prop, 0);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Type", "Node Socket type");
+
prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
/* XXX must be editable for group sockets. if necessary use a special rna definition for these */
// RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Name", "Socket name");
RNA_def_struct_name_property(srna, prop);
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeGroupSocket_update");
-
- /* can add back if there is any use in reading them */
-#if 0
- prop = RNA_def_property(srna, "min", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "ns.min");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "Minimum Value", "");
- RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
-
- prop = RNA_def_property(srna, "max", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "ns.max");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "Maximum Value", "");
- RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
-#endif
-
- prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_enum_items(prop, node_socket_type_items);
- RNA_def_property_ui_text(prop, "Type", "Node Socket type");
}
-static void rna_def_node_socket_value(BlenderRNA *brna)
+static void rna_def_node_socket_subtype(BlenderRNA *brna, int type, int subtype, const char *name, const char *ui_name)
{
StructRNA *srna;
- PropertyRNA *prop;
-
- srna = RNA_def_struct(brna, "ValueNodeSocket", "NodeSocket");
- RNA_def_struct_ui_text(srna, "Value Node Socket", "Input or output socket of a node");
+ PropertyRNA *prop=NULL;
+ PropertySubType propsubtype= PROP_NONE;
+
+ #define SUBTYPE(socktype, stypename, id, idname) { PROP_##id, #id, 0, #idname, ""},
+ static EnumPropertyItem subtype_items[] = {
+ NODE_DEFINE_SUBTYPES
+ {0, NULL, 0, NULL, NULL}
+ };
+ #undef SUBTYPE
+
+ #define SUBTYPE(socktype, stypename, id, idname) if (subtype==PROP_##id) propsubtype = PROP_##id;
+ NODE_DEFINE_SUBTYPES
+ #undef SUBTYPE
+
+ srna = RNA_def_struct(brna, name, "NodeSocket");
+ RNA_def_struct_ui_text(srna, ui_name, "Input or output socket of a node");
RNA_def_struct_sdna(srna, "bNodeSocket");
RNA_def_struct_ui_icon(srna, ICON_PLUG);
RNA_def_struct_path_func(srna, "rna_NodeSocket_path");
-
- prop = RNA_def_property(srna, "default_value", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "ns.vec");
- RNA_def_property_array(prop, 1);
- RNA_def_property_ui_text(prop, "Default Value", "Default value of the socket when no link is attached");
- RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
- RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocket_defvalue_range");
-}
-
-static void rna_def_node_socket_vector(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
-
- srna = RNA_def_struct(brna, "VectorNodeSocket", "NodeSocket");
- RNA_def_struct_ui_text(srna, "Vector Node Socket", "Input or output socket of a node");
- RNA_def_struct_sdna(srna, "bNodeSocket");
- RNA_def_struct_ui_icon(srna, ICON_PLUG);
- RNA_def_struct_path_func(srna, "rna_NodeSocket_path");
-
- prop = RNA_def_property(srna, "default_value", PROP_FLOAT, PROP_XYZ);
- RNA_def_property_float_sdna(prop, NULL, "ns.vec");
- RNA_def_property_array(prop, 3);
- RNA_def_property_ui_text(prop, "Default Value", "Default value of the socket when no link is attached");
- RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
- RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocket_defvalue_range");
-}
-
-static void rna_def_node_socket_rgba(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
-
- srna = RNA_def_struct(brna, "RGBANodeSocket", "NodeSocket");
- RNA_def_struct_ui_text(srna, "RGBA Node Socket", "Input or output socket of a node");
- RNA_def_struct_sdna(srna, "bNodeSocket");
- RNA_def_struct_ui_icon(srna, ICON_PLUG);
- RNA_def_struct_path_func(srna, "rna_NodeSocket_path");
-
- prop = RNA_def_property(srna, "default_value", PROP_FLOAT, PROP_COLOR);
- RNA_def_property_float_sdna(prop, NULL, "ns.vec");
- RNA_def_property_array(prop, 4);
- RNA_def_property_ui_text(prop, "Default Value", "Default value of the socket when no link is attached");
- RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
- RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocket_defvalue_range");
+
+ switch (type) {
+ case SOCK_INT:
+ RNA_def_struct_sdna_from(srna, "bNodeSocketValueInt", "default_value");
+
+ prop = RNA_def_property(srna, "subtype", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "subtype");
+ RNA_def_property_enum_items(prop, subtype_items);
+ RNA_def_property_ui_text(prop, "Subtype", "Subtype defining the socket value details");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+
+ prop = RNA_def_property(srna, "default_value", PROP_INT, propsubtype);
+ RNA_def_property_int_sdna(prop, NULL, "value");
+ RNA_def_property_int_funcs(prop, NULL, NULL, "rna_NodeSocketInt_range");
+ RNA_def_property_ui_text(prop, "Default Value", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+ break;
+ case SOCK_FLOAT:
+ RNA_def_struct_sdna_from(srna, "bNodeSocketValueFloat", "default_value");
+
+ prop = RNA_def_property(srna, "subtype", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "subtype");
+ RNA_def_property_enum_items(prop, subtype_items);
+ RNA_def_property_ui_text(prop, "Subtype", "Subtype defining the socket value details");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+
+ prop = RNA_def_property(srna, "default_value", PROP_FLOAT, propsubtype);
+ RNA_def_property_float_sdna(prop, NULL, "value");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocketFloat_range");
+ RNA_def_property_ui_text(prop, "Default Value", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+ break;
+ case SOCK_BOOLEAN:
+ RNA_def_struct_sdna_from(srna, "bNodeSocketValueBoolean", "default_value");
+
+ prop = RNA_def_property(srna, "default_value", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "value", 1);
+ RNA_def_property_ui_text(prop, "Default Value", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+ break;
+ case SOCK_VECTOR:
+ RNA_def_struct_sdna_from(srna, "bNodeSocketValueVector", "default_value");
+
+ prop = RNA_def_property(srna, "subtype", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "subtype");
+ RNA_def_property_enum_items(prop, subtype_items);
+ RNA_def_property_ui_text(prop, "Subtype", "Subtype defining the socket value details");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+
+ prop = RNA_def_property(srna, "default_value", PROP_FLOAT, propsubtype);
+ RNA_def_property_float_sdna(prop, NULL, "value");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocketVector_range");
+ RNA_def_property_ui_text(prop, "Default Value", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+ break;
+ case SOCK_RGBA:
+ RNA_def_struct_sdna_from(srna, "bNodeSocketValueRGBA", "default_value");
+
+ prop = RNA_def_property(srna, "default_value", PROP_FLOAT, PROP_COLOR);
+ RNA_def_property_float_sdna(prop, NULL, "value");
+ RNA_def_property_ui_text(prop, "Default Value", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+ break;
+ }
}
static void rna_def_node(BlenderRNA *brna)
@@ -2623,6 +2782,11 @@ static void rna_def_node(BlenderRNA *brna)
RNA_def_property_string_funcs(prop, NULL, NULL, "rna_Node_name_set");
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+ prop = RNA_def_property(srna, "label", PROP_STRING, PROP_NONE);
+ RNA_def_property_string_sdna(prop, NULL, "label");
+ RNA_def_property_ui_text(prop, "Label", "Optional custom node label");
+ RNA_def_property_update(prop, NC_NODE, "rna_Node_update");
+
prop = RNA_def_property(srna, "inputs", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "inputs", NULL);
RNA_def_property_struct_type(prop, "NodeSocket");
@@ -2632,18 +2796,19 @@ static void rna_def_node(BlenderRNA *brna)
RNA_def_property_collection_sdna(prop, NULL, "outputs", NULL);
RNA_def_property_struct_type(prop, "NodeSocket");
RNA_def_property_ui_text(prop, "Outputs", "");
-
- prop = RNA_def_property(srna, "label", PROP_STRING, PROP_NONE);
- RNA_def_property_string_sdna(prop, NULL, "label");
- RNA_def_property_ui_text(prop, "Label", "Optional custom node label");
- RNA_def_property_update(prop, NC_NODE, "rna_Node_update");
+
+ prop = RNA_def_property(srna, "parent", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "parent");
+ RNA_def_property_struct_type(prop, "Node");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Parent", "Parent this node is attached to");
}
static void rna_def_node_link(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
-
+
srna = RNA_def_struct(brna, "NodeLink", NULL);
RNA_def_struct_ui_text(srna, "NodeLink", "Link between nodes in a node tree");
RNA_def_struct_sdna(srna, "bNodeLink");
@@ -2685,7 +2850,7 @@ static void rna_def_group_sockets_api(BlenderRNA *brna, PropertyRNA *cprop, int
RNA_def_function_ui_description(func, "Add a socket to the group tree.");
RNA_def_function_flag(func, FUNC_USE_REPORTS);
RNA_def_string(func, "name", "Socket", 32, "Name", "Name of the socket");
- RNA_def_enum(func, "type", node_socket_type_items, SOCK_VALUE, "Type", "Type of socket");
+ RNA_def_enum(func, "type", node_socket_type_items, SOCK_FLOAT, "Type", "Type of socket");
/* return value */
parm= RNA_def_pointer(func, "socket", "NodeSocket", "", "New socket.");
RNA_def_function_return(func, parm);
@@ -2706,12 +2871,6 @@ static void rna_def_nodetree(BlenderRNA *brna)
StructRNA *srna;
PropertyRNA *prop;
- static EnumPropertyItem nodetree_type_items[] = {
- {NTREE_SHADER, "SHADER", 0, "Shader", ""},
- {NTREE_COMPOSIT, "COMPOSITE", 0, "Composite", ""},
- {NTREE_TEXTURE, "TEXTURE", 0, "Texture", ""},
- {0, NULL, 0, NULL, NULL}};
-
srna = RNA_def_struct(brna, "NodeTree", "ID");
RNA_def_struct_ui_text(srna, "Node Tree", "Node tree consisting of linked nodes used for materials, textures and compositing");
RNA_def_struct_sdna(srna, "bNodeTree");
@@ -2734,6 +2893,7 @@ static void rna_def_nodetree(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_struct_type(prop, "GreasePencil");
RNA_def_property_ui_text(prop, "Grease Pencil Data", "Grease Pencil datablock");
+ RNA_def_property_update(prop, NC_NODE, NULL);
prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -2823,15 +2983,23 @@ void RNA_def_nodetree(BlenderRNA *brna)
{
init();
rna_def_nodetree(brna);
+
rna_def_node_socket(brna);
- rna_def_node_socket_value(brna);
- rna_def_node_socket_vector(brna);
- rna_def_node_socket_rgba(brna);
+
+ /* Generate RNA definitions for all socket subtypes */
+ #define SUBTYPE(socktype, stypename, id, idname) \
+ rna_def_node_socket_subtype(brna, SOCK_##socktype, PROP_##id, "NodeSocket"#stypename#idname, #idname" "#stypename" Node Socket");
+ NODE_DEFINE_SUBTYPES
+ #undef SUBTYPE
+ rna_def_node_socket_subtype(brna, SOCK_BOOLEAN, 0, "NodeSocketBoolean", "Boolean Node Socket");
+ rna_def_node_socket_subtype(brna, SOCK_RGBA, 0, "NodeSocketRGBA", "RGBA Node Socket");
+
rna_def_node(brna);
rna_def_node_link(brna);
rna_def_shader_node(brna);
rna_def_compositor_node(brna);
rna_def_texture_node(brna);
+
rna_def_composite_nodetree(brna);
rna_def_shader_nodetree(brna);
rna_def_texture_nodetree(brna);
@@ -2840,10 +3008,14 @@ void RNA_def_nodetree(BlenderRNA *brna)
#include "rna_nodetree_types.h"
- #undef DefNode
-
define_specific_node(brna, NODE_GROUP, def_group);
+ define_specific_node(brna, NODE_FORLOOP, def_forloop);
+ define_specific_node(brna, NODE_WHILELOOP, def_whileloop);
+ define_specific_node(brna, NODE_FRAME, def_frame);
}
+/* clean up macro definition */
+#undef NODE_DEFINE_SUBTYPES
+
#endif
diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h
index d48df85697a..a624d1d6403 100644
--- a/source/blender/makesrna/intern/rna_nodetree_types.h
+++ b/source/blender/makesrna/intern/rna_nodetree_types.h
@@ -26,7 +26,12 @@
* \ingroup RNA
*/
-
+
+/* Empty definitions for undefined macros to avoid warnings */
+#ifndef DefNode
+#define DefNode(Category, ID, DefFunc, EnumName, StructName, UIName, UIDesc)
+#endif
+
/* Tree type Node ID RNA def function Enum name Struct name UI Name UI Description */
DefNode( ShaderNode, SH_NODE_OUTPUT, 0, "OUTPUT", Output, "Output", "" )
DefNode( ShaderNode, SH_NODE_MATERIAL, def_sh_material, "MATERIAL", Material, "Material", "" )
@@ -138,3 +143,6 @@ DefNode( TextureNode, TEX_NODE_DECOMPOSE, 0, "DECOM
DefNode( TextureNode, TEX_NODE_VALTONOR, 0, "VALTONOR", ValToNor, "Val to Nor", "" )
DefNode( TextureNode, TEX_NODE_SCALE, 0, "SCALE", Scale, "Scale", "" )
+
+/* undefine macros */
+#undef DefNode
diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c
index 74b2103a198..571f8d36305 100644
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@ -115,6 +115,7 @@ EnumPropertyItem object_type_items[] = {
{0, "", 0, NULL, NULL},
{OB_CAMERA, "CAMERA", 0, "Camera", ""},
{OB_LAMP, "LAMP", 0, "Lamp", ""},
+ {OB_SPEAKER, "SPEAKER", 0, "Speaker", ""},
{0, NULL, 0, NULL, NULL}};
EnumPropertyItem object_type_curve_items[] = {
@@ -131,6 +132,7 @@ EnumPropertyItem object_type_curve_items[] = {
#include "DNA_key_types.h"
#include "DNA_constraint_types.h"
#include "DNA_lattice_types.h"
+#include "DNA_node_types.h"
#include "BKE_armature.h"
#include "BKE_bullet.h"
@@ -270,11 +272,16 @@ static void rna_Base_select_update(Main *UNUSED(bmain), Scene *UNUSED(scene), Po
static void rna_Object_layer_update__internal(Main *bmain, Scene *scene, Base *base, Object *ob)
{
/* try to avoid scene sort */
- if((ob->lay & scene->lay) && (base->lay & scene->lay)) {
+ if(scene == NULL) {
+ /* pass - unlikely but when running scripts on startup it happens */
+ }
+ else if((ob->lay & scene->lay) && (base->lay & scene->lay)) {
/* pass */
- } else if((ob->lay & scene->lay)==0 && (base->lay & scene->lay)==0) {
+ }
+ else if((ob->lay & scene->lay)==0 && (base->lay & scene->lay)==0) {
/* pass */
- } else {
+ }
+ else {
DAG_scene_sort(bmain, scene);
}
}
@@ -284,7 +291,7 @@ static void rna_Object_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr)
Object *ob= (Object*)ptr->id.data;
Base *base;
- base= object_in_scene(ob, scene);
+ base= scene ? object_in_scene(ob, scene) : NULL;
if(!base)
return;
@@ -360,6 +367,7 @@ static StructRNA *rna_Object_data_typef(PointerRNA *ptr)
case OB_CAMERA: return &RNA_Camera;
case OB_LATTICE: return &RNA_Lattice;
case OB_ARMATURE: return &RNA_Armature;
+ case OB_SPEAKER: return &RNA_Speaker;
default: return &RNA_ID;
}
}
@@ -478,7 +486,7 @@ static PointerRNA rna_Object_active_vertex_group_get(PointerRNA *ptr)
static int rna_Object_active_vertex_group_index_get(PointerRNA *ptr)
{
Object *ob= (Object*)ptr->id.data;
- return MAX2(ob->actdef-1, 0);
+ return ob->actdef-1;
}
static void rna_Object_active_vertex_group_index_set(PointerRNA *ptr, int value)
@@ -1030,8 +1038,13 @@ static void rna_Object_active_shape_key_index_range(PointerRNA *ptr, int *min, i
Key *key= ob_get_key(ob);
*min= 0;
- *max= (key)? BLI_countlist(&key->block)-1: 0;
- *max= MAX2(0, *max);
+ if(key) {
+ *max= BLI_countlist(&key->block)-1;
+ if(*max < 0) *max= 0;
+ }
+ else {
+ *max= 0;
+ }
}
static int rna_Object_active_shape_key_index_get(PointerRNA *ptr)
@@ -1842,7 +1855,6 @@ static void rna_def_object(BlenderRNA *brna)
prop= RNA_def_property(srna, "parent_vertices", PROP_INT, PROP_UNSIGNED);
RNA_def_property_int_sdna(prop, NULL, "par1");
RNA_def_property_array(prop, 3);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Parent Vertices", "Indices of vertices in cases of a vertex parenting relation");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, "rna_Object_internal_update");
@@ -2032,19 +2044,27 @@ static void rna_def_object(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Input Matrix", "Matrix access to location, rotation and scale (including deltas), before constraints and parenting are applied.");
RNA_def_property_float_funcs(prop, "rna_Object_matrix_basis_get", "rna_Object_matrix_basis_set", NULL);
RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_internal_update");
-
- /* collections */
- prop= RNA_def_property(srna, "constraints", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_struct_type(prop, "Constraint");
- RNA_def_property_ui_text(prop, "Constraints", "Constraints affecting the transformation of the object");
-// RNA_def_property_collection_funcs(prop, 0, 0, 0, 0, 0, 0, 0, "constraints__add", "constraints__remove");
- rna_def_object_constraints(brna, prop);
+ /*parent_inverse*/
+ prop= RNA_def_property(srna, "matrix_parent_inverse", PROP_FLOAT, PROP_MATRIX);
+ RNA_def_property_float_sdna(prop, NULL, "parentinv");
+ RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
+ RNA_def_property_ui_text(prop, "Matrix", "Inverse of object's parent matrix at time of parenting");
+ RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_internal_update");
+
+ /* modifiers */
prop= RNA_def_property(srna, "modifiers", PROP_COLLECTION, PROP_NONE);
RNA_def_property_struct_type(prop, "Modifier");
RNA_def_property_ui_text(prop, "Modifiers", "Modifiers affecting the geometric data of the object");
rna_def_object_modifiers(brna, prop);
+ /* constraints */
+ prop= RNA_def_property(srna, "constraints", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_struct_type(prop, "Constraint");
+ RNA_def_property_ui_text(prop, "Constraints", "Constraints affecting the transformation of the object");
+// RNA_def_property_collection_funcs(prop, 0, 0, 0, 0, 0, 0, 0, "constraints__add", "constraints__remove");
+ rna_def_object_constraints(brna, prop);
+
/* game engine */
prop= RNA_def_property(srna, "game", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
@@ -2281,12 +2301,12 @@ static void rna_def_object(BlenderRNA *brna)
prop= RNA_def_property(srna, "show_transparent", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "dtx", OB_DRAWTRANSP);
- RNA_def_property_ui_text(prop, "Draw Transparent", "Displays material transparency in the object");
+ RNA_def_property_ui_text(prop, "Draw Transparent", "Displays material transparency in the object (unsupported for duplicator drawing)");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
prop= RNA_def_property(srna, "show_x_ray", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "dtx", OB_DRAWXRAY);
- RNA_def_property_ui_text(prop, "X-Ray", "Makes the object draw in front of others");
+ RNA_def_property_ui_text(prop, "X-Ray", "Makes the object draw in front of others (unsupported for duplicator drawing)");
RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
/* Grease Pencil */
@@ -2295,6 +2315,7 @@ static void rna_def_object(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_struct_type(prop, "GreasePencil");
RNA_def_property_ui_text(prop, "Grease Pencil Data", "Grease Pencil datablock");
+ RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
/* pose */
prop= RNA_def_property(srna, "pose_library", PROP_POINTER, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c
index d6af04f2475..d48f1c93da8 100644
--- a/source/blender/makesrna/intern/rna_object_api.c
+++ b/source/blender/makesrna/intern/rna_object_api.c
@@ -45,7 +45,9 @@
// #include "ED_mesh.h"
+
#ifdef RNA_RUNTIME
+#include "BLI_math.h"
#include "BKE_main.h"
#include "BKE_global.h"
@@ -64,8 +66,6 @@
#include "BKE_mball.h"
#include "BKE_modifier.h"
-#include "BLI_math.h"
-
#include "DNA_mesh_types.h"
#include "DNA_scene_types.h"
#include "DNA_meshdata_types.h"
@@ -415,6 +415,41 @@ void rna_Object_ray_cast(Object *ob, ReportList *reports, float ray_start[3], fl
*index= -1;
}
+void rna_Object_closest_point_on_mesh(Object *ob, ReportList *reports, float point_co[3], float max_dist, float n_location[3], float n_normal[3], int *index)
+{
+ BVHTreeFromMesh treeData= {NULL};
+
+ if(ob->derivedFinal==NULL) {
+ BKE_reportf(reports, RPT_ERROR, "object \"%s\" has no mesh data to be used for finding nearest point.", ob->id.name+2);
+ return;
+ }
+
+ /* no need to managing allocation or freeing of the BVH data. this is generated and freed as needed */
+ bvhtree_from_mesh_faces(&treeData, ob->derivedFinal, 0.0f, 4, 6);
+
+ if(treeData.tree==NULL) {
+ BKE_reportf(reports, RPT_ERROR, "object \"%s\" could not create internal data for finding nearest point", ob->id.name+2);
+ return;
+ }
+ else {
+ BVHTreeNearest nearest;
+
+ nearest.index = -1;
+ nearest.dist = max_dist * max_dist;
+
+ if(BLI_bvhtree_find_nearest(treeData.tree, point_co, &nearest, treeData.nearest_callback, &treeData) != -1) {
+ copy_v3_v3(n_location, nearest.co);
+ copy_v3_v3(n_normal, nearest.no);
+ *index= nearest.index;
+ return;
+ }
+ }
+
+ zero_v3(n_location);
+ zero_v3(n_normal);
+ *index= -1;
+}
+
/* ObjectBase */
void rna_ObjectBase_layers_from_view(Base *base, View3D *v3d)
@@ -501,6 +536,28 @@ void RNA_api_object(StructRNA *srna)
parm= RNA_def_int(func, "index", 0, 0, 0, "", "The face index, -1 when no intersection is found.", 0, 0);
RNA_def_function_output(func, parm);
+ /* Nearest Point */
+ func= RNA_def_function(srna, "closest_point_on_mesh", "rna_Object_closest_point_on_mesh");
+ RNA_def_function_ui_description(func, "Find the nearest point on the object.");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS);
+
+ /* location of point for test and max distance */
+ parm= RNA_def_float_vector(func, "point", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ /* default is sqrt(FLT_MAX) */
+ RNA_def_float(func, "max_dist", 1.844674352395373e+19, 0.0, FLT_MAX, "", "", 0.0, FLT_MAX);
+
+ /* return location and normal */
+ parm= RNA_def_float_vector(func, "location", 3, NULL, -FLT_MAX, FLT_MAX, "Location", "The location on the object closest to the point", -1e4, 1e4);
+ RNA_def_property_flag(parm, PROP_THICK_WRAP);
+ RNA_def_function_output(func, parm);
+ parm= RNA_def_float_vector(func, "normal", 3, NULL, -FLT_MAX, FLT_MAX, "Normal", "The face normal at the closest point", -1e4, 1e4);
+ RNA_def_property_flag(parm, PROP_THICK_WRAP);
+ RNA_def_function_output(func, parm);
+
+ parm= RNA_def_int(func, "index", 0, 0, 0, "", "The face index, -1 when no closest point is found.", 0, 0);
+ RNA_def_function_output(func, parm);
+
/* View */
func= RNA_def_function(srna, "is_visible", "rna_Object_is_visible");
RNA_def_function_ui_description(func, "Determine if object is visible in a given scene.");
diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c
index 5d3c29b736b..490d9c38840 100644
--- a/source/blender/makesrna/intern/rna_object_force.c
+++ b/source/blender/makesrna/intern/rna_object_force.c
@@ -43,7 +43,7 @@
#include "WM_api.h"
#include "WM_types.h"
-EnumPropertyItem effector_shape_items[] = {
+static EnumPropertyItem effector_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{PFIELD_SHAPE_SURFACE, "SURFACE", 0, "Surface", ""},
@@ -51,20 +51,23 @@ EnumPropertyItem effector_shape_items[] = {
{0, NULL, 0, NULL, NULL}
};
-EnumPropertyItem curve_shape_items[] = {
+#ifdef RNA_RUNTIME
+
+/* type spesific return values only used from functions */
+static EnumPropertyItem curve_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{PFIELD_SHAPE_SURFACE, "SURFACE", 0, "Curve", ""},
{0, NULL, 0, NULL, NULL}
};
-EnumPropertyItem empty_shape_items[] = {
+static EnumPropertyItem empty_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{0, NULL, 0, NULL, NULL}
};
-EnumPropertyItem vortex_shape_items[] = {
+static EnumPropertyItem vortex_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{PFIELD_SHAPE_SURFACE, "SURFACE", 0, "Surface falloff (New)", ""},
@@ -72,21 +75,19 @@ EnumPropertyItem vortex_shape_items[] = {
{0, NULL, 0, NULL, NULL}
};
-EnumPropertyItem curve_vortex_shape_items[] = {
+static EnumPropertyItem curve_vortex_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{PFIELD_SHAPE_SURFACE, "SURFACE", 0, "Curve (New)", ""},
{0, NULL, 0, NULL, NULL}
};
-EnumPropertyItem empty_vortex_shape_items[] = {
+static EnumPropertyItem empty_vortex_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{0, NULL, 0, NULL, NULL}
};
-#ifdef RNA_RUNTIME
-
#include "MEM_guardedalloc.h"
#include "DNA_modifier_types.h"
@@ -770,7 +771,6 @@ static void rna_def_pointcache(BlenderRNA *brna)
prop= RNA_def_property(srna, "compression", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, point_cache_compress_items);
RNA_def_property_ui_text(prop, "Cache Compression", "Compression method to be used");
- RNA_def_property_update(prop, 0, NULL);
/* flags */
prop= RNA_def_property(srna, "is_baked", PROP_BOOLEAN, PROP_NONE);
@@ -910,13 +910,6 @@ static void rna_def_collision(BlenderRNA *brna)
RNA_def_property_range(prop, 0.0f, 1.0f);
RNA_def_property_ui_text(prop, "Damping", "Amount of damping during collision");
RNA_def_property_update(prop, 0, "rna_CollisionSettings_update");
-
- /* Does this belong here?
- prop= RNA_def_property(srna, "collision_stack", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "softflag", OB_SB_COLLFINAL);
- RNA_def_property_ui_text(prop, "Collision from Stack", "Pick collision object from modifier stack (softbody only)");
- RNA_def_property_update(prop, 0, "rna_CollisionSettings_update");
- */
prop= RNA_def_property(srna, "absorption", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_range(prop, 0.0f, 1.0f);
diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c
index 4913e98a0af..77fa975761f 100644
--- a/source/blender/makesrna/intern/rna_particle.c
+++ b/source/blender/makesrna/intern/rna_particle.c
@@ -33,6 +33,7 @@
#include "limits.h"
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "rna_internal.h"
@@ -1757,11 +1758,6 @@ static void rna_def_particle_settings(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Absolute Path Time", "Path timing is in absolute frames");
RNA_def_property_update(prop, 0, "rna_Particle_abspathtime_update");
- prop= RNA_def_property(srna, "lock_billboard", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "draw", PART_DRAW_BB_LOCK);
- RNA_def_property_ui_text(prop, "Lock Billboard", "Lock the billboards align axis");
- RNA_def_property_update(prop, 0, "rna_Particle_redo");
-
prop= RNA_def_property(srna, "use_parent_particles", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "draw", PART_DRAW_PARENT);
RNA_def_property_ui_text(prop, "Parents", "Render parent particles");
@@ -1910,6 +1906,11 @@ static void rna_def_particle_settings(BlenderRNA *brna)
RNA_def_property_update(prop, 0, "rna_Particle_redo_child");
/* billboards */
+ prop= RNA_def_property(srna, "lock_billboard", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "draw", PART_DRAW_BB_LOCK);
+ RNA_def_property_ui_text(prop, "Lock Billboard", "Lock the billboards align axis");
+ RNA_def_property_update(prop, 0, "rna_Particle_redo");
+
prop= RNA_def_property(srna, "billboard_align", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "bb_align");
RNA_def_property_enum_items(prop, bb_align_items);
@@ -1958,6 +1959,25 @@ static void rna_def_particle_settings(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Billboard Offset", "");
RNA_def_property_update(prop, 0, "rna_Particle_redo");
+ prop= RNA_def_property(srna, "billboard_size", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "bb_size");
+ RNA_def_property_array(prop, 2);
+ RNA_def_property_range(prop, 0.001f, 10.0f);
+ RNA_def_property_ui_text(prop, "Billboard Scale", "Scale billboards relative to particle size");
+ RNA_def_property_update(prop, 0, "rna_Particle_redo");
+
+ prop= RNA_def_property(srna, "billboard_velocity_head", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "bb_vel_head");
+ RNA_def_property_range(prop, 0.0f, 10.0f);
+ RNA_def_property_ui_text(prop, "Billboard Velocity Head", "Scale billboards by velocity");
+ RNA_def_property_update(prop, 0, "rna_Particle_redo");
+
+ prop= RNA_def_property(srna, "billboard_velocity_tail", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "bb_vel_tail");
+ RNA_def_property_range(prop, 0.0f, 10.0f);
+ RNA_def_property_ui_text(prop, "Billboard Velocity Tail", "Scale billboards by velocity");
+ RNA_def_property_update(prop, 0, "rna_Particle_redo");
+
/* simplification */
prop= RNA_def_property(srna, "use_simplify", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "simplify_flag", PART_SIMPLIFY_ENABLE);
diff --git a/source/blender/makesrna/intern/rna_pose.c b/source/blender/makesrna/intern/rna_pose.c
index 949415fbf29..0dd8218d1b9 100644
--- a/source/blender/makesrna/intern/rna_pose.c
+++ b/source/blender/makesrna/intern/rna_pose.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -45,6 +43,20 @@
#include "WM_types.h"
+
+
+// XXX: this RNA enum define is currently duplicated for objects, since there is some text here which is not applicable
+EnumPropertyItem posebone_rotmode_items[] = {
+ {ROT_MODE_QUAT, "QUATERNION", 0, "Quaternion (WXYZ)", "No Gimbal Lock (default)"},
+ {ROT_MODE_XYZ, "XYZ", 0, "XYZ Euler", "XYZ Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_XZY, "XZY", 0, "XZY Euler", "XZY Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_YXZ, "YXZ", 0, "YXZ Euler", "YXZ Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_YZX, "YZX", 0, "YZX Euler", "YZX Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_ZXY, "ZXY", 0, "ZXY Euler", "ZXY Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_ZYX, "ZYX", 0, "ZYX Euler", "ZYX Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_AXISANGLE, "AXIS_ANGLE", 0, "Axis Angle", "Axis Angle (W+XYZ). Defines a rotation around some axis defined by 3D-Vector"},
+ {0, NULL, 0, NULL, NULL}};
+
#ifdef RNA_RUNTIME
#include "BIK_api.h"
@@ -585,6 +597,25 @@ static void rna_PoseChannel_matrix_basis_set(PointerRNA *ptr, const float *value
pchan_apply_mat4(pchan, (float (*)[4])values, FALSE); /* no compat for predictable result */
}
+static void rna_PoseChannel_matrix_set(PointerRNA *ptr, const float *values)
+{
+ bPoseChannel *pchan= (bPoseChannel*)ptr->data;
+ Object *ob= (Object*)ptr->id.data;
+ float umat[4][4]= MAT4_UNITY;
+ float tmat[4][4];
+
+ /* recalculate pose matrix with only parent transformations,
+ * bone loc/sca/rot is ignored, scene and frame are not used. */
+ where_is_pose_bone(NULL, ob, pchan, 0.0f, FALSE);
+
+ /* find the matrix, need to remove the bone transforms first so this is
+ * calculated as a matrix to set rather then a difference ontop of whats
+ * already there. */
+ pchan_apply_mat4(pchan, umat, FALSE);
+ armature_mat_pose_to_bone(pchan, (float (*)[4])values, tmat);
+ pchan_apply_mat4(pchan, tmat, FALSE); /* no compat for predictable result */
+}
+
#else
static void rna_def_bone_group(BlenderRNA *brna)
@@ -698,19 +729,7 @@ static void rna_def_pose_channel_constraints(BlenderRNA *brna, PropertyRNA *cpro
}
static void rna_def_pose_channel(BlenderRNA *brna)
-{
- // XXX: this RNA enum define is currently duplicated for objects, since there is some text here which is not applicable
- static EnumPropertyItem prop_rotmode_items[] = {
- {ROT_MODE_QUAT, "QUATERNION", 0, "Quaternion (WXYZ)", "No Gimbal Lock (default)"},
- {ROT_MODE_XYZ, "XYZ", 0, "XYZ Euler", "XYZ Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_XZY, "XZY", 0, "XZY Euler", "XZY Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_YXZ, "YXZ", 0, "YXZ Euler", "YXZ Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_YZX, "YZX", 0, "YZX Euler", "YZX Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_ZXY, "ZXY", 0, "ZXY Euler", "ZXY Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_ZYX, "ZYX", 0, "ZYX Euler", "ZYX Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_AXISANGLE, "AXIS_ANGLE", 0, "Axis Angle", "Axis Angle (W+XYZ). Defines a rotation around some axis defined by 3D-Vector"},
- {0, NULL, 0, NULL, NULL}};
-
+{
static float default_quat[4] = {1,0,0,0}; /* default quaternion values */
static float default_axisAngle[4] = {0,0,1,0}; /* default axis-angle rotation values */
static float default_scale[3] = {1,1,1}; /* default scale values */
@@ -788,7 +807,7 @@ static void rna_def_pose_channel(BlenderRNA *brna)
* having a single one is better for Keyframing and other property-management situations...
*/
prop= RNA_def_property(srna, "rotation_axis_angle", PROP_FLOAT, PROP_AXISANGLE);
- RNA_def_property_array(prop, 4); // TODO: maybe we'll need to define the 'default value' getter too...
+ RNA_def_property_array(prop, 4);
RNA_def_property_float_funcs(prop, "rna_PoseChannel_rotation_axis_angle_get", "rna_PoseChannel_rotation_axis_angle_set", NULL);
RNA_def_property_editable_array_func(prop, "rna_PoseChannel_rotation_4d_editable");
RNA_def_property_float_array_default(prop, default_axisAngle);
@@ -805,7 +824,7 @@ static void rna_def_pose_channel(BlenderRNA *brna)
prop= RNA_def_property(srna, "rotation_mode", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "rotmode");
- RNA_def_property_enum_items(prop, prop_rotmode_items); // XXX move to using a single define of this someday
+ RNA_def_property_enum_items(prop, posebone_rotmode_items); // XXX move to using a single define of this someday
RNA_def_property_enum_funcs(prop, NULL, "rna_PoseChannel_rotation_mode_set", NULL);
RNA_def_property_editable_func(prop, "rna_PoseChannel_proxy_editable"); // XXX... disabled, since proxy-locked layers are currently used for ensuring proxy-syncing too
RNA_def_property_ui_text(prop, "Rotation Mode", "");
@@ -830,8 +849,9 @@ static void rna_def_pose_channel(BlenderRNA *brna)
prop= RNA_def_property(srna, "matrix", PROP_FLOAT, PROP_MATRIX);
RNA_def_property_float_sdna(prop, NULL, "pose_mat");
RNA_def_property_multi_array(prop, 2, matrix_dimsize);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_float_funcs(prop, NULL, "rna_PoseChannel_matrix_set", NULL);
RNA_def_property_ui_text(prop, "Pose Matrix", "Final 4x4 matrix after constraints and drivers are applied (object space)");
+ RNA_def_property_update(prop, NC_OBJECT|ND_POSE, "rna_Pose_update");
/* Head/Tail Coordinates (in Pose Space) - Automatically calculated... */
prop= RNA_def_property(srna, "head", PROP_FLOAT, PROP_TRANSLATION);
diff --git a/source/blender/makesrna/intern/rna_render.c b/source/blender/makesrna/intern/rna_render.c
index 6638a9d76d3..e3e3296cb70 100644
--- a/source/blender/makesrna/intern/rna_render.c
+++ b/source/blender/makesrna/intern/rna_render.c
@@ -32,6 +32,7 @@
#include "DNA_scene_types.h"
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "rna_internal.h"
@@ -271,6 +272,12 @@ static void rna_def_render_engine(BlenderRNA *brna)
prop= RNA_def_string(func, "info", "", 0, "Info", "");
RNA_def_property_flag(prop, PROP_REQUIRED);
+ func= RNA_def_function(srna, "report", "RE_engine_report");
+ prop= RNA_def_enum_flag(func, "type", wm_report_items, 0, "Type", "");
+ RNA_def_property_flag(prop, PROP_REQUIRED);
+ prop= RNA_def_string(func, "message", "", 0, "Report Message", "");
+ RNA_def_property_flag(prop, PROP_REQUIRED);
+
/* registration */
RNA_define_verify_sdna(0);
@@ -381,6 +388,7 @@ static void rna_def_render_pass(BlenderRNA *brna)
{SCE_PASS_MIST, "MIST", 0, "Mist", ""},
{SCE_PASS_EMIT, "EMIT", 0, "Emit", ""},
{SCE_PASS_ENVIRONMENT, "ENVIRONMENT", 0, "Environment", ""},
+ {SCE_PASS_INDEXMA, "MATERIAL_INDEX", 0, "Material Index", ""},
{0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "RenderPass", NULL);
diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c
index b4da3a02442..7f85a2fa1d7 100644
--- a/source/blender/makesrna/intern/rna_rna.c
+++ b/source/blender/makesrna/intern/rna_rna.c
@@ -46,6 +46,42 @@ EnumPropertyItem property_type_items[] = {
{PROP_COLLECTION, "COLLECTION", 0, "Collection", ""},
{0, NULL, 0, NULL, NULL}};
+EnumPropertyItem property_subtype_items[] = {
+ {PROP_NONE, "NONE", 0, "None", ""},
+
+ /* strings */
+ {PROP_FILEPATH, "FILEPATH", 0, "File Path", ""},
+ {PROP_DIRPATH, "DIRPATH", 0, "Directory Path", ""},
+ {PROP_FILENAME, "FILENAME", 0, "File Name", ""},
+
+ /* numbers */
+ {PROP_UNSIGNED, "UNSIGNED", 0, "Unsigned", ""},
+ {PROP_PERCENTAGE, "PERCENTAGE", 0, "Percentage", ""},
+ {PROP_FACTOR, "FACTOR", 0, "Factor", ""},
+ {PROP_ANGLE, "ANGLE", 0, "Angle", ""},
+ {PROP_TIME, "TIME", 0, "Time", ""},
+ {PROP_DISTANCE, "DISTANCE", 0, "Distance", ""},
+
+ /* number arrays */
+ {PROP_COLOR, "COLOR", 0, "Color", ""},
+ {PROP_TRANSLATION, "TRANSLATION", 0, "Translation", ""},
+ {PROP_DIRECTION, "DIRECTION", 0, "Direction", ""},
+ {PROP_VELOCITY, "VELOCITY", 0, "Velocity", ""},
+ {PROP_ACCELERATION, "ACCELERATION", 0, "Acceleration", ""},
+ {PROP_MATRIX, "MATRIX", 0, "Matrix", ""},
+ {PROP_EULER, "EULER", 0, "Euler Angles", ""},
+ {PROP_QUATERNION, "QUATERNION", 0, "Quaternion", ""},
+ {PROP_AXISANGLE, "AXISANGLE", 0, "Axis-Angle", ""},
+ {PROP_XYZ, "XYZ", 0, "XYZ", ""},
+ {PROP_XYZ_LENGTH, "XYZ_LENGTH", 0, "XYZ Length", ""},
+ {PROP_COLOR_GAMMA, "COLOR_GAMMA", 0, "Color", ""},
+ {PROP_COORDS, "COORDS", 0, "Coordinates", ""},
+
+ /* booleans */
+ {PROP_LAYER, "LAYER", 0, "Layer", ""},
+ {PROP_LAYER_MEMBER, "LAYER_MEMBER", 0, "Layer Member", ""},
+ {0, NULL, 0, NULL, NULL}};
+
EnumPropertyItem property_unit_items[] = {
{PROP_UNIT_NONE, "NONE", 0, "None", ""},
{PROP_UNIT_LENGTH, "LENGTH", 0, "Length", ""},
@@ -1067,7 +1103,7 @@ static void rna_def_property(BlenderRNA *brna)
prop= RNA_def_property(srna, "is_runtime", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_boolean_funcs(prop, "rna_Property_runtime_get", NULL);
- RNA_def_property_ui_text(prop, "Read Only", "Property is editable through RNA");
+ RNA_def_property_ui_text(prop, "Runtime", "Property has been dynamically created at runtime");
prop= RNA_def_property(srna, "is_enum_flag", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 8018fab3999..197ddd2ba06 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -46,7 +46,9 @@
#ifdef WITH_QUICKTIME
#include "quicktime_export.h"
-#include "AUD_C-API.h"
+# ifdef WITH_AUDASPACE
+# include "AUD_Space.h"
+# endif
#endif
#ifdef WITH_FFMPEG
@@ -134,7 +136,9 @@ EnumPropertyItem image_type_items[] = {
#endif
{R_AVIJPEG, "AVI_JPEG", ICON_FILE_MOVIE, "AVI JPEG", "Output video in AVI JPEG format"},
{R_AVIRAW, "AVI_RAW", ICON_FILE_MOVIE, "AVI Raw", "Output video in AVI Raw format"},
+#ifdef WITH_FRAMESERVER
{R_FRAMESERVER, "FRAMESERVER", ICON_FILE_SCRIPT, "Frame Server", "Output image to a frameserver"},
+#endif
#ifdef WITH_FFMPEG
{R_H264, "H264", ICON_FILE_MOVIE, "H.264", "Output video in H.264 format"},
{R_FFMPEG, "FFMPEG", ICON_FILE_MOVIE, "MPEG", "Output video in MPEG format"},
@@ -152,6 +156,12 @@ EnumPropertyItem image_type_items[] = {
#endif
{0, NULL, 0, NULL, NULL}};
+EnumPropertyItem image_color_mode_items[] ={
+ {R_PLANESBW, "BW", 0, "BW", "Images get saved in 8 bits grayscale (only PNG, JPEG, TGA, TIF)"},
+ {R_PLANES24, "RGB", 0, "RGB", "Images are saved with RGB (color) data"},
+ {R_PLANES32, "RGBA", 0, "RGBA", "Images are saved with RGB and Alpha data (if supported)"},
+ {0, NULL, 0, NULL, NULL}};
+
#ifdef RNA_RUNTIME
#include "DNA_anim_types.h"
@@ -179,6 +189,7 @@ EnumPropertyItem image_type_items[] = {
#include "BKE_mesh.h"
#include "BKE_sound.h"
#include "BKE_screen.h"
+#include "BKE_sequencer.h"
#include "BKE_animsys.h"
#include "WM_api.h"
@@ -329,6 +340,26 @@ static void rna_Scene_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr)
DAG_on_visible_update(bmain, FALSE);
}
+static void rna_Scene_fps_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
+{
+ sound_update_fps(scene);
+ seq_update_sound_bounds_all(scene);
+}
+
+static void rna_Scene_listener_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
+{
+ sound_update_scene_listener(scene);
+}
+
+static void rna_Scene_volume_set(PointerRNA *ptr, float value)
+{
+ Scene *scene= (Scene*)(ptr->data);
+
+ scene->audio.volume = value;
+ if(scene->sound_scene)
+ sound_set_scene_volume(scene, value);
+}
+
static void rna_Scene_framelen_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
{
scene->r.framelen= (float)scene->r.framapto/(float)scene->r.images;
@@ -409,11 +440,10 @@ static void rna_Scene_preview_range_end_frame_set(PointerRNA *ptr, int value)
data->r.pefra= value;
}
-static void rna_Scene_frame_update(bContext *C, PointerRNA *UNUSED(ptr))
+static void rna_Scene_frame_update(Main *bmain, Scene *UNUSED(current_scene), PointerRNA *ptr)
{
- //Scene *scene= ptr->id.data;
- //ED_update_for_newframe(C);
- sound_seek_scene(C);
+ Scene *scene= (Scene*)ptr->id.data;
+ sound_seek_scene(bmain, scene);
}
static PointerRNA rna_Scene_active_keying_set_get(PointerRNA *ptr)
@@ -697,8 +727,8 @@ static void rna_RenderSettings_active_layer_set(PointerRNA *ptr, PointerRNA valu
{
RenderData *rd= (RenderData*)ptr->data;
SceneRenderLayer *srl= (SceneRenderLayer*)value.data;
-
- rd->actlay = BLI_findindex(&rd->layers, srl);
+ const int index= BLI_findindex(&rd->layers, srl);
+ if (index != -1) rd->actlay= index;
}
static void rna_RenderSettings_engine_set(PointerRNA *ptr, int value)
@@ -988,9 +1018,8 @@ static TimeMarker *rna_TimeLine_add(Scene *scene, const char name[])
static void rna_TimeLine_remove(Scene *scene, ReportList *reports, TimeMarker *marker)
{
- /* try to remove the F-Curve from the action */
if (!BLI_remlink_safe(&scene->markers, marker)) {
- BKE_reportf(reports, RPT_ERROR, "TimelineMarker '%s' not found in action '%s'", marker->name, scene->id.name+2);
+ BKE_reportf(reports, RPT_ERROR, "TimelineMarker '%s' not found in scene '%s'", marker->name, scene->id.name+2);
return;
}
@@ -1048,10 +1077,14 @@ static void rna_def_tool_settings(BlenderRNA *brna)
{UV_SELECT_FACE, "FACE", ICON_UV_FACESEL, "Face", "Face selection mode"},
{UV_SELECT_ISLAND, "ISLAND", ICON_UV_ISLANDSEL, "Island", "Island selection mode"},
{0, NULL, 0, NULL, NULL}};
-
+
+ /* the construction of this enum is quite special - everything is stored as bitflags,
+ * with 1st position only for for on/off (and exposed as boolean), while others are mutually
+ * exclusive options but which will only have any effect when autokey is enabled
+ */
static EnumPropertyItem auto_key_items[] = {
- {AUTOKEY_MODE_NORMAL, "ADD_REPLACE_KEYS", 0, "Add & Replace", ""},
- {AUTOKEY_MODE_EDITKEYS, "REPLACE_KEYS", 0, "Replace", ""},
+ {AUTOKEY_MODE_NORMAL & ~AUTOKEY_ON, "ADD_REPLACE_KEYS", 0, "Add & Replace", ""},
+ {AUTOKEY_MODE_EDITKEYS & ~AUTOKEY_ON, "REPLACE_KEYS", 0, "Replace", ""},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem retarget_roll_items[] = {
@@ -1174,6 +1207,12 @@ static void rna_def_tool_settings(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Project Individual Elements", "Project individual elements on the surface of other objects");
RNA_def_property_ui_icon(prop, ICON_RETOPO, 0);
RNA_def_property_update(prop, NC_SCENE|ND_TOOLSETTINGS, NULL); /* header redraw */
+
+ prop= RNA_def_property(srna, "use_snap_self", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "snap_flag", SCE_SNAP_NO_SELF);
+ RNA_def_property_ui_text(prop, "Project to Self", "Snap onto its self (editmode)");
+ RNA_def_property_ui_icon(prop, ICON_ORTHO, 0);
+ RNA_def_property_update(prop, NC_SCENE|ND_TOOLSETTINGS, NULL); /* header redraw */
/* Grease Pencil */
prop = RNA_def_property(srna, "use_grease_pencil_sessions", PROP_BOOLEAN, PROP_NONE);
@@ -1188,7 +1227,7 @@ static void rna_def_tool_settings(BlenderRNA *brna)
RNA_def_property_ui_icon(prop, ICON_REC, 0);
prop= RNA_def_property(srna, "auto_keying_mode", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "autokey_mode");
+ RNA_def_property_enum_bitflag_sdna(prop, NULL, "autokey_mode");
RNA_def_property_enum_items(prop, auto_key_items);
RNA_def_property_ui_text(prop, "Auto-Keying Mode", "Mode of automatic keyframe insertion for Objects and Bones");
@@ -1199,7 +1238,7 @@ static void rna_def_tool_settings(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_keyframe_insert_keyingset", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "autokey_flag", AUTOKEY_FLAG_ONLYKEYINGSET);
RNA_def_property_ui_text(prop, "Auto Keyframe Insert Keying Set", "Automatic keyframe insertion using active Keying Set only");
- RNA_def_property_ui_icon(prop, ICON_KEY_HLT, 0); // XXX: we need a dedicated icon
+ RNA_def_property_ui_icon(prop, ICON_KEYINGSET, 0);
/* UV */
prop= RNA_def_property(srna, "uv_select_mode", PROP_ENUM, PROP_NONE);
@@ -1400,7 +1439,7 @@ void rna_def_render_layer_common(StructRNA *srna, int scene)
prop= RNA_def_property(srna, "layers_zmask", PROP_BOOLEAN, PROP_LAYER);
RNA_def_property_boolean_sdna(prop, NULL, "lay_zmask", 1);
RNA_def_property_array(prop, 20);
- RNA_def_property_ui_text(prop, "Zmask Layers", "Zmask scene layers");
+ RNA_def_property_ui_text(prop, "Zmask Layers", "Zmask scene layers for solid faces");
if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1508,6 +1547,12 @@ void rna_def_render_layer_common(StructRNA *srna, int scene)
if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ prop= RNA_def_property(srna, "use_pass_material_index", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "passflag", SCE_PASS_INDEXMA);
+ RNA_def_property_ui_text(prop, "Material Index", "Deliver material index pass");
+ if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_SceneRenderLayer_pass_update");
+ else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+
prop= RNA_def_property(srna, "use_pass_color", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "passflag", SCE_PASS_RGBA);
RNA_def_property_ui_text(prop, "Color", "Deliver shade-less color pass");
@@ -1976,6 +2021,10 @@ static void rna_def_scene_game_data(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_auto_start", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_funcs(prop, "rna_GameSettings_auto_start_get", "rna_GameSettings_auto_start_set");
RNA_def_property_ui_text(prop, "Auto Start", "Automatically start game at load time");
+
+ prop= RNA_def_property(srna, "restrict_animation_updates", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", GAME_RESTRICT_ANIM_UPDATES);
+ RNA_def_property_ui_text(prop, "Restrict Animation Updates", "Restrict the number of animation updates to the animation FPS. This is better for performance, but can cause issues with smooth playback.");
/* materials */
prop= RNA_def_property(srna, "material_mode", PROP_ENUM, PROP_NONE);
@@ -2081,7 +2130,7 @@ static void rna_def_render_layers(BlenderRNA *brna, PropertyRNA *cprop)
prop= RNA_def_property(srna, "active", PROP_POINTER, PROP_UNSIGNED);
RNA_def_property_struct_type(prop, "SceneRenderLayer");
RNA_def_property_pointer_funcs(prop, "rna_RenderSettings_active_layer_get", "rna_RenderSettings_active_layer_set", NULL, NULL);
- RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_flag(prop, PROP_EDITABLE|PROP_NEVER_NULL);
RNA_def_property_ui_text(prop, "Active Render Layer", "Active Render Layer");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
@@ -2107,13 +2156,7 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
{R_ALPHAPREMUL, "PREMUL", 0, "Premultiplied", "Transparent RGB pixels are multiplied by the alpha channel"},
{R_ALPHAKEY, "STRAIGHT", 0, "Straight Alpha", "Transparent RGB and alpha pixels are unmodified"},
{0, NULL, 0, NULL, NULL}};
-
- static EnumPropertyItem color_mode_items[] ={
- {R_PLANESBW, "BW", 0, "BW", "Images get saved in 8 bits grayscale (only PNG, JPEG, TGA, TIF)"},
- {R_PLANES24, "RGB", 0, "RGB", "Images are saved with RGB (color) data"},
- {R_PLANES32, "RGBA", 0, "RGBA", "Images are saved with RGB and Alpha data (if supported)"},
- {0, NULL, 0, NULL, NULL}};
-
+
static EnumPropertyItem display_mode_items[] ={
{R_OUTPUT_SCREEN, "SCREEN", 0, "Full Screen", "Images are rendered in full Screen"},
{R_OUTPUT_AREA, "AREA", 0, "Image Editor", "Images are rendered in Image Editor"},
@@ -2290,6 +2333,14 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
{0, NULL, 0, NULL, NULL}};
#endif
+ static EnumPropertyItem audio_channel_items[] = {
+ {1, "MONO", 0, "Mono", "Set audio channels to mono"},
+ {2, "STEREO", 0, "Stereo", "Set audio channels to stereo"},
+ {4, "SURROUND4", 0, "4 Channels", "Set audio channels to 4 channels"},
+ {6, "SURROUND51", 0, "5.1 Surround", "Set audio channels to 5.1 surround sound"},
+ {8, "SURROUND71", 0, "7.1 Surround", "Set audio channels to 7.1 surround sound"},
+ {0, NULL, 0, NULL, NULL}};
+
static EnumPropertyItem engine_items[] = {
{0, "BLENDER_RENDER", 0, "Blender Render", "Use the Blender internal rendering engine for rendering"},
{0, NULL, 0, NULL, NULL}};
@@ -2302,7 +2353,7 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
prop= RNA_def_property(srna, "color_mode", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_bitflag_sdna(prop, NULL, "planes");
- RNA_def_property_enum_items(prop, color_mode_items);
+ RNA_def_property_enum_items(prop, image_color_mode_items);
RNA_def_property_ui_text(prop, "Color Mode", "Choose BW for saving greyscale images, RGB for saving red, green and blue channels, AND RGBA for saving red, green, blue + alpha channels");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
@@ -2560,43 +2611,53 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
/* FFMPEG Audio*/
prop= RNA_def_property(srna, "ffmpeg_audio_codec", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_bitflag_sdna(prop, NULL, "ffcodecdata.audio_codec");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_enum_items(prop, ffmpeg_audio_codec_items);
RNA_def_property_ui_text(prop, "Audio Codec", "FFMpeg audio codec to use");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
prop= RNA_def_property(srna, "ffmpeg_audio_bitrate", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "ffcodecdata.audio_bitrate");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 32, 384);
RNA_def_property_ui_text(prop, "Bitrate", "Audio bitrate(kb/s)");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
- prop= RNA_def_property(srna, "ffmpeg_audio_mixrate", PROP_INT, PROP_NONE);
- RNA_def_property_int_sdna(prop, NULL, "ffcodecdata.audio_mixrate");
- RNA_def_property_range(prop, 8000, 192000);
- RNA_def_property_ui_text(prop, "Samplerate", "Audio samplerate(samples/s)");
- RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
-
prop= RNA_def_property(srna, "ffmpeg_audio_volume", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "ffcodecdata.audio_volume");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 0.0f, 1.0f);
RNA_def_property_ui_text(prop, "Volume", "Audio volume");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
-
#endif
+ // the following two "ffmpeg" settings are general audio settings
+ prop= RNA_def_property(srna, "ffmpeg_audio_mixrate", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "ffcodecdata.audio_mixrate");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 8000, 192000);
+ RNA_def_property_ui_text(prop, "Samplerate", "Audio samplerate(samples/s)");
+ RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
+
+ prop= RNA_def_property(srna, "ffmpeg_audio_channels", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "ffcodecdata.audio_channels");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_enum_items(prop, audio_channel_items);
+ RNA_def_property_ui_text(prop, "Audio Channels", "Sets the audio channel count");
+
prop= RNA_def_property(srna, "fps", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "frs_sec");
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 1, 120);
RNA_def_property_ui_text(prop, "FPS", "Framerate, expressed in frames per second");
- RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
+ RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_Scene_fps_update");
prop= RNA_def_property(srna, "fps_base", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "frs_sec_base");
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 0.1f, 120.0f);
RNA_def_property_ui_text(prop, "FPS Base", "Framerate base");
- RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
+ RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_Scene_fps_update");
/* frame mapping */
prop= RNA_def_property(srna, "frame_map_old", PROP_INT, PROP_NONE);
@@ -2923,7 +2984,7 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
prop= RNA_def_property(srna, "bake_margin", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "bake_filter");
- RNA_def_property_range(prop, 0, 32);
+ RNA_def_property_range(prop, 0, 64);
RNA_def_property_ui_text(prop, "Margin", "Amount of pixels to extend the baked result with, as post process filter");
prop= RNA_def_property(srna, "bake_distance", PROP_FLOAT, PROP_NONE);
@@ -3359,8 +3420,7 @@ void RNA_def_scene(BlenderRNA *brna)
RNA_def_property_int_sdna(prop, NULL, "r.cfra");
RNA_def_property_range(prop, MINAFRAME, MAXFRAME);
RNA_def_property_int_funcs(prop, NULL, "rna_Scene_current_frame_set", NULL);
- RNA_def_property_ui_text(prop, "Current Frame", "Current Frame");
- RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
+ RNA_def_property_ui_text(prop, "Current Frame", "Current Frame, to update animation data from python frame_set() instead");
RNA_def_property_update(prop, NC_SCENE|ND_FRAME, "rna_Scene_frame_update");
prop= RNA_def_property(srna, "frame_subframe", PROP_FLOAT, PROP_TIME);
@@ -3535,21 +3595,31 @@ void RNA_def_scene(BlenderRNA *brna)
prop= RNA_def_property(srna, "audio_doppler_speed", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "audio.speed_of_sound");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 0.01f, FLT_MAX);
RNA_def_property_ui_text(prop, "Speed of Sound", "Speed of sound for Doppler effect calculation");
- RNA_def_property_update(prop, NC_SCENE, NULL);
+ RNA_def_property_update(prop, NC_SCENE, "rna_Scene_listener_update");
prop= RNA_def_property(srna, "audio_doppler_factor", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "audio.doppler_factor");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 0.0, FLT_MAX);
RNA_def_property_ui_text(prop, "Doppler Factor", "Pitch factor for Doppler effect calculation");
- RNA_def_property_update(prop, NC_SCENE, NULL);
+ RNA_def_property_update(prop, NC_SCENE, "rna_Scene_listener_update");
prop= RNA_def_property(srna, "audio_distance_model", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_bitflag_sdna(prop, NULL, "audio.distance_model");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_enum_items(prop, audio_distance_model_items);
RNA_def_property_ui_text(prop, "Distance Model", "Distance model for distance attenuation calculation");
+ RNA_def_property_update(prop, NC_SCENE, "rna_Scene_listener_update");
+
+ prop= RNA_def_property(srna, "audio_volume", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "audio.volume");
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Volume", "Audio volume");
RNA_def_property_update(prop, NC_SCENE, NULL);
+ RNA_def_property_float_funcs(prop, NULL, "rna_Scene_volume_set", NULL);
/* Game Settings */
prop= RNA_def_property(srna, "game_settings", PROP_POINTER, PROP_NONE);
@@ -3569,6 +3639,7 @@ void RNA_def_scene(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_struct_type(prop, "GreasePencil");
RNA_def_property_ui_text(prop, "Grease Pencil Data", "Grease Pencil datablock");
+ RNA_def_property_update(prop, NC_SCENE, NULL);
/* Transform Orientations */
prop= RNA_def_property(srna, "orientations", PROP_COLLECTION, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_scene_api.c b/source/blender/makesrna/intern/rna_scene_api.c
index c2194636cd3..fd7987c18a2 100644
--- a/source/blender/makesrna/intern/rna_scene_api.c
+++ b/source/blender/makesrna/intern/rna_scene_api.c
@@ -85,9 +85,9 @@ static void rna_SceneRender_get_frame_path(RenderData *rd, int frame, char *name
/* don't remove this, as COLLADA exporting cannot be done through operators in render() callback. */
#include "../../collada/collada.h"
-static void rna_Scene_collada_export(Scene *scene, const char *filepath)
+static void rna_Scene_collada_export(Scene *scene, const char *filepath, int selected)
{
- collada_export(scene, filepath);
+ collada_export(scene, filepath, selected);
}
#endif
@@ -111,7 +111,8 @@ void RNA_api_scene(StructRNA *srna)
#ifdef WITH_COLLADA
/* don't remove this, as COLLADA exporting cannot be done through operators in render() callback. */
func= RNA_def_function(srna, "collada_export", "rna_Scene_collada_export");
- parm= RNA_def_string(func, "filepath", "", FILE_MAX, "File Path", "File path to write Collada file.");
+ RNA_def_string(func, "filepath", "", FILE_MAX, "File Path", "File path to write Collada file.");
+ parm= RNA_def_boolean(func, "selected", 0, "Export only selected", "Export only selected elements.");
RNA_def_property_flag(parm, PROP_REQUIRED);
RNA_def_property_subtype(parm, PROP_FILEPATH); /* allow non utf8 */
RNA_def_function_ui_description(func, "Export to collada file.");
diff --git a/source/blender/makesrna/intern/rna_screen.c b/source/blender/makesrna/intern/rna_screen.c
index be4adb405e2..59707f05e6f 100644
--- a/source/blender/makesrna/intern/rna_screen.c
+++ b/source/blender/makesrna/intern/rna_screen.c
@@ -68,13 +68,13 @@ static void rna_Screen_scene_set(PointerRNA *ptr, PointerRNA value)
sc->newscene= value.data;
}
-static void rna_Screen_scene_update(bContext *C, PointerRNA *ptr)
+static void rna_Screen_scene_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
bScreen *sc= (bScreen*)ptr->data;
/* exception: can't set screens inside of area/region handers */
if(sc->newscene) {
- WM_event_add_notifier(C, NC_SCENE|ND_SCENEBROWSE, sc->newscene);
+ WM_main_add_notifier(NC_SCENE|ND_SCENEBROWSE, sc->newscene);
sc->newscene= NULL;
}
}
@@ -231,7 +231,6 @@ static void rna_def_screen(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE|PROP_NEVER_NULL);
RNA_def_property_pointer_funcs(prop, NULL, "rna_Screen_scene_set", NULL, NULL);
RNA_def_property_ui_text(prop, "Scene", "Active scene to be edited in the screen");
- RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_update(prop, 0, "rna_Screen_scene_update");
/* collections */
diff --git a/source/blender/makesrna/intern/rna_sensor.c b/source/blender/makesrna/intern/rna_sensor.c
index 5cc8539f187..1f64603d6b4 100644
--- a/source/blender/makesrna/intern/rna_sensor.c
+++ b/source/blender/makesrna/intern/rna_sensor.c
@@ -803,7 +803,7 @@ static void rna_def_joystick_sensor(BlenderRNA *brna)
prop= RNA_def_property(srna, "axis_number", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "axis");
RNA_def_property_ui_text(prop, "Axis Number", "Specify which axis pair to use, 1 is usually the main direction input");
- RNA_def_property_range(prop, 1, 2);
+ RNA_def_property_range(prop, 1, 8);
RNA_def_property_update(prop, NC_LOGIC, NULL);
prop= RNA_def_property(srna, "axis_threshold", PROP_INT, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c
index 4171189d928..627c2274965 100644
--- a/source/blender/makesrna/intern/rna_sequencer.c
+++ b/source/blender/makesrna/intern/rna_sequencer.c
@@ -43,6 +43,7 @@
#include "BKE_animsys.h"
#include "BKE_global.h"
#include "BKE_sequencer.h"
+#include "BKE_sound.h"
#include "MEM_guardedalloc.h"
@@ -51,16 +52,6 @@
#ifdef RNA_RUNTIME
-static float to_dB(float x)
-{
- return logf(x * x + 1e-30f) * 4.34294480f;
-}
-
-static float from_dB(float x)
-{
- return expf(x * 0.11512925f);
-}
-
/* build a temp referene to the parent */
static void meta_tmp_ref(Sequence *seq_par, Sequence *seq)
{
@@ -245,6 +236,10 @@ static void rna_Sequence_use_proxy_set(PointerRNA *ptr, int value)
seq->flag |= SEQ_USE_PROXY;
if(seq->strip->proxy == NULL) {
seq->strip->proxy = MEM_callocN(sizeof(struct StripProxy), "StripProxy");
+ seq->strip->proxy->quality = 90;
+ seq->strip->proxy->build_tc_flags = SEQ_PROXY_TC_ALL;
+ seq->strip->proxy->build_size_flags
+ = SEQ_PROXY_IMAGE_SIZE_25;
}
} else {
seq->flag ^= SEQ_USE_PROXY;
@@ -511,18 +506,31 @@ static int rna_Sequence_proxy_filepath_length(PointerRNA *ptr)
return strlen(path)+1;
}
-static float rna_Sequence_attenuation_get(PointerRNA *ptr)
+static void rna_Sequence_volume_set(PointerRNA *ptr, float value)
+{
+ Sequence *seq= (Sequence*)(ptr->data);
+
+ seq->volume = value;
+ if(seq->scene_sound)
+ sound_set_scene_sound_volume(seq->scene_sound, value, (seq->flag & SEQ_AUDIO_VOLUME_ANIMATED) != 0);
+}
+
+static void rna_Sequence_pitch_set(PointerRNA *ptr, float value)
{
Sequence *seq= (Sequence*)(ptr->data);
- return to_dB(seq->volume);
+ seq->pitch = value;
+ if(seq->scene_sound)
+ sound_set_scene_sound_pitch(seq->scene_sound, value, (seq->flag & SEQ_AUDIO_PITCH_ANIMATED) != 0);
}
-static void rna_Sequence_attenuation_set(PointerRNA *ptr, float value)
+static void rna_Sequence_pan_set(PointerRNA *ptr, float value)
{
Sequence *seq= (Sequence*)(ptr->data);
- seq->volume = from_dB(value);
+ seq->pan = value;
+ if(seq->scene_sound)
+ sound_set_scene_sound_pan(seq->scene_sound, value, (seq->flag & SEQ_AUDIO_PAN_ANIMATED) != 0);
}
@@ -556,9 +564,6 @@ static void rna_Sequence_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *p
Editing *ed= seq_give_editing(scene, FALSE);
free_imbuf_seq(scene, &ed->seqbase, FALSE, TRUE);
-
- if(RNA_struct_is_a(ptr->type, &RNA_SoundSequence))
- seq_update_sound(scene, ptr->data);
}
static void rna_Sequence_update_reopen_files(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
@@ -568,14 +573,14 @@ static void rna_Sequence_update_reopen_files(Main *UNUSED(bmain), Scene *scene,
free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
if(RNA_struct_is_a(ptr->type, &RNA_SoundSequence))
- seq_update_sound(scene, ptr->data);
+ seq_update_sound_bounds(scene, ptr->data);
}
static void rna_Sequence_mute_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
Editing *ed= seq_give_editing(scene, FALSE);
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
rna_Sequence_update(bmain, scene, ptr);
}
@@ -587,6 +592,34 @@ static void rna_Sequence_filepath_update(Main *bmain, Scene *scene, PointerRNA *
rna_Sequence_update(bmain, scene, ptr);
}
+static int seqproxy_seq_cmp_cb(Sequence *seq, void *arg_pt)
+{
+ struct { Sequence *seq; void *seq_proxy; } *data= arg_pt;
+
+ if(seq->strip && seq->strip->proxy == data->seq_proxy) {
+ data->seq= seq;
+ return -1; /* done so bail out */
+ }
+ return 1;
+}
+
+static void rna_Sequence_tcindex_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ Editing *ed= seq_give_editing(scene, FALSE);
+ Sequence *seq;
+
+ struct { Sequence *seq; void *seq_proxy; } data;
+
+ data.seq= NULL;
+ data.seq_proxy = ptr->data;
+
+ seqbase_recursive_apply(&ed->seqbase, seqproxy_seq_cmp_cb, &data);
+ seq= data.seq;
+
+ reload_sequence_new_file(scene, seq, FALSE);
+ rna_Sequence_frame_change_update(scene, seq);
+}
+
/* do_versions? */
static float rna_Sequence_opacity_get(PointerRNA *ptr)
{
@@ -680,6 +713,23 @@ static void rna_SequenceEditor_overlay_frame_set(PointerRNA *ptr, int value)
ed->over_ofs= value;
}
+
+static void rna_WipeSequence_angle_set(PointerRNA *ptr, float value)
+{
+ Sequence *seq= (Sequence *)(ptr->data);
+ value= RAD2DEGF(value);
+ CLAMP(value, -90.0f, 90.0f);
+ ((WipeVars *)seq->effectdata)->angle= value;
+}
+
+static float rna_WipeSequence_angle_get(PointerRNA *ptr)
+{
+ Sequence *seq= (Sequence *)(ptr->data);
+
+ return DEG2RADF(((WipeVars *)seq->effectdata)->angle);
+}
+
+
#else
static void rna_def_strip_element(BlenderRNA *brna)
@@ -772,6 +822,19 @@ static void rna_def_strip_proxy(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
+
+ static const EnumPropertyItem seq_tc_items[]= {
+ {SEQ_PROXY_TC_NONE, "NONE", 0, "No TC in use", ""},
+ {SEQ_PROXY_TC_RECORD_RUN, "RECORD_RUN", 0, "Record Run",
+ "use images in the order as they are recorded"},
+ {SEQ_PROXY_TC_FREE_RUN, "FREE_RUN", 0, "Free Run",
+ "use global timestamp written by recording device"},
+ {SEQ_PROXY_TC_INTERP_REC_DATE_FREE_RUN, "FREE_RUN_REC_DATE",
+ 0, "Free Run (rec date)",
+ "interpolate a global timestamp using the "
+ "record date and time written by recording "
+ "device"},
+ {0, NULL, 0, NULL, NULL}};
srna = RNA_def_struct(brna, "SequenceProxy", NULL);
RNA_def_struct_ui_text(srna, "Sequence Proxy", "Proxy parameters for a sequence strip");
@@ -787,6 +850,46 @@ static void rna_def_strip_proxy(BlenderRNA *brna)
RNA_def_property_string_funcs(prop, "rna_Sequence_proxy_filepath_get", "rna_Sequence_proxy_filepath_length", "rna_Sequence_proxy_filepath_set");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
+
+ prop= RNA_def_property(srna, "build_25", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_size_flags", SEQ_PROXY_IMAGE_SIZE_25);
+ RNA_def_property_ui_text(prop, "25%", "Build 25% proxy resolution");
+
+ prop= RNA_def_property(srna, "build_50", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_size_flags", SEQ_PROXY_IMAGE_SIZE_50);
+ RNA_def_property_ui_text(prop, "50%", "Build 50% proxy resolution");
+
+ prop= RNA_def_property(srna, "build_75", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_size_flags", SEQ_PROXY_IMAGE_SIZE_75);
+ RNA_def_property_ui_text(prop, "75%", "Build 75% proxy resolution");
+
+ prop= RNA_def_property(srna, "build_100", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_size_flags", SEQ_PROXY_IMAGE_SIZE_100);
+ RNA_def_property_ui_text(prop, "100%", "Build 100% proxy resolution");
+
+ prop= RNA_def_property(srna, "build_record_run", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_tc_flags", SEQ_PROXY_TC_RECORD_RUN);
+ RNA_def_property_ui_text(prop, "Rec Run", "Build record run time code index");
+
+ prop= RNA_def_property(srna, "build_free_run", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_tc_flags", SEQ_PROXY_TC_FREE_RUN);
+ RNA_def_property_ui_text(prop, "Free Run", "Build free run time code index");
+
+ prop= RNA_def_property(srna, "build_free_run_rec_date", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_tc_flags", SEQ_PROXY_TC_INTERP_REC_DATE_FREE_RUN);
+ RNA_def_property_ui_text(prop, "Free Run (Rec Date)", "Build free run time code index using Record Date/Time");
+
+ prop= RNA_def_property(srna, "quality", PROP_INT, PROP_UNSIGNED);
+ RNA_def_property_int_sdna(prop, NULL, "quality");
+ RNA_def_property_ui_text(prop, "Quality", "JPEG Quality of proxies to build");
+ RNA_def_property_ui_range(prop, 1, 100, 1, 0);
+
+ prop= RNA_def_property(srna, "timecode", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "tc");
+ RNA_def_property_enum_items(prop, seq_tc_items);
+ RNA_def_property_ui_text(prop, "Timecode", "");
+ RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_tcindex_update");
+
}
static void rna_def_strip_color_balance(BlenderRNA *brna)
@@ -931,6 +1034,11 @@ static void rna_def_sequence(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Lock", "Lock strip so that it can't be transformed");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
+ prop= RNA_def_property(srna, "waveform", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", SEQ_AUDIO_DRAW_WAVEFORM);
+ RNA_def_property_ui_text(prop, "Draw Waveform", "Whether to draw the sound's waveform.");
+ RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
+
/* strip positioning */
prop= RNA_def_property(srna, "frame_final_duration", PROP_INT, PROP_TIME);
@@ -1191,7 +1299,7 @@ static void rna_def_proxy(StructRNA *srna)
prop= RNA_def_property(srna, "use_proxy", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", SEQ_USE_PROXY);
- RNA_def_property_ui_text(prop, "Use Proxy", "Use a preview proxy for this strip");
+ RNA_def_property_ui_text(prop, "Use Proxy / Timecode", "Use a preview proxy and/or timecode index for this strip");
RNA_def_property_boolean_funcs(prop, NULL, "rna_Sequence_use_proxy_set");
prop= RNA_def_property(srna, "proxy", PROP_POINTER, PROP_NONE);
@@ -1313,6 +1421,12 @@ static void rna_def_movie(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "MPEG Preseek", "For MPEG movies, preseek this many frames");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
+ prop= RNA_def_property(srna, "streamindex", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "streamindex");
+ RNA_def_property_range(prop, 0, 20);
+ RNA_def_property_ui_text(prop, "Streamindex", "For files with several movie streams, use the stream with the given index");
+ RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update_reopen_files");
+
prop= RNA_def_property(srna, "elements", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "strip->stripdata", NULL);
RNA_def_property_struct_type(prop, "SequenceElement");
@@ -1348,13 +1462,21 @@ static void rna_def_sound(BlenderRNA *brna)
RNA_def_property_float_sdna(prop, NULL, "volume");
RNA_def_property_range(prop, 0.0f, 100.0f);
RNA_def_property_ui_text(prop, "Volume", "Playback volume of the sound");
+ RNA_def_property_float_funcs(prop, NULL, "rna_Sequence_volume_set", NULL);
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
- prop= RNA_def_property(srna, "attenuation", PROP_FLOAT, PROP_NONE);
- RNA_def_property_range(prop, -100.0f, +40.0f);
- RNA_def_property_ui_text(prop, "Attenuation/dB", "Attenuation in decibel");
- RNA_def_property_float_funcs(prop, "rna_Sequence_attenuation_get", "rna_Sequence_attenuation_set", NULL);
+ prop= RNA_def_property(srna, "pitch", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "pitch");
+ RNA_def_property_range(prop, 0.1f, 10.0f);
+ RNA_def_property_ui_text(prop, "Pitch", "Playback pitch of the sound");
+ RNA_def_property_float_funcs(prop, NULL, "rna_Sequence_pitch_set", NULL);
+ RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
+ prop= RNA_def_property(srna, "pan", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "pan");
+ RNA_def_property_range(prop, -2.0f, 2.0f);
+ RNA_def_property_ui_text(prop, "Pan", "Playback panning of the sound (only for Mono sources)");
+ RNA_def_property_float_funcs(prop, NULL, "rna_Sequence_pan_set", NULL);
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
prop= RNA_def_property(srna, "filepath", PROP_STRING, PROP_FILEPATH);
@@ -1460,10 +1582,16 @@ static void rna_def_wipe(BlenderRNA *brna)
RNA_def_property_range(prop, 0.0f, 1.0f);
RNA_def_property_ui_text(prop, "Blur Width", "Width of the blur edge, in percentage relative to the image size");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
-
+
+#if 1 /* expose as radians */
+ prop= RNA_def_property(srna, "angle", PROP_FLOAT, PROP_ANGLE);
+ RNA_def_property_float_funcs(prop, "rna_WipeSequence_angle_get", "rna_WipeSequence_angle_set", NULL);
+ RNA_def_property_range(prop, DEG2RAD(-90.0), DEG2RAD(90.0));
+#else
prop= RNA_def_property(srna, "angle", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "angle");
RNA_def_property_range(prop, -90.0f, 90.0f);
+#endif
RNA_def_property_ui_text(prop, "Angle", "Edge angle");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
diff --git a/source/blender/makesrna/intern/rna_smoke.c b/source/blender/makesrna/intern/rna_smoke.c
index 43d1aa24229..93ffa62a4c6 100644
--- a/source/blender/makesrna/intern/rna_smoke.c
+++ b/source/blender/makesrna/intern/rna_smoke.c
@@ -121,7 +121,7 @@ static void rna_def_smoke_domain_settings(BlenderRNA *brna)
static EnumPropertyItem prop_noise_type_items[] = {
{MOD_SMOKE_NOISEWAVE, "NOISEWAVE", 0, "Wavelet", ""},
-#if FFTW3 == 1
+#ifdef WITH_FFTW3
{MOD_SMOKE_NOISEFFT, "NOISEFFT", 0, "FFT", ""},
#endif
/* {MOD_SMOKE_NOISECURL, "NOISECURL", 0, "Curl", ""}, */
@@ -241,13 +241,12 @@ static void rna_def_smoke_domain_settings(BlenderRNA *brna)
RNA_def_property_enum_sdna(prop, NULL, "cache_comp");
RNA_def_property_enum_items(prop, smoke_cache_comp_items);
RNA_def_property_ui_text(prop, "Cache Compression", "Compression method to be used");
- RNA_def_property_update(prop, 0, NULL);
prop= RNA_def_property(srna, "collision_extents", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "border_collisions");
RNA_def_property_enum_items(prop, smoke_domain_colli_items);
RNA_def_property_ui_text(prop, "Border Collisions", "Selects which domain border will be treated as collision object.");
- RNA_def_property_update(prop, 0, NULL);
+ RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_Smoke_reset");
prop= RNA_def_property(srna, "effector_weights", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "EffectorWeights");
@@ -290,14 +289,12 @@ static void rna_def_smoke_flow_settings(BlenderRNA *brna)
RNA_def_property_range(prop, 0.001, 1);
RNA_def_property_ui_range(prop, 0.001, 1.0, 1.0, 4);
RNA_def_property_ui_text(prop, "Density", "");
- RNA_def_property_update(prop, 0, NULL); // NC_OBJECT|ND_MODIFIER
prop= RNA_def_property(srna, "temperature", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "temp");
RNA_def_property_range(prop, -10, 10);
RNA_def_property_ui_range(prop, -10, 10, 1, 1);
RNA_def_property_ui_text(prop, "Temp. Diff.", "Temperature difference to ambient temperature");
- RNA_def_property_update(prop, 0, NULL);
prop= RNA_def_property(srna, "particle_system", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "psys");
@@ -309,24 +306,20 @@ static void rna_def_smoke_flow_settings(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_outflow", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "type", MOD_SMOKE_FLOW_TYPE_OUTFLOW);
RNA_def_property_ui_text(prop, "Outflow", "Deletes smoke from simulation");
- RNA_def_property_update(prop, 0, NULL);
prop= RNA_def_property(srna, "use_absolute", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flags", MOD_SMOKE_FLOW_ABSOLUTE);
RNA_def_property_ui_text(prop, "Absolute Density", "Only allows given density value in emitter area.");
- RNA_def_property_update(prop, 0, NULL);
prop= RNA_def_property(srna, "initial_velocity", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flags", MOD_SMOKE_FLOW_INITVELOCITY);
RNA_def_property_ui_text(prop, "Initial Velocity", "Smoke inherits it's velocity from the emitter particle");
- RNA_def_property_update(prop, 0, NULL);
prop= RNA_def_property(srna, "velocity_factor", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "vel_multi");
RNA_def_property_range(prop, -2.0, 2.0);
RNA_def_property_ui_range(prop, -2.0, 2.0, 0.05, 5);
RNA_def_property_ui_text(prop, "Multiplier", "Multiplier to adjust velocity passed to smoke");
- RNA_def_property_update(prop, 0, NULL);
}
static void rna_def_smoke_coll_settings(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_sound.c b/source/blender/makesrna/intern/rna_sound.c
index 97339058794..3a18fb0e7c0 100644
--- a/source/blender/makesrna/intern/rna_sound.c
+++ b/source/blender/makesrna/intern/rna_sound.c
@@ -41,7 +41,7 @@
#include "BKE_sound.h"
#include "BKE_context.h"
-static void rna_Sound_filepath_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Sound_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
{
sound_load(bmain, (bSound*)ptr->data);
}
@@ -49,18 +49,23 @@ static void rna_Sound_filepath_update(Main *bmain, Scene *scene, PointerRNA *ptr
static int rna_Sound_caching_get(PointerRNA *ptr)
{
bSound *sound = (bSound*)(ptr->data);
- return sound->cache != NULL;
+ return (sound->flags & SOUND_FLAGS_CACHING) != 0;
}
static void rna_Sound_caching_set(PointerRNA *ptr, const int value)
{
bSound *sound = (bSound*)(ptr->data);
if(value)
- sound_cache(sound, 0);
+ sound_cache(sound);
else
sound_delete_cache(sound);
}
+static void rna_Sound_caching_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
+{
+ sound_update_sequencer(bmain, (bSound*)(ptr->data));
+}
+
#else
static void rna_def_sound(BlenderRNA *brna)
@@ -78,7 +83,7 @@ static void rna_def_sound(BlenderRNA *brna)
prop= RNA_def_property(srna, "filepath", PROP_STRING, PROP_FILEPATH);
RNA_def_property_string_sdna(prop, NULL, "name");
RNA_def_property_ui_text(prop, "File Path", "Sound sample file used by this Sound datablock");
- RNA_def_property_update(prop, 0, "rna_Sound_filepath_update");
+ RNA_def_property_update(prop, 0, "rna_Sound_update");
prop= RNA_def_property(srna, "packed_file", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "packedfile");
@@ -87,7 +92,12 @@ static void rna_def_sound(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_memory_cache", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_funcs(prop, "rna_Sound_caching_get", "rna_Sound_caching_set");
RNA_def_property_ui_text(prop, "Caching", "The sound file is decoded and loaded into RAM");
- RNA_def_property_update(prop, 0, "rna_Sound_filepath_update");
+ RNA_def_property_update(prop, 0, "rna_Sound_caching_update");
+
+ prop= RNA_def_property(srna, "mono", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", SOUND_FLAGS_MONO);
+ RNA_def_property_ui_text(prop, "Mono", "If the file contains multiple audio channels they are rendered to a single one.");
+ RNA_def_property_update(prop, 0, "rna_Sound_update");
}
void RNA_def_sound(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 8ab480df425..249cdb28ae1 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -48,6 +48,8 @@
#include "WM_api.h"
#include "WM_types.h"
+#include "RNA_enum_types.h"
+
EnumPropertyItem space_type_items[] = {
{SPACE_EMPTY, "EMPTY", 0, "Empty", ""},
{SPACE_VIEW3D, "VIEW_3D", 0, "3D View", ""},
@@ -119,6 +121,7 @@ EnumPropertyItem viewport_shade_items[] = {
#include "BKE_paint.h"
#include "ED_image.h"
+#include "ED_node.h"
#include "ED_screen.h"
#include "ED_view3d.h"
#include "ED_sequencer.h"
@@ -591,7 +594,8 @@ static void rna_SpaceTextEditor_text_set(PointerRNA *ptr, PointerRNA value)
SpaceText *st= (SpaceText*)(ptr->data);
st->text= value.data;
- st->top= 0;
+
+ WM_main_add_notifier(NC_TEXT|NA_SELECTED, st->text);
}
static void rna_SpaceTextEditor_updateEdited(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
@@ -700,7 +704,7 @@ static void rna_ConsoleLine_cursor_index_range(PointerRNA *ptr, int *min, int *m
ConsoleLine *ci= (ConsoleLine*)ptr->data;
*min= 0;
- *max= ci->len;
+ *max= ci->len; /* intentionally _not_ -1 */
}
/* Space Dopesheet */
@@ -804,10 +808,9 @@ static void rna_SpaceDopeSheetEditor_mode_update(Main *UNUSED(bmain), Scene *sce
/* Space Graph Editor */
-static void rna_SpaceGraphEditor_display_mode_update(bContext *C, PointerRNA *UNUSED(ptr))
+static void rna_SpaceGraphEditor_display_mode_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
- //SpaceIpo *sipo= (SpaceIpo*)(ptr->data);
- ScrArea *sa= CTX_wm_area(C);
+ ScrArea *sa= rna_area_from_space(ptr);
/* after changing view mode, must force recalculation of F-Curve colors
* which can only be achieved using refresh as opposed to redraw
@@ -821,11 +824,10 @@ static int rna_SpaceGraphEditor_has_ghost_curves_get(PointerRNA *ptr)
return (sipo->ghostCurves.first != NULL);
}
-static void rna_Sequencer_display_mode_update(bContext *C, PointerRNA *ptr)
+static void rna_Sequencer_view_type_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
- int view = RNA_enum_get(ptr, "view_type");
-
- ED_sequencer_update_view(C, view);
+ ScrArea *sa= rna_area_from_space(ptr);
+ ED_area_tag_refresh(sa);
}
static float rna_BackgroundImage_opacity_get(PointerRNA *ptr)
@@ -840,6 +842,24 @@ static void rna_BackgroundImage_opacity_set(PointerRNA *ptr, float value)
bgpic->blend = 1.0f - value;
}
+/* Space Node Editor */
+
+static int rna_SpaceNodeEditor_node_tree_poll(PointerRNA *ptr, PointerRNA value)
+{
+ SpaceNode *snode= (SpaceNode*)ptr->data;
+ bNodeTree *ntree= (bNodeTree*)value.data;
+
+ /* exclude group trees, only trees of the active type */
+ return (ntree->nodetype==0 && ntree->type == snode->treetype);
+}
+
+static void rna_SpaceNodeEditor_node_tree_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ SpaceNode *snode= (SpaceNode*)ptr->data;
+
+ ED_node_tree_update(snode, scene);
+}
+
static EnumPropertyItem *rna_SpaceProperties_texture_context_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Scene *scene = CTX_data_scene(C);
@@ -990,7 +1010,12 @@ static void rna_def_space_image_uv(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flag", SI_COORDFLOATS);
RNA_def_property_ui_text(prop, "Normalized Coordinates", "Display UV coordinates from 0.0 to 1.0 rather than in pixels");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_IMAGE, NULL);
-
+
+ prop= RNA_def_property(srna, "show_faces", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SI_NO_DRAWFACES);
+ RNA_def_property_ui_text(prop, "Draw Faces", "Draw faces over the image");
+ RNA_def_property_update(prop, NC_SPACE|ND_SPACE_IMAGE, NULL);
+
prop= RNA_def_property(srna, "cursor_location", PROP_FLOAT, PROP_XYZ);
RNA_def_property_array(prop, 2);
RNA_def_property_float_funcs(prop, "rna_SpaceImageEditor_cursor_location_get", "rna_SpaceImageEditor_cursor_location_set", NULL);
@@ -1616,6 +1641,7 @@ static void rna_def_space_image(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_struct_type(prop, "GreasePencil");
RNA_def_property_ui_text(prop, "Grease Pencil", "Grease pencil data for this space");
+ RNA_def_property_update(prop, NC_SPACE|ND_SPACE_IMAGE, NULL);
prop= RNA_def_property(srna, "use_grease_pencil", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", SI_DISPGP);
@@ -1669,6 +1695,7 @@ static void rna_def_space_sequencer(BlenderRNA *brna)
{SEQ_PROXY_RENDER_SIZE_25, "PROXY_25", 0, "Proxy size 25%", ""},
{SEQ_PROXY_RENDER_SIZE_50, "PROXY_50", 0, "Proxy size 50%", ""},
{SEQ_PROXY_RENDER_SIZE_75, "PROXY_75", 0, "Proxy size 75%", ""},
+ {SEQ_PROXY_RENDER_SIZE_100, "PROXY_100", 0, "Proxy size 100%", ""},
{SEQ_PROXY_RENDER_SIZE_FULL, "FULL", 0, "No proxy, full render", ""},
{0, NULL, 0, NULL, NULL}};
@@ -1681,8 +1708,7 @@ static void rna_def_space_sequencer(BlenderRNA *brna)
RNA_def_property_enum_sdna(prop, NULL, "view");
RNA_def_property_enum_items(prop, view_type_items);
RNA_def_property_ui_text(prop, "View Type", "The type of the Sequencer view (sequencer, preview or both)");
- RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
- RNA_def_property_update(prop, 0, "rna_Sequencer_display_mode_update");
+ RNA_def_property_update(prop, 0, "rna_Sequencer_view_type_update");
/* display type, fairly important */
prop= RNA_def_property(srna, "display_mode", PROP_ENUM, PROP_NONE);
@@ -1872,11 +1898,12 @@ static void rna_def_space_dopesheet(BlenderRNA *brna)
StructRNA *srna;
PropertyRNA *prop;
+ // XXX: action-editor is currently for object-level only actions, so show that using object-icon hint
static EnumPropertyItem mode_items[] = {
- {SACTCONT_DOPESHEET, "DOPESHEET", 0, "DopeSheet", "DopeSheet Editor"},
- {SACTCONT_ACTION, "ACTION", 0, "Action Editor", "Action Editor"},
- {SACTCONT_SHAPEKEY, "SHAPEKEY", 0, "ShapeKey Editor", "ShapeKey Editor"},
- {SACTCONT_GPENCIL, "GPENCIL", 0, "Grease Pencil", "Grease Pencil"},
+ {SACTCONT_DOPESHEET, "DOPESHEET", ICON_OOPS, "DopeSheet", "DopeSheet Editor"},
+ {SACTCONT_ACTION, "ACTION", ICON_OBJECT_DATA, "Action Editor", "Action Editor"},
+ {SACTCONT_SHAPEKEY, "SHAPEKEY", ICON_SHAPEKEY_DATA, "ShapeKey Editor", "ShapeKey Editor"},
+ {SACTCONT_GPENCIL, "GPENCIL", ICON_GREASEPENCIL, "Grease Pencil", "Grease Pencil"},
{0, NULL, 0, NULL, NULL}};
@@ -1955,8 +1982,8 @@ static void rna_def_space_graph(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem mode_items[] = {
- {SIPO_MODE_ANIMATION, "FCURVES", 0, "F-Curve Editor", "Edit f-curves"},
- {SIPO_MODE_DRIVERS, "DRIVERS", 0, "Drivers", "Edit drivers"},
+ {SIPO_MODE_ANIMATION, "FCURVES", ICON_IPO, "F-Curve Editor", "Edit animation/keyframes displayed as 2D curves"},
+ {SIPO_MODE_DRIVERS, "DRIVERS", ICON_DRIVER, "Drivers", "Edit drivers"},
{0, NULL, 0, NULL, NULL}};
/* this is basically the same as the one for the 3D-View, but with some entries ommitted */
@@ -1978,7 +2005,6 @@ static void rna_def_space_graph(BlenderRNA *brna)
RNA_def_property_enum_sdna(prop, NULL, "mode");
RNA_def_property_enum_items(prop, mode_items);
RNA_def_property_ui_text(prop, "Mode", "Editing context being displayed");
- RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_GRAPH, "rna_SpaceGraphEditor_display_mode_update");
/* display */
@@ -2013,9 +2039,9 @@ static void rna_def_space_graph(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Only Selected Keyframes Handles", "Only show and edit handles of selected keyframes");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_GRAPH, NULL);
- prop= RNA_def_property(srna, "use_fancy_drawing", PROP_BOOLEAN, PROP_NONE);
+ prop= RNA_def_property(srna, "use_beauty_drawing", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SIPO_BEAUTYDRAW_OFF);
- RNA_def_property_ui_text(prop, "Use Fancy Drawing", "Draw F-Curves using Anti-Aliasing and other fancy effects. Disable for better performance");
+ RNA_def_property_ui_text(prop, "Use High Quality Drawing", "Draw F-Curves using Anti-Aliasing and other fancy effects. Disable for better performance");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_GRAPH, NULL);
/* editing */
@@ -2125,7 +2151,7 @@ static void rna_def_space_time(BlenderRNA *brna)
/* view settings */
prop= RNA_def_property(srna, "show_only_selected", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", TIME_ONLYACTSEL);
- RNA_def_property_ui_text(prop, "Only Selected channels", "Show keyframes for active Object and/or its selected channels only");
+ RNA_def_property_ui_text(prop, "Only Selected Channels", "Show keyframes for active Object and/or its selected bones only");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TIME, NULL);
prop= RNA_def_property(srna, "show_frame_indicator", PROP_BOOLEAN, PROP_NONE);
@@ -2409,12 +2435,6 @@ static void rna_def_space_node(BlenderRNA *brna)
StructRNA *srna;
PropertyRNA *prop;
- static EnumPropertyItem tree_type_items[] = {
- {NTREE_SHADER, "MATERIAL", ICON_MATERIAL, "Material", "Material nodes"},
- {NTREE_TEXTURE, "TEXTURE", ICON_TEXTURE, "Texture", "Texture nodes"},
- {NTREE_COMPOSIT, "COMPOSITING", ICON_RENDERLAYERS, "Compositing", "Compositing nodes"},
- {0, NULL, 0, NULL, NULL}};
-
static EnumPropertyItem texture_type_items[] = {
{SNODE_TEX_OBJECT, "OBJECT", ICON_OBJECT_DATA, "Object", "Edit texture nodes from Object"},
{SNODE_TEX_WORLD, "WORLD", ICON_WORLD_DATA, "World", "Edit texture nodes from World"},
@@ -2433,7 +2453,7 @@ static void rna_def_space_node(BlenderRNA *brna)
prop= RNA_def_property(srna, "tree_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "treetype");
- RNA_def_property_enum_items(prop, tree_type_items);
+ RNA_def_property_enum_items(prop, nodetree_type_items);
RNA_def_property_ui_text(prop, "Tree Type", "Node tree type to display and edit");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_NODE, NULL);
@@ -2454,8 +2474,10 @@ static void rna_def_space_node(BlenderRNA *brna)
prop= RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "nodetree");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_pointer_funcs(prop, NULL, NULL, NULL, "rna_SpaceNodeEditor_node_tree_poll");
+ RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Node Tree", "Node tree being displayed and edited");
+ RNA_def_property_update(prop, NC_SPACE|ND_SPACE_NODE, "rna_SpaceNodeEditor_node_tree_update");
prop= RNA_def_property(srna, "show_backdrop", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", SNODE_BACKDRAW);
diff --git a/source/blender/makesrna/intern/rna_speaker.c b/source/blender/makesrna/intern/rna_speaker.c
new file mode 100644
index 00000000000..60208de5aa5
--- /dev/null
+++ b/source/blender/makesrna/intern/rna_speaker.c
@@ -0,0 +1,172 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Jörg Müller.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/makesrna/intern/rna_speaker.c
+ * \ingroup RNA
+ */
+
+
+#include <stdlib.h>
+
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "rna_internal.h"
+
+#include "DNA_speaker_types.h"
+#include "DNA_sound_types.h"
+
+#ifdef RNA_RUNTIME
+
+#include "MEM_guardedalloc.h"
+
+#include "BKE_depsgraph.h"
+#include "BKE_main.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+
+#else
+
+static void rna_def_speaker(BlenderRNA *brna)
+{
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ srna= RNA_def_struct(brna, "Speaker", "ID");
+ RNA_def_struct_ui_text(srna, "Speaker", "Speaker datablock for 3D audio speaker objects");
+ RNA_def_struct_ui_icon(srna, ICON_SPEAKER);
+
+ prop= RNA_def_property(srna, "muted", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", SPK_MUTED);
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_ui_text(prop, "Mute", "Mutes the speaker.");
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ /* This shouldn't be changed actually, hiding it!
+ prop= RNA_def_property(srna, "relative", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", SPK_RELATIVE);
+ RNA_def_property_ui_text(prop, "Relative", "Whether the source is relative to the camera or not.");
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");*/
+
+ prop= RNA_def_property(srna, "sound", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "sound");
+ RNA_def_property_struct_type(prop, "Sound");
+ RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_ui_text(prop, "Sound", "Sound datablock used by this speaker.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_sound_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "volume_max", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "volume_max");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Maximum Volume", "Maximum volume, no matter how near the object is.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_volume_max_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "volume_min", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "volume_min");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Minimum Volume", "Minimum volume, no matter how far away the object is.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_volume_min_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "distance_max", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "distance_max");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, FLT_MAX);
+ RNA_def_property_ui_text(prop, "Maximum Distance", "Maximum distance for volume calculation, no matter how far away the object is.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_distance_max_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "distance_reference", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "distance_reference");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, FLT_MAX);
+ RNA_def_property_ui_text(prop, "Reference Distance", "Reference distance at which volume is 100 %.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_distance_reference_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "attenuation", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "attenuation");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, FLT_MAX);
+ RNA_def_property_ui_text(prop, "Attenuation", "How strong the distance affects volume, depending on distance model.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_attenuation_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "cone_angle_outer", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "cone_angle_outer");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, 360.0f);
+ RNA_def_property_ui_text(prop, "Outer Cone Angle", "Outer angle of the cone in degrees, outside this cone the volume is the outer cone volume, between inner and outer cone the volume is interpolated.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_cone_angle_outer_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "cone_angle_inner", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "cone_angle_inner");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, 360.0f);
+ RNA_def_property_ui_text(prop, "Inner Cone Angle", "Inner angle of the cone in degrees, inside the cone the volume is 100 %.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_cone_angle_inner_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "cone_volume_outer", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "cone_volume_outer");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Outer Cone Volume", "Volume outside the outer cone.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_cone_volume_outer_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "volume", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "volume");
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Volume", "How loud the sound is.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_volume_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "pitch", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "pitch");
+ RNA_def_property_range(prop, 0.1f, 10.0f);
+ RNA_def_property_ui_text(prop, "Pitch", "Playback pitch of the sound.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_pitch_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ /* common */
+ rna_def_animdata_common(srna);
+}
+
+
+void RNA_def_speaker(BlenderRNA *brna)
+{
+ rna_def_speaker(brna);
+}
+
+#endif
+
diff --git a/source/blender/makesrna/intern/rna_texture.c b/source/blender/makesrna/intern/rna_texture.c
index 3a80207ba15..890be76c49a 100644
--- a/source/blender/makesrna/intern/rna_texture.c
+++ b/source/blender/makesrna/intern/rna_texture.c
@@ -32,6 +32,7 @@
#include <stdlib.h>
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "rna_internal.h"
@@ -135,6 +136,7 @@ static void rna_Texture_update(Main *bmain, Scene *scene, PointerRNA *ptr)
DAG_id_tag_update(&tex->id, 0);
WM_main_add_notifier(NC_TEXTURE, tex);
+ WM_main_add_notifier(NC_MATERIAL|ND_SHADING_DRAW, NULL);
}
static void rna_Texture_voxeldata_update(Main *bmain, Scene *scene, PointerRNA *ptr)
@@ -662,6 +664,13 @@ static void rna_def_environment_map(BlenderRNA *brna)
RNA_def_property_range(prop, 0, 5);
RNA_def_property_ui_text(prop, "Depth", "Number of times a map will be rendered recursively (mirror effects.)");
RNA_def_property_update(prop, 0, "rna_Texture_update");
+
+ prop= RNA_def_property(srna, "is_valid", PROP_BOOLEAN, 0);
+ RNA_def_property_boolean_sdna(prop, NULL, "ok", 2);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Validity", "True if this map is ready for use, False if it needs rendering.");
+
+ RNA_api_environment_map(srna);
}
static EnumPropertyItem prop_noise_basis_items[] = {
@@ -1146,6 +1155,12 @@ static void rna_def_texture_image(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "imaflag", TEX_NORMALMAP);
RNA_def_property_ui_text(prop, "Normal Map", "Uses image RGB values for normal mapping");
RNA_def_property_update(prop, 0, "rna_Texture_update");
+
+ /* Derivative Map */
+ prop= RNA_def_property(srna, "use_derivative_map", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "imaflag", TEX_DERIVATIVEMAP);
+ RNA_def_property_ui_text(prop, "Derivative Map", "Uses red and green as derivative values");
+ RNA_def_property_update(prop, 0, "rna_Texture_update");
}
static void rna_def_texture_plugin(BlenderRNA *brna)
@@ -1805,6 +1820,8 @@ static void rna_def_texture(BlenderRNA *brna)
rna_def_texture_pointdensity(brna);
rna_def_texture_voxeldata(brna);
/* XXX add more types here .. */
+
+ RNA_api_texture(srna);
}
void RNA_def_texture(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_texture_api.c b/source/blender/makesrna/intern/rna_texture_api.c
new file mode 100644
index 00000000000..8c63d5da8fd
--- /dev/null
+++ b/source/blender/makesrna/intern/rna_texture_api.c
@@ -0,0 +1,126 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Tom Edwards
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/makesrna/intern/rna_texture_api.c
+ * \ingroup RNA
+ */
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+
+#include "RNA_define.h"
+#include "BKE_utildefines.h"
+
+#ifdef RNA_RUNTIME
+
+#include "IMB_imbuf.h"
+#include "IMB_imbuf_types.h"
+#include "DNA_scene_types.h"
+#include "BKE_context.h"
+#include "BKE_global.h"
+#include "RE_pipeline.h"
+#include "RE_shader_ext.h"
+
+void save_envmap(struct EnvMap *env, bContext *C, ReportList *reports, const char* filepath, struct Scene *scene, float layout[12])
+{
+ if (scene == NULL) {
+ scene = CTX_data_scene(C);
+ }
+
+ RE_WriteEnvmapResult(reports, scene, env, filepath, scene->r.imtype, layout);
+}
+
+void clear_envmap(struct EnvMap *env, bContext *C)
+{
+ Main *bmain = CTX_data_main(C);
+ Tex *tex;
+
+ BKE_free_envmapdata(env);
+
+ for (tex=bmain->tex.first; tex; tex=tex->id.next)
+ if (tex->env == env) {
+ WM_event_add_notifier(C, NC_TEXTURE|NA_EDITED, tex);
+ break;
+ }
+}
+
+void texture_evaluate(struct Tex *tex, float value[3], float color_r[3])
+{
+ TexResult texres= {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, NULL};
+ multitex_ext(tex, value, NULL, NULL, 1, &texres);
+
+ color_r[0] = texres.tr;
+ color_r[1] = texres.tg;
+ color_r[2] = texres.tb;
+ color_r[3] = texres.tin;
+}
+
+#else
+
+void RNA_api_texture(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ func= RNA_def_function(srna, "evaluate", "texture_evaluate");
+ RNA_def_function_ui_description(func, "Evaluate the texture at the coordinates given");
+
+ parm= RNA_def_float_vector(func, "value", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+
+ /* return location and normal */
+ parm= RNA_def_float_vector(func, "result", 4, NULL, -FLT_MAX, FLT_MAX, "Result", NULL, -1e4, 1e4);
+ RNA_def_property_flag(parm, PROP_THICK_WRAP);
+ RNA_def_function_output(func, parm);
+
+}
+
+void RNA_api_environment_map(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ static const float default_layout[] = { 0,0, 1,0, 2,0, 0,1, 1,1, 2,1 };
+
+ func= RNA_def_function(srna, "clear", "clear_envmap");
+ RNA_def_function_ui_description(func, "Discard the environment map and free it from memory.");
+ RNA_def_function_flag(func, FUNC_USE_CONTEXT);
+
+
+ func= RNA_def_function(srna,"save", "save_envmap");
+ RNA_def_function_ui_description(func, "Save the environment map to disc using the scene render settings.");
+ RNA_def_function_flag(func, FUNC_USE_CONTEXT|FUNC_USE_REPORTS);
+
+ parm= RNA_def_string_file_name(func,"filepath","",FILE_MAX,"File path","Location of the output file");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+
+ RNA_def_pointer(func, "scene", "Scene", "", "Overrides the scene from which image parameters are taken.");
+
+ parm = RNA_def_float_array(func, "layout", 12, default_layout, 0.0f, 0.0f, "File layout", "Flat array describing the X,Y position of each cube face in the output image, where 1 is the size of a face. Order is [+Z -Z +Y -X -Y +X]. Use -1 to skip a face.", 0.0f, 0.0f);
+}
+
+#endif
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index b67805c97b9..7d0502f1be9 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -117,6 +117,12 @@ static void rna_userdef_mipmap_update(Main *bmain, Scene *scene, PointerRNA *ptr
rna_userdef_update(bmain, scene, ptr);
}
+static void rna_userdef_anisotropic_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ GPU_set_anisotropic(U.anisotropic_filter);
+ rna_userdef_update(bmain, scene, ptr);
+}
+
static void rna_userdef_gl_texture_limit_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
GPU_free_images();
@@ -245,6 +251,13 @@ static void rna_UserDef_weight_color_update(Main *bmain, Scene *scene, PointerRN
static void rna_UserDef_viewport_lights_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
+ /* if all lights are off gpu_draw resets them all, [#27627]
+ * so disallow them all to be disabled */
+ if(U.light[0].flag==0 && U.light[1].flag==0 && U.light[2].flag==0) {
+ SolidLight *light= ptr->data;
+ light->flag |= 1;
+ }
+
WM_main_add_notifier(NC_SPACE|ND_SPACE_VIEW3D|NS_VIEW3D_GPU, NULL);
rna_userdef_update(bmain, scene, ptr);
}
@@ -348,36 +361,37 @@ static void rna_def_userdef_theme_ui_style(BlenderRNA *brna)
RNA_def_struct_sdna(srna, "uiStyle");
RNA_def_struct_ui_text(srna, "Style", "Theme settings for style sets");
+ /* (not used yet)
prop= RNA_def_property(srna, "panelzoom", PROP_FLOAT, PROP_NONE);
RNA_def_property_range(prop, 0.5, 2.0);
RNA_def_property_ui_text(prop, "Panel Zoom", "Default zoom level for panel areas");
-
+ */
prop= RNA_def_property(srna, "panel_title", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "paneltitle");
RNA_def_property_struct_type(prop, "ThemeFontStyle");
- RNA_def_property_ui_text(prop, "Panel Font", "");
+ RNA_def_property_ui_text(prop, "Panel Style", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
-
+/* (not used yet)
prop= RNA_def_property(srna, "group_label", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "grouplabel");
RNA_def_property_struct_type(prop, "ThemeFontStyle");
RNA_def_property_ui_text(prop, "Group Label Font", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
-
+*/
prop= RNA_def_property(srna, "widget_label", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "widgetlabel");
RNA_def_property_struct_type(prop, "ThemeFontStyle");
- RNA_def_property_ui_text(prop, "Widget Label Font", "");
+ RNA_def_property_ui_text(prop, "Widget Label Style", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
prop= RNA_def_property(srna, "widget", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "widget");
RNA_def_property_struct_type(prop, "ThemeFontStyle");
- RNA_def_property_ui_text(prop, "Widget Font", "");
+ RNA_def_property_ui_text(prop, "Widget Style", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
}
@@ -864,6 +878,21 @@ static void rna_def_userdef_theme_spaces_curves(StructRNA *srna, short incl_nurb
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Align handle selected color", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ if (incl_nurbs == 0) {
+ /* assume that when nurbs are off, this is for 2D (i.e. anim) editors */
+ prop= RNA_def_property(srna, "handle_auto_clamped", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, NULL, "handle_auto_clamped");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Auto-Clamped handle color", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ prop= RNA_def_property(srna, "handle_sel_auto_clamped", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, NULL, "handle_sel_auto_clamped");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Auto-Clamped handle selected color", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+ }
prop= RNA_def_property(srna, "lastsel_point", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_float_sdna(prop, NULL, "lastsel_point");
@@ -905,6 +934,11 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Lamp", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
+ prop= RNA_def_property(srna, "speaker", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Speaker", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+
prop= RNA_def_property(srna, "object_selected", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_float_sdna(prop, NULL, "select");
RNA_def_property_array(prop, 3);
@@ -1337,6 +1371,13 @@ static void rna_def_userdef_theme_space_node(BlenderRNA *brna)
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Group Node", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ prop= RNA_def_property(srna, "noodle_curving", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "noodle_curving");
+ RNA_def_property_int_default(prop, 5);
+ RNA_def_property_range(prop, 0, 10);
+ RNA_def_property_ui_text(prop, "Noodle curving", "Curving of the noodle");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
}
static void rna_def_userdef_theme_space_logic(BlenderRNA *brna)
@@ -2102,19 +2143,22 @@ static void rna_def_userdef_view(BlenderRNA *brna)
prop= RNA_def_property(srna, "manipulator_size", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "tw_size");
RNA_def_property_range(prop, 2, 40);
+ RNA_def_property_int_default(prop, 15);
RNA_def_property_ui_text(prop, "Manipulator Size", "Diameter of widget, in 10 pixel units");
RNA_def_property_update(prop, 0, "rna_userdef_update");
prop= RNA_def_property(srna, "manipulator_handle_size", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "tw_handlesize");
RNA_def_property_range(prop, 2, 40);
+ RNA_def_property_int_default(prop, 25);
RNA_def_property_ui_text(prop, "Manipulator Handle Size", "Size of widget handles as percentage of widget radius");
RNA_def_property_update(prop, 0, "rna_userdef_update");
prop= RNA_def_property(srna, "manipulator_hotspot", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "tw_hotspot");
RNA_def_property_range(prop, 4, 40);
- RNA_def_property_ui_text(prop, "Manipulator Hotspot", "Hotspot in pixels for clicking widget handles");
+ RNA_def_property_int_default(prop, 14);
+ RNA_def_property_ui_text(prop, "Manipulator Hotspot", "Pixel distance around the handles to accept mouse clicks");
prop= RNA_def_property(srna, "object_origin_size", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "obcenter_dia");
@@ -2201,13 +2245,13 @@ static void rna_def_userdef_edit(BlenderRNA *brna)
/* auto keyframing */
prop= RNA_def_property(srna, "use_auto_keying", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "autokey_mode", AUTOKEY_ON);
- RNA_def_property_ui_text(prop, "Auto Keying Enable", "Automatic keyframe insertion for Objects and Bones");
+ RNA_def_property_ui_text(prop, "Auto Keying Enable", "Automatic keyframe insertion for Objects and Bones (default setting used for new Scenes)");
RNA_def_property_ui_icon(prop, ICON_REC, 0);
prop= RNA_def_property(srna, "auto_keying_mode", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, auto_key_modes);
RNA_def_property_enum_funcs(prop, "rna_userdef_autokeymode_get", "rna_userdef_autokeymode_set", NULL);
- RNA_def_property_ui_text(prop, "Auto Keying Mode", "Mode of automatic keyframe insertion for Objects and Bones");
+ RNA_def_property_ui_text(prop, "Auto Keying Mode", "Mode of automatic keyframe insertion for Objects and Bones (default setting used for new Scenes)");
prop= RNA_def_property(srna, "use_keyframe_insert_available", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "autokey_flag", AUTOKEY_FLAG_INSERTAVAIL);
@@ -2229,12 +2273,12 @@ static void rna_def_userdef_edit(BlenderRNA *brna)
prop= RNA_def_property(srna, "keyframe_new_interpolation_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, beztriple_interpolation_mode_items);
RNA_def_property_enum_sdna(prop, NULL, "ipo_new");
- RNA_def_property_ui_text(prop, "New Interpolation Type", "");
+ RNA_def_property_ui_text(prop, "New Interpolation Type", "Interpolation mode used for first keyframe on newly added F-Curves. Subsequent keyframes take interpolation from preceeding keyframe");
prop= RNA_def_property(srna, "keyframe_new_handle_type", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_items(prop, beztriple_handle_type_items);
+ RNA_def_property_enum_items(prop, keyframe_handle_type_items);
RNA_def_property_enum_sdna(prop, NULL, "keyhandles_new");
- RNA_def_property_ui_text(prop, "New Handles Type", "");
+ RNA_def_property_ui_text(prop, "New Handles Type", "Handle type for handles of new keyframes");
/* frame numbers */
prop= RNA_def_property(srna, "use_negative_frames", PROP_BOOLEAN, PROP_NONE);
@@ -2339,6 +2383,14 @@ static void rna_def_userdef_system(BlenderRNA *brna)
{128, "CLAMP_128", 0, "128", ""},
{0, NULL, 0, NULL, NULL}};
+ static EnumPropertyItem anisotropic_items[] ={
+ {1, "FILTER_0", 0, "Off", ""},
+ {2, "FILTER_2", 0, "2x", ""},
+ {4, "FILTER_4", 0, "4x", ""},
+ {8, "FILTER_8", 0, "8x", ""},
+ {16, "FILTER_16", 0, "16x", ""},
+ {0, NULL, 0, NULL, NULL}};
+
static EnumPropertyItem audio_mixing_samples_items[] = {
{256, "SAMPLES_256", 0, "256", "Set audio mixing buffer size to 256 samples"},
{512, "SAMPLES_512", 0, "512", "Set audio mixing buffer size to 512 samples"},
@@ -2561,6 +2613,13 @@ static void rna_def_userdef_system(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_antialiasing", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "gameflags", USER_DISABLE_AA);
RNA_def_property_ui_text(prop, "Anti-aliasing", "Use anti-aliasing for the 3D view (may impact redraw performance)");
+
+ prop= RNA_def_property(srna, "anisotropic_filter", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "anisotropic_filter");
+ RNA_def_property_enum_items(prop, anisotropic_items);
+ RNA_def_property_enum_default(prop, 1);
+ RNA_def_property_ui_text(prop, "Anisotropic Filter", "The quality of the anisotropic filtering (values greater than 1.0 enable anisotropic filtering)");
+ RNA_def_property_update(prop, 0, "rna_userdef_anisotropic_update");
prop= RNA_def_property(srna, "gl_texture_limit", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "glreslimit");
@@ -2705,17 +2764,43 @@ static void rna_def_userdef_input(BlenderRNA *brna)
RNA_def_property_int_sdna(prop, NULL, "dragthreshold");
RNA_def_property_range(prop, 3, 40);
RNA_def_property_ui_text(prop, "Drag Threshold", "Amount of pixels you have to drag before dragging UI items happens");
-
- prop= RNA_def_property(srna, "ndof_pan_speed", PROP_INT, PROP_NONE);
- RNA_def_property_int_sdna(prop, NULL, "ndof_pan");
- RNA_def_property_range(prop, 0, 200);
- RNA_def_property_ui_text(prop, "NDof Pan Speed", "The overall panning speed of an NDOF device, as percent of standard");
- prop= RNA_def_property(srna, "ndof_rotate_speed", PROP_INT, PROP_NONE);
- RNA_def_property_int_sdna(prop, NULL, "ndof_rotate");
- RNA_def_property_range(prop, 0, 200);
- RNA_def_property_ui_text(prop, "NDof Rotation Speed", "The overall rotation speed of an NDOF device, as percent of standard");
-
+ /* 3D mouse settings */
+ /* global options */
+ prop= RNA_def_property(srna, "ndof_sensitivity", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_range(prop, 0.25f, 4.0f);
+ RNA_def_property_ui_text(prop, "Sensitivity", "Overall sensitivity of the 3D Mouse");
+
+ prop= RNA_def_property(srna, "ndof_zoom_updown", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_ZOOM_UPDOWN);
+ RNA_def_property_ui_text(prop, "Zoom = Up/Down", "Zoom using up/down on the device (otherwise forward/backward)");
+
+ prop= RNA_def_property(srna, "ndof_zoom_invert", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_ZOOM_INVERT);
+ RNA_def_property_ui_text(prop, "Invert Zoom", "Zoom using opposite direction");
+
+ /* 3D view */
+ prop= RNA_def_property(srna, "ndof_show_guide", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_SHOW_GUIDE);
+ RNA_def_property_ui_text(prop, "Show Navigation Guide", "Display the center and axis during rotation");
+ /* TODO: update description when fly-mode visuals are in place ("projected position in fly mode")*/
+
+ /* 3D view: orbit */
+ prop= RNA_def_property(srna, "ndof_orbit_invert_axes", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_ORBIT_INVERT_AXES);
+ RNA_def_property_ui_text(prop, "Invert Axes", "Toggle between moving the viewpoint or moving the scene being viewed");
+ /* in 3Dx docs, this is called 'object mode' vs. 'target camera mode' */
+
+ /* 3D view: fly */
+ prop= RNA_def_property(srna, "ndof_lock_horizon", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_LOCK_HORIZON);
+ RNA_def_property_ui_text(prop, "Lock Horizon", "Keep horizon level while flying with 3D Mouse");
+
+ prop= RNA_def_property(srna, "ndof_fly_helicopter", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_FLY_HELICOPTER);
+ RNA_def_property_ui_text(prop, "Helicopter Mode", "Device up/down directly controls your Z position");
+
+
prop= RNA_def_property(srna, "mouse_double_click_time", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "dbl_click_time");
RNA_def_property_range(prop, 1, 1000);
@@ -2743,12 +2828,6 @@ static void rna_def_userdef_input(BlenderRNA *brna)
RNA_def_property_range(prop, 0, 32);
RNA_def_property_ui_text(prop, "Wheel Scroll Lines", "The number of lines scrolled at a time with the mouse wheel");
- /* U.keymaps - custom keymaps that have been edited from default configs */
- prop= RNA_def_property(srna, "edited_keymaps", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_collection_sdna(prop, NULL, "keymaps", NULL);
- RNA_def_property_struct_type(prop, "KeyMap");
- RNA_def_property_ui_text(prop, "Edited Keymaps", "");
-
prop= RNA_def_property(srna, "active_keyconfig", PROP_STRING, PROP_DIRPATH);
RNA_def_property_string_sdna(prop, NULL, "keyconfigstr");
RNA_def_property_ui_text(prop, "Key Config", "The name of the active key configuration");
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index 7ea4701dec3..a595b121d1a 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -106,6 +106,46 @@ EnumPropertyItem event_timer_type_items[]= {
{TIMER2, "TIMER2", 0, "Timer 2", ""},
{0, NULL, 0, NULL, NULL}};
+EnumPropertyItem event_ndof_type_items[]= {
+ /* buttons on all 3dconnexion devices */
+ {NDOF_BUTTON_MENU, "NDOF_BUTTON_MENU", 0, "Menu", ""},
+ {NDOF_BUTTON_FIT, "NDOF_BUTTON_FIT", 0, "Fit", ""},
+ /* view buttons */
+ {NDOF_BUTTON_TOP, "NDOF_BUTTON_TOP", 0, "Top", ""},
+ {NDOF_BUTTON_BOTTOM, "NDOF_BUTTON_BOTTOM", 0, "Bottom", ""},
+ {NDOF_BUTTON_LEFT, "NDOF_BUTTON_LEFT", 0, "Left", ""},
+ {NDOF_BUTTON_RIGHT, "NDOF_BUTTON_RIGHT", 0, "Right", ""},
+ {NDOF_BUTTON_FRONT, "NDOF_BUTTON_FRONT", 0, "Front", ""},
+ {NDOF_BUTTON_BACK, "NDOF_BUTTON_BACK", 0, "Back", ""},
+ /* more views */
+ {NDOF_BUTTON_ISO1, "NDOF_BUTTON_ISO1", 0, "ISO 1", ""},
+ {NDOF_BUTTON_ISO2, "NDOF_BUTTON_ISO2", 0, "ISO 2", ""},
+ /* 90 degree rotations */
+ {NDOF_BUTTON_ROLL_CW, "NDOF_BUTTON_ROLL_CW", 0, "Roll CW", ""},
+ {NDOF_BUTTON_ROLL_CCW, "NDOF_BUTTON_ROLL_CCW", 0, "Roll CCW", ""},
+ {NDOF_BUTTON_SPIN_CW, "NDOF_BUTTON_SPIN_CW", 0, "Spin CW", ""},
+ {NDOF_BUTTON_SPIN_CCW, "NDOF_BUTTON_SPIN_CCW", 0, "Spin CCW", ""},
+ {NDOF_BUTTON_TILT_CW, "NDOF_BUTTON_TILT_CW", 0, "Tilt CW", ""},
+ {NDOF_BUTTON_TILT_CCW, "NDOF_BUTTON_TILT_CCW", 0, "Tilt CCW", ""},
+ /* device control */
+ {NDOF_BUTTON_ROTATE, "NDOF_BUTTON_ROTATE", 0, "Rotate", ""},
+ {NDOF_BUTTON_PANZOOM, "NDOF_BUTTON_PANZOOM", 0, "Pan/Zoom", ""},
+ {NDOF_BUTTON_DOMINANT, "NDOF_BUTTON_DOMINANT", 0, "Dominant", ""},
+ {NDOF_BUTTON_PLUS, "NDOF_BUTTON_PLUS", 0, "Plus", ""},
+ {NDOF_BUTTON_MINUS, "NDOF_BUTTON_MINUS", 0, "Minus", ""},
+ /* general-purpose buttons */
+ {NDOF_BUTTON_1, "NDOF_BUTTON_1", 0, "Button 1", ""},
+ {NDOF_BUTTON_2, "NDOF_BUTTON_2", 0, "Button 2", ""},
+ {NDOF_BUTTON_3, "NDOF_BUTTON_3", 0, "Button 3", ""},
+ {NDOF_BUTTON_4, "NDOF_BUTTON_4", 0, "Button 4", ""},
+ {NDOF_BUTTON_5, "NDOF_BUTTON_5", 0, "Button 5", ""},
+ {NDOF_BUTTON_6, "NDOF_BUTTON_6", 0, "Button 6", ""},
+ {NDOF_BUTTON_7, "NDOF_BUTTON_7", 0, "Button 7", ""},
+ {NDOF_BUTTON_8, "NDOF_BUTTON_8", 0, "Button 8", ""},
+ {NDOF_BUTTON_9, "NDOF_BUTTON_9", 0, "Button 9", ""},
+ {NDOF_BUTTON_10, "NDOF_BUTTON_10", 0, "Button 10", ""},
+ {0, NULL, 0, NULL, NULL}};
+
/* not returned: CAPSLOCKKEY, UNKNOWNKEY */
EnumPropertyItem event_type_items[] = {
@@ -256,6 +296,44 @@ EnumPropertyItem event_type_items[] = {
{TIMER0, "TIMER0", 0, "Timer 0", ""},
{TIMER1, "TIMER1", 0, "Timer 1", ""},
{TIMER2, "TIMER2", 0, "Timer 2", ""},
+ {0, "", 0, NULL, NULL},
+ /* buttons on all 3dconnexion devices */
+ {NDOF_BUTTON_MENU, "NDOF_BUTTON_MENU", 0, "Menu", ""},
+ {NDOF_BUTTON_FIT, "NDOF_BUTTON_FIT", 0, "Fit", ""},
+ /* view buttons */
+ {NDOF_BUTTON_TOP, "NDOF_BUTTON_TOP", 0, "Top", ""},
+ {NDOF_BUTTON_BOTTOM, "NDOF_BUTTON_BOTTOM", 0, "Bottom", ""},
+ {NDOF_BUTTON_LEFT, "NDOF_BUTTON_LEFT", 0, "Left", ""},
+ {NDOF_BUTTON_RIGHT, "NDOF_BUTTON_RIGHT", 0, "Right", ""},
+ {NDOF_BUTTON_FRONT, "NDOF_BUTTON_FRONT", 0, "Front", ""},
+ {NDOF_BUTTON_BACK, "NDOF_BUTTON_BACK", 0, "Back", ""},
+ /* more views */
+ {NDOF_BUTTON_ISO1, "NDOF_BUTTON_ISO1", 0, "ISO 1", ""},
+ {NDOF_BUTTON_ISO2, "NDOF_BUTTON_ISO2", 0, "ISO 2", ""},
+ /* 90 degree rotations */
+ {NDOF_BUTTON_ROLL_CW, "NDOF_BUTTON_ROLL_CW", 0, "Roll CW", ""},
+ {NDOF_BUTTON_ROLL_CCW, "NDOF_BUTTON_ROLL_CCW", 0, "Roll CCW", ""},
+ {NDOF_BUTTON_SPIN_CW, "NDOF_BUTTON_SPIN_CW", 0, "Spin CW", ""},
+ {NDOF_BUTTON_SPIN_CCW, "NDOF_BUTTON_SPIN_CCW", 0, "Spin CCW", ""},
+ {NDOF_BUTTON_TILT_CW, "NDOF_BUTTON_TILT_CW", 0, "Tilt CW", ""},
+ {NDOF_BUTTON_TILT_CCW, "NDOF_BUTTON_TILT_CCW", 0, "Tilt CCW", ""},
+ /* device control */
+ {NDOF_BUTTON_ROTATE, "NDOF_BUTTON_ROTATE", 0, "Rotate", ""},
+ {NDOF_BUTTON_PANZOOM, "NDOF_BUTTON_PANZOOM", 0, "Pan/Zoom", ""},
+ {NDOF_BUTTON_DOMINANT, "NDOF_BUTTON_DOMINANT", 0, "Dominant", ""},
+ {NDOF_BUTTON_PLUS, "NDOF_BUTTON_PLUS", 0, "Plus", ""},
+ {NDOF_BUTTON_MINUS, "NDOF_BUTTON_MINUS", 0, "Minus", ""},
+ /* general-purpose buttons */
+ {NDOF_BUTTON_1, "NDOF_BUTTON_1", 0, "Button 1", ""},
+ {NDOF_BUTTON_2, "NDOF_BUTTON_2", 0, "Button 2", ""},
+ {NDOF_BUTTON_3, "NDOF_BUTTON_3", 0, "Button 3", ""},
+ {NDOF_BUTTON_4, "NDOF_BUTTON_4", 0, "Button 4", ""},
+ {NDOF_BUTTON_5, "NDOF_BUTTON_5", 0, "Button 5", ""},
+ {NDOF_BUTTON_6, "NDOF_BUTTON_6", 0, "Button 6", ""},
+ {NDOF_BUTTON_7, "NDOF_BUTTON_7", 0, "Button 7", ""},
+ {NDOF_BUTTON_8, "NDOF_BUTTON_8", 0, "Button 8", ""},
+ {NDOF_BUTTON_9, "NDOF_BUTTON_9", 0, "Button 9", ""},
+ {NDOF_BUTTON_10, "NDOF_BUTTON_10", 0, "Button 10", ""},
{0, NULL, 0, NULL, NULL}};
EnumPropertyItem keymap_propvalue_items[] = {
@@ -303,6 +381,7 @@ EnumPropertyItem wm_report_items[] = {
#define KMI_TYPE_TWEAK 2
#define KMI_TYPE_TEXTINPUT 3
#define KMI_TYPE_TIMER 4
+#define KMI_TYPE_NDOF 5
#ifdef RNA_RUNTIME
@@ -403,13 +482,13 @@ static void rna_Window_screen_set(PointerRNA *ptr, PointerRNA value)
win->newscreen= value.data;
}
-static void rna_Window_screen_update(bContext *C, PointerRNA *ptr)
+static void rna_Window_screen_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
wmWindow *win= (wmWindow*)ptr->data;
/* exception: can't set screens inside of area/region handers */
if(win->newscreen) {
- WM_event_add_notifier(C, NC_SCREEN|ND_SCREENBROWSE, win->newscreen);
+ WM_main_add_notifier(NC_SCREEN|ND_SCREENBROWSE, win->newscreen);
win->newscreen= NULL;
}
}
@@ -433,6 +512,7 @@ static int rna_wmKeyMapItem_map_type_get(PointerRNA *ptr)
if(ISKEYBOARD(kmi->type)) return KMI_TYPE_KEYBOARD;
if(ISTWEAK(kmi->type)) return KMI_TYPE_TWEAK;
if(ISMOUSE(kmi->type)) return KMI_TYPE_MOUSE;
+ if(ISNDOF(kmi->type)) return KMI_TYPE_NDOF;
if(kmi->type == KM_TEXTINPUT) return KMI_TYPE_TEXTINPUT;
return KMI_TYPE_KEYBOARD;
}
@@ -464,6 +544,10 @@ static void rna_wmKeyMapItem_map_type_set(PointerRNA *ptr, int value)
kmi->type= TIMER;
kmi->val= KM_NOTHING;
break;
+ case KMI_TYPE_NDOF:
+ kmi->type = NDOF_BUTTON_MENU;
+ kmi->val = KM_NOTHING;
+ break;
}
}
}
@@ -475,6 +559,7 @@ static EnumPropertyItem *rna_KeyMapItem_type_itemf(bContext *UNUSED(C), PointerR
if(map_type == KMI_TYPE_MOUSE) return event_mouse_type_items;
if(map_type == KMI_TYPE_TWEAK) return event_tweak_type_items;
if(map_type == KMI_TYPE_TIMER) return event_timer_type_items;
+ if(map_type == KMI_TYPE_NDOF) return event_ndof_type_items;
else return event_type_items;
}
@@ -482,7 +567,7 @@ static EnumPropertyItem *rna_KeyMapItem_value_itemf(bContext *UNUSED(C), Pointer
{
int map_type= rna_wmKeyMapItem_map_type_get(ptr);
- if(map_type == KMI_TYPE_MOUSE || map_type == KMI_TYPE_KEYBOARD) return event_keymouse_value_items;
+ if(map_type == KMI_TYPE_MOUSE || map_type == KMI_TYPE_KEYBOARD || map_type == KMI_TYPE_NDOF) return event_keymouse_value_items;
if(map_type == KMI_TYPE_TWEAK) return event_tweak_value_items;
else return event_value_items;
}
@@ -493,22 +578,6 @@ static EnumPropertyItem *rna_KeyMapItem_propvalue_itemf(bContext *C, PointerRNA
wmKeyConfig *kc;
wmKeyMap *km;
- /* check user keymaps */
- for(km=U.keymaps.first; km; km=km->next) {
- wmKeyMapItem *kmi;
- for (kmi=km->items.first; kmi; kmi=kmi->next) {
- if (kmi == ptr->data) {
- if (!km->modal_items) {
- if (!WM_keymap_user_init(wm, km)) {
- return keymap_propvalue_items; /* ERROR */
- }
- }
-
- return km->modal_items;
- }
- }
- }
-
for(kc=wm->keyconfigs.first; kc; kc=kc->next) {
for(km=kc->keymaps.first; km; km=km->next) {
/* only check if it's a modal keymap */
@@ -569,12 +638,13 @@ static PointerRNA rna_WindowManager_active_keyconfig_get(PointerRNA *ptr)
return rna_pointer_inherit_refine(ptr, &RNA_KeyConfig, kc);
}
-static void rna_WindowManager_active_keyconfig_set(PointerRNA *UNUSED(ptr), PointerRNA value)
+static void rna_WindowManager_active_keyconfig_set(PointerRNA *ptr, PointerRNA value)
{
+ wmWindowManager *wm= ptr->data;
wmKeyConfig *kc= value.data;
if(kc)
- BLI_strncpy(U.keyconfigstr, kc->idname, sizeof(U.keyconfigstr));
+ WM_keyconfig_set_active(wm, kc->idname);
}
static void rna_wmKeyMapItem_idname_get(PointerRNA *ptr, char *value)
@@ -610,20 +680,14 @@ static void rna_wmKeyMapItem_name_get(PointerRNA *ptr, char *value)
{
wmKeyMapItem *kmi= ptr->data;
wmOperatorType *ot= WM_operatortype_find(kmi->idname, 1);
-
- if (ot)
- strcpy(value, ot->name);
+ strcpy(value, ot ? ot->name : kmi->idname);
}
static int rna_wmKeyMapItem_name_length(PointerRNA *ptr)
{
wmKeyMapItem *kmi= ptr->data;
wmOperatorType *ot= WM_operatortype_find(kmi->idname, 1);
-
- if (ot)
- return strlen(ot->name);
- else
- return 0;
+ return strlen(ot ? ot->name : kmi->idname);
}
static int rna_KeyMapItem_userdefined_get(PointerRNA *ptr)
@@ -940,7 +1004,7 @@ static StructRNA *rna_Operator_register(Main *bmain, ReportList *reports, void *
rna_Operator_unregister(bmain, ot->ext.srna);
}
- /* create a new menu type */
+ /* create a new operator type */
dummyot.ext.srna= RNA_def_struct(&BLENDER_RNA, dummyot.idname, "Operator");
RNA_def_struct_flag(dummyot.ext.srna, STRUCT_NO_IDPROPERTIES); /* operator properties are registered separately */
dummyot.ext.data= data;
@@ -1045,93 +1109,6 @@ static StructRNA* rna_MacroOperator_refine(PointerRNA *opr)
return (op->type && op->type->ext.srna)? op->type->ext.srna: &RNA_Macro;
}
-static wmKeyMapItem *rna_KeyMap_item_new(wmKeyMap *km, ReportList *reports, const char *idname, int type, int value, int any, int shift, int ctrl, int alt, int oskey, int keymodifier)
-{
-// wmWindowManager *wm = CTX_wm_manager(C);
- char idname_bl[OP_MAX_TYPENAME];
- int modifier= 0;
-
- /* only on non-modal maps */
- if (km->flag & KEYMAP_MODAL) {
- BKE_report(reports, RPT_ERROR, "Not a non-modal keymap.");
- return NULL;
- }
-
- WM_operator_bl_idname(idname_bl, idname);
-
- if(shift) modifier |= KM_SHIFT;
- if(ctrl) modifier |= KM_CTRL;
- if(alt) modifier |= KM_ALT;
- if(oskey) modifier |= KM_OSKEY;
-
- if(any) modifier = KM_ANY;
-
- return WM_keymap_add_item(km, idname_bl, type, value, modifier, keymodifier);
-}
-
-static wmKeyMapItem *rna_KeyMap_item_new_modal(wmKeyMap *km, bContext *C, ReportList *reports, const char *propvalue_str, int type, int value, int any, int shift, int ctrl, int alt, int oskey, int keymodifier)
-{
- wmWindowManager *wm = CTX_wm_manager(C);
- int modifier= 0;
- int propvalue = 0;
-
- /* only modal maps */
- if ((km->flag & KEYMAP_MODAL) == 0) {
- BKE_report(reports, RPT_ERROR, "Not a modal keymap.");
- return NULL;
- }
-
- if (!km->modal_items) {
- if(!WM_keymap_user_init(wm, km)) {
- BKE_report(reports, RPT_ERROR, "User defined keymap doesn't correspond to a system keymap.");
- return NULL;
- }
- }
-
- if (!km->modal_items) {
- BKE_report(reports, RPT_ERROR, "No property values defined.");
- return NULL;
- }
-
-
- if(RNA_enum_value_from_id(km->modal_items, propvalue_str, &propvalue)==0) {
- BKE_report(reports, RPT_WARNING, "Property value not in enumeration.");
- }
-
- if(shift) modifier |= KM_SHIFT;
- if(ctrl) modifier |= KM_CTRL;
- if(alt) modifier |= KM_ALT;
- if(oskey) modifier |= KM_OSKEY;
-
- if(any) modifier = KM_ANY;
-
- return WM_modalkeymap_add_item(km, type, value, modifier, keymodifier, propvalue);
-}
-
-static wmKeyMap *rna_keymap_new(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid, int modal)
-{
- if (modal == 0) {
- return WM_keymap_find(keyconf, idname, spaceid, regionid);
- } else {
- return WM_modalkeymap_add(keyconf, idname, NULL); /* items will be lazy init */
- }
-}
-
-static wmKeyMap *rna_keymap_find(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
-{
- return WM_keymap_list_find(&keyconf->keymaps, idname, spaceid, regionid);
-}
-
-static wmKeyMap *rna_keymap_find_modal(wmKeyConfig *UNUSED(keyconf), const char *idname)
-{
- wmOperatorType *ot = WM_operatortype_find(idname, 0);
-
- if (!ot)
- return NULL;
- else
- return ot->modalkeymap;
-}
-
/* just to work around 'const char *' warning and to ensure this is a python op */
static void rna_Operator_bl_idname_set(PointerRNA *ptr, const char *value)
{
@@ -1157,6 +1134,12 @@ static void rna_Operator_bl_description_set(PointerRNA *ptr, const char *value)
else assert(!"setting the bl_description on a non-builtin operator");
}
+static void rna_KeyMapItem_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ wmKeyMapItem *kmi= ptr->data;
+ WM_keyconfig_update_tag(NULL, kmi);
+}
+
#else /* RNA_RUNTIME */
static void rna_def_operator(BlenderRNA *brna)
@@ -1471,7 +1454,6 @@ static void rna_def_window(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Screen", "Active screen showing in the window");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_pointer_funcs(prop, NULL, "rna_Window_screen_set", NULL, NULL);
- RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_update(prop, 0, "rna_Window_screen_update");
}
@@ -1481,9 +1463,6 @@ static void rna_def_wm_keyconfigs(BlenderRNA *brna, PropertyRNA *cprop)
StructRNA *srna;
PropertyRNA *prop;
- FunctionRNA *func;
- PropertyRNA *parm;
-
RNA_def_property_srna(cprop, "KeyConfigurations");
srna= RNA_def_struct(brna, "KeyConfigurations", NULL);
RNA_def_struct_sdna(srna, "wmWindowManager");
@@ -1493,23 +1472,24 @@ static void rna_def_wm_keyconfigs(BlenderRNA *brna, PropertyRNA *cprop)
RNA_def_property_struct_type(prop, "KeyConfig");
RNA_def_property_pointer_funcs(prop, "rna_WindowManager_active_keyconfig_get", "rna_WindowManager_active_keyconfig_set", NULL, NULL);
RNA_def_property_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "Active KeyConfig", "Active wm KeyConfig");
+ RNA_def_property_ui_text(prop, "Active KeyConfig", "Active key configuration (preset)");
prop= RNA_def_property(srna, "default", PROP_POINTER, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "defaultconf");
RNA_def_property_struct_type(prop, "KeyConfig");
- RNA_def_property_ui_text(prop, "Default Key Configuration", "");
+ RNA_def_property_ui_text(prop, "Default Key Configuration", "Default builtin key configuration");
+
+ prop= RNA_def_property(srna, "addon", PROP_POINTER, PROP_NEVER_NULL);
+ RNA_def_property_pointer_sdna(prop, NULL, "addonconf");
+ RNA_def_property_struct_type(prop, "KeyConfig");
+ RNA_def_property_ui_text(prop, "Addon Key Configuration", "Key configuration that can be extended by addons, and is added to the active configuration when handling events");
+
+ prop= RNA_def_property(srna, "user", PROP_POINTER, PROP_NEVER_NULL);
+ RNA_def_property_pointer_sdna(prop, NULL, "userconf");
+ RNA_def_property_struct_type(prop, "KeyConfig");
+ RNA_def_property_ui_text(prop, "User Key Configuration", "Final key configuration that combines keymaps from the active and addon configurations, and can be edited by the user");
- /* funcs */
- func= RNA_def_function(srna, "new", "WM_keyconfig_new_user"); // add_keyconfig
- parm= RNA_def_string(func, "name", "", 0, "Name", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_pointer(func, "keyconfig", "KeyConfig", "Key Configuration", "Added key configuration.");
- RNA_def_function_return(func, parm);
-
- func= RNA_def_function(srna, "remove", "WM_keyconfig_remove"); // remove_keyconfig
- parm= RNA_def_pointer(func, "keyconfig", "KeyConfig", "Key Configuration", "Removed key configuration.");
- RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_api_keyconfigs(srna);
}
static void rna_def_windowmanager(BlenderRNA *brna)
@@ -1546,113 +1526,37 @@ static void rna_def_windowmanager(BlenderRNA *brna)
static void rna_def_keymap_items(BlenderRNA *brna, PropertyRNA *cprop)
{
StructRNA *srna;
-// PropertyRNA *prop;
-
- FunctionRNA *func;
- PropertyRNA *parm;
RNA_def_property_srna(cprop, "KeyMapItems");
srna= RNA_def_struct(brna, "KeyMapItems", NULL);
RNA_def_struct_sdna(srna, "wmKeyMap");
RNA_def_struct_ui_text(srna, "KeyMap Items", "Collection of keymap items");
- func= RNA_def_function(srna, "new", "rna_KeyMap_item_new");
- RNA_def_function_flag(func, FUNC_USE_REPORTS);
- parm= RNA_def_string(func, "idname", "", 0, "Operator Identifier", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_enum(func, "type", event_type_items, 0, "Type", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_enum(func, "value", event_value_items, 0, "Value", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- RNA_def_boolean(func, "any", 0, "Any", "");
- RNA_def_boolean(func, "shift", 0, "Shift", "");
- RNA_def_boolean(func, "ctrl", 0, "Ctrl", "");
- RNA_def_boolean(func, "alt", 0, "Alt", "");
- RNA_def_boolean(func, "oskey", 0, "OS Key", "");
- RNA_def_enum(func, "key_modifier", event_type_items, 0, "Key Modifier", "");
- parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "Added key map item.");
- RNA_def_function_return(func, parm);
-
- func= RNA_def_function(srna, "new_modal", "rna_KeyMap_item_new_modal");
- RNA_def_function_flag(func, FUNC_USE_CONTEXT|FUNC_USE_REPORTS);
- parm= RNA_def_string(func, "propvalue", "", 0, "Property Value", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_enum(func, "type", event_type_items, 0, "Type", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_enum(func, "value", event_value_items, 0, "Value", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- RNA_def_boolean(func, "any", 0, "Any", "");
- RNA_def_boolean(func, "shift", 0, "Shift", "");
- RNA_def_boolean(func, "ctrl", 0, "Ctrl", "");
- RNA_def_boolean(func, "alt", 0, "Alt", "");
- RNA_def_boolean(func, "oskey", 0, "OS Key", "");
- RNA_def_enum(func, "key_modifier", event_type_items, 0, "Key Modifier", "");
- parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "Added key map item.");
- RNA_def_function_return(func, parm);
-
- func= RNA_def_function(srna, "remove", "WM_keymap_remove_item");
- parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
-
- func= RNA_def_function(srna, "from_id", "WM_keymap_item_find_id");
- parm= RNA_def_property(func, "id", PROP_INT, PROP_NONE);
- RNA_def_property_flag(parm, PROP_REQUIRED);
- RNA_def_property_ui_text(parm, "id", "ID of the item");
- parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "");
- RNA_def_function_return(func, parm);
-
+ RNA_api_keymapitems(srna);
}
static void rna_def_wm_keymaps(BlenderRNA *brna, PropertyRNA *cprop)
{
StructRNA *srna;
- //PropertyRNA *prop;
-
- FunctionRNA *func;
- PropertyRNA *parm;
-
RNA_def_property_srna(cprop, "KeyMaps");
srna= RNA_def_struct(brna, "KeyMaps", NULL);
RNA_def_struct_sdna(srna, "wmKeyConfig");
RNA_def_struct_ui_text(srna, "Key Maps", "Collection of keymaps");
- func= RNA_def_function(srna, "new", "rna_keymap_new"); // add_keymap
- parm= RNA_def_string(func, "name", "", 0, "Name", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- RNA_def_enum(func, "space_type", space_type_items, SPACE_EMPTY, "Space Type", "");
- RNA_def_enum(func, "region_type", region_type_items, RGN_TYPE_WINDOW, "Region Type", "");
- RNA_def_boolean(func, "modal", 0, "Modal", "");
- parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Added key map.");
- RNA_def_function_return(func, parm);
-
- func= RNA_def_function(srna, "find", "rna_keymap_find"); // find_keymap
- parm= RNA_def_string(func, "name", "", 0, "Name", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- RNA_def_enum(func, "space_type", space_type_items, SPACE_EMPTY, "Space Type", "");
- RNA_def_enum(func, "region_type", region_type_items, RGN_TYPE_WINDOW, "Region Type", "");
- parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Corresponding key map.");
- RNA_def_function_return(func, parm);
-
- func= RNA_def_function(srna, "find_modal", "rna_keymap_find_modal"); // find_keymap_modal
- parm= RNA_def_string(func, "name", "", 0, "Operator Name", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Corresponding key map.");
- RNA_def_function_return(func, parm);
-
+ RNA_api_keymaps(srna);
}
static void rna_def_keyconfig(BlenderRNA *brna)
{
StructRNA *srna;
- // FunctionRNA *func;
- // PropertyRNA *parm;
PropertyRNA *prop;
static EnumPropertyItem map_type_items[] = {
{KMI_TYPE_KEYBOARD, "KEYBOARD", 0, "Keyboard", ""},
{KMI_TYPE_TWEAK, "TWEAK", 0, "Tweak", ""},
{KMI_TYPE_MOUSE, "MOUSE", 0, "Mouse", ""},
+ {KMI_TYPE_NDOF, "NDOF", 0, "NDOF", ""},
{KMI_TYPE_TEXTINPUT, "TEXTINPUT", 0, "Text Input", ""},
{KMI_TYPE_TIMER, "TIMER", 0, "Timer", ""},
{0, NULL, 0, NULL, NULL}};
@@ -1708,8 +1612,8 @@ static void rna_def_keyconfig(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Items", "Items in the keymap, linking an operator to an input event");
rna_def_keymap_items(brna, prop);
- prop= RNA_def_property(srna, "is_user_defined", PROP_BOOLEAN, PROP_NEVER_NULL);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", KEYMAP_USER);
+ prop= RNA_def_property(srna, "is_user_modified", PROP_BOOLEAN, PROP_NEVER_NULL);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", KEYMAP_USER_MODIFIED);
RNA_def_property_ui_text(prop, "User Defined", "Keymap is defined by the user");
prop= RNA_def_property(srna, "is_modal", PROP_BOOLEAN, PROP_NONE);
@@ -1740,7 +1644,10 @@ static void rna_def_keyconfig(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Identifier", "Identifier of operator to call on input event");
RNA_def_property_string_funcs(prop, "rna_wmKeyMapItem_idname_get", "rna_wmKeyMapItem_idname_length", "rna_wmKeyMapItem_idname_set");
RNA_def_struct_name_property(srna, prop);
-
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
+
+ /* this is infact the operator name, but if the operator can't be found we
+ * fallback on the operator ID */
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Name", "Name of operator to call on input event");
@@ -1750,62 +1657,73 @@ static void rna_def_keyconfig(BlenderRNA *brna)
RNA_def_property_struct_type(prop, "OperatorProperties");
RNA_def_property_pointer_funcs(prop, "rna_KeyMapItem_properties_get", NULL, NULL, NULL);
RNA_def_property_ui_text(prop, "Properties", "Properties to set when the operator is called");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "map_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "maptype");
RNA_def_property_enum_items(prop, map_type_items);
RNA_def_property_enum_funcs(prop, "rna_wmKeyMapItem_map_type_get", "rna_wmKeyMapItem_map_type_set", NULL);
RNA_def_property_ui_text(prop, "Map Type", "Type of event mapping");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "type");
RNA_def_property_enum_items(prop, event_type_items);
RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_KeyMapItem_type_itemf");
RNA_def_property_ui_text(prop, "Type", "Type of event");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "value", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "val");
RNA_def_property_enum_items(prop, event_value_items);
RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_KeyMapItem_value_itemf");
RNA_def_property_ui_text(prop, "Value", "");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "id", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "id");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "id", "ID of the item");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "any", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_funcs(prop, "rna_KeyMapItem_any_getf", "rna_KeyMapItem_any_setf");
RNA_def_property_ui_text(prop, "Any", "Any modifier keys pressed");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "shift", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "shift", 0);
// RNA_def_property_enum_sdna(prop, NULL, "shift");
// RNA_def_property_enum_items(prop, keymap_modifiers_items);
RNA_def_property_ui_text(prop, "Shift", "Shift key pressed");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "ctrl", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "ctrl", 0);
// RNA_def_property_enum_sdna(prop, NULL, "ctrl");
// RNA_def_property_enum_items(prop, keymap_modifiers_items);
RNA_def_property_ui_text(prop, "Ctrl", "Control key pressed");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "alt", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "alt", 0);
// RNA_def_property_enum_sdna(prop, NULL, "alt");
// RNA_def_property_enum_items(prop, keymap_modifiers_items);
RNA_def_property_ui_text(prop, "Alt", "Alt key pressed");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "oskey", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "oskey", 0);
// RNA_def_property_enum_sdna(prop, NULL, "oskey");
// RNA_def_property_enum_items(prop, keymap_modifiers_items);
RNA_def_property_ui_text(prop, "OS Key", "Operating system key pressed");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "key_modifier", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "keymodifier");
RNA_def_property_enum_items(prop, event_type_items);
RNA_def_property_ui_text(prop, "Key Modifier", "Regular key pressed as a modifier");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "show_expanded", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", KMI_EXPANDED);
@@ -1817,15 +1735,22 @@ static void rna_def_keyconfig(BlenderRNA *brna)
RNA_def_property_enum_items(prop, keymap_propvalue_items);
RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_KeyMapItem_propvalue_itemf");
RNA_def_property_ui_text(prop, "Property Value", "The value this event translates to in a modal keymap");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "active", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", KMI_INACTIVE);
RNA_def_property_ui_text(prop, "Active", "Activate or deactivate item");
RNA_def_property_ui_icon(prop, ICON_CHECKBOX_DEHLT, 1);
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
+
+ prop= RNA_def_property(srna, "is_user_modified", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", KMI_USER_MODIFIED);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "User Modified", "Is this keymap item modified by the user");
prop= RNA_def_property(srna, "is_user_defined", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "User Defined", "Is this keymap item user defined (doesn't just override a builtin item)");
+ RNA_def_property_ui_text(prop, "User Defined", "Is this keymap item user defined (doesn't just replace a builtin item)");
RNA_def_property_boolean_funcs(prop, "rna_KeyMapItem_userdefined_get", NULL);
RNA_api_keymapitem(srna);
diff --git a/source/blender/makesrna/intern/rna_wm_api.c b/source/blender/makesrna/intern/rna_wm_api.c
index e250cc84aa3..89e946f498a 100644
--- a/source/blender/makesrna/intern/rna_wm_api.c
+++ b/source/blender/makesrna/intern/rna_wm_api.c
@@ -84,6 +84,85 @@ void rna_event_timer_remove(struct wmWindowManager *wm, wmTimer *timer)
WM_event_remove_timer(wm, timer->win, timer);
}
+static wmKeyMapItem *rna_KeyMap_item_new(wmKeyMap *km, ReportList *reports, const char *idname, int type, int value, int any, int shift, int ctrl, int alt, int oskey, int keymodifier)
+{
+// wmWindowManager *wm = CTX_wm_manager(C);
+ char idname_bl[OP_MAX_TYPENAME];
+ int modifier= 0;
+
+ /* only on non-modal maps */
+ if (km->flag & KEYMAP_MODAL) {
+ BKE_report(reports, RPT_ERROR, "Not a non-modal keymap.");
+ return NULL;
+ }
+
+ WM_operator_bl_idname(idname_bl, idname);
+
+ if(shift) modifier |= KM_SHIFT;
+ if(ctrl) modifier |= KM_CTRL;
+ if(alt) modifier |= KM_ALT;
+ if(oskey) modifier |= KM_OSKEY;
+
+ if(any) modifier = KM_ANY;
+
+ return WM_keymap_add_item(km, idname_bl, type, value, modifier, keymodifier);
+}
+
+static wmKeyMapItem *rna_KeyMap_item_new_modal(wmKeyMap *km, ReportList *reports, const char *propvalue_str, int type, int value, int any, int shift, int ctrl, int alt, int oskey, int keymodifier)
+{
+ int modifier= 0;
+ int propvalue = 0;
+
+ /* only modal maps */
+ if ((km->flag & KEYMAP_MODAL) == 0) {
+ BKE_report(reports, RPT_ERROR, "Not a modal keymap.");
+ return NULL;
+ }
+
+ if (!km->modal_items) {
+ BKE_report(reports, RPT_ERROR, "No property values defined.");
+ return NULL;
+ }
+
+
+ if(RNA_enum_value_from_id(km->modal_items, propvalue_str, &propvalue)==0) {
+ BKE_report(reports, RPT_WARNING, "Property value not in enumeration.");
+ }
+
+ if(shift) modifier |= KM_SHIFT;
+ if(ctrl) modifier |= KM_CTRL;
+ if(alt) modifier |= KM_ALT;
+ if(oskey) modifier |= KM_OSKEY;
+
+ if(any) modifier = KM_ANY;
+
+ return WM_modalkeymap_add_item(km, type, value, modifier, keymodifier, propvalue);
+}
+
+static wmKeyMap *rna_keymap_new(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid, int modal)
+{
+ if (modal == 0) {
+ return WM_keymap_find(keyconf, idname, spaceid, regionid);
+ } else {
+ return WM_modalkeymap_add(keyconf, idname, NULL); /* items will be lazy init */
+ }
+}
+
+static wmKeyMap *rna_keymap_find(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
+{
+ return WM_keymap_list_find(&keyconf->keymaps, idname, spaceid, regionid);
+}
+
+static wmKeyMap *rna_keymap_find_modal(wmKeyConfig *UNUSED(keyconf), const char *idname)
+{
+ wmOperatorType *ot = WM_operatortype_find(idname, 0);
+
+ if (!ot)
+ return NULL;
+ else
+ return ot->modalkeymap;
+}
+
#else
#define WM_GEN_INVOKE_EVENT (1<<0)
@@ -205,7 +284,7 @@ void RNA_api_operator(StructRNA *srna)
/* check */
func= RNA_def_function(srna, "check", NULL);
- RNA_def_function_ui_description(func, "Check the operator settings.");
+ RNA_def_function_ui_description(func, "Check the operator settings, return True to signal a change to redraw.");
RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
parm= RNA_def_pointer(func, "context", "Context", "", "");
RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL);
@@ -301,11 +380,8 @@ void RNA_api_keymap(StructRNA *srna)
parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Active key map.");
RNA_def_function_return(func, parm);
- func= RNA_def_function(srna, "copy_to_user", "WM_keymap_copy_to_user");
- parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "User editable key map.");
- RNA_def_function_return(func, parm);
-
- RNA_def_function(srna, "restore_to_default", "WM_keymap_restore_to_default");
+ func= RNA_def_function(srna, "restore_to_default", "WM_keymap_restore_to_default");
+ RNA_def_function_flag(func, FUNC_USE_CONTEXT);
func= RNA_def_function(srna, "restore_item_to_default", "rna_keymap_restore_item_to_default");
RNA_def_function_flag(func, FUNC_USE_CONTEXT);
@@ -324,5 +400,102 @@ void RNA_api_keymapitem(StructRNA *srna)
parm= RNA_def_boolean(func, "result", 0, "Comparison result", "");
RNA_def_function_return(func, parm);
}
+
+void RNA_api_keymapitems(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ func= RNA_def_function(srna, "new", "rna_KeyMap_item_new");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS);
+ parm= RNA_def_string(func, "idname", "", 0, "Operator Identifier", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_enum(func, "type", event_type_items, 0, "Type", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_enum(func, "value", event_value_items, 0, "Value", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_boolean(func, "any", 0, "Any", "");
+ RNA_def_boolean(func, "shift", 0, "Shift", "");
+ RNA_def_boolean(func, "ctrl", 0, "Ctrl", "");
+ RNA_def_boolean(func, "alt", 0, "Alt", "");
+ RNA_def_boolean(func, "oskey", 0, "OS Key", "");
+ RNA_def_enum(func, "key_modifier", event_type_items, 0, "Key Modifier", "");
+ parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "Added key map item.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "new_modal", "rna_KeyMap_item_new_modal");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS);
+ parm= RNA_def_string(func, "propvalue", "", 0, "Property Value", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_enum(func, "type", event_type_items, 0, "Type", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_enum(func, "value", event_value_items, 0, "Value", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_boolean(func, "any", 0, "Any", "");
+ RNA_def_boolean(func, "shift", 0, "Shift", "");
+ RNA_def_boolean(func, "ctrl", 0, "Ctrl", "");
+ RNA_def_boolean(func, "alt", 0, "Alt", "");
+ RNA_def_boolean(func, "oskey", 0, "OS Key", "");
+ RNA_def_enum(func, "key_modifier", event_type_items, 0, "Key Modifier", "");
+ parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "Added key map item.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "remove", "WM_keymap_remove_item");
+ parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+
+ func= RNA_def_function(srna, "from_id", "WM_keymap_item_find_id");
+ parm= RNA_def_property(func, "id", PROP_INT, PROP_NONE);
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_property_ui_text(parm, "id", "ID of the item");
+ parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "");
+ RNA_def_function_return(func, parm);
+}
+
+void RNA_api_keymaps(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ func= RNA_def_function(srna, "new", "rna_keymap_new"); // add_keymap
+ parm= RNA_def_string(func, "name", "", 0, "Name", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_enum(func, "space_type", space_type_items, SPACE_EMPTY, "Space Type", "");
+ RNA_def_enum(func, "region_type", region_type_items, RGN_TYPE_WINDOW, "Region Type", "");
+ RNA_def_boolean(func, "modal", 0, "Modal", "");
+ parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Added key map.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "find", "rna_keymap_find"); // find_keymap
+ parm= RNA_def_string(func, "name", "", 0, "Name", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_enum(func, "space_type", space_type_items, SPACE_EMPTY, "Space Type", "");
+ RNA_def_enum(func, "region_type", region_type_items, RGN_TYPE_WINDOW, "Region Type", "");
+ parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Corresponding key map.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "find_modal", "rna_keymap_find_modal"); // find_keymap_modal
+ parm= RNA_def_string(func, "name", "", 0, "Operator Name", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Corresponding key map.");
+ RNA_def_function_return(func, parm);
+}
+
+void RNA_api_keyconfigs(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ func= RNA_def_function(srna, "new", "WM_keyconfig_new_user"); // add_keyconfig
+ parm= RNA_def_string(func, "name", "", 0, "Name", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_pointer(func, "keyconfig", "KeyConfig", "Key Configuration", "Added key configuration.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "remove", "WM_keyconfig_remove"); // remove_keyconfig
+ parm= RNA_def_pointer(func, "keyconfig", "KeyConfig", "Key Configuration", "Removed key configuration.");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+}
+
#endif
diff --git a/source/blender/makesrna/intern/rna_world.c b/source/blender/makesrna/intern/rna_world.c
index 72b54dce473..11ec327c306 100644
--- a/source/blender/makesrna/intern/rna_world.c
+++ b/source/blender/makesrna/intern/rna_world.c
@@ -360,7 +360,7 @@ static void rna_def_lighting(BlenderRNA *brna)
prop= RNA_def_property(srna, "samples", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "aosamp");
- RNA_def_property_range(prop, 1, 32);
+ RNA_def_property_range(prop, 1, 128);
RNA_def_property_ui_text(prop, "Samples", "Amount of ray samples. Higher values give smoother results and longer rendering times");
RNA_def_property_update(prop, 0, "rna_World_update");
diff --git a/source/blender/modifiers/CMakeLists.txt b/source/blender/modifiers/CMakeLists.txt
index 15c8d05f27d..52755f02056 100644
--- a/source/blender/modifiers/CMakeLists.txt
+++ b/source/blender/modifiers/CMakeLists.txt
@@ -25,17 +25,19 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- . ./intern
+ .
+ intern
+ ../blenkernel
+ ../blenkernel/intern
../blenlib
../blenloader
../makesdna
- ../blenkernel
- ../blenkernel/intern
+ ../makesrna
../render/extern/include
../editors/include
../gpu
- ../../../intern/guardedalloc
../../../intern/elbeem/extern
+ ../../../intern/guardedalloc
../../../extern/recastnavigation/Recast/Include
)
@@ -103,7 +105,9 @@ endif()
if(WITH_MOD_DECIMATE)
add_definitions(-DWITH_MOD_DECIMATE)
- list(APPEND INC ../../../intern/decimation/extern)
+ list(APPEND INC
+ ../../../intern/decimation/extern
+ )
endif()
if(NOT WITH_MOD_FLUID)
diff --git a/source/blender/modifiers/SConscript b/source/blender/modifiers/SConscript
index 5d40803fb59..f90e637d151 100644
--- a/source/blender/modifiers/SConscript
+++ b/source/blender/modifiers/SConscript
@@ -6,7 +6,7 @@ sources = env.Glob('intern/*.c') + env.Glob('intern/*.cpp')
incs = '. ./intern'
incs += ' #/intern/guardedalloc #/intern/decimation/extern #/intern/bsp/extern #/intern/elbeem/extern #/extern/glew/include'
incs += ' ../render/extern/include ../blenloader'
-incs += ' ../include ../blenlib ../makesdna ../blenkernel ../blenkernel/intern'
+incs += ' ../include ../blenlib ../makesdna ../makesrna ../blenkernel ../blenkernel/intern'
incs += ' ../editors/include ../gpu'
incs += ' #extern/recastnavigation/Recast/Include'
diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c
index a0ee047e319..0b46d950950 100644
--- a/source/blender/modifiers/intern/MOD_armature.c
+++ b/source/blender/modifiers/intern/MOD_armature.c
@@ -213,4 +213,5 @@ ModifierTypeInfo modifierType_Armature = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c
index 90954fef1c7..c7fa75478f0 100644
--- a/source/blender/modifiers/intern/MOD_array.c
+++ b/source/blender/modifiers/intern/MOD_array.c
@@ -826,4 +826,5 @@ ModifierTypeInfo modifierType_Array = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c
index 323ed71dd74..277f404f64d 100644
--- a/source/blender/modifiers/intern/MOD_bevel.c
+++ b/source/blender/modifiers/intern/MOD_bevel.c
@@ -150,4 +150,5 @@ ModifierTypeInfo modifierType_Bevel = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c
index 4b4d0124aae..761f8dd0add 100644
--- a/source/blender/modifiers/intern/MOD_boolean.c
+++ b/source/blender/modifiers/intern/MOD_boolean.c
@@ -197,4 +197,5 @@ ModifierTypeInfo modifierType_Boolean = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c
index e293be5886d..1c56d81a798 100644
--- a/source/blender/modifiers/intern/MOD_build.c
+++ b/source/blender/modifiers/intern/MOD_build.c
@@ -299,5 +299,6 @@ ModifierTypeInfo modifierType_Build = {
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
- /* foreachIDLink */ NULL
+ /* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c
index 5cb352ef482..4061128b5ad 100644
--- a/source/blender/modifiers/intern/MOD_cast.c
+++ b/source/blender/modifiers/intern/MOD_cast.c
@@ -177,10 +177,7 @@ static void sphere_do(
/* 3) if we were given a vertex group name,
* only those vertices should be affected */
- defgrp_index = defgroup_name_index(ob, cmd->defgrp_name);
-
- if ((ob->type == OB_MESH) && dm && defgrp_index >= 0)
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, cmd->defgrp_name, &dvert, &defgrp_index);
if(flag & MOD_CAST_SIZE_FROM_RADIUS) {
len = cmd->radius;
@@ -335,10 +332,7 @@ static void cuboid_do(
/* 3) if we were given a vertex group name,
* only those vertices should be affected */
- defgrp_index = defgroup_name_index(ob, cmd->defgrp_name);
-
- if ((ob->type == OB_MESH) && dm && defgrp_index >= 0)
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, cmd->defgrp_name, &dvert, &defgrp_index);
if (ctrl_ob) {
if(flag & MOD_CAST_USE_OB_TRANSFORM) {
@@ -638,4 +632,5 @@ ModifierTypeInfo modifierType_Cast = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c
index 30ddb3f7b9c..f5493162322 100644
--- a/source/blender/modifiers/intern/MOD_cloth.c
+++ b/source/blender/modifiers/intern/MOD_cloth.c
@@ -190,6 +190,19 @@ static void freeData(ModifierData *md)
}
}
+static void foreachIDLink(ModifierData *md, Object *ob,
+ IDWalkFunc walk, void *userData)
+{
+ ClothModifierData *clmd = (ClothModifierData*) md;
+
+ if(clmd->coll_parms) {
+ walk(userData, ob, (ID **)&clmd->coll_parms->group);
+ }
+
+ if(clmd->sim_parms && clmd->sim_parms->effector_weights) {
+ walk(userData, ob, (ID **)&clmd->sim_parms->effector_weights->group);
+ }
+}
ModifierTypeInfo modifierType_Cloth = {
/* name */ "Cloth",
@@ -215,5 +228,6 @@ ModifierTypeInfo modifierType_Cloth = {
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
- /* foreachIDLink */ NULL,
+ /* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c
index 83ba8a12163..f4a9ea62ead 100644
--- a/source/blender/modifiers/intern/MOD_collision.c
+++ b/source/blender/modifiers/intern/MOD_collision.c
@@ -267,4 +267,5 @@ ModifierTypeInfo modifierType_Collision = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c
index ecd10250c00..d928c239eac 100644
--- a/source/blender/modifiers/intern/MOD_curve.c
+++ b/source/blender/modifiers/intern/MOD_curve.c
@@ -162,4 +162,5 @@ ModifierTypeInfo modifierType_Curve = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c
index ba9dbfc31ad..e3c39752bd1 100644
--- a/source/blender/modifiers/intern/MOD_decimate.c
+++ b/source/blender/modifiers/intern/MOD_decimate.c
@@ -218,4 +218,5 @@ ModifierTypeInfo modifierType_Decimate = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c
index 02845ecaab7..fb7aeacecc8 100644
--- a/source/blender/modifiers/intern/MOD_displace.c
+++ b/source/blender/modifiers/intern/MOD_displace.c
@@ -134,6 +134,12 @@ static void foreachIDLink(ModifierData *md, Object *ob,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
}
+static void foreachTexLink(ModifierData *md, Object *ob,
+ TexWalkFunc walk, void *userData)
+{
+ walk(userData, ob, md, "texture");
+}
+
static int isDisabled(ModifierData *md, int UNUSED(useRenderParams))
{
DisplaceModifierData *dmd = (DisplaceModifierData*) md;
@@ -169,18 +175,16 @@ static void displaceModifier_do(
{
int i;
MVert *mvert;
- MDeformVert *dvert = NULL;
+ MDeformVert *dvert;
int defgrp_index;
float (*tex_co)[3];
+ float weight= 1.0f; /* init value unused but some compilers may complain */
if(!dmd->texture) return;
if(dmd->strength == 0.0f) return;
- defgrp_index = defgroup_name_index(ob, dmd->defgrp_name);
-
mvert = CDDM_get_verts(dm);
- if(defgrp_index >= 0)
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, dmd->defgrp_name, &dvert, &defgrp_index);
tex_co = MEM_callocN(sizeof(*tex_co) * numVerts,
"displaceModifier_do tex_co");
@@ -189,17 +193,10 @@ static void displaceModifier_do(
for(i = 0; i < numVerts; ++i) {
TexResult texres;
float delta = 0, strength = dmd->strength;
- MDeformWeight *def_weight = NULL;
if(dvert) {
- int j;
- for(j = 0; j < dvert[i].totweight; ++j) {
- if(dvert[i].dw[j].def_nr == defgrp_index) {
- def_weight = &dvert[i].dw[j];
- break;
- }
- }
- if(!def_weight || def_weight->weight==0.0f) continue;
+ weight= defvert_find_weight(dvert + i, defgrp_index);
+ if(weight == 0.0f) continue;
}
texres.nor = NULL;
@@ -207,7 +204,7 @@ static void displaceModifier_do(
delta = texres.tin - dmd->midlevel;
- if(def_weight) strength *= def_weight->weight;
+ if(dvert) strength *= weight;
delta *= strength;
CLAMP(delta, -10000, 10000);
@@ -292,4 +289,5 @@ ModifierTypeInfo modifierType_Displace = {
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ foreachTexLink,
};
diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c
index 8d0aea41b5c..db491742265 100644
--- a/source/blender/modifiers/intern/MOD_edgesplit.c
+++ b/source/blender/modifiers/intern/MOD_edgesplit.c
@@ -1311,4 +1311,5 @@ ModifierTypeInfo modifierType_EdgeSplit = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c
index f1bc0d33fd8..3d01661bc79 100644
--- a/source/blender/modifiers/intern/MOD_explode.c
+++ b/source/blender/modifiers/intern/MOD_explode.c
@@ -776,14 +776,14 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd,
{
DerivedMesh *explode, *dm=to_explode;
MFace *mf= NULL, *mface;
- ParticleSettings *part=psmd->psys->part;
+ /* ParticleSettings *part=psmd->psys->part; */ /* UNUSED */
ParticleSimulationData sim= {NULL};
ParticleData *pa=NULL, *pars=psmd->psys->particles;
- ParticleKey state;
+ ParticleKey state, birth;
EdgeHash *vertpahash;
EdgeHashIterator *ehi;
float *vertco= NULL, imat[4][4];
- float loc0[3], nor[3];
+ float rot[4];
float cfra;
/* float timestep; */
int *facepa=emd->facepa;
@@ -814,7 +814,7 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd,
for (i=0; i<totface; i++) {
/* do mindex + totvert to ensure the vertex index to be the first
* with BLI_edgehashIterator_getKey */
- if(facepa[i]==totpart || cfra <= (pars+facepa[i])->time)
+ if(facepa[i]==totpart || cfra < (pars+facepa[i])->time)
mindex = totvert+totpart;
else
mindex = totvert+facepa[i];
@@ -868,26 +868,26 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd,
/* get particle */
pa= pars+i;
- /* get particle state */
- psys_particle_on_emitter(psmd,part->from,pa->num,pa->num_dmcache,pa->fuv,pa->foffset,loc0,nor,NULL,NULL,NULL,NULL);
- mul_m4_v3(ob->obmat,loc0);
+ psys_get_birth_coordinates(&sim, pa, &birth, 0, 0);
state.time=cfra;
psys_get_particle_state(&sim, i, &state, 1);
vertco=CDDM_get_vert(explode,v)->co;
-
mul_m4_v3(ob->obmat,vertco);
- VECSUB(vertco,vertco,loc0);
+ sub_v3_v3(vertco, birth.co);
/* apply rotation, size & location */
- mul_qt_v3(state.rot,vertco);
+ sub_qt_qtqt(rot, state.rot, birth.rot);
+ mul_qt_v3(rot, vertco);
+
if(emd->flag & eExplodeFlag_PaSize)
mul_v3_fl(vertco,pa->size);
- VECADD(vertco,vertco,state.co);
- mul_m4_v3(imat,vertco);
+ add_v3_v3(vertco, state.co);
+
+ mul_m4_v3(imat, vertco);
}
}
BLI_edgehashIterator_free(ehi);
@@ -911,7 +911,7 @@ static DerivedMesh * explodeMesh(ExplodeModifierData *emd,
orig_v4 = source.v4;
- if(facepa[i]!=totpart && cfra <= pa->time)
+ if(facepa[i]!=totpart && cfra < pa->time)
mindex = totvert+totpart;
else
mindex = totvert+facepa[i];
@@ -1037,4 +1037,5 @@ ModifierTypeInfo modifierType_Explode = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c
index 354dc33ffe0..cce288b4ad5 100644
--- a/source/blender/modifiers/intern/MOD_fluidsim.c
+++ b/source/blender/modifiers/intern/MOD_fluidsim.c
@@ -162,4 +162,5 @@ ModifierTypeInfo modifierType_Fluidsim = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c
index 61345427d1c..277f0852f90 100644
--- a/source/blender/modifiers/intern/MOD_fluidsim_util.c
+++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c
@@ -90,10 +90,10 @@ void fluidsim_init(FluidsimModifierData *fluidmd)
fss->viscosityValue = 1.0;
fss->viscosityExponent = 6;
- // dg TODO: change this to []
- fss->gravx = 0.0;
- fss->gravy = 0.0;
- fss->gravz = -9.81;
+ fss->grav[0] = 0.0;
+ fss->grav[1] = 0.0;
+ fss->grav[2] = -9.81;
+
fss->animStart = 0.0;
fss->animEnd = 4.0;
fss->gstar = 0.005; // used as normgstar
@@ -111,7 +111,7 @@ void fluidsim_init(FluidsimModifierData *fluidmd)
// no bounding box needed
// todo - reuse default init from elbeem!
- fss->typeFlags = OB_FSBND_PARTSLIP;
+ fss->typeFlags = OB_FSBND_PARTSLIP | OB_FSSG_NOOBS;
fss->domainNovecgen = 0;
fss->volumeInitType = 1; // volume
fss->partSlipValue = 0.2;
diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c
index 082c199b16f..785abc7d4d1 100644
--- a/source/blender/modifiers/intern/MOD_hook.c
+++ b/source/blender/modifiers/intern/MOD_hook.c
@@ -157,9 +157,8 @@ static void deformVerts(ModifierData *md, Object *ob,
int i, *index_pt;
const float falloff_squared= hmd->falloff * hmd->falloff; /* for faster comparisons */
- int max_dvert= 0;
- MDeformVert *dvert= NULL;
- int defgrp_index = -1;
+ MDeformVert *dvert;
+ int defgrp_index, max_dvert;
/* get world-space matrix of target, corrected for the space the verts are in */
if (hmd->subtarget[0] && pchan) {
@@ -174,21 +173,8 @@ static void deformVerts(ModifierData *md, Object *ob,
mul_serie_m4(mat, ob->imat, dmat, hmd->parentinv,
NULL, NULL, NULL, NULL, NULL);
- if((defgrp_index= defgroup_name_index(ob, hmd->name)) != -1) {
- Mesh *me = ob->data;
- if(dm) {
- dvert= dm->getVertDataArray(dm, CD_MDEFORMVERT);
- if(dvert) {
- max_dvert = numVerts;
- }
- }
- else if(me->dvert) {
- dvert= me->dvert;
- if(dvert) {
- max_dvert = me->totvert;
- }
- }
- }
+ modifier_get_vgroup(ob, dm, hmd->name, &dvert, &defgrp_index);
+ max_dvert = (dvert)? numVerts: 0;
/* Regarding index range checking below.
*
@@ -303,4 +289,5 @@ ModifierTypeInfo modifierType_Hook = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c
index 694f8fb3e52..31c17fb7376 100644
--- a/source/blender/modifiers/intern/MOD_lattice.c
+++ b/source/blender/modifiers/intern/MOD_lattice.c
@@ -156,4 +156,5 @@ ModifierTypeInfo modifierType_Lattice = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c
index b36d6848533..b7cdac9e246 100644
--- a/source/blender/modifiers/intern/MOD_mask.c
+++ b/source/blender/modifiers/intern/MOD_mask.c
@@ -45,6 +45,7 @@
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
+#include "BKE_action.h" /* get_pose_channel */
#include "BKE_cdderivedmesh.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
@@ -102,7 +103,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
DerivedMesh *dm= derivedData, *result= NULL;
GHash *vertHash=NULL, *edgeHash, *faceHash;
GHashIterator *hashIter;
- MDeformVert *dvert= NULL;
+ MDeformVert *dvert= NULL, *dv;
int numFaces=0, numEdges=0, numVerts=0;
int maxVerts, maxEdges, maxFaces;
int i;
@@ -130,50 +131,46 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
/* if mode is to use selected armature bones, aggregate the bone groups */
if (mmd->mode == MOD_MASK_MODE_ARM) /* --- using selected bones --- */
{
- GHash *vgroupHash, *boneHash;
+ GHash *vgroupHash;
Object *oba= mmd->ob_arm;
bPoseChannel *pchan;
bDeformGroup *def;
+ char *bone_select_array;
+ int bone_select_tot= 0;
/* check that there is armature object with bones to use, otherwise return original mesh */
- if (ELEM(NULL, mmd->ob_arm, mmd->ob_arm->pose))
- return derivedData;
-
+ if (ELEM3(NULL, mmd->ob_arm, mmd->ob_arm->pose, ob->defbase.first))
+ return derivedData;
+
+ bone_select_array= MEM_mallocN(BLI_countlist(&ob->defbase) * sizeof(char), "mask array");
+
+ for (i = 0, def = ob->defbase.first; def; def = def->next, i++)
+ {
+ if (((pchan= get_pose_channel(oba->pose, def->name)) && pchan->bone && (pchan->bone->flag & BONE_SELECTED)))
+ {
+ bone_select_array[i]= TRUE;
+ bone_select_tot++;
+ }
+ else {
+ bone_select_array[i]= FALSE;
+ }
+ }
+
/* hashes for finding mapping of:
* - vgroups to indices -> vgroupHash (string, int)
* - bones to vgroup indices -> boneHash (index of vgroup, dummy)
*/
vgroupHash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "mask vgroup gh");
- boneHash= BLI_ghash_new(BLI_ghashutil_inthash, BLI_ghashutil_intcmp, "mask bone gh");
/* build mapping of names of vertex groups to indices */
for (i = 0, def = ob->defbase.first; def; def = def->next, i++)
BLI_ghash_insert(vgroupHash, def->name, SET_INT_IN_POINTER(i));
- /* get selected-posechannel <-> vertexgroup index mapping */
- for (pchan= oba->pose->chanbase.first; pchan; pchan= pchan->next)
- {
- /* check if bone is selected */
- // TODO: include checks for visibility too?
- // FIXME: the depsgraph needs extensions to make this work in realtime...
- if ( (pchan->bone) && (pchan->bone->flag & BONE_SELECTED) )
- {
- /* check if hash has group for this bone */
- if (BLI_ghash_haskey(vgroupHash, pchan->name))
- {
- int defgrp_index= GET_INT_FROM_POINTER(BLI_ghash_lookup(vgroupHash, pchan->name));
-
- /* add index to hash (store under key only) */
- BLI_ghash_insert(boneHash, SET_INT_IN_POINTER(defgrp_index), pchan);
- }
- }
- }
-
/* if no bones selected, free hashes and return original mesh */
- if (BLI_ghash_size(boneHash) == 0)
+ if (bone_select_tot == 0)
{
BLI_ghash_free(vgroupHash, NULL, NULL);
- BLI_ghash_free(boneHash, NULL, NULL);
+ MEM_freeN(bone_select_array);
return derivedData;
}
@@ -183,7 +180,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
if (dvert == NULL)
{
BLI_ghash_free(vgroupHash, NULL, NULL);
- BLI_ghash_free(boneHash, NULL, NULL);
+ MEM_freeN(bone_select_array);
return derivedData;
}
@@ -192,28 +189,29 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
vertHash= BLI_ghash_new(BLI_ghashutil_inthash, BLI_ghashutil_intcmp, "mask vert gh");
/* add vertices which exist in vertexgroups into vertHash for filtering */
- for (i = 0; i < maxVerts; i++)
+ for (i= 0, dv= dvert; i < maxVerts; i++, dv++)
{
- MDeformWeight *def_weight = NULL;
+ MDeformWeight *dw= dv->dw;
int j;
-
- for (j= 0; j < dvert[i].totweight; j++)
+
+ for (j= dv->totweight; j > 0; j--, dw++)
{
- if (BLI_ghash_haskey(boneHash, SET_INT_IN_POINTER(dvert[i].dw[j].def_nr)))
+ if (bone_select_array[dw->def_nr])
{
- def_weight = &dvert[i].dw[j];
- break;
+ if(dw->weight != 0.0f) {
+ break;
+ }
}
}
/* check if include vert in vertHash */
if (mmd->flag & MOD_MASK_INV) {
/* if this vert is in the vgroup, don't include it in vertHash */
- if (def_weight) continue;
+ if (dw) continue;
}
else {
/* if this vert isn't in the vgroup, don't include it in vertHash */
- if (!def_weight) continue;
+ if (!dw) continue;
}
/* add to ghash for verts (numVerts acts as counter for mapping) */
@@ -223,7 +221,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
/* free temp hashes */
BLI_ghash_free(vgroupHash, NULL, NULL);
- BLI_ghash_free(boneHash, NULL, NULL);
+ MEM_freeN(bone_select_array);
}
else /* --- Using Nominated VertexGroup only --- */
{
@@ -241,28 +239,18 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
vertHash= BLI_ghash_new(BLI_ghashutil_inthash, BLI_ghashutil_intcmp, "mask vert2 bh");
/* add vertices which exist in vertexgroup into ghash for filtering */
- for (i = 0; i < maxVerts; i++)
+ for (i= 0, dv= dvert; i < maxVerts; i++, dv++)
{
- MDeformWeight *def_weight = NULL;
- int j;
-
- for (j= 0; j < dvert[i].totweight; j++)
- {
- if (dvert[i].dw[j].def_nr == defgrp_index)
- {
- def_weight = &dvert[i].dw[j];
- break;
- }
- }
+ const int weight_set= defvert_find_weight(dv, defgrp_index) != 0.0f;
/* check if include vert in vertHash */
if (mmd->flag & MOD_MASK_INV) {
/* if this vert is in the vgroup, don't include it in vertHash */
- if (def_weight) continue;
+ if (weight_set) continue;
}
else {
/* if this vert isn't in the vgroup, don't include it in vertHash */
- if (!def_weight) continue;
+ if (!weight_set) continue;
}
/* add to ghash for verts (numVerts acts as counter for mapping) */
@@ -419,4 +407,5 @@ ModifierTypeInfo modifierType_Mask = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c
index ba73f3fa0d1..8a0e64e7ee4 100644
--- a/source/blender/modifiers/intern/MOD_meshdeform.c
+++ b/source/blender/modifiers/intern/MOD_meshdeform.c
@@ -72,6 +72,8 @@ static void freeData(ModifierData *md)
if(mmd->dyngrid) MEM_freeN(mmd->dyngrid);
if(mmd->dyninfluences) MEM_freeN(mmd->dyninfluences);
if(mmd->dynverts) MEM_freeN(mmd->dynverts);
+ if(mmd->bindweights) MEM_freeN(mmd->bindweights); /* deprecated */
+ if(mmd->bindcos) MEM_freeN(mmd->bindcos); /* deprecated */
}
static void copyData(ModifierData *md, ModifierData *target)
@@ -282,10 +284,7 @@ static void meshdeformModifier_do(
copy_v3_v3(dco[a], co);
}
- defgrp_index = defgroup_name_index(ob, mmd->defgrp_name);
-
- if(dm && defgrp_index >= 0)
- dvert= dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, mmd->defgrp_name, &dvert, &defgrp_index);
/* do deformation */
fac= 1.0f;
@@ -464,4 +463,5 @@ ModifierTypeInfo modifierType_MeshDeform = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c
index b1c765e5c9b..7cde87b20d9 100644
--- a/source/blender/modifiers/intern/MOD_mirror.c
+++ b/source/blender/modifiers/intern/MOD_mirror.c
@@ -363,4 +363,5 @@ ModifierTypeInfo modifierType_Mirror = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c
index 134574ae6c4..48b1112cad2 100644
--- a/source/blender/modifiers/intern/MOD_multires.c
+++ b/source/blender/modifiers/intern/MOD_multires.c
@@ -131,4 +131,5 @@ ModifierTypeInfo modifierType_Multires = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c
index 48c5b9a4c08..8fed2150a75 100644
--- a/source/blender/modifiers/intern/MOD_none.c
+++ b/source/blender/modifiers/intern/MOD_none.c
@@ -77,4 +77,5 @@ ModifierTypeInfo modifierType_None = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c
index 46d53e0db15..b0b43e018f7 100644
--- a/source/blender/modifiers/intern/MOD_particleinstance.c
+++ b/source/blender/modifiers/intern/MOD_particleinstance.c
@@ -350,4 +350,5 @@ ModifierTypeInfo modifierType_ParticleInstance = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c
index 533bfd203b5..5635ba33d80 100644
--- a/source/blender/modifiers/intern/MOD_particlesystem.c
+++ b/source/blender/modifiers/intern/MOD_particlesystem.c
@@ -242,4 +242,5 @@ ModifierTypeInfo modifierType_ParticleSystem = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c
index 17e350482f0..486c98f82a0 100644
--- a/source/blender/modifiers/intern/MOD_screw.c
+++ b/source/blender/modifiers/intern/MOD_screw.c
@@ -275,7 +275,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
if (fabsf(screw_ofs) <= (FLT_EPSILON*100.0f) && fabsf(fabsf(angle) - ((float)M_PI * 2.0f)) <= (FLT_EPSILON*100.0f)) {
close= 1;
step_tot--;
- if(step_tot < 2) step_tot= 2;
+ if(step_tot < 3) step_tot= 3;
maxVerts = totvert * step_tot; /* -1 because we're joining back up */
maxEdges = (totvert * step_tot) + /* these are the edges between new verts */
@@ -286,7 +286,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
}
else {
close= 0;
- if(step_tot < 2) step_tot= 2;
+ if(step_tot < 3) step_tot= 3;
maxVerts = totvert * step_tot; /* -1 because we're joining back up */
maxEdges = (totvert * (step_tot-1)) + /* these are the edges between new verts */
@@ -903,4 +903,5 @@ ModifierTypeInfo modifierType_Screw = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c
index 94d23de6573..6e55466c1e4 100644
--- a/source/blender/modifiers/intern/MOD_shapekey.c
+++ b/source/blender/modifiers/intern/MOD_shapekey.c
@@ -148,5 +148,6 @@ ModifierTypeInfo modifierType_ShapeKey = {
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
- /* foreachIDLink */ NULL
+ /* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c
index e1fc4bc969f..ba25df19b3e 100644
--- a/source/blender/modifiers/intern/MOD_shrinkwrap.c
+++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c
@@ -186,4 +186,5 @@ ModifierTypeInfo modifierType_Shrinkwrap = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c
index ea4771b679a..b2e3c9532b6 100644
--- a/source/blender/modifiers/intern/MOD_simpledeform.c
+++ b/source/blender/modifiers/intern/MOD_simpledeform.c
@@ -162,8 +162,8 @@ static void SimpleDeformModifier_do(SimpleDeformModifierData *smd, struct Object
float smd_limit[2], smd_factor;
SpaceTransform *transf = NULL, tmp_transf;
void (*simpleDeform_callback)(const float factor, const float dcut[3], float *co) = NULL; //Mode callback
- int vgroup = defgroup_name_index(ob, smd->vgroup_name);
- MDeformVert *dvert = NULL;
+ int vgroup;
+ MDeformVert *dvert;
//Safe-check
if(smd->origin == ob) smd->origin = NULL; //No self references
@@ -216,17 +216,7 @@ static void SimpleDeformModifier_do(SimpleDeformModifierData *smd, struct Object
smd_factor = smd->factor / MAX2(FLT_EPSILON, smd_limit[1]-smd_limit[0]);
}
-
- if(dm)
- {
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
- }
- else if(ob->type == OB_LATTICE)
- {
- dvert = lattice_get_deform_verts(ob);
- }
-
-
+ modifier_get_vgroup(ob, dm, smd->vgroup_name, &dvert, &vgroup);
switch(smd->mode)
{
@@ -395,4 +385,5 @@ ModifierTypeInfo modifierType_SimpleDeform = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c
index d8e94e92bfa..2e156d82ec6 100644
--- a/source/blender/modifiers/intern/MOD_smoke.c
+++ b/source/blender/modifiers/intern/MOD_smoke.c
@@ -43,6 +43,7 @@
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_smoke_types.h"
+#include "DNA_object_force.h"
#include "BLI_utildefines.h"
@@ -156,6 +157,10 @@ static void foreachIDLink(ModifierData *md, Object *ob,
walk(userData, ob, (ID **)&smd->domain->coll_group);
walk(userData, ob, (ID **)&smd->domain->fluid_group);
walk(userData, ob, (ID **)&smd->domain->eff_group);
+
+ if(smd->domain->effector_weights) {
+ walk(userData, ob, (ID **)&smd->domain->effector_weights->group);
+ }
}
}
@@ -184,4 +189,5 @@ ModifierTypeInfo modifierType_Smoke = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ NULL
};
diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c
index 5f76fad14b1..16898a80b53 100644
--- a/source/blender/modifiers/intern/MOD_smooth.c
+++ b/source/blender/modifiers/intern/MOD_smooth.c
@@ -123,10 +123,7 @@ static void smoothModifier_do(
medges = dm->getEdgeArray(dm);
numDMEdges = dm->getNumEdges(dm);
- defgrp_index = defgroup_name_index(ob, smd->defgrp_name);
-
- if (defgrp_index >= 0)
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, smd->defgrp_name, &dvert, &defgrp_index);
/* NOTICE: this can be optimized a little bit by moving the
* if (dvert) out of the loop, if needed */
@@ -273,4 +270,5 @@ ModifierTypeInfo modifierType_Smooth = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_softbody.c b/source/blender/modifiers/intern/MOD_softbody.c
index 25996286735..c475328676b 100644
--- a/source/blender/modifiers/intern/MOD_softbody.c
+++ b/source/blender/modifiers/intern/MOD_softbody.c
@@ -87,4 +87,5 @@ ModifierTypeInfo modifierType_Softbody = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c
index 1b7b724835c..afe6da8b38a 100644
--- a/source/blender/modifiers/intern/MOD_solidify.c
+++ b/source/blender/modifiers/intern/MOD_solidify.c
@@ -48,6 +48,7 @@
#include "MOD_modifiertypes.h"
+#include "MOD_util.h"
#include "MEM_guardedalloc.h"
@@ -231,16 +232,17 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
float (*vert_nors)[3]= NULL;
- float const ofs_orig= - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
- float const ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
+ const float ofs_orig= - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
+ const float ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
+ const float offset_fac_vg= smd->offset_fac_vg;
+ const float offset_fac_vg_inv= 1.0f - smd->offset_fac_vg;
/* weights */
- MDeformVert *dvert= NULL, *dv= NULL;
+ MDeformVert *dvert, *dv= NULL;
const int defgrp_invert = ((smd->flag & MOD_SOLIDIFY_VGROUP_INV) != 0);
- const int defgrp_index= defgroup_name_index(ob, smd->defgrp_name);
+ int defgrp_index;
- if (defgrp_index >= 0)
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ modifier_get_vgroup(ob, dm, smd->defgrp_name, &dvert, &defgrp_index);
orig_mface = dm->getFaceArray(dm);
orig_medge = dm->getEdgeArray(dm);
@@ -391,8 +393,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
dv= dvert;
for(i=0; i<numVerts; i++, mv++) {
if(dv) {
- if(defgrp_invert) scalar_short_vgroup = scalar_short * (1.0f - defvert_find_weight(dv, defgrp_index));
- else scalar_short_vgroup = scalar_short * defvert_find_weight(dv, defgrp_index);
+ if(defgrp_invert) scalar_short_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
+ else scalar_short_vgroup = defvert_find_weight(dv, defgrp_index);
+ scalar_short_vgroup= (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) * scalar_short;
dv++;
}
VECADDFAC(mv->co, mv->co, mv->no, scalar_short_vgroup);
@@ -405,8 +408,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
dv= dvert;
for(i=0; i<numVerts; i++, mv++) {
if(dv) {
- if(defgrp_invert) scalar_short_vgroup = scalar_short * (1.0f - defvert_find_weight(dv, defgrp_index));
- else scalar_short_vgroup = scalar_short * defvert_find_weight(dv, defgrp_index);
+ if(defgrp_invert) scalar_short_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
+ else scalar_short_vgroup = defvert_find_weight(dv, defgrp_index);
+ scalar_short_vgroup= (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) * scalar_short;
dv++;
}
VECADDFAC(mv->co, mv->co, mv->no, scalar_short_vgroup);
@@ -466,15 +470,21 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
/* vertex group support */
if(dvert) {
+ float scalar;
+
dv= dvert;
if(defgrp_invert) {
for(i=0; i<numVerts; i++, dv++) {
- vert_angles[i] *= (1.0f - defvert_find_weight(dv, defgrp_index));
+ scalar= 1.0f - defvert_find_weight(dv, defgrp_index);
+ scalar= offset_fac_vg + (scalar * offset_fac_vg_inv);
+ vert_angles[i] *= scalar;
}
}
else {
for(i=0; i<numVerts; i++, dv++) {
- vert_angles[i] *= defvert_find_weight(dv, defgrp_index);
+ scalar= defvert_find_weight(dv, defgrp_index);
+ scalar= offset_fac_vg + (scalar * offset_fac_vg_inv);
+ vert_angles[i] *= scalar;
}
}
}
@@ -689,5 +699,6 @@ ModifierTypeInfo modifierType_Solidify = {
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
- /* foreachIDLink */ NULL
+ /* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c
index f780721ca07..6c825b213b8 100644
--- a/source/blender/modifiers/intern/MOD_subsurf.c
+++ b/source/blender/modifiers/intern/MOD_subsurf.c
@@ -152,4 +152,6 @@ ModifierTypeInfo modifierType_Subsurf = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
+
diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c
index 382358b179e..e30b7f2392d 100644
--- a/source/blender/modifiers/intern/MOD_surface.c
+++ b/source/blender/modifiers/intern/MOD_surface.c
@@ -192,4 +192,5 @@ ModifierTypeInfo modifierType_Surface = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c
index d008fcfc929..74fc022c343 100644
--- a/source/blender/modifiers/intern/MOD_util.c
+++ b/source/blender/modifiers/intern/MOD_util.c
@@ -37,6 +37,7 @@
#include <string.h>
+#include "DNA_lattice_types.h"
#include "DNA_modifier_types.h"
#include "DNA_object_types.h"
#include "DNA_curve_types.h"
@@ -47,6 +48,8 @@
#include "BLI_math_matrix.h"
#include "BKE_cdderivedmesh.h"
+#include "BKE_deform.h"
+#include "BKE_lattice.h"
#include "BKE_mesh.h"
#include "BKE_displist.h"
@@ -239,6 +242,19 @@ DerivedMesh *get_dm(Object *ob, struct EditMesh *em, DerivedMesh *dm, float (*ve
return dm;
}
+void modifier_get_vgroup(Object *ob, DerivedMesh *dm, const char *name, MDeformVert **dvert, int *defgrp_index)
+{
+ *defgrp_index = defgroup_name_index(ob, name);
+ *dvert = NULL;
+
+ if(*defgrp_index >= 0) {
+ if(ob->type == OB_LATTICE)
+ *dvert = lattice_get_deform_verts(ob);
+ else if(dm)
+ *dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
+ }
+}
+
/* only called by BKE_modifier.h/modifier.c */
void modifier_type_init(ModifierTypeInfo *types[])
{
diff --git a/source/blender/modifiers/intern/MOD_util.h b/source/blender/modifiers/intern/MOD_util.h
index b7862403459..5e6f377acf1 100644
--- a/source/blender/modifiers/intern/MOD_util.h
+++ b/source/blender/modifiers/intern/MOD_util.h
@@ -36,14 +36,15 @@
/* so modifier types match their defines */
#include "MOD_modifiertypes.h"
-struct Tex;
-struct TexResult;
struct CustomData;
struct DerivedMesh;
-struct Object;
-struct Scene;
struct EditMesh;
+struct MDeformVert;
struct ModifierData;
+struct Object;
+struct Scene;
+struct Tex;
+struct TexResult;
void get_texture_value(struct Tex *texture, float *tex_co, struct TexResult *texres);
void get_texture_coords(struct MappingInfoModifierData *dmd, struct Object *ob, struct DerivedMesh *dm, float (*co)[3], float (*texco)[3], int numVerts);
@@ -51,5 +52,6 @@ void modifier_vgroup_cache(struct ModifierData *md, float (*vertexCos)[3]);
void validate_layer_name(const struct CustomData *data, int type, char *name, char *outname);
struct DerivedMesh *get_cddm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3]);
struct DerivedMesh *get_dm(struct Object *ob, struct EditMesh *em, struct DerivedMesh *dm, float (*vertexCos)[3], int orco);
+void modifier_get_vgroup(struct Object *ob, struct DerivedMesh *dm, const char *name, struct MDeformVert **dvert, int *defgrp_index);
#endif /* MOD_UTIL_H */
diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c
index a5d2e0b38c7..912c14adfdd 100644
--- a/source/blender/modifiers/intern/MOD_uvproject.c
+++ b/source/blender/modifiers/intern/MOD_uvproject.c
@@ -42,6 +42,7 @@
#include "DNA_object_types.h"
#include "BLI_math.h"
+#include "BLI_string.h"
#include "BLI_uvproject.h"
#include "BLI_utildefines.h"
@@ -83,6 +84,7 @@ static void copyData(ModifierData *md, ModifierData *target)
tumd->aspecty = umd->aspecty;
tumd->scalex = umd->scalex;
tumd->scaley = umd->scaley;
+ BLI_strncpy(tumd->uvlayer_name, umd->uvlayer_name, sizeof(umd->uvlayer_name));
}
static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md))
@@ -432,4 +434,5 @@ ModifierTypeInfo modifierType_UVProject = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_warp.c b/source/blender/modifiers/intern/MOD_warp.c
index 27add27deb1..c1c3604d598 100644
--- a/source/blender/modifiers/intern/MOD_warp.c
+++ b/source/blender/modifiers/intern/MOD_warp.c
@@ -85,8 +85,8 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md)
CustomDataMask dataMask = 0;
/* ask for vertexgroups if we need them */
- if(wmd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT);
- dataMask |= (1 << CD_MDEFORMVERT);
+ if(wmd->defgrp_name[0]) dataMask |= (CD_MASK_MDEFORMVERT);
+ dataMask |= (CD_MASK_MDEFORMVERT);
/* ask for UV coordinates if we need them */
if(wmd->texmapping == MOD_DISP_MAP_UV) dataMask |= (1 << CD_MTFACE);
@@ -140,6 +140,11 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
walk(userData, ob, (ID **)&wmd->map_object);
}
+static void foreachTexLink(ModifierData *md, Object *ob, TexWalkFunc walk, void *userData)
+{
+ walk(userData, ob, md, "texture");
+}
+
static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *UNUSED(scene),
Object *UNUSED(ob), DagNode *obNode)
{
@@ -174,14 +179,16 @@ static void warpModifier_do(WarpModifierData *wmd, Object *ob,
float strength = wmd->strength;
float fac = 1.0f, weight;
int i;
- int defgrp_index = defgroup_name_index(ob, wmd->defgrp_name);
- MDeformVert *dv= NULL;
+ int defgrp_index;
+ MDeformVert *dvert, *dv= NULL;
float (*tex_co)[3]= NULL;
if(!(wmd->object_from && wmd->object_to))
return;
+ modifier_get_vgroup(ob, dm, wmd->defgrp_name, &dvert, &defgrp_index);
+
if(wmd->curfalloff==NULL) /* should never happen, but bad lib linking could cause it */
wmd->curfalloff = curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
@@ -221,8 +228,8 @@ static void warpModifier_do(WarpModifierData *wmd, Object *ob,
((fac=len_v3v3(co, mat_from[3])) < wmd->falloff_radius && (fac=(wmd->falloff_radius-fac)/wmd->falloff_radius)) ) {
/* skip if no vert group found */
- if(defgrp_index >= 0) {
- dv = dm->getVertData(dm, i, CD_MDEFORMVERT);
+ if(dvert && defgrp_index >= 0) {
+ dv = &dvert[i];
if(dv) {
weight = defvert_find_weight(dv, defgrp_index) * wmd->strength;
@@ -362,4 +369,5 @@ ModifierTypeInfo modifierType_Warp = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ foreachTexLink,
};
diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c
index 6dfe5314131..4b5769ff603 100644
--- a/source/blender/modifiers/intern/MOD_wave.c
+++ b/source/blender/modifiers/intern/MOD_wave.c
@@ -126,6 +126,12 @@ static void foreachIDLink(ModifierData *md, Object *ob,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
}
+static void foreachTexLink(ModifierData *md, Object *ob,
+ TexWalkFunc walk, void *userData)
+{
+ walk(userData, ob, md, "texture");
+}
+
static void updateDepgraph(ModifierData *md, DagForest *forest,
Scene *UNUSED(scene),
Object *UNUSED(ob),
@@ -256,7 +262,7 @@ static void waveModifier_do(WaveModifierData *md,
{
WaveModifierData *wmd = (WaveModifierData*) md;
MVert *mvert = NULL;
- MDeformVert *dvert = NULL;
+ MDeformVert *dvert;
int defgrp_index;
float ctime = BKE_curframe(scene);
float minfac =
@@ -281,11 +287,7 @@ static void waveModifier_do(WaveModifierData *md,
}
/* get the index of the deform group */
- defgrp_index = defgroup_name_index(ob, wmd->defgrp_name);
-
- if(defgrp_index >= 0){
- dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT);
- }
+ modifier_get_vgroup(ob, dm, wmd->defgrp_name, &dvert, &defgrp_index);
if(wmd->damp == 0) wmd->damp = 10.0f;
@@ -470,4 +472,5 @@ ModifierTypeInfo modifierType_Wave = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ foreachTexLink,
};
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index d2b58d61112..82848c6a5d7 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -38,122 +38,146 @@ set(INC
set(INC_SYS
${GLEW_INCLUDE_PATH}
+ intern
+ composite
+ shader
+ texture
)
set(SRC
- intern/CMP_nodes/CMP_alphaOver.c
- intern/CMP_nodes/CMP_bilateralblur.c
- intern/CMP_nodes/CMP_blur.c
- intern/CMP_nodes/CMP_brightness.c
- intern/CMP_nodes/CMP_channelMatte.c
- intern/CMP_nodes/CMP_chromaMatte.c
- intern/CMP_nodes/CMP_colorMatte.c
- intern/CMP_nodes/CMP_colorSpill.c
- intern/CMP_nodes/CMP_colorbalance.c
- intern/CMP_nodes/CMP_composite.c
- intern/CMP_nodes/CMP_crop.c
- intern/CMP_nodes/CMP_curves.c
- intern/CMP_nodes/CMP_defocus.c
- intern/CMP_nodes/CMP_diffMatte.c
- intern/CMP_nodes/CMP_dilate.c
- intern/CMP_nodes/CMP_directionalblur.c
- intern/CMP_nodes/CMP_displace.c
- intern/CMP_nodes/CMP_distanceMatte.c
- intern/CMP_nodes/CMP_filter.c
- intern/CMP_nodes/CMP_flip.c
- intern/CMP_nodes/CMP_gamma.c
- intern/CMP_nodes/CMP_glare.c
- intern/CMP_nodes/CMP_hueSatVal.c
- intern/CMP_nodes/CMP_huecorrect.c
- intern/CMP_nodes/CMP_idMask.c
- intern/CMP_nodes/CMP_image.c
- intern/CMP_nodes/CMP_invert.c
- intern/CMP_nodes/CMP_lensdist.c
- intern/CMP_nodes/CMP_levels.c
- intern/CMP_nodes/CMP_lummaMatte.c
- intern/CMP_nodes/CMP_mapUV.c
- intern/CMP_nodes/CMP_mapValue.c
- intern/CMP_nodes/CMP_math.c
- intern/CMP_nodes/CMP_mixrgb.c
- intern/CMP_nodes/CMP_normal.c
- intern/CMP_nodes/CMP_normalize.c
- intern/CMP_nodes/CMP_outputFile.c
- intern/CMP_nodes/CMP_premulkey.c
- intern/CMP_nodes/CMP_rgb.c
- intern/CMP_nodes/CMP_rotate.c
- intern/CMP_nodes/CMP_scale.c
- intern/CMP_nodes/CMP_sepcombHSVA.c
- intern/CMP_nodes/CMP_sepcombRGBA.c
- intern/CMP_nodes/CMP_sepcombYCCA.c
- intern/CMP_nodes/CMP_sepcombYUVA.c
- intern/CMP_nodes/CMP_setalpha.c
- intern/CMP_nodes/CMP_splitViewer.c
- intern/CMP_nodes/CMP_texture.c
- intern/CMP_nodes/CMP_tonemap.c
- intern/CMP_nodes/CMP_translate.c
- intern/CMP_nodes/CMP_valToRgb.c
- intern/CMP_nodes/CMP_value.c
- intern/CMP_nodes/CMP_vecBlur.c
- intern/CMP_nodes/CMP_viewer.c
- intern/CMP_nodes/CMP_zcombine.c
- intern/CMP_util.c
- intern/SHD_nodes/SHD_camera.c
- intern/SHD_nodes/SHD_curves.c
- intern/SHD_nodes/SHD_dynamic.c
- intern/SHD_nodes/SHD_geom.c
- intern/SHD_nodes/SHD_hueSatVal.c
- intern/SHD_nodes/SHD_invert.c
- intern/SHD_nodes/SHD_mapping.c
- intern/SHD_nodes/SHD_material.c
- intern/SHD_nodes/SHD_math.c
- intern/SHD_nodes/SHD_mixRgb.c
- intern/SHD_nodes/SHD_normal.c
- intern/SHD_nodes/SHD_output.c
- intern/SHD_nodes/SHD_rgb.c
- intern/SHD_nodes/SHD_sepcombRGB.c
- intern/SHD_nodes/SHD_squeeze.c
- intern/SHD_nodes/SHD_texture.c
- intern/SHD_nodes/SHD_valToRgb.c
- intern/SHD_nodes/SHD_value.c
- intern/SHD_nodes/SHD_vectMath.c
- intern/SHD_util.c
- intern/TEX_nodes/TEX_at.c
- intern/TEX_nodes/TEX_bricks.c
- intern/TEX_nodes/TEX_checker.c
- intern/TEX_nodes/TEX_compose.c
- intern/TEX_nodes/TEX_coord.c
- intern/TEX_nodes/TEX_curves.c
- intern/TEX_nodes/TEX_decompose.c
- intern/TEX_nodes/TEX_distance.c
- intern/TEX_nodes/TEX_hueSatVal.c
- intern/TEX_nodes/TEX_image.c
- intern/TEX_nodes/TEX_invert.c
- intern/TEX_nodes/TEX_math.c
- intern/TEX_nodes/TEX_mixRgb.c
- intern/TEX_nodes/TEX_output.c
- intern/TEX_nodes/TEX_proc.c
- intern/TEX_nodes/TEX_rotate.c
- intern/TEX_nodes/TEX_scale.c
- intern/TEX_nodes/TEX_texture.c
- intern/TEX_nodes/TEX_translate.c
- intern/TEX_nodes/TEX_valToNor.c
- intern/TEX_nodes/TEX_valToRgb.c
- intern/TEX_nodes/TEX_viewer.c
- intern/TEX_util.c
+ composite/nodes/node_composite_alphaOver.c
+ composite/nodes/node_composite_bilateralblur.c
+ composite/nodes/node_composite_blur.c
+ composite/nodes/node_composite_brightness.c
+ composite/nodes/node_composite_channelMatte.c
+ composite/nodes/node_composite_chromaMatte.c
+ composite/nodes/node_composite_colorMatte.c
+ composite/nodes/node_composite_colorSpill.c
+ composite/nodes/node_composite_colorbalance.c
+ composite/nodes/node_composite_common.c
+ composite/nodes/node_composite_composite.c
+ composite/nodes/node_composite_crop.c
+ composite/nodes/node_composite_curves.c
+ composite/nodes/node_composite_defocus.c
+ composite/nodes/node_composite_diffMatte.c
+ composite/nodes/node_composite_dilate.c
+ composite/nodes/node_composite_directionalblur.c
+ composite/nodes/node_composite_displace.c
+ composite/nodes/node_composite_distanceMatte.c
+ composite/nodes/node_composite_filter.c
+ composite/nodes/node_composite_flip.c
+ composite/nodes/node_composite_gamma.c
+ composite/nodes/node_composite_glare.c
+ composite/nodes/node_composite_hueSatVal.c
+ composite/nodes/node_composite_huecorrect.c
+ composite/nodes/node_composite_idMask.c
+ composite/nodes/node_composite_image.c
+ composite/nodes/node_composite_invert.c
+ composite/nodes/node_composite_lensdist.c
+ composite/nodes/node_composite_levels.c
+ composite/nodes/node_composite_lummaMatte.c
+ composite/nodes/node_composite_mapUV.c
+ composite/nodes/node_composite_mapValue.c
+ composite/nodes/node_composite_math.c
+ composite/nodes/node_composite_mixrgb.c
+ composite/nodes/node_composite_normal.c
+ composite/nodes/node_composite_normalize.c
+ composite/nodes/node_composite_outputFile.c
+ composite/nodes/node_composite_premulkey.c
+ composite/nodes/node_composite_rgb.c
+ composite/nodes/node_composite_rotate.c
+ composite/nodes/node_composite_scale.c
+ composite/nodes/node_composite_sepcombHSVA.c
+ composite/nodes/node_composite_sepcombRGBA.c
+ composite/nodes/node_composite_sepcombYCCA.c
+ composite/nodes/node_composite_sepcombYUVA.c
+ composite/nodes/node_composite_setalpha.c
+ composite/nodes/node_composite_splitViewer.c
+ composite/nodes/node_composite_texture.c
+ composite/nodes/node_composite_tonemap.c
+ composite/nodes/node_composite_translate.c
+ composite/nodes/node_composite_valToRgb.c
+ composite/nodes/node_composite_value.c
+ composite/nodes/node_composite_vecBlur.c
+ composite/nodes/node_composite_viewer.c
+ composite/nodes/node_composite_zcombine.c
+ composite/node_composite_tree.c
+ composite/node_composite_util.c
+
+ shader/nodes/node_shader_camera.c
+ shader/nodes/node_shader_common.c
+ shader/nodes/node_shader_curves.c
+ shader/nodes/node_shader_dynamic.c
+ shader/nodes/node_shader_geom.c
+ shader/nodes/node_shader_hueSatVal.c
+ shader/nodes/node_shader_invert.c
+ shader/nodes/node_shader_mapping.c
+ shader/nodes/node_shader_material.c
+ shader/nodes/node_shader_math.c
+ shader/nodes/node_shader_mixRgb.c
+ shader/nodes/node_shader_normal.c
+ shader/nodes/node_shader_output.c
+ shader/nodes/node_shader_rgb.c
+ shader/nodes/node_shader_sepcombRGB.c
+ shader/nodes/node_shader_squeeze.c
+ shader/nodes/node_shader_texture.c
+ shader/nodes/node_shader_valToRgb.c
+ shader/nodes/node_shader_value.c
+ shader/nodes/node_shader_vectMath.c
+ shader/node_shader_tree.c
+ shader/node_shader_util.c
+
+ texture/nodes/node_texture_at.c
+ texture/nodes/node_texture_bricks.c
+ texture/nodes/node_texture_checker.c
+ texture/nodes/node_texture_common.c
+ texture/nodes/node_texture_compose.c
+ texture/nodes/node_texture_coord.c
+ texture/nodes/node_texture_curves.c
+ texture/nodes/node_texture_decompose.c
+ texture/nodes/node_texture_distance.c
+ texture/nodes/node_texture_hueSatVal.c
+ texture/nodes/node_texture_image.c
+ texture/nodes/node_texture_invert.c
+ texture/nodes/node_texture_math.c
+ texture/nodes/node_texture_mixRgb.c
+ texture/nodes/node_texture_output.c
+ texture/nodes/node_texture_proc.c
+ texture/nodes/node_texture_rotate.c
+ texture/nodes/node_texture_scale.c
+ texture/nodes/node_texture_texture.c
+ texture/nodes/node_texture_translate.c
+ texture/nodes/node_texture_valToNor.c
+ texture/nodes/node_texture_valToRgb.c
+ texture/nodes/node_texture_viewer.c
+ texture/node_texture_tree.c
+ texture/node_texture_util.c
+
intern/node_util.c
+ intern/node_exec.c
+ intern/node_common.c
+ intern/node_socket.c
+
+ composite/node_composite_util.h
+ shader/node_shader_util.h
+ texture/node_texture_util.h
- CMP_node.h
- SHD_node.h
- TEX_node.h
- intern/CMP_util.h
- intern/SHD_util.h
- intern/TEX_util.h
+ NOD_composite.h
+ NOD_shader.h
+ NOD_texture.h
+ NOD_socket.h
intern/node_util.h
+ intern/node_exec.h
+ intern/node_common.h
)
if(WITH_PYTHON)
- list(APPEND INC ../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
endif()
diff --git a/source/blender/nodes/CMP_node.h b/source/blender/nodes/NOD_composite.h
index 65c9236710f..11ffcc9027f 100644
--- a/source/blender/nodes/CMP_node.h
+++ b/source/blender/nodes/NOD_composite.h
@@ -30,18 +30,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file CMP_node.h
+/** \file NOD_composite.h
* \ingroup nodes
*/
-#ifndef CMP_NODE_H
-#define CMP_NODE_H
+#ifndef NOD_composite_H
+#define NOD_composite_H
#include "BKE_node.h"
+extern bNodeTreeType ntreeType_Composite;
+
/* ****************** types array for all composite nodes ****************** */
+void register_node_type_cmp_group(ListBase *lb);
+void register_node_type_cmp_forloop(ListBase *lb);
+void register_node_type_cmp_whileloop(ListBase *lb);
+
void register_node_type_cmp_rlayers(ListBase *lb);
void register_node_type_cmp_image(ListBase *lb);
void register_node_type_cmp_texture(ListBase *lb);
diff --git a/source/blender/nodes/SHD_node.h b/source/blender/nodes/NOD_shader.h
index 80e5eec6893..6c5ea79e1ee 100644
--- a/source/blender/nodes/SHD_node.h
+++ b/source/blender/nodes/NOD_shader.h
@@ -30,19 +30,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file SHD_node.h
+/** \file NOD_shader.h
* \ingroup nodes
*/
-#ifndef SHD_NODE_H
-#define SHD_NODE_H
+#ifndef NOD_SHADER_H
+#define NOD_SHADER_H
#include "BKE_node.h"
+extern struct bNodeTreeType ntreeType_Shader;
+
/* the type definitions array */
/* ****************** types array for all shaders ****************** */
+void register_node_type_sh_group(ListBase *lb);
+void register_node_type_sh_forloop(ListBase *lb);
+void register_node_type_sh_whileloop(ListBase *lb);
+
void register_node_type_sh_output(ListBase *lb);
void register_node_type_sh_material(ListBase *lb);
void register_node_type_sh_camera(ListBase *lb);
diff --git a/source/blender/nodes/NOD_socket.h b/source/blender/nodes/NOD_socket.h
new file mode 100644
index 00000000000..9ddf159cd9c
--- /dev/null
+++ b/source/blender/nodes/NOD_socket.h
@@ -0,0 +1,90 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Lukas Toenne
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file NOD_socket.h
+ * \ingroup nodes
+ */
+
+
+#ifndef NOD_SOCKET_H_
+#define NOD_SOCKET_H_
+
+#include "DNA_listBase.h"
+
+#include "BLI_utildefines.h"
+
+#include "BKE_node.h"
+
+#include "RNA_types.h"
+
+struct bNodeTree;
+struct bNode;
+struct bNodeStack;
+
+void node_socket_type_init(struct bNodeSocketType *types[]);
+
+struct bNodeSocket *nodeAddInputInt(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype, int value, int min, int max);
+struct bNodeSocket *nodeAddOutputInt(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *nodeAddInputFloat(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype, float value, float min, float max);
+struct bNodeSocket *nodeAddOutputFloat(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *nodeAddInputBoolean(struct bNodeTree *ntree, struct bNode *node, const char *name, char value);
+struct bNodeSocket *nodeAddOutputBoolean(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *nodeAddInputVector(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype, float x, float y, float z, float min, float max);
+struct bNodeSocket *nodeAddOutputVector(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *nodeAddInputRGBA(struct bNodeTree *ntree, struct bNode *node, const char *name, float r, float g, float b, float a);
+struct bNodeSocket *nodeAddOutputRGBA(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *nodeAddInputMesh(struct bNodeTree *ntree, struct bNode *node, const char *name);
+struct bNodeSocket *nodeAddOutputMesh(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *node_add_input_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp);
+struct bNodeSocket *node_add_output_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp);
+
+void node_verify_socket_templates(struct bNodeTree *ntree, struct bNode *node);
+
+
+/* Socket Converters */
+
+#define SOCK_VECTOR_X 1
+#define SOCK_VECTOR_Y 2
+#define SOCK_VECTOR_Z 3
+
+#define SOCK_RGBA_R 1
+#define SOCK_RGBA_G 2
+#define SOCK_RGBA_B 3
+#define SOCK_RGBA_A 4
+
+#define SOCK_MESH_VERT_CO 1
+#define SOCK_MESH_VERT_NO 2
+
+#endif
diff --git a/source/blender/nodes/TEX_node.h b/source/blender/nodes/NOD_texture.h
index 23a6b4427af..d098c241583 100644
--- a/source/blender/nodes/TEX_node.h
+++ b/source/blender/nodes/NOD_texture.h
@@ -30,18 +30,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file TEX_node.h
+/** \file NOD_texture.h
* \ingroup nodes
*/
-#ifndef TEX_NODE_H
-#define TEX_NODE_H
+#ifndef NOD_TEXTURE_H
+#define NOD_TEXTURE_H
#include "BKE_node.h"
+extern bNodeTreeType ntreeType_Texture;
+
/* ****************** types array for all texture nodes ****************** */
+void register_node_type_tex_group(ListBase *lb);
+void register_node_type_tex_forloop(ListBase *lb);
+void register_node_type_tex_whileloop(ListBase *lb);
+
void register_node_type_tex_math(ListBase *lb);
void register_node_type_tex_mix_rgb(ListBase *lb);
void register_node_type_tex_valtorgb(ListBase *lb);
diff --git a/source/blender/nodes/SConscript b/source/blender/nodes/SConscript
index 4bed612144c..0cbc7b80933 100644
--- a/source/blender/nodes/SConscript
+++ b/source/blender/nodes/SConscript
@@ -2,11 +2,11 @@
Import ('env')
sources = env.Glob('intern/*.c')
-cmpsources = env.Glob('intern/CMP_nodes/*.c')
-shdsources = env.Glob('intern/SHD_nodes/*.c')
-texsources = env.Glob('intern/TEX_nodes/*.c')
-
+cmpsources = env.Glob('composite/*.c') + env.Glob('composite/nodes/*.c')
+shdsources = env.Glob('shader/*.c') + env.Glob('shader/nodes/*.c')
+texsources = env.Glob('texture/*.c') + env.Glob('texture/nodes/*.c')
incs = '. ./intern '
+incs += './composite ./shader ./texture '
incs += '#/intern/guardedalloc ../editors/include ../blenlib ../makesdna'
incs += ' ../render/extern/include ../makesrna '
incs += ' ../imbuf ../avi '
@@ -26,7 +26,7 @@ if env['WITH_BF_PYTHON']:
if env['BF_DEBUG']:
defs.append('_DEBUG')
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/nodes/composite/node_composite_tree.c b/source/blender/nodes/composite/node_composite_tree.c
new file mode 100644
index 00000000000..4fc5e23e26a
--- /dev/null
+++ b/source/blender/nodes/composite/node_composite_tree.c
@@ -0,0 +1,828 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s):
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/composite/node_composite_tree.c
+ * \ingroup nodes
+ */
+
+
+#include <stdio.h>
+
+#include "DNA_anim_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_threads.h"
+
+#include "BKE_animsys.h"
+#include "BKE_colortools.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_main.h"
+#include "BKE_node.h"
+#include "BKE_utildefines.h"
+
+#include "node_exec.h"
+#include "node_util.h"
+
+#include "PIL_time.h"
+
+#include "RNA_access.h"
+
+#include "NOD_composite.h"
+#include "node_composite_util.h"
+
+static void foreach_nodetree(Main *main, void *calldata, bNodeTreeCallback func)
+{
+ Scene *sce;
+ for(sce= main->scene.first; sce; sce= sce->id.next) {
+ if(sce->nodetree) {
+ func(calldata, &sce->id, sce->nodetree);
+ }
+ }
+}
+
+static void free_node_cache(bNodeTree *UNUSED(ntree), bNode *node)
+{
+ bNodeSocket *sock;
+
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ if(sock->cache) {
+ free_compbuf(sock->cache);
+ sock->cache= NULL;
+ }
+ }
+}
+
+static void free_cache(bNodeTree *ntree)
+{
+ bNode *node;
+ for(node= ntree->nodes.first; node; node= node->next)
+ free_node_cache(ntree, node);
+}
+
+static void update_node(bNodeTree *ntree, bNode *node)
+{
+ bNodeSocket *sock;
+
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ if(sock->cache) {
+ //free_compbuf(sock->cache);
+ //sock->cache= NULL;
+ }
+ }
+ node->need_exec= 1;
+
+ /* individual node update call */
+ if (node->typeinfo->updatefunc)
+ node->typeinfo->updatefunc(ntree, node);
+}
+
+/* local tree then owns all compbufs */
+static void localize(bNodeTree *UNUSED(localtree), bNodeTree *ntree)
+{
+ bNode *node;
+ bNodeSocket *sock;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ /* ensure new user input gets handled ok */
+ node->need_exec= 0;
+
+ /* move over the compbufs */
+ /* right after ntreeCopyTree() oldsock pointers are valid */
+
+ if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
+ if(node->id) {
+ if(node->flag & NODE_DO_OUTPUT)
+ node->new_node->id= (ID *)copy_image((Image *)node->id);
+ else
+ node->new_node->id= NULL;
+ }
+ }
+
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ sock->new_sock->cache= sock->cache;
+ compbuf_set_node(sock->new_sock->cache, node->new_node);
+
+ sock->cache= NULL;
+ sock->new_sock->new_sock= sock;
+ }
+ }
+}
+
+static void local_sync(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNode *lnode;
+
+ /* move over the compbufs and previews */
+ for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
+ if( (lnode->exec & NODE_READY) && !(lnode->exec & NODE_SKIPPED) ) {
+ if(ntreeNodeExists(ntree, lnode->new_node)) {
+
+ if(lnode->preview && lnode->preview->rect) {
+ nodeFreePreview(lnode->new_node);
+ lnode->new_node->preview= lnode->preview;
+ lnode->preview= NULL;
+ }
+ }
+ }
+ }
+}
+
+static void local_merge(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNode *lnode;
+ bNodeSocket *lsock;
+
+ /* move over the compbufs and previews */
+ for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
+ if(ntreeNodeExists(ntree, lnode->new_node)) {
+ if(ELEM(lnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
+ if(lnode->id && (lnode->flag & NODE_DO_OUTPUT)) {
+ /* image_merge does sanity check for pointers */
+ BKE_image_merge((Image *)lnode->new_node->id, (Image *)lnode->id);
+ }
+ }
+
+ for(lsock= lnode->outputs.first; lsock; lsock= lsock->next) {
+ if(ntreeOutputExists(lnode->new_node, lsock->new_sock)) {
+ lsock->new_sock->cache= lsock->cache;
+ compbuf_set_node(lsock->new_sock->cache, lnode->new_node);
+ lsock->cache= NULL;
+ lsock->new_sock= NULL;
+ }
+ }
+ }
+ }
+}
+
+bNodeTreeType ntreeType_Composite = {
+ /* type */ NTREE_COMPOSIT,
+ /* idname */ "NTCompositing Nodetree",
+
+ /* node_types */ { NULL, NULL },
+
+ /* free_cache */ free_cache,
+ /* free_node_cache */ free_node_cache,
+ /* foreach_nodetree */ foreach_nodetree,
+ /* localize */ localize,
+ /* local_sync */ local_sync,
+ /* local_merge */ local_merge,
+ /* update */ NULL,
+ /* update_node */ update_node
+};
+
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+struct bNodeTreeExec *ntreeCompositBeginExecTree(bNodeTree *ntree, int use_tree_data)
+{
+ bNodeTreeExec *exec;
+ bNode *node;
+ bNodeSocket *sock;
+
+ if (use_tree_data) {
+ /* XXX hack: prevent exec data from being generated twice.
+ * this should be handled by the renderer!
+ */
+ if (ntree->execdata)
+ return ntree->execdata;
+ }
+
+ /* ensures only a single output node is enabled */
+ ntreeSetOutput(ntree);
+
+ exec = ntree_exec_begin(ntree);
+
+ for(node= exec->nodetree->nodes.first; node; node= node->next) {
+ /* initialize needed for groups */
+ node->exec= 0;
+
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ bNodeStack *ns= node_get_socket_stack(exec->stack, sock);
+ if(ns && sock->cache) {
+ ns->data= sock->cache;
+ sock->cache= NULL;
+ }
+ }
+ /* cannot initialize them while using in threads */
+ if(ELEM4(node->type, CMP_NODE_TIME, CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB, CMP_NODE_HUECORRECT)) {
+ curvemapping_initialize(node->storage);
+ if(node->type==CMP_NODE_CURVE_RGB)
+ curvemapping_premultiply(node->storage, 0);
+ }
+ }
+
+ if (use_tree_data) {
+ /* XXX this should not be necessary, but is still used for cmp/sha/tex nodes,
+ * which only store the ntree pointer. Should be fixed at some point!
+ */
+ ntree->execdata = exec;
+ }
+
+ return exec;
+}
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+void ntreeCompositEndExecTree(bNodeTreeExec *exec, int use_tree_data)
+{
+ if(exec) {
+ bNodeTree *ntree= exec->nodetree;
+ bNode *node;
+ bNodeStack *ns;
+
+ for(node= exec->nodetree->nodes.first; node; node= node->next) {
+ bNodeSocket *sock;
+
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ if(ns && ns->data) {
+ sock->cache= ns->data;
+ ns->data= NULL;
+ }
+ }
+ if(node->type==CMP_NODE_CURVE_RGB)
+ curvemapping_premultiply(node->storage, 1);
+
+ node->need_exec= 0;
+ }
+
+ ntree_exec_end(exec);
+
+ if (use_tree_data) {
+ /* XXX clear nodetree backpointer to exec data, same problem as noted in ntreeBeginExecTree */
+ ntree->execdata = NULL;
+ }
+ }
+}
+
+/* ***************************** threaded version for execute composite nodes ************* */
+/* these are nodes without input, only giving values */
+/* or nodes with only value inputs */
+static int node_only_value(bNode *node)
+{
+ bNodeSocket *sock;
+
+ if(ELEM3(node->type, CMP_NODE_TIME, CMP_NODE_VALUE, CMP_NODE_RGB))
+ return 1;
+
+ /* doing this for all node types goes wrong. memory free errors */
+ if(node->inputs.first && node->type==CMP_NODE_MAP_VALUE) {
+ int retval= 1;
+ for(sock= node->inputs.first; sock; sock= sock->next) {
+ if(sock->link)
+ retval &= node_only_value(sock->link->fromnode);
+ }
+ return retval;
+ }
+ return 0;
+}
+
+/* not changing info, for thread callback */
+typedef struct ThreadData {
+ bNodeStack *stack;
+ RenderData *rd;
+} ThreadData;
+
+static void *exec_composite_node(void *nodeexec_v)
+{
+ bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeExec *nodeexec= nodeexec_v;
+ bNode *node= nodeexec->node;
+ ThreadData *thd= (ThreadData *)node->threaddata;
+
+ node_get_stack(node, thd->stack, nsin, nsout);
+
+ if((node->flag & NODE_MUTED) && (!node_only_value(node))) {
+ /* viewers we execute, for feedback to user */
+ if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER))
+ node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
+ else
+ node_compo_pass_on(node, nsin, nsout);
+ }
+ else if(node->typeinfo->execfunc)
+ node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
+ else if (node->typeinfo->newexecfunc)
+ node->typeinfo->newexecfunc(thd->rd, 0, node, nodeexec->data, nsin, nsout);
+
+ node->exec |= NODE_READY;
+ return 0;
+}
+
+/* return total of executable nodes, for timecursor */
+static int setExecutableNodes(bNodeTree *ntree, ThreadData *thd)
+{
+ bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
+ bNode *node;
+ bNodeSocket *sock;
+ int totnode= 0, group_edit= 0;
+
+ /* note; do not add a dependency sort here, the stack was created already */
+
+ /* if we are in group edit, viewer nodes get skipped when group has viewer */
+ for(node= ntree->nodes.first; node; node= node->next)
+ if(node->type==NODE_GROUP && (node->flag & NODE_GROUP_EDIT))
+ if(ntreeHasType((bNodeTree *)node->id, CMP_NODE_VIEWER))
+ group_edit= 1;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ int a;
+
+ node_get_stack(node, thd->stack, nsin, nsout);
+
+ /* test the outputs */
+ /* skip value-only nodes (should be in type!) */
+ if(!node_only_value(node)) {
+ for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
+ if(nsout[a]->data==NULL && nsout[a]->hasoutput) {
+ node->need_exec= 1;
+ break;
+ }
+ }
+ }
+
+ /* test the inputs */
+ for(a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
+ /* skip viewer nodes in bg render or group edit */
+ if( ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER) && (G.background || group_edit))
+ node->need_exec= 0;
+ /* is sock in use? */
+ else if(sock->link) {
+ bNodeLink *link= sock->link;
+
+ /* this is the test for a cyclic case */
+ if(link->fromnode==NULL || link->tonode==NULL);
+ else if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) {
+ if(link->fromnode->need_exec) {
+ node->need_exec= 1;
+ break;
+ }
+ }
+ else {
+ node->need_exec= 0;
+ printf("Node %s skipped, cyclic dependency\n", node->name);
+ }
+ }
+ }
+
+ if(node->need_exec) {
+
+ /* free output buffers */
+ for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
+ if(nsout[a]->data) {
+ free_compbuf(nsout[a]->data);
+ nsout[a]->data= NULL;
+ }
+ }
+ totnode++;
+ /* printf("node needs exec %s\n", node->name); */
+
+ /* tag for getExecutableNode() */
+ node->exec= 0;
+ }
+ else {
+ /* tag for getExecutableNode() */
+ node->exec= NODE_READY|NODE_FINISHED|NODE_SKIPPED;
+
+ }
+ }
+
+ /* last step: set the stack values for only-value nodes */
+ /* just does all now, compared to a full buffer exec this is nothing */
+ if(totnode) {
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->need_exec==0 && node_only_value(node)) {
+ if(node->typeinfo->execfunc) {
+ node_get_stack(node, thd->stack, nsin, nsout);
+ node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
+ }
+ }
+ }
+ }
+
+ return totnode;
+}
+
+/* while executing tree, free buffers from nodes that are not needed anymore */
+static void freeExecutableNode(bNodeTree *ntree, bNodeTreeExec *exec)
+{
+ /* node outputs can be freed when:
+ - not a render result or image node
+ - when node outputs go to nodes all being set NODE_FINISHED
+ */
+ bNode *node;
+ bNodeSocket *sock;
+
+ /* set exec flag for finished nodes that might need freed */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type!=CMP_NODE_R_LAYERS)
+ if(node->exec & NODE_FINISHED)
+ node->exec |= NODE_FREEBUFS;
+ }
+ /* clear this flag for input links that are not done yet */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if((node->exec & NODE_FINISHED)==0) {
+ for(sock= node->inputs.first; sock; sock= sock->next)
+ if(sock->link)
+ sock->link->fromnode->exec &= ~NODE_FREEBUFS;
+ }
+ }
+ /* now we can free buffers */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->exec & NODE_FREEBUFS) {
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ bNodeStack *ns= node_get_socket_stack(exec->stack, sock);
+ if(ns && ns->data) {
+ free_compbuf(ns->data);
+ ns->data= NULL;
+ // printf("freed buf node %s \n", node->name);
+ }
+ }
+ }
+ }
+}
+
+static bNodeExec *getExecutableNode(bNodeTreeExec *exec)
+{
+ bNodeExec *nodeexec;
+ bNodeSocket *sock;
+ int n;
+
+ for(n=0, nodeexec=exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ if(nodeexec->node->exec==0) {
+ /* input sockets should be ready */
+ for(sock= nodeexec->node->inputs.first; sock; sock= sock->next) {
+ if(sock->link && sock->link->fromnode)
+ if((sock->link->fromnode->exec & NODE_READY)==0)
+ break;
+ }
+ if(sock==NULL)
+ return nodeexec;
+ }
+ }
+ return NULL;
+}
+
+/* check if texture nodes need exec or end */
+static void ntree_composite_texnode(bNodeTree *ntree, int init)
+{
+ bNode *node;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type==CMP_NODE_TEXTURE && node->id) {
+ Tex *tex= (Tex *)node->id;
+ if(tex->nodetree && tex->use_nodes) {
+ /* has internal flag to detect it only does it once */
+ if(init) {
+ if (!tex->nodetree->execdata)
+ tex->nodetree->execdata = ntreeTexBeginExecTree(tex->nodetree, 1);
+ }
+ else
+ ntreeTexEndExecTree(tex->nodetree->execdata, 1);
+ tex->nodetree->execdata = NULL;
+ }
+ }
+ }
+
+}
+
+/* optimized tree execute test for compositing */
+void ntreeCompositExecTree(bNodeTree *ntree, RenderData *rd, int do_preview)
+{
+ bNodeExec *nodeexec;
+ bNode *node;
+ ListBase threads;
+ ThreadData thdata;
+ int totnode, curnode, rendering= 1, n;
+ bNodeTreeExec *exec= NULL;
+
+ if(ntree==NULL) return;
+
+ if(do_preview)
+ ntreeInitPreview(ntree, 0, 0);
+
+ if (!ntree->execdata) {
+ /* XXX this is the top-level tree, so we use the ntree->execdata pointer. */
+ exec = ntreeCompositBeginExecTree(ntree, 1);
+ }
+ ntree_composite_texnode(ntree, 1);
+
+ /* prevent unlucky accidents */
+ if(G.background)
+ rd->scemode &= ~R_COMP_CROP;
+
+ /* setup callerdata for thread callback */
+ thdata.rd= rd;
+ thdata.stack= exec->stack;
+
+ /* fixed seed, for example noise texture */
+ BLI_srandom(rd->cfra);
+
+ /* sets need_exec tags in nodes */
+ curnode = totnode= setExecutableNodes(ntree, &thdata);
+
+ BLI_init_threads(&threads, exec_composite_node, rd->threads);
+
+ while(rendering) {
+
+ if(BLI_available_threads(&threads)) {
+ nodeexec= getExecutableNode(exec);
+ if(nodeexec) {
+ node = nodeexec->node;
+ if(ntree->progress && totnode)
+ ntree->progress(ntree->prh, (1.0 - curnode/(float)totnode));
+ if(ntree->stats_draw) {
+ char str[64];
+ sprintf(str, "Compositing %d %s", curnode, node->name);
+ ntree->stats_draw(ntree->sdh, str);
+ }
+ curnode--;
+
+ node->threaddata = &thdata;
+ node->exec= NODE_PROCESSING;
+ BLI_insert_thread(&threads, nodeexec);
+ }
+ else
+ PIL_sleep_ms(50);
+ }
+ else
+ PIL_sleep_ms(50);
+
+ rendering= 0;
+ /* test for ESC */
+ if(ntree->test_break && ntree->test_break(ntree->tbh)) {
+ for(node= ntree->nodes.first; node; node= node->next)
+ node->exec |= NODE_READY;
+ }
+
+ /* check for ready ones, and if we need to continue */
+ for(n=0, nodeexec=exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ node = nodeexec->node;
+ if(node->exec & NODE_READY) {
+ if((node->exec & NODE_FINISHED)==0) {
+ BLI_remove_thread(&threads, nodeexec); /* this waits for running thread to finish btw */
+ node->exec |= NODE_FINISHED;
+
+ /* freeing unused buffers */
+ if(rd->scemode & R_COMP_FREE)
+ freeExecutableNode(ntree, exec);
+ }
+ }
+ else rendering= 1;
+ }
+ }
+
+ BLI_end_threads(&threads);
+
+ /* XXX top-level tree uses the ntree->execdata pointer */
+ ntreeCompositEndExecTree(exec, 1);
+}
+
+/* *********************************************** */
+
+/* clumsy checking... should do dynamic outputs once */
+static void force_hidden_passes(bNode *node, int passflag)
+{
+ bNodeSocket *sock;
+
+ for(sock= node->outputs.first; sock; sock= sock->next)
+ sock->flag &= ~SOCK_UNAVAIL;
+
+ sock= BLI_findlink(&node->outputs, RRES_OUT_Z);
+ if(!(passflag & SCE_PASS_Z)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_NORMAL);
+ if(!(passflag & SCE_PASS_NORMAL)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_VEC);
+ if(!(passflag & SCE_PASS_VECTOR)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_UV);
+ if(!(passflag & SCE_PASS_UV)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_RGBA);
+ if(!(passflag & SCE_PASS_RGBA)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_DIFF);
+ if(!(passflag & SCE_PASS_DIFFUSE)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_SPEC);
+ if(!(passflag & SCE_PASS_SPEC)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_SHADOW);
+ if(!(passflag & SCE_PASS_SHADOW)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_AO);
+ if(!(passflag & SCE_PASS_AO)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_REFLECT);
+ if(!(passflag & SCE_PASS_REFLECT)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_REFRACT);
+ if(!(passflag & SCE_PASS_REFRACT)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_INDIRECT);
+ if(!(passflag & SCE_PASS_INDIRECT)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_INDEXOB);
+ if(!(passflag & SCE_PASS_INDEXOB)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_INDEXMA);
+ if(!(passflag & SCE_PASS_INDEXMA)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_MIST);
+ if(!(passflag & SCE_PASS_MIST)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_EMIT);
+ if(!(passflag & SCE_PASS_EMIT)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_ENV);
+ if(!(passflag & SCE_PASS_ENVIRONMENT)) sock->flag |= SOCK_UNAVAIL;
+
+}
+
+/* based on rules, force sockets hidden always */
+void ntreeCompositForceHidden(bNodeTree *ntree, Scene *curscene)
+{
+ bNode *node;
+
+ if(ntree==NULL) return;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if( node->type==CMP_NODE_R_LAYERS) {
+ Scene *sce= node->id?(Scene *)node->id:curscene;
+ SceneRenderLayer *srl= BLI_findlink(&sce->r.layers, node->custom1);
+ if(srl)
+ force_hidden_passes(node, srl->passflag);
+ }
+ else if( node->type==CMP_NODE_IMAGE) {
+ Image *ima= (Image *)node->id;
+ if(ima) {
+ if(ima->rr) {
+ ImageUser *iuser= node->storage;
+ RenderLayer *rl= BLI_findlink(&ima->rr->layers, iuser->layer);
+ if(rl)
+ force_hidden_passes(node, rl->passflag);
+ else
+ force_hidden_passes(node, 0);
+ }
+ else if(ima->type!=IMA_TYPE_MULTILAYER) { /* if ->rr not yet read we keep inputs */
+ force_hidden_passes(node, RRES_OUT_Z);
+ }
+ else
+ force_hidden_passes(node, 0);
+ }
+ else
+ force_hidden_passes(node, 0);
+ }
+ }
+
+}
+
+/* called from render pipeline, to tag render input and output */
+/* need to do all scenes, to prevent errors when you re-render 1 scene */
+void ntreeCompositTagRender(Scene *curscene)
+{
+ Scene *sce;
+
+ for(sce= G.main->scene.first; sce; sce= sce->id.next) {
+ if(sce->nodetree) {
+ bNode *node;
+
+ for(node= sce->nodetree->nodes.first; node; node= node->next) {
+ if(node->id==(ID *)curscene || node->type==CMP_NODE_COMPOSITE)
+ NodeTagChanged(sce->nodetree, node);
+ else if(node->type==CMP_NODE_TEXTURE) /* uses scene sizex/sizey */
+ NodeTagChanged(sce->nodetree, node);
+ }
+ }
+ }
+}
+
+static int node_animation_properties(bNodeTree *ntree, bNode *node)
+{
+ bNodeSocket *sock;
+ const ListBase *lb;
+ Link *link;
+ PointerRNA ptr;
+ PropertyRNA *prop;
+
+ /* check to see if any of the node's properties have fcurves */
+ RNA_pointer_create((ID *)ntree, &RNA_Node, node, &ptr);
+ lb = RNA_struct_type_properties(ptr.type);
+
+ for (link=lb->first; link; link=link->next) {
+ int driven, len=1, index;
+ prop = (PropertyRNA *)link;
+
+ if (RNA_property_array_check(prop))
+ len = RNA_property_array_length(&ptr, prop);
+
+ for (index=0; index<len; index++) {
+ if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
+ NodeTagChanged(ntree, node);
+ return 1;
+ }
+ }
+ }
+
+ /* now check node sockets */
+ for (sock = node->inputs.first; sock; sock=sock->next) {
+ int driven, len=1, index;
+
+ RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
+ prop = RNA_struct_find_property(&ptr, "default_value");
+ if (prop) {
+ if (RNA_property_array_check(prop))
+ len = RNA_property_array_length(&ptr, prop);
+
+ for (index=0; index<len; index++) {
+ if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
+ NodeTagChanged(ntree, node);
+ return 1;
+ }
+ }
+ }
+ }
+
+ return 0;
+}
+
+/* tags nodes that have animation capabilities */
+int ntreeCompositTagAnimated(bNodeTree *ntree)
+{
+ bNode *node;
+ int tagged= 0;
+
+ if(ntree==NULL) return 0;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+
+ tagged = node_animation_properties(ntree, node);
+
+ /* otherwise always tag these node types */
+ if(node->type==CMP_NODE_IMAGE) {
+ Image *ima= (Image *)node->id;
+ if(ima && ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
+ NodeTagChanged(ntree, node);
+ tagged= 1;
+ }
+ }
+ else if(node->type==CMP_NODE_TIME) {
+ NodeTagChanged(ntree, node);
+ tagged= 1;
+ }
+ /* here was tag render layer, but this is called after a render, so re-composites fail */
+ else if(node->type==NODE_GROUP) {
+ if( ntreeCompositTagAnimated((bNodeTree *)node->id) ) {
+ NodeTagChanged(ntree, node);
+ }
+ }
+ }
+
+ return tagged;
+}
+
+
+/* called from image window preview */
+void ntreeCompositTagGenerators(bNodeTree *ntree)
+{
+ bNode *node;
+
+ if(ntree==NULL) return;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if( ELEM(node->type, CMP_NODE_R_LAYERS, CMP_NODE_IMAGE))
+ NodeTagChanged(ntree, node);
+ }
+}
+
+/* XXX after render animation system gets a refresh, this call allows composite to end clean */
+void ntreeClearTags(bNodeTree *ntree)
+{
+ bNode *node;
+
+ if(ntree==NULL) return;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ node->need_exec= 0;
+ if(node->type==NODE_GROUP)
+ ntreeClearTags((bNodeTree *)node->id);
+ }
+}
diff --git a/source/blender/nodes/intern/CMP_util.c b/source/blender/nodes/composite/node_composite_util.c
index 78025f4d964..78f97c5289e 100644
--- a/source/blender/nodes/intern/CMP_util.c
+++ b/source/blender/nodes/composite/node_composite_util.c
@@ -27,12 +27,12 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_util.c
+/** \file blender/nodes/composite/node_composite_util.c
* \ingroup nodes
*/
-#include "CMP_util.h"
+#include "node_composite_util.h"
CompBuf *alloc_compbuf(int sizex, int sizey, int type, int alloc)
{
@@ -67,7 +67,7 @@ CompBuf *dupalloc_compbuf(CompBuf *cbuf)
{
CompBuf *dupbuf= alloc_compbuf(cbuf->x, cbuf->y, cbuf->type, 1);
if(dupbuf) {
- memmove(dupbuf->rect, cbuf->rect, cbuf->type*sizeof(float)*cbuf->x*cbuf->y);
+ memcpy(dupbuf->rect, cbuf->rect, cbuf->type*sizeof(float)*cbuf->x*cbuf->y);
dupbuf->xof= cbuf->xof;
dupbuf->yof= cbuf->yof;
@@ -132,7 +132,7 @@ void compbuf_set_node(CompBuf *cbuf, bNode *node)
if (cbuf) cbuf->node = node;
}
-/* used for disabling node (similar code in drawnode.c for disable line) */
+/* used for disabling node (similar code in node_draw.c for disable line and node_edit for untangling nodes) */
void node_compo_pass_on(bNode *node, bNodeStack **nsin, bNodeStack **nsout)
{
CompBuf *valbuf= NULL, *colbuf= NULL, *vecbuf= NULL;
@@ -156,7 +156,7 @@ void node_compo_pass_on(bNode *node, bNodeStack **nsin, bNodeStack **nsout)
if(valbuf || colbuf || vecbuf) {
for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
if(nsout[a]->hasoutput) {
- if(sock->type==SOCK_VALUE && valbuf) {
+ if(sock->type==SOCK_FLOAT && valbuf) {
nsout[a]->data= pass_on_compbuf(valbuf);
valbuf= NULL;
}
@@ -1320,6 +1320,12 @@ void IIR_gauss(CompBuf* src, float sigma, int chan, int xy)
if ((xy < 1) || (xy > 3)) xy = 3;
+ // XXX The YVV macro defined below explicitely expects sources of at least 3x3 pixels,
+ // so just skiping blur along faulty direction if src's def is below that limit!
+ if (src->x < 3) xy &= ~(int) 1;
+ if (src->y < 3) xy &= ~(int) 2;
+ if (xy < 1) return;
+
// see "Recursive Gabor Filtering" by Young/VanVliet
// all factors here in double.prec. Required, because for single.prec it seems to blow up if sigma > ~200
if (sigma >= 3.556)
diff --git a/source/blender/nodes/intern/CMP_util.h b/source/blender/nodes/composite/node_composite_util.h
index 3f37eae2af9..57ebe2191dd 100644
--- a/source/blender/nodes/intern/CMP_util.h
+++ b/source/blender/nodes/composite/node_composite_util.h
@@ -27,13 +27,13 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_util.h
+/** \file blender/nodes/composite/node_composite_util.h
* \ingroup nodes
*/
-#ifndef CMP_NODE_UTILS_H_
-#define CMP_NODE_UTILS_H_
+#ifndef NODE_COMPOSITE_UTIL_H_
+#define NODE_COMPOSITE_UTIL_H_
#include <stdlib.h>
#include <string.h>
@@ -70,7 +70,6 @@
#include "BKE_library.h"
#include "BKE_object.h"
-#include "../CMP_node.h"
#include "node_util.h"
#include "IMB_imbuf_types.h"
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c b/source/blender/nodes/composite/nodes/node_composite_alphaOver.c
index 9dcdfaf21e6..551f716e72b 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c
+++ b/source/blender/nodes/composite/nodes/node_composite_alphaOver.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_alphaOver.c
+/** \file blender/nodes/composite/nodes/node_composite_alphaOver.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** ALPHAOVER ******************** */
-static bNodeSocketType cmp_node_alphaover_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_alphaover_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_alphaover_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_alphaover_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -140,7 +140,7 @@ static void node_composit_exec_alphaover(void *UNUSED(data), bNode *node, bNodeS
}
}
-static void node_alphaover_init(bNode* node)
+static void node_alphaover_init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= MEM_callocN(sizeof(NodeTwoFloats), "NodeTwoFloats");
}
@@ -149,8 +149,8 @@ void register_node_type_cmp_alphaover(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_ALPHAOVER, "AlphaOver", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_alphaover_in, cmp_node_alphaover_out);
+ node_type_base(&ntype, CMP_NODE_ALPHAOVER, "AlphaOver", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_alphaover_in, cmp_node_alphaover_out);
node_type_size(&ntype, 80, 40, 120);
node_type_init(&ntype, node_alphaover_init);
node_type_storage(&ntype, "NodeTwoFloats", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_bilateralblur.c b/source/blender/nodes/composite/nodes/node_composite_bilateralblur.c
index c106b437e17..e8e6e164983 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_bilateralblur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_bilateralblur.c
@@ -1,5 +1,5 @@
/*
- *
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_bilateralblur.c
+/** \file blender/nodes/composite/nodes/node_composite_bilateralblur.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** BILATERALBLUR ******************** */
-static bNodeSocketType cmp_node_bilateralblur_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Determinator", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_bilateralblur_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_RGBA, 1, "Determinator", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_bilateralblur_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_bilateralblur_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -247,7 +247,7 @@ static void node_composit_exec_bilateralblur(void *UNUSED(data), bNode *node, bN
free_compbuf(new);
}
-static void node_composit_init_bilateralblur(bNode* node)
+static void node_composit_init_bilateralblur(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeBilateralBlurData *nbbd= MEM_callocN(sizeof(NodeBilateralBlurData), "node bilateral blur data");
node->storage= nbbd;
@@ -259,8 +259,8 @@ void register_node_type_cmp_bilateralblur(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_BILATERALBLUR, "Bilateral Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_bilateralblur_in, cmp_node_bilateralblur_out);
+ node_type_base(&ntype, CMP_NODE_BILATERALBLUR, "Bilateral Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_bilateralblur_in, cmp_node_bilateralblur_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_bilateralblur);
node_type_storage(&ntype, "NodeBilateralBlurData", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_blur.c b/source/blender/nodes/composite/nodes/node_composite_blur.c
index 2b33126b3a7..cd37404e677 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_blur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_blur.c
@@ -28,21 +28,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_blur.c
+/** \file blender/nodes/composite/nodes/node_composite_blur.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** BLUR ******************** */
-static bNodeSocketType cmp_node_blur_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Size", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_blur_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Size", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_blur_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_blur_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -387,7 +387,7 @@ static void bokeh_single_image(bNode *node, CompBuf *new, CompBuf *img, float fa
float dist= sqrt(fj*fj + fi*fi);
//*dgauss= hexagon_filter(fi, fj);
- *dgauss= RE_filter_value(nbd->filtertype, 2.0f*dist - 1.0f);
+ *dgauss= RE_filter_value(nbd->filtertype, dist);
val+= *dgauss;
}
@@ -713,7 +713,7 @@ static void node_composit_exec_blur(void *data, bNode *node, bNodeStack **in, bN
generate_preview(data, node, out[0]->data);
}
-static void node_composit_init_blur(bNode* node)
+static void node_composit_init_blur(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= MEM_callocN(sizeof(NodeBlurData), "node blur data");
}
@@ -722,8 +722,8 @@ void register_node_type_cmp_blur(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_BLUR, "Blur", NODE_CLASS_OP_FILTER, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_blur_in, cmp_node_blur_out);
+ node_type_base(&ntype, CMP_NODE_BLUR, "Blur", NODE_CLASS_OP_FILTER, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_blur_in, cmp_node_blur_out);
node_type_size(&ntype, 120, 80, 200);
node_type_init(&ntype, node_composit_init_blur);
node_type_storage(&ntype, "NodeBlurData", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_brightness.c b/source/blender/nodes/composite/nodes/node_composite_brightness.c
index 50a8d05b03d..55d890e6d31 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_brightness.c
+++ b/source/blender/nodes/composite/nodes/node_composite_brightness.c
@@ -28,24 +28,24 @@
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_brightness.c
+/** \file blender/nodes/composite/nodes/node_composite_brightness.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Brigh and contrsast ******************** */
-static bNodeSocketType cmp_node_brightcontrast_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Bright", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f},
- { SOCK_VALUE, 1, "Contrast", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f},
+static bNodeSocketTemplate cmp_node_brightcontrast_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Bright", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Contrast", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_brightcontrast_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_brightcontrast_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -100,8 +100,8 @@ void register_node_type_cmp_brightcontrast(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_BRIGHTCONTRAST, "Bright/Contrast", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_brightcontrast_in, cmp_node_brightcontrast_out);
+ node_type_base(&ntype, CMP_NODE_BRIGHTCONTRAST, "Bright/Contrast", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_brightcontrast_in, cmp_node_brightcontrast_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_brightcontrast);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c b/source/blender/nodes/composite/nodes/node_composite_channelMatte.c
index b32c531d8f9..1e3992a7185 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_channelMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_channelMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_channelMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* Channel Matte Node ********************************* */
-static bNodeSocketType cmp_node_channel_matte_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_channel_matte_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_channel_matte_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_channel_matte_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -97,6 +97,7 @@ static void do_channel_matte(bNode *node, float *out, float *in)
default:
break;
}
+ break;
}
default:
break;
@@ -186,7 +187,7 @@ static void node_composit_exec_channel_matte(void *data, bNode *node, bNodeStack
}
-static void node_composit_init_channel_matte(bNode *node)
+static void node_composit_init_channel_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage=c;
@@ -205,8 +206,8 @@ void register_node_type_cmp_channel_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_CHANNEL_MATTE, "Channel Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_channel_matte_in, cmp_node_channel_matte_out);
+ node_type_base(&ntype, CMP_NODE_CHANNEL_MATTE, "Channel Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_channel_matte_in, cmp_node_channel_matte_out);
node_type_size(&ntype, 200, 80, 250);
node_type_init(&ntype, node_composit_init_channel_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c b/source/blender/nodes/composite/nodes/node_composite_chromaMatte.c
index 03230f2e212..49c90e85621 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_chromaMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_chromaMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* Chroma Key ********************************************************** */
-static bNodeSocketType cmp_node_chroma_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_chroma_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_chroma_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_chroma_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -178,7 +178,7 @@ static void node_composit_exec_chroma_matte(void *data, bNode *node, bNodeStack
}
-static void node_composit_init_chroma_matte(bNode *node)
+static void node_composit_init_chroma_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage= c;
@@ -193,8 +193,8 @@ void register_node_type_cmp_chroma_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_CHROMA_MATTE, "Chroma Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_chroma_in, cmp_node_chroma_out);
+ node_type_base(&ntype, CMP_NODE_CHROMA_MATTE, "Chroma Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_chroma_in, cmp_node_chroma_out);
node_type_size(&ntype, 200, 80, 300);
node_type_init(&ntype, node_composit_init_chroma_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c b/source/blender/nodes/composite/nodes/node_composite_colorMatte.c
index 55d77a902b9..b17052ed542 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_colorMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_colorMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_colorMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* Color Key ********************************************************** */
-static bNodeSocketType cmp_node_color_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_color_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_color_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_color_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -114,7 +114,7 @@ static void node_composit_exec_color_matte(void *data, bNode *node, bNodeStack *
free_compbuf(cbuf);
}
-static void node_composit_init_color_matte(bNode *node)
+static void node_composit_init_color_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node color");
node->storage= c;
@@ -129,8 +129,8 @@ void register_node_type_cmp_color_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COLOR_MATTE, "Color Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_color_in, cmp_node_color_out);
+ node_type_base(&ntype, CMP_NODE_COLOR_MATTE, "Color Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_color_in, cmp_node_color_out);
node_type_size(&ntype, 200, 80, 300);
node_type_init(&ntype, node_composit_init_color_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c b/source/blender/nodes/composite/nodes/node_composite_colorSpill.c
index 905d97709c3..418d6802cec 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c
+++ b/source/blender/nodes/composite/nodes/node_composite_colorSpill.c
@@ -27,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_colorSpill.c
+/** \file blender/nodes/composite/nodes/node_composite_colorSpill.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
#define avg(a,b) ((a+b)/2)
/* ******************* Color Spill Supression ********************************* */
-static bNodeSocketType cmp_node_color_spill_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_color_spill_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ {SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
{-1,0,""}
};
-static bNodeSocketType cmp_node_color_spill_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_color_spill_out[]={
+ {SOCK_RGBA,0,"Image"},
{-1,0,""}
};
@@ -315,7 +315,7 @@ static void node_composit_exec_color_spill(void *UNUSED(data), bNode *node, bNod
free_compbuf(spillmap);
}
-static void node_composit_init_color_spill(bNode *node)
+static void node_composit_init_color_spill(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeColorspill *ncs= MEM_callocN(sizeof(NodeColorspill), "node colorspill");
node->storage=ncs;
@@ -330,8 +330,8 @@ void register_node_type_cmp_color_spill(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COLOR_SPILL, "Color Spill", NODE_CLASS_MATTE, NODE_OPTIONS,
- cmp_node_color_spill_in, cmp_node_color_spill_out);
+ node_type_base(&ntype, CMP_NODE_COLOR_SPILL, "Color Spill", NODE_CLASS_MATTE, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_color_spill_in, cmp_node_color_spill_out);
node_type_size(&ntype, 140, 80, 200);
node_type_init(&ntype, node_composit_init_color_spill);
node_type_storage(&ntype, "NodeColorspill", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_colorbalance.c b/source/blender/nodes/composite/nodes/node_composite_colorbalance.c
index 4074ea2fa29..6bce18c14ef 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_colorbalance.c
+++ b/source/blender/nodes/composite/nodes/node_composite_colorbalance.c
@@ -1,5 +1,5 @@
/*
- *
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_colorbalance.c
+/** \file blender/nodes/composite/nodes/node_composite_colorbalance.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* Color Balance ********************************* */
-static bNodeSocketType cmp_node_colorbalance_in[]={
- {SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_colorbalance_in[]={
+ {SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_colorbalance_out[]={
- {SOCK_RGBA,0,"Image", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_colorbalance_out[]={
+ {SOCK_RGBA,0,"Image"},
{-1,0,""}
};
@@ -175,7 +175,7 @@ static void node_composit_exec_colorbalance(void *UNUSED(data), bNode *node, bNo
}
}
-static void node_composit_init_colorbalance(bNode *node)
+static void node_composit_init_colorbalance(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeColorBalance *n= node->storage= MEM_callocN(sizeof(NodeColorBalance), "node colorbalance");
@@ -188,8 +188,8 @@ void register_node_type_cmp_colorbalance(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COLORBALANCE, "Color Balance", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_colorbalance_in, cmp_node_colorbalance_out);
+ node_type_base(&ntype, CMP_NODE_COLORBALANCE, "Color Balance", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_colorbalance_in, cmp_node_colorbalance_out);
node_type_size(&ntype, 400, 200, 400);
node_type_init(&ntype, node_composit_init_colorbalance);
node_type_storage(&ntype, "NodeColorBalance", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/composite/nodes/node_composite_common.c b/source/blender/nodes/composite/nodes/node_composite_common.c
new file mode 100644
index 00000000000..8067f7e92be
--- /dev/null
+++ b/source/blender/nodes/composite/nodes/node_composite_common.c
@@ -0,0 +1,373 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2006 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Campbell Barton, Alfredo de Greef, David Millan Escriva,
+ * Juho Vepsäläinen
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/composite/nodes/node_composite_common.c
+ * \ingroup cmpnodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "BKE_node.h"
+
+#include "node_composite_util.h"
+#include "node_common.h"
+#include "node_exec.h"
+
+#if 0
+static void PRINT_BUFFERS(bNodeTreeExec *exec)
+{
+ bNodeTree *ntree= exec->nodetree;
+ bNode *node;
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int i;
+
+ printf("-------------- DEBUG --------------\n");
+ for (sock=ntree->inputs.first, i=0; sock; sock=sock->next, ++i) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ printf("%d. Tree Input %s", i, sock->name);
+ if (ns->external)
+ printf(" (external)");
+ printf(": data=%p\n", ns->data);
+ }
+ for (sock=ntree->outputs.first, i=0; sock; sock=sock->next, ++i) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ printf("%d. Tree Output %s", i, sock->name);
+ if (ns->external)
+ printf(" (external)");
+ printf(": data=%p\n", ns->data);
+ }
+ for (node=ntree->nodes.first; node; node=node->next) {
+ printf("Node %s:\n", node->name);
+ for (sock=node->inputs.first, i=0; sock; sock=sock->next, ++i) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ printf("\t%d. Input %s", i, sock->name);
+ if (ns->external)
+ printf(" (external)");
+ printf(": data=%p\n", ns->data);
+ }
+ for (sock=node->outputs.first, i=0; sock; sock=sock->next, ++i) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ printf("\t%d. Output %s", i, sock->name);
+ if (ns->external)
+ printf(" (external)");
+ printf(": data=%p\n", ns->data);
+ }
+ }
+}
+#endif
+
+static void copy_stack(bNodeStack *to, bNodeStack *from)
+{
+ if (to != from) {
+ copy_v4_v4(to->vec, from->vec);
+ to->data = from->data;
+ to->datatype = from->datatype;
+
+ /* tag as copy to prevent freeing */
+ to->is_copy = 1;
+ }
+}
+
+static void move_stack(bNodeStack *to, bNodeStack *from)
+{
+ if (to != from) {
+ copy_v4_v4(to->vec, from->vec);
+ to->data = from->data;
+ to->datatype = from->datatype;
+ to->is_copy = from->is_copy;
+
+ zero_v4(from->vec);
+ from->data = NULL;
+ from->datatype = 0;
+ from->is_copy = 0;
+ }
+}
+
+/**** GROUP ****/
+
+static void *group_initexec(bNode *node)
+{
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ bNodeTreeExec *exec;
+ bNodeSocket *sock;
+ bNodeStack *ns;
+
+ /* initialize the internal node tree execution */
+ exec = ntreeCompositBeginExecTree(ngroup, 0);
+
+ /* tag group outputs as external to prevent freeing */
+ for (sock=ngroup->outputs.first; sock; sock=sock->next) {
+ if (!(sock->flag & SOCK_INTERNAL)) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ ns->external = 1;
+ }
+ }
+
+ return exec;
+}
+
+static void group_freeexec(bNode *node, void *nodedata)
+{
+ bNodeTreeExec *gexec= (bNodeTreeExec*)nodedata;
+
+ ntreeCompositEndExecTree(gexec, 0);
+}
+
+/* Copy inputs to the internal stack.
+ * This is a shallow copy, no buffers are duplicated here!
+ */
+static void group_copy_inputs(bNode *node, bNodeStack **in, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->inputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ copy_stack(ns, in[a]);
+ }
+ }
+}
+
+/* Copy internal results to the external outputs.
+ */
+static void group_move_outputs(bNode *node, bNodeStack **out, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->outputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ move_stack(out[a], ns);
+ }
+ }
+}
+
+/* Free internal buffers */
+static void group_free_internal(bNodeTreeExec *gexec) {
+ bNodeStack *ns;
+ int i;
+
+ for (i=0, ns=gexec->stack; i < gexec->stacksize; ++i, ++ns) {
+ if (!ns->external && !ns->is_copy) {
+ if (ns->data) {
+ free_compbuf(ns->data);
+ ns->data = NULL;
+ }
+ }
+ }
+}
+
+static void group_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ group_copy_inputs(node, in, exec->stack);
+ ntreeExecNodes(exec, data, thread);
+ group_free_internal(exec);
+ group_move_outputs(node, out, exec->stack);
+}
+
+void register_node_type_cmp_group(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS|NODE_CONST_OUTPUT);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_group_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_group_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, group_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+
+
+/**** FOR LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+/* Move the results from the previous iteration back to the input sockets. */
+static void loop_iteration_reset(bNodeTree *ngroup, bNodeStack *gstack)
+{
+ bNodeSocket *gin, *gout;
+ bNodeStack *nsin, *nsout;
+
+ gin = ngroup->inputs.first;
+ gout = ngroup->outputs.first;
+
+ while (gin && gout) {
+ /* skip static (non-looping) sockets */
+ while (gin && !(gin->flag & SOCK_DYNAMIC))
+ gin=gin->next;
+ while (gout && !(gout->flag & SOCK_DYNAMIC))
+ gout=gout->next;
+
+ if (gin && gout) {
+ nsin = node_get_socket_stack(gstack, gin);
+ nsout = node_get_socket_stack(gstack, gout);
+
+ move_stack(nsin, nsout);
+
+ gin=gin->next;
+ gout=gout->next;
+ }
+ }
+}
+
+static void forloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ int totiterations= (int)in[0]->vec[0];
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ /* "Iteration" socket */
+ sock = exec->nodetree->inputs.first;
+ ns = node_get_socket_stack(exec->stack, sock);
+
+ group_copy_inputs(node, in, exec->stack);
+ for (iteration=0; iteration < totiterations; ++iteration) {
+ /* first input contains current iteration counter */
+ ns->vec[0] = (float)iteration;
+
+ if (iteration > 0)
+ loop_iteration_reset(exec->nodetree, exec->stack);
+ ntreeExecNodes(exec, data, thread);
+ group_free_internal(exec);
+ }
+ group_move_outputs(node, out, exec->stack);
+}
+
+void register_node_type_cmp_forloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_FORLOOP, "For", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_forloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_forloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_forloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, forloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
+
+
+/**** WHILE LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+static void whileloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ int condition= (in[0]->vec[0] > 0.0f);
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ /* "Condition" socket */
+ sock = exec->nodetree->outputs.first;
+ ns = node_get_socket_stack(exec->stack, sock);
+
+ iteration = 0;
+ group_copy_inputs(node, in, exec->stack);
+ while (condition && iteration < node->custom1) {
+ if (iteration > 0)
+ loop_iteration_reset(exec->nodetree, exec->stack);
+ ntreeExecNodes(exec, data, thread);
+ group_free_internal(exec);
+
+// PRINT_BUFFERS(exec);
+
+ condition = (ns->vec[0] > 0.0f);
+ ++iteration;
+ }
+ group_move_outputs(node, out, exec->stack);
+}
+
+void register_node_type_cmp_whileloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_WHILELOOP, "While", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_whileloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_whileloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_whileloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, whileloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_composite.c b/source/blender/nodes/composite/nodes/node_composite_composite.c
index fb68f56ae64..492e5c28459 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_composite.c
+++ b/source/blender/nodes/composite/nodes/node_composite_composite.c
@@ -27,20 +27,20 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_composite.c
+/** \file blender/nodes/composite/nodes/node_composite_composite.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** COMPOSITE ******************** */
-static bNodeSocketType cmp_node_composite_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_composite_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
@@ -103,8 +103,8 @@ void register_node_type_cmp_composite(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COMPOSITE, "Composite", NODE_CLASS_OUTPUT, NODE_PREVIEW,
- cmp_node_composite_in, NULL);
+ node_type_base(&ntype, CMP_NODE_COMPOSITE, "Composite", NODE_CLASS_OUTPUT, NODE_PREVIEW);
+ node_type_socket_templates(&ntype, cmp_node_composite_in, NULL);
node_type_size(&ntype, 80, 60, 200);
node_type_exec(&ntype, node_composit_exec_composite);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_crop.c b/source/blender/nodes/composite/nodes/node_composite_crop.c
index 0331217f0cb..b8c539b6d66 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_crop.c
+++ b/source/blender/nodes/composite/nodes/node_composite_crop.c
@@ -1,5 +1,5 @@
/*
- *
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_crop.c
+/** \file blender/nodes/composite/nodes/node_composite_crop.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Crop ******************** */
-static bNodeSocketType cmp_node_crop_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_crop_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_crop_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_crop_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -103,7 +103,7 @@ static void node_composit_exec_crop(void *UNUSED(data), bNode *node, bNodeStack
}
}
-static void node_composit_init_crop(bNode* node)
+static void node_composit_init_crop(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeTwoXYs *nxy= MEM_callocN(sizeof(NodeTwoXYs), "node xy data");
node->storage= nxy;
@@ -117,8 +117,8 @@ void register_node_type_cmp_crop(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_CROP, "Crop", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_crop_in, cmp_node_crop_out);
+ node_type_base(&ntype, CMP_NODE_CROP, "Crop", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_crop_in, cmp_node_crop_out);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_crop);
node_type_storage(&ntype, "NodeTwoXYs", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_curves.c b/source/blender/nodes/composite/nodes/node_composite_curves.c
index 921c5e21fea..58074eaca57 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_curves.c
+++ b/source/blender/nodes/composite/nodes/node_composite_curves.c
@@ -27,19 +27,19 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_curves.c
+/** \file blender/nodes/composite/nodes/node_composite_curves.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** CURVE Time ******************** */
/* custom1 = sfra, custom2 = efra */
-static bNodeSocketType cmp_node_time_out[]= {
- { SOCK_VALUE, 0, "Fac", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_time_out[]= {
+ { SOCK_FLOAT, 0, "Fac"},
{ -1, 0, "" }
};
@@ -57,7 +57,7 @@ static void node_composit_exec_curves_time(void *data, bNode *node, bNodeStack *
}
-static void node_composit_init_curves_time(bNode* node)
+static void node_composit_init_curves_time(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1= 1;
node->custom2= 250;
@@ -68,8 +68,8 @@ void register_node_type_cmp_curve_time(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_TIME, "Time", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, cmp_node_time_out);
+ node_type_base(&ntype, CMP_NODE_TIME, "Time", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, cmp_node_time_out);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_curves_time);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
@@ -82,13 +82,13 @@ void register_node_type_cmp_curve_time(ListBase *lb)
/* **************** CURVE VEC ******************** */
-static bNodeSocketType cmp_node_curve_vec_in[]= {
- { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_curve_vec_in[]= {
+ { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_curve_vec_out[]= {
- { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_curve_vec_out[]= {
+ { SOCK_VECTOR, 0, "Vector"},
{ -1, 0, "" }
};
@@ -100,7 +100,7 @@ static void node_composit_exec_curve_vec(void *UNUSED(data), bNode *node, bNodeS
curvemapping_evaluate_premulRGBF(node->storage, out[0]->vec, in[0]->vec);
}
-static void node_composit_init_curve_vec(bNode* node)
+static void node_composit_init_curve_vec(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= curvemapping_add(3, -1.0f, -1.0f, 1.0f, 1.0f);
}
@@ -109,8 +109,8 @@ void register_node_type_cmp_curve_vec(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- cmp_node_curve_vec_in, cmp_node_curve_vec_out);
+ node_type_base(&ntype, CMP_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_curve_vec_in, cmp_node_curve_vec_out);
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_composit_init_curve_vec);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
@@ -121,16 +121,16 @@ void register_node_type_cmp_curve_vec(ListBase *lb)
/* **************** CURVE RGB ******************** */
-static bNodeSocketType cmp_node_curve_rgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 1, "Black Level", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 1, "White Level", 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_curve_rgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_RGBA, 1, "Black Level", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_RGBA, 1, "White Level", 1.0f, 1.0f, 1.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_curve_rgb_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_curve_rgb_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -187,7 +187,7 @@ static void node_composit_exec_curve_rgb(void *UNUSED(data), bNode *node, bNodeS
}
-static void node_composit_init_curve_rgb(bNode* node)
+static void node_composit_init_curve_rgb(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= curvemapping_add(4, 0.0f, 0.0f, 1.0f, 1.0f);
}
@@ -196,8 +196,8 @@ void register_node_type_cmp_curve_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_curve_rgb_in, cmp_node_curve_rgb_out);
+ node_type_base(&ntype, CMP_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_curve_rgb_in, cmp_node_curve_rgb_out);
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_composit_init_curve_rgb);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c b/source/blender/nodes/composite/nodes/node_composite_defocus.c
index f249e2cff6c..84a084591c5 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c
+++ b/source/blender/nodes/composite/nodes/node_composite_defocus.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_defocus.c
+/** \file blender/nodes/composite/nodes/node_composite_defocus.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ************ qdn: Defocus node ****************** */
-static bNodeSocketType cmp_node_defocus_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_defocus_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_defocus_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_defocus_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -857,7 +857,7 @@ static void node_composit_exec_defocus(void *UNUSED(data), bNode *node, bNodeSta
if (zbuf_use && (zbuf_use != zbuf)) free_compbuf(zbuf_use);
}
-static void node_composit_init_defocus(bNode* node)
+static void node_composit_init_defocus(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
/* qdn: defocus node */
NodeDefocus *nbd = MEM_callocN(sizeof(NodeDefocus), "node defocus data");
@@ -878,8 +878,8 @@ void register_node_type_cmp_defocus(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DEFOCUS, "Defocus", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_defocus_in, cmp_node_defocus_out);
+ node_type_base(&ntype, CMP_NODE_DEFOCUS, "Defocus", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_defocus_in, cmp_node_defocus_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_defocus);
node_type_storage(&ntype, "NodeDefocus", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_diffMatte.c b/source/blender/nodes/composite/nodes/node_composite_diffMatte.c
index 296053298da..23bcf57e2bc 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_diffMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_diffMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_diffMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_diffMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* channel Difference Matte ********************************* */
-static bNodeSocketType cmp_node_diff_matte_in[]={
- {SOCK_RGBA,1,"Image 1", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_RGBA,1,"Image 2", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_diff_matte_in[]={
+ {SOCK_RGBA,1,"Image 1", 0.8f, 0.8f, 0.8f, 1.0f},
+ {SOCK_RGBA,1,"Image 2", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_diff_matte_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_diff_matte_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -125,7 +125,7 @@ static void node_composit_exec_diff_matte(void *data, bNode *node, bNodeStack **
free_compbuf(imbuf2);
}
-static void node_composit_init_diff_matte(bNode *node)
+static void node_composit_init_diff_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage= c;
@@ -137,8 +137,8 @@ void register_node_type_cmp_diff_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DIFF_MATTE, "Difference Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_diff_matte_in, cmp_node_diff_matte_out);
+ node_type_base(&ntype, CMP_NODE_DIFF_MATTE, "Difference Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_diff_matte_in, cmp_node_diff_matte_out);
node_type_size(&ntype, 200, 80, 250);
node_type_init(&ntype, node_composit_init_diff_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_dilate.c b/source/blender/nodes/composite/nodes/node_composite_dilate.c
index f5d16ff0ab8..c774045a12f 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_dilate.c
+++ b/source/blender/nodes/composite/nodes/node_composite_dilate.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_dilate.c
+/** \file blender/nodes/composite/nodes/node_composite_dilate.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Dilate/Erode ******************** */
-static bNodeSocketType cmp_node_dilateerode_in[]= {
- { SOCK_VALUE, 1, "Mask", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_dilateerode_in[]= {
+ { SOCK_FLOAT, 1, "Mask", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_dilateerode_out[]= {
- { SOCK_VALUE, 0, "Mask", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_dilateerode_out[]= {
+ { SOCK_FLOAT, 0, "Mask"},
{ -1, 0, "" }
};
@@ -152,8 +152,8 @@ void register_node_type_cmp_dilateerode(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DILATEERODE, "Dilate/Erode", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_dilateerode_in, cmp_node_dilateerode_out);
+ node_type_base(&ntype, CMP_NODE_DILATEERODE, "Dilate/Erode", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_dilateerode_in, cmp_node_dilateerode_out);
node_type_size(&ntype, 130, 100, 320);
node_type_exec(&ntype, node_composit_exec_dilateerode);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_directionalblur.c b/source/blender/nodes/composite/nodes/node_composite_directionalblur.c
index 2a8bbcc9ad5..1a5e3150f53 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_directionalblur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_directionalblur.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,20 +27,20 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_directionalblur.c
+/** \file blender/nodes/composite/nodes/node_composite_directionalblur.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
-static bNodeSocketType cmp_node_dblur_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.f, 0.f, 1.f},
+static bNodeSocketTemplate cmp_node_dblur_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_dblur_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_dblur_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -122,7 +123,7 @@ static void node_composit_exec_dblur(void *UNUSED(data), bNode *node, bNodeStack
out[0]->data= dblur(node, new, ndbd->iter, ndbd->wrap, ndbd->center_x, ndbd->center_y, ndbd->distance, ndbd->angle, ndbd->spin, ndbd->zoom);
}
-static void node_composit_init_dblur(bNode* node)
+static void node_composit_init_dblur(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeDBlurData *ndbd= MEM_callocN(sizeof(NodeDBlurData), "node dblur data");
node->storage= ndbd;
@@ -134,8 +135,8 @@ void register_node_type_cmp_dblur(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DBLUR, "Directional Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_dblur_in, cmp_node_dblur_out);
+ node_type_base(&ntype, CMP_NODE_DBLUR, "Directional Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_dblur_in, cmp_node_dblur_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_dblur);
node_type_storage(&ntype, "NodeDBlurData", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_displace.c b/source/blender/nodes/composite/nodes/node_composite_displace.c
index 9139edf8560..28d220eb4c9 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_displace.c
+++ b/source/blender/nodes/composite/nodes/node_composite_displace.c
@@ -27,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_displace.c
+/** \file blender/nodes/composite/nodes/node_composite_displace.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Displace ******************** */
-static bNodeSocketType cmp_node_displace_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Vector", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "X Scale", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f},
- { SOCK_VALUE, 1, "Y Scale", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f},
+static bNodeSocketTemplate cmp_node_displace_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_VECTOR, 1, "Vector", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_TRANSLATION},
+ { SOCK_FLOAT, 1, "X Scale", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Y Scale", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_displace_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_displace_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -188,8 +188,8 @@ void register_node_type_cmp_displace(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DISPLACE, "Displace", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_displace_in, cmp_node_displace_out);
+ node_type_base(&ntype, CMP_NODE_DISPLACE, "Displace", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_displace_in, cmp_node_displace_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_displace);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_distanceMatte.c b/source/blender/nodes/composite/nodes/node_composite_distanceMatte.c
index 5f7613464c1..b186be5500b 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_distanceMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_distanceMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_distanceMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_distanceMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* channel Distance Matte ********************************* */
-static bNodeSocketType cmp_node_distance_matte_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_distance_matte_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_distance_matte_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_distance_matte_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -122,7 +122,7 @@ static void node_composit_exec_distance_matte(void *data, bNode *node, bNodeStac
free_compbuf(inbuf);
}
-static void node_composit_init_distance_matte(bNode *node)
+static void node_composit_init_distance_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage= c;
@@ -134,8 +134,8 @@ void register_node_type_cmp_distance_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DIST_MATTE, "Distance Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_distance_matte_in, cmp_node_distance_matte_out);
+ node_type_base(&ntype, CMP_NODE_DIST_MATTE, "Distance Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_distance_matte_in, cmp_node_distance_matte_out);
node_type_size(&ntype, 200, 80, 250);
node_type_init(&ntype, node_composit_init_distance_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_filter.c b/source/blender/nodes/composite/nodes/node_composite_filter.c
index 915cb01d2d4..64a4c69b671 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_filter.c
+++ b/source/blender/nodes/composite/nodes/node_composite_filter.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_filter.c
+/** \file blender/nodes/composite/nodes/node_composite_filter.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** FILTER ******************** */
-static bNodeSocketType cmp_node_filter_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_filter_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_filter_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_filter_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -226,8 +226,8 @@ void register_node_type_cmp_filter(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_FILTER, "Filter", NODE_CLASS_OP_FILTER, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_filter_in, cmp_node_filter_out);
+ node_type_base(&ntype, CMP_NODE_FILTER, "Filter", NODE_CLASS_OP_FILTER, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_filter_in, cmp_node_filter_out);
node_type_size(&ntype, 80, 40, 120);
node_type_label(&ntype, node_filter_label);
node_type_exec(&ntype, node_composit_exec_filter);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_flip.c b/source/blender/nodes/composite/nodes/node_composite_flip.c
index b5fd7b46e03..931aacbe6fd 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_flip.c
+++ b/source/blender/nodes/composite/nodes/node_composite_flip.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_flip.c
+/** \file blender/nodes/composite/nodes/node_composite_flip.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Flip ******************** */
-static bNodeSocketType cmp_node_flip_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_flip_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_flip_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_flip_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -94,8 +94,8 @@ void register_node_type_cmp_flip(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_FLIP, "Flip", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_flip_in, cmp_node_flip_out);
+ node_type_base(&ntype, CMP_NODE_FLIP, "Flip", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_flip_in, cmp_node_flip_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_flip);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_gamma.c b/source/blender/nodes/composite/nodes/node_composite_gamma.c
index 261257d3b5f..f1dd3d40c09 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_gamma.c
+++ b/source/blender/nodes/composite/nodes/node_composite_gamma.c
@@ -28,22 +28,22 @@
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_gamma.c
+/** \file blender/nodes/composite/nodes/node_composite_gamma.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Gamma Tools ******************** */
-static bNodeSocketType cmp_node_gamma_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Gamma", 1.0f, 0.0f, 0.0f, 0.0f, 0.001f, 10.0f},
+static bNodeSocketTemplate cmp_node_gamma_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Gamma", 1.0f, 0.0f, 0.0f, 0.0f, 0.001f, 10.0f, PROP_UNSIGNED},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_gamma_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_gamma_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -81,8 +81,8 @@ void register_node_type_cmp_gamma(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_GAMMA, "Gamma", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_gamma_in, cmp_node_gamma_out);
+ node_type_base(&ntype, CMP_NODE_GAMMA, "Gamma", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_gamma_in, cmp_node_gamma_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_gamma);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_glare.c b/source/blender/nodes/composite/nodes/node_composite_glare.c
index 1a339b45a05..98a41e4af69 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_glare.c
+++ b/source/blender/nodes/composite/nodes/node_composite_glare.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,19 +27,19 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_glare.c
+/** \file blender/nodes/composite/nodes/node_composite_glare.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
-static bNodeSocketType cmp_node_glare_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_glare_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_glare_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_glare_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -467,13 +468,14 @@ static void node_composit_exec_glare(void *UNUSED(data), bNode *node, bNodeStack
case 2:
default:
streaks(ndg, new, src);
+ break;
}
free_compbuf(src);
out[0]->data = new;
}
-static void node_composit_init_glare(bNode* node)
+static void node_composit_init_glare(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeGlare *ndg = MEM_callocN(sizeof(NodeGlare), "node glare data");
ndg->quality = 1;
@@ -493,8 +495,8 @@ void register_node_type_cmp_glare(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_GLARE, "Glare", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_glare_in, cmp_node_glare_out);
+ node_type_base(&ntype, CMP_NODE_GLARE, "Glare", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_glare_in, cmp_node_glare_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_glare);
node_type_storage(&ntype, "NodeGlare", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c b/source/blender/nodes/composite/nodes/node_composite_hueSatVal.c
index 7b5511c699c..1d060726b67 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c
+++ b/source/blender/nodes/composite/nodes/node_composite_hueSatVal.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c
+/** \file blender/nodes/composite/nodes/node_composite_hueSatVal.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Hue Saturation ******************** */
-static bNodeSocketType cmp_node_hue_sat_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_hue_sat_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_hue_sat_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_hue_sat_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -95,7 +95,7 @@ static void node_composit_exec_hue_sat(void *UNUSED(data), bNode *node, bNodeSta
}
}
-static void node_composit_init_hue_sat(bNode* node)
+static void node_composit_init_hue_sat(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeHueSat *nhs= MEM_callocN(sizeof(NodeHueSat), "node hue sat");
node->storage= nhs;
@@ -108,8 +108,8 @@ void register_node_type_cmp_hue_sat(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_hue_sat_in, cmp_node_hue_sat_out);
+ node_type_base(&ntype, CMP_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_hue_sat_in, cmp_node_hue_sat_out);
node_type_size(&ntype, 150, 80, 250);
node_type_init(&ntype, node_composit_init_hue_sat);
node_type_storage(&ntype, "NodeHueSat", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_huecorrect.c b/source/blender/nodes/composite/nodes/node_composite_huecorrect.c
index edf6c454285..13a606e2c68 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_huecorrect.c
+++ b/source/blender/nodes/composite/nodes/node_composite_huecorrect.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_huecorrect.c
+/** \file blender/nodes/composite/nodes/node_composite_huecorrect.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
-static bNodeSocketType cmp_node_huecorrect_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_huecorrect_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_huecorrect_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_huecorrect_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -137,7 +137,7 @@ static void node_composit_exec_huecorrect(void *UNUSED(data), bNode *node, bNode
}
-static void node_composit_init_huecorrect(bNode* node)
+static void node_composit_init_huecorrect(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
CurveMapping *cumapping = node->storage= curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
int c;
@@ -157,8 +157,8 @@ void register_node_type_cmp_huecorrect(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_HUECORRECT, "Hue Correct", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_huecorrect_in, cmp_node_huecorrect_out);
+ node_type_base(&ntype, CMP_NODE_HUECORRECT, "Hue Correct", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_huecorrect_in, cmp_node_huecorrect_out);
node_type_size(&ntype, 320, 140, 400);
node_type_init(&ntype, node_composit_init_huecorrect);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_idMask.c b/source/blender/nodes/composite/nodes/node_composite_idMask.c
index 72d0de7d15e..43f78a90add 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_idMask.c
+++ b/source/blender/nodes/composite/nodes/node_composite_idMask.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_idMask.c
+/** \file blender/nodes/composite/nodes/node_composite_idMask.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** ID Mask ******************** */
-static bNodeSocketType cmp_node_idmask_in[]= {
- { SOCK_VALUE, 1, "ID value", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_idmask_in[]= {
+ { SOCK_FLOAT, 1, "ID value", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_idmask_out[]= {
- { SOCK_VALUE, 0, "Alpha", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_idmask_out[]= {
+ { SOCK_FLOAT, 0, "Alpha"},
{ -1, 0, "" }
};
@@ -113,8 +113,8 @@ void register_node_type_cmp_idmask(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_ID_MASK, "ID Mask", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_idmask_in, cmp_node_idmask_out);
+ node_type_base(&ntype, CMP_NODE_ID_MASK, "ID Mask", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_idmask_in, cmp_node_idmask_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_idmask);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_image.c b/source/blender/nodes/composite/nodes/node_composite_image.c
index 3caaad26bae..6149947233e 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_image.c
+++ b/source/blender/nodes/composite/nodes/node_composite_image.c
@@ -27,20 +27,20 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_image.c
+/** \file blender/nodes/composite/nodes/node_composite_image.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** IMAGE (and RenderResult, multilayer image) ******************** */
-static bNodeSocketType cmp_node_rlayers_out[]= {
+static bNodeSocketTemplate cmp_node_rlayers_out[]= {
{ SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 0, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_VECTOR, 0, "UV", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_VECTOR, 0, "Speed", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -52,8 +52,9 @@ static bNodeSocketType cmp_node_rlayers_out[]= {
{ SOCK_RGBA, 0, "Reflect", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_RGBA, 0, "Refract", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_RGBA, 0, "Indirect", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "IndexOB", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Mist", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 0, "IndexOB", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 0, "IndexMA", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 0, "Mist", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_RGBA, 0, "Emit", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_RGBA, 0, "Environment",0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
@@ -73,7 +74,7 @@ static CompBuf *node_composit_get_image(RenderData *rd, Image *ima, ImageUser *i
ibuf= BKE_image_get_ibuf(ima, iuser);
if(ibuf==NULL || (ibuf->rect==NULL && ibuf->rect_float==NULL)) {
- return NULL;
+ return NULL;
}
if (ibuf->rect_float == NULL) {
@@ -211,6 +212,8 @@ static void outputs_multilayer_get(RenderData *rd, RenderLayer *rl, bNodeStack *
out[RRES_OUT_INDIRECT]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_INDIRECT);
if(out[RRES_OUT_INDEXOB]->hasoutput)
out[RRES_OUT_INDEXOB]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_INDEXOB);
+ if(out[RRES_OUT_INDEXMA]->hasoutput)
+ out[RRES_OUT_INDEXMA]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_INDEXMA);
if(out[RRES_OUT_MIST]->hasoutput)
out[RRES_OUT_MIST]->data= compbuf_multilayer_get(rd, rl, ima, iuser, SCE_PASS_MIST);
if(out[RRES_OUT_EMIT]->hasoutput)
@@ -292,7 +295,7 @@ static void node_composit_exec_image(void *data, bNode *node, bNodeStack **UNUSE
}
}
-static void node_composit_init_image(bNode* node)
+static void node_composit_init_image(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
ImageUser *iuser= MEM_callocN(sizeof(ImageUser), "node image user");
node->storage= iuser;
@@ -306,8 +309,8 @@ void register_node_type_cmp_image(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_IMAGE, "Image", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS,
- NULL, cmp_node_rlayers_out);
+ node_type_base(&ntype, CMP_NODE_IMAGE, "Image", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, cmp_node_rlayers_out);
node_type_size(&ntype, 120, 80, 300);
node_type_init(&ntype, node_composit_init_image);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
@@ -326,7 +329,7 @@ static CompBuf *compbuf_from_pass(RenderData *rd, RenderLayer *rl, int rectx, in
CompBuf *buf;
int buftype= CB_VEC3;
- if(ELEM3(passcode, SCE_PASS_Z, SCE_PASS_INDEXOB, SCE_PASS_MIST))
+ if(ELEM4(passcode, SCE_PASS_Z, SCE_PASS_INDEXOB, SCE_PASS_MIST, SCE_PASS_INDEXMA))
buftype= CB_VAL;
else if(passcode==SCE_PASS_VECTOR)
buftype= CB_VEC4;
@@ -373,6 +376,8 @@ static void node_composit_rlayers_out(RenderData *rd, RenderLayer *rl, bNodeStac
out[RRES_OUT_INDIRECT]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_INDIRECT);
if(out[RRES_OUT_INDEXOB]->hasoutput)
out[RRES_OUT_INDEXOB]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_INDEXOB);
+ if(out[RRES_OUT_INDEXMA]->hasoutput)
+ out[RRES_OUT_INDEXMA]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_INDEXMA);
if(out[RRES_OUT_MIST]->hasoutput)
out[RRES_OUT_MIST]->data= compbuf_from_pass(rd, rl, rectx, recty, SCE_PASS_MIST);
if(out[RRES_OUT_EMIT]->hasoutput)
@@ -435,8 +440,8 @@ void register_node_type_cmp_rlayers(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_R_LAYERS, "Render Layers", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS,
- NULL, cmp_node_rlayers_out);
+ node_type_base(&ntype, CMP_NODE_R_LAYERS, "Render Layers", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, cmp_node_rlayers_out);
node_type_size(&ntype, 150, 100, 300);
node_type_exec(&ntype, node_composit_exec_rlayers);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_invert.c b/source/blender/nodes/composite/nodes/node_composite_invert.c
index 27b0324dfe0..fa64c9ec1b1 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_invert.c
+++ b/source/blender/nodes/composite/nodes/node_composite_invert.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_invert.c
+/** \file blender/nodes/composite/nodes/node_composite_invert.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** INVERT ******************** */
-static bNodeSocketType cmp_node_invert_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_invert_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_invert_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_invert_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -114,7 +114,7 @@ static void node_composit_exec_invert(void *UNUSED(data), bNode *node, bNodeStac
}
}
-static void node_composit_init_invert(bNode *node)
+static void node_composit_init_invert(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1 |= CMP_CHAN_RGB;
}
@@ -124,8 +124,8 @@ void register_node_type_cmp_invert(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_invert_in, cmp_node_invert_out);
+ node_type_base(&ntype, CMP_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_invert_in, cmp_node_invert_out);
node_type_size(&ntype, 120, 120, 140);
node_type_init(&ntype, node_composit_init_invert);
node_type_exec(&ntype, node_composit_exec_invert);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_lensdist.c b/source/blender/nodes/composite/nodes/node_composite_lensdist.c
index 3a005210c6a..7d6c945a9e3 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_lensdist.c
+++ b/source/blender/nodes/composite/nodes/node_composite_lensdist.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_lensdist.c
+/** \file blender/nodes/composite/nodes/node_composite_lensdist.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
-static bNodeSocketType cmp_node_lensdist_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Distort", 0.f, 0.f, 0.f, 0.f, -0.999f, 1.f},
- { SOCK_VALUE, 1, "Dispersion", 0.f, 0.f, 0.f, 0.f, 0.f, 1.f},
+static bNodeSocketTemplate cmp_node_lensdist_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Distort", 0.f, 0.f, 0.f, 0.f, -0.999f, 1.f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Dispersion", 0.f, 0.f, 0.f, 0.f, 0.f, 1.f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_lensdist_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_lensdist_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -183,7 +184,7 @@ static void node_composit_exec_lensdist(void *UNUSED(data), bNode *node, bNodeSt
}
-static void node_composit_init_lensdist(bNode* node)
+static void node_composit_init_lensdist(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeLensDist *nld = MEM_callocN(sizeof(NodeLensDist), "node lensdist data");
nld->jit = nld->proj = nld->fit = 0;
@@ -195,8 +196,8 @@ void register_node_type_cmp_lensdist(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_LENSDIST, "Lens Distortion", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_lensdist_in, cmp_node_lensdist_out);
+ node_type_base(&ntype, CMP_NODE_LENSDIST, "Lens Distortion", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_lensdist_in, cmp_node_lensdist_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_lensdist);
node_type_storage(&ntype, "NodeLensDist", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_levels.c b/source/blender/nodes/composite/nodes/node_composite_levels.c
index 2c9f7d97f09..e34788ff62b 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_levels.c
+++ b/source/blender/nodes/composite/nodes/node_composite_levels.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_levels.c
+/** \file blender/nodes/composite/nodes/node_composite_levels.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** LEVELS ******************** */
-static bNodeSocketType cmp_node_view_levels_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_view_levels_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_view_levels_out[]={
- {SOCK_VALUE, 0,"Mean",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE, 0,"Std Dev",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_view_levels_out[]={
+ {SOCK_FLOAT, 0,"Mean"},
+ {SOCK_FLOAT, 0,"Std Dev"},
{-1,0,""}
};
@@ -52,7 +52,7 @@ static void rgb_tobw(float r, float g, float b, float* out)
*out= r*0.35f + g*0.45f + b*0.2f;
}
-static void fill_bins(bNode* node, CompBuf* in, int* bins, int colorcor)
+static void fill_bins(bNode* node, CompBuf* in, int* bins)
{
float value[4];
int ivalue=0;
@@ -68,39 +68,29 @@ static void fill_bins(bNode* node, CompBuf* in, int* bins, int colorcor)
if(value[3] > 0.0) { /* don't count transparent pixels */
switch(node->custom1) {
case 1: { /* all colors */
- if(colorcor)
- linearrgb_to_srgb_v3_v3(&value[0],&value[0]);
rgb_tobw(value[0],value[1],value[2], &value[0]);
value[0]=value[0]*255; /* scale to 0-255 range */
ivalue=(int)value[0];
break;
}
case 2: { /* red channel */
- if(colorcor)
- value[0]=linearrgb_to_srgb(value[0]);
value[0]=value[0]*255; /* scale to 0-255 range */
ivalue=(int)value[0];
break;
}
case 3: { /* green channel */
- if(colorcor)
- value[1]=linearrgb_to_srgb(value[1]);
value[1]=value[1]*255; /* scale to 0-255 range */
ivalue=(int)value[1];
break;
}
case 4: /*blue channel */
{
- if(colorcor)
- value[2]=linearrgb_to_srgb(value[2]);
value[2]=value[2]*255; /* scale to 0-255 range */
ivalue=(int)value[2];
break;
}
case 5: /* luminence */
{
- if(colorcor)
- linearrgb_to_srgb_v3_v3(&value[0],&value[0]);
rgb_to_yuv(value[0],value[1],value[2], &value[0], &value[1], &value[2]);
value[0]=value[0]*255; /* scale to 0-255 range */
ivalue=(int)value[0];
@@ -285,7 +275,6 @@ static void node_composit_exec_view_levels(void *data, bNode *node, bNodeStack *
{
CompBuf* cbuf;
CompBuf* histogram;
- RenderData *rd=data;
float mean, std_dev;
int bins[256];
int x;
@@ -302,7 +291,7 @@ static void node_composit_exec_view_levels(void *data, bNode *node, bNodeStack *
}
/*fill bins */
- fill_bins(node, in[0]->data, bins, rd->color_mgt_flag & R_COLOR_MANAGEMENT);
+ fill_bins(node, in[0]->data, bins);
/* draw the histogram chart */
draw_histogram(node, histogram, bins);
@@ -328,7 +317,7 @@ static void node_composit_exec_view_levels(void *data, bNode *node, bNodeStack *
free_compbuf(histogram);
}
-static void node_composit_init_view_levels(bNode* node)
+static void node_composit_init_view_levels(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1=1; /*All channels*/
}
@@ -337,8 +326,8 @@ void register_node_type_cmp_view_levels(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_VIEW_LEVELS, "Levels", NODE_CLASS_OUTPUT, NODE_OPTIONS|NODE_PREVIEW,
- cmp_node_view_levels_in, cmp_node_view_levels_out);
+ node_type_base(&ntype, CMP_NODE_VIEW_LEVELS, "Levels", NODE_CLASS_OUTPUT, NODE_OPTIONS|NODE_PREVIEW);
+ node_type_socket_templates(&ntype, cmp_node_view_levels_in, cmp_node_view_levels_out);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_view_levels);
node_type_storage(&ntype, "ImageUser", NULL, NULL);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c b/source/blender/nodes/composite/nodes/node_composite_lummaMatte.c
index 34e58791932..cac2a386801 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_lummaMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_lummaMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* Luma Matte Node ********************************* */
-static bNodeSocketType cmp_node_luma_matte_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_luma_matte_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_luma_matte_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_luma_matte_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -100,7 +100,7 @@ static void node_composit_exec_luma_matte(void *data, bNode *node, bNodeStack **
free_compbuf(cbuf);
}
-static void node_composit_init_luma_matte(bNode *node)
+static void node_composit_init_luma_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage=c;
@@ -112,8 +112,8 @@ void register_node_type_cmp_luma_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_LUMA_MATTE, "Luminance Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_luma_matte_in, cmp_node_luma_matte_out);
+ node_type_base(&ntype, CMP_NODE_LUMA_MATTE, "Luminance Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_luma_matte_in, cmp_node_luma_matte_out);
node_type_size(&ntype, 200, 80, 250);
node_type_init(&ntype, node_composit_init_luma_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_mapUV.c b/source/blender/nodes/composite/nodes/node_composite_mapUV.c
index 6b2c561b14a..b1cae62274b 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_mapUV.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mapUV.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_mapUV.c
+/** \file blender/nodes/composite/nodes/node_composite_mapUV.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Map UV ******************** */
-static bNodeSocketType cmp_node_mapuv_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "UV", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_mapuv_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_VECTOR, 1, "UV", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_mapuv_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_mapuv_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -168,8 +168,8 @@ void register_node_type_cmp_mapuv(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_MAP_UV, "Map UV", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_mapuv_in, cmp_node_mapuv_out);
+ node_type_base(&ntype, CMP_NODE_MAP_UV, "Map UV", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_mapuv_in, cmp_node_mapuv_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_mapuv);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_mapValue.c b/source/blender/nodes/composite/nodes/node_composite_mapValue.c
index f14e0fbd804..95e0f3dadd1 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_mapValue.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mapValue.c
@@ -27,20 +27,20 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_mapValue.c
+/** \file blender/nodes/composite/nodes/node_composite_mapValue.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** MAP VALUE ******************** */
-static bNodeSocketType cmp_node_map_value_in[]= {
- { SOCK_VALUE, 1, "Value", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_map_value_in[]= {
+ { SOCK_FLOAT, 1, "Value", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_map_value_out[]= {
- { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_map_value_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -79,7 +79,7 @@ static void node_composit_exec_map_value(void *UNUSED(data), bNode *node, bNodeS
}
-static void node_composit_init_map_value(bNode* node)
+static void node_composit_init_map_value(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= add_mapping();
}
@@ -88,8 +88,8 @@ void register_node_type_cmp_map_value(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_MAP_VALUE, "Map Value", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- cmp_node_map_value_in, cmp_node_map_value_out);
+ node_type_base(&ntype, CMP_NODE_MAP_VALUE, "Map Value", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_map_value_in, cmp_node_map_value_out);
node_type_size(&ntype, 100, 60, 150);
node_type_init(&ntype, node_composit_init_map_value);
node_type_storage(&ntype, "TexMapping", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_math.c b/source/blender/nodes/composite/nodes/node_composite_math.c
index 96fa13d99f0..a8a631bdbad 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_math.c
+++ b/source/blender/nodes/composite/nodes/node_composite_math.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_math.c
+/** \file blender/nodes/composite/nodes/node_composite_math.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SCALAR MATH ******************** */
-static bNodeSocketType cmp_node_math_in[]= {
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f},
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_math_in[]= {
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_math_out[]= {
- { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_math_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -144,8 +144,7 @@ static void do_math(bNode *node, float *out, float *in, float *in2)
if( in2[0] != 0.0f )
out[0]= floorf(in[0] / in2[0] + 0.5f) * in2[0];
else
- floorf(in[0] + 0.5f);
-
+ out[0]= floorf(in[0] + 0.5f);
}
break;
case 15: /* Less Than */
@@ -201,8 +200,8 @@ void register_node_type_cmp_math(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_math_in, cmp_node_math_out);
+ node_type_base(&ntype, CMP_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_math_in, cmp_node_math_out);
node_type_size(&ntype, 120, 110, 160);
node_type_label(&ntype, node_math_label);
node_type_exec(&ntype, node_composit_exec_math);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_mixrgb.c b/source/blender/nodes/composite/nodes/node_composite_mixrgb.c
index d2454b37c29..eaab24d628a 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_mixrgb.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mixrgb.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_mixrgb.c
+/** \file blender/nodes/composite/nodes/node_composite_mixrgb.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** MIX RGB ******************** */
-static bNodeSocketType cmp_node_mix_rgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 5.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_mix_rgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 5.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_mix_rgb_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_mix_rgb_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -88,8 +88,8 @@ void register_node_type_cmp_mix_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_mix_rgb_in, cmp_node_mix_rgb_out);
+ node_type_base(&ntype, CMP_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_mix_rgb_in, cmp_node_mix_rgb_out);
node_type_size(&ntype, 110, 60, 120);
node_type_label(&ntype, node_blend_label);
node_type_exec(&ntype, node_composit_exec_mix_rgb);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_normal.c b/source/blender/nodes/composite/nodes/node_composite_normal.c
index f53d3041947..adf087019dc 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_normal.c
+++ b/source/blender/nodes/composite/nodes/node_composite_normal.c
@@ -27,30 +27,30 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_normal.c
+/** \file blender/nodes/composite/nodes/node_composite_normal.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** NORMAL ******************** */
-static bNodeSocketType cmp_node_normal_in[]= {
- { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_normal_in[]= {
+ { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_DIRECTION},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_normal_out[]= {
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VALUE, 0, "Dot", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_normal_out[]= {
+ { SOCK_VECTOR, 0, "Normal"},
+ { SOCK_FLOAT, 0, "Dot"},
{ -1, 0, "" }
};
static void do_normal(bNode *node, float *out, float *in)
{
bNodeSocket *sock= node->outputs.first;
- float *nor= sock->ns.vec;
+ float *nor= ((bNodeSocketValueVector*)sock->default_value)->value;
/* render normals point inside... the widget points outside */
out[0]= -INPR(nor, in);
@@ -60,12 +60,13 @@ static void do_normal(bNode *node, float *out, float *in)
static void node_composit_exec_normal(void *UNUSED(data), bNode *node, bNodeStack **in, bNodeStack **out)
{
bNodeSocket *sock= node->outputs.first;
+ float *nor= ((bNodeSocketValueVector*)sock->default_value)->value;
/* stack order input: normal */
/* stack order output: normal, value */
/* input no image? then only vector op */
if(in[0]->data==NULL) {
- VECCOPY(out[0]->vec, sock->ns.vec);
+ VECCOPY(out[0]->vec, nor);
/* render normals point inside... the widget points outside */
out[1]->vec[0]= -INPR(out[0]->vec, in[0]->vec);
}
@@ -82,12 +83,23 @@ static void node_composit_exec_normal(void *UNUSED(data), bNode *node, bNodeStac
}
+static void init(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ float *nor= ((bNodeSocketValueVector*)sock->default_value)->value;
+
+ nor[0] = 0.0f;
+ nor[1] = 0.0f;
+ nor[2] = 1.0f;
+}
+
void register_node_type_cmp_normal(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- cmp_node_normal_in, cmp_node_normal_out);
+ node_type_base(&ntype, CMP_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_normal_in, cmp_node_normal_out);
+ node_type_init(&ntype, init);
node_type_size(&ntype, 100, 60, 200);
node_type_exec(&ntype, node_composit_exec_normal);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_normalize.c b/source/blender/nodes/composite/nodes/node_composite_normalize.c
index 22ebd924f09..3a913b1a0a2 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_normalize.c
+++ b/source/blender/nodes/composite/nodes/node_composite_normalize.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_normalize.c
+/** \file blender/nodes/composite/nodes/node_composite_normalize.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** NORMALIZE single channel, useful for Z buffer ******************** */
-static bNodeSocketType cmp_node_normalize_in[]= {
- { SOCK_VALUE, 1, "Value", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_normalize_in[]= {
+ { SOCK_FLOAT, 1, "Value", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_normalize_out[]= {
- { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_normalize_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -107,8 +107,8 @@ void register_node_type_cmp_normalize(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_NORMALIZE, "Normalize", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- cmp_node_normalize_in, cmp_node_normalize_out);
+ node_type_base(&ntype, CMP_NODE_NORMALIZE, "Normalize", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_normalize_in, cmp_node_normalize_out);
node_type_size(&ntype, 100, 60, 150);
node_type_exec(&ntype, node_composit_exec_normalize);
node_type_storage(&ntype, "TexMapping", NULL, NULL);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_outputFile.c b/source/blender/nodes/composite/nodes/node_composite_outputFile.c
index 1d52e694ea9..20203f66b5a 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_outputFile.c
+++ b/source/blender/nodes/composite/nodes/node_composite_outputFile.c
@@ -27,17 +27,17 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_outputFile.c
+/** \file blender/nodes/composite/nodes/node_composite_outputFile.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** OUTPUT FILE ******************** */
-static bNodeSocketType cmp_node_output_file_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_output_file_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Z", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
@@ -93,7 +93,7 @@ static void node_composit_exec_output_file(void *data, bNode *node, bNodeStack *
}
}
-static void node_composit_init_output_file(bNode *node)
+static void node_composit_init_output_file(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
Scene *scene= (Scene *)node->id;
NodeImageFile *nif= MEM_callocN(sizeof(NodeImageFile), "node image file");
@@ -113,8 +113,8 @@ void register_node_type_cmp_output_file(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_OUTPUT_FILE, "File Output", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_output_file_in, NULL);
+ node_type_base(&ntype, CMP_NODE_OUTPUT_FILE, "File Output", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_output_file_in, NULL);
node_type_size(&ntype, 140, 80, 300);
node_type_init(&ntype, node_composit_init_output_file);
node_type_storage(&ntype, "NodeImageFile", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_premulkey.c b/source/blender/nodes/composite/nodes/node_composite_premulkey.c
index 15d2ac25180..a3f958e04d9 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_premulkey.c
+++ b/source/blender/nodes/composite/nodes/node_composite_premulkey.c
@@ -28,21 +28,21 @@
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_premulkey.c
+/** \file blender/nodes/composite/nodes/node_composite_premulkey.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Premul and Key Alpha Convert ******************** */
-static bNodeSocketType cmp_node_premulkey_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_premulkey_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_premulkey_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_premulkey_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -67,8 +67,8 @@ void register_node_type_cmp_premulkey(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_PREMULKEY, "Alpha Convert", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_premulkey_in, cmp_node_premulkey_out);
+ node_type_base(&ntype, CMP_NODE_PREMULKEY, "Alpha Convert", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_premulkey_in, cmp_node_premulkey_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_premulkey);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c b/source/blender/nodes/composite/nodes/node_composite_rgb.c
index 36b7988c4e0..b9287a4978e 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c
+++ b/source/blender/nodes/composite/nodes/node_composite_rgb.c
@@ -27,33 +27,46 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_rgb.c
+/** \file blender/nodes/composite/nodes/node_composite_rgb.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** RGB ******************** */
-static bNodeSocketType cmp_node_rgb_out[]= {
- { SOCK_RGBA, 0, "RGBA", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_rgb_out[]= {
+ { SOCK_RGBA, 0, "RGBA", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
+static void node_composit_init_rgb(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
+ /* uses the default value of the output socket, must be initialized here */
+ col[0] = 0.5f;
+ col[1] = 0.5f;
+ col[2] = 0.5f;
+ col[3] = 1.0f;
+}
+
static void node_composit_exec_rgb(void *UNUSED(data), bNode *node, bNodeStack **UNUSED(in), bNodeStack **out)
{
bNodeSocket *sock= node->outputs.first;
+ float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
- QUATCOPY(out[0]->vec, sock->ns.vec);
+ QUATCOPY(out[0]->vec, col);
}
void register_node_type_cmp_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_RGB, "RGB", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, cmp_node_rgb_out);
+ node_type_base(&ntype, CMP_NODE_RGB, "RGB", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, cmp_node_rgb_out);
+ node_type_init(&ntype, node_composit_init_rgb);
node_type_size(&ntype, 140, 80, 140);
node_type_exec(&ntype, node_composit_exec_rgb);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c b/source/blender/nodes/composite/nodes/node_composite_rotate.c
index b6b1764ff0f..2bbb77cd1da 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c
+++ b/source/blender/nodes/composite/nodes/node_composite_rotate.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_rotate.c
+/** \file blender/nodes/composite/nodes/node_composite_rotate.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Rotate ******************** */
-static bNodeSocketType cmp_node_rotate_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Degr", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_rotate_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Degr", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f, PROP_ANGLE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_rotate_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_rotate_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -97,6 +97,7 @@ static void node_composit_exec_rotate(void *UNUSED(data), bNode *node, bNodeStac
break;
case 2:
bicubic_interpolation(ibuf, obuf, u, v, xo, yo);
+ break;
}
}
@@ -121,7 +122,7 @@ static void node_composit_exec_rotate(void *UNUSED(data), bNode *node, bNodeStac
}
}
-static void node_composit_init_rotate(bNode *node)
+static void node_composit_init_rotate(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1= 1; /* Bilinear Filter*/
}
@@ -130,8 +131,8 @@ void register_node_type_cmp_rotate(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_ROTATE, "Rotate", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_rotate_in, cmp_node_rotate_out);
+ node_type_base(&ntype, CMP_NODE_ROTATE, "Rotate", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_rotate_in, cmp_node_rotate_out);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_rotate);
node_type_exec(&ntype, node_composit_exec_rotate);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_scale.c b/source/blender/nodes/composite/nodes/node_composite_scale.c
index b6030cc5a5f..b6ad36f957f 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_scale.c
+++ b/source/blender/nodes/composite/nodes/node_composite_scale.c
@@ -27,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_scale.c
+/** \file blender/nodes/composite/nodes/node_composite_scale.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Scale ******************** */
#define CMP_SCALE_MAX 12000
-static bNodeSocketType cmp_node_scale_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "X", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, CMP_SCALE_MAX},
- { SOCK_VALUE, 1, "Y", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, CMP_SCALE_MAX},
+static bNodeSocketTemplate cmp_node_scale_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "X", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, CMP_SCALE_MAX, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Y", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, CMP_SCALE_MAX, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_scale_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_scale_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -118,8 +118,8 @@ void register_node_type_cmp_scale(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SCALE, "Scale", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_scale_in, cmp_node_scale_out);
+ node_type_base(&ntype, CMP_NODE_SCALE, "Scale", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_scale_in, cmp_node_scale_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_scale);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c
index 87c4ed1dac0..6b1813d2142 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c
+/** \file blender/nodes/composite/nodes/node_composite_sepcombHSVA.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SEPARATE HSVA ******************** */
-static bNodeSocketType cmp_node_sephsva_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sephsva_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_sephsva_out[]= {
- { SOCK_VALUE, 0, "H", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "S", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "A", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sephsva_out[]= {
+ { SOCK_FLOAT, 0, "H"},
+ { SOCK_FLOAT, 0, "S"},
+ { SOCK_FLOAT, 0, "V"},
+ { SOCK_FLOAT, 0, "A"},
{ -1, 0, "" }
};
@@ -105,8 +105,8 @@ void register_node_type_cmp_sephsva(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SEPHSVA, "Separate HSVA", NODE_CLASS_CONVERTOR, 0,
- cmp_node_sephsva_in, cmp_node_sephsva_out);
+ node_type_base(&ntype, CMP_NODE_SEPHSVA, "Separate HSVA", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, cmp_node_sephsva_in, cmp_node_sephsva_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_sephsva);
@@ -115,15 +115,15 @@ void register_node_type_cmp_sephsva(ListBase *lb)
/* **************** COMBINE HSVA ******************** */
-static bNodeSocketType cmp_node_combhsva_in[]= {
- { SOCK_VALUE, 1, "H", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "S", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combhsva_in[]= {
+ { SOCK_FLOAT, 1, "H", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "S", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_combhsva_out[]= {
- { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combhsva_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -175,8 +175,8 @@ void register_node_type_cmp_combhsva(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COMBHSVA, "Combine HSVA", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_combhsva_in, cmp_node_combhsva_out);
+ node_type_base(&ntype, CMP_NODE_COMBHSVA, "Combine HSVA", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_combhsva_in, cmp_node_combhsva_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_combhsva);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.c
index 11afd1eaaef..a60f6b81c95 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c
+/** \file blender/nodes/composite/nodes/node_composite_sepcombRGBA.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SEPARATE RGBA ******************** */
-static bNodeSocketType cmp_node_seprgba_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_seprgba_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_seprgba_out[]= {
- { SOCK_VALUE, 0, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "A", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_seprgba_out[]= {
+ { SOCK_FLOAT, 0, "R"},
+ { SOCK_FLOAT, 0, "G"},
+ { SOCK_FLOAT, 0, "B"},
+ { SOCK_FLOAT, 0, "A"},
{ -1, 0, "" }
};
@@ -83,8 +83,8 @@ void register_node_type_cmp_seprgba(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SEPRGBA, "Separate RGBA", NODE_CLASS_CONVERTOR, 0,
- cmp_node_seprgba_in, cmp_node_seprgba_out);
+ node_type_base(&ntype, CMP_NODE_SEPRGBA, "Separate RGBA", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, cmp_node_seprgba_in, cmp_node_seprgba_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_seprgba);
@@ -94,15 +94,15 @@ void register_node_type_cmp_seprgba(ListBase *lb)
/* **************** COMBINE RGBA ******************** */
-static bNodeSocketType cmp_node_combrgba_in[]= {
- { SOCK_VALUE, 1, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combrgba_in[]= {
+ { SOCK_FLOAT, 1, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_combrgba_out[]= {
- { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combrgba_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -151,8 +151,8 @@ void register_node_type_cmp_combrgba(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COMBRGBA, "Combine RGBA", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_combrgba_in, cmp_node_combrgba_out);
+ node_type_base(&ntype, CMP_NODE_COMBRGBA, "Combine RGBA", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_combrgba_in, cmp_node_combrgba_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_combrgba);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c b/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.c
index 81591602dae..5e042f54fb0 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c
+/** \file blender/nodes/composite/nodes/node_composite_sepcombYCCA.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SEPARATE YCCA ******************** */
-static bNodeSocketType cmp_node_sepycca_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sepycca_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_sepycca_out[]= {
- { SOCK_VALUE, 0, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Cb", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Cr", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "A", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sepycca_out[]= {
+ { SOCK_FLOAT, 0, "Y"},
+ { SOCK_FLOAT, 0, "Cb"},
+ { SOCK_FLOAT, 0, "Cr"},
+ { SOCK_FLOAT, 0, "A"},
{ -1, 0, "" }
};
@@ -154,8 +154,8 @@ void register_node_type_cmp_sepycca(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SEPYCCA, "Separate YCbCrA", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_sepycca_in, cmp_node_sepycca_out);
+ node_type_base(&ntype, CMP_NODE_SEPYCCA, "Separate YCbCrA", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_sepycca_in, cmp_node_sepycca_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_sepycca);
@@ -165,15 +165,15 @@ void register_node_type_cmp_sepycca(ListBase *lb)
/* **************** COMBINE YCCA ******************** */
-static bNodeSocketType cmp_node_combycca_in[]= {
- { SOCK_VALUE, 1, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Cb", 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Cr", 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combycca_in[]= {
+ { SOCK_FLOAT, 1, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Cb", 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Cr", 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_combycca_out[]= {
- { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combycca_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -301,8 +301,8 @@ void register_node_type_cmp_combycca(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COMBYCCA, "Combine YCbCrA", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_combycca_in, cmp_node_combycca_out);
+ node_type_base(&ntype, CMP_NODE_COMBYCCA, "Combine YCbCrA", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_combycca_in, cmp_node_combycca_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_combycca);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c b/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.c
index 8687e307df3..70bc36a020d 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c
+/** \file blender/nodes/composite/nodes/node_composite_sepcombYUVA.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SEPARATE YUVA ******************** */
-static bNodeSocketType cmp_node_sepyuva_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sepyuva_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_sepyuva_out[]= {
- { SOCK_VALUE, 0, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "U", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "A", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sepyuva_out[]= {
+ { SOCK_FLOAT, 0, "Y"},
+ { SOCK_FLOAT, 0, "U"},
+ { SOCK_FLOAT, 0, "V"},
+ { SOCK_FLOAT, 0, "A"},
{ -1, 0, "" }
};
@@ -105,8 +105,8 @@ void register_node_type_cmp_sepyuva(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SEPYUVA, "Separate YUVA", NODE_CLASS_CONVERTOR, 0,
- cmp_node_sepyuva_in, cmp_node_sepyuva_out);
+ node_type_base(&ntype, CMP_NODE_SEPYUVA, "Separate YUVA", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, cmp_node_sepyuva_in, cmp_node_sepyuva_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_sepyuva);
@@ -116,15 +116,15 @@ void register_node_type_cmp_sepyuva(ListBase *lb)
/* **************** COMBINE YUVA ******************** */
-static bNodeSocketType cmp_node_combyuva_in[]= {
- { SOCK_VALUE, 1, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "U", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combyuva_in[]= {
+ { SOCK_FLOAT, 1, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "U", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_combyuva_out[]= {
- { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combyuva_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -176,8 +176,8 @@ void register_node_type_cmp_combyuva(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COMBYUVA, "Combine YUVA", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_combyuva_in, cmp_node_combyuva_out);
+ node_type_base(&ntype, CMP_NODE_COMBYUVA, "Combine YUVA", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_combyuva_in, cmp_node_combyuva_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_combyuva);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_setalpha.c b/source/blender/nodes/composite/nodes/node_composite_setalpha.c
index bb8533a79f6..8264d4d4dea 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_setalpha.c
+++ b/source/blender/nodes/composite/nodes/node_composite_setalpha.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_setalpha.c
+/** \file blender/nodes/composite/nodes/node_composite_setalpha.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SET ALPHA ******************** */
-static bNodeSocketType cmp_node_setalpha_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_setalpha_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_setalpha_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_setalpha_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -79,8 +79,8 @@ void register_node_type_cmp_setalpha(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SETALPHA, "Set Alpha", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_setalpha_in, cmp_node_setalpha_out);
+ node_type_base(&ntype, CMP_NODE_SETALPHA, "Set Alpha", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_setalpha_in, cmp_node_setalpha_out);
node_type_size(&ntype, 120, 40, 140);
node_type_exec(&ntype, node_composit_exec_setalpha);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_splitViewer.c b/source/blender/nodes/composite/nodes/node_composite_splitViewer.c
index 13cb3bcfed5..e73caa542b7 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_splitViewer.c
+++ b/source/blender/nodes/composite/nodes/node_composite_splitViewer.c
@@ -27,17 +27,17 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_splitViewer.c
+/** \file blender/nodes/composite/nodes/node_composite_splitViewer.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SPLIT VIEWER ******************** */
-static bNodeSocketType cmp_node_splitviewer_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_splitviewer_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
@@ -141,7 +141,7 @@ static void node_composit_exec_splitviewer(void *data, bNode *node, bNodeStack *
}
}
-static void node_composit_init_splitviewer(bNode* node)
+static void node_composit_init_splitviewer(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
ImageUser *iuser= MEM_callocN(sizeof(ImageUser), "node image user");
node->storage= iuser;
@@ -155,8 +155,8 @@ void register_node_type_cmp_splitviewer(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SPLITVIEWER, "SplitViewer", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_splitviewer_in, NULL);
+ node_type_base(&ntype, CMP_NODE_SPLITVIEWER, "SplitViewer", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_splitviewer_in, NULL);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_splitviewer);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_texture.c b/source/blender/nodes/composite/nodes/node_composite_texture.c
index 46e71b8b8e5..1dbbd56d2f1 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_texture.c
+++ b/source/blender/nodes/composite/nodes/node_composite_texture.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_texture.c
+/** \file blender/nodes/composite/nodes/node_composite_texture.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** TEXTURE ******************** */
-static bNodeSocketType cmp_node_texture_in[]= {
- { SOCK_VECTOR, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f},
- { SOCK_VECTOR, 1, "Scale", 1.0f, 1.0f, 1.0f, 1.0f, -10.0f, 10.0f},
+static bNodeSocketTemplate cmp_node_texture_in[]= {
+ { SOCK_VECTOR, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_TRANSLATION},
+ { SOCK_VECTOR, 1, "Scale", 1.0f, 1.0f, 1.0f, 1.0f, -10.0f, 10.0f, PROP_XYZ},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_texture_out[]= {
- { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA , 0, "Color", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_texture_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
+ { SOCK_RGBA , 0, "Color"},
{ -1, 0, "" }
};
@@ -148,8 +148,8 @@ void register_node_type_cmp_texture(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW,
- cmp_node_texture_in, cmp_node_texture_out);
+ node_type_base(&ntype, CMP_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW);
+ node_type_socket_templates(&ntype, cmp_node_texture_in, cmp_node_texture_out);
node_type_size(&ntype, 120, 80, 240);
node_type_exec(&ntype, node_composit_exec_texture);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_tonemap.c b/source/blender/nodes/composite/nodes/node_composite_tonemap.c
index f15811ec790..ba2dc9c5c79 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_tonemap.c
+++ b/source/blender/nodes/composite/nodes/node_composite_tonemap.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,19 +27,19 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_tonemap.c
+/** \file blender/nodes/composite/nodes/node_composite_tonemap.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
-static bNodeSocketType cmp_node_tonemap_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_tonemap_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_tonemap_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_tonemap_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -147,7 +148,7 @@ static void node_composit_exec_tonemap(void *UNUSED(data), bNode *node, bNodeSta
free_compbuf(img);
}
-static void node_composit_init_tonemap(bNode* node)
+static void node_composit_init_tonemap(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeTonemap *ntm = MEM_callocN(sizeof(NodeTonemap), "node tonemap data");
ntm->type = 1;
@@ -167,8 +168,8 @@ void register_node_type_cmp_tonemap(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_TONEMAP, "Tonemap", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_tonemap_in, cmp_node_tonemap_out);
+ node_type_base(&ntype, CMP_NODE_TONEMAP, "Tonemap", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_tonemap_in, cmp_node_tonemap_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_tonemap);
node_type_storage(&ntype, "NodeTonemap", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_translate.c b/source/blender/nodes/composite/nodes/node_composite_translate.c
index eb69523e7a9..872667a4e17 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_translate.c
+++ b/source/blender/nodes/composite/nodes/node_composite_translate.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_translate.c
+/** \file blender/nodes/composite/nodes/node_composite_translate.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Translate ******************** */
-static bNodeSocketType cmp_node_translate_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "X", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
- { SOCK_VALUE, 1, "Y", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_translate_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "X", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Y", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_translate_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_translate_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -65,8 +65,8 @@ void register_node_type_cmp_translate(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_TRANSLATE, "Translate", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_translate_in, cmp_node_translate_out);
+ node_type_base(&ntype, CMP_NODE_TRANSLATE, "Translate", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_translate_in, cmp_node_translate_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_translate);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_valToRgb.c b/source/blender/nodes/composite/nodes/node_composite_valToRgb.c
index 1e1c8c61b46..edd315e5a92 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_valToRgb.c
+++ b/source/blender/nodes/composite/nodes/node_composite_valToRgb.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_valToRgb.c
+/** \file blender/nodes/composite/nodes/node_composite_valToRgb.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** VALTORGB ******************** */
-static bNodeSocketType cmp_node_valtorgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_valtorgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_valtorgb_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_valtorgb_out[]= {
+ { SOCK_RGBA, 0, "Image"},
+ { SOCK_FLOAT, 0, "Alpha"},
{ -1, 0, "" }
};
@@ -80,7 +80,7 @@ static void node_composit_exec_valtorgb(void *UNUSED(data), bNode *node, bNodeSt
}
}
-static void node_composit_init_valtorgb(bNode* node)
+static void node_composit_init_valtorgb(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= add_colorband(1);
}
@@ -89,8 +89,8 @@ void register_node_type_cmp_valtorgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_valtorgb_in, cmp_node_valtorgb_out);
+ node_type_base(&ntype, CMP_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_valtorgb_in, cmp_node_valtorgb_out);
node_type_size(&ntype, 240, 200, 300);
node_type_init(&ntype, node_composit_init_valtorgb);
node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage);
@@ -102,12 +102,12 @@ void register_node_type_cmp_valtorgb(ListBase *lb)
/* **************** RGBTOBW ******************** */
-static bNodeSocketType cmp_node_rgbtobw_in[]= {
+static bNodeSocketTemplate cmp_node_rgbtobw_in[]= {
{ SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_rgbtobw_out[]= {
- { SOCK_VALUE, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_rgbtobw_out[]= {
+ { SOCK_FLOAT, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
@@ -143,8 +143,8 @@ void register_node_type_cmp_rgbtobw(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0,
- cmp_node_rgbtobw_in, cmp_node_rgbtobw_out);
+ node_type_base(&ntype, CMP_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, cmp_node_rgbtobw_in, cmp_node_rgbtobw_out);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, node_composit_exec_rgbtobw);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_value.c b/source/blender/nodes/composite/nodes/node_composite_value.c
index 46762065bb4..0bb558cfa9d 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_value.c
+++ b/source/blender/nodes/composite/nodes/node_composite_value.c
@@ -27,32 +27,42 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_value.c
+/** \file blender/nodes/composite/nodes/node_composite_value.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** VALUE ******************** */
-static bNodeSocketType cmp_node_value_out[]= {
- { SOCK_VALUE, 0, "Value", 0.5f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_value_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
+static void node_composit_init_value(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ bNodeSocketValueFloat *dval= (bNodeSocketValueFloat*)sock->default_value;
+ /* uses the default value of the output socket, must be initialized here */
+ dval->value = 0.5f;
+}
+
static void node_composit_exec_value(void *UNUSED(data), bNode *node, bNodeStack **UNUSED(in), bNodeStack **out)
{
bNodeSocket *sock= node->outputs.first;
+ float val= ((bNodeSocketValueFloat*)sock->default_value)->value;
- out[0]->vec[0]= sock->ns.vec[0];
+ out[0]->vec[0]= val;
}
void register_node_type_cmp_value(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_VALUE, "Value", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, cmp_node_value_out);
+ node_type_base(&ntype, CMP_NODE_VALUE, "Value", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, cmp_node_value_out);
+ node_type_init(&ntype, node_composit_init_value);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, node_composit_exec_value);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_vecBlur.c b/source/blender/nodes/composite/nodes/node_composite_vecBlur.c
index c43bfa2435a..26fcffa93ac 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_vecBlur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_vecBlur.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_vecBlur.c
+/** \file blender/nodes/composite/nodes/node_composite_vecBlur.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** VECTOR BLUR ******************** */
-static bNodeSocketType cmp_node_vecblur_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Speed", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_vecblur_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Z", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_VECTOR, 1, "Speed", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_VELOCITY},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_vecblur_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_vecblur_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -87,7 +87,7 @@ static void node_composit_exec_vecblur(void *UNUSED(data), bNode *node, bNodeSta
free_compbuf(img);
}
-static void node_composit_init_vecblur(bNode* node)
+static void node_composit_init_vecblur(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeBlurData *nbd= MEM_callocN(sizeof(NodeBlurData), "node blur data");
node->storage= nbd;
@@ -100,8 +100,8 @@ void register_node_type_cmp_vecblur(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_VECBLUR, "Vector Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_vecblur_in, cmp_node_vecblur_out);
+ node_type_base(&ntype, CMP_NODE_VECBLUR, "Vector Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_vecblur_in, cmp_node_vecblur_out);
node_type_size(&ntype, 120, 80, 200);
node_type_init(&ntype, node_composit_init_vecblur);
node_type_storage(&ntype, "NodeBlurData", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_viewer.c b/source/blender/nodes/composite/nodes/node_composite_viewer.c
index c4e719efbf9..8b052c5db35 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_viewer.c
+++ b/source/blender/nodes/composite/nodes/node_composite_viewer.c
@@ -27,19 +27,19 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_viewer.c
+/** \file blender/nodes/composite/nodes/node_composite_viewer.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** VIEWER ******************** */
-static bNodeSocketType cmp_node_viewer_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_viewer_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
@@ -124,7 +124,7 @@ static void node_composit_exec_viewer(void *data, bNode *node, bNodeStack **in,
}
}
-static void node_composit_init_viewer(bNode* node)
+static void node_composit_init_viewer(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
ImageUser *iuser= MEM_callocN(sizeof(ImageUser), "node image user");
node->storage= iuser;
@@ -137,8 +137,8 @@ void register_node_type_cmp_viewer(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW,
- cmp_node_viewer_in, NULL);
+ node_type_base(&ntype, CMP_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW);
+ node_type_socket_templates(&ntype, cmp_node_viewer_in, NULL);
node_type_size(&ntype, 80, 60, 200);
node_type_init(&ntype, node_composit_init_viewer);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
@@ -146,5 +146,3 @@ void register_node_type_cmp_viewer(ListBase *lb)
nodeRegisterType(lb, &ntype);
}
-
-
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_zcombine.c b/source/blender/nodes/composite/nodes/node_composite_zcombine.c
index 0fae0fcd4d5..220b770198a 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_zcombine.c
+++ b/source/blender/nodes/composite/nodes/node_composite_zcombine.c
@@ -27,26 +27,26 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_zcombine.c
+/** \file blender/nodes/composite/nodes/node_composite_zcombine.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Z COMBINE ******************** */
/* lazy coder note: node->custom2 is abused to send signal */
-static bNodeSocketType cmp_node_zcombine_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 10000.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_zcombine_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 10000.0f, PROP_NONE},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 10000.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_zcombine_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_zcombine_out[]= {
+ { SOCK_RGBA, 0, "Image"},
+ { SOCK_FLOAT, 0, "Z"},
{ -1, 0, "" }
};
@@ -228,8 +228,8 @@ void register_node_type_cmp_zcombine(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_ZCOMBINE, "Z Combine", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_zcombine_in, cmp_node_zcombine_out);
+ node_type_base(&ntype, CMP_NODE_ZCOMBINE, "Z Combine", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_zcombine_in, cmp_node_zcombine_out);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, node_composit_exec_zcombine);
diff --git a/source/blender/nodes/intern/SHD_util.c b/source/blender/nodes/intern/SHD_util.c
deleted file mode 100644
index cf7c64c9d5e..00000000000
--- a/source/blender/nodes/intern/SHD_util.c
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2005 Blender Foundation.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/nodes/intern/SHD_util.c
- * \ingroup nodes
- */
-
-
-#include "SHD_util.h"
-
-
-
-
-
-/* ****** */
-
-void nodestack_get_vec(float *in, short type_in, bNodeStack *ns)
-{
- float *from= ns->vec;
-
- if(type_in==SOCK_VALUE) {
- if(ns->sockettype==SOCK_VALUE)
- *in= *from;
- else
- *in= 0.333333f*(from[0]+from[1]+from[2]);
- }
- else if(type_in==SOCK_VECTOR) {
- if(ns->sockettype==SOCK_VALUE) {
- in[0]= from[0];
- in[1]= from[0];
- in[2]= from[0];
- }
- else {
- VECCOPY(in, from);
- }
- }
- else { /* type_in==SOCK_RGBA */
- if(ns->sockettype==SOCK_RGBA) {
- QUATCOPY(in, from);
- }
- else if(ns->sockettype==SOCK_VALUE) {
- in[0]= from[0];
- in[1]= from[0];
- in[2]= from[0];
- in[3]= 1.0f;
- }
- else {
- VECCOPY(in, from);
- in[3]= 1.0f;
- }
- }
-}
-
-
-/* ******************* execute and parse ************ */
-
-void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr)
-{
- ShaderCallData scd;
-
- /* convert caller data to struct */
- scd.shi= shi;
- scd.shr= shr;
-
- /* each material node has own local shaderesult, with optional copying */
- memset(shr, 0, sizeof(ShadeResult));
-
- ntreeExecTree(ntree, &scd, shi->thread); /* threads */
-
- /* better not allow negative for now */
- if(shr->combined[0]<0.0f) shr->combined[0]= 0.0f;
- if(shr->combined[1]<0.0f) shr->combined[1]= 0.0f;
- if(shr->combined[2]<0.0f) shr->combined[2]= 0.0f;
-
-}
-
-/* go over all used Geometry and Texture nodes, and return a texco flag */
-/* no group inside needed, this function is called for groups too */
-void ntreeShaderGetTexcoMode(bNodeTree *ntree, int r_mode, short *texco, int *mode)
-{
- bNode *node;
- bNodeSocket *sock;
- int a;
-
- ntreeSocketUseFlags(ntree);
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->type==SH_NODE_TEXTURE) {
- if((r_mode & R_OSA) && node->id) {
- Tex *tex= (Tex *)node->id;
- if ELEM3(tex->type, TEX_IMAGE, TEX_PLUGIN, TEX_ENVMAP)
- *texco |= TEXCO_OSA|NEED_UV;
- }
- /* usability exception... without input we still give the node orcos */
- sock= node->inputs.first;
- if(sock==NULL || sock->link==NULL)
- *texco |= TEXCO_ORCO|NEED_UV;
- }
- else if(node->type==SH_NODE_GEOMETRY) {
- /* note; sockets always exist for the given type! */
- for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
- if(sock->flag & SOCK_IN_USE) {
- switch(a) {
- case GEOM_OUT_GLOB:
- *texco |= TEXCO_GLOB|NEED_UV; break;
- case GEOM_OUT_VIEW:
- *texco |= TEXCO_VIEW|NEED_UV; break;
- case GEOM_OUT_ORCO:
- *texco |= TEXCO_ORCO|NEED_UV; break;
- case GEOM_OUT_UV:
- *texco |= TEXCO_UV|NEED_UV; break;
- case GEOM_OUT_NORMAL:
- *texco |= TEXCO_NORM|NEED_UV; break;
- case GEOM_OUT_VCOL:
- *texco |= NEED_UV; *mode |= MA_VERTEXCOL; break;
- }
- }
- }
- }
- }
-}
-
-/* nodes that use ID data get synced with local data */
-void nodeShaderSynchronizeID(bNode *node, int copyto)
-{
- if(node->id==NULL) return;
-
- if(ELEM(node->type, SH_NODE_MATERIAL, SH_NODE_MATERIAL_EXT)) {
- bNodeSocket *sock;
- Material *ma= (Material *)node->id;
- int a;
-
- /* hrmf, case in loop isnt super fast, but we dont edit 100s of material at same time either! */
- for(a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
- if(!(sock->flag & SOCK_HIDDEN)) {
- if(copyto) {
- switch(a) {
- case MAT_IN_COLOR:
- VECCOPY(&ma->r, sock->ns.vec); break;
- case MAT_IN_SPEC:
- VECCOPY(&ma->specr, sock->ns.vec); break;
- case MAT_IN_REFL:
- ma->ref= sock->ns.vec[0]; break;
- case MAT_IN_MIR:
- VECCOPY(&ma->mirr, sock->ns.vec); break;
- case MAT_IN_AMB:
- ma->amb= sock->ns.vec[0]; break;
- case MAT_IN_EMIT:
- ma->emit= sock->ns.vec[0]; break;
- case MAT_IN_SPECTRA:
- ma->spectra= sock->ns.vec[0]; break;
- case MAT_IN_RAY_MIRROR:
- ma->ray_mirror= sock->ns.vec[0]; break;
- case MAT_IN_ALPHA:
- ma->alpha= sock->ns.vec[0]; break;
- case MAT_IN_TRANSLUCENCY:
- ma->translucency= sock->ns.vec[0]; break;
- }
- }
- else {
- switch(a) {
- case MAT_IN_COLOR:
- VECCOPY(sock->ns.vec, &ma->r); break;
- case MAT_IN_SPEC:
- VECCOPY(sock->ns.vec, &ma->specr); break;
- case MAT_IN_REFL:
- sock->ns.vec[0]= ma->ref; break;
- case MAT_IN_MIR:
- VECCOPY(sock->ns.vec, &ma->mirr); break;
- case MAT_IN_AMB:
- sock->ns.vec[0]= ma->amb; break;
- case MAT_IN_EMIT:
- sock->ns.vec[0]= ma->emit; break;
- case MAT_IN_SPECTRA:
- sock->ns.vec[0]= ma->spectra; break;
- case MAT_IN_RAY_MIRROR:
- sock->ns.vec[0]= ma->ray_mirror; break;
- case MAT_IN_ALPHA:
- sock->ns.vec[0]= ma->alpha; break;
- case MAT_IN_TRANSLUCENCY:
- sock->ns.vec[0]= ma->translucency; break;
- }
- }
- }
- }
- }
-
-}
diff --git a/source/blender/nodes/intern/node_common.c b/source/blender/nodes/intern/node_common.c
new file mode 100644
index 00000000000..07f3eb943cc
--- /dev/null
+++ b/source/blender/nodes/intern/node_common.c
@@ -0,0 +1,983 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Lukas Toenne.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/intern/node_common.c
+ * \ingroup nodes
+ */
+
+
+#include <string.h>
+
+#include "DNA_action_types.h"
+#include "DNA_anim_types.h"
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_string.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_action.h"
+#include "BKE_animsys.h"
+#include "BKE_global.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BLI_math.h"
+#include "BKE_node.h"
+#include "BKE_utildefines.h"
+
+#include "RNA_access.h"
+#include "RNA_types.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "node_common.h"
+#include "node_exec.h"
+#include "NOD_socket.h"
+
+/**** Group ****/
+
+bNodeSocket *node_group_find_input(bNode *gnode, bNodeSocket *gsock)
+{
+ bNodeSocket *sock;
+ for (sock=gnode->inputs.first; sock; sock=sock->next)
+ if (sock->groupsock == gsock)
+ return sock;
+ return NULL;
+}
+
+bNodeSocket *node_group_find_output(bNode *gnode, bNodeSocket *gsock)
+{
+ bNodeSocket *sock;
+ for (sock=gnode->outputs.first; sock; sock=sock->next)
+ if (sock->groupsock == gsock)
+ return sock;
+ return NULL;
+}
+
+bNodeSocket *node_group_add_extern_socket(bNodeTree *UNUSED(ntree), ListBase *lb, int in_out, bNodeSocket *gsock)
+{
+ bNodeSocket *sock;
+
+ if (gsock->flag & SOCK_INTERNAL)
+ return NULL;
+
+ sock= MEM_callocN(sizeof(bNodeSocket), "sock");
+
+ /* make a copy of the group socket */
+ *sock = *gsock;
+ sock->link = NULL;
+ sock->next = sock->prev = NULL;
+ sock->new_sock = NULL;
+
+ /* group sockets are dynamically added */
+ sock->flag |= SOCK_DYNAMIC;
+
+ sock->own_index = gsock->own_index;
+ sock->groupsock = gsock;
+ sock->limit = (in_out==SOCK_IN ? 1 : 0xFFF);
+
+ if (gsock->default_value)
+ sock->default_value = MEM_dupallocN(gsock->default_value);
+
+ if(lb)
+ BLI_addtail(lb, sock);
+
+ return sock;
+}
+
+bNode *node_group_make_from_selected(bNodeTree *ntree)
+{
+ bNodeLink *link, *linkn;
+ bNode *node, *gnode, *nextn;
+ bNodeTree *ngroup;
+ bNodeSocket *gsock;
+ ListBase anim_basepaths = {NULL, NULL};
+ float min[2], max[2];
+ int totnode=0;
+ bNodeTemplate ntemp;
+
+ INIT_MINMAX2(min, max);
+
+ /* is there something to group? also do some clearing */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->flag & NODE_SELECT) {
+ /* no groups in groups */
+ if(node->type==NODE_GROUP)
+ return NULL;
+ DO_MINMAX2( (&node->locx), min, max);
+ totnode++;
+ }
+ node->done= 0;
+ }
+ if(totnode==0) return NULL;
+
+ /* check if all connections are OK, no unselected node has both
+ inputs and outputs to a selection */
+ for(link= ntree->links.first; link; link= link->next) {
+ if(link->fromnode && link->tonode && link->fromnode->flag & NODE_SELECT)
+ link->tonode->done |= 1;
+ if(link->fromnode && link->tonode && link->tonode->flag & NODE_SELECT)
+ link->fromnode->done |= 2;
+ }
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if((node->flag & NODE_SELECT)==0)
+ if(node->done==3)
+ break;
+ }
+ if(node)
+ return NULL;
+
+ /* OK! new nodetree */
+ ngroup= ntreeAddTree("NodeGroup", ntree->type, NODE_GROUP);
+
+ /* move nodes over */
+ for(node= ntree->nodes.first; node; node= nextn) {
+ nextn= node->next;
+ if(node->flag & NODE_SELECT) {
+ /* keep track of this node's RNA "base" path (the part of the pat identifying the node)
+ * if the old nodetree has animation data which potentially covers this node
+ */
+ if (ntree->adt) {
+ PointerRNA ptr;
+ char *path;
+
+ RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr);
+ path = RNA_path_from_ID_to_struct(&ptr);
+
+ if (path)
+ BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
+ }
+
+ /* change node-collection membership */
+ BLI_remlink(&ntree->nodes, node);
+ BLI_addtail(&ngroup->nodes, node);
+
+ node->locx-= 0.5f*(min[0]+max[0]);
+ node->locy-= 0.5f*(min[1]+max[1]);
+ }
+ }
+
+ /* move animation data over */
+ if (ntree->adt) {
+ LinkData *ld, *ldn=NULL;
+
+ BKE_animdata_separate_by_basepath(&ntree->id, &ngroup->id, &anim_basepaths);
+
+ /* paths + their wrappers need to be freed */
+ for (ld = anim_basepaths.first; ld; ld = ldn) {
+ ldn = ld->next;
+
+ MEM_freeN(ld->data);
+ BLI_freelinkN(&anim_basepaths, ld);
+ }
+ }
+
+ /* make group node */
+ ntemp.type = NODE_GROUP;
+ ntemp.ngroup = ngroup;
+ gnode= nodeAddNode(ntree, &ntemp);
+ gnode->locx= 0.5f*(min[0]+max[0]);
+ gnode->locy= 0.5f*(min[1]+max[1]);
+
+ /* relink external sockets */
+ for(link= ntree->links.first; link; link= linkn) {
+ linkn= link->next;
+
+ if(link->fromnode && link->tonode && (link->fromnode->flag & link->tonode->flag & NODE_SELECT)) {
+ BLI_remlink(&ntree->links, link);
+ BLI_addtail(&ngroup->links, link);
+ }
+ else if(link->tonode && (link->tonode->flag & NODE_SELECT)) {
+ gsock = node_group_expose_socket(ngroup, link->tosock, SOCK_IN);
+ link->tosock->link = nodeAddLink(ngroup, NULL, gsock, link->tonode, link->tosock);
+ link->tosock = node_group_add_extern_socket(ntree, &gnode->inputs, SOCK_IN, gsock);
+ link->tonode = gnode;
+ }
+ else if(link->fromnode && (link->fromnode->flag & NODE_SELECT)) {
+ /* search for existing group node socket */
+ for (gsock=ngroup->outputs.first; gsock; gsock=gsock->next)
+ if (gsock->link && gsock->link->fromsock==link->fromsock)
+ break;
+ if (!gsock) {
+ gsock = node_group_expose_socket(ngroup, link->fromsock, SOCK_OUT);
+ gsock->link = nodeAddLink(ngroup, link->fromnode, link->fromsock, NULL, gsock);
+ link->fromsock = node_group_add_extern_socket(ntree, &gnode->outputs, SOCK_OUT, gsock);
+ }
+ else
+ link->fromsock = node_group_find_output(gnode, gsock);
+ link->fromnode = gnode;
+ }
+ }
+
+ ngroup->update |= NTREE_UPDATE;
+ ntreeUpdateTree(ngroup);
+ ntree->update |= NTREE_UPDATE_NODES|NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(ntree);
+
+ return gnode;
+}
+
+/* XXX This is a makeshift function to have useful initial group socket values.
+ * In the end this should be implemented by a flexible socket data conversion system,
+ * which is yet to be implemented. The idea is that beside default standard conversions,
+ * such as int-to-float, it should be possible to quickly select a conversion method or
+ * a chain of conversions for each input, whenever there is more than one option.
+ * E.g. a vector-to-float conversion could use either of the x/y/z components or
+ * the vector length.
+ *
+ * In the interface this could be implemented by a pseudo-script textbox on linked inputs,
+ * with quick selection from a predefined list of conversion options. Some Examples:
+ * - vector component 'z' (vector->float): "z"
+ * - greyscale color (float->color): "grey"
+ * - color luminance (color->float): "lum"
+ * - matrix column 2 length (matrix->vector->float): "col[1].len"
+ * - mesh vertex coordinate 'y' (mesh->vertex->vector->float): "vertex.co.y"
+ *
+ * The actual conversion is then done by a series of conversion functions,
+ * which are defined in the socket type structs.
+ */
+static void convert_socket_value(bNodeSocket *from, bNodeSocket *to)
+{
+ /* XXX only one of these pointers is valid! just putting them here for convenience */
+ bNodeSocketValueFloat *fromfloat= (bNodeSocketValueFloat*)from->default_value;
+ bNodeSocketValueInt *fromint= (bNodeSocketValueInt*)from->default_value;
+ bNodeSocketValueBoolean *frombool= (bNodeSocketValueBoolean*)from->default_value;
+ bNodeSocketValueVector *fromvector= (bNodeSocketValueVector*)from->default_value;
+ bNodeSocketValueRGBA *fromrgba= (bNodeSocketValueRGBA*)from->default_value;
+
+ bNodeSocketValueFloat *tofloat= (bNodeSocketValueFloat*)to->default_value;
+ bNodeSocketValueInt *toint= (bNodeSocketValueInt*)to->default_value;
+ bNodeSocketValueBoolean *tobool= (bNodeSocketValueBoolean*)to->default_value;
+ bNodeSocketValueVector *tovector= (bNodeSocketValueVector*)to->default_value;
+ bNodeSocketValueRGBA *torgba= (bNodeSocketValueRGBA*)to->default_value;
+
+ switch (from->type) {
+ case SOCK_FLOAT:
+ switch (to->type) {
+ case SOCK_FLOAT:
+ tofloat->value = fromfloat->value;
+ break;
+ case SOCK_INT:
+ toint->value = (int)fromfloat->value;
+ break;
+ case SOCK_BOOLEAN:
+ tobool->value = (fromfloat->value > 0.0f);
+ break;
+ case SOCK_VECTOR:
+ tovector->value[0] = tovector->value[1] = tovector->value[2] = fromfloat->value;
+ break;
+ case SOCK_RGBA:
+ torgba->value[0] = torgba->value[1] = torgba->value[2] = torgba->value[3] = fromfloat->value;
+ break;
+ }
+ break;
+ case SOCK_INT:
+ switch (to->type) {
+ case SOCK_FLOAT:
+ tofloat->value = (float)fromint->value;
+ break;
+ case SOCK_INT:
+ toint->value = fromint->value;
+ break;
+ case SOCK_BOOLEAN:
+ tobool->value = (fromint->value > 0);
+ break;
+ case SOCK_VECTOR:
+ tovector->value[0] = tovector->value[1] = tovector->value[2] = (float)fromint->value;
+ break;
+ case SOCK_RGBA:
+ torgba->value[0] = torgba->value[1] = torgba->value[2] = torgba->value[3] = (float)fromint->value;
+ break;
+ }
+ break;
+ case SOCK_BOOLEAN:
+ switch (to->type) {
+ case SOCK_FLOAT:
+ tofloat->value = (float)frombool->value;
+ break;
+ case SOCK_INT:
+ toint->value = (int)frombool->value;
+ break;
+ case SOCK_BOOLEAN:
+ tobool->value = frombool->value;
+ break;
+ case SOCK_VECTOR:
+ tovector->value[0] = tovector->value[1] = tovector->value[2] = (float)frombool->value;
+ break;
+ case SOCK_RGBA:
+ torgba->value[0] = torgba->value[1] = torgba->value[2] = torgba->value[3] = (float)frombool->value;
+ break;
+ }
+ break;
+ case SOCK_VECTOR:
+ switch (to->type) {
+ case SOCK_FLOAT:
+ tofloat->value = fromvector->value[0];
+ break;
+ case SOCK_INT:
+ toint->value = (int)fromvector->value[0];
+ break;
+ case SOCK_BOOLEAN:
+ tobool->value = (fromvector->value[0] > 0.0f);
+ break;
+ case SOCK_VECTOR:
+ copy_v3_v3(tovector->value, fromvector->value);
+ break;
+ case SOCK_RGBA:
+ copy_v3_v3(torgba->value, fromvector->value);
+ torgba->value[3] = 1.0f;
+ break;
+ }
+ break;
+ case SOCK_RGBA:
+ switch (to->type) {
+ case SOCK_FLOAT:
+ tofloat->value = fromrgba->value[0];
+ break;
+ case SOCK_INT:
+ toint->value = (int)fromrgba->value[0];
+ break;
+ case SOCK_BOOLEAN:
+ tobool->value = (fromrgba->value[0] > 0.0f);
+ break;
+ case SOCK_VECTOR:
+ copy_v3_v3(tovector->value, fromrgba->value);
+ break;
+ case SOCK_RGBA:
+ copy_v4_v4(torgba->value, fromrgba->value);
+ break;
+ }
+ break;
+ }
+}
+
+static void copy_socket_value(bNodeSocket *from, bNodeSocket *to)
+{
+ /* XXX only one of these pointers is valid! just putting them here for convenience */
+ bNodeSocketValueFloat *fromfloat= (bNodeSocketValueFloat*)from->default_value;
+ bNodeSocketValueInt *fromint= (bNodeSocketValueInt*)from->default_value;
+ bNodeSocketValueBoolean *frombool= (bNodeSocketValueBoolean*)from->default_value;
+ bNodeSocketValueVector *fromvector= (bNodeSocketValueVector*)from->default_value;
+ bNodeSocketValueRGBA *fromrgba= (bNodeSocketValueRGBA*)from->default_value;
+
+ bNodeSocketValueFloat *tofloat= (bNodeSocketValueFloat*)to->default_value;
+ bNodeSocketValueInt *toint= (bNodeSocketValueInt*)to->default_value;
+ bNodeSocketValueBoolean *tobool= (bNodeSocketValueBoolean*)to->default_value;
+ bNodeSocketValueVector *tovector= (bNodeSocketValueVector*)to->default_value;
+ bNodeSocketValueRGBA *torgba= (bNodeSocketValueRGBA*)to->default_value;
+
+ if (from->type != to->type)
+ return;
+
+ switch (from->type) {
+ case SOCK_FLOAT:
+ *tofloat = *fromfloat;
+ break;
+ case SOCK_INT:
+ *toint = *fromint;
+ break;
+ case SOCK_BOOLEAN:
+ *tobool = *frombool;
+ break;
+ case SOCK_VECTOR:
+ *tovector = *fromvector;
+ break;
+ case SOCK_RGBA:
+ *torgba = *fromrgba;
+ break;
+ }
+}
+
+/* returns 1 if its OK */
+int node_group_ungroup(bNodeTree *ntree, bNode *gnode)
+{
+ bNodeLink *link, *linkn;
+ bNode *node, *nextn;
+ bNodeTree *ngroup, *wgroup;
+ ListBase anim_basepaths = {NULL, NULL};
+
+ ngroup= (bNodeTree *)gnode->id;
+ if(ngroup==NULL) return 0;
+
+ /* clear new pointers, set in copytree */
+ for(node= ntree->nodes.first; node; node= node->next)
+ node->new_node= NULL;
+
+ /* wgroup is a temporary copy of the NodeTree we're merging in
+ * - all of wgroup's nodes are transferred across to their new home
+ * - ngroup (i.e. the source NodeTree) is left unscathed
+ */
+ wgroup= ntreeCopyTree(ngroup);
+
+ /* add the nodes into the ntree */
+ for(node= wgroup->nodes.first; node; node= nextn) {
+ nextn= node->next;
+
+ /* keep track of this node's RNA "base" path (the part of the pat identifying the node)
+ * if the old nodetree has animation data which potentially covers this node
+ */
+ if (wgroup->adt) {
+ PointerRNA ptr;
+ char *path;
+
+ RNA_pointer_create(&wgroup->id, &RNA_Node, node, &ptr);
+ path = RNA_path_from_ID_to_struct(&ptr);
+
+ if (path)
+ BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
+ }
+
+ /* migrate node */
+ BLI_remlink(&wgroup->nodes, node);
+ BLI_addtail(&ntree->nodes, node);
+
+ node->locx+= gnode->locx;
+ node->locy+= gnode->locy;
+
+ node->flag |= NODE_SELECT;
+ }
+
+ /* restore external links to and from the gnode */
+ for(link= ntree->links.first; link; link= link->next) {
+ if (link->fromnode==gnode) {
+ if (link->fromsock->groupsock) {
+ bNodeSocket *gsock= link->fromsock->groupsock;
+ if (gsock->link) {
+ if (gsock->link->fromnode) {
+ /* NB: using the new internal copies here! the groupsock pointer still maps to the old tree */
+ link->fromnode = (gsock->link->fromnode ? gsock->link->fromnode->new_node : NULL);
+ link->fromsock = gsock->link->fromsock->new_sock;
+ }
+ else {
+ /* group output directly maps to group input */
+ bNodeSocket *insock= node_group_find_input(gnode, gsock->link->fromsock);
+ if (insock->link) {
+ link->fromnode = insock->link->fromnode;
+ link->fromsock = insock->link->fromsock;
+ }
+ }
+ }
+ else {
+ /* copy the default input value from the group socket default to the external socket */
+ convert_socket_value(gsock, link->tosock);
+ }
+ }
+ }
+ }
+ /* remove internal output links, these are not used anymore */
+ for(link=wgroup->links.first; link; link= linkn) {
+ linkn = link->next;
+ if (!link->tonode)
+ nodeRemLink(wgroup, link);
+ }
+ /* restore links from internal nodes */
+ for(link= wgroup->links.first; link; link= link->next) {
+ /* indicates link to group input */
+ if (!link->fromnode) {
+ /* NB: can't use find_group_node_input here,
+ * because gnode sockets still point to the old tree!
+ */
+ bNodeSocket *insock;
+ for (insock= gnode->inputs.first; insock; insock= insock->next)
+ if (insock->groupsock->new_sock == link->fromsock)
+ break;
+ if (insock->link) {
+ link->fromnode = insock->link->fromnode;
+ link->fromsock = insock->link->fromsock;
+ }
+ else {
+ /* copy the default input value from the group node socket default to the internal socket */
+ convert_socket_value(insock, link->tosock);
+ nodeRemLink(wgroup, link);
+ }
+ }
+ }
+
+ /* add internal links to the ntree */
+ for(link= wgroup->links.first; link; link= linkn) {
+ linkn= link->next;
+ BLI_remlink(&wgroup->links, link);
+ BLI_addtail(&ntree->links, link);
+ }
+
+ /* and copy across the animation */
+ if (wgroup->adt) {
+ LinkData *ld, *ldn=NULL;
+ bAction *waction;
+
+ /* firstly, wgroup needs to temporary dummy action that can be destroyed, as it shares copies */
+ waction = wgroup->adt->action = copy_action(wgroup->adt->action);
+
+ /* now perform the moving */
+ BKE_animdata_separate_by_basepath(&wgroup->id, &ntree->id, &anim_basepaths);
+
+ /* paths + their wrappers need to be freed */
+ for (ld = anim_basepaths.first; ld; ld = ldn) {
+ ldn = ld->next;
+
+ MEM_freeN(ld->data);
+ BLI_freelinkN(&anim_basepaths, ld);
+ }
+
+ /* free temp action too */
+ free_libblock(&G.main->action, waction);
+ }
+
+ /* delete the group instance. this also removes old input links! */
+ nodeFreeNode(ntree, gnode);
+
+ /* free the group tree (takes care of user count) */
+ free_libblock(&G.main->nodetree, wgroup);
+
+ ntree->update |= NTREE_UPDATE_NODES|NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(ntree);
+
+ return 1;
+}
+
+bNodeSocket *node_group_add_socket(bNodeTree *ngroup, const char *name, int type, int in_out)
+{
+ bNodeSocketType *stype = ntreeGetSocketType(type);
+ bNodeSocket *gsock = MEM_callocN(sizeof(bNodeSocket), "bNodeSocket");
+
+ strncpy(gsock->name, name, sizeof(gsock->name));
+ gsock->type = type;
+ /* group sockets are dynamically added */
+ gsock->flag |= SOCK_DYNAMIC;
+
+ gsock->next = gsock->prev = NULL;
+ gsock->new_sock = NULL;
+ gsock->link = NULL;
+ /* assign new unique index */
+ gsock->own_index = ngroup->cur_index++;
+ gsock->limit = (in_out==SOCK_IN ? 0xFFF : 1);
+
+ if (stype->value_structsize > 0)
+ gsock->default_value = MEM_callocN(stype->value_structsize, "default socket value");
+
+ BLI_addtail(in_out==SOCK_IN ? &ngroup->inputs : &ngroup->outputs, gsock);
+
+ ngroup->update |= (in_out==SOCK_IN ? NTREE_UPDATE_GROUP_IN : NTREE_UPDATE_GROUP_OUT);
+
+ return gsock;
+}
+
+bNodeSocket *node_group_expose_socket(bNodeTree *ngroup, bNodeSocket *sock, int in_out)
+{
+ bNodeSocket *gsock= node_group_add_socket(ngroup, sock->name, sock->type, in_out);
+
+ /* initialize the default value. */
+ copy_socket_value(sock, gsock);
+
+ return gsock;
+}
+
+void node_group_expose_all_sockets(bNodeTree *ngroup)
+{
+ bNode *node;
+ bNodeSocket *sock, *gsock;
+
+ for (node=ngroup->nodes.first; node; node=node->next) {
+ for (sock=node->inputs.first; sock; sock=sock->next) {
+ if (!sock->link && !(sock->flag & SOCK_HIDDEN)) {
+ gsock = node_group_add_socket(ngroup, sock->name, sock->type, SOCK_IN);
+
+ /* initialize the default value. */
+ copy_socket_value(sock, gsock);
+
+ sock->link = nodeAddLink(ngroup, NULL, gsock, node, sock);
+ }
+ }
+ for (sock=node->outputs.first; sock; sock=sock->next) {
+ if (nodeCountSocketLinks(ngroup, sock)==0 && !(sock->flag & SOCK_HIDDEN)) {
+ gsock = node_group_add_socket(ngroup, sock->name, sock->type, SOCK_OUT);
+
+ /* initialize the default value. */
+ copy_socket_value(sock, gsock);
+
+ gsock->link = nodeAddLink(ngroup, node, sock, NULL, gsock);
+ }
+ }
+ }
+}
+
+void node_group_remove_socket(bNodeTree *ngroup, bNodeSocket *gsock, int in_out)
+{
+ nodeRemSocketLinks(ngroup, gsock);
+
+ switch (in_out) {
+ case SOCK_IN:
+ BLI_remlink(&ngroup->inputs, gsock);
+ ngroup->update |= NTREE_UPDATE_GROUP_IN;
+ break;
+ case SOCK_OUT:
+ BLI_remlink(&ngroup->outputs, gsock);
+ ngroup->update |= NTREE_UPDATE_GROUP_OUT;
+ break;
+ }
+
+ if (gsock->default_value)
+ MEM_freeN(gsock->default_value);
+
+ MEM_freeN(gsock);
+}
+
+/* groups display their internal tree name as label */
+const char *node_group_label(bNode *node)
+{
+ return (node->id)? node->id->name+2: "Missing Datablock";
+}
+
+int node_group_valid(bNodeTree *ntree, bNodeTemplate *ntemp)
+{
+ bNodeTemplate childtemp;
+ bNode *node;
+
+ /* regular groups cannot be recursive */
+ if (ntree == ntemp->ngroup)
+ return 0;
+
+ /* make sure all children are valid */
+ for (node=ntemp->ngroup->nodes.first; node; node=node->next) {
+ childtemp = nodeMakeTemplate(node);
+ if (!nodeValid(ntree, &childtemp))
+ return 0;
+ }
+
+ return 1;
+}
+
+bNodeTemplate node_group_template(bNode *node)
+{
+ bNodeTemplate ntemp;
+ ntemp.type = NODE_GROUP;
+ ntemp.ngroup = (bNodeTree*)node->id;
+ return ntemp;
+}
+
+void node_group_init(bNodeTree *ntree, bNode *node, bNodeTemplate *ntemp)
+{
+ node->id = (ID*)ntemp->ngroup;
+
+ /* NB: group socket input/output roles are inverted internally!
+ * Group "inputs" work as outputs in links and vice versa.
+ */
+ if (ntemp->ngroup) {
+ bNodeSocket *gsock;
+ for (gsock=ntemp->ngroup->inputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->inputs, SOCK_IN, gsock);
+ for (gsock=ntemp->ngroup->outputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->outputs, SOCK_OUT, gsock);
+ }
+}
+
+static bNodeSocket *group_verify_socket(bNodeTree *ntree, ListBase *lb, int in_out, bNodeSocket *gsock)
+{
+ bNodeSocket *sock;
+
+ /* group sockets tagged as internal are not exposed ever */
+ if (gsock->flag & SOCK_INTERNAL)
+ return NULL;
+
+ for(sock= lb->first; sock; sock= sock->next) {
+ if(sock->own_index==gsock->own_index)
+ break;
+ }
+ if(sock) {
+ sock->groupsock = gsock;
+
+ strcpy(sock->name, gsock->name);
+ sock->type= gsock->type;
+
+ /* XXX hack: group socket input/output roles are inverted internally,
+ * need to change the limit value when making actual node sockets from them.
+ */
+ sock->limit = (in_out==SOCK_IN ? 1 : 0xFFF);
+
+ BLI_remlink(lb, sock);
+
+ return sock;
+ }
+ else {
+ return node_group_add_extern_socket(ntree, NULL, in_out, gsock);
+ }
+}
+
+static void group_verify_socket_list(bNodeTree *ntree, bNode *node, ListBase *lb, int in_out, ListBase *glb)
+{
+ bNodeSocket *sock, *nextsock, *gsock;
+
+ /* step by step compare */
+ for (gsock= glb->first; gsock; gsock=gsock->next) {
+ /* abusing new_sock pointer for verification here! only used inside this function */
+ gsock->new_sock= group_verify_socket(ntree, lb, in_out, gsock);
+ }
+ /* leftovers are removed */
+ for (sock=lb->first; sock; sock=nextsock) {
+ nextsock=sock->next;
+ if (sock->flag & SOCK_DYNAMIC)
+ nodeRemoveSocket(ntree, node, sock);
+ }
+ /* and we put back the verified sockets */
+ for (gsock= glb->first; gsock; gsock=gsock->next) {
+ if (gsock->new_sock) {
+ BLI_addtail(lb, gsock->new_sock);
+ gsock->new_sock = NULL;
+ }
+ }
+}
+
+/* make sure all group node in ntree, which use ngroup, are sync'd */
+void node_group_verify(struct bNodeTree *ntree, struct bNode *node, struct ID *id)
+{
+ /* check inputs and outputs, and remove or insert them */
+ if (node->id==id) {
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ group_verify_socket_list(ntree, node, &node->inputs, SOCK_IN, &ngroup->inputs);
+ group_verify_socket_list(ntree, node, &node->outputs, SOCK_OUT, &ngroup->outputs);
+ }
+}
+
+struct bNodeTree *node_group_edit_get(bNode *node)
+{
+ if (node->flag & NODE_GROUP_EDIT)
+ return (bNodeTree*)node->id;
+ else
+ return NULL;
+}
+
+struct bNodeTree *node_group_edit_set(bNode *node, int edit)
+{
+ if (edit) {
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ if (ngroup) {
+ if(ngroup->id.lib)
+ ntreeMakeLocal(ngroup);
+
+ node->flag |= NODE_GROUP_EDIT;
+ }
+ return ngroup;
+ }
+ else {
+ node->flag &= ~NODE_GROUP_EDIT;
+ return NULL;
+ }
+}
+
+void node_group_edit_clear(bNode *node)
+{
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ bNode *inode;
+
+ node->flag &= ~NODE_GROUP_EDIT;
+
+ if (ngroup)
+ for (inode=ngroup->nodes.first; inode; inode=inode->next)
+ nodeGroupEditClear(inode);
+}
+
+void node_group_link(bNodeTree *ntree, bNodeSocket *sock, int in_out)
+{
+ node_group_expose_socket(ntree, sock, in_out);
+}
+
+/**** For Loop ****/
+
+/* Essentially a group node with slightly different behavior.
+ * The internal tree is executed several times, with each output being re-used
+ * as an input in the next iteration. For this purpose, input and output socket
+ * lists are kept identical!
+ */
+
+bNodeTemplate node_forloop_template(bNode *node)
+{
+ bNodeTemplate ntemp;
+ ntemp.type = NODE_FORLOOP;
+ ntemp.ngroup = (bNodeTree*)node->id;
+ return ntemp;
+}
+
+void node_forloop_init(bNodeTree *ntree, bNode *node, bNodeTemplate *ntemp)
+{
+ bNodeSocket *sock;
+
+ node->id = (ID*)ntemp->ngroup;
+
+ sock = nodeAddInputFloat(ntree, node, "Iterations", PROP_UNSIGNED, 1, 0, 10000);
+
+ /* NB: group socket input/output roles are inverted internally!
+ * Group "inputs" work as outputs in links and vice versa.
+ */
+ if (ntemp->ngroup) {
+ bNodeSocket *gsock;
+ for (gsock=ntemp->ngroup->inputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->inputs, SOCK_IN, gsock);
+ for (gsock=ntemp->ngroup->outputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->outputs, SOCK_OUT, gsock);
+ }
+}
+
+void node_forloop_init_tree(bNodeTree *ntree)
+{
+ bNodeSocket *sock;
+ sock = node_group_add_socket(ntree, "Iteration", SOCK_FLOAT, SOCK_IN);
+ sock->flag |= SOCK_INTERNAL;
+}
+
+static void loop_sync(bNodeTree *ntree, int sync_in_out)
+{
+ bNodeSocket *sock, *sync, *nsync, *mirror;
+ ListBase *sync_lb;
+
+ if (sync_in_out==SOCK_IN) {
+ sock = ntree->outputs.first;
+
+ sync = ntree->inputs.first;
+ sync_lb = &ntree->inputs;
+ }
+ else {
+ sock = ntree->inputs.first;
+
+ sync = ntree->outputs.first;
+ sync_lb = &ntree->outputs;
+ }
+
+ /* NB: the sock->storage pointer is used here directly to store the own_index int
+ * out the mirrored socket counterpart!
+ */
+
+ while (sock) {
+ /* skip static and internal sockets on the sync side (preserves socket order!) */
+ while (sync && ((sync->flag & SOCK_INTERNAL) || !(sync->flag & SOCK_DYNAMIC)))
+ sync = sync->next;
+
+ if (!(sync->flag & SOCK_INTERNAL) && (sync->flag & SOCK_DYNAMIC)) {
+ if (sock->storage==NULL) {
+ /* if mirror index is 0, the sockets is newly added and a new mirror must be created. */
+ mirror = node_group_expose_socket(ntree, sock, sync_in_out);
+ /* store the mirror index */
+ sock->storage = SET_INT_IN_POINTER(mirror->own_index);
+ mirror->storage = SET_INT_IN_POINTER(sock->own_index);
+ /* move mirror to the right place */
+ BLI_remlink(sync_lb, mirror);
+ if (sync)
+ BLI_insertlinkbefore(sync_lb, sync, mirror);
+ else
+ BLI_addtail(sync_lb, mirror);
+ }
+ else {
+ /* look up the mirror socket */
+ for (mirror=sync; mirror; mirror=mirror->next)
+ if (mirror->own_index == GET_INT_FROM_POINTER(sock->storage))
+ break;
+ /* make sure the name is the same (only for identification by user, no deeper meaning) */
+ strcpy(mirror->name, sock->name);
+ /* fix the socket order if necessary */
+ if (mirror != sync) {
+ BLI_remlink(sync_lb, mirror);
+ BLI_insertlinkbefore(sync_lb, sync, mirror);
+ }
+ else
+ sync = sync->next;
+ }
+ }
+
+ sock = sock->next;
+ }
+
+ /* remaining sockets in sync_lb are leftovers from deleted sockets, remove them */
+ while (sync) {
+ nsync = sync->next;
+ if (!(sync->flag & SOCK_INTERNAL) && (sync->flag & SOCK_DYNAMIC))
+ node_group_remove_socket(ntree, sync, sync_in_out);
+ sync = nsync;
+ }
+}
+
+void node_loop_update_tree(bNodeTree *ngroup)
+{
+ /* make sure inputs & outputs are identical */
+ if (ngroup->update & NTREE_UPDATE_GROUP_IN)
+ loop_sync(ngroup, SOCK_OUT);
+ if (ngroup->update & NTREE_UPDATE_GROUP_OUT)
+ loop_sync(ngroup, SOCK_IN);
+}
+
+void node_whileloop_init(bNodeTree *ntree, bNode *node, bNodeTemplate *ntemp)
+{
+ bNodeSocket *sock;
+
+ node->id = (ID*)ntemp->ngroup;
+
+ sock = nodeAddInputFloat(ntree, node, "Condition", PROP_NONE, 1, 0, 1);
+
+ /* max iterations */
+ node->custom1 = 10000;
+
+ /* NB: group socket input/output roles are inverted internally!
+ * Group "inputs" work as outputs in links and vice versa.
+ */
+ if (ntemp->ngroup) {
+ bNodeSocket *gsock;
+ for (gsock=ntemp->ngroup->inputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->inputs, SOCK_IN, gsock);
+ for (gsock=ntemp->ngroup->outputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->outputs, SOCK_OUT, gsock);
+ }
+}
+
+void node_whileloop_init_tree(bNodeTree *ntree)
+{
+ bNodeSocket *sock;
+ sock = node_group_add_socket(ntree, "Condition", SOCK_FLOAT, SOCK_OUT);
+ sock->flag |= SOCK_INTERNAL;
+}
+
+bNodeTemplate node_whileloop_template(bNode *node)
+{
+ bNodeTemplate ntemp;
+ ntemp.type = NODE_WHILELOOP;
+ ntemp.ngroup = (bNodeTree*)node->id;
+ return ntemp;
+}
+
+/**** FRAME ****/
+
+void register_node_type_frame(ListBase *lb)
+{
+ /* frame type is used for all tree types, needs dynamic allocation */
+ bNodeType *ntype= MEM_callocN(sizeof(bNodeType), "frame node type");
+
+ node_type_base(ntype, NODE_FRAME, "Frame", NODE_CLASS_LAYOUT, NODE_BACKGROUND);
+ node_type_size(ntype, 150, 100, 0);
+
+ ntype->needs_free = 1;
+ nodeRegisterType(lb, ntype);
+}
diff --git a/source/blender/nodes/intern/node_common.h b/source/blender/nodes/intern/node_common.h
new file mode 100644
index 00000000000..2723c595380
--- /dev/null
+++ b/source/blender/nodes/intern/node_common.h
@@ -0,0 +1,66 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Lukas Toenne.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/intern/node_common.h
+ * \ingroup nodes
+ */
+
+
+#ifndef NODE_COMMON_H_
+#define NODE_COMMON_H_
+
+#include "DNA_listBase.h"
+
+struct bNodeTree;
+
+struct bNodeSocket *node_group_add_extern_socket(struct bNodeTree *ntree, ListBase *lb, int in_out, struct bNodeSocket *gsock);
+
+void node_group_init(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp);
+void node_forloop_init(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp);
+void node_whileloop_init(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp);
+
+void node_forloop_init_tree(struct bNodeTree *ntree);
+void node_whileloop_init_tree(struct bNodeTree *ntree);
+
+const char *node_group_label(struct bNode *node);
+
+struct bNodeTemplate node_group_template(struct bNode *node);
+struct bNodeTemplate node_forloop_template(struct bNode *node);
+struct bNodeTemplate node_whileloop_template(struct bNode *node);
+
+int node_group_valid(struct bNodeTree *ntree, struct bNodeTemplate *ntemp);
+void node_group_verify(struct bNodeTree *ntree, struct bNode *node, struct ID *id);
+
+struct bNodeTree *node_group_edit_get(struct bNode *node);
+struct bNodeTree *node_group_edit_set(struct bNode *node, int edit);
+void node_group_edit_clear(bNode *node);
+
+void node_loop_update_tree(struct bNodeTree *ngroup);
+
+#endif
diff --git a/source/blender/nodes/intern/node_exec.c b/source/blender/nodes/intern/node_exec.c
new file mode 100644
index 00000000000..608347bc258
--- /dev/null
+++ b/source/blender/nodes/intern/node_exec.c
@@ -0,0 +1,309 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Nathan Letwory.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/intern/node_exec.c
+ * \ingroup nodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_math.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_node.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "node_exec.h"
+
+
+/* for a given socket, find the actual stack entry */
+bNodeStack *node_get_socket_stack(bNodeStack *stack, bNodeSocket *sock)
+{
+ return stack + sock->stack_index;
+}
+
+void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out)
+{
+ bNodeSocket *sock;
+
+ /* build pointer stack */
+ if (in) {
+ for(sock= node->inputs.first; sock; sock= sock->next) {
+ *(in++) = node_get_socket_stack(stack, sock);
+ }
+ }
+
+ if (out) {
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ *(out++) = node_get_socket_stack(stack, sock);
+ }
+ }
+}
+
+void node_init_input_index(bNodeSocket *sock, int *index)
+{
+ if (sock->link && sock->link->fromsock) {
+ sock->stack_index = sock->link->fromsock->stack_index;
+ }
+ else {
+ sock->stack_index = (*index)++;
+ }
+}
+
+void node_init_output_index(bNodeSocket *sock, int *index)
+{
+ sock->stack_index = (*index)++;
+}
+
+/* basic preparation of socket stacks */
+static struct bNodeStack *setup_stack(bNodeStack *stack, bNodeSocket *sock)
+{
+ bNodeStack *ns = node_get_socket_stack(stack, sock);
+ float null_value[4]= {0.0f, 0.0f, 0.0f, 0.0f};
+
+ /* don't mess with remote socket stacks, these are initialized by other nodes! */
+ if (sock->link)
+ return ns;
+
+ ns->sockettype = sock->type;
+
+ if (sock->default_value) {
+ switch (sock->type) {
+ case SOCK_FLOAT:
+ ns->vec[0] = ((bNodeSocketValueFloat*)sock->default_value)->value;
+ break;
+ case SOCK_VECTOR:
+ copy_v3_v3(ns->vec, ((bNodeSocketValueVector*)sock->default_value)->value);
+ break;
+ case SOCK_RGBA:
+ copy_v4_v4(ns->vec, ((bNodeSocketValueRGBA*)sock->default_value)->value);
+ break;
+ }
+ }
+ else {
+ switch (sock->type) {
+ case SOCK_FLOAT:
+ ns->vec[0] = 0.0f;
+ break;
+ case SOCK_VECTOR:
+ copy_v3_v3(ns->vec, null_value);
+ break;
+ case SOCK_RGBA:
+ copy_v4_v4(ns->vec, null_value);
+ break;
+ }
+ }
+
+ return ns;
+}
+
+bNodeTreeExec *ntree_exec_begin(bNodeTree *ntree)
+{
+ bNodeTreeExec *exec;
+ bNode *node;
+ bNodeExec *nodeexec;
+ bNodeSocket *sock, *gsock;
+ bNodeStack *ns;
+ int index= 0;
+ bNode **nodelist;
+ int totnodes, n;
+
+ if((ntree->init & NTREE_TYPE_INIT)==0)
+ ntreeInitTypes(ntree);
+
+ /* get a dependency-sorted list of nodes */
+ ntreeGetDependencyList(ntree, &nodelist, &totnodes);
+
+ /* XXX could let callbacks do this for specialized data */
+ exec = MEM_callocN(sizeof(bNodeTreeExec), "node tree execution data");
+ /* backpointer to node tree */
+ exec->nodetree = ntree;
+
+ /* group inputs essentially work as outputs */
+ for(gsock=ntree->inputs.first; gsock; gsock = gsock->next)
+ node_init_output_index(gsock, &index);
+ /* set stack indexes */
+ for(n=0; n < totnodes; ++n) {
+ node = nodelist[n];
+
+ node->stack_index = index;
+
+ /* init node socket stack indexes */
+ for (sock=node->inputs.first; sock; sock=sock->next)
+ node_init_input_index(sock, &index);
+ for (sock=node->outputs.first; sock; sock=sock->next)
+ node_init_output_index(sock, &index);
+ }
+ /* group outputs essentially work as inputs */
+ for(gsock=ntree->outputs.first; gsock; gsock = gsock->next)
+ node_init_input_index(gsock, &index);
+
+ /* allocated exec data pointers for nodes */
+ exec->totnodes = totnodes;
+ exec->nodeexec = MEM_callocN(exec->totnodes * sizeof(bNodeExec), "node execution data");
+ /* allocate data pointer for node stack */
+ exec->stacksize = index;
+ exec->stack = MEM_callocN(exec->stacksize * sizeof(bNodeStack), "bNodeStack");
+
+ /* prepare group tree inputs */
+ for (sock=ntree->inputs.first; sock; sock=sock->next) {
+ ns = setup_stack(exec->stack, sock);
+ if (ns->hasoutput)
+ ns->hasinput = 1;
+ }
+ /* prepare all internal nodes for execution */
+ for(n=0, nodeexec= exec->nodeexec; n < totnodes; ++n, ++nodeexec) {
+ node = nodeexec->node = nodelist[n];
+
+ /* tag inputs */
+ for (sock=node->inputs.first; sock; sock=sock->next) {
+ /* disable the node if an input link is invalid */
+ if(sock->link && !(sock->link->flag & NODE_LINK_VALID))
+ node->need_exec= 0;
+
+ ns = setup_stack(exec->stack, sock);
+ if (ns->hasoutput)
+ ns->hasinput = 1;
+ }
+
+ /* tag all outputs */
+ for (sock=node->outputs.first; sock; sock=sock->next) {
+ ns = setup_stack(exec->stack, sock);
+ ns->hasoutput = 1;
+ }
+
+ if(node->typeinfo->initexecfunc)
+ nodeexec->data = node->typeinfo->initexecfunc(node);
+ }
+ /* prepare group tree outputs */
+ for (sock=ntree->outputs.first; sock; sock=sock->next) {
+ ns = setup_stack(exec->stack, sock);
+ ns->hasoutput = 1;
+ }
+
+ if (nodelist)
+ MEM_freeN(nodelist);
+
+ return exec;
+}
+
+void ntree_exec_end(bNodeTreeExec *exec)
+{
+ bNodeExec *nodeexec;
+ int n;
+
+ if (exec->stack)
+ MEM_freeN(exec->stack);
+
+ for(n=0, nodeexec= exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ if (nodeexec->node->typeinfo->freeexecfunc)
+ nodeexec->node->typeinfo->freeexecfunc(nodeexec->node, nodeexec->data);
+ }
+
+ if (exec->nodeexec)
+ MEM_freeN(exec->nodeexec);
+
+ MEM_freeN(exec);
+}
+
+/**** Compositor/Material/Texture trees ****/
+
+bNodeThreadStack *ntreeGetThreadStack(bNodeTreeExec *exec, int thread)
+{
+ ListBase *lb= &exec->threadstack[thread];
+ bNodeThreadStack *nts;
+
+ for(nts=lb->first; nts; nts=nts->next) {
+ if(!nts->used) {
+ nts->used= 1;
+ break;
+ }
+ }
+
+ if (!nts) {
+ nts= MEM_callocN(sizeof(bNodeThreadStack), "bNodeThreadStack");
+ nts->stack= MEM_dupallocN(exec->stack);
+ nts->used= 1;
+ BLI_addtail(lb, nts);
+ }
+
+ return nts;
+}
+
+void ntreeReleaseThreadStack(bNodeThreadStack *nts)
+{
+ nts->used = 0;
+}
+
+void ntreeExecNodes(bNodeTreeExec *exec, void *callerdata, int thread)
+{
+ bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeExec *nodeexec;
+ bNode *node;
+ int n;
+
+ /* nodes are presorted, so exec is in order of list */
+
+ for(n=0, nodeexec= exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ node = nodeexec->node;
+ if(node->need_exec) {
+ node_get_stack(node, exec->stack, nsin, nsout);
+ if(node->typeinfo->execfunc)
+ node->typeinfo->execfunc(callerdata, node, nsin, nsout);
+ else if (node->typeinfo->newexecfunc)
+ node->typeinfo->newexecfunc(callerdata, thread, node, nodeexec->data, nsin, nsout);
+ }
+ }
+}
+
+void ntreeExecThreadNodes(bNodeTreeExec *exec, bNodeThreadStack *nts, void *callerdata, int thread)
+{
+ bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeExec *nodeexec;
+ bNode *node;
+ int n;
+
+ /* nodes are presorted, so exec is in order of list */
+
+ for(n=0, nodeexec= exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ node = nodeexec->node;
+ if(node->need_exec) {
+ node_get_stack(node, nts->stack, nsin, nsout);
+ if(node->typeinfo->execfunc)
+ node->typeinfo->execfunc(callerdata, node, nsin, nsout);
+ else if (node->typeinfo->newexecfunc)
+ node->typeinfo->newexecfunc(callerdata, thread, node, nodeexec->data, nsin, nsout);
+ }
+ }
+}
diff --git a/source/blender/nodes/intern/node_exec.h b/source/blender/nodes/intern/node_exec.h
new file mode 100644
index 00000000000..567c6ae56cf
--- /dev/null
+++ b/source/blender/nodes/intern/node_exec.h
@@ -0,0 +1,90 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Nathan Letwory.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/intern/node_exec.h
+ * \ingroup nodes
+ */
+
+
+#ifndef NODE_EXEC_H_
+#define NODE_EXEC_H_
+
+#include "DNA_listBase.h"
+
+#include "BLI_utildefines.h"
+
+#include "BKE_node.h"
+
+#include "RNA_types.h"
+
+struct bNodeTree;
+struct bNode;
+struct bNodeStack;
+
+/* Node execution data */
+typedef struct bNodeExec {
+ struct bNode *node; /* backpointer to node */
+ void *data; /* custom data storage */
+} bNodeExec;
+
+/* Execution Data for each instance of node tree execution */
+typedef struct bNodeTreeExec {
+ struct bNodeTree *nodetree; /* backpointer to node tree */
+
+ int totnodes; /* total node count */
+ struct bNodeExec *nodeexec; /* per-node execution data */
+
+ int stacksize;
+ struct bNodeStack *stack; /* socket data stack */
+ /* only used by material and texture trees to keep one stack for each thread */
+ ListBase *threadstack; /* one instance of the stack for each thread */
+} bNodeTreeExec;
+
+/* stores one stack copy for each thread (material and texture trees) */
+typedef struct bNodeThreadStack {
+ struct bNodeThreadStack *next, *prev;
+ struct bNodeStack *stack;
+ int used;
+} bNodeThreadStack;
+
+struct bNodeStack *node_get_socket_stack(struct bNodeStack *stack, struct bNodeSocket *sock);
+void node_get_stack(struct bNode *node, struct bNodeStack *stack, struct bNodeStack **in, struct bNodeStack **out);
+void node_init_input_index(struct bNodeSocket *sock, int *index);
+void node_init_output_index(struct bNodeSocket *sock, int *index);
+
+struct bNodeTreeExec *ntree_exec_begin(struct bNodeTree *ntree);
+void ntree_exec_end(struct bNodeTreeExec *exec);
+
+void ntreeExecNodes(struct bNodeTreeExec *exec, void *callerdata, int thread);
+
+struct bNodeThreadStack *ntreeGetThreadStack(struct bNodeTreeExec *exec, int thread);
+void ntreeReleaseThreadStack(struct bNodeThreadStack *nts);
+void ntreeExecThreadNodes(struct bNodeTreeExec *exec, struct bNodeThreadStack *nts, void *callerdata, int thread);
+
+#endif
diff --git a/source/blender/nodes/intern/node_socket.c b/source/blender/nodes/intern/node_socket.c
new file mode 100644
index 00000000000..aabaf5b86de
--- /dev/null
+++ b/source/blender/nodes/intern/node_socket.c
@@ -0,0 +1,433 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Lukas Toennne
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/intern/node_socket.c
+ * \ingroup nodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "DNA_mesh_types.h"
+#include "DNA_meshdata_types.h"
+#include "DNA_object_types.h"
+#include "DNA_scene_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_math.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_DerivedMesh.h"
+#include "BKE_node.h"
+
+#include "RNA_access.h"
+#include "RNA_types.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "NOD_socket.h"
+
+/****************** FLOAT ******************/
+
+static bNodeSocketType node_socket_type_float = {
+ /* type */ SOCK_FLOAT,
+ /* ui_name */ "Float",
+ /* ui_description */ "Floating Point",
+ /* ui_icon */ 0,
+ /* ui_color */ {160,160,160,255},
+
+ /* value_structname */ "bNodeSocketValueFloat",
+ /* value_structsize */ sizeof(bNodeSocketValueFloat),
+
+ /* buttonfunc */ NULL,
+};
+
+/****************** VECTOR ******************/
+
+static bNodeSocketType node_socket_type_vector = {
+ /* type */ SOCK_VECTOR,
+ /* ui_name */ "Vector",
+ /* ui_description */ "3-dimensional floating point vector",
+ /* ui_icon */ 0,
+ /* ui_color */ {100,100,200,255},
+
+ /* value_structname */ "bNodeSocketValueVector",
+ /* value_structsize */ sizeof(bNodeSocketValueVector),
+
+ /* buttonfunc */ NULL,
+};
+
+/****************** RGBA ******************/
+
+static bNodeSocketType node_socket_type_rgba = {
+ /* type */ SOCK_RGBA,
+ /* ui_name */ "RGBA",
+ /* ui_description */ "RGBA color",
+ /* ui_icon */ 0,
+ /* ui_color */ {200,200,40,255},
+
+ /* value_structname */ "bNodeSocketValueRGBA",
+ /* value_structsize */ sizeof(bNodeSocketValueRGBA),
+
+ /* buttonfunc */ NULL,
+};
+
+/****************** INT ******************/
+
+static bNodeSocketType node_socket_type_int = {
+ /* type */ SOCK_INT,
+ /* ui_name */ "Int",
+ /* ui_description */ "Integer",
+ /* ui_icon */ 0,
+ /* ui_color */ {17,133,37,255},
+
+ /* value_structname */ "bNodeSocketValueInt",
+ /* value_structsize */ sizeof(bNodeSocketValueInt),
+
+ /* buttonfunc */ NULL,
+};
+
+/****************** BOOLEAN ******************/
+
+static bNodeSocketType node_socket_type_boolean = {
+ /* type */ SOCK_BOOLEAN,
+ /* ui_name */ "Boolean",
+ /* ui_description */ "Boolean",
+ /* ui_icon */ 0,
+ /* ui_color */ {158,139,63,255},
+
+ /* value_structname */ "bNodeSocketValueBoolean",
+ /* value_structsize */ sizeof(bNodeSocketValueBoolean),
+
+ /* buttonfunc */ NULL,
+};
+
+/****************** MESH ******************/
+
+static bNodeSocketType node_socket_type_mesh = {
+ /* type */ SOCK_MESH,
+ /* ui_name */ "Mesh",
+ /* ui_description */ "Mesh geometry data",
+ /* ui_icon */ 0,
+ /* ui_color */ {255,133,7,255},
+
+ /* value_structname */ NULL,
+ /* value_structsize */ 0,
+
+ /* buttonfunc */ NULL,
+};
+
+
+void node_socket_type_init(bNodeSocketType *types[])
+{
+ #define INIT_TYPE(name) types[node_socket_type_##name.type] = &node_socket_type_##name;
+
+ INIT_TYPE(float);
+ INIT_TYPE(vector);
+ INIT_TYPE(rgba);
+ INIT_TYPE(int);
+ INIT_TYPE(boolean);
+ INIT_TYPE(mesh);
+
+ #undef INIT_TYPE
+}
+
+struct bNodeSocket *nodeAddInputInt(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype,
+ int value, int min, int max)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_INT);
+ bNodeSocketValueInt *dval= (bNodeSocketValueInt*)sock->default_value;
+ dval->subtype = subtype;
+ dval->value = value;
+ dval->min = min;
+ dval->max = max;
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputInt(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_INT);
+ return sock;
+}
+
+struct bNodeSocket *nodeAddInputFloat(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype,
+ float value, float min, float max)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_FLOAT);
+ bNodeSocketValueFloat *dval= (bNodeSocketValueFloat*)sock->default_value;
+ dval->subtype = subtype;
+ dval->value = value;
+ dval->min = min;
+ dval->max = max;
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputFloat(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_FLOAT);
+ return sock;
+}
+
+struct bNodeSocket *nodeAddInputBoolean(struct bNodeTree *ntree, struct bNode *node, const char *name, char value)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_BOOLEAN);
+ bNodeSocketValueBoolean *dval= (bNodeSocketValueBoolean*)sock->default_value;
+ dval->value = value;
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputBoolean(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_BOOLEAN);
+ return sock;
+}
+
+struct bNodeSocket *nodeAddInputVector(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype,
+ float x, float y, float z, float min, float max)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_VECTOR);
+ bNodeSocketValueVector *dval= (bNodeSocketValueVector*)sock->default_value;
+ dval->subtype = subtype;
+ dval->value[0] = x;
+ dval->value[1] = y;
+ dval->value[2] = z;
+ dval->min = min;
+ dval->max = max;
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputVector(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_VECTOR);
+ return sock;
+}
+
+struct bNodeSocket *nodeAddInputRGBA(struct bNodeTree *ntree, struct bNode *node, const char *name,
+ float r, float g, float b, float a)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_RGBA);
+ bNodeSocketValueRGBA *dval= (bNodeSocketValueRGBA*)sock->default_value;
+ dval->value[0] = r;
+ dval->value[1] = g;
+ dval->value[2] = b;
+ dval->value[3] = a;
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputRGBA(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_RGBA);
+ return sock;
+}
+
+struct bNodeSocket *nodeAddInputMesh(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_MESH);
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputMesh(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_MESH);
+ return sock;
+}
+
+struct bNodeSocket *node_add_input_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp)
+{
+ bNodeSocket *sock;
+ switch (stemp->type) {
+ case SOCK_INT:
+ sock = nodeAddInputInt(ntree, node, stemp->name, stemp->subtype, (int)stemp->val1, (int)stemp->min, (int)stemp->max);
+ break;
+ case SOCK_FLOAT:
+ sock = nodeAddInputFloat(ntree, node, stemp->name, stemp->subtype, stemp->val1, stemp->min, stemp->max);
+ break;
+ case SOCK_BOOLEAN:
+ sock = nodeAddInputBoolean(ntree, node, stemp->name, (char)stemp->val1);
+ break;
+ case SOCK_VECTOR:
+ sock = nodeAddInputVector(ntree, node, stemp->name, stemp->subtype, stemp->val1, stemp->val2, stemp->val3, stemp->min, stemp->max);
+ break;
+ case SOCK_RGBA:
+ sock = nodeAddInputRGBA(ntree, node, stemp->name, stemp->val1, stemp->val2, stemp->val3, stemp->val4);
+ break;
+ case SOCK_MESH:
+ sock = nodeAddInputMesh(ntree, node, stemp->name);
+ break;
+ default:
+ sock = nodeAddSocket(ntree, node, SOCK_IN, stemp->name, stemp->type);
+ }
+ return sock;
+}
+
+struct bNodeSocket *node_add_output_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp)
+{
+ bNodeSocket *sock;
+ switch (stemp->type) {
+ case SOCK_INT:
+ sock = nodeAddOutputInt(ntree, node, stemp->name);
+ break;
+ case SOCK_FLOAT:
+ sock = nodeAddOutputFloat(ntree, node, stemp->name);
+ break;
+ case SOCK_BOOLEAN:
+ sock = nodeAddOutputBoolean(ntree, node, stemp->name);
+ break;
+ case SOCK_VECTOR:
+ sock = nodeAddOutputVector(ntree, node, stemp->name);
+ break;
+ case SOCK_RGBA:
+ sock = nodeAddOutputRGBA(ntree, node, stemp->name);
+ break;
+ case SOCK_MESH:
+ sock = nodeAddOutputMesh(ntree, node, stemp->name);
+ break;
+ default:
+ sock = nodeAddSocket(ntree, node, SOCK_OUT, stemp->name, stemp->type);
+ }
+ return sock;
+}
+
+static bNodeSocket *verify_socket_template(bNodeTree *ntree, bNode *node, int in_out, ListBase *socklist, bNodeSocketTemplate *stemp)
+{
+ bNodeSocket *sock;
+
+ for(sock= socklist->first; sock; sock= sock->next) {
+ if(!(sock->flag & SOCK_DYNAMIC) && strncmp(sock->name, stemp->name, NODE_MAXSTR)==0)
+ break;
+ }
+ if(sock) {
+ sock->type= stemp->type; /* in future, read this from tydefs! */
+ if(stemp->limit==0) sock->limit= 0xFFF;
+ else sock->limit= stemp->limit;
+
+ /* Copy the property range and subtype parameters in case the template changed.
+ * NOT copying the actual value here, only button behavior changes!
+ */
+ switch (sock->type) {
+ case SOCK_FLOAT:
+ {
+ bNodeSocketValueFloat *dval= sock->default_value;
+ dval->min = stemp->min;
+ dval->max = stemp->max;
+ dval->subtype = stemp->subtype;
+ }
+ break;
+ case SOCK_INT:
+ {
+ bNodeSocketValueInt *dval= sock->default_value;
+ dval->min = stemp->min;
+ dval->max = stemp->max;
+ dval->subtype = stemp->subtype;
+ }
+ break;
+ case SOCK_VECTOR:
+ {
+ bNodeSocketValueVector *dval= sock->default_value;
+ dval->min = stemp->min;
+ dval->max = stemp->max;
+ dval->subtype = stemp->subtype;
+ }
+ break;
+ }
+
+ BLI_remlink(socklist, sock);
+
+ return sock;
+ }
+ else {
+ /* no socket for this template found, make a new one */
+ if (in_out==SOCK_IN)
+ sock = node_add_input_from_template(ntree, node, stemp);
+ else
+ sock = node_add_output_from_template(ntree, node, stemp);
+ /* remove the new socket from the node socket list first,
+ * will be added back after verification.
+ */
+ BLI_remlink(socklist, sock);
+ }
+
+ return sock;
+}
+
+static void verify_socket_template_list(bNodeTree *ntree, bNode *node, int in_out, ListBase *socklist, bNodeSocketTemplate *stemp_first)
+{
+ bNodeSocket *sock;
+ bNodeSocketTemplate *stemp;
+
+ /* no inputs anymore? */
+ if(stemp_first==NULL) {
+ while(socklist->first) {
+ sock = (bNodeSocket*)socklist->first;
+ if (!(sock->flag & SOCK_DYNAMIC))
+ nodeRemoveSocket(ntree, node, socklist->first);
+ }
+ }
+ else {
+ /* step by step compare */
+ stemp= stemp_first;
+ while(stemp->type != -1) {
+ stemp->sock= verify_socket_template(ntree, node, in_out, socklist, stemp);
+ stemp++;
+ }
+ /* leftovers are removed */
+ while(socklist->first) {
+ sock = (bNodeSocket*)socklist->first;
+ if (!(sock->flag & SOCK_DYNAMIC))
+ nodeRemoveSocket(ntree, node, socklist->first);
+ }
+
+ /* and we put back the verified sockets */
+ stemp= stemp_first;
+ if (socklist->first) {
+ /* some dynamic sockets left, store the list start
+ * so we can add static sockets infront of it.
+ */
+ sock = socklist->first;
+ while(stemp->type != -1) {
+ /* put static sockets infront of dynamic */
+ BLI_insertlinkbefore(socklist, sock, stemp->sock);
+ stemp++;
+ }
+ }
+ else {
+ while(stemp->type != -1) {
+ BLI_addtail(socklist, stemp->sock);
+ stemp++;
+ }
+ }
+ }
+}
+
+void node_verify_socket_templates(bNodeTree *ntree, bNode *node)
+{
+ bNodeType *ntype= node->typeinfo;
+ /* XXX Small trick: don't try to match socket lists when there are no templates.
+ * This also prevents group node sockets from being removed, without the need to explicitly
+ * check the node type here.
+ */
+ if(ntype && ((ntype->inputs && ntype->inputs[0].type>=0) || (ntype->outputs && ntype->outputs[0].type>=0))) {
+ verify_socket_template_list(ntree, node, SOCK_IN, &node->inputs, ntype->inputs);
+ verify_socket_template_list(ntree, node, SOCK_OUT, &node->outputs, ntype->outputs);
+ }
+}
diff --git a/source/blender/nodes/intern/node_util.c b/source/blender/nodes/intern/node_util.c
index 1cc8c282179..bdf53df06af 100644
--- a/source/blender/nodes/intern/node_util.c
+++ b/source/blender/nodes/intern/node_util.c
@@ -32,12 +32,24 @@
*/
-#include "CMP_util.h"
-#include "SHD_util.h"
+#include "DNA_action_types.h"
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_colortools.h"
+#include "BKE_node.h"
#include "RNA_access.h"
#include "RNA_enum_types.h"
+#include "MEM_guardedalloc.h"
+
+#include "node_util.h"
+
+/**** Storage Data ****/
+
void node_free_curves(bNode *node)
{
curvemapping_free(node->storage);
@@ -58,6 +70,8 @@ void node_copy_standard_storage(bNode *orig_node, bNode *new_node)
new_node->storage= MEM_dupallocN(orig_node->storage);
}
+/**** Labels ****/
+
const char *node_blend_label(bNode *node)
{
const char *name;
diff --git a/source/blender/nodes/intern/node_util.h b/source/blender/nodes/intern/node_util.h
index 5a78fc07883..8d38d57f577 100644
--- a/source/blender/nodes/intern/node_util.h
+++ b/source/blender/nodes/intern/node_util.h
@@ -35,14 +35,27 @@
#ifndef NODE_UTIL_H_
#define NODE_UTIL_H_
+#include "DNA_listBase.h"
+
+#include "BKE_node.h"
+
#include "MEM_guardedalloc.h"
+#include "NOD_socket.h"
+
+struct bNodeTree;
+struct bNode;
+
+/**** Storage Data ****/
+
extern void node_free_curves(struct bNode *node);
extern void node_free_standard_storage(struct bNode *node);
extern void node_copy_curves(struct bNode *orig_node, struct bNode *new_node);
extern void node_copy_standard_storage(struct bNode *orig_node, struct bNode *new_node);
+/**** Labels ****/
+
const char *node_blend_label(struct bNode *node);
const char *node_math_label(struct bNode *node);
const char *node_vect_math_label(struct bNode *node);
diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c
new file mode 100644
index 00000000000..642e4be10d7
--- /dev/null
+++ b/source/blender/nodes/shader/node_shader_tree.c
@@ -0,0 +1,226 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s):
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/shader/node_shader_tree.c
+ * \ingroup nodes
+ */
+
+
+#include <string.h>
+
+#include "DNA_material_types.h"
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_math.h"
+#include "BLI_threads.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_global.h"
+#include "BKE_main.h"
+#include "BKE_node.h"
+#include "BKE_utildefines.h"
+
+#include "GPU_material.h"
+
+#include "RE_shader_ext.h"
+
+#include "node_exec.h"
+#include "node_util.h"
+#include "node_shader_util.h"
+
+static void foreach_nodetree(Main *main, void *calldata, bNodeTreeCallback func)
+{
+ Material *ma;
+ for(ma= main->mat.first; ma; ma= ma->id.next) {
+ if(ma->nodetree) {
+ func(calldata, &ma->id, ma->nodetree);
+ }
+ }
+}
+
+static void local_sync(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNode *lnode;
+
+ /* copy over contents of previews */
+ for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
+ if(ntreeNodeExists(ntree, lnode->new_node)) {
+ bNode *node= lnode->new_node;
+
+ if(node->preview && node->preview->rect) {
+ if(lnode->preview && lnode->preview->rect) {
+ int xsize= node->preview->xsize;
+ int ysize= node->preview->ysize;
+ memcpy(node->preview->rect, lnode->preview->rect, 4*xsize + xsize*ysize*sizeof(char)*4);
+ }
+ }
+ }
+ }
+}
+
+bNodeTreeType ntreeType_Shader = {
+ /* type */ NTREE_SHADER,
+ /* id_name */ "NTShader Nodetree",
+
+ /* node_types */ { NULL, NULL },
+
+ /* free_cache */ NULL,
+ /* free_node_cache */ NULL,
+ /* foreach_nodetree */ foreach_nodetree,
+ /* localize */ NULL,
+ /* local_sync */ local_sync,
+ /* local_merge */ NULL,
+ /* update */ NULL,
+ /* update_node */ NULL
+};
+
+/* GPU material from shader nodes */
+
+void ntreeGPUMaterialNodes(bNodeTree *ntree, GPUMaterial *mat)
+{
+ bNodeTreeExec *exec;
+
+ if(!ntree->execdata)
+ exec = ntreeShaderBeginExecTree(ntree, 1);
+
+ ntreeExecGPUNodes(exec, mat, 1);
+
+ ntreeShaderEndExecTree(exec, 1);
+}
+
+/* **************** call to switch lamploop for material node ************ */
+
+void (*node_shader_lamp_loop)(struct ShadeInput *, struct ShadeResult *);
+
+void set_node_shader_lamp_loop(void (*lamp_loop_func)(ShadeInput *, ShadeResult *))
+{
+ node_shader_lamp_loop= lamp_loop_func;
+}
+
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+bNodeTreeExec *ntreeShaderBeginExecTree(bNodeTree *ntree, int use_tree_data)
+{
+ bNodeTreeExec *exec;
+ bNode *node;
+
+ if (use_tree_data) {
+ /* XXX hack: prevent exec data from being generated twice.
+ * this should be handled by the renderer!
+ */
+ if (ntree->execdata)
+ return ntree->execdata;
+ }
+
+ /* ensures only a single output node is enabled */
+ ntreeSetOutput(ntree);
+
+ /* common base initialization */
+ exec = ntree_exec_begin(ntree);
+
+ /* allocate the thread stack listbase array */
+ exec->threadstack= MEM_callocN(BLENDER_MAX_THREADS*sizeof(ListBase), "thread stack array");
+
+ for(node= exec->nodetree->nodes.first; node; node= node->next)
+ node->need_exec= 1;
+
+ if (use_tree_data) {
+ /* XXX this should not be necessary, but is still used for cmp/sha/tex nodes,
+ * which only store the ntree pointer. Should be fixed at some point!
+ */
+ ntree->execdata = exec;
+ }
+
+ return exec;
+}
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+void ntreeShaderEndExecTree(bNodeTreeExec *exec, int use_tree_data)
+{
+ if(exec) {
+ bNodeTree *ntree= exec->nodetree;
+ bNodeThreadStack *nts;
+ int a;
+
+ if(exec->threadstack) {
+ for(a=0; a<BLENDER_MAX_THREADS; a++) {
+ for(nts=exec->threadstack[a].first; nts; nts=nts->next)
+ if (nts->stack) MEM_freeN(nts->stack);
+ BLI_freelistN(&exec->threadstack[a]);
+ }
+
+ MEM_freeN(exec->threadstack);
+ exec->threadstack= NULL;
+ }
+
+ ntree_exec_end(exec);
+
+ if (use_tree_data) {
+ /* XXX clear nodetree backpointer to exec data, same problem as noted in ntreeBeginExecTree */
+ ntree->execdata = NULL;
+ }
+ }
+}
+
+void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr)
+{
+ ShaderCallData scd;
+ /*
+ @note: preserve material from ShadeInput for material id, nodetree execs change it
+ fix for bug "[#28012] Mat ID messy with shader nodes"
+ */
+ Material *mat = shi->mat; bNodeThreadStack *nts = NULL;
+ bNodeTreeExec *exec = ntree->execdata;
+
+ /* convert caller data to struct */
+ scd.shi= shi;
+ scd.shr= shr;
+
+ /* each material node has own local shaderesult, with optional copying */
+ memset(shr, 0, sizeof(ShadeResult));
+
+ if (!exec)
+ exec = ntree->execdata = ntreeShaderBeginExecTree(exec->nodetree, 1);
+
+ nts= ntreeGetThreadStack(exec, shi->thread);
+ ntreeExecThreadNodes(exec, nts, &scd, shi->thread);
+ ntreeReleaseThreadStack(nts);
+
+ // @note: set material back to preserved material
+ shi->mat = mat;
+ /* better not allow negative for now */
+ if(shr->combined[0]<0.0f) shr->combined[0]= 0.0f;
+ if(shr->combined[1]<0.0f) shr->combined[1]= 0.0f;
+ if(shr->combined[2]<0.0f) shr->combined[2]= 0.0f;
+}
diff --git a/source/blender/nodes/shader/node_shader_util.c b/source/blender/nodes/shader/node_shader_util.c
new file mode 100644
index 00000000000..01dd0f7d5a1
--- /dev/null
+++ b/source/blender/nodes/shader/node_shader_util.c
@@ -0,0 +1,287 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2005 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/shader/node_shader_util.c
+ * \ingroup nodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "node_shader_util.h"
+
+#include "node_exec.h"
+
+/* ****** */
+
+void nodestack_get_vec(float *in, short type_in, bNodeStack *ns)
+{
+ float *from= ns->vec;
+
+ if(type_in==SOCK_FLOAT) {
+ if(ns->sockettype==SOCK_FLOAT)
+ *in= *from;
+ else
+ *in= 0.333333f*(from[0]+from[1]+from[2]);
+ }
+ else if(type_in==SOCK_VECTOR) {
+ if(ns->sockettype==SOCK_FLOAT) {
+ in[0]= from[0];
+ in[1]= from[0];
+ in[2]= from[0];
+ }
+ else {
+ VECCOPY(in, from);
+ }
+ }
+ else { /* type_in==SOCK_RGBA */
+ if(ns->sockettype==SOCK_RGBA) {
+ QUATCOPY(in, from);
+ }
+ else if(ns->sockettype==SOCK_FLOAT) {
+ in[0]= from[0];
+ in[1]= from[0];
+ in[2]= from[0];
+ in[3]= 1.0f;
+ }
+ else {
+ VECCOPY(in, from);
+ in[3]= 1.0f;
+ }
+ }
+}
+
+
+/* ******************* execute and parse ************ */
+
+/* go over all used Geometry and Texture nodes, and return a texco flag */
+/* no group inside needed, this function is called for groups too */
+void ntreeShaderGetTexcoMode(bNodeTree *ntree, int r_mode, short *texco, int *mode)
+{
+ bNode *node;
+ bNodeSocket *sock;
+ int a;
+
+ ntreeSocketUseFlags(ntree);
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type==SH_NODE_TEXTURE) {
+ if((r_mode & R_OSA) && node->id) {
+ Tex *tex= (Tex *)node->id;
+ if ELEM3(tex->type, TEX_IMAGE, TEX_PLUGIN, TEX_ENVMAP)
+ *texco |= TEXCO_OSA|NEED_UV;
+ }
+ /* usability exception... without input we still give the node orcos */
+ sock= node->inputs.first;
+ if(sock==NULL || sock->link==NULL)
+ *texco |= TEXCO_ORCO|NEED_UV;
+ }
+ else if(node->type==SH_NODE_GEOMETRY) {
+ /* note; sockets always exist for the given type! */
+ for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
+ if(sock->flag & SOCK_IN_USE) {
+ switch(a) {
+ case GEOM_OUT_GLOB:
+ *texco |= TEXCO_GLOB|NEED_UV; break;
+ case GEOM_OUT_VIEW:
+ *texco |= TEXCO_VIEW|NEED_UV; break;
+ case GEOM_OUT_ORCO:
+ *texco |= TEXCO_ORCO|NEED_UV; break;
+ case GEOM_OUT_UV:
+ *texco |= TEXCO_UV|NEED_UV; break;
+ case GEOM_OUT_NORMAL:
+ *texco |= TEXCO_NORM|NEED_UV; break;
+ case GEOM_OUT_VCOL:
+ *texco |= NEED_UV; *mode |= MA_VERTEXCOL; break;
+ }
+ }
+ }
+ }
+ }
+}
+
+/* nodes that use ID data get synced with local data */
+void nodeShaderSynchronizeID(bNode *node, int copyto)
+{
+ if(node->id==NULL) return;
+
+ if(ELEM(node->type, SH_NODE_MATERIAL, SH_NODE_MATERIAL_EXT)) {
+ bNodeSocket *sock;
+ Material *ma= (Material *)node->id;
+ int a;
+
+ /* hrmf, case in loop isnt super fast, but we dont edit 100s of material at same time either! */
+ for(a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
+ if(!(sock->flag & SOCK_HIDDEN)) {
+ if(copyto) {
+ switch(a) {
+ case MAT_IN_COLOR:
+ VECCOPY(&ma->r, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
+ case MAT_IN_SPEC:
+ VECCOPY(&ma->specr, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
+ case MAT_IN_REFL:
+ ma->ref= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_MIR:
+ VECCOPY(&ma->mirr, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
+ case MAT_IN_AMB:
+ ma->amb= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_EMIT:
+ ma->emit= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_SPECTRA:
+ ma->spectra= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_RAY_MIRROR:
+ ma->ray_mirror= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_ALPHA:
+ ma->alpha= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_TRANSLUCENCY:
+ ma->translucency= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ }
+ }
+ else {
+ switch(a) {
+ case MAT_IN_COLOR:
+ VECCOPY(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->r); break;
+ case MAT_IN_SPEC:
+ VECCOPY(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->specr); break;
+ case MAT_IN_REFL:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->ref; break;
+ case MAT_IN_MIR:
+ VECCOPY(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->mirr); break;
+ case MAT_IN_AMB:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->amb; break;
+ case MAT_IN_EMIT:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->emit; break;
+ case MAT_IN_SPECTRA:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->spectra; break;
+ case MAT_IN_RAY_MIRROR:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->ray_mirror; break;
+ case MAT_IN_ALPHA:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->alpha; break;
+ case MAT_IN_TRANSLUCENCY:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->translucency; break;
+ }
+ }
+ }
+ }
+ }
+
+}
+
+
+void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, bNodeStack *ns)
+{
+ memset(gs, 0, sizeof(*gs));
+
+ QUATCOPY(gs->vec, ns->vec);
+ gs->link= ns->data;
+
+ if (type == SOCK_FLOAT)
+ gs->type= GPU_FLOAT;
+ else if (type == SOCK_VECTOR)
+ gs->type= GPU_VEC3;
+ else if (type == SOCK_RGBA)
+ gs->type= GPU_VEC4;
+ else
+ gs->type= GPU_NONE;
+
+ gs->name = "";
+ gs->hasinput= ns->hasinput && ns->data;
+ gs->hasoutput= ns->hasoutput && ns->data;
+ gs->sockettype= ns->sockettype;
+}
+
+void node_data_from_gpu_stack(bNodeStack *ns, GPUNodeStack *gs)
+{
+ ns->data= gs->link;
+ ns->sockettype= gs->sockettype;
+}
+
+static void gpu_stack_from_data_list(GPUNodeStack *gs, ListBase *sockets, bNodeStack **ns)
+{
+ bNodeSocket *sock;
+ int i;
+
+ for (sock=sockets->first, i=0; sock; sock=sock->next, i++)
+ node_gpu_stack_from_data(&gs[i], sock->type, ns[i]);
+
+ gs[i].type= GPU_NONE;
+}
+
+static void data_from_gpu_stack_list(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
+{
+ bNodeSocket *sock;
+ int i;
+
+ for (sock=sockets->first, i=0; sock; sock=sock->next, i++)
+ node_data_from_gpu_stack(ns[i], &gs[i]);
+}
+
+void ntreeExecGPUNodes(bNodeTreeExec *exec, GPUMaterial *mat, int do_outputs)
+{
+ bNodeExec *nodeexec;
+ bNode *node;
+ int n;
+ bNodeStack *stack;
+ bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
+ GPUNodeStack gpuin[MAX_SOCKET+1], gpuout[MAX_SOCKET+1];
+ int doit;
+
+ stack= exec->stack;
+
+ for(n=0, nodeexec= exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ node = nodeexec->node;
+
+ doit = 0;
+ /* for groups, only execute outputs for edited group */
+ if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
+ if(do_outputs && (node->flag & NODE_DO_OUTPUT))
+ doit = 1;
+ }
+ else
+ doit = 1;
+
+ if (doit) {
+ if(node->typeinfo->gpufunc) {
+ node_get_stack(node, stack, nsin, nsout);
+ gpu_stack_from_data_list(gpuin, &node->inputs, nsin);
+ gpu_stack_from_data_list(gpuout, &node->outputs, nsout);
+ if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout))
+ data_from_gpu_stack_list(&node->outputs, nsout, gpuout);
+ }
+ else if(node->typeinfo->gpuextfunc) {
+ node_get_stack(node, stack, nsin, nsout);
+ gpu_stack_from_data_list(gpuin, &node->inputs, nsin);
+ gpu_stack_from_data_list(gpuout, &node->outputs, nsout);
+ if(node->typeinfo->gpuextfunc(mat, node, nodeexec->data, gpuin, gpuout))
+ data_from_gpu_stack_list(&node->outputs, nsout, gpuout);
+ }
+ }
+ }
+}
diff --git a/source/blender/nodes/intern/SHD_util.h b/source/blender/nodes/shader/node_shader_util.h
index e6b1377067d..4c929c93517 100644
--- a/source/blender/nodes/intern/SHD_util.h
+++ b/source/blender/nodes/shader/node_shader_util.h
@@ -27,13 +27,13 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_util.h
+/** \file blender/nodes/shader/node_shader_util.h
* \ingroup nodes
*/
-#ifndef SHD_NODE_UTIL_H_
-#define SHD_NODE_UTIL_H_
+#ifndef NODE_SHADER_UTIL_H_
+#define NODE_SHADER_UTIL_H_
#include <math.h>
#include <float.h>
@@ -61,7 +61,7 @@
#include "BKE_library.h"
-#include "../SHD_node.h"
+#include "NOD_shader.h"
#include "node_util.h"
#include "BLI_math.h"
@@ -122,4 +122,9 @@ typedef struct ShaderCallData {
extern void node_ID_title_cb(void *node_v, void *unused_v);
void nodestack_get_vec(float *in, short type_in, bNodeStack *ns);
+void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, struct bNodeStack *ns);
+void node_data_from_gpu_stack(struct bNodeStack *ns, struct GPUNodeStack *gs);
+
+void ntreeExecGPUNodes(struct bNodeTreeExec *exec, struct GPUMaterial *mat, int do_outputs);
+
#endif
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_camera.c b/source/blender/nodes/shader/nodes/node_shader_camera.c
index eea572bf271..c1e737fcb53 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_camera.c
+++ b/source/blender/nodes/shader/nodes/node_shader_camera.c
@@ -27,18 +27,18 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_camera.c
+/** \file blender/nodes/shader/nodes/node_shader_camera.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** CAMERA INFO ******************** */
-static bNodeSocketType sh_node_camera_out[]= {
- { SOCK_VECTOR, 0, "View Vector", 1.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f}, /* None of these actually */
- { SOCK_VALUE, 0, "View Z Depth", 0.f, 0.0f, 0.0f, 0.0f, 0.0f, 99999999999.0f}, /* have any limits on their */
- { SOCK_VALUE, 0, "View Distance", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 99999999999.0f}, /* values. */
+static bNodeSocketTemplate sh_node_camera_out[]= {
+ { SOCK_VECTOR, 0, "View Vector"},
+ { SOCK_FLOAT, 0, "View Z Depth"},
+ { SOCK_FLOAT, 0, "View Distance"},
{ -1, 0, "" }
};
@@ -63,8 +63,8 @@ void register_node_type_sh_camera(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_CAMERA, "Camera Data", NODE_CLASS_INPUT, 0,
- NULL, sh_node_camera_out);
+ node_type_base(&ntype, SH_NODE_CAMERA, "Camera Data", NODE_CLASS_INPUT, 0);
+ node_type_socket_templates(&ntype, NULL, sh_node_camera_out);
node_type_size(&ntype, 95, 95, 120);
node_type_storage(&ntype, "node_camera", NULL, NULL);
node_type_exec(&ntype, node_shader_exec_camera);
diff --git a/source/blender/nodes/shader/nodes/node_shader_common.c b/source/blender/nodes/shader/nodes/node_shader_common.c
new file mode 100644
index 00000000000..2dd15ab1e99
--- /dev/null
+++ b/source/blender/nodes/shader/nodes/node_shader_common.c
@@ -0,0 +1,327 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2006 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Campbell Barton, Alfredo de Greef, David Millan Escriva,
+ * Juho Vepsäläinen
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/shader/nodes/node_shader_common.c
+ * \ingroup shdnodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "BKE_node.h"
+
+#include "node_shader_util.h"
+#include "node_common.h"
+#include "node_exec.h"
+
+static void copy_stack(bNodeStack *to, bNodeStack *from)
+{
+ if (to != from) {
+ copy_v4_v4(to->vec, from->vec);
+ to->data = from->data;
+ to->datatype = from->datatype;
+
+ /* tag as copy to prevent freeing */
+ to->is_copy = 1;
+ }
+}
+
+static void move_stack(bNodeStack *to, bNodeStack *from)
+{
+ if (to != from) {
+ copy_v4_v4(to->vec, from->vec);
+ to->data = from->data;
+ to->datatype = from->datatype;
+ to->is_copy = from->is_copy;
+
+ zero_v4(from->vec);
+ from->data = NULL;
+ from->datatype = 0;
+ from->is_copy = 0;
+ }
+}
+
+/**** GROUP ****/
+
+static void *group_initexec(bNode *node)
+{
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ bNodeTreeExec *exec;
+
+ /* initialize the internal node tree execution */
+ exec = ntreeShaderBeginExecTree(ngroup, 0);
+
+ return exec;
+}
+
+static void group_freeexec(bNode *UNUSED(node), void *nodedata)
+{
+ bNodeTreeExec*gexec= (bNodeTreeExec*)nodedata;
+
+ ntreeShaderEndExecTree(gexec, 0);
+}
+
+/* Copy inputs to the internal stack.
+ */
+static void group_copy_inputs(bNode *node, bNodeStack **in, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->inputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ copy_stack(ns, in[a]);
+ }
+ }
+}
+
+/* Copy internal results to the external outputs.
+ */
+static void group_move_outputs(bNode *node, bNodeStack **out, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->outputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ move_stack(out[a], ns);
+ }
+ }
+}
+
+static void group_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ group_copy_inputs(node, in, nts->stack);
+ ntreeExecThreadNodes(exec, nts, data, thread);
+ group_move_outputs(node, out, nts->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+static void group_gpu_copy_inputs(bNode *node, GPUNodeStack *in, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->inputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ /* convert the external gpu stack back to internal node stack data */
+ node_data_from_gpu_stack(ns, &in[a]);
+ }
+ }
+}
+
+/* Copy internal results to the external outputs.
+ */
+static void group_gpu_move_outputs(bNode *node, GPUNodeStack *out, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->outputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ /* convert the node stack data result back to gpu stack */
+ node_gpu_stack_from_data(&out[a], sock->type, ns);
+ }
+ }
+}
+
+static int gpu_group_execute(GPUMaterial *mat, bNode *node, void *nodedata, GPUNodeStack *in, GPUNodeStack *out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+
+ group_gpu_copy_inputs(node, in, exec->stack);
+ ntreeExecGPUNodes(exec, mat, (node->flag & NODE_GROUP_EDIT));
+ group_gpu_move_outputs(node, out, exec->stack);
+
+ return 1;
+}
+
+void register_node_type_sh_group(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS|NODE_CONST_OUTPUT);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_group_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_group_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, group_execute);
+ node_type_gpu_ext(&ntype, gpu_group_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+
+
+/**** FOR LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+static void forloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+ int iterations= (int)in[0]->vec[0];
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ /* "Iteration" socket */
+ sock = exec->nodetree->inputs.first;
+ ns = node_get_socket_stack(nts->stack, sock);
+
+// group_copy_inputs(node, in, nts->stack);
+ for (iteration=0; iteration < iterations; ++iteration) {
+ /* first input contains current iteration counter */
+ ns->vec[0] = (float)iteration;
+ ns->vec[1]=ns->vec[2]=ns->vec[3] = 0.0f;
+
+// if (iteration > 0)
+// loop_init_iteration(exec->nodetree, nts->stack);
+// ntreeExecThreadNodes(exec, nts, data, thread);
+ }
+// loop_copy_outputs(node, in, out, exec->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+void register_node_type_sh_forloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_FORLOOP, "For", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_forloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_forloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_forloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, forloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
+
+/**** WHILE LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+static void whileloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+ int condition= (in[0]->vec[0] > 0.0f);
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ /* "Condition" socket */
+ sock = exec->nodetree->outputs.first;
+ ns = node_get_socket_stack(nts->stack, sock);
+
+ iteration = 0;
+// group_copy_inputs(node, in, nts->stack);
+ while (condition && iteration < node->custom1) {
+// if (iteration > 0)
+// loop_init_iteration(exec->nodetree, nts->stack);
+// ntreeExecThreadNodes(exec, nts, data, thread);
+
+ condition = (ns->vec[0] > 0.0f);
+ ++iteration;
+ }
+// loop_copy_outputs(node, in, out, exec->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+void register_node_type_sh_whileloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_WHILELOOP, "While", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_whileloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_whileloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_whileloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, whileloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_curves.c b/source/blender/nodes/shader/nodes/node_shader_curves.c
index a39a639897e..9dedeba6d39 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_curves.c
+++ b/source/blender/nodes/shader/nodes/node_shader_curves.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_curves.c
+/** \file blender/nodes/shader/nodes/node_shader_curves.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** CURVE VEC ******************** */
-static bNodeSocketType sh_node_curve_vec_in[]= {
- { SOCK_VALUE, 0, "Fac", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_curve_vec_in[]= {
+ { SOCK_FLOAT, 0, "Fac", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_curve_vec_out[]= {
- { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_curve_vec_out[]= {
+ { SOCK_VECTOR, 0, "Vector"},
{ -1, 0, "" }
};
@@ -57,7 +57,7 @@ static void node_shader_exec_curve_vec(void *UNUSED(data), bNode *node, bNodeSta
curvemapping_evaluate3F(node->storage, out[0]->vec, vec);
}
-static void node_shader_init_curve_vec(bNode* node)
+static void node_shader_init_curve_vec(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= curvemapping_add(3, -1.0f, -1.0f, 1.0f, 1.0f);
}
@@ -75,8 +75,8 @@ void register_node_type_sh_curve_vec(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- sh_node_curve_vec_in, sh_node_curve_vec_out);
+ node_type_base(&ntype, SH_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_curve_vec_in, sh_node_curve_vec_out);
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_shader_init_curve_vec);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
@@ -88,14 +88,14 @@ void register_node_type_sh_curve_vec(ListBase *lb)
/* **************** CURVE RGB ******************** */
-static bNodeSocketType sh_node_curve_rgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_curve_rgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_curve_rgb_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_curve_rgb_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -112,7 +112,7 @@ static void node_shader_exec_curve_rgb(void *UNUSED(data), bNode *node, bNodeSta
}
}
-static void node_shader_init_curve_rgb(bNode *node)
+static void node_shader_init_curve_rgb(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= curvemapping_add(4, 0.0f, 0.0f, 1.0f, 1.0f);
}
@@ -129,8 +129,8 @@ void register_node_type_sh_curve_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- sh_node_curve_rgb_in, sh_node_curve_rgb_out);
+ node_type_base(&ntype, SH_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_curve_rgb_in, sh_node_curve_rgb_out);
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_shader_init_curve_rgb);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c b/source/blender/nodes/shader/nodes/node_shader_dynamic.c
index d5e5d5eeb93..5aae54d858b 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c
+++ b/source/blender/nodes/shader/nodes/node_shader_dynamic.c
@@ -27,7 +27,7 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_dynamic.c
+/** \file blender/nodes/shader/nodes/node_shader_dynamic.c
* \ingroup shdnodes
*/
@@ -54,7 +54,7 @@
#endif
#endif
-#include "../SHD_util.h"
+#include "node_shader_util.h"
// XXX
#if 0
@@ -95,7 +95,7 @@ static bNodeType *node_dynamic_find_typeinfo(ListBase *list, ID *id)
static void node_dynamic_free_typeinfo_sockets(bNodeType *tinfo)
{
- bNodeSocketType *sock;
+ bNodeSocketTemplate *sock;
if (!tinfo) return;
@@ -782,7 +782,7 @@ void register_node_type_sh_dynamic(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, NODE_DYNAMIC, "Dynamic", NODE_CLASS_OP_DYNAMIC, 0, NULL, NULL);
+ node_type_base(&ntype, NODE_DYNAMIC, "Dynamic", NODE_CLASS_OP_DYNAMIC, 0);
nodeRegisterType(lb, &ntype);
}
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_geom.c b/source/blender/nodes/shader/nodes/node_shader_geom.c
index 379f54bec57..585d1e59d15 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_geom.c
+++ b/source/blender/nodes/shader/nodes/node_shader_geom.c
@@ -27,27 +27,27 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_geom.c
+/** \file blender/nodes/shader/nodes/node_shader_geom.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
#include "DNA_customdata_types.h"
/* **************** GEOMETRY ******************** */
/* output socket type definition */
-static bNodeSocketType sh_node_geom_out[]= {
- { SOCK_VECTOR, 0, "Global", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f}, /* btw; uses no limit */
- { SOCK_VECTOR, 0, "Local", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VECTOR, 0, "View", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VECTOR, 0, "Orco", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VECTOR, 0, "UV", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 0, "Vertex Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Front/Back", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_geom_out[]= {
+ { SOCK_VECTOR, 0, "Global"},
+ { SOCK_VECTOR, 0, "Local"},
+ { SOCK_VECTOR, 0, "View"},
+ { SOCK_VECTOR, 0, "Orco"},
+ { SOCK_VECTOR, 0, "UV"},
+ { SOCK_VECTOR, 0, "Normal"},
+ { SOCK_RGBA, 0, "Vertex Color"},
+ { SOCK_FLOAT, 0, "Front/Back"},
{ -1, 0, "" }
};
@@ -118,7 +118,7 @@ static void node_shader_exec_geom(void *data, bNode *node, bNodeStack **UNUSED(i
}
}
-static void node_shader_init_geometry(bNode *node)
+static void node_shader_init_geometry(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= MEM_callocN(sizeof(NodeGeometry), "NodeGeometry");
}
@@ -140,8 +140,8 @@ void register_node_type_sh_geom(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_GEOMETRY, "Geometry", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, sh_node_geom_out);
+ node_type_base(&ntype, SH_NODE_GEOMETRY, "Geometry", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, sh_node_geom_out);
node_type_size(&ntype, 120, 80, 160);
node_type_init(&ntype, node_shader_init_geometry);
node_type_storage(&ntype, "NodeGeometry", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c b/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c
index 91fd995dbbe..f4f69cf56fe 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c
+++ b/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c
@@ -1,5 +1,5 @@
/*
- *
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -27,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c
+/** \file blender/nodes/shader/nodes/node_shader_hueSatVal.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** Hue Saturation ******************** */
-static bNodeSocketType sh_node_hue_sat_in[]= {
- { SOCK_VALUE, 1, "Hue", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Saturation", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f},
- { SOCK_VALUE, 1, "Value", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f},
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_hue_sat_in[]= {
+ { SOCK_FLOAT, 1, "Hue", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Saturation", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Value", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_hue_sat_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_hue_sat_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -86,8 +86,8 @@ void register_node_type_sh_hue_sat(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- sh_node_hue_sat_in, sh_node_hue_sat_out);
+ node_type_base(&ntype, SH_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_hue_sat_in, sh_node_hue_sat_out);
node_type_size(&ntype, 150, 80, 250);
node_type_exec(&ntype, node_shader_exec_hue_sat);
node_type_gpu(&ntype, gpu_shader_hue_sat);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_invert.c b/source/blender/nodes/shader/nodes/node_shader_invert.c
index f8d6e54859e..5347d98b42e 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_invert.c
+++ b/source/blender/nodes/shader/nodes/node_shader_invert.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_invert.c
+/** \file blender/nodes/shader/nodes/node_shader_invert.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** INVERT ******************** */
-static bNodeSocketType sh_node_invert_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_invert_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_invert_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_invert_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -78,8 +78,8 @@ void register_node_type_sh_invert(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- sh_node_invert_in, sh_node_invert_out);
+ node_type_base(&ntype, SH_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_invert_in, sh_node_invert_out);
node_type_size(&ntype, 90, 80, 100);
node_type_exec(&ntype, node_shader_exec_invert);
node_type_gpu(&ntype, gpu_shader_invert);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mapping.c b/source/blender/nodes/shader/nodes/node_shader_mapping.c
index eb300301ce2..05432708b29 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_mapping.c
+++ b/source/blender/nodes/shader/nodes/node_shader_mapping.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_mapping.c
+/** \file blender/nodes/shader/nodes/node_shader_mapping.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** MAPPING ******************** */
-static bNodeSocketType sh_node_mapping_in[]= {
- { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_mapping_in[]= {
+ { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_mapping_out[]= {
- { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_mapping_out[]= {
+ { SOCK_VECTOR, 0, "Vector"},
{ -1, 0, "" }
};
@@ -69,7 +69,7 @@ static void node_shader_exec_mapping(void *UNUSED(data), bNode *node, bNodeStack
}
-static void node_shader_init_mapping(bNode *node)
+static void node_shader_init_mapping(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= add_mapping();
}
@@ -92,8 +92,8 @@ void register_node_type_sh_mapping(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_MAPPING, "Mapping", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- sh_node_mapping_in, sh_node_mapping_out);
+ node_type_base(&ntype, SH_NODE_MAPPING, "Mapping", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_mapping_in, sh_node_mapping_out);
node_type_size(&ntype, 240, 160, 320);
node_type_init(&ntype, node_shader_init_mapping);
node_type_storage(&ntype, "TexMapping", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_material.c b/source/blender/nodes/shader/nodes/node_shader_material.c
index 8b477af0689..984bfed3ff9 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_material.c
+++ b/source/blender/nodes/shader/nodes/node_shader_material.c
@@ -27,54 +27,54 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_material.c
+/** \file blender/nodes/shader/nodes/node_shader_material.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** MATERIAL ******************** */
-static bNodeSocketType sh_node_material_in[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Spec", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Refl", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_material_in[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_RGBA, 1, "Spec", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Refl", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_DIRECTION},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_material_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_material_out[]= {
+ { SOCK_RGBA, 0, "Color"},
+ { SOCK_FLOAT, 0, "Alpha"},
+ { SOCK_VECTOR, 0, "Normal"},
{ -1, 0, "" }
};
/* **************** EXTENDED MATERIAL ******************** */
-static bNodeSocketType sh_node_material_ext_in[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Spec", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Refl", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 1, "Mirror", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Ambient", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Emit", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "SpecTra", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Ray Mirror", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Alpha", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Translucency", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_material_ext_in[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_RGBA, 1, "Spec", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Refl", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_DIRECTION},
+ { SOCK_RGBA, 1, "Mirror", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Ambient", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Emit", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
+ { SOCK_FLOAT, 1, "SpecTra", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Ray Mirror", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Alpha", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
+ { SOCK_FLOAT, 1, "Translucency", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_material_ext_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 0, "Diffuse", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 0, "Spec", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 0, "AO", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_material_ext_out[]= {
+ { SOCK_RGBA, 0, "Color"},
+ { SOCK_FLOAT, 0, "Alpha"},
+ { SOCK_VECTOR, 0, "Normal"},
+ { SOCK_RGBA, 0, "Diffuse"},
+ { SOCK_RGBA, 0, "Spec"},
+ { SOCK_RGBA, 0, "AO"},
{ -1, 0, "" }
};
@@ -86,7 +86,7 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
ShaderCallData *shcd= data;
float col[4];
bNodeSocket *sock;
- char hasinput[NUM_MAT_IN];
+ char hasinput[NUM_MAT_IN]= {'\0'};
int i;
/* note: cannot use the in[]->hasinput flags directly, as these are not necessarily
@@ -112,7 +112,7 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
nodestack_get_vec(&shi->specr, SOCK_VECTOR, in[MAT_IN_SPEC]);
if(hasinput[MAT_IN_REFL])
- nodestack_get_vec(&shi->refl, SOCK_VALUE, in[MAT_IN_REFL]);
+ nodestack_get_vec(&shi->refl, SOCK_FLOAT, in[MAT_IN_REFL]);
/* retrieve normal */
if(hasinput[MAT_IN_NORMAL]) {
@@ -133,17 +133,17 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
if(hasinput[MAT_IN_MIR])
nodestack_get_vec(&shi->mirr, SOCK_VECTOR, in[MAT_IN_MIR]);
if(hasinput[MAT_IN_AMB])
- nodestack_get_vec(&shi->amb, SOCK_VALUE, in[MAT_IN_AMB]);
+ nodestack_get_vec(&shi->amb, SOCK_FLOAT, in[MAT_IN_AMB]);
if(hasinput[MAT_IN_EMIT])
- nodestack_get_vec(&shi->emit, SOCK_VALUE, in[MAT_IN_EMIT]);
+ nodestack_get_vec(&shi->emit, SOCK_FLOAT, in[MAT_IN_EMIT]);
if(hasinput[MAT_IN_SPECTRA])
- nodestack_get_vec(&shi->spectra, SOCK_VALUE, in[MAT_IN_SPECTRA]);
+ nodestack_get_vec(&shi->spectra, SOCK_FLOAT, in[MAT_IN_SPECTRA]);
if(hasinput[MAT_IN_RAY_MIRROR])
- nodestack_get_vec(&shi->ray_mirror, SOCK_VALUE, in[MAT_IN_RAY_MIRROR]);
+ nodestack_get_vec(&shi->ray_mirror, SOCK_FLOAT, in[MAT_IN_RAY_MIRROR]);
if(hasinput[MAT_IN_ALPHA])
- nodestack_get_vec(&shi->alpha, SOCK_VALUE, in[MAT_IN_ALPHA]);
+ nodestack_get_vec(&shi->alpha, SOCK_FLOAT, in[MAT_IN_ALPHA]);
if(hasinput[MAT_IN_TRANSLUCENCY])
- nodestack_get_vec(&shi->translucency, SOCK_VALUE, in[MAT_IN_TRANSLUCENCY]);
+ nodestack_get_vec(&shi->translucency, SOCK_FLOAT, in[MAT_IN_TRANSLUCENCY]);
}
shi->nodes= 1; /* temp hack to prevent trashadow recursion */
@@ -204,18 +204,29 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
}
-static void node_shader_init_material(bNode* node)
+static void node_shader_init_material(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1= SH_NODE_MAT_DIFF|SH_NODE_MAT_SPEC;
}
+/* XXX this is also done as a local static function in gpu_codegen.c,
+ * but we need this to hack around the crappy material node.
+ */
+static GPUNodeLink *gpu_get_input_link(GPUNodeStack *in)
+{
+ if (in->link)
+ return in->link;
+ else
+ return GPU_uniform(in->vec);
+}
+
static int gpu_shader_material(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
if(node->id) {
GPUShadeInput shi;
GPUShadeResult shr;
bNodeSocket *sock;
- char hasinput[NUM_MAT_IN];
+ char hasinput[NUM_MAT_IN]= {'\0'};
int i;
/* note: cannot use the in[]->hasinput flags directly, as these are not necessarily
@@ -229,18 +240,18 @@ static int gpu_shader_material(GPUMaterial *mat, bNode *node, GPUNodeStack *in,
/* write values */
if(hasinput[MAT_IN_COLOR])
- shi.rgb = in[MAT_IN_COLOR].link;
+ shi.rgb = gpu_get_input_link(&in[MAT_IN_COLOR]);
if(hasinput[MAT_IN_SPEC])
- shi.specrgb = in[MAT_IN_SPEC].link;
+ shi.specrgb = gpu_get_input_link(&in[MAT_IN_SPEC]);
if(hasinput[MAT_IN_REFL])
- shi.refl = in[MAT_IN_REFL].link;
+ shi.refl = gpu_get_input_link(&in[MAT_IN_REFL]);
/* retrieve normal */
if(hasinput[MAT_IN_NORMAL]) {
GPUNodeLink *tmp;
- shi.vn = in[MAT_IN_NORMAL].link;
+ shi.vn = gpu_get_input_link(&in[MAT_IN_NORMAL]);
GPU_link(mat, "vec_math_normalize", shi.vn, &shi.vn, &tmp);
}
@@ -250,11 +261,11 @@ static int gpu_shader_material(GPUMaterial *mat, bNode *node, GPUNodeStack *in,
if (node->type == SH_NODE_MATERIAL_EXT) {
if(hasinput[MAT_IN_AMB])
- shi.amb= in[MAT_IN_AMB].link;
+ shi.amb= gpu_get_input_link(&in[MAT_IN_AMB]);
if(hasinput[MAT_IN_EMIT])
- shi.emit= in[MAT_IN_EMIT].link;
+ shi.emit= gpu_get_input_link(&in[MAT_IN_EMIT]);
if(hasinput[MAT_IN_ALPHA])
- shi.alpha= in[MAT_IN_ALPHA].link;
+ shi.alpha= gpu_get_input_link(&in[MAT_IN_ALPHA]);
}
GPU_shaderesult_set(&shi, &shr); /* clears shr */
@@ -297,8 +308,8 @@ void register_node_type_sh_material(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_MATERIAL, "Material", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW,
- sh_node_material_in, sh_node_material_out);
+ node_type_base(&ntype, SH_NODE_MATERIAL, "Material", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW);
+ node_type_socket_templates(&ntype, sh_node_material_in, sh_node_material_out);
node_type_size(&ntype, 120, 80, 240);
node_type_init(&ntype, node_shader_init_material);
node_type_exec(&ntype, node_shader_exec_material);
@@ -312,8 +323,8 @@ void register_node_type_sh_material_ext(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_MATERIAL_EXT, "Extended Material", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW,
- sh_node_material_ext_in, sh_node_material_ext_out);
+ node_type_base(&ntype, SH_NODE_MATERIAL_EXT, "Extended Material", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW);
+ node_type_socket_templates(&ntype, sh_node_material_ext_in, sh_node_material_ext_out);
node_type_size(&ntype, 120, 80, 240);
node_type_init(&ntype, node_shader_init_material);
node_type_exec(&ntype, node_shader_exec_material);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_math.c b/source/blender/nodes/shader/nodes/node_shader_math.c
index dd0a564dc4b..592779d6803 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_math.c
+++ b/source/blender/nodes/shader/nodes/node_shader_math.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_math.c
+/** \file blender/nodes/shader/nodes/node_shader_math.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** SCALAR MATH ******************** */
-static bNodeSocketType sh_node_math_in[]= {
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f},
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f},
+static bNodeSocketTemplate sh_node_math_in[]= {
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_math_out[]= {
- { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_math_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -242,8 +242,8 @@ void register_node_type_sh_math(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- sh_node_math_in, sh_node_math_out);
+ node_type_base(&ntype, SH_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_math_in, sh_node_math_out);
node_type_size(&ntype, 120, 110, 160);
node_type_label(&ntype, node_math_label);
node_type_storage(&ntype, "node_math", NULL, NULL);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c b/source/blender/nodes/shader/nodes/node_shader_mixRgb.c
index 8b3033a98ca..a9e4f2129be 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c
+++ b/source/blender/nodes/shader/nodes/node_shader_mixRgb.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_mixRgb.c
+/** \file blender/nodes/shader/nodes/node_shader_mixRgb.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** MIX RGB ******************** */
-static bNodeSocketType sh_node_mix_rgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Color1", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Color2", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_mix_rgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Color1", 0.5f, 0.5f, 0.5f, 1.0f},
+ { SOCK_RGBA, 1, "Color2", 0.5f, 0.5f, 0.5f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_mix_rgb_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_mix_rgb_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -54,7 +54,7 @@ static void node_shader_exec_mix_rgb(void *UNUSED(data), bNode *node, bNodeStack
float fac;
float vec[3];
- nodestack_get_vec(&fac, SOCK_VALUE, in[0]);
+ nodestack_get_vec(&fac, SOCK_FLOAT, in[0]);
CLAMP(fac, 0.0f, 1.0f);
nodestack_get_vec(col, SOCK_VECTOR, in[1]);
@@ -79,8 +79,8 @@ void register_node_type_sh_mix_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- sh_node_mix_rgb_in, sh_node_mix_rgb_out);
+ node_type_base(&ntype, SH_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_mix_rgb_in, sh_node_mix_rgb_out);
node_type_size(&ntype, 100, 60, 150);
node_type_label(&ntype, node_blend_label);
node_type_exec(&ntype, node_shader_exec_mix_rgb);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_normal.c b/source/blender/nodes/shader/nodes/node_shader_normal.c
index a4e39935cea..1ce7c61c593 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_normal.c
+++ b/source/blender/nodes/shader/nodes/node_shader_normal.c
@@ -27,25 +27,36 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_normal.c
+/** \file blender/nodes/shader/nodes/node_shader_normal.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** NORMAL ******************** */
-static bNodeSocketType sh_node_normal_in[]= {
- { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_normal_in[]= {
+ { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_normal_out[]= {
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VALUE, 0, "Dot", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_normal_out[]= {
+ { SOCK_VECTOR, 0, "Normal"},
+ { SOCK_FLOAT, 0, "Dot"},
{ -1, 0, "" }
};
+static void node_shader_init_normal(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ bNodeSocketValueVector *dval= (bNodeSocketValueVector*)sock->default_value;
+
+ /* output value is used for normal vector */
+ dval->value[0] = 0.0f;
+ dval->value[1] = 0.0f;
+ dval->value[2] = 1.0f;
+}
+
/* generates normal, does dot product */
static void node_shader_exec_normal(void *UNUSED(data), bNode *node, bNodeStack **in, bNodeStack **out)
{
@@ -57,7 +68,7 @@ static void node_shader_exec_normal(void *UNUSED(data), bNode *node, bNodeStack
nodestack_get_vec(vec, SOCK_VECTOR, in[0]);
- VECCOPY(out[0]->vec, sock->ns.vec);
+ VECCOPY(out[0]->vec, ((bNodeSocketValueVector*)sock->default_value)->value);
/* render normals point inside... the widget points outside */
out[1]->vec[0]= -INPR(out[0]->vec, vec);
}
@@ -65,7 +76,7 @@ static void node_shader_exec_normal(void *UNUSED(data), bNode *node, bNodeStack
static int gpu_shader_normal(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
bNodeSocket *sock= node->outputs.first;
- GPUNodeLink *vec = GPU_uniform(sock->ns.vec);
+ GPUNodeLink *vec = GPU_uniform(((bNodeSocketValueVector*)sock->default_value)->value);
return GPU_stack_link(mat, "normal", in, out, vec);
}
@@ -74,8 +85,9 @@ void register_node_type_sh_normal(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- sh_node_normal_in, sh_node_normal_out);
+ node_type_base(&ntype, SH_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_normal_in, sh_node_normal_out);
+ node_type_init(&ntype, node_shader_init_normal);
node_type_exec(&ntype, node_shader_exec_normal);
node_type_gpu(&ntype, gpu_shader_normal);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output.c b/source/blender/nodes/shader/nodes/node_shader_output.c
index e42caabff34..94990bd9cf1 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_output.c
+++ b/source/blender/nodes/shader/nodes/node_shader_output.c
@@ -27,17 +27,17 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_output.c
+/** \file blender/nodes/shader/nodes/node_shader_output.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** OUTPUT ******************** */
-static bNodeSocketType sh_node_output_in[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_output_in[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
@@ -49,7 +49,7 @@ static void node_shader_exec_output(void *data, bNode *node, bNodeStack **in, bN
/* stack order input sockets: col, alpha, normal */
nodestack_get_vec(col, SOCK_VECTOR, in[0]);
- nodestack_get_vec(col+3, SOCK_VALUE, in[1]);
+ nodestack_get_vec(col+3, SOCK_FLOAT, in[1]);
if(shi->do_preview) {
nodeAddToPreview(node, col, shi->xs, shi->ys, shi->do_manage);
@@ -84,8 +84,8 @@ void register_node_type_sh_output(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_OUTPUT, "Output", NODE_CLASS_OUTPUT, NODE_PREVIEW,
- sh_node_output_in, NULL);
+ node_type_base(&ntype, SH_NODE_OUTPUT, "Output", NODE_CLASS_OUTPUT, NODE_PREVIEW);
+ node_type_socket_templates(&ntype, sh_node_output_in, NULL);
node_type_size(&ntype, 80, 60, 200);
node_type_exec(&ntype, node_shader_exec_output);
node_type_gpu(&ntype, gpu_shader_output);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c b/source/blender/nodes/shader/nodes/node_shader_rgb.c
index 3d7f401b055..d612e5c228f 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c
+++ b/source/blender/nodes/shader/nodes/node_shader_rgb.c
@@ -27,30 +27,43 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_rgb.c
+/** \file blender/nodes/shader/nodes/node_shader_rgb.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** RGB ******************** */
-static bNodeSocketType sh_node_rgb_out[]= {
- { SOCK_RGBA, 0, "Color", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_rgb_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
+static void node_shader_init_rgb(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ bNodeSocketValueRGBA *dval= (bNodeSocketValueRGBA*)sock->default_value;
+ /* uses the default value of the output socket, must be initialized here */
+ dval->value[0] = 0.5f;
+ dval->value[1] = 0.5f;
+ dval->value[2] = 0.5f;
+ dval->value[3] = 1.0f;
+}
+
static void node_shader_exec_rgb(void *UNUSED(data), bNode *node, bNodeStack **UNUSED(in), bNodeStack **out)
{
bNodeSocket *sock= node->outputs.first;
+ float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
- VECCOPY(out[0]->vec, sock->ns.vec);
+ VECCOPY(out[0]->vec, col);
}
static int gpu_shader_rgb(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
bNodeSocket *sock= node->outputs.first;
- GPUNodeLink *vec = GPU_uniform(sock->ns.vec);
+ float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
+ GPUNodeLink *vec = GPU_uniform(col);
return GPU_stack_link(mat, "set_rgba", in, out, vec);
}
@@ -59,8 +72,9 @@ void register_node_type_sh_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_RGB, "RGB", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, sh_node_rgb_out);
+ node_type_base(&ntype, SH_NODE_RGB, "RGB", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, sh_node_rgb_out);
+ node_type_init(&ntype, node_shader_init_rgb);
node_type_size(&ntype, 140, 80, 140);
node_type_exec(&ntype, node_shader_exec_rgb);
node_type_gpu(&ntype, gpu_shader_rgb);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c b/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c
index e4fa0b02521..15a8a4952fb 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c
+++ b/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c
@@ -1,5 +1,5 @@
/*
- *
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c
+/** \file blender/nodes/shader/nodes/node_shader_sepcombRGB.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** SEPARATE RGBA ******************** */
-static bNodeSocketType sh_node_seprgb_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_seprgb_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_seprgb_out[]= {
- { SOCK_VALUE, 0, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_seprgb_out[]= {
+ { SOCK_FLOAT, 0, "R"},
+ { SOCK_FLOAT, 0, "G"},
+ { SOCK_FLOAT, 0, "B"},
{ -1, 0, "" }
};
@@ -62,8 +62,8 @@ void register_node_type_sh_seprgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_SEPRGB, "Separate RGB", NODE_CLASS_CONVERTOR, 0,
- sh_node_seprgb_in, sh_node_seprgb_out);
+ node_type_base(&ntype, SH_NODE_SEPRGB, "Separate RGB", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, sh_node_seprgb_in, sh_node_seprgb_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_shader_exec_seprgb);
node_type_gpu(&ntype, gpu_shader_seprgb);
@@ -74,14 +74,14 @@ void register_node_type_sh_seprgb(ListBase *lb)
/* **************** COMBINE RGB ******************** */
-static bNodeSocketType sh_node_combrgb_in[]= {
- { SOCK_VALUE, 1, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_combrgb_in[]= {
+ { SOCK_FLOAT, 1, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
+ { SOCK_FLOAT, 1, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
+ { SOCK_FLOAT, 1, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_combrgb_out[]= {
- { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_combrgb_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -101,8 +101,8 @@ void register_node_type_sh_combrgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_COMBRGB, "Combine RGB", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- sh_node_combrgb_in, sh_node_combrgb_out);
+ node_type_base(&ntype, SH_NODE_COMBRGB, "Combine RGB", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_combrgb_in, sh_node_combrgb_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_shader_exec_combrgb);
node_type_gpu(&ntype, gpu_shader_combrgb);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c b/source/blender/nodes/shader/nodes/node_shader_squeeze.c
index 80693ff08f0..b9eb116b866 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c
+++ b/source/blender/nodes/shader/nodes/node_shader_squeeze.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_squeeze.c
+/** \file blender/nodes/shader/nodes/node_shader_squeeze.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** VALUE SQUEEZE ******************** */
-static bNodeSocketType sh_node_squeeze_in[]= {
- { SOCK_VALUE, 1, "Value", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f},
- { SOCK_VALUE, 1, "Width", 1.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f},
- { SOCK_VALUE, 1, "Center", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f},
+static bNodeSocketTemplate sh_node_squeeze_in[]= {
+ { SOCK_FLOAT, 1, "Value", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Width", 1.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Center", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_squeeze_out[]= {
- { SOCK_VALUE, 0, "Value", 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_squeeze_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -52,9 +52,9 @@ bNodeStack **out)
{
float vec[3];
- nodestack_get_vec(vec, SOCK_VALUE, in[0]);
- nodestack_get_vec(vec+1, SOCK_VALUE, in[1]);
- nodestack_get_vec(vec+2, SOCK_VALUE, in[2]);
+ nodestack_get_vec(vec, SOCK_FLOAT, in[0]);
+ nodestack_get_vec(vec+1, SOCK_FLOAT, in[1]);
+ nodestack_get_vec(vec+2, SOCK_FLOAT, in[2]);
out[0]->vec[0] = 1.0f / (1.0f + pow(2.71828183,-((vec[0]-vec[2])*vec[1]))) ;
}
@@ -68,8 +68,8 @@ void register_node_type_sh_squeeze(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_SQUEEZE, "Squeeze Value", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- sh_node_squeeze_in, sh_node_squeeze_out);
+ node_type_base(&ntype, SH_NODE_SQUEEZE, "Squeeze Value", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_squeeze_in, sh_node_squeeze_out);
node_type_size(&ntype, 120, 110, 160);
node_type_storage(&ntype, "node_squeeze", NULL, NULL);
node_type_exec(&ntype, node_shader_exec_squeeze);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_texture.c b/source/blender/nodes/shader/nodes/node_shader_texture.c
index 249e4eeca5d..09716820800 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_texture.c
+++ b/source/blender/nodes/shader/nodes/node_shader_texture.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_texture.c
+/** \file blender/nodes/shader/nodes/node_shader_texture.c
* \ingroup shdnodes
*/
#include "DNA_texture_types.h"
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** TEXTURE ******************** */
-static bNodeSocketType sh_node_texture_in[]= {
- { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f}, /* no limit */
+static bNodeSocketTemplate sh_node_texture_in[]= {
+ { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE}, /* no limit */
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_texture_out[]= {
- { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA , 0, "Color", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_texture_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
+ { SOCK_RGBA , 0, "Color"},
+ { SOCK_VECTOR, 0, "Normal"},
{ -1, 0, "" }
};
@@ -137,8 +137,8 @@ void register_node_type_sh_texture(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW,
- sh_node_texture_in, sh_node_texture_out);
+ node_type_base(&ntype, SH_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW);
+ node_type_socket_templates(&ntype, sh_node_texture_in, sh_node_texture_out);
node_type_size(&ntype, 120, 80, 240);
node_type_exec(&ntype, node_shader_exec_texture);
node_type_gpu(&ntype, gpu_shader_texture);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c b/source/blender/nodes/shader/nodes/node_shader_valToRgb.c
index 86f832c12ee..5c1d3096a6e 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c
+++ b/source/blender/nodes/shader/nodes/node_shader_valToRgb.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_valToRgb.c
+/** \file blender/nodes/shader/nodes/node_shader_valToRgb.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** VALTORGB ******************** */
-static bNodeSocketType sh_node_valtorgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_valtorgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_valtorgb_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_valtorgb_out[]= {
+ { SOCK_RGBA, 0, "Color"},
+ { SOCK_FLOAT, 0, "Alpha"},
{ -1, 0, "" }
};
@@ -52,14 +52,14 @@ static void node_shader_exec_valtorgb(void *UNUSED(data), bNode *node, bNodeStac
if(node->storage) {
float fac;
- nodestack_get_vec(&fac, SOCK_VALUE, in[0]);
+ nodestack_get_vec(&fac, SOCK_FLOAT, in[0]);
do_colorband(node->storage, fac, out[0]->vec);
out[1]->vec[0]= out[0]->vec[3];
}
}
-static void node_shader_init_valtorgb(bNode *node)
+static void node_shader_init_valtorgb(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= add_colorband(1);
}
@@ -77,8 +77,8 @@ void register_node_type_sh_valtorgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- sh_node_valtorgb_in, sh_node_valtorgb_out);
+ node_type_base(&ntype, SH_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_valtorgb_in, sh_node_valtorgb_out);
node_type_size(&ntype, 240, 200, 300);
node_type_init(&ntype, node_shader_init_valtorgb);
node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage);
@@ -90,12 +90,12 @@ void register_node_type_sh_valtorgb(ListBase *lb)
/* **************** RGBTOBW ******************** */
-static bNodeSocketType sh_node_rgbtobw_in[]= {
+static bNodeSocketTemplate sh_node_rgbtobw_in[]= {
{ SOCK_RGBA, 1, "Color", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_rgbtobw_out[]= {
- { SOCK_VALUE, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_rgbtobw_out[]= {
+ { SOCK_FLOAT, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
@@ -117,8 +117,8 @@ void register_node_type_sh_rgbtobw(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0,
- sh_node_rgbtobw_in, sh_node_rgbtobw_out);
+ node_type_base(&ntype, SH_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, sh_node_rgbtobw_in, sh_node_rgbtobw_out);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, node_shader_exec_rgbtobw);
node_type_gpu(&ntype, gpu_shader_rgbtobw);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_value.c b/source/blender/nodes/shader/nodes/node_shader_value.c
index 29a75bbf36d..bbd3f8fc242 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_value.c
+++ b/source/blender/nodes/shader/nodes/node_shader_value.c
@@ -27,30 +27,40 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_value.c
+/** \file blender/nodes/shader/nodes/node_shader_value.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** VALUE ******************** */
-static bNodeSocketType sh_node_value_out[]= {
- { SOCK_VALUE, 0, "Value", 0.5f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+static bNodeSocketTemplate sh_node_value_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
+static void node_shader_init_value(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ bNodeSocketValueFloat *dval= (bNodeSocketValueFloat*)sock->default_value;
+ /* uses the default value of the output socket, must be initialized here */
+ dval->value = 0.5f;
+}
+
static void node_shader_exec_value(void *UNUSED(data), bNode *node, bNodeStack **UNUSED(in), bNodeStack **out)
{
bNodeSocket *sock= node->outputs.first;
+ float val= ((bNodeSocketValueFloat*)sock->default_value)->value;
- out[0]->vec[0]= sock->ns.vec[0];
+ out[0]->vec[0]= val;
}
static int gpu_shader_value(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
bNodeSocket *sock= node->outputs.first;
- GPUNodeLink *vec = GPU_uniform(sock->ns.vec);
+ float *val= &((bNodeSocketValueFloat*)sock->default_value)->value;
+ GPUNodeLink *vec = GPU_uniform(val);
return GPU_stack_link(mat, "set_value", in, out, vec);
}
@@ -59,8 +69,9 @@ void register_node_type_sh_value(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_VALUE, "Value", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, sh_node_value_out);
+ node_type_base(&ntype, SH_NODE_VALUE, "Value", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, sh_node_value_out);
+ node_type_init(&ntype, node_shader_init_value);
node_type_size(&ntype, 80, 50, 120);
node_type_exec(&ntype, node_shader_exec_value);
node_type_gpu(&ntype, gpu_shader_value);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c b/source/blender/nodes/shader/nodes/node_shader_vectMath.c
index 9979e488a71..ca31d879e3e 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c
+++ b/source/blender/nodes/shader/nodes/node_shader_vectMath.c
@@ -27,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_vectMath.c
+/** \file blender/nodes/shader/nodes/node_shader_vectMath.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** VECTOR MATH ******************** */
-static bNodeSocketType sh_node_vect_math_in[]= {
- { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_vect_math_in[]= {
+ { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_vect_math_out[]= {
- { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_vect_math_out[]= {
+ { SOCK_VECTOR, 0, "Vector"},
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -136,8 +136,8 @@ void register_node_type_sh_vect_math(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_VECT_MATH, "Vector Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- sh_node_vect_math_in, sh_node_vect_math_out);
+ node_type_base(&ntype, SH_NODE_VECT_MATH, "Vector Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_vect_math_in, sh_node_vect_math_out);
node_type_size(&ntype, 80, 75, 140);
node_type_label(&ntype, node_vect_math_label);
node_type_storage(&ntype, "node_vect_math", NULL, NULL);
diff --git a/source/blender/nodes/texture/node_texture_tree.c b/source/blender/nodes/texture/node_texture_tree.c
new file mode 100644
index 00000000000..603aa7ceb77
--- /dev/null
+++ b/source/blender/nodes/texture/node_texture_tree.c
@@ -0,0 +1,251 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s):
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/texture/node_texture_tree.c
+ * \ingroup nodes
+ */
+
+
+#include <string.h>
+
+#include "DNA_texture_types.h"
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_threads.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_global.h"
+#include "BKE_main.h"
+#include "BKE_node.h"
+
+#include "node_exec.h"
+#include "node_util.h"
+#include "NOD_texture.h"
+#include "node_texture_util.h"
+
+#include "RE_pipeline.h"
+#include "RE_shader_ext.h"
+
+
+static void foreach_nodetree(Main *main, void *calldata, bNodeTreeCallback func)
+{
+ Tex *tx;
+ for(tx= main->tex.first; tx; tx= tx->id.next) {
+ if(tx->nodetree) {
+ func(calldata, &tx->id, tx->nodetree);
+ }
+ }
+}
+
+static void local_sync(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNode *lnode;
+
+ /* copy over contents of previews */
+ for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
+ if(ntreeNodeExists(ntree, lnode->new_node)) {
+ bNode *node= lnode->new_node;
+
+ if(node->preview && node->preview->rect) {
+ if(lnode->preview && lnode->preview->rect) {
+ int xsize= node->preview->xsize;
+ int ysize= node->preview->ysize;
+ memcpy(node->preview->rect, lnode->preview->rect, 4*xsize + xsize*ysize*sizeof(char)*4);
+ }
+ }
+ }
+ }
+}
+
+bNodeTreeType ntreeType_Texture = {
+ /* type */ NTREE_TEXTURE,
+ /* id_name */ "NTTexture Nodetree",
+
+ /* node_types */ { NULL, NULL },
+
+ /* free_cache */ NULL,
+ /* free_node_cache */ NULL,
+ /* foreach_nodetree */ foreach_nodetree,
+ /* localize */ NULL,
+ /* local_sync */ local_sync,
+ /* local_merge */ NULL,
+ /* update */ NULL,
+ /* update_node */ NULL
+};
+
+int ntreeTexTagAnimated(bNodeTree *ntree)
+{
+ bNode *node;
+
+ if(ntree==NULL) return 0;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type==TEX_NODE_CURVE_TIME) {
+ NodeTagChanged(ntree, node);
+ return 1;
+ }
+ else if(node->type==NODE_GROUP) {
+ if( ntreeTexTagAnimated((bNodeTree *)node->id) ) {
+ return 1;
+ }
+ }
+ }
+
+ return 0;
+}
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+bNodeTreeExec *ntreeTexBeginExecTree(bNodeTree *ntree, int use_tree_data)
+{
+ bNodeTreeExec *exec;
+ bNode *node;
+
+ if (use_tree_data) {
+ /* XXX hack: prevent exec data from being generated twice.
+ * this should be handled by the renderer!
+ */
+ if (ntree->execdata)
+ return ntree->execdata;
+ }
+
+ /* common base initialization */
+ exec = ntree_exec_begin(ntree);
+
+ /* allocate the thread stack listbase array */
+ exec->threadstack= MEM_callocN(BLENDER_MAX_THREADS*sizeof(ListBase), "thread stack array");
+
+ for(node= exec->nodetree->nodes.first; node; node= node->next)
+ node->need_exec= 1;
+
+ if (use_tree_data) {
+ /* XXX this should not be necessary, but is still used for cmp/sha/tex nodes,
+ * which only store the ntree pointer. Should be fixed at some point!
+ */
+ ntree->execdata = exec;
+ }
+
+ return exec;
+}
+
+/* free texture delegates */
+static void tex_free_delegates(bNodeTreeExec *exec)
+{
+ bNodeThreadStack *nts;
+ bNodeStack *ns;
+ int th, a;
+
+ for(th=0; th<BLENDER_MAX_THREADS; th++)
+ for(nts=exec->threadstack[th].first; nts; nts=nts->next)
+ for(ns= nts->stack, a=0; a<exec->stacksize; a++, ns++)
+ if(ns->data && !ns->is_copy)
+ MEM_freeN(ns->data);
+}
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+void ntreeTexEndExecTree(bNodeTreeExec *exec, int use_tree_data)
+{
+ if(exec) {
+ bNodeTree *ntree= exec->nodetree;
+ bNodeThreadStack *nts;
+ int a;
+
+ if(exec->threadstack) {
+ tex_free_delegates(exec);
+
+ for(a=0; a<BLENDER_MAX_THREADS; a++) {
+ for(nts=exec->threadstack[a].first; nts; nts=nts->next)
+ if (nts->stack) MEM_freeN(nts->stack);
+ BLI_freelistN(&exec->threadstack[a]);
+ }
+
+ MEM_freeN(exec->threadstack);
+ exec->threadstack= NULL;
+ }
+
+ ntree_exec_end(exec);
+
+ if (use_tree_data) {
+ /* XXX clear nodetree backpointer to exec data, same problem as noted in ntreeBeginExecTree */
+ ntree->execdata = NULL;
+ }
+ }
+}
+
+int ntreeTexExecTree(
+ bNodeTree *nodes,
+ TexResult *texres,
+ float *co,
+ float *dxt, float *dyt,
+ int osatex,
+ short thread,
+ Tex *UNUSED(tex),
+ short which_output,
+ int cfra,
+ int preview,
+ ShadeInput *shi,
+ MTex *mtex
+){
+ TexCallData data;
+ float *nor= texres->nor;
+ int retval = TEX_INT;
+ bNodeThreadStack *nts = NULL;
+ bNodeTreeExec *exec= nodes->execdata;
+
+ data.co = co;
+ data.dxt = dxt;
+ data.dyt = dyt;
+ data.osatex = osatex;
+ data.target = texres;
+ data.do_preview = preview;
+ data.thread = thread;
+ data.which_output = which_output;
+ data.cfra= cfra;
+ data.mtex= mtex;
+ data.shi= shi;
+
+ if (!exec)
+ exec = ntreeTexBeginExecTree(nodes, 1);
+
+ nts= ntreeGetThreadStack(exec, thread);
+ ntreeExecThreadNodes(exec, nts, &data, thread);
+ ntreeReleaseThreadStack(nts);
+
+ if(texres->nor) retval |= TEX_NOR;
+ retval |= TEX_RGB;
+ /* confusing stuff; the texture output node sets this to NULL to indicate no normal socket was set
+ however, the texture code checks this for other reasons (namely, a normal is required for material) */
+ texres->nor= nor;
+
+ return retval;
+}
diff --git a/source/blender/nodes/intern/TEX_util.c b/source/blender/nodes/texture/node_texture_util.c
index b5e27ca2ccb..7b8f42aa925 100644
--- a/source/blender/nodes/intern/TEX_util.c
+++ b/source/blender/nodes/texture/node_texture_util.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,7 +27,7 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_util.c
+/** \file blender/nodes/texture/node_texture_util.c
* \ingroup nodes
*/
@@ -48,11 +49,11 @@
*/
#include <assert.h>
-#include "TEX_util.h"
+#include "node_texture_util.h"
#define PREV_RES 128 /* default preview resolution */
-void tex_call_delegate(TexDelegate *dg, float *out, TexParams *params, short thread)
+static void tex_call_delegate(TexDelegate *dg, float *out, TexParams *params, short thread)
{
if(dg->node->need_exec) {
dg->fn(out, params, dg->node, dg->in, thread);
@@ -68,7 +69,7 @@ static void tex_input(float *out, int sz, bNodeStack *in, TexParams *params, sho
if(dg) {
tex_call_delegate(dg, in->vec, params, thread);
- if(in->hasoutput && in->sockettype == SOCK_VALUE)
+ if(in->hasoutput && in->sockettype == SOCK_FLOAT)
in->vec[1] = in->vec[2] = in->vec[0];
}
memcpy(out, in->vec, sz * sizeof(float));
@@ -83,7 +84,7 @@ void tex_input_rgba(float *out, bNodeStack *in, TexParams *params, short thread)
{
tex_input(out, 4, in, params, thread);
- if(in->hasoutput && in->sockettype == SOCK_VALUE)
+ if(in->hasoutput && in->sockettype == SOCK_FLOAT)
{
out[1] = out[2] = out[0];
out[3] = 1;
@@ -170,45 +171,3 @@ void ntreeTexCheckCyclics(struct bNodeTree *ntree)
}
}
-
-int ntreeTexExecTree(
- bNodeTree *nodes,
- TexResult *texres,
- float *co,
- float *dxt, float *dyt,
- int osatex,
- short thread,
- Tex *UNUSED(tex),
- short which_output,
- int cfra,
- int preview,
- ShadeInput *shi,
- MTex *mtex
-){
- TexCallData data;
- float *nor= texres->nor;
- int retval = TEX_INT;
-
- data.co = co;
- data.dxt = dxt;
- data.dyt = dyt;
- data.osatex = osatex;
- data.target = texres;
- data.do_preview = preview;
- data.thread = thread;
- data.which_output = which_output;
- data.cfra= cfra;
- data.mtex= mtex;
- data.shi= shi;
-
- ntreeExecTree(nodes, &data, thread);
-
- if(texres->nor) retval |= TEX_NOR;
- retval |= TEX_RGB;
- /* confusing stuff; the texture output node sets this to NULL to indicate no normal socket was set
- however, the texture code checks this for other reasons (namely, a normal is required for material) */
- texres->nor= nor;
-
- return retval;
-}
-
diff --git a/source/blender/nodes/intern/TEX_util.h b/source/blender/nodes/texture/node_texture_util.h
index 0875bcd52bf..ccaf5df9897 100644
--- a/source/blender/nodes/intern/TEX_util.h
+++ b/source/blender/nodes/texture/node_texture_util.h
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,13 +27,13 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_util.h
+/** \file blender/nodes/texture/node_texture_util.h
* \ingroup nodes
*/
-#ifndef TEX_NODE_UTIL_H_
-#define TEX_NODE_UTIL_H_
+#ifndef NODE_TEXTURE_UTIL_H_
+#define NODE_TEXTURE_UTIL_H_
#include <math.h>
#include <string.h>
@@ -60,7 +61,6 @@
#include "BKE_library.h"
-#include "../SHD_node.h"
#include "node_util.h"
#include "BLI_math.h"
@@ -112,8 +112,6 @@ typedef struct TexDelegate {
int type;
} TexDelegate;
-void tex_call_delegate(TexDelegate*, float *out, TexParams *params, short thread);
-
void tex_input_rgba(float *out, bNodeStack *in, TexParams *params, short thread);
void tex_input_vec(float *out, bNodeStack *in, TexParams *params, short thread);
float tex_input_value(bNodeStack *in, TexParams *params, short thread);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_at.c b/source/blender/nodes/texture/nodes/node_texture_at.c
index d5980b786b0..34993a93092 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_at.c
+++ b/source/blender/nodes/texture/nodes/node_texture_at.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_at.c
+/** \file blender/nodes/texture/nodes/node_texture_at.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Texture", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VECTOR, 1, "Coordinates", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Texture", 0.0f, 0.0f, 0.0f, 1.0f },
+ { SOCK_VECTOR, 1, "Coordinates", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Texture", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Texture" },
{ -1, 0, "" }
};
@@ -63,8 +64,8 @@ void register_node_type_tex_at(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_AT, "At", NODE_CLASS_DISTORT, 0,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_AT, "At", NODE_CLASS_DISTORT, 0);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c b/source/blender/nodes/texture/nodes/node_texture_bricks.c
index 0eb982496a9..a9a82fe4d65 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c
+++ b/source/blender/nodes/texture/nodes/node_texture_bricks.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,32 +27,33 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_bricks.c
+/** \file blender/nodes/texture/nodes/node_texture_bricks.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include <math.h>
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Bricks 1", 0.596f, 0.282f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Bricks 2", 0.632f, 0.504f, 0.05f, 1.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Mortar", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Thickness", 0.02f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Bias", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
- { SOCK_VALUE, 1, "Brick Width", 0.5f, 0.0f, 0.0f, 0.0f, 0.001f, 99.0f },
- { SOCK_VALUE, 1, "Row Height", 0.25f, 0.0f, 0.0f, 0.0f, 0.001f, 99.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Bricks 1", 0.596f, 0.282f, 0.0f, 1.0f },
+ { SOCK_RGBA, 1, "Bricks 2", 0.632f, 0.504f, 0.05f, 1.0f },
+ { SOCK_RGBA, 1, "Mortar", 0.0f, 0.0f, 0.0f, 1.0f },
+ { SOCK_FLOAT, 1, "Thickness", 0.02f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Bias", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE },
+ { SOCK_FLOAT, 1, "Brick Width", 0.5f, 0.0f, 0.0f, 0.0f, 0.001f, 99.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Row Height", 0.25f, 0.0f, 0.0f, 0.0f, 0.001f, 99.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
-static void init(bNode *node) {
+static void init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
+{
node->custom3 = 0.5; /* offset */
node->custom4 = 1.0; /* squash */
}
@@ -123,8 +125,8 @@ void register_node_type_tex_bricks(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_BRICKS, "Bricks", NODE_CLASS_PATTERN, NODE_PREVIEW|NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_BRICKS, "Bricks", NODE_CLASS_PATTERN, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 150, 60, 150);
node_type_init(&ntype, init);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_checker.c b/source/blender/nodes/texture/nodes/node_texture_checker.c
index c6c25ba1a8a..7762c9ef992 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_checker.c
+++ b/source/blender/nodes/texture/nodes/node_texture_checker.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_checker.c
+/** \file blender/nodes/texture/nodes/node_texture_checker.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include <math.h>
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color1", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Color2", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Size", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 100.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color1", 1.0f, 0.0f, 0.0f, 1.0f },
+ { SOCK_RGBA, 1, "Color2", 1.0f, 1.0f, 1.0f, 1.0f },
+ { SOCK_FLOAT, 1, "Size", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 100.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
@@ -74,8 +75,8 @@ void register_node_type_tex_checker(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_CHECKER, "Checker", NODE_CLASS_PATTERN, NODE_PREVIEW|NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_CHECKER, "Checker", NODE_CLASS_PATTERN, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 100, 60, 150);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/texture/nodes/node_texture_common.c b/source/blender/nodes/texture/nodes/node_texture_common.c
new file mode 100644
index 00000000000..1b46b830909
--- /dev/null
+++ b/source/blender/nodes/texture/nodes/node_texture_common.c
@@ -0,0 +1,271 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2006 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Campbell Barton, Alfredo de Greef, David Millan Escriva,
+ * Juho Vepsäläinen
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/texture/nodes/node_texture_common.c
+ * \ingroup texnodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "BKE_node.h"
+
+#include "node_texture_util.h"
+#include "node_common.h"
+#include "node_exec.h"
+
+static void copy_stack(bNodeStack *to, bNodeStack *from)
+{
+ if (to != from) {
+ copy_v4_v4(to->vec, from->vec);
+ to->data = from->data;
+ to->datatype = from->datatype;
+
+ /* tag as copy to prevent freeing */
+ to->is_copy = 1;
+ }
+}
+
+/**** GROUP ****/
+
+static void *group_initexec(bNode *node)
+{
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ void *exec;
+
+ /* initialize the internal node tree execution */
+ exec = ntreeTexBeginExecTree(ngroup, 0);
+
+ return exec;
+}
+
+static void group_freeexec(bNode *UNUSED(node), void *nodedata)
+{
+ bNodeTreeExec*gexec= (bNodeTreeExec*)nodedata;
+
+ ntreeTexEndExecTree(gexec, 0);
+}
+
+/* Copy inputs to the internal stack.
+ * This is a shallow copy, no buffers are duplicated here!
+ */
+static void group_copy_inputs(bNode *node, bNodeStack **in, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->inputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ copy_stack(ns, in[a]);
+ }
+ }
+}
+
+/* Copy internal results to the external outputs.
+ */
+static void group_copy_outputs(bNode *node, bNodeStack **out, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->outputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ copy_stack(out[a], ns);
+ }
+ }
+}
+
+static void group_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ group_copy_inputs(node, in, nts->stack);
+ ntreeExecThreadNodes(exec, nts, data, thread);
+ group_copy_outputs(node, out, nts->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+void register_node_type_tex_group(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS|NODE_CONST_OUTPUT);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_group_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_group_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, group_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+
+
+/**** FOR LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+static void forloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+ int iterations= (int)in[0]->vec[0];
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ /* "Iteration" socket */
+ sock = exec->nodetree->inputs.first;
+ ns = node_get_socket_stack(nts->stack, sock);
+
+// group_copy_inputs(node, in, nts->stack);
+ for (iteration=0; iteration < iterations; ++iteration) {
+ /* first input contains current iteration counter */
+ ns->vec[0] = (float)iteration;
+ ns->vec[1]=ns->vec[2]=ns->vec[3] = 0.0f;
+
+// if (iteration > 0)
+// loop_init_iteration(exec->nodetree, nts->stack);
+// ntreeExecThreadNodes(exec, nts, data, thread);
+ }
+// loop_copy_outputs(node, in, out, exec->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+void register_node_type_tex_forloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_FORLOOP, "For", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_forloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_forloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_forloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, forloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
+
+/**** WHILE LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+static void whileloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+ int condition= (in[0]->vec[0] > 0.0f);
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ /* "Condition" socket */
+ sock = exec->nodetree->outputs.first;
+ ns = node_get_socket_stack(nts->stack, sock);
+
+ iteration = 0;
+// group_copy_inputs(node, in, nts->stack);
+ while (condition && iteration < node->custom1) {
+// if (iteration > 0)
+// loop_init_iteration(exec->nodetree, nts->stack);
+// ntreeExecThreadNodes(exec, nts, data, thread);
+
+ condition = (ns->vec[0] > 0.0f);
+ ++iteration;
+ }
+// loop_copy_outputs(node, in, out, exec->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+void register_node_type_tex_whileloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_WHILELOOP, "While", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_whileloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_whileloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_whileloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, whileloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_compose.c b/source/blender/nodes/texture/nodes/node_texture_compose.c
index 6eae78ec3de..d224ae793e2 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_compose.c
+++ b/source/blender/nodes/texture/nodes/node_texture_compose.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_compose.c
+/** \file blender/nodes/texture/nodes/node_texture_compose.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_VALUE, 1, "Red", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Green", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Blue", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_FLOAT, 1, "Red", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Green", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Blue", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
@@ -62,8 +63,8 @@ void register_node_type_tex_compose(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_COMPOSE, "Compose RGBA", NODE_CLASS_OP_COLOR, 0,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_COMPOSE, "Compose RGBA", NODE_CLASS_OP_COLOR, 0);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 100, 60, 150);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_coord.c b/source/blender/nodes/texture/nodes/node_texture_coord.c
index 3c46971f0d4..2bfa2ff2314 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_coord.c
+++ b/source/blender/nodes/texture/nodes/node_texture_coord.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,16 +27,16 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_coord.c
+/** \file blender/nodes/texture/nodes/node_texture_coord.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType outputs[]= {
- { SOCK_VECTOR, 0, "Coordinates", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_VECTOR, 0, "Coordinates" },
{ -1, 0, "" }
};
@@ -55,8 +56,8 @@ void register_node_type_tex_coord(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_COORD, "Coordinates", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, outputs);
+ node_type_base(&ntype, TEX_NODE_COORD, "Coordinates", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, outputs);
node_type_size(&ntype, 120, 110, 160);
node_type_storage(&ntype, "node_coord", NULL, NULL);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_curves.c b/source/blender/nodes/texture/nodes/node_texture_curves.c
index b7af6c748ff..dd65f979bbe 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_curves.c
+++ b/source/blender/nodes/texture/nodes/node_texture_curves.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,19 +27,19 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_curves.c
+/** \file blender/nodes/texture/nodes/node_texture_curves.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** CURVE Time ******************** */
/* custom1 = sfra, custom2 = efra */
-static bNodeSocketType time_outputs[]= {
- { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate time_outputs[]= {
+ { SOCK_FLOAT, 0, "Value" },
{ -1, 0, "" }
};
@@ -60,7 +61,7 @@ static void time_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out
}
-static void time_init(bNode* node)
+static void time_init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1= 1;
node->custom2= 250;
@@ -71,8 +72,8 @@ void register_node_type_tex_curve_time(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_CURVE_TIME, "Time", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, time_outputs);
+ node_type_base(&ntype, TEX_NODE_CURVE_TIME, "Time", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, time_outputs);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, time_init);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
@@ -82,13 +83,13 @@ void register_node_type_tex_curve_time(ListBase *lb)
}
/* **************** CURVE RGB ******************** */
-static bNodeSocketType rgb_inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate rgb_inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType rgb_outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate rgb_outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -106,7 +107,7 @@ static void rgb_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
tex_output(node, in, out[0], &rgb_colorfn, data);
}
-static void rgb_init(bNode *node)
+static void rgb_init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= curvemapping_add(4, 0.0f, 0.0f, 1.0f, 1.0f);
}
@@ -115,8 +116,8 @@ void register_node_type_tex_curve_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- rgb_inputs, rgb_outputs);
+ node_type_base(&ntype, TEX_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, rgb_inputs, rgb_outputs);
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, rgb_init);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c b/source/blender/nodes/texture/nodes/node_texture_decompose.c
index f27d8c98716..016ee5498d8 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c
+++ b/source/blender/nodes/texture/nodes/node_texture_decompose.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_decompose.c
+/** \file blender/nodes/texture/nodes/node_texture_decompose.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include <math.h>
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_VALUE, 0, "Red", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 0, "Green", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 0, "Blue", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_FLOAT, 0, "Red" },
+ { SOCK_FLOAT, 0, "Green" },
+ { SOCK_FLOAT, 0, "Blue" },
+ { SOCK_FLOAT, 0, "Alpha" },
{ -1, 0, "" }
};
@@ -83,8 +84,8 @@ void register_node_type_tex_decompose(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_DECOMPOSE, "Decompose RGBA", NODE_CLASS_OP_COLOR, 0,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_DECOMPOSE, "Decompose RGBA", NODE_CLASS_OP_COLOR, 0);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 100, 60, 150);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_distance.c b/source/blender/nodes/texture/nodes/node_texture_distance.c
index b460844ba4a..ef3f701d8f3 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_distance.c
+++ b/source/blender/nodes/texture/nodes/node_texture_distance.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_distance.c
+/** \file blender/nodes/texture/nodes/node_texture_distance.c
* \ingroup texnodes
*/
#include <math.h>
#include "BLI_math.h"
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_VECTOR, 1, "Coordinate 1", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
- { SOCK_VECTOR, 1, "Coordinate 2", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_VECTOR, 1, "Coordinate 1", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE },
+ { SOCK_VECTOR, 1, "Coordinate 2", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_FLOAT, 0, "Value" },
{ -1, 0, "" }
};
@@ -66,8 +67,8 @@ void register_node_type_tex_distance(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_DISTANCE, "Distance", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_DISTANCE, "Distance", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 120, 110, 160);
node_type_storage(&ntype, "node_distance", NULL, NULL);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c b/source/blender/nodes/texture/nodes/node_texture_hueSatVal.c
index 471d8db2c03..cd7ebb18018 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c
+++ b/source/blender/nodes/texture/nodes/node_texture_hueSatVal.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c
+/** \file blender/nodes/texture/nodes/node_texture_hueSatVal.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_VALUE, 1, "Hue", 0.0f, 0.0f, 0.0f, 0.0f, -0.5f, 0.5f },
- { SOCK_VALUE, 1, "Saturation", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f },
- { SOCK_VALUE, 1, "Value", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f },
- { SOCK_VALUE, 1, "Factor", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_FLOAT, 1, "Hue", 0.0f, 0.0f, 0.0f, 0.0f, -0.5f, 0.5f, PROP_NONE },
+ { SOCK_FLOAT, 1, "Saturation", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_FACTOR },
+ { SOCK_FLOAT, 1, "Value", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_FACTOR },
+ { SOCK_FLOAT, 1, "Factor", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR },
+ { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
@@ -97,8 +98,8 @@ void register_node_type_tex_hue_sat(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 150, 80, 250);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_image.c b/source/blender/nodes/texture/nodes/node_texture_image.c
index a54ca4bb119..6e749a80d99 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_image.c
+++ b/source/blender/nodes/texture/nodes/node_texture_image.c
@@ -27,16 +27,16 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_image.c
+/** \file blender/nodes/texture/nodes/node_texture_image.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -88,7 +88,7 @@ static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
tex_output(node, in, out[0], &colorfn, data);
}
-static void init(bNode* node)
+static void init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
ImageUser *iuser= MEM_callocN(sizeof(ImageUser), "node image user");
node->storage= iuser;
@@ -101,8 +101,8 @@ void register_node_type_tex_image(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_IMAGE, "Image", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS,
- NULL, outputs);
+ node_type_base(&ntype, TEX_NODE_IMAGE, "Image", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, outputs);
node_type_size(&ntype, 120, 80, 300);
node_type_init(&ntype, init);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_invert.c b/source/blender/nodes/texture/nodes/node_texture_invert.c
index e908bdcff07..d18bb86d5fa 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_invert.c
+++ b/source/blender/nodes/texture/nodes/node_texture_invert.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_invert.c
+/** \file blender/nodes/texture/nodes/node_texture_invert.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** INVERT ******************** */
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -68,8 +69,8 @@ void register_node_type_tex_invert(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 90, 80, 100);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_math.c b/source/blender/nodes/texture/nodes/node_texture_math.c
index 18468bdd55c..04f399069c1 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_math.c
+++ b/source/blender/nodes/texture/nodes/node_texture_math.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_math.c
+/** \file blender/nodes/texture/nodes/node_texture_math.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** SCALAR MATH ******************** */
-static bNodeSocketType inputs[]= {
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f},
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f},
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -189,8 +190,8 @@ void register_node_type_tex_math(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 120, 110, 160);
node_type_label(&ntype, node_math_label);
node_type_storage(&ntype, "node_math", NULL, NULL);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c b/source/blender/nodes/texture/nodes/node_texture_mixRgb.c
index c7668c27b99..933a0302df8 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c
+++ b/source/blender/nodes/texture/nodes/node_texture_mixRgb.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_mixRgb.c
+/** \file blender/nodes/texture/nodes/node_texture_mixRgb.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** MIX RGB ******************** */
-static bNodeSocketType inputs[]= {
- { SOCK_VALUE, 1, "Factor", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Color1", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f },
- { SOCK_RGBA , 1, "Color2", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_FLOAT, 1, "Factor", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR },
+ { SOCK_RGBA, 1, "Color1", 0.5f, 0.5f, 0.5f, 1.0f },
+ { SOCK_RGBA , 1, "Color2", 0.5f, 0.5f, 0.5f, 1.0f },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
@@ -69,8 +70,8 @@ void register_node_type_tex_mix_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 100, 60, 150);
node_type_label(&ntype, node_blend_label);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_output.c b/source/blender/nodes/texture/nodes/node_texture_output.c
index 046ad724507..3095e224446 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_output.c
+++ b/source/blender/nodes/texture/nodes/node_texture_output.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,18 +27,18 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_output.c
+/** \file blender/nodes/texture/nodes/node_texture_output.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** COMPOSITE ******************** */
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, PROP_DIRECTION},
{ -1, 0, "" }
};
@@ -141,7 +142,7 @@ static void assign_index(struct bNode *node)
node->custom1 = index;
}
-static void init(bNode *node)
+static void init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
TexNodeOutput *tno = MEM_callocN(sizeof(TexNodeOutput), "TEX_output");
node->storage= tno;
@@ -162,8 +163,8 @@ void register_node_type_tex_output(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_OUTPUT, "Output", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS,
- inputs, NULL);
+ node_type_base(&ntype, TEX_NODE_OUTPUT, "Output", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, NULL);
node_type_size(&ntype, 150, 60, 200);
node_type_init(&ntype, init);
node_type_storage(&ntype, "TexNodeOutput", node_free_standard_storage, copy);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_proc.c b/source/blender/nodes/texture/nodes/node_texture_proc.c
index 294c1f7322f..237e4d6923d 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_proc.c
+++ b/source/blender/nodes/texture/nodes/node_texture_proc.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,13 +27,13 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_proc.c
+/** \file blender/nodes/texture/nodes/node_texture_proc.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include "RE_shader_ext.h"
@@ -41,21 +42,21 @@
*/
-static bNodeSocketType outputs_both[]= {
- { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs_both[]= {
+ { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f },
+ { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, PROP_DIRECTION },
{ -1, 0, "" }
};
-static bNodeSocketType outputs_color_only[]= {
- { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs_color_only[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
/* Inputs common to all, #defined because nodes will need their own inputs too */
#define I 2 /* count */
#define COMMON_INPUTS \
- { SOCK_RGBA, 1, "Color 1", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, \
- { SOCK_RGBA, 1, "Color 2", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f }
+ { SOCK_RGBA, 1, "Color 1", 0.0f, 0.0f, 0.0f, 1.0f }, \
+ { SOCK_RGBA, 1, "Color 2", 1.0f, 1.0f, 1.0f, 1.0f }
/* Calls multitex and copies the result to the outputs. Called by xxx_exec, which handles inputs. */
static void do_proc(float *result, TexParams *p, float *col1, float *col2, char is_normal, Tex *tex, short thread)
@@ -139,15 +140,15 @@ static int count_outputs(bNode *node)
/* --- VORONOI -- */
-static bNodeSocketType voronoi_inputs[]= {
+static bNodeSocketTemplate voronoi_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "W1", 1.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f },
- { SOCK_VALUE, 1, "W2", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f },
- { SOCK_VALUE, 1, "W3", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f },
- { SOCK_VALUE, 1, "W4", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f },
+ { SOCK_FLOAT, 1, "W1", 1.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_NONE },
+ { SOCK_FLOAT, 1, "W2", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_NONE },
+ { SOCK_FLOAT, 1, "W3", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_NONE },
+ { SOCK_FLOAT, 1, "W4", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_NONE },
- { SOCK_VALUE, 1, "iScale", 1.0f, 0.0f, 0.0f, 0.0f, 0.01f, 10.0f },
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 4.0f },
+ { SOCK_FLOAT, 1, "iScale", 1.0f, 0.0f, 0.0f, 0.0f, 0.01f, 10.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 4.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
@@ -164,7 +165,7 @@ static void voronoi_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short th
ProcDef(voronoi)
/* --- BLEND -- */
-static bNodeSocketType blend_inputs[]= {
+static bNodeSocketTemplate blend_inputs[]= {
COMMON_INPUTS,
{ -1, 0, "" }
};
@@ -172,9 +173,9 @@ ProcNoInputs(blend)
ProcDef(blend)
/* -- MAGIC -- */
-static bNodeSocketType magic_inputs[]= {
+static bNodeSocketTemplate magic_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f },
+ { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void magic_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -184,10 +185,10 @@ static void magic_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thre
ProcDef(magic)
/* --- MARBLE --- */
-static bNodeSocketType marble_inputs[]= {
+static bNodeSocketTemplate marble_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
- { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void marble_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -198,9 +199,9 @@ static void marble_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thr
ProcDef(marble)
/* --- CLOUDS --- */
-static bNodeSocketType clouds_inputs[]= {
+static bNodeSocketTemplate clouds_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void clouds_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -210,10 +211,10 @@ static void clouds_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thr
ProcDef(clouds)
/* --- DISTORTED NOISE --- */
-static bNodeSocketType distnoise_inputs[]= {
+static bNodeSocketTemplate distnoise_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
- { SOCK_VALUE, 1, "Distortion", 1.00f, 0.0f, 0.0f, 0.0f, 0.0000f, 10.0f },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Distortion", 1.00f, 0.0f, 0.0f, 0.0f, 0.0000f, 10.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void distnoise_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -224,10 +225,10 @@ static void distnoise_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short
ProcDef(distnoise)
/* --- WOOD --- */
-static bNodeSocketType wood_inputs[]= {
+static bNodeSocketTemplate wood_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
- { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void wood_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -238,14 +239,14 @@ static void wood_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short threa
ProcDef(wood)
/* --- MUSGRAVE --- */
-static bNodeSocketType musgrave_inputs[]= {
+static bNodeSocketTemplate musgrave_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "H", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
- { SOCK_VALUE, 1, "Lacunarity", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6.0f },
- { SOCK_VALUE, 1, "Octaves", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 8.0f },
+ { SOCK_FLOAT, 1, "H", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Lacunarity", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Octaves", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 8.0f, PROP_UNSIGNED },
- { SOCK_VALUE, 1, "iScale", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f },
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
+ { SOCK_FLOAT, 1, "iScale", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void musgrave_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -259,7 +260,7 @@ static void musgrave_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short t
ProcDef(musgrave)
/* --- NOISE --- */
-static bNodeSocketType noise_inputs[]= {
+static bNodeSocketTemplate noise_inputs[]= {
COMMON_INPUTS,
{ -1, 0, "" }
};
@@ -267,10 +268,10 @@ ProcNoInputs(noise)
ProcDef(noise)
/* --- STUCCI --- */
-static bNodeSocketType stucci_inputs[]= {
+static bNodeSocketTemplate stucci_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
- { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void stucci_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -282,7 +283,7 @@ ProcDef(stucci)
/* --- */
-static void init(bNode *node)
+static void init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
Tex *tex = MEM_callocN(sizeof(Tex), "Tex");
node->storage= tex;
@@ -301,7 +302,8 @@ void register_node_type_tex_proc_##name(ListBase *lb) \
{ \
static bNodeType ntype; \
\
- node_type_base(&ntype, TEX_NODE_PROC+TEXTYPE, Name, NODE_CLASS_TEXTURE, NODE_PREVIEW|NODE_OPTIONS, name##_inputs, outputs); \
+ node_type_base(&ntype, TEX_NODE_PROC+TEXTYPE, Name, NODE_CLASS_TEXTURE, NODE_PREVIEW|NODE_OPTIONS); \
+ node_type_socket_templates(&ntype, name##_inputs, outputs); \
node_type_size(&ntype, 140, 80, 140); \
node_type_init(&ntype, init); \
node_type_storage(&ntype, "Tex", node_free_standard_storage, node_copy_standard_storage); \
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c b/source/blender/nodes/texture/nodes/node_texture_rotate.c
index 1be6152a2b3..afba9f199f9 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c
+++ b/source/blender/nodes/texture/nodes/node_texture_rotate.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_rotate.c
+/** \file blender/nodes/texture/nodes/node_texture_rotate.c
* \ingroup texnodes
*/
#include <math.h>
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Turns", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
- { SOCK_VECTOR, 1, "Axis", 0.0f, 0.0f, 1.0f, 0.0f, -1.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Turns", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE },
+ { SOCK_VECTOR, 1, "Axis", 0.0f, 0.0f, 1.0f, 0.0f, -1.0f, 1.0f, PROP_DIRECTION },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -100,8 +101,8 @@ void register_node_type_tex_rotate(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_ROTATE, "Rotate", NODE_CLASS_DISTORT, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_ROTATE, "Rotate", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_scale.c b/source/blender/nodes/texture/nodes/node_texture_scale.c
index cfffcfda2e5..e3aee35977a 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_scale.c
+++ b/source/blender/nodes/texture/nodes/node_texture_scale.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_scale.c
+/** \file blender/nodes/texture/nodes/node_texture_scale.c
* \ingroup texnodes
*/
#include <math.h>
-#include "../TEX_util.h"
+#include "node_texture_util.h"
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VECTOR, 1, "Scale", 1.0f, 1.0f, 1.0f, 0.0f, -10.0f, 10.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f },
+ { SOCK_VECTOR, 1, "Scale", 1.0f, 1.0f, 1.0f, 0.0f, -10.0f, 10.0f, PROP_FACTOR },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -73,8 +74,8 @@ void register_node_type_tex_scale(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_SCALE, "Scale", NODE_CLASS_DISTORT, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_SCALE, "Scale", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 90, 80, 100);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c b/source/blender/nodes/texture/nodes/node_texture_texture.c
index d4d77b5fd5a..96d6325671a 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c
+++ b/source/blender/nodes/texture/nodes/node_texture_texture.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,41 +27,41 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_texture.c
+/** \file blender/nodes/texture/nodes/node_texture_texture.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include "RE_shader_ext.h"
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color1", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Color2", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color1", 1.0f, 1.0f, 1.0f, 1.0f },
+ { SOCK_RGBA, 1, "Color2", 0.0f, 0.0f, 0.0f, 1.0f },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, short thread)
{
+ Tex *nodetex = (Tex *)node->id;
static float red[] = {1,0,0,1};
static float white[] = {1,1,1,1};
- float *co = p->co;
+ float co[3], dxt[3], dyt[3];
- Tex *nodetex = (Tex *)node->id;
+ copy_v3_v3(co, p->co);
+ copy_v3_v3(dxt, p->dxt);
+ copy_v3_v3(dyt, p->dyt);
if(node->custom2 || node->need_exec==0) {
/* this node refers to its own texture tree! */
- QUATCOPY(
- out,
- (fabs(co[0] - co[1]) < .01) ? white : red
- );
+ QUATCOPY(out, (fabs(co[0] - co[1]) < .01) ? white : red );
}
else if(nodetex) {
TexResult texres;
@@ -72,7 +73,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
tex_input_rgba(col2, in[1], p, thread);
texres.nor = nor;
- textype = multitex_nodes(nodetex, co, p->dxt, p->dyt, p->osatex,
+ textype = multitex_nodes(nodetex, co, dxt, dyt, p->osatex,
&texres, thread, 0, p->shi, p->mtex);
if(textype & TEX_RGB) {
@@ -94,8 +95,8 @@ void register_node_type_tex_texture(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 120, 80, 240);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_translate.c b/source/blender/nodes/texture/nodes/node_texture_translate.c
index 8f7d6d837d7..b970bfbff76 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_translate.c
+++ b/source/blender/nodes/texture/nodes/node_texture_translate.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_translate.c
+/** \file blender/nodes/texture/nodes/node_texture_translate.c
* \ingroup texnodes
*/
#include <math.h>
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_VECTOR, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f, PROP_TRANSLATION },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -69,8 +70,8 @@ void register_node_type_tex_translate(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_TRANSLATE, "Translate", NODE_CLASS_DISTORT, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_TRANSLATE, "Translate", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 90, 80, 100);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c b/source/blender/nodes/texture/nodes/node_texture_valToNor.c
index e430c0c9a95..523f416568c 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c
+++ b/source/blender/nodes/texture/nodes/node_texture_valToNor.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_valToNor.c
+/** \file blender/nodes/texture/nodes/node_texture_valToNor.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_VALUE, 1, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Nabla", 0.025f, 0.0f, 0.0f, 0.0f, 0.001f, 0.1f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_FLOAT, 1, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE },
+ { SOCK_FLOAT, 1, "Nabla", 0.025f, 0.0f, 0.0f, 0.0f, 0.001f, 0.1f, PROP_UNSIGNED },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_VECTOR, 0, "Normal" },
{ -1, 0, "" }
};
@@ -85,8 +86,8 @@ void register_node_type_tex_valtonor(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_VALTONOR, "Value to Normal", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_VALTONOR, "Value to Normal", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 90, 80, 100);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c b/source/blender/nodes/texture/nodes/node_texture_valToRgb.c
index 8f59828081c..6398a398b32 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c
+++ b/source/blender/nodes/texture/nodes/node_texture_valToRgb.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_valToRgb.c
+/** \file blender/nodes/texture/nodes/node_texture_valToRgb.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** VALTORGB ******************** */
-static bNodeSocketType valtorgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate valtorgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType valtorgb_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate valtorgb_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -59,7 +59,7 @@ static void valtorgb_exec(void *data, bNode *node, bNodeStack **in, bNodeStack *
tex_output(node, in, out[0], &valtorgb_colorfn, data);
}
-static void valtorgb_init(bNode *node)
+static void valtorgb_init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage = add_colorband(1);
}
@@ -68,8 +68,8 @@ void register_node_type_tex_valtorgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- valtorgb_in, valtorgb_out);
+ node_type_base(&ntype, TEX_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, valtorgb_in, valtorgb_out);
node_type_size(&ntype, 240, 200, 300);
node_type_init(&ntype, valtorgb_init);
node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage);
@@ -79,12 +79,12 @@ void register_node_type_tex_valtorgb(ListBase *lb)
}
/* **************** RGBTOBW ******************** */
-static bNodeSocketType rgbtobw_in[]= {
+static bNodeSocketTemplate rgbtobw_in[]= {
{ SOCK_RGBA, 1, "Color", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType rgbtobw_out[]= {
- { SOCK_VALUE, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate rgbtobw_out[]= {
+ { SOCK_FLOAT, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
@@ -106,8 +106,8 @@ void register_node_type_tex_rgbtobw(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0,
- rgbtobw_in, rgbtobw_out);
+ node_type_base(&ntype, TEX_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, rgbtobw_in, rgbtobw_out);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, rgbtobw_exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c b/source/blender/nodes/texture/nodes/node_texture_viewer.c
index e917e525e17..b0aa74a83b2 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c
+++ b/source/blender/nodes/texture/nodes/node_texture_viewer.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,20 +27,20 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_viewer.c
+/** \file blender/nodes/texture/nodes/node_texture_viewer.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include <math.h>
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 1.0f, 0.0f, 0.0f, 1.0f },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
+static bNodeSocketTemplate outputs[]= {
{ -1, 0, "" }
};
@@ -61,8 +62,8 @@ void register_node_type_tex_viewer(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 100, 60, 150);
node_type_exec(&ntype, exec);
diff --git a/source/blender/python/BPY_extern.h b/source/blender/python/BPY_extern.h
index ae5253d07a0..cd5c8e53ef7 100644
--- a/source/blender/python/BPY_extern.h
+++ b/source/blender/python/BPY_extern.h
@@ -83,6 +83,8 @@ void BPY_text_free_code(struct Text *text);
void BPY_modules_update(struct bContext *C); // XXX - annoying, need this for pointers that get out of date
void BPY_modules_load_user(struct bContext *C);
+void BPY_app_handlers_reset(void);
+
void BPY_driver_reset(void);
float BPY_driver_exec(struct ChannelDriver *driver);
diff --git a/source/blender/python/CMakeLists.txt b/source/blender/python/CMakeLists.txt
index fe9e0307703..8071edb378f 100644
--- a/source/blender/python/CMakeLists.txt
+++ b/source/blender/python/CMakeLists.txt
@@ -18,3 +18,4 @@
add_subdirectory(intern)
add_subdirectory(generic)
+add_subdirectory(mathutils)
diff --git a/source/blender/python/SConscript b/source/blender/python/SConscript
index de6b859d259..dec0de4a6ab 100644
--- a/source/blender/python/SConscript
+++ b/source/blender/python/SConscript
@@ -1,6 +1,6 @@
#!/usr/bin/python
-# TODO, split into 2 files.
+# TODO, split into 3 files.
Import ('env')
@@ -18,7 +18,14 @@ if is_debug:
defs.append('_DEBUG')
sources = env.Glob('generic/*.c')
-env.BlenderLib( libname = 'bf_python_ext', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [362,165]) # ketsji is 360
+env.BlenderLib( libname = 'bf_python_ext', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [363,165]) # ketsji is 360
+
+
+# mathutils
+defs = []
+
+sources = env.Glob('mathutils/*.c')
+env.BlenderLib( libname = 'bf_python_mathutils', sources = Split(sources), includes = Split(incs), defines = defs, libtype = ['core','player'], priority = [362,165])
# bpy
diff --git a/source/blender/python/generic/CMakeLists.txt b/source/blender/python/generic/CMakeLists.txt
index 0889c77f9ad..8dfbf476995 100644
--- a/source/blender/python/generic/CMakeLists.txt
+++ b/source/blender/python/generic/CMakeLists.txt
@@ -20,10 +20,10 @@
set(INC
.
- ../../blenlib
- ../../makesdna
../../blenkernel
+ ../../blenlib
../../blenloader
+ ../../makesdna
../../../../intern/guardedalloc
)
@@ -37,13 +37,6 @@ set(SRC
bgl.c
blf_py_api.c
bpy_internal_import.c
- mathutils.c
- mathutils_Color.c
- mathutils_Euler.c
- mathutils_Matrix.c
- mathutils_Quaternion.c
- mathutils_Vector.c
- mathutils_geometry.c
noise_py_api.c
py_capi_utils.c
@@ -51,13 +44,6 @@ set(SRC
bgl.h
blf_py_api.h
bpy_internal_import.h
- mathutils.h
- mathutils_Color.h
- mathutils_Euler.h
- mathutils_Matrix.h
- mathutils_Quaternion.h
- mathutils_Vector.h
- mathutils_geometry.h
noise_py_api.h
py_capi_utils.h
)
diff --git a/source/blender/python/generic/IDProp.c b/source/blender/python/generic/IDProp.c
index a807624187a..2543d34f58c 100644
--- a/source/blender/python/generic/IDProp.c
+++ b/source/blender/python/generic/IDProp.c
@@ -45,26 +45,31 @@
#include "py_capi_utils.h"
#endif
-extern PyTypeObject IDArray_Type;
-extern PyTypeObject IDGroup_Iter_Type;
+extern PyTypeObject BPy_IDArray_Type;
+extern PyTypeObject BPy_IDGroup_Iter_Type;
+extern PyTypeObject BPy_IDGroup_Type;
/*********************** ID Property Main Wrapper Stuff ***************/
-static PyObject *IDGroup_repr( BPy_IDProperty *self )
+/* use for both array and group */
+static long BPy_IDGroup_hash(BPy_IDProperty *self)
{
- return PyUnicode_FromFormat( "<bpy ID property from \"%s\">", self->id->name);
+ return _Py_HashPointer(self->prop);
}
-extern PyTypeObject IDGroup_Type;
+static PyObject *BPy_IDGroup_repr(BPy_IDProperty *self)
+{
+ return PyUnicode_FromFormat( "<bpy id property from \"%s\">", self->id->name);
+}
PyObject *BPy_IDGroup_WrapData( ID *id, IDProperty *prop )
{
switch ( prop->type ) {
case IDP_STRING:
#ifdef USE_STRING_COERCE
- return PyC_UnicodeFromByte(prop->data.pointer);
+ return PyC_UnicodeFromByte(IDP_Array(prop));
#else
- return PyUnicode_FromString(prop->data.pointer);
+ return PyUnicode_FromString(IDP_Array(prop));
#endif
case IDP_INT:
return PyLong_FromLong( (long)prop->data.val );
@@ -75,14 +80,14 @@ PyObject *BPy_IDGroup_WrapData( ID *id, IDProperty *prop )
case IDP_GROUP:
/*blegh*/
{
- BPy_IDProperty *group = PyObject_New(BPy_IDProperty, &IDGroup_Type);
+ BPy_IDProperty *group = PyObject_New(BPy_IDProperty, &BPy_IDGroup_Type);
group->id = id;
group->prop = prop;
return (PyObject*) group;
}
case IDP_ARRAY:
{
- BPy_IDProperty *array = PyObject_New(BPy_IDProperty, &IDArray_Type);
+ BPy_IDProperty *array = PyObject_New(BPy_IDProperty, &BPy_IDArray_Type);
array->id = id;
array->prop = prop;
return (PyObject*) array;
@@ -135,13 +140,13 @@ static int BPy_IDGroup_SetData(BPy_IDProperty *self, IDProperty *prop, PyObject
st = _PyUnicode_AsString(value);
IDP_ResizeArray(prop, alloc_len);
- memcpy(prop->data.pointer, st, alloc_len);
+ memcpy(IDP_Array(prop), st, alloc_len);
Py_XDECREF(value_coerce);
}
#else
st = _PyUnicode_AsString(value);
IDP_ResizeArray(prop, strlen(st)+1);
- strcpy(prop->data.pointer, st);
+ strcpy(IDP_Array(prop), st);
#endif
return 0;
@@ -344,7 +349,7 @@ const char *BPy_IDProperty_Map_ValidateAndCreate(const char *name, IDProperty *g
prop = IDP_New(IDP_ARRAY, val, name);
for (i=0; i<val.array.len; i++) {
item = PySequence_GetItem(ob, i);
- ((double*)prop->data.pointer)[i] = (float)PyFloat_AsDouble(item);
+ ((double*)IDP_Array(prop))[i] = (float)PyFloat_AsDouble(item);
Py_DECREF(item);
}
break;
@@ -352,7 +357,7 @@ const char *BPy_IDProperty_Map_ValidateAndCreate(const char *name, IDProperty *g
prop = IDP_New(IDP_ARRAY, val, name);
for (i=0; i<val.array.len; i++) {
item = PySequence_GetItem(ob, i);
- ((int*)prop->data.pointer)[i] = (int)PyLong_AsSsize_t(item);
+ ((int*)IDP_Array(prop))[i] = (int)PyLong_AsSsize_t(item);
Py_DECREF(item);
}
break;
@@ -465,9 +470,9 @@ static int BPy_IDGroup_Map_SetItem(BPy_IDProperty *self, PyObject *key, PyObject
return BPy_Wrap_SetMapItem(self->prop, key, val);
}
-static PyObject *BPy_IDGroup_SpawnIterator(BPy_IDProperty *self)
+static PyObject *BPy_IDGroup_iter(BPy_IDProperty *self)
{
- BPy_IDGroup_Iter *iter = PyObject_New(BPy_IDGroup_Iter, &IDGroup_Iter_Type);
+ BPy_IDGroup_Iter *iter = PyObject_New(BPy_IDGroup_Iter, &BPy_IDGroup_Iter_Type);
iter->group = self;
iter->mode = IDPROP_ITER_KEYS;
iter->cur = self->prop->data.group.first;
@@ -480,9 +485,9 @@ static PyObject *BPy_IDGroup_MapDataToPy(IDProperty *prop)
switch (prop->type) {
case IDP_STRING:
#ifdef USE_STRING_COERCE
- return PyC_UnicodeFromByte(prop->data.pointer);
+ return PyC_UnicodeFromByte(IDP_Array(prop));
#else
- return PyUnicode_FromString(prop->data.pointer);
+ return PyUnicode_FromString(IDP_Array(prop));
#endif
break;
case IDP_FLOAT:
@@ -504,20 +509,37 @@ static PyObject *BPy_IDGroup_MapDataToPy(IDProperty *prop)
return NULL;
}
- for (i=0; i<prop->len; i++) {
- if (prop->subtype == IDP_FLOAT) {
- PyList_SET_ITEM(seq, i,
- PyFloat_FromDouble(((float*)prop->data.pointer)[i]));
+ switch(prop->subtype) {
+ case IDP_FLOAT:
+ {
+ float *array= (float*)IDP_Array(prop);
+ for (i=0; i<prop->len; i++) {
+ PyList_SET_ITEM(seq, i, PyFloat_FromDouble(array[i]));
+ }
+ break;
}
- else if (prop->subtype == IDP_DOUBLE) {
- PyList_SET_ITEM(seq, i,
- PyFloat_FromDouble(((double*)prop->data.pointer)[i]));
+ case IDP_DOUBLE:
+ {
+ double *array= (double*)IDP_Array(prop);
+ for (i=0; i<prop->len; i++) {
+ PyList_SET_ITEM(seq, i, PyFloat_FromDouble(array[i]));
+ }
+ break;
}
- else {
- PyList_SET_ITEM(seq, i,
- PyLong_FromLong(((int*)prop->data.pointer)[i]));
+ case IDP_INT:
+ {
+ int *array= (int*)IDP_Array(prop);
+ for (i=0; i<prop->len; i++) {
+ PyList_SET_ITEM(seq, i, PyLong_FromLong(array[i]));
+ }
+ break;
}
+ default:
+ PyErr_SetString(PyExc_RuntimeError, "invalid/corrupt array type!");
+ Py_DECREF(seq);
+ return NULL;
}
+
return seq;
}
case IDP_IDPARRAY:
@@ -553,6 +575,7 @@ static PyObject *BPy_IDGroup_MapDataToPy(IDProperty *prop)
return NULL;
PyDict_SetItemString(dict, loop->name, wrap);
+ Py_DECREF(wrap);
}
return dict;
}
@@ -595,7 +618,7 @@ static PyObject *BPy_IDGroup_Pop(BPy_IDProperty *self, PyObject *value)
static PyObject *BPy_IDGroup_IterItems(BPy_IDProperty *self)
{
- BPy_IDGroup_Iter *iter = PyObject_New(BPy_IDGroup_Iter, &IDGroup_Iter_Type);
+ BPy_IDGroup_Iter *iter = PyObject_New(BPy_IDGroup_Iter, &BPy_IDGroup_Iter_Type);
iter->group = self;
iter->mode = IDPROP_ITER_ITEMS;
iter->cur = self->prop->data.group.first;
@@ -731,7 +754,7 @@ static PyObject *BPy_IDGroup_Update(BPy_IDProperty *self, PyObject *value)
Py_RETURN_NONE;
}
-static PyObject *BPy_IDGroup_ConvertToPy(BPy_IDProperty *self)
+static PyObject *BPy_IDGroup_to_dict(BPy_IDProperty *self)
{
return BPy_IDGroup_MapDataToPy(self->prop);
}
@@ -773,7 +796,7 @@ static struct PyMethodDef BPy_IDGroup_methods[] = {
"updates the values in the group with the values of another or a dict"},
{"get", (PyCFunction)BPy_IDGroup_Get, METH_VARARGS,
"idprop.get(k[,d]) -> idprop[k] if k in idprop, else d. d defaults to None"},
- {"convert_to_pyobject", (PyCFunction)BPy_IDGroup_ConvertToPy, METH_NOARGS,
+ {"to_dict", (PyCFunction)BPy_IDGroup_to_dict, METH_NOARGS,
"return a purely python version of the group"},
{NULL, NULL, 0, NULL}
};
@@ -792,16 +815,16 @@ static PySequenceMethods BPy_IDGroup_Seq = {
};
static PyMappingMethods BPy_IDGroup_Mapping = {
- (lenfunc)BPy_IDGroup_Map_Len, /*inquiry mp_length */
- (binaryfunc)BPy_IDGroup_Map_GetItem, /*binaryfunc mp_subscript */
+ (lenfunc)BPy_IDGroup_Map_Len, /*inquiry mp_length */
+ (binaryfunc)BPy_IDGroup_Map_GetItem,/*binaryfunc mp_subscript */
(objobjargproc)BPy_IDGroup_Map_SetItem, /*objobjargproc mp_ass_subscript */
};
-PyTypeObject IDGroup_Type = {
+PyTypeObject BPy_IDGroup_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
/* For printing, in format "<module>.<name>" */
- "Blender IDProperty", /* char *tp_name; */
- sizeof( BPy_IDProperty ), /* int tp_basicsize; */
+ "Blender IDProperty", /* char *tp_name; */
+ sizeof(BPy_IDProperty), /* int tp_basicsize; */
0, /* tp_itemsize; For allocation */
/* Methods to implement standard operations */
@@ -811,7 +834,7 @@ PyTypeObject IDGroup_Type = {
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL, /* cmpfunc tp_compare; */
- ( reprfunc ) IDGroup_repr, /* reprfunc tp_repr; */
+ (reprfunc)BPy_IDGroup_repr, /* reprfunc tp_repr; */
/* Method suites for standard classes */
@@ -821,7 +844,7 @@ PyTypeObject IDGroup_Type = {
/* More standard operations (here for binary compatibility) */
- NULL, /* hashfunc tp_hash; */
+ (hashfunc)BPy_IDGroup_hash, /* hashfunc tp_hash; */
NULL, /* ternaryfunc tp_call; */
NULL, /* reprfunc tp_str; */
NULL, /* getattrofunc tp_getattro; */
@@ -850,7 +873,7 @@ PyTypeObject IDGroup_Type = {
/*** Added in release 2.2 ***/
/* Iterators */
- (getiterfunc)BPy_IDGroup_SpawnIterator, /* getiterfunc tp_iter; */
+ (getiterfunc)BPy_IDGroup_iter, /* getiterfunc tp_iter; */
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
BPy_IDGroup_methods, /* struct PyMethodDef *tp_methods; */
@@ -861,7 +884,7 @@ PyTypeObject IDGroup_Type = {
/*********** Main external wrapping function *******/
PyObject *BPy_Wrap_IDProperty(ID *id, IDProperty *prop, IDProperty *parent)
{
- BPy_IDProperty *wrap = PyObject_New(BPy_IDProperty, &IDGroup_Type);
+ BPy_IDProperty *wrap = PyObject_New(BPy_IDProperty, &BPy_IDGroup_Type);
wrap->prop = prop;
wrap->parent = parent;
wrap->id = id;
@@ -872,36 +895,58 @@ PyObject *BPy_Wrap_IDProperty(ID *id, IDProperty *prop, IDProperty *parent)
/********Array Wrapper********/
-static PyObject *IDArray_repr(BPy_IDArray *self)
+static PyTypeObject *idp_array_py_type(BPy_IDArray *self, short *is_double)
{
- return PyUnicode_FromFormat("(ID Array [%d])", self->prop->len);
-}
+ switch (self->prop->subtype) {
+ case IDP_FLOAT:
+ *is_double= 0;
+ return &PyFloat_Type;
+ case IDP_DOUBLE:
+ *is_double= 1;
+ return &PyFloat_Type;
+ case IDP_INT:
+ *is_double= 0;
+ return &PyLong_Type;
+ }
+ *is_double= 0;
+ return NULL;
+}
-static PyObject *BPy_IDArray_GetType(BPy_IDArray *self)
+static PyObject *BPy_IDArray_repr(BPy_IDArray *self)
{
- return PyLong_FromSsize_t( self->prop->subtype );
+ return PyUnicode_FromFormat("<bpy id property array [%d]>", self->prop->len);
}
-static PyObject *BPy_IDArray_GetLen(BPy_IDArray *self)
+static PyObject *BPy_IDArray_GetType(BPy_IDArray *self)
{
- return PyLong_FromSsize_t( self->prop->len );
+ switch(self->prop->subtype) {
+ case IDP_FLOAT:
+ return PyUnicode_FromString("f");
+ case IDP_DOUBLE:
+ return PyUnicode_FromString("d");
+ case IDP_INT:
+ return PyUnicode_FromString("i");
+ }
+
+ PyErr_SetString(PyExc_RuntimeError, "invalid/corrupt array type!");
+ return NULL;
}
static PyGetSetDef BPy_IDArray_getseters[] = {
- {(char *)"len", (getter)BPy_IDArray_GetLen, (setter)NULL, (char *)"The length of the array, can also be gotten with len(array).", NULL},
- {(char *)"type", (getter)BPy_IDArray_GetType, (setter)NULL, (char *)"The type of the data in the array, is an ant.", NULL},
+ /* matches pythons array.typecode */
+ {(char *)"typecode", (getter)BPy_IDArray_GetType, (setter)NULL, (char *)"The type of the data in the array, is an int.", NULL},
{NULL, NULL, NULL, NULL, NULL},
};
-static PyObject *BPy_IDArray_ConvertToPy(BPy_IDArray *self)
+static PyObject *BPy_IDArray_to_list(BPy_IDArray *self)
{
return BPy_IDGroup_MapDataToPy(self->prop);
}
static PyMethodDef BPy_IDArray_methods[] = {
- {"convert_to_pyobject", (PyCFunction)BPy_IDArray_ConvertToPy, METH_NOARGS,
- "return a purely python version of the group"},
+ {"to_list", (PyCFunction)BPy_IDArray_to_list, METH_NOARGS,
+ "return the array as a list"},
{NULL, NULL, 0, NULL}
};
@@ -919,14 +964,11 @@ static PyObject *BPy_IDArray_GetItem(BPy_IDArray *self, int index)
switch (self->prop->subtype) {
case IDP_FLOAT:
- return PyFloat_FromDouble( (double)(((float*)self->prop->data.pointer)[index]));
- break;
+ return PyFloat_FromDouble(((float*)IDP_Array(self->prop))[index]);
case IDP_DOUBLE:
- return PyFloat_FromDouble( (((double*)self->prop->data.pointer)[index]));
- break;
+ return PyFloat_FromDouble(((double*)IDP_Array(self->prop))[index]);
case IDP_INT:
- return PyLong_FromLong( (long)((int*)self->prop->data.pointer)[index] );
- break;
+ return PyLong_FromLong((long)((int*)IDP_Array(self->prop))[index]);
}
PyErr_SetString(PyExc_RuntimeError, "invalid/corrupt array type!");
@@ -951,7 +993,7 @@ static int BPy_IDArray_SetItem(BPy_IDArray *self, int index, PyObject *value)
PyErr_SetString(PyExc_TypeError, "expected a float");
return -1;
}
- ((float*)self->prop->data.pointer)[index] = f;
+ ((float*)IDP_Array(self->prop))[index] = f;
break;
case IDP_DOUBLE:
d= PyFloat_AsDouble(value);
@@ -959,7 +1001,7 @@ static int BPy_IDArray_SetItem(BPy_IDArray *self, int index, PyObject *value)
PyErr_SetString(PyExc_TypeError, "expected a float");
return -1;
}
- ((double*)self->prop->data.pointer)[index] = d;
+ ((double*)IDP_Array(self->prop))[index] = d;
break;
case IDP_INT:
i= PyLong_AsSsize_t(value);
@@ -968,7 +1010,7 @@ static int BPy_IDArray_SetItem(BPy_IDArray *self, int index, PyObject *value)
return -1;
}
- ((int*)self->prop->data.pointer)[index] = i;
+ ((int*)IDP_Array(self->prop))[index] = i;
break;
}
return 0;
@@ -988,11 +1030,156 @@ static PySequenceMethods BPy_IDArray_Seq = {
NULL, /* intargfunc sq_inplace_repeat */
};
-PyTypeObject IDArray_Type = {
+
+
+/* sequence slice (get): idparr[a:b] */
+static PyObject *BPy_IDArray_slice(BPy_IDArray *self, int begin, int end)
+{
+ IDProperty *prop= self->prop;
+ PyObject *tuple;
+ int count;
+
+ CLAMP(begin, 0, prop->len);
+ if (end<0) end= prop->len+end+1;
+ CLAMP(end, 0, prop->len);
+ begin= MIN2(begin, end);
+
+ tuple= PyTuple_New(end - begin);
+
+ switch (prop->subtype) {
+ case IDP_FLOAT:
+ {
+ float *array= (float*)IDP_Array(prop);
+ for(count = begin; count < end; count++) {
+ PyTuple_SET_ITEM(tuple, count - begin, PyFloat_FromDouble(array[count]));
+ }
+ break;
+ }
+ case IDP_DOUBLE:
+ {
+ double *array= (double*)IDP_Array(prop);
+ for(count = begin; count < end; count++) {
+ PyTuple_SET_ITEM(tuple, count - begin, PyFloat_FromDouble(array[count]));
+ }
+ break;
+ }
+ case IDP_INT:
+ {
+ int *array= (int*)IDP_Array(prop);
+ for(count = begin; count < end; count++) {
+ PyTuple_SET_ITEM(tuple, count - begin, PyLong_FromLong(array[count]));
+ }
+ break;
+ }
+ }
+
+ return tuple;
+}
+/* sequence slice (set): idparr[a:b] = value */
+static int BPy_IDArray_ass_slice(BPy_IDArray *self, int begin, int end, PyObject *seq)
+{
+ IDProperty *prop= self->prop;
+ short is_double= 0;
+ const PyTypeObject *py_type= idp_array_py_type(self, &is_double);
+ const size_t elem_size= is_double ? sizeof(double) : sizeof(float);
+ size_t alloc_len;
+ size_t size;
+ void *vec;
+
+ CLAMP(begin, 0, prop->len);
+ CLAMP(end, 0, prop->len);
+ begin = MIN2(begin, end);
+
+ size = (end - begin);
+ alloc_len= size * elem_size;
+
+ vec= MEM_mallocN(alloc_len, "array assignment"); /* NOTE: we count on int/float being the same size here */
+ if(PyC_AsArray(vec, seq, size, py_type, is_double, "slice assignment: ") == -1) {
+ MEM_freeN(vec);
+ return -1;
+ }
+
+ memcpy((void *)(((char *)IDP_Array(prop)) + (begin * elem_size)), vec, alloc_len);
+
+ MEM_freeN(vec);
+ return 0;
+}
+
+static PyObject *BPy_IDArray_subscript(BPy_IDArray* self, PyObject* item)
+{
+ if (PyIndex_Check(item)) {
+ Py_ssize_t i;
+ i = PyNumber_AsSsize_t(item, PyExc_IndexError);
+ if (i == -1 && PyErr_Occurred())
+ return NULL;
+ if (i < 0)
+ i += self->prop->len;
+ return BPy_IDArray_GetItem(self, i);
+ }
+ else if (PySlice_Check(item)) {
+ Py_ssize_t start, stop, step, slicelength;
+
+ if (PySlice_GetIndicesEx((void *)item, self->prop->len, &start, &stop, &step, &slicelength) < 0)
+ return NULL;
+
+ if (slicelength <= 0) {
+ return PyTuple_New(0);
+ }
+ else if (step == 1) {
+ return BPy_IDArray_slice(self, start, stop);
+ }
+ else {
+ PyErr_SetString(PyExc_TypeError, "slice steps not supported with vectors");
+ return NULL;
+ }
+ }
+ else {
+ PyErr_Format(PyExc_TypeError, "vector indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ return NULL;
+ }
+}
+
+static int BPy_IDArray_ass_subscript(BPy_IDArray* self, PyObject* item, PyObject* value)
+{
+ if (PyIndex_Check(item)) {
+ Py_ssize_t i = PyNumber_AsSsize_t(item, PyExc_IndexError);
+ if (i == -1 && PyErr_Occurred())
+ return -1;
+ if (i < 0)
+ i += self->prop->len;
+ return BPy_IDArray_SetItem(self, i, value);
+ }
+ else if (PySlice_Check(item)) {
+ Py_ssize_t start, stop, step, slicelength;
+
+ if (PySlice_GetIndicesEx((void *)item, self->prop->len, &start, &stop, &step, &slicelength) < 0)
+ return -1;
+
+ if (step == 1)
+ return BPy_IDArray_ass_slice(self, start, stop, value);
+ else {
+ PyErr_SetString(PyExc_TypeError, "slice steps not supported with vectors");
+ return -1;
+ }
+ }
+ else {
+ PyErr_Format(PyExc_TypeError, "vector indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ return -1;
+ }
+}
+
+static PyMappingMethods BPy_IDArray_AsMapping = {
+ (lenfunc)BPy_IDArray_Len,
+ (binaryfunc)BPy_IDArray_subscript,
+ (objobjargproc)BPy_IDArray_ass_subscript
+};
+
+
+PyTypeObject BPy_IDArray_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
/* For printing, in format "<module>.<name>" */
"Blender IDArray", /* char *tp_name; */
- sizeof( BPy_IDArray ), /* int tp_basicsize; */
+ sizeof(BPy_IDArray), /* int tp_basicsize; */
0, /* tp_itemsize; For allocation */
/* Methods to implement standard operations */
@@ -1002,17 +1189,17 @@ PyTypeObject IDArray_Type = {
NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
NULL, /* cmpfunc tp_compare; */
- ( reprfunc ) IDArray_repr, /* reprfunc tp_repr; */
+ (reprfunc)BPy_IDArray_repr, /* reprfunc tp_repr; */
/* Method suites for standard classes */
NULL, /* PyNumberMethods *tp_as_number; */
- &BPy_IDArray_Seq, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
+ &BPy_IDArray_Seq, /* PySequenceMethods *tp_as_sequence; */
+ &BPy_IDArray_AsMapping, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- NULL, /* hashfunc tp_hash; */
+ NULL, /* hashfunc tp_hash; */
NULL, /* ternaryfunc tp_call; */
NULL, /* reprfunc tp_str; */
NULL, /* getattrofunc tp_getattro; */
@@ -1106,7 +1293,7 @@ static PyObject *BPy_Group_Iter_Next(BPy_IDGroup_Iter *self)
}
}
-PyTypeObject IDGroup_Iter_Type = {
+PyTypeObject BPy_IDGroup_Iter_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
/* For printing, in format "<module>.<name>" */
"Blender IDGroup_Iter", /* char *tp_name; */
@@ -1165,7 +1352,7 @@ PyTypeObject IDGroup_Iter_Type = {
void IDProp_Init_Types(void)
{
- PyType_Ready( &IDGroup_Type );
- PyType_Ready( &IDGroup_Iter_Type );
- PyType_Ready( &IDArray_Type );
+ PyType_Ready(&BPy_IDGroup_Type);
+ PyType_Ready(&BPy_IDGroup_Iter_Type);
+ PyType_Ready(&BPy_IDArray_Type);
}
diff --git a/source/blender/python/generic/IDProp.h b/source/blender/python/generic/IDProp.h
index 0ca8af81f7c..aca5c0195cc 100644
--- a/source/blender/python/generic/IDProp.h
+++ b/source/blender/python/generic/IDProp.h
@@ -37,14 +37,15 @@ struct BPy_IDGroup_Iter;
typedef struct BPy_IDProperty {
PyObject_VAR_HEAD
struct ID *id;
- struct IDProperty *prop, *parent;
+ struct IDProperty *prop; /* must be second member */
+ struct IDProperty *parent;
PyObject *data_wrap;
} BPy_IDProperty;
typedef struct BPy_IDArray {
PyObject_VAR_HEAD
struct ID *id;
- struct IDProperty *prop;
+ struct IDProperty *prop; /* must be second member */
} BPy_IDArray;
typedef struct BPy_IDGroup_Iter {
diff --git a/source/blender/python/generic/bgl.c b/source/blender/python/generic/bgl.c
index b5a693c397c..ae8069cf3c5 100644
--- a/source/blender/python/generic/bgl.c
+++ b/source/blender/python/generic/bgl.c
@@ -44,69 +44,177 @@
#include "BLI_utildefines.h"
-
-PyDoc_STRVAR(Method_Buffer_doc,
- "(type, dimensions, [template]) - Create a new Buffer object\n\n\
-(type) - The format to store data in\n\
-(dimensions) - An int or sequence specifying the dimensions of the buffer\n\
-[template] - A sequence of matching dimensions to the buffer to be created\n\
- which will be used to initialize the Buffer.\n\n\
-If a template is not passed in all fields will be initialized to 0.\n\n\
-The type should be one of GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, or GL_DOUBLE.\n\
-If the dimensions are specified as an int a linear buffer will be\n\
-created. If a sequence is passed for the dimensions the buffer\n\
-will have len(sequence) dimensions, where the size for each dimension\n\
-is determined by the value in the sequence at that index.\n\n\
-For example, passing [100, 100] will create a 2 dimensional\n\
-square buffer. Passing [16, 16, 32] will create a 3 dimensional\n\
-buffer which is twice as deep as it is wide or high."
-);
-
-static PyObject *Method_Buffer(PyObject *self, PyObject *args);
+static PyObject *Buffer_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
/* Buffer sequence methods */
-static int Buffer_len(PyObject *self);
-static PyObject *Buffer_item(PyObject *self, int i);
-static PyObject *Buffer_slice(PyObject *self, int begin, int end);
-static int Buffer_ass_item(PyObject *self, int i, PyObject *v);
-static int Buffer_ass_slice(PyObject *self, int begin, int end,
- PyObject *seq);
+static int Buffer_len(Buffer *self);
+static PyObject *Buffer_item(Buffer *self, int i);
+static PyObject *Buffer_slice(Buffer *self, int begin, int end);
+static int Buffer_ass_item(Buffer *self, int i, PyObject *v);
+static int Buffer_ass_slice(Buffer *self, int begin, int end, PyObject *seq);
+static PyObject *Buffer_subscript(Buffer *self, PyObject *item);
+static int Buffer_ass_subscript(Buffer *self, PyObject *item, PyObject *value);
static PySequenceMethods Buffer_SeqMethods = {
- ( lenfunc ) Buffer_len, /*sq_length */
- ( binaryfunc ) NULL, /*sq_concat */
- ( ssizeargfunc ) NULL, /*sq_repeat */
- ( ssizeargfunc ) Buffer_item, /*sq_item */
- ( ssizessizeargfunc ) Buffer_slice, /*sq_slice, deprecated TODO, replace */
- ( ssizeobjargproc ) Buffer_ass_item, /*sq_ass_item */
- ( ssizessizeobjargproc ) Buffer_ass_slice, /*sq_ass_slice, deprecated TODO, replace */
+ (lenfunc) Buffer_len, /*sq_length */
+ (binaryfunc) NULL, /*sq_concat */
+ (ssizeargfunc) NULL, /*sq_repeat */
+ (ssizeargfunc) Buffer_item, /*sq_item */
+ (ssizessizeargfunc) Buffer_slice, /*sq_slice, deprecated TODO, replace */
+ (ssizeobjargproc) Buffer_ass_item, /*sq_ass_item */
+ (ssizessizeobjargproc) Buffer_ass_slice, /*sq_ass_slice, deprecated TODO, replace */
(objobjproc) NULL, /* sq_contains */
(binaryfunc) NULL, /* sq_inplace_concat */
(ssizeargfunc) NULL, /* sq_inplace_repeat */
};
-static void Buffer_dealloc(PyObject *self);
-static PyObject *Buffer_tolist(PyObject *self);
-static PyObject *Buffer_dimensions(PyObject *self);
-static PyObject *Buffer_getattr(PyObject *self, char *name);
-static PyObject *Buffer_repr(PyObject *self);
+
+static PyMappingMethods Buffer_AsMapping = {
+ (lenfunc)Buffer_len,
+ (binaryfunc)Buffer_subscript,
+ (objobjargproc)Buffer_ass_subscript
+};
+
+static void Buffer_dealloc(Buffer *self);
+static PyObject *Buffer_repr(Buffer *self);
+
+static PyObject *Buffer_to_list(Buffer *self)
+{
+ int i, len= self->dimensions[0];
+ PyObject *list= PyList_New(len);
+
+ for (i=0; i<len; i++) {
+ PyList_SET_ITEM(list, i, Buffer_item(self, i));
+ }
+
+ return list;
+}
+
+static PyObject *Buffer_to_list_recursive(Buffer *self)
+{
+ PyObject *list;
+
+ if(self->ndimensions > 1) {
+ int i, len= self->dimensions[0];
+ list= PyList_New(len);
+
+ for (i=0; i<len; i++) {
+ Buffer *sub= (Buffer *)Buffer_item(self, i);
+ PyList_SET_ITEM(list, i, Buffer_to_list_recursive(sub));
+ Py_DECREF(sub);
+ }
+ }
+ else {
+ list= Buffer_to_list(self);
+ }
+
+ return list;
+}
+
+/* *DEPRECATED* 2011/7/17 bgl.Buffer.list */
+static PyObject *Buffer_list(Buffer *self, void *UNUSED(arg))
+{
+ fprintf(stderr, "Warning: 'Buffer.list' deprecated, use '[:]' instead\n");
+ return Buffer_to_list(self);
+}
+
+static PyObject *Buffer_dimensions(Buffer *self, void *UNUSED(arg))
+{
+ PyObject *list= PyList_New(self->ndimensions);
+ int i;
+
+ for (i= 0; i<self->ndimensions; i++) {
+ PyList_SET_ITEM(list, i, PyLong_FromLong(self->dimensions[i]));
+ }
+
+ return list;
+}
+
+static PyMethodDef Buffer_methods[] = {
+ {"to_list", (PyCFunction)Buffer_to_list_recursive, METH_NOARGS,
+ "return the buffer as a list"},
+ {NULL, NULL, 0, NULL}
+};
+
+static PyGetSetDef Buffer_getseters[] = {
+ {(char *)"list", (getter)Buffer_list, NULL, NULL, NULL},
+ {(char *)"dimensions", (getter)Buffer_dimensions, NULL, NULL, NULL},
+ {NULL, NULL, NULL, NULL, NULL}
+};
+
PyTypeObject BGL_bufferType = {
PyVarObject_HEAD_INIT(NULL, 0)
- "buffer", /*tp_name */
- sizeof( Buffer ), /*tp_basicsize */
- 0, /*tp_itemsize */
- ( destructor ) Buffer_dealloc, /*tp_dealloc */
- ( printfunc ) 0, /*tp_print */
- ( getattrfunc ) Buffer_getattr, /*tp_getattr */
- ( setattrfunc ) 0, /*tp_setattr */
+ "bgl.Buffer", /*tp_name */
+ sizeof(Buffer), /*tp_basicsize */
+ 0, /*tp_itemsize */
+ (destructor)Buffer_dealloc, /*tp_dealloc */
+ (printfunc)NULL, /*tp_print */
+ NULL, /*tp_getattr */
+ NULL, /*tp_setattr */
NULL, /*tp_compare */
- ( reprfunc ) Buffer_repr, /*tp_repr */
+ (reprfunc) Buffer_repr, /*tp_repr */
NULL, /*tp_as_number */
&Buffer_SeqMethods, /*tp_as_sequence */
+ &Buffer_AsMapping, /* PyMappingMethods *tp_as_mapping; */
+
+ /* More standard operations (here for binary compatibility) */
+
+ NULL, /* hashfunc tp_hash; */
+ NULL, /* ternaryfunc tp_call; */
+ NULL, /* reprfunc tp_str; */
+ NULL, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
+
+ /* Functions to access object as input/output buffer */
+ NULL, /* PyBufferProcs *tp_as_buffer; */
+
+ /*** Flags to define presence of optional/expanded features ***/
+ Py_TPFLAGS_DEFAULT, /* long tp_flags; */
+
+ NULL, /* char *tp_doc; Documentation string */
+ /*** Assigned meaning in release 2.0 ***/
+ /* call function for all accessible objects */
+ NULL, /* traverseproc tp_traverse; */
+
+ /* delete references to contained objects */
+ NULL, /* inquiry tp_clear; */
+
+ /*** Assigned meaning in release 2.1 ***/
+ /*** rich comparisons ***/
+ NULL, /* richcmpfunc tp_richcompare; */
+
+ /*** weak reference enabler ***/
+ 0, /* long tp_weaklistoffset; */
+
+ /*** Added in release 2.2 ***/
+ /* Iterators */
+ NULL, /* getiterfunc tp_iter; */
+ NULL, /* iternextfunc tp_iternext; */
+ /*** Attribute descriptor and subclassing stuff ***/
+ Buffer_methods, /* struct PyMethodDef *tp_methods; */
+ NULL, /* struct PyMemberDef *tp_members; */
+ Buffer_getseters, /* struct PyGetSetDef *tp_getset; */
+ NULL, /*tp_base*/
+ NULL, /*tp_dict*/
+ NULL, /*tp_descr_get*/
+ NULL, /*tp_descr_set*/
+ 0, /*tp_dictoffset*/
+ NULL, /*tp_init*/
+ NULL, /*tp_alloc*/
+ Buffer_new, /*tp_new*/
+ NULL, /*tp_free*/
+ NULL, /*tp_is_gc*/
+ NULL, /*tp_bases*/
+ NULL, /*tp_mro*/
+ NULL, /*tp_cache*/
+ NULL, /*tp_subclasses*/
+ NULL, /*tp_weaklist*/
+ NULL /*tp_del*/
};
+
/* #ifndef __APPLE__ */
#define BGL_Wrap(nargs, funcname, ret, arg_list) \
@@ -174,26 +282,13 @@ Buffer *BGL_MakeBuffer(int type, int ndimensions, int *dimensions, void *initbuf
}
else {
memset(buffer->buf.asvoid, 0, length*size);
- /*
- for (i= 0; i<length; i++) {
- if (type==GL_BYTE)
- buffer->buf.asbyte[i]= 0;
- else if (type==GL_SHORT)
- buffer->buf.asshort[i]= 0;
- else if (type==GL_INT)
- buffer->buf.asint[i]= 0;
- else if (type==GL_FLOAT)
- buffer->buf.asfloat[i]= 0.0f;
- else if (type==GL_DOUBLE)
- buffer->buf.asdouble[i]= 0.0;
- }
- */
}
return buffer;
}
+
#define MAX_DIMENSIONS 256
-static PyObject *Method_Buffer (PyObject *UNUSED(self), PyObject *args)
+static PyObject *Buffer_new(PyTypeObject *UNUSED(type), PyObject *args, PyObject *kwds)
{
PyObject *length_ob= NULL, *init= NULL;
Buffer *buffer;
@@ -201,31 +296,41 @@ static PyObject *Method_Buffer (PyObject *UNUSED(self), PyObject *args)
int i, type;
int ndimensions = 0;
-
- if (!PyArg_ParseTuple(args, "iO|O", &type, &length_ob, &init)) {
- PyErr_SetString(PyExc_AttributeError, "expected an int and one or two PyObjects");
+
+ if(kwds && PyDict_Size(kwds)) {
+ PyErr_SetString(PyExc_TypeError,
+ "bgl.Buffer(): takes no keyword args");
+ return NULL;
+ }
+
+ if (!PyArg_ParseTuple(args, "iO|O: bgl.Buffer", &type, &length_ob, &init)) {
return NULL;
}
if (!ELEM5(type, GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT, GL_DOUBLE)) {
- PyErr_SetString(PyExc_AttributeError, "invalid first argument type, should be one of GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT or GL_DOUBLE");
+ PyErr_SetString(PyExc_AttributeError,
+ "invalid first argument type, should be one of "
+ "GL_BYTE, GL_SHORT, GL_INT, GL_FLOAT or GL_DOUBLE");
return NULL;
}
if (PyLong_Check(length_ob)) {
ndimensions= 1;
if(((dimensions[0]= PyLong_AsLong(length_ob)) < 1)) {
- PyErr_SetString(PyExc_AttributeError, "dimensions must be between 1 and "STRINGIFY(MAX_DIMENSIONS));
+ PyErr_SetString(PyExc_AttributeError,
+ "dimensions must be between 1 and "STRINGIFY(MAX_DIMENSIONS));
return NULL;
}
}
else if (PySequence_Check(length_ob)) {
ndimensions= PySequence_Size(length_ob);
if (ndimensions > MAX_DIMENSIONS) {
- PyErr_SetString(PyExc_AttributeError, "too many dimensions, max is "STRINGIFY(MAX_DIMENSIONS));
+ PyErr_SetString(PyExc_AttributeError,
+ "too many dimensions, max is "STRINGIFY(MAX_DIMENSIONS));
return NULL;
}
else if (ndimensions < 1) {
- PyErr_SetString(PyExc_AttributeError, "sequence must have at least one dimension");
+ PyErr_SetString(PyExc_AttributeError,
+ "sequence must have at least one dimension");
return NULL;
}
for (i=0; i<ndimensions; i++) {
@@ -236,19 +341,22 @@ static PyObject *Method_Buffer (PyObject *UNUSED(self), PyObject *args)
Py_DECREF(ob);
if(dimensions[i] < 1) {
- PyErr_SetString(PyExc_AttributeError, "dimensions must be between 1 and "STRINGIFY(MAX_DIMENSIONS));
+ PyErr_SetString(PyExc_AttributeError,
+ "dimensions must be between 1 and "STRINGIFY(MAX_DIMENSIONS));
return NULL;
}
}
}
else {
- PyErr_Format(PyExc_TypeError, "invalid second argument argument expected a sequence or an int, not a %.200s", Py_TYPE(length_ob)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "invalid second argument argument expected a sequence "
+ "or an int, not a %.200s", Py_TYPE(length_ob)->tp_name);
return NULL;
}
buffer= BGL_MakeBuffer(type, ndimensions, dimensions, NULL);
if (init && ndimensions) {
- if (Buffer_ass_slice((PyObject *) buffer, 0, dimensions[0], init)) {
+ if (Buffer_ass_slice(buffer, 0, dimensions[0], init)) {
Py_DECREF(buffer);
return NULL;
}
@@ -259,51 +367,48 @@ static PyObject *Method_Buffer (PyObject *UNUSED(self), PyObject *args)
/*@ Buffer sequence methods */
-static int Buffer_len(PyObject *self)
+static int Buffer_len(Buffer *self)
{
- Buffer *buf= (Buffer *) self;
- return buf->dimensions[0];
+ return self->dimensions[0];
}
-static PyObject *Buffer_item(PyObject *self, int i)
+static PyObject *Buffer_item(Buffer *self, int i)
{
- Buffer *buf= (Buffer *) self;
-
- if (i >= buf->dimensions[0]) {
+ if (i >= self->dimensions[0] || i < 0) {
PyErr_SetString(PyExc_IndexError, "array index out of range");
return NULL;
}
- if (buf->ndimensions==1) {
- switch (buf->type) {
- case GL_BYTE: return Py_BuildValue("b", buf->buf.asbyte[i]);
- case GL_SHORT: return Py_BuildValue("h", buf->buf.asshort[i]);
- case GL_INT: return Py_BuildValue("i", buf->buf.asint[i]);
- case GL_FLOAT: return PyFloat_FromDouble(buf->buf.asfloat[i]);
- case GL_DOUBLE: return Py_BuildValue("d", buf->buf.asdouble[i]);
+ if (self->ndimensions==1) {
+ switch (self->type) {
+ case GL_BYTE: return Py_BuildValue("b", self->buf.asbyte[i]);
+ case GL_SHORT: return Py_BuildValue("h", self->buf.asshort[i]);
+ case GL_INT: return Py_BuildValue("i", self->buf.asint[i]);
+ case GL_FLOAT: return PyFloat_FromDouble(self->buf.asfloat[i]);
+ case GL_DOUBLE: return Py_BuildValue("d", self->buf.asdouble[i]);
}
}
else {
Buffer *newbuf;
int j, length, size;
-
+
length= 1;
- for (j=1; j<buf->ndimensions; j++) {
- length*= buf->dimensions[j];
+ for (j=1; j < self->ndimensions; j++) {
+ length *= self->dimensions[j];
}
- size= BGL_typeSize(buf->type);
+ size= BGL_typeSize(self->type);
newbuf= (Buffer *) PyObject_NEW(Buffer, &BGL_bufferType);
Py_INCREF(self);
- newbuf->parent= self;
+ newbuf->parent= (PyObject *)self;
- newbuf->ndimensions= buf->ndimensions-1;
- newbuf->type= buf->type;
- newbuf->buf.asvoid= buf->buf.asbyte + i*length*size;
+ newbuf->ndimensions= self->ndimensions - 1;
+ newbuf->type= self->type;
+ newbuf->buf.asvoid= self->buf.asbyte + i*length*size;
newbuf->dimensions= MEM_mallocN(newbuf->ndimensions*sizeof(int),
"Buffer dimensions");
- memcpy(newbuf->dimensions, buf->dimensions+1,
+ memcpy(newbuf->dimensions, self->dimensions+1,
newbuf->ndimensions*sizeof(int));
return (PyObject *) newbuf;
@@ -312,16 +417,14 @@ static PyObject *Buffer_item(PyObject *self, int i)
return NULL;
}
-static PyObject *Buffer_slice(PyObject *self, int begin, int end)
+static PyObject *Buffer_slice(Buffer *self, int begin, int end)
{
- Buffer *buf= (Buffer *) self;
PyObject *list;
int count;
- if (begin<0) begin= 0;
- if (end>buf->dimensions[0])
- end= buf->dimensions[0];
- if (begin>end) begin= end;
+ if (begin < 0) begin= 0;
+ if (end > self->dimensions[0]) end= self->dimensions[0];
+ if (begin > end) begin= end;
list= PyList_New(end-begin);
@@ -331,134 +434,180 @@ static PyObject *Buffer_slice(PyObject *self, int begin, int end)
return list;
}
-static int Buffer_ass_item(PyObject *self, int i, PyObject *v)
+static int Buffer_ass_item(Buffer *self, int i, PyObject *v)
{
- Buffer *buf= (Buffer *) self;
-
- if (i >= buf->dimensions[0]) {
- PyErr_SetString(PyExc_IndexError, "array assignment index out of range");
+ if (i >= self->dimensions[0] || i < 0) {
+ PyErr_SetString(PyExc_IndexError,
+ "array assignment index out of range");
return -1;
}
-
- if (buf->ndimensions!=1) {
- PyObject *row= Buffer_item(self, i);
- int ret;
-
- if (!row) return -1;
- ret= Buffer_ass_slice(row, 0, buf->dimensions[1], v);
- Py_DECREF(row);
- return ret;
- }
- if (buf->type==GL_BYTE) {
- if (!PyArg_Parse(v, "b:Coordinates must be ints", &buf->buf.asbyte[i]))
- return -1;
- }
- else if (buf->type==GL_SHORT) {
- if (!PyArg_Parse(v, "h:Coordinates must be ints", &buf->buf.asshort[i]))
- return -1;
-
- }
- else if (buf->type==GL_INT) {
- if (!PyArg_Parse(v, "i:Coordinates must be ints", &buf->buf.asint[i]))
- return -1;
- }
- else if (buf->type==GL_FLOAT) {
- if (!PyArg_Parse(v, "f:Coordinates must be floats", &buf->buf.asfloat[i]))
+ if (self->ndimensions!=1) {
+ Buffer *row= (Buffer *)Buffer_item(self, i);
+
+ if (row) {
+ int ret= Buffer_ass_slice(row, 0, self->dimensions[1], v);
+ Py_DECREF(row);
+ return ret;
+ }
+ else {
return -1;
+ }
}
- else if (buf->type==GL_DOUBLE) {
- if (!PyArg_Parse(v, "d:Coordinates must be floats", &buf->buf.asdouble[i]))
- return -1;
+
+ switch(self->type) {
+ case GL_BYTE:
+ return PyArg_Parse(v, "b:Expected ints", &self->buf.asbyte[i]) ? 0:-1;
+ case GL_SHORT:
+ return PyArg_Parse(v, "h:Expected ints", &self->buf.asshort[i]) ? 0:-1;
+ case GL_INT:
+ return PyArg_Parse(v, "i:Expected ints", &self->buf.asint[i]) ? 0:-1;
+ case GL_FLOAT:
+ return PyArg_Parse(v, "f:Expected floats", &self->buf.asfloat[i]) ? 0:-1;
+ case GL_DOUBLE:
+ return PyArg_Parse(v, "d:Expected floats", &self->buf.asdouble[i]) ? 0:-1;
+ default:
+ return 0; /* should never happen */
}
- return 0;
}
-static int Buffer_ass_slice(PyObject *self, int begin, int end, PyObject *seq)
+static int Buffer_ass_slice(Buffer *self, int begin, int end, PyObject *seq)
{
- Buffer *buf= (Buffer *) self;
PyObject *item;
int count, err=0;
- if (begin<0) begin= 0;
- if (end>buf->dimensions[0]) end= buf->dimensions[0];
- if (begin>end) begin= end;
+ if (begin < 0) begin= 0;
+ if (end > self->dimensions[0]) end= self->dimensions[0];
+ if (begin > end) begin= end;
if (!PySequence_Check(seq)) {
- PyErr_SetString(PyExc_TypeError,
- "illegal argument type for built-in operation");
+ PyErr_Format(PyExc_TypeError,
+ "buffer[:] = value, invalid assignment. "
+ "Expected a sequence, not an %.200s type",
+ Py_TYPE(seq)->tp_name);
return -1;
}
- if (PySequence_Size(seq)!=(end-begin)) {
- int seq_len = PySequence_Size(seq);
- char err_str[128];
- sprintf(err_str, "size mismatch in assignment. Expected size: %d (size provided: %d)", seq_len, (end-begin));
- PyErr_SetString(PyExc_TypeError, err_str);
+ /* re-use count var */
+ if ((count= PySequence_Size(seq)) != (end - begin)) {
+ PyErr_Format(PyExc_TypeError,
+ "buffer[:] = value, size mismatch in assignment. "
+ "Expected: %d (given: %d)", count, end - begin);
return -1;
}
- for (count= begin; count<end; count++) {
- item= PySequence_GetItem(seq, count-begin);
- err= Buffer_ass_item(self, count, item);
- Py_DECREF(item);
+ for (count= begin; count < end; count++) {
+ item= PySequence_GetItem(seq, count - begin);
+ if(item) {
+ err= Buffer_ass_item(self, count, item);
+ Py_DECREF(item);
+ }
+ else {
+ err= -1;
+ }
if (err) break;
}
return err;
}
-static void Buffer_dealloc(PyObject *self)
+static PyObject *Buffer_subscript(Buffer *self, PyObject *item)
{
- Buffer *buf = (Buffer *)self;
+ if (PyIndex_Check(item)) {
+ Py_ssize_t i;
+ i = PyNumber_AsSsize_t(item, PyExc_IndexError);
+ if (i == -1 && PyErr_Occurred())
+ return NULL;
+ if (i < 0)
+ i += self->dimensions[0];
+ return Buffer_item(self, i);
+ }
+ else if (PySlice_Check(item)) {
+ Py_ssize_t start, stop, step, slicelength;
- if (buf->parent) Py_DECREF (buf->parent);
- else MEM_freeN (buf->buf.asvoid);
+ if (PySlice_GetIndicesEx((void *)item, self->dimensions[0], &start, &stop, &step, &slicelength) < 0)
+ return NULL;
- MEM_freeN (buf->dimensions);
-
- PyObject_DEL (self);
+ if (slicelength <= 0) {
+ return PyTuple_New(0);
+ }
+ else if (step == 1) {
+ return Buffer_slice(self, start, stop);
+ }
+ else {
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with vectors");
+ return NULL;
+ }
+ }
+ else {
+ PyErr_Format(PyExc_TypeError,
+ "buffer indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
+ return NULL;
+ }
}
-static PyObject *Buffer_tolist(PyObject *self)
+static int Buffer_ass_subscript(Buffer *self, PyObject *item, PyObject *value)
{
- int i, len= ((Buffer *)self)->dimensions[0];
- PyObject *list= PyList_New(len);
-
- for (i=0; i<len; i++) {
- PyList_SET_ITEM(list, i, Buffer_item(self, i));
+ if (PyIndex_Check(item)) {
+ Py_ssize_t i = PyNumber_AsSsize_t(item, PyExc_IndexError);
+ if (i == -1 && PyErr_Occurred())
+ return -1;
+ if (i < 0)
+ i += self->dimensions[0];
+ return Buffer_ass_item(self, i, value);
}
+ else if (PySlice_Check(item)) {
+ Py_ssize_t start, stop, step, slicelength;
- return list;
+ if (PySlice_GetIndicesEx((void *)item, self->dimensions[0], &start, &stop, &step, &slicelength) < 0)
+ return -1;
+
+ if (step == 1)
+ return Buffer_ass_slice(self, start, stop, value);
+ else {
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with vectors");
+ return -1;
+ }
+ }
+ else {
+ PyErr_Format(PyExc_TypeError,
+ "buffer indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
+ return -1;
+ }
}
-static PyObject *Buffer_dimensions(PyObject *self)
+
+static void Buffer_dealloc(Buffer *self)
{
- Buffer *buffer= (Buffer *) self;
- PyObject *list= PyList_New(buffer->ndimensions);
- int i;
+ if (self->parent) Py_DECREF(self->parent);
+ else MEM_freeN (self->buf.asvoid);
- for (i= 0; i<buffer->ndimensions; i++) {
- PyList_SET_ITEM(list, i, PyLong_FromLong(buffer->dimensions[i]));
- }
+ MEM_freeN(self->dimensions);
- return list;
+ PyObject_DEL(self);
}
-static PyObject *Buffer_getattr(PyObject *self, char *name)
-{
- if (strcmp(name, "list")==0) return Buffer_tolist(self);
- else if (strcmp(name, "dimensions")==0) return Buffer_dimensions(self);
-
- PyErr_SetString(PyExc_AttributeError, name);
- return NULL;
-}
-static PyObject *Buffer_repr(PyObject *self)
+static PyObject *Buffer_repr(Buffer *self)
{
- PyObject *list= Buffer_tolist(self);
- PyObject *repr= PyObject_Repr(list);
+ PyObject *list= Buffer_to_list_recursive(self);
+ PyObject *repr;
+ const char *typestr= "UNKNOWN";
+
+ switch(self->type) {
+ case GL_BYTE: typestr= "GL_BYTE"; break;
+ case GL_SHORT: typestr= "GL_SHORT"; break;
+ case GL_INT: typestr= "GL_BYTE"; break;
+ case GL_FLOAT: typestr= "GL_FLOAT"; break;
+ case GL_DOUBLE: typestr= "GL_DOUBLE"; break;
+ }
+
+ repr= PyUnicode_FromFormat("Buffer(%s, %R)", typestr, list);
Py_DECREF(list);
-
+
return repr;
}
@@ -805,7 +954,6 @@ BGLU_Wrap(9, UnProject, GLint, (GLdouble, GLdouble, GLdouble, GLdoubleP, GLdo
* {"glAccum", Method_Accumfunc, METH_VARARGS} */
static struct PyMethodDef BGL_methods[] = {
- {"Buffer", Method_Buffer, METH_VARARGS, Method_Buffer_doc},
/* #ifndef __APPLE__ */
MethodDef(Accum),
@@ -1153,9 +1301,12 @@ PyObject *BPyInit_bgl(void)
submodule= PyModule_Create(&BGL_module_def);
dict= PyModule_GetDict(submodule);
- if( PyType_Ready( &BGL_bufferType) < 0)
+ if(PyType_Ready(&BGL_bufferType) < 0)
return NULL; /* should never happen */
+
+ PyModule_AddObject(submodule, "Buffer", (PyObject *)&BGL_bufferType);
+
#define EXPP_ADDCONST(x) PyDict_SetItemString(dict, #x, item=PyLong_FromLong((int)x)); Py_DECREF(item)
/* So, for example:
diff --git a/source/blender/python/generic/noise_py_api.c b/source/blender/python/generic/noise_py_api.c
index f5761f713a6..7be0998c0a1 100644
--- a/source/blender/python/generic/noise_py_api.c
+++ b/source/blender/python/generic/noise_py_api.c
@@ -210,8 +210,8 @@ static void randuvec(float v[3])
if((r = 1.f - v[2] * v[2]) > 0.f) {
float a = (float)(6.283185307f * frand());
r = (float)sqrt(r);
- v[0] = (float)(r * cos(a));
- v[1] = (float)(r * sin(a));
+ v[0] = (float)(r * cosf(a));
+ v[1] = (float)(r * sinf(a));
}
else {
v[2] = 1.f;
@@ -254,7 +254,7 @@ static PyObject *Noise_noise(PyObject *UNUSED(self), PyObject *args)
if(!PyArg_ParseTuple(args, "(fff)|i:noise", &x, &y, &z, &nb))
return NULL;
- return PyFloat_FromDouble((2.0 * BLI_gNoise(1.0, x, y, z, 0, nb) - 1.0));
+ return PyFloat_FromDouble((2.0f * BLI_gNoise(1.0f, x, y, z, 0, nb) - 1.0f));
}
/*-------------------------------------------------------------------------*/
@@ -264,11 +264,11 @@ static PyObject *Noise_noise(PyObject *UNUSED(self), PyObject *args)
static void noise_vector(float x, float y, float z, int nb, float v[3])
{
/* Simply evaluate noise at 3 different positions */
- v[0] = (float)(2.0 * BLI_gNoise(1.f, x + 9.321f, y - 1.531f, z - 7.951f, 0,
- nb) - 1.0);
- v[1] = (float)(2.0 * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0);
- v[2] = (float)(2.0 * BLI_gNoise(1.f, x + 6.327f, y + 0.1671f, z - 2.672f, 0,
- nb) - 1.0);
+ v[0]= (float)(2.0f * BLI_gNoise(1.f, x + 9.321f, y - 1.531f, z - 7.951f, 0,
+ nb) - 1.0f);
+ v[1]= (float)(2.0f * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0f);
+ v[2]= (float)(2.0f * BLI_gNoise(1.f, x + 6.327f, y + 0.1671f, z - 2.672f, 0,
+ nb) - 1.0f);
}
static PyObject *Noise_vector(PyObject *UNUSED(self), PyObject *args)
@@ -291,7 +291,7 @@ static float turb(float x, float y, float z, int oct, int hard, int nb,
float amp, out, t;
int i;
amp = 1.f;
- out = (float)(2.0 * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0);
+ out = (float)(2.0f * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0f);
if(hard)
out = (float)fabs(out);
for(i = 1; i < oct; i++) {
@@ -299,7 +299,7 @@ static float turb(float x, float y, float z, int oct, int hard, int nb,
x *= freqscale;
y *= freqscale;
z *= freqscale;
- t = (float)(amp * (2.0 * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0));
+ t = (float)(amp * (2.0f * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0f));
if(hard)
t = (float)fabs(t);
out += t;
diff --git a/source/blender/python/generic/py_capi_utils.c b/source/blender/python/generic/py_capi_utils.c
index ec774f44075..b7e67ec5a93 100644
--- a/source/blender/python/generic/py_capi_utils.c
+++ b/source/blender/python/generic/py_capi_utils.c
@@ -36,7 +36,75 @@
#include "BLI_path_util.h"
#endif
-#define PYC_INTERPRETER_ACTIVE (((PyThreadState*)_Py_atomic_load_relaxed(&_PyThreadState_Current)) != NULL)
+/* array utility function */
+int PyC_AsArray(void *array, PyObject *value, const int length, const PyTypeObject *type, const short is_double, const char *error_prefix)
+{
+ PyObject *value_fast;
+ int value_len;
+ int i;
+
+ if(!(value_fast=PySequence_Fast(value, error_prefix))) {
+ return -1;
+ }
+
+ value_len= PySequence_Fast_GET_SIZE(value_fast);
+
+ if(value_len != length) {
+ Py_DECREF(value);
+ PyErr_Format(PyExc_TypeError,
+ "%.200s: invalid sequence length. expected %d, got %d",
+ error_prefix, length, value_len);
+ return -1;
+ }
+
+ /* for each type */
+ if(type == &PyFloat_Type) {
+ if(is_double) {
+ double *array_double= array;
+ for(i=0; i<length; i++) {
+ array_double[i]= PyFloat_AsDouble(PySequence_Fast_GET_ITEM(value_fast, i));
+ }
+ }
+ else {
+ float *array_float= array;
+ for(i=0; i<length; i++) {
+ array_float[i]= PyFloat_AsDouble(PySequence_Fast_GET_ITEM(value_fast, i));
+ }
+ }
+ }
+ else if(type == &PyLong_Type) {
+ /* could use is_double for 'long int' but no use now */
+ int *array_int= array;
+ for(i=0; i<length; i++) {
+ array_int[i]= PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value_fast, i));
+ }
+ }
+ else if(type == &PyBool_Type) {
+ int *array_bool= array;
+ for(i=0; i<length; i++) {
+ array_bool[i]= (PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value_fast, i)) != 0);
+ }
+ }
+ else {
+ Py_DECREF(value_fast);
+ PyErr_Format(PyExc_TypeError,
+ "%s: internal error %s is invalid",
+ error_prefix, type->tp_name);
+ return -1;
+ }
+
+ Py_DECREF(value_fast);
+
+ if(PyErr_Occurred()) {
+ PyErr_Format(PyExc_TypeError,
+ "%s: one or more items could not be used as a %s",
+ error_prefix, type->tp_name);
+ return -1;
+ }
+
+ return 0;
+}
+
/* for debugging */
void PyC_ObSpit(const char *name, PyObject *var) {
@@ -140,77 +208,34 @@ PyObject *PyC_Object_GetAttrStringArgs(PyObject *o, Py_ssize_t n, ...)
return item;
}
-/* returns the exception string as a new PyUnicode object, depends on external StringIO module */
+/* returns the exception string as a new PyUnicode object, depends on external traceback module */
PyObject *PyC_ExceptionBuffer(void)
{
- PyObject *stdout_backup = PySys_GetObject("stdout"); /* borrowed */
- PyObject *stderr_backup = PySys_GetObject("stderr"); /* borrowed */
- PyObject *string_io = NULL;
- PyObject *string_io_buf = NULL;
- PyObject *string_io_mod= NULL;
- PyObject *string_io_getvalue= NULL;
-
- PyObject *error_type, *error_value, *error_traceback;
-
- if (!PyErr_Occurred())
- return NULL;
-
- PyErr_Fetch(&error_type, &error_value, &error_traceback);
-
- PyErr_Clear();
-
- /* import io
- * string_io = io.StringIO()
- */
-
- if(! (string_io_mod= PyImport_ImportModule("io")) ) {
+ PyObject *traceback_mod= NULL;
+ PyObject *format_tb_func= NULL;
+ PyObject *ret= NULL;
+
+ if(! (traceback_mod= PyImport_ImportModule("traceback")) ) {
goto error_cleanup;
}
- else if (! (string_io = PyObject_CallMethod(string_io_mod, (char *)"StringIO", NULL))) {
+ else if (! (format_tb_func= PyObject_GetAttrString(traceback_mod, "format_exc"))) {
goto error_cleanup;
}
- else if (! (string_io_getvalue= PyObject_GetAttrString(string_io, "getvalue"))) {
- goto error_cleanup;
+
+ ret= PyObject_CallObject(format_tb_func, NULL);
+
+ if(ret == Py_None) {
+ Py_DECREF(ret);
+ ret= NULL;
}
-
- Py_INCREF(stdout_backup); // since these were borrowed we dont want them freed when replaced.
- Py_INCREF(stderr_backup);
-
- PySys_SetObject("stdout", string_io); // both of these are free'd when restoring
- PySys_SetObject("stderr", string_io);
-
- PyErr_Restore(error_type, error_value, error_traceback);
- PyErr_Print(); /* print the error */
- PyErr_Clear();
-
- string_io_buf = PyObject_CallObject(string_io_getvalue, NULL);
-
- PySys_SetObject("stdout", stdout_backup);
- PySys_SetObject("stderr", stderr_backup);
-
- Py_DECREF(stdout_backup); /* now sys owns the ref again */
- Py_DECREF(stderr_backup);
-
- Py_DECREF(string_io_mod);
- Py_DECREF(string_io_getvalue);
- Py_DECREF(string_io); /* free the original reference */
-
- PyErr_Clear();
- return string_io_buf;
-
-
+
error_cleanup:
/* could not import the module so print the error and close */
- Py_XDECREF(string_io_mod);
- Py_XDECREF(string_io);
-
- PyErr_Restore(error_type, error_value, error_traceback);
- PyErr_Print(); /* print the error */
- PyErr_Clear();
-
- return NULL;
-}
+ Py_XDECREF(traceback_mod);
+ Py_XDECREF(format_tb_func);
+ return ret;
+}
/* string conversion, escape non-unicode chars, coerce must be set to NULL */
const char *PyC_UnicodeAsByte(PyObject *py_str, PyObject **coerce)
diff --git a/source/blender/python/generic/py_capi_utils.h b/source/blender/python/generic/py_capi_utils.h
index 1730ad71721..96c93ab71f8 100644
--- a/source/blender/python/generic/py_capi_utils.h
+++ b/source/blender/python/generic/py_capi_utils.h
@@ -35,7 +35,7 @@ void PyC_LineSpit(void);
PyObject * PyC_ExceptionBuffer(void);
PyObject * PyC_Object_GetAttrStringArgs(PyObject *o, Py_ssize_t n, ...);
void PyC_FileAndNum(const char **filename, int *lineno);
-int PyC_AsArray(void *array, PyObject *value, int length, PyTypeObject *type, const char *error_prefix);
+int PyC_AsArray(void *array, PyObject *value, const int length, const PyTypeObject *type, const short is_double, const char *error_prefix);
/* follow http://www.python.org/dev/peps/pep-0383/ */
PyObject * PyC_UnicodeFromByte(const char *str);
@@ -50,4 +50,6 @@ void PyC_MainModule_Restore(PyObject *main_mod);
void PyC_SetHomePath(const char *py_path_bundle);
+#define PYC_INTERPRETER_ACTIVE (((PyThreadState*)_Py_atomic_load_relaxed(&_PyThreadState_Current)) != NULL)
+
#endif // PY_CAPI_UTILS_H
diff --git a/source/blender/python/intern/CMakeLists.txt b/source/blender/python/intern/CMakeLists.txt
index 454a706a16b..93a4b3ec269 100644
--- a/source/blender/python/intern/CMakeLists.txt
+++ b/source/blender/python/intern/CMakeLists.txt
@@ -25,15 +25,14 @@
set(INC
..
+ ../../blenkernel
../../blenlib
+ ../../blenloader
+ ../../editors/include
../../makesdna
../../makesrna
- ../../blenkernel
- ../../blenloader
../../windowmanager
- ../../editors/include
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
)
set(INC_SYS
@@ -43,8 +42,10 @@ set(INC_SYS
set(SRC
bpy.c
bpy_app.c
+ bpy_app_handlers.c
bpy_driver.c
bpy_interface.c
+ bpy_intern_string.c
bpy_library.c
bpy_operator.c
bpy_operator_wrap.c
@@ -59,7 +60,9 @@ set(SRC
bpy.h
bpy_app.h
+ bpy_app_handlers.h
bpy_driver.h
+ bpy_intern_string.h
bpy_operator.h
bpy_operator_wrap.h
bpy_props.h
@@ -84,4 +87,8 @@ if(WITH_PYTHON_SAFETY)
add_definitions(-DWITH_PYTHON_SAFETY)
endif()
+if(WITH_AUDASPACE)
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
blender_add_lib(bf_python "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/python/intern/bpy.c b/source/blender/python/intern/bpy.c
index cb11b53c83c..3f637feadf7 100644
--- a/source/blender/python/intern/bpy.c
+++ b/source/blender/python/intern/bpy.c
@@ -55,12 +55,10 @@
#include "MEM_guardedalloc.h"
/* external util modules */
-#include "../generic/mathutils.h"
+#include "../generic/IDProp.h"
#include "../generic/bgl.h"
#include "../generic/blf_py_api.h"
-#include "../generic/IDProp.h"
-
-#include "AUD_PyInit.h"
+#include "../mathutils/mathutils.h"
PyObject *bpy_package_py= NULL;
diff --git a/source/blender/python/intern/bpy_app.c b/source/blender/python/intern/bpy_app.c
index 41de1171aaa..079d5223f58 100644
--- a/source/blender/python/intern/bpy_app.c
+++ b/source/blender/python/intern/bpy_app.c
@@ -30,6 +30,7 @@
#include <Python.h>
#include "bpy_app.h"
+#include "bpy_app_handlers.h"
#include "bpy_driver.h"
#include "BLI_path_util.h"
@@ -74,6 +75,9 @@ static PyStructSequence_Field app_info_fields[]= {
{(char *)"build_cxxflags", (char *)"C++ compiler flags"},
{(char *)"build_linkflags", (char *)"Binary linking flags"},
{(char *)"build_system", (char *)"Build system used"},
+
+ /* submodules */
+ {(char *)"handlers", (char *)"Application handler callbacks"},
{NULL}
};
@@ -140,6 +144,8 @@ static PyObject *make_app_info(void)
SetStrItem("Unknown");
#endif
+ SetObjItem(BPY_app_handlers_struct());
+
#undef SetIntItem
#undef SetStrItem
#undef SetObjItem
diff --git a/source/blender/python/intern/bpy_app_handlers.c b/source/blender/python/intern/bpy_app_handlers.c
new file mode 100644
index 00000000000..e7e46160199
--- /dev/null
+++ b/source/blender/python/intern/bpy_app_handlers.c
@@ -0,0 +1,171 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/python/intern/bpy_app_handlers.c
+ * \ingroup pythonintern
+ */
+
+#include <Python.h>
+#include "BLI_utildefines.h"
+#include "BLI_callbacks.h"
+
+#include "RNA_types.h"
+#include "RNA_access.h"
+#include "bpy_rna.h"
+#include "bpy_app_handlers.h"
+
+void bpy_app_generic_callback(struct Main *main, struct ID *id, void *arg);
+
+static PyTypeObject BlenderAppCbType;
+
+static PyStructSequence_Field app_cb_info_fields[]= {
+ {(char *)"render_pre", NULL},
+ {(char *)"render_post", NULL},
+ {(char *)"render_stats", NULL},
+ {(char *)"load_pre", NULL},
+ {(char *)"load_post", NULL},
+ {(char *)"save_pre", NULL},
+ {(char *)"save_post", NULL},
+ {NULL}
+};
+
+static PyStructSequence_Desc app_cb_info_desc= {
+ (char *)"bpy.app.handlers", /* name */
+ (char *)"This module contains callbacks", /* doc */
+ app_cb_info_fields, /* fields */
+ (sizeof(app_cb_info_fields)/sizeof(PyStructSequence_Field)) - 1
+};
+
+/*
+#if (BLI_CB_EVT_TOT != ((sizeof(app_cb_info_fields)/sizeof(PyStructSequence_Field))))
+# error "Callbacks are out of sync"
+#endif
+*/
+
+static PyObject *py_cb_array[BLI_CB_EVT_TOT]= {0};
+
+static PyObject *make_app_cb_info(void)
+{
+ PyObject *app_cb_info;
+ int pos= 0;
+
+ app_cb_info= PyStructSequence_New(&BlenderAppCbType);
+ if (app_cb_info == NULL) {
+ return NULL;
+ }
+
+ for(pos= 0; pos < BLI_CB_EVT_TOT; pos++) {
+ if(app_cb_info_fields[pos].name == NULL) {
+ Py_FatalError("invalid callback slots 1");
+ }
+ PyStructSequence_SET_ITEM(app_cb_info, pos, (py_cb_array[pos]= PyList_New(0)));
+ }
+ if(app_cb_info_fields[pos].name != NULL) {
+ Py_FatalError("invalid callback slots 2");
+ }
+
+ return app_cb_info;
+}
+
+PyObject *BPY_app_handlers_struct(void)
+{
+ PyObject *ret;
+
+ PyStructSequence_InitType(&BlenderAppCbType, &app_cb_info_desc);
+
+ ret= make_app_cb_info();
+
+ /* prevent user from creating new instances */
+ BlenderAppCbType.tp_init= NULL;
+ BlenderAppCbType.tp_new= NULL;
+
+ /* assign the C callbacks */
+ if(ret) {
+ static bCallbackFuncStore funcstore_array[BLI_CB_EVT_TOT]= {{0}};
+ bCallbackFuncStore *funcstore;
+ int pos= 0;
+
+ for(pos= 0; pos < BLI_CB_EVT_TOT; pos++) {
+ funcstore= &funcstore_array[pos];
+ funcstore->func= bpy_app_generic_callback;
+ funcstore->alloc= 0;
+ funcstore->arg= SET_INT_IN_POINTER(pos);
+ BLI_add_cb(funcstore, pos);
+ }
+ }
+
+ return ret;
+}
+
+void BPY_app_handlers_reset(void)
+{
+ int pos= 0;
+
+ for(pos= 0; pos < BLI_CB_EVT_TOT; pos++) {
+ PyList_SetSlice(py_cb_array[pos], 0, PY_SSIZE_T_MAX, NULL);
+ }
+}
+
+/* the actual callback - not necessarily called from py */
+void bpy_app_generic_callback(struct Main *UNUSED(main), struct ID *id, void *arg)
+{
+ PyObject *cb_list= py_cb_array[GET_INT_FROM_POINTER(arg)];
+ Py_ssize_t cb_list_len;
+ if((cb_list_len= PyList_GET_SIZE(cb_list)) > 0) {
+ PyGILState_STATE gilstate= PyGILState_Ensure();
+
+ PyObject* args= PyTuple_New(1); // save python creating each call
+ PyObject* func;
+ PyObject* ret;
+ Py_ssize_t pos;
+
+ /* setup arguments */
+ if(id) {
+ PointerRNA id_ptr;
+ RNA_id_pointer_create(id, &id_ptr);
+ PyTuple_SET_ITEM(args, 0, pyrna_struct_CreatePyObject(&id_ptr));
+ }
+ else {
+ PyTuple_SET_ITEM(args, 0, Py_None);
+ Py_INCREF(Py_None);
+ }
+
+ // Iterate the list and run the callbacks
+ for (pos=0; pos < cb_list_len; pos++) {
+ func= PyList_GET_ITEM(cb_list, pos);
+ ret= PyObject_Call(func, args, NULL);
+ if (ret==NULL) {
+ PyErr_Print();
+ PyErr_Clear();
+ }
+ else {
+ Py_DECREF(ret);
+ }
+ }
+
+ Py_DECREF(args);
+
+ PyGILState_Release(gilstate);
+ }
+}
diff --git a/source/blender/python/intern/bpy_app_handlers.h b/source/blender/python/intern/bpy_app_handlers.h
new file mode 100644
index 00000000000..bfa413438b1
--- /dev/null
+++ b/source/blender/python/intern/bpy_app_handlers.h
@@ -0,0 +1,35 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/python/intern/bpy_app_handlers.h
+ * \ingroup pythonintern
+ */
+
+#ifndef BPY_APP_HANDLERS_H
+#define BPY_APP_HANDLERS_H
+
+PyObject *BPY_app_handlers_struct(void);
+void BPY_app_handlers_clear(void);
+
+#endif // BPY_APP_HANDLERS_H
diff --git a/source/blender/python/intern/bpy_driver.c b/source/blender/python/intern/bpy_driver.c
index dec393bd1e4..f3ef55d29c4 100644
--- a/source/blender/python/intern/bpy_driver.c
+++ b/source/blender/python/intern/bpy_driver.c
@@ -76,6 +76,13 @@ int bpy_pydriver_create_dict(void)
Py_DECREF(mod);
}
+ /* add noise to global namespace */
+ mod= PyImport_ImportModuleLevel((char *)"noise", NULL, NULL, NULL, 0);
+ if (mod) {
+ PyDict_SetItemString(bpy_pydriver_Dict, "noise", mod);
+ Py_DECREF(mod);
+ }
+
return 0;
}
@@ -87,7 +94,7 @@ int bpy_pydriver_create_dict(void)
void BPY_driver_reset(void)
{
PyGILState_STATE gilstate;
- int use_gil= 1; // (PyThreadState_Get()==NULL);
+ int use_gil= 1; /* !PYC_INTERPRETER_ACTIVE; */
if(use_gil)
gilstate= PyGILState_Ensure();
@@ -118,9 +125,14 @@ static void pydriver_error(ChannelDriver *driver)
/* This evals py driver expressions, 'expr' is a Python expression that
* should evaluate to a float number, which is returned.
*
- * note: PyGILState_Ensure() isnt always called because python can call the
- * bake operator which intern starts a thread which calls scene update which
- * does a driver update. to avoid a deadlock check PyThreadState_Get() if PyGILState_Ensure() is needed.
+ * (old)note: PyGILState_Ensure() isnt always called because python can call
+ * the bake operator which intern starts a thread which calls scene update
+ * which does a driver update. to avoid a deadlock check PYC_INTERPRETER_ACTIVE
+ * if PyGILState_Ensure() is needed - see [#27683]
+ *
+ * (new)note: checking if python is running is not threadsafe [#28114]
+ * now release the GIL on python operator execution instead, using
+ * PyEval_SaveThread() / PyEval_RestoreThread() so we dont lock up blender.
*/
float BPY_driver_exec(ChannelDriver *driver)
{
@@ -147,7 +159,7 @@ float BPY_driver_exec(ChannelDriver *driver)
return 0.0f;
}
- use_gil= 1; //(PyThreadState_Get()==NULL);
+ use_gil= 1; /* !PYC_INTERPRETER_ACTIVE; */
if(use_gil)
gilstate= PyGILState_Ensure();
diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c
index e6f4c5713a1..e5e90380d61 100644
--- a/source/blender/python/intern/bpy_interface.c
+++ b/source/blender/python/intern/bpy_interface.c
@@ -43,6 +43,7 @@
#include "bpy_rna.h"
#include "bpy_util.h"
#include "bpy_traceback.h"
+#include "bpy_intern_string.h"
#include "DNA_space_types.h"
#include "DNA_text_types.h"
@@ -65,10 +66,10 @@
#include "../generic/py_capi_utils.h"
/* inittab initialization functions */
-#include "../generic/noise_py_api.h"
-#include "../generic/mathutils.h"
#include "../generic/bgl.h"
#include "../generic/blf_py_api.h"
+#include "../generic/noise_py_api.h"
+#include "../mathutils/mathutils.h"
/* for internal use, when starting and ending python scripts */
@@ -86,6 +87,14 @@ static double bpy_timer_run; /* time for each python script run */
static double bpy_timer_run_tot; /* accumulate python runs */
#endif
+/* use for updating while a python script runs - in case of file load */
+void bpy_context_update(bContext *C)
+{
+ BPy_SetContext(C);
+ bpy_import_main_set(CTX_data_main(C));
+ BPY_modules_update(C); /* can give really bad results if this isnt here */
+}
+
void bpy_context_set(bContext *C, PyGILState_STATE *gilstate)
{
py_call_level++;
@@ -94,16 +103,7 @@ void bpy_context_set(bContext *C, PyGILState_STATE *gilstate)
*gilstate= PyGILState_Ensure();
if(py_call_level==1) {
-
- if(C) { // XXX - should always be true.
- BPy_SetContext(C);
- bpy_import_main_set(CTX_data_main(C));
- }
- else {
- fprintf(stderr, "ERROR: Python context called with a NULL Context. this should not happen!\n");
- }
-
- BPY_modules_update(C); /* can give really bad results if this isnt here */
+ bpy_context_update(C);
#ifdef TIME_PY_RUN
if(bpy_timer_count==0) {
@@ -174,11 +174,13 @@ extern PyObject *AUD_initPython(void);
static struct _inittab bpy_internal_modules[]= {
{(char *)"noise", BPyInit_noise},
- {(char *)"mathutils", BPyInit_mathutils},
-// {(char *)"mathutils.geometry", BPyInit_mathutils_geometry},
+ {(char *)"mathutils", PyInit_mathutils},
+// {(char *)"mathutils.geometry", PyInit_mathutils_geometry},
{(char *)"bgl", BPyInit_bgl},
{(char *)"blf", BPyInit_blf},
+#ifdef WITH_AUDASPACE
{(char *)"aud", AUD_initPython},
+#endif
{NULL, NULL}
};
@@ -199,13 +201,13 @@ void BPY_python_start(int argc, const char **argv)
/* allow to use our own included python */
PyC_SetHomePath(BLI_get_folder(BLENDER_SYSTEM_PYTHON, NULL));
- /* Python 3.2 now looks for '2.57/python/include/python3.2d/pyconfig.h' to parse
+ /* Python 3.2 now looks for '2.58/python/include/python3.2d/pyconfig.h' to parse
* from the 'sysconfig' module which is used by 'site', so for now disable site.
* alternatively we could copy the file. */
Py_NoSiteFlag= 1;
Py_Initialize();
-
+
// PySys_SetArgv(argc, argv); // broken in py3, not a huge deal
/* sigh, why do python guys not have a char** version anymore? :( */
{
@@ -228,6 +230,8 @@ void BPY_python_start(int argc, const char **argv)
PyImport_ExtendInittab(bpy_internal_modules);
#endif
+ bpy_intern_string_init();
+
/* bpy.* and lets us import it */
BPy_init_modules();
@@ -251,7 +255,9 @@ void BPY_python_end(void)
pyrna_free_types();
/* clear all python data from structs */
-
+
+ bpy_intern_string_exit();
+
Py_Finalize();
#ifdef TIME_PY_RUN
@@ -563,6 +569,12 @@ void BPY_modules_load_user(bContext *C)
if(bmain==NULL)
return;
+ /* update pointers since this can run from a nested script
+ * on file load */
+ if(py_call_level) {
+ bpy_context_update(C);
+ }
+
bpy_context_set(C, &gilstate);
for(text=CTX_data_main(C)->text.first; text; text= text->id.next) {
@@ -656,7 +668,9 @@ int BPY_context_member_get(bContext *C, const char *member, bContextDataResult *
#include "BLI_storage.h"
/* TODO, reloading the module isnt functional at the moment. */
-extern int main_python(int argc, const char **argv);
+static void bpy_module_free(void *mod);
+extern int main_python_enter(int argc, const char **argv);
+extern void main_python_exit(void);
static struct PyModuleDef bpy_proxy_def= {
PyModuleDef_HEAD_INIT,
"bpy", /* m_name */
@@ -666,8 +680,8 @@ static struct PyModuleDef bpy_proxy_def= {
NULL, /* m_reload */
NULL, /* m_traverse */
NULL, /* m_clear */
- NULL, /* m_free */
-};
+ bpy_module_free, /* m_free */
+};
typedef struct {
PyObject_HEAD
@@ -692,7 +706,7 @@ void bpy_module_delay_init(PyObject *bpy_proxy)
// printf("module found %s\n", argv[0]);
- main_python(argc, argv);
+ main_python_enter(argc, argv);
/* initialized in BPy_init_modules() */
PyDict_Update(PyModule_GetDict(bpy_proxy), PyModule_GetDict(bpy_package_py));
@@ -749,4 +763,9 @@ PyInit_bpy(void)
return bpy_proxy;
}
+static void bpy_module_free(void *UNUSED(mod))
+{
+ main_python_exit();
+}
+
#endif
diff --git a/source/blender/python/intern/bpy_intern_string.c b/source/blender/python/intern/bpy_intern_string.c
new file mode 100644
index 00000000000..7c80653496f
--- /dev/null
+++ b/source/blender/python/intern/bpy_intern_string.c
@@ -0,0 +1,58 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/python/intern/bpy_intern_string.c
+ * \ingroup pythonintern
+ */
+
+#include <Python.h>
+
+#include "bpy_intern_string.h"
+
+PyObject *bpy_intern_str_register;
+PyObject *bpy_intern_str_unregister;
+PyObject *bpy_intern_str_bl_rna;
+PyObject *bpy_intern_str_order;
+PyObject *bpy_intern_str_attr;
+PyObject *bpy_intern_str___slots__;
+
+void bpy_intern_string_init(void)
+{
+ bpy_intern_str_register= PyUnicode_FromString("register");
+ bpy_intern_str_unregister= PyUnicode_FromString("unregister");
+ bpy_intern_str_bl_rna= PyUnicode_FromString("bl_rna");
+ bpy_intern_str_order= PyUnicode_FromString("order");
+ bpy_intern_str_attr= PyUnicode_FromString("attr");
+ bpy_intern_str___slots__= PyUnicode_FromString("__slots__");
+}
+
+void bpy_intern_string_exit(void)
+{
+ Py_DECREF(bpy_intern_str_register);
+ Py_DECREF(bpy_intern_str_unregister);
+ Py_DECREF(bpy_intern_str_bl_rna);
+ Py_DECREF(bpy_intern_str_order);
+ Py_DECREF(bpy_intern_str_attr);
+ Py_DECREF(bpy_intern_str___slots__);
+}
diff --git a/source/blender/python/intern/bpy_intern_string.h b/source/blender/python/intern/bpy_intern_string.h
new file mode 100644
index 00000000000..af6a9b7101a
--- /dev/null
+++ b/source/blender/python/intern/bpy_intern_string.h
@@ -0,0 +1,37 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Campbell Barton
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/python/intern/bpy_intern_string.h
+ * \ingroup pythonintern
+ */
+
+void bpy_intern_string_init(void);
+void bpy_intern_string_exit(void);
+
+extern PyObject *bpy_intern_str_register;
+extern PyObject *bpy_intern_str_unregister;
+extern PyObject *bpy_intern_str_bl_rna;
+extern PyObject *bpy_intern_str_order;
+extern PyObject *bpy_intern_str_attr;
+extern PyObject *bpy_intern_str___slots__;
diff --git a/source/blender/python/intern/bpy_library.c b/source/blender/python/intern/bpy_library.c
index 85bffb5a8cc..4ce3e0356e2 100644
--- a/source/blender/python/intern/bpy_library.c
+++ b/source/blender/python/intern/bpy_library.c
@@ -39,6 +39,7 @@
#include "BKE_library.h"
#include "BKE_idcode.h"
#include "BKE_report.h"
+#include "BKE_context.h"
#include "BLI_utildefines.h"
#include "BLI_string.h"
@@ -317,7 +318,7 @@ static PyObject *bpy_lib_exit(BPy_Library *self, PyObject *UNUSED(args))
flag_all_listbases_ids(LIB_PRE_EXISTING, 1);
/* here appending/linking starts */
- mainl= BLO_library_append_begin(BPy_GetContext(), &(self->blo_handle), self->relpath);
+ mainl= BLO_library_append_begin(CTX_data_main(BPy_GetContext()), &(self->blo_handle), self->relpath);
{
int i= 0, code;
diff --git a/source/blender/python/intern/bpy_operator.c b/source/blender/python/intern/bpy_operator.c
index b8883e655f2..7327679cc7e 100644
--- a/source/blender/python/intern/bpy_operator.c
+++ b/source/blender/python/intern/bpy_operator.c
@@ -52,9 +52,16 @@
#include "WM_types.h"
#include "MEM_guardedalloc.h"
+
+#include "BLI_ghash.h"
+
#include "BKE_report.h"
#include "BKE_context.h"
+/* so operators called can spawn threads which aquire the GIL */
+#define BPY_RELEASE_GIL
+
+
static PyObject *pyop_poll(PyObject *UNUSED(self), PyObject *args)
{
wmOperatorType *ot;
@@ -110,7 +117,6 @@ static PyObject *pyop_poll(PyObject *UNUSED(self), PyObject *args)
}
context_dict_back= CTX_py_dict_get(C);
-
CTX_py_dict_set(C, (void *)context_dict);
Py_XINCREF(context_dict); /* so we done loose it */
@@ -219,7 +225,22 @@ static PyObject *pyop_call(PyObject *UNUSED(self), PyObject *args)
reports= MEM_mallocN(sizeof(ReportList), "wmOperatorReportList");
BKE_reports_init(reports, RPT_STORE | RPT_OP_HOLD); /* own so these dont move into global reports */
- operator_ret= WM_operator_call_py(C, ot, context, &ptr, reports);
+#ifdef BPY_RELEASE_GIL
+ /* release GIL, since a thread could be started from an operator
+ * that updates a driver */
+ /* note: I havve not seen any examples of code that does this
+ * so it may not be officially supported but seems to work ok. */
+ {
+ PyThreadState *ts= PyEval_SaveThread();
+#endif
+
+ operator_ret= WM_operator_call_py(C, ot, context, &ptr, reports);
+
+#ifdef BPY_RELEASE_GIL
+ /* regain GIL */
+ PyEval_RestoreThread(ts);
+ }
+#endif
error_val= BPy_reports_to_error(reports, PyExc_RuntimeError, FALSE);
@@ -271,7 +292,7 @@ static PyObject *pyop_call(PyObject *UNUSED(self), PyObject *args)
* function corrects bpy.data (internal Main pointer) */
BPY_modules_update(C);
- /* needed for when WM_OT_read_factory_settings us called fro within a script */
+ /* needed for when WM_OT_read_factory_settings us called from within a script */
bpy_import_main_set(CTX_data_main(C));
/* return operator_ret as a bpy enum */
@@ -340,15 +361,18 @@ static PyObject *pyop_as_string(PyObject *UNUSED(self), PyObject *args)
static PyObject *pyop_dir(PyObject *UNUSED(self))
{
+ GHashIterator *iter= WM_operatortype_iter();
PyObject *list= PyList_New(0), *name;
- wmOperatorType *ot;
-
- for(ot= WM_operatortype_first(); ot; ot= ot->next) {
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
name= PyUnicode_FromString(ot->idname);
PyList_Append(list, name);
Py_DECREF(name);
}
-
+ BLI_ghashIterator_free(iter);
+
return list;
}
@@ -378,7 +402,9 @@ static PyObject *pyop_getrna(PyObject *UNUSED(self), PyObject *value)
pyrna= (BPy_StructRNA *)pyrna_struct_CreatePyObject(&ptr);
+#ifdef PYRNA_FREE_SUPPORT
pyrna->freeptr= TRUE;
+#endif
return (PyObject *)pyrna;
}
diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c
index 8ed4e41de3e..5da142aeea7 100644
--- a/source/blender/python/intern/bpy_props.c
+++ b/source/blender/python/intern/bpy_props.c
@@ -117,7 +117,7 @@ static PyObject *pymeth_PointerProperty= NULL;
static PyObject *pymeth_CollectionProperty= NULL;
static PyObject *pymeth_RemoveProperty= NULL;
-PyObject *pyrna_struct_as_instance(PointerRNA *ptr)
+static PyObject *pyrna_struct_as_instance(PointerRNA *ptr)
{
PyObject *self= NULL;
/* first get self */
@@ -177,7 +177,7 @@ static PyObject *bpy_prop_deferred_return(PyObject *func, PyObject *kw)
}
/* callbacks */
-void bpy_prop_update_cb(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop)
+static void bpy_prop_update_cb(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop)
{
PyGILState_STATE gilstate;
PyObject **py_data= (PyObject **)RNA_property_py_data_get(prop);
@@ -326,6 +326,11 @@ static int bpy_prop_callback_assign(struct PropertyRNA *prop, PyObject *update_c
" :type description: string\n" \
+#define BPY_PROPDEF_UNIT_DOC \
+" :arg unit: Enumerator in ['NONE', 'LENGTH', 'AREA', 'VOLUME', 'ROTATION', 'TIME', 'VELOCITY', 'ACCELERATION'].\n" \
+" :type unit: string\n" \
+
+
#define BPY_PROPDEF_UPDATE_DOC \
" :arg update: function to be called when this value is modified,\n" \
" This function must take 2 values (self, context) and return None.\n" \
@@ -459,7 +464,7 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject
return NULL;
}
- if(pydef && PyC_AsArray(def, pydef, size, &PyBool_Type, "BoolVectorProperty(default=sequence)") < 0)
+ if(pydef && PyC_AsArray(def, pydef, size, &PyBool_Type, FALSE, "BoolVectorProperty(default=sequence)") < 0)
return NULL;
if (bpy_prop_callback_check(update_cb, 2) == -1) {
@@ -603,7 +608,7 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject
return NULL;
}
- if(pydef && PyC_AsArray(def, pydef, size, &PyLong_Type, "IntVectorProperty(default=sequence)") < 0)
+ if(pydef && PyC_AsArray(def, pydef, size, &PyLong_Type, FALSE, "IntVectorProperty(default=sequence)") < 0)
return NULL;
if (bpy_prop_callback_check(update_cb, 2) == -1) {
@@ -639,8 +644,7 @@ BPY_PROPDEF_DESC_DOC
" :type options: set\n"
" :arg subtype: Enumerator in ['UNSIGNED', 'PERCENTAGE', 'FACTOR', 'ANGLE', 'TIME', 'DISTANCE', 'NONE'].\n"
" :type subtype: string\n"
-" :arg unit: Enumerator in ['NONE', 'LENGTH', 'AREA', 'VOLUME', 'ROTATION', 'TIME', 'VELOCITY', 'ACCELERATION'].\n"
-" :type unit: string\n"
+BPY_PROPDEF_UNIT_DOC
BPY_PROPDEF_UPDATE_DOC
);
static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
@@ -679,7 +683,7 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
BPY_PROPDEF_SUBTYPE_CHECK(FloatProperty, property_flag_items, property_subtype_number_items)
if(pyunit && RNA_enum_value_from_id(property_unit_items, pyunit, &unit)==0) {
- PyErr_Format(PyExc_TypeError, "FloatProperty(unit='%s'): invalid unit");
+ PyErr_Format(PyExc_TypeError, "FloatProperty(unit='%s'): invalid unit", pyunit);
return NULL;
}
@@ -716,6 +720,7 @@ BPY_PROPDEF_DESC_DOC
" :type options: set\n"
" :arg subtype: Enumerator in ['COLOR', 'TRANSLATION', 'DIRECTION', 'VELOCITY', 'ACCELERATION', 'MATRIX', 'EULER', 'QUATERNION', 'AXISANGLE', 'XYZ', 'COLOR_GAMMA', 'LAYER', 'NONE'].\n"
" :type subtype: string\n"
+BPY_PROPDEF_UNIT_DOC
" :arg size: Vector dimensions in [1, and " STRINGIFY(PYRNA_STACK_ARRAY) "].\n"
" :type size: int\n"
BPY_PROPDEF_UPDATE_DOC
@@ -727,7 +732,7 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
BPY_PROPDEF_HEAD(FloatVectorProperty)
if(srna) {
- static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "precision", "options", "subtype", "size", "update", NULL};
+ static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "precision", "options", "subtype", "unit", "size", "update", NULL};
const char *id=NULL, *name="", *description="";
int id_len;
float min=-FLT_MAX, max=FLT_MAX, soft_min=-FLT_MAX, soft_max=FLT_MAX, step=3, def[PYRNA_STACK_ARRAY]={0.0f};
@@ -738,15 +743,17 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
int opts=0;
char *pysubtype= NULL;
int subtype= PROP_NONE;
+ char *pyunit= NULL;
+ int unit= PROP_UNIT_NONE;
PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#|ssOfffffiO!siO:FloatVectorProperty",
+ "s#|ssOfffffiO!ssiO:FloatVectorProperty",
(char **)kwlist, &id, &id_len,
&name, &description, &pydef,
&min, &max, &soft_min, &soft_max,
&step, &precision, &PySet_Type,
- &pyopts, &pysubtype, &size,
+ &pyopts, &pysubtype, &pyunit, &size,
&update_cb))
{
return NULL;
@@ -754,19 +761,24 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
BPY_PROPDEF_SUBTYPE_CHECK(FloatVectorProperty, property_flag_items, property_subtype_array_items)
+ if(pyunit && RNA_enum_value_from_id(property_unit_items, pyunit, &unit)==0) {
+ PyErr_Format(PyExc_TypeError, "FloatVectorProperty(unit='%s'): invalid unit", pyunit);
+ return NULL;
+ }
+
if(size < 1 || size > PYRNA_STACK_ARRAY) {
PyErr_Format(PyExc_TypeError, "FloatVectorProperty(size=%d): size must be between 0 and " STRINGIFY(PYRNA_STACK_ARRAY), size);
return NULL;
}
- if(pydef && PyC_AsArray(def, pydef, size, &PyFloat_Type, "FloatVectorProperty(default=sequence)") < 0)
+ if(pydef && PyC_AsArray(def, pydef, size, &PyFloat_Type, FALSE, "FloatVectorProperty(default=sequence)") < 0)
return NULL;
if (bpy_prop_callback_check(update_cb, 2) == -1) {
return NULL;
}
- prop= RNA_def_property(srna, id, PROP_FLOAT, subtype);
+ prop= RNA_def_property(srna, id, PROP_FLOAT, subtype | unit);
RNA_def_property_array(prop, size);
if(pydef) RNA_def_property_float_array_default(prop, def);
RNA_def_property_range(prop, min, max);
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
index 38cc3edd8f6..d10c8c843e8 100644
--- a/source/blender/python/intern/bpy_rna.c
+++ b/source/blender/python/intern/bpy_rna.c
@@ -39,6 +39,7 @@
#include "bpy_props.h"
#include "bpy_util.h"
#include "bpy_rna_callback.h"
+#include "bpy_intern_string.h"
#ifdef USE_PYRNA_INVALIDATE_WEAKREF
#include "MEM_guardedalloc.h"
@@ -83,7 +84,9 @@ int pyrna_struct_validity_check(BPy_StructRNA *pysrna)
{
if(pysrna->ptr.type)
return 0;
- PyErr_Format(PyExc_ReferenceError, "StructRNA of type %.200s has been removed", Py_TYPE(pysrna)->tp_name);
+ PyErr_Format(PyExc_ReferenceError,
+ "StructRNA of type %.200s has been removed",
+ Py_TYPE(pysrna)->tp_name);
return -1;
}
@@ -345,7 +348,7 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb
static int deferred_register_prop(StructRNA *srna, PyObject *key, PyObject *item);
#ifdef USE_MATHUTILS
-#include "../generic/mathutils.h" /* so we can have mathutils callbacks */
+#include "../mathutils/mathutils.h" /* so we can have mathutils callbacks */
static PyObject *pyrna_prop_array_subscript_slice(BPy_PropertyArrayRNA *self, PointerRNA *ptr, PropertyRNA *prop, Py_ssize_t start, Py_ssize_t stop, Py_ssize_t length);
static short pyrna_rotation_euler_order_get(PointerRNA *ptr, PropertyRNA **prop_eul_order, short order_fallback);
@@ -789,43 +792,62 @@ static PyObject *pyrna_struct_str(BPy_StructRNA *self)
const char *name;
if(!PYRNA_STRUCT_IS_VALID(self)) {
- return PyUnicode_FromFormat("<bpy_struct, %.200s dead>", Py_TYPE(self)->tp_name);
+ return PyUnicode_FromFormat("<bpy_struct, %.200s dead>",
+ Py_TYPE(self)->tp_name);
}
/* print name if available */
name= RNA_struct_name_get_alloc(&self->ptr, NULL, FALSE);
if(name) {
- ret= PyUnicode_FromFormat("<bpy_struct, %.200s(\"%.200s\")>", RNA_struct_identifier(self->ptr.type), name);
+ ret= PyUnicode_FromFormat("<bpy_struct, %.200s(\"%.200s\")>",
+ RNA_struct_identifier(self->ptr.type),
+ name);
MEM_freeN((void *)name);
return ret;
}
- return PyUnicode_FromFormat("<bpy_struct, %.200s at %p>", RNA_struct_identifier(self->ptr.type), self->ptr.data);
+ return PyUnicode_FromFormat("<bpy_struct, %.200s at %p>",
+ RNA_struct_identifier(self->ptr.type),
+ self->ptr.data);
}
static PyObject *pyrna_struct_repr(BPy_StructRNA *self)
{
ID *id= self->ptr.id.data;
+ PyObject *tmp_str;
+ PyObject *ret;
+
if(id == NULL || !PYRNA_STRUCT_IS_VALID(self))
return pyrna_struct_str(self); /* fallback */
+ tmp_str= PyUnicode_FromString(id->name+2);
+
if(RNA_struct_is_ID(self->ptr.type)) {
- return PyUnicode_FromFormat("bpy.data.%s[\"%s\"]", BKE_idcode_to_name_plural(GS(id->name)), id->name+2);
+ ret= PyUnicode_FromFormat("bpy.data.%s[%R]",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str);
}
else {
- PyObject *ret;
const char *path;
path= RNA_path_from_ID_to_struct(&self->ptr);
if(path) {
- ret= PyUnicode_FromFormat("bpy.data.%s[\"%s\"].%s", BKE_idcode_to_name_plural(GS(id->name)), id->name+2, path);
+ ret= PyUnicode_FromFormat("bpy.data.%s[%R].%s",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str,
+ path);
MEM_freeN((void *)path);
}
else { /* cant find, print something sane */
- ret= PyUnicode_FromFormat("bpy.data.%s[\"%s\"]...%s", BKE_idcode_to_name_plural(GS(id->name)), id->name+2, RNA_struct_identifier(self->ptr.type));
+ ret= PyUnicode_FromFormat("bpy.data.%s[%R]...%s",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str,
+ RNA_struct_identifier(self->ptr.type));
}
-
- return ret;
}
+
+ Py_DECREF(tmp_str);
+
+ return ret;
}
static PyObject *pyrna_prop_str(BPy_PropertyRNA *self)
@@ -855,7 +877,7 @@ static PyObject *pyrna_prop_str(BPy_PropertyRNA *self)
if(type==PROP_COLLECTION) {
len= pyrna_prop_collection_length(self);
}
- else if (RNA_property_array_check(&self->ptr, self->prop)) {
+ else if (RNA_property_array_check(self->prop)) {
len= pyrna_prop_array_length((BPy_PropertyArrayRNA *)self);
}
@@ -869,7 +891,11 @@ static PyObject *pyrna_prop_str(BPy_PropertyRNA *self)
name= RNA_struct_name_get_alloc(&ptr, NULL, FALSE);
if(name) {
- ret= PyUnicode_FromFormat("<bpy_%.200s, %.200s.%.200s(\"%.200s\")>", type_fmt, RNA_struct_identifier(self->ptr.type), RNA_property_identifier(self->prop), name);
+ ret= PyUnicode_FromFormat("<bpy_%.200s, %.200s.%.200s(\"%.200s\")>",
+ type_fmt,
+ RNA_struct_identifier(self->ptr.type),
+ RNA_property_identifier(self->prop),
+ name);
MEM_freeN((void *)name);
return ret;
}
@@ -877,36 +903,62 @@ static PyObject *pyrna_prop_str(BPy_PropertyRNA *self)
if(RNA_property_type(self->prop) == PROP_COLLECTION) {
PointerRNA r_ptr;
if(RNA_property_collection_type_get(&self->ptr, self->prop, &r_ptr)) {
- return PyUnicode_FromFormat("<bpy_%.200s, %.200s>", type_fmt, RNA_struct_identifier(r_ptr.type));
+ return PyUnicode_FromFormat("<bpy_%.200s, %.200s>",
+ type_fmt,
+ RNA_struct_identifier(r_ptr.type));
}
}
- return PyUnicode_FromFormat("<bpy_%.200s, %.200s.%.200s>", type_fmt, RNA_struct_identifier(self->ptr.type), RNA_property_identifier(self->prop));
+ return PyUnicode_FromFormat("<bpy_%.200s, %.200s.%.200s>",
+ type_fmt,
+ RNA_struct_identifier(self->ptr.type),
+ RNA_property_identifier(self->prop));
}
static PyObject *pyrna_prop_repr(BPy_PropertyRNA *self)
{
- ID *id;
+ ID *id= self->ptr.id.data;
+ PyObject *tmp_str;
PyObject *ret;
const char *path;
PYRNA_PROP_CHECK_OBJ(self)
- if((id= self->ptr.id.data) == NULL)
+ if(id == NULL)
return pyrna_prop_str(self); /* fallback */
+ tmp_str= PyUnicode_FromString(id->name+2);
+
path= RNA_path_from_ID_to_property(&self->ptr, self->prop);
if(path) {
- ret= PyUnicode_FromFormat("bpy.data.%s[\"%s\"].%s", BKE_idcode_to_name_plural(GS(id->name)), id->name+2, path);
+ ret= PyUnicode_FromFormat("bpy.data.%s[%R].%s",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str,
+ path);
MEM_freeN((void *)path);
}
else { /* cant find, print something sane */
- ret= PyUnicode_FromFormat("bpy.data.%s[\"%s\"]...%s", BKE_idcode_to_name_plural(GS(id->name)), id->name+2, RNA_property_identifier(self->prop));
+ ret= PyUnicode_FromFormat("bpy.data.%s[%R]...%s",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str,
+ RNA_property_identifier(self->prop));
}
+ Py_DECREF(tmp_str);
+
return ret;
}
+
+static PyObject *pyrna_func_repr(BPy_FunctionRNA *self)
+{
+ return PyUnicode_FromFormat("<%.200s %.200s.%.200s()>",
+ Py_TYPE(self)->tp_name,
+ RNA_struct_identifier(self->ptr.type),
+ RNA_function_identifier(self->func));
+}
+
+
static long pyrna_struct_hash(BPy_StructRNA *self)
{
return _Py_HashPointer(self->ptr.data);
@@ -949,11 +1001,13 @@ static int pyrna_struct_clear(BPy_StructRNA *self)
/* use our own dealloc so we can free a property if we use one */
static void pyrna_struct_dealloc(BPy_StructRNA *self)
{
+#ifdef PYRNA_FREE_SUPPORT
if (self->freeptr && self->ptr.data) {
IDP_FreeProperty(self->ptr.data);
MEM_freeN(self->ptr.data);
self->ptr.data= NULL;
}
+#endif /* PYRNA_FREE_SUPPORT */
#ifdef USE_WEAKREFS
if (self->in_weakreflist != NULL) {
@@ -1063,6 +1117,7 @@ static int pyrna_string_to_enum(PyObject *item, PointerRNA *ptr, PropertyRNA *pr
return 1;
}
+/* 'value' _must_ be a set type, error check before calling */
int pyrna_set_to_enum_bitfield(EnumPropertyItem *items, PyObject *value, int *r_value, const char *error_prefix)
{
/* set of enum items, concatenate all values with OR */
@@ -1084,8 +1139,10 @@ int pyrna_set_to_enum_bitfield(EnumPropertyItem *items, PyObject *value, int *r_
error_prefix, Py_TYPE(key)->tp_name);
return -1;
}
- if(pyrna_enum_value_from_id(items, param, &ret, error_prefix) < 0)
+
+ if(pyrna_enum_value_from_id(items, param, &ret, error_prefix) < 0) {
return -1;
+ }
flag |= ret;
}
@@ -1102,6 +1159,14 @@ static int pyrna_prop_to_enum_bitfield(PointerRNA *ptr, PropertyRNA *prop, PyObj
*r_value= 0;
+ if (!PyAnySet_Check(value)) {
+ PyErr_Format(PyExc_TypeError,
+ "%.200s, %.200s.%.200s expected a set, not a %.200s",
+ error_prefix, RNA_struct_identifier(ptr->type),
+ RNA_property_identifier(prop), Py_TYPE(value)->tp_name);
+ return -1;
+ }
+
RNA_property_enum_items(BPy_GetContext(), ptr, prop, &item, NULL, &free);
if(item) {
@@ -1186,7 +1251,7 @@ static PyObject *pyrna_enum_to_py(PointerRNA *ptr, PropertyRNA *prop, int val)
#if 0 // gives python decoding errors while generating docs :(
char error_str[256];
- snprintf(error_str, sizeof(error_str), "RNA Warning: Current value \"%d\" matches no enum in '%s', '%s', '%s'", val, RNA_struct_identifier(ptr->type), ptr_name, RNA_property_identifier(prop));
+ BLI_snprintf(error_str, sizeof(error_str), "RNA Warning: Current value \"%d\" matches no enum in '%s', '%s', '%s'", val, RNA_struct_identifier(ptr->type), ptr_name, RNA_property_identifier(prop));
PyErr_Warn(PyExc_RuntimeWarning, error_str);
#endif
@@ -1214,7 +1279,7 @@ PyObject *pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
PyObject *ret;
int type= RNA_property_type(prop);
- if (RNA_property_array_check(ptr, prop)) {
+ if (RNA_property_array_check(prop)) {
return pyrna_py_from_array(ptr, prop);
}
@@ -1233,7 +1298,9 @@ PyObject *pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
{
int subtype= RNA_property_subtype(prop);
const char *buf;
- buf= RNA_property_string_get_alloc(ptr, prop, NULL, -1);
+ char buf_fixed[32];
+
+ buf= RNA_property_string_get_alloc(ptr, prop, buf_fixed, sizeof(buf_fixed));
#ifdef USE_STRING_COERCE
/* only file paths get special treatment, they may contain non utf-8 chars */
if(ELEM3(subtype, PROP_FILEPATH, PROP_DIRPATH, PROP_FILENAME)) {
@@ -1245,7 +1312,9 @@ PyObject *pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
#else // USE_STRING_COERCE
ret= PyUnicode_FromString(buf);
#endif // USE_STRING_COERCE
- MEM_freeN((void *)buf);
+ if(buf_fixed != buf) {
+ MEM_freeN((void *)buf);
+ }
break;
}
case PROP_ENUM:
@@ -1343,49 +1412,25 @@ int pyrna_pydict_to_props(PointerRNA *ptr, PyObject *kw, int all_args, const cha
return error_val;
}
-static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw);
-static PyObject *pyrna_func_to_py(BPy_DummyPointerRNA *pyrna, FunctionRNA *func)
+static PyObject *pyrna_func_to_py(PointerRNA *ptr, FunctionRNA *func)
{
- static PyMethodDef func_meth= {"<generic rna function>", (PyCFunction)pyrna_func_call, METH_VARARGS|METH_KEYWORDS, "python rna function"};
- PyObject *self;
- PyObject *ret;
-
- if(func==NULL) {
- PyErr_Format(PyExc_RuntimeError,
- "%.200s: type attempted to get NULL function",
- RNA_struct_identifier(pyrna->ptr.type));
- return NULL;
- }
-
- self= PyTuple_New(2);
-
- PyTuple_SET_ITEM(self, 0, (PyObject *)pyrna);
- Py_INCREF(pyrna);
-
- PyTuple_SET_ITEM(self, 1, PyCapsule_New((void *)func, NULL, NULL));
-
- ret= PyCFunction_New(&func_meth, self);
- Py_DECREF(self);
-
- return ret;
+ BPy_FunctionRNA* pyfunc= (BPy_FunctionRNA *) PyObject_NEW(BPy_FunctionRNA, &pyrna_func_Type);
+ pyfunc->ptr= *ptr;
+ pyfunc->func= func;
+ return (PyObject *)pyfunc;
}
-
static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyObject *value, const char *error_prefix)
{
/* XXX hard limits should be checked here */
int type= RNA_property_type(prop);
- if (RNA_property_array_check(ptr, prop)) {
- int ok= 1;
-
+ if (RNA_property_array_check(prop)) {
/* done getting the length */
- ok= pyrna_py_to_array(ptr, prop, data, value, error_prefix);
-
- if (!ok) {
+ if(pyrna_py_to_array(ptr, prop, data, value, error_prefix) == -1) {
return -1;
}
}
@@ -1476,7 +1521,7 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb
param= _PyUnicode_AsString(value);
}
#else // USE_STRING_COERCE
- param= _PyUnicode_AsStringSize(value);
+ param= _PyUnicode_AsString(value);
#endif // USE_STRING_COERCE
if (param==NULL) {
@@ -1499,33 +1544,18 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb
{
int val= 0;
- if (PyUnicode_Check(value)) {
- if (!pyrna_string_to_enum(value, ptr, prop, &val, error_prefix))
- return -1;
- }
- else if (PyAnySet_Check(value)) {
- if(RNA_property_flag(prop) & PROP_ENUM_FLAG) {
- /* set of enum items, concatenate all values with OR */
- if(pyrna_prop_to_enum_bitfield(ptr, prop, value, &val, error_prefix) < 0)
- return -1;
- }
- else {
- PyErr_Format(PyExc_TypeError,
- "%.200s, %.200s.%.200s is not a bitflag enum type",
- error_prefix, RNA_struct_identifier(ptr->type),
- RNA_property_identifier(prop));
+ /* type checkins is done by each function */
+ if(RNA_property_flag(prop) & PROP_ENUM_FLAG) {
+ /* set of enum items, concatenate all values with OR */
+ if(pyrna_prop_to_enum_bitfield(ptr, prop, value, &val, error_prefix) < 0) {
return -1;
}
}
else {
- const char *enum_str= pyrna_enum_as_string(ptr, prop);
- PyErr_Format(PyExc_TypeError,
- "%.200s %.200s.%.200s expected a string enum or a set of strings in (%.2000s), not %.200s",
- error_prefix, RNA_struct_identifier(ptr->type),
- RNA_property_identifier(prop), enum_str,
- Py_TYPE(value)->tp_name);
- MEM_freeN((void *)enum_str);
- return -1;
+ /* simple enum string */
+ if (!pyrna_string_to_enum(value, ptr, prop, &val, error_prefix) < 0) {
+ return -1;
+ }
}
if(data) *((int*)data)= val;
@@ -1767,8 +1797,8 @@ static int pyrna_py_to_prop_array_index(BPy_PropertyArrayRNA *self, int index, P
if (totdim > 1) {
/* char error_str[512]; */
- if (!pyrna_py_to_array_index(&self->ptr, self->prop, self->arraydim, self->arrayoffset, index, value, "")) {
- /* PyErr_SetString(PyExc_AttributeError, error_str); */
+ if (pyrna_py_to_array_index(&self->ptr, self->prop, self->arraydim, self->arrayoffset, index, value, "") == -1) {
+ /* error is set */
ret= -1;
}
}
@@ -3004,12 +3034,14 @@ static PyObject *pyrna_struct_getattro(BPy_StructRNA *self, PyObject *pyname)
}
/* RNA function only if callback is declared (no optional functions) */
else if ((func= RNA_struct_find_function(&self->ptr, name)) && RNA_function_defined(func)) {
- ret= pyrna_func_to_py((BPy_DummyPointerRNA *)self, func);
+ ret= pyrna_func_to_py(&self->ptr, func);
}
else if (self->ptr.type == &RNA_Context) {
bContext *C= self->ptr.data;
if(C==NULL) {
- PyErr_Format(PyExc_AttributeError, "bpy_struct: Context is 'NULL', can't get \"%.200s\" from context", name);
+ PyErr_Format(PyExc_AttributeError,
+ "bpy_struct: Context is 'NULL', can't get \"%.200s\" from context",
+ name);
ret= NULL;
}
else {
@@ -3068,7 +3100,9 @@ static PyObject *pyrna_struct_getattro(BPy_StructRNA *self, PyObject *pyname)
}
else {
#if 0
- PyErr_Format(PyExc_AttributeError, "bpy_struct: attribute \"%.200s\" not found", name);
+ PyErr_Format(PyExc_AttributeError,
+ "bpy_struct: attribute \"%.200s\" not found",
+ name);
ret= NULL;
#endif
/* Include this incase this instance is a subtype of a python class
@@ -3184,7 +3218,9 @@ static int pyrna_struct_meta_idprop_setattro(PyObject *cls, PyObject *attr, PyOb
const char *attr_str= _PyUnicode_AsString(attr);
int ret= RNA_def_property_free_identifier(srna, attr_str);
if (ret == -1) {
- PyErr_Format(PyExc_TypeError, "struct_meta_idprop.detattr(): '%s' not a dynamic property", attr_str);
+ PyErr_Format(PyExc_TypeError,
+ "struct_meta_idprop.detattr(): '%s' not a dynamic property",
+ attr_str);
return -1;
}
}
@@ -3222,7 +3258,9 @@ static int pyrna_struct_setattro(BPy_StructRNA *self, PyObject *pyname, PyObject
/* code just raises correct error, context prop's cant be set, unless its apart of the py class */
bContext *C= self->ptr.data;
if(C==NULL) {
- PyErr_Format(PyExc_AttributeError, "bpy_struct: Context is 'NULL', can't set \"%.200s\" from context", name);
+ PyErr_Format(PyExc_AttributeError,
+ "bpy_struct: Context is 'NULL', can't set \"%.200s\" from context",
+ name);
return -1;
}
else {
@@ -3233,7 +3271,9 @@ static int pyrna_struct_setattro(BPy_StructRNA *self, PyObject *pyname, PyObject
int done= CTX_data_get(C, name, &newptr, &newlb, &newtype);
if(done==1) {
- PyErr_Format(PyExc_AttributeError, "bpy_struct: Context property \"%.200s\" is read-only", name);
+ PyErr_Format(PyExc_AttributeError,
+ "bpy_struct: Context property \"%.200s\" is read-only",
+ name);
BLI_freelistN(&newlb);
return -1;
}
@@ -3265,11 +3305,15 @@ static PyObject *pyrna_prop_dir(BPy_PropertyRNA *self)
* */
ret= PyList_New(0);
- if (!BPy_PropertyRNA_CheckExact(self))
+ if (!BPy_PropertyRNA_CheckExact(self)) {
pyrna_dir_members_py(ret, (PyObject *)self);
+ }
- if(RNA_property_collection_type_get(&self->ptr, self->prop, &r_ptr))
- pyrna_dir_members_rna(ret, &r_ptr);
+ if(RNA_property_type(self->prop) == PROP_COLLECTION) {
+ if(RNA_property_collection_type_get(&self->ptr, self->prop, &r_ptr)) {
+ pyrna_dir_members_rna(ret, &r_ptr);
+ }
+ }
return ret;
}
@@ -3302,7 +3346,7 @@ static PyObject *pyrna_prop_collection_getattro(BPy_PropertyRNA *self, PyObject
}
else if ((func= RNA_struct_find_function(&r_ptr, name))) {
PyObject *self_collection= pyrna_struct_CreatePyObject(&r_ptr);
- ret= pyrna_func_to_py((BPy_DummyPointerRNA *)self_collection, func);
+ ret= pyrna_func_to_py(&((BPy_DummyPointerRNA *)self_collection)->ptr, func);
Py_DECREF(self_collection);
return ret;
@@ -3373,7 +3417,9 @@ static int pyrna_prop_collection_setattro(BPy_PropertyRNA *self, PyObject *pynam
}
}
- PyErr_Format(PyExc_AttributeError, "bpy_prop_collection: attribute \"%.200s\" not found", name);
+ PyErr_Format(PyExc_AttributeError,
+ "bpy_prop_collection: attribute \"%.200s\" not found",
+ name);
return -1;
}
@@ -3850,9 +3896,11 @@ static PyObject *foreach_getset(BPy_PropertyRNA *self, PyObject *args, int set)
case PROP_RAW_DOUBLE:
item= PyFloat_FromDouble((double) ((double *)array)[i]);
break;
- case PROP_RAW_UNSET:
+ default: /* PROP_RAW_UNSET */
/* should never happen */
BLI_assert(!"Invalid array type - get");
+ item= Py_None;
+ Py_INCREF(item);
break;
}
@@ -4056,11 +4104,14 @@ static PyObject *pyrna_struct_new(PyTypeObject *type, PyObject *args, PyObject *
}
/* error, invalid type given */
- PyErr_Format(PyExc_TypeError, "bpy_struct.__new__(type): type '%.200s' is not a subtype of bpy_struct", type->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "bpy_struct.__new__(type): type '%.200s' is not a subtype of bpy_struct",
+ type->tp_name);
return NULL;
}
else {
- PyErr_Format(PyExc_TypeError, "bpy_struct.__new__(type): expected a single argument");
+ PyErr_Format(PyExc_TypeError,
+ "bpy_struct.__new__(type): expected a single argument");
return NULL;
}
}
@@ -4085,7 +4136,9 @@ static PyObject *pyrna_prop_new(PyTypeObject *type, PyObject *args, PyObject *UN
return (PyObject *)ret;
}
else {
- PyErr_Format(PyExc_TypeError, "bpy_prop.__new__(type): type '%.200s' is not a subtype of bpy_prop", type->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "bpy_prop.__new__(type): type '%.200s' is not a subtype of bpy_prop",
+ type->tp_name);
return NULL;
}
}
@@ -4096,7 +4149,7 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat
int type= RNA_property_type(prop);
int flag= RNA_property_flag(prop);
- if(RNA_property_array_check(ptr, prop)) {
+ if(RNA_property_array_check(prop)) {
int a, len;
if (flag & PROP_DYNAMIC) {
@@ -4147,7 +4200,9 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat
}
break;
default:
- PyErr_Format(PyExc_TypeError, "RNA Error: unknown array type \"%d\" (pyrna_param_to_py)", type);
+ PyErr_Format(PyExc_TypeError,
+ "RNA Error: unknown array type \"%d\" (pyrna_param_to_py)",
+ type);
ret= NULL;
break;
}
@@ -4245,7 +4300,9 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat
break;
}
default:
- PyErr_Format(PyExc_TypeError, "RNA Error: unknown type \"%d\" (pyrna_param_to_py)", type);
+ PyErr_Format(PyExc_TypeError,
+ "RNA Error: unknown type \"%d\" (pyrna_param_to_py)",
+ type);
ret= NULL;
break;
}
@@ -4254,11 +4311,31 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat
return ret;
}
-static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw)
+/* Use to replace PyDict_GetItemString() when the overhead of converting a
+ * string into a python unicode is higher than a non hash lookup.
+ * works on small dict's such as keyword args. */
+static PyObject *small_dict_get_item_string(PyObject *dict, const char *key_lookup)
+{
+ PyObject *key= NULL;
+ Py_ssize_t pos = 0;
+ PyObject *value = NULL;
+
+ while (PyDict_Next(dict, &pos, &key, &value)) {
+ if(PyUnicode_Check(key)) {
+ if(strcmp(key_lookup, _PyUnicode_AsString(key))==0) {
+ return value;
+ }
+ }
+ }
+
+ return NULL;
+}
+
+static PyObject *pyrna_func_call(BPy_FunctionRNA *self, PyObject *args, PyObject *kw)
{
/* Note, both BPy_StructRNA and BPy_PropertyRNA can be used here */
- PointerRNA *self_ptr= &(((BPy_DummyPointerRNA *)PyTuple_GET_ITEM(self, 0))->ptr);
- FunctionRNA *self_func= PyCapsule_GetPointer(PyTuple_GET_ITEM(self, 1), NULL);
+ PointerRNA *self_ptr= &self->ptr;
+ FunctionRNA *self_func= self->func;
PointerRNA funcptr;
ParameterList parms;
@@ -4266,7 +4343,6 @@ static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw)
PropertyRNA *parm;
PyObject *ret, *item;
int i, pyargs_len, pykw_len, parms_len, ret_len, flag, err= 0, kw_tot= 0, kw_arg;
- const char *parm_id;
PropertyRNA *pret_single= NULL;
void *retdata_single= NULL;
@@ -4342,28 +4418,33 @@ static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw)
continue;
}
- parm_id= RNA_property_identifier(parm);
item= NULL;
if (i < pyargs_len) {
item= PyTuple_GET_ITEM(args, i);
- i++;
-
kw_arg= FALSE;
}
else if (kw != NULL) {
- item= PyDict_GetItemString(kw, parm_id); /* borrow ref */
+#if 0
+ item= PyDict_GetItemString(kw, RNA_property_identifier(parm)); /* borrow ref */
+#else
+ item= small_dict_get_item_string(kw, RNA_property_identifier(parm)); /* borrow ref */
+#endif
if(item)
kw_tot++; /* make sure invalid keywords are not given */
kw_arg= TRUE;
}
+ i++; /* current argument */
+
if (item==NULL) {
if(flag & PROP_REQUIRED) {
PyErr_Format(PyExc_TypeError,
"%.200s.%.200s(): required parameter \"%.200s\" not specified",
- RNA_struct_identifier(self_ptr->type), RNA_function_identifier(self_func), parm_id);
+ RNA_struct_identifier(self_ptr->type),
+ RNA_function_identifier(self_func),
+ RNA_property_identifier(parm));
err= -1;
break;
}
@@ -4390,9 +4471,18 @@ static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw)
PyErr_Clear(); /* re-raise */
if(kw_arg==TRUE)
- snprintf(error_prefix, sizeof(error_prefix), "%s.%s(): error with keyword argument \"%s\" - ", RNA_struct_identifier(self_ptr->type), RNA_function_identifier(self_func), parm_id);
+ BLI_snprintf(error_prefix, sizeof(error_prefix),
+ "%.200s.%.200s(): error with keyword argument \"%.200s\" - ",
+ RNA_struct_identifier(self_ptr->type),
+ RNA_function_identifier(self_func),
+ RNA_property_identifier(parm));
else
- snprintf(error_prefix, sizeof(error_prefix), "%s.%s(): error with argument %d, \"%s\" - ", RNA_struct_identifier(self_ptr->type), RNA_function_identifier(self_func), i, parm_id);
+ BLI_snprintf(error_prefix, sizeof(error_prefix),
+ "%.200s.%.200s(): error with argument %d, \"%.200s\" - ",
+ RNA_struct_identifier(self_ptr->type),
+ RNA_function_identifier(self_func),
+ i,
+ RNA_property_identifier(parm));
pyrna_py_to_prop(&funcptr, parm, iter.data, item, error_prefix);
@@ -4541,28 +4631,28 @@ static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw)
/* note: tp_base member is set to &PyType_Type on init */
PyTypeObject pyrna_struct_meta_idprop_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_struct_meta_idprop", /* tp_name */
- sizeof(PyHeapTypeObject), /* tp_basicsize */ // XXX, would be PyTypeObject, but subtypes of Type must be PyHeapTypeObject's
- 0, /* tp_itemsize */
+ "bpy_struct_meta_idprop", /* tp_name */
+ sizeof(PyHeapTypeObject), /* tp_basicsize */ // XXX, would be PyTypeObject, but subtypes of Type must be PyHeapTypeObject's
+ 0, /* tp_itemsize */
/* methods */
- NULL, /* tp_dealloc */
+ NULL, /* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
- NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
- NULL, /* tp_repr */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_compare */ /* deprecated in python 3.0! */
+ NULL, /* tp_repr */
/* Method suites for standard classes */
NULL, /* PyNumberMethods *tp_as_number; */
- NULL, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- NULL, /* hashfunc tp_hash; */
- NULL, /* ternaryfunc tp_call; */
- NULL, /* reprfunc tp_str; */
- NULL /*(getattrofunc) pyrna_struct_meta_idprop_getattro*/, /* getattrofunc tp_getattro; */
- (setattrofunc) pyrna_struct_meta_idprop_setattro, /* setattrofunc tp_setattro; */
+ NULL, /* hashfunc tp_hash; */
+ NULL, /* ternaryfunc tp_call; */
+ NULL, /* reprfunc tp_str; */
+ NULL /*(getattrofunc) pyrna_struct_meta_idprop_getattro*/, /* getattrofunc tp_getattro; */
+ (setattrofunc) pyrna_struct_meta_idprop_setattro, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
@@ -4570,7 +4660,7 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
/*** Flags to define presence of optional/expanded features ***/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -4580,7 +4670,7 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
/*** Assigned meaning in release 2.1 ***/
/*** rich comparisons ***/
- NULL, /* richcmpfunc tp_richcompare; */
+ NULL, /* richcmpfunc tp_richcompare; */
/*** weak reference enabler ***/
0, /* long tp_weaklistoffset; */
@@ -4591,9 +4681,9 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- NULL, /* struct PyMethodDef *tp_methods; */
+ NULL, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- NULL, /* struct PyGetSetDef *tp_getset; */
+ NULL, /* struct PyGetSetDef *tp_getset; */
NULL, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
@@ -4601,7 +4691,7 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- NULL, /* newfunc tp_new; */
+ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
@@ -4619,45 +4709,45 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
/*-----------------------BPy_StructRNA method def------------------------------*/
PyTypeObject pyrna_struct_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_struct", /* tp_name */
- sizeof(BPy_StructRNA), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "bpy_struct", /* tp_name */
+ sizeof(BPy_StructRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
/* methods */
(destructor) pyrna_struct_dealloc,/* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
- NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
- (reprfunc) pyrna_struct_repr, /* tp_repr */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ (reprfunc) pyrna_struct_repr, /* tp_repr */
/* Method suites for standard classes */
NULL, /* PyNumberMethods *tp_as_number; */
- &pyrna_struct_as_sequence, /* PySequenceMethods *tp_as_sequence; */
- &pyrna_struct_as_mapping, /* PyMappingMethods *tp_as_mapping; */
+ &pyrna_struct_as_sequence, /* PySequenceMethods *tp_as_sequence; */
+ &pyrna_struct_as_mapping, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- (hashfunc) pyrna_struct_hash, /* hashfunc tp_hash; */
- NULL, /* ternaryfunc tp_call; */
+ (hashfunc) pyrna_struct_hash, /* hashfunc tp_hash; */
+ NULL, /* ternaryfunc tp_call; */
(reprfunc) pyrna_struct_str, /* reprfunc tp_str; */
- (getattrofunc) pyrna_struct_getattro, /* getattrofunc tp_getattro; */
- (setattrofunc) pyrna_struct_setattro, /* setattrofunc tp_setattro; */
+ (getattrofunc) pyrna_struct_getattro, /* getattrofunc tp_getattro; */
+ (setattrofunc) pyrna_struct_setattro, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
/*** Flags to define presence of optional/expanded features ***/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC, /* long tp_flags; */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
#ifdef USE_PYRNA_STRUCT_REFERENCE
- (traverseproc) pyrna_struct_traverse, /* traverseproc tp_traverse; */
+ (traverseproc) pyrna_struct_traverse, /* traverseproc tp_traverse; */
/* delete references to contained objects */
- (inquiry)pyrna_struct_clear, /* inquiry tp_clear; */
+ (inquiry)pyrna_struct_clear, /* inquiry tp_clear; */
#else
NULL, /* traverseproc tp_traverse; */
@@ -4667,11 +4757,11 @@ PyTypeObject pyrna_struct_Type= {
/*** Assigned meaning in release 2.1 ***/
/*** rich comparisons ***/
- (richcmpfunc)pyrna_struct_richcmp, /* richcmpfunc tp_richcompare; */
+ (richcmpfunc)pyrna_struct_richcmp, /* richcmpfunc tp_richcompare; */
/*** weak reference enabler ***/
#ifdef USE_WEAKREFS
- offsetof(BPy_StructRNA, in_weakreflist), /* long tp_weaklistoffset; */
+ offsetof(BPy_StructRNA, in_weakreflist), /* long tp_weaklistoffset; */
#else
0,
#endif
@@ -4681,9 +4771,9 @@ PyTypeObject pyrna_struct_Type= {
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- pyrna_struct_methods, /* struct PyMethodDef *tp_methods; */
+ pyrna_struct_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- pyrna_struct_getseters, /* struct PyGetSetDef *tp_getset; */
+ pyrna_struct_getseters, /* struct PyGetSetDef *tp_getset; */
NULL, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
@@ -4691,7 +4781,7 @@ PyTypeObject pyrna_struct_Type= {
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- pyrna_struct_new, /* newfunc tp_new; */
+ pyrna_struct_new, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
@@ -4708,32 +4798,32 @@ PyTypeObject pyrna_struct_Type= {
/*-----------------------BPy_PropertyRNA method def------------------------------*/
PyTypeObject pyrna_prop_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_prop", /* tp_name */
- sizeof(BPy_PropertyRNA), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "bpy_prop", /* tp_name */
+ sizeof(BPy_PropertyRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
/* methods */
(destructor) pyrna_prop_dealloc, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
+ NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
- (reprfunc) pyrna_prop_repr, /* tp_repr */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ (reprfunc) pyrna_prop_repr, /* tp_repr */
/* Method suites for standard classes */
NULL, /* PyNumberMethods *tp_as_number; */
- NULL, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- (hashfunc) pyrna_prop_hash, /* hashfunc tp_hash; */
+ (hashfunc) pyrna_prop_hash, /* hashfunc tp_hash; */
NULL, /* ternaryfunc tp_call; */
(reprfunc) pyrna_prop_str, /* reprfunc tp_str; */
/* will only use these if this is a subtype of a py class */
- NULL, /* getattrofunc tp_getattro; */
- NULL, /* setattrofunc tp_setattro; */
+ NULL, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
@@ -4741,7 +4831,7 @@ PyTypeObject pyrna_prop_Type= {
/*** Flags to define presence of optional/expanded features ***/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -4762,11 +4852,11 @@ PyTypeObject pyrna_prop_Type= {
/*** Added in release 2.2 ***/
/* Iterators */
- NULL, /* getiterfunc tp_iter; */
+ NULL, /* getiterfunc tp_iter; */
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- pyrna_prop_methods, /* struct PyMethodDef *tp_methods; */
+ pyrna_prop_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
pyrna_prop_getseters, /* struct PyGetSetDef *tp_getset; */
NULL, /* struct _typeobject *tp_base; */
@@ -4776,7 +4866,7 @@ PyTypeObject pyrna_prop_Type= {
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- pyrna_prop_new, /* newfunc tp_new; */
+ pyrna_prop_new, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
@@ -4798,34 +4888,34 @@ PyTypeObject pyrna_prop_array_Type= {
/* methods */
(destructor)pyrna_prop_array_dealloc, /* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
+ NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
NULL,/* subclassed */ /* tp_repr */
/* Method suites for standard classes */
- &pyrna_prop_array_as_number, /* PyNumberMethods *tp_as_number; */
- &pyrna_prop_array_as_sequence, /* PySequenceMethods *tp_as_sequence; */
- &pyrna_prop_array_as_mapping, /* PyMappingMethods *tp_as_mapping; */
+ &pyrna_prop_array_as_number, /* PyNumberMethods *tp_as_number; */
+ &pyrna_prop_array_as_sequence, /* PySequenceMethods *tp_as_sequence; */
+ &pyrna_prop_array_as_mapping, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- NULL, /* hashfunc tp_hash; */
+ NULL, /* hashfunc tp_hash; */
NULL, /* ternaryfunc tp_call; */
NULL, /* reprfunc tp_str; */
/* will only use these if this is a subtype of a py class */
- (getattrofunc) pyrna_prop_array_getattro, /* getattrofunc tp_getattro; */
- NULL, /* setattrofunc tp_setattro; */
+ (getattrofunc) pyrna_prop_array_getattro, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
/*** Flags to define presence of optional/expanded features ***/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -4835,7 +4925,7 @@ PyTypeObject pyrna_prop_array_Type= {
/*** Assigned meaning in release 2.1 ***/
/*** rich comparisons ***/
- NULL, /* subclassed */ /* richcmpfunc tp_richcompare; */
+ NULL, /* subclassed */ /* richcmpfunc tp_richcompare; */
/*** weak reference enabler ***/
#ifdef USE_WEAKREFS
@@ -4849,22 +4939,22 @@ PyTypeObject pyrna_prop_array_Type= {
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- pyrna_prop_array_methods, /* struct PyMethodDef *tp_methods; */
+ pyrna_prop_array_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
- &pyrna_prop_Type, /* struct _typeobject *tp_base; */
+ NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
+ &pyrna_prop_Type, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
NULL, /* descrsetfunc tp_descr_set; */
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- NULL, /* newfunc tp_new; */
+ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
NULL, /* inquiry tp_is_gc; */
- NULL, /* PyObject *tp_bases; */
+ NULL, /* PyObject *tp_bases; */
/* method resolution order */
NULL, /* PyObject *tp_mro; */
NULL, /* PyObject *tp_cache; */
@@ -4875,32 +4965,32 @@ PyTypeObject pyrna_prop_array_Type= {
PyTypeObject pyrna_prop_collection_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_prop_collection", /* tp_name */
- sizeof(BPy_PropertyRNA), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "bpy_prop_collection", /* tp_name */
+ sizeof(BPy_PropertyRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_dealloc, /* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
+ NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
NULL, /* subclassed */ /* tp_repr */
/* Method suites for standard classes */
&pyrna_prop_collection_as_number, /* PyNumberMethods *tp_as_number; */
- &pyrna_prop_collection_as_sequence, /* PySequenceMethods *tp_as_sequence; */
- &pyrna_prop_collection_as_mapping, /* PyMappingMethods *tp_as_mapping; */
+ &pyrna_prop_collection_as_sequence, /* PySequenceMethods *tp_as_sequence; */
+ &pyrna_prop_collection_as_mapping, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- NULL, /* hashfunc tp_hash; */
+ NULL, /* hashfunc tp_hash; */
NULL, /* ternaryfunc tp_call; */
NULL, /* reprfunc tp_str; */
/* will only use these if this is a subtype of a py class */
- (getattrofunc) pyrna_prop_collection_getattro, /* getattrofunc tp_getattro; */
- (setattrofunc) pyrna_prop_collection_setattro, /* setattrofunc tp_setattro; */
+ (getattrofunc) pyrna_prop_collection_getattro, /* getattrofunc tp_getattro; */
+ (setattrofunc) pyrna_prop_collection_setattro, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
@@ -4908,7 +4998,7 @@ PyTypeObject pyrna_prop_collection_Type= {
/*** Flags to define presence of optional/expanded features ***/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -4922,33 +5012,33 @@ PyTypeObject pyrna_prop_collection_Type= {
/*** weak reference enabler ***/
#ifdef USE_WEAKREFS
- offsetof(BPy_PropertyRNA, in_weakreflist), /* long tp_weaklistoffset; */
+ offsetof(BPy_PropertyRNA, in_weakreflist), /* long tp_weaklistoffset; */
#else
0,
#endif
/*** Added in release 2.2 ***/
/* Iterators */
- (getiterfunc)pyrna_prop_collection_iter, /* getiterfunc tp_iter; */
+ (getiterfunc)pyrna_prop_collection_iter, /* getiterfunc tp_iter; */
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- pyrna_prop_collection_methods, /* struct PyMethodDef *tp_methods; */
+ pyrna_prop_collection_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
- &pyrna_prop_Type, /* struct _typeobject *tp_base; */
+ NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
+ &pyrna_prop_Type, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
NULL, /* descrsetfunc tp_descr_set; */
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- NULL, /* newfunc tp_new; */
+ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
NULL, /* inquiry tp_is_gc; */
- NULL, /* PyObject *tp_bases; */
+ NULL, /* PyObject *tp_bases; */
/* method resolution order */
NULL, /* PyObject *tp_mro; */
NULL, /* PyObject *tp_cache; */
@@ -4960,32 +5050,32 @@ PyTypeObject pyrna_prop_collection_Type= {
/* only for add/remove/move methods */
static PyTypeObject pyrna_prop_collection_idprop_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_prop_collection_idprop", /* tp_name */
- sizeof(BPy_PropertyRNA), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "bpy_prop_collection_idprop", /* tp_name */
+ sizeof(BPy_PropertyRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_dealloc, /* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
+ NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
- NULL, /* subclassed */ /* tp_repr */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ NULL, /* subclassed */ /* tp_repr */
/* Method suites for standard classes */
- NULL, /* PyNumberMethods *tp_as_number; */
- NULL, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
+ NULL, /* PyNumberMethods *tp_as_number; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- NULL, /* hashfunc tp_hash; */
+ NULL, /* hashfunc tp_hash; */
NULL, /* ternaryfunc tp_call; */
NULL, /* reprfunc tp_str; */
/* will only use these if this is a subtype of a py class */
- NULL, /* getattrofunc tp_getattro; */
- NULL, /* setattrofunc tp_setattro; */
+ NULL, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
@@ -4993,7 +5083,7 @@ static PyTypeObject pyrna_prop_collection_idprop_Type= {
/*** Flags to define presence of optional/expanded features ***/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -5007,33 +5097,118 @@ static PyTypeObject pyrna_prop_collection_idprop_Type= {
/*** weak reference enabler ***/
#ifdef USE_WEAKREFS
- offsetof(BPy_PropertyRNA, in_weakreflist), /* long tp_weaklistoffset; */
+ offsetof(BPy_PropertyRNA, in_weakreflist), /* long tp_weaklistoffset; */
#else
0,
#endif
/*** Added in release 2.2 ***/
/* Iterators */
- NULL, /* getiterfunc tp_iter; */
+ NULL, /* getiterfunc tp_iter; */
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
pyrna_prop_collection_idprop_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
- &pyrna_prop_collection_Type, /* struct _typeobject *tp_base; */
+ NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
+ &pyrna_prop_collection_Type,/* struct _typeobject *tp_base; */
+ NULL, /* PyObject *tp_dict; */
+ NULL, /* descrgetfunc tp_descr_get; */
+ NULL, /* descrsetfunc tp_descr_set; */
+ 0, /* long tp_dictoffset; */
+ NULL, /* initproc tp_init; */
+ NULL, /* allocfunc tp_alloc; */
+ NULL, /* newfunc tp_new; */
+ /* Low-level free-memory routine */
+ NULL, /* freefunc tp_free; */
+ /* For PyObject_IS_GC */
+ NULL, /* inquiry tp_is_gc; */
+ NULL, /* PyObject *tp_bases; */
+ /* method resolution order */
+ NULL, /* PyObject *tp_mro; */
+ NULL, /* PyObject *tp_cache; */
+ NULL, /* PyObject *tp_subclasses; */
+ NULL, /* PyObject *tp_weaklist; */
+ NULL
+};
+
+/*-----------------------BPy_PropertyRNA method def------------------------------*/
+PyTypeObject pyrna_func_Type= {
+ PyVarObject_HEAD_INIT(NULL, 0)
+ "bpy_func", /* tp_name */
+ sizeof(BPy_FunctionRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ NULL, /* tp_dealloc */
+ NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ (reprfunc) pyrna_func_repr, /* tp_repr */
+
+ /* Method suites for standard classes */
+
+ NULL, /* PyNumberMethods *tp_as_number; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* PyMappingMethods *tp_as_mapping; */
+
+ /* More standard operations (here for binary compatibility) */
+
+ NULL, /* hashfunc tp_hash; */
+ (ternaryfunc)pyrna_func_call, /* ternaryfunc tp_call; */
+ NULL, /* reprfunc tp_str; */
+
+ /* will only use these if this is a subtype of a py class */
+ NULL, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
+
+ /* Functions to access object as input/output buffer */
+ NULL, /* PyBufferProcs *tp_as_buffer; */
+
+ /*** Flags to define presence of optional/expanded features ***/
+ Py_TPFLAGS_DEFAULT, /* long tp_flags; */
+
+ NULL, /* char *tp_doc; Documentation string */
+ /*** Assigned meaning in release 2.0 ***/
+ /* call function for all accessible objects */
+ NULL, /* traverseproc tp_traverse; */
+
+ /* delete references to contained objects */
+ NULL, /* inquiry tp_clear; */
+
+ /*** Assigned meaning in release 2.1 ***/
+ /*** rich comparisons ***/
+ NULL, /* richcmpfunc tp_richcompare; */
+
+ /*** weak reference enabler ***/
+#ifdef USE_WEAKREFS
+ offsetof(BPy_PropertyRNA, in_weakreflist), /* long tp_weaklistoffset; */
+#else
+ 0,
+#endif
+
+ /*** Added in release 2.2 ***/
+ /* Iterators */
+ NULL, /* getiterfunc tp_iter; */
+ NULL, /* iternextfunc tp_iternext; */
+
+ /*** Attribute descriptor and subclassing stuff ***/
+ NULL, /* struct PyMethodDef *tp_methods; */
+ NULL, /* struct PyMemberDef *tp_members; */
+ NULL, /* struct PyGetSetDef *tp_getset; */
+ NULL, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
NULL, /* descrsetfunc tp_descr_set; */
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- NULL, /* newfunc tp_new; */
+ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
NULL, /* inquiry tp_is_gc; */
- NULL, /* PyObject *tp_bases; */
+ NULL, /* PyObject *tp_bases; */
/* method resolution order */
NULL, /* PyObject *tp_mro; */
NULL, /* PyObject *tp_cache; */
@@ -5056,32 +5231,32 @@ static PyObject *pyrna_prop_collection_iter_next(BPy_PropertyCollectionIterRNA *
PyTypeObject pyrna_prop_collection_iter_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_prop_collection_iter", /* tp_name */
- sizeof(BPy_PropertyCollectionIterRNA), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "bpy_prop_collection_iter", /* tp_name */
+ sizeof(BPy_PropertyCollectionIterRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_collection_iter_dealloc, /* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
+ NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
NULL,/* subclassed */ /* tp_repr */
/* Method suites for standard classes */
NULL, /* PyNumberMethods *tp_as_number; */
- NULL, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- NULL, /* hashfunc tp_hash; */
+ NULL, /* hashfunc tp_hash; */
NULL, /* ternaryfunc tp_call; */
NULL, /* reprfunc tp_str; */
/* will only use these if this is a subtype of a py class */
- PyObject_GenericGetAttr, /* getattrofunc tp_getattro; */
- NULL, /* setattrofunc tp_setattro; */
+ PyObject_GenericGetAttr, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
@@ -5089,7 +5264,7 @@ PyTypeObject pyrna_prop_collection_iter_Type= {
/*** Flags to define presence of optional/expanded features ***/
Py_TPFLAGS_DEFAULT, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -5103,19 +5278,19 @@ PyTypeObject pyrna_prop_collection_iter_Type= {
/*** weak reference enabler ***/
#ifdef USE_WEAKREFS
- offsetof(BPy_PropertyCollectionIterRNA, in_weakreflist), /* long tp_weaklistoffset; */
+ offsetof(BPy_PropertyCollectionIterRNA, in_weakreflist), /* long tp_weaklistoffset; */
#else
0,
#endif
/*** Added in release 2.2 ***/
/* Iterators */
- PyObject_SelfIter, /* getiterfunc tp_iter; */
- (iternextfunc) pyrna_prop_collection_iter_next, /* iternextfunc tp_iternext; */
+ PyObject_SelfIter, /* getiterfunc tp_iter; */
+ (iternextfunc) pyrna_prop_collection_iter_next, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- NULL, /* struct PyMethodDef *tp_methods; */
+ NULL, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- NULL, /* struct PyGetSetDef *tp_getset; */
+ NULL, /* struct PyGetSetDef *tp_getset; */
NULL, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
@@ -5123,12 +5298,12 @@ PyTypeObject pyrna_prop_collection_iter_Type= {
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- NULL, /* newfunc tp_new; */
+ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
NULL, /* inquiry tp_is_gc; */
- NULL, /* PyObject *tp_bases; */
+ NULL, /* PyObject *tp_bases; */
/* method resolution order */
NULL, /* PyObject *tp_mro; */
NULL, /* PyObject *tp_cache; */
@@ -5221,7 +5396,7 @@ static void pyrna_subtype_set_rna(PyObject *newclass, StructRNA *srna)
item= pyrna_struct_CreatePyObject(&ptr);
/* note, must set the class not the __dict__ else the internal slots are not updated correctly */
- PyObject_SetAttrString(newclass, "bl_rna", item);
+ PyObject_SetAttr(newclass, bpy_intern_str_bl_rna, item);
Py_DECREF(item);
/* done with rna instance */
@@ -5283,7 +5458,7 @@ static PyObject* pyrna_srna_ExternalType(StructRNA *srna)
//PyObject *slots= PyObject_GetAttrString(newclass, "__slots__"); // cant do this because it gets superclasses values!
//PyObject *bases= PyObject_GetAttrString(newclass, "__bases__"); // can do this but faster not to.
PyObject *bases= ((PyTypeObject *)newclass)->tp_bases;
- PyObject *slots= PyDict_GetItemString(((PyTypeObject *)newclass)->tp_dict, "__slots__");
+ PyObject *slots= PyDict_GetItem(((PyTypeObject *)newclass)->tp_dict, bpy_intern_str___slots__);
if(slots==NULL) {
fprintf(stderr, "pyrna_srna_ExternalType: expected class '%s' to have __slots__ defined\n\nSee bpy_types.py\n", idname);
@@ -5420,7 +5595,9 @@ PyObject *pyrna_struct_CreatePyObject(PointerRNA *ptr)
}
pyrna->ptr= *ptr;
+#ifdef PYRNA_FREE_SUPPORT
pyrna->freeptr= FALSE;
+#endif
#ifdef USE_PYRNA_STRUCT_REFERENCE
pyrna->reference= NULL;
@@ -5440,7 +5617,7 @@ PyObject *pyrna_prop_CreatePyObject(PointerRNA *ptr, PropertyRNA *prop)
{
BPy_PropertyRNA *pyrna;
- if (RNA_property_array_check(ptr, prop) == 0) {
+ if (RNA_property_array_check(prop) == 0) {
PyTypeObject *type;
if (RNA_property_type(prop) != PROP_COLLECTION) {
@@ -5513,6 +5690,9 @@ void BPY_rna_init(void)
if(PyType_Ready(&pyrna_prop_collection_idprop_Type) < 0)
return;
+ if(PyType_Ready(&pyrna_func_Type) < 0)
+ return;
+
#ifdef USE_PYRNA_ITER
if(PyType_Ready(&pyrna_prop_collection_iter_Type) < 0)
return;
@@ -5653,7 +5833,7 @@ StructRNA *pyrna_struct_as_srna(PyObject *self, int parent, const char *error_pr
/* ack, PyObject_GetAttrString wont look up this types tp_dict first :/ */
if(PyType_Check(self)) {
- py_srna= (BPy_StructRNA *)PyDict_GetItemString(((PyTypeObject *)self)->tp_dict, "bl_rna");
+ py_srna= (BPy_StructRNA *)PyDict_GetItem(((PyTypeObject *)self)->tp_dict, bpy_intern_str_bl_rna);
Py_XINCREF(py_srna);
}
@@ -5661,7 +5841,7 @@ StructRNA *pyrna_struct_as_srna(PyObject *self, int parent, const char *error_pr
/* be very careful with this since it will return a parent classes srna.
* modifying this will do confusing stuff! */
if(py_srna==NULL)
- py_srna= (BPy_StructRNA*)PyObject_GetAttrString(self, "bl_rna");
+ py_srna= (BPy_StructRNA*)PyObject_GetAttr(self, bpy_intern_str_bl_rna);
}
if(py_srna==NULL) {
@@ -5751,7 +5931,7 @@ static int deferred_register_prop(StructRNA *srna, PyObject *key, PyObject *item
py_srna_cobject= PyCapsule_New(srna, NULL, NULL);
/* not 100% nice :/, modifies the dict passed, should be ok */
- PyDict_SetItemString(py_kw, "attr", key);
+ PyDict_SetItem(py_kw, bpy_intern_str_attr, key);
args_fake= PyTuple_New(1);
PyTuple_SET_ITEM(args_fake, 0, py_srna_cobject);
@@ -5798,7 +5978,7 @@ static int pyrna_deferred_register_props(StructRNA *srna, PyObject *class_dict)
/* in both cases PyDict_CheckExact(class_dict) will be true even
* though Operators have a metaclass dict namespace */
- if((order= PyDict_GetItemString(class_dict, "order")) && PyList_CheckExact(order)) {
+ if((order= PyDict_GetItem(class_dict, bpy_intern_str_order)) && PyList_CheckExact(order)) {
for(pos= 0; pos<PyList_GET_SIZE(order); pos++) {
key= PyList_GET_ITEM(order, pos);
item= PyDict_GetItem(class_dict, key);
@@ -6044,9 +6224,10 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
PyGILState_STATE gilstate;
#ifdef USE_PEDANTIC_WRITE
+ const int is_operator= RNA_struct_is_a(ptr->type, &RNA_Operator);
const char *func_id= RNA_function_identifier(func);
/* testing, for correctness, not operator and not draw function */
- const short is_readonly= strstr("draw", func_id) || /*strstr("render", func_id) ||*/ !RNA_struct_is_a(ptr->type, &RNA_Operator);
+ const short is_readonly= strstr("draw", func_id) || /*strstr("render", func_id) ||*/ !is_operator;
#endif
py_class= RNA_struct_py_type_get(ptr->type);
@@ -6102,6 +6283,11 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
* Although this is annoying to have to impliment a part of pythons typeobject.c:type_call().
*/
if(py_class->tp_init) {
+#ifdef USE_PEDANTIC_WRITE
+ const int prev_write= rna_disallow_writes;
+ rna_disallow_writes= is_operator ? FALSE : TRUE; /* only operators can write on __init__ */
+#endif
+
/* true in most cases even when the class its self doesn't define an __init__ function. */
args= PyTuple_New(0);
if (py_class->tp_init(py_srna, args, NULL) < 0) {
@@ -6110,11 +6296,16 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
/* err set below */
}
Py_DECREF(args);
+#ifdef USE_PEDANTIC_WRITE
+ rna_disallow_writes= prev_write;
+#endif
}
-
py_class_instance= py_srna;
#else
+ const int prev_write= rna_disallow_writes;
+ rna_disallow_writes= TRUE;
+
/* 'almost' all the time calling the class isn't needed.
* We could just do...
py_class_instance= py_srna;
@@ -6128,7 +6319,10 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
py_class_instance= PyObject_Call(py_class, args, NULL);
Py_DECREF(args);
+ rna_disallow_writes= prev_write;
+
#endif
+
if(py_class_instance == NULL) {
err= -1; /* so the error is not overridden below */
}
@@ -6227,7 +6421,21 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
err= -1;
}
else if(ret_len==1) {
- err= pyrna_py_to_prop(&funcptr, pret_single, retdata_single, ret, "calling class function:");
+ err= pyrna_py_to_prop(&funcptr, pret_single, retdata_single, ret, "");
+
+ /* when calling operator funcs only gives Function.result with
+ * no line number since the func has finished calling on error,
+ * re-raise the exception with more info since it would be slow to
+ * create prefix on every call (when there are no errors) */
+ if(err == -1 && PyErr_Occurred()) {
+ PyObject *error_type, *error_value, *error_traceback;
+ PyErr_Fetch(&error_type, &error_value, &error_traceback);
+
+ PyErr_Format(error_type,
+ "class %.200s, function %.200s: incompatible return value%S",
+ RNA_struct_identifier(ptr->type), RNA_function_identifier(func),
+ error_value);
+ }
}
else if (ret_len > 1) {
@@ -6303,7 +6511,7 @@ static void bpy_class_free(void *pyob_ptr)
// PyDict_Clear(((PyTypeObject*)self)->tp_dict);
//
// remove the rna attribute instead.
- PyDict_DelItemString(((PyTypeObject *)self)->tp_dict, "bl_rna");
+ PyDict_DelItem(((PyTypeObject *)self)->tp_dict, bpy_intern_str_bl_rna);
if(PyErr_Occurred())
PyErr_Clear();
@@ -6387,14 +6595,16 @@ void pyrna_free_types(void)
PyDoc_STRVAR(pyrna_register_class_doc,
".. method:: register_class(cls)\n"
"\n"
-" Register a subclass of a blender type in (:class:`Panel`,\n"
-" :class:`Menu`, :class:`Header`, :class:`Operator`,\n"
-" :class:`KeyingSetInfo`, :class:`RenderEngine`).\n"
+" Register a subclass of a blender type in (:class:`bpy.types.Panel`,\n"
+" :class:`bpy.types.Menu`, :class:`bpy.types.Header`, :class:`bpy.types.Operator`,\n"
+" :class:`bpy.types.KeyingSetInfo`, :class:`bpy.types.RenderEngine`).\n"
"\n"
" If the class has a *register* class method it will be called\n"
" before registration.\n"
"\n"
-" .. note:: :exc:`ValueError` exception is raised if the class is not a\n"
+" .. note::\n"
+"\n"
+" :exc:`ValueError` exception is raised if the class is not a\n"
" subclass of a registerable blender class.\n"
"\n"
);
@@ -6409,7 +6619,7 @@ static PyObject *pyrna_register_class(PyObject *UNUSED(self), PyObject *py_class
const char *identifier;
PyObject *py_cls_meth;
- if(PyDict_GetItemString(((PyTypeObject*)py_class)->tp_dict, "bl_rna")) {
+ if(PyDict_GetItem(((PyTypeObject*)py_class)->tp_dict, bpy_intern_str_bl_rna)) {
PyErr_SetString(PyExc_AttributeError, "register_class(...): already registered as a subclass");
return NULL;
}
@@ -6474,7 +6684,7 @@ static PyObject *pyrna_register_class(PyObject *UNUSED(self), PyObject *py_class
return NULL;
/* call classed register method () */
- py_cls_meth= PyObject_GetAttrString(py_class, "register");
+ py_cls_meth= PyObject_GetAttr(py_class, bpy_intern_str_register);
if(py_cls_meth == NULL) {
PyErr_Clear();
}
@@ -6532,7 +6742,7 @@ static PyObject *pyrna_unregister_class(PyObject *UNUSED(self), PyObject *py_cla
StructRNA *srna;
PyObject *py_cls_meth;
- /*if(PyDict_GetItemString(((PyTypeObject*)py_class)->tp_dict, "bl_rna")==NULL) {
+ /*if(PyDict_GetItem(((PyTypeObject*)py_class)->tp_dict, bpy_intern_str_bl_rna)==NULL) {
PWM_cursor_wait(0);
PyErr_SetString(PyExc_ValueError, "unregister_class(): not a registered as a subclass");
return NULL;
@@ -6551,7 +6761,7 @@ static PyObject *pyrna_unregister_class(PyObject *UNUSED(self), PyObject *py_cla
}
/* call classed unregister method */
- py_cls_meth= PyObject_GetAttrString(py_class, "unregister");
+ py_cls_meth= PyObject_GetAttr(py_class, bpy_intern_str_unregister);
if(py_cls_meth == NULL) {
PyErr_Clear();
}
@@ -6601,7 +6811,7 @@ static PyObject *pyrna_unregister_class(PyObject *UNUSED(self), PyObject *py_cla
/* call unregister */
unreg(CTX_data_main(C), srna); /* calls bpy_class_free, this decref's py_class */
- PyDict_DelItemString(((PyTypeObject *)py_class)->tp_dict, "bl_rna");
+ PyDict_DelItem(((PyTypeObject *)py_class)->tp_dict, bpy_intern_str_bl_rna);
if(PyErr_Occurred())
PyErr_Clear(); //return NULL;
diff --git a/source/blender/python/intern/bpy_rna.h b/source/blender/python/intern/bpy_rna.h
index 5db352af53d..30f6c02115a 100644
--- a/source/blender/python/intern/bpy_rna.h
+++ b/source/blender/python/intern/bpy_rna.h
@@ -62,6 +62,11 @@
#if defined(USE_PYRNA_INVALIDATE_GC) && defined(USE_PYRNA_INVALIDATE_WEAKREF)
#error "Only 1 reference check method at a time!"
#endif
+
+/* only used by operator introspection get_rna(), this is only used for doc gen
+ * so prefer the leak to the memory bloat for now. */
+// #define PYRNA_FREE_SUPPORT
+
/* --- end bpy build options --- */
struct ID;
@@ -71,6 +76,7 @@ extern PyTypeObject pyrna_struct_Type;
extern PyTypeObject pyrna_prop_Type;
extern PyTypeObject pyrna_prop_array_Type;
extern PyTypeObject pyrna_prop_collection_Type;
+extern PyTypeObject pyrna_func_Type;
#define BPy_StructRNA_Check(v) (PyObject_TypeCheck(v, &pyrna_struct_Type))
#define BPy_StructRNA_CheckExact(v) (Py_TYPE(v) == &pyrna_struct_Type)
@@ -107,7 +113,10 @@ typedef struct {
* hold onto the collection iterator to prevent it from freeing allocated data we may use */
PyObject *reference;
#endif /* !USE_PYRNA_STRUCT_REFERENCE */
+
+#ifdef PYRNA_FREE_SUPPORT
int freeptr; /* needed in some cases if ptr.data is created on the fly, free when deallocing */
+#endif /* PYRNA_FREE_SUPPORT */
} BPy_StructRNA;
typedef struct {
@@ -142,6 +151,15 @@ typedef struct {
CollectionPropertyIterator iter;
} BPy_PropertyCollectionIterRNA;
+typedef struct {
+ PyObject_HEAD /* required python macro */
+#ifdef USE_WEAKREFS
+ PyObject *in_weakreflist;
+#endif
+ PointerRNA ptr;
+ FunctionRNA *func;
+} BPy_FunctionRNA;
+
/* cheap trick */
#define BPy_BaseTypeRNA BPy_PropertyRNA
diff --git a/source/blender/python/intern/bpy_rna_anim.c b/source/blender/python/intern/bpy_rna_anim.c
index 30d83e196ba..8bde1db96ca 100644
--- a/source/blender/python/intern/bpy_rna_anim.c
+++ b/source/blender/python/intern/bpy_rna_anim.c
@@ -107,7 +107,7 @@ static int pyrna_struct_anim_args_parse(PointerRNA *ptr, const char *error_prefi
return -1;
}
- if(RNA_property_array_check(&r_ptr, prop) == 0) {
+ if(RNA_property_array_check(prop) == 0) {
if((*index) == -1) {
*index= 0;
}
diff --git a/source/blender/python/intern/bpy_rna_array.c b/source/blender/python/intern/bpy_rna_array.c
index df295e812be..e50ce233671 100644
--- a/source/blender/python/intern/bpy_rna_array.c
+++ b/source/blender/python/intern/bpy_rna_array.c
@@ -68,17 +68,24 @@ static int validate_array_type(PyObject *seq, int dim, int totdim, int dimsize[]
/* check that a sequence contains dimsize[dim] items */
const int seq_size= PySequence_Size(seq);
if(seq_size == -1) {
- PyErr_Format(PyExc_ValueError, "%s sequence expected at dimension %d, not %s", error_prefix, (int)dim + 1, Py_TYPE(seq)->tp_name);
- return 0;
+ PyErr_Format(PyExc_ValueError, "%s sequence expected at dimension %d, not '%s'",
+ error_prefix, (int)dim + 1, Py_TYPE(seq)->tp_name);
+ return -1;
}
for (i= 0; i < seq_size; i++) {
PyObject *item;
int ok= 1;
item= PySequence_GetItem(seq, i);
- if (!PySequence_Check(item)) {
+ if(item == NULL) {
+ PyErr_Format(PyExc_TypeError, "%s sequence type '%s' failed to retrieve index %d",
+ error_prefix, Py_TYPE(seq)->tp_name, i);
+ ok= 0;
+ }
+ else if (!PySequence_Check(item)) {
/* BLI_snprintf(error_str, error_str_size, "expected a sequence of %s", item_type_str); */
- PyErr_Format(PyExc_TypeError, "%s expected a sequence of %s, not %s", error_prefix, item_type_str, Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError, "%s expected a sequence of %s, not %s",
+ error_prefix, item_type_str, Py_TYPE(item)->tp_name);
ok= 0;
}
/* arr[3][4][5]
@@ -88,42 +95,50 @@ static int validate_array_type(PyObject *seq, int dim, int totdim, int dimsize[]
dim=0 */
else if (PySequence_Size(item) != dimsize[dim + 1]) {
/* BLI_snprintf(error_str, error_str_size, "sequences of dimension %d should contain %d items", (int)dim + 1, (int)dimsize[dim + 1]); */
- PyErr_Format(PyExc_ValueError, "%s sequences of dimension %d should contain %d items", error_prefix, (int)dim + 1, (int)dimsize[dim + 1]);
+ PyErr_Format(PyExc_ValueError, "%s sequences of dimension %d should contain %d items",
+ error_prefix, (int)dim + 1, (int)dimsize[dim + 1]);
ok= 0;
}
- else if (!validate_array_type(item, dim + 1, totdim, dimsize, check_item_type, item_type_str, error_prefix)) {
+ else if (validate_array_type(item, dim + 1, totdim, dimsize, check_item_type, item_type_str, error_prefix) == -1) {
ok= 0;
}
- Py_DECREF(item);
+ Py_XDECREF(item);
if (!ok)
- return 0;
+ return -1;
}
}
else {
/* check that items are of correct type */
const int seq_size= PySequence_Size(seq);
if(seq_size == -1) {
- PyErr_Format(PyExc_ValueError, "%s sequence expected at dimension %d, not %s", error_prefix, (int)dim + 1, Py_TYPE(seq)->tp_name);
- return 0;
+ PyErr_Format(PyExc_ValueError, "%s sequence expected at dimension %d, not '%s'",
+ error_prefix, (int)dim + 1, Py_TYPE(seq)->tp_name);
+ return -1;
}
for (i= 0; i < seq_size; i++) {
PyObject *item= PySequence_GetItem(seq, i);
- if (!check_item_type(item)) {
+ if(item == NULL) {
+ PyErr_Format(PyExc_TypeError, "%s sequence type '%s' failed to retrieve index %d",
+ error_prefix, Py_TYPE(seq)->tp_name, i);
+ return -1;
+ }
+ else if (!check_item_type(item)) {
Py_DECREF(item);
/* BLI_snprintf(error_str, error_str_size, "sequence items should be of type %s", item_type_str); */
- PyErr_Format(PyExc_TypeError, "%s expected sequence items of type %s, not %s", error_prefix, item_type_str, Py_TYPE(item)->tp_name);
- return 0;
+ PyErr_Format(PyExc_TypeError, "%s expected sequence items of type %s, not %s",
+ error_prefix, item_type_str, Py_TYPE(item)->tp_name);
+ return -1;
}
Py_DECREF(item);
}
}
- return 1;
+ return 0; /* ok */
}
/* Returns the number of items in a single- or multi-dimensional sequence. */
@@ -136,8 +151,21 @@ static int count_items(PyObject *seq, int dim)
int i;
for (i= 0; i < seq_size; i++) {
PyObject *item= PySequence_GetItem(seq, i);
- totitem += count_items(item, dim - 1);
- Py_DECREF(item);
+ if(item) {
+ const int tot= count_items(item, dim - 1);
+ Py_DECREF(item);
+ if(tot != -1) {
+ totitem += tot;
+ }
+ else {
+ totitem= -1;
+ break;
+ }
+ }
+ else {
+ totitem= -1;
+ break;
+ }
}
}
else {
@@ -156,18 +184,24 @@ static int validate_array_length(PyObject *rvalue, PointerRNA *ptr, PropertyRNA
totdim= RNA_property_array_dimension(ptr, prop, dimsize);
tot= count_items(rvalue, totdim - lvalue_dim);
- if ((RNA_property_flag(prop) & PROP_DYNAMIC) && lvalue_dim == 0) {
+ if(tot == -1) {
+ PyErr_Format(PyExc_ValueError, "%s %.200s.%.200s, error validating the sequence length",
+ error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop));
+ return -1;
+ }
+ else if ((RNA_property_flag(prop) & PROP_DYNAMIC) && lvalue_dim == 0) {
if (RNA_property_array_length(ptr, prop) != tot) {
#if 0
/* length is flexible */
if (!RNA_property_dynamic_array_set_length(ptr, prop, tot)) {
/* BLI_snprintf(error_str, error_str_size, "%s.%s: array length cannot be changed to %d", RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), tot); */
- PyErr_Format(PyExc_ValueError, "%s %s.%s: array length cannot be changed to %d", error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), tot);
- return 0;
+ PyErr_Format(PyExc_ValueError, "%s %s.%s: array length cannot be changed to %d",
+ error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), tot);
+ return -1;
}
#else
*totitem= tot;
- return 1;
+ return 0;
#endif
}
@@ -204,14 +238,15 @@ static int validate_array_length(PyObject *rvalue, PointerRNA *ptr, PropertyRNA
if (tot != len) {
/* BLI_snprintf(error_str, error_str_size, "sequence must have length of %d", len); */
- PyErr_Format(PyExc_ValueError, "%s %.200s.%.200s, sequence must have %d items total, not %d", error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), len, tot);
- return 0;
+ PyErr_Format(PyExc_ValueError, "%s %.200s.%.200s, sequence must have %d items total, not %d",
+ error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), len, tot);
+ return -1;
}
}
*totitem= len;
- return 1;
+ return 0;
}
static int validate_array(PyObject *rvalue, PointerRNA *ptr, PropertyRNA *prop, int lvalue_dim, ItemTypeCheckFunc check_item_type, const char *item_type_str, int *totitem, const char *error_prefix)
@@ -221,8 +256,8 @@ static int validate_array(PyObject *rvalue, PointerRNA *ptr, PropertyRNA *prop,
/* validate type first because length validation may modify property array length */
- if (!validate_array_type(rvalue, lvalue_dim, totdim, dimsize, check_item_type, item_type_str, error_prefix))
- return 0;
+ if (validate_array_type(rvalue, lvalue_dim, totdim, dimsize, check_item_type, item_type_str, error_prefix) == -1)
+ return -1;
return validate_array_length(rvalue, ptr, prop, lvalue_dim, totitem, error_prefix);
}
@@ -250,25 +285,42 @@ static char *copy_values(PyObject *seq, PointerRNA *ptr, PropertyRNA *prop, int
int totdim= RNA_property_array_dimension(ptr, prop, NULL);
const int seq_size= PySequence_Size(seq);
- assert(seq_size != -1);
+ /* Regarding PySequence_GetItem() failing.
+ *
+ * This should never be NULL since we validated it, _but_ some triky python
+ * developer could write their own sequence type which succeeds on
+ * validating but fails later somehow, so include checks for safety.
+ */
+
+ /* Note that 'data can be NULL' */
+
+ if(seq_size == -1) {
+ return NULL;
+ }
for (i= 0; i < seq_size; i++) {
PyObject *item= PySequence_GetItem(seq, i);
+ if(item) {
+ if (dim + 1 < totdim) {
+ data= copy_values(item, ptr, prop, dim + 1, data, item_size, index, convert_item, rna_set_index);
+ }
+ else {
+ data= copy_value_single(item, ptr, prop, data, item_size, index, convert_item, rna_set_index);
+ }
+
+ Py_DECREF(item);
- if (dim + 1 < totdim) {
- data= copy_values(item, ptr, prop, dim + 1, data, item_size, index, convert_item, rna_set_index);
+ /* data may be NULL, but the for loop checks */
}
else {
- data= copy_value_single(item, ptr, prop, data, item_size, index, convert_item, rna_set_index);
+ return NULL;
}
-
- Py_DECREF(item);
}
return data;
}
-static int py_to_array(PyObject *py, PointerRNA *ptr, PropertyRNA *prop, char *param_data, ItemTypeCheckFunc check_item_type, const char *item_type_str, int item_size, ItemConvertFunc convert_item, RNA_SetArrayFunc rna_set_array, const char *error_prefix)
+static int py_to_array(PyObject *seq, PointerRNA *ptr, PropertyRNA *prop, char *param_data, ItemTypeCheckFunc check_item_type, const char *item_type_str, int item_size, ItemConvertFunc convert_item, RNA_SetArrayFunc rna_set_array, const char *error_prefix)
{
/*int totdim, dim_size[MAX_ARRAY_DIMENSION];*/
int totitem;
@@ -276,8 +328,8 @@ static int py_to_array(PyObject *py, PointerRNA *ptr, PropertyRNA *prop, char *p
/*totdim= RNA_property_array_dimension(ptr, prop, dim_size);*/ /*UNUSED*/
- if (!validate_array(py, ptr, prop, 0, check_item_type, item_type_str, &totitem, error_prefix)) {
- return 0;
+ if (validate_array(seq, ptr, prop, 0, check_item_type, item_type_str, &totitem, error_prefix) == -1) {
+ return -1;
}
if (totitem) {
@@ -297,16 +349,27 @@ static int py_to_array(PyObject *py, PointerRNA *ptr, PropertyRNA *prop, char *p
data= PyMem_MALLOC(item_size * totitem);
}
- copy_values(py, ptr, prop, 0, data, item_size, NULL, convert_item, NULL);
+ /* will only fail in very rare cases since we already validated the
+ * python data, the check here is mainly for completeness. */
+ if(copy_values(seq, ptr, prop, 0, data, item_size, NULL, convert_item, NULL) != NULL) {
+ if (param_data==NULL) {
+ /* NULL can only pass through in case RNA property arraylength is 0 (impossible?) */
+ rna_set_array(ptr, prop, data);
+ PyMem_FREE(data);
+ }
+ }
+ else {
+ if (param_data==NULL) {
+ PyMem_FREE(data);
+ }
- if (param_data==NULL) {
- /* NULL can only pass through in case RNA property arraylength is 0 (impossible?) */
- rna_set_array(ptr, prop, data);
- PyMem_FREE(data);
+ PyErr_Format(PyExc_TypeError, "%s internal error parsing sequence of type '%s' after successful validation",
+ error_prefix, Py_TYPE(seq)->tp_name);
+ return -1;
}
}
- return 1;
+ return 0;
}
static int py_to_array_index(PyObject *py, PointerRNA *ptr, PropertyRNA *prop, int lvalue_dim, int arrayoffset, int index, ItemTypeCheckFunc check_item_type, const char *item_type_str, ItemConvertFunc convert_item, RNA_SetIndexFunc rna_set_index, const char *error_prefix)
@@ -335,21 +398,24 @@ static int py_to_array_index(PyObject *py, PointerRNA *ptr, PropertyRNA *prop, i
if(lvalue_dim == totdim) { /* single item, assign directly */
if(!check_item_type(py)) {
- PyErr_Format(PyExc_TypeError, "%s %.200s.%.200s, expected a %s type, not %s", error_prefix, RNA_struct_identifier(ptr->type), RNA_property_identifier(prop), item_type_str, Py_TYPE(py)->tp_name);
- return 0;
+ PyErr_Format(PyExc_TypeError, "%s %.200s.%.200s, expected a %s type, not %s",
+ error_prefix, RNA_struct_identifier(ptr->type),
+ RNA_property_identifier(prop), item_type_str,
+ Py_TYPE(py)->tp_name);
+ return -1;
}
copy_value_single(py, ptr, prop, NULL, 0, &index, convert_item, rna_set_index);
}
else {
- if (!validate_array(py, ptr, prop, lvalue_dim, check_item_type, item_type_str, &totitem, error_prefix)) {
- return 0;
+ if (validate_array(py, ptr, prop, lvalue_dim, check_item_type, item_type_str, &totitem, error_prefix) == -1) {
+ return -1;
}
if (totitem) {
copy_values(py, ptr, prop, lvalue_dim, NULL, 0, &index, convert_item, rna_set_index);
}
}
- return 1;
+ return 0;
}
static void py_to_float(PyObject *py, char *data)
@@ -414,7 +480,7 @@ int pyrna_py_to_array(PointerRNA *ptr, PropertyRNA *prop, char *param_data, PyOb
break;
default:
PyErr_SetString(PyExc_TypeError, "not an array type");
- ret= 0;
+ ret= -1;
}
return ret;
@@ -435,7 +501,7 @@ int pyrna_py_to_array_index(PointerRNA *ptr, PropertyRNA *prop, int arraydim, in
break;
default:
PyErr_SetString(PyExc_TypeError, "not an array type");
- ret= 0;
+ ret= -1;
}
return ret;
diff --git a/source/blender/python/intern/bpy_traceback.c b/source/blender/python/intern/bpy_traceback.c
index 17f082b79dc..747a876d6df 100644
--- a/source/blender/python/intern/bpy_traceback.c
+++ b/source/blender/python/intern/bpy_traceback.c
@@ -30,9 +30,9 @@
#include "bpy_traceback.h"
-static const char *traceback_filepath(PyTracebackObject *tb)
+static const char *traceback_filepath(PyTracebackObject *tb, PyObject **coerce)
{
- return _PyUnicode_AsString(tb->tb_frame->f_code->co_filename);
+ return PyBytes_AS_STRING((*coerce= PyUnicode_EncodeFSDefault(tb->tb_frame->f_code->co_filename)));
}
/* copied from pythonrun.c, 3.2.0 */
@@ -146,7 +146,12 @@ void python_script_error_jump(const char *filepath, int *lineno, int *offset)
PyErr_Print();
for(tb= (PyTracebackObject *)PySys_GetObject("last_traceback"); tb && (PyObject *)tb != Py_None; tb= tb->tb_next) {
- if(strcmp(traceback_filepath(tb), filepath) != 0) {
+ PyObject *coerce;
+ const char *tb_filepath= traceback_filepath(tb, &coerce);
+ const int match= strcmp(tb_filepath, filepath) != 0;
+ Py_DECREF(coerce);
+
+ if(match) {
*lineno= tb->tb_lineno;
break;
}
diff --git a/source/blender/python/intern/bpy_util.c b/source/blender/python/intern/bpy_util.c
index 6e321015bc6..1450621d59e 100644
--- a/source/blender/python/intern/bpy_util.c
+++ b/source/blender/python/intern/bpy_util.c
@@ -122,63 +122,3 @@ short BPy_errors_to_report(ReportList *reports)
Py_DECREF(pystring_format); // workaround
return 1;
}
-
-/* array utility function */
-int PyC_AsArray(void *array, PyObject *value, int length, PyTypeObject *type, const char *error_prefix)
-{
- PyObject *value_fast;
- int value_len;
- int i;
-
- if(!(value_fast=PySequence_Fast(value, error_prefix))) {
- return -1;
- }
-
- value_len= PySequence_Fast_GET_SIZE(value_fast);
-
- if(value_len != length) {
- Py_DECREF(value);
- PyErr_Format(PyExc_TypeError,
- "%.200s: invalid sequence length. expected %d, got %d",
- error_prefix, length, value_len);
- return -1;
- }
-
- /* for each type */
- if(type == &PyFloat_Type) {
- float *array_float= array;
- for(i=0; i<length; i++) {
- array_float[i]= PyFloat_AsDouble(PySequence_Fast_GET_ITEM(value_fast, i));
- }
- }
- else if(type == &PyLong_Type) {
- int *array_int= array;
- for(i=0; i<length; i++) {
- array_int[i]= PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value_fast, i));
- }
- }
- else if(type == &PyBool_Type) {
- int *array_bool= array;
- for(i=0; i<length; i++) {
- array_bool[i]= (PyLong_AsSsize_t(PySequence_Fast_GET_ITEM(value_fast, i)) != 0);
- }
- }
- else {
- Py_DECREF(value_fast);
- PyErr_Format(PyExc_TypeError,
- "%s: internal error %s is invalid",
- error_prefix, type->tp_name);
- return -1;
- }
-
- Py_DECREF(value_fast);
-
- if(PyErr_Occurred()) {
- PyErr_Format(PyExc_TypeError,
- "%s: one or more items could not be used as a %s",
- error_prefix, type->tp_name);
- return -1;
- }
-
- return 0;
-}
diff --git a/source/blender/python/intern/bpy_util.h b/source/blender/python/intern/bpy_util.h
index b16c8fe2e8c..09fbdf96ed2 100644
--- a/source/blender/python/intern/bpy_util.h
+++ b/source/blender/python/intern/bpy_util.h
@@ -51,6 +51,7 @@ short BPy_errors_to_report(struct ReportList *reports);
struct bContext *BPy_GetContext(void);
void BPy_SetContext(struct bContext *C);
+extern void bpy_context_update(struct bContext *C);
extern void bpy_context_set(struct bContext *C, PyGILState_STATE *gilstate);
extern void bpy_context_clear(struct bContext *C, PyGILState_STATE *gilstate);
#endif
diff --git a/source/blender/python/mathutils/CMakeLists.txt b/source/blender/python/mathutils/CMakeLists.txt
new file mode 100644
index 00000000000..b28496d612e
--- /dev/null
+++ b/source/blender/python/mathutils/CMakeLists.txt
@@ -0,0 +1,52 @@
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# Contributor(s): Campbell Barton
+#
+# ***** END GPL LICENSE BLOCK *****
+
+set(INC
+ .
+ ../../blenlib
+ ../../blenkernel
+ ../../makesdna
+ ../../../../intern/guardedalloc
+)
+
+set(INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+)
+
+set(SRC
+ mathutils.c
+ mathutils_Color.c
+ mathutils_Euler.c
+ mathutils_Matrix.c
+ mathutils_Quaternion.c
+ mathutils_Vector.c
+ mathutils_geometry.c
+
+ mathutils.h
+ mathutils_Color.h
+ mathutils_Euler.h
+ mathutils_Matrix.h
+ mathutils_Quaternion.h
+ mathutils_Vector.h
+ mathutils_geometry.h
+)
+
+
+blender_add_lib(bf_python_mathutils "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/python/generic/mathutils.c b/source/blender/python/mathutils/mathutils.c
index 30f4e5b7ffe..50b75b09cb2 100644
--- a/source/blender/python/generic/mathutils.c
+++ b/source/blender/python/mathutils/mathutils.c
@@ -57,8 +57,16 @@ static int mathutils_array_parse_fast(float *array, int array_min, int array_max
size= PySequence_Fast_GET_SIZE(value_fast);
if(size > array_max || size < array_min) {
- if (array_max == array_min) PyErr_Format(PyExc_ValueError, "%.200s: sequence size is %d, expected %d", error_prefix, size, array_max);
- else PyErr_Format(PyExc_ValueError, "%.200s: sequence size is %d, expected [%d - %d]", error_prefix, size, array_min, array_max);
+ if (array_max == array_min) {
+ PyErr_Format(PyExc_ValueError,
+ "%.200s: sequence size is %d, expected %d",
+ error_prefix, size, array_max);
+ }
+ else {
+ PyErr_Format(PyExc_ValueError,
+ "%.200s: sequence size is %d, expected [%d - %d]",
+ error_prefix, size, array_min, array_max);
+ }
Py_DECREF(value_fast);
return -1;
}
@@ -67,7 +75,10 @@ static int mathutils_array_parse_fast(float *array, int array_min, int array_max
do {
i--;
if(((array[i]= PyFloat_AsDouble((item= PySequence_Fast_GET_ITEM(value_fast, i)))) == -1.0f) && PyErr_Occurred()) {
- PyErr_Format(PyExc_ValueError, "%.200s: sequence index %d expected a number, found '%.200s' type, ", error_prefix, i, Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "%.200s: sequence index %d expected a number, "
+ "found '%.200s' type, ",
+ error_prefix, i, Py_TYPE(item)->tp_name);
Py_DECREF(value_fast);
return -1;
}
@@ -93,8 +104,16 @@ int mathutils_array_parse(float *array, int array_min, int array_max, PyObject *
}
if(size > array_max || size < array_min) {
- if (array_max == array_min) PyErr_Format(PyExc_ValueError, "%.200s: sequence size is %d, expected %d", error_prefix, size, array_max);
- else PyErr_Format(PyExc_ValueError, "%.200s: sequence size is %d, expected [%d - %d]", error_prefix, size, array_min, array_max);
+ if (array_max == array_min) {
+ PyErr_Format(PyExc_ValueError,
+ "%.200s: sequence size is %d, expected %d",
+ error_prefix, size, array_max);
+ }
+ else {
+ PyErr_Format(PyExc_ValueError,
+ "%.200s: sequence size is %d, expected [%d - %d]",
+ error_prefix, size, array_min, array_max);
+ }
return -1;
}
@@ -135,7 +154,9 @@ int mathutils_any_to_rotmat(float rmat[3][3], PyObject *value, const char *error
return -1;
}
else if(((MatrixObject *)value)->col_size < 3 || ((MatrixObject *)value)->row_size < 3) {
- PyErr_Format(PyExc_ValueError, "%.200s: matrix must have minimum 3x3 dimensions", error_prefix);
+ PyErr_Format(PyExc_ValueError,
+ "%.200s: matrix must have minimum 3x3 dimensions",
+ error_prefix);
return -1;
}
else {
@@ -145,7 +166,9 @@ int mathutils_any_to_rotmat(float rmat[3][3], PyObject *value, const char *error
}
}
else {
- PyErr_Format(PyExc_TypeError, "%.200s: expected a Euler, Quaternion or Matrix type, found %.200s", error_prefix, Py_TYPE(value)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "%.200s: expected a Euler, Quaternion or Matrix type, "
+ "found %.200s", error_prefix, Py_TYPE(value)->tp_name);
return -1;
}
}
@@ -213,8 +236,11 @@ int _BaseMathObject_ReadCallback(BaseMathObject *self)
if(cb->get(self, self->cb_subtype) != -1)
return 0;
- if(!PyErr_Occurred())
- PyErr_Format(PyExc_RuntimeError, "%s read, user has become invalid", Py_TYPE(self)->tp_name);
+ if(!PyErr_Occurred()) {
+ PyErr_Format(PyExc_RuntimeError,
+ "%s read, user has become invalid",
+ Py_TYPE(self)->tp_name);
+ }
return -1;
}
@@ -224,8 +250,11 @@ int _BaseMathObject_WriteCallback(BaseMathObject *self)
if(cb->set(self, self->cb_subtype) != -1)
return 0;
- if(!PyErr_Occurred())
- PyErr_Format(PyExc_RuntimeError, "%s write, user has become invalid", Py_TYPE(self)->tp_name);
+ if(!PyErr_Occurred()) {
+ PyErr_Format(PyExc_RuntimeError,
+ "%s write, user has become invalid",
+ Py_TYPE(self)->tp_name);
+ }
return -1;
}
@@ -235,8 +264,11 @@ int _BaseMathObject_ReadIndexCallback(BaseMathObject *self, int index)
if(cb->get_index(self, self->cb_subtype, index) != -1)
return 0;
- if(!PyErr_Occurred())
- PyErr_Format(PyExc_RuntimeError, "%s read index, user has become invalid", Py_TYPE(self)->tp_name);
+ if(!PyErr_Occurred()) {
+ PyErr_Format(PyExc_RuntimeError,
+ "%s read index, user has become invalid",
+ Py_TYPE(self)->tp_name);
+ }
return -1;
}
@@ -246,8 +278,11 @@ int _BaseMathObject_WriteIndexCallback(BaseMathObject *self, int index)
if(cb->set_index(self, self->cb_subtype, index) != -1)
return 0;
- if(!PyErr_Occurred())
- PyErr_Format(PyExc_RuntimeError, "%s write index, user has become invalid", Py_TYPE(self)->tp_name);
+ if(!PyErr_Occurred()) {
+ PyErr_Format(PyExc_RuntimeError,
+ "%s write index, user has become invalid",
+ Py_TYPE(self)->tp_name);
+ }
return -1;
}
@@ -310,7 +345,7 @@ static struct PyModuleDef M_Mathutils_module_def = {
NULL, /* m_free */
};
-PyMODINIT_FUNC BPyInit_mathutils(void)
+PyMODINIT_FUNC PyInit_mathutils(void)
{
PyObject *submodule;
PyObject *item;
@@ -336,7 +371,7 @@ PyMODINIT_FUNC BPyInit_mathutils(void)
PyModule_AddObject(submodule, "Color", (PyObject *)&color_Type);
/* submodule */
- PyModule_AddObject(submodule, "geometry", (item=BPyInit_mathutils_geometry()));
+ PyModule_AddObject(submodule, "geometry", (item=PyInit_mathutils_geometry()));
/* XXX, python doesnt do imports with this usefully yet
* 'from mathutils.geometry import PolyFill'
* ...fails without this. */
diff --git a/source/blender/python/generic/mathutils.h b/source/blender/python/mathutils/mathutils.h
index 449708d1ac1..b798b5e7003 100644
--- a/source/blender/python/generic/mathutils.h
+++ b/source/blender/python/mathutils/mathutils.h
@@ -67,7 +67,7 @@ int BaseMathObject_traverse(BaseMathObject *self, visitproc visit, void *arg);
int BaseMathObject_clear(BaseMathObject *self);
void BaseMathObject_dealloc(BaseMathObject * self);
-PyMODINIT_FUNC BPyInit_mathutils(void);
+PyMODINIT_FUNC PyInit_mathutils(void);
int EXPP_FloatsAreEqual(float A, float B, int floatSteps);
int EXPP_VectorsAreEqual(float *vecA, float *vecB, int size, int floatSteps);
@@ -108,4 +108,6 @@ int _BaseMathObject_WriteIndexCallback(BaseMathObject *self, int index);
int mathutils_array_parse(float *array, int array_min, int array_max, PyObject *value, const char *error_prefix);
int mathutils_any_to_rotmat(float rmat[3][3], PyObject *value, const char *error_prefix);
+int column_vector_multiplication(float rvec[4], VectorObject *vec, MatrixObject *mat);
+
#endif /* MATHUTILS_H */
diff --git a/source/blender/python/generic/mathutils_Color.c b/source/blender/python/mathutils/mathutils_Color.c
index c59cb501d86..d0c7ec72cea 100644
--- a/source/blender/python/generic/mathutils_Color.c
+++ b/source/blender/python/mathutils/mathutils_Color.c
@@ -43,7 +43,9 @@ static PyObject *Color_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
float col[3]= {0.0f, 0.0f, 0.0f};
if(kwds && PyDict_Size(kwds)) {
- PyErr_SetString(PyExc_TypeError, "mathutils.Color(): takes no keyword args");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Color(): "
+ "takes no keyword args");
return NULL;
}
@@ -55,7 +57,9 @@ static PyObject *Color_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return NULL;
break;
default:
- PyErr_SetString(PyExc_TypeError, "mathutils.Color(): more then a single arg given");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Color(): "
+ "more then a single arg given");
return NULL;
}
return newColorObject(col, Py_NEW, type);
@@ -174,7 +178,9 @@ static PyObject *Color_item(ColorObject * self, int i)
if(i<0) i= COLOR_SIZE-i;
if(i < 0 || i >= COLOR_SIZE) {
- PyErr_SetString(PyExc_IndexError, "color[attribute]: array index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "color[attribute]: "
+ "array index out of range");
return NULL;
}
@@ -191,14 +197,17 @@ static int Color_ass_item(ColorObject * self, int i, PyObject *value)
float f = PyFloat_AsDouble(value);
if(f == -1 && PyErr_Occurred()) { // parsed item not a number
- PyErr_SetString(PyExc_TypeError, "color[attribute] = x: argument not a number");
+ PyErr_SetString(PyExc_TypeError,
+ "color[attribute] = x: "
+ "argument not a number");
return -1;
}
if(i<0) i= COLOR_SIZE-i;
if(i < 0 || i >= COLOR_SIZE){
- PyErr_SetString(PyExc_IndexError, "color[attribute] = x: array assignment index out of range");
+ PyErr_SetString(PyExc_IndexError, "color[attribute] = x: "
+ "array assignment index out of range");
return -1;
}
@@ -250,7 +259,9 @@ static int Color_ass_slice(ColorObject *self, int begin, int end, PyObject *seq)
return -1;
if(size != (end - begin)){
- PyErr_SetString(PyExc_TypeError, "color[begin:end] = []: size mismatch in slice assignment");
+ PyErr_SetString(PyExc_ValueError,
+ "color[begin:end] = []: "
+ "size mismatch in slice assignment");
return -1;
}
@@ -285,12 +296,15 @@ static PyObject *Color_subscript(ColorObject *self, PyObject *item)
return Color_slice(self, start, stop);
}
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with color");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with color");
return NULL;
}
}
else {
- PyErr_Format(PyExc_TypeError, "color indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "color indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return NULL;
}
}
@@ -314,12 +328,15 @@ static int Color_ass_subscript(ColorObject *self, PyObject *item, PyObject *valu
if (step == 1)
return Color_ass_slice(self, start, stop, value);
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with color");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with color");
return -1;
}
}
else {
- PyErr_Format(PyExc_TypeError, "color indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "color indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return -1;
}
}
@@ -354,7 +371,9 @@ static PyObject *Color_add(PyObject *v1, PyObject *v2)
float col[COLOR_SIZE];
if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Color addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color addition: "
+ "arguments not valid for this operation");
return NULL;
}
color1 = (ColorObject*)v1;
@@ -374,7 +393,9 @@ static PyObject *Color_iadd(PyObject *v1, PyObject *v2)
ColorObject *color1 = NULL, *color2 = NULL;
if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Color addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color addition: "
+ "arguments not valid for this operation");
return NULL;
}
color1 = (ColorObject*)v1;
@@ -397,7 +418,9 @@ static PyObject *Color_sub(PyObject *v1, PyObject *v2)
float col[COLOR_SIZE];
if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Color subtraction: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color subtraction: "
+ "arguments not valid for this operation");
return NULL;
}
color1 = (ColorObject*)v1;
@@ -417,7 +440,9 @@ static PyObject *Color_isub(PyObject *v1, PyObject *v2)
ColorObject *color1= NULL, *color2= NULL;
if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Color subtraction: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color subtraction: "
+ "arguments not valid for this operation");
return NULL;
}
color1 = (ColorObject*)v1;
@@ -476,7 +501,10 @@ static PyObject *Color_mul(PyObject *v1, PyObject *v2)
BLI_assert(!"internal error");
}
- PyErr_Format(PyExc_TypeError, "Color multiplication: not supported between '%.200s' and '%.200s' types", Py_TYPE(v1)->tp_name, Py_TYPE(v2)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "Color multiplication: not supported between "
+ "'%.200s' and '%.200s' types",
+ Py_TYPE(v1)->tp_name, Py_TYPE(v2)->tp_name);
return NULL;
}
@@ -491,20 +519,25 @@ static PyObject *Color_div(PyObject *v1, PyObject *v2)
return NULL;
}
else {
- PyErr_SetString(PyExc_TypeError, "Color division not supported in this order");
+ PyErr_SetString(PyExc_TypeError,
+ "Color division not supported in this order");
return NULL;
}
/* make sure v1 is always the vector */
if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* COLOR * FLOAT */
if(scalar==0.0f) {
- PyErr_SetString(PyExc_ZeroDivisionError, "Color division: divide by zero error");
+ PyErr_SetString(PyExc_ZeroDivisionError,
+ "Color division: divide by zero error");
return NULL;
}
return color_mul_float(color1, 1.0f / scalar);
}
- PyErr_Format(PyExc_TypeError, "Color multiplication: not supported between '%.200s' and '%.200s' types", Py_TYPE(v1)->tp_name, Py_TYPE(v2)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "Color multiplication: not supported between "
+ "'%.200s' and '%.200s' types",
+ Py_TYPE(v1)->tp_name, Py_TYPE(v2)->tp_name);
return NULL;
}
@@ -522,7 +555,9 @@ static PyObject *Color_imul(PyObject *v1, PyObject *v2)
mul_vn_fl(color->col, COLOR_SIZE, scalar);
}
else {
- PyErr_SetString(PyExc_TypeError, "Color multiplication: arguments not acceptable for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color multiplication: "
+ "arguments not acceptable for this operation");
return NULL;
}
@@ -543,14 +578,17 @@ static PyObject *Color_idiv(PyObject *v1, PyObject *v2)
/* only support color /= float */
if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* COLOR /= FLOAT */
if(scalar==0.0f) {
- PyErr_SetString(PyExc_ZeroDivisionError, "Color division: divide by zero error");
+ PyErr_SetString(PyExc_ZeroDivisionError,
+ "Color division: divide by zero error");
return NULL;
}
mul_vn_fl(color->col, COLOR_SIZE, 1.0f / scalar);
}
else {
- PyErr_SetString(PyExc_TypeError, "Color multiplication: arguments not acceptable for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color multiplication: "
+ "arguments not acceptable for this operation");
return NULL;
}
@@ -642,7 +680,9 @@ static int Color_setChannelHSV(ColorObject * self, PyObject *value, void * type)
float f = PyFloat_AsDouble(value);
if(f == -1 && PyErr_Occurred()) {
- PyErr_SetString(PyExc_TypeError, "color.h/s/v = value: argument not a number");
+ PyErr_SetString(PyExc_TypeError,
+ "color.h/s/v = value: "
+ "argument not a number");
return -1;
}
@@ -808,8 +848,7 @@ PyObject *newColorObject(float *col, int type, PyTypeObject *base_type)
self->wrapped = Py_NEW;
}
else {
- PyErr_SetString(PyExc_RuntimeError, "Color(): invalid type");
- return NULL;
+ Py_FatalError("Color(): invalid type!");
}
}
diff --git a/source/blender/python/generic/mathutils_Color.h b/source/blender/python/mathutils/mathutils_Color.h
index 0fc880363f4..0fc880363f4 100644
--- a/source/blender/python/generic/mathutils_Color.h
+++ b/source/blender/python/mathutils/mathutils_Color.h
diff --git a/source/blender/python/generic/mathutils_Euler.c b/source/blender/python/mathutils/mathutils_Euler.c
index 4281c7bf6c5..5c609d8961f 100644
--- a/source/blender/python/generic/mathutils_Euler.c
+++ b/source/blender/python/mathutils/mathutils_Euler.c
@@ -38,10 +38,6 @@
#include "BLI_math.h"
#include "BLI_utildefines.h"
-#ifndef int32_t
-#include "BLO_sys_types.h"
-#endif
-
#define EULER_SIZE 3
//----------------------------------mathutils.Euler() -------------------
@@ -55,7 +51,9 @@ static PyObject *Euler_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
short order= EULER_ORDER_XYZ;
if(kwds && PyDict_Size(kwds)) {
- PyErr_SetString(PyExc_TypeError, "mathutils.Euler(): takes no keyword args");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Euler(): "
+ "takes no keyword args");
return NULL;
}
@@ -87,7 +85,7 @@ static const char *euler_order_str(EulerObject *self)
short euler_order_from_string(const char *str, const char *error_prefix)
{
if((str[0] && str[1] && str[2] && str[3]=='\0')) {
- switch(*((int32_t *)str)) {
+ switch(*((PY_INT32_T *)str)) {
case 'X'|'Y'<<8|'Z'<<16: return EULER_ORDER_XYZ;
case 'X'|'Z'<<8|'Y'<<16: return EULER_ORDER_XZY;
case 'Y'|'X'<<8|'Z'<<16: return EULER_ORDER_YXZ;
@@ -97,7 +95,9 @@ short euler_order_from_string(const char *str, const char *error_prefix)
}
}
- PyErr_Format(PyExc_TypeError, "%s: invalid euler order '%s'", error_prefix, str);
+ PyErr_Format(PyExc_ValueError,
+ "%s: invalid euler order '%s'",
+ error_prefix, str);
return -1;
}
@@ -199,11 +199,14 @@ static PyObject *Euler_rotate_axis(EulerObject * self, PyObject *args)
const char *axis;
if(!PyArg_ParseTuple(args, "sf:rotate", &axis, &angle)){
- PyErr_SetString(PyExc_TypeError, "euler.rotate(): expected angle (float) and axis (x, y, z)");
+ PyErr_SetString(PyExc_TypeError,
+ "euler.rotate(): "
+ "expected angle (float) and axis (x, y, z)");
return NULL;
}
if(!(ELEM3(*axis, 'X', 'Y', 'Z') && axis[1]=='\0')){
- PyErr_SetString(PyExc_TypeError, "euler.rotate(): expected axis to be 'X', 'Y' or 'Z'");
+ PyErr_SetString(PyExc_ValueError, "euler.rotate(): "
+ "expected axis to be 'X', 'Y' or 'Z'");
return NULL;
}
@@ -360,7 +363,9 @@ static PyObject *Euler_item(EulerObject * self, int i)
if(i<0) i= EULER_SIZE-i;
if(i < 0 || i >= EULER_SIZE) {
- PyErr_SetString(PyExc_IndexError, "euler[attribute]: array index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "euler[attribute]: "
+ "array index out of range");
return NULL;
}
@@ -377,14 +382,18 @@ static int Euler_ass_item(EulerObject * self, int i, PyObject *value)
float f = PyFloat_AsDouble(value);
if(f == -1 && PyErr_Occurred()) { // parsed item not a number
- PyErr_SetString(PyExc_TypeError, "euler[attribute] = x: argument not a number");
+ PyErr_SetString(PyExc_TypeError,
+ "euler[attribute] = x: "
+ "argument not a number");
return -1;
}
if(i<0) i= EULER_SIZE-i;
if(i < 0 || i >= EULER_SIZE){
- PyErr_SetString(PyExc_IndexError, "euler[attribute] = x: array assignment index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "euler[attribute] = x: "
+ "array assignment index out of range");
return -1;
}
@@ -436,7 +445,9 @@ static int Euler_ass_slice(EulerObject *self, int begin, int end, PyObject *seq)
return -1;
if(size != (end - begin)){
- PyErr_SetString(PyExc_TypeError, "euler[begin:end] = []: size mismatch in slice assignment");
+ PyErr_SetString(PyExc_ValueError,
+ "euler[begin:end] = []: "
+ "size mismatch in slice assignment");
return -1;
}
@@ -471,12 +482,15 @@ static PyObject *Euler_subscript(EulerObject *self, PyObject *item)
return Euler_slice(self, start, stop);
}
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with eulers");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with eulers");
return NULL;
}
}
else {
- PyErr_Format(PyExc_TypeError, "euler indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "euler indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return NULL;
}
}
@@ -501,12 +515,15 @@ static int Euler_ass_subscript(EulerObject *self, PyObject *item, PyObject *valu
if (step == 1)
return Euler_ass_slice(self, start, stop, value);
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with euler");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with euler");
return -1;
}
}
else {
- PyErr_Format(PyExc_TypeError, "euler indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "euler indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return -1;
}
}
@@ -680,8 +697,7 @@ PyObject *newEulerObject(float *eul, short order, int type, PyTypeObject *base_t
self->wrapped = Py_NEW;
}
else {
- PyErr_SetString(PyExc_RuntimeError, "Euler(): invalid type");
- return NULL;
+ Py_FatalError("Euler(): invalid type!");
}
self->order= order;
diff --git a/source/blender/python/generic/mathutils_Euler.h b/source/blender/python/mathutils/mathutils_Euler.h
index 849e16c2bb7..849e16c2bb7 100644
--- a/source/blender/python/generic/mathutils_Euler.h
+++ b/source/blender/python/mathutils/mathutils_Euler.h
diff --git a/source/blender/python/generic/mathutils_Matrix.c b/source/blender/python/mathutils/mathutils_Matrix.c
index 4b7f9dc0d97..3953171f263 100644
--- a/source/blender/python/generic/mathutils_Matrix.c
+++ b/source/blender/python/mathutils/mathutils_Matrix.c
@@ -35,7 +35,6 @@
#include "mathutils.h"
#include "BLI_math.h"
-#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
static PyObject *Matrix_copy(MatrixObject *self);
@@ -119,7 +118,9 @@ Mathutils_Callback mathutils_matrix_vector_cb = {
static PyObject *Matrix_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
if(kwds && PyDict_Size(kwds)) {
- PyErr_SetString(PyExc_TypeError, "mathutils.Matrix(): takes no keyword args");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Matrix(): "
+ "takes no keyword args");
return NULL;
}
@@ -130,7 +131,8 @@ static PyObject *Matrix_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
PyObject *arg= PyTuple_GET_ITEM(args, 0);
- const unsigned short row_size= PySequence_Size(arg); /* -1 is an error, size checks will accunt for this */
+ /* -1 is an error, size checks will accunt for this */
+ const unsigned short row_size= PySequence_Size(arg);
if(row_size >= 2 && row_size <= 4) {
PyObject *item= PySequence_GetItem(arg, 0);
@@ -152,7 +154,9 @@ static PyObject *Matrix_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
}
/* will overwrite error */
- PyErr_SetString(PyExc_TypeError, "mathutils.Matrix(): expects no args or 2-4 numeric sequences");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Matrix(): "
+ "expects no args or 2-4 numeric sequences");
return NULL;
}
@@ -211,14 +215,19 @@ static PyObject *C_Matrix_Rotation(PyObject *cls, PyObject *args)
0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f};
if(!PyArg_ParseTuple(args, "di|O", &angle, &matSize, &vec)) {
- PyErr_SetString(PyExc_TypeError, "mathutils.RotationMatrix(angle, size, axis): expected float int and a string or vector");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.RotationMatrix(angle, size, axis): "
+ "expected float int and a string or vector");
return NULL;
}
if(vec && PyUnicode_Check(vec)) {
axis= _PyUnicode_AsString((PyObject *)vec);
if(axis==NULL || axis[0]=='\0' || axis[1]!='\0' || axis[0] < 'X' || axis[0] > 'Z') {
- PyErr_SetString(PyExc_TypeError, "mathutils.RotationMatrix(): 3rd argument axis value must be a 3D vector or a string in 'X', 'Y', 'Z'");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.RotationMatrix(): "
+ "3rd argument axis value must be a 3D vector "
+ "or a string in 'X', 'Y', 'Z'");
return NULL;
}
else {
@@ -230,15 +239,21 @@ static PyObject *C_Matrix_Rotation(PyObject *cls, PyObject *args)
angle= angle_wrap_rad(angle);
if(matSize != 2 && matSize != 3 && matSize != 4) {
- PyErr_SetString(PyExc_AttributeError, "mathutils.RotationMatrix(): can only return a 2x2 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.RotationMatrix(): "
+ "can only return a 2x2 3x3 or 4x4 matrix");
return NULL;
}
if(matSize == 2 && (vec != NULL)) {
- PyErr_SetString(PyExc_AttributeError, "mathutils.RotationMatrix(): cannot create a 2x2 rotation matrix around arbitrary axis");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.RotationMatrix(): "
+ "cannot create a 2x2 rotation matrix around arbitrary axis");
return NULL;
}
if((matSize == 3 || matSize == 4) && (axis == NULL) && (vec == NULL)) {
- PyErr_SetString(PyExc_AttributeError, "mathutils.RotationMatrix(): axis of rotation for 3d and 4d matrices is required");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.RotationMatrix(): "
+ "axis of rotation for 3d and 4d matrices is required");
return NULL;
}
@@ -284,7 +299,8 @@ static PyObject *C_Matrix_Rotation(PyObject *cls, PyObject *args)
}
else {
/* should never get here */
- PyErr_SetString(PyExc_AttributeError, "mathutils.RotationMatrix(): unknown error");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.RotationMatrix(): unknown error");
return NULL;
}
@@ -348,7 +364,9 @@ static PyObject *C_Matrix_Scale(PyObject *cls, PyObject *args)
return NULL;
}
if(matSize != 2 && matSize != 3 && matSize != 4) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.Scale(): can only return a 2x2 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "Matrix.Scale(): "
+ "can only return a 2x2 3x3 or 4x4 matrix");
return NULL;
}
if(vec) {
@@ -361,7 +379,8 @@ static PyObject *C_Matrix_Scale(PyObject *cls, PyObject *args)
if(matSize == 2) {
mat[0] = factor;
mat[3] = factor;
- } else {
+ }
+ else {
mat[0] = factor;
mat[4] = factor;
mat[8] = factor;
@@ -383,7 +402,8 @@ static PyObject *C_Matrix_Scale(PyObject *cls, PyObject *args)
mat[1] = ((factor - 1) *(tvec[0] * tvec[1]));
mat[2] = ((factor - 1) *(tvec[0] * tvec[1]));
mat[3] = 1 + ((factor - 1) *(tvec[1] * tvec[1]));
- } else {
+ }
+ else {
mat[0] = 1 + ((factor - 1) *(tvec[0] * tvec[0]));
mat[1] = ((factor - 1) *(tvec[0] * tvec[1]));
mat[2] = ((factor - 1) *(tvec[0] * tvec[2]));
@@ -430,7 +450,9 @@ static PyObject *C_Matrix_OrthoProjection(PyObject *cls, PyObject *args)
return NULL;
}
if(matSize != 2 && matSize != 3 && matSize != 4) {
- PyErr_SetString(PyExc_AttributeError,"mathutils.Matrix.OrthoProjection(): can only return a 2x2 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.Matrix.OrthoProjection(): "
+ "can only return a 2x2 3x3 or 4x4 matrix");
return NULL;
}
@@ -445,7 +467,10 @@ static PyObject *C_Matrix_OrthoProjection(PyObject *cls, PyObject *args)
mat[3]= 1.0f;
}
else {
- PyErr_Format(PyExc_ValueError, "mathutils.Matrix.OrthoProjection(): unknown plane, expected: X, Y, not '%.200s'", plane);
+ PyErr_Format(PyExc_ValueError,
+ "mathutils.Matrix.OrthoProjection(): "
+ "unknown plane, expected: X, Y, not '%.200s'",
+ plane);
return NULL;
}
}
@@ -463,7 +488,10 @@ static PyObject *C_Matrix_OrthoProjection(PyObject *cls, PyObject *args)
mat[8]= 1.0f;
}
else {
- PyErr_Format(PyExc_ValueError, "mathutils.Matrix.OrthoProjection(): unknown plane, expected: XY, XZ, YZ, not '%.200s'", plane);
+ PyErr_Format(PyExc_ValueError,
+ "mathutils.Matrix.OrthoProjection(): "
+ "unknown plane, expected: XY, XZ, YZ, not '%.200s'",
+ plane);
return NULL;
}
}
@@ -539,7 +567,9 @@ static PyObject *C_Matrix_Shear(PyObject *cls, PyObject *args)
return NULL;
}
if(matSize != 2 && matSize != 3 && matSize != 4) {
- PyErr_SetString(PyExc_AttributeError,"mathutils.Matrix.Shear(): can only return a 2x2 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.Matrix.Shear(): "
+ "can only return a 2x2 3x3 or 4x4 matrix");
return NULL;
}
@@ -547,7 +577,9 @@ static PyObject *C_Matrix_Shear(PyObject *cls, PyObject *args)
float const factor= PyFloat_AsDouble(fac);
if(factor==-1.0f && PyErr_Occurred()) {
- PyErr_SetString(PyExc_AttributeError, "mathutils.Matrix.Shear(): the factor to be a float");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Matrix.Shear(): "
+ "the factor to be a float");
return NULL;
}
@@ -562,7 +594,9 @@ static PyObject *C_Matrix_Shear(PyObject *cls, PyObject *args)
mat[1] = factor;
}
else {
- PyErr_SetString(PyExc_AttributeError, "Matrix.Shear(): expected: X, Y or wrong matrix size for shearing plane");
+ PyErr_SetString(PyExc_ValueError,
+ "Matrix.Shear(): "
+ "expected: X, Y or wrong matrix size for shearing plane");
return NULL;
}
}
@@ -592,7 +626,9 @@ static PyObject *C_Matrix_Shear(PyObject *cls, PyObject *args)
mat[2] = factor[1];
}
else {
- PyErr_SetString(PyExc_AttributeError, "mathutils.Matrix.Shear(): expected: X, Y, XY, XZ, YZ");
+ PyErr_SetString(PyExc_ValueError,
+ "mathutils.Matrix.Shear(): "
+ "expected: X, Y, XY, XZ, YZ");
return NULL;
}
}
@@ -624,7 +660,8 @@ static float matrix_determinant_internal(MatrixObject *self)
self->matrix[1][1], self->matrix[1][2],
self->matrix[2][0], self->matrix[2][1],
self->matrix[2][2]);
- } else {
+ }
+ else {
return determinant_m4((float (*)[4])self->contigPtr);
}
}
@@ -648,7 +685,9 @@ static PyObject *Matrix_to_quaternion(MatrixObject *self)
/*must be 3-4 cols, 3-4 rows, square matrix*/
if((self->col_size < 3) || (self->row_size < 3) || (self->col_size != self->row_size)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.to_quat(): inappropriate matrix size - expects 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "matrix.to_quat(): "
+ "inappropriate matrix size - expects 3x3 or 4x4 matrix");
return NULL;
}
if(self->col_size == 3){
@@ -661,7 +700,7 @@ static PyObject *Matrix_to_quaternion(MatrixObject *self)
return newQuaternionObject(quat, Py_NEW, NULL);
}
-/*---------------------------Matrix.toEuler() --------------------*/
+/*---------------------------matrix.toEuler() --------------------*/
PyDoc_STRVAR(Matrix_to_euler_doc,
".. method:: to_euler(order, euler_compat)\n"
"\n"
@@ -710,12 +749,14 @@ static PyObject *Matrix_to_euler(MatrixObject *self, PyObject *args)
mat= tmat;
}
else {
- PyErr_SetString(PyExc_AttributeError, "Matrix.to_euler(): inappropriate matrix size - expects 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_ValueError,
+ "matrix.to_euler(): "
+ "inappropriate matrix size - expects 3x3 or 4x4 matrix");
return NULL;
}
if(order_str) {
- order= euler_order_from_string(order_str, "Matrix.to_euler()");
+ order= euler_order_from_string(order_str, "matrix.to_euler()");
if(order == -1)
return NULL;
@@ -743,17 +784,20 @@ static PyObject *Matrix_resize_4x4(MatrixObject *self)
int x, first_row_elem, curr_pos, new_pos, blank_columns, blank_rows, index;
if(self->wrapped==Py_WRAP){
- PyErr_SetString(PyExc_TypeError, "cannot resize wrapped data - make a copy and resize that");
+ PyErr_SetString(PyExc_TypeError,
+ "cannot resize wrapped data - make a copy and resize that");
return NULL;
}
if(self->cb_user){
- PyErr_SetString(PyExc_TypeError, "cannot resize owned data - make a copy and resize that");
+ PyErr_SetString(PyExc_TypeError,
+ "cannot resize owned data - make a copy and resize that");
return NULL;
}
self->contigPtr = PyMem_Realloc(self->contigPtr, (sizeof(float) * 16));
if(self->contigPtr == NULL) {
- PyErr_SetString(PyExc_MemoryError, "matrix.resize_4x4(): problem allocating pointer space");
+ PyErr_SetString(PyExc_MemoryError,
+ "matrix.resize_4x4(): problem allocating pointer space");
return NULL;
}
/*set row pointers*/
@@ -779,7 +823,7 @@ static PyObject *Matrix_resize_4x4(MatrixObject *self)
for(blank_columns = (4 - self->col_size); blank_columns > 0; blank_columns--){
self->contigPtr[new_pos + blank_columns] = 0.0f;
}
- for(curr_pos = curr_pos; curr_pos >= first_row_elem; curr_pos--){
+ for( ; curr_pos >= first_row_elem; curr_pos--){
self->contigPtr[new_pos] = self->contigPtr[curr_pos];
new_pos--;
}
@@ -813,7 +857,8 @@ static PyObject *Matrix_to_4x4(MatrixObject *self)
}
/* TODO, 2x2 matrix */
- PyErr_SetString(PyExc_TypeError, "Matrix.to_4x4(): inappropriate matrix size");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.to_4x4(): inappropriate matrix size");
return NULL;
}
@@ -833,7 +878,8 @@ static PyObject *Matrix_to_3x3(MatrixObject *self)
return NULL;
if((self->col_size < 3) || (self->row_size < 3)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.to_3x3(): inappropriate matrix size");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.to_3x3(): inappropriate matrix size");
return NULL;
}
@@ -856,7 +902,9 @@ static PyObject *Matrix_to_translation(MatrixObject *self)
return NULL;
if((self->col_size < 3) || self->row_size < 4){
- PyErr_SetString(PyExc_AttributeError, "Matrix.to_translation(): inappropriate matrix size");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.to_translation(): "
+ "inappropriate matrix size");
return NULL;
}
@@ -884,7 +932,9 @@ static PyObject *Matrix_to_scale(MatrixObject *self)
/*must be 3-4 cols, 3-4 rows, square matrix*/
if((self->col_size < 3) || (self->row_size < 3)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.to_scale(): inappropriate matrix size, 3x3 minimum size");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.to_scale(): "
+ "inappropriate matrix size, 3x3 minimum size");
return NULL;
}
@@ -896,7 +946,7 @@ static PyObject *Matrix_to_scale(MatrixObject *self)
return newVectorObject(size, 3, Py_NEW, NULL);
}
-/*---------------------------Matrix.invert() ---------------------*/
+/*---------------------------matrix.invert() ---------------------*/
PyDoc_STRVAR(Matrix_invert_doc,
".. method:: invert()\n"
"\n"
@@ -918,7 +968,9 @@ static PyObject *Matrix_invert(MatrixObject *self)
return NULL;
if(self->row_size != self->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix.invert(ed): only square matrices are supported");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.invert(ed): "
+ "only square matrices are supported");
return NULL;
}
@@ -950,8 +1002,10 @@ static PyObject *Matrix_invert(MatrixObject *self)
}
/*transpose
Matrix_transpose(self);*/
- } else {
- PyErr_SetString(PyExc_ValueError, "matrix does not have an inverse");
+ }
+ else {
+ PyErr_SetString(PyExc_ValueError,
+ "matrix does not have an inverse");
return NULL;
}
@@ -995,7 +1049,8 @@ static PyObject *Matrix_rotate(MatrixObject *self, PyObject *value)
return NULL;
if(self->col_size != 3 || self->row_size != 3) {
- PyErr_SetString(PyExc_ValueError, "Matrix must have 3x3 dimensions");
+ PyErr_SetString(PyExc_TypeError,
+ "Matrix must have 3x3 dimensions");
return NULL;
}
@@ -1008,7 +1063,7 @@ static PyObject *Matrix_rotate(MatrixObject *self, PyObject *value)
Py_RETURN_NONE;
}
-/*---------------------------Matrix.decompose() ---------------------*/
+/*---------------------------matrix.decompose() ---------------------*/
PyDoc_STRVAR(Matrix_decompose_doc,
".. method:: decompose()\n"
"\n"
@@ -1026,7 +1081,9 @@ static PyObject *Matrix_decompose(MatrixObject *self)
float size[3];
if(self->col_size != 4 || self->row_size != 4) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.decompose(): inappropriate matrix size - expects 4x4 matrix");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.decompose(): "
+ "inappropriate matrix size - expects 4x4 matrix");
return NULL;
}
@@ -1067,7 +1124,9 @@ static PyObject *Matrix_lerp(MatrixObject *self, PyObject *args)
return NULL;
if(self->row_size != mat2->row_size || self->col_size != mat2->col_size) {
- PyErr_SetString(PyExc_AttributeError, "matrix.lerp(): expects both matrix objects of the same dimensions");
+ PyErr_SetString(PyExc_ValueError,
+ "matrix.lerp(): "
+ "expects both matrix objects of the same dimensions");
return NULL;
}
@@ -1082,14 +1141,16 @@ static PyObject *Matrix_lerp(MatrixObject *self, PyObject *args)
blend_m3_m3m3((float (*)[3])mat, (float (*)[3])self->contigPtr, (float (*)[3])mat2->contigPtr, fac);
}
else {
- PyErr_SetString(PyExc_AttributeError, "matrix.lerp(): only 3x3 and 4x4 matrices supported");
+ PyErr_SetString(PyExc_ValueError,
+ "matrix.lerp(): "
+ "only 3x3 and 4x4 matrices supported");
return NULL;
}
return (PyObject*)newMatrixObject(mat, self->row_size, self->col_size, Py_NEW, Py_TYPE(self));
}
-/*---------------------------Matrix.determinant() ----------------*/
+/*---------------------------matrix.determinant() ----------------*/
PyDoc_STRVAR(Matrix_determinant_doc,
".. method:: determinant()\n"
"\n"
@@ -1106,13 +1167,15 @@ static PyObject *Matrix_determinant(MatrixObject *self)
return NULL;
if(self->row_size != self->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix.determinant: only square matrices are supported");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.determinant: "
+ "only square matrices are supported");
return NULL;
}
return PyFloat_FromDouble((double)matrix_determinant_internal(self));
}
-/*---------------------------Matrix.transpose() ------------------*/
+/*---------------------------matrix.transpose() ------------------*/
PyDoc_STRVAR(Matrix_transpose_doc,
".. method:: transpose()\n"
"\n"
@@ -1128,7 +1191,9 @@ static PyObject *Matrix_transpose(MatrixObject *self)
return NULL;
if(self->row_size != self->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix.transpose(d): only square matrices are supported");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.transpose(d): "
+ "only square matrices are supported");
return NULL;
}
@@ -1138,7 +1203,8 @@ static PyObject *Matrix_transpose(MatrixObject *self)
self->matrix[0][1] = t;
} else if(self->row_size == 3) {
transpose_m3((float (*)[3])self->contigPtr);
- } else {
+ }
+ else {
transpose_m4((float (*)[4])self->contigPtr);
}
@@ -1159,7 +1225,7 @@ static PyObject *Matrix_transposed(MatrixObject *self)
return matrix__apply_to_copy((PyNoArgsFunction)Matrix_transpose, self);
}
-/*---------------------------Matrix.zero() -----------------------*/
+/*---------------------------matrix.zero() -----------------------*/
PyDoc_STRVAR(Matrix_zero_doc,
".. method:: zero()\n"
"\n"
@@ -1177,7 +1243,7 @@ static PyObject *Matrix_zero(MatrixObject *self)
Py_RETURN_NONE;
}
-/*---------------------------Matrix.identity(() ------------------*/
+/*---------------------------matrix.identity(() ------------------*/
PyDoc_STRVAR(Matrix_identity_doc,
".. method:: identity()\n"
"\n"
@@ -1194,7 +1260,9 @@ static PyObject *Matrix_identity(MatrixObject *self)
return NULL;
if(self->row_size != self->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix.identity: only square matrices are supported");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix.identity: "
+ "only square matrices are supported");
return NULL;
}
@@ -1205,7 +1273,8 @@ static PyObject *Matrix_identity(MatrixObject *self)
self->matrix[1][1] = 1.0f;
} else if(self->row_size == 3) {
unit_m3((float (*)[3])self->contigPtr);
- } else {
+ }
+ else {
unit_m4((float (*)[4])self->contigPtr);
}
@@ -1249,20 +1318,20 @@ static PyObject *Matrix_repr(MatrixObject *self)
}
}
switch(self->row_size) {
- case 2: return PyUnicode_FromFormat("Matrix(%R,\n"
- " %R)", rows[0], rows[1]);
+ case 2: return PyUnicode_FromFormat("Matrix((%R,\n"
+ " %R))", rows[0], rows[1]);
- case 3: return PyUnicode_FromFormat("Matrix(%R,\n"
- " %R,\n"
- " %R)", rows[0], rows[1], rows[2]);
+ case 3: return PyUnicode_FromFormat("Matrix((%R,\n"
+ " %R,\n"
+ " %R))", rows[0], rows[1], rows[2]);
- case 4: return PyUnicode_FromFormat("Matrix(%R,\n"
- " %R,\n"
- " %R,\n"
- " %R)", rows[0], rows[1], rows[2], rows[3]);
+ case 4: return PyUnicode_FromFormat("Matrix((%R,\n"
+ " %R,\n"
+ " %R,\n"
+ " %R))", rows[0], rows[1], rows[2], rows[3]);
}
- PyErr_SetString(PyExc_RuntimeError, "invalid matrix size");
+ Py_FatalError("Matrix(): invalid row size!");
return NULL;
}
@@ -1321,7 +1390,9 @@ static PyObject *Matrix_item(MatrixObject *self, int i)
return NULL;
if(i < 0 || i >= self->row_size) {
- PyErr_SetString(PyExc_IndexError, "matrix[attribute]: array index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "matrix[attribute]: "
+ "array index out of range");
return NULL;
}
return newVectorObject_cb((PyObject *)self, self->col_size, mathutils_matrix_vector_cb_index, i);
@@ -1336,7 +1407,8 @@ static int Matrix_ass_item(MatrixObject *self, int i, PyObject *value)
return -1;
if(i >= self->row_size || i < 0){
- PyErr_SetString(PyExc_TypeError, "matrix[attribute] = x: bad column");
+ PyErr_SetString(PyExc_IndexError,
+ "matrix[attribute] = x: bad column");
return -1;
}
@@ -1399,7 +1471,9 @@ static int Matrix_ass_slice(MatrixObject *self, int begin, int end, PyObject *va
if(PySequence_Fast_GET_SIZE(value_fast) != size) {
Py_DECREF(value_fast);
- PyErr_SetString(PyExc_TypeError, "matrix[begin:end] = []: size mismatch in slice assignment");
+ PyErr_SetString(PyExc_ValueError,
+ "matrix[begin:end] = []: "
+ "size mismatch in slice assignment");
return -1;
}
@@ -1433,7 +1507,9 @@ static PyObject *Matrix_add(PyObject *m1, PyObject *m2)
mat2 = (MatrixObject*)m2;
if(!MatrixObject_Check(m1) || !MatrixObject_Check(m2)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Matrix addition: "
+ "arguments not valid for this operation");
return NULL;
}
@@ -1441,7 +1517,9 @@ static PyObject *Matrix_add(PyObject *m1, PyObject *m2)
return NULL;
if(mat1->row_size != mat2->row_size || mat1->col_size != mat2->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix addition: matrices must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Matrix addition: "
+ "matrices must have the same dimensions for this operation");
return NULL;
}
@@ -1460,7 +1538,9 @@ static PyObject *Matrix_sub(PyObject *m1, PyObject *m2)
mat2 = (MatrixObject*)m2;
if(!MatrixObject_Check(m1) || !MatrixObject_Check(m2)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Matrix addition: "
+ "arguments not valid for this operation");
return NULL;
}
@@ -1468,7 +1548,9 @@ static PyObject *Matrix_sub(PyObject *m1, PyObject *m2)
return NULL;
if(mat1->row_size != mat2->row_size || mat1->col_size != mat2->col_size){
- PyErr_SetString(PyExc_AttributeError, "Matrix addition: matrices must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Matrix addition: "
+ "matrices must have the same dimensions for this operation");
return NULL;
}
@@ -1502,39 +1584,48 @@ static PyObject *Matrix_mul(PyObject *m1, PyObject *m2)
return NULL;
}
- if(mat1 && mat2) { /*MATRIX * MATRIX*/
- if(mat1->row_size != mat2->col_size){
- PyErr_SetString(PyExc_AttributeError,"Matrix multiplication: matrix A rowsize must equal matrix B colsize");
- return NULL;
- }
- else {
- float mat[16]= {0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 1.0f};
- double dot = 0.0f;
- int x, y, z;
-
- for(x = 0; x < mat2->row_size; x++) {
- for(y = 0; y < mat1->col_size; y++) {
- for(z = 0; z < mat1->row_size; z++) {
- dot += (mat1->matrix[z][y] * mat2->matrix[x][z]);
- }
- mat[((x * mat1->col_size) + y)] = (float)dot;
- dot = 0.0f;
+ if(mat1 && mat2) {
+ /*MATRIX * MATRIX*/
+ float mat[16]= {0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 1.0f};
+ double dot = 0.0f;
+ int x, y, z;
+
+ for(x = 0; x < mat2->row_size; x++) {
+ for(y = 0; y < mat1->col_size; y++) {
+ for(z = 0; z < mat1->row_size; z++) {
+ dot += (mat1->matrix[z][y] * mat2->matrix[x][z]);
}
+ mat[((x * mat1->col_size) + y)] = (float)dot;
+ dot = 0.0f;
}
-
- return newMatrixObject(mat, mat2->row_size, mat1->col_size, Py_NEW, Py_TYPE(mat1));
}
+
+ return newMatrixObject(mat, mat2->row_size, mat1->col_size, Py_NEW, Py_TYPE(mat1));
}
else if(mat2) {
- if (((scalar= PyFloat_AsDouble(m1)) == -1.0f && PyErr_Occurred())==0) { /*FLOAT/INT * MATRIX */
+ /*FLOAT/INT * MATRIX */
+ if (((scalar= PyFloat_AsDouble(m1)) == -1.0f && PyErr_Occurred())==0) {
return matrix_mul_float(mat2, scalar);
}
}
else if(mat1) {
- if (((scalar= PyFloat_AsDouble(m2)) == -1.0f && PyErr_Occurred())==0) { /*FLOAT/INT * MATRIX */
+ /*VEC * MATRIX */
+ if(VectorObject_Check(m2)) {
+ VectorObject *vec2= (VectorObject *)m2;
+ float tvec[4];
+ if(BaseMath_ReadCallback(vec2) == -1)
+ return NULL;
+ if(column_vector_multiplication(tvec, vec2, mat1) == -1) {
+ return NULL;
+ }
+
+ return newVectorObject(tvec, vec2->size, Py_NEW, Py_TYPE(m2));
+ }
+ /*FLOAT/INT * MATRIX */
+ else if (((scalar= PyFloat_AsDouble(m2)) == -1.0f && PyErr_Occurred())==0) {
return matrix_mul_float(mat1, scalar);
}
}
@@ -1542,7 +1633,10 @@ static PyObject *Matrix_mul(PyObject *m1, PyObject *m2)
BLI_assert(!"internal error");
}
- PyErr_Format(PyExc_TypeError, "Matrix multiplication: not supported between '%.200s' and '%.200s' types", Py_TYPE(m1)->tp_name, Py_TYPE(m2)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "Matrix multiplication: "
+ "not supported between '%.200s' and '%.200s' types",
+ Py_TYPE(m1)->tp_name, Py_TYPE(m2)->tp_name);
return NULL;
}
static PyObject* Matrix_inv(MatrixObject *self)
@@ -1591,12 +1685,15 @@ static PyObject *Matrix_subscript(MatrixObject* self, PyObject* item)
return Matrix_slice(self, start, stop);
}
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with matricies");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with matricies");
return NULL;
}
}
else {
- PyErr_Format(PyExc_TypeError, "vector indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "matrix indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return NULL;
}
}
@@ -1620,12 +1717,15 @@ static int Matrix_ass_subscript(MatrixObject* self, PyObject* item, PyObject* va
if (step == 1)
return Matrix_ass_slice(self, start, stop, value);
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with matricies");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with matricies");
return -1;
}
}
else {
- PyErr_Format(PyExc_TypeError, "matrix indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "matrix indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return -1;
}
}
@@ -1693,7 +1793,9 @@ static PyObject *Matrix_median_scale_get(MatrixObject *self, void *UNUSED(closur
/*must be 3-4 cols, 3-4 rows, square matrix*/
if((self->col_size < 3) || (self->row_size < 3)) {
- PyErr_SetString(PyExc_AttributeError, "Matrix.median_scale: inappropriate matrix size, 3x3 minimum");
+ PyErr_SetString(PyExc_AttributeError,
+ "matrix.median_scale: "
+ "inappropriate matrix size, 3x3 minimum");
return NULL;
}
@@ -1713,7 +1815,9 @@ static PyObject *Matrix_is_negative_get(MatrixObject *self, void *UNUSED(closure
else if(self->col_size == 3 && self->row_size == 3)
return PyBool_FromLong(is_negative_m3((float (*)[3])self->contigPtr));
else {
- PyErr_SetString(PyExc_AttributeError, "Matrix.is_negative: inappropriate matrix size - expects 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_AttributeError,
+ "matrix.is_negative: "
+ "inappropriate matrix size - expects 3x3 or 4x4 matrix");
return NULL;
}
}
@@ -1729,7 +1833,9 @@ static PyObject *Matrix_is_orthogonal_get(MatrixObject *self, void *UNUSED(closu
else if(self->col_size == 3 && self->row_size == 3)
return PyBool_FromLong(is_orthogonal_m3((float (*)[3])self->contigPtr));
else {
- PyErr_SetString(PyExc_AttributeError, "Matrix.is_orthogonal: inappropriate matrix size - expects 3x3 or 4x4 matrix");
+ PyErr_SetString(PyExc_AttributeError,
+ "matrix.is_orthogonal: "
+ "inappropriate matrix size - expects 3x3 or 4x4 matrix");
return NULL;
}
}
@@ -1865,7 +1971,9 @@ PyObject *newMatrixObject(float *mat, const unsigned short rowSize, const unsign
/*matrix objects can be any 2-4row x 2-4col matrix*/
if(rowSize < 2 || rowSize > 4 || colSize < 2 || colSize > 4) {
- PyErr_SetString(PyExc_RuntimeError, "matrix(): row and column sizes must be between 2 and 4");
+ PyErr_SetString(PyExc_RuntimeError,
+ "Matrix(): "
+ "row and column sizes must be between 2 and 4");
return NULL;
}
@@ -1891,7 +1999,9 @@ PyObject *newMatrixObject(float *mat, const unsigned short rowSize, const unsign
else if (type == Py_NEW){
self->contigPtr = PyMem_Malloc(rowSize * colSize * sizeof(float));
if(self->contigPtr == NULL) { /*allocation failure*/
- PyErr_SetString(PyExc_MemoryError, "matrix(): problem allocating pointer space");
+ PyErr_SetString(PyExc_MemoryError,
+ "Matrix(): "
+ "problem allocating pointer space");
return NULL;
}
/*pointer array points to contigous memory*/
@@ -1913,7 +2023,7 @@ PyObject *newMatrixObject(float *mat, const unsigned short rowSize, const unsign
self->wrapped = Py_NEW;
}
else {
- PyErr_SetString(PyExc_RuntimeError, "Matrix(): invalid type");
+ Py_FatalError("Matrix(): invalid type!");
return NULL;
}
}
diff --git a/source/blender/python/generic/mathutils_Matrix.h b/source/blender/python/mathutils/mathutils_Matrix.h
index aa736d1e959..aa736d1e959 100644
--- a/source/blender/python/generic/mathutils_Matrix.h
+++ b/source/blender/python/mathutils/mathutils_Matrix.h
diff --git a/source/blender/python/generic/mathutils_Quaternion.c b/source/blender/python/mathutils/mathutils_Quaternion.c
index 90447e7093a..2be258a1ef0 100644
--- a/source/blender/python/generic/mathutils_Quaternion.c
+++ b/source/blender/python/mathutils/mathutils_Quaternion.c
@@ -235,7 +235,9 @@ static PyObject *Quaternion_slerp(QuaternionObject *self, PyObject *args)
float tquat[QUAT_SIZE], quat[QUAT_SIZE], fac;
if(!PyArg_ParseTuple(args, "Of:slerp", &value, &fac)) {
- PyErr_SetString(PyExc_TypeError, "quat.slerp(): expected Quaternion types and float");
+ PyErr_SetString(PyExc_TypeError,
+ "quat.slerp(): "
+ "expected Quaternion types and float");
return NULL;
}
@@ -246,7 +248,9 @@ static PyObject *Quaternion_slerp(QuaternionObject *self, PyObject *args)
return NULL;
if(fac > 1.0f || fac < 0.0f) {
- PyErr_SetString(PyExc_AttributeError, "quat.slerp(): interpolation factor must be between 0.0 and 1.0");
+ PyErr_SetString(PyExc_ValueError,
+ "quat.slerp(): "
+ "interpolation factor must be between 0.0 and 1.0");
return NULL;
}
@@ -498,7 +502,9 @@ static PyObject *Quaternion_item(QuaternionObject *self, int i)
if(i<0) i= QUAT_SIZE-i;
if(i < 0 || i >= QUAT_SIZE) {
- PyErr_SetString(PyExc_IndexError, "quaternion[attribute]: array index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "quaternion[attribute]: "
+ "array index out of range");
return NULL;
}
@@ -514,14 +520,18 @@ static int Quaternion_ass_item(QuaternionObject *self, int i, PyObject *ob)
{
float scalar= (float)PyFloat_AsDouble(ob);
if(scalar==-1.0f && PyErr_Occurred()) { /* parsed item not a number */
- PyErr_SetString(PyExc_TypeError, "quaternion[index] = x: index argument not a number");
+ PyErr_SetString(PyExc_TypeError,
+ "quaternion[index] = x: "
+ "index argument not a number");
return -1;
}
if(i<0) i= QUAT_SIZE-i;
if(i < 0 || i >= QUAT_SIZE){
- PyErr_SetString(PyExc_IndexError, "quaternion[attribute] = x: array assignment index out of range");
+ PyErr_SetString(PyExc_IndexError,
+ "quaternion[attribute] = x: "
+ "array assignment index out of range");
return -1;
}
self->quat[i] = scalar;
@@ -572,7 +582,9 @@ static int Quaternion_ass_slice(QuaternionObject *self, int begin, int end, PyOb
return -1;
if(size != (end - begin)){
- PyErr_SetString(PyExc_TypeError, "quaternion[begin:end] = []: size mismatch in slice assignment");
+ PyErr_SetString(PyExc_ValueError,
+ "quaternion[begin:end] = []: "
+ "size mismatch in slice assignment");
return -1;
}
@@ -608,12 +620,15 @@ static PyObject *Quaternion_subscript(QuaternionObject *self, PyObject *item)
return Quaternion_slice(self, start, stop);
}
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with quaternions");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with quaternions");
return NULL;
}
}
else {
- PyErr_Format(PyExc_TypeError, "quaternion indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "quaternion indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return NULL;
}
}
@@ -638,12 +653,15 @@ static int Quaternion_ass_subscript(QuaternionObject *self, PyObject *item, PyOb
if (step == 1)
return Quaternion_ass_slice(self, start, stop, value);
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with quaternion");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with quaternion");
return -1;
}
}
else {
- PyErr_Format(PyExc_TypeError, "quaternion indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "quaternion indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return -1;
}
}
@@ -657,7 +675,9 @@ static PyObject *Quaternion_add(PyObject *q1, PyObject *q2)
QuaternionObject *quat1 = NULL, *quat2 = NULL;
if(!QuaternionObject_Check(q1) || !QuaternionObject_Check(q2)) {
- PyErr_SetString(PyExc_AttributeError, "Quaternion addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Quaternion addition: "
+ "arguments not valid for this operation");
return NULL;
}
quat1 = (QuaternionObject*)q1;
@@ -678,7 +698,9 @@ static PyObject *Quaternion_sub(PyObject *q1, PyObject *q2)
QuaternionObject *quat1 = NULL, *quat2 = NULL;
if(!QuaternionObject_Check(q1) || !QuaternionObject_Check(q2)) {
- PyErr_SetString(PyExc_AttributeError, "Quaternion addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Quaternion addition: "
+ "arguments not valid for this operation");
return NULL;
}
@@ -731,8 +753,30 @@ static PyObject *Quaternion_mul(PyObject *q1, PyObject *q2)
return quat_mul_float(quat2, scalar);
}
}
- else if (quat1) { /* QUAT*FLOAT */
- if((((scalar= PyFloat_AsDouble(q2)) == -1.0f && PyErr_Occurred())==0)) {
+ else if (quat1) {
+ /* QUAT * VEC */
+ if (VectorObject_Check(q2)) {
+ VectorObject *vec2 = (VectorObject *)q2;
+ float tvec[3];
+
+ if(vec2->size != 3) {
+ PyErr_SetString(PyExc_ValueError,
+ "Vector multiplication: "
+ "only 3D vector rotations (with quats) "
+ "currently supported");
+ return NULL;
+ }
+ if(BaseMath_ReadCallback(vec2) == -1) {
+ return NULL;
+ }
+
+ copy_v3_v3(tvec, vec2->vec);
+ mul_qt_v3(quat1->quat, tvec);
+
+ return newVectorObject(tvec, 3, Py_NEW, Py_TYPE(vec2));
+ }
+ /* QUAT * FLOAT */
+ else if((((scalar= PyFloat_AsDouble(q2)) == -1.0f && PyErr_Occurred())==0)) {
return quat_mul_float(quat1, scalar);
}
}
@@ -740,7 +784,10 @@ static PyObject *Quaternion_mul(PyObject *q1, PyObject *q2)
BLI_assert(!"internal error");
}
- PyErr_Format(PyExc_TypeError, "Quaternion multiplication: not supported between '%.200s' and '%.200s' types", Py_TYPE(q1)->tp_name, Py_TYPE(q2)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "Quaternion multiplication: "
+ "not supported between '%.200s' and '%.200s' types",
+ Py_TYPE(q1)->tp_name, Py_TYPE(q2)->tp_name);
return NULL;
}
@@ -861,7 +908,8 @@ static int Quaternion_setAngle(QuaternionObject *self, PyObject *value, void *UN
angle= PyFloat_AsDouble(value);
if(angle==-1.0 && PyErr_Occurred()) { /* parsed item not a number */
- PyErr_SetString(PyExc_TypeError, "quaternion.angle = value: float expected");
+ PyErr_SetString(PyExc_TypeError,
+ "quaternion.angle = value: float expected");
return -1;
}
@@ -942,7 +990,9 @@ static PyObject *Quaternion_new(PyTypeObject *type, PyObject *args, PyObject *kw
float quat[QUAT_SIZE]= {0.0f, 0.0f, 0.0f, 0.0f};
if(kwds && PyDict_Size(kwds)) {
- PyErr_SetString(PyExc_TypeError, "mathutils.Quaternion(): takes no keyword args");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Quaternion(): "
+ "takes no keyword args");
return NULL;
}
@@ -1114,8 +1164,7 @@ PyObject *newQuaternionObject(float *quat, int type, PyTypeObject *base_type)
self->wrapped = Py_NEW;
}
else {
- PyErr_SetString(PyExc_RuntimeError, "Quaternion(): invalid type");
- return NULL;
+ Py_FatalError("Quaternion(): invalid type!");
}
}
return (PyObject *) self;
diff --git a/source/blender/python/generic/mathutils_Quaternion.h b/source/blender/python/mathutils/mathutils_Quaternion.h
index d606621390a..d606621390a 100644
--- a/source/blender/python/generic/mathutils_Quaternion.h
+++ b/source/blender/python/mathutils/mathutils_Quaternion.h
diff --git a/source/blender/python/generic/mathutils_Vector.c b/source/blender/python/mathutils/mathutils_Vector.c
index d0ba94474d4..56c1334ecac 100644
--- a/source/blender/python/generic/mathutils_Vector.c
+++ b/source/blender/python/mathutils/mathutils_Vector.c
@@ -34,7 +34,6 @@
#include "mathutils.h"
-#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
@@ -66,7 +65,9 @@ static PyObject *Vector_new(PyTypeObject *type, PyObject *args, PyObject *UNUSED
return NULL;
break;
default:
- PyErr_SetString(PyExc_TypeError, "mathutils.Vector(): more then a single arg given");
+ PyErr_SetString(PyExc_TypeError,
+ "mathutils.Vector(): "
+ "more then a single arg given");
return NULL;
}
return newVectorObject(vec, size, Py_NEW, type);
@@ -156,17 +157,23 @@ PyDoc_STRVAR(Vector_resize_2d_doc,
static PyObject *Vector_resize_2d(VectorObject *self)
{
if(self->wrapped==Py_WRAP) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_2d(): cannot resize wrapped data - only python vectors");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_2d(): "
+ "cannot resize wrapped data - only python vectors");
return NULL;
}
if(self->cb_user) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_2d(): cannot resize a vector that has an owner");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_2d(): "
+ "cannot resize a vector that has an owner");
return NULL;
}
self->vec = PyMem_Realloc(self->vec, (sizeof(float) * 2));
if(self->vec == NULL) {
- PyErr_SetString(PyExc_MemoryError, "vector.resize_2d(): problem allocating pointer space");
+ PyErr_SetString(PyExc_MemoryError,
+ "vector.resize_2d(): "
+ "problem allocating pointer space");
return NULL;
}
@@ -185,17 +192,23 @@ PyDoc_STRVAR(Vector_resize_3d_doc,
static PyObject *Vector_resize_3d(VectorObject *self)
{
if (self->wrapped==Py_WRAP) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_3d(): cannot resize wrapped data - only python vectors");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_3d(): "
+ "cannot resize wrapped data - only python vectors");
return NULL;
}
if(self->cb_user) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_3d(): cannot resize a vector that has an owner");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_3d(): "
+ "cannot resize a vector that has an owner");
return NULL;
}
self->vec = PyMem_Realloc(self->vec, (sizeof(float) * 3));
if(self->vec == NULL) {
- PyErr_SetString(PyExc_MemoryError, "vector.resize_3d(): problem allocating pointer space");
+ PyErr_SetString(PyExc_MemoryError,
+ "vector.resize_3d(): "
+ "problem allocating pointer space");
return NULL;
}
@@ -217,17 +230,23 @@ PyDoc_STRVAR(Vector_resize_4d_doc,
static PyObject *Vector_resize_4d(VectorObject *self)
{
if(self->wrapped==Py_WRAP) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_4d(): cannot resize wrapped data - only python vectors");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_4d(): "
+ "cannot resize wrapped data - only python vectors");
return NULL;
}
if(self->cb_user) {
- PyErr_SetString(PyExc_TypeError, "vector.resize_4d(): cannot resize a vector that has an owner");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.resize_4d(): "
+ "cannot resize a vector that has an owner");
return NULL;
}
self->vec = PyMem_Realloc(self->vec, (sizeof(float) * 4));
if(self->vec == NULL) {
- PyErr_SetString(PyExc_MemoryError, "vector.resize_4d(): problem allocating pointer space");
+ PyErr_SetString(PyExc_MemoryError,
+ "vector.resize_4d(): "
+ "problem allocating pointer space");
return NULL;
}
@@ -333,7 +352,9 @@ static PyObject *Vector_to_tuple(VectorObject *self, PyObject *args)
return NULL;
if(ndigits > 22 || ndigits < 0) {
- PyErr_SetString(PyExc_ValueError, "vector.to_tuple(ndigits): ndigits must be between 0 and 21");
+ PyErr_SetString(PyExc_ValueError,
+ "vector.to_tuple(ndigits): "
+ "ndigits must be between 0 and 21");
return NULL;
}
@@ -368,7 +389,9 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
return NULL;
if (self->size != 3) {
- PyErr_SetString(PyExc_TypeError, "only for 3D vectors");
+ PyErr_SetString(PyExc_TypeError,
+ "vector.to_track_quat(): "
+ "only for 3D vectors");
return NULL;
}
@@ -376,6 +399,8 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
return NULL;
if (strack) {
+ const char *axis_err_msg= "only X, -X, Y, -Y, Z or -Z for track axis";
+
if (strlen(strack) == 2) {
if (strack[0] == '-') {
switch(strack[1]) {
@@ -389,12 +414,12 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
track = 5;
break;
default:
- PyErr_SetString(PyExc_ValueError, "only X, -X, Y, -Y, Z or -Z for track axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
else {
- PyErr_SetString(PyExc_ValueError, "only X, -X, Y, -Y, Z or -Z for track axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
@@ -411,17 +436,18 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
track = 2;
break;
default:
- PyErr_SetString(PyExc_ValueError, "only X, -X, Y, -Y, Z or -Z for track axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
else {
- PyErr_SetString(PyExc_ValueError, "only X, -X, Y, -Y, Z or -Z for track axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
if (sup) {
+ const char *axis_err_msg= "only X, Y or Z for up axis";
if (strlen(sup) == 1) {
switch(*sup) {
case 'X':
@@ -434,18 +460,19 @@ static PyObject *Vector_to_track_quat(VectorObject *self, PyObject *args)
up = 2;
break;
default:
- PyErr_SetString(PyExc_ValueError, "only X, Y or Z for up axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
else {
- PyErr_SetString(PyExc_ValueError, "only X, Y or Z for up axis");
+ PyErr_SetString(PyExc_ValueError, axis_err_msg);
return NULL;
}
}
if (track == up) {
- PyErr_SetString(PyExc_ValueError, "Can't have the same axis for track and up");
+ PyErr_SetString(PyExc_ValueError,
+ "Can't have the same axis for track and up");
return NULL;
}
@@ -604,7 +631,9 @@ static PyObject *Vector_angle(VectorObject *self, PyObject *args)
return fallback;
}
else {
- PyErr_SetString(PyExc_ValueError, "vector.angle(other): zero length vectors have no valid angle");
+ PyErr_SetString(PyExc_ValueError,
+ "vector.angle(other): "
+ "zero length vectors have no valid angle");
return NULL;
}
}
@@ -636,7 +665,9 @@ static PyObject *Vector_rotation_difference(VectorObject *self, PyObject *value)
float quat[4], vec_a[3], vec_b[3];
if(self->size < 3) {
- PyErr_SetString(PyExc_AttributeError, "vec.difference(value): expects both vectors to be size 3 or 4");
+ PyErr_SetString(PyExc_ValueError,
+ "vec.difference(value): "
+ "expects both vectors to be size 3 or 4");
return NULL;
}
@@ -750,7 +781,8 @@ static PyObject *Vector_rotate(VectorObject *self, PyObject *value)
return NULL;
if(self->size < 3) {
- PyErr_SetString(PyExc_ValueError, "Vector must be 3D or 4D");
+ PyErr_SetString(PyExc_ValueError,
+ "Vector must be 3D or 4D");
return NULL;
}
@@ -804,8 +836,15 @@ static PyObject *vector_item_internal(VectorObject *self, int i, const int is_at
if(i<0) i= self->size-i;
if(i < 0 || i >= self->size) {
- if(is_attr) PyErr_Format(PyExc_AttributeError,"vector.%c: unavailable on %dd vector", *(((char *)"xyzw") + i), self->size);
- else PyErr_SetString(PyExc_IndexError,"vector[index]: out of range");
+ if(is_attr) {
+ PyErr_Format(PyExc_AttributeError,
+ "vector.%c: unavailable on %dd vector",
+ *(((char *)"xyzw") + i), self->size);
+ }
+ else {
+ PyErr_SetString(PyExc_IndexError,
+ "vector[index]: out of range");
+ }
return NULL;
}
@@ -824,15 +863,25 @@ static int vector_ass_item_internal(VectorObject *self, int i, PyObject *value,
{
float scalar;
if((scalar=PyFloat_AsDouble(value))==-1.0f && PyErr_Occurred()) { /* parsed item not a number */
- PyErr_SetString(PyExc_TypeError, "vector[index] = x: index argument not a number");
+ PyErr_SetString(PyExc_TypeError,
+ "vector[index] = x: "
+ "index argument not a number");
return -1;
}
if(i<0) i= self->size-i;
if(i < 0 || i >= self->size){
- if(is_attr) PyErr_Format(PyExc_AttributeError,"vector.%c = x: unavailable on %dd vector", *(((char *)"xyzw") + i), self->size);
- else PyErr_SetString(PyExc_IndexError, "vector[index] = x: assignment index out of range");
+ if(is_attr) {
+ PyErr_Format(PyExc_AttributeError,
+ "vector.%c = x: unavailable on %dd vector",
+ *(((char *)"xyzw") + i), self->size);
+ }
+ else {
+ PyErr_SetString(PyExc_IndexError,
+ "vector[index] = x: "
+ "assignment index out of range");
+ }
return -1;
}
self->vec[i] = scalar;
@@ -904,7 +953,9 @@ static PyObject *Vector_add(PyObject *v1, PyObject *v2)
float vec[MAX_DIMENSIONS];
if (!VectorObject_Check(v1) || !VectorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Vector addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector addition: "
+ "arguments not valid for this operation");
return NULL;
}
vec1 = (VectorObject*)v1;
@@ -915,7 +966,9 @@ static PyObject *Vector_add(PyObject *v1, PyObject *v2)
/*VECTOR + VECTOR*/
if(vec1->size != vec2->size) {
- PyErr_SetString(PyExc_AttributeError, "Vector addition: vectors must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector addition: "
+ "vectors must have the same dimensions for this operation");
return NULL;
}
@@ -930,14 +983,18 @@ static PyObject *Vector_iadd(PyObject *v1, PyObject *v2)
VectorObject *vec1 = NULL, *vec2 = NULL;
if (!VectorObject_Check(v1) || !VectorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Vector addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector addition: "
+ "arguments not valid for this operation");
return NULL;
}
vec1 = (VectorObject*)v1;
vec2 = (VectorObject*)v2;
if(vec1->size != vec2->size) {
- PyErr_SetString(PyExc_AttributeError, "Vector addition: vectors must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector addition: "
+ "vectors must have the same dimensions for this operation");
return NULL;
}
@@ -958,7 +1015,9 @@ static PyObject *Vector_sub(PyObject *v1, PyObject *v2)
float vec[MAX_DIMENSIONS];
if (!VectorObject_Check(v1) || !VectorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Vector subtraction: arguments not valid for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector subtraction: "
+ "arguments not valid for this operation");
return NULL;
}
vec1 = (VectorObject*)v1;
@@ -968,7 +1027,9 @@ static PyObject *Vector_sub(PyObject *v1, PyObject *v2)
return NULL;
if(vec1->size != vec2->size) {
- PyErr_SetString(PyExc_AttributeError, "Vector subtraction: vectors must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector subtraction: "
+ "vectors must have the same dimensions for this operation");
return NULL;
}
@@ -983,14 +1044,18 @@ static PyObject *Vector_isub(PyObject *v1, PyObject *v2)
VectorObject *vec1= NULL, *vec2= NULL;
if (!VectorObject_Check(v1) || !VectorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Vector subtraction: arguments not valid for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector subtraction: "
+ "arguments not valid for this operation");
return NULL;
}
vec1 = (VectorObject*)v1;
vec2 = (VectorObject*)v2;
if(vec1->size != vec2->size) {
- PyErr_SetString(PyExc_AttributeError, "Vector subtraction: vectors must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector subtraction: "
+ "vectors must have the same dimensions for this operation");
return NULL;
}
@@ -1016,7 +1081,7 @@ static PyObject *Vector_isub(PyObject *v1, PyObject *v2)
* note: vector/matrix multiplication IS NOT COMMUTATIVE!!!!
* note: assume read callbacks have been done first.
*/
-static int column_vector_multiplication(float rvec[MAX_DIMENSIONS], VectorObject* vec, MatrixObject * mat)
+int column_vector_multiplication(float rvec[MAX_DIMENSIONS], VectorObject* vec, MatrixObject * mat)
{
float vec_cpy[MAX_DIMENSIONS];
double dot = 0.0f;
@@ -1027,7 +1092,10 @@ static int column_vector_multiplication(float rvec[MAX_DIMENSIONS], VectorObject
vec_cpy[3] = 1.0f;
}
else {
- PyErr_SetString(PyExc_AttributeError, "matrix * vector: matrix.row_size and len(vector) must be the same, except for 3D vector * 4x4 matrix.");
+ PyErr_SetString(PyExc_TypeError,
+ "matrix * vector: "
+ "matrix.row_size and len(vector) must be the same, "
+ "except for 3D vector * 4x4 matrix.");
return -1;
}
}
@@ -1077,7 +1145,9 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2)
double dot = 0.0f;
if(vec1->size != vec2->size) {
- PyErr_SetString(PyExc_AttributeError, "Vector multiplication: vectors must have the same dimensions for this operation");
+ PyErr_SetString(PyExc_ValueError,
+ "Vector multiplication: "
+ "vectors must have the same dimensions for this operation");
return NULL;
}
@@ -1089,8 +1159,19 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2)
}
else if (vec1) {
if (MatrixObject_Check(v2)) {
+
+/* ------ to be removed ------*/
+#if 1
+ PyErr_SetString(PyExc_ValueError,
+ "(Vector * Matrix) is now removed, reverse the "
+ "order (promoted to an Error for Debug builds)");
+ return NULL;
+#else
+
/* VEC * MATRIX */
+ /* this is deprecated!, use the reverse instead */
float tvec[MAX_DIMENSIONS];
+
if(BaseMath_ReadCallback((MatrixObject *)v2) == -1)
return NULL;
if(column_vector_multiplication(tvec, vec1, (MatrixObject*)v2) == -1) {
@@ -1098,22 +1179,36 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2)
}
return newVectorObject(tvec, vec1->size, Py_NEW, Py_TYPE(vec1));
+#endif
+/* ------ to be removed ------*/
}
else if (QuaternionObject_Check(v2)) {
/* VEC * QUAT */
+/* ------ to be removed ------*/
+#if 1
+ PyErr_SetString(PyExc_ValueError,
+ "(Vector * Quat) is now removed, reverse the "
+ "order (promoted to an Error for Debug builds)");
+ return NULL;
+#else
QuaternionObject *quat2 = (QuaternionObject*)v2;
float tvec[3];
if(vec1->size != 3) {
- PyErr_SetString(PyExc_TypeError, "Vector multiplication: only 3D vector rotations (with quats) currently supported");
+ PyErr_SetString(PyExc_ValueError,
+ "Vector multiplication: "
+ "only 3D vector rotations (with quats) currently supported");
return NULL;
}
if(BaseMath_ReadCallback(quat2) == -1) {
return NULL;
}
+
copy_v3_v3(tvec, vec1->vec);
mul_qt_v3(quat2->quat, tvec);
return newVectorObject(tvec, 3, Py_NEW, Py_TYPE(vec1));
+#endif
+/* ------ to be removed ------*/
}
else if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* VEC * FLOAT */
return vector_mul_float(vec1, scalar);
@@ -1128,7 +1223,10 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2)
BLI_assert(!"internal error");
}
- PyErr_Format(PyExc_TypeError, "Vector multiplication: not supported between '%.200s' and '%.200s' types", Py_TYPE(v1)->tp_name, Py_TYPE(v2)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "Vector multiplication: "
+ "not supported between '%.200s' and '%.200s' types",
+ Py_TYPE(v1)->tp_name, Py_TYPE(v2)->tp_name);
return NULL;
}
@@ -1144,6 +1242,14 @@ static PyObject *Vector_imul(PyObject *v1, PyObject *v2)
/* only support vec*=float and vec*=mat
vec*=vec result is a float so that wont work */
if (MatrixObject_Check(v2)) {
+/* ------ to be removed ------*/
+#if 1
+ PyErr_SetString(PyExc_ValueError,
+ "(Vector *= Matrix) is now removed, reverse the "
+ "order (promoted to an Error for Debug builds) "
+ "and uses the non in-place multiplication.");
+ return NULL;
+#else
float rvec[MAX_DIMENSIONS];
if(BaseMath_ReadCallback((MatrixObject *)v2) == -1)
return NULL;
@@ -1152,26 +1258,44 @@ static PyObject *Vector_imul(PyObject *v1, PyObject *v2)
return NULL;
memcpy(vec->vec, rvec, sizeof(float) * vec->size);
+#endif
+/* ------ to be removed ------*/
}
else if (QuaternionObject_Check(v2)) {
/* VEC *= QUAT */
+
+/* ------ to be removed ------*/
+#if 1
+ PyErr_SetString(PyExc_ValueError,
+ "(Vector *= Quat) is now removed, reverse the "
+ "order (promoted to an Error for Debug builds) "
+ "and uses the non in-place multiplication.");
+ return NULL;
+#else
QuaternionObject *quat2 = (QuaternionObject*)v2;
if(vec->size != 3) {
- PyErr_SetString(PyExc_TypeError, "Vector multiplication: only 3D vector rotations (with quats) currently supported");
+ PyErr_SetString(PyExc_ValueError,
+ "Vector multiplication: "
+ "only 3D vector rotations (with quats) currently supported");
return NULL;
}
if(BaseMath_ReadCallback(quat2) == -1) {
return NULL;
}
+
mul_qt_v3(quat2->quat, vec->vec);
+#endif
+/* ------ to be removed ------*/
}
else if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* VEC *= FLOAT */
mul_vn_fl(vec->vec, vec->size, scalar);
}
else {
- PyErr_SetString(PyExc_TypeError, "Vector multiplication: arguments not acceptable for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Vector multiplication: "
+ "arguments not acceptable for this operation");
return NULL;
}
@@ -1188,7 +1312,9 @@ static PyObject *Vector_div(PyObject *v1, PyObject *v2)
VectorObject *vec1 = NULL;
if(!VectorObject_Check(v1)) { /* not a vector */
- PyErr_SetString(PyExc_TypeError, "Vector division: Vector must be divided by a float");
+ PyErr_SetString(PyExc_TypeError,
+ "Vector division: "
+ "Vector must be divided by a float");
return NULL;
}
vec1 = (VectorObject*)v1; /* vector */
@@ -1197,12 +1323,16 @@ static PyObject *Vector_div(PyObject *v1, PyObject *v2)
return NULL;
if((scalar=PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred()) { /* parsed item not a number */
- PyErr_SetString(PyExc_TypeError, "Vector division: Vector must be divided by a float");
+ PyErr_SetString(PyExc_TypeError,
+ "Vector division: "
+ "Vector must be divided by a float");
return NULL;
}
if(scalar==0.0f) {
- PyErr_SetString(PyExc_ZeroDivisionError, "Vector division: divide by zero error");
+ PyErr_SetString(PyExc_ZeroDivisionError,
+ "Vector division: "
+ "divide by zero error");
return NULL;
}
@@ -1223,12 +1353,16 @@ static PyObject *Vector_idiv(PyObject *v1, PyObject *v2)
return NULL;
if((scalar=PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred()) { /* parsed item not a number */
- PyErr_SetString(PyExc_TypeError, "Vector division: Vector must be divided by a float");
+ PyErr_SetString(PyExc_TypeError,
+ "Vector division: "
+ "Vector must be divided by a float");
return NULL;
}
if(scalar==0.0f) {
- PyErr_SetString(PyExc_ZeroDivisionError, "Vector division: divide by zero error");
+ PyErr_SetString(PyExc_ZeroDivisionError,
+ "Vector division: "
+ "divide by zero error");
return NULL;
}
for(i = 0; i < vec1->size; i++) {
@@ -1394,12 +1528,15 @@ static PyObject *Vector_subscript(VectorObject* self, PyObject* item)
return Vector_slice(self, start, stop);
}
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with vectors");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with vectors");
return NULL;
}
}
else {
- PyErr_Format(PyExc_TypeError, "vector indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "vector indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return NULL;
}
}
@@ -1423,12 +1560,15 @@ static int Vector_ass_subscript(VectorObject* self, PyObject* item, PyObject* va
if (step == 1)
return Vector_ass_slice(self, start, stop, value);
else {
- PyErr_SetString(PyExc_TypeError, "slice steps not supported with vectors");
+ PyErr_SetString(PyExc_IndexError,
+ "slice steps not supported with vectors");
return -1;
}
}
else {
- PyErr_Format(PyExc_TypeError, "vector indices must be integers, not %.200s", Py_TYPE(item)->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "vector indices must be integers, not %.200s",
+ Py_TYPE(item)->tp_name);
return -1;
}
}
@@ -1517,12 +1657,14 @@ static int Vector_setLength(VectorObject *self, PyObject *value)
return -1;
if((param=PyFloat_AsDouble(value)) == -1.0 && PyErr_Occurred()) {
- PyErr_SetString(PyExc_TypeError, "length must be set to a number");
+ PyErr_SetString(PyExc_TypeError,
+ "length must be set to a number");
return -1;
}
if (param < 0.0) {
- PyErr_SetString(PyExc_TypeError, "cannot set a vectors length to a negative value");
+ PyErr_SetString(PyExc_ValueError,
+ "cannot set a vectors length to a negative value");
return -1;
}
if (param == 0.0) {
@@ -1553,6 +1695,21 @@ static int Vector_setLength(VectorObject *self, PyObject *value)
return 0;
}
+/* vector.length_squared */
+static PyObject *Vector_getLengthSquared(VectorObject *self, void *UNUSED(closure))
+{
+ double dot = 0.0f;
+ int i;
+
+ if(BaseMath_ReadCallback(self) == -1)
+ return NULL;
+
+ for(i = 0; i < self->size; i++){
+ dot += (double)(self->vec[i] * self->vec[i]);
+ }
+ return PyFloat_FromDouble(dot);
+}
+
/* Get a new Vector according to the provided swizzle. This function has little
error checking, as we are in control of the inputs: the closure is set by us
in Vector_createSwizzleGetSeter. */
@@ -1573,7 +1730,9 @@ static PyObject *Vector_getSwizzle(VectorObject *self, void *closure)
{
axis_from = swizzleClosure & SWIZZLE_AXIS;
if(axis_from >= self->size) {
- PyErr_SetString(PyExc_AttributeError, "Error: vector does not have specified axis");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector swizzle: "
+ "specified axis not present");
return NULL;
}
@@ -1615,12 +1774,13 @@ static int Vector_setSwizzle(VectorObject *self, PyObject *value, void *closure)
swizzles defined for axes z and w, but they would be invalid. */
swizzleClosure = GET_INT_FROM_POINTER(closure);
axis_from= 0;
- while (swizzleClosure & SWIZZLE_VALID_AXIS)
- {
+ while (swizzleClosure & SWIZZLE_VALID_AXIS) {
axis_to = swizzleClosure & SWIZZLE_AXIS;
if (axis_to >= self->size)
{
- PyErr_SetString(PyExc_AttributeError, "Error: vector does not have specified axis");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector swizzle: "
+ "specified axis not present");
return -1;
}
swizzleClosure = swizzleClosure >> SWIZZLE_BITS_PER_AXIS;
@@ -1634,12 +1794,13 @@ static int Vector_setSwizzle(VectorObject *self, PyObject *value, void *closure)
size_from= axis_from;
}
- else if((size_from=mathutils_array_parse(vec_assign, 2, 4, value, "mathutils.Vector.**** = swizzle assignment")) == -1) {
+ else if(PyErr_Clear(), (size_from=mathutils_array_parse(vec_assign, 2, 4, value, "mathutils.Vector.**** = swizzle assignment")) == -1) {
return -1;
}
if(axis_from != size_from) {
- PyErr_SetString(PyExc_AttributeError, "Error: vector size does not match swizzle");
+ PyErr_SetString(PyExc_AttributeError,
+ "Vector swizzle: size does not match swizzle");
return -1;
}
@@ -1672,6 +1833,7 @@ static PyGetSetDef Vector_getseters[] = {
{(char *)"z", (getter)Vector_getAxis, (setter)Vector_setAxis, (char *)"Vector Z axis (3D Vectors only).\n\n:type: float", (void *)2},
{(char *)"w", (getter)Vector_getAxis, (setter)Vector_setAxis, (char *)"Vector W axis (4D Vectors only).\n\n:type: float", (void *)3},
{(char *)"length", (getter)Vector_getLength, (setter)Vector_setLength, (char *)"Vector Length.\n\n:type: float", NULL},
+ {(char *)"length_squared", (getter)Vector_getLengthSquared, (setter)NULL, (char *)"Vector length squared (v.dot(v)).\n\n:type: float", NULL},
{(char *)"magnitude", (getter)Vector_getLength, (setter)Vector_setLength, (char *)"Vector Length.\n\n:type: float", NULL},
{(char *)"is_wrapped", (getter)BaseMathObject_getWrapped, (setter)NULL, (char *)BaseMathObject_Wrapped_doc, NULL},
{(char *)"owner", (getter)BaseMathObject_getOwner, (setter)NULL, (char *)BaseMathObject_Owner_doc, NULL},
@@ -2071,7 +2233,9 @@ static int row_vector_multiplication(float rvec[4], VectorObject* vec, MatrixObj
if(mat->colSize != vec_size){
if(mat->colSize == 4 && vec_size != 3){
- PyErr_SetString(PyExc_AttributeError, "vector * matrix: matrix column size and the vector size must be the same");
+ PyErr_SetString(PyExc_ValueError,
+ "vector * matrix: matrix column size "
+ "and the vector size must be the same");
return -1;
}
else {
@@ -2252,7 +2416,8 @@ PyObject *newVectorObject(float *vec, const int size, const int type, PyTypeObje
VectorObject *self;
if(size > 4 || size < 2) {
- PyErr_SetString(PyExc_RuntimeError, "Vector(): invalid size");
+ PyErr_SetString(PyExc_RuntimeError,
+ "Vector(): invalid size");
return NULL;
}
@@ -2284,8 +2449,7 @@ PyObject *newVectorObject(float *vec, const int size, const int type, PyTypeObje
self->wrapped = Py_NEW;
}
else {
- PyErr_SetString(PyExc_RuntimeError, "Vector(): invalid type");
- return NULL;
+ Py_FatalError("Vector(): invalid type!");
}
}
return (PyObject *) self;
diff --git a/source/blender/python/generic/mathutils_Vector.h b/source/blender/python/mathutils/mathutils_Vector.h
index 0ede836ce44..0ede836ce44 100644
--- a/source/blender/python/generic/mathutils_Vector.h
+++ b/source/blender/python/mathutils/mathutils_Vector.h
diff --git a/source/blender/python/generic/mathutils_geometry.c b/source/blender/python/mathutils/mathutils_geometry.c
index 53c066d1a85..bcdfe020e1a 100644
--- a/source/blender/python/generic/mathutils_geometry.c
+++ b/source/blender/python/mathutils/mathutils_geometry.c
@@ -1,4 +1,4 @@
-/*
+/*
* $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
@@ -37,16 +37,16 @@
#include "mathutils_geometry.h"
/* Used for PolyFill */
-#include "MEM_guardedalloc.h"
+#ifndef MATH_STANDALONE /* define when building outside blender */
+# include "MEM_guardedalloc.h"
+# include "BLI_blenlib.h"
+# include "BLI_boxpack2d.h"
+# include "BKE_displist.h"
+# include "BKE_curve.h"
+#endif
-#include "BLI_blenlib.h"
-#include "BLI_boxpack2d.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
-
-#include "BKE_displist.h"
-
-#include "BKE_curve.h"
#define SWAP_FLOAT(a, b, tmp) tmp=a; a=b; b=tmp
#define eps 0.000001
@@ -90,7 +90,8 @@ static PyObject *M_Geometry_intersect_ray_tri(PyObject *UNUSED(self), PyObject*
return NULL;
}
if(vec1->size != 3 || vec2->size != 3 || vec3->size != 3 || ray->size != 3 || ray_off->size != 3) {
- PyErr_SetString(PyExc_ValueError, "only 3D vectors for all parameters");
+ PyErr_SetString(PyExc_ValueError,
+ "only 3D vectors for all parameters");
return NULL;
}
@@ -177,7 +178,8 @@ static PyObject *M_Geometry_intersect_line_line(PyObject *UNUSED(self), PyObject
return NULL;
}
if(vec1->size != vec2->size || vec1->size != vec3->size || vec3->size != vec2->size) {
- PyErr_SetString(PyExc_ValueError,"vectors must be of the same size");
+ PyErr_SetString(PyExc_ValueError,
+ "vectors must be of the same size");
return NULL;
}
@@ -225,7 +227,8 @@ static PyObject *M_Geometry_intersect_line_line(PyObject *UNUSED(self), PyObject
}
}
else {
- PyErr_SetString(PyExc_ValueError, "2D/3D vectors only");
+ PyErr_SetString(PyExc_ValueError,
+ "2D/3D vectors only");
return NULL;
}
}
@@ -259,11 +262,13 @@ static PyObject *M_Geometry_normal(PyObject *UNUSED(self), PyObject* args)
return NULL;
}
if(vec1->size != vec2->size || vec1->size != vec3->size) {
- PyErr_SetString(PyExc_ValueError, "vectors must be of the same size");
+ PyErr_SetString(PyExc_ValueError,
+ "vectors must be of the same size");
return NULL;
}
if(vec1->size < 3) {
- PyErr_SetString(PyExc_ValueError, "2D vectors unsupported");
+ PyErr_SetString(PyExc_ValueError,
+ "2D vectors unsupported");
return NULL;
}
@@ -277,11 +282,13 @@ static PyObject *M_Geometry_normal(PyObject *UNUSED(self), PyObject* args)
return NULL;
}
if(vec1->size != vec2->size || vec1->size != vec3->size || vec1->size != vec4->size) {
- PyErr_SetString(PyExc_ValueError,"vectors must be of the same size");
+ PyErr_SetString(PyExc_ValueError,
+ "vectors must be of the same size");
return NULL;
}
if(vec1->size < 3) {
- PyErr_SetString(PyExc_ValueError, "2D vectors unsupported");
+ PyErr_SetString(PyExc_ValueError,
+ "2D vectors unsupported");
return NULL;
}
@@ -318,7 +325,8 @@ static PyObject *M_Geometry_area_tri(PyObject *UNUSED(self), PyObject* args)
}
if(vec1->size != vec2->size || vec1->size != vec3->size) {
- PyErr_SetString(PyExc_ValueError, "vectors must be of the same size");
+ PyErr_SetString(PyExc_ValueError,
+ "vectors must be of the same size");
return NULL;
}
@@ -332,131 +340,12 @@ static PyObject *M_Geometry_area_tri(PyObject *UNUSED(self), PyObject* args)
return PyFloat_FromDouble(area_tri_v2(vec1->vec, vec2->vec, vec3->vec));
}
else {
- PyErr_SetString(PyExc_ValueError, "only 2D,3D vectors are supported");
+ PyErr_SetString(PyExc_ValueError,
+ "only 2D,3D vectors are supported");
return NULL;
}
}
-/*----------------------------------geometry.PolyFill() -------------------*/
-PyDoc_STRVAR(M_Geometry_tesselate_polygon_doc,
-".. function:: tesselate_polygon(veclist_list)\n"
-"\n"
-" Takes a list of polylines (each point a vector) and returns the point indices for a polyline filled with triangles.\n"
-"\n"
-" :arg veclist_list: list of polylines\n"
-" :rtype: list\n"
-);
-/* PolyFill function, uses Blenders scanfill to fill multiple poly lines */
-static PyObject *M_Geometry_tesselate_polygon(PyObject *UNUSED(self), PyObject *polyLineSeq)
-{
- PyObject *tri_list; /*return this list of tri's */
- PyObject *polyLine, *polyVec;
- int i, len_polylines, len_polypoints, ls_error= 0;
-
- /* display listbase */
- ListBase dispbase={NULL, NULL};
- DispList *dl;
- float *fp; /*pointer to the array of malloced dl->verts to set the points from the vectors */
- int index, *dl_face, totpoints=0;
-
- if(!PySequence_Check(polyLineSeq)) {
- PyErr_SetString(PyExc_TypeError, "expected a sequence of poly lines");
- return NULL;
- }
-
- len_polylines= PySequence_Size(polyLineSeq);
-
- for(i= 0; i < len_polylines; ++i) {
- polyLine= PySequence_GetItem(polyLineSeq, i);
- if (!PySequence_Check(polyLine)) {
- freedisplist(&dispbase);
- Py_XDECREF(polyLine); /* may be null so use Py_XDECREF*/
- PyErr_SetString(PyExc_TypeError, "One or more of the polylines is not a sequence of mathutils.Vector's");
- return NULL;
- }
-
- len_polypoints= PySequence_Size(polyLine);
- if (len_polypoints>0) { /* dont bother adding edges as polylines */
-#if 0
- if (EXPP_check_sequence_consistency(polyLine, &vector_Type) != 1) {
- freedisplist(&dispbase);
- Py_DECREF(polyLine);
- PyErr_SetString(PyExc_TypeError, "A point in one of the polylines is not a mathutils.Vector type");
- return NULL;
- }
-#endif
- dl= MEM_callocN(sizeof(DispList), "poly disp");
- BLI_addtail(&dispbase, dl);
- dl->type= DL_INDEX3;
- dl->nr= len_polypoints;
- dl->type= DL_POLY;
- dl->parts= 1; /* no faces, 1 edge loop */
- dl->col= 0; /* no material */
- dl->verts= fp= MEM_callocN(sizeof(float)*3*len_polypoints, "dl verts");
- dl->index= MEM_callocN(sizeof(int)*3*len_polypoints, "dl index");
-
- for(index= 0; index<len_polypoints; ++index, fp+=3) {
- polyVec= PySequence_GetItem(polyLine, index);
- if(VectorObject_Check(polyVec)) {
-
- if(BaseMath_ReadCallback((VectorObject *)polyVec) == -1)
- ls_error= 1;
-
- fp[0]= ((VectorObject *)polyVec)->vec[0];
- fp[1]= ((VectorObject *)polyVec)->vec[1];
- if(((VectorObject *)polyVec)->size > 2)
- fp[2]= ((VectorObject *)polyVec)->vec[2];
- else
- fp[2]= 0.0f; /* if its a 2d vector then set the z to be zero */
- }
- else {
- ls_error= 1;
- }
-
- totpoints++;
- Py_DECREF(polyVec);
- }
- }
- Py_DECREF(polyLine);
- }
-
- if(ls_error) {
- freedisplist(&dispbase); /* possible some dl was allocated */
- PyErr_SetString(PyExc_TypeError, "A point in one of the polylines is not a mathutils.Vector type");
- return NULL;
- }
- else if (totpoints) {
- /* now make the list to return */
- filldisplist(&dispbase, &dispbase, 0);
-
- /* The faces are stored in a new DisplayList
- thats added to the head of the listbase */
- dl= dispbase.first;
-
- tri_list= PyList_New(dl->parts);
- if(!tri_list) {
- freedisplist(&dispbase);
- PyErr_SetString(PyExc_RuntimeError, "geometry.PolyFill failed to make a new list");
- return NULL;
- }
-
- index= 0;
- dl_face= dl->index;
- while(index < dl->parts) {
- PyList_SET_ITEM(tri_list, index, Py_BuildValue("iii", dl_face[0], dl_face[1], dl_face[2]));
- dl_face+= 3;
- index++;
- }
- freedisplist(&dispbase);
- }
- else {
- /* no points, do this so scripts dont barf */
- freedisplist(&dispbase); /* possible some dl was allocated */
- tri_list= PyList_New(0);
- }
-
- return tri_list;
-}
PyDoc_STRVAR(M_Geometry_intersect_line_line_2d_doc,
".. function:: intersect_line_line_2d(lineA_p1, lineA_p2, lineB_p1, lineB_p2)\n"
@@ -522,7 +411,7 @@ static PyObject *M_Geometry_intersect_line_plane(PyObject *UNUSED(self), PyObjec
VectorObject *line_a, *line_b, *plane_co, *plane_no;
int no_flip= 0;
float isect[3];
- if(!PyArg_ParseTuple(args, "O!O!O!O!|i:intersect_line_line_2d",
+ if(!PyArg_ParseTuple(args, "O!O!O!O!|i:intersect_line_plane",
&vector_Type, &line_a,
&vector_Type, &line_b,
&vector_Type, &plane_co,
@@ -541,7 +430,9 @@ static PyObject *M_Geometry_intersect_line_plane(PyObject *UNUSED(self), PyObjec
}
if(ELEM4(2, line_a->size, line_b->size, plane_co->size, plane_no->size)) {
- PyErr_SetString(PyExc_RuntimeError, "geometry.intersect_line_plane(...) can't use 2D Vectors");
+ PyErr_SetString(PyExc_ValueError,
+ "geometry.intersect_line_plane(...): "
+ " can't use 2D Vectors");
return NULL;
}
@@ -553,6 +444,159 @@ static PyObject *M_Geometry_intersect_line_plane(PyObject *UNUSED(self), PyObjec
}
}
+
+PyDoc_STRVAR(M_Geometry_intersect_line_sphere_doc,
+".. function:: intersect_line_sphere(line_a, line_b, sphere_co, sphere_radius, clip=True)\n"
+"\n"
+" Takes a lines (as 2 vectors), a sphere as a point and a radius and\n"
+" returns the intersection\n"
+"\n"
+" :arg line_a: First point of the first line\n"
+" :type line_a: :class:`mathutils.Vector`\n"
+" :arg line_b: Second point of the first line\n"
+" :type line_b: :class:`mathutils.Vector`\n"
+" :arg sphere_co: The center of the sphere\n"
+" :type sphere_co: :class:`mathutils.Vector`\n"
+" :arg sphere_radius: Radius of the sphere\n"
+" :type sphere_radius: sphere_radius\n"
+" :return: The intersection points as a pair of vectors or None when there is no intersection\n"
+" :rtype: A tuple pair containing :class:`mathutils.Vector` or None\n"
+);
+static PyObject *M_Geometry_intersect_line_sphere(PyObject *UNUSED(self), PyObject* args)
+{
+ VectorObject *line_a, *line_b, *sphere_co;
+ float sphere_radius;
+ int clip= TRUE;
+
+ float isect_a[3];
+ float isect_b[3];
+
+ if(!PyArg_ParseTuple(args, "O!O!O!f|i:intersect_line_sphere",
+ &vector_Type, &line_a,
+ &vector_Type, &line_b,
+ &vector_Type, &sphere_co,
+ &sphere_radius, &clip)
+ ) {
+ return NULL;
+ }
+
+ if( BaseMath_ReadCallback(line_a) == -1 ||
+ BaseMath_ReadCallback(line_b) == -1 ||
+ BaseMath_ReadCallback(sphere_co) == -1
+ ) {
+ return NULL;
+ }
+
+ if(ELEM3(2, line_a->size, line_b->size, sphere_co->size)) {
+ PyErr_SetString(PyExc_ValueError,
+ "geometry.intersect_line_sphere(...): "
+ " can't use 2D Vectors");
+ return NULL;
+ }
+ else {
+ short use_a= TRUE;
+ short use_b= TRUE;
+ float lambda;
+
+ PyObject *ret= PyTuple_New(2);
+
+ switch(isect_line_sphere_v3(line_a->vec, line_b->vec, sphere_co->vec, sphere_radius, isect_a, isect_b)) {
+ case 1:
+ if(!(!clip || (((lambda= line_point_factor_v3(isect_a, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_a= FALSE;
+ use_b= FALSE;
+ break;
+ case 2:
+ if(!(!clip || (((lambda= line_point_factor_v3(isect_a, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_a= FALSE;
+ if(!(!clip || (((lambda= line_point_factor_v3(isect_b, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_b= FALSE;
+ break;
+ default:
+ use_a= FALSE;
+ use_b= FALSE;
+ }
+
+ if(use_a) { PyTuple_SET_ITEM(ret, 0, newVectorObject(isect_a, 3, Py_NEW, NULL)); }
+ else { PyTuple_SET_ITEM(ret, 0, Py_None); Py_INCREF(Py_None); }
+
+ if(use_b) { PyTuple_SET_ITEM(ret, 1, newVectorObject(isect_b, 3, Py_NEW, NULL)); }
+ else { PyTuple_SET_ITEM(ret, 1, Py_None); Py_INCREF(Py_None); }
+
+ return ret;
+ }
+}
+
+/* keep in sync with M_Geometry_intersect_line_sphere */
+PyDoc_STRVAR(M_Geometry_intersect_line_sphere_2d_doc,
+".. function:: intersect_line_sphere_2d(line_a, line_b, sphere_co, sphere_radius, clip=True)\n"
+"\n"
+" Takes a lines (as 2 vectors), a sphere as a point and a radius and\n"
+" returns the intersection\n"
+"\n"
+" :arg line_a: First point of the first line\n"
+" :type line_a: :class:`mathutils.Vector`\n"
+" :arg line_b: Second point of the first line\n"
+" :type line_b: :class:`mathutils.Vector`\n"
+" :arg sphere_co: The center of the sphere\n"
+" :type sphere_co: :class:`mathutils.Vector`\n"
+" :arg sphere_radius: Radius of the sphere\n"
+" :type sphere_radius: sphere_radius\n"
+" :return: The intersection points as a pair of vectors or None when there is no intersection\n"
+" :rtype: A tuple pair containing :class:`mathutils.Vector` or None\n"
+);
+static PyObject *M_Geometry_intersect_line_sphere_2d(PyObject *UNUSED(self), PyObject* args)
+{
+ VectorObject *line_a, *line_b, *sphere_co;
+ float sphere_radius;
+ int clip= TRUE;
+
+ float isect_a[3];
+ float isect_b[3];
+
+ if(!PyArg_ParseTuple(args, "O!O!O!f|i:intersect_line_sphere_2d",
+ &vector_Type, &line_a,
+ &vector_Type, &line_b,
+ &vector_Type, &sphere_co,
+ &sphere_radius, &clip)
+ ) {
+ return NULL;
+ }
+
+ if( BaseMath_ReadCallback(line_a) == -1 ||
+ BaseMath_ReadCallback(line_b) == -1 ||
+ BaseMath_ReadCallback(sphere_co) == -1
+ ) {
+ return NULL;
+ }
+ else {
+ short use_a= TRUE;
+ short use_b= TRUE;
+ float lambda;
+
+ PyObject *ret= PyTuple_New(2);
+
+ switch(isect_line_sphere_v2(line_a->vec, line_b->vec, sphere_co->vec, sphere_radius, isect_a, isect_b)) {
+ case 1:
+ if(!(!clip || (((lambda= line_point_factor_v2(isect_a, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_a= FALSE;
+ use_b= FALSE;
+ break;
+ case 2:
+ if(!(!clip || (((lambda= line_point_factor_v2(isect_a, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_a= FALSE;
+ if(!(!clip || (((lambda= line_point_factor_v2(isect_b, line_a->vec, line_b->vec)) >= 0.0f) && (lambda <= 1.0f)))) use_b= FALSE;
+ break;
+ default:
+ use_a= FALSE;
+ use_b= FALSE;
+ }
+
+ if(use_a) { PyTuple_SET_ITEM(ret, 0, newVectorObject(isect_a, 2, Py_NEW, NULL)); }
+ else { PyTuple_SET_ITEM(ret, 0, Py_None); Py_INCREF(Py_None); }
+
+ if(use_b) { PyTuple_SET_ITEM(ret, 1, newVectorObject(isect_b, 2, Py_NEW, NULL)); }
+ else { PyTuple_SET_ITEM(ret, 1, Py_None); Py_INCREF(Py_None); }
+
+ return ret;
+ }
+}
+
PyDoc_STRVAR(M_Geometry_intersect_point_line_doc,
".. function:: intersect_point_line(pt, line_p1, line_p2)\n"
"\n"
@@ -674,110 +718,69 @@ static PyObject *M_Geometry_intersect_point_quad_2d(PyObject *UNUSED(self), PyOb
return PyLong_FromLong(isect_point_quad_v2(pt_vec->vec, quad_p1->vec, quad_p2->vec, quad_p3->vec, quad_p4->vec));
}
-static int boxPack_FromPyObject(PyObject *value, boxPack **boxarray)
-{
- int len, i;
- PyObject *list_item, *item_1, *item_2;
- boxPack *box;
-
-
- /* Error checking must already be done */
- if(!PyList_Check(value)) {
- PyErr_SetString(PyExc_TypeError, "can only back a list of [x, y, w, h]");
- return -1;
- }
-
- len= PyList_Size(value);
-
- (*boxarray)= MEM_mallocN(len*sizeof(boxPack), "boxPack box");
-
-
- for(i= 0; i < len; i++) {
- list_item= PyList_GET_ITEM(value, i);
- if(!PyList_Check(list_item) || PyList_Size(list_item) < 4) {
- MEM_freeN(*boxarray);
- PyErr_SetString(PyExc_TypeError, "can only pack a list of [x, y, w, h]");
- return -1;
- }
-
- box= (*boxarray)+i;
-
- item_1= PyList_GET_ITEM(list_item, 2);
- item_2= PyList_GET_ITEM(list_item, 3);
-
- box->w= (float)PyFloat_AsDouble(item_1);
- box->h= (float)PyFloat_AsDouble(item_2);
- box->index= i;
-
- if (box->w < 0.0f || box->h < 0.0f) {
- MEM_freeN(*boxarray);
- PyErr_SetString(PyExc_TypeError, "error parsing width and height values from list: [x, y, w, h], not numbers or below zero");
- return -1;
- }
-
- /* verts will be added later */
- }
- return 0;
-}
-
-static void boxPack_ToPyObject(PyObject *value, boxPack **boxarray)
-{
- int len, i;
- PyObject *list_item;
- boxPack *box;
-
- len= PyList_Size(value);
-
- for(i= 0; i < len; i++) {
- box= (*boxarray)+i;
- list_item= PyList_GET_ITEM(value, box->index);
- PyList_SET_ITEM(list_item, 0, PyFloat_FromDouble(box->x));
- PyList_SET_ITEM(list_item, 1, PyFloat_FromDouble(box->y));
- }
- MEM_freeN(*boxarray);
-}
-
-PyDoc_STRVAR(M_Geometry_box_pack_2d_doc,
-".. function:: box_pack_2d(boxes)\n"
+PyDoc_STRVAR(M_Geometry_barycentric_transform_doc,
+".. function:: barycentric_transform(point, tri_a1, tri_a2, tri_a3, tri_b1, tri_b2, tri_b3)\n"
"\n"
-" Returns the normal of the 3D tri or quad.\n"
+" Return a transformed point, the transformation is defined by 2 triangles.\n"
"\n"
-" :arg boxes: list of boxes, each box is a list where the first 4 items are [x, y, width, height, ...] other items are ignored.\n"
-" :type boxes: list\n"
-" :return: the width and height of the packed bounding box\n"
-" :rtype: tuple, pair of floats\n"
+" :arg point: The point to transform.\n"
+" :type point: :class:`mathutils.Vector`\n"
+" :arg tri_a1: source triangle vertex.\n"
+" :type tri_a1: :class:`mathutils.Vector`\n"
+" :arg tri_a2: source triangle vertex.\n"
+" :type tri_a2: :class:`mathutils.Vector`\n"
+" :arg tri_a3: source triangle vertex.\n"
+" :type tri_a3: :class:`mathutils.Vector`\n"
+" :arg tri_a1: target triangle vertex.\n"
+" :type tri_a1: :class:`mathutils.Vector`\n"
+" :arg tri_a2: target triangle vertex.\n"
+" :type tri_a2: :class:`mathutils.Vector`\n"
+" :arg tri_a3: target triangle vertex.\n"
+" :type tri_a3: :class:`mathutils.Vector`\n"
+" :return: The transformed point\n"
+" :rtype: :class:`mathutils.Vector`'s\n"
);
-static PyObject *M_Geometry_box_pack_2d(PyObject *UNUSED(self), PyObject *boxlist)
+static PyObject *M_Geometry_barycentric_transform(PyObject *UNUSED(self), PyObject *args)
{
- float tot_width= 0.0f, tot_height= 0.0f;
- int len;
+ VectorObject *vec_pt;
+ VectorObject *vec_t1_tar, *vec_t2_tar, *vec_t3_tar;
+ VectorObject *vec_t1_src, *vec_t2_src, *vec_t3_src;
+ float vec[3];
- PyObject *ret;
-
- if(!PyList_Check(boxlist)) {
- PyErr_SetString(PyExc_TypeError, "expected a list of boxes [[x, y, w, h], ... ]");
+ if(!PyArg_ParseTuple(args, "O!O!O!O!O!O!O!:barycentric_transform",
+ &vector_Type, &vec_pt,
+ &vector_Type, &vec_t1_src,
+ &vector_Type, &vec_t2_src,
+ &vector_Type, &vec_t3_src,
+ &vector_Type, &vec_t1_tar,
+ &vector_Type, &vec_t2_tar,
+ &vector_Type, &vec_t3_tar)
+ ) {
return NULL;
}
- len= PyList_GET_SIZE(boxlist);
- if (len) {
- boxPack *boxarray= NULL;
- if(boxPack_FromPyObject(boxlist, &boxarray) == -1) {
- return NULL; /* exception set */
- }
-
- /* Non Python function */
- boxPack2D(boxarray, len, &tot_width, &tot_height);
-
- boxPack_ToPyObject(boxlist, &boxarray);
+ if( vec_pt->size != 3 ||
+ vec_t1_src->size != 3 ||
+ vec_t2_src->size != 3 ||
+ vec_t3_src->size != 3 ||
+ vec_t1_tar->size != 3 ||
+ vec_t2_tar->size != 3 ||
+ vec_t3_tar->size != 3)
+ {
+ PyErr_SetString(PyExc_ValueError,
+ "One of more of the vector arguments wasn't a 3D vector");
+ return NULL;
}
- ret= PyTuple_New(2);
- PyTuple_SET_ITEM(ret, 0, PyFloat_FromDouble(tot_width));
- PyTuple_SET_ITEM(ret, 1, PyFloat_FromDouble(tot_width));
- return ret;
+ barycentric_transform(vec, vec_pt->vec,
+ vec_t1_tar->vec, vec_t2_tar->vec, vec_t3_tar->vec,
+ vec_t1_src->vec, vec_t2_src->vec, vec_t3_src->vec);
+
+ return newVectorObject(vec, 3, Py_NEW, NULL);
}
+#ifndef MATH_STANDALONE
+
PyDoc_STRVAR(M_Geometry_interpolate_bezier_doc,
".. function:: interpolate_bezier(knot1, handle1, handle2, knot2, resolution)\n"
"\n"
@@ -804,13 +807,13 @@ static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject*
int i;
float *coord_array, *fp;
PyObject *list;
-
+
float k1[4]= {0.0, 0.0, 0.0, 0.0};
float h1[4]= {0.0, 0.0, 0.0, 0.0};
float k2[4]= {0.0, 0.0, 0.0, 0.0};
float h2[4]= {0.0, 0.0, 0.0, 0.0};
-
-
+
+
if(!PyArg_ParseTuple(args, "O!O!O!O!i:interpolate_bezier",
&vector_Type, &vec_k1,
&vector_Type, &vec_h1,
@@ -821,7 +824,8 @@ static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject*
}
if(resolu <= 1) {
- PyErr_SetString(PyExc_ValueError, "resolution must be 2 or over");
+ PyErr_SetString(PyExc_ValueError,
+ "resolution must be 2 or over");
return NULL;
}
@@ -829,17 +833,17 @@ static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject*
return NULL;
dims= MAX4(vec_k1->size, vec_h1->size, vec_h2->size, vec_k2->size);
-
+
for(i=0; i < vec_k1->size; i++) k1[i]= vec_k1->vec[i];
for(i=0; i < vec_h1->size; i++) h1[i]= vec_h1->vec[i];
for(i=0; i < vec_k2->size; i++) k2[i]= vec_k2->vec[i];
for(i=0; i < vec_h2->size; i++) h2[i]= vec_h2->vec[i];
-
+
coord_array= MEM_callocN(dims * (resolu) * sizeof(float), "interpolate_bezier");
for(i=0; i<dims; i++) {
forward_diff_bezier(k1[i], h1[i], h2[i], k2[i], coord_array+i, resolu-1, sizeof(float)*dims);
}
-
+
list= PyList_New(resolu);
fp= coord_array;
for(i=0; i<resolu; i++, fp= fp+dims) {
@@ -849,66 +853,247 @@ static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject*
return list;
}
-PyDoc_STRVAR(M_Geometry_barycentric_transform_doc,
-".. function:: barycentric_transform(point, tri_a1, tri_a2, tri_a3, tri_b1, tri_b2, tri_b3)\n"
+
+PyDoc_STRVAR(M_Geometry_tesselate_polygon_doc,
+".. function:: tesselate_polygon(veclist_list)\n"
"\n"
-" Return a transformed point, the transformation is defined by 2 triangles.\n"
+" Takes a list of polylines (each point a vector) and returns the point indices for a polyline filled with triangles.\n"
"\n"
-" :arg point: The point to transform.\n"
-" :type point: :class:`mathutils.Vector`\n"
-" :arg tri_a1: source triangle vertex.\n"
-" :type tri_a1: :class:`mathutils.Vector`\n"
-" :arg tri_a2: source triangle vertex.\n"
-" :type tri_a2: :class:`mathutils.Vector`\n"
-" :arg tri_a3: source triangle vertex.\n"
-" :type tri_a3: :class:`mathutils.Vector`\n"
-" :arg tri_a1: target triangle vertex.\n"
-" :type tri_a1: :class:`mathutils.Vector`\n"
-" :arg tri_a2: target triangle vertex.\n"
-" :type tri_a2: :class:`mathutils.Vector`\n"
-" :arg tri_a3: target triangle vertex.\n"
-" :type tri_a3: :class:`mathutils.Vector`\n"
-" :return: The transformed point\n"
-" :rtype: :class:`mathutils.Vector`'s\n"
+" :arg veclist_list: list of polylines\n"
+" :rtype: list\n"
);
-static PyObject *M_Geometry_barycentric_transform(PyObject *UNUSED(self), PyObject *args)
+/* PolyFill function, uses Blenders scanfill to fill multiple poly lines */
+static PyObject *M_Geometry_tesselate_polygon(PyObject *UNUSED(self), PyObject *polyLineSeq)
{
- VectorObject *vec_pt;
- VectorObject *vec_t1_tar, *vec_t2_tar, *vec_t3_tar;
- VectorObject *vec_t1_src, *vec_t2_src, *vec_t3_src;
- float vec[3];
+ PyObject *tri_list; /*return this list of tri's */
+ PyObject *polyLine, *polyVec;
+ int i, len_polylines, len_polypoints, ls_error= 0;
- if(!PyArg_ParseTuple(args, "O!O!O!O!O!O!O!:barycentric_transform",
- &vector_Type, &vec_pt,
- &vector_Type, &vec_t1_src,
- &vector_Type, &vec_t2_src,
- &vector_Type, &vec_t3_src,
- &vector_Type, &vec_t1_tar,
- &vector_Type, &vec_t2_tar,
- &vector_Type, &vec_t3_tar)
- ) {
+ /* display listbase */
+ ListBase dispbase={NULL, NULL};
+ DispList *dl;
+ float *fp; /*pointer to the array of malloced dl->verts to set the points from the vectors */
+ int index, *dl_face, totpoints=0;
+
+ if(!PySequence_Check(polyLineSeq)) {
+ PyErr_SetString(PyExc_TypeError,
+ "expected a sequence of poly lines");
return NULL;
}
- if( vec_pt->size != 3 ||
- vec_t1_src->size != 3 ||
- vec_t2_src->size != 3 ||
- vec_t3_src->size != 3 ||
- vec_t1_tar->size != 3 ||
- vec_t2_tar->size != 3 ||
- vec_t3_tar->size != 3)
- {
- PyErr_SetString(PyExc_ValueError, "One of more of the vector arguments wasnt a 3D vector");
+ len_polylines= PySequence_Size(polyLineSeq);
+
+ for(i= 0; i < len_polylines; ++i) {
+ polyLine= PySequence_GetItem(polyLineSeq, i);
+ if (!PySequence_Check(polyLine)) {
+ freedisplist(&dispbase);
+ Py_XDECREF(polyLine); /* may be null so use Py_XDECREF*/
+ PyErr_SetString(PyExc_TypeError,
+ "One or more of the polylines is not a sequence of mathutils.Vector's");
+ return NULL;
+ }
+
+ len_polypoints= PySequence_Size(polyLine);
+ if (len_polypoints>0) { /* dont bother adding edges as polylines */
+#if 0
+ if (EXPP_check_sequence_consistency(polyLine, &vector_Type) != 1) {
+ freedisplist(&dispbase);
+ Py_DECREF(polyLine);
+ PyErr_SetString(PyExc_TypeError,
+ "A point in one of the polylines is not a mathutils.Vector type");
+ return NULL;
+ }
+#endif
+ dl= MEM_callocN(sizeof(DispList), "poly disp");
+ BLI_addtail(&dispbase, dl);
+ dl->type= DL_INDEX3;
+ dl->nr= len_polypoints;
+ dl->type= DL_POLY;
+ dl->parts= 1; /* no faces, 1 edge loop */
+ dl->col= 0; /* no material */
+ dl->verts= fp= MEM_callocN(sizeof(float)*3*len_polypoints, "dl verts");
+ dl->index= MEM_callocN(sizeof(int)*3*len_polypoints, "dl index");
+
+ for(index= 0; index<len_polypoints; ++index, fp+=3) {
+ polyVec= PySequence_GetItem(polyLine, index);
+ if(VectorObject_Check(polyVec)) {
+
+ if(BaseMath_ReadCallback((VectorObject *)polyVec) == -1)
+ ls_error= 1;
+
+ fp[0]= ((VectorObject *)polyVec)->vec[0];
+ fp[1]= ((VectorObject *)polyVec)->vec[1];
+ if(((VectorObject *)polyVec)->size > 2)
+ fp[2]= ((VectorObject *)polyVec)->vec[2];
+ else
+ fp[2]= 0.0f; /* if its a 2d vector then set the z to be zero */
+ }
+ else {
+ ls_error= 1;
+ }
+
+ totpoints++;
+ Py_DECREF(polyVec);
+ }
+ }
+ Py_DECREF(polyLine);
+ }
+
+ if(ls_error) {
+ freedisplist(&dispbase); /* possible some dl was allocated */
+ PyErr_SetString(PyExc_TypeError,
+ "A point in one of the polylines "
+ "is not a mathutils.Vector type");
return NULL;
}
+ else if (totpoints) {
+ /* now make the list to return */
+ filldisplist(&dispbase, &dispbase, 0);
- barycentric_transform(vec, vec_pt->vec,
- vec_t1_tar->vec, vec_t2_tar->vec, vec_t3_tar->vec,
- vec_t1_src->vec, vec_t2_src->vec, vec_t3_src->vec);
+ /* The faces are stored in a new DisplayList
+ thats added to the head of the listbase */
+ dl= dispbase.first;
- return newVectorObject(vec, 3, Py_NEW, NULL);
+ tri_list= PyList_New(dl->parts);
+ if(!tri_list) {
+ freedisplist(&dispbase);
+ PyErr_SetString(PyExc_RuntimeError,
+ "failed to make a new list");
+ return NULL;
+ }
+
+ index= 0;
+ dl_face= dl->index;
+ while(index < dl->parts) {
+ PyList_SET_ITEM(tri_list, index, Py_BuildValue("iii", dl_face[0], dl_face[1], dl_face[2]));
+ dl_face+= 3;
+ index++;
+ }
+ freedisplist(&dispbase);
+ }
+ else {
+ /* no points, do this so scripts dont barf */
+ freedisplist(&dispbase); /* possible some dl was allocated */
+ tri_list= PyList_New(0);
+ }
+
+ return tri_list;
+}
+
+
+static int boxPack_FromPyObject(PyObject *value, boxPack **boxarray)
+{
+ int len, i;
+ PyObject *list_item, *item_1, *item_2;
+ boxPack *box;
+
+
+ /* Error checking must already be done */
+ if(!PyList_Check(value)) {
+ PyErr_SetString(PyExc_TypeError,
+ "can only back a list of [x, y, w, h]");
+ return -1;
+ }
+
+ len= PyList_Size(value);
+
+ (*boxarray)= MEM_mallocN(len*sizeof(boxPack), "boxPack box");
+
+
+ for(i= 0; i < len; i++) {
+ list_item= PyList_GET_ITEM(value, i);
+ if(!PyList_Check(list_item) || PyList_Size(list_item) < 4) {
+ MEM_freeN(*boxarray);
+ PyErr_SetString(PyExc_TypeError,
+ "can only pack a list of [x, y, w, h]");
+ return -1;
+ }
+
+ box= (*boxarray)+i;
+
+ item_1= PyList_GET_ITEM(list_item, 2);
+ item_2= PyList_GET_ITEM(list_item, 3);
+
+ box->w= (float)PyFloat_AsDouble(item_1);
+ box->h= (float)PyFloat_AsDouble(item_2);
+ box->index= i;
+
+ /* accounts for error case too and overwrites with own error */
+ if (box->w < 0.0f || box->h < 0.0f) {
+ MEM_freeN(*boxarray);
+ PyErr_SetString(PyExc_TypeError,
+ "error parsing width and height values from list: "
+ "[x, y, w, h], not numbers or below zero");
+ return -1;
+ }
+
+ /* verts will be added later */
+ }
+ return 0;
+}
+
+static void boxPack_ToPyObject(PyObject *value, boxPack **boxarray)
+{
+ int len, i;
+ PyObject *list_item;
+ boxPack *box;
+
+ len= PyList_Size(value);
+
+ for(i= 0; i < len; i++) {
+ box= (*boxarray)+i;
+ list_item= PyList_GET_ITEM(value, box->index);
+ PyList_SET_ITEM(list_item, 0, PyFloat_FromDouble(box->x));
+ PyList_SET_ITEM(list_item, 1, PyFloat_FromDouble(box->y));
+ }
+ MEM_freeN(*boxarray);
}
+PyDoc_STRVAR(M_Geometry_box_pack_2d_doc,
+".. function:: box_pack_2d(boxes)\n"
+"\n"
+" Returns the normal of the 3D tri or quad.\n"
+"\n"
+" :arg boxes: list of boxes, each box is a list where the first 4 items are [x, y, width, height, ...] other items are ignored.\n"
+" :type boxes: list\n"
+" :return: the width and height of the packed bounding box\n"
+" :rtype: tuple, pair of floats\n"
+);
+static PyObject *M_Geometry_box_pack_2d(PyObject *UNUSED(self), PyObject *boxlist)
+{
+ float tot_width= 0.0f, tot_height= 0.0f;
+ int len;
+
+ PyObject *ret;
+
+ if(!PyList_Check(boxlist)) {
+ PyErr_SetString(PyExc_TypeError,
+ "expected a list of boxes [[x, y, w, h], ... ]");
+ return NULL;
+ }
+
+ len= PyList_GET_SIZE(boxlist);
+ if (len) {
+ boxPack *boxarray= NULL;
+ if(boxPack_FromPyObject(boxlist, &boxarray) == -1) {
+ return NULL; /* exception set */
+ }
+
+ /* Non Python function */
+ boxPack2D(boxarray, len, &tot_width, &tot_height);
+
+ boxPack_ToPyObject(boxlist, &boxarray);
+ }
+
+ ret= PyTuple_New(2);
+ PyTuple_SET_ITEM(ret, 0, PyFloat_FromDouble(tot_width));
+ PyTuple_SET_ITEM(ret, 1, PyFloat_FromDouble(tot_width));
+ return ret;
+}
+
+#endif /* MATH_STANDALONE */
+
+
static PyMethodDef M_Geometry_methods[]= {
{"intersect_ray_tri", (PyCFunction) M_Geometry_intersect_ray_tri, METH_VARARGS, M_Geometry_intersect_ray_tri_doc},
{"intersect_point_line", (PyCFunction) M_Geometry_intersect_point_line, METH_VARARGS, M_Geometry_intersect_point_line_doc},
@@ -917,12 +1102,16 @@ static PyMethodDef M_Geometry_methods[]= {
{"intersect_line_line", (PyCFunction) M_Geometry_intersect_line_line, METH_VARARGS, M_Geometry_intersect_line_line_doc},
{"intersect_line_line_2d", (PyCFunction) M_Geometry_intersect_line_line_2d, METH_VARARGS, M_Geometry_intersect_line_line_2d_doc},
{"intersect_line_plane", (PyCFunction) M_Geometry_intersect_line_plane, METH_VARARGS, M_Geometry_intersect_line_plane_doc},
- {"interpolate_bezier", (PyCFunction) M_Geometry_interpolate_bezier, METH_VARARGS, M_Geometry_interpolate_bezier_doc},
+ {"intersect_line_sphere", (PyCFunction) M_Geometry_intersect_line_sphere, METH_VARARGS, M_Geometry_intersect_line_sphere_doc},
+ {"intersect_line_sphere_2d", (PyCFunction) M_Geometry_intersect_line_sphere_2d, METH_VARARGS, M_Geometry_intersect_line_sphere_2d_doc},
{"area_tri", (PyCFunction) M_Geometry_area_tri, METH_VARARGS, M_Geometry_area_tri_doc},
{"normal", (PyCFunction) M_Geometry_normal, METH_VARARGS, M_Geometry_normal_doc},
+ {"barycentric_transform", (PyCFunction) M_Geometry_barycentric_transform, METH_VARARGS, M_Geometry_barycentric_transform_doc},
+#ifndef MATH_STANDALONE
+ {"interpolate_bezier", (PyCFunction) M_Geometry_interpolate_bezier, METH_VARARGS, M_Geometry_interpolate_bezier_doc},
{"tesselate_polygon", (PyCFunction) M_Geometry_tesselate_polygon, METH_O, M_Geometry_tesselate_polygon_doc},
{"box_pack_2d", (PyCFunction) M_Geometry_box_pack_2d, METH_O, M_Geometry_box_pack_2d_doc},
- {"barycentric_transform", (PyCFunction) M_Geometry_barycentric_transform, METH_VARARGS, M_Geometry_barycentric_transform_doc},
+#endif
{NULL, NULL, 0, NULL}
};
@@ -939,7 +1128,7 @@ static struct PyModuleDef M_Geometry_module_def= {
};
/*----------------------------MODULE INIT-------------------------*/
-PyMODINIT_FUNC BPyInit_mathutils_geometry(void)
+PyMODINIT_FUNC PyInit_mathutils_geometry(void)
{
PyObject *submodule= PyModule_Create(&M_Geometry_module_def);
return submodule;
diff --git a/source/blender/python/generic/mathutils_geometry.h b/source/blender/python/mathutils/mathutils_geometry.h
index 929b8cc8d75..c963a63ce7f 100644
--- a/source/blender/python/generic/mathutils_geometry.h
+++ b/source/blender/python/mathutils/mathutils_geometry.h
@@ -38,6 +38,6 @@
#include "mathutils.h"
-PyMODINIT_FUNC BPyInit_mathutils_geometry(void);
+PyMODINIT_FUNC PyInit_mathutils_geometry(void);
#endif /* MATHUTILS_GEOMETRY_H */
diff --git a/source/blender/quicktime/CMakeLists.txt b/source/blender/quicktime/CMakeLists.txt
index 3b70cf19a7f..b647466d2a8 100644
--- a/source/blender/quicktime/CMakeLists.txt
+++ b/source/blender/quicktime/CMakeLists.txt
@@ -26,24 +26,21 @@
set(INC
.
- ../quicktime
- ../makesdna
- ../makesrna
- ../blenlib
- ../blenkernel
../avi
+ ../blenkernel
+ ../blenlib
+ ../blenloader
../imbuf
../imbuf/intern
- ../blenloader
+ ../makesdna
+ ../makesrna
../render/extern/include
- ../include
../windowmanager
- ../../../intern/audaspace/intern
../../../intern/guardedalloc
)
set(INC_SYS
- ${QUICKTIME_INC}
+ ${QUICKTIME_INCLUDE_DIRS}
)
if(USE_QTKIT)
@@ -66,4 +63,11 @@ endif()
add_definitions(-DWITH_QUICKTIME)
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
blender_add_lib(bf_quicktime "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/quicktime/apple/qtkit_export.m b/source/blender/quicktime/apple/qtkit_export.m
index add280c6b64..c1b8688e1d7 100644
--- a/source/blender/quicktime/apple/qtkit_export.m
+++ b/source/blender/quicktime/apple/qtkit_export.m
@@ -38,7 +38,9 @@
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "BKE_global.h"
#include "BKE_main.h"
diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt
index aea377a35bb..90aef816e2c 100644
--- a/source/blender/render/CMakeLists.txt
+++ b/source/blender/render/CMakeLists.txt
@@ -24,21 +24,19 @@
#
# ***** END GPL LICENSE BLOCK *****
-# remove warning until render branch merged.
-remove_strict_flags()
set(INC
- intern/include
extern/include
+ intern/include
+ ../blenkernel
../blenlib
../blenloader
+ ../imbuf
../makesdna
../makesrna
- ../blenkernel
- ../imbuf
- ../../../intern/smoke/extern
- ../../../intern/mikktspace
../../../intern/guardedalloc
+ ../../../intern/mikktspace
+ ../../../intern/smoke/extern
)
set(INC_SYS
@@ -122,9 +120,17 @@ if(WITH_IMAGE_OPENEXR)
add_definitions(-DWITH_OPENEXR)
endif()
+if(WITH_MOD_SMOKE)
+ add_definitions(-DWITH_SMOKE)
+endif()
+
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../quicktime)
- list(APPEND INC_SYS ${QUICKTIME_INC})
+ list(APPEND INC
+ ../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
diff --git a/source/blender/render/SConscript b/source/blender/render/SConscript
index a402139b927..4ec1ce3de6b 100644
--- a/source/blender/render/SConscript
+++ b/source/blender/render/SConscript
@@ -14,6 +14,8 @@ cxxflags_raytrace = env['CXXFLAGS']
defs = []
defs_raytrace = []
+defs.append('WITH_SMOKE') # TODO, make optional
+
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'):
if env['WITH_BF_RAYOPTIMIZATION']:
cflags_raytrace = env['CCFLAGS'] + env['BF_RAYOPTIMIZATION_SSE_FLAGS']
@@ -29,7 +31,7 @@ if env['OURPLATFORM'] == 'darwin':
cflags_raytrace = env['CFLAGS'] + env['BF_RAYOPTIMIZATION_SSE_FLAGS']
cxxflags_raytrace = env['CXXFLAGS'] + env['BF_RAYOPTIMIZATION_SSE_FLAGS']
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
if env['WITH_BF_RAYOPTIMIZATION']:
cflags_raytrace = env['CCFLAGS'] + env['BF_RAYOPTIMIZATION_SSE_FLAGS']
cxxflags_raytrace = env['CXXFLAGS'] + env['BF_RAYOPTIMIZATION_SSE_FLAGS']
diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h
index 47230ab3089..97ffcd95473 100644
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@ -51,6 +51,7 @@ struct ReportList;
struct ReportList;
struct Scene;
struct SceneRenderLayer;
+struct EnvMap;
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* this include is what is exposed of render to outside world */
@@ -146,7 +147,7 @@ typedef struct RenderResult {
typedef struct RenderStats {
int cfra;
int totface, totvert, totstrand, tothalo, totlamp, totpart;
- short curfield, curblur, curpart, partsdone, convertdone;
+ short curfield, curblur, curpart, partsdone, convertdone, curfsa;
double starttime, lastframetime;
const char *infostr, *statstr;
char scenename[32];
@@ -218,15 +219,21 @@ void RE_TileProcessor(struct Render *re);
/* only RE_NewRender() needed, main Blender render calls */
void RE_BlenderFrame(struct Render *re, struct Main *bmain, struct Scene *scene, struct SceneRenderLayer *srl, struct Object *camera_override, unsigned int lay, int frame, const short write_still);
-void RE_BlenderAnim(struct Render *re, struct Main *bmain, struct Scene *scene, struct Object *camera_override, unsigned int lay, int sfra, int efra, int tfra, struct ReportList *reports);
+void RE_BlenderAnim(struct Render *re, struct Main *bmain, struct Scene *scene, struct Object *camera_override, unsigned int lay, int sfra, int efra, int tfra);
+
+/* error reporting */
+void RE_SetReports(struct Render *re, struct ReportList *reports);
/* main preview render call */
void RE_PreviewRender(struct Render *re, struct Main *bmain, struct Scene *scene);
-void RE_ReadRenderResult(struct Scene *scene, struct Scene *scenode);
-void RE_WriteRenderResult(RenderResult *rr, const char *filename, int compress);
+int RE_ReadRenderResult(struct Scene *scene, struct Scene *scenode);
+int RE_WriteRenderResult(struct ReportList *reports, RenderResult *rr, const char *filename, int compress);
struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty);
+extern const float default_envmap_layout[];
+int RE_WriteEnvmapResult(struct ReportList *reports, struct Scene *scene, struct EnvMap *env, const char *relpath, int imtype, float layout[12]);
+
/* do a full sample buffer compo */
void RE_MergeFullSample(struct Render *re, struct Main *bmain, struct Scene *sce, struct bNodeTree *ntree);
@@ -242,7 +249,6 @@ void RE_stats_draw_cb (struct Render *re, void *handle, void (*f)(void *handle,
void RE_progress_cb (struct Render *re, void *handle, void (*f)(void *handle, float));
void RE_draw_lock_cb (struct Render *re, void *handle, void (*f)(void *handle, int));
void RE_test_break_cb (struct Render *re, void *handle, int (*f)(void *handle));
-void RE_error_cb (struct Render *re, void *handle, void (*f)(void *handle, const char *str));
/* should move to kernel once... still unsure on how/where */
float RE_filter_value(int type, float x);
@@ -264,7 +270,7 @@ void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nbd, int xsize, int ysize,
#define RE_BAKE_ALPHA 11
#define RE_BAKE_EMIT 12
-void RE_Database_Baking(struct Render *re, struct Main *bmain, struct Scene *scene, unsigned int lay, int type, struct Object *actob);
+void RE_Database_Baking(struct Render *re, struct Main *bmain, struct Scene *scene, unsigned int lay, const int type, struct Object *actob);
void RE_DataBase_GetView(struct Render *re, float mat[][4]);
void RE_GetCameraWindow(struct Render *re, struct Object *camera, int frame, float mat[][4]);
@@ -308,11 +314,12 @@ void RE_engine_end_result(RenderEngine *engine, struct RenderResult *result);
int RE_engine_test_break(RenderEngine *engine);
void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char *info);
+void RE_engine_report(RenderEngine *engine, int type, const char *msg);
void RE_engines_init(void);
void RE_engines_exit(void);
-int RE_is_rendering_allowed(struct Scene *scene, struct Object *camera_override, void *erh, void (*error)(void *handle, const char *str));
+int RE_is_rendering_allowed(struct Scene *scene, struct Object *camera_override, struct ReportList *reports);
#endif /* RE_PIPELINE_H */
diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h
index 958c19ab9ca..27c87caf14a 100644
--- a/source/blender/render/extern/include/RE_shader_ext.h
+++ b/source/blender/render/extern/include/RE_shader_ext.h
@@ -193,6 +193,8 @@ typedef struct ShadeInput
/* node shaders... */
struct Tex;
struct MTex;
+struct ImBuf;
+
/* this one uses nodes */
int multitex_ext(struct Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, struct TexResult *texres);
/* nodes disabled */
@@ -206,9 +208,8 @@ struct Render;
struct Image;
struct Object;
-void RE_shade_external(struct Render *re, struct ShadeInput *shi, struct ShadeResult *shr);
int RE_bake_shade_all_selected(struct Render *re, int type, struct Object *actob, short *do_update, float *progress);
struct Image *RE_bake_shade_get_image(void);
+void RE_bake_ibuf_filter(struct ImBuf *ibuf, char *mask, const int filter);
#endif /* RE_SHADER_EXT_H */
-
diff --git a/source/blender/render/intern/include/rayobject.h b/source/blender/render/intern/include/rayobject.h
index dea8c1bdb6f..bef7ae6196b 100644
--- a/source/blender/render/intern/include/rayobject.h
+++ b/source/blender/render/intern/include/rayobject.h
@@ -60,7 +60,7 @@ int RE_rayobject_raycast(RayObject *r, struct Isect *i);
RayObject* RE_rayobject_octree_create(int ocres, int size);
RayObject* RE_rayobject_instance_create(RayObject *target, float transform[][4], void *ob, void *target_ob);
-RayObject* RE_rayobject_empty_create();
+RayObject* RE_rayobject_empty_create(void);
RayObject* RE_rayobject_blibvh_create(int size); /* BLI_kdopbvh.c */
RayObject* RE_rayobject_vbvh_create(int size); /* raytrace/rayobject_vbvh.c */
diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h
index cf16211b6d1..13ca40bfd20 100644
--- a/source/blender/render/intern/include/render_types.h
+++ b/source/blender/render/intern/include/render_types.h
@@ -60,6 +60,7 @@ struct RenderBuckets;
struct ObjectInstanceRen;
struct RayObject;
struct RayFace;
+struct ReportList;
struct Main;
#define TABLEINITSIZE 1024
@@ -214,7 +215,7 @@ struct Render
ListBase instancetable;
int totinstance;
- struct Image *backbuf, *bakebuf;
+ struct Image *bakebuf;
struct GHash *orco_hash;
@@ -252,10 +253,9 @@ struct Render
int (*test_break)(void *handle);
void *tbh;
- void (*error)(void *handle, const char *str);
- void *erh;
-
RenderStats i;
+
+ struct ReportList *reports;
};
/* ------------------------------------------------------------------------- */
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c
index c1c2fb60abd..2f79560efd6 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -192,10 +192,10 @@ void RE_make_stars(Render *re, Scene *scenev3d, void (*initfunc)(void),
/* minimal free space (starting at camera) */
starmindist= wrld->starmindist;
- if (stargrid <= 0.10) return;
+ if (stargrid <= 0.10f) return;
if (re) re->flag |= R_HALO;
- else stargrid *= 1.0; /* then it draws fewer */
+ else stargrid *= 1.0f; /* then it draws fewer */
if(re) invert_m4_m4(mat, re->viewmat);
else unit_m4(mat);
@@ -267,17 +267,17 @@ void RE_make_stars(Render *re, Scene *scenev3d, void (*initfunc)(void),
if (alpha >= clipend) alpha = 0.0;
else if (alpha <= starmindist) alpha = 0.0;
- else if (alpha <= 2.0 * starmindist) {
+ else if (alpha <= 2.0f * starmindist) {
alpha = (alpha - starmindist) / starmindist;
} else {
- alpha -= 2.0 * starmindist;
- alpha /= (clipend - 2.0 * starmindist);
- alpha = 1.0 - alpha;
+ alpha -= 2.0f * starmindist;
+ alpha /= (clipend - 2.0f * starmindist);
+ alpha = 1.0f - alpha;
}
}
- if (alpha != 0.0) {
+ if (alpha != 0.0f) {
fac = force * BLI_drand();
har = initstar(re, obr, vec, fac);
@@ -341,7 +341,7 @@ u | | F1 | F2 |
/* ------------------------------------------------------------------------- */
-static void split_v_renderfaces(ObjectRen *obr, int startvlak, int startvert, int usize, int vsize, int uIndex, int UNUSED(cyclu), int cyclv)
+static void split_v_renderfaces(ObjectRen *obr, int startvlak, int UNUSED(startvert), int UNUSED(usize), int vsize, int uIndex, int UNUSED(cyclu), int cyclv)
{
int vLen = vsize-1+(!!cyclv);
int v;
@@ -393,7 +393,7 @@ static void calc_edge_stress_add(float *accum, VertRen *v1, VertRen *v2)
acc[1]+= 1.0f;
}
-static void calc_edge_stress(Render *re, ObjectRen *obr, Mesh *me)
+static void calc_edge_stress(Render *UNUSED(re), ObjectRen *obr, Mesh *me)
{
float loc[3], size[3], *accum, *acc, *accumoffs, *stress;
int a;
@@ -590,7 +590,7 @@ static void SetTSpace(const SMikkTSpaceContext * pContext, const float fvTangent
}
}
-static void calc_vertexnormals(Render *re, ObjectRen *obr, int do_tangent, int do_nmap_tangent)
+static void calc_vertexnormals(Render *UNUSED(re), ObjectRen *obr, int do_tangent, int do_nmap_tangent)
{
MemArena *arena= NULL;
VertexTangent **vtangents= NULL;
@@ -759,7 +759,7 @@ static void as_addvert(ASvert *asv, VertRen *v1, VlakRen *vlr)
}
}
-static int as_testvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thresh)
+static int as_testvertex(VlakRen *vlr, VertRen *UNUSED(ver), ASvert *asv, float thresh)
{
/* return 1: vertex needs a copy */
ASface *asf;
@@ -782,7 +782,7 @@ static int as_testvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thresh)
return 0;
}
-static VertRen *as_findvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thresh)
+static VertRen *as_findvertex(VlakRen *vlr, VertRen *UNUSED(ver), ASvert *asv, float thresh)
{
/* return when new vertex already was made */
ASface *asf;
@@ -810,7 +810,7 @@ static VertRen *as_findvertex(VlakRen *vlr, VertRen *ver, ASvert *asv, float thr
/* note; autosmooth happens in object space still, after applying autosmooth we rotate */
/* note2; actually, when original mesh and displist are equal sized, face normals are from original mesh */
-static void autosmooth(Render *re, ObjectRen *obr, float mat[][4], int degr)
+static void autosmooth(Render *UNUSED(re), ObjectRen *obr, float mat[][4], int degr)
{
ASvert *asv, *asverts;
ASface *asf;
@@ -822,7 +822,7 @@ static void autosmooth(Render *re, ObjectRen *obr, float mat[][4], int degr)
if(obr->totvert==0) return;
asverts= MEM_callocN(sizeof(ASvert)*obr->totvert, "all smooth verts");
- thresh= cos( M_PI*(0.5f+(float)degr)/180.0 );
+ thresh= cosf((float)M_PI*(0.5f+(float)degr)/180.0f );
/* step zero: give faces normals of original mesh, if this is provided */
@@ -1046,9 +1046,9 @@ static void static_particle_strand(Render *re, ObjectRen *obr, Material *ma, Par
float fac;
if(ma->strand_ease!=0.0f) {
if(ma->strand_ease<0.0f)
- fac= pow(sd->time, 1.0+ma->strand_ease);
+ fac= pow(sd->time, 1.0f+ma->strand_ease);
else
- fac= pow(sd->time, 1.0/(1.0f-ma->strand_ease));
+ fac= pow(sd->time, 1.0f/(1.0f-ma->strand_ease));
}
else fac= sd->time;
@@ -1063,7 +1063,7 @@ static void static_particle_strand(Render *re, ObjectRen *obr, Material *ma, Par
width= w;
/*cross is the radius of the strand so we want it to be half of full width */
- mul_v3_fl(cross,0.5/crosslen);
+ mul_v3_fl(cross,0.5f/crosslen);
}
else
width/=w;
@@ -1345,8 +1345,11 @@ static void particle_billboard(Render *re, ObjectRen *obr, Material *ma, Particl
VlakRen *vlr;
MTFace *mtf;
float xvec[3], yvec[3], zvec[3], bb_center[3];
+ /* Number of tiles */
int totsplit = bb->uv_split * bb->uv_split;
- float uvx = 0.0f, uvy = 0.0f, uvdx = 1.0f, uvdy = 1.0f, time = 0.0f;
+ int tile, x, y;
+ /* Tile offsets */
+ float uvx = 0.0f, uvy = 0.0f, uvdx = 1.0f, uvdy = 1.0f, time = 0.0f;
vlr= RE_findOrAddVlak(obr, obr->totvlak++);
vlr->v1= RE_findOrAddVert(obr, obr->totvert++);
@@ -1420,11 +1423,14 @@ static void particle_billboard(Render *re, ObjectRen *obr, Material *ma, Particl
else if(bb->split_offset==PART_BB_OFF_RANDOM)
time = (float)fmod(time + bb->random, 1.0f);
- uvx = uvdx * floor((float)(bb->uv_split * bb->uv_split) * (float)fmod((double)time, (double)uvdx));
- uvy = uvdy * floor((1.0f - time) * (float)bb->uv_split);
-
- if(fmod(time, 1.0f / bb->uv_split) == 0.0f)
- uvy -= uvdy;
+ /* Find the coordinates in tile space (integer), then convert to UV
+ * space (float). Note that Y is flipped. */
+ tile = (int)((time + FLT_EPSILON10) * totsplit);
+ x = tile % bb->uv_split;
+ y = tile / bb->uv_split;
+ y = (bb->uv_split - 1) - y;
+ uvx = uvdx * x;
+ uvy = uvdy * y;
}
/* normal UVs */
@@ -1680,8 +1686,6 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
bb.anim = part->bb_anim;
bb.lock = part->draw & PART_DRAW_BB_LOCK;
bb.ob = (part->bb_ob ? part->bb_ob : RE_GetCamera(re));
- bb.offset[0] = part->bb_offset[0];
- bb.offset[1] = part->bb_offset[1];
bb.split_offset = part->bb_split_offset;
bb.totnum = totpart+totchild;
bb.uv_split = part->bb_uv_split;
@@ -1800,10 +1804,8 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
pa_size = pa->size;
- BLI_srandom(psys->seed+a);
-
- r_tilt = 2.0f*(BLI_frand() - 0.5f);
- r_length = BLI_frand();
+ r_tilt = 2.0f*(PSYS_FRAND(a) - 0.5f);
+ r_length = PSYS_FRAND(a+1);
if(path_nbr) {
cache = psys->pathcache[a];
@@ -1988,8 +1990,8 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
else {
/* render normal particles */
if(part->trail_count > 1) {
- float length = part->path_end * (1.0 - part->randlength * r_length);
- int trail_count = part->trail_count * (1.0 - part->randlength * r_length);
+ float length = part->path_end * (1.0f - part->randlength * r_length);
+ int trail_count = part->trail_count * (1.0f - part->randlength * r_length);
float ct = (part->draw & PART_ABS_PATH_TIME) ? cfra : pa_time;
float dt = length / (trail_count ? (float)trail_count : 1.0f);
@@ -2015,7 +2017,20 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
if(part->ren_as == PART_DRAW_BB) {
bb.random = random;
- bb.size = pa_size;
+ bb.offset[0] = part->bb_offset[0];
+ bb.offset[1] = part->bb_offset[1];
+ bb.size[0] = part->bb_size[0] * pa_size;
+ if (part->bb_align==PART_BB_VEL) {
+ float pa_vel = len_v3(state.vel);
+ float head = part->bb_vel_head*pa_vel;
+ float tail = part->bb_vel_tail*pa_vel;
+ bb.size[1] = part->bb_size[1]*pa_size + head + tail;
+ /* use offset to adjust the particle center. this is relative to size, so need to divide! */
+ if (bb.size[1] > 0.0f)
+ bb.offset[1] += (head-tail) / bb.size[1];
+ }
+ else
+ bb.size[1] = part->bb_size[1] * pa_size;
bb.tilt = part->bb_tilt * (1.0f - part->bb_rand_tilt * r_tilt);
bb.time = ct;
bb.num = a;
@@ -2036,11 +2051,24 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
mul_m4_v3(psys->parent->obmat, state.co);
if(use_duplimat)
- mul_m4_v4(duplimat, state.co);
+ mul_m4_v3(duplimat, state.co);
if(part->ren_as == PART_DRAW_BB) {
bb.random = random;
- bb.size = pa_size;
+ bb.offset[0] = part->bb_offset[0];
+ bb.offset[1] = part->bb_offset[1];
+ bb.size[0] = part->bb_size[0] * pa_size;
+ if (part->bb_align==PART_BB_VEL) {
+ float pa_vel = len_v3(state.vel);
+ float head = part->bb_vel_head*pa_vel;
+ float tail = part->bb_vel_tail*pa_vel;
+ bb.size[1] = part->bb_size[1]*pa_size + head + tail;
+ /* use offset to adjust the particle center. this is relative to size, so need to divide! */
+ if (bb.size[1] > 0.0f)
+ bb.offset[1] += (head-tail) / bb.size[1];
+ }
+ else
+ bb.size[1] = part->bb_size[1] * pa_size;
bb.tilt = part->bb_tilt * (1.0f - part->bb_rand_tilt * r_tilt);
bb.time = pa_time;
bb.num = a;
@@ -2100,7 +2128,7 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
/* Halo's */
/* ------------------------------------------------------------------------- */
-static void make_render_halos(Render *re, ObjectRen *obr, Mesh *me, int totvert, MVert *mvert, Material *ma, float *orco)
+static void make_render_halos(Render *re, ObjectRen *obr, Mesh *UNUSED(me), int totvert, MVert *mvert, Material *ma, float *orco)
{
Object *ob= obr->ob;
HaloRen *har;
@@ -2137,7 +2165,7 @@ static void make_render_halos(Render *re, ObjectRen *obr, Mesh *me, int totvert,
normalize_v3(view);
zn= nor[0]*view[0]+nor[1]*view[1]+nor[2]*view[2];
- if(zn>=0.0) hasize= 0.0;
+ if(zn>=0.0f) hasize= 0.0f;
else hasize*= zn*zn*zn*zn;
}
@@ -2908,8 +2936,10 @@ static void init_render_curve(Render *re, ObjectRen *obr, int timeoffset)
vlr->v3= RE_findOrAddVert(obr, startvert+index[2]);
vlr->v4= NULL;
- normal_tri_v3(tmp, vlr->v3->co, vlr->v2->co, vlr->v1->co);
- add_v3_v3(n, tmp);
+ if(area_tri_v3(vlr->v3->co, vlr->v2->co, vlr->v1->co)>FLT_EPSILON) {
+ normal_tri_v3(tmp, vlr->v3->co, vlr->v2->co, vlr->v1->co);
+ add_v3_v3(n, tmp);
+ }
vlr->mat= matar[ dl->col ];
vlr->flag= 0;
@@ -3351,7 +3381,7 @@ static void init_render_mesh(Render *re, ObjectRen *obr, int timeoffset)
/* test for 100% transparant */
ok= 1;
- if(ma->alpha==0.0f && ma->spectra==0.0f && ma->filter==0.0f && (ma->mode & MA_TRANSP)) {
+ if(ma->alpha==0.0f && ma->spectra==0.0f && ma->filter==0.0f && (ma->mode & MA_TRANSP) && (ma->mode & MA_RAYMIRROR)==0) {
ok= 0;
/* texture on transparency? */
for(a=0; a<MAX_MTEX; a++) {
@@ -3575,7 +3605,7 @@ static void initshadowbuf(Render *re, LampRen *lar, float mat[][4])
/* bias is percentage, made 2x larger because of correction for angle of incidence */
/* when a ray is closer to parallel of a face, bias value is increased during render */
- shb->bias= (0.02*lar->bias)*0x7FFFFFFF;
+ shb->bias= (0.02f*lar->bias)*0x7FFFFFFF;
/* halfway method (average of first and 2nd z) reduces bias issues */
if(ELEM(lar->buftype, LA_SHADBUF_HALFWAY, LA_SHADBUF_DEEP))
@@ -3586,7 +3616,7 @@ static void initshadowbuf(Render *re, LampRen *lar, float mat[][4])
static void area_lamp_vectors(LampRen *lar)
{
- float xsize= 0.5*lar->area_size, ysize= 0.5*lar->area_sizey, multifac;
+ float xsize= 0.5f*lar->area_size, ysize= 0.5f*lar->area_sizey, multifac;
/* make it smaller, so area light can be multisampled */
multifac= 1.0f/sqrt((float)lar->ray_totsamp);
@@ -3613,7 +3643,7 @@ static void area_lamp_vectors(LampRen *lar)
lar->area[3][1]= lar->co[1] + xsize*lar->mat[0][1] - ysize*lar->mat[1][1];
lar->area[3][2]= lar->co[2] + xsize*lar->mat[0][2] - ysize*lar->mat[1][2];
/* only for correction button size, matrix size works on energy */
- lar->areasize= lar->dist*lar->dist/(4.0*xsize*ysize);
+ lar->areasize= lar->dist*lar->dist/(4.0f*xsize*ysize);
}
/* If lar takes more lamp data, the decoupling will be better. */
@@ -3767,10 +3797,10 @@ static GroupObject *add_render_lamp(Render *re, Object *ob)
lar->spotsi= la->spotsize;
if(lar->mode & LA_HALO) {
- if(lar->spotsi>170.0) lar->spotsi= 170.0;
+ if(lar->spotsi>170.0f) lar->spotsi= 170.0f;
}
- lar->spotsi= cos( M_PI*lar->spotsi/360.0 );
- lar->spotbl= (1.0-lar->spotsi)*la->spotblend;
+ lar->spotsi= cos( M_PI*lar->spotsi/360.0f );
+ lar->spotbl= (1.0f-lar->spotsi)*la->spotblend;
memcpy(lar->mtex, la->mtex, MAX_MTEX*sizeof(void *));
@@ -3789,7 +3819,7 @@ static GroupObject *add_render_lamp(Render *re, Object *ob)
xn= saacos(lar->spotsi);
xn= sin(xn)/cos(xn);
- lar->spottexfac= 1.0/(xn);
+ lar->spottexfac= 1.0f/(xn);
if(lar->mode & LA_ONLYSHADOW) {
if((lar->mode & (LA_SHAD_BUF|LA_SHAD_RAY))==0) lar->mode -= LA_ONLYSHADOW;
@@ -3799,7 +3829,7 @@ static GroupObject *add_render_lamp(Render *re, Object *ob)
/* set flag for spothalo en initvars */
if(la->type==LA_SPOT && (la->mode & LA_HALO) && (la->buftype != LA_SHADBUF_DEEP)) {
- if(la->haint>0.0) {
+ if(la->haint>0.0f) {
re->flag |= R_LAMPHALO;
/* camera position (0,0,0) rotate around lamp */
@@ -3966,9 +3996,9 @@ void init_render_world(Render *re)
cp= (char *)&re->wrld.fastcol;
- cp[0]= 255.0*re->wrld.horr;
- cp[1]= 255.0*re->wrld.horg;
- cp[2]= 255.0*re->wrld.horb;
+ cp[0]= 255.0f*re->wrld.horr;
+ cp[1]= 255.0f*re->wrld.horg;
+ cp[2]= 255.0f*re->wrld.horb;
cp[3]= 1;
VECCOPY(re->grvec, re->viewmat[2]);
@@ -4023,25 +4053,25 @@ static void set_phong_threshold(ObjectRen *obr)
if(vlr->flag & R_SMOOTH) {
dot= INPR(vlr->n, vlr->v1->n);
dot= ABS(dot);
- if(dot>0.9) {
+ if(dot>0.9f) {
thresh+= dot; tot++;
}
dot= INPR(vlr->n, vlr->v2->n);
dot= ABS(dot);
- if(dot>0.9) {
+ if(dot>0.9f) {
thresh+= dot; tot++;
}
dot= INPR(vlr->n, vlr->v3->n);
dot= ABS(dot);
- if(dot>0.9) {
+ if(dot>0.9f) {
thresh+= dot; tot++;
}
if(vlr->v4) {
dot= INPR(vlr->n, vlr->v4->n);
dot= ABS(dot);
- if(dot>0.9) {
+ if(dot>0.9f) {
thresh+= dot; tot++;
}
}
@@ -4081,7 +4111,7 @@ static void set_fullsample_trace_flag(Render *re, ObjectRen *obr)
else if((mode & MA_RAYMIRROR) || ((mode & MA_TRANSP) && (mode & MA_RAYTRANSP))) {
/* for blurry reflect/refract, better to take more samples
* inside the raytrace than as OSA samples */
- if ((vlr->mat->gloss_mir == 1.0) && (vlr->mat->gloss_tra == 1.0))
+ if ((vlr->mat->gloss_mir == 1.0f) && (vlr->mat->gloss_tra == 1.0f))
vlr->flag |= R_FULL_OSA;
}
}
@@ -4197,11 +4227,11 @@ static void check_non_flat_quads(ObjectRen *obr)
/* render normals are inverted in render! we calculate normal of single tria here */
flen= normal_tri_v3( nor,vlr->v4->co, vlr->v3->co, vlr->v1->co);
- if(flen==0.0) normal_tri_v3( nor,vlr->v4->co, vlr->v2->co, vlr->v1->co);
+ if(flen==0.0f) normal_tri_v3( nor,vlr->v4->co, vlr->v2->co, vlr->v1->co);
xn= nor[0]*vlr->n[0] + nor[1]*vlr->n[1] + nor[2]*vlr->n[2];
- if(ABS(xn) < 0.999995 ) { // checked on noisy fractal grid
+ if(ABS(xn) < 0.999995f ) { // checked on noisy fractal grid
float d1, d2;
@@ -4665,7 +4695,6 @@ void RE_Database_Free(Render *re)
re->totvlak=re->totvert=re->totstrand=re->totlamp=re->tothalo= 0;
re->i.convertdone= 0;
- re->backbuf= NULL;
re->bakebuf= NULL;
if(re->scene)
@@ -4700,7 +4729,7 @@ static int allow_render_object(Render *re, Object *ob, int nolamps, int onlysele
return 1;
}
-static int allow_render_dupli_instance(Render *re, DupliObject *dob, Object *obd)
+static int allow_render_dupli_instance(Render *UNUSED(re), DupliObject *dob, Object *obd)
{
ParticleSystem *psys;
Material *ma;
@@ -5438,7 +5467,7 @@ static int load_fluidsimspeedvectors(Render *re, ObjectInstanceRen *obi, float *
for(j=0;j<3;j++) fsvec[j] = velarray[a].vel[j];
/* (bad) HACK insert average velocity if none is there (see previous comment) */
- if((fsvec[0] == 0.0) && (fsvec[1] == 0.0) && (fsvec[2] == 0.0))
+ if((fsvec[0] == 0.0f) && (fsvec[1] == 0.0f) && (fsvec[2] == 0.0f))
{
fsvec[0] = avgvel[0];
fsvec[1] = avgvel[1];
@@ -5657,13 +5686,14 @@ void RE_Database_FromScene_Vectors(Render *re, Main *bmain, Scene *sce, unsigned
RE_BAKE_DISPLACEMENT:for baking, no lamps, only selected objects
RE_BAKE_SHADOW: for baking, only shadows, but all objects
*/
-void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, unsigned int lay, int type, Object *actob)
+void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, unsigned int lay, const int type, Object *actob)
{
Object *camera;
float mat[4][4];
float amb[3];
- int onlyselected, nolamps;
-
+ const short onlyselected= !ELEM4(type, RE_BAKE_LIGHT, RE_BAKE_ALL, RE_BAKE_SHADOW, RE_BAKE_AO);
+ const short nolamps= ELEM3(type, RE_BAKE_NORMALS, RE_BAKE_TEXTURE, RE_BAKE_DISPLACEMENT);
+
re->main= bmain;
re->scene= scene;
re->lay= lay;
@@ -5713,7 +5743,15 @@ void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, unsigned int lay,
unit_m4(mat);
RE_SetView(re, mat);
}
-
+ copy_m3_m4(re->imat, re->viewinv);
+
+ /* TODO: deep shadow maps + baking + strands */
+ /* strands use the window matrix and view size, there is to correct
+ * window matrix but at least avoids malloc and crash loop [#27807] */
+ unit_m4(re->winmat);
+ re->winx= re->winy= 256;
+ /* done setting dummy values */
+
init_render_world(re); /* do first, because of ambient. also requires re->osa set correct */
if(re->r.mode & R_RAYTRACE) {
init_render_qmcsampler(re);
@@ -5732,9 +5770,6 @@ void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, unsigned int lay,
set_node_shader_lamp_loop(shade_material_loop);
/* MAKE RENDER DATA */
- nolamps= !ELEM3(type, RE_BAKE_LIGHT, RE_BAKE_ALL, RE_BAKE_SHADOW);
- onlyselected= ELEM3(type, RE_BAKE_NORMALS, RE_BAKE_TEXTURE, RE_BAKE_DISPLACEMENT);
-
database_init_objects(re, lay, nolamps, onlyselected, actob, 0);
set_material_lightgroups(re);
@@ -5749,6 +5784,14 @@ void RE_Database_Baking(Render *re, Main *bmain, Scene *scene, unsigned int lay,
if(re->r.mode & R_RAYTRACE)
makeraytree(re);
+ /* point density texture */
+ if(!re->test_break(re->tbh))
+ make_pointdensities(re);
+
+ /* voxel data texture */
+ if(!re->test_break(re->tbh))
+ make_voxeldata(re);
+
/* occlusion */
if((re->wrld.mode & (WO_AMB_OCC|WO_ENV_LIGHT|WO_INDIRECT_LIGHT)) && !re->test_break(re->tbh))
if(re->wrld.ao_gather_method == WO_AOGATHER_APPROX)
diff --git a/source/blender/render/intern/source/envmap.c b/source/blender/render/intern/source/envmap.c
index 1e40ab886ae..66a73b47790 100644
--- a/source/blender/render/intern/source/envmap.c
+++ b/source/blender/render/intern/source/envmap.c
@@ -149,7 +149,6 @@ static Render *envmap_render_copy(Render *re, EnvMap *env)
envre->r.layers.first= envre->r.layers.last= NULL;
envre->r.filtertype= 0;
envre->r.xparts= envre->r.yparts= 2;
- envre->r.bufflag= 0;
envre->r.size= 100;
envre->r.yasp= envre->r.xasp= 1;
@@ -596,7 +595,7 @@ static int envcube_isect(EnvMap *env, float *vec, float *answ)
if(env->type==ENV_PLANE) {
face= 1;
- labda= 1.0/vec[2];
+ labda= 1.0f/vec[2];
answ[0]= env->viewscale*labda*vec[0];
answ[1]= -env->viewscale*labda*vec[1];
}
@@ -604,44 +603,44 @@ static int envcube_isect(EnvMap *env, float *vec, float *answ)
/* which face */
if( vec[2]<=-fabs(vec[0]) && vec[2]<=-fabs(vec[1]) ) {
face= 0;
- labda= -1.0/vec[2];
+ labda= -1.0f/vec[2];
answ[0]= labda*vec[0];
answ[1]= labda*vec[1];
}
else if( vec[2]>=fabs(vec[0]) && vec[2]>=fabs(vec[1]) ) {
face= 1;
- labda= 1.0/vec[2];
+ labda= 1.0f/vec[2];
answ[0]= labda*vec[0];
answ[1]= -labda*vec[1];
}
else if( vec[1]>=fabs(vec[0]) ) {
face= 2;
- labda= 1.0/vec[1];
+ labda= 1.0f/vec[1];
answ[0]= labda*vec[0];
answ[1]= labda*vec[2];
}
else if( vec[0]<=-fabs(vec[1]) ) {
face= 3;
- labda= -1.0/vec[0];
+ labda= -1.0f/vec[0];
answ[0]= labda*vec[1];
answ[1]= labda*vec[2];
}
else if( vec[1]<=-fabs(vec[0]) ) {
face= 4;
- labda= -1.0/vec[1];
+ labda= -1.0f/vec[1];
answ[0]= -labda*vec[0];
answ[1]= labda*vec[2];
}
else {
face= 5;
- labda= 1.0/vec[0];
+ labda= 1.0f/vec[0];
answ[0]= -labda*vec[1];
answ[1]= labda*vec[2];
}
}
- answ[0]= 0.5+0.5*answ[0];
- answ[1]= 0.5+0.5*answ[1];
+ answ[0]= 0.5f+0.5f*answ[0];
+ answ[1]= 0.5f+0.5f*answ[1];
return face;
}
@@ -726,7 +725,7 @@ int envmaptex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexRe
/* edges? */
- if(texres->ta<1.0) {
+ if(texres->ta<1.0f) {
TexResult texr1, texr2;
texr1.nor= texr2.nor= NULL;
@@ -757,8 +756,8 @@ int envmaptex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexRe
else texr2.tr= texr2.tg= texr2.tb= texr2.ta= 0.0;
fac= (texres->ta+texr1.ta+texr2.ta);
- if(fac!=0.0) {
- fac= 1.0/fac;
+ if(fac!=0.0f) {
+ fac= 1.0f/fac;
texres->tr= fac*(texres->ta*texres->tr + texr1.ta*texr1.tr + texr2.ta*texr2.tr );
texres->tg= fac*(texres->ta*texres->tg + texr1.ta*texr1.tg + texr2.ta*texr2.tg );
diff --git a/source/blender/render/intern/source/gammaCorrectionTables.c b/source/blender/render/intern/source/gammaCorrectionTables.c
index 4a16341093c..f88a5d240c3 100644
--- a/source/blender/render/intern/source/gammaCorrectionTables.c
+++ b/source/blender/render/intern/source/gammaCorrectionTables.c
@@ -107,7 +107,7 @@ void makeGammaTables(float gamma)
int i;
valid_gamma = gamma;
- valid_inv_gamma = 1.0 / gamma;
+ valid_inv_gamma = 1.0f / gamma;
color_step = 1.0 / RE_GAMMA_TABLE_SIZE;
inv_color_step = (float) RE_GAMMA_TABLE_SIZE;
diff --git a/source/blender/render/intern/source/imagetexture.c b/source/blender/render/intern/source/imagetexture.c
index 7d2c7b35247..6d264951204 100644
--- a/source/blender/render/intern/source/imagetexture.c
+++ b/source/blender/render/intern/source/imagetexture.c
@@ -76,6 +76,8 @@
extern struct Render R;
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+static void boxsample(ImBuf *ibuf, float minx, float miny, float maxx, float maxy, TexResult *texres, const short imaprepeat, const short imapextend);
+
/* *********** IMAGEWRAPPING ****************** */
@@ -113,6 +115,7 @@ int imagewrap(Tex *tex, Image *ima, ImBuf *ibuf, float *texvec, TexResult *texre
{
float fx, fy, val1, val2, val3;
int x, y, retval;
+ int xi, yi; /* original values */
texres->tin= texres->ta= texres->tr= texres->tg= texres->tb= 0.0f;
@@ -164,8 +167,8 @@ int imagewrap(Tex *tex, Image *ima, ImBuf *ibuf, float *texvec, TexResult *texre
}
}
- x = (int)floorf(fx*ibuf->x);
- y = (int)floorf(fy*ibuf->y);
+ x= xi= (int)floorf(fx*ibuf->x);
+ y= yi= (int)floorf(fy*ibuf->y);
if(tex->extend == TEX_CLIPCUBE) {
if(x<0 || y<0 || x>=ibuf->x || y>=ibuf->y || texvec[2]<-1.0f || texvec[2]>1.0f) {
@@ -201,7 +204,23 @@ int imagewrap(Tex *tex, Image *ima, ImBuf *ibuf, float *texvec, TexResult *texre
ibuf->rect+= (ibuf->x*ibuf->y);
}
- ibuf_get_color(&texres->tr, ibuf, x, y);
+ /* interpolate */
+ if (tex->imaflag & TEX_INTERPOL) {
+ float filterx, filtery;
+ filterx = (0.5f * tex->filtersize) / ibuf->x;
+ filtery = (0.5f * tex->filtersize) / ibuf->y;
+
+ /* important that this value is wrapped [#27782]
+ * this applies the modifications made by the checks above,
+ * back to the floating point values */
+ fx -= (float)(xi - x) / (float)ibuf->x;
+ fy -= (float)(yi - y) / (float)ibuf->y;
+
+ boxsample(ibuf, fx-filterx, fy-filtery, fx+filterx, fy+filtery, texres, (tex->extend==TEX_REPEAT), (tex->extend==TEX_EXTEND));
+ }
+ else { /* no filtering */
+ ibuf_get_color(&texres->tr, ibuf, x, y);
+ }
if( (R.flag & R_SEC_FIELD) && (ibuf->flags & IB_fields) ) {
ibuf->rect-= (ibuf->x*ibuf->y);
@@ -513,15 +532,17 @@ static void boxsampleclip(struct ImBuf *ibuf, rctf *rf, TexResult *texres)
}
}
-static void boxsample(ImBuf *ibuf, float minx, float miny, float maxx, float maxy, TexResult *texres, int imaprepeat, int imapextend)
+static void boxsample(ImBuf *ibuf, float minx, float miny, float maxx, float maxy, TexResult *texres, const short imaprepeat, const short imapextend)
{
/* Sample box, performs clip. minx etc are in range 0.0 - 1.0 .
- * Enlarge with antialiased edges of pixels.
- * If variable 'imaprepeat' has been set, the
- * clipped-away parts are sampled as well.
- */
+ * Enlarge with antialiased edges of pixels.
+ * If variable 'imaprepeat' has been set, the
+ * clipped-away parts are sampled as well.
+ */
/* note: actually minx etc isnt in the proper range... this due to filter size and offset vectors for bump */
/* note: talpha must be initialized */
+ /* note: even when 'imaprepeat' is set, this can only repeate once in any direction.
+ * the point which min/max is derived from is assumed to be wrapped */
TexResult texr;
rctf *rf, stack[8];
float opp, tot, alphaclip= 1.0;
diff --git a/source/blender/render/intern/source/initrender.c b/source/blender/render/intern/source/initrender.c
index 2f09742f130..bea86264af1 100644
--- a/source/blender/render/intern/source/initrender.c
+++ b/source/blender/render/intern/source/initrender.c
@@ -126,8 +126,8 @@ static float filt_cubic(float x)
if (x < 0.0f) x = -x;
- if (x < 1.0f) return 0.5*x*x2 - x2 + 2.0f/3.0f;
- if (x < 2.0f) return (2.0-x)*(2.0-x)*(2.0-x)/6.0f;
+ if (x < 1.0f) return 0.5f*x*x2 - x2 + 2.0f/3.0f;
+ if (x < 2.0f) return (2.0f-x)*(2.0f-x)*(2.0f-x)/6.0f;
return 0.0f;
}
@@ -138,27 +138,27 @@ static float filt_catrom(float x)
if (x < 0.0f) x = -x;
if (x < 1.0f) return 1.5f*x2*x - 2.5f*x2 + 1.0f;
- if (x < 2.0f) return -0.5f*x2*x + 2.5*x2 - 4.0f*x + 2.0f;
+ if (x < 2.0f) return -0.5f*x2*x + 2.5f*x2 - 4.0f*x + 2.0f;
return 0.0f;
}
static float filt_mitchell(float x) /* Mitchell & Netravali's two-param cubic */
{
float b = 1.0f/3.0f, c = 1.0f/3.0f;
- float p0 = ( 6.0 - 2.0*b ) / 6.0;
- float p2 = (-18.0 + 12.0*b + 6.0*c) / 6.0;
- float p3 = ( 12.0 - 9.0*b - 6.0*c) / 6.0;
- float q0 = ( 8.0*b + 24.0*c) / 6.0;
- float q1 = ( - 12.0*b - 48.0*c) / 6.0;
- float q2 = ( 6.0*b + 30.0*c) / 6.0;
- float q3 = ( - b - 6.0*c) / 6.0;
-
- if (x<-2.0) return 0.0;
- if (x<-1.0) return (q0-x*(q1-x*(q2-x*q3)));
- if (x< 0.0) return (p0+x*x*(p2-x*p3));
- if (x< 1.0) return (p0+x*x*(p2+x*p3));
- if (x< 2.0) return (q0+x*(q1+x*(q2+x*q3)));
- return 0.0;
+ float p0 = ( 6.0f - 2.0f*b ) / 6.0f;
+ float p2 = (-18.0f + 12.0f*b + 6.0f*c) / 6.0f;
+ float p3 = ( 12.0f - 9.0f*b - 6.0f*c) / 6.0f;
+ float q0 = ( 8.0f*b + 24.0f*c) / 6.0f;
+ float q1 = ( - 12.0f *b - 48.0f*c) / 6.0f;
+ float q2 = ( 6.0f *b + 30.0f*c) / 6.0f;
+ float q3 = ( - b - 6.0f*c) / 6.0f;
+
+ if (x<-2.0f) return 0.0f;
+ if (x<-1.0f) return (q0-x*(q1-x*(q2-x*q3)));
+ if (x< 0.0f) return (p0+x*x*(p2-x*p3));
+ if (x< 1.0f) return (p0+x*x*(p2+x*p3));
+ if (x< 2.0f) return (q0+x*(q1+x*(q2+x*q3)));
+ return 0.0f;
}
/* x ranges from -1 to 1 */
@@ -170,16 +170,16 @@ float RE_filter_value(int type, float x)
switch(type) {
case R_FILTER_BOX:
- if(x>1.0) return 0.0f;
- return 1.0;
+ if(x>1.0f) return 0.0f;
+ return 1.0f;
case R_FILTER_TENT:
- if(x>1.0) return 0.0f;
+ if(x>1.0f) return 0.0f;
return 1.0f-x;
case R_FILTER_GAUSS:
x*= gaussfac;
- return (1.0/exp(x*x) - 1.0/exp(gaussfac*gaussfac*2.25));
+ return (1.0f/expf(x*x) - 1.0f/expf(gaussfac*gaussfac*2.25f));
case R_FILTER_MITCH:
return filt_mitchell(x*gaussfac);
@@ -221,7 +221,7 @@ static float calc_weight(Render *re, float *weight, int i, int j)
case R_FILTER_GAUSS:
x = dist*re->r.gauss;
- weight[a]= (1.0/exp(x*x) - 1.0/exp(re->r.gauss*re->r.gauss*2.25));
+ weight[a]= (1.0f/expf(x*x) - 1.0f/expf(re->r.gauss*re->r.gauss*2.25f));
break;
case R_FILTER_MITCH:
@@ -309,7 +309,7 @@ void make_sample_tables(Render *re)
st->centmask= MEM_mallocN((1<<re->osa), "Initfilt3");
for(a=0; a<16; a++) {
- st->centLut[a]= -0.45+((float)a)/16.0;
+ st->centLut[a]= -0.45f+((float)a)/16.0f;
}
/* calculate totw */
@@ -327,7 +327,7 @@ void make_sample_tables(Render *re)
memset(weight, 0, sizeof(weight));
calc_weight(re, weight, i, j);
- for(a=0; a<16; a++) flweight[a]= weight[a]*(1.0/totw);
+ for(a=0; a<16; a++) flweight[a]= weight[a]*(1.0f/totw);
m3= st->fmask1[ 3*(j+1)+i+1 ];
m4= st->fmask2[ 3*(j+1)+i+1 ];
@@ -430,9 +430,9 @@ void make_sample_tables(Render *re)
for(a= (1<<re->osa)-1; a>0; a--) {
val= st->cmask[a & 255] + st->cmask[a>>8];
- i= 8+(15.9*(fpy1[a & 255]+fpy2[a>>8])/val);
+ i= 8+(15.9f*(fpy1[a & 255]+fpy2[a>>8])/val);
CLAMP(i, 0, 15);
- j= 8+(15.9*(fpx1[a & 255]+fpx2[a>>8])/val);
+ j= 8+(15.9f*(fpx1[a & 255]+fpx2[a>>8])/val);
CLAMP(j, 0, 15);
i= j + (i<<4);
st->centmask[a]= i;
diff --git a/source/blender/render/intern/source/occlusion.c b/source/blender/render/intern/source/occlusion.c
index 0aa65479a4f..54137c62d22 100644
--- a/source/blender/render/intern/source/occlusion.c
+++ b/source/blender/render/intern/source/occlusion.c
@@ -1414,7 +1414,7 @@ static void sample_occ_tree(Render *re, OcclusionTree *tree, OccFace *exclude, f
if(env) {
/* sky shading using bent normal */
if(ELEM(envcolor, WO_AOSKYCOL, WO_AOSKYTEX)) {
- fac= 0.5*(1.0f+bn[0]*re->grvec[0]+ bn[1]*re->grvec[1]+ bn[2]*re->grvec[2]);
+ fac= 0.5f*(1.0f+bn[0]*re->grvec[0]+ bn[1]*re->grvec[1]+ bn[2]*re->grvec[2]);
env[0]= (1.0f-fac)*re->wrld.horr + fac*re->wrld.zenr;
env[1]= (1.0f-fac)*re->wrld.horg + fac*re->wrld.zeng;
env[2]= (1.0f-fac)*re->wrld.horb + fac*re->wrld.zenb;
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 436f0ecd997..49e5e7b989d 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -64,6 +64,7 @@
#include "BLI_blenlib.h"
#include "BLI_rand.h"
#include "BLI_threads.h"
+#include "BLI_callbacks.h"
#include "BLI_utildefines.h"
#include "PIL_time.h"
@@ -127,7 +128,7 @@ Render R;
/* ********* alloc and free ******** */
-static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, ReportList *reports, const char *name_override);
+static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, const char *name_override);
static volatile int g_break= 0;
static int thread_break(void *UNUSED(arg))
@@ -140,7 +141,6 @@ static void result_nothing(void *UNUSED(arg), RenderResult *UNUSED(rr)) {}
static void result_rcti_nothing(void *UNUSED(arg), RenderResult *UNUSED(rr), volatile struct rcti *UNUSED(rect)) {}
static void stats_nothing(void *UNUSED(arg), RenderStats *UNUSED(rs)) {}
static void float_nothing(void *UNUSED(arg), float UNUSED(val)) {}
-static void print_error(void *UNUSED(arg), const char *str) {printf("ERROR: %s\n", str);}
static int default_break(void *UNUSED(arg)) {return G.afbreek == 1;}
static void stats_background(void *UNUSED(arg), RenderStats *rs)
@@ -173,6 +173,9 @@ static void stats_background(void *UNUSED(arg), RenderStats *rs)
else
fprintf(stdout, "Sce: %s Ve:%d Fa:%d La:%d", rs->scenename, rs->totvert, rs->totface, rs->totlamp);
}
+
+ BLI_exec_cb(G.main, NULL, BLI_CB_EVT_RENDER_STATS);
+
fputc('\n', stdout);
fflush(stdout);
}
@@ -383,6 +386,10 @@ static const char *get_pass_name(int passtype, int channel)
if(channel==-1) return "IndexOB";
return "IndexOB.X";
}
+ if(passtype == SCE_PASS_INDEXMA) {
+ if(channel==-1) return "IndexMA";
+ return "IndexMA.X";
+ }
if(passtype == SCE_PASS_MIST) {
if(channel==-1) return "Mist";
return "Mist.Z";
@@ -448,6 +455,9 @@ static int passtype_from_name(char *str)
if(strcmp(str, "IndexOB")==0)
return SCE_PASS_INDEXOB;
+ if(strcmp(str, "IndexMA")==0)
+ return SCE_PASS_INDEXMA;
+
if(strcmp(str, "Mist")==0)
return SCE_PASS_MIST;
@@ -631,6 +641,8 @@ static RenderResult *new_render_result(Render *re, rcti *partrct, int crop, int
render_layer_add_pass(rr, rl, 3, SCE_PASS_REFRACT);
if(srl->passflag & SCE_PASS_INDEXOB)
render_layer_add_pass(rr, rl, 1, SCE_PASS_INDEXOB);
+ if(srl->passflag & SCE_PASS_INDEXMA)
+ render_layer_add_pass(rr, rl, 1, SCE_PASS_INDEXMA);
if(srl->passflag & SCE_PASS_MIST)
render_layer_add_pass(rr, rl, 1, SCE_PASS_MIST);
if(rl->passflag & SCE_PASS_RAYHITS)
@@ -815,11 +827,12 @@ static char *make_pass_name(RenderPass *rpass, int chan)
/* filename already made absolute */
/* called from within UI, saves both rendered result as a file-read result */
-void RE_WriteRenderResult(RenderResult *rr, const char *filename, int compress)
+int RE_WriteRenderResult(ReportList *reports, RenderResult *rr, const char *filename, int compress)
{
RenderLayer *rl;
RenderPass *rpass;
void *exrhandle= IMB_exr_get_handle();
+ int success;
BLI_make_existing_file(filename);
@@ -855,11 +868,20 @@ void RE_WriteRenderResult(RenderResult *rr, const char *filename, int compress)
}
}
}
-
- IMB_exr_begin_write(exrhandle, filename, rr->rectx, rr->recty, compress);
-
- IMB_exr_write_channels(exrhandle);
+
+ /* when the filename has no permissions, this can fail */
+ if(IMB_exr_begin_write(exrhandle, filename, rr->rectx, rr->recty, compress)) {
+ IMB_exr_write_channels(exrhandle);
+ success= TRUE;
+ }
+ else {
+ /* TODO, get the error from openexr's exception */
+ BKE_report(reports, RPT_ERROR, "Error Writing Render Result, see console");
+ success= FALSE;
+ }
IMB_exr_close(exrhandle);
+
+ return success;
}
/* callbacks for RE_MultilayerConvert */
@@ -983,9 +1005,10 @@ static int read_render_result_from_file(const char *filename, RenderResult *rr)
}
/* only for temp buffer files, makes exact copy of render result */
-static void read_render_result(Render *re, int sample)
+static int read_render_result(Render *re, int sample)
{
char str[FILE_MAX];
+ int success;
BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE);
@@ -995,10 +1018,18 @@ static void read_render_result(Render *re, int sample)
render_unique_exr_name(re, str, sample);
printf("read exr tmp file: %s\n", str);
- if(!read_render_result_from_file(str, re->result))
+ if(read_render_result_from_file(str, re->result)) {
+ success= TRUE;
+ }
+ else {
printf("cannot read: %s\n", str);
+ success= FALSE;
+
+ }
BLI_rw_mutex_unlock(&re->resultmutex);
+
+ return success;
}
/* *************************************************** */
@@ -1189,13 +1220,12 @@ void RE_InitRenderCB(Render *re)
re->display_draw= result_rcti_nothing;
re->progress= float_nothing;
re->test_break= default_break;
- re->error= print_error;
if(G.background)
re->stats_draw= stats_background;
else
re->stats_draw= stats_nothing;
/* clear callback handles */
- re->dih= re->dch= re->ddh= re->sdh= re->prh= re->tbh= re->erh= NULL;
+ re->dih= re->dch= re->ddh= re->sdh= re->prh= re->tbh= NULL;
}
/* only call this while you know it will remove the link too */
@@ -1250,7 +1280,7 @@ void RE_InitState(Render *re, Render *source, RenderData *rd, SceneRenderLayer *
if(re->rectx < 2 || re->recty < 2 || (BKE_imtype_is_movie(rd->imtype) &&
(re->rectx < 16 || re->recty < 16) )) {
- re->error(re->erh, "Image too small");
+ BKE_report(re->reports, RPT_ERROR, "Image too small");
re->ok= 0;
return;
}
@@ -1416,11 +1446,6 @@ void RE_test_break_cb(Render *re, void *handle, int (*f)(void *handle))
re->test_break= f;
re->tbh= handle;
}
-void RE_error_cb(Render *re, void *handle, void (*f)(void *handle, const char *str))
-{
- re->error= f;
- re->erh= handle;
-}
/* ********* add object data (later) ******** */
@@ -2065,36 +2090,6 @@ static void do_render_fields_3d(Render *re)
re->display_draw(re->ddh, re->result, NULL);
}
-static void load_backbuffer(Render *re)
-{
- if(re->r.alphamode == R_ADDSKY) {
- ImBuf *ibuf;
- char name[256];
-
- BLI_strncpy(name, re->r.backbuf, sizeof(name));
- BLI_path_abs(name, re->main->name);
- BLI_path_frame(name, re->r.cfra, 0);
-
- if(re->backbuf) {
- re->backbuf->id.us--;
- if(re->backbuf->id.us<1)
- BKE_image_signal(re->backbuf, NULL, IMA_SIGNAL_RELOAD);
- }
-
- re->backbuf= BKE_add_image_file(name);
- ibuf= BKE_image_get_ibuf(re->backbuf, NULL);
- if(ibuf==NULL) {
- // error() doesnt work with render window open
- //error("No backbuf there!");
- printf("Error: No backbuf %s\n", name);
- }
- else {
- if (re->r.mode & R_FIELDS)
- image_de_interlace(re->backbuf, re->r.mode & R_ODDFIELD);
- }
- }
-}
-
/* main render routine, no compositing */
static void do_render_fields_blur_3d(Render *re)
{
@@ -2105,10 +2100,6 @@ static void do_render_fields_blur_3d(Render *re)
G.afbreek= 1;
return;
}
-
- /* backbuffer initialize */
- if(re->r.bufflag & 1)
- load_backbuffer(re);
/* now use renderdata and camera to set viewplane */
RE_SetCamera(re, camera);
@@ -2203,6 +2194,24 @@ static void render_scene(Render *re, Scene *sce, int cfra)
do_render_fields_blur_3d(resc);
}
+/* helper call to detect if this scene needs a render, or if there's a any render layer to render */
+static int composite_needs_render(Scene *sce, int this_scene)
+{
+ bNodeTree *ntree= sce->nodetree;
+ bNode *node;
+
+ if(ntree==NULL) return 1;
+ if(sce->use_nodes==0) return 1;
+ if((sce->r.scemode & R_DOCOMP)==0) return 1;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type==CMP_NODE_R_LAYERS)
+ if(this_scene==0 || node->id==NULL || node->id==&sce->id)
+ return 1;
+ }
+ return 0;
+}
+
static void tag_scenes_for_render(Render *re)
{
bNode *node;
@@ -2211,7 +2220,8 @@ static void tag_scenes_for_render(Render *re)
for(sce= re->main->scene.first; sce; sce= sce->id.next)
sce->id.flag &= ~LIB_DOIT;
- re->scene->id.flag |= LIB_DOIT;
+ if(RE_GetCamera(re) && composite_needs_render(re->scene, 1))
+ re->scene->id.flag |= LIB_DOIT;
if(re->scene->nodetree==NULL) return;
@@ -2248,6 +2258,8 @@ static void ntree_render_scenes(Render *re)
render_scene(re, scene, cfra);
restore_scene= (scene != re->scene);
node->id->flag &= ~LIB_DOIT;
+
+ NodeTagChanged(re->scene->nodetree, node);
}
}
}
@@ -2258,24 +2270,6 @@ static void ntree_render_scenes(Render *re)
set_scene_bg(re->main, re->scene);
}
-/* helper call to detect if theres a composite with render-result node */
-static int composite_needs_render(Scene *sce)
-{
- bNodeTree *ntree= sce->nodetree;
- bNode *node;
-
- if(ntree==NULL) return 1;
- if(sce->use_nodes==0) return 1;
- if((sce->r.scemode & R_DOCOMP)==0) return 1;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->type==CMP_NODE_R_LAYERS)
- if(node->id==NULL || node->id==&sce->id)
- return 1;
- }
- return 0;
-}
-
/* bad call... need to think over proper method still */
static void render_composit_stats(void *UNUSED(arg), char *str)
{
@@ -2291,6 +2285,16 @@ static void do_merge_fullsample(Render *re, bNodeTree *ntree)
float *rectf, filt[3][3];
int sample;
+ /* interaction callbacks */
+ if(ntree) {
+ ntree->stats_draw= render_composit_stats;
+ ntree->test_break= re->test_break;
+ ntree->progress= re->progress;
+ ntree->sdh= re->sdh;
+ ntree->tbh= re->tbh;
+ ntree->prh= re->prh;
+ }
+
/* filtmask needs it */
R= *re;
@@ -2298,25 +2302,27 @@ static void do_merge_fullsample(Render *re, bNodeTree *ntree)
rectf= MEM_mapallocN(re->rectx*re->recty*sizeof(float)*4, "fullsample rgba");
for(sample=0; sample<re->r.osa; sample++) {
+ Render *re1;
RenderResult rres;
int x, y, mask;
- /* set all involved renders on the samplebuffers (first was done by render itself) */
+ /* enable full sample print */
+ R.i.curfsa= sample+1;
+
+ /* set all involved renders on the samplebuffers (first was done by render itself, but needs tagged) */
/* also function below assumes this */
- if(sample) {
- Render *re1;
- tag_scenes_for_render(re);
- for(re1= RenderGlobal.renderlist.first; re1; re1= re1->next) {
- if(re1->scene->id.flag & LIB_DOIT) {
- if(re1->r.scemode & R_FULL_SAMPLE) {
+ tag_scenes_for_render(re);
+ for(re1= RenderGlobal.renderlist.first; re1; re1= re1->next) {
+ if(re1->scene->id.flag & LIB_DOIT) {
+ if(re1->r.scemode & R_FULL_SAMPLE) {
+ if(sample)
read_render_result(re1, sample);
- ntreeCompositTagRender(re1->scene); /* ensure node gets exec to put buffers on stack */
- }
+ ntreeCompositTagRender(re1->scene); /* ensure node gets exec to put buffers on stack */
}
}
}
-
+
/* composite */
if(ntree) {
ntreeCompositTagRender(re->scene);
@@ -2359,6 +2365,17 @@ static void do_merge_fullsample(Render *re, bNodeTree *ntree)
break;
}
+ /* clear interaction callbacks */
+ if(ntree) {
+ ntree->stats_draw= NULL;
+ ntree->test_break= NULL;
+ ntree->progress= NULL;
+ ntree->tbh= ntree->sdh= ntree->prh= NULL;
+ }
+
+ /* disable full sample print */
+ R.i.curfsa= 0;
+
BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE);
if(re->result->rectf)
MEM_freeN(re->result->rectf);
@@ -2398,8 +2415,10 @@ void RE_MergeFullSample(Render *re, Main *bmain, Scene *sce, bNodeTree *ntree)
}
/* own render result should be read/allocated */
- if(re->scene->id.flag & LIB_DOIT)
+ if(re->scene->id.flag & LIB_DOIT) {
RE_ReadRenderResult(re->scene, re->scene);
+ re->scene->id.flag &= ~LIB_DOIT;
+ }
/* and now we can draw (result is there) */
re->display_init(re->dih, re->result);
@@ -2417,12 +2436,21 @@ static void do_render_composite_fields_blur_3d(Render *re)
/* INIT seeding, compositor can use random texture */
BLI_srandom(re->r.cfra);
- if(composite_needs_render(re->scene)) {
+ if(composite_needs_render(re->scene, 1)) {
/* save memory... free all cached images */
ntreeFreeCache(ntree);
do_render_fields_blur_3d(re);
- } else {
+ }
+ else {
+ /* ensure new result gets added, like for regular renders */
+ BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE);
+
+ RE_FreeRenderResult(re->result);
+ re->result= new_render_result(re, &re->disprect, 0, RR_USEMEM);
+
+ BLI_rw_mutex_unlock(&re->resultmutex);
+
/* scene render process already updates animsys */
update_newframe = 1;
}
@@ -2519,7 +2547,7 @@ static void do_render_seq(Render * re)
if(recurs_depth==0) {
/* otherwise sequencer animation isnt updated */
- BKE_animsys_evaluate_all_animation(re->main, (float)cfra); // XXX, was BKE_curframe(re->scene)
+ BKE_animsys_evaluate_all_animation(re->main, re->scene, (float)cfra); // XXX, was BKE_curframe(re->scene)
}
recurs_depth++;
@@ -2706,14 +2734,14 @@ static int check_valid_camera(Scene *scene, Object *camera_override)
return 1;
}
-int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, void (*error)(void *handle, const char *str))
+int RE_is_rendering_allowed(Scene *scene, Object *camera_override, ReportList *reports)
{
SceneRenderLayer *srl;
if(scene->r.mode & R_BORDER) {
if(scene->r.border.xmax <= scene->r.border.xmin ||
scene->r.border.ymax <= scene->r.border.ymin) {
- error(erh, "No border area selected.");
+ BKE_report(reports, RPT_ERROR, "No border area selected.");
return 0;
}
}
@@ -2724,13 +2752,13 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
scene_unique_exr_name(scene, str, 0);
if (BLI_is_writable(str)==0) {
- error(erh, "Can not save render buffers, check the temp default path");
+ BKE_report(reports, RPT_ERROR, "Can not save render buffers, check the temp default path");
return 0;
}
/* no fullsample and edge */
if((scene->r.scemode & R_FULL_SAMPLE) && (scene->r.mode & R_EDGE)) {
- error(erh, "Full Sample doesn't support Edge Enhance");
+ BKE_report(reports, RPT_ERROR, "Full Sample doesn't support Edge Enhance");
return 0;
}
@@ -2744,7 +2772,7 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
bNode *node;
if(ntree==NULL) {
- error(erh, "No Nodetree in Scene");
+ BKE_report(reports, RPT_ERROR, "No Nodetree in Scene");
return 0;
}
@@ -2753,13 +2781,13 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
break;
if(node==NULL) {
- error(erh, "No Render Output Node in Scene");
+ BKE_report(reports, RPT_ERROR, "No Render Output Node in Scene");
return 0;
}
if(scene->r.scemode & R_FULL_SAMPLE) {
- if(composite_needs_render(scene)==0) {
- error(erh, "Full Sample AA not supported without 3d rendering");
+ if(composite_needs_render(scene, 0)==0) {
+ BKE_report(reports, RPT_ERROR, "Full Sample AA not supported without 3d rendering");
return 0;
}
}
@@ -2768,7 +2796,7 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
/* check valid camera, without camera render is OK (compo, seq) */
if(!check_valid_camera(scene, camera_override)) {
- error(erh, "No camera");
+ BKE_report(reports, RPT_ERROR, "No camera");
return 0;
}
@@ -2778,7 +2806,7 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
/* forbidden combinations */
if(scene->r.mode & R_PANORAMA) {
if(scene->r.mode & R_ORTHO) {
- error(erh, "No Ortho render possible for Panorama");
+ BKE_report(reports, RPT_ERROR, "No Ortho render possible for Panorama");
return 0;
}
}
@@ -2794,13 +2822,13 @@ int RE_is_rendering_allowed(Scene *scene, Object *camera_override, void *erh, vo
if(!(srl->layflag & SCE_LAY_DISABLE))
break;
if(srl==NULL) {
- error(erh, "All RenderLayers are disabled");
+ BKE_report(reports, RPT_ERROR, "All RenderLayers are disabled");
return 0;
}
/* renderer */
if(!ELEM(scene->r.renderer, R_INTERN, R_YAFRAY)) {
- error(erh, "Unknown render engine set");
+ BKE_report(reports, RPT_ERROR, "Unknown render engine set");
return 0;
}
@@ -2902,6 +2930,11 @@ static int render_initialize_from_main(Render *re, Main *bmain, Scene *scene, Sc
return 1;
}
+void RE_SetReports(Render *re, ReportList *reports)
+{
+ re->reports= reports;
+}
+
/* general Blender frame render call */
void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *srl, Object *camera_override, unsigned int lay, int frame, const short write_still)
{
@@ -2912,6 +2945,9 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *sr
if(render_initialize_from_main(re, bmain, scene, srl, camera_override, lay, 0, 0)) {
MEM_reset_peak_memory();
+
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_PRE);
+
do_render_all_options(re);
if(write_still && !G.afbreek) {
@@ -2924,16 +2960,18 @@ void RE_BlenderFrame(Render *re, Main *bmain, Scene *scene, SceneRenderLayer *sr
BKE_makepicstring(name, scene->r.pic, scene->r.cfra, scene->r.imtype, scene->r.scemode & R_EXTENSION, FALSE);
/* reports only used for Movie */
- do_write_image_or_movie(re, scene, NULL, NULL, name);
+ do_write_image_or_movie(re, scene, NULL, name);
}
}
+
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_POST); /* keep after file save */
}
/* UGLY WARNING */
G.rendering= 0;
}
-static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, ReportList *reports, const char *name_override)
+static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, const char *name_override)
{
char name[FILE_MAX];
RenderResult rres;
@@ -2951,7 +2989,7 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R
dofree = 1;
}
RE_ResultGet32(re, (unsigned int *)rres.rect32);
- ok= mh->append_movie(&re->r, scene->r.cfra, rres.rect32, rres.rectx, rres.recty, reports);
+ ok= mh->append_movie(&re->r, scene->r.cfra, rres.rect32, rres.rectx, rres.recty, re->reports);
if(dofree) {
MEM_freeN(rres.rect32);
}
@@ -2965,7 +3003,7 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R
if(re->r.imtype==R_MULTILAYER) {
if(re->result) {
- RE_WriteRenderResult(re->result, name, scene->r.quality);
+ RE_WriteRenderResult(re->reports, re->result, name, scene->r.quality);
printf("Saved: %s", name);
}
}
@@ -2992,6 +3030,15 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R
}
}
+ /* color -> greyscale */
+ /* editing directly would alter the render view */
+ if(scene->r.planes == 8) {
+ ImBuf *ibuf_bw= IMB_dupImBuf(ibuf);
+ IMB_color_to_bw(ibuf_bw);
+ IMB_freeImBuf(ibuf);
+ ibuf= ibuf_bw;
+ }
+
ok= BKE_write_ibuf_stamp(scene, camera, ibuf, name, scene->r.imtype, scene->r.subimtype, scene->r.quality);
if(ok==0) {
@@ -3024,7 +3071,7 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R
}
/* saves images to disk */
-void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_override, unsigned int lay, int sfra, int efra, int tfra, ReportList *reports)
+void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_override, unsigned int lay, int sfra, int efra, int tfra)
{
bMovieHandle *mh= BKE_get_movie_handle(scene->r.imtype);
int cfrao= scene->r.cfra;
@@ -3037,24 +3084,31 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri
/* ugly global still... is to prevent renderwin events and signal subsurfs etc to make full resol */
/* is also set by caller renderwin.c */
G.rendering= 1;
-
+
if(BKE_imtype_is_movie(scene->r.imtype))
- if(!mh->start_movie(scene, &re->r, re->rectx, re->recty, reports))
+ if(!mh->start_movie(scene, &re->r, re->rectx, re->recty, re->reports))
G.afbreek= 1;
if (mh->get_next_frame) {
while (!(G.afbreek == 1)) {
- int nf = mh->get_next_frame(&re->r, reports);
+ int nf = mh->get_next_frame(&re->r, re->reports);
if (nf >= 0 && nf >= scene->r.sfra && nf <= scene->r.efra) {
scene->r.cfra = re->r.cfra = nf;
-
+
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_PRE);
+
do_render_all_options(re);
if(re->test_break(re->tbh) == 0) {
- if(!do_write_image_or_movie(re, scene, mh, reports, NULL))
+ if(!do_write_image_or_movie(re, scene, mh, NULL))
G.afbreek= 1;
}
- } else {
+
+ if(G.afbreek == 0) {
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_POST); /* keep after file save */
+ }
+ }
+ else {
if(re->test_break(re->tbh))
G.afbreek= 1;
}
@@ -3101,12 +3155,16 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri
}
re->r.cfra= scene->r.cfra; /* weak.... */
+
+ /* run callbacs before rendering, before the scene is updated */
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_PRE);
+
do_render_all_options(re);
if(re->test_break(re->tbh) == 0) {
if(!G.afbreek)
- if(!do_write_image_or_movie(re, scene, mh, reports, NULL))
+ if(!do_write_image_or_movie(re, scene, mh, NULL))
G.afbreek= 1;
}
else
@@ -3122,6 +3180,10 @@ void RE_BlenderAnim(Render *re, Main *bmain, Scene *scene, Object *camera_overri
break;
}
+
+ if(G.afbreek==0) {
+ BLI_exec_cb(re->main, (ID *)scene, BLI_CB_EVT_RENDER_POST); /* keep after file save */
+ }
}
}
@@ -3158,7 +3220,7 @@ void RE_PreviewRender(Render *re, Main *bmain, Scene *sce)
/* note; repeated win/disprect calc... solve that nicer, also in compo */
/* only the temp file! */
-void RE_ReadRenderResult(Scene *scene, Scene *scenode)
+int RE_ReadRenderResult(Scene *scene, Scene *scenode)
{
Render *re;
int winx, winy;
@@ -3192,7 +3254,7 @@ void RE_ReadRenderResult(Scene *scene, Scene *scenode)
RE_InitState(re, NULL, &scene->r, NULL, winx, winy, &disprect);
re->scene= scene;
- read_render_result(re, 0);
+ return read_render_result(re, 0);
}
void RE_set_max_threads(int threads)
@@ -3310,6 +3372,11 @@ void RE_engine_update_stats(RenderEngine *engine, const char *stats, const char
re->i.statstr= NULL;
}
+void RE_engine_report(RenderEngine *engine, int type, const char *msg)
+{
+ BKE_report(engine->re->reports, type, msg);
+}
+
/* loads in image into a result, size must match
* x/y offsets are only used on a partial copy when dimensions dont match */
void RE_layer_load_from_file(RenderLayer *layer, ReportList *reports, const char *filename, int x, int y)
@@ -3418,3 +3485,60 @@ static int external_render_3d(Render *re, int do_all)
return 1;
}
+const float default_envmap_layout[] = { 0,0, 1,0, 2,0, 0,1, 1,1, 2,1 };
+
+int RE_WriteEnvmapResult(struct ReportList *reports, Scene *scene, EnvMap *env, const char *relpath, int imtype, float layout[12])
+{
+ ImBuf *ibuf=NULL;
+ int ok;
+ int dx;
+ int maxX=0,maxY=0,i=0;
+ char filepath[FILE_MAX];
+
+ if(env->cube[1]==NULL) {
+ BKE_report(reports, RPT_ERROR, "There is no generated environment map available to save");
+ return 0;
+ }
+
+ dx= env->cube[1]->x;
+
+ if (env->type == ENV_CUBE) {
+ for (i=0; i < 12; i+=2) {
+ maxX = MAX2(maxX,layout[i] + 1);
+ maxY = MAX2(maxY,layout[i+1] + 1);
+ }
+
+ ibuf = IMB_allocImBuf(maxX*dx, maxY*dx, 24, IB_rectfloat);
+
+ for (i=0; i < 12; i+=2)
+ if (layout[i] > -1 && layout[i+1] > -1)
+ IMB_rectcpy(ibuf, env->cube[i/2], layout[i]*dx, layout[i+1]*dx, 0, 0, dx, dx);
+ }
+ else if (env->type == ENV_PLANE) {
+ ibuf = IMB_allocImBuf(dx, dx, 24, IB_rectfloat);
+ IMB_rectcpy(ibuf, env->cube[1], 0, 0, 0, 0, dx, dx);
+ }
+ else {
+ BKE_report(reports, RPT_ERROR, "Invalid environment map type");
+ return 0;
+ }
+
+ if (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)
+ ibuf->profile = IB_PROFILE_LINEAR_RGB;
+
+ /* to save, we first get absolute path */
+ BLI_strncpy(filepath, relpath, sizeof(filepath));
+ BLI_path_abs(filepath, G.main->name);
+
+ ok= BKE_write_ibuf(ibuf, filepath, imtype, scene->r.subimtype, scene->r.quality);
+
+ IMB_freeImBuf(ibuf);
+
+ if(ok) {
+ return TRUE;
+ }
+ else {
+ BKE_report(reports, RPT_ERROR, "Error writing environment map.");
+ return FALSE;
+ }
+}
diff --git a/source/blender/render/intern/source/pixelblending.c b/source/blender/render/intern/source/pixelblending.c
index c2e34e2a70d..d945436be6b 100644
--- a/source/blender/render/intern/source/pixelblending.c
+++ b/source/blender/render/intern/source/pixelblending.c
@@ -68,11 +68,11 @@ extern struct Render R;
/* Threshold for a 'full' pixel: pixels with alpha above this level are */
/* considered opaque This is the decimal value for 0xFFF0 / 0xFFFF */
-#define RE_FULL_COLOR_FLOAT 0.9998
+#define RE_FULL_COLOR_FLOAT 0.9998f
/* Threshold for an 'empty' pixel: pixels with alpha above this level are */
/* considered completely transparent. This is the decimal value */
/* for 0x000F / 0xFFFF */
-#define RE_EMPTY_COLOR_FLOAT 0.0002
+#define RE_EMPTY_COLOR_FLOAT 0.0002f
/* ------------------------------------------------------------------------- */
@@ -82,7 +82,7 @@ void addAlphaOverFloat(float *dest, float *source)
/* d = s + (1-alpha_s)d*/
float mul;
- mul= 1.0 - source[3];
+ mul= 1.0f - source[3];
dest[0]= (mul*dest[0]) + source[0];
dest[1]= (mul*dest[1]) + source[1];
@@ -98,7 +98,7 @@ void addAlphaUnderFloat(float *dest, float *source)
{
float mul;
- mul= 1.0 - dest[3];
+ mul= 1.0f - dest[3];
dest[0]+= (mul*source[0]);
dest[1]+= (mul*source[1]);
@@ -115,7 +115,7 @@ void addalphaAddfacFloat(float *dest, float *source, char addfac)
/* Addfac is a number between 0 and 1: rescale */
/* final target is to diminish the influence of dest when addfac rises */
- m = 1.0 - ( source[3] * ((255.0 - addfac) / 255.0));
+ m = 1.0f - ( source[3] * ((255 - addfac) / 255.0f));
/* blend colors*/
c= (m * dest[0]) + source[0];
@@ -178,7 +178,7 @@ void add_filt_fmask(unsigned int mask, float *col, float *rowbuf, int row_w)
a= j;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
rb1[0]+= val*r;
rb1[1]+= val*g;
rb1[2]+= val*b;
@@ -187,7 +187,7 @@ void add_filt_fmask(unsigned int mask, float *col, float *rowbuf, int row_w)
a+=3;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
rb2[0]+= val*r;
rb2[1]+= val*g;
rb2[2]+= val*b;
@@ -196,7 +196,7 @@ void add_filt_fmask(unsigned int mask, float *col, float *rowbuf, int row_w)
a+=3;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
rb3[0]+= val*r;
rb3[1]+= val*g;
rb3[2]+= val*b;
@@ -345,21 +345,21 @@ void add_filt_fmask_pixsize(unsigned int mask, float *in, float *rowbuf, int row
a= j;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
for(i= 0; i<pixsize; i++)
rb1[i]+= val*in[i];
}
a+=3;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
for(i= 0; i<pixsize; i++)
rb2[i]+= val*in[i];
}
a+=3;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
for(i= 0; i<pixsize; i++)
rb3[i]+= val*in[i];
}
@@ -396,5 +396,3 @@ void addalphaAddFloat(float *dest, float *source)
/* eof pixelblending.c */
-
-
diff --git a/source/blender/render/intern/source/pixelshading.c b/source/blender/render/intern/source/pixelshading.c
index 2d42938f6ac..febfea89f04 100644
--- a/source/blender/render/intern/source/pixelshading.c
+++ b/source/blender/render/intern/source/pixelshading.c
@@ -86,7 +86,7 @@ static void render_lighting_halo(HaloRen *har, float *colf)
ir= ig= ib= 0.0;
VECCOPY(rco, har->co);
- dco[0]=dco[1]=dco[2]= 1.0/har->rad;
+ dco[0]=dco[1]=dco[2]= 1.0f/har->rad;
vn= har->no;
@@ -114,9 +114,9 @@ static void render_lighting_halo(HaloRen *har, float *colf)
if(lar->mode & LA_QUAD) {
t= 1.0;
- if(lar->ld1>0.0)
+ if(lar->ld1>0.0f)
t= lar->dist/(lar->dist+lar->ld1*ld);
- if(lar->ld2>0.0)
+ if(lar->ld2>0.0f)
t*= lar->distkw/(lar->distkw+lar->ld2*ld*ld);
lampdist= t;
@@ -127,7 +127,7 @@ static void render_lighting_halo(HaloRen *har, float *colf)
if(lar->mode & LA_SPHERE) {
t= lar->dist - ld;
- if(t<0.0) continue;
+ if(t<0.0f) continue;
t/= lar->dist;
lampdist*= (t);
@@ -155,7 +155,7 @@ static void render_lighting_halo(HaloRen *har, float *colf)
if(lar->type==LA_SPOT) {
if(lar->mode & LA_SQUARE) {
- if(lv[0]*lar->vec[0]+lv[1]*lar->vec[1]+lv[2]*lar->vec[2]>0.0) {
+ if(lv[0]*lar->vec[0]+lv[1]*lar->vec[1]+lv[2]*lar->vec[2]>0.0f) {
float x, lvrot[3];
/* rotate view to lampspace */
@@ -165,7 +165,7 @@ static void render_lighting_halo(HaloRen *har, float *colf)
x= MAX2(fabs(lvrot[0]/lvrot[2]) , fabs(lvrot[1]/lvrot[2]));
/* 1.0/(sqrt(1+x*x)) is equivalent to cos(atan(x)) */
- inpr= 1.0/(sqrt(1.0+x*x));
+ inpr= 1.0/(sqrt(1.0f+x*x));
}
else inpr= 0.0;
}
@@ -179,21 +179,21 @@ static void render_lighting_halo(HaloRen *har, float *colf)
t= inpr-t;
i= 1.0;
soft= 1.0;
- if(t<lar->spotbl && lar->spotbl!=0.0) {
+ if(t<lar->spotbl && lar->spotbl!=0.0f) {
/* soft area */
i= t/lar->spotbl;
t= i*i;
- soft= (3.0*t-2.0*t*i);
+ soft= (3.0f*t-2.0f*t*i);
inpr*= soft;
}
if(lar->mode & LA_ONLYSHADOW) {
/* if(ma->mode & MA_SHADOW) { */
/* dot product positive: front side face! */
inp= vn[0]*lv[0] + vn[1]*lv[1] + vn[2]*lv[2];
- if(inp>0.0) {
+ if(inp>0.0f) {
/* testshadowbuf==0.0 : 100% shadow */
shadfac = testshadowbuf(&R, lar->shb, rco, dco, dco, inp, 0.0f);
- if( shadfac>0.0 ) {
+ if( shadfac>0.0f ) {
shadfac*= inp*soft*lar->energy;
ir -= shadfac;
ig -= shadfac;
@@ -219,32 +219,32 @@ static void render_lighting_halo(HaloRen *har, float *colf)
i= inp;
if(lar->type==LA_HEMI) {
- i= 0.5*i+0.5;
+ i= 0.5f*i+0.5f;
}
- if(i>0.0) {
+ if(i>0.0f) {
i*= lampdist;
}
/* shadow */
- if(i> -0.41) { /* heuristic valua! */
+ if(i> -0.41f) { /* heuristic valua! */
shadfac= 1.0;
if(lar->shb) {
shadfac = testshadowbuf(&R, lar->shb, rco, dco, dco, inp, 0.0f);
- if(shadfac==0.0) continue;
+ if(shadfac==0.0f) continue;
i*= shadfac;
}
}
- if(i>0.0) {
+ if(i>0.0f) {
ir+= i*lacol[0];
ig+= i*lacol[1];
ib+= i*lacol[2];
}
}
- if(ir<0.0) ir= 0.0;
- if(ig<0.0) ig= 0.0;
- if(ib<0.0) ib= 0.0;
+ if(ir<0.0f) ir= 0.0f;
+ if(ig<0.0f) ig= 0.0f;
+ if(ib<0.0f) ib= 0.0f;
colf[0]*= ir;
colf[1]*= ig;
@@ -301,7 +301,7 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
}
else alpha= har->alfa;
- if(alpha==0.0)
+ if(alpha==0.0f)
return 0;
/* soften the halo if it intersects geometry */
@@ -355,15 +355,15 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
fac= fabs( rc[1]*(har->rad*fabs(rc[0]) - radist) );
- if(fac< 1.0) {
- ringf+= (1.0-fac);
+ if(fac< 1.0f) {
+ ringf+= (1.0f-fac);
}
}
}
if(har->type & HA_VECT) {
dist= fabs( har->cos*(yn) - har->sin*(xn) )/har->rad;
- if(dist>1.0) dist= 1.0;
+ if(dist>1.0f) dist= 1.0f;
if(har->tex) {
zn= har->sin*xn - har->cos*yn;
yn= har->cos*xn + har->sin*yn;
@@ -374,7 +374,7 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
if(har->type & HA_FLARECIRC) {
- dist= 0.5+fabs(dist-0.5);
+ dist= 0.5+fabs(dist-0.5f);
}
@@ -418,7 +418,7 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
float ster, angle;
/* rotation */
angle= atan2(yn, xn);
- angle*= (1.0+0.25*har->starpoints);
+ angle*= (1.0f+0.25f*har->starpoints);
co= cos(angle);
si= sin(angle);
@@ -426,15 +426,15 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
angle= (co*xn+si*yn)*(co*yn-si*xn);
ster= fabs(angle);
- if(ster>1.0) {
+ if(ster>1.0f) {
ster= (har->rad)/(ster);
- if(ster<1.0) dist*= sqrt(ster);
+ if(ster<1.0f) dist*= sqrt(ster);
}
}
/* disputable optimize... (ton) */
- if(dist<=0.00001)
+ if(dist<=0.00001f)
return 0;
dist*= alpha;
@@ -471,7 +471,7 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
}
/* Next, we do the line and ring factor modifications. */
- if(linef!=0.0) {
+ if(linef!=0.0f) {
Material *ma= har->mat;
col[0]+= linef * ma->specr;
@@ -481,7 +481,7 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
if(har->type & HA_XALPHA) col[3]+= linef*linef;
else col[3]+= linef;
}
- if(ringf!=0.0) {
+ if(ringf!=0.0f) {
Material *ma= har->mat;
col[0]+= ringf * ma->mirr;
@@ -502,21 +502,6 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
/* ------------------------------------------------------------------------- */
-static void fillBackgroundImage(float *collector, float fx, float fy)
-{
- collector[0] = 0.0;
- collector[1] = 0.0;
- collector[2] = 0.0;
- collector[3] = 0.0;
-
- if(R.backbuf) {
- float dx= 1.0f/(float)R.winx;
- float dy= 1.0f/(float)R.winy;
-
- image_sample(R.backbuf, fx*dx, fy*dy, dx, dy, collector);
- }
-}
-
/* Only view vector is important here. Result goes to colf[3] */
void shadeSkyView(float *colf, float *rco, float *view, float *dxyview, short thread)
{
@@ -531,16 +516,16 @@ void shadeSkyView(float *colf, float *rco, float *view, float *dxyview, short th
blend= view[0]*R.grvec[0]+ view[1]*R.grvec[1]+ view[2]*R.grvec[2];
- if(blend<0.0) skyflag= 0;
+ if(blend<0.0f) skyflag= 0;
blend= fabs(blend);
}
else if(R.wrld.skytype & WO_SKYPAPER) {
- blend= 0.5+ 0.5*view[1];
+ blend= 0.5f + 0.5f * view[1];
}
else {
/* the fraction of how far we are above the bottom of the screen */
- blend= fabs(0.5+ view[1]);
+ blend= fabs(0.5f + view[1]);
}
VECCOPY(hor, &R.wrld.horr);
@@ -560,8 +545,8 @@ void shadeSkyView(float *colf, float *rco, float *view, float *dxyview, short th
do_sky_tex(rco, lo, dxyview, hor, zen, &blend, skyflag, thread);
}
- if(blend>1.0) blend= 1.0;
- blendm= 1.0-blend;
+ if(blend>1.0f) blend= 1.0f;
+ blendm= 1.0f-blend;
/* No clipping, no conversion! */
if(R.wrld.skytype & WO_SKYBLEND) {
@@ -595,8 +580,8 @@ void shadeSunView(float *colf, float *view)
VECCOPY(sview, view);
normalize_v3(sview);
mul_m3_v3(R.imat, sview);
- if (sview[2] < 0.0)
- sview[2] = 0.0;
+ if (sview[2] < 0.0f)
+ sview[2] = 0.0f;
normalize_v3(sview);
do_init= 0;
}
@@ -626,18 +611,14 @@ void shadeSkyPixel(float *collector, float fx, float fy, short thread)
float fac;
- /* 1. Do a backbuffer image: */
- if(R.r.bufflag & 1) {
- fillBackgroundImage(collector, fx, fy);
- }
- else if((R.wrld.skytype & (WO_SKYBLEND+WO_SKYTEX))==0) {
- /* 2. solid color */
+ if((R.wrld.skytype & (WO_SKYBLEND+WO_SKYTEX))==0) {
+ /* 1. solid color */
VECCOPY(collector, &R.wrld.horr);
collector[3] = 0.0f;
}
else {
- /* 3. */
+ /* 2. */
/* This one true because of the context of this routine */
if(R.wrld.skytype & WO_SKYPAPER) {
diff --git a/source/blender/render/intern/source/pointdensity.c b/source/blender/render/intern/source/pointdensity.c
index b45528b96d9..980f6b6af1e 100644
--- a/source/blender/render/intern/source/pointdensity.c
+++ b/source/blender/render/intern/source/pointdensity.c
@@ -104,7 +104,7 @@ static void pointdensity_cache_psys(Render *re, PointDensity *pd, Object *ob, Pa
{
DerivedMesh* dm;
ParticleKey state;
- ParticleSimulationData sim= {0};
+ ParticleSimulationData sim= {NULL};
ParticleData *pa=NULL;
float cfra = BKE_curframe(re->scene);
int i, childexists;
diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c
index e8f66cf18ef..e82e969d502 100644
--- a/source/blender/render/intern/source/rayshade.c
+++ b/source/blender/render/intern/source/rayshade.c
@@ -611,12 +611,12 @@ static int refraction(float *refract, float *n, float *view, float index)
index = 1.0f/index;
fac= 1.0f - (1.0f - dot*dot)*index*index;
if(fac<= 0.0f) return 0;
- fac= -dot*index + sqrt(fac);
+ fac= -dot*index + sqrtf(fac);
}
else {
fac= 1.0f - (1.0f - dot*dot)*index*index;
if(fac<= 0.0f) return 0;
- fac= -dot*index - sqrt(fac);
+ fac= -dot*index - sqrtf(fac);
}
refract[0]= index*view[0] + fac*n[0];
@@ -693,7 +693,7 @@ static float shade_by_transmission(Isect *is, ShadeInput *shi, ShadeResult *shr)
if(p < 0.0f) p= 0.0f;
else if (p > 10.0f) p= 10.0f;
- shr->alpha *= pow(d, p);
+ shr->alpha *= powf(d, p);
if (shr->alpha > 1.0f)
shr->alpha= 1.0f;
}
@@ -720,11 +720,11 @@ static void ray_fadeout(Isect *is, ShadeInput *shi, float *col, float *blendcol,
/* if fading out, linear blend against fade color */
float blendfac;
- blendfac = 1.0 - len_v3v3(shi->co, is->start)/dist_mir;
+ blendfac = 1.0f - len_v3v3(shi->co, is->start)/dist_mir;
- col[0] = col[0]*blendfac + (1.0 - blendfac)*blendcol[0];
- col[1] = col[1]*blendfac + (1.0 - blendfac)*blendcol[1];
- col[2] = col[2]*blendfac + (1.0 - blendfac)*blendcol[2];
+ col[0] = col[0]*blendfac + (1.0f - blendfac)*blendcol[0];
+ col[1] = col[1]*blendfac + (1.0f - blendfac)*blendcol[1];
+ col[2] = col[2]*blendfac + (1.0f - blendfac)*blendcol[2];
}
/* the main recursive tracer itself
@@ -870,7 +870,7 @@ static void traceray(ShadeInput *origshi, ShadeResult *origshr, short depth, flo
col[2]= shr.diff[2] + shr.spec[2];
}
- if (dist_mir > 0.0) {
+ if (dist_mir > 0.0f) {
float blendcol[3];
/* max ray distance set, but found an intersection, so fade this color
@@ -922,11 +922,11 @@ static void DP_energy(float *table, float *vec, int tot, float xsize, float ysiz
}
}
}
- vec[0] += 0.1*min*result[0]/(float)tot;
- vec[1] += 0.1*min*result[1]/(float)tot;
+ vec[0] += 0.1f*min*result[0]/(float)tot;
+ vec[1] += 0.1f*min*result[1]/(float)tot;
// cyclic clamping
- vec[0]= vec[0] - xsize*floor(vec[0]/xsize + 0.5);
- vec[1]= vec[1] - ysize*floor(vec[1]/ysize + 0.5);
+ vec[0]= vec[0] - xsize*floorf(vec[0]/xsize + 0.5f);
+ vec[1]= vec[1] - ysize*floorf(vec[1]/ysize + 0.5f);
}
// random offset of 1 in 2
@@ -934,7 +934,7 @@ static void jitter_plane_offset(float *jitter1, float *jitter2, int tot, float s
{
float dsizex= sizex*ofsx;
float dsizey= sizey*ofsy;
- float hsizex= 0.5*sizex, hsizey= 0.5*sizey;
+ float hsizex= 0.5f*sizex, hsizey= 0.5f*sizey;
int x;
for(x=tot; x>0; x--, jitter1+=2, jitter2+=2) {
@@ -968,8 +968,8 @@ void init_jitter_plane(LampRen *lar)
/* fill table with random locations, area_size large */
for(x=0; x<tot; x++, fp+=2) {
- fp[0]= (BLI_frand()-0.5)*lar->area_size;
- fp[1]= (BLI_frand()-0.5)*lar->area_sizey;
+ fp[0]= (BLI_frand()-0.5f)*lar->area_size;
+ fp[1]= (BLI_frand()-0.5f)*lar->area_sizey;
}
while(iter--) {
@@ -1081,8 +1081,8 @@ static void QMC_initPixel(QMCSampler *qsa, int thread)
{
/* hammersley sequence is fixed, already created in QMCSampler init.
* per pixel, gets a random offset. We create separate offsets per thread, for write-safety */
- qsa->offs[thread][0] = 0.5 * BLI_thread_frand(thread);
- qsa->offs[thread][1] = 0.5 * BLI_thread_frand(thread);
+ qsa->offs[thread][0] = 0.5f * BLI_thread_frand(thread);
+ qsa->offs[thread][1] = 0.5f * BLI_thread_frand(thread);
}
else { /* SAMP_TYPE_HALTON */
@@ -1136,8 +1136,8 @@ static void QMC_samplePhong(float *vec, QMCSampler *qsa, int thread, int num, fl
pz = pow(s[1], blur);
sqr = sqrt(1.0f-pz*pz);
- vec[0] = cos(phi)*sqr;
- vec[1] = sin(phi)*sqr;
+ vec[0] = (float)(cosf(phi)*sqr);
+ vec[1] = (float)(sinf(phi)*sqr);
vec[2] = 0.0f;
}
@@ -1148,8 +1148,8 @@ static void QMC_sampleRect(float *vec, QMCSampler *qsa, int thread, int num, flo
QMC_getSample(s, qsa, thread, num);
- vec[0] = (s[0] - 0.5) * sizex;
- vec[1] = (s[1] - 0.5) * sizey;
+ vec[0] = (float)(s[0] - 0.5) * sizex;
+ vec[1] = (float)(s[1] - 0.5) * sizey;
vec[2] = 0.0f;
}
@@ -1164,8 +1164,8 @@ static void QMC_sampleDisc(float *vec, QMCSampler *qsa, int thread, int num, flo
phi = s[0]*2*M_PI;
sqr = sqrt(s[1]);
- vec[0] = cos(phi)*sqr* radius/2.0;
- vec[1] = sin(phi)*sqr* radius/2.0;
+ vec[0] = cosf(phi)*sqr* radius/2.0f;
+ vec[1] = sinf(phi)*sqr* radius/2.0f;
vec[2] = 0.0f;
}
@@ -1177,12 +1177,12 @@ static void QMC_sampleHemi(float *vec, QMCSampler *qsa, int thread, int num)
QMC_getSample(s, qsa, thread, num);
- phi = s[0]*2.f*M_PI;
+ phi = s[0]*2.0*M_PI;
sqr = sqrt(s[1]);
- vec[0] = cos(phi)*sqr;
- vec[1] = sin(phi)*sqr;
- vec[2] = 1.f - s[1]*s[1];
+ vec[0] = cosf(phi)*sqr;
+ vec[1] = sinf(phi)*sqr;
+ vec[2] = (float)(1.0 - s[1]*s[1]);
}
#if 0 /* currently not used */
@@ -1231,7 +1231,7 @@ static QMCSampler *get_thread_qmcsampler(Render *re, int thread, int type, int t
return qsa;
}
-static void release_thread_qmcsampler(Render *re, int thread, QMCSampler *qsa)
+static void release_thread_qmcsampler(Render *UNUSED(re), int UNUSED(thread), QMCSampler *qsa)
{
qsa->used= 0;
}
@@ -1272,7 +1272,7 @@ static int adaptive_sample_variance(int samples, float *col, float *colsq, float
var[1] = (colsq[1] / (float)samples) - (mean[1]*mean[1]);
var[2] = (colsq[2] / (float)samples) - (mean[2]*mean[2]);
- if ((var[0] * 0.4 < thresh) && (var[1] * 0.3 < thresh) && (var[2] * 0.6 < thresh))
+ if ((var[0] * 0.4f < thresh) && (var[1] * 0.3f < thresh) && (var[2] * 0.6f < thresh))
return 1;
else
return 0;
@@ -1283,7 +1283,7 @@ static int adaptive_sample_contrast_val(int samples, float prev, float val, floa
/* if the last sample's contribution to the total value was below a small threshold
* (i.e. the samples taken are very similar), then taking more samples that are probably
* going to be the same is wasting effort */
- if (fabs( prev/(float)(samples-1) - val/(float)samples ) < thresh) {
+ if (fabsf( prev/(float)(samples-1) - val/(float)samples ) < thresh) {
return 1;
} else
return 0;
@@ -1293,10 +1293,10 @@ static float get_avg_speed(ShadeInput *shi)
{
float pre_x, pre_y, post_x, post_y, speedavg;
- pre_x = (shi->winspeed[0] == PASS_VECTOR_MAX)?0.0:shi->winspeed[0];
- pre_y = (shi->winspeed[1] == PASS_VECTOR_MAX)?0.0:shi->winspeed[1];
- post_x = (shi->winspeed[2] == PASS_VECTOR_MAX)?0.0:shi->winspeed[2];
- post_y = (shi->winspeed[3] == PASS_VECTOR_MAX)?0.0:shi->winspeed[3];
+ pre_x = (shi->winspeed[0] == PASS_VECTOR_MAX)?0.0f:shi->winspeed[0];
+ pre_y = (shi->winspeed[1] == PASS_VECTOR_MAX)?0.0f:shi->winspeed[1];
+ post_x = (shi->winspeed[2] == PASS_VECTOR_MAX)?0.0f:shi->winspeed[2];
+ post_y = (shi->winspeed[3] == PASS_VECTOR_MAX)?0.0f:shi->winspeed[3];
speedavg = (sqrt(pre_x*pre_x + pre_y*pre_y) + sqrt(post_x*post_x + post_y*post_y)) / 2.0;
@@ -1316,7 +1316,7 @@ static void trace_refract(float *col, ShadeInput *shi, ShadeResult *shr)
float v_refract[3], v_refract_new[3];
float sampcol[4], colsq[4];
- float blur = pow(1.0 - shi->mat->gloss_tra, 3);
+ float blur = powf(1.0f - shi->mat->gloss_tra, 3);
short max_samples = shi->mat->samp_gloss_tra;
float adapt_thresh = shi->mat->adapt_thresh_tra;
@@ -1325,9 +1325,9 @@ static void trace_refract(float *col, ShadeInput *shi, ShadeResult *shr)
colsq[0] = colsq[1] = colsq[2] = 0.0;
col[0] = col[1] = col[2] = 0.0;
col[3]= shr->alpha;
-
- if (blur > 0.0) {
- if (adapt_thresh != 0.0) samp_type = SAMP_TYPE_HALTON;
+
+ if (blur > 0.0f) {
+ if (adapt_thresh != 0.0f) samp_type = SAMP_TYPE_HALTON;
else samp_type = SAMP_TYPE_HAMMERSLEY;
/* all samples are generated per pixel */
@@ -1386,13 +1386,13 @@ static void trace_refract(float *col, ShadeInput *shi, ShadeResult *shr)
samples++;
/* adaptive sampling */
- if (adapt_thresh < 1.0 && samples > max_samples/2)
+ if (adapt_thresh < 1.0f && samples > max_samples/2)
{
if (adaptive_sample_variance(samples, col, colsq, adapt_thresh))
break;
/* if the pixel so far is very dark, we can get away with less samples */
- if ( (col[0] + col[1] + col[2])/3.0/(float)samples < 0.01 )
+ if ( (col[0] + col[1] + col[2])/3.0f/(float)samples < 0.01f )
max_samples--;
}
}
@@ -1415,18 +1415,18 @@ static void trace_reflect(float *col, ShadeInput *shi, ShadeResult *shr, float f
float v_nor_new[3], v_reflect[3];
float sampcol[4], colsq[4];
- float blur = pow(1.0 - shi->mat->gloss_mir, 3);
+ float blur = powf(1.0f - shi->mat->gloss_mir, 3);
short max_samples = shi->mat->samp_gloss_mir;
float adapt_thresh = shi->mat->adapt_thresh_mir;
- float aniso = 1.0 - shi->mat->aniso_gloss_mir;
+ float aniso = 1.0f - shi->mat->aniso_gloss_mir;
int samples=0;
col[0] = col[1] = col[2] = 0.0;
colsq[0] = colsq[1] = colsq[2] = 0.0;
- if (blur > 0.0) {
- if (adapt_thresh != 0.0) samp_type = SAMP_TYPE_HALTON;
+ if (blur > 0.0f) {
+ if (adapt_thresh != 0.0f) samp_type = SAMP_TYPE_HALTON;
else samp_type = SAMP_TYPE_HAMMERSLEY;
/* all samples are generated per pixel */
@@ -1485,22 +1485,22 @@ static void trace_reflect(float *col, ShadeInput *shi, ShadeResult *shr, float f
samples++;
/* adaptive sampling */
- if (adapt_thresh > 0.0 && samples > max_samples/3)
+ if (adapt_thresh > 0.0f && samples > max_samples/3)
{
if (adaptive_sample_variance(samples, col, colsq, adapt_thresh))
break;
/* if the pixel so far is very dark, we can get away with less samples */
- if ( (col[0] + col[1] + col[2])/3.0/(float)samples < 0.01 )
+ if ( (col[0] + col[1] + col[2])/3.0f/(float)samples < 0.01f )
max_samples--;
/* reduce samples when reflection is dim due to low ray mirror blend value or fresnel factor
* and when reflection is blurry */
- if (fresnelfac < 0.1 * (blur+1)) {
+ if (fresnelfac < 0.1f * (blur+1)) {
max_samples--;
/* even more for very dim */
- if (fresnelfac < 0.05 * (blur+1))
+ if (fresnelfac < 0.05f * (blur+1))
max_samples--;
}
}
@@ -1659,7 +1659,7 @@ static void ray_trace_shadow_tra(Isect *is, ShadeInput *origshi, int depth, int
col[1] = a*col[1] + shr.alpha*shr.combined[1];
col[2] = a*col[2] + shr.alpha*shr.combined[2];
- col[3] = (1.0 - shr.alpha)*a;
+ col[3] = (1.0f - shr.alpha)*a;
}
if(depth>0 && col[3]>0.0f) {
@@ -1679,7 +1679,7 @@ static void ray_trace_shadow_tra(Isect *is, ShadeInput *origshi, int depth, int
/* not used, test function for ambient occlusion (yaf: pathlight) */
/* main problem; has to be called within shading loop, giving unwanted recursion */
-static int ray_trace_shadow_rad(ShadeInput *ship, ShadeResult *shr)
+static int UNUSED_FUNCTION(ray_trace_shadow_rad)(ShadeInput *ship, ShadeResult *shr)
{
static int counter=0, only_one= 0;
extern float hashvectf[];
@@ -1758,8 +1758,8 @@ static void RandomSpherical(float *v)
if ((r = 1.f - v[2]*v[2])>0.f) {
float a = 6.283185307f*BLI_frand();
r = sqrt(r);
- v[0] = r * cos(a);
- v[1] = r * sin(a);
+ v[0] = r * cosf(a);
+ v[1] = r * sinf(a);
}
else v[2] = 1.f;
}
@@ -1956,7 +1956,7 @@ static void ray_ao_qmc(ShadeInput *shi, float *ao, float *env)
float speedfac;
speedfac = get_avg_speed(shi) * adapt_speed_fac;
- CLAMP(speedfac, 1.0, 1000.0);
+ CLAMP(speedfac, 1.0f, 1000.0f);
max_samples /= speedfac;
if (max_samples < 5) max_samples = 5;
@@ -1985,7 +1985,7 @@ static void ray_ao_qmc(ShadeInput *shi, float *ao, float *env)
prev = fac;
if(RE_rayobject_raycast(R.raytree, &isec)) {
- if (R.wrld.aomode & WO_AODIST) fac+= exp(-isec.dist*R.wrld.aodistfac);
+ if (R.wrld.aomode & WO_AODIST) fac+= expf(-isec.dist*R.wrld.aodistfac);
else fac+= 1.0f;
}
else if(envcolor!=WO_AOPLAIN) {
@@ -1998,7 +1998,7 @@ static void ray_ao_qmc(ShadeInput *shi, float *ao, float *env)
normalize_v3(view);
if(envcolor==WO_AOSKYCOL) {
- skyfac= 0.5*(1.0f+view[0]*R.grvec[0]+ view[1]*R.grvec[1]+ view[2]*R.grvec[2]);
+ skyfac= 0.5f*(1.0f+view[0]*R.grvec[0]+ view[1]*R.grvec[1]+ view[2]*R.grvec[2]);
env[0]+= (1.0f-skyfac)*R.wrld.horr + skyfac*R.wrld.zenr;
env[1]+= (1.0f-skyfac)*R.wrld.horg + skyfac*R.wrld.zeng;
env[2]+= (1.0f-skyfac)*R.wrld.horb + skyfac*R.wrld.zenb;
@@ -2017,7 +2017,7 @@ static void ray_ao_qmc(ShadeInput *shi, float *ao, float *env)
if (qsa->type == SAMP_TYPE_HALTON) {
/* adaptive sampling - consider samples below threshold as in shadow (or vice versa) and exit early */
- if (adapt_thresh > 0.0 && (samples > max_samples/2) ) {
+ if (adapt_thresh > 0.0f && (samples > max_samples/2) ) {
if (adaptive_sample_contrast_val(samples, prev, fac, adapt_thresh)) {
break;
@@ -2123,7 +2123,7 @@ static void ray_ao_spheresamp(ShadeInput *shi, float *ao, float *env)
/* do the trace */
if(RE_rayobject_raycast(R.raytree, &isec)) {
- if (R.wrld.aomode & WO_AODIST) sh+= exp(-isec.dist*R.wrld.aodistfac);
+ if (R.wrld.aomode & WO_AODIST) sh+= expf(-isec.dist*R.wrld.aodistfac);
else sh+= 1.0f;
}
else if(envcolor!=WO_AOPLAIN) {
@@ -2136,7 +2136,7 @@ static void ray_ao_spheresamp(ShadeInput *shi, float *ao, float *env)
normalize_v3(view);
if(envcolor==WO_AOSKYCOL) {
- fac= 0.5*(1.0f+view[0]*R.grvec[0]+ view[1]*R.grvec[1]+ view[2]*R.grvec[2]);
+ fac= 0.5f*(1.0f+view[0]*R.grvec[0]+ view[1]*R.grvec[1]+ view[2]*R.grvec[2]);
env[0]+= (1.0f-fac)*R.wrld.horr + fac*R.wrld.zenr;
env[1]+= (1.0f-fac)*R.wrld.horg + fac*R.wrld.zeng;
env[2]+= (1.0f-fac)*R.wrld.horb + fac*R.wrld.zenb;
@@ -2367,14 +2367,14 @@ static void ray_shadow_qmc(ShadeInput *shi, LampRen *lar, float *lampco, float *
if (lar->ray_samp_method == LA_SAMP_HALTON) {
/* adaptive sampling - consider samples below threshold as in shadow (or vice versa) and exit early */
- if ((max_samples > min_adapt_samples) && (adapt_thresh > 0.0) && (samples > max_samples / 3)) {
+ if ((max_samples > min_adapt_samples) && (adapt_thresh > 0.0f) && (samples > max_samples / 3)) {
if (isec->mode==RE_RAY_SHADOW_TRA) {
- if ((shadfac[3] / samples > (1.0-adapt_thresh)) || (shadfac[3] / samples < adapt_thresh))
+ if ((shadfac[3] / samples > (1.0f-adapt_thresh)) || (shadfac[3] / samples < adapt_thresh))
break;
else if (adaptive_sample_variance(samples, shadfac, colsq, adapt_thresh))
break;
} else {
- if ((fac / samples > (1.0-adapt_thresh)) || (fac / samples < adapt_thresh))
+ if ((fac / samples > (1.0f-adapt_thresh)) || (fac / samples < adapt_thresh))
break;
}
}
diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c
index 5f5dab94ba3..cf1fae81eb5 100644
--- a/source/blender/render/intern/source/render_texture.c
+++ b/source/blender/render/intern/source/render_texture.c
@@ -125,7 +125,7 @@ static void init_render_texture(Render *re, Tex *tex)
}
if(tex->nodetree && tex->use_nodes) {
- ntreeBeginExecTree(tex->nodetree); /* has internal flag to detect it only does it once */
+ ntreeTexBeginExecTree(tex->nodetree, 1); /* has internal flag to detect it only does it once */
}
}
@@ -144,8 +144,8 @@ void init_render_textures(Render *re)
static void end_render_texture(Tex *tex)
{
- if(tex && tex->use_nodes && tex->nodetree)
- ntreeEndExecTree(tex->nodetree);
+ if(tex && tex->use_nodes && tex->nodetree && tex->nodetree->execdata)
+ ntreeTexEndExecTree(tex->nodetree->execdata, 1);
}
void end_render_textures(Render *re)
@@ -175,9 +175,9 @@ static void tex_normal_derivate(Tex *tex, TexResult *texres)
do_colorband(tex->coba, texres->nor[2], col);
fac3= (col[0]+col[1]+col[2]);
- texres->nor[0]= 0.3333*(fac0 - fac1);
- texres->nor[1]= 0.3333*(fac0 - fac2);
- texres->nor[2]= 0.3333*(fac0 - fac3);
+ texres->nor[0]= 0.3333f*(fac0 - fac1);
+ texres->nor[1]= 0.3333f*(fac0 - fac2);
+ texres->nor[2]= 0.3333f*(fac0 - fac3);
return;
}
@@ -203,31 +203,31 @@ static int blend(Tex *tex, float *texvec, TexResult *texres)
}
if(tex->stype==TEX_LIN) { /* lin */
- texres->tin= (1.0+x)/2.0;
+ texres->tin= (1.0f+x)/2.0f;
}
else if(tex->stype==TEX_QUAD) { /* quad */
- texres->tin= (1.0+x)/2.0;
- if(texres->tin<0.0) texres->tin= 0.0;
+ texres->tin= (1.0f+x)/2.0f;
+ if(texres->tin<0.0f) texres->tin= 0.0f;
else texres->tin*= texres->tin;
}
else if(tex->stype==TEX_EASE) { /* ease */
- texres->tin= (1.0+x)/2.0;
- if(texres->tin<=.0) texres->tin= 0.0;
- else if(texres->tin>=1.0) texres->tin= 1.0;
+ texres->tin= (1.0f+x)/2.0f;
+ if(texres->tin<=0.0f) texres->tin= 0.0f;
+ else if(texres->tin>=1.0f) texres->tin= 1.0f;
else {
t= texres->tin*texres->tin;
- texres->tin= (3.0*t-2.0*t*texres->tin);
+ texres->tin= (3.0f*t-2.0f*t*texres->tin);
}
}
else if(tex->stype==TEX_DIAG) { /* diag */
- texres->tin= (2.0+x+y)/4.0;
+ texres->tin= (2.0f+x+y)/4.0f;
}
else if(tex->stype==TEX_RAD) { /* radial */
texres->tin= (atan2(y,x) / (2*M_PI) + 0.5);
}
else { /* sphere TEX_SPHERE */
texres->tin= 1.0-sqrt(x*x+ y*y+texvec[2]*texvec[2]);
- if(texres->tin<0.0) texres->tin= 0.0;
+ if(texres->tin<0.0f) texres->tin= 0.0f;
if(tex->stype==TEX_HALO) texres->tin*= texres->tin; /* halo */
}
@@ -299,7 +299,7 @@ static float tex_tri(float a)
const float b = 2*M_PI;
const float rmax = 1.0;
- a = rmax - 2.0*fabs(floor((a*(1.0/b))+0.5) - (a*(1.0/b)));
+ a = rmax - 2.0f*fabsf(floorf((a*(1.0f/b))+0.5f) - (a*(1.0f/b)));
return a;
}
@@ -319,18 +319,18 @@ static float wood_int(Tex *tex, float x, float y, float z)
if ((wf>TEX_TRI) || (wf<TEX_SIN)) wf=0; /* check to be sure noisebasis2 is initialized ahead of time */
if (wt==TEX_BAND) {
- wi = waveform[wf]((x + y + z)*10.0);
+ wi = waveform[wf]((x + y + z)*10.0f);
}
else if (wt==TEX_RING) {
- wi = waveform[wf](sqrt(x*x + y*y + z*z)*20.0);
+ wi = waveform[wf](sqrt(x*x + y*y + z*z)*20.0f);
}
else if (wt==TEX_BANDNOISE) {
wi = tex->turbul*BLI_gNoise(tex->noisesize, x, y, z, (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
- wi = waveform[wf]((x + y + z)*10.0 + wi);
+ wi = waveform[wf]((x + y + z)*10.0f + wi);
}
else if (wt==TEX_RINGNOISE) {
wi = tex->turbul*BLI_gNoise(tex->noisesize, x, y, z, (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
- wi = waveform[wf](sqrt(x*x + y*y + z*z)*20.0 + wi);
+ wi = waveform[wf](sqrt(x*x + y*y + z*z)*20.0f + wi);
}
return wi;
@@ -370,7 +370,7 @@ static float marble_int(Tex *tex, float x, float y, float z)
if ((wf>TEX_TRI) || (wf<TEX_SIN)) wf=0; /* check to be sure noisebasis2 isn't initialized ahead of time */
- n = 5.0 * (x + y + z);
+ n = 5.0f * (x + y + z);
mi = n + tex->turbul * BLI_gTurbulence(tex->noisesize, x, y, z, tex->noisedepth, (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
@@ -417,11 +417,11 @@ static int magic(Tex *tex, float *texvec, TexResult *texres)
int n;
n= tex->noisedepth;
- turb= tex->turbul/5.0;
+ turb= tex->turbul/5.0f;
- x= sin( ( texvec[0]+texvec[1]+texvec[2])*5.0 );
- y= cos( (-texvec[0]+texvec[1]-texvec[2])*5.0 );
- z= -cos( (-texvec[0]-texvec[1]+texvec[2])*5.0 );
+ x= sin( ( texvec[0]+texvec[1]+texvec[2])*5.0f );
+ y= cos( (-texvec[0]+texvec[1]-texvec[2])*5.0f );
+ z= -cos( (-texvec[0]-texvec[1]+texvec[2])*5.0f );
if(n>0) {
x*= turb;
y*= turb;
@@ -466,17 +466,17 @@ static int magic(Tex *tex, float *texvec, TexResult *texres)
}
}
- if(turb!=0.0) {
- turb*= 2.0;
+ if(turb!=0.0f) {
+ turb*= 2.0f;
x/= turb;
y/= turb;
z/= turb;
}
- texres->tr= 0.5-x;
- texres->tg= 0.5-y;
- texres->tb= 0.5-z;
+ texres->tr= 0.5f-x;
+ texres->tg= 0.5f-y;
+ texres->tb= 0.5f-z;
- texres->tin= 0.3333*(texres->tr+texres->tg+texres->tb);
+ texres->tin= 0.3333f*(texres->tr+texres->tg+texres->tb);
BRICONTRGB;
texres->ta= 1.0;
@@ -494,7 +494,7 @@ static int stucci(Tex *tex, float *texvec, TexResult *texres)
b2= BLI_gNoise(tex->noisesize, texvec[0], texvec[1], texvec[2], (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
- ofs= tex->turbul/200.0;
+ ofs= tex->turbul/200.0f;
if(tex->stype) ofs*=(b2*b2);
nor[0] = BLI_gNoise(tex->noisesize, texvec[0]+ofs, texvec[1], texvec[2], (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
@@ -732,7 +732,7 @@ static int texnoise(Tex *tex, TexResult *texres)
while(loop--) {
ran= (ran>>2);
val*= (ran & 3);
- div*= 3.0;
+ div*= 3.0f;
}
texres->tin= ((float)val)/div;
@@ -829,18 +829,18 @@ static int cubemap_glob(float *n, float x, float y, float z, float *adr1, float
z1= fabs(nor[2]);
if(z1>=x1 && z1>=y1) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (y + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (y + 1.0f) / 2.0f;
ret= 0;
}
else if(y1>=x1 && y1>=z1) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 1;
}
else {
- *adr1 = (y + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (y + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 2;
}
return ret;
@@ -884,17 +884,17 @@ static int cubemap(MTex *mtex, VlakRen *vlr, float *n, float x, float y, float z
}
if(vlr->puno & proj[1]) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (y + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (y + 1.0f) / 2.0f;
}
else if(vlr->puno & proj[2]) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 1;
}
else {
- *adr1 = (y + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (y + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 2;
}
}
@@ -922,18 +922,18 @@ static int cubemap_ob(Object *ob, float *n, float x, float y, float z, float *ad
z1= fabs(nor[2]);
if(z1>=x1 && z1>=y1) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (y + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (y + 1.0f) / 2.0f;
ret= 0;
}
else if(y1>=x1 && y1>=z1) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 1;
}
else {
- *adr1 = (y + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (y + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 2;
}
return ret;
@@ -957,8 +957,8 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d
if(R.osa==0) {
if(wrap==MTEX_FLAT) {
- fx = (t[0] + 1.0) / 2.0;
- fy = (t[1] + 1.0) / 2.0;
+ fx = (t[0] + 1.0f) / 2.0f;
+ fy = (t[1] + 1.0f) / 2.0f;
}
else if(wrap==MTEX_TUBE) map_to_tube( &fx, &fy,t[0], t[1], t[2]);
else if(wrap==MTEX_SPHERE) map_to_sphere( &fx, &fy,t[0], t[1], t[2]);
@@ -973,34 +973,34 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d
if(tex->xrepeat>1) {
float origf= fx *= tex->xrepeat;
- if(fx>1.0) fx -= (int)(fx);
- else if(fx<0.0) fx+= 1-(int)(fx);
+ if(fx>1.0f) fx -= (int)(fx);
+ else if(fx<0.0f) fx+= 1-(int)(fx);
if(tex->flag & TEX_REPEAT_XMIR) {
int orig= (int)floor(origf);
if(orig & 1)
- fx= 1.0-fx;
+ fx= 1.0f-fx;
}
}
if(tex->yrepeat>1) {
float origf= fy *= tex->yrepeat;
- if(fy>1.0) fy -= (int)(fy);
- else if(fy<0.0) fy+= 1-(int)(fy);
+ if(fy>1.0f) fy -= (int)(fy);
+ else if(fy<0.0f) fy+= 1-(int)(fy);
if(tex->flag & TEX_REPEAT_YMIR) {
int orig= (int)floor(origf);
if(orig & 1)
- fy= 1.0-fy;
+ fy= 1.0f-fy;
}
}
}
/* crop */
- if(tex->cropxmin!=0.0 || tex->cropxmax!=1.0) {
+ if(tex->cropxmin!=0.0f || tex->cropxmax!=1.0f) {
fac1= tex->cropxmax - tex->cropxmin;
fx= tex->cropxmin+ fx*fac1;
}
- if(tex->cropymin!=0.0 || tex->cropymax!=1.0) {
+ if(tex->cropymin!=0.0f || tex->cropymax!=1.0f) {
fac1= tex->cropymax - tex->cropymin;
fy= tex->cropymin+ fy*fac1;
}
@@ -1011,23 +1011,23 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d
else {
if(wrap==MTEX_FLAT) {
- fx= (t[0] + 1.0) / 2.0;
- fy= (t[1] + 1.0) / 2.0;
- dxt[0]/= 2.0;
- dxt[1]/= 2.0;
- dxt[2]/= 2.0;
- dyt[0]/= 2.0;
- dyt[1]/= 2.0;
- dyt[2]/= 2.0;
+ fx= (t[0] + 1.0f) / 2.0f;
+ fy= (t[1] + 1.0f) / 2.0f;
+ dxt[0]/= 2.0f;
+ dxt[1]/= 2.0f;
+ dxt[2]/= 2.0f;
+ dyt[0]/= 2.0f;
+ dyt[1]/= 2.0f;
+ dyt[2]/= 2.0f;
}
else if ELEM(wrap, MTEX_TUBE, MTEX_SPHERE) {
/* exception: the seam behind (y<0.0) */
ok= 1;
- if(t[1]<=0.0) {
+ if(t[1]<=0.0f) {
fx= t[0]+dxt[0];
fy= t[0]+dyt[0];
- if(fx>=0.0 && fy>=0.0 && t[0]>=0.0);
- else if(fx<=0.0 && fy<=0.0 && t[0]<=0.0);
+ if(fx>=0.0f && fy>=0.0f && t[0]>=0.0f);
+ else if(fx<=0.0f && fy<=0.0f && t[0]<=0.0f);
else ok= 0;
}
if(ok) {
@@ -1046,10 +1046,10 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d
else {
if(wrap==MTEX_TUBE) map_to_tube( &fx, &fy,t[0], t[1], t[2]);
else map_to_sphere( &fx, &fy,t[0], t[1], t[2]);
- dxt[0]/= 2.0;
- dxt[1]/= 2.0;
- dyt[0]/= 2.0;
- dyt[1]/= 2.0;
+ dxt[0]/= 2.0f;
+ dxt[1]/= 2.0f;
+ dyt[0]/= 2.0f;
+ dyt[1]/= 2.0f;
}
}
else {
@@ -1143,13 +1143,13 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d
}
/* crop */
- if(tex->cropxmin!=0.0 || tex->cropxmax!=1.0) {
+ if(tex->cropxmin!=0.0f || tex->cropxmax!=1.0f) {
fac1= tex->cropxmax - tex->cropxmin;
fx= tex->cropxmin+ fx*fac1;
dxt[0]*= fac1;
dyt[0]*= fac1;
}
- if(tex->cropymin!=0.0 || tex->cropymax!=1.0) {
+ if(tex->cropymin!=0.0f || tex->cropymax!=1.0f) {
fac1= tex->cropymax - tex->cropymin;
fy= tex->cropymin+ fy*fac1;
dxt[1]*= fac1;
@@ -1220,7 +1220,7 @@ static int multitex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex,
* artificer: added the use of tmpvec to avoid scaling texvec
*/
VECCOPY(tmpvec, texvec);
- mul_v3_fl(tmpvec, 1.0/tex->noisesize);
+ mul_v3_fl(tmpvec, 1.0f/tex->noisesize);
switch(tex->stype) {
case TEX_MFRACTAL:
@@ -1242,7 +1242,7 @@ static int multitex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex,
* artificer: added the use of tmpvec to avoid scaling texvec
*/
VECCOPY(tmpvec, texvec);
- mul_v3_fl(tmpvec, 1.0/tex->noisesize);
+ mul_v3_fl(tmpvec, 1.0f/tex->noisesize);
retval= voronoiTex(tex, tmpvec, texres);
break;
@@ -1251,7 +1251,7 @@ static int multitex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex,
* artificer: added the use of tmpvec to avoid scaling texvec
*/
VECCOPY(tmpvec, texvec);
- mul_v3_fl(tmpvec, 1.0/tex->noisesize);
+ mul_v3_fl(tmpvec, 1.0f/tex->noisesize);
retval= mg_distNoiseTex(tex, tmpvec, texres);
break;
@@ -1381,7 +1381,7 @@ void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg
switch(blendtype) {
case MTEX_BLEND:
fact*= facg;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
in[0]= (fact*tex[0] + facm*out[0]);
in[1]= (fact*tex[1] + facm*out[1]);
@@ -1390,7 +1390,7 @@ void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg
case MTEX_MUL:
fact*= facg;
- facm= 1.0-facg;
+ facm= 1.0f-facg;
in[0]= (facm+fact*tex[0])*out[0];
in[1]= (facm+fact*tex[1])*out[1];
in[2]= (facm+fact*tex[2])*out[2];
@@ -1398,28 +1398,28 @@ void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg
case MTEX_SCREEN:
fact*= facg;
- facm= 1.0-facg;
- in[0]= 1.0 - (facm+fact*(1.0-tex[0])) * (1.0-out[0]);
- in[1]= 1.0 - (facm+fact*(1.0-tex[1])) * (1.0-out[1]);
- in[2]= 1.0 - (facm+fact*(1.0-tex[2])) * (1.0-out[2]);
+ facm= 1.0f-facg;
+ in[0]= 1.0f - (facm+fact*(1.0f-tex[0])) * (1.0f-out[0]);
+ in[1]= 1.0f - (facm+fact*(1.0f-tex[1])) * (1.0f-out[1]);
+ in[2]= 1.0f - (facm+fact*(1.0f-tex[2])) * (1.0f-out[2]);
break;
case MTEX_OVERLAY:
fact*= facg;
- facm= 1.0-facg;
+ facm= 1.0f-facg;
if(out[0] < 0.5f)
in[0] = out[0] * (facm + 2.0f*fact*tex[0]);
else
- in[0] = 1.0f - (facm + 2.0f*fact*(1.0 - tex[0])) * (1.0 - out[0]);
+ in[0] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[0])) * (1.0f - out[0]);
if(out[1] < 0.5f)
in[1] = out[1] * (facm + 2.0f*fact*tex[1]);
else
- in[1] = 1.0f - (facm + 2.0f*fact*(1.0 - tex[1])) * (1.0 - out[1]);
+ in[1] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[1])) * (1.0f - out[1]);
if(out[2] < 0.5f)
in[2] = out[2] * (facm + 2.0f*fact*tex[2]);
else
- in[2] = 1.0f - (facm + 2.0f*fact*(1.0 - tex[2])) * (1.0 - out[2]);
+ in[2] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[2])) * (1.0f - out[2]);
break;
case MTEX_SUB:
@@ -1433,20 +1433,20 @@ void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg
case MTEX_DIV:
fact*= facg;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
- if(tex[0]!=0.0)
+ if(tex[0]!=0.0f)
in[0]= facm*out[0] + fact*out[0]/tex[0];
- if(tex[1]!=0.0)
+ if(tex[1]!=0.0f)
in[1]= facm*out[1] + fact*out[1]/tex[1];
- if(tex[2]!=0.0)
+ if(tex[2]!=0.0f)
in[2]= facm*out[2] + fact*out[2]/tex[2];
break;
case MTEX_DIFF:
fact*= facg;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
in[0]= facm*out[0] + fact*fabs(tex[0]-out[0]);
in[1]= facm*out[1] + fact*fabs(tex[1]-out[1]);
in[2]= facm*out[2] + fact*fabs(tex[2]-out[2]);
@@ -1454,7 +1454,7 @@ void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg
case MTEX_DARK:
fact*= facg;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
col= tex[0]+((1-tex[0])*facm);
if(col < out[0]) in[0]= col; else in[0]= out[0];
@@ -1516,7 +1516,7 @@ float texture_value_blend(float tex, float out, float fact, float facg, int blen
facg= fabsf(facg);
fact*= facg;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
if(flip) SWAP(float, fact, facm);
switch(blendtype) {
@@ -1525,21 +1525,21 @@ float texture_value_blend(float tex, float out, float fact, float facg, int blen
break;
case MTEX_MUL:
- facm= 1.0-facg;
+ facm= 1.0f-facg;
in= (facm+fact*tex)*out;
break;
case MTEX_SCREEN:
- facm= 1.0-facg;
- in= 1.0-(facm+fact*(1.0-tex))*(1.0-out);
+ facm= 1.0f-facg;
+ in= 1.0f-(facm+fact*(1.0f-tex))*(1.0f-out);
break;
case MTEX_OVERLAY:
- facm= 1.0-facg;
+ facm= 1.0f-facg;
if(out < 0.5f)
in = out * (facm + 2.0f*fact*tex);
else
- in = 1.0f - (facm + 2.0f*fact*(1.0 - tex)) * (1.0 - out);
+ in = 1.0f - (facm + 2.0f*fact*(1.0f - tex)) * (1.0f - out);
break;
case MTEX_SUB:
@@ -1549,7 +1549,7 @@ float texture_value_blend(float tex, float out, float fact, float facg, int blen
break;
case MTEX_DIV:
- if(tex!=0.0)
+ if(tex!=0.0f)
in= facm*out + fact*out/tex;
break;
@@ -1568,15 +1568,15 @@ float texture_value_blend(float tex, float out, float fact, float facg, int blen
break;
case MTEX_SOFT_LIGHT:
- scf=1.0 - (1.0 - tex) * (1.0 - out);
- in= facm*out + fact * ((1.0 - out) * tex * out) + (out * scf);
+ scf=1.0f - (1.0f - tex) * (1.0f - out);
+ in= facm*out + fact * ((1.0f - out) * tex * out) + (out * scf);
break;
case MTEX_LIN_LIGHT:
- if (tex > 0.5)
- in = out + fact*(2*(tex - 0.5));
+ if (tex > 0.5f)
+ in = out + fact*(2.0f*(tex - 0.5f));
else
- in = out + fact*(2*tex - 1);
+ in = out + fact*(2.0f*tex - 1.0f);
break;
}
@@ -1789,7 +1789,7 @@ static int compatible_bump_compute(CompatibleBump *compat_bump, ShadeInput *shi,
const float adx[3] = {fabsf(dx[0]), fabsf(dx[1]), fabsf(dx[2])};
const float ady[3] = {fabsf(dy[0]), fabsf(dy[1]), fabsf(dy[2])};
du = MAX3(adx[0], adx[1], adx[2]);
- dv = MAX3(ady[1], ady[1], ady[2]);
+ dv = MAX3(ady[0], ady[1], ady[2]);
}
}
@@ -1905,11 +1905,13 @@ static int ntap_bump_compute(NTapBump *ntap_bump, ShadeInput *shi, MTex *mtex, T
const int fromrgb = ((tex->type == TEX_IMAGE) || ((tex->flag & TEX_COLORBAND)!=0));
float Hscale = Tnor*mtex->norfac;
+ int dimx=512, dimy=512;
// 2 channels for 2D texture and 3 for 3D textures.
const int nr_channels = (mtex->texco == TEXCO_UV)? 2 : 3;
int c, rgbnor, iBumpSpace;
float dHdx, dHdy;
+ int found_deriv_map = (tex->type==TEX_IMAGE) && (tex->imaflag & TEX_DERIVATIVEMAP);
// disable internal bump eval in sampler, save pointer
float *nvec = texres->nor;
@@ -1929,8 +1931,31 @@ static int ntap_bump_compute(NTapBump *ntap_bump, ShadeInput *shi, MTex *mtex, T
ntap_bump->init_done = 1;
}
+
+ // resolve image dimensions
+ if(found_deriv_map || (mtex->texflag&MTEX_BUMP_TEXTURESPACE)!=0) {
+ ImBuf* ibuf = BKE_image_get_ibuf(tex->ima, &tex->iuser);
+ if (ibuf) {
+ dimx = ibuf->x;
+ dimy = ibuf->y;
+ }
+ }
- if(!(mtex->texflag & MTEX_5TAP_BUMP)) {
+ if(found_deriv_map) {
+ float dBdu, dBdv;
+ float s = 1; // negate this if flipped texture coordinate
+ texco_mapping(shi, tex, mtex, co, dx, dy, texvec, dxt, dyt);
+ rgbnor = multitex_mtex(shi, mtex, texvec, dxt, dyt, texres);
+
+ // this variant using a derivative map is described here
+ // http://mmikkelsen3d.blogspot.com/2011/07/derivative-maps.html
+ dBdu = Hscale*dimx*(2*texres->tr-1);
+ dBdv = Hscale*dimy*(2*texres->tg-1);
+
+ dHdx = dBdu*dxt[0] + s * dBdv*dxt[1];
+ dHdy = dBdu*dyt[0] + s * dBdv*dyt[1];
+ }
+ else if(!(mtex->texflag & MTEX_5TAP_BUMP)) {
// compute height derivatives with respect to output image pixel coordinates x and y
float STll[3], STlr[3], STul[3];
float Hll, Hlr, Hul;
@@ -2087,11 +2112,11 @@ static int ntap_bump_compute(NTapBump *ntap_bump, ShadeInput *shi, MTex *mtex, T
// crazy hack solution that gives results similar to normal mapping - part 2
float vec[2];
- vec[0] = tex->ima->gen_x*dxt[0];
- vec[1] = tex->ima->gen_y*dxt[1];
+ vec[0] = dimx*dxt[0];
+ vec[1] = dimy*dxt[1];
dHdx *= 1.0f/len_v2(vec);
- vec[0] = tex->ima->gen_x*dyt[0];
- vec[1] = tex->ima->gen_y*dyt[1];
+ vec[0] = dimx*dyt[0];
+ vec[1] = dimy*dyt[1];
dHdy *= 1.0f/len_v2(vec);
}
}
@@ -2118,7 +2143,8 @@ void do_material_tex(ShadeInput *shi)
float fact, facm, factt, facmm, stencilTin=1.0;
float texvec[3], dxt[3], dyt[3], tempvec[3], norvec[3], warpvec[3]={0.0f, 0.0f, 0.0f}, Tnor=1.0;
int tex_nr, rgbnor= 0, warpdone=0;
- int use_compat_bump, use_ntap_bump;
+ int use_compat_bump = 0, use_ntap_bump = 0;
+ int found_nmapping = 0, found_deriv_map = 0;
int iFirstTimeNMap=1;
compatible_bump_init(&compat_bump);
@@ -2138,8 +2164,9 @@ void do_material_tex(ShadeInput *shi)
tex= mtex->tex;
if(tex==0) continue;
+ found_deriv_map = (tex->type==TEX_IMAGE) && (tex->imaflag & TEX_DERIVATIVEMAP);
use_compat_bump= (mtex->texflag & MTEX_COMPAT_BUMP);
- use_ntap_bump= (mtex->texflag & (MTEX_3TAP_BUMP|MTEX_5TAP_BUMP));
+ use_ntap_bump= ((mtex->texflag & (MTEX_3TAP_BUMP|MTEX_5TAP_BUMP))!=0 || found_deriv_map!=0) ? 1 : 0;
/* XXX texture node trees don't work for this yet */
if(tex->nodetree && tex->use_nodes) {
@@ -2192,6 +2219,7 @@ void do_material_tex(ShadeInput *shi)
}
}
else if(mtex->texco==TEXCO_REFL) {
+ calc_R_ref(shi);
co= shi->ref; dx= shi->dxref; dy= shi->dyref;
}
else if(mtex->texco==TEXCO_NORM) {
@@ -2287,16 +2315,16 @@ void do_material_tex(ShadeInput *shi)
/* texture output */
if( (rgbnor & TEX_RGB) && (mtex->texflag & MTEX_RGBTOINT)) {
- texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
rgbnor-= TEX_RGB;
}
if(mtex->texflag & MTEX_NEGATIVE) {
if(rgbnor & TEX_RGB) {
- texres.tr= 1.0-texres.tr;
- texres.tg= 1.0-texres.tg;
- texres.tb= 1.0-texres.tb;
+ texres.tr= 1.0f-texres.tr;
+ texres.tg= 1.0f-texres.tg;
+ texres.tb= 1.0f-texres.tb;
}
- texres.tin= 1.0-texres.tin;
+ texres.tin= 1.0f-texres.tin;
}
if(mtex->texflag & MTEX_STENCIL) {
if(rgbnor & TEX_RGB) {
@@ -2323,14 +2351,13 @@ void do_material_tex(ShadeInput *shi)
texres.nor[2]= texres.tb;
}
else {
- float co_nor= 0.5*cos(texres.tin-0.5);
- float si= 0.5*sin(texres.tin-0.5);
+ float co_nor= 0.5*cos(texres.tin-0.5f);
+ float si= 0.5*sin(texres.tin-0.5f);
float f1, f2;
f1= shi->vn[0];
f2= shi->vn[1];
texres.nor[0]= f1*co_nor+f2*si;
- texres.nor[1]= f2*co_nor-f1*si;
f1= shi->vn[1];
f2= shi->vn[2];
texres.nor[1]= f1*co_nor+f2*si;
@@ -2410,7 +2437,7 @@ void do_material_tex(ShadeInput *shi)
// exception for envmap only
if(tex->type==TEX_ENVMAP && mtex->blendtype==MTEX_BLEND) {
fact= texres.tin*mirrfac;
- facm= 1.0- fact;
+ facm= 1.0f- fact;
shi->refcol[0]= fact + facm*shi->refcol[0];
shi->refcol[1]= fact*tcol[0] + facm*shi->refcol[1];
shi->refcol[2]= fact*tcol[1] + facm*shi->refcol[2];
@@ -2428,6 +2455,9 @@ void do_material_tex(ShadeInput *shi)
/* we need to code blending modes for normals too once.. now 1 exception hardcoded */
if ((tex->type==TEX_IMAGE) && (tex->imaflag & TEX_NORMALMAP)) {
+
+ found_nmapping = 1;
+
/* qdn: for normalmaps, to invert the normalmap vector,
it is better to negate x & y instead of subtracting the vector as was done before */
if (norfac < 0.0f) {
@@ -2509,9 +2539,6 @@ void do_material_tex(ShadeInput *shi)
shi->orn[0]= -shi->vn[0];
shi->orn[1]= -shi->vn[1];
shi->orn[2]= -shi->vn[2];
-
- /* reflection vector */
- calc_R_ref(shi);
}
}
@@ -2555,65 +2582,65 @@ void do_material_tex(ShadeInput *shi)
if(rgbnor & TEX_RGB) {
if(texres.talpha) texres.tin= texres.ta;
- else texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ else texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
}
if(mtex->mapto & MAP_REF) {
float difffac= mtex->difffac*stencilTin;
shi->refl= texture_value_blend(mtex->def_var, shi->refl, texres.tin, difffac, mtex->blendtype);
- if(shi->refl<0.0) shi->refl= 0.0;
+ if(shi->refl<0.0f) shi->refl= 0.0f;
}
if(mtex->mapto & MAP_SPEC) {
float specfac= mtex->specfac*stencilTin;
shi->spec= texture_value_blend(mtex->def_var, shi->spec, texres.tin, specfac, mtex->blendtype);
- if(shi->spec<0.0) shi->spec= 0.0;
+ if(shi->spec<0.0f) shi->spec= 0.0f;
}
if(mtex->mapto & MAP_EMIT) {
float emitfac= mtex->emitfac*stencilTin;
shi->emit= texture_value_blend(mtex->def_var, shi->emit, texres.tin, emitfac, mtex->blendtype);
- if(shi->emit<0.0) shi->emit= 0.0;
+ if(shi->emit<0.0f) shi->emit= 0.0f;
}
if(mtex->mapto & MAP_ALPHA) {
float alphafac= mtex->alphafac*stencilTin;
shi->alpha= texture_value_blend(mtex->def_var, shi->alpha, texres.tin, alphafac, mtex->blendtype);
- if(shi->alpha<0.0) shi->alpha= 0.0;
- else if(shi->alpha>1.0) shi->alpha= 1.0;
+ if(shi->alpha<0.0f) shi->alpha= 0.0f;
+ else if(shi->alpha>1.0f) shi->alpha= 1.0f;
}
if(mtex->mapto & MAP_HAR) {
float har; // have to map to 0-1
float hardfac= mtex->hardfac*stencilTin;
- har= ((float)shi->har)/128.0;
- har= 128.0*texture_value_blend(mtex->def_var, har, texres.tin, hardfac, mtex->blendtype);
+ har= ((float)shi->har)/128.0f;
+ har= 128.0f*texture_value_blend(mtex->def_var, har, texres.tin, hardfac, mtex->blendtype);
- if(har<1.0) shi->har= 1;
- else if(har>511.0) shi->har= 511;
+ if(har<1.0f) shi->har= 1;
+ else if(har>511) shi->har= 511;
else shi->har= (int)har;
}
if(mtex->mapto & MAP_RAYMIRR) {
float raymirrfac= mtex->raymirrfac*stencilTin;
shi->ray_mirror= texture_value_blend(mtex->def_var, shi->ray_mirror, texres.tin, raymirrfac, mtex->blendtype);
- if(shi->ray_mirror<0.0) shi->ray_mirror= 0.0;
- else if(shi->ray_mirror>1.0) shi->ray_mirror= 1.0;
+ if(shi->ray_mirror<0.0f) shi->ray_mirror= 0.0f;
+ else if(shi->ray_mirror>1.0f) shi->ray_mirror= 1.0f;
}
if(mtex->mapto & MAP_TRANSLU) {
float translfac= mtex->translfac*stencilTin;
shi->translucency= texture_value_blend(mtex->def_var, shi->translucency, texres.tin, translfac, mtex->blendtype);
- if(shi->translucency<0.0) shi->translucency= 0.0;
- else if(shi->translucency>1.0) shi->translucency= 1.0;
+ if(shi->translucency<0.0f) shi->translucency= 0.0f;
+ else if(shi->translucency>1.0f) shi->translucency= 1.0f;
}
if(mtex->mapto & MAP_AMB) {
float ambfac= mtex->ambfac*stencilTin;
shi->amb= texture_value_blend(mtex->def_var, shi->amb, texres.tin, ambfac, mtex->blendtype);
- if(shi->amb<0.0) shi->amb= 0.0;
- else if(shi->amb>1.0) shi->amb= 1.0;
+ if(shi->amb<0.0f) shi->amb= 0.0f;
+ else if(shi->amb>1.0f) shi->amb= 1.0f;
shi->ambr= shi->amb*R.wrld.ambr;
shi->ambg= shi->amb*R.wrld.ambg;
@@ -2622,6 +2649,12 @@ void do_material_tex(ShadeInput *shi)
}
}
}
+ if ((use_compat_bump || use_ntap_bump || found_nmapping) && (shi->mat->mode & MA_TANGENT_V)!=0) {
+ const float fnegdot = -dot_v3v3(shi->vn, shi->tang);
+ // apply Gram-Schmidt projection
+ madd_v3_v3fl(shi->tang, shi->vn, fnegdot);
+ normalize_v3(shi->tang);
+ }
}
@@ -2703,16 +2736,16 @@ void do_volume_tex(ShadeInput *shi, float *xyz, int mapto_flag, float *col, floa
/* texture output */
if( (rgbnor & TEX_RGB) && (mtex->texflag & MTEX_RGBTOINT)) {
- texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
rgbnor-= TEX_RGB;
}
if(mtex->texflag & MTEX_NEGATIVE) {
if(rgbnor & TEX_RGB) {
- texres.tr= 1.0-texres.tr;
- texres.tg= 1.0-texres.tg;
- texres.tb= 1.0-texres.tb;
+ texres.tr= 1.0f-texres.tr;
+ texres.tg= 1.0f-texres.tg;
+ texres.tb= 1.0f-texres.tb;
}
- texres.tin= 1.0-texres.tin;
+ texres.tin= 1.0f-texres.tin;
}
if(mtex->texflag & MTEX_STENCIL) {
if(rgbnor & TEX_RGB) {
@@ -2769,7 +2802,7 @@ void do_volume_tex(ShadeInput *shi, float *xyz, int mapto_flag, float *col, floa
if (!(rgbnor & TEX_INT)) {
if (rgbnor & TEX_RGB) {
if(texres.talpha) texres.tin= texres.ta;
- else texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ else texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
}
}
@@ -2777,25 +2810,25 @@ void do_volume_tex(ShadeInput *shi, float *xyz, int mapto_flag, float *col, floa
float emitfac= mtex->emitfac*stencilTin;
*val = texture_value_blend(mtex->def_var, *val, texres.tin, emitfac, mtex->blendtype);
- if(*val<0.0) *val= 0.0;
+ if(*val<0.0f) *val= 0.0f;
}
if((mapto_flag & MAP_DENSITY) && (mtex->mapto & MAP_DENSITY)) {
float densfac= mtex->densfac*stencilTin;
*val = texture_value_blend(mtex->def_var, *val, texres.tin, densfac, mtex->blendtype);
- CLAMP(*val, 0.0, 1.0);
+ CLAMP(*val, 0.0f, 1.0f);
}
if((mapto_flag & MAP_SCATTERING) && (mtex->mapto & MAP_SCATTERING)) {
float scatterfac= mtex->scatterfac*stencilTin;
*val = texture_value_blend(mtex->def_var, *val, texres.tin, scatterfac, mtex->blendtype);
- CLAMP(*val, 0.0, 1.0);
+ CLAMP(*val, 0.0f, 1.0f);
}
if((mapto_flag & MAP_REFLECTION) && (mtex->mapto & MAP_REFLECTION)) {
float reflfac= mtex->reflfac*stencilTin;
*val = texture_value_blend(mtex->def_var, *val, texres.tin, reflfac, mtex->blendtype);
- CLAMP(*val, 0.0, 1.0);
+ CLAMP(*val, 0.0f, 1.0f);
}
}
}
@@ -2839,7 +2872,7 @@ void do_halo_tex(HaloRen *har, float xn, float yn, float *colf)
if(osatex) {
- dx= 1.0/har->rad;
+ dx= 1.0f/har->rad;
if(mtex->projx) {
dxt[0]= mtex->size[0]*dx;
@@ -2867,16 +2900,16 @@ void do_halo_tex(HaloRen *har, float xn, float yn, float *colf)
/* texture output */
if(rgb && (mtex->texflag & MTEX_RGBTOINT)) {
- texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
rgb= 0;
}
if(mtex->texflag & MTEX_NEGATIVE) {
if(rgb) {
- texres.tr= 1.0-texres.tr;
- texres.tg= 1.0-texres.tg;
- texres.tb= 1.0-texres.tb;
+ texres.tr= 1.0f-texres.tr;
+ texres.tg= 1.0f-texres.tg;
+ texres.tb= 1.0f-texres.tb;
}
- else texres.tin= 1.0-texres.tin;
+ else texres.tin= 1.0f-texres.tin;
}
/* mapping */
@@ -2903,10 +2936,10 @@ void do_halo_tex(HaloRen *har, float xn, float yn, float *colf)
}
fact= texres.tin*mtex->colfac;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
if(mtex->blendtype==MTEX_MUL) {
- facm= 1.0-mtex->colfac;
+ facm= 1.0f-mtex->colfac;
}
if(mtex->blendtype==MTEX_SUB) fact= -fact;
@@ -2926,15 +2959,15 @@ void do_halo_tex(HaloRen *har, float xn, float yn, float *colf)
colf[1]= (fact*texres.tg + har->g);
colf[2]= (fact*texres.tb + har->b);
- CLAMP(colf[0], 0.0, 1.0);
- CLAMP(colf[1], 0.0, 1.0);
- CLAMP(colf[2], 0.0, 1.0);
+ CLAMP(colf[0], 0.0f, 1.0f);
+ CLAMP(colf[1], 0.0f, 1.0f);
+ CLAMP(colf[2], 0.0f, 1.0f);
}
}
if(mtex->mapto & MAP_ALPHA) {
if(rgb) {
if(texres.talpha) texres.tin= texres.ta;
- else texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ else texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
}
colf[3]*= texres.tin;
@@ -2984,7 +3017,7 @@ void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, f
/* only works with texture being "real" */
/* use saacos(), fixes bug [#22398], float precision caused lo[2] to be slightly less then -1.0 */
if(lo[0] || lo[1]) { /* check for zero case [#24807] */
- fact= (1.0/M_PI)*saacos(lo[2])/(sqrt(lo[0]*lo[0] + lo[1]*lo[1]));
+ fact= (1.0f/(float)M_PI)*saacos(lo[2])/(sqrt(lo[0]*lo[0] + lo[1]*lo[1]));
tempvec[0]= lo[0]*fact;
tempvec[1]= lo[1]*fact;
tempvec[2]= 0.0;
@@ -3005,13 +3038,13 @@ void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, f
if(mtex->texco==TEXCO_H_TUBEMAP) map_to_tube( tempvec, tempvec+1,lo[0], lo[2], lo[1]);
else map_to_sphere( tempvec, tempvec+1,lo[0], lo[2], lo[1]);
/* tube/spheremap maps for outside view, not inside */
- tempvec[0]= 1.0-tempvec[0];
+ tempvec[0]= 1.0f-tempvec[0];
/* only top half */
- tempvec[1]= 2.0*tempvec[1]-1.0;
+ tempvec[1]= 2.0f*tempvec[1]-1.0f;
tempvec[2]= 0.0;
/* and correction for do_2d_mapping */
- tempvec[0]= 2.0*tempvec[0]-1.0;
- tempvec[1]= 2.0*tempvec[1]-1.0;
+ tempvec[0]= 2.0f*tempvec[0]-1.0f;
+ tempvec[1]= 2.0f*tempvec[1]-1.0f;
co= tempvec;
}
else {
@@ -3060,16 +3093,16 @@ void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, f
/* texture output */
if(rgb && (mtex->texflag & MTEX_RGBTOINT)) {
- texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
rgb= 0;
}
if(mtex->texflag & MTEX_NEGATIVE) {
if(rgb) {
- texres.tr= 1.0-texres.tr;
- texres.tg= 1.0-texres.tg;
- texres.tb= 1.0-texres.tb;
+ texres.tr= 1.0f-texres.tr;
+ texres.tg= 1.0f-texres.tg;
+ texres.tb= 1.0f-texres.tb;
}
- else texres.tin= 1.0-texres.tin;
+ else texres.tin= 1.0f-texres.tin;
}
if(mtex->texflag & MTEX_STENCIL) {
if(rgb) {
@@ -3130,7 +3163,7 @@ void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, f
}
}
if(mtex->mapto & WOMAP_BLEND) {
- if(rgb) texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ if(rgb) texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
*blend= texture_value_blend(mtex->def_var, *blend, texres.tin, mtex->blendfac, mtex->blendtype);
}
@@ -3266,16 +3299,16 @@ void do_lamp_tex(LampRen *la, float *lavec, ShadeInput *shi, float *colf, int ef
/* texture output */
if(rgb && (mtex->texflag & MTEX_RGBTOINT)) {
- texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
rgb= 0;
}
if(mtex->texflag & MTEX_NEGATIVE) {
if(rgb) {
- texres.tr= 1.0-texres.tr;
- texres.tg= 1.0-texres.tg;
- texres.tb= 1.0-texres.tb;
+ texres.tr= 1.0f-texres.tr;
+ texres.tg= 1.0f-texres.tg;
+ texres.tb= 1.0f-texres.tb;
}
- else texres.tin= 1.0-texres.tin;
+ else texres.tin= 1.0f-texres.tin;
}
if(mtex->texflag & MTEX_STENCIL) {
if(rgb) {
@@ -3360,7 +3393,7 @@ int externtex(MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *t
rgb= multitex(tex, texvec, dxt, dyt, 0, &texr, thread, mtex->which_output);
if(rgb) {
- texr.tin= (0.35*texr.tr+0.45*texr.tg+0.2*texr.tb);
+ texr.tin= (0.35f*texr.tr+0.45f*texr.tg+0.2f*texr.tb);
}
else {
texr.tr= mtex->r;
@@ -3409,14 +3442,14 @@ void render_realtime_texture(ShadeInput *shi, Image *ima)
tex= &imatex[shi->thread];
tex->iuser.ok= ima->ok;
- texvec[0]= 0.5+0.5*suv->uv[0];
- texvec[1]= 0.5+0.5*suv->uv[1];
- texvec[2] = 0; // initalize it because imagewrap looks at it.
+ texvec[0]= 0.5f+0.5f*suv->uv[0];
+ texvec[1]= 0.5f+0.5f*suv->uv[1];
+ texvec[2] = 0.0f; // initalize it because imagewrap looks at it.
if(shi->osatex) {
- dx[0]= 0.5*suv->dxuv[0];
- dx[1]= 0.5*suv->dxuv[1];
- dy[0]= 0.5*suv->dyuv[0];
- dy[1]= 0.5*suv->dyuv[1];
+ dx[0]= 0.5f*suv->dxuv[0];
+ dx[1]= 0.5f*suv->dxuv[1];
+ dy[0]= 0.5f*suv->dyuv[0];
+ dy[1]= 0.5f*suv->dyuv[1];
}
texr.nor= NULL;
diff --git a/source/blender/render/intern/source/rendercore.c b/source/blender/render/intern/source/rendercore.c
index 0087be8cca9..b66740c87ba 100644
--- a/source/blender/render/intern/source/rendercore.c
+++ b/source/blender/render/intern/source/rendercore.c
@@ -515,6 +515,14 @@ static void add_filt_passes(RenderLayer *rl, int curmask, int rectx, int offset,
*fp= (float)shi->obr->ob->index;
}
break;
+ case SCE_PASS_INDEXMA:
+ /* no filter */
+ if(shi->vlr) {
+ fp= rpass->rect + offset;
+ if(*fp==0.0f)
+ *fp= (float)shi->mat->index;
+ }
+ break;
case SCE_PASS_MIST:
/* */
col= &shr->mist;
@@ -619,6 +627,12 @@ static void add_passes(RenderLayer *rl, int offset, ShadeInput *shi, ShadeResult
*fp= (float)shi->obr->ob->index;
}
break;
+ case SCE_PASS_INDEXMA:
+ if(shi->vlr) {
+ fp= rpass->rect + offset;
+ *fp= (float)shi->mat->index;
+ }
+ break;
case SCE_PASS_MIST:
fp= rpass->rect + offset;
*fp= shr->mist;
@@ -716,7 +730,7 @@ static void atm_tile(RenderPart *pa, RenderLayer *rl)
if(zpass==NULL) return;
- /* check for at least one sun lamp that its atmosphere flag is is enabled */
+ /* check for at least one sun lamp that its atmosphere flag is enabled */
for(go=R.lights.first; go; go= go->next) {
lar= go->lampren;
if(lar->type==LA_SUN && lar->sunsky && (lar->sunsky->effect_type & LA_SUN_EFFECT_AP))
@@ -744,7 +758,7 @@ static void atm_tile(RenderPart *pa, RenderLayer *rl)
if(lar->type==LA_SUN && lar->sunsky) {
/* if it's sky continue and don't apply atmosphere effect on it */
- if(*zrect >= 9.9e10 || rgbrect[3]==0.0f) {
+ if(*zrect >= 9.9e10f || rgbrect[3]==0.0f) {
continue;
}
@@ -1084,7 +1098,7 @@ static unsigned short *make_solid_mask(RenderPart *pa)
static void addAlphaOverFloatMask(float *dest, float *source, unsigned short dmask, unsigned short smask)
{
unsigned short shared= dmask & smask;
- float mul= 1.0 - source[3];
+ float mul= 1.0f - source[3];
if(shared) { /* overlapping masks */
@@ -1878,13 +1892,13 @@ static void renderflare(RenderResult *rr, float *rectf, HaloRen *har)
fla.r= fabs(rc[0]);
fla.g= fabs(rc[1]);
fla.b= fabs(rc[2]);
- fla.alfa= ma->flareboost*fabs(alfa*visifac*rc[3]);
- fla.hard= 20.0f + fabs(70*rc[7]);
+ fla.alfa= ma->flareboost*fabsf(alfa*visifac*rc[3]);
+ fla.hard= 20.0f + fabsf(70.0f*rc[7]);
fla.tex= 0;
- type= (int)(fabs(3.9*rc[6]));
+ type= (int)(fabs(3.9f*rc[6]));
- fla.rad= ma->subsize*sqrt(fabs(2.0f*har->rad*rc[4]));
+ fla.rad= ma->subsize*sqrtf(fabs(2.0f*har->rad*rc[4]));
if(type==3) {
fla.rad*= 3.0f;
@@ -1893,22 +1907,22 @@ static void renderflare(RenderResult *rr, float *rectf, HaloRen *har)
fla.radsq= fla.rad*fla.rad;
- vec[0]= 1.4*rc[5]*(har->xs-R.winx/2);
- vec[1]= 1.4*rc[5]*(har->ys-R.winy/2);
- vec[2]= 32.0f*sqrt(vec[0]*vec[0] + vec[1]*vec[1] + 1.0f);
+ vec[0]= 1.4f*rc[5]*(har->xs-R.winx/2);
+ vec[1]= 1.4f*rc[5]*(har->ys-R.winy/2);
+ vec[2]= 32.0f*sqrtf(vec[0]*vec[0] + vec[1]*vec[1] + 1.0f);
- fla.xs= R.winx/2 + vec[0] + (1.2+rc[8])*R.rectx*vec[0]/vec[2];
- fla.ys= R.winy/2 + vec[1] + (1.2+rc[8])*R.rectx*vec[1]/vec[2];
+ fla.xs= R.winx/2 + vec[0] + (1.2f+rc[8])*R.rectx*vec[0]/vec[2];
+ fla.ys= R.winy/2 + vec[1] + (1.2f+rc[8])*R.rectx*vec[1]/vec[2];
if(R.flag & R_SEC_FIELD) {
- if(R.r.mode & R_ODDFIELD) fla.ys += 0.5;
- else fla.ys -= 0.5;
+ if(R.r.mode & R_ODDFIELD) fla.ys += 0.5f;
+ else fla.ys -= 0.5f;
}
if(type & 1) fla.type= HA_FLARECIRC;
else fla.type= 0;
renderhalo_post(rr, rectf, &fla);
- fla.alfa*= 0.5;
+ fla.alfa*= 0.5f;
if(type & 2) fla.type= HA_FLARECIRC;
else fla.type= 0;
renderhalo_post(rr, rectf, &fla);
@@ -1956,40 +1970,6 @@ void add_halo_flare(Render *re)
R.r.mode= mode;
}
-/* ************************* used for shaded view ************************ */
-
-/* if *re, then initialize, otherwise execute */
-void RE_shade_external(Render *re, ShadeInput *shi, ShadeResult *shr)
-{
- static VlakRen vlr;
- static ObjectRen obr;
- static ObjectInstanceRen obi;
-
- /* init */
- if(re) {
- R= *re;
-
- /* fake render face */
- memset(&vlr, 0, sizeof(VlakRen));
- memset(&obr, 0, sizeof(ObjectRen));
- memset(&obi, 0, sizeof(ObjectInstanceRen));
- obr.lay= -1;
- obi.obr= &obr;
-
- return;
- }
- shi->vlr= &vlr;
- shi->obr= &obr;
- shi->obi= &obi;
-
- if(shi->mat->nodetree && shi->mat->use_nodes)
- ntreeShaderExecTree(shi->mat->nodetree, shi, shr);
- else {
- shade_input_init_material(shi);
- shade_material_loop(shi, shr);
- }
-}
-
/* ************************* bake ************************ */
@@ -2018,7 +1998,7 @@ typedef struct BakeShade {
short *do_update;
} BakeShade;
-static void bake_set_shade_input(ObjectInstanceRen *obi, VlakRen *vlr, ShadeInput *shi, int quad, int isect, int x, int y, float u, float v)
+static void bake_set_shade_input(ObjectInstanceRen *obi, VlakRen *vlr, ShadeInput *shi, int quad, int UNUSED(isect), int x, int y, float u, float v)
{
if(quad)
shade_input_set_triangle_i(shi, obi, vlr, 0, 2, 3);
@@ -2049,7 +2029,7 @@ static void bake_set_shade_input(ObjectInstanceRen *obi, VlakRen *vlr, ShadeInpu
shi->view[2]= shi->vn[2];
}
-static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int quad, int x, int y, float u, float v, float *tvn, float *ttang)
+static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int UNUSED(quad), int x, int y, float UNUSED(u), float UNUSED(v), float *tvn, float *ttang)
{
BakeShade *bs= handle;
ShadeSample *ssamp= &bs->ssamp;
@@ -2217,7 +2197,7 @@ static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int quad, int
}
}
-static void bake_displacement(void *handle, ShadeInput *shi, float dist, int x, int y)
+static void bake_displacement(void *handle, ShadeInput *UNUSED(shi), float dist, int x, int y)
{
BakeShade *bs= handle;
float disp;
@@ -2225,7 +2205,7 @@ static void bake_displacement(void *handle, ShadeInput *shi, float dist, int x,
if(R.r.bake_flag & R_BAKE_NORMALIZE && R.r.bake_maxdist) {
disp = (dist+R.r.bake_maxdist) / (R.r.bake_maxdist*2); /* alter the range from [-bake_maxdist, bake_maxdist] to [0, 1]*/
} else {
- disp = 0.5 + dist; /* alter the range from [-0.5,0.5] to [0,1]*/
+ disp = 0.5f + dist; /* alter the range from [-0.5,0.5] to [0,1]*/
}
if(bs->rect_float) {
@@ -2297,7 +2277,7 @@ static void bake_set_vlr_dxyco(BakeShade *bs, float *uv1, float *uv2, float *uv3
* then taking u and v partial derivatives to get dxco and dyco */
A= (uv2[0] - uv1[0])*(uv3[1] - uv1[1]) - (uv3[0] - uv1[0])*(uv2[1] - uv1[1]);
- if(fabs(A) > FLT_EPSILON) {
+ if(fabsf(A) > FLT_EPSILON) {
A= 0.5f/A;
d1= uv2[1] - uv3[1];
@@ -2464,7 +2444,8 @@ static int get_next_bake_face(BakeShade *bs)
if(tface && tface->tpage) {
Image *ima= tface->tpage;
ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
- float vec[4]= {0.0f, 0.0f, 0.0f, 0.0f};
+ const float vec_alpha[4]= {0.0f, 0.0f, 0.0f, 0.0f};
+ const float vec_solid[4]= {0.0f, 0.0f, 0.0f, 1.0f};
if(ibuf==NULL)
continue;
@@ -2484,7 +2465,7 @@ static int get_next_bake_face(BakeShade *bs)
imb_freerectImBuf(ibuf);
/* clear image */
if(R.r.bake_flag & R_BAKE_CLEAR)
- IMB_rectfill(ibuf, vec);
+ IMB_rectfill(ibuf, (ibuf->depth == 32) ? vec_alpha : vec_solid);
/* might be read by UI to set active image for display */
R.bakebuf= ima;
@@ -2551,8 +2532,8 @@ static void shade_tface(BakeShade *bs)
* where a pixel gets in between 2 faces or the middle of a quad,
* camera aligned quads also have this problem but they are less common.
* Add a small offset to the UVs, fixes bug #18685 - Campbell */
- vec[a][0]= tface->uv[a][0]*(float)bs->rectx - (0.5f + 0.001);
- vec[a][1]= tface->uv[a][1]*(float)bs->recty - (0.5f + 0.002);
+ vec[a][0]= tface->uv[a][0]*(float)bs->rectx - (0.5f + 0.001f);
+ vec[a][1]= tface->uv[a][1]*(float)bs->recty - (0.5f + 0.002f);
}
/* UV indices have to be corrected for possible quad->tria splits */
@@ -2589,6 +2570,28 @@ static void *do_bake_thread(void *bs_v)
return NULL;
}
+void RE_bake_ibuf_filter(ImBuf *ibuf, char *mask, const int filter)
+{
+ /* must check before filtering */
+ const short is_new_alpha= (ibuf->depth != 32) && BKE_alphatest_ibuf(ibuf);
+
+ /* Margin */
+ if(filter) {
+ IMB_filter_extend(ibuf, mask, filter);
+ }
+
+ /* if the bake results in new alpha then change the image setting */
+ if(is_new_alpha) {
+ ibuf->depth= 32;
+ }
+ else {
+ if(filter && ibuf->depth != 32) {
+ /* clear alpha added by filtering */
+ IMB_rectfill_alpha(ibuf, 1.0f);
+ }
+ }
+}
+
/* using object selection tags, the faces with UV maps get baked */
/* render should have been setup */
/* returns 0 if nothing was handled */
@@ -2675,36 +2678,7 @@ int RE_bake_shade_all_selected(Render *re, int type, Object *actob, short *do_up
if(!ibuf)
continue;
- if(re->r.bake_filter) {
- if (usemask) {
- /* extend the mask +2 pixels from the image,
- * this is so colors dont blend in from outside */
- char *temprect;
-
- for(a=0; a<re->r.bake_filter; a++)
- IMB_mask_filter_extend((char *)ibuf->userdata, ibuf->x, ibuf->y);
-
- temprect = MEM_dupallocN(ibuf->userdata);
-
- /* expand twice to clear this many pixels, so they blend back in */
- IMB_mask_filter_extend(temprect, ibuf->x, ibuf->y);
- IMB_mask_filter_extend(temprect, ibuf->x, ibuf->y);
-
- /* clear all pixels in the margin*/
- IMB_mask_clear(ibuf, temprect, FILTER_MASK_MARGIN);
- MEM_freeN(temprect);
- }
-
- for(a=0; a<re->r.bake_filter; a++) {
- /*the mask, ibuf->userdata - can be null, in this case only zero alpha is used */
- IMB_filter_extend(ibuf, (char *)ibuf->userdata);
- }
-
- if (ibuf->userdata) {
- MEM_freeN(ibuf->userdata);
- ibuf->userdata= NULL;
- }
- }
+ RE_bake_ibuf_filter(ibuf, (char *)ibuf->userdata, re->r.bake_filter);
ibuf->userflags |= IB_BITMAPDIRTY;
if (ibuf->rect_float) IMB_rect_from_float(ibuf);
diff --git a/source/blender/render/intern/source/renderdatabase.c b/source/blender/render/intern/source/renderdatabase.c
index afe4d5c7e35..0c5ad0475ab 100644
--- a/source/blender/render/intern/source/renderdatabase.c
+++ b/source/blender/render/intern/source/renderdatabase.c
@@ -446,7 +446,7 @@ VlakRen *RE_vlakren_copy(ObjectRen *obr, VlakRen *vlr)
return vlr1;
}
-void RE_vlakren_get_normal(Render *re, ObjectInstanceRen *obi, VlakRen *vlr, float *nor)
+void RE_vlakren_get_normal(Render *UNUSED(re), ObjectInstanceRen *obi, VlakRen *vlr, float *nor)
{
float (*nmat)[3]= obi->nmat;
@@ -943,13 +943,13 @@ HaloRen *RE_inithalo(Render *re, ObjectRen *obr, Material *ma, float *vec, f
float tin, tr, tg, tb, ta;
float xn, yn, zn, texvec[3], hoco[4], hoco1[4];
- if(hasize==0.0) return NULL;
+ if(hasize==0.0f) return NULL;
projectverto(vec, re->winmat, hoco);
- if(hoco[3]==0.0) return NULL;
+ if(hoco[3]==0.0f) return NULL;
if(vec1) {
projectverto(vec1, re->winmat, hoco1);
- if(hoco1[3]==0.0) return NULL;
+ if(hoco1[3]==0.0f) return NULL;
}
har= RE_findOrAddHalo(obr, obr->tothalo++);
@@ -959,8 +959,8 @@ HaloRen *RE_inithalo(Render *re, ObjectRen *obr, Material *ma, float *vec, f
/* actual projectvert is done in function project_renderdata() because of parts/border/pano */
/* we do it here for sorting of halos */
zn= hoco[3];
- har->xs= 0.5*re->winx*(hoco[0]/zn);
- har->ys= 0.5*re->winy*(hoco[1]/zn);
+ har->xs= 0.5f*re->winx*(hoco[0]/zn);
+ har->ys= 0.5f*re->winy*(hoco[1]/zn);
har->zs= 0x7FFFFF*(hoco[2]/zn);
har->zBufDist = 0x7FFFFFFF*(hoco[2]/zn);
@@ -970,16 +970,16 @@ HaloRen *RE_inithalo(Render *re, ObjectRen *obr, Material *ma, float *vec, f
har->type |= HA_VECT;
- xn= har->xs - 0.5*re->winx*(hoco1[0]/hoco1[3]);
- yn= har->ys - 0.5*re->winy*(hoco1[1]/hoco1[3]);
- if(xn==0.0 || (xn==0.0 && yn==0.0)) zn= 0.0;
+ xn= har->xs - 0.5f*re->winx*(hoco1[0]/hoco1[3]);
+ yn= har->ys - 0.5f*re->winy*(hoco1[1]/hoco1[3]);
+ if(xn==0.0f || (xn==0.0f && yn==0.0f)) zn= 0.0f;
else zn= atan2(yn, xn);
har->sin= sin(zn);
har->cos= cos(zn);
zn= len_v3v3(vec1, vec);
- har->hasize= vectsize*zn + (1.0-vectsize)*hasize;
+ har->hasize= vectsize*zn + (1.0f-vectsize)*hasize;
sub_v3_v3v3(har->no, vec, vec1);
normalize_v3(har->no);
@@ -991,7 +991,7 @@ HaloRen *RE_inithalo(Render *re, ObjectRen *obr, Material *ma, float *vec, f
har->r= ma->r;
har->g= ma->g;
har->b= ma->b;
- har->add= (255.0*ma->add);
+ har->add= (255.0f*ma->add);
har->mat= ma;
har->hard= ma->har;
har->seed= seed % 256;
@@ -1032,7 +1032,7 @@ HaloRen *RE_inithalo(Render *re, ObjectRen *obr, Material *ma, float *vec, f
zn= tin*mtex->alphafac;
if(mtex->mapto & MAP_COL) {
- zn= 1.0-yn;
+ zn= 1.0f-yn;
har->r= (yn*tr+ zn*ma->r);
har->g= (yn*tg+ zn*ma->g);
har->b= (yn*tb+ zn*ma->b);
@@ -1057,13 +1057,13 @@ HaloRen *RE_inithalo_particle(Render *re, ObjectRen *obr, DerivedMesh *dm, Mater
float xn, yn, zn, texvec[3], hoco[4], hoco1[4], in[3],tex[3],out[3];
int i, hasrgb;
- if(hasize==0.0) return NULL;
+ if(hasize==0.0f) return NULL;
projectverto(vec, re->winmat, hoco);
- if(hoco[3]==0.0) return NULL;
+ if(hoco[3]==0.0f) return NULL;
if(vec1) {
projectverto(vec1, re->winmat, hoco1);
- if(hoco1[3]==0.0) return NULL;
+ if(hoco1[3]==0.0f) return NULL;
}
har= RE_findOrAddHalo(obr, obr->tothalo++);
@@ -1073,8 +1073,8 @@ HaloRen *RE_inithalo_particle(Render *re, ObjectRen *obr, DerivedMesh *dm, Mater
/* actual projectvert is done in function project_renderdata() because of parts/border/pano */
/* we do it here for sorting of halos */
zn= hoco[3];
- har->xs= 0.5*re->winx*(hoco[0]/zn);
- har->ys= 0.5*re->winy*(hoco[1]/zn);
+ har->xs= 0.5f*re->winx*(hoco[0]/zn);
+ har->ys= 0.5f*re->winy*(hoco[1]/zn);
har->zs= 0x7FFFFF*(hoco[2]/zn);
har->zBufDist = 0x7FFFFFFF*(hoco[2]/zn);
@@ -1084,16 +1084,16 @@ HaloRen *RE_inithalo_particle(Render *re, ObjectRen *obr, DerivedMesh *dm, Mater
har->type |= HA_VECT;
- xn= har->xs - 0.5*re->winx*(hoco1[0]/hoco1[3]);
- yn= har->ys - 0.5*re->winy*(hoco1[1]/hoco1[3]);
- if(xn==0.0 || (xn==0.0 && yn==0.0)) zn= 0.0;
+ xn= har->xs - 0.5f*re->winx*(hoco1[0]/hoco1[3]);
+ yn= har->ys - 0.5f*re->winy*(hoco1[1]/hoco1[3]);
+ if(xn==0.0f || (xn==0.0f && yn==0.0f)) zn= 0.0;
else zn= atan2(yn, xn);
har->sin= sin(zn);
har->cos= cos(zn);
- zn= len_v3v3(vec1, vec)*0.5;
+ zn= len_v3v3(vec1, vec)*0.5f;
- har->hasize= vectsize*zn + (1.0-vectsize)*hasize;
+ har->hasize= vectsize*zn + (1.0f-vectsize)*hasize;
sub_v3_v3v3(har->no, vec, vec1);
normalize_v3(har->no);
@@ -1105,7 +1105,7 @@ HaloRen *RE_inithalo_particle(Render *re, ObjectRen *obr, DerivedMesh *dm, Mater
har->r= ma->r;
har->g= ma->g;
har->b= ma->b;
- har->add= (255.0*ma->add);
+ har->add= (255.0f*ma->add);
har->mat= ma;
har->hard= ma->har;
har->seed= seed % 256;
@@ -1185,13 +1185,13 @@ HaloRen *RE_inithalo_particle(Render *re, ObjectRen *obr, DerivedMesh *dm, Mater
if(mtex->mapto & MAP_ALPHA)
har->alfa = texture_value_blend(mtex->def_var,har->alfa,tin,mtex->alphafac,mtex->blendtype);
if(mtex->mapto & MAP_HAR)
- har->hard = 1.0+126.0*texture_value_blend(mtex->def_var,((float)har->hard)/127.0,tin,mtex->hardfac,mtex->blendtype);
+ har->hard = 1.0f+126.0f*texture_value_blend(mtex->def_var,((float)har->hard)/127.0f,tin,mtex->hardfac,mtex->blendtype);
if(mtex->mapto & MAP_RAYMIRR)
- har->hasize = 100.0*texture_value_blend(mtex->def_var,har->hasize/100.0,tin,mtex->raymirrfac,mtex->blendtype);
+ har->hasize = 100.0f*texture_value_blend(mtex->def_var,har->hasize/100.0f,tin,mtex->raymirrfac,mtex->blendtype);
if(mtex->mapto & MAP_TRANSLU) {
- float add = texture_value_blend(mtex->def_var,(float)har->add/255.0,tin,mtex->translfac,mtex->blendtype);
+ float add = texture_value_blend(mtex->def_var,(float)har->add/255.0f,tin,mtex->translfac,mtex->blendtype);
CLAMP(add, 0.f, 1.f);
- har->add = 255.0*add;
+ har->add = 255.0f*add;
}
/* now what on earth is this good for?? */
//if(mtex->texco & 16) {
@@ -1238,7 +1238,7 @@ static int panotestclip(Render *re, int do_pano, float *v)
- shadow buffering (shadbuf.c)
*/
-void project_renderdata(Render *re, void (*projectfunc)(float *, float mat[][4], float *), int do_pano, float xoffs, int do_buckets)
+void project_renderdata(Render *re, void (*projectfunc)(float *, float mat[][4], float *), int do_pano, float xoffs, int UNUSED(do_buckets))
{
ObjectRen *obr;
HaloRen *har = NULL;
@@ -1270,24 +1270,24 @@ void project_renderdata(Render *re, void (*projectfunc)(float *, float mat[][4],
projectfunc(vec, re->winmat, hoco);
/* we clip halos less critical, but not for the Z */
- hoco[0]*= 0.5;
- hoco[1]*= 0.5;
+ hoco[0]*= 0.5f;
+ hoco[1]*= 0.5f;
if( panotestclip(re, do_pano, hoco) ) {
har->miny= har->maxy= -10000; /* that way render clips it */
}
- else if(hoco[3]<0.0) {
+ else if(hoco[3]<0.0f) {
har->miny= har->maxy= -10000; /* render clips it */
}
else /* do the projection...*/
{
/* bring back hocos */
- hoco[0]*= 2.0;
- hoco[1]*= 2.0;
+ hoco[0]*= 2.0f;
+ hoco[1]*= 2.0f;
zn= hoco[3];
- har->xs= 0.5*re->winx*(1.0+hoco[0]/zn); /* the 0.5 negates the previous 2...*/
- har->ys= 0.5*re->winy*(1.0+hoco[1]/zn);
+ har->xs= 0.5f*re->winx*(1.0f+hoco[0]/zn); /* the 0.5 negates the previous 2...*/
+ har->ys= 0.5f*re->winy*(1.0f+hoco[1]/zn);
/* this should be the zbuffer coordinate */
har->zs= 0x7FFFFF*(hoco[2]/zn);
@@ -1298,11 +1298,11 @@ void project_renderdata(Render *re, void (*projectfunc)(float *, float mat[][4],
projectfunc(vec, re->winmat, hoco);
vec[0]-= har->hasize;
zn= hoco[3];
- har->rad= fabs(har->xs- 0.5*re->winx*(1.0+hoco[0]/zn));
+ har->rad= fabsf(har->xs- 0.5f*re->winx*(1.0f+hoco[0]/zn));
/* this clip is not really OK, to prevent stars to become too large */
if(har->type & HA_ONLYSKY) {
- if(har->rad>3.0) har->rad= 3.0;
+ if(har->rad>3.0f) har->rad= 3.0f;
}
har->radsq= har->rad*har->rad;
diff --git a/source/blender/render/intern/source/shadbuf.c b/source/blender/render/intern/source/shadbuf.c
index dcb9a3063e1..5860c395b07 100644
--- a/source/blender/render/intern/source/shadbuf.c
+++ b/source/blender/render/intern/source/shadbuf.c
@@ -260,7 +260,7 @@ static int compress_deepsamples(DeepSample *dsample, int tot, float epsilon)
}
else {
/* compute visibility at center between slopes at z */
- slope= (slopemin+slopemax)*0.5;
+ slope= (slopemin+slopemax)*0.5f;
v= newds->v + slope*((z - newds->z)/(double)0x7FFFFFFF);
}
@@ -774,7 +774,7 @@ void makeshadowbuf(Render *re, LampRen *lar)
angle= saacos(lar->spotsi);
temp= 0.5f*shb->size*cos(angle)/sin(angle);
shb->pixsize= (shb->d)/temp;
- wsize= shb->pixsize*(shb->size/2.0);
+ wsize= shb->pixsize*(shb->size/2.0f);
perspective_m4( shb->winmat,-wsize, wsize, -wsize, wsize, shb->d, shb->clipend);
mul_m4_m4m4(shb->persmat, shb->viewmat, shb->winmat);
@@ -1094,7 +1094,7 @@ static float readshadowbuf(ShadBuf *shb, ShadSampleBuf *shsample, int bias, int
else { /* soft area */
temp= ( (float)(zs- zsamp) )/(float)bias;
- return 1.0 - temp*temp;
+ return 1.0f - temp*temp;
}
}
@@ -1287,7 +1287,7 @@ static float readshadowbuf_halo(ShadBuf *shb, ShadSampleBuf *shsample, int xs, i
/* soft area */
temp= ( (float)(zs- zsamp) )/(float)bias;
- return 1.0 - temp*temp;
+ return 1.0f - temp*temp;
}
@@ -1303,15 +1303,15 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
int x, y, z, xs1, ys1;
int dx = 0, dy = 0;
- siz= 0.5*(float)shb->size;
+ siz= 0.5f*(float)shb->size;
co[0]= p1[0];
co[1]= p1[1];
co[2]= p1[2]/lar->sh_zfac;
co[3]= 1.0;
mul_m4_v4(shb->winmat, co); /* rational hom co */
- xf1= siz*(1.0+co[0]/co[3]);
- yf1= siz*(1.0+co[1]/co[3]);
+ xf1= siz*(1.0f+co[0]/co[3]);
+ yf1= siz*(1.0f+co[1]/co[3]);
zf1= (co[2]/co[3]);
@@ -1320,8 +1320,8 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
co[2]= p2[2]/lar->sh_zfac;
co[3]= 1.0;
mul_m4_v4(shb->winmat, co); /* rational hom co */
- xf2= siz*(1.0+co[0]/co[3]);
- yf2= siz*(1.0+co[1]/co[3]);
+ xf2= siz*(1.0f+co[0]/co[3]);
+ yf2= siz*(1.0f+co[1]/co[3]);
zf2= (co[2]/co[3]);
/* the 2dda (a pixel line formula) */
@@ -1330,8 +1330,8 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
ys1= (int)yf1;
if(xf1 != xf2) {
- if(xf2-xf1 > 0.0) {
- labdax= (xf1-xs1-1.0)/(xf1-xf2);
+ if(xf2-xf1 > 0.0f) {
+ labdax= (xf1-xs1-1.0f)/(xf1-xf2);
ldx= -shb->shadhalostep/(xf1-xf2);
dx= shb->shadhalostep;
}
@@ -1347,8 +1347,8 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
}
if(yf1 != yf2) {
- if(yf2-yf1 > 0.0) {
- labday= (yf1-ys1-1.0)/(yf1-yf2);
+ if(yf2-yf1 > 0.0f) {
+ labday= (yf1-ys1-1.0f)/(yf1-yf2);
ldy= -shb->shadhalostep/(yf1-yf2);
dy= shb->shadhalostep;
}
@@ -1389,16 +1389,16 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
}
labda= MIN2(labdax, labday);
- if(labda==labdao || labda>=1.0) break;
+ if(labda==labdao || labda>=1.0f) break;
zf= zf1 + labda*(zf2-zf1);
count+= (float)shb->totbuf;
- if(zf<= -1.0) lightcount += 1.0; /* close to the spot */
+ if(zf<= -1.0f) lightcount += 1.0f; /* close to the spot */
else {
/* make sure, behind the clipend we extend halolines. */
- if(zf>=1.0) z= 0x7FFFF000;
+ if(zf>=1.0f) z= 0x7FFFF000;
else z= (int)(0x7FFFF000*zf);
for(shsample= shb->buffers.first; shsample; shsample= shsample->next)
@@ -1407,8 +1407,8 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
}
}
- if(count!=0.0) return (lightcount/count);
- return 0.0;
+ if(count!=0.0f) return (lightcount/count);
+ return 0.0f;
}
@@ -2081,11 +2081,11 @@ static int viewpixel_to_lampbuf(ShadBuf *shb, ObjectInstanceRen *obi, VlakRen *v
/* ortho viewplane cannot intersect using view vector originating in (0,0,0) */
if(R.r.mode & R_ORTHO) {
/* x and y 3d coordinate can be derived from pixel coord and winmat */
- float fx= 2.0/(R.winx*R.winmat[0][0]);
- float fy= 2.0/(R.winy*R.winmat[1][1]);
+ float fx= 2.0f/(R.winx*R.winmat[0][0]);
+ float fy= 2.0f/(R.winy*R.winmat[1][1]);
- hoco[0]= (x - 0.5*R.winx)*fx - R.winmat[3][0]/R.winmat[0][0];
- hoco[1]= (y - 0.5*R.winy)*fy - R.winmat[3][1]/R.winmat[1][1];
+ hoco[0]= (x - 0.5f*R.winx)*fx - R.winmat[3][0]/R.winmat[0][0];
+ hoco[1]= (y - 0.5f*R.winy)*fy - R.winmat[3][1]/R.winmat[1][1];
/* using a*x + b*y + c*z = d equation, (a b c) is normal */
if(nor[2]!=0.0f)
@@ -2141,9 +2141,9 @@ static void isb_add_shadfac(ISBShadfacA **isbsapp, MemArena *mem, int obi, int f
/* in osa case, the samples were filled in with factor 1.0/R.osa. if fewer samples we have to correct */
if(R.osa)
- shadfacf= ((float)shadfac*R.osa)/(4096.0*samples);
+ shadfacf= ((float)shadfac*R.osa)/(4096.0f*samples);
else
- shadfacf= ((float)shadfac)/(4096.0);
+ shadfacf= ((float)shadfac)/(4096.0f);
new= BLI_memarena_alloc(mem, sizeof(ISBShadfacA));
new->obi= obi;
@@ -2640,4 +2640,3 @@ void ISB_free(RenderPart *pa)
}
}
}
-
diff --git a/source/blender/render/intern/source/shadeinput.c b/source/blender/render/intern/source/shadeinput.c
index 77141d9b445..eab66aaf2ec 100644
--- a/source/blender/render/intern/source/shadeinput.c
+++ b/source/blender/render/intern/source/shadeinput.c
@@ -303,7 +303,7 @@ void shade_input_set_triangle_i(ShadeInput *shi, ObjectInstanceRen *obi, VlakRen
*/
/* copy data from face to ShadeInput, scanline case */
-void shade_input_set_triangle(ShadeInput *shi, volatile int obi, volatile int facenr, int normal_flip)
+void shade_input_set_triangle(ShadeInput *shi, volatile int obi, volatile int facenr, int UNUSED(normal_flip))
{
if(facenr>0) {
shi->obi= &R.objectinstance[obi];
@@ -543,11 +543,6 @@ void shade_input_set_strand_texco(ShadeInput *shi, StrandRen *strand, StrandVert
shi->orn[2]= -shi->vn[2];
}
- if(texco & TEXCO_REFL) {
- /* mirror reflection color textures (and envmap) */
- calc_R_ref(shi); /* wrong location for normal maps! XXXXXXXXXXXXXX */
- }
-
if(texco & TEXCO_STRESS) {
/* not supported */
}
@@ -776,7 +771,8 @@ void shade_input_set_uv(ShadeInput *shi)
t00= v3[axis1]-v1[axis1]; t01= v3[axis2]-v1[axis2];
t10= v3[axis1]-v2[axis1]; t11= v3[axis2]-v2[axis2];
- detsh= 1.0f/(t00*t11-t10*t01);
+ detsh= (t00*t11-t10*t01);
+ detsh= (detsh != 0.0f)? 1.0f/detsh: 0.0f;
t00*= detsh; t01*=detsh;
t10*=detsh; t11*=detsh;
@@ -1205,11 +1201,6 @@ void shade_input_set_shade_texco(ShadeInput *shi)
shi->orn[2]= -shi->vn[2];
}
- if(texco & TEXCO_REFL) {
- /* mirror reflection color textures (and envmap) */
- calc_R_ref(shi); /* wrong location for normal maps! XXXXXXXXXXXXXX */
- }
-
if(texco & TEXCO_STRESS) {
float *s1, *s2, *s3;
@@ -1282,8 +1273,9 @@ void shade_input_set_shade_texco(ShadeInput *shi)
s11= ho3[1]/ho3[3] - ho2[1]/ho2[3];
detsh= s00*s11-s10*s01;
- s00/= detsh; s01/=detsh;
- s10/=detsh; s11/=detsh;
+ detsh= (detsh != 0.0f)? 1.0f/detsh: 0.0f;
+ s00*= detsh; s01*=detsh;
+ s10*=detsh; s11*=detsh;
/* recalc u and v again */
hox= x/Zmulx -1.0f;
@@ -1465,7 +1457,7 @@ int shade_samples(ShadeSample *ssamp, PixStr *ps, int x, int y)
shade_samples_do_AO(ssamp);
/* if shade (all shadepinputs have same passflag) */
- if(ssamp->shi[0].passflag & ~(SCE_PASS_Z|SCE_PASS_INDEXOB)) {
+ if(ssamp->shi[0].passflag & ~(SCE_PASS_Z|SCE_PASS_INDEXOB|SCE_PASS_INDEXMA)) {
for(samp=0; samp<ssamp->tot; samp++, shi++, shr++) {
shade_input_set_shade_texco(shi);
diff --git a/source/blender/render/intern/source/shadeoutput.c b/source/blender/render/intern/source/shadeoutput.c
index 5a5de938e43..30632586b04 100644
--- a/source/blender/render/intern/source/shadeoutput.c
+++ b/source/blender/render/intern/source/shadeoutput.c
@@ -282,10 +282,10 @@ static void spothalo(struct LampRen *lar, ShadeInput *shi, float *intens)
else if(ok1==0 || ok2==0) return;
/* at least 1 visible interesction point */
- if(t1<0.0f && t2<0.0f) return;
+ if(t1<0.0 && t2<0.0) return;
- if(t1<0.0f) t1= 0.0f;
- if(t2<0.0f) t2= 0.0f;
+ if(t1<0.0) t1= 0.0;
+ if(t2<0.0) t2= 0.0;
if(t1==t2) return;
@@ -423,8 +423,8 @@ float fresnel_fac(float *view, float *vn, float grad, float fac)
static double saacos_d(double fac)
{
- if(fac<= -1.0f) return M_PI;
- else if(fac>=1.0f) return 0.0;
+ if(fac<= -1.0) return M_PI;
+ else if(fac>=1.0) return 0.0;
else return acos(fac);
}
@@ -590,7 +590,7 @@ static float CookTorr_Spec(float *n, float *l, float *v, int hard, int tangent)
i= spec(nh, hard);
- i= i/(0.1+nv);
+ i= i/(0.1f+nv);
return i;
}
@@ -705,7 +705,7 @@ static float WardIso_Spec( float *n, float *l, float *v, float rms, int tangent)
}
/* cartoon render diffuse */
-static float Toon_Diff( float *n, float *l, float *v, float size, float smooth )
+static float Toon_Diff( float *n, float *l, float *UNUSED(v), float size, float smooth )
{
float rslt, ang;
@@ -806,7 +806,7 @@ static float Minnaert_Diff(float nl, float *n, float *v, float darkness)
return i;
}
-static float Fresnel_Diff(float *vn, float *lv, float *view, float fac_i, float fac)
+static float Fresnel_Diff(float *vn, float *lv, float *UNUSED(view), float fac_i, float fac)
{
return fresnel_fac(lv, vn, fac_i, fac);
}
@@ -896,7 +896,7 @@ static void ramp_diffuse_result(float *diff, ShadeInput *shi)
if(ma->ramp_col) {
if(ma->rampin_col==MA_RAMP_IN_RESULT) {
- fac= 0.3*diff[0] + 0.58*diff[1] + 0.12*diff[2];
+ fac= 0.3f*diff[0] + 0.58f*diff[1] + 0.12f*diff[2];
do_colorband(ma->ramp_col, fac, col);
/* blending method */
@@ -926,7 +926,7 @@ static void add_to_diffuse(float *diff, ShadeInput *shi, float is, float r, floa
/* input */
switch(ma->rampin_col) {
case MA_RAMP_IN_ENERGY:
- fac= 0.3*r + 0.58*g + 0.12*b;
+ fac= 0.3f*r + 0.58f*g + 0.12f*b;
break;
case MA_RAMP_IN_SHADER:
fac= is;
@@ -966,7 +966,7 @@ static void ramp_spec_result(float *specr, float *specg, float *specb, ShadeInpu
float fac;
if(ma->ramp_spec && (ma->rampin_spec==MA_RAMP_IN_RESULT)) {
- fac= 0.3*(*specr) + 0.58*(*specg) + 0.12*(*specb);
+ fac= 0.3f*(*specr) + 0.58f*(*specg) + 0.12f*(*specb);
do_colorband(ma->ramp_spec, fac, col);
/* blending method */
@@ -1213,7 +1213,7 @@ float lamp_get_visibility(LampRen *lar, float *co, float *lv, float *dist)
}
}
}
- if (visifac <= 0.001) visifac = 0.0f;
+ if (visifac <= 0.001f) visifac = 0.0f;
return visifac;
}
}
@@ -1231,7 +1231,7 @@ static void shade_one_light(LampRen *lar, ShadeInput *shi, ShadeResult *shr, int
view= shi->view;
- if (lar->energy == 0.0) return;
+ if (lar->energy == 0.0f) return;
/* only shadow lamps shouldn't affect shadow-less materials at all */
if ((lar->mode & LA_ONLYSHADOW) && (!(ma->mode & MA_SHADOW) || !(R.r.mode & R_SHADOW)))
return;
@@ -1359,7 +1359,7 @@ static void shade_one_light(LampRen *lar, ShadeInput *shi, ShadeResult *shr, int
/* 'is' is diffuse */
if((ma->shade_flag & MA_CUBIC) && is>0.0f && is<1.0f)
- is= 3.0*is*is - 2.0*is*is*is; // nicer termination of shades
+ is= 3.0f*is*is - 2.0f*is*is*is; // nicer termination of shades
i= is*phongcorr;
@@ -1388,7 +1388,7 @@ static void shade_one_light(LampRen *lar, ShadeInput *shi, ShadeResult *shr, int
lamp_get_shadow(lar, shi, inp, shadfac, shi->depth);
/* warning, here it skips the loop */
- if((lar->mode & LA_ONLYSHADOW) && i>0.0) {
+ if((lar->mode & LA_ONLYSHADOW) && i>0.0f) {
shadfac[3]= i*lar->energy*(1.0f-shadfac[3]);
shr->shad[0] -= shadfac[3]*shi->r*(1.0f-lashdw[0]);
@@ -1448,7 +1448,7 @@ static void shade_one_light(LampRen *lar, ShadeInput *shi, ShadeResult *shr, int
t= vn[0]*lv[0]+vn[1]*lv[1]+vn[2]*lv[2];
if(lar->type==LA_HEMI) {
- t= 0.5*t+0.5;
+ t= 0.5f*t+0.5f;
}
t= shadfac[3]*shi->spec*spec(t, shi->har);
diff --git a/source/blender/render/intern/source/sss.c b/source/blender/render/intern/source/sss.c
index f7d1b43d4f7..0ba13b31c4b 100644
--- a/source/blender/render/intern/source/sss.c
+++ b/source/blender/render/intern/source/sss.c
@@ -172,7 +172,7 @@ static float f_Rd(float alpha_, float A, float ro)
float sq;
sq= sqrt(3.0f*(1.0f - alpha_));
- return (alpha_/2.0f)*(1.0f + exp((-4.0f/3.0f)*A*sq))*exp(-sq) - ro;
+ return (alpha_/2.0f)*(1.0f + expf((-4.0f/3.0f)*A*sq))*expf(-sq) - ro;
}
static float compute_reduced_albedo(ScatterSettings *ss)
@@ -189,10 +189,10 @@ static float compute_reduced_albedo(ScatterSettings *ss)
for(i= 0; i < max_iteration_count; i++) {
fsub= (fxn - fxn_1);
- if(fabs(fsub) < tolerance)
+ if(fabsf(fsub) < tolerance)
break;
d= ((xn - xn_1)/fsub)*fxn;
- if(fabs(d) < tolerance)
+ if(fabsf(d) < tolerance)
break;
xn_1= xn;
@@ -221,10 +221,10 @@ static float Rd_rsquare(ScatterSettings *ss, float rr)
sr= sqrt(rr + ss->zr*ss->zr);
sv= sqrt(rr + ss->zv*ss->zv);
- Rdr= ss->zr*(1.0f + ss->sigma*sr)*exp(-ss->sigma*sr)/(sr*sr*sr);
- Rdv= ss->zv*(1.0f + ss->sigma*sv)*exp(-ss->sigma*sv)/(sv*sv*sv);
+ Rdr= ss->zr*(1.0f + ss->sigma*sr)*expf(-ss->sigma*sr)/(sr*sr*sr);
+ Rdv= ss->zv*(1.0f + ss->sigma*sv)*expf(-ss->sigma*sv)/(sv*sv*sv);
- return /*ss->alpha_*/(1.0f/(4.0f*M_PI))*(Rdr + Rdv);
+ return /*ss->alpha_*/(1.0f/(4.0f*(float)M_PI))*(Rdr + Rdv);
}
static float Rd(ScatterSettings *ss, float r)
@@ -316,7 +316,7 @@ ScatterSettings *scatter_settings_new(float refl, float radius, float ior, float
ss->alpha_= compute_reduced_albedo(ss);
ss->sigma= 1.0f/ss->ld;
- ss->sigma_t_= ss->sigma/sqrt(3.0f*(1.0f - ss->alpha_));
+ ss->sigma_t_= ss->sigma/sqrtf(3.0f*(1.0f - ss->alpha_));
ss->sigma_s_= ss->alpha_*ss->sigma_t_;
ss->sigma_a= ss->sigma_t_ - ss->sigma_s_;
@@ -489,7 +489,7 @@ static void sum_leaf_radiance(ScatterTree *UNUSED(tree), ScatterNode *node)
for(i=0; i<node->totpoint; i++) {
p= &node->points[i];
- rad= p->area*fabs(p->rad[0] + p->rad[1] + p->rad[2]);
+ rad= p->area*fabsf(p->rad[0] + p->rad[1] + p->rad[2]);
totrad += rad;
node->co[0] += rad*p->co[0];
@@ -513,20 +513,20 @@ static void sum_leaf_radiance(ScatterTree *UNUSED(tree), ScatterNode *node)
}
if(node->area > 1e-16f) {
- inv= 1.0/node->area;
+ inv= 1.0f/node->area;
node->rad[0] *= inv;
node->rad[1] *= inv;
node->rad[2] *= inv;
}
if(node->backarea > 1e-16f) {
- inv= 1.0/node->backarea;
+ inv= 1.0f/node->backarea;
node->backrad[0] *= inv;
node->backrad[1] *= inv;
node->backrad[2] *= inv;
}
if(totrad > 1e-16f) {
- inv= 1.0/totrad;
+ inv= 1.0f/totrad;
node->co[0] *= inv;
node->co[1] *= inv;
node->co[2] *= inv;
@@ -566,8 +566,8 @@ static void sum_branch_radiance(ScatterTree *UNUSED(tree), ScatterNode *node)
subnode= node->child[i];
- rad= subnode->area*fabs(subnode->rad[0] + subnode->rad[1] + subnode->rad[2]);
- rad += subnode->backarea*fabs(subnode->backrad[0] + subnode->backrad[1] + subnode->backrad[2]);
+ rad= subnode->area*fabsf(subnode->rad[0] + subnode->rad[1] + subnode->rad[2]);
+ rad += subnode->backarea*fabsf(subnode->backrad[0] + subnode->backrad[1] + subnode->backrad[2]);
totrad += rad;
node->co[0] += rad*subnode->co[0];
@@ -587,20 +587,20 @@ static void sum_branch_radiance(ScatterTree *UNUSED(tree), ScatterNode *node)
}
if(node->area > 1e-16f) {
- inv= 1.0/node->area;
+ inv= 1.0f/node->area;
node->rad[0] *= inv;
node->rad[1] *= inv;
node->rad[2] *= inv;
}
if(node->backarea > 1e-16f) {
- inv= 1.0/node->backarea;
+ inv= 1.0f/node->backarea;
node->backrad[0] *= inv;
node->backrad[1] *= inv;
node->backrad[2] *= inv;
}
if(totrad > 1e-16f) {
- inv= 1.0/totrad;
+ inv= 1.0f/totrad;
node->co[0] *= inv;
node->co[1] *= inv;
node->co[2] *= inv;
@@ -668,9 +668,9 @@ static void create_octree_node(ScatterTree *tree, ScatterNode *node, float *mid,
return;
}
- subsize[0]= size[0]*0.5;
- subsize[1]= size[1]*0.5;
- subsize[2]= size[2]*0.5;
+ subsize[0]= size[0]*0.5f;
+ subsize[1]= size[1]*0.5f;
+ subsize[2]= size[2]*0.5f;
node->split[0]= mid[0];
node->split[1]= mid[1];
@@ -764,7 +764,7 @@ ScatterTree *scatter_tree_new(ScatterSettings *ss[3], float scale, float error,
for(i=0; i<totpoint; i++) {
VECCOPY(points[i].co, co[i]);
VECCOPY(points[i].rad, color[i]);
- points[i].area= fabs(area[i])/(tree->scale*tree->scale);
+ points[i].area= fabsf(area[i])/(tree->scale*tree->scale);
points[i].back= (area[i] < 0.0f);
mul_v3_fl(points[i].co, 1.0f/tree->scale);
@@ -794,13 +794,13 @@ void scatter_tree_build(ScatterTree *tree)
tree->root->points= newpoints;
tree->root->totpoint= totpoint;
- mid[0]= (tree->min[0]+tree->max[0])*0.5;
- mid[1]= (tree->min[1]+tree->max[1])*0.5;
- mid[2]= (tree->min[2]+tree->max[2])*0.5;
+ mid[0]= (tree->min[0]+tree->max[0])*0.5f;
+ mid[1]= (tree->min[1]+tree->max[1])*0.5f;
+ mid[2]= (tree->min[2]+tree->max[2])*0.5f;
- size[0]= (tree->max[0]-tree->min[0])*0.5;
- size[1]= (tree->max[1]-tree->min[1])*0.5;
- size[2]= (tree->max[2]-tree->min[2])*0.5;
+ size[0]= (tree->max[0]-tree->min[0])*0.5f;
+ size[1]= (tree->max[1]-tree->min[1])*0.5f;
+ size[2]= (tree->max[2]-tree->min[2])*0.5f;
create_octree_node(tree, tree->root, mid, size, tree->refpoints, 0);
diff --git a/source/blender/render/intern/source/strand.c b/source/blender/render/intern/source/strand.c
index 9f5c2c39472..840e5444ff0 100644
--- a/source/blender/render/intern/source/strand.c
+++ b/source/blender/render/intern/source/strand.c
@@ -78,9 +78,9 @@ static float strand_eval_width(Material *ma, float strandco)
if(ma->strand_ease!=0.0f) {
if(ma->strand_ease<0.0f)
- fac= pow(strandco, 1.0+ma->strand_ease);
+ fac= pow(strandco, 1.0f+ma->strand_ease);
else
- fac= pow(strandco, 1.0/(1.0f-ma->strand_ease));
+ fac= pow(strandco, 1.0f/(1.0f-ma->strand_ease));
}
else fac= strandco;
@@ -594,7 +594,7 @@ static void do_strand_fillac(void *handle, int x, int y, float u, float v, float
}
/* width is calculated in hoco space, to ensure strands are visible */
-static int strand_test_clip(float winmat[][4], ZSpan *zspan, float *bounds, float *co, float *zcomp, float widthx, float widthy)
+static int strand_test_clip(float winmat[][4], ZSpan *UNUSED(zspan), float *bounds, float *co, float *zcomp, float widthx, float widthy)
{
float hoco[4];
int clipflag= 0;
@@ -615,7 +615,7 @@ static int strand_test_clip(float winmat[][4], ZSpan *zspan, float *bounds, floa
return clipflag;
}
-static void do_scanconvert_strand(Render *re, StrandPart *spart, ZSpan *zspan, float t, float dt, float *co1, float *co2, float *co3, float *co4, int sample)
+static void do_scanconvert_strand(Render *UNUSED(re), StrandPart *spart, ZSpan *zspan, float t, float dt, float *co1, float *co2, float *co3, float *co4, int sample)
{
float jco1[3], jco2[3], jco3[3], jco4[3], jx, jy;
@@ -778,7 +778,7 @@ void render_strand_segment(Render *re, float winmat[][4], StrandPart *spart, ZSp
}
/* render call to fill in strands */
-int zbuffer_strands_abuf(Render *re, RenderPart *pa, APixstrand *apixbuf, ListBase *apsmbase, unsigned int lay, int negzmask, float winmat[][4], int winx, int winy, int sample, float (*jit)[2], float clipcrop, int shadow, StrandShadeCache *cache)
+int zbuffer_strands_abuf(Render *re, RenderPart *pa, APixstrand *apixbuf, ListBase *apsmbase, unsigned int lay, int UNUSED(negzmask), float winmat[][4], int winx, int winy, int UNUSED(sample), float (*jit)[2], float clipcrop, int shadow, StrandShadeCache *cache)
{
ObjectRen *obr;
ObjectInstanceRen *obi;
@@ -816,8 +816,8 @@ int zbuffer_strands_abuf(Render *re, RenderPart *pa, APixstrand *apixbuf, ListBa
zbuf_alloc_span(&zspan, pa->rectx, pa->recty, clipcrop);
/* needed for transform from hoco to zbuffer co */
- zspan.zmulx= ((float)winx)/2.0;
- zspan.zmuly= ((float)winy)/2.0;
+ zspan.zmulx= ((float)winx)/2.0f;
+ zspan.zmuly= ((float)winy)/2.0f;
zspan.zofsx= -pa->disprect.xmin;
zspan.zofsy= -pa->disprect.ymin;
diff --git a/source/blender/render/intern/source/sunsky.c b/source/blender/render/intern/source/sunsky.c
index f645c29a7a5..e824b81096b 100644
--- a/source/blender/render/intern/source/sunsky.c
+++ b/source/blender/render/intern/source/sunsky.c
@@ -68,12 +68,12 @@
* */
void ClipColor(float c[3])
{
- if (c[0] > 1.0) c[0] = 1.0;
- if (c[0] < 0.0) c[0] = 0.0;
- if (c[1] > 1.0) c[1] = 1.0;
- if (c[1] < 0.0) c[1] = 0.0;
- if (c[2] > 1.0) c[2] = 1.0;
- if (c[2] < 0.0) c[2] = 0.0;
+ if (c[0] > 1.0f) c[0] = 1.0f;
+ if (c[0] < 0.0f) c[0] = 0.0f;
+ if (c[1] > 1.0f) c[1] = 1.0f;
+ if (c[1] < 0.0f) c[1] = 0.0f;
+ if (c[2] > 1.0f) c[2] = 1.0f;
+ if (c[2] < 0.0f) c[2] = 0.0f;
}
/**
@@ -85,9 +85,9 @@ static float AngleBetween(float thetav, float phiv, float theta, float phi)
{
float cospsi = sin(thetav) * sin(theta) * cos(phi - phiv) + cos(thetav) * cos(theta);
- if (cospsi > 1.0)
+ if (cospsi > 1.0f)
return 0;
- if (cospsi < -1.0)
+ if (cospsi < -1.0f)
return M_PI;
return acos(cospsi);
@@ -117,11 +117,11 @@ static float PerezFunction(struct SunSky *sunsky, const float *lam, float theta,
{
float den, num;
- den = ((1 + lam[0] * exp(lam[1])) *
- (1 + lam[2] * exp(lam[3] * sunsky->theta) + lam[4] * cos(sunsky->theta) * cos(sunsky->theta)));
+ den = ((1 + lam[0] * expf(lam[1])) *
+ (1 + lam[2] * expf(lam[3] * sunsky->theta) + lam[4] * cosf(sunsky->theta) * cosf(sunsky->theta)));
- num = ((1 + lam[0] * exp(lam[1] / cos(theta))) *
- (1 + lam[2] * exp(lam[3] * gamma) + lam[4] * cos(gamma) * cos(gamma)));
+ num = ((1 + lam[0] * expf(lam[1] / cosf(theta))) *
+ (1 + lam[2] * expf(lam[3] * gamma) + lam[4] * cosf(gamma) * cosf(gamma)));
return(lvz * num / den);}
@@ -173,41 +173,41 @@ void InitSunSky(struct SunSky *sunsky, float turb, float *toSun, float horizon_b
T = turb;
T2 = turb*turb;
- chi = (4.0 / 9.0 - T / 120.0) * (M_PI - 2 * sunsky->theta);
- sunsky->zenith_Y = (4.0453 * T - 4.9710) * tan(chi) - .2155 * T + 2.4192;
+ chi = (4.0f / 9.0f - T / 120.0f) * ((float)M_PI - 2.0f * sunsky->theta);
+ sunsky->zenith_Y = (4.0453f * T - 4.9710f) * tanf(chi) - 0.2155f * T + 2.4192f;
sunsky->zenith_Y *= 1000; // conversion from kcd/m^2 to cd/m^2
if (sunsky->zenith_Y<=0)
sunsky->zenith_Y = 1e-6;
sunsky->zenith_x =
- ( + 0.00165 * theta3 - 0.00374 * theta2 + 0.00208 * sunsky->theta + 0) * T2 +
- ( -0.02902 * theta3 + 0.06377 * theta2 - 0.03202 * sunsky->theta + 0.00394) * T +
- ( + 0.11693 * theta3 - 0.21196 * theta2 + 0.06052 * sunsky->theta + 0.25885);
+ ( + 0.00165f * theta3 - 0.00374f * theta2 + 0.00208f * sunsky->theta + 0.0f) * T2 +
+ ( -0.02902f * theta3 + 0.06377f * theta2 - 0.03202f * sunsky->theta + 0.00394f) * T +
+ ( + 0.11693f * theta3 - 0.21196f * theta2 + 0.06052f * sunsky->theta + 0.25885f);
sunsky->zenith_y =
- ( + 0.00275 * theta3 - 0.00610 * theta2 + 0.00316 * sunsky->theta + 0) * T2 +
- ( -0.04214 * theta3 + 0.08970 * theta2 - 0.04153 * sunsky->theta + 0.00515) * T +
- ( + 0.15346 * theta3 - 0.26756 * theta2 + 0.06669 * sunsky->theta + 0.26688);
+ ( + 0.00275f * theta3 - 0.00610f * theta2 + 0.00316f * sunsky->theta + 0.0f) * T2 +
+ ( -0.04214f * theta3 + 0.08970f * theta2 - 0.04153f * sunsky->theta + 0.00515f) * T +
+ ( + 0.15346f * theta3 - 0.26756f * theta2 + 0.06669f * sunsky->theta + 0.26688f);
- sunsky->perez_Y[0] = 0.17872 * T - 1.46303;
- sunsky->perez_Y[1] = -0.35540 * T + 0.42749;
- sunsky->perez_Y[2] = -0.02266 * T + 5.32505;
- sunsky->perez_Y[3] = 0.12064 * T - 2.57705;
- sunsky->perez_Y[4] = -0.06696 * T + 0.37027;
-
- sunsky->perez_x[0] = -0.01925 * T - 0.25922;
- sunsky->perez_x[1] = -0.06651 * T + 0.00081;
- sunsky->perez_x[2] = -0.00041 * T + 0.21247;
- sunsky->perez_x[3] = -0.06409 * T - 0.89887;
- sunsky->perez_x[4] = -0.00325 * T + 0.04517;
-
- sunsky->perez_y[0] = -0.01669 * T - 0.26078;
- sunsky->perez_y[1] = -0.09495 * T + 0.00921;
- sunsky->perez_y[2] = -0.00792 * T + 0.21023;
- sunsky->perez_y[3] = -0.04405 * T - 1.65369;
- sunsky->perez_y[4] = -0.01092 * T + 0.05291;
+ sunsky->perez_Y[0] = 0.17872f * T - 1.46303f;
+ sunsky->perez_Y[1] = -0.35540f * T + 0.42749f;
+ sunsky->perez_Y[2] = -0.02266f * T + 5.32505f;
+ sunsky->perez_Y[3] = 0.12064f * T - 2.57705f;
+ sunsky->perez_Y[4] = -0.06696f * T + 0.37027f;
+
+ sunsky->perez_x[0] = -0.01925f * T - 0.25922f;
+ sunsky->perez_x[1] = -0.06651f * T + 0.00081f;
+ sunsky->perez_x[2] = -0.00041f * T + 0.21247f;
+ sunsky->perez_x[3] = -0.06409f * T - 0.89887f;
+ sunsky->perez_x[4] = -0.00325f * T + 0.04517f;
+
+ sunsky->perez_y[0] = -0.01669f * T - 0.26078f;
+ sunsky->perez_y[1] = -0.09495f * T + 0.00921f;
+ sunsky->perez_y[2] = -0.00792f * T + 0.21023f;
+ sunsky->perez_y[3] = -0.04405f * T - 1.65369f;
+ sunsky->perez_y[4] = -0.01092f * T + 0.05291f;
/* suggested by glome in
* http://projects.blender.org/tracker/?func=detail&atid=127&aid=8063&group_id=9*/
@@ -248,17 +248,17 @@ void GetSkyXYZRadiance(struct SunSky* sunsky, float theta, float phi, float colo
float hfade=1, nfade=1;
- if (theta>(0.5*M_PI)) {
- hfade = 1.0-(theta*M_1_PI-0.5)*2.0;
- hfade = hfade*hfade*(3.0-2.0*hfade);
+ if (theta>(0.5f*(float)M_PI)) {
+ hfade = 1.0f-(theta*(float)M_1_PI-0.5f)*2.0f;
+ hfade = hfade*hfade*(3.0f-2.0f*hfade);
theta = 0.5*M_PI;
}
- if (sunsky->theta>(0.5*M_PI)) {
- if (theta<=0.5*M_PI) {
- nfade = 1.0-(0.5-theta*M_1_PI)*2.0;
- nfade *= 1.0-(sunsky->theta*M_1_PI-0.5)*2.0;
- nfade = nfade*nfade*(3.0-2.0*nfade);
+ if (sunsky->theta>(0.5f*(float)M_PI)) {
+ if (theta<=0.5f*(float)M_PI) {
+ nfade = 1.0f-(0.5f-theta*(float)M_1_PI)*2.0f;
+ nfade *= 1.0f-(sunsky->theta*(float)M_1_PI-0.5f)*2.0f;
+ nfade = nfade*nfade*(3.0f-2.0f*nfade);
}
}
@@ -267,7 +267,7 @@ void GetSkyXYZRadiance(struct SunSky* sunsky, float theta, float phi, float colo
// Compute xyY values
x = PerezFunction(sunsky, sunsky->perez_x, theta, gamma, sunsky->zenith_x);
y = PerezFunction(sunsky, sunsky->perez_y, theta, gamma, sunsky->zenith_y);
- Y = 6.666666667e-5 * nfade * hfade * PerezFunction(sunsky, sunsky->perez_Y, theta, gamma, sunsky->zenith_Y);
+ Y = 6.666666667e-5f * nfade * hfade * PerezFunction(sunsky, sunsky->perez_Y, theta, gamma, sunsky->zenith_Y);
if(sunsky->sky_exposure!=0.0f)
Y = 1.0 - exp(Y*sunsky->sky_exposure);
@@ -296,8 +296,8 @@ void GetSkyXYZRadiancef(struct SunSky* sunsky, const float varg[3], float color_
copy_v3_v3(v, (float*)varg);
normalize_v3(v);
- if (v[2] < 0.001){
- v[2] = 0.001;
+ if (v[2] < 0.001f) {
+ v[2] = 0.001f;
normalize_v3(v);
}
@@ -329,15 +329,15 @@ static void ComputeAttenuatedSunlight(float theta, int turbidity, float fTau[3])
fAlpha = 1.3f;
fBeta = 0.04608365822050f * turbidity - 0.04586025928522f;
- m = 1.0/(cos(theta) + 0.15f*pow(93.885f-theta/M_PI*180.0f,-1.253f));
+ m = 1.0f/(cosf(theta) + 0.15f*powf(93.885f-theta/(float)M_PI*180.0f,-1.253f));
for(i = 0; i < 3; i++)
{
// Rayleigh Scattering
- fTauR = exp( -m * 0.008735f * pow(fLambda[i], (float)(-4.08f)));
+ fTauR = expf( -m * 0.008735f * powf(fLambda[i], (float)(-4.08f)));
// Aerosal (water + dust) attenuation
- fTauA = exp(-m * fBeta * pow(fLambda[i], -fAlpha));
+ fTauA = exp(-m * fBeta * powf(fLambda[i], -fAlpha));
fTau[i] = fTauR * fTauA;
}
@@ -364,8 +364,8 @@ void InitAtmosphere(struct SunSky *sunSky, float sun_intens, float mief, float r
const float pn = 0.035f;
const float T = 2.0f;
float fTemp, fTemp2, fTemp3, fBeta, fBetaDash;
- float c = (6.544*T - 6.51)*1e-17;
- float K[3] = {0.685f, 0.679f, 0.670f};
+ float c = (6.544f*T - 6.51f)*1e-17f;
+ float K[3] = {0.685f, 0.679f, 0.670f};
float vBetaMieTemp[3];
float fLambda[3],fLambda2[3], fLambda4[3];
@@ -410,7 +410,7 @@ void InitAtmosphere(struct SunSky *sunSky, float sun_intens, float mief, float r
// Mie scattering constants.
- fTemp2 = 0.434*c*(2*pi)*(2*pi)*0.5f;
+ fTemp2 = 0.434f*c*(2*pi)*(2*pi)*0.5f;
vec3opf(sunSky->atm_BetaDashMie, vLambda2, *, fTemp2);
fTemp3 = 0.434f*c*pi*(2*pi)*(2*pi);
@@ -460,7 +460,7 @@ void AtmospherePixleShader( struct SunSky* sunSky, float view[3], float s, float
vec3opv(sunSky->atm_BetaRM, sunSky->atm_BetaRay, +, sunSky->atm_BetaMie);
//e^(-(beta_1 + beta_2) * s) = E1
- vec3opf(E1, sunSky->atm_BetaRM, *, -s/log(2));
+ vec3opf(E1, sunSky->atm_BetaRM, *, -s/(float)M_LN2);
E1[0] = exp(E1[0]);
E1[1] = exp(E1[1]);
E1[2] = exp(E1[2]);
@@ -469,17 +469,17 @@ void AtmospherePixleShader( struct SunSky* sunSky, float view[3], float s, float
//Phase2(theta) = (1-g^2)/(1+g-2g*cos(theta))^(3/2)
fTemp = 1 + sunSky->atm_HGg - 2 * sunSky->atm_HGg * costheta;
- fTemp = fTemp * sqrt(fTemp);
+ fTemp = fTemp * sqrtf(fTemp);
Phase_2 = (1 - sunSky->atm_HGg * sunSky->atm_HGg)/fTemp;
vec3opf(vTemp1, sunSky->atm_BetaDashRay, *, Phase_1);
vec3opf(vTemp2, sunSky->atm_BetaDashMie, *, Phase_2);
vec3opv(vTemp1, vTemp1, +, vTemp2);
- fopvec3(vTemp2, 1.0, -, E1);
+ fopvec3(vTemp2, 1.0f, -, E1);
vec3opv(vTemp1, vTemp1, *, vTemp2);
- fopvec3(vTemp2, 1.0, / , sunSky->atm_BetaRM);
+ fopvec3(vTemp2, 1.0f, / , sunSky->atm_BetaRM);
vec3opv(I, vTemp1, *, vTemp2);
diff --git a/source/blender/render/intern/source/volume_precache.c b/source/blender/render/intern/source/volume_precache.c
index 8293143a2a6..2037acc943f 100644
--- a/source/blender/render/intern/source/volume_precache.c
+++ b/source/blender/render/intern/source/volume_precache.c
@@ -400,7 +400,7 @@ static void multiple_scattering_diffusion(Render *re, VolumePrecache *vp, Materi
sb[j] += vp->data_b[i];
/* Displays progress every second */
- if(time-lasttime>1.0f) {
+ if(time-lasttime>1.0) {
char str[64];
BLI_snprintf(str, sizeof(str), "Simulating multiple scattering: %d%%", (int)(100.0f * (c / total)));
re->i.infostr= str;
@@ -523,7 +523,6 @@ static void *vol_precache_part(void *data)
continue;
}
- /* this view coordinate is very wrong! */
copy_v3_v3(shi->view, cco);
normalize_v3(shi->view);
vol_get_scattering(shi, scatter_col, cco);
@@ -748,7 +747,7 @@ static void vol_precache_objectinstance_threads(Render *re, ObjectInstanceRen *o
caching=0;
time= PIL_check_seconds_timer();
- if(time-lasttime>1.0f) {
+ if(time-lasttime>1.0) {
char str[64];
BLI_snprintf(str, sizeof(str), "Precaching volume: %d%%", (int)(100.0f * ((float)counter / (float)totparts)));
re->i.infostr= str;
diff --git a/source/blender/render/intern/source/volumetric.c b/source/blender/render/intern/source/volumetric.c
index c4e741b6c61..19bbb11e143 100644
--- a/source/blender/render/intern/source/volumetric.c
+++ b/source/blender/render/intern/source/volumetric.c
@@ -422,9 +422,9 @@ static void vol_get_transmittance_seg(ShadeInput *shi, float *tr, float stepsize
tau[1] += stepd * sigma_t[1];
tau[2] += stepd * sigma_t[2];
- tr[0] *= exp(-tau[0]);
- tr[1] *= exp(-tau[1]);
- tr[2] *= exp(-tau[2]);
+ tr[0] *= expf(-tau[0]);
+ tr[1] *= expf(-tau[1]);
+ tr[2] *= expf(-tau[2]);
}
/* Compute transmittance = e^(-attenuation) */
@@ -473,7 +473,7 @@ static void vol_shade_one_lamp(struct ShadeInput *shi, float *co, LampRen *lar,
if (lar->mode & LA_LAYER) if((lar->lay & shi->obi->lay)==0) return;
if ((lar->lay & shi->lay)==0) return;
- if (lar->energy == 0.0) return;
+ if (lar->energy == 0.0f) return;
if ((visifac= lamp_get_visibility(lar, co, lv, &lampdist)) == 0.f) return;
@@ -534,6 +534,7 @@ static void vol_shade_one_lamp(struct ShadeInput *shi, float *co, LampRen *lar,
if (luminance(lacol) < 0.001f) return;
+ normalize_v3(lv);
p = vol_get_phasefunc(shi, shi->mat->vol.asymmetry, shi->view, lv);
/* physically based scattering with non-physically based RGB gain */
@@ -612,7 +613,7 @@ static void volumeintegrate(struct ShadeInput *shi, float *col, float *co, float
/* transmittance component (alpha) */
vol_get_transmittance_seg(shi, tr, stepsize, co, density);
- if (t0 > t1 * 0.25) {
+ if (t0 > t1 * 0.25f) {
/* only use depth cutoff after we've traced a little way into the volume */
if (luminance(tr) < shi->mat->vol.depth_cutoff) break;
}
@@ -622,9 +623,9 @@ static void volumeintegrate(struct ShadeInput *shi, float *col, float *co, float
if (shi->obi->volume_precache) {
float p2[3];
- p2[0] = p[0] + (step_vec[0] * 0.5);
- p2[1] = p[1] + (step_vec[1] * 0.5);
- p2[2] = p[2] + (step_vec[2] * 0.5);
+ p2[0] = p[0] + (step_vec[0] * 0.5f);
+ p2[1] = p[1] + (step_vec[1] * 0.5f);
+ p2[2] = p[2] + (step_vec[2] * 0.5f);
vol_get_precached_scattering(&R, shi, scatter_col, p2);
} else
@@ -816,7 +817,7 @@ void shade_volume_inside(ShadeInput *shi, ShadeResult *shr)
volume_trace(shi, shr, VOL_SHADE_INSIDE);
shr->alpha = shr->alpha + prev_alpha;
- CLAMP(shr->alpha, 0.0, 1.0);
+ CLAMP(shr->alpha, 0.0f, 1.0f);
shi->mat = mat_backup;
shi->obi = obi_backup;
diff --git a/source/blender/render/intern/source/voxeldata.c b/source/blender/render/intern/source/voxeldata.c
index b8cb5c21337..2ba346ae4c5 100644
--- a/source/blender/render/intern/source/voxeldata.c
+++ b/source/blender/render/intern/source/voxeldata.c
@@ -220,6 +220,7 @@ static int read_voxeldata_header(FILE *fp, struct VoxelData *vd)
static void init_frame_smoke(VoxelData *vd, float cfra)
{
+#ifdef WITH_SMOKE
Object *ob;
ModifierData *md;
@@ -300,7 +301,13 @@ static void init_frame_smoke(VoxelData *vd, float cfra)
}
vd->ok = 1;
- return;
+
+#else // WITH_SMOKE
+ (void)vd;
+ (void)cfra;
+
+ vd->dataset= NULL;
+#endif
}
static void cache_voxeldata(struct Render *re, Tex *tex)
@@ -406,9 +413,9 @@ int voxeldatatex(struct Tex *tex, float *texvec, struct TexResult *texres)
}
case TEX_REPEAT:
{
- co[0] = co[0] - floor(co[0]);
- co[1] = co[1] - floor(co[1]);
- co[2] = co[2] - floor(co[2]);
+ co[0] = co[0] - floorf(co[0]);
+ co[1] = co[1] - floorf(co[1]);
+ co[2] = co[2] - floorf(co[2]);
break;
}
case TEX_EXTEND:
diff --git a/source/blender/render/intern/source/zbuf.c b/source/blender/render/intern/source/zbuf.c
index 174b1378f67..925f8529dfa 100644
--- a/source/blender/render/intern/source/zbuf.c
+++ b/source/blender/render/intern/source/zbuf.c
@@ -217,24 +217,24 @@ static short cliptestf(float p, float q, float *u1, float *u2)
{
float r;
- if(p<0.0) {
+ if(p<0.0f) {
if(q<p) return 0;
- else if(q<0.0) {
+ else if(q<0.0f) {
r= q/p;
if(r>*u2) return 0;
else if(r>*u1) *u1=r;
}
}
else {
- if(p>0.0) {
- if(q<0.0) return 0;
+ if(p>0.0f) {
+ if(q<0.0f) return 0;
else if(q<p) {
r= q/p;
if(r<*u1) return 0;
else if(r<*u2) *u2=r;
}
}
- else if(q<0.0) return 0;
+ else if(q<0.0f) return 0;
}
return 1;
}
@@ -344,7 +344,7 @@ static void zbuffillAc4(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2,
y0= z1*x2-x1*z2;
z0= x1*y2-y1*x2;
- if(z0==0.0) return;
+ if(z0==0.0f) return;
xx1= (x0*v1[0] + y0*v1[1])/z0 + v1[2];
@@ -715,7 +715,7 @@ static void zbufline(ZSpan *zspan, int obi, int zvlnr, float *vec1, float *vec2)
}
}
-static void zbufline_onlyZ(ZSpan *zspan, int obi, int zvlnr, float *vec1, float *vec2)
+static void zbufline_onlyZ(ZSpan *zspan, int UNUSED(obi), int UNUSED(zvlnr), float *vec1, float *vec2)
{
int *rectz, *rectz1= NULL;
int start, end, x, y, oldx, oldy, ofs;
@@ -859,8 +859,8 @@ static int clipline(float *v1, float *v2) /* return 0: do not draw */
if(cliptestf(dz-dw, v1[3]-v1[2], &u1,&u2)) {
dx= v2[0]-v1[0];
- dz= 1.01*(v2[3]-v1[3]);
- v13= 1.01*v1[3];
+ dz= 1.01f*(v2[3]-v1[3]);
+ v13= 1.01f*v1[3];
if(cliptestf(-dx-dz, v1[0]+v13, &u1,&u2)) {
if(cliptestf(dx-dz, v13-v1[0], &u1,&u2)) {
@@ -870,13 +870,13 @@ static int clipline(float *v1, float *v2) /* return 0: do not draw */
if(cliptestf(-dy-dz, v1[1]+v13, &u1,&u2)) {
if(cliptestf(dy-dz, v13-v1[1], &u1,&u2)) {
- if(u2<1.0) {
+ if(u2<1.0f) {
v2[0]= v1[0]+u2*dx;
v2[1]= v1[1]+u2*dy;
v2[2]= v1[2]+u2*dz;
v2[3]= v1[3]+u2*dw;
}
- if(u1>0.0) {
+ if(u1>0.0f) {
v1[0]= v1[0]+u1*dx;
v1[1]= v1[1]+u1*dy;
v1[2]= v1[2]+u1*dz;
@@ -898,8 +898,8 @@ void hoco_to_zco(ZSpan *zspan, float *zco, float *hoco)
float div;
div= 1.0f/hoco[3];
- zco[0]= zspan->zmulx*(1.0+hoco[0]*div) + zspan->zofsx;
- zco[1]= zspan->zmuly*(1.0+hoco[1]*div) + zspan->zofsy;
+ zco[0]= zspan->zmulx*(1.0f+hoco[0]*div) + zspan->zofsx;
+ zco[1]= zspan->zmuly*(1.0f+hoco[1]*div) + zspan->zofsy;
zco[2]= 0x7FFFFFFF *(hoco[2]*div);
}
@@ -1083,7 +1083,7 @@ static void zbuffillGLinv4(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v
y0= z1*x2-x1*z2;
z0= x1*y2-y1*x2;
- if(z0==0.0) return;
+ if(z0==0.0f) return;
xx1= (x0*v1[0] + y0*v1[1])/z0 + v1[2];
@@ -1203,7 +1203,7 @@ static void zbuffillGL4(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2,
y0= z1*x2-x1*z2;
z0= x1*y2-y1*x2;
- if(z0==0.0) return;
+ if(z0==0.0f) return;
xx1= (x0*v1[0] + y0*v1[1])/z0 + v1[2];
@@ -1287,7 +1287,7 @@ static void zbuffillGL4(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2,
*/
/* now: filling two Z values, the closest and 2nd closest */
-static void zbuffillGL_onlyZ(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2, float *v3, float *v4)
+static void zbuffillGL_onlyZ(ZSpan *zspan, int UNUSED(obi), int UNUSED(zvlnr), float *v1, float *v2, float *v3, float *v4)
{
double zxd, zyd, zy0, zverg;
float x0,y0,z0;
@@ -1330,7 +1330,7 @@ static void zbuffillGL_onlyZ(ZSpan *zspan, int obi, int zvlnr, float *v1, float
y0= z1*x2-x1*z2;
z0= x1*y2-y1*x2;
- if(z0==0.0) return;
+ if(z0==0.0f) return;
xx1= (x0*v1[0] + y0*v1[1])/z0 + v1[2];
@@ -1627,12 +1627,12 @@ static void clippyra(float *labda, float *v1, float *v2, int *b2, int *b3, int a
if(cliptestf(-da-dw, v13+v1[a], &u1,&u2)) {
if(cliptestf(da-dw, v13-v1[a], &u1,&u2)) {
*b3=1;
- if(u2<1.0) {
+ if(u2<1.0f) {
labda[1]= u2;
*b2=1;
}
else labda[1]=1.0; /* u2 */
- if(u1>0.0) {
+ if(u1>0.0f) {
labda[0]= u1;
*b2=1;
} else labda[0]=0.0;
@@ -1662,8 +1662,8 @@ static void makevertpyra(float *vez, float *labda, float **trias, float *v1, flo
l1= labda[0];
l2= labda[1];
- if(l1!= -1.0) {
- if(l1!= 0.0) {
+ if(l1!= -1.0f) {
+ if(l1!= 0.0f) {
adr= vez+4*(*clve);
trias[*b1]=adr;
(*clve)++;
@@ -1676,8 +1676,8 @@ static void makevertpyra(float *vez, float *labda, float **trias, float *v1, flo
(*b1)++;
}
- if(l2!= -1.0) {
- if(l2!= 1.0) {
+ if(l2!= -1.0f) {
+ if(l2!= 1.0f) {
adr= vez+4*(*clve);
trias[*b1]=adr;
(*clve)++;
@@ -2066,8 +2066,8 @@ void zbuffer_solid(RenderPart *pa, RenderLayer *rl, void(*fillfunc)(RenderPart*,
zbuf_alloc_span(zspan, pa->rectx, pa->recty, R.clipcrop);
/* needed for transform from hoco to zbuffer co */
- zspan->zmulx= ((float)R.winx)/2.0;
- zspan->zmuly= ((float)R.winy)/2.0;
+ zspan->zmulx= ((float)R.winx)/2.0f;
+ zspan->zmuly= ((float)R.winy)/2.0f;
if(R.osa) {
zspan->zofsx= -pa->disprect.xmin - R.jit[pa->sample+zsample][0];
@@ -2290,8 +2290,8 @@ void zbuffer_shadow(Render *re, float winmat[][4], LampRen *lar, int *rectz, int
/* 1.0f for clipping in clippyra()... bad stuff actually */
zbuf_alloc_span(&zspan, size, size, 1.0f);
- zspan.zmulx= ((float)size)/2.0;
- zspan.zmuly= ((float)size)/2.0;
+ zspan.zmulx= ((float)size)/2.0f;
+ zspan.zmuly= ((float)size)/2.0f;
/* -0.5f to center the sample position */
zspan.zofsx= jitx - 0.5f;
zspan.zofsy= jity - 0.5f;
@@ -2527,8 +2527,8 @@ void zbuffer_sss(RenderPart *pa, unsigned int lay, void *handle, void (*func)(vo
zspan.sss_func= func;
/* needed for transform from hoco to zbuffer co */
- zspan.zmulx= ((float)R.winx)/2.0;
- zspan.zmuly= ((float)R.winy)/2.0;
+ zspan.zmulx= ((float)R.winx)/2.0f;
+ zspan.zmuly= ((float)R.winy)/2.0f;
/* -0.5f to center the sample position */
zspan.zofsx= -pa->disprect.xmin - 0.5f;
@@ -2671,7 +2671,7 @@ static void zbuf_fill_in_rgba(ZSpan *zspan, DrawBufPixel *col, float *v1, float
y0= z1*x2-x1*z2;
z0= x1*y2-y1*x2;
- if(z0==0.0) return;
+ if(z0==0.0f) return;
xx1= (x0*v1[0] + y0*v1[1])/z0 + v1[2];
@@ -2840,8 +2840,8 @@ static void quad_bezier_2d(float *result, float *v1, float *v2, float *ipodata)
p1[1]= v1[1];
/* official formula 2*p2 - .5*p1 - .5*p3 */
- p2[0]= -0.5*p1[0] - 0.5*p3[0];
- p2[1]= -0.5*p1[1] - 0.5*p3[1];
+ p2[0]= -0.5f*p1[0] - 0.5f*p3[0];
+ p2[1]= -0.5f*p1[1] - 0.5f*p3[1];
result[0]= ipodata[0]*p1[0] + ipodata[1]*p2[0] + ipodata[2]*p3[0];
result[1]= ipodata[0]*p1[1] + ipodata[1]*p2[1] + ipodata[2]*p3[1];
@@ -2871,8 +2871,8 @@ void RE_zbuf_accumulate_vecblur(NodeBlurData *nbd, int xsize, int ysize, float *
char *rectmove, *dm;
zbuf_alloc_span(&zspan, xsize, ysize, 1.0f);
- zspan.zmulx= ((float)xsize)/2.0;
- zspan.zmuly= ((float)ysize)/2.0;
+ zspan.zmulx= ((float)xsize)/2.0f;
+ zspan.zmuly= ((float)ysize)/2.0f;
zspan.zofsx= 0.0f;
zspan.zofsy= 0.0f;
@@ -3236,7 +3236,7 @@ static void copyto_abufz(RenderPart *pa, int *arectz, int *rectmask, int sample)
* Do accumulation z buffering.
*/
-static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *apsmbase, unsigned int lay, int negzmask, float winmat[][4], int winx, int winy, int samples, float (*jit)[2], float clipcrop, int shadow)
+static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *apsmbase, unsigned int lay, int negzmask, float winmat[][4], int winx, int winy, int samples, float (*jit)[2], float UNUSED(clipcrop), int shadow)
{
ZbufProjectCache cache[ZBUF_PROJECT_CACHE_SIZE];
ZSpan zspans[16], *zspan; /* MAX_OSA */
@@ -3258,8 +3258,8 @@ static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *
zbuf_alloc_span(zspan, pa->rectx, pa->recty, re->clipcrop);
/* needed for transform from hoco to zbuffer co */
- zspan->zmulx= ((float)winx)/2.0;
- zspan->zmuly= ((float)winy)/2.0;
+ zspan->zmulx= ((float)winx)/2.0f;
+ zspan->zmuly= ((float)winy)/2.0f;
/* the buffers */
zspan->arectz= MEM_mallocN(sizeof(int)*pa->rectx*pa->recty, "Arectz");
@@ -3344,15 +3344,15 @@ static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *
if(partclip==0) {
/* a little advantage for transp rendering (a z offset) */
- if(!shadow && ma->zoffs != 0.0) {
+ if(!shadow && ma->zoffs != 0.0f) {
mul= 0x7FFFFFFF;
- zval= mul*(1.0+ho1[2]/ho1[3]);
+ zval= mul*(1.0f+ho1[2]/ho1[3]);
VECCOPY(vec, v1->co);
/* z is negative, otherwise its being clipped */
vec[2]-= ma->zoffs;
projectverto(vec, obwinmat, hoco);
- fval= mul*(1.0+hoco[2]/hoco[3]);
+ fval= mul*(1.0f+hoco[2]/hoco[3]);
polygon_offset= (int) fabs(zval - fval );
}
@@ -3497,7 +3497,7 @@ static void add_transp_obindex(RenderLayer *rl, int offset, Object *ob)
RenderPass *rpass;
for(rpass= rl->passes.first; rpass; rpass= rpass->next) {
- if(rpass->passtype == SCE_PASS_INDEXOB) {
+ if(rpass->passtype == SCE_PASS_INDEXOB||rpass->passtype == SCE_PASS_INDEXMA) {
float *fp= rpass->rect + offset;
*fp= (float)ob->index;
break;
@@ -3692,7 +3692,7 @@ static int vergzvlak(const void *a1, const void *a2)
return 0;
}
-static void shade_strand_samples(StrandShadeCache *cache, ShadeSample *ssamp, int x, int y, ZTranspRow *row, int addpassflag)
+static void shade_strand_samples(StrandShadeCache *cache, ShadeSample *ssamp, int UNUSED(x), int UNUSED(y), ZTranspRow *row, int addpassflag)
{
StrandSegment sseg;
StrandVert *svert;
@@ -3820,7 +3820,7 @@ static int shade_tra_samples(ShadeSample *ssamp, StrandShadeCache *cache, int x,
shade_samples_do_AO(ssamp);
/* if shade (all shadepinputs have same passflag) */
- if(shi->passflag & ~(SCE_PASS_Z|SCE_PASS_INDEXOB)) {
+ if(shi->passflag & ~(SCE_PASS_Z|SCE_PASS_INDEXOB|SCE_PASS_INDEXMA)) {
for(samp=0; samp<ssamp->tot; samp++, shi++, shr++) {
shade_input_set_shade_texco(shi);
shade_input_do_shade(shi, shr);
@@ -3941,7 +3941,7 @@ static void reset_sky_speedvectors(RenderPart *pa, RenderLayer *rl, float *rectf
/* main render call to do the z-transparent layer */
/* returns a mask, only if a) transp rendered and b) solid was rendered */
-unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pass, ListBase *psmlist)
+unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pass, ListBase *UNUSED(psmlist))
{
RenderResult *rr= pa->result;
ShadeSample ssamp;
@@ -4115,7 +4115,14 @@ unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pas
add_transp_obindex(rlpp[a], od, obr->ob);
}
}
-
+ if(addpassflag & SCE_PASS_INDEXMA) {
+ ObjectRen *obr= R.objectinstance[zrow[totface-1].obi].obr;
+ if(obr->ob) {
+ for(a= 0; a<totfullsample; a++)
+ add_transp_obindex(rlpp[a], od, obr->ob);
+ }
+ }
+
/* for each mask-sample we alpha-under colors. then in end it's added using filter */
memset(samp_shr, 0, sizeof(ShadeResult)*osa);
for(a=0; a<osa; a++) {
@@ -4233,7 +4240,3 @@ unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pas
/* end of zbuf.c */
-
-
-
-
diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt
index 6d125c01af4..7c34c086b2e 100644
--- a/source/blender/windowmanager/CMakeLists.txt
+++ b/source/blender/windowmanager/CMakeLists.txt
@@ -26,23 +26,23 @@
set(INC
.
- ../nodes
- ../gpu
../blenfont
- ../blenlib
- ../makesdna
- ../makesrna
../blenkernel
- ../imbuf
+ ../blenlib
../blenloader
../editors/include
+ ../gpu
+ ../imbuf
+ ../makesdna
+ ../makesrna
+ ../nodes
../render/extern/include
- ../../../intern/guardedalloc
- ../../../intern/memutil
+ ../../gameengine/BlenderRoutines
../../../intern/elbeem/extern
../../../intern/ghost
+ ../../../intern/guardedalloc
+ ../../../intern/memutil
../../../intern/opennl/extern
- ../../../source/gameengine/BlenderRoutines
)
set(INC_SYS
@@ -67,6 +67,7 @@ set(SRC
intern/wm_window.c
WM_api.h
+ WM_keymap.h
WM_types.h
wm.h
wm_cursors.h
@@ -89,19 +90,26 @@ if(WITH_OPENCOLLADA)
endif()
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../quicktime)
- list(APPEND INC_SYS ${QUICKTIME_INC})
+ list(APPEND INC
+ ../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
if(WITH_CODEC_FFMPEG)
- list(APPEND INC_SYS ${FFMPEG_INC})
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
if(WITH_PYTHON)
- list(APPEND INC ../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../python
+ )
add_definitions(-DWITH_PYTHON)
if(WITH_PYTHON_SECURITY)
@@ -122,7 +130,7 @@ if(APPLE)
endif()
if(WITH_BUILDINFO)
- add_definitions(-DNAN_BUILDINFO)
+ add_definitions(-DWITH_BUILDINFO)
endif()
blender_add_lib_nolist(bf_windowmanager "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/windowmanager/SConscript b/source/blender/windowmanager/SConscript
index 5b6e8b1ab30..80c526f8649 100644
--- a/source/blender/windowmanager/SConscript
+++ b/source/blender/windowmanager/SConscript
@@ -26,7 +26,7 @@ if env['WITH_BF_PYTHON']:
if env['WITH_BF_COLLADA']:
defs.append('WITH_COLLADA')
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
@@ -37,6 +37,6 @@ if env['OURPLATFORM'] != 'darwin' or env['WITH_GHOST_COCOA']:
sources.remove('intern' + os.sep + 'wm_apple.c')
if env['BF_BUILDINFO']:
- defs.append('NAN_BUILDINFO')
+ defs.append('WITH_BUILDINFO')
env.BlenderLib ( 'bf_windowmanager', sources, Split(incs), defines=defs, libtype=['core'], priority=[5] )
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index 67294a8eb53..5bdf1ec2787 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -41,6 +41,7 @@
/* dna-savable wmStructs here */
#include "DNA_windowmanager_types.h"
+#include "WM_keymap.h"
#ifdef __cplusplus
extern "C" {
@@ -114,50 +115,9 @@ void WM_paint_cursor_end(struct wmWindowManager *wm, void *handle);
void WM_cursor_warp (struct wmWindow *win, int x, int y);
- /* keyconfig and keymap */
-wmKeyConfig *WM_keyconfig_new (struct wmWindowManager *wm, const char *idname);
-wmKeyConfig *WM_keyconfig_new_user(struct wmWindowManager *wm, const char *idname);
-void WM_keyconfig_remove (struct wmWindowManager *wm, struct wmKeyConfig *keyconf);
-void WM_keyconfig_free (struct wmKeyConfig *keyconf);
-void WM_keyconfig_userdef(void);
-
-void WM_keymap_init (struct bContext *C);
-void WM_keymap_free (struct wmKeyMap *keymap);
-
-wmKeyMapItem *WM_keymap_verify_item(struct wmKeyMap *keymap, const char *idname, int type,
- int val, int modifier, int keymodifier);
-wmKeyMapItem *WM_keymap_add_item(struct wmKeyMap *keymap, const char *idname, int type,
- int val, int modifier, int keymodifier);
-wmKeyMapItem *WM_keymap_add_menu(struct wmKeyMap *keymap, const char *idname, int type,
- int val, int modifier, int keymodifier);
-
-void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
-char *WM_keymap_item_to_string(wmKeyMapItem *kmi, char *str, int len);
-
-wmKeyMap *WM_keymap_list_find(ListBase *lb, const char *idname, int spaceid, int regionid);
-wmKeyMap *WM_keymap_find(struct wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid);
-wmKeyMap *WM_keymap_find_all(const struct bContext *C, const char *idname, int spaceid, int regionid);
-wmKeyMap *WM_keymap_active(struct wmWindowManager *wm, struct wmKeyMap *keymap);
-wmKeyMap *WM_keymap_guess_opname(const struct bContext *C, const char *opname);
-int WM_keymap_user_init(struct wmWindowManager *wm, struct wmKeyMap *keymap);
-wmKeyMap *WM_keymap_copy_to_user(struct wmKeyMap *keymap);
-void WM_keymap_restore_to_default(struct wmKeyMap *keymap);
-void WM_keymap_properties_reset(struct wmKeyMapItem *kmi, struct IDProperty *properties);
-void WM_keymap_restore_item_to_default(struct bContext *C, struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
-
-wmKeyMapItem *WM_keymap_item_find_id(struct wmKeyMap *keymap, int id);
-int WM_keymap_item_compare(struct wmKeyMapItem *k1, struct wmKeyMapItem *k2);
+ /* event map */
int WM_userdef_event_map(int kmitype);
-wmKeyMap *WM_modalkeymap_add(struct wmKeyConfig *keyconf, const char *idname, struct EnumPropertyItem *items);
-wmKeyMap *WM_modalkeymap_get(struct wmKeyConfig *keyconf, const char *idname);
-wmKeyMapItem *WM_modalkeymap_add_item(struct wmKeyMap *km, int type, int val, int modifier, int keymodifier, int value);
-void WM_modalkeymap_assign(struct wmKeyMap *km, const char *opname);
-
-const char *WM_key_event_string(short type);
-int WM_key_event_operator_id(const struct bContext *C, const char *opname, int opcontext, struct IDProperty *properties, int hotkey, struct wmKeyMap **keymap_r);
-char *WM_key_event_operator_string(const struct bContext *C, const char *opname, int opcontext, struct IDProperty *properties, char *str, int len);
-
/* handlers */
struct wmEventHandler *WM_event_add_keymap_handler(ListBase *handlers, wmKeyMap *keymap);
@@ -219,7 +179,7 @@ void WM_operator_free (struct wmOperator *op);
void WM_operator_stack_clear(struct wmWindowManager *wm);
struct wmOperatorType *WM_operatortype_find(const char *idnamem, int quiet);
-struct wmOperatorType *WM_operatortype_first(void);
+struct GHashIterator *WM_operatortype_iter(void);
void WM_operatortype_append (void (*opfunc)(struct wmOperatorType*));
void WM_operatortype_append_ptr (void (*opfunc)(struct wmOperatorType*, void *), void *userdata);
void WM_operatortype_append_macro_ptr (void (*opfunc)(struct wmOperatorType*, void *), void *userdata);
@@ -262,6 +222,7 @@ wmOperator *WM_operator_last_redo(const struct bContext *C);
#define WM_FILESEL_DIRECTORY (1 << 1)
#define WM_FILESEL_FILENAME (1 << 2)
#define WM_FILESEL_FILEPATH (1 << 3)
+#define WM_FILESEL_FILES (1 << 4)
/* operator as a python command (resultuing string must be free'd) */
@@ -270,8 +231,10 @@ void WM_operator_bl_idname(char *to, const char *from);
void WM_operator_py_idname(char *to, const char *from);
/* *************** menu types ******************** */
+void WM_menutype_init(void);
struct MenuType *WM_menutype_find(const char *idname, int quiet);
int WM_menutype_add(struct MenuType* mt);
+int WM_menutype_contains(struct MenuType* mt);
void WM_menutype_freelink(struct MenuType* mt);
void WM_menutype_free(void);
@@ -337,6 +300,8 @@ int WM_jobs_test(struct wmWindowManager *wm, void *owner);
float WM_jobs_progress(struct wmWindowManager *wm, void *owner);
char *WM_jobs_name(struct wmWindowManager *wm, void *owner);
+int WM_jobs_is_running(struct wmJob *);
+void* WM_jobs_get_customdata(struct wmJob *);
void WM_jobs_customdata(struct wmJob *, void *customdata, void (*free)(void *));
void WM_jobs_timer(struct wmJob *, double timestep, unsigned int note, unsigned int endnote);
void WM_jobs_callbacks(struct wmJob *,
diff --git a/source/blender/windowmanager/WM_keymap.h b/source/blender/windowmanager/WM_keymap.h
new file mode 100644
index 00000000000..e00cd288c9a
--- /dev/null
+++ b/source/blender/windowmanager/WM_keymap.h
@@ -0,0 +1,104 @@
+/*
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * Contributor(s): Blender Foundation
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifndef WM_KEYMAP_H
+#define WM_KEYMAP_H
+
+/** \file WM_keymap.h
+ * \ingroup wm
+ */
+
+/* dna-savable wmStructs here */
+#include "DNA_windowmanager_types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct EnumPropertyItem;
+
+/* Key Configuration */
+
+wmKeyConfig *WM_keyconfig_new (struct wmWindowManager *wm, const char *idname);
+wmKeyConfig *WM_keyconfig_new_user(struct wmWindowManager *wm, const char *idname);
+void WM_keyconfig_remove (struct wmWindowManager *wm, struct wmKeyConfig *keyconf);
+void WM_keyconfig_free (struct wmKeyConfig *keyconf);
+
+void WM_keyconfig_set_active(struct wmWindowManager *wm, const char *idname);
+
+void WM_keyconfig_update(struct wmWindowManager *wm);
+void WM_keyconfig_update_tag(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
+
+/* Keymap */
+
+void WM_keymap_init (struct bContext *C);
+void WM_keymap_free (struct wmKeyMap *keymap);
+
+wmKeyMapItem *WM_keymap_verify_item(struct wmKeyMap *keymap, const char *idname, int type,
+ int val, int modifier, int keymodifier);
+wmKeyMapItem *WM_keymap_add_item(struct wmKeyMap *keymap, const char *idname, int type,
+ int val, int modifier, int keymodifier);
+wmKeyMapItem *WM_keymap_add_menu(struct wmKeyMap *keymap, const char *idname, int type,
+ int val, int modifier, int keymodifier);
+
+void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
+char *WM_keymap_item_to_string(wmKeyMapItem *kmi, char *str, int len);
+
+wmKeyMap *WM_keymap_list_find(ListBase *lb, const char *idname, int spaceid, int regionid);
+wmKeyMap *WM_keymap_find(struct wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid);
+wmKeyMap *WM_keymap_find_all(const struct bContext *C, const char *idname, int spaceid, int regionid);
+wmKeyMap *WM_keymap_active(struct wmWindowManager *wm, struct wmKeyMap *keymap);
+wmKeyMap *WM_keymap_guess_opname(const struct bContext *C, const char *opname);
+
+wmKeyMapItem *WM_keymap_item_find_id(struct wmKeyMap *keymap, int id);
+int WM_keymap_item_compare(struct wmKeyMapItem *k1, struct wmKeyMapItem *k2);
+
+/* Modal Keymap */
+
+wmKeyMap *WM_modalkeymap_add(struct wmKeyConfig *keyconf, const char *idname, struct EnumPropertyItem *items);
+wmKeyMap *WM_modalkeymap_get(struct wmKeyConfig *keyconf, const char *idname);
+wmKeyMapItem *WM_modalkeymap_add_item(struct wmKeyMap *km, int type, int val, int modifier, int keymodifier, int value);
+void WM_modalkeymap_assign(struct wmKeyMap *km, const char *opname);
+
+/* Keymap Editor */
+
+void WM_keymap_restore_to_default(struct wmKeyMap *keymap, struct bContext *C);
+void WM_keymap_properties_reset(struct wmKeyMapItem *kmi, struct IDProperty *properties);
+void WM_keymap_restore_item_to_default(struct bContext *C, struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
+
+/* Key Event */
+
+const char *WM_key_event_string(short type);
+int WM_key_event_operator_id(const struct bContext *C, const char *opname, int opcontext, struct IDProperty *properties, int hotkey, struct wmKeyMap **keymap_r);
+char *WM_key_event_operator_string(const struct bContext *C, const char *opname, int opcontext, struct IDProperty *properties, char *str, int len);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* WM_KEYMAP_H */
+
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h
index 49bd3ede37d..cc3ae3ab753 100644
--- a/source/blender/windowmanager/WM_types.h
+++ b/source/blender/windowmanager/WM_types.h
@@ -377,6 +377,32 @@ typedef struct wmTabletData {
float Ytilt; /* as above */
} wmTabletData;
+typedef enum { // motion progress, for modal handlers
+ P_NOT_STARTED,
+ P_STARTING, // <--
+ P_IN_PROGRESS, // <-- only these are sent for NDOF motion
+ P_FINISHING, // <--
+ P_FINISHED
+ } wmProgress;
+
+typedef struct wmNDOFMotionData {
+ /* awfully similar to GHOST_TEventNDOFMotionData... */
+ // Each component normally ranges from -1 to +1, but can exceed that.
+ // These use blender standard view coordinates, with positive rotations being CCW about the axis.
+ union {
+ float tvec[3]; // translation
+ struct { float tx, ty, tz; };
+ };
+ union {
+ float rvec[3]; // rotation:
+ struct { float rx, ry, rz; };
+ };
+ // axis = (rx,ry,rz).normalized
+ // amount = (rx,ry,rz).magnitude [in revolutions, 1.0 = 360 deg]
+ float dt; // time since previous NDOF Motion event
+ wmProgress progress; // is this the first event, the last, or one of many in between?
+} wmNDOFMotionData;
+
typedef struct wmTimer {
struct wmTimer *next, *prev;
@@ -397,8 +423,6 @@ typedef struct wmTimer {
typedef struct wmOperatorType {
- struct wmOperatorType *next, *prev;
-
const char *name; /* text for ui, undo */
const char *idname; /* unique identifier */
const char *description; /* tooltips and python docs */
diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c
index bcd5cf38f88..9299b50103c 100644
--- a/source/blender/windowmanager/intern/wm.c
+++ b/source/blender/windowmanager/intern/wm.c
@@ -40,7 +40,11 @@
#include "GHOST_C-api.h"
+#include "MEM_guardedalloc.h"
+
+#include "BLI_utildefines.h"
#include "BLI_blenlib.h"
+#include "BLI_ghash.h"
#include "BKE_blender.h"
#include "BKE_context.h"
@@ -59,8 +63,6 @@
#include "wm_draw.h"
#include "wm.h"
-#include "MEM_guardedalloc.h"
-
#include "ED_screen.h"
#ifdef WITH_PYTHON
@@ -151,14 +153,14 @@ void WM_operator_stack_clear(wmWindowManager *wm)
/* ****************************************** */
-static ListBase menutypes = {NULL, NULL}; /* global menutype list */
+static GHash *menutypes_hash= NULL;
MenuType *WM_menutype_find(const char *idname, int quiet)
{
MenuType* mt;
if (idname[0]) {
- mt= BLI_findstring(&menutypes, idname, offsetof(MenuType, idname));
+ mt= BLI_ghash_lookup(menutypes_hash, idname);
if(mt)
return mt;
}
@@ -171,29 +173,55 @@ MenuType *WM_menutype_find(const char *idname, int quiet)
int WM_menutype_add(MenuType* mt)
{
- BLI_addtail(&menutypes, mt);
+ BLI_ghash_insert(menutypes_hash, (void *)mt->idname, mt);
return 1;
}
+/* inefficient but only used for tooltip code */
+int WM_menutype_contains(MenuType* mt)
+{
+ int found= FALSE;
+
+ if(mt) {
+ GHashIterator *iter= BLI_ghashIterator_new(menutypes_hash);
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ if(mt == BLI_ghashIterator_getValue(iter)) {
+ found= TRUE;
+ break;
+ }
+ }
+ BLI_ghashIterator_free(iter);
+ }
+
+ return found;
+}
+
void WM_menutype_freelink(MenuType* mt)
{
- BLI_freelinkN(&menutypes, mt);
+ BLI_ghash_remove(menutypes_hash, mt->idname, NULL, (GHashValFreeFP)MEM_freeN);
}
-void WM_menutype_free(void)
+/* called on initialize WM_init() */
+void WM_menutype_init(void)
{
- MenuType* mt= menutypes.first, *mt_next;
+ menutypes_hash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "menutypes_hash gh");
+}
- while(mt) {
- mt_next= mt->next;
+void WM_menutype_free(void)
+{
+ GHashIterator *iter= BLI_ghashIterator_new(menutypes_hash);
- if(mt->ext.free)
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ MenuType *mt= BLI_ghashIterator_getValue(iter);
+ if(mt->ext.free) {
mt->ext.free(mt->ext.data);
-
- WM_menutype_freelink(mt);
-
- mt= mt_next;
+ }
}
+ BLI_ghashIterator_free(iter);
+
+ BLI_ghash_free(menutypes_hash, NULL, (GHashValFreeFP)MEM_freeN);
+ menutypes_hash= NULL;
}
/* ****************************************** */
@@ -204,12 +232,18 @@ void WM_keymap_init(bContext *C)
if(!wm->defaultconf)
wm->defaultconf= WM_keyconfig_new(wm, "Blender");
+ if(!wm->addonconf)
+ wm->addonconf= WM_keyconfig_new(wm, "Blender Addon");
+ if(!wm->userconf)
+ wm->userconf= WM_keyconfig_new(wm, "Blender User");
- if(wm && CTX_py_init_get(C) && (wm->initialized & WM_INIT_KEYMAP) == 0) {
+ if(CTX_py_init_get(C) && (wm->initialized & WM_INIT_KEYMAP) == 0) {
/* create default key config */
wm_window_keymap(wm->defaultconf);
ED_spacetypes_keymap(wm->defaultconf);
- WM_keyconfig_userdef();
+
+ WM_keyconfig_update_tag(NULL, NULL);
+ WM_keyconfig_update(wm);
wm->initialized |= WM_INIT_KEYMAP;
}
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 2613cb8f14f..8861f128c4b 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -437,9 +437,18 @@ static void wm_operator_print(bContext *C, wmOperator *op)
static void wm_operator_reports(bContext *C, wmOperator *op, int retval, int popup)
{
- if(popup)
- if(op->reports->list.first)
+ if(popup) {
+ if(op->reports->list.first) {
+ /* FIXME, temp setting window, see other call to uiPupMenuReports for why */
+ wmWindow *win_prev= CTX_wm_window(C);
+ if(win_prev==NULL)
+ CTX_wm_window_set(C, CTX_wm_manager(C)->windows.first);
+
uiPupMenuReports(C, op->reports);
+
+ CTX_wm_window_set(C, win_prev);
+ }
+ }
if(retval & OPERATOR_FINISHED) {
if(G.f & G_DEBUG)
@@ -531,6 +540,7 @@ static int wm_operator_exec(bContext *C, wmOperator *op, int repeat)
wm->op_undo_depth++;
retval= op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(retval);
if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
@@ -690,6 +700,7 @@ static int wm_operator_invoke(bContext *C, wmOperatorType *ot, wmEvent *event, P
wm->op_undo_depth++;
retval= op->type->invoke(C, op, event);
+ OPERATOR_RETVAL_CHECK(retval);
if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
@@ -699,6 +710,7 @@ static int wm_operator_invoke(bContext *C, wmOperatorType *ot, wmEvent *event, P
wm->op_undo_depth++;
retval= op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(retval);
if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
@@ -874,8 +886,8 @@ static int wm_operator_call_internal(bContext *C, wmOperatorType *ot, PointerRNA
CTX_wm_region_set(C, NULL);
CTX_wm_area_set(C, NULL);
retval= wm_operator_invoke(C, ot, event, properties, reports, poll_only);
- CTX_wm_region_set(C, ar);
CTX_wm_area_set(C, area);
+ CTX_wm_region_set(C, ar);
return retval;
}
@@ -917,6 +929,7 @@ int WM_operator_call_py(bContext *C, wmOperatorType *ot, int context, PointerRNA
wm->op_undo_depth++;
retval= op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(retval);
if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
@@ -1203,6 +1216,7 @@ static int wm_handler_operator_call(bContext *C, ListBase *handlers, wmEventHand
wm->op_undo_depth++;
retval= ot->modal(C, op, event);
+ OPERATOR_RETVAL_CHECK(retval);
if(ot->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
@@ -1735,6 +1749,9 @@ void wm_event_do_handlers(bContext *C)
wmWindowManager *wm= CTX_wm_manager(C);
wmWindow *win;
+ /* update key configuration before handling events */
+ WM_keyconfig_update(wm);
+
for(win= wm->windows.first; win; win= win->next) {
wmEvent *event;
@@ -1815,7 +1832,10 @@ void wm_event_do_handlers(bContext *C)
/* for regions having custom cursors */
wm_paintcursor_test(C, event);
}
-
+ else if (event->type==NDOF_MOTION) {
+ win->addmousemove = TRUE;
+ }
+
for(sa= win->screen->areabase.first; sa; sa= sa->next) {
if(wm_event_inside_i(event, &sa->totrct)) {
CTX_wm_area_set(C, sa);
@@ -1879,7 +1899,10 @@ void wm_event_do_handlers(bContext *C)
if(doit && win->screen && win->screen->subwinactive != win->screen->mainwin) {
win->eventstate->prevx= event->x;
win->eventstate->prevy= event->y;
+ //printf("win->eventstate->prev = %d %d\n", event->x, event->y);
}
+ else
+ ;//printf("not setting prev to %d %d\n", event->x, event->y);
}
/* store last event for this window */
@@ -1922,6 +1945,7 @@ void wm_event_do_handlers(bContext *C)
/* only add mousemove when queue was read entirely */
if(win->addmousemove && win->eventstate) {
wmEvent tevent= *(win->eventstate);
+ //printf("adding MOUSEMOVE %d %d\n", tevent.x, tevent.y);
tevent.type= MOUSEMOVE;
tevent.prevx= tevent.x;
tevent.prevy= tevent.y;
@@ -1931,6 +1955,9 @@ void wm_event_do_handlers(bContext *C)
CTX_wm_window_set(C, NULL);
}
+
+ /* update key configuration after handling events */
+ WM_keyconfig_update(wm);
}
/* ********** filesector handling ************ */
@@ -2309,6 +2336,50 @@ static void update_tablet_data(wmWindow *win, wmEvent *event)
}
}
+/* adds customdata to event */
+static void attach_ndof_data(wmEvent* event, const GHOST_TEventNDOFMotionData* ghost)
+{
+ wmNDOFMotionData* data = MEM_mallocN(sizeof(wmNDOFMotionData), "customdata NDOF");
+
+ const float s = U.ndof_sensitivity;
+
+ data->tx = s * ghost->tx;
+
+ data->rx = s * ghost->rx;
+ data->ry = s * ghost->ry;
+ data->rz = s * ghost->rz;
+
+ if (U.ndof_flag & NDOF_ZOOM_UPDOWN)
+ {
+ /* rotate so Y is where Z was */
+ data->ty = s * ghost->tz;
+ data->tz = s * ghost->ty;
+ /* maintain handed-ness? or just do what feels right? */
+
+ /* should this affect rotation also?
+ * initial guess is 'yes', but get user feedback immediately!
+ */
+#if 0
+ /* after turning this on, my guess becomes 'no' */
+ data->ry = s * ghost->rz;
+ data->rz = s * ghost->ry;
+#endif
+ }
+ else
+ {
+ data->ty = s * ghost->ty;
+ data->tz = s * ghost->tz;
+ }
+
+ data->dt = ghost->dt;
+
+ data->progress = (wmProgress) ghost->progress;
+
+ event->custom = EVT_DATA_NDOF_MOTION;
+ event->customdata = data;
+ event->customdatafree = 1;
+}
+
/* imperfect but probably usable... draw/enable drags to other windows */
static wmWindow *wm_event_cursor_other_windows(wmWindowManager *wm, wmWindow *win, wmEvent *evt)
{
@@ -2355,7 +2426,7 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
{
wmWindow *owin;
wmEvent event, *evt= win->eventstate;
-
+
/* initialize and copy state (only mouse x y and modifiers) */
event= *evt;
@@ -2365,18 +2436,11 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
if(win->active) {
GHOST_TEventCursorData *cd= customdata;
wmEvent *lastevent= win->queue.last;
-
-#if defined(__APPLE__) && defined(GHOST_COCOA)
- //Cocoa already uses coordinates with y=0 at bottom, and returns inwindow coordinates on mouse moved event
- evt->x= cd->x;
- evt->y= cd->y;
-#else
int cx, cy;
GHOST_ScreenToClient(win->ghostwin, cd->x, cd->y, &cx, &cy);
evt->x= cx;
evt->y= (win->sizey-1) - cy;
-#endif
event.x= evt->x;
event.y= evt->y;
@@ -2391,6 +2455,8 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
update_tablet_data(win, &event);
wm_event_add(win, &event);
+
+ //printf("sending MOUSEMOVE %d %d\n", event.x, event.y);
/* also add to other window if event is there, this makes overdraws disappear nicely */
/* it remaps mousecoord to other window in event */
@@ -2423,21 +2489,17 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
event.type= MOUSEPAN;
break;
}
-#if defined(__APPLE__) && defined(GHOST_COCOA)
- //Cocoa already uses coordinates with y=0 at bottom, and returns inwindow coordinates on mouse moved event
- event.x= evt->x = pd->x;
- event.y = evt->y = pd->y;
-#else
+
{
- int cx, cy;
- GHOST_ScreenToClient(win->ghostwin, pd->x, pd->y, &cx, &cy);
- event.x= evt->x= cx;
- event.y= evt->y= (win->sizey-1) - cy;
+ int cx, cy;
+ GHOST_ScreenToClient(win->ghostwin, pd->x, pd->y, &cx, &cy);
+ event.x= evt->x= cx;
+ event.y= evt->y= (win->sizey-1) - cy;
}
-#endif
+
// Use prevx/prevy so we can calculate the delta later
event.prevx= event.x - pd->deltaX;
- event.prevy= event.y - pd->deltaY;
+ event.prevy= event.y - (-pd->deltaY);
update_tablet_data(win, &event);
wm_event_add(win, &event);
@@ -2460,6 +2522,16 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
else
event.type= MIDDLEMOUSE;
+ if(win->active==0) {
+ int cx, cy;
+
+ /* entering window, update mouse pos. (ghost sends win-activate *after* the mouseclick in window!) */
+ wm_get_cursor_position(win, &cx, &cy);
+
+ event.x= evt->x= cx;
+ event.y= evt->y= cy;
+ }
+
/* add to other window if event is there (not to both!) */
owin= wm_event_cursor_other_windows(wm, win, &event);
if(owin) {
@@ -2558,6 +2630,38 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
break;
}
+ case GHOST_kEventNDOFMotion: {
+ event.type = NDOF_MOTION;
+ attach_ndof_data(&event, customdata);
+ wm_event_add(win, &event);
+
+ //printf("sending NDOF_MOTION, prev = %d %d\n", event.x, event.y);
+
+ break;
+ }
+
+ case GHOST_kEventNDOFButton: {
+ GHOST_TEventNDOFButtonData* e = customdata;
+
+ event.type = NDOF_BUTTON_NONE + e->button;
+
+ switch (e->action) {
+ case GHOST_kPress:
+ event.val = KM_PRESS;
+ break;
+ case GHOST_kRelease:
+ event.val = KM_RELEASE;
+ break;
+ }
+
+ event.custom = 0;
+ event.customdata = NULL;
+
+ wm_event_add(win, &event);
+
+ break;
+ }
+
case GHOST_kEventUnknown:
case GHOST_kNumEventTypes:
break;
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index 5d005e23029..6b3a574b6b6 100644
--- a/source/blender/windowmanager/intern/wm_files.c
+++ b/source/blender/windowmanager/intern/wm_files.c
@@ -57,6 +57,7 @@
#include "BLI_blenlib.h"
#include "BLI_linklist.h"
#include "BLI_utildefines.h"
+#include "BLI_callbacks.h"
#include "DNA_anim_types.h"
#include "DNA_ipo_types.h" // XXX old animation system
@@ -223,6 +224,14 @@ static void wm_window_match_do(bContext *C, ListBase *oldwmlist)
oldwm= oldwmlist->first;
wm= G.main->wm.first;
+ /* move addon key configuration to new wm, to preserve their keymaps */
+ if(oldwm->addonconf) {
+ wm->addonconf= oldwm->addonconf;
+ BLI_remlink(&oldwm->keyconfigs, oldwm->addonconf);
+ oldwm->addonconf= NULL;
+ BLI_addtail(&wm->keyconfigs, wm->addonconf);
+ }
+
/* ensure making new keymaps and set space types */
wm->initialized= 0;
wm->winactive= NULL;
@@ -342,6 +351,8 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports)
WM_cursor_wait(1);
+ BLI_exec_cb(CTX_data_main(C), NULL, BLI_CB_EVT_LOAD_PRE);
+
/* first try to append data from exotic file formats... */
/* it throws error box when file doesnt exist and returns -1 */
/* note; it should set some error message somewhere... (ton) */
@@ -392,6 +403,7 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports)
#ifdef WITH_PYTHON
/* run any texts that were loaded in and flagged as modules */
BPY_driver_reset();
+ BPY_app_handlers_reset();
BPY_modules_load_user(C);
#endif
CTX_wm_window_set(C, NULL); /* exits queues */
@@ -411,7 +423,8 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports)
// XXX undo_editmode_clear();
BKE_reset_undo();
BKE_write_undo(C, "original"); /* save current state */
-
+
+ BLI_exec_cb(CTX_data_main(C), NULL, BLI_CB_EVT_LOAD_POST);
}
else if(retval == BKE_READ_EXOTIC_OK_OTHER)
BKE_write_undo(C, "Import file");
@@ -437,7 +450,7 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports)
/* called on startup, (context entirely filled with NULLs) */
/* or called for 'New File' */
/* op can be NULL */
-int WM_read_homefile(bContext *C, ReportList *reports, short from_memory)
+int WM_read_homefile(bContext *C, ReportList *UNUSED(reports), short from_memory)
{
ListBase wmbase;
char tstr[FILE_MAXDIR+FILE_MAXFILE];
@@ -453,7 +466,6 @@ int WM_read_homefile(bContext *C, ReportList *reports, short from_memory)
} else {
tstr[0] = '\0';
from_memory = 1;
- BKE_report(reports, RPT_INFO, "Config directory with "STRINGIFY(BLENDER_STARTUP_FILE)" file not found.");
}
}
@@ -518,6 +530,7 @@ int WM_read_homefile(bContext *C, ReportList *reports, short from_memory)
BPY_string_exec(C, "__import__('addon_utils').reset_all()");
BPY_driver_reset();
+ BPY_app_handlers_reset();
BPY_modules_load_user(C);
}
#endif
@@ -629,8 +642,9 @@ static ImBuf *blend_file_thumb(Scene *scene, int **thumb_pt)
char err_out[256]= "unknown";
*thumb_pt= NULL;
-
- if(G.background || scene->camera==NULL)
+
+ /* scene can be NULL if running a script at startup and calling the save operator */
+ if(G.background || scene==NULL || scene->camera==NULL)
return NULL;
/* gets scaled to BLEN_THUMB_SIZE */
@@ -716,6 +730,14 @@ int WM_write_file(bContext *C, const char *target, int fileflags, ReportList *re
}
}
+ /* blend file thumbnail */
+ /* save before exit_editmode, otherwise derivedmeshes for shared data corrupt #27765) */
+ if(U.flag & USER_SAVE_PREVIEWS) {
+ ibuf_thumb= blend_file_thumb(CTX_data_scene(C), &thumb);
+ }
+
+ BLI_exec_cb(G.main, NULL, BLI_CB_EVT_SAVE_PRE);
+
/* operator now handles overwrite checks */
if (G.fileflags & G_AUTOPACK) {
@@ -728,9 +750,6 @@ int WM_write_file(bContext *C, const char *target, int fileflags, ReportList *re
/* don't forget not to return without! */
WM_cursor_wait(1);
- /* blend file thumbnail */
- ibuf_thumb= blend_file_thumb(CTX_data_scene(C), &thumb);
-
fileflags |= G_FILE_HISTORY; /* write file history */
if (BLO_write_file(CTX_data_main(C), filepath, fileflags, reports, thumb)) {
@@ -747,7 +766,12 @@ int WM_write_file(bContext *C, const char *target, int fileflags, ReportList *re
if(fileflags & G_FILE_AUTOPLAY) G.fileflags |= G_FILE_AUTOPLAY;
else G.fileflags &= ~G_FILE_AUTOPLAY;
- write_history();
+ /* prevent background mode scripts from clobbering history */
+ if(!G.background) {
+ write_history();
+ }
+
+ BLI_exec_cb(G.main, NULL, BLI_CB_EVT_SAVE_POST);
/* run this function after because the file cant be written before the blend is */
if (ibuf_thumb) {
@@ -777,11 +801,14 @@ int WM_write_homefile(bContext *C, wmOperator *op)
wmWindow *win= CTX_wm_window(C);
char filepath[FILE_MAXDIR+FILE_MAXFILE];
int fileflags;
-
+
/* check current window and close it if temp */
if(win->screen->temp)
wm_window_close(C, wm, win);
+ /* update keymaps in user preferences */
+ WM_keyconfig_update(wm);
+
BLI_make_file_string("/", filepath, BLI_get_folder_create(BLENDER_USER_CONFIG, NULL), BLENDER_STARTUP_FILE);
printf("trying to save homefile at %s ", filepath);
diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c
index 2e4148ca51d..850de9029c9 100644
--- a/source/blender/windowmanager/intern/wm_init_exit.c
+++ b/source/blender/windowmanager/intern/wm_init_exit.c
@@ -116,7 +116,7 @@ static void wm_free_reports(bContext *C)
BKE_reports_clear(CTX_wm_reports(C));
}
-int wm_start_with_console = 0;
+int wm_start_with_console = 0; /* used in creator.c */
/* only called once, for startup */
void WM_init(bContext *C, int argc, const char **argv)
@@ -127,7 +127,8 @@ void WM_init(bContext *C, int argc, const char **argv)
}
GHOST_CreateSystemPaths();
wm_operatortype_init();
-
+ WM_menutype_init();
+
set_free_windowmanager_cb(wm_close_and_free); /* library.c */
set_blender_test_break_cb(wm_window_testbreak); /* blender.c */
DAG_editors_update_cb(ED_render_id_flush_update); /* depsgraph.c */
@@ -155,6 +156,8 @@ void WM_init(bContext *C, int argc, const char **argv)
BPY_python_start(argc, argv);
BPY_driver_reset();
+ BPY_app_handlers_reset(); /* causes addon callbacks to be freed [#28068],
+ * but this is actually what we want. */
BPY_modules_load_user(C);
#else
(void)argc; /* unused */
@@ -169,6 +172,7 @@ void WM_init(bContext *C, int argc, const char **argv)
if (!G.background) {
GPU_extensions_init();
GPU_set_mipmap(!(U.gameflags & USER_DISABLE_MIPMAP));
+ GPU_set_anisotropic(U.anisotropic_filter);
UI_init();
}
@@ -180,8 +184,6 @@ void WM_init(bContext *C, int argc, const char **argv)
ED_preview_init_dbase();
- G.ndofdevice = -1; /* XXX bad initializer, needs set otherwise buttons show! */
-
WM_read_history();
/* allow a path of "", this is what happens when making a new file */
@@ -328,7 +330,6 @@ static void free_openrecent(void)
/* bad stuff*/
-extern ListBase editelems;
extern wchar_t *copybuf;
extern wchar_t *copybufinfo;
@@ -380,7 +381,6 @@ void WM_exit(bContext *C)
BKE_freecubetable();
- fastshade_free_render(); /* shaded view */
ED_preview_free_dbase(); /* frees a Main dbase, before free_blender! */
if(C && CTX_wm_manager(C))
@@ -394,10 +394,6 @@ void WM_exit(bContext *C)
free_anim_drivers_copybuf();
free_fmodifiers_copybuf();
free_posebuf();
-// free_vertexpaint();
-// free_imagepaint();
-
-// fsmenu_free();
BLF_exit();
@@ -420,11 +416,7 @@ void WM_exit(bContext *C)
BPY_python_end();
#endif
- if (!G.background) {
-// XXX UI_filelist_free_icons();
- }
-
- GPU_buffer_pool_free(NULL);
+ GPU_global_buffer_pool_free();
GPU_free_unused_buffers();
GPU_extensions_exit();
diff --git a/source/blender/windowmanager/intern/wm_jobs.c b/source/blender/windowmanager/intern/wm_jobs.c
index 4ab4eebdfe1..f4e0b4ef06c 100644
--- a/source/blender/windowmanager/intern/wm_jobs.c
+++ b/source/blender/windowmanager/intern/wm_jobs.c
@@ -202,6 +202,20 @@ char *WM_jobs_name(wmWindowManager *wm, void *owner)
return NULL;
}
+int WM_jobs_is_running(wmJob *steve)
+{
+ return steve->running;
+}
+
+void* WM_jobs_get_customdata(wmJob * steve)
+{
+ if (!steve->customdata) {
+ return steve->run_customdata;
+ } else {
+ return steve->customdata;
+ }
+}
+
void WM_jobs_customdata(wmJob *steve, void *customdata, void (*free)(void *))
{
/* pending job? just free */
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c
index 1720c738dd7..0e94ad72d35 100644
--- a/source/blender/windowmanager/intern/wm_keymap.c
+++ b/source/blender/windowmanager/intern/wm_keymap.c
@@ -61,14 +61,70 @@
#include "wm_event_system.h"
#include "wm_event_types.h"
-/* ********************* key config ***********************/
+/******************************* Keymap Item **********************************
+ * Item in a keymap, that maps from an event to an operator or modal map item */
-static void keymap_properties_set(wmKeyMapItem *kmi)
+static wmKeyMapItem *wm_keymap_item_copy(wmKeyMapItem *kmi)
+{
+ wmKeyMapItem *kmin = MEM_dupallocN(kmi);
+
+ kmin->prev= kmin->next= NULL;
+ kmin->flag &= ~KMI_UPDATE;
+
+ if(kmin->properties) {
+ kmin->ptr= MEM_callocN(sizeof(PointerRNA), "UserKeyMapItemPtr");
+ WM_operator_properties_create(kmin->ptr, kmin->idname);
+
+ kmin->properties= IDP_CopyProperty(kmin->properties);
+ kmin->ptr->data= kmin->properties;
+ }
+
+ return kmin;
+}
+
+static void wm_keymap_item_free(wmKeyMapItem *kmi)
+{
+ /* not kmi itself */
+ if(kmi->ptr) {
+ WM_operator_properties_free(kmi->ptr);
+ MEM_freeN(kmi->ptr);
+ }
+}
+
+static void wm_keymap_item_properties_set(wmKeyMapItem *kmi)
{
WM_operator_properties_alloc(&(kmi->ptr), &(kmi->properties), kmi->idname);
WM_operator_properties_sanitize(kmi->ptr, 1);
}
+static int wm_keymap_item_equals_result(wmKeyMapItem *a, wmKeyMapItem *b)
+{
+ if(strcmp(a->idname, b->idname) != 0)
+ return 0;
+
+ if(!((a->ptr==NULL && b->ptr==NULL) ||
+ (a->ptr && b->ptr && IDP_EqualsProperties(a->ptr->data, b->ptr->data))))
+ return 0;
+
+ if((a->flag & KMI_INACTIVE) != (b->flag & KMI_INACTIVE))
+ return 0;
+
+ return (a->propvalue == b->propvalue);
+}
+
+static int wm_keymap_item_equals(wmKeyMapItem *a, wmKeyMapItem *b)
+{
+ return (wm_keymap_item_equals_result(a, b) &&
+ a->type == b->type &&
+ a->val == b->val &&
+ a->shift == b->shift &&
+ a->ctrl == b->ctrl &&
+ a->alt == b->alt &&
+ a->oskey == b->oskey &&
+ a->keymodifier == b->keymodifier &&
+ a->maptype == b->maptype);
+}
+
/* properties can be NULL, otherwise the arg passed is used and ownership is given to the kmi */
void WM_keymap_properties_reset(wmKeyMapItem *kmi, struct IDProperty *properties)
{
@@ -78,9 +134,41 @@ void WM_keymap_properties_reset(wmKeyMapItem *kmi, struct IDProperty *properties
kmi->ptr = NULL;
kmi->properties = properties;
- keymap_properties_set(kmi);
+ wm_keymap_item_properties_set(kmi);
+}
+
+/**************************** Keymap Diff Item *********************************
+ * Item in a diff keymap, used for saving diff of keymaps in user preferences */
+
+static wmKeyMapDiffItem *wm_keymap_diff_item_copy(wmKeyMapDiffItem *kmdi)
+{
+ wmKeyMapDiffItem *kmdin = MEM_dupallocN(kmdi);
+
+ kmdin->next = kmdin->prev = NULL;
+ if(kmdi->add_item)
+ kmdin->add_item = wm_keymap_item_copy(kmdi->add_item);
+ if(kmdi->remove_item)
+ kmdin->remove_item = wm_keymap_item_copy(kmdi->remove_item);
+
+ return kmdin;
}
+static void wm_keymap_diff_item_free(wmKeyMapDiffItem *kmdi)
+{
+ if(kmdi->remove_item) {
+ wm_keymap_item_free(kmdi->remove_item);
+ MEM_freeN(kmdi->remove_item);
+ }
+ if(kmdi->add_item) {
+ wm_keymap_item_free(kmdi->add_item);
+ MEM_freeN(kmdi->add_item);
+ }
+}
+
+/***************************** Key Configuration ******************************
+ * List of keymaps for all editors, modes, ... . There is a builtin default key
+ * configuration, a user key configuration, and other preset configurations. */
+
wmKeyConfig *WM_keyconfig_new(wmWindowManager *wm, const char *idname)
{
wmKeyConfig *keyconf;
@@ -106,6 +194,7 @@ void WM_keyconfig_remove(wmWindowManager *wm, wmKeyConfig *keyconf)
if (keyconf) {
if (strncmp(U.keyconfigstr, keyconf->idname, sizeof(U.keyconfigstr)) == 0) {
BLI_strncpy(U.keyconfigstr, wm->defaultconf->idname, sizeof(U.keyconfigstr));
+ WM_keyconfig_update_tag(NULL, NULL);
}
BLI_remlink(&wm->keyconfigs, keyconf);
@@ -125,21 +214,6 @@ void WM_keyconfig_free(wmKeyConfig *keyconf)
MEM_freeN(keyconf);
}
-void WM_keyconfig_userdef(void)
-{
- wmKeyMap *km;
- wmKeyMapItem *kmi;
-
- for(km=U.keymaps.first; km; km=km->next) {
- /* modal keymaps don't have operator properties */
- if ((km->flag & KEYMAP_MODAL) == 0) {
- for(kmi=km->items.first; kmi; kmi=kmi->next) {
- keymap_properties_set(kmi);
- }
- }
- }
-}
-
static wmKeyConfig *wm_keyconfig_list_find(ListBase *lb, char *idname)
{
wmKeyConfig *kc;
@@ -151,23 +225,84 @@ static wmKeyConfig *wm_keyconfig_list_find(ListBase *lb, char *idname)
return NULL;
}
-/* ************************ free ************************* */
+static wmKeyConfig *WM_keyconfig_active(wmWindowManager *wm)
+{
+ wmKeyConfig *keyconf;
-void WM_keymap_free(wmKeyMap *keymap)
+ /* first try from preset */
+ keyconf= wm_keyconfig_list_find(&wm->keyconfigs, U.keyconfigstr);
+ if(keyconf)
+ return keyconf;
+
+ /* otherwise use default */
+ return wm->defaultconf;
+}
+
+void WM_keyconfig_set_active(wmWindowManager *wm, const char *idname)
{
- wmKeyMapItem *kmi;
+ /* setting a different key configuration as active: we ensure all is
+ updated properly before and after making the change */
+
+ WM_keyconfig_update(wm);
+
+ BLI_strncpy(U.keyconfigstr, idname, sizeof(U.keyconfigstr));
+
+ WM_keyconfig_update_tag(NULL, NULL);
+ WM_keyconfig_update(wm);
+}
+
+/********************************** Keymap *************************************
+ * List of keymap items for one editor, mode, modal operator, ... */
+
+static wmKeyMap *wm_keymap_new(const char *idname, int spaceid, int regionid)
+{
+ wmKeyMap *km= MEM_callocN(sizeof(struct wmKeyMap), "keymap list");
+
+ BLI_strncpy(km->idname, idname, KMAP_MAX_NAME);
+ km->spaceid= spaceid;
+ km->regionid= regionid;
+
+ return km;
+}
+
+static wmKeyMap *wm_keymap_copy(wmKeyMap *keymap)
+{
+ wmKeyMap *keymapn = MEM_dupallocN(keymap);
+ wmKeyMapItem *kmi, *kmin;
+ wmKeyMapDiffItem *kmdi, *kmdin;
+
+ keymapn->modal_items= keymap->modal_items;
+ keymapn->poll= keymap->poll;
+ keymapn->items.first= keymapn->items.last= NULL;
+ keymapn->flag &= ~(KEYMAP_UPDATE|KEYMAP_EXPANDED);
+
+ for(kmdi=keymap->diff_items.first; kmdi; kmdi=kmdi->next) {
+ kmdin= wm_keymap_diff_item_copy(kmdi);
+ BLI_addtail(&keymapn->items, kmdin);
+ }
for(kmi=keymap->items.first; kmi; kmi=kmi->next) {
- if(kmi->ptr) {
- WM_operator_properties_free(kmi->ptr);
- MEM_freeN(kmi->ptr);
- }
+ kmin= wm_keymap_item_copy(kmi);
+ BLI_addtail(&keymapn->items, kmin);
}
- BLI_freelistN(&keymap->items);
+ return keymapn;
}
-/* ***************** generic call, exported **************** */
+void WM_keymap_free(wmKeyMap *keymap)
+{
+ wmKeyMapItem *kmi;
+ wmKeyMapDiffItem *kmdi;
+
+ for(kmdi=keymap->diff_items.first; kmdi; kmdi=kmdi->next)
+ wm_keymap_diff_item_free(kmdi);
+
+ for(kmi=keymap->items.first; kmi; kmi=kmi->next)
+ wm_keymap_item_free(kmi);
+
+ BLI_freelistN(&keymap->diff_items);
+ BLI_freelistN(&keymap->items);
+}
static void keymap_event_set(wmKeyMapItem *kmi, short type, short val, int modifier, short keymodifier)
{
@@ -229,7 +364,7 @@ wmKeyMapItem *WM_keymap_verify_item(wmKeyMap *keymap, const char *idname, int ty
keymap_item_set_id(keymap, kmi);
keymap_event_set(kmi, type, val, modifier, keymodifier);
- keymap_properties_set(kmi);
+ wm_keymap_item_properties_set(kmi);
}
return kmi;
}
@@ -243,10 +378,12 @@ wmKeyMapItem *WM_keymap_add_item(wmKeyMap *keymap, const char *idname, int type,
BLI_strncpy(kmi->idname, idname, OP_MAX_TYPENAME);
keymap_event_set(kmi, type, val, modifier, keymodifier);
- keymap_properties_set(kmi);
+ wm_keymap_item_properties_set(kmi);
keymap_item_set_id(keymap, kmi);
+ WM_keyconfig_update_tag(keymap, kmi);
+
return kmi;
}
@@ -266,6 +403,232 @@ void WM_keymap_remove_item(wmKeyMap *keymap, wmKeyMapItem *kmi)
MEM_freeN(kmi->ptr);
}
BLI_freelinkN(&keymap->items, kmi);
+
+ WM_keyconfig_update_tag(keymap, kmi);
+ }
+}
+
+/************************** Keymap Diff and Patch ****************************
+ * Rather than saving the entire keymap for user preferences, we only save a
+ * diff so that changes in the defaults get synced. This system is not perfect
+ * but works better than overriding the keymap entirely when only few items
+ * are changed. */
+
+static void wm_keymap_addon_add(wmKeyMap *keymap, wmKeyMap *addonmap)
+{
+ wmKeyMapItem *kmi, *kmin;
+
+ for(kmi=addonmap->items.first; kmi; kmi=kmi->next) {
+ kmin = wm_keymap_item_copy(kmi);
+ keymap_item_set_id(keymap, kmin);
+ BLI_addhead(&keymap->items, kmin);
+ }
+}
+
+static wmKeyMapItem *wm_keymap_find_item_equals(wmKeyMap *km, wmKeyMapItem *needle)
+{
+ wmKeyMapItem *kmi;
+
+ for(kmi=km->items.first; kmi; kmi=kmi->next)
+ if(wm_keymap_item_equals(kmi, needle))
+ return kmi;
+
+ return NULL;
+}
+
+static wmKeyMapItem *wm_keymap_find_item_equals_result(wmKeyMap *km, wmKeyMapItem *needle)
+{
+ wmKeyMapItem *kmi;
+
+ for(kmi=km->items.first; kmi; kmi=kmi->next)
+ if(wm_keymap_item_equals_result(kmi, needle))
+ return kmi;
+
+ return NULL;
+}
+
+static void wm_keymap_diff(wmKeyMap *diff_km, wmKeyMap *from_km, wmKeyMap *to_km, wmKeyMap *orig_km, wmKeyMap *addon_km)
+{
+ wmKeyMapItem *kmi, *to_kmi, *orig_kmi;
+ wmKeyMapDiffItem *kmdi;
+
+ for(kmi=from_km->items.first; kmi; kmi=kmi->next) {
+ to_kmi = WM_keymap_item_find_id(to_km, kmi->id);
+
+ if(!to_kmi) {
+ /* remove item */
+ kmdi = MEM_callocN(sizeof(wmKeyMapDiffItem), "wmKeyMapDiffItem");
+ kmdi->remove_item = wm_keymap_item_copy(kmi);
+ BLI_addtail(&diff_km->diff_items, kmdi);
+ }
+ else if(to_kmi && !wm_keymap_item_equals(kmi, to_kmi)) {
+ /* replace item */
+ kmdi = MEM_callocN(sizeof(wmKeyMapDiffItem), "wmKeyMapDiffItem");
+ kmdi->remove_item = wm_keymap_item_copy(kmi);
+ kmdi->add_item = wm_keymap_item_copy(to_kmi);
+ BLI_addtail(&diff_km->diff_items, kmdi);
+ }
+
+ /* sync expanded flag back to original so we don't loose it on repatch */
+ if(to_kmi) {
+ orig_kmi = WM_keymap_item_find_id(orig_km, kmi->id);
+
+ if(!orig_kmi)
+ orig_kmi = wm_keymap_find_item_equals(addon_km, kmi);
+
+ if(orig_kmi) {
+ orig_kmi->flag &= ~KMI_EXPANDED;
+ orig_kmi->flag |= (to_kmi->flag & KMI_EXPANDED);
+ }
+ }
+ }
+
+ for(kmi=to_km->items.first; kmi; kmi=kmi->next) {
+ if(kmi->id < 0) {
+ /* add item */
+ kmdi = MEM_callocN(sizeof(wmKeyMapDiffItem), "wmKeyMapDiffItem");
+ kmdi->add_item = wm_keymap_item_copy(kmi);
+ BLI_addtail(&diff_km->diff_items, kmdi);
+ }
+ }
+}
+
+static void wm_keymap_patch(wmKeyMap *km, wmKeyMap *diff_km)
+{
+ wmKeyMapDiffItem *kmdi;
+ wmKeyMapItem *kmi_remove, *kmi_add;
+
+ for(kmdi=diff_km->diff_items.first; kmdi; kmdi=kmdi->next) {
+ /* find item to remove */
+ kmi_remove = NULL;
+ if(kmdi->remove_item) {
+ kmi_remove = wm_keymap_find_item_equals(km, kmdi->remove_item);
+ if(!kmi_remove)
+ kmi_remove = wm_keymap_find_item_equals_result(km, kmdi->remove_item);
+ }
+
+ /* add item */
+ if(kmdi->add_item) {
+ /* only if nothing to remove or item to remove found */
+ if(!kmdi->remove_item || kmi_remove) {
+ kmi_add = wm_keymap_item_copy(kmdi->add_item);
+ kmi_add->flag |= KMI_USER_MODIFIED;
+
+ if(kmi_remove) {
+ kmi_add->flag &= ~KMI_EXPANDED;
+ kmi_add->flag |= (kmi_remove->flag & KMI_EXPANDED);
+ kmi_add->id = kmi_remove->id;
+ BLI_insertlinkbefore(&km->items, kmi_remove, kmi_add);
+ }
+ else {
+ keymap_item_set_id(km, kmi_add);
+ BLI_addtail(&km->items, kmi_add);
+ }
+ }
+ }
+
+ /* remove item */
+ if(kmi_remove) {
+ wm_keymap_item_free(kmi_remove);
+ BLI_freelinkN(&km->items, kmi_remove);
+ }
+ }
+}
+
+static wmKeyMap *wm_keymap_patch_update(ListBase *lb, wmKeyMap *defaultmap, wmKeyMap *addonmap, wmKeyMap *usermap)
+{
+ wmKeyMap *km;
+ int expanded = 0;
+
+ /* remove previous keymap in list, we will replace it */
+ km = WM_keymap_list_find(lb, defaultmap->idname, defaultmap->spaceid, defaultmap->regionid);
+ if(km) {
+ expanded = (km->flag & (KEYMAP_EXPANDED|KEYMAP_CHILDREN_EXPANDED));
+ WM_keymap_free(km);
+ BLI_freelinkN(lb, km);
+ }
+
+ /* copy new keymap from an existing one */
+ if(usermap && !(usermap->flag & KEYMAP_DIFF)) {
+ /* for compatibiltiy with old user preferences with non-diff
+ keymaps we override the original entirely */
+ wmKeyMapItem *kmi, *orig_kmi;
+
+ km = wm_keymap_copy(usermap);
+
+ /* try to find corresponding id's for items */
+ for(kmi=km->items.first; kmi; kmi=kmi->next) {
+ orig_kmi = wm_keymap_find_item_equals(defaultmap, kmi);
+ if(!orig_kmi)
+ orig_kmi = wm_keymap_find_item_equals_result(defaultmap, kmi);
+
+ if(orig_kmi)
+ kmi->id = orig_kmi->id;
+ else
+ kmi->id = -(km->kmi_id++);
+ }
+
+ km->flag |= KEYMAP_UPDATE; /* update again to create diff */
+ }
+ else
+ km = wm_keymap_copy(defaultmap);
+
+ /* add addon keymap items */
+ if(addonmap)
+ wm_keymap_addon_add(km, addonmap);
+
+ /* tag as being user edited */
+ if(usermap)
+ km->flag |= KEYMAP_USER_MODIFIED;
+ km->flag |= KEYMAP_USER|expanded;
+
+ /* apply user changes of diff keymap */
+ if(usermap && (usermap->flag & KEYMAP_DIFF))
+ wm_keymap_patch(km, usermap);
+
+ /* add to list */
+ BLI_addtail(lb, km);
+
+ return km;
+}
+
+static void wm_keymap_diff_update(ListBase *lb, wmKeyMap *defaultmap, wmKeyMap *addonmap, wmKeyMap *km)
+{
+ wmKeyMap *diffmap, *prevmap, *origmap;
+
+ /* create temporary default + addon keymap for diff */
+ origmap = defaultmap;
+
+ if(addonmap) {
+ defaultmap = wm_keymap_copy(defaultmap);
+ wm_keymap_addon_add(defaultmap, addonmap);
+ }
+
+ /* remove previous diff keymap in list, we will replace it */
+ prevmap = WM_keymap_list_find(lb, km->idname, km->spaceid, km->regionid);
+ if(prevmap) {
+ WM_keymap_free(prevmap);
+ BLI_freelinkN(lb, prevmap);
+ }
+
+ /* create diff keymap */
+ diffmap= wm_keymap_new(km->idname, km->spaceid, km->regionid);
+ diffmap->flag |= KEYMAP_DIFF;
+ wm_keymap_diff(diffmap, defaultmap, km, origmap, addonmap);
+
+ /* add to list if not empty */
+ if(diffmap->diff_items.first) {
+ BLI_addtail(lb, diffmap);
+ }
+ else {
+ WM_keymap_free(diffmap);
+ MEM_freeN(diffmap);
+ }
+
+ /* free temporary default map */
+ if(addonmap) {
+ WM_keymap_free(defaultmap);
+ MEM_freeN(defaultmap);
}
}
@@ -292,11 +655,10 @@ wmKeyMap *WM_keymap_find(wmKeyConfig *keyconf, const char *idname, int spaceid,
wmKeyMap *km= WM_keymap_list_find(&keyconf->keymaps, idname, spaceid, regionid);
if(km==NULL) {
- km= MEM_callocN(sizeof(struct wmKeyMap), "keymap list");
- BLI_strncpy(km->idname, idname, KMAP_MAX_NAME);
- km->spaceid= spaceid;
- km->regionid= regionid;
+ km= wm_keymap_new(idname, spaceid, regionid);
BLI_addtail(&keyconf->keymaps, km);
+
+ WM_keyconfig_update_tag(km, NULL);
}
return km;
@@ -304,29 +666,9 @@ wmKeyMap *WM_keymap_find(wmKeyConfig *keyconf, const char *idname, int spaceid,
wmKeyMap *WM_keymap_find_all(const bContext *C, const char *idname, int spaceid, int regionid)
{
- wmWindowManager *wm = CTX_wm_manager(C);
- wmKeyConfig *keyconf;
- wmKeyMap *km;
-
- /* first user defined keymaps */
- km= WM_keymap_list_find(&U.keymaps, idname, spaceid, regionid);
- if (km)
- return km;
-
- /* then user key config */
- keyconf= wm_keyconfig_list_find(&wm->keyconfigs, U.keyconfigstr);
- if(keyconf) {
- km= WM_keymap_list_find(&keyconf->keymaps, idname, spaceid, regionid);
- if (km)
- return km;
- }
-
- /* then use default */
- km= WM_keymap_list_find(&wm->defaultconf->keymaps, idname, spaceid, regionid);
- if (km)
- return km;
- else
- return NULL;
+ wmWindowManager *wm= CTX_wm_manager(C);
+
+ return WM_keymap_list_find(&wm->userconf->keymaps, idname, spaceid, regionid);
}
/* ****************** modal keymaps ************ */
@@ -366,6 +708,8 @@ wmKeyMapItem *WM_modalkeymap_add_item(wmKeyMap *km, int type, int val, int modif
keymap_item_set_id(km, kmi);
+ WM_keyconfig_update_tag(km, kmi);
+
return kmi;
}
@@ -588,169 +932,215 @@ int WM_keymap_item_compare(wmKeyMapItem *k1, wmKeyMapItem *k2)
return 1;
}
-/* ***************** user preferences ******************* */
+/************************* Update Final Configuration *************************
+ * On load or other changes, the final user key configuration is rebuilt from
+ * the preset, addon and user preferences keymaps. We also test if the final
+ * configuration changed and write the changes to the user preferences. */
-int WM_keymap_user_init(wmWindowManager *wm, wmKeyMap *keymap)
+static int WM_KEYMAP_UPDATE = 0;
+
+void WM_keyconfig_update_tag(wmKeyMap *km, wmKeyMapItem *kmi)
{
- wmKeyConfig *keyconf;
- wmKeyMap *km;
+ /* quick tag to do delayed keymap updates */
+ WM_KEYMAP_UPDATE= 1;
- if(!keymap)
- return 0;
+ if(km)
+ km->flag |= KEYMAP_UPDATE;
+ if(kmi)
+ kmi->flag |= KMI_UPDATE;
+}
- /* init from user key config */
- keyconf= wm_keyconfig_list_find(&wm->keyconfigs, U.keyconfigstr);
- if(keyconf) {
- km= WM_keymap_list_find(&keyconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- if(km) {
- keymap->poll= km->poll; /* lazy init */
- keymap->modal_items= km->modal_items;
- return 1;
- }
- }
+static int wm_keymap_test_and_clear_update(wmKeyMap *km)
+{
+ wmKeyMapItem *kmi;
+ int update;
+
+ update= (km->flag & KEYMAP_UPDATE);
+ km->flag &= ~KEYMAP_UPDATE;
- /* or from default */
- km= WM_keymap_list_find(&wm->defaultconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- if(km) {
- keymap->poll= km->poll; /* lazy init */
- keymap->modal_items= km->modal_items;
- return 1;
+ for(kmi=km->items.first; kmi; kmi=kmi->next) {
+ update= update || (kmi->flag & KMI_UPDATE);
+ kmi->flag &= ~KMI_UPDATE;
}
-
- return 0;
+
+ return update;
}
-wmKeyMap *WM_keymap_active(wmWindowManager *wm, wmKeyMap *keymap)
+static wmKeyMap *wm_keymap_preset(wmWindowManager *wm, wmKeyMap *km)
{
- wmKeyConfig *keyconf;
- wmKeyMap *km;
+ wmKeyConfig *keyconf= WM_keyconfig_active(wm);
+ wmKeyMap *keymap;
+ keymap= WM_keymap_list_find(&keyconf->keymaps, km->idname, km->spaceid, km->regionid);
if(!keymap)
- return NULL;
-
- /* first user defined keymaps */
- km= WM_keymap_list_find(&U.keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- if(km) {
- km->poll= keymap->poll; /* lazy init */
- km->modal_items= keymap->modal_items;
- return km;
- }
-
- /* then user key config */
- keyconf= wm_keyconfig_list_find(&wm->keyconfigs, U.keyconfigstr);
- if(keyconf) {
- km= WM_keymap_list_find(&keyconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- if(km) {
- km->poll= keymap->poll; /* lazy init */
- km->modal_items= keymap->modal_items;
- return km;
- }
- }
+ keymap= WM_keymap_list_find(&wm->defaultconf->keymaps, km->idname, km->spaceid, km->regionid);
- /* then use default */
- km= WM_keymap_list_find(&wm->defaultconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- return km;
+ return keymap;
}
-wmKeyMap *WM_keymap_copy_to_user(wmKeyMap *keymap)
+void WM_keyconfig_update(wmWindowManager *wm)
{
- wmKeyMap *usermap;
+ wmKeyMap *km, *defaultmap, *addonmap, *usermap, *kmn;
wmKeyMapItem *kmi;
+ wmKeyMapDiffItem *kmdi;
+ int compat_update = 0;
- usermap= WM_keymap_list_find(&U.keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
-
- /* XXX this function is only used by RMB setting hotkeys, and it clears maps on 2nd try this way */
- if(keymap==usermap)
- return keymap;
+ if(!WM_KEYMAP_UPDATE)
+ return;
- if(!usermap) {
- /* not saved yet, duplicate existing */
- usermap= MEM_dupallocN(keymap);
- usermap->modal_items= NULL;
- usermap->poll= NULL;
- usermap->flag |= KEYMAP_USER;
+ /* update operator properties for non-modal user keymaps */
+ for(km=U.user_keymaps.first; km; km=km->next) {
+ if((km->flag & KEYMAP_MODAL) == 0) {
+ for(kmdi=km->diff_items.first; kmdi; kmdi=kmdi->next) {
+ if(kmdi->add_item)
+ wm_keymap_item_properties_set(kmdi->add_item);
+ if(kmdi->remove_item)
+ wm_keymap_item_properties_set(kmdi->remove_item);
+ }
- BLI_addtail(&U.keymaps, usermap);
+ for(kmi=km->items.first; kmi; kmi=kmi->next)
+ wm_keymap_item_properties_set(kmi);
+ }
}
- else {
- /* already saved, free items for re-copy */
- WM_keymap_free(usermap);
+
+ /* update U.user_keymaps with user key configuration changes */
+ for(km=wm->userconf->keymaps.first; km; km=km->next) {
+ /* only diff if the user keymap was modified */
+ if(wm_keymap_test_and_clear_update(km)) {
+ /* find keymaps */
+ defaultmap= wm_keymap_preset(wm, km);
+ addonmap= WM_keymap_list_find(&wm->addonconf->keymaps, km->idname, km->spaceid, km->regionid);
+
+ /* diff */
+ if(defaultmap)
+ wm_keymap_diff_update(&U.user_keymaps, defaultmap, addonmap, km);
+ }
}
- BLI_duplicatelist(&usermap->items, &keymap->items);
+ /* create user key configuration from preset + addon + user preferences */
+ for(km=wm->defaultconf->keymaps.first; km; km=km->next) {
+ /* find keymaps */
+ defaultmap= wm_keymap_preset(wm, km);
+ addonmap= WM_keymap_list_find(&wm->addonconf->keymaps, km->idname, km->spaceid, km->regionid);
+ usermap= WM_keymap_list_find(&U.user_keymaps, km->idname, km->spaceid, km->regionid);
- for(kmi=usermap->items.first; kmi; kmi=kmi->next) {
- if(kmi->properties) {
- kmi->ptr= MEM_callocN(sizeof(PointerRNA), "UserKeyMapItemPtr");
- WM_operator_properties_create(kmi->ptr, kmi->idname);
+ /* add */
+ kmn= wm_keymap_patch_update(&wm->userconf->keymaps, defaultmap, addonmap, usermap);
- kmi->properties= IDP_CopyProperty(kmi->properties);
- kmi->ptr->data= kmi->properties;
+ if(kmn) {
+ kmn->modal_items= km->modal_items;
+ kmn->poll= km->poll;
}
+
+ /* in case of old non-diff keymaps, force extra update to create diffs */
+ compat_update = compat_update || (usermap && !(usermap->flag & KEYMAP_DIFF));
}
- for(kmi=keymap->items.first; kmi; kmi=kmi->next)
- kmi->flag &= ~KMI_EXPANDED;
+ WM_KEYMAP_UPDATE= 0;
+
+ if(compat_update) {
+ WM_keyconfig_update_tag(NULL, NULL);
+ WM_keyconfig_update(wm);
+ }
+}
+
+/********************************* Event Handling *****************************
+ * Handlers have pointers to the keymap in the default configuration. During
+ * event handling this function is called to get the keymap from the final
+ * configuration. */
+
+wmKeyMap *WM_keymap_active(wmWindowManager *wm, wmKeyMap *keymap)
+{
+ wmKeyMap *km;
+
+ if(!keymap)
+ return NULL;
+
+ /* first user defined keymaps */
+ km= WM_keymap_list_find(&wm->userconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
+
+ if(km)
+ return km;
- return usermap;
+ return keymap;
}
+/******************************* Keymap Editor ********************************
+ * In the keymap editor the user key configuration is edited. */
+
void WM_keymap_restore_item_to_default(bContext *C, wmKeyMap *keymap, wmKeyMapItem *kmi)
{
wmWindowManager *wm = CTX_wm_manager(C);
- wmKeyConfig *keyconf;
- wmKeyMap *km = NULL;
+ wmKeyMap *defaultmap, *addonmap;
+ wmKeyMapItem *orig;
- /* look in user key config */
- keyconf= wm_keyconfig_list_find(&wm->keyconfigs, U.keyconfigstr);
- if(keyconf) {
- km= WM_keymap_list_find(&keyconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- }
+ if(!keymap)
+ return;
- if (!km) {
- /* or from default */
- km= WM_keymap_list_find(&wm->defaultconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
+ /* construct default keymap from preset + addons */
+ defaultmap= wm_keymap_preset(wm, keymap);
+ addonmap= WM_keymap_list_find(&wm->addonconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
+
+ if(addonmap) {
+ defaultmap = wm_keymap_copy(defaultmap);
+ wm_keymap_addon_add(defaultmap, addonmap);
}
- if (km) {
- wmKeyMapItem *orig = WM_keymap_item_find_id(km, kmi->id);
+ /* find original item */
+ orig = WM_keymap_item_find_id(defaultmap, kmi->id);
- if (orig) {
- if(strcmp(orig->idname, kmi->idname) != 0) {
- BLI_strncpy(kmi->idname, orig->idname, sizeof(kmi->idname));
+ if(orig) {
+ /* restore to original */
+ if(strcmp(orig->idname, kmi->idname) != 0) {
+ BLI_strncpy(kmi->idname, orig->idname, sizeof(kmi->idname));
+ WM_keymap_properties_reset(kmi, NULL);
+ }
- WM_keymap_properties_reset(kmi, NULL);
+ if (orig->properties) {
+ if(kmi->properties) {
+ IDP_FreeProperty(kmi->properties);
+ MEM_freeN(kmi->properties);
+ kmi->properties= NULL;
}
-
- if (orig->properties) {
- kmi->properties= IDP_CopyProperty(orig->properties);
- kmi->ptr->data= kmi->properties;
- }
-
- kmi->propvalue = orig->propvalue;
- kmi->type = orig->type;
- kmi->val = orig->val;
- kmi->shift = orig->shift;
- kmi->ctrl = orig->ctrl;
- kmi->alt = orig->alt;
- kmi->oskey = orig->oskey;
- kmi->keymodifier = orig->keymodifier;
- kmi->maptype = orig->maptype;
+ kmi->properties= IDP_CopyProperty(orig->properties);
+ kmi->ptr->data= kmi->properties;
}
+ kmi->propvalue = orig->propvalue;
+ kmi->type = orig->type;
+ kmi->val = orig->val;
+ kmi->shift = orig->shift;
+ kmi->ctrl = orig->ctrl;
+ kmi->alt = orig->alt;
+ kmi->oskey = orig->oskey;
+ kmi->keymodifier = orig->keymodifier;
+ kmi->maptype = orig->maptype;
+
+ WM_keyconfig_update_tag(keymap, kmi);
+ }
+
+ /* free temporary keymap */
+ if(addonmap) {
+ WM_keymap_free(defaultmap);
+ MEM_freeN(defaultmap);
}
}
-void WM_keymap_restore_to_default(wmKeyMap *keymap)
+void WM_keymap_restore_to_default(wmKeyMap *keymap, bContext *C)
{
+ wmWindowManager *wm = CTX_wm_manager(C);
wmKeyMap *usermap;
- usermap= WM_keymap_list_find(&U.keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
+ /* remove keymap from U.user_keymaps and update */
+ usermap= WM_keymap_list_find(&U.user_keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
if(usermap) {
WM_keymap_free(usermap);
- BLI_freelinkN(&U.keymaps, usermap);
+ BLI_freelinkN(&U.user_keymaps, usermap);
+
+ WM_keyconfig_update_tag(NULL, NULL);
+ WM_keyconfig_update(wm);
}
}
@@ -951,3 +1341,4 @@ wmKeyMap *WM_keymap_guess_opname(const bContext *C, const char *opname)
return km;
}
+
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 1b7333024e7..68a4eebf93f 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -58,6 +58,7 @@
#include "BLI_math.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
+#include "BLI_ghash.h"
#include "BLO_readfile.h"
@@ -100,34 +101,42 @@
#include "wm_subwindow.h"
#include "wm_window.h"
-static ListBase global_ops= {NULL, NULL};
+static GHash *global_ops_hash= NULL;
/* ************ operator API, exported ********** */
wmOperatorType *WM_operatortype_find(const char *idname, int quiet)
{
- wmOperatorType *ot;
-
- char idname_bl[OP_MAX_TYPENAME]; // XXX, needed to support python style names without the _OT_ syntax
- WM_operator_bl_idname(idname_bl, idname);
+ if(idname[0]) {
+ wmOperatorType *ot;
- if (idname_bl[0]) {
- ot= (wmOperatorType *)BLI_findstring_ptr(&global_ops, idname_bl, offsetof(wmOperatorType, idname));
+ /* needed to support python style names without the _OT_ syntax */
+ char idname_bl[OP_MAX_TYPENAME];
+ WM_operator_bl_idname(idname_bl, idname);
+
+ ot= BLI_ghash_lookup(global_ops_hash, idname_bl);
if(ot) {
return ot;
}
+
+ if(!quiet) {
+ printf("search for unknown operator '%s', '%s'\n", idname_bl, idname);
+ }
}
-
- if(!quiet)
- printf("search for unknown operator %s, %s\n", idname_bl, idname);
-
+ else {
+ if(!quiet) {
+ printf("search for empty operator\n");
+ }
+ }
+
return NULL;
}
-wmOperatorType *WM_operatortype_first(void)
+/* caller must free */
+GHashIterator *WM_operatortype_iter(void)
{
- return global_ops.first;
+ return BLI_ghashIterator_new(global_ops_hash);
}
/* all ops in 1 list (for time being... needs evaluation later) */
@@ -147,7 +156,8 @@ void WM_operatortype_append(void (*opfunc)(wmOperatorType*))
RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:"(undocumented operator)"); // XXX All ops should have a description but for now allow them not to.
RNA_def_struct_identifier(ot->srna, ot->idname);
- BLI_addtail(&global_ops, ot);
+
+ BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
}
void WM_operatortype_append_ptr(void (*opfunc)(wmOperatorType*, void*), void *userdata)
@@ -159,7 +169,8 @@ void WM_operatortype_append_ptr(void (*opfunc)(wmOperatorType*, void*), void *us
opfunc(ot, userdata);
RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:"(undocumented operator)");
RNA_def_struct_identifier(ot->srna, ot->idname);
- BLI_addtail(&global_ops, ot);
+
+ BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
}
/* ********************* macro operator ******************** */
@@ -209,6 +220,7 @@ static int wm_macro_exec(bContext *C, wmOperator *op)
if(opm->type->exec) {
retval= opm->type->exec(C, opm);
+ OPERATOR_RETVAL_CHECK(retval);
if (retval & OPERATOR_FINISHED) {
MacroData *md = op->customdata;
@@ -233,6 +245,8 @@ static int wm_macro_invoke_internal(bContext *C, wmOperator *op, wmEvent *event,
else if(opm->type->exec)
retval= opm->type->exec(C, opm);
+ OPERATOR_RETVAL_CHECK(retval);
+
BLI_movelisttolist(&op->reports->list, &opm->reports->list);
if (retval & OPERATOR_FINISHED) {
@@ -261,6 +275,7 @@ static int wm_macro_modal(bContext *C, wmOperator *op, wmEvent *event)
printf("macro error, calling NULL modal()\n");
else {
retval = opm->type->modal(C, opm, event);
+ OPERATOR_RETVAL_CHECK(retval);
/* if this one is done but it's not the last operator in the macro */
if ((retval & OPERATOR_FINISHED) && opm->next) {
@@ -351,7 +366,7 @@ wmOperatorType *WM_operatortype_append_macro(const char *idname, const char *nam
RNA_def_struct_ui_text(ot->srna, ot->name, ot->description); // XXX All ops should have a description but for now allow them not to.
RNA_def_struct_identifier(ot->srna, ot->idname);
- BLI_addtail(&global_ops, ot);
+ BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
return ot;
}
@@ -378,7 +393,7 @@ void WM_operatortype_append_macro_ptr(void (*opfunc)(wmOperatorType*, void*), vo
RNA_def_struct_ui_text(ot->srna, ot->name, ot->description);
RNA_def_struct_identifier(ot->srna, ot->idname);
- BLI_addtail(&global_ops, ot);
+ BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
}
wmOperatorTypeMacro *WM_operatortype_macro_define(wmOperatorType *ot, const char *idname)
@@ -426,14 +441,14 @@ int WM_operatortype_remove(const char *idname)
if (ot==NULL)
return 0;
- BLI_remlink(&global_ops, ot);
RNA_struct_free(&BLENDER_RNA, ot->srna);
if(ot->macro.first)
wm_operatortype_free_macro(ot);
-
- MEM_freeN(ot);
+ BLI_ghash_remove(global_ops_hash, (void *)ot->idname, NULL, NULL);
+
+ MEM_freeN(ot);
return 1;
}
@@ -651,7 +666,9 @@ int WM_menu_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
printf("WM_menu_invoke: %s \"%s\" is not an enum property\n", op->type->idname, RNA_property_identifier(prop));
}
else if (RNA_property_is_set(op->ptr, RNA_property_identifier(prop))) {
- return op->type->exec(C, op);
+ const int retval= op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(retval);
+ return retval;
}
else {
pup= uiPupMenuBegin(C, op->type->name, ICON_NONE);
@@ -807,6 +824,9 @@ void WM_operator_properties_filesel(wmOperatorType *ot, int filter, short type,
if(flag & WM_FILESEL_FILENAME)
RNA_def_string_file_name(ot->srna, "filename", "", FILE_MAX, "File Name", "Name of the file");
+ if(flag & WM_FILESEL_FILES)
+ RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
+
if (action == FILE_SAVE) {
prop= RNA_def_boolean(ot->srna, "check_existing", 1, "Check Existing", "Check and warn on overwriting existing files");
RNA_def_property_flag(prop, PROP_HIDDEN);
@@ -921,7 +941,16 @@ static uiBlock *wm_block_create_redo(bContext *C, ARegion *ar, void *arg_op)
if(ED_undo_valid(C, op->type->name)==0)
uiLayoutSetEnabled(layout, 0);
- uiLayoutOperatorButs(C, layout, op, NULL, 'H', UI_LAYOUT_OP_SHOW_TITLE);
+ if(op->type->flag & OPTYPE_MACRO) {
+ for(op= op->macro.first; op; op= op->next) {
+ uiItemL(layout, op->type->name, ICON_NONE);
+ uiLayoutOperatorButs(C, layout, op, NULL, 'H', UI_LAYOUT_OP_SHOW_TITLE);
+ }
+ }
+ else {
+ uiLayoutOperatorButs(C, layout, op, NULL, 'H', UI_LAYOUT_OP_SHOW_TITLE);
+ }
+
uiPopupBoundsBlock(block, 4, 0, 0);
uiEndBlock(C, block);
@@ -929,13 +958,28 @@ static uiBlock *wm_block_create_redo(bContext *C, ARegion *ar, void *arg_op)
return block;
}
-/* Only invoked by OK button in popups created with wm_block_create_dialog() */
+typedef struct wmOpPopUp
+{
+ wmOperator *op;
+ int width;
+ int height;
+ int free_op;
+} wmOpPopUp;
+
+/* Only invoked by OK button in popups created with wm_block_dialog_create() */
static void dialog_exec_cb(bContext *C, void *arg1, void *arg2)
{
- wmOperator *op= arg1;
+ wmOpPopUp *data= arg1;
uiBlock *block= arg2;
- WM_operator_call(C, op);
+ WM_operator_call(C, data->op);
+
+ /* let execute handle freeing it */
+ //data->free_op= FALSE;
+ //data->op= NULL;
+
+ /* in this case, wm_operator_ui_popup_cancel wont run */
+ MEM_freeN(data);
uiPupBlockClose(C, block);
}
@@ -951,9 +995,9 @@ static void dialog_check_cb(bContext *C, void *op_ptr, void *UNUSED(arg))
}
/* Dialogs are popups that require user verification (click OK) before exec */
-static uiBlock *wm_block_create_dialog(bContext *C, ARegion *ar, void *userData)
+static uiBlock *wm_block_dialog_create(bContext *C, ARegion *ar, void *userData)
{
- struct { wmOperator *op; int width; int height; } * data = userData;
+ wmOpPopUp *data= userData;
wmOperator *op= data->op;
uiBlock *block;
uiLayout *layout;
@@ -982,7 +1026,7 @@ static uiBlock *wm_block_create_dialog(bContext *C, ARegion *ar, void *userData)
col_block= uiLayoutGetBlock(col);
/* Create OK button, the callback of which will execute op */
btn= uiDefBut(col_block, BUT, 0, "OK", 0, -30, 0, UI_UNIT_Y, NULL, 0, 0, 0, 0, "");
- uiButSetFunc(btn, dialog_exec_cb, op, col_block);
+ uiButSetFunc(btn, dialog_exec_cb, data, col_block);
}
/* center around the mouse */
@@ -992,9 +1036,9 @@ static uiBlock *wm_block_create_dialog(bContext *C, ARegion *ar, void *userData)
return block;
}
-static uiBlock *wm_operator_create_ui(bContext *C, ARegion *ar, void *userData)
+static uiBlock *wm_operator_ui_create(bContext *C, ARegion *ar, void *userData)
{
- struct { wmOperator *op; int width; int height; } * data = userData;
+ wmOpPopUp *data= userData;
wmOperator *op= data->op;
uiBlock *block;
uiLayout *layout;
@@ -1015,6 +1059,28 @@ static uiBlock *wm_operator_create_ui(bContext *C, ARegion *ar, void *userData)
return block;
}
+static void wm_operator_ui_popup_cancel(void *userData)
+{
+ wmOpPopUp *data= userData;
+ if(data->free_op && data->op) {
+ wmOperator *op= data->op;
+ WM_operator_free(op);
+ }
+
+ MEM_freeN(data);
+}
+
+int WM_operator_ui_popup(bContext *C, wmOperator *op, int width, int height)
+{
+ wmOpPopUp *data= MEM_callocN(sizeof(wmOpPopUp), "WM_operator_ui_popup");
+ data->op= op;
+ data->width= width;
+ data->height= height;
+ data->free_op= TRUE; /* if this runs and gets registered we may want not to free it */
+ uiPupBlockEx(C, wm_operator_ui_create, wm_operator_ui_popup_cancel, data);
+ return OPERATOR_RUNNING_MODAL;
+}
+
/* operator menu needs undo, for redo callback */
int WM_operator_props_popup(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
{
@@ -1034,25 +1100,16 @@ int WM_operator_props_popup(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
int WM_operator_props_dialog_popup(bContext *C, wmOperator *op, int width, int height)
{
- struct { wmOperator *op; int width; int height; } data;
+ wmOpPopUp *data= MEM_callocN(sizeof(wmOpPopUp), "WM_operator_props_dialog_popup");
- data.op= op;
- data.width= width;
- data.height= height;
+ data->op= op;
+ data->width= width;
+ data->height= height;
+ data->free_op= TRUE; /* if this runs and gets registered we may want not to free it */
/* op is not executed until popup OK but is clicked */
- uiPupBlock(C, wm_block_create_dialog, &data);
-
- return OPERATOR_RUNNING_MODAL;
-}
+ uiPupBlockEx(C, wm_block_dialog_create, wm_operator_ui_popup_cancel, data);
-int WM_operator_ui_popup(bContext *C, wmOperator *op, int width, int height)
-{
- struct { wmOperator *op; int width; int height; } data;
- data.op = op;
- data.width = width;
- data.height = height;
- uiPupBlock(C, wm_operator_create_ui, &data);
return OPERATOR_RUNNING_MODAL;
}
@@ -1158,7 +1215,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
MenuType *mt= WM_menutype_find("USERPREF_MT_splash", TRUE);
char url[96];
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
int ver_width, rev_width;
char *version_str = NULL;
char *revision_str = NULL;
@@ -1175,7 +1232,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
BLF_size(style->widgetlabel.uifont_id, style->widgetlabel.points, U.dpi);
ver_width = (int)BLF_width(style->widgetlabel.uifont_id, version_str) + 5;
rev_width = (int)BLF_width(style->widgetlabel.uifont_id, revision_str) + 5;
-#endif //NAN_BUILDINFO
+#endif //WITH_BUILDINFO
block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
uiBlockSetFlag(block, UI_BLOCK_KEEP_OPEN);
@@ -1184,10 +1241,10 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
uiButSetFunc(but, wm_block_splash_close, block, NULL);
uiBlockSetFunc(block, wm_block_splash_refreshmenu, block, NULL);
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
uiDefBut(block, LABEL, 0, version_str, 494-ver_width, 282-24, ver_width, UI_UNIT_Y, NULL, 0, 0, 0, 0, NULL);
uiDefBut(block, LABEL, 0, revision_str, 494-rev_width, 282-36, rev_width, UI_UNIT_Y, NULL, 0, 0, 0, 0, NULL);
-#endif //NAN_BUILDINFO
+#endif //WITH_BUILDINFO
layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 10, 2, 480, 110, style);
@@ -1209,11 +1266,12 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
split = uiLayoutSplit(layout, 0, 0);
col = uiLayoutColumn(split, 0);
uiItemL(col, "Links", ICON_NONE);
- uiItemStringO(col, "Donations", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/blenderorg/blender-foundation/donation-payment/");
- uiItemStringO(col, "Release Log", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-257/");
+ uiItemStringO(col, "Donations", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/blenderorg/blender-foundation/donation-payment");
+ uiItemStringO(col, "Credits", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/credits");
+ uiItemStringO(col, "Release Log", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-259");
uiItemStringO(col, "Manual", ICON_URL, "WM_OT_url_open", "url", "http://wiki.blender.org/index.php/Doc:2.5/Manual");
- uiItemStringO(col, "Blender Website", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/");
- uiItemStringO(col, "User Community", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/community/user-community/"); //
+ uiItemStringO(col, "Blender Website", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org");
+ uiItemStringO(col, "User Community", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/community/user-community");
if(strcmp(STRINGIFY(BLENDER_VERSION_CYCLE), "release")==0) {
BLI_snprintf(url, sizeof(url), "http://www.blender.org/documentation/blender_python_api_%d_%d" STRINGIFY(BLENDER_VERSION_CHAR) "_release", BLENDER_VERSION/100, BLENDER_VERSION%100);
}
@@ -1274,9 +1332,10 @@ static void operator_call_cb(struct bContext *C, void *UNUSED(arg1), void *arg2)
static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items)
{
- wmOperatorType *ot = WM_operatortype_first();
-
- for(; ot; ot= ot->next) {
+ GHashIterator *iter= WM_operatortype_iter();
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
if((ot->flag & OPTYPE_INTERNAL) && (G.f & G_DEBUG) == 0)
continue;
@@ -1300,6 +1359,7 @@ static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), cons
}
}
}
+ BLI_ghashIterator_free(iter);
}
static uiBlock *wm_block_search_menu(bContext *C, ARegion *ar, void *UNUSED(arg_op))
@@ -1476,6 +1536,14 @@ static int wm_open_mainfile_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(
{
const char *openname= G.main->name;
+ if(CTX_wm_window(C) == NULL) {
+ /* in rare cases this could happen, when trying to invoke in background
+ * mode on load for example. Don't use poll for this because exec()
+ * can still run without a window */
+ BKE_report(op->reports, RPT_ERROR, "Context window not set");
+ return OPERATOR_CANCELLED;
+ }
+
/* if possible, get the name of the most recently used .blend file */
if (G.recent_files.first) {
struct RecentFile *recent = G.recent_files.first;
@@ -1526,7 +1594,7 @@ static void WM_OT_open_mainfile(wmOperatorType *ot)
ot->invoke= wm_open_mainfile_invoke;
ot->exec= wm_open_mainfile_exec;
- ot->poll= WM_operator_winactive;
+ /* ommit window poll so this can work in background mode */
WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_BLENDER, FILE_OPENFILE, WM_FILESEL_FILEPATH);
@@ -1576,7 +1644,6 @@ static int wm_link_append_exec(bContext *C, wmOperator *op)
int idcode, totfiles=0;
short flag;
- name[0] = '\0';
RNA_string_get(op->ptr, "filename", name);
RNA_string_get(op->ptr, "directory", dir);
@@ -1645,7 +1712,7 @@ static int wm_link_append_exec(bContext *C, wmOperator *op)
flag_all_listbases_ids(LIB_PRE_EXISTING, 1);
/* here appending/linking starts */
- mainl = BLO_library_append_begin(C, &bh, libname);
+ mainl = BLO_library_append_begin(bmain, &bh, libname);
if(totfiles == 0) {
BLO_library_append_named_part_ex(C, mainl, &bh, name, idcode, flag);
}
@@ -1698,14 +1765,12 @@ static void WM_OT_link_append(wmOperatorType *ot)
ot->flag |= OPTYPE_UNDO;
- WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_LOADLIB, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_DIRECTORY|WM_FILESEL_FILENAME| WM_FILESEL_RELPATH);
+ WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_LOADLIB, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_DIRECTORY|WM_FILESEL_FILENAME| WM_FILESEL_RELPATH|WM_FILESEL_FILES);
RNA_def_boolean(ot->srna, "link", 1, "Link", "Link the objects or datablocks rather than appending");
RNA_def_boolean(ot->srna, "autoselect", 1, "Select", "Select the linked objects");
RNA_def_boolean(ot->srna, "active_layer", 1, "Active Layer", "Put the linked objects on the active layer");
RNA_def_boolean(ot->srna, "instance_groups", 1, "Instance Groups", "Create instances for each group as a DupliGroup");
-
- RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
}
/* *************** recover last session **************** */
@@ -1945,7 +2010,7 @@ static void WM_OT_save_mainfile(wmOperatorType *ot)
ot->invoke= wm_save_mainfile_invoke;
ot->exec= wm_save_as_mainfile_exec;
ot->check= blend_save_check;
- ot->poll= NULL;
+ /* ommit window poll so this can work in background mode */
WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_BLENDER, FILE_SAVE, WM_FILESEL_FILEPATH);
RNA_def_boolean(ot->srna, "compress", 0, "Compress", "Write compressed .blend file");
@@ -1975,6 +2040,7 @@ static int wm_collada_export_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED
static int wm_collada_export_exec(bContext *C, wmOperator *op)
{
char filename[FILE_MAX];
+ int selected;
if(!RNA_property_is_set(op->ptr, "filepath")) {
BKE_report(op->reports, RPT_ERROR, "No filename given");
@@ -1982,7 +2048,8 @@ static int wm_collada_export_exec(bContext *C, wmOperator *op)
}
RNA_string_get(op->ptr, "filepath", filename);
- if(collada_export(CTX_data_scene(C), filename)) {
+ selected = RNA_boolean_get(op->ptr, "selected");
+ if(collada_export(CTX_data_scene(C), filename, selected)) {
return OPERATOR_FINISHED;
}
else {
@@ -2000,6 +2067,8 @@ static void WM_OT_collada_export(wmOperatorType *ot)
ot->poll= WM_operator_winactive;
WM_operator_properties_filesel(ot, FOLDERFILE|COLLADAFILE, FILE_BLENDER, FILE_SAVE, WM_FILESEL_FILEPATH);
+ RNA_def_boolean(ot->srna, "selected", 0, "Export only selected",
+ "Export only selected elements");
}
/* function used for WM_OT_save_mainfile too */
@@ -2013,7 +2082,9 @@ static int wm_collada_import_exec(bContext *C, wmOperator *op)
}
RNA_string_get(op->ptr, "filepath", filename);
- collada_import(C, filename);
+ if(collada_import(C, filename)) return OPERATOR_FINISHED;
+
+ BKE_report(op->reports, RPT_ERROR, "Errors found during parsing COLLADA document. Please see console for error log.");
return OPERATOR_FINISHED;
}
@@ -2290,7 +2361,6 @@ static void gesture_circle_apply(bContext *C, wmOperator *op)
if(op->type->exec)
op->type->exec(C, op);
-
#ifdef GESTURE_MEMORY
circle_select_size= rect->xmax;
#endif
@@ -2511,7 +2581,6 @@ static void gesture_lasso_apply(bContext *C, wmOperator *op)
if(op->type->exec)
op->type->exec(C, op);
-
}
int WM_gesture_lasso_modal(bContext *C, wmOperator *op, wmEvent *event)
@@ -2871,7 +2940,7 @@ static void radial_control_paint_cursor(bContext *C, int x, int y, void *customd
case PROP_FACTOR:
r1= (1 - rc->current_value) * WM_RADIAL_CONTROL_DISPLAY_SIZE;
r2= tex_radius= WM_RADIAL_CONTROL_DISPLAY_SIZE;
- alpha = rc->current_value / 2 + 0.5;
+ alpha = rc->current_value / 2.0f + 0.5f;
break;
case PROP_ANGLE:
r1= r2= tex_radius= WM_RADIAL_CONTROL_DISPLAY_SIZE;
@@ -3125,7 +3194,6 @@ static int radial_control_cancel(bContext *C, wmOperator *op)
static int radial_control_modal(bContext *C, wmOperator *op, wmEvent *event)
{
RadialControl *rc = op->customdata;
- wmWindowManager *wm;
float new_value, dist, zoom[2];
float delta[2], snap, ret = OPERATOR_RUNNING_MODAL;
@@ -3366,26 +3434,73 @@ static void WM_OT_memory_statistics(wmOperatorType *ot)
}
/* ******************************************************* */
-
-/* called on initialize WM_exit() */
-void wm_operatortype_free(void)
+
+static int wm_ndof_sensitivity_exec(bContext *UNUSED(C), wmOperator *op)
{
- wmOperatorType *ot;
-
- for(ot= global_ops.first; ot; ot= ot->next) {
- if(ot->macro.first)
- wm_operatortype_free_macro(ot);
+ const float min = 0.25f, max = 4.f; // TODO: get these from RNA property
+ float change;
+ float sensitivity = U.ndof_sensitivity;
- if(ot->ext.srna) /* python operator, allocs own string */
- MEM_freeN((void *)ot->idname);
+ if(RNA_boolean_get(op->ptr, "fast"))
+ change = 0.5f; // 50% change
+ else
+ change = 0.1f; // 10%
+
+ if(RNA_boolean_get(op->ptr, "decrease")) {
+ sensitivity -= sensitivity * change;
+ if (sensitivity < min)
+ sensitivity = min;
+ }
+ else {
+ sensitivity += sensitivity * change;
+ if (sensitivity > max)
+ sensitivity = max;
+ }
+
+ if (sensitivity != U.ndof_sensitivity) {
+ U.ndof_sensitivity = sensitivity;
}
+
+ return OPERATOR_FINISHED;
+}
+
+static void WM_OT_ndof_sensitivity_change(wmOperatorType *ot)
+{
+ ot->name= "Change NDOF sensitivity";
+ ot->idname= "WM_OT_ndof_sensitivity_change";
+ ot->description="Change NDOF sensitivity";
- BLI_freelistN(&global_ops);
+ ot->exec= wm_ndof_sensitivity_exec;
+
+ RNA_def_boolean(ot->srna, "decrease", 1, "Decrease NDOF sensitivity", "If true then action decreases NDOF sensitivity instead of increasing");
+ RNA_def_boolean(ot->srna, "fast", 0, "Fast NDOF sensitivity change", "If true then sensitivity changes 50%, otherwise 10%");
+}
+
+
+static void operatortype_ghash_free_cb(wmOperatorType *ot)
+{
+ if(ot->macro.first)
+ wm_operatortype_free_macro(ot);
+
+ if(ot->ext.srna) /* python operator, allocs own string */
+ MEM_freeN((void *)ot->idname);
+
+ MEM_freeN(ot);
+}
+
+/* ******************************************************* */
+/* called on initialize WM_exit() */
+void wm_operatortype_free(void)
+{
+ BLI_ghash_free(global_ops_hash, NULL, (GHashValFreeFP)operatortype_ghash_free_cb);
+ global_ops_hash= NULL;
}
/* called on initialize WM_init() */
void wm_operatortype_init(void)
{
+ global_ops_hash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "wm_operatortype_init gh");
+
WM_operatortype_append(WM_OT_window_duplicate);
WM_operatortype_append(WM_OT_read_homefile);
WM_operatortype_append(WM_OT_read_factory_settings);
@@ -3405,6 +3520,7 @@ void wm_operatortype_init(void)
WM_operatortype_append(WM_OT_search_menu);
WM_operatortype_append(WM_OT_call_menu);
WM_operatortype_append(WM_OT_radial_control);
+ WM_operatortype_append(WM_OT_ndof_sensitivity_change);
#if defined(WIN32)
WM_operatortype_append(WM_OT_console_toggle);
#endif
@@ -3517,10 +3633,12 @@ static void gesture_border_modal_keymap(wmKeyConfig *keyconf)
/* items for modal map */
WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, GESTURE_MODAL_CANCEL);
- WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_ANY, KM_ANY, 0, GESTURE_MODAL_CANCEL);
+ /* Note: cancel only on press otherwise you cannot map this to RMB-gesture */
+ WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_PRESS, KM_ANY, 0, GESTURE_MODAL_CANCEL);
WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_BEGIN);
WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_RELEASE, KM_ANY, 0, GESTURE_MODAL_SELECT);
+ WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_RELEASE, KM_ANY, 0, GESTURE_MODAL_SELECT);
#if 0 // Durian guys like this
WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, KM_SHIFT, 0, GESTURE_MODAL_BEGIN);
@@ -3622,11 +3740,12 @@ void wm_window_keymap(wmKeyConfig *keyconf)
/* debug/testing */
WM_keymap_verify_item(keymap, "WM_OT_redraw_timer", TKEY, KM_PRESS, KM_ALT|KM_CTRL, 0);
WM_keymap_verify_item(keymap, "WM_OT_debug_menu", DKEY, KM_PRESS, KM_ALT|KM_CTRL, 0);
- WM_keymap_verify_item(keymap, "WM_OT_search_menu", SPACEKEY, KM_PRESS, 0, 0);
-
- /* Space switching */
+ /* menus that can be accessed anywhere in blender */
+ WM_keymap_verify_item(keymap, "WM_OT_search_menu", SPACEKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_menu(keymap, "USERPREF_MT_ndof_settings", NDOF_BUTTON_MENU, KM_PRESS, 0, 0);
+ /* Space switching */
kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F2KEY, KM_PRESS, KM_SHIFT, 0); /* new in 2.5x, was DXF export */
RNA_string_set(kmi->ptr, "data_path", "area.type");
RNA_string_set(kmi->ptr, "value", "LOGIC_EDITOR");
@@ -3670,6 +3789,23 @@ void wm_window_keymap(wmKeyConfig *keyconf)
kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F12KEY, KM_PRESS, KM_SHIFT, 0);
RNA_string_set(kmi->ptr, "data_path", "area.type");
RNA_string_set(kmi->ptr, "value", "DOPESHEET_EDITOR");
+
+ /* ndof speed */
+ kmi= WM_keymap_add_item(keymap, "WM_OT_ndof_sensitivity_change", NDOF_BUTTON_PLUS, KM_PRESS, 0, 0);
+ RNA_boolean_set(kmi->ptr, "decrease", FALSE);
+ RNA_boolean_set(kmi->ptr, "fast", FALSE);
+
+ kmi= WM_keymap_add_item(keymap, "WM_OT_ndof_sensitivity_change", NDOF_BUTTON_MINUS, KM_PRESS, 0, 0);
+ RNA_boolean_set(kmi->ptr, "decrease", TRUE);
+ RNA_boolean_set(kmi->ptr, "fast", FALSE);
+
+ kmi= WM_keymap_add_item(keymap, "WM_OT_ndof_sensitivity_change", NDOF_BUTTON_PLUS, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "decrease", FALSE);
+ RNA_boolean_set(kmi->ptr, "fast", TRUE);
+
+ kmi= WM_keymap_add_item(keymap, "WM_OT_ndof_sensitivity_change", NDOF_BUTTON_MINUS, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "decrease", TRUE);
+ RNA_boolean_set(kmi->ptr, "fast", TRUE);
gesture_circle_modal_keymap(keyconf);
gesture_border_modal_keymap(keyconf);
diff --git a/source/blender/windowmanager/intern/wm_subwindow.c b/source/blender/windowmanager/intern/wm_subwindow.c
index a87001fb1b4..8ea1f2fdd0a 100644
--- a/source/blender/windowmanager/intern/wm_subwindow.c
+++ b/source/blender/windowmanager/intern/wm_subwindow.c
@@ -378,7 +378,8 @@ unsigned int index_to_framebuffer(int index)
void WM_set_framebuffer_index_color(int index)
{
- cpack(index_to_framebuffer(index));
+ const int col= index_to_framebuffer(index);
+ cpack(col);
}
int WM_framebuffer_to_index(unsigned int col)
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index 9ee39132521..7d6010786d2 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -621,12 +621,12 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr private)
if (!ghostwin) {
// XXX - should be checked, why are we getting an event here, and
// what is it?
-
+ puts("<!> event has no window");
return 1;
} else if (!GHOST_ValidWindow(g_system, ghostwin)) {
// XXX - should be checked, why are we getting an event here, and
// what is it?
-
+ puts("<!> event has invalid window");
return 1;
} else {
win= GHOST_GetWindowUserData(ghostwin);
@@ -673,13 +673,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr private)
GHOST_ScreenToClient(win->ghostwin, wx, wy, &cx, &cy);
win->eventstate->x= cx;
-
-#if defined(__APPLE__) && defined(GHOST_COCOA)
- //Cocoa already uses coordinates with y=0 at bottom
- win->eventstate->y= cy;
-#else
win->eventstate->y= (win->sizey-1) - cy;
-#endif
win->addmousemove= 1; /* enables highlighted buttons */
@@ -796,20 +790,13 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr private)
wmEvent event;
GHOST_TEventDragnDropData *ddd= GHOST_GetEventData(evt);
int cx, cy, wx, wy;
-
/* entering window, update mouse pos */
GHOST_GetCursorPosition(g_system, &wx, &wy);
GHOST_ScreenToClient(win->ghostwin, wx, wy, &cx, &cy);
win->eventstate->x= cx;
-
-#if defined(__APPLE__) && defined(GHOST_COCOA)
- //Cocoa already uses coordinates with y=0 at bottom
- win->eventstate->y= cy;
-#else
win->eventstate->y= (win->sizey-1) - cy;
-#endif
event= *(win->eventstate); /* copy last state, like mouse coords */
@@ -1149,12 +1136,7 @@ void wm_get_cursor_position(wmWindow *win, int *x, int *y)
{
GHOST_GetCursorPosition(g_system, x, y);
GHOST_ScreenToClient(win->ghostwin, *x, *y, x, y);
-#if defined(__APPLE__) && defined(GHOST_COCOA)
- //Cocoa has silly exception that should be fixed at the ghost level
- //(ghost is an allegory for an invisible system specific code)
-#else
*y = (win->sizey-1) - *y;
-#endif
}
/* ******************* exported api ***************** */
@@ -1187,9 +1169,8 @@ void WM_cursor_warp(wmWindow *win, int x, int y)
if (win && win->ghostwin) {
int oldx=x, oldy=y;
-#if !defined(__APPLE__) || !defined(GHOST_COCOA)
y= win->sizey -y - 1;
-#endif
+
GHOST_ClientToScreen(win->ghostwin, x, y, &x, &y);
GHOST_SetCursorPosition(g_system, x, y);
diff --git a/source/blender/windowmanager/wm_event_types.h b/source/blender/windowmanager/wm_event_types.h
index ee080e7c0aa..579f20ca605 100644
--- a/source/blender/windowmanager/wm_event_types.h
+++ b/source/blender/windowmanager/wm_event_types.h
@@ -45,6 +45,7 @@
#define EVT_DATA_GESTURE 2
#define EVT_DATA_TIMER 3
#define EVT_DATA_LISTBASE 4
+#define EVT_DATA_NDOF_MOTION 5
/* tablet active, matches GHOST_TTabletMode */
#define EVT_TABLET_NONE 0
@@ -78,6 +79,56 @@
#define INBETWEEN_MOUSEMOVE 17
+/* NDOF (from SpaceNavigator & friends)
+ These should be kept in sync with GHOST_NDOFManager.h
+ Ordering matters, exact values do not. */
+
+#define NDOF_MOTION 400
+
+enum {
+ // used internally, never sent
+ NDOF_BUTTON_NONE = NDOF_MOTION,
+ // these two are available from any 3Dconnexion device
+ NDOF_BUTTON_MENU,
+ NDOF_BUTTON_FIT,
+ // standard views
+ NDOF_BUTTON_TOP,
+ NDOF_BUTTON_BOTTOM,
+ NDOF_BUTTON_LEFT,
+ NDOF_BUTTON_RIGHT,
+ NDOF_BUTTON_FRONT,
+ NDOF_BUTTON_BACK,
+ // more views
+ NDOF_BUTTON_ISO1,
+ NDOF_BUTTON_ISO2,
+ // 90 degree rotations
+ NDOF_BUTTON_ROLL_CW,
+ NDOF_BUTTON_ROLL_CCW,
+ NDOF_BUTTON_SPIN_CW,
+ NDOF_BUTTON_SPIN_CCW,
+ NDOF_BUTTON_TILT_CW,
+ NDOF_BUTTON_TILT_CCW,
+ // device control
+ NDOF_BUTTON_ROTATE,
+ NDOF_BUTTON_PANZOOM,
+ NDOF_BUTTON_DOMINANT,
+ NDOF_BUTTON_PLUS,
+ NDOF_BUTTON_MINUS,
+ // general-purpose buttons
+ NDOF_BUTTON_1,
+ NDOF_BUTTON_2,
+ NDOF_BUTTON_3,
+ NDOF_BUTTON_4,
+ NDOF_BUTTON_5,
+ NDOF_BUTTON_6,
+ NDOF_BUTTON_7,
+ NDOF_BUTTON_8,
+ NDOF_BUTTON_9,
+ NDOF_BUTTON_10,
+ NDOF_LAST
+ };
+
+
/* SYSTEM : 0x01xx */
#define INPUTCHANGE 0x0103 /* input connected or disconnected */
#define WINDEACTIVATE 0x0104 /* window is deactivated, focus lost */
@@ -240,8 +291,11 @@
/* test whether the event is tweak event */
#define ISTWEAK(event) (event >= EVT_TWEAK_L && event <= EVT_GESTURE)
+ /* test whether the event is a NDOF event */
+#define ISNDOF(event) (event >= NDOF_MOTION && event < NDOF_LAST)
+
/* test whether event type is acceptable as hotkey, excluding modifiers */
-#define ISHOTKEY(event) ((ISKEYBOARD(event) || ISMOUSE(event)) && event!=ESCKEY && !(event>=LEFTCTRLKEY && event<=LEFTSHIFTKEY) && !(event>=UNKNOWNKEY && event<=GRLESSKEY))
+#define ISHOTKEY(event) ((ISKEYBOARD(event) || ISMOUSE(event) || ISNDOF(event)) && event!=ESCKEY && !(event>=LEFTCTRLKEY && event<=LEFTSHIFTKEY) && !(event>=UNKNOWNKEY && event<=GRLESSKEY))
/* **************** BLENDER GESTURE EVENTS (0x5000) **************** */
diff --git a/source/blenderplayer/CMakeLists.txt b/source/blenderplayer/CMakeLists.txt
index 901aaea3eca..ddfdfc97bdc 100644
--- a/source/blenderplayer/CMakeLists.txt
+++ b/source/blenderplayer/CMakeLists.txt
@@ -121,6 +121,7 @@ endif()
bf_intern_guardedalloc
bf_intern_memutil
bf_python_ext
+ bf_python_mathutils
bf_blenlib
bf_imbuf_cineon
bf_imbuf_openexr
@@ -139,6 +140,10 @@ endif()
bf_intern_mikktspace
)
+ if(WITH_MOD_CLOTH_ELTOPO)
+ list(APPEND BLENDER_SORTED_LIBS extern_eltopo)
+ endif()
+
if(WITH_BUILTIN_GLEW)
list(APPEND BLENDER_SORTED_LIBS extern_glew)
endif()
@@ -183,6 +188,12 @@ endif()
message(STATUS "Player Skipping: (${REM_MSG})")
endif()
target_link_libraries(blenderplayer ${BLENDER_SORTED_LIBS})
+
+ unset(SEARCHLIB)
+ unset(SORTLIB)
+ unset(REMLIB)
+ unset(REM_MSG)
+
# else()
# target_link_libraries(blenderplayer ${BLENDER_LINK_LIBS})
# endif()
diff --git a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
index 15c3b2a4743..0610cf2fdbe 100644
--- a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
+++ b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt
@@ -29,12 +29,12 @@ remove_strict_flags()
set(INC
.
- ..
+ ..
+ ../../blender/blenkernel
+ ../../blender/blenloader
+ ../../blender/makesdna
+ ../../blender/makesrna
../../../intern/guardedalloc
- ../../../source/blender/makesdna
- ../../../source/blender/blenloader
- ../../../source/blender/makesrna
- ../../../source/blender/blenkernel
)
set(INC_SYS
@@ -49,15 +49,16 @@ if(WITH_BUILDINFO)
list(APPEND SRC
../../creator/buildinfo.c
)
- add_definitions(-DBUILD_DATE)
+ add_definitions(-DBUILD_DATE="\"\""
+ -DBUILD_TIME="\"\""
+ -DBUILD_REV="\"\""
+ -DBUILD_PLATFORM="\"\""
+ -DBUILD_TYPE="\"\""
+ )
endif()
if(WITH_GAMEENGINE)
add_definitions(-DWITH_GAMEENGINE)
endif()
-if(WITH_INTERNATIONAL)
- add_definitions(-DWITH_FREETYPE2)
-endif()
-
blender_add_lib_nolist(blenkernel_blc "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c
index cf2481bc982..56ebb71a7ac 100644
--- a/source/blenderplayer/bad_level_call_stubs/stubs.c
+++ b/source/blenderplayer/bad_level_call_stubs/stubs.c
@@ -51,6 +51,7 @@ struct Curve;
struct EditBone;
struct EditFace;
struct EditMesh;
+struct EnvMap;
struct ID;
struct FCurve;
struct ImBuf;
@@ -68,6 +69,7 @@ struct Mesh;
struct ModifierData;
struct MultiresModifierData;
struct NodeBlurData;
+struct Nurb;
struct Object;
struct PBVHNode;
struct Render;
@@ -135,7 +137,6 @@ int RE_RenderInProgress(struct Render *re){return 0;}
struct Scene *RE_GetScene(struct Render *re){return (struct Scene *) NULL;}
void RE_Database_Free(struct Render *re){}
void RE_FreeRender(struct Render *re){}
-void RE_shade_external(struct Render *re, struct ShadeInput *shi, struct ShadeResult *shr){}
void RE_DataBase_GetView(struct Render *re, float mat[][4]){}
int externtex(struct MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *tb, float *ta){return 0;}
float texture_value_blend(float tex, float out, float fact, float facg, int blendtype, int flip){return 0.0f;}
@@ -145,6 +146,7 @@ double elbeemEstimateMemreq(int res, float sx, float sy, float sz, int refine, c
struct Render *RE_NewRender(const char *name){return (struct Render*) NULL;}
void RE_SwapResult(struct Render *re, struct RenderResult **rr){}
void RE_BlenderFrame(struct Render *re, struct Scene *scene, int frame){}
+int RE_WriteEnvmapResult(struct ReportList *reports, struct Scene *scene, struct EnvMap *env, const char *relpath, int imtype, float layout[12]) { return 0; }
/* rna */
float *give_cursor(struct Scene *scene, struct View3D *v3d){return (float *) NULL;}
@@ -182,6 +184,7 @@ void ED_area_headerprint(struct ScrArea *sa, char *str){}
struct EditBone *ED_armature_bone_get_mirrored(struct ListBase *edbo, struct EditBone *ebo){return (struct EditBone *) NULL;}
struct EditBone *ED_armature_edit_bone_add(struct bArmature *arm, char *name){return (struct EditBone*) NULL;}
+struct Object *ED_object_pose_armature(struct Object *ob){ return (struct Object *)NULL; }
struct ListBase *get_active_constraints (struct Object *ob){return (struct ListBase *) NULL;}
struct ListBase *get_constraint_lb(struct Object *ob, struct bConstraint *con, struct bPoseChannel **pchan_r){return (struct ListBase *) NULL;}
int ED_pose_channel_in_IK_chain(struct Object *ob, struct bPoseChannel *pchan){return 0;}
@@ -208,10 +211,12 @@ struct wmKeyMap *WM_keymap_list_find(struct ListBase *lb, char *idname, int spac
struct wmKeyConfig *WM_keyconfig_new(struct wmWindowManager *wm, char *idname){return (struct wmKeyConfig *) NULL;}
struct wmKeyConfig *WM_keyconfig_new_user(struct wmWindowManager *wm, char *idname){return (struct wmKeyConfig *) NULL;}
void WM_keyconfig_remove(struct wmWindowManager *wm, char *idname){}
+void WM_keyconfig_set_active(struct wmWindowManager *wm, const char *idname) {}
void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi){}
void WM_keymap_restore_to_default(struct wmKeyMap *keymap){}
void WM_keymap_restore_item_to_default(struct bContext *C, struct wmKeyMap *keymap, struct wmKeyMapItem *kmi){}
void WM_keymap_properties_reset(struct wmKeyMapItem *kmi){}
+void WM_keyconfig_update_tag(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi) {}
int WM_keymap_user_init(struct wmWindowManager *wm, struct wmKeyMap *keymap) {return 0;}
int WM_keymap_item_compare(struct wmKeyMapItem *k1, struct wmKeyMapItem *k2){return 0;}
@@ -226,6 +231,7 @@ int ANIM_scene_get_keyingset_index(struct Scene *scene, struct KeyingSet *ks){re
struct ListBase builtin_keyingsets;
void ANIM_keyingset_info_register (struct KeyingSetInfo *ksi){}
void ANIM_keyingset_info_unregister (const struct bContext *C, struct KeyingSetInfo *ksi){}
+short ANIM_validate_keyingset (struct bContext *C, struct ListBase *dsources, struct KeyingSet *ks){return 0;}
short ANIM_add_driver(struct ID *id, const char rna_path[], int array_index, short flag, int type){return 0;}
short ANIM_remove_driver (struct ID *id, const char rna_path[], int array_index, short flag){return 0;}
void ED_space_image_release_buffer(struct SpaceImage *sima, void *lock){}
@@ -241,6 +247,7 @@ void WM_cursor_wait (int val) {}
void ED_node_texture_default(struct Tex *tx){}
void ED_node_changed_update(struct bContext *C, struct bNode *node){}
void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node){}
+void ED_node_tree_update(struct SpaceNode *snode, struct Scene *scene){}
void ED_view3d_scene_layers_update(struct Main *bmain, struct Scene *scene){}
int ED_view3d_scene_layer_set(int lay, const int *values){return 0;}
void ED_view3d_quadview_update(struct ScrArea *sa, struct ARegion *ar){}
@@ -292,7 +299,8 @@ float ED_rollBoneToVector(struct EditBone *bone, float new_up_axis[3]){return 0.
void ED_space_image_size(struct SpaceImage *sima, int *width, int *height){}
struct ListBase *ED_curve_editnurbs(struct Curve *cu){return NULL;}
-void free_curve_editNurb (struct Curve *cu){};
+void free_curve_editNurb (struct Curve *cu){}
+void ED_nurb_set_spline_type(struct Nurb *nu, int type){}
void EM_selectmode_set(struct EditMesh *em){}
int EM_texFaceCheck(struct EditMesh *em){return 0;}
@@ -377,10 +385,11 @@ void RE_AcquireResultImage(struct Render *re, struct RenderResult *rr){}
void RE_ReleaseResult(struct Render *re){}
void RE_ReleaseResultImage(struct Render *re){}
int RE_engine_test_break(struct RenderEngine *engine){return 0;}
+void RE_engine_report(struct RenderEngine *engine, int type, const char *msg) {}
/* python */
struct wmOperatorType *WM_operatortype_find(const char *idname, int quiet){return (struct wmOperatorType *) NULL;}
-struct wmOperatorType *WM_operatortype_first(){return (struct wmOperatorType *) NULL;}
+struct GHashIterator *WM_operatortype_iter(){return (struct GHashIterator *) NULL;}
struct wmOperatorType *WM_operatortype_exists(const char *idname){return (struct wmOperatorType *) NULL;}
struct wmOperatorTypeMacro *WM_operatortype_macro_define(struct wmOperatorType *ot, const char *idname){return (struct wmOperatorTypeMacro *) NULL;}
int WM_operator_call_py(struct bContext *C, struct wmOperatorType *ot, int context, struct PointerRNA *properties, struct ReportList *reports){return 0;}
diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index 9c9f0d0905c..243f51f04db 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -25,9 +25,6 @@
#
# ***** END GPL LICENSE BLOCK *****
-# So BUILDINFO and BLENDERPATH strings are automatically quoted
-cmake_policy(SET CMP0005 NEW)
-
setup_libdirs()
blender_include_dirs(
@@ -97,7 +94,7 @@ endif()
if(WITH_BINRELOC)
add_definitions(-DWITH_BINRELOC)
- blender_include_dirs(${BINRELOC_INC})
+ blender_include_dirs(${BINRELOC_INCLUDE_DIRS})
endif()
# Setup the exe sources and buildinfo
@@ -136,6 +133,7 @@ if(WIN32 AND NOT UNIX)
endif()
if(WITH_BUILDINFO)
+ add_definitions(-DWITH_BUILDINFO)
# --------------------------------------------------------------------------
# These defines could all be moved into the header below
string(REPLACE " " "\ " BUILDINFO_CFLAGS "${CMAKE_C_FLAGS}")
@@ -231,7 +229,17 @@ else()
set(TARGETDIR ${EXECUTABLE_OUTPUT_PATH})
endif()
-# install target
+
+# -----------------------------------------------------------------------------
+# Install Targets
+
+set(BLENDER_TEXT_FILES
+ ${CMAKE_SOURCE_DIR}/release/text/GPL-license.txt
+ ${CMAKE_SOURCE_DIR}/release/text/Python-license.txt
+ ${CMAKE_SOURCE_DIR}/release/text/copyright.txt
+ ${CMAKE_SOURCE_DIR}/release/text/readme.html
+)
+
if(UNIX AND NOT APPLE)
if(WITH_INSTALL_PORTABLE)
@@ -274,9 +282,8 @@ if(UNIX AND NOT APPLE)
)
install(
- DIRECTORY ${CMAKE_SOURCE_DIR}/release/text
+ FILES ${BLENDER_TEXT_FILES}
DESTINATION ${TARGETDIR}
- PATTERN ".svn" EXCLUDE
)
else()
@@ -332,21 +339,20 @@ if(UNIX AND NOT APPLE)
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1
)
install(
- DIRECTORY ${CMAKE_SOURCE_DIR}/release/text
+ FILES ${BLENDER_TEXT_FILES}
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/blender
- PATTERN ".svn" EXCLUDE
)
endif()
install(
FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
- DESTINATION ${TARGETDIR_VER}/config
+ DESTINATION ${TARGETDIR_VER}
)
if(WITH_INTERNATIONAL)
install(
FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.Blanguages
- DESTINATION ${TARGETDIR_VER}/config
+ DESTINATION ${TARGETDIR_VER}
)
install(
@@ -409,20 +415,19 @@ elseif(WIN32)
)
install( # same as linux!, deduplicate
- DIRECTORY ${CMAKE_SOURCE_DIR}/release/text
+ FILES ${BLENDER_TEXT_FILES}
DESTINATION ${TARGETDIR}
- PATTERN ".svn" EXCLUDE
)
install( # same as linux!, deduplicate
FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
- DESTINATION ${TARGETDIR_VER}/config
+ DESTINATION ${TARGETDIR_VER}
)
if(WITH_INTERNATIONAL) # same as linux!, deduplicate
install(
FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.Blanguages
- DESTINATION ${TARGETDIR_VER}/config
+ DESTINATION ${TARGETDIR_VER}
)
install(
DIRECTORY ${CMAKE_SOURCE_DIR}/release/bin/.blender/locale
@@ -540,11 +545,11 @@ elseif(WIN32)
if(WITH_CODEC_FFMPEG)
install(
FILES
- ${LIBDIR}/ffmpeg/lib/avcodec-52.dll
- ${LIBDIR}/ffmpeg/lib/avformat-52.dll
- ${LIBDIR}/ffmpeg/lib/avdevice-52.dll
- ${LIBDIR}/ffmpeg/lib/avutil-50.dll
- ${LIBDIR}/ffmpeg/lib/swscale-0.dll
+ ${LIBDIR}/ffmpeg/lib/avcodec-53.dll
+ ${LIBDIR}/ffmpeg/lib/avformat-53.dll
+ ${LIBDIR}/ffmpeg/lib/avdevice-53.dll
+ ${LIBDIR}/ffmpeg/lib/avutil-51.dll
+ ${LIBDIR}/ffmpeg/lib/swscale-2.dll
DESTINATION ${TARGETDIR}
)
@@ -630,9 +635,9 @@ elseif(APPLE)
endmacro()
# install release and app files
- install_dir(
- ${CMAKE_SOURCE_DIR}/release/text/
- \${TARGETDIR}
+ install(
+ FILES ${BLENDER_TEXT_FILES}
+ DESTINATION ${TARGETDIR}
)
install(
@@ -647,7 +652,7 @@ elseif(APPLE)
install(
FILES ${CMAKE_SOURCE_DIR}/release/bin/.blender/.bfont.ttf
- DESTINATION ${TARGETDIR_VER}/datafiles
+ DESTINATION ${TARGETDIR_VER}
)
# localization
@@ -697,6 +702,12 @@ elseif(APPLE)
endif()
endif()
+unset(BLENDER_TEXT_FILES)
+
+
+# -----------------------------------------------------------------------------
+# Setup link libs
+
add_dependencies(blender makesdna)
get_property(BLENDER_LINK_LIBS GLOBAL PROPERTY BLENDER_LINK_LIBS)
@@ -707,7 +718,6 @@ if(WITH_MOD_FLUID)
list(APPEND BLENDER_LINK_LIBS bf_intern_elbeem)
endif()
-
#if(UNIX)
# Sort libraries
set(BLENDER_SORTED_LIBS
@@ -755,6 +765,7 @@ endif()
bf_intern_opennl
bf_python
bf_python_ext
+ bf_python_mathutils
bf_ikplugin
bf_modifiers
bf_blenkernel
@@ -852,6 +863,12 @@ endif()
message(STATUS "Blender Skipping: (${REM_MSG})")
endif()
target_link_libraries(blender ${BLENDER_SORTED_LIBS})
+
+ unset(SEARCHLIB)
+ unset(SORTLIB)
+ unset(REMLIB)
+ unset(REM_MSG)
+
#else()
# target_link_libraries(blender ${BLENDER_LINK_LIBS})
#endif()
diff --git a/source/creator/SConscript b/source/creator/SConscript
index 79e03c8dddc..80428ba7bb6 100644
--- a/source/creator/SConscript
+++ b/source/creator/SConscript
@@ -1,48 +1,3 @@
#!/usr/bin/python
-Import ('env')
-import os
-sources = 'creator.c'
-
-incs = '#/intern/guardedalloc ../blender/blenlib ../blender/blenkernel'
-incs += ' ../blender/editors/include ../blender/blenloader ../blender/imbuf'
-incs += ' ../blender/renderconverter ../blender/render/extern/include ../blender/windowmanager'
-incs += ' ../blender/makesdna ../blender/makesrna'
-incs += ' ../gameengine/BlenderRoutines #/extern/glew/include ../blender/gpu'
-incs += ' ' + env['BF_OPENGL_INC']
-
-defs = []
-if env['WITH_BF_QUICKTIME']:
- incs += ' ' + env['BF_QUICKTIME_INC']
- defs.append('WITH_QUICKTIME')
-
-if env['WITH_BF_BINRELOC']:
- incs += ' ../../extern/binreloc/include'
- defs.append('WITH_BINRELOC')
-
-if env['WITH_BF_OPENEXR']:
- defs.append('WITH_OPENEXR')
-
-if env['WITH_BF_TIFF']:
- defs.append('WITH_TIFF')
-
-if not env['WITH_BF_SDL']:
- defs.append('DISABLE_SDL')
-
-if env['WITH_BF_PYTHON']:
- incs += ' ../blender/python'
- defs.append('WITH_PYTHON')
- if env['BF_DEBUG']:
- defs.append('_DEBUG')
-
-if env['BF_BUILDINFO']:
- defs.append('BUILD_DATE')
- defs.append('NAN_BUILDINFO')
-
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
- incs += ' ' + env['BF_PTHREADS_INC']
-
-if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
- incs += ' ' + env['BF_PTHREADS_INC']
-
-env.BlenderLib ( libname = 'bf_creator', sources = Split(sources), includes = Split(incs), defines = defs, libtype='core', priority = 0 )
+# dummy, code has been moved to Blender.creator()
diff --git a/source/creator/buildinfo.c b/source/creator/buildinfo.c
index 48a4352b11b..3853d6ca693 100644
--- a/source/creator/buildinfo.c
+++ b/source/creator/buildinfo.c
@@ -33,28 +33,24 @@
#ifdef WITH_BUILDINFO_HEADER
-#include "buildinfo.h"
+# include "buildinfo.h"
#endif
#ifdef BUILD_DATE
-/* copied from BLI_utildefines.h */
-#define STRINGIFY_ARG(x) #x
-#define STRINGIFY(x) STRINGIFY_ARG(x)
-
/* currently only these are defined in the header */
-char build_date[]= STRINGIFY(BUILD_DATE);
-char build_time[]= STRINGIFY(BUILD_TIME);
-char build_rev[]= STRINGIFY(BUILD_REV);
+char build_date[]= BUILD_DATE;
+char build_time[]= BUILD_TIME;
+char build_rev[]= BUILD_REV;
-char build_platform[]= STRINGIFY(BUILD_PLATFORM);
-char build_type[]= STRINGIFY(BUILD_TYPE);
+char build_platform[]= BUILD_PLATFORM;
+char build_type[]= BUILD_TYPE;
#ifdef BUILD_CFLAGS
-char build_cflags[]= STRINGIFY(BUILD_CFLAGS);
-char build_cxxflags[]= STRINGIFY(BUILD_CXXFLAGS);
-char build_linkflags[]= STRINGIFY(BUILD_LINKFLAGS);
-char build_system[]= STRINGIFY(BUILD_SYSTEM);
+char build_cflags[]= BUILD_CFLAGS;
+char build_cxxflags[]= BUILD_CXXFLAGS;
+char build_linkflags[]= BUILD_LINKFLAGS;
+char build_system[]= BUILD_SYSTEM;
#else
char build_cflags[]= "unmaintained buildsystem alert!";
char build_cxxflags[]= "unmaintained buildsystem alert!";
diff --git a/source/creator/creator.c b/source/creator/creator.c
index fe9bd57d035..9b2cfb08382 100644
--- a/source/creator/creator.c
+++ b/source/creator/creator.c
@@ -64,6 +64,7 @@
#include "BLI_threads.h"
#include "BLI_scanfill.h" // for BLI_setErrorCallBack, TODO, move elsewhere
#include "BLI_utildefines.h"
+#include "BLI_callbacks.h"
#include "DNA_ID.h"
#include "DNA_scene_types.h"
@@ -181,20 +182,6 @@ static void blender_esc(int sig)
}
#endif
-/* buildinfo can have quotes */
-#ifdef BUILD_DATE
-static void strip_quotes(char *str)
-{
- if(str[0] == '"') {
- int len= strlen(str) - 1;
- memmove(str, str+1, len);
- if(str[len-1] == '"') {
- str[len-1]= '\0';
- }
- }
-}
-#endif
-
static int print_version(int UNUSED(argc), const char **UNUSED(argv), void *UNUSED(data))
{
printf (BLEND_VERSION_STRING_FMT);
@@ -368,9 +355,9 @@ static int debug_mode(int UNUSED(argc), const char **UNUSED(argv), void *data)
printf(BLEND_VERSION_STRING_FMT);
MEM_set_memory_debug();
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
printf("Build: %s %s %s %s\n", build_date, build_time, build_platform, build_type);
-#endif // NAN_BUILDINFO
+#endif // WITH_BUILDINFO
BLI_argsPrint(data);
return 0;
@@ -433,9 +420,12 @@ static int playback_mode(int UNUSED(argc), const char **UNUSED(argv), void *UNUS
{
/* not if -b was given first */
if (G.background == 0) {
-
-// XXX playanim(argc, argv); /* not the same argc and argv as before */
+#if 0 /* TODO, bring player back? */
+ playanim(argc, argv); /* not the same argc and argv as before */
+#else
+ fprintf(stderr, "Playback mode not supported in blender 2.5x\n");
exit(0);
+#endif
}
return -2;
@@ -538,7 +528,7 @@ static int set_output(int argc, const char **argv, void *data)
if (argc >= 1){
if (CTX_data_scene(C)) {
Scene *scene= CTX_data_scene(C);
- BLI_strncpy(scene->r.pic, argv[1], FILE_MAXDIR);
+ BLI_strncpy(scene->r.pic, argv[1], sizeof(scene->r.pic));
} else {
printf("\nError: no blend loaded. cannot use '-o / --render-output'.\n");
}
@@ -767,7 +757,9 @@ static int render_frame(int argc, const char **argv, void *data)
frame = MIN2(MAXFRAME, MAX2(MINAFRAME, frame));
- RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, frame, frame, scene->r.frame_step, &reports);
+ RE_SetReports(re, &reports);
+ RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, frame, frame, scene->r.frame_step);
+ RE_SetReports(re, NULL);
return 1;
} else {
printf("\nError: frame number must follow '-f / --render-frame'.\n");
@@ -788,7 +780,9 @@ static int render_animation(int UNUSED(argc), const char **UNUSED(argv), void *d
Render *re= RE_NewRender(scene->id.name);
ReportList reports;
BKE_reports_init(&reports, RPT_PRINT);
- RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, scene->r.sfra, scene->r.efra, scene->r.frame_step, &reports);
+ RE_SetReports(re, &reports);
+ RE_BlenderAnim(re, bmain, scene, NULL, scene->lay, scene->r.sfra, scene->r.efra, scene->r.frame_step);
+ RE_SetReports(re, NULL);
} else {
printf("\nError: no blend loaded. cannot use '-a'.\n");
}
@@ -990,6 +984,7 @@ static int load_file(int UNUSED(argc), const char **argv, void *data)
#ifdef WITH_PYTHON
/* run any texts that were loaded in and flagged as modules */
BPY_driver_reset();
+ BPY_app_handlers_reset();
BPY_modules_load_user(C);
#endif
@@ -1128,7 +1123,8 @@ static void setupArguments(bContext *C, bArgs *ba, SYS_SystemHandle *syshandle)
#ifdef WITH_PYTHON_MODULE
/* allow python module to call main */
-#define main main_python
+#define main main_python_enter
+static void *evil_C= NULL;
#endif
int main(int argc, const char **argv)
@@ -1139,6 +1135,7 @@ int main(int argc, const char **argv)
#ifdef WITH_PYTHON_MODULE
#undef main
+ evil_C= C;
#endif
#ifdef WITH_BINRELOC
@@ -1170,18 +1167,6 @@ int main(int argc, const char **argv)
// need this.
BLI_where_am_i(bprogname, sizeof(bprogname), argv[0]);
-
-#ifdef BUILD_DATE
- strip_quotes(build_date);
- strip_quotes(build_time);
- strip_quotes(build_rev);
- strip_quotes(build_platform);
- strip_quotes(build_type);
- strip_quotes(build_cflags);
- strip_quotes(build_cxxflags);
- strip_quotes(build_linkflags);
- strip_quotes(build_system);
-#endif
BLI_threadapi_init();
@@ -1199,6 +1184,8 @@ int main(int argc, const char **argv)
IMB_init();
+ BLI_cb_init();
+
#ifdef WITH_GAMEENGINE
syshandle = SYS_GetSystem();
#else
@@ -1305,6 +1292,14 @@ int main(int argc, const char **argv)
return 0;
} /* end of int main(argc,argv) */
+#ifdef WITH_PYTHON_MODULE
+void main_python_exit(void)
+{
+ WM_exit((bContext *)evil_C);
+ evil_C= NULL;
+}
+#endif
+
static void error_cb(const char *err)
{
diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
index cac801c80ef..40f1701e44a 100644
--- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
+++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
@@ -95,8 +95,6 @@ extern float BKE_screen_view3d_zoom_to_fac(float camzoom);
#include "BKE_ipo.h"
/***/
-#include "AUD_C-API.h"
-
//XXX #include "BSE_headerbuttons.h"
#include "BKE_context.h"
#include "../../blender/windowmanager/WM_types.h"
@@ -106,6 +104,11 @@ extern float BKE_screen_view3d_zoom_to_fac(float camzoom);
}
#endif
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+# include "AUD_I3DDevice.h"
+# include "AUD_IDevice.h"
+#endif
static BlendFileData *load_game_data(char *filename)
{
@@ -184,6 +187,7 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c
#endif
bool novertexarrays = (SYS_GetCommandLineInt(syshandle, "novertexarrays", 0) != 0);
bool mouse_state = startscene->gm.flag & GAME_SHOW_MOUSE;
+ bool restrictAnimFPS = startscene->gm.flag & GAME_RESTRICT_ANIM_UPDATES;
if(animation_record) usefixed= true; /* override since you's always want fixed time for sim recording */
@@ -231,9 +235,9 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c
ketsjiengine->SetCanvas(canvas);
ketsjiengine->SetRenderTools(rendertools);
ketsjiengine->SetRasterizer(rasterizer);
- ketsjiengine->SetNetworkDevice(networkdevice);
ketsjiengine->SetUseFixedTime(usefixed);
ketsjiengine->SetTimingDisplay(frameRate, profile, properties);
+ ketsjiengine->SetRestrictAnimationFPS(restrictAnimFPS);
#ifdef WITH_PYTHON
CValue::SetDeprecationWarnings(nodepwarnings);
@@ -258,7 +262,7 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c
draw_letterbox = 1;
}
else {
- camzoom = BKE_screen_view3d_zoom_to_fac(rv3d->camzoom)*4.0f;
+ camzoom = 1.0 / BKE_screen_view3d_zoom_to_fac(rv3d->camzoom);
}
}
else {
@@ -392,9 +396,13 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c
ketsjiengine->InitDome(scene->gm.dome.res, scene->gm.dome.mode, scene->gm.dome.angle, scene->gm.dome.resbuf, scene->gm.dome.tilt, scene->gm.dome.warptext);
// initialize 3D Audio Settings
- AUD_setSpeedOfSound(scene->audio.speed_of_sound);
- AUD_setDopplerFactor(scene->audio.doppler_factor);
- AUD_setDistanceModel(AUD_DistanceModel(scene->audio.distance_model));
+ AUD_I3DDevice* dev = AUD_get3DDevice();
+ if(dev)
+ {
+ dev->setSpeedOfSound(scene->audio.speed_of_sound);
+ dev->setDopplerFactor(scene->audio.doppler_factor);
+ dev->setDistanceModel(AUD_DistanceModel(scene->audio.distance_model));
+ }
// from see blender.c:
// FIXME: this version patching should really be part of the file-reading code,
@@ -579,7 +587,10 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c
{
delete canvas;
canvas = NULL;
- }
+ }
+
+ // stop all remaining playing sounds
+ AUD_getDevice()->stopAll();
} while (exitrequested == KX_EXIT_REQUEST_RESTART_GAME || exitrequested == KX_EXIT_REQUEST_START_OTHER_GAME);
diff --git a/source/gameengine/BlenderRoutines/CMakeLists.txt b/source/gameengine/BlenderRoutines/CMakeLists.txt
index a67e2eb7038..5a7304765e4 100644
--- a/source/gameengine/BlenderRoutines/CMakeLists.txt
+++ b/source/gameengine/BlenderRoutines/CMakeLists.txt
@@ -1,34 +1,33 @@
set(INC
.
- ../../../intern/string
+ ../Converter
+ ../Expressions
+ ../GameLogic
+ ../Ketsji
+ ../Network
+ ../Network/LoopBackNetwork
+ ../Physics/Bullet
+ ../Physics/common
+ ../Rasterizer
+ ../Rasterizer/RAS_OpenGLRasterizer
+ ../SceneGraph
+ ../../blender
+ ../../blender/blenfont
+ ../../blender/blenkernel
+ ../../blender/blenlib
+ ../../blender/blenloader
+ ../../blender/editors/include
+ ../../blender/gpu
+ ../../blender/imbuf
+ ../../blender/makesdna
+ ../../blender/makesrna
+ ../../blender/windowmanager
+ ../../../extern/bullet2/src
../../../intern/container
../../../intern/guardedalloc
- ../../../intern/audaspace/intern
- ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../source/gameengine/Converter
- ../../../source/blender/imbuf
../../../intern/moto/include
- ../../../source/gameengine/Ketsji
- ../../../source/blender/blenlib
- ../../../source/blender/blenkernel
- ../../../source/blender/blenfont
- ../../../source/blender/editors/include
- ../../../source/blender/windowmanager
- ../../../source/blender
- ../../../source/blender/makesdna
- ../../../source/blender/makesrna
- ../../../source/gameengine/Rasterizer
- ../../../source/gameengine/GameLogic
- ../../../source/gameengine/Expressions
- ../../../source/gameengine/Network
- ../../../source/gameengine/SceneGraph
- ../../../source/gameengine/Physics/common
- ../../../source/gameengine/Physics/Bullet
- ../../../source/gameengine/Network/LoopBackNetwork
- ../../../source/blender/blenloader
- ../../../source/blender/gpu
- ../../../extern/bullet2/src
+ ../../../intern/string
${GLEW_INCLUDE_PATH}
)
@@ -59,6 +58,13 @@ set(SRC
add_definitions(-DGLEW_STATIC)
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
if(WITH_CODEC_FFMPEG)
add_definitions(-DWITH_FFMPEG)
endif()
diff --git a/source/gameengine/BlenderRoutines/KX_BlenderInputDevice.h b/source/gameengine/BlenderRoutines/KX_BlenderInputDevice.h
index 67a2279d824..7e9a57a0fe7 100644
--- a/source/gameengine/BlenderRoutines/KX_BlenderInputDevice.h
+++ b/source/gameengine/BlenderRoutines/KX_BlenderInputDevice.h
@@ -51,197 +51,195 @@
/**
Base Class for Blender specific inputdevices. Blender specific inputdevices are used when the gameengine is running in embedded mode instead of standalone mode.
*/
-class BL_BlenderInputDevice : public SCA_IInputDevice
+class BL_BlenderInputDevice : public SCA_IInputDevice
{
// this map is Blender specific: a conversion between blender and ketsji enums
std::map<int,KX_EnumInputs> m_reverseKeyTranslateTable;
public:
- BL_BlenderInputDevice()
- {
-
- /* The reverse table. In order to not confuse ourselves, we */
- /* immediately convert all events that come in to KX codes. */
- m_reverseKeyTranslateTable[LEFTMOUSE ] = KX_LEFTMOUSE ;
- m_reverseKeyTranslateTable[MIDDLEMOUSE ] = KX_MIDDLEMOUSE ;
- m_reverseKeyTranslateTable[RIGHTMOUSE ] = KX_RIGHTMOUSE ;
- m_reverseKeyTranslateTable[WHEELUPMOUSE ] = KX_WHEELUPMOUSE ;
- m_reverseKeyTranslateTable[WHEELDOWNMOUSE ] = KX_WHEELDOWNMOUSE ;
- m_reverseKeyTranslateTable[MOUSEX ] = KX_MOUSEX ;
- m_reverseKeyTranslateTable[MOUSEY ] = KX_MOUSEY ;
-
- // TIMERS
-
- m_reverseKeyTranslateTable[TIMER0 ] = KX_TIMER0 ;
- m_reverseKeyTranslateTable[TIMER1 ] = KX_TIMER1 ;
- m_reverseKeyTranslateTable[TIMER2 ] = KX_TIMER2 ;
-
- // SYSTEM
-#if 0
- /* **** XXX **** */
- m_reverseKeyTranslateTable[KEYBD ] = KX_KEYBD ;
- m_reverseKeyTranslateTable[RAWKEYBD ] = KX_RAWKEYBD ;
- m_reverseKeyTranslateTable[REDRAW ] = KX_REDRAW ;
- m_reverseKeyTranslateTable[INPUTCHANGE ] = KX_INPUTCHANGE ;
- m_reverseKeyTranslateTable[QFULL ] = KX_QFULL ;
- m_reverseKeyTranslateTable[WINFREEZE ] = KX_WINFREEZE ;
- m_reverseKeyTranslateTable[WINTHAW ] = KX_WINTHAW ;
- m_reverseKeyTranslateTable[WINCLOSE ] = KX_WINCLOSE ;
- m_reverseKeyTranslateTable[WINQUIT ] = KX_WINQUIT ;
- m_reverseKeyTranslateTable[Q_FIRSTTIME ] = KX_Q_FIRSTTIME ;
- /* **** XXX **** */
-#endif
- // standard keyboard
-
- m_reverseKeyTranslateTable[AKEY ] = KX_AKEY ;
- m_reverseKeyTranslateTable[BKEY ] = KX_BKEY ;
- m_reverseKeyTranslateTable[CKEY ] = KX_CKEY ;
- m_reverseKeyTranslateTable[DKEY ] = KX_DKEY ;
- m_reverseKeyTranslateTable[EKEY ] = KX_EKEY ;
- m_reverseKeyTranslateTable[FKEY ] = KX_FKEY ;
- m_reverseKeyTranslateTable[GKEY ] = KX_GKEY ;
-//XXX clean up
+ BL_BlenderInputDevice()
+ {
+
+ /* The reverse table. In order to not confuse ourselves, we */
+ /* immediately convert all events that come in to KX codes. */
+ m_reverseKeyTranslateTable[LEFTMOUSE ] = KX_LEFTMOUSE;
+ m_reverseKeyTranslateTable[MIDDLEMOUSE ] = KX_MIDDLEMOUSE;
+ m_reverseKeyTranslateTable[RIGHTMOUSE ] = KX_RIGHTMOUSE;
+ m_reverseKeyTranslateTable[WHEELUPMOUSE ] = KX_WHEELUPMOUSE;
+ m_reverseKeyTranslateTable[WHEELDOWNMOUSE ] = KX_WHEELDOWNMOUSE;
+ m_reverseKeyTranslateTable[MOUSEX ] = KX_MOUSEX;
+ m_reverseKeyTranslateTable[MOUSEY ] = KX_MOUSEY;
+
+ // TIMERS
+
+ m_reverseKeyTranslateTable[TIMER0 ] = KX_TIMER0;
+ m_reverseKeyTranslateTable[TIMER1 ] = KX_TIMER1;
+ m_reverseKeyTranslateTable[TIMER2 ] = KX_TIMER2;
+
+ // SYSTEM
+#if 0
+ /* **** XXX **** */
+ m_reverseKeyTranslateTable[KEYBD ] = KX_KEYBD;
+ m_reverseKeyTranslateTable[RAWKEYBD ] = KX_RAWKEYBD;
+ m_reverseKeyTranslateTable[REDRAW ] = KX_REDRAW;
+ m_reverseKeyTranslateTable[INPUTCHANGE ] = KX_INPUTCHANGE;
+ m_reverseKeyTranslateTable[QFULL ] = KX_QFULL;
+ m_reverseKeyTranslateTable[WINFREEZE ] = KX_WINFREEZE;
+ m_reverseKeyTranslateTable[WINTHAW ] = KX_WINTHAW;
+ m_reverseKeyTranslateTable[WINCLOSE ] = KX_WINCLOSE;
+ m_reverseKeyTranslateTable[WINQUIT ] = KX_WINQUIT;
+ m_reverseKeyTranslateTable[Q_FIRSTTIME ] = KX_Q_FIRSTTIME;
+ /* **** XXX **** */
+#endif
+ // standard keyboard
+
+ m_reverseKeyTranslateTable[AKEY ] = KX_AKEY;
+ m_reverseKeyTranslateTable[BKEY ] = KX_BKEY;
+ m_reverseKeyTranslateTable[CKEY ] = KX_CKEY;
+ m_reverseKeyTranslateTable[DKEY ] = KX_DKEY;
+ m_reverseKeyTranslateTable[EKEY ] = KX_EKEY;
+ m_reverseKeyTranslateTable[FKEY ] = KX_FKEY;
+ m_reverseKeyTranslateTable[GKEY ] = KX_GKEY;
+ //XXX clean up
#ifdef WIN32
#define HKEY 'h'
#endif
- m_reverseKeyTranslateTable[HKEY ] = KX_HKEY ;
-//XXX clean up
+ m_reverseKeyTranslateTable[HKEY ] = KX_HKEY;
+ //XXX clean up
#ifdef WIN32
#undef HKEY
#endif
- m_reverseKeyTranslateTable[IKEY ] = KX_IKEY ;
- m_reverseKeyTranslateTable[JKEY ] = KX_JKEY ;
- m_reverseKeyTranslateTable[KKEY ] = KX_KKEY ;
- m_reverseKeyTranslateTable[LKEY ] = KX_LKEY ;
- m_reverseKeyTranslateTable[MKEY ] = KX_MKEY ;
- m_reverseKeyTranslateTable[NKEY ] = KX_NKEY ;
- m_reverseKeyTranslateTable[OKEY ] = KX_OKEY ;
- m_reverseKeyTranslateTable[PKEY ] = KX_PKEY ;
- m_reverseKeyTranslateTable[QKEY ] = KX_QKEY ;
- m_reverseKeyTranslateTable[RKEY ] = KX_RKEY ;
- m_reverseKeyTranslateTable[SKEY ] = KX_SKEY ;
- m_reverseKeyTranslateTable[TKEY ] = KX_TKEY ;
- m_reverseKeyTranslateTable[UKEY ] = KX_UKEY ;
- m_reverseKeyTranslateTable[VKEY ] = KX_VKEY ;
- m_reverseKeyTranslateTable[WKEY ] = KX_WKEY ;
- m_reverseKeyTranslateTable[XKEY ] = KX_XKEY ;
- m_reverseKeyTranslateTable[YKEY ] = KX_YKEY ;
- m_reverseKeyTranslateTable[ZKEY ] = KX_ZKEY ;
-
- m_reverseKeyTranslateTable[ZEROKEY ] = KX_ZEROKEY ;
- m_reverseKeyTranslateTable[ONEKEY ] = KX_ONEKEY ;
- m_reverseKeyTranslateTable[TWOKEY ] = KX_TWOKEY ;
- m_reverseKeyTranslateTable[THREEKEY ] = KX_THREEKEY ;
- m_reverseKeyTranslateTable[FOURKEY ] = KX_FOURKEY ;
- m_reverseKeyTranslateTable[FIVEKEY ] = KX_FIVEKEY ;
- m_reverseKeyTranslateTable[SIXKEY ] = KX_SIXKEY ;
- m_reverseKeyTranslateTable[SEVENKEY ] = KX_SEVENKEY ;
- m_reverseKeyTranslateTable[EIGHTKEY ] = KX_EIGHTKEY ;
- m_reverseKeyTranslateTable[NINEKEY ] = KX_NINEKEY ;
-
- m_reverseKeyTranslateTable[CAPSLOCKKEY ] = KX_CAPSLOCKKEY ;
-
- m_reverseKeyTranslateTable[LEFTCTRLKEY ] = KX_LEFTCTRLKEY ;
- m_reverseKeyTranslateTable[LEFTALTKEY ] = KX_LEFTALTKEY ;
- m_reverseKeyTranslateTable[RIGHTALTKEY ] = KX_RIGHTALTKEY ;
- m_reverseKeyTranslateTable[RIGHTCTRLKEY ] = KX_RIGHTCTRLKEY ;
- m_reverseKeyTranslateTable[RIGHTSHIFTKEY ] = KX_RIGHTSHIFTKEY ;
- m_reverseKeyTranslateTable[LEFTSHIFTKEY ] = KX_LEFTSHIFTKEY ;
-
- m_reverseKeyTranslateTable[ESCKEY ] = KX_ESCKEY ;
- m_reverseKeyTranslateTable[TABKEY ] = KX_TABKEY ;
- m_reverseKeyTranslateTable[RETKEY ] = KX_RETKEY ;
- m_reverseKeyTranslateTable[SPACEKEY ] = KX_SPACEKEY ;
- m_reverseKeyTranslateTable[LINEFEEDKEY ] = KX_LINEFEEDKEY ;
- m_reverseKeyTranslateTable[BACKSPACEKEY ] = KX_BACKSPACEKEY ;
- m_reverseKeyTranslateTable[DELKEY ] = KX_DELKEY ;
- m_reverseKeyTranslateTable[SEMICOLONKEY ] = KX_SEMICOLONKEY ;
- m_reverseKeyTranslateTable[PERIODKEY ] = KX_PERIODKEY ;
- m_reverseKeyTranslateTable[COMMAKEY ] = KX_COMMAKEY ;
- m_reverseKeyTranslateTable[QUOTEKEY ] = KX_QUOTEKEY ;
- m_reverseKeyTranslateTable[ACCENTGRAVEKEY ] = KX_ACCENTGRAVEKEY ;
- m_reverseKeyTranslateTable[MINUSKEY ] = KX_MINUSKEY ;
- m_reverseKeyTranslateTable[SLASHKEY ] = KX_SLASHKEY ;
- m_reverseKeyTranslateTable[BACKSLASHKEY ] = KX_BACKSLASHKEY ;
- m_reverseKeyTranslateTable[EQUALKEY ] = KX_EQUALKEY ;
- m_reverseKeyTranslateTable[LEFTBRACKETKEY ] = KX_LEFTBRACKETKEY ;
- m_reverseKeyTranslateTable[RIGHTBRACKETKEY ] = KX_RIGHTBRACKETKEY ;
-
- m_reverseKeyTranslateTable[LEFTARROWKEY ] = KX_LEFTARROWKEY ;
- m_reverseKeyTranslateTable[DOWNARROWKEY ] = KX_DOWNARROWKEY ;
- m_reverseKeyTranslateTable[RIGHTARROWKEY ] = KX_RIGHTARROWKEY ;
- m_reverseKeyTranslateTable[UPARROWKEY ] = KX_UPARROWKEY ;
-
- m_reverseKeyTranslateTable[PAD2 ] = KX_PAD2 ;
- m_reverseKeyTranslateTable[PAD4 ] = KX_PAD4 ;
- m_reverseKeyTranslateTable[PAD6 ] = KX_PAD6 ;
- m_reverseKeyTranslateTable[PAD8 ] = KX_PAD8 ;
-
- m_reverseKeyTranslateTable[PAD1 ] = KX_PAD1 ;
- m_reverseKeyTranslateTable[PAD3 ] = KX_PAD3 ;
- m_reverseKeyTranslateTable[PAD5 ] = KX_PAD5 ;
- m_reverseKeyTranslateTable[PAD7 ] = KX_PAD7 ;
- m_reverseKeyTranslateTable[PAD9 ] = KX_PAD9 ;
-
- m_reverseKeyTranslateTable[PADPERIOD ] = KX_PADPERIOD ;
- m_reverseKeyTranslateTable[PADSLASHKEY ] = KX_PADSLASHKEY ;
- m_reverseKeyTranslateTable[PADASTERKEY ] = KX_PADASTERKEY ;
-
-
- m_reverseKeyTranslateTable[PAD0 ] = KX_PAD0 ;
- m_reverseKeyTranslateTable[PADMINUS ] = KX_PADMINUS ;
- m_reverseKeyTranslateTable[PADENTER ] = KX_PADENTER ;
- m_reverseKeyTranslateTable[PADPLUSKEY ] = KX_PADPLUSKEY ;
-
-
- m_reverseKeyTranslateTable[F1KEY ] = KX_F1KEY ;
- m_reverseKeyTranslateTable[F2KEY ] = KX_F2KEY ;
- m_reverseKeyTranslateTable[F3KEY ] = KX_F3KEY ;
- m_reverseKeyTranslateTable[F4KEY ] = KX_F4KEY ;
- m_reverseKeyTranslateTable[F5KEY ] = KX_F5KEY ;
- m_reverseKeyTranslateTable[F6KEY ] = KX_F6KEY ;
- m_reverseKeyTranslateTable[F7KEY ] = KX_F7KEY ;
- m_reverseKeyTranslateTable[F8KEY ] = KX_F8KEY ;
- m_reverseKeyTranslateTable[F9KEY ] = KX_F9KEY ;
- m_reverseKeyTranslateTable[F10KEY ] = KX_F10KEY ;
- m_reverseKeyTranslateTable[F11KEY ] = KX_F11KEY ;
- m_reverseKeyTranslateTable[F12KEY ] = KX_F12KEY ;
- m_reverseKeyTranslateTable[F13KEY ] = KX_F13KEY ;
- m_reverseKeyTranslateTable[F14KEY ] = KX_F14KEY ;
- m_reverseKeyTranslateTable[F15KEY ] = KX_F15KEY ;
- m_reverseKeyTranslateTable[F16KEY ] = KX_F16KEY ;
- m_reverseKeyTranslateTable[F17KEY ] = KX_F17KEY ;
- m_reverseKeyTranslateTable[F18KEY ] = KX_F18KEY ;
- m_reverseKeyTranslateTable[F19KEY ] = KX_F19KEY ;
-
- m_reverseKeyTranslateTable[PAUSEKEY ] = KX_PAUSEKEY ;
- m_reverseKeyTranslateTable[INSERTKEY ] = KX_INSERTKEY ;
- m_reverseKeyTranslateTable[HOMEKEY ] = KX_HOMEKEY ;
- m_reverseKeyTranslateTable[PAGEUPKEY ] = KX_PAGEUPKEY ;
- m_reverseKeyTranslateTable[PAGEDOWNKEY ] = KX_PAGEDOWNKEY ;
- m_reverseKeyTranslateTable[ENDKEY ] = KX_ENDKEY ;
-
-
- }
+ m_reverseKeyTranslateTable[IKEY ] = KX_IKEY;
+ m_reverseKeyTranslateTable[JKEY ] = KX_JKEY;
+ m_reverseKeyTranslateTable[KKEY ] = KX_KKEY;
+ m_reverseKeyTranslateTable[LKEY ] = KX_LKEY;
+ m_reverseKeyTranslateTable[MKEY ] = KX_MKEY;
+ m_reverseKeyTranslateTable[NKEY ] = KX_NKEY;
+ m_reverseKeyTranslateTable[OKEY ] = KX_OKEY;
+ m_reverseKeyTranslateTable[PKEY ] = KX_PKEY;
+ m_reverseKeyTranslateTable[QKEY ] = KX_QKEY;
+ m_reverseKeyTranslateTable[RKEY ] = KX_RKEY;
+ m_reverseKeyTranslateTable[SKEY ] = KX_SKEY;
+ m_reverseKeyTranslateTable[TKEY ] = KX_TKEY;
+ m_reverseKeyTranslateTable[UKEY ] = KX_UKEY;
+ m_reverseKeyTranslateTable[VKEY ] = KX_VKEY;
+ m_reverseKeyTranslateTable[WKEY ] = KX_WKEY;
+ m_reverseKeyTranslateTable[XKEY ] = KX_XKEY;
+ m_reverseKeyTranslateTable[YKEY ] = KX_YKEY;
+ m_reverseKeyTranslateTable[ZKEY ] = KX_ZKEY;
+
+ m_reverseKeyTranslateTable[ZEROKEY ] = KX_ZEROKEY;
+ m_reverseKeyTranslateTable[ONEKEY ] = KX_ONEKEY;
+ m_reverseKeyTranslateTable[TWOKEY ] = KX_TWOKEY;
+ m_reverseKeyTranslateTable[THREEKEY ] = KX_THREEKEY;
+ m_reverseKeyTranslateTable[FOURKEY ] = KX_FOURKEY;
+ m_reverseKeyTranslateTable[FIVEKEY ] = KX_FIVEKEY;
+ m_reverseKeyTranslateTable[SIXKEY ] = KX_SIXKEY;
+ m_reverseKeyTranslateTable[SEVENKEY ] = KX_SEVENKEY;
+ m_reverseKeyTranslateTable[EIGHTKEY ] = KX_EIGHTKEY;
+ m_reverseKeyTranslateTable[NINEKEY ] = KX_NINEKEY;
+
+ m_reverseKeyTranslateTable[CAPSLOCKKEY ] = KX_CAPSLOCKKEY;
+
+ m_reverseKeyTranslateTable[LEFTCTRLKEY ] = KX_LEFTCTRLKEY;
+ m_reverseKeyTranslateTable[LEFTALTKEY ] = KX_LEFTALTKEY;
+ m_reverseKeyTranslateTable[RIGHTALTKEY ] = KX_RIGHTALTKEY;
+ m_reverseKeyTranslateTable[RIGHTCTRLKEY ] = KX_RIGHTCTRLKEY;
+ m_reverseKeyTranslateTable[RIGHTSHIFTKEY ] = KX_RIGHTSHIFTKEY;
+ m_reverseKeyTranslateTable[LEFTSHIFTKEY ] = KX_LEFTSHIFTKEY;
+
+ m_reverseKeyTranslateTable[ESCKEY ] = KX_ESCKEY;
+ m_reverseKeyTranslateTable[TABKEY ] = KX_TABKEY;
+ m_reverseKeyTranslateTable[RETKEY ] = KX_RETKEY;
+ m_reverseKeyTranslateTable[SPACEKEY ] = KX_SPACEKEY;
+ m_reverseKeyTranslateTable[LINEFEEDKEY ] = KX_LINEFEEDKEY;
+ m_reverseKeyTranslateTable[BACKSPACEKEY ] = KX_BACKSPACEKEY;
+ m_reverseKeyTranslateTable[DELKEY ] = KX_DELKEY;
+ m_reverseKeyTranslateTable[SEMICOLONKEY ] = KX_SEMICOLONKEY;
+ m_reverseKeyTranslateTable[PERIODKEY ] = KX_PERIODKEY;
+ m_reverseKeyTranslateTable[COMMAKEY ] = KX_COMMAKEY;
+ m_reverseKeyTranslateTable[QUOTEKEY ] = KX_QUOTEKEY;
+ m_reverseKeyTranslateTable[ACCENTGRAVEKEY ] = KX_ACCENTGRAVEKEY;
+ m_reverseKeyTranslateTable[MINUSKEY ] = KX_MINUSKEY;
+ m_reverseKeyTranslateTable[SLASHKEY ] = KX_SLASHKEY;
+ m_reverseKeyTranslateTable[BACKSLASHKEY ] = KX_BACKSLASHKEY;
+ m_reverseKeyTranslateTable[EQUALKEY ] = KX_EQUALKEY;
+ m_reverseKeyTranslateTable[LEFTBRACKETKEY ] = KX_LEFTBRACKETKEY;
+ m_reverseKeyTranslateTable[RIGHTBRACKETKEY ] = KX_RIGHTBRACKETKEY;
+
+ m_reverseKeyTranslateTable[LEFTARROWKEY ] = KX_LEFTARROWKEY;
+ m_reverseKeyTranslateTable[DOWNARROWKEY ] = KX_DOWNARROWKEY;
+ m_reverseKeyTranslateTable[RIGHTARROWKEY ] = KX_RIGHTARROWKEY;
+ m_reverseKeyTranslateTable[UPARROWKEY ] = KX_UPARROWKEY;
+
+ m_reverseKeyTranslateTable[PAD2 ] = KX_PAD2;
+ m_reverseKeyTranslateTable[PAD4 ] = KX_PAD4;
+ m_reverseKeyTranslateTable[PAD6 ] = KX_PAD6;
+ m_reverseKeyTranslateTable[PAD8 ] = KX_PAD8;
+
+ m_reverseKeyTranslateTable[PAD1 ] = KX_PAD1;
+ m_reverseKeyTranslateTable[PAD3 ] = KX_PAD3;
+ m_reverseKeyTranslateTable[PAD5 ] = KX_PAD5;
+ m_reverseKeyTranslateTable[PAD7 ] = KX_PAD7;
+ m_reverseKeyTranslateTable[PAD9 ] = KX_PAD9;
+
+ m_reverseKeyTranslateTable[PADPERIOD ] = KX_PADPERIOD;
+ m_reverseKeyTranslateTable[PADSLASHKEY ] = KX_PADSLASHKEY;
+ m_reverseKeyTranslateTable[PADASTERKEY ] = KX_PADASTERKEY;
+
+
+ m_reverseKeyTranslateTable[PAD0 ] = KX_PAD0;
+ m_reverseKeyTranslateTable[PADMINUS ] = KX_PADMINUS;
+ m_reverseKeyTranslateTable[PADENTER ] = KX_PADENTER;
+ m_reverseKeyTranslateTable[PADPLUSKEY ] = KX_PADPLUSKEY;
+
+
+ m_reverseKeyTranslateTable[F1KEY ] = KX_F1KEY;
+ m_reverseKeyTranslateTable[F2KEY ] = KX_F2KEY;
+ m_reverseKeyTranslateTable[F3KEY ] = KX_F3KEY;
+ m_reverseKeyTranslateTable[F4KEY ] = KX_F4KEY;
+ m_reverseKeyTranslateTable[F5KEY ] = KX_F5KEY;
+ m_reverseKeyTranslateTable[F6KEY ] = KX_F6KEY;
+ m_reverseKeyTranslateTable[F7KEY ] = KX_F7KEY;
+ m_reverseKeyTranslateTable[F8KEY ] = KX_F8KEY;
+ m_reverseKeyTranslateTable[F9KEY ] = KX_F9KEY;
+ m_reverseKeyTranslateTable[F10KEY ] = KX_F10KEY;
+ m_reverseKeyTranslateTable[F11KEY ] = KX_F11KEY;
+ m_reverseKeyTranslateTable[F12KEY ] = KX_F12KEY;
+ m_reverseKeyTranslateTable[F13KEY ] = KX_F13KEY;
+ m_reverseKeyTranslateTable[F14KEY ] = KX_F14KEY;
+ m_reverseKeyTranslateTable[F15KEY ] = KX_F15KEY;
+ m_reverseKeyTranslateTable[F16KEY ] = KX_F16KEY;
+ m_reverseKeyTranslateTable[F17KEY ] = KX_F17KEY;
+ m_reverseKeyTranslateTable[F18KEY ] = KX_F18KEY;
+ m_reverseKeyTranslateTable[F19KEY ] = KX_F19KEY;
+
+ m_reverseKeyTranslateTable[PAUSEKEY ] = KX_PAUSEKEY;
+ m_reverseKeyTranslateTable[INSERTKEY ] = KX_INSERTKEY;
+ m_reverseKeyTranslateTable[HOMEKEY ] = KX_HOMEKEY;
+ m_reverseKeyTranslateTable[PAGEUPKEY ] = KX_PAGEUPKEY;
+ m_reverseKeyTranslateTable[PAGEDOWNKEY ] = KX_PAGEDOWNKEY;
+ m_reverseKeyTranslateTable[ENDKEY ] = KX_ENDKEY;
+ }
virtual ~BL_BlenderInputDevice()
- {
+ {
- }
-
- KX_EnumInputs ToNative(unsigned short incode) {
+ }
+
+ KX_EnumInputs ToNative(unsigned short incode) {
return m_reverseKeyTranslateTable[incode];
}
virtual bool IsPressed(SCA_IInputDevice::KX_EnumInputs inputcode)=0;
-// virtual const SCA_InputEvent& GetEventValue(SCA_IInputDevice::KX_EnumInputs inputcode)=0;
+ // virtual const SCA_InputEvent& GetEventValue(SCA_IInputDevice::KX_EnumInputs inputcode)=0;
virtual bool ConvertBlenderEvent(unsigned short incode,short val)=0;
-
+
#ifdef WITH_CXX_GUARDEDALLOC
public:
void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:BL_BlenderInputDevice"); }
void operator delete(void *mem) { MEM_freeN(mem); }
#endif
-};
+};
#endif //__KX_BLENDERINPUTDEVICE
diff --git a/source/gameengine/Converter/BL_ActionActuator.cpp b/source/gameengine/Converter/BL_ActionActuator.cpp
index c00e7ec7e29..895def17e8e 100644
--- a/source/gameengine/Converter/BL_ActionActuator.cpp
+++ b/source/gameengine/Converter/BL_ActionActuator.cpp
@@ -36,6 +36,7 @@
#include "BL_ActionActuator.h"
#include "BL_ArmatureObject.h"
#include "BL_SkinDeformer.h"
+#include "BL_Action.h"
#include "KX_GameObject.h"
#include "STR_HashedString.h"
#include "MEM_guardedalloc.h"
@@ -60,6 +61,49 @@ extern "C" {
#include "RNA_define.h"
}
+BL_ActionActuator::BL_ActionActuator(SCA_IObject* gameobj,
+ const STR_String& propname,
+ const STR_String& framepropname,
+ float starttime,
+ float endtime,
+ struct bAction *action,
+ short playtype,
+ short blendin,
+ short priority,
+ short layer,
+ float layer_weight,
+ short ipo_flags,
+ short end_reset,
+ float stride)
+ : SCA_IActuator(gameobj, KX_ACT_ACTION),
+
+ m_lastpos(0, 0, 0),
+ m_blendframe(0),
+ m_flag(0),
+ m_startframe (starttime),
+ m_endframe(endtime) ,
+ m_starttime(0),
+ m_localtime(starttime),
+ m_lastUpdate(-1),
+ m_blendin(blendin),
+ m_blendstart(0),
+ m_stridelength(stride),
+ m_layer_weight(layer_weight),
+ m_playtype(playtype),
+ m_priority(priority),
+ m_layer(layer),
+ m_ipo_flags(ipo_flags),
+ m_pose(NULL),
+ m_blendpose(NULL),
+ m_userpose(NULL),
+ m_action(action),
+ m_propname(propname),
+ m_framepropname(framepropname)
+{
+ if (!end_reset)
+ m_flag |= ACT_FLAG_CONTINUE;
+};
+
BL_ActionActuator::~BL_ActionActuator()
{
if (m_pose)
@@ -85,370 +129,220 @@ void BL_ActionActuator::SetBlendTime (float newtime){
m_blendframe = newtime;
}
-CValue* BL_ActionActuator::GetReplica() {
- BL_ActionActuator* replica = new BL_ActionActuator(*this);//m_float,GetName());
- replica->ProcessReplica();
- return replica;
-}
-
-bool BL_ActionActuator::ClampLocalTime()
+void BL_ActionActuator::SetLocalTime(float curtime)
{
- if (m_startframe < m_endframe)
+ float dt = (curtime-m_starttime)*KX_KetsjiEngine::GetAnimFrameRate();
+
+ if (m_endframe < m_startframe)
+ dt = -dt;
+
+ m_localtime = m_startframe + dt;
+
+ // Handle wrap around
+ if (m_localtime < min(m_startframe, m_endframe) || m_localtime > max(m_startframe, m_endframe))
{
- if (m_localtime < m_startframe)
- {
- m_localtime = m_startframe;
- return true;
- }
- else if (m_localtime > m_endframe)
+ switch(m_playtype)
{
+ case ACT_ACTION_PLAY:
+ // Clamp
m_localtime = m_endframe;
- return true;
- }
- } else {
- if (m_localtime > m_startframe)
- {
+ break;
+ case ACT_ACTION_LOOP_END:
+ // Put the time back to the beginning
m_localtime = m_startframe;
- return true;
- }
- else if (m_localtime < m_endframe)
- {
- m_localtime = m_endframe;
- return true;
+ m_starttime = curtime;
+ break;
+ case ACT_ACTION_PINGPONG:
+ // Swap the start and end frames
+ float temp = m_startframe;
+ m_startframe = m_endframe;
+ m_endframe = temp;
+
+ m_starttime = curtime;
+
+ break;
}
}
- return false;
}
-void BL_ActionActuator::SetStartTime(float curtime)
+void BL_ActionActuator::ResetStartTime(float curtime)
{
- float direction = m_startframe < m_endframe ? 1.0 : -1.0;
-
- if (!(m_flag & ACT_FLAG_REVERSE))
- m_starttime = curtime - direction*(m_localtime - m_startframe)/KX_KetsjiEngine::GetAnimFrameRate();
- else
- m_starttime = curtime - direction*(m_endframe - m_localtime)/KX_KetsjiEngine::GetAnimFrameRate();
-}
+ float dt = m_localtime - m_startframe;
-void BL_ActionActuator::SetLocalTime(float curtime)
-{
- float delta_time = (curtime - m_starttime)*KX_KetsjiEngine::GetAnimFrameRate();
-
- if (m_endframe < m_startframe)
- delta_time = -delta_time;
-
- if (!(m_flag & ACT_FLAG_REVERSE))
- m_localtime = m_startframe + delta_time;
- else
- m_localtime = m_endframe - delta_time;
+ m_starttime = curtime - dt / (KX_KetsjiEngine::GetAnimFrameRate());
+ //SetLocalTime(curtime);
}
+CValue* BL_ActionActuator::GetReplica() {
+ BL_ActionActuator* replica = new BL_ActionActuator(*this);//m_float,GetName());
+ replica->ProcessReplica();
+ return replica;
+}
bool BL_ActionActuator::Update(double curtime, bool frame)
{
bool bNegativeEvent = false;
bool bPositiveEvent = false;
- bool keepgoing = true;
- bool wrap = false;
- bool apply=true;
- int priority;
- float newweight;
+ bool bUseContinue = false;
+ KX_GameObject *obj = (KX_GameObject*)GetParent();
+ short playtype = BL_Action::ACT_MODE_PLAY;
+ float start = m_startframe;
+ float end = m_endframe;
+
+ // If we don't have an action, we can't do anything
+ if (!m_action)
+ return false;
+
+ // Convert our playtype to one that BL_Action likes
+ switch(m_playtype)
+ {
+ case ACT_ACTION_LOOP_END:
+ case ACT_ACTION_LOOP_STOP:
+ playtype = BL_Action::ACT_MODE_LOOP;
+ break;
+
+ case ACT_ACTION_PINGPONG:
+ // We handle ping pong ourselves to increase compabitility
+ // with files made prior to animation changes from GSoC 2011.
+ playtype = BL_Action::ACT_MODE_PLAY;
+
+ if (m_flag & ACT_FLAG_REVERSE)
+ {
+ m_localtime = start;
+ start = end;
+ end = m_localtime;
+ }
+
+ break;
+ case ACT_ACTION_FROM_PROP:
+ CValue* prop = GetParent()->GetProperty(m_propname);
+
+ // If we don't have a property, we can't do anything, so just bail
+ if (!prop) return false;
- curtime -= KX_KetsjiEngine::GetSuspendedDelta();
+ playtype = BL_Action::ACT_MODE_PLAY;
+ start = end = prop->GetNumber();
+
+ break;
+ }
+
+ // Continue only really makes sense for play stop and flipper. All other modes go until they are complete.
+ if (m_flag & ACT_FLAG_CONTINUE &&
+ (m_playtype == ACT_ACTION_LOOP_STOP ||
+ m_playtype == ACT_ACTION_FLIPPER))
+ bUseContinue = true;
- // result = true if animation has to be continued, false if animation stops
- // maybe there are events for us in the queue !
+
+ // Handle events
if (frame)
{
bNegativeEvent = m_negevent;
bPositiveEvent = m_posevent;
RemoveAllEvents();
-
- if (bPositiveEvent)
- m_flag |= ACT_FLAG_ACTIVE;
-
- if (bNegativeEvent)
- {
- // dont continue where we left off when restarting
- if (m_end_reset) {
- m_flag &= ~ACT_FLAG_LOCKINPUT;
- }
-
- if (!(m_flag & ACT_FLAG_ACTIVE))
- return false;
- m_flag &= ~ACT_FLAG_ACTIVE;
- }
}
-
- /* We know that action actuators have been discarded from all non armature objects:
- if we're being called, we're attached to a BL_ArmatureObject */
- BL_ArmatureObject *obj = (BL_ArmatureObject*)GetParent();
- float length = m_endframe - m_startframe;
-
- priority = m_priority;
-
- /* Determine pre-incrementation behaviour and set appropriate flags */
- switch (m_playtype){
- case ACT_ACTION_MOTION:
- if (bNegativeEvent){
- keepgoing=false;
- apply=false;
- };
- break;
- case ACT_ACTION_FROM_PROP:
- if (bNegativeEvent){
- apply=false;
- keepgoing=false;
- }
- break;
- case ACT_ACTION_LOOP_END:
- if (bPositiveEvent){
- if (!(m_flag & ACT_FLAG_LOCKINPUT)){
- m_flag &= ~ACT_FLAG_KEYUP;
- m_flag &= ~ACT_FLAG_REVERSE;
- m_flag |= ACT_FLAG_LOCKINPUT;
- m_localtime = m_startframe;
- m_starttime = curtime;
- }
- }
- if (bNegativeEvent){
- m_flag |= ACT_FLAG_KEYUP;
- }
- break;
- case ACT_ACTION_LOOP_STOP:
- if (bPositiveEvent){
- if (!(m_flag & ACT_FLAG_LOCKINPUT)){
- m_flag &= ~ACT_FLAG_REVERSE;
- m_flag &= ~ACT_FLAG_KEYUP;
- m_flag |= ACT_FLAG_LOCKINPUT;
- SetStartTime(curtime);
- }
- }
- if (bNegativeEvent){
- m_flag |= ACT_FLAG_KEYUP;
- m_flag &= ~ACT_FLAG_LOCKINPUT;
- keepgoing=false;
- apply=false;
- }
- break;
- case ACT_ACTION_PINGPONG:
- if (bPositiveEvent){
- if (!(m_flag & ACT_FLAG_LOCKINPUT)){
- m_flag &= ~ACT_FLAG_KEYUP;
- m_localtime = m_starttime;
- m_starttime = curtime;
- m_flag |= ACT_FLAG_LOCKINPUT;
- }
- }
- break;
- case ACT_ACTION_FLIPPER:
- if (bPositiveEvent){
- if (!(m_flag & ACT_FLAG_LOCKINPUT)){
- m_flag &= ~ACT_FLAG_REVERSE;
- m_flag |= ACT_FLAG_LOCKINPUT;
- SetStartTime(curtime);
- }
- }
- else if (bNegativeEvent){
- m_flag |= ACT_FLAG_REVERSE;
- m_flag &= ~ACT_FLAG_LOCKINPUT;
- SetStartTime(curtime);
- }
- break;
- case ACT_ACTION_PLAY:
- if (bPositiveEvent){
- if (!(m_flag & ACT_FLAG_LOCKINPUT)){
- m_flag &= ~ACT_FLAG_REVERSE;
- m_localtime = m_starttime;
- m_starttime = curtime;
- m_flag |= ACT_FLAG_LOCKINPUT;
- }
- }
- break;
- default:
- break;
+
+ if (m_flag & ACT_FLAG_ATTEMPT_PLAY)
+ SetLocalTime(curtime);
+
+ if (bUseContinue && (m_flag & ACT_FLAG_ACTIVE))
+ {
+ m_localtime = obj->GetActionFrame(m_layer);
+ ResetStartTime(curtime);
}
-
- /* Perform increment */
- if (keepgoing){
- if (m_playtype == ACT_ACTION_MOTION){
- MT_Point3 newpos;
- MT_Point3 deltapos;
-
- newpos = obj->NodeGetWorldPosition();
-
- /* Find displacement */
- deltapos = newpos-m_lastpos;
- m_localtime += (length/m_stridelength) * deltapos.length();
- m_lastpos = newpos;
- }
- else{
- SetLocalTime(curtime);
- }
+
+ // Handle a frame property if it's defined
+ if ((m_flag & ACT_FLAG_ACTIVE) && m_framepropname[0] != 0)
+ {
+ CValue* oldprop = obj->GetProperty(m_framepropname);
+ CValue* newval = new CFloatValue(obj->GetActionFrame(m_layer));
+ if (oldprop)
+ oldprop->SetValue(newval);
+ else
+ obj->SetProperty(m_framepropname, newval);
+
+ newval->Release();
}
-
- /* Check if a wrapping response is needed */
- if (length){
- if (m_localtime < m_startframe || m_localtime > m_endframe)
- {
- m_localtime = m_startframe + fmod(m_localtime, length);
- wrap = true;
- }
+
+ // Handle a finished animation
+ if ((m_flag & ACT_FLAG_PLAY_END) && obj->IsActionDone(m_layer))
+ {
+ m_flag &= ~ACT_FLAG_ACTIVE;
+ m_flag &= ~ACT_FLAG_ATTEMPT_PLAY;
+ obj->StopAction(m_layer);
+ return false;
}
- else
- m_localtime = m_startframe;
- /* Perform post-increment tasks */
- switch (m_playtype){
- case ACT_ACTION_FROM_PROP:
+ // If a different action is playing, we've been overruled and are no longer active
+ if (obj->GetCurrentAction(m_layer) != m_action)
+ m_flag &= ~ACT_FLAG_ACTIVE;
+
+ if (bPositiveEvent || (m_flag & ACT_FLAG_ATTEMPT_PLAY && !(m_flag & ACT_FLAG_ACTIVE)))
+ {
+ if (bPositiveEvent)
+ ResetStartTime(curtime);
+
+ if (obj->PlayAction(m_action->id.name+2, start, end, m_layer, m_priority, m_blendin, playtype, m_layer_weight, m_ipo_flags))
{
- CValue* propval = GetParent()->GetProperty(m_propname);
- if (propval)
- m_localtime = propval->GetNumber();
-
- if (bNegativeEvent){
- keepgoing=false;
- }
- }
- break;
- case ACT_ACTION_MOTION:
- break;
- case ACT_ACTION_LOOP_STOP:
- break;
- case ACT_ACTION_PINGPONG:
- if (wrap){
- if (!(m_flag & ACT_FLAG_REVERSE))
- m_localtime = m_endframe;
- else
- m_localtime = m_startframe;
-
- m_flag &= ~ACT_FLAG_LOCKINPUT;
- m_flag ^= ACT_FLAG_REVERSE; //flip direction
- keepgoing = false;
- }
- break;
- case ACT_ACTION_FLIPPER:
- if (wrap){
- if (!(m_flag & ACT_FLAG_REVERSE)){
- m_localtime=m_endframe;
- //keepgoing = false;
- }
- else {
- m_localtime=m_startframe;
- keepgoing = false;
- }
- }
- break;
- case ACT_ACTION_LOOP_END:
- if (wrap){
- if (m_flag & ACT_FLAG_KEYUP){
- keepgoing = false;
- m_localtime = m_endframe;
- m_flag &= ~ACT_FLAG_LOCKINPUT;
- }
- SetStartTime(curtime);
- }
- break;
- case ACT_ACTION_PLAY:
- if (wrap){
- m_localtime = m_endframe;
- keepgoing = false;
- m_flag &= ~ACT_FLAG_LOCKINPUT;
+ m_flag |= ACT_FLAG_ACTIVE;
+ if (bUseContinue)
+ obj->SetActionFrame(m_layer, m_localtime);
+
+ if (m_playtype == ACT_ACTION_PLAY)
+ m_flag |= ACT_FLAG_PLAY_END;
+ else
+ m_flag &= ~ACT_FLAG_PLAY_END;
}
- break;
- default:
- keepgoing = false;
- break;
+ m_flag |= ACT_FLAG_ATTEMPT_PLAY;
}
-
- /* Set the property if its defined */
- if (m_framepropname[0] != '\0') {
- CValue* propowner = GetParent();
- CValue* oldprop = propowner->GetProperty(m_framepropname);
- CValue* newval = new CFloatValue(m_localtime);
- if (oldprop) {
- oldprop->SetValue(newval);
- } else {
- propowner->SetProperty(m_framepropname, newval);
+ else if ((m_flag & ACT_FLAG_ACTIVE) && bNegativeEvent)
+ {
+ m_flag &= ~ACT_FLAG_ATTEMPT_PLAY;
+ bAction *curr_action = obj->GetCurrentAction(m_layer);
+ if (curr_action && curr_action != m_action)
+ {
+ // Someone changed the action on us, so we wont mess with it
+ // Hopefully there wont be too many problems with two actuators using
+ // the same action...
+ m_flag &= ~ACT_FLAG_ACTIVE;
+ return false;
}
- newval->Release();
- }
-
- if (bNegativeEvent)
- m_blendframe=0.0;
-
- /* Apply the pose if necessary*/
- if (apply){
-
- /* Priority test */
- if (obj->SetActiveAction(this, priority, curtime)){
-
- /* Get the underlying pose from the armature */
- obj->GetPose(&m_pose);
-
-// 2.4x function,
- /* Override the necessary channels with ones from the action */
- // XXX extract_pose_from_action(m_pose, m_action, m_localtime);
-
-
-// 2.5x - replacement for extract_pose_from_action(...) above.
- {
- struct PointerRNA id_ptr;
- Object *arm= obj->GetArmatureObject();
- bPose *pose_back= arm->pose;
-
- arm->pose= m_pose;
- RNA_id_pointer_create((ID *)arm, &id_ptr);
- animsys_evaluate_action(&id_ptr, m_action, NULL, m_localtime);
-
- arm->pose= pose_back;
-
-// 2.5x - could also do this but looks too high level, constraints use this, it works ok.
-// Object workob; /* evaluate using workob */
-// what_does_obaction((Scene *)obj->GetScene(), obj->GetArmatureObject(), &workob, m_pose, m_action, NULL, m_localtime);
- }
- // done getting the pose from the action
-
- /* Perform the user override (if any) */
- if (m_userpose){
- extract_pose_from_pose(m_pose, m_userpose);
- game_free_pose(m_userpose); //cant use MEM_freeN(m_userpose) because the channels need freeing too.
- m_userpose = NULL;
- }
-#if 1
- /* Handle blending */
- if (m_blendin && (m_blendframe<m_blendin)){
- /* If this is the start of a blending sequence... */
- if ((m_blendframe==0.0) || (!m_blendpose)){
- obj->GetMRDPose(&m_blendpose);
- m_blendstart = curtime;
- }
-
- /* Find percentages */
- newweight = (m_blendframe/(float)m_blendin);
- game_blend_poses(m_pose, m_blendpose, 1.0 - newweight);
-
- /* Increment current blending percentage */
- m_blendframe = (curtime - m_blendstart)*KX_KetsjiEngine::GetAnimFrameRate();
- if (m_blendframe>m_blendin)
- m_blendframe = m_blendin;
-
- }
-#endif
- m_lastUpdate = m_localtime;
- obj->SetPose (m_pose);
- }
- else{
- m_blendframe = 0.0;
+
+ m_localtime = obj->GetActionFrame(m_layer);
+ if (m_localtime < min(m_startframe, m_endframe) || m_localtime > max(m_startframe, m_endframe))
+ m_localtime = m_startframe;
+
+ switch(m_playtype)
+ {
+ case ACT_ACTION_LOOP_STOP:
+ obj->StopAction(m_layer); // Stop the action after getting the frame
+
+ // We're done
+ m_flag &= ~ACT_FLAG_ACTIVE;
+ return false;
+ case ACT_ACTION_PINGPONG:
+ m_flag ^= ACT_FLAG_REVERSE;
+ // Now fallthrough to LOOP_END code
+ case ACT_ACTION_LOOP_END:
+ // Convert into a play and let it finish
+ obj->SetPlayMode(m_layer, BL_Action::ACT_MODE_PLAY);
+
+ m_flag |= ACT_FLAG_PLAY_END;
+ break;
+
+ case ACT_ACTION_FLIPPER:
+ // Convert into a play action and play back to the beginning
+ end = start;
+ start = obj->GetActionFrame(m_layer);
+ obj->PlayAction(m_action->id.name+2, start, end, m_layer, m_priority, 0, BL_Action::ACT_MODE_PLAY, m_layer_weight, m_ipo_flags);
+
+ m_flag |= ACT_FLAG_PLAY_END;
+ break;
}
}
-
- if (!keepgoing){
- m_blendframe = 0.0;
- }
- return keepgoing;
-};
+
+ return true;
+}
#ifdef WITH_PYTHON
@@ -633,10 +527,10 @@ PyAttributeDef BL_ActionActuator::Attributes[] = {
KX_PYATTRIBUTE_RW_FUNCTION("action", BL_ActionActuator, pyattr_get_action, pyattr_set_action),
KX_PYATTRIBUTE_RO_FUNCTION("channelNames", BL_ActionActuator, pyattr_get_channel_names),
KX_PYATTRIBUTE_SHORT_RW("priority", 0, 100, false, BL_ActionActuator, m_priority),
- KX_PYATTRIBUTE_FLOAT_RW_CHECK("frame", 0, MAXFRAMEF, BL_ActionActuator, m_localtime, CheckFrame),
+ KX_PYATTRIBUTE_RW_FUNCTION("frame", BL_ActionActuator, pyattr_get_frame, pyattr_set_frame),
KX_PYATTRIBUTE_STRING_RW("propName", 0, 31, false, BL_ActionActuator, m_propname),
KX_PYATTRIBUTE_STRING_RW("framePropName", 0, 31, false, BL_ActionActuator, m_framepropname),
- KX_PYATTRIBUTE_BOOL_RW("useContinue", BL_ActionActuator, m_end_reset),
+ KX_PYATTRIBUTE_RW_FUNCTION("useContinue", BL_ActionActuator, pyattr_get_use_continue, pyattr_set_use_continue),
KX_PYATTRIBUTE_FLOAT_RW_CHECK("blendTime", 0, MAXFRAMEF, BL_ActionActuator, m_blendframe, CheckBlendTime),
KX_PYATTRIBUTE_SHORT_RW_CHECK("mode",0,100,false,BL_ActionActuator,m_playtype,CheckType),
{ NULL } //Sentinel
@@ -696,4 +590,37 @@ PyObject* BL_ActionActuator::pyattr_get_channel_names(void *self_v, const KX_PYA
return ret;
}
+PyObject* BL_ActionActuator::pyattr_get_use_continue(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
+{
+ BL_ActionActuator* self= static_cast<BL_ActionActuator*>(self_v);
+ return PyBool_FromLong(self->m_flag & ACT_FLAG_CONTINUE);
+}
+
+int BL_ActionActuator::pyattr_set_use_continue(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
+{
+ BL_ActionActuator* self= static_cast<BL_ActionActuator*>(self_v);
+
+ if (PyObject_IsTrue(value))
+ self->m_flag |= ACT_FLAG_CONTINUE;
+ else
+ self->m_flag &= ~ACT_FLAG_CONTINUE;
+
+ return PY_SET_ATTR_SUCCESS;
+}
+
+PyObject* BL_ActionActuator::pyattr_get_frame(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
+{
+ BL_ActionActuator* self= static_cast<BL_ActionActuator*>(self_v);
+ return PyFloat_FromDouble(((KX_GameObject*)self->m_gameobj)->GetActionFrame(self->m_layer));
+}
+
+int BL_ActionActuator::pyattr_set_frame(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
+{
+ BL_ActionActuator* self= static_cast<BL_ActionActuator*>(self_v);
+
+ ((KX_GameObject*)self->m_gameobj)->SetActionFrame(self->m_layer, PyFloat_AsDouble(value));
+
+ return PY_SET_ATTR_SUCCESS;
+}
+
#endif // WITH_PYTHON
diff --git a/source/gameengine/Converter/BL_ActionActuator.h b/source/gameengine/Converter/BL_ActionActuator.h
index ff4ca785a96..357c2b4a05e 100644
--- a/source/gameengine/Converter/BL_ActionActuator.h
+++ b/source/gameengine/Converter/BL_ActionActuator.h
@@ -52,38 +52,20 @@ public:
short playtype,
short blendin,
short priority,
+ short layer,
+ float layer_weight,
+ short ipo_flags,
short end_reset,
- float stride)
- : SCA_IActuator(gameobj, KX_ACT_ACTION),
-
- m_lastpos(0, 0, 0),
- m_blendframe(0),
- m_flag(0),
- m_startframe (starttime),
- m_endframe(endtime) ,
- m_starttime(0),
- m_localtime(starttime),
- m_lastUpdate(-1),
- m_blendin(blendin),
- m_blendstart(0),
- m_stridelength(stride),
- m_playtype(playtype),
- m_priority(priority),
- m_end_reset(end_reset),
- m_pose(NULL),
- m_blendpose(NULL),
- m_userpose(NULL),
- m_action(action),
- m_propname(propname),
- m_framepropname(framepropname)
- {
- };
+ float stride);
+
virtual ~BL_ActionActuator();
virtual bool Update(double curtime, bool frame);
virtual CValue* GetReplica();
virtual void ProcessReplica();
void SetBlendTime (float newtime);
+ void SetLocalTime (float curtime);
+ void ResetStartTime (float curtime);
bAction* GetAction() { return m_action; }
void SetAction(bAction* act) { m_action= act; }
@@ -96,18 +78,10 @@ public:
static PyObject* pyattr_get_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
static int pyattr_set_action(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static PyObject* pyattr_get_channel_names(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
- /* attribute check */
- static int CheckFrame(void *self, const PyAttributeDef*)
- {
- BL_ActionActuator* act = reinterpret_cast<BL_ActionActuator*>(self);
-
- if (act->m_localtime < act->m_startframe)
- act->m_localtime = act->m_startframe;
- else if (act->m_localtime > act->m_endframe)
- act->m_localtime = act->m_endframe;
-
- return 0;
- }
+ static PyObject* pyattr_get_use_continue(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
+ static int pyattr_set_use_continue(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
+ static PyObject* pyattr_get_frame(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef);
+ static int pyattr_set_frame(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static int CheckBlendTime(void *self, const PyAttributeDef*)
{
@@ -139,11 +113,6 @@ public:
#endif // WITH_PYTHON
protected:
-
- void SetStartTime(float curtime);
- void SetLocalTime(float curtime);
- bool ClampLocalTime();
-
MT_Point3 m_lastpos;
float m_blendframe;
int m_flag;
@@ -160,9 +129,11 @@ protected:
float m_blendin;
float m_blendstart;
float m_stridelength;
+ float m_layer_weight;
short m_playtype;
short m_priority;
- bool m_end_reset;
+ short m_layer;
+ short m_ipo_flags;
struct bPose* m_pose;
struct bPose* m_blendpose;
struct bPose* m_userpose;
@@ -171,11 +142,17 @@ protected:
STR_String m_framepropname;
};
+// Not all of these values are used in BL_ActionActuator anymore,
+// but BL_ShapeActionActuator still uses them, so we keep them around
+// for now.
enum {
- ACT_FLAG_REVERSE = 0x00000001,
- ACT_FLAG_LOCKINPUT = 0x00000002,
- ACT_FLAG_KEYUP = 0x00000004,
- ACT_FLAG_ACTIVE = 0x00000008
+ ACT_FLAG_REVERSE = 1<<0,
+ ACT_FLAG_LOCKINPUT = 1<<1,
+ ACT_FLAG_KEYUP = 1<<2,
+ ACT_FLAG_ACTIVE = 1<<3,
+ ACT_FLAG_CONTINUE = 1<<4,
+ ACT_FLAG_PLAY_END = 1<<5,
+ ACT_FLAG_ATTEMPT_PLAY = 1<<6,
};
#endif
diff --git a/source/gameengine/Converter/BL_ArmatureObject.cpp b/source/gameengine/Converter/BL_ArmatureObject.cpp
index c6c20a96482..684bd3f341e 100644
--- a/source/gameengine/Converter/BL_ArmatureObject.cpp
+++ b/source/gameengine/Converter/BL_ArmatureObject.cpp
@@ -218,7 +218,8 @@ BL_ArmatureObject::BL_ArmatureObject(
void* sgReplicationInfo,
SG_Callbacks callbacks,
Object *armature,
- Scene *scene)
+ Scene *scene,
+ int vert_deform_type)
: KX_GameObject(sgReplicationInfo,callbacks),
m_controlledConstraints(),
@@ -230,6 +231,7 @@ BL_ArmatureObject::BL_ArmatureObject(
m_timestep(0.040),
m_activeAct(NULL),
m_activePriority(999),
+ m_vert_deform_type(vert_deform_type),
m_constraintNumber(0),
m_channelNumber(0),
m_lastapplyframe(0.0)
@@ -298,6 +300,7 @@ void BL_ArmatureObject::LoadConstraints(KX_BlenderSceneConverter* converter)
case CONSTRAINT_TYPE_CLAMPTO:
case CONSTRAINT_TYPE_TRANSFORM:
case CONSTRAINT_TYPE_DISTLIMIT:
+ case CONSTRAINT_TYPE_TRANSLIKE:
cti = constraint_get_typeinfo(pcon);
gametarget = gamesubtarget = NULL;
if (cti && cti->get_constraint_targets) {
diff --git a/source/gameengine/Converter/BL_ArmatureObject.h b/source/gameengine/Converter/BL_ArmatureObject.h
index 2c3ca7404b3..1467f05c1bd 100644
--- a/source/gameengine/Converter/BL_ArmatureObject.h
+++ b/source/gameengine/Converter/BL_ArmatureObject.h
@@ -69,7 +69,8 @@ public:
void* sgReplicationInfo,
SG_Callbacks callbacks,
Object *armature,
- Scene *scene
+ Scene *scene,
+ int vert_deform_type
);
virtual ~BL_ArmatureObject();
@@ -90,6 +91,8 @@ public:
Object* GetArmatureObject() {return m_objArma;}
+ int GetVertDeformType() {return m_vert_deform_type;}
+
// for constraint python API
void LoadConstraints(KX_BlenderSceneConverter* converter);
size_t GetConstraintNumber() const { return m_constraintNumber; }
@@ -136,6 +139,7 @@ protected:
double m_timestep; // delta since last pose evaluation.
class BL_ActionActuator *m_activeAct;
short m_activePriority;
+ int m_vert_deform_type;
size_t m_constraintNumber;
size_t m_channelNumber;
// store the original armature object matrix
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index 4b475a4b5e7..d4b43cd7ac1 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -353,6 +353,8 @@ bool ConvertMaterial(
// use lighting?
material->ras_mode |= ( mat->mode & MA_SHLESS )?0:USE_LIGHT;
+ // cast shadows?
+ material->ras_mode |= ( mat->mode & MA_SHADBUF )?CAST_SHADOW:0;
MTex *mttmp = 0;
numchan = getNumTexChannels(mat);
int valid_index = 0;
@@ -1484,7 +1486,7 @@ void BL_CreatePhysicsObjectNew(KX_GameObject* gameobj,
{
objprop.m_gamesoftFlag = OB_BSB_BENDING_CONSTRAINTS | OB_BSB_SHAPE_MATCHING | OB_BSB_AERO_VPOINT;
- objprop.m_soft_linStiff = 0.5;;
+ objprop.m_soft_linStiff = 0.5;
objprop.m_soft_angStiff = 1.f; /* angular stiffness 0..1 */
objprop.m_soft_volume= 1.f; /* volume preservation 0..1 */
@@ -1685,8 +1687,6 @@ static KX_LightObject *gamelight_from_blamp(Object *ob, Lamp *la, unsigned int l
gamelight = new KX_LightObject(kxscene, KX_Scene::m_callbacks, rendertools,
lightobj, glslmat);
-
- BL_ConvertLampIpos(la, gamelight, converter);
return gamelight;
}
@@ -1699,8 +1699,6 @@ static KX_Camera *gamecamera_from_bcamera(Object *ob, KX_Scene *kxscene, KX_Blen
gamecamera= new KX_Camera(kxscene, KX_Scene::m_callbacks, camdata);
gamecamera->SetName(ca->id.name + 2);
- BL_ConvertCameraIpos(ca, gamecamera, converter);
-
return gamecamera;
}
@@ -1817,11 +1815,13 @@ static KX_GameObject *gameobject_from_blenderobject(
case OB_ARMATURE:
{
+ bArmature *arm = (bArmature*)ob->data;
gameobj = new BL_ArmatureObject(
kxscene,
KX_Scene::m_callbacks,
ob,
- kxscene->GetBlenderScene() // handle
+ kxscene->GetBlenderScene(), // handle
+ arm->gevertdeformer
);
/* Get the current pose from the armature object and apply it as the rest pose */
break;
@@ -1850,7 +1850,6 @@ static KX_GameObject *gameobject_from_blenderobject(
{
gameobj->SetLayer(ob->lay);
gameobj->SetBlenderObject(ob);
- gameobj->SetObjectColor(ob->col);
/* set the visibility state based on the objects render option in the outliner */
if(ob->restrictflag & OB_RESTRICT_RENDER) gameobj->SetVisible(0, 0);
}
@@ -1922,11 +1921,11 @@ void RBJconstraints(Object *ob)//not used
KX_IPhysicsController* getPhId(CListValue* sumolist,STR_String busc){//not used
- for (int j=0;j<sumolist->GetCount();j++)
+ for (int j=0;j<sumolist->GetCount();j++)
{
- KX_GameObject* gameobje = (KX_GameObject*) sumolist->GetValue(j);
- if (gameobje->GetName()==busc)
- return gameobje->GetPhysicsController();
+ KX_GameObject* gameobje = (KX_GameObject*) sumolist->GetValue(j);
+ if (gameobje->GetName()==busc)
+ return gameobje->GetPhysicsController();
}
return 0;
@@ -1935,11 +1934,11 @@ KX_IPhysicsController* getPhId(CListValue* sumolist,STR_String busc){//not used
KX_GameObject* getGameOb(STR_String busc,CListValue* sumolist){
- for (int j=0;j<sumolist->GetCount();j++)
+ for (int j=0;j<sumolist->GetCount();j++)
{
- KX_GameObject* gameobje = (KX_GameObject*) sumolist->GetValue(j);
- if (gameobje->GetName()==busc)
- return gameobje;
+ KX_GameObject* gameobje = (KX_GameObject*) sumolist->GetValue(j);
+ if (gameobje->GetName()==busc)
+ return gameobje;
}
return 0;
@@ -1987,8 +1986,8 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
frame_type = RAS_FrameSettings::e_frame_scale;
}
- aspect_width = blenderscene->gm.xsch;
- aspect_height = blenderscene->gm.ysch;
+ aspect_width = blenderscene->r.xsch*blenderscene->r.xasp;
+ aspect_height = blenderscene->r.ysch*blenderscene->r.yasp;
}
RAS_FrameSettings frame_settings(
@@ -2101,8 +2100,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
gameobj->NodeSetLocalOrientation(MT_Matrix3x3(eulxyz));
gameobj->NodeSetLocalScale(scale);
gameobj->NodeUpdateGS(0);
-
- BL_ConvertIpos(blenderobject,gameobj,converter);
+
BL_ConvertMaterialIpos(blenderobject, gameobj, converter);
sumolist->Add(gameobj->AddRef());
@@ -2291,8 +2289,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
gameobj->NodeSetLocalOrientation(MT_Matrix3x3(eulxyz));
gameobj->NodeSetLocalScale(scale);
gameobj->NodeUpdateGS(0);
-
- BL_ConvertIpos(blenderobject,gameobj,converter);
+
BL_ConvertMaterialIpos(blenderobject,gameobj, converter);
sumolist->Add(gameobj->AddRef());
@@ -2642,7 +2639,7 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
{
PHY_IPhysicsController* physctrl = (PHY_IPhysicsController*) gameobj->GetPhysicsController()->GetUserData();
//we need to pass a full constraint frame, not just axis
-
+
//localConstraintFrameBasis
MT_Matrix3x3 localCFrame(MT_Vector3(dat->axX,dat->axY,dat->axZ));
MT_Vector3 axis0 = localCFrame.getColumn(0);
diff --git a/source/gameengine/Converter/BL_DeformableGameObject.cpp b/source/gameengine/Converter/BL_DeformableGameObject.cpp
index bfba054d0d4..48392ee8dda 100644
--- a/source/gameengine/Converter/BL_DeformableGameObject.cpp
+++ b/source/gameengine/Converter/BL_DeformableGameObject.cpp
@@ -87,15 +87,16 @@ bool BL_DeformableGameObject::SetActiveAction(BL_ShapeActionActuator *act, short
bool BL_DeformableGameObject::GetShape(vector<float> &shape)
{
shape.clear();
- if (m_pDeformer)
+ BL_ShapeDeformer* shape_deformer = dynamic_cast<BL_ShapeDeformer*>(m_pDeformer);
+ if (shape_deformer)
{
- Mesh* mesh = ((BL_MeshDeformer*)m_pDeformer)->GetMesh();
// this check is normally superfluous: a shape deformer can only be created if the mesh
// has relative keys
- if (mesh && mesh->key && mesh->key->type==KEY_RELATIVE)
+ Key* key = shape_deformer->GetKey();
+ if (key && key->type==KEY_RELATIVE)
{
KeyBlock *kb;
- for (kb = (KeyBlock*)mesh->key->block.first; kb; kb = (KeyBlock*)kb->next)
+ for (kb = (KeyBlock*)key->block.first; kb; kb = (KeyBlock*)kb->next)
{
shape.push_back(kb->curval);
}
diff --git a/source/gameengine/Converter/BL_DeformableGameObject.h b/source/gameengine/Converter/BL_DeformableGameObject.h
index 615bb84ac2b..3ba55664007 100644
--- a/source/gameengine/Converter/BL_DeformableGameObject.h
+++ b/source/gameengine/Converter/BL_DeformableGameObject.h
@@ -82,23 +82,6 @@ public:
bool SetActiveAction(class BL_ShapeActionActuator *act, short priority, double curtime);
bool GetShape(vector<float> &shape);
- Key* GetKey()
- {
- if(m_pDeformer) {
- BL_MeshDeformer *deformer= dynamic_cast<BL_MeshDeformer *>(m_pDeformer); // incase its not a MeshDeformer
- if(deformer) {
- return deformer->GetMesh()->key;
- }
-
-#if 0 // TODO. shape keys for softbody, currently they dont store a mesh.
- KX_SoftBodyDeformer *deformer_soft= dynamic_cast<KX_SoftBodyDeformer *>(m_pDeformer);
- if(deformer) {
- return deformer->GetMesh()->key;
- }
-#endif
- }
- return NULL;
- }
virtual void SetDeformer(class RAS_Deformer* deformer);
virtual class RAS_Deformer* GetDeformer()
diff --git a/source/gameengine/Converter/BL_MeshDeformer.h b/source/gameengine/Converter/BL_MeshDeformer.h
index 90466e930fb..0968478ce7e 100644
--- a/source/gameengine/Converter/BL_MeshDeformer.h
+++ b/source/gameengine/Converter/BL_MeshDeformer.h
@@ -88,7 +88,7 @@ protected:
// --
int m_tvtot;
BL_DeformableGameObject* m_gameobj;
- double m_lastDeformUpdate;
+ double m_lastDeformUpdate;
#ifdef WITH_CXX_GUARDEDALLOC
diff --git a/source/gameengine/Converter/BL_ShapeActionActuator.cpp b/source/gameengine/Converter/BL_ShapeActionActuator.cpp
index bb53c2d6fe6..ac377cdb7ca 100644
--- a/source/gameengine/Converter/BL_ShapeActionActuator.cpp
+++ b/source/gameengine/Converter/BL_ShapeActionActuator.cpp
@@ -59,10 +59,49 @@
extern "C" {
#include "BKE_animsys.h"
+ #include "BKE_key.h"
+ #include "RNA_access.h"
}
+BL_ShapeActionActuator::BL_ShapeActionActuator(SCA_IObject* gameobj,
+ const STR_String& propname,
+ const STR_String& framepropname,
+ float starttime,
+ float endtime,
+ struct bAction *action,
+ short playtype,
+ short blendin,
+ short priority,
+ float stride)
+ : SCA_IActuator(gameobj, KX_ACT_SHAPEACTION),
+
+ m_lastpos(0, 0, 0),
+ m_blendframe(0),
+ m_flag(0),
+ m_startframe (starttime),
+ m_endframe(endtime) ,
+ m_starttime(0),
+ m_localtime(starttime),
+ m_lastUpdate(-1),
+ m_blendin(blendin),
+ m_blendstart(0),
+ m_stridelength(stride),
+ m_playtype(playtype),
+ m_priority(priority),
+ m_action(action),
+ m_framepropname(framepropname),
+ m_propname(propname)
+{
+ m_idptr = new PointerRNA();
+ BL_DeformableGameObject *obj = (BL_DeformableGameObject*)GetParent();
+ BL_ShapeDeformer *shape_deformer = dynamic_cast<BL_ShapeDeformer*>(obj->GetDeformer());
+ RNA_id_pointer_create(&shape_deformer->GetKey()->id, m_idptr);
+};
+
BL_ShapeActionActuator::~BL_ShapeActionActuator()
{
+ if (m_idptr)
+ delete m_idptr;
}
void BL_ShapeActionActuator::ProcessReplica()
@@ -382,7 +421,11 @@ bool BL_ShapeActionActuator::Update(double curtime, bool frame)
/* Priority test */
if (obj->SetActiveAction(this, priority, curtime)){
- Key *key = obj->GetKey();
+ BL_ShapeDeformer *shape_deformer = dynamic_cast<BL_ShapeDeformer*>(obj->GetDeformer());
+ Key *key = NULL;
+
+ if (shape_deformer)
+ key = shape_deformer->GetKey();
if (!key) {
// this could happen if the mesh was changed in the middle of an action
@@ -397,10 +440,14 @@ bool BL_ShapeActionActuator::Update(double curtime, bool frame)
obj->GetShape(m_blendshape);
m_blendstart = curtime;
}
- // only interested in shape channel
- // in 2.4x was // extract_ipochannels_from_action(&tchanbase, &key->id, m_action, "Shape", m_localtime);
- BKE_animsys_evaluate_animdata(&key->id, key->adt, m_localtime, ADT_RECALC_ANIM);
+ KeyBlock *kb;
+ // We go through and clear out the keyblocks so there isn't any interference
+ // from other shape actions
+ for (kb=(KeyBlock*)key->block.first; kb; kb=(KeyBlock*)kb->next)
+ kb->curval = 0.f;
+
+ animsys_evaluate_action(m_idptr, m_action, NULL, m_localtime);
// XXX - in 2.5 theres no way to do this. possibly not that important to support - Campbell
if (0) { // XXX !execute_ipochannels(&tchanbase)) {
diff --git a/source/gameengine/Converter/BL_ShapeActionActuator.h b/source/gameengine/Converter/BL_ShapeActionActuator.h
index 7a4523d4554..efd24fc305f 100644
--- a/source/gameengine/Converter/BL_ShapeActionActuator.h
+++ b/source/gameengine/Converter/BL_ShapeActionActuator.h
@@ -54,27 +54,7 @@ public:
short playtype,
short blendin,
short priority,
- float stride)
- : SCA_IActuator(gameobj, KX_ACT_SHAPEACTION),
-
- m_lastpos(0, 0, 0),
- m_blendframe(0),
- m_flag(0),
- m_startframe (starttime),
- m_endframe(endtime) ,
- m_starttime(0),
- m_localtime(starttime),
- m_lastUpdate(-1),
- m_blendin(blendin),
- m_blendstart(0),
- m_stridelength(stride),
- m_playtype(playtype),
- m_priority(priority),
- m_action(action),
- m_framepropname(framepropname),
- m_propname(propname)
- {
- };
+ float stride);
virtual ~BL_ShapeActionActuator();
virtual bool Update(double curtime, bool frame);
virtual CValue* GetReplica();
@@ -160,6 +140,7 @@ protected:
STR_String m_framepropname;
STR_String m_propname;
vector<float> m_blendshape;
+ struct PointerRNA *m_idptr;
};
#endif
diff --git a/source/gameengine/Converter/BL_ShapeDeformer.cpp b/source/gameengine/Converter/BL_ShapeDeformer.cpp
index 8d8f149bb6c..f4c683f60ba 100644
--- a/source/gameengine/Converter/BL_ShapeDeformer.cpp
+++ b/source/gameengine/Converter/BL_ShapeDeformer.cpp
@@ -44,13 +44,12 @@
#include "RAS_MeshObject.h"
//#include "BL_ArmatureController.h"
+#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_action_types.h"
#include "DNA_key_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
-#include "DNA_ipo_types.h"
-#include "DNA_curve_types.h"
#include "BKE_armature.h"
#include "BKE_action.h"
#include "BKE_key.h"
@@ -59,6 +58,7 @@
extern "C"{
#include "BKE_lattice.h"
+ #include "BKE_animsys.h"
}
@@ -68,9 +68,42 @@ extern "C"{
#define __NLA_DEFNORMALS
//#undef __NLA_DEFNORMALS
+BL_ShapeDeformer::BL_ShapeDeformer(BL_DeformableGameObject *gameobj,
+ Object *bmeshobj,
+ RAS_MeshObject *mesh)
+ :
+ BL_SkinDeformer(gameobj,bmeshobj, mesh),
+ m_useShapeDrivers(false),
+ m_lastShapeUpdate(-1)
+{
+ m_key = m_bmesh->key;
+ m_bmesh->key = copy_key(m_key);
+};
+
+/* this second constructor is needed for making a mesh deformable on the fly. */
+BL_ShapeDeformer::BL_ShapeDeformer(BL_DeformableGameObject *gameobj,
+ Object *bmeshobj_old,
+ Object *bmeshobj_new,
+ RAS_MeshObject *mesh,
+ bool release_object,
+ bool recalc_normal,
+ BL_ArmatureObject* arma)
+ :
+ BL_SkinDeformer(gameobj, bmeshobj_old, bmeshobj_new, mesh, release_object, recalc_normal, arma),
+ m_useShapeDrivers(false),
+ m_lastShapeUpdate(-1)
+{
+ m_key = m_bmesh->key;
+ m_bmesh->key = copy_key(m_key);
+};
BL_ShapeDeformer::~BL_ShapeDeformer()
{
+ if (m_key && m_bmesh->key)
+ {
+ free_key(m_bmesh->key);
+ m_bmesh->key = m_key;
+ }
};
RAS_Deformer *BL_ShapeDeformer::GetReplica()
@@ -90,45 +123,23 @@ void BL_ShapeDeformer::ProcessReplica()
bool BL_ShapeDeformer::LoadShapeDrivers(Object* arma)
{
- IpoCurve *icu;
-
- m_shapeDrivers.clear();
- // check if this mesh has armature driven shape keys
- if (m_bmesh->key && m_bmesh->key->ipo) {
- for(icu= (IpoCurve*)m_bmesh->key->ipo->curve.first; icu; icu= (IpoCurve*)icu->next) {
- if(icu->driver &&
- (icu->flag & IPO_MUTE) == 0 &&
- icu->driver->type == IPO_DRIVER_TYPE_NORMAL &&
- icu->driver->ob == arma &&
- icu->driver->blocktype == ID_AR) {
- // this shape key ipo curve has a driver on the parent armature
- // record this curve in the shape deformer so that the corresponding
- m_shapeDrivers.push_back(icu);
- }
- }
- }
- return !m_shapeDrivers.empty();
+ // This used to check if we had drivers from this armature,
+ // now we just assume we want to use shape drivers
+ // and let the animsys handle things.
+ m_useShapeDrivers = true;
+
+ return true;
}
bool BL_ShapeDeformer::ExecuteShapeDrivers(void)
{
- if (!m_shapeDrivers.empty() && PoseUpdated()) {
- vector<IpoCurve*>::iterator it;
-// void *poin;
-// int type;
-
+ if (m_useShapeDrivers && PoseUpdated()) {
// the shape drivers use the bone matrix as input. Must
// update the matrix now
m_armobj->ApplyPose();
- for (it=m_shapeDrivers.begin(); it!=m_shapeDrivers.end(); it++) {
- // no need to set a specific time: this curve has a driver
- // XXX IpoCurve *icu = *it;
- //calc_icu(icu, 1.0f);
- //poin = get_ipo_poin((ID*)m_bmesh->key, icu, &type);
- //if (poin)
- // write_ipo_poin(poin, type, icu->curval);
- }
+ // We don't need an actual time, just use 0
+ BKE_animsys_evaluate_animdata(NULL, &GetKey()->id, GetKey()->adt, 0.f, ADT_RECALC_DRIVERS);
ForceUpdate();
m_armobj->RestorePose();
@@ -190,3 +201,13 @@ bool BL_ShapeDeformer::Update(void)
}
return bSkinUpdate;
}
+
+Key *BL_ShapeDeformer::GetKey()
+{
+ return m_bmesh->key;
+}
+
+void BL_ShapeDeformer::SetKey(Key *key)
+{
+ m_bmesh->key = key;
+}
diff --git a/source/gameengine/Converter/BL_ShapeDeformer.h b/source/gameengine/Converter/BL_ShapeDeformer.h
index 8115af59d27..609603ae52b 100644
--- a/source/gameengine/Converter/BL_ShapeDeformer.h
+++ b/source/gameengine/Converter/BL_ShapeDeformer.h
@@ -42,19 +42,12 @@
#include "BL_DeformableGameObject.h"
#include <vector>
-struct IpoCurve;
-
class BL_ShapeDeformer : public BL_SkinDeformer
{
public:
BL_ShapeDeformer(BL_DeformableGameObject *gameobj,
- Object *bmeshobj,
- RAS_MeshObject *mesh)
- :
- BL_SkinDeformer(gameobj,bmeshobj, mesh),
- m_lastShapeUpdate(-1)
- {
- };
+ Object *bmeshobj,
+ RAS_MeshObject *mesh);
/* this second constructor is needed for making a mesh deformable on the fly. */
BL_ShapeDeformer(BL_DeformableGameObject *gameobj,
@@ -63,12 +56,7 @@ public:
class RAS_MeshObject *mesh,
bool release_object,
bool recalc_normal,
- BL_ArmatureObject* arma = NULL)
- :
- BL_SkinDeformer(gameobj, bmeshobj_old, bmeshobj_new, mesh, release_object, recalc_normal, arma),
- m_lastShapeUpdate(-1)
- {
- };
+ BL_ArmatureObject* arma = NULL);
virtual RAS_Deformer *GetReplica();
virtual void ProcessReplica();
@@ -78,14 +66,18 @@ public:
bool LoadShapeDrivers(Object* arma);
bool ExecuteShapeDrivers(void);
+ struct Key *GetKey();
+ void SetKey(struct Key *key);
+
void ForceUpdate()
{
m_lastShapeUpdate = -1.0;
};
protected:
- vector<IpoCurve*> m_shapeDrivers;
- double m_lastShapeUpdate;
+ bool m_useShapeDrivers;
+ double m_lastShapeUpdate;
+ struct Key* m_key;
#ifdef WITH_CXX_GUARDEDALLOC
diff --git a/source/gameengine/Converter/BL_SkinDeformer.cpp b/source/gameengine/Converter/BL_SkinDeformer.cpp
index 34f9cb56c27..98afcf877a1 100644
--- a/source/gameengine/Converter/BL_SkinDeformer.cpp
+++ b/source/gameengine/Converter/BL_SkinDeformer.cpp
@@ -36,6 +36,10 @@
#pragma warning (disable : 4786)
#endif //WIN32
+// Eigen2 stuff used for BGEDeformVerts
+#include <Eigen/Core>
+#include <Eigen/LU>
+
#include "BL_SkinDeformer.h"
#include "CTR_Map.h"
#include "STR_HashedString.h"
@@ -54,6 +58,7 @@
extern "C"{
#include "BKE_lattice.h"
+ #include "BKE_deform.h"
}
@@ -74,7 +79,9 @@ BL_SkinDeformer::BL_SkinDeformer(BL_DeformableGameObject *gameobj,
//m_defbase(&bmeshobj->defbase),
m_releaseobject(false),
m_poseApplied(false),
- m_recalcNormal(true)
+ m_recalcNormal(true),
+ m_copyNormals(false),
+ m_dfnrToPC(NULL)
{
copy_m4_m4(m_obmat, bmeshobj->obmat);
};
@@ -92,7 +99,9 @@ BL_SkinDeformer::BL_SkinDeformer(
m_lastArmaUpdate(-1),
//m_defbase(&bmeshobj_old->defbase),
m_releaseobject(release_object),
- m_recalcNormal(recalc_normal)
+ m_recalcNormal(recalc_normal),
+ m_copyNormals(false),
+ m_dfnrToPC(NULL)
{
// this is needed to ensure correct deformation of mesh:
// the deformation is done with Blender's armature_deform_verts() function
@@ -106,6 +115,8 @@ BL_SkinDeformer::~BL_SkinDeformer()
{
if(m_releaseobject && m_armobj)
m_armobj->Release();
+ if(m_dfnrToPC)
+ delete [] m_dfnrToPC;
}
void BL_SkinDeformer::Relink(CTR_Map<class CTR_HashedPtr, void*>*map)
@@ -152,9 +163,14 @@ bool BL_SkinDeformer::Apply(RAS_IPolyMaterial *mat)
for(i=it.startvertex; i<it.endvertex; i++) {
RAS_TexVert& v = it.vertex[i];
v.SetXYZ(m_transverts[v.getOrigIndex()]);
+ if (m_copyNormals)
+ v.SetNormal(m_transnors[v.getOrigIndex()]);
}
}
}
+
+ if (m_copyNormals)
+ m_copyNormals = false;
}
return true;
}
@@ -174,19 +190,124 @@ void BL_SkinDeformer::ProcessReplica()
BL_MeshDeformer::ProcessReplica();
m_lastArmaUpdate = -1;
m_releaseobject = false;
+ m_dfnrToPC = NULL;
+}
+
+void BL_SkinDeformer::BlenderDeformVerts()
+{
+ float obmat[4][4]; // the original object matrix
+ Object* par_arma = m_armobj->GetArmatureObject();
+
+ // save matrix first
+ copy_m4_m4(obmat, m_objMesh->obmat);
+ // set reference matrix
+ copy_m4_m4(m_objMesh->obmat, m_obmat);
+
+ armature_deform_verts( par_arma, m_objMesh, NULL, m_transverts, NULL, m_bmesh->totvert, ARM_DEF_VGROUP, NULL, NULL );
+
+ // restore matrix
+ copy_m4_m4(m_objMesh->obmat, obmat);
+
+#ifdef __NLA_DEFNORMALS
+ if (m_recalcNormal)
+ RecalcNormals();
+#endif
+}
+
+void BL_SkinDeformer::BGEDeformVerts()
+{
+ Object *par_arma = m_armobj->GetArmatureObject();
+ MDeformVert *dverts = m_bmesh->dvert;
+ bDeformGroup *dg;
+ int numGroups = BLI_countlist(&m_objMesh->defbase);
+
+ if (!dverts)
+ return;
+
+ if (m_dfnrToPC == NULL)
+ {
+ m_dfnrToPC = new bPoseChannel*[numGroups];
+ int i;
+ for (i=0, dg=(bDeformGroup*)m_objMesh->defbase.first;
+ dg;
+ ++i, dg=(bDeformGroup*)dg->next)
+ {
+ m_dfnrToPC[i] = get_pose_channel(par_arma->pose, dg->name);
+
+ if (m_dfnrToPC[i] && m_dfnrToPC[i]->bone->flag & BONE_NO_DEFORM)
+ m_dfnrToPC[i] = NULL;
+ }
+ }
+
+
+ for (int i=0; i<m_bmesh->totvert; ++i)
+ {
+ float contrib = 0.f, weight, max_weight=0.f;
+ bPoseChannel *pchan=NULL;
+ MDeformVert *dvert;
+ Eigen::Map<Eigen::Vector3f> norm(m_transnors[i]);
+ Eigen::Vector4f vec(0, 0, 0, 1);
+ Eigen::Matrix4f norm_chan_mat;
+ Eigen::Vector4f co(m_transverts[i][0],
+ m_transverts[i][1],
+ m_transverts[i][2],
+ 1.f);
+
+ dvert = dverts+i;
+
+ if (!dvert->totweight)
+ continue;
+
+ for (int j=0; j<dvert->totweight; ++j)
+ {
+ int index = dvert->dw[j].def_nr;
+
+ if (index < numGroups && (pchan=m_dfnrToPC[index]))
+ {
+ weight = dvert->dw[j].weight;
+
+ if (weight)
+ {
+ Eigen::Vector4f cop(co);
+ Eigen::Matrix4f chan_mat = Eigen::Matrix4f::Map((float*)pchan->chan_mat);
+
+ // Update Vertex Position
+ cop = chan_mat*cop;
+ vec += (cop - co)*weight;
+
+ // Save the most influential channel so we can use it to update the vertex normal
+ if (weight > max_weight)
+ {
+ max_weight = weight;
+ norm_chan_mat = chan_mat;
+ }
+
+ contrib += weight;
+ }
+ }
+ }
+
+
+ // Update Vertex Normal
+ norm = norm_chan_mat.corner<3, 3>(Eigen::TopLeft)*norm;
+
+ if (contrib > 0.0001f)
+ {
+ vec *= 1.f/contrib;
+ co += vec;
+ }
+
+ m_transverts[i][0] = co[0];
+ m_transverts[i][1] = co[1];
+ m_transverts[i][2] = co[2];
+ }
+ m_copyNormals = true;
}
-//void where_is_pose (Object *ob);
-//void armature_deform_verts(Object *armOb, Object *target, float (*vertexCos)[3], int numVerts, int deformflag);
bool BL_SkinDeformer::UpdateInternal(bool shape_applied)
{
/* See if the armature has been updated for this frame */
if (PoseUpdated()){
- float obmat[4][4]; // the original object matrice
-
- /* XXX note: where_is_pose() (from BKE_armature.h) calculates all matrices needed to start deforming */
- /* but it requires the blender object pointer... */
- Object* par_arma = m_armobj->GetArmatureObject();
if(!shape_applied) {
/* store verts locally */
@@ -194,25 +315,23 @@ bool BL_SkinDeformer::UpdateInternal(bool shape_applied)
/* duplicate */
for (int v =0; v<m_bmesh->totvert; v++)
+ {
VECCOPY(m_transverts[v], m_bmesh->mvert[v].co);
+ VECCOPY(m_transnors[v], m_bmesh->mvert[v].no);
+ }
}
m_armobj->ApplyPose();
- // save matrix first
- copy_m4_m4(obmat, m_objMesh->obmat);
- // set reference matrix
- copy_m4_m4(m_objMesh->obmat, m_obmat);
-
- armature_deform_verts( par_arma, m_objMesh, NULL, m_transverts, NULL, m_bmesh->totvert, ARM_DEF_VGROUP, NULL, NULL );
-
- // restore matrix
- copy_m4_m4(m_objMesh->obmat, obmat);
-
-#ifdef __NLA_DEFNORMALS
- if (m_recalcNormal)
- RecalcNormals();
-#endif
+ switch (m_armobj->GetVertDeformType())
+ {
+ case ARM_VDEF_BGE_CPU:
+ BGEDeformVerts();
+ break;
+ case ARM_VDEF_BLENDER:
+ default:
+ BlenderDeformVerts();
+ }
/* Update the current frame */
m_lastArmaUpdate=m_armobj->GetLastFrame();
diff --git a/source/gameengine/Converter/BL_SkinDeformer.h b/source/gameengine/Converter/BL_SkinDeformer.h
index e53e21e946f..be974619281 100644
--- a/source/gameengine/Converter/BL_SkinDeformer.h
+++ b/source/gameengine/Converter/BL_SkinDeformer.h
@@ -109,6 +109,11 @@ protected:
bool m_releaseobject;
bool m_poseApplied;
bool m_recalcNormal;
+ bool m_copyNormals; // dirty flag so we know if Apply() needs to copy normal information (used for BGEDeformVerts())
+ struct bPoseChannel** m_dfnrToPC;
+
+ void BlenderDeformVerts();
+ void BGEDeformVerts();
#ifdef WITH_CXX_GUARDEDALLOC
diff --git a/source/gameengine/Converter/BlenderWorldInfo.cpp b/source/gameengine/Converter/BlenderWorldInfo.cpp
index 8fc01032de7..f003a0049e5 100644
--- a/source/gameengine/Converter/BlenderWorldInfo.cpp
+++ b/source/gameengine/Converter/BlenderWorldInfo.cpp
@@ -170,10 +170,10 @@ float BlenderWorldInfo::getMistStart()
float BlenderWorldInfo::getMistDistance()
{
return m_mistdistance;
-}
-
+}
+
+
-
float BlenderWorldInfo::getMistColorRed()
{
return m_mistcolor[0];
diff --git a/source/gameengine/Converter/CMakeLists.txt b/source/gameengine/Converter/CMakeLists.txt
index fcb608a5830..039f454e870 100644
--- a/source/gameengine/Converter/CMakeLists.txt
+++ b/source/gameengine/Converter/CMakeLists.txt
@@ -26,37 +26,36 @@
set(INC
.
- ../../../intern/string
- ../../../intern/guardedalloc
+ ../BlenderRoutines
+ ../Expressions
+ ../GameLogic
+ ../Ketsji
+ ../Ketsji/KXNetwork
+ ../Network
+ ../Network/LoopBackNetwork
+ ../Physics/Bullet
+ ../Physics/Dummy
+ ../Physics/common
+ ../Rasterizer
+ ../Rasterizer/RAS_OpenGLRasterizer
+ ../Rasterizer/RAS_OpenGLRasterizer
+ ../SceneGraph
+ ../../blender
+ ../../blender/blenkernel
+ ../../blender/blenlib
+ ../../blender/blenloader
+ ../../blender/gpu
+ ../../blender/ikplugin
+ ../../blender/imbuf
+ ../../blender/makesdna
+ ../../blender/makesrna
+ ../../blender/windowmanager
+ ../../../extern/bullet2/src
+ ../../../extern/Eigen2
../../../intern/container
- ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../intern/audaspace/intern
- ../../../source/gameengine/Converter
- ../../../source/gameengine/BlenderRoutines
- ../../../source/blender/imbuf
+ ../../../intern/guardedalloc
../../../intern/moto/include
- ../../../source/gameengine/Ketsji
- ../../../source/gameengine/Ketsji/KXNetwork
- ../../../source/blender/blenlib
- ../../../source/blender/blenkernel
- ../../../source/blender/windowmanager
- ../../../source/blender
- ../../../source/blender/makesdna
- ../../../source/blender/makesrna
- ../../../source/gameengine/Rasterizer
- ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../source/gameengine/GameLogic
- ../../../source/gameengine/Expressions
- ../../../source/gameengine/Network
- ../../../source/gameengine/SceneGraph
- ../../../source/gameengine/Physics/common
- ../../../source/gameengine/Physics/Bullet
- ../../../source/gameengine/Physics/Dummy
- ../../../source/gameengine/Network/LoopBackNetwork
- ../../../source/blender/blenloader
- ../../../source/blender/gpu
- ../../../source/blender/ikplugin
- ../../../extern/bullet2/src
+ ../../../intern/string
../../../extern/recastnavigation/Detour/Include
)
@@ -114,4 +113,11 @@ if(WITH_BULLET)
add_definitions(-DUSE_BULLET)
endif()
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
blender_add_lib(ge_converter "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/Converter/KX_BlenderScalarInterpolator.cpp b/source/gameengine/Converter/KX_BlenderScalarInterpolator.cpp
index a9a3e66f996..75c0e012226 100644
--- a/source/gameengine/Converter/KX_BlenderScalarInterpolator.cpp
+++ b/source/gameengine/Converter/KX_BlenderScalarInterpolator.cpp
@@ -47,11 +47,11 @@ float BL_ScalarInterpolator::GetValue(float currentTime) const {
return evaluate_fcurve(m_fcu, currentTime);
}
-BL_InterpolatorList::BL_InterpolatorList(struct AnimData *adt) {
- if(adt->action==NULL)
+BL_InterpolatorList::BL_InterpolatorList(bAction *action) {
+ if(action==NULL)
return;
- for(FCurve *fcu= (FCurve *)adt->action->curves.first; fcu; fcu= (FCurve *)fcu->next) {
+ for(FCurve *fcu= (FCurve *)action->curves.first; fcu; fcu= (FCurve *)fcu->next) {
if(fcu->rna_path) {
BL_ScalarInterpolator *new_ipo = new BL_ScalarInterpolator(fcu);
//assert(new_ipo);
diff --git a/source/gameengine/Converter/KX_BlenderScalarInterpolator.h b/source/gameengine/Converter/KX_BlenderScalarInterpolator.h
index bd786bae969..cca66b3771c 100644
--- a/source/gameengine/Converter/KX_BlenderScalarInterpolator.h
+++ b/source/gameengine/Converter/KX_BlenderScalarInterpolator.h
@@ -66,7 +66,7 @@ public:
class BL_InterpolatorList : public std::vector<KX_IScalarInterpolator *> {
public:
- BL_InterpolatorList(struct AnimData *adt);
+ BL_InterpolatorList(struct bAction *action);
~BL_InterpolatorList();
KX_IScalarInterpolator *GetScalarInterpolator(const char *rna_path, int array_index);
diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
index 58089cc4b2d..656dcfa3220 100644
--- a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
+++ b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
@@ -385,6 +385,12 @@ void KX_BlenderSceneConverter::ConvertScene(class KX_Scene* destinationscene,
//This cache mecanism is buggy so I leave it disable and the memory leak
//that would result from this is fixed in RemoveScene()
m_map_mesh_to_gamemesh.clear();
+
+#ifndef USE_BULLET
+ /* quiet compiler warning */
+ (void)useDbvtCulling;
+#endif
+
}
// This function removes all entities stored in the converter for that scene
@@ -566,18 +572,18 @@ void KX_BlenderSceneConverter::RegisterPolyMaterial(RAS_IPolyMaterial *polymat)
void KX_BlenderSceneConverter::RegisterInterpolatorList(
- BL_InterpolatorList *adtList,
- struct AnimData *for_adt)
+ BL_InterpolatorList *actList,
+ struct bAction *for_act)
{
- m_map_blender_to_gameAdtList.insert(CHashedPtr(for_adt), adtList);
+ m_map_blender_to_gameAdtList.insert(CHashedPtr(for_act), actList);
}
BL_InterpolatorList *KX_BlenderSceneConverter::FindInterpolatorList(
- struct AnimData *for_adt)
+ struct bAction *for_act)
{
- BL_InterpolatorList **listp = m_map_blender_to_gameAdtList[CHashedPtr(for_adt)];
+ BL_InterpolatorList **listp = m_map_blender_to_gameAdtList[CHashedPtr(for_act)];
return listp?*listp:NULL;
}
@@ -679,7 +685,7 @@ void KX_BlenderSceneConverter::ResetPhysicsObjectsAnimationIpo(bool clearIpo)
MEM_freeN( tmpicu );
localDel_ipoCurve( tmpicu );
}
- }
+ }
} else
{ ipo = NULL; // XXX add_ipo(blenderObject->id.name+2, ID_OB);
blenderObject->ipo = ipo;
@@ -950,7 +956,6 @@ bool KX_BlenderSceneConverter::LinkBlendFilePath(const char *path, char *group,
bool KX_BlenderSceneConverter::LinkBlendFile(BlendHandle *bpy_openlib, const char *path, char *group, KX_Scene *scene_merge, char **err_str, short options)
{
- bContext *C;
Main *main_newlib; /* stored as a dynamic 'main' until we free it */
Main *main_tmp= NULL; /* created only for linking, then freed */
LinkNode *names = NULL;
@@ -981,12 +986,10 @@ bool KX_BlenderSceneConverter::LinkBlendFile(BlendHandle *bpy_openlib, const cha
}
main_newlib= (Main *)MEM_callocN( sizeof(Main), "BgeMain");
- C= CTX_create();
- CTX_data_main_set(C, main_newlib);
BKE_reports_init(&reports, RPT_STORE);
/* here appending/linking starts */
- main_tmp = BLO_library_append_begin(C, &bpy_openlib, (char *)path);
+ main_tmp = BLO_library_append_begin(main_newlib, &bpy_openlib, (char *)path);
int totnames_dummy;
names = BLO_blendhandle_get_datablock_names( bpy_openlib, idcode, &totnames_dummy);
@@ -1000,11 +1003,11 @@ bool KX_BlenderSceneConverter::LinkBlendFile(BlendHandle *bpy_openlib, const cha
}
BLI_linklist_free(names, free); /* free linklist *and* each node's data */
- BLO_library_append_end(C, main_tmp, &bpy_openlib, idcode, flag);
+ BLO_library_append_end(NULL, main_tmp, &bpy_openlib, idcode, flag);
/* now do another round of linking for Scenes so all actions are properly loaded */
if (idcode==ID_SCE && options & LIB_LOAD_LOAD_ACTIONS) {
- main_tmp = BLO_library_append_begin(C, &bpy_openlib, (char *)path);
+ main_tmp = BLO_library_append_begin(main_newlib, &bpy_openlib, (char *)path);
int totnames_dummy;
names = BLO_blendhandle_get_datablock_names( bpy_openlib, ID_AC, &totnames_dummy);
@@ -1018,12 +1021,11 @@ bool KX_BlenderSceneConverter::LinkBlendFile(BlendHandle *bpy_openlib, const cha
}
BLI_linklist_free(names, free); /* free linklist *and* each node's data */
- BLO_library_append_end(C, main_tmp, &bpy_openlib, ID_AC, flag);
+ BLO_library_append_end(NULL, main_tmp, &bpy_openlib, ID_AC, flag);
}
BLO_blendhandle_close(bpy_openlib);
-
- CTX_free(C);
+
BKE_reports_clear(&reports);
/* done linking */
@@ -1087,7 +1089,7 @@ bool KX_BlenderSceneConverter::LinkBlendFile(BlendHandle *bpy_openlib, const cha
* most are temp and NewRemoveObject frees m_map_gameobject_to_blender */
bool KX_BlenderSceneConverter::FreeBlendFile(struct Main *maggie)
{
- int maggie_index;
+ int maggie_index= -1;
int i=0;
if(maggie==NULL)
@@ -1105,6 +1107,10 @@ bool KX_BlenderSceneConverter::FreeBlendFile(struct Main *maggie)
i++;
}
+ /* should never happen but just to be safe */
+ if(maggie_index == -1)
+ return false;
+
m_DynamicMaggie.erase(m_DynamicMaggie.begin() + maggie_index);
tag_main(maggie, 1);
diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.h b/source/gameengine/Converter/KX_BlenderSceneConverter.h
index 2340e44d288..ba919eb9592 100644
--- a/source/gameengine/Converter/KX_BlenderSceneConverter.h
+++ b/source/gameengine/Converter/KX_BlenderSceneConverter.h
@@ -113,8 +113,8 @@ public:
void RegisterBlenderMaterial(BL_Material *mat);
- void RegisterInterpolatorList(BL_InterpolatorList *adtList, struct AnimData *for_adt);
- BL_InterpolatorList *FindInterpolatorList(struct AnimData *for_adt);
+ void RegisterInterpolatorList(BL_InterpolatorList *actList, struct bAction *for_act);
+ BL_InterpolatorList *FindInterpolatorList(struct bAction *for_act);
void RegisterGameActuator(SCA_IActuator *act, struct bActuator *for_actuator);
SCA_IActuator *FindGameActuator(struct bActuator *for_actuator);
diff --git a/source/gameengine/Converter/KX_ConvertActuators.cpp b/source/gameengine/Converter/KX_ConvertActuators.cpp
index a8d5ab0b2ff..c73ffc2b932 100644
--- a/source/gameengine/Converter/KX_ConvertActuators.cpp
+++ b/source/gameengine/Converter/KX_ConvertActuators.cpp
@@ -43,7 +43,12 @@
#include "KX_BlenderSceneConverter.h"
#include "KX_ConvertActuators.h"
-#include "AUD_C-API.h"
+
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+# include "AUD_ChannelMapperFactory.h"
+#endif
+
// Actuators
//SCA logiclibrary native logicbricks
#include "SCA_PropertyActuator.h"
@@ -78,6 +83,7 @@
/* This little block needed for linking to Blender... */
#include "BKE_text.h"
#include "BLI_blenlib.h"
+#include "BLI_math_base.h"
#define FILE_MAX 240 // repeated here to avoid dependency from BKE_utildefines.h
@@ -96,6 +102,7 @@
#include "BL_ShapeActionActuator.h"
#include "BL_ArmatureActuator.h"
#include "RNA_access.h"
+#include "BL_Action.h"
/* end of blender include block */
#include "BL_BlenderDataConversion.h"
@@ -193,30 +200,37 @@ void BL_ConvertActuators(char* maggiename,
}
case ACT_ACTION:
{
- if (blenderobject->type==OB_ARMATURE){
- bActionActuator* actact = (bActionActuator*) bact->data;
- STR_String propname = (actact->name ? actact->name : "");
- STR_String propframe = (actact->frameProp ? actact->frameProp : "");
+ bActionActuator* actact = (bActionActuator*) bact->data;
+ STR_String propname = (actact->name ? actact->name : "");
+ STR_String propframe = (actact->frameProp ? actact->frameProp : "");
+
+ short ipo_flags = 0;
+
+ // Convert flags
+ if (actact->flag & ACT_IPOFORCE) ipo_flags |= BL_Action::ACT_IPOFLAG_FORCE;
+ if (actact->flag & ACT_IPOLOCAL) ipo_flags |= BL_Action::ACT_IPOFLAG_LOCAL;
+ if (actact->flag & ACT_IPOADD) ipo_flags |= BL_Action::ACT_IPOFLAG_ADD;
+ if (actact->flag & ACT_IPOCHILD) ipo_flags |= BL_Action::ACT_IPOFLAG_CHILD;
- BL_ActionActuator* tmpbaseact = new BL_ActionActuator(
- gameobj,
- propname,
- propframe,
- actact->sta,
- actact->end,
- actact->act,
- actact->type, // + 1, because Blender starts to count at zero,
- actact->blendin,
- actact->priority,
- actact->end_reset,
- actact->stridelength
- // Ketsji at 1, because zero is reserved for "NoDef"
- );
- baseact= tmpbaseact;
- break;
- }
- else
- printf ("Discarded action actuator from non-armature object [%s]\n", blenderobject->id.name+2);
+ BL_ActionActuator* tmpbaseact = new BL_ActionActuator(
+ gameobj,
+ propname,
+ propframe,
+ actact->sta,
+ actact->end,
+ actact->act,
+ actact->type, // + 1, because Blender starts to count at zero,
+ actact->blendin,
+ actact->priority,
+ actact->layer,
+ actact->layer_weight,
+ ipo_flags,
+ actact->end_reset,
+ actact->stridelength
+ // Ketsji at 1, because zero is reserved for "NoDef"
+ );
+ baseact= tmpbaseact;
+ break;
}
case ACT_SHAPEACTION:
{
@@ -288,7 +302,8 @@ void BL_ConvertActuators(char* maggiename,
camact->height,
camact->min,
camact->max,
- camact->axis=='x');
+ camact->axis=='x',
+ camact->damping);
baseact = tmpcamact;
}
break;
@@ -376,7 +391,7 @@ void BL_ConvertActuators(char* maggiename,
{
bSound* sound = soundact->sound;
bool is3d = soundact->flag & ACT_SND_3D_SOUND ? true : false;
- AUD_Sound* snd_sound = NULL;
+ AUD_Reference<AUD_IFactory> snd_sound;
KX_3DSoundSettings settings;
settings.cone_inner_angle = soundact->sound3D.cone_inner_angle;
settings.cone_outer_angle = soundact->sound3D.cone_outer_angle;
@@ -394,12 +409,28 @@ void BL_ConvertActuators(char* maggiename,
"\" has no sound datablock." << std::endl;
}
else
- snd_sound = sound->playback_handle;
+ {
+ snd_sound = *reinterpret_cast<AUD_Reference<AUD_IFactory>*>(sound->playback_handle);
+
+ // if sound shall be 3D but isn't mono, we have to make it mono!
+ if(is3d)
+ {
+ AUD_Reference<AUD_IReader> reader = snd_sound->createReader();
+ if(reader->getSpecs().channels != AUD_CHANNELS_MONO)
+ {
+ AUD_DeviceSpecs specs;
+ specs.channels = AUD_CHANNELS_MONO;
+ specs.rate = AUD_RATE_INVALID;
+ specs.format = AUD_FORMAT_INVALID;
+ snd_sound = new AUD_ChannelMapperFactory(snd_sound, specs);
+ }
+ }
+ }
KX_SoundActuator* tmpsoundact =
new KX_SoundActuator(gameobj,
snd_sound,
soundact->volume,
- (float)(exp((soundact->pitch / 12.0) * log(2.0))),
+ (float)(exp((soundact->pitch / 12.0) * M_LN2)),
is3d,
settings,
soundActuatorType);
@@ -913,7 +944,7 @@ void BL_ConvertActuators(char* maggiename,
case ACT_2DFILTER:
{
bTwoDFilterActuator *_2dfilter = (bTwoDFilterActuator*) bact->data;
- SCA_2DFilterActuator *tmp = NULL;
+ SCA_2DFilterActuator *tmp = NULL;
RAS_2DFilterManager::RAS_2DFILTER_MODE filtermode;
switch(_2dfilter->type)
@@ -967,7 +998,7 @@ void BL_ConvertActuators(char* maggiename,
filtermode = RAS_2DFilterManager::RAS_2DFILTER_NOFILTER;
break;
}
-
+
tmp = new SCA_2DFilterActuator(gameobj, filtermode, _2dfilter->flag,
_2dfilter->float_arg,_2dfilter->int_arg,ketsjiEngine->GetRasterizer(),scene);
@@ -983,8 +1014,8 @@ void BL_ConvertActuators(char* maggiename,
}
}
- baseact = tmp;
-
+ baseact = tmp;
+
}
break;
case ACT_PARENT:
diff --git a/source/gameengine/Converter/KX_ConvertControllers.cpp b/source/gameengine/Converter/KX_ConvertControllers.cpp
index 98afc3a690a..fafaaf5cef6 100644
--- a/source/gameengine/Converter/KX_ConvertControllers.cpp
+++ b/source/gameengine/Converter/KX_ConvertControllers.cpp
@@ -210,7 +210,11 @@ void BL_ConvertControllers(
CIntValue* uniqueval = new CIntValue(uniqueint);
uniquename += uniqueval->GetText();
uniqueval->Release();
- gamecontroller->SetName(uniquename);
+ //unique name was never implemented for sensors and actuators, only for controllers
+ //and it's producing difference in the keys for the lists: obj.controllers/sensors/actuators
+ //at some point it should either be implemented globally (and saved as a separate var) or removed.
+ //gamecontroller->SetName(uniquename);
+ gamecontroller->SetName(bcontr->name);
gameobj->AddController(gamecontroller);
converter->RegisterGameController(gamecontroller, bcontr);
diff --git a/source/gameengine/Converter/KX_ConvertSensors.cpp b/source/gameengine/Converter/KX_ConvertSensors.cpp
index ad6941dcdc7..a250bc6064b 100644
--- a/source/gameengine/Converter/KX_ConvertSensors.cpp
+++ b/source/gameengine/Converter/KX_ConvertSensors.cpp
@@ -276,7 +276,7 @@ void BL_ConvertSensors(struct Object* blenderobject,
gReverseKeyTranslateTable[ENDKEY ] = SCA_IInputDevice::KX_ENDKEY;
}
- int executePriority = 0;
+ int executePriority = 0;
int uniqueint = 0;
int count = 0;
bSensor* sens = (bSensor*)blenderobject->sensors.first;
diff --git a/source/gameengine/Converter/KX_IpoConvert.cpp b/source/gameengine/Converter/KX_IpoConvert.cpp
index 2ad56717e26..b13dbe324f5 100644
--- a/source/gameengine/Converter/KX_IpoConvert.cpp
+++ b/source/gameengine/Converter/KX_IpoConvert.cpp
@@ -54,6 +54,7 @@
#include "DNA_object_types.h"
#include "DNA_action_types.h"
+#include "DNA_anim_types.h"
#include "DNA_ipo_types.h"
#include "DNA_lamp_types.h"
#include "DNA_world_types.h"
@@ -72,226 +73,226 @@
#include "STR_HashedString.h"
-static BL_InterpolatorList *GetAdtList(struct AnimData *for_adt, KX_BlenderSceneConverter *converter) {
- BL_InterpolatorList *adtList= converter->FindInterpolatorList(for_adt);
+static BL_InterpolatorList *GetAdtList(struct bAction *for_act, KX_BlenderSceneConverter *converter) {
+ BL_InterpolatorList *adtList= converter->FindInterpolatorList(for_act);
if (!adtList) {
- adtList = new BL_InterpolatorList(for_adt);
- converter->RegisterInterpolatorList(adtList, for_adt);
+ adtList = new BL_InterpolatorList(for_act);
+ converter->RegisterInterpolatorList(adtList, for_act);
}
return adtList;
}
-void BL_ConvertIpos(struct Object* blenderobject,KX_GameObject* gameobj,KX_BlenderSceneConverter *converter)
+SG_Controller *BL_CreateIPO(struct bAction *action, KX_GameObject* gameobj, KX_BlenderSceneConverter *converter)
{
- if (blenderobject->adt) {
-
- KX_IpoSGController* ipocontr = new KX_IpoSGController();
- gameobj->GetSGNode()->AddSGController(ipocontr);
- ipocontr->SetObject(gameobj->GetSGNode());
-
- // For ipo_as_force, we need to know which SM object and Scene the
- // object associated with this ipo is in. Is this already known here?
- // I think not.... then it must be done later :(
-// ipocontr->SetSumoReference(gameobj->GetSumoScene(),
-// gameobj->GetSumoObject());
-
- ipocontr->SetGameObject(gameobj);
-
- ipocontr->GetIPOTransform().SetPosition(
- MT_Point3(
- blenderobject->loc[0]/*+blenderobject->dloc[0]*/,
- blenderobject->loc[1]/*+blenderobject->dloc[1]*/,
- blenderobject->loc[2]/*+blenderobject->dloc[2]*/
- )
- );
- ipocontr->GetIPOTransform().SetEulerAngles(
- MT_Vector3(
- blenderobject->rot[0],
- blenderobject->rot[1],
- blenderobject->rot[2]
- )
- );
- ipocontr->GetIPOTransform().SetScaling(
- MT_Vector3(
- blenderobject->size[0],
- blenderobject->size[1],
- blenderobject->size[2]
- )
- );
-
- const char *rotmode, *drotmode;
-
- switch(blenderobject->rotmode)
- {
- case ROT_MODE_AXISANGLE:
- rotmode = "rotation_axis_angle";
- drotmode = "delta_rotation_axis_angle";
- case ROT_MODE_QUAT:
- rotmode = "rotation_quaternion";
- drotmode = "delta_rotation_quaternion";
- default:
- rotmode = "rotation_euler";
- drotmode = "delta_rotation_euler";
- }
+ KX_IpoSGController* ipocontr = new KX_IpoSGController();
+ ipocontr->SetGameObject(gameobj);
+
+ Object* blenderobject = gameobj->GetBlenderObject();
+
+ ipocontr->GetIPOTransform().SetPosition(MT_Point3(blenderobject->loc));
+ ipocontr->GetIPOTransform().SetEulerAngles(MT_Vector3(blenderobject->rot));
+ ipocontr->GetIPOTransform().SetScaling(MT_Vector3(blenderobject->size));
+
+ const char *rotmode, *drotmode;
+
+ switch(blenderobject->rotmode) {
+ case ROT_MODE_AXISANGLE:
+ rotmode = "rotation_axis_angle";
+ drotmode = "delta_rotation_axis_angle";
+ break;
+ case ROT_MODE_QUAT:
+ rotmode = "rotation_quaternion";
+ drotmode = "delta_rotation_quaternion";
+ break;
+ default:
+ rotmode = "rotation_euler";
+ drotmode = "delta_rotation_euler";
+ break;
+ }
- BL_InterpolatorList *adtList= GetAdtList(blenderobject->adt, converter);
+ BL_InterpolatorList *adtList= GetAdtList(action, converter);
- // For each active channel in the adtList add an
- // interpolator to the game object.
+ // For each active channel in the adtList add an
+ // interpolator to the game object.
- KX_IInterpolator *interpolator;
- KX_IScalarInterpolator *interp;
+ KX_IInterpolator *interpolator;
+ KX_IScalarInterpolator *interp;
- for(int i=0; i<3; i++) {
- if ((interp = adtList->GetScalarInterpolator("location", i))) {
- interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetPosition()[i]), interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetIPOChannelActive(OB_LOC_X+i, true);
- }
+ for(int i=0; i<3; i++) {
+ if ((interp = adtList->GetScalarInterpolator("location", i))) {
+ interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetPosition()[i]), interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetIPOChannelActive(OB_LOC_X+i, true);
}
- for(int i=0; i<3; i++) {
- if ((interp = adtList->GetScalarInterpolator("delta_location", i))) {
- interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetDeltaPosition()[i]), interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetIPOChannelActive(OB_DLOC_X+i, true);
- }
+ }
+ for(int i=0; i<3; i++) {
+ if ((interp = adtList->GetScalarInterpolator("delta_location", i))) {
+ interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetDeltaPosition()[i]), interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetIPOChannelActive(OB_DLOC_X+i, true);
}
- for(int i=0; i<3; i++) {
- if ((interp = adtList->GetScalarInterpolator(rotmode, i))) {
- interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetEulerAngles()[i]), interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetIPOChannelActive(OB_ROT_X+i, true);
- }
+ }
+ for(int i=0; i<3; i++) {
+ if ((interp = adtList->GetScalarInterpolator(rotmode, i))) {
+ interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetEulerAngles()[i]), interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetIPOChannelActive(OB_ROT_X+i, true);
}
- for(int i=0; i<3; i++) {
- if ((interp = adtList->GetScalarInterpolator(drotmode, i))) {
- interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetDeltaEulerAngles()[i]), interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetIPOChannelActive(OB_DROT_X+i, true);
- }
+ }
+ for(int i=0; i<3; i++) {
+ if ((interp = adtList->GetScalarInterpolator(drotmode, i))) {
+ interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetDeltaEulerAngles()[i]), interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetIPOChannelActive(OB_DROT_X+i, true);
}
- for(int i=0; i<3; i++) {
- if ((interp = adtList->GetScalarInterpolator("scale", i))) {
- interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetScaling()[i]), interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetIPOChannelActive(OB_SIZE_X+i, true);
- }
+ }
+ for(int i=0; i<3; i++) {
+ if ((interp = adtList->GetScalarInterpolator("scale", i))) {
+ interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetScaling()[i]), interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetIPOChannelActive(OB_SIZE_X+i, true);
}
- for(int i=0; i<3; i++) {
- if ((interp = adtList->GetScalarInterpolator("delta_scale", i))) {
- interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetDeltaScaling()[i]), interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetIPOChannelActive(OB_DSIZE_X+i, true);
- }
+ }
+ for(int i=0; i<3; i++) {
+ if ((interp = adtList->GetScalarInterpolator("delta_scale", i))) {
+ interpolator= new KX_ScalarInterpolator(&(ipocontr->GetIPOTransform().GetDeltaScaling()[i]), interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetIPOChannelActive(OB_DSIZE_X+i, true);
}
+ }
- {
- KX_ObColorIpoSGController* ipocontr_obcol=NULL;
+ {
+ KX_ObColorIpoSGController* ipocontr_obcol=NULL;
- for(int i=0; i<4; i++) {
- if ((interp = adtList->GetScalarInterpolator("color", i))) {
- if (!ipocontr_obcol) {
- ipocontr_obcol = new KX_ObColorIpoSGController();
- gameobj->GetSGNode()->AddSGController(ipocontr_obcol);
- ipocontr_obcol->SetObject(gameobj->GetSGNode());
- }
- interpolator= new KX_ScalarInterpolator(&ipocontr_obcol->m_rgba[i], interp);
- ipocontr_obcol->AddInterpolator(interpolator);
+ for(int i=0; i<4; i++) {
+ if ((interp = adtList->GetScalarInterpolator("color", i))) {
+ if (!ipocontr_obcol) {
+ ipocontr_obcol = new KX_ObColorIpoSGController();
+ gameobj->GetSGNode()->AddSGController(ipocontr_obcol);
+ ipocontr_obcol->SetObject(gameobj->GetSGNode());
}
+ interpolator= new KX_ScalarInterpolator(&ipocontr_obcol->m_rgba[i], interp);
+ ipocontr_obcol->AddInterpolator(interpolator);
}
}
}
+
+ return ipocontr;
}
-void BL_ConvertLampIpos(struct Lamp* blenderlamp, KX_GameObject *lightobj,KX_BlenderSceneConverter *converter)
+void BL_ConvertIpos(struct Object* blenderobject,KX_GameObject* gameobj,KX_BlenderSceneConverter *converter)
{
+ if (blenderobject->adt) {
+ SG_Controller *ipocontr = BL_CreateIPO(blenderobject->adt->action, gameobj, converter);
+ gameobj->GetSGNode()->AddSGController(ipocontr);
+ ipocontr->SetObject(gameobj->GetSGNode());
+ }
+}
- if (blenderlamp->adt) {
+SG_Controller *BL_CreateLampIPO(struct bAction *action, KX_GameObject* lightobj, KX_BlenderSceneConverter *converter)
+{
+ KX_LightIpoSGController* ipocontr = new KX_LightIpoSGController();
- KX_LightIpoSGController* ipocontr = new KX_LightIpoSGController();
- lightobj->GetSGNode()->AddSGController(ipocontr);
- ipocontr->SetObject(lightobj->GetSGNode());
-
- ipocontr->m_energy = blenderlamp->energy;
- ipocontr->m_col_rgb[0] = blenderlamp->r;
- ipocontr->m_col_rgb[1] = blenderlamp->g;
- ipocontr->m_col_rgb[2] = blenderlamp->b;
- ipocontr->m_dist = blenderlamp->dist;
+ Lamp *blenderlamp = (Lamp*)lightobj->GetBlenderObject()->data;
- BL_InterpolatorList *adtList= GetAdtList(blenderlamp->adt, converter);
+ ipocontr->m_energy = blenderlamp->energy;
+ ipocontr->m_col_rgb[0] = blenderlamp->r;
+ ipocontr->m_col_rgb[1] = blenderlamp->g;
+ ipocontr->m_col_rgb[2] = blenderlamp->b;
+ ipocontr->m_dist = blenderlamp->dist;
- // For each active channel in the adtList add an
- // interpolator to the game object.
+ BL_InterpolatorList *adtList= GetAdtList(action, converter);
+
+ // For each active channel in the adtList add an
+ // interpolator to the game object.
- KX_IInterpolator *interpolator;
- KX_IScalarInterpolator *interp;
+ KX_IInterpolator *interpolator;
+ KX_IScalarInterpolator *interp;
- if ((interp= adtList->GetScalarInterpolator("energy", 0))) {
- interpolator= new KX_ScalarInterpolator(&ipocontr->m_energy, interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetModifyEnergy(true);
- }
+ if ((interp= adtList->GetScalarInterpolator("energy", 0))) {
+ interpolator= new KX_ScalarInterpolator(&ipocontr->m_energy, interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetModifyEnergy(true);
+ }
- if ((interp = adtList->GetScalarInterpolator("distance", 0))) {
- interpolator= new KX_ScalarInterpolator(&ipocontr->m_dist, interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetModifyDist(true);
- }
+ if ((interp = adtList->GetScalarInterpolator("distance", 0))) {
+ interpolator= new KX_ScalarInterpolator(&ipocontr->m_dist, interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetModifyDist(true);
+ }
- for(int i=0; i<3; i++) {
- if ((interp = adtList->GetScalarInterpolator("color", i))) {
- interpolator= new KX_ScalarInterpolator(&ipocontr->m_col_rgb[i], interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetModifyColor(true);
- }
+ for(int i=0; i<3; i++) {
+ if ((interp = adtList->GetScalarInterpolator("color", i))) {
+ interpolator= new KX_ScalarInterpolator(&ipocontr->m_col_rgb[i], interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetModifyColor(true);
}
}
+
+ return ipocontr;
}
+void BL_ConvertLampIpos(struct Lamp* blenderlamp, KX_GameObject *lightobj,KX_BlenderSceneConverter *converter)
+{
+ if (blenderlamp->adt) {
+ SG_Controller* ipocontr = BL_CreateLampIPO(blenderlamp->adt->action, lightobj, converter);
+ lightobj->GetSGNode()->AddSGController(ipocontr);
+ ipocontr->SetObject(lightobj->GetSGNode());
+
+
+ }
+}
-void BL_ConvertCameraIpos(struct Camera* blendercamera, KX_GameObject *cameraobj,KX_BlenderSceneConverter *converter)
+SG_Controller *BL_CreateCameraIPO(struct bAction *action, KX_GameObject* cameraobj, KX_BlenderSceneConverter *converter)
{
+ KX_CameraIpoSGController* ipocontr = new KX_CameraIpoSGController();
- if (blendercamera->adt) {
+ Camera *blendercamera = (Camera*)cameraobj->GetBlenderObject()->data;
- KX_CameraIpoSGController* ipocontr = new KX_CameraIpoSGController();
- cameraobj->GetSGNode()->AddSGController(ipocontr);
- ipocontr->SetObject(cameraobj->GetSGNode());
-
- ipocontr->m_lens = blendercamera->lens;
- ipocontr->m_clipstart = blendercamera->clipsta;
- ipocontr->m_clipend = blendercamera->clipend;
+ ipocontr->m_lens = blendercamera->lens;
+ ipocontr->m_clipstart = blendercamera->clipsta;
+ ipocontr->m_clipend = blendercamera->clipend;
- BL_InterpolatorList *adtList= GetAdtList(blendercamera->adt, converter);
+ BL_InterpolatorList *adtList= GetAdtList(action, converter);
- // For each active channel in the adtList add an
- // interpolator to the game object.
+ // For each active channel in the adtList add an
+ // interpolator to the game object.
- KX_IInterpolator *interpolator;
- KX_IScalarInterpolator *interp;
+ KX_IInterpolator *interpolator;
+ KX_IScalarInterpolator *interp;
- if ((interp = adtList->GetScalarInterpolator("lens", 0))) {
- interpolator= new KX_ScalarInterpolator(&ipocontr->m_lens, interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetModifyLens(true);
- }
+ if ((interp = adtList->GetScalarInterpolator("lens", 0))) {
+ interpolator= new KX_ScalarInterpolator(&ipocontr->m_lens, interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetModifyLens(true);
+ }
- if ((interp = adtList->GetScalarInterpolator("clip_start", 0))) {
- interpolator= new KX_ScalarInterpolator(&ipocontr->m_clipstart, interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetModifyClipStart(true);
- }
+ if ((interp = adtList->GetScalarInterpolator("clip_start", 0))) {
+ interpolator= new KX_ScalarInterpolator(&ipocontr->m_clipstart, interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetModifyClipStart(true);
+ }
- if ((interp = adtList->GetScalarInterpolator("clip_end", 0))) {
- interpolator= new KX_ScalarInterpolator(&ipocontr->m_clipend, interp);
- ipocontr->AddInterpolator(interpolator);
- ipocontr->SetModifyClipEnd(true);
- }
+ if ((interp = adtList->GetScalarInterpolator("clip_end", 0))) {
+ interpolator= new KX_ScalarInterpolator(&ipocontr->m_clipend, interp);
+ ipocontr->AddInterpolator(interpolator);
+ ipocontr->SetModifyClipEnd(true);
+ }
+
+ return ipocontr;
+}
+void BL_ConvertCameraIpos(struct Camera* blendercamera, KX_GameObject *cameraobj,KX_BlenderSceneConverter *converter)
+{
+
+ if (blendercamera->adt) {
+ SG_Controller* ipocontr = BL_CreateCameraIPO(blendercamera->adt->action, cameraobj, converter);
+ cameraobj->GetSGNode()->AddSGController(ipocontr);
+ ipocontr->SetObject(cameraobj->GetSGNode());
}
}
@@ -314,7 +315,7 @@ void BL_ConvertWorldIpos(struct World* blenderworld,KX_BlenderSceneConverter *co
ipocontr->m_mist_rgb[1] = blenderworld->horg;
ipocontr->m_mist_rgb[2] = blenderworld->horb;
- BL_InterpolatorList *adtList= GetAdtList(blenderworld->adt, converter);
+ BL_InterpolatorList *adtList= GetAdtList(blenderworld->adt->action, converter);
// For each active channel in the adtList add an
// interpolator to the game object.
@@ -356,7 +357,7 @@ static void ConvertMaterialIpos(
gameobj->GetSGNode()->AddSGController(ipocontr);
ipocontr->SetObject(gameobj->GetSGNode());
- BL_InterpolatorList *adtList= GetAdtList(blendermaterial->adt, converter);
+ BL_InterpolatorList *adtList= GetAdtList(blendermaterial->adt->action, converter);
ipocontr->m_rgba[0] = blendermaterial->r;
diff --git a/source/gameengine/Converter/KX_IpoConvert.h b/source/gameengine/Converter/KX_IpoConvert.h
index d77a72a82e2..60e695c68a7 100644
--- a/source/gameengine/Converter/KX_IpoConvert.h
+++ b/source/gameengine/Converter/KX_IpoConvert.h
@@ -36,10 +36,18 @@
struct Object;
+class SG_Controller *BL_CreateIPO(struct bAction *action,
+ class KX_GameObject* gameobj,
+ class KX_BlenderSceneConverter *converter);
+
void BL_ConvertIpos(struct Object* blenderobject,
class KX_GameObject* gameobj,
class KX_BlenderSceneConverter *converter);
+class SG_Controller *BL_CreateLampIPO(struct bAction *action,
+ class KX_GameObject* lightobj,
+ class KX_BlenderSceneConverter *converter);
+
void BL_ConvertLampIpos(struct Lamp* blenderlight,
class KX_GameObject* lightobj,
class KX_BlenderSceneConverter *converter);
@@ -47,6 +55,10 @@ void BL_ConvertLampIpos(struct Lamp* blenderlight,
void BL_ConvertWorldIpos(struct World* blenderworld,
class KX_BlenderSceneConverter *converter);
+class SG_Controller *BL_CreateCameraIPO(struct bAction *action,
+ class KX_GameObject* cameraobj,
+ class KX_BlenderSceneConverter *converter);
+
void BL_ConvertCameraIpos(struct Camera* blendercamera,
class KX_GameObject* cameraobj,
class KX_BlenderSceneConverter *converter);
diff --git a/source/gameengine/Converter/SConscript b/source/gameengine/Converter/SConscript
index edcd40e23ff..e155677e522 100644
--- a/source/gameengine/Converter/SConscript
+++ b/source/gameengine/Converter/SConscript
@@ -21,6 +21,7 @@ incs += ' #source/blender/windowmanager'
incs += ' #source/blender/makesrna'
incs += ' #source/blender/ikplugin'
incs += ' #extern/recastnavigation/Detour/Include'
+incs += ' #extern/Eigen2'
incs += ' ' + env['BF_BULLET_INC']
diff --git a/source/gameengine/Expressions/CMakeLists.txt b/source/gameengine/Expressions/CMakeLists.txt
index 83d44e1b318..ad987091790 100644
--- a/source/gameengine/Expressions/CMakeLists.txt
+++ b/source/gameengine/Expressions/CMakeLists.txt
@@ -26,11 +26,11 @@
set(INC
.
- ../../../intern/string
+ ../SceneGraph
+ ../../blender/blenloader
../../../intern/guardedalloc
../../../intern/moto/include
- ../../../source/gameengine/SceneGraph
- ../../../source/blender/blenloader
+ ../../../intern/string
)
set(INC_SYS
diff --git a/source/gameengine/Expressions/InputParser.cpp b/source/gameengine/Expressions/InputParser.cpp
index 7957c82e7f9..27f4f0b10cb 100644
--- a/source/gameengine/Expressions/InputParser.cpp
+++ b/source/gameengine/Expressions/InputParser.cpp
@@ -192,89 +192,89 @@ void CParser::NextSym()
switch(ch)
{
- case '(':
- sym = lbracksym; NextCh();
- break;
- case ')':
- sym = rbracksym; NextCh();
- break;
- case ',':
- sym = commasym; NextCh();
- break;
- case '%' :
- sym = opsym; opkind = OPmodulus; NextCh();
- break;
- case '+' :
- sym = opsym; opkind = OPplus; NextCh();
- break;
- case '-' :
- sym = opsym; opkind = OPminus; NextCh();
- break;
- case '*' :
- sym = opsym; opkind = OPtimes; NextCh();
- break;
- case '/' :
- sym = opsym; opkind = OPdivide; NextCh();
- break;
- case '&' :
- sym = opsym; opkind = OPand; NextCh(); TermChar('&');
- break;
- case '|' :
- sym = opsym; opkind = OPor; NextCh(); TermChar('|');
- break;
- case '=' :
- sym = opsym; opkind = OPequal; NextCh(); TermChar('=');
- break;
- case '!' :
- sym = opsym;
- NextCh();
- if (ch == '=')
- {
- opkind = OPunequal;
+ case '(':
+ sym = lbracksym; NextCh();
+ break;
+ case ')':
+ sym = rbracksym; NextCh();
+ break;
+ case ',':
+ sym = commasym; NextCh();
+ break;
+ case '%' :
+ sym = opsym; opkind = OPmodulus; NextCh();
+ break;
+ case '+' :
+ sym = opsym; opkind = OPplus; NextCh();
+ break;
+ case '-' :
+ sym = opsym; opkind = OPminus; NextCh();
+ break;
+ case '*' :
+ sym = opsym; opkind = OPtimes; NextCh();
+ break;
+ case '/' :
+ sym = opsym; opkind = OPdivide; NextCh();
+ break;
+ case '&' :
+ sym = opsym; opkind = OPand; NextCh(); TermChar('&');
+ break;
+ case '|' :
+ sym = opsym; opkind = OPor; NextCh(); TermChar('|');
+ break;
+ case '=' :
+ sym = opsym; opkind = OPequal; NextCh(); TermChar('=');
+ break;
+ case '!' :
+ sym = opsym;
NextCh();
- }
- else
- {
- opkind = OPnot;
- }
- break;
- case '>':
- sym = opsym;
- NextCh();
- if (ch == '=')
- {
- opkind = OPgreaterequal;
+ if (ch == '=')
+ {
+ opkind = OPunequal;
+ NextCh();
+ }
+ else
+ {
+ opkind = OPnot;
+ }
+ break;
+ case '>':
+ sym = opsym;
NextCh();
- }
- else
- {
- opkind = OPgreater;
- }
- break;
- case '<':
- sym = opsym;
- NextCh();
- if (ch == '=') {
- opkind = OPlessequal;
+ if (ch == '=')
+ {
+ opkind = OPgreaterequal;
+ NextCh();
+ }
+ else
+ {
+ opkind = OPgreater;
+ }
+ break;
+ case '<':
+ sym = opsym;
NextCh();
- } else {
- opkind = OPless;
- }
- break;
- case '\"' : {
- int start;
- sym = constsym;
- constkind = stringtype;
- NextCh();
- start = chcount;
- while ((ch != '\"') && (ch != 0x0))
+ if (ch == '=') {
+ opkind = OPlessequal;
+ NextCh();
+ } else {
+ opkind = OPless;
+ }
+ break;
+ case '\"' : {
+ int start;
+ sym = constsym;
+ constkind = stringtype;
NextCh();
- GrabRealString(start);
- TermChar('\"'); // check for eol before '\"'
- break;
- }
- case 0x0: sym = eolsym; break;
- default:
+ start = chcount;
+ while ((ch != '\"') && (ch != 0x0))
+ NextCh();
+ GrabRealString(start);
+ TermChar('\"'); // check for eol before '\"'
+ break;
+ }
+ case 0x0: sym = eolsym; break;
+ default:
{
int start;
start = chcount;
@@ -301,7 +301,7 @@ void CParser::NextSym()
}
GrabString(start);
} else if (((ch >= 'a') && (ch <= 'z'))
- || ((ch >= 'A') && (ch <= 'Z')))
+ || ((ch >= 'A') && (ch <= 'Z')))
{ // reserved word?
start = chcount;
@@ -358,18 +358,18 @@ STR_String CParser::Symbol2Str(int s) {
// returns a string representation of of symbol s,
// for use in Term when generating an error
switch(s) {
- case errorsym: return "error";
- case lbracksym: return "(";
- case rbracksym: return ")";
- case commasym: return ",";
- case opsym: return "operator";
- case constsym: return "constant";
- case sumsym: return "SUM";
- case ifsym: return "IF";
- case whocodedsym: return "WHOMADE";
- case eolsym: return "end of line";
- case idsym: return "identifier";
- default: return "unknown"; // should not happen
+ case errorsym: return "error";
+ case lbracksym: return "(";
+ case rbracksym: return ")";
+ case commasym: return ",";
+ case opsym: return "operator";
+ case constsym: return "constant";
+ case sumsym: return "SUM";
+ case ifsym: return "IF";
+ case whocodedsym: return "WHOMADE";
+ case eolsym: return "end of line";
+ case idsym: return "identifier";
+ default: return "unknown"; // should not happen
}
}
@@ -391,19 +391,19 @@ int CParser::Priority(int optorkind) {
// returns the priority of an operator
// higher number means higher priority
switch(optorkind) {
- case OPor: return 1;
- case OPand: return 2;
- case OPgreater:
- case OPless:
- case OPgreaterequal:
- case OPlessequal:
- case OPequal:
- case OPunequal: return 3;
- case OPplus:
- case OPminus: return 4;
- case OPmodulus:
- case OPtimes:
- case OPdivide: return 5;
+ case OPor: return 1;
+ case OPand: return 2;
+ case OPgreater:
+ case OPless:
+ case OPgreaterequal:
+ case OPlessequal:
+ case OPequal:
+ case OPunequal: return 3;
+ case OPplus:
+ case OPminus: return 4;
+ case OPmodulus:
+ case OPtimes:
+ case OPdivide: return 5;
}
MT_assert(false);
return 0; // should not happen
diff --git a/source/gameengine/Expressions/PyObjectPlus.cpp b/source/gameengine/Expressions/PyObjectPlus.cpp
index 10906cdae02..92be769ed71 100644
--- a/source/gameengine/Expressions/PyObjectPlus.cpp
+++ b/source/gameengine/Expressions/PyObjectPlus.cpp
@@ -1147,7 +1147,7 @@ PyObject *PyObjectPlus::NewProxyPlus_Ext(PyObjectPlus *self, PyTypeObject *tp, v
BGE_PROXY_REF(proxy) = NULL;
BGE_PROXY_PTR(proxy) = ptr;
#ifdef USE_WEAKREFS
- BGE_PROXY_WKREF(self->m_proxy) = NULL;
+ BGE_PROXY_WKREF(proxy) = NULL;
#endif
return proxy;
}
@@ -1184,46 +1184,10 @@ void PyObjectPlus::SetDeprecationWarnings(bool ignoreDeprecationWarnings)
m_ignore_deprecation_warnings = ignoreDeprecationWarnings;
}
-void PyDebugLine()
-{
- // import sys; print '\t%s:%d' % (sys._getframe(0).f_code.co_filename, sys._getframe(0).f_lineno)
-
- PyObject *getframe, *frame;
- PyObject *f_lineno, *f_code, *co_filename;
-
- getframe = PySys_GetObject((char *)"_getframe"); // borrowed
- if (getframe) {
- frame = PyObject_CallObject(getframe, NULL);
- if (frame) {
- f_lineno= PyObject_GetAttrString(frame, "f_lineno");
- f_code= PyObject_GetAttrString(frame, "f_code");
- if (f_lineno && f_code) {
- co_filename= ((PyCodeObject *)f_code)->co_filename; /* borrow */
- if (co_filename) {
-
- printf("\t%s:%d\n", _PyUnicode_AsString(co_filename), (int)PyLong_AsSsize_t(f_lineno));
-
- Py_DECREF(f_lineno);
- Py_DECREF(f_code);
- Py_DECREF(frame);
- return;
- }
- }
-
- Py_XDECREF(f_lineno);
- Py_XDECREF(f_code);
- Py_DECREF(frame);
- }
-
- }
- PyErr_Clear();
- printf("\tERROR - Could not access sys._getframe(0).f_lineno or sys._getframe().f_code.co_filename\n");
-}
-
void PyObjectPlus::ShowDeprecationWarning_func(const char* old_way,const char* new_way)
{
printf("Method %s is deprecated, please use %s instead.\n", old_way, new_way);
- PyDebugLine();
+ PyC_LineSpit();
}
void PyObjectPlus::ClearDeprecationWarning()
diff --git a/source/gameengine/Expressions/PyObjectPlus.h b/source/gameengine/Expressions/PyObjectPlus.h
index 157124ebc81..080e7196d5a 100644
--- a/source/gameengine/Expressions/PyObjectPlus.h
+++ b/source/gameengine/Expressions/PyObjectPlus.h
@@ -54,7 +54,8 @@
#ifdef WITH_PYTHON
#ifdef USE_MATHUTILS
extern "C" {
-#include "../../blender/python/generic/mathutils.h" /* so we can have mathutils callbacks */
+#include "../../blender/python/mathutils/mathutils.h" /* so we can have mathutils callbacks */
+#include "../../blender/python/generic/py_capi_utils.h" /* for PyC_LineSpit only */
}
#endif
@@ -254,12 +255,15 @@ typedef struct PyObjectPlus_Proxy {
#define KX_PYMETHODTABLE_NOARGS(class_name, method_name) \
{#method_name , (PyCFunction) class_name::sPy##method_name, METH_NOARGS, (const char *)class_name::method_name##_doc}
+#define KX_PYMETHODTABLE_KEYWORDS(class_name, method_name) \
+ {#method_name , (PyCFunction) class_name::sPy##method_name, METH_VARARGS|METH_KEYWORDS, (const char *)class_name::method_name##_doc}
+
/**
* Function implementation macro
*/
#define KX_PYMETHODDEF_DOC(class_name, method_name, doc_string) \
const char class_name::method_name##_doc[] = doc_string; \
-PyObject* class_name::Py##method_name(PyObject* args, PyObject*)
+PyObject* class_name::Py##method_name(PyObject* args, PyObject* kwds)
#define KX_PYMETHODDEF_DOC_VARARGS(class_name, method_name, doc_string) \
const char class_name::method_name##_doc[] = doc_string; \
diff --git a/source/gameengine/GameLogic/CMakeLists.txt b/source/gameengine/GameLogic/CMakeLists.txt
index b6721650bad..bd417165337 100644
--- a/source/gameengine/GameLogic/CMakeLists.txt
+++ b/source/gameengine/GameLogic/CMakeLists.txt
@@ -25,13 +25,13 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- .
- ../../../intern/string
+ .
+ ../Expressions
+ ../Rasterizer
+ ../SceneGraph
../../../intern/container
- ../../../source/gameengine/Expressions
- ../../../source/gameengine/SceneGraph
../../../intern/moto/include
- ../../../source/gameengine/Rasterizer
+ ../../../intern/string
)
set(INC_SYS
@@ -39,8 +39,6 @@ set(INC_SYS
)
set(SRC
- Joystick/SCA_Joystick.cpp
- Joystick/SCA_JoystickEvents.cpp
SCA_2DFilterActuator.cpp
SCA_ANDController.cpp
SCA_ActuatorEventManager.cpp
@@ -81,10 +79,9 @@ set(SRC
SCA_TimeEventManager.cpp
SCA_XNORController.cpp
SCA_XORController.cpp
+ Joystick/SCA_Joystick.cpp
+ Joystick/SCA_JoystickEvents.cpp
- Joystick/SCA_Joystick.h
- Joystick/SCA_JoystickDefines.h
- Joystick/SCA_JoystickPrivate.h
SCA_2DFilterActuator.h
SCA_ANDController.h
SCA_ActuatorEventManager.h
@@ -125,10 +122,15 @@ set(SRC
SCA_TimeEventManager.h
SCA_XNORController.h
SCA_XORController.h
+ Joystick/SCA_Joystick.h
+ Joystick/SCA_JoystickDefines.h
+ Joystick/SCA_JoystickPrivate.h
)
if(WITH_SDL)
- list(APPEND INC_SYS ${SDL_INCLUDE_DIR})
+ list(APPEND INC_SYS
+ ${SDL_INCLUDE_DIR}
+ )
else()
add_definitions(-DDISABLE_SDL)
endif()
diff --git a/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp b/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
index a73a6d4631b..48ba09e67d2 100644
--- a/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
+++ b/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
@@ -89,7 +89,7 @@ SCA_Joystick *SCA_Joystick::GetInstance( short int joyindex )
{
int i;
// do this once only
- if(SDL_InitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_VIDEO ) == -1 ){
+ if(SDL_InitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_VIDEO) == -1 ){
echo("Error-Initializing-SDL: " << SDL_GetError());
return NULL;
}
@@ -124,7 +124,7 @@ void SCA_Joystick::ReleaseInstance()
m_instance[i]= NULL;
}
- SDL_QuitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_VIDEO );
+ SDL_QuitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_VIDEO);
#endif
}
}
diff --git a/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp b/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
index 0a65fc1584a..7c1824cd4eb 100644
--- a/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
+++ b/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp
@@ -40,34 +40,34 @@ SCA_2DFilterActuator::~SCA_2DFilterActuator()
}
SCA_2DFilterActuator::SCA_2DFilterActuator(
- SCA_IObject *gameobj,
+ SCA_IObject *gameobj,
RAS_2DFilterManager::RAS_2DFILTER_MODE type,
- short flag,
- float float_arg,
- int int_arg,
- RAS_IRasterizer* rasterizer,
- SCA_IScene* scene)
+ short flag,
+ float float_arg,
+ int int_arg,
+ RAS_IRasterizer* rasterizer,
+ SCA_IScene* scene)
: SCA_IActuator(gameobj, KX_ACT_2DFILTER),
- m_type(type),
- m_disableMotionBlur(flag),
- m_float_arg(float_arg),
- m_int_arg(int_arg),
- m_rasterizer(rasterizer),
- m_scene(scene)
+ m_type(type),
+ m_disableMotionBlur(flag),
+ m_float_arg(float_arg),
+ m_int_arg(int_arg),
+ m_rasterizer(rasterizer),
+ m_scene(scene)
{
- m_gameObj = NULL;
+ m_gameobj = NULL;
if(gameobj){
m_propNames = gameobj->GetPropertyNames();
- m_gameObj = gameobj;
+ m_gameobj = gameobj;
}
}
CValue* SCA_2DFilterActuator::GetReplica()
{
- SCA_2DFilterActuator* replica = new SCA_2DFilterActuator(*this);
- replica->ProcessReplica();
- return replica;
+ SCA_2DFilterActuator* replica = new SCA_2DFilterActuator(*this);
+ replica->ProcessReplica();
+ return replica;
}
@@ -91,10 +91,10 @@ bool SCA_2DFilterActuator::Update()
}
else if(m_type < RAS_2DFilterManager::RAS_2DFILTER_NUMBER_OF_FILTERS)
{
- m_scene->Update2DFilter(m_propNames, m_gameObj, m_type, m_int_arg, m_shaderText);
+ m_scene->Update2DFilter(m_propNames, m_gameobj, m_type, m_int_arg, m_shaderText);
}
// once the filter is in place, no need to update it again => disable the actuator
- return false;
+ return false;
}
diff --git a/source/gameengine/GameLogic/SCA_2DFilterActuator.h b/source/gameengine/GameLogic/SCA_2DFilterActuator.h
index 87d2e8ddbcf..82c82ac3be5 100644
--- a/source/gameengine/GameLogic/SCA_2DFilterActuator.h
+++ b/source/gameengine/GameLogic/SCA_2DFilterActuator.h
@@ -42,7 +42,6 @@ class SCA_2DFilterActuator : public SCA_IActuator
private:
vector<STR_String> m_propNames;
- void * m_gameObj;
RAS_2DFilterManager::RAS_2DFILTER_MODE m_type;
short m_disableMotionBlur;
float m_float_arg;
@@ -53,19 +52,19 @@ private:
public:
- SCA_2DFilterActuator(
- class SCA_IObject* gameobj,
- RAS_2DFilterManager::RAS_2DFILTER_MODE type,
- short flag,
- float float_arg,
- int int_arg,
- RAS_IRasterizer* rasterizer,
- SCA_IScene* scene);
+ SCA_2DFilterActuator(
+ class SCA_IObject* gameobj,
+ RAS_2DFilterManager::RAS_2DFILTER_MODE type,
+ short flag,
+ float float_arg,
+ int int_arg,
+ RAS_IRasterizer* rasterizer,
+ SCA_IScene* scene);
void SetShaderText(const char *text);
- virtual ~SCA_2DFilterActuator();
- virtual bool Update();
+ virtual ~SCA_2DFilterActuator();
+ virtual bool Update();
- virtual CValue* GetReplica();
+ virtual CValue* GetReplica();
};
#endif
diff --git a/source/gameengine/GameLogic/SCA_ISensor.cpp b/source/gameengine/GameLogic/SCA_ISensor.cpp
index 0d09e33a81b..85982bd3c0f 100644
--- a/source/gameengine/GameLogic/SCA_ISensor.cpp
+++ b/source/gameengine/GameLogic/SCA_ISensor.cpp
@@ -216,8 +216,8 @@ void SCA_ISensor::UnregisterToManager()
void SCA_ISensor::ActivateControllers(class SCA_LogicManager* logicmgr)
{
- for(vector<SCA_IController*>::const_iterator c= m_linkedcontrollers.begin();
- c!=m_linkedcontrollers.end();++c)
+ for(vector<SCA_IController*>::const_iterator c= m_linkedcontrollers.begin();
+ c!=m_linkedcontrollers.end();++c)
{
SCA_IController* contr = *c;
if (contr->IsActive())
diff --git a/source/gameengine/GameLogic/SCA_ISensor.h b/source/gameengine/GameLogic/SCA_ISensor.h
index 741448b1096..f90f1e19a67 100644
--- a/source/gameengine/GameLogic/SCA_ISensor.h
+++ b/source/gameengine/GameLogic/SCA_ISensor.h
@@ -105,7 +105,7 @@ public:
};
SCA_ISensor(SCA_IObject* gameobj,
- class SCA_EventManager* eventmgr);;
+ class SCA_EventManager* eventmgr);
~SCA_ISensor();
virtual void ReParent(SCA_IObject* parent);
diff --git a/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp b/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp
index 513be43ec28..a2374ccb9da 100644
--- a/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp
+++ b/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp
@@ -132,7 +132,7 @@ bool SCA_KeyboardSensor::Evaluate()
// cerr << "SCA_KeyboardSensor::Eval event, sensing for "<< m_hotkey << " at device " << inputdev << "\n";
/* See if we need to do logging: togPropState exists and is
- * different from 0 */
+ * different from 0 */
CValue* myparent = GetParent();
CValue* togPropState = myparent->GetProperty(m_toggleprop);
if (togPropState &&
@@ -400,7 +400,7 @@ void SCA_KeyboardSensor::LogKeystrokes(void)
int index = 0;
/* Check on all keys whether they were pushed. This does not
- * untangle the ordering, so don't type too fast :) */
+ * untangle the ordering, so don't type too fast :) */
for (int i=SCA_IInputDevice::KX_BEGINKEY ; i<= SCA_IInputDevice::KX_ENDKEY;i++)
{
const SCA_InputEvent & inevent = inputdev->GetEventValue((SCA_IInputDevice::KX_EnumInputs) i);
diff --git a/source/gameengine/GameLogic/SCA_MouseSensor.cpp b/source/gameengine/GameLogic/SCA_MouseSensor.cpp
index a1836163e9c..93d2ae2c1c5 100644
--- a/source/gameengine/GameLogic/SCA_MouseSensor.cpp
+++ b/source/gameengine/GameLogic/SCA_MouseSensor.cpp
@@ -50,12 +50,12 @@
/* ------------------------------------------------------------------------- */
SCA_MouseSensor::SCA_MouseSensor(SCA_MouseManager* eventmgr,
- int startx,int starty,
- short int mousemode,
- SCA_IObject* gameobj)
+ int startx,int starty,
+ short int mousemode,
+ SCA_IObject* gameobj)
: SCA_ISensor(gameobj,eventmgr),
- m_x(startx),
- m_y(starty)
+ m_x(startx),
+ m_y(starty)
{
m_mousemode = mousemode;
m_triggermode = true;
@@ -72,7 +72,7 @@ void SCA_MouseSensor::Init()
SCA_MouseSensor::~SCA_MouseSensor()
{
- /* Nothing to be done here. */
+ /* Nothing to be done here. */
}
void SCA_MouseSensor::UpdateHotkey(void *self)
diff --git a/source/gameengine/GameLogic/SCA_PythonController.h b/source/gameengine/GameLogic/SCA_PythonController.h
index 3ccbfea7ed5..739e566237b 100644
--- a/source/gameengine/GameLogic/SCA_PythonController.h
+++ b/source/gameengine/GameLogic/SCA_PythonController.h
@@ -34,7 +34,7 @@
#ifndef KX_PYTHONCONTROLLER_H
#define KX_PYTHONCONTROLLER_H
-
+
#include "SCA_IController.h"
#include "SCA_LogicManager.h"
#include "BoolValue.h"
diff --git a/source/gameengine/GameLogic/SCA_RandomActuator.cpp b/source/gameengine/GameLogic/SCA_RandomActuator.cpp
index 3a6b00198e1..c9d11a27c76 100644
--- a/source/gameengine/GameLogic/SCA_RandomActuator.cpp
+++ b/source/gameengine/GameLogic/SCA_RandomActuator.cpp
@@ -152,7 +152,7 @@ bool SCA_RandomActuator::Update()
/* If x_1, x_2, ... is a sequence of random numbers with uniform */
/* distribution between zero and one, k is the first integer for */
/* which the product x_1*x_2*...*x_k < exp(-\lamba). */
- float a = 0.0, b = 0.0;
+ float a, b;
int res = 0;
/* The - sign is important here! The number to test for, a, must be */
/* between 0 and 1. */
@@ -207,10 +207,10 @@ bool SCA_RandomActuator::Update()
sensible values. The termination condition states two
things:
1. s >= 0 is not allowed: to prevent the distro from
- getting a bias towards high values. This is a small
+ getting a bias towards high values. This is a small
correction, really, and might also be left out.
2. s == 0 is not allowed: to prevent a division by zero
- when renormalising the drawn value to the desired
+ when renormalising the drawn value to the desired
distribution shape. As a side effect, the distro will
never yield the exact mean.
I am not sure whether this is consistent, since the error
diff --git a/source/gameengine/GameLogic/SCA_RandomNumberGenerator.cpp b/source/gameengine/GameLogic/SCA_RandomNumberGenerator.cpp
index 06c24c8211b..67af6237a8d 100644
--- a/source/gameengine/GameLogic/SCA_RandomNumberGenerator.cpp
+++ b/source/gameengine/GameLogic/SCA_RandomNumberGenerator.cpp
@@ -68,12 +68,12 @@ SCA_RandomNumberGenerator::~SCA_RandomNumberGenerator() {
void SCA_RandomNumberGenerator::SetStartVector(void) {
/* setting initial seeds to mt[N] using */
- /* the generator Line 25 of Table 1 in */
- /* [KNUTH 1981, The Art of Computer Programming */
- /* Vol. 2 (2nd Ed.), pp102] */
- mt[0] = m_seed & 0xffffffff;
- for (mti = 1; mti < N; mti++)
- mt[mti] = (69069 * mt[mti-1]) & 0xffffffff;
+ /* the generator Line 25 of Table 1 in */
+ /* [KNUTH 1981, The Art of Computer Programming */
+ /* Vol. 2 (2nd Ed.), pp102] */
+ mt[0] = m_seed & 0xffffffff;
+ for (mti = 1; mti < N; mti++)
+ mt[mti] = (69069 * mt[mti-1]) & 0xffffffff;
}
long SCA_RandomNumberGenerator::GetSeed() { return m_seed; }
@@ -87,39 +87,39 @@ void SCA_RandomNumberGenerator::SetSeed(long newseed)
* This is the important part: copied verbatim :)
*/
unsigned long SCA_RandomNumberGenerator::Draw() {
- static unsigned long mag01[2] = { 0x0, MATRIX_A };
- /* mag01[x] = x * MATRIX_A for x=0,1 */
-
- unsigned long y;
-
- if (mti >= N) { /* generate N words at one time */
- int kk;
-
- /* I set this in the constructor, so it is always satisfied ! */
-// if (mti == N+1) /* if sgenrand() has not been called, */
-// GEN_srand(4357); /* a default initial seed is used */
-
- for (kk = 0; kk < N - M; kk++) {
- y = (mt[kk] & UPPER_MASK) | (mt[kk+1] & LOWER_MASK);
- mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1];
- }
- for (; kk < N-1; kk++) {
- y = (mt[kk] & UPPER_MASK) | (mt[kk+1] & LOWER_MASK);
- mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1];
- }
- y = (mt[N-1] & UPPER_MASK) | (mt[0] & LOWER_MASK);
- mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1];
-
- mti = 0;
- }
-
- y = mt[mti++];
- y ^= TEMPERING_SHIFT_U(y);
- y ^= TEMPERING_SHIFT_S(y) & TEMPERING_MASK_B;
- y ^= TEMPERING_SHIFT_T(y) & TEMPERING_MASK_C;
- y ^= TEMPERING_SHIFT_L(y);
-
- return y;
+ static unsigned long mag01[2] = { 0x0, MATRIX_A };
+ /* mag01[x] = x * MATRIX_A for x=0,1 */
+
+ unsigned long y;
+
+ if (mti >= N) { /* generate N words at one time */
+ int kk;
+
+ /* I set this in the constructor, so it is always satisfied ! */
+ // if (mti == N+1) /* if sgenrand() has not been called, */
+ // GEN_srand(4357); /* a default initial seed is used */
+
+ for (kk = 0; kk < N - M; kk++) {
+ y = (mt[kk] & UPPER_MASK) | (mt[kk+1] & LOWER_MASK);
+ mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1];
+ }
+ for (; kk < N-1; kk++) {
+ y = (mt[kk] & UPPER_MASK) | (mt[kk+1] & LOWER_MASK);
+ mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1];
+ }
+ y = (mt[N-1] & UPPER_MASK) | (mt[0] & LOWER_MASK);
+ mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1];
+
+ mti = 0;
+ }
+
+ y = mt[mti++];
+ y ^= TEMPERING_SHIFT_U(y);
+ y ^= TEMPERING_SHIFT_S(y) & TEMPERING_MASK_B;
+ y ^= TEMPERING_SHIFT_T(y) & TEMPERING_MASK_C;
+ y ^= TEMPERING_SHIFT_L(y);
+
+ return y;
}
float SCA_RandomNumberGenerator::DrawFloat() {
diff --git a/source/gameengine/GameLogic/SCA_RandomSensor.cpp b/source/gameengine/GameLogic/SCA_RandomSensor.cpp
index 99e25042582..c23722d2d3c 100644
--- a/source/gameengine/GameLogic/SCA_RandomSensor.cpp
+++ b/source/gameengine/GameLogic/SCA_RandomSensor.cpp
@@ -48,8 +48,8 @@
/* ------------------------------------------------------------------------- */
SCA_RandomSensor::SCA_RandomSensor(SCA_EventManager* eventmgr,
- SCA_IObject* gameobj,
- int startseed)
+ SCA_IObject* gameobj,
+ int startseed)
: SCA_ISensor(gameobj,eventmgr)
{
m_basegenerator = new SCA_RandomNumberGenerator(startseed);
@@ -65,10 +65,10 @@ SCA_RandomSensor::~SCA_RandomSensor()
void SCA_RandomSensor::Init()
{
- m_iteration = 0;
+ m_iteration = 0;
m_interval = 0;
m_lastdraw = false;
- m_currentDraw = m_basegenerator->Draw();
+ m_currentDraw = m_basegenerator->Draw();
}
@@ -97,19 +97,19 @@ bool SCA_RandomSensor::IsPositiveTrigger()
bool SCA_RandomSensor::Evaluate()
{
- /* Random generator is the generator from Line 25 of Table 1 in */
- /* [KNUTH 1981, The Art of Computer Programming Vol. 2 */
- /* (2nd Ed.), pp102] */
- /* It's a very simple max. length sequence generator. We can */
- /* draw 32 bool values before having to generate the next */
- /* sequence value. There are some theorems that will tell you */
- /* this is a reasonable way of generating bools. Check Knuth. */
- /* Furthermore, we only draw each <delay>-eth frame. */
+ /* Random generator is the generator from Line 25 of Table 1 in */
+ /* [KNUTH 1981, The Art of Computer Programming Vol. 2 */
+ /* (2nd Ed.), pp102] */
+ /* It's a very simple max. length sequence generator. We can */
+ /* draw 32 bool values before having to generate the next */
+ /* sequence value. There are some theorems that will tell you */
+ /* this is a reasonable way of generating bools. Check Knuth. */
+ /* Furthermore, we only draw each <delay>-eth frame. */
bool evaluateResult = false;
if (++m_interval > m_pulse_frequency) {
- bool drawResult = false;
+ bool drawResult = false;
m_interval = 0;
if (m_iteration > 31) {
m_currentDraw = m_basegenerator->Draw();
@@ -122,8 +122,8 @@ bool SCA_RandomSensor::Evaluate()
evaluateResult = drawResult != m_lastdraw;
m_lastdraw = drawResult;
}
-
- /* now pass this result to some controller */
+
+ /* now pass this result to some controller */
return evaluateResult;
}
diff --git a/source/gameengine/GameLogic/SCA_XORController.cpp b/source/gameengine/GameLogic/SCA_XORController.cpp
index f5eefd5cc08..4a03062b6ad 100644
--- a/source/gameengine/GameLogic/SCA_XORController.cpp
+++ b/source/gameengine/GameLogic/SCA_XORController.cpp
@@ -63,22 +63,22 @@ void SCA_XORController::Trigger(SCA_LogicManager* logicmgr)
bool sensorresult = false;
for (vector<SCA_ISensor*>::const_iterator is=m_linkedsensors.begin();
- !(is==m_linkedsensors.end());is++)
+ !(is==m_linkedsensors.end());is++)
{
SCA_ISensor* sensor = *is;
if (sensor->GetState())
{
if (sensorresult == true)
{
- sensorresult = false;
+ sensorresult = false;
break;
}
- sensorresult = true;
+ sensorresult = true;
}
}
for (vector<SCA_IActuator*>::const_iterator i=m_linkedactuators.begin();
- !(i==m_linkedactuators.end());i++)
+ !(i==m_linkedactuators.end());i++)
{
SCA_IActuator* actua = *i;
logicmgr->AddActiveActuator(actua,sensorresult);
diff --git a/source/gameengine/GamePlayer/common/CMakeLists.txt b/source/gameengine/GamePlayer/common/CMakeLists.txt
index d16ec6a2f22..8c5897fa48e 100644
--- a/source/gameengine/GamePlayer/common/CMakeLists.txt
+++ b/source/gameengine/GamePlayer/common/CMakeLists.txt
@@ -26,31 +26,31 @@
set(INC
.
- ../../../../intern/string
+ ../ghost
+ ../../BlenderRoutines
+ ../../Converter
+ ../../Expressions
+ ../../GameLogic
+ ../../Ketsji
+ ../../Network
+ ../../Network/LoopBackNetwork
+ ../../Physics/common
+ ../../Rasterizer
+ ../../Rasterizer/RAS_OpenGLRasterizer
+ ../../SceneGraph
+ ../../../blender
+ ../../../blender/blenfont
+ ../../../blender/blenkernel
+ ../../../blender/blenlib
+ ../../../blender/blenloader
+ ../../../blender/gpu
+ ../../../blender/imbuf
+ ../../../blender/makesdna
+ ../../../../intern/container
../../../../intern/ghost
../../../../intern/guardedalloc
- ../../../../intern/container
../../../../intern/moto/include
- ../../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../../source/gameengine/Converter
- ../../../../source/gameengine/BlenderRoutines
- ../../../../source/blender/imbuf
- ../../../../source/gameengine/Ketsji
- ../../../../source/blender/blenlib
- ../../../../source/blender/blenfont
- ../../../../source/blender/blenkernel
- ../../../../source/blender
- ../../../../source/blender/makesdna
- ../../../../source/gameengine/Rasterizer
- ../../../../source/gameengine/GameLogic
- ../../../../source/gameengine/Expressions
- ../../../../source/gameengine/Network
- ../../../../source/gameengine/SceneGraph
- ../../../../source/gameengine/Physics/common
- ../../../../source/gameengine/Network/LoopBackNetwork
- ../../../../source/gameengine/GamePlayer/ghost
- ../../../../source/blender/blenloader
- ../../../../source/blender/gpu
+ ../../../../intern/string
)
set(INC_SYS
@@ -61,7 +61,6 @@ set(INC_SYS
)
set(SRC
- bmfont.cpp
GPC_Canvas.cpp
GPC_Engine.cpp
GPC_KeyboardDevice.cpp
@@ -71,6 +70,7 @@ set(SRC
GPC_RawLogoArrays.cpp
GPC_RenderTools.cpp
GPC_System.cpp
+ bmfont.cpp
GPC_Canvas.h
GPC_Engine.h
diff --git a/source/gameengine/GamePlayer/common/bmfont.cpp b/source/gameengine/GamePlayer/common/bmfont.cpp
index e3b900173d9..ecb2c4f3bd1 100644
--- a/source/gameengine/GamePlayer/common/bmfont.cpp
+++ b/source/gameengine/GamePlayer/common/bmfont.cpp
@@ -190,7 +190,7 @@ void detectBitmapFont(ImBuf *ibuf)
long i;
if (ibuf != NULL) {
- // bitmap must have an x size that is a power of two
+ // bitmap must have an x size that is a power of two
if (is_power_of_two(ibuf->x)) {
rect = (unsigned char *) (ibuf->rect + (ibuf->x * (ibuf->y - 1)));
// printf ("starts with: %s %c %c %c %c\n", rect, rect[0], rect[1], rect[2], rect[3]);
diff --git a/source/gameengine/GamePlayer/ghost/CMakeLists.txt b/source/gameengine/GamePlayer/ghost/CMakeLists.txt
index 5ac121099c3..944ec9abd67 100644
--- a/source/gameengine/GamePlayer/ghost/CMakeLists.txt
+++ b/source/gameengine/GamePlayer/ghost/CMakeLists.txt
@@ -26,32 +26,32 @@
set(INC
.
- ../../../../intern/string
+ ../common
+ ../../BlenderRoutines
+ ../../Converter
+ ../../Expressions
+ ../../GameLogic
+ ../../Ketsji
+ ../../Network
+ ../../Network/LoopBackNetwork
+ ../../Physics/common
+ ../../Rasterizer
+ ../../Rasterizer/RAS_OpenGLRasterizer
+ ../../SceneGraph
+ ../../../blender
+ ../../../blender/blenfont
+ ../../../blender/blenkernel
+ ../../../blender/blenlib
+ ../../../blender/blenloader
+ ../../../blender/gpu
+ ../../../blender/imbuf
+ ../../../blender/makesdna
+ ../../../blender/makesrna
+ ../../../../intern/container
../../../../intern/ghost
../../../../intern/guardedalloc
- ../../../../intern/container
../../../../intern/moto/include
- ../../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../../source/gameengine/BlenderRoutines
- ../../../../source/gameengine/Converter
- ../../../../source/blender/imbuf
- ../../../../source/gameengine/Ketsji
- ../../../../source/blender/blenfont
- ../../../../source/blender/blenlib
- ../../../../source/blender/blenkernel
- ../../../../source/blender
- ../../../../source/blender/makesdna
- ../../../../source/blender/makesrna
- ../../../../source/gameengine/Rasterizer
- ../../../../source/gameengine/GameLogic
- ../../../../source/gameengine/Expressions
- ../../../../source/gameengine/Network
- ../../../../source/gameengine/SceneGraph
- ../../../../source/gameengine/Physics/common
- ../../../../source/gameengine/Network/LoopBackNetwork
- ../../../../source/gameengine/GamePlayer/common
- ../../../../source/blender/blenloader
- ../../../../source/blender/gpu
+ ../../../../intern/string
)
set(INC_SYS
@@ -62,9 +62,9 @@ set(INC_SYS
set(SRC
GPG_Application.cpp
GPG_Canvas.cpp
- GPG_ghost.cpp
GPG_KeyboardDevice.cpp
GPG_System.cpp
+ GPG_ghost.cpp
GPG_Application.h
GPG_Canvas.h
diff --git a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
index 6487d0298c7..5bc6093a9ff 100644
--- a/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
+++ b/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
@@ -139,7 +139,7 @@ GPG_Application::GPG_Application(GHOST_ISystem* system)
GPG_Application::~GPG_Application(void)
{
- if(m_pyGlobalDictString) {
+ if(m_pyGlobalDictString) {
delete [] m_pyGlobalDictString;
m_pyGlobalDictString = 0;
m_pyGlobalDictString_Length = 0;
@@ -192,7 +192,7 @@ static LRESULT CALLBACK screenSaverWindowProc(HWND hwnd, UINT uMsg, WPARAM wPara
LONG dx = scr_save_mouse_pos.x - pt.x;
LONG dy = scr_save_mouse_pos.y - pt.y;
if (abs(dx) > SCR_SAVE_MOUSE_MOVE_THRESHOLD
- || abs(dy) > SCR_SAVE_MOUSE_MOVE_THRESHOLD)
+ || abs(dy) > SCR_SAVE_MOUSE_MOVE_THRESHOLD)
{
close = TRUE;
}
@@ -448,6 +448,7 @@ bool GPG_Application::processEvent(GHOST_IEvent* event)
case GHOST_kEventWindowClose:
+ case GHOST_kEventQuit:
m_exitRequested = KX_EXIT_REQUEST_OUTSIDE;
break;
@@ -544,6 +545,7 @@ bool GPG_Application::initEngine(GHOST_IWindow* window, const int stereoMode)
bool frameRate = (SYS_GetCommandLineInt(syshandle, "show_framerate", 0) != 0);
bool useLists = (SYS_GetCommandLineInt(syshandle, "displaylists", gm->flag & GAME_DISPLAY_LISTS) != 0);
bool nodepwarnings = (SYS_GetCommandLineInt(syshandle, "ignore_deprecation_warnings", 1) != 0);
+ bool restrictAnimFPS = gm->flag & GAME_RESTRICT_ANIM_UPDATES;
if(GLEW_ARB_multitexture && GLEW_VERSION_1_1)
m_blendermat = (SYS_GetCommandLineInt(syshandle, "blender_material", 1) != 0);
@@ -615,7 +617,6 @@ bool GPG_Application::initEngine(GHOST_IWindow* window, const int stereoMode)
m_ketsjiengine->SetCanvas(m_canvas);
m_ketsjiengine->SetRenderTools(m_rendertools);
m_ketsjiengine->SetRasterizer(m_rasterizer);
- m_ketsjiengine->SetNetworkDevice(m_networkdevice);
m_ketsjiengine->SetTimingDisplay(frameRate, false, false);
#ifdef WITH_PYTHON
@@ -626,6 +627,7 @@ bool GPG_Application::initEngine(GHOST_IWindow* window, const int stereoMode)
m_ketsjiengine->SetUseFixedTime(fixed_framerate);
m_ketsjiengine->SetTimingDisplay(frameRate, profile, properties);
+ m_ketsjiengine->SetRestrictAnimationFPS(restrictAnimFPS);
m_engineInitialized = true;
}
diff --git a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
index 121f38eef02..3f8bcf9e2ad 100644
--- a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
+++ b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
@@ -64,6 +64,7 @@ extern "C"
#include "BKE_node.h"
#include "BKE_report.h"
#include "BKE_library.h"
+#include "BLI_threads.h"
#include "BLI_blenlib.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
@@ -379,12 +380,12 @@ int main(int argc, char** argv)
#endif /* __linux__ */
BLI_where_am_i(bprogname, sizeof(bprogname), argv[0]);
#ifdef __APPLE__
- // Can't use Carbon right now because of double defined type ID (In Carbon.h and DNA_ID.h, sigh)
- /*
- IBNibRef nibRef;
- WindowRef window;
- OSStatus err;
-
+ // Can't use Carbon right now because of double defined type ID (In Carbon.h and DNA_ID.h, sigh)
+ /*
+ IBNibRef nibRef;
+ WindowRef window;
+ OSStatus err;
+
// Create a Nib reference passing the name of the nib file (without the .nib extension)
// CreateNibReference only searches into the application bundle.
err = ::CreateNibReference(CFSTR("main"), &nibRef);
@@ -397,9 +398,13 @@ int main(int argc, char** argv)
// We don't need the nib reference anymore.
::DisposeNibReference(nibRef);
- */
+ */
#endif // __APPLE__
-
+
+ // We don't use threads directly in the BGE, but we need to call this so things like
+ // freeing up GPU_Textures works correctly.
+ BLI_threadapi_init();
+
RNA_init();
init_nodesystem();
@@ -408,6 +413,7 @@ int main(int argc, char** argv)
// We load our own G.main, so free the one that initglobals() gives us
free_main(G.main);
+ G.main = NULL;
IMB_init();
@@ -415,7 +421,7 @@ int main(int argc, char** argv)
BLF_init(11, U.dpi);
BLF_lang_init();
BLF_load_mem("default", (unsigned char*)datatoc_bfont_ttf, datatoc_bfont_ttf_size);
-
+
// Parse command line options
#if defined(DEBUG)
printf("argv[0] = '%s'\n", argv[0]);
@@ -450,6 +456,9 @@ int main(int argc, char** argv)
U.audioformat = 0x24;
U.audiochannels = 2;
+ // XXX this one too
+ U.anisotropic_filter = 2;
+
sound_init_once();
/* if running blenderplayer the last argument can't be parsed since it has to be the filename. */
@@ -705,6 +714,8 @@ int main(int argc, char** argv)
{
GPU_set_mipmap(0);
}
+
+ GPU_set_anisotropic(U.anisotropic_filter);
// Create the system
if (GHOST_ISystem::createSystem() == GHOST_kSuccess)
diff --git a/source/gameengine/GamePlayer/ghost/SConscript b/source/gameengine/GamePlayer/ghost/SConscript
index e3ffc1a406b..de063f5e297 100644
--- a/source/gameengine/GamePlayer/ghost/SConscript
+++ b/source/gameengine/GamePlayer/ghost/SConscript
@@ -40,6 +40,8 @@ incs = ['.',
'#source/blender/gpu',
'#extern/glew/include']
+incs.append(env['BF_PTHREADS_INC'])
+
defs = [ 'GLEW_STATIC' ]
if env['WITH_BF_PYTHON']:
diff --git a/source/gameengine/Ketsji/BL_Action.cpp b/source/gameengine/Ketsji/BL_Action.cpp
new file mode 100644
index 00000000000..08794042e37
--- /dev/null
+++ b/source/gameengine/Ketsji/BL_Action.cpp
@@ -0,0 +1,453 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Mitchell Stokes.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file BL_Action.cpp
+ * \ingroup ketsji
+ */
+
+#include <cstdlib>
+
+#include "BL_Action.h"
+#include "BL_ArmatureObject.h"
+#include "BL_DeformableGameObject.h"
+#include "BL_ShapeDeformer.h"
+#include "KX_IpoConvert.h"
+#include "KX_GameObject.h"
+
+// These three are for getting the action from the logic manager
+#include "KX_Scene.h"
+#include "KX_PythonInit.h"
+#include "SCA_LogicManager.h"
+
+extern "C" {
+#include "BKE_animsys.h"
+#include "BKE_action.h"
+#include "RNA_access.h"
+#include "RNA_define.h"
+}
+
+BL_Action::BL_Action(class KX_GameObject* gameobj)
+:
+ m_action(NULL),
+ m_pose(NULL),
+ m_blendpose(NULL),
+ m_blendinpose(NULL),
+ m_ptrrna(NULL),
+ m_obj(gameobj),
+ m_startframe(0.f),
+ m_endframe(0.f),
+ m_endtime(0.f),
+ m_localtime(0.f),
+ m_blendin(0.f),
+ m_blendframe(0.f),
+ m_blendstart(0.f),
+ m_speed(0.f),
+ m_priority(0),
+ m_playmode(0),
+ m_ipo_flags(0),
+ m_done(true),
+ m_calc_localtime(true)
+{
+ if (m_obj->GetGameObjectType() == SCA_IObject::OBJ_ARMATURE)
+ {
+ BL_ArmatureObject *obj = (BL_ArmatureObject*)m_obj;
+
+ m_ptrrna = new PointerRNA();
+ RNA_id_pointer_create(&obj->GetArmatureObject()->id, m_ptrrna);
+ }
+ else
+ {
+ BL_DeformableGameObject *obj = (BL_DeformableGameObject*)m_obj;
+ BL_ShapeDeformer *shape_deformer = dynamic_cast<BL_ShapeDeformer*>(obj->GetDeformer());
+
+ if (shape_deformer)
+ {
+ m_ptrrna = new PointerRNA();
+ RNA_id_pointer_create(&shape_deformer->GetKey()->id, m_ptrrna);
+ }
+ }
+}
+
+BL_Action::~BL_Action()
+{
+ if (m_pose)
+ game_free_pose(m_pose);
+ if (m_blendpose)
+ game_free_pose(m_blendpose);
+ if (m_blendinpose)
+ game_free_pose(m_blendinpose);
+ if (m_ptrrna)
+ delete m_ptrrna;
+ ClearControllerList();
+}
+
+void BL_Action::ClearControllerList()
+{
+ // Clear out the controller list
+ std::vector<SG_Controller*>::iterator it;
+ for (it = m_sg_contr_list.begin(); it != m_sg_contr_list.end(); it++)
+ {
+ m_obj->GetSGNode()->RemoveSGController((*it));
+ delete *it;
+ }
+
+ m_sg_contr_list.clear();
+}
+
+bool BL_Action::Play(const char* name,
+ float start,
+ float end,
+ short priority,
+ float blendin,
+ short play_mode,
+ float layer_weight,
+ short ipo_flags,
+ float playback_speed)
+{
+
+ // Only start playing a new action if we're done, or if
+ // the new action has a higher priority
+ if (priority != 0 && !IsDone() && priority >= m_priority)
+ return false;
+ m_priority = priority;
+ bAction* prev_action = m_action;
+
+ // First try to load the action
+ m_action = (bAction*)KX_GetActiveScene()->GetLogicManager()->GetActionByName(name);
+ if (!m_action)
+ {
+ printf("Failed to load action: %s\n", name);
+ m_done = true;
+ return false;
+ }
+
+ if (prev_action != m_action)
+ {
+ // First get rid of any old controllers
+ ClearControllerList();
+
+ // Create an SG_Controller
+ SG_Controller *sg_contr = BL_CreateIPO(m_action, m_obj, KX_GetActiveScene()->GetSceneConverter());
+ m_sg_contr_list.push_back(sg_contr);
+ m_obj->GetSGNode()->AddSGController(sg_contr);
+ sg_contr->SetObject(m_obj->GetSGNode());
+
+ // Extra controllers
+ if (m_obj->GetGameObjectType() == SCA_IObject::OBJ_LIGHT)
+ {
+ sg_contr = BL_CreateLampIPO(m_action, m_obj, KX_GetActiveScene()->GetSceneConverter());
+ m_sg_contr_list.push_back(sg_contr);
+ m_obj->GetSGNode()->AddSGController(sg_contr);
+ sg_contr->SetObject(m_obj->GetSGNode());
+ }
+ else if (m_obj->GetGameObjectType() == SCA_IObject::OBJ_CAMERA)
+ {
+ sg_contr = BL_CreateCameraIPO(m_action, m_obj, KX_GetActiveScene()->GetSceneConverter());
+ m_sg_contr_list.push_back(sg_contr);
+ m_obj->GetSGNode()->AddSGController(sg_contr);
+ sg_contr->SetObject(m_obj->GetSGNode());
+ }
+ }
+
+ m_ipo_flags = ipo_flags;
+ InitIPO();
+
+ // Setup blendin shapes/poses
+ if (m_obj->GetGameObjectType() == SCA_IObject::OBJ_ARMATURE)
+ {
+ BL_ArmatureObject *obj = (BL_ArmatureObject*)m_obj;
+ obj->GetMRDPose(&m_blendinpose);
+ }
+ else
+ {
+ BL_DeformableGameObject *obj = (BL_DeformableGameObject*)m_obj;
+ BL_ShapeDeformer *shape_deformer = dynamic_cast<BL_ShapeDeformer*>(obj->GetDeformer());
+
+ if (shape_deformer && shape_deformer->GetKey())
+ {
+ obj->GetShape(m_blendinshape);
+
+ // Now that we have the previous blend shape saved, we can clear out the key to avoid any
+ // further interference.
+ KeyBlock *kb;
+ for (kb=(KeyBlock*)shape_deformer->GetKey()->block.first; kb; kb=(KeyBlock*)kb->next)
+ kb->curval = 0.f;
+ }
+ }
+
+ // Now that we have an action, we have something we can play
+ m_starttime = KX_GetActiveEngine()->GetFrameTime();
+ m_startframe = m_localtime = start;
+ m_endframe = end;
+ m_blendin = blendin;
+ m_playmode = play_mode;
+ m_endtime = 0.f;
+ m_blendframe = 0.f;
+ m_blendstart = 0.f;
+ m_speed = playback_speed;
+ m_layer_weight = layer_weight;
+
+ m_done = false;
+
+ return true;
+}
+
+void BL_Action::Stop()
+{
+ m_done = true;
+}
+
+bool BL_Action::IsDone()
+{
+ return m_done;
+}
+
+void BL_Action::InitIPO()
+{
+ // Initialize the IPOs
+ std::vector<SG_Controller*>::iterator it;
+ for (it = m_sg_contr_list.begin(); it != m_sg_contr_list.end(); it++)
+ {
+ (*it)->SetOption(SG_Controller::SG_CONTR_IPO_RESET, true);
+ (*it)->SetOption(SG_Controller::SG_CONTR_IPO_IPO_AS_FORCE, m_ipo_flags & ACT_IPOFLAG_FORCE);
+ (*it)->SetOption(SG_Controller::SG_CONTR_IPO_IPO_ADD, m_ipo_flags & ACT_IPOFLAG_ADD);
+ (*it)->SetOption(SG_Controller::SG_CONTR_IPO_LOCAL, m_ipo_flags & ACT_IPOFLAG_LOCAL);
+ }
+}
+
+bAction *BL_Action::GetAction()
+{
+ return (IsDone()) ? NULL : m_action;
+}
+
+float BL_Action::GetFrame()
+{
+ return m_localtime;
+}
+
+void BL_Action::SetFrame(float frame)
+{
+ // Clamp the frame to the start and end frame
+ if (frame < min(m_startframe, m_endframe))
+ frame = min(m_startframe, m_endframe);
+ else if (frame > max(m_startframe, m_endframe))
+ frame = max(m_startframe, m_endframe);
+
+ m_localtime = frame;
+ m_calc_localtime = false;
+}
+
+void BL_Action::SetPlayMode(short play_mode)
+{
+ m_playmode = play_mode;
+}
+
+void BL_Action::SetTimes(float start, float end)
+{
+ m_startframe = start;
+ m_endframe = end;
+}
+
+void BL_Action::SetLocalTime(float curtime)
+{
+ float dt = (curtime-m_starttime)*KX_KetsjiEngine::GetAnimFrameRate()*m_speed;
+
+ if (m_endframe < m_startframe)
+ dt = -dt;
+
+ m_localtime = m_startframe + dt;
+}
+
+void BL_Action::ResetStartTime(float curtime)
+{
+ float dt = m_localtime - m_startframe;
+
+ m_starttime = curtime - dt / (KX_KetsjiEngine::GetAnimFrameRate()*m_speed);
+ SetLocalTime(curtime);
+}
+
+void BL_Action::IncrementBlending(float curtime)
+{
+ // Setup m_blendstart if we need to
+ if (m_blendstart == 0.f)
+ m_blendstart = curtime;
+
+ // Bump the blend frame
+ m_blendframe = (curtime - m_blendstart)*KX_KetsjiEngine::GetAnimFrameRate();
+
+ // Clamp
+ if (m_blendframe>m_blendin)
+ m_blendframe = m_blendin;
+}
+
+
+void BL_Action::BlendShape(Key* key, float srcweight, std::vector<float>& blendshape)
+{
+ vector<float>::const_iterator it;
+ float dstweight;
+ KeyBlock *kb;
+
+ dstweight = 1.0F - srcweight;
+ //printf("Dst: %f\tSrc: %f\n", srcweight, dstweight);
+ for (it=blendshape.begin(), kb = (KeyBlock*)key->block.first;
+ kb && it != blendshape.end();
+ kb = (KeyBlock*)kb->next, it++) {
+ //printf("OirgKeys: %f\t%f\n", kb->curval, (*it));
+ kb->curval = kb->curval * dstweight + (*it) * srcweight;
+ //printf("NewKey: %f\n", kb->curval);
+ }
+ //printf("\n");
+}
+
+void BL_Action::Update(float curtime)
+{
+ // Don't bother if we're done with the animation
+ if (m_done)
+ return;
+
+ curtime -= KX_KetsjiEngine::GetSuspendedDelta();
+
+ if (m_calc_localtime)
+ SetLocalTime(curtime);
+ else
+ {
+ ResetStartTime(curtime);
+ m_calc_localtime = true;
+ }
+
+ // Handle wrap around
+ if (m_localtime < min(m_startframe, m_endframe) || m_localtime > max(m_startframe, m_endframe))
+ {
+ switch(m_playmode)
+ {
+ case ACT_MODE_PLAY:
+ // Clamp
+ m_localtime = m_endframe;
+ m_done = true;
+ break;
+ case ACT_MODE_LOOP:
+ // Put the time back to the beginning
+ m_localtime = m_startframe;
+ m_starttime = curtime;
+ break;
+ case ACT_MODE_PING_PONG:
+ // Swap the start and end frames
+ float temp = m_startframe;
+ m_startframe = m_endframe;
+ m_endframe = temp;
+
+ m_starttime = curtime;
+
+ break;
+ }
+
+ if (!m_done)
+ InitIPO();
+ }
+
+ if (m_obj->GetGameObjectType() == SCA_IObject::OBJ_ARMATURE)
+ {
+ BL_ArmatureObject *obj = (BL_ArmatureObject*)m_obj;
+ obj->GetPose(&m_pose);
+
+ // Extract the pose from the action
+ {
+ Object *arm = obj->GetArmatureObject();
+ bPose *temp = arm->pose;
+
+ arm->pose = m_pose;
+ animsys_evaluate_action(m_ptrrna, m_action, NULL, m_localtime);
+
+ arm->pose = temp;
+ }
+
+ // Handle blending between armature actions
+ if (m_blendin && m_blendframe<m_blendin)
+ {
+ IncrementBlending(curtime);
+
+ // Calculate weight
+ float weight = 1.f - (m_blendframe/m_blendin);
+
+ // Blend the poses
+ game_blend_poses(m_pose, m_blendinpose, weight);
+ }
+
+
+ // Handle layer blending
+ if (m_layer_weight >= 0)
+ {
+ obj->GetMRDPose(&m_blendpose);
+ game_blend_poses(m_pose, m_blendpose, m_layer_weight);
+ }
+
+ obj->SetPose(m_pose);
+
+ obj->SetActiveAction(NULL, 0, curtime);
+ }
+ else
+ {
+ BL_DeformableGameObject *obj = (BL_DeformableGameObject*)m_obj;
+ BL_ShapeDeformer *shape_deformer = dynamic_cast<BL_ShapeDeformer*>(obj->GetDeformer());
+
+ // Handle shape actions if we have any
+ if (shape_deformer && shape_deformer->GetKey())
+ {
+ Key *key = shape_deformer->GetKey();
+
+
+ animsys_evaluate_action(m_ptrrna, m_action, NULL, m_localtime);
+
+ // Handle blending between shape actions
+ if (m_blendin && m_blendframe < m_blendin)
+ {
+ IncrementBlending(curtime);
+
+ float weight = 1.f - (m_blendframe/m_blendin);
+
+ // We go through and clear out the keyblocks so there isn't any interference
+ // from other shape actions
+ KeyBlock *kb;
+ for (kb=(KeyBlock*)key->block.first; kb; kb=(KeyBlock*)kb->next)
+ kb->curval = 0.f;
+
+ // Now blend the shape
+ BlendShape(key, weight, m_blendinshape);
+ }
+
+ // Handle layer blending
+ if (m_layer_weight >= 0)
+ {
+ obj->GetShape(m_blendshape);
+ BlendShape(key, m_layer_weight, m_blendshape);
+ }
+
+ obj->SetActiveAction(NULL, 0, curtime);
+ }
+
+
+ InitIPO();
+ m_obj->UpdateIPO(m_localtime, m_ipo_flags & ACT_IPOFLAG_CHILD);
+ }
+}
diff --git a/source/gameengine/Ketsji/BL_Action.h b/source/gameengine/Ketsji/BL_Action.h
new file mode 100644
index 00000000000..92fbe95fd54
--- /dev/null
+++ b/source/gameengine/Ketsji/BL_Action.h
@@ -0,0 +1,144 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Mitchell Stokes.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file BL_Action.h
+ * \ingroup ketsji
+ */
+
+#ifndef __BL_ACTION
+#define __BL_ACTION
+
+
+#include <vector>
+
+#ifdef WITH_CXX_GUARDEDALLOC
+#include "MEM_guardedalloc.h"
+#endif
+
+
+class BL_Action
+{
+private:
+ struct bAction* m_action;
+ struct bPose* m_pose;
+ struct bPose* m_blendpose;
+ struct bPose* m_blendinpose;
+ struct PointerRNA *m_ptrrna;
+ std::vector<class SG_Controller*> m_sg_contr_list;
+ class KX_GameObject* m_obj;
+ std::vector<float> m_blendshape;
+ std::vector<float> m_blendinshape;
+
+ float m_startframe;
+ float m_endframe;
+ float m_starttime;
+ float m_endtime;
+ float m_localtime;
+
+ float m_blendin;
+ float m_blendframe;
+ float m_blendstart;
+
+ float m_layer_weight;
+
+ float m_speed;
+
+ short m_priority;
+
+ short m_playmode;
+
+ short m_ipo_flags;
+
+ bool m_done;
+ bool m_calc_localtime;
+
+ void ClearControllerList();
+ void InitIPO();
+ void SetLocalTime(float curtime);
+ void ResetStartTime(float curtime);
+ void IncrementBlending(float curtime);
+ void BlendShape(struct Key* key, float srcweight, std::vector<float>& blendshape);
+public:
+ BL_Action(class KX_GameObject* gameobj);
+ ~BL_Action();
+
+ /**
+ * Play an action
+ */
+ bool Play(const char* name,
+ float start,
+ float end,
+ short priority,
+ float blendin,
+ short play_mode,
+ float layer_weight,
+ short ipo_flags,
+ float playback_speed);
+ /**
+ * Stop playing the action
+ */
+ void Stop();
+ /**
+ * Whether or not the action is still playing
+ */
+ bool IsDone();
+ /**
+ * Update the action's frame, etc.
+ */
+ void Update(float curtime);
+
+ // Accessors
+ float GetFrame();
+ struct bAction *GetAction();
+
+ // Mutators
+ void SetFrame(float frame);
+ void SetPlayMode(short play_mode);
+ void SetTimes(float start, float end);
+
+ enum
+ {
+ ACT_MODE_PLAY = 0,
+ ACT_MODE_LOOP,
+ ACT_MODE_PING_PONG,
+ ACT_MODE_MAX,
+ };
+
+ enum
+ {
+ ACT_IPOFLAG_FORCE = 1,
+ ACT_IPOFLAG_LOCAL = 2,
+ ACT_IPOFLAG_ADD = 4,
+ ACT_IPOFLAG_CHILD = 8,
+ };
+
+#ifdef WITH_CXX_GUARDEDALLOC
+public:
+ void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:BL_Action"); }
+ void operator delete( void *mem ) { MEM_freeN(mem); }
+#endif
+};
+
+#endif //BL_ACTION
+
diff --git a/source/gameengine/Ketsji/BL_ActionManager.cpp b/source/gameengine/Ketsji/BL_ActionManager.cpp
new file mode 100644
index 00000000000..4e4d3bc539e
--- /dev/null
+++ b/source/gameengine/Ketsji/BL_ActionManager.cpp
@@ -0,0 +1,110 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Mitchell Stokes.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file BL_ActionManager.cpp
+ * \ingroup ketsji
+ */
+
+#include "BL_ActionManager.h"
+
+BL_ActionManager::BL_ActionManager(class KX_GameObject *obj)
+{
+ for (int i=0; i<MAX_ACTION_LAYERS; ++i)
+ m_layers[i] = new BL_Action(obj);
+}
+
+BL_ActionManager::~BL_ActionManager()
+{
+ for (int i=0; i<MAX_ACTION_LAYERS; ++i)
+ delete m_layers[i];
+}
+
+float BL_ActionManager::GetActionFrame(short layer)
+{
+ return m_layers[layer]->GetFrame();
+
+ return 0.f;
+}
+
+void BL_ActionManager::SetActionFrame(short layer, float frame)
+{
+ m_layers[layer]->SetFrame(frame);
+}
+
+struct bAction *BL_ActionManager::GetCurrentAction(short layer)
+{
+ return m_layers[layer]->GetAction();
+
+ return 0;
+}
+
+void BL_ActionManager::SetPlayMode(short layer, short mode)
+{
+ m_layers[layer]->SetPlayMode(mode);
+}
+
+void BL_ActionManager::SetTimes(short layer, float start, float end)
+{
+ m_layers[layer]->SetTimes(start, end);
+}
+
+bool BL_ActionManager::PlayAction(const char* name,
+ float start,
+ float end,
+ short layer,
+ short priority,
+ float blendin,
+ short play_mode,
+ float layer_weight,
+ short ipo_flags,
+ float playback_speed)
+{
+ // Disable layer blending on the first layer
+ if (layer == 0) layer_weight = -1.f;
+
+ return m_layers[layer]->Play(name, start, end, priority, blendin, play_mode, layer_weight, ipo_flags, playback_speed);
+}
+
+void BL_ActionManager::StopAction(short layer)
+{
+ m_layers[layer]->Stop();
+}
+
+bool BL_ActionManager::IsActionDone(short layer)
+{
+ return m_layers[layer]->IsDone();
+
+ return true;
+}
+
+void BL_ActionManager::Update(float curtime)
+{
+ for (int i=0; i<MAX_ACTION_LAYERS; ++i)
+ {
+ if (!m_layers[i]->IsDone())
+ {
+ m_layers[i]->Update(curtime);
+ }
+ }
+}
diff --git a/source/gameengine/Ketsji/BL_ActionManager.h b/source/gameengine/Ketsji/BL_ActionManager.h
new file mode 100644
index 00000000000..a3c8379981e
--- /dev/null
+++ b/source/gameengine/Ketsji/BL_ActionManager.h
@@ -0,0 +1,106 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Mitchell Stokes.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file BL_ActionManager.cpp
+ * \ingroup ketsji
+ */
+
+#ifndef __BL_ACTIONMANAGER
+#define __BL_ACTIONMANAGER
+
+#include "BL_Action.h"
+
+#define MAX_ACTION_LAYERS 8
+
+/**
+ * BL_ActionManager is responsible for handling a KX_GameObject's actions.
+ */
+class BL_ActionManager
+{
+private:
+ BL_Action* m_layers[MAX_ACTION_LAYERS];
+
+public:
+ BL_ActionManager(class KX_GameObject* obj);
+ ~BL_ActionManager();
+
+ bool PlayAction(const char* name,
+ float start,
+ float end,
+ short layer=0,
+ short priority=0,
+ float blendin=0.f,
+ short play_mode=0,
+ float layer_weight=0.f,
+ short ipo_flags=0,
+ float playback_speed=1.f);
+ /**
+ * Gets the current frame of an action
+ */
+ float GetActionFrame(short layer);
+
+ /**
+ * Sets the current frame of an action
+ */
+ void SetActionFrame(short layer, float frame);
+
+ /**
+ * Gets the currently running action on the given layer
+ */
+ struct bAction *GetCurrentAction(short layer);
+
+ /**
+ * Sets play mode of the action on the given layer
+ */
+ void SetPlayMode(short layer, short mode);
+
+ /**
+ * Sets the start and end times of the action on the given layer
+ */
+ void SetTimes(short layer, float start, float end);
+
+ /**
+ * Stop playing the action on the given layer
+ */
+ void StopAction(short layer);
+
+ /**
+ * Check if an action has finished playing
+ */
+ bool IsActionDone(short layer);
+
+ /**
+ * Update any running actions
+ */
+ void Update(float);
+
+#ifdef WITH_CXX_GUARDEDALLOC
+public:
+ void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:BL_ActionManager"); }
+ void operator delete( void *mem ) { MEM_freeN(mem); }
+#endif
+};
+
+#endif //BL_ACTIONMANAGER
+
diff --git a/source/gameengine/Ketsji/BL_BlenderShader.cpp b/source/gameengine/Ketsji/BL_BlenderShader.cpp
index 91982a424c7..4ae937cdcd6 100644
--- a/source/gameengine/Ketsji/BL_BlenderShader.cpp
+++ b/source/gameengine/Ketsji/BL_BlenderShader.cpp
@@ -63,7 +63,7 @@ int BL_BlenderShader::GetAttribNum()
GPU_material_vertex_attributes(mGPUMat, &attribs);
- for(i = 0; i < attribs.totlayer; i++)
+ for(i = 0; i < attribs.totlayer; i++)
if(attribs.layer[i].glindex+1 > enabled)
enabled= attribs.layer[i].glindex+1;
diff --git a/source/gameengine/Ketsji/BL_Material.h b/source/gameengine/Ketsji/BL_Material.h
index ef25c9218a3..c0440e66501 100644
--- a/source/gameengine/Ketsji/BL_Material.h
+++ b/source/gameengine/Ketsji/BL_Material.h
@@ -157,7 +157,8 @@ enum BL_ras_mode
ALPHA=8,
// TRIANGLE=16,
USE_LIGHT=32,
- WIRE=64
+ WIRE=64,
+ CAST_SHADOW=128
};
// -------------------------------------
diff --git a/source/gameengine/Ketsji/BL_Shader.cpp b/source/gameengine/Ketsji/BL_Shader.cpp
index 621cabfe0cf..aea33246a3f 100644
--- a/source/gameengine/Ketsji/BL_Shader.cpp
+++ b/source/gameengine/Ketsji/BL_Shader.cpp
@@ -690,7 +690,7 @@ void BL_Shader::SetUniform(int uniform, const MT_Matrix3x3& vec, bool transpose)
float value[9];
value[0] = (float)vec[0][0]; value[1] = (float)vec[1][0]; value[2] = (float)vec[2][0];
value[3] = (float)vec[0][1]; value[4] = (float)vec[1][1]; value[5] = (float)vec[2][1];
- value[6] = (float)vec[0][2]; value[7] = (float)vec[1][2]; value[7] = (float)vec[2][2];
+ value[6] = (float)vec[0][2]; value[7] = (float)vec[1][2]; value[8] = (float)vec[2][2];
glUniformMatrix3fvARB(uniform, 1, transpose?GL_TRUE:GL_FALSE, value);
}
}
diff --git a/source/gameengine/Ketsji/BL_Texture.cpp b/source/gameengine/Ketsji/BL_Texture.cpp
index d2438a66367..a306e059442 100644
--- a/source/gameengine/Ketsji/BL_Texture.cpp
+++ b/source/gameengine/Ketsji/BL_Texture.cpp
@@ -28,6 +28,7 @@
#define spit(x) std::cout << x << std::endl;
#include "MEM_guardedalloc.h"
+#include "GPU_draw.h"
extern "C" {
// envmaps
@@ -175,6 +176,8 @@ void BL_Texture::InitGLTex(unsigned int *pix,int x,int y,bool mipmap)
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, x, y, 0, GL_RGBA, GL_UNSIGNED_BYTE, pix );
}
+ if (GLEW_EXT_texture_filter_anisotropic)
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, GPU_get_anisotropic());
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
}
@@ -199,6 +202,9 @@ void BL_Texture::InitNonPow2Tex(unsigned int *pix,int x,int y,bool mipmap)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, nx, ny, 0, GL_RGBA, GL_UNSIGNED_BYTE, newPixels );
}
+
+ if (GLEW_EXT_texture_filter_anisotropic)
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, GPU_get_anisotropic());
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
free(newPixels);
}
diff --git a/source/gameengine/Ketsji/CMakeLists.txt b/source/gameengine/Ketsji/CMakeLists.txt
index b32fd9e7a44..6846da5b019 100644
--- a/source/gameengine/Ketsji/CMakeLists.txt
+++ b/source/gameengine/Ketsji/CMakeLists.txt
@@ -26,33 +26,33 @@
set(INC
.
- ../../../intern/string
- ../../../intern/guardedalloc
+ KXNetwork
+ ../BlenderRoutines
+ ../Converter
+ ../Expressions
+ ../GameLogic
+ ../Network
+ ../Network/LoopBackNetwork
+ ../Physics/common
+ ../Rasterizer
+ ../Rasterizer/RAS_OpenGLRasterizer
+ ../SceneGraph
+ ../../blender
+ ../../blender/blenfont
+ ../../blender/blenkernel
+ ../../blender/blenlib
+ ../../blender/blenloader
+ ../../blender/gpu
+ ../../blender/imbuf
+ ../../blender/makesdna
+ ../../blender/makesrna
+ ../../blender/python
+ ../../blender/python/generic
+ ../../blender/python/mathutils
../../../intern/container
- ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../source/gameengine/Converter
- ../../../source/gameengine/BlenderRoutines
- ../../../source/blender/imbuf
+ ../../../intern/guardedalloc
../../../intern/moto/include
- ../../../source/gameengine/Ketsji
- ../../../source/blender/blenlib
- ../../../source/blender/blenfont
- ../../../source/blender/blenkernel
- ../../../source/blender/python
- ../../../source/blender/python/generic
- ../../../source/blender
- ../../../source/blender/makesdna
- ../../../source/gameengine/Rasterizer
- ../../../source/gameengine/GameLogic
- ../../../source/gameengine/Expressions
- ../../../source/gameengine/Ketsji/KXNetwork
- ../../../source/gameengine/Network
- ../../../source/gameengine/SceneGraph
- ../../../source/gameengine/Physics/common
- ../../../source/gameengine/Network/LoopBackNetwork
- ../../../intern/audaspace/intern
- ../../../source/blender/blenloader
- ../../../source/blender/gpu
+ ../../../intern/string
)
set(INC_SYS
@@ -63,6 +63,8 @@ set(INC_SYS
)
set(SRC
+ BL_Action.cpp
+ BL_ActionManager.cpp
BL_BlenderShader.cpp
BL_Material.cpp
BL_Shader.cpp
@@ -135,6 +137,12 @@ set(SRC
KX_WorldInfo.cpp
KX_WorldIpoController.cpp
+ BL_Action.h
+ BL_ActionManager.h
+ BL_BlenderShader.h
+ BL_Material.h
+ BL_Shader.h
+ BL_Texture.h
KX_ArmatureSensor.h
KX_BlenderMaterial.h
KX_BulletPhysicsController.h
@@ -210,16 +218,14 @@ set(SRC
KX_VisibilityActuator.h
KX_WorldInfo.h
KX_WorldIpoController.h
- BL_BlenderShader.h
- BL_Material.h
- BL_Shader.h
- BL_Texture.h
)
add_definitions(-DGLEW_STATIC)
if(WITH_SDL)
- list(APPEND INC_SYS ${SDL_INCLUDE_DIR})
+ list(APPEND INC_SYS
+ ${SDL_INCLUDE_DIR}
+ )
else()
add_definitions(-DDISABLE_SDL)
endif()
@@ -228,10 +234,18 @@ if(WITH_CODEC_FFMPEG)
add_definitions(-DWITH_FFMPEG)
endif()
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../intern/audaspace/intern
+ ../../../intern/audaspace/FX
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
if(WITH_BULLET)
list(APPEND INC
../../../extern/bullet2/src
- ../../../source/gameengine/Physics/Bullet
+ ../Physics/Bullet
)
add_definitions(-DUSE_BULLET)
endif()
diff --git a/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt b/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt
index b8149566801..1ebf1153150 100644
--- a/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt
+++ b/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt
@@ -26,14 +26,14 @@
set(INC
.
- ../../../../intern/string
+ ..
+ ../../Expressions
+ ../../GameLogic
+ ../../Network
+ ../../SceneGraph
../../../../intern/container
../../../../intern/moto/include
- ../../../../source/gameengine/Ketsji
- ../../../../source/gameengine/GameLogic
- ../../../../source/gameengine/Expressions
- ../../../../source/gameengine/SceneGraph
- ../../../../source/gameengine/Network
+ ../../../../intern/string
)
set(INC_SYS
diff --git a/source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.cpp b/source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.cpp
index e8e65371d3a..72f1cee8855 100644
--- a/source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.cpp
+++ b/source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.cpp
@@ -66,8 +66,8 @@ void KX_NetworkEventManager::NextFrame()
for (it.begin();!it.end();++it)
{
// printf("KX_NetworkEventManager::proceed sensor %.2f\n", curtime);
- // process queue
- (*it)->Activate(m_logicmgr);
+ // process queue
+ (*it)->Activate(m_logicmgr);
}
// now a list of triggerer sensors has been built
diff --git a/source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.h b/source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.h
index ff9131f464e..405e2d52989 100644
--- a/source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.h
+++ b/source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.h
@@ -43,7 +43,7 @@ class KX_NetworkEventManager : public SCA_EventManager
public:
KX_NetworkEventManager(class SCA_LogicManager* logicmgr,
- class NG_NetworkDeviceInterface *ndi);
+ class NG_NetworkDeviceInterface *ndi);
virtual ~KX_NetworkEventManager ();
virtual void NextFrame();
@@ -51,7 +51,7 @@ public:
SCA_LogicManager* GetLogicManager() { return m_logicmgr; }
class NG_NetworkDeviceInterface* GetNetworkDevice() {
- return m_ndi; }
+ return m_ndi; }
};
#endif //KX_NETWORK_EVENTMANAGER_H
diff --git a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp
index 2e0abc0290c..9fd09506c0d 100644
--- a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp
+++ b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp
@@ -91,8 +91,7 @@ bool KX_NetworkMessageActuator::Update()
CValue* KX_NetworkMessageActuator::GetReplica()
{
- KX_NetworkMessageActuator* replica =
- new KX_NetworkMessageActuator(*this);
+ KX_NetworkMessageActuator* replica = new KX_NetworkMessageActuator(*this);
replica->ProcessReplica();
return replica;
diff --git a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
index 6dcf50fa18f..a795a4eddc6 100644
--- a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
+++ b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
@@ -50,11 +50,11 @@
#endif
KX_NetworkMessageSensor::KX_NetworkMessageSensor(
- class KX_NetworkEventManager* eventmgr, // our eventmanager
- class NG_NetworkScene *NetworkScene, // our scene
- SCA_IObject* gameobj, // the sensor controlling object
- const STR_String &subject
-) :
+ class KX_NetworkEventManager* eventmgr, // our eventmanager
+ class NG_NetworkScene *NetworkScene, // our scene
+ SCA_IObject* gameobj, // the sensor controlling object
+ const STR_String &subject
+ ) :
SCA_ISensor(gameobj,eventmgr),
m_NetworkScene(NetworkScene),
m_subject(subject),
@@ -67,7 +67,7 @@ KX_NetworkMessageSensor::KX_NetworkMessageSensor(
void KX_NetworkMessageSensor::Init()
{
- m_IsUp = false;
+ m_IsUp = false;
}
KX_NetworkMessageSensor::~KX_NetworkMessageSensor()
diff --git a/source/gameengine/Ketsji/KX_BlenderMaterial.cpp b/source/gameengine/Ketsji/KX_BlenderMaterial.cpp
index 9ff32ba57c5..33da17cc505 100644
--- a/source/gameengine/Ketsji/KX_BlenderMaterial.cpp
+++ b/source/gameengine/Ketsji/KX_BlenderMaterial.cpp
@@ -56,21 +56,21 @@ KX_BlenderMaterial::KX_BlenderMaterial()
}
void KX_BlenderMaterial::Initialize(
- KX_Scene *scene,
- BL_Material *data)
+ KX_Scene *scene,
+ BL_Material *data)
{
RAS_IPolyMaterial::Initialize(
- data->texname[0],
- data->matname,
- data->materialindex,
- data->tile,
- data->tilexrep[0],
- data->tileyrep[0],
- data->mode,
- data->transp,
- ((data->ras_mode &ALPHA)!=0),
- ((data->ras_mode &ZSORT)!=0)
- );
+ data->texname[0],
+ data->matname,
+ data->materialindex,
+ data->tile,
+ data->tilexrep[0],
+ data->tileyrep[0],
+ data->mode,
+ data->transp,
+ ((data->ras_mode &ALPHA)!=0),
+ ((data->ras_mode &ZSORT)!=0)
+ );
mMaterial = data;
mShader = 0;
mBlenderShader = 0;
@@ -80,11 +80,12 @@ void KX_BlenderMaterial::Initialize(
mConstructed = false;
mPass = 0;
// --------------------------------
- // RAS_IPolyMaterial variables...
+ // RAS_IPolyMaterial variables...
m_flag |= RAS_BLENDERMAT;
m_flag |= (mMaterial->IdMode>=ONETEX)? RAS_MULTITEX: 0;
m_flag |= ((mMaterial->ras_mode & USE_LIGHT)!=0)? RAS_MULTILIGHT: 0;
m_flag |= (mMaterial->glslmat)? RAS_BLENDERGLSL: 0;
+ m_flag |= ((mMaterial->ras_mode & CAST_SHADOW)!=0)? RAS_CASTSHADOW: 0;
// figure max
int enabled = mMaterial->num_enabled;
@@ -92,14 +93,11 @@ void KX_BlenderMaterial::Initialize(
mMaterial->num_enabled = enabled>=max?max:enabled;
// test the sum of the various modes for equality
- // so we can ether accept or reject this material
- // as being equal, this is rather important to
+ // so we can ether accept or reject this material
+ // as being equal, this is rather important to
// prevent material bleeding
for(int i=0; i<mMaterial->num_enabled; i++) {
- m_multimode +=
- ( mMaterial->flag[i] +
- mMaterial->blend_mode[i]
- );
+ m_multimode += (mMaterial->flag[i] + mMaterial->blend_mode[i]);
}
m_multimode += mMaterial->IdMode+ (mMaterial->ras_mode & ~(COLLIDER|USE_LIGHT));
}
diff --git a/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp b/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp
index fde01961fd5..6e5513991f9 100644
--- a/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp
+++ b/source/gameengine/Ketsji/KX_BulletPhysicsController.cpp
@@ -213,16 +213,16 @@ MT_Scalar KX_BulletPhysicsController::GetMass()
MT_Vector3 KX_BulletPhysicsController::GetLocalInertia()
{
- MT_Vector3 inertia(0.f, 0.f, 0.f);
- btVector3 inv_inertia;
- if (GetRigidBody()) {
- inv_inertia = GetRigidBody()->getInvInertiaDiagLocal();
- if (!btFuzzyZero(inv_inertia.getX()) &&
- !btFuzzyZero(inv_inertia.getY()) &&
- !btFuzzyZero(inv_inertia.getZ()))
+ MT_Vector3 inertia(0.f, 0.f, 0.f);
+ btVector3 inv_inertia;
+ if (GetRigidBody()) {
+ inv_inertia = GetRigidBody()->getInvInertiaDiagLocal();
+ if (!btFuzzyZero(inv_inertia.getX()) &&
+ !btFuzzyZero(inv_inertia.getY()) &&
+ !btFuzzyZero(inv_inertia.getZ()))
inertia = MT_Vector3(1.f/inv_inertia.getX(), 1.f/inv_inertia.getY(), 1.f/inv_inertia.getZ());
- }
- return inertia;
+ }
+ return inertia;
}
MT_Vector3 KX_BulletPhysicsController::getReactionForce()
diff --git a/source/gameengine/Ketsji/KX_Camera.cpp b/source/gameengine/Ketsji/KX_Camera.cpp
index 98ea25c135a..a488d646792 100644
--- a/source/gameengine/Ketsji/KX_Camera.cpp
+++ b/source/gameengine/Ketsji/KX_Camera.cpp
@@ -271,18 +271,18 @@ void KX_Camera::ExtractFrustumSphere()
if (m_set_frustum_center)
return;
- // compute sphere for the general case and not only symmetric frustum:
- // the mirror code in ImageRender can use very asymmetric frustum.
- // We will put the sphere center on the line that goes from origin to the center of the far clipping plane
- // This is the optimal position if the frustum is symmetric or very asymmetric and probably close
- // to optimal for the general case. The sphere center position is computed so that the distance to
- // the near and far extreme frustum points are equal.
-
- // get the transformation matrix from device coordinate to camera coordinate
+ // compute sphere for the general case and not only symmetric frustum:
+ // the mirror code in ImageRender can use very asymmetric frustum.
+ // We will put the sphere center on the line that goes from origin to the center of the far clipping plane
+ // This is the optimal position if the frustum is symmetric or very asymmetric and probably close
+ // to optimal for the general case. The sphere center position is computed so that the distance to
+ // the near and far extreme frustum points are equal.
+
+ // get the transformation matrix from device coordinate to camera coordinate
MT_Matrix4x4 clip_camcs_matrix = m_projection_matrix;
clip_camcs_matrix.invert();
- if (m_projection_matrix[3][3] == MT_Scalar(0.0))
+ if (m_projection_matrix[3][3] == MT_Scalar(0.0))
{
// frustrum projection
// detect which of the corner of the far clipping plane is the farthest to the origin
@@ -302,7 +302,7 @@ void KX_Camera::ExtractFrustumSphere()
MT_Scalar len;
for (int i=0; i<4; i++)
{
- hpoint = clip_camcs_matrix*npoint;
+ hpoint = clip_camcs_matrix*npoint;
point.setValue(hpoint[0]/hpoint[3], hpoint[1]/hpoint[3], hpoint[2]/hpoint[3]);
len = point.dot(point);
if (len > F)
@@ -321,7 +321,7 @@ void KX_Camera::ExtractFrustumSphere()
farcenter *= 0.25;
// the extreme near point is the opposite point on the near clipping plane
nfar.setValue(-nfar[0], -nfar[1], -1., 1.);
- nfar = clip_camcs_matrix*nfar;
+ nfar = clip_camcs_matrix*nfar;
nearpoint.setValue(nfar[0]/nfar[3], nfar[1]/nfar[3], nfar[2]/nfar[3]);
// this is a frustrum projection
N = nearpoint.dot(nearpoint);
@@ -340,7 +340,7 @@ void KX_Camera::ExtractFrustumSphere()
z = (F-N)/(2.0*(e-s+c*(f-n)));
m_frustum_center = MT_Point3(farcenter[0]*z/e, farcenter[1]*z/e, z);
m_frustum_radius = m_frustum_center.distance(farpoint);
- }
+ }
else
{
// orthographic projection
@@ -923,6 +923,8 @@ KX_PYMETHODDEF_DOC_O(KX_Camera, getScreenPosition,
if (!PyVecTo(value, vect))
{
+ PyErr_Clear();
+
if(ConvertPythonToGameObject(value, &obj, true, ""))
{
PyErr_Clear();
@@ -1020,10 +1022,8 @@ KX_PYMETHODDEF_DOC_VARARGS(KX_Camera, getScreenRay,
return NULL;
PyObject* argValue = PyTuple_New(2);
- if (argValue) {
- PyTuple_SET_ITEM(argValue, 0, PyFloat_FromDouble(x));
- PyTuple_SET_ITEM(argValue, 1, PyFloat_FromDouble(y));
- }
+ PyTuple_SET_ITEM(argValue, 0, PyFloat_FromDouble(x));
+ PyTuple_SET_ITEM(argValue, 1, PyFloat_FromDouble(y));
if(!PyVecTo(PygetScreenVect(argValue), vect))
{
diff --git a/source/gameengine/Ketsji/KX_CameraActuator.cpp b/source/gameengine/Ketsji/KX_CameraActuator.cpp
index d68cb453fe8..ebb291b2284 100644
--- a/source/gameengine/Ketsji/KX_CameraActuator.cpp
+++ b/source/gameengine/Ketsji/KX_CameraActuator.cpp
@@ -54,14 +54,16 @@ KX_CameraActuator::KX_CameraActuator(
float hght,
float minhght,
float maxhght,
- bool xytog
+ bool xytog,
+ float damping
):
SCA_IActuator(gameobj, KX_ACT_CAMERA),
m_ob (obj),
m_height (hght),
m_minHeight (minhght),
m_maxHeight (maxhght),
- m_x (xytog)
+ m_x (xytog),
+ m_damping (damping)
{
if (m_ob)
m_ob->RegisterActuator(this);
@@ -283,7 +285,7 @@ bool KX_CameraActuator::Update(double curtime, bool frame)
}
inp= fp1[0]*fp2[0] + fp1[1]*fp2[1] + fp1[2]*fp2[2];
- fac= (-1.0 + inp)/32.0;
+ fac= (-1.0 + inp) * m_damping;
from[0]+= fac*fp1[0];
from[1]+= fac*fp1[1];
@@ -390,6 +392,7 @@ PyAttributeDef KX_CameraActuator::Attributes[] = {
KX_PYATTRIBUTE_FLOAT_RW("height",-FLT_MAX,FLT_MAX,KX_CameraActuator,m_height),
KX_PYATTRIBUTE_BOOL_RW("useXY",KX_CameraActuator,m_x),
KX_PYATTRIBUTE_RW_FUNCTION("object", KX_CameraActuator, pyattr_get_object, pyattr_set_object),
+ KX_PYATTRIBUTE_FLOAT_RW("damping",0.f,10.f,KX_CameraActuator,m_damping),
{NULL}
};
diff --git a/source/gameengine/Ketsji/KX_CameraActuator.h b/source/gameengine/Ketsji/KX_CameraActuator.h
index d59fcff9370..f844f6418b8 100644
--- a/source/gameengine/Ketsji/KX_CameraActuator.h
+++ b/source/gameengine/Ketsji/KX_CameraActuator.h
@@ -73,6 +73,9 @@ private :
/** xy toggle (pick one): true == x, false == y */
bool m_x;
+
+ /** damping (float), */
+ float m_damping;
/* get the KX_IGameObject with this name */
CValue *findObject(char *obName);
@@ -95,7 +98,8 @@ private :
float hght,
float minhght,
float maxhght,
- bool xytog
+ bool xytog,
+ float damping
);
diff --git a/source/gameengine/Ketsji/KX_Dome.cpp b/source/gameengine/Ketsji/KX_Dome.cpp
index 2e1fb933ad0..00c5e5803a8 100644
--- a/source/gameengine/Ketsji/KX_Dome.cpp
+++ b/source/gameengine/Ketsji/KX_Dome.cpp
@@ -42,34 +42,34 @@ Developed as part of a Research and Development project for SAT - La Société d
// constructor
KX_Dome::KX_Dome (
- RAS_ICanvas* canvas,
- /// rasterizer
- RAS_IRasterizer* rasterizer,
- /// render tools
- RAS_IRenderTools* rendertools,
- /// engine
- KX_KetsjiEngine* engine,
-
- short res, //resolution of the mesh
- short mode, //mode - fisheye, truncated, warped, panoramic, ...
- short angle,
- float resbuf, //size adjustment of the buffer
- short tilt,
- struct Text* warptext
-
-):
- dlistSupported(false),
- canvaswidth(-1), canvasheight(-1),
- m_drawingmode(engine->GetDrawType()),
- m_resolution(res),
- m_mode(mode),
- m_angle(angle),
- m_resbuffer(resbuf),
- m_tilt(tilt),
- m_canvas(canvas),
- m_rasterizer(rasterizer),
- m_rendertools(rendertools),
- m_engine(engine)
+ RAS_ICanvas* canvas,
+ /// rasterizer
+ RAS_IRasterizer* rasterizer,
+ /// render tools
+ RAS_IRenderTools* rendertools,
+ /// engine
+ KX_KetsjiEngine* engine,
+
+ short res, //resolution of the mesh
+ short mode, //mode - fisheye, truncated, warped, panoramic, ...
+ short angle,
+ float resbuf, //size adjustment of the buffer
+ short tilt,
+ struct Text* warptext
+
+ ):
+ dlistSupported(false),
+ canvaswidth(-1), canvasheight(-1),
+ m_drawingmode(engine->GetDrawType()),
+ m_resolution(res),
+ m_mode(mode),
+ m_angle(angle),
+ m_resbuffer(resbuf),
+ m_tilt(tilt),
+ m_canvas(canvas),
+ m_rasterizer(rasterizer),
+ m_rendertools(rendertools),
+ m_engine(engine)
{
warp.usemesh = false;
fboSupported = false;
@@ -1984,9 +1984,9 @@ void KX_Dome::DrawDomeWarped(void)
int can_width = m_viewport.GetRight();
int can_height = m_viewport.GetTop();
- double screen_ratio = can_width/ (double) can_height;
+ double screen_ratio = can_width/ (double) can_height;
- glOrtho(-screen_ratio,screen_ratio,-1.0,1.0,-20.0,10.0);
+ glOrtho(-screen_ratio,screen_ratio,-1.0,1.0,-20.0,10.0);
glMatrixMode(GL_TEXTURE);
diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp
index d4ef462fb27..ae8d7094015 100644
--- a/source/gameengine/Ketsji/KX_GameObject.cpp
+++ b/source/gameengine/Ketsji/KX_GameObject.cpp
@@ -75,6 +75,8 @@ typedef unsigned long uint_ptr;
#include "NG_NetworkScene.h" //Needed for sendMessage()
#include "KX_ObstacleSimulation.h"
+#include "BL_ActionManager.h"
+
#include "PyObjectPlus.h" /* python stuff */
// This file defines relationships between parents and children
@@ -86,32 +88,33 @@ typedef unsigned long uint_ptr;
static MT_Point3 dummy_point= MT_Point3(0.0, 0.0, 0.0);
static MT_Vector3 dummy_scaling = MT_Vector3(1.0, 1.0, 1.0);
-static MT_Matrix3x3 dummy_orientation = MT_Matrix3x3( 1.0, 0.0, 0.0,
- 0.0, 1.0, 0.0,
- 0.0, 0.0, 1.0);
+static MT_Matrix3x3 dummy_orientation = MT_Matrix3x3(1.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0,
+ 0.0, 0.0, 1.0);
KX_GameObject::KX_GameObject(
- void* sgReplicationInfo,
- SG_Callbacks callbacks)
- : SCA_IObject(),
- m_bDyna(false),
- m_layer(0),
- m_pBlenderObject(NULL),
- m_pBlenderGroupObject(NULL),
- m_bSuspendDynamics(false),
- m_bUseObjectColor(false),
- m_bIsNegativeScaling(false),
- m_bVisible(true),
- m_bCulled(true),
- m_bOccluder(false),
- m_pPhysicsController1(NULL),
- m_pGraphicController(NULL),
- m_xray(false),
- m_pHitObject(NULL),
- m_isDeformable(false),
- m_pObstacleSimulation(NULL)
+ void* sgReplicationInfo,
+ SG_Callbacks callbacks)
+ : SCA_IObject(),
+ m_bDyna(false),
+ m_layer(0),
+ m_pBlenderObject(NULL),
+ m_pBlenderGroupObject(NULL),
+ m_bSuspendDynamics(false),
+ m_bUseObjectColor(false),
+ m_bIsNegativeScaling(false),
+ m_bVisible(true),
+ m_bCulled(true),
+ m_bOccluder(false),
+ m_pPhysicsController1(NULL),
+ m_pGraphicController(NULL),
+ m_xray(false),
+ m_pHitObject(NULL),
+ m_actionManager(NULL),
+ m_isDeformable(false),
+ m_pObstacleSimulation(NULL)
#ifdef WITH_PYTHON
- , m_attr_dict(NULL)
+ , m_attr_dict(NULL)
#endif
{
m_ignore_activity_culling = false;
@@ -162,6 +165,11 @@ KX_GameObject::~KX_GameObject()
m_pObstacleSimulation->DestroyObstacleForObj(this);
}
+ if (m_actionManager)
+ {
+ KX_GetActiveScene()->RemoveAnimatedObject(this);
+ delete m_actionManager;
+ }
#ifdef WITH_PYTHON
if (m_attr_dict) {
PyDict_Clear(m_attr_dict); /* incase of circular refs or other weird cases */
@@ -335,7 +343,7 @@ void KX_GameObject::RemoveParent(KX_Scene *scene)
rootobj->m_pPhysicsController1->RemoveCompoundChild(m_pPhysicsController1);
}
m_pPhysicsController1->RestoreDynamics();
- if (m_pPhysicsController1->IsDyna() && rootobj->m_pPhysicsController1)
+ if (m_pPhysicsController1->IsDyna() && (rootobj != NULL && rootobj->m_pPhysicsController1))
{
// dynamic object should remember the velocity they had while being parented
MT_Point3 childPoint = GetSGNode()->GetWorldPosition();
@@ -352,6 +360,69 @@ void KX_GameObject::RemoveParent(KX_Scene *scene)
}
}
+BL_ActionManager* KX_GameObject::GetActionManager()
+{
+ // We only want to create an action manager if we need it
+ if (!m_actionManager)
+ { KX_GetActiveScene()->AddAnimatedObject(this); m_actionManager = new BL_ActionManager(this);
+ }
+ return m_actionManager;
+}
+
+bool KX_GameObject::PlayAction(const char* name,
+ float start,
+ float end,
+ short layer,
+ short priority,
+ float blendin,
+ short play_mode,
+ float layer_weight,
+ short ipo_flags,
+ float playback_speed)
+{
+ return GetActionManager()->PlayAction(name, start, end, layer, priority, blendin, play_mode, layer_weight, ipo_flags, playback_speed);
+}
+
+void KX_GameObject::StopAction(short layer)
+{
+ GetActionManager()->StopAction(layer);
+}
+
+bool KX_GameObject::IsActionDone(short layer)
+{
+ return GetActionManager()->IsActionDone(layer);
+}
+
+void KX_GameObject::UpdateActionManager(float curtime)
+{
+ GetActionManager()->Update(curtime);
+}
+
+float KX_GameObject::GetActionFrame(short layer)
+{
+ return GetActionManager()->GetActionFrame(layer);
+}
+
+void KX_GameObject::SetActionFrame(short layer, float frame)
+{
+ GetActionManager()->SetActionFrame(layer, frame);
+}
+
+bAction *KX_GameObject::GetCurrentAction(short layer)
+{
+ return GetActionManager()->GetCurrentAction(layer);
+}
+
+void KX_GameObject::SetPlayMode(short layer, short mode)
+{
+ GetActionManager()->SetPlayMode(layer, mode);
+}
+
+void KX_GameObject::SetTimes(short layer, float start, float end)
+{
+ GetActionManager()->SetTimes(layer, start, end);
+}
+
void KX_GameObject::ProcessReplica()
{
SCA_IObject::ProcessReplica();
@@ -361,6 +432,8 @@ void KX_GameObject::ProcessReplica()
m_pSGNode = NULL;
m_pClient_info = new KX_ClientObjectInfo(*m_pClient_info);
m_pClient_info->m_gameobject = this;
+ if (m_actionManager)
+ m_actionManager = new BL_ActionManager(this);
m_state = 0;
KX_Scene* scene = KX_GetActiveScene();
@@ -1513,6 +1586,12 @@ PyMethodDef KX_GameObject::Methods[] = {
KX_PYMETHODTABLE_O(KX_GameObject, getDistanceTo),
KX_PYMETHODTABLE_O(KX_GameObject, getVectTo),
KX_PYMETHODTABLE(KX_GameObject, sendMessage),
+
+ KX_PYMETHODTABLE_KEYWORDS(KX_GameObject, playAction),
+ KX_PYMETHODTABLE(KX_GameObject, stopAction),
+ KX_PYMETHODTABLE(KX_GameObject, getActionFrame),
+ KX_PYMETHODTABLE(KX_GameObject, setActionFrame),
+ KX_PYMETHODTABLE(KX_GameObject, isPlayingAction),
// dict style access for props
{"get",(PyCFunction) KX_GameObject::sPyget, METH_VARARGS},
@@ -1855,7 +1934,7 @@ PyObject* KX_GameObject::pyattr_get_lin_vel_min(void *self_v, const KX_PYATTRIBU
{
KX_GameObject* self= static_cast<KX_GameObject*>(self_v);
KX_IPhysicsController *spc = self->GetPhysicsController();
- return PyFloat_FromDouble(spc ? spc->GetLinVelocityMax() : 0.0f);
+ return PyFloat_FromDouble(spc ? spc->GetLinVelocityMin() : 0.0f);
}
int KX_GameObject::pyattr_set_lin_vel_min(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
@@ -2991,6 +3070,112 @@ KX_PYMETHODDEF_DOC_VARARGS(KX_GameObject, sendMessage,
Py_RETURN_NONE;
}
+static void layer_check(short &layer, const char *method_name)
+{
+ if (layer < 0 || layer >= MAX_ACTION_LAYERS)
+ {
+ printf("KX_GameObject.%s(): given layer (%d) is out of range (0 - %d), setting to 0.\n", method_name, layer, MAX_ACTION_LAYERS-1);
+ layer = 0;
+ }
+}
+
+KX_PYMETHODDEF_DOC(KX_GameObject, playAction,
+ "playAction(name, start_frame, end_frame, layer=0, priority=0 blendin=0, play_mode=ACT_MODE_PLAY, layer_weight=0.0, ipo_flags=0, speed=1.0)\n"
+ "Plays an action\n")
+{
+ const char* name;
+ float start, end, blendin=0.f, speed=1.f, layer_weight=0.f;
+ short layer=0, priority=0;
+ short ipo_flags=0;
+ short play_mode=0;
+
+ static const char *kwlist[] = {"name", "start_frame", "end_frame", "layer", "priority", "blendin", "play_mode", "layer_weight", "ipo_flags", "speed", NULL};
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "sff|hhfhfhf:playAction", const_cast<char**>(kwlist),
+ &name, &start, &end, &layer, &priority, &blendin, &play_mode, &layer_weight, &ipo_flags, &speed))
+ return NULL;
+
+ layer_check(layer, "playAction");
+
+ if (play_mode < 0 || play_mode > BL_Action::ACT_MODE_MAX)
+ {
+ printf("KX_GameObject.playAction(): given play_mode (%d) is out of range (0 - %d), setting to ACT_MODE_PLAY", play_mode, BL_Action::ACT_MODE_MAX-1);
+ play_mode = BL_Action::ACT_MODE_MAX;
+ }
+
+ if (layer_weight < 0.f || layer_weight > 1.f)
+ {
+ printf("KX_GameObject.playAction(): given layer_weight (%f) is out of range (0.0 - 1.0), setting to 0.0", layer_weight);
+ layer_weight = 0.f;
+ }
+
+ PlayAction(name, start, end, layer, priority, blendin, play_mode, layer_weight, ipo_flags, speed);
+
+ Py_RETURN_NONE;
+}
+
+KX_PYMETHODDEF_DOC(KX_GameObject, stopAction,
+ "stopAction(layer=0)\n"
+ "Stop playing the action on the given layer\n")
+{
+ short layer=0;
+
+ if (!PyArg_ParseTuple(args, "|h:stopAction", &layer))
+ return NULL;
+
+ layer_check(layer, "stopAction");
+
+ StopAction(layer);
+
+ Py_RETURN_NONE;
+}
+
+KX_PYMETHODDEF_DOC(KX_GameObject, getActionFrame,
+ "getActionFrame(layer=0)\n"
+ "Gets the current frame of the action playing in the supplied layer\n")
+{
+ short layer=0;
+
+ if (!PyArg_ParseTuple(args, "|h:getActionFrame", &layer))
+ return NULL;
+
+ layer_check(layer, "getActionFrame");
+
+ return PyFloat_FromDouble(GetActionFrame(layer));
+}
+
+KX_PYMETHODDEF_DOC(KX_GameObject, setActionFrame,
+ "setActionFrame(frame, layer=0)\n"
+ "Set the current frame of the action playing in the supplied layer\n")
+{
+ short layer=0;
+ float frame;
+
+ if (!PyArg_ParseTuple(args, "f|h:setActionFrame", &frame, &layer))
+ return NULL;
+
+ layer_check(layer, "setActionFrame");
+
+ SetActionFrame(layer, frame);
+
+ Py_RETURN_NONE;
+}
+
+KX_PYMETHODDEF_DOC(KX_GameObject, isPlayingAction,
+ "isPlayingAction(layer=0)\n"
+ "Checks to see if there is an action playing in the given layer\n")
+{
+ short layer=0;
+
+ if (!PyArg_ParseTuple(args, "|h:isPlayingAction", &layer))
+ return NULL;
+
+ layer_check(layer, "isPlayingAction");
+
+ return PyBool_FromLong(!IsActionDone(layer));
+}
+
+
/* dict style access */
diff --git a/source/gameengine/Ketsji/KX_GameObject.h b/source/gameengine/Ketsji/KX_GameObject.h
index 2ea6e9552a2..655bc9ff080 100644
--- a/source/gameengine/Ketsji/KX_GameObject.h
+++ b/source/gameengine/Ketsji/KX_GameObject.h
@@ -63,8 +63,10 @@ class RAS_MeshObject;
class KX_IPhysicsController;
class PHY_IGraphicController;
class PHY_IPhysicsEnvironment;
+class BL_ActionManager;
struct Object;
class KX_ObstacleSimulation;
+struct bAction;
#ifdef WITH_PYTHON
/* utility conversion function */
@@ -116,6 +118,12 @@ protected:
KX_ObstacleSimulation* m_pObstacleSimulation;
+
+ // The action manager is used to play/stop/update actions
+ BL_ActionManager* m_actionManager;
+
+ BL_ActionManager* GetActionManager();
+
public:
bool m_isDeformable;
@@ -201,6 +209,68 @@ public:
*/
void RemoveParent(KX_Scene *scene);
+ /*********************************
+ * Animation API
+ *********************************/
+
+ /**
+ * Adds an action to the object's action manager
+ */
+ bool PlayAction(const char* name,
+ float start,
+ float end,
+ short layer=0,
+ short priority=0,
+ float blendin=0.f,
+ short play_mode=0,
+ float layer_weight=0.f,
+ short ipo_flags=0,
+ float playback_speed=1.f);
+
+ /**
+ * Gets the current frame of an action
+ */
+ float GetActionFrame(short layer);
+
+ /**
+ * Sets the current frame of an action
+ */
+ void SetActionFrame(short layer, float frame);
+
+ /**
+ * Gets the currently running action on the given layer
+ */
+ bAction *GetCurrentAction(short layer);
+
+ /**
+ * Sets play mode of the action on the given layer
+ */
+ void SetPlayMode(short layer, short mode);
+
+ /**
+ * Sets the start and end times of the action on the given layer
+ */
+ void SetTimes(short layer, float start, float end);
+
+ /**
+ * Stop playing the action on the given layer
+ */
+ void StopAction(short layer);
+
+ /**
+ * Check if an action has finished playing
+ */
+ bool IsActionDone(short layer);
+
+ /**
+ * Kick the object's action manager
+ */
+ void UpdateActionManager(float curtime);
+
+ /*********************************
+ * End Animation API
+ *********************************/
+
/**
* Construct a game object. This class also inherits the
* default constructors - use those with care!
@@ -866,6 +936,12 @@ public:
KX_PYMETHOD_DOC_O(KX_GameObject,getVectTo);
KX_PYMETHOD_DOC_VARARGS(KX_GameObject, sendMessage);
KX_PYMETHOD_VARARGS(KX_GameObject, ReinstancePhysicsMesh);
+
+ KX_PYMETHOD_DOC(KX_GameObject, playAction);
+ KX_PYMETHOD_DOC(KX_GameObject, stopAction);
+ KX_PYMETHOD_DOC(KX_GameObject, getActionFrame);
+ KX_PYMETHOD_DOC(KX_GameObject, setActionFrame);
+ KX_PYMETHOD_DOC(KX_GameObject, isPlayingAction);
/* Dict access */
KX_PYMETHOD_VARARGS(KX_GameObject,get);
diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
index eef543e629c..db919b7bc5a 100644
--- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
+++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
@@ -68,7 +68,10 @@
#include "KX_PyConstraintBinding.h"
#include "PHY_IPhysicsEnvironment.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+# include "AUD_I3DDevice.h"
+#endif
#include "NG_NetworkScene.h"
#include "NG_NetworkDeviceInterface.h"
@@ -91,10 +94,10 @@
const char KX_KetsjiEngine::m_profileLabels[tc_numCategories][15] = {
"Physics:", // tc_physics
- "Logic", // tc_logic
+ "Logic:", // tc_logic
+ "Animations:", // tc_animations
"Network:", // tc_network
"Scenegraph:", // tc_scenegraph
- "Sound:", // tc_sound
"Rasterizer:", // tc_rasterizer
"Services:", // tc_services
"Overhead:", // tc_overhead
@@ -108,13 +111,14 @@ double KX_KetsjiEngine::m_anim_framerate = 25.0;
double KX_KetsjiEngine::m_suspendedtime = 0.0;
double KX_KetsjiEngine::m_suspendeddelta = 0.0;
double KX_KetsjiEngine::m_average_framerate = 0.0;
+bool KX_KetsjiEngine::m_restrict_anim_fps = false;
/**
* Constructor of the Ketsji Engine
*/
KX_KetsjiEngine::KX_KetsjiEngine(KX_ISystem* system)
- : m_canvas(NULL),
+ : m_canvas(NULL),
m_rasterizer(NULL),
m_kxsystem(system),
m_rendertools(NULL),
@@ -137,6 +141,7 @@ KX_KetsjiEngine::KX_KetsjiEngine(KX_ISystem* system)
m_frameTime(0.f),
m_clockTime(0.f),
m_previousClockTime(0.f),
+ m_previousAnimTime(0.f),
m_exitcode(KX_EXIT_REQUEST_NO_REQUEST),
@@ -578,7 +583,7 @@ else
framestep = (frames*timestep)/m_maxLogicFrame;
frames = m_maxLogicFrame;
}
-
+
while (frames)
{
@@ -657,7 +662,14 @@ else
m_logger->StartLog(tc_scenegraph, m_kxsystem->GetTimeInSeconds(), true);
SG_SetActiveStage(SG_STAGE_ACTUATOR_UPDATE);
scene->UpdateParents(m_frameTime);
-
+
+ if (!GetRestrictAnimationFPS())
+ {
+ m_logger->StartLog(tc_animations, m_kxsystem->GetTimeInSeconds(), true);
+ SG_SetActiveStage(SG_STAGE_ANIMATION_UPDATE);
+ scene->UpdateAnimations(m_frameTime);
+ }
+
m_logger->StartLog(tc_physics, m_kxsystem->GetTimeInSeconds(), true);
SG_SetActiveStage(SG_STAGE_PHYSICS2);
scene->GetPhysicsEnvironment()->beginFrame();
@@ -681,8 +693,6 @@ else
else
if(scene->getSuspendedTime()==0.0)
scene->setSuspendedTime(m_clockTime);
-
- DoSound(scene);
m_logger->StartLog(tc_services, m_kxsystem->GetTimeInSeconds(), true);
}
@@ -758,14 +768,30 @@ else
if(scene->getSuspendedTime()==0.0)
scene->setSuspendedTime(m_clockTime);
- DoSound(scene);
-
m_logger->StartLog(tc_services, m_kxsystem->GetTimeInSeconds(), true);
}
}
+
+ // Handle the animations independently of the logic time step
+ if (GetRestrictAnimationFPS())
+ {
+ m_logger->StartLog(tc_animations, m_kxsystem->GetTimeInSeconds(), true);
+ SG_SetActiveStage(SG_STAGE_ANIMATION_UPDATE);
- m_previousClockTime = m_clockTime;
+ double anim_timestep = 1.0/KX_GetActiveScene()->GetAnimationFPS();
+ if (m_clockTime - m_previousAnimTime > anim_timestep)
+ {
+ // Sanity/debug print to make sure we're actually going at the fps we want (should be close to anim_timestep)
+ // printf("Anim fps: %f\n", 1.0/(m_clockTime - m_previousAnimTime));
+ m_previousAnimTime = m_clockTime;
+ for (sceneit = m_scenes.begin();sceneit != m_scenes.end(); ++sceneit)
+ {
+ (*sceneit)->UpdateAnimations(m_frameTime);
+ }
+ }
+ m_previousClockTime = m_clockTime;
+ }
// Start logging time spend outside main loop
m_logger->StartLog(tc_outside, m_kxsystem->GetTimeInSeconds(), true);
@@ -974,29 +1000,6 @@ const STR_String& KX_KetsjiEngine::GetExitString()
}
-
-void KX_KetsjiEngine::DoSound(KX_Scene* scene)
-{
- m_logger->StartLog(tc_sound, m_kxsystem->GetTimeInSeconds(), true);
-
- KX_Camera* cam = scene->GetActiveCamera();
- if (!cam)
- return;
-
- float f[4];
-
- cam->NodeGetWorldPosition().getValue(f);
- AUD_setListenerLocation(f);
-
- cam->GetLinearVelocity().getValue(f);
- AUD_setListenerVelocity(f);
-
- cam->NodeGetWorldOrientation().getRotation().getValue(f);
- AUD_setListenerOrientation(f);
-}
-
-
-
void KX_KetsjiEngine::SetBackGround(KX_WorldInfo* wi)
{
if (wi->hasWorld())
@@ -1220,7 +1223,7 @@ void KX_KetsjiEngine::RenderFrame(KX_Scene* scene, KX_Camera* cam)
projmat.setValue(m_overrideCamProjMat.getPointer());
cam->SetProjectionMatrix(projmat);
}
- } else if (cam->hasValidProjectionMatrix() && !cam->GetViewport() )
+ } else if (cam->hasValidProjectionMatrix())
{
m_rasterizer->SetProjectionMatrix(cam->GetProjectionMatrix());
} else
@@ -1334,6 +1337,9 @@ To run once per scene
*/
void KX_KetsjiEngine::PostRenderScene(KX_Scene* scene)
{
+ // We need to first make sure our viewport is correct (enabling multiple viewports can mess this up)
+ m_canvas->SetViewPort(0, 0, m_canvas->GetWidth(), m_canvas->GetHeight());
+
m_rendertools->MotionBlur(m_rasterizer);
scene->Render2DFilters(m_canvas);
#ifdef WITH_PYTHON
@@ -1799,6 +1805,16 @@ void KX_KetsjiEngine::SetMaxPhysicsFrame(int frame)
m_maxPhysicsFrame = frame;
}
+bool KX_KetsjiEngine::GetRestrictAnimationFPS()
+{
+ return m_restrict_anim_fps;
+}
+
+void KX_KetsjiEngine::SetRestrictAnimationFPS(bool bRestrictAnimFPS)
+{
+ m_restrict_anim_fps = bRestrictAnimFPS;
+}
+
double KX_KetsjiEngine::GetAnimFrameRate()
{
return m_anim_framerate;
diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.h b/source/gameengine/Ketsji/KX_KetsjiEngine.h
index 8cd6fdb8f5f..b1009c7d8f0 100644
--- a/source/gameengine/Ketsji/KX_KetsjiEngine.h
+++ b/source/gameengine/Ketsji/KX_KetsjiEngine.h
@@ -108,6 +108,7 @@ private:
double m_frameTime;//discrete timestamp of the 'game logic frame'
double m_clockTime;//current time
double m_previousClockTime;//previous clock time
+ double m_previousAnimTime; //the last time animations were updated
double m_remainingTime;
static int m_maxLogicFrame; /* maximum number of consecutive logic frame */
@@ -115,6 +116,8 @@ private:
static double m_ticrate;
static double m_anim_framerate; /* for animation playback only - ipo and action */
+ static bool m_restrict_anim_fps;
+
static double m_suspendedtime;
static double m_suspendeddelta;
@@ -147,9 +150,9 @@ private:
tc_first = 0,
tc_physics = 0,
tc_logic,
+ tc_animations,
tc_network,
tc_scenegraph,
- tc_sound,
tc_rasterizer,
tc_services, // time spend in miscelaneous activities
tc_overhead, // profile info drawing overhead
@@ -195,7 +198,6 @@ private:
void RenderDebugProperties();
void RenderShadowBuffers(KX_Scene *scene);
void SetBackGround(KX_WorldInfo* worldinfo);
- void DoSound(KX_Scene* scene);
void RenderFonts(KX_Scene* scene);
public:
@@ -321,6 +323,16 @@ public:
static void SetMaxPhysicsFrame(int frame);
/**
+ * Gets whether or not to lock animation updates to the animframerate
+ */
+ static bool GetRestrictAnimationFPS();
+
+ /**
+ * Sets whether or not to lock animation updates to the animframerate
+ */
+ static void SetRestrictAnimationFPS(bool bRestrictAnimFPS);
+
+ /**
* Gets the framerate for playing animations. (actions and ipos)
*/
static double GetAnimFrameRate();
diff --git a/source/gameengine/Ketsji/KX_Light.cpp b/source/gameengine/Ketsji/KX_Light.cpp
index 49f00e39110..2f2c45cd5cc 100644
--- a/source/gameengine/Ketsji/KX_Light.cpp
+++ b/source/gameengine/Ketsji/KX_Light.cpp
@@ -254,8 +254,12 @@ void KX_LightObject::BindShadowBuffer(RAS_IRasterizer *ras, KX_Camera *cam, MT_T
cam->NodeUpdateGS(0);
/* setup rasterizer transformations */
+ /* SetViewMatrix may use stereomode which we temporarily disable here */
+ RAS_IRasterizer::StereoMode stereomode = ras->GetStereoMode();
+ ras->SetStereoMode(RAS_IRasterizer::RAS_STEREO_NOSTEREO);
ras->SetProjectionMatrix(projectionmat);
ras->SetViewMatrix(modelviewmat, cam->NodeGetWorldOrientation(), cam->NodeGetWorldPosition(), cam->GetCameraData()->m_perspective);
+ ras->SetStereoMode(stereomode);
}
void KX_LightObject::UnbindShadowBuffer(RAS_IRasterizer *ras)
@@ -351,11 +355,11 @@ PyObject* KX_LightObject::pyattr_get_typeconst(void *self_v, const KX_PYATTRIBUT
} else if (!strcmp(type, "NORMAL")) {
retvalue = PyLong_FromSsize_t(RAS_LightObject::LIGHT_NORMAL);
}
- else {
- /* should never happen */
- PyErr_SetString(PyExc_TypeError, "light.type: internal error, invalid light type");
- retvalue = NULL;
- }
+ else {
+ /* should never happen */
+ PyErr_SetString(PyExc_TypeError, "light.type: internal error, invalid light type");
+ retvalue = NULL;
+ }
return retvalue;
}
diff --git a/source/gameengine/Ketsji/KX_MeshProxy.cpp b/source/gameengine/Ketsji/KX_MeshProxy.cpp
index ba41dc355f7..9ad09f9793b 100644
--- a/source/gameengine/Ketsji/KX_MeshProxy.cpp
+++ b/source/gameengine/Ketsji/KX_MeshProxy.cpp
@@ -119,7 +119,7 @@ CValue* KX_MeshProxy::GetReplica() { return NULL;}
PyObject* KX_MeshProxy::PyGetMaterialName(PyObject* args, PyObject* kwds)
{
- int matid= 1;
+ int matid= 1;
STR_String matname;
if (PyArg_ParseTuple(args,"i:getMaterialName",&matid))
@@ -131,13 +131,13 @@ PyObject* KX_MeshProxy::PyGetMaterialName(PyObject* args, PyObject* kwds)
}
return PyUnicode_FromString(matname.Ptr());
-
+
}
-
+
PyObject* KX_MeshProxy::PyGetTextureName(PyObject* args, PyObject* kwds)
{
- int matid= 1;
+ int matid= 1;
STR_String matname;
if (PyArg_ParseTuple(args,"i:getTextureName",&matid))
@@ -154,7 +154,7 @@ PyObject* KX_MeshProxy::PyGetTextureName(PyObject* args, PyObject* kwds)
PyObject* KX_MeshProxy::PyGetVertexArrayLength(PyObject* args, PyObject* kwds)
{
- int matid= 0;
+ int matid= 0;
int length = 0;
@@ -177,7 +177,7 @@ PyObject* KX_MeshProxy::PyGetVertexArrayLength(PyObject* args, PyObject* kwds)
PyObject* KX_MeshProxy::PyGetVertex(PyObject* args, PyObject* kwds)
{
- int vertexindex;
+ int vertexindex;
int matindex;
if (!PyArg_ParseTuple(args,"ii:getVertex",&matindex,&vertexindex))
@@ -195,7 +195,7 @@ PyObject* KX_MeshProxy::PyGetVertex(PyObject* args, PyObject* kwds)
PyObject* KX_MeshProxy::PyGetPolygon(PyObject* args, PyObject* kwds)
{
- int polyindex= 1;
+ int polyindex= 1;
PyObject* polyob = NULL;
if (!PyArg_ParseTuple(args,"i:getPolygon",&polyindex))
diff --git a/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp b/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
index 6cb80028858..34f5c26415d 100644
--- a/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
+++ b/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
@@ -121,14 +121,14 @@ bool KX_MouseFocusSensor::Evaluate()
}
}
if (reset) {
- // force an event
+ // force an event
result = true;
}
} else {
/* No focus behaviour required: revert to the basic mode. This
- * mode is never used, because the converter never makes this
- * sensor for a mouse-key event. It is here for
- * completeness. */
+ * mode is never used, because the converter never makes this
+ * sensor for a mouse-key event. It is here for
+ * completeness. */
result = SCA_MouseSensor::Evaluate();
m_positive_event = (m_val!=0);
}
diff --git a/source/gameengine/Ketsji/KX_ObjectActuator.cpp b/source/gameengine/Ketsji/KX_ObjectActuator.cpp
index 7289ffc6e29..cb59ef42699 100644
--- a/source/gameengine/Ketsji/KX_ObjectActuator.cpp
+++ b/source/gameengine/Ketsji/KX_ObjectActuator.cpp
@@ -237,9 +237,9 @@ bool KX_ObjectActuator::Update()
if (m_current_linear_factor > 1.0)
m_current_linear_factor = 1.0;
linV = m_current_linear_factor * m_linear_velocity;
- parent->setLinearVelocity(linV,(m_bitLocalFlag.LinearVelocity) != 0);
+ parent->setLinearVelocity(linV,(m_bitLocalFlag.LinearVelocity) != 0);
} else {
- parent->setLinearVelocity(m_linear_velocity,(m_bitLocalFlag.LinearVelocity) != 0);
+ parent->setLinearVelocity(m_linear_velocity,(m_bitLocalFlag.LinearVelocity) != 0);
}
}
}
@@ -260,7 +260,7 @@ bool KX_ObjectActuator::Update()
if (m_current_angular_factor > 1.0)
m_current_angular_factor = 1.0;
angV = m_current_angular_factor * m_angular_velocity;
- parent->setAngularVelocity(angV,(m_bitLocalFlag.AngularVelocity) != 0);
+ parent->setAngularVelocity(angV,(m_bitLocalFlag.AngularVelocity) != 0);
} else {
parent->setAngularVelocity(m_angular_velocity,(m_bitLocalFlag.AngularVelocity) != 0);
}
diff --git a/source/gameengine/Ketsji/KX_OrientationInterpolator.cpp b/source/gameengine/Ketsji/KX_OrientationInterpolator.cpp
index d9483083aa1..bd743159950 100644
--- a/source/gameengine/Ketsji/KX_OrientationInterpolator.cpp
+++ b/source/gameengine/Ketsji/KX_OrientationInterpolator.cpp
@@ -51,6 +51,6 @@ void KX_OrientationInterpolator::Execute(float currentTime) const {
MT_Scalar ss = si*sh;
m_target.setValue(cj*ch, sj*sc-cs, sj*cc+ss,
- cj*sh, sj*ss+cc, sj*cs-sc,
- -sj, cj*si, cj*ci);
+ cj*sh, sj*ss+cc, sj*cs-sc,
+ -sj, cj*si, cj*ci);
}
diff --git a/source/gameengine/Ketsji/KX_PolygonMaterial.cpp b/source/gameengine/Ketsji/KX_PolygonMaterial.cpp
index 9d0597051ad..d32f267f0e0 100644
--- a/source/gameengine/Ketsji/KX_PolygonMaterial.cpp
+++ b/source/gameengine/Ketsji/KX_PolygonMaterial.cpp
@@ -187,7 +187,7 @@ void KX_PolygonMaterial::DefaultActivate(RAS_IRasterizer* rasty, TCachingInfo& c
rasty->SetCullFace(true);
if ((m_drawingmode & RAS_IRasterizer::KX_LINES) ||
- (rasty->GetDrawingMode() <= RAS_IRasterizer::KX_WIREFRAME))
+ (rasty->GetDrawingMode() <= RAS_IRasterizer::KX_WIREFRAME))
rasty->SetLines(true);
else
rasty->SetLines(false);
diff --git a/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp b/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
index 12024657149..fde127b7ef5 100644
--- a/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
+++ b/source/gameengine/Ketsji/KX_PyConstraintBinding.cpp
@@ -38,12 +38,20 @@
#include "KX_PhysicsObjectWrapper.h"
#include "PHY_IPhysicsController.h"
#include "PHY_IVehicle.h"
+#include "PHY_DynamicTypes.h"
#include "MT_Matrix3x3.h"
#include "PyObjectPlus.h"
+#ifdef USE_BULLET
+# include "LinearMath/btIDebugDraw.h"
+#endif
+
#ifdef WITH_PYTHON
+// macro copied from KX_PythonInit.cpp
+#define KX_MACRO_addTypesToDict(dict, name, name2) PyDict_SetItemString(dict, #name, item=PyLong_FromSsize_t(name2)); Py_DECREF(item)
+
// nasty glob variable to connect scripting language
// if there is a better way (without global), please do so!
static PHY_IPhysicsEnvironment* g_CurrentActivePhysicsEnvironment = NULL;
@@ -84,8 +92,8 @@ static char gPyGetAppliedImpulse__doc__[] = "getAppliedImpulse(int constraintId)
static PyObject* gPySetGravity(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float x,y,z;
if (PyArg_ParseTuple(args,"fff",&x,&y,&z))
@@ -101,8 +109,8 @@ static PyObject* gPySetGravity(PyObject* self,
}
static PyObject* gPySetDebugMode(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
int mode;
if (PyArg_ParseTuple(args,"i",&mode))
@@ -124,8 +132,8 @@ static PyObject* gPySetDebugMode(PyObject* self,
static PyObject* gPySetNumTimeSubSteps(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
int substep;
if (PyArg_ParseTuple(args,"i",&substep))
@@ -143,8 +151,8 @@ static PyObject* gPySetNumTimeSubSteps(PyObject* self,
static PyObject* gPySetNumIterations(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
int iter;
if (PyArg_ParseTuple(args,"i",&iter))
@@ -161,10 +169,9 @@ static PyObject* gPySetNumIterations(PyObject* self,
}
-
static PyObject* gPySetDeactivationTime(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float deactive_time;
if (PyArg_ParseTuple(args,"f",&deactive_time))
@@ -182,8 +189,8 @@ static PyObject* gPySetDeactivationTime(PyObject* self,
static PyObject* gPySetDeactivationLinearTreshold(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float linearDeactivationTreshold;
if (PyArg_ParseTuple(args,"f",&linearDeactivationTreshold))
@@ -201,8 +208,8 @@ static PyObject* gPySetDeactivationLinearTreshold(PyObject* self,
static PyObject* gPySetDeactivationAngularTreshold(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float angularDeactivationTreshold;
if (PyArg_ParseTuple(args,"f",&angularDeactivationTreshold))
@@ -219,8 +226,8 @@ static PyObject* gPySetDeactivationAngularTreshold(PyObject* self,
}
static PyObject* gPySetContactBreakingTreshold(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float contactBreakingTreshold;
if (PyArg_ParseTuple(args,"f",&contactBreakingTreshold))
@@ -238,8 +245,8 @@ static PyObject* gPySetContactBreakingTreshold(PyObject* self,
static PyObject* gPySetCcdMode(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float ccdMode;
if (PyArg_ParseTuple(args,"f",&ccdMode))
@@ -256,8 +263,8 @@ static PyObject* gPySetCcdMode(PyObject* self,
}
static PyObject* gPySetSorConstant(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float sor;
if (PyArg_ParseTuple(args,"f",&sor))
@@ -274,8 +281,8 @@ static PyObject* gPySetSorConstant(PyObject* self,
}
static PyObject* gPySetSolverTau(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float tau;
if (PyArg_ParseTuple(args,"f",&tau))
@@ -293,8 +300,8 @@ static PyObject* gPySetSolverTau(PyObject* self,
static PyObject* gPySetSolverDamping(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float damping;
if (PyArg_ParseTuple(args,"f",&damping))
@@ -311,8 +318,8 @@ static PyObject* gPySetSolverDamping(PyObject* self,
}
static PyObject* gPySetLinearAirDamping(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float damping;
if (PyArg_ParseTuple(args,"f",&damping))
@@ -330,8 +337,8 @@ static PyObject* gPySetLinearAirDamping(PyObject* self,
static PyObject* gPySetUseEpa(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
int epa;
if (PyArg_ParseTuple(args,"i",&epa))
@@ -347,8 +354,8 @@ static PyObject* gPySetUseEpa(PyObject* self,
Py_RETURN_NONE;
}
static PyObject* gPySetSolverType(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
int solverType;
if (PyArg_ParseTuple(args,"i",&solverType))
@@ -367,8 +374,8 @@ static PyObject* gPySetSolverType(PyObject* self,
static PyObject* gPyGetVehicleConstraint(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
#if defined(_WIN64)
__int64 constraintid;
@@ -398,9 +405,6 @@ static PyObject* gPyGetVehicleConstraint(PyObject* self,
}
-
-
-
static PyObject* gPyCreateConstraint(PyObject* self,
PyObject* args,
PyObject* kwds)
@@ -425,39 +429,39 @@ static PyObject* gPyCreateConstraint(PyObject* self,
success = PyArg_ParseTuple(args,"lli",&physicsid,&physicsid2,&constrainttype);
#endif
}
- else
- if (len ==6)
+ else if (len == 6)
{
#if defined(_WIN64)
success = PyArg_ParseTuple(args,"LLifff",&physicsid,&physicsid2,&constrainttype,
- &pivotX,&pivotY,&pivotZ);
+ &pivotX,&pivotY,&pivotZ);
#else
success = PyArg_ParseTuple(args,"llifff",&physicsid,&physicsid2,&constrainttype,
- &pivotX,&pivotY,&pivotZ);
+ &pivotX,&pivotY,&pivotZ);
#endif
}
else if (len == 9)
{
#if defined(_WIN64)
success = PyArg_ParseTuple(args,"LLiffffff",&physicsid,&physicsid2,&constrainttype,
- &pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ);
+ &pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ);
#else
success = PyArg_ParseTuple(args,"lliffffff",&physicsid,&physicsid2,&constrainttype,
- &pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ);
+ &pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ);
#endif
-
}
else if (len == 10)
{
#if defined(_WIN64)
success = PyArg_ParseTuple(args,"LLiffffffi",&physicsid,&physicsid2,&constrainttype,
- &pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ,&flag);
+ &pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ,&flag);
#else
success = PyArg_ParseTuple(args,"lliffffffi",&physicsid,&physicsid2,&constrainttype,
- &pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ,&flag);
+ &pivotX,&pivotY,&pivotZ,&axisX,&axisY,&axisZ,&flag);
#endif
}
- else if (len==4)
+
+ /* XXX extrainfo seems to be nothing implemented. right now it works as a pivot with [X,0,0] */
+ else if (len == 4)
{
#if defined(_WIN64)
success = PyArg_ParseTuple(args,"LLii",&physicsid,&physicsid2,&constrainttype,&extrainfo);
@@ -466,7 +470,7 @@ static PyObject* gPyCreateConstraint(PyObject* self,
#endif
pivotX=extrainfo;
}
-
+
if (success)
{
if (PHY_GetActiveEnvironment())
@@ -490,20 +494,18 @@ static PyObject* gPyCreateConstraint(PyObject* self,
MT_Vector3 axis0 = localCFrame.getColumn(0);
MT_Vector3 axis1 = localCFrame.getColumn(1);
MT_Vector3 axis2 = localCFrame.getColumn(2);
-
- constraintid = PHY_GetActiveEnvironment()->createConstraint(physctrl,physctrl2,(enum PHY_ConstraintType)constrainttype,
- pivotX,pivotY,pivotZ,
- (float)axis0.x(),(float)axis0.y(),(float)axis0.z(),
- (float)axis1.x(),(float)axis1.y(),(float)axis1.z(),
- (float)axis2.x(),(float)axis2.y(),(float)axis2.z(),flag);
- } else
- {
+ constraintid = PHY_GetActiveEnvironment()->createConstraint(physctrl,physctrl2,(enum PHY_ConstraintType)constrainttype,
+ pivotX,pivotY,pivotZ,
+ (float)axis0.x(),(float)axis0.y(),(float)axis0.z(),
+ (float)axis1.x(),(float)axis1.y(),(float)axis1.z(),
+ (float)axis2.x(),(float)axis2.y(),(float)axis2.z(),flag);
+ }
+ else {
constraintid = PHY_GetActiveEnvironment()->createConstraint(physctrl,physctrl2,(enum PHY_ConstraintType)constrainttype,pivotX,pivotY,pivotZ,axisX,axisY,axisZ,0);
}
KX_ConstraintWrapper* wrap = new KX_ConstraintWrapper((enum PHY_ConstraintType)constrainttype,constraintid,PHY_GetActiveEnvironment());
-
return wrap->NewProxy(true);
}
@@ -522,8 +524,8 @@ static PyObject* gPyCreateConstraint(PyObject* self,
static PyObject* gPyGetAppliedImpulse(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
float appliedImpulse = 0.f;
@@ -549,8 +551,8 @@ static PyObject* gPyGetAppliedImpulse(PyObject* self,
static PyObject* gPyRemoveConstraint(PyObject* self,
- PyObject* args,
- PyObject* kwds)
+ PyObject* args,
+ PyObject* kwds)
{
#if defined(_WIN64)
__int64 constraintid;
@@ -577,7 +579,7 @@ static PyObject* gPyExportBulletFile(PyObject*, PyObject* args)
char* filename;
if (!PyArg_ParseTuple(args,"s:exportBulletFile",&filename))
return NULL;
-
+
if (PHY_GetActiveEnvironment())
{
PHY_GetActiveEnvironment()->exportFile(filename);
@@ -586,62 +588,61 @@ static PyObject* gPyExportBulletFile(PyObject*, PyObject* args)
}
static struct PyMethodDef physicsconstraints_methods[] = {
- {"setGravity",(PyCFunction) gPySetGravity,
- METH_VARARGS, (const char *)gPySetGravity__doc__},
- {"setDebugMode",(PyCFunction) gPySetDebugMode,
- METH_VARARGS, (const char *)gPySetDebugMode__doc__},
-
- /// settings that influence quality of the rigidbody dynamics
- {"setNumIterations",(PyCFunction) gPySetNumIterations,
- METH_VARARGS, (const char *)gPySetNumIterations__doc__},
-
- {"setNumTimeSubSteps",(PyCFunction) gPySetNumTimeSubSteps,
- METH_VARARGS, (const char *)gPySetNumTimeSubSteps__doc__},
-
- {"setDeactivationTime",(PyCFunction) gPySetDeactivationTime,
- METH_VARARGS, (const char *)gPySetDeactivationTime__doc__},
-
- {"setDeactivationLinearTreshold",(PyCFunction) gPySetDeactivationLinearTreshold,
- METH_VARARGS, (const char *)gPySetDeactivationLinearTreshold__doc__},
- {"setDeactivationAngularTreshold",(PyCFunction) gPySetDeactivationAngularTreshold,
- METH_VARARGS, (const char *)gPySetDeactivationAngularTreshold__doc__},
-
- {"setContactBreakingTreshold",(PyCFunction) gPySetContactBreakingTreshold,
- METH_VARARGS, (const char *)gPySetContactBreakingTreshold__doc__},
- {"setCcdMode",(PyCFunction) gPySetCcdMode,
- METH_VARARGS, (const char *)gPySetCcdMode__doc__},
- {"setSorConstant",(PyCFunction) gPySetSorConstant,
- METH_VARARGS, (const char *)gPySetSorConstant__doc__},
- {"setSolverTau",(PyCFunction) gPySetSolverTau,
- METH_VARARGS, (const char *)gPySetSolverTau__doc__},
- {"setSolverDamping",(PyCFunction) gPySetSolverDamping,
- METH_VARARGS, (const char *)gPySetSolverDamping__doc__},
-
- {"setLinearAirDamping",(PyCFunction) gPySetLinearAirDamping,
- METH_VARARGS, (const char *)gPySetLinearAirDamping__doc__},
-
- {"setUseEpa",(PyCFunction) gPySetUseEpa,
- METH_VARARGS, (const char *)gPySetUseEpa__doc__},
+ {"setGravity",(PyCFunction) gPySetGravity,
+ METH_VARARGS, (const char*)gPySetGravity__doc__},
+ {"setDebugMode",(PyCFunction) gPySetDebugMode,
+ METH_VARARGS, (const char *)gPySetDebugMode__doc__},
+
+ /// settings that influence quality of the rigidbody dynamics
+ {"setNumIterations",(PyCFunction) gPySetNumIterations,
+ METH_VARARGS, (const char *)gPySetNumIterations__doc__},
+
+ {"setNumTimeSubSteps",(PyCFunction) gPySetNumTimeSubSteps,
+ METH_VARARGS, (const char *)gPySetNumTimeSubSteps__doc__},
+
+ {"setDeactivationTime",(PyCFunction) gPySetDeactivationTime,
+ METH_VARARGS, (const char *)gPySetDeactivationTime__doc__},
+
+ {"setDeactivationLinearTreshold",(PyCFunction) gPySetDeactivationLinearTreshold,
+ METH_VARARGS, (const char *)gPySetDeactivationLinearTreshold__doc__},
+ {"setDeactivationAngularTreshold",(PyCFunction) gPySetDeactivationAngularTreshold,
+ METH_VARARGS, (const char *)gPySetDeactivationAngularTreshold__doc__},
+
+ {"setContactBreakingTreshold",(PyCFunction) gPySetContactBreakingTreshold,
+ METH_VARARGS, (const char *)gPySetContactBreakingTreshold__doc__},
+ {"setCcdMode",(PyCFunction) gPySetCcdMode,
+ METH_VARARGS, (const char *)gPySetCcdMode__doc__},
+ {"setSorConstant",(PyCFunction) gPySetSorConstant,
+ METH_VARARGS, (const char *)gPySetSorConstant__doc__},
+ {"setSolverTau",(PyCFunction) gPySetSolverTau,
+ METH_VARARGS, (const char *)gPySetSolverTau__doc__},
+ {"setSolverDamping",(PyCFunction) gPySetSolverDamping,
+ METH_VARARGS, (const char *)gPySetSolverDamping__doc__},
+
+ {"setLinearAirDamping",(PyCFunction) gPySetLinearAirDamping,
+ METH_VARARGS, (const char *)gPySetLinearAirDamping__doc__},
+
+ {"setUseEpa",(PyCFunction) gPySetUseEpa,
+ METH_VARARGS, (const char *)gPySetUseEpa__doc__},
{"setSolverType",(PyCFunction) gPySetSolverType,
- METH_VARARGS, (const char *)gPySetSolverType__doc__},
+ METH_VARARGS, (const char *)gPySetSolverType__doc__},
- {"createConstraint",(PyCFunction) gPyCreateConstraint,
- METH_VARARGS, (const char *)gPyCreateConstraint__doc__},
- {"getVehicleConstraint",(PyCFunction) gPyGetVehicleConstraint,
- METH_VARARGS, (const char *)gPyGetVehicleConstraint__doc__},
+ {"createConstraint",(PyCFunction) gPyCreateConstraint,
+ METH_VARARGS, (const char *)gPyCreateConstraint__doc__},
+ {"getVehicleConstraint",(PyCFunction) gPyGetVehicleConstraint,
+ METH_VARARGS, (const char *)gPyGetVehicleConstraint__doc__},
- {"removeConstraint",(PyCFunction) gPyRemoveConstraint,
- METH_VARARGS, (const char *)gPyRemoveConstraint__doc__},
+ {"removeConstraint",(PyCFunction) gPyRemoveConstraint,
+ METH_VARARGS, (const char *)gPyRemoveConstraint__doc__},
{"getAppliedImpulse",(PyCFunction) gPyGetAppliedImpulse,
- METH_VARARGS, (const char *)gPyGetAppliedImpulse__doc__},
+ METH_VARARGS, (const char *)gPyGetAppliedImpulse__doc__},
- {"exportBulletFile",(PyCFunction)gPyExportBulletFile,
- METH_VARARGS, "export a .bullet file"},
+ {"exportBulletFile",(PyCFunction)gPyExportBulletFile,
+ METH_VARARGS, "export a .bullet file"},
-
- //sentinel
- { NULL, (PyCFunction) NULL, 0, NULL }
+ //sentinel
+ { NULL, (PyCFunction) NULL, 0, NULL }
};
static struct PyModuleDef PhysicsConstraints_module_def = {
@@ -656,12 +657,13 @@ static struct PyModuleDef PhysicsConstraints_module_def = {
0, /* m_free */
};
-PyObject* initPythonConstraintBinding()
+PyObject* initPythonConstraintBinding()
{
- PyObject* ErrorObject;
- PyObject* m;
- PyObject* d;
+ PyObject* ErrorObject;
+ PyObject* m;
+ PyObject* d;
+ PyObject* item;
/* Use existing module where possible
* be careful not to init any runtime vars after this */
@@ -677,21 +679,43 @@ PyObject* initPythonConstraintBinding()
PyDict_SetItemString(PySys_GetObject("modules"), PhysicsConstraints_module_def.m_name, m);
}
- // Add some symbolic constants to the module
- d = PyModule_GetDict(m);
- ErrorObject = PyUnicode_FromString("PhysicsConstraints.error");
- PyDict_SetItemString(d, "error", ErrorObject);
- Py_DECREF(ErrorObject);
-
- // XXXX Add constants here
-
- // Check for errors
- if (PyErr_Occurred())
- {
- Py_FatalError("can't initialize module PhysicsConstraints");
- }
-
- return d;
+ // Add some symbolic constants to the module
+ d = PyModule_GetDict(m);
+ ErrorObject = PyUnicode_FromString("PhysicsConstraints.error");
+ PyDict_SetItemString(d, "error", ErrorObject);
+ Py_DECREF(ErrorObject);
+
+#ifdef USE_BULLET
+ //Debug Modes constants to be used with setDebugMode() python function
+ KX_MACRO_addTypesToDict(d, DBG_NODEBUG, btIDebugDraw::DBG_NoDebug);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWWIREFRAME, btIDebugDraw::DBG_DrawWireframe);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWAABB, btIDebugDraw::DBG_DrawAabb);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWFREATURESTEXT, btIDebugDraw::DBG_DrawFeaturesText);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWCONTACTPOINTS, btIDebugDraw::DBG_DrawContactPoints);
+ KX_MACRO_addTypesToDict(d, DBG_NOHELPTEXT, btIDebugDraw::DBG_NoHelpText);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWTEXT, btIDebugDraw::DBG_DrawText);
+ KX_MACRO_addTypesToDict(d, DBG_PROFILETIMINGS, btIDebugDraw::DBG_ProfileTimings);
+ KX_MACRO_addTypesToDict(d, DBG_ENABLESATCOMPARISION, btIDebugDraw::DBG_EnableSatComparison);
+ KX_MACRO_addTypesToDict(d, DBG_DISABLEBULLETLCP, btIDebugDraw::DBG_DisableBulletLCP);
+ KX_MACRO_addTypesToDict(d, DBG_ENABLECDD, btIDebugDraw::DBG_EnableCCD);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWCONSTRAINTS, btIDebugDraw::DBG_DrawConstraints);
+ KX_MACRO_addTypesToDict(d, DBG_DRAWCONSTRAINTLIMITS, btIDebugDraw::DBG_DrawConstraintLimits);
+ KX_MACRO_addTypesToDict(d, DBG_FASTWIREFRAME, btIDebugDraw::DBG_FastWireframe);
+#endif // USE_BULLET
+
+ //Constraint types to be used with createConstraint() python function
+ KX_MACRO_addTypesToDict(d, POINTTOPOINT_CONSTRAINT, PHY_POINT2POINT_CONSTRAINT);
+ KX_MACRO_addTypesToDict(d, LINEHINGE_CONSTRAINT, PHY_LINEHINGE_CONSTRAINT);
+ KX_MACRO_addTypesToDict(d, ANGULAR_CONSTRAINT, PHY_ANGULAR_CONSTRAINT);
+ KX_MACRO_addTypesToDict(d, CONETWIST_CONSTRAINT, PHY_CONE_TWIST_CONSTRAINT);
+ KX_MACRO_addTypesToDict(d, VEHICLE_CONSTRAINT, PHY_VEHICLE_CONSTRAINT);
+
+ // Check for errors
+ if (PyErr_Occurred()) {
+ Py_FatalError("can't initialize module PhysicsConstraints");
+ }
+
+ return d;
}
@@ -709,7 +733,4 @@ PHY_IPhysicsEnvironment* PHY_GetActiveEnvironment()
return g_CurrentActivePhysicsEnvironment;
}
-
-
#endif // WITH_PYTHON
-
diff --git a/source/gameengine/Ketsji/KX_PyMath.h b/source/gameengine/Ketsji/KX_PyMath.h
index 9b198f85664..4864482c33b 100644
--- a/source/gameengine/Ketsji/KX_PyMath.h
+++ b/source/gameengine/Ketsji/KX_PyMath.h
@@ -49,7 +49,7 @@
#ifdef WITH_PYTHON
#ifdef USE_MATHUTILS
extern "C" {
-#include "../../blender/python/generic/mathutils.h" /* so we can have mathutils callbacks */
+#include "../../blender/python/mathutils/mathutils.h" /* so we can have mathutils callbacks */
}
#endif
diff --git a/source/gameengine/Ketsji/KX_PythonInit.cpp b/source/gameengine/Ketsji/KX_PythonInit.cpp
index f984538fa5b..fb39e944559 100644
--- a/source/gameengine/Ketsji/KX_PythonInit.cpp
+++ b/source/gameengine/Ketsji/KX_PythonInit.cpp
@@ -54,7 +54,7 @@
extern "C" {
#include "bpy_internal_import.h" /* from the blender python api, but we want to import text too! */
#include "py_capi_utils.h"
- #include "mathutils.h" // Blender.Mathutils module copied here so the blenderlayer can use.
+ #include "mathutils.h" // 'mathutils' module copied here so the blenderlayer can use.
#include "bgl.h"
#include "blf_py_api.h"
@@ -115,6 +115,7 @@ extern "C" {
#include "NG_NetworkScene.h" //Needed for sendMessage()
#include "BL_Shader.h"
+#include "BL_Action.h"
#include "KX_PyMath.h"
@@ -336,7 +337,7 @@ static PyObject* gPyLoadGlobalDict(PyObject*)
{
char marshal_path[512];
char *marshal_buffer = NULL;
- unsigned int marshal_length;
+ size_t marshal_length;
FILE *fp = NULL;
int result;
@@ -347,7 +348,7 @@ static PyObject* gPyLoadGlobalDict(PyObject*)
if (fp) {
// obtain file size:
fseek (fp, 0, SEEK_END);
- marshal_length = ftell(fp);
+ marshal_length = (size_t)ftell(fp);
rewind(fp);
marshal_buffer = (char*)malloc (sizeof(char)*marshal_length);
@@ -397,10 +398,10 @@ static PyObject* gPyGetSpectrum(PyObject*)
{
PyObject* resultlist = PyList_New(512);
- for (int index = 0; index < 512; index++)
- {
- PyList_SET_ITEM(resultlist, index, PyFloat_FromDouble(0.0));
- }
+ for (int index = 0; index < 512; index++)
+ {
+ PyList_SET_ITEM(resultlist, index, PyFloat_FromDouble(0.0));
+ }
return resultlist;
}
@@ -487,13 +488,13 @@ static PyObject* gPyGetBlendFileList(PyObject*, PyObject* args)
char cpath[sizeof(gp_GamePythonPath)];
char *searchpath = NULL;
PyObject* list, *value;
-
- DIR *dp;
- struct dirent *dirp;
-
+
+ DIR *dp;
+ struct dirent *dirp;
+
if (!PyArg_ParseTuple(args, "|s:getBlendFileList", &searchpath))
return NULL;
-
+
list = PyList_New(0);
if (searchpath) {
@@ -503,23 +504,23 @@ static PyObject* gPyGetBlendFileList(PyObject*, PyObject* args)
/* Get the dir only */
BLI_split_dirfile(gp_GamePythonPath, cpath, NULL);
}
-
- if((dp = opendir(cpath)) == NULL) {
+
+ if((dp = opendir(cpath)) == NULL) {
/* todo, show the errno, this shouldnt happen anyway if the blendfile is readable */
fprintf(stderr, "Could not read directoty (%s) failed, code %d (%s)\n", cpath, errno, strerror(errno));
return list;
- }
+ }
- while ((dirp = readdir(dp)) != NULL) {
+ while ((dirp = readdir(dp)) != NULL) {
if (BLI_testextensie(dirp->d_name, ".blend")) {
value= PyUnicode_DecodeFSDefault(dirp->d_name);
PyList_Append(list, value);
Py_DECREF(value);
}
- }
+ }
- closedir(dp);
- return list;
+ closedir(dp);
+ return list;
}
static char gPyAddScene_doc[] =
@@ -1216,6 +1217,28 @@ static PyObject* gPyGetMaterialType(PyObject*)
return PyLong_FromSsize_t(flag);
}
+static PyObject* gPySetAnisotropicFiltering(PyObject*, PyObject* args)
+{
+ short level;
+
+ if (!PyArg_ParseTuple(args, "h:setAnisotropicFiltering", &level))
+ return NULL;
+
+ if (level != 1 && level != 2 && level != 4 && level != 8 && level != 16) {
+ PyErr_SetString(PyExc_ValueError, "Rasterizer.setAnisotropicFiltering(level): Expected value of 1, 2, 4, 8, or 16 for value");
+ return NULL;
+ }
+
+ gp_Rasterizer->SetAnisotropicFiltering(level);
+
+ Py_RETURN_NONE;
+}
+
+static PyObject* gPyGetAnisotropicFiltering(PyObject*, PyObject* args)
+{
+ return PyLong_FromLong(gp_Rasterizer->GetAnisotropicFiltering());
+}
+
static PyObject* gPyDrawLine(PyObject*, PyObject* args)
{
PyObject* ob_from;
@@ -1280,6 +1303,10 @@ static struct PyMethodDef rasterizer_methods[] = {
METH_VARARGS, "set the state of a GLSL material setting"},
{"getGLSLMaterialSetting",(PyCFunction) gPyGetGLSLMaterialSetting,
METH_VARARGS, "get the state of a GLSL material setting"},
+ {"setAnisotropicFiltering", (PyCFunction) gPySetAnisotropicFiltering,
+ METH_VARARGS, "set the anisotropic filtering level (must be one of 1, 2, 4, 8, 16)"},
+ {"getAnisotropicFiltering", (PyCFunction) gPyGetAnisotropicFiltering,
+ METH_VARARGS, "get the anisotropic filtering level"},
{"drawLine", (PyCFunction) gPyDrawLine,
METH_VARARGS, "draw a line on the screen"},
{ NULL, (PyCFunction) NULL, 0, NULL }
@@ -1647,11 +1674,16 @@ PyObject* initGameLogic(KX_KetsjiEngine *engine, KX_Scene* scene) // quick hack
KX_MACRO_addTypesToDict(d, RM_POLYS, KX_NavMeshObject::RM_POLYS);
KX_MACRO_addTypesToDict(d, RM_TRIS, KX_NavMeshObject::RM_TRIS);
+ /* BL_Action play modes */
+ KX_MACRO_addTypesToDict(d, KX_ACTION_MODE_PLAY, BL_Action::ACT_MODE_PLAY);
+ KX_MACRO_addTypesToDict(d, KX_ACTION_MODE_LOOP, BL_Action::ACT_MODE_LOOP);
+ KX_MACRO_addTypesToDict(d, KX_ACTION_MODE_PING_PONG, BL_Action::ACT_MODE_PING_PONG);
+
// Check for errors
if (PyErr_Occurred())
- {
+ {
Py_FatalError("can't initialize module bge.logic");
- }
+ }
return m;
}
@@ -1768,7 +1800,7 @@ static void restorePySysObjects(void)
// Copied from bpy_interface.c
static struct _inittab bge_internal_modules[]= {
- {(char *)"mathutils", BPyInit_mathutils},
+ {(char *)"mathutils", PyInit_mathutils},
{(char *)"bgl", BPyInit_bgl},
{(char *)"blf", BPyInit_blf},
{(char *)"aud", AUD_initPython},
@@ -1941,12 +1973,12 @@ PyObject* initRasterizer(RAS_IRasterizer* rasty,RAS_ICanvas* canvas)
gp_Rasterizer = rasty;
- PyObject* m;
- PyObject* d;
- PyObject* item;
+ PyObject* m;
+ PyObject* d;
+ PyObject* item;
/* Use existing module where possible
- * be careful not to init any runtime vars after this */
+ * be careful not to init any runtime vars after this */
m = PyImport_ImportModule( "Rasterizer" );
if(m) {
Py_DECREF(m);
@@ -1954,32 +1986,32 @@ PyObject* initRasterizer(RAS_IRasterizer* rasty,RAS_ICanvas* canvas)
}
else {
PyErr_Clear();
-
+
// Create the module and add the functions
m = PyModule_Create(&Rasterizer_module_def);
PyDict_SetItemString(PySys_GetObject("modules"), Rasterizer_module_def.m_name, m);
}
- // Add some symbolic constants to the module
- d = PyModule_GetDict(m);
- ErrorObject = PyUnicode_FromString("Rasterizer.error");
- PyDict_SetItemString(d, "error", ErrorObject);
- Py_DECREF(ErrorObject);
+ // Add some symbolic constants to the module
+ d = PyModule_GetDict(m);
+ ErrorObject = PyUnicode_FromString("Rasterizer.error");
+ PyDict_SetItemString(d, "error", ErrorObject);
+ Py_DECREF(ErrorObject);
- /* needed for get/setMaterialType */
- KX_MACRO_addTypesToDict(d, KX_TEXFACE_MATERIAL, KX_TEXFACE_MATERIAL);
- KX_MACRO_addTypesToDict(d, KX_BLENDER_MULTITEX_MATERIAL, KX_BLENDER_MULTITEX_MATERIAL);
- KX_MACRO_addTypesToDict(d, KX_BLENDER_GLSL_MATERIAL, KX_BLENDER_GLSL_MATERIAL);
+ /* needed for get/setMaterialType */
+ KX_MACRO_addTypesToDict(d, KX_TEXFACE_MATERIAL, KX_TEXFACE_MATERIAL);
+ KX_MACRO_addTypesToDict(d, KX_BLENDER_MULTITEX_MATERIAL, KX_BLENDER_MULTITEX_MATERIAL);
+ KX_MACRO_addTypesToDict(d, KX_BLENDER_GLSL_MATERIAL, KX_BLENDER_GLSL_MATERIAL);
- // XXXX Add constants here
+ // XXXX Add constants here
- // Check for errors
- if (PyErr_Occurred())
- {
- Py_FatalError("can't initialize module Rasterizer");
- }
+ // Check for errors
+ if (PyErr_Occurred())
+ {
+ Py_FatalError("can't initialize module Rasterizer");
+ }
- return d;
+ return d;
}
@@ -2218,9 +2250,9 @@ PyObject* initGameKeys()
// Check for errors
if (PyErr_Occurred())
- {
+ {
Py_FatalError("can't initialize module GameKeys");
- }
+ }
return d;
}
diff --git a/source/gameengine/Ketsji/KX_RaySensor.cpp b/source/gameengine/Ketsji/KX_RaySensor.cpp
index a683c9857aa..aecf2ab3598 100644
--- a/source/gameengine/Ketsji/KX_RaySensor.cpp
+++ b/source/gameengine/Ketsji/KX_RaySensor.cpp
@@ -83,7 +83,7 @@ void KX_RaySensor::Init()
KX_RaySensor::~KX_RaySensor()
{
- /* Nothing to be done here. */
+ /* Nothing to be done here. */
}
@@ -279,7 +279,7 @@ bool KX_RaySensor::Evaluate()
/* now pass this result to some controller */
- if (m_rayHit)
+ if (m_rayHit)
{
if (!m_bTriggered)
{
@@ -288,14 +288,14 @@ bool KX_RaySensor::Evaluate()
m_bTriggered = true;
}
else
- {
+ {
// notify logicsystem that ray is STILL hitting ...
result = false;
-
- }
+
+ }
}
- else
- {
+ else
+ {
if (m_bTriggered)
{
m_bTriggered = false;
@@ -306,9 +306,9 @@ bool KX_RaySensor::Evaluate()
{
result = false;
}
-
- }
- if (reset)
+
+ }
+ if (reset)
// force an event
result = true;
diff --git a/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.cpp b/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.cpp
index 076669e325a..c5f3fefd4d3 100644
--- a/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.cpp
+++ b/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.cpp
@@ -44,11 +44,11 @@
#include "SCA_IScene.h"
KX_SCA_EndObjectActuator::KX_SCA_EndObjectActuator(SCA_IObject *gameobj,
- SCA_IScene* scene):
- SCA_IActuator(gameobj, KX_ACT_END_OBJECT),
- m_scene(scene)
+ SCA_IScene* scene):
+ SCA_IActuator(gameobj, KX_ACT_END_OBJECT),
+ m_scene(scene)
{
- // intentionally empty
+ // intentionally empty
} /* End of constructor */
diff --git a/source/gameengine/Ketsji/KX_Scene.cpp b/source/gameengine/Ketsji/KX_Scene.cpp
index 5e0e46026df..00638478349 100644
--- a/source/gameengine/Ketsji/KX_Scene.cpp
+++ b/source/gameengine/Ketsji/KX_Scene.cpp
@@ -169,6 +169,7 @@ KX_Scene::KX_Scene(class SCA_IInputDevice* keyboarddevice,
m_lightlist= new CListValue();
m_inactivelist = new CListValue();
m_euthanasyobjects = new CListValue();
+ m_animatedlist = new CListValue();
m_logicmgr = new SCA_LogicManager();
@@ -270,6 +271,9 @@ KX_Scene::~KX_Scene()
if (m_euthanasyobjects)
m_euthanasyobjects->Release();
+ if (m_animatedlist)
+ m_animatedlist->Release();
+
if (m_logicmgr)
delete m_logicmgr;
@@ -1519,7 +1523,22 @@ void KX_Scene::LogicBeginFrame(double curtime)
m_logicmgr->BeginFrame(curtime, 1.0/KX_KetsjiEngine::GetTicRate());
}
+void KX_Scene::AddAnimatedObject(CValue* gameobj)
+{
+ m_animatedlist->Add(gameobj);
+}
+void KX_Scene::RemoveAnimatedObject(CValue* gameobj)
+{
+ m_animatedlist->RemoveValue(gameobj);
+}
+
+void KX_Scene::UpdateAnimations(double curtime)
+{
+ // Update any animations
+ for (int i=0; i<m_animatedlist->GetCount(); ++i)
+ ((KX_GameObject*)GetObjectList()->GetValue(i))->UpdateActionManager(curtime);
+}
void KX_Scene::LogicUpdateFrame(double curtime, bool frame)
{
@@ -1689,6 +1708,11 @@ double KX_Scene::getSuspendedDelta()
return m_suspendeddelta;
}
+short KX_Scene::GetAnimationFPS()
+{
+ return m_blenderScene->r.frs_sec;
+}
+
#ifdef USE_BULLET
#include "KX_BulletPhysicsController.h"
#endif
diff --git a/source/gameengine/Ketsji/KX_Scene.h b/source/gameengine/Ketsji/KX_Scene.h
index 26dec2d612b..5954d5465ba 100644
--- a/source/gameengine/Ketsji/KX_Scene.h
+++ b/source/gameengine/Ketsji/KX_Scene.h
@@ -131,6 +131,7 @@ protected:
CListValue* m_parentlist; // all 'root' parents
CListValue* m_lightlist;
CListValue* m_inactivelist; // all objects that are not in the active layer
+ CListValue* m_animatedlist; // all animated objects
SG_QList m_sghead; // list of nodes that needs scenegraph update
// the Dlist is not object that must be updated
@@ -338,12 +339,17 @@ public:
int NewRemoveObject(CValue* gameobj);
void ReplaceMesh(CValue* gameobj,
void* meshob, bool use_gfx, bool use_phys);
+
+ void AddAnimatedObject(CValue* gameobj);
+ void RemoveAnimatedObject(CValue* gameobj);
+
/**
* @section Logic stuff
* Initiate an update of the logic system.
*/
void LogicBeginFrame(double curtime);
void LogicUpdateFrame(double curtime, bool frame);
+ void UpdateAnimations(double curtime);
void
LogicEndFrame(
@@ -569,6 +575,8 @@ public:
void SetPhysicsEnvironment(class PHY_IPhysicsEnvironment* physEnv);
void SetGravity(const MT_Vector3& gravity);
+
+ short GetAnimationFPS();
/**
* Sets the node tree for this scene.
diff --git a/source/gameengine/Ketsji/KX_SoundActuator.cpp b/source/gameengine/Ketsji/KX_SoundActuator.cpp
index 45ba827a1b8..6c7b515c095 100644
--- a/source/gameengine/Ketsji/KX_SoundActuator.cpp
+++ b/source/gameengine/Ketsji/KX_SoundActuator.cpp
@@ -36,16 +36,25 @@
#include "KX_SoundActuator.h"
-#include "AUD_C-API.h"
+
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+# include "AUD_PingPongFactory.h"
+# include "AUD_IDevice.h"
+# include "AUD_I3DHandle.h"
+#endif
+
#include "KX_GameObject.h"
#include "KX_PyMath.h" // needed for PyObjectFrom()
+#include "KX_PythonInit.h"
+#include "KX_Camera.h"
#include <iostream>
/* ------------------------------------------------------------------------- */
/* Native functions */
/* ------------------------------------------------------------------------- */
KX_SoundActuator::KX_SoundActuator(SCA_IObject* gameobj,
- AUD_Sound* sound,
+ AUD_Reference<AUD_IFactory> sound,
float volume,
float pitch,
bool is3d,
@@ -58,7 +67,6 @@ KX_SoundActuator::KX_SoundActuator(SCA_IObject* gameobj,
m_pitch = pitch;
m_is3d = is3d;
m_3d = settings;
- m_handle = NULL;
m_type = type;
m_isplaying = false;
}
@@ -67,22 +75,20 @@ KX_SoundActuator::KX_SoundActuator(SCA_IObject* gameobj,
KX_SoundActuator::~KX_SoundActuator()
{
- if(m_handle)
- AUD_stop(m_handle);
+ if(!m_handle.isNull())
+ m_handle->stop();
}
void KX_SoundActuator::play()
{
- if(m_handle)
- AUD_stop(m_handle);
+ if(!m_handle.isNull())
+ m_handle->stop();
- if(!m_sound)
+ if(m_sound.isNull())
return;
// this is the sound that will be played and not deleted afterwards
- AUD_Sound* sound = m_sound;
- // this sound is for temporary stacked sounds, will be deleted if not NULL
- AUD_Sound* sound2 = NULL;
+ AUD_Reference<AUD_IFactory> sound = m_sound;
bool loop = false;
@@ -90,7 +96,7 @@ void KX_SoundActuator::play()
{
case KX_SOUNDACT_LOOPBIDIRECTIONAL:
case KX_SOUNDACT_LOOPBIDIRECTIONAL_STOP:
- sound = sound2 = AUD_pingpongSound(sound);
+ sound = new AUD_PingPongFactory(sound);
// fall through
case KX_SOUNDACT_LOOPEND:
case KX_SOUNDACT_LOOPSTOP:
@@ -102,32 +108,28 @@ void KX_SoundActuator::play()
break;
}
- if(m_is3d)
+ m_handle = AUD_getDevice()->play(sound, 0);
+
+ AUD_Reference<AUD_I3DHandle> handle3d = AUD_Reference<AUD_I3DHandle>(m_handle);
+
+ if(m_is3d && !handle3d.isNull())
{
- // sound shall be played 3D
- m_handle = AUD_play(sound, 0);
-
- AUD_setRelative(m_handle, false);
- AUD_setVolumeMaximum(m_handle, m_3d.max_gain);
- AUD_setVolumeMinimum(m_handle, m_3d.min_gain);
- AUD_setDistanceReference(m_handle, m_3d.reference_distance);
- AUD_setDistanceMaximum(m_handle, m_3d.max_distance);
- AUD_setAttenuation(m_handle, m_3d.rolloff_factor);
- AUD_setConeAngleInner(m_handle, m_3d.cone_inner_angle);
- AUD_setConeAngleOuter(m_handle, m_3d.cone_outer_angle);
- AUD_setConeVolumeOuter(m_handle, m_3d.cone_outer_gain);
+ handle3d->setRelative(true);
+ handle3d->setVolumeMaximum(m_3d.max_gain);
+ handle3d->setVolumeMinimum(m_3d.min_gain);
+ handle3d->setDistanceReference(m_3d.reference_distance);
+ handle3d->setDistanceMaximum(m_3d.max_distance);
+ handle3d->setAttenuation(m_3d.rolloff_factor);
+ handle3d->setConeAngleInner(m_3d.cone_inner_angle);
+ handle3d->setConeAngleOuter(m_3d.cone_outer_angle);
+ handle3d->setConeVolumeOuter(m_3d.cone_outer_gain);
}
- else
- m_handle = AUD_play(sound, 0);
if(loop)
- AUD_setLoop(m_handle, -1);
- AUD_setSoundPitch(m_handle, m_pitch);
- AUD_setSoundVolume(m_handle, m_volume);
+ m_handle->setLoopCount(-1);
+ m_handle->setPitch(m_pitch);
+ m_handle->setVolume(m_volume);
m_isplaying = true;
-
- if(sound2)
- AUD_unload(sound2);
}
CValue* KX_SoundActuator::GetReplica()
@@ -140,7 +142,7 @@ CValue* KX_SoundActuator::GetReplica()
void KX_SoundActuator::ProcessReplica()
{
SCA_IActuator::ProcessReplica();
- m_handle = 0;
+ m_handle = AUD_Reference<AUD_IHandle>();
}
bool KX_SoundActuator::Update(double curtime, bool frame)
@@ -155,11 +157,11 @@ bool KX_SoundActuator::Update(double curtime, bool frame)
RemoveAllEvents();
- if(!m_sound)
+ if(m_sound.isNull())
return false;
// actual audio device playing state
- bool isplaying = AUD_getStatus(m_handle) == AUD_STATUS_PLAYING;
+ bool isplaying = m_handle.isNull() ? false : (m_handle->getStatus() == AUD_STATUS_PLAYING);
if (bNegativeEvent)
{
@@ -173,7 +175,9 @@ bool KX_SoundActuator::Update(double curtime, bool frame)
case KX_SOUNDACT_LOOPBIDIRECTIONAL_STOP:
{
// stop immediately
- AUD_stop(m_handle);
+ if(!m_handle.isNull())
+ m_handle->stop();
+ m_handle = AUD_Reference<AUD_IHandle>();
break;
}
case KX_SOUNDACT_PLAYEND:
@@ -185,7 +189,8 @@ bool KX_SoundActuator::Update(double curtime, bool frame)
case KX_SOUNDACT_LOOPBIDIRECTIONAL:
{
// stop the looping so that the sound stops when it finished
- AUD_setLoop(m_handle, 0);
+ if(!m_handle.isNull())
+ m_handle->setLoopCount(0);
break;
}
default:
@@ -211,21 +216,35 @@ bool KX_SoundActuator::Update(double curtime, bool frame)
play();
}
// verify that the sound is still playing
- isplaying = AUD_getStatus(m_handle) == AUD_STATUS_PLAYING ? true : false;
+ isplaying = m_handle.isNull() ? false : (m_handle->getStatus() == AUD_STATUS_PLAYING);
if (isplaying)
{
- if(m_is3d)
+ AUD_Reference<AUD_I3DHandle> handle3d = AUD_Reference<AUD_I3DHandle>(m_handle);
+
+ if(m_is3d && !handle3d.isNull())
{
- KX_GameObject* obj = (KX_GameObject*)this->GetParent();
- float f[4];
-
- obj->NodeGetWorldPosition().getValue(f);
- AUD_setSourceLocation(m_handle, f);
- obj->GetLinearVelocity().getValue(f);
- AUD_setSourceVelocity(m_handle, f);
- obj->NodeGetWorldOrientation().getRotation().getValue(f);
- AUD_setSourceOrientation(m_handle, f);
+ KX_Camera* cam = KX_GetActiveScene()->GetActiveCamera();
+ if (cam)
+ {
+ KX_GameObject* obj = (KX_GameObject*)this->GetParent();
+ MT_Point3 p;
+ MT_Matrix3x3 Mo;
+ AUD_Vector3 v;
+ float q[4];
+
+ Mo = cam->NodeGetWorldOrientation().inverse();
+ p = (obj->NodeGetWorldPosition() - cam->NodeGetWorldPosition());
+ p = Mo * p;
+ p.getValue(v.get());
+ handle3d->setSourceLocation(v);
+ p = (obj->GetLinearVelocity() - cam->GetLinearVelocity());
+ p = Mo * p;
+ p.getValue(v.get());
+ handle3d->setSourceVelocity(v);
+ (Mo * obj->NodeGetWorldOrientation()).getRotation().getValue(q);
+ handle3d->setSourceOrientation(AUD_Quaternion(q[3], q[0], q[1], q[2]));
+ }
}
result = true;
}
@@ -237,7 +256,6 @@ bool KX_SoundActuator::Update(double curtime, bool frame)
return result;
}
-
#ifdef WITH_PYTHON
/* ------------------------------------------------------------------------- */
@@ -286,6 +304,7 @@ PyAttributeDef KX_SoundActuator::Attributes[] = {
KX_PYATTRIBUTE_RW_FUNCTION("cone_angle_inner", KX_SoundActuator, pyattr_get_3d_property, pyattr_set_3d_property),
KX_PYATTRIBUTE_RW_FUNCTION("cone_angle_outer", KX_SoundActuator, pyattr_get_3d_property, pyattr_set_3d_property),
KX_PYATTRIBUTE_RW_FUNCTION("cone_volume_outer", KX_SoundActuator, pyattr_get_3d_property, pyattr_set_3d_property),
+ KX_PYATTRIBUTE_RW_FUNCTION("sound", KX_SoundActuator, pyattr_get_sound, pyattr_set_sound),
KX_PYATTRIBUTE_RW_FUNCTION("time", KX_SoundActuator, pyattr_get_audposition, pyattr_set_audposition),
KX_PYATTRIBUTE_RW_FUNCTION("volume", KX_SoundActuator, pyattr_get_gain, pyattr_set_gain),
@@ -299,15 +318,18 @@ KX_PYMETHODDEF_DOC_NOARGS(KX_SoundActuator, startSound,
"startSound()\n"
"\tStarts the sound.\n")
{
- switch(AUD_getStatus(m_handle))
+ if(!m_handle.isNull())
{
- case AUD_STATUS_PLAYING:
- break;
- case AUD_STATUS_PAUSED:
- AUD_resume(m_handle);
- break;
- default:
- play();
+ switch(m_handle->getStatus())
+ {
+ case AUD_STATUS_PLAYING:
+ break;
+ case AUD_STATUS_PAUSED:
+ m_handle->resume();
+ break;
+ default:
+ play();
+ }
}
Py_RETURN_NONE;
}
@@ -316,7 +338,8 @@ KX_PYMETHODDEF_DOC_NOARGS(KX_SoundActuator, pauseSound,
"pauseSound()\n"
"\tPauses the sound.\n")
{
- AUD_pause(m_handle);
+ if(!m_handle.isNull())
+ m_handle->pause();
Py_RETURN_NONE;
}
@@ -324,7 +347,9 @@ KX_PYMETHODDEF_DOC_NOARGS(KX_SoundActuator, stopSound,
"stopSound()\n"
"\tStops the sound.\n")
{
- AUD_stop(m_handle);
+ if(!m_handle.isNull())
+ m_handle->stop();
+ m_handle = AUD_Reference<AUD_IHandle>();
Py_RETURN_NONE;
}
@@ -372,8 +397,8 @@ PyObject* KX_SoundActuator::pyattr_get_audposition(void *self, const struct KX_P
KX_SoundActuator * actuator = static_cast<KX_SoundActuator *> (self);
float position = 0.0;
- if(actuator->m_handle)
- position = AUD_getPosition(actuator->m_handle);
+ if(!actuator->m_handle.isNull())
+ position = actuator->m_handle->getPosition();
PyObject* result = PyFloat_FromDouble(position);
@@ -400,6 +425,15 @@ PyObject* KX_SoundActuator::pyattr_get_pitch(void *self, const struct KX_PYATTRI
return result;
}
+PyObject* KX_SoundActuator::pyattr_get_sound(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef)
+{
+ KX_SoundActuator * actuator = static_cast<KX_SoundActuator *> (self);
+ if(!actuator->m_sound.isNull())
+ return AUD_getPythonFactory(&actuator->m_sound);
+ else
+ Py_RETURN_NONE;
+}
+
int KX_SoundActuator::pyattr_set_3d_property(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
{
KX_SoundActuator * actuator = static_cast<KX_SoundActuator *> (self);
@@ -409,49 +443,50 @@ int KX_SoundActuator::pyattr_set_3d_property(void *self, const struct KX_PYATTRI
if (!PyArg_Parse(value, "f", &prop_value))
return PY_SET_ATTR_FAIL;
+ AUD_Reference<AUD_I3DHandle> handle3d = AUD_Reference<AUD_I3DHandle>(actuator->m_handle);
// if sound is working and 3D, set the new setting
if(!actuator->m_is3d)
return PY_SET_ATTR_FAIL;
if(!strcmp(prop, "volume_maximum")) {
actuator->m_3d.max_gain = prop_value;
- if(actuator->m_handle)
- AUD_setVolumeMaximum(actuator->m_handle, prop_value);
+ if(!handle3d.isNull())
+ handle3d->setVolumeMaximum(prop_value);
} else if (!strcmp(prop, "volume_minimum")) {
actuator->m_3d.min_gain = prop_value;
- if(actuator->m_handle)
- AUD_setVolumeMinimum(actuator->m_handle, prop_value);
+ if(!handle3d.isNull())
+ handle3d->setVolumeMinimum(prop_value);
} else if (!strcmp(prop, "distance_reference")) {
actuator->m_3d.reference_distance = prop_value;
- if(actuator->m_handle)
- AUD_setDistanceReference(actuator->m_handle, prop_value);
+ if(!handle3d.isNull())
+ handle3d->setDistanceReference(prop_value);
} else if (!strcmp(prop, "distance_maximum")) {
actuator->m_3d.max_distance = prop_value;
- if(actuator->m_handle)
- AUD_setDistanceMaximum(actuator->m_handle, prop_value);
+ if(!handle3d.isNull())
+ handle3d->setDistanceMaximum(prop_value);
} else if (!strcmp(prop, "attenuation")) {
actuator->m_3d.rolloff_factor = prop_value;
- if(actuator->m_handle)
- AUD_setAttenuation(actuator->m_handle, prop_value);
+ if(!handle3d.isNull())
+ handle3d->setAttenuation(prop_value);
} else if (!!strcmp(prop, "cone_angle_inner")) {
actuator->m_3d.cone_inner_angle = prop_value;
- if(actuator->m_handle)
- AUD_setConeAngleInner(actuator->m_handle, prop_value);
+ if(!handle3d.isNull())
+ handle3d->setConeAngleInner(prop_value);
} else if (!strcmp(prop, "cone_angle_outer")) {
actuator->m_3d.cone_outer_angle = prop_value;
- if(actuator->m_handle)
- AUD_setConeAngleOuter(actuator->m_handle, prop_value);
+ if(!handle3d.isNull())
+ handle3d->setConeAngleOuter(prop_value);
} else if (!strcmp(prop, "cone_volume_outer")) {
actuator->m_3d.cone_outer_gain = prop_value;
- if(actuator->m_handle)
- AUD_setConeVolumeOuter(actuator->m_handle, prop_value);
+ if(!handle3d.isNull())
+ handle3d->setConeVolumeOuter(prop_value);
} else {
return PY_SET_ATTR_FAIL;
@@ -468,8 +503,8 @@ int KX_SoundActuator::pyattr_set_audposition(void *self, const struct KX_PYATTRI
if (!PyArg_Parse(value, "f", &position))
return PY_SET_ATTR_FAIL;
- if(actuator->m_handle)
- AUD_seek(actuator->m_handle, position);
+ if(!actuator->m_handle.isNull())
+ actuator->m_handle->seek(position);
return PY_SET_ATTR_SUCCESS;
}
@@ -481,8 +516,8 @@ int KX_SoundActuator::pyattr_set_gain(void *self, const struct KX_PYATTRIBUTE_DE
return PY_SET_ATTR_FAIL;
actuator->m_volume = gain;
- if(actuator->m_handle)
- AUD_setSoundVolume(actuator->m_handle, gain);
+ if(!actuator->m_handle.isNull())
+ actuator->m_handle->setVolume(gain);
return PY_SET_ATTR_SUCCESS;
}
@@ -495,10 +530,28 @@ int KX_SoundActuator::pyattr_set_pitch(void *self, const struct KX_PYATTRIBUTE_D
return PY_SET_ATTR_FAIL;
actuator->m_pitch = pitch;
- if(actuator->m_handle)
- AUD_setSoundPitch(actuator->m_handle, pitch);
+ if(!actuator->m_handle.isNull())
+ actuator->m_handle->setPitch(pitch);
return PY_SET_ATTR_SUCCESS;
}
+int KX_SoundActuator::pyattr_set_sound(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value)
+{
+ PyObject* sound = NULL;
+ KX_SoundActuator * actuator = static_cast<KX_SoundActuator *> (self);
+ if (!PyArg_Parse(value, "O", &sound))
+ return PY_SET_ATTR_FAIL;
+
+ AUD_Reference<AUD_IFactory>* snd = reinterpret_cast<AUD_Reference<AUD_IFactory>*>(AUD_getPythonSound(sound));
+ if(snd)
+ {
+ actuator->m_sound = *snd;
+ delete snd;
+ return PY_SET_ATTR_SUCCESS;
+ }
+
+ return PY_SET_ATTR_FAIL;
+}
+
#endif // WITH_PYTHON
diff --git a/source/gameengine/Ketsji/KX_SoundActuator.h b/source/gameengine/Ketsji/KX_SoundActuator.h
index e7257245a80..b1161e0cad2 100644
--- a/source/gameengine/Ketsji/KX_SoundActuator.h
+++ b/source/gameengine/Ketsji/KX_SoundActuator.h
@@ -36,7 +36,13 @@
#include "SCA_IActuator.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+# include "AUD_Reference.h"
+# include "AUD_IFactory.h"
+# include "AUD_IHandle.h"
+#endif
+
#include "BKE_sound.h"
typedef struct KX_3DSoundSettings
@@ -53,14 +59,14 @@ typedef struct KX_3DSoundSettings
class KX_SoundActuator : public SCA_IActuator
{
- Py_Header;
- bool m_isplaying;
- AUD_Sound* m_sound;
+ Py_Header;
+ bool m_isplaying;
+ AUD_Reference<AUD_IFactory> m_sound;
float m_volume;
float m_pitch;
bool m_is3d;
KX_3DSoundSettings m_3d;
- AUD_Channel* m_handle;
+ AUD_Reference<AUD_IHandle> m_handle;
void play();
@@ -81,7 +87,7 @@ public:
KX_SOUNDACT_TYPE m_type;
KX_SoundActuator(SCA_IObject* gameobj,
- AUD_Sound* sound,
+ AUD_Reference<AUD_IFactory> sound,
float volume,
float pitch,
bool is3d,
@@ -110,12 +116,14 @@ public:
static int pyattr_set_gain(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static int pyattr_set_pitch(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static int pyattr_set_type(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
+ static int pyattr_set_sound(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef, PyObject *value);
static PyObject* pyattr_get_3d_property(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
static PyObject* pyattr_get_audposition(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
static PyObject* pyattr_get_gain(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
static PyObject* pyattr_get_pitch(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
static PyObject* pyattr_get_type(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
+ static PyObject* pyattr_get_sound(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef);
#endif // WITH_PYTHON
diff --git a/source/gameengine/Ketsji/KX_TrackToActuator.cpp b/source/gameengine/Ketsji/KX_TrackToActuator.cpp
index edcba969811..f13f152c5d5 100644
--- a/source/gameengine/Ketsji/KX_TrackToActuator.cpp
+++ b/source/gameengine/Ketsji/KX_TrackToActuator.cpp
@@ -54,16 +54,16 @@
KX_TrackToActuator::KX_TrackToActuator(SCA_IObject *gameobj,
- SCA_IObject *ob,
- int time,
- bool allow3D,
- int trackflag,
- int upflag)
- : SCA_IActuator(gameobj, KX_ACT_TRACKTO)
+ SCA_IObject *ob,
+ int time,
+ bool allow3D,
+ int trackflag,
+ int upflag)
+ : SCA_IActuator(gameobj, KX_ACT_TRACKTO)
{
- m_time = time;
- m_allow3D = allow3D;
- m_object = ob;
+ m_time = time;
+ m_allow3D = allow3D;
+ m_object = ob;
m_trackflag = trackflag;
m_upflag = upflag;
m_parentobj = 0;
diff --git a/source/gameengine/Ketsji/KX_TrackToActuator.h b/source/gameengine/Ketsji/KX_TrackToActuator.h
index c5e96bd7454..bbf0134a859 100644
--- a/source/gameengine/Ketsji/KX_TrackToActuator.h
+++ b/source/gameengine/Ketsji/KX_TrackToActuator.h
@@ -57,7 +57,7 @@ class KX_TrackToActuator : public SCA_IActuator
public:
KX_TrackToActuator(SCA_IObject* gameobj, SCA_IObject *ob, int time,
- bool threedee,int trackflag,int upflag);
+ bool threedee,int trackflag,int upflag);
virtual ~KX_TrackToActuator();
virtual CValue* GetReplica() {
KX_TrackToActuator* replica = new KX_TrackToActuator(*this);
diff --git a/source/gameengine/Ketsji/SConscript b/source/gameengine/Ketsji/SConscript
index 11dd0e5a4bf..7c9785c24e7 100644
--- a/source/gameengine/Ketsji/SConscript
+++ b/source/gameengine/Ketsji/SConscript
@@ -6,15 +6,16 @@ Import ('env')
sources = env.Glob('*.cpp')
defs = [ 'GLEW_STATIC' ]
-incs = '. #source/blender/python/generic' # Only for Mathutils! and bpy_internal_import.h, be very careful
+incs = '. #source/blender/python/generic' # Only for bpy_internal_import.h, be very careful
+incs += ' #source/blender/python/mathutils' # Only for mathutils, be very careful
incs += ' #intern/string #intern/guardedalloc #intern/container'
incs += ' #source/gameengine/Rasterizer/RAS_OpenGLRasterizer'
-incs += ' #intern/audaspace/intern #source/gameengine/Converter'
+incs += ' #intern/audaspace/intern #intern/audaspace/FX #source/gameengine/Converter'
incs += ' #source/gameengine/BlenderRoutines #source/blender/imbuf #intern/moto/include'
incs += ' #source/gameengine/Ketsji #source/gameengine/Ketsji/KXNetwork #source/blender/blenlib #source/blender/blenfont'
incs += ' #source/blender/blenkernel #source/blender #source/blender/editors/include'
-incs += ' #source/blender/makesdna #source/blender/python #source/gameengine/Rasterizer'
+incs += ' #source/blender/makesdna #source/blender/makesrna #source/blender/python #source/gameengine/Rasterizer'
incs += ' #source/gameengine/GameLogic #source/gameengine/Expressions #source/gameengine/Network'
incs += ' #source/gameengine/SceneGraph #source/gameengine/Physics/common'
incs += ' #source/gameengine/Physics/Dummy'
@@ -36,7 +37,7 @@ if env['WITH_BF_PYTHON']:
if env['WITH_BF_FFMPEG']:
defs.append('WITH_FFMPEG')
-
+
if env['OURPLATFORM'] in ('win32-vc', 'win64-vc', 'win32-mingw'):
if env['BF_DEBUG']:
defs.append('_DEBUG') # for Python
diff --git a/source/gameengine/Network/CMakeLists.txt b/source/gameengine/Network/CMakeLists.txt
index e1f3bfaac77..4d6d035c63d 100644
--- a/source/gameengine/Network/CMakeLists.txt
+++ b/source/gameengine/Network/CMakeLists.txt
@@ -26,9 +26,9 @@
set(INC
.
- ../../../intern/string
../../../intern/container
../../../intern/moto/include
+ ../../../intern/string
)
set(INC_SYS
diff --git a/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt b/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt
index 9c3936987f2..c816a30f1a8 100644
--- a/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt
+++ b/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt
@@ -26,9 +26,9 @@
set(INC
.
- ../../../../intern/string
+ ..
../../../../intern/container
- ../../../../source/gameengine/Network
+ ../../../../intern/string
)
set(INC_SYS
diff --git a/source/gameengine/Network/LoopBackNetwork/NG_LoopBackNetworkDeviceInterface.h b/source/gameengine/Network/LoopBackNetwork/NG_LoopBackNetworkDeviceInterface.h
index 67d0e741507..cb7807a86a6 100644
--- a/source/gameengine/Network/LoopBackNetwork/NG_LoopBackNetworkDeviceInterface.h
+++ b/source/gameengine/Network/LoopBackNetwork/NG_LoopBackNetworkDeviceInterface.h
@@ -52,8 +52,8 @@ public:
virtual void NextFrame();
bool Connect(char *address, unsigned int port, char *password,
- unsigned int localport, unsigned int timeout) {
- return true;}
+ unsigned int localport, unsigned int timeout) {
+ return true;}
bool Disconnect(void) {return true;}
virtual void SendNetworkMessage(class NG_NetworkMessage* msg);
diff --git a/source/gameengine/Network/NG_NetworkDeviceInterface.h b/source/gameengine/Network/NG_NetworkDeviceInterface.h
index 6df228680ec..857b4660327 100644
--- a/source/gameengine/Network/NG_NetworkDeviceInterface.h
+++ b/source/gameengine/Network/NG_NetworkDeviceInterface.h
@@ -64,7 +64,7 @@ public:
bool IsOnline(void) { return m_online; }
virtual bool Connect(char *address, unsigned int port, char *password,
- unsigned int localport, unsigned int timeout)=0;
+ unsigned int localport, unsigned int timeout)=0;
virtual bool Disconnect(void)=0;
virtual void SendNetworkMessage(NG_NetworkMessage* msg)=0;
diff --git a/source/gameengine/Physics/Bullet/CMakeLists.txt b/source/gameengine/Physics/Bullet/CMakeLists.txt
index aadd11cc036..971c8f979f3 100644
--- a/source/gameengine/Physics/Bullet/CMakeLists.txt
+++ b/source/gameengine/Physics/Bullet/CMakeLists.txt
@@ -30,19 +30,19 @@ remove_strict_flags()
set(INC
.
../common
- ../../../../extern/bullet2/src
- ../../../../intern/moto/include
- ../../../../intern/guardedalloc
- ../../../../intern/container
- ../../../../intern/string
- ../../Rasterizer
- ../../Ketsji
../../Expressions
../../GameLogic
+ ../../Ketsji
+ ../../Rasterizer
../../SceneGraph
- ../../../../source/blender/makesdna
- ../../../../source/blender/blenlib
- ../../../../source/blender/blenkernel
+ ../../../blender/blenkernel
+ ../../../blender/blenlib
+ ../../../blender/makesdna
+ ../../../../extern/bullet2/src
+ ../../../../intern/container
+ ../../../../intern/guardedalloc
+ ../../../../intern/moto/include
+ ../../../../intern/string
)
set(INC_SYS
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
index 0c5cbb22fbc..2bc11ef5f5b 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsController.cpp
@@ -2142,6 +2142,7 @@ btCollisionShape* CcdShapeConstructionInfo::CreateBulletShape(btScalar margin, b
}
collisionShape = compoundShape;
}
+ break;
}
return collisionShape;
}
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsController.h b/source/gameengine/Physics/Bullet/CcdPhysicsController.h
index 97dc65c5850..82acd64161f 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsController.h
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsController.h
@@ -216,28 +216,53 @@ struct CcdConstructionInfo
///more advanced collision filtering should be done in btCollisionDispatcher::NeedsCollision
enum CollisionFilterGroups
{
- DefaultFilter = 1,
- StaticFilter = 2,
- KinematicFilter = 4,
- DebrisFilter = 8,
- SensorFilter = 16,
- AllFilter = DefaultFilter | StaticFilter | KinematicFilter | DebrisFilter | SensorFilter,
+ DefaultFilter = 1,
+ StaticFilter = 2,
+ KinematicFilter = 4,
+ DebrisFilter = 8,
+ SensorFilter = 16,
+ AllFilter = DefaultFilter | StaticFilter | KinematicFilter | DebrisFilter | SensorFilter,
};
CcdConstructionInfo()
- : m_localInertiaTensor(1.f, 1.f, 1.f),
+ :m_localInertiaTensor(1.f, 1.f, 1.f),
m_gravity(0,0,0),
m_scaling(1.f,1.f,1.f),
m_mass(0.f),
- m_clamp_vel_min(-1.f),
- m_clamp_vel_max(-1.f),
+ m_clamp_vel_min(-1.f),
+ m_clamp_vel_max(-1.f),
m_restitution(0.1f),
m_friction(0.5f),
m_linearDamping(0.1f),
m_angularDamping(0.1f),
m_margin(0.06f),
m_gamesoftFlag(0),
+ m_soft_linStiff(1.f),
+ m_soft_angStiff(1.f),
+ m_soft_volume(1.f),
+ m_soft_viterations(0),
+ m_soft_piterations(1),
+ m_soft_diterations(0),
+ m_soft_citerations(4),
+ m_soft_kSRHR_CL(0.1f),
+ m_soft_kSKHR_CL(1.f),
+ m_soft_kSSHR_CL(0.5f),
+ m_soft_kSR_SPLT_CL(0.5f),
+ m_soft_kSK_SPLT_CL(0.5f),
+ m_soft_kSS_SPLT_CL(0.5f),
+ m_soft_kVCF(1.f),
+ m_soft_kDP(0.f),
+ m_soft_kDG(0.f),
+ m_soft_kLF(0.f),
+ m_soft_kPR(0.f),
+ m_soft_kVC(0.f),
+ m_soft_kDF(0.2f),
+ m_soft_kMT(0),
+ m_soft_kCHR(1.0f),
+ m_soft_kKHR(0.1f),
+ m_soft_kSHR(1.0f),
+ m_soft_kAHR(0.7f),
m_collisionFlags(0),
m_bRigid(false),
m_bSoft(false),
@@ -252,38 +277,13 @@ struct CcdConstructionInfo
m_inertiaFactor(1.f),
m_do_anisotropic(false),
m_anisotropicFriction(1.f,1.f,1.f),
- m_contactProcessingThreshold(1e10f),
- m_soft_linStiff(1.f),
- m_soft_angStiff(1.f),
- m_soft_volume(1.f),
- m_soft_viterations(0),
- m_soft_piterations(1),
- m_soft_diterations(0),
- m_soft_citerations(4),
m_do_fh(false),
m_do_rot_fh(false),
m_fh_spring(0.f),
m_fh_damping(0.f),
m_fh_distance(1.f),
m_fh_normal(false),
- m_soft_kVCF(1.f),
- m_soft_kDG(0.f),
- m_soft_kLF(0.f),
- m_soft_kDP(0.f),
- m_soft_kPR(0.f),
- m_soft_kVC(0.f),
- m_soft_kDF(0.2f),
- m_soft_kMT(0),
- m_soft_kCHR(1.0f),
- m_soft_kKHR(0.1f),
- m_soft_kSHR(1.0f),
- m_soft_kAHR(0.7f),
- m_soft_kSRHR_CL(0.1f),
- m_soft_kSKHR_CL(1.f),
- m_soft_kSSHR_CL(0.5f),
- m_soft_kSR_SPLT_CL(0.5f),
- m_soft_kSK_SPLT_CL(0.5f),
- m_soft_kSS_SPLT_CL(0.5f)
+ m_contactProcessingThreshold(1e10f)
{
}
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
index 3f0c4cb95a1..39b2022a1f4 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp
@@ -1200,7 +1200,7 @@ PHY_IPhysicsController* CcdPhysicsEnvironment::rayTest(PHY_IRayCastFilterCallbac
// Bullet returns the normal from "outside".
// If the user requests the real normal, compute it now
- if (filterCallback.m_faceNormal)
+ if (filterCallback.m_faceNormal)
{
if (shape->isSoftBody())
{
@@ -2564,8 +2564,8 @@ int CcdPhysicsEnvironment::createConstraint(class PHY_IPhysicsController* ctrl
btPlaneSpace1( axisInA, axis1, axis2 );
frameInA.getBasis().setValue( axisInA.x(), axis1.x(), axis2.x(),
- axisInA.y(), axis1.y(), axis2.y(),
- axisInA.z(), axis1.z(), axis2.z() );
+ axisInA.y(), axis1.y(), axis2.y(),
+ axisInA.z(), axis1.z(), axis2.z() );
frameInA.setOrigin( pivotInA );
diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h
index 51e00b9111f..c34a00513bf 100644
--- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h
+++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h
@@ -128,7 +128,7 @@ protected:
virtual void setFixedTimeStep(bool useFixedTimeStep,float fixedTimeStep)
{
//based on DEFAULT_PHYSICS_TIC_RATE of 60 hertz
- setNumTimeSubSteps(fixedTimeStep/60.f);
+ setNumTimeSubSteps((int)(fixedTimeStep / 60.f));
}
//returns 0.f if no fixed timestep is used
@@ -164,7 +164,7 @@ protected:
virtual float getConstraintParam(int constraintId,int param);
- virtual void removeConstraint(int constraintid);
+ virtual void removeConstraint(int constraintid);
virtual float getAppliedImpulse(int constraintid);
diff --git a/source/gameengine/Rasterizer/CMakeLists.txt b/source/gameengine/Rasterizer/CMakeLists.txt
index b705d3151b2..23d746f88bc 100644
--- a/source/gameengine/Rasterizer/CMakeLists.txt
+++ b/source/gameengine/Rasterizer/CMakeLists.txt
@@ -26,14 +26,14 @@
set(INC
.
- ../../../source/blender/makesdna
- ../../../source/gameengine/SceneGraph
- ../../../source/gameengine/Ketsji
- ../../../intern/string
+ ../Expressions
+ ../Ketsji
+ ../SceneGraph
+ ../../blender/makesdna
../../../intern/container
- ../../../intern/moto/include
../../../intern/guardedalloc
- ../Expressions
+ ../../../intern/moto/include
+ ../../../intern/string
)
set(INC_SYS
diff --git a/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp b/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
index ed18ff0329e..725d00aa5cd 100644
--- a/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
+++ b/source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
@@ -306,8 +306,8 @@ void RAS_2DFilterManager::SetupTextures(bool depth, bool luminance)
if(depth){
glGenTextures(1, (GLuint*)&texname[1]);
glBindTexture(GL_TEXTURE_2D, texname[1]);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32, texturewidth,textureheight,
- 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE,NULL);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32, texturewidth,textureheight,
+ 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE,NULL);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE,
GL_NONE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
@@ -433,6 +433,9 @@ void RAS_2DFilterManager::RenderFilters(RAS_ICanvas* canvas)
glCopyTexImage2D(GL_TEXTURE_2D,0,GL_LUMINANCE16, 0, 0, texturewidth,textureheight, 0);
}
+ // reverting to texunit 0, without this we get bug [#28462]
+ glActiveTextureARB(GL_TEXTURE0);
+
glViewport(0,0, texturewidth, textureheight);
glDisable(GL_DEPTH_TEST);
diff --git a/source/gameengine/Rasterizer/RAS_CameraData.h b/source/gameengine/Rasterizer/RAS_CameraData.h
index e6254f72511..5657fda4f3c 100644
--- a/source/gameengine/Rasterizer/RAS_CameraData.h
+++ b/source/gameengine/Rasterizer/RAS_CameraData.h
@@ -49,19 +49,19 @@ struct RAS_CameraData
float m_focallength;
RAS_CameraData(float lens = 35.0, float scale = 6.0, float clipstart = 0.1, float clipend = 5000.0, bool perspective = true,
- float focallength = 3.0, bool viewport = false, int viewportleft = 0, int viewportbottom = 0,
- int viewportright = 0, int viewporttop = 0) :
- m_lens(lens),
- m_scale(scale),
- m_clipstart(clipstart),
- m_clipend(clipend),
- m_perspective(perspective),
- m_viewport(viewport),
- m_viewportleft(viewportleft),
- m_viewportbottom(viewportbottom),
- m_viewportright(viewportright),
- m_viewporttop(viewporttop),
- m_focallength(focallength)
+ float focallength = 3.0, bool viewport = false, int viewportleft = 0, int viewportbottom = 0,
+ int viewportright = 0, int viewporttop = 0) :
+ m_lens(lens),
+ m_scale(scale),
+ m_clipstart(clipstart),
+ m_clipend(clipend),
+ m_perspective(perspective),
+ m_viewport(viewport),
+ m_viewportleft(viewportleft),
+ m_viewportbottom(viewportbottom),
+ m_viewportright(viewportright),
+ m_viewporttop(viewporttop),
+ m_focallength(focallength)
{
}
};
diff --git a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp
index 47f1dcb412a..5a1b52489b4 100644
--- a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp
+++ b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.cpp
@@ -246,6 +246,11 @@ bool RAS_IPolyMaterial::UsesLighting(RAS_IRasterizer *rasty) const
return dolights;
}
+bool RAS_IPolyMaterial::CastsShadows() const
+{
+ return (m_flag & RAS_CASTSHADOW) != 0;
+}
+
bool RAS_IPolyMaterial::UsesObjectColor() const
{
return !(m_flag & RAS_BLENDERGLSL);
diff --git a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h
index b0e7daf81d7..2a5c6a179b6 100644
--- a/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h
+++ b/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h
@@ -62,7 +62,8 @@ enum MaterialProps
RAS_AUTOGEN =128,
RAS_NORMAL =256,
RAS_DEFMULTI =512,
- RAS_BLENDERGLSL =1024
+ RAS_BLENDERGLSL =1024,
+ RAS_CASTSHADOW =2048
};
/**
@@ -169,6 +170,7 @@ public:
virtual void GetMaterialRGBAColor(unsigned char *rgba) const;
virtual bool UsesLighting(RAS_IRasterizer *rasty) const;
virtual bool UsesObjectColor() const;
+ virtual bool CastsShadows() const;
virtual void Replace_IScene(SCA_IScene *val) {}; /* overridden by KX_BlenderMaterial */
diff --git a/source/gameengine/Rasterizer/RAS_IRasterizer.h b/source/gameengine/Rasterizer/RAS_IRasterizer.h
index 142eb88c7c7..877a7219a1c 100644
--- a/source/gameengine/Rasterizer/RAS_IRasterizer.h
+++ b/source/gameengine/Rasterizer/RAS_IRasterizer.h
@@ -419,6 +419,9 @@ public:
virtual void SetBlendingMode(int blendmode)=0;
virtual void SetFrontFace(bool ccw)=0;
+
+ virtual void SetAnisotropicFiltering(short level)=0;
+ virtual short GetAnisotropicFiltering()=0;
#ifdef WITH_CXX_GUARDEDALLOC
diff --git a/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp b/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp
index 7647f7d3f27..85284096bb9 100644
--- a/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp
+++ b/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp
@@ -586,6 +586,9 @@ bool RAS_MaterialBucket::ActivateMaterial(const MT_Transform& cameratrans, RAS_I
RAS_IRenderTools *rendertools)
{
bool uselights;
+
+ if(rasty->GetDrawingMode() == RAS_IRasterizer::KX_SHADOW && !m_material->CastsShadows())
+ return false;
if(!rasty->SetMaterial(*m_material))
return false;
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h
index a277d9835d8..3a3ea57d67b 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Blur2DFilter.h
@@ -38,17 +38,17 @@ uniform vec2 bgl_TextureCoordinateOffset[9];
void main(void)
{
- vec4 sample[9];
+ vec4 sample[9];
- for (int i = 0; i < 9; i++)
- {
- sample[i] = texture2D(bgl_RenderedTexture,
- gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
- }
+ for (int i = 0; i < 9; i++)
+ {
+ sample[i] = texture2D(bgl_RenderedTexture,
+ gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
+ }
- gl_FragColor = (sample[0] + (2.0*sample[1]) + sample[2] +
- (2.0*sample[3]) + sample[4] + (2.0*sample[5]) +
- sample[6] + (2.0*sample[7]) + sample[8]) / 13.0;
+ gl_FragColor = (sample[0] + (2.0*sample[1]) + sample[2] +
+ (2.0*sample[3]) + sample[4] + (2.0*sample[5]) +
+ sample[6] + (2.0*sample[7]) + sample[8]) / 13.0;
}
);
#endif
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h
index 6aeff254f77..f486be47f9f 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Dilation2DFilter.h
@@ -38,17 +38,17 @@ uniform vec2 bgl_TextureCoordinateOffset[9];
void main(void)
{
- vec4 sample[9];
- vec4 maxValue = vec4(0.0);
+ vec4 sample[9];
+ vec4 maxValue = vec4(0.0);
- for (int i = 0; i < 9; i++)
- {
- sample[i] = texture2D(bgl_RenderedTexture,
- gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
- maxValue = max(sample[i], maxValue);
- }
+ for (int i = 0; i < 9; i++)
+ {
+ sample[i] = texture2D(bgl_RenderedTexture,
+ gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
+ maxValue = max(sample[i], maxValue);
+ }
- gl_FragColor = maxValue;
+ gl_FragColor = maxValue;
}
);
#endif
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h
index 1e9dccaec87..a1755dc0eeb 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Erosion2DFilter.h
@@ -33,22 +33,22 @@
#define __RAS_EROSION2DFILTER
const char * ErosionFragmentShader=STRINGIFY(
-uniform sampler2D bgl_RenderedTexture;
-uniform vec2 bgl_TextureCoordinateOffset[9];
+ uniform sampler2D bgl_RenderedTexture;
+ uniform vec2 bgl_TextureCoordinateOffset[9];
void main(void)
{
- vec4 sample[9];
- vec4 minValue = vec4(1.0);
+ vec4 sample[9];
+ vec4 minValue = vec4(1.0);
- for (int i = 0; i < 9; i++)
- {
- sample[i] = texture2D(bgl_RenderedTexture,
- gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
- minValue = min(sample[i], minValue);
- }
+ for (int i = 0; i < 9; i++)
+ {
+ sample[i] = texture2D(bgl_RenderedTexture,
+ gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
+ minValue = min(sample[i], minValue);
+ }
- gl_FragColor = minValue;
+ gl_FragColor = minValue;
}
);
#endif
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h
index c7cfa83a11f..45c94d358ba 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Laplacian2DFilter.h
@@ -38,18 +38,18 @@ uniform vec2 bgl_TextureCoordinateOffset[9];
void main(void)
{
- vec4 sample[9];
+ vec4 sample[9];
- for (int i = 0; i < 9; i++)
- {
- sample[i] = texture2D(bgl_RenderedTexture,
- gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
- }
+ for (int i = 0; i < 9; i++)
+ {
+ sample[i] = texture2D(bgl_RenderedTexture,
+ gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
+ }
- gl_FragColor = (sample[4] * 8.0) -
- (sample[0] + sample[1] + sample[2] +
- sample[3] + sample[5] +
- sample[6] + sample[7] + sample[8]);
+ gl_FragColor = (sample[4] * 8.0) -
+ (sample[0] + sample[1] + sample[2] +
+ sample[3] + sample[5] +
+ sample[6] + sample[7] + sample[8]);
gl_FragColor = vec4(gl_FragColor.rgb, 1.0);
}
);
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h
index ada53cd751d..8d08d9077cb 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Prewitt2DFilter.h
@@ -38,23 +38,23 @@ uniform vec2 bgl_TextureCoordinateOffset[9];
void main(void)
{
- vec4 sample[9];
+ vec4 sample[9];
- for (int i = 0; i < 9; i++)
- {
- sample[i] = texture2D(bgl_RenderedTexture,
- gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
- }
+ for (int i = 0; i < 9; i++)
+ {
+ sample[i] = texture2D(bgl_RenderedTexture,
+ gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
+ }
- vec4 horizEdge = sample[2] + sample[5] + sample[8] -
- (sample[0] + sample[3] + sample[6]);
+ vec4 horizEdge = sample[2] + sample[5] + sample[8] -
+ (sample[0] + sample[3] + sample[6]);
- vec4 vertEdge = sample[0] + sample[1] + sample[2] -
- (sample[6] + sample[7] + sample[8]);
+ vec4 vertEdge = sample[0] + sample[1] + sample[2] -
+ (sample[6] + sample[7] + sample[8]);
- gl_FragColor.rgb = sqrt((horizEdge.rgb * horizEdge.rgb) +
- (vertEdge.rgb * vertEdge.rgb));
- gl_FragColor.a = 1.0;
+ gl_FragColor.rgb = sqrt((horizEdge.rgb * horizEdge.rgb) +
+ (vertEdge.rgb * vertEdge.rgb));
+ gl_FragColor.a = 1.0;
}
);
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h
index 0d68bc09c70..a9c827fa9e1 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sharpen2DFilter.h
@@ -38,18 +38,18 @@ uniform vec2 bgl_TextureCoordinateOffset[9];
void main(void)
{
- vec4 sample[9];
+ vec4 sample[9];
- for (int i = 0; i < 9; i++)
- {
- sample[i] = texture2D(bgl_RenderedTexture,
- gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
- }
+ for (int i = 0; i < 9; i++)
+ {
+ sample[i] = texture2D(bgl_RenderedTexture,
+ gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
+ }
- gl_FragColor = (sample[4] * 9.0) -
- (sample[0] + sample[1] + sample[2] +
- sample[3] + sample[5] +
- sample[6] + sample[7] + sample[8]);
+ gl_FragColor = (sample[4] * 9.0) -
+ (sample[0] + sample[1] + sample[2] +
+ sample[3] + sample[5] +
+ sample[6] + sample[7] + sample[8]);
}
);
#endif
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h
index 0f80f0f22b4..350ce19fafd 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLFilters/RAS_Sobel2DFilter.h
@@ -38,23 +38,23 @@ uniform vec2 bgl_TextureCoordinateOffset[9];
void main(void)
{
- vec4 sample[9];
+ vec4 sample[9];
- for (int i = 0; i < 9; i++)
- {
- sample[i] = texture2D(bgl_RenderedTexture,
- gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
- }
+ for (int i = 0; i < 9; i++)
+ {
+ sample[i] = texture2D(bgl_RenderedTexture,
+ gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
+ }
- vec4 horizEdge = sample[2] + (2.0*sample[5]) + sample[8] -
- (sample[0] + (2.0*sample[3]) + sample[6]);
+ vec4 horizEdge = sample[2] + (2.0*sample[5]) + sample[8] -
+ (sample[0] + (2.0*sample[3]) + sample[6]);
- vec4 vertEdge = sample[0] + (2.0*sample[1]) + sample[2] -
- (sample[6] + (2.0*sample[7]) + sample[8]);
+ vec4 vertEdge = sample[0] + (2.0*sample[1]) + sample[2] -
+ (sample[6] + (2.0*sample[7]) + sample[8]);
- gl_FragColor.rgb = sqrt((horizEdge.rgb * horizEdge.rgb) +
- (vertEdge.rgb * vertEdge.rgb));
- gl_FragColor.a = 1.0;
+ gl_FragColor.rgb = sqrt((horizEdge.rgb * horizEdge.rgb) +
+ (vertEdge.rgb * vertEdge.rgb));
+ gl_FragColor.a = 1.0;
}
);
#endif
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt
index a005bb1108d..b0ef6fab251 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt
@@ -25,18 +25,18 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- ../../../../intern/string
+ ..
+ ../../BlenderRoutines
+ ../../Ketsji
+ ../../SceneGraph
+ ../../../blender/blenkernel
+ ../../../blender/blenlib
+ ../../../blender/blenloader
+ ../../../blender/gpu
+ ../../../blender/makesdna
../../../../intern/container
../../../../intern/moto/include
- ../../../../source/gameengine/Rasterizer
- ../../../../source/gameengine/Ketsji
- ../../../../source/gameengine/SceneGraph
- ../../../../source/gameengine/BlenderRoutines
- ../../../../source/blender/gpu
- ../../../../source/blender/makesdna
- ../../../../source/blender/blenkernel
- ../../../../source/blender/blenlib
- ../../../../source/blender/blenloader
+ ../../../../intern/string
)
set(INC_SYS
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
index 59710b69fc0..6ad9e591474 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
@@ -103,12 +103,16 @@ RAS_OpenGLRasterizer::RAS_OpenGLRasterizer(RAS_ICanvas* canvas)
hinterlace_mask[i] = (i&1)*0xFFFFFFFF;
}
hinterlace_mask[32] = 0;
+
+ m_prevafvalue = GPU_get_anisotropic();
}
RAS_OpenGLRasterizer::~RAS_OpenGLRasterizer()
{
+ // Restore the previous AF value
+ GPU_set_anisotropic(m_prevafvalue);
}
bool RAS_OpenGLRasterizer::Init()
@@ -1246,3 +1250,12 @@ void RAS_OpenGLRasterizer::SetFrontFace(bool ccw)
m_last_frontface = ccw;
}
+void RAS_OpenGLRasterizer::SetAnisotropicFiltering(short level)
+{
+ GPU_set_anisotropic((float)level);
+}
+
+short RAS_OpenGLRasterizer::GetAnisotropicFiltering()
+{
+ return (short)GPU_get_anisotropic();
+}
diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
index a494c577512..c0e02f6df77 100644
--- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
+++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
@@ -99,6 +99,8 @@ class RAS_OpenGLRasterizer : public RAS_IRasterizer
bool m_setfocallength;
int m_noOfScanlines;
+ short m_prevafvalue;
+
//motion blur
int m_motionblur;
float m_motionblurvalue;
@@ -313,6 +315,9 @@ public:
virtual void SetBlendingMode(int blendmode);
virtual void SetFrontFace(bool ccw);
+ virtual void SetAnisotropicFiltering(short level);
+ virtual short GetAnisotropicFiltering();
+
#ifdef WITH_CXX_GUARDEDALLOC
public:
diff --git a/source/gameengine/SceneGraph/SG_BBox.cpp b/source/gameengine/SceneGraph/SG_BBox.cpp
index b5618ebbf03..01107557481 100644
--- a/source/gameengine/SceneGraph/SG_BBox.cpp
+++ b/source/gameengine/SceneGraph/SG_BBox.cpp
@@ -142,8 +142,8 @@ SG_BBox SG_BBox::transform(const MT_Transform &world) const
bool SG_BBox::inside(const MT_Point3 &point) const
{
return point[0] >= m_min[0] && point[0] <= m_max[0] &&
- point[1] >= m_min[1] && point[1] <= m_max[1] &&
- point[2] >= m_min[2] && point[2] <= m_max[2];
+ point[1] >= m_min[1] && point[1] <= m_max[1] &&
+ point[2] >= m_min[2] && point[2] <= m_max[2];
}
bool SG_BBox::inside(const SG_BBox& other) const
diff --git a/source/gameengine/SceneGraph/SG_DList.h b/source/gameengine/SceneGraph/SG_DList.h
index b82e51e0d2f..9e7e514b27a 100644
--- a/source/gameengine/SceneGraph/SG_DList.h
+++ b/source/gameengine/SceneGraph/SG_DList.h
@@ -134,88 +134,88 @@ public:
}
};
- SG_DList()
- {
- m_flink = m_blink = this;
- }
+ SG_DList()
+ {
+ m_flink = m_blink = this;
+ }
SG_DList(const SG_DList& other)
{
- m_flink = m_blink = this;
+ m_flink = m_blink = this;
}
- virtual ~SG_DList()
- {
+ virtual ~SG_DList()
+ {
Delink();
- }
+ }
- inline bool Empty() // Check for empty queue
- {
- return ( m_flink == this );
- }
- bool AddBack( SG_DList *item ) // Add to the back
- {
+ inline bool Empty() // Check for empty queue
+ {
+ return ( m_flink == this );
+ }
+ bool AddBack( SG_DList *item ) // Add to the back
+ {
if (!item->Empty())
return false;
- item->m_blink = m_blink;
- item->m_flink = this;
- m_blink->m_flink = item;
- m_blink = item;
+ item->m_blink = m_blink;
+ item->m_flink = this;
+ m_blink->m_flink = item;
+ m_blink = item;
return true;
- }
- bool AddFront( SG_DList *item ) // Add to the back
- {
+ }
+ bool AddFront( SG_DList *item ) // Add to the back
+ {
if (!item->Empty())
return false;
- item->m_flink = m_flink;
- item->m_blink = this;
- m_flink->m_blink = item;
- m_flink = item;
+ item->m_flink = m_flink;
+ item->m_blink = this;
+ m_flink->m_blink = item;
+ m_flink = item;
return true;
- }
- SG_DList *Remove() // Remove from the front
- {
- if (Empty())
- {
- return NULL;
- }
- SG_DList* item = m_flink;
- m_flink = item->m_flink;
- m_flink->m_blink = this;
- item->m_flink = item->m_blink = item;
- return item;
- }
- bool Delink() // Remove from the middle
- {
+ }
+ SG_DList *Remove() // Remove from the front
+ {
+ if (Empty())
+ {
+ return NULL;
+ }
+ SG_DList* item = m_flink;
+ m_flink = item->m_flink;
+ m_flink->m_blink = this;
+ item->m_flink = item->m_blink = item;
+ return item;
+ }
+ bool Delink() // Remove from the middle
+ {
if (Empty())
return false;
m_blink->m_flink = m_flink;
m_flink->m_blink = m_blink;
m_flink = m_blink = this;
return true;
- }
- inline SG_DList *Peek() // Look at front without removing
- {
- return m_flink;
- }
- inline SG_DList *Back() // Look at front without removing
- {
- return m_blink;
- }
- inline SG_DList *Self()
- {
- return this;
- }
- inline const SG_DList *Peek() const // Look at front without removing
- {
- return (const SG_DList*)m_flink;
- }
- inline const SG_DList *Back() const // Look at front without removing
- {
- return (const SG_DList*)m_blink;
- }
- inline const SG_DList *Self() const
- {
- return this;
- }
+ }
+ inline SG_DList *Peek() // Look at front without removing
+ {
+ return m_flink;
+ }
+ inline SG_DList *Back() // Look at front without removing
+ {
+ return m_blink;
+ }
+ inline SG_DList *Self()
+ {
+ return this;
+ }
+ inline const SG_DList *Peek() const // Look at front without removing
+ {
+ return (const SG_DList*)m_flink;
+ }
+ inline const SG_DList *Back() const // Look at front without removing
+ {
+ return (const SG_DList*)m_blink;
+ }
+ inline const SG_DList *Self() const
+ {
+ return this;
+ }
#ifdef WITH_CXX_GUARDEDALLOC
diff --git a/source/gameengine/SceneGraph/SG_IObject.cpp b/source/gameengine/SceneGraph/SG_IObject.cpp
index 3064e6662b9..b22d210984d 100644
--- a/source/gameengine/SceneGraph/SG_IObject.cpp
+++ b/source/gameengine/SceneGraph/SG_IObject.cpp
@@ -34,6 +34,8 @@
#include "SG_IObject.h"
#include "SG_Controller.h"
+#include <algorithm>
+
SG_Stage gSG_Stage = SG_STAGE_UNKNOWN;
SG_IObject::
@@ -71,6 +73,16 @@ AddSGController(
void
SG_IObject::
+RemoveSGController(
+ SG_Controller* cont
+) {
+ SGControllerList::iterator contit;
+
+ m_SGcontrollers.erase(std::remove(m_SGcontrollers.begin(), m_SGcontrollers.end(), cont));
+}
+
+ void
+SG_IObject::
RemoveAllControllers(
) {
m_SGcontrollers.clear();
diff --git a/source/gameengine/SceneGraph/SG_IObject.h b/source/gameengine/SceneGraph/SG_IObject.h
index 26e317bdcd9..8c0159fe8d4 100644
--- a/source/gameengine/SceneGraph/SG_IObject.h
+++ b/source/gameengine/SceneGraph/SG_IObject.h
@@ -49,6 +49,7 @@ enum SG_Stage
SG_STAGE_CONTROLLER_UPDATE,
SG_STAGE_ACTUATOR,
SG_STAGE_ACTUATOR_UPDATE,
+ SG_STAGE_ANIMATION_UPDATE,
SG_STAGE_PHYSICS2,
SG_STAGE_PHYSICS2_UPDATE,
SG_STAGE_SCENE,
@@ -180,10 +181,20 @@ public:
SG_Controller* cont
);
+ /**
+ * Remove a pointer to a controller from this node.
+ * This does not delete the controller itself! Be careful to
+ * avoid memory leaks.
+ */
+ void
+ RemoveSGController(
+ SG_Controller* cont
+ );
+
/**
* Clear the array of pointers to controllers associated with
* this node. This does not delete the controllers themselves!
- * This should be used very carefully to avoid memory
+ * This should be used very carefully to avoid memory
* leaks.
*/
diff --git a/source/gameengine/SceneGraph/SG_QList.h b/source/gameengine/SceneGraph/SG_QList.h
index de79c35821e..eb404b1a5a5 100644
--- a/source/gameengine/SceneGraph/SG_QList.h
+++ b/source/gameengine/SceneGraph/SG_QList.h
@@ -91,73 +91,73 @@ public:
};
SG_QList() : SG_DList()
- {
- m_fqlink = m_bqlink = this;
- }
+ {
+ m_fqlink = m_bqlink = this;
+ }
SG_QList(const SG_QList& other) : SG_DList()
{
- m_fqlink = m_bqlink = this;
+ m_fqlink = m_bqlink = this;
}
- virtual ~SG_QList()
- {
+ virtual ~SG_QList()
+ {
QDelink();
- }
+ }
- inline bool QEmpty() // Check for empty queue
- {
- return ( m_fqlink == this );
- }
- bool QAddBack( SG_QList *item ) // Add to the back
- {
+ inline bool QEmpty() // Check for empty queue
+ {
+ return ( m_fqlink == this );
+ }
+ bool QAddBack( SG_QList *item ) // Add to the back
+ {
if (!item->QEmpty())
return false;
- item->m_bqlink = m_bqlink;
- item->m_fqlink = this;
- m_bqlink->m_fqlink = item;
- m_bqlink = item;
+ item->m_bqlink = m_bqlink;
+ item->m_fqlink = this;
+ m_bqlink->m_fqlink = item;
+ m_bqlink = item;
return true;
- }
- bool QAddFront( SG_QList *item ) // Add to the back
- {
+ }
+ bool QAddFront( SG_QList *item ) // Add to the back
+ {
if (!item->Empty())
return false;
- item->m_fqlink = m_fqlink;
- item->m_bqlink = this;
- m_fqlink->m_bqlink = item;
- m_fqlink = item;
+ item->m_fqlink = m_fqlink;
+ item->m_bqlink = this;
+ m_fqlink->m_bqlink = item;
+ m_fqlink = item;
return true;
- }
- SG_QList *QRemove() // Remove from the front
- {
- if (QEmpty())
- {
- return NULL;
- }
- SG_QList* item = m_fqlink;
- m_fqlink = item->m_fqlink;
- m_fqlink->m_bqlink = this;
- item->m_fqlink = item->m_bqlink = item;
- return item;
- }
- bool QDelink() // Remove from the middle
- {
+ }
+ SG_QList *QRemove() // Remove from the front
+ {
+ if (QEmpty())
+ {
+ return NULL;
+ }
+ SG_QList* item = m_fqlink;
+ m_fqlink = item->m_fqlink;
+ m_fqlink->m_bqlink = this;
+ item->m_fqlink = item->m_bqlink = item;
+ return item;
+ }
+ bool QDelink() // Remove from the middle
+ {
if (QEmpty())
return false;
m_bqlink->m_fqlink = m_fqlink;
m_fqlink->m_bqlink = m_bqlink;
m_fqlink = m_bqlink = this;
return true;
- }
- inline SG_QList *QPeek() // Look at front without removing
- {
- return m_fqlink;
- }
- inline SG_QList *QBack() // Look at front without removing
- {
- return m_bqlink;
- }
-
-
+ }
+ inline SG_QList *QPeek() // Look at front without removing
+ {
+ return m_fqlink;
+ }
+ inline SG_QList *QBack() // Look at front without removing
+ {
+ return m_bqlink;
+ }
+
+
#ifdef WITH_CXX_GUARDEDALLOC
public:
void *operator new(size_t num_bytes) { return MEM_mallocN(num_bytes, "GE:SG_QList"); }
diff --git a/source/gameengine/SceneGraph/SG_Spatial.cpp b/source/gameengine/SceneGraph/SG_Spatial.cpp
index ca778d164c8..09fb7278bfa 100644
--- a/source/gameengine/SceneGraph/SG_Spatial.cpp
+++ b/source/gameengine/SceneGraph/SG_Spatial.cpp
@@ -109,18 +109,17 @@ SetParentRelation(
*/
- bool
+ bool
SG_Spatial::
UpdateSpatialData(
- const SG_Spatial *parent,
- double time,
- bool& parentUpdated
-){
-
- bool bComputesWorldTransform = false;
+ const SG_Spatial *parent,
+ double time,
+ bool& parentUpdated
+ ){
+ bool bComputesWorldTransform = false;
// update spatial controllers
-
+
SGControllerList::iterator cit = GetSGControllerList().begin();
SGControllerList::const_iterator c_end = GetSGControllerList().end();
@@ -131,7 +130,7 @@ UpdateSpatialData(
}
// If none of the objects updated our values then we ask the
- // parent_relation object owned by this class to update
+ // parent_relation object owned by this class to update
// our world coordinates.
if (!bComputesWorldTransform)
diff --git a/source/gameengine/VideoTexture/CMakeLists.txt b/source/gameengine/VideoTexture/CMakeLists.txt
index 201714be74a..448fb307d2d 100644
--- a/source/gameengine/VideoTexture/CMakeLists.txt
+++ b/source/gameengine/VideoTexture/CMakeLists.txt
@@ -26,26 +26,26 @@
set(INC
.
- ../../../source/gameengine/Ketsji
- ../../../source/gameengine/Expressions
- ../../../source/gameengine/GameLogic
- ../../../source/gameengine/SceneGraph
- ../../../source/gameengine/Rasterizer
- ../../../source/gameengine/Rasterizer/RAS_OpenGLRasterizer
- ../../../source/gameengine/BlenderRoutines
- ../../../source/blender/blenlib
- ../../../source/blender/blenkernel
- ../../../source/blender/makesdna
- ../../../source/blender/editors/include
- ../../../source/blender/imbuf
- ../../../source/blender/python
- ../../../source/blender/python/generic
- ../../../source/blender/gpu
+ ../BlenderRoutines
+ ../Expressions
+ ../GameLogic
+ ../Ketsji
+ ../Rasterizer
+ ../Rasterizer/RAS_OpenGLRasterizer
+ ../SceneGraph
+ ../../blender/blenkernel
+ ../../blender/blenlib
+ ../../blender/editors/include
+ ../../blender/gpu
+ ../../blender/imbuf
+ ../../blender/makesdna
+ ../../blender/python
+ ../../blender/python/generic
../../../intern/container
- ../../../intern/string
- ../../../intern/moto/include
- ../../../intern/guardedalloc
../../../intern/ffmpeg
+ ../../../intern/guardedalloc
+ ../../../intern/moto/include
+ ../../../intern/string
)
set(INC_SYS
@@ -91,11 +91,10 @@ set(SRC
if(WITH_CODEC_FFMPEG)
list(APPEND INC_SYS
- ${FFMPEG_INC}
- ${PTHREADS_INC}
+ ${FFMPEG_INCLUDE_DIRS}
+ ${PTHREADS_INCLUDE_DIRS}
)
add_definitions(-DWITH_FFMPEG)
- add_definitions(-D__STDC_CONSTANT_MACROS)
endif()
blender_add_lib(ge_videotex "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/VideoTexture/Exception.cpp b/source/gameengine/VideoTexture/Exception.cpp
index 8c8258585a5..30a8af4b125 100644
--- a/source/gameengine/VideoTexture/Exception.cpp
+++ b/source/gameengine/VideoTexture/Exception.cpp
@@ -105,7 +105,7 @@ Exception::Exception (ExceptionID & expID, RESULT rslt, const char * fil, int li
: m_expID (&expID), m_hRslt (rslt)
{
// set file and line
- if (strlen(fil) > 0 || lin > 0)
+ if (fil[0] != '\0' || lin > 0)
setFileLine (fil, lin);
}
@@ -201,20 +201,20 @@ void Exception::copy (const Exception & xpt)
void registerAllExceptions(void)
{
- errGenerDesc.registerDesc();
- errNFoundDesc.registerDesc();
- MaterialNotAvailDesc.registerDesc();
- ImageSizesNotMatchDesc.registerDesc();
- ImageHasExportsDesc.registerDesc();
+ errGenerDesc.registerDesc();
+ errNFoundDesc.registerDesc();
+ MaterialNotAvailDesc.registerDesc();
+ ImageSizesNotMatchDesc.registerDesc();
+ ImageHasExportsDesc.registerDesc();
InvalidColorChannelDesc.registerDesc();
- SceneInvalidDesc.registerDesc();
- CameraInvalidDesc.registerDesc();
- ObserverInvalidDesc.registerDesc();
- MirrorInvalidDesc.registerDesc();
- MirrorSizeInvalidDesc.registerDesc();
- MirrorNormalInvalidDesc.registerDesc();
- MirrorHorizontalDesc.registerDesc();
- MirrorTooSmallDesc.registerDesc();
- SourceVideoEmptyDesc.registerDesc();
- SourceVideoCreationDesc.registerDesc();
+ SceneInvalidDesc.registerDesc();
+ CameraInvalidDesc.registerDesc();
+ ObserverInvalidDesc.registerDesc();
+ MirrorInvalidDesc.registerDesc();
+ MirrorSizeInvalidDesc.registerDesc();
+ MirrorNormalInvalidDesc.registerDesc();
+ MirrorHorizontalDesc.registerDesc();
+ MirrorTooSmallDesc.registerDesc();
+ SourceVideoEmptyDesc.registerDesc();
+ SourceVideoCreationDesc.registerDesc();
}
diff --git a/source/gameengine/VideoTexture/Exception.h b/source/gameengine/VideoTexture/Exception.h
index 16248186108..11e617cf4ce 100644
--- a/source/gameengine/VideoTexture/Exception.h
+++ b/source/gameengine/VideoTexture/Exception.h
@@ -122,11 +122,11 @@ public:
desc = m_description;
}
- void registerDesc(void)
- {
- if (std::find(m_expDescs.begin(), m_expDescs.end(), this) == m_expDescs.end())
- m_expDescs.push_back(this);
- }
+ void registerDesc(void)
+ {
+ if (std::find(m_expDescs.begin(), m_expDescs.end(), this) == m_expDescs.end())
+ m_expDescs.push_back(this);
+ }
// list of exception descriptions
static std::vector<ExpDesc*> m_expDescs;
diff --git a/source/gameengine/VideoTexture/FilterColor.h b/source/gameengine/VideoTexture/FilterColor.h
index 2478727a6be..d0536ed2801 100644
--- a/source/gameengine/VideoTexture/FilterColor.h
+++ b/source/gameengine/VideoTexture/FilterColor.h
@@ -141,7 +141,7 @@ protected:
/// calculate one color component
unsigned int calcColor (unsigned int val, short idx)
{
- unsigned int col = VT_C(val,idx);;
+ unsigned int col = VT_C(val,idx);
if (col <= levels[idx][0]) col = 0;
else if (col >= levels[idx][1]) col = 0xFF;
else col = (((col - levels[idx][0]) << 8) / levels[idx][2]) & 0xFF;
diff --git a/source/gameengine/VideoTexture/ImageBase.cpp b/source/gameengine/VideoTexture/ImageBase.cpp
index a70c56a070c..65509ab9424 100644
--- a/source/gameengine/VideoTexture/ImageBase.cpp
+++ b/source/gameengine/VideoTexture/ImageBase.cpp
@@ -375,7 +375,7 @@ void Image_dealloc (PyImage * self)
if (self->m_image->m_exports > 0)
{
PyErr_SetString(PyExc_SystemError,
- "deallocated Image object has exported buffers");
+ "deallocated Image object has exported buffers");
PyErr_Print();
}
// if release requires deleting of object, do it
@@ -645,7 +645,7 @@ PyObject * Image_valid(PyImage * self, void * closure)
int Image_getbuffer(PyImage *self, Py_buffer *view, int flags)
{
unsigned int * image;
- int ret;
+ int ret;
try
{
@@ -667,25 +667,25 @@ int Image_getbuffer(PyImage *self, Py_buffer *view, int flags)
//return -1;
goto error;
}
- if (view == NULL)
+ if (view == NULL)
{
- self->m_image->m_exports++;
- return 0;
- }
- ret = PyBuffer_FillInfo(view, (PyObject*)self, image, self->m_image->getBuffSize(), 0, flags);
- if (ret >= 0)
- self->m_image->m_exports++;
- return ret;
+ self->m_image->m_exports++;
+ return 0;
+ }
+ ret = PyBuffer_FillInfo(view, (PyObject*)self, image, self->m_image->getBuffSize(), 0, flags);
+ if (ret >= 0)
+ self->m_image->m_exports++;
+ return ret;
error:
// Return a empty buffer to avoid a crash in Python 3.1
// The bug is fixed in Python SVN 77916, as soon as the python revision used by Blender is
// updated, you can simply return -1 and set the error
static char* buf = (char *)"";
- ret = PyBuffer_FillInfo(view, (PyObject*)self, buf, 0, 0, flags);
- if (ret >= 0)
- self->m_image->m_exports++;
- return ret;
+ ret = PyBuffer_FillInfo(view, (PyObject*)self, buf, 0, 0, flags);
+ if (ret >= 0)
+ self->m_image->m_exports++;
+ return ret;
}
diff --git a/source/gameengine/VideoTexture/ImageMix.cpp b/source/gameengine/VideoTexture/ImageMix.cpp
index 7a8226aab03..aeef5d1694f 100644
--- a/source/gameengine/VideoTexture/ImageMix.cpp
+++ b/source/gameengine/VideoTexture/ImageMix.cpp
@@ -135,7 +135,7 @@ PyObject * setWeight (PyImage * self, PyObject * args)
if (!getImageMix(self)->setWeight(id, weight))
{
// if not set, report error
- PyErr_SetString(PyExc_RuntimeError, "Invalid id of source");;
+ PyErr_SetString(PyExc_RuntimeError, "Invalid id of source");
return NULL;
}
// return none
diff --git a/source/gameengine/VideoTexture/ImageRender.cpp b/source/gameengine/VideoTexture/ImageRender.cpp
index 6038416ba68..f7546d876b2 100644
--- a/source/gameengine/VideoTexture/ImageRender.cpp
+++ b/source/gameengine/VideoTexture/ImageRender.cpp
@@ -65,29 +65,29 @@ ImageRender::ImageRender (KX_Scene * scene, KX_Camera * camera) :
m_owncamera(false),
m_observer(NULL),
m_mirror(NULL),
- m_clip(100.f)
+ m_clip(100.f)
{
// initialize background color
setBackground(0, 0, 255, 255);
- // retrieve rendering objects
- m_engine = KX_GetActiveEngine();
- m_rasterizer = m_engine->GetRasterizer();
- m_canvas = m_engine->GetCanvas();
- m_rendertools = m_engine->GetRenderTools();
+ // retrieve rendering objects
+ m_engine = KX_GetActiveEngine();
+ m_rasterizer = m_engine->GetRasterizer();
+ m_canvas = m_engine->GetCanvas();
+ m_rendertools = m_engine->GetRenderTools();
}
// destructor
ImageRender::~ImageRender (void)
{
- if (m_owncamera)
- m_camera->Release();
+ if (m_owncamera)
+ m_camera->Release();
}
// set background color
void ImageRender::setBackground (int red, int green, int blue, int alpha)
{
- m_background[0] = (red < 0) ? 0.f : (red > 255) ? 1.f : float(red)/255.f;
+ m_background[0] = (red < 0) ? 0.f : (red > 255) ? 1.f : float(red)/255.f;
m_background[1] = (green < 0) ? 0.f : (green > 255) ? 1.f : float(green)/255.f;
m_background[2] = (blue < 0) ? 0.f : (blue > 255) ? 1.f : float(blue)/255.f;
m_background[3] = (alpha < 0) ? 0.f : (alpha > 255) ? 1.f : float(alpha)/255.f;
@@ -97,157 +97,157 @@ void ImageRender::setBackground (int red, int green, int blue, int alpha)
// capture image from viewport
void ImageRender::calcImage (unsigned int texId, double ts)
{
- if (m_rasterizer->GetDrawingMode() != RAS_IRasterizer::KX_TEXTURED || // no need for texture
- m_camera->GetViewport() || // camera must be inactive
- m_camera == m_scene->GetActiveCamera())
- {
- // no need to compute texture in non texture rendering
- m_avail = false;
- return;
- }
- // render the scene from the camera
- Render();
+ if (m_rasterizer->GetDrawingMode() != RAS_IRasterizer::KX_TEXTURED || // no need for texture
+ m_camera->GetViewport() || // camera must be inactive
+ m_camera == m_scene->GetActiveCamera())
+ {
+ // no need to compute texture in non texture rendering
+ m_avail = false;
+ return;
+ }
+ // render the scene from the camera
+ Render();
// get image from viewport
ImageViewport::calcImage(texId, ts);
- // restore OpenGL state
- m_canvas->EndFrame();
+ // restore OpenGL state
+ m_canvas->EndFrame();
}
void ImageRender::Render()
{
RAS_FrameFrustum frustrum;
- if (!m_render)
- return;
-
- if (m_mirror)
- {
- // mirror mode, compute camera frustrum, position and orientation
- // convert mirror position and normal in world space
- const MT_Matrix3x3 & mirrorObjWorldOri = m_mirror->GetSGNode()->GetWorldOrientation();
- const MT_Point3 & mirrorObjWorldPos = m_mirror->GetSGNode()->GetWorldPosition();
- const MT_Vector3 & mirrorObjWorldScale = m_mirror->GetSGNode()->GetWorldScaling();
- MT_Point3 mirrorWorldPos =
- mirrorObjWorldPos + mirrorObjWorldScale * (mirrorObjWorldOri * m_mirrorPos);
- MT_Vector3 mirrorWorldZ = mirrorObjWorldOri * m_mirrorZ;
- // get observer world position
- const MT_Point3 & observerWorldPos = m_observer->GetSGNode()->GetWorldPosition();
- // get plane D term = mirrorPos . normal
- MT_Scalar mirrorPlaneDTerm = mirrorWorldPos.dot(mirrorWorldZ);
- // compute distance of observer to mirror = D - observerPos . normal
- MT_Scalar observerDistance = mirrorPlaneDTerm - observerWorldPos.dot(mirrorWorldZ);
- // if distance < 0.01 => observer is on wrong side of mirror, don't render
- if (observerDistance < 0.01f)
- return;
- // set camera world position = observerPos + normal * 2 * distance
- MT_Point3 cameraWorldPos = observerWorldPos + (MT_Scalar(2.0)*observerDistance)*mirrorWorldZ;
- m_camera->GetSGNode()->SetLocalPosition(cameraWorldPos);
- // set camera orientation: z=normal, y=mirror_up in world space, x= y x z
- MT_Vector3 mirrorWorldY = mirrorObjWorldOri * m_mirrorY;
- MT_Vector3 mirrorWorldX = mirrorObjWorldOri * m_mirrorX;
- MT_Matrix3x3 cameraWorldOri(
- mirrorWorldX[0], mirrorWorldY[0], mirrorWorldZ[0],
- mirrorWorldX[1], mirrorWorldY[1], mirrorWorldZ[1],
- mirrorWorldX[2], mirrorWorldY[2], mirrorWorldZ[2]);
- m_camera->GetSGNode()->SetLocalOrientation(cameraWorldOri);
- m_camera->GetSGNode()->UpdateWorldData(0.0);
- // compute camera frustrum:
- // get position of mirror relative to camera: offset = mirrorPos-cameraPos
- MT_Vector3 mirrorOffset = mirrorWorldPos - cameraWorldPos;
- // convert to camera orientation
- mirrorOffset = mirrorOffset * cameraWorldOri;
- // scale mirror size to world scale:
- // get closest local axis for mirror Y and X axis and scale height and width by local axis scale
- MT_Scalar x, y;
- x = fabs(m_mirrorY[0]);
- y = fabs(m_mirrorY[1]);
- float height = (x > y) ?
- ((x > fabs(m_mirrorY[2])) ? mirrorObjWorldScale[0] : mirrorObjWorldScale[2]):
- ((y > fabs(m_mirrorY[2])) ? mirrorObjWorldScale[1] : mirrorObjWorldScale[2]);
- x = fabs(m_mirrorX[0]);
- y = fabs(m_mirrorX[1]);
- float width = (x > y) ?
- ((x > fabs(m_mirrorX[2])) ? mirrorObjWorldScale[0] : mirrorObjWorldScale[2]):
- ((y > fabs(m_mirrorX[2])) ? mirrorObjWorldScale[1] : mirrorObjWorldScale[2]);
- width *= m_mirrorHalfWidth;
- height *= m_mirrorHalfHeight;
- // left = offsetx-width
- // right = offsetx+width
- // top = offsety+height
- // bottom = offsety-height
- // near = -offsetz
- // far = near+100
- frustrum.x1 = mirrorOffset[0]-width;
- frustrum.x2 = mirrorOffset[0]+width;
- frustrum.y1 = mirrorOffset[1]-height;
- frustrum.y2 = mirrorOffset[1]+height;
- frustrum.camnear = -mirrorOffset[2];
- frustrum.camfar = -mirrorOffset[2]+m_clip;
- }
+ if (!m_render)
+ return;
+
+ if (m_mirror)
+ {
+ // mirror mode, compute camera frustrum, position and orientation
+ // convert mirror position and normal in world space
+ const MT_Matrix3x3 & mirrorObjWorldOri = m_mirror->GetSGNode()->GetWorldOrientation();
+ const MT_Point3 & mirrorObjWorldPos = m_mirror->GetSGNode()->GetWorldPosition();
+ const MT_Vector3 & mirrorObjWorldScale = m_mirror->GetSGNode()->GetWorldScaling();
+ MT_Point3 mirrorWorldPos =
+ mirrorObjWorldPos + mirrorObjWorldScale * (mirrorObjWorldOri * m_mirrorPos);
+ MT_Vector3 mirrorWorldZ = mirrorObjWorldOri * m_mirrorZ;
+ // get observer world position
+ const MT_Point3 & observerWorldPos = m_observer->GetSGNode()->GetWorldPosition();
+ // get plane D term = mirrorPos . normal
+ MT_Scalar mirrorPlaneDTerm = mirrorWorldPos.dot(mirrorWorldZ);
+ // compute distance of observer to mirror = D - observerPos . normal
+ MT_Scalar observerDistance = mirrorPlaneDTerm - observerWorldPos.dot(mirrorWorldZ);
+ // if distance < 0.01 => observer is on wrong side of mirror, don't render
+ if (observerDistance < 0.01f)
+ return;
+ // set camera world position = observerPos + normal * 2 * distance
+ MT_Point3 cameraWorldPos = observerWorldPos + (MT_Scalar(2.0)*observerDistance)*mirrorWorldZ;
+ m_camera->GetSGNode()->SetLocalPosition(cameraWorldPos);
+ // set camera orientation: z=normal, y=mirror_up in world space, x= y x z
+ MT_Vector3 mirrorWorldY = mirrorObjWorldOri * m_mirrorY;
+ MT_Vector3 mirrorWorldX = mirrorObjWorldOri * m_mirrorX;
+ MT_Matrix3x3 cameraWorldOri(
+ mirrorWorldX[0], mirrorWorldY[0], mirrorWorldZ[0],
+ mirrorWorldX[1], mirrorWorldY[1], mirrorWorldZ[1],
+ mirrorWorldX[2], mirrorWorldY[2], mirrorWorldZ[2]);
+ m_camera->GetSGNode()->SetLocalOrientation(cameraWorldOri);
+ m_camera->GetSGNode()->UpdateWorldData(0.0);
+ // compute camera frustrum:
+ // get position of mirror relative to camera: offset = mirrorPos-cameraPos
+ MT_Vector3 mirrorOffset = mirrorWorldPos - cameraWorldPos;
+ // convert to camera orientation
+ mirrorOffset = mirrorOffset * cameraWorldOri;
+ // scale mirror size to world scale:
+ // get closest local axis for mirror Y and X axis and scale height and width by local axis scale
+ MT_Scalar x, y;
+ x = fabs(m_mirrorY[0]);
+ y = fabs(m_mirrorY[1]);
+ float height = (x > y) ?
+ ((x > fabs(m_mirrorY[2])) ? mirrorObjWorldScale[0] : mirrorObjWorldScale[2]):
+ ((y > fabs(m_mirrorY[2])) ? mirrorObjWorldScale[1] : mirrorObjWorldScale[2]);
+ x = fabs(m_mirrorX[0]);
+ y = fabs(m_mirrorX[1]);
+ float width = (x > y) ?
+ ((x > fabs(m_mirrorX[2])) ? mirrorObjWorldScale[0] : mirrorObjWorldScale[2]):
+ ((y > fabs(m_mirrorX[2])) ? mirrorObjWorldScale[1] : mirrorObjWorldScale[2]);
+ width *= m_mirrorHalfWidth;
+ height *= m_mirrorHalfHeight;
+ // left = offsetx-width
+ // right = offsetx+width
+ // top = offsety+height
+ // bottom = offsety-height
+ // near = -offsetz
+ // far = near+100
+ frustrum.x1 = mirrorOffset[0]-width;
+ frustrum.x2 = mirrorOffset[0]+width;
+ frustrum.y1 = mirrorOffset[1]-height;
+ frustrum.y2 = mirrorOffset[1]+height;
+ frustrum.camnear = -mirrorOffset[2];
+ frustrum.camfar = -mirrorOffset[2]+m_clip;
+ }
// Store settings to be restored later
- const RAS_IRasterizer::StereoMode stereomode = m_rasterizer->GetStereoMode();
+ const RAS_IRasterizer::StereoMode stereomode = m_rasterizer->GetStereoMode();
RAS_Rect area = m_canvas->GetWindowArea();
- // The screen area that ImageViewport will copy is also the rendering zone
- m_canvas->SetViewPort(m_position[0], m_position[1], m_position[0]+m_capSize[0]-1, m_position[1]+m_capSize[1]-1);
- m_canvas->ClearColor(m_background[0], m_background[1], m_background[2], m_background[3]);
- m_canvas->ClearBuffer(RAS_ICanvas::COLOR_BUFFER|RAS_ICanvas::DEPTH_BUFFER);
- m_rasterizer->BeginFrame(RAS_IRasterizer::KX_TEXTURED,m_engine->GetClockTime());
- m_rendertools->BeginFrame(m_rasterizer);
- m_engine->SetWorldSettings(m_scene->GetWorldInfo());
- m_rendertools->SetAuxilaryClientInfo(m_scene);
- m_rasterizer->DisplayFog();
- // matrix calculation, don't apply any of the stereo mode
- m_rasterizer->SetStereoMode(RAS_IRasterizer::RAS_STEREO_NOSTEREO);
- if (m_mirror)
- {
- // frustrum was computed above
- // get frustrum matrix and set projection matrix
+ // The screen area that ImageViewport will copy is also the rendering zone
+ m_canvas->SetViewPort(m_position[0], m_position[1], m_position[0]+m_capSize[0]-1, m_position[1]+m_capSize[1]-1);
+ m_canvas->ClearColor(m_background[0], m_background[1], m_background[2], m_background[3]);
+ m_canvas->ClearBuffer(RAS_ICanvas::COLOR_BUFFER|RAS_ICanvas::DEPTH_BUFFER);
+ m_rasterizer->BeginFrame(RAS_IRasterizer::KX_TEXTURED,m_engine->GetClockTime());
+ m_rendertools->BeginFrame(m_rasterizer);
+ m_engine->SetWorldSettings(m_scene->GetWorldInfo());
+ m_rendertools->SetAuxilaryClientInfo(m_scene);
+ m_rasterizer->DisplayFog();
+ // matrix calculation, don't apply any of the stereo mode
+ m_rasterizer->SetStereoMode(RAS_IRasterizer::RAS_STEREO_NOSTEREO);
+ if (m_mirror)
+ {
+ // frustrum was computed above
+ // get frustrum matrix and set projection matrix
MT_Matrix4x4 projmat = m_rasterizer->GetFrustumMatrix(
- frustrum.x1, frustrum.x2, frustrum.y1, frustrum.y2, frustrum.camnear, frustrum.camfar);
+ frustrum.x1, frustrum.x2, frustrum.y1, frustrum.y2, frustrum.camnear, frustrum.camfar);
m_camera->SetProjectionMatrix(projmat);
- } else if (m_camera->hasValidProjectionMatrix())
+ } else if (m_camera->hasValidProjectionMatrix())
{
m_rasterizer->SetProjectionMatrix(m_camera->GetProjectionMatrix());
- } else
- {
+ } else
+ {
float lens = m_camera->GetLens();
bool orthographic = !m_camera->GetCameraData()->m_perspective;
float nearfrust = m_camera->GetCameraNear();
float farfrust = m_camera->GetCameraFar();
- float aspect_ratio = 1.0f;
- Scene *blenderScene = m_scene->GetBlenderScene();
+ float aspect_ratio = 1.0f;
+ Scene *blenderScene = m_scene->GetBlenderScene();
MT_Matrix4x4 projmat;
// compute the aspect ratio from frame blender scene settings so that render to texture
- // works the same in Blender and in Blender player
- if (blenderScene->r.ysch != 0)
- aspect_ratio = float(blenderScene->r.xsch*blenderScene->r.xasp) / float(blenderScene->r.ysch*blenderScene->r.yasp);
+ // works the same in Blender and in Blender player
+ if (blenderScene->r.ysch != 0)
+ aspect_ratio = float(blenderScene->r.xsch*blenderScene->r.xasp) / float(blenderScene->r.ysch*blenderScene->r.yasp);
if (orthographic) {
RAS_FramingManager::ComputeDefaultOrtho(
- nearfrust,
- farfrust,
- m_camera->GetScale(),
- aspect_ratio,
- frustrum
- );
+ nearfrust,
+ farfrust,
+ m_camera->GetScale(),
+ aspect_ratio,
+ frustrum
+ );
projmat = m_rasterizer->GetOrthoMatrix(
- frustrum.x1, frustrum.x2, frustrum.y1, frustrum.y2, frustrum.camnear, frustrum.camfar);
- } else
+ frustrum.x1, frustrum.x2, frustrum.y1, frustrum.y2, frustrum.camnear, frustrum.camfar);
+ } else
{
RAS_FramingManager::ComputeDefaultFrustum(
- nearfrust,
- farfrust,
- lens,
- aspect_ratio,
- frustrum);
+ nearfrust,
+ farfrust,
+ lens,
+ aspect_ratio,
+ frustrum);
projmat = m_rasterizer->GetFrustumMatrix(
- frustrum.x1, frustrum.x2, frustrum.y1, frustrum.y2, frustrum.camnear, frustrum.camfar);
+ frustrum.x1, frustrum.x2, frustrum.y1, frustrum.y2, frustrum.camnear, frustrum.camfar);
}
m_camera->SetProjectionMatrix(projmat);
}
@@ -257,8 +257,8 @@ void ImageRender::Render()
m_rasterizer->SetViewMatrix(viewmat, m_camera->NodeGetWorldOrientation(), m_camera->NodeGetWorldPosition(), m_camera->GetCameraData()->m_perspective);
m_camera->SetModelviewMatrix(viewmat);
- // restore the stereo mode now that the matrix is computed
- m_rasterizer->SetStereoMode(stereomode);
+ // restore the stereo mode now that the matrix is computed
+ m_rasterizer->SetStereoMode(stereomode);
m_scene->CalculateVisibleMeshes(m_rasterizer,m_camera);
@@ -328,11 +328,11 @@ static int ImageRender_init (PyObject * pySelf, PyObject * args, PyObject * kwds
// get background color
PyObject * getBackground (PyImage * self, void * closure)
{
- return Py_BuildValue("[BBBB]",
- getImageRender(self)->getBackground(0),
- getImageRender(self)->getBackground(1),
- getImageRender(self)->getBackground(2),
- getImageRender(self)->getBackground(3));
+ return Py_BuildValue("[BBBB]",
+ getImageRender(self)->getBackground(0),
+ getImageRender(self)->getBackground(1),
+ getImageRender(self)->getBackground(2),
+ getImageRender(self)->getBackground(3));
}
// set color
@@ -433,24 +433,24 @@ static int ImageMirror_init (PyObject * pySelf, PyObject * args, PyObject * kwds
PyObject * scene;
// reference object for mirror
PyObject * observer;
- // object holding the mirror
- PyObject * mirror;
- // material of the mirror
- short materialID = 0;
+ // object holding the mirror
+ PyObject * mirror;
+ // material of the mirror
+ short materialID = 0;
// parameter keywords
static const char *kwlist[] = {"scene", "observer", "mirror", "material", NULL};
// get parameters
if (!PyArg_ParseTupleAndKeywords(args, kwds, "OOO|h",
- const_cast<char**>(kwlist), &scene, &observer, &mirror, &materialID))
+ const_cast<char**>(kwlist), &scene, &observer, &mirror, &materialID))
return -1;
try
{
// get scene pointer
KX_Scene * scenePtr (NULL);
- if (scene != NULL && PyObject_TypeCheck(scene, &KX_Scene::Type))
- scenePtr = static_cast<KX_Scene*>BGE_PROXY_REF(scene);
+ if (scene != NULL && PyObject_TypeCheck(scene, &KX_Scene::Type))
+ scenePtr = static_cast<KX_Scene*>BGE_PROXY_REF(scene);
else
- THRWEXCP(SceneInvalid, S_OK);
+ THRWEXCP(SceneInvalid, S_OK);
if(scenePtr==NULL) /* incase the python proxy reference is invalid */
THRWEXCP(SceneInvalid, S_OK);
@@ -458,11 +458,11 @@ static int ImageMirror_init (PyObject * pySelf, PyObject * args, PyObject * kwds
// get observer pointer
KX_GameObject * observerPtr (NULL);
if (observer != NULL && PyObject_TypeCheck(observer, &KX_GameObject::Type))
- observerPtr = static_cast<KX_GameObject*>BGE_PROXY_REF(observer);
- else if (observer != NULL && PyObject_TypeCheck(observer, &KX_Camera::Type))
- observerPtr = static_cast<KX_Camera*>BGE_PROXY_REF(observer);
+ observerPtr = static_cast<KX_GameObject*>BGE_PROXY_REF(observer);
+ else if (observer != NULL && PyObject_TypeCheck(observer, &KX_Camera::Type))
+ observerPtr = static_cast<KX_Camera*>BGE_PROXY_REF(observer);
else
- THRWEXCP(ObserverInvalid, S_OK);
+ THRWEXCP(ObserverInvalid, S_OK);
if(observerPtr==NULL) /* incase the python proxy reference is invalid */
THRWEXCP(ObserverInvalid, S_OK);
@@ -470,27 +470,27 @@ static int ImageMirror_init (PyObject * pySelf, PyObject * args, PyObject * kwds
// get mirror pointer
KX_GameObject * mirrorPtr (NULL);
if (mirror != NULL && PyObject_TypeCheck(mirror, &KX_GameObject::Type))
- mirrorPtr = static_cast<KX_GameObject*>BGE_PROXY_REF(mirror);
+ mirrorPtr = static_cast<KX_GameObject*>BGE_PROXY_REF(mirror);
else
- THRWEXCP(MirrorInvalid, S_OK);
+ THRWEXCP(MirrorInvalid, S_OK);
if(mirrorPtr==NULL) /* incase the python proxy reference is invalid */
THRWEXCP(MirrorInvalid, S_OK);
- // locate the material in the mirror
+ // locate the material in the mirror
RAS_IPolyMaterial * material = getMaterial(mirror, materialID);
if (material == NULL)
- THRWEXCP(MaterialNotAvail, S_OK);
+ THRWEXCP(MaterialNotAvail, S_OK);
// get pointer to image structure
PyImage * self = reinterpret_cast<PyImage*>(pySelf);
// create source object
- if (self->m_image != NULL)
- {
- delete self->m_image;
- self->m_image = NULL;
- }
+ if (self->m_image != NULL)
+ {
+ delete self->m_image;
+ self->m_image = NULL;
+ }
self->m_image = new ImageRender(scenePtr, observerPtr, mirrorPtr, material);
}
catch (Exception & exp)
@@ -530,7 +530,7 @@ static PyGetSetDef imageMirrorGetSets[] =
{(char*)"clip", (getter)getClip, (setter)setClip, (char*)"clipping distance", NULL},
// attribute from ImageRender
{(char*)"background", (getter)getBackground, (setter)setBackground, (char*)"background color", NULL},
- // attribute from ImageViewport
+ // attribute from ImageViewport
{(char*)"capsize", (getter)ImageViewport_getCaptureSize, (setter)ImageViewport_setCaptureSize, (char*)"size of render area", NULL},
{(char*)"alpha", (getter)ImageViewport_getAlpha, (setter)ImageViewport_setAlpha, (char*)"use alpha in texture", NULL},
{(char*)"whole", (getter)ImageViewport_getWhole, (setter)ImageViewport_setWhole, (char*)"use whole viewport to render", NULL},
@@ -552,164 +552,164 @@ ImageRender::ImageRender (KX_Scene * scene, KX_GameObject * observer, KX_GameObj
m_scene(scene),
m_observer(observer),
m_mirror(mirror),
- m_clip(100.f)
+ m_clip(100.f)
{
- // this constructor is used for automatic planar mirror
- // create a camera, take all data by default, in any case we will recompute the frustrum on each frame
+ // this constructor is used for automatic planar mirror
+ // create a camera, take all data by default, in any case we will recompute the frustrum on each frame
RAS_CameraData camdata;
- vector<RAS_TexVert*> mirrorVerts;
- vector<RAS_TexVert*>::iterator it;
- float mirrorArea = 0.f;
- float mirrorNormal[3] = {0.f, 0.f, 0.f};
- float mirrorUp[3];
- float dist, vec[3], axis[3];
- float zaxis[3] = {0.f, 0.f, 1.f};
- float yaxis[3] = {0.f, 1.f, 0.f};
- float mirrorMat[3][3];
- float left, right, top, bottom, back;
+ vector<RAS_TexVert*> mirrorVerts;
+ vector<RAS_TexVert*>::iterator it;
+ float mirrorArea = 0.f;
+ float mirrorNormal[3] = {0.f, 0.f, 0.f};
+ float mirrorUp[3];
+ float dist, vec[3], axis[3];
+ float zaxis[3] = {0.f, 0.f, 1.f};
+ float yaxis[3] = {0.f, 1.f, 0.f};
+ float mirrorMat[3][3];
+ float left, right, top, bottom, back;
// make sure this camera will delete its node
m_camera= new KX_Camera(scene, KX_Scene::m_callbacks, camdata, true, true);
m_camera->SetName("__mirror__cam__");
- // don't add the camera to the scene object list, it doesn't need to be accessible
- m_owncamera = true;
- // retrieve rendering objects
- m_engine = KX_GetActiveEngine();
- m_rasterizer = m_engine->GetRasterizer();
- m_canvas = m_engine->GetCanvas();
- m_rendertools = m_engine->GetRenderTools();
- // locate the vertex assigned to mat and do following calculation in mesh coordinates
- for (int meshIndex = 0; meshIndex < mirror->GetMeshCount(); meshIndex++)
- {
- RAS_MeshObject* mesh = mirror->GetMesh(meshIndex);
- int numPolygons = mesh->NumPolygons();
- for (int polygonIndex=0; polygonIndex < numPolygons; polygonIndex++)
- {
- RAS_Polygon* polygon = mesh->GetPolygon(polygonIndex);
- if (polygon->GetMaterial()->GetPolyMaterial() == mat)
- {
- RAS_TexVert *v1, *v2, *v3, *v4;
- float normal[3];
- float area;
- // this polygon is part of the mirror,
- v1 = polygon->GetVertex(0);
- v2 = polygon->GetVertex(1);
- v3 = polygon->GetVertex(2);
- mirrorVerts.push_back(v1);
- mirrorVerts.push_back(v2);
- mirrorVerts.push_back(v3);
- if (polygon->VertexCount() == 4)
- {
- v4 = polygon->GetVertex(3);
- mirrorVerts.push_back(v4);
- area = normal_quad_v3( normal,(float*)v1->getXYZ(), (float*)v2->getXYZ(), (float*)v3->getXYZ(), (float*)v4->getXYZ());
- } else
- {
- area = normal_tri_v3( normal,(float*)v1->getXYZ(), (float*)v2->getXYZ(), (float*)v3->getXYZ());
- }
- area = fabs(area);
- mirrorArea += area;
- mul_v3_fl(normal, area);
- add_v3_v3v3(mirrorNormal, mirrorNormal, normal);
- }
- }
- }
- if (mirrorVerts.size() == 0 || mirrorArea < FLT_EPSILON)
- {
- // no vertex or zero size mirror
- THRWEXCP(MirrorSizeInvalid, S_OK);
- }
- // compute average normal of mirror faces
- mul_v3_fl(mirrorNormal, 1.0f/mirrorArea);
- if (normalize_v3(mirrorNormal) == 0.f)
- {
- // no normal
- THRWEXCP(MirrorNormalInvalid, S_OK);
- }
- // the mirror plane has an equation of the type ax+by+cz = d where (a,b,c) is the normal vector
+ // don't add the camera to the scene object list, it doesn't need to be accessible
+ m_owncamera = true;
+ // retrieve rendering objects
+ m_engine = KX_GetActiveEngine();
+ m_rasterizer = m_engine->GetRasterizer();
+ m_canvas = m_engine->GetCanvas();
+ m_rendertools = m_engine->GetRenderTools();
+ // locate the vertex assigned to mat and do following calculation in mesh coordinates
+ for (int meshIndex = 0; meshIndex < mirror->GetMeshCount(); meshIndex++)
+ {
+ RAS_MeshObject* mesh = mirror->GetMesh(meshIndex);
+ int numPolygons = mesh->NumPolygons();
+ for (int polygonIndex=0; polygonIndex < numPolygons; polygonIndex++)
+ {
+ RAS_Polygon* polygon = mesh->GetPolygon(polygonIndex);
+ if (polygon->GetMaterial()->GetPolyMaterial() == mat)
+ {
+ RAS_TexVert *v1, *v2, *v3, *v4;
+ float normal[3];
+ float area;
+ // this polygon is part of the mirror,
+ v1 = polygon->GetVertex(0);
+ v2 = polygon->GetVertex(1);
+ v3 = polygon->GetVertex(2);
+ mirrorVerts.push_back(v1);
+ mirrorVerts.push_back(v2);
+ mirrorVerts.push_back(v3);
+ if (polygon->VertexCount() == 4)
+ {
+ v4 = polygon->GetVertex(3);
+ mirrorVerts.push_back(v4);
+ area = normal_quad_v3( normal,(float*)v1->getXYZ(), (float*)v2->getXYZ(), (float*)v3->getXYZ(), (float*)v4->getXYZ());
+ } else
+ {
+ area = normal_tri_v3( normal,(float*)v1->getXYZ(), (float*)v2->getXYZ(), (float*)v3->getXYZ());
+ }
+ area = fabs(area);
+ mirrorArea += area;
+ mul_v3_fl(normal, area);
+ add_v3_v3v3(mirrorNormal, mirrorNormal, normal);
+ }
+ }
+ }
+ if (mirrorVerts.size() == 0 || mirrorArea < FLT_EPSILON)
+ {
+ // no vertex or zero size mirror
+ THRWEXCP(MirrorSizeInvalid, S_OK);
+ }
+ // compute average normal of mirror faces
+ mul_v3_fl(mirrorNormal, 1.0f/mirrorArea);
+ if (normalize_v3(mirrorNormal) == 0.f)
+ {
+ // no normal
+ THRWEXCP(MirrorNormalInvalid, S_OK);
+ }
+ // the mirror plane has an equation of the type ax+by+cz = d where (a,b,c) is the normal vector
// if the mirror is more vertical then horizontal, the Z axis is the up direction.
// otherwise the Y axis is the up direction.
// If the mirror is not perfectly vertical(horizontal), the Z(Y) axis projection on the mirror
// plan by the normal will be the up direction.
if (fabs(mirrorNormal[2]) > fabs(mirrorNormal[1]) &&
- fabs(mirrorNormal[2]) > fabs(mirrorNormal[0]))
+ fabs(mirrorNormal[2]) > fabs(mirrorNormal[0]))
{
// the mirror is more horizontal than vertical
- copy_v3_v3(axis, yaxis);
+ copy_v3_v3(axis, yaxis);
}
else
{
// the mirror is more vertical than horizontal
- copy_v3_v3(axis, zaxis);
+ copy_v3_v3(axis, zaxis);
+ }
+ dist = dot_v3v3(mirrorNormal, axis);
+ if (fabs(dist) < FLT_EPSILON)
+ {
+ // the mirror is already fully aligned with up axis
+ copy_v3_v3(mirrorUp, axis);
+ }
+ else
+ {
+ // projection of axis to mirror plane through normal
+ copy_v3_v3(vec, mirrorNormal);
+ mul_v3_fl(vec, dist);
+ sub_v3_v3v3(mirrorUp, axis, vec);
+ if (normalize_v3(mirrorUp) == 0.f)
+ {
+ // should not happen
+ THRWEXCP(MirrorHorizontal, S_OK);
+ return;
+ }
+ }
+ // compute rotation matrix between local coord and mirror coord
+ // to match camera orientation, we select mirror z = -normal, y = up, x = y x z
+ negate_v3_v3(mirrorMat[2], mirrorNormal);
+ copy_v3_v3(mirrorMat[1], mirrorUp);
+ cross_v3_v3v3(mirrorMat[0], mirrorMat[1], mirrorMat[2]);
+ // transpose to make it a orientation matrix from local space to mirror space
+ transpose_m3(mirrorMat);
+ // transform all vertex to plane coordinates and determine mirror position
+ left = FLT_MAX;
+ right = -FLT_MAX;
+ bottom = FLT_MAX;
+ top = -FLT_MAX;
+ back = -FLT_MAX; // most backward vertex (=highest Z coord in mirror space)
+ for (it = mirrorVerts.begin(); it != mirrorVerts.end(); it++)
+ {
+ copy_v3_v3(vec, (float*)(*it)->getXYZ());
+ mul_m3_v3(mirrorMat, vec);
+ if (vec[0] < left)
+ left = vec[0];
+ if (vec[0] > right)
+ right = vec[0];
+ if (vec[1] < bottom)
+ bottom = vec[1];
+ if (vec[1] > top)
+ top = vec[1];
+ if (vec[2] > back)
+ back = vec[2];
+ }
+ // now store this information in the object for later rendering
+ m_mirrorHalfWidth = (right-left)*0.5f;
+ m_mirrorHalfHeight = (top-bottom)*0.5f;
+ if (m_mirrorHalfWidth < 0.01f || m_mirrorHalfHeight < 0.01f)
+ {
+ // mirror too small
+ THRWEXCP(MirrorTooSmall, S_OK);
}
- dist = dot_v3v3(mirrorNormal, axis);
- if (fabs(dist) < FLT_EPSILON)
- {
- // the mirror is already fully aligned with up axis
- copy_v3_v3(mirrorUp, axis);
- }
- else
- {
- // projection of axis to mirror plane through normal
- copy_v3_v3(vec, mirrorNormal);
- mul_v3_fl(vec, dist);
- sub_v3_v3v3(mirrorUp, axis, vec);
- if (normalize_v3(mirrorUp) == 0.f)
- {
- // should not happen
- THRWEXCP(MirrorHorizontal, S_OK);
- return;
- }
- }
- // compute rotation matrix between local coord and mirror coord
- // to match camera orientation, we select mirror z = -normal, y = up, x = y x z
- negate_v3_v3(mirrorMat[2], mirrorNormal);
- copy_v3_v3(mirrorMat[1], mirrorUp);
- cross_v3_v3v3(mirrorMat[0], mirrorMat[1], mirrorMat[2]);
- // transpose to make it a orientation matrix from local space to mirror space
- transpose_m3(mirrorMat);
- // transform all vertex to plane coordinates and determine mirror position
- left = FLT_MAX;
- right = -FLT_MAX;
- bottom = FLT_MAX;
- top = -FLT_MAX;
- back = -FLT_MAX; // most backward vertex (=highest Z coord in mirror space)
- for (it = mirrorVerts.begin(); it != mirrorVerts.end(); it++)
- {
- copy_v3_v3(vec, (float*)(*it)->getXYZ());
- mul_m3_v3(mirrorMat, vec);
- if (vec[0] < left)
- left = vec[0];
- if (vec[0] > right)
- right = vec[0];
- if (vec[1] < bottom)
- bottom = vec[1];
- if (vec[1] > top)
- top = vec[1];
- if (vec[2] > back)
- back = vec[2];
- }
- // now store this information in the object for later rendering
- m_mirrorHalfWidth = (right-left)*0.5f;
- m_mirrorHalfHeight = (top-bottom)*0.5f;
- if (m_mirrorHalfWidth < 0.01f || m_mirrorHalfHeight < 0.01f)
- {
- // mirror too small
- THRWEXCP(MirrorTooSmall, S_OK);
- }
- // mirror position in mirror coord
- vec[0] = (left+right)*0.5f;
- vec[1] = (top+bottom)*0.5f;
- vec[2] = back;
- // convert it in local space: transpose again the matrix to get back to mirror to local transform
- transpose_m3(mirrorMat);
- mul_m3_v3(mirrorMat, vec);
- // mirror position in local space
- m_mirrorPos.setValue(vec[0], vec[1], vec[2]);
- // mirror normal vector (pointed towards the back of the mirror) in local space
- m_mirrorZ.setValue(-mirrorNormal[0], -mirrorNormal[1], -mirrorNormal[2]);
- m_mirrorY.setValue(mirrorUp[0], mirrorUp[1], mirrorUp[2]);
- m_mirrorX = m_mirrorY.cross(m_mirrorZ);
- m_render = true;
+ // mirror position in mirror coord
+ vec[0] = (left+right)*0.5f;
+ vec[1] = (top+bottom)*0.5f;
+ vec[2] = back;
+ // convert it in local space: transpose again the matrix to get back to mirror to local transform
+ transpose_m3(mirrorMat);
+ mul_m3_v3(mirrorMat, vec);
+ // mirror position in local space
+ m_mirrorPos.setValue(vec[0], vec[1], vec[2]);
+ // mirror normal vector (pointed towards the back of the mirror) in local space
+ m_mirrorZ.setValue(-mirrorNormal[0], -mirrorNormal[1], -mirrorNormal[2]);
+ m_mirrorY.setValue(mirrorUp[0], mirrorUp[1], mirrorUp[2]);
+ m_mirrorX = m_mirrorY.cross(m_mirrorZ);
+ m_render = true;
setBackground(0, 0, 255, 255);
}
diff --git a/source/gameengine/VideoTexture/ImageViewport.cpp b/source/gameengine/VideoTexture/ImageViewport.cpp
index d0e5ee74f6e..0276ad6fd6b 100644
--- a/source/gameengine/VideoTexture/ImageViewport.cpp
+++ b/source/gameengine/VideoTexture/ImageViewport.cpp
@@ -123,34 +123,34 @@ void ImageViewport::calcImage (unsigned int texId, double ts)
}
// if texture can be directly created
if (texId != 0 && m_pyfilter == NULL && m_capSize[0] == calcSize(m_capSize[0])
- && m_capSize[1] == calcSize(m_capSize[1]) && !m_flip)
+ && m_capSize[1] == calcSize(m_capSize[1]) && !m_flip)
{
// just copy current viewport to texture
- glBindTexture(GL_TEXTURE_2D, texId);
- glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1]);
- // image is not available
- m_avail = false;
+ glBindTexture(GL_TEXTURE_2D, texId);
+ glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1]);
+ // image is not available
+ m_avail = false;
}
// otherwise copy viewport to buffer, if image is not available
else if (!m_avail)
{
// get frame buffer data
- if (m_alpha)
- {
- glReadPixels(m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1], GL_RGBA,
- GL_UNSIGNED_BYTE, m_viewportImage);
- // filter loaded data
- FilterRGBA32 filt;
- filterImage(filt, m_viewportImage, m_capSize);
- }
- else
- {
- glReadPixels(m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1], GL_RGB,
- GL_UNSIGNED_BYTE, m_viewportImage);
- // filter loaded data
- FilterRGB24 filt;
- filterImage(filt, m_viewportImage, m_capSize);
- }
+ if (m_alpha)
+ {
+ glReadPixels(m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1], GL_RGBA,
+ GL_UNSIGNED_BYTE, m_viewportImage);
+ // filter loaded data
+ FilterRGBA32 filt;
+ filterImage(filt, m_viewportImage, m_capSize);
+ }
+ else
+ {
+ glReadPixels(m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1], GL_RGB,
+ GL_UNSIGNED_BYTE, m_viewportImage);
+ // filter loaded data
+ FilterRGB24 filt;
+ filterImage(filt, m_viewportImage, m_capSize);
+ }
}
}
diff --git a/source/gameengine/VideoTexture/VideoFFmpeg.cpp b/source/gameengine/VideoTexture/VideoFFmpeg.cpp
index f8274756c8b..8a76b0c004d 100644
--- a/source/gameengine/VideoTexture/VideoFFmpeg.cpp
+++ b/source/gameengine/VideoTexture/VideoFFmpeg.cpp
@@ -544,11 +544,11 @@ void VideoFFmpeg::openFile (char * filename)
// It would be good to find this information from the context but there are no simple indication
!strncmp(filename, "http://", 7) ||
#ifdef FFMPEG_PB_IS_POINTER
- (m_formatCtx->pb && m_formatCtx->pb->is_streamed)
+ (m_formatCtx->pb && m_formatCtx->pb->is_streamed)
#else
- m_formatCtx->pb.is_streamed
+ m_formatCtx->pb.is_streamed
#endif
- )
+ )
{
// the file is in fact a streaming source, treat as cam to prevent seeking
m_isFile = false;
diff --git a/source/gameengine/VideoTexture/blendVideoTex.cpp b/source/gameengine/VideoTexture/blendVideoTex.cpp
index c1258bbb6e4..2cb3831de52 100644
--- a/source/gameengine/VideoTexture/blendVideoTex.cpp
+++ b/source/gameengine/VideoTexture/blendVideoTex.cpp
@@ -175,9 +175,9 @@ PyObject* initVideoTexture(void)
// prepare classes
registerAllTypes();
- registerAllExceptions();
+ registerAllExceptions();
- if (!pyImageTypes.ready())
+ if (!pyImageTypes.ready())
return NULL;
if (!pyFilterTypes.ready())
return NULL;
diff --git a/source/tests/CMakeLists.txt b/source/tests/CMakeLists.txt
index 7abac7b9739..3f802642d33 100644
--- a/source/tests/CMakeLists.txt
+++ b/source/tests/CMakeLists.txt
@@ -111,7 +111,7 @@ add_test(export_obj_all_objects ${TEST_BLENDER_EXE}
--run={'FINISHED'}&bpy.ops.export_scene.obj\(filepath='${TEST_OUT_DIR}/export_obj_all_objects.obj',use_selection=False,use_nurbs=True\)
--md5_source=${TEST_OUT_DIR}/export_obj_all_objects.obj
--md5_source=${TEST_OUT_DIR}/export_obj_all_objects.mtl
- --md5=d06bd49e6c084e4e3348fa397a88790c --md5_method=FILE
+ --md5=04b3ed97cede07a19548fc518ce9f8ca --md5_method=FILE
)
@@ -172,21 +172,21 @@ add_test(import_stl_knot_max_simplified ${TEST_BLENDER_EXE}
add_test(import_x3d_cube ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/color_cube.x3d'\)
- --md5=2ed64325dd3d62be6ce43c64219376ec --md5_method=SCENE
+ --md5=3fae9be004199c145941cd3f9f80ad7b --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_x3d_cube.blend
)
add_test(import_x3d_teapot ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/teapot.x3d'\)
- --md5=8b8b386900b8e3d2c036a38c625f4079 --md5_method=SCENE
+ --md5=8ee196c71947dce4199d55698501691e --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_x3d_teapot.blend
)
add_test(import_x3d_suzanne_material ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.import_scene.x3d\(filepath='${TEST_SRC_DIR}/io_tests/x3d/suzanne_material.x3d'\)
- --md5=999129ba835f0ccb98c4bb299f6c2fef --md5_method=SCENE
+ --md5=3edea1353257d8b5a5f071942f417be6 --md5_method=SCENE
--write-blend=${TEST_OUT_DIR}/import_x3d_suzanne_material.blend
)
@@ -196,7 +196,7 @@ add_test(export_x3d_cube ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_cube.x3d',use_selection=False\)
--md5_source=${TEST_OUT_DIR}/export_x3d_cube.x3d
- --md5=30d2b056c004144cd4a0d172484a66f3 --md5_method=FILE
+ --md5=2621d8cc2cc1d34f6711c54519907dac --md5_method=FILE
)
add_test(export_x3d_nurbs ${TEST_BLENDER_EXE}
@@ -204,7 +204,7 @@ add_test(export_x3d_nurbs ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_nurbs.x3d',use_selection=False\)
--md5_source=${TEST_OUT_DIR}/export_x3d_nurbs.x3d
- --md5=7c15afe7b0cf007b842a925508b7d966 --md5_method=FILE
+ --md5=d56b3736bab063d101d42079bd276f01 --md5_method=FILE
)
add_test(export_x3d_all_objects ${TEST_BLENDER_EXE}
@@ -212,7 +212,7 @@ add_test(export_x3d_all_objects ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.export_scene.x3d\(filepath='${TEST_OUT_DIR}/export_x3d_all_objects.x3d',use_selection=False\)
--md5_source=${TEST_OUT_DIR}/export_x3d_all_objects.x3d
- --md5=cef017805f684f27c311fdf4ba87462a --md5_method=FILE
+ --md5=0914c9a7fcdbfc5741c1269497e9068b --md5_method=FILE
)
@@ -261,7 +261,7 @@ add_test(export_3ds_all_objects ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.export_scene.autodesk_3ds\(filepath='${TEST_OUT_DIR}/export_3ds_all_objects.3ds',use_selection=False\)
--md5_source=${TEST_OUT_DIR}/export_3ds_all_objects.3ds
- --md5=cdf8fa8475fda0b9ef565ac09339254b --md5_method=FILE
+ --md5=0940ea889498cd437d503670738639ae --md5_method=FILE
)
@@ -273,7 +273,7 @@ add_test(export_fbx_cube ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_cube.fbx',use_selection=False,use_metadata=False\)
--md5_source=${TEST_OUT_DIR}/export_fbx_cube.fbx
- --md5=642a5a1fa199d5b9bbf1643519ae974d --md5_method=FILE
+ --md5=86da2495dffd7c270e682f599be6b3d1 --md5_method=FILE
)
add_test(export_fbx_nurbs ${TEST_BLENDER_EXE}
@@ -281,7 +281,7 @@ add_test(export_fbx_nurbs ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_nurbs.fbx',use_selection=False,use_metadata=False\)
--md5_source=${TEST_OUT_DIR}/export_fbx_nurbs.fbx
- --md5=ec1e8965bdbc3bf70707d77f82c2cb9c --md5_method=FILE
+ --md5=88a263ddb5181e6522dc214debb92ced --md5_method=FILE
)
add_test(export_fbx_all_objects ${TEST_BLENDER_EXE}
@@ -289,5 +289,5 @@ add_test(export_fbx_all_objects ${TEST_BLENDER_EXE}
--python ${CMAKE_CURRENT_LIST_DIR}/bl_test.py --
--run={'FINISHED'}&bpy.ops.export_scene.fbx\(filepath='${TEST_OUT_DIR}/export_fbx_all_objects.fbx',use_selection=False,use_metadata=False\)
--md5_source=${TEST_OUT_DIR}/export_fbx_all_objects.fbx
- --md5=af3b65665687ac92e4aba07b017d87fe --md5_method=FILE
+ --md5=e6f75fe7de9aa366896456e13eafc76a --md5_method=FILE
)
diff --git a/source/tests/bl_load_py_modules.py b/source/tests/bl_load_py_modules.py
index 5a65578d8d3..a88edd5f1fe 100644
--- a/source/tests/bl_load_py_modules.py
+++ b/source/tests/bl_load_py_modules.py
@@ -65,6 +65,10 @@ def load_modules():
# paths blender stores scripts in.
paths = bpy.utils.script_paths()
+ print("Paths:")
+ for script_path in paths:
+ print("\t'%s'" % script_path)
+
#
# find all sys.path we added
for script_path in paths:
@@ -74,11 +78,18 @@ def load_modules():
#
# collect modules from our paths.
+ module_names = set()
for mod_dir in module_paths:
# print("mod_dir", mod_dir)
for mod, mod_full in bpy.path.module_names(mod_dir):
+ if mod in module_names:
+ raise Exception("Module found twice %r" % mod)
+
modules.append(__import__(mod))
+ module_names.add(mod)
+ del module_names
+
#
# now submodules
for m in modules:
diff --git a/source/tests/bl_run_operators.py b/source/tests/bl_run_operators.py
index 668b4e69228..b64055df252 100644
--- a/source/tests/bl_run_operators.py
+++ b/source/tests/bl_run_operators.py
@@ -70,7 +70,7 @@ def run_ops(operators, setup_func=None):
setup_func()
- for mode in ('EXEC_DEFAULT', 'INVOKE_DEFAULT'):
+ for mode in {'EXEC_DEFAULT', 'INVOKE_DEFAULT'}:
try:
op(mode)
except:
diff --git a/source/tests/check_deprecated.py b/source/tests/check_deprecated.py
new file mode 100644
index 00000000000..34b07518162
--- /dev/null
+++ b/source/tests/check_deprecated.py
@@ -0,0 +1,149 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+# <pep8 compliant>
+
+import os
+from os.path import splitext
+
+DEPRECATE_DAYS = 120
+
+SKIP_DIRS = ("extern",
+ "scons",
+ os.path.join("source", "tests"), # not this dir
+ )
+
+
+def is_c_header(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".h", ".hpp", ".hxx"))
+
+
+def is_c(filename):
+ ext = splitext(filename)[1]
+ return (ext in (".c", ".cpp", ".cxx", ".m", ".mm", ".rc"))
+
+
+def is_c_any(filename):
+ return is_c(filename) or is_c_header(filename)
+
+
+def is_py(filename):
+ ext = splitext(filename)[1]
+ return (ext == ".py")
+
+
+def is_source_any(filename):
+ return is_c_any(filename) or is_py(filename)
+
+
+def source_list(path, filename_check=None):
+ for dirpath, dirnames, filenames in os.walk(path):
+
+ # skip '.svn'
+ if dirpath.startswith("."):
+ continue
+
+ for filename in filenames:
+ if filename_check is None or filename_check(filename):
+ yield os.path.join(dirpath, filename)
+
+
+def deprecations():
+ """
+ Searches out source code for lines like
+
+ /* *DEPRECATED* 2011/7/17 bgl.Buffer.list info text */
+
+ Or...
+
+ # *DEPRECATED* 2010/12/22 some.py.func more info */
+
+ """
+ import datetime
+ SOURCE_DIR = os.path.normpath(os.path.abspath(os.path.normpath(os.path.join(os.path.dirname(__file__), "..", ".."))))
+
+ SKIP_DIRS_ABS = [os.path.join(SOURCE_DIR, p) for p in SKIP_DIRS]
+
+ deprecations_ls = []
+
+ scan_tot = 0
+
+ print("scanning in %r for '*DEPRECATED* YYYY/MM/DD info'" % SOURCE_DIR)
+
+ for fn in source_list(SOURCE_DIR, is_source_any):
+ # print(fn)
+ skip = False
+ for p in SKIP_DIRS_ABS:
+ if fn.startswith(p):
+ skip = True
+ break
+ if skip:
+ continue
+
+ file = open(fn, 'r', encoding="utf8")
+ for i, l in enumerate(file):
+ # logic for deprecation warnings
+ if '*DEPRECATED*' in l:
+ try:
+ l = l.strip()
+ data = l.split('*DEPRECATED*', 1)[-1].strip().strip()
+ data = [w.strip() for w in data.split('/', 2)]
+ data[-1], info = data[-1].split(' ', 1)
+ info = info.split("*/", 1)[0]
+ if len(data) != 3:
+ print(" poorly formatting line:\n"
+ " %r:%d\n"
+ " %s" %
+ (fn, i + 1, l)
+ )
+ else:
+ data = datetime.datetime(*tuple([int(w) for w in data]))
+
+ deprecations_ls.append((data, (fn, i + 1), info))
+ except:
+ print("Error file - %r:%d" % (fn, i + 1))
+ import traceback
+ traceback.print_exc()
+
+ scan_tot += 1
+
+ print(" scanned %d files" % scan_tot)
+
+ return deprecations_ls
+
+
+def main():
+ import datetime
+ now = datetime.datetime.now()
+
+ deps = deprecations()
+
+ print("\nAll deprecations...")
+ for data, fileinfo, info in deps:
+ days_old = (now - data).days
+ if days_old > DEPRECATE_DAYS:
+ info = "*** REMOVE! *** " + info
+ print(" %r, days-old(%.2d), %s:%d - %s" % (data, days_old, fileinfo[0], fileinfo[1], info))
+ if deps:
+ print("\ndone!")
+ else:
+ print("\nnone found!")
+
+if __name__ == '__main__':
+ main()